From a7c6652020de0267ca4eacd8fbc97687a58ef372 Mon Sep 17 00:00:00 2001 From: Carlo Maragliano Date: Mon, 20 Aug 2018 08:38:29 +0200 Subject: [PATCH] Solar Bankers Coin Source code Solar Bankers Coin --- .DS_Store | Bin 6148 -> 8196 bytes .gitignore | 1 + CHANGELOG.md | 66 +- Gopkg.lock | 134 +- Gopkg.toml | 8 + INTEGRATION.md | 279 + Installation.md | 10 +- Makefile | 218 + ci-scripts/build-wallet.sh | 1 - ci-scripts/integration-test-disable-gui.sh | 105 + .../integration-test-disable-wallet-api.sh | 44 +- ...sh => integration-test-enable-seed-api.sh} | 34 +- ci-scripts/integration-test-live.sh | 12 +- ci-scripts/integration-test-stable.sh | 31 +- ci-scripts/ui-e2e.sh | 122 + cmd/address_gen/address_gen.go | 37 +- cmd/address_stats/address_stats.go | 198 + cmd/cipher-testdata/cipher-testdata.go | 213 + cmd/cli/README.md | 36 +- cmd/cli/cli.go | 2 +- cmd/newcoin/README.md | 66 + cmd/newcoin/newcoin.go | 210 + cmd/solarbankerscoin/solarbankerscoin.go | 857 +- data.db | Bin 262144 -> 0 bytes docker/images/dev-cli/Dockerfile | 202 + docker/images/dev-cli/README.md | 74 + docker/images/dev-cli/repo-info/README.md | 16 + .../images/dev-cli/repo-info/local/develop.md | 17 + .../dev-cli/repo-info/remote/develop.md | 79 + docker/images/dev-docker/Dockerfile | 63 + docker/images/dev-docker/README.md | 84 + .../images/dev-docker/dockerd-entrypoint.sh | 20 + docker/images/dev-docker/modprobe.sh | 20 + docker/images/mainnet/Dockerfile | 23 +- docker/images/mainnet/README.md | 128 + docker/images/mainnet/hooks/push | 6 + docker/images/mainnet/repo-info/README.md | 16 + .../repo-info/local/develop-arm32v5.md | 18 + .../repo-info/local/develop-arm32v6.md | 17 + .../repo-info/local/develop-arm32v7.md | 17 + .../repo-info/local/develop-arm64v8.md | 17 + .../images/mainnet/repo-info/local/develop.md | 17 + .../images/mainnet/repo-info/local/latest.md | 17 + .../repo-info/local/release-v0.22.0.md | 17 + .../repo-info/local/release-v0.23.0.md | 16 + .../repo-info/remote/develop-arm32v5.md | 40 + .../repo-info/remote/develop-arm32v6.md | 40 + .../repo-info/remote/develop-arm32v7.md | 40 + .../repo-info/remote/develop-arm64v8.md | 40 + .../mainnet/repo-info/remote/develop.md | 40 + .../images/mainnet/repo-info/remote/latest.md | 40 + .../repo-info/remote/release-v0.22.0.md | 40 + .../repo-info/remote/release-v0.23.0.md | 40 + docs/assets/sky.libc.jpg | Bin 0 -> 128428 bytes docs/libc/API.md | 599 + electron/README.md | 17 - electron/build-conf.sh | 11 +- electron/build-electron-release.sh | 24 +- electron/build-standalone-release.sh | 6 +- electron/build.sh | 6 +- electron/build/icons/icon512x512.png | Bin 0 -> 72313 bytes electron/compress-electron-release.sh | 4 +- electron/compress-standalone-release.sh | 8 +- electron/data.db | Bin 262144 -> 0 bytes electron/install-node-modules.sh | 5 +- electron/npm-debug.log | 45 + electron/package-electron-release.sh | 4 +- electron/package-lock.json | 2780 ++++ electron/package-standalone-release.sh | 59 +- electron/package.json | 21 +- electron/skycoin/current-skycoin.json | 2 +- electron/src/electron-main.js | 68 +- electron/src/node_modules/.yarn-integrity | 44 - electron/src/node_modules/axios/CHANGELOG.md | 245 - electron/src/node_modules/axios/LICENSE | 19 - electron/src/node_modules/axios/README.md | 625 - .../src/node_modules/axios/UPGRADE_GUIDE.md | 162 - electron/src/node_modules/axios/dist/axios.js | 1603 --- .../src/node_modules/axios/dist/axios.map | 1 - .../src/node_modules/axios/dist/axios.min.js | 9 - .../src/node_modules/axios/dist/axios.min.map | 1 - electron/src/node_modules/axios/index.d.ts | 131 - electron/src/node_modules/axios/index.js | 1 - .../node_modules/axios/lib/adapters/README.md | 37 - .../node_modules/axios/lib/adapters/http.js | 237 - .../node_modules/axios/lib/adapters/xhr.js | 180 - electron/src/node_modules/axios/lib/axios.js | 52 - .../node_modules/axios/lib/cancel/Cancel.js | 19 - .../axios/lib/cancel/CancelToken.js | 57 - .../node_modules/axios/lib/cancel/isCancel.js | 5 - .../src/node_modules/axios/lib/core/Axios.js | 79 - .../axios/lib/core/InterceptorManager.js | 52 - .../src/node_modules/axios/lib/core/README.md | 7 - .../axios/lib/core/createError.js | 18 - .../axios/lib/core/dispatchRequest.js | 86 - .../axios/lib/core/enhanceError.js | 21 - .../src/node_modules/axios/lib/core/settle.js | 26 - .../axios/lib/core/transformData.js | 20 - .../src/node_modules/axios/lib/defaults.js | 96 - .../node_modules/axios/lib/helpers/README.md | 7 - .../node_modules/axios/lib/helpers/bind.js | 11 - .../node_modules/axios/lib/helpers/btoa.js | 36 - .../axios/lib/helpers/buildURL.js | 66 - .../axios/lib/helpers/combineURLs.js | 14 - .../node_modules/axios/lib/helpers/cookies.js | 53 - .../axios/lib/helpers/deprecatedMethod.js | 24 - .../axios/lib/helpers/isAbsoluteURL.js | 14 - .../axios/lib/helpers/isURLSameOrigin.js | 68 - .../axios/lib/helpers/normalizeHeaderName.js | 12 - .../axios/lib/helpers/parseHeaders.js | 53 - .../node_modules/axios/lib/helpers/spread.js | 27 - electron/src/node_modules/axios/lib/utils.js | 303 - electron/src/node_modules/axios/package.json | 83 - .../src/node_modules/debug/.coveralls.yml | 1 - electron/src/node_modules/debug/.eslintrc | 11 - electron/src/node_modules/debug/.npmignore | 9 - electron/src/node_modules/debug/.travis.yml | 14 - electron/src/node_modules/debug/CHANGELOG.md | 362 - electron/src/node_modules/debug/LICENSE | 19 - electron/src/node_modules/debug/Makefile | 50 - electron/src/node_modules/debug/README.md | 312 - .../src/node_modules/debug/component.json | 19 - electron/src/node_modules/debug/karma.conf.js | 70 - electron/src/node_modules/debug/node.js | 1 - electron/src/node_modules/debug/package.json | 49 - .../src/node_modules/debug/src/browser.js | 185 - electron/src/node_modules/debug/src/debug.js | 202 - electron/src/node_modules/debug/src/index.js | 10 - .../node_modules/debug/src/inspector-log.js | 15 - electron/src/node_modules/debug/src/node.js | 248 - .../electron-context-menu/index.js | 170 - .../electron-context-menu/license | 21 - .../electron-context-menu/package.json | 44 - .../electron-context-menu/readme.md | 115 - .../src/node_modules/electron-debug/index.js | 89 - .../node_modules/electron-is-dev/index.js | 5 - .../node_modules/electron-is-dev/license | 21 - .../node_modules/electron-is-dev/package.json | 40 - .../node_modules/electron-is-dev/readme.md | 37 - .../node_modules/electron-debug/package.json | 43 - .../src/node_modules/electron-debug/readme.md | 137 - .../src/node_modules/electron-dl/index.js | 134 - .../src/node_modules/electron-dl/package.json | 49 - .../src/node_modules/electron-dl/readme.md | 155 - .../electron-is-accelerator/.jshintrc | 9 - .../electron-is-accelerator/.npmignore | 37 - .../electron-is-accelerator/.travis.yml | 4 - .../electron-is-accelerator/README.md | 25 - .../electron-is-accelerator/index.js | 21 - .../electron-is-accelerator/package.json | 27 - .../electron-is-accelerator/test.js | 96 - .../src/node_modules/electron-is-dev/index.js | 2 - .../src/node_modules/electron-is-dev/license | 21 - .../node_modules/electron-is-dev/package.json | 40 - .../node_modules/electron-is-dev/readme.md | 35 - .../electron-localshortcut/README.md | 135 - .../electron-localshortcut/index.js | 308 - .../electron-localshortcut/license | 22 - .../electron-localshortcut/package.json | 41 - .../src/node_modules/electron-log/README.md | 116 - .../src/node_modules/electron-log/index.js | 344 - .../node_modules/electron-log/package.json | 46 - electron/src/node_modules/ext-list/index.js | 18 - .../src/node_modules/ext-list/package.json | 32 - electron/src/node_modules/ext-list/readme.md | 25 - electron/src/node_modules/ext-name/index.js | 31 - electron/src/node_modules/ext-name/license | 21 - .../src/node_modules/ext-name/package.json | 34 - electron/src/node_modules/ext-name/readme.md | 57 - .../node_modules/follow-redirects/README.md | 155 - .../src/node_modules/follow-redirects/http.js | 1 - .../node_modules/follow-redirects/https.js | 1 - .../node_modules/follow-redirects/index.js | 267 - .../node_modules/debug/.coveralls.yml | 1 - .../node_modules/debug/.eslintrc | 14 - .../node_modules/debug/.npmignore | 9 - .../node_modules/debug/.travis.yml | 20 - .../node_modules/debug/CHANGELOG.md | 395 - .../node_modules/debug/LICENSE | 19 - .../node_modules/debug/Makefile | 58 - .../node_modules/debug/README.md | 368 - .../node_modules/debug/karma.conf.js | 70 - .../node_modules/debug/node.js | 1 - .../node_modules/debug/package.json | 43 - .../node_modules/debug/src/browser.js | 195 - .../node_modules/debug/src/debug.js | 225 - .../node_modules/debug/src/index.js | 10 - .../node_modules/debug/src/node.js | 186 - .../follow-redirects/package.json | 65 - electron/src/node_modules/is-buffer/README.md | 53 - electron/src/node_modules/is-buffer/index.js | 21 - .../src/node_modules/is-buffer/package.json | 51 - .../src/node_modules/is-buffer/test/basic.js | 24 - .../src/node_modules/is-plain-obj/index.js | 7 - .../src/node_modules/is-plain-obj/license | 21 - .../node_modules/is-plain-obj/package.json | 36 - .../src/node_modules/is-plain-obj/readme.md | 35 - .../README.md | 66 - .../example.js | 5 - .../index.js | 195 - .../package.json | 24 - .../keyboardevents-areequal/README.md | 42 - .../keyboardevents-areequal/example.js | 4 - .../keyboardevents-areequal/index.js | 39 - .../keyboardevents-areequal/package.json | 24 - electron/src/node_modules/mime-db/HISTORY.md | 360 - electron/src/node_modules/mime-db/README.md | 94 - electron/src/node_modules/mime-db/db.json | 7047 ---------- electron/src/node_modules/mime-db/index.js | 11 - .../src/node_modules/mime-db/package.json | 57 - .../src/node_modules/modify-filename/index.js | 17 - .../src/node_modules/modify-filename/license | 21 - .../node_modules/modify-filename/package.json | 33 - .../node_modules/modify-filename/readme.md | 32 - electron/src/node_modules/ms/index.js | 152 - electron/src/node_modules/ms/package.json | 37 - electron/src/node_modules/ms/readme.md | 51 - .../src/node_modules/path-exists/index.js | 17 - electron/src/node_modules/path-exists/license | 21 - .../src/node_modules/path-exists/package.json | 40 - .../src/node_modules/path-exists/readme.md | 50 - electron/src/node_modules/pupa/index.js | 22 - electron/src/node_modules/pupa/license | 21 - electron/src/node_modules/pupa/package.json | 49 - electron/src/node_modules/pupa/readme.md | 59 - .../node_modules/sort-keys-length/README.md | 35 - .../node_modules/sort-keys-length/index.js | 22 - .../sort-keys-length/package.json | 32 - electron/src/node_modules/sort-keys/index.js | 44 - electron/src/node_modules/sort-keys/license | 21 - .../src/node_modules/sort-keys/package.json | 40 - electron/src/node_modules/sort-keys/readme.md | 60 - .../src/node_modules/unused-filename/index.js | 20 - .../src/node_modules/unused-filename/license | 21 - .../node_modules/unused-filename/package.json | 44 - .../node_modules/unused-filename/readme.md | 56 - electron/src/package-lock.json | 176 +- electron/src/package.json | 3 +- electron/src/splash/index.html | 44 + electron/src/splash/logo-splash.png | Bin 0 -> 381625 bytes electron/src/splash/spinner.png | Bin 0 -> 371 bytes electron/src/yarn.lock | 143 - electron/yarn.lock | 1794 --- fiber.toml | 138 + gz-c.asc | 13 + include/base64.h | 45 + include/cipher.address.go.h | 14 + include/cipher.crypto.go.h | 20 + include/cipher.hash.go.h | 9 + include/cipher.testsuite.testsuite.go.h | 99 + include/cli.create_rawtx.go.h | 7 + include/coin.outputs.go.h | 18 + include/coin.transactions.go.h | 25 + include/json.h | 283 + include/skycriterion.h | 36 + include/skyerrors.h | 9 + include/skystring.h | 15 + include/skytest.h | 48 + include/skytypes.h | 155 + include/wallet.entry.go.h | 8 + include/wallet.wallet.go.h | 19 + lib/cgo/README.md | 101 + lib/cgo/api.webrpc.client.go | 47 + lib/cgo/cipher.address.go | 145 + lib/cgo/cipher.crypto.go | 278 + lib/cgo/cipher.hash.go | 107 + lib/cgo/cli.create_rawtx.go | 108 + lib/cgo/coin.outputs.go | 157 + lib/cgo/libsky_error.go | 34 + lib/cgo/libsky_handle.go | 115 + lib/cgo/libsky_mem.go | 123 + lib/cgo/main.go | 6 + lib/cgo/tests/check_cipher.address.c | 337 + lib/cgo/tests/check_cipher.crypto.c | 734 + lib/cgo/tests/check_cipher.hash.c | 345 + lib/cgo/tests/check_cipher.testsuite.c | 83 + lib/cgo/tests/cipher.testsuite.c | 493 + lib/cgo/tests/libsky_criterion.c | 104 + lib/cgo/tests/libsky_string.c | 30 + lib/cgo/tests/libsky_testutil.c | 121 + lib/cgo/tests/testutils/base64.c | 187 + lib/cgo/tests/testutils/json.c | 1012 ++ lib/cgo/tests/testutils/json_util.c | 137 + lib/cgo/wallet.wallet.go | 382 + lib/cgo/wallet_option.go | 27 + peers.txt | 54 - run-live-integration-test-node.sh | 22 + run-with-rpc.sh | 18 +- run.sh | 1 + src/api/address.go | 63 + src/api/address_test.go | 153 + src/{gui => api}/blockchain.go | 32 +- src/{gui => api}/blockchain_test.go | 90 +- .../test-fixtures/status-use-csrf.golden | 8 - src/{gui => api}/client.go | 365 +- src/{gui => api}/csrf.go | 7 +- src/{gui => api}/csrf_test.go | 70 +- src/{gui => api}/explorer.go | 75 +- src/{gui => api}/explorer_test.go | 126 +- src/{gui => api}/gateway.go | 18 +- src/{gui => api}/gatewayer_mock_test.go | 262 +- src/{gui => api}/health.go | 4 +- src/{gui => api}/health_test.go | 7 +- src/{gui => api}/http.go | 315 +- src/{gui => api}/http_test.go | 174 +- src/api/{cli => }/integration/empty.go | 0 .../integration/integration_test.go | 1346 +- ...RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D.golden} | 0 ...2b8ourW8fbTkC1yQBSLseVt6srhXvNMHvn9.golden | 0 ...-ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od.golden | 4 +- ...-R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ.golden | 966 +- ...2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf.golden | 0 .../testdata}/balance-noaddrs.golden | 0 .../testdata}/balance-two-addrs.golden | 0 .../testdata}/block-hash-genesis.golden | 0 .../integration/testdata}/block-hash.golden | 0 .../integration/testdata}/block-last.golden | 0 .../integration/testdata}/block-seq-0.golden | 0 .../testdata}/block-seq-100.golden | 0 .../integration/testdata/blockchain-180.db | Bin 0 -> 1048576 bytes .../testdata}/blockchain-metadata.golden | 0 .../testdata}/blockchain-progress.golden | 0 .../integration/testdata}/blocks-all.golden | 0 .../blocks-end-less-than-start.golden | 0 .../testdata}/blocks-first-1.golden | 0 .../testdata}/blocks-first-10.golden | 0 .../testdata}/blocks-last-10.golden | 0 .../integration/testdata}/coinsupply.golden | 0 .../empty-addrs-unconfirmed-txs.golden | 0 .../integration/testdata}/empty-addrs.golden | 2 +- .../testdata}/genesis-raw-tx.golden | 0 .../testdata}/genesis-transaction.golden | 2 +- .../network-default-connections.golden | 0 .../network-exchangeable-connections.golden | 0 .../network-trusted-connections.golden | 0 .../testdata}/outputs-addrs.golden | 0 .../testdata}/outputs-hashes.golden | 0 .../testdata}/outputs-noargs.golden | 0 .../richlist-150-include-distribution.golden | 0 .../integration/testdata}/richlist-8.golden | 0 .../richlist-all-include-distribution.golden | 0 .../integration/testdata}/richlist-all.golden | 0 .../testdata}/richlist-default.golden | 0 .../integration/testdata}/single-addr.golden | 0 .../integration/testdata}/transaction.golden | 0 .../integration/testdata}/uxout-addr.golden | 0 .../integration/testdata}/uxout-noaddr.golden | 0 .../integration/testdata}/uxout-spent.golden | 2 +- .../integration/testdata}/uxout.golden | 0 .../testdata/verify-address.golden | 3 + .../verify-transaction-invalid-bad-sig.golden | 39 + .../verify-transaction-invalid-empty.golden | 13 + .../testdata/wallet-balance.golden | 22 + .../testdata}/wallet-transactions.golden | 0 src/{gui => api}/network.go | 61 +- src/{gui => api}/network_test.go | 155 +- src/{gui => api}/notes.go | 2 +- src/{gui => api}/spend.go | 98 +- src/{gui => api}/spend_test.go | 108 +- src/api/transaction.go | 471 + src/{gui => api}/transaction_test.go | 359 +- src/{gui => api}/uxout.go | 2 +- src/{gui => api}/uxout_test.go | 8 +- src/{gui => api}/wallet.go | 117 +- src/{gui => api}/wallet_test.go | 93 +- src/api/webrpc/client.go | 10 +- src/api/webrpc/client_test.go | 32 +- src/api/webrpc/outputs_test.go | 47 - src/api/webrpc/webrpc.go | 2 - src/api/webrpc/webrpc_test.go | 4 +- src/{gui => api}/webrpc_test.go | 6 +- src/cipher/address.go | 39 +- src/cipher/address_test.go | 44 +- src/cipher/crypto.go | 78 +- src/cipher/crypto_test.go | 9 + src/cipher/encoder/encoder.go | 342 +- src/cipher/encoder/encoder_test.go | 269 +- src/cipher/encoder/field.go | 11 +- .../encrypt/scrypt_chacha20poly1305_test.go | 2 +- src/cipher/go-bip39/bip39.go | 17 +- src/cipher/hash.go | 21 + src/cipher/secp256k1-go/secp256_test.go | 4 - src/cipher/secp256k1-go/secp256k1-go2/num.go | 6 +- src/cipher/secp256k1-go/secp256k1-go2/xyz.go | 2 +- .../secp256k1-go/secp256k1-go2/xyz_test.go | 2 +- .../testsuite/testdata/input-hashes.golden | 14 + .../testsuite/testdata/many-addresses.golden | 5005 +++++++ .../testsuite/testdata/seed-0000.golden | 175 + .../testsuite/testdata/seed-0001.golden | 175 + .../testsuite/testdata/seed-0002.golden | 175 + .../testsuite/testdata/seed-0003.golden | 175 + .../testsuite/testdata/seed-0004.golden | 175 + .../testsuite/testdata/seed-0005.golden | 175 + .../testsuite/testdata/seed-0006.golden | 175 + .../testsuite/testdata/seed-0007.golden | 175 + .../testsuite/testdata/seed-0008.golden | 175 + .../testsuite/testdata/seed-0009.golden | 175 + .../testsuite/testdata/seed-0010.golden | 175 + src/cipher/testsuite/testsuite.go | 264 + src/cipher/testsuite/testsuite_test.go | 76 + src/{api => }/cli/add_private_key.go | 0 src/{api => }/cli/address_gen.go | 2 +- src/{api => }/cli/blocks.go | 0 src/{api => }/cli/broadcast_rawtx.go | 0 src/{api => }/cli/check_balance.go | 0 src/{api => }/cli/check_balance_test.go | 0 src/{api => }/cli/checkdb.go | 35 +- src/{api => }/cli/cli.go | 31 +- src/{api => }/cli/cli_test.go | 21 + src/{api => }/cli/create_rawtx.go | 12 +- src/{api => }/cli/create_rawtx_test.go | 0 src/{api => }/cli/decryptWallet.go | 3 +- src/{api => }/cli/encrypt_wallet.go | 3 +- src/{api => }/cli/generate_addrs.go | 0 src/{api => }/cli/generate_wallet.go | 2 +- src/{gui => cli}/integration/empty.go | 0 .../cli/integration/integration_test.go | 175 +- .../testdata}/address-balance.golden | 0 .../testdata}/address-outputs.golden | 0 .../integration/testdata}/block0.golden | 0 .../integration/testdata}/blocks0-5.golden | 0 .../integration/testdata}/blocks180.golden | 0 .../testdata}/decode-raw-transaction.golden | 0 .../testdata}/generate-addresses-2.golden | 0 .../generate-addresses-encrypted.golden | 0 .../testdata}/generate-addresses.golden | 0 .../testdata}/genesis-transaction-cli.golden | 2 +- .../testdata}/genesis-transaction.golden | 2 +- .../testdata}/integration-test-encrypted.wlt | 0 .../testdata}/integration-test.wlt | 0 .../integration/testdata}/last-blocks0.golden | 0 .../integration/testdata}/last-blocks1.golden | 0 .../integration/testdata}/last-blocks2.golden | 0 .../testdata}/list-addresses.golden | 0 .../integration/testdata}/list-wallets.golden | 0 .../testdata}/show-config-use-csrf.golden | 0 .../integration/testdata}/show-config.golden | 0 .../testdata/status-use-csrf.golden | 8 + .../integration/testdata}/status.golden | 2 +- .../testdata}/two-addresses-outputs.golden | 0 .../testdata}/wallet-balance.golden | 0 .../testdata/wallet-history.golden | 1 + .../testdata}/wallet-outputs.golden | 0 src/{api => }/cli/last_blocks.go | 0 src/{api => }/cli/list_addrs.go | 0 src/{api => }/cli/list_wallets.go | 0 src/{api => }/cli/outputs.go | 0 src/{api => }/cli/send.go | 0 src/{api => }/cli/show_seed.go | 3 +- src/{api => }/cli/status.go | 0 src/{api => }/cli/transaction.go | 0 src/{api => }/cli/verify_address.go | 0 src/{api => }/cli/version.go | 0 src/{api => }/cli/wallet_dir.go | 0 src/{api => }/cli/wallet_history.go | 0 src/coin/block.go | 7 +- src/coin/block_test.go | 4 +- src/coin/coin_test.go | 68 - src/coin/math.go | 2 +- src/coin/outputs.go | 9 +- src/coin/transactions.go | 21 +- src/coin/transactions_test.go | 73 +- src/daemon/announced_txns.go | 44 + src/daemon/daemon.go | 690 +- src/daemon/daemon_test.go | 104 + src/daemon/daemoner_mock_test.go | 568 + src/daemon/gateway.go | 607 +- src/daemon/gateway_test.go | 5 +- src/daemon/gnet/dispatcher.go | 3 +- src/daemon/gnet/dispatcher_test.go | 5 - src/daemon/gnet/message_test.go | 7 +- src/daemon/gnet/pool.go | 225 +- src/daemon/gnet/pool_test.go | 443 +- src/daemon/heights.go | 84 + src/daemon/heights_test.go | 82 + src/daemon/messages.go | 460 +- src/daemon/messages_test.go | 831 ++ src/daemon/pex/peerlist_test.go | 4 +- src/daemon/pex/pex.go | 5 +- src/daemon/pool.go | 62 +- src/daemon/pool_test.go | 75 - src/daemon/rpc.go | 181 - src/daemon/storage.go | 1 - src/daemon/strand/strand.go | 20 +- src/daemon/visor.go | 850 -- src/daemon/visor_test.go | 367 - ...2RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D.golden | 1 - .../dist/0.c5a8ce8f55ecb5290b5c.chunk.js | 1 + src/gui/static/dist/3rdpartylicenses.txt | 108 +- src/gui/static/dist/assets/header.png | Bin 284713 -> 295475 bytes src/gui/static/dist/assets/i18n/en.json | 244 + src/gui/static/dist/assets/img/edit-blue.png | Bin 0 -> 893 bytes src/gui/static/dist/assets/img/header.png | Bin 322586 -> 295475 bytes src/gui/static/dist/assets/img/lock-grey.png | Bin 0 -> 774 bytes src/gui/static/dist/assets/img/minus-red.png | Bin 1026 -> 1595 bytes src/gui/static/dist/assets/img/plus-green.png | Bin 0 -> 937 bytes .../static/dist/assets/img/unlock-gold.png | Bin 0 -> 772 bytes .../dist/header.250b4e23ed529c1ee94b.png | Bin 0 -> 295475 bytes .../dist/header.f58db270477d6968f530.png | Bin 322586 -> 0 bytes src/gui/static/dist/index.html | 2 +- .../inline.2773fac96b73a466879f.bundle.js | 1 + .../inline.318b50c57b4eba3d437b.bundle.js | 1 - .../dist/main.58235971dca7e9a27da9.bundle.js | 1 + .../dist/main.87fed2fa81359655e221.bundle.js | 1 - .../polyfills.c4b58e211f949e5897b0.bundle.js | 1 - .../polyfills.f43c2ec828cc11243da0.bundle.js | 1 + .../styles.300106490a42a46b5413.bundle.css | 9 - .../styles.fb7904fac681023ce8b9.bundle.css | 9 + src/gui/static/e2e-proxy.config.js | 14 + src/gui/static/e2e/app.e2e-spec.ts | 14 - src/gui/static/e2e/app.po.ts | 11 - src/gui/static/e2e/onboarding.e2e-spec.ts | 44 + src/gui/static/e2e/onboarding.po.ts | 93 + src/gui/static/e2e/send.e2e-spec.ts | 38 + src/gui/static/e2e/send.po.ts | 68 + src/gui/static/e2e/transactions.e2e-spec.ts | 22 + src/gui/static/e2e/transactions.po.ts | 37 + src/gui/static/e2e/wallets.e2e-spec.ts | 90 + src/gui/static/e2e/wallets.po.ts | 186 + src/gui/static/package-lock.json | 279 +- src/gui/static/package.json | 8 +- src/gui/static/protractor.conf.js | 9 +- src/gui/static/proxy.config.js | 11 +- src/gui/static/src/app/app.component.spec.ts | 2 +- src/gui/static/src/app/app.component.ts | 11 +- src/gui/static/src/app/app.config.ts | 2 +- src/gui/static/src/app/app.datatypes.ts | 26 +- src/gui/static/src/app/app.module.ts | 32 +- .../static/src/app/app.translate-loader.ts | 9 + .../layout/button/button.component.html | 33 +- .../layout/button/button.component.scss | 13 +- .../layout/button/button.component.spec.ts | 2 +- .../layout/button/button.component.ts | 10 +- .../double-button.component.html | 2 +- .../double-button.component.scss | 16 +- .../double-button.component.spec.ts | 2 +- .../double-button/double-button.component.ts | 1 + .../layout/footer/footer.component.html | 9 - .../layout/footer/footer.component.scss | 48 - .../layout/footer/footer.component.ts | 31 - .../layout/header/header.component.html | 41 +- .../layout/header/header.component.scss | 21 +- .../layout/header/header.component.spec.ts | 2 +- .../layout/header/header.component.ts | 36 +- .../header/nav-bar/nav-bar.component.html | 17 +- .../header/nav-bar/nav-bar.component.scss | 5 + .../header/nav-bar/nav-bar.component.spec.ts | 2 +- .../header/nav-bar/nav-bar.component.ts | 16 +- .../header/top-bar/top-bar.component.html | 14 +- .../header/top-bar/top-bar.component.scss | 2 +- .../header/top-bar/top-bar.component.spec.ts | 2 +- .../header/top-bar/top-bar.component.ts | 4 +- .../loading-content.component.html | 10 + .../loading-content.component.scss | 25 + .../loading-content.component.spec.ts | 25 + .../loading-content.component.ts | 11 + .../layout/modal/modal.component.html | 2 +- .../layout/modal/modal.component.spec.ts | 2 +- .../layout/modal/modal.component.ts | 4 +- .../password-dialog.component.html | 8 +- .../password-dialog.component.scss | 2 +- .../password-dialog.component.spec.ts | 2 +- .../password-dialog.component.ts | 61 +- .../layout/qr-code/qr-code.component.html | 2 +- .../layout/qr-code/qr-code.component.spec.ts | 2 +- .../layout/qr-code/qr-code.component.ts | 11 +- .../add-deposit-address.component.html | 6 +- .../add-deposit-address.component.spec.ts | 2 +- .../add-deposit-address.component.ts | 2 +- .../components/pages/buy/buy.component.html | 47 +- .../pages/buy/buy.component.spec.ts | 2 +- .../app/components/pages/buy/buy.component.ts | 27 +- .../pages/explorer/explorer.component.html | 27 - .../pages/explorer/explorer.component.ts | 28 - .../onboarding-create-wallet.component.html | 31 +- .../onboarding-create-wallet.component.scss | 4 +- ...onboarding-create-wallet.component.spec.ts | 2 +- .../onboarding-create-wallet.component.ts | 29 +- .../onboarding-safeguard.component.html | 10 +- .../onboarding-safeguard.component.spec.ts | 2 +- .../onboarding-safeguard.component.ts | 2 - .../onboarding-encrypt-wallet.component.html | 20 +- .../onboarding-encrypt-wallet.component.scss | 3 +- ...nboarding-encrypt-wallet.component.spec.ts | 2 +- .../onboarding-encrypt-wallet.component.ts | 4 +- .../onboarding/onboarding.component.spec.ts | 2 +- .../pages/onboarding/onboarding.component.ts | 4 +- .../send-form-advanced.component.html | 114 + .../send-form-advanced.component.scss | 156 + .../send-form-advanced.component.spec.ts | 25 + .../send-form-advanced.component.ts | 335 + .../send-form/send-form.component.html | 28 + .../send-form/send-form.component.scss | 3 + .../send-form/send-form.component.spec.ts | 25 + .../send-form/send-form.component.ts | 188 + .../send-preview/send-preview.component.html | 9 + .../send-preview/send-preview.component.scss | 4 + .../send-preview.component.spec.ts | 25 + .../send-preview/send-preview.component.ts | 58 + .../transaction-info.component.html | 80 + .../transaction-info.component.scss | 108 + .../transaction-info.component.spec.ts | 25 + .../transaction-info.component.ts | 41 + .../send-skycoin/send-skycoin.component.html | 42 +- .../send-skycoin.component.spec.ts | 2 +- .../send-skycoin/send-skycoin.component.ts | 138 +- .../settings/backup/backup.component.html | 52 +- .../settings/backup/backup.component.scss | 46 +- .../settings/backup/backup.component.spec.ts | 2 +- .../pages/settings/backup/backup.component.ts | 16 +- .../seed-modal/seed-modal.component.html | 6 +- .../seed-modal/seed-modal.component.spec.ts | 2 +- .../backup/seed-modal/seed-modal.component.ts | 6 +- .../blockchain/blockchain.component.html | 60 +- .../blockchain/blockchain.component.scss | 35 +- .../blockchain/blockchain.component.spec.ts | 2 +- .../blockchain/blockchain.component.ts | 5 +- .../settings/network/network.component.html | 52 +- .../settings/network/network.component.scss | 56 +- .../network/network.component.spec.ts | 2 +- .../settings/network/network.component.ts | 24 +- .../settings/outputs/outputs.component.html | 41 +- .../settings/outputs/outputs.component.scss | 65 +- .../outputs/outputs.component.spec.ts | 2 +- .../settings/outputs/outputs.component.ts | 47 +- .../pending-transactions.component.html | 37 +- .../pending-transactions.component.scss | 18 +- .../pending-transactions.component.spec.ts | 2 +- .../pending-transactions.component.ts | 49 +- .../transaction-detail.component.html | 44 +- .../transaction-detail.component.scss | 100 +- .../transaction-detail.component.spec.ts | 2 +- .../transaction-detail.component.ts | 30 +- .../transaction-list.component.html | 35 +- .../transaction-list.component.scss | 11 +- .../transaction-list.component.spec.ts | 2 +- .../transaction-list.component.ts | 22 +- .../change-name/change-name.component.html | 8 +- .../change-name/change-name.component.spec.ts | 2 +- .../change-name/change-name.component.ts | 14 +- .../create-wallet.component.html | 37 +- .../create-wallet.component.scss | 6 +- .../create-wallet.component.spec.ts | 2 +- .../create-wallet/create-wallet.component.ts | 6 +- .../wallet-detail.component.html | 71 +- .../wallet-detail.component.scss | 223 +- .../wallet-detail.component.spec.ts | 2 +- .../wallet-detail/wallet-detail.component.ts | 47 +- .../pages/wallets/wallets.component.html | 56 +- .../pages/wallets/wallets.component.scss | 105 +- .../pages/wallets/wallets.component.spec.ts | 2 +- .../pages/wallets/wallets.component.ts | 3 +- .../directives/dontsavepassword.directive.ts | 8 +- .../static/src/app/models/connection.model.ts | 5 - .../src/app/pipes/date-from-now.pipe.ts | 4 +- .../static/src/app/pipes/date-time.pipe.ts | 3 +- .../src/app/pipes/teller-status.pipe.ts | 18 +- .../pipes/transactions-amount.pipe.spec.ts | 8 - .../src/app/pipes/transactions-amount.pipe.ts | 11 - .../src/app/services/api.service.spec.ts | 2 +- .../static/src/app/services/api.service.ts | 20 +- .../src/app/services/app.service.spec.ts | 2 +- .../static/src/app/services/app.service.ts | 27 +- .../app/services/blockchain.service.spec.ts | 2 +- .../src/app/services/blockchain.service.ts | 50 +- .../src/app/services/nav-bar.service.spec.ts | 15 + .../src/app/services/nav-bar.service.ts | 24 + .../src/app/services/network.service.spec.ts | 2 +- .../src/app/services/network.service.ts | 11 +- .../src/app/services/price.service.spec.ts | 2 +- .../static/src/app/services/price.service.ts | 18 +- .../src/app/services/purchase.service.spec.ts | 2 +- .../src/app/services/purchase.service.ts | 3 +- .../src/app/services/wallet.service.spec.ts | 2 +- .../static/src/app/services/wallet.service.ts | 167 +- .../app/services/wizard-guard.service.spec.ts | 2 +- .../src/app/services/wizard-guard.service.ts | 3 +- src/gui/static/src/app/utils/errors.spec.ts | 16 + src/gui/static/src/app/utils/errors.ts | 24 + src/gui/static/src/app/utils/index.ts | 11 - src/gui/static/src/assets/header.png | Bin 284713 -> 295475 bytes src/gui/static/src/assets/i18n/en.json | 244 + src/gui/static/src/assets/img/edit-blue.png | Bin 0 -> 893 bytes src/gui/static/src/assets/img/header.png | Bin 322586 -> 295475 bytes src/gui/static/src/assets/img/lock-grey.png | Bin 0 -> 774 bytes src/gui/static/src/assets/img/minus-red.png | Bin 1026 -> 1595 bytes src/gui/static/src/assets/img/plus-green.png | Bin 0 -> 937 bytes src/gui/static/src/assets/img/unlock-gold.png | Bin 0 -> 772 bytes src/gui/static/src/current-skycoin.json | 2 +- .../src/environments/environment.prod.ts | 2 +- .../static/src/environments/environment.ts | 2 +- src/gui/static/src/index.html | 1 - src/gui/static/src/main.ts | 2 + src/gui/static/src/styles.scss | 56 +- src/gui/static/src/test.ts | 6 +- src/gui/static/src/theme/_tables.scss | 69 + src/gui/static/src/theme/_variables.scss | 13 +- src/gui/static/src/typings.d.ts | 5 + src/gui/static/tslint.json | 24 +- src/gui/transaction.go | 250 - src/skycoin/config.go | 410 + src/skycoin/parameters.go | 127 + src/skycoin/parameters_test.go | 50 + src/skycoin/skycoin.go | 427 + src/skycoin/testdata/test.fiber.toml | 27 + src/testutil/{blockchain.go => testutil.go} | 11 +- src/util/apputil/apputil.go | 56 + src/util/file/file.go | 1 - src/util/file/file_test.go | 2 +- src/util/hexdump.go | 142 + src/util/http/error.go | 35 +- src/util/http/handler.go | 12 + src/util/http/json.go | 28 + src/util/http/json_test.go | 61 + src/util/iputil/iputil.go | 24 +- src/util/iputil/iputil_test.go | 94 +- src/visor/blockchain.go | 623 +- src/visor/blockchain_parser.go | 99 - src/visor/blockchain_test.go | 277 +- src/visor/blockchain_verify_test.go | 372 +- src/visor/blockchainer_mock_test.go | 169 +- src/visor/blockdb/README.md | 5 - src/visor/blockdb/block_tree.go | 241 +- src/visor/blockdb/block_tree_test.go | 106 +- src/visor/blockdb/blockchain.go | 365 +- src/visor/blockdb/blockchain_test.go | 489 +- src/visor/blockdb/blockdb.go | 5 - src/visor/blockdb/blocksigs.go | 64 +- src/visor/blockdb/blocksigs_test.go | 61 +- src/visor/blockdb/chain_meta.go | 29 + .../blockchain-180.no-unspent-addr-index.db} | Bin 1048576 -> 1048576 bytes src/visor/blockdb/unspent.go | 604 +- src/visor/blockdb/unspent_test.go | 1111 +- src/visor/bucket/bucket.go | 239 - src/visor/bucket/bucket_test.go | 390 - src/visor/daemon_visor_test.go | 168 + src/visor/db.go | 228 +- src/visor/dbutil/dbutil.go | 355 + src/visor/distribution.go | 126 +- src/visor/historydb/address_txn.go | 73 +- src/visor/historydb/address_txn_test.go | 74 +- src/visor/historydb/address_uxout.go | 80 +- src/visor/historydb/history_meta.go | 55 +- src/visor/historydb/history_meta_test.go | 82 +- src/visor/historydb/historydb.go | 427 +- src/visor/historydb/historydb_test.go | 189 +- src/visor/historydb/output.go | 85 +- src/visor/historydb/transaction.go | 98 +- src/visor/historydb/transaction_test.go | 112 +- src/visor/historyer_mock_test.go | 124 +- src/visor/parameters.go | 130 + src/visor/readable.go | 128 +- src/visor/readable_test.go | 201 +- src/visor/testdata/data.db.no-addr-txn-index | Bin 0 -> 524288 bytes .../testdata/data.db.no-addr-uxout-index | Bin 0 -> 524288 bytes src/visor/testdata/data.db.notxn | Bin 0 -> 524288 bytes src/visor/testdata/data.db.nouxout | Bin 0 -> 524288 bytes src/visor/testdata/data.db.ok | Bin 0 -> 524288 bytes src/visor/unconfirmed.go | 582 +- src/visor/unconfirmed_txn_pooler_mock_test.go | 268 +- src/visor/unspent_pooler_mock_test.go | 277 + src/visor/verify.go | 36 +- src/visor/visor.go | 1708 ++- src/visor/visor_test.go | 1337 +- src/wallet/balance.go | 3 + src/wallet/readable.go | 6 +- src/wallet/service.go | 28 +- src/wallet/service_test.go | 443 +- src/wallet/wallet.go | 188 +- src/wallet/wallet_test.go | 106 +- src/wallet/wallets.go | 2 +- template/coin.template | 82 + template/visor.template | 33 + .../github.com/NYTimes/gziphandler/.gitignore | 1 + .../NYTimes/gziphandler/.travis.yml | 6 + .../NYTimes/gziphandler/CODE_OF_CONDUCT.md | 75 + .../NYTimes/gziphandler/CONTRIBUTING.md | 30 + vendor/github.com/NYTimes/gziphandler/LICENSE | 201 + .../github.com/NYTimes/gziphandler/README.md | 52 + vendor/github.com/NYTimes/gziphandler/gzip.go | 429 + .../NYTimes/gziphandler/gzip_go18.go | 43 + vendor/github.com/boltdb/bolt/README.md | 78 +- vendor/github.com/boltdb/bolt/bolt_386.go | 3 + vendor/github.com/boltdb/bolt/bolt_amd64.go | 3 + vendor/github.com/boltdb/bolt/bolt_arm.go | 21 + vendor/github.com/boltdb/bolt/bolt_arm64.go | 3 + vendor/github.com/boltdb/bolt/bolt_ppc64.go | 3 + vendor/github.com/boltdb/bolt/bolt_ppc64le.go | 3 + vendor/github.com/boltdb/bolt/bolt_s390x.go | 3 + vendor/github.com/boltdb/bolt/bolt_windows.go | 2 +- vendor/github.com/boltdb/bolt/bucket.go | 35 +- vendor/github.com/boltdb/bolt/db.go | 7 +- vendor/github.com/boltdb/bolt/freelist.go | 36 +- vendor/github.com/boltdb/bolt/page.go | 31 +- vendor/github.com/boltdb/bolt/tx.go | 4 +- .../fsnotify/fsnotify/.editorconfig | 5 + .../github.com/fsnotify/fsnotify/.gitignore | 6 + .../github.com/fsnotify/fsnotify/.travis.yml | 30 + vendor/github.com/fsnotify/fsnotify/AUTHORS | 52 + .../github.com/fsnotify/fsnotify/CHANGELOG.md | 317 + .../fsnotify/fsnotify/CONTRIBUTING.md | 77 + vendor/github.com/fsnotify/fsnotify/LICENSE | 28 + vendor/github.com/fsnotify/fsnotify/README.md | 79 + vendor/github.com/fsnotify/fsnotify/fen.go | 37 + .../github.com/fsnotify/fsnotify/fsnotify.go | 66 + .../github.com/fsnotify/fsnotify/inotify.go | 337 + .../fsnotify/fsnotify/inotify_poller.go | 187 + vendor/github.com/fsnotify/fsnotify/kqueue.go | 521 + .../fsnotify/fsnotify/open_mode_bsd.go | 11 + .../fsnotify/fsnotify/open_mode_darwin.go | 12 + .../github.com/fsnotify/fsnotify/windows.go | 561 + vendor/github.com/hashicorp/hcl/.gitignore | 9 + vendor/github.com/hashicorp/hcl/.travis.yml | 13 + vendor/github.com/hashicorp/hcl/LICENSE | 354 + vendor/github.com/hashicorp/hcl/Makefile | 18 + vendor/github.com/hashicorp/hcl/README.md | 125 + vendor/github.com/hashicorp/hcl/appveyor.yml | 19 + vendor/github.com/hashicorp/hcl/decoder.go | 729 + vendor/github.com/hashicorp/hcl/hcl.go | 11 + .../github.com/hashicorp/hcl/hcl/ast/ast.go | 219 + .../github.com/hashicorp/hcl/hcl/ast/walk.go | 52 + .../hashicorp/hcl/hcl/parser/error.go | 17 + .../hashicorp/hcl/hcl/parser/parser.go | 532 + .../hashicorp/hcl/hcl/printer/nodes.go | 789 ++ .../hashicorp/hcl/hcl/printer/printer.go | 66 + .../hashicorp/hcl/hcl/scanner/scanner.go | 652 + .../hashicorp/hcl/hcl/strconv/quote.go | 241 + .../hashicorp/hcl/hcl/token/position.go | 46 + .../hashicorp/hcl/hcl/token/token.go | 219 + .../hashicorp/hcl/json/parser/flatten.go | 117 + .../hashicorp/hcl/json/parser/parser.go | 313 + .../hashicorp/hcl/json/scanner/scanner.go | 451 + .../hashicorp/hcl/json/token/position.go | 46 + .../hashicorp/hcl/json/token/token.go | 118 + vendor/github.com/hashicorp/hcl/lex.go | 38 + vendor/github.com/hashicorp/hcl/parse.go | 39 + .../magiconair/properties/.gitignore | 6 + .../magiconair/properties/.travis.yml | 10 + .../magiconair/properties/CHANGELOG.md | 131 + .../github.com/magiconair/properties/LICENSE | 25 + .../magiconair/properties/README.md | 129 + .../magiconair/properties/decode.go | 289 + .../github.com/magiconair/properties/doc.go | 156 + .../magiconair/properties/integrate.go | 34 + .../github.com/magiconair/properties/lex.go | 407 + .../github.com/magiconair/properties/load.go | 292 + .../magiconair/properties/parser.go | 95 + .../magiconair/properties/properties.go | 833 ++ .../magiconair/properties/rangecheck.go | 31 + .../mitchellh/mapstructure/.travis.yml | 8 + .../mitchellh/mapstructure}/LICENSE | 3 +- .../mitchellh/mapstructure/README.md | 46 + .../mitchellh/mapstructure/decode_hooks.go | 171 + .../mitchellh/mapstructure/error.go | 50 + .../mitchellh/mapstructure/mapstructure.go | 1061 ++ .../github.com/pelletier/go-toml/.gitignore | 2 + .../github.com/pelletier/go-toml/.travis.yml | 22 + vendor/github.com/pelletier/go-toml/LICENSE | 21 + vendor/github.com/pelletier/go-toml/README.md | 131 + .../pelletier/go-toml/benchmark.json | 164 + .../github.com/pelletier/go-toml/benchmark.sh | 32 + .../pelletier/go-toml/benchmark.toml | 244 + .../pelletier/go-toml/benchmark.yml | 121 + vendor/github.com/pelletier/go-toml/doc.go | 23 + .../pelletier/go-toml/example-crlf.toml | 29 + .../github.com/pelletier/go-toml/example.toml | 29 + vendor/github.com/pelletier/go-toml/fuzz.go | 31 + vendor/github.com/pelletier/go-toml/fuzz.sh | 15 + .../pelletier/go-toml/keysparsing.go | 85 + vendor/github.com/pelletier/go-toml/lexer.go | 750 ++ .../github.com/pelletier/go-toml/marshal.go | 600 + .../pelletier/go-toml/marshal_test.toml | 38 + vendor/github.com/pelletier/go-toml/parser.go | 430 + .../github.com/pelletier/go-toml/position.go | 29 + vendor/github.com/pelletier/go-toml/test.sh | 91 + vendor/github.com/pelletier/go-toml/token.go | 144 + vendor/github.com/pelletier/go-toml/toml.go | 309 + .../pelletier/go-toml/tomltree_create.go | 142 + .../pelletier/go-toml/tomltree_write.go | 289 + .../github.com/shopspring/decimal/README.md | 18 +- .../github.com/shopspring/decimal/decimal.go | 217 +- .../skycoin/skycoin/ci-scripts/add-key.sh | 31 + .../skycoin/ci-scripts/build-wallet.sh | 8 + .../skycoin/skycoin/ci-scripts/certs/dist.p12 | Bin 0 -> 3139 bytes .../integration-test-disable-gui.sh | 105 + .../integration-test-disable-wallet-api.sh | 105 + .../integration-test-enable-seed-api.sh | 117 + .../ci-scripts/integration-test-live.sh | 81 + .../ci-scripts/integration-test-stable.sh | 132 + .../skycoin/skycoin/ci-scripts/ui-e2e.sh | 122 + .../skycoin/skycoin/include/base64.h | 45 + .../skycoin/include/cipher.address.go.h | 14 + .../skycoin/include/cipher.crypto.go.h | 20 + .../skycoin/skycoin/include/cipher.hash.go.h | 9 + .../include/cipher.testsuite.testsuite.go.h | 99 + .../skycoin/include/cli.create_rawtx.go.h | 7 + .../skycoin/skycoin/include/coin.outputs.go.h | 18 + .../skycoin/include/coin.transactions.go.h | 25 + .../github.com/skycoin/skycoin/include/json.h | 283 + .../skycoin/skycoin/include/skycriterion.h | 36 + .../skycoin/skycoin/include/skyerrors.h | 9 + .../skycoin/skycoin/include/skystring.h | 15 + .../skycoin/skycoin/include/skytest.h | 48 + .../skycoin/skycoin/include/skytypes.h | 155 + .../skycoin/skycoin/include/wallet.entry.go.h | 8 + .../skycoin/include/wallet.wallet.go.h | 19 + .../skycoin/skycoin/lib/cgo/README.md | 101 + .../skycoin/lib/cgo/api.webrpc.client.go | 47 + .../skycoin/skycoin/lib/cgo/cipher.address.go | 145 + .../skycoin/skycoin/lib/cgo/cipher.crypto.go | 278 + .../skycoin/skycoin/lib/cgo/cipher.hash.go | 107 + .../skycoin/lib/cgo/cli.create_rawtx.go | 108 + .../skycoin/skycoin/lib/cgo/coin.outputs.go | 157 + .../skycoin/skycoin/lib/cgo/libsky_error.go | 34 + .../skycoin/skycoin/lib/cgo/libsky_handle.go | 115 + .../skycoin/skycoin/lib/cgo/libsky_mem.go | 123 + .../skycoin/skycoin/lib/cgo/main.go | 6 + .../lib/cgo/tests/check_cipher.address.c | 337 + .../lib/cgo/tests/check_cipher.crypto.c | 734 + .../skycoin/lib/cgo/tests/check_cipher.hash.c | 345 + .../lib/cgo/tests/check_cipher.testsuite.c | 83 + .../skycoin/lib/cgo/tests/cipher.testsuite.c | 493 + .../skycoin/lib/cgo/tests/libsky_criterion.c | 104 + .../skycoin/lib/cgo/tests/libsky_string.c | 30 + .../skycoin/lib/cgo/tests/libsky_testutil.c | 121 + .../skycoin/lib/cgo/tests/testutils/base64.c | 187 + .../skycoin/lib/cgo/tests/testutils/json.c | 1012 ++ .../lib/cgo/tests/testutils/json_util.c | 137 + .../skycoin/skycoin/lib/cgo/wallet.wallet.go | 382 + .../skycoin/skycoin/lib/cgo/wallet_option.go | 27 + .../skycoin/skycoin/src/api/address.go | 63 + .../skycoin/skycoin/src/api/address_test.go | 153 + .../skycoin/skycoin/src/api/blockchain.go | 160 + .../skycoin/src/api/blockchain_test.go | 491 + .../skycoin/skycoin/src/api/client.go | 956 ++ .../skycoin/skycoin/src/api/csrf.go | 177 + .../skycoin/skycoin/src/api/csrf_test.go | 379 + .../skycoin/skycoin/src/api/explorer.go | 252 + .../skycoin/skycoin/src/api/explorer_test.go | 625 + .../skycoin/skycoin/src/api/gateway.go | 59 + .../skycoin/src/api/gatewayer_mock_test.go | 1090 ++ .../skycoin/skycoin/src/api/health.go | 56 + .../skycoin/skycoin/src/api/health_test.go | 120 + .../skycoin/skycoin/src/api/http.go | 573 + .../skycoin/skycoin/src/api/http_test.go | 446 + .../skycoin/src/api/integration/empty.go | 1 + .../src/api/integration/integration_test.go | 4019 ++++++ ...2RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D.golden | 1 + ...2b8ourW8fbTkC1yQBSLseVt6srhXvNMHvn9.golden | 1 + ...-ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od.golden | 631 + ...-R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ.golden | 6892 ++++++++++ ...2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf.golden | 10 + .../testdata/balance-noaddrs.golden | 0 .../testdata/balance-two-addrs.golden | 10 + .../testdata/block-hash-genesis.golden | 32 + .../integration/testdata/block-hash.golden | 42 + .../integration/testdata/block-last.golden | 46 + .../integration/testdata/block-seq-0.golden | 32 + .../integration/testdata/block-seq-100.golden | 36 + .../integration/testdata/blockchain-180.db | Bin 0 -> 1048576 bytes .../testdata/blockchain-metadata.golden | 13 + .../testdata/blockchain-progress.golden | 5 + .../integration/testdata/blocks-all.golden | 8146 +++++++++++ .../blocks-end-less-than-start.golden | 3 + .../testdata/blocks-first-1.golden | 634 + .../testdata/blocks-first-10.golden | 1008 ++ .../testdata/blocks-last-10.golden | 480 + .../integration/testdata/coinsupply.golden | 111 + .../empty-addrs-unconfirmed-txs.golden | 1 + .../integration/testdata/empty-addrs.golden | 7239 ++++++++++ .../testdata/genesis-raw-tx.golden | 0 .../testdata/genesis-transaction.golden | 17 + .../network-default-connections.golden | 10 + .../network-exchangeable-connections.golden | 1 + .../network-trusted-connections.golden | 10 + .../integration/testdata/outputs-addrs.golden | 36 + .../testdata/outputs-hashes.golden | 46 + .../testdata/outputs-noargs.golden | 2186 +++ .../richlist-150-include-distribution.golden | 754 ++ .../integration/testdata/richlist-8.golden | 44 + .../richlist-all-include-distribution.golden | 779 ++ .../integration/testdata/richlist-all.golden | 279 + .../testdata/richlist-default.golden | 104 + .../integration/testdata/single-addr.golden | 220 + .../integration/testdata/transaction.golden | 29 + .../integration/testdata/uxout-addr.golden | 13 + .../integration/testdata/uxout-noaddr.golden | 1 + .../integration/testdata/uxout-spent.golden | 11 + .../src/api/integration/testdata/uxout.golden | 11 + .../testdata/verify-address.golden | 3 + .../verify-transaction-invalid-bad-sig.golden | 39 + .../verify-transaction-invalid-empty.golden | 13 + .../testdata/wallet-balance.golden | 22 + .../testdata/wallet-transactions.golden | 3 + .../skycoin/skycoin/src/api/network.go | 136 + .../skycoin/skycoin/src/api/network_test.go | 453 + .../skycoin/skycoin/src/api/notes.go | 65 + .../skycoin/skycoin/src/api/spend.go | 530 + .../skycoin/skycoin/src/api/spend_test.go | 904 ++ .../skycoin/skycoin/src/api/transaction.go | 471 + .../skycoin/src/api/transaction_test.go | 1045 ++ .../skycoin/skycoin/src/api/uxout.go | 77 + .../skycoin/skycoin/src/api/uxout_test.go | 282 + .../skycoin/skycoin/src/api/wallet.go | 919 ++ .../skycoin/skycoin/src/api/wallet_test.go | 2558 ++++ .../skycoin/skycoin/src/api/webrpc/README.md | 123 + .../skycoin/skycoin/src/api/webrpc/block.go | 56 + .../skycoin/src/api/webrpc/block_test.go | 335 + .../skycoin/skycoin/src/api/webrpc/client.go | 297 + .../skycoin/src/api/webrpc/client_test.go | 438 + .../skycoin/skycoin/src/api/webrpc/gateway.go | 23 + .../src/api/webrpc/gatewayer_mock_test.go | 225 + .../skycoin/skycoin/src/api/webrpc/outputs.go | 45 + .../skycoin/src/api/webrpc/outputs_test.go | 103 + .../skycoin/skycoin/src/api/webrpc/status.go | 36 + .../skycoin/src/api/webrpc/status_test.go | 116 + .../skycoin/src/api/webrpc/transaction.go | 83 + .../src/api/webrpc/transaction_test.go | 225 + .../skycoin/skycoin/src/api/webrpc/uxout.go | 54 + .../skycoin/src/api/webrpc/uxout_test.go | 171 + .../skycoin/skycoin/src/api/webrpc/webrpc.go | 217 + .../skycoin/src/api/webrpc/webrpc_test.go | 110 + .../skycoin/skycoin/src/api/webrpc_test.go | 90 + .../skycoin/skycoin/src/cipher/address.go | 294 + .../skycoin/src/cipher/address_test.go | 281 + .../skycoin/skycoin/src/cipher/base58/LICENSE | 26 + .../skycoin/src/cipher/base58/base58.go | 226 + .../chacha20poly1305/chacha20poly1305.go | 83 + .../chacha20poly1305_amd64.go | 127 + .../chacha20poly1305/chacha20poly1305_amd64.s | 2714 ++++ .../chacha20poly1305_generic.go | 70 + .../chacha20poly1305_noasm.go | 15 + .../chacha20poly1305/chacha20poly1305_test.go | 182 + .../chacha20poly1305_vectors_test.go | 332 + .../internal/chacha20/chacha_generic.go | 199 + .../internal/chacha20/chacha_test.go | 33 + .../skycoin/skycoin/src/cipher/crypto.go | 484 + .../skycoin/skycoin/src/cipher/crypto_test.go | 344 + .../skycoin/src/cipher/encoder/README.md | 8 + .../skycoin/src/cipher/encoder/encoder.go | 1147 ++ .../src/cipher/encoder/encoder_test.go | 894 ++ .../skycoin/src/cipher/encoder/field.go | 115 + .../cipher/encrypt/scrypt_chacha20poly1305.go | 160 + .../encrypt/scrypt_chacha20poly1305_test.go | 87 + .../skycoin/src/cipher/encrypt/sha256xor.go | 246 + .../src/cipher/encrypt/sha256xor_test.go | 248 + .../skycoin/src/cipher/go-bip39/LICENSE | 2 +- .../skycoin/src/cipher/go-bip39/bip39.go | 268 + .../skycoin/src/cipher/go-bip39/wordlist.go | 2068 +++ .../skycoin/skycoin/src/cipher/hash.go | 181 + .../skycoin/skycoin/src/cipher/hash_test.go | 271 + .../skycoin/src/cipher/pbkdf2/pbkdf2.go | 77 + .../skycoin/src/cipher/pbkdf2/pbkdf2_test.go | 157 + .../skycoin/src/cipher/poly1305/poly1305.go | 32 + .../src/cipher/poly1305/poly1305_test.go | 159 + .../skycoin/src/cipher/poly1305/sum_amd64.go | 22 + .../skycoin/src/cipher/poly1305/sum_amd64.s | 125 + .../skycoin/src/cipher/poly1305/sum_arm.go | 22 + .../skycoin/src/cipher/poly1305/sum_arm.s | 427 + .../skycoin/src/cipher/poly1305/sum_ref.go | 141 + .../src/cipher/ripemd160/ripemd160block.go | 161 + .../skycoin/src/cipher/ripemd160/ripmd_160.go | 121 + .../skycoin/src/cipher/scrypt/scrypt.go | 243 + .../skycoin/src/cipher/scrypt/scrypt_test.go | 160 + .../skycoin/src/cipher/secp256k1-go/README.md | 32 + .../src/cipher/secp256k1-go/secp256_rand.go | 154 + .../src/cipher/secp256k1-go/secp256_test.go | 661 + .../cipher/secp256k1-go/secp256k1-go2/COPYING | 4 + .../secp256k1-go/secp256k1-go2/README.md | 5 + .../cipher/secp256k1-go/secp256k1-go2/ec.go | 329 + .../secp256k1-go/secp256k1-go2/ec_test.go | 225 + .../secp256k1-go/secp256k1-go2/field.go | 742 + .../secp256k1-go/secp256k1-go2/field_test.go | 36 + .../cipher/secp256k1-go/secp256k1-go2/num.go | 114 + .../secp256k1-go/secp256k1-go2/secp256k1.go | 57 + .../cipher/secp256k1-go/secp256k1-go2/sig.go | 230 + .../secp256k1-go/secp256k1-go2/sig_test.go | 150 + .../cipher/secp256k1-go/secp256k1-go2/xy.go | 265 + .../cipher/secp256k1-go/secp256k1-go2/xyz.go | 387 + .../secp256k1-go/secp256k1-go2/xyz_test.go | 49 + .../secp256k1-go/secp256k1-go2/z_consts.go | 9356 +++++++++++++ .../secp256k1-go/secp256k1-go2/z_init.go | 113 + .../src/cipher/secp256k1-go/secp256k1.go | 511 + .../testsuite/testdata/input-hashes.golden | 14 + .../testsuite/testdata/many-addresses.golden | 5005 +++++++ .../testsuite/testdata/seed-0000.golden | 175 + .../testsuite/testdata/seed-0001.golden | 175 + .../testsuite/testdata/seed-0002.golden | 175 + .../testsuite/testdata/seed-0003.golden | 175 + .../testsuite/testdata/seed-0004.golden | 175 + .../testsuite/testdata/seed-0005.golden | 175 + .../testsuite/testdata/seed-0006.golden | 175 + .../testsuite/testdata/seed-0007.golden | 175 + .../testsuite/testdata/seed-0008.golden | 175 + .../testsuite/testdata/seed-0009.golden | 175 + .../testsuite/testdata/seed-0010.golden | 175 + .../skycoin/src/cipher/testsuite/testsuite.go | 264 + .../src/cipher/testsuite/testsuite_test.go | 76 + .../skycoin/src/cli/add_private_key.go | 147 + .../skycoin/skycoin/src/cli/address_gen.go | 85 + .../skycoin/skycoin/src/cli/blocks.go | 53 + .../skycoin/src/cli/broadcast_rawtx.go | 34 + .../skycoin/skycoin/src/cli/check_balance.go | 277 + .../skycoin/src/cli/check_balance_test.go | 266 + .../skycoin/skycoin/src/cli/checkdb.go | 85 + .../github.com/skycoin/skycoin/src/cli/cli.go | 409 + .../skycoin/skycoin/src/cli/cli_test.go | 255 + .../skycoin/skycoin/src/cli/create_rawtx.go | 686 + .../skycoin/src/cli/create_rawtx_test.go | 531 + .../skycoin/skycoin/src/cli/decryptWallet.go | 96 + .../skycoin/skycoin/src/cli/encrypt_wallet.go | 107 + .../skycoin/skycoin/src/cli/generate_addrs.go | 192 + .../skycoin/src/cli/generate_wallet.go | 252 + .../skycoin/src/cli/integration/empty.go | 1 + .../src/cli/integration/integration_test.go | 2692 ++++ .../testdata/address-balance.golden | 31 + .../testdata/address-outputs.golden | 38 + .../cli/integration/testdata/block0.golden | 36 + .../cli/integration/testdata/blocks0-5.golden | 830 ++ .../cli/integration/testdata/blocks180.golden | 46 + .../testdata/decode-raw-transaction.golden | 40 + .../testdata/generate-addresses-2.golden | 29 + .../generate-addresses-encrypted.golden | 27 + .../testdata/generate-addresses.golden | 24 + .../testdata/genesis-transaction-cli.golden | 29 + .../testdata/genesis-transaction.golden | 29 + .../testdata/integration-test-encrypted.wlt | 22 + .../integration/testdata/integration-test.wlt | 19 + .../integration/testdata/last-blocks0.golden | 3 + .../integration/testdata/last-blocks1.golden | 46 + .../integration/testdata/last-blocks2.golden | 88 + .../testdata/list-addresses.golden | 5 + .../integration/testdata/list-wallets.golden | 9 + .../testdata/show-config-use-csrf.golden | 8 + .../integration/testdata/show-config.golden | 8 + .../testdata/status-use-csrf.golden | 8 + .../cli/integration/testdata/status.golden | 8 + .../testdata/two-addresses-outputs.golden | 48 + .../testdata/wallet-balance.golden | 31 + .../testdata/wallet-history.golden | 1 + .../testdata/wallet-outputs.golden | 7 + .../skycoin/skycoin/src/cli/last_blocks.go | 43 + .../skycoin/skycoin/src/cli/list_addrs.go | 47 + .../skycoin/skycoin/src/cli/list_wallets.go | 65 + .../skycoin/skycoin/src/cli/outputs.go | 107 + .../skycoin/skycoin/src/cli/send.go | 82 + .../skycoin/skycoin/src/cli/show_seed.go | 111 + .../skycoin/skycoin/src/cli/status.go | 53 + .../skycoin/skycoin/src/cli/transaction.go | 82 + .../skycoin/skycoin/src/cli/verify_address.go | 22 + .../skycoin/skycoin/src/cli/version.go | 51 + .../skycoin/skycoin/src/cli/wallet_dir.go | 38 + .../skycoin/skycoin/src/cli/wallet_history.go | 258 + .../skycoin/skycoin/src/coin/block.go | 250 + .../skycoin/skycoin/src/coin/block_test.go | 191 + .../skycoin/skycoin/src/coin/coin_test.go | 237 + .../skycoin/skycoin/src/coin/math.go | 58 + .../skycoin/skycoin/src/coin/math_test.go | 116 + .../skycoin/skycoin/src/coin/outputs.go | 312 + .../skycoin/skycoin/src/coin/outputs_test.go | 577 + .../skycoin/skycoin/src/coin/transactions.go | 519 + .../skycoin/src/coin/transactions_test.go | 900 ++ .../skycoin/src/consensus/blockstat.go | 627 + .../src/consensus/connection_manager.go | 25 + .../skycoin/src/consensus/consensus.go | 257 + .../skycoin/src/consensus/consensus_test.go | 208 + .../skycoin/src/consensus/example/README.md | 1 + .../skycoin/src/consensus/example/example.go | 767 ++ .../src/consensus/example/example_gnet.go | 1043 ++ .../src/consensus/example/example_minimal.go | 165 + .../skycoin/src/consensus/participant.go | 180 + .../public_broadcast_channel.go | 2 + .../skycoin/src/daemon/announced_txns.go | 44 + .../skycoin/skycoin/src/daemon/daemon.go | 1415 ++ .../skycoin/skycoin/src/daemon/daemon_test.go | 105 + .../skycoin/src/daemon/daemoner_mock_test.go | 568 + .../skycoin/skycoin/src/daemon/gateway.go | 1188 ++ .../skycoin/src/daemon/gateway_test.go | 449 + .../skycoin/skycoin/src/daemon/gnet/README.md | 7 + .../skycoin/src/daemon/gnet/dispatcher.go | 126 + .../src/daemon/gnet/dispatcher_test.go | 216 + .../skycoin/src/daemon/gnet/message.go | 166 + .../skycoin/src/daemon/gnet/message_test.go | 183 + .../skycoin/skycoin/src/daemon/gnet/pool.go | 945 ++ .../skycoin/src/daemon/gnet/pool_test.go | 1295 ++ .../skycoin/skycoin/src/daemon/heights.go | 84 + .../skycoin/src/daemon/heights_test.go | 82 + .../skycoin/skycoin/src/daemon/messages.go | 756 ++ .../skycoin/src/daemon/messages_test.go | 832 ++ .../skycoin/skycoin/src/daemon/pex/README.md | 8 + .../skycoin/src/daemon/pex/peerlist.go | 359 + .../skycoin/src/daemon/pex/peerlist_test.go | 547 + .../skycoin/skycoin/src/daemon/pex/pex.go | 596 + .../skycoin/src/daemon/pex/pex_test.go | 1358 ++ .../skycoin/skycoin/src/daemon/pool.go | 104 + .../skycoin/skycoin/src/daemon/storage.go | 324 + .../skycoin/src/daemon/storage_test.go | 384 + .../skycoin/src/daemon/strand/strand.go | 123 + .../skycoin/src/gui/static/.angular-cli.json | 65 + .../skycoin/src/gui/static/.editorconfig | 13 + .../skycoin/skycoin/src/gui/static/.gitignore | 41 + .../skycoin/skycoin/src/gui/static/README.md | 53 + .../dist/0.e4deea36eb603a33569a.chunk.js | 1 + .../src/gui/static/dist/3rdpartylicenses.txt | 273 + ...ialIcons-Regular.012cf6a10129e2275d79.woff | Bin 0 -> 57620 bytes ...alIcons-Regular.570eb83859dc23dd0eec.woff2 | Bin 0 -> 44300 bytes ...rialIcons-Regular.a37b0c01c0baf1888ca8.ttf | Bin 0 -> 128180 bytes ...rialIcons-Regular.e79bfd88537def476913.eot | Bin 0 -> 143258 bytes .../Skycoin-Bold.42363955889f2f20c527.woff | Bin 0 -> 29700 bytes .../Skycoin-Bold.6ccafc6fabc0cc8a971a.woff2 | Bin 0 -> 19940 bytes ...ycoin-BoldItalic.923dce74069362d168fe.woff | Bin 0 -> 30876 bytes ...coin-BoldItalic.c414dad20c4e3020221c.woff2 | Bin 0 -> 20320 bytes .../Skycoin-Light.4be01e4a68be8bf590da.woff | Bin 0 -> 29048 bytes .../Skycoin-Light.770b27ec05c2f97a1a27.woff2 | Bin 0 -> 19744 bytes ...coin-LightItalic.39e68da05bf8b4a77aa2.woff | Bin 0 -> 31636 bytes ...oin-LightItalic.d10a437db5d8e2a52b4a.woff2 | Bin 0 -> 20436 bytes ...Skycoin-Regular.21b4caaaedc00594e7bd.woff2 | Bin 0 -> 19176 bytes .../Skycoin-Regular.98d953e74f174cf013b4.woff | Bin 0 -> 28472 bytes ...in-RegularItalic.9947360f79b09132fd21.woff | Bin 0 -> 31120 bytes ...n-RegularItalic.9eabbc2e01a7e17bb57d.woff2 | Bin 0 -> 20380 bytes .../material-icons/MaterialIcons-Regular.eot | Bin 0 -> 143258 bytes .../MaterialIcons-Regular.ijmap | 1 + .../material-icons/MaterialIcons-Regular.svg | 2373 ++++ .../material-icons/MaterialIcons-Regular.ttf | Bin 0 -> 128180 bytes .../material-icons/MaterialIcons-Regular.woff | Bin 0 -> 57620 bytes .../MaterialIcons-Regular.woff2 | Bin 0 -> 44300 bytes .../fonts/material-icons/material-icons.css | 36 + .../assets/fonts/skycoin/Skycoin-Bold.woff | Bin 0 -> 29700 bytes .../assets/fonts/skycoin/Skycoin-Bold.woff2 | Bin 0 -> 19940 bytes .../fonts/skycoin/Skycoin-BoldItalic.woff | Bin 0 -> 30876 bytes .../fonts/skycoin/Skycoin-BoldItalic.woff2 | Bin 0 -> 20320 bytes .../assets/fonts/skycoin/Skycoin-Light.woff | Bin 0 -> 29048 bytes .../assets/fonts/skycoin/Skycoin-Light.woff2 | Bin 0 -> 19744 bytes .../fonts/skycoin/Skycoin-LightItalic.woff | Bin 0 -> 31636 bytes .../fonts/skycoin/Skycoin-LightItalic.woff2 | Bin 0 -> 20436 bytes .../assets/fonts/skycoin/Skycoin-Regular.woff | Bin 0 -> 28472 bytes .../fonts/skycoin/Skycoin-Regular.woff2 | Bin 0 -> 19176 bytes .../fonts/skycoin/Skycoin-RegularItalic.woff | Bin 0 -> 31120 bytes .../fonts/skycoin/Skycoin-RegularItalic.woff2 | Bin 0 -> 20380 bytes .../src/gui/static/dist/assets/header.png | Bin .../src/gui/static/dist/assets/i18n/en.json | 244 + .../dist/assets/img/chevron-right-grey.png | Bin 0 -> 516 bytes .../gui/static/dist/assets/img/close-grey.png | Bin 0 -> 584 bytes .../gui/static/dist/assets/img/edit-blue.png | Bin 0 -> 893 bytes .../gui/static/dist/assets/img/edit-grey.png | Bin 0 -> 909 bytes .../src/gui/static/dist/assets/img/header.png | Bin 0 -> 920348 bytes .../gui/static/dist/assets/img/load-gold.png | Bin 0 -> 2014 bytes .../gui/static/dist/assets/img/lock-gold.png | Bin 0 -> 751 bytes .../gui/static/dist/assets/img/lock-grey.png | Bin 0 -> 774 bytes .../gui/static/dist/assets/img/logo-white.png | Bin 0 -> 19670 bytes .../gui/static/dist/assets/img/minus-grey.png | Bin 0 -> 947 bytes .../gui/static/dist/assets/img/minus-red.png | Bin 0 -> 1595 bytes .../gui/static/dist/assets/img/money-gold.png | Bin 0 -> 809 bytes .../static/dist/assets/img/otc-background.jpg | Bin 0 -> 387638 bytes .../gui/static/dist/assets/img/plus-gold.png | Bin 0 -> 1908 bytes .../gui/static/dist/assets/img/plus-green.png | Bin 0 -> 937 bytes .../gui/static/dist/assets/img/plus-grey.png | Bin 0 -> 980 bytes .../static/dist/assets/img/qr-code-black.png | Bin 0 -> 298 bytes .../gui/static/dist/assets/img/send-black.png | Bin 0 -> 1066 bytes .../gui/static/dist/assets/img/send-blue.png | Bin 0 -> 783 bytes .../gui/static/dist/assets/img/send-gold.png | Bin 0 -> 908 bytes .../gui/static/dist/assets/img/send-white.png | Bin 0 -> 827 bytes .../dist/assets/img/transactions-black.png | Bin 0 -> 1525 bytes .../static/dist/assets/img/unlock-gold.png | Bin 0 -> 772 bytes .../static/dist/assets/img/unlock-grey.png | Bin 0 -> 1001 bytes .../static/dist/assets/img/wallet-black.png | Bin 0 -> 1493 bytes .../src/gui/static/dist/assets/logo-white.png | Bin 0 -> 119032 bytes .../static/dist/assets/scripts/qrcode.min.js | 1 + .../skycoin/src/gui/static/dist/favicon.ico | Bin 0 -> 15086 bytes ...ntawesome-webfont.674f50d287a8c48dc19b.eot | Bin 0 -> 165742 bytes ...ntawesome-webfont.912ec66d7572ff821749.svg | 2671 ++++ ...awesome-webfont.af7ae505a9eed503f8b8.woff2 | Bin 0 -> 77160 bytes ...ntawesome-webfont.b06871f281fee6b241d6.ttf | Bin 0 -> 165548 bytes ...tawesome-webfont.fee66e712a8a08eef580.woff | Bin 0 -> 98024 bytes .../dist/header.03fb33b04c982a1a804d.png | Bin 0 -> 920348 bytes .../dist/header.e11f7c6852766b9319d6.png | Bin 0 -> 284713 bytes .../skycoin/src/gui/static/dist/index.html | 1 + .../inline.8a33a93a4aa42df0b418.bundle.js | 1 + .../dist/main.c220990f848ddd42bbd1.bundle.js | 1 + .../polyfills.f43c2ec828cc11243da0.bundle.js | 1 + .../scripts.8c1255aec48c8ec38c00.bundle.js | 1 + .../styles.f58b58865ca78ccb80f3.bundle.css | 9 + .../src/gui/static/e2e-proxy.config.js | 14 + .../src/gui/static/e2e/onboarding.e2e-spec.ts | 44 + .../src/gui/static/e2e/onboarding.po.ts | 93 + .../src/gui/static/e2e/send.e2e-spec.ts | 38 + .../skycoin/src/gui/static/e2e/send.po.ts | 68 + .../gui/static/e2e/transactions.e2e-spec.ts | 22 + .../src/gui/static/e2e/transactions.po.ts | 37 + .../src/gui/static/e2e/tsconfig.e2e.json | 14 + .../src/gui/static/e2e/wallets.e2e-spec.ts | 90 + .../skycoin/src/gui/static/e2e/wallets.po.ts | 186 + .../skycoin/src/gui/static/karma.conf.js | 33 + .../skycoin/src/gui/static/package-lock.json | 11225 ++++++++++++++++ .../skycoin/src/gui/static/package.json | 58 + .../skycoin/src/gui/static/protractor.conf.js | 31 + .../skycoin/src/gui/static/proxy.config.js | 22 + .../src/gui/static/src/app/app.component.html | 1 + .../src/gui/static/src/app/app.component.scss | 52 + .../gui/static/src/app/app.component.spec.ts | 32 + .../src/gui/static/src/app/app.component.ts | 23 + .../src/gui/static/src/app/app.config.ts | 3 + .../src/gui/static/src/app/app.datatypes.ts | 95 + .../src/gui/static/src/app/app.module.ts | 230 + .../src/gui/static/src/app/app.theme.scss | 41 + .../static/src/app/app.translate-loader.ts | 9 + .../layout/button/button.component.html | 21 + .../layout/button/button.component.scss | 34 + .../layout/button/button.component.spec.ts | 12 +- .../layout/button/button.component.ts | 63 + .../double-button.component.html | 14 + .../double-button.component.scss | 51 + .../double-button.component.spec.ts | 25 + .../double-button/double-button.component.ts | 32 + .../layout/header/header.component.html | 57 + .../layout/header/header.component.scss | 73 + .../layout/header/header.component.spec.ts | 25 + .../layout/header/header.component.ts | 116 + .../header/nav-bar/nav-bar.component.html | 30 + .../header/nav-bar/nav-bar.component.scss | 41 + .../header/nav-bar/nav-bar.component.spec.ts | 25 + .../header/nav-bar/nav-bar.component.ts | 20 + .../header/top-bar/top-bar.component.html | 25 + .../header/top-bar/top-bar.component.scss | 42 + .../header/top-bar/top-bar.component.spec.ts | 25 + .../header/top-bar/top-bar.component.ts | 15 + .../loading-content.component.html | 10 + .../loading-content.component.scss | 25 + .../loading-content.component.spec.ts | 25 + .../loading-content.component.ts | 11 + .../layout/modal/modal.component.html | 7 + .../layout/modal/modal.component.scss | 21 + .../layout/modal/modal.component.spec.ts | 12 +- .../layout/modal/modal.component.ts | 25 + .../password-dialog.component.html | 18 + .../password-dialog.component.scss | 12 + .../password-dialog.component.spec.ts | 25 + .../password-dialog.component.ts | 131 + .../layout/qr-code/qr-code.component.css | 9 + .../layout/qr-code/qr-code.component.html | 4 + .../layout/qr-code/qr-code.component.spec.ts | 25 + .../layout/qr-code/qr-code.component.ts | 37 + .../add-deposit-address.component.css | 4 + .../add-deposit-address.component.html | 11 + .../add-deposit-address.component.spec.ts | 25 + .../add-deposit-address.component.ts | 36 + .../components/pages/buy/buy.component.html | 59 + .../components/pages/buy/buy.component.scss | 129 + .../pages/buy/buy.component.spec.ts | 25 + .../app/components/pages/buy/buy.component.ts | 112 + .../onboarding-create-wallet.component.html | 57 + .../onboarding-create-wallet.component.scss | 67 + ...onboarding-create-wallet.component.spec.ts | 25 + .../onboarding-create-wallet.component.ts | 96 + .../onboarding-safeguard.component.html | 15 + .../onboarding-safeguard.component.scss | 65 + .../onboarding-safeguard.component.spec.ts | 25 + .../onboarding-safeguard.component.ts | 23 + .../onboarding-encrypt-wallet.component.html | 43 + .../onboarding-encrypt-wallet.component.scss | 87 + ...nboarding-encrypt-wallet.component.spec.ts | 25 + .../onboarding-encrypt-wallet.component.ts | 65 + .../onboarding/onboarding.component.html | 11 + .../onboarding/onboarding.component.scss | 0 .../onboarding/onboarding.component.spec.ts | 25 + .../pages/onboarding/onboarding.component.ts | 49 + .../send-form-advanced.component.html | 114 + .../send-form-advanced.component.scss | 156 + .../send-form-advanced.component.spec.ts | 25 + .../send-form-advanced.component.ts | 335 + .../send-form/send-form.component.html | 28 + .../send-form/send-form.component.scss | 3 + .../send-form/send-form.component.spec.ts | 25 + .../send-form/send-form.component.ts | 188 + .../send-preview/send-preview.component.html | 9 + .../send-preview/send-preview.component.scss | 4 + .../send-preview.component.spec.ts | 25 + .../send-preview/send-preview.component.ts | 58 + .../transaction-info.component.html | 82 + .../transaction-info.component.scss | 108 + .../transaction-info.component.spec.ts | 25 + .../transaction-info.component.ts | 41 + .../send-skycoin/send-skycoin.component.html | 20 + .../send-skycoin/send-skycoin.component.scss | 11 + .../send-skycoin.component.spec.ts | 25 + .../send-skycoin/send-skycoin.component.ts | 54 + .../settings/backup/backup.component.html | 36 + .../settings/backup/backup.component.scss | 39 + .../settings/backup/backup.component.spec.ts | 25 + .../pages/settings/backup/backup.component.ts | 53 + .../seed-modal/seed-modal.component.css | 3 + .../seed-modal/seed-modal.component.html | 11 + .../seed-modal/seed-modal.component.spec.ts | 25 + .../backup/seed-modal/seed-modal.component.ts | 18 + .../blockchain/blockchain.component.html | 52 + .../blockchain/blockchain.component.scss | 28 + .../blockchain/blockchain.component.spec.ts | 25 + .../blockchain/blockchain.component.ts | 21 + .../settings/network/network.component.html | 40 + .../settings/network/network.component.scss | 50 + .../network/network.component.spec.ts | 25 + .../settings/network/network.component.ts | 34 + .../settings/outputs/outputs.component.html | 34 + .../settings/outputs/outputs.component.scss | 34 + .../outputs/outputs.component.spec.ts | 25 + .../settings/outputs/outputs.component.ts | 57 + .../pending-transactions.component.html | 26 + .../pending-transactions.component.scss | 5 + .../pending-transactions.component.spec.ts | 25 + .../pending-transactions.component.ts | 70 + .../transaction-detail.component.html | 11 + .../transaction-detail.component.scss | 21 + .../transaction-detail.component.spec.ts | 25 + .../transaction-detail.component.ts | 19 + .../transaction-list.component.html | 46 + .../transaction-list.component.scss | 125 + .../transaction-list.component.spec.ts | 25 + .../transaction-list.component.ts | 50 + .../change-name/change-name.component.css | 7 + .../change-name/change-name.component.html | 16 + .../change-name/change-name.component.spec.ts | 25 + .../change-name/change-name.component.ts | 44 + .../create-wallet.component.html | 58 + .../create-wallet.component.scss | 100 + .../create-wallet.component.spec.ts | 25 + .../create-wallet/create-wallet.component.ts | 104 + .../wallet-detail.component.html | 47 + .../wallet-detail.component.scss | 171 + .../wallet-detail.component.spec.ts | 25 + .../wallet-detail/wallet-detail.component.ts | 119 + .../pages/wallets/wallets.component.html | 47 + .../pages/wallets/wallets.component.scss | 65 + .../pages/wallets/wallets.component.spec.ts | 25 + .../pages/wallets/wallets.component.ts | 28 + .../dontsavepassword.directive.spec.ts | 8 + .../directives/dontsavepassword.directive.ts | 17 + .../src/app/pipes/date-from-now.pipe.spec.ts | 8 + .../src/app/pipes/date-from-now.pipe.ts | 11 + .../src/app/pipes/date-time.pipe.spec.ts | 8 + .../static/src/app/pipes/date-time.pipe.ts | 11 + .../src/app/pipes/teller-status.pipe.spec.ts | 8 + .../src/app/pipes/teller-status.pipe.ts | 14 + .../src/app/services/api.service.spec.ts | 15 + .../static/src/app/services/api.service.ts | 159 + .../src/app/services/app.service.spec.ts | 15 + .../static/src/app/services/app.service.ts | 53 + .../app/services/blockchain.service.spec.ts | 15 + .../src/app/services/blockchain.service.ts | 88 + .../src/app/services/nav-bar.service.spec.ts | 15 + .../src/app/services/nav-bar.service.ts | 24 + .../src/app/services/network.service.spec.ts | 15 + .../src/app/services/network.service.ts | 45 + .../src/app/services/price.service.spec.ts | 15 + .../static/src/app/services/price.service.ts | 27 + .../src/app/services/purchase.service.spec.ts | 15 + .../src/app/services/purchase.service.ts | 71 + .../src/app/services/wallet.service.spec.ts | 15 + .../static/src/app/services/wallet.service.ts | 291 + .../app/services/wizard-guard.service.spec.ts | 15 + .../src/app/services/wizard-guard.service.ts | 25 + .../gui/static/src/app/utils/errors.spec.ts | 16 + .../src/gui/static/src/app/utils/errors.ts | 24 + .../gui/static/src/app/utils/semver.spec.ts | 17 + .../src/gui/static/src/app/utils/semver.ts | 28 + .../src/gui/static/src/assets/.gitkeep | 0 .../material-icons/MaterialIcons-Regular.eot | Bin 0 -> 143258 bytes .../MaterialIcons-Regular.ijmap | 1 + .../material-icons/MaterialIcons-Regular.svg | 2373 ++++ .../material-icons/MaterialIcons-Regular.ttf | Bin 0 -> 128180 bytes .../material-icons/MaterialIcons-Regular.woff | Bin 0 -> 57620 bytes .../MaterialIcons-Regular.woff2 | Bin 0 -> 44300 bytes .../fonts/material-icons/material-icons.css | 36 + .../assets/fonts/skycoin/Skycoin-Bold.woff | Bin 0 -> 29700 bytes .../assets/fonts/skycoin/Skycoin-Bold.woff2 | Bin 0 -> 19940 bytes .../fonts/skycoin/Skycoin-BoldItalic.woff | Bin 0 -> 30876 bytes .../fonts/skycoin/Skycoin-BoldItalic.woff2 | Bin 0 -> 20320 bytes .../assets/fonts/skycoin/Skycoin-Light.woff | Bin 0 -> 29048 bytes .../assets/fonts/skycoin/Skycoin-Light.woff2 | Bin 0 -> 19744 bytes .../fonts/skycoin/Skycoin-LightItalic.woff | Bin 0 -> 31636 bytes .../fonts/skycoin/Skycoin-LightItalic.woff2 | Bin 0 -> 20436 bytes .../assets/fonts/skycoin/Skycoin-Regular.woff | Bin 0 -> 28472 bytes .../fonts/skycoin/Skycoin-Regular.woff2 | Bin 0 -> 19176 bytes .../fonts/skycoin/Skycoin-RegularItalic.woff | Bin 0 -> 31120 bytes .../fonts/skycoin/Skycoin-RegularItalic.woff2 | Bin 0 -> 20380 bytes .../src/gui/static/src/assets/header.png | Bin 0 -> 284713 bytes .../src/gui/static/src/assets/i18n/en.json | 244 + .../src/assets/img/chevron-right-grey.png | Bin 0 -> 516 bytes .../gui/static/src/assets/img/close-grey.png | Bin 0 -> 584 bytes .../gui/static/src/assets/img/edit-blue.png | Bin 0 -> 893 bytes .../gui/static/src/assets/img/edit-grey.png | Bin 0 -> 909 bytes .../src/gui/static/src/assets/img/header.png | Bin 0 -> 920348 bytes .../gui/static/src/assets/img/load-gold.png | Bin 0 -> 2014 bytes .../gui/static/src/assets/img/lock-gold.png | Bin 0 -> 751 bytes .../gui/static/src/assets/img/lock-grey.png | Bin 0 -> 774 bytes .../gui/static/src/assets/img/logo-white.png | Bin 0 -> 19670 bytes .../gui/static/src/assets/img/minus-grey.png | Bin 0 -> 947 bytes .../gui/static/src/assets/img/minus-red.png | Bin 0 -> 1595 bytes .../gui/static/src/assets/img/money-gold.png | Bin 0 -> 809 bytes .../static/src/assets/img/otc-background.jpg | Bin 0 -> 387638 bytes .../gui/static/src/assets/img/plus-gold.png | Bin 0 -> 1908 bytes .../gui/static/src/assets/img/plus-green.png | Bin 0 -> 937 bytes .../gui/static/src/assets/img/plus-grey.png | Bin 0 -> 980 bytes .../static/src/assets/img/qr-code-black.png | Bin 0 -> 298 bytes .../gui/static/src/assets/img/send-black.png | Bin 0 -> 1066 bytes .../gui/static/src/assets/img/send-blue.png | Bin 0 -> 783 bytes .../gui/static/src/assets/img/send-gold.png | Bin 0 -> 908 bytes .../gui/static/src/assets/img/send-white.png | Bin 0 -> 827 bytes .../src/assets/img/transactions-black.png | Bin 0 -> 1525 bytes .../gui/static/src/assets/img/unlock-gold.png | Bin 0 -> 772 bytes .../gui/static/src/assets/img/unlock-grey.png | Bin 0 -> 1001 bytes .../static/src/assets/img/wallet-black.png | Bin 0 -> 1493 bytes .../src/gui/static/src/assets/logo-white.png | Bin 0 -> 119032 bytes .../static/src/assets/scripts/qrcode.min.js | 1 + .../src/gui/static/src/current-skycoin.json | 1 + .../src/environments/environment.prod.ts | 5 + .../static/src/environments/environment.ts | 10 + .../skycoin/src/gui/static/src/favicon.ico | Bin 0 -> 15086 bytes .../skycoin/src/gui/static/src/index.html | 13 + .../skycoin/src/gui/static/src/main.ts | 13 + .../skycoin/src/gui/static/src/polyfills.ts | 72 + .../skycoin/src/gui/static/src/styles.scss | 350 + .../skycoin/src/gui/static/src/test.ts | 32 + .../src/gui/static/src/theme/_tables.scss | 69 + .../src/gui/static/src/theme/_variables.scss | 27 + .../src/gui/static/src/tsconfig.app.json | 13 + .../src/gui/static/src/tsconfig.spec.json | 20 + .../skycoin/src/gui/static/src/typings.d.ts | 10 + .../skycoin/src/gui/static/tsconfig.json | 19 + .../skycoin/src/gui/static/tslint.json | 159 + .../skycoin/skycoin/src/skycoin/config.go | 410 + .../skycoin/skycoin/src/skycoin/parameters.go | 127 + .../skycoin/src/skycoin/parameters_test.go | 50 + .../skycoin/skycoin/src/skycoin/skycoin.go | 427 + .../src/skycoin/testdata/test.fiber.toml | 27 + .../skycoin/src/testutil/assert/assertions.go | 73 + .../skycoin/src/testutil/require/require.go | 32 + .../skycoin/skycoin/src/testutil/testutil.go | 75 + .../skycoin/src/util/apputil/apputil.go | 56 + .../skycoin/src/util/browser/browser.go | 10 + .../skycoin/skycoin/src/util/cert/cert.go | 147 + .../skycoin/src/util/cert/cert_test.go | 22 + .../skycoin/src/util/droplet/droplet.go | 90 + .../skycoin/src/util/droplet/droplet_test.go | 222 + .../skycoin/src/util/elapse/elapser.go | 69 + .../skycoin/skycoin/src/util/fee/fee.go | 100 + .../skycoin/skycoin/src/util/fee/fee_test.go | 312 + .../skycoin/skycoin/src/util/file/file.go | 284 + .../skycoin/src/util/file/file_test.go | 216 + .../skycoin/skycoin/src/util/hexdump.go | 142 + .../skycoin/skycoin/src/util/http/error.go | 107 + .../skycoin/skycoin/src/util/http/handler.go | 60 + .../skycoin/skycoin/src/util/http/json.go | 190 + .../skycoin/src/util/http/json_test.go | 319 + .../skycoin/skycoin/src/util/http/log.go | 49 + .../skycoin/skycoin/src/util/iputil/iputil.go | 55 + .../skycoin/src/util/iputil/iputil_test.go | 124 + .../skycoin/src/util/logging/formatter.go | 441 + .../skycoin/skycoin/src/util/logging/hooks.go | 44 + .../skycoin/src/util/logging/logger.go | 71 + .../skycoin/src/util/logging/logging.go | 76 + .../skycoin/skycoin/src/util/utc/utc.go | 16 + .../skycoin/skycoin/src/util/utc/utc_test.go | 22 + .../skycoin/skycoin/src/visor/blockchain.go | 799 ++ .../skycoin/src/visor/blockchain_test.go | 860 ++ .../src/visor/blockchain_verify_test.go | 560 + .../src/visor/blockchainer_mock_test.go | 413 + .../skycoin/src/visor/blockdb/block_tree.go | 243 + .../src/visor/blockdb/block_tree_test.go | 228 + .../skycoin/src/visor/blockdb/blockchain.go | 258 + .../src/visor/blockdb/blockchain_test.go | 602 + .../skycoin/src/visor/blockdb/blocksigs.go | 59 + .../src/visor/blockdb/blocksigs_test.go | 127 + .../skycoin/src/visor/blockdb/chain_meta.go | 29 + .../blockchain-180.no-unspent-addr-index.db | Bin 0 -> 1048576 bytes .../skycoin/src/visor/blockdb/unspent.go | 484 + .../skycoin/src/visor/blockdb/unspent_test.go | 1117 ++ .../skycoin/src/visor/daemon_visor_test.go | 168 + .../skycoin/skycoin/src/visor/db.go | 296 + .../skycoin/src/visor/dbutil/dbutil.go | 355 + .../skycoin/skycoin/src/visor/distribution.go | 74 + .../skycoin/src/visor/distribution_test.go | 89 + .../src/visor/historydb/address_txn.go | 54 + .../src/visor/historydb/address_txn_test.go | 254 + .../src/visor/historydb/address_uxout.go | 54 + .../src/visor/historydb/history_meta.go | 41 + .../src/visor/historydb/history_meta_test.go | 58 + .../skycoin/src/visor/historydb/historydb.go | 377 + .../src/visor/historydb/historydb_test.go | 459 + .../skycoin/src/visor/historydb/output.go | 120 + .../src/visor/historydb/transaction.go | 99 + .../src/visor/historydb/transaction_test.go | 187 + .../skycoin/src/visor/historyer_mock_test.go | 251 + .../skycoin/skycoin/src/visor/parameters.go | 130 + .../skycoin/skycoin/src/visor/readable.go | 642 + .../skycoin/src/visor/readable_test.go | 260 + .../skycoin/skycoin/src/visor/richlist.go | 71 + .../skycoin/src/visor/richlist_test.go | 98 + .../src/visor/testdata/data.db.garbage | 1 + .../visor/testdata/data.db.no-addr-txn-index | Bin 0 -> 524288 bytes .../testdata/data.db.no-addr-uxout-index | Bin 0 -> 524288 bytes .../skycoin/src/visor/testdata/data.db.nosig | Bin 0 -> 8388608 bytes .../skycoin/src/visor/testdata/data.db.notxn | Bin 0 -> 524288 bytes .../src/visor/testdata/data.db.nouxout | Bin 0 -> 524288 bytes .../skycoin/src/visor/testdata/data.db.ok | Bin 0 -> 524288 bytes .../skycoin/skycoin/src/visor/unconfirmed.go | 618 + .../visor/unconfirmed_txn_pooler_mock_test.go | 439 + .../src/visor/unspent_pooler_mock_test.go | 277 + .../skycoin/skycoin/src/visor/verify.go | 305 + .../skycoin/skycoin/src/visor/visor.go | 2105 +++ .../skycoin/skycoin/src/visor/visor_test.go | 3055 +++++ .../skycoin/skycoin/src/wallet/addresses.go | 69 + .../skycoin/skycoin/src/wallet/balance.go | 86 + .../skycoin/skycoin/src/wallet/crypto.go | 51 + .../skycoin/skycoin/src/wallet/crypto_test.go | 29 + .../skycoin/skycoin/src/wallet/entry.go | 31 + .../skycoin/skycoin/src/wallet/notes.go | 202 + .../skycoin/skycoin/src/wallet/readable.go | 200 + .../skycoin/skycoin/src/wallet/secrets.go | 35 + .../skycoin/skycoin/src/wallet/service.go | 506 + .../skycoin/src/wallet/service_test.go | 2588 ++++ .../testdata/invalid_wallets/err_type.wlt | 19 + .../testdata/invalid_wallets/no_coin.wlt | 18 + .../testdata/invalid_wallets/no_seed.wlt | 18 + .../testdata/invalid_wallets/no_type.wlt | 18 + .../scrypt-chacha20poly1305-encrypted.wlt | 22 + .../wallet/testdata/sha256xor-encrypted.wlt | 16 + .../skycoin/src/wallet/testdata/test1.wlt | 19 + .../skycoin/src/wallet/testdata/test2.wlt | 19 + .../skycoin/src/wallet/testdata/test3.1.wlt | 19 + .../skycoin/src/wallet/testdata/test3.wlt | 19 + .../src/wallet/testdata/v2_no_encrypt.wlt | 22 + .../skycoin/skycoin/src/wallet/wallet.go | 1826 +++ .../skycoin/skycoin/src/wallet/wallet_test.go | 2465 ++++ .../skycoin/skycoin/src/wallet/wallets.go | 145 + .../skycoin/skycoin/template/coin.template | 82 + .../skycoin/skycoin/template/visor.template | 33 + .../github.com/NYTimes/gziphandler/.gitignore | 1 + .../NYTimes/gziphandler/.travis.yml | 6 + .../NYTimes/gziphandler/CODE_OF_CONDUCT.md | 75 + .../NYTimes/gziphandler/CONTRIBUTING.md | 30 + .../github.com/NYTimes/gziphandler/LICENSE | 201 + .../github.com/NYTimes/gziphandler/README.md | 52 + .../github.com/NYTimes/gziphandler/gzip.go | 429 + .../NYTimes/gziphandler/gzip_go18.go | 43 + .../vendor/github.com/boltdb/bolt/.gitignore | 4 + .../vendor/github.com/boltdb/bolt/LICENSE | 20 + .../vendor/github.com/boltdb/bolt/Makefile | 18 + .../vendor/github.com/boltdb/bolt/README.md | 916 ++ .../github.com/boltdb/bolt/appveyor.yml | 18 + .../vendor/github.com/boltdb/bolt/bolt_386.go | 10 + .../github.com/boltdb/bolt/bolt_amd64.go | 10 + .../vendor/github.com/boltdb/bolt/bolt_arm.go | 28 + .../github.com/boltdb/bolt/bolt_arm64.go | 12 + .../github.com/boltdb/bolt/bolt_linux.go | 10 + .../github.com/boltdb/bolt/bolt_openbsd.go | 27 + .../vendor/github.com/boltdb/bolt/bolt_ppc.go | 9 + .../github.com/boltdb/bolt/bolt_ppc64.go | 12 + .../github.com/boltdb/bolt/bolt_ppc64le.go | 12 + .../github.com/boltdb/bolt/bolt_s390x.go | 12 + .../github.com/boltdb/bolt/bolt_unix.go | 89 + .../boltdb/bolt/bolt_unix_solaris.go | 90 + .../github.com/boltdb/bolt/bolt_windows.go | 144 + .../github.com/boltdb/bolt/boltsync_unix.go | 8 + .../vendor/github.com/boltdb/bolt/bucket.go | 777 ++ .../vendor/github.com/boltdb/bolt/cursor.go | 400 + .../vendor/github.com/boltdb/bolt/db.go | 1039 ++ .../vendor/github.com/boltdb/bolt/doc.go | 44 + .../vendor/github.com/boltdb/bolt/errors.go | 71 + .../vendor/github.com/boltdb/bolt/freelist.go | 252 + .../vendor/github.com/boltdb/bolt/node.go | 604 + .../vendor/github.com/boltdb/bolt/page.go | 197 + .../vendor/github.com/boltdb/bolt/tx.go | 684 + .../github.com/cenkalti/backoff/.gitignore | 22 + .../github.com/cenkalti/backoff/.travis.yml | 9 + .../github.com/cenkalti/backoff/LICENSE | 20 + .../github.com/cenkalti/backoff/README.md | 30 + .../github.com/cenkalti/backoff/backoff.go | 66 + .../github.com/cenkalti/backoff/context.go | 60 + .../cenkalti/backoff/exponential.go | 156 + .../github.com/cenkalti/backoff/retry.go | 78 + .../github.com/cenkalti/backoff/ticker.go | 81 + .../github.com/cenkalti/backoff/tries.go | 35 + .../vendor/github.com/davecgh/go-spew/LICENSE | 15 + .../github.com/davecgh/go-spew/spew/bypass.go | 152 + .../davecgh/go-spew/spew/bypasssafe.go | 38 + .../github.com/davecgh/go-spew/spew/common.go | 341 + .../github.com/davecgh/go-spew/spew/config.go | 306 + .../github.com/davecgh/go-spew/spew/doc.go | 211 + .../github.com/davecgh/go-spew/spew/dump.go | 509 + .../github.com/davecgh/go-spew/spew/format.go | 419 + .../github.com/davecgh/go-spew/spew/spew.go | 148 + .../fsnotify/fsnotify/.editorconfig | 5 + .../github.com/fsnotify/fsnotify/.gitignore | 6 + .../github.com/fsnotify/fsnotify/.travis.yml | 30 + .../github.com/fsnotify/fsnotify/AUTHORS | 52 + .../github.com/fsnotify/fsnotify/CHANGELOG.md | 317 + .../fsnotify/fsnotify/CONTRIBUTING.md | 77 + .../github.com/fsnotify/fsnotify/LICENSE | 28 + .../github.com/fsnotify/fsnotify/README.md | 79 + .../github.com/fsnotify/fsnotify/fen.go | 37 + .../github.com/fsnotify/fsnotify/fsnotify.go | 66 + .../github.com/fsnotify/fsnotify/inotify.go | 337 + .../fsnotify/fsnotify/inotify_poller.go | 187 + .../github.com/fsnotify/fsnotify/kqueue.go | 521 + .../fsnotify/fsnotify/open_mode_bsd.go | 11 + .../fsnotify/fsnotify/open_mode_darwin.go | 12 + .../github.com/fsnotify/fsnotify/windows.go | 561 + .../github.com/hashicorp/hcl/.gitignore | 9 + .../github.com/hashicorp/hcl/.travis.yml | 13 + .../vendor/github.com/hashicorp/hcl/LICENSE | 354 + .../vendor/github.com/hashicorp/hcl/Makefile | 18 + .../vendor/github.com/hashicorp/hcl/README.md | 125 + .../github.com/hashicorp/hcl/appveyor.yml | 19 + .../github.com/hashicorp/hcl/decoder.go | 729 + .../vendor/github.com/hashicorp/hcl/hcl.go | 11 + .../github.com/hashicorp/hcl/hcl/ast/ast.go | 219 + .../github.com/hashicorp/hcl/hcl/ast/walk.go | 52 + .../hashicorp/hcl/hcl/parser/error.go | 17 + .../hashicorp/hcl/hcl/parser/parser.go | 532 + .../hashicorp/hcl/hcl/printer/nodes.go | 789 ++ .../hashicorp/hcl/hcl/printer/printer.go | 66 + .../hashicorp/hcl/hcl/scanner/scanner.go | 652 + .../hashicorp/hcl/hcl/strconv/quote.go | 241 + .../hashicorp/hcl/hcl/token/position.go | 46 + .../hashicorp/hcl/hcl/token/token.go | 219 + .../hashicorp/hcl/json/parser/flatten.go | 117 + .../hashicorp/hcl/json/parser/parser.go | 313 + .../hashicorp/hcl/json/scanner/scanner.go | 451 + .../hashicorp/hcl/json/token/position.go | 46 + .../hashicorp/hcl/json/token/token.go | 118 + .../vendor/github.com/hashicorp/hcl/lex.go | 38 + .../vendor/github.com/hashicorp/hcl/parse.go | 39 + .../magiconair/properties/.gitignore | 6 + .../magiconair/properties/.travis.yml | 10 + .../magiconair/properties/CHANGELOG.md | 131 + .../github.com/magiconair/properties/LICENSE | 25 + .../magiconair/properties/README.md | 129 + .../magiconair/properties/decode.go | 289 + .../github.com/magiconair/properties/doc.go | 156 + .../magiconair/properties/integrate.go | 34 + .../github.com/magiconair/properties/lex.go | 407 + .../github.com/magiconair/properties/load.go | 292 + .../magiconair/properties/parser.go | 95 + .../magiconair/properties/properties.go | 833 ++ .../magiconair/properties/rangecheck.go | 31 + .../github.com/mattn/go-colorable/.travis.yml | 9 + .../github.com/mattn/go-colorable/LICENSE | 4 +- .../github.com/mattn/go-colorable/README.md | 48 + .../mattn/go-colorable/colorable_appengine.go | 29 + .../mattn/go-colorable/colorable_others.go | 30 + .../mattn/go-colorable/colorable_windows.go | 884 ++ .../mattn/go-colorable/noncolorable.go | 55 + .../github.com/mattn/go-isatty/.travis.yml | 9 + .../vendor/github.com/mattn/go-isatty/LICENSE | 4 +- .../github.com/mattn/go-isatty/README.md | 50 + .../vendor/github.com/mattn/go-isatty/doc.go | 2 + .../mattn/go-isatty/isatty_appengine.go | 15 + .../github.com/mattn/go-isatty/isatty_bsd.go | 18 + .../mattn/go-isatty/isatty_linux.go | 18 + .../mattn/go-isatty/isatty_linux_ppc64x.go | 19 + .../mattn/go-isatty/isatty_others.go | 10 + .../mattn/go-isatty/isatty_solaris.go | 16 + .../mattn/go-isatty/isatty_windows.go | 94 + .../vendor/github.com/mgutz/ansi/.gitignore | 1 + .../vendor/github.com/mgutz/ansi/LICENSE | 6 +- .../vendor/github.com/mgutz/ansi/README.md | 121 + .../vendor/github.com/mgutz/ansi/ansi.go | 285 + .../vendor/github.com/mgutz/ansi/doc.go | 65 + .../vendor/github.com/mgutz/ansi/print.go | 57 + .../mitchellh/mapstructure/.travis.yml | 8 + .../github.com/mitchellh/mapstructure/LICENSE | 2 +- .../mitchellh/mapstructure/README.md | 46 + .../mitchellh/mapstructure/decode_hooks.go | 171 + .../mitchellh/mapstructure/error.go | 50 + .../mitchellh/mapstructure/mapstructure.go | 1061 ++ .../github.com/pelletier/go-toml/.gitignore | 2 + .../github.com/pelletier/go-toml/.travis.yml | 22 + .../github.com/pelletier/go-toml/LICENSE | 21 + .../github.com/pelletier/go-toml/README.md | 131 + .../pelletier/go-toml/benchmark.json | 164 + .../github.com/pelletier/go-toml/benchmark.sh | 32 + .../pelletier/go-toml/benchmark.toml | 244 + .../pelletier/go-toml/benchmark.yml | 121 + .../github.com/pelletier/go-toml/doc.go | 23 + .../pelletier/go-toml/example-crlf.toml | 29 + .../github.com/pelletier/go-toml/example.toml | 29 + .../github.com/pelletier/go-toml/fuzz.go | 31 + .../github.com/pelletier/go-toml/fuzz.sh | 15 + .../pelletier/go-toml/keysparsing.go | 85 + .../github.com/pelletier/go-toml/lexer.go | 750 ++ .../github.com/pelletier/go-toml/marshal.go | 600 + .../pelletier/go-toml/marshal_test.toml | 38 + .../github.com/pelletier/go-toml/parser.go | 430 + .../github.com/pelletier/go-toml/position.go | 29 + .../github.com/pelletier/go-toml/test.sh | 91 + .../github.com/pelletier/go-toml/token.go | 144 + .../github.com/pelletier/go-toml/toml.go | 309 + .../pelletier/go-toml/tomltree_create.go | 142 + .../pelletier/go-toml/tomltree_write.go | 289 + .../github.com/pmezard/go-difflib/LICENSE | 27 + .../pmezard/go-difflib/difflib/difflib.go | 772 ++ .../github.com/shopspring/decimal/.gitignore | 2 + .../github.com/shopspring/decimal/.travis.yml | 13 + .../github.com/shopspring/decimal/LICENSE | 45 + .../github.com/shopspring/decimal/README.md | 126 + .../github.com/shopspring/decimal/decimal.go | 1107 ++ .../github.com/sirupsen/logrus/.gitignore | 1 + .../github.com/sirupsen/logrus/.travis.yml | 15 + .../github.com/sirupsen/logrus/CHANGELOG.md | 123 + .../github.com/sirupsen/logrus}/LICENSE | 2 +- .../github.com/sirupsen/logrus/README.md | 511 + .../github.com/sirupsen/logrus/alt_exit.go | 64 + .../github.com/sirupsen/logrus/appveyor.yml | 14 + .../vendor/github.com/sirupsen/logrus/doc.go | 26 + .../github.com/sirupsen/logrus/entry.go | 288 + .../github.com/sirupsen/logrus/exported.go | 193 + .../github.com/sirupsen/logrus/formatter.go | 45 + .../github.com/sirupsen/logrus/hooks.go | 34 + .../sirupsen/logrus/json_formatter.go | 79 + .../github.com/sirupsen/logrus/logger.go | 323 + .../github.com/sirupsen/logrus/logrus.go | 143 + .../sirupsen/logrus/terminal_bsd.go | 10 + .../logrus/terminal_check_appengine.go | 11 + .../logrus/terminal_check_notappengine.go | 19 + .../sirupsen/logrus/terminal_linux.go | 14 + .../sirupsen/logrus/text_formatter.go | 178 + .../github.com/sirupsen/logrus/writer.go | 62 + .../vendor/github.com/spf13/afero/.travis.yml | 21 + .../vendor/github.com/spf13/afero/LICENSE.txt | 174 + .../vendor/github.com/spf13/afero/README.md | 452 + .../vendor/github.com/spf13/afero/afero.go | 108 + .../github.com/spf13/afero/appveyor.yml | 15 + .../vendor/github.com/spf13/afero/basepath.go | 180 + .../github.com/spf13/afero/cacheOnReadFs.go | 290 + .../github.com/spf13/afero/const_bsds.go | 22 + .../github.com/spf13/afero/const_win_unix.go | 25 + .../github.com/spf13/afero/copyOnWriteFs.go | 292 + .../vendor/github.com/spf13/afero/httpFs.go | 110 + .../vendor/github.com/spf13/afero/ioutil.go | 230 + .../vendor/github.com/spf13/afero/lstater.go | 27 + .../vendor/github.com/spf13/afero/match.go | 110 + .../vendor/github.com/spf13/afero/mem/dir.go | 37 + .../github.com/spf13/afero/mem/dirmap.go | 43 + .../vendor/github.com/spf13/afero/mem/file.go | 314 + .../vendor/github.com/spf13/afero/memmap.go | 365 + .../vendor/github.com/spf13/afero/os.go | 101 + .../vendor/github.com/spf13/afero/path.go | 106 + .../github.com/spf13/afero/readonlyfs.go | 80 + .../vendor/github.com/spf13/afero/regexpfs.go | 214 + .../github.com/spf13/afero/unionFile.go | 305 + .../vendor/github.com/spf13/afero/util.go | 330 + .../vendor/github.com/spf13/cast/.gitignore | 25 + .../vendor/github.com/spf13/cast/.travis.yml | 14 + .../vendor/github.com/spf13/cast}/LICENSE | 2 +- .../vendor/github.com/spf13/cast/Makefile | 38 + .../vendor/github.com/spf13/cast/README.md | 75 + .../vendor/github.com/spf13/cast/cast.go | 159 + .../vendor/github.com/spf13/cast/caste.go | 1166 ++ .../spf13/jwalterweatherman/.gitignore | 22 + .../spf13/jwalterweatherman/LICENSE | 6 +- .../spf13/jwalterweatherman/README.md | 148 + .../jwalterweatherman/default_notepad.go | 113 + .../spf13/jwalterweatherman/log_counter.go | 55 + .../spf13/jwalterweatherman/notepad.go | 194 + .../vendor/github.com/spf13/pflag/.gitignore | 2 + .../vendor/github.com/spf13/pflag/.travis.yml | 21 + .../vendor/github.com/spf13/pflag/LICENSE | 28 + .../vendor/github.com/spf13/pflag/README.md | 296 + .../vendor/github.com/spf13/pflag/bool.go | 94 + .../github.com/spf13/pflag/bool_slice.go | 147 + .../vendor/github.com/spf13/pflag/bytes.go | 105 + .../vendor/github.com/spf13/pflag/count.go | 96 + .../vendor/github.com/spf13/pflag/duration.go | 86 + .../github.com/spf13/pflag/duration_slice.go | 128 + .../vendor/github.com/spf13/pflag/flag.go | 1223 ++ .../vendor/github.com/spf13/pflag/float32.go | 88 + .../vendor/github.com/spf13/pflag/float64.go | 84 + .../github.com/spf13/pflag/golangflag.go | 105 + .../vendor/github.com/spf13/pflag/int.go | 84 + .../vendor/github.com/spf13/pflag/int16.go | 88 + .../vendor/github.com/spf13/pflag/int32.go | 88 + .../vendor/github.com/spf13/pflag/int64.go | 84 + .../vendor/github.com/spf13/pflag/int8.go | 88 + .../github.com/spf13/pflag/int_slice.go | 128 + .../vendor/github.com/spf13/pflag/ip.go | 94 + .../vendor/github.com/spf13/pflag/ip_slice.go | 148 + .../vendor/github.com/spf13/pflag/ipmask.go | 122 + .../vendor/github.com/spf13/pflag/ipnet.go | 98 + .../vendor/github.com/spf13/pflag/string.go | 80 + .../github.com/spf13/pflag/string_array.go | 103 + .../github.com/spf13/pflag/string_slice.go | 149 + .../vendor/github.com/spf13/pflag/uint.go | 88 + .../vendor/github.com/spf13/pflag/uint16.go | 88 + .../vendor/github.com/spf13/pflag/uint32.go | 88 + .../vendor/github.com/spf13/pflag/uint64.go | 88 + .../vendor/github.com/spf13/pflag/uint8.go | 88 + .../github.com/spf13/pflag/uint_slice.go | 126 + .../vendor/github.com/spf13/viper/.gitignore | 24 + .../vendor/github.com/spf13/viper/.travis.yml | 28 + .../vendor/github.com/spf13/viper/LICENSE | 21 + .../vendor/github.com/spf13/viper/README.md | 643 + .../vendor/github.com/spf13/viper/flags.go | 57 + .../vendor/github.com/spf13/viper/util.go | 221 + .../vendor/github.com/spf13/viper/viper.go | 1771 +++ .../github.com/stretchr/objx/.gitignore | 4 + .../github.com/stretchr/objx/.travis.yml | 13 + .../github.com/stretchr/objx/Gopkg.lock | 27 + .../github.com/stretchr/objx/Gopkg.toml | 3 + .../vendor/github.com/stretchr/objx/LICENSE} | 5 +- .../vendor/github.com/stretchr/objx/README.md | 78 + .../github.com/stretchr/objx/Taskfile.yml | 26 + .../github.com/stretchr/objx/accessors.go | 171 + .../github.com/stretchr/objx/constants.go | 13 + .../github.com/stretchr/objx/conversions.go | 108 + .../vendor/github.com/stretchr/objx/doc.go | 66 + .../vendor/github.com/stretchr/objx/map.go | 193 + .../github.com/stretchr/objx/mutations.go | 74 + .../github.com/stretchr/objx/security.go | 17 + .../vendor/github.com/stretchr/objx/tests.go | 17 + .../stretchr/objx/type_specific_codegen.go | 2501 ++++ .../vendor/github.com/stretchr/objx/value.go | 56 + .../github.com/stretchr/testify/LICENCE.txt | 22 + .../github.com/stretchr/testify/LICENSE | 22 + .../testify/assert/assertion_format.go | 379 + .../testify/assert/assertion_format.go.tmpl | 4 + .../testify/assert/assertion_forward.go | 746 + .../testify/assert/assertion_forward.go.tmpl | 4 + .../stretchr/testify/assert/assertions.go | 1208 ++ .../github.com/stretchr/testify/assert/doc.go | 45 + .../stretchr/testify/assert/errors.go | 10 + .../testify/assert/forward_assertions.go | 16 + .../testify/assert/http_assertions.go | 127 + .../github.com/stretchr/testify/mock/doc.go | 44 + .../github.com/stretchr/testify/mock/mock.go | 784 ++ .../stretchr/testify/require/doc.go | 28 + .../testify/require/forward_requirements.go | 16 + .../stretchr/testify/require/require.go | 911 ++ .../stretchr/testify/require/require.go.tmpl | 6 + .../testify/require/require_forward.go | 747 + .../testify/require/require_forward.go.tmpl | 4 + .../stretchr/testify/require/requirements.go | 9 + .../toqueteos/webbrowser/.travis.yml | 12 + .../toqueteos/webbrowser/CONTRIBUTING.md | 11 + .../toqueteos/webbrowser/LICENSE.md | 19 + .../github.com/toqueteos/webbrowser/README.md | 42 + .../toqueteos/webbrowser/webbrowser.go | 137 + .../vendor/github.com/urfave/cli/.flake8 | 2 + .../vendor/github.com/urfave/cli/.gitignore | 2 + .../vendor/github.com/urfave/cli/.travis.yml | 27 + .../vendor/github.com/urfave/cli/CHANGELOG.md | 435 + .../vendor/github.com/urfave/cli}/LICENSE | 2 +- .../vendor/github.com/urfave/cli/README.md | 1381 ++ .../vendor/github.com/urfave/cli/app.go | 497 + .../vendor/github.com/urfave/cli/appveyor.yml | 26 + .../vendor/github.com/urfave/cli/category.go | 44 + .../vendor/github.com/urfave/cli/cli.go | 22 + .../vendor/github.com/urfave/cli/command.go | 304 + .../vendor/github.com/urfave/cli/context.go | 278 + .../vendor/github.com/urfave/cli/errors.go | 115 + .../github.com/urfave/cli/flag-types.json | 93 + .../vendor/github.com/urfave/cli/flag.go | 799 ++ .../github.com/urfave/cli/flag_generated.go | 627 + .../vendor/github.com/urfave/cli/funcs.go | 28 + .../github.com/urfave/cli/generate-flag-types | 255 + .../vendor/github.com/urfave/cli/help.go | 338 + .../vendor/github.com/urfave/cli/runtests | 122 + .../vendor/golang.org/x/crypto/AUTHORS | 3 + .../vendor/golang.org/x/crypto/CONTRIBUTORS | 3 + .../vendor/golang.org/x/crypto/LICENSE | 27 + .../vendor/golang.org/x/crypto/PATENTS | 22 + .../x/crypto/ssh/terminal/terminal.go | 951 ++ .../golang.org/x/crypto/ssh/terminal/util.go | 114 + .../x/crypto/ssh/terminal/util_bsd.go | 12 + .../x/crypto/ssh/terminal/util_linux.go} | 9 +- .../x/crypto/ssh/terminal/util_plan9.go | 58 + .../x/crypto/ssh/terminal/util_solaris.go | 124 + .../x/crypto/ssh/terminal/util_windows.go | 103 + .../skycoin/vendor/golang.org/x/net/AUTHORS | 3 + .../vendor/golang.org/x/net/CONTRIBUTORS | 3 + .../skycoin/vendor/golang.org/x/net/LICENSE | 27 + .../skycoin/vendor/golang.org/x/net/PATENTS | 22 + .../golang.org/x/net/context/context.go | 56 + .../vendor/golang.org/x/net/context/go17.go | 72 + .../vendor/golang.org/x/net/context/go19.go | 20 + .../golang.org/x/net/context/pre_go17.go | 300 + .../golang.org/x/net/context/pre_go19.go | 109 + .../skycoin/vendor/golang.org/x/sys/AUTHORS | 3 + .../vendor/golang.org/x/sys/CONTRIBUTORS | 3 + .../skycoin/vendor/golang.org/x/sys/LICENSE | 27 + .../skycoin/vendor/golang.org/x/sys/PATENTS | 22 + .../vendor/golang.org/x/sys/unix/.gitignore | 2 + .../vendor/golang.org/x/sys/unix/README.md | 173 + .../golang.org/x/sys/unix/affinity_linux.go | 124 + .../golang.org/x/sys/unix/asm_darwin_386.s | 29 + .../golang.org/x/sys/unix/asm_darwin_amd64.s | 29 + .../golang.org/x/sys/unix/asm_darwin_arm.s | 30 + .../golang.org/x/sys/unix/asm_darwin_arm64.s | 30 + .../x/sys/unix/asm_dragonfly_amd64.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_386.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_amd64.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_arm.s | 29 + .../golang.org/x/sys/unix/asm_linux_386.s | 65 + .../golang.org/x/sys/unix/asm_linux_amd64.s | 57 + .../golang.org/x/sys/unix/asm_linux_arm.s | 56 + .../golang.org/x/sys/unix/asm_linux_arm64.s | 52 + .../golang.org/x/sys/unix/asm_linux_mips64x.s | 56 + .../golang.org/x/sys/unix/asm_linux_mipsx.s | 54 + .../golang.org/x/sys/unix/asm_linux_ppc64x.s | 56 + .../golang.org/x/sys/unix/asm_linux_s390x.s | 56 + .../golang.org/x/sys/unix/asm_netbsd_386.s | 29 + .../golang.org/x/sys/unix/asm_netbsd_amd64.s | 29 + .../golang.org/x/sys/unix/asm_netbsd_arm.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_386.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_amd64.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_arm.s | 29 + .../golang.org/x/sys/unix/asm_solaris_amd64.s | 17 + .../golang.org/x/sys/unix/bluetooth_linux.go | 35 + .../golang.org/x/sys/unix/cap_freebsd.go | 195 + .../vendor/golang.org/x/sys/unix/constants.go | 13 + .../golang.org/x/sys/unix/dev_darwin.go | 24 + .../golang.org/x/sys/unix/dev_dragonfly.go | 30 + .../golang.org/x/sys/unix/dev_freebsd.go | 30 + .../vendor/golang.org/x/sys/unix/dev_linux.go | 42 + .../golang.org/x/sys/unix/dev_netbsd.go | 29 + .../golang.org/x/sys/unix/dev_openbsd.go | 29 + .../vendor/golang.org/x/sys/unix/dirent.go | 17 + .../golang.org/x/sys/unix/endian_big.go | 9 + .../golang.org/x/sys/unix/endian_little.go | 9 + .../vendor/golang.org/x/sys/unix/env_unix.go | 31 + .../x/sys/unix/errors_freebsd_386.go | 227 + .../x/sys/unix/errors_freebsd_amd64.go | 227 + .../x/sys/unix/errors_freebsd_arm.go | 226 + .../vendor/golang.org/x/sys/unix/fcntl.go} | 8 +- .../x/sys/unix/fcntl_linux_32bit.go} | 0 .../vendor/golang.org/x/sys/unix/gccgo.go | 61 + .../vendor/golang.org/x/sys/unix/gccgo_c.c | 47 + .../x/sys/unix/gccgo_linux_amd64.go | 20 + .../vendor/golang.org/x/sys/unix/mkall.sh | 188 + .../vendor/golang.org/x/sys/unix/mkerrors.sh | 596 + .../vendor/golang.org/x/sys/unix/mkpost.go | 98 + .../vendor/golang.org/x/sys/unix/mksyscall.pl | 341 + .../x/sys/unix/mksyscall_solaris.pl | 289 + .../golang.org/x/sys/unix/mksysctl_openbsd.pl | 264 + .../golang.org/x/sys/unix/mksysnum_darwin.pl | 39 + .../x/sys/unix/mksysnum_dragonfly.pl | 50 + .../golang.org/x/sys/unix/mksysnum_freebsd.pl | 50 + .../golang.org/x/sys/unix/mksysnum_netbsd.pl | 58 + .../golang.org/x/sys/unix/mksysnum_openbsd.pl | 50 + .../golang.org/x/sys/unix/openbsd_pledge.go | 38 + .../golang.org/x/sys/unix/pagesize_unix.go | 15 + .../vendor/golang.org/x/sys/unix/race.go | 30 + .../vendor/golang.org/x/sys/unix/race0.go | 25 + .../golang.org/x/sys/unix/sockcmsg_linux.go | 36 + .../golang.org/x/sys/unix/sockcmsg_unix.go | 104 + .../vendor/golang.org/x/sys/unix/str.go | 26 + .../vendor/golang.org/x/sys/unix/syscall.go | 54 + .../golang.org/x/sys/unix/syscall_bsd.go | 624 + .../golang.org/x/sys/unix/syscall_darwin.go | 602 + .../x/sys/unix/syscall_darwin_386.go | 68 + .../x/sys/unix/syscall_darwin_amd64.go | 68 + .../x/sys/unix/syscall_darwin_arm.go | 66 + .../x/sys/unix/syscall_darwin_arm64.go | 68 + .../x/sys/unix/syscall_dragonfly.go | 523 + .../x/sys/unix/syscall_dragonfly_amd64.go | 52 + .../golang.org/x/sys/unix/syscall_freebsd.go | 756 ++ .../x/sys/unix/syscall_freebsd_386.go | 52 + .../x/sys/unix/syscall_freebsd_amd64.go | 52 + .../x/sys/unix/syscall_freebsd_arm.go | 52 + .../golang.org/x/sys/unix/syscall_linux.go | 1474 ++ .../x/sys/unix/syscall_linux_386.go | 391 + .../x/sys/unix/syscall_linux_amd64.go | 157 + .../x/sys/unix/syscall_linux_amd64_gc.go | 13 + .../x/sys/unix/syscall_linux_arm.go | 255 + .../x/sys/unix/syscall_linux_arm64.go | 190 + .../golang.org/x/sys/unix/syscall_linux_gc.go | 14 + .../x/sys/unix/syscall_linux_gccgo.go | 21 + .../x/sys/unix/syscall_linux_mips64x.go | 210 + .../x/sys/unix/syscall_linux_mipsx.go | 232 + .../x/sys/unix/syscall_linux_ppc64x.go | 128 + .../x/sys/unix/syscall_linux_s390x.go | 320 + .../x/sys/unix/syscall_linux_sparc64.go | 144 + .../golang.org/x/sys/unix/syscall_netbsd.go | 567 + .../x/sys/unix/syscall_netbsd_386.go | 33 + .../x/sys/unix/syscall_netbsd_amd64.go | 33 + .../x/sys/unix/syscall_netbsd_arm.go | 33 + .../golang.org/x/sys/unix/syscall_openbsd.go | 367 + .../x/sys/unix/syscall_openbsd_386.go | 33 + .../x/sys/unix/syscall_openbsd_amd64.go | 33 + .../x/sys/unix/syscall_openbsd_arm.go | 33 + .../golang.org/x/sys/unix/syscall_solaris.go | 725 + .../x/sys/unix/syscall_solaris_amd64.go | 23 + .../golang.org/x/sys/unix/syscall_unix.go | 394 + .../golang.org/x/sys/unix/syscall_unix_gc.go | 15 + .../golang.org/x/sys/unix/timestruct.go | 82 + .../golang.org/x/sys/unix/types_darwin.go | 277 + .../golang.org/x/sys/unix/types_dragonfly.go | 280 + .../golang.org/x/sys/unix/types_freebsd.go | 402 + .../golang.org/x/sys/unix/types_netbsd.go | 281 + .../golang.org/x/sys/unix/types_openbsd.go | 282 + .../golang.org/x/sys/unix/types_solaris.go | 283 + .../x/sys/unix/zerrors_darwin_386.go | 1777 +++ .../x/sys/unix/zerrors_darwin_amd64.go | 1777 +++ .../x/sys/unix/zerrors_darwin_arm.go | 1777 +++ .../x/sys/unix/zerrors_darwin_arm64.go | 1777 +++ .../x/sys/unix/zerrors_dragonfly_amd64.go | 1586 +++ .../x/sys/unix/zerrors_freebsd_386.go | 1764 +++ .../x/sys/unix/zerrors_freebsd_amd64.go | 1765 +++ .../x/sys/unix/zerrors_freebsd_arm.go | 1773 +++ .../x/sys/unix/zerrors_linux_386.go | 2446 ++++ .../x/sys/unix/zerrors_linux_amd64.go | 2447 ++++ .../x/sys/unix/zerrors_linux_arm.go | 2454 ++++ .../x/sys/unix/zerrors_linux_arm64.go | 2437 ++++ .../x/sys/unix/zerrors_linux_mips.go | 2456 ++++ .../x/sys/unix/zerrors_linux_mips64.go | 2456 ++++ .../x/sys/unix/zerrors_linux_mips64le.go | 2456 ++++ .../x/sys/unix/zerrors_linux_mipsle.go | 2456 ++++ .../x/sys/unix/zerrors_linux_ppc64.go | 2509 ++++ .../x/sys/unix/zerrors_linux_ppc64le.go | 2509 ++++ .../x/sys/unix/zerrors_linux_s390x.go | 2508 ++++ .../x/sys/unix/zerrors_linux_sparc64.go | 2142 +++ .../x/sys/unix/zerrors_netbsd_386.go | 1728 +++ .../x/sys/unix/zerrors_netbsd_amd64.go | 1718 +++ .../x/sys/unix/zerrors_netbsd_arm.go | 1707 +++ .../x/sys/unix/zerrors_openbsd_386.go | 1600 +++ .../x/sys/unix/zerrors_openbsd_amd64.go | 1599 +++ .../x/sys/unix/zerrors_openbsd_arm.go | 1602 +++ .../x/sys/unix/zerrors_solaris_amd64.go | 1497 +++ .../golang.org/x/sys/unix/zptrace386_linux.go | 80 + .../golang.org/x/sys/unix/zptracearm_linux.go | 41 + .../x/sys/unix/zptracemips_linux.go | 50 + .../x/sys/unix/zptracemipsle_linux.go | 50 + .../x/sys/unix/zsyscall_darwin_386.go | 1635 +++ .../x/sys/unix/zsyscall_darwin_amd64.go | 1635 +++ .../x/sys/unix/zsyscall_darwin_arm.go | 1635 +++ .../x/sys/unix/zsyscall_darwin_arm64.go | 1635 +++ .../x/sys/unix/zsyscall_dragonfly_amd64.go | 1508 +++ .../x/sys/unix/zsyscall_freebsd_386.go | 1937 +++ .../x/sys/unix/zsyscall_freebsd_amd64.go | 1937 +++ .../x/sys/unix/zsyscall_freebsd_arm.go | 1937 +++ .../x/sys/unix/zsyscall_linux_386.go | 2005 +++ .../x/sys/unix/zsyscall_linux_amd64.go | 2172 +++ .../x/sys/unix/zsyscall_linux_arm.go | 2107 +++ .../x/sys/unix/zsyscall_linux_arm64.go | 2065 +++ .../x/sys/unix/zsyscall_linux_mips.go | 2173 +++ .../x/sys/unix/zsyscall_linux_mips64.go | 2156 +++ .../x/sys/unix/zsyscall_linux_mips64le.go | 2156 +++ .../x/sys/unix/zsyscall_linux_mipsle.go | 2173 +++ .../x/sys/unix/zsyscall_linux_ppc64.go | 2219 +++ .../x/sys/unix/zsyscall_linux_ppc64le.go | 2219 +++ .../x/sys/unix/zsyscall_linux_s390x.go | 1989 +++ .../x/sys/unix/zsyscall_linux_sparc64.go | 1843 +++ .../x/sys/unix/zsyscall_netbsd_386.go | 1424 ++ .../x/sys/unix/zsyscall_netbsd_amd64.go | 1424 ++ .../x/sys/unix/zsyscall_netbsd_arm.go | 1424 ++ .../x/sys/unix/zsyscall_openbsd_386.go | 1493 ++ .../x/sys/unix/zsyscall_openbsd_amd64.go | 1493 ++ .../x/sys/unix/zsyscall_openbsd_arm.go | 1493 ++ .../x/sys/unix/zsyscall_solaris_amd64.go | 1681 +++ .../x/sys/unix/zsysctl_openbsd_386.go} | 0 .../x/sys/unix/zsysctl_openbsd_amd64.go | 270 + .../x/sys/unix/zsysctl_openbsd_arm.go | 270 + .../x/sys/unix/zsysnum_darwin_386.go | 436 + .../x/sys/unix/zsysnum_darwin_amd64.go | 436 + .../x/sys/unix/zsysnum_darwin_arm.go | 436 + .../x/sys/unix/zsysnum_darwin_arm64.go | 436 + .../x/sys/unix/zsysnum_dragonfly_amd64.go | 315 + .../x/sys/unix/zsysnum_freebsd_386.go | 353 + .../x/sys/unix/zsysnum_freebsd_amd64.go | 353 + .../x/sys/unix/zsysnum_freebsd_arm.go | 353 + .../x/sys/unix/zsysnum_linux_386.go | 390 + .../x/sys/unix/zsysnum_linux_amd64.go | 342 + .../x/sys/unix/zsysnum_linux_arm.go | 362 + .../x/sys/unix/zsysnum_linux_arm64.go | 286 + .../x/sys/unix/zsysnum_linux_mips.go | 375 + .../x/sys/unix/zsysnum_linux_mips64.go | 335 + .../x/sys/unix/zsysnum_linux_mips64le.go | 335 + .../x/sys/unix/zsysnum_linux_mipsle.go | 375 + .../x/sys/unix/zsysnum_linux_ppc64.go | 373 + .../x/sys/unix/zsysnum_linux_ppc64le.go | 373 + .../x/sys/unix/zsysnum_linux_s390x.go | 334 + .../x/sys/unix/zsysnum_linux_sparc64.go | 348 + .../x/sys/unix/zsysnum_netbsd_386.go | 274 + .../x/sys/unix/zsysnum_netbsd_amd64.go | 274 + .../x/sys/unix/zsysnum_netbsd_arm.go | 274 + .../x/sys/unix/zsysnum_openbsd_386.go | 207 + .../x/sys/unix/zsysnum_openbsd_amd64.go | 207 + .../x/sys/unix/zsysnum_openbsd_arm.go | 213 + .../x/sys/unix/ztypes_darwin_386.go | 489 + .../x/sys/unix/ztypes_darwin_amd64.go | 499 + .../x/sys/unix/ztypes_darwin_arm.go | 490 + .../x/sys/unix/ztypes_darwin_arm64.go | 499 + .../x/sys/unix/ztypes_dragonfly_amd64.go | 486 + .../x/sys/unix/ztypes_freebsd_386.go | 553 + .../x/sys/unix/ztypes_freebsd_amd64.go | 556 + .../x/sys/unix/ztypes_freebsd_arm.go | 556 + .../golang.org/x/sys/unix/ztypes_linux_386.go | 1246 ++ .../x/sys/unix/ztypes_linux_amd64.go | 1265 ++ .../golang.org/x/sys/unix/ztypes_linux_arm.go | 1235 ++ .../x/sys/unix/ztypes_linux_arm64.go | 1244 ++ .../x/sys/unix/ztypes_linux_mips.go | 1240 ++ .../x/sys/unix/ztypes_linux_mips64.go | 1246 ++ .../x/sys/unix/ztypes_linux_mips64le.go | 1246 ++ .../x/sys/unix/ztypes_linux_mipsle.go | 1240 ++ .../x/sys/unix/ztypes_linux_ppc64.go | 1254 ++ .../x/sys/unix/ztypes_linux_ppc64le.go | 1254 ++ .../x/sys/unix/ztypes_linux_s390x.go | 1271 ++ .../x/sys/unix/ztypes_linux_sparc64.go | 690 + .../x/sys/unix/ztypes_netbsd_386.go | 448 + .../x/sys/unix/ztypes_netbsd_amd64.go | 455 + .../x/sys/unix/ztypes_netbsd_arm.go | 453 + .../x/sys/unix/ztypes_openbsd_386.go | 484 + .../x/sys/unix/ztypes_openbsd_amd64.go | 491 + .../x/sys/unix/ztypes_openbsd_arm.go | 477 + .../x/sys/unix/ztypes_solaris_amd64.go | 459 + .../x/sys/windows/asm_windows_386.s | 13 + .../x/sys/windows/asm_windows_amd64.s | 13 + .../golang.org/x/sys/windows/dll_windows.go | 378 + .../golang.org/x/sys/windows/env_windows.go | 29 + .../golang.org/x/sys/windows/eventlog.go | 20 + .../golang.org/x/sys/windows/exec_windows.go | 97 + .../x/sys/windows/memory_windows.go | 26 + .../golang.org/x/sys/windows/mksyscall.go | 7 + .../vendor/golang.org/x/sys/windows/race.go | 30 + .../vendor/golang.org/x/sys/windows/race0.go | 25 + .../x/sys/windows/security_windows.go | 476 + .../golang.org/x/sys/windows/service.go | 164 + .../vendor/golang.org/x/sys/windows/str.go | 22 + .../golang.org/x/sys/windows/syscall.go | 74 + .../x/sys/windows/syscall_windows.go | 1153 ++ .../golang.org/x/sys/windows/types_windows.go | 1333 ++ .../x/sys/windows/types_windows_386.go | 22 + .../x/sys/windows/types_windows_amd64.go | 22 + .../x/sys/windows/zsyscall_windows.go | 2687 ++++ .../skycoin/vendor/golang.org/x/text/AUTHORS | 3 + .../vendor/golang.org/x/text/CONTRIBUTORS | 3 + .../skycoin/vendor/golang.org/x/text/LICENSE | 27 + .../skycoin/vendor/golang.org/x/text/PATENTS | 22 + .../golang.org/x/text/internal/gen/code.go | 369 + .../golang.org/x/text/internal/gen/gen.go | 333 + .../x/text/internal/triegen/compact.go | 58 + .../x/text/internal/triegen/print.go | 251 + .../x/text/internal/triegen/triegen.go | 494 + .../golang.org/x/text/internal/ucd/ucd.go | 371 + .../golang.org/x/text/transform/transform.go | 705 + .../golang.org/x/text/unicode/cldr/base.go | 105 + .../golang.org/x/text/unicode/cldr/cldr.go | 130 + .../golang.org/x/text/unicode/cldr/collate.go | 359 + .../golang.org/x/text/unicode/cldr/decode.go | 171 + .../golang.org/x/text/unicode/cldr/makexml.go | 400 + .../golang.org/x/text/unicode/cldr/resolve.go | 602 + .../golang.org/x/text/unicode/cldr/slice.go | 144 + .../golang.org/x/text/unicode/cldr/xml.go | 1494 ++ .../x/text/unicode/norm/composition.go | 508 + .../x/text/unicode/norm/forminfo.go | 259 + .../golang.org/x/text/unicode/norm/input.go | 109 + .../golang.org/x/text/unicode/norm/iter.go | 457 + .../x/text/unicode/norm/maketables.go | 976 ++ .../x/text/unicode/norm/normalize.go | 609 + .../x/text/unicode/norm/readwriter.go | 125 + .../x/text/unicode/norm/tables10.0.0.go | 7653 +++++++++++ .../x/text/unicode/norm/tables9.0.0.go | 7633 +++++++++++ .../x/text/unicode/norm/transform.go | 88 + .../golang.org/x/text/unicode/norm/trie.go | 54 + .../golang.org/x/text/unicode/norm/triegen.go | 117 + .../vendor/gopkg.in/yaml.v2/.travis.yml | 12 + .../skycoin/vendor/gopkg.in/yaml.v2/LICENSE | 201 + .../vendor/gopkg.in/yaml.v2/LICENSE.libyaml | 14 +- .../skycoin/vendor/gopkg.in/yaml.v2/NOTICE | 13 + .../skycoin/vendor/gopkg.in/yaml.v2/README.md | 133 + .../skycoin/vendor/gopkg.in/yaml.v2/apic.go | 739 + .../skycoin/vendor/gopkg.in/yaml.v2/decode.go | 775 ++ .../vendor/gopkg.in/yaml.v2/emitterc.go | 1685 +++ .../skycoin/vendor/gopkg.in/yaml.v2/encode.go | 362 + .../skycoin/vendor/gopkg.in/yaml.v2/go.mod | 5 + .../vendor/gopkg.in/yaml.v2/parserc.go | 1095 ++ .../vendor/gopkg.in/yaml.v2/readerc.go | 412 + .../vendor/gopkg.in/yaml.v2/resolve.go | 258 + .../vendor/gopkg.in/yaml.v2/scannerc.go | 2696 ++++ .../skycoin/vendor/gopkg.in/yaml.v2/sorter.go | 113 + .../vendor/gopkg.in/yaml.v2/writerc.go | 26 + .../skycoin/vendor/gopkg.in/yaml.v2/yaml.go | 466 + .../skycoin/vendor/gopkg.in/yaml.v2/yamlh.go | 738 + .../vendor/gopkg.in/yaml.v2/yamlprivateh.go | 173 + vendor/github.com/spf13/afero/.travis.yml | 21 + vendor/github.com/spf13/afero/LICENSE.txt | 174 + vendor/github.com/spf13/afero/README.md | 452 + vendor/github.com/spf13/afero/afero.go | 108 + vendor/github.com/spf13/afero/appveyor.yml | 15 + vendor/github.com/spf13/afero/basepath.go | 180 + .../github.com/spf13/afero/cacheOnReadFs.go | 290 + vendor/github.com/spf13/afero/const_bsds.go | 22 + .../github.com/spf13/afero/const_win_unix.go | 25 + .../github.com/spf13/afero/copyOnWriteFs.go | 292 + vendor/github.com/spf13/afero/httpFs.go | 110 + vendor/github.com/spf13/afero/ioutil.go | 230 + vendor/github.com/spf13/afero/lstater.go | 27 + vendor/github.com/spf13/afero/match.go | 110 + vendor/github.com/spf13/afero/mem/dir.go | 37 + vendor/github.com/spf13/afero/mem/dirmap.go | 43 + vendor/github.com/spf13/afero/mem/file.go | 314 + vendor/github.com/spf13/afero/memmap.go | 365 + vendor/github.com/spf13/afero/os.go | 101 + vendor/github.com/spf13/afero/path.go | 106 + vendor/github.com/spf13/afero/readonlyfs.go | 80 + vendor/github.com/spf13/afero/regexpfs.go | 214 + vendor/github.com/spf13/afero/unionFile.go | 305 + vendor/github.com/spf13/afero/util.go | 330 + vendor/github.com/spf13/cast/.gitignore | 25 + vendor/github.com/spf13/cast/.travis.yml | 14 + vendor/github.com/spf13/cast/LICENSE | 21 + vendor/github.com/spf13/cast/Makefile | 38 + vendor/github.com/spf13/cast/README.md | 75 + vendor/github.com/spf13/cast/cast.go | 159 + vendor/github.com/spf13/cast/caste.go | 1166 ++ .../spf13/jwalterweatherman/.gitignore | 22 + .../spf13/jwalterweatherman/LICENSE | 21 + .../spf13/jwalterweatherman/README.md | 148 + .../jwalterweatherman/default_notepad.go | 113 + .../spf13/jwalterweatherman/log_counter.go | 55 + .../spf13/jwalterweatherman/notepad.go | 194 + vendor/github.com/spf13/pflag/.gitignore | 2 + vendor/github.com/spf13/pflag/.travis.yml | 21 + vendor/github.com/spf13/pflag/LICENSE | 28 + vendor/github.com/spf13/pflag/README.md | 296 + vendor/github.com/spf13/pflag/bool.go | 94 + vendor/github.com/spf13/pflag/bool_slice.go | 147 + vendor/github.com/spf13/pflag/bytes.go | 105 + vendor/github.com/spf13/pflag/count.go | 96 + vendor/github.com/spf13/pflag/duration.go | 86 + .../github.com/spf13/pflag/duration_slice.go | 128 + vendor/github.com/spf13/pflag/flag.go | 1223 ++ vendor/github.com/spf13/pflag/float32.go | 88 + vendor/github.com/spf13/pflag/float64.go | 84 + vendor/github.com/spf13/pflag/golangflag.go | 105 + vendor/github.com/spf13/pflag/int.go | 84 + vendor/github.com/spf13/pflag/int16.go | 88 + vendor/github.com/spf13/pflag/int32.go | 88 + vendor/github.com/spf13/pflag/int64.go | 84 + vendor/github.com/spf13/pflag/int8.go | 88 + vendor/github.com/spf13/pflag/int_slice.go | 128 + vendor/github.com/spf13/pflag/ip.go | 94 + vendor/github.com/spf13/pflag/ip_slice.go | 148 + vendor/github.com/spf13/pflag/ipmask.go | 122 + vendor/github.com/spf13/pflag/ipnet.go | 98 + vendor/github.com/spf13/pflag/string.go | 80 + vendor/github.com/spf13/pflag/string_array.go | 103 + vendor/github.com/spf13/pflag/string_slice.go | 149 + vendor/github.com/spf13/pflag/uint.go | 88 + vendor/github.com/spf13/pflag/uint16.go | 88 + vendor/github.com/spf13/pflag/uint32.go | 88 + vendor/github.com/spf13/pflag/uint64.go | 88 + vendor/github.com/spf13/pflag/uint8.go | 88 + vendor/github.com/spf13/pflag/uint_slice.go | 126 + vendor/github.com/spf13/viper/.gitignore | 24 + vendor/github.com/spf13/viper/.travis.yml | 28 + vendor/github.com/spf13/viper/LICENSE | 21 + vendor/github.com/spf13/viper/README.md | 643 + vendor/github.com/spf13/viper/flags.go | 57 + vendor/github.com/spf13/viper/util.go | 221 + vendor/github.com/spf13/viper/viper.go | 1771 +++ vendor/github.com/stretchr/objx/.gitignore | 26 +- vendor/github.com/stretchr/objx/.travis.yml | 13 + vendor/github.com/stretchr/objx/Gopkg.lock | 27 + vendor/github.com/stretchr/objx/Gopkg.toml | 3 + vendor/github.com/stretchr/objx/LICENSE | 22 + vendor/github.com/stretchr/objx/README.md | 79 +- vendor/github.com/stretchr/objx/Taskfile.yml | 26 + vendor/github.com/stretchr/objx/accessors.go | 10 +- .../github.com/stretchr/objx/conversions.go | 19 +- vendor/github.com/stretchr/objx/doc.go | 136 +- vendor/github.com/stretchr/objx/map.go | 37 +- vendor/github.com/stretchr/objx/mutations.go | 17 +- vendor/github.com/stretchr/objx/security.go | 5 +- .../stretchr/objx/type_specific_codegen.go | 460 +- .../toqueteos/webbrowser/.travis.yml | 1 + .../toqueteos/webbrowser/LICENSE.md | 2 +- .../github.com/toqueteos/webbrowser/README.md | 20 +- vendor/github.com/toqueteos/webbrowser/doc.go | 3 - .../toqueteos/webbrowser/webbrowser.go | 166 +- vendor/github.com/urfave/cli/.flake8 | 2 + vendor/github.com/urfave/cli/.travis.yml | 28 +- vendor/github.com/urfave/cli/CHANGELOG.md | 43 + vendor/github.com/urfave/cli/README.md | 33 +- vendor/github.com/urfave/cli/app.go | 7 +- vendor/github.com/urfave/cli/appveyor.yml | 10 +- vendor/github.com/urfave/cli/cli.go | 1 + vendor/github.com/urfave/cli/command.go | 44 +- vendor/github.com/urfave/cli/context.go | 2 + vendor/github.com/urfave/cli/errors.go | 23 +- vendor/github.com/urfave/cli/flag.go | 12 +- vendor/github.com/urfave/cli/help.go | 68 +- vendor/golang.org/x/crypto/AUTHORS | 3 + vendor/golang.org/x/crypto/CONTRIBUTORS | 3 + vendor/golang.org/x/crypto/LICENSE | 27 + vendor/golang.org/x/crypto/PATENTS | 22 + .../x/crypto/ssh/terminal/terminal.go | 2 +- .../golang.org/x/crypto/ssh/terminal/util.go | 69 +- .../x/crypto/ssh/terminal/util_bsd.go | 6 +- .../x/crypto/ssh/terminal/util_linux.go | 9 +- .../x/crypto/ssh/terminal/util_solaris.go | 40 +- .../x/crypto/ssh/terminal/util_windows.go | 116 +- vendor/golang.org/x/sys/unix/.gitignore | 1 + .../golang.org/x/sys/unix/affinity_linux.go | 124 + vendor/golang.org/x/sys/unix/asm_linux_386.s | 36 +- .../golang.org/x/sys/unix/asm_linux_amd64.s | 30 +- vendor/golang.org/x/sys/unix/asm_linux_arm.s | 35 +- .../golang.org/x/sys/unix/asm_linux_arm64.s | 30 +- .../golang.org/x/sys/unix/asm_linux_mips64x.s | 36 +- .../golang.org/x/sys/unix/asm_linux_mipsx.s | 33 +- .../golang.org/x/sys/unix/asm_linux_ppc64x.s | 30 +- .../golang.org/x/sys/unix/asm_linux_s390x.s | 28 + .../golang.org/x/sys/unix/asm_openbsd_arm.s | 29 + vendor/golang.org/x/sys/unix/cap_freebsd.go | 195 + vendor/golang.org/x/sys/unix/dev_darwin.go | 24 + vendor/golang.org/x/sys/unix/dev_dragonfly.go | 30 + vendor/golang.org/x/sys/unix/dev_freebsd.go | 30 + vendor/golang.org/x/sys/unix/dev_linux.go | 42 + vendor/golang.org/x/sys/unix/dev_netbsd.go | 29 + vendor/golang.org/x/sys/unix/dev_openbsd.go | 29 + vendor/golang.org/x/sys/unix/dirent.go | 89 +- vendor/golang.org/x/sys/unix/env_unix.go | 6 +- vendor/golang.org/x/sys/unix/env_unset.go | 14 - .../x/sys/unix/errors_freebsd_386.go | 227 + .../x/sys/unix/errors_freebsd_amd64.go | 227 + .../x/sys/unix/errors_freebsd_arm.go | 226 + vendor/golang.org/x/sys/unix/fcntl.go | 28 + .../x/sys/unix/fcntl_linux_32bit.go | 13 + vendor/golang.org/x/sys/unix/gccgo.go | 19 +- vendor/golang.org/x/sys/unix/gccgo_c.c | 8 +- .../x/sys/unix/gccgo_linux_amd64.go | 2 +- .../x/sys/unix/gccgo_linux_sparc64.go | 20 - vendor/golang.org/x/sys/unix/mkall.sh | 29 +- vendor/golang.org/x/sys/unix/mkerrors.sh | 85 +- vendor/golang.org/x/sys/unix/mkpost.go | 28 +- vendor/golang.org/x/sys/unix/mksyscall.pl | 17 +- .../golang.org/x/sys/unix/mksysnum_freebsd.pl | 13 - .../golang.org/x/sys/unix/mksysnum_netbsd.pl | 2 +- vendor/golang.org/x/sys/unix/pagesize_unix.go | 15 + vendor/golang.org/x/sys/unix/race.go | 2 +- vendor/golang.org/x/sys/unix/race0.go | 2 +- .../golang.org/x/sys/unix/sockcmsg_linux.go | 2 +- vendor/golang.org/x/sys/unix/syscall.go | 35 +- vendor/golang.org/x/sys/unix/syscall_bsd.go | 100 +- .../golang.org/x/sys/unix/syscall_darwin.go | 167 +- .../x/sys/unix/syscall_darwin_386.go | 19 +- .../x/sys/unix/syscall_darwin_amd64.go | 21 +- .../x/sys/unix/syscall_darwin_arm.go | 23 +- .../x/sys/unix/syscall_darwin_arm64.go | 19 +- .../x/sys/unix/syscall_dragonfly.go | 158 +- .../x/sys/unix/syscall_dragonfly_amd64.go | 17 +- .../golang.org/x/sys/unix/syscall_freebsd.go | 176 +- .../x/sys/unix/syscall_freebsd_386.go | 17 +- .../x/sys/unix/syscall_freebsd_amd64.go | 17 +- .../x/sys/unix/syscall_freebsd_arm.go | 17 +- vendor/golang.org/x/sys/unix/syscall_linux.go | 185 +- .../x/sys/unix/syscall_linux_386.go | 22 +- .../x/sys/unix/syscall_linux_amd64.go | 35 +- .../x/sys/unix/syscall_linux_arm.go | 18 +- .../x/sys/unix/syscall_linux_arm64.go | 28 +- .../golang.org/x/sys/unix/syscall_linux_gc.go | 14 + .../x/sys/unix/syscall_linux_gccgo.go | 21 + .../x/sys/unix/syscall_linux_mips64x.go | 29 +- .../x/sys/unix/syscall_linux_mipsx.go | 21 +- .../x/sys/unix/syscall_linux_ppc64x.go | 21 +- .../x/sys/unix/syscall_linux_s390x.go | 18 +- .../x/sys/unix/syscall_linux_sparc64.go | 37 +- .../golang.org/x/sys/unix/syscall_netbsd.go | 133 +- .../x/sys/unix/syscall_netbsd_386.go | 17 +- .../x/sys/unix/syscall_netbsd_amd64.go | 17 +- .../x/sys/unix/syscall_netbsd_arm.go | 17 +- .../golang.org/x/sys/unix/syscall_openbsd.go | 158 +- .../x/sys/unix/syscall_openbsd_386.go | 17 +- .../x/sys/unix/syscall_openbsd_amd64.go | 17 +- .../x/sys/unix/syscall_openbsd_arm.go | 33 + .../golang.org/x/sys/unix/syscall_solaris.go | 96 +- .../x/sys/unix/syscall_solaris_amd64.go | 20 +- vendor/golang.org/x/sys/unix/syscall_unix.go | 101 + vendor/golang.org/x/sys/unix/timestruct.go | 82 + vendor/golang.org/x/sys/unix/types_darwin.go | 27 + .../golang.org/x/sys/unix/types_dragonfly.go | 38 + vendor/golang.org/x/sys/unix/types_freebsd.go | 49 + vendor/golang.org/x/sys/unix/types_netbsd.go | 49 + vendor/golang.org/x/sys/unix/types_openbsd.go | 38 + vendor/golang.org/x/sys/unix/types_solaris.go | 22 +- .../x/sys/unix/zerrors_darwin_386.go | 485 +- .../x/sys/unix/zerrors_darwin_amd64.go | 485 +- .../x/sys/unix/zerrors_darwin_arm.go | 496 +- .../x/sys/unix/zerrors_darwin_arm64.go | 485 +- .../x/sys/unix/zerrors_dragonfly_amd64.go | 288 +- .../x/sys/unix/zerrors_freebsd_386.go | 3185 ++--- .../x/sys/unix/zerrors_freebsd_amd64.go | 3191 ++--- .../x/sys/unix/zerrors_freebsd_arm.go | 3180 ++--- .../x/sys/unix/zerrors_linux_386.go | 645 +- .../x/sys/unix/zerrors_linux_amd64.go | 647 +- .../x/sys/unix/zerrors_linux_arm.go | 648 +- .../x/sys/unix/zerrors_linux_arm64.go | 648 +- .../x/sys/unix/zerrors_linux_mips.go | 650 +- .../x/sys/unix/zerrors_linux_mips64.go | 652 +- .../x/sys/unix/zerrors_linux_mips64le.go | 652 +- .../x/sys/unix/zerrors_linux_mipsle.go | 650 +- .../x/sys/unix/zerrors_linux_ppc64.go | 649 +- .../x/sys/unix/zerrors_linux_ppc64le.go | 649 +- .../x/sys/unix/zerrors_linux_s390x.go | 647 +- .../x/sys/unix/zerrors_netbsd_386.go | 278 +- .../x/sys/unix/zerrors_netbsd_amd64.go | 278 +- .../x/sys/unix/zerrors_netbsd_arm.go | 281 +- .../x/sys/unix/zerrors_openbsd_386.go | 268 +- .../x/sys/unix/zerrors_openbsd_amd64.go | 268 +- .../x/sys/unix/zerrors_openbsd_arm.go | 1602 +++ .../x/sys/unix/zerrors_solaris_amd64.go | 342 +- .../golang.org/x/sys/unix/zptrace386_linux.go | 80 + .../golang.org/x/sys/unix/zptracearm_linux.go | 41 + .../x/sys/unix/zptracemips_linux.go | 50 + .../x/sys/unix/zptracemipsle_linux.go | 50 + .../x/sys/unix/zsyscall_darwin_386.go | 355 +- .../x/sys/unix/zsyscall_darwin_amd64.go | 370 +- .../x/sys/unix/zsyscall_darwin_arm.go | 357 +- .../x/sys/unix/zsyscall_darwin_arm64.go | 355 +- .../x/sys/unix/zsyscall_dragonfly_amd64.go | 251 +- .../x/sys/unix/zsyscall_freebsd_386.go | 438 +- .../x/sys/unix/zsyscall_freebsd_amd64.go | 438 +- .../x/sys/unix/zsyscall_freebsd_arm.go | 438 +- .../x/sys/unix/zsyscall_linux_386.go | 106 +- .../x/sys/unix/zsyscall_linux_amd64.go | 132 +- .../x/sys/unix/zsyscall_linux_arm.go | 106 +- .../x/sys/unix/zsyscall_linux_arm64.go | 112 +- .../x/sys/unix/zsyscall_linux_mips.go | 122 +- .../x/sys/unix/zsyscall_linux_mips64.go | 127 +- .../x/sys/unix/zsyscall_linux_mips64le.go | 127 +- .../x/sys/unix/zsyscall_linux_mipsle.go | 122 +- .../x/sys/unix/zsyscall_linux_ppc64.go | 118 +- .../x/sys/unix/zsyscall_linux_ppc64le.go | 118 +- .../x/sys/unix/zsyscall_linux_s390x.go | 106 +- .../x/sys/unix/zsyscall_linux_sparc64.go | 10 + .../x/sys/unix/zsyscall_netbsd_386.go | 263 +- .../x/sys/unix/zsyscall_netbsd_amd64.go | 263 +- .../x/sys/unix/zsyscall_netbsd_arm.go | 265 +- .../x/sys/unix/zsyscall_openbsd_386.go | 274 +- .../x/sys/unix/zsyscall_openbsd_amd64.go | 274 +- .../x/sys/unix/zsyscall_openbsd_arm.go | 1493 ++ .../x/sys/unix/zsyscall_solaris_amd64.go | 118 +- .../x/sys/unix/zsysctl_openbsd_386.go | 270 + .../x/sys/unix/zsysctl_openbsd_amd64.go | 270 + .../x/sys/unix/zsysctl_openbsd_arm.go | 270 + .../x/sys/unix/zsysnum_darwin_386.go | 60 +- .../x/sys/unix/zsysnum_darwin_amd64.go | 60 +- .../x/sys/unix/zsysnum_darwin_arm.go | 120 +- .../x/sys/unix/zsysnum_darwin_arm64.go | 60 +- .../x/sys/unix/zsysnum_freebsd_386.go | 686 +- .../x/sys/unix/zsysnum_freebsd_amd64.go | 686 +- .../x/sys/unix/zsysnum_freebsd_arm.go | 686 +- .../x/sys/unix/zsysnum_linux_386.go | 2 + .../x/sys/unix/zsysnum_linux_amd64.go | 1 + .../x/sys/unix/zsysnum_linux_arm.go | 1 + .../x/sys/unix/zsysnum_linux_arm64.go | 1 + .../x/sys/unix/zsysnum_linux_mips.go | 1 + .../x/sys/unix/zsysnum_linux_mips64.go | 1 + .../x/sys/unix/zsysnum_linux_mips64le.go | 1 + .../x/sys/unix/zsysnum_linux_mipsle.go | 1 + .../x/sys/unix/zsysnum_linux_ppc64.go | 4 + .../x/sys/unix/zsysnum_linux_ppc64le.go | 4 + .../x/sys/unix/zsysnum_linux_s390x.go | 47 +- .../x/sys/unix/zsysnum_netbsd_386.go | 1 + .../x/sys/unix/zsysnum_netbsd_amd64.go | 1 + .../x/sys/unix/zsysnum_netbsd_arm.go | 1 + .../x/sys/unix/zsysnum_openbsd_arm.go | 213 + .../x/sys/unix/zsysnum_solaris_amd64.go | 13 - .../x/sys/unix/ztypes_darwin_386.go | 158 +- .../x/sys/unix/ztypes_darwin_amd64.go | 199 +- .../x/sys/unix/ztypes_darwin_arm.go | 153 +- .../x/sys/unix/ztypes_darwin_arm64.go | 204 +- .../x/sys/unix/ztypes_dragonfly_amd64.go | 143 +- .../x/sys/unix/ztypes_freebsd_386.go | 111 +- .../x/sys/unix/ztypes_freebsd_amd64.go | 107 +- .../x/sys/unix/ztypes_freebsd_arm.go | 119 +- .../golang.org/x/sys/unix/ztypes_linux_386.go | 854 +- .../x/sys/unix/ztypes_linux_amd64.go | 861 +- .../golang.org/x/sys/unix/ztypes_linux_arm.go | 896 +- .../x/sys/unix/ztypes_linux_arm64.go | 863 +- .../x/sys/unix/ztypes_linux_mips.go | 860 +- .../x/sys/unix/ztypes_linux_mips64.go | 859 +- .../x/sys/unix/ztypes_linux_mips64le.go | 859 +- .../x/sys/unix/ztypes_linux_mipsle.go | 860 +- .../x/sys/unix/ztypes_linux_ppc64.go | 869 +- .../x/sys/unix/ztypes_linux_ppc64le.go | 869 +- .../x/sys/unix/ztypes_linux_s390x.go | 775 +- .../x/sys/unix/ztypes_linux_sparc64.go | 222 +- .../x/sys/unix/ztypes_netbsd_386.go | 56 +- .../x/sys/unix/ztypes_netbsd_amd64.go | 56 +- .../x/sys/unix/ztypes_netbsd_arm.go | 56 +- .../x/sys/unix/ztypes_openbsd_386.go | 47 +- .../x/sys/unix/ztypes_openbsd_amd64.go | 47 +- .../x/sys/unix/ztypes_openbsd_arm.go | 477 + .../x/sys/unix/ztypes_solaris_amd64.go | 205 +- .../x/sys/windows/asm_windows_386.s | 13 + .../x/sys/windows/asm_windows_amd64.s | 13 + .../golang.org/x/sys/windows/dll_windows.go | 378 + .../golang.org/x/sys/windows/env_windows.go | 29 + vendor/golang.org/x/sys/windows/eventlog.go | 20 + .../golang.org/x/sys/windows/exec_windows.go | 97 + .../x/sys/windows/memory_windows.go | 26 + vendor/golang.org/x/sys/windows/mksyscall.go | 7 + vendor/golang.org/x/sys/windows/race.go | 30 + vendor/golang.org/x/sys/windows/race0.go | 25 + .../x/sys/windows/security_windows.go | 476 + vendor/golang.org/x/sys/windows/service.go | 164 + vendor/golang.org/x/sys/windows/str.go | 22 + vendor/golang.org/x/sys/windows/syscall.go | 74 + .../x/sys/windows/syscall_windows.go | 1153 ++ .../golang.org/x/sys/windows/types_windows.go | 1333 ++ .../x/sys/windows/types_windows_386.go | 22 + .../x/sys/windows/types_windows_amd64.go | 22 + .../x/sys/windows/zsyscall_windows.go | 2687 ++++ vendor/golang.org/x/text/AUTHORS | 3 + vendor/golang.org/x/text/CONTRIBUTORS | 3 + vendor/golang.org/x/text/LICENSE | 27 + vendor/golang.org/x/text/PATENTS | 22 + vendor/golang.org/x/text/internal/gen/code.go | 369 + vendor/golang.org/x/text/internal/gen/gen.go | 333 + .../x/text/internal/triegen/compact.go | 58 + .../x/text/internal/triegen/print.go | 251 + .../x/text/internal/triegen/triegen.go | 494 + vendor/golang.org/x/text/internal/ucd/ucd.go | 371 + .../golang.org/x/text/transform/transform.go | 705 + vendor/golang.org/x/text/unicode/cldr/base.go | 105 + vendor/golang.org/x/text/unicode/cldr/cldr.go | 130 + .../golang.org/x/text/unicode/cldr/collate.go | 359 + .../golang.org/x/text/unicode/cldr/decode.go | 171 + .../golang.org/x/text/unicode/cldr/makexml.go | 400 + .../golang.org/x/text/unicode/cldr/resolve.go | 602 + .../golang.org/x/text/unicode/cldr/slice.go | 144 + vendor/golang.org/x/text/unicode/cldr/xml.go | 1494 ++ .../x/text/unicode/norm/composition.go | 508 + .../x/text/unicode/norm/forminfo.go | 259 + .../golang.org/x/text/unicode/norm/input.go | 109 + vendor/golang.org/x/text/unicode/norm/iter.go | 457 + .../x/text/unicode/norm/maketables.go | 976 ++ .../x/text/unicode/norm/normalize.go | 609 + .../x/text/unicode/norm/readwriter.go | 125 + .../x/text/unicode/norm/tables10.0.0.go | 7653 +++++++++++ .../x/text/unicode/norm/tables9.0.0.go | 7633 +++++++++++ .../x/text/unicode/norm/transform.go | 88 + vendor/golang.org/x/text/unicode/norm/trie.go | 54 + .../golang.org/x/text/unicode/norm/triegen.go | 117 + vendor/gopkg.in/yaml.v2/.travis.yml | 12 + vendor/gopkg.in/yaml.v2/LICENSE | 201 + .../gopkg.in/yaml.v2/LICENSE.libyaml | 16 +- vendor/gopkg.in/yaml.v2/NOTICE | 13 + vendor/gopkg.in/yaml.v2/README.md | 133 + vendor/gopkg.in/yaml.v2/apic.go | 739 + vendor/gopkg.in/yaml.v2/decode.go | 775 ++ vendor/gopkg.in/yaml.v2/emitterc.go | 1685 +++ vendor/gopkg.in/yaml.v2/encode.go | 362 + vendor/gopkg.in/yaml.v2/go.mod | 5 + vendor/gopkg.in/yaml.v2/parserc.go | 1095 ++ vendor/gopkg.in/yaml.v2/readerc.go | 412 + vendor/gopkg.in/yaml.v2/resolve.go | 258 + vendor/gopkg.in/yaml.v2/scannerc.go | 2696 ++++ vendor/gopkg.in/yaml.v2/sorter.go | 113 + vendor/gopkg.in/yaml.v2/writerc.go | 26 + vendor/gopkg.in/yaml.v2/yaml.go | 466 + vendor/gopkg.in/yaml.v2/yamlh.go | 738 + vendor/gopkg.in/yaml.v2/yamlprivateh.go | 173 + 2663 files changed, 577470 insertions(+), 48378 deletions(-) create mode 100755 INTEGRATION.md create mode 100755 Makefile create mode 100755 ci-scripts/integration-test-disable-gui.sh rename ci-scripts/{integration-test-disable-seed-api.sh => integration-test-enable-seed-api.sh} (72%) create mode 100755 ci-scripts/ui-e2e.sh create mode 100755 cmd/address_stats/address_stats.go create mode 100755 cmd/cipher-testdata/cipher-testdata.go create mode 100755 cmd/newcoin/README.md create mode 100755 cmd/newcoin/newcoin.go delete mode 100755 data.db create mode 100755 docker/images/dev-cli/Dockerfile create mode 100755 docker/images/dev-cli/README.md create mode 100755 docker/images/dev-cli/repo-info/README.md create mode 100755 docker/images/dev-cli/repo-info/local/develop.md create mode 100755 docker/images/dev-cli/repo-info/remote/develop.md create mode 100755 docker/images/dev-docker/Dockerfile create mode 100755 docker/images/dev-docker/README.md create mode 100755 docker/images/dev-docker/dockerd-entrypoint.sh create mode 100755 docker/images/dev-docker/modprobe.sh create mode 100755 docker/images/mainnet/README.md create mode 100755 docker/images/mainnet/hooks/push create mode 100755 docker/images/mainnet/repo-info/README.md create mode 100755 docker/images/mainnet/repo-info/local/develop-arm32v5.md create mode 100755 docker/images/mainnet/repo-info/local/develop-arm32v6.md create mode 100755 docker/images/mainnet/repo-info/local/develop-arm32v7.md create mode 100755 docker/images/mainnet/repo-info/local/develop-arm64v8.md create mode 100755 docker/images/mainnet/repo-info/local/develop.md create mode 100755 docker/images/mainnet/repo-info/local/latest.md create mode 100755 docker/images/mainnet/repo-info/local/release-v0.22.0.md create mode 100755 docker/images/mainnet/repo-info/local/release-v0.23.0.md create mode 100755 docker/images/mainnet/repo-info/remote/develop-arm32v5.md create mode 100755 docker/images/mainnet/repo-info/remote/develop-arm32v6.md create mode 100755 docker/images/mainnet/repo-info/remote/develop-arm32v7.md create mode 100755 docker/images/mainnet/repo-info/remote/develop-arm64v8.md create mode 100755 docker/images/mainnet/repo-info/remote/develop.md create mode 100755 docker/images/mainnet/repo-info/remote/latest.md create mode 100755 docker/images/mainnet/repo-info/remote/release-v0.22.0.md create mode 100755 docker/images/mainnet/repo-info/remote/release-v0.23.0.md create mode 100755 docs/assets/sky.libc.jpg create mode 100755 docs/libc/API.md create mode 100755 electron/build/icons/icon512x512.png delete mode 100755 electron/data.db create mode 100755 electron/npm-debug.log create mode 100755 electron/package-lock.json delete mode 100755 electron/src/node_modules/.yarn-integrity delete mode 100755 electron/src/node_modules/axios/CHANGELOG.md delete mode 100755 electron/src/node_modules/axios/LICENSE delete mode 100755 electron/src/node_modules/axios/README.md delete mode 100755 electron/src/node_modules/axios/UPGRADE_GUIDE.md delete mode 100755 electron/src/node_modules/axios/dist/axios.js delete mode 100755 electron/src/node_modules/axios/dist/axios.map delete mode 100755 electron/src/node_modules/axios/dist/axios.min.js delete mode 100755 electron/src/node_modules/axios/dist/axios.min.map delete mode 100755 electron/src/node_modules/axios/index.d.ts delete mode 100755 electron/src/node_modules/axios/index.js delete mode 100755 electron/src/node_modules/axios/lib/adapters/README.md delete mode 100755 electron/src/node_modules/axios/lib/adapters/http.js delete mode 100755 electron/src/node_modules/axios/lib/adapters/xhr.js delete mode 100755 electron/src/node_modules/axios/lib/axios.js delete mode 100755 electron/src/node_modules/axios/lib/cancel/Cancel.js delete mode 100755 electron/src/node_modules/axios/lib/cancel/CancelToken.js delete mode 100755 electron/src/node_modules/axios/lib/cancel/isCancel.js delete mode 100755 electron/src/node_modules/axios/lib/core/Axios.js delete mode 100755 electron/src/node_modules/axios/lib/core/InterceptorManager.js delete mode 100755 electron/src/node_modules/axios/lib/core/README.md delete mode 100755 electron/src/node_modules/axios/lib/core/createError.js delete mode 100755 electron/src/node_modules/axios/lib/core/dispatchRequest.js delete mode 100755 electron/src/node_modules/axios/lib/core/enhanceError.js delete mode 100755 electron/src/node_modules/axios/lib/core/settle.js delete mode 100755 electron/src/node_modules/axios/lib/core/transformData.js delete mode 100755 electron/src/node_modules/axios/lib/defaults.js delete mode 100755 electron/src/node_modules/axios/lib/helpers/README.md delete mode 100755 electron/src/node_modules/axios/lib/helpers/bind.js delete mode 100755 electron/src/node_modules/axios/lib/helpers/btoa.js delete mode 100755 electron/src/node_modules/axios/lib/helpers/buildURL.js delete mode 100755 electron/src/node_modules/axios/lib/helpers/combineURLs.js delete mode 100755 electron/src/node_modules/axios/lib/helpers/cookies.js delete mode 100755 electron/src/node_modules/axios/lib/helpers/deprecatedMethod.js delete mode 100755 electron/src/node_modules/axios/lib/helpers/isAbsoluteURL.js delete mode 100755 electron/src/node_modules/axios/lib/helpers/isURLSameOrigin.js delete mode 100755 electron/src/node_modules/axios/lib/helpers/normalizeHeaderName.js delete mode 100755 electron/src/node_modules/axios/lib/helpers/parseHeaders.js delete mode 100755 electron/src/node_modules/axios/lib/helpers/spread.js delete mode 100755 electron/src/node_modules/axios/lib/utils.js delete mode 100755 electron/src/node_modules/axios/package.json delete mode 100755 electron/src/node_modules/debug/.coveralls.yml delete mode 100755 electron/src/node_modules/debug/.eslintrc delete mode 100755 electron/src/node_modules/debug/.npmignore delete mode 100755 electron/src/node_modules/debug/.travis.yml delete mode 100755 electron/src/node_modules/debug/CHANGELOG.md delete mode 100755 electron/src/node_modules/debug/LICENSE delete mode 100755 electron/src/node_modules/debug/Makefile delete mode 100755 electron/src/node_modules/debug/README.md delete mode 100755 electron/src/node_modules/debug/component.json delete mode 100755 electron/src/node_modules/debug/karma.conf.js delete mode 100755 electron/src/node_modules/debug/node.js delete mode 100755 electron/src/node_modules/debug/package.json delete mode 100755 electron/src/node_modules/debug/src/browser.js delete mode 100755 electron/src/node_modules/debug/src/debug.js delete mode 100755 electron/src/node_modules/debug/src/index.js delete mode 100755 electron/src/node_modules/debug/src/inspector-log.js delete mode 100755 electron/src/node_modules/debug/src/node.js delete mode 100755 electron/src/node_modules/electron-context-menu/index.js delete mode 100755 electron/src/node_modules/electron-context-menu/license delete mode 100755 electron/src/node_modules/electron-context-menu/package.json delete mode 100755 electron/src/node_modules/electron-context-menu/readme.md delete mode 100755 electron/src/node_modules/electron-debug/index.js delete mode 100755 electron/src/node_modules/electron-debug/node_modules/electron-is-dev/index.js delete mode 100755 electron/src/node_modules/electron-debug/node_modules/electron-is-dev/license delete mode 100755 electron/src/node_modules/electron-debug/node_modules/electron-is-dev/package.json delete mode 100755 electron/src/node_modules/electron-debug/node_modules/electron-is-dev/readme.md delete mode 100755 electron/src/node_modules/electron-debug/package.json delete mode 100755 electron/src/node_modules/electron-debug/readme.md delete mode 100755 electron/src/node_modules/electron-dl/index.js delete mode 100755 electron/src/node_modules/electron-dl/package.json delete mode 100755 electron/src/node_modules/electron-dl/readme.md delete mode 100755 electron/src/node_modules/electron-is-accelerator/.jshintrc delete mode 100755 electron/src/node_modules/electron-is-accelerator/.npmignore delete mode 100755 electron/src/node_modules/electron-is-accelerator/.travis.yml delete mode 100755 electron/src/node_modules/electron-is-accelerator/README.md delete mode 100755 electron/src/node_modules/electron-is-accelerator/index.js delete mode 100755 electron/src/node_modules/electron-is-accelerator/package.json delete mode 100755 electron/src/node_modules/electron-is-accelerator/test.js delete mode 100755 electron/src/node_modules/electron-is-dev/index.js delete mode 100755 electron/src/node_modules/electron-is-dev/license delete mode 100755 electron/src/node_modules/electron-is-dev/package.json delete mode 100755 electron/src/node_modules/electron-is-dev/readme.md delete mode 100755 electron/src/node_modules/electron-localshortcut/README.md delete mode 100755 electron/src/node_modules/electron-localshortcut/index.js delete mode 100755 electron/src/node_modules/electron-localshortcut/license delete mode 100755 electron/src/node_modules/electron-localshortcut/package.json delete mode 100755 electron/src/node_modules/electron-log/README.md delete mode 100755 electron/src/node_modules/electron-log/index.js delete mode 100755 electron/src/node_modules/electron-log/package.json delete mode 100755 electron/src/node_modules/ext-list/index.js delete mode 100755 electron/src/node_modules/ext-list/package.json delete mode 100755 electron/src/node_modules/ext-list/readme.md delete mode 100755 electron/src/node_modules/ext-name/index.js delete mode 100755 electron/src/node_modules/ext-name/license delete mode 100755 electron/src/node_modules/ext-name/package.json delete mode 100755 electron/src/node_modules/ext-name/readme.md delete mode 100755 electron/src/node_modules/follow-redirects/README.md delete mode 100755 electron/src/node_modules/follow-redirects/http.js delete mode 100755 electron/src/node_modules/follow-redirects/https.js delete mode 100755 electron/src/node_modules/follow-redirects/index.js delete mode 100755 electron/src/node_modules/follow-redirects/node_modules/debug/.coveralls.yml delete mode 100755 electron/src/node_modules/follow-redirects/node_modules/debug/.eslintrc delete mode 100755 electron/src/node_modules/follow-redirects/node_modules/debug/.npmignore delete mode 100755 electron/src/node_modules/follow-redirects/node_modules/debug/.travis.yml delete mode 100755 electron/src/node_modules/follow-redirects/node_modules/debug/CHANGELOG.md delete mode 100755 electron/src/node_modules/follow-redirects/node_modules/debug/LICENSE delete mode 100755 electron/src/node_modules/follow-redirects/node_modules/debug/Makefile delete mode 100755 electron/src/node_modules/follow-redirects/node_modules/debug/README.md delete mode 100755 electron/src/node_modules/follow-redirects/node_modules/debug/karma.conf.js delete mode 100755 electron/src/node_modules/follow-redirects/node_modules/debug/node.js delete mode 100755 electron/src/node_modules/follow-redirects/node_modules/debug/package.json delete mode 100755 electron/src/node_modules/follow-redirects/node_modules/debug/src/browser.js delete mode 100755 electron/src/node_modules/follow-redirects/node_modules/debug/src/debug.js delete mode 100755 electron/src/node_modules/follow-redirects/node_modules/debug/src/index.js delete mode 100755 electron/src/node_modules/follow-redirects/node_modules/debug/src/node.js delete mode 100755 electron/src/node_modules/follow-redirects/package.json delete mode 100755 electron/src/node_modules/is-buffer/README.md delete mode 100755 electron/src/node_modules/is-buffer/index.js delete mode 100755 electron/src/node_modules/is-buffer/package.json delete mode 100755 electron/src/node_modules/is-buffer/test/basic.js delete mode 100755 electron/src/node_modules/is-plain-obj/index.js delete mode 100755 electron/src/node_modules/is-plain-obj/license delete mode 100755 electron/src/node_modules/is-plain-obj/package.json delete mode 100755 electron/src/node_modules/is-plain-obj/readme.md delete mode 100755 electron/src/node_modules/keyboardevent-from-electron-accelerator/README.md delete mode 100755 electron/src/node_modules/keyboardevent-from-electron-accelerator/example.js delete mode 100755 electron/src/node_modules/keyboardevent-from-electron-accelerator/index.js delete mode 100755 electron/src/node_modules/keyboardevent-from-electron-accelerator/package.json delete mode 100755 electron/src/node_modules/keyboardevents-areequal/README.md delete mode 100755 electron/src/node_modules/keyboardevents-areequal/example.js delete mode 100755 electron/src/node_modules/keyboardevents-areequal/index.js delete mode 100755 electron/src/node_modules/keyboardevents-areequal/package.json delete mode 100755 electron/src/node_modules/mime-db/HISTORY.md delete mode 100755 electron/src/node_modules/mime-db/README.md delete mode 100755 electron/src/node_modules/mime-db/db.json delete mode 100755 electron/src/node_modules/mime-db/index.js delete mode 100755 electron/src/node_modules/mime-db/package.json delete mode 100755 electron/src/node_modules/modify-filename/index.js delete mode 100755 electron/src/node_modules/modify-filename/license delete mode 100755 electron/src/node_modules/modify-filename/package.json delete mode 100755 electron/src/node_modules/modify-filename/readme.md delete mode 100755 electron/src/node_modules/ms/index.js delete mode 100755 electron/src/node_modules/ms/package.json delete mode 100755 electron/src/node_modules/ms/readme.md delete mode 100755 electron/src/node_modules/path-exists/index.js delete mode 100755 electron/src/node_modules/path-exists/license delete mode 100755 electron/src/node_modules/path-exists/package.json delete mode 100755 electron/src/node_modules/path-exists/readme.md delete mode 100755 electron/src/node_modules/pupa/index.js delete mode 100755 electron/src/node_modules/pupa/license delete mode 100755 electron/src/node_modules/pupa/package.json delete mode 100755 electron/src/node_modules/pupa/readme.md delete mode 100755 electron/src/node_modules/sort-keys-length/README.md delete mode 100755 electron/src/node_modules/sort-keys-length/index.js delete mode 100755 electron/src/node_modules/sort-keys-length/package.json delete mode 100755 electron/src/node_modules/sort-keys/index.js delete mode 100755 electron/src/node_modules/sort-keys/license delete mode 100755 electron/src/node_modules/sort-keys/package.json delete mode 100755 electron/src/node_modules/sort-keys/readme.md delete mode 100755 electron/src/node_modules/unused-filename/index.js delete mode 100755 electron/src/node_modules/unused-filename/license delete mode 100755 electron/src/node_modules/unused-filename/package.json delete mode 100755 electron/src/node_modules/unused-filename/readme.md create mode 100755 electron/src/splash/index.html create mode 100755 electron/src/splash/logo-splash.png create mode 100755 electron/src/splash/spinner.png delete mode 100755 electron/src/yarn.lock delete mode 100755 electron/yarn.lock create mode 100755 fiber.toml create mode 100755 gz-c.asc create mode 100755 include/base64.h create mode 100755 include/cipher.address.go.h create mode 100755 include/cipher.crypto.go.h create mode 100755 include/cipher.hash.go.h create mode 100755 include/cipher.testsuite.testsuite.go.h create mode 100755 include/cli.create_rawtx.go.h create mode 100755 include/coin.outputs.go.h create mode 100755 include/coin.transactions.go.h create mode 100755 include/json.h create mode 100755 include/skycriterion.h create mode 100755 include/skyerrors.h create mode 100755 include/skystring.h create mode 100755 include/skytest.h create mode 100755 include/skytypes.h create mode 100755 include/wallet.entry.go.h create mode 100755 include/wallet.wallet.go.h create mode 100755 lib/cgo/README.md create mode 100755 lib/cgo/api.webrpc.client.go create mode 100755 lib/cgo/cipher.address.go create mode 100755 lib/cgo/cipher.crypto.go create mode 100755 lib/cgo/cipher.hash.go create mode 100755 lib/cgo/cli.create_rawtx.go create mode 100755 lib/cgo/coin.outputs.go create mode 100755 lib/cgo/libsky_error.go create mode 100755 lib/cgo/libsky_handle.go create mode 100755 lib/cgo/libsky_mem.go create mode 100755 lib/cgo/main.go create mode 100755 lib/cgo/tests/check_cipher.address.c create mode 100755 lib/cgo/tests/check_cipher.crypto.c create mode 100755 lib/cgo/tests/check_cipher.hash.c create mode 100755 lib/cgo/tests/check_cipher.testsuite.c create mode 100755 lib/cgo/tests/cipher.testsuite.c create mode 100755 lib/cgo/tests/libsky_criterion.c create mode 100755 lib/cgo/tests/libsky_string.c create mode 100755 lib/cgo/tests/libsky_testutil.c create mode 100755 lib/cgo/tests/testutils/base64.c create mode 100755 lib/cgo/tests/testutils/json.c create mode 100755 lib/cgo/tests/testutils/json_util.c create mode 100755 lib/cgo/wallet.wallet.go create mode 100755 lib/cgo/wallet_option.go delete mode 100755 peers.txt create mode 100755 run-live-integration-test-node.sh create mode 100755 src/api/address.go create mode 100755 src/api/address_test.go rename src/{gui => api}/blockchain.go (83%) rename src/{gui => api}/blockchain_test.go (89%) delete mode 100755 src/api/cli/integration/test-fixtures/status-use-csrf.golden rename src/{gui => api}/client.go (57%) rename src/{gui => api}/csrf.go (97%) rename src/{gui => api}/csrf_test.go (81%) rename src/{gui => api}/explorer.go (76%) rename src/{gui => api}/explorer_test.go (82%) rename src/{gui => api}/gateway.go (79%) rename src/{gui => api}/gatewayer_mock_test.go (87%) rename src/{gui => api}/health.go (97%) rename src/{gui => api}/health_test.go (97%) rename src/{gui => api}/http.go (58%) rename src/{gui => api}/http_test.go (65%) rename src/api/{cli => }/integration/empty.go (100%) rename src/{gui => api}/integration/integration_test.go (71%) rename src/api/{cli/integration/test-fixtures/wallet-history.golden => integration/testdata/address-transactions-2RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D.golden} (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/address-transactions-2b8ourW8fbTkC1yQBSLseVt6srhXvNMHvn9.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/address-transactions-ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od.golden (99%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/address-transactions-R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ.golden (92%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/balance-2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/balance-noaddrs.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/balance-two-addrs.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/block-hash-genesis.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/block-hash.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/block-last.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/block-seq-0.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/block-seq-100.golden (100%) create mode 100755 src/api/integration/testdata/blockchain-180.db rename src/{gui/integration/test-fixtures => api/integration/testdata}/blockchain-metadata.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/blockchain-progress.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/blocks-all.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/blocks-end-less-than-start.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/blocks-first-1.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/blocks-first-10.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/blocks-last-10.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/coinsupply.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/empty-addrs-unconfirmed-txs.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/empty-addrs.golden (99%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/genesis-raw-tx.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/genesis-transaction.golden (82%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/network-default-connections.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/network-exchangeable-connections.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/network-trusted-connections.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/outputs-addrs.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/outputs-hashes.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/outputs-noargs.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/richlist-150-include-distribution.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/richlist-8.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/richlist-all-include-distribution.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/richlist-all.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/richlist-default.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/single-addr.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/transaction.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/uxout-addr.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/uxout-noaddr.golden (100%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/uxout-spent.golden (99%) rename src/{gui/integration/test-fixtures => api/integration/testdata}/uxout.golden (100%) create mode 100755 src/api/integration/testdata/verify-address.golden create mode 100755 src/api/integration/testdata/verify-transaction-invalid-bad-sig.golden create mode 100755 src/api/integration/testdata/verify-transaction-invalid-empty.golden create mode 100755 src/api/integration/testdata/wallet-balance.golden rename src/{gui/integration/test-fixtures => api/integration/testdata}/wallet-transactions.golden (100%) rename src/{gui => api}/network.go (51%) rename src/{gui => api}/network_test.go (69%) rename src/{gui => api}/notes.go (99%) rename src/{gui => api}/spend.go (81%) rename src/{gui => api}/spend_test.go (89%) create mode 100755 src/api/transaction.go rename src/{gui => api}/transaction_test.go (67%) rename src/{gui => api}/uxout.go (99%) rename src/{gui => api}/uxout_test.go (97%) rename src/{gui => api}/wallet.go (87%) rename src/{gui => api}/wallet_test.go (96%) rename src/{gui => api}/webrpc_test.go (92%) create mode 100755 src/cipher/testsuite/testdata/input-hashes.golden create mode 100755 src/cipher/testsuite/testdata/many-addresses.golden create mode 100755 src/cipher/testsuite/testdata/seed-0000.golden create mode 100755 src/cipher/testsuite/testdata/seed-0001.golden create mode 100755 src/cipher/testsuite/testdata/seed-0002.golden create mode 100755 src/cipher/testsuite/testdata/seed-0003.golden create mode 100755 src/cipher/testsuite/testdata/seed-0004.golden create mode 100755 src/cipher/testsuite/testdata/seed-0005.golden create mode 100755 src/cipher/testsuite/testdata/seed-0006.golden create mode 100755 src/cipher/testsuite/testdata/seed-0007.golden create mode 100755 src/cipher/testsuite/testdata/seed-0008.golden create mode 100755 src/cipher/testsuite/testdata/seed-0009.golden create mode 100755 src/cipher/testsuite/testdata/seed-0010.golden create mode 100755 src/cipher/testsuite/testsuite.go create mode 100755 src/cipher/testsuite/testsuite_test.go rename src/{api => }/cli/add_private_key.go (100%) rename src/{api => }/cli/address_gen.go (97%) rename src/{api => }/cli/blocks.go (100%) rename src/{api => }/cli/broadcast_rawtx.go (100%) rename src/{api => }/cli/check_balance.go (100%) rename src/{api => }/cli/check_balance_test.go (100%) rename src/{api => }/cli/checkdb.go (60%) rename src/{api => }/cli/cli.go (93%) rename src/{api => }/cli/cli_test.go (91%) rename src/{api => }/cli/create_rawtx.go (98%) rename src/{api => }/cli/create_rawtx_test.go (100%) rename src/{api => }/cli/decryptWallet.go (99%) rename src/{api => }/cli/encrypt_wallet.go (99%) rename src/{api => }/cli/generate_addrs.go (100%) rename src/{api => }/cli/generate_wallet.go (99%) rename src/{gui => cli}/integration/empty.go (100%) rename src/{api => }/cli/integration/integration_test.go (93%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/address-balance.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/address-outputs.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/block0.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/blocks0-5.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/blocks180.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/decode-raw-transaction.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/generate-addresses-2.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/generate-addresses-encrypted.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/generate-addresses.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/genesis-transaction-cli.golden (87%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/genesis-transaction.golden (87%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/integration-test-encrypted.wlt (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/integration-test.wlt (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/last-blocks0.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/last-blocks1.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/last-blocks2.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/list-addresses.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/list-wallets.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/show-config-use-csrf.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/show-config.golden (100%) create mode 100755 src/cli/integration/testdata/status-use-csrf.golden rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/status.golden (90%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/two-addresses-outputs.golden (100%) rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/wallet-balance.golden (100%) create mode 100755 src/cli/integration/testdata/wallet-history.golden rename src/{api/cli/integration/test-fixtures => cli/integration/testdata}/wallet-outputs.golden (100%) rename src/{api => }/cli/last_blocks.go (100%) rename src/{api => }/cli/list_addrs.go (100%) rename src/{api => }/cli/list_wallets.go (100%) rename src/{api => }/cli/outputs.go (100%) rename src/{api => }/cli/send.go (100%) rename src/{api => }/cli/show_seed.go (99%) rename src/{api => }/cli/status.go (100%) rename src/{api => }/cli/transaction.go (100%) rename src/{api => }/cli/verify_address.go (100%) rename src/{api => }/cli/version.go (100%) rename src/{api => }/cli/wallet_dir.go (100%) rename src/{api => }/cli/wallet_history.go (100%) create mode 100755 src/daemon/announced_txns.go create mode 100755 src/daemon/daemoner_mock_test.go create mode 100755 src/daemon/heights.go create mode 100755 src/daemon/heights_test.go delete mode 100755 src/daemon/pool_test.go delete mode 100755 src/daemon/rpc.go delete mode 100755 src/daemon/visor.go delete mode 100755 src/daemon/visor_test.go delete mode 100755 src/gui/integration/test-fixtures/address-transactions-2RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D.golden create mode 100755 src/gui/static/dist/0.c5a8ce8f55ecb5290b5c.chunk.js create mode 100755 src/gui/static/dist/assets/i18n/en.json create mode 100755 src/gui/static/dist/assets/img/edit-blue.png create mode 100755 src/gui/static/dist/assets/img/lock-grey.png create mode 100755 src/gui/static/dist/assets/img/plus-green.png create mode 100755 src/gui/static/dist/assets/img/unlock-gold.png create mode 100755 src/gui/static/dist/header.250b4e23ed529c1ee94b.png delete mode 100755 src/gui/static/dist/header.f58db270477d6968f530.png create mode 100755 src/gui/static/dist/inline.2773fac96b73a466879f.bundle.js delete mode 100755 src/gui/static/dist/inline.318b50c57b4eba3d437b.bundle.js create mode 100755 src/gui/static/dist/main.58235971dca7e9a27da9.bundle.js delete mode 100755 src/gui/static/dist/main.87fed2fa81359655e221.bundle.js delete mode 100755 src/gui/static/dist/polyfills.c4b58e211f949e5897b0.bundle.js create mode 100755 src/gui/static/dist/polyfills.f43c2ec828cc11243da0.bundle.js delete mode 100755 src/gui/static/dist/styles.300106490a42a46b5413.bundle.css create mode 100755 src/gui/static/dist/styles.fb7904fac681023ce8b9.bundle.css create mode 100755 src/gui/static/e2e-proxy.config.js delete mode 100755 src/gui/static/e2e/app.e2e-spec.ts delete mode 100755 src/gui/static/e2e/app.po.ts create mode 100755 src/gui/static/e2e/onboarding.e2e-spec.ts create mode 100755 src/gui/static/e2e/onboarding.po.ts create mode 100755 src/gui/static/e2e/send.e2e-spec.ts create mode 100755 src/gui/static/e2e/send.po.ts create mode 100755 src/gui/static/e2e/transactions.e2e-spec.ts create mode 100755 src/gui/static/e2e/transactions.po.ts create mode 100755 src/gui/static/e2e/wallets.e2e-spec.ts create mode 100755 src/gui/static/e2e/wallets.po.ts create mode 100755 src/gui/static/src/app/app.translate-loader.ts delete mode 100755 src/gui/static/src/app/components/layout/footer/footer.component.html delete mode 100755 src/gui/static/src/app/components/layout/footer/footer.component.scss delete mode 100755 src/gui/static/src/app/components/layout/footer/footer.component.ts create mode 100755 src/gui/static/src/app/components/layout/loading-content/loading-content.component.html create mode 100755 src/gui/static/src/app/components/layout/loading-content/loading-content.component.scss create mode 100755 src/gui/static/src/app/components/layout/loading-content/loading-content.component.spec.ts create mode 100755 src/gui/static/src/app/components/layout/loading-content/loading-content.component.ts delete mode 100755 src/gui/static/src/app/components/pages/explorer/explorer.component.html delete mode 100755 src/gui/static/src/app/components/pages/explorer/explorer.component.ts create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.html create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.scss create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.spec.ts create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.ts create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.html create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.scss create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.spec.ts create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.ts create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.html create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.scss create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.spec.ts create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.ts create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.html create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.scss create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.spec.ts create mode 100755 src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.ts delete mode 100755 src/gui/static/src/app/models/connection.model.ts delete mode 100755 src/gui/static/src/app/pipes/transactions-amount.pipe.spec.ts delete mode 100755 src/gui/static/src/app/pipes/transactions-amount.pipe.ts create mode 100755 src/gui/static/src/app/services/nav-bar.service.spec.ts create mode 100755 src/gui/static/src/app/services/nav-bar.service.ts create mode 100755 src/gui/static/src/app/utils/errors.spec.ts create mode 100755 src/gui/static/src/app/utils/errors.ts delete mode 100755 src/gui/static/src/app/utils/index.ts create mode 100755 src/gui/static/src/assets/i18n/en.json create mode 100755 src/gui/static/src/assets/img/edit-blue.png create mode 100755 src/gui/static/src/assets/img/lock-grey.png create mode 100755 src/gui/static/src/assets/img/plus-green.png create mode 100755 src/gui/static/src/assets/img/unlock-gold.png create mode 100755 src/gui/static/src/theme/_tables.scss delete mode 100755 src/gui/transaction.go create mode 100755 src/skycoin/config.go create mode 100755 src/skycoin/parameters.go create mode 100755 src/skycoin/parameters_test.go create mode 100755 src/skycoin/skycoin.go create mode 100755 src/skycoin/testdata/test.fiber.toml rename src/testutil/{blockchain.go => testutil.go} (84%) create mode 100755 src/util/apputil/apputil.go create mode 100755 src/util/hexdump.go delete mode 100755 src/visor/blockchain_parser.go delete mode 100755 src/visor/blockdb/README.md delete mode 100755 src/visor/blockdb/blockdb.go create mode 100755 src/visor/blockdb/chain_meta.go rename src/{gui/integration/test-fixtures/blockchain-180.db => visor/blockdb/testdata/blockchain-180.no-unspent-addr-index.db} (97%) delete mode 100755 src/visor/bucket/bucket.go delete mode 100755 src/visor/bucket/bucket_test.go create mode 100755 src/visor/daemon_visor_test.go create mode 100755 src/visor/dbutil/dbutil.go create mode 100755 src/visor/parameters.go create mode 100755 src/visor/testdata/data.db.no-addr-txn-index create mode 100755 src/visor/testdata/data.db.no-addr-uxout-index create mode 100755 src/visor/testdata/data.db.notxn create mode 100755 src/visor/testdata/data.db.nouxout create mode 100755 src/visor/testdata/data.db.ok create mode 100755 src/visor/unspent_pooler_mock_test.go create mode 100755 template/coin.template create mode 100755 template/visor.template create mode 100755 vendor/github.com/NYTimes/gziphandler/.gitignore create mode 100755 vendor/github.com/NYTimes/gziphandler/.travis.yml create mode 100755 vendor/github.com/NYTimes/gziphandler/CODE_OF_CONDUCT.md create mode 100755 vendor/github.com/NYTimes/gziphandler/CONTRIBUTING.md create mode 100755 vendor/github.com/NYTimes/gziphandler/LICENSE create mode 100755 vendor/github.com/NYTimes/gziphandler/README.md create mode 100755 vendor/github.com/NYTimes/gziphandler/gzip.go create mode 100755 vendor/github.com/NYTimes/gziphandler/gzip_go18.go create mode 100755 vendor/github.com/fsnotify/fsnotify/.editorconfig create mode 100755 vendor/github.com/fsnotify/fsnotify/.gitignore create mode 100755 vendor/github.com/fsnotify/fsnotify/.travis.yml create mode 100755 vendor/github.com/fsnotify/fsnotify/AUTHORS create mode 100755 vendor/github.com/fsnotify/fsnotify/CHANGELOG.md create mode 100755 vendor/github.com/fsnotify/fsnotify/CONTRIBUTING.md create mode 100755 vendor/github.com/fsnotify/fsnotify/LICENSE create mode 100755 vendor/github.com/fsnotify/fsnotify/README.md create mode 100755 vendor/github.com/fsnotify/fsnotify/fen.go create mode 100755 vendor/github.com/fsnotify/fsnotify/fsnotify.go create mode 100755 vendor/github.com/fsnotify/fsnotify/inotify.go create mode 100755 vendor/github.com/fsnotify/fsnotify/inotify_poller.go create mode 100755 vendor/github.com/fsnotify/fsnotify/kqueue.go create mode 100755 vendor/github.com/fsnotify/fsnotify/open_mode_bsd.go create mode 100755 vendor/github.com/fsnotify/fsnotify/open_mode_darwin.go create mode 100755 vendor/github.com/fsnotify/fsnotify/windows.go create mode 100755 vendor/github.com/hashicorp/hcl/.gitignore create mode 100755 vendor/github.com/hashicorp/hcl/.travis.yml create mode 100755 vendor/github.com/hashicorp/hcl/LICENSE create mode 100755 vendor/github.com/hashicorp/hcl/Makefile create mode 100755 vendor/github.com/hashicorp/hcl/README.md create mode 100755 vendor/github.com/hashicorp/hcl/appveyor.yml create mode 100755 vendor/github.com/hashicorp/hcl/decoder.go create mode 100755 vendor/github.com/hashicorp/hcl/hcl.go create mode 100755 vendor/github.com/hashicorp/hcl/hcl/ast/ast.go create mode 100755 vendor/github.com/hashicorp/hcl/hcl/ast/walk.go create mode 100755 vendor/github.com/hashicorp/hcl/hcl/parser/error.go create mode 100755 vendor/github.com/hashicorp/hcl/hcl/parser/parser.go create mode 100755 vendor/github.com/hashicorp/hcl/hcl/printer/nodes.go create mode 100755 vendor/github.com/hashicorp/hcl/hcl/printer/printer.go create mode 100755 vendor/github.com/hashicorp/hcl/hcl/scanner/scanner.go create mode 100755 vendor/github.com/hashicorp/hcl/hcl/strconv/quote.go create mode 100755 vendor/github.com/hashicorp/hcl/hcl/token/position.go create mode 100755 vendor/github.com/hashicorp/hcl/hcl/token/token.go create mode 100755 vendor/github.com/hashicorp/hcl/json/parser/flatten.go create mode 100755 vendor/github.com/hashicorp/hcl/json/parser/parser.go create mode 100755 vendor/github.com/hashicorp/hcl/json/scanner/scanner.go create mode 100755 vendor/github.com/hashicorp/hcl/json/token/position.go create mode 100755 vendor/github.com/hashicorp/hcl/json/token/token.go create mode 100755 vendor/github.com/hashicorp/hcl/lex.go create mode 100755 vendor/github.com/hashicorp/hcl/parse.go create mode 100755 vendor/github.com/magiconair/properties/.gitignore create mode 100755 vendor/github.com/magiconair/properties/.travis.yml create mode 100755 vendor/github.com/magiconair/properties/CHANGELOG.md create mode 100755 vendor/github.com/magiconair/properties/LICENSE create mode 100755 vendor/github.com/magiconair/properties/README.md create mode 100755 vendor/github.com/magiconair/properties/decode.go create mode 100755 vendor/github.com/magiconair/properties/doc.go create mode 100755 vendor/github.com/magiconair/properties/integrate.go create mode 100755 vendor/github.com/magiconair/properties/lex.go create mode 100755 vendor/github.com/magiconair/properties/load.go create mode 100755 vendor/github.com/magiconair/properties/parser.go create mode 100755 vendor/github.com/magiconair/properties/properties.go create mode 100755 vendor/github.com/magiconair/properties/rangecheck.go create mode 100755 vendor/github.com/mitchellh/mapstructure/.travis.yml rename {electron/src/node_modules/mime-db => vendor/github.com/mitchellh/mapstructure}/LICENSE (95%) create mode 100755 vendor/github.com/mitchellh/mapstructure/README.md create mode 100755 vendor/github.com/mitchellh/mapstructure/decode_hooks.go create mode 100755 vendor/github.com/mitchellh/mapstructure/error.go create mode 100755 vendor/github.com/mitchellh/mapstructure/mapstructure.go create mode 100755 vendor/github.com/pelletier/go-toml/.gitignore create mode 100755 vendor/github.com/pelletier/go-toml/.travis.yml create mode 100755 vendor/github.com/pelletier/go-toml/LICENSE create mode 100755 vendor/github.com/pelletier/go-toml/README.md create mode 100755 vendor/github.com/pelletier/go-toml/benchmark.json create mode 100755 vendor/github.com/pelletier/go-toml/benchmark.sh create mode 100755 vendor/github.com/pelletier/go-toml/benchmark.toml create mode 100755 vendor/github.com/pelletier/go-toml/benchmark.yml create mode 100755 vendor/github.com/pelletier/go-toml/doc.go create mode 100755 vendor/github.com/pelletier/go-toml/example-crlf.toml create mode 100755 vendor/github.com/pelletier/go-toml/example.toml create mode 100755 vendor/github.com/pelletier/go-toml/fuzz.go create mode 100755 vendor/github.com/pelletier/go-toml/fuzz.sh create mode 100755 vendor/github.com/pelletier/go-toml/keysparsing.go create mode 100755 vendor/github.com/pelletier/go-toml/lexer.go create mode 100755 vendor/github.com/pelletier/go-toml/marshal.go create mode 100755 vendor/github.com/pelletier/go-toml/marshal_test.toml create mode 100755 vendor/github.com/pelletier/go-toml/parser.go create mode 100755 vendor/github.com/pelletier/go-toml/position.go create mode 100755 vendor/github.com/pelletier/go-toml/test.sh create mode 100755 vendor/github.com/pelletier/go-toml/token.go create mode 100755 vendor/github.com/pelletier/go-toml/toml.go create mode 100755 vendor/github.com/pelletier/go-toml/tomltree_create.go create mode 100755 vendor/github.com/pelletier/go-toml/tomltree_write.go create mode 100755 vendor/github.com/skycoin/skycoin/ci-scripts/add-key.sh create mode 100755 vendor/github.com/skycoin/skycoin/ci-scripts/build-wallet.sh create mode 100755 vendor/github.com/skycoin/skycoin/ci-scripts/certs/dist.p12 create mode 100755 vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-disable-gui.sh create mode 100755 vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-disable-wallet-api.sh create mode 100755 vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-enable-seed-api.sh create mode 100755 vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-live.sh create mode 100755 vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-stable.sh create mode 100755 vendor/github.com/skycoin/skycoin/ci-scripts/ui-e2e.sh create mode 100755 vendor/github.com/skycoin/skycoin/include/base64.h create mode 100755 vendor/github.com/skycoin/skycoin/include/cipher.address.go.h create mode 100755 vendor/github.com/skycoin/skycoin/include/cipher.crypto.go.h create mode 100755 vendor/github.com/skycoin/skycoin/include/cipher.hash.go.h create mode 100755 vendor/github.com/skycoin/skycoin/include/cipher.testsuite.testsuite.go.h create mode 100755 vendor/github.com/skycoin/skycoin/include/cli.create_rawtx.go.h create mode 100755 vendor/github.com/skycoin/skycoin/include/coin.outputs.go.h create mode 100755 vendor/github.com/skycoin/skycoin/include/coin.transactions.go.h create mode 100755 vendor/github.com/skycoin/skycoin/include/json.h create mode 100755 vendor/github.com/skycoin/skycoin/include/skycriterion.h create mode 100755 vendor/github.com/skycoin/skycoin/include/skyerrors.h create mode 100755 vendor/github.com/skycoin/skycoin/include/skystring.h create mode 100755 vendor/github.com/skycoin/skycoin/include/skytest.h create mode 100755 vendor/github.com/skycoin/skycoin/include/skytypes.h create mode 100755 vendor/github.com/skycoin/skycoin/include/wallet.entry.go.h create mode 100755 vendor/github.com/skycoin/skycoin/include/wallet.wallet.go.h create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/README.md create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/api.webrpc.client.go create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/cipher.address.go create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/cipher.crypto.go create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/cipher.hash.go create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/cli.create_rawtx.go create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/coin.outputs.go create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/libsky_error.go create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/libsky_handle.go create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/libsky_mem.go create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/main.go create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.address.c create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.crypto.c create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.hash.c create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.testsuite.c create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/tests/cipher.testsuite.c create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/tests/libsky_criterion.c create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/tests/libsky_string.c create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/tests/libsky_testutil.c create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/tests/testutils/base64.c create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/tests/testutils/json.c create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/tests/testutils/json_util.c create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/wallet.wallet.go create mode 100755 vendor/github.com/skycoin/skycoin/lib/cgo/wallet_option.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/address.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/address_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/blockchain.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/blockchain_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/client.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/csrf.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/csrf_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/explorer.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/explorer_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/gateway.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/gatewayer_mock_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/health.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/health_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/http.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/http_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/empty.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/integration_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-2RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-2b8ourW8fbTkC1yQBSLseVt6srhXvNMHvn9.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/balance-2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf.golden rename src/gui/integration/test-fixtures/wallet-balance.golden => vendor/github.com/skycoin/skycoin/src/api/integration/testdata/balance-noaddrs.golden (100%) create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/balance-two-addrs.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-hash-genesis.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-hash.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-last.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-seq-0.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-seq-100.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blockchain-180.db create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blockchain-metadata.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blockchain-progress.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-all.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-end-less-than-start.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-first-1.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-first-10.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-last-10.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/coinsupply.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/empty-addrs-unconfirmed-txs.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/empty-addrs.golden rename src/gui/static/src/app/components/pages/explorer/explorer.component.css => vendor/github.com/skycoin/skycoin/src/api/integration/testdata/genesis-raw-tx.golden (100%) create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/genesis-transaction.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/network-default-connections.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/network-exchangeable-connections.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/network-trusted-connections.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/outputs-addrs.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/outputs-hashes.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/outputs-noargs.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-150-include-distribution.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-8.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-all-include-distribution.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-all.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-default.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/single-addr.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/transaction.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout-addr.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout-noaddr.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout-spent.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/verify-address.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/verify-transaction-invalid-bad-sig.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/verify-transaction-invalid-empty.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/wallet-balance.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/integration/testdata/wallet-transactions.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/api/network.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/network_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/notes.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/spend.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/spend_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/transaction.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/transaction_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/uxout.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/uxout_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/wallet.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/wallet_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/README.md create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/block.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/block_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/client.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/client_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/gateway.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/gatewayer_mock_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/outputs.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/outputs_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/status.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/status_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/transaction.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/transaction_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/uxout.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/uxout_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/webrpc.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc/webrpc_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/api/webrpc_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/address.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/address_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/base58/base58.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_amd64.s create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_generic.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_noasm.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_vectors_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/internal/chacha20/chacha_generic.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/internal/chacha20/chacha_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/crypto.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/crypto_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/encoder/README.md create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/encoder/encoder.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/encoder/encoder_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/encoder/field.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/encrypt/scrypt_chacha20poly1305.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/encrypt/scrypt_chacha20poly1305_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/encrypt/sha256xor.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/encrypt/sha256xor_test.go rename electron/src/node_modules/ms/license.md => vendor/github.com/skycoin/skycoin/src/cipher/go-bip39/LICENSE (97%) create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/go-bip39/bip39.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/go-bip39/wordlist.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/hash.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/hash_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/pbkdf2/pbkdf2.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/pbkdf2/pbkdf2_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/poly1305/poly1305.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/poly1305/poly1305_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_amd64.s create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_arm.s create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_ref.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripemd160block.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripmd_160.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/scrypt/scrypt.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/scrypt/scrypt_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/README.md create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256_rand.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/COPYING create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/README.md create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/ec.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/ec_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/field.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/field_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/num.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/secp256k1.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/sig.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/sig_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xy.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xyz.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xyz_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_consts.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_init.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/input-hashes.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/many-addresses.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0000.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0001.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0002.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0003.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0004.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0005.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0006.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0007.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0008.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0009.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0010.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testsuite.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testsuite_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/add_private_key.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/address_gen.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/blocks.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/broadcast_rawtx.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/check_balance.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/check_balance_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/checkdb.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/cli.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/cli_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/create_rawtx.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/create_rawtx_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/decryptWallet.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/encrypt_wallet.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/generate_addrs.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/generate_wallet.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/empty.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/integration_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/address-balance.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/address-outputs.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/block0.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/blocks0-5.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/blocks180.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/decode-raw-transaction.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/generate-addresses-2.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/generate-addresses-encrypted.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/generate-addresses.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/genesis-transaction-cli.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/genesis-transaction.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/integration-test-encrypted.wlt create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/integration-test.wlt create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/last-blocks0.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/last-blocks1.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/last-blocks2.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/list-addresses.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/list-wallets.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/show-config-use-csrf.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/show-config.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/status-use-csrf.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/status.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/two-addresses-outputs.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/wallet-balance.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/wallet-history.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/wallet-outputs.golden create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/last_blocks.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/list_addrs.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/list_wallets.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/outputs.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/send.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/show_seed.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/status.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/transaction.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/verify_address.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/version.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/wallet_dir.go create mode 100755 vendor/github.com/skycoin/skycoin/src/cli/wallet_history.go create mode 100755 vendor/github.com/skycoin/skycoin/src/coin/block.go create mode 100755 vendor/github.com/skycoin/skycoin/src/coin/block_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/coin/coin_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/coin/math.go create mode 100755 vendor/github.com/skycoin/skycoin/src/coin/math_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/coin/outputs.go create mode 100755 vendor/github.com/skycoin/skycoin/src/coin/outputs_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/coin/transactions.go create mode 100755 vendor/github.com/skycoin/skycoin/src/coin/transactions_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/consensus/blockstat.go create mode 100755 vendor/github.com/skycoin/skycoin/src/consensus/connection_manager.go create mode 100755 vendor/github.com/skycoin/skycoin/src/consensus/consensus.go create mode 100755 vendor/github.com/skycoin/skycoin/src/consensus/consensus_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/consensus/example/README.md create mode 100755 vendor/github.com/skycoin/skycoin/src/consensus/example/example.go create mode 100755 vendor/github.com/skycoin/skycoin/src/consensus/example/example_gnet.go create mode 100755 vendor/github.com/skycoin/skycoin/src/consensus/example/example_minimal.go create mode 100755 vendor/github.com/skycoin/skycoin/src/consensus/participant.go create mode 100755 vendor/github.com/skycoin/skycoin/src/consensus/public_broadcast_channel/public_broadcast_channel.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/announced_txns.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/daemon.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/daemon_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/daemoner_mock_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/gateway.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/gateway_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/gnet/README.md create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/gnet/dispatcher.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/gnet/dispatcher_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/gnet/message.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/gnet/message_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/gnet/pool.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/gnet/pool_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/heights.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/heights_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/messages.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/messages_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/pex/README.md create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/pex/peerlist.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/pex/peerlist_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/pex/pex.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/pex/pex_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/pool.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/storage.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/storage_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/daemon/strand/strand.go create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/.angular-cli.json create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/.editorconfig create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/README.md create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/0.e4deea36eb603a33569a.chunk.js create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/3rdpartylicenses.txt create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/MaterialIcons-Regular.012cf6a10129e2275d79.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/MaterialIcons-Regular.570eb83859dc23dd0eec.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/MaterialIcons-Regular.a37b0c01c0baf1888ca8.ttf create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/MaterialIcons-Regular.e79bfd88537def476913.eot create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-Bold.42363955889f2f20c527.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-Bold.6ccafc6fabc0cc8a971a.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-BoldItalic.923dce74069362d168fe.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-BoldItalic.c414dad20c4e3020221c.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-Light.4be01e4a68be8bf590da.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-Light.770b27ec05c2f97a1a27.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-LightItalic.39e68da05bf8b4a77aa2.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-LightItalic.d10a437db5d8e2a52b4a.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-Regular.21b4caaaedc00594e7bd.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-Regular.98d953e74f174cf013b4.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-RegularItalic.9947360f79b09132fd21.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-RegularItalic.9eabbc2e01a7e17bb57d.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.eot create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.ijmap create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.svg create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.ttf create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/material-icons.css create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-Bold.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-Bold.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-BoldItalic.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-BoldItalic.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-Light.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-Light.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-LightItalic.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-LightItalic.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-Regular.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-Regular.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-RegularItalic.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-RegularItalic.woff2 rename src/gui/static/dist/header.e11f7c6852766b9319d6.png => vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/header.png (100%) create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/i18n/en.json create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/chevron-right-grey.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/close-grey.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/edit-blue.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/edit-grey.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/header.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/load-gold.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/lock-gold.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/lock-grey.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/logo-white.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/minus-grey.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/minus-red.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/money-gold.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/otc-background.jpg create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/plus-gold.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/plus-green.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/plus-grey.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/qr-code-black.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/send-black.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/send-blue.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/send-gold.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/send-white.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/transactions-black.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/unlock-gold.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/unlock-grey.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/wallet-black.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/logo-white.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/scripts/qrcode.min.js create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/favicon.ico create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/fontawesome-webfont.674f50d287a8c48dc19b.eot create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/fontawesome-webfont.912ec66d7572ff821749.svg create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/fontawesome-webfont.af7ae505a9eed503f8b8.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/fontawesome-webfont.b06871f281fee6b241d6.ttf create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/fontawesome-webfont.fee66e712a8a08eef580.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/header.03fb33b04c982a1a804d.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/header.e11f7c6852766b9319d6.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/index.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/inline.8a33a93a4aa42df0b418.bundle.js create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/main.c220990f848ddd42bbd1.bundle.js create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/polyfills.f43c2ec828cc11243da0.bundle.js create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/scripts.8c1255aec48c8ec38c00.bundle.js create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/dist/styles.f58b58865ca78ccb80f3.bundle.css create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/e2e-proxy.config.js create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/e2e/onboarding.e2e-spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/e2e/onboarding.po.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/e2e/send.e2e-spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/e2e/send.po.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/e2e/transactions.e2e-spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/e2e/transactions.po.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/e2e/tsconfig.e2e.json create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/e2e/wallets.e2e-spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/e2e/wallets.po.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/karma.conf.js create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/package-lock.json create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/package.json create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/protractor.conf.js create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/proxy.config.js create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.config.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.datatypes.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.module.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.theme.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.translate-loader.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.scss rename src/gui/static/src/app/components/pages/explorer/explorer.component.spec.ts => vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.spec.ts (56%) create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.scss rename src/gui/static/src/app/components/layout/footer/footer.component.spec.ts => vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.spec.ts (57%) create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.css create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.css create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.css create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.css create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/directives/dontsavepassword.directive.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/directives/dontsavepassword.directive.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-from-now.pipe.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-from-now.pipe.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-time.pipe.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-time.pipe.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/teller-status.pipe.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/teller-status.pipe.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/api.service.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/api.service.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/app.service.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/app.service.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/blockchain.service.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/blockchain.service.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/nav-bar.service.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/nav-bar.service.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/network.service.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/network.service.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/price.service.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/price.service.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/purchase.service.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/purchase.service.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wallet.service.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wallet.service.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wizard-guard.service.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wizard-guard.service.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/errors.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/errors.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/semver.spec.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/semver.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/.gitkeep create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.eot create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.ijmap create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.svg create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.ttf create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/material-icons.css create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-Bold.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-Bold.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-BoldItalic.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-BoldItalic.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-Light.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-Light.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-LightItalic.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-LightItalic.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-Regular.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-Regular.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-RegularItalic.woff create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-RegularItalic.woff2 create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/header.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/i18n/en.json create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/chevron-right-grey.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/close-grey.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/edit-blue.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/edit-grey.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/header.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/load-gold.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/lock-gold.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/lock-grey.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/logo-white.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/minus-grey.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/minus-red.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/money-gold.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/otc-background.jpg create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/plus-gold.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/plus-green.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/plus-grey.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/qr-code-black.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/send-black.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/send-blue.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/send-gold.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/send-white.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/transactions-black.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/unlock-gold.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/unlock-grey.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/wallet-black.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/logo-white.png create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/scripts/qrcode.min.js create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/current-skycoin.json create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/environments/environment.prod.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/environments/environment.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/favicon.ico create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/index.html create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/main.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/polyfills.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/styles.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/test.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/theme/_tables.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/theme/_variables.scss create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/tsconfig.app.json create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/tsconfig.spec.json create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/src/typings.d.ts create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/tsconfig.json create mode 100755 vendor/github.com/skycoin/skycoin/src/gui/static/tslint.json create mode 100755 vendor/github.com/skycoin/skycoin/src/skycoin/config.go create mode 100755 vendor/github.com/skycoin/skycoin/src/skycoin/parameters.go create mode 100755 vendor/github.com/skycoin/skycoin/src/skycoin/parameters_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/skycoin/skycoin.go create mode 100755 vendor/github.com/skycoin/skycoin/src/skycoin/testdata/test.fiber.toml create mode 100755 vendor/github.com/skycoin/skycoin/src/testutil/assert/assertions.go create mode 100755 vendor/github.com/skycoin/skycoin/src/testutil/require/require.go create mode 100755 vendor/github.com/skycoin/skycoin/src/testutil/testutil.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/apputil/apputil.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/browser/browser.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/cert/cert.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/cert/cert_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/droplet/droplet.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/droplet/droplet_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/elapse/elapser.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/fee/fee.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/fee/fee_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/file/file.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/file/file_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/hexdump.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/http/error.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/http/handler.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/http/json.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/http/json_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/http/log.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/iputil/iputil.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/iputil/iputil_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/logging/formatter.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/logging/hooks.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/logging/logger.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/logging/logging.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/utc/utc.go create mode 100755 vendor/github.com/skycoin/skycoin/src/util/utc/utc_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/blockchain.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/blockchain_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/blockchain_verify_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/blockchainer_mock_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/blockdb/block_tree.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/blockdb/block_tree_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/blockdb/blockchain.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/blockdb/blockchain_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/blockdb/blocksigs.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/blockdb/blocksigs_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/blockdb/chain_meta.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/blockdb/testdata/blockchain-180.no-unspent-addr-index.db create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/blockdb/unspent.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/blockdb/unspent_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/daemon_visor_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/db.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/dbutil/dbutil.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/distribution.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/distribution_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/historydb/address_txn.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/historydb/address_txn_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/historydb/address_uxout.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/historydb/history_meta.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/historydb/history_meta_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/historydb/historydb.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/historydb/historydb_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/historydb/output.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/historydb/transaction.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/historydb/transaction_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/historyer_mock_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/parameters.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/readable.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/readable_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/richlist.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/richlist_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/testdata/data.db.garbage create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/testdata/data.db.no-addr-txn-index create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/testdata/data.db.no-addr-uxout-index create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/testdata/data.db.nosig create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/testdata/data.db.notxn create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/testdata/data.db.nouxout create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/testdata/data.db.ok create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/unconfirmed.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/unconfirmed_txn_pooler_mock_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/unspent_pooler_mock_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/verify.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/visor.go create mode 100755 vendor/github.com/skycoin/skycoin/src/visor/visor_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/addresses.go create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/balance.go create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/crypto.go create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/crypto_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/entry.go create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/notes.go create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/readable.go create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/secrets.go create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/service.go create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/service_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/testdata/invalid_wallets/err_type.wlt create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/testdata/invalid_wallets/no_coin.wlt create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/testdata/invalid_wallets/no_seed.wlt create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/testdata/invalid_wallets/no_type.wlt create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/testdata/scrypt-chacha20poly1305-encrypted.wlt create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/testdata/sha256xor-encrypted.wlt create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/testdata/test1.wlt create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/testdata/test2.wlt create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/testdata/test3.1.wlt create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/testdata/test3.wlt create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/testdata/v2_no_encrypt.wlt create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/wallet.go create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/wallet_test.go create mode 100755 vendor/github.com/skycoin/skycoin/src/wallet/wallets.go create mode 100755 vendor/github.com/skycoin/skycoin/template/coin.template create mode 100755 vendor/github.com/skycoin/skycoin/template/visor.template create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/NYTimes/gziphandler/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/NYTimes/gziphandler/.travis.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/NYTimes/gziphandler/CODE_OF_CONDUCT.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/NYTimes/gziphandler/CONTRIBUTING.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/NYTimes/gziphandler/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/NYTimes/gziphandler/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/NYTimes/gziphandler/gzip.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/NYTimes/gziphandler/gzip_go18.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/Makefile create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/appveyor.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/bolt_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/bolt_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/bolt_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/bolt_arm64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/bolt_linux.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/bolt_openbsd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/bolt_ppc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/bolt_ppc64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/bolt_ppc64le.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/bolt_s390x.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/bolt_unix.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/bolt_unix_solaris.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/bolt_windows.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/boltsync_unix.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/bucket.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/cursor.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/db.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/doc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/errors.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/freelist.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/node.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/page.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/boltdb/bolt/tx.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/cenkalti/backoff/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/cenkalti/backoff/.travis.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/cenkalti/backoff/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/cenkalti/backoff/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/cenkalti/backoff/backoff.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/cenkalti/backoff/context.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/cenkalti/backoff/exponential.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/cenkalti/backoff/retry.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/cenkalti/backoff/ticker.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/cenkalti/backoff/tries.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/davecgh/go-spew/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/davecgh/go-spew/spew/bypass.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/davecgh/go-spew/spew/common.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/davecgh/go-spew/spew/config.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/davecgh/go-spew/spew/doc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/davecgh/go-spew/spew/dump.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/davecgh/go-spew/spew/format.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/davecgh/go-spew/spew/spew.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/.editorconfig create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/.travis.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/AUTHORS create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/CHANGELOG.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/CONTRIBUTING.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/fen.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/fsnotify.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/inotify.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/inotify_poller.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/kqueue.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/open_mode_bsd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/open_mode_darwin.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/fsnotify/fsnotify/windows.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/.travis.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/Makefile create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/appveyor.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/decoder.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/hcl.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/hcl/ast/ast.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/hcl/ast/walk.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/hcl/parser/error.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/hcl/parser/parser.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/hcl/printer/nodes.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/hcl/printer/printer.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/hcl/scanner/scanner.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/hcl/strconv/quote.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/hcl/token/position.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/hcl/token/token.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/json/parser/flatten.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/json/parser/parser.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/json/scanner/scanner.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/json/token/position.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/json/token/token.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/lex.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/hashicorp/hcl/parse.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/magiconair/properties/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/magiconair/properties/.travis.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/magiconair/properties/CHANGELOG.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/magiconair/properties/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/magiconair/properties/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/magiconair/properties/decode.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/magiconair/properties/doc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/magiconair/properties/integrate.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/magiconair/properties/lex.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/magiconair/properties/load.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/magiconair/properties/parser.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/magiconair/properties/properties.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/magiconair/properties/rangecheck.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-colorable/.travis.yml rename electron/src/node_modules/keyboardevent-from-electron-accelerator/license => vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-colorable/LICENSE (94%) create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-colorable/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-colorable/colorable_appengine.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-colorable/colorable_others.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-colorable/colorable_windows.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-colorable/noncolorable.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-isatty/.travis.yml rename electron/src/node_modules/electron-dl/license => vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-isatty/LICENSE (92%) create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-isatty/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-isatty/doc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-isatty/isatty_appengine.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-isatty/isatty_bsd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-isatty/isatty_linux.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-isatty/isatty_linux_ppc64x.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-isatty/isatty_others.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-isatty/isatty_solaris.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mattn/go-isatty/isatty_windows.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mgutz/ansi/.gitignore rename electron/src/node_modules/electron-debug/license => vendor/github.com/skycoin/skycoin/vendor/github.com/mgutz/ansi/LICENSE (92%) create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mgutz/ansi/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mgutz/ansi/ansi.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mgutz/ansi/doc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mgutz/ansi/print.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mitchellh/mapstructure/.travis.yml rename electron/src/node_modules/ext-list/license => vendor/github.com/skycoin/skycoin/vendor/github.com/mitchellh/mapstructure/LICENSE (94%) create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mitchellh/mapstructure/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mitchellh/mapstructure/decode_hooks.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mitchellh/mapstructure/error.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/mitchellh/mapstructure/mapstructure.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/.travis.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/benchmark.json create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/benchmark.sh create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/benchmark.toml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/benchmark.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/doc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/example-crlf.toml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/example.toml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/fuzz.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/fuzz.sh create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/keysparsing.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/lexer.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/marshal.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/marshal_test.toml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/parser.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/position.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/test.sh create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/token.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/toml.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/tomltree_create.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pelletier/go-toml/tomltree_write.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pmezard/go-difflib/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/pmezard/go-difflib/difflib/difflib.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/shopspring/decimal/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/shopspring/decimal/.travis.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/shopspring/decimal/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/shopspring/decimal/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/shopspring/decimal/decimal.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/.travis.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/CHANGELOG.md rename {electron/src/node_modules/is-buffer => vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus}/LICENSE (96%) create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/alt_exit.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/appveyor.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/doc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/entry.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/exported.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/formatter.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/hooks.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/json_formatter.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/logger.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/logrus.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/terminal_bsd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/terminal_linux.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/text_formatter.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/sirupsen/logrus/writer.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/.travis.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/LICENSE.txt create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/afero.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/appveyor.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/basepath.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/cacheOnReadFs.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/const_bsds.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/const_win_unix.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/copyOnWriteFs.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/httpFs.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/ioutil.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/lstater.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/match.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/mem/dir.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/mem/dirmap.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/mem/file.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/memmap.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/os.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/path.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/readonlyfs.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/regexpfs.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/unionFile.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/afero/util.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/cast/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/cast/.travis.yml rename {electron/src/node_modules/electron-log => vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/cast}/LICENSE (95%) create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/cast/Makefile create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/cast/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/cast/cast.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/cast/caste.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/jwalterweatherman/.gitignore rename electron/src/node_modules/keyboardevents-areequal/license => vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/jwalterweatherman/LICENSE (94%) create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/jwalterweatherman/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/jwalterweatherman/default_notepad.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/jwalterweatherman/log_counter.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/jwalterweatherman/notepad.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/.travis.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/bool.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/bool_slice.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/bytes.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/count.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/duration.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/duration_slice.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/flag.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/float32.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/float64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/golangflag.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/int.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/int16.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/int32.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/int64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/int8.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/int_slice.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/ip.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/ip_slice.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/ipmask.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/ipnet.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/string.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/string_array.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/string_slice.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/uint.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/uint16.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/uint32.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/uint64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/uint8.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/pflag/uint_slice.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/viper/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/viper/.travis.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/viper/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/viper/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/viper/flags.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/viper/util.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/spf13/viper/viper.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/.travis.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/Gopkg.lock create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/Gopkg.toml rename vendor/github.com/{stretchr/objx/LICENSE.md => skycoin/skycoin/vendor/github.com/stretchr/objx/LICENSE} (94%) create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/Taskfile.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/accessors.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/constants.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/conversions.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/doc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/map.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/mutations.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/security.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/tests.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/type_specific_codegen.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/objx/value.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/LICENCE.txt create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/assert/assertion_format.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/assert/assertion_forward.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/assert/assertions.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/assert/doc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/assert/errors.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/assert/forward_assertions.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/assert/http_assertions.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/mock/doc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/mock/mock.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/require/doc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/require/forward_requirements.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/require/require.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/require/require.go.tmpl create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/require/require_forward.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/require/require_forward.go.tmpl create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/stretchr/testify/require/requirements.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/toqueteos/webbrowser/.travis.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/toqueteos/webbrowser/CONTRIBUTING.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/toqueteos/webbrowser/LICENSE.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/toqueteos/webbrowser/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/toqueteos/webbrowser/webbrowser.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/.flake8 create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/.travis.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/CHANGELOG.md rename {electron/src/node_modules/electron-is-accelerator => vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli}/LICENSE (95%) create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/app.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/appveyor.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/category.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/cli.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/command.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/context.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/errors.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/flag-types.json create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/flag.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/flag_generated.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/funcs.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/generate-flag-types create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/help.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/github.com/urfave/cli/runtests create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/crypto/AUTHORS create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/crypto/CONTRIBUTORS create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/crypto/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/crypto/PATENTS create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/crypto/ssh/terminal/terminal.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/crypto/ssh/terminal/util.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go rename vendor/{golang.org/x/sys/unix/syscall_no_getwd.go => github.com/skycoin/skycoin/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go} (53%) create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/crypto/ssh/terminal/util_plan9.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/net/AUTHORS create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/net/CONTRIBUTORS create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/net/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/net/PATENTS create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/net/context/context.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/net/context/go17.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/net/context/go19.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/net/context/pre_go17.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/net/context/pre_go19.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/AUTHORS create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/CONTRIBUTORS create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/PATENTS create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/.gitignore create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/affinity_linux.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_darwin_386.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_darwin_arm.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_freebsd_386.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_linux_386.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_linux_amd64.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_linux_arm.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_linux_arm64.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_linux_s390x.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_netbsd_386.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_openbsd_386.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/bluetooth_linux.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/cap_freebsd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/constants.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/dev_darwin.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/dev_dragonfly.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/dev_freebsd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/dev_linux.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/dev_netbsd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/dev_openbsd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/dirent.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/endian_big.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/endian_little.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/env_unix.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/errors_freebsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go rename vendor/{golang.org/x/sys/unix/flock.go => github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/fcntl.go} (74%) rename vendor/{golang.org/x/sys/unix/flock_linux_32bit.go => github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go} (100%) create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/gccgo.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/gccgo_c.c create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/mkall.sh create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/mkerrors.sh create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/mkpost.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/mksyscall.pl create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/openbsd_pledge.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/pagesize_unix.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/race.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/race0.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/sockcmsg_linux.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/sockcmsg_unix.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/str.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_bsd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_darwin.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_darwin_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_dragonfly.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_freebsd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_linux.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_linux_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_linux_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_linux_gc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_linux_gccgo.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_netbsd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_openbsd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_solaris.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_unix.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/syscall_unix_gc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/timestruct.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/types_darwin.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/types_dragonfly.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/types_freebsd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/types_netbsd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/types_openbsd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/types_solaris.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_linux_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zptrace386_linux.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zptracearm_linux.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zptracemips_linux.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zptracemipsle_linux.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go rename vendor/{golang.org/x/sys/unix/zsysctl_openbsd.go => github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go} (100%) create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_linux_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/asm_windows_386.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/asm_windows_amd64.s create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/dll_windows.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/env_windows.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/eventlog.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/exec_windows.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/memory_windows.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/mksyscall.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/race.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/race0.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/security_windows.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/service.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/str.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/syscall.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/syscall_windows.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/types_windows.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/types_windows_386.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/types_windows_amd64.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/sys/windows/zsyscall_windows.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/AUTHORS create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/CONTRIBUTORS create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/LICENSE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/PATENTS create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/internal/gen/code.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/internal/gen/gen.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/internal/triegen/compact.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/internal/triegen/print.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/internal/triegen/triegen.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/internal/ucd/ucd.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/transform/transform.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/cldr/base.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/cldr/cldr.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/cldr/collate.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/cldr/decode.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/cldr/makexml.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/cldr/resolve.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/cldr/slice.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/cldr/xml.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/norm/composition.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/norm/forminfo.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/norm/input.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/norm/iter.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/norm/maketables.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/norm/normalize.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/norm/readwriter.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/norm/transform.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/norm/trie.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/golang.org/x/text/unicode/norm/triegen.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/.travis.yml create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/LICENSE rename electron/src/node_modules/sort-keys-length/LICENSE.md => vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/LICENSE.libyaml (77%) create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/NOTICE create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/README.md create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/apic.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/decode.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/emitterc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/encode.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/go.mod create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/parserc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/readerc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/resolve.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/scannerc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/sorter.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/writerc.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/yaml.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/yamlh.go create mode 100755 vendor/github.com/skycoin/skycoin/vendor/gopkg.in/yaml.v2/yamlprivateh.go create mode 100755 vendor/github.com/spf13/afero/.travis.yml create mode 100755 vendor/github.com/spf13/afero/LICENSE.txt create mode 100755 vendor/github.com/spf13/afero/README.md create mode 100755 vendor/github.com/spf13/afero/afero.go create mode 100755 vendor/github.com/spf13/afero/appveyor.yml create mode 100755 vendor/github.com/spf13/afero/basepath.go create mode 100755 vendor/github.com/spf13/afero/cacheOnReadFs.go create mode 100755 vendor/github.com/spf13/afero/const_bsds.go create mode 100755 vendor/github.com/spf13/afero/const_win_unix.go create mode 100755 vendor/github.com/spf13/afero/copyOnWriteFs.go create mode 100755 vendor/github.com/spf13/afero/httpFs.go create mode 100755 vendor/github.com/spf13/afero/ioutil.go create mode 100755 vendor/github.com/spf13/afero/lstater.go create mode 100755 vendor/github.com/spf13/afero/match.go create mode 100755 vendor/github.com/spf13/afero/mem/dir.go create mode 100755 vendor/github.com/spf13/afero/mem/dirmap.go create mode 100755 vendor/github.com/spf13/afero/mem/file.go create mode 100755 vendor/github.com/spf13/afero/memmap.go create mode 100755 vendor/github.com/spf13/afero/os.go create mode 100755 vendor/github.com/spf13/afero/path.go create mode 100755 vendor/github.com/spf13/afero/readonlyfs.go create mode 100755 vendor/github.com/spf13/afero/regexpfs.go create mode 100755 vendor/github.com/spf13/afero/unionFile.go create mode 100755 vendor/github.com/spf13/afero/util.go create mode 100755 vendor/github.com/spf13/cast/.gitignore create mode 100755 vendor/github.com/spf13/cast/.travis.yml create mode 100755 vendor/github.com/spf13/cast/LICENSE create mode 100755 vendor/github.com/spf13/cast/Makefile create mode 100755 vendor/github.com/spf13/cast/README.md create mode 100755 vendor/github.com/spf13/cast/cast.go create mode 100755 vendor/github.com/spf13/cast/caste.go create mode 100755 vendor/github.com/spf13/jwalterweatherman/.gitignore create mode 100755 vendor/github.com/spf13/jwalterweatherman/LICENSE create mode 100755 vendor/github.com/spf13/jwalterweatherman/README.md create mode 100755 vendor/github.com/spf13/jwalterweatherman/default_notepad.go create mode 100755 vendor/github.com/spf13/jwalterweatherman/log_counter.go create mode 100755 vendor/github.com/spf13/jwalterweatherman/notepad.go create mode 100755 vendor/github.com/spf13/pflag/.gitignore create mode 100755 vendor/github.com/spf13/pflag/.travis.yml create mode 100755 vendor/github.com/spf13/pflag/LICENSE create mode 100755 vendor/github.com/spf13/pflag/README.md create mode 100755 vendor/github.com/spf13/pflag/bool.go create mode 100755 vendor/github.com/spf13/pflag/bool_slice.go create mode 100755 vendor/github.com/spf13/pflag/bytes.go create mode 100755 vendor/github.com/spf13/pflag/count.go create mode 100755 vendor/github.com/spf13/pflag/duration.go create mode 100755 vendor/github.com/spf13/pflag/duration_slice.go create mode 100755 vendor/github.com/spf13/pflag/flag.go create mode 100755 vendor/github.com/spf13/pflag/float32.go create mode 100755 vendor/github.com/spf13/pflag/float64.go create mode 100755 vendor/github.com/spf13/pflag/golangflag.go create mode 100755 vendor/github.com/spf13/pflag/int.go create mode 100755 vendor/github.com/spf13/pflag/int16.go create mode 100755 vendor/github.com/spf13/pflag/int32.go create mode 100755 vendor/github.com/spf13/pflag/int64.go create mode 100755 vendor/github.com/spf13/pflag/int8.go create mode 100755 vendor/github.com/spf13/pflag/int_slice.go create mode 100755 vendor/github.com/spf13/pflag/ip.go create mode 100755 vendor/github.com/spf13/pflag/ip_slice.go create mode 100755 vendor/github.com/spf13/pflag/ipmask.go create mode 100755 vendor/github.com/spf13/pflag/ipnet.go create mode 100755 vendor/github.com/spf13/pflag/string.go create mode 100755 vendor/github.com/spf13/pflag/string_array.go create mode 100755 vendor/github.com/spf13/pflag/string_slice.go create mode 100755 vendor/github.com/spf13/pflag/uint.go create mode 100755 vendor/github.com/spf13/pflag/uint16.go create mode 100755 vendor/github.com/spf13/pflag/uint32.go create mode 100755 vendor/github.com/spf13/pflag/uint64.go create mode 100755 vendor/github.com/spf13/pflag/uint8.go create mode 100755 vendor/github.com/spf13/pflag/uint_slice.go create mode 100755 vendor/github.com/spf13/viper/.gitignore create mode 100755 vendor/github.com/spf13/viper/.travis.yml create mode 100755 vendor/github.com/spf13/viper/LICENSE create mode 100755 vendor/github.com/spf13/viper/README.md create mode 100755 vendor/github.com/spf13/viper/flags.go create mode 100755 vendor/github.com/spf13/viper/util.go create mode 100755 vendor/github.com/spf13/viper/viper.go create mode 100755 vendor/github.com/stretchr/objx/.travis.yml create mode 100755 vendor/github.com/stretchr/objx/Gopkg.lock create mode 100755 vendor/github.com/stretchr/objx/Gopkg.toml create mode 100755 vendor/github.com/stretchr/objx/LICENSE create mode 100755 vendor/github.com/stretchr/objx/Taskfile.yml delete mode 100755 vendor/github.com/toqueteos/webbrowser/doc.go create mode 100755 vendor/github.com/urfave/cli/.flake8 create mode 100755 vendor/golang.org/x/crypto/AUTHORS create mode 100755 vendor/golang.org/x/crypto/CONTRIBUTORS create mode 100755 vendor/golang.org/x/crypto/LICENSE create mode 100755 vendor/golang.org/x/crypto/PATENTS create mode 100755 vendor/golang.org/x/sys/unix/affinity_linux.go create mode 100755 vendor/golang.org/x/sys/unix/asm_openbsd_arm.s create mode 100755 vendor/golang.org/x/sys/unix/cap_freebsd.go create mode 100755 vendor/golang.org/x/sys/unix/dev_darwin.go create mode 100755 vendor/golang.org/x/sys/unix/dev_dragonfly.go create mode 100755 vendor/golang.org/x/sys/unix/dev_freebsd.go create mode 100755 vendor/golang.org/x/sys/unix/dev_linux.go create mode 100755 vendor/golang.org/x/sys/unix/dev_netbsd.go create mode 100755 vendor/golang.org/x/sys/unix/dev_openbsd.go delete mode 100755 vendor/golang.org/x/sys/unix/env_unset.go create mode 100755 vendor/golang.org/x/sys/unix/errors_freebsd_386.go create mode 100755 vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go create mode 100755 vendor/golang.org/x/sys/unix/errors_freebsd_arm.go create mode 100755 vendor/golang.org/x/sys/unix/fcntl.go create mode 100755 vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go delete mode 100755 vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go create mode 100755 vendor/golang.org/x/sys/unix/pagesize_unix.go create mode 100755 vendor/golang.org/x/sys/unix/syscall_linux_gc.go create mode 100755 vendor/golang.org/x/sys/unix/syscall_linux_gccgo.go create mode 100755 vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go create mode 100755 vendor/golang.org/x/sys/unix/timestruct.go create mode 100755 vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go create mode 100755 vendor/golang.org/x/sys/unix/zptrace386_linux.go create mode 100755 vendor/golang.org/x/sys/unix/zptracearm_linux.go create mode 100755 vendor/golang.org/x/sys/unix/zptracemips_linux.go create mode 100755 vendor/golang.org/x/sys/unix/zptracemipsle_linux.go create mode 100755 vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go create mode 100755 vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go create mode 100755 vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go create mode 100755 vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go create mode 100755 vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go delete mode 100755 vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go create mode 100755 vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go create mode 100755 vendor/golang.org/x/sys/windows/asm_windows_386.s create mode 100755 vendor/golang.org/x/sys/windows/asm_windows_amd64.s create mode 100755 vendor/golang.org/x/sys/windows/dll_windows.go create mode 100755 vendor/golang.org/x/sys/windows/env_windows.go create mode 100755 vendor/golang.org/x/sys/windows/eventlog.go create mode 100755 vendor/golang.org/x/sys/windows/exec_windows.go create mode 100755 vendor/golang.org/x/sys/windows/memory_windows.go create mode 100755 vendor/golang.org/x/sys/windows/mksyscall.go create mode 100755 vendor/golang.org/x/sys/windows/race.go create mode 100755 vendor/golang.org/x/sys/windows/race0.go create mode 100755 vendor/golang.org/x/sys/windows/security_windows.go create mode 100755 vendor/golang.org/x/sys/windows/service.go create mode 100755 vendor/golang.org/x/sys/windows/str.go create mode 100755 vendor/golang.org/x/sys/windows/syscall.go create mode 100755 vendor/golang.org/x/sys/windows/syscall_windows.go create mode 100755 vendor/golang.org/x/sys/windows/types_windows.go create mode 100755 vendor/golang.org/x/sys/windows/types_windows_386.go create mode 100755 vendor/golang.org/x/sys/windows/types_windows_amd64.go create mode 100755 vendor/golang.org/x/sys/windows/zsyscall_windows.go create mode 100755 vendor/golang.org/x/text/AUTHORS create mode 100755 vendor/golang.org/x/text/CONTRIBUTORS create mode 100755 vendor/golang.org/x/text/LICENSE create mode 100755 vendor/golang.org/x/text/PATENTS create mode 100755 vendor/golang.org/x/text/internal/gen/code.go create mode 100755 vendor/golang.org/x/text/internal/gen/gen.go create mode 100755 vendor/golang.org/x/text/internal/triegen/compact.go create mode 100755 vendor/golang.org/x/text/internal/triegen/print.go create mode 100755 vendor/golang.org/x/text/internal/triegen/triegen.go create mode 100755 vendor/golang.org/x/text/internal/ucd/ucd.go create mode 100755 vendor/golang.org/x/text/transform/transform.go create mode 100755 vendor/golang.org/x/text/unicode/cldr/base.go create mode 100755 vendor/golang.org/x/text/unicode/cldr/cldr.go create mode 100755 vendor/golang.org/x/text/unicode/cldr/collate.go create mode 100755 vendor/golang.org/x/text/unicode/cldr/decode.go create mode 100755 vendor/golang.org/x/text/unicode/cldr/makexml.go create mode 100755 vendor/golang.org/x/text/unicode/cldr/resolve.go create mode 100755 vendor/golang.org/x/text/unicode/cldr/slice.go create mode 100755 vendor/golang.org/x/text/unicode/cldr/xml.go create mode 100755 vendor/golang.org/x/text/unicode/norm/composition.go create mode 100755 vendor/golang.org/x/text/unicode/norm/forminfo.go create mode 100755 vendor/golang.org/x/text/unicode/norm/input.go create mode 100755 vendor/golang.org/x/text/unicode/norm/iter.go create mode 100755 vendor/golang.org/x/text/unicode/norm/maketables.go create mode 100755 vendor/golang.org/x/text/unicode/norm/normalize.go create mode 100755 vendor/golang.org/x/text/unicode/norm/readwriter.go create mode 100755 vendor/golang.org/x/text/unicode/norm/tables10.0.0.go create mode 100755 vendor/golang.org/x/text/unicode/norm/tables9.0.0.go create mode 100755 vendor/golang.org/x/text/unicode/norm/transform.go create mode 100755 vendor/golang.org/x/text/unicode/norm/trie.go create mode 100755 vendor/golang.org/x/text/unicode/norm/triegen.go create mode 100755 vendor/gopkg.in/yaml.v2/.travis.yml create mode 100755 vendor/gopkg.in/yaml.v2/LICENSE rename electron/src/node_modules/follow-redirects/LICENSE => vendor/gopkg.in/yaml.v2/LICENSE.libyaml (77%) create mode 100755 vendor/gopkg.in/yaml.v2/NOTICE create mode 100755 vendor/gopkg.in/yaml.v2/README.md create mode 100755 vendor/gopkg.in/yaml.v2/apic.go create mode 100755 vendor/gopkg.in/yaml.v2/decode.go create mode 100755 vendor/gopkg.in/yaml.v2/emitterc.go create mode 100755 vendor/gopkg.in/yaml.v2/encode.go create mode 100755 vendor/gopkg.in/yaml.v2/go.mod create mode 100755 vendor/gopkg.in/yaml.v2/parserc.go create mode 100755 vendor/gopkg.in/yaml.v2/readerc.go create mode 100755 vendor/gopkg.in/yaml.v2/resolve.go create mode 100755 vendor/gopkg.in/yaml.v2/scannerc.go create mode 100755 vendor/gopkg.in/yaml.v2/sorter.go create mode 100755 vendor/gopkg.in/yaml.v2/writerc.go create mode 100755 vendor/gopkg.in/yaml.v2/yaml.go create mode 100755 vendor/gopkg.in/yaml.v2/yamlh.go create mode 100755 vendor/gopkg.in/yaml.v2/yamlprivateh.go diff --git a/.DS_Store b/.DS_Store index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..a2ea65d3f0562dd71a571da8a429ad50a6c5d7bf 100644 GIT binary patch literal 8196 zcmeHLJ#Q015S_ggBvfd}^5m6VN@zH$@N@F|s zq-8R*3v`Gls%TC_n$a085^tL@1xx``z!WeAOo4wv0o>W#x*P8OV71W{Fa@?!0e(Le z=!~Uc6VSgpF!&Mx*uk`K_>DTi#}tC4U=z@XV$D!JI0|vd%^C&Qm_da!pVhj za>DGSLUEoQafNp$R|d4v6fgx+1-N#Zo*k-b3a(Qc z&^%(J&!cs_!WqRY%#l6fcfXjwBm9eqJNt6pwkf=;IE8a%i}wryUj@S@VVxra3||1StLH~d?;M%JMw5KPGg_gAhnpCgF}!R pBnTAa1`@77th%xAJM(0I8AV3M$)+;eJWLRCKt?lcj^~-f3;-`E4{!hg diff --git a/.gitignore b/.gitignore index a1338d6..84204c7 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ # Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736 .glide/ +vendor/github.com/skycoin/skycoin/src/api/README.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 56ca9f0..6bf5b09 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,31 +8,93 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Added +### Fixed + +### Changed + +### Removed + +## [0.24.1] - 2018-07-30 + +### Added + +- Add Content-Security-Policy header to http responses + +### Fixed + +- Fix portable browser version opening to blank page + +### Changed +- Increase visor db timeout to 5000 `ms` +- Change `InitTransaction` to accept parameters for distributing genesis coin to distribution wallets + +### Removed + +## [0.24.0] - 2018-07-06 + +### Added + +- Minimum go version is go1.10 +- Add environment variable `DATA_DIR` in CLI's - `USE_CSRF` environment variable for CLI, if the remote node has CSRF enabled (CSRF is enabled by default, use `-disable-csrf` to disable) - `cli showConfig` command to echo the cli's configuration back to the user - Option to generate 12/24 word seed when creating new wallet +- libskycoin 0.0.1 released with bindings for cipher/address, cipher/hash, cipher/crypto, cli/create_rawtx - Add `-version` flag to show node version +- Add transaction verification step to "Send" page +- Add more details about transaction in transaction history +- Add advanced spend UI - Add CLI `encryptWallet` command - Add CLI `decryptWallet` command - Add CLI `showSeed` command - Add `password` argument to the CLI commands of `addPrivateKey`, `createRawTransaction`, `generateAddresses`, `generateWallet`, `send` - Support for decoding map values in cipher binary encoder - +- Expose known block height of peer in brand new `height` field added in responses of `GET /api/v1/network/connections` API endpoints +- `-verify-db` option (default true), will verify the database integrity during startup and exit if a problem is found +- `-reset-corrupt-db` option (default false) will verify the database integrity during startup and reset the db if a problem is found +- `GET /explorer/address`: add `fee` to transaction objects and `calculated_hours` to transaction inputs +- Test data generator and test suite for verification of alternative `cipher` implementations +- Begin `/api/v2` API endpoints. These endpoints are in beta and subject to change. +- Add `POST /api/v2/transaction/verify` API endpoint +- Add `POST /api/v2/address/verify` API endpoint +- Add `ignore_unconfirmed` option to `POST /api/v1/wallet/transaction` to allow transactions to be created or spent even if there are unspent outputs in the unconfirmed pool. +- Add `uxouts` to `POST /api/v1/wallet/transaction`, to allow specific unspent outputs to be used in a transaction. +- Add Dockerfile in docker/images/dev-cli to build a docker image suitable for development. +- Coin creator tool, `cmd/newcoin`, to quickly bootstrap a new fiber coin +- Add Dockerfile in `docker/images/dev-dind` to build a docker in docker image based on skycoindev-cli. ### Fixed - Reduce connection disconnects, improves syncing - Fix #1171, update CLI to support wallet encryption +- Use `bolt.Tx` correctly for read operations +- Docker images for `arm32v5` and `ar32v7` architectures by using busybox as base in docker/images/mainnet/Dockerfile and docker/images/mainnet/hooks/ ### Changed - JSON 2.0 RPC interface (used by the CLI tool) is now served on the same host interface as the REST API, port `6420`. The additional listener has been removed. - CLI's `RPC_ADDR` environment variable must now start with a scheme e.g. `http://127.0.0.1:6420`, previously it did not use a scheme. +- API response will be gzip compressed if client sends request with 'Accept-Encoding' contains 'gzip' in the header. +- `GET /api/v1/wallet/balance` and `GET /api/v1/balance` now return an address balance list as well. +- API endpoints are prefixed with `/api/v1/`. API endpoints without the `/api/v1/` prefix are deprecated but can be enabled with `-enable-unversioned-api`. Please migrate to use `/api/v1/` prefix in URLs. +- Enable message protocol upgrade +- `change_address` is no longer required in `POST /api/v1/wallet/transaction`. If not provided, `change_address` will default to one of the addresses being spent from. +- In `POST /api/v1/wallet/transaction`, for `auto` type `share` mode requests, if extra coinhours remain after applying the `share_factor` but change cannot be made due to insufficient coins, the `share_factor` will switch to `1.0`. +- Support automatic port allocation of the API interface by specifying port 0 +- The web interface / API port is randomly allocated for the precompiled standalone client and electron client released on the website. + If you are using the CLI tool or another API client to communicate with the standalone client, use `-web-interface-port=6420` to continue using port 6420. + If the program is run from source (e.g. `go run`, `run.sh`, `make run`) there is no change, the API will still be on port 6420. +- Change number of outgoing connections to 8 from 16 +- Transaction history shows transactions between own addresses +- Client will only maintain one connection to the default hardcoded peers, instead of all of them ### Removed - Remove `-rpc-interface-addr`, `-rpc-interface-port` options. The RPC interface is now on default port `6420` with the REST API. - Remove `-rpc-thread-num` option +- Remove `-connect-to` option +- Remove `-print-web-interface-address` option +- Remove support for go1.9 ## [0.23.0] - 2018-04-22 @@ -263,6 +325,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - #350 Wallet name always 'undefined' after loading wallet from seed [Unreleased]: https://github.com/skycoin/skycoin/compare/master...develop +[0.24.1]: https://github.com/skycoin/skycoin/compare/v0.24.0...v0.24.1 +[0.24.0]: https://github.com/skycoin/skycoin/compare/v0.23.0...v0.24.0 [0.23.0]: https://github.com/skycoin/skycoin/compare/v0.22.0...v0.23.0 [0.22.0]: https://github.com/skycoin/skycoin/compare/v0.21.1...v0.22.0 [0.21.1]: https://github.com/skycoin/skycoin/compare/v0.21.0...v0.21.1 diff --git a/Gopkg.lock b/Gopkg.lock index 4fd3fe9..4426a52 100755 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -1,11 +1,17 @@ # This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. +[[projects]] + name = "github.com/NYTimes/gziphandler" + packages = ["."] + revision = "2600fb119af974220d3916a5916d6e31176aac1b" + version = "v1.0.1" + [[projects]] name = "github.com/boltdb/bolt" packages = ["."] - revision = "583e8937c61f1af6513608ccc75c97b6abdf4ff9" - version = "v1.3.0" + revision = "2f1ce7a837dcb8da3ec595b1dac9d0632f0f99e8" + version = "v1.3.1" [[projects]] name = "github.com/cenkalti/backoff" @@ -19,6 +25,35 @@ revision = "346938d642f2ec3594ed81d874461961cd0faa76" version = "v1.1.0" +[[projects]] + name = "github.com/fsnotify/fsnotify" + packages = ["."] + revision = "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9" + version = "v1.4.7" + +[[projects]] + branch = "master" + name = "github.com/hashicorp/hcl" + packages = [ + ".", + "hcl/ast", + "hcl/parser", + "hcl/printer", + "hcl/scanner", + "hcl/strconv", + "hcl/token", + "json/parser", + "json/scanner", + "json/token" + ] + revision = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168" + +[[projects]] + name = "github.com/magiconair/properties" + packages = ["."] + revision = "c2353362d570a7bfa228149c62842019201cfb71" + version = "v1.8.0" + [[projects]] name = "github.com/mattn/go-colorable" packages = ["."] @@ -37,6 +72,18 @@ packages = ["."] revision = "9520e82c474b0a04dd04f8a40959027271bab992" +[[projects]] + branch = "master" + name = "github.com/mitchellh/mapstructure" + packages = ["."] + revision = "bb74f1db0675b241733089d5a1faa5dd8b0ef57b" + +[[projects]] + name = "github.com/pelletier/go-toml" + packages = ["."] + revision = "acdc4509485b587f5e675510c4f2c63e90ff68a8" + version = "v1.1.0" + [[projects]] name = "github.com/pmezard/go-difflib" packages = ["difflib"] @@ -44,10 +91,10 @@ version = "v1.0.0" [[projects]] - branch = "master" name = "github.com/shopspring/decimal" packages = ["."] - revision = "aed1bfe463fa3c9cc268d60dcc1491db613bff7e" + revision = "69b3a8ad1f5f2c8bd855cb6506d18593064a346b" + version = "1.0.1" [[projects]] name = "github.com/sirupsen/logrus" @@ -55,11 +102,44 @@ revision = "c155da19408a8799da419ed3eeb0cb5db0ad5dbc" version = "v1.0.5" +[[projects]] + name = "github.com/spf13/afero" + packages = [ + ".", + "mem" + ] + revision = "63644898a8da0bc22138abf860edaf5277b6102e" + version = "v1.1.0" + +[[projects]] + name = "github.com/spf13/cast" + packages = ["."] + revision = "8965335b8c7107321228e3e3702cab9832751bac" + version = "v1.2.0" + [[projects]] branch = "master" + name = "github.com/spf13/jwalterweatherman" + packages = ["."] + revision = "7c0cea34c8ece3fbeb2b27ab9b59511d360fb394" + +[[projects]] + name = "github.com/spf13/pflag" + packages = ["."] + revision = "583c0c0531f06d5278b7d917446061adc344b5cd" + version = "v1.0.1" + +[[projects]] + name = "github.com/spf13/viper" + packages = ["."] + revision = "b5e8006cbee93ec955a89ab31e0e3ce3204f3736" + version = "v1.0.2" + +[[projects]] name = "github.com/stretchr/objx" packages = ["."] - revision = "1a9d0bb9f541897e62256577b352fdbc1fb4fd94" + revision = "facf9a85c22f48d2f52f2380e4efce1768749a89" + version = "v0.1" [[projects]] name = "github.com/stretchr/testify" @@ -73,30 +153,58 @@ [[projects]] name = "github.com/toqueteos/webbrowser" packages = ["."] - revision = "21fc9f95c83442fd164094666f7cb4f9fdd56cd6" - version = "v1.0" + revision = "3232c91b8ede8ca86e8962981d881af78875542f" + version = "v1.1.0" [[projects]] name = "github.com/urfave/cli" packages = ["."] - revision = "0bdeddeeb0f650497d603c4ad7b20cfe685682f6" - version = "v1.19.1" + revision = "cfb38830724cc34fedffe9a2a29fb54fa9169cd1" + version = "v1.20.0" + +[[projects]] + branch = "master" + name = "golang.org/x/crypto" + packages = ["ssh/terminal"] + revision = "4ec37c66abab2c7e02ae775328b2ff001c3f025a" [[projects]] branch = "master" name = "golang.org/x/net" packages = ["context"] - revision = "a8b9294777976932365dabb6640cf1468d95c70f" + revision = "d11bb6cd8e3c4e60239c9cb20ef68586d74500d0" [[projects]] branch = "master" name = "golang.org/x/sys" - packages = ["unix"] - revision = "50298aa7a9faed39cd341ad7fd9275b1d5ddd70c" + packages = [ + "unix", + "windows" + ] + revision = "7db1c3b1a98089d0071c84f646ff5c96aad43682" + +[[projects]] + name = "golang.org/x/text" + packages = [ + "internal/gen", + "internal/triegen", + "internal/ucd", + "transform", + "unicode/cldr", + "unicode/norm" + ] + revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0" + version = "v0.3.0" + +[[projects]] + name = "gopkg.in/yaml.v2" + packages = ["."] + revision = "5420a8b6744d3b0345ab293f6fcba19c978f1183" + version = "v2.2.1" [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "1d8b3690230401d26d294ca7b72d86d7f5f8bb706360023a21dde1f81fff4804" + inputs-digest = "54b60e7f81ba03cf22a9cf957d47f75b9f1592aa729980b6e4af3c208344cbbf" solver-name = "gps-cdcl" solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml index 9765614..1311532 100755 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -38,3 +38,11 @@ [[constraint]] name = "github.com/stretchr/testify" revision = "2aa2c176b9dab406a6970f6a55f513e8a8c8b18f" + +[[constraint]] + name = "github.com/cenkalti/backoff" + version = "v1.1.0" + +[[constraint]] + name = "github.com/NYTimes/gziphandler" + version = "1.0.1" diff --git a/INTEGRATION.md b/INTEGRATION.md new file mode 100755 index 0000000..bf70da9 --- /dev/null +++ b/INTEGRATION.md @@ -0,0 +1,279 @@ +# Skycoin Exchange Integration + +A Skycoin node offers multiple interfaces: + +* REST API on port 6420 (when running from source; if you are using the releases downloaded from the website, the port is randomized) +* JSON-RPC 2.0 API accessible on `/api/v1/webrpc` endpoint **[deprecated]** + +A CLI tool is provided in `cmd/cli/cli.go`. This tool communicates over the JSON-RPC 2.0 API. In the future it will communicate over the REST API. + +*Note*: Do not interface with the JSON-RPC 2.0 API directly, it is deprecated and will be removed in a future version. + +The API interfaces do not support authentication or encryption so they should only be used over localhost. + +If your application is written in Go, you can use these client libraries to interface with the node: + +* [Skycoin REST API Client Godoc](https://godoc.org/github.com/skycoin/skycoin/src/api#Client) +* [Skycoin CLI Godoc](https://godoc.org/github.com/skycoin/skycoin/src/cli) + +*Note*: The CLI interface will be deprecated and replaced with a better one in the future. + +The wallet APIs in the REST API operate on wallets loaded from and saved to `~/.skycoin/wallets`. +Use the CLI tool to perform seed generation and transaction signing outside of the Skycoin node. + +The Skycoin node's wallet APIs can be enabled with `-enable-wallet-api`. + +For a node used to support another application, +it is recommended to use the REST API for blockchain queries and disable the wallet APIs, +and to use the CLI tool for wallet operations (seed and address generation, transaction signing). + + + +- [API Documentation](#api-documentation) + - [Wallet REST API](#wallet-rest-api) + - [Skycoin command line interface](#skycoin-command-line-interface) + - [Skycoin REST API Client Documentation](#skycoin-rest-api-client-documentation) + - [Skycoin Go Library Documentation](#skycoin-go-library-documentation) + - [libskycoin Documentation](#libskycoin-documentation) +- [Implementation guidelines](#implementation-guidelines) + - [Scanning deposits](#scanning-deposits) + - [Using the CLI](#using-the-cli) + - [Using the REST API](#using-the-rest-api) + - [Using skycoin as a library in a Go application](#using-skycoin-as-a-library-in-a-go-application) + - [Sending coins](#sending-coins) + - [General principles](#general-principles) + - [Using the CLI](#using-the-cli-1) + - [Using the REST API](#using-the-rest-api-1) + - [Using skycoin as a library in a Go application](#using-skycoin-as-a-library-in-a-go-application-1) + - [Coinhours](#coinhours) + - [REST API](#rest-api) + - [CLI](#cli) + - [Verifying addresses](#verifying-addresses) + - [Using the CLI](#using-the-cli-2) + - [Using the REST API](#using-the-rest-api-2) + - [Using skycoin as a library in a Go application](#using-skycoin-as-a-library-in-a-go-application-2) + - [Using skycoin as a library in other applications](#using-skycoin-as-a-library-in-other-applications) + - [Checking Skycoin node connections](#checking-skycoin-node-connections) + - [Using the CLI](#using-the-cli-3) + - [Using the REST API](#using-the-rest-api-3) + - [Using skycoin as a library in a Go application](#using-skycoin-as-a-library-in-a-go-application-3) + - [Checking Skycoin node status](#checking-skycoin-node-status) + - [Using the CLI](#using-the-cli-4) + - [Using the REST API](#using-the-rest-api-4) + - [Using skycoin as a library in a Go application](#using-skycoin-as-a-library-in-a-go-application-4) + + + + +## API Documentation + +### Wallet REST API + +[Wallet REST API](src/api/README.md). + +### Skycoin command line interface + +[CLI command API](cmd/cli/README.md). + +### Skycoin REST API Client Documentation + +[Skycoin REST API Client](https://godoc.org/github.com/skycoin/skycoin/src/api#Client) + +### Skycoin Go Library Documentation + +[Skycoin Godoc](https://godoc.org/github.com/skycoin/skycoin) + +### libskycoin Documentation + +[libskycoin documentation](/lib/cgo/README.md) + +## Implementation guidelines + +### Scanning deposits + +There are multiple approaches to scanning for deposits, depending on your implementation. + +One option is to watch for incoming blocks and check them for deposits made to a list of known deposit addresses. +Another option is to check the unspent outputs for a list of known deposit addresses. + +#### Using the CLI + +To scan the blockchain, use `skycoin-cli lastBlocks` or `skycoin-cli blocks`. These will return block data as JSON +and new unspent outputs sent to an address can be detected. + +To check address outputs, use `skycoin-cli addressOutputs`. If you only want the balance, you can use `skycoin-cli addressBalance`. + +#### Using the REST API + +To scan the blockchain, call `GET /api/v1/last_blocks?num=` or `GET /api/v1/blocks?start=&end=`. There will return block data as JSON +and new unspent outputs sent to an address can be detected. + +To check address outputs, call `GET /api/v1/outputs?addrs=`. If you only want the balance, you can call `GET /api/v1/balance?addrs=`. + +* [`GET /api/v1/last_blocks` docs](src/api/README.md#get-last-n-blocks) +* [`GET /api/v1/blocks` docs](src/api/README.md#get-blocks-in-specific-range) +* [`GET /api/v1/outputs` docs](src/api/README.md#get-unspent-output-set-of-address-or-hash) +* [`GET /api/v1/balance` docs](src/api/README.md#get-balance-of-addresses) + +#### Using skycoin as a library in a Go application + +We recommend using the [Skycoin REST API Client](https://godoc.org/github.com/skycoin/skycoin/src/api#Client). + +### Sending coins + +#### General principles + +After each spend, wait for the transaction to confirm before trying to spend again. + +For higher throughput, combine multiple spends into one transaction. + +Skycoin uses "coin hours" to ratelimit transactions. +The total number of coinhours in a transaction's outputs must be 50% or less than the number of coinhours in a transaction's inputs, +or else the transaction is invalid and will not be accepted. A transaction must have at least 1 input with at least 1 coin hour. +Sending too many transactions in quick succession will use up all available coinhours. +Coinhours are earned at a rate of 1 coinhour per coin per hour, calculated per second. +This means that 3600 coins will earn 1 coinhour per second. +However, coinhours are only updated when a new block is published to the blockchain. +New blocks are published every 10 seconds, but only if there are pending transactions in the network. + +To avoid running out of coinhours in situations where the application may frequently send, +the sender should batch sends into a single transaction and send them on a +30 second to 1 minute interval. + +There are other strategies to minimize the likelihood of running out of coinhours, such +as splitting up balances into many unspent outputs and having a large balance which generates +coinhours quickly. + +#### Using the CLI + +When sending coins from the CLI tool, a wallet file local to the caller is used. +The CLI tool allows you to specify the wallet file on disk to use for operations. + +See [CLI command API](cmd/cli/README.md) for documentation of the CLI interface. + +To perform a send, the preferred method follows these steps in a loop: + +* `skycoin-cli createRawTransaction -m '[{"addr:"$addr1,"coins:"$coins1"}, ...]` - `-m` flag is send-to-many +* `skycoin-cli broadcastTransaction` - returns `txid` +* `skycoin-cli transaction $txid` - repeat this command until `"status"` is `"confirmed"` + +That is, create a raw transaction, broadcast it, and wait for it to confirm. + +#### Using the REST API + +Create a transaction with [POST /wallet/transaction](https://github.com/skycoin/skycoin/blob/develop/src/api/README.md#create-transaction), +then inject it to the network with [POST /injectTransaction](https://github.com/skycoin/skycoin/blob/develop/src/api/README.md#inject-raw-transaction). + +When using `POST /wallet/transaction`, a wallet file local to the skycoin node is used. +The wallet file is specified by wallet ID, and all wallet files are in the +configured data directory (which is `$HOME/.skycoin/wallets` by default). + +#### Using skycoin as a library in a Go application + +If your application is written in Go, you can interface with the CLI library +directly, see [Skycoin CLI Godoc](https://godoc.org/github.com/skycoin/skycoin/src/cli). + +A REST API client is also available: [Skycoin REST API Client Godoc](https://godoc.org/github.com/skycoin/skycoin/src/api#Client). + +#### Coinhours + +Transaction fees in skycoin is paid in coinhours and is currently set to `50%`, +every transaction created burns `50%` of the total coinhours in all the input +unspents. + +You need a minimum of `1` of coinhour to create a transaction. + +Coinhours are generated at a rate of `1 coinsecond` per `second` +which are then converted to `coinhours`, `1` coinhour = `3600` coinseconds. + +> Note: Coinhours don't have decimals and only show up in whole numbers. + +##### REST API + +When using the REST API, the coin hours sent to the destination and change can be controlled. +The 50% burn fee is still required. + +See the [POST /wallet/transaction](https://github.com/skycoin/skycoin/blob/develop/src/api/README.md#create-transaction) +documentation for more information on how to control the coin hours. + +We recommend sending at least 1 coin hour to each destination, otherwise the receiver will have to +wait for another coin hour to accumulate before they can make another transaction. + +##### CLI + +When using the CLI the amount of coinhours sent to the receiver is capped to +the number of coins they receive with a minimum of `1` coinhour for transactions +with `<1` skycoin being sent. + +The coinhours left after burning `50%` and sending to receivers are sent to the change address. + +For eg. If an address has `10` skycoins and `50` coinhours and only `1` unspent. +If we send `5` skycoins to another address then that address will receive +`5` skycoins and `5` coinhours, `26` coinhours will be burned. +The sending address will be left with `5` skycoins and `19` coinhours which +will then be sent to the change address. + + +### Verifying addresses + +#### Using the CLI + +```sh +skycoin-cli verifyAddress $addr +``` + +#### Using the REST API + +Not directly supported, but API calls that have an address argument will return `400 Bad Request` if they receive an invalid address. + +#### Using skycoin as a library in a Go application + +https://godoc.org/github.com/skycoin/skycoin/src/cipher#DecodeBase58Address + +```go +if _, err := cipher.DecodeBase58Address(address); err != nil { + fmt.Println("Invalid address:", err) + return +} +``` + +#### Using skycoin as a library in other applications + +Address validation is available through a C wrapper, `libskycoin`. + +See the [libskycoin documentation](/lib/cgo/README.md) for usage instructions. + +### Checking Skycoin node connections + +#### Using the CLI + +Not implemented + +#### Using the REST API + +* `GET /api/v1/network/connections` + +#### Using skycoin as a library in a Go application + +Use the [Skycoin REST API Client](https://godoc.org/github.com/skycoin/skycoin/src/api#Client) + +### Checking Skycoin node status + +#### Using the CLI + +```sh +skycoin-cli status +``` + +#### Using the REST API + +A method similar to `skycoin-cli status` is not implemented, but these endpoints can be used: + +* `GET /api/v1/health` +* `GET /api/v1/version` +* `GET /api/v1/blockchain/metadata` +* `GET /api/v1/blockchain/progress` + +#### Using skycoin as a library in a Go application + +Use the [Skycoin CLI package](https://godoc.org/github.com/skycoin/skycoin/src/cli) diff --git a/Installation.md b/Installation.md index e035e36..7ef426d 100755 --- a/Installation.md +++ b/Installation.md @@ -1,6 +1,6 @@ # Installing go -Skycoin supports go1.9+. The preferred version is go1.10. +Skycoin supports go1.10+. ## For OSX First you need to have `homebrew` installed, if you don't have it yet. @@ -53,8 +53,8 @@ In China, use `--source=https://github.com/golang/go` to bypass firewall when fe gvm install go1.4 --source=https://github.com/golang/go gvm use go1.4 -gvm install go1.9 -gvm use go1.9 --default +gvm install go1.10.2 +gvm use go1.10.2 --default ``` #### Installation issues @@ -62,7 +62,7 @@ If you open up new a terminal and the `go` command is not found then add this to ```sh [[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm" -gvm use go1.9 >/dev/null +gvm use go1.10.2 >/dev/null ``` ## Install Go manually @@ -72,7 +72,7 @@ Let's go to home directory and declare `go`'s version that you want to download. ```sh cd ~ -export GOV=1.10 # golang version. Could be any of the following versions 1.9, 1.10 +export GOV=1.10.2 # golang version ``` After that, let's download and uncompress golang source. diff --git a/Makefile b/Makefile new file mode 100755 index 0000000..5937df6 --- /dev/null +++ b/Makefile @@ -0,0 +1,218 @@ +.DEFAULT_GOAL := help +.PHONY: run run-help test test-core test-libc test-lint build-libc check cover +.PHONY: integration-test-stable integration-test-stable-disable-csrf +.PHONY: integration-test-live integration-test-live-wallet +.PHONY: integration-test-disable-wallet-api integration-test-disable-seed-api +.PHONY: integration-test-enable-seed-api integration-test-enable-seed-api +.PHONY: integration-test-disable-gui integration-test-disable-gui +.PHONY: install-linters format release clean-release install-deps-ui build-ui help + +# Static files directory +GUI_STATIC_DIR = src/gui/static + +# Electron files directory +ELECTRON_DIR = electron + +# Compilation output +BUILD_DIR = build +BUILDLIB_DIR = $(BUILD_DIR)/libskycoin +LIB_DIR = lib +LIB_FILES = $(shell find ./lib/cgo -type f -name "*.go") +SRC_FILES = $(shell find ./src -type f -name "*.go") +BIN_DIR = bin +DOC_DIR = docs +INCLUDE_DIR = include +LIBSRC_DIR = lib/cgo +LIBDOC_DIR = $(DOC_DIR)/libc + +# Compilation flags +CC_VERSION = $(shell $(CC) -dumpversion) +STDC_FLAG = $(python -c "if tuple(map(int, '$(CC_VERSION)'.split('.'))) < (6,): print('-std=C99'") +LIBC_LIBS = -lcriterion +LIBC_FLAGS = -I$(LIBSRC_DIR) -I$(INCLUDE_DIR) -I$(BUILD_DIR)/usr/include -L $(BUILDLIB_DIR) -L$(BUILD_DIR)/usr/lib + +# Platform specific checks +OSNAME = $(TRAVIS_OS_NAME) + +ifeq ($(shell uname -s),Linux) + LDLIBS=$(LIBC_LIBS) -lpthread + LDPATH=$(shell printenv LD_LIBRARY_PATH) + LDPATHVAR=LD_LIBRARY_PATH + LDFLAGS=$(LIBC_FLAGS) $(STDC_FLAG) +ifndef OSNAME + OSNAME = linux +endif +else ifeq ($(shell uname -s),Darwin) +ifndef OSNAME + OSNAME = osx +endif + LDLIBS = $(LIBC_LIBS) + LDPATH=$(shell printenv DYLD_LIBRARY_PATH) + LDPATHVAR=DYLD_LIBRARY_PATH + LDFLAGS=$(LIBC_FLAGS) -framework CoreFoundation -framework Security +else + LDLIBS = $(LIBC_LIBS) + LDPATH=$(shell printenv LD_LIBRARY_PATH) + LDPATHVAR=LD_LIBRARY_PATH + LDFLAGS=$(LIBC_FLAGS) +endif + +run: ## Run the skycoin node. To add arguments, do 'make ARGS="--foo" run'. + ./run.sh ${ARGS} + +run-help: ## Show skycoin node help + @go run cmd/skycoin/skycoin.go --help + +test: ## Run tests for Skycoin + go test ./cmd/... -timeout=5m + go test ./src/... -timeout=5m + +test-386: ## Run tests for Skycoin with GOARCH=386 + GOARCH=386 go test ./cmd/... -timeout=5m + GOARCH=386 go test ./src/... -timeout=5m + +test-amd64: ## Run tests for Skycoin with GOARCH=amd64 + GOARCH=amd64 go test ./cmd/... -timeout=5m + GOARCH=amd64 go test ./src/... -timeout=5m + +configure-build: + mkdir -p $(BUILD_DIR)/usr/tmp $(BUILD_DIR)/usr/lib $(BUILD_DIR)/usr/include + mkdir -p $(BUILDLIB_DIR) $(BIN_DIR) $(INCLUDE_DIR) + +$(BUILDLIB_DIR)/libskycoin.so: $(LIB_FILES) $(SRC_FILES) + rm -Rf $(BUILDLIB_DIR)/libskycoin.so + go build -buildmode=c-shared -o $(BUILDLIB_DIR)/libskycoin.so $(LIB_FILES) + mv $(BUILDLIB_DIR)/libskycoin.h $(INCLUDE_DIR)/ + +$(BUILDLIB_DIR)/libskycoin.a: $(LIB_FILES) $(SRC_FILES) + rm -Rf $(BUILDLIB_DIR)/libskycoin.a + go build -buildmode=c-archive -o $(BUILDLIB_DIR)/libskycoin.a $(LIB_FILES) + mv $(BUILDLIB_DIR)/libskycoin.h $(INCLUDE_DIR)/ + +build-libc-static: $(BUILDLIB_DIR)/libskycoin.a + +build-libc-shared: $(BUILDLIB_DIR)/libskycoin.so + +## Build libskycoin C client library +build-libc: configure-build build-libc-static build-libc-shared + +## Build libskycoin C client library and executable C test suites +## with debug symbols. Use this target to debug the source code +## with the help of an IDE +build-libc-dbg: configure-build build-libc-static build-libc-shared + $(CC) -g -o $(BIN_DIR)/test_libskycoin_shared $(LIB_DIR)/cgo/tests/*.c -lskycoin $(LDLIBS) $(LDFLAGS) + $(CC) -g -o $(BIN_DIR)/test_libskycoin_static $(LIB_DIR)/cgo/tests/*.c $(BUILDLIB_DIR)/libskycoin.a $(LDLIBS) $(LDFLAGS) + +test-libc: build-libc ## Run tests for libskycoin C client library + echo "Compiling with $(CC) $(CC_VERSION) $(STDC_FLAG)" + $(CC) -o $(BIN_DIR)/test_libskycoin_shared $(LIB_DIR)/cgo/tests/*.c $(LIB_DIR)/cgo/tests/testutils/*.c -lskycoin $(LDLIBS) $(LDFLAGS) + $(CC) -o $(BIN_DIR)/test_libskycoin_static $(LIB_DIR)/cgo/tests/*.c $(LIB_DIR)/cgo/tests/testutils/*.c $(BUILDLIB_DIR)/libskycoin.a $(LDLIBS) $(LDFLAGS) + $(LDPATHVAR)="$(LDPATH):$(BUILD_DIR)/usr/lib:$(BUILDLIB_DIR)" $(BIN_DIR)/test_libskycoin_shared + $(LDPATHVAR)="$(LDPATH):$(BUILD_DIR)/usr/lib" $(BIN_DIR)/test_libskycoin_static + +docs-libc: + doxygen ./.Doxyfile + moxygen -o $(LIBDOC_DIR)/API.md $(LIBDOC_DIR)/xml/ + +docs: docs-libc + +lint: ## Run linters. Use make install-linters first. + vendorcheck ./... + golangci-lint run --no-config --deadline=3m --concurrency=2 --disable-all --tests --skip-dirs=lib/cgo \ + -E goimports \ + -E golint \ + -E varcheck \ + -E unparam \ + -E deadcode \ + -E structcheck \ + ./... + # lib cgo can't use golint because it needs export directives in function docstrings that do not obey golint rules + golangci-lint run --no-config --deadline=3m --concurrency=2 --disable-all --tests \ + -E goimports \ + -E varcheck \ + -E unparam \ + -E structcheck \ + ./lib/cgo/... + +check: lint test integration-test-stable integration-test-stable-disable-csrf integration-test-disable-wallet-api integration-test-disable-seed-api integration-test-enable-seed-api integration-test-disable-gui ## Run tests and linters + +integration-test-stable: ## Run stable integration tests + ./ci-scripts/integration-test-stable.sh -c + +integration-test-stable-disable-csrf: ## Run stable integration tests with CSRF disabled + ./ci-scripts/integration-test-stable.sh + +integration-test-live: ## Run live integration tests + ./ci-scripts/integration-test-live.sh -c + +integration-test-live-wallet: ## Run live integration tests with wallet + ./ci-scripts/integration-test-live.sh -w + +integration-test-live-disable-csrf: ## Run live integration tests against a node with CSRF disabled + ./ci-scripts/integration-test-live.sh + +integration-test-disable-wallet-api: ## Run disable wallet api integration tests + ./ci-scripts/integration-test-disable-wallet-api.sh + +integration-test-enable-seed-api: ## Run enable seed api integration test + ./ci-scripts/integration-test-enable-seed-api.sh + +integration-test-disable-gui: + ./ci-scripts/integration-test-disable-gui.sh + +cover: ## Runs tests on ./src/ with HTML code coverage + go test -cover -coverprofile=cover.out -coverpkg=github.com/skycoin/skycoin/... ./src/... + go tool cover -html=cover.out + +install-linters: ## Install linters + go get -u github.com/FiloSottile/vendorcheck + go get -u github.com/golangci/golangci-lint/cmd/golangci-lint + +install-deps-libc: configure-build ## Install locally dependencies for testing libskycoin + git clone --recursive https://github.com/skycoin/Criterion $(BUILD_DIR)/usr/tmp/Criterion + mkdir $(BUILD_DIR)/usr/tmp/Criterion/build + cd $(BUILD_DIR)/usr/tmp/Criterion/build && cmake .. && cmake --build . + mv $(BUILD_DIR)/usr/tmp/Criterion/build/libcriterion.* $(BUILD_DIR)/usr/lib/ + cp -R $(BUILD_DIR)/usr/tmp/Criterion/include/* $(BUILD_DIR)/usr/include/ + +format: ## Formats the code. Must have goimports installed (use make install-linters). + goimports -w -local github.com/skycoin/skycoin ./cmd + goimports -w -local github.com/skycoin/skycoin ./src + goimports -w -local github.com/skycoin/skycoin ./lib + +install-deps-ui: ## Install the UI dependencies + cd $(GUI_STATIC_DIR) && npm install + +lint-ui: ## Lint the UI code + cd $(GUI_STATIC_DIR) && npm run lint + +test-ui: ## Run UI tests + cd $(GUI_STATIC_DIR) && npm run test + +test-ui-e2e: ## Run UI e2e tests + ./ci-scripts/ui-e2e.sh + +build-ui: ## Builds the UI + cd $(GUI_STATIC_DIR) && npm run build + +build-ui-travis: ## Builds the UI for travis + cd $(GUI_STATIC_DIR) && npm run build-travis + +release: ## Build electron and standalone apps. Use osarch=${osarch} to specify the platform. Example: 'make release osarch=darwin/amd64', multiple platform can be supported in this way: 'make release osarch="darwin/amd64 windows/amd64"'. Supported architectures are: darwin/amd64 windows/amd64 windows/386 linux/amd64 linux/arm, the builds are located in electron/release folder. + cd $(ELECTRON_DIR) && ./build.sh ${osarch} + @echo release files are in the folder of electron/release + +release-bin: ## Build standalone apps. Use osarch=${osarch} to specify the platform. Example: 'make release-bin osarch=darwin/amd64' Supported architectures are the same as 'release' command. + cd $(ELECTRON_DIR) && ./build-standalone-release.sh ${osarch} + @echo release files are in the folder of electron/release + +release-gui: ## Build electron apps. Use osarch=${osarch} to specify the platform. Example: 'make release-gui osarch=darwin/amd64' Supported architectures are the same as 'release' command. + cd $(ELECTRON_DIR) && ./build-electron-release.sh ${osarch} + @echo release files are in the folder of electron/release + + +clean-release: ## Clean dist files and delete all builds in electron/release + rm $(ELECTRON_DIR)/release/* + +help: + @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' \ No newline at end of file diff --git a/ci-scripts/build-wallet.sh b/ci-scripts/build-wallet.sh index 46213a0..8c1210d 100755 --- a/ci-scripts/build-wallet.sh +++ b/ci-scripts/build-wallet.sh @@ -2,7 +2,6 @@ echo "start to build wallets..." pushd "electron" -yarn if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./build.sh 'linux/amd64 linux/arm' ;fi if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./build.sh 'darwin/amd64' ;fi ls release/ diff --git a/ci-scripts/integration-test-disable-gui.sh b/ci-scripts/integration-test-disable-gui.sh new file mode 100755 index 0000000..9c80af3 --- /dev/null +++ b/ci-scripts/integration-test-disable-gui.sh @@ -0,0 +1,105 @@ +#!/bin/bash +# Runs "disable-gui"-mode tests against a skycoin node configured with -enable-gui=false +# and /api/v1/api endpoint should return 404 Not Found error + +# Set Script Name variable +SCRIPT=`basename ${BASH_SOURCE[0]}` + +# Find unused port +PORT="1024" +while $(lsof -Pi :$PORT -sTCP:LISTEN -t >/dev/null) ; do + PORT=$((PORT+1)) +done + +RPC_PORT="$PORT" +HOST="http://127.0.0.1:$PORT" +RPC_ADDR="http://127.0.0.1:$RPC_PORT" +MODE="disable-gui" +BINARY="skycoin-integration" +TEST="" +RUN_TESTS="" +# run go test with -v flag +VERBOSE="" + +usage () { + echo "Usage: $SCRIPT" + echo "Optional command line arguments" + echo "-t -- Test to run, api or cli; empty runs both tests" + echo "-v -- Run test with -v flag" + exit 1 +} + +while getopts "h?t:r:v" args; do + case $args in + h|\?) + usage; + exit;; + t ) TEST=${OPTARG};; + v ) VERBOSE="-v";; + r ) RUN_TESTS="-run ${OPTARG}";; + esac +done + +set -euxo pipefail + +DATA_DIR=$(mktemp -d -t skycoin-data-dir.XXXXXX) +WALLET_DIR="${DATA_DIR}/wallets" + +if [[ ! "$DATA_DIR" ]]; then + echo "Could not create temp dir" + exit 1 +fi + +# Compile the skycoin node +# We can't use "go run" because this creates two processes which doesn't allow us to kill it at the end +echo "compiling skycoin" +go build -o "$BINARY" cmd/skycoin/skycoin.go + +# Run skycoin node with pinned blockchain database +echo "starting skycoin node in background with http listener on $HOST" + +./skycoin-integration -disable-networking=true \ + -web-interface-port=$PORT \ + -download-peerlist=false \ + -db-path=./src/api/integration/testdata/blockchain-180.db \ + -db-read-only=true \ + -rpc-interface=true \ + -launch-browser=false \ + -data-dir="$DATA_DIR" \ + -wallet-dir="$WALLET_DIR" \ + -enable-wallet-api=true \ + -enable-seed-api=true \ + -enable-gui=false& +SKYCOIN_PID=$! + +echo "skycoin node pid=$SKYCOIN_PID" + +echo "sleeping for startup" +sleep 3 +echo "done sleeping" + +set +e + +if [[ -z $TEST || $TEST = "api" ]]; then + +SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE SKYCOIN_NODE_HOST=$HOST WALLET_DIR=$WALLET_DIR \ + go test ./src/api/integration/... -timeout=30s $VERBOSE $RUN_TESTS + +API_FAIL=$? + +fi + +echo "shutting down skycoin node" + +# Shutdown skycoin node +kill -s SIGINT $SKYCOIN_PID +wait $SKYCOIN_PID + +rm "$BINARY" + + +if [[ (-z $TEST || $TEST = "api") && $API_FAIL -ne 0 ]]; then + exit $API_FAIL +else + exit 0 +fi \ No newline at end of file diff --git a/ci-scripts/integration-test-disable-wallet-api.sh b/ci-scripts/integration-test-disable-wallet-api.sh index f311e61..d49c697 100755 --- a/ci-scripts/integration-test-disable-wallet-api.sh +++ b/ci-scripts/integration-test-disable-wallet-api.sh @@ -3,15 +3,20 @@ # "disable-wallet-api"-mode confirms that no wallet related apis work, that the main index.html page # does not load, and that a new wallet file is not created. -#Set Script Name variable +# Set Script Name variable SCRIPT=`basename ${BASH_SOURCE[0]}` -PORT="46421" + +# Find unused port +PORT="1024" +while $(lsof -Pi :$PORT -sTCP:LISTEN -t >/dev/null) ; do + PORT=$((PORT+1)) +done + RPC_PORT="$PORT" HOST="http://127.0.0.1:$PORT" RPC_ADDR="http://127.0.0.1:$RPC_PORT" MODE="disable-wallet-api" BINARY="skycoin-integration" -TEST="" UPDATE="" # run go test with -v flag VERBOSE="" @@ -26,7 +31,6 @@ GOLDFLAGS="-X main.Commit=${COMMIT} -X main.Branch=${BRANCH}" usage () { echo "Usage: $SCRIPT" echo "Optional command line arguments" - echo "-t -- Test to run, gui or cli; empty runs both tests" echo "-r -- Run test with -run flag" echo "-u -- Update stable testdata" echo "-v -- Run test with -v flag" @@ -39,7 +43,6 @@ while getopts "h?t:r:uvf" args; do h|\?) usage; exit;; - t ) TEST=${OPTARG};; r ) RUN_TESTS="-run ${OPTARG}";; u ) UPDATE="--update";; v ) VERBOSE="-v";; @@ -68,12 +71,13 @@ echo "starting skycoin node in background with http listener on $HOST" ./skycoin-integration -disable-networking=true \ -web-interface-port=$PORT \ -download-peerlist=false \ - -db-path=./src/gui/integration/test-fixtures/blockchain-180.db \ + -db-path=./src/api/integration/testdata/blockchain-180.db \ -db-read-only=true \ -rpc-interface=true \ -launch-browser=false \ -data-dir="$DATA_DIR" \ -wallet-dir="$WALLET_DIR" \ + -enable-unversioned-api=true \ -enable-wallet-api=false & SKYCOIN_PID=$! @@ -85,24 +89,10 @@ echo "done sleeping" set +e -if [[ -z $TEST || $TEST = "gui" ]]; then - SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE SKYCOIN_NODE_HOST=$HOST WALLET_DIR=$WALLET_DIR \ - go test ./src/gui/integration/... $FAILFAST $UPDATE -timeout=30s $VERBOSE $RUN_TESTS - -GUI_FAIL=$? - -fi - -if [[ -z $TEST || $TEST = "cli" ]]; then - -SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE RPC_ADDR=$RPC_ADDR \ - go test ./src/api/cli/integration/... $FAILFAST $UPDATE -timeout=30s $VERBOSE $RUN_TESTS - -CLI_FAIL=$? - -fi + go test ./src/api/integration/... $FAILFAST $UPDATE -timeout=30s $VERBOSE $RUN_TESTS +FAIL=$? echo "shutting down skycoin node" @@ -112,12 +102,4 @@ wait $SKYCOIN_PID rm "$BINARY" - -if [[ (-z $TEST || $TEST = "gui") && $GUI_FAIL -ne 0 ]]; then - exit $GUI_FAIL -elif [[ (-z $TEST || $TEST = "cli") && $CLI_FAIL -ne 0 ]]; then - exit $CLI_FAIL -else - exit 0 -fi -# exit $FAIL +exit $FAIL diff --git a/ci-scripts/integration-test-disable-seed-api.sh b/ci-scripts/integration-test-enable-seed-api.sh similarity index 72% rename from ci-scripts/integration-test-disable-seed-api.sh rename to ci-scripts/integration-test-enable-seed-api.sh index 400278a..3614699 100755 --- a/ci-scripts/integration-test-disable-seed-api.sh +++ b/ci-scripts/integration-test-enable-seed-api.sh @@ -1,14 +1,20 @@ #!/bin/bash -# Runs "disable-seed-api"-mode tests against a skycoin node configured with -enable-seed-api=false -# and /wallet/seed api endpoint should return 403 forbidden error. +# Runs "enable-seed-api"-mode tests against a skycoin node configured with -enable-seed-api=true +# and /api/v1/wallet/seed api endpoint should return coresponding seed -#Set Script Name variable +# Set Script Name variable SCRIPT=`basename ${BASH_SOURCE[0]}` -PORT="46422" + +# Find unused port +PORT="1024" +while $(lsof -Pi :$PORT -sTCP:LISTEN -t >/dev/null) ; do + PORT=$((PORT+1)) +done + RPC_PORT="$PORT" HOST="http://127.0.0.1:$PORT" RPC_ADDR="http://127.0.0.1:$RPC_PORT" -MODE="disable-seed-api" +MODE="enable-seed-api" BINARY="skycoin-integration" TEST="" RUN_TESTS="" @@ -18,7 +24,7 @@ VERBOSE="" usage () { echo "Usage: $SCRIPT" echo "Optional command line arguments" - echo "-t -- Test to run, gui or cli; empty runs both tests" + echo "-t -- Test to run, api or cli; empty runs both tests" echo "-v -- Run test with -v flag" exit 1 } @@ -55,14 +61,14 @@ echo "starting skycoin node in background with http listener on $HOST" ./skycoin-integration -disable-networking=true \ -web-interface-port=$PORT \ -download-peerlist=false \ - -db-path=./src/gui/integration/test-fixtures/blockchain-180.db \ + -db-path=./src/api/integration/testdata/blockchain-180.db \ -db-read-only=true \ -rpc-interface=true \ -launch-browser=false \ -data-dir="$DATA_DIR" \ -wallet-dir="$WALLET_DIR" \ -enable-wallet-api=true \ - -enable-seed-api=false & + -enable-seed-api=true & SKYCOIN_PID=$! echo "skycoin node pid=$SKYCOIN_PID" @@ -73,19 +79,19 @@ echo "done sleeping" set +e -if [[ -z $TEST || $TEST = "gui" ]]; then +if [[ -z $TEST || $TEST = "api" ]]; then SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE SKYCOIN_NODE_HOST=$HOST WALLET_DIR=$WALLET_DIR \ - go test ./src/gui/integration/... -timeout=30s $VERBOSE $RUN_TESTS + go test ./src/api/integration/... -timeout=30s $VERBOSE $RUN_TESTS -GUI_FAIL=$? +API_FAIL=$? fi if [[ -z $TEST || $TEST = "cli" ]]; then # SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE RPC_ADDR=$RPC_ADDR \ -# go test ./src/api/cli/integration/... -timeout=30s $VERBOSE $RUN_TESTS +# go test ./src/cli/integration/... -timeout=30s $VERBOSE $RUN_TESTS CLI_FAIL=$? @@ -101,8 +107,8 @@ wait $SKYCOIN_PID rm "$BINARY" -if [[ (-z $TEST || $TEST = "gui") && $GUI_FAIL -ne 0 ]]; then - exit $GUI_FAIL +if [[ (-z $TEST || $TEST = "api") && $API_FAIL -ne 0 ]]; then + exit $API_FAIL elif [[ (-z $TEST || $TEST = "cli") && $CLI_FAIL -ne 0 ]]; then exit $CLI_FAIL else diff --git a/ci-scripts/integration-test-live.sh b/ci-scripts/integration-test-live.sh index e841677..525f975 100755 --- a/ci-scripts/integration-test-live.sh +++ b/ci-scripts/integration-test-live.sh @@ -28,7 +28,7 @@ FAILFAST="" usage () { echo "Usage: $SCRIPT" echo "Optional command line arguments" - echo "-t -- Test to run, gui or cli; empty runs both tests" + echo "-t -- Test to run, api or cli; empty runs both tests" echo "-r -- Run test with -run flag" echo "-u -- Update stable testdata" echo "-v -- Run test with -v flag" @@ -57,23 +57,25 @@ set -euxo pipefail echo "checking if skycoin node is running" -http_proxy="" https_proxy="" wget -O- $HOST 2>&1 >/dev/null +HEALTH="$HOST/api/v1/health" + +http_proxy="" https_proxy="" wget -O- $HEALTH 2>&1 >/dev/null if [ ! $? -eq 0 ]; then echo "Skycoin node is not running on $HOST" exit 1 fi -if [[ -z $TEST || $TEST = "gui" ]]; then +if [[ -z $TEST || $TEST = "api" ]]; then SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE SKYCOIN_NODE_HOST=$HOST \ - go test ./src/gui/integration/... $FAILFAST $UPDATE -timeout=$TIMEOUT $VERBOSE $RUN_TESTS $TEST_LIVE_WALLET + go test ./src/api/integration/... $FAILFAST $UPDATE -timeout=$TIMEOUT $VERBOSE $RUN_TESTS $TEST_LIVE_WALLET fi if [[ -z $TEST || $TEST = "cli" ]]; then SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE RPC_ADDR=$RPC_ADDR SKYCOIN_NODE_HOST=$HOST USE_CSRF=$USE_CSRF \ - go test ./src/api/cli/integration/... $FAILFAST $UPDATE -timeout=$TIMEOUT $VERBOSE $RUN_TESTS $TEST_LIVE_WALLET + go test ./src/cli/integration/... $FAILFAST $UPDATE -timeout=$TIMEOUT $VERBOSE $RUN_TESTS $TEST_LIVE_WALLET fi diff --git a/ci-scripts/integration-test-stable.sh b/ci-scripts/integration-test-stable.sh index 0fda7dc..20ff4e4 100755 --- a/ci-scripts/integration-test-stable.sh +++ b/ci-scripts/integration-test-stable.sh @@ -1,11 +1,17 @@ #!/bin/bash # Runs "stable"-mode tests against a skycoin node configured with a pinned database # "stable" mode tests assume the blockchain data is static, in order to check API responses more precisely -# $TEST defines which test to run i.e, cli or gui; If empty both are run +# $TEST defines which test to run i.e, cli or api; If empty both are run -#Set Script Name variable +# Set Script Name variable SCRIPT=`basename ${BASH_SOURCE[0]}` -PORT="46420" + +# Find unused port +PORT="1024" +while $(lsof -Pi :$PORT -sTCP:LISTEN -t >/dev/null) ; do + PORT=$((PORT+1)) +done + RPC_PORT="$PORT" HOST="http://127.0.0.1:$PORT" RPC_ADDR="http://127.0.0.1:$RPC_PORT" @@ -28,7 +34,7 @@ GOLDFLAGS="-X main.Commit=${COMMIT} -X main.Branch=${BRANCH}" usage () { echo "Usage: $SCRIPT" echo "Optional command line arguments" - echo "-t -- Test to run, gui or cli; empty runs both tests" + echo "-t -- Test to run, api or cli; empty runs both tests" echo "-r -- Run test with -run flag" echo "-u -- Update stable testdata" echo "-v -- Run test with -v flag" @@ -70,15 +76,14 @@ echo "starting skycoin node in background with http listener on $HOST" ./skycoin-integration -disable-networking=true \ -web-interface-port=$PORT \ -download-peerlist=false \ - -db-path=./src/gui/integration/test-fixtures/blockchain-180.db \ + -db-path=./src/api/integration/testdata/blockchain-180.db \ -db-read-only=true \ -rpc-interface=true \ -launch-browser=false \ -data-dir="$DATA_DIR" \ -enable-wallet-api=true \ -wallet-dir="$WALLET_DIR" \ - $DISABLE_CSRF \ - -enable-seed-api=true & + $DISABLE_CSRF & SKYCOIN_PID=$! echo "skycoin node pid=$SKYCOIN_PID" @@ -89,19 +94,19 @@ echo "done sleeping" set +e -if [[ -z $TEST || $TEST = "gui" ]]; then +if [[ -z $TEST || $TEST = "api" ]]; then SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE SKYCOIN_NODE_HOST=$HOST \ - go test ./src/gui/integration/... $UPDATE -timeout=3m $VERBOSE $RUN_TESTS + go test ./src/api/integration/... $UPDATE -timeout=3m $VERBOSE $RUN_TESTS -GUI_FAIL=$? +API_FAIL=$? fi if [[ -z $TEST || $TEST = "cli" ]]; then SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE RPC_ADDR=$RPC_ADDR USE_CSRF=$USE_CSRF \ - go test ./src/api/cli/integration/... $UPDATE -timeout=3m $VERBOSE $RUN_TESTS + go test ./src/cli/integration/... $UPDATE -timeout=3m $VERBOSE $RUN_TESTS CLI_FAIL=$? @@ -117,8 +122,8 @@ wait $SKYCOIN_PID rm "$BINARY" -if [[ (-z $TEST || $TEST = "gui") && $GUI_FAIL -ne 0 ]]; then - exit $GUI_FAIL +if [[ (-z $TEST || $TEST = "api") && $API_FAIL -ne 0 ]]; then + exit $API_FAIL elif [[ (-z $TEST || $TEST = "cli") && $CLI_FAIL -ne 0 ]]; then exit $CLI_FAIL else diff --git a/ci-scripts/ui-e2e.sh b/ci-scripts/ui-e2e.sh new file mode 100755 index 0000000..b5878b8 --- /dev/null +++ b/ci-scripts/ui-e2e.sh @@ -0,0 +1,122 @@ +#!/bin/bash +# Runs UI e2e tests against a skycoin node configured with a pinned database + +# Set Script Name variable +SCRIPT=`basename ${BASH_SOURCE[0]}` + +# Find unused port +PORT="1024" +while $(lsof -Pi :$PORT -sTCP:LISTEN -t >/dev/null) ; do + PORT=$((PORT+1)) +done + +RPC_ADDR="127.0.0.1:$PORT" +HOST="http://127.0.0.1:$PORT" +BINARY="skycoin-integration" +E2E_PROXY_CONFIG=$(mktemp -t e2e-proxy.config.XXXXXX.js) + +COMMIT=$(git rev-parse HEAD) +BRANCH=$(git rev-parse --abbrev-ref HEAD) +GOLDFLAGS="-X main.Commit=${COMMIT} -X main.Branch=${BRANCH}" + +set -euxo pipefail + +DATA_DIR=$(mktemp -d -t skycoin-data-dir.XXXXXX) +WALLET_DIR="${DATA_DIR}/wallets" + +if [[ ! "$DATA_DIR" ]]; then + echo "Could not create temp dir" + exit 1 +fi + +# Create a dummy wallet with an address existing in the blockchain-180.db dataset +mkdir "$WALLET_DIR" +cat >"${WALLET_DIR}/test_wallet.wlt" <$E2E_PROXY_CONFIG < + - [Install](#install) - [Enable command autocomplete](#enable-command-autocomplete) - [Environment Setting](#environment-setting) - - [RPC_ADDR](#rpcaddr) - - [WALLET_DIR](#walletdir) - - [WALLET_NAME](#walletname) - - [USE_CSRF](#usecsrf) + - [RPC_ADDR](#rpc_addr) + - [WALLET_DIR](#wallet_dir) + - [WALLET_NAME](#wallet_name) + - [USE_CSRF](#use_csrf) - [Usage](#usage) - [Add Private Key](#add-private-key) - - [Example](#example) - [Check address balance](#check-address-balance) - - [Example](#example-1) - [Generate new addresses](#generate-new-addresses) - - [Examples](#examples) - [Check address outputs](#check-address-outputs) - - [Example](#example-2) - [Check block data](#check-block-data) - - [Example](#example-3) - [Check database integrity](#check-database-integrity) - - [Example](#example-4) - [Create a raw transaction](#create-a-raw-transaction) - - [Examples](#examples-1) - [Decode a raw transaction](#decode-a-raw-transaction) - - [Example](#example-5) - [Broadcast a raw transaction](#broadcast-a-raw-transaction) - [Generate a wallet](#generate-a-wallet) - - [Examples](#examples-2) - [Generate addresses for a wallet](#generate-addresses-for-a-wallet) - [Last blocks](#last-blocks) - - [Examples](#examples-3) - [List wallet addresses](#list-wallet-addresses) - - [Examples](#examples-4) - [List wallets](#list-wallets) - - [Example](#example-6) - [Send](#send) - - [Examples](#examples-5) - [Show Config](#show-config) - - [Example](#example-7) - [Status](#status) - - [Example](#example-8) - [Get transaction](#get-transaction) - - [Example](#example-9) - [Verify address](#verify-address) - - [Example](#example-10) - [Check wallet balance](#check-wallet-balance) - - [Example](#example-11) - [See wallet directory](#see-wallet-directory) - - [Examples](#examples-6) - [List wallet transaction history](#list-wallet-transaction-history) - - [Examples](#examples-7) - [List wallet outputs](#list-wallet-outputs) - - [Examples](#examples-8) - [CLI version](#cli-version) - - [Examples](#examples-9) - [Note](#note) @@ -142,7 +120,7 @@ USAGE: skycoin-cli [global options] command [command options] [arguments...] VERSION: - 0.23.1-rc2 + 0.24.1 COMMANDS: addPrivateKey Add a private key to specific wallet diff --git a/cmd/cli/cli.go b/cmd/cli/cli.go index 354671c..c396320 100755 --- a/cmd/cli/cli.go +++ b/cmd/cli/cli.go @@ -4,7 +4,7 @@ import ( "fmt" "os" - "github.com/skycoin/skycoin/src/api/cli" + "github.com/skycoin/skycoin/src/cli" ) func main() { diff --git a/cmd/newcoin/README.md b/cmd/newcoin/README.md new file mode 100755 index 0000000..b655619 --- /dev/null +++ b/cmd/newcoin/README.md @@ -0,0 +1,66 @@ +# Fiber Coin Creator CLI Documention +This tool can be used to create a new fiber coin easily from a config file. +- [Install](#install) + - [Usage](#usage) + - [Create New Coin](#create-new-coin) + - [Example](#example) + +## Install + +```bash +$ cd $GOPATH/src/github.com/skycoin/skycoin/cmd/newcoin +$ go install ./... +``` + +## Usage + +After the installation, you can run `newcoin` to see the usage: + +``` +$ newcoin + +NAME: + newcoin - newcoin is a helper tool for creating new fiber coins + +USAGE: + newcoin [global options] command [command options] [arguments...] + +VERSION: + 0.1 + +COMMANDS: + createcoin Create a new coin from a template file + help, h Shows a list of commands or help for one command + +GLOBAL OPTIONS: + --help, -h show help + --version, -v print the version +``` + +### Create New Coin + +```bash +$ newcoin createcoin [command options] +``` + +``` +OPTIONS: + --coin value name of the coin to create (default: "skycoin") + --template-dir value, --td value template directory path (default: "./template") + --coin-template-file value, --ct value coin template file (default: "coin.template") + --visor-template-file value, --vt value visor template file (default: "visor_parameters.template") + --config-dir value, --cd value config directory path (default: "./") + --config-file value, --cf value config file path (default: "fiber.toml") +``` + +#### Example +Create a test coin. + +```bash +$ newcoin --coin testcoin +``` + +This will create a new directory, `testcoin`, in `cmd` folder and +a `testcoin.go` file inside that folder. + +This file can be used to run a "testcoin" node. \ No newline at end of file diff --git a/cmd/newcoin/newcoin.go b/cmd/newcoin/newcoin.go new file mode 100755 index 0000000..8b6c4c9 --- /dev/null +++ b/cmd/newcoin/newcoin.go @@ -0,0 +1,210 @@ +package main + +import ( + "fmt" + + "os" + "path/filepath" + "text/template" + + "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/skycoin" + "github.com/skycoin/skycoin/src/util/logging" +) + +const ( + // Version is the cli version + Version = "0.1" +) + +// CoinTemplateParameters represents parameters used to generate the new coin files. +type CoinTemplateParameters struct { + Version string + PeerListURL string + Port int + WebInterfacePort int + DataDirectory string + ProfileCPUFile string + GenesisSignatureStr string + GenesisAddressStr string + BlockchainPubkeyStr string + BlockchainSeckeyStr string + GenesisTimestamp uint64 + GenesisCoinVolume uint64 + DefaultConnections []string +} + +var ( + app = cli.NewApp() + log = logging.MustGetLogger("newcoin") +) + +func init() { + app.Name = "newcoin" + app.Usage = "newcoin is a helper tool for creating new fiber coins" + app.Version = Version + commands := cli.Commands{ + createCoinCommand(), + } + + app.Commands = commands + app.EnableBashCompletion = true + app.OnUsageError = func(context *cli.Context, err error, isSubcommand bool) error { + fmt.Fprintf(context.App.Writer, "error: %v\n\n", err) + cli.ShowAppHelp(context) + return nil + } + app.CommandNotFound = func(context *cli.Context, command string) { + tmp := fmt.Sprintf("{{.HelpName}}: '%s' is not a {{.HelpName}} "+ + "command. See '{{.HelpName}} --help'. \n", command) + cli.HelpPrinter(app.Writer, tmp, app) + } +} + +func createCoinCommand() cli.Command { + name := "createcoin" + return cli.Command{ + Name: name, + Usage: "Create a new coin from a template file", + Flags: []cli.Flag{ + cli.StringFlag{ + Name: "coin", + Usage: "name of the coin to create", + Value: "skycoin", + }, + cli.StringFlag{ + Name: "template-dir, td", + Usage: "template directory path", + Value: "./template", + }, + cli.StringFlag{ + Name: "coin-template-file, ct", + Usage: "coin template file", + Value: "coin.template", + }, + cli.StringFlag{ + Name: "visor-template-file, vt", + Usage: "visor template file", + Value: "visor.template", + }, + cli.StringFlag{ + Name: "config-dir, cd", + Usage: "config directory path", + Value: "./", + }, + cli.StringFlag{ + Name: "config-file, cf", + Usage: "config file path", + Value: "fiber.toml", + }, + }, + Action: func(c *cli.Context) error { + // -- parse flags -- // + + templateDir := c.String("template-dir") + + coinTemplateFile := c.String("coin-template-file") + visorTemplateFile := c.String("visor-template-file") + + // check that the coin template file exists + if _, err := os.Stat(filepath.Join(templateDir, coinTemplateFile)); os.IsNotExist(err) { + return err + } + // check that the visor template file exists + if _, err := os.Stat(filepath.Join(templateDir, visorTemplateFile)); os.IsNotExist(err) { + return err + } + + configFile := c.String("config-file") + configDir := c.String("config-dir") + + configFilepath := filepath.Join(configDir, configFile) + // check that the config file exists + if _, err := os.Stat(configFilepath); os.IsNotExist(err) { + return err + } + + coinName := c.String("coin") + + // -- parse template and create new coin.go and visor parameters.go -- // + + config, err := skycoin.NewParameters(configFile, configDir) + if err != nil { + log.Errorf("failed to create new fiber coin config") + return err + } + + coinDir := fmt.Sprintf("./cmd/%s", coinName) + // create new coin directory + // MkdirAll does not error out if the directory already exists + err = os.MkdirAll(coinDir, 0755) + if err != nil { + log.Errorf("failed to create new coin directory %s", coinDir) + return err + } + + // we have to always create a new file otherwise the templating gives an error + coinFilePath := fmt.Sprintf("./cmd/%[1]s/%[1]s.go", coinName) + coinFile, err := os.Create(coinFilePath) + if err != nil { + log.Errorf("failed to create new coin file %s", coinFilePath) + return err + } + + visorParamsFile, err := os.Create("./src/visor/parameters.go") + if err != nil { + log.Errorf("failed to create new visor parameters.go") + return err + } + + // change dir so that text/template can parse the file + err = os.Chdir(templateDir) + if err != nil { + log.Errorf("failed to change directory to %s", templateDir) + return err + } + + t := template.New(coinTemplateFile) + t, err = t.ParseFiles(coinTemplateFile, visorTemplateFile) + if err != nil { + log.Errorf("failed to parse template file: %s", coinTemplateFile) + return err + } + + err = t.ExecuteTemplate(coinFile, coinTemplateFile, CoinTemplateParameters{ + Version: config.Build.Version, + PeerListURL: config.Node.PeerListURL, + Port: config.Node.Port, + WebInterfacePort: config.Node.WebInterfacePort, + DataDirectory: "$HOME/." + coinName, + ProfileCPUFile: coinName + ".prof", + GenesisSignatureStr: config.Node.GenesisSignatureStr, + GenesisAddressStr: config.Node.GenesisAddressStr, + BlockchainPubkeyStr: config.Node.BlockchainPubkeyStr, + BlockchainSeckeyStr: config.Node.BlockchainSeckeyStr, + GenesisTimestamp: config.Node.GenesisTimestamp, + GenesisCoinVolume: config.Node.GenesisCoinVolume, + DefaultConnections: config.Node.DefaultConnections, + }) + if err != nil { + log.Errorf("failed to parse coin template variables") + return err + } + + err = t.ExecuteTemplate(visorParamsFile, visorTemplateFile, config.Visor) + if err != nil { + log.Errorf("failed to parse visor params template variables") + return err + } + + return nil + }, + } +} + +func main() { + if e := app.Run(os.Args); e != nil { + log.Fatal(e) + } +} diff --git a/cmd/solarbankerscoin/solarbankerscoin.go b/cmd/solarbankerscoin/solarbankerscoin.go index dca7ee6..52b00e6 100755 --- a/cmd/solarbankerscoin/solarbankerscoin.go +++ b/cmd/solarbankerscoin/solarbankerscoin.go @@ -1,38 +1,16 @@ package main import ( - "flag" - "fmt" - "log" -"io" - - "net/http" _ "net/http/pprof" - "os" - "os/user" - "os/signal" - "path/filepath" - "runtime/debug" - "runtime/pprof" - "sync" - "syscall" - "time" - "github.com/skycoin/skycoin/src/cipher" - "github.com/skycoin/skycoin/src/coin" - "github.com/skycoin/skycoin/src/daemon" - "github.com/skycoin/skycoin/src/gui" - "github.com/skycoin/skycoin/src/util/browser" - "github.com/skycoin/skycoin/src/util/cert" - "github.com/skycoin/skycoin/src/util/file" + "github.com/skycoin/skycoin/src/skycoin" "github.com/skycoin/skycoin/src/util/logging" "github.com/skycoin/skycoin/src/visor" - "github.com/skycoin/skycoin/src/wallet" ) var ( // Version of the node. Can be set by -ldflags - Version = "0.23.1-rc2" + Version = "0.24.1" // Commit ID. Can be set by -ldflags Commit = "" // Branch name. Can be set by -ldflags @@ -42,8 +20,6 @@ var ( // Can be set by -ldflags ConfigMode = "" - help = false - logger = logging.MustGetLogger("main") // GenesisSignatureStr hex string of genesis signature @@ -53,7 +29,7 @@ var ( // BlockchainPubkeyStr pubic key string BlockchainPubkeyStr = "02c656f4b2ab967f24109b01fb7bce30d76ce9cf1e28ef05b73cc3a5b0bd0f6447" // BlockchainSeckeyStr empty private key string - BlockchainSeckeyStr = "" + BlockchainSeckeyStr = "3a9a608e2f27d52fdbddd2ba2cfd7a0aabb6adb11dc9c1a4c8455080397b72eb" // GenesisTimestamp genesis block create unix time GenesisTimestamp uint64 = 1522660056 @@ -67,798 +43,43 @@ var ( "172.104.173.74:30002", "172.104.173.74:30000", "172.104.52.230:30000", +"18.218.142.16:30000", +"13.58.196.172:30000", } ) - -// Config records the node's configuration -type Config struct { - // Disable peer exchange - DisablePEX bool - // Download peer list - DownloadPeerList bool - // Download the peers list from this URL - PeerListURL string - // Don't make any outgoing connections - DisableOutgoingConnections bool - // Don't allowing incoming connections - DisableIncomingConnections bool - // Disables networking altogether - DisableNetworking bool - // Disables wallet API - EnableWalletAPI bool - // Disable CSRF check in the wallet api - DisableCSRF bool - // Enable /wallet/seed api endpoint - EnableSeedAPI bool - - // Only run on localhost and only connect to others on localhost - LocalhostOnly bool - // Which address to serve on. Leave blank to automatically assign to a - // public interface - Address string - //gnet uses this for TCP incoming and outgoing - Port int - //max outgoing connections to maintain - MaxOutgoingConnections int - // How often to make outgoing connections - OutgoingConnectionsRate time.Duration - // PeerlistSize represents the maximum number of peers that the pex would maintain - PeerlistSize int - // Wallet Address Version - //AddressVersion string - // Remote web interface - WebInterface bool - WebInterfacePort int - WebInterfaceAddr string - WebInterfaceCert string - WebInterfaceKey string - WebInterfaceHTTPS bool - - RPCInterface bool - - // Launch System Default Browser after client startup - LaunchBrowser bool - - // If true, print the configured client web interface address and exit - PrintWebInterfaceAddress bool - - // Data directory holds app data -- defaults to ~/.solarbankerscoin - DataDirectory string - // GUI directory contains assets for the html gui - GUIDirectory string - - ReadTimeout time.Duration - WriteTimeout time.Duration - IdleTimeout time.Duration - - // Logging - ColorLog bool - // This is the value registered with flag, it is converted to LogLevel after parsing - LogLevel string - // Disable "Reply to ping", "Received pong" log messages - DisablePingPong bool - - // Wallets - // Defaults to ${DataDirectory}/wallets/ - WalletDirectory string - // Wallet crypto type - WalletCryptoType string - - RunMaster bool - - GenesisSignature cipher.Sig - GenesisTimestamp uint64 - GenesisAddress cipher.Address - - BlockchainPubkey cipher.PubKey - BlockchainSeckey cipher.SecKey - - /* Developer options */ - - // Enable cpu profiling - ProfileCPU bool - // Where the file is written to - ProfileCPUFile string - // HTTP profiling interface (see http://golang.org/pkg/net/http/pprof/) - HTTPProf bool - // Will force it to connect to this ip:port, instead of waiting for it - // to show up as a peer - ConnectTo string - - DBPath string - DBReadOnly bool - Arbitrating bool - LogToFile bool - Version bool // show node version -} - -func (c *Config) register() { - flag.BoolVar(&help, "help", false, "Show help") - flag.BoolVar(&c.DisablePEX, "disable-pex", c.DisablePEX, "disable PEX peer discovery") - flag.BoolVar(&c.DownloadPeerList, "download-peerlist", c.DownloadPeerList, "download a peers.txt from -peerlist-url") - flag.StringVar(&c.PeerListURL, "peerlist-url", c.PeerListURL, "with -download-peerlist=true, download a peers.txt file from this url") - flag.BoolVar(&c.DisableOutgoingConnections, "disable-outgoing", c.DisableOutgoingConnections, "Don't make outgoing connections") - flag.BoolVar(&c.DisableIncomingConnections, "disable-incoming", c.DisableIncomingConnections, "Don't make incoming connections") - flag.BoolVar(&c.DisableNetworking, "disable-networking", c.DisableNetworking, "Disable all network activity") - flag.BoolVar(&c.EnableWalletAPI, "enable-wallet-api", c.EnableWalletAPI, "Enable the wallet API") - flag.BoolVar(&c.DisableCSRF, "disable-csrf", c.DisableCSRF, "disable CSRF check") - flag.BoolVar(&c.EnableSeedAPI, "enable-seed-api", c.EnableSeedAPI, "enable /wallet/seed api") - flag.StringVar(&c.Address, "address", c.Address, "IP Address to run application on. Leave empty to default to a public interface") - flag.IntVar(&c.Port, "port", c.Port, "Port to run application on") - - flag.BoolVar(&c.WebInterface, "web-interface", c.WebInterface, "enable the web interface") - flag.IntVar(&c.WebInterfacePort, "web-interface-port", c.WebInterfacePort, "port to serve web interface on") - flag.StringVar(&c.WebInterfaceAddr, "web-interface-addr", c.WebInterfaceAddr, "addr to serve web interface on") - flag.StringVar(&c.WebInterfaceCert, "web-interface-cert", c.WebInterfaceCert, "cert.pem file for web interface HTTPS. If not provided, will use cert.pem in -data-directory") - flag.StringVar(&c.WebInterfaceKey, "web-interface-key", c.WebInterfaceKey, "key.pem file for web interface HTTPS. If not provided, will use key.pem in -data-directory") - flag.BoolVar(&c.WebInterfaceHTTPS, "web-interface-https", c.WebInterfaceHTTPS, "enable HTTPS for web interface") - - flag.BoolVar(&c.RPCInterface, "rpc-interface", c.RPCInterface, "enable the rpc interface") - - flag.BoolVar(&c.LaunchBrowser, "launch-browser", c.LaunchBrowser, "launch system default webbrowser at client startup") - flag.BoolVar(&c.PrintWebInterfaceAddress, "print-web-interface-address", c.PrintWebInterfaceAddress, "print configured web interface address and exit") - flag.StringVar(&c.DataDirectory, "data-dir", c.DataDirectory, "directory to store app data (defaults to ~/.solarbankerscoin)") - flag.StringVar(&c.DBPath, "db-path", c.DBPath, "path of database file (defaults to ~/.solarbankerscoin/data.db)") - flag.BoolVar(&c.DBReadOnly, "db-read-only", c.DBReadOnly, "open bolt db read-only") - flag.StringVar(&c.ConnectTo, "connect-to", c.ConnectTo, "connect to this ip only") - flag.BoolVar(&c.ProfileCPU, "profile-cpu", c.ProfileCPU, "enable cpu profiling") - flag.StringVar(&c.ProfileCPUFile, "profile-cpu-file", c.ProfileCPUFile, "where to write the cpu profile file") - flag.BoolVar(&c.HTTPProf, "http-prof", c.HTTPProf, "Run the http profiling interface") - flag.StringVar(&c.LogLevel, "log-level", c.LogLevel, "Choices are: debug, info, warn, error, fatal, panic") - flag.BoolVar(&c.ColorLog, "color-log", c.ColorLog, "Add terminal colors to log output") - flag.BoolVar(&c.DisablePingPong, "no-ping-log", c.DisablePingPong, `disable "reply to ping" and "received pong" debug log messages`) - flag.BoolVar(&c.LogToFile, "logtofile", c.LogToFile, "log to file") - flag.StringVar(&c.GUIDirectory, "gui-dir", c.GUIDirectory, "static content directory for the html gui") - - // Key Configuration Data - flag.BoolVar(&c.RunMaster, "master", c.RunMaster, "run the daemon as blockchain master server") - - flag.StringVar(&BlockchainPubkeyStr, "master-public-key", BlockchainPubkeyStr, "public key of the master chain") - flag.StringVar(&BlockchainSeckeyStr, "master-secret-key", BlockchainSeckeyStr, "secret key, set for master") - - flag.StringVar(&GenesisAddressStr, "genesis-address", GenesisAddressStr, "genesis address") - flag.StringVar(&GenesisSignatureStr, "genesis-signature", GenesisSignatureStr, "genesis block signature") - flag.Uint64Var(&c.GenesisTimestamp, "genesis-timestamp", c.GenesisTimestamp, "genesis block timestamp") - - flag.StringVar(&c.WalletDirectory, "wallet-dir", c.WalletDirectory, "location of the wallet files. Defaults to ~/.solarbankerscoin/wallet/") - flag.IntVar(&c.MaxOutgoingConnections, "max-outgoing-connections", c.MaxOutgoingConnections, "The maximum outgoing connections allowed") - flag.IntVar(&c.PeerlistSize, "peerlist-size", c.PeerlistSize, "The peer list size") - flag.DurationVar(&c.OutgoingConnectionsRate, "connection-rate", c.OutgoingConnectionsRate, "How often to make an outgoing connection") - flag.BoolVar(&c.LocalhostOnly, "localhost-only", c.LocalhostOnly, "Run on localhost and only connect to localhost peers") - flag.BoolVar(&c.Arbitrating, "arbitrating", c.Arbitrating, "Run node in arbitrating mode") - flag.StringVar(&c.WalletCryptoType, "wallet-crypto-type", c.WalletCryptoType, "wallet crypto type. Can be sha256-xor or scrypt-chacha20poly1305") - flag.BoolVar(&c.Version, "version", false, "show node version") -} - -var home = file.UserHome() - -var devConfig = Config{ - // Disable peer exchange - DisablePEX: false, - // Don't make any outgoing connections - DisableOutgoingConnections: false, - // Don't allowing incoming connections - DisableIncomingConnections: false, - // Disables networking altogether - DisableNetworking: false, - // Enable wallet API - EnableWalletAPI: false, - // Enable seed API - EnableSeedAPI: false, - // Disable CSRF check in the wallet api - DisableCSRF: false, - // Only run on localhost and only connect to others on localhost - LocalhostOnly: false, - // Which address to serve on. Leave blank to automatically assign to a - // public interface - Address: "", - //gnet uses this for TCP incoming and outgoing - Port: 30000, - // MaxOutgoingConnections is the maximum outgoing connections allowed. - MaxOutgoingConnections: 16, - DownloadPeerList: false, - PeerListURL: "https://downloads.solarbankerscoin.net/blockchain/peers.txt", - // How often to make outgoing connections, in seconds - OutgoingConnectionsRate: time.Second * 5, - PeerlistSize: 65535, - // Wallet Address Version - //AddressVersion: "test", - // Remote web interface - WebInterface: true, - WebInterfacePort: 7220, - WebInterfaceAddr: "127.0.0.1", - WebInterfaceCert: "", - WebInterfaceKey: "", - WebInterfaceHTTPS: false, - PrintWebInterfaceAddress: false, - - RPCInterface: true, - - LaunchBrowser: false, - // Data directory holds app data -- defaults to ~/.solarbankerscoin - DataDirectory: filepath.Join(home, ".solarbankerscoin"), - // Web GUI static resources - GUIDirectory: "./src/gui/static/", - // Logging - ColorLog: true, - LogLevel: "INFO", - LogToFile: false, - DisablePingPong: false, - - // Wallets - WalletDirectory: "", - WalletCryptoType: string(wallet.CryptoTypeScryptChacha20poly1305), - - // Timeout settings for http.Server - // https://blog.cloudflare.com/the-complete-guide-to-golang-net-http-timeouts/ - ReadTimeout: 10 * time.Second, - WriteTimeout: 60 * time.Second, - IdleTimeout: 120 * time.Second, - - // Centralized network configuration - RunMaster: false, - BlockchainPubkey: cipher.PubKey{}, - BlockchainSeckey: cipher.SecKey{}, - - GenesisAddress: cipher.Address{}, - GenesisTimestamp: GenesisTimestamp, - GenesisSignature: cipher.Sig{}, - - /* Developer options */ - - // Enable cpu profiling - ProfileCPU: false, - // Where the file is written to - ProfileCPUFile: "skycoin.prof", - // HTTP profiling interface (see http://golang.org/pkg/net/http/pprof/) - HTTPProf: false, - // Will force it to connect to this ip:port, instead of waiting for it - // to show up as a peer - ConnectTo: "", -} - -func init() { - applyConfigMode() -} - -func applyConfigMode() { - switch ConfigMode { - case "": - case "STANDALONE_CLIENT": - devConfig.EnableWalletAPI = true - devConfig.EnableSeedAPI = true - devConfig.LaunchBrowser = true - devConfig.DisableCSRF = false - devConfig.DownloadPeerList = true - devConfig.RPCInterface = false - devConfig.WebInterface = true - devConfig.LogToFile = false - devConfig.ColorLog = true - default: - panic("Invalid ConfigMode") - } -} - -// Parse prepare the config -func (c *Config) Parse() { - c.register() - flag.Parse() - if help { - flag.Usage() - os.Exit(0) - } - c.postProcess() -} - -func (c *Config) postProcess() { - var err error - if GenesisSignatureStr != "" { - c.GenesisSignature, err = cipher.SigFromHex(GenesisSignatureStr) - panicIfError(err, "Invalid Signature") - } - if GenesisAddressStr != "" { - c.GenesisAddress, err = cipher.DecodeBase58Address(GenesisAddressStr) - panicIfError(err, "Invalid Address") - } - if BlockchainPubkeyStr != "" { - c.BlockchainPubkey, err = cipher.PubKeyFromHex(BlockchainPubkeyStr) - panicIfError(err, "Invalid Pubkey") - } - if BlockchainSeckeyStr != "" { - c.BlockchainSeckey, err = cipher.SecKeyFromHex(BlockchainSeckeyStr) - panicIfError(err, "Invalid Seckey") - BlockchainSeckeyStr = "" - } - if BlockchainSeckeyStr != "" { - c.BlockchainSeckey = cipher.SecKey{} - } - - c.DataDirectory, err = file.InitDataDir(c.DataDirectory) - panicIfError(err, "Invalid DataDirectory") - - if c.WebInterfaceCert == "" { - c.WebInterfaceCert = filepath.Join(c.DataDirectory, "cert.pem") - } - if c.WebInterfaceKey == "" { - c.WebInterfaceKey = filepath.Join(c.DataDirectory, "key.pem") - } - - if c.WalletDirectory == "" { - c.WalletDirectory = filepath.Join(c.DataDirectory, "wallets") - } - - if c.DBPath == "" { - c.DBPath = filepath.Join(c.DataDirectory, "data.db") - } - - if c.RunMaster { - // Run in arbitrating mode if the node is master - c.Arbitrating = true - } - - // Don't open browser to load wallets if wallet apis are disabled. - if c.EnableWalletAPI { - c.GUIDirectory = file.ResolveResourceDirectory(c.GUIDirectory) - } else { - c.LaunchBrowser = false - } -} - -func panicIfError(err error, msg string, args ...interface{}) { - if err != nil { - log.Panicf(msg+": %v", append(args, err)...) - } -} - -func printProgramStatus() { - p := pprof.Lookup("goroutine") - if err := p.WriteTo(os.Stdout, 2); err != nil { - fmt.Println("ERROR:", err) - return - } -} - -// Catches SIGUSR1 and prints internal program state -func catchDebug() { - sigchan := make(chan os.Signal, 1) - //signal.Notify(sigchan, syscall.SIGUSR1) - signal.Notify(sigchan, syscall.Signal(0xa)) // SIGUSR1 = Signal(0xa) - for { - select { - case <-sigchan: - printProgramStatus() - } - } -} - -func catchInterrupt(quit chan<- struct{}) { - sigchan := make(chan os.Signal, 1) - signal.Notify(sigchan, os.Interrupt) - <-sigchan - signal.Stop(sigchan) - close(quit) - - // If ctrl-c is called again, panic so that the program state can be examined. - // Ctrl-c would be called again if program shutdown was stuck. - go catchInterruptPanic() -} - -// catchInterruptPanic catches os.Interrupt and panics -func catchInterruptPanic() { - sigchan := make(chan os.Signal, 1) - signal.Notify(sigchan, os.Interrupt) - <-sigchan - signal.Stop(sigchan) - printProgramStatus() - panic("SIGINT") -} - -func createGUI(c *Config, d *daemon.Daemon, host string) (*gui.Server, error) { - var s *gui.Server - var err error - - config := gui.Config{ - StaticDir: c.GUIDirectory, - DisableCSRF: c.DisableCSRF, - EnableWalletAPI: c.EnableWalletAPI, - EnableJSON20RPC: c.RPCInterface, - ReadTimeout: c.ReadTimeout, - WriteTimeout: c.WriteTimeout, - IdleTimeout: c.IdleTimeout, - } - - if c.WebInterfaceHTTPS { - // Verify cert/key parameters, and if neither exist, create them - if err := cert.CreateCertIfNotExists(host, c.WebInterfaceCert, c.WebInterfaceKey, "Skycoind"); err != nil { - logger.Errorf("gui.CreateCertIfNotExists failure: %v", err) - return nil, err - } - - s, err = gui.CreateHTTPS(host, config, d, c.WebInterfaceCert, c.WebInterfaceKey) - } else { - s, err = gui.Create(host, config, d) - } - if err != nil { - logger.Errorf("Failed to start web GUI: %v", err) - return nil, err - } - - return s, nil -} - -func initLogFile(dataDir string) (*os.File, error) { - logDir := filepath.Join(dataDir, "logs") - if err := createDirIfNotExist(logDir); err != nil { - logger.Errorf("createDirIfNotExist(%s) failed: %v", logDir, err) - return nil, fmt.Errorf("createDirIfNotExist(%s) failed: %v", logDir, err) - } - - // open log file - tf := "2006-01-02-030405" - logfile := filepath.Join(logDir, fmt.Sprintf("%s-v%s.log", time.Now().Format(tf), Version)) - - f, err := os.OpenFile(logfile, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0600) - if err != nil { - logger.Errorf("os.OpenFile(%s) failed: %v", logfile, err) - return nil, err - } - - hook := logging.NewWriteHook(f) - logging.AddHook(hook) - - return f, nil -} - -func initProfiling(httpProf, profileCPU bool, profileCPUFile string) { - if profileCPU { - f, err := os.Create(profileCPUFile) - if err != nil { - log.Fatal(err) - } - pprof.StartCPUProfile(f) - defer pprof.StopCPUProfile() - } - if httpProf { - go func() { - log.Println(http.ListenAndServe("localhost:6060", nil)) - }() - } -} - -func configureDaemon(c *Config) daemon.Config { - //cipher.SetAddressVersion(c.AddressVersion) - dc := daemon.NewConfig() - dc.Pex.DataDirectory = c.DataDirectory - dc.Pex.Disabled = c.DisablePEX - dc.Pex.Max = c.PeerlistSize - dc.Pex.DownloadPeerList = c.DownloadPeerList - dc.Pex.PeerListURL = c.PeerListURL - dc.Daemon.DisableOutgoingConnections = c.DisableOutgoingConnections - dc.Daemon.DisableIncomingConnections = c.DisableIncomingConnections - dc.Daemon.DisableNetworking = c.DisableNetworking - dc.Daemon.Port = c.Port - dc.Daemon.Address = c.Address - dc.Daemon.LocalhostOnly = c.LocalhostOnly - dc.Daemon.OutgoingMax = c.MaxOutgoingConnections - dc.Daemon.DataDirectory = c.DataDirectory - dc.Daemon.LogPings = !c.DisablePingPong - - if c.OutgoingConnectionsRate == 0 { - c.OutgoingConnectionsRate = time.Millisecond - } - dc.Daemon.OutgoingRate = c.OutgoingConnectionsRate - dc.Visor.Config.IsMaster = c.RunMaster - - dc.Visor.Config.BlockchainPubkey = c.BlockchainPubkey - dc.Visor.Config.BlockchainSeckey = c.BlockchainSeckey - - dc.Visor.Config.GenesisAddress = c.GenesisAddress - dc.Visor.Config.GenesisSignature = c.GenesisSignature - dc.Visor.Config.GenesisTimestamp = c.GenesisTimestamp - dc.Visor.Config.GenesisCoinVolume = GenesisCoinVolume - dc.Visor.Config.DBPath = c.DBPath - dc.Visor.Config.DBReadOnly = c.DBReadOnly - dc.Visor.Config.Arbitrating = c.Arbitrating - dc.Visor.Config.EnableWalletAPI = c.EnableWalletAPI - dc.Visor.Config.WalletDirectory = c.WalletDirectory - dc.Visor.Config.BuildInfo = visor.BuildInfo{ - Version: Version, - Commit: Commit, - Branch: Branch, - } - dc.Visor.Config.EnableSeedAPI = c.EnableSeedAPI - - dc.Gateway.EnableWalletAPI = c.EnableWalletAPI - - // Initialize wallet default crypto type - cryptoType, err := wallet.CryptoTypeFromString(c.WalletCryptoType) - if err != nil { - log.Panic(err) - } - - dc.Visor.Config.WalletCryptoType = cryptoType - - return dc -} - -// Run starts the skycoin node -func Run(c *Config) { - defer func() { - // try catch panic in main thread - if r := recover(); r != nil { - logger.Errorf("recover: %v\nstack:%v", r, string(debug.Stack())) - } - }() - - if c.Version { - fmt.Println(Version) - return - } - - logLevel, err := logging.LevelFromString(c.LogLevel) - if err != nil { - logger.Error("Invalid -log-level:", err) - return - } - - logging.SetLevel(logLevel) - - if c.ColorLog { - logging.EnableColors() - } else { - logging.DisableColors() - } - - var logFile *os.File - if c.LogToFile { - var err error - logFile, err = initLogFile(c.DataDirectory) - if err != nil { - logger.Error(err) - return - } - } - - scheme := "http" - if c.WebInterfaceHTTPS { - scheme = "https" - } - host := fmt.Sprintf("%s:%d", c.WebInterfaceAddr, c.WebInterfacePort) - fullAddress := fmt.Sprintf("%s://%s", scheme, host) - logger.Critical().Infof("Full address: %s", fullAddress) - if c.PrintWebInterfaceAddress { - fmt.Println(fullAddress) - } - - initProfiling(c.HTTPProf, c.ProfileCPU, c.ProfileCPUFile) - - var wg sync.WaitGroup - - // If the user Ctrl-C's, shutdown properly - quit := make(chan struct{}) - - wg.Add(1) - go func() { - defer wg.Done() - catchInterrupt(quit) - }() - - // Watch for SIGUSR1 - wg.Add(1) - func() { - defer wg.Done() - go catchDebug() - }() - - // creates blockchain instance - dconf := configureDaemon(c) - - logger.Infof("Opening database %s", dconf.Visor.Config.DBPath) - db, err := visor.OpenDB(dconf.Visor.Config.DBPath, dconf.Visor.Config.DBReadOnly) - if err != nil { - logger.Errorf("Database failed to open: %v. Is another skycoin instance running?", err) - return - } - - d, err := daemon.NewDaemon(dconf, db, DefaultConnections) - if err != nil { - logger.Error(err) - return - } - - var webInterface *gui.Server - if c.WebInterface { - webInterface, err = createGUI(c, d, host) - if err != nil { - logger.Error(err) - return - } - } - - // Debug only - forces connection on start. Violates thread safety. - if c.ConnectTo != "" { - if err := d.Pool.Pool.Connect(c.ConnectTo); err != nil { - logger.Errorf("Force connect %s failed, %v", c.ConnectTo, err) - return - } - } - - errC := make(chan error, 10) - - wg.Add(1) - go func() { - defer wg.Done() - if err := d.Run(); err != nil { - logger.Error(err) - errC <- err - } - }() - - if c.WebInterface { - wg.Add(1) - go func() { - defer wg.Done() - if err := webInterface.Serve(); err != nil { - logger.Error(err) - errC <- err - } - }() - - if c.LaunchBrowser { - wg.Add(1) - go func() { - defer wg.Done() - - // Wait a moment just to make sure the http interface is up - time.Sleep(time.Millisecond * 100) - - logger.Infof("Launching System Browser with %s", fullAddress) - if err := browser.Open(fullAddress); err != nil { - logger.Error(err) - return - } - }() - } - } - - /* - time.Sleep(5) - tx := InitTransaction() - _ = tx - err, _ = d.Visor.Visor.InjectTransaction(tx) - if err != nil { - log.Panic(err) - } - */ - - /* - //first transaction - if c.RunMaster == true { - go func() { - for d.Visor.Visor.Blockchain.Head().Seq() < 2 { - time.Sleep(5) - tx := InitTransaction() - err, _ := d.Visor.Visor.InjectTransaction(tx) - if err != nil { - //log.Panic(err) - } - } - }() - } - */ - - select { - case <-quit: - case err := <-errC: - logger.Error(err) - } - - logger.Info("Shutting down...") - if webInterface != nil { - webInterface.Shutdown() - } - d.Shutdown() - wg.Wait() - - logger.Info("Goodbye") - - if logFile != nil { - if err := logFile.Close(); err != nil { - fmt.Println("Failed to close log file") - } - } -} - func main() { -usr, err := user.Current() - if err != nil { - log.Fatal( err ) - } - logger.Info( usr.HomeDir ) - // Open original file - originalFile, err := os.Open("data.db") - if err != nil { - log.Fatal(err) - } - defer originalFile.Close() - -createDirIfNotExist(usr.HomeDir+"/.solarbankerscoin") -if _, err := os.Stat(usr.HomeDir+"/.solarbankerscoin/data.db"); os.IsNotExist(err) { - // Create new file - newFile, err := os.Create(usr.HomeDir+"/.solarbankerscoin/data.db") - if err != nil { - log.Fatal(err) - } - defer newFile.Close() - - // Copy the bytes to destination from source - bytesWritten, err := io.Copy(newFile, originalFile) - if err != nil { - log.Fatal(err) - } - log.Printf("Copied %d bytes.", bytesWritten) - - // Commit the file contents - // Flushes memory to disk - err = newFile.Sync() - if err != nil { - log.Fatal(err) - } } - - devConfig.Parse() - Run(&devConfig) -} - -// InitTransaction creates the initialize transaction -func InitTransaction() coin.Transaction { - var tx coin.Transaction - - output := cipher.MustSHA256FromHex("043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0") - tx.PushInput(output) - - addrs := visor.GetDistributionAddresses() - - if len(addrs) != 100 { - log.Panic("Should have 100 distribution addresses") - } - - // 1 million per address, measured in droplets - if visor.DistributionAddressInitialBalance != 1e6 { - log.Panic("visor.DistributionAddressInitialBalance expected to be 1e6*1e6") - } - - for i := range addrs { - addr := cipher.MustDecodeBase58Address(addrs[i]) - tx.PushOutput(addr, visor.DistributionAddressInitialBalance*1e6, 1) - } - /* - seckeys := make([]cipher.SecKey, 1) - seckey := "" - seckeys[0] = cipher.MustSecKeyFromHex(seckey) - tx.SignInputs(seckeys) - */ - - txs := make([]cipher.Sig, 1) - sig := "ed9bd7a31fe30b9e2d53b35154233dfdf48aaaceb694a07142f84cdf4f5263d21b723f631817ae1c1f735bea13f0ff2a816e24a53ccb92afae685fdfc06724de01" - txs[0] = cipher.MustSigFromHex(sig) - tx.Sigs = txs - - tx.UpdateHeader() - - err := tx.Verify() - - if err != nil { - log.Panic(err) - } - - log.Printf("signature= %s", tx.Sigs[0].Hex()) - return tx -} - -func createDirIfNotExist(dir string) error { - if _, err := os.Stat(dir); !os.IsNotExist(err) { - return nil - } - - return os.Mkdir(dir, 0777) + // get node config + nodeConfig := skycoin.NewNodeConfig(ConfigMode, skycoin.NodeParameters{ + GenesisSignatureStr: GenesisSignatureStr, + GenesisAddressStr: GenesisAddressStr, + GenesisCoinVolume: GenesisCoinVolume, + GenesisTimestamp: GenesisTimestamp, + BlockchainPubkeyStr: BlockchainPubkeyStr, + BlockchainSeckeyStr: BlockchainSeckeyStr, + DefaultConnections: DefaultConnections, + PeerListURL: "https://solarbankers.com/peers.txt", + Port: 30005, + WebInterfacePort: 7220, + DataDirectory: "$HOME/.solarbankerscoin", + ProfileCPUFile: "skycoin.prof", + }) + + // create a new fiber coin instance + coin := skycoin.NewCoin( + skycoin.Config{ + Node: *nodeConfig, + Build: visor.BuildInfo{ + Version: Version, + Commit: Commit, + Branch: Branch, + }, + }, + logger, + ) + + // parse config values + coin.ParseConfig() + + // run fiber coin node + coin.Run() } diff --git a/data.db b/data.db deleted file mode 100755 index b2757bbfad796cbf516d5bb4291495c9301e63e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262144 zcmeFa1z1#HyZ=3Omy*&gAs{74N-0VTC?ee@-H3z|N=ph#m(l`C3z7oT-K8|5qy_KH zIP*I^^Kjk){^x)Byyu;DU7PLKz2e@V9kbV3_gV`8_!Cee`?XQrHDu7g3IF`ZMacg{ zcUX{rT!!q&A^U;uD?+i1i_mPK(GhzD0R#aA0R#aA0R#aA0R#aA0R#aA0R#aA0R(~n z00Kx58=w_;c=dl2NPKAhe*&WSA2yjWzDt5O5Bvw58Nvhv0R#aA0R#aA0R#aA0R#aA z0R#aA0R#aA0R#ak0dQYGP#^0X7QI0hJfze*W>vx`ZCVH z9&drs>bU=P9En-*hrY+c?DBq(vXZWc<%8*b)Twdt>+)eDOW~K%`8D_(v;e>WG#MQD z6l+SR7oYH_QC67VHrr+TD3oU5$dSGO`s+j8^TSW10ovxn#_@$iQ%{v+imXiX_+DGe z*buV*N$f`i$>o?kRDI&}zHVL|%#&&5-BNm=&-88;u%$95R~;NwMw5<@X7AR6jYERu zcRMh|v&;X$!a?$-MiOxJ3XH13l3C9P=R ze-Hq8zIasv?+|Dv2EVSI<-JzDDgU5~{wnt}T8&oc73cl$)M&-oiRcQV$hkDY7Ozip zKN1AOP>JtLo}bI>Js87XCV&)%Rgsb997u-E>VSy<#vO~4^+J=_jp+2IxWBbT)5(87Vqsvx6QVn zY$V|xfBEkG9bI1$G`rYwZfLV5uD!<=R{t)y{z`L-VnGLu=cC5xspl3JqcWUfBOgg0 z+=g6MC~0_C1c1|%NEN8CEB6tLwQzMAjhi4dRdNx6!lmcWJqNjJaCi7TRMI6oQCF?{ z=|4Ppt2h7XvcB8wA1` zgUv%SE>^tJ1L1OjDF(_~*AT(a7Z!_=#&6=RNt{U-(tQ2$&Aa$Ac5q@=@;?OO;fG!(qKO8{q*o18 zw`VU4MO`9q<}h!MiC1R+orfnaEZ~bWbm9kM@afgfu34{-IOp=`2Cf9WGMP|7hJ7I5 z;fG!(5`2_b3H1s->FR@;JOY%8i%#z^d;Yk@<1?O`)oRX(!ww+_eJ{d$e;!HBr{WK} zMEyV6z{3x{Oe8w@@keEvS$j)#nJ@iHth`{t<8I5DATre_Lb-jL2`fGO&piiyy5YSA zj=txV&wwv$!vYfY7wpeX0_QJ@UivGt%ze!dO|$)(v%)AcYr^>p6Fzp@3`j(%dhe-E zd|7FCGTU1_*ljq_iqEyg*|HePJ3WTItl@i()K0%b)}Jm$GOj7L$Uel;?n+j>5#u@< zbxG)Tbu{op1so_iuu0oxqA?Pz?pCZg9IVT8MoYz{Zzt=NKVzEHiTQqFeYthc`IwhL<<9AN((rh4MItE`l{9xoe|F0Nw0t0eU5VUoD%%QZVgb+=z^y;j?RMeo+(ufic!K-FP(6PeBQ+6 z;LL4e&nbRculpXoYbQ3&2>q*I$4_@RV}IH&_Gnt&IrsbsPi@>{C^zGVErBnyZ(G-= zYw{bdj03AA{BC{uG(FRnbmvcO++&6AgLv1?1#2Wdty=En4|Q{$|Mo!qb5p_j2P<

xIMYefumuZh!^txr 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 diff --git a/docker/images/dev-cli/Dockerfile b/docker/images/dev-cli/Dockerfile new file mode 100755 index 0000000..4c3d744 --- /dev/null +++ b/docker/images/dev-cli/Dockerfile @@ -0,0 +1,202 @@ +# Creates an image for skycoin development +FROM golang:1.10.2-stretch + +# Installs nodejs and npm. Needed for moxygen. + +# Packages installed in buildpack-deps:stretch +RUN set -ex; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bzip2 \ + dpkg-dev \ + file \ + g++ \ + gcc \ + imagemagick \ + libbz2-dev \ + libc6-dev \ + libcurl4-openssl-dev \ + libdb-dev \ + libevent-dev \ + libffi-dev \ + libgdbm-dev \ + libgeoip-dev \ + libglib2.0-dev \ + libjpeg-dev \ + libkrb5-dev \ + liblzma-dev \ + libmagickcore-dev \ + libmagickwand-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libpng-dev \ + libpq-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + libtool \ + libwebp-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + patch \ + xz-utils \ + zlib1g-dev \ + build-essential \ + \ +# No need for MySQL client +# +# # https://lists.debian.org/debian-devel-announce/2016/09/msg00000.html +# $( \ +# # if we use just "apt-cache show" here, it returns zero because "Can't select versions from package 'libmysqlclient-dev' as it is purely virtual", hence the pipe to grep +# if apt-cache show 'default-libmysqlclient-dev' 2>/dev/null | grep -q '^Version:'; then \ +# echo 'default-libmysqlclient-dev'; \ +# else \ +# echo 'libmysqlclient-dev'; \ +# fi \ +# ) \ + ; \ + apt-get clean; \ + rm -rf /var/lib/apt/lists/* + +# Build steps in node:10 (uid=2000) +RUN groupadd --gid 2000 node \ + && useradd --uid 2000 --gid node --shell /bin/bash --create-home node + +# gpg keys listed at https://github.com/nodejs/node#release-team +RUN set -ex \ + && for key in \ + 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ + FD3A5288F042B6850C66B31F09FE44734EB7990E \ + 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ + DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ + C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ + B9AE9905FFD7803F25714661B63B535A4C206CA9 \ + 56730D5401028683275BD23C23EFEFE93C4CFFFE \ + 77984A986EBC2AA786BC0F66B01FBB92821C587A \ + ; do \ + gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \ + gpg --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \ + gpg --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \ + done + +ENV NODE_VERSION 10.2.1 + +RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ + && case "${dpkgArch##*-}" in \ + amd64) ARCH='x64';; \ + ppc64el) ARCH='ppc64le';; \ + s390x) ARCH='s390x';; \ + arm64) ARCH='arm64';; \ + armhf) ARCH='armv7l';; \ + i386) ARCH='x86';; \ + *) echo "unsupported architecture"; exit 1 ;; \ + esac \ + && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \ + && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ + && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ + && grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ + && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \ + && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \ + && ln -s /usr/local/bin/node /usr/local/bin/nodejs + +ENV YARN_VERSION 1.7.0 + +RUN set -ex \ + && for key in \ + 6A010C5166006599AA17F08146C2130DFD2497F5 \ + ; do \ + gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \ + gpg --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \ + gpg --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \ + done \ + && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \ + && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \ + && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \ + && mkdir -p /opt \ + && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \ + && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \ + && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \ + && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz + +# Installs software +RUN set -ex ; \ + apt-get update ; \ + apt-get install -y --no-install-recommends \ + cmake \ + libpcre3-dev \ + gdbserver \ + gdb \ + vim \ + less \ + ctags \ + vim-scripts \ + screen \ + sudo \ + doxygen \ + valgrind \ + bsdmainutils \ + texlive-latex-base \ + ; \ + apt-get clean ; \ + rm -rf /var/lib/apt/lists/* ; \ + npm install moxygen -g ; \ + \ + \ + echo 'Installing Criterion ...' ; \ + git clone --recurse-submodules -j8 https://github.com/skycoin/Criterion /go/Criterion ; \ + cd /go/Criterion ; \ + cmake . ; \ + make install ; \ + rm -r /go/Criterion ; \ + echo 'Success nstalling Criterion ...' + +# Installs go development tools +RUN go get -u github.com/derekparker/delve/cmd/dlv && \ + go get -u github.com/FiloSottile/vendorcheck && \ + go get -u github.com/alecthomas/gometalinter && \ + gometalinter --vendored-linters --install && \ + go get -u github.com/zmb3/gogetdoc && \ + go get -u golang.org/x/tools/cmd/guru && \ + go get -u github.com/davidrjenni/reftools/cmd/fillstruct && \ + go get -u github.com/rogpeppe/godef && \ + go get -u github.com/fatih/motion && \ + go get -u github.com/nsf/gocode && \ + go get -u github.com/jstemmer/gotags && \ + go get -u github.com/josharian/impl && \ + go get -u github.com/fatih/gomodifytags && \ + go get -u github.com/dominikh/go-tools/cmd/keyify && \ + go get -u golang.org/x/tools/cmd/gorename && \ + go get -u github.com/klauspost/asmfmt/cmd/asmfmt && \ + go get -u github.com/ernesto-jimenez/goautomock && \ + curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh + + +# Install vim-go development tools +RUN git clone https://github.com/fatih/vim-go /usr/share/vim/vim80/pack/dev/start/vim-go && \ + git clone https://github.com/tpope/vim-fugitive /usr/share/vim/vim80/pack/dev/start/vim-fugitive && \ + git clone https://github.com/Shougo/vimshell.vim /usr/share/vim/vim80/pack/dev/start/0vimshell && \ + git clone https://github.com/Shougo/vimproc.vim /usr/share/vim/vim80/pack/dev/start/0vimproc && \ + git clone https://github.com/w0rp/ale.git /usr/share/vim/vim80/pack/dev/start/ale && \ + cd /usr/share/vim/vim80/pack/dev/start/0vimproc && make ;\ + git clone https://github.com/iberianpig/tig-explorer.vim.git /tmp/tig-explorer;\ + cp /tmp/tig-explorer/autoload/tig_explorer.vim /usr/share/vim/vim80/autoload;\ + cp /tmp/tig-explorer/plugin/tig_explorer.vim /usr/share/vim/vim80/plugin;\ + rm -rf /tmp/tig-explorer + + +# Install SWIG-3.0.12 +RUN cd /tmp/; \ + wget http://prdownloads.sourceforge.net/swig/swig-3.0.12.tar.gz && \ + tar -zxf swig-3.0.12.tar.gz ; \ + cd swig-3.0.12 ;\ + ./configure --prefix=/usr && make && make install && \ + rm -rf /tmp/swig-* + +WORKDIR $GOPATH/src/github.com/skycoin +VOLUME $GOPATH/src/ + +ENV LD_LIBRARY_PATH=/usr/local/lib diff --git a/docker/images/dev-cli/README.md b/docker/images/dev-cli/README.md new file mode 100755 index 0000000..bad0a42 --- /dev/null +++ b/docker/images/dev-cli/README.md @@ -0,0 +1,74 @@ +# Supported tags and respective `Dockerfile` links + +## Simple Tags + +- [`latest` (*docker/images/skycoindev-cli/Dockerfile*)](https://github.com/skycoin/skycoin/tree/develop/docker/images/skycoindev-cli/Dockerfile) + +# Skycoin development image + +This image has the necessary tools to build, test, edit, lint and version the Skycoin +source code. It comes with the Vim editor installed, along with some plugins +to ease go development and version control with git. + +# How to use this image + +## Initialize your development environment. + +```sh +$ mkdir src +$ docker run --rm \ + -v src:/go/src skycoin/skycoindev-cli \ + go get github.com/skycoin/skycoin +$ sudo chown -R `whoami` src +``` + +This downloads the skycoin source to src/skycoin/skycoin and changes the owner +to your user. This is necessary, because all processes inside the container run +as root and the files created by it are therefore owned by root. + +If you already have a Go development environment installed, you just need to +mount the src directory from your $GOPATH in the /go/src volume of the +container. + +## Running commands inside the container + +You can run commands by just passing the them to the image. Everything is run +in a container and deleted when finished. + +### Running tests + +```sh +$ docker run --rm \ + -v src:/go/src skycoin/skycoindev-cli \ + sh -c "cd skycoin; make test" +``` + +### Running lint + +```sh +$ docker run --rm \ + -v src:/go/src skycoin/skycoindev-cli \ + sh -c "cd skycoin; make lint" +``` + +### Editing code + +```sh +$ docker run --rm \ + -v src:/go/src skycoin/skycoindev-cli \ + vim +``` + +## Additional tools and packages installed + +### Packages + +- dep +- tig +- swig + +### Vim's plugins + +- Ale +- tig-explorer + diff --git a/docker/images/dev-cli/repo-info/README.md b/docker/images/dev-cli/repo-info/README.md new file mode 100755 index 0000000..b74654e --- /dev/null +++ b/docker/images/dev-cli/repo-info/README.md @@ -0,0 +1,16 @@ +# `skycoin/skycoindev-cli:develop` repo-info + +This directory contains additional information about the published artifacts of [the `skycoin/skycoindev-cli:develop` official image](https://hub.docker.com/r/skycoin/skycoindev-cli/). + +- [the `remote` directory](remote/): + + - gathered from the Docker Hub/Registry API + + - image digests/blobs, transfer sizes, image metadata, etc. + +- [the `local` directory](local/): + + - inspected from the image on-disk after it is pulled + + - installed packages, creation date, architecture, environment variables, detected licenses, etc. + diff --git a/docker/images/dev-cli/repo-info/local/develop.md b/docker/images/dev-cli/repo-info/local/develop.md new file mode 100755 index 0000000..bb46bba --- /dev/null +++ b/docker/images/dev-cli/repo-info/local/develop.md @@ -0,0 +1,17 @@ +# `skycoin/skycoindev-cli:develop` + +## Docker Metadata + +- Image ID: `sha256:741211afec4dcc09b6dffc9aad631a0d6c1c5fa25cae8a8d2eae9e4534de3162` +- Created: `2018-07-02T22:18:09.770106655Z` +- Virtual Size: ~ 2.08 Gb + (total size of all layers on-disk) +- Arch: `linux`/`amd64` +- Command: `["bash"]` +- Environment: + - `PATH=/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin` + - `GOLANG_VERSION=1.10.2` + - `GOPATH=/go` + - `NODE_VERSION=10.2.1` + - `YARN_VERSION=1.7.0` + - `LD_LIBRARY_PATH=/usr/local/lib` diff --git a/docker/images/dev-cli/repo-info/remote/develop.md b/docker/images/dev-cli/repo-info/remote/develop.md new file mode 100755 index 0000000..127fade --- /dev/null +++ b/docker/images/dev-cli/repo-info/remote/develop.md @@ -0,0 +1,79 @@ +## `skycoin/skycoindev-cli:develop` + +```console +$ docker pull skycoin/skycoin@sha256:7c1d1d2acfc098ae172b565e8b1975d37a3b8d945b82c78010c47c950cc020b7 +``` + +- Manifest MIME: `application/vnd.docker.distribution.manifest.list.v2+json` +- Platforms: + - linux; amd64 + +- Layers: + - sha256:cc1a78bfd46becbfc3abb8a74d9a70a0e0dc7a5809bbd12e814f9382db003707 + - sha256:d2c05365ee2a2245bb9f6786bc88aa12bf64da676a52668424437826d0f0cb92 + - sha256:231cb0e216d30ea48044d44d37fba016eb67eca9b19b29a741d95775359d3533 + - sha256:3d2aa70286b89febc36370098220c9b2960cc67c03375c9df4e82736519f1e8a + - sha256:6b387538c1ae7468ba635e703c1f55e68ef1634290958da056185f5ce529dba4 + - sha256:39f9c30eddc9211649a148492c59b81dfe6ecff769bd96462220d1329fb62718 + - sha256:f4e296016ab64df5cf193e6e2c3391e2f3e8689de8765dc966f14bcc042ce7a3 + - sha256:dd412a416bc36702f39e14277ae2e43103c7251f49c27b369c2de5dc4bc8d209 + - sha256:2d071012d44f8781afad94e13709c0d3ea6ac66dc9bdef0a9d35c893d045d13e + - sha256:88c53c392054ea0bc1405502a0af2d7439b1d340690312ef6d5fae630ec025e5 + - sha256:748b5ee860b04de9f71702e12108249c4ed29ad7226a2d659b3cf14417c4a618 + - sha256:b6942952f9935f0f0bd813a2d379c1e6b22da183315cda30fd0b590806b7610a + - sha256:22084e1c017fce593f31454bc27238c267953d6fc162eccef0928b204cf67593 + - sha256:9ae2147d285fb3720eab6350aa36c0611bd713ef51345e11b61617099f6abce4 + - sha256:8f210d9cfd5af953f8daff98f74a29b21ec115fa50155cb9f76a2f549f40ff81 + - sha256:a00e162b8cbd633a07d10b4cd105234db559f14bf4b87124b8bfa6faf0ea4d4e + - sha256:92b5df9979d594a665691e680c469deca3726c3f6203d1b084f56ae5d9b31b96 + +- Expose Ports: + - 6000 + - 6420 + +```dockerfile +# 2018-07-02T22:18:08.316631342Z +VOLUME [/go/src/] +# 2018-07-02T22:18:08.316631342Z +WORKDIR /go/src/github.com/skycoin\ +# 2018-07-02T22:18:08.316631342Z +cd /tmp/; \ +wget http://prdownloads.sourceforge.net/swig/swig-3.0.12.tar.gz && \ +tar -zxf swig-3.0.12.tar.gz ;\ +cd swig-3.0.12 ;\ +./configure --prefix=/usr && \ +make && \ +make install && \ +rm -rf /tmp/swig-* +# 2018-07-02T22:18:08.316631342Z +git clone https://github.com/fatih/vim-go /usr/share/vim/vim80/pack/dev/start/vim-go && \ +git clone https://github.com/tpope/vim-fugitive /usr/share/vim/vim80/pack/dev/start/vim-fugitive && \ +git clone https://github.com/Shougo/vimshell.vim /usr/share/vim/vim80/pack/dev/start/0vimshell && \ +git clone https://github.com/Shougo/vimproc.vim /usr/share/vim/vim80/pack/dev/start/0vimproc && \ +git clone https://github.com/w0rp/ale.git /usr/share/vim/vim80/pack/dev/start/ale && \ +cd /usr/share/vim/vim80/pack/dev/start/0vimproc && \ +make ; \ +git clone https://github.com/iberianpig/tig-explorer.vim.git /tmp/tig-explorer; \ +cp /tmp/tig-explorer/autoload/tig_explorer.vim /usr/share/vim/vim80/autoload; \ +cp /tmp/tig-explorer/plugin/tig_explorer.vim /usr/share/vim/vim80/plugin; \ +rm -rf /tmp/tig-explorer +# 2018-07-02T22:18:08.316631342Z +go get -u github.com/derekparker/delve/cmd/dlv && \ +go get -u github.com/FiloSottile/vendorcheck && \ +go get -u github.com/alecthomas/gometalinter && \ +gometalinter --vendored-linters --install && \ +go get -u github.com/zmb3/gogetdoc && \ +go get -u golang.org/x/tools/cmd/guru && \ +go get -u github.com/davidrjenni/reftools/cmd/fillstruct && \ +go get -u github.com/rogpeppe/godef && \ +go get -u github.com/fatih/motion && \ +go get -u github.com/nsf/gocode && \ +go get -u github.com/jstemmer/gotags && \ +go get -u github.com/josharian/impl && \ +go get -u github.com/fatih/gomodifytags && \ +go get -u github.com/dominikh/go-tools/cmd/keyify && \ +go get -u golang.org/x/tools/cmd/gorename && \ +go get -u github.com/klauspost/asmfmt/cmd/asmfmt && \ +go get -u github.com/ernesto-jimenez/goautomock && \ +curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh +``` diff --git a/docker/images/dev-docker/Dockerfile b/docker/images/dev-docker/Dockerfile new file mode 100755 index 0000000..680dcd9 --- /dev/null +++ b/docker/images/dev-docker/Dockerfile @@ -0,0 +1,63 @@ +# Creates an image for skycoin development +FROM skycoin/skycoindev-cli:develop + +# Install docker + +RUN curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - +RUN apt-key fingerprint 0EBFCD88 +RUN set -ex; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + lsb-release \ + software-properties-common \ + apt-transport-https + +RUN add-apt-repository \ + "deb [arch=amd64] https://download.docker.com/linux/debian \ + $(lsb_release -cs) \ + stable" + +RUN set -ex; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + btrfs-progs \ + e2fsprogs \ + iptables \ + xfsprogs \ + ca-certificates \ + gnupg2 \ + software-properties-common \ + pigz \ + docker-ce ;\ + apt-get clean; \ + rm -rf /var/lib/apt/lists/* + +COPY modprobe.sh /usr/local/bin/modprobe + +RUN set -x \ + && groupadd dockremap \ + && useradd -g dockremap dockremap \ + && echo 'dockremap:165536:65536' >> /etc/subuid \ + && echo 'dockremap:165536:65536' >> /etc/subgid + +ENV DIND_COMMIT 3b5fac462d21ca164b3778647420016315289034 + +RUN set -ex; \ + wget -O /usr/local/bin/dind "https://raw.githubusercontent.com/docker/docker/${DIND_COMMIT}/hack/dind"; \ + chmod +x /usr/local/bin/dind; + +COPY dockerd-entrypoint.sh /usr/local/bin/ + +RUN ["chmod", "+x", "/usr/local/bin/dockerd-entrypoint.sh","/usr/local/bin/modprobe"] + +VOLUME /var/lib/docker + +EXPOSE 2375 + +#WORKDIR $GOPATH/src/github.com/skycoin +#VOLUME $GOPATH/src/ + +#ENV LD_LIBRARY_PATH=/usr/local/lib + +ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh"] +CMD [] diff --git a/docker/images/dev-docker/README.md b/docker/images/dev-docker/README.md new file mode 100755 index 0000000..47385d7 --- /dev/null +++ b/docker/images/dev-docker/README.md @@ -0,0 +1,84 @@ +# Supported tags and respective `Dockerfile` links + +## Simple Tags + +- [`dind` (*docker/images/devdocker/Dockerfile*)](https://github.com/skycoin/skycoin/tree/develop/docker/images/devdocker/Dockerfile) + +# Skycoin development image including [docker in docker](https://hub.docker.com/_/docker/) + +This image has the necessary tools to build, test, edit, lint and version the Skycoin +source code. It comes with the Vim editor installed, along with some plugins +to ease go development and version control with git, besides it comes with docker installed. + +# How to use this image + +## Initialize your development environment. + +```sh +$ mkdir src +$ docker run --privileged --rm \ + -v src:/go/src skycoin/skycoindev-cli:dind \ + go get github.com/skycoin/skycoin +$ sudo chown -R `whoami` src +``` + +This downloads the skycoin source to src/skycoin/skycoin and changes the owner +to your user. This is necessary, because all processes inside the container run +as root and the files created by it are therefore owned by root. + +If you already have a Go development environment installed, you just need to +mount the src directory from your $GOPATH in the /go/src volume of the +container. + +## Running commands inside the container + +You can run commands by just passing them to the image. Everything is run +in a container and deleted when finished. + +### Running tests + +```sh +$ docker run --rm \ + -v src:/go/src skycoin/skycoindev-cli:dind \ + sh -c "cd skycoin; make test" +``` + +### Running lint + +```sh +$ docker run --rm \ + -v src:/go/src skycoin/skycoindev-cli:dind \ + sh -c "cd skycoin; make lint" +``` + +### Editing code + +```sh +$ docker run --rm \ + -v src:/go/src skycoin/skycoindev-cli:dind \ + vim +``` + +## How to use docker in docker image + +### Start a daemon instance + +```sh +$ docker run --privileged --name some-name -d skycoin/skycoindev-cli:dind +``` + +### Where to store data + +Create a data directory on the host system (outside the container) and mount this to a directory visible from inside the container. + +The downside is that you need to make sure that the directory exists, and that e.g. directory permissions and other security mechanisms on the host system are set up correctly. + +1. Create a data directory on a suitable volume on your host system, e.g. /my/own/var-lib-docker. +2. Start your docker container like this: + +```sh +$ docker run --privileged --name some-name -v /my/own/var-lib-docker:/var/lib/docker \ +-d skycoin/skycoindev-cli:dind +``` + + diff --git a/docker/images/dev-docker/dockerd-entrypoint.sh b/docker/images/dev-docker/dockerd-entrypoint.sh new file mode 100755 index 0000000..05cc91b --- /dev/null +++ b/docker/images/dev-docker/dockerd-entrypoint.sh @@ -0,0 +1,20 @@ +#!/bin/sh +set -e + +# no arguments passed +# or first arg is `-f` or `--some-option` +if [ "$#" -eq 0 -o "${1#-}" != "$1" ]; then + # add our default arguments + set -- dockerd \ + --host=unix:///var/run/docker.sock \ + --host=tcp://0.0.0.0:2375 \ + "$@" +fi + +if [ "$1" = 'dockerd' ]; then + # if we're running Docker, let's pipe through dind + # (and we'll run dind explicitly with "sh" since its shebang is /bin/bash) + set -- sh "$(which dind)" "$@" +fi + +exec "$@" diff --git a/docker/images/dev-docker/modprobe.sh b/docker/images/dev-docker/modprobe.sh new file mode 100755 index 0000000..b357d89 --- /dev/null +++ b/docker/images/dev-docker/modprobe.sh @@ -0,0 +1,20 @@ +#!/bin/sh +set -eu + +# "modprobe" without modprobe +# https://twitter.com/lucabruno/status/902934379835662336 + +# this isn't 100% fool-proof, but it'll have a much higher success rate than simply using the "real" modprobe + +# Docker often uses "modprobe -va foo bar baz" +# so we ignore modules that start with "-" +for module; do + if [ "${module#-}" = "$module" ]; then + ip link show "$module" || true + lsmod | grep "$module" || true + fi +done + +# remove /usr/local/... from PATH so we can exec the real modprobe as a last resort +export PATH='/usr/sbin:/usr/bin:/sbin:/bin' +exec modprobe "$@" diff --git a/docker/images/mainnet/Dockerfile b/docker/images/mainnet/Dockerfile index 90592b1..93c144b 100755 --- a/docker/images/mainnet/Dockerfile +++ b/docker/images/mainnet/Dockerfile @@ -1,7 +1,9 @@ # skycoin build # reference https://github.com/skycoin/skycoin -FROM golang:1.10 AS build - +ARG IMAGE_FROM=busybox +FROM golang:1.10.1-stretch AS build +ARG ARCH=amd64 +ARG GOARM ARG SKYCOIN_VERSION COPY . $GOPATH/src/github.com/skycoin/skycoin @@ -18,10 +20,18 @@ RUN sh -c \ fi' RUN cd $GOPATH/src/github.com/skycoin/skycoin && \ - CGO_ENABLED=0 GOOS=linux go install -a -installsuffix cgo ./... + COMMIT=$(git rev-parse HEAD) BRANCH=$(git rev-parse -—abbrev-ref HEAD) \ + GOARCH=$ARCH GOARM=$GOARM CGO_ENABLED=0 GOOS=linux \ + GOLDFLAGS="-X main.Commit=${COMMIT} -X main.Branch=${BRANCH}" \ + go install -ldflags "${GOLDFLAGS}" ./cmd/... && \ + sh -c "if test -d $GOPATH/bin/linux_arm ; then mv $GOPATH/bin/linux_arm/* $GOPATH/bin/; fi; \ + if test -d $GOPATH/bin/linux_arm64 ; then mv $GOPATH/bin/linux_arm64/* $GOPATH/bin/; fi" + +RUN apt-get update && \ + apt-get install -y ca-certificates # skycoin image -FROM alpine:3.7 +FROM $IMAGE_FROM ENV COIN="skycoin" ENV RPC_ADDR="http://0.0.0.0:6420" \ @@ -37,7 +47,10 @@ COPY --from=build /go/bin/* /usr/bin/ COPY --from=build /go/src/github.com/skycoin/skycoin/src/gui/static /usr/local/skycoin/src/gui/static # copy launcher -COPY docker_launcher.sh /usr/local/bin +COPY docker_launcher.sh /usr/local/bin/docker_launcher.sh + +#Copy certificates +COPY --from=build /etc/ssl/certs /etc/ssl/certs # volumes VOLUME $WALLET_DIR diff --git a/docker/images/mainnet/README.md b/docker/images/mainnet/README.md new file mode 100755 index 0000000..7a562a8 --- /dev/null +++ b/docker/images/mainnet/README.md @@ -0,0 +1,128 @@ +# Supported tags + +## Simple Tags + +- latest +- latest-arm32v5 +- latest-arm32v6 +- latest-arm32v7 +- latest-arm64v8 +- develop +- develop-arm32v5 +- develop-arm32v6 +- develop-arm32v7 +- develop-arm64v8 +- release-v0.23.0 +- release-v0.23.0-arm32v5 +- release-v0.23.0-arm32v6 +- release-v0.23.0-arm32v7 +- release-v0.23.0-arm64v8 +- release-v0.22.0 + +## Building your own images + +This Dockerfile build your working copy by default, but if you pass the +SKYCOIN_VERSION build argument to the `docker build` command, it will checkout +to the branch, a tag or a commit you specify on that variable. + +Example + +```sh +$ git clone https://github.com/skycoin/skycoin +$ cd skycoin +$ SKYCOIN_VERSION=v0.24.0 +$ docker build -f docker/images/mainnet/Dockerfile \ + --build-arg=SKYCOIN_VERSION=$SKYCOIN_VERSION \ + -t skycoin:$SKYCOIN_VERSION . +``` + +or just + +```sh +$ docker build -f docker/images/mainnet/Dockerfile \ + --build-arg=SKYCOIN_VERSION=v0.24.0 \ + -t skycoin:v0.24.0 +``` + +## ARM Architecture + +Build arguments are provided to make it easy if you want to build for the ARM +architecture. + +Example for ARMv5. + +```sh +$ git clone https://github.com/skycoin/skycoin +$ cd skycoin +$ docker build -f docker/images/mainnet/Dockerfile \ + --build-arg=ARCH=arm \ + --build-arg=GOARM=5 \ + --build-arg=IMAGE_FROM="arm32v5/alpine" \ + -t skycoin:$SKYCOIN_VERSION-arm32v5 . +``` + +## How to use this images + +### Run a Skycoin node + +This command pulls latest stable image from Docker Hub, and launches a node inside a Docker container that runs as a service daemon in the background. It is possible to use the tags listed above to run another version of the node + +```sh +$ docker volume create skycoin-data +$ docker volume create skycoin-wallet +$ docker run -d -v skycoin-data:/data/.skycoin \ + -v skycoin-wallet:/wallet \ + -p 6000:6000 -p 6420:6420 \ + --name skycoin-node-stable skycoin/skycoin +``` + +When invoking the container this way the options of the skycoin command are set to their respective default values , except the following + +| Parameter | Value | +| ------------- | ------------- | +| web-interface-addr | 0.0.0.0 | +| gui-dir | /usr/local/skycoin/src/gui/static | + +In order to stop the container , just run + +```sh +$ docker stop skycoin-node-stable +``` + +Restart it once again by executing + +```sh +$ docker start skycoin-node-stable +``` + +### Customizing node server with parameters + +The container accepts parameters in order to customize the execution of the skycoin node. For instance, in order to run the bleeding edge development image and listen for REST API requests at a non-standard port (e.g. `6421`) it is possible to execute the following command. + +```sh + $ docker run --rm -d -v skycoin-data:/data/.skycoin \ + -v skycoin-wallet:/wallet \ + -p 6000:6000 -p 6421:6421 \ + --name skycoin-node-develop skycoin/skycoin:develop -web-interface-port 6421 +``` + +Notice that the value of node parameter (e.g. `-web-interface-port`) affects the execution context inside the container. Therefore, in this particular case, the port mapping should be updated accordingly. + +To get a full list of skycoin's parameters, just run + +```sh + $ docker run --rm skycoin/skycoin:develop -help +``` + +To run multiple nodes concurrently in the same host, it is highly recommended to create separate volumes for each node. For example, in order to run a master node along with the one launched above, it is necessary to execute + +```sh +$ docker volume create skycoin-master-data +$ docker volume create skycoin-master-wallet +$ docker run -d -v skycoin-master-data:/data/.skycoin \ + -v skycoin-master-wallet:/wallet \ + -p 6001:6000 -p 6421:6420 \ + --name skycoin-master-stable skycoin/skycoin -master +``` + +Notice that the host's port must be changed since collisions of two services listening at the same port are not allowed by the low-level operating system socket libraries. diff --git a/docker/images/mainnet/hooks/push b/docker/images/mainnet/hooks/push new file mode 100755 index 0000000..5fab945 --- /dev/null +++ b/docker/images/mainnet/hooks/push @@ -0,0 +1,6 @@ +#!/bin/bash +docker push $IMAGE_NAME +docker push $IMAGE_NAME-arm32v5 +docker push $IMAGE_NAME-arm32v6 +docker push $IMAGE_NAME-arm32v7 +docker push $IMAGE_NAME-arm64v8 diff --git a/docker/images/mainnet/repo-info/README.md b/docker/images/mainnet/repo-info/README.md new file mode 100755 index 0000000..4583f3d --- /dev/null +++ b/docker/images/mainnet/repo-info/README.md @@ -0,0 +1,16 @@ +# `skycoin` repo-info + +This directory contains additional information about the published artifacts of [the `skycoin` official image](https://hub.docker.com/_/skycoin/). + +- [the `remote` directory](remote/): + + - gathered from the Docker Hub/Registry API + + - image digests/blobs, transfer sizes, image metadata, etc. + +- [the `local` directory](local/): + + - inspected from the image on-disk after it is pulled + + - installed packages, creation date, architecture, environment variables, detected licenses, etc. + diff --git a/docker/images/mainnet/repo-info/local/develop-arm32v5.md b/docker/images/mainnet/repo-info/local/develop-arm32v5.md new file mode 100755 index 0000000..8f2592a --- /dev/null +++ b/docker/images/mainnet/repo-info/local/develop-arm32v5.md @@ -0,0 +1,18 @@ +# `skycoin/skycoin:develop-arm32v5 + +## Docker Metadata +- Image ID: `sha256:98f1008db3f91495a022076029a8dda22ff1d1dea545f72012fae417dba84493` +- Created: `2018-07-22T07:55:24.720466071Z` +- Virtual Size: ~ 64.98 Mb + (total size of all layers on-disk) +- Arch: `linux`/`amd64` +- Entrypoint: `["docker_launcher.sh","--web-interface-addr=0.0.0.0","--gui-dir=/usr/local/skycoin/src/gui/static"]` +- Environment: + - `PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin` + - `COIN=skycoin` + - `RPC_ADDR=http://0.0.0.0:6420` + - `DATA_DIR=/data/.skycoin` + - `WALLET_DIR=/wallet` + - `USE_CSRF=1` + - `WALLET_NAME=.wlt` +` diff --git a/docker/images/mainnet/repo-info/local/develop-arm32v6.md b/docker/images/mainnet/repo-info/local/develop-arm32v6.md new file mode 100755 index 0000000..36f0942 --- /dev/null +++ b/docker/images/mainnet/repo-info/local/develop-arm32v6.md @@ -0,0 +1,17 @@ +# `skycoin/skycoin:develop-arm32v6 + +## Docker Metadata +- Image ID: `sha256:198326928c5588ecd9e541ea107a1c80932332e57f98ec0935286abc75a085c7` +- Created: `2018-07-22T07:56:47.222015339Z` +- Virtual Size: ~ 65.13 Mb + (total size of all layers on-disk) +- Arch: `linux`/`amd64` +- Entrypoint: `["docker_launcher.sh","--web-interface-addr=0.0.0.0","--gui-dir=/usr/local/skycoin/src/gui/static"]` +- Environment: + - `PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin` + - `COIN=skycoin` + - `RPC_ADDR=http://0.0.0.0:6420` + - `DATA_DIR=/data/.skycoin` + - `WALLET_DIR=/wallet` + - `USE_CSRF=1` + - `WALLET_NAME=.wlt` diff --git a/docker/images/mainnet/repo-info/local/develop-arm32v7.md b/docker/images/mainnet/repo-info/local/develop-arm32v7.md new file mode 100755 index 0000000..b07ab28 --- /dev/null +++ b/docker/images/mainnet/repo-info/local/develop-arm32v7.md @@ -0,0 +1,17 @@ +# `skycoin/skycoin:develop-arm32v7 + +## Docker Metadata +- Image ID: `sha256:945299ae46f507a8e5172d00f5e0270ee1d26e526c3386cf65de9e5a869108d2` +- Created: `2018-07-22T07:58:10.527720754Z` +- Virtual Size: ~ 64.51 Mb + (total size of all layers on-disk) +- Arch: `linux`/`amd64` +- Entrypoint: `["docker_launcher.sh","--web-interface-addr=0.0.0.0","--gui-dir=/usr/local/skycoin/src/gui/static"]` +- Environment: + - `PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin` + - `COIN=skycoin` + - `RPC_ADDR=http://0.0.0.0:6420` + - `DATA_DIR=/data/.skycoin` + - `WALLET_DIR=/wallet` + - `USE_CSRF=1` + - `WALLET_NAME=.wlt` diff --git a/docker/images/mainnet/repo-info/local/develop-arm64v8.md b/docker/images/mainnet/repo-info/local/develop-arm64v8.md new file mode 100755 index 0000000..6de8261 --- /dev/null +++ b/docker/images/mainnet/repo-info/local/develop-arm64v8.md @@ -0,0 +1,17 @@ +# `skycoin/skycoin:develop-arm64v8 + +## Docker Metadata +- Image ID: `sha256:128bf130785e83c97f70bc1a8557de5fded81501283e2d9293e0d55162e1356e` +- Created: `2018-07-22T07:59:33.29836188Z` +- Virtual Size: ~ 70.22 Mb + (total size of all layers on-disk) +- Arch: `linux`/`amd64` +- Entrypoint: `["docker_launcher.sh","--web-interface-addr=0.0.0.0","--gui-dir=/usr/local/skycoin/src/gui/static"]` +- Environment: + - `PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin` + - `COIN=skycoin` + - `RPC_ADDR=http://0.0.0.0:6420` + - `DATA_DIR=/data/.skycoin` + - `WALLET_DIR=/wallet` + - `USE_CSRF=1` + - `WALLET_NAME=.wlt` diff --git a/docker/images/mainnet/repo-info/local/develop.md b/docker/images/mainnet/repo-info/local/develop.md new file mode 100755 index 0000000..dd52777 --- /dev/null +++ b/docker/images/mainnet/repo-info/local/develop.md @@ -0,0 +1,17 @@ +# `skycoin/skycoin:develop + +## Docker Metadata +- Image ID: `sha256:f169063bee4bb93175bb7a1974f048735039642c5ba58abfa3e0e1f4cb796569` +- Created: `2018-07-12T23:41:29.41000319Z` +- Virtual Size: ~ 71.08 Mb + (total size of all layers on-disk) +- Arch: `linux`/`amd64` +- Entrypoint: `["docker_launcher.sh","--web-interface-addr=0.0.0.0","--gui-dir=/usr/local/skycoin/src/gui/static"]` +- Environment: + - `PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin` + - `COIN=skycoin` + - `RPC_ADDR=http://0.0.0.0:6420` + - `DATA_DIR=/data/.skycoin` + - `WALLET_DIR=/wallet` + - `USE_CSRF=1` + - `WALLET_NAME=.wlt` diff --git a/docker/images/mainnet/repo-info/local/latest.md b/docker/images/mainnet/repo-info/local/latest.md new file mode 100755 index 0000000..d030f28 --- /dev/null +++ b/docker/images/mainnet/repo-info/local/latest.md @@ -0,0 +1,17 @@ +# `skycoin/skycoin:latest + +## Docker Metadata +- Image ID: `sha256:dac6887647b0e5ac2f54c511adceca68b71447ca23dfdac0da45d90cb146d9bb` +- Created: `2018-04-26T02:12:22.177628806Z` +- Virtual Size: ~ 53.95 Mb + (total size of all layers on-disk) +- Arch: `linux`/`amd64` +- Entrypoint: `["docker_launcher.sh","--web-interface-addr=0.0.0.0","--rpc-interface-addr=0.0.0.0","--gui-dir=/usr/local/skycoin/src/gui/static"]` +- Environment: + - `PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin` + - `COIN=skycoin` + - `RPC_ADDR=0.0.0.0:6430` + - `DATA_DIR=/data/.skycoin` + - `WALLET_DIR=/wallet` + - `WALLET_NAME=.wlt` + diff --git a/docker/images/mainnet/repo-info/local/release-v0.22.0.md b/docker/images/mainnet/repo-info/local/release-v0.22.0.md new file mode 100755 index 0000000..ff9de92 --- /dev/null +++ b/docker/images/mainnet/repo-info/local/release-v0.22.0.md @@ -0,0 +1,17 @@ +# `skycoin/skycoin:release-v0.22.0 + +## Docker Metadata +- Image ID: `sha256:8b407227171b3bf409b65357d46a965e57c2a47b879544a0babfe7986304833c` +- Created: `2018-03-23T10:57:03.174084913Z` +- Virtual Size: ~ 341.33 Mb + (total size of all layers on-disk) +- Arch: `linux`/`amd64` +- Command: `["skycoin","--web-interface-addr=0.0.0.0"]` +- Environment: + - `PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin` + - `COIN=skycoin` + - `RPC_ADDR=0.0.0.0:6430` + - `DATA_DIR=/data/.` + - `WALLET_DIR=/wallet` + - `WALLET_NAME=.wlt` + diff --git a/docker/images/mainnet/repo-info/local/release-v0.23.0.md b/docker/images/mainnet/repo-info/local/release-v0.23.0.md new file mode 100755 index 0000000..27a49ee --- /dev/null +++ b/docker/images/mainnet/repo-info/local/release-v0.23.0.md @@ -0,0 +1,16 @@ +# `skycoin/skycoin:release-v0.23.0 + +`## Docker Metadata +- Image ID: `sha256:ef210ca501514b74b7935607686e0f9faa91c32fd91b4c6bbecfa74382a152cd` +- Created: `2018-04-26T02:21:44.894022832Z` +- Virtual Size: ~ 53.95 Mb + (total size of all layers on-disk) +- Arch: `linux`/`amd64` +- Entrypoint: `["docker_launcher.sh","--web-interface-addr=0.0.0.0","--rpc-interface-addr=0.0.0.0","--gui-dir=/usr/local/skycoin/src/gui/static"]` +- Environment: + - `PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin` + - `COIN=skycoin` + - `RPC_ADDR=0.0.0.0:6430` + - `DATA_DIR=/data/.skycoin` + - `WALLET_DIR=/wallet` + - `WALLET_NAME=.wlt` diff --git a/docker/images/mainnet/repo-info/remote/develop-arm32v5.md b/docker/images/mainnet/repo-info/remote/develop-arm32v5.md new file mode 100755 index 0000000..62ca657 --- /dev/null +++ b/docker/images/mainnet/repo-info/remote/develop-arm32v5.md @@ -0,0 +1,40 @@ +## `skycoin/skycoin:develop-arm32v5` + +```console +$ docker pull skycoin/skycoin@sha256:2e95c6d7a10cc4f69821c79d3dee8ac1c1fb329949796c2b04f81faddef8b4f0 +``` + +- Manifest MIME: `application/vnd.docker.distribution.manifest.list.v2+json` +- Platforms: + - linux; amd64 + +- Layers: + - sha256:b4f45fb2b1d01c55a010dc4585efa7c58022437c15734b329df6afdd7670005b + - sha256:b3a3ece1ae8b8bd197c940a7acde1956f3f9138008ca948a1fc25b92991f02dd + - sha256:52546602f55a7fcd444a5942e0429cdfd30e7f718ff422a7b2856c37302a206a + - sha256:03169c874cfd04b8604b67c33ee55e1b9b69d95e19bf83f4869ba59692fa4b89 + +- Expose Ports: + - 6000 + - 6420 + +```dockerfile +# 2018-07-22T07:53:54.681656183Z +EXPOSE 6000 6420 +# 2018-07-22T07:53:54.450638675Z +VOLUME [/data/.skycoin] +# 2018-07-22T07:53:54.450638675Z +VOLUME [/wallet] +# 2018-07-20T01:31:36.608478714Z +COPY file:6ac857b94e8b21cfa7f4c9a4d19387c91ec0b0eeb0faf318a16758e7c280e791 in /usr/local/bin/docker_launcher.sh +# 2018-07-20T01:31:35.779110731Z +COPY dir:0a4f98c7af3e020a45ac06413d1f1cb6409bd9ef2ba1546d2a4970fb73bc8c31 in /usr/local/skycoin/src/gui/static +# 2018-07-16T22:19:41.841251284Z +COPY multi:d033726808550b3bf4ec4dc28a2156e03a05e265d8e928b8762a8d0ad1f2583e in /usr/bin/ +# 2018-07-16T22:19:41.841251284Z +ENV RPC_ADDR=http://0.0.0.0:6420 DATA_DIR=/data/.skycoin WALLET_DIR=/wallet USE_CSRF=1 WALLET_NAME=.wlt +# 2018-07-16T22:19:41.841251284Z +ENV COIN=skycoin +# 2018-07-16T22:19:41.841251284Z +ADD file:2a4c44bdcb743a52ffa1c4b07ce471d8735a5d59cb45da2e6bfe0c2b5311ca90 in / +``` diff --git a/docker/images/mainnet/repo-info/remote/develop-arm32v6.md b/docker/images/mainnet/repo-info/remote/develop-arm32v6.md new file mode 100755 index 0000000..2329aa8 --- /dev/null +++ b/docker/images/mainnet/repo-info/remote/develop-arm32v6.md @@ -0,0 +1,40 @@ +## `skycoin/skycoin:develop-arm32v6` + +```console +$ docker pull skycoin/skycoin@sha256:8b5312f0f7c5096bbaaf3c0c028cc2c64a698e01abe5ac601c32498e856302d5 +``` + +- Manifest MIME: `application/vnd.docker.distribution.manifest.list.v2+json` +- Platforms: + - linux; amd64 + +- Layers: + - sha256:3de7e3894033b9df2faed9182c17e7376f2081a1b0a62a55779e3fa0b3d6d49d + - sha256:07e79c5a00e3b11d0b59e40df64d3a22696d4e633a53116eba30154876c89ea6 + - sha256:d8231cb38bd19e8578fa4cc2045999bdc14b3fedd4727be1488d5f9a5181596b + - sha256:22e32bd4288e8a0f0c4cfc93b9ab8f87fe45986cd69c30887aa5094ca8aaa92c + +- Expose Ports: + - 6000 + - 6420 + +```dockerfile +# 2018-07-22T07:53:54.681656183Z +EXPOSE 6000 6420 +# 2018-07-22T07:53:54.450638675Z +VOLUME [/data/.skycoin] +# 2018-07-22T07:53:54.450638675Z +VOLUME [/wallet] +# 2018-07-20T01:31:36.608478714Z +COPY file:6ac857b94e8b21cfa7f4c9a4d19387c91ec0b0eeb0faf318a16758e7c280e791 in /usr/local/bin/docker_launcher.sh +# 2018-07-20T01:31:35.779110731Z +COPY dir:0a4f98c7af3e020a45ac06413d1f1cb6409bd9ef2ba1546d2a4970fb73bc8c31 in /usr/local/skycoin/src/gui/static +# 2018-07-16T22:19:41.841251284Z +COPY multi:d033726808550b3bf4ec4dc28a2156e03a05e265d8e928b8762a8d0ad1f2583e in /usr/bin/ +# 2018-07-16T22:19:41.841251284Z +ENV RPC_ADDR=http://0.0.0.0:6420 DATA_DIR=/data/.skycoin WALLET_DIR=/wallet USE_CSRF=1 WALLET_NAME=.wlt +# 2018-07-16T22:19:41.841251284Z +ENV COIN=skycoin +# 2018-07-16T22:19:41.841251284Z +ADD file:2a4c44bdcb743a52ffa1c4b07ce471d8735a5d59cb45da2e6bfe0c2b5311ca90 in / +``` diff --git a/docker/images/mainnet/repo-info/remote/develop-arm32v7.md b/docker/images/mainnet/repo-info/remote/develop-arm32v7.md new file mode 100755 index 0000000..a9539ef --- /dev/null +++ b/docker/images/mainnet/repo-info/remote/develop-arm32v7.md @@ -0,0 +1,40 @@ +## `skycoin/skycoin:develop-arm32v7` + +```console +$ docker pull skycoin/skycoin@sha256:cdcc64b55ed18cab7c31e012eb0688abb28c6760583c5d9cb66fb4ec31fadb9f +``` + +- Manifest MIME: `application/vnd.docker.distribution.manifest.list.v2+json` +- Platforms: + - linux; amd64 + +- Layers: + - sha256:f2a233543dfec794586554b869659f42b8a372dab31797707359adbe19060c65 + - sha256:85f59ff72a098fcc969638878dd2ccc9a27595138a583609b4d780e3c034b3b9 + - sha256:f0d10c632ed822c08c779cfa2d30712a67905b2b4dfb5262dd6180cfc294ba5d + - sha256:e0dfa07ef5b562ae759773aee83e5aff5cc3d8a9b2f86d80f5a3c3af144db14f + +- Expose Ports: + - 6000 + - 6420 + +```dockerfile +# 2018-07-22T07:53:54.681656183Z +EXPOSE 6000 6420 +# 2018-07-22T07:53:54.450638675Z +VOLUME [/data/.skycoin] +# 2018-07-22T07:53:54.450638675Z +VOLUME [/wallet] +# 2018-07-20T01:31:36.608478714Z +COPY file:6ac857b94e8b21cfa7f4c9a4d19387c91ec0b0eeb0faf318a16758e7c280e791 in /usr/local/bin/docker_launcher.sh +# 2018-07-20T01:31:35.779110731Z +COPY dir:0a4f98c7af3e020a45ac06413d1f1cb6409bd9ef2ba1546d2a4970fb73bc8c31 in /usr/local/skycoin/src/gui/static +# 2018-07-16T22:19:41.841251284Z +COPY multi:d033726808550b3bf4ec4dc28a2156e03a05e265d8e928b8762a8d0ad1f2583e in /usr/bin/ +# 2018-07-16T22:19:41.841251284Z +ENV RPC_ADDR=http://0.0.0.0:6420 DATA_DIR=/data/.skycoin WALLET_DIR=/wallet USE_CSRF=1 WALLET_NAME=.wlt +# 2018-07-16T22:19:41.841251284Z +ENV COIN=skycoin +# 2018-07-16T22:19:41.841251284Z +ADD file:2a4c44bdcb743a52ffa1c4b07ce471d8735a5d59cb45da2e6bfe0c2b5311ca90 in / +``` diff --git a/docker/images/mainnet/repo-info/remote/develop-arm64v8.md b/docker/images/mainnet/repo-info/remote/develop-arm64v8.md new file mode 100755 index 0000000..bae3497 --- /dev/null +++ b/docker/images/mainnet/repo-info/remote/develop-arm64v8.md @@ -0,0 +1,40 @@ +## `skycoin/skycoin:develop` + +```console +$ docker pull skycoin/skycoin@sha256:0207b712c3df38a66bda4d7b355ab7dfc45e960b7d46f44ef4f40f454860ff68 +``` + +- Manifest MIME: `application/vnd.docker.distribution.manifest.list.v2+json` +- Platforms: + - linux; amd64 + +- Layers: + - sha256:cd6101adb6f7d5c6f64f1bfb40ef0a63eea38274ac16c8c04bb949769962897b + - sha256:9d396ec3c9f752238b6ce3459984560c56c5ebf99975e82ee2b4b68726de463d + - sha256:30199736bff8fdef5d4caacbcba3c4478cd08b2d3c3328b2e15a1a192d851f31 + - sha256:d1d21de26fcccf58cafa0470142e38def9ed327c193a0d7212614e22dbeced15 + +- Expose Ports: + - 6000 + - 6420 + +```dockerfile +# 2018-07-22T07:53:54.681656183Z +EXPOSE 6000 6420 +# 2018-07-22T07:53:54.450638675Z +VOLUME [/data/.skycoin] +# 2018-07-22T07:53:54.450638675Z +VOLUME [/wallet] +# 2018-07-20T01:31:36.608478714Z +COPY file:6ac857b94e8b21cfa7f4c9a4d19387c91ec0b0eeb0faf318a16758e7c280e791 in /usr/local/bin/docker_launcher.sh +# 2018-07-20T01:31:35.779110731Z +COPY dir:0a4f98c7af3e020a45ac06413d1f1cb6409bd9ef2ba1546d2a4970fb73bc8c31 in /usr/local/skycoin/src/gui/static +# 2018-07-16T22:19:41.841251284Z +COPY multi:d033726808550b3bf4ec4dc28a2156e03a05e265d8e928b8762a8d0ad1f2583e in /usr/bin/ +# 2018-07-16T22:19:41.841251284Z +ENV RPC_ADDR=http://0.0.0.0:6420 DATA_DIR=/data/.skycoin WALLET_DIR=/wallet USE_CSRF=1 WALLET_NAME=.wlt +# 2018-07-16T22:19:41.841251284Z +ENV COIN=skycoin +# 2018-07-16T22:19:41.841251284Z +ADD file:2a4c44bdcb743a52ffa1c4b07ce471d8735a5d59cb45da2e6bfe0c2b5311ca90 in / +``` diff --git a/docker/images/mainnet/repo-info/remote/develop.md b/docker/images/mainnet/repo-info/remote/develop.md new file mode 100755 index 0000000..f9dc9e3 --- /dev/null +++ b/docker/images/mainnet/repo-info/remote/develop.md @@ -0,0 +1,40 @@ +## `skycoin/skycoin:develop` + +```console +$ docker pull skycoin/skycoin@sha256:940af212ee94d4da8b7dce2dbb4f2aece146f529c25e33908fbecc2bcfe2f425 +``` + +- Manifest MIME: `application/vnd.docker.distribution.manifest.list.v2+json` +- Platforms: + - linux; amd64 + +- Layers: + - sha256:51c49aafd5a6f4bdf61a5a087ccb5e9cf616796d70dcc8ca62b7bf257473582e + - sha256:c1b532ec52a9dd695a4a8dde5a56916f00433e1e8ccc8723a37fa50b2b3467f8 + - sha256:9f75ac52562ed718648d77a6705bd0b271fcc075fbec05085028ed34f1694f13 + - sha256:3b486c5a9b0fa0bb15ec4f952479279d9bbbe294b9ca834e97ccf4cd169f06db + +- Expose Ports: + - 6000 + - 6420 + +```dockerfile +# 2018-07-22T07:53:54.681656183Z +EXPOSE 6000 6420 +# 2018-07-22T07:53:54.450638675Z +VOLUME [/data/.skycoin] +# 2018-07-22T07:53:54.450638675Z +VOLUME [/wallet] +# 2018-07-20T01:31:36.608478714Z +COPY file:6ac857b94e8b21cfa7f4c9a4d19387c91ec0b0eeb0faf318a16758e7c280e791 in /usr/local/bin/docker_launcher.sh +# 2018-07-20T01:31:35.779110731Z +COPY dir:0a4f98c7af3e020a45ac06413d1f1cb6409bd9ef2ba1546d2a4970fb73bc8c31 in /usr/local/skycoin/src/gui/static +# 2018-07-16T22:19:41.841251284Z +COPY multi:d033726808550b3bf4ec4dc28a2156e03a05e265d8e928b8762a8d0ad1f2583e in /usr/bin/ +# 2018-07-16T22:19:41.841251284Z +ENV RPC_ADDR=http://0.0.0.0:6420 DATA_DIR=/data/.skycoin WALLET_DIR=/wallet USE_CSRF=1 WALLET_NAME=.wlt +# 2018-07-16T22:19:41.841251284Z +ENV COIN=skycoin +# 2018-07-16T22:19:41.841251284Z +ADD file:2a4c44bdcb743a52ffa1c4b07ce471d8735a5d59cb45da2e6bfe0c2b5311ca90 in / +``` diff --git a/docker/images/mainnet/repo-info/remote/latest.md b/docker/images/mainnet/repo-info/remote/latest.md new file mode 100755 index 0000000..c6b7bf8 --- /dev/null +++ b/docker/images/mainnet/repo-info/remote/latest.md @@ -0,0 +1,40 @@ +## `skycoin/skycoin:develop-arm32v5` + +```console +$ docker pull skycoin/skycoin@sha256: +``` + +- Manifest MIME: `application/vnd.docker.distribution.manifest.list.v2+json` +- Platforms: + - linux; amd64 + +- Layers: + - sha256:ff3a5c916c92643ff77519ffa742d3ec61b7f591b6b7504599d95a4a41134e28 + - sha256:301b4fdf119c9522dd066626b1675a37a5d6e95eedf382ded38d4aa7238f3bd0 + - sha256:b8eba0ce32557c1a4fc70597fba0ee7b0bd4359bb55df92cd34aba7f73b7831e + - sha256:fe2ed3aff324c5468feaa24cae82589e442817c78a74caefa2cb00df09614bd8 + +- Expose Ports: + - 6000 + - 6420 + +```dockerfile +# 2018-07-22T07:53:54.681656183Z +EXPOSE 6000 6420 +# 2018-07-22T07:53:54.450638675Z +VOLUME [/data/.skycoin] +# 2018-07-22T07:53:54.450638675Z +VOLUME [/wallet] +# 2018-07-20T01:31:36.608478714Z +COPY file:6ac857b94e8b21cfa7f4c9a4d19387c91ec0b0eeb0faf318a16758e7c280e791 in /usr/local/bin/docker_launcher.sh +# 2018-07-20T01:31:35.779110731Z +COPY dir:0a4f98c7af3e020a45ac06413d1f1cb6409bd9ef2ba1546d2a4970fb73bc8c31 in /usr/local/skycoin/src/gui/static +# 2018-07-16T22:19:41.841251284Z +COPY multi:d033726808550b3bf4ec4dc28a2156e03a05e265d8e928b8762a8d0ad1f2583e in /usr/bin/ +# 2018-07-16T22:19:41.841251284Z +ENV RPC_ADDR=http://0.0.0.0:6420 DATA_DIR=/data/.skycoin WALLET_DIR=/wallet USE_CSRF=1 WALLET_NAME=.wlt +# 2018-07-16T22:19:41.841251284Z +ENV COIN=skycoin +# 2018-07-16T22:19:41.841251284Z +ADD file:2a4c44bdcb743a52ffa1c4b07ce471d8735a5d59cb45da2e6bfe0c2b5311ca90 in / +``` diff --git a/docker/images/mainnet/repo-info/remote/release-v0.22.0.md b/docker/images/mainnet/repo-info/remote/release-v0.22.0.md new file mode 100755 index 0000000..6562d87 --- /dev/null +++ b/docker/images/mainnet/repo-info/remote/release-v0.22.0.md @@ -0,0 +1,40 @@ +## `skycoin/skycoin:develop` + +```console +$ docker pull skycoin/skycoin@sha256:4b7e56145a7584d14273de62495e21622712fd07908ec2972fabaaf1fb0e7ca8 +``` + +- Manifest MIME: `application/vnd.docker.distribution.manifest.list.v2+json` +- Platforms: + - linux; amd64 + +- Layers: + - sha256:ff3a5c916c92643ff77519ffa742d3ec61b7f591b6b7504599d95a4a41134e28 + - sha256:4ea2ebce37a98ced054ce64a83b8e2c38d4c63995799c76e43008b627bec12bf + - sha256:bfe7dc706c0d6054d556e7a8635d22f58a67ee121c59b4edd9ea6ba611688893 + - sha256:516441122b6918902d3d3b085b312d430d16fca130415b6f26b2d361a43c4ba8 + +- Expose Ports: + - 6000 + - 6420 + +```dockerfile +# 2018-07-22T07:53:54.681656183Z +EXPOSE 6000 6420 +# 2018-07-22T07:53:54.450638675Z +VOLUME [/data/.skycoin] +# 2018-07-22T07:53:54.450638675Z +VOLUME [/wallet] +# 2018-07-20T01:31:36.608478714Z +COPY file:6ac857b94e8b21cfa7f4c9a4d19387c91ec0b0eeb0faf318a16758e7c280e791 in /usr/local/bin/docker_launcher.sh +# 2018-07-20T01:31:35.779110731Z +COPY dir:0a4f98c7af3e020a45ac06413d1f1cb6409bd9ef2ba1546d2a4970fb73bc8c31 in /usr/local/skycoin/src/gui/static +# 2018-07-16T22:19:41.841251284Z +COPY multi:d033726808550b3bf4ec4dc28a2156e03a05e265d8e928b8762a8d0ad1f2583e in /usr/bin/ +# 2018-07-16T22:19:41.841251284Z +ENV RPC_ADDR=http://0.0.0.0:6420 DATA_DIR=/data/.skycoin WALLET_DIR=/wallet USE_CSRF=1 WALLET_NAME=.wlt +# 2018-07-16T22:19:41.841251284Z +ENV COIN=skycoin +# 2018-07-16T22:19:41.841251284Z +ADD file:2a4c44bdcb743a52ffa1c4b07ce471d8735a5d59cb45da2e6bfe0c2b5311ca90 in / +``` diff --git a/docker/images/mainnet/repo-info/remote/release-v0.23.0.md b/docker/images/mainnet/repo-info/remote/release-v0.23.0.md new file mode 100755 index 0000000..c7f0232 --- /dev/null +++ b/docker/images/mainnet/repo-info/remote/release-v0.23.0.md @@ -0,0 +1,40 @@ +## `skycoin/skycoin:develop` + +```console +$ docker pull skycoin/skycoin@sha256:65443f0a0edf10553b1a7de873a97811b7876432fd85e99e8d862e1e8af578e8 +``` + +- Manifest MIME: `application/vnd.docker.distribution.manifest.list.v2+json` +- Platforms: + - linux; amd64 + +- Layers: + - sha256:ff3a5c916c92643ff77519ffa742d3ec61b7f591b6b7504599d95a4a41134e28 + - sha256:dd60045279a8607b6626b5f073fec245fdf9ac0f82ae485a87abcb30b9ae93b7 + - sha256:7b77e283ac6198f1a85306d4b461bdd48cd664f5021a198d26fb60f198387a36 + - sha256:6f62387a5d0369d7bb441bd4ce462bedb2e6d9e1fa69e510acd8e310b53743a8 + +- Expose Ports: + - 6000 + - 6420 + +```dockerfile +# 2018-07-22T07:53:54.681656183Z +EXPOSE 6000 6420 +# 2018-07-22T07:53:54.450638675Z +VOLUME [/data/.skycoin] +# 2018-07-22T07:53:54.450638675Z +VOLUME [/wallet] +# 2018-07-20T01:31:36.608478714Z +COPY file:6ac857b94e8b21cfa7f4c9a4d19387c91ec0b0eeb0faf318a16758e7c280e791 in /usr/local/bin/docker_launcher.sh +# 2018-07-20T01:31:35.779110731Z +COPY dir:0a4f98c7af3e020a45ac06413d1f1cb6409bd9ef2ba1546d2a4970fb73bc8c31 in /usr/local/skycoin/src/gui/static +# 2018-07-16T22:19:41.841251284Z +COPY multi:d033726808550b3bf4ec4dc28a2156e03a05e265d8e928b8762a8d0ad1f2583e in /usr/bin/ +# 2018-07-16T22:19:41.841251284Z +ENV RPC_ADDR=http://0.0.0.0:6420 DATA_DIR=/data/.skycoin WALLET_DIR=/wallet USE_CSRF=1 WALLET_NAME=.wlt +# 2018-07-16T22:19:41.841251284Z +ENV COIN=skycoin +# 2018-07-16T22:19:41.841251284Z +ADD file:2a4c44bdcb743a52ffa1c4b07ce471d8735a5d59cb45da2e6bfe0c2b5311ca90 in / +``` diff --git a/docs/assets/sky.libc.jpg b/docs/assets/sky.libc.jpg new file mode 100755 index 0000000000000000000000000000000000000000..bcb8717de1f7c20247b48686bb41e471e86ef665 GIT binary patch literal 128428 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

5e#ZQN&bG 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≠q=R^PNS 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Ы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 literal 0 HcmV?d00001 diff --git a/docs/libc/API.md b/docs/libc/API.md new file mode 100755 index 0000000..72d97a2 --- /dev/null +++ b/docs/libc/API.md @@ -0,0 +1,599 @@ +# Summary + + Members | Descriptions +--------------------------------|--------------------------------------------- +`define `[`GO_CGO_EXPORT_PROLOGUE_H`](#libskycoin_8h_1ac91211782906f9494d827fe6e0b2e190) | +`define `[`GO_CGO_PROLOGUE_H`](#libskycoin_8h_1ad45a58cf8a40d22e35017cb53dd6055a) | +`define `[`SKY_OK`](#skyerrors_8h_1a5cd9ddcf04c6f149c283c805c7d296da) | +`define `[`SKY_ERROR`](#skyerrors_8h_1a8405baf075a12e6232d75a8432d44f81) | +`define `[`LIBSKY_TESTING_H`](#skytest_8h_1aa31e87416545dcd6dcad132467018e22) | +`public GoUint32 `[`SKY_cli_CreateRawTxFromWallet`](#libskycoin_8h_1a20c77077115b9e629b9372dc45052978)`(Handle p0,`[`GoString`](#struct___go_string__)` p1,`[`GoString`](#struct___go_string__)` p2,`[`GoSlice`](#struct_go_slice)` p3,`[`Transaction`](#struct_transaction)` * p4)` | +`public GoUint32 `[`SKY_cli_CreateRawTxFromAddress`](#libskycoin_8h_1aa034c786a7dda49ba5caf939787dccd0)`(Handle p0,`[`GoString`](#struct___go_string__)` p1,`[`GoString`](#struct___go_string__)` p2,`[`GoString`](#struct___go_string__)` p3,`[`GoSlice`](#struct_go_slice)` p4,`[`Transaction`](#struct_transaction)` * p5)` | +`public void `[`SKY_cli_CreateRawTx`](#libskycoin_8h_1a8c5f5db1256b025fe16334a5bbbd1060)`(Handle p0,`[`Wallet`](#struct_wallet)` * p1,`[`GoSlice`](#struct_go_slice)` p2,`[`GoString`](#struct___go_string__)` p3,`[`GoSlice`](#struct_go_slice)` p4,`[`Transaction`](#struct_transaction)` * p5)` | +`public void `[`SKY_cli_NewTransaction`](#libskycoin_8h_1a86e20b22f34804b6ae95d334f0f2a51c)`(`[`GoSlice`](#struct_go_slice)` p0,`[`GoSlice`](#struct_go_slice)` p1,`[`GoSlice`](#struct_go_slice)` p2,`[`Transaction`](#struct_transaction)` * p3)` | +`public GoUint32 `[`SKY_cipher_DecodeBase58Address`](#libskycoin_8h_1ac624e50feca30ee4a1d215b55545bee8)`(`[`GoString`](#struct___go_string__)` p0,`[`Address`](#struct_address)` * p1)` | +`public void `[`SKY_cipher_AddressFromPubKey`](#libskycoin_8h_1a19502bcf26285130314d51c51034ed81)`(PubKey * p0,`[`Address`](#struct_address)` * p1)` | +`public void `[`SKY_cipher_AddressFromSecKey`](#libskycoin_8h_1a43dd635ce2999221eaf53443636a2cc9)`(SecKey * p0,`[`Address`](#struct_address)` * p1)` | +`public GoUint32 `[`SKY_cipher_BitcoinDecodeBase58Address`](#libskycoin_8h_1a3dbdee1e58738d24b1eee258971610ff)`(`[`GoString`](#struct___go_string__)` p0,`[`Address`](#struct_address)` * p1)` | +`public void `[`SKY_cipher_Address_Bytes`](#libskycoin_8h_1a2158e97d434d32452c4bc483fc42863e)`(`[`Address`](#struct_address)` * p0,`[`PubKeySlice`](#struct_go_slice__)` * p1)` | +`public void `[`SKY_cipher_Address_BitcoinBytes`](#libskycoin_8h_1ab6e15c43880cab6f2f7283f985c09b8c)`(`[`Address`](#struct_address)` * p0,`[`PubKeySlice`](#struct_go_slice__)` * p1)` | +`public GoUint32 `[`SKY_cipher_Address_Verify`](#libskycoin_8h_1a3c521e58dd6ba4d6c4996c1dd95f445b)`(`[`Address`](#struct_address)` * p0,PubKey * p1)` | +`public void `[`SKY_cipher_Address_String`](#libskycoin_8h_1a3fa26ea0e01795b94c8b163bf19677f6)`(`[`Address`](#struct_address)` * p0,`[`GoString_`](#struct_go_string__)` * p1)` | +`public void `[`SKY_cipher_Address_BitcoinString`](#libskycoin_8h_1a8f650e9df71fc4fec8a9326bd9ad209a)`(`[`Address`](#struct_address)` * p0,`[`GoString_`](#struct_go_string__)` * p1)` | +`public void `[`SKY_cipher_Address_Checksum`](#libskycoin_8h_1a5ccfd64d21d152219b9f6a92ec24099a)`(`[`Address`](#struct_address)` * p0,Checksum * p1)` | +`public void `[`SKY_cipher_Address_BitcoinChecksum`](#libskycoin_8h_1a54f6d9269d976d337431869a6025d1b6)`(`[`Address`](#struct_address)` * p0,Checksum * p1)` | +`public void `[`SKY_cipher_BitcoinAddressFromPubkey`](#libskycoin_8h_1a3bb30e8687b82b3d2b7a3ecb6ad99d51)`(PubKey * p0,`[`GoString_`](#struct_go_string__)` * p1)` | +`public void `[`SKY_cipher_BitcoinWalletImportFormatFromSeckey`](#libskycoin_8h_1a5086015efeb4450facc6e44d01f3c0bf)`(SecKey * p0,`[`GoString_`](#struct_go_string__)` * p1)` | +`public GoUint32 `[`SKY_cipher_BitcoinAddressFromBytes`](#libskycoin_8h_1afd7bbc548f9add0fb3846c5537c3e6bb)`(`[`GoSlice`](#struct_go_slice)` p0,`[`Address`](#struct_address)` * p1)` | +`public GoUint32 `[`SKY_cipher_SecKeyFromWalletImportFormat`](#libskycoin_8h_1aff9f7e90c09af0fbe68de0c2cb93445b)`(`[`GoString`](#struct___go_string__)` p0,SecKey * p1)` | +`public GoInt `[`SKY_cipher_PubKeySlice_Len`](#libskycoin_8h_1a4f8c95cf781be6721227ed34e3e31a82)`(`[`PubKeySlice`](#struct_go_slice__)` * p0)` | +`public GoUint8 `[`SKY_cipher_PubKeySlice_Less`](#libskycoin_8h_1aee5e7adb2fb6a981499b67ccd6950f07)`(`[`PubKeySlice`](#struct_go_slice__)` * p0,GoInt p1,GoInt p2)` | +`public void `[`SKY_cipher_PubKeySlice_Swap`](#libskycoin_8h_1adec780a8bb7a1e6b06e46725d438802f)`(`[`PubKeySlice`](#struct_go_slice__)` * p0,GoInt p1,GoInt p2)` | +`public void `[`SKY_cipher_RandByte`](#libskycoin_8h_1a443396fbe41b5ceca52ca9ce1178da87)`(GoInt p0,`[`PubKeySlice`](#struct_go_slice__)` * p1)` | +`public GoUint32 `[`SKY_cipher_NewPubKey`](#libskycoin_8h_1acce44b33fe66eb8e5a474ce5a52ce6ad)`(`[`GoSlice`](#struct_go_slice)` p0,PubKey * p1)` | +`public GoUint32 `[`SKY_cipher_PubKeyFromHex`](#libskycoin_8h_1a2941fcfb4b91f1a6831ed7a008f2f492)`(`[`GoString`](#struct___go_string__)` p0,PubKey * p1)` | +`public GoUint32 `[`SKY_cipher_PubKeyFromSecKey`](#libskycoin_8h_1afcd38ca547a7dae97d415bbec4d25199)`(SecKey * p0,PubKey * p1)` | +`public GoUint32 `[`SKY_cipher_PubKeyFromSig`](#libskycoin_8h_1a92d9b6d12c0f4eba7aa63336c83b920d)`(Sig * p0,SHA256 * p1,PubKey * p2)` | +`public GoUint32 `[`SKY_cipher_PubKey_Verify`](#libskycoin_8h_1aa758e062425798924e1eea3cddafb8ef)`(PubKey * p0)` | +`public void `[`SKY_cipher_PubKey_Hex`](#libskycoin_8h_1a80a69cd598ab67fc83afa6f8646f4358)`(PubKey * p0,`[`GoString_`](#struct_go_string__)` * p1)` | +`public void `[`SKY_cipher_PubKey_ToAddressHash`](#libskycoin_8h_1ad9c96b9e1d8915c6546d4070f2e76cab)`(PubKey * p0,Ripemd160 * p1)` | +`public GoUint32 `[`SKY_cipher_NewSecKey`](#libskycoin_8h_1a009cc1bf2f436a1a790db7708f17198c)`(`[`GoSlice`](#struct_go_slice)` p0,SecKey * p1)` | +`public GoUint32 `[`SKY_cipher_SecKeyFromHex`](#libskycoin_8h_1a780e839e1ae75fbac8ec674d54927d77)`(`[`GoString`](#struct___go_string__)` p0,SecKey * p1)` | +`public GoUint32 `[`SKY_cipher_SecKey_Verify`](#libskycoin_8h_1aa17089f7a830bbd75d11095f561cf39d)`(SecKey * p0)` | +`public void `[`SKY_cipher_SecKey_Hex`](#libskycoin_8h_1a645f5f92b38653939297b625d0f8dc21)`(SecKey * p0,`[`GoString_`](#struct_go_string__)` * p1)` | +`public void `[`SKY_cipher_ECDH`](#libskycoin_8h_1a23f26a93a05cc2fdb59e6feac5fe5140)`(PubKey * p0,SecKey * p1,`[`PubKeySlice`](#struct_go_slice__)` * p2)` | +`public GoUint32 `[`SKY_cipher_NewSig`](#libskycoin_8h_1ae72cdb33ffdd48382414c6125df5592c)`(`[`GoSlice`](#struct_go_slice)` p0,Sig * p1)` | +`public GoUint32 `[`SKY_cipher_SigFromHex`](#libskycoin_8h_1acd82a1de9be7d7291f79f7b32add9eec)`(`[`GoString`](#struct___go_string__)` p0,Sig * p1)` | +`public void `[`SKY_cipher_Sig_Hex`](#libskycoin_8h_1a0df60afe6e0a6b09a45959c81123cd84)`(Sig * p0,`[`GoString_`](#struct_go_string__)` * p1)` | +`public void `[`SKY_cipher_SignHash`](#libskycoin_8h_1a88c349cd3a7f14df8decd6c9c646c7f3)`(SHA256 * p0,SecKey * p1,Sig * p2)` | +`public GoUint32 `[`SKY_cipher_ChkSig`](#libskycoin_8h_1af512d40dd13c355ee7222f4bd2085f41)`(`[`Address`](#struct_address)` * p0,SHA256 * p1,Sig * p2)` | +`public GoUint32 `[`SKY_cipher_VerifySignedHash`](#libskycoin_8h_1a8a9388cb9ff151f481f4681658381728)`(Sig * p0,SHA256 * p1)` | +`public GoUint32 `[`SKY_cipher_VerifySignature`](#libskycoin_8h_1a24949394563c4a49c502549a96809b32)`(PubKey * p0,Sig * p1,SHA256 * p2)` | +`public void `[`SKY_cipher_GenerateKeyPair`](#libskycoin_8h_1ab601accdb915f5794554f80801a856d1)`(PubKey * p0,SecKey * p1)` | +`public void `[`SKY_cipher_GenerateDeterministicKeyPair`](#libskycoin_8h_1a2e579464b2cf0cdb94701c52b84ad979)`(`[`GoSlice`](#struct_go_slice)` p0,PubKey * p1,SecKey * p2)` | +`public void `[`SKY_cipher_DeterministicKeyPairIterator`](#libskycoin_8h_1a43ef1cf5a3d82f8093ab1a8eee043fcb)`(`[`GoSlice`](#struct_go_slice)` p0,`[`PubKeySlice`](#struct_go_slice__)` * p1,PubKey * p2,SecKey * p3)` | +`public void `[`SKY_cipher_GenerateDeterministicKeyPairs`](#libskycoin_8h_1a60367b51223730d7d77297309b230be4)`(`[`GoSlice`](#struct_go_slice)` p0,GoInt p1,`[`PubKeySlice`](#struct_go_slice__)` * p2)` | +`public void `[`SKY_cipher_GenerateDeterministicKeyPairsSeed`](#libskycoin_8h_1a038ca71fb6cff77b49e41ad69f00a516)`(`[`GoSlice`](#struct_go_slice)` p0,GoInt p1,`[`PubKeySlice`](#struct_go_slice__)` * p2,`[`PubKeySlice`](#struct_go_slice__)` * p3)` | +`public GoUint32 `[`SKY_cipher_TestSecKey`](#libskycoin_8h_1ace44f781f8ec684f8e9c59fb7fa3dbb3)`(SecKey * p0)` | +`public GoUint32 `[`SKY_cipher_TestSecKeyHash`](#libskycoin_8h_1a6cb852f76a408372d3b0aa5221bcdaed)`(SecKey * p0,SHA256 * p1)` | +`public GoUint32 `[`SKY_cipher_Ripemd160_Set`](#libskycoin_8h_1a3ec912a20b9e36b1c12c94f8f5be119e)`(Ripemd160 * p0,`[`GoSlice`](#struct_go_slice)` p1)` | +`public void `[`SKY_cipher_HashRipemd160`](#libskycoin_8h_1a54bd9a7ead7b661260abf98d2490153f)`(`[`GoSlice`](#struct_go_slice)` p0,Ripemd160 * p1)` | +`public GoUint32 `[`SKY_cipher_SHA256_Set`](#libskycoin_8h_1aba4a6f9df12f6384da9eeb93d7723f73)`(SHA256 * p0,`[`GoSlice`](#struct_go_slice)` p1)` | +`public void `[`SKY_cipher_SHA256_Hex`](#libskycoin_8h_1a5c8d433169079581776fe5a5eec1adb4)`(SHA256 * p0,`[`GoString_`](#struct_go_string__)` * p1)` | +`public void `[`SKY_cipher_SHA256_Xor`](#libskycoin_8h_1adf30e083c2811ee14eeef58178ceefc6)`(SHA256 * p0,SHA256 * p1,SHA256 * p2)` | +`public GoUint32 `[`SKY_cipher_SumSHA256`](#libskycoin_8h_1a7f0f0fa3b1610c7e97dc2950b35a75c4)`(`[`GoSlice`](#struct_go_slice)` p0,SHA256 * p1)` | +`public GoUint32 `[`SKY_cipher_SHA256FromHex`](#libskycoin_8h_1a046027f0eb544d6a0b8f1b78a7d189b4)`(`[`GoString`](#struct___go_string__)` p0,SHA256 * p1)` | +`public void `[`SKY_cipher_DoubleSHA256`](#libskycoin_8h_1ad3390997c0c9aec4c2cd678b6356d3ea)`(`[`GoSlice`](#struct_go_slice)` p0,SHA256 * p1)` | +`public void `[`SKY_cipher_AddSHA256`](#libskycoin_8h_1aa5977d4828735c3bceb1153f8bffc21b)`(SHA256 * p0,SHA256 * p1,SHA256 * p2)` | +`public void `[`SKY_cipher_Merkle`](#libskycoin_8h_1a71f945bbf46e4496051c98e390d11460)`(`[`GoSlice`](#struct_go_slice)` * p0,SHA256 * p1)` | +`public int `[`cr_user_Address_eq`](#skycriterion_8h_1a5c3dd4cd20db987c789c0a49ba098185)`(`[`Address`](#struct_address)` * addr1,`[`Address`](#struct_address)` * addr2)` | +`public char * `[`cr_user_Address_tostr`](#skycriterion_8h_1a232c966bd05993a3e9accc2670af2872)`(`[`Address`](#struct_address)` * addr1)` | +`public int `[`cr_user_Address_noteq`](#skycriterion_8h_1a0fc9801f223de4c4dee580e47060ee12)`(`[`Address`](#struct_address)` * addr1,`[`Address`](#struct_address)` * addr2)` | +`public int `[`cr_user_GoString_eq`](#skycriterion_8h_1afde184bfa3d42dadb560478bb384fd0e)`(`[`GoString`](#struct___go_string__)` * string1,`[`GoString`](#struct___go_string__)` * string2)` | +`public int `[`cr_user_GoString__eq`](#skycriterion_8h_1adc4957c85581c8021d1bc5e1fe68954e)`(`[`GoString_`](#struct_go_string__)` * string1,`[`GoString_`](#struct_go_string__)` * string2)` | +`public char * `[`cr_user_GoString_tostr`](#skycriterion_8h_1ac49e1ea1279ec23eb1b06fc4cff4346e)`(`[`GoString`](#struct___go_string__)` * string)` | +`public char * `[`cr_user_GoString__tostr`](#skycriterion_8h_1a8ba00c85c7eede2d955cfe016cb1023d)`(`[`GoString_`](#struct_go_string__)` * string)` | +`public int `[`cr_user_SecKey_eq`](#skycriterion_8h_1a93763ef6964d4cae39c79a7f46a2f42f)`(SecKey * seckey1,SecKey * seckey2)` | +`public char * `[`cr_user_SecKey_tostr`](#skycriterion_8h_1a2285d6f43b6c3d8903444d0983308ad3)`(SecKey * seckey1)` | +`public int `[`cr_user_Ripemd160_noteq`](#skycriterion_8h_1ac402ce38ac35394b35bed0b866266f51)`(Ripemd160 * rp1,Ripemd160 * rp2)` | +`public int `[`cr_user_Ripemd160_eq`](#skycriterion_8h_1ab77cfde0399d3d261908732b6fd0074e)`(Ripemd160 * rp1,Ripemd160 * rp2)` | +`public char * `[`cr_user_Ripemd160_tostr`](#skycriterion_8h_1ab2fe9026270b2ff7589cb44e03bd94c5)`(Ripemd160 * rp1)` | +`public int `[`cr_user_GoSlice_eq`](#skycriterion_8h_1a68e13a153f444839e3dbe06cc14e2348)`(`[`GoSlice`](#struct_go_slice)` * slice1,`[`GoSlice`](#struct_go_slice)` * slice2)` | +`public char * `[`cr_user_GoSlice_tostr`](#skycriterion_8h_1aa058100c8835ae72f2c609ad2ef1ba85)`(`[`GoSlice`](#struct_go_slice)` * slice1)` | +`public int `[`cr_user_GoSlice_noteq`](#skycriterion_8h_1a361dbb4ff75151c68df6d37368880b24)`(`[`GoSlice`](#struct_go_slice)` * slice1,`[`GoSlice`](#struct_go_slice)` * slice2)` | +`public int `[`cr_user_SHA256_noteq`](#skycriterion_8h_1ae300f329a27269668d76e11aeeae30e7)`(SHA256 * sh1,SHA256 * sh2)` | +`public int `[`cr_user_SHA256_eq`](#skycriterion_8h_1a233276e4a1ceab57a648c997c970bf92)`(SHA256 * sh1,SHA256 * sh2)` | +`public char * `[`cr_user_SHA256_tostr`](#skycriterion_8h_1a396e12d7842311b730774d39913d6ab9)`(SHA256 * sh1)` | +`public void `[`randBytes`](#skystring_8h_1abc646fb4e2f83b9ec86bacd6f8006907)`(`[`GoSlice`](#struct_go_slice)` * bytes,size_t n)` | +`public void `[`strnhex`](#skystring_8h_1aef6e4f140a965b05589db78792dc3c09)`(unsigned char * buf,char * str,int n)` | +`public void `[`strhex`](#skystring_8h_1a589986670c6a1cd947da79512078ff05)`(unsigned char * buf,char * str)` | +`public void * `[`registerMemCleanup`](#skytest_8h_1a3138ecc83c1c8906c84ef5e0d54cdfbb)`(void * p)` | +`public void `[`fprintbuff`](#skytest_8h_1a1ee45e153c115a9a735b3ccbf992e495)`(FILE * f,void * buff,size_t n)` | +`public void `[`toGoString`](#skytest_8h_1a1bad90cc197623fa8328f71809dda1a3)`(`[`GoString_`](#struct_go_string__)` * s,`[`GoString`](#struct___go_string__)` * r)` | +`struct `[`_GoString_`](#struct___go_string__) | +`struct `[`Address`](#struct_address) | Addresses of SKY accounts +`struct `[`Entry`](#struct_entry) | [Wallet](#struct_wallet) entry. +`struct `[`GoInterface`](#struct_go_interface) | +`struct `[`GoInterface_`](#struct_go_interface__) | Instances of Go interface types. +`struct `[`GoSlice`](#struct_go_slice) | +`struct `[`GoSlice_`](#struct_go_slice__) | Instances of Go slices +`struct `[`GoString_`](#struct_go_string__) | Instances of Go `string` type. +`struct `[`SendAmount`](#struct_send_amount) | Structure used to specify amounts transferred in a transaction. +`struct `[`Transaction`](#struct_transaction) | Skycoin transaction. +`struct `[`TransactionOutput`](#struct_transaction_output) | Skycoin transaction output. +`struct `[`UxBalance`](#struct_ux_balance) | Intermediate representation of a UxOut for sorting and spend choosing. +`struct `[`Wallet`](#struct_wallet) | Internal representation of a Skycoin wallet. + +## Members + +#### `define `[`GO_CGO_EXPORT_PROLOGUE_H`](#libskycoin_8h_1ac91211782906f9494d827fe6e0b2e190) + +#### `define `[`GO_CGO_PROLOGUE_H`](#libskycoin_8h_1ad45a58cf8a40d22e35017cb53dd6055a) + +#### `define `[`SKY_OK`](#skyerrors_8h_1a5cd9ddcf04c6f149c283c805c7d296da) + +#### `define `[`SKY_ERROR`](#skyerrors_8h_1a8405baf075a12e6232d75a8432d44f81) + +#### `define `[`LIBSKY_TESTING_H`](#skytest_8h_1aa31e87416545dcd6dcad132467018e22) + +#### `public GoUint32 `[`SKY_cli_CreateRawTxFromWallet`](#libskycoin_8h_1a20c77077115b9e629b9372dc45052978)`(Handle p0,`[`GoString`](#struct___go_string__)` p1,`[`GoString`](#struct___go_string__)` p2,`[`GoSlice`](#struct_go_slice)` p3,`[`Transaction`](#struct_transaction)` * p4)` + +#### `public GoUint32 `[`SKY_cli_CreateRawTxFromAddress`](#libskycoin_8h_1aa034c786a7dda49ba5caf939787dccd0)`(Handle p0,`[`GoString`](#struct___go_string__)` p1,`[`GoString`](#struct___go_string__)` p2,`[`GoString`](#struct___go_string__)` p3,`[`GoSlice`](#struct_go_slice)` p4,`[`Transaction`](#struct_transaction)` * p5)` + +#### `public void `[`SKY_cli_CreateRawTx`](#libskycoin_8h_1a8c5f5db1256b025fe16334a5bbbd1060)`(Handle p0,`[`Wallet`](#struct_wallet)` * p1,`[`GoSlice`](#struct_go_slice)` p2,`[`GoString`](#struct___go_string__)` p3,`[`GoSlice`](#struct_go_slice)` p4,`[`Transaction`](#struct_transaction)` * p5)` + +#### `public void `[`SKY_cli_NewTransaction`](#libskycoin_8h_1a86e20b22f34804b6ae95d334f0f2a51c)`(`[`GoSlice`](#struct_go_slice)` p0,`[`GoSlice`](#struct_go_slice)` p1,`[`GoSlice`](#struct_go_slice)` p2,`[`Transaction`](#struct_transaction)` * p3)` + +#### `public GoUint32 `[`SKY_cipher_DecodeBase58Address`](#libskycoin_8h_1ac624e50feca30ee4a1d215b55545bee8)`(`[`GoString`](#struct___go_string__)` p0,`[`Address`](#struct_address)` * p1)` + +#### `public void `[`SKY_cipher_AddressFromPubKey`](#libskycoin_8h_1a19502bcf26285130314d51c51034ed81)`(PubKey * p0,`[`Address`](#struct_address)` * p1)` + +#### `public void `[`SKY_cipher_AddressFromSecKey`](#libskycoin_8h_1a43dd635ce2999221eaf53443636a2cc9)`(SecKey * p0,`[`Address`](#struct_address)` * p1)` + +#### `public GoUint32 `[`SKY_cipher_BitcoinDecodeBase58Address`](#libskycoin_8h_1a3dbdee1e58738d24b1eee258971610ff)`(`[`GoString`](#struct___go_string__)` p0,`[`Address`](#struct_address)` * p1)` + +#### `public void `[`SKY_cipher_Address_Bytes`](#libskycoin_8h_1a2158e97d434d32452c4bc483fc42863e)`(`[`Address`](#struct_address)` * p0,`[`PubKeySlice`](#struct_go_slice__)` * p1)` + +#### `public void `[`SKY_cipher_Address_BitcoinBytes`](#libskycoin_8h_1ab6e15c43880cab6f2f7283f985c09b8c)`(`[`Address`](#struct_address)` * p0,`[`PubKeySlice`](#struct_go_slice__)` * p1)` + +#### `public GoUint32 `[`SKY_cipher_Address_Verify`](#libskycoin_8h_1a3c521e58dd6ba4d6c4996c1dd95f445b)`(`[`Address`](#struct_address)` * p0,PubKey * p1)` + +#### `public void `[`SKY_cipher_Address_String`](#libskycoin_8h_1a3fa26ea0e01795b94c8b163bf19677f6)`(`[`Address`](#struct_address)` * p0,`[`GoString_`](#struct_go_string__)` * p1)` + +#### `public void `[`SKY_cipher_Address_BitcoinString`](#libskycoin_8h_1a8f650e9df71fc4fec8a9326bd9ad209a)`(`[`Address`](#struct_address)` * p0,`[`GoString_`](#struct_go_string__)` * p1)` + +#### `public void `[`SKY_cipher_Address_Checksum`](#libskycoin_8h_1a5ccfd64d21d152219b9f6a92ec24099a)`(`[`Address`](#struct_address)` * p0,Checksum * p1)` + +#### `public void `[`SKY_cipher_Address_BitcoinChecksum`](#libskycoin_8h_1a54f6d9269d976d337431869a6025d1b6)`(`[`Address`](#struct_address)` * p0,Checksum * p1)` + +#### `public void `[`SKY_cipher_BitcoinAddressFromPubkey`](#libskycoin_8h_1a3bb30e8687b82b3d2b7a3ecb6ad99d51)`(PubKey * p0,`[`GoString_`](#struct_go_string__)` * p1)` + +#### `public void `[`SKY_cipher_BitcoinWalletImportFormatFromSeckey`](#libskycoin_8h_1a5086015efeb4450facc6e44d01f3c0bf)`(SecKey * p0,`[`GoString_`](#struct_go_string__)` * p1)` + +#### `public GoUint32 `[`SKY_cipher_BitcoinAddressFromBytes`](#libskycoin_8h_1afd7bbc548f9add0fb3846c5537c3e6bb)`(`[`GoSlice`](#struct_go_slice)` p0,`[`Address`](#struct_address)` * p1)` + +#### `public GoUint32 `[`SKY_cipher_SecKeyFromWalletImportFormat`](#libskycoin_8h_1aff9f7e90c09af0fbe68de0c2cb93445b)`(`[`GoString`](#struct___go_string__)` p0,SecKey * p1)` + +#### `public GoInt `[`SKY_cipher_PubKeySlice_Len`](#libskycoin_8h_1a4f8c95cf781be6721227ed34e3e31a82)`(`[`PubKeySlice`](#struct_go_slice__)` * p0)` + +#### `public GoUint8 `[`SKY_cipher_PubKeySlice_Less`](#libskycoin_8h_1aee5e7adb2fb6a981499b67ccd6950f07)`(`[`PubKeySlice`](#struct_go_slice__)` * p0,GoInt p1,GoInt p2)` + +#### `public void `[`SKY_cipher_PubKeySlice_Swap`](#libskycoin_8h_1adec780a8bb7a1e6b06e46725d438802f)`(`[`PubKeySlice`](#struct_go_slice__)` * p0,GoInt p1,GoInt p2)` + +#### `public void `[`SKY_cipher_RandByte`](#libskycoin_8h_1a443396fbe41b5ceca52ca9ce1178da87)`(GoInt p0,`[`PubKeySlice`](#struct_go_slice__)` * p1)` + +#### `public GoUint32 `[`SKY_cipher_NewPubKey`](#libskycoin_8h_1acce44b33fe66eb8e5a474ce5a52ce6ad)`(`[`GoSlice`](#struct_go_slice)` p0,PubKey * p1)` + +#### `public GoUint32 `[`SKY_cipher_PubKeyFromHex`](#libskycoin_8h_1a2941fcfb4b91f1a6831ed7a008f2f492)`(`[`GoString`](#struct___go_string__)` p0,PubKey * p1)` + +#### `public GoUint32 `[`SKY_cipher_PubKeyFromSecKey`](#libskycoin_8h_1afcd38ca547a7dae97d415bbec4d25199)`(SecKey * p0,PubKey * p1)` + +#### `public GoUint32 `[`SKY_cipher_PubKeyFromSig`](#libskycoin_8h_1a92d9b6d12c0f4eba7aa63336c83b920d)`(Sig * p0,SHA256 * p1,PubKey * p2)` + +#### `public GoUint32 `[`SKY_cipher_PubKey_Verify`](#libskycoin_8h_1aa758e062425798924e1eea3cddafb8ef)`(PubKey * p0)` + +#### `public void `[`SKY_cipher_PubKey_Hex`](#libskycoin_8h_1a80a69cd598ab67fc83afa6f8646f4358)`(PubKey * p0,`[`GoString_`](#struct_go_string__)` * p1)` + +#### `public void `[`SKY_cipher_PubKey_ToAddressHash`](#libskycoin_8h_1ad9c96b9e1d8915c6546d4070f2e76cab)`(PubKey * p0,Ripemd160 * p1)` + +#### `public GoUint32 `[`SKY_cipher_NewSecKey`](#libskycoin_8h_1a009cc1bf2f436a1a790db7708f17198c)`(`[`GoSlice`](#struct_go_slice)` p0,SecKey * p1)` + +#### `public GoUint32 `[`SKY_cipher_SecKeyFromHex`](#libskycoin_8h_1a780e839e1ae75fbac8ec674d54927d77)`(`[`GoString`](#struct___go_string__)` p0,SecKey * p1)` + +#### `public GoUint32 `[`SKY_cipher_SecKey_Verify`](#libskycoin_8h_1aa17089f7a830bbd75d11095f561cf39d)`(SecKey * p0)` + +#### `public void `[`SKY_cipher_SecKey_Hex`](#libskycoin_8h_1a645f5f92b38653939297b625d0f8dc21)`(SecKey * p0,`[`GoString_`](#struct_go_string__)` * p1)` + +#### `public void `[`SKY_cipher_ECDH`](#libskycoin_8h_1a23f26a93a05cc2fdb59e6feac5fe5140)`(PubKey * p0,SecKey * p1,`[`PubKeySlice`](#struct_go_slice__)` * p2)` + +#### `public GoUint32 `[`SKY_cipher_NewSig`](#libskycoin_8h_1ae72cdb33ffdd48382414c6125df5592c)`(`[`GoSlice`](#struct_go_slice)` p0,Sig * p1)` + +#### `public GoUint32 `[`SKY_cipher_SigFromHex`](#libskycoin_8h_1acd82a1de9be7d7291f79f7b32add9eec)`(`[`GoString`](#struct___go_string__)` p0,Sig * p1)` + +#### `public void `[`SKY_cipher_Sig_Hex`](#libskycoin_8h_1a0df60afe6e0a6b09a45959c81123cd84)`(Sig * p0,`[`GoString_`](#struct_go_string__)` * p1)` + +#### `public void `[`SKY_cipher_SignHash`](#libskycoin_8h_1a88c349cd3a7f14df8decd6c9c646c7f3)`(SHA256 * p0,SecKey * p1,Sig * p2)` + +#### `public GoUint32 `[`SKY_cipher_ChkSig`](#libskycoin_8h_1af512d40dd13c355ee7222f4bd2085f41)`(`[`Address`](#struct_address)` * p0,SHA256 * p1,Sig * p2)` + +#### `public GoUint32 `[`SKY_cipher_VerifySignedHash`](#libskycoin_8h_1a8a9388cb9ff151f481f4681658381728)`(Sig * p0,SHA256 * p1)` + +#### `public GoUint32 `[`SKY_cipher_VerifySignature`](#libskycoin_8h_1a24949394563c4a49c502549a96809b32)`(PubKey * p0,Sig * p1,SHA256 * p2)` + +#### `public void `[`SKY_cipher_GenerateKeyPair`](#libskycoin_8h_1ab601accdb915f5794554f80801a856d1)`(PubKey * p0,SecKey * p1)` + +#### `public void `[`SKY_cipher_GenerateDeterministicKeyPair`](#libskycoin_8h_1a2e579464b2cf0cdb94701c52b84ad979)`(`[`GoSlice`](#struct_go_slice)` p0,PubKey * p1,SecKey * p2)` + +#### `public void `[`SKY_cipher_DeterministicKeyPairIterator`](#libskycoin_8h_1a43ef1cf5a3d82f8093ab1a8eee043fcb)`(`[`GoSlice`](#struct_go_slice)` p0,`[`PubKeySlice`](#struct_go_slice__)` * p1,PubKey * p2,SecKey * p3)` + +#### `public void `[`SKY_cipher_GenerateDeterministicKeyPairs`](#libskycoin_8h_1a60367b51223730d7d77297309b230be4)`(`[`GoSlice`](#struct_go_slice)` p0,GoInt p1,`[`PubKeySlice`](#struct_go_slice__)` * p2)` + +#### `public void `[`SKY_cipher_GenerateDeterministicKeyPairsSeed`](#libskycoin_8h_1a038ca71fb6cff77b49e41ad69f00a516)`(`[`GoSlice`](#struct_go_slice)` p0,GoInt p1,`[`PubKeySlice`](#struct_go_slice__)` * p2,`[`PubKeySlice`](#struct_go_slice__)` * p3)` + +#### `public GoUint32 `[`SKY_cipher_TestSecKey`](#libskycoin_8h_1ace44f781f8ec684f8e9c59fb7fa3dbb3)`(SecKey * p0)` + +#### `public GoUint32 `[`SKY_cipher_TestSecKeyHash`](#libskycoin_8h_1a6cb852f76a408372d3b0aa5221bcdaed)`(SecKey * p0,SHA256 * p1)` + +#### `public GoUint32 `[`SKY_cipher_Ripemd160_Set`](#libskycoin_8h_1a3ec912a20b9e36b1c12c94f8f5be119e)`(Ripemd160 * p0,`[`GoSlice`](#struct_go_slice)` p1)` + +#### `public void `[`SKY_cipher_HashRipemd160`](#libskycoin_8h_1a54bd9a7ead7b661260abf98d2490153f)`(`[`GoSlice`](#struct_go_slice)` p0,Ripemd160 * p1)` + +#### `public GoUint32 `[`SKY_cipher_SHA256_Set`](#libskycoin_8h_1aba4a6f9df12f6384da9eeb93d7723f73)`(SHA256 * p0,`[`GoSlice`](#struct_go_slice)` p1)` + +#### `public void `[`SKY_cipher_SHA256_Hex`](#libskycoin_8h_1a5c8d433169079581776fe5a5eec1adb4)`(SHA256 * p0,`[`GoString_`](#struct_go_string__)` * p1)` + +#### `public void `[`SKY_cipher_SHA256_Xor`](#libskycoin_8h_1adf30e083c2811ee14eeef58178ceefc6)`(SHA256 * p0,SHA256 * p1,SHA256 * p2)` + +#### `public GoUint32 `[`SKY_cipher_SumSHA256`](#libskycoin_8h_1a7f0f0fa3b1610c7e97dc2950b35a75c4)`(`[`GoSlice`](#struct_go_slice)` p0,SHA256 * p1)` + +#### `public GoUint32 `[`SKY_cipher_SHA256FromHex`](#libskycoin_8h_1a046027f0eb544d6a0b8f1b78a7d189b4)`(`[`GoString`](#struct___go_string__)` p0,SHA256 * p1)` + +#### `public void `[`SKY_cipher_DoubleSHA256`](#libskycoin_8h_1ad3390997c0c9aec4c2cd678b6356d3ea)`(`[`GoSlice`](#struct_go_slice)` p0,SHA256 * p1)` + +#### `public void `[`SKY_cipher_AddSHA256`](#libskycoin_8h_1aa5977d4828735c3bceb1153f8bffc21b)`(SHA256 * p0,SHA256 * p1,SHA256 * p2)` + +#### `public void `[`SKY_cipher_Merkle`](#libskycoin_8h_1a71f945bbf46e4496051c98e390d11460)`(`[`GoSlice`](#struct_go_slice)` * p0,SHA256 * p1)` + +#### `public int `[`cr_user_Address_eq`](#skycriterion_8h_1a5c3dd4cd20db987c789c0a49ba098185)`(`[`Address`](#struct_address)` * addr1,`[`Address`](#struct_address)` * addr2)` + +#### `public char * `[`cr_user_Address_tostr`](#skycriterion_8h_1a232c966bd05993a3e9accc2670af2872)`(`[`Address`](#struct_address)` * addr1)` + +#### `public int `[`cr_user_Address_noteq`](#skycriterion_8h_1a0fc9801f223de4c4dee580e47060ee12)`(`[`Address`](#struct_address)` * addr1,`[`Address`](#struct_address)` * addr2)` + +#### `public int `[`cr_user_GoString_eq`](#skycriterion_8h_1afde184bfa3d42dadb560478bb384fd0e)`(`[`GoString`](#struct___go_string__)` * string1,`[`GoString`](#struct___go_string__)` * string2)` + +#### `public int `[`cr_user_GoString__eq`](#skycriterion_8h_1adc4957c85581c8021d1bc5e1fe68954e)`(`[`GoString_`](#struct_go_string__)` * string1,`[`GoString_`](#struct_go_string__)` * string2)` + +#### `public char * `[`cr_user_GoString_tostr`](#skycriterion_8h_1ac49e1ea1279ec23eb1b06fc4cff4346e)`(`[`GoString`](#struct___go_string__)` * string)` + +#### `public char * `[`cr_user_GoString__tostr`](#skycriterion_8h_1a8ba00c85c7eede2d955cfe016cb1023d)`(`[`GoString_`](#struct_go_string__)` * string)` + +#### `public int `[`cr_user_SecKey_eq`](#skycriterion_8h_1a93763ef6964d4cae39c79a7f46a2f42f)`(SecKey * seckey1,SecKey * seckey2)` + +#### `public char * `[`cr_user_SecKey_tostr`](#skycriterion_8h_1a2285d6f43b6c3d8903444d0983308ad3)`(SecKey * seckey1)` + +#### `public int `[`cr_user_Ripemd160_noteq`](#skycriterion_8h_1ac402ce38ac35394b35bed0b866266f51)`(Ripemd160 * rp1,Ripemd160 * rp2)` + +#### `public int `[`cr_user_Ripemd160_eq`](#skycriterion_8h_1ab77cfde0399d3d261908732b6fd0074e)`(Ripemd160 * rp1,Ripemd160 * rp2)` + +#### `public char * `[`cr_user_Ripemd160_tostr`](#skycriterion_8h_1ab2fe9026270b2ff7589cb44e03bd94c5)`(Ripemd160 * rp1)` + +#### `public int `[`cr_user_GoSlice_eq`](#skycriterion_8h_1a68e13a153f444839e3dbe06cc14e2348)`(`[`GoSlice`](#struct_go_slice)` * slice1,`[`GoSlice`](#struct_go_slice)` * slice2)` + +#### `public char * `[`cr_user_GoSlice_tostr`](#skycriterion_8h_1aa058100c8835ae72f2c609ad2ef1ba85)`(`[`GoSlice`](#struct_go_slice)` * slice1)` + +#### `public int `[`cr_user_GoSlice_noteq`](#skycriterion_8h_1a361dbb4ff75151c68df6d37368880b24)`(`[`GoSlice`](#struct_go_slice)` * slice1,`[`GoSlice`](#struct_go_slice)` * slice2)` + +#### `public int `[`cr_user_SHA256_noteq`](#skycriterion_8h_1ae300f329a27269668d76e11aeeae30e7)`(SHA256 * sh1,SHA256 * sh2)` + +#### `public int `[`cr_user_SHA256_eq`](#skycriterion_8h_1a233276e4a1ceab57a648c997c970bf92)`(SHA256 * sh1,SHA256 * sh2)` + +#### `public char * `[`cr_user_SHA256_tostr`](#skycriterion_8h_1a396e12d7842311b730774d39913d6ab9)`(SHA256 * sh1)` + +#### `public void `[`randBytes`](#skystring_8h_1abc646fb4e2f83b9ec86bacd6f8006907)`(`[`GoSlice`](#struct_go_slice)` * bytes,size_t n)` + +#### `public void `[`strnhex`](#skystring_8h_1aef6e4f140a965b05589db78792dc3c09)`(unsigned char * buf,char * str,int n)` + +#### `public void `[`strhex`](#skystring_8h_1a589986670c6a1cd947da79512078ff05)`(unsigned char * buf,char * str)` + +#### `public void * `[`registerMemCleanup`](#skytest_8h_1a3138ecc83c1c8906c84ef5e0d54cdfbb)`(void * p)` + +#### `public void `[`fprintbuff`](#skytest_8h_1a1ee45e153c115a9a735b3ccbf992e495)`(FILE * f,void * buff,size_t n)` + +#### `public void `[`toGoString`](#skytest_8h_1a1bad90cc197623fa8328f71809dda1a3)`(`[`GoString_`](#struct_go_string__)` * s,`[`GoString`](#struct___go_string__)` * r)` + +# struct `_GoString_` + +## Summary + + Members | Descriptions +--------------------------------|--------------------------------------------- +`public const char * `[`p`](#struct___go_string___1a6bc6b007533335efe02bafff799ec64c) | +`public ptrdiff_t `[`n`](#struct___go_string___1a52d899ae12c13f4df8ff5ee014f3a106) | + +## Members + +#### `public const char * `[`p`](#struct___go_string___1a6bc6b007533335efe02bafff799ec64c) + +#### `public ptrdiff_t `[`n`](#struct___go_string___1a52d899ae12c13f4df8ff5ee014f3a106) + +# struct `Address` + +Addresses of SKY accounts + +## Summary + + Members | Descriptions +--------------------------------|--------------------------------------------- +`public unsigned char `[`Version`](#struct_address_1a49fed92a3e4a3cc30678924a13acc19f) | [Address](#struct_address) version identifier. Used to differentiate testnet vs mainnet addresses, for instance. +`public Ripemd160 `[`Key`](#struct_address_1aa7fd9da55c53a8f7a6abe4987a8ea093) | [Address](#struct_address) hash identifier. + +## Members + +#### `public unsigned char `[`Version`](#struct_address_1a49fed92a3e4a3cc30678924a13acc19f) + +[Address](#struct_address) version identifier. Used to differentiate testnet vs mainnet addresses, for instance. + +#### `public Ripemd160 `[`Key`](#struct_address_1aa7fd9da55c53a8f7a6abe4987a8ea093) + +[Address](#struct_address) hash identifier. + +# struct `Entry` + +[Wallet](#struct_wallet) entry. + +## Summary + + Members | Descriptions +--------------------------------|--------------------------------------------- +`public `[`Address`](#struct_address)` `[`Address`](#struct_entry_1a0f1895b2f69382d62e5bdc459d30cae1) | [Wallet](#struct_wallet) address. +`public PubKey `[`Public`](#struct_entry_1ac4e11c22d8462b7633be585127f1a8d0) | Public key used to generate address. +`public SecKey `[`Secret`](#struct_entry_1a18296486015d3885702241c1d821d563) | Secret key used to generate address. + +## Members + +#### `public `[`Address`](#struct_address)` `[`Address`](#struct_entry_1a0f1895b2f69382d62e5bdc459d30cae1) + +[Wallet](#struct_wallet) address. + +#### `public PubKey `[`Public`](#struct_entry_1ac4e11c22d8462b7633be585127f1a8d0) + +Public key used to generate address. + +#### `public SecKey `[`Secret`](#struct_entry_1a18296486015d3885702241c1d821d563) + +Secret key used to generate address. + +# struct `GoInterface` + +## Summary + + Members | Descriptions +--------------------------------|--------------------------------------------- +`public void * `[`t`](#struct_go_interface_1a6445205ee90f5ff5131595cf7ddfcec0) | +`public void * `[`v`](#struct_go_interface_1a67806b49e20fb1170422969965db6ecb) | + +## Members + +#### `public void * `[`t`](#struct_go_interface_1a6445205ee90f5ff5131595cf7ddfcec0) + +#### `public void * `[`v`](#struct_go_interface_1a67806b49e20fb1170422969965db6ecb) + +# struct `GoInterface_` + +Instances of Go interface types. + +## Summary + + Members | Descriptions +--------------------------------|--------------------------------------------- +`public void * `[`t`](#struct_go_interface___1a6445205ee90f5ff5131595cf7ddfcec0) | Pointer to the information of the concrete Go type bound to this interface reference. +`public void * `[`v`](#struct_go_interface___1a67806b49e20fb1170422969965db6ecb) | Pointer to the data corresponding to the value bound to this interface type. + +## Members + +#### `public void * `[`t`](#struct_go_interface___1a6445205ee90f5ff5131595cf7ddfcec0) + +Pointer to the information of the concrete Go type bound to this interface reference. + +#### `public void * `[`v`](#struct_go_interface___1a67806b49e20fb1170422969965db6ecb) + +Pointer to the data corresponding to the value bound to this interface type. + +# struct `GoSlice` + +## Summary + + Members | Descriptions +--------------------------------|--------------------------------------------- +`public void * `[`data`](#struct_go_slice_1a735984d41155bc1032e09bece8f8d66d) | +`public GoInt `[`len`](#struct_go_slice_1abefd7e3d615fc657a761fd36bcd7296c) | +`public GoInt `[`cap`](#struct_go_slice_1a726ab221ad9e219391b7f4c9a5c5ba33) | + +## Members + +#### `public void * `[`data`](#struct_go_slice_1a735984d41155bc1032e09bece8f8d66d) + +#### `public GoInt `[`len`](#struct_go_slice_1abefd7e3d615fc657a761fd36bcd7296c) + +#### `public GoInt `[`cap`](#struct_go_slice_1a726ab221ad9e219391b7f4c9a5c5ba33) + +# struct `GoSlice_` + +Instances of Go slices + +## Summary + + Members | Descriptions +--------------------------------|--------------------------------------------- +`public void * `[`data`](#struct_go_slice___1a735984d41155bc1032e09bece8f8d66d) | Pointer to buffer containing slice data. +`public GoInt_ `[`len`](#struct_go_slice___1af7b822f9987d08af70f228eb6dd4b7c7) | Number of items stored in slice buffer. +`public GoInt_ `[`cap`](#struct_go_slice___1abb0492bac72ee60cd3cafd152291df94) | Maximum number of items that fits in this slice considering allocated memory and item type's size. + +## Members + +#### `public void * `[`data`](#struct_go_slice___1a735984d41155bc1032e09bece8f8d66d) + +Pointer to buffer containing slice data. + +#### `public GoInt_ `[`len`](#struct_go_slice___1af7b822f9987d08af70f228eb6dd4b7c7) + +Number of items stored in slice buffer. + +#### `public GoInt_ `[`cap`](#struct_go_slice___1abb0492bac72ee60cd3cafd152291df94) + +Maximum number of items that fits in this slice considering allocated memory and item type's size. + +# struct `GoString_` + +Instances of Go `string` type. + +## Summary + + Members | Descriptions +--------------------------------|--------------------------------------------- +`public const char * `[`p`](#struct_go_string___1a6bc6b007533335efe02bafff799ec64c) | Pointer to string characters buffer. +`public GoInt_ `[`n`](#struct_go_string___1aa78f60eaaf1d3eb1661886a694b82b23) | String size not counting trailing `\0` char if at all included. + +## Members + +#### `public const char * `[`p`](#struct_go_string___1a6bc6b007533335efe02bafff799ec64c) + +Pointer to string characters buffer. + +#### `public GoInt_ `[`n`](#struct_go_string___1aa78f60eaaf1d3eb1661886a694b82b23) + +String size not counting trailing `\0` char if at all included. + +# struct `SendAmount` + +Structure used to specify amounts transferred in a transaction. + +## Summary + + Members | Descriptions +--------------------------------|--------------------------------------------- +`public `[`GoString_`](#struct_go_string__)` `[`Addr`](#struct_send_amount_1af646aec99cf83d30d17fd62e014d19f8) | Sender / receipient address. +`public GoInt64_ `[`Coins`](#struct_send_amount_1a7733f16af3115d3cfc712f2f687b73e4) | Amount transferred (e.g. measured in SKY) + +## Members + +#### `public `[`GoString_`](#struct_go_string__)` `[`Addr`](#struct_send_amount_1af646aec99cf83d30d17fd62e014d19f8) + +Sender / receipient address. + +#### `public GoInt64_ `[`Coins`](#struct_send_amount_1a7733f16af3115d3cfc712f2f687b73e4) + +Amount transferred (e.g. measured in SKY) + +# struct `Transaction` + +Skycoin transaction. + +Instances of this struct are included in blocks. + +## Summary + + Members | Descriptions +--------------------------------|--------------------------------------------- +`public GoInt32_ `[`Length`](#struct_transaction_1a8a3c288e7b3f7245e0b7916ce322e5f9) | Current transaction's length expressed in bytes. +`public GoInt8_ `[`Type`](#struct_transaction_1a5bf4f40bde41c84f4ab5ff82bc74f744) | [Transaction](#struct_transaction)'s version. When a node tries to process a transaction, it must verify whether it supports the transaction's type. This is intended to provide a way to update skycoin clients and servers without crashing the network. If the transaction is not compatible with the node, it should not process it. +`public SHA256 `[`InnerHash`](#struct_transaction_1a62befdbe16b0b7f106cc8ac01d88b51f) | It's a SHA256 hash of the inputs and outputs of the transaction. It is used to protect against transaction mutability. This means that the transaction cannot be altered after its creation. +`public `[`GoSlice_`](#struct_go_slice__)` `[`Sigs`](#struct_transaction_1af0a2ba807a16f9ae66dd5682c243b943) | A list of digital signiatures generated by the skycoin client using the private key. It is used by Skycoin servers to verify the authenticy of the transaction. Each input requires a different signature. +`public `[`GoSlice_`](#struct_go_slice__)` `[`In`](#struct_transaction_1a317b73fcfa2b93fd16dfeab7ba228c39) | A list of references to unspent transaction outputs. Unlike other cryptocurrencies, such as Bitcoin, Skycoin unspent transaction outputs (UX) and Skycoin transactions (TX) are separated in the blockchain protocol, allowing for lighter transactions, thus reducing the broadcasting costs across the network. +`public `[`GoSlice_`](#struct_go_slice__)` `[`Out`](#struct_transaction_1a181edcb164c89b192b3838de7792cc89) | Outputs: A list of outputs created by the client, that will be recorded in the blockchain if transactions are confirmed. An output consists of a data structure representing an UTXT, which is composed by a Skycoin address to be sent to, the amount in Skycoin to be sent, and the amount of Coin Hours to be sent, and the SHA256 hash of the previous fields. + +## Members + +#### `public GoInt32_ `[`Length`](#struct_transaction_1a8a3c288e7b3f7245e0b7916ce322e5f9) + +Current transaction's length expressed in bytes. + +#### `public GoInt8_ `[`Type`](#struct_transaction_1a5bf4f40bde41c84f4ab5ff82bc74f744) + +[Transaction](#struct_transaction)'s version. When a node tries to process a transaction, it must verify whether it supports the transaction's type. This is intended to provide a way to update skycoin clients and servers without crashing the network. If the transaction is not compatible with the node, it should not process it. + +#### `public SHA256 `[`InnerHash`](#struct_transaction_1a62befdbe16b0b7f106cc8ac01d88b51f) + +It's a SHA256 hash of the inputs and outputs of the transaction. It is used to protect against transaction mutability. This means that the transaction cannot be altered after its creation. + +#### `public `[`GoSlice_`](#struct_go_slice__)` `[`Sigs`](#struct_transaction_1af0a2ba807a16f9ae66dd5682c243b943) + +A list of digital signiatures generated by the skycoin client using the private key. It is used by Skycoin servers to verify the authenticy of the transaction. Each input requires a different signature. + +#### `public `[`GoSlice_`](#struct_go_slice__)` `[`In`](#struct_transaction_1a317b73fcfa2b93fd16dfeab7ba228c39) + +A list of references to unspent transaction outputs. Unlike other cryptocurrencies, such as Bitcoin, Skycoin unspent transaction outputs (UX) and Skycoin transactions (TX) are separated in the blockchain protocol, allowing for lighter transactions, thus reducing the broadcasting costs across the network. + +#### `public `[`GoSlice_`](#struct_go_slice__)` `[`Out`](#struct_transaction_1a181edcb164c89b192b3838de7792cc89) + +Outputs: A list of outputs created by the client, that will be recorded in the blockchain if transactions are confirmed. An output consists of a data structure representing an UTXT, which is composed by a Skycoin address to be sent to, the amount in Skycoin to be sent, and the amount of Coin Hours to be sent, and the SHA256 hash of the previous fields. + +# struct `TransactionOutput` + +Skycoin transaction output. + +Instances are integral part of transactions included in blocks. + +## Summary + + Members | Descriptions +--------------------------------|--------------------------------------------- +`public `[`Address`](#struct_address)` `[`Address`](#struct_transaction_output_1a0f1895b2f69382d62e5bdc459d30cae1) | Receipient address. +`public GoInt64_ `[`Coins`](#struct_transaction_output_1a7733f16af3115d3cfc712f2f687b73e4) | Amount sent to the receipient address. +`public GoInt64_ `[`Hours`](#struct_transaction_output_1a7aef551ad5991173b5a6160fd8fe1594) | Amount of Coin Hours sent to the receipient address. + +## Members + +#### `public `[`Address`](#struct_address)` `[`Address`](#struct_transaction_output_1a0f1895b2f69382d62e5bdc459d30cae1) + +Receipient address. + +#### `public GoInt64_ `[`Coins`](#struct_transaction_output_1a7733f16af3115d3cfc712f2f687b73e4) + +Amount sent to the receipient address. + +#### `public GoInt64_ `[`Hours`](#struct_transaction_output_1a7aef551ad5991173b5a6160fd8fe1594) + +Amount of Coin Hours sent to the receipient address. + +# struct `UxBalance` + +Intermediate representation of a UxOut for sorting and spend choosing. + +## Summary + + Members | Descriptions +--------------------------------|--------------------------------------------- +`public SHA256 `[`Hash`](#struct_ux_balance_1a26607631022473d778367a1327b77a4c) | Hash of underlying UxOut. +`public GoInt64_ `[`BkSeq`](#struct_ux_balance_1a1c1b05acfa8b1a65809ba4525f14a55b) | moment balance calculation is performed at. +`public `[`Address`](#struct_address)` `[`Address`](#struct_ux_balance_1a0f1895b2f69382d62e5bdc459d30cae1) | Account holder address. +`public GoInt64_ `[`Coins`](#struct_ux_balance_1a7733f16af3115d3cfc712f2f687b73e4) | Coins amount (e.g. in SKY). +`public GoInt64_ `[`Hours`](#struct_ux_balance_1a7aef551ad5991173b5a6160fd8fe1594) | Balance of Coin Hours generated by underlying UxOut, depending on UxOut's head time. + +## Members + +#### `public SHA256 `[`Hash`](#struct_ux_balance_1a26607631022473d778367a1327b77a4c) + +Hash of underlying UxOut. + +#### `public GoInt64_ `[`BkSeq`](#struct_ux_balance_1a1c1b05acfa8b1a65809ba4525f14a55b) + +moment balance calculation is performed at. + +Block height corresponding to the + +#### `public `[`Address`](#struct_address)` `[`Address`](#struct_ux_balance_1a0f1895b2f69382d62e5bdc459d30cae1) + +Account holder address. + +#### `public GoInt64_ `[`Coins`](#struct_ux_balance_1a7733f16af3115d3cfc712f2f687b73e4) + +Coins amount (e.g. in SKY). + +#### `public GoInt64_ `[`Hours`](#struct_ux_balance_1a7aef551ad5991173b5a6160fd8fe1594) + +Balance of Coin Hours generated by underlying UxOut, depending on UxOut's head time. + +# struct `Wallet` + +Internal representation of a Skycoin wallet. + +## Summary + + Members | Descriptions +--------------------------------|--------------------------------------------- +`public GoMap_ `[`Meta`](#struct_wallet_1acdf30a4af55c2c677ebf6fc57b27e740) | Records items that are not deterministic, like filename, lable, wallet type, secrets, etc. +`public `[`GoSlice_`](#struct_go_slice__)` `[`Entries`](#struct_wallet_1a57b718d97f8db7e0bc9d9c755510951b) | Entries field stores the address entries that are deterministically generated from seed. + +## Members + +#### `public GoMap_ `[`Meta`](#struct_wallet_1acdf30a4af55c2c677ebf6fc57b27e740) + +Records items that are not deterministic, like filename, lable, wallet type, secrets, etc. + +#### `public `[`GoSlice_`](#struct_go_slice__)` `[`Entries`](#struct_wallet_1a57b718d97f8db7e0bc9d9c755510951b) + +Entries field stores the address entries that are deterministically generated from seed. + +Generated by [Moxygen](https://sourcey.com/moxygen) \ No newline at end of file diff --git a/electron/README.md b/electron/README.md index 9e05600..8fb54b8 100755 --- a/electron/README.md +++ b/electron/README.md @@ -122,23 +122,6 @@ To build app in 32 bit from a machine with 64 bit: sudo apt-get install --no-install-recommends -y gcc-multilib g++-multilib ``` -## Setup - -Once requirements are installed, node dependencies must be downloaded. - -Install yarn: - -```sh -npm install -g yarn -``` - -Install dependencies with yarn: - -```sh -yarn install -``` - -A folder `node_modules/` should now exist. ## Building diff --git a/electron/build-conf.sh b/electron/build-conf.sh index 256ecbc..9faad32 100755 --- a/electron/build-conf.sh +++ b/electron/build-conf.sh @@ -19,20 +19,11 @@ ELN_OUTPUT="${ELN_OUTPUT_BASE}/${ELN_VERSION}" if [ -n "$1" ]; then - GOX_OSARCH="$1" + GOX_OSARCH="$@" else GOX_OSARCH="linux/amd64 linux/arm windows/amd64 windows/386 darwin/amd64" fi -# GOX_OSARCH="linux/amd64 darwin/amd64" -# GOX_OSARCH="linux/amd64 linux/arm windows/amd64 windows/386 darwin/amd64" -# GOX_OSARCH="linux/amd64" -# GOX_OSARCH="darwin/amd64" -# GOX_OSARCH="windows/amd64" -# GOX_OSARCH="windows/386" -# GOX_OSARCH="linux/arm" - - GOX_OUTPUT=".gox_output" STL_OUTPUT=".standalone_output" diff --git a/electron/build-electron-release.sh b/electron/build-electron-release.sh index bb66381..de8daf6 100755 --- a/electron/build-electron-release.sh +++ b/electron/build-electron-release.sh @@ -12,9 +12,7 @@ set -e -o pipefail # By default builds all architectures. # A single arch can be built by specifying it using gox's arch names -if [ -n "$1" ]; then - GOX_OSARCH="$1" -fi +GOX_OSARCH="$@" . build-conf.sh "$GOX_OSARCH" @@ -33,23 +31,23 @@ if [ -e "$ELN_OUTPUT" ]; then fi if [ ! -z "$WIN64_ELN" ] && [ ! -z "$WIN32_ELN" ]; then - yarn run dist-win + npm run dist-win elif [ ! -z "$WIN64_ELN" ]; then - yarn run dist-win64 + npm run dist-win64 elif [ ! -z "$WIN32_ELN" ]; then - yarn run dist-win32 + npm run dist-win32 fi if [ ! -z "$LNX64_ELN" ]; then - yarn run dist-linux + npm run dist-linux fi if [ ! -z "$OSX64_ELN" ]; then if [[ "$OSTYPE" == "darwin"* ]]; then echo "run dist-mac" - yarn run dist-mac + npm run dist-mac elif [[ "$OSTYPE" == "linux"* ]]; then - yarn run pack-mac + npm run pack-mac else echo "Can not run build script in $OSTYPE" fi @@ -80,7 +78,13 @@ fi EXE="${PDT_NAME} Setup ${APP_VERSION}.exe" if [ -e "$EXE" ]; then - mv "$EXE" "${PKG_NAME}-${APP_VERSION}-gui-win-setup.exe" + if [ ! -z $WIN32_ELN ] && [ ! -z $WIN64_ELN ]; then + mv "$EXE" "${PKG_NAME}-${APP_VERSION}-gui-win-setup.exe" + elif [ ! -z $WIN32_ELN ]; then + mv "$EXE" "${WIN32_ELN}.exe" + elif [ ! -z $WIN64_ELN ]; then + mv "$EXE" "${WIN64_ELN}.exe" + fi fi # rename dmg file name diff --git a/electron/build-standalone-release.sh b/electron/build-standalone-release.sh index 44178a4..ce2b5be 100755 --- a/electron/build-standalone-release.sh +++ b/electron/build-standalone-release.sh @@ -1,9 +1,7 @@ #!/usr/bin/env bash set -e -o pipefail - if [ -n "$1" ]; then - GOX_OSARCH="$1" -fi +GOX_OSARCH="$@" . build-conf.sh "$GOX_OSARCH" @@ -24,6 +22,6 @@ echo "Packaging standalone release" echo "------------------------------" echo "Compressing standalone release" -#./compress-standalone-release.sh "$GOX_OSARCH" +./compress-standalone-release.sh "$GOX_OSARCH" popd >/dev/null diff --git a/electron/build.sh b/electron/build.sh index b5d2ed2..17fb0ae 100755 --- a/electron/build.sh +++ b/electron/build.sh @@ -3,11 +3,9 @@ set -e -o pipefail # Builds both the electron and standalone releases -. build-conf.sh "$1" +GOX_OSARCH="$@" -if [ -n "$1" ]; then - GOX_OSARCH="$1" -fi +. build-conf.sh "$GOX_OSARCH" SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" diff --git a/electron/build/icons/icon512x512.png b/electron/build/icons/icon512x512.png new file mode 100755 index 0000000000000000000000000000000000000000..44f086c81fd05b92df424e9248de2711053fca29 GIT binary patch literal 72313 zcmY(p1yE%%vn`Cf``{eh-C=NdcORUCySuv&?(XjH%)sDsaCZiGc=O$R|NFnUtFn`< ztaPV$s{>vx+li*xQ z|LUY>(y9tzVBS<+6wY~W)46mlOGPI=1iVI$A4@vFab}#e?_3Vs|l$m(9Yh4 z&r=ZaUktu~<^RCU0Mh@WxY`N=v=x*|#T=Z?NjaG~m{%ttE(d)GqZ<>2a^XolY_G*Gb=AIFEa}pGaDP@KL(?Vm%XcrC!@U!`F{)f|Ky09 zyO=p!JGxps*pvQ8u8FCGo2wuI@E=A0`~3GfU9Bzte@*r-|6|ra1DXHR!pzFV!u-Fo z|8*7k56Y+HY;FEe^MB-jXBGG_=Kq8Jj~)T$|0w^z2J_#R{ulbs)b9ua%>Vn@z9YyF zQR{$#34_Uqi>P~oU-ZJJmaMoPd(dlXX}MkH&7`;tfrW?zkc(+mnra0HbaiC~k}2s_ zIi6MxO9df-BzoVaPNgkdaZ0fhG}BuUYiflN`5qpe$87zdZFD zVN1(GC?t_WCBIr!Rrmef>b~yHzV^FDToWSt>L*vO)fBVHhZB4`0Pp)ve2D3N(RfRM zU1RvRPt>XJU!dB$WK-zMVnidTT&FIlNsGmeSgKyB{$Y8eT~n*dpjlOD)1l2upFyw5 zn8AoqrAvX|S{3#@j*O_acca{)O~*{NAN56zpI|ROe5fr(gAq3ZFp3Q`6~jR_|5apG zNG{}jhiu}#7bWd@EyL&7VDsq7iB&@!iJY34nO!*m z_GeY|Y)P|N2I^sL3-fxS6$6eeNe#~JT%4)bwPYVhB4`3zv=FWZt*P}P7#mR{MA(kE z+a&wNw^g++d}>jj3AYx4^M+&!QLjR^C9xr68y!Dhye3OtT#TqzVT?OJvNXks9!m}k zo2i9^dOt2|Rh!{kH-3z`+@$sidv~Q>q#QE##LqBpqrr-y^OiF^l?X>y& z8~?`}O73g@$)gbZgccI4`rlvsbL=bLqT>PY<1qo}=^7DvCo_lKDE0@p*Ap32*AuwW zZ_Aoo{4{BXv)DCIxAhJOKoj!?&6V5mMV68XY=kfjC^QJ#Bm}}j2K=~jGn@p?THXa?qRVg7CCST)kve8{ z_Pg3YT01M9$cW<%qejGL%Q2#k8Fh&fh~7`FgKiGTPZ#rFO_NloPeEcMf^Mg> z7#ZrvD*%hAF<{Tb99%u?nToxM@)SmGw?|=ra)tQI`P|g26Cy6^S z-o9#Q2ipUbzBExwO{K#`d%;4)i~!M=#11;LKp)FWb>9GYvwgqLxc4pJ#%SHt_R62o zdYi%u>k}Drdxyp}bZ8@ibR!8Yp=b$37(ovz9o~c#aZzADv_|%D!h}sHBPo?rhR_?d z>9AHA_JTC!y>lpFhD3yFaoOS-$=E>vEOObu7ad}(lX-)xDRxClWR?=R?N=NSqE>C)#O zrwiE9ooEOTm5_=e%?cyI_Ezzn(BZcy$3i)&Fw&(d8KSZpBi+e zUhqRSg;|F&tC*x5?!J{n>}U$9Z)wV*w#hUAfE5)I7Ud6ADAn*H@$X^!Th6N-of~B$ zzdqMCHcIT%%9S};o+-oVO4K4Y`=W+fC`e<&Vs)!dKbk^hc`(=Kt`j)&u7R%3e8p~LpG0jn!O zOl=*XESBO?IGI4@N<#Qdy2R!WvMR*8NE0d2&ii4Ofoh|`81EVSm=Cs$GEO^pkA|is zb}(U0=CQ}OTH1@`f!h~R<3eGM6J;EQF$S16NdT*W5i50{4V3BhaczT6L+eFW?F_RR z2SHmOyvm&9#1c=9|7V(GF7_=nlm^e@d}^fq=5mPZsq0%QWlC4F{MctxVb)vkAAbK& z$y^A1XtAnQk4TfROGVPcv(xRkA$TM1jtKv+o3^%IP+vfE>YFjm=0m)6=OTymL)B)E z_E5uCO`y2BwVac_M3neEezCb+@W$kidDYX<(RmqL8=Dq&xnfQ(3dXpSNU3j;Wrw625SbVm|klyIfd2oX@W@?>kuhol8;z=OMUv|r(jvkdEd8_9>H zq(o$Jh8WdQ=71oU`k|zwqp`p7mx67;2E-7d9H70TP`;w15Ru~17l-S?aYhem03Ha> zjK262q*>$(!k9SS9;LraN|^A2pZXc+_vsN&!SB6AfRYhFkuyz%m#5uwvxcl*u{Jd} zWf(VUF^a*b6v%q_ZbIc!Suo@ta9O3NUXZ63%6ws*@ko&w=KdHbg@>l8 zOfTbT*%6ECq#{H$ix3B~gi=mdWio3zcZzZ%`8_ZN%=kL9Ilqq!z3^eqKR9IUgQA5)b!ny>R;3Qb+=h6*Dg)d)E>HOV>6SBJ z(NIe7S0^$JzICbV=<73^!FnbZRd$jsg57cyO;HqK+uGSTBIV^H!2r8@m)L*`I2gxF z7&qE_?HdSAu@9UeZJqWdjlLCbpq~@Ao;jv{UI>kBTU55z#AzF}O>(APl0%Oo8hAmc z-wr7PZHVoVs(2*9rM_AL3z7$FlrU*YqR+s+ov`p9c-U~E#ni;Ah()Vkq-(lt>5@~U zrtldkOR`&Z(wR#aRTN>Ak%blglVzy`O`NZ+oO~wDnC$nq3sIr<=8tkD#k7! zF&f1GIKqn**VbuF>x7=3VOpQMNCt{xW!v(?nG$XKFK}^ToevnNr-x||;8DQfU}IC2|4PSB!i2~pZ{(vz)xrY>TxSYDZF2|EGX|y zleg~>e#8tf!Ce%Wx&#qasuW=3vC{UKP^9MDp&ZL?K+t6~yyB3mnUT&AAHcc5z?9v1 z6e@xz5o4ZJTU)-u2lGmnXt5ZJ7n$B3S8A@8lhe5LlNV{zOONuo9b8n#w186t$y_TR zO>Ab45v`y(k19D7YAnSU7*q*tv~K}tD-RTh`a35cy=at|D3y&be&zwd4@*)c7Zni!!150;X4nW^UegA7tc%#9nKnn zT!CV}2cEaiTq(u`|0P(JzgwkHMa@p)+3c;gUtlm^RocRDm7uWV!5B9na(lWxvZ%v~ zqZEBZxr*HIvMRSLwWBcn=y$Fr&p-LdQ|gM*4(~CUfOG)M6nm<@liGi0^ng;`cXOk2 ze_PCdzjKvZ8K+A+xFJ{>zkCf_kwufFAyf*@)|)R>j1)V?YYea8Z1>RixhAbz3=B)1 zZE3TaURY@3`5ql%InR}$1&lK;fC$!shGy+JG{ly|QIVF7#Ixxjc*iNXcn!-=hPdKQ zMnnirMshx<-HyG25 z()F=~-ImeQ$&^wcYNUiHyRwD^2smhrRRp`%5pVPhdan?5Q&uYNo4x%`5d2%8_e_zV z9X_4syQimmIiKS@O-PD8cb$@iNe$sR=qcdd=&)cmnm){+}|D>Y;q>6N|EagIa^x=)9o6btS;PS>MJyJ8n*}}+g zlf?=r`n{#3acg($Va z0&VE0Nc}rTPCA->>&vPTK0geb0D;R~J_$TJX6quJ^0Or&?q^yG(b#!7C21^2;sgIm zNzP*B0#$w2$eax_W%{Qsa^a^+Ew?3Pe{`?Tz)gtv%T>CMZkXEY`V~RfJIsZWwSyXm zf|Yr+`JrDu3aHzn>kRv4VSi4xXSX}?L^lyvAcxbjaDg?jer}h;i&>KQQ|gry zOu^wu)ZQCsaM)Mi?Rfbi5Mr7jxKMs!ztwmY)Go++=lh5O#>8LIU-{jZoYAbyk8>{Gs>F{ziS+>C{hpL=_C-sQN zh+gDgB&`ft$?&j7{oMuI)nUWM$ttH$ z4ZC}vD1z25LHNyV#aIKpG}s>`f=u`cFC|J01}`tzl{a;U2R zElK-CkJP>Bvk#bXw*Sw0%MikY4~xg$wp@O$TnPA-yE%%_*BiF_{x%eo7Iu1yK#M!a zWr}^-!NIOtnw7lVcp2F002*Tm1-jXfSvVLrg@J}0+nWjn|9K$@DlSx*NGS$8-d%~3 z8|%F8f4k$Q<2yH2+MQcMM`$>Gu_jXH>Xq;+u~QJ&ZV%)bG4-@VY2r6q$N50>;`JG1 z!en`gY5|ZxuvNQUm3y1?a$bLQoWp;6q8oBcTi_KLqmguWkxIz*xuo+lG6%(9vaqoo z)>)t{t3XK*B*Undiem*$QOcA^=xiMIp_JqLxitDKtU$6rSdeunBShtw*qsOEF2^8H z$?$vGViYmzY#TFwB&?5IqEk%K*#D@^V#R~yB1AM}0}|~%2{?0X1QF!=e@s>CHGhHL z0#3A6HUs-@qm8fj!Kqb;9h&!na->U^c~RjuZDZ2`H*cuG?bb`~`Py2Kyl%(Qx;z3p z85<5R&M-b!(rgSexl+;P@ZHVc^FRsJ-)*ei<_jy#ps8P(-If_E2wdz5bkKVUFK4R- z;ArD1ujD!CY&3q5`mRuJb;!2}WCv}dd6dC%seq4S@L;rZts3F8_#R1#4tp`RW{K>s zi?G>`)=Of$CUMLyQl6fb>m0%{`D_3fSyB5JpXmwT1f%F-2AjV`Y?GV#M5*Y^W}_cJ zDrmagur2*>jT_1p#bKU*(AcdZ?L%lQISUj-w&!l@*I^X_XSA|_JA^qD%O52fMH1M) zPNRs)$+cN%YoI{%d4(1-m*?LCwej12KP>Azm&zgu;6 zpKnt{O7}XR**UqtU;)REo`5cb2~apf+($8blKrRuEn^RSqd`$W)S`WmwP905aI{ z8|{upJ7`fF(hrd-Rr8H^_CBBeIW3oQ?CDmQ?HYEuaPtyh`n5@~W2op69UY14q)u}} zOr;&fIj2&A8z(6TL2ej_+xC|EpEVDhX$%`&JF_>7=NKXH4>qg!kwbE*087b__wHj&6Ql- zbv(0#38q@T-{ZE0E`PxD)RLb2!=CNv@3;pm$fBb5?xieMj9ssDe#c+0j~At==z4^` z_UyyB(r?;B5^@$-8~A7H={{3Z!Kfkksv@BqSF&zP5*_Fjnhdv&#k#Xx@_F zs!S=)MFVLoyxnk<58jf>;^m(3JQv#PQ?)uzyAc!`JZnjAL`8zaZN=@1p!@nP!vu+PK}YkdE1aT zcO5lb_D1px%o2SmkM`Q+E$96q4L$NQb@5G&FNEyuB^wGAKL2;ei!FYSqIm4@4?bUS zvmXbupO(`?H=z>5eyP|-OnbdQ1MY>s6Mmg2gAMGj67;`M_cI*S=Da8cc$Qob?BtiQ zRfaJ4yAD!?*AMAUvH`7|KCh7KmV+e-vVl*H-3*&y5zzc*rYAM#$13Hw8rk_q9(#ZG zifAV2YtV(%lMCP|cpxD4<^f6;)mNO{<3Kt7xr4F}5av|Sy80Av=>9}dtg#IAs7AW3 zN=T?STWDI}E}V?q=tkAURrhST1M})$m{5B!>~&Kd!dW=EdSHv_XF(oVAD>eP0B5IQ zg}GQ~1OSD5%oObV;e)b%+qIU~|MJxK^w&T$7ABbkjP4}&Qk6Cwu)m}(yc=y#I4qjkM zJw=usAq+RWz@GIdWn_Qky~sJ;HE##??F3{*Wg}lpo9=rMBgymVUEab2{MlDiTCUOA zoZi>;_;szrBfXw4j88E!i0A7*->;;+{XuJLSNl9>wpUpvFWaJ1RA7E(#blEa9u0kN zs~_~Z<&>&|wDz1v_HQ!i2*PRN(VONbC6432M{$rtpcTRWG*3O(t4iwQmM%nVKD&_C zQ8LPIEsw%TLFoK zOurd_y#F6fdhuVh$FN3q7?lj>ivbTR7|KP$lhIqautNcSgf;a~+RDV&nTv9c0yLO` z>eaej=w@U@Dxm;RB8$y*#I9Jz%od;&iuU#+IAU#6a(jbG<1!;xYi4uOomk#@`YiN* zYg-b%$HPO!_rH1jyPkB-Evoikom;S9(2Wu{KH003XQx7EH-{rmS8KEHs2_rt{f*+z zJM^>p7A8hq>C#-GFfckJA%@I??&nGTwPxpBAnlxH0!zcT);0KNZzz7VrLuC(9eYuj zM4S>FQJC)m=+PyCRNNDV7)@>t)<1%jvm3P|-|RX9W8`S}R7XRVzya((V-x@W?lp{O z0i^Od-|@2$6M~e{lv%lIN`0!a3A``vjr^zLiPkN`Xp)sw?9qOSfiIpW7ji+?ZB-QN ze%NRL5pLd@jb6h98fSn$7gMDsh`$?5CgUN?{skn?s~iKH*)D?Qv?|0eC$dX55*ert zehvuN&ntPH0#wc-Nl{l}=rOq`<(Kg>myQitoCueOy=p591V5H=ute^@+q1%zn%VYW z^7PEED~AmexZo&R+Vv$i*w!01Uo1k|n!+_gBJ%gE6U-}&Mv!z;_qm~dE=0!1huoX`avUPPF%5$)q~h5iO@+q~u)tv%`elwXK&Fzg4e%=C{vhwa%h7 zO8J}7s6I=~|FAZ@o@bB4+WOcPtwP-;9Cnku_-&Q2?k*(BO$K9CM%0n+xa&1>KyR_r zEx-5qzIpkZL0j3@rDqsa`s**DhqU96s6*y2NJ){ZxJ7DWjf~(vX+VX)peB9cqnB*x zh^iS#o3ga3X27KOYCYvs9Sr9wnCq-8M18@rLikE=3I>I+DTqjLSzTvvSEb3W=6Co^ z-1@~|4LEV}qR}5U&CKZtPXdkt{`UhY%gw7Kig9%x7gwl)d9{pFx4!(s0n@0o179@b z59N8XEkf@sNflBAir;Vggsw?0-uhMydyTo7@|c?uMdh;*F4pGaGD?5MLA|+eyY(y0 zFJp=MH&hW9epN$mCXbBX>hN5dN9?(}RyVO}zSI%VQx&tRy3&kMY+zLhk8?#In zKq93KIGK$!!J5p|fo{qiOan)<=WFRHPV_i5W$g1TG)ZdT(1~QWE<`dJj zdF%E0-$Z@H;-e51!FyGr54^0Ae*#A}L^Lj?ltmx-gG#a((rqMKd#o;Nb-~ge*^UBCVp2s zgRiV#`Gt5SuDf|i$xR1%k0-q6znm+5XzsOtJqxinIDFhBh>}LflK4Nrk)g=N_Pv4v z=Ggz-Y*{MxsrUGqWpY${mUzf@UvAD#F_BW*u6h6Qej*|N@ZDnSb)0vWYnBd5G$8od z3cZ{#uHPQcLyDwOFE#Yj_fnB2SSJLM3;j~i*ERccZN(N{^O`Xwv_0qmoh_8S#A@;H zkOuM6-YVcBm^MNX25QiatgjuTASn^Vn!vm%rr#-Bd`5Q&L683C$LMK))YIzvh$$R; zai5drSmHKP;8%-=#O82*77IcL;I-0RA(tPx~=b27=NNz@GuS~BH-bOp8bDK0if|4xacOQSpM{6?oLHlV9Bn>KHyyyfOy zsYJ@m+5O`-$aDlEUPq?@(Nc*XD)(dVQP_NHPKVzTTw zEHPQ~9i?igUc1i@t1fECYbc3Xd9y>w3_*FThtqtY0gT_(lbfLo9G4w#dVvoMDwLpm zf4~+6|2FGBk({%EZ-=gAtOwh_!fR%+sc(t9)>f-O2i%D)!JtVICpaB*L4_?yBFEVq z%(j5M%1n_IpZa6D%j1&in+U;)kmH|65|H&JttvigG-v^v|7jFaQ&&X6LMj8}j8?9o zTJPzCssDOpQzbZ8N#Pf@|KA<6FK5Cezt&AdwC>* zuMPUc(N1fD(#b!Mmqcx~Lc^ZpwO$}126$lO8o@Ep`XIW#nHYR+Ok0jv%^tRy)@|zJ zIZK906thSHz2&>FoJY)M7|;AqnyYOF46ENuEHX%G8u+2H=9Msf6ak?JUB@Z1x%P`I zb=_wpoKA91l3(NPi*!;{bhGak8ndk74 zXHg#Ad(G>O{&r+RHN`BXDC}Pyz_g*8&KeOANJL|3@pSmaaANu-9kXapS=(%5mu8?g^^#M*-r-#} zgpYcr3XM;I-tJA6i4m)SH<@*{X)(U#H1W#E>298_9S!=KQm^A=9`5$BO8IU=oo+L` z3`~3Kee82`ex@vb|1&6ZehnOaTpgIvw!nz#bIK+cNI6P|yt;(tiugkKd*BA;bTz}7Z#yOJ zhk@bk6Pu;1(5btX{6uG2{@U`RaI7`J+uKM+!u>a<*7S6 z>PJ)N-Wc0mY<3U(-h~val2=cSQKj%eCj0XUi3`GP4}_5fOHNA(QHzO`{mOIUmZlhb z*?%rrN=()(>}V-`*|$g`NH9=-Bf)k?mWR573Q=!+&pylNr;B8xPI3=cT-Av23tuin zKXnBLGd6q_U(aq^%mb8nS+itfetaSOD=*+R=kRFEiu^1#FjuQeug#wEW97P^yGx7!m$zGSyLRsaimEnWAm7nuH}-SX8=DD z&wUJn$x}dWzTOLN@i7VmoHw|@VlpuU3SJXz@3JaRGVw`#a}m|B!>6;ZPX<@1K+}q! z3;hhAxB+{ylcCd)eoX-)W<6Yr1qLy-1#gnwRwNl|f^hlqyJuucaZCeNzN59cOOeiQ zdcK;WV>L1mt2~FHRz*a!Aw&k!u$%DV7Rvgn!LwdUqz}eejX^Xvv<4Cna?*_OKu87G z@dkZJ)>L^_N-{+H4jiCX4mrpvviH_OG8F3_adN0TLl@){_@gA-_rE|PYkKXlh^mA} z{9+M_VJ)&A3A@71QDnVfnii4Pso-;BiRJG)v>5oM_>6Tm$ytWR`BjqL*Ll5~p&4yZ zeNc+g*%9t1w{|lstRoDmhJ0wzZEIET<2&7oDq15UO80g5!WGZFWhIR~)rzsv^N@sI zzt?YgX}Z!jl{3PVX}@caT zA@kHQhWKA-h(6q8dB0IeKqf>C$@6@-5QGMAK`>bk1=;l2LzMB6(ciFxI<5@JQ57=P zA--jaf`2O&MZP5`nroGtq$A*BFddhlu>e9_7y8wXbgn7ISQf1kU#N`csmc1RwDI*> z6Rc{*af1G?7GdLt1BEL0Bo<*wT)&F@;PSwtIHtj&z;8nC^ug9lC`#X}fNS1?SSgXY z0Y^%gc@e~cE?NxJRO`Vy@}k|zR@b!x`+y=B$)ej9Z1T(uva5x~oH4g-$*|FBsm`1| zv{k0$5=A%;+EZ$2eW%pa!uTD+)BuCv#rg`jkMt?4^bj4pMY|MXS!fRl(jasa0V#Cj z#c*F9@XYJaVUKmerz;B&Z$s2Z^ft9w!=~1x>^cQ2JxbQ0Pax!|hmb3WW`*RZ*>sfA z^R@bT#(w6^_J!D=0JV6_J_f&o<>~y7{VkxL|IVmdz52MrmgLBoSOn^$o|X?J+=6j0 zYy!J9Z+8D}bl95j<=Lf9x3~GPX49}9RpfWD#?k0Z=V>N$8FaEbrysC6UBTUsnu|Mh zVdKJ~o^&M+RIBAOk1+Z=3#ZaMn6o3i-f$`P(rOryegZ zQe)yo83LWf#8YY`W|VUWivghdZGh5U@?z6vf@+o7^Y%~)^!O1`L#V`0?)VnSrJ)A> z12_37l?~$Q_X2FEg+wUj`skoJZ4*Y;>TN|Q?=T9p_2U=k1y$)3i@zz>%#DU#L2#u~ z5a0N%`Rg?8BTg0Z-%i(sleO!;17J$bwJz-$0p!QlhVIV(SW}U2hX)KC|6dNVT>0pVmi(UoWr~LwRJ3 zha*wr-xj&Q66KB+gjy;^6ZJHZ4ZJ>G0#^H5pI{BW4qI;zYSB#tqyBzhEM!WC;Fe=0 z;Bn2c445(UpG?}nt<~vv2gWKu?8#?RrOSkz%hhM_k&YNz*00s_x37K*3Tocx@-&^? zkzzdtEsIzoP~5f_F_EG5(OshOyVu zMCVBVq8nYw0iaDSpdm8EWFo}PVR&)FLnNi-Hedum{#2*|8AE-8LP0>WJy^;zt~}O< zpBsq?3#BV}O~c1OrE{Bq%6bC&nWJ3ghoUzKB3}Bu$|>wc#Y{`ek}uu+qpcB~fv7&f zJ0YaN8-M^W=bAVjVE|WSc|(uwHw;9XMQTzSQScY=Q4iU|fVyyaQe!8Xnf6S@%m?E2 z06CW;EM^`o$iiPcEIv-9K;*Kbke>w^k4ib4;J;aw3S6eyIzI3+=2Pz2@#=j=V`h{8>xAQ=qK%3 z0X}D5KFS*P5LeH>fdGBsFo8E z`xru-qVVaYg4D%%ahuK&(=8ZUfA9`#mhsd8a~UjTn5j`Blmzbq`iMIV|IRZhc=1E; z<6qg3zWD@-@HM)JKek43t(E*DqYP5x6Bc$)&O(A*NrOoZrJYG3`^%=Z;q&EhYhK(9 zOU!Fu{&@r)!@xYGoUE<~kDA-7JxNiVM*c+dHQ1^3b95>1g&=B z?yhTe``d2S8HDpFYjO0g*K1mlGsmMz=2Qz;J>}Mrt&ZVv-iaF@E+Yq9afa@B!NB({ z;6eASu;Q4yaEj-o!`Gf4tK#b7@1k??$og3_E399t@NhKu`6=ZS@d{XhbkvApsf?t^ zt`O|#P{XV&dIiZW0&$z%tTMP<;c&=2)Sfg6EQvh2WT#|oQQd7}Bd zhIpONbdaN8+ea+CvZarqeihLw;3K+Og$P8*5FMz<7&ufcXI@#$hd$b{pSb+-5Fyv2 zj%K8uWP**Ls1wtGWUw;$3$w-28N_WlnM@krQJOK~BNtM-=4p0uluG%n8Dl<8QWP_# z`A}YrEhiqE)HuD0be+=Qvh4atNZu7Y|H#(H*ksI06F*5A%%eQaEsyX+`?1rJeRsj z#NACk?-fPR5JAcjRe4T#QWjbTZ8BaKZ674Gr0*=^+sJ9gEK>zV@PdB(;HGg6*QjR6 zF_Y3->$#e}@wH&f5(){PxD5yIlfGF#LutQHLo8n}krb9fGeu(jx*I3fuMVRn%$_*N zqLX&srnq8TZia<*UJ7kFqhudID7U4@+qW_TC>#UTjOtubp$wVALNLGIX*)4C_x6%BSAp?kys*Ny7 zyOdP;;N2Tw6KA=`Ffh&6(SuclQH2>&X?B``J?Als=T`11E)QPgSNSPGD0?Rj7B{~Yn@{q^)Q zRN?s7BhUA4D^??7A?QQ$bAkqSqqBdjp||{oo1dS+4A;mfjnTlR5h;9U(9f@?pGNyF z{^J4{WXEkJ7^hcn$L^BtzWWZe4XlpBTv?)n{xzb}A`|5LwBI4k-w0_THSPtILA~(@ zx|J$C0c`~cE~!sw2w6XQWAxn%Z`biDmP>RvJ7tu}EB$#&&T^FnMd{COG5^I#RJU~E z1$fW|hJ_jIWerVKfiLs1ucM1@O6D;t+!dsx+?Jx_Q6`1(Gn~wnbgvEVI2Gb$TP9^< z)VQQHg}O6TgmUm@;9^AJz{{ZEqDWsaqdQI%C&w%PofYkQcQKS<2YyIFz?S8dToD{b z5>u<^rnlyPp~)Xmy(<+cbeD3VB5qe#8+_G7=C;T8jdXDh`w^ais?;3+I3j15QMwk7 z7(w_J=7;5TN1(_*&)ctBQOYwe=_vvcOBF$}*uBU>{>{Y{F8LEsSI{CEikd(_L5KUY zu~hvyMZXfu4GmJvTn@s#77r#(YTWbUCC4AJx#+}Y##T)dt(mm&#{{*D@MuHh5*2Xo z&StBkPr$R2H7D-R-$mqKoZ59?U!2~JUQDU#1MYS{ziV3HOiXRs*ZTQ!-JbD!l7W1S zJPdswU{WZUBkWMf3<4MNeS6WlVo`ja1iKj(Q0CtcFm#cFxM5VcFvnE;eU%Mv<$8m- zD~W$6^axcc>C4!t5u`Anl!=eqlDi=NrK%gY2ek))Y0yvNySIT4#hp(KAINxUU5vtW zSNs7vhY$uNRBOt&*r7#){Y2^LcLWTSu;mqF5D>NOuy*AlV$hhc${xZkhp26_LQTNO zSHg-K-)z$%7A^__pQ5Nk;+k<;1f|V)_sx6y1!#U$H}YY9n=&>7PmGk57rEqVRwnC_ z71)VbM`uK&Jxp5AYjBoMO=F0MSCytXJetfj3<uAMWQ?e+B*!g5!bLXS6M_5>1G$h zP}FClNxM~W9>;Q&+!;4RD$qy|-rfFziX@F!%qBI*`@o=*{#03~%a;2A-GJ`S3jDWY z;4Gw)_DiDY6&aP0IDW{c=`ai{Ta6DGCREkGHU$-I0H&kskyT7E8!#Qff0lN2fKnf! zY{49IwL>!pd7$)(Iyy;<<^sKho{I}TC>&u1wq&JO7;9b}Ea)jEx<)Aq%n82bHtKQP z-`R8sn8{p3^I?%LX~WKIB+GdP+V)_uDZ= zWcSrJ@39ZzZTQ|mFDJ$t{~5VB@r$VSI<`030|jPPJ_#E3`;t4q%)8ktg!TLQpM)i- zV*3MF#DslA#<}%_Mt;&fUQ{-ta<1OvBG4Ce@ph^Y;gVdQTANkB+xJk6$qwvOAS;6A zf5+g!@+$WGew%?pA5a)g8m)wcFKQv`TJi)1ZNT=@5vIz!*vZMJ(TN@yL(V77KAOjI@k7X1irc< zU0_Ew3R$8YkHdH?_0i9Jlt{5;QSsV|?ve;NxjMPhL?4Nb1%Akgx(%-2D`M>nD@y3l z!vXxo z=+gIy04Q$*YEfn3hemRP@Uuq0oAeZ+yF-=&yH`;xI2|_s-DI>1+x9!4vmb%+c}O#X z$)({@Sqwy!!Mig7^Xfz|rkHFTW-GB}ke?ll+x@e#a?pJf@yX1A60C$TnYLndIzR*C znK|N>6$M?Bvd-%2GA22ezPg)u@?r2cv1VgoAhV3qvJcNrmnNllM|n_Dm@r#SB`Zxa zGG{iZZj&c?B&s42;s@lbQMET_)G`=tSm9r2_0`b(RIhTPfEpQLCohg!gp8FA3iOCh zsdj#lhG0Dw6b@7i)rTS{ zkW@txxD%^5>91T|A{~=E%joFAcP7Mf3B)@n0s&7wp zOrX$e`iaN_7Z??-@(n?SG#jzIs+)N!t@rHXH1;yCI|3c%YRtF@5T$%LUf7ABU+yN6 z7%v-K-nhT{ta&D=@JYa`{A-W>pndZBNx$KQz8(pC`|C=Z!TiOj+pzX~13%VOK=DnI zL!>aV-+i*j%MkPEr<<1E{qvICFjS+QH#|d3%Bu(t#(h^i294Z$?Lxir$>_z{Z)e~ew!?&>5RL6otmd@$93>OJng+nF`LWC=ofST_pc zR98OJg$q&t&v^z=j0KROZ7fKvn-MyhNogkeH$>2FPU55o3KUwD zxE+u64u|CafV(8_gu~+j?jub98p_~(nPrSNXAYknuERmaV{S*^u?_(_-`9!k8CQg+ zo+sKH~-!ONwHh*WVqL%VgUlnk{84!jWf{^CB3sb0soeWjMHIEHRcKRCJ- z|0`DQ{)xy8;`gFe{@U%m(C@Ts&l8-q&l>SOp`NUtbIBN+e%ju4>iIhw@KkSon{lBU zSd22TawFyU(iQI=ekE6~xVderW<*oRJUTX>;k0fi>3&Vr!q_3h4R>)*#IxfrRncKJ zP5Q@{*??S&_DF=!iHWQQgc@7t`?veCv6+X^kU9H)7e+J#3tuPhdydw|G7y^@?jYPn zh72nOex5tfZ+L`=$uM`+R=vSb%AM@@E81jrTT==0K}i-=@)-R?6qE!@g#;b|zfxI| z$|mF$npJoTuQOh^evQd3iS zwhv1AFj*u_dEmIyfjSsjgOuGw#$_Hh3*L~0C-44I!+HVB2&MRV~ z-Z?H_ITc=$AUin1jDNZoK|&lluNHN~BeJMB?jffFWMBbhDp;oj>4{_PM9lKNuXidhiS} zRQ&6ECk1iSzZ;|a1;lJ_855 z2Qj1vU6ymQ2P;XH-*o^8y$otekHV$P4o-$MD&$#kG`D$5$77faa(2uu;&vgF{gH5& z9jjtzv0OnDU?CJSIBvAHdO@wSP9YsrD7KqF+g$SB3}Ub~Ye_!_`QZV74I+kN$E3s& z%mSHu&VHFrBHO|NyKogjzV3r?9QIbCiZ#wQ&oSaJ%i3pQLetfVXva;K2rajKa1xWP z?xBT6B;p^Z&C7`y&@px-fjjqZ+O9w8TL8x)SNl}s!U^O2k@1!?(G*c=BR#D0?yR6h zuJ)EBE1HI2xE?L>ZyvhJ^{@NC6roDo@1?X}=52BB$)&j3)NKrw;jG@p@9`}UJSO*bi>ZB%guaK1%;D1nPx0}y1#&x?5~eS(dHgU?B;-^`Y0#2p=4~Wr zV<#Aj3x5D`UecZ!Ltl2Su^Y9hs!&KtAq5c{yr8^W1vS{JDHMtCz%F$JZ9F-vOi~;# zm@)22POSyJorIFh`C~Z;GeFOF-5sT^XuiQ1zCJk_8yZpjnox}qPVpm!PL1Ll`@(Vr z>m1M|ID(8qK?RD0MgKa+_(ohLF6QZ5rdO$O63^89FCM7+C%B?6cxysMQx4BQ477^5 zS%eqErkLg3Fd=RVVntZz9@CwQOWys1K6DHhmP2d z1AAe}{vORN=ulb=cxEHQvSy@az0tt(lZn-qhXqYrT)ihW=#1#YJi#f}*wp(OUiLpq zxQzHraZE0;%XTvQ1CE%~0!of0HAkWer{%8X4nlYD6lC3BXPFe|;*Wm`++<68&Ehomqo771;ForYEX!OLB<(UWO#@5ejV;zCK zUE%)+PC&80S1OAtf(&(6v*4HdrC5>1+KE7QseOHO&97??{GZwrc#6jBExN>tu)%b` zM9!65^DUnED5}sLQX|g`R2?q0^qczCR&Y}gYRqtP69Cj+!X@pVDGwdjUFG#6Qj1}% za7x~=OJC4Bc5Szg{vLm&^(Jo!i?BwYHSM9*wS1K~%!QND>U}@`lOO+F%lp4~Lb&^h zKm5aB!m00TIsQQs1dhm9g-X}2Ur($}-uhMESJqI(+9mrm-pWSOecM}Ym2~V@xYW|< zl*Qo6>cr@+3FkT*5HYGioq;&$ta7gQvVDI7WKiOqb|caH3k|5NCm@~YWidgFD&xuG zB&k*muq2U^2=f@RuU?*HAKqn8O*nGLcCQ(7ssI2$07*naRC42ZV=Hf@b(M}Gk!V+? zat4UwX^u2;LTpXFs6r~0yg|(%mfpW{>Bf}1hSwn6?YkigwjpXpMUfOLv6G{WUqGSS zpl%_j6ThEo%GHJ@p4zb`V%jT;7ir2MZQ{D)hsH#bN5Iqp^S-LPxQ$WQ3ba+irK#6b zdu6JaXKF3zgv&M5hLZ#;4M~`83ni=-Pm~rjDFCQ9M&;r3w{OqcEW5jO@~Z33PFD2M zFF6-fk7^chl7Mn0%M<3oP#BGS#r&>7fMAhCT2!`79#@>_X6DI0U`)EE z*9klH$O$`jn=Eh$E6+AXD+`N}p{wJC6AyJalq>VUN?+bj+xZ#}f6YW9toxdelP5pn z&leUZKb$PDKD;tJQYIEaB&lFK_YBzP3LGBlFOtTQTSGs`vvTd?h|j4a<8{MYgQR>K zr8#d!O=;xqs%vab>2?N)EH9Y%K!_&91wu6}qcw=O!Vyuwn&Fgr>UfRy>a#OT{zA%Q zckZ(=TwfblYhNe#g)p$%{m;3&BbTOMDwNc$fb(;g4Xfe0s4KU|=j`OEOLp|wX_=|266e$ra9@4^vm=&flqYmu*YqwxjZ;$_aiP^Ej7`pg zLC=cdG&X`se?=^Q9qN;ZNXu(0xkZbR#T&S61A-9RcL1m$35X@W65&*f4rdL*;5HKSE-1-e3O07*xN;O8w@YFQnfq?L~8= zHYlfif`Q*kQDHp@j3r?=P_^c73|mWoukAVU2%5yE+bK$toE)Et-5wt=cQoW4o_gui zAEvm~aag~ZEp5Ph+f) z-x~8&XXVX^vr3()b0DQ&cecc>hec0{75G{T4FrScB9&(~!CYb>;LIuuw80t$HZ;dj zm1w^(Jn88W{Yass$97q1lN>5Uz1B>qun7}LDS%Wh@G0BRMqOW;T_f$^xscMml z>Xft%<|XJiK&l~_94=;vM9YGsjOP@NmN{OB(A+?v6GrJaTD?x5*ZAq5>H}O2n~$Nc zi4n$7-$cl+E!3nBw*-jen8s7Dd#mD2JOBC5vqU>Kc?`Yu+%JX7n}=6cvlYBPIC#S3GxhR9#}!Y^ zTOyY|%`1dAS*I~VfKE|!w?t`02&o=Qk5ojqznctI-o_-m#0QDH(tRaLW6Xw96*O|v z12vEupdzkJt%#F7a(;NmW@cBde`mKHyISr7!ok}5_Krd1=)Uruyz8f?HU z7pfLX;dx53>Gj0CJ#*@^O+w^%-hag2^{!*q+nK>>ut2nZi9P@i2pV`*YV}g55J}QW z*rWCwPBr3vmFHLYKoSTpRG7ETrBTb4dNG{Yo)kimos$Hi^v-g96giihHpO={EO?U* z^KK83eZVGbdN+xrqH|%!M&l-}%$sxjOdaG1I_{T)cNf+-x2_QiWn}0MAW=F9_9aP& zVI`MM~EJZCi1(=)^s#25e8QkwdCuxU!!Xil#-Zw&B5nCDM^%$pL z^Iax)-+vzt1ri#uOJ%>^zIH1zx>%|-XJUtEFTC(eYUxqdj_CVqIld+vK!_#>yh1IF2hkA06D;!-U0b7UMI7p51_VCxz$d+zU5cx0YV6*M3Pa_P`Vq zt39duIx!#-^NOTLF~&7)8fcKM@_g9Cf+2Os5o!EC{WTse{ z#0z1N7{2KlTvms?JF4$>y9MO;#Zr!tP#eRpKI$16$5Jn(!l@5JGbJ0|W}SU9(_|y; zC%nx25kWP)RNA8}fJ;0<9vp40DoL_R?w0D5k*z>vC(H+YgG=juhm4c#A%;pCoO4^+ z)Ac|-a;QNnT@hUTa&z zSY**mU+?7s-L;2N@uZ#`>3t%%UODpgCDBR`~^OXEL-2~eO&b__|qc6DUhxm_!2+);vnA>tba3{a&+_yQ{?&jW!Pe+@YGN^Mis zYD>u5gm-NYHQ?;UQTE$fvt!5i*}mO_==$V5!Syt`G15DN*%LbGUw~jz7e&sFY;ZSm zM)gf8_)#WN^r$GfY?UldiY)rF)HfNyB6qpEm4ZG+rYsdvR$Z2jCNkpSnxK`c=82IY zn54xmQdA~b2CTrNUY;q5l0pAZ$rFWhLw#2;P>e*JRsEJnOz^py8C31p)t7)#u%R1L zYzyAGhK2@qNm;_PxM`Eqi>~?(4)*w-x@*9$u@FHchxq85zmg`Z*Hu{|JHbQhYw2KN z9I0>Y5N0fHa$;|0!Iw7CQ(t{NH9wSfubtPy_-gQUmwU1^%ec8)+uL3JQyX5OPE>p= z+OKV7GqiN&`RDEK@B43T|AX(eFWwxs43UtvcCyDWycFqfuax)g+MZq*JNr{K@bSAo z^W$ipu)6xdaPjXu1kG1Hs#TH^Lnlf%hK6=!CojKPS{`pl&0&v)Qgjz->{{t|o}7KX z8f@#{t=2;(==m4Vld2wY9ra0E0fxnduxAt=r#^NWOgAT$rjL5~Pn)u(q@w9D?Q9~EFSTHm z^79y}l5U%da68gt7clYSctQ*vk}Q%$fu0ZI@!Pp0&k6NtIzVK#uiumj2rsBX3`5UB zD@5g4(}CpH3x?dt1_9+l)+^*R21=^*@m16Hdc7}S8Xp(pG>{`vbcN-&tGpt+N=!oA z7Yz)MoQS=$x{22gQ6=sUG_~=rRp?ZxYa$&E9@54U*+t$iMIN5Y?Akua-e)Ny?nnb* z68t{CdY&^e8I`VI*Hz7X6OM{?0+X}kdrW23nU+SXXe8y80E-to`Ap8)kC8+ztx zn>_V-wlhtz&}x|XsN7w8@R7Tt*=%Vcwd;}lng26&^?$xS=U;;)ejmagiZ1Q1#h?yvL|8LlF{fXD(QcZNVi z!YwBb01Y;F3y@4O1jEA*b%}m!*{md$Z!Lt5&1-(i5+(t1JZl#&joQ_#qqZ=+$Ueq- z+`Qyxq4H<|>V5IdTaa60BCHi*>Yrqnpi-_^7oNM$t_~zY(z9`IuunjCe$LbM!`NYx zBU;eroL}Vyo~DhDc#95N#I|9Zq1JZBlw2tmfQ^n$T0#aiZK&@mASU5{b$~Z*UG2P5BIQg@_b3>&iY zu;MHlK)r`h#;mx}Fi5Bu-0UHRrK1G{dU-|N3_ebA5G89f9KAHy)aUghm6~W*di^=p zyv}3@>lSH?%LvG%lcCQp`F5C&Ct%88u`yyLL$X%Zc@00q%6}{u7wWGsr$93>y zY+}k9*$Ge%0Gf44s(u7d^G!VgOn%Y(sO$l$k3D_eK0YFLuUtIZ%M3x z@HE)+^pK;4r%DKa@!Gfzv-p4i;azqYY44H3Chl8e66m?km1=Nl!d(5KPH{qUJGn{q z9&{xkE)$79e|gMadi9pwCMQcosfcs~`i>_7QqH-d;NlY?fTS2KjtjEY0&dAEEeKBM zM4ET+gLg|eYlIOHk))XHo_c@%zS`iBEg&8tVo9-!V<{B3@yTV9Sx0Q__JmcjD@4>W zB$=z8jJseFLHf8kCI}XOXk4)~n((4^ba&D>Hkw0nkWyqbxPn_yQDt8`qIx~R>67Wb z@lJTx`6G2m%c+~&+Hv=?XpQym3+%F=k#|#gqB#cux989RDBf&2{ z1ZGJA4ZN-ggsHoZmENkKarzbaDdQmWM`NW=P)g-gv%W>nfxRZ@M_eixQe|Q$YnLx0 zQD9)0`@A7Ic;APRSMISO_^2E?F&An8AqAl_6#|v3gP24M+C$QA^FpBM$!XMEU`N%H zZRzTc`XXfK+u;@y&{zVd>P_;-tqjSGT0T5AGslwKRadnn8FaWR4la0aC?lekG!vr@ zv;b24S<~OavR?%z6$jBgIV01Y)8Qi0vRLMOe%i*_{Uu3zJ#5yew3IfaNPhX64PU$( zUSC_X$mZ0KE>2Dk(oEIBbqC__`SXT1UVnCF<|i6#t+QHO<+U}Ti1t&J#83oQF^`Up zG*r!!c{scdrF%;fxL1R7?;J4++`CO$>JTh`2tfiEgeW40 zI;T~?JQ0w-2GT@r1?rQKNp%Rp84zau80w-BDE>? zBiITRgd$BuyT@D{x@l`THT2HM1Y8{c#?t{}YOX}Ueo?J)u5nZCrhLHpmK%5pTu~PFE+N zA(Bq%!L7aMx$LJpxA;23Y0`wOKH2<*W?1<}$~J?cSOh)tiI5tliF6?NqhZoDbvTY* zS;XGZwme$v(1AfMJ3^i!O=K|W!Pp4N93hI}_Cgd&1R<1DX{8WXX0kh9eU zS5}7c1lq##>8xqb|BD;Jq)cofzBfY@!vHi+By2akm4kKj8C9 zJ<6&Gj(`aYe0@Cb!Aj7U-Y&LJ5~0;SYQh}#pMAVoACtw~R^Ux!6PJc~H)NM}?mJB2 zInT~ATUbeYorG3mG)TircKZ7m>qO{rp^x&3|L*bkUOaQ=j4LVmm!AJ%HNUb~e(?ma z2+~U+n_3&S=G?ci>FjJ`=_T9Q&|u(B3?^UfL>nw90H~##EM1NjG;t$I7r9loMx%YJE1<;Z6_J_Qfb@4nHYNvOp{z% zV3CwOff}#C@equUD$x9>UY}>qBiMRcSf#y(2MGvjF`SPbZRmNajIyz^Xg2J6Z8I0n zSeewLo_z-_oJipy!kLljg>YUCWsBPNv9NdQ{4*a^ajW6H|NgQ+g8wTHQPOeVJj-{a zQe6EQd|cd^=zS@yOjPNN6Rg&gn$wM!LrHh5aAoadB)db2hQS=uVK7La3;`{0PpsX! z4fv!mmUm9XB23dHO5IZ7xI`tZ{}xGCan8l6IJt&}axQUH)RBt%urC5NAwU|{qf`{V zJo6S4*gMc``}SgU5NY@Af0%r!0GdGO&a_|mn`nR=WwS6bmoVrrOKMP`Vhc5VcX$GV zVghT1Db;aZ6Usj-mYN`>a>KQDUiW56Z`L8sEE~pit~4NgJkN}KGT8Oe5XoNC7xNLo zTt^x%x+ZRII8m3YJ-W#uI8#WILN$iB>n66z1S*%jVR#pj&_Y(0 zFd(h9Qc*!iU=utXg1eJFv|N%Pg-6NSR(el{aSO(XHfpd6CT}}H2x<`uusne!vt3=C zZbwW`vHY5MgVgujs<)#$)Mt-0P)_qI5X5YzM+d1|z;kw?o%(p=NisSEGs8iC_ zS6@BG>x}Qs^8!XZNoWU>9vRjFV-onF;)x>*cRHxD7 zzgG9jn{fj*q8X`kfSnSnY~H2~ucf1k;2e_#1Bd#>Jow;>IC8AW(+hhhiE=A#MK+I` z&~u5&??RD{6-~>kCiJmG$CFE!q+=PQZ|Nn>gLT+oTThpg5(uk zipMCCQ+<|%4se`y=%9p6TUQH#$rf*8^!B(_SzV}Alpet3VILERNg(Mg_^90+nb3Nf zXEVu&dg;&#UM(dx)?|o}fy1fR9e(`*X2C(@d6?ZQQlf9yZmzS;SnY5~h4l~T%3dgA zu+Ln&D1_ogu!k5cZ9*YInxQv#;y0ijLhk@(DF(I5jY2pM*4LMJ+Z56+JN{fN?k3PF2f#2S~ zo_834Tgb!x06D3a36exmH~k2j3a)GNG{Ks20QP{OSiak9TmydpO?lPtw|GwaxCarr zF6pDTRD~as64WW=6TyjS0%wIF58%-cN6x=hPB~RMMLcK zA{h7xd3A^$rN(OAO#2p6=Sd&g0MSN~LQ zOS#qWwas}&V^KeeVc?=&V`GA8a&!`?FrB0}7g)g09;ptHCY}GZg1FN+?qI20@?0sx zsY`*{0Rl0p!9Pu;{>hkxz(DFe_RcEpXmS!DbqfUMlIrJALB(|m z7qkrks>g{z{pLhi!QpBpun9iD&!avr6!4x>Ca}AtQwJXr?w5L_r>F}=5us?@gd|!s zB3GzqIQvzu>mK7R>EkMy&ee{7LpUYyrLp<^3Wzl_Ai9s?;w2z29nF4LJ~kBB)Q7^!~~`3&`@Q;N9DHGl$CW(j)XooJ9xa zvTPTmg>zGv&QU02o%;_X9WmC)5H4*J(;1ztRCr%|xS0K3+U!)ZIt}Qz4)y)@<^ zy!K>e@t$gaZF`Z;2I8>;lMS|E-@wf^(LQ*=z;ogg zAq{UDPP9yHqn9PO-Kc{(2u;t|C52|$i%L!MUTdFMw%R1da`EaI5d!UQC`kj*Af0n; z)KV?dq9Pj9Ia7qQIF^ed3zjbRF6LhJQ^r*bISYV z0-zJWDyFPz38VxF&pmN-9bT_~3oPn#6-~p*Sb06p0W{LoT!TgR2|!h?OX9kkH!sWc z+KOp?qhdFZBw-kz-k7Cet@n+x-n5Sg70_8ZTD7@#r$^jVBsk836Dt_)A}&cmN2k|+ z%e$%hP`gsalu5m1TR(L)5?5Ma@3b{C8_*jZEofEEID8`dVEp7Q5IRU&uFOwbrmM%A zdw6qK4#V7;g$hv?+jJ96q{4ee=C560-;f3C+_s(FSDFdv;*HE~`TwXovmVQ`?5>|X z#XLvGkaJ}XSw-8H0UInKBpM^Z14h6@_gCPBcOL1_(|)pq1hOT%F&H7FrfIjk%I->6 z<(wJwd?W6SJMjDc_c>Y3$-HsTJ!kK=*Iv_Jd+n(@c=6Yr6V~k`zE9r#?7#m*>H7VH zq66N06)ti^g}|Zg`f%Gn`y(0-rYN+B5Rbjch%&GmZZES>r`0Yytanian=yqp4KR4A zL}3<8;b*qmk5E`ig%1DG2Ge)`wbEYRL%XW)v}P7T*+eRQtBjo5rkke-xf7r%$1-71 z$|a+r*9)x4K9dAJ+-95U&(0L~D)?B!cUIa`WrADpxJLV{uV3@qO{z^*=OK~5XS9gi zqc)Ul=vZB`6#y&B4iiZrBS}J9>EW$R<%TOy&EVwI()5#>fkec(;`5qcJ76nr42OrLpL)&+CBzW(($^cM$= zl@Jb9BFzh&)HC;TrL_FZ7_#lVJ7Aktd{Hi2e<3%@DGmJXI1rGaD+{$yrZ#KHAAR}- z2ko%07$N-y)(K@EpNWGSzo|FbQ%|cR?Ygc#=h$dBrPzM*DTW5OE$J;pQ6s#BEcJ1h zhnJ_--g7ocU*r6f2Onopdu4N{I(_-e_UYNtaFhPjE^gR#Tsc1P4Bmi($Y{KfIR*6{eg>` z#?>}q=vhXP(^)Lkq&U+1;h%Em*n^6sg8vN@7xl-DREbZCHWj9bo7C1?`CLYouxDYm zEu*jsd|NV=uu)tU3C8lw0ES9!zr(s)kgyxqL$X+s?_$v*tjS7#g-pzB2}`;E-*c4! zJPMtuA-I}e%P-7EKm}N=F=YWxg%f{Uq(GMs)?NOqJn~h%OqZ7M zH{fq<5Sb#nb;`umJ(deN?WP&T^xIIclu`DqyLIlu_iLu@Y(IEZt!(YGcH{`5zD_G* zD$6lX$^(Y=i8tZX;80bU`|k)CJY=%$I&$-yQ|aYf7bPSTih+Og_JV$RV{WIijog%y>c&^`2kU!4D>%+Z2pk`022|IYRaKRO6THAd# zK)A-eveRt8Vu&z1Ay1a66k#k76#OBfK`oK4m#lYiuvlBaVGd~&`qF8Z04RqW6A*3a z!3Eu|B?jp-&D_?bK_}0116QyT_I-R_$SXq??&2C{5RuNj zLiP2xZ`0>6ys49;5R02aohXs6m5|7*sY0wgrS0zd7!Sm4G-#iaZBr>1kI+f?b@VDg% zQ~Cr3-wG=)3$A>Nt8>dd0^!xSFWFohVaC{5>)=g2QxO4?UinbbcG#%F*}LypYU@-I z!|lEkKaHr#t(!E`(N=K`5wmSo_27%o+0y5-Iy^kauo7mLI_3qgxCcf4M43Te{`F>A zu6@jaHFCD`=zBR6lEkF8P6iBs&$t(Rid1JWo>gai@2c%b_p0e4>*sO77FO?8`_I1W z9B~e1cXILc_5b-Fe_(#5o(LkBbh2pp%% zm!Jjpb`UrhWiskQsQ0Yey7y7FvHOH6OU&702i;oH=%Avn_#=S22H3qIpzdCtW ztv`4`dP*UUSL%{`_cWtrF@W>s*Exu1{iDxwDC)|c-Rffh7p>Ey#vVi#{JVj9Gydu`T4>_nrcUqFId>`84|iaZh51%bQ-k8PsI`J zZmbsjC1Ig$-aK*D%H@~>2+=f;S{nsl{LSz2#qQ&4wfyH~v{+sl%N!yVES5yB`5)ZN z)O7Z@Wg{_(=lrM@77Pi~WD1(FWOf%^z4x8tBztUkbIejr=W5AjiICPqfdP*0R9Xz{ zMjqrn-vTZ|RTQbQ^a-y5ya=N2z^_(@qA29A%XhCYTildKSy5QhYR$FF1#2td57L3V zAFnbdQ`3zE*0CT)QnQFGS8(R`!|Vo?JG3YkyivjribkHM6_Z{~+2)yLR>5=T-JP)w zk0aheivmpFo;?&+yyTm7u#6ZHo=IP6ZTYP(TQt#%EVCuj3g^#w8n9kZ0vfb3ke0RU z%miWG{j0xXOoXXJ559QHc0^3Xbok)*usV2u&>HIcjc)$%XgXa1FA5EMkqyQM%hZx_ z|M@=}jYnUw3d0ayYs`iU7~Oom+?0hizE%cEOof5O4`d4A_1;~-uQH-9aUD!_ z0-=mZ3&48?*r<+aC9a#2xv=Jd!A|cbzOz7!Fc-p0d=&jd2?6)`B1L3lV{+~w+p9UJSPOsv241|;>_ce+t5RUC^jB7 zeeW@Sf~B?UHDe<^j-JTc57Q&CBr3QAM9Ih!Wxo5z2i2YX583eJ6Xr@WgMrYkauj|h ztvG8$0pv#{>ilk3N=KBC@6+nGe^_Y8d-KY>A%nj-Jk{{{4QE@vrO$J>8qcqxq$tVi zC)M$ruUn3NF)QSY!Iyvej{y8(>Pbj-ad81Ciod$}9S=xh&BGMof=4t@2%*Q7*(|yl zv;B_mtfQ9DiWa7pCLG4o)XG3x3NNj)qxi*V#`{Dda)cPK-ML$bAuSTjTR^KV%be*+ z$WT()AMqhsVK7sg>906mqBpBGUSYh%OIW-vL<)g;Mn~Eaeb+eeG5^QaeV(S|39u1H z>JTOOJAz^PjewX&;j)e;Oc}Qe$*`4iep1$9XY?n|s}q(gEFtK& zVa+9uDwy<>5^Z)txjJRbA$W4<reId(x8vAu(<4 z(_w~yGqfhi1RY+G(W{c+A-BYa0C<|xN2FC0j7`Qzpc;8_kML6+1OqIwcqgvG9*!SV zMPehZCwU_@(hQhxf*_q#kVQI_uH;iT66pbnd`nzHj}dTQ9f~AL)+=TCn{*1AO6wq9gr53Ye=WDdB(U^JV7NYVXhVAOu?#;+!?y}S1@qnHPa5E) zEMY_t%qInk@KF$WD7aEYx(0m8mr~~SZT|9AN-P4E$NaH$;dxnx(L06AI+$Oe<%_?$ zF(v7+cCJV~IpvHO#w+aa`PwLyaJ1~%90MR?*XK-@ZAPxww(qm5@g4K<1`&P*+_IF2 z08qhHehnym>7O4}I}aYy`QD(FrzM~j(E!_Fmj_@Q_?B+{$X)8s?Bc;08$;lIEV4$|$5k+yOME zzv4kM;^gsX9ug}21}_Uvt0dzTYAl=Qt6#E2*7-saewihq&47&HnI#Vmps{7eIrg%Jg&at_#L zP?qmveffsI;RW~?7tNw;YJrUJN?GE}Z_3lPY=leNPN8x7hYD;hSji+INtxD7`XFHM zn5a5ps)(~@0~b6?YlNvn@s*uhjH<%CzoetUMmu^d1?LK}`F$aW*8AB3m#C`DkMRm>Gtx^B|7yJAByJl54+S>;Q;avab z@-r5@e>}^{vz#f2>&`CW?0D!vOFr<-JJ=zD-dJkt6cf%YCKW8opfZ_{ zMBK&=A~CRm!vmS+{3qc8CN)#og=uvoZ24h*6@a?+5?F-7G~^XmUN#CKg``1R8S&${ zz?J#@5)l9WX+8ZRE{ZA|l5+j+Pkxz+XZ{rk|1okZ#ef0W>@EWTiX4~$SmZH#BP&;Q z>bICivas<4rQ(Qf`n9u+jR;4Vuc)ZW^#N3TQXu3LP6XKf}BW)d~(Y$}bi31!5F~9pb`Ia|! zIaKLc%ei>%>FviiuYUcRaMg|W_mFFUu(!hjJ=O-UP}=bd=jpNay=aPg#Y zCpxB6O`ZL%SLyl^7wo9Jev^cEMWGaMVHFpMZ|k74nwYB?2`~^oACXhpNK}Lh+@**0 zE@^m9T_W(L39Wcf?!fb}AL*Ze!U|9*U^<_N2ISygxbo3UI{BN|Nu2unfOM8q^2*x+ zv+%pXQ<2>4?_lpJhut{c27uI;GBf}xF8S=UT%VWI!5;qB->nYcW1Z>Cx+*koR&Ws} zfgSiBFT|Q4=>6k&Ol4>NI;;Oq=r6W8(!v=U*3WcloohPeK0z2;S2p>^&2m}r{2Gh+ zhHNz?KJdmm*$)}gZ*}l`|HVs%fL7!qJc~ZZQ?FM2)0b_|keSfEVB^rUe=MzjRsC?> zc4*xntg`!E_hp^!&7g9f)_@tB=QNcPC}CBQbP-LE)a`*R3P^ldkayJ|S`&eD9!#`X zLdYD5sNlnzRITZpDVVcZjxkork#~hoCZIXwFARlj+*?)=3a1Z97#VGh-BzavmrRzy zB;;dhx?n@<(PyWk2sf`{#T8Ttn$u|ktWqc3%6(dd2t2q_PWdS8ZV9TpqxCP=TbBpg zmk()ek$lz&Rk7%lsq#q^g*Af2H_reQxKS?hi+gBlok<%q7cxLY6$luRh-`d{Kr8q@ zD+zcm&X%Jhnx=kV$}aCj*xzOZWN-@E_}#P$Q7~X74TuWYdwDkI^x{KSkY*h@zXM8| ziWucde_Pc4$w9S!|6$c#dd%kH9B9OVue3Hpp^>=P{Y7~0L9MP{brX&4Cx4GUp1(z? zU93kfU~)r>(8i)DN7-=JfF1qoD^3q1)#}cDT&i-6#&^+APS|oKDaw2H<`vN{)~Vm! zjq7FbX)?NLot+#_dfbn1uYXtYKm1{Z)5Z1T#p(KF(EkU3a4#cPkBqa_v`@zdZ!0Z< zllWLvi0&vLPzpq>o?Gcy$q{q>(|N0j@3SV2RwD#KQ6x^PN=p#I#0ZV3pt~aSB1D%- z-dl=NVh+aw%X#Pu}-!M z`M7_TgNdv=hnOxC_OKg;Q@qMZK6IepWFP>nQn%81cd{cv3-BXL%C#I@7V$4Fg4T}6 z5H$3i3|8TN$A7*RLcSGBZ>$^No(5b5i*JnxxRm#KoQymre=!c`6RyG}O}NWn3-DhI zThj6v;mdDe>b^*PaY+bVqW}#);6olagE(YY%08puS!87ncxVy!gNzzF^=NpykKyZ9 zyH9_gt!baZXgcf2kmEDL*AR+a_|0#>o%1)L^SnhTe>8lTiKKcjz7t2klb7#Y;LhV1 zyfKp<$0)`s(^jN;rrYqHC?NIrtQQUAh+x1av%J^YT9r9QF?hW>_C`C{n~n$$u_EU8 zPwQzXDdpyDZwIYe?lCgXB(K(Gzf1IrA$lq;!*y%sVY*vhmfa_0u2xDjdCEk`vc~J!J6;R+bD;BlX_|b9YSZ+Q56OIs|?@~gR7E}r*YYQuCW=gW61)MsqO-cxrmH;1vdC)wWLv0hBD4* z(UzF@KEKW+OVZ6RaeUnSw=K?rLavrp`p=*5m{+ROjGg^Hdmn9aoELj0b~+P;JpB&| z3fEj==3cPb3yBC+aRq8(*g-;pykwTHPibKq#LBy*mXIc-@1Owa!`ct&vK5TNQ<#|) zv|5EZHmzwUsiqSU-TmBXiPIX~ZdATRX(4hfa(;(&X+DcmII~n?hd2nA(olSTl#u#4 zSfzlMPA|{MF4MIX*Knztc~pMWrJl*JVA%pn1@D1d=l41P zYoVpGyo?fB4nO1Cz|%}@B(LwoJ4V>uq5g_>H10KQ!Ex(IVn#Q!u$8@`74aa^)rY@b zy?gye>x|MD{H%L$A&d1@u3XnM?sK*aF4OwGFW7l9x*SgixFGe-p#Dv^h3_xcaBbvr<}aIb#w6c z_X9tr+zxiSbcPs9V0RdRaVGT@qo%q{3W)+y&H&Up*aCz#c`nlo(Q0914XA+D-qnQ) zguA)}CifBgAS@FRH14(Vx-+p1B13s?6d=M!-N+iDDppKa$&fILLep5>SvgV!H_SE< z1an&$SEt!pXyq01v>4zyW7$x-ajVi&)%~X)f~!?cOA~=EOt5Y$S6USCwv4z*dn^yAa?v=qxaV0gs z)#cI}6rzz7e8Z~biDL1}{QjXBzTl(3xi4~Uf&z=DJmV>ktb0;~_232#Rc4LhIm?@= z3YULOT;mRG>)@sdQ~Hft55FM1`YnB3N7gBjv?WLV7kVNM;KgxpxL8J^Hts#d)jubX z>ymuyC8k`$C#!W3nlk4`5EEvh8ys5LV6Qg9zNTxGTw{5|+&!naoW6RUzVRm0^xarw zo^hVx)gkXsCo|nab$kByyB36nD*wDYy1>n8abgte!NzPZX3<)^0kYO^fe035fu7b1 zr9mKELxDJ>fkgq}J4nkg{a^{`Zy7HULOYNx?>z`oCh3|fsKv*JsRF5C$o05OJo4x@ zNAZPZgXO@WLSg02lg`?Qd(uSl5OlQD_pY^8D5DgO%O#^Dgrz?AJxagGk!R|}JKv}8 z!fzEif(<;aW#I9h{zP3*(YLxW7->;_Z`p+ozLR#+1kj}8!@abK5K{*&tIEe$-lbg9 zh)>C9`f^|B)8ON`N+fImaurum`jW@rmSyGYG*L)@%NO38t|+I!<+T=?Z}38-IU>$$`wfVqm=_w$24j(UF;{mw8pJMd#Md zJmBCW_9ClWPtdRVLK)J?Ji$#^$Q+Xw-E@12?TMP5{Zl>C$a~Lebo%@C@jmmuI9Qb< z5)2_3Bx<$BEslVoV@~jAruWau66JH^R=ekDH~cTB9nd02EMByd-?FoDd#uPBM}@cvoj3RZ$9k--dYh|NPO#Lg?4> zBOPJ!5J!I(d?XO=fEvVuUXM+(5qfbh9q;05iFn7B1*9_&SNBQMPvM!an6$`mh_29> zKNcFmiDFT%t%&tV$K5i(F^U2FW{kpjDw9H%Rx9}wZa?JlLwOWK6-#{zjiDELrKwj0 zR|U=(OHu4nYvC4H(mixgBIJ?uA%B#jFbL{$@!ImekFxNfD4KbS5lXq-$DsM%=fX6< z<#6LVk-o<|5bd-xo^c}TP;l0ATLAsc!5J2Psao23S{<^N7D?h}1z%yx!h#uiK`#cL zUF4*fu(XR#x2Yo$zpQ4c4i14l9KREhgMv zvt#@`Gr(KORmQ}i_vN`;$zotfbVj(^9LV`edp!KD>6rOe95+j-m=WiGIy6qL7&2<@ zF~@3{;|>(x)CIeohDy{8p&wVPHyoo(<=AB68lF%-}! zk4nLFeP+i-Y>nLeDFcHDOk6k8HcFokzv*j%ODv?tyNq~y%w#Zkv$bnR}i^jXPhp4TW8Y*N7ctflV%iBDm0g9yTZ$+^&1RmaTXRCFkFf!QR-(# z;WNKY<4<4cim>n^JMWo>S5eTECtk%T7Lxc~jE7Jbf zf2N)h{Nz*Pg(GLBpSNk!fQqRNpRMu9+?!y_20PlVLr0T7*^A7tf%z!_e z3%0L^?CHF^arb(9albq2v@cowG?`g+c`Z{3+Y<%}Z?eu?i-~-&SjMpdn|qdVQgfUB z?2QUyZUH3I(=r|AG&K%~EWmBUTaRG!e> z0@;->fE6eR?elEYL)k@mEKS7&e+@^Gfom)(g_lq!-`;~m+#Rc2)5p%TG|DBuMLNl+l53obLMKg=mU^2^p2U8bJs^NZ zLAs0nw#+=YEPjAG-_+5<`0dPS&sDi*w!#VmX1&TKCz2|(8WEXVUf&}8x}7r+msk_- z72(!klB$#iJz&se$R-Soi7c=yyyx6sv*?M)ZEbLc%cuUbWz?uzOV^@LnXc5MGz9Xf7!jg8GcR+(dNKfE7x*Yx;}jnhb1J)lxUFq6*Uzv-(Ut{ls=ZS_~2SfT`UAb zWTcb%N$OZg2+LhuFfzJc#AC`z$WK8btu*bDX7l;p@-y{7CgnG@pwK9o z)|On*oAe5r`R!YI9*H<8EFuQptT*v}rs0bmc|kwFWm+scHPM1+;4AQCgaeymrk{#A z6o^mxuMtrRc?cFTnrCHdHow%$WRoV;4_s8H6edU>MlaMUba$}Q==R@`cCEYl7?~nxKE1)UcwE%!SjRSi9G)u6SH3Y zH+S&%m&+nNgepN-JF+E94eeiNWtODk%b z+|f)O(Ge*^GbKoj`v{cLTgA-0U)QOJz;F^(oT96smkl$Rg;j{+TsY&q)LI%>R zV9*;`W0g_p3Pa-3%`?k8gcS?ZSPx`rjEf~4kG~kQ&%zvQiB2io)@L#vwr<(|frDIU zu5QQQ@50|v3oWwK>XrRiahu9Ek_w6|$~5b|ET)M*ybJao-x*`-l>rG6@Ww2S((fg8etZ@*fdGR84N#=7&k<8o3UBEY2>QXF0` zdD%ozms3}1c=R539yw7iNNf3ZN--+wZYKLBYY$!6EijAgf3dtNFa>L4a^ z5gsA}FsIDURXM0&ZH{z%d|($vmq`I(2MG2>b*XDP_E_z=LmPNjm-NCY7O~u0VGrdg z0t-3$trbY;lhny?E(oDa`Q4zXKxkzHmv`QqH|Wbn1uET zxJx}qOGL|;fk|S8D}5VXB9f-H;3c}u51Ck$KdA9s!E9W#^eqrv8BBKGkqP|$Dwdh_ zY0+>i>B$G>+BIr|0+Jho@rSHdj4~`ym{H>N-82FUHDB^2zrZX=M!YDqc0ud68YEx) zwg|16z2^xy=N^Ezh(_H;^cVE)7g*74%TnqtP9!aV7%)6%d}5V61b^)3E<^93N(iP& z1C{t6*U2(4+?Xr2^jW4ujeNNV2vIaJ61tKnSdm9^mzGZe&=B`*o=xJq?CRdQ*QMs- zCV!|4@XH{iMv<`)X9ToZAULpo3%onN=|ZHB$E+gkbXd_sfoxbU->Mw_TETPgiZmo4C-OXmpjrZ@Ct}< zycDtzvJ@de4tOj>3Xa0Ej^+2iR*xF+-WIE=U&=5w&wCmS?&Hn{SCp2tQTh9t>N)f>k{H%wiSto8(-ncVSVy!ib4h<|Lc%`c1EApkq(RgarNsUAmq4Ia!Lx7Sx zvN|bGOx}>Pp-mkXlkBf6yO!l%@@kbd*ryw`HG#HWoX07qh=QxI}c>*=K(42`0VsZ|Gn#2a9QBaLGYG1uqL&#+<^0 z5cvt@m`H9xL?T&GZV)!H6Iq2qQ>Adrrx4T|o<;p*u}O#U$_}0;FMzm_i4sdC1Q0O0 zGw#NXu#B!v$$Q@wrbJQeX9`El*|!eUvdByRs7w(C?kAKxVyPuSQ-OqQ1;{1dW$L?% zBJTE6bbktdG1};;p<6EnE?b7Cc@ihs66T1TWu@Y&OXx$HW6I_!G@*U~*UIZ^Mv#22 z#in^T|Cs!ck6fgI^D4olG>^Oojy?qMQl^$xg(F|0WaJf1>15rdl>%$ci-J>TTuh=p z;4QTi63+X=!?e(p>6PdkuwvD%8;@1g`eoecxQRR)IHiL336Ow9S?#EDPzwI;l(|uJ z3%JX(tMo7Ar-lrEfn%({ys;t{Z5}2O+B(lL4(GIy0ry#^E@eO=e5olFdhsC2O216w zJc|owlx;`^Ofm^tN?4ZDqYSEC9FBDi%AFK?&a*|mS$wL{6)DJZ2y zu*{Yiu!Z;NY!0cgL>G{_rv$%DnL>Po0vSo+Y1|j@6d-E}R$2+(AP6jQWHC$2&*U;? z6n6(?Nuxz4LxcgA0!0ddo3qro%@YWqz=VO+Ry@7Lhm5o|F6e?09R-Ac&z1%gHj_yI$DpX;ioH3p<8+uCcy~8 zlh{fNmyW?0&ZOGUP%C&}Q!cj1#XJiTLNGkIQCan$vZ}E}i8i^=03Csg_5$q0?YpEQO+}dO) zxB^s>d9Jk+7hMtS$cs`A<)sh8Bg-{QgNNmoPBB(Kd0-A{?1T#|3{Dw^L|Sh%8>p~$ zp$qvMCJJIY!CIkgx>azJ^gg5ym!N1j%a3#_ZMH zlqeQKEGi}e@Z3T;30`K~@*H3(T$D69Vh}CnEA^07R)rs0*HjLIrP((D)i4jOP>T+( zo5)#`mog#C&6A3jUwP-_5LN2P7%7@d#goYts4(+f0aWg#oxJy586yeA z2tn3$sKC50eK^txn2+Tc=~Hg4u~SYYxUOOedY}->q{N^A2ll+x02JDb4|&4}6cK=l zF8YwGWoGVE4RAA*%+uf=NZ_EL*%+BdI@@A-kEnmwXYswREE;ADVjVSJM)4$Db173o zYPVcMiy7@+v7J?`XO6Ag$ zn{T(POX{lV;#Gk`;bU4$WYTjmM}(-uOX==28j0}~my3tSL_-{4a?wnBf-KCKV{lMv zIR8pStY8EHqK3x)=D7?K9e#!=5lRy%9HQw9u2>l?yd#`eG6F3j%S&Kto%jL3nuQ<> zdQ2o^tS0Y;7$r>#hz0EYlfk5I8%)Sl2l9o$!jq@~&No?LW~`MsrXsu*4}MxtOV>Wf zjp27JxkTq>Tq3@0FBP2P8d(>9sHmi~^>8pPWtx(5Esr-Tr}?cV{%*X5_mp209avln zngg&Y2OdcK2r-~3k$Z6lsu=^H{F0WcrheQeXuxY-WY`fLl|l2{iicO+r^T~A!QXVg zFNVi#Ue*!yfd(i(_jXH-00u81QXlghzD?R%V3S$g{mpxJ&dRyzHwqzcZil1a42z3W z{&265rhf3$DJq%8&BW7NCET(oUx7DU6hnN0oobOn&mcUSy1%qID!Zh&e%ec5fG+aJ z*0sz6xMBIN3Z5WR>LG0yZ{ZnAB2`mt{S9cK*#yZjfmk`=Vs!(291(eVJmCUh-j8KC^ z0b=tUgm}P90g!c)zz6XBO+JqWla6JO&1BZcd_04S(jfv4P0gav*<$D-#vKz^KK}DJ zJL6MZ6Tfdy<5ruB&8^R$L#zTlJe8k1sN z#6!6#$|?LH0(|)(k9bF-(a<3S45i*mc+9O8O&SSX^7_|%=`rdun(iPTkAg=-=AH{W36)8< z7(k)fqp8%j0Wp#HnJA&AoU8*E*jC2}kZuTa28xIL^x&^2xxRIP*UUS%ta)m&;mT@t3NiSp*Hd zP?89vRSA-jZSF~tXX1tsL4OBBy%&tQny+V=TSenx>B|)%HyP{$26Yl&+yu{BjL(dV zCLLX5mazqsa%shcq?J`=%HU%We2rL$6yXJLafwwAGHh|9@{ym<1gl&E3}&$;2U4+* z!1Y5h$qzE2izF+GLml{$y|XM&xMrb}87&ttUiwzj6GJ;|UmD&h&WM3#aTX{b=}f_U*;K_WtA1%r^#{VzhjvT%ue z-4AVr3Rhr>JQYexQd{A{VJhrKb1e`r3>D{)l6QPVHEC6RN}AL@voU7~J=1yW5CKUV zDk6>{4+Qm@VZGMXJMO7yd^J*p629k?#G*t!q=3K4_kp1jj)$=@zC!3M!*qGZxBao? z_5WfdR_UjRjm_ z8j{w?#Z$0ll|P|3un88xd2^7b$cIZ2oId0-iBJ^yrnj6HA^Y*wTR!l#w}m&%J_pKK z>R-|%9qGNMjDdAHY2fPkB{mG#l`{vc7Sq!S$BtOYXFVGpnZ`@|iJflI-O>}cSPZ)@c<&wi#3!8E>)-zf_96)ePrWw(I zlEMZtpF=bdU0hkDb4FN<7NSMyGZhpC)0r_i5kX?0rqdzz4N-K-dP~a)ykR?S8P+j` zmzOZha!KP%*;b2)0^5$Y2_4R^z+n1Fii%gKhM#+craflc7h60TTw9Ici*ST8X*Ia5 znMooZN2K@`Dh!V@!Q7+~vafhYQVE)t19;wx_aku8vbJU$QJ z;76UclRWY-V04s#<@irvm6lR`qL;pn`~#^rHVUk#6x$lAjP?^4Qf8hL=T;&Qj)gSB zE-KW3_wDNBHOHZyu(i+PCZ~d3vh^o}d2|e{Nud*W!1H4tl+(^QD(zLKqI(9+8N2dt zY|$?TpT;|>tDijDutmnisc5nmOGXRLa29a&@STPXqar98J@=9N4$wFsTU zL0+ec8-k0lBq4bq4lo5v#sY&%`P|) zr6yk~%bW77{Nz5(E>9a};e|{@G++?-3Y}$8m&`y>niMuG5V&rLA^m8&c_s?Nw#p52 z6(rL)LXn6f%3g3UZdI9`U|#uC0O%q*;S#FwoHE1%d}Ym)^Uq5k4&Lxi0Y>ywKg%m_ zn#PA#512qC4KTz@#KAWmXYSK-_|CeMGVU1_$v~u%$@5}j42*O*pPaK^UfGh1h_Cr0 zE%KXrPOLZT(UOSy<@LDw_Bng^D%B)P-A&6C!@|8TzXQBo=Sz|9J;$`25SlfIZIrw; zZQ-SK08(Ar|L8`J?_QWE*2l97vRaCTTMA!i`8Y&noKd8UmPBp*TJ6B^}- z1>&9-VoGMhNW4){`AT-CT+dxN@8rbIZS$>-~h48n0TbH2OFjh5PriU1*6fVZ76k<8x7=F}-$T~K1LAm0VE40x#TQ3JTSu@W>OYfCI zKnN_Y_!K2!ZvYlUf|+#EDwJ8hFp)U07Qx*mBDNM5VhSL&2|_8<-w+|sxoeat$x4F! zElO-&(}#R<&7vIU&m$QlcP)>5%LT7k^E@-13HijD3cAVbZGE3Kubtz#Js7Rh3Tb(T2S)a1f+|jOeEZl~$fO{_d@`1pi|K<( zTs(2K`Hj zBfh(M9<8=KpIZ^00VgGBHM}I8Uwk(%p1*^JH`d7?=1X?c!O%Q{sZE^}u#7|ttEPiW zm$LGw1}Y40AusQ=bo}5BkSWwIiRCq&=*&jVtKxc<^h9U~eJ41Q^aVFih=Pe*tThP7 z#e%-h&~+h}7{xk+MFtq9y)&lCqyRg2OE?OfbQAT`x|N7#gr0{zf&giGFlf4&wqmuI zhE>@!4AW~=PSzz71wOV?)>~TfI5f4DFe<0uOFQxKWeL`hM#Xgw8P6h*e8=i5?#dHa z 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 JPDHLkV1l_ZhN=Jn literal 0 HcmV?d00001 diff --git a/electron/compress-electron-release.sh b/electron/compress-electron-release.sh index 35e597f..bebfe2c 100755 --- a/electron/compress-electron-release.sh +++ b/electron/compress-electron-release.sh @@ -4,9 +4,7 @@ set -e -o pipefail # Compresses packaged electron apps after # ./package-electron-release.sh is done -if [ -n "$1" ]; then - GOX_OSARCH="$1" -fi +GOX_OSARCH="$@" . build-conf.sh "$GOX_OSARCH" diff --git a/electron/compress-standalone-release.sh b/electron/compress-standalone-release.sh index 4d17f40..ecddc0d 100755 --- a/electron/compress-standalone-release.sh +++ b/electron/compress-standalone-release.sh @@ -4,9 +4,7 @@ set -e -o pipefail # Compresses packaged standalone release after # ./package-standalone-release.sh is done -if [ -n "$2" ]; then - GOX_OSARCH="$1" -fi +GOX_OSARCH="$@" . build-conf.sh "$GOX_OSARCH" @@ -40,7 +38,7 @@ if [ -e "$WIN64_STL" ]; then fi echo "Zipping $WIN64_STL_ZIP" if [[ "$OSTYPE" == "linux"* ]]; then - zip -r --quiet "$WIN64_STL_ZIP" --owner=0 --group=0 "$WIN64_STL" + zip -r --quiet -X "$WIN64_STL_ZIP" "$WIN64_STL" elif [[ "$OSTYPE" == "darwin"* ]]; then zip -r --quiet "$WIN64_STL_ZIP" "$WIN64_STL" elif [[ "$OSTYPE" == "msys"* ]]; then @@ -57,7 +55,7 @@ if [ -e "$WIN32_STL" ]; then fi echo "Zipping $WIN32_STL_ZIP" if [[ "$OSTYPE" == "linux"* ]]; then - zip -r --quiet "$WIN32_STL_ZIP" --owner=0 --group=0 "$WIN32_STL" + zip -r --quiet -X "$WIN32_STL_ZIP" "$WIN32_STL" elif [[ "$OSTYPE" == "darwin"* ]]; then zip -r --quiet "$WIN32_STL_ZIP" "$WIN32_STL" elif [[ "$OSTYPE" == "msys"* ]]; then diff --git a/electron/data.db b/electron/data.db deleted file mode 100755 index b2757bbfad796cbf516d5bb4291495c9301e63e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262144 zcmeFa1z1#HyZ=3Omy*&gAs{74N-0VTC?ee@-H3z|N=ph#m(l`C3z7oT-K8|5qy_KH zIP*I^^Kjk){^x)Byyu;DU7PLKz2e@V9kbV3_gV`8_!Cee`?XQrHDu7g3IF`ZMacg{ zcUX{rT!!q&A^U;uD?+i1i_mPK(GhzD0R#aA0R#aA0R#aA0R#aA0R#aA0R#aA0R(~n z00Kx58=w_;c=dl2NPKAhe*&WSA2yjWzDt5O5Bvw58Nvhv0R#aA0R#aA0R#aA0R#aA z0R#aA0R#aA0R#ak0dQYGP#^0X7QI0hJfze*W>vx`ZCVH z9&drs>bU=P9En-*hrY+c?DBq(vXZWc<%8*b)Twdt>+)eDOW~K%`8D_(v;e>WG#MQD z6l+SR7oYH_QC67VHrr+TD3oU5$dSGO`s+j8^TSW10ovxn#_@$iQ%{v+imXiX_+DGe z*buV*N$f`i$>o?kRDI&}zHVL|%#&&5-BNm=&-88;u%$95R~;NwMw5<@X7AR6jYERu zcRMh|v&;X$!a?$-MiOxJ3XH13l3C9P=R ze-Hq8zIasv?+|Dv2EVSI<-JzDDgU5~{wnt}T8&oc73cl$)M&-oiRcQV$hkDY7Ozip zKN1AOP>JtLo}bI>Js87XCV&)%Rgsb997u-E>VSy<#vO~4^+J=_jp+2IxWBbT)5(87Vqsvx6QVn zY$V|xfBEkG9bI1$G`rYwZfLV5uD!<=R{t)y{z`L-VnGLu=cC5xspl3JqcWUfBOgg0 z+=g6MC~0_C1c1|%NEN8CEB6tLwQzMAjhi4dRdNx6!lmcWJqNjJaCi7TRMI6oQCF?{ z=|4Ppt2h7XvcB8wA1` zgUv%SE>^tJ1L1OjDF(_~*AT(a7Z!_=#&6=RNt{U-(tQ2$&Aa$Ac5q@=@;?OO;fG!(qKO8{q*o18 zw`VU4MO`9q<}h!MiC1R+orfnaEZ~bWbm9kM@afgfu34{-IOp=`2Cf9WGMP|7hJ7I5 z;fG!(5`2_b3H1s->FR@;JOY%8i%#z^d;Yk@<1?O`)oRX(!ww+_eJ{d$e;!HBr{WK} zMEyV6z{3x{Oe8w@@keEvS$j)#nJ@iHth`{t<8I5DATre_Lb-jL2`fGO&piiyy5YSA zj=txV&wwv$!vYfY7wpeX0_QJ@UivGt%ze!dO|$)(v%)AcYr^>p6Fzp@3`j(%dhe-E zd|7FCGTU1_*ljq_iqEyg*|HePJ3WTItl@i()K0%b)}Jm$GOj7L$Uel;?n+j>5#u@< zbxG)Tbu{op1so_iuu0oxqA?Pz?pCZg9IVT8MoYz{Zzt=NKVzEHiTQqFeYthc`IwhL<<9AN((rh4MItE`l{9xoe|F0Nw0t0eU5VUoD%%QZVgb+=z^y;j?RMeo+(ufic!K-FP(6PeBQ+6 z;LL4e&nbRculpXoYbQ3&2>q*I$4_@RV}IH&_Gnt&IrsbsPi@>{C^zGVErBnyZ(G-= zYw{bdj03AA{BC{uG(FRnbmvcO++&6AgLv1?1#2Wdty=En4|Q{$|Mo!qb5p_j2P<

xIMYefumuZh!^txr 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 diff --git a/electron/install-node-modules.sh b/electron/install-node-modules.sh index 91588f9..e3166ef 100755 --- a/electron/install-node-modules.sh +++ b/electron/install-node-modules.sh @@ -2,13 +2,14 @@ set -e -o pipefail # installs the node modules for the skycoin electron app -# NOT for the electron build process +# and for the electron build process SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" pushd "$SCRIPTDIR" >/dev/null +npm install cd src/ -yarn +npm install popd >/dev/null diff --git a/electron/npm-debug.log b/electron/npm-debug.log new file mode 100755 index 0000000..b6b004d --- /dev/null +++ b/electron/npm-debug.log @@ -0,0 +1,45 @@ +0 info it worked if it ends with ok +1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'run', 'dist-win' ] +2 info using npm@3.10.10 +3 info using node@v6.14.1 +4 verbose run-script [ 'predist-win', 'dist-win', 'postdist-win' ] +5 info lifecycle solarbankerscoin@0.24.1~predist-win: solarbankerscoin@0.24.1 +6 silly lifecycle solarbankerscoin@0.24.1~predist-win: no script for predist-win, continuing +7 info lifecycle solarbankerscoin@0.24.1~dist-win: solarbankerscoin@0.24.1 +8 verbose lifecycle solarbankerscoin@0.24.1~dist-win: unsafe-perm in lifecycle true +9 verbose lifecycle solarbankerscoin@0.24.1~dist-win: PATH: /usr/lib/node_modules/npm/bin/node-gyp-bin:/root/go/src/SolarBankersCoin_24.0/electron/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games +10 verbose lifecycle solarbankerscoin@0.24.1~dist-win: CWD: /root/go/src/SolarBankersCoin_24.0/electron +11 silly lifecycle solarbankerscoin@0.24.1~dist-win: Args: [ '-c', 'build -w --x64 --ia32 -p=never' ] +12 silly lifecycle solarbankerscoin@0.24.1~dist-win: Returned: code: 1 signal: null +13 info lifecycle solarbankerscoin@0.24.1~dist-win: Failed to exec dist-win script +14 verbose stack Error: solarbankerscoin@0.24.1 dist-win: `build -w --x64 --ia32 -p=never` +14 verbose stack Exit status 1 +14 verbose stack at EventEmitter. (/usr/lib/node_modules/npm/lib/utils/lifecycle.js:255:16) +14 verbose stack at emitTwo (events.js:106:13) +14 verbose stack at EventEmitter.emit (events.js:191:7) +14 verbose stack at ChildProcess. (/usr/lib/node_modules/npm/lib/utils/spawn.js:40:14) +14 verbose stack at emitTwo (events.js:106:13) +14 verbose stack at ChildProcess.emit (events.js:191:7) +14 verbose stack at maybeClose (internal/child_process.js:920:16) +14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5) +15 verbose pkgid solarbankerscoin@0.24.1 +16 verbose cwd /root/go/src/SolarBankersCoin_24.0/electron +17 error Linux 4.15.12-x86_64-linode105 +18 error argv "/usr/bin/node" "/usr/bin/npm" "run" "dist-win" +19 error node v6.14.1 +20 error npm v3.10.10 +21 error code ELIFECYCLE +22 error solarbankerscoin@0.24.1 dist-win: `build -w --x64 --ia32 -p=never` +22 error Exit status 1 +23 error Failed at the solarbankerscoin@0.24.1 dist-win script 'build -w --x64 --ia32 -p=never'. +23 error Make sure you have the latest version of node.js and npm installed. +23 error If you do, this is most likely a problem with the solarbankerscoin package, +23 error not with npm itself. +23 error Tell the author that this fails on your system: +23 error build -w --x64 --ia32 -p=never +23 error You can get information on how to open an issue for this project with: +23 error npm bugs solarbankerscoin +23 error Or if that isn't available, you can get their info via: +23 error npm owner ls solarbankerscoin +23 error There is likely additional logging output above. +24 verbose exit [ 1, true ] diff --git a/electron/package-electron-release.sh b/electron/package-electron-release.sh index 708cd74..4323743 100755 --- a/electron/package-electron-release.sh +++ b/electron/package-electron-release.sh @@ -4,9 +4,7 @@ set -e -o pipefail # Copies gox-compiled binaries and compiled GUI assets # into an electron package -if [ -n "$1" ]; then - GOX_OSARCH="$1" -fi +GOX_OSARCH="$@" . build-conf.sh "$GOX_OSARCH" diff --git a/electron/package-lock.json b/electron/package-lock.json new file mode 100755 index 0000000..044865c --- /dev/null +++ b/electron/package-lock.json @@ -0,0 +1,2780 @@ +{ + "name": "solarbankerscoin", + "version": "0.24.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "7zip-bin": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-3.1.0.tgz", + "integrity": "sha1-cIFMa21E/vi3S+b8ZNOXei7/WaU=", + "dev": true, + "requires": { + "7zip-bin-linux": "1.3.1", + "7zip-bin-mac": "1.0.1", + "7zip-bin-win": "2.2.0" + } + }, + "7zip-bin-linux": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/7zip-bin-linux/-/7zip-bin-linux-1.3.1.tgz", + "integrity": "sha1-SFbbGrG/W27oRE+T9aitcURtANU=", + "dev": true, + "optional": true + }, + "7zip-bin-mac": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/7zip-bin-mac/-/7zip-bin-mac-1.0.1.tgz", + "integrity": "sha1-Pmh3i78JJq3GgVlCcHRQXUdVXAI=", + "dev": true, + "optional": true + }, + "7zip-bin-win": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/7zip-bin-win/-/7zip-bin-win-2.2.0.tgz", + "integrity": "sha512-uPHXapEmUtlUKTBx4asWMlxtFUWXzEY0KVEgU7QKhgO2LJzzM3kYxM6yOyUZTtYE6mhK4dDn3FDut9SCQWHzgg==", + "dev": true, + "optional": true + }, + "@types/node": { + "version": "8.10.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.21.tgz", + "integrity": "sha512-87XkD9qDXm8fIax+5y7drx84cXsu34ZZqfB7Cial3Q/2lxSoJ/+DRaWckkCbxP41wFSIrrb939VhzaNxj4eY1w==", + "dev": true + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "requires": { + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } + }, + "app-builder-bin": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-1.8.6.tgz", + "integrity": "sha1-hWBOzpwbY+0EN6vpLdr0HIjD8uQ=", + "dev": true, + "requires": { + "app-builder-bin-linux": "1.8.6", + "app-builder-bin-mac": "1.8.6", + "app-builder-bin-win": "1.8.6" + } + }, + "app-builder-bin-linux": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-linux/-/app-builder-bin-linux-1.8.6.tgz", + "integrity": "sha1-gRdrvLKSmVipDyGEr7VN+QtyEKM=", + "dev": true, + "optional": true + }, + "app-builder-bin-mac": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-mac/-/app-builder-bin-mac-1.8.6.tgz", + "integrity": "sha512-lWIpI2zmOmQ4JCp1IGxK6KngKAEN6QO9nu5k8h+ZzMxHBTCk8+kbBTE+R36BSRGX9q/4FhHBpYGXHVj+N9xOXg==", + "dev": true, + "optional": true + }, + "app-builder-bin-win": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-win/-/app-builder-bin-win-1.8.6.tgz", + "integrity": "sha512-nlceArzkRtWgqNoif6OFKaAKNNZ3uZuiG+9UkpOPLf/EDoYdeAq4YdvKWaQx1RHsNNfQTx0s/IODvlD0AdUmPA==", + "dev": true, + "optional": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "async-exit-hook": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", + "integrity": "sha1-i9iwJLDsmxwBzMua+dspvXF9+vM=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base64-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz", + "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=", + "dev": true + }, + "bluebird-lst": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.5.tgz", + "integrity": "sha1-vryDAmt+kqcocaPcWZ4hnL+wAqk=", + "dev": true, + "requires": { + "bluebird": "3.5.1" + } + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha1-VcbDmouljZxhrSLNh3Uy3rZlogs=", + "dev": true, + "requires": { + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.4.1", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", + "dev": true + }, + "builder-util": { + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-5.8.1.tgz", + "integrity": "sha1-jdlTwBi3p7KlbDQnssYu93ySWsc=", + "dev": true, + "requires": { + "7zip-bin": "3.1.0", + "app-builder-bin": "1.8.6", + "bluebird-lst": "1.0.5", + "builder-util-runtime": "4.2.1", + "chalk": "2.4.1", + "debug": "3.1.0", + "fs-extra-p": "4.6.1", + "is-ci": "1.1.0", + "js-yaml": "3.12.0", + "lazy-val": "1.0.3", + "semver": "5.5.0", + "source-map-support": "0.5.6", + "stat-mode": "0.2.2", + "temp-file": "3.1.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "builder-util-runtime": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-4.2.1.tgz", + "integrity": "sha1-DKo1jxMx1waAAQFBylkZUrabNbw=", + "dev": true, + "requires": { + "bluebird-lst": "1.0.5", + "debug": "3.1.0", + "fs-extra-p": "4.6.1", + "sax": "1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + } + }, + "capture-stack-trace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", + "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", + "dev": true + }, + "ci-info": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", + "integrity": "sha1-cQGTJkuwXHe4yQ0C9aryIhamZ7I=", + "dev": true + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=", + "dev": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "color-convert": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", + "integrity": "sha1-SYgbj7pn3xKpa98/VsCqueeRMUc=", + "dev": true, + "requires": { + "color-name": "1.1.1" + } + }, + "color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", + "dev": true + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", + "dev": true, + "requires": { + "buffer-from": "1.1.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha1-xvJd767vJt8S3TNBSwAf6BpUP48=", + "dev": true, + "requires": { + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, + "requires": { + "capture-stack-trace": "1.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw=", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "dmg-builder": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-4.1.8.tgz", + "integrity": "sha1-NlBIpKvz9Omk2PsDMc57oTRY9L0=", + "dev": true, + "requires": { + "bluebird-lst": "1.0.5", + "builder-util": "5.8.1", + "electron-builder-lib": "20.13.3", + "fs-extra-p": "4.6.1", + "iconv-lite": "0.4.23", + "js-yaml": "3.12.0", + "parse-color": "1.0.0", + "sanitize-filename": "1.6.1" + } + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=", + "dev": true, + "requires": { + "is-obj": "1.0.1" + } + }, + "dotenv": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", + "integrity": "sha1-pTF0Wb09eauIz/bkQFemo/ux/O8=", + "dev": true + }, + "dotenv-expand": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz", + "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=", + "dev": true + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "ejs": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", + "integrity": "sha1-SY7A1JVlWrxvI81hho2SZGQHGqA=", + "dev": true + }, + "electron": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-2.0.0.tgz", + "integrity": "sha1-6V3H86CJpSuMKlLHyeECTbDI1G4=", + "dev": true, + "requires": { + "@types/node": "8.10.21", + "electron-download": "3.3.0", + "extract-zip": "1.6.7" + } + }, + "electron-builder": { + "version": "20.13.3", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.13.3.tgz", + "integrity": "sha1-70Gcmipi+q9dXl4ZaLGLJBi+/jY=", + "dev": true, + "requires": { + "bluebird-lst": "1.0.5", + "builder-util": "5.8.1", + "builder-util-runtime": "4.2.1", + "chalk": "2.4.1", + "dmg-builder": "4.1.8", + "electron-builder-lib": "20.13.3", + "electron-download-tf": "4.3.4", + "fs-extra-p": "4.6.1", + "is-ci": "1.1.0", + "lazy-val": "1.0.3", + "read-config-file": "3.0.1", + "sanitize-filename": "1.6.1", + "update-notifier": "2.5.0", + "yargs": "11.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "electron-download-tf": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/electron-download-tf/-/electron-download-tf-4.3.4.tgz", + "integrity": "sha1-sDdAsohaoq0/h4T65030J/ZtUWU=", + "dev": true, + "requires": { + "debug": "3.1.0", + "env-paths": "1.0.0", + "fs-extra": "4.0.3", + "minimist": "1.2.0", + "nugget": "2.0.1", + "path-exists": "3.0.0", + "rc": "1.2.8", + "semver": "5.5.0", + "sumchecker": "2.0.2" + } + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.2" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "sumchecker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz", + "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=", + "dev": true, + "requires": { + "debug": "2.6.9" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + } + } + }, + "electron-builder-lib": { + "version": "20.13.3", + "resolved": "https://registry.npmjs.org/electron-builder-lib/-/electron-builder-lib-20.13.3.tgz", + "integrity": "sha1-H8m3lfqRMSXAcIQmoWFZ+4VLjjs=", + "dev": true, + "requires": { + "7zip-bin": "3.1.0", + "app-builder-bin": "1.8.6", + "async-exit-hook": "2.0.1", + "bluebird-lst": "1.0.5", + "builder-util": "5.8.1", + "builder-util-runtime": "4.2.1", + "chromium-pickle-js": "0.2.0", + "debug": "3.1.0", + "ejs": "2.6.1", + "electron-osx-sign": "0.4.10", + "electron-publish": "20.13.2", + "fs-extra-p": "4.6.1", + "hosted-git-info": "2.7.1", + "is-ci": "1.1.0", + "isbinaryfile": "3.0.2", + "js-yaml": "3.12.0", + "lazy-val": "1.0.3", + "minimatch": "3.0.4", + "normalize-package-data": "2.4.0", + "plist": "3.0.1", + "read-config-file": "3.0.1", + "sanitize-filename": "1.6.1", + "semver": "5.5.0", + "temp-file": "3.1.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "electron-download": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-3.3.0.tgz", + "integrity": "sha1-LP1U1pZsAZxNSa1l++Zcyc3vaMg=", + "dev": true, + "requires": { + "debug": "2.6.9", + "fs-extra": "0.30.0", + "home-path": "1.0.6", + "minimist": "1.2.0", + "nugget": "2.0.1", + "path-exists": "2.1.0", + "rc": "1.2.8", + "semver": "5.5.0", + "sumchecker": "1.3.1" + } + }, + "electron-osx-sign": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.10.tgz", + "integrity": "sha1-vk87ibKnWh3F8eckkIGrKSnKOiY=", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "compare-version": "0.1.2", + "debug": "2.6.9", + "isbinaryfile": "3.0.2", + "minimist": "1.2.0", + "plist": "2.1.0" + }, + "dependencies": { + "plist": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz", + "integrity": "sha1-V8zbeggh3yGDEhejytVOPhRqECU=", + "dev": true, + "requires": { + "base64-js": "1.2.0", + "xmlbuilder": "8.2.2", + "xmldom": "0.1.27" + } + } + } + }, + "electron-publish": { + "version": "20.13.2", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.13.2.tgz", + "integrity": "sha1-pTiAmKwX+hDQSUaH6FSKJs8VIqw=", + "dev": true, + "requires": { + "bluebird-lst": "1.0.5", + "builder-util": "5.8.1", + "builder-util-runtime": "4.2.1", + "chalk": "2.4.1", + "fs-extra-p": "4.6.1", + "lazy-val": "1.0.3", + "mime": "2.3.1" + } + }, + "env-paths": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz", + "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "es6-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha1-3EIhwrFlGHYL2MOaUtjzVvwA7Sk=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", + "dev": true + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", + "dev": true + }, + "extract-zip": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "debug": "2.6.9", + "mkdirp": "0.5.1", + "yauzl": "2.4.1" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "1.2.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.19" + } + }, + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1", + "path-is-absolute": "1.0.1", + "rimraf": "2.6.2" + } + }, + "fs-extra-p": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-4.6.1.tgz", + "integrity": "sha1-YVbgzJgJf0FfzRcClXj8QceLUJI=", + "dev": true, + "requires": { + "bluebird-lst": "1.0.5", + "fs-extra": "6.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", + "integrity": "sha1-irwSj3lG4xATXdyTuYvdtBDno0s=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.2" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "1.3.5" + } + }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.1", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "home-path": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/home-path/-/home-path-1.0.6.tgz", + "integrity": "sha1-1UncJGU4in+GZyQsWzFYjSmvKfw=", + "dev": true + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha1-l/I2l3vW4SVAiTD/bePuxigewEc=", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" + } + }, + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha1-KXhx9jvlB63Pv8pxXQzQ7thOmmM=", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-ci": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", + "integrity": "sha1-JH5BYueGDOu9rzC3dNawrH3P56U=", + "dev": true, + "requires": { + "ci-info": "1.1.3" + } + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" + } + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "isbinaryfile": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz", + "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha1-6u1lbsg0TxD1J8a/obbiJE3hZ9E=", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.1" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "4.0.1" + } + }, + "lazy-val": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.3.tgz", + "integrity": "sha1-u5eyAO8AgB2UwxfincbtOeMcXtw=", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=", + "dev": true + }, + "lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha1-oRdc80lt/IQ2wVbDNLSVWZK85pw=", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", + "dev": true, + "requires": { + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + } + }, + "mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha1-sWIcVNY7l8R9PP5/chX31kUXw2k=", + "dev": true + }, + "mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=", + "dev": true + }, + "mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha1-ceRkU3p++BwV8tudl+kT/A/2BvA=", + "dev": true, + "requires": { + "mime-db": "1.35.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", + "dev": true, + "requires": { + "hosted-git-info": "2.7.1", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "nugget": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz", + "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", + "dev": true, + "requires": { + "debug": "2.6.9", + "minimist": "1.2.0", + "pretty-bytes": "1.0.4", + "progress-stream": "1.2.0", + "request": "2.87.0", + "single-line-log": "1.1.2", + "throttleit": "0.0.2" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "requires": { + "p-try": "1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "1.3.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, + "requires": { + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.5.0" + } + }, + "parse-color": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz", + "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=", + "dev": true, + "requires": { + "color-convert": "0.5.3" + }, + "dependencies": { + "color-convert": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", + "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=", + "dev": true + } + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.2" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "plist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", + "integrity": "sha1-qbkx0XwwTokS7wujvdYYK68uH4w=", + "dev": true, + "requires": { + "base64-js": "1.3.0", + "xmlbuilder": "9.0.7", + "xmldom": "0.1.27" + }, + "dependencies": { + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha1-yrHmEY8FEJXli1KBrqjBzSK/wOM=", + "dev": true + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true + } + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "pretty-bytes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", + "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", + "dev": true, + "requires": { + "get-stdin": "4.0.1", + "meow": "3.7.0" + } + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=", + "dev": true + }, + "progress-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", + "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", + "dev": true, + "requires": { + "speedometer": "0.1.4", + "through2": "0.2.3" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=", + "dev": true + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0=", + "dev": true, + "requires": { + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + } + }, + "read-config-file": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-3.0.1.tgz", + "integrity": "sha1-MH7S4WL6VDBtCubUHpzcgpcg0qk=", + "dev": true, + "requires": { + "ajv": "6.5.2", + "ajv-keywords": "3.2.0", + "bluebird-lst": "1.0.5", + "dotenv": "5.0.1", + "dotenv-expand": "4.2.0", + "fs-extra-p": "4.6.1", + "js-yaml": "3.12.0", + "json5": "1.0.1", + "lazy-val": "1.0.3" + }, + "dependencies": { + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha1-Z4SV+bgvfMpr4kjdkvWb/14fQ2A=", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + } + }, + "registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha1-hR/UkDjuy1hpERFa+EUmDuyYPyA=", + "dev": true, + "requires": { + "rc": "1.2.8", + "safe-buffer": "5.1.2" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "1.2.8" + } + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "request": { + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.19", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", + "dev": true + }, + "sanitize-filename": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.1.tgz", + "integrity": "sha1-YS2hyWRz+gLczaktzVtKsWSmdyo=", + "dev": true, + "requires": { + "truncate-utf8-bytes": "1.0.2" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", + "dev": true + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs=", + "dev": true + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true, + "requires": { + "semver": "5.5.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "single-line-log": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", + "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", + "dev": true, + "requires": { + "string-width": "1.0.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "source-map-support": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", + "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", + "dev": true, + "requires": { + "buffer-from": "1.1.0", + "source-map": "0.6.1" + } + }, + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha1-BaW01xU6GVvJLDxCW2nzsqlSTII=", + "dev": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha1-LHrmEFbHFKW5ubKyr30xHvXHj+k=", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha1-enzShHDMbToc/m1miG9rxDDTrIc=", + "dev": true + }, + "speedometer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz", + "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", + "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "dev": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" + } + }, + "stat-mode": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", + "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "sumchecker": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-1.3.1.tgz", + "integrity": "sha1-ebs7RFbdBPGOvbwNcDodHa7FEF0=", + "dev": true, + "requires": { + "debug": "2.6.9", + "es6-promise": "4.2.4" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "temp-file": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.1.3.tgz", + "integrity": "sha1-JMFEmU8DO+HM9ncygMj38ckWkak=", + "dev": true, + "requires": { + "async-exit-hook": "2.0.1", + "bluebird-lst": "1.0.5", + "fs-extra-p": "4.6.1", + "lazy-val": "1.0.3" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "0.7.0" + } + }, + "throttleit": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", + "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=", + "dev": true + }, + "through2": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz", + "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", + "dev": true, + "requires": { + "readable-stream": "1.1.14", + "xtend": "2.1.2" + } + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dev": true, + "requires": { + "punycode": "1.4.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", + "dev": true, + "requires": { + "utf8-byte-length": "1.0.4" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "1.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "dev": true + }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true + }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha1-0HRFk+E/Fh5AassdlAi3LK0Ir/Y=", + "dev": true, + "requires": { + "boxen": "1.3.0", + "chalk": "2.4.1", + "configstore": "3.1.2", + "import-lazy": "2.1.0", + "is-ci": "1.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", + "dev": true, + "requires": { + "punycode": "2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true + } + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "1.0.4" + } + }, + "utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", + "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "requires": { + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "widest-line": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", + "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", + "dev": true, + "requires": { + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha1-H/YVdcLipOjlENb6TiQ8zhg5mas=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true + }, + "xmlbuilder": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", + "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=", + "dev": true + }, + "xmldom": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", + "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=", + "dev": true + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "dev": true, + "requires": { + "object-keys": "0.4.0" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha1-kLhpk07W6HERXqL/WLA/RyTtLXc=", + "dev": true, + "requires": { + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } + } + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "dev": true, + "requires": { + "fd-slicer": "1.0.1" + } + } + } +} diff --git a/electron/package-standalone-release.sh b/electron/package-standalone-release.sh index 596815b..ae01c4c 100755 --- a/electron/package-standalone-release.sh +++ b/electron/package-standalone-release.sh @@ -3,9 +3,7 @@ set -e -o pipefail # Builds the release without electron -if [ -n "$1" ]; then - GOX_OSARCH="$2" -fi +GOX_OSARCH="$@" echo "In package standalone release: $GOX_OSARCH" @@ -15,18 +13,6 @@ SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" pushd "$SCRIPTDIR" >/dev/null -OSX64="${STL_OUTPUT}/${OSX64_STL}" -WIN64="${STL_OUTPUT}/${WIN64_STL}" -WIN32="${STL_OUTPUT}/${WIN32_STL}" -LNX64="${STL_OUTPUT}/${LNX64_STL}" -LNX_ARM="${STL_OUTPUT}/${LNX_ARM_STL}" - -OSX64_SRC="${OSX64}/src" -WIN64_SRC="${WIN64}/src" -WIN32_SRC="${WIN32}/src" -LNX64_SRC="${LNX64}/src" -LNX_ARM_SRC="${LNX_ARM}/src" - DESTSRCS=() function copy_if_exists { @@ -63,16 +49,43 @@ function copy_if_exists { echo "Copying ${PKG_NAME} binaries" -# copy binaries -copy_if_exists "${OSX64_OUT}/${PKG_NAME}" "$OSX64" "$OSX64_SRC" -copy_if_exists "${WIN64_OUT}/${PKG_NAME}.exe" "$WIN64" "$WIN64_SRC" -copy_if_exists "${WIN32_OUT}/${PKG_NAME}.exe" "$WIN32" "$WIN32_SRC" -copy_if_exists "${LNX64_OUT}/${PKG_NAME}" "$LNX64" "$LNX64_SRC" -copy_if_exists "${LNX_ARM_OUT}/${PKG_NAME}" "$LNX_ARM" "$LNX_ARM_SRC" +# OS X +if [ ! -z "$OSX64_STL" ]; then + OSX64="${STL_OUTPUT}/${OSX64_STL}" + OSX64_SRC="${OSX64}/src" + copy_if_exists "${OSX64_OUT}/${PKG_NAME}" "$OSX64" "$OSX64_SRC" +fi + +# Linux amd64 +if [ ! -z "$LNX64_STL" ]; then + LNX64="${STL_OUTPUT}/${LNX64_STL}" + LNX64_SRC="${LNX64}/src" + copy_if_exists "${LNX64_OUT}/${PKG_NAME}" "$LNX64" "$LNX64_SRC" +fi + +# Linux arm +if [ ! -z "$LNX_ARM_STL" ]; then + LNX_ARM="${STL_OUTPUT}/${LNX_ARM_STL}" + LNX_ARM_SRC="${LNX_ARM}/src" + copy_if_exists "${LNX_ARM_OUT}/${PKG_NAME}" "$LNX_ARM" "$LNX_ARM_SRC" +fi + +# Windows amd64 +if [ ! -z "$WIN64_STL" ]; then + WIN64="${STL_OUTPUT}/${WIN64_STL}" + WIN64_SRC="${WIN64}/src" + copy_if_exists "${WIN64_OUT}/${PKG_NAME}.exe" "$WIN64" "$WIN64_SRC" +fi + +# Windows 386 +if [ ! -z "$WIN32_STL" ]; then + WIN32="${STL_OUTPUT}/${WIN32_STL}" + WIN32_SRC="${WIN32}/src" + copy_if_exists "${WIN32_OUT}/${PKG_NAME}.exe" "$WIN32" "$WIN32_SRC" +fi # Copy the source for reference # tar it with filters, move it, then untar in order to do this echo "Copying source snapshot" -./package-source.sh "${DESTSRCS[@]}" - +./package-source.sh "${DESTSRCS[@]}" \ No newline at end of file diff --git a/electron/package.json b/electron/package.json index 4c6dc66..e03148d 100755 --- a/electron/package.json +++ b/electron/package.json @@ -1,13 +1,13 @@ { "name": "solarbankerscoin", "productName": "SolarBankers Coin", - "author": "SolarBankers", + "author": "Solarbankers Coin", "main": "src/electron-main.js", - "version": "0.23.1-rc2", + "version": "0.24.1", "description": "solarbankerscoin wallet", "license": "MIT", "build": { - "appId": "org.solarbankers.solarbankers", + "appId": "org.solarbankerscoin.solarbankerscoin", "nsis": { "oneClick": false, "allowToChangeInstallationDirectory": true @@ -27,10 +27,6 @@ { "from": ".gox_output/${os}_${arch}", "to": "./resources/app" - }, - { - "from": "data.db", - "to": "./" } ] }, @@ -74,13 +70,12 @@ "dist-win": "build -w --x64 --ia32 -p=never", "dist-linux": "build -l --x64 -p=never", "dist-mac": "build -m --x64 -p=never", - "pack-mac": "build --dir -m -p=never" + "pack-mac": "build --dir -m -p=never", + "postinstall": "electron-builder install-app-deps" }, "devDependencies": { - "electron": "^1.8.0", - "electron-builder": "^19.55.0" + "electron": "2.0.0", + "electron-builder": "20.13.3" }, - "dependencies": { - "electron-log": "^2.2.9" - } + "dependencies": {} } diff --git a/electron/skycoin/current-skycoin.json b/electron/skycoin/current-skycoin.json index 9418bd3..381e17e 100755 --- a/electron/skycoin/current-skycoin.json +++ b/electron/skycoin/current-skycoin.json @@ -1 +1 @@ -versionData='{ "version": "0.23.1-rc2" }'; +versionData='{ "version": "0.24.1" }'; diff --git a/electron/src/electron-main.js b/electron/src/electron-main.js index fbb8542..0756d85 100755 --- a/electron/src/electron-main.js +++ b/electron/src/electron-main.js @@ -2,8 +2,6 @@ const { app, Menu, BrowserWindow, dialog, shell, session } = require('electron'); -var log = require('electron-log'); - const path = require('path'); const childProcess = require('child_process'); @@ -21,7 +19,6 @@ require('electron-context-menu')({}); global.eval = function() { throw new Error('bad!!'); } -const defaultURL = 'http://127.0.0.1:7220/'; let currentURL; // Force everything localhost, in case of a leak @@ -39,10 +36,10 @@ let win; var skycoin = null; function startSkycoin() { - console.log('Starting SolarBankerCoin from electron'); + console.log('Starting distributedblocks from electron'); if (skycoin) { - console.log('SolarBankerCoin already running'); + console.log('solarbankerscoinalready running'); app.emit('skycoin-ready'); return } @@ -77,13 +74,18 @@ function startSkycoin() { '-enable-seed-api=true', '-enable-wallet-api=true', '-rpc-interface=false', - "-disable-csrf=false" + '-disable-csrf=false', + '-reset-corrupt-db=true', + '-enable-gui=true', + '-web-interface-port=0' // random port assignment // will break // broken (automatically generated certs do not work): // '-web-interface-https=true', ] skycoin = childProcess.spawn(exe, args); + createWindow(); + skycoin.on('error', (e) => { dialog.showErrorBox('Failed to start solarbankerscoin', e.toString()); app.quit(); @@ -95,13 +97,15 @@ function startSkycoin() { if (currentURL) { return } + const marker = 'Starting web interface on '; - var i = data.indexOf(marker); - if (i === -1) { - return - } - currentURL = defaultURL; - app.emit('skycoin-ready', { url: currentURL }); + + data.toString().split("\n").forEach(line => { + if (line.indexOf(marker) !== -1) { + currentURL = 'http://' + line.split(marker)[1].trim(); + app.emit('skycoin-ready', { url: currentURL }); + } + }); }); skycoin.stderr.on('data', (data) => { @@ -109,23 +113,19 @@ function startSkycoin() { }); skycoin.on('close', (code) => { - // log.info('Skycoin closed'); - console.log('SolarBankerscoin closed'); + // log.info('solarbankerscoinclosed'); + console.log('solarbankerscoinclosed'); reset(); }); skycoin.on('exit', (code) => { - // log.info('Skycoin exited'); - console.log('SolarBankerscoin exited'); + // log.info(solarbankerscoinexited'); + console.log('solarbankerscoinexited'); reset(); }); } function createWindow(url) { - if (!url) { - url = defaultURL; - } - // To fix appImage doesn't show icon in dock issue. var appPath = app.getPath('exe'); var iconPath = (() => { @@ -139,13 +139,19 @@ function createWindow(url) { win = new BrowserWindow({ width: 1200, height: 900, - title: 'Skycoin', + title: 'SolarBankersCoin', icon: iconPath, nodeIntegration: false, webPreferences: { webgl: false, webaudio: false, contextIsolation: true, + webviewTag: false, + nodeIntegration: false, + nodeIntegrationInWorker: false, + allowRunningInsecureContent: false, + webSecurity: true, + plugins: false, }, }); @@ -155,14 +161,18 @@ function createWindow(url) { const ses = win.webContents.session ses.clearCache(function () { - console.log('Cleared the caching of the SolarBankerscoin wallet.'); + console.log('Cleared the caching of the solarbankerscoin wallet.'); }); ses.clearStorageData([], function() { console.log('Cleared the stored cached data'); }); - win.loadURL(url); + if (url) { + win.loadURL(url); + } else { + win.loadURL('file://' + __dirname + '/splash/index.html'); + } // Open the DevTools. // win.webContents.openDevTools(); @@ -238,7 +248,7 @@ const alreadyRunning = app.makeSingleInstance((commandLine, workingDirectory) => } win.focus(); } else { - createWindow(currentURL || defaultURL); + createWindow(currentURL); } }); @@ -255,10 +265,14 @@ let walletsFolder = null; app.on('ready', startSkycoin); app.on('skycoin-ready', (e) => { - createWindow(e.url); + if (win) { + win.loadURL(e.url); + } else { + createWindow(e.url); + } axios - .get(defaultURL + 'wallets/folderName') + .get(e.url + '/api/v1/wallets/folderName') .then(response => walletsFolder = response.data.address) .catch(() => {}); }); @@ -276,7 +290,7 @@ app.on('activate', () => { // On OS X it's common to re-create a window in the app when the // dock icon is clicked and there are no other windows open. if (win === null) { - createWindow(); + createWindow(currentURL); } }); diff --git a/electron/src/node_modules/.yarn-integrity b/electron/src/node_modules/.yarn-integrity deleted file mode 100755 index d23c664..0000000 --- a/electron/src/node_modules/.yarn-integrity +++ /dev/null @@ -1,44 +0,0 @@ -{ - "systemParams": "linux-x64-48", - "modulesFolders": [ - "node_modules" - ], - "flags": [], - "linkedModules": [], - "topLevelPatterns": [ - "axios@^0.18.0", - "electron-context-menu@^0.9.1", - "electron-debug@^1.0.1", - "electron-log@^1.2.2" - ], - "lockfileEntries": { - "axios@^0.18.0": "https://registry.yarnpkg.com/axios/-/axios-0.18.0.tgz#32d53e4851efdc0a11993b6cd000789d70c05102", - "debug@^2.6.8": "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f", - "debug@^3.1.0": "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261", - "electron-context-menu@^0.9.1": "https://registry.yarnpkg.com/electron-context-menu/-/electron-context-menu-0.9.1.tgz#ed4df20c080491c3c996abfcb363159946a38058", - "electron-debug@^1.0.1": "https://registry.yarnpkg.com/electron-debug/-/electron-debug-1.4.0.tgz#bec7005522220a9d0622153352e1bbff0f37af2e", - "electron-dl@^1.2.0": "https://registry.yarnpkg.com/electron-dl/-/electron-dl-1.10.0.tgz#f94416064056fc6f2a86ae498614c93526890af9", - "electron-is-accelerator@^0.1.0": "https://registry.yarnpkg.com/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz#509e510c26a56b55e17f863a4b04e111846ab27b", - "electron-is-dev@^0.1.1": "https://registry.yarnpkg.com/electron-is-dev/-/electron-is-dev-0.1.2.tgz#8a1043e32b3a1da1c3f553dce28ce764246167e3", - "electron-is-dev@^0.3.0": "https://registry.yarnpkg.com/electron-is-dev/-/electron-is-dev-0.3.0.tgz#14e6fda5c68e9e4ecbeff9ccf037cbd7c05c5afe", - "electron-localshortcut@^3.0.0": "https://registry.yarnpkg.com/electron-localshortcut/-/electron-localshortcut-3.0.2.tgz#df9cebe64140f4e58b680aacb2bd6278ae38ee61", - "electron-log@^1.2.2": "https://registry.yarnpkg.com/electron-log/-/electron-log-1.3.0.tgz#d05544114b971a16c86739c79d0d236103ad0a16", - "ext-list@^2.0.0": "https://registry.yarnpkg.com/ext-list/-/ext-list-2.2.2.tgz#0b98e64ed82f5acf0f2931babf69212ef52ddd37", - "ext-name@^5.0.0": "https://registry.yarnpkg.com/ext-name/-/ext-name-5.0.0.tgz#70781981d183ee15d13993c8822045c506c8f0a6", - "follow-redirects@^1.3.0": "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.4.1.tgz#d8120f4518190f55aac65bb6fc7b85fcd666d6aa", - "is-buffer@^1.1.5": "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be", - "is-plain-obj@^1.0.0": "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e", - "keyboardevent-from-electron-accelerator@^0.7.0": "https://registry.yarnpkg.com/keyboardevent-from-electron-accelerator/-/keyboardevent-from-electron-accelerator-0.7.1.tgz#aedafa5cc9a3a5f3f2b7c88b2ffd4057568118e7", - "keyboardevents-areequal@^0.2.1": "https://registry.yarnpkg.com/keyboardevents-areequal/-/keyboardevents-areequal-0.2.2.tgz#88191ec738ce9f7591c25e9056de928b40277194", - "mime-db@^1.28.0": "https://registry.yarnpkg.com/mime-db/-/mime-db-1.32.0.tgz#485b3848b01a3cda5f968b4882c0771e58e09414", - "modify-filename@^1.1.0": "https://registry.yarnpkg.com/modify-filename/-/modify-filename-1.1.0.tgz#9a2dec83806fbb2d975f22beec859ca26b393aa1", - "ms@2.0.0": "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8", - "path-exists@^3.0.0": "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515", - "pupa@^1.0.0": "https://registry.yarnpkg.com/pupa/-/pupa-1.0.0.tgz#9a9568a5af7e657b8462a6e9d5328743560ceff6", - "sort-keys-length@^1.0.0": "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188", - "sort-keys@^1.0.0": "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad", - "unused-filename@^1.0.0": "https://registry.yarnpkg.com/unused-filename/-/unused-filename-1.0.0.tgz#d340880f71ae2115ebaa1325bef05cc6684469c6" - }, - "files": [], - "artifacts": {} -} \ No newline at end of file diff --git a/electron/src/node_modules/axios/CHANGELOG.md b/electron/src/node_modules/axios/CHANGELOG.md deleted file mode 100755 index d336ec1..0000000 --- a/electron/src/node_modules/axios/CHANGELOG.md +++ /dev/null @@ -1,245 +0,0 @@ -# Changelog - -### 0.18.0 (Feb 19, 2018) - -- Adding support for UNIX Sockets when running with Node.js ([#1070](https://github.com/axios/axios/pull/1070)) -- Fixing typings ([#1177](https://github.com/axios/axios/pull/1177)): - - AxiosRequestConfig.proxy: allows type false - - AxiosProxyConfig: added auth field -- Adding function signature in AxiosInstance interface so AxiosInstance can be invoked ([#1192](https://github.com/axios/axios/pull/1192), [#1254](https://github.com/axios/axios/pull/1254)) -- Allowing maxContentLength to pass through to redirected calls as maxBodyLength in follow-redirects config ([#1287](https://github.com/axios/axios/pull/1287)) -- Fixing configuration when using an instance - method can now be set ([#1342](https://github.com/axios/axios/pull/1342)) - - -### 0.17.1 (Nov 11, 2017) - -- Fixing issue with web workers ([#1160](https://github.com/axios/axios/pull/1160)) -- Allowing overriding transport ([#1080](https://github.com/axios/axios/pull/1080)) -- Updating TypeScript typings ([#1165](https://github.com/axios/axios/pull/1165), [#1125](https://github.com/axios/axios/pull/1125), [#1131](https://github.com/axios/axios/pull/1131)) - -### 0.17.0 (Oct 21, 2017) - -- **BREAKING** Fixing issue with `baseURL` and interceptors ([#950](https://github.com/axios/axios/pull/950)) -- **BREAKING** Improving handing of duplicate headers ([#874](https://github.com/axios/axios/pull/874)) -- Adding support for disabling proxies ([#691](https://github.com/axios/axios/pull/691)) -- Updating TypeScript typings with generic type parameters ([#1061](https://github.com/axios/axios/pull/1061)) - -### 0.16.2 (Jun 3, 2017) - -- Fixing issue with including `buffer` in bundle ([#887](https://github.com/axios/axios/pull/887)) -- Including underlying request in errors ([#830](https://github.com/axios/axios/pull/830)) -- Convert `method` to lowercase ([#930](https://github.com/axios/axios/pull/930)) - -### 0.16.1 (Apr 8, 2017) - -- Improving HTTP adapter to return last request in case of redirects ([#828](https://github.com/axios/axios/pull/828)) -- Updating `follow-redirects` dependency ([#829](https://github.com/axios/axios/pull/829)) -- Adding support for passing `Buffer` in node ([#773](https://github.com/axios/axios/pull/773)) - -### 0.16.0 (Mar 31, 2017) - -- **BREAKING** Removing `Promise` from axios typings in favor of built-in type declarations ([#480](https://github.com/axios/axios/issues/480)) -- Adding `options` shortcut method ([#461](https://github.com/axios/axios/pull/461)) -- Fixing issue with using `responseType: 'json'` in browsers incompatible with XHR Level 2 ([#654](https://github.com/axios/axios/pull/654)) -- Improving React Native detection ([#731](https://github.com/axios/axios/pull/731)) -- Fixing `combineURLs` to support empty `relativeURL` ([#581](https://github.com/axios/axios/pull/581)) -- Removing `PROTECTION_PREFIX` support ([#561](https://github.com/axios/axios/pull/561)) - -### 0.15.3 (Nov 27, 2016) - -- Fixing issue with custom instances and global defaults ([#443](https://github.com/axios/axios/issues/443)) -- Renaming `axios.d.ts` to `index.d.ts` ([#519](https://github.com/axios/axios/issues/519)) -- Adding `get`, `head`, and `delete` to `defaults.headers` ([#509](https://github.com/axios/axios/issues/509)) -- Fixing issue with `btoa` and IE ([#507](https://github.com/axios/axios/issues/507)) -- Adding support for proxy authentication ([#483](https://github.com/axios/axios/pull/483)) -- Improving HTTP adapter to use `http` protocol by default ([#493](https://github.com/axios/axios/pull/493)) -- Fixing proxy issues ([#491](https://github.com/axios/axios/pull/491)) - -### 0.15.2 (Oct 17, 2016) - -- Fixing issue with calling `cancel` after response has been received ([#482](https://github.com/axios/axios/issues/482)) - -### 0.15.1 (Oct 14, 2016) - -- Fixing issue with UMD ([#485](https://github.com/axios/axios/issues/485)) - -### 0.15.0 (Oct 10, 2016) - -- Adding cancellation support ([#452](https://github.com/axios/axios/pull/452)) -- Moving default adapter to global defaults ([#437](https://github.com/axios/axios/pull/437)) -- Fixing issue with `file` URI scheme ([#440](https://github.com/axios/axios/pull/440)) -- Fixing issue with `params` objects that have no prototype ([#445](https://github.com/axios/axios/pull/445)) - -### 0.14.0 (Aug 27, 2016) - -- **BREAKING** Updating TypeScript definitions ([#419](https://github.com/axios/axios/pull/419)) -- **BREAKING** Replacing `agent` option with `httpAgent` and `httpsAgent` ([#387](https://github.com/axios/axios/pull/387)) -- **BREAKING** Splitting `progress` event handlers into `onUploadProgress` and `onDownloadProgress` ([#423](https://github.com/axios/axios/pull/423)) -- Adding support for `http_proxy` and `https_proxy` environment variables ([#366](https://github.com/axios/axios/pull/366)) -- Fixing issue with `auth` config option and `Authorization` header ([#397](https://github.com/axios/axios/pull/397)) -- Don't set XSRF header if `xsrfCookieName` is `null` ([#406](https://github.com/axios/axios/pull/406)) - -### 0.13.1 (Jul 16, 2016) - -- Fixing issue with response data not being transformed on error ([#378](https://github.com/axios/axios/issues/378)) - -### 0.13.0 (Jul 13, 2016) - -- **BREAKING** Improved error handling ([#345](https://github.com/axios/axios/pull/345)) -- **BREAKING** Response transformer now invoked in dispatcher not adapter ([10eb238](https://github.com/axios/axios/commit/10eb23865101f9347570552c04e9d6211376e25e)) -- **BREAKING** Request adapters now return a `Promise` ([157efd5](https://github.com/axios/axios/commit/157efd5615890301824e3121cc6c9d2f9b21f94a)) -- Fixing issue with `withCredentials` not being overwritten ([#343](https://github.com/axios/axios/issues/343)) -- Fixing regression with request transformer being called before request interceptor ([#352](https://github.com/axios/axios/issues/352)) -- Fixing custom instance defaults ([#341](https://github.com/axios/axios/issues/341)) -- Fixing instances created from `axios.create` to have same API as default axios ([#217](https://github.com/axios/axios/issues/217)) - -### 0.12.0 (May 31, 2016) - -- Adding support for `URLSearchParams` ([#317](https://github.com/axios/axios/pull/317)) -- Adding `maxRedirects` option ([#307](https://github.com/axios/axios/pull/307)) - -### 0.11.1 (May 17, 2016) - -- Fixing IE CORS support ([#313](https://github.com/axios/axios/pull/313)) -- Fixing detection of `FormData` ([#325](https://github.com/axios/axios/pull/325)) -- Adding `Axios` class to exports ([#321](https://github.com/axios/axios/pull/321)) - -### 0.11.0 (Apr 26, 2016) - -- Adding support for Stream with HTTP adapter ([#296](https://github.com/axios/axios/pull/296)) -- Adding support for custom HTTP status code error ranges ([#308](https://github.com/axios/axios/pull/308)) -- Fixing issue with ArrayBuffer ([#299](https://github.com/axios/axios/pull/299)) - -### 0.10.0 (Apr 20, 2016) - -- Fixing issue with some requests sending `undefined` instead of `null` ([#250](https://github.com/axios/axios/pull/250)) -- Fixing basic auth for HTTP adapter ([#252](https://github.com/axios/axios/pull/252)) -- Fixing request timeout for XHR adapter ([#227](https://github.com/axios/axios/pull/227)) -- Fixing IE8 support by using `onreadystatechange` instead of `onload` ([#249](https://github.com/axios/axios/pull/249)) -- Fixing IE9 cross domain requests ([#251](https://github.com/axios/axios/pull/251)) -- Adding `maxContentLength` option ([#275](https://github.com/axios/axios/pull/275)) -- Fixing XHR support for WebWorker environment ([#279](https://github.com/axios/axios/pull/279)) -- Adding request instance to response ([#200](https://github.com/axios/axios/pull/200)) - -### 0.9.1 (Jan 24, 2016) - -- Improving handling of request timeout in node ([#124](https://github.com/axios/axios/issues/124)) -- Fixing network errors not rejecting ([#205](https://github.com/axios/axios/pull/205)) -- Fixing issue with IE rejecting on HTTP 204 ([#201](https://github.com/axios/axios/issues/201)) -- Fixing host/port when following redirects ([#198](https://github.com/axios/axios/pull/198)) - -### 0.9.0 (Jan 18, 2016) - -- Adding support for custom adapters -- Fixing Content-Type header being removed when data is false ([#195](https://github.com/axios/axios/pull/195)) -- Improving XDomainRequest implementation ([#185](https://github.com/axios/axios/pull/185)) -- Improving config merging and order of precedence ([#183](https://github.com/axios/axios/pull/183)) -- Fixing XDomainRequest support for only <= IE9 ([#182](https://github.com/axios/axios/pull/182)) - -### 0.8.1 (Dec 14, 2015) - -- Adding support for passing XSRF token for cross domain requests when using `withCredentials` ([#168](https://github.com/axios/axios/pull/168)) -- Fixing error with format of basic auth header ([#178](https://github.com/axios/axios/pull/173)) -- Fixing error with JSON payloads throwing `InvalidStateError` in some cases ([#174](https://github.com/axios/axios/pull/174)) - -### 0.8.0 (Dec 11, 2015) - -- Adding support for creating instances of axios ([#123](https://github.com/axios/axios/pull/123)) -- Fixing http adapter to use `Buffer` instead of `String` in case of `responseType === 'arraybuffer'` ([#128](https://github.com/axios/axios/pull/128)) -- Adding support for using custom parameter serializer with `paramsSerializer` option ([#121](https://github.com/axios/axios/pull/121)) -- Fixing issue in IE8 caused by `forEach` on `arguments` ([#127](https://github.com/axios/axios/pull/127)) -- Adding support for following redirects in node ([#146](https://github.com/axios/axios/pull/146)) -- Adding support for transparent decompression if `content-encoding` is set ([#149](https://github.com/axios/axios/pull/149)) -- Adding support for transparent XDomainRequest to handle cross domain requests in IE9 ([#140](https://github.com/axios/axios/pull/140)) -- Adding support for HTTP basic auth via Authorization header ([#167](https://github.com/axios/axios/pull/167)) -- Adding support for baseURL option ([#160](https://github.com/axios/axios/pull/160)) - -### 0.7.0 (Sep 29, 2015) - -- Fixing issue with minified bundle in IE8 ([#87](https://github.com/axios/axios/pull/87)) -- Adding support for passing agent in node ([#102](https://github.com/axios/axios/pull/102)) -- Adding support for returning result from `axios.spread` for chaining ([#106](https://github.com/axios/axios/pull/106)) -- Fixing typescript definition ([#105](https://github.com/axios/axios/pull/105)) -- Fixing default timeout config for node ([#112](https://github.com/axios/axios/pull/112)) -- Adding support for use in web workers, and react-native ([#70](https://github.com/axios/axios/issue/70)), ([#98](https://github.com/axios/axios/pull/98)) -- Adding support for fetch like API `axios(url[, config])` ([#116](https://github.com/axios/axios/issues/116)) - -### 0.6.0 (Sep 21, 2015) - -- Removing deprecated success/error aliases -- Fixing issue with array params not being properly encoded ([#49](https://github.com/axios/axios/pull/49)) -- Fixing issue with User-Agent getting overridden ([#69](https://github.com/axios/axios/issues/69)) -- Adding support for timeout config ([#56](https://github.com/axios/axios/issues/56)) -- Removing es6-promise dependency -- Fixing issue preventing `length` to be used as a parameter ([#91](https://github.com/axios/axios/pull/91)) -- Fixing issue with IE8 ([#85](https://github.com/axios/axios/pull/85)) -- Converting build to UMD - -### 0.5.4 (Apr 08, 2015) - -- Fixing issue with FormData not being sent ([#53](https://github.com/axios/axios/issues/53)) - -### 0.5.3 (Apr 07, 2015) - -- Using JSON.parse unconditionally when transforming response string ([#55](https://github.com/axios/axios/issues/55)) - -### 0.5.2 (Mar 13, 2015) - -- Adding support for `statusText` in response ([#46](https://github.com/axios/axios/issues/46)) - -### 0.5.1 (Mar 10, 2015) - -- Fixing issue using strict mode ([#45](https://github.com/axios/axios/issues/45)) -- Fixing issue with standalone build ([#47](https://github.com/axios/axios/issues/47)) - -### 0.5.0 (Jan 23, 2015) - -- Adding support for intercepetors ([#14](https://github.com/axios/axios/issues/14)) -- Updating es6-promise dependency - -### 0.4.2 (Dec 10, 2014) - -- Fixing issue with `Content-Type` when using `FormData` ([#22](https://github.com/axios/axios/issues/22)) -- Adding support for TypeScript ([#25](https://github.com/axios/axios/issues/25)) -- Fixing issue with standalone build ([#29](https://github.com/axios/axios/issues/29)) -- Fixing issue with verbs needing to be capitalized in some browsers ([#30](https://github.com/axios/axios/issues/30)) - -### 0.4.1 (Oct 15, 2014) - -- Adding error handling to request for node.js ([#18](https://github.com/axios/axios/issues/18)) - -### 0.4.0 (Oct 03, 2014) - -- Adding support for `ArrayBuffer` and `ArrayBufferView` ([#10](https://github.com/axios/axios/issues/10)) -- Adding support for utf-8 for node.js ([#13](https://github.com/axios/axios/issues/13)) -- Adding support for SSL for node.js ([#12](https://github.com/axios/axios/issues/12)) -- Fixing incorrect `Content-Type` header ([#9](https://github.com/axios/axios/issues/9)) -- Adding standalone build without bundled es6-promise ([#11](https://github.com/axios/axios/issues/11)) -- Deprecating `success`/`error` in favor of `then`/`catch` - -### 0.3.1 (Sep 16, 2014) - -- Fixing missing post body when using node.js ([#3](https://github.com/axios/axios/issues/3)) - -### 0.3.0 (Sep 16, 2014) - -- Fixing `success` and `error` to properly receive response data as individual arguments ([#8](https://github.com/axios/axios/issues/8)) -- Updating `then` and `catch` to receive response data as a single object ([#6](https://github.com/axios/axios/issues/6)) -- Fixing issue with `all` not working ([#7](https://github.com/axios/axios/issues/7)) - -### 0.2.2 (Sep 14, 2014) - -- Fixing bundling with browserify ([#4](https://github.com/axios/axios/issues/4)) - -### 0.2.1 (Sep 12, 2014) - -- Fixing build problem causing ridiculous file sizes - -### 0.2.0 (Sep 12, 2014) - -- Adding support for `all` and `spread` -- Adding support for node.js ([#1](https://github.com/axios/axios/issues/1)) - -### 0.1.0 (Aug 29, 2014) - -- Initial release diff --git a/electron/src/node_modules/axios/LICENSE b/electron/src/node_modules/axios/LICENSE deleted file mode 100755 index d36c80e..0000000 --- a/electron/src/node_modules/axios/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2014-present Matt Zabriskie - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/electron/src/node_modules/axios/README.md b/electron/src/node_modules/axios/README.md deleted file mode 100755 index ec78817..0000000 --- a/electron/src/node_modules/axios/README.md +++ /dev/null @@ -1,625 +0,0 @@ -# axios - -[![npm version](https://img.shields.io/npm/v/axios.svg?style=flat-square)](https://www.npmjs.org/package/axios) -[![build status](https://img.shields.io/travis/axios/axios.svg?style=flat-square)](https://travis-ci.org/axios/axios) -[![code coverage](https://img.shields.io/coveralls/mzabriskie/axios.svg?style=flat-square)](https://coveralls.io/r/mzabriskie/axios) -[![npm downloads](https://img.shields.io/npm/dm/axios.svg?style=flat-square)](http://npm-stat.com/charts.html?package=axios) -[![gitter chat](https://img.shields.io/gitter/room/mzabriskie/axios.svg?style=flat-square)](https://gitter.im/mzabriskie/axios) -[![code helpers](https://www.codetriage.com/axios/axios/badges/users.svg)](https://www.codetriage.com/axios/axios) - -Promise based HTTP client for the browser and node.js - -## Features - -- Make [XMLHttpRequests](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) from the browser -- Make [http](http://nodejs.org/api/http.html) requests from node.js -- Supports the [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) API -- Intercept request and response -- Transform request and response data -- Cancel requests -- Automatic transforms for JSON data -- Client side support for protecting against [XSRF](http://en.wikipedia.org/wiki/Cross-site_request_forgery) - -## Browser Support - -![Chrome](https://raw.github.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png) | ![Firefox](https://raw.github.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png) | ![Safari](https://raw.github.com/alrra/browser-logos/master/src/safari/safari_48x48.png) | ![Opera](https://raw.github.com/alrra/browser-logos/master/src/opera/opera_48x48.png) | ![Edge](https://raw.github.com/alrra/browser-logos/master/src/edge/edge_48x48.png) | ![IE](https://raw.github.com/alrra/browser-logos/master/src/archive/internet-explorer_9-11/internet-explorer_9-11_48x48.png) | ---- | --- | --- | --- | --- | --- | -Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 8+ ✔ | - -[![Browser Matrix](https://saucelabs.com/open_sauce/build_matrix/axios.svg)](https://saucelabs.com/u/axios) - -## Installing - -Using npm: - -```bash -$ npm install axios -``` - -Using bower: - -```bash -$ bower install axios -``` - -Using cdn: - -```html - -``` - -## Example - -Performing a `GET` request - -```js -// Make a request for a user with a given ID -axios.get('/user?ID=12345') - .then(function (response) { - console.log(response); - }) - .catch(function (error) { - console.log(error); - }); - -// Optionally the request above could also be done as -axios.get('/user', { - params: { - ID: 12345 - } - }) - .then(function (response) { - console.log(response); - }) - .catch(function (error) { - console.log(error); - }); -``` - -Performing a `POST` request - -```js -axios.post('/user', { - firstName: 'Fred', - lastName: 'Flintstone' - }) - .then(function (response) { - console.log(response); - }) - .catch(function (error) { - console.log(error); - }); -``` - -Performing multiple concurrent requests - -```js -function getUserAccount() { - return axios.get('/user/12345'); -} - -function getUserPermissions() { - return axios.get('/user/12345/permissions'); -} - -axios.all([getUserAccount(), getUserPermissions()]) - .then(axios.spread(function (acct, perms) { - // Both requests are now complete - })); -``` - -## axios API - -Requests can be made by passing the relevant config to `axios`. - -##### axios(config) - -```js -// Send a POST request -axios({ - method: 'post', - url: '/user/12345', - data: { - firstName: 'Fred', - lastName: 'Flintstone' - } -}); -``` - -```js -// GET request for remote image -axios({ - method:'get', - url:'http://bit.ly/2mTM3nY', - responseType:'stream' -}) - .then(function(response) { - response.data.pipe(fs.createWriteStream('ada_lovelace.jpg')) -}); -``` - -##### axios(url[, config]) - -```js -// Send a GET request (default method) -axios('/user/12345'); -``` - -### Request method aliases - -For convenience aliases have been provided for all supported request methods. - -##### axios.request(config) -##### axios.get(url[, config]) -##### axios.delete(url[, config]) -##### axios.head(url[, config]) -##### axios.options(url[, config]) -##### axios.post(url[, data[, config]]) -##### axios.put(url[, data[, config]]) -##### axios.patch(url[, data[, config]]) - -###### NOTE -When using the alias methods `url`, `method`, and `data` properties don't need to be specified in config. - -### Concurrency - -Helper functions for dealing with concurrent requests. - -##### axios.all(iterable) -##### axios.spread(callback) - -### Creating an instance - -You can create a new instance of axios with a custom config. - -##### axios.create([config]) - -```js -var instance = axios.create({ - baseURL: 'https://some-domain.com/api/', - timeout: 1000, - headers: {'X-Custom-Header': 'foobar'} -}); -``` - -### Instance methods - -The available instance methods are listed below. The specified config will be merged with the instance config. - -##### axios#request(config) -##### axios#get(url[, config]) -##### axios#delete(url[, config]) -##### axios#head(url[, config]) -##### axios#options(url[, config]) -##### axios#post(url[, data[, config]]) -##### axios#put(url[, data[, config]]) -##### axios#patch(url[, data[, config]]) - -## Request Config - -These are the available config options for making requests. Only the `url` is required. Requests will default to `GET` if `method` is not specified. - -```js -{ - // `url` is the server URL that will be used for the request - url: '/user', - - // `method` is the request method to be used when making the request - method: 'get', // default - - // `baseURL` will be prepended to `url` unless `url` is absolute. - // It can be convenient to set `baseURL` for an instance of axios to pass relative URLs - // to methods of that instance. - baseURL: 'https://some-domain.com/api/', - - // `transformRequest` allows changes to the request data before it is sent to the server - // This is only applicable for request methods 'PUT', 'POST', and 'PATCH' - // The last function in the array must return a string or an instance of Buffer, ArrayBuffer, - // FormData or Stream - // You may modify the headers object. - transformRequest: [function (data, headers) { - // Do whatever you want to transform the data - - return data; - }], - - // `transformResponse` allows changes to the response data to be made before - // it is passed to then/catch - transformResponse: [function (data) { - // Do whatever you want to transform the data - - return data; - }], - - // `headers` are custom headers to be sent - headers: {'X-Requested-With': 'XMLHttpRequest'}, - - // `params` are the URL parameters to be sent with the request - // Must be a plain object or a URLSearchParams object - params: { - ID: 12345 - }, - - // `paramsSerializer` is an optional function in charge of serializing `params` - // (e.g. https://www.npmjs.com/package/qs, http://api.jquery.com/jquery.param/) - paramsSerializer: function(params) { - return Qs.stringify(params, {arrayFormat: 'brackets'}) - }, - - // `data` is the data to be sent as the request body - // Only applicable for request methods 'PUT', 'POST', and 'PATCH' - // When no `transformRequest` is set, must be of one of the following types: - // - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams - // - Browser only: FormData, File, Blob - // - Node only: Stream, Buffer - data: { - firstName: 'Fred' - }, - - // `timeout` specifies the number of milliseconds before the request times out. - // If the request takes longer than `timeout`, the request will be aborted. - timeout: 1000, - - // `withCredentials` indicates whether or not cross-site Access-Control requests - // should be made using credentials - withCredentials: false, // default - - // `adapter` allows custom handling of requests which makes testing easier. - // Return a promise and supply a valid response (see lib/adapters/README.md). - adapter: function (config) { - /* ... */ - }, - - // `auth` indicates that HTTP Basic auth should be used, and supplies credentials. - // This will set an `Authorization` header, overwriting any existing - // `Authorization` custom headers you have set using `headers`. - auth: { - username: 'janedoe', - password: 's00pers3cret' - }, - - // `responseType` indicates the type of data that the server will respond with - // options are 'arraybuffer', 'blob', 'document', 'json', 'text', 'stream' - responseType: 'json', // default - - // `xsrfCookieName` is the name of the cookie to use as a value for xsrf token - xsrfCookieName: 'XSRF-TOKEN', // default - - // `xsrfHeaderName` is the name of the http header that carries the xsrf token value - xsrfHeaderName: 'X-XSRF-TOKEN', // default - - // `onUploadProgress` allows handling of progress events for uploads - onUploadProgress: function (progressEvent) { - // Do whatever you want with the native progress event - }, - - // `onDownloadProgress` allows handling of progress events for downloads - onDownloadProgress: function (progressEvent) { - // Do whatever you want with the native progress event - }, - - // `maxContentLength` defines the max size of the http response content allowed - maxContentLength: 2000, - - // `validateStatus` defines whether to resolve or reject the promise for a given - // HTTP response status code. If `validateStatus` returns `true` (or is set to `null` - // or `undefined`), the promise will be resolved; otherwise, the promise will be - // rejected. - validateStatus: function (status) { - return status >= 200 && status < 300; // default - }, - - // `maxRedirects` defines the maximum number of redirects to follow in node.js. - // If set to 0, no redirects will be followed. - maxRedirects: 5, // default - - // `socketPath` defines a UNIX Socket to be used in node.js. - // e.g. '/var/run/docker.sock' to send requests to the docker daemon. - // Only either `socketPath` or `proxy` can be specified. - // If both are specified, `socketPath` is used. - socketPath: null, // default - - // `httpAgent` and `httpsAgent` define a custom agent to be used when performing http - // and https requests, respectively, in node.js. This allows options to be added like - // `keepAlive` that are not enabled by default. - httpAgent: new http.Agent({ keepAlive: true }), - httpsAgent: new https.Agent({ keepAlive: true }), - - // 'proxy' defines the hostname and port of the proxy server - // Use `false` to disable proxies, ignoring environment variables. - // `auth` indicates that HTTP Basic auth should be used to connect to the proxy, and - // supplies credentials. - // This will set an `Proxy-Authorization` header, overwriting any existing - // `Proxy-Authorization` custom headers you have set using `headers`. - proxy: { - host: '127.0.0.1', - port: 9000, - auth: { - username: 'mikeymike', - password: 'rapunz3l' - } - }, - - // `cancelToken` specifies a cancel token that can be used to cancel the request - // (see Cancellation section below for details) - cancelToken: new CancelToken(function (cancel) { - }) -} -``` - -## Response Schema - -The response for a request contains the following information. - -```js -{ - // `data` is the response that was provided by the server - data: {}, - - // `status` is the HTTP status code from the server response - status: 200, - - // `statusText` is the HTTP status message from the server response - statusText: 'OK', - - // `headers` the headers that the server responded with - // All header names are lower cased - headers: {}, - - // `config` is the config that was provided to `axios` for the request - config: {}, - - // `request` is the request that generated this response - // It is the last ClientRequest instance in node.js (in redirects) - // and an XMLHttpRequest instance the browser - request: {} -} -``` - -When using `then`, you will receive the response as follows: - -```js -axios.get('/user/12345') - .then(function(response) { - console.log(response.data); - console.log(response.status); - console.log(response.statusText); - console.log(response.headers); - console.log(response.config); - }); -``` - -When using `catch`, or passing a [rejection callback](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then) as second parameter of `then`, the response will be available through the `error` object as explained in the [Handling Errors](#handling-errors) section. - -## Config Defaults - -You can specify config defaults that will be applied to every request. - -### Global axios defaults - -```js -axios.defaults.baseURL = 'https://api.example.com'; -axios.defaults.headers.common['Authorization'] = AUTH_TOKEN; -axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; -``` - -### Custom instance defaults - -```js -// Set config defaults when creating the instance -var instance = axios.create({ - baseURL: 'https://api.example.com' -}); - -// Alter defaults after instance has been created -instance.defaults.headers.common['Authorization'] = AUTH_TOKEN; -``` - -### Config order of precedence - -Config will be merged with an order of precedence. The order is library defaults found in [lib/defaults.js](https://github.com/axios/axios/blob/master/lib/defaults.js#L28), then `defaults` property of the instance, and finally `config` argument for the request. The latter will take precedence over the former. Here's an example. - -```js -// Create an instance using the config defaults provided by the library -// At this point the timeout config value is `0` as is the default for the library -var instance = axios.create(); - -// Override timeout default for the library -// Now all requests will wait 2.5 seconds before timing out -instance.defaults.timeout = 2500; - -// Override timeout for this request as it's known to take a long time -instance.get('/longRequest', { - timeout: 5000 -}); -``` - -## Interceptors - -You can intercept requests or responses before they are handled by `then` or `catch`. - -```js -// Add a request interceptor -axios.interceptors.request.use(function (config) { - // Do something before request is sent - return config; - }, function (error) { - // Do something with request error - return Promise.reject(error); - }); - -// Add a response interceptor -axios.interceptors.response.use(function (response) { - // Do something with response data - return response; - }, function (error) { - // Do something with response error - return Promise.reject(error); - }); -``` - -If you may need to remove an interceptor later you can. - -```js -var myInterceptor = axios.interceptors.request.use(function () {/*...*/}); -axios.interceptors.request.eject(myInterceptor); -``` - -You can add interceptors to a custom instance of axios. - -```js -var instance = axios.create(); -instance.interceptors.request.use(function () {/*...*/}); -``` - -## Handling Errors - -```js -axios.get('/user/12345') - .catch(function (error) { - if (error.response) { - // The request was made and the server responded with a status code - // that falls out of the range of 2xx - console.log(error.response.data); - console.log(error.response.status); - console.log(error.response.headers); - } else if (error.request) { - // The request was made but no response was received - // `error.request` is an instance of XMLHttpRequest in the browser and an instance of - // http.ClientRequest in node.js - console.log(error.request); - } else { - // Something happened in setting up the request that triggered an Error - console.log('Error', error.message); - } - console.log(error.config); - }); -``` - -You can define a custom HTTP status code error range using the `validateStatus` config option. - -```js -axios.get('/user/12345', { - validateStatus: function (status) { - return status < 500; // Reject only if the status code is greater than or equal to 500 - } -}) -``` - -## Cancellation - -You can cancel a request using a *cancel token*. - -> The axios cancel token API is based on the withdrawn [cancelable promises proposal](https://github.com/tc39/proposal-cancelable-promises). - -You can create a cancel token using the `CancelToken.source` factory as shown below: - -```js -var CancelToken = axios.CancelToken; -var source = CancelToken.source(); - -axios.get('/user/12345', { - cancelToken: source.token -}).catch(function(thrown) { - if (axios.isCancel(thrown)) { - console.log('Request canceled', thrown.message); - } else { - // handle error - } -}); - -axios.post('/user/12345', { - name: 'new name' -}, { - cancelToken: source.token -}) - -// cancel the request (the message parameter is optional) -source.cancel('Operation canceled by the user.'); -``` - -You can also create a cancel token by passing an executor function to the `CancelToken` constructor: - -```js -var CancelToken = axios.CancelToken; -var cancel; - -axios.get('/user/12345', { - cancelToken: new CancelToken(function executor(c) { - // An executor function receives a cancel function as a parameter - cancel = c; - }) -}); - -// cancel the request -cancel(); -``` - -> Note: you can cancel several requests with the same cancel token. - -## Using application/x-www-form-urlencoded format - -By default, axios serializes JavaScript objects to `JSON`. To send data in the `application/x-www-form-urlencoded` format instead, you can use one of the following options. - -### Browser - -In a browser, you can use the [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams) API as follows: - -```js -var params = new URLSearchParams(); -params.append('param1', 'value1'); -params.append('param2', 'value2'); -axios.post('/foo', params); -``` - -> Note that `URLSearchParams` is not supported by all browsers (see [caniuse.com](http://www.caniuse.com/#feat=urlsearchparams)), but there is a [polyfill](https://github.com/WebReflection/url-search-params) available (make sure to polyfill the global environment). - -Alternatively, you can encode data using the [`qs`](https://github.com/ljharb/qs) library: - -```js -var qs = require('qs'); -axios.post('/foo', qs.stringify({ 'bar': 123 })); -``` - -### Node.js - -In node.js, you can use the [`querystring`](https://nodejs.org/api/querystring.html) module as follows: - -```js -var querystring = require('querystring'); -axios.post('http://something.com/', querystring.stringify({ foo: 'bar' })); -``` - -You can also use the [`qs`](https://github.com/ljharb/qs) library. - -## Semver - -Until axios reaches a `1.0` release, breaking changes will be released with a new minor version. For example `0.5.1`, and `0.5.4` will have the same API, but `0.6.0` will have breaking changes. - -## Promises - -axios depends on a native ES6 Promise implementation to be [supported](http://caniuse.com/promises). -If your environment doesn't support ES6 Promises, you can [polyfill](https://github.com/jakearchibald/es6-promise). - -## TypeScript -axios includes [TypeScript](http://typescriptlang.org) definitions. -```typescript -import axios from 'axios'; -axios.get('/user?ID=12345'); -``` - -## Resources - -* [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md) -* [Upgrade Guide](https://github.com/axios/axios/blob/master/UPGRADE_GUIDE.md) -* [Ecosystem](https://github.com/axios/axios/blob/master/ECOSYSTEM.md) -* [Contributing Guide](https://github.com/axios/axios/blob/master/CONTRIBUTING.md) -* [Code of Conduct](https://github.com/axios/axios/blob/master/CODE_OF_CONDUCT.md) - -## Credits - -axios is heavily inspired by the [$http service](https://docs.angularjs.org/api/ng/service/$http) provided in [Angular](https://angularjs.org/). Ultimately axios is an effort to provide a standalone `$http`-like service for use outside of Angular. - -## License - -MIT diff --git a/electron/src/node_modules/axios/UPGRADE_GUIDE.md b/electron/src/node_modules/axios/UPGRADE_GUIDE.md deleted file mode 100755 index eedb049..0000000 --- a/electron/src/node_modules/axios/UPGRADE_GUIDE.md +++ /dev/null @@ -1,162 +0,0 @@ -# Upgrade Guide - -### 0.15.x -> 0.16.0 - -#### `Promise` Type Declarations - -The `Promise` type declarations have been removed from the axios typings in favor of the built-in type declarations. If you use axios in a TypeScript project that targets `ES5`, please make sure to include the `es2015.promise` lib. Please see [this post](https://blog.mariusschulz.com/2016/11/25/typescript-2-0-built-in-type-declarations) for details. - -### 0.13.x -> 0.14.0 - -#### TypeScript Definitions - -The axios TypeScript definitions have been updated to match the axios API and use the ES2015 module syntax. - -Please use the following `import` statement to import axios in TypeScript: - -```typescript -import axios from 'axios'; - -axios.get('/foo') - .then(response => console.log(response)) - .catch(error => console.log(error)); -``` - -#### `agent` Config Option - -The `agent` config option has been replaced with two new options: `httpAgent` and `httpsAgent`. Please use them instead. - -```js -{ - // Define a custom agent for HTTP - httpAgent: new http.Agent({ keepAlive: true }), - // Define a custom agent for HTTPS - httpsAgent: new https.Agent({ keepAlive: true }) -} -``` - -#### `progress` Config Option - -The `progress` config option has been replaced with the `onUploadProgress` and `onDownloadProgress` options. - -```js -{ - // Define a handler for upload progress events - onUploadProgress: function (progressEvent) { - // ... - }, - - // Define a handler for download progress events - onDownloadProgress: function (progressEvent) { - // ... - } -} -``` - -### 0.12.x -> 0.13.0 - -The `0.13.0` release contains several changes to custom adapters and error handling. - -#### Error Handling - -Previous to this release an error could either be a server response with bad status code or an actual `Error`. With this release Promise will always reject with an `Error`. In the case that a response was received, the `Error` will also include the response. - -```js -axios.get('/user/12345') - .catch((error) => { - console.log(error.message); - console.log(error.code); // Not always specified - console.log(error.config); // The config that was used to make the request - console.log(error.response); // Only available if response was received from the server - }); -``` - -#### Request Adapters - -This release changes a few things about how request adapters work. Please take note if you are using your own custom adapter. - -1. Response transformer is now called outside of adapter. -2. Request adapter returns a `Promise`. - -This means that you no longer need to invoke `transformData` on response data. You will also no longer receive `resolve` and `reject` as arguments in your adapter. - -Previous code: - -```js -function myAdapter(resolve, reject, config) { - var response = { - data: transformData( - responseData, - responseHeaders, - config.transformResponse - ), - status: request.status, - statusText: request.statusText, - headers: responseHeaders - }; - settle(resolve, reject, response); -} -``` - -New code: - -```js -function myAdapter(config) { - return new Promise(function (resolve, reject) { - var response = { - data: responseData, - status: request.status, - statusText: request.statusText, - headers: responseHeaders - }; - settle(resolve, reject, response); - }); -} -``` - -See the related commits for more details: -- [Response transformers](https://github.com/axios/axios/commit/10eb23865101f9347570552c04e9d6211376e25e) -- [Request adapter Promise](https://github.com/axios/axios/commit/157efd5615890301824e3121cc6c9d2f9b21f94a) - -### 0.5.x -> 0.6.0 - -The `0.6.0` release contains mostly bug fixes, but there are a couple things to be aware of when upgrading. - -#### ES6 Promise Polyfill - -Up until the `0.6.0` release ES6 `Promise` was being polyfilled using [es6-promise](https://github.com/jakearchibald/es6-promise). With this release, the polyfill has been removed, and you will need to supply it yourself if your environment needs it. - -```js -require('es6-promise').polyfill(); -var axios = require('axios'); -``` - -This will polyfill the global environment, and only needs to be done once. - -#### `axios.success`/`axios.error` - -The `success`, and `error` aliases were deprectated in [0.4.0](https://github.com/axios/axios/blob/master/CHANGELOG.md#040-oct-03-2014). As of this release they have been removed entirely. Instead please use `axios.then`, and `axios.catch` respectively. - -```js -axios.get('some/url') - .then(function (res) { - /* ... */ - }) - .catch(function (err) { - /* ... */ - }); -``` - -#### UMD - -Previous versions of axios shipped with an AMD, CommonJS, and Global build. This has all been rolled into a single UMD build. - -```js -// AMD -require(['bower_components/axios/dist/axios'], function (axios) { - /* ... */ -}); - -// CommonJS -var axios = require('axios/dist/axios'); -``` diff --git a/electron/src/node_modules/axios/dist/axios.js b/electron/src/node_modules/axios/dist/axios.js deleted file mode 100755 index cf8b39d..0000000 --- a/electron/src/node_modules/axios/dist/axios.js +++ /dev/null @@ -1,1603 +0,0 @@ -/* axios v0.18.0 | (c) 2018 by Matt Zabriskie */ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(); - else if(typeof define === 'function' && define.amd) - define([], factory); - else if(typeof exports === 'object') - exports["axios"] = factory(); - else - root["axios"] = factory(); -})(this, function() { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // 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] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = 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; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - - module.exports = __webpack_require__(1); - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var utils = __webpack_require__(2); - var bind = __webpack_require__(3); - var Axios = __webpack_require__(5); - var defaults = __webpack_require__(6); - - /** - * Create an instance of Axios - * - * @param {Object} defaultConfig The default config for the instance - * @return {Axios} A new instance of Axios - */ - function createInstance(defaultConfig) { - var context = new Axios(defaultConfig); - var instance = bind(Axios.prototype.request, context); - - // Copy axios.prototype to instance - utils.extend(instance, Axios.prototype, context); - - // Copy context to instance - utils.extend(instance, context); - - return instance; - } - - // Create the default instance to be exported - var axios = createInstance(defaults); - - // Expose Axios class to allow class inheritance - axios.Axios = Axios; - - // Factory for creating new instances - axios.create = function create(instanceConfig) { - return createInstance(utils.merge(defaults, instanceConfig)); - }; - - // Expose Cancel & CancelToken - axios.Cancel = __webpack_require__(23); - axios.CancelToken = __webpack_require__(24); - axios.isCancel = __webpack_require__(20); - - // Expose all/spread - axios.all = function all(promises) { - return Promise.all(promises); - }; - axios.spread = __webpack_require__(25); - - module.exports = axios; - - // Allow use of default import syntax in TypeScript - module.exports.default = axios; - - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var bind = __webpack_require__(3); - var isBuffer = __webpack_require__(4); - - /*global toString:true*/ - - // utils is a library of generic helper functions non-specific to axios - - var toString = Object.prototype.toString; - - /** - * Determine if a value is an Array - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an Array, otherwise false - */ - function isArray(val) { - return toString.call(val) === '[object Array]'; - } - - /** - * Determine if a value is an ArrayBuffer - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an ArrayBuffer, otherwise false - */ - function isArrayBuffer(val) { - return toString.call(val) === '[object ArrayBuffer]'; - } - - /** - * Determine if a value is a FormData - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an FormData, otherwise false - */ - function isFormData(val) { - return (typeof FormData !== 'undefined') && (val instanceof FormData); - } - - /** - * Determine if a value is a view on an ArrayBuffer - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false - */ - function isArrayBufferView(val) { - var result; - if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { - result = ArrayBuffer.isView(val); - } else { - result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer); - } - return result; - } - - /** - * Determine if a value is a String - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a String, otherwise false - */ - function isString(val) { - return typeof val === 'string'; - } - - /** - * Determine if a value is a Number - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Number, otherwise false - */ - function isNumber(val) { - return typeof val === 'number'; - } - - /** - * Determine if a value is undefined - * - * @param {Object} val The value to test - * @returns {boolean} True if the value is undefined, otherwise false - */ - function isUndefined(val) { - return typeof val === 'undefined'; - } - - /** - * Determine if a value is an Object - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an Object, otherwise false - */ - function isObject(val) { - return val !== null && typeof val === 'object'; - } - - /** - * Determine if a value is a Date - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Date, otherwise false - */ - function isDate(val) { - return toString.call(val) === '[object Date]'; - } - - /** - * Determine if a value is a File - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a File, otherwise false - */ - function isFile(val) { - return toString.call(val) === '[object File]'; - } - - /** - * Determine if a value is a Blob - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Blob, otherwise false - */ - function isBlob(val) { - return toString.call(val) === '[object Blob]'; - } - - /** - * Determine if a value is a Function - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Function, otherwise false - */ - function isFunction(val) { - return toString.call(val) === '[object Function]'; - } - - /** - * Determine if a value is a Stream - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Stream, otherwise false - */ - function isStream(val) { - return isObject(val) && isFunction(val.pipe); - } - - /** - * Determine if a value is a URLSearchParams object - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a URLSearchParams object, otherwise false - */ - function isURLSearchParams(val) { - return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams; - } - - /** - * Trim excess whitespace off the beginning and end of a string - * - * @param {String} str The String to trim - * @returns {String} The String freed of excess whitespace - */ - function trim(str) { - return str.replace(/^\s*/, '').replace(/\s*$/, ''); - } - - /** - * Determine if we're running in a standard browser environment - * - * This allows axios to run in a web worker, and react-native. - * Both environments support XMLHttpRequest, but not fully standard globals. - * - * web workers: - * typeof window -> undefined - * typeof document -> undefined - * - * react-native: - * navigator.product -> 'ReactNative' - */ - function isStandardBrowserEnv() { - if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') { - return false; - } - return ( - typeof window !== 'undefined' && - typeof document !== 'undefined' - ); - } - - /** - * Iterate over an Array or an Object invoking a function for each item. - * - * If `obj` is an Array callback will be called passing - * the value, index, and complete array for each item. - * - * If 'obj' is an Object callback will be called passing - * the value, key, and complete object for each property. - * - * @param {Object|Array} obj The object to iterate - * @param {Function} fn The callback to invoke for each item - */ - function forEach(obj, fn) { - // Don't bother if no value provided - if (obj === null || typeof obj === 'undefined') { - return; - } - - // Force an array if not already something iterable - if (typeof obj !== 'object') { - /*eslint no-param-reassign:0*/ - obj = [obj]; - } - - if (isArray(obj)) { - // Iterate over array values - for (var i = 0, l = obj.length; i < l; i++) { - fn.call(null, obj[i], i, obj); - } - } else { - // Iterate over object keys - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - fn.call(null, obj[key], key, obj); - } - } - } - } - - /** - * Accepts varargs expecting each argument to be an object, then - * immutably merges the properties of each object and returns result. - * - * When multiple objects contain the same key the later object in - * the arguments list will take precedence. - * - * Example: - * - * ```js - * var result = merge({foo: 123}, {foo: 456}); - * console.log(result.foo); // outputs 456 - * ``` - * - * @param {Object} obj1 Object to merge - * @returns {Object} Result of all merge properties - */ - function merge(/* obj1, obj2, obj3, ... */) { - var result = {}; - function assignValue(val, key) { - if (typeof result[key] === 'object' && typeof val === 'object') { - result[key] = merge(result[key], val); - } else { - result[key] = val; - } - } - - for (var i = 0, l = arguments.length; i < l; i++) { - forEach(arguments[i], assignValue); - } - return result; - } - - /** - * Extends object a by mutably adding to it the properties of object b. - * - * @param {Object} a The object to be extended - * @param {Object} b The object to copy properties from - * @param {Object} thisArg The object to bind function to - * @return {Object} The resulting value of object a - */ - function extend(a, b, thisArg) { - forEach(b, function assignValue(val, key) { - if (thisArg && typeof val === 'function') { - a[key] = bind(val, thisArg); - } else { - a[key] = val; - } - }); - return a; - } - - module.exports = { - isArray: isArray, - isArrayBuffer: isArrayBuffer, - isBuffer: isBuffer, - isFormData: isFormData, - isArrayBufferView: isArrayBufferView, - isString: isString, - isNumber: isNumber, - isObject: isObject, - isUndefined: isUndefined, - isDate: isDate, - isFile: isFile, - isBlob: isBlob, - isFunction: isFunction, - isStream: isStream, - isURLSearchParams: isURLSearchParams, - isStandardBrowserEnv: isStandardBrowserEnv, - forEach: forEach, - merge: merge, - extend: extend, - trim: trim - }; - - -/***/ }), -/* 3 */ -/***/ (function(module, exports) { - - 'use strict'; - - module.exports = function bind(fn, thisArg) { - return function wrap() { - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - return fn.apply(thisArg, args); - }; - }; - - -/***/ }), -/* 4 */ -/***/ (function(module, exports) { - - /*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */ - - // The _isBuffer check is for Safari 5-7 support, because it's missing - // Object.prototype.constructor. Remove this eventually - module.exports = function (obj) { - return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer) - } - - function isBuffer (obj) { - return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) - } - - // For Node v0.10 support. Remove this eventually. - function isSlowBuffer (obj) { - return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0)) - } - - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var defaults = __webpack_require__(6); - var utils = __webpack_require__(2); - var InterceptorManager = __webpack_require__(17); - var dispatchRequest = __webpack_require__(18); - - /** - * Create a new instance of Axios - * - * @param {Object} instanceConfig The default config for the instance - */ - function Axios(instanceConfig) { - this.defaults = instanceConfig; - this.interceptors = { - request: new InterceptorManager(), - response: new InterceptorManager() - }; - } - - /** - * Dispatch a request - * - * @param {Object} config The config specific for this request (merged with this.defaults) - */ - Axios.prototype.request = function request(config) { - /*eslint no-param-reassign:0*/ - // Allow for axios('example/url'[, config]) a la fetch API - if (typeof config === 'string') { - config = utils.merge({ - url: arguments[0] - }, arguments[1]); - } - - config = utils.merge(defaults, {method: 'get'}, this.defaults, config); - config.method = config.method.toLowerCase(); - - // Hook up interceptors middleware - var chain = [dispatchRequest, undefined]; - var promise = Promise.resolve(config); - - this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - chain.unshift(interceptor.fulfilled, interceptor.rejected); - }); - - this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - chain.push(interceptor.fulfilled, interceptor.rejected); - }); - - while (chain.length) { - promise = promise.then(chain.shift(), chain.shift()); - } - - return promise; - }; - - // Provide aliases for supported request methods - utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function(url, config) { - return this.request(utils.merge(config || {}, { - method: method, - url: url - })); - }; - }); - - utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function(url, data, config) { - return this.request(utils.merge(config || {}, { - method: method, - url: url, - data: data - })); - }; - }); - - module.exports = Axios; - - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var utils = __webpack_require__(2); - var normalizeHeaderName = __webpack_require__(7); - - var DEFAULT_CONTENT_TYPE = { - 'Content-Type': 'application/x-www-form-urlencoded' - }; - - function setContentTypeIfUnset(headers, value) { - if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { - headers['Content-Type'] = value; - } - } - - function getDefaultAdapter() { - var adapter; - if (typeof XMLHttpRequest !== 'undefined') { - // For browsers use XHR adapter - adapter = __webpack_require__(8); - } else if (typeof process !== 'undefined') { - // For node use HTTP adapter - adapter = __webpack_require__(8); - } - return adapter; - } - - var defaults = { - adapter: getDefaultAdapter(), - - transformRequest: [function transformRequest(data, headers) { - normalizeHeaderName(headers, 'Content-Type'); - if (utils.isFormData(data) || - utils.isArrayBuffer(data) || - utils.isBuffer(data) || - utils.isStream(data) || - utils.isFile(data) || - utils.isBlob(data) - ) { - return data; - } - if (utils.isArrayBufferView(data)) { - return data.buffer; - } - if (utils.isURLSearchParams(data)) { - setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); - return data.toString(); - } - if (utils.isObject(data)) { - setContentTypeIfUnset(headers, 'application/json;charset=utf-8'); - return JSON.stringify(data); - } - return data; - }], - - transformResponse: [function transformResponse(data) { - /*eslint no-param-reassign:0*/ - if (typeof data === 'string') { - try { - data = JSON.parse(data); - } catch (e) { /* Ignore */ } - } - return data; - }], - - /** - * A timeout in milliseconds to abort a request. If set to 0 (default) a - * timeout is not created. - */ - timeout: 0, - - xsrfCookieName: 'XSRF-TOKEN', - xsrfHeaderName: 'X-XSRF-TOKEN', - - maxContentLength: -1, - - validateStatus: function validateStatus(status) { - return status >= 200 && status < 300; - } - }; - - defaults.headers = { - common: { - 'Accept': 'application/json, text/plain, */*' - } - }; - - utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { - defaults.headers[method] = {}; - }); - - utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); - }); - - module.exports = defaults; - - -/***/ }), -/* 7 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var utils = __webpack_require__(2); - - module.exports = function normalizeHeaderName(headers, normalizedName) { - utils.forEach(headers, function processHeader(value, name) { - if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { - headers[normalizedName] = value; - delete headers[name]; - } - }); - }; - - -/***/ }), -/* 8 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var utils = __webpack_require__(2); - var settle = __webpack_require__(9); - var buildURL = __webpack_require__(12); - var parseHeaders = __webpack_require__(13); - var isURLSameOrigin = __webpack_require__(14); - var createError = __webpack_require__(10); - var btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || __webpack_require__(15); - - module.exports = function xhrAdapter(config) { - return new Promise(function dispatchXhrRequest(resolve, reject) { - var requestData = config.data; - var requestHeaders = config.headers; - - if (utils.isFormData(requestData)) { - delete requestHeaders['Content-Type']; // Let the browser set it - } - - var request = new XMLHttpRequest(); - var loadEvent = 'onreadystatechange'; - var xDomain = false; - - // For IE 8/9 CORS support - // Only supports POST and GET calls and doesn't returns the response headers. - // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest. - if (("production") !== 'test' && - typeof window !== 'undefined' && - window.XDomainRequest && !('withCredentials' in request) && - !isURLSameOrigin(config.url)) { - request = new window.XDomainRequest(); - loadEvent = 'onload'; - xDomain = true; - request.onprogress = function handleProgress() {}; - request.ontimeout = function handleTimeout() {}; - } - - // HTTP basic authentication - if (config.auth) { - var username = config.auth.username || ''; - var password = config.auth.password || ''; - requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); - } - - request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); - - // Set the request timeout in MS - request.timeout = config.timeout; - - // Listen for ready state - request[loadEvent] = function handleLoad() { - if (!request || (request.readyState !== 4 && !xDomain)) { - return; - } - - // The request errored out and we didn't get a response, this will be - // handled by onerror instead - // With one exception: request that using file: protocol, most browsers - // will return status as 0 even though it's a successful request - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { - return; - } - - // Prepare the response - var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; - var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response; - var response = { - data: responseData, - // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201) - status: request.status === 1223 ? 204 : request.status, - statusText: request.status === 1223 ? 'No Content' : request.statusText, - headers: responseHeaders, - config: config, - request: request - }; - - settle(resolve, reject, response); - - // Clean up request - request = null; - }; - - // Handle low level network errors - request.onerror = function handleError() { - // Real errors are hidden from us by the browser - // onerror should only fire if it's a network error - reject(createError('Network Error', config, null, request)); - - // Clean up request - request = null; - }; - - // Handle timeout - request.ontimeout = function handleTimeout() { - reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', - request)); - - // Clean up request - request = null; - }; - - // Add xsrf header - // This is only done if running in a standard browser environment. - // Specifically not if we're in a web worker, or react-native. - if (utils.isStandardBrowserEnv()) { - var cookies = __webpack_require__(16); - - // Add xsrf header - var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? - cookies.read(config.xsrfCookieName) : - undefined; - - if (xsrfValue) { - requestHeaders[config.xsrfHeaderName] = xsrfValue; - } - } - - // Add headers to the request - if ('setRequestHeader' in request) { - utils.forEach(requestHeaders, function setRequestHeader(val, key) { - if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { - // Remove Content-Type if data is undefined - delete requestHeaders[key]; - } else { - // Otherwise add header to the request - request.setRequestHeader(key, val); - } - }); - } - - // Add withCredentials to request if needed - if (config.withCredentials) { - request.withCredentials = true; - } - - // Add responseType to request if needed - if (config.responseType) { - try { - request.responseType = config.responseType; - } catch (e) { - // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2. - // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function. - if (config.responseType !== 'json') { - throw e; - } - } - } - - // Handle progress if needed - if (typeof config.onDownloadProgress === 'function') { - request.addEventListener('progress', config.onDownloadProgress); - } - - // Not all browsers support upload events - if (typeof config.onUploadProgress === 'function' && request.upload) { - request.upload.addEventListener('progress', config.onUploadProgress); - } - - if (config.cancelToken) { - // Handle cancellation - config.cancelToken.promise.then(function onCanceled(cancel) { - if (!request) { - return; - } - - request.abort(); - reject(cancel); - // Clean up request - request = null; - }); - } - - if (requestData === undefined) { - requestData = null; - } - - // Send the request - request.send(requestData); - }); - }; - - -/***/ }), -/* 9 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var createError = __webpack_require__(10); - - /** - * Resolve or reject a Promise based on response status. - * - * @param {Function} resolve A function that resolves the promise. - * @param {Function} reject A function that rejects the promise. - * @param {object} response The response. - */ - module.exports = function settle(resolve, reject, response) { - var validateStatus = response.config.validateStatus; - // Note: status is not exposed by XDomainRequest - if (!response.status || !validateStatus || validateStatus(response.status)) { - resolve(response); - } else { - reject(createError( - 'Request failed with status code ' + response.status, - response.config, - null, - response.request, - response - )); - } - }; - - -/***/ }), -/* 10 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var enhanceError = __webpack_require__(11); - - /** - * Create an Error with the specified message, config, error code, request and response. - * - * @param {string} message The error message. - * @param {Object} config The config. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * @returns {Error} The created error. - */ - module.exports = function createError(message, config, code, request, response) { - var error = new Error(message); - return enhanceError(error, config, code, request, response); - }; - - -/***/ }), -/* 11 */ -/***/ (function(module, exports) { - - 'use strict'; - - /** - * Update an Error with the specified config, error code, and response. - * - * @param {Error} error The error to update. - * @param {Object} config The config. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * @returns {Error} The error. - */ - module.exports = function enhanceError(error, config, code, request, response) { - error.config = config; - if (code) { - error.code = code; - } - error.request = request; - error.response = response; - return error; - }; - - -/***/ }), -/* 12 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var utils = __webpack_require__(2); - - function encode(val) { - return encodeURIComponent(val). - replace(/%40/gi, '@'). - replace(/%3A/gi, ':'). - replace(/%24/g, '$'). - replace(/%2C/gi, ','). - replace(/%20/g, '+'). - replace(/%5B/gi, '['). - replace(/%5D/gi, ']'); - } - - /** - * Build a URL by appending params to the end - * - * @param {string} url The base of the url (e.g., http://www.google.com) - * @param {object} [params] The params to be appended - * @returns {string} The formatted url - */ - module.exports = function buildURL(url, params, paramsSerializer) { - /*eslint no-param-reassign:0*/ - if (!params) { - return url; - } - - var serializedParams; - if (paramsSerializer) { - serializedParams = paramsSerializer(params); - } else if (utils.isURLSearchParams(params)) { - serializedParams = params.toString(); - } else { - var parts = []; - - utils.forEach(params, function serialize(val, key) { - if (val === null || typeof val === 'undefined') { - return; - } - - if (utils.isArray(val)) { - key = key + '[]'; - } else { - val = [val]; - } - - utils.forEach(val, function parseValue(v) { - if (utils.isDate(v)) { - v = v.toISOString(); - } else if (utils.isObject(v)) { - v = JSON.stringify(v); - } - parts.push(encode(key) + '=' + encode(v)); - }); - }); - - serializedParams = parts.join('&'); - } - - if (serializedParams) { - url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; - } - - return url; - }; - - -/***/ }), -/* 13 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var utils = __webpack_require__(2); - - // Headers whose duplicates are ignored by node - // c.f. https://nodejs.org/api/http.html#http_message_headers - var ignoreDuplicateOf = [ - 'age', 'authorization', 'content-length', 'content-type', 'etag', - 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', - 'last-modified', 'location', 'max-forwards', 'proxy-authorization', - 'referer', 'retry-after', 'user-agent' - ]; - - /** - * Parse headers into an object - * - * ``` - * Date: Wed, 27 Aug 2014 08:58:49 GMT - * Content-Type: application/json - * Connection: keep-alive - * Transfer-Encoding: chunked - * ``` - * - * @param {String} headers Headers needing to be parsed - * @returns {Object} Headers parsed into an object - */ - module.exports = function parseHeaders(headers) { - var parsed = {}; - var key; - var val; - var i; - - if (!headers) { return parsed; } - - utils.forEach(headers.split('\n'), function parser(line) { - i = line.indexOf(':'); - key = utils.trim(line.substr(0, i)).toLowerCase(); - val = utils.trim(line.substr(i + 1)); - - if (key) { - if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { - return; - } - if (key === 'set-cookie') { - parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); - } else { - parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; - } - } - }); - - return parsed; - }; - - -/***/ }), -/* 14 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var utils = __webpack_require__(2); - - module.exports = ( - utils.isStandardBrowserEnv() ? - - // Standard browser envs have full support of the APIs needed to test - // whether the request URL is of the same origin as current location. - (function standardBrowserEnv() { - var msie = /(msie|trident)/i.test(navigator.userAgent); - var urlParsingNode = document.createElement('a'); - var originURL; - - /** - * Parse a URL to discover it's components - * - * @param {String} url The URL to be parsed - * @returns {Object} - */ - function resolveURL(url) { - var href = url; - - if (msie) { - // IE needs attribute set twice to normalize properties - urlParsingNode.setAttribute('href', href); - href = urlParsingNode.href; - } - - urlParsingNode.setAttribute('href', href); - - // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils - return { - href: urlParsingNode.href, - protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', - host: urlParsingNode.host, - search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', - hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', - hostname: urlParsingNode.hostname, - port: urlParsingNode.port, - pathname: (urlParsingNode.pathname.charAt(0) === '/') ? - urlParsingNode.pathname : - '/' + urlParsingNode.pathname - }; - } - - originURL = resolveURL(window.location.href); - - /** - * Determine if a URL shares the same origin as the current location - * - * @param {String} requestURL The URL to test - * @returns {boolean} True if URL shares the same origin, otherwise false - */ - return function isURLSameOrigin(requestURL) { - var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; - return (parsed.protocol === originURL.protocol && - parsed.host === originURL.host); - }; - })() : - - // Non standard browser envs (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return function isURLSameOrigin() { - return true; - }; - })() - ); - - -/***/ }), -/* 15 */ -/***/ (function(module, exports) { - - 'use strict'; - - // btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js - - var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; - - function E() { - this.message = 'String contains an invalid character'; - } - E.prototype = new Error; - E.prototype.code = 5; - E.prototype.name = 'InvalidCharacterError'; - - function btoa(input) { - var str = String(input); - var output = ''; - for ( - // initialize result and counter - var block, charCode, idx = 0, map = chars; - // if the next str index does not exist: - // change the mapping table to "=" - // check if d has no fractional digits - str.charAt(idx | 0) || (map = '=', idx % 1); - // "8 - idx % 1 * 8" generates the sequence 2, 4, 6, 8 - output += map.charAt(63 & block >> 8 - idx % 1 * 8) - ) { - charCode = str.charCodeAt(idx += 3 / 4); - if (charCode > 0xFF) { - throw new E(); - } - block = block << 8 | charCode; - } - return output; - } - - module.exports = btoa; - - -/***/ }), -/* 16 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var utils = __webpack_require__(2); - - module.exports = ( - utils.isStandardBrowserEnv() ? - - // Standard browser envs support document.cookie - (function standardBrowserEnv() { - return { - write: function write(name, value, expires, path, domain, secure) { - var cookie = []; - cookie.push(name + '=' + encodeURIComponent(value)); - - if (utils.isNumber(expires)) { - cookie.push('expires=' + new Date(expires).toGMTString()); - } - - if (utils.isString(path)) { - cookie.push('path=' + path); - } - - if (utils.isString(domain)) { - cookie.push('domain=' + domain); - } - - if (secure === true) { - cookie.push('secure'); - } - - document.cookie = cookie.join('; '); - }, - - read: function read(name) { - var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); - return (match ? decodeURIComponent(match[3]) : null); - }, - - remove: function remove(name) { - this.write(name, '', Date.now() - 86400000); - } - }; - })() : - - // Non standard browser env (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return { - write: function write() {}, - read: function read() { return null; }, - remove: function remove() {} - }; - })() - ); - - -/***/ }), -/* 17 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var utils = __webpack_require__(2); - - function InterceptorManager() { - this.handlers = []; - } - - /** - * Add a new interceptor to the stack - * - * @param {Function} fulfilled The function to handle `then` for a `Promise` - * @param {Function} rejected The function to handle `reject` for a `Promise` - * - * @return {Number} An ID used to remove interceptor later - */ - InterceptorManager.prototype.use = function use(fulfilled, rejected) { - this.handlers.push({ - fulfilled: fulfilled, - rejected: rejected - }); - return this.handlers.length - 1; - }; - - /** - * Remove an interceptor from the stack - * - * @param {Number} id The ID that was returned by `use` - */ - InterceptorManager.prototype.eject = function eject(id) { - if (this.handlers[id]) { - this.handlers[id] = null; - } - }; - - /** - * Iterate over all the registered interceptors - * - * This method is particularly useful for skipping over any - * interceptors that may have become `null` calling `eject`. - * - * @param {Function} fn The function to call for each interceptor - */ - InterceptorManager.prototype.forEach = function forEach(fn) { - utils.forEach(this.handlers, function forEachHandler(h) { - if (h !== null) { - fn(h); - } - }); - }; - - module.exports = InterceptorManager; - - -/***/ }), -/* 18 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var utils = __webpack_require__(2); - var transformData = __webpack_require__(19); - var isCancel = __webpack_require__(20); - var defaults = __webpack_require__(6); - var isAbsoluteURL = __webpack_require__(21); - var combineURLs = __webpack_require__(22); - - /** - * Throws a `Cancel` if cancellation has been requested. - */ - function throwIfCancellationRequested(config) { - if (config.cancelToken) { - config.cancelToken.throwIfRequested(); - } - } - - /** - * Dispatch a request to the server using the configured adapter. - * - * @param {object} config The config that is to be used for the request - * @returns {Promise} The Promise to be fulfilled - */ - module.exports = function dispatchRequest(config) { - throwIfCancellationRequested(config); - - // Support baseURL config - if (config.baseURL && !isAbsoluteURL(config.url)) { - config.url = combineURLs(config.baseURL, config.url); - } - - // Ensure headers exist - config.headers = config.headers || {}; - - // Transform request data - config.data = transformData( - config.data, - config.headers, - config.transformRequest - ); - - // Flatten headers - config.headers = utils.merge( - config.headers.common || {}, - config.headers[config.method] || {}, - config.headers || {} - ); - - utils.forEach( - ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], - function cleanHeaderConfig(method) { - delete config.headers[method]; - } - ); - - var adapter = config.adapter || defaults.adapter; - - return adapter(config).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config); - - // Transform response data - response.data = transformData( - response.data, - response.headers, - config.transformResponse - ); - - return response; - }, function onAdapterRejection(reason) { - if (!isCancel(reason)) { - throwIfCancellationRequested(config); - - // Transform response data - if (reason && reason.response) { - reason.response.data = transformData( - reason.response.data, - reason.response.headers, - config.transformResponse - ); - } - } - - return Promise.reject(reason); - }); - }; - - -/***/ }), -/* 19 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var utils = __webpack_require__(2); - - /** - * Transform the data for a request or a response - * - * @param {Object|String} data The data to be transformed - * @param {Array} headers The headers for the request or response - * @param {Array|Function} fns A single function or Array of functions - * @returns {*} The resulting transformed data - */ - module.exports = function transformData(data, headers, fns) { - /*eslint no-param-reassign:0*/ - utils.forEach(fns, function transform(fn) { - data = fn(data, headers); - }); - - return data; - }; - - -/***/ }), -/* 20 */ -/***/ (function(module, exports) { - - 'use strict'; - - module.exports = function isCancel(value) { - return !!(value && value.__CANCEL__); - }; - - -/***/ }), -/* 21 */ -/***/ (function(module, exports) { - - 'use strict'; - - /** - * Determines whether the specified URL is absolute - * - * @param {string} url The URL to test - * @returns {boolean} True if the specified URL is absolute, otherwise false - */ - module.exports = function isAbsoluteURL(url) { - // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). - // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed - // by any combination of letters, digits, plus, period, or hyphen. - return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url); - }; - - -/***/ }), -/* 22 */ -/***/ (function(module, exports) { - - 'use strict'; - - /** - * Creates a new URL by combining the specified URLs - * - * @param {string} baseURL The base URL - * @param {string} relativeURL The relative URL - * @returns {string} The combined URL - */ - module.exports = function combineURLs(baseURL, relativeURL) { - return relativeURL - ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') - : baseURL; - }; - - -/***/ }), -/* 23 */ -/***/ (function(module, exports) { - - 'use strict'; - - /** - * A `Cancel` is an object that is thrown when an operation is canceled. - * - * @class - * @param {string=} message The message. - */ - function Cancel(message) { - this.message = message; - } - - Cancel.prototype.toString = function toString() { - return 'Cancel' + (this.message ? ': ' + this.message : ''); - }; - - Cancel.prototype.__CANCEL__ = true; - - module.exports = Cancel; - - -/***/ }), -/* 24 */ -/***/ (function(module, exports, __webpack_require__) { - - 'use strict'; - - var Cancel = __webpack_require__(23); - - /** - * A `CancelToken` is an object that can be used to request cancellation of an operation. - * - * @class - * @param {Function} executor The executor function. - */ - function CancelToken(executor) { - if (typeof executor !== 'function') { - throw new TypeError('executor must be a function.'); - } - - var resolvePromise; - this.promise = new Promise(function promiseExecutor(resolve) { - resolvePromise = resolve; - }); - - var token = this; - executor(function cancel(message) { - if (token.reason) { - // Cancellation has already been requested - return; - } - - token.reason = new Cancel(message); - resolvePromise(token.reason); - }); - } - - /** - * Throws a `Cancel` if cancellation has been requested. - */ - CancelToken.prototype.throwIfRequested = function throwIfRequested() { - if (this.reason) { - throw this.reason; - } - }; - - /** - * Returns an object that contains a new `CancelToken` and a function that, when called, - * cancels the `CancelToken`. - */ - CancelToken.source = function source() { - var cancel; - var token = new CancelToken(function executor(c) { - cancel = c; - }); - return { - token: token, - cancel: cancel - }; - }; - - module.exports = CancelToken; - - -/***/ }), -/* 25 */ -/***/ (function(module, exports) { - - 'use strict'; - - /** - * Syntactic sugar for invoking a function and expanding an array for arguments. - * - * Common use case would be to use `Function.prototype.apply`. - * - * ```js - * function f(x, y, z) {} - * var args = [1, 2, 3]; - * f.apply(null, args); - * ``` - * - * With `spread` this example can be re-written. - * - * ```js - * spread(function(x, y, z) {})([1, 2, 3]); - * ``` - * - * @param {Function} callback - * @returns {Function} - */ - module.exports = function spread(callback) { - return function wrap(arr) { - return callback.apply(null, arr); - }; - }; - - -/***/ }) -/******/ ]) -}); -; -//# sourceMappingURL=axios.map \ No newline at end of file diff --git a/electron/src/node_modules/axios/dist/axios.map b/electron/src/node_modules/axios/dist/axios.map deleted file mode 100755 index 6b76578..0000000 --- a/electron/src/node_modules/axios/dist/axios.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 48f4719183d3ec9e4379","webpack:///./index.js","webpack:///./lib/axios.js","webpack:///./lib/utils.js","webpack:///./lib/helpers/bind.js","webpack:///./~/is-buffer/index.js","webpack:///./lib/core/Axios.js","webpack:///./lib/defaults.js","webpack:///./lib/helpers/normalizeHeaderName.js","webpack:///./lib/adapters/xhr.js","webpack:///./lib/core/settle.js","webpack:///./lib/core/createError.js","webpack:///./lib/core/enhanceError.js","webpack:///./lib/helpers/buildURL.js","webpack:///./lib/helpers/parseHeaders.js","webpack:///./lib/helpers/isURLSameOrigin.js","webpack:///./lib/helpers/btoa.js","webpack:///./lib/helpers/cookies.js","webpack:///./lib/core/InterceptorManager.js","webpack:///./lib/core/dispatchRequest.js","webpack:///./lib/core/transformData.js","webpack:///./lib/cancel/isCancel.js","webpack:///./lib/helpers/isAbsoluteURL.js","webpack:///./lib/helpers/combineURLs.js","webpack:///./lib/cancel/Cancel.js","webpack:///./lib/cancel/CancelToken.js","webpack:///./lib/helpers/spread.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;ACtCA,yC;;;;;;ACAA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY,MAAM;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;;;;;ACnDA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,aAAa;AACxB,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAmC,OAAO;AAC1C;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA2B;AAC3B;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA,wCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9SA;;AAEA;AACA;AACA;AACA,oBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;ACpBA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA,mCAAkC,cAAc;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iDAAgD;AAChD;AACA;AACA,MAAK;AACL;AACA,EAAC;;AAED;AACA;AACA;AACA,iDAAgD;AAChD;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC;;AAED;;;;;;;AC9EA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAwE;AACxE;AACA;AACA;AACA,wDAAuD;AACvD;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,QAAO,YAAY;AACnB;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA,EAAC;;AAED;;;;;;;AC/FA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;;;;;;ACXA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,6CAA4C;AAC5C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;;;;;;;ACnLA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzBA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpBA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,QAAO;AACP,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;ACjEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,eAAe;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,IAAG;;AAEH;AACA;;;;;;;ACpDA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAc,OAAO;AACrB,iBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,eAAc,OAAO;AACrB,iBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;;;;;;ACnEA;;AAEA;;AAEA;;AAEA;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;;AAEA;;;;;;;ACnCA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,yCAAwC;AACxC,QAAO;;AAEP;AACA,2DAA0D,wBAAwB;AAClF;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,iCAAgC;AAChC,8BAA6B,aAAa,EAAE;AAC5C;AACA;AACA,IAAG;AACH;;;;;;;ACpDA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB;AACA,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;;;;;;ACnDA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAA+B;AAC/B,wCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;;;;;;;ACrFA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,cAAc;AACzB,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;;;;;;ACnBA;;AAEA;AACA;AACA;;;;;;;ACJA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACbA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;;;;;;ACbA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;;;;;;AClBA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxDA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA,YAAW,SAAS;AACpB,cAAa;AACb;AACA;AACA;AACA;AACA;AACA","file":"axios.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"axios\"] = factory();\n\telse\n\t\troot[\"axios\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\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\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\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.loaded = 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// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 48f4719183d3ec9e4379","module.exports = require('./lib/axios');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./index.js\n// module id = 0\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/axios.js\n// module id = 1\n// module chunks = 0","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/utils.js\n// module id = 2\n// module chunks = 0","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/bind.js\n// module id = 3\n// module chunks = 0","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/is-buffer/index.js\n// module id = 4\n// module chunks = 0","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/Axios.js\n// module id = 5\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/defaults.js\n// module id = 6\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/normalizeHeaderName.js\n// module id = 7\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/adapters/xhr.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/settle.js\n// module id = 9\n// module chunks = 0","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/createError.js\n// module id = 10\n// module chunks = 0","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/enhanceError.js\n// module id = 11\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/buildURL.js\n// module id = 12\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/parseHeaders.js\n// module id = 13\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/isURLSameOrigin.js\n// module id = 14\n// module chunks = 0","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/btoa.js\n// module id = 15\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/cookies.js\n// module id = 16\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/InterceptorManager.js\n// module id = 17\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/dispatchRequest.js\n// module id = 18\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/transformData.js\n// module id = 19\n// module chunks = 0","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/isCancel.js\n// module id = 20\n// module chunks = 0","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/isAbsoluteURL.js\n// module id = 21\n// module chunks = 0","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/combineURLs.js\n// module id = 22\n// module chunks = 0","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/Cancel.js\n// module id = 23\n// module chunks = 0","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/CancelToken.js\n// module id = 24\n// module chunks = 0","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/spread.js\n// module id = 25\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/electron/src/node_modules/axios/dist/axios.min.js b/electron/src/node_modules/axios/dist/axios.min.js deleted file mode 100755 index 69cc188..0000000 --- a/electron/src/node_modules/axios/dist/axios.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/* axios v0.18.0 | (c) 2018 by Matt Zabriskie */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new s(e),n=i(s.prototype.request,t);return o.extend(n,s.prototype,t),o.extend(n,t),n}var o=n(2),i=n(3),s=n(5),u=n(6),a=r(u);a.Axios=s,a.create=function(e){return r(o.merge(u,e))},a.Cancel=n(23),a.CancelToken=n(24),a.isCancel=n(20),a.all=function(e){return Promise.all(e)},a.spread=n(25),e.exports=a,e.exports.default=a},function(e,t,n){"use strict";function r(e){return"[object Array]"===R.call(e)}function o(e){return"[object ArrayBuffer]"===R.call(e)}function i(e){return"undefined"!=typeof FormData&&e instanceof FormData}function s(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function u(e){return"string"==typeof e}function a(e){return"number"==typeof e}function c(e){return"undefined"==typeof e}function f(e){return null!==e&&"object"==typeof e}function p(e){return"[object Date]"===R.call(e)}function d(e){return"[object File]"===R.call(e)}function l(e){return"[object Blob]"===R.call(e)}function h(e){return"[object Function]"===R.call(e)}function m(e){return f(e)&&h(e.pipe)}function y(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function w(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function g(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function v(e,t){if(null!==e&&"undefined"!=typeof e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,o=e.length;n - * @license MIT - */ -e.exports=function(e){return null!=e&&(n(e)||r(e)||!!e._isBuffer)}},function(e,t,n){"use strict";function r(e){this.defaults=e,this.interceptors={request:new s,response:new s}}var o=n(6),i=n(2),s=n(17),u=n(18);r.prototype.request=function(e){"string"==typeof e&&(e=i.merge({url:arguments[0]},arguments[1])),e=i.merge(o,{method:"get"},this.defaults,e),e.method=e.method.toLowerCase();var t=[u,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},i.forEach(["delete","get","head","options"],function(e){r.prototype[e]=function(t,n){return this.request(i.merge(n||{},{method:e,url:t}))}}),i.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(i.merge(r||{},{method:e,url:t,data:n}))}}),e.exports=r},function(e,t,n){"use strict";function r(e,t){!i.isUndefined(e)&&i.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function o(){var e;return"undefined"!=typeof XMLHttpRequest?e=n(8):"undefined"!=typeof process&&(e=n(8)),e}var i=n(2),s=n(7),u={"Content-Type":"application/x-www-form-urlencoded"},a={adapter:o(),transformRequest:[function(e,t){return s(t,"Content-Type"),i.isFormData(e)||i.isArrayBuffer(e)||i.isBuffer(e)||i.isStream(e)||i.isFile(e)||i.isBlob(e)?e:i.isArrayBufferView(e)?e.buffer:i.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):i.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};a.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){a.headers[e]={}}),i.forEach(["post","put","patch"],function(e){a.headers[e]=i.merge(u)}),e.exports=a},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(2),o=n(9),i=n(12),s=n(13),u=n(14),a=n(10),c="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(15);e.exports=function(e){return new Promise(function(t,f){var p=e.data,d=e.headers;r.isFormData(p)&&delete d["Content-Type"];var l=new XMLHttpRequest,h="onreadystatechange",m=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in l||u(e.url)||(l=new window.XDomainRequest,h="onload",m=!0,l.onprogress=function(){},l.ontimeout=function(){}),e.auth){var y=e.auth.username||"",w=e.auth.password||"";d.Authorization="Basic "+c(y+":"+w)}if(l.open(e.method.toUpperCase(),i(e.url,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,l[h]=function(){if(l&&(4===l.readyState||m)&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in l?s(l.getAllResponseHeaders()):null,r=e.responseType&&"text"!==e.responseType?l.response:l.responseText,i={data:r,status:1223===l.status?204:l.status,statusText:1223===l.status?"No Content":l.statusText,headers:n,config:e,request:l};o(t,f,i),l=null}},l.onerror=function(){f(a("Network Error",e,null,l)),l=null},l.ontimeout=function(){f(a("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",l)),l=null},r.isStandardBrowserEnv()){var g=n(16),v=(e.withCredentials||u(e.url))&&e.xsrfCookieName?g.read(e.xsrfCookieName):void 0;v&&(d[e.xsrfHeaderName]=v)}if("setRequestHeader"in l&&r.forEach(d,function(e,t){"undefined"==typeof p&&"content-type"===t.toLowerCase()?delete d[t]:l.setRequestHeader(t,e)}),e.withCredentials&&(l.withCredentials=!0),e.responseType)try{l.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&l.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){l&&(l.abort(),f(e),l=null)}),void 0===p&&(p=null),l.send(p)})}},function(e,t,n){"use strict";var r=n(10);e.exports=function(e,t,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e,t,n,o,i){var s=new Error(e);return r(s,t,n,o,i)}},function(e,t){"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var o=n(2);e.exports=function(e,t,n){if(!t)return e;var i;if(n)i=n(t);else if(o.isURLSearchParams(t))i=t.toString();else{var s=[];o.forEach(t,function(e,t){null!==e&&"undefined"!=typeof e&&(o.isArray(e)?t+="[]":e=[e],o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),s.push(r(t)+"="+r(e))}))}),i=s.join("&")}return i&&(e+=(e.indexOf("?")===-1?"?":"&")+i),e}},function(e,t,n){"use strict";var r=n(2),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,i,s={};return e?(r.forEach(e.split("\n"),function(e){if(i=e.indexOf(":"),t=r.trim(e.substr(0,i)).toLowerCase(),n=r.trim(e.substr(i+1)),t){if(s[t]&&o.indexOf(t)>=0)return;"set-cookie"===t?s[t]=(s[t]?s[t]:[]).concat([n]):s[t]=s[t]?s[t]+", "+n:n}}),s):s}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(o.setAttribute("href",t),t=o.href),o.setAttribute("href",t),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");return t=e(window.location.href),function(n){var o=r.isString(n)?e(n):n;return o.protocol===t.protocol&&o.host===t.host}}():function(){return function(){return!0}}()},function(e,t){"use strict";function n(){this.message="String contains an invalid character"}function r(e){for(var t,r,i=String(e),s="",u=0,a=o;i.charAt(0|u)||(a="=",u%1);s+=a.charAt(63&t>>8-u%1*8)){if(r=i.charCodeAt(u+=.75),r>255)throw new n;t=t<<8|r}return s}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.prototype=new Error,n.prototype.code=5,n.prototype.name="InvalidCharacterError",e.exports=r},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,o,i,s){var u=[];u.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&u.push("expires="+new Date(n).toGMTString()),r.isString(o)&&u.push("path="+o),r.isString(i)&&u.push("domain="+i),s===!0&&u.push("secure"),document.cookie=u.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t,n){"use strict";function r(){this.handlers=[]}var o=n(2);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){o.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var o=n(2),i=n(19),s=n(20),u=n(6),a=n(21),c=n(22);e.exports=function(e){r(e),e.baseURL&&!a(e.url)&&(e.url=c(e.baseURL,e.url)),e.headers=e.headers||{},e.data=i(e.data,e.headers,e.transformRequest),e.headers=o.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),o.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});var t=e.adapter||u.adapter;return t(e).then(function(t){return r(e),t.data=i(t.data,t.headers,e.transformResponse),t},function(t){return s(t)||(r(e),t&&t.response&&(t.response.data=i(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new o(e),t(n.reason))})}var o=n(23);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e,t=new r(function(t){e=t});return{token:t,cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])}); -//# sourceMappingURL=axios.min.map \ No newline at end of file diff --git a/electron/src/node_modules/axios/dist/axios.min.map b/electron/src/node_modules/axios/dist/axios.min.map deleted file mode 100755 index f7fdd44..0000000 --- a/electron/src/node_modules/axios/dist/axios.min.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///axios.min.js","webpack:///webpack/bootstrap dad8263224c86c166a30","webpack:///./index.js","webpack:///./lib/axios.js","webpack:///./lib/utils.js","webpack:///./lib/helpers/bind.js","webpack:///./~/is-buffer/index.js","webpack:///./lib/core/Axios.js","webpack:///./lib/defaults.js","webpack:///./lib/helpers/normalizeHeaderName.js","webpack:///./lib/adapters/xhr.js","webpack:///./lib/core/settle.js","webpack:///./lib/core/createError.js","webpack:///./lib/core/enhanceError.js","webpack:///./lib/helpers/buildURL.js","webpack:///./lib/helpers/parseHeaders.js","webpack:///./lib/helpers/isURLSameOrigin.js","webpack:///./lib/helpers/btoa.js","webpack:///./lib/helpers/cookies.js","webpack:///./lib/core/InterceptorManager.js","webpack:///./lib/core/dispatchRequest.js","webpack:///./lib/core/transformData.js","webpack:///./lib/cancel/isCancel.js","webpack:///./lib/helpers/isAbsoluteURL.js","webpack:///./lib/helpers/combineURLs.js","webpack:///./lib/cancel/Cancel.js","webpack:///./lib/cancel/CancelToken.js","webpack:///./lib/helpers/spread.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","createInstance","defaultConfig","context","Axios","instance","bind","prototype","request","utils","extend","defaults","axios","create","instanceConfig","merge","Cancel","CancelToken","isCancel","all","promises","Promise","spread","default","isArray","val","toString","isArrayBuffer","isFormData","FormData","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isObject","isDate","isFile","isBlob","isFunction","isStream","pipe","isURLSearchParams","URLSearchParams","trim","str","replace","isStandardBrowserEnv","navigator","product","window","document","forEach","obj","fn","i","l","length","key","Object","hasOwnProperty","assignValue","arguments","a","b","thisArg","isBuffer","args","Array","apply","constructor","isSlowBuffer","readFloatLE","slice","_isBuffer","interceptors","InterceptorManager","response","dispatchRequest","config","url","method","toLowerCase","chain","undefined","promise","resolve","interceptor","unshift","fulfilled","rejected","push","then","shift","data","setContentTypeIfUnset","headers","value","getDefaultAdapter","adapter","XMLHttpRequest","process","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","transformRequest","JSON","stringify","transformResponse","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","Accept","normalizedName","name","toUpperCase","settle","buildURL","parseHeaders","isURLSameOrigin","createError","btoa","reject","requestData","requestHeaders","loadEvent","xDomain","XDomainRequest","onprogress","ontimeout","auth","username","password","Authorization","open","params","paramsSerializer","readyState","responseURL","indexOf","responseHeaders","getAllResponseHeaders","responseData","responseType","responseText","statusText","onerror","cookies","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","cancel","abort","send","enhanceError","message","code","error","Error","encode","encodeURIComponent","serializedParams","parts","v","toISOString","join","ignoreDuplicateOf","parsed","split","line","substr","concat","resolveURL","href","msie","urlParsingNode","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","originURL","test","userAgent","createElement","location","requestURL","E","input","block","charCode","String","output","idx","map","chars","charCodeAt","write","expires","path","domain","secure","cookie","Date","toGMTString","match","RegExp","decodeURIComponent","remove","now","handlers","use","eject","h","throwIfCancellationRequested","throwIfRequested","transformData","isAbsoluteURL","combineURLs","baseURL","reason","fns","__CANCEL__","relativeURL","executor","TypeError","resolvePromise","token","source","callback","arr"],"mappings":"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","file":"axios.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"axios\"] = factory();\n\telse\n\t\troot[\"axios\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"axios\"] = factory();\n\telse\n\t\troot[\"axios\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\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.loaded = 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// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(1);\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\tvar bind = __webpack_require__(3);\n\tvar Axios = __webpack_require__(5);\n\tvar defaults = __webpack_require__(6);\n\t\n\t/**\n\t * Create an instance of Axios\n\t *\n\t * @param {Object} defaultConfig The default config for the instance\n\t * @return {Axios} A new instance of Axios\n\t */\n\tfunction createInstance(defaultConfig) {\n\t var context = new Axios(defaultConfig);\n\t var instance = bind(Axios.prototype.request, context);\n\t\n\t // Copy axios.prototype to instance\n\t utils.extend(instance, Axios.prototype, context);\n\t\n\t // Copy context to instance\n\t utils.extend(instance, context);\n\t\n\t return instance;\n\t}\n\t\n\t// Create the default instance to be exported\n\tvar axios = createInstance(defaults);\n\t\n\t// Expose Axios class to allow class inheritance\n\taxios.Axios = Axios;\n\t\n\t// Factory for creating new instances\n\taxios.create = function create(instanceConfig) {\n\t return createInstance(utils.merge(defaults, instanceConfig));\n\t};\n\t\n\t// Expose Cancel & CancelToken\n\taxios.Cancel = __webpack_require__(23);\n\taxios.CancelToken = __webpack_require__(24);\n\taxios.isCancel = __webpack_require__(20);\n\t\n\t// Expose all/spread\n\taxios.all = function all(promises) {\n\t return Promise.all(promises);\n\t};\n\taxios.spread = __webpack_require__(25);\n\t\n\tmodule.exports = axios;\n\t\n\t// Allow use of default import syntax in TypeScript\n\tmodule.exports.default = axios;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar bind = __webpack_require__(3);\n\tvar isBuffer = __webpack_require__(4);\n\t\n\t/*global toString:true*/\n\t\n\t// utils is a library of generic helper functions non-specific to axios\n\t\n\tvar toString = Object.prototype.toString;\n\t\n\t/**\n\t * Determine if a value is an Array\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is an Array, otherwise false\n\t */\n\tfunction isArray(val) {\n\t return toString.call(val) === '[object Array]';\n\t}\n\t\n\t/**\n\t * Determine if a value is an ArrayBuffer\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n\t */\n\tfunction isArrayBuffer(val) {\n\t return toString.call(val) === '[object ArrayBuffer]';\n\t}\n\t\n\t/**\n\t * Determine if a value is a FormData\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is an FormData, otherwise false\n\t */\n\tfunction isFormData(val) {\n\t return (typeof FormData !== 'undefined') && (val instanceof FormData);\n\t}\n\t\n\t/**\n\t * Determine if a value is a view on an ArrayBuffer\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n\t */\n\tfunction isArrayBufferView(val) {\n\t var result;\n\t if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n\t result = ArrayBuffer.isView(val);\n\t } else {\n\t result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n\t }\n\t return result;\n\t}\n\t\n\t/**\n\t * Determine if a value is a String\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a String, otherwise false\n\t */\n\tfunction isString(val) {\n\t return typeof val === 'string';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Number\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Number, otherwise false\n\t */\n\tfunction isNumber(val) {\n\t return typeof val === 'number';\n\t}\n\t\n\t/**\n\t * Determine if a value is undefined\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if the value is undefined, otherwise false\n\t */\n\tfunction isUndefined(val) {\n\t return typeof val === 'undefined';\n\t}\n\t\n\t/**\n\t * Determine if a value is an Object\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is an Object, otherwise false\n\t */\n\tfunction isObject(val) {\n\t return val !== null && typeof val === 'object';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Date\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Date, otherwise false\n\t */\n\tfunction isDate(val) {\n\t return toString.call(val) === '[object Date]';\n\t}\n\t\n\t/**\n\t * Determine if a value is a File\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a File, otherwise false\n\t */\n\tfunction isFile(val) {\n\t return toString.call(val) === '[object File]';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Blob\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Blob, otherwise false\n\t */\n\tfunction isBlob(val) {\n\t return toString.call(val) === '[object Blob]';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Function\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Function, otherwise false\n\t */\n\tfunction isFunction(val) {\n\t return toString.call(val) === '[object Function]';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Stream\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Stream, otherwise false\n\t */\n\tfunction isStream(val) {\n\t return isObject(val) && isFunction(val.pipe);\n\t}\n\t\n\t/**\n\t * Determine if a value is a URLSearchParams object\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n\t */\n\tfunction isURLSearchParams(val) {\n\t return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n\t}\n\t\n\t/**\n\t * Trim excess whitespace off the beginning and end of a string\n\t *\n\t * @param {String} str The String to trim\n\t * @returns {String} The String freed of excess whitespace\n\t */\n\tfunction trim(str) {\n\t return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n\t}\n\t\n\t/**\n\t * Determine if we're running in a standard browser environment\n\t *\n\t * This allows axios to run in a web worker, and react-native.\n\t * Both environments support XMLHttpRequest, but not fully standard globals.\n\t *\n\t * web workers:\n\t * typeof window -> undefined\n\t * typeof document -> undefined\n\t *\n\t * react-native:\n\t * navigator.product -> 'ReactNative'\n\t */\n\tfunction isStandardBrowserEnv() {\n\t if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n\t return false;\n\t }\n\t return (\n\t typeof window !== 'undefined' &&\n\t typeof document !== 'undefined'\n\t );\n\t}\n\t\n\t/**\n\t * Iterate over an Array or an Object invoking a function for each item.\n\t *\n\t * If `obj` is an Array callback will be called passing\n\t * the value, index, and complete array for each item.\n\t *\n\t * If 'obj' is an Object callback will be called passing\n\t * the value, key, and complete object for each property.\n\t *\n\t * @param {Object|Array} obj The object to iterate\n\t * @param {Function} fn The callback to invoke for each item\n\t */\n\tfunction forEach(obj, fn) {\n\t // Don't bother if no value provided\n\t if (obj === null || typeof obj === 'undefined') {\n\t return;\n\t }\n\t\n\t // Force an array if not already something iterable\n\t if (typeof obj !== 'object') {\n\t /*eslint no-param-reassign:0*/\n\t obj = [obj];\n\t }\n\t\n\t if (isArray(obj)) {\n\t // Iterate over array values\n\t for (var i = 0, l = obj.length; i < l; i++) {\n\t fn.call(null, obj[i], i, obj);\n\t }\n\t } else {\n\t // Iterate over object keys\n\t for (var key in obj) {\n\t if (Object.prototype.hasOwnProperty.call(obj, key)) {\n\t fn.call(null, obj[key], key, obj);\n\t }\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * Accepts varargs expecting each argument to be an object, then\n\t * immutably merges the properties of each object and returns result.\n\t *\n\t * When multiple objects contain the same key the later object in\n\t * the arguments list will take precedence.\n\t *\n\t * Example:\n\t *\n\t * ```js\n\t * var result = merge({foo: 123}, {foo: 456});\n\t * console.log(result.foo); // outputs 456\n\t * ```\n\t *\n\t * @param {Object} obj1 Object to merge\n\t * @returns {Object} Result of all merge properties\n\t */\n\tfunction merge(/* obj1, obj2, obj3, ... */) {\n\t var result = {};\n\t function assignValue(val, key) {\n\t if (typeof result[key] === 'object' && typeof val === 'object') {\n\t result[key] = merge(result[key], val);\n\t } else {\n\t result[key] = val;\n\t }\n\t }\n\t\n\t for (var i = 0, l = arguments.length; i < l; i++) {\n\t forEach(arguments[i], assignValue);\n\t }\n\t return result;\n\t}\n\t\n\t/**\n\t * Extends object a by mutably adding to it the properties of object b.\n\t *\n\t * @param {Object} a The object to be extended\n\t * @param {Object} b The object to copy properties from\n\t * @param {Object} thisArg The object to bind function to\n\t * @return {Object} The resulting value of object a\n\t */\n\tfunction extend(a, b, thisArg) {\n\t forEach(b, function assignValue(val, key) {\n\t if (thisArg && typeof val === 'function') {\n\t a[key] = bind(val, thisArg);\n\t } else {\n\t a[key] = val;\n\t }\n\t });\n\t return a;\n\t}\n\t\n\tmodule.exports = {\n\t isArray: isArray,\n\t isArrayBuffer: isArrayBuffer,\n\t isBuffer: isBuffer,\n\t isFormData: isFormData,\n\t isArrayBufferView: isArrayBufferView,\n\t isString: isString,\n\t isNumber: isNumber,\n\t isObject: isObject,\n\t isUndefined: isUndefined,\n\t isDate: isDate,\n\t isFile: isFile,\n\t isBlob: isBlob,\n\t isFunction: isFunction,\n\t isStream: isStream,\n\t isURLSearchParams: isURLSearchParams,\n\t isStandardBrowserEnv: isStandardBrowserEnv,\n\t forEach: forEach,\n\t merge: merge,\n\t extend: extend,\n\t trim: trim\n\t};\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tmodule.exports = function bind(fn, thisArg) {\n\t return function wrap() {\n\t var args = new Array(arguments.length);\n\t for (var i = 0; i < args.length; i++) {\n\t args[i] = arguments[i];\n\t }\n\t return fn.apply(thisArg, args);\n\t };\n\t};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\n\t/*!\n\t * Determine if an object is a Buffer\n\t *\n\t * @author Feross Aboukhadijeh \n\t * @license MIT\n\t */\n\t\n\t// The _isBuffer check is for Safari 5-7 support, because it's missing\n\t// Object.prototype.constructor. Remove this eventually\n\tmodule.exports = function (obj) {\n\t return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n\t}\n\t\n\tfunction isBuffer (obj) {\n\t return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n\t}\n\t\n\t// For Node v0.10 support. Remove this eventually.\n\tfunction isSlowBuffer (obj) {\n\t return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n\t}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar defaults = __webpack_require__(6);\n\tvar utils = __webpack_require__(2);\n\tvar InterceptorManager = __webpack_require__(17);\n\tvar dispatchRequest = __webpack_require__(18);\n\t\n\t/**\n\t * Create a new instance of Axios\n\t *\n\t * @param {Object} instanceConfig The default config for the instance\n\t */\n\tfunction Axios(instanceConfig) {\n\t this.defaults = instanceConfig;\n\t this.interceptors = {\n\t request: new InterceptorManager(),\n\t response: new InterceptorManager()\n\t };\n\t}\n\t\n\t/**\n\t * Dispatch a request\n\t *\n\t * @param {Object} config The config specific for this request (merged with this.defaults)\n\t */\n\tAxios.prototype.request = function request(config) {\n\t /*eslint no-param-reassign:0*/\n\t // Allow for axios('example/url'[, config]) a la fetch API\n\t if (typeof config === 'string') {\n\t config = utils.merge({\n\t url: arguments[0]\n\t }, arguments[1]);\n\t }\n\t\n\t config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n\t config.method = config.method.toLowerCase();\n\t\n\t // Hook up interceptors middleware\n\t var chain = [dispatchRequest, undefined];\n\t var promise = Promise.resolve(config);\n\t\n\t this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n\t chain.unshift(interceptor.fulfilled, interceptor.rejected);\n\t });\n\t\n\t this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n\t chain.push(interceptor.fulfilled, interceptor.rejected);\n\t });\n\t\n\t while (chain.length) {\n\t promise = promise.then(chain.shift(), chain.shift());\n\t }\n\t\n\t return promise;\n\t};\n\t\n\t// Provide aliases for supported request methods\n\tutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n\t /*eslint func-names:0*/\n\t Axios.prototype[method] = function(url, config) {\n\t return this.request(utils.merge(config || {}, {\n\t method: method,\n\t url: url\n\t }));\n\t };\n\t});\n\t\n\tutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n\t /*eslint func-names:0*/\n\t Axios.prototype[method] = function(url, data, config) {\n\t return this.request(utils.merge(config || {}, {\n\t method: method,\n\t url: url,\n\t data: data\n\t }));\n\t };\n\t});\n\t\n\tmodule.exports = Axios;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\tvar normalizeHeaderName = __webpack_require__(7);\n\t\n\tvar DEFAULT_CONTENT_TYPE = {\n\t 'Content-Type': 'application/x-www-form-urlencoded'\n\t};\n\t\n\tfunction setContentTypeIfUnset(headers, value) {\n\t if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n\t headers['Content-Type'] = value;\n\t }\n\t}\n\t\n\tfunction getDefaultAdapter() {\n\t var adapter;\n\t if (typeof XMLHttpRequest !== 'undefined') {\n\t // For browsers use XHR adapter\n\t adapter = __webpack_require__(8);\n\t } else if (typeof process !== 'undefined') {\n\t // For node use HTTP adapter\n\t adapter = __webpack_require__(8);\n\t }\n\t return adapter;\n\t}\n\t\n\tvar defaults = {\n\t adapter: getDefaultAdapter(),\n\t\n\t transformRequest: [function transformRequest(data, headers) {\n\t normalizeHeaderName(headers, 'Content-Type');\n\t if (utils.isFormData(data) ||\n\t utils.isArrayBuffer(data) ||\n\t utils.isBuffer(data) ||\n\t utils.isStream(data) ||\n\t utils.isFile(data) ||\n\t utils.isBlob(data)\n\t ) {\n\t return data;\n\t }\n\t if (utils.isArrayBufferView(data)) {\n\t return data.buffer;\n\t }\n\t if (utils.isURLSearchParams(data)) {\n\t setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n\t return data.toString();\n\t }\n\t if (utils.isObject(data)) {\n\t setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n\t return JSON.stringify(data);\n\t }\n\t return data;\n\t }],\n\t\n\t transformResponse: [function transformResponse(data) {\n\t /*eslint no-param-reassign:0*/\n\t if (typeof data === 'string') {\n\t try {\n\t data = JSON.parse(data);\n\t } catch (e) { /* Ignore */ }\n\t }\n\t return data;\n\t }],\n\t\n\t /**\n\t * A timeout in milliseconds to abort a request. If set to 0 (default) a\n\t * timeout is not created.\n\t */\n\t timeout: 0,\n\t\n\t xsrfCookieName: 'XSRF-TOKEN',\n\t xsrfHeaderName: 'X-XSRF-TOKEN',\n\t\n\t maxContentLength: -1,\n\t\n\t validateStatus: function validateStatus(status) {\n\t return status >= 200 && status < 300;\n\t }\n\t};\n\t\n\tdefaults.headers = {\n\t common: {\n\t 'Accept': 'application/json, text/plain, */*'\n\t }\n\t};\n\t\n\tutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n\t defaults.headers[method] = {};\n\t});\n\t\n\tutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n\t defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n\t});\n\t\n\tmodule.exports = defaults;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\tmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n\t utils.forEach(headers, function processHeader(value, name) {\n\t if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n\t headers[normalizedName] = value;\n\t delete headers[name];\n\t }\n\t });\n\t};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\tvar settle = __webpack_require__(9);\n\tvar buildURL = __webpack_require__(12);\n\tvar parseHeaders = __webpack_require__(13);\n\tvar isURLSameOrigin = __webpack_require__(14);\n\tvar createError = __webpack_require__(10);\n\tvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || __webpack_require__(15);\n\t\n\tmodule.exports = function xhrAdapter(config) {\n\t return new Promise(function dispatchXhrRequest(resolve, reject) {\n\t var requestData = config.data;\n\t var requestHeaders = config.headers;\n\t\n\t if (utils.isFormData(requestData)) {\n\t delete requestHeaders['Content-Type']; // Let the browser set it\n\t }\n\t\n\t var request = new XMLHttpRequest();\n\t var loadEvent = 'onreadystatechange';\n\t var xDomain = false;\n\t\n\t // For IE 8/9 CORS support\n\t // Only supports POST and GET calls and doesn't returns the response headers.\n\t // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n\t if ((\"production\") !== 'test' &&\n\t typeof window !== 'undefined' &&\n\t window.XDomainRequest && !('withCredentials' in request) &&\n\t !isURLSameOrigin(config.url)) {\n\t request = new window.XDomainRequest();\n\t loadEvent = 'onload';\n\t xDomain = true;\n\t request.onprogress = function handleProgress() {};\n\t request.ontimeout = function handleTimeout() {};\n\t }\n\t\n\t // HTTP basic authentication\n\t if (config.auth) {\n\t var username = config.auth.username || '';\n\t var password = config.auth.password || '';\n\t requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n\t }\n\t\n\t request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\t\n\t // Set the request timeout in MS\n\t request.timeout = config.timeout;\n\t\n\t // Listen for ready state\n\t request[loadEvent] = function handleLoad() {\n\t if (!request || (request.readyState !== 4 && !xDomain)) {\n\t return;\n\t }\n\t\n\t // The request errored out and we didn't get a response, this will be\n\t // handled by onerror instead\n\t // With one exception: request that using file: protocol, most browsers\n\t // will return status as 0 even though it's a successful request\n\t if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n\t return;\n\t }\n\t\n\t // Prepare the response\n\t var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n\t var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n\t var response = {\n\t data: responseData,\n\t // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n\t status: request.status === 1223 ? 204 : request.status,\n\t statusText: request.status === 1223 ? 'No Content' : request.statusText,\n\t headers: responseHeaders,\n\t config: config,\n\t request: request\n\t };\n\t\n\t settle(resolve, reject, response);\n\t\n\t // Clean up request\n\t request = null;\n\t };\n\t\n\t // Handle low level network errors\n\t request.onerror = function handleError() {\n\t // Real errors are hidden from us by the browser\n\t // onerror should only fire if it's a network error\n\t reject(createError('Network Error', config, null, request));\n\t\n\t // Clean up request\n\t request = null;\n\t };\n\t\n\t // Handle timeout\n\t request.ontimeout = function handleTimeout() {\n\t reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n\t request));\n\t\n\t // Clean up request\n\t request = null;\n\t };\n\t\n\t // Add xsrf header\n\t // This is only done if running in a standard browser environment.\n\t // Specifically not if we're in a web worker, or react-native.\n\t if (utils.isStandardBrowserEnv()) {\n\t var cookies = __webpack_require__(16);\n\t\n\t // Add xsrf header\n\t var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n\t cookies.read(config.xsrfCookieName) :\n\t undefined;\n\t\n\t if (xsrfValue) {\n\t requestHeaders[config.xsrfHeaderName] = xsrfValue;\n\t }\n\t }\n\t\n\t // Add headers to the request\n\t if ('setRequestHeader' in request) {\n\t utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n\t if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n\t // Remove Content-Type if data is undefined\n\t delete requestHeaders[key];\n\t } else {\n\t // Otherwise add header to the request\n\t request.setRequestHeader(key, val);\n\t }\n\t });\n\t }\n\t\n\t // Add withCredentials to request if needed\n\t if (config.withCredentials) {\n\t request.withCredentials = true;\n\t }\n\t\n\t // Add responseType to request if needed\n\t if (config.responseType) {\n\t try {\n\t request.responseType = config.responseType;\n\t } catch (e) {\n\t // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n\t // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n\t if (config.responseType !== 'json') {\n\t throw e;\n\t }\n\t }\n\t }\n\t\n\t // Handle progress if needed\n\t if (typeof config.onDownloadProgress === 'function') {\n\t request.addEventListener('progress', config.onDownloadProgress);\n\t }\n\t\n\t // Not all browsers support upload events\n\t if (typeof config.onUploadProgress === 'function' && request.upload) {\n\t request.upload.addEventListener('progress', config.onUploadProgress);\n\t }\n\t\n\t if (config.cancelToken) {\n\t // Handle cancellation\n\t config.cancelToken.promise.then(function onCanceled(cancel) {\n\t if (!request) {\n\t return;\n\t }\n\t\n\t request.abort();\n\t reject(cancel);\n\t // Clean up request\n\t request = null;\n\t });\n\t }\n\t\n\t if (requestData === undefined) {\n\t requestData = null;\n\t }\n\t\n\t // Send the request\n\t request.send(requestData);\n\t });\n\t};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar createError = __webpack_require__(10);\n\t\n\t/**\n\t * Resolve or reject a Promise based on response status.\n\t *\n\t * @param {Function} resolve A function that resolves the promise.\n\t * @param {Function} reject A function that rejects the promise.\n\t * @param {object} response The response.\n\t */\n\tmodule.exports = function settle(resolve, reject, response) {\n\t var validateStatus = response.config.validateStatus;\n\t // Note: status is not exposed by XDomainRequest\n\t if (!response.status || !validateStatus || validateStatus(response.status)) {\n\t resolve(response);\n\t } else {\n\t reject(createError(\n\t 'Request failed with status code ' + response.status,\n\t response.config,\n\t null,\n\t response.request,\n\t response\n\t ));\n\t }\n\t};\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar enhanceError = __webpack_require__(11);\n\t\n\t/**\n\t * Create an Error with the specified message, config, error code, request and response.\n\t *\n\t * @param {string} message The error message.\n\t * @param {Object} config The config.\n\t * @param {string} [code] The error code (for example, 'ECONNABORTED').\n\t * @param {Object} [request] The request.\n\t * @param {Object} [response] The response.\n\t * @returns {Error} The created error.\n\t */\n\tmodule.exports = function createError(message, config, code, request, response) {\n\t var error = new Error(message);\n\t return enhanceError(error, config, code, request, response);\n\t};\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Update an Error with the specified config, error code, and response.\n\t *\n\t * @param {Error} error The error to update.\n\t * @param {Object} config The config.\n\t * @param {string} [code] The error code (for example, 'ECONNABORTED').\n\t * @param {Object} [request] The request.\n\t * @param {Object} [response] The response.\n\t * @returns {Error} The error.\n\t */\n\tmodule.exports = function enhanceError(error, config, code, request, response) {\n\t error.config = config;\n\t if (code) {\n\t error.code = code;\n\t }\n\t error.request = request;\n\t error.response = response;\n\t return error;\n\t};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\tfunction encode(val) {\n\t return encodeURIComponent(val).\n\t replace(/%40/gi, '@').\n\t replace(/%3A/gi, ':').\n\t replace(/%24/g, '$').\n\t replace(/%2C/gi, ',').\n\t replace(/%20/g, '+').\n\t replace(/%5B/gi, '[').\n\t replace(/%5D/gi, ']');\n\t}\n\t\n\t/**\n\t * Build a URL by appending params to the end\n\t *\n\t * @param {string} url The base of the url (e.g., http://www.google.com)\n\t * @param {object} [params] The params to be appended\n\t * @returns {string} The formatted url\n\t */\n\tmodule.exports = function buildURL(url, params, paramsSerializer) {\n\t /*eslint no-param-reassign:0*/\n\t if (!params) {\n\t return url;\n\t }\n\t\n\t var serializedParams;\n\t if (paramsSerializer) {\n\t serializedParams = paramsSerializer(params);\n\t } else if (utils.isURLSearchParams(params)) {\n\t serializedParams = params.toString();\n\t } else {\n\t var parts = [];\n\t\n\t utils.forEach(params, function serialize(val, key) {\n\t if (val === null || typeof val === 'undefined') {\n\t return;\n\t }\n\t\n\t if (utils.isArray(val)) {\n\t key = key + '[]';\n\t } else {\n\t val = [val];\n\t }\n\t\n\t utils.forEach(val, function parseValue(v) {\n\t if (utils.isDate(v)) {\n\t v = v.toISOString();\n\t } else if (utils.isObject(v)) {\n\t v = JSON.stringify(v);\n\t }\n\t parts.push(encode(key) + '=' + encode(v));\n\t });\n\t });\n\t\n\t serializedParams = parts.join('&');\n\t }\n\t\n\t if (serializedParams) {\n\t url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n\t }\n\t\n\t return url;\n\t};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\t// Headers whose duplicates are ignored by node\n\t// c.f. https://nodejs.org/api/http.html#http_message_headers\n\tvar ignoreDuplicateOf = [\n\t 'age', 'authorization', 'content-length', 'content-type', 'etag',\n\t 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n\t 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n\t 'referer', 'retry-after', 'user-agent'\n\t];\n\t\n\t/**\n\t * Parse headers into an object\n\t *\n\t * ```\n\t * Date: Wed, 27 Aug 2014 08:58:49 GMT\n\t * Content-Type: application/json\n\t * Connection: keep-alive\n\t * Transfer-Encoding: chunked\n\t * ```\n\t *\n\t * @param {String} headers Headers needing to be parsed\n\t * @returns {Object} Headers parsed into an object\n\t */\n\tmodule.exports = function parseHeaders(headers) {\n\t var parsed = {};\n\t var key;\n\t var val;\n\t var i;\n\t\n\t if (!headers) { return parsed; }\n\t\n\t utils.forEach(headers.split('\\n'), function parser(line) {\n\t i = line.indexOf(':');\n\t key = utils.trim(line.substr(0, i)).toLowerCase();\n\t val = utils.trim(line.substr(i + 1));\n\t\n\t if (key) {\n\t if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n\t return;\n\t }\n\t if (key === 'set-cookie') {\n\t parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n\t } else {\n\t parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n\t }\n\t }\n\t });\n\t\n\t return parsed;\n\t};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\tmodule.exports = (\n\t utils.isStandardBrowserEnv() ?\n\t\n\t // Standard browser envs have full support of the APIs needed to test\n\t // whether the request URL is of the same origin as current location.\n\t (function standardBrowserEnv() {\n\t var msie = /(msie|trident)/i.test(navigator.userAgent);\n\t var urlParsingNode = document.createElement('a');\n\t var originURL;\n\t\n\t /**\n\t * Parse a URL to discover it's components\n\t *\n\t * @param {String} url The URL to be parsed\n\t * @returns {Object}\n\t */\n\t function resolveURL(url) {\n\t var href = url;\n\t\n\t if (msie) {\n\t // IE needs attribute set twice to normalize properties\n\t urlParsingNode.setAttribute('href', href);\n\t href = urlParsingNode.href;\n\t }\n\t\n\t urlParsingNode.setAttribute('href', href);\n\t\n\t // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\t return {\n\t href: urlParsingNode.href,\n\t protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n\t host: urlParsingNode.host,\n\t search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n\t hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n\t hostname: urlParsingNode.hostname,\n\t port: urlParsingNode.port,\n\t pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n\t urlParsingNode.pathname :\n\t '/' + urlParsingNode.pathname\n\t };\n\t }\n\t\n\t originURL = resolveURL(window.location.href);\n\t\n\t /**\n\t * Determine if a URL shares the same origin as the current location\n\t *\n\t * @param {String} requestURL The URL to test\n\t * @returns {boolean} True if URL shares the same origin, otherwise false\n\t */\n\t return function isURLSameOrigin(requestURL) {\n\t var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n\t return (parsed.protocol === originURL.protocol &&\n\t parsed.host === originURL.host);\n\t };\n\t })() :\n\t\n\t // Non standard browser envs (web workers, react-native) lack needed support.\n\t (function nonStandardBrowserEnv() {\n\t return function isURLSameOrigin() {\n\t return true;\n\t };\n\t })()\n\t);\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\t\n\tvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\t\n\tfunction E() {\n\t this.message = 'String contains an invalid character';\n\t}\n\tE.prototype = new Error;\n\tE.prototype.code = 5;\n\tE.prototype.name = 'InvalidCharacterError';\n\t\n\tfunction btoa(input) {\n\t var str = String(input);\n\t var output = '';\n\t for (\n\t // initialize result and counter\n\t var block, charCode, idx = 0, map = chars;\n\t // if the next str index does not exist:\n\t // change the mapping table to \"=\"\n\t // check if d has no fractional digits\n\t str.charAt(idx | 0) || (map = '=', idx % 1);\n\t // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n\t output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n\t ) {\n\t charCode = str.charCodeAt(idx += 3 / 4);\n\t if (charCode > 0xFF) {\n\t throw new E();\n\t }\n\t block = block << 8 | charCode;\n\t }\n\t return output;\n\t}\n\t\n\tmodule.exports = btoa;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\tmodule.exports = (\n\t utils.isStandardBrowserEnv() ?\n\t\n\t // Standard browser envs support document.cookie\n\t (function standardBrowserEnv() {\n\t return {\n\t write: function write(name, value, expires, path, domain, secure) {\n\t var cookie = [];\n\t cookie.push(name + '=' + encodeURIComponent(value));\n\t\n\t if (utils.isNumber(expires)) {\n\t cookie.push('expires=' + new Date(expires).toGMTString());\n\t }\n\t\n\t if (utils.isString(path)) {\n\t cookie.push('path=' + path);\n\t }\n\t\n\t if (utils.isString(domain)) {\n\t cookie.push('domain=' + domain);\n\t }\n\t\n\t if (secure === true) {\n\t cookie.push('secure');\n\t }\n\t\n\t document.cookie = cookie.join('; ');\n\t },\n\t\n\t read: function read(name) {\n\t var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n\t return (match ? decodeURIComponent(match[3]) : null);\n\t },\n\t\n\t remove: function remove(name) {\n\t this.write(name, '', Date.now() - 86400000);\n\t }\n\t };\n\t })() :\n\t\n\t // Non standard browser env (web workers, react-native) lack needed support.\n\t (function nonStandardBrowserEnv() {\n\t return {\n\t write: function write() {},\n\t read: function read() { return null; },\n\t remove: function remove() {}\n\t };\n\t })()\n\t);\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\tfunction InterceptorManager() {\n\t this.handlers = [];\n\t}\n\t\n\t/**\n\t * Add a new interceptor to the stack\n\t *\n\t * @param {Function} fulfilled The function to handle `then` for a `Promise`\n\t * @param {Function} rejected The function to handle `reject` for a `Promise`\n\t *\n\t * @return {Number} An ID used to remove interceptor later\n\t */\n\tInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n\t this.handlers.push({\n\t fulfilled: fulfilled,\n\t rejected: rejected\n\t });\n\t return this.handlers.length - 1;\n\t};\n\t\n\t/**\n\t * Remove an interceptor from the stack\n\t *\n\t * @param {Number} id The ID that was returned by `use`\n\t */\n\tInterceptorManager.prototype.eject = function eject(id) {\n\t if (this.handlers[id]) {\n\t this.handlers[id] = null;\n\t }\n\t};\n\t\n\t/**\n\t * Iterate over all the registered interceptors\n\t *\n\t * This method is particularly useful for skipping over any\n\t * interceptors that may have become `null` calling `eject`.\n\t *\n\t * @param {Function} fn The function to call for each interceptor\n\t */\n\tInterceptorManager.prototype.forEach = function forEach(fn) {\n\t utils.forEach(this.handlers, function forEachHandler(h) {\n\t if (h !== null) {\n\t fn(h);\n\t }\n\t });\n\t};\n\t\n\tmodule.exports = InterceptorManager;\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\tvar transformData = __webpack_require__(19);\n\tvar isCancel = __webpack_require__(20);\n\tvar defaults = __webpack_require__(6);\n\tvar isAbsoluteURL = __webpack_require__(21);\n\tvar combineURLs = __webpack_require__(22);\n\t\n\t/**\n\t * Throws a `Cancel` if cancellation has been requested.\n\t */\n\tfunction throwIfCancellationRequested(config) {\n\t if (config.cancelToken) {\n\t config.cancelToken.throwIfRequested();\n\t }\n\t}\n\t\n\t/**\n\t * Dispatch a request to the server using the configured adapter.\n\t *\n\t * @param {object} config The config that is to be used for the request\n\t * @returns {Promise} The Promise to be fulfilled\n\t */\n\tmodule.exports = function dispatchRequest(config) {\n\t throwIfCancellationRequested(config);\n\t\n\t // Support baseURL config\n\t if (config.baseURL && !isAbsoluteURL(config.url)) {\n\t config.url = combineURLs(config.baseURL, config.url);\n\t }\n\t\n\t // Ensure headers exist\n\t config.headers = config.headers || {};\n\t\n\t // Transform request data\n\t config.data = transformData(\n\t config.data,\n\t config.headers,\n\t config.transformRequest\n\t );\n\t\n\t // Flatten headers\n\t config.headers = utils.merge(\n\t config.headers.common || {},\n\t config.headers[config.method] || {},\n\t config.headers || {}\n\t );\n\t\n\t utils.forEach(\n\t ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n\t function cleanHeaderConfig(method) {\n\t delete config.headers[method];\n\t }\n\t );\n\t\n\t var adapter = config.adapter || defaults.adapter;\n\t\n\t return adapter(config).then(function onAdapterResolution(response) {\n\t throwIfCancellationRequested(config);\n\t\n\t // Transform response data\n\t response.data = transformData(\n\t response.data,\n\t response.headers,\n\t config.transformResponse\n\t );\n\t\n\t return response;\n\t }, function onAdapterRejection(reason) {\n\t if (!isCancel(reason)) {\n\t throwIfCancellationRequested(config);\n\t\n\t // Transform response data\n\t if (reason && reason.response) {\n\t reason.response.data = transformData(\n\t reason.response.data,\n\t reason.response.headers,\n\t config.transformResponse\n\t );\n\t }\n\t }\n\t\n\t return Promise.reject(reason);\n\t });\n\t};\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\t/**\n\t * Transform the data for a request or a response\n\t *\n\t * @param {Object|String} data The data to be transformed\n\t * @param {Array} headers The headers for the request or response\n\t * @param {Array|Function} fns A single function or Array of functions\n\t * @returns {*} The resulting transformed data\n\t */\n\tmodule.exports = function transformData(data, headers, fns) {\n\t /*eslint no-param-reassign:0*/\n\t utils.forEach(fns, function transform(fn) {\n\t data = fn(data, headers);\n\t });\n\t\n\t return data;\n\t};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tmodule.exports = function isCancel(value) {\n\t return !!(value && value.__CANCEL__);\n\t};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Determines whether the specified URL is absolute\n\t *\n\t * @param {string} url The URL to test\n\t * @returns {boolean} True if the specified URL is absolute, otherwise false\n\t */\n\tmodule.exports = function isAbsoluteURL(url) {\n\t // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n\t // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n\t // by any combination of letters, digits, plus, period, or hyphen.\n\t return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n\t};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Creates a new URL by combining the specified URLs\n\t *\n\t * @param {string} baseURL The base URL\n\t * @param {string} relativeURL The relative URL\n\t * @returns {string} The combined URL\n\t */\n\tmodule.exports = function combineURLs(baseURL, relativeURL) {\n\t return relativeURL\n\t ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n\t : baseURL;\n\t};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * A `Cancel` is an object that is thrown when an operation is canceled.\n\t *\n\t * @class\n\t * @param {string=} message The message.\n\t */\n\tfunction Cancel(message) {\n\t this.message = message;\n\t}\n\t\n\tCancel.prototype.toString = function toString() {\n\t return 'Cancel' + (this.message ? ': ' + this.message : '');\n\t};\n\t\n\tCancel.prototype.__CANCEL__ = true;\n\t\n\tmodule.exports = Cancel;\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Cancel = __webpack_require__(23);\n\t\n\t/**\n\t * A `CancelToken` is an object that can be used to request cancellation of an operation.\n\t *\n\t * @class\n\t * @param {Function} executor The executor function.\n\t */\n\tfunction CancelToken(executor) {\n\t if (typeof executor !== 'function') {\n\t throw new TypeError('executor must be a function.');\n\t }\n\t\n\t var resolvePromise;\n\t this.promise = new Promise(function promiseExecutor(resolve) {\n\t resolvePromise = resolve;\n\t });\n\t\n\t var token = this;\n\t executor(function cancel(message) {\n\t if (token.reason) {\n\t // Cancellation has already been requested\n\t return;\n\t }\n\t\n\t token.reason = new Cancel(message);\n\t resolvePromise(token.reason);\n\t });\n\t}\n\t\n\t/**\n\t * Throws a `Cancel` if cancellation has been requested.\n\t */\n\tCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n\t if (this.reason) {\n\t throw this.reason;\n\t }\n\t};\n\t\n\t/**\n\t * Returns an object that contains a new `CancelToken` and a function that, when called,\n\t * cancels the `CancelToken`.\n\t */\n\tCancelToken.source = function source() {\n\t var cancel;\n\t var token = new CancelToken(function executor(c) {\n\t cancel = c;\n\t });\n\t return {\n\t token: token,\n\t cancel: cancel\n\t };\n\t};\n\t\n\tmodule.exports = CancelToken;\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Syntactic sugar for invoking a function and expanding an array for arguments.\n\t *\n\t * Common use case would be to use `Function.prototype.apply`.\n\t *\n\t * ```js\n\t * function f(x, y, z) {}\n\t * var args = [1, 2, 3];\n\t * f.apply(null, args);\n\t * ```\n\t *\n\t * With `spread` this example can be re-written.\n\t *\n\t * ```js\n\t * spread(function(x, y, z) {})([1, 2, 3]);\n\t * ```\n\t *\n\t * @param {Function} callback\n\t * @returns {Function}\n\t */\n\tmodule.exports = function spread(callback) {\n\t return function wrap(arr) {\n\t return callback.apply(null, arr);\n\t };\n\t};\n\n\n/***/ })\n/******/ ])\n});\n;\n\n\n// WEBPACK FOOTER //\n// axios.min.js"," \t// The module cache\n \tvar installedModules = {};\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\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\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.loaded = 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// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap dad8263224c86c166a30","module.exports = require('./lib/axios');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./index.js\n// module id = 0\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/axios.js\n// module id = 1\n// module chunks = 0","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/utils.js\n// module id = 2\n// module chunks = 0","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/bind.js\n// module id = 3\n// module chunks = 0","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/is-buffer/index.js\n// module id = 4\n// module chunks = 0","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/Axios.js\n// module id = 5\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/defaults.js\n// module id = 6\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/normalizeHeaderName.js\n// module id = 7\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/adapters/xhr.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/settle.js\n// module id = 9\n// module chunks = 0","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/createError.js\n// module id = 10\n// module chunks = 0","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/enhanceError.js\n// module id = 11\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/buildURL.js\n// module id = 12\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/parseHeaders.js\n// module id = 13\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/isURLSameOrigin.js\n// module id = 14\n// module chunks = 0","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/btoa.js\n// module id = 15\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/cookies.js\n// module id = 16\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/InterceptorManager.js\n// module id = 17\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/dispatchRequest.js\n// module id = 18\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/transformData.js\n// module id = 19\n// module chunks = 0","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/isCancel.js\n// module id = 20\n// module chunks = 0","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/isAbsoluteURL.js\n// module id = 21\n// module chunks = 0","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/combineURLs.js\n// module id = 22\n// module chunks = 0","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/Cancel.js\n// module id = 23\n// module chunks = 0","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/CancelToken.js\n// module id = 24\n// module chunks = 0","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/spread.js\n// module id = 25\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/electron/src/node_modules/axios/index.d.ts b/electron/src/node_modules/axios/index.d.ts deleted file mode 100755 index 403fd1a..0000000 --- a/electron/src/node_modules/axios/index.d.ts +++ /dev/null @@ -1,131 +0,0 @@ -export interface AxiosTransformer { - (data: any, headers?: any): any; -} - -export interface AxiosAdapter { - (config: AxiosRequestConfig): AxiosPromise; -} - -export interface AxiosBasicCredentials { - username: string; - password: string; -} - -export interface AxiosProxyConfig { - host: string; - port: number; - auth?: { - username: string; - password:string; - } -} - -export interface AxiosRequestConfig { - url?: string; - method?: string; - baseURL?: string; - transformRequest?: AxiosTransformer | AxiosTransformer[]; - transformResponse?: AxiosTransformer | AxiosTransformer[]; - headers?: any; - params?: any; - paramsSerializer?: (params: any) => string; - data?: any; - timeout?: number; - withCredentials?: boolean; - adapter?: AxiosAdapter; - auth?: AxiosBasicCredentials; - responseType?: string; - xsrfCookieName?: string; - xsrfHeaderName?: string; - onUploadProgress?: (progressEvent: any) => void; - onDownloadProgress?: (progressEvent: any) => void; - maxContentLength?: number; - validateStatus?: (status: number) => boolean; - maxRedirects?: number; - httpAgent?: any; - httpsAgent?: any; - proxy?: AxiosProxyConfig | false; - cancelToken?: CancelToken; -} - -export interface AxiosResponse { - data: T; - status: number; - statusText: string; - headers: any; - config: AxiosRequestConfig; - request?: any; -} - -export interface AxiosError extends Error { - config: AxiosRequestConfig; - code?: string; - request?: any; - response?: AxiosResponse; -} - -export interface AxiosPromise extends Promise> { -} - -export interface CancelStatic { - new (message?: string): Cancel; -} - -export interface Cancel { - message: string; -} - -export interface Canceler { - (message?: string): void; -} - -export interface CancelTokenStatic { - new (executor: (cancel: Canceler) => void): CancelToken; - source(): CancelTokenSource; -} - -export interface CancelToken { - promise: Promise; - reason?: Cancel; - throwIfRequested(): void; -} - -export interface CancelTokenSource { - token: CancelToken; - cancel: Canceler; -} - -export interface AxiosInterceptorManager { - use(onFulfilled?: (value: V) => V | Promise, onRejected?: (error: any) => any): number; - eject(id: number): void; -} - -export interface AxiosInstance { - (config: AxiosRequestConfig): AxiosPromise; - (url: string, config?: AxiosRequestConfig): AxiosPromise; - defaults: AxiosRequestConfig; - interceptors: { - request: AxiosInterceptorManager; - response: AxiosInterceptorManager; - }; - request(config: AxiosRequestConfig): AxiosPromise; - get(url: string, config?: AxiosRequestConfig): AxiosPromise; - delete(url: string, config?: AxiosRequestConfig): AxiosPromise; - head(url: string, config?: AxiosRequestConfig): AxiosPromise; - post(url: string, data?: any, config?: AxiosRequestConfig): AxiosPromise; - put(url: string, data?: any, config?: AxiosRequestConfig): AxiosPromise; - patch(url: string, data?: any, config?: AxiosRequestConfig): AxiosPromise; -} - -export interface AxiosStatic extends AxiosInstance { - create(config?: AxiosRequestConfig): AxiosInstance; - Cancel: CancelStatic; - CancelToken: CancelTokenStatic; - isCancel(value: any): boolean; - all(values: (T | Promise)[]): Promise; - spread(callback: (...args: T[]) => R): (array: T[]) => R; -} - -declare const Axios: AxiosStatic; - -export default Axios; diff --git a/electron/src/node_modules/axios/index.js b/electron/src/node_modules/axios/index.js deleted file mode 100755 index 79dfd09..0000000 --- a/electron/src/node_modules/axios/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lib/axios'); \ No newline at end of file diff --git a/electron/src/node_modules/axios/lib/adapters/README.md b/electron/src/node_modules/axios/lib/adapters/README.md deleted file mode 100755 index 68f1118..0000000 --- a/electron/src/node_modules/axios/lib/adapters/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# axios // adapters - -The modules under `adapters/` are modules that handle dispatching a request and settling a returned `Promise` once a response is received. - -## Example - -```js -var settle = require('./../core/settle'); - -module.exports = function myAdapter(config) { - // At this point: - // - config has been merged with defaults - // - request transformers have already run - // - request interceptors have already run - - // Make the request using config provided - // Upon response settle the Promise - - return new Promise(function(resolve, reject) { - - var response = { - data: responseData, - status: request.status, - statusText: request.statusText, - headers: responseHeaders, - config: config, - request: request - }; - - settle(resolve, reject, response); - - // From here: - // - response transformers will run - // - response interceptors will run - }); -} -``` diff --git a/electron/src/node_modules/axios/lib/adapters/http.js b/electron/src/node_modules/axios/lib/adapters/http.js deleted file mode 100755 index b986487..0000000 --- a/electron/src/node_modules/axios/lib/adapters/http.js +++ /dev/null @@ -1,237 +0,0 @@ -'use strict'; - -var utils = require('./../utils'); -var settle = require('./../core/settle'); -var buildURL = require('./../helpers/buildURL'); -var http = require('http'); -var https = require('https'); -var httpFollow = require('follow-redirects').http; -var httpsFollow = require('follow-redirects').https; -var url = require('url'); -var zlib = require('zlib'); -var pkg = require('./../../package.json'); -var createError = require('../core/createError'); -var enhanceError = require('../core/enhanceError'); - -/*eslint consistent-return:0*/ -module.exports = function httpAdapter(config) { - return new Promise(function dispatchHttpRequest(resolve, reject) { - var data = config.data; - var headers = config.headers; - var timer; - - // Set User-Agent (required by some servers) - // Only set header if it hasn't been set in config - // See https://github.com/axios/axios/issues/69 - if (!headers['User-Agent'] && !headers['user-agent']) { - headers['User-Agent'] = 'axios/' + pkg.version; - } - - if (data && !utils.isStream(data)) { - if (Buffer.isBuffer(data)) { - // Nothing to do... - } else if (utils.isArrayBuffer(data)) { - data = new Buffer(new Uint8Array(data)); - } else if (utils.isString(data)) { - data = new Buffer(data, 'utf-8'); - } else { - return reject(createError( - 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream', - config - )); - } - - // Add Content-Length header if data exists - headers['Content-Length'] = data.length; - } - - // HTTP basic authentication - var auth = undefined; - if (config.auth) { - var username = config.auth.username || ''; - var password = config.auth.password || ''; - auth = username + ':' + password; - } - - // Parse url - var parsed = url.parse(config.url); - var protocol = parsed.protocol || 'http:'; - - if (!auth && parsed.auth) { - var urlAuth = parsed.auth.split(':'); - var urlUsername = urlAuth[0] || ''; - var urlPassword = urlAuth[1] || ''; - auth = urlUsername + ':' + urlPassword; - } - - if (auth) { - delete headers.Authorization; - } - - var isHttps = protocol === 'https:'; - var agent = isHttps ? config.httpsAgent : config.httpAgent; - - var options = { - path: buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\?/, ''), - method: config.method, - headers: headers, - agent: agent, - auth: auth - }; - - if (config.socketPath) { - options.socketPath = config.socketPath; - } else { - options.hostname = parsed.hostname; - options.port = parsed.port; - } - - var proxy = config.proxy; - if (!proxy && proxy !== false) { - var proxyEnv = protocol.slice(0, -1) + '_proxy'; - var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()]; - if (proxyUrl) { - var parsedProxyUrl = url.parse(proxyUrl); - proxy = { - host: parsedProxyUrl.hostname, - port: parsedProxyUrl.port - }; - - if (parsedProxyUrl.auth) { - var proxyUrlAuth = parsedProxyUrl.auth.split(':'); - proxy.auth = { - username: proxyUrlAuth[0], - password: proxyUrlAuth[1] - }; - } - } - } - - if (proxy) { - options.hostname = proxy.host; - options.host = proxy.host; - options.headers.host = parsed.hostname + (parsed.port ? ':' + parsed.port : ''); - options.port = proxy.port; - options.path = protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path; - - // Basic proxy authorization - if (proxy.auth) { - var base64 = new Buffer(proxy.auth.username + ':' + proxy.auth.password, 'utf8').toString('base64'); - options.headers['Proxy-Authorization'] = 'Basic ' + base64; - } - } - - var transport; - if (config.transport) { - transport = config.transport; - } else if (config.maxRedirects === 0) { - transport = isHttps ? https : http; - } else { - if (config.maxRedirects) { - options.maxRedirects = config.maxRedirects; - } - transport = isHttps ? httpsFollow : httpFollow; - } - - if (config.maxContentLength && config.maxContentLength > -1) { - options.maxBodyLength = config.maxContentLength; - } - - // Create the request - var req = transport.request(options, function handleResponse(res) { - if (req.aborted) return; - - // Response has been received so kill timer that handles request timeout - clearTimeout(timer); - timer = null; - - // uncompress the response body transparently if required - var stream = res; - switch (res.headers['content-encoding']) { - /*eslint default-case:0*/ - case 'gzip': - case 'compress': - case 'deflate': - // add the unzipper to the body stream processing pipeline - stream = stream.pipe(zlib.createUnzip()); - - // remove the content-encoding in order to not confuse downstream operations - delete res.headers['content-encoding']; - break; - } - - // return the last request in case of redirects - var lastRequest = res.req || req; - - var response = { - status: res.statusCode, - statusText: res.statusMessage, - headers: res.headers, - config: config, - request: lastRequest - }; - - if (config.responseType === 'stream') { - response.data = stream; - settle(resolve, reject, response); - } else { - var responseBuffer = []; - stream.on('data', function handleStreamData(chunk) { - responseBuffer.push(chunk); - - // make sure the content length is not over the maxContentLength if specified - if (config.maxContentLength > -1 && Buffer.concat(responseBuffer).length > config.maxContentLength) { - reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded', - config, null, lastRequest)); - } - }); - - stream.on('error', function handleStreamError(err) { - if (req.aborted) return; - reject(enhanceError(err, config, null, lastRequest)); - }); - - stream.on('end', function handleStreamEnd() { - var responseData = Buffer.concat(responseBuffer); - if (config.responseType !== 'arraybuffer') { - responseData = responseData.toString('utf8'); - } - - response.data = responseData; - settle(resolve, reject, response); - }); - } - }); - - // Handle errors - req.on('error', function handleRequestError(err) { - if (req.aborted) return; - reject(enhanceError(err, config, null, req)); - }); - - // Handle request timeout - if (config.timeout && !timer) { - timer = setTimeout(function handleRequestTimeout() { - req.abort(); - reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', req)); - }, config.timeout); - } - - if (config.cancelToken) { - // Handle cancellation - config.cancelToken.promise.then(function onCanceled(cancel) { - if (req.aborted) return; - - req.abort(); - reject(cancel); - }); - } - - // Send the request - if (utils.isStream(data)) { - data.pipe(req); - } else { - req.end(data); - } - }); -}; diff --git a/electron/src/node_modules/axios/lib/adapters/xhr.js b/electron/src/node_modules/axios/lib/adapters/xhr.js deleted file mode 100755 index 81364bd..0000000 --- a/electron/src/node_modules/axios/lib/adapters/xhr.js +++ /dev/null @@ -1,180 +0,0 @@ -'use strict'; - -var utils = require('./../utils'); -var settle = require('./../core/settle'); -var buildURL = require('./../helpers/buildURL'); -var parseHeaders = require('./../helpers/parseHeaders'); -var isURLSameOrigin = require('./../helpers/isURLSameOrigin'); -var createError = require('../core/createError'); -var btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa'); - -module.exports = function xhrAdapter(config) { - return new Promise(function dispatchXhrRequest(resolve, reject) { - var requestData = config.data; - var requestHeaders = config.headers; - - if (utils.isFormData(requestData)) { - delete requestHeaders['Content-Type']; // Let the browser set it - } - - var request = new XMLHttpRequest(); - var loadEvent = 'onreadystatechange'; - var xDomain = false; - - // For IE 8/9 CORS support - // Only supports POST and GET calls and doesn't returns the response headers. - // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest. - if (process.env.NODE_ENV !== 'test' && - typeof window !== 'undefined' && - window.XDomainRequest && !('withCredentials' in request) && - !isURLSameOrigin(config.url)) { - request = new window.XDomainRequest(); - loadEvent = 'onload'; - xDomain = true; - request.onprogress = function handleProgress() {}; - request.ontimeout = function handleTimeout() {}; - } - - // HTTP basic authentication - if (config.auth) { - var username = config.auth.username || ''; - var password = config.auth.password || ''; - requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); - } - - request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); - - // Set the request timeout in MS - request.timeout = config.timeout; - - // Listen for ready state - request[loadEvent] = function handleLoad() { - if (!request || (request.readyState !== 4 && !xDomain)) { - return; - } - - // The request errored out and we didn't get a response, this will be - // handled by onerror instead - // With one exception: request that using file: protocol, most browsers - // will return status as 0 even though it's a successful request - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { - return; - } - - // Prepare the response - var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; - var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response; - var response = { - data: responseData, - // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201) - status: request.status === 1223 ? 204 : request.status, - statusText: request.status === 1223 ? 'No Content' : request.statusText, - headers: responseHeaders, - config: config, - request: request - }; - - settle(resolve, reject, response); - - // Clean up request - request = null; - }; - - // Handle low level network errors - request.onerror = function handleError() { - // Real errors are hidden from us by the browser - // onerror should only fire if it's a network error - reject(createError('Network Error', config, null, request)); - - // Clean up request - request = null; - }; - - // Handle timeout - request.ontimeout = function handleTimeout() { - reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', - request)); - - // Clean up request - request = null; - }; - - // Add xsrf header - // This is only done if running in a standard browser environment. - // Specifically not if we're in a web worker, or react-native. - if (utils.isStandardBrowserEnv()) { - var cookies = require('./../helpers/cookies'); - - // Add xsrf header - var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? - cookies.read(config.xsrfCookieName) : - undefined; - - if (xsrfValue) { - requestHeaders[config.xsrfHeaderName] = xsrfValue; - } - } - - // Add headers to the request - if ('setRequestHeader' in request) { - utils.forEach(requestHeaders, function setRequestHeader(val, key) { - if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { - // Remove Content-Type if data is undefined - delete requestHeaders[key]; - } else { - // Otherwise add header to the request - request.setRequestHeader(key, val); - } - }); - } - - // Add withCredentials to request if needed - if (config.withCredentials) { - request.withCredentials = true; - } - - // Add responseType to request if needed - if (config.responseType) { - try { - request.responseType = config.responseType; - } catch (e) { - // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2. - // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function. - if (config.responseType !== 'json') { - throw e; - } - } - } - - // Handle progress if needed - if (typeof config.onDownloadProgress === 'function') { - request.addEventListener('progress', config.onDownloadProgress); - } - - // Not all browsers support upload events - if (typeof config.onUploadProgress === 'function' && request.upload) { - request.upload.addEventListener('progress', config.onUploadProgress); - } - - if (config.cancelToken) { - // Handle cancellation - config.cancelToken.promise.then(function onCanceled(cancel) { - if (!request) { - return; - } - - request.abort(); - reject(cancel); - // Clean up request - request = null; - }); - } - - if (requestData === undefined) { - requestData = null; - } - - // Send the request - request.send(requestData); - }); -}; diff --git a/electron/src/node_modules/axios/lib/axios.js b/electron/src/node_modules/axios/lib/axios.js deleted file mode 100755 index ed1f519..0000000 --- a/electron/src/node_modules/axios/lib/axios.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -var utils = require('./utils'); -var bind = require('./helpers/bind'); -var Axios = require('./core/Axios'); -var defaults = require('./defaults'); - -/** - * Create an instance of Axios - * - * @param {Object} defaultConfig The default config for the instance - * @return {Axios} A new instance of Axios - */ -function createInstance(defaultConfig) { - var context = new Axios(defaultConfig); - var instance = bind(Axios.prototype.request, context); - - // Copy axios.prototype to instance - utils.extend(instance, Axios.prototype, context); - - // Copy context to instance - utils.extend(instance, context); - - return instance; -} - -// Create the default instance to be exported -var axios = createInstance(defaults); - -// Expose Axios class to allow class inheritance -axios.Axios = Axios; - -// Factory for creating new instances -axios.create = function create(instanceConfig) { - return createInstance(utils.merge(defaults, instanceConfig)); -}; - -// Expose Cancel & CancelToken -axios.Cancel = require('./cancel/Cancel'); -axios.CancelToken = require('./cancel/CancelToken'); -axios.isCancel = require('./cancel/isCancel'); - -// Expose all/spread -axios.all = function all(promises) { - return Promise.all(promises); -}; -axios.spread = require('./helpers/spread'); - -module.exports = axios; - -// Allow use of default import syntax in TypeScript -module.exports.default = axios; diff --git a/electron/src/node_modules/axios/lib/cancel/Cancel.js b/electron/src/node_modules/axios/lib/cancel/Cancel.js deleted file mode 100755 index e0de400..0000000 --- a/electron/src/node_modules/axios/lib/cancel/Cancel.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -/** - * A `Cancel` is an object that is thrown when an operation is canceled. - * - * @class - * @param {string=} message The message. - */ -function Cancel(message) { - this.message = message; -} - -Cancel.prototype.toString = function toString() { - return 'Cancel' + (this.message ? ': ' + this.message : ''); -}; - -Cancel.prototype.__CANCEL__ = true; - -module.exports = Cancel; diff --git a/electron/src/node_modules/axios/lib/cancel/CancelToken.js b/electron/src/node_modules/axios/lib/cancel/CancelToken.js deleted file mode 100755 index 6b46e66..0000000 --- a/electron/src/node_modules/axios/lib/cancel/CancelToken.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict'; - -var Cancel = require('./Cancel'); - -/** - * A `CancelToken` is an object that can be used to request cancellation of an operation. - * - * @class - * @param {Function} executor The executor function. - */ -function CancelToken(executor) { - if (typeof executor !== 'function') { - throw new TypeError('executor must be a function.'); - } - - var resolvePromise; - this.promise = new Promise(function promiseExecutor(resolve) { - resolvePromise = resolve; - }); - - var token = this; - executor(function cancel(message) { - if (token.reason) { - // Cancellation has already been requested - return; - } - - token.reason = new Cancel(message); - resolvePromise(token.reason); - }); -} - -/** - * Throws a `Cancel` if cancellation has been requested. - */ -CancelToken.prototype.throwIfRequested = function throwIfRequested() { - if (this.reason) { - throw this.reason; - } -}; - -/** - * Returns an object that contains a new `CancelToken` and a function that, when called, - * cancels the `CancelToken`. - */ -CancelToken.source = function source() { - var cancel; - var token = new CancelToken(function executor(c) { - cancel = c; - }); - return { - token: token, - cancel: cancel - }; -}; - -module.exports = CancelToken; diff --git a/electron/src/node_modules/axios/lib/cancel/isCancel.js b/electron/src/node_modules/axios/lib/cancel/isCancel.js deleted file mode 100755 index 051f3ae..0000000 --- a/electron/src/node_modules/axios/lib/cancel/isCancel.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -module.exports = function isCancel(value) { - return !!(value && value.__CANCEL__); -}; diff --git a/electron/src/node_modules/axios/lib/core/Axios.js b/electron/src/node_modules/axios/lib/core/Axios.js deleted file mode 100755 index d21edbc..0000000 --- a/electron/src/node_modules/axios/lib/core/Axios.js +++ /dev/null @@ -1,79 +0,0 @@ -'use strict'; - -var defaults = require('./../defaults'); -var utils = require('./../utils'); -var InterceptorManager = require('./InterceptorManager'); -var dispatchRequest = require('./dispatchRequest'); - -/** - * Create a new instance of Axios - * - * @param {Object} instanceConfig The default config for the instance - */ -function Axios(instanceConfig) { - this.defaults = instanceConfig; - this.interceptors = { - request: new InterceptorManager(), - response: new InterceptorManager() - }; -} - -/** - * Dispatch a request - * - * @param {Object} config The config specific for this request (merged with this.defaults) - */ -Axios.prototype.request = function request(config) { - /*eslint no-param-reassign:0*/ - // Allow for axios('example/url'[, config]) a la fetch API - if (typeof config === 'string') { - config = utils.merge({ - url: arguments[0] - }, arguments[1]); - } - - config = utils.merge(defaults, {method: 'get'}, this.defaults, config); - config.method = config.method.toLowerCase(); - - // Hook up interceptors middleware - var chain = [dispatchRequest, undefined]; - var promise = Promise.resolve(config); - - this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - chain.unshift(interceptor.fulfilled, interceptor.rejected); - }); - - this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - chain.push(interceptor.fulfilled, interceptor.rejected); - }); - - while (chain.length) { - promise = promise.then(chain.shift(), chain.shift()); - } - - return promise; -}; - -// Provide aliases for supported request methods -utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function(url, config) { - return this.request(utils.merge(config || {}, { - method: method, - url: url - })); - }; -}); - -utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function(url, data, config) { - return this.request(utils.merge(config || {}, { - method: method, - url: url, - data: data - })); - }; -}); - -module.exports = Axios; diff --git a/electron/src/node_modules/axios/lib/core/InterceptorManager.js b/electron/src/node_modules/axios/lib/core/InterceptorManager.js deleted file mode 100755 index 50d667b..0000000 --- a/electron/src/node_modules/axios/lib/core/InterceptorManager.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -var utils = require('./../utils'); - -function InterceptorManager() { - this.handlers = []; -} - -/** - * Add a new interceptor to the stack - * - * @param {Function} fulfilled The function to handle `then` for a `Promise` - * @param {Function} rejected The function to handle `reject` for a `Promise` - * - * @return {Number} An ID used to remove interceptor later - */ -InterceptorManager.prototype.use = function use(fulfilled, rejected) { - this.handlers.push({ - fulfilled: fulfilled, - rejected: rejected - }); - return this.handlers.length - 1; -}; - -/** - * Remove an interceptor from the stack - * - * @param {Number} id The ID that was returned by `use` - */ -InterceptorManager.prototype.eject = function eject(id) { - if (this.handlers[id]) { - this.handlers[id] = null; - } -}; - -/** - * Iterate over all the registered interceptors - * - * This method is particularly useful for skipping over any - * interceptors that may have become `null` calling `eject`. - * - * @param {Function} fn The function to call for each interceptor - */ -InterceptorManager.prototype.forEach = function forEach(fn) { - utils.forEach(this.handlers, function forEachHandler(h) { - if (h !== null) { - fn(h); - } - }); -}; - -module.exports = InterceptorManager; diff --git a/electron/src/node_modules/axios/lib/core/README.md b/electron/src/node_modules/axios/lib/core/README.md deleted file mode 100755 index 253bc48..0000000 --- a/electron/src/node_modules/axios/lib/core/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# axios // core - -The modules found in `core/` should be modules that are specific to the domain logic of axios. These modules would most likely not make sense to be consumed outside of the axios module, as their logic is too specific. Some examples of core modules are: - -- Dispatching requests -- Managing interceptors -- Handling config diff --git a/electron/src/node_modules/axios/lib/core/createError.js b/electron/src/node_modules/axios/lib/core/createError.js deleted file mode 100755 index 933680f..0000000 --- a/electron/src/node_modules/axios/lib/core/createError.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var enhanceError = require('./enhanceError'); - -/** - * Create an Error with the specified message, config, error code, request and response. - * - * @param {string} message The error message. - * @param {Object} config The config. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * @returns {Error} The created error. - */ -module.exports = function createError(message, config, code, request, response) { - var error = new Error(message); - return enhanceError(error, config, code, request, response); -}; diff --git a/electron/src/node_modules/axios/lib/core/dispatchRequest.js b/electron/src/node_modules/axios/lib/core/dispatchRequest.js deleted file mode 100755 index 9ea70f2..0000000 --- a/electron/src/node_modules/axios/lib/core/dispatchRequest.js +++ /dev/null @@ -1,86 +0,0 @@ -'use strict'; - -var utils = require('./../utils'); -var transformData = require('./transformData'); -var isCancel = require('../cancel/isCancel'); -var defaults = require('../defaults'); -var isAbsoluteURL = require('./../helpers/isAbsoluteURL'); -var combineURLs = require('./../helpers/combineURLs'); - -/** - * Throws a `Cancel` if cancellation has been requested. - */ -function throwIfCancellationRequested(config) { - if (config.cancelToken) { - config.cancelToken.throwIfRequested(); - } -} - -/** - * Dispatch a request to the server using the configured adapter. - * - * @param {object} config The config that is to be used for the request - * @returns {Promise} The Promise to be fulfilled - */ -module.exports = function dispatchRequest(config) { - throwIfCancellationRequested(config); - - // Support baseURL config - if (config.baseURL && !isAbsoluteURL(config.url)) { - config.url = combineURLs(config.baseURL, config.url); - } - - // Ensure headers exist - config.headers = config.headers || {}; - - // Transform request data - config.data = transformData( - config.data, - config.headers, - config.transformRequest - ); - - // Flatten headers - config.headers = utils.merge( - config.headers.common || {}, - config.headers[config.method] || {}, - config.headers || {} - ); - - utils.forEach( - ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], - function cleanHeaderConfig(method) { - delete config.headers[method]; - } - ); - - var adapter = config.adapter || defaults.adapter; - - return adapter(config).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config); - - // Transform response data - response.data = transformData( - response.data, - response.headers, - config.transformResponse - ); - - return response; - }, function onAdapterRejection(reason) { - if (!isCancel(reason)) { - throwIfCancellationRequested(config); - - // Transform response data - if (reason && reason.response) { - reason.response.data = transformData( - reason.response.data, - reason.response.headers, - config.transformResponse - ); - } - } - - return Promise.reject(reason); - }); -}; diff --git a/electron/src/node_modules/axios/lib/core/enhanceError.js b/electron/src/node_modules/axios/lib/core/enhanceError.js deleted file mode 100755 index 8dfd5b4..0000000 --- a/electron/src/node_modules/axios/lib/core/enhanceError.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -/** - * Update an Error with the specified config, error code, and response. - * - * @param {Error} error The error to update. - * @param {Object} config The config. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * @returns {Error} The error. - */ -module.exports = function enhanceError(error, config, code, request, response) { - error.config = config; - if (code) { - error.code = code; - } - error.request = request; - error.response = response; - return error; -}; diff --git a/electron/src/node_modules/axios/lib/core/settle.js b/electron/src/node_modules/axios/lib/core/settle.js deleted file mode 100755 index 8db5e23..0000000 --- a/electron/src/node_modules/axios/lib/core/settle.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -var createError = require('./createError'); - -/** - * Resolve or reject a Promise based on response status. - * - * @param {Function} resolve A function that resolves the promise. - * @param {Function} reject A function that rejects the promise. - * @param {object} response The response. - */ -module.exports = function settle(resolve, reject, response) { - var validateStatus = response.config.validateStatus; - // Note: status is not exposed by XDomainRequest - if (!response.status || !validateStatus || validateStatus(response.status)) { - resolve(response); - } else { - reject(createError( - 'Request failed with status code ' + response.status, - response.config, - null, - response.request, - response - )); - } -}; diff --git a/electron/src/node_modules/axios/lib/core/transformData.js b/electron/src/node_modules/axios/lib/core/transformData.js deleted file mode 100755 index e065362..0000000 --- a/electron/src/node_modules/axios/lib/core/transformData.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -var utils = require('./../utils'); - -/** - * Transform the data for a request or a response - * - * @param {Object|String} data The data to be transformed - * @param {Array} headers The headers for the request or response - * @param {Array|Function} fns A single function or Array of functions - * @returns {*} The resulting transformed data - */ -module.exports = function transformData(data, headers, fns) { - /*eslint no-param-reassign:0*/ - utils.forEach(fns, function transform(fn) { - data = fn(data, headers); - }); - - return data; -}; diff --git a/electron/src/node_modules/axios/lib/defaults.js b/electron/src/node_modules/axios/lib/defaults.js deleted file mode 100755 index 65a25d5..0000000 --- a/electron/src/node_modules/axios/lib/defaults.js +++ /dev/null @@ -1,96 +0,0 @@ -'use strict'; - -var utils = require('./utils'); -var normalizeHeaderName = require('./helpers/normalizeHeaderName'); - -var DEFAULT_CONTENT_TYPE = { - 'Content-Type': 'application/x-www-form-urlencoded' -}; - -function setContentTypeIfUnset(headers, value) { - if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { - headers['Content-Type'] = value; - } -} - -function getDefaultAdapter() { - var adapter; - if (typeof XMLHttpRequest !== 'undefined') { - // For browsers use XHR adapter - adapter = require('./adapters/xhr'); - } else if (typeof process !== 'undefined') { - // For node use HTTP adapter - adapter = require('./adapters/http'); - } - return adapter; -} - -var defaults = { - adapter: getDefaultAdapter(), - - transformRequest: [function transformRequest(data, headers) { - normalizeHeaderName(headers, 'Content-Type'); - if (utils.isFormData(data) || - utils.isArrayBuffer(data) || - utils.isBuffer(data) || - utils.isStream(data) || - utils.isFile(data) || - utils.isBlob(data) - ) { - return data; - } - if (utils.isArrayBufferView(data)) { - return data.buffer; - } - if (utils.isURLSearchParams(data)) { - setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); - return data.toString(); - } - if (utils.isObject(data)) { - setContentTypeIfUnset(headers, 'application/json;charset=utf-8'); - return JSON.stringify(data); - } - return data; - }], - - transformResponse: [function transformResponse(data) { - /*eslint no-param-reassign:0*/ - if (typeof data === 'string') { - try { - data = JSON.parse(data); - } catch (e) { /* Ignore */ } - } - return data; - }], - - /** - * A timeout in milliseconds to abort a request. If set to 0 (default) a - * timeout is not created. - */ - timeout: 0, - - xsrfCookieName: 'XSRF-TOKEN', - xsrfHeaderName: 'X-XSRF-TOKEN', - - maxContentLength: -1, - - validateStatus: function validateStatus(status) { - return status >= 200 && status < 300; - } -}; - -defaults.headers = { - common: { - 'Accept': 'application/json, text/plain, */*' - } -}; - -utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { - defaults.headers[method] = {}; -}); - -utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); -}); - -module.exports = defaults; diff --git a/electron/src/node_modules/axios/lib/helpers/README.md b/electron/src/node_modules/axios/lib/helpers/README.md deleted file mode 100755 index 4ae3419..0000000 --- a/electron/src/node_modules/axios/lib/helpers/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# axios // helpers - -The modules found in `helpers/` should be generic modules that are _not_ specific to the domain logic of axios. These modules could theoretically be published to npm on their own and consumed by other modules or apps. Some examples of generic modules are things like: - -- Browser polyfills -- Managing cookies -- Parsing HTTP headers diff --git a/electron/src/node_modules/axios/lib/helpers/bind.js b/electron/src/node_modules/axios/lib/helpers/bind.js deleted file mode 100755 index 6147c60..0000000 --- a/electron/src/node_modules/axios/lib/helpers/bind.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -module.exports = function bind(fn, thisArg) { - return function wrap() { - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - return fn.apply(thisArg, args); - }; -}; diff --git a/electron/src/node_modules/axios/lib/helpers/btoa.js b/electron/src/node_modules/axios/lib/helpers/btoa.js deleted file mode 100755 index 2fe5014..0000000 --- a/electron/src/node_modules/axios/lib/helpers/btoa.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js - -var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; - -function E() { - this.message = 'String contains an invalid character'; -} -E.prototype = new Error; -E.prototype.code = 5; -E.prototype.name = 'InvalidCharacterError'; - -function btoa(input) { - var str = String(input); - var output = ''; - for ( - // initialize result and counter - var block, charCode, idx = 0, map = chars; - // if the next str index does not exist: - // change the mapping table to "=" - // check if d has no fractional digits - str.charAt(idx | 0) || (map = '=', idx % 1); - // "8 - idx % 1 * 8" generates the sequence 2, 4, 6, 8 - output += map.charAt(63 & block >> 8 - idx % 1 * 8) - ) { - charCode = str.charCodeAt(idx += 3 / 4); - if (charCode > 0xFF) { - throw new E(); - } - block = block << 8 | charCode; - } - return output; -} - -module.exports = btoa; diff --git a/electron/src/node_modules/axios/lib/helpers/buildURL.js b/electron/src/node_modules/axios/lib/helpers/buildURL.js deleted file mode 100755 index be83cd0..0000000 --- a/electron/src/node_modules/axios/lib/helpers/buildURL.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; - -var utils = require('./../utils'); - -function encode(val) { - return encodeURIComponent(val). - replace(/%40/gi, '@'). - replace(/%3A/gi, ':'). - replace(/%24/g, '$'). - replace(/%2C/gi, ','). - replace(/%20/g, '+'). - replace(/%5B/gi, '['). - replace(/%5D/gi, ']'); -} - -/** - * Build a URL by appending params to the end - * - * @param {string} url The base of the url (e.g., http://www.google.com) - * @param {object} [params] The params to be appended - * @returns {string} The formatted url - */ -module.exports = function buildURL(url, params, paramsSerializer) { - /*eslint no-param-reassign:0*/ - if (!params) { - return url; - } - - var serializedParams; - if (paramsSerializer) { - serializedParams = paramsSerializer(params); - } else if (utils.isURLSearchParams(params)) { - serializedParams = params.toString(); - } else { - var parts = []; - - utils.forEach(params, function serialize(val, key) { - if (val === null || typeof val === 'undefined') { - return; - } - - if (utils.isArray(val)) { - key = key + '[]'; - } else { - val = [val]; - } - - utils.forEach(val, function parseValue(v) { - if (utils.isDate(v)) { - v = v.toISOString(); - } else if (utils.isObject(v)) { - v = JSON.stringify(v); - } - parts.push(encode(key) + '=' + encode(v)); - }); - }); - - serializedParams = parts.join('&'); - } - - if (serializedParams) { - url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; - } - - return url; -}; diff --git a/electron/src/node_modules/axios/lib/helpers/combineURLs.js b/electron/src/node_modules/axios/lib/helpers/combineURLs.js deleted file mode 100755 index f1b58a5..0000000 --- a/electron/src/node_modules/axios/lib/helpers/combineURLs.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -/** - * Creates a new URL by combining the specified URLs - * - * @param {string} baseURL The base URL - * @param {string} relativeURL The relative URL - * @returns {string} The combined URL - */ -module.exports = function combineURLs(baseURL, relativeURL) { - return relativeURL - ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') - : baseURL; -}; diff --git a/electron/src/node_modules/axios/lib/helpers/cookies.js b/electron/src/node_modules/axios/lib/helpers/cookies.js deleted file mode 100755 index e45a4f9..0000000 --- a/electron/src/node_modules/axios/lib/helpers/cookies.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var utils = require('./../utils'); - -module.exports = ( - utils.isStandardBrowserEnv() ? - - // Standard browser envs support document.cookie - (function standardBrowserEnv() { - return { - write: function write(name, value, expires, path, domain, secure) { - var cookie = []; - cookie.push(name + '=' + encodeURIComponent(value)); - - if (utils.isNumber(expires)) { - cookie.push('expires=' + new Date(expires).toGMTString()); - } - - if (utils.isString(path)) { - cookie.push('path=' + path); - } - - if (utils.isString(domain)) { - cookie.push('domain=' + domain); - } - - if (secure === true) { - cookie.push('secure'); - } - - document.cookie = cookie.join('; '); - }, - - read: function read(name) { - var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); - return (match ? decodeURIComponent(match[3]) : null); - }, - - remove: function remove(name) { - this.write(name, '', Date.now() - 86400000); - } - }; - })() : - - // Non standard browser env (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return { - write: function write() {}, - read: function read() { return null; }, - remove: function remove() {} - }; - })() -); diff --git a/electron/src/node_modules/axios/lib/helpers/deprecatedMethod.js b/electron/src/node_modules/axios/lib/helpers/deprecatedMethod.js deleted file mode 100755 index ed40965..0000000 --- a/electron/src/node_modules/axios/lib/helpers/deprecatedMethod.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -/*eslint no-console:0*/ - -/** - * Supply a warning to the developer that a method they are using - * has been deprecated. - * - * @param {string} method The name of the deprecated method - * @param {string} [instead] The alternate method to use if applicable - * @param {string} [docs] The documentation URL to get further details - */ -module.exports = function deprecatedMethod(method, instead, docs) { - try { - console.warn( - 'DEPRECATED method `' + method + '`.' + - (instead ? ' Use `' + instead + '` instead.' : '') + - ' This method will be removed in a future release.'); - - if (docs) { - console.warn('For more information about usage see ' + docs); - } - } catch (e) { /* Ignore */ } -}; diff --git a/electron/src/node_modules/axios/lib/helpers/isAbsoluteURL.js b/electron/src/node_modules/axios/lib/helpers/isAbsoluteURL.js deleted file mode 100755 index d33e992..0000000 --- a/electron/src/node_modules/axios/lib/helpers/isAbsoluteURL.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -/** - * Determines whether the specified URL is absolute - * - * @param {string} url The URL to test - * @returns {boolean} True if the specified URL is absolute, otherwise false - */ -module.exports = function isAbsoluteURL(url) { - // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). - // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed - // by any combination of letters, digits, plus, period, or hyphen. - return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url); -}; diff --git a/electron/src/node_modules/axios/lib/helpers/isURLSameOrigin.js b/electron/src/node_modules/axios/lib/helpers/isURLSameOrigin.js deleted file mode 100755 index e292745..0000000 --- a/electron/src/node_modules/axios/lib/helpers/isURLSameOrigin.js +++ /dev/null @@ -1,68 +0,0 @@ -'use strict'; - -var utils = require('./../utils'); - -module.exports = ( - utils.isStandardBrowserEnv() ? - - // Standard browser envs have full support of the APIs needed to test - // whether the request URL is of the same origin as current location. - (function standardBrowserEnv() { - var msie = /(msie|trident)/i.test(navigator.userAgent); - var urlParsingNode = document.createElement('a'); - var originURL; - - /** - * Parse a URL to discover it's components - * - * @param {String} url The URL to be parsed - * @returns {Object} - */ - function resolveURL(url) { - var href = url; - - if (msie) { - // IE needs attribute set twice to normalize properties - urlParsingNode.setAttribute('href', href); - href = urlParsingNode.href; - } - - urlParsingNode.setAttribute('href', href); - - // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils - return { - href: urlParsingNode.href, - protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', - host: urlParsingNode.host, - search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', - hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', - hostname: urlParsingNode.hostname, - port: urlParsingNode.port, - pathname: (urlParsingNode.pathname.charAt(0) === '/') ? - urlParsingNode.pathname : - '/' + urlParsingNode.pathname - }; - } - - originURL = resolveURL(window.location.href); - - /** - * Determine if a URL shares the same origin as the current location - * - * @param {String} requestURL The URL to test - * @returns {boolean} True if URL shares the same origin, otherwise false - */ - return function isURLSameOrigin(requestURL) { - var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; - return (parsed.protocol === originURL.protocol && - parsed.host === originURL.host); - }; - })() : - - // Non standard browser envs (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return function isURLSameOrigin() { - return true; - }; - })() -); diff --git a/electron/src/node_modules/axios/lib/helpers/normalizeHeaderName.js b/electron/src/node_modules/axios/lib/helpers/normalizeHeaderName.js deleted file mode 100755 index 738c9fe..0000000 --- a/electron/src/node_modules/axios/lib/helpers/normalizeHeaderName.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -var utils = require('../utils'); - -module.exports = function normalizeHeaderName(headers, normalizedName) { - utils.forEach(headers, function processHeader(value, name) { - if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { - headers[normalizedName] = value; - delete headers[name]; - } - }); -}; diff --git a/electron/src/node_modules/axios/lib/helpers/parseHeaders.js b/electron/src/node_modules/axios/lib/helpers/parseHeaders.js deleted file mode 100755 index 8af2cc7..0000000 --- a/electron/src/node_modules/axios/lib/helpers/parseHeaders.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var utils = require('./../utils'); - -// Headers whose duplicates are ignored by node -// c.f. https://nodejs.org/api/http.html#http_message_headers -var ignoreDuplicateOf = [ - 'age', 'authorization', 'content-length', 'content-type', 'etag', - 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', - 'last-modified', 'location', 'max-forwards', 'proxy-authorization', - 'referer', 'retry-after', 'user-agent' -]; - -/** - * Parse headers into an object - * - * ``` - * Date: Wed, 27 Aug 2014 08:58:49 GMT - * Content-Type: application/json - * Connection: keep-alive - * Transfer-Encoding: chunked - * ``` - * - * @param {String} headers Headers needing to be parsed - * @returns {Object} Headers parsed into an object - */ -module.exports = function parseHeaders(headers) { - var parsed = {}; - var key; - var val; - var i; - - if (!headers) { return parsed; } - - utils.forEach(headers.split('\n'), function parser(line) { - i = line.indexOf(':'); - key = utils.trim(line.substr(0, i)).toLowerCase(); - val = utils.trim(line.substr(i + 1)); - - if (key) { - if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { - return; - } - if (key === 'set-cookie') { - parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); - } else { - parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; - } - } - }); - - return parsed; -}; diff --git a/electron/src/node_modules/axios/lib/helpers/spread.js b/electron/src/node_modules/axios/lib/helpers/spread.js deleted file mode 100755 index 25e3cdd..0000000 --- a/electron/src/node_modules/axios/lib/helpers/spread.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -/** - * Syntactic sugar for invoking a function and expanding an array for arguments. - * - * Common use case would be to use `Function.prototype.apply`. - * - * ```js - * function f(x, y, z) {} - * var args = [1, 2, 3]; - * f.apply(null, args); - * ``` - * - * With `spread` this example can be re-written. - * - * ```js - * spread(function(x, y, z) {})([1, 2, 3]); - * ``` - * - * @param {Function} callback - * @returns {Function} - */ -module.exports = function spread(callback) { - return function wrap(arr) { - return callback.apply(null, arr); - }; -}; diff --git a/electron/src/node_modules/axios/lib/utils.js b/electron/src/node_modules/axios/lib/utils.js deleted file mode 100755 index b3fd865..0000000 --- a/electron/src/node_modules/axios/lib/utils.js +++ /dev/null @@ -1,303 +0,0 @@ -'use strict'; - -var bind = require('./helpers/bind'); -var isBuffer = require('is-buffer'); - -/*global toString:true*/ - -// utils is a library of generic helper functions non-specific to axios - -var toString = Object.prototype.toString; - -/** - * Determine if a value is an Array - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an Array, otherwise false - */ -function isArray(val) { - return toString.call(val) === '[object Array]'; -} - -/** - * Determine if a value is an ArrayBuffer - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an ArrayBuffer, otherwise false - */ -function isArrayBuffer(val) { - return toString.call(val) === '[object ArrayBuffer]'; -} - -/** - * Determine if a value is a FormData - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an FormData, otherwise false - */ -function isFormData(val) { - return (typeof FormData !== 'undefined') && (val instanceof FormData); -} - -/** - * Determine if a value is a view on an ArrayBuffer - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false - */ -function isArrayBufferView(val) { - var result; - if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { - result = ArrayBuffer.isView(val); - } else { - result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer); - } - return result; -} - -/** - * Determine if a value is a String - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a String, otherwise false - */ -function isString(val) { - return typeof val === 'string'; -} - -/** - * Determine if a value is a Number - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Number, otherwise false - */ -function isNumber(val) { - return typeof val === 'number'; -} - -/** - * Determine if a value is undefined - * - * @param {Object} val The value to test - * @returns {boolean} True if the value is undefined, otherwise false - */ -function isUndefined(val) { - return typeof val === 'undefined'; -} - -/** - * Determine if a value is an Object - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an Object, otherwise false - */ -function isObject(val) { - return val !== null && typeof val === 'object'; -} - -/** - * Determine if a value is a Date - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Date, otherwise false - */ -function isDate(val) { - return toString.call(val) === '[object Date]'; -} - -/** - * Determine if a value is a File - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a File, otherwise false - */ -function isFile(val) { - return toString.call(val) === '[object File]'; -} - -/** - * Determine if a value is a Blob - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Blob, otherwise false - */ -function isBlob(val) { - return toString.call(val) === '[object Blob]'; -} - -/** - * Determine if a value is a Function - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Function, otherwise false - */ -function isFunction(val) { - return toString.call(val) === '[object Function]'; -} - -/** - * Determine if a value is a Stream - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Stream, otherwise false - */ -function isStream(val) { - return isObject(val) && isFunction(val.pipe); -} - -/** - * Determine if a value is a URLSearchParams object - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a URLSearchParams object, otherwise false - */ -function isURLSearchParams(val) { - return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams; -} - -/** - * Trim excess whitespace off the beginning and end of a string - * - * @param {String} str The String to trim - * @returns {String} The String freed of excess whitespace - */ -function trim(str) { - return str.replace(/^\s*/, '').replace(/\s*$/, ''); -} - -/** - * Determine if we're running in a standard browser environment - * - * This allows axios to run in a web worker, and react-native. - * Both environments support XMLHttpRequest, but not fully standard globals. - * - * web workers: - * typeof window -> undefined - * typeof document -> undefined - * - * react-native: - * navigator.product -> 'ReactNative' - */ -function isStandardBrowserEnv() { - if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') { - return false; - } - return ( - typeof window !== 'undefined' && - typeof document !== 'undefined' - ); -} - -/** - * Iterate over an Array or an Object invoking a function for each item. - * - * If `obj` is an Array callback will be called passing - * the value, index, and complete array for each item. - * - * If 'obj' is an Object callback will be called passing - * the value, key, and complete object for each property. - * - * @param {Object|Array} obj The object to iterate - * @param {Function} fn The callback to invoke for each item - */ -function forEach(obj, fn) { - // Don't bother if no value provided - if (obj === null || typeof obj === 'undefined') { - return; - } - - // Force an array if not already something iterable - if (typeof obj !== 'object') { - /*eslint no-param-reassign:0*/ - obj = [obj]; - } - - if (isArray(obj)) { - // Iterate over array values - for (var i = 0, l = obj.length; i < l; i++) { - fn.call(null, obj[i], i, obj); - } - } else { - // Iterate over object keys - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - fn.call(null, obj[key], key, obj); - } - } - } -} - -/** - * Accepts varargs expecting each argument to be an object, then - * immutably merges the properties of each object and returns result. - * - * When multiple objects contain the same key the later object in - * the arguments list will take precedence. - * - * Example: - * - * ```js - * var result = merge({foo: 123}, {foo: 456}); - * console.log(result.foo); // outputs 456 - * ``` - * - * @param {Object} obj1 Object to merge - * @returns {Object} Result of all merge properties - */ -function merge(/* obj1, obj2, obj3, ... */) { - var result = {}; - function assignValue(val, key) { - if (typeof result[key] === 'object' && typeof val === 'object') { - result[key] = merge(result[key], val); - } else { - result[key] = val; - } - } - - for (var i = 0, l = arguments.length; i < l; i++) { - forEach(arguments[i], assignValue); - } - return result; -} - -/** - * Extends object a by mutably adding to it the properties of object b. - * - * @param {Object} a The object to be extended - * @param {Object} b The object to copy properties from - * @param {Object} thisArg The object to bind function to - * @return {Object} The resulting value of object a - */ -function extend(a, b, thisArg) { - forEach(b, function assignValue(val, key) { - if (thisArg && typeof val === 'function') { - a[key] = bind(val, thisArg); - } else { - a[key] = val; - } - }); - return a; -} - -module.exports = { - isArray: isArray, - isArrayBuffer: isArrayBuffer, - isBuffer: isBuffer, - isFormData: isFormData, - isArrayBufferView: isArrayBufferView, - isString: isString, - isNumber: isNumber, - isObject: isObject, - isUndefined: isUndefined, - isDate: isDate, - isFile: isFile, - isBlob: isBlob, - isFunction: isFunction, - isStream: isStream, - isURLSearchParams: isURLSearchParams, - isStandardBrowserEnv: isStandardBrowserEnv, - forEach: forEach, - merge: merge, - extend: extend, - trim: trim -}; diff --git a/electron/src/node_modules/axios/package.json b/electron/src/node_modules/axios/package.json deleted file mode 100755 index dc02a75..0000000 --- a/electron/src/node_modules/axios/package.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "name": "axios", - "version": "0.18.0", - "description": "Promise based HTTP client for the browser and node.js", - "main": "index.js", - "scripts": { - "test": "grunt test && bundlesize", - "start": "node ./sandbox/server.js", - "build": "NODE_ENV=production grunt build", - "preversion": "npm test", - "version": "npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json", - "postversion": "git push && git push --tags", - "examples": "node ./examples/server.js", - "coveralls": "cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js" - }, - "repository": { - "type": "git", - "url": "https://github.com/axios/axios.git" - }, - "keywords": [ - "xhr", - "http", - "ajax", - "promise", - "node" - ], - "author": "Matt Zabriskie", - "license": "MIT", - "bugs": { - "url": "https://github.com/axios/axios/issues" - }, - "homepage": "https://github.com/axios/axios", - "devDependencies": { - "bundlesize": "^0.5.7", - "coveralls": "^2.11.9", - "es6-promise": "^4.0.5", - "grunt": "^1.0.1", - "grunt-banner": "^0.6.0", - "grunt-cli": "^1.2.0", - "grunt-contrib-clean": "^1.0.0", - "grunt-contrib-nodeunit": "^1.0.0", - "grunt-contrib-watch": "^1.0.0", - "grunt-eslint": "^19.0.0", - "grunt-karma": "^2.0.0", - "grunt-ts": "^6.0.0-beta.3", - "grunt-webpack": "^1.0.18", - "istanbul-instrumenter-loader": "^1.0.0", - "jasmine-core": "^2.4.1", - "karma": "^1.3.0", - "karma-chrome-launcher": "^2.0.0", - "karma-coverage": "^1.0.0", - "karma-firefox-launcher": "^1.0.0", - "karma-jasmine": "^1.0.2", - "karma-jasmine-ajax": "^0.1.13", - "karma-opera-launcher": "^1.0.0", - "karma-safari-launcher": "^1.0.0", - "karma-sauce-launcher": "^1.1.0", - "karma-sinon": "^1.0.5", - "karma-sourcemap-loader": "^0.3.7", - "karma-webpack": "^1.7.0", - "load-grunt-tasks": "^3.5.2", - "minimist": "^1.2.0", - "sinon": "^1.17.4", - "webpack": "^1.13.1", - "webpack-dev-server": "^1.14.1", - "url-search-params": "^0.6.1", - "typescript": "^2.0.3" - }, - "browser": { - "./lib/adapters/http.js": "./lib/adapters/xhr.js" - }, - "typings": "./index.d.ts", - "dependencies": { - "follow-redirects": "^1.3.0", - "is-buffer": "^1.1.5" - }, - "bundlesize": [ - { - "path": "./dist/axios.min.js", - "threshold": "5kB" - } - ] -} diff --git a/electron/src/node_modules/debug/.coveralls.yml b/electron/src/node_modules/debug/.coveralls.yml deleted file mode 100755 index 20a7068..0000000 --- a/electron/src/node_modules/debug/.coveralls.yml +++ /dev/null @@ -1 +0,0 @@ -repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve diff --git a/electron/src/node_modules/debug/.eslintrc b/electron/src/node_modules/debug/.eslintrc deleted file mode 100755 index 8a37ae2..0000000 --- a/electron/src/node_modules/debug/.eslintrc +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { - "browser": true, - "node": true - }, - "rules": { - "no-console": 0, - "no-empty": [1, { "allowEmptyCatch": true }] - }, - "extends": "eslint:recommended" -} diff --git a/electron/src/node_modules/debug/.npmignore b/electron/src/node_modules/debug/.npmignore deleted file mode 100755 index 5f60eec..0000000 --- a/electron/src/node_modules/debug/.npmignore +++ /dev/null @@ -1,9 +0,0 @@ -support -test -examples -example -*.sock -dist -yarn.lock -coverage -bower.json diff --git a/electron/src/node_modules/debug/.travis.yml b/electron/src/node_modules/debug/.travis.yml deleted file mode 100755 index 6c6090c..0000000 --- a/electron/src/node_modules/debug/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ - -language: node_js -node_js: - - "6" - - "5" - - "4" - -install: - - make node_modules - -script: - - make lint - - make test - - make coveralls diff --git a/electron/src/node_modules/debug/CHANGELOG.md b/electron/src/node_modules/debug/CHANGELOG.md deleted file mode 100755 index eadaa18..0000000 --- a/electron/src/node_modules/debug/CHANGELOG.md +++ /dev/null @@ -1,362 +0,0 @@ - -2.6.9 / 2017-09-22 -================== - - * remove ReDoS regexp in %o formatter (#504) - -2.6.8 / 2017-05-18 -================== - - * Fix: Check for undefined on browser globals (#462, @marbemac) - -2.6.7 / 2017-05-16 -================== - - * Fix: Update ms to 2.0.0 to fix regular expression denial of service vulnerability (#458, @hubdotcom) - * Fix: Inline extend function in node implementation (#452, @dougwilson) - * Docs: Fix typo (#455, @msasad) - -2.6.5 / 2017-04-27 -================== - - * Fix: null reference check on window.documentElement.style.WebkitAppearance (#447, @thebigredgeek) - * Misc: clean up browser reference checks (#447, @thebigredgeek) - * Misc: add npm-debug.log to .gitignore (@thebigredgeek) - - -2.6.4 / 2017-04-20 -================== - - * Fix: bug that would occure if process.env.DEBUG is a non-string value. (#444, @LucianBuzzo) - * Chore: ignore bower.json in npm installations. (#437, @joaovieira) - * Misc: update "ms" to v0.7.3 (@tootallnate) - -2.6.3 / 2017-03-13 -================== - - * Fix: Electron reference to `process.env.DEBUG` (#431, @paulcbetts) - * Docs: Changelog fix (@thebigredgeek) - -2.6.2 / 2017-03-10 -================== - - * Fix: DEBUG_MAX_ARRAY_LENGTH (#420, @slavaGanzin) - * Docs: Add backers and sponsors from Open Collective (#422, @piamancini) - * Docs: Add Slackin invite badge (@tootallnate) - -2.6.1 / 2017-02-10 -================== - - * Fix: Module's `export default` syntax fix for IE8 `Expected identifier` error - * Fix: Whitelist DEBUG_FD for values 1 and 2 only (#415, @pi0) - * Fix: IE8 "Expected identifier" error (#414, @vgoma) - * Fix: Namespaces would not disable once enabled (#409, @musikov) - -2.6.0 / 2016-12-28 -================== - - * Fix: added better null pointer checks for browser useColors (@thebigredgeek) - * Improvement: removed explicit `window.debug` export (#404, @tootallnate) - * Improvement: deprecated `DEBUG_FD` environment variable (#405, @tootallnate) - -2.5.2 / 2016-12-25 -================== - - * Fix: reference error on window within webworkers (#393, @KlausTrainer) - * Docs: fixed README typo (#391, @lurch) - * Docs: added notice about v3 api discussion (@thebigredgeek) - -2.5.1 / 2016-12-20 -================== - - * Fix: babel-core compatibility - -2.5.0 / 2016-12-20 -================== - - * Fix: wrong reference in bower file (@thebigredgeek) - * Fix: webworker compatibility (@thebigredgeek) - * Fix: output formatting issue (#388, @kribblo) - * Fix: babel-loader compatibility (#383, @escwald) - * Misc: removed built asset from repo and publications (@thebigredgeek) - * Misc: moved source files to /src (#378, @yamikuronue) - * Test: added karma integration and replaced babel with browserify for browser tests (#378, @yamikuronue) - * Test: coveralls integration (#378, @yamikuronue) - * Docs: simplified language in the opening paragraph (#373, @yamikuronue) - -2.4.5 / 2016-12-17 -================== - - * Fix: `navigator` undefined in Rhino (#376, @jochenberger) - * Fix: custom log function (#379, @hsiliev) - * Improvement: bit of cleanup + linting fixes (@thebigredgeek) - * Improvement: rm non-maintainted `dist/` dir (#375, @freewil) - * Docs: simplified language in the opening paragraph. (#373, @yamikuronue) - -2.4.4 / 2016-12-14 -================== - - * Fix: work around debug being loaded in preload scripts for electron (#368, @paulcbetts) - -2.4.3 / 2016-12-14 -================== - - * Fix: navigation.userAgent error for react native (#364, @escwald) - -2.4.2 / 2016-12-14 -================== - - * Fix: browser colors (#367, @tootallnate) - * Misc: travis ci integration (@thebigredgeek) - * Misc: added linting and testing boilerplate with sanity check (@thebigredgeek) - -2.4.1 / 2016-12-13 -================== - - * Fix: typo that broke the package (#356) - -2.4.0 / 2016-12-13 -================== - - * Fix: bower.json references unbuilt src entry point (#342, @justmatt) - * Fix: revert "handle regex special characters" (@tootallnate) - * Feature: configurable util.inspect()`options for NodeJS (#327, @tootallnate) - * Feature: %O`(big O) pretty-prints objects (#322, @tootallnate) - * Improvement: allow colors in workers (#335, @botverse) - * Improvement: use same color for same namespace. (#338, @lchenay) - -2.3.3 / 2016-11-09 -================== - - * Fix: Catch `JSON.stringify()` errors (#195, Jovan Alleyne) - * Fix: Returning `localStorage` saved values (#331, Levi Thomason) - * Improvement: Don't create an empty object when no `process` (Nathan Rajlich) - -2.3.2 / 2016-11-09 -================== - - * Fix: be super-safe in index.js as well (@TooTallNate) - * Fix: should check whether process exists (Tom Newby) - -2.3.1 / 2016-11-09 -================== - - * Fix: Added electron compatibility (#324, @paulcbetts) - * Improvement: Added performance optimizations (@tootallnate) - * Readme: Corrected PowerShell environment variable example (#252, @gimre) - * Misc: Removed yarn lock file from source control (#321, @fengmk2) - -2.3.0 / 2016-11-07 -================== - - * Fix: Consistent placement of ms diff at end of output (#215, @gorangajic) - * Fix: Escaping of regex special characters in namespace strings (#250, @zacronos) - * Fix: Fixed bug causing crash on react-native (#282, @vkarpov15) - * Feature: Enabled ES6+ compatible import via default export (#212 @bucaran) - * Feature: Added %O formatter to reflect Chrome's console.log capability (#279, @oncletom) - * Package: Update "ms" to 0.7.2 (#315, @DevSide) - * Package: removed superfluous version property from bower.json (#207 @kkirsche) - * Readme: fix USE_COLORS to DEBUG_COLORS - * Readme: Doc fixes for format string sugar (#269, @mlucool) - * Readme: Updated docs for DEBUG_FD and DEBUG_COLORS environment variables (#232, @mattlyons0) - * Readme: doc fixes for PowerShell (#271 #243, @exoticknight @unreadable) - * Readme: better docs for browser support (#224, @matthewmueller) - * Tooling: Added yarn integration for development (#317, @thebigredgeek) - * Misc: Renamed History.md to CHANGELOG.md (@thebigredgeek) - * Misc: Added license file (#226 #274, @CantemoInternal @sdaitzman) - * Misc: Updated contributors (@thebigredgeek) - -2.2.0 / 2015-05-09 -================== - - * package: update "ms" to v0.7.1 (#202, @dougwilson) - * README: add logging to file example (#193, @DanielOchoa) - * README: fixed a typo (#191, @amir-s) - * browser: expose `storage` (#190, @stephenmathieson) - * Makefile: add a `distclean` target (#189, @stephenmathieson) - -2.1.3 / 2015-03-13 -================== - - * Updated stdout/stderr example (#186) - * Updated example/stdout.js to match debug current behaviour - * Renamed example/stderr.js to stdout.js - * Update Readme.md (#184) - * replace high intensity foreground color for bold (#182, #183) - -2.1.2 / 2015-03-01 -================== - - * dist: recompile - * update "ms" to v0.7.0 - * package: update "browserify" to v9.0.3 - * component: fix "ms.js" repo location - * changed bower package name - * updated documentation about using debug in a browser - * fix: security error on safari (#167, #168, @yields) - -2.1.1 / 2014-12-29 -================== - - * browser: use `typeof` to check for `console` existence - * browser: check for `console.log` truthiness (fix IE 8/9) - * browser: add support for Chrome apps - * Readme: added Windows usage remarks - * Add `bower.json` to properly support bower install - -2.1.0 / 2014-10-15 -================== - - * node: implement `DEBUG_FD` env variable support - * package: update "browserify" to v6.1.0 - * package: add "license" field to package.json (#135, @panuhorsmalahti) - -2.0.0 / 2014-09-01 -================== - - * package: update "browserify" to v5.11.0 - * node: use stderr rather than stdout for logging (#29, @stephenmathieson) - -1.0.4 / 2014-07-15 -================== - - * dist: recompile - * example: remove `console.info()` log usage - * example: add "Content-Type" UTF-8 header to browser example - * browser: place %c marker after the space character - * browser: reset the "content" color via `color: inherit` - * browser: add colors support for Firefox >= v31 - * debug: prefer an instance `log()` function over the global one (#119) - * Readme: update documentation about styled console logs for FF v31 (#116, @wryk) - -1.0.3 / 2014-07-09 -================== - - * Add support for multiple wildcards in namespaces (#122, @seegno) - * browser: fix lint - -1.0.2 / 2014-06-10 -================== - - * browser: update color palette (#113, @gscottolson) - * common: make console logging function configurable (#108, @timoxley) - * node: fix %o colors on old node <= 0.8.x - * Makefile: find node path using shell/which (#109, @timoxley) - -1.0.1 / 2014-06-06 -================== - - * browser: use `removeItem()` to clear localStorage - * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777) - * package: add "contributors" section - * node: fix comment typo - * README: list authors - -1.0.0 / 2014-06-04 -================== - - * make ms diff be global, not be scope - * debug: ignore empty strings in enable() - * node: make DEBUG_COLORS able to disable coloring - * *: export the `colors` array - * npmignore: don't publish the `dist` dir - * Makefile: refactor to use browserify - * package: add "browserify" as a dev dependency - * Readme: add Web Inspector Colors section - * node: reset terminal color for the debug content - * node: map "%o" to `util.inspect()` - * browser: map "%j" to `JSON.stringify()` - * debug: add custom "formatters" - * debug: use "ms" module for humanizing the diff - * Readme: add "bash" syntax highlighting - * browser: add Firebug color support - * browser: add colors for WebKit browsers - * node: apply log to `console` - * rewrite: abstract common logic for Node & browsers - * add .jshintrc file - -0.8.1 / 2014-04-14 -================== - - * package: re-add the "component" section - -0.8.0 / 2014-03-30 -================== - - * add `enable()` method for nodejs. Closes #27 - * change from stderr to stdout - * remove unnecessary index.js file - -0.7.4 / 2013-11-13 -================== - - * remove "browserify" key from package.json (fixes something in browserify) - -0.7.3 / 2013-10-30 -================== - - * fix: catch localStorage security error when cookies are blocked (Chrome) - * add debug(err) support. Closes #46 - * add .browser prop to package.json. Closes #42 - -0.7.2 / 2013-02-06 -================== - - * fix package.json - * fix: Mobile Safari (private mode) is broken with debug - * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript - -0.7.1 / 2013-02-05 -================== - - * add repository URL to package.json - * add DEBUG_COLORED to force colored output - * add browserify support - * fix component. Closes #24 - -0.7.0 / 2012-05-04 -================== - - * Added .component to package.json - * Added debug.component.js build - -0.6.0 / 2012-03-16 -================== - - * Added support for "-" prefix in DEBUG [Vinay Pulim] - * Added `.enabled` flag to the node version [TooTallNate] - -0.5.0 / 2012-02-02 -================== - - * Added: humanize diffs. Closes #8 - * Added `debug.disable()` to the CS variant - * Removed padding. Closes #10 - * Fixed: persist client-side variant again. Closes #9 - -0.4.0 / 2012-02-01 -================== - - * Added browser variant support for older browsers [TooTallNate] - * Added `debug.enable('project:*')` to browser variant [TooTallNate] - * Added padding to diff (moved it to the right) - -0.3.0 / 2012-01-26 -================== - - * Added millisecond diff when isatty, otherwise UTC string - -0.2.0 / 2012-01-22 -================== - - * Added wildcard support - -0.1.0 / 2011-12-02 -================== - - * Added: remove colors unless stderr isatty [TooTallNate] - -0.0.1 / 2010-01-03 -================== - - * Initial release diff --git a/electron/src/node_modules/debug/LICENSE b/electron/src/node_modules/debug/LICENSE deleted file mode 100755 index 658c933..0000000 --- a/electron/src/node_modules/debug/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -(The MIT License) - -Copyright (c) 2014 TJ Holowaychuk - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software -and associated documentation files (the 'Software'), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/electron/src/node_modules/debug/Makefile b/electron/src/node_modules/debug/Makefile deleted file mode 100755 index 584da8b..0000000 --- a/electron/src/node_modules/debug/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -# get Makefile directory name: http://stackoverflow.com/a/5982798/376773 -THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) -THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) - -# BIN directory -BIN := $(THIS_DIR)/node_modules/.bin - -# Path -PATH := node_modules/.bin:$(PATH) -SHELL := /bin/bash - -# applications -NODE ?= $(shell which node) -YARN ?= $(shell which yarn) -PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm)) -BROWSERIFY ?= $(NODE) $(BIN)/browserify - -.FORCE: - -install: node_modules - -node_modules: package.json - @NODE_ENV= $(PKG) install - @touch node_modules - -lint: .FORCE - eslint browser.js debug.js index.js node.js - -test-node: .FORCE - istanbul cover node_modules/mocha/bin/_mocha -- test/**.js - -test-browser: .FORCE - mkdir -p dist - - @$(BROWSERIFY) \ - --standalone debug \ - . > dist/debug.js - - karma start --single-run - rimraf dist - -test: .FORCE - concurrently \ - "make test-node" \ - "make test-browser" - -coveralls: - cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js - -.PHONY: all install clean distclean diff --git a/electron/src/node_modules/debug/README.md b/electron/src/node_modules/debug/README.md deleted file mode 100755 index f67be6b..0000000 --- a/electron/src/node_modules/debug/README.md +++ /dev/null @@ -1,312 +0,0 @@ -# debug -[![Build Status](https://travis-ci.org/visionmedia/debug.svg?branch=master)](https://travis-ci.org/visionmedia/debug) [![Coverage Status](https://coveralls.io/repos/github/visionmedia/debug/badge.svg?branch=master)](https://coveralls.io/github/visionmedia/debug?branch=master) [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers) -[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors) - - - -A tiny node.js debugging utility modelled after node core's debugging technique. - -**Discussion around the V3 API is under way [here](https://github.com/visionmedia/debug/issues/370)** - -## Installation - -```bash -$ npm install debug -``` - -## Usage - -`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole. - -Example _app.js_: - -```js -var debug = require('debug')('http') - , http = require('http') - , name = 'My App'; - -// fake app - -debug('booting %s', name); - -http.createServer(function(req, res){ - debug(req.method + ' ' + req.url); - res.end('hello\n'); -}).listen(3000, function(){ - debug('listening'); -}); - -// fake worker of some kind - -require('./worker'); -``` - -Example _worker.js_: - -```js -var debug = require('debug')('worker'); - -setInterval(function(){ - debug('doing some work'); -}, 1000); -``` - - The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples: - - ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png) - - ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png) - -#### Windows note - - On Windows the environment variable is set using the `set` command. - - ```cmd - set DEBUG=*,-not_this - ``` - - Note that PowerShell uses different syntax to set environment variables. - - ```cmd - $env:DEBUG = "*,-not_this" - ``` - -Then, run the program to be debugged as usual. - -## Millisecond diff - - When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. - - ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png) - - When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below: - - ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png) - -## Conventions - - If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". - -## Wildcards - - The `*` character may be used as a wildcard. Suppose for example your library has debuggers named "connect:bodyParser", "connect:compress", "connect:session", instead of listing all three with `DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. - - You can also exclude specific debuggers by prefixing them with a "-" character. For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with "connect:". - -## Environment Variables - - When running through Node.js, you can set a few environment variables that will - change the behavior of the debug logging: - -| Name | Purpose | -|-----------|-------------------------------------------------| -| `DEBUG` | Enables/disables specific debugging namespaces. | -| `DEBUG_COLORS`| Whether or not to use colors in the debug output. | -| `DEBUG_DEPTH` | Object inspection depth. | -| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. | - - - __Note:__ The environment variables beginning with `DEBUG_` end up being - converted into an Options object that gets used with `%o`/`%O` formatters. - See the Node.js documentation for - [`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options) - for the complete list. - -## Formatters - - - Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting. Below are the officially supported formatters: - -| Formatter | Representation | -|-----------|----------------| -| `%O` | Pretty-print an Object on multiple lines. | -| `%o` | Pretty-print an Object all on a single line. | -| `%s` | String. | -| `%d` | Number (both integer and float). | -| `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. | -| `%%` | Single percent sign ('%'). This does not consume an argument. | - -### Custom formatters - - You can add custom formatters by extending the `debug.formatters` object. For example, if you wanted to add support for rendering a Buffer as hex with `%h`, you could do something like: - -```js -const createDebug = require('debug') -createDebug.formatters.h = (v) => { - return v.toString('hex') -} - -// …elsewhere -const debug = createDebug('foo') -debug('this is hex: %h', new Buffer('hello world')) -// foo this is hex: 68656c6c6f20776f726c6421 +0ms -``` - -## Browser support - You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify), - or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest), - if you don't want to build it yourself. - - Debug's enable state is currently persisted by `localStorage`. - Consider the situation shown below where you have `worker:a` and `worker:b`, - and wish to debug both. You can enable this using `localStorage.debug`: - -```js -localStorage.debug = 'worker:*' -``` - -And then refresh the page. - -```js -a = debug('worker:a'); -b = debug('worker:b'); - -setInterval(function(){ - a('doing some work'); -}, 1000); - -setInterval(function(){ - b('doing some work'); -}, 1200); -``` - -#### Web Inspector Colors - - Colors are also enabled on "Web Inspectors" that understand the `%c` formatting - option. These are WebKit web inspectors, Firefox ([since version - 31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/)) - and the Firebug plugin for Firefox (any version). - - Colored output looks something like: - - ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png) - - -## Output streams - - By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method: - -Example _stdout.js_: - -```js -var debug = require('debug'); -var error = debug('app:error'); - -// by default stderr is used -error('goes to stderr!'); - -var log = debug('app:log'); -// set this namespace to log via console.log -log.log = console.log.bind(console); // don't forget to bind to console! -log('goes to stdout'); -error('still goes to stderr!'); - -// set all output to go via console.info -// overrides all per-namespace log settings -debug.log = console.info.bind(console); -error('now goes to stdout via console.info'); -log('still goes to stdout, but via console.info now'); -``` - - -## Authors - - - TJ Holowaychuk - - Nathan Rajlich - - Andrew Rhyne - -## Backers - -Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## Sponsors - -Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## License - -(The MIT License) - -Copyright (c) 2014-2016 TJ Holowaychuk <tj@vision-media.ca> - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/electron/src/node_modules/debug/component.json b/electron/src/node_modules/debug/component.json deleted file mode 100755 index 9de2641..0000000 --- a/electron/src/node_modules/debug/component.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "debug", - "repo": "visionmedia/debug", - "description": "small debugging utility", - "version": "2.6.9", - "keywords": [ - "debug", - "log", - "debugger" - ], - "main": "src/browser.js", - "scripts": [ - "src/browser.js", - "src/debug.js" - ], - "dependencies": { - "rauchg/ms.js": "0.7.1" - } -} diff --git a/electron/src/node_modules/debug/karma.conf.js b/electron/src/node_modules/debug/karma.conf.js deleted file mode 100755 index 103a82d..0000000 --- a/electron/src/node_modules/debug/karma.conf.js +++ /dev/null @@ -1,70 +0,0 @@ -// Karma configuration -// Generated on Fri Dec 16 2016 13:09:51 GMT+0000 (UTC) - -module.exports = function(config) { - config.set({ - - // base path that will be used to resolve all patterns (eg. files, exclude) - basePath: '', - - - // frameworks to use - // available frameworks: https://npmjs.org/browse/keyword/karma-adapter - frameworks: ['mocha', 'chai', 'sinon'], - - - // list of files / patterns to load in the browser - files: [ - 'dist/debug.js', - 'test/*spec.js' - ], - - - // list of files to exclude - exclude: [ - 'src/node.js' - ], - - - // preprocess matching files before serving them to the browser - // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor - preprocessors: { - }, - - // test results reporter to use - // possible values: 'dots', 'progress' - // available reporters: https://npmjs.org/browse/keyword/karma-reporter - reporters: ['progress'], - - - // web server port - port: 9876, - - - // enable / disable colors in the output (reporters and logs) - colors: true, - - - // level of logging - // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG - logLevel: config.LOG_INFO, - - - // enable / disable watching file and executing tests whenever any file changes - autoWatch: true, - - - // start these browsers - // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher - browsers: ['PhantomJS'], - - - // Continuous Integration mode - // if true, Karma captures browsers, runs the tests and exits - singleRun: false, - - // Concurrency level - // how many browser should be started simultaneous - concurrency: Infinity - }) -} diff --git a/electron/src/node_modules/debug/node.js b/electron/src/node_modules/debug/node.js deleted file mode 100755 index 7fc36fe..0000000 --- a/electron/src/node_modules/debug/node.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./src/node'); diff --git a/electron/src/node_modules/debug/package.json b/electron/src/node_modules/debug/package.json deleted file mode 100755 index dc787ba..0000000 --- a/electron/src/node_modules/debug/package.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "debug", - "version": "2.6.9", - "repository": { - "type": "git", - "url": "git://github.com/visionmedia/debug.git" - }, - "description": "small debugging utility", - "keywords": [ - "debug", - "log", - "debugger" - ], - "author": "TJ Holowaychuk ", - "contributors": [ - "Nathan Rajlich (http://n8.io)", - "Andrew Rhyne " - ], - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - }, - "devDependencies": { - "browserify": "9.0.3", - "chai": "^3.5.0", - "concurrently": "^3.1.0", - "coveralls": "^2.11.15", - "eslint": "^3.12.1", - "istanbul": "^0.4.5", - "karma": "^1.3.0", - "karma-chai": "^0.1.0", - "karma-mocha": "^1.3.0", - "karma-phantomjs-launcher": "^1.0.2", - "karma-sinon": "^1.0.5", - "mocha": "^3.2.0", - "mocha-lcov-reporter": "^1.2.0", - "rimraf": "^2.5.4", - "sinon": "^1.17.6", - "sinon-chai": "^2.8.0" - }, - "main": "./src/index.js", - "browser": "./src/browser.js", - "component": { - "scripts": { - "debug/index.js": "browser.js", - "debug/debug.js": "debug.js" - } - } -} diff --git a/electron/src/node_modules/debug/src/browser.js b/electron/src/node_modules/debug/src/browser.js deleted file mode 100755 index 7106924..0000000 --- a/electron/src/node_modules/debug/src/browser.js +++ /dev/null @@ -1,185 +0,0 @@ -/** - * This is the web browser implementation of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = require('./debug'); -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; -exports.storage = 'undefined' != typeof chrome - && 'undefined' != typeof chrome.storage - ? chrome.storage.local - : localstorage(); - -/** - * Colors. - */ - -exports.colors = [ - 'lightseagreen', - 'forestgreen', - 'goldenrod', - 'dodgerblue', - 'darkorchid', - 'crimson' -]; - -/** - * Currently only WebKit-based Web Inspectors, Firefox >= v31, - * and the Firebug extension (any Firefox version) are known - * to support "%c" CSS customizations. - * - * TODO: add a `localStorage` variable to explicitly enable/disable colors - */ - -function useColors() { - // NB: In an Electron preload script, document will be defined but not fully - // initialized. Since we know we're in Chrome, we'll just detect this case - // explicitly - if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { - return true; - } - - // is webkit? http://stackoverflow.com/a/16459606/376773 - // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 - return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || - // is firebug? http://stackoverflow.com/a/398120/376773 - (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || - // is firefox >= v31? - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || - // double check webkit in userAgent just in case we are in a worker - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); -} - -/** - * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. - */ - -exports.formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (err) { - return '[UnexpectedJSONParseError]: ' + err.message; - } -}; - - -/** - * Colorize log arguments if enabled. - * - * @api public - */ - -function formatArgs(args) { - var useColors = this.useColors; - - args[0] = (useColors ? '%c' : '') - + this.namespace - + (useColors ? ' %c' : ' ') - + args[0] - + (useColors ? '%c ' : ' ') - + '+' + exports.humanize(this.diff); - - if (!useColors) return; - - var c = 'color: ' + this.color; - args.splice(1, 0, c, 'color: inherit') - - // the final "%c" is somewhat tricky, because there could be other - // arguments passed either before or after the %c, so we need to - // figure out the correct index to insert the CSS into - var index = 0; - var lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, function(match) { - if ('%%' === match) return; - index++; - if ('%c' === match) { - // we only are interested in the *last* %c - // (the user may have provided their own) - lastC = index; - } - }); - - args.splice(lastC, 0, c); -} - -/** - * Invokes `console.log()` when available. - * No-op when `console.log` is not a "function". - * - * @api public - */ - -function log() { - // this hackery is required for IE8/9, where - // the `console.log` function doesn't have 'apply' - return 'object' === typeof console - && console.log - && Function.prototype.apply.call(console.log, console, arguments); -} - -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ - -function save(namespaces) { - try { - if (null == namespaces) { - exports.storage.removeItem('debug'); - } else { - exports.storage.debug = namespaces; - } - } catch(e) {} -} - -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ - -function load() { - var r; - try { - r = exports.storage.debug; - } catch(e) {} - - // If debug isn't set in LS, and we're in Electron, try to load $DEBUG - if (!r && typeof process !== 'undefined' && 'env' in process) { - r = process.env.DEBUG; - } - - return r; -} - -/** - * Enable namespaces listed in `localStorage.debug` initially. - */ - -exports.enable(load()); - -/** - * Localstorage attempts to return the localstorage. - * - * This is necessary because safari throws - * when a user disables cookies/localstorage - * and you attempt to access it. - * - * @return {LocalStorage} - * @api private - */ - -function localstorage() { - try { - return window.localStorage; - } catch (e) {} -} diff --git a/electron/src/node_modules/debug/src/debug.js b/electron/src/node_modules/debug/src/debug.js deleted file mode 100755 index 6a5e3fc..0000000 --- a/electron/src/node_modules/debug/src/debug.js +++ /dev/null @@ -1,202 +0,0 @@ - -/** - * This is the common logic for both the Node.js and web browser - * implementations of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; -exports.coerce = coerce; -exports.disable = disable; -exports.enable = enable; -exports.enabled = enabled; -exports.humanize = require('ms'); - -/** - * The currently active debug mode names, and names to skip. - */ - -exports.names = []; -exports.skips = []; - -/** - * Map of special "%n" handling functions, for the debug "format" argument. - * - * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". - */ - -exports.formatters = {}; - -/** - * Previous log timestamp. - */ - -var prevTime; - -/** - * Select a color. - * @param {String} namespace - * @return {Number} - * @api private - */ - -function selectColor(namespace) { - var hash = 0, i; - - for (i in namespace) { - hash = ((hash << 5) - hash) + namespace.charCodeAt(i); - hash |= 0; // Convert to 32bit integer - } - - return exports.colors[Math.abs(hash) % exports.colors.length]; -} - -/** - * Create a debugger with the given `namespace`. - * - * @param {String} namespace - * @return {Function} - * @api public - */ - -function createDebug(namespace) { - - function debug() { - // disabled? - if (!debug.enabled) return; - - var self = debug; - - // set `diff` timestamp - var curr = +new Date(); - var ms = curr - (prevTime || curr); - self.diff = ms; - self.prev = prevTime; - self.curr = curr; - prevTime = curr; - - // turn the `arguments` into a proper Array - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - - args[0] = exports.coerce(args[0]); - - if ('string' !== typeof args[0]) { - // anything else let's inspect with %O - args.unshift('%O'); - } - - // apply any `formatters` transformations - var index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { - // if we encounter an escaped % then don't increase the array index - if (match === '%%') return match; - index++; - var formatter = exports.formatters[format]; - if ('function' === typeof formatter) { - var val = args[index]; - match = formatter.call(self, val); - - // now we need to remove `args[index]` since it's inlined in the `format` - args.splice(index, 1); - index--; - } - return match; - }); - - // apply env-specific formatting (colors, etc.) - exports.formatArgs.call(self, args); - - var logFn = debug.log || exports.log || console.log.bind(console); - logFn.apply(self, args); - } - - debug.namespace = namespace; - debug.enabled = exports.enabled(namespace); - debug.useColors = exports.useColors(); - debug.color = selectColor(namespace); - - // env-specific initialization logic for debug instances - if ('function' === typeof exports.init) { - exports.init(debug); - } - - return debug; -} - -/** - * Enables a debug mode by namespaces. This can include modes - * separated by a colon and wildcards. - * - * @param {String} namespaces - * @api public - */ - -function enable(namespaces) { - exports.save(namespaces); - - exports.names = []; - exports.skips = []; - - var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); - var len = split.length; - - for (var i = 0; i < len; i++) { - if (!split[i]) continue; // ignore empty strings - namespaces = split[i].replace(/\*/g, '.*?'); - if (namespaces[0] === '-') { - exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); - } else { - exports.names.push(new RegExp('^' + namespaces + '$')); - } - } -} - -/** - * Disable debug output. - * - * @api public - */ - -function disable() { - exports.enable(''); -} - -/** - * Returns true if the given mode name is enabled, false otherwise. - * - * @param {String} name - * @return {Boolean} - * @api public - */ - -function enabled(name) { - var i, len; - for (i = 0, len = exports.skips.length; i < len; i++) { - if (exports.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = exports.names.length; i < len; i++) { - if (exports.names[i].test(name)) { - return true; - } - } - return false; -} - -/** - * Coerce `val`. - * - * @param {Mixed} val - * @return {Mixed} - * @api private - */ - -function coerce(val) { - if (val instanceof Error) return val.stack || val.message; - return val; -} diff --git a/electron/src/node_modules/debug/src/index.js b/electron/src/node_modules/debug/src/index.js deleted file mode 100755 index e12cf4d..0000000 --- a/electron/src/node_modules/debug/src/index.js +++ /dev/null @@ -1,10 +0,0 @@ -/** - * Detect Electron renderer process, which is node, but we should - * treat as a browser. - */ - -if (typeof process !== 'undefined' && process.type === 'renderer') { - module.exports = require('./browser.js'); -} else { - module.exports = require('./node.js'); -} diff --git a/electron/src/node_modules/debug/src/inspector-log.js b/electron/src/node_modules/debug/src/inspector-log.js deleted file mode 100755 index 60ea6c0..0000000 --- a/electron/src/node_modules/debug/src/inspector-log.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = inspectorLog; - -// black hole -const nullStream = new (require('stream').Writable)(); -nullStream._write = () => {}; - -/** - * Outputs a `console.log()` to the Node.js Inspector console *only*. - */ -function inspectorLog() { - const stdout = console._stdout; - console._stdout = nullStream; - console.log.apply(console, arguments); - console._stdout = stdout; -} diff --git a/electron/src/node_modules/debug/src/node.js b/electron/src/node_modules/debug/src/node.js deleted file mode 100755 index b15109c..0000000 --- a/electron/src/node_modules/debug/src/node.js +++ /dev/null @@ -1,248 +0,0 @@ -/** - * Module dependencies. - */ - -var tty = require('tty'); -var util = require('util'); - -/** - * This is the Node.js implementation of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = require('./debug'); -exports.init = init; -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; - -/** - * Colors. - */ - -exports.colors = [6, 2, 3, 4, 5, 1]; - -/** - * Build up the default `inspectOpts` object from the environment variables. - * - * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js - */ - -exports.inspectOpts = Object.keys(process.env).filter(function (key) { - return /^debug_/i.test(key); -}).reduce(function (obj, key) { - // camel-case - var prop = key - .substring(6) - .toLowerCase() - .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); - - // coerce string value into JS value - var val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) val = true; - else if (/^(no|off|false|disabled)$/i.test(val)) val = false; - else if (val === 'null') val = null; - else val = Number(val); - - obj[prop] = val; - return obj; -}, {}); - -/** - * The file descriptor to write the `debug()` calls to. - * Set the `DEBUG_FD` env variable to override with another value. i.e.: - * - * $ DEBUG_FD=3 node script.js 3>debug.log - */ - -var fd = parseInt(process.env.DEBUG_FD, 10) || 2; - -if (1 !== fd && 2 !== fd) { - util.deprecate(function(){}, 'except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)')() -} - -var stream = 1 === fd ? process.stdout : - 2 === fd ? process.stderr : - createWritableStdioStream(fd); - -/** - * Is stdout a TTY? Colored output is enabled when `true`. - */ - -function useColors() { - return 'colors' in exports.inspectOpts - ? Boolean(exports.inspectOpts.colors) - : tty.isatty(fd); -} - -/** - * Map %o to `util.inspect()`, all on a single line. - */ - -exports.formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts) - .split('\n').map(function(str) { - return str.trim() - }).join(' '); -}; - -/** - * Map %o to `util.inspect()`, allowing multiple lines if needed. - */ - -exports.formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts); -}; - -/** - * Adds ANSI color escape codes if enabled. - * - * @api public - */ - -function formatArgs(args) { - var name = this.namespace; - var useColors = this.useColors; - - if (useColors) { - var c = this.color; - var prefix = ' \u001b[3' + c + ';1m' + name + ' ' + '\u001b[0m'; - - args[0] = prefix + args[0].split('\n').join('\n' + prefix); - args.push('\u001b[3' + c + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); - } else { - args[0] = new Date().toUTCString() - + ' ' + name + ' ' + args[0]; - } -} - -/** - * Invokes `util.format()` with the specified arguments and writes to `stream`. - */ - -function log() { - return stream.write(util.format.apply(util, arguments) + '\n'); -} - -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ - -function save(namespaces) { - if (null == namespaces) { - // If you set a process.env field to null or undefined, it gets cast to the - // string 'null' or 'undefined'. Just delete instead. - delete process.env.DEBUG; - } else { - process.env.DEBUG = namespaces; - } -} - -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ - -function load() { - return process.env.DEBUG; -} - -/** - * Copied from `node/src/node.js`. - * - * XXX: It's lame that node doesn't expose this API out-of-the-box. It also - * relies on the undocumented `tty_wrap.guessHandleType()` which is also lame. - */ - -function createWritableStdioStream (fd) { - var stream; - var tty_wrap = process.binding('tty_wrap'); - - // Note stream._type is used for test-module-load-list.js - - switch (tty_wrap.guessHandleType(fd)) { - case 'TTY': - stream = new tty.WriteStream(fd); - stream._type = 'tty'; - - // Hack to have stream not keep the event loop alive. - // See https://github.com/joyent/node/issues/1726 - if (stream._handle && stream._handle.unref) { - stream._handle.unref(); - } - break; - - case 'FILE': - var fs = require('fs'); - stream = new fs.SyncWriteStream(fd, { autoClose: false }); - stream._type = 'fs'; - break; - - case 'PIPE': - case 'TCP': - var net = require('net'); - stream = new net.Socket({ - fd: fd, - readable: false, - writable: true - }); - - // FIXME Should probably have an option in net.Socket to create a - // stream from an existing fd which is writable only. But for now - // we'll just add this hack and set the `readable` member to false. - // Test: ./node test/fixtures/echo.js < /etc/passwd - stream.readable = false; - stream.read = null; - stream._type = 'pipe'; - - // FIXME Hack to have stream not keep the event loop alive. - // See https://github.com/joyent/node/issues/1726 - if (stream._handle && stream._handle.unref) { - stream._handle.unref(); - } - break; - - default: - // Probably an error on in uv_guess_handle() - throw new Error('Implement me. Unknown stream file type!'); - } - - // For supporting legacy API we put the FD here. - stream.fd = fd; - - stream._isStdio = true; - - return stream; -} - -/** - * Init logic for `debug` instances. - * - * Create a new `inspectOpts` object in case `useColors` is set - * differently for a particular `debug` instance. - */ - -function init (debug) { - debug.inspectOpts = {}; - - var keys = Object.keys(exports.inspectOpts); - for (var i = 0; i < keys.length; i++) { - debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; - } -} - -/** - * Enable namespaces listed in `process.env.DEBUG` initially. - */ - -exports.enable(load()); diff --git a/electron/src/node_modules/electron-context-menu/index.js b/electron/src/node_modules/electron-context-menu/index.js deleted file mode 100755 index cbf5cc3..0000000 --- a/electron/src/node_modules/electron-context-menu/index.js +++ /dev/null @@ -1,170 +0,0 @@ -'use strict'; -const electron = require('electron'); -const {download} = require('electron-dl'); -const isDev = require('electron-is-dev'); - -const webContents = win => win.webContents || win.getWebContents(); - -function create(win, opts) { - webContents(win).on('context-menu', (e, props) => { - if (typeof opts.shouldShowMenu === 'function' && opts.shouldShowMenu(e, props) === false) { - return; - } - - const editFlags = props.editFlags; - const hasText = props.selectionText.trim().length > 0; - const can = type => editFlags[`can${type}`] && hasText; - - let menuTpl = [{ - type: 'separator' - }, { - id: 'cut', - label: 'Cut', - // Needed because of macOS limitation: - // https://github.com/electron/electron/issues/5860 - role: can('Cut') ? 'cut' : '', - enabled: can('Cut'), - visible: props.isEditable - }, { - id: 'copy', - label: 'Copy', - role: can('Copy') ? 'copy' : '', - enabled: can('Copy'), - visible: props.isEditable || hasText - }, { - id: 'paste', - label: 'Paste', - role: editFlags.canPaste ? 'paste' : '', - enabled: editFlags.canPaste, - visible: props.isEditable - }, { - type: 'separator' - }]; - - if (props.mediaType === 'image') { - menuTpl = [{ - type: 'separator' - }, { - id: 'save', - label: 'Save Image', - click() { - download(win, props.srcURL); - } - }, { - type: 'separator' - }]; - } - - if (props.linkURL && props.mediaType === 'none') { - menuTpl = [{ - type: 'separator' - }, { - id: 'copyLink', - label: 'Copy Link', - click() { - if (process.platform === 'darwin') { - electron.clipboard.writeBookmark(props.linkText, props.linkURL); - } else { - electron.clipboard.writeText(props.linkURL); - } - } - }, { - type: 'separator' - }]; - } - - if (opts.prepend) { - const result = opts.prepend(props, win); - - if (Array.isArray(result)) { - menuTpl.unshift(...result); - } - } - - if (opts.append) { - const result = opts.append(props, win); - - if (Array.isArray(result)) { - menuTpl.push(...result); - } - } - - if (opts.showInspectElement || (opts.showInspectElement !== false && isDev)) { - menuTpl.push({ - type: 'separator' - }, { - id: 'inspect', - label: 'Inspect Element', - click() { - win.inspectElement(props.x, props.y); - - if (webContents(win).isDevToolsOpened()) { - webContents(win).devToolsWebContents.focus(); - } - } - }, { - type: 'separator' - }); - } - - // Apply custom labels for default menu items - if (opts.labels) { - for (const menuItem of menuTpl) { - if (opts.labels[menuItem.id]) { - menuItem.label = opts.labels[menuItem.id]; - } - } - } - - // Filter out leading/trailing separators - // TODO: https://github.com/electron/electron/issues/5869 - menuTpl = delUnusedElements(menuTpl); - - if (menuTpl.length > 0) { - const menu = (electron.remote ? electron.remote.Menu : electron.Menu).buildFromTemplate(menuTpl); - - /* - * When electron.remote is not available this runs in the browser process. - * We can safely use win in this case as it refers to the window the - * context-menu should open in. - * When this is being called from a webView, we can't use win as this - * would refere to the webView which is not allowed to render a popup menu. - */ - menu.popup(electron.remote ? electron.remote.getCurrentWindow() : win); - } - }); -} - -function delUnusedElements(menuTpl) { - let notDeletedPrevEl; - return menuTpl.filter(el => el.visible !== false).filter((el, i, arr) => { - const toDelete = el.type === 'separator' && (!notDeletedPrevEl || i === arr.length - 1 || arr[i + 1].type === 'separator'); - notDeletedPrevEl = toDelete ? notDeletedPrevEl : el; - return !toDelete; - }); -} - -module.exports = (opts = {}) => { - if (opts.window) { - const win = opts.window; - const wc = webContents(win); - - // When window is a webview that has not yet finished loading webContents is not available - if (wc === undefined) { - win.addEventListener('dom-ready', () => { - create(win, opts); - }, {once: true}); - return; - } - - return create(win, opts); - } - - (electron.BrowserWindow || electron.remote.BrowserWindow).getAllWindows().forEach(win => { - create(win, opts); - }); - - (electron.app || electron.remote.app).on('browser-window-created', (e, win) => { - create(win, opts); - }); -}; diff --git a/electron/src/node_modules/electron-context-menu/license b/electron/src/node_modules/electron-context-menu/license deleted file mode 100755 index 654d0bf..0000000 --- a/electron/src/node_modules/electron-context-menu/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/electron/src/node_modules/electron-context-menu/package.json b/electron/src/node_modules/electron-context-menu/package.json deleted file mode 100755 index 0d6d169..0000000 --- a/electron/src/node_modules/electron-context-menu/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "electron-context-menu", - "version": "0.9.1", - "description": "Context menu for your Electron app", - "license": "MIT", - "repository": "sindresorhus/electron-context-menu", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "scripts": { - "start": "electron fixture.js", - "test": "xo && ava" - }, - "files": [ - "index.js" - ], - "keywords": [ - "electron", - "app", - "context", - "right-click", - "menu", - "extensible", - "save", - "image" - ], - "dependencies": { - "electron-dl": "^1.2.0", - "electron-is-dev": "^0.1.1" - }, - "devDependencies": { - "ava": "*", - "electron": "^1.3.3", - "xo": "*" - }, - "xo": { - "envs": [ - "node", - "browser" - ] - } -} diff --git a/electron/src/node_modules/electron-context-menu/readme.md b/electron/src/node_modules/electron-context-menu/readme.md deleted file mode 100755 index 9f54591..0000000 --- a/electron/src/node_modules/electron-context-menu/readme.md +++ /dev/null @@ -1,115 +0,0 @@ -# electron-context-menu [![Build Status](https://travis-ci.org/sindresorhus/electron-context-menu.svg?branch=master)](https://travis-ci.org/sindresorhus/electron-context-menu) - -> Context menu for your [Electron](http://electron.atom.io) app - - - -Electron doesn't have a built-in context menu. You're supposed to handle that yourself. But it's both tedious and hard to get right. This module gives you a nice extensible context menu with items like `Cut`/`Copy`/`Paste` for text, `Save Image` for images, and `Copy Link` for links. It also adds an `Inspect Element` menu item when in development to quickly view items in the inspector like in Chrome. - -You can use this module directly in both the main and renderer process. - - -## Install - -``` -$ npm install --save electron-context-menu -``` - - -## Usage - -```js -const {app, BrowserWindow} = require('electron'); - -require('electron-context-menu')({ - prepend: (params, browserWindow) => [{ - label: 'Rainbow', - // Only show it when right-clicking images - visible: params.mediaType === 'image' - }] -}); - -let win; - -app.on('ready', () => { - win = new BrowserWindow(); -}); -``` - - -## API - -### contextMenu([options]) - -### options - -#### window - -Type: `BrowserWindow` `WebView`
- -Window or WebView to add the context menu to. - -When not specified, the context menu will be added to all existing and new windows. - -#### prepend - -Type: `Function` - -Should return an array of [MenuItem](http://electron.atom.io/docs/api/menu-item/)'s to be prepended to the context menu. The first argument is [this `params` object](http://electron.atom.io/docs/api/web-contents/#event-context-menu). The second argument is the [BrowserWindow](http://electron.atom.io/docs/api/browser-window/) the context menu was requested for. - -#### append - -Type: `Function` - -Should return an array of [MenuItem](http://electron.atom.io/docs/api/menu-item/)'s to be appended to the context menu. The first argument is [this `params` object](http://electron.atom.io/docs/api/web-contents/#event-context-menu). The second argument is the [BrowserWindow](http://electron.atom.io/docs/api/browser-window/) the context menu was requested for. - -#### showInspectElement - -Type: `boolean`
-Default: [Only in development](https://github.com/sindresorhus/electron-is-dev) - -Force enable or disable the `Inspect Element` menu item. - -#### labels - -Type: `Object`
-Default: `{}` - -Overwrite labels for the default menu items. Useful for i18n. - -Format: - -```js -labels: { - cut: 'Configured Cut', - copy: 'Configured Copy', - paste: 'Configured Paste', - save: 'Configured Save Image', - copyLink: 'Configured Copy Link', - inspect: 'Configured Inspect' -} -``` - -#### shouldShowMenu - -Type: `Function` - -Determines whether or not to show the menu. Can be useful if you for example have other code presenting a context menu in some contexts. The second argument is [this `params` object](http://electron.atom.io/docs/api/web-contents/#event-context-menu). - -Example: - -```js -// Doesn't show the menu if the element is editable -shouldShowMenu: (event, params) => !params.isEditable -``` - -## Related - -- [electron-debug](https://github.com/sindresorhus/electron-debug) - Adds useful debug features to your Electron app -- [electron-config](https://github.com/sindresorhus/electron-config) - Simple config handling for your Electron app or module -- [electron-unhandled](https://github.com/sindresorhus/electron-unhandled) - Catch unhandled errors and promise rejections in your Electron app - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/electron/src/node_modules/electron-debug/index.js b/electron/src/node_modules/electron-debug/index.js deleted file mode 100755 index 7bc03da..0000000 --- a/electron/src/node_modules/electron-debug/index.js +++ /dev/null @@ -1,89 +0,0 @@ -'use strict'; -const electron = require('electron'); -const localShortcut = require('electron-localshortcut'); -const isDev = require('electron-is-dev'); - -const app = electron.app; -const BrowserWindow = electron.BrowserWindow; -const isMacOS = process.platform === 'darwin'; - -function devTools(win) { - win = win || BrowserWindow.getFocusedWindow(); - - if (win) { - win.toggleDevTools(); - } -} - -function openDevTools(win, showDevTools) { - win = win || BrowserWindow.getFocusedWindow(); - - if (win) { - const mode = showDevTools === true ? undefined : showDevTools; - win.webContents.openDevTools({mode}); - } -} - -function refresh(win) { - win = win || BrowserWindow.getFocusedWindow(); - - if (win) { - win.webContents.reloadIgnoringCache(); - } -} - -function inspectElements() { - const win = BrowserWindow.getFocusedWindow(); - const inspect = () => { - win.devToolsWebContents.executeJavaScript('DevToolsAPI.enterInspectElementMode()'); - }; - - if (win) { - if (win.webContents.isDevToolsOpened()) { - inspect(); - } else { - win.webContents.on('devtools-opened', inspect); - win.openDevTools(); - } - } -} - -module.exports = opts => { - opts = Object.assign({ - enabled: null, - showDevTools: false - }, opts); - - if (opts.enabled === false || (opts.enabled === null && !isDev)) { - return; - } - - app.on('browser-window-created', (e, win) => { - if (opts.showDevTools) { - openDevTools(win, opts.showDevTools); - } - }); - - app.on('ready', () => { - // Activate devtron for the user if they have it installed and it's not already added - try { - const devtronAlreadyAdded = BrowserWindow.getDevToolsExtensions && - {}.hasOwnProperty.call(BrowserWindow.getDevToolsExtensions(), 'devtron'); - - if (!devtronAlreadyAdded) { - BrowserWindow.addDevToolsExtension(require('devtron').path); - } - } catch (err) {} - - localShortcut.register('CmdOrCtrl+Shift+C', inspectElements); - localShortcut.register(isMacOS ? 'Cmd+Alt+I' : 'Ctrl+Shift+I', devTools); - localShortcut.register('F12', devTools); - - localShortcut.register('CmdOrCtrl+R', refresh); - localShortcut.register('F5', refresh); - }); -}; - -module.exports.refresh = refresh; -module.exports.devTools = devTools; -module.exports.openDevTools = openDevTools; diff --git a/electron/src/node_modules/electron-debug/node_modules/electron-is-dev/index.js b/electron/src/node_modules/electron-debug/node_modules/electron-is-dev/index.js deleted file mode 100755 index 28fa7df..0000000 --- a/electron/src/node_modules/electron-debug/node_modules/electron-is-dev/index.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; -const getFromEnv = parseInt(process.env.ELECTRON_IS_DEV, 10) === 1; -const isEnvSet = 'ELECTRON_IS_DEV' in process.env; - -module.exports = isEnvSet ? getFromEnv : (process.defaultApp || /node_modules[\\/]electron[\\/]/.test(process.execPath)); diff --git a/electron/src/node_modules/electron-debug/node_modules/electron-is-dev/license b/electron/src/node_modules/electron-debug/node_modules/electron-is-dev/license deleted file mode 100755 index 654d0bf..0000000 --- a/electron/src/node_modules/electron-debug/node_modules/electron-is-dev/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/electron/src/node_modules/electron-debug/node_modules/electron-is-dev/package.json b/electron/src/node_modules/electron-debug/node_modules/electron-is-dev/package.json deleted file mode 100755 index 0345e7d..0000000 --- a/electron/src/node_modules/electron-debug/node_modules/electron-is-dev/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "electron-is-dev", - "version": "0.3.0", - "description": "Check if Electron is running in development", - "license": "MIT", - "repository": "sindresorhus/electron-is-dev", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "scripts": { - "test": "xo" - }, - "files": [ - "index.js" - ], - "keywords": [ - "electron", - "dev", - "development", - "mode", - "prod", - "production", - "detect", - "check", - "debug", - "app" - ], - "devDependencies": { - "xo": "*" - }, - "xo": { - "esnext": true, - "envs": [ - "node", - "browser" - ] - } -} diff --git a/electron/src/node_modules/electron-debug/node_modules/electron-is-dev/readme.md b/electron/src/node_modules/electron-debug/node_modules/electron-is-dev/readme.md deleted file mode 100755 index d8e69ff..0000000 --- a/electron/src/node_modules/electron-debug/node_modules/electron-is-dev/readme.md +++ /dev/null @@ -1,37 +0,0 @@ -# electron-is-dev - -> Check if [Electron](http://electron.atom.io) is running in development - -Useful for enabling debug features only during development. - - -## Install - -``` -$ npm install --save electron-is-dev -``` - - -## Usage - -```js -const isDev = require('electron-is-dev'); - -if (isDev) { - console.log('Running in development'); -} else { - console.log('Running in production'); -} -``` - -Can be overridden by setting the `ELECTRON_IS_DEV` environment variable to `1`. - - -## Related - -- [electron-debug](https://github.com/sindresorhus/electron-debug) - Adds useful debug features to your Electron app - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/electron/src/node_modules/electron-debug/package.json b/electron/src/node_modules/electron-debug/package.json deleted file mode 100755 index 44cb1b2..0000000 --- a/electron/src/node_modules/electron-debug/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "electron-debug", - "version": "1.4.0", - "description": "Adds useful debug features to your Electron app", - "license": "MIT", - "repository": "sindresorhus/electron-debug", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "scripts": { - "start": "electron test.js", - "test": "xo" - }, - "files": [ - "index.js" - ], - "keywords": [ - "electron", - "debug", - "debugging", - "devtools", - "app", - "dev", - "development" - ], - "dependencies": { - "electron-is-dev": "^0.3.0", - "electron-localshortcut": "^3.0.0" - }, - "devDependencies": { - "devtron": "^1.1.0", - "electron": "^1.6.12", - "xo": "*" - }, - "xo": { - "envs": [ - "node", - "browser" - ] - } -} diff --git a/electron/src/node_modules/electron-debug/readme.md b/electron/src/node_modules/electron-debug/readme.md deleted file mode 100755 index 2d3dc51..0000000 --- a/electron/src/node_modules/electron-debug/readme.md +++ /dev/null @@ -1,137 +0,0 @@ -# electron-debug - -> Adds useful debug features to your [Electron](http://electron.atom.io) app - -Ideas for more debug features [welcome!](https://github.com/sindresorhus/electron-debug/issues/new) - - -## Features - -### DevTools - -Toggle DevTools. - -- macOS: Cmd Alt I or F12 -- Linux: Ctrl Shift I or F12 -- Windows: Ctrl Shift I or F12 - -### Reload - -Force reload the window. - -- macOS: Cmd R or F5 -- Linux: Ctrl R or F5 -- Windows: Ctrl R or F5 - -### Element Inspector - -Open DevTools and focus the Element Inspector tool. - -- macOS: Cmd Shift C -- Linux: Ctrl Shift C -- Windows: Ctrl Shift C - -### Activates Devtron - -[Devtron](http://electron.atom.io/devtron/) is the official Electron DevTools extension. - -Just install it in your app and we'll activate it for you. - -``` -$ npm install --save-dev devtron -``` - - -## Install - -``` -$ npm install electron-debug -``` - - -## Usage - -```js -const {app, BrowserWindow} = require('electron'); - -require('electron-debug')({showDevTools: true}); - -let win; - -app.on('ready', () => { - win = new BrowserWindow(); -}); -``` - - -## API - -Only runs when in [development](https://github.com/sindresorhus/electron-is-dev), unless overridden by the `enabled` option. So no need to guard it for production. - -### electronDebug([options]) - -Install keyboard shortcuts and optionally activate DevTools on each created `BrowserWindow`. - -#### options - -##### enabled - -Type: `boolean` - -##### showDevTools - -Type: `boolean` `string`
-Default: `false`
-Values: `'right'` `'bottom'` `'undocked'` `false` `true` *(Last dock state)* - -Show DevTools on each created `BrowserWindow`. - -### devTools([window]) - -Toggle DevTools for the specified `BrowserWindow` instance or the focused one. - -#### window - -Type: `BrowserWindow`
-Default: The focused `BrowserWindow` - -### refresh([window]) - -Reload the specified `BrowserWindow` instance or the focused one. - -#### window - -Type: `BrowserWindow`
-Default: The focused `BrowserWindow` - -### openDevTools([window], [showDevTools]) - -Open DevTools for the specified `BrowserWindow` instance or the focused one. - -#### window - -Type: `BrowserWindow`
-Default: The focused `BrowserWindow` - -#### showDevTools - -Type: `boolean` `string`
-Default: `false`
-Values: `'right'` `'bottom'` `'undocked'` `false` `true` *(last dock state)* - -Show DevTools on each created `BrowserWindow`. - - -## Related - -- [electron-store](https://github.com/sindresorhus/electron-store) - Save and load data like user preferences, app state, cache, etc -- [electron-context-menu](https://github.com/sindresorhus/electron-context-menu) - Context menu for your Electron app -- [electron-dl](https://github.com/sindresorhus/electron-dl) - Simplified file downloads for your Electron app -- [electron-unhandled](https://github.com/sindresorhus/electron-unhandled) - Catch unhandled errors and promise rejections in your Electron app -- [electron-is-dev](https://github.com/sindresorhus/electron-is-dev) - Check if Electron is running in development -- [debug-menu](https://github.com/parro-it/debug-menu) - Chrome-like debug context-menu for Electron - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/electron/src/node_modules/electron-dl/index.js b/electron/src/node_modules/electron-dl/index.js deleted file mode 100755 index c18ff62..0000000 --- a/electron/src/node_modules/electron-dl/index.js +++ /dev/null @@ -1,134 +0,0 @@ -'use strict'; -const path = require('path'); -const electron = require('electron'); -const unusedFilename = require('unused-filename'); -const pupa = require('pupa'); -const extName = require('ext-name'); - -const app = electron.app; -const shell = electron.shell; - -function getFilenameFromMime(name, mime) { - const exts = extName.mime(mime); - - if (exts.length !== 1) { - return name; - } - - return `${name}.${exts[0].ext}`; -} - -function registerListener(session, opts = {}, cb = () => {}) { - const downloadItems = new Set(); - let receivedBytes = 0; - let completedBytes = 0; - let totalBytes = 0; - const activeDownloadItems = () => downloadItems.size; - const progressDownloadItems = () => receivedBytes / totalBytes; - - const listener = (e, item, webContents) => { - downloadItems.add(item); - totalBytes += item.getTotalBytes(); - - let hostWebContents = webContents; - if (webContents.getType() === 'webview') { - hostWebContents = webContents.hostWebContents; - } - const win = electron.BrowserWindow.fromWebContents(hostWebContents); - - const dir = opts.directory || app.getPath('downloads'); - let filePath; - if (opts.filename) { - filePath = path.join(dir, opts.filename); - } else { - const filename = item.getFilename(); - const name = path.extname(filename) ? filename : getFilenameFromMime(filename, item.getMimeType()); - - filePath = unusedFilename.sync(path.join(dir, name)); - } - - const errorMessage = opts.errorMessage || 'The download of {filename} was interrupted'; - const errorTitle = opts.errorTitle || 'Download Error'; - - if (!opts.saveAs) { - item.setSavePath(filePath); - } - - item.on('updated', () => { - receivedBytes = [...downloadItems].reduce((receivedBytes, item) => { - receivedBytes += item.getReceivedBytes(); - return receivedBytes; - }, completedBytes); - - if (['darwin', 'linux'].includes(process.platform)) { - app.setBadgeCount(activeDownloadItems()); - } - - if (!win.isDestroyed()) { - win.setProgressBar(progressDownloadItems()); - } - - if (typeof opts.onProgress === 'function') { - opts.onProgress(progressDownloadItems()); - } - }); - - item.on('done', (e, state) => { - completedBytes += item.getTotalBytes(); - downloadItems.delete(item); - - if (['darwin', 'linux'].includes(process.platform)) { - app.setBadgeCount(activeDownloadItems()); - } - - if (!win.isDestroyed() && !activeDownloadItems()) { - win.setProgressBar(-1); - receivedBytes = 0; - completedBytes = 0; - totalBytes = 0; - } - - if (state === 'interrupted') { - const message = pupa(errorMessage, {filename: item.getFilename()}); - electron.dialog.showErrorBox(errorTitle, message); - cb(new Error(message)); - } else if (state === 'completed') { - if (process.platform === 'darwin') { - app.dock.downloadFinished(filePath); - } - - if (opts.openFolderWhenDone) { - shell.showItemInFolder(filePath); - } - - if (opts.unregisterWhenDone) { - session.removeListener('will-download', listener); - } - - cb(null, item); - } - }); - }; - - session.on('will-download', listener); -} - -module.exports = (opts = {}) => { - app.on('session-created', session => { - registerListener(session, opts); - }); -}; - -module.exports.download = (win, url, opts) => new Promise((resolve, reject) => { - opts = Object.assign({}, opts, {unregisterWhenDone: true}); - - registerListener(win.webContents.session, opts, (err, item) => { - if (err) { - reject(err); - } else { - resolve(item); - } - }); - - win.webContents.downloadURL(url); -}); diff --git a/electron/src/node_modules/electron-dl/package.json b/electron/src/node_modules/electron-dl/package.json deleted file mode 100755 index 54da4c8..0000000 --- a/electron/src/node_modules/electron-dl/package.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "electron-dl", - "version": "1.10.0", - "description": "Simplified file downloads for your Electron app", - "license": "MIT", - "repository": "sindresorhus/electron-dl", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "scripts": { - "start": "electron run.js", - "test": "xo && ava" - }, - "files": [ - "index.js" - ], - "keywords": [ - "electron", - "app", - "file", - "download", - "downloader", - "progress" - ], - "dependencies": { - "ext-name": "^5.0.0", - "pupa": "^1.0.0", - "unused-filename": "^1.0.0" - }, - "devDependencies": { - "ava": "^0.21.0", - "cp-file": "^4.2.0", - "electron": "^1.3.3", - "minimist": "^1.2.0", - "node-static": "^0.7.9", - "pify": "^3.0.0", - "spectron": "^3.7.2", - "uuid": "^3.1.0", - "xo": "*" - }, - "xo": { - "envs": [ - "node", - "browser" - ] - } -} diff --git a/electron/src/node_modules/electron-dl/readme.md b/electron/src/node_modules/electron-dl/readme.md deleted file mode 100755 index 6a8f336..0000000 --- a/electron/src/node_modules/electron-dl/readme.md +++ /dev/null @@ -1,155 +0,0 @@ -# electron-dl [![Build Status](https://travis-ci.org/sindresorhus/electron-dl.svg?branch=master)](https://travis-ci.org/sindresorhus/electron-dl) - -> Simplified file downloads for your [Electron](http://electron.atom.io) app - - -## Why? - -- One function call instead of having to manually implement a lot of [boilerplate](index.js). -- Saves the file to the users Downloads directory instead of prompting. -- Bounces the Downloads directory in the dock when done. *(macOS)* -- Handles multiple downloads. -- Shows badge count *(macOS & Linux only)* and download progress. Example on macOS: - - - - -## Install - -``` -$ npm install electron-dl -``` - - -## Usage - -### Register it for all windows - -This is probably what you want for your app. - -```js -const {app, BrowserWindow} = require('electron'); - -require('electron-dl')(); - -let win; - -app.on('ready', () => { - win = new BrowserWindow(); -}); -``` - -### Use it manually - -This can be useful if you need download functionality in a reusable module. - -```js -const {app, BrowserWindow, ipcMain} = require('electron'); -const {download} = require('electron-dl'); - -ipcMain.on('download-btn', (e, args) => { - download(BrowserWindow.getFocusedWindow(), args.url) - .then(dl => console.log(dl.getSavePath())) - .catch(console.error); -}); -``` - -## API - -### electronDl([options]) - -### electronDl.download(window, url, [options]): Promise<[DownloadItem](https://github.com/electron/electron/blob/master/docs/api/download-item.md)> - -### window - -Type: `BrowserWindow` - -Window to register the behavior on. - -### url - -Type: `string` - -URL to download. - -### options - -#### saveAs - -Type: `boolean`
-Default: `false` - -Show a `Save As…` dialog instead of downloading immediately. - -Note: Only use this option when strictly necessary. Downloading directly without a prompt is a much better user experience. - -#### directory - -Type: `string`
-Default: [User's downloads directory](http://electron.atom.io/docs/api/app/#appgetpathname) - -Directory to save the file in. - -#### filename - -Type: `string`
-Default: [`downloadItem.getFilename()`](https://electron.atom.io/docs/api/download-item/#downloaditemgetfilename) - -Name of the saved file. - -This option only makes sense for `electronDl.download()`. - -#### errorTitle - -Type: `string`
-Default: `Download Error` - -Title of the error dialog. Can be customized for localization. - -#### errorMessage - -Type: `string`
-Default: `The download of {filename} was interrupted` - -Message of the error dialog. `{filename}` is replaced with the name of the actual file. Can be customized for localization. - -#### onProgress - -Type: `Function` - -Optional callback that receives a number between `0` and `1` representing the progress of the current download. - -#### openFolderWhenDone - -Type: `boolean`
-Default: `false` - -Reveal the downloaded file in the system file manager, and if possible, select the file. - - -## Development - -After making changes, run the automated tests: - -``` -$ npm test -``` - -And before submitting a pull request, run the manual tests to manually verify that everything works: - -``` -npm start -``` - - -## Related - -- [electron-debug](https://github.com/sindresorhus/electron-debug) - Adds useful debug features to your Electron app -- [electron-context-menu](https://github.com/sindresorhus/electron-context-menu) - Context menu for your Electron app -- [electron-store](https://github.com/sindresorhus/electron-store) - Save and load data like user preferences, app state, cache, etc -- [electron-unhandled](https://github.com/sindresorhus/electron-unhandled) - Catch unhandled errors and promise rejections in your Electron app - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/electron/src/node_modules/electron-is-accelerator/.jshintrc b/electron/src/node_modules/electron-is-accelerator/.jshintrc deleted file mode 100755 index 91f833d..0000000 --- a/electron/src/node_modules/electron-is-accelerator/.jshintrc +++ /dev/null @@ -1,9 +0,0 @@ -{ - "undef": true, - "unused": "vars", - "browser": true, - "node": true, - "eqnull": true, - "esnext": true, - "indent": 4 -} diff --git a/electron/src/node_modules/electron-is-accelerator/.npmignore b/electron/src/node_modules/electron-is-accelerator/.npmignore deleted file mode 100755 index 5148e52..0000000 --- a/electron/src/node_modules/electron-is-accelerator/.npmignore +++ /dev/null @@ -1,37 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* - -# Runtime data -pids -*.pid -*.seed - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (http://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules -jspm_packages - -# Optional npm cache directory -.npm - -# Optional REPL history -.node_repl_history diff --git a/electron/src/node_modules/electron-is-accelerator/.travis.yml b/electron/src/node_modules/electron-is-accelerator/.travis.yml deleted file mode 100755 index fdebe67..0000000 --- a/electron/src/node_modules/electron-is-accelerator/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - 'stable' -sudo: false diff --git a/electron/src/node_modules/electron-is-accelerator/README.md b/electron/src/node_modules/electron-is-accelerator/README.md deleted file mode 100755 index 63fcf7c..0000000 --- a/electron/src/node_modules/electron-is-accelerator/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# electron-is-accelerator - -Check if a string is a valid [Electron accelerator](https://github.com/electron/electron/blob/master/docs/api/accelerator.md) and return a boolean. This module can be used to validate user defined accelerators before using them with [MenuItems](http://electron.atom.io/docs/api/menu-item/). - -## Installation - -``` -$ npm install --save electron-is-accelerator -``` - -## Usage - -```javascript -var isAccelerator = require("electron-is-accelerator"); - -isAccelerator("CommandOrControl+Shift+Z"); // true -isAccelerator("CommandOrControl+F9"); // true -isAccelerator("CommandOrContrl+F9"); // false -isAccelerator("A+Z"); // false -``` - -## License - -The MIT License (MIT) -Copyright (c) 2016 Thomas Brouard diff --git a/electron/src/node_modules/electron-is-accelerator/index.js b/electron/src/node_modules/electron-is-accelerator/index.js deleted file mode 100755 index 6da27f5..0000000 --- a/electron/src/node_modules/electron-is-accelerator/index.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; - -const modifiers = /^(Command|Cmd|Control|Ctrl|CommandOrControl|CmdOrCtrl|Alt|Option|AltGr|Shift|Super)$/; -const keyCodes = /^([0-9A-Z)!@#$%^&*(:+<_>?~{|}";=,\-./`[\\\]']|F1*[1-9]|F10|F2[0-4]|Plus|Space|Tab|Backspace|Delete|Insert|Return|Enter|Up|Down|Left|Right|Home|End|PageUp|PageDown|Escape|Esc|VolumeUp|VolumeDown|VolumeMute|MediaNextTrack|MediaPreviousTrack|MediaStop|MediaPlayPause|PrintScreen)$/; - -module.exports = function (str) { - let parts = str.split("+"); - let keyFound = false; - return parts.every((val, index) => { - const isKey = keyCodes.test(val); - const isModifier = modifiers.test(val); - if (isKey) { - // Key must be unique - if (keyFound) return false; - keyFound = true; - } - // Key is required - if (index === parts.length - 1 && !keyFound) return false; - return isKey || isModifier; - }); -}; diff --git a/electron/src/node_modules/electron-is-accelerator/package.json b/electron/src/node_modules/electron-is-accelerator/package.json deleted file mode 100755 index 997cefe..0000000 --- a/electron/src/node_modules/electron-is-accelerator/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "electron-is-accelerator", - "version": "0.1.2", - "description": "Check if a string is a valid Electron accelerator", - "main": "index.js", - "scripts": { - "test": "jshint *.js && ava" - }, - "repository": { - "type": "git", - "url": "https://github.com/brrd/electron-is-accelerator.git" - }, - "keywords": [ - "electron", - "accelerator" - ], - "author": "brrd", - "license": "MIT", - "bugs": { - "url": "https://github.com/brrd/electron-is-accelerator/issues" - }, - "homepage": "https://github.com/brrd/electron-is-accelerator", - "devDependencies": { - "ava": "^0.17.0", - "jshint": "^2.9.4" - } -} diff --git a/electron/src/node_modules/electron-is-accelerator/test.js b/electron/src/node_modules/electron-is-accelerator/test.js deleted file mode 100755 index 8fa6b77..0000000 --- a/electron/src/node_modules/electron-is-accelerator/test.js +++ /dev/null @@ -1,96 +0,0 @@ -import test from 'ava'; -import isAccelerator from '.'; - -const keys = [ - '0', - '1', - '9', - 'A', - 'G', - 'Z', - 'F1', - 'F5', - 'F24', - '~', - '!', - '@', - '#', - 'Plus', - 'Space', - 'Tab', - 'Backspace', - 'Delete', - 'Insert', - 'Return', - 'Enter', - 'Up', - 'Down', - 'Left', - 'Right', - 'Home', - 'End', - 'PageUp', - 'PageDown', - 'Escape', - 'Esc', - 'VolumeUp', - 'VolumeDown', - 'VolumeMute', - 'MediaNextTrack', - 'MediaPreviousTrack', - 'MediaStop', - 'MediaPlayPause', - 'PrintScreen' -]; - -const modifiers = [ - 'Command', - 'Cmd', - 'Control', - 'Ctrl', - 'CommandOrControl', - 'CmdOrCtrl', - 'Alt', - 'Option', - 'AltGr', - 'Shift', - 'Super' -]; - -test('multiple modifier', t => t.true(isAccelerator('CommandOrControl+Shift+Z'))); -test('multiple keys', t => t.false(isAccelerator('A+Z'))); -test('typos', t => t.false(isAccelerator('CommandOrContol+A'))); -test('modifiers without keys', t => t.false(isAccelerator('CmdOrCtrl'))); -test('multiple modifiers without keys', t => t.false(isAccelerator('CmdOrCtrl+Ctrl'))); -test('empty string', t => t.false(isAccelerator(''))); - -// tests to check each modifiers -modifiers.forEach(mod => test( - mod + ' modifier', - t => t.true( - isAccelerator(mod + '+A') - ) -)); - -// tests to check all keys -keys.forEach(key => test( - key + ' key', - t => t.true( - isAccelerator(key) - ) -)); - -// tests to check every combination of modifier and key -const testSequence = (sequence) => test( - `${sequence} sequence`, - t => t.true( - isAccelerator(`${sequence}`) - ) -); - -modifiers.forEach(mod => - keys.forEach(key => { - testSequence(`${mod}+${key}`); - testSequence(`${key}+${mod}`); - }) -); diff --git a/electron/src/node_modules/electron-is-dev/index.js b/electron/src/node_modules/electron-is-dev/index.js deleted file mode 100755 index b517c5c..0000000 --- a/electron/src/node_modules/electron-is-dev/index.js +++ /dev/null @@ -1,2 +0,0 @@ -'use strict'; -module.exports = process.defaultApp || /[\\/]electron-prebuilt[\\/]/.test(process.execPath) || /[\\/]electron[\\/]/.test(process.execPath); diff --git a/electron/src/node_modules/electron-is-dev/license b/electron/src/node_modules/electron-is-dev/license deleted file mode 100755 index 654d0bf..0000000 --- a/electron/src/node_modules/electron-is-dev/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/electron/src/node_modules/electron-is-dev/package.json b/electron/src/node_modules/electron-is-dev/package.json deleted file mode 100755 index 0d6eaee..0000000 --- a/electron/src/node_modules/electron-is-dev/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "electron-is-dev", - "version": "0.1.2", - "description": "Check if Electron is running in development", - "license": "MIT", - "repository": "sindresorhus/electron-is-dev", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "scripts": { - "test": "xo" - }, - "files": [ - "index.js" - ], - "keywords": [ - "electron", - "dev", - "development", - "mode", - "prod", - "production", - "detect", - "check", - "debug", - "app" - ], - "devDependencies": { - "xo": "*" - }, - "xo": { - "esnext": true, - "envs": [ - "node", - "browser" - ] - } -} diff --git a/electron/src/node_modules/electron-is-dev/readme.md b/electron/src/node_modules/electron-is-dev/readme.md deleted file mode 100755 index 46f9a23..0000000 --- a/electron/src/node_modules/electron-is-dev/readme.md +++ /dev/null @@ -1,35 +0,0 @@ -# electron-is-dev - -> Check if [Electron](http://electron.atom.io) is running in development - -Useful for enabling debug features only during development. - - -## Install - -``` -$ npm install --save electron-is-dev -``` - - -## Usage - -```js -const isDev = require('electron-is-dev'); - -if (isDev) { - console.log('Running in development'); -} else { - console.log('Running in production'); -} -``` - - -## Related - -- [electron-debug](https://github.com/sindresorhus/electron-debug) - Adds useful debug features to your Electron app - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/electron/src/node_modules/electron-localshortcut/README.md b/electron/src/node_modules/electron-localshortcut/README.md deleted file mode 100755 index a6117c9..0000000 --- a/electron/src/node_modules/electron-localshortcut/README.md +++ /dev/null @@ -1,135 +0,0 @@ -# electron-localshortcut - -A module to register/unregister a keyboard shortcut -locally to a BrowserWindow instance, without using a Menu. - -This is built to circumvent [this Electron issue](https://github.com/atom/electron/issues/1334). - -**Note:** Since this module internally use `global-shortcut` native module, you should not use it until the `ready` event of the app module is emitted. See [electron docs](http://electron.atom.io/docs/latest/api/global-shortcut/). - -[![Travis Build Status](https://img.shields.io/travis/parro-it/electron-localshortcut.svg)](http://travis-ci.org/parro-it/electron-localshortcut) -[![NPM module](https://img.shields.io/npm/v/electron-localshortcut.svg)](https://npmjs.org/package/electron-localshortcut) -[![NPM downloads](https://img.shields.io/npm/dt/electron-localshortcut.svg)](https://npmjs.org/package/electron-localshortcut) -[![Greenkeeper badge](https://badges.greenkeeper.io/parro-it/electron-localshortcut.svg)](https://greenkeeper.io/) - -# Installation - -```bash -npm install --save electron-localshortcut -``` - -# Usage - -```javascript - const electronLocalshortcut = require('electron-localshortcut'); - const BrowserWindow = require('electron').BrowserWindow; - - const win = new BrowserWindow(); - win.loadUrl('https://github.com'); - win.show(); - - electronLocalshortcut.register(win, 'Ctrl+A', () => { - console.log('You pressed ctrl & A'); - }); - - electronLocalshortcut.register(win, 'Ctrl+B', () => { - console.log('You pressed ctrl & B'); - }); - - console.log( - electronLocalshortcut.isRegistered(win, 'Ctrl+A') - ); // true - - electronLocalshortcut.unregister(win, 'Ctrl+A'); - electronLocalshortcut.unregisterAll(win); -``` - -# App shortcuts. - -If you omit the window argument of `isRegistered`, `unregisterAll`, `unregister` and `register` methods, the shortcut is registered as an app shortcut. -It is active when any window of the app is focused. - -They differ from native [global-shortcuts](https://github.com/atom/electron/blob/master/docs/api/global-shortcut.md) because they doesn't interfere with other apps running on the same machine. - -# Shortcut behaviour. - -If you register a shortcut for a window, this module unregister the shortcut when the window is hidden, unfocused or minimized, and automatically restore them when the window is restored and focused again. - -If you register an app shortcut, this module unregister the shortcut when all windows of your app are hidden, unfocused or minimized, and automatically restore it when any window of your app is restored and focused again. - - -# API - - - -## disableAll - -Disable all of the shortcuts registered on the BrowserWindow instance. -Registered shortcuts no more works on the `window` instance, but the module keep a reference on them. You can reactivate them later by calling `enableAll` method on the same window instance. - -**Parameters** - -- `win` **BrowserWindow** BrowserWindow instance - -Returns **[Undefined](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined)** - -## enableAll - -Enable all of the shortcuts registered on the BrowserWindow instance that you had previously disabled calling `disableAll` method. - -**Parameters** - -- `win` **BrowserWindow** BrowserWindow instance - -Returns **[Undefined](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined)** - -## unregisterAll - -Unregisters all of the shortcuts registered on any focused BrowserWindow instance. This method does not unregister any shortcut you registered on a particular window instance. - -**Parameters** - -- `win` **BrowserWindow** BrowserWindow instance - -Returns **[Undefined](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined)** - -## register - -Registers the shortcut `accelerator`on the BrowserWindow instance. - -**Parameters** - -- `win` **BrowserWindow** BrowserWindow instance to register. This argument could be omitted, in this case the function register the shortcut on all app windows. -- `accelerator` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** the shortcut to register -- `callback` **[Function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function)** This function is called when the shortcut is pressed and the window is focused and not minimized. - -Returns **[Undefined](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined)** - -## unregister - -Unregisters the shortcut of `accelerator` registered on the BrowserWindow instance. - -**Parameters** - -- `win` **BrowserWindow** BrowserWindow instance to unregister. This argument could be omitted, in this case the function unregister the shortcut on all app windows. If you registered the shortcut on a particular window instance, it will do nothing. -- `accelerator` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** the shortcut to unregister - -Returns **[Undefined](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined)** - -## isRegistered - -Returns `true` or `false` depending on whether the shortcut `accelerator` is -registered on `window`. - -**Parameters** - -- `win` **BrowserWindow** BrowserWindow instance to check. This argument could be omitted, in this case the function returns whether the shortcut `accelerator` is registered on all app windows. If you registered the shortcut on a particular window instance, it return false. -- `accelerator` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** the shortcut to check - -Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** if the shortcut `accelerator` is registered on `window`. - -# License - -The MIT License (MIT) - -Copyright (c) 2017 Andrea Parodi diff --git a/electron/src/node_modules/electron-localshortcut/index.js b/electron/src/node_modules/electron-localshortcut/index.js deleted file mode 100755 index 4630907..0000000 --- a/electron/src/node_modules/electron-localshortcut/index.js +++ /dev/null @@ -1,308 +0,0 @@ -'use strict'; -const {app, BrowserWindow} = require('electron'); -const isAccelerator = require('electron-is-accelerator'); -const equals = require('keyboardevents-areequal'); -const {toKeyEvent} = require('keyboardevent-from-electron-accelerator'); -const _debug = require('debug'); - -const debug = _debug('electron-localshortcut'); - -// A placeholder to register shortcuts -// on any window of the app. -const ANY_WINDOW = {}; - -const windowsWithShortcuts = new WeakMap(); - -const title = win => { - if (win) { - try { - return win.getTitle(); - } catch (err) { - return 'A destroyed window'; - } - } - - return 'An falsy value'; -}; - -function _checkAccelerator(accelerator) { - if (!isAccelerator(accelerator)) { - const w = {}; - Error.captureStackTrace(w); - const msg = ` -WARNING: ${accelerator} is not a valid accelerator. - -${w.stack.split('\n').slice(4).join('\n')} -`; - console.error(msg); - } -} - -/** - * Disable all of the shortcuts registered on the BrowserWindow instance. - * Registered shortcuts no more works on the `window` instance, but the module - * keep a reference on them. You can reactivate them later by calling `enableAll` - * method on the same window instance. - * @param {BrowserWindow} win BrowserWindow instance - * @return {Undefined} - */ -function disableAll(win) { - debug(`Disabling all shortcuts on window ${title(win)}`); - const wc = win.webContents; - const shortcutsOfWindow = windowsWithShortcuts.get(wc); - - for (const shortcut of shortcutsOfWindow) { - shortcut.enabled = false; - } -} - -/** - * Enable all of the shortcuts registered on the BrowserWindow instance that - * you had previously disabled calling `disableAll` method. - * @param {BrowserWindow} win BrowserWindow instance - * @return {Undefined} - */ -function enableAll(win) { - debug(`Enabling all shortcuts on window ${title(win)}`); - const wc = win.webContents; - const shortcutsOfWindow = windowsWithShortcuts.get(wc); - - for (const shortcut of shortcutsOfWindow) { - shortcut.enabled = true; - } -} - -/** - * Unregisters all of the shortcuts registered on any focused BrowserWindow - * instance. This method does not unregister any shortcut you registered on - * a particular window instance. - * @param {BrowserWindow} win BrowserWindow instance - * @return {Undefined} - */ -function unregisterAll(win) { - debug(`Unregistering all shortcuts on window ${title(win)}`); - const wc = win.webContents; - const shortcutsOfWindow = windowsWithShortcuts.get(wc); - - // Remove listener from window - shortcutsOfWindow.removeListener(); - - windowsWithShortcuts.delete(wc); -} - -function _normalizeEvent(input) { - const normalizedEvent = { - code: input.code, - key: input.key - }; - - ['alt', 'shift', 'meta'].forEach(prop => { - if (typeof input[prop] !== 'undefined') { - normalizedEvent[`${prop}Key`] = input[prop]; - } - }); - - if (typeof input.control !== 'undefined') { - normalizedEvent.ctrlKey = input.control; - } - - return normalizedEvent; -} - -function _findShortcut(event, shortcutsOfWindow) { - let i = 0; - for (const shortcut of shortcutsOfWindow) { - if (equals(shortcut.eventStamp, event)) { - return i; - } - i++; - } - return -1; -} - -const _onBeforeInput = shortcutsOfWindow => (e, input) => { - if (input.type === 'keyUp') { - return; - } - - const event = _normalizeEvent(input); - - debug(`before-input-event: ${input} is translated to: ${event}`); - for (const {eventStamp, callback} of shortcutsOfWindow) { - if (equals(eventStamp, event)) { - debug(`eventStamp: ${eventStamp} match`); - callback(); - return; - } - debug(`eventStamp: ${eventStamp} no match`); - } -}; - -/** -* Registers the shortcut `accelerator`on the BrowserWindow instance. - * @param {BrowserWindow} win - BrowserWindow instance to register. - * This argument could be omitted, in this case the function register - * the shortcut on all app windows. - * @param {String} accelerator - the shortcut to register - * @param {Function} callback This function is called when the shortcut is pressed - * and the window is focused and not minimized. - * @return {Undefined} - */ -function register(win, accelerator, callback) { - let wc; - if (typeof callback === 'undefined') { - wc = ANY_WINDOW; - callback = accelerator; - accelerator = win; - } else { - wc = win.webContents; - } - - debug(`Registering callback for ${accelerator} on window ${title(win)}`); - _checkAccelerator(accelerator); - - debug(`${accelerator} seems a valid shortcut sequence.`); - - let shortcutsOfWindow; - if (windowsWithShortcuts.has(wc)) { - debug(`Window has others shortcuts registered.`); - shortcutsOfWindow = windowsWithShortcuts.get(wc); - } else { - debug(`This is the first shortcut of the window.`); - shortcutsOfWindow = []; - windowsWithShortcuts.set(wc, shortcutsOfWindow); - - if (wc === ANY_WINDOW) { - const keyHandler = _onBeforeInput(shortcutsOfWindow); - const enableAppShortcuts = (e, win) => { - const wc = win.webContents; - wc.on('before-input-event', keyHandler); - wc.once( - 'closed', - () => wc.removeListener('before-input-event', keyHandler) - ); - }; - - // Enable shortcut on current windows - const windows = BrowserWindow.getAllWindows(); - - windows.forEach(win => enableAppShortcuts(null, win)); - - // Enable shortcut on future windows - app.on( - 'browser-window-created', - enableAppShortcuts - ); - - shortcutsOfWindow.removeListener = () => { - const windows = BrowserWindow.getAllWindows(); - windows.forEach(win => - win.webContents.removeListener( - 'before-input-event', - keyHandler - ) - ); - app.removeListener( - 'browser-window-created', - enableAppShortcuts - ); - }; - } else { - const keyHandler = _onBeforeInput(shortcutsOfWindow); - wc.on('before-input-event', keyHandler); - - // Save a reference to allow remove of listener from elsewhere - shortcutsOfWindow.removeListener = () => wc.removeListener('before-input-event', keyHandler); - wc.once('closed', shortcutsOfWindow.removeListener); - } - } - - debug(`Adding shortcut to window set.`); - - const eventStamp = toKeyEvent(accelerator); - - shortcutsOfWindow.push({ - eventStamp, - callback, - enabled: true - }); - - debug(`Shortcut registered.`); -} - -/** - * Unregisters the shortcut of `accelerator` registered on the BrowserWindow instance. - * @param {BrowserWindow} win - BrowserWindow instance to unregister. - * This argument could be omitted, in this case the function unregister the shortcut - * on all app windows. If you registered the shortcut on a particular window instance, it will do nothing. - * @param {String} accelerator - the shortcut to unregister - * @return {Undefined} - */ -function unregister(win, accelerator) { - let wc; - if (typeof accelerator === 'undefined') { - wc = ANY_WINDOW; - accelerator = win; - } else { - if (win.isDestroyed()) { - debug(`Early return because window is destroyed.`); - return; - } - wc = win.webContents; - } - - debug(`Unregistering callback for ${accelerator} on window ${title(win)}`); - - _checkAccelerator(accelerator); - - debug(`${accelerator} seems a valid shortcut sequence.`); - - if (!windowsWithShortcuts.has(wc)) { - debug(`Early return because window has never had shortcuts registered.`); - return; - } - - const shortcutsOfWindow = windowsWithShortcuts.get(wc); - - const eventStamp = toKeyEvent(accelerator); - const shortcutIdx = _findShortcut(eventStamp, shortcutsOfWindow); - if (shortcutIdx === -1) { - return; - } - - shortcutsOfWindow.splice(shortcutIdx, 1); - - // If the window has no more shortcuts, - // we remove it early from the WeakMap - // and unregistering the event listener - if (shortcutsOfWindow.length === 0) { - // Remove listener from window - shortcutsOfWindow.removeListener(); - - // Remove window from shrtcuts catalog - windowsWithShortcuts.delete(wc); - } -} - -/** - * Returns `true` or `false` depending on whether the shortcut `accelerator` - * is registered on `window`. - * @param {BrowserWindow} win - BrowserWindow instance to check. This argument - * could be omitted, in this case the function returns whether the shortcut - * `accelerator` is registered on all app windows. If you registered the - * shortcut on a particular window instance, it return false. - * @param {String} accelerator - the shortcut to check - * @return {Boolean} - if the shortcut `accelerator` is registered on `window`. - */ -function isRegistered(win, accelerator) { - _checkAccelerator(accelerator); -} - -module.exports = { - register, - unregister, - isRegistered, - unregisterAll, - enableAll, - disableAll -}; diff --git a/electron/src/node_modules/electron-localshortcut/license b/electron/src/node_modules/electron-localshortcut/license deleted file mode 100755 index 1ddd606..0000000 --- a/electron/src/node_modules/electron-localshortcut/license +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) -Copyright (c) 2017 Andrea Parodi - - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/electron/src/node_modules/electron-localshortcut/package.json b/electron/src/node_modules/electron-localshortcut/package.json deleted file mode 100755 index 72e4c4f..0000000 --- a/electron/src/node_modules/electron-localshortcut/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "electron-localshortcut", - "version": "3.0.2", - "description": "register/unregister a keyboard shortcut locally to a BrowserWindow instance, without using a Menu", - "repository": "parro-it/electron-localshortcut", - "license": "MIT", - "author": "andrea@parro.it", - "scripts": { - "doc": "documentation readme index.js --section=API", - "start": "electron example.js", - "test": "electron test.js | faucet && xo", - "setup-dev": "npm rebuild --runtime=electron --target=1.6.7 --disturl=https://atom.io/download/atom-shell --abi=51", - "tape": "DEBUG=electron-localshortcut electron test.js" - }, - "keywords": [ - "electron", - "shortcuts", - "browser-window" - ], - "files": [ - "index.js" - ], - "devDependencies": { - "delay": "^2.0.0", - "documentation": "^4.0.0-rc.1", - "electron": "^1.6.7", - "faucet": "^0.0.1", - "p-electron": "^0.8.0", - "p-event": "^1.1.0", - "p-timeout": "^1.0.0", - "robotjs": "^0.4.7", - "tape-async": "^2.3.0", - "xo": "^0.19.0" - }, - "dependencies": { - "debug": "^2.6.8", - "electron-is-accelerator": "^0.1.0", - "keyboardevent-from-electron-accelerator": "^0.7.0", - "keyboardevents-areequal": "^0.2.1" - } -} diff --git a/electron/src/node_modules/electron-log/README.md b/electron/src/node_modules/electron-log/README.md deleted file mode 100755 index 35461a2..0000000 --- a/electron/src/node_modules/electron-log/README.md +++ /dev/null @@ -1,116 +0,0 @@ -# electron-log -[![Build Status](https://travis-ci.org/megahertz/electron-log.svg?branch=master)](https://travis-ci.org/megahertz/electron-log) -[![npm version](https://badge.fury.io/js/electron-log.svg)](https://badge.fury.io/js/electron-log) - -## Description - -Just a very simple logging module for your Electron or NW.js application. -No dependencies. No complicated configuration. Just require and use. -Also it can be used without Electron. - -By default it writes logs to the following locations: - - * **on Linux:** `~/.config//log.log` - * **on OS X:** `~/Library/Logs//log.log` - * **on Windows:** `%USERPROFILE%\AppData\Roaming\\log.log` - -## Installation - -Install with [npm](https://npmjs.org/package/electron-log): - - npm install electron-log - -## Usage - -```js -var log = require('electron-log'); - -log.info('Hello, log'); -``` - - -### Transport -Transport is a simple function which requires an object which describes a message. -By default, two transports are active: console and file. The file path is -dependent on current platform. - -#### Disable default transport: - -```js -log.transports.file = false; -log.transports.console = false; -``` - -#### Override transport: - -```js -log.transports.console = function(msg) { - console.log(`[${msg.date.toLocaleTimeString()} ${msg.level}] ${msg.text}`); -}; -``` - -#### Console Transport - -```js -// Log level -log.transports.console.level = 'warn'; - -/** - * Set output format template. Available variables: - * Main: {level}, {text} - * Date: {y},{m},{d},{h},{i},{s},{ms} - */ -log.transports.console.format = '{h}:{i}:{s}:{ms} {text}'; - -// Set a function which formats output -log.transports.console.format = (msg) => msg.text; -``` - -#### File transport - -```js -// Same as for console transport -log.transports.file.level = 'warn'; -log.transports.file.format = '{h}:{i}:{s}:{ms} {text}'; - -// Set maximum log size in bytes. When it exceeds, old log will be saved -// as log.old.log file -log.transports.file.maxSize = 5 * 1024 * 1024; - -// Write to this file, must be set before first logging -log.transports.file.file = __dirname + '/log.txt'; - -// fs.createWriteStream options, must be set before first logging -log.transports.file.streamConfig = { flags: 'w' }; - -// set existed file stream -log.transports.file.stream = fs.createWriteStream('log.txt'); -``` - -By default, file transport reads a productName or name property from package.json to -determine a log path like `~/.config//log.log`. -If you have no package.json or you want to specify another , -just set the appName property: - -```js -log.appName = 'test'; -``` - -## Change Log - -**1.3.0** - -- #18 Rename 'warning' log level to 'warn' - -**1.2.0** - - - #14 Use native console levels instead of console.log - -**1.0.16** - - - Prefer to use package.json:productName instead of package.json:name to - determine a log path. - -## License - -Licensed under MIT. diff --git a/electron/src/node_modules/electron-log/index.js b/electron/src/node_modules/electron-log/index.js deleted file mode 100755 index 856066e..0000000 --- a/electron/src/node_modules/electron-log/index.js +++ /dev/null @@ -1,344 +0,0 @@ -'use strict'; - -var fs = require('fs'); -var path = require('path'); -var util = require('util'); -var EOL = require('os').EOL; - - -var LEVELS = [ 'error', 'warn', 'info', 'verbose', 'debug', 'silly' ]; - -/** - * @param {string|Object} text - * @param {...Object} [objects] - * @name module.exports.error - */ -/** - * @param {string|Object} text - * @param {...Object} [objects] - * @name module.exports.warn - */ -/** - * @param {string|Object} text - * @param {...Object} [objects] - * @name module.exports.info - */ -/** - * @param {string|Object} text - * @param {...Object} [objects] - * @name module.exports.verbose - */ -/** - * @param {string|Object} text - * @param {...Object} [objects] - * @name module.exports.debug - */ -/** - * @param {string|Object} text - * @param {...Object} [objects] - * @name module.exports.silly - */ - -module.exports.log = log; - -module.exports.format = formatFile; - -/** - * Set this variable if you doesn't specify app name in package.json - * @type {undefined|string} - */ -module.exports.appName = undefined; - -module.exports.transports = {}; -module.exports.transports.console = transportConsole; -module.exports.transports.console.format = formatConsole; -module.exports.transports.console.level = 'silly'; - -module.exports.transports.file = transportFile; -module.exports.transports.file.format = formatFile; -module.exports.transports.file.level = 'warn'; -module.exports.transports.file.maxSize = 1024 * 1024; -module.exports.transports.file.streamConfig = undefined; - -module.exports.findLogPath = findLogPath; - -for (var i = 0; i < LEVELS.length; i++) { - module.exports[LEVELS[i]] = log.bind(module.exports, LEVELS[i]); -} - -/** - * @param {string} level - * @param {string} text - */ -function log(level, text) { - var args = Array.prototype.slice.call(arguments, 1); - args = args.map(function formatErrors(arg) { - return arg instanceof Error ? arg.stack + EOL : arg; - }); - text = util.format.apply(util, args); - - var msg = { - level: level, - text: text, - date: new Date() - }; - - var transports = module.exports.transports; - for (var i in transports) { - // jshint -W089 - if (!transports.hasOwnProperty(i) || typeof transports[i] !== 'function') { - continue; - } - if (!compareLevels(transports[i].level, level)) { - continue; - } - transports[i].call(module.exports, msg); - } -} - -function compareLevels(passLevel, checkLevel) { - var pass = LEVELS.indexOf(passLevel); - var check = LEVELS.indexOf(checkLevel); - if (check === -1 || pass === -1) { - return true; - } - return check <= pass; -} - -// region transport -function transportConsole(msg) { - var text = format(msg, transportConsole.format || module.exports.format); - if (console[msg.level]) { - console[msg.level](text); - } else { - console.log(text); - } -} - -function transportFile(msg) { - var text = format(msg, transportFile.format || module.exports.format); - - if (undefined === transportFile.stream) { - transportFile.file = transportFile.file || findLogPath(module.exports.appName); - if (!transportFile.file) { - transportFile.stream = false; - log('warn', 'electron-log.transports.file: Could not set a log file'); - return; - } - - if (transportFile.maxSize > 0) { - logRotate(transportFile.file, transportFile.maxSize); - } - - transportFile.stream = fs.createWriteStream( - transportFile.file, - transportFile.streamConfig || { flags: 'a' } - ); - } - - if (!transportFile.stream) { - return; - } - - transportFile.stream.write(text + EOL); -} - -function logRotate(file, maxSize) { - try { - const stat = fs.statSync(file); - if (stat.size > maxSize) { - fs.renameSync(file, file.replace(/log$/, 'old.log')); - } - } catch (e) {} -} -// endregion transport - -// region get log path -/** - * Try to determine a platform-specific path where can write logs - * @param {string} [appName] App name, path-safe, loads by package.json by default - * @return {string|boolean} - */ -function findLogPath(appName) { - appName = appName || findAppName(); - if (!appName) { - return false; - } - - var dir; - switch (process.platform) { - case 'linux': - dir = prepareDir(process.env['XDG_CONFIG_HOME'], appName) - .or(process.env['HOME'], '.config', appName) - .or(process.env['XDG_DATA_HOME'], appName) - .or(process.env['HOME'], '.local', 'share', appName) - .result; - break; - case 'darwin': - dir = prepareDir(process.env['HOME'], 'Library', 'Logs', appName) - .or(process.env['HOME'], 'Library', 'Application Support', appName) - .result; - break; - case 'win32': - dir = prepareDir(process.env['APPDATA'], appName) - .or(process.env['USERPROFILE'], 'AppData', 'Roaming', appName) - .result; - break; - } - - if (dir) { - return path.join(dir, 'log.log'); - } else { - return false; - } - - function findAppName() { - var appName; - try { - var appPkg = loadAppPackage(); - if (!appPkg || (!appPkg.productName && !appPkg.name)) { - transportFile.stream = false; - log('warn', 'electron-log cannot read a name from package.json'); - return false; - } - appName = appPkg.productName || appPkg.name; - } catch (e) { - transportFile.stream = false; - log('warn', 'electron-log: ' + e.message); - return false; - } - return appName; - } - - function prepareDir(dirPath) { - // jshint -W040 - if (!this || this.or !== prepareDir || !this.result) { - if (!dirPath) { - return { or: prepareDir }; - } - dirPath = path.join.apply(path, arguments); - mkDir(dirPath); - try { - fs.accessSync(dirPath, fs.W_OK); - } catch (e) { - return { or: prepareDir }; - } - } - - return { - or: prepareDir, - result: (this ? this.result : false) || dirPath - }; - } - - function mkDir(dirPath, root) { - var dirs = dirPath.split(path.sep); - var dir = dirs.shift(); - root = (root || '') + dir + path.sep; - - try { - fs.mkdirSync(root); - } - catch (e) { - if (!fs.statSync(root).isDirectory()) { - throw new Error(e); - } - } - - return !dirs.length || mkDir(dirs.join(path.sep), root); - } -} - -/** - * Try to load main app package - * @throws {Error} - * @return {Object|null} - */ -function loadAppPackage() { - var packageFile; - try { - packageFile = find(path.dirname(require.main.filename)); - } catch (e) {} - if (!packageFile && process.resourcesPath) { - packageFile = find(path.join(process.resourcesPath, 'app.asar')); - } - if (!packageFile) { - packageFile = find(process.cwd()); - } - if (!packageFile) { - return null; - } - - var content = fs.readFileSync(packageFile, 'utf-8'); - return JSON.parse(content); - - - function find(root) { - var file; - while (!file) { - var parent; - file = path.join(root, 'package.json'); - try { - fs.statSync(file); - } catch (e) { - parent = path.resolve(root, '..'); - file = null; - } - if (root === parent) { - break; - } - root = parent; - } - return file; - } -} -// endregion get log path - -// region formatter -function format(msg, formatter) { - if (typeof formatter === 'function') { - return formatter(msg); - } - - var date = msg.date; - - return formatter - .replace('{level}', msg.level) - .replace('{text}', msg.text) - .replace('{y}', date.getFullYear()) - .replace('{m}', pad(date.getMonth() + 1)) - .replace('{d}', pad(date.getDate())) - .replace('{h}', pad(date.getHours())) - .replace('{i}', pad(date.getMinutes())) - .replace('{s}', pad(date.getSeconds())) - .replace('{ms}', pad(date.getMilliseconds(), 4)); -} - -function formatConsole(msg) { - var time = - pad(msg.date.getHours()) + ':' + - pad(msg.date.getMinutes()) + ':' + - pad(msg.date.getSeconds()) + ':' + - pad(msg.date.getMilliseconds(), 4); - - return '[' + time + '] [' + msg.level + '] ' + msg.text; -} - -function formatFile(msg) { - var date = - msg.date.getFullYear() + '-' + - pad(msg.date.getMonth() + 1) + '-' + - pad(msg.date.getDate()) + ' ' + - pad(msg.date.getHours()) + ':' + - pad(msg.date.getMinutes()) + ':' + - pad(msg.date.getSeconds()) + ':' + - pad(msg.date.getMilliseconds(), 4); - - return '[' + date + '] [' + msg.level + '] ' + msg.text; -} - -function pad(number, zeros) { - zeros = zeros || 2; - return (new Array(zeros + 1).join('0') + number).substr(-zeros, zeros); -} -// endregion formatter diff --git a/electron/src/node_modules/electron-log/package.json b/electron/src/node_modules/electron-log/package.json deleted file mode 100755 index 3058f2b..0000000 --- a/electron/src/node_modules/electron-log/package.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "electron-log", - "version": "1.3.0", - "description": "Just a very simple logging module for your Electron application", - "main": "index.js", - "scripts": { - "test": "npm run jshint && npm run jscs && npm run mocha", - "mocha": "node_modules/.bin/mocha ./index.spec.js", - "jscs": "node_modules/.bin/jscs .", - "jshint": "node_modules/.bin/jshint --exclude ./node_modules . --verbose" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/megahertz/electron-log.git" - }, - "files": [ - "index.js", - "README.md" - ], - "keywords": [ - "electron", - "atom", - "log", - "logger", - "logging", - "windows", - "mac", - "osx", - "linux", - "desktop" - ], - "author": "Alexey Prokhorov", - "license": "MIT", - "bugs": { - "url": "https://github.com/megahertz/electron-log/issues" - }, - "homepage": "https://github.com/megahertz/electron-log#readme", - "devDependencies": { - "chai": "*", - "jscs": "*", - "jshint": "*", - "jshint-reporter-jscs": "*", - "mocha": "*", - "rewire": "*" - } -} diff --git a/electron/src/node_modules/ext-list/index.js b/electron/src/node_modules/ext-list/index.js deleted file mode 100755 index ebee2ce..0000000 --- a/electron/src/node_modules/ext-list/index.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; -var mimeDb = require('mime-db'); - -module.exports = function () { - var ret = {}; - - Object.keys(mimeDb).forEach(function (x) { - var val = mimeDb[x]; - - if (val.extensions && val.extensions.length > 0) { - val.extensions.forEach(function (y) { - ret[y] = x; - }); - } - }); - - return ret; -}; diff --git a/electron/src/node_modules/ext-list/package.json b/electron/src/node_modules/ext-list/package.json deleted file mode 100755 index cd2e0bc..0000000 --- a/electron/src/node_modules/ext-list/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "ext-list", - "version": "2.2.2", - "description": "List of known file extensions and their MIME types", - "license": "MIT", - "repository": "kevva/ext-list", - "author": { - "name": "Kevin Mårtensson", - "email": "kevinmartensson@gmail.com", - "url": "https://github.com/kevva" - }, - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "test": "xo && ava" - }, - "files": [ - "index.js" - ], - "keywords": [ - "ext", - "mime" - ], - "dependencies": { - "mime-db": "^1.28.0" - }, - "devDependencies": { - "ava": "*", - "xo": "*" - } -} diff --git a/electron/src/node_modules/ext-list/readme.md b/electron/src/node_modules/ext-list/readme.md deleted file mode 100755 index 893064d..0000000 --- a/electron/src/node_modules/ext-list/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# ext-list [![Build Status](http://img.shields.io/travis/kevva/ext-list.svg?style=flat)](https://travis-ci.org/kevva/ext-list) - -> Return a list of known [file extensions](http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types) and their MIME types - - -## Install - -``` -$ npm install --save ext-list -``` - - -## Usage - -```js -const extList = require('ext-list'); - -extList(); -//=> {'123': 'application/vnd.lotus-1-2-3', ez: 'application/andrew-inset', aw: 'application/applixware', ...} -``` - - -## License - -MIT © [Kevin Mårtensson](https://github.com/kevva) diff --git a/electron/src/node_modules/ext-name/index.js b/electron/src/node_modules/ext-name/index.js deleted file mode 100755 index 59ac1f6..0000000 --- a/electron/src/node_modules/ext-name/index.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; -const extList = require('ext-list'); -const sortKeysLength = require('sort-keys-length'); - -module.exports = str => { - const obj = sortKeysLength.desc(extList()); - const exts = Object.keys(obj).filter(x => str.endsWith(x)); - - if (exts.length === 0) { - return []; - } - - return exts.map(x => ({ - ext: x, - mime: obj[x] - })); -}; - -module.exports.mime = str => { - const obj = sortKeysLength.desc(extList()); - const exts = Object.keys(obj).filter(x => obj[x] === str); - - if (exts.length === 0) { - return []; - } - - return exts.map(x => ({ - ext: x, - mime: obj[x] - })); -}; diff --git a/electron/src/node_modules/ext-name/license b/electron/src/node_modules/ext-name/license deleted file mode 100755 index a8ecbbe..0000000 --- a/electron/src/node_modules/ext-name/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Kevin Mårtensson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/electron/src/node_modules/ext-name/package.json b/electron/src/node_modules/ext-name/package.json deleted file mode 100755 index 7c12ccf..0000000 --- a/electron/src/node_modules/ext-name/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "ext-name", - "version": "5.0.0", - "description": "Get the file extension and MIME type from a file", - "license": "MIT", - "repository": "kevva/ext-name", - "author": { - "name": "Kevin Mårtensson", - "email": "kevinmartensson@gmail.com", - "url": "https://github.com/kevva" - }, - "engines": { - "node": ">=4" - }, - "scripts": { - "test": "xo && ava" - }, - "files": [ - "index.js" - ], - "keywords": [ - "ext", - "extname", - "mime" - ], - "dependencies": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - }, - "devDependencies": { - "ava": "*", - "xo": "*" - } -} diff --git a/electron/src/node_modules/ext-name/readme.md b/electron/src/node_modules/ext-name/readme.md deleted file mode 100755 index 8df382b..0000000 --- a/electron/src/node_modules/ext-name/readme.md +++ /dev/null @@ -1,57 +0,0 @@ -# ext-name [![Build Status](https://travis-ci.org/kevva/ext-name.svg?branch=master)](https://travis-ci.org/kevva/ext-name) - -> Get the file extension and MIME type from a file - - -## Install - -``` -$ npm install --save ext-name -``` - - -## Usage - -```js -const extName = require('ext-name'); - -console.log(extName('foobar.tar')); -//=> [{ext: 'tar', mime: 'application/x-tar'}] - -console.log(extName.mime('application/x-tar')); -//=> [{ext: 'tar', mime: 'application/x-tar'}] -``` - - -## API - -### extName(filename) - -Returns an `Array` with objects with the file extension and MIME type. - -#### filename - -Type: `string` - -Get the extension and MIME type from a filename. - -### extName.mime(mimetype) - -Returns an `Array` with objects with the file extension and MIME type. - -#### mimetype - -Type: `string` - -Get the extension and MIME type from a MIME type. - - -## Related - -* [ext-name-cli](https://github.com/kevva/ext-name-cli) - CLI for this module -* [file-type](https://github.com/sindresorhus/file-type) - Detect the file type of a Buffer/Uint8Array - - -## License - -MIT © [Kevin Mårtensson](https://github.com/kevva) diff --git a/electron/src/node_modules/follow-redirects/README.md b/electron/src/node_modules/follow-redirects/README.md deleted file mode 100755 index 469abb0..0000000 --- a/electron/src/node_modules/follow-redirects/README.md +++ /dev/null @@ -1,155 +0,0 @@ -## Follow Redirects - -Drop-in replacement for Nodes `http` and `https` that automatically follows redirects. - -[![npm version](https://badge.fury.io/js/follow-redirects.svg)](https://www.npmjs.com/package/follow-redirects) -[![Build Status](https://travis-ci.org/olalonde/follow-redirects.svg?branch=master)](https://travis-ci.org/olalonde/follow-redirects) -[![Coverage Status](https://coveralls.io/repos/olalonde/follow-redirects/badge.svg?branch=master)](https://coveralls.io/r/olalonde/follow-redirects?branch=master) -[![Dependency Status](https://david-dm.org/olalonde/follow-redirects.svg)](https://david-dm.org/olalonde/follow-redirects) -[![devDependency Status](https://david-dm.org/olalonde/follow-redirects/dev-status.svg)](https://david-dm.org/olalonde/follow-redirects#info=devDependencies) - -[![NPM](https://nodei.co/npm/follow-redirects.png?downloads=true)](https://nodei.co/npm/follow-redirects/) - -`follow-redirects` provides [request](https://nodejs.org/api/http.html#http_http_request_options_callback) and [get](https://nodejs.org/api/http.html#http_http_get_options_callback) - methods that behave identically to those found on the native [http](https://nodejs.org/api/http.html#http_http_request_options_callback) and [https](https://nodejs.org/api/https.html#https_https_request_options_callback) - modules, with the exception that they will seamlessly follow redirects. - -```javascript -var http = require('follow-redirects').http; -var https = require('follow-redirects').https; - -http.get('http://bit.ly/900913', function (response) { - response.on('data', function (chunk) { - console.log(chunk); - }); -}).on('error', function (err) { - console.error(err); -}); -``` - -You can inspect the final redirected URL through the `responseUrl` property on the `response`. -If no redirection happened, `responseUrl` is the original request URL. - -```javascript -https.request({ - host: 'bitly.com', - path: '/UHfDGO', -}, function (response) { - console.log(response.responseUrl); - // 'http://duckduckgo.com/robots.txt' -}); -``` - -## Options -### Global options -Global options are set directly on the `follow-redirects` module: - -```javascript -var followRedirects = require('follow-redirects'); -followRedirects.maxRedirects = 10; -followRedirects.maxBodyLength = 20 * 1024 * 1024; // 20 MB -``` - -The following global options are supported: - -- `maxRedirects` (default: `21`) – sets the maximum number of allowed redirects; if exceeded, an error will be emitted. - -- `maxBodyLength` (default: 10MB) – sets the maximum size of the request body; if exceeded, an error will be emitted. - - -### Per-request options -Per-request options are set by passing an `options` object: - -```javascript -var url = require('url'); -var followRedirects = require('follow-redirects'); - -var options = url.parse('http://bit.ly/900913'); -options.maxRedirects = 10; -http.request(options); -``` - -In addition to the [standard HTTP](https://nodejs.org/api/http.html#http_http_request_options_callback) and [HTTPS options](https://nodejs.org/api/https.html#https_https_request_options_callback), -the following per-request options are supported: -- `followRedirects` (default: `true`) – whether redirects should be followed. - -- `maxRedirects` (default: `21`) – sets the maximum number of allowed redirects; if exceeded, an error will be emitted. - -- `maxBodyLength` (default: 10MB) – sets the maximum size of the request body; if exceeded, an error will be emitted. - -- `agents` (default: `undefined`) – sets the `agent` option per protocol, since HTTP and HTTPS use different agents. Example value: `{ http: new http.Agent(), https: new https.Agent() }` - - -### Advanced usage -By default, `follow-redirects` will use the Node.js default implementations -of [`http`](https://nodejs.org/api/http.html) -and [`https`](https://nodejs.org/api/https.html). -To enable features such as caching and/or intermediate request tracking, -you might instead want to wrap `follow-redirects` around custom protocol implementations: - -```javascript -var followRedirects = require('follow-redirects').wrap({ - http: require('your-custom-http'), - https: require('your-custom-https'), -}); -``` - -Such custom protocols only need an implementation of the `request` method. - -## Browserify Usage - -Due to the way `XMLHttpRequest` works, the `browserify` versions of `http` and `https` already follow redirects. - If you are *only* targeting the browser, then this library has little value for you. If you want to write cross - platform code for node and the browser, `follow-redirects` provides a great solution for making the native node - modules behave the same as they do in browserified builds in the browser. To avoid bundling unnecessary code - you should tell browserify to swap out `follow-redirects` with the standard modules when bundling. - To make this easier, you need to change how you require the modules: - -```javascript -var http = require('follow-redirects/http'); -var https = require('follow-redirects/https'); -``` - -You can then replace `follow-redirects` in your browserify configuration like so: - -```javascript -"browser": { - "follow-redirects/http" : "http", - "follow-redirects/https" : "https" -} -``` - -The `browserify-http` module has not kept pace with node development, and no long behaves identically to the native - module when running in the browser. If you are experiencing problems, you may want to check out - [browserify-http-2](https://www.npmjs.com/package/http-browserify-2). It is more actively maintained and - attempts to address a few of the shortcomings of `browserify-http`. In that case, your browserify config should - look something like this: - -```javascript -"browser": { - "follow-redirects/http" : "browserify-http-2/http", - "follow-redirects/https" : "browserify-http-2/https" -} -``` - -## Contributing - -Pull Requests are always welcome. Please [file an issue](https://github.com/olalonde/follow-redirects/issues) - detailing your proposal before you invest your valuable time. Additional features and bug fixes should be accompanied - by tests. You can run the test suite locally with a simple `npm test` command. - -## Debug Logging - -`follow-redirects` uses the excellent [debug](https://www.npmjs.com/package/debug) for logging. To turn on logging - set the environment variable `DEBUG=follow-redirects` for debug output from just this module. When running the test - suite it is sometimes advantageous to set `DEBUG=*` to see output from the express server as well. - -## Authors - -- Olivier Lalonde (olalonde@gmail.com) -- James Talmage (james@talmage.io) -- [Ruben Verborgh](https://ruben.verborgh.org/) - -## License - -MIT: [http://olalonde.mit-license.org](http://olalonde.mit-license.org) diff --git a/electron/src/node_modules/follow-redirects/http.js b/electron/src/node_modules/follow-redirects/http.js deleted file mode 100755 index 695e356..0000000 --- a/electron/src/node_modules/follow-redirects/http.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./").http; diff --git a/electron/src/node_modules/follow-redirects/https.js b/electron/src/node_modules/follow-redirects/https.js deleted file mode 100755 index d21c921..0000000 --- a/electron/src/node_modules/follow-redirects/https.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./").https; diff --git a/electron/src/node_modules/follow-redirects/index.js b/electron/src/node_modules/follow-redirects/index.js deleted file mode 100755 index 95a02e5..0000000 --- a/electron/src/node_modules/follow-redirects/index.js +++ /dev/null @@ -1,267 +0,0 @@ -var url = require("url"); -var http = require("http"); -var https = require("https"); -var assert = require("assert"); -var Writable = require("stream").Writable; -var debug = require("debug")("follow-redirects"); - -// RFC7231§4.2.1: Of the request methods defined by this specification, -// the GET, HEAD, OPTIONS, and TRACE methods are defined to be safe. -var SAFE_METHODS = { GET: true, HEAD: true, OPTIONS: true, TRACE: true }; - -// Create handlers that pass events from native requests -var eventHandlers = Object.create(null); -["abort", "aborted", "error", "socket", "timeout"].forEach(function (event) { - eventHandlers[event] = function (arg) { - this._redirectable.emit(event, arg); - }; -}); - -// An HTTP(S) request that can be redirected -function RedirectableRequest(options, responseCallback) { - // Initialize the request - Writable.call(this); - options.headers = options.headers || {}; - this._options = options; - this._redirectCount = 0; - this._requestBodyLength = 0; - this._requestBodyBuffers = []; - - // Attach a callback if passed - if (responseCallback) { - this.on("response", responseCallback); - } - - // React to responses of native requests - var self = this; - this._onNativeResponse = function (response) { - self._processResponse(response); - }; - - // Complete the URL object when necessary - if (!options.pathname && options.path) { - var searchPos = options.path.indexOf("?"); - if (searchPos < 0) { - options.pathname = options.path; - } - else { - options.pathname = options.path.substring(0, searchPos); - options.search = options.path.substring(searchPos); - } - } - - // Perform the first request - this._performRequest(); -} -RedirectableRequest.prototype = Object.create(Writable.prototype); - -// Writes buffered data to the current native request -RedirectableRequest.prototype.write = function (data, encoding, callback) { - if (this._requestBodyLength + data.length <= this._options.maxBodyLength) { - this._requestBodyLength += data.length; - this._requestBodyBuffers.push({ data: data, encoding: encoding }); - this._currentRequest.write(data, encoding, callback); - } - else { - this.emit("error", new Error("Request body larger than maxBodyLength limit")); - this.abort(); - } -}; - -// Ends the current native request -RedirectableRequest.prototype.end = function (data, encoding, callback) { - var currentRequest = this._currentRequest; - if (!data) { - currentRequest.end(null, null, callback); - } - else { - this.write(data, encoding, function () { - currentRequest.end(null, null, callback); - }); - } -}; - -// Sets a header value on the current native request -RedirectableRequest.prototype.setHeader = function (name, value) { - this._options.headers[name] = value; - this._currentRequest.setHeader(name, value); -}; - -// Clears a header value on the current native request -RedirectableRequest.prototype.removeHeader = function (name) { - delete this._options.headers[name]; - this._currentRequest.removeHeader(name); -}; - -// Proxy all other public ClientRequest methods -[ - "abort", "flushHeaders", "getHeader", - "setNoDelay", "setSocketKeepAlive", "setTimeout", -].forEach(function (method) { - RedirectableRequest.prototype[method] = function (a, b) { - return this._currentRequest[method](a, b); - }; -}); - -// Proxy all public ClientRequest properties -["aborted", "connection", "socket"].forEach(function (property) { - Object.defineProperty(RedirectableRequest.prototype, property, { - get: function () { return this._currentRequest[property]; }, - }); -}); - -// Executes the next native request (initial or redirect) -RedirectableRequest.prototype._performRequest = function () { - // Load the native protocol - var protocol = this._options.protocol; - var nativeProtocol = this._options.nativeProtocols[protocol]; - - // If specified, use the agent corresponding to the protocol - // (HTTP and HTTPS use different types of agents) - if (this._options.agents) { - var scheme = protocol.substr(0, protocol.length - 1); - this._options.agent = this._options.agents[scheme]; - } - - // Create the native request - var request = this._currentRequest = - nativeProtocol.request(this._options, this._onNativeResponse); - this._currentUrl = url.format(this._options); - - // Set up event handlers - request._redirectable = this; - for (var event in eventHandlers) { - /* istanbul ignore else */ - if (event) { - request.on(event, eventHandlers[event]); - } - } - - // End a redirected request - // (The first request must be ended explicitly with RedirectableRequest#end) - if (this._isRedirect) { - // Write the request entity and end. - var requestBodyBuffers = this._requestBodyBuffers; - (function writeNext() { - if (requestBodyBuffers.length !== 0) { - var buffer = requestBodyBuffers.pop(); - request.write(buffer.data, buffer.encoding, writeNext); - } - else { - request.end(); - } - }()); - } -}; - -// Processes a response from the current native request -RedirectableRequest.prototype._processResponse = function (response) { - // RFC7231§6.4: The 3xx (Redirection) class of status code indicates - // that further action needs to be taken by the user agent in order to - // fulfill the request. If a Location header field is provided, - // the user agent MAY automatically redirect its request to the URI - // referenced by the Location field value, - // even if the specific status code is not understood. - var location = response.headers.location; - if (location && this._options.followRedirects !== false && - response.statusCode >= 300 && response.statusCode < 400) { - // RFC7231§6.4: A client SHOULD detect and intervene - // in cyclical redirections (i.e., "infinite" redirection loops). - if (++this._redirectCount > this._options.maxRedirects) { - this.emit("error", new Error("Max redirects exceeded.")); - return; - } - - // RFC7231§6.4: Automatic redirection needs to done with - // care for methods not known to be safe […], - // since the user might not wish to redirect an unsafe request. - // RFC7231§6.4.7: The 307 (Temporary Redirect) status code indicates - // that the target resource resides temporarily under a different URI - // and the user agent MUST NOT change the request method - // if it performs an automatic redirection to that URI. - var header; - var headers = this._options.headers; - if (response.statusCode !== 307 && !(this._options.method in SAFE_METHODS)) { - this._options.method = "GET"; - // Drop a possible entity and headers related to it - this._requestBodyBuffers = []; - for (header in headers) { - if (/^content-/i.test(header)) { - delete headers[header]; - } - } - } - - // Drop the Host header, as the redirect might lead to a different host - if (!this._isRedirect) { - for (header in headers) { - if (/^host$/i.test(header)) { - delete headers[header]; - } - } - } - - // Perform the redirected request - var redirectUrl = url.resolve(this._currentUrl, location); - debug("redirecting to", redirectUrl); - Object.assign(this._options, url.parse(redirectUrl)); - this._isRedirect = true; - this._performRequest(); - } - else { - // The response is not a redirect; return it as-is - response.responseUrl = this._currentUrl; - this.emit("response", response); - - // Clean up - this._requestBodyBuffers = []; - } -}; - -// Wraps the key/value object of protocols with redirect functionality -function wrap(protocols) { - // Default settings - var exports = { - maxRedirects: 21, - maxBodyLength: 10 * 1024 * 1024, - }; - - // Wrap each protocol - var nativeProtocols = {}; - Object.keys(protocols).forEach(function (scheme) { - var protocol = scheme + ":"; - var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; - var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol); - - // Executes a request, following redirects - wrappedProtocol.request = function (options, callback) { - if (typeof options === "string") { - options = url.parse(options); - options.maxRedirects = exports.maxRedirects; - } - else { - options = Object.assign({ - protocol: protocol, - maxRedirects: exports.maxRedirects, - maxBodyLength: exports.maxBodyLength, - }, options); - } - options.nativeProtocols = nativeProtocols; - assert.equal(options.protocol, protocol, "protocol mismatch"); - debug("options", options); - return new RedirectableRequest(options, callback); - }; - - // Executes a GET request, following redirects - wrappedProtocol.get = function (options, callback) { - var request = wrappedProtocol.request(options, callback); - request.end(); - return request; - }; - }); - return exports; -} - -// Exports -module.exports = wrap({ http: http, https: https }); -module.exports.wrap = wrap; diff --git a/electron/src/node_modules/follow-redirects/node_modules/debug/.coveralls.yml b/electron/src/node_modules/follow-redirects/node_modules/debug/.coveralls.yml deleted file mode 100755 index 20a7068..0000000 --- a/electron/src/node_modules/follow-redirects/node_modules/debug/.coveralls.yml +++ /dev/null @@ -1 +0,0 @@ -repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve diff --git a/electron/src/node_modules/follow-redirects/node_modules/debug/.eslintrc b/electron/src/node_modules/follow-redirects/node_modules/debug/.eslintrc deleted file mode 100755 index 146371e..0000000 --- a/electron/src/node_modules/follow-redirects/node_modules/debug/.eslintrc +++ /dev/null @@ -1,14 +0,0 @@ -{ - "env": { - "browser": true, - "node": true - }, - "globals": { - "chrome": true - }, - "rules": { - "no-console": 0, - "no-empty": [1, { "allowEmptyCatch": true }] - }, - "extends": "eslint:recommended" -} diff --git a/electron/src/node_modules/follow-redirects/node_modules/debug/.npmignore b/electron/src/node_modules/follow-redirects/node_modules/debug/.npmignore deleted file mode 100755 index 5f60eec..0000000 --- a/electron/src/node_modules/follow-redirects/node_modules/debug/.npmignore +++ /dev/null @@ -1,9 +0,0 @@ -support -test -examples -example -*.sock -dist -yarn.lock -coverage -bower.json diff --git a/electron/src/node_modules/follow-redirects/node_modules/debug/.travis.yml b/electron/src/node_modules/follow-redirects/node_modules/debug/.travis.yml deleted file mode 100755 index a764300..0000000 --- a/electron/src/node_modules/follow-redirects/node_modules/debug/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -sudo: false - -language: node_js - -node_js: - - "4" - - "6" - - "8" - -install: - - make install - -script: - - make lint - - make test - -matrix: - include: - - node_js: '8' - env: BROWSER=1 diff --git a/electron/src/node_modules/follow-redirects/node_modules/debug/CHANGELOG.md b/electron/src/node_modules/follow-redirects/node_modules/debug/CHANGELOG.md deleted file mode 100755 index 820d21e..0000000 --- a/electron/src/node_modules/follow-redirects/node_modules/debug/CHANGELOG.md +++ /dev/null @@ -1,395 +0,0 @@ - -3.1.0 / 2017-09-26 -================== - - * Add `DEBUG_HIDE_DATE` env var (#486) - * Remove ReDoS regexp in %o formatter (#504) - * Remove "component" from package.json - * Remove `component.json` - * Ignore package-lock.json - * Examples: fix colors printout - * Fix: browser detection - * Fix: spelling mistake (#496, @EdwardBetts) - -3.0.1 / 2017-08-24 -================== - - * Fix: Disable colors in Edge and Internet Explorer (#489) - -3.0.0 / 2017-08-08 -================== - - * Breaking: Remove DEBUG_FD (#406) - * Breaking: Use `Date#toISOString()` instead to `Date#toUTCString()` when output is not a TTY (#418) - * Breaking: Make millisecond timer namespace specific and allow 'always enabled' output (#408) - * Addition: document `enabled` flag (#465) - * Addition: add 256 colors mode (#481) - * Addition: `enabled()` updates existing debug instances, add `destroy()` function (#440) - * Update: component: update "ms" to v2.0.0 - * Update: separate the Node and Browser tests in Travis-CI - * Update: refactor Readme, fixed documentation, added "Namespace Colors" section, redid screenshots - * Update: separate Node.js and web browser examples for organization - * Update: update "browserify" to v14.4.0 - * Fix: fix Readme typo (#473) - -2.6.9 / 2017-09-22 -================== - - * remove ReDoS regexp in %o formatter (#504) - -2.6.8 / 2017-05-18 -================== - - * Fix: Check for undefined on browser globals (#462, @marbemac) - -2.6.7 / 2017-05-16 -================== - - * Fix: Update ms to 2.0.0 to fix regular expression denial of service vulnerability (#458, @hubdotcom) - * Fix: Inline extend function in node implementation (#452, @dougwilson) - * Docs: Fix typo (#455, @msasad) - -2.6.5 / 2017-04-27 -================== - - * Fix: null reference check on window.documentElement.style.WebkitAppearance (#447, @thebigredgeek) - * Misc: clean up browser reference checks (#447, @thebigredgeek) - * Misc: add npm-debug.log to .gitignore (@thebigredgeek) - - -2.6.4 / 2017-04-20 -================== - - * Fix: bug that would occur if process.env.DEBUG is a non-string value. (#444, @LucianBuzzo) - * Chore: ignore bower.json in npm installations. (#437, @joaovieira) - * Misc: update "ms" to v0.7.3 (@tootallnate) - -2.6.3 / 2017-03-13 -================== - - * Fix: Electron reference to `process.env.DEBUG` (#431, @paulcbetts) - * Docs: Changelog fix (@thebigredgeek) - -2.6.2 / 2017-03-10 -================== - - * Fix: DEBUG_MAX_ARRAY_LENGTH (#420, @slavaGanzin) - * Docs: Add backers and sponsors from Open Collective (#422, @piamancini) - * Docs: Add Slackin invite badge (@tootallnate) - -2.6.1 / 2017-02-10 -================== - - * Fix: Module's `export default` syntax fix for IE8 `Expected identifier` error - * Fix: Whitelist DEBUG_FD for values 1 and 2 only (#415, @pi0) - * Fix: IE8 "Expected identifier" error (#414, @vgoma) - * Fix: Namespaces would not disable once enabled (#409, @musikov) - -2.6.0 / 2016-12-28 -================== - - * Fix: added better null pointer checks for browser useColors (@thebigredgeek) - * Improvement: removed explicit `window.debug` export (#404, @tootallnate) - * Improvement: deprecated `DEBUG_FD` environment variable (#405, @tootallnate) - -2.5.2 / 2016-12-25 -================== - - * Fix: reference error on window within webworkers (#393, @KlausTrainer) - * Docs: fixed README typo (#391, @lurch) - * Docs: added notice about v3 api discussion (@thebigredgeek) - -2.5.1 / 2016-12-20 -================== - - * Fix: babel-core compatibility - -2.5.0 / 2016-12-20 -================== - - * Fix: wrong reference in bower file (@thebigredgeek) - * Fix: webworker compatibility (@thebigredgeek) - * Fix: output formatting issue (#388, @kribblo) - * Fix: babel-loader compatibility (#383, @escwald) - * Misc: removed built asset from repo and publications (@thebigredgeek) - * Misc: moved source files to /src (#378, @yamikuronue) - * Test: added karma integration and replaced babel with browserify for browser tests (#378, @yamikuronue) - * Test: coveralls integration (#378, @yamikuronue) - * Docs: simplified language in the opening paragraph (#373, @yamikuronue) - -2.4.5 / 2016-12-17 -================== - - * Fix: `navigator` undefined in Rhino (#376, @jochenberger) - * Fix: custom log function (#379, @hsiliev) - * Improvement: bit of cleanup + linting fixes (@thebigredgeek) - * Improvement: rm non-maintainted `dist/` dir (#375, @freewil) - * Docs: simplified language in the opening paragraph. (#373, @yamikuronue) - -2.4.4 / 2016-12-14 -================== - - * Fix: work around debug being loaded in preload scripts for electron (#368, @paulcbetts) - -2.4.3 / 2016-12-14 -================== - - * Fix: navigation.userAgent error for react native (#364, @escwald) - -2.4.2 / 2016-12-14 -================== - - * Fix: browser colors (#367, @tootallnate) - * Misc: travis ci integration (@thebigredgeek) - * Misc: added linting and testing boilerplate with sanity check (@thebigredgeek) - -2.4.1 / 2016-12-13 -================== - - * Fix: typo that broke the package (#356) - -2.4.0 / 2016-12-13 -================== - - * Fix: bower.json references unbuilt src entry point (#342, @justmatt) - * Fix: revert "handle regex special characters" (@tootallnate) - * Feature: configurable util.inspect()`options for NodeJS (#327, @tootallnate) - * Feature: %O`(big O) pretty-prints objects (#322, @tootallnate) - * Improvement: allow colors in workers (#335, @botverse) - * Improvement: use same color for same namespace. (#338, @lchenay) - -2.3.3 / 2016-11-09 -================== - - * Fix: Catch `JSON.stringify()` errors (#195, Jovan Alleyne) - * Fix: Returning `localStorage` saved values (#331, Levi Thomason) - * Improvement: Don't create an empty object when no `process` (Nathan Rajlich) - -2.3.2 / 2016-11-09 -================== - - * Fix: be super-safe in index.js as well (@TooTallNate) - * Fix: should check whether process exists (Tom Newby) - -2.3.1 / 2016-11-09 -================== - - * Fix: Added electron compatibility (#324, @paulcbetts) - * Improvement: Added performance optimizations (@tootallnate) - * Readme: Corrected PowerShell environment variable example (#252, @gimre) - * Misc: Removed yarn lock file from source control (#321, @fengmk2) - -2.3.0 / 2016-11-07 -================== - - * Fix: Consistent placement of ms diff at end of output (#215, @gorangajic) - * Fix: Escaping of regex special characters in namespace strings (#250, @zacronos) - * Fix: Fixed bug causing crash on react-native (#282, @vkarpov15) - * Feature: Enabled ES6+ compatible import via default export (#212 @bucaran) - * Feature: Added %O formatter to reflect Chrome's console.log capability (#279, @oncletom) - * Package: Update "ms" to 0.7.2 (#315, @DevSide) - * Package: removed superfluous version property from bower.json (#207 @kkirsche) - * Readme: fix USE_COLORS to DEBUG_COLORS - * Readme: Doc fixes for format string sugar (#269, @mlucool) - * Readme: Updated docs for DEBUG_FD and DEBUG_COLORS environment variables (#232, @mattlyons0) - * Readme: doc fixes for PowerShell (#271 #243, @exoticknight @unreadable) - * Readme: better docs for browser support (#224, @matthewmueller) - * Tooling: Added yarn integration for development (#317, @thebigredgeek) - * Misc: Renamed History.md to CHANGELOG.md (@thebigredgeek) - * Misc: Added license file (#226 #274, @CantemoInternal @sdaitzman) - * Misc: Updated contributors (@thebigredgeek) - -2.2.0 / 2015-05-09 -================== - - * package: update "ms" to v0.7.1 (#202, @dougwilson) - * README: add logging to file example (#193, @DanielOchoa) - * README: fixed a typo (#191, @amir-s) - * browser: expose `storage` (#190, @stephenmathieson) - * Makefile: add a `distclean` target (#189, @stephenmathieson) - -2.1.3 / 2015-03-13 -================== - - * Updated stdout/stderr example (#186) - * Updated example/stdout.js to match debug current behaviour - * Renamed example/stderr.js to stdout.js - * Update Readme.md (#184) - * replace high intensity foreground color for bold (#182, #183) - -2.1.2 / 2015-03-01 -================== - - * dist: recompile - * update "ms" to v0.7.0 - * package: update "browserify" to v9.0.3 - * component: fix "ms.js" repo location - * changed bower package name - * updated documentation about using debug in a browser - * fix: security error on safari (#167, #168, @yields) - -2.1.1 / 2014-12-29 -================== - - * browser: use `typeof` to check for `console` existence - * browser: check for `console.log` truthiness (fix IE 8/9) - * browser: add support for Chrome apps - * Readme: added Windows usage remarks - * Add `bower.json` to properly support bower install - -2.1.0 / 2014-10-15 -================== - - * node: implement `DEBUG_FD` env variable support - * package: update "browserify" to v6.1.0 - * package: add "license" field to package.json (#135, @panuhorsmalahti) - -2.0.0 / 2014-09-01 -================== - - * package: update "browserify" to v5.11.0 - * node: use stderr rather than stdout for logging (#29, @stephenmathieson) - -1.0.4 / 2014-07-15 -================== - - * dist: recompile - * example: remove `console.info()` log usage - * example: add "Content-Type" UTF-8 header to browser example - * browser: place %c marker after the space character - * browser: reset the "content" color via `color: inherit` - * browser: add colors support for Firefox >= v31 - * debug: prefer an instance `log()` function over the global one (#119) - * Readme: update documentation about styled console logs for FF v31 (#116, @wryk) - -1.0.3 / 2014-07-09 -================== - - * Add support for multiple wildcards in namespaces (#122, @seegno) - * browser: fix lint - -1.0.2 / 2014-06-10 -================== - - * browser: update color palette (#113, @gscottolson) - * common: make console logging function configurable (#108, @timoxley) - * node: fix %o colors on old node <= 0.8.x - * Makefile: find node path using shell/which (#109, @timoxley) - -1.0.1 / 2014-06-06 -================== - - * browser: use `removeItem()` to clear localStorage - * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777) - * package: add "contributors" section - * node: fix comment typo - * README: list authors - -1.0.0 / 2014-06-04 -================== - - * make ms diff be global, not be scope - * debug: ignore empty strings in enable() - * node: make DEBUG_COLORS able to disable coloring - * *: export the `colors` array - * npmignore: don't publish the `dist` dir - * Makefile: refactor to use browserify - * package: add "browserify" as a dev dependency - * Readme: add Web Inspector Colors section - * node: reset terminal color for the debug content - * node: map "%o" to `util.inspect()` - * browser: map "%j" to `JSON.stringify()` - * debug: add custom "formatters" - * debug: use "ms" module for humanizing the diff - * Readme: add "bash" syntax highlighting - * browser: add Firebug color support - * browser: add colors for WebKit browsers - * node: apply log to `console` - * rewrite: abstract common logic for Node & browsers - * add .jshintrc file - -0.8.1 / 2014-04-14 -================== - - * package: re-add the "component" section - -0.8.0 / 2014-03-30 -================== - - * add `enable()` method for nodejs. Closes #27 - * change from stderr to stdout - * remove unnecessary index.js file - -0.7.4 / 2013-11-13 -================== - - * remove "browserify" key from package.json (fixes something in browserify) - -0.7.3 / 2013-10-30 -================== - - * fix: catch localStorage security error when cookies are blocked (Chrome) - * add debug(err) support. Closes #46 - * add .browser prop to package.json. Closes #42 - -0.7.2 / 2013-02-06 -================== - - * fix package.json - * fix: Mobile Safari (private mode) is broken with debug - * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript - -0.7.1 / 2013-02-05 -================== - - * add repository URL to package.json - * add DEBUG_COLORED to force colored output - * add browserify support - * fix component. Closes #24 - -0.7.0 / 2012-05-04 -================== - - * Added .component to package.json - * Added debug.component.js build - -0.6.0 / 2012-03-16 -================== - - * Added support for "-" prefix in DEBUG [Vinay Pulim] - * Added `.enabled` flag to the node version [TooTallNate] - -0.5.0 / 2012-02-02 -================== - - * Added: humanize diffs. Closes #8 - * Added `debug.disable()` to the CS variant - * Removed padding. Closes #10 - * Fixed: persist client-side variant again. Closes #9 - -0.4.0 / 2012-02-01 -================== - - * Added browser variant support for older browsers [TooTallNate] - * Added `debug.enable('project:*')` to browser variant [TooTallNate] - * Added padding to diff (moved it to the right) - -0.3.0 / 2012-01-26 -================== - - * Added millisecond diff when isatty, otherwise UTC string - -0.2.0 / 2012-01-22 -================== - - * Added wildcard support - -0.1.0 / 2011-12-02 -================== - - * Added: remove colors unless stderr isatty [TooTallNate] - -0.0.1 / 2010-01-03 -================== - - * Initial release diff --git a/electron/src/node_modules/follow-redirects/node_modules/debug/LICENSE b/electron/src/node_modules/follow-redirects/node_modules/debug/LICENSE deleted file mode 100755 index 658c933..0000000 --- a/electron/src/node_modules/follow-redirects/node_modules/debug/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -(The MIT License) - -Copyright (c) 2014 TJ Holowaychuk - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software -and associated documentation files (the 'Software'), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/electron/src/node_modules/follow-redirects/node_modules/debug/Makefile b/electron/src/node_modules/follow-redirects/node_modules/debug/Makefile deleted file mode 100755 index 3ddd136..0000000 --- a/electron/src/node_modules/follow-redirects/node_modules/debug/Makefile +++ /dev/null @@ -1,58 +0,0 @@ -# get Makefile directory name: http://stackoverflow.com/a/5982798/376773 -THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) -THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) - -# BIN directory -BIN := $(THIS_DIR)/node_modules/.bin - -# Path -PATH := node_modules/.bin:$(PATH) -SHELL := /bin/bash - -# applications -NODE ?= $(shell which node) -YARN ?= $(shell which yarn) -PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm)) -BROWSERIFY ?= $(NODE) $(BIN)/browserify - -install: node_modules - -browser: dist/debug.js - -node_modules: package.json - @NODE_ENV= $(PKG) install - @touch node_modules - -dist/debug.js: src/*.js node_modules - @mkdir -p dist - @$(BROWSERIFY) \ - --standalone debug \ - . > dist/debug.js - -lint: - @eslint *.js src/*.js - -test-node: - @istanbul cover node_modules/mocha/bin/_mocha -- test/**.js - @cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js - -test-browser: - @$(MAKE) browser - @karma start --single-run - -test-all: - @concurrently \ - "make test-node" \ - "make test-browser" - -test: - @if [ "x$(BROWSER)" = "x" ]; then \ - $(MAKE) test-node; \ - else \ - $(MAKE) test-browser; \ - fi - -clean: - rimraf dist coverage - -.PHONY: browser install clean lint test test-all test-node test-browser diff --git a/electron/src/node_modules/follow-redirects/node_modules/debug/README.md b/electron/src/node_modules/follow-redirects/node_modules/debug/README.md deleted file mode 100755 index 8e754d1..0000000 --- a/electron/src/node_modules/follow-redirects/node_modules/debug/README.md +++ /dev/null @@ -1,368 +0,0 @@ -# debug -[![Build Status](https://travis-ci.org/visionmedia/debug.svg?branch=master)](https://travis-ci.org/visionmedia/debug) [![Coverage Status](https://coveralls.io/repos/github/visionmedia/debug/badge.svg?branch=master)](https://coveralls.io/github/visionmedia/debug?branch=master) [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers) -[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors) - - - -A tiny JavaScript debugging utility modelled after Node.js core's debugging -technique. Works in Node.js and web browsers. - -## Installation - -```bash -$ npm install debug -``` - -## Usage - -`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole. - -Example [_app.js_](./examples/node/app.js): - -```js -var debug = require('debug')('http') - , http = require('http') - , name = 'My App'; - -// fake app - -debug('booting %o', name); - -http.createServer(function(req, res){ - debug(req.method + ' ' + req.url); - res.end('hello\n'); -}).listen(3000, function(){ - debug('listening'); -}); - -// fake worker of some kind - -require('./worker'); -``` - -Example [_worker.js_](./examples/node/worker.js): - -```js -var a = require('debug')('worker:a') - , b = require('debug')('worker:b'); - -function work() { - a('doing lots of uninteresting work'); - setTimeout(work, Math.random() * 1000); -} - -work(); - -function workb() { - b('doing some work'); - setTimeout(workb, Math.random() * 2000); -} - -workb(); -``` - -The `DEBUG` environment variable is then used to enable these based on space or -comma-delimited names. - -Here are some examples: - -screen shot 2017-08-08 at 12 53 04 pm -screen shot 2017-08-08 at 12 53 38 pm -screen shot 2017-08-08 at 12 53 25 pm - -#### Windows note - -On Windows the environment variable is set using the `set` command. - -```cmd -set DEBUG=*,-not_this -``` - -Note that PowerShell uses different syntax to set environment variables. - -```cmd -$env:DEBUG = "*,-not_this" -``` - -Then, run the program to be debugged as usual. - - -## Namespace Colors - -Every debug instance has a color generated for it based on its namespace name. -This helps when visually parsing the debug output to identify which debug instance -a debug line belongs to. - -#### Node.js - -In Node.js, colors are enabled when stderr is a TTY. You also _should_ install -the [`supports-color`](https://npmjs.org/supports-color) module alongside debug, -otherwise debug will only use a small handful of basic colors. - - - -#### Web Browser - -Colors are also enabled on "Web Inspectors" that understand the `%c` formatting -option. These are WebKit web inspectors, Firefox ([since version -31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/)) -and the Firebug plugin for Firefox (any version). - - - - -## Millisecond diff - -When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. - - - -When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below: - - - - -## Conventions - -If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment variable. You can then use it for normal output as well as debug output. - -## Wildcards - -The `*` character may be used as a wildcard. Suppose for example your library has -debuggers named "connect:bodyParser", "connect:compress", "connect:session", -instead of listing all three with -`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do -`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. - -You can also exclude specific debuggers by prefixing them with a "-" character. -For example, `DEBUG=*,-connect:*` would include all debuggers except those -starting with "connect:". - -## Environment Variables - -When running through Node.js, you can set a few environment variables that will -change the behavior of the debug logging: - -| Name | Purpose | -|-----------|-------------------------------------------------| -| `DEBUG` | Enables/disables specific debugging namespaces. | -| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY). | -| `DEBUG_COLORS`| Whether or not to use colors in the debug output. | -| `DEBUG_DEPTH` | Object inspection depth. | -| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. | - - -__Note:__ The environment variables beginning with `DEBUG_` end up being -converted into an Options object that gets used with `%o`/`%O` formatters. -See the Node.js documentation for -[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options) -for the complete list. - -## Formatters - -Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting. -Below are the officially supported formatters: - -| Formatter | Representation | -|-----------|----------------| -| `%O` | Pretty-print an Object on multiple lines. | -| `%o` | Pretty-print an Object all on a single line. | -| `%s` | String. | -| `%d` | Number (both integer and float). | -| `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. | -| `%%` | Single percent sign ('%'). This does not consume an argument. | - - -### Custom formatters - -You can add custom formatters by extending the `debug.formatters` object. -For example, if you wanted to add support for rendering a Buffer as hex with -`%h`, you could do something like: - -```js -const createDebug = require('debug') -createDebug.formatters.h = (v) => { - return v.toString('hex') -} - -// …elsewhere -const debug = createDebug('foo') -debug('this is hex: %h', new Buffer('hello world')) -// foo this is hex: 68656c6c6f20776f726c6421 +0ms -``` - - -## Browser Support - -You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify), -or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest), -if you don't want to build it yourself. - -Debug's enable state is currently persisted by `localStorage`. -Consider the situation shown below where you have `worker:a` and `worker:b`, -and wish to debug both. You can enable this using `localStorage.debug`: - -```js -localStorage.debug = 'worker:*' -``` - -And then refresh the page. - -```js -a = debug('worker:a'); -b = debug('worker:b'); - -setInterval(function(){ - a('doing some work'); -}, 1000); - -setInterval(function(){ - b('doing some work'); -}, 1200); -``` - - -## Output streams - - By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method: - -Example [_stdout.js_](./examples/node/stdout.js): - -```js -var debug = require('debug'); -var error = debug('app:error'); - -// by default stderr is used -error('goes to stderr!'); - -var log = debug('app:log'); -// set this namespace to log via console.log -log.log = console.log.bind(console); // don't forget to bind to console! -log('goes to stdout'); -error('still goes to stderr!'); - -// set all output to go via console.info -// overrides all per-namespace log settings -debug.log = console.info.bind(console); -error('now goes to stdout via console.info'); -log('still goes to stdout, but via console.info now'); -``` - -## Checking whether a debug target is enabled - -After you've created a debug instance, you can determine whether or not it is -enabled by checking the `enabled` property: - -```javascript -const debug = require('debug')('http'); - -if (debug.enabled) { - // do stuff... -} -``` - -You can also manually toggle this property to force the debug instance to be -enabled or disabled. - - -## Authors - - - TJ Holowaychuk - - Nathan Rajlich - - Andrew Rhyne - -## Backers - -Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## Sponsors - -Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## License - -(The MIT License) - -Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca> - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/electron/src/node_modules/follow-redirects/node_modules/debug/karma.conf.js b/electron/src/node_modules/follow-redirects/node_modules/debug/karma.conf.js deleted file mode 100755 index 103a82d..0000000 --- a/electron/src/node_modules/follow-redirects/node_modules/debug/karma.conf.js +++ /dev/null @@ -1,70 +0,0 @@ -// Karma configuration -// Generated on Fri Dec 16 2016 13:09:51 GMT+0000 (UTC) - -module.exports = function(config) { - config.set({ - - // base path that will be used to resolve all patterns (eg. files, exclude) - basePath: '', - - - // frameworks to use - // available frameworks: https://npmjs.org/browse/keyword/karma-adapter - frameworks: ['mocha', 'chai', 'sinon'], - - - // list of files / patterns to load in the browser - files: [ - 'dist/debug.js', - 'test/*spec.js' - ], - - - // list of files to exclude - exclude: [ - 'src/node.js' - ], - - - // preprocess matching files before serving them to the browser - // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor - preprocessors: { - }, - - // test results reporter to use - // possible values: 'dots', 'progress' - // available reporters: https://npmjs.org/browse/keyword/karma-reporter - reporters: ['progress'], - - - // web server port - port: 9876, - - - // enable / disable colors in the output (reporters and logs) - colors: true, - - - // level of logging - // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG - logLevel: config.LOG_INFO, - - - // enable / disable watching file and executing tests whenever any file changes - autoWatch: true, - - - // start these browsers - // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher - browsers: ['PhantomJS'], - - - // Continuous Integration mode - // if true, Karma captures browsers, runs the tests and exits - singleRun: false, - - // Concurrency level - // how many browser should be started simultaneous - concurrency: Infinity - }) -} diff --git a/electron/src/node_modules/follow-redirects/node_modules/debug/node.js b/electron/src/node_modules/follow-redirects/node_modules/debug/node.js deleted file mode 100755 index 7fc36fe..0000000 --- a/electron/src/node_modules/follow-redirects/node_modules/debug/node.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./src/node'); diff --git a/electron/src/node_modules/follow-redirects/node_modules/debug/package.json b/electron/src/node_modules/follow-redirects/node_modules/debug/package.json deleted file mode 100755 index ada43cf..0000000 --- a/electron/src/node_modules/follow-redirects/node_modules/debug/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "debug", - "version": "3.1.0", - "repository": { - "type": "git", - "url": "git://github.com/visionmedia/debug.git" - }, - "description": "small debugging utility", - "keywords": [ - "debug", - "log", - "debugger" - ], - "author": "TJ Holowaychuk ", - "contributors": [ - "Nathan Rajlich (http://n8.io)", - "Andrew Rhyne " - ], - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - }, - "devDependencies": { - "browserify": "14.4.0", - "chai": "^3.5.0", - "concurrently": "^3.1.0", - "coveralls": "^2.11.15", - "eslint": "^3.12.1", - "istanbul": "^0.4.5", - "karma": "^1.3.0", - "karma-chai": "^0.1.0", - "karma-mocha": "^1.3.0", - "karma-phantomjs-launcher": "^1.0.2", - "karma-sinon": "^1.0.5", - "mocha": "^3.2.0", - "mocha-lcov-reporter": "^1.2.0", - "rimraf": "^2.5.4", - "sinon": "^1.17.6", - "sinon-chai": "^2.8.0" - }, - "main": "./src/index.js", - "browser": "./src/browser.js" -} diff --git a/electron/src/node_modules/follow-redirects/node_modules/debug/src/browser.js b/electron/src/node_modules/follow-redirects/node_modules/debug/src/browser.js deleted file mode 100755 index f5149ff..0000000 --- a/electron/src/node_modules/follow-redirects/node_modules/debug/src/browser.js +++ /dev/null @@ -1,195 +0,0 @@ -/** - * This is the web browser implementation of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = require('./debug'); -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; -exports.storage = 'undefined' != typeof chrome - && 'undefined' != typeof chrome.storage - ? chrome.storage.local - : localstorage(); - -/** - * Colors. - */ - -exports.colors = [ - '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', - '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', - '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', - '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', - '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', - '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', - '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', - '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', - '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', - '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', - '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33' -]; - -/** - * Currently only WebKit-based Web Inspectors, Firefox >= v31, - * and the Firebug extension (any Firefox version) are known - * to support "%c" CSS customizations. - * - * TODO: add a `localStorage` variable to explicitly enable/disable colors - */ - -function useColors() { - // NB: In an Electron preload script, document will be defined but not fully - // initialized. Since we know we're in Chrome, we'll just detect this case - // explicitly - if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { - return true; - } - - // Internet Explorer and Edge do not support colors. - if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - - // is webkit? http://stackoverflow.com/a/16459606/376773 - // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 - return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || - // is firebug? http://stackoverflow.com/a/398120/376773 - (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || - // is firefox >= v31? - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || - // double check webkit in userAgent just in case we are in a worker - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); -} - -/** - * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. - */ - -exports.formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (err) { - return '[UnexpectedJSONParseError]: ' + err.message; - } -}; - - -/** - * Colorize log arguments if enabled. - * - * @api public - */ - -function formatArgs(args) { - var useColors = this.useColors; - - args[0] = (useColors ? '%c' : '') - + this.namespace - + (useColors ? ' %c' : ' ') - + args[0] - + (useColors ? '%c ' : ' ') - + '+' + exports.humanize(this.diff); - - if (!useColors) return; - - var c = 'color: ' + this.color; - args.splice(1, 0, c, 'color: inherit') - - // the final "%c" is somewhat tricky, because there could be other - // arguments passed either before or after the %c, so we need to - // figure out the correct index to insert the CSS into - var index = 0; - var lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, function(match) { - if ('%%' === match) return; - index++; - if ('%c' === match) { - // we only are interested in the *last* %c - // (the user may have provided their own) - lastC = index; - } - }); - - args.splice(lastC, 0, c); -} - -/** - * Invokes `console.log()` when available. - * No-op when `console.log` is not a "function". - * - * @api public - */ - -function log() { - // this hackery is required for IE8/9, where - // the `console.log` function doesn't have 'apply' - return 'object' === typeof console - && console.log - && Function.prototype.apply.call(console.log, console, arguments); -} - -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ - -function save(namespaces) { - try { - if (null == namespaces) { - exports.storage.removeItem('debug'); - } else { - exports.storage.debug = namespaces; - } - } catch(e) {} -} - -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ - -function load() { - var r; - try { - r = exports.storage.debug; - } catch(e) {} - - // If debug isn't set in LS, and we're in Electron, try to load $DEBUG - if (!r && typeof process !== 'undefined' && 'env' in process) { - r = process.env.DEBUG; - } - - return r; -} - -/** - * Enable namespaces listed in `localStorage.debug` initially. - */ - -exports.enable(load()); - -/** - * Localstorage attempts to return the localstorage. - * - * This is necessary because safari throws - * when a user disables cookies/localstorage - * and you attempt to access it. - * - * @return {LocalStorage} - * @api private - */ - -function localstorage() { - try { - return window.localStorage; - } catch (e) {} -} diff --git a/electron/src/node_modules/follow-redirects/node_modules/debug/src/debug.js b/electron/src/node_modules/follow-redirects/node_modules/debug/src/debug.js deleted file mode 100755 index 77e6384..0000000 --- a/electron/src/node_modules/follow-redirects/node_modules/debug/src/debug.js +++ /dev/null @@ -1,225 +0,0 @@ - -/** - * This is the common logic for both the Node.js and web browser - * implementations of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; -exports.coerce = coerce; -exports.disable = disable; -exports.enable = enable; -exports.enabled = enabled; -exports.humanize = require('ms'); - -/** - * Active `debug` instances. - */ -exports.instances = []; - -/** - * The currently active debug mode names, and names to skip. - */ - -exports.names = []; -exports.skips = []; - -/** - * Map of special "%n" handling functions, for the debug "format" argument. - * - * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". - */ - -exports.formatters = {}; - -/** - * Select a color. - * @param {String} namespace - * @return {Number} - * @api private - */ - -function selectColor(namespace) { - var hash = 0, i; - - for (i in namespace) { - hash = ((hash << 5) - hash) + namespace.charCodeAt(i); - hash |= 0; // Convert to 32bit integer - } - - return exports.colors[Math.abs(hash) % exports.colors.length]; -} - -/** - * Create a debugger with the given `namespace`. - * - * @param {String} namespace - * @return {Function} - * @api public - */ - -function createDebug(namespace) { - - var prevTime; - - function debug() { - // disabled? - if (!debug.enabled) return; - - var self = debug; - - // set `diff` timestamp - var curr = +new Date(); - var ms = curr - (prevTime || curr); - self.diff = ms; - self.prev = prevTime; - self.curr = curr; - prevTime = curr; - - // turn the `arguments` into a proper Array - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - - args[0] = exports.coerce(args[0]); - - if ('string' !== typeof args[0]) { - // anything else let's inspect with %O - args.unshift('%O'); - } - - // apply any `formatters` transformations - var index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { - // if we encounter an escaped % then don't increase the array index - if (match === '%%') return match; - index++; - var formatter = exports.formatters[format]; - if ('function' === typeof formatter) { - var val = args[index]; - match = formatter.call(self, val); - - // now we need to remove `args[index]` since it's inlined in the `format` - args.splice(index, 1); - index--; - } - return match; - }); - - // apply env-specific formatting (colors, etc.) - exports.formatArgs.call(self, args); - - var logFn = debug.log || exports.log || console.log.bind(console); - logFn.apply(self, args); - } - - debug.namespace = namespace; - debug.enabled = exports.enabled(namespace); - debug.useColors = exports.useColors(); - debug.color = selectColor(namespace); - debug.destroy = destroy; - - // env-specific initialization logic for debug instances - if ('function' === typeof exports.init) { - exports.init(debug); - } - - exports.instances.push(debug); - - return debug; -} - -function destroy () { - var index = exports.instances.indexOf(this); - if (index !== -1) { - exports.instances.splice(index, 1); - return true; - } else { - return false; - } -} - -/** - * Enables a debug mode by namespaces. This can include modes - * separated by a colon and wildcards. - * - * @param {String} namespaces - * @api public - */ - -function enable(namespaces) { - exports.save(namespaces); - - exports.names = []; - exports.skips = []; - - var i; - var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); - var len = split.length; - - for (i = 0; i < len; i++) { - if (!split[i]) continue; // ignore empty strings - namespaces = split[i].replace(/\*/g, '.*?'); - if (namespaces[0] === '-') { - exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); - } else { - exports.names.push(new RegExp('^' + namespaces + '$')); - } - } - - for (i = 0; i < exports.instances.length; i++) { - var instance = exports.instances[i]; - instance.enabled = exports.enabled(instance.namespace); - } -} - -/** - * Disable debug output. - * - * @api public - */ - -function disable() { - exports.enable(''); -} - -/** - * Returns true if the given mode name is enabled, false otherwise. - * - * @param {String} name - * @return {Boolean} - * @api public - */ - -function enabled(name) { - if (name[name.length - 1] === '*') { - return true; - } - var i, len; - for (i = 0, len = exports.skips.length; i < len; i++) { - if (exports.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = exports.names.length; i < len; i++) { - if (exports.names[i].test(name)) { - return true; - } - } - return false; -} - -/** - * Coerce `val`. - * - * @param {Mixed} val - * @return {Mixed} - * @api private - */ - -function coerce(val) { - if (val instanceof Error) return val.stack || val.message; - return val; -} diff --git a/electron/src/node_modules/follow-redirects/node_modules/debug/src/index.js b/electron/src/node_modules/follow-redirects/node_modules/debug/src/index.js deleted file mode 100755 index cabcbcd..0000000 --- a/electron/src/node_modules/follow-redirects/node_modules/debug/src/index.js +++ /dev/null @@ -1,10 +0,0 @@ -/** - * Detect Electron renderer process, which is node, but we should - * treat as a browser. - */ - -if (typeof process === 'undefined' || process.type === 'renderer') { - module.exports = require('./browser.js'); -} else { - module.exports = require('./node.js'); -} diff --git a/electron/src/node_modules/follow-redirects/node_modules/debug/src/node.js b/electron/src/node_modules/follow-redirects/node_modules/debug/src/node.js deleted file mode 100755 index d666fb9..0000000 --- a/electron/src/node_modules/follow-redirects/node_modules/debug/src/node.js +++ /dev/null @@ -1,186 +0,0 @@ -/** - * Module dependencies. - */ - -var tty = require('tty'); -var util = require('util'); - -/** - * This is the Node.js implementation of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = require('./debug'); -exports.init = init; -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; - -/** - * Colors. - */ - -exports.colors = [ 6, 2, 3, 4, 5, 1 ]; - -try { - var supportsColor = require('supports-color'); - if (supportsColor && supportsColor.level >= 2) { - exports.colors = [ - 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, - 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, - 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 214, 215, 220, 221 - ]; - } -} catch (err) { - // swallow - we only care if `supports-color` is available; it doesn't have to be. -} - -/** - * Build up the default `inspectOpts` object from the environment variables. - * - * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js - */ - -exports.inspectOpts = Object.keys(process.env).filter(function (key) { - return /^debug_/i.test(key); -}).reduce(function (obj, key) { - // camel-case - var prop = key - .substring(6) - .toLowerCase() - .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); - - // coerce string value into JS value - var val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) val = true; - else if (/^(no|off|false|disabled)$/i.test(val)) val = false; - else if (val === 'null') val = null; - else val = Number(val); - - obj[prop] = val; - return obj; -}, {}); - -/** - * Is stdout a TTY? Colored output is enabled when `true`. - */ - -function useColors() { - return 'colors' in exports.inspectOpts - ? Boolean(exports.inspectOpts.colors) - : tty.isatty(process.stderr.fd); -} - -/** - * Map %o to `util.inspect()`, all on a single line. - */ - -exports.formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts) - .split('\n').map(function(str) { - return str.trim() - }).join(' '); -}; - -/** - * Map %o to `util.inspect()`, allowing multiple lines if needed. - */ - -exports.formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts); -}; - -/** - * Adds ANSI color escape codes if enabled. - * - * @api public - */ - -function formatArgs(args) { - var name = this.namespace; - var useColors = this.useColors; - - if (useColors) { - var c = this.color; - var colorCode = '\u001b[3' + (c < 8 ? c : '8;5;' + c); - var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\u001b[0m'; - - args[0] = prefix + args[0].split('\n').join('\n' + prefix); - args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); - } else { - args[0] = getDate() + name + ' ' + args[0]; - } -} - -function getDate() { - if (exports.inspectOpts.hideDate) { - return ''; - } else { - return new Date().toISOString() + ' '; - } -} - -/** - * Invokes `util.format()` with the specified arguments and writes to stderr. - */ - -function log() { - return process.stderr.write(util.format.apply(util, arguments) + '\n'); -} - -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ - -function save(namespaces) { - if (null == namespaces) { - // If you set a process.env field to null or undefined, it gets cast to the - // string 'null' or 'undefined'. Just delete instead. - delete process.env.DEBUG; - } else { - process.env.DEBUG = namespaces; - } -} - -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ - -function load() { - return process.env.DEBUG; -} - -/** - * Init logic for `debug` instances. - * - * Create a new `inspectOpts` object in case `useColors` is set - * differently for a particular `debug` instance. - */ - -function init (debug) { - debug.inspectOpts = {}; - - var keys = Object.keys(exports.inspectOpts); - for (var i = 0; i < keys.length; i++) { - debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; - } -} - -/** - * Enable namespaces listed in `process.env.DEBUG` initially. - */ - -exports.enable(load()); diff --git a/electron/src/node_modules/follow-redirects/package.json b/electron/src/node_modules/follow-redirects/package.json deleted file mode 100755 index 7782c65..0000000 --- a/electron/src/node_modules/follow-redirects/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "follow-redirects", - "version": "1.4.1", - "description": "HTTP and HTTPS modules that follow redirects.", - "main": "index.js", - "engines": { - "node": ">=4.0" - }, - "scripts": { - "test": "npm run lint && npm run mocha", - "lint": "eslint *.js test", - "mocha": "nyc mocha" - }, - "repository": { - "type": "git", - "url": "git@github.com:olalonde/follow-redirects.git" - }, - "homepage": "https://github.com/olalonde/follow-redirects", - "bugs": { - "url": "https://github.com/olalonde/follow-redirects/issues" - }, - "keywords": [ - "http", - "https", - "url", - "redirect", - "client", - "location", - "utility" - ], - "author": { - "name": "Olivier Lalonde", - "email": "olalonde@gmail.com", - "url": "http://www.syskall.com" - }, - "contributors": [ - "James Talmage ", - "Ruben Verborgh (https://ruben.verborgh.org/)" - ], - "files": [ - "index.js", - "create.js", - "http.js", - "https.js" - ], - "dependencies": { - "debug": "^3.1.0" - }, - "devDependencies": { - "bluebird": "^3.5.1", - "concat-stream": "^1.6.0", - "coveralls": "^3.0.0", - "eslint": "^4.16.0", - "express": "^4.16.2", - "mocha": "^5.0.0", - "nyc": "^11.4.1" - }, - "license": "MIT", - "nyc": { - "reporter": [ - "lcov", - "text" - ] - } -} diff --git a/electron/src/node_modules/is-buffer/README.md b/electron/src/node_modules/is-buffer/README.md deleted file mode 100755 index cce0a8c..0000000 --- a/electron/src/node_modules/is-buffer/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# is-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url] - -[travis-image]: https://img.shields.io/travis/feross/is-buffer/master.svg -[travis-url]: https://travis-ci.org/feross/is-buffer -[npm-image]: https://img.shields.io/npm/v/is-buffer.svg -[npm-url]: https://npmjs.org/package/is-buffer -[downloads-image]: https://img.shields.io/npm/dm/is-buffer.svg -[downloads-url]: https://npmjs.org/package/is-buffer -[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg -[standard-url]: https://standardjs.com - -#### Determine if an object is a [`Buffer`](http://nodejs.org/api/buffer.html) (including the [browserify Buffer](https://github.com/feross/buffer)) - -[![saucelabs][saucelabs-image]][saucelabs-url] - -[saucelabs-image]: https://saucelabs.com/browser-matrix/is-buffer.svg -[saucelabs-url]: https://saucelabs.com/u/is-buffer - -## Why not use `Buffer.isBuffer`? - -This module lets you check if an object is a `Buffer` without using `Buffer.isBuffer` (which includes the whole [buffer](https://github.com/feross/buffer) module in [browserify](http://browserify.org/)). - -It's future-proof and works in node too! - -## install - -```bash -npm install is-buffer -``` - -## usage - -```js -var isBuffer = require('is-buffer') - -isBuffer(new Buffer(4)) // true - -isBuffer(undefined) // false -isBuffer(null) // false -isBuffer('') // false -isBuffer(true) // false -isBuffer(false) // false -isBuffer(0) // false -isBuffer(1) // false -isBuffer(1.0) // false -isBuffer('string') // false -isBuffer({}) // false -isBuffer(function foo () {}) // false -``` - -## license - -MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org). diff --git a/electron/src/node_modules/is-buffer/index.js b/electron/src/node_modules/is-buffer/index.js deleted file mode 100755 index 9cce396..0000000 --- a/electron/src/node_modules/is-buffer/index.js +++ /dev/null @@ -1,21 +0,0 @@ -/*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */ - -// The _isBuffer check is for Safari 5-7 support, because it's missing -// Object.prototype.constructor. Remove this eventually -module.exports = function (obj) { - return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer) -} - -function isBuffer (obj) { - return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) -} - -// For Node v0.10 support. Remove this eventually. -function isSlowBuffer (obj) { - return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0)) -} diff --git a/electron/src/node_modules/is-buffer/package.json b/electron/src/node_modules/is-buffer/package.json deleted file mode 100755 index ea12137..0000000 --- a/electron/src/node_modules/is-buffer/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "is-buffer", - "description": "Determine if an object is a Buffer", - "version": "1.1.6", - "author": { - "name": "Feross Aboukhadijeh", - "email": "feross@feross.org", - "url": "http://feross.org/" - }, - "bugs": { - "url": "https://github.com/feross/is-buffer/issues" - }, - "dependencies": {}, - "devDependencies": { - "standard": "*", - "tape": "^4.0.0", - "zuul": "^3.0.0" - }, - "keywords": [ - "buffer", - "buffers", - "type", - "core buffer", - "browser buffer", - "browserify", - "typed array", - "uint32array", - "int16array", - "int32array", - "float32array", - "float64array", - "browser", - "arraybuffer", - "dataview" - ], - "license": "MIT", - "main": "index.js", - "repository": { - "type": "git", - "url": "git://github.com/feross/is-buffer.git" - }, - "scripts": { - "test": "standard && npm run test-node && npm run test-browser", - "test-browser": "zuul -- test/*.js", - "test-browser-local": "zuul --local -- test/*.js", - "test-node": "tape test/*.js" - }, - "testling": { - "files": "test/*.js" - } -} diff --git a/electron/src/node_modules/is-buffer/test/basic.js b/electron/src/node_modules/is-buffer/test/basic.js deleted file mode 100755 index be4f8e4..0000000 --- a/electron/src/node_modules/is-buffer/test/basic.js +++ /dev/null @@ -1,24 +0,0 @@ -var isBuffer = require('../') -var test = require('tape') - -test('is-buffer', function (t) { - t.equal(isBuffer(Buffer.alloc(4)), true, 'new Buffer(4)') - t.equal(isBuffer(Buffer.allocUnsafeSlow(100)), true, 'SlowBuffer(100)') - - t.equal(isBuffer(undefined), false, 'undefined') - t.equal(isBuffer(null), false, 'null') - t.equal(isBuffer(''), false, 'empty string') - t.equal(isBuffer(true), false, 'true') - t.equal(isBuffer(false), false, 'false') - t.equal(isBuffer(0), false, '0') - t.equal(isBuffer(1), false, '1') - t.equal(isBuffer(1.0), false, '1.0') - t.equal(isBuffer('string'), false, 'string') - t.equal(isBuffer({}), false, '{}') - t.equal(isBuffer([]), false, '[]') - t.equal(isBuffer(function foo () {}), false, 'function foo () {}') - t.equal(isBuffer({ isBuffer: null }), false, '{ isBuffer: null }') - t.equal(isBuffer({ isBuffer: function () { throw new Error() } }), false, '{ isBuffer: function () { throw new Error() } }') - - t.end() -}) diff --git a/electron/src/node_modules/is-plain-obj/index.js b/electron/src/node_modules/is-plain-obj/index.js deleted file mode 100755 index 0d1ba9e..0000000 --- a/electron/src/node_modules/is-plain-obj/index.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; -var toString = Object.prototype.toString; - -module.exports = function (x) { - var prototype; - return toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({})); -}; diff --git a/electron/src/node_modules/is-plain-obj/license b/electron/src/node_modules/is-plain-obj/license deleted file mode 100755 index 654d0bf..0000000 --- a/electron/src/node_modules/is-plain-obj/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/electron/src/node_modules/is-plain-obj/package.json b/electron/src/node_modules/is-plain-obj/package.json deleted file mode 100755 index d331f6e..0000000 --- a/electron/src/node_modules/is-plain-obj/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "is-plain-obj", - "version": "1.1.0", - "description": "Check if a value is a plain object", - "license": "MIT", - "repository": "sindresorhus/is-plain-obj", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "test": "node test.js" - }, - "files": [ - "index.js" - ], - "keywords": [ - "obj", - "object", - "is", - "check", - "test", - "type", - "plain", - "vanilla", - "pure", - "simple" - ], - "devDependencies": { - "ava": "0.0.4" - } -} diff --git a/electron/src/node_modules/is-plain-obj/readme.md b/electron/src/node_modules/is-plain-obj/readme.md deleted file mode 100755 index 269e56a..0000000 --- a/electron/src/node_modules/is-plain-obj/readme.md +++ /dev/null @@ -1,35 +0,0 @@ -# is-plain-obj [![Build Status](https://travis-ci.org/sindresorhus/is-plain-obj.svg?branch=master)](https://travis-ci.org/sindresorhus/is-plain-obj) - -> Check if a value is a plain object - -An object is plain if it's created by either `{}`, `new Object()` or `Object.create(null)`. - - -## Install - -``` -$ npm install --save is-plain-obj -``` - - -## Usage - -```js -var isPlainObj = require('is-plain-obj'); - -isPlainObj({foo: 'bar'}); -//=> true - -isPlainObj([1, 2, 3]); -//=> false -``` - - -## Related - -- [is-obj](https://github.com/sindresorhus/is-obj) - Check if a value is an object - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/electron/src/node_modules/keyboardevent-from-electron-accelerator/README.md b/electron/src/node_modules/keyboardevent-from-electron-accelerator/README.md deleted file mode 100755 index 65d66ee..0000000 --- a/electron/src/node_modules/keyboardevent-from-electron-accelerator/README.md +++ /dev/null @@ -1,66 +0,0 @@ -# keyboardevent-from-electron-accelerator - -[![Travis Build Status](https://img.shields.io/travis/parro-it/keyboardevent-from-electron-accelerator/master.svg)](http://travis-ci.org/parro-it/keyboardevent-from-electron-accelerator) -[![NPM downloads](https://img.shields.io/npm/dt/keyboardevent-from-electron-accelerator.svg)](https://npmjs.org/package/keyboardevent-from-electron-accelerator) - -> Transform an Electron Accelerator string into a DOM KeyboardEvent. - -This module export a function that take an Electron Accelerator as input -and return a corresponding KeyboardEvent object. - -E.g. `'Ctrl+Alt+C' => {code: 'c', ctrlKey: true, altKey: true}` - -## Usage - -This example convert a string containing an Electron Accelerator to a corresponding KeyboardEvent object. Returned object is the keyevent that would be emitted if that key combination was pressed. - -```js -const {toKeyEvent} = require('keyboardevent-from-electron-accelerator'); -console.log(toKeyEvent('Shift+Delete')); -``` - -This will output - - {key: 'Delete', shiftKey: true} - -## Context and motivation for this module. - -This module is part of an ongoing effort to make [electron-localshortcut](https://github.com/parro-it/electron-localshortcut) less error prone, using keyboard DOM listener instead of 'globalShortcut' method to trigger shortcuts handlers. - -`electron-localshortcut` will listen for DOM `keydown` and `keyup` events, and will -trigger shortcuts handlers if emitted DOM events match the Accelerator. - -This module wrap the core logic of that match operation. - -You can help by testing the module on [runkit](https://npm.runkit.com/keyboardevent-from-electron-accelerator) and [opening an issue](https://github.com/parro-it/keyboardevent-from-electron-accelerator/issues/new) if you found some wrong -result. - - -## API - - - -### toKeyEvent - -This function transform an Electron Accelerator string into -a DOM KeyboardEvent object. - -**Parameters** - -- `accelerator` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** an Electron Accelerator string, e.g. `Ctrl+C` or `Shift+Space`. - -Returns **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** a DOM KeyboardEvent object derivate from the `accelerator` argument. - -## Install - -With [npm](https://npmjs.org/) installed, run - - $ npm install keyboardevent-from-electron-accelerator - -## See Also - -- [`noffle/common-readme`](https://github.com/noffle/common-readme) - -## License - -MIT diff --git a/electron/src/node_modules/keyboardevent-from-electron-accelerator/example.js b/electron/src/node_modules/keyboardevent-from-electron-accelerator/example.js deleted file mode 100755 index f13adb3..0000000 --- a/electron/src/node_modules/keyboardevent-from-electron-accelerator/example.js +++ /dev/null @@ -1,5 +0,0 @@ -const {toKeyEvent} = require('keyboardevent-from-electron-accelerator'); -console.log(toKeyEvent('Ctrl+Shift+V')); -console.log(toKeyEvent('Control+c')); -console.log(toKeyEvent('Alt+Delete')); - diff --git a/electron/src/node_modules/keyboardevent-from-electron-accelerator/index.js b/electron/src/node_modules/keyboardevent-from-electron-accelerator/index.js deleted file mode 100755 index a07e20a..0000000 --- a/electron/src/node_modules/keyboardevent-from-electron-accelerator/index.js +++ /dev/null @@ -1,195 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -const modifiers = /^(CommandOrControl|CmdOrCtrl|Command|Cmd|Control|Ctrl|Alt|Option|AltGr|Shift|Super)/i; -const keyCodes = /^(Plus|Space|Tab|Backspace|Delete|Insert|Return|Enter|Up|Down|Left|Right|Home|End|PageUp|PageDown|Escape|Esc|VolumeUp|VolumeDown|VolumeMute|MediaNextTrack|MediaPreviousTrack|MediaStop|MediaPlayPause|PrintScreen|F24|F23|F22|F21|F20|F19|F18|F17|F16|F15|F14|F13|F12|F11|F10|F9|F8|F7|F6|F5|F4|F3|F2|F1|[0-9A-Z)!@#$%^&*(:+<_>?~{|}";=,\-./`[\\\]'])/i; - -function reduceModifier({accelerator, event}, modifier) { - switch (modifier) { - case 'command': - case 'cmd': { - if (event.metaKey) { - throw new Error('Double `Command` modifier specified.'); - } - - return { - event: Object.assign({}, event, {metaKey: true}), - accelerator: accelerator.slice(modifier.length) - }; - } - case 'super': { - if (event.metaKey) { - throw new Error('Double `Super` modifier specified.'); - } - - return { - event: Object.assign({}, event, {metaKey: true}), - accelerator: accelerator.slice(modifier.length) - }; - } - case 'control': - case 'ctrl': { - if (event.ctrlKey) { - throw new Error('Double `Control` modifier specified.'); - } - - return { - event: Object.assign({}, event, {ctrlKey: true}), - accelerator: accelerator.slice(modifier.length) - }; - } - case 'commandorcontrol': - case 'cmdorctrl': { - if (process.platform === 'darwin') { - if (event.metaKey) { - throw new Error('Double `Command` modifier specified.'); - } - - return { - event: Object.assign({}, event, {metaKey: true}), - accelerator: accelerator.slice(modifier.length) - }; - } - - if (event.ctrlKey) { - throw new Error('Double `Control` modifier specified.'); - } - - return { - event: Object.assign({}, event, {ctrlKey: true}), - accelerator: accelerator.slice(modifier.length) - }; - } - case 'option': - case 'altgr': - case 'alt': { - if (event.altKey) { - throw new Error('Double `Alt` modifier specified.'); - } - - return { - event: Object.assign({}, event, {altKey: true}), - accelerator: accelerator.slice(modifier.length) - }; - } - case 'shift': { - if (event.shiftKey) { - throw new Error('Double `Shift` modifier specified.'); - } - - return { - event: Object.assign({}, event, {shiftKey: true}), - accelerator: accelerator.slice(modifier.length) - }; - } - - default: - console.error(modifier); - } -} - -function reducePlus({accelerator, event}) { - return { - event, - accelerator: accelerator.trim().slice(1) - }; -} - -function reduceKey({accelerator, event}, key) { - return { - event: Object.assign({}, event, {key}), - accelerator: accelerator.trim().slice(key.length) - }; -} - -const domKeys = Object.assign(Object.create(null), { - plus: 'Add', - space: ' ', - tab: 'Tab', - backspace: 'Backspace', - delete: 'Delete', - insert: 'Insert', - return: 'Return', - enter: 'Return', - up: 'ArrowUp', - down: 'ArrowDown', - left: 'ArrowLeft', - right: 'ArrowRight', - home: 'Home', - end: 'End', - pageup: 'PageUp', - pagedown: 'PageDown', - escape: 'Escape', - esc: 'Escape', - volumeup: 'AudioVolumeUp', - volumedown: 'AudioVolumeDown', - volumemute: 'AudioVolumeMute', - medianexttrack: 'MediaTrackNext', - mediaprevioustrack: 'MediaTrackPrevious', - mediastop: 'MediaStop', - mediaplaypause: 'MediaPlayPause', - printscreen: 'PrintScreen' -}); - -// Add function keys -for (let i = 1; i <= 24; i++) { - domKeys[`f${i}`] = `F${i}`; -} - -function reduceCode({accelerator, event}, {code, key}) { - return { - event: Object.assign({}, event, {key}, code ? {code} : null), - accelerator: accelerator.trim().slice((key && key.length) || 0) - }; -} - -/** - * This function transform an Electron Accelerator string into - * a DOM KeyboardEvent object. - * - * @param {string} accelerator an Electron Accelerator string, e.g. `Ctrl+C` or `Shift+Space`. - * @return {object} a DOM KeyboardEvent object derivate from the `accelerator` argument. - */ -function toKeyEvent(accelerator) { - let state = {accelerator, event: {}}; - while (state.accelerator !== '') { - const modifierMatch = state.accelerator.match(modifiers); - if (modifierMatch) { - const modifier = modifierMatch[0].toLowerCase(); - state = reduceModifier(state, modifier); - } else if (state.accelerator.trim()[0] === '+') { - state = reducePlus(state); - } else { - const codeMatch = state.accelerator.match(keyCodes); - if (codeMatch) { - const code = codeMatch[0].toLowerCase(); - if (code in domKeys) { - state = reduceCode(state, { - code: domKeys[code], - key: code - }); - } else { - state = reduceKey(state, code); - } - } else { - throw new Error(`Unvalid accelerator: "${state.accelerator}"`); - } - } - } - return state.event; -} - -function match(accelerator, keyEvent) { - if (toKeyEvent(accelerator).code === keyEvent.code) { - return true; - } - return false; -} - -exports.reduceModifier = reduceModifier; -exports.reducePlus = reducePlus; -exports.reduceKey = reduceKey; -exports.reduceCode = reduceCode; -exports.toKeyEvent = toKeyEvent; -exports.match = match; diff --git a/electron/src/node_modules/keyboardevent-from-electron-accelerator/package.json b/electron/src/node_modules/keyboardevent-from-electron-accelerator/package.json deleted file mode 100755 index 7e481d7..0000000 --- a/electron/src/node_modules/keyboardevent-from-electron-accelerator/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "keyboardevent-from-electron-accelerator", - "version": "0.7.1", - "description": "Transform an Electron Accelerator string into a DOM KeyboardEvent.", - "repository": "parro-it/keyboardevent-from-electron-accelerator", - "author": "Andrea ", - "license": "MIT", - "files": [ - "index.js", - "example.js" - ], - "scripts": { - "test": "rollup -c && ava && xo --ignore example.js --ignore index.js", - "doc": "documentation readme main.js --section=API" - }, - "keywords": [], - "tonicExampleFilename": "example.js", - "devDependencies": { - "ava": "^0.19.1", - "documentation": "^4.0.0-rc.1", - "rollup": "^0.43.0", - "xo": "^0.18.2" - } -} diff --git a/electron/src/node_modules/keyboardevents-areequal/README.md b/electron/src/node_modules/keyboardevents-areequal/README.md deleted file mode 100755 index 8923ae2..0000000 --- a/electron/src/node_modules/keyboardevents-areequal/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# keyboardevents-areequal - -[![Travis Build Status](https://img.shields.io/travis/parro-it/keyboardevents-areequal/master.svg)](http://travis-ci.org/parro-it/keyboardevents-areequal) -[![NPM downloads](https://img.shields.io/npm/dt/keyboardevents-areequal.svg)](https://npmjs.org/package/keyboardevents-areequal) - -> Check if two keyboardevents objects are equals. - -This module is part of an ongoing effort to make [electron-localshortcut](https://github.com/parro-it/electron-localshortcut) less error prone, using keyboard DOM listener instead of 'globalShortcut' method to trigger shortcuts handlers. - -## Usage - -This example check if various KeyboardEvent objects represents the same event: - -```js -const areEqual = require('keyboardevents-areequal'); - -console.log(areEqual({ctrlKey: true, code: 'f'}, {ctrlKey: true, code: 'f'})); -// true - -console.log(areEqual({code: 'f'}, {ctrlKey: true, code: 'f'})); -// false -``` - - -## API - -## Install - -With [npm](https://npmjs.org/) installed, run - -```bash -npm install --save keyboardevents-areequal -``` - -## See Also - -- [`noffle/common-readme`](https://github.com/noffle/common-readme) - -## License - -MIT - diff --git a/electron/src/node_modules/keyboardevents-areequal/example.js b/electron/src/node_modules/keyboardevents-areequal/example.js deleted file mode 100755 index 5402d9e..0000000 --- a/electron/src/node_modules/keyboardevents-areequal/example.js +++ /dev/null @@ -1,4 +0,0 @@ -const keyboardeventsAreequal = require('keyboardevents-areequal'); - -console.log({keyboardeventsAreequal}); - diff --git a/electron/src/node_modules/keyboardevents-areequal/index.js b/electron/src/node_modules/keyboardevents-areequal/index.js deleted file mode 100755 index 041e4aa..0000000 --- a/electron/src/node_modules/keyboardevents-areequal/index.js +++ /dev/null @@ -1,39 +0,0 @@ -'use strict'; - -function _lower(key) { - if (typeof key !== 'string') { - return key; - } - return key.toLowerCase(); -} - -function areEqual(ev1, ev2) { - if (ev1 === ev2) { - // Same object - // console.log(`Events are same.`) - return true; - } - - for (const prop of ['altKey', 'ctrlKey', 'shiftKey', 'metaKey']) { - const [value1, value2] = [ev1[prop], ev2[prop]]; - - if (Boolean(value1) !== Boolean(value2)) { - // One of the prop is different - // console.log(`Comparing prop ${prop}: ${value1} ${value2}`); - return false; - } - } - - if ((_lower(ev1.key) === _lower(ev2.key) && ev1.key !== undefined) || - (ev1.code === ev2.code && ev1.code !== undefined)) { - // Events are equals - return true; - } - - // Key or code are differents - // console.log(`key or code are differents. ${ev1.key} !== ${ev2.key} ${ev1.code} !== ${ev2.code}`); - - return false; -} - -module.exports = areEqual; diff --git a/electron/src/node_modules/keyboardevents-areequal/package.json b/electron/src/node_modules/keyboardevents-areequal/package.json deleted file mode 100755 index 29baa06..0000000 --- a/electron/src/node_modules/keyboardevents-areequal/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "keyboardevents-areequal", - "version": "0.2.2", - "description": "Check if two keyboardevents objects are equals.", - "repository": "parro-it/keyboardevents-areequal", - "author": "Andrea ", - "license": "MIT", - "files": [ - "index.js", - "example.js" - ], - "scripts": { - "test": "rollup -c && ava && xo --ignore example.js --ignore index.js", - "doc": "documentation readme main.js --section=API" - }, - "keywords": [], - "tonicExampleFilename": "example.js", - "devDependencies": { - "ava": "^0.20.0", - "documentation": "^4.0.0-rc.1", - "rollup": "^0.43.0", - "xo": "^0.18.2" - } -} diff --git a/electron/src/node_modules/mime-db/HISTORY.md b/electron/src/node_modules/mime-db/HISTORY.md deleted file mode 100755 index 7e60975..0000000 --- a/electron/src/node_modules/mime-db/HISTORY.md +++ /dev/null @@ -1,360 +0,0 @@ -1.32.0 / 2017-11-29 -=================== - - * Add new upstream MIME types - * Update `text/hjson` to registered `application/hjson` - * Add `text/shex` with extension `.shex` - -1.31.0 / 2017-10-25 -=================== - - * Add `application/raml+yaml` with extension `.raml` - * Add `application/wasm` with extension `.wasm` - * Add new `font` type from IANA - * Add new upstream font extensions - * Add new upstream MIME types - * Add extensions for JPEG-2000 images - -1.30.0 / 2017-08-27 -=================== - - * Add `application/vnd.ms-outlook` - * Add `application/x-arj` - * Add extension `.mjs` to `application/javascript` - * Add glTF types and extensions - * Add new upstream MIME types - * Add `text/x-org` - * Add VirtualBox MIME types - * Fix `source` records for `video/*` types that are IANA - * Update `font/opentype` to registered `font/otf` - -1.29.0 / 2017-07-10 -=================== - - * Add `application/fido.trusted-apps+json` - * Add extension `.wadl` to `application/vnd.sun.wadl+xml` - * Add new upstream MIME types - * Add `UTF-8` as default charset for `text/css` - -1.28.0 / 2017-05-14 -=================== - - * Add new upstream MIME types - * Add extension `.gz` to `application/gzip` - * Update extensions `.md` and `.markdown` to be `text/markdown` - -1.27.0 / 2017-03-16 -=================== - - * Add new upstream MIME types - * Add `image/apng` with extension `.apng` - -1.26.0 / 2017-01-14 -=================== - - * Add new upstream MIME types - * Add extension `.geojson` to `application/geo+json` - -1.25.0 / 2016-11-11 -=================== - - * Add new upstream MIME types - -1.24.0 / 2016-09-18 -=================== - - * Add `audio/mp3` - * Add new upstream MIME types - -1.23.0 / 2016-05-01 -=================== - - * Add new upstream MIME types - * Add extension `.3gpp` to `audio/3gpp` - -1.22.0 / 2016-02-15 -=================== - - * Add `text/slim` - * Add extension `.rng` to `application/xml` - * Add new upstream MIME types - * Fix extension of `application/dash+xml` to be `.mpd` - * Update primary extension to `.m4a` for `audio/mp4` - -1.21.0 / 2016-01-06 -=================== - - * Add Google document types - * Add new upstream MIME types - -1.20.0 / 2015-11-10 -=================== - - * Add `text/x-suse-ymp` - * Add new upstream MIME types - -1.19.0 / 2015-09-17 -=================== - - * Add `application/vnd.apple.pkpass` - * Add new upstream MIME types - -1.18.0 / 2015-09-03 -=================== - - * Add new upstream MIME types - -1.17.0 / 2015-08-13 -=================== - - * Add `application/x-msdos-program` - * Add `audio/g711-0` - * Add `image/vnd.mozilla.apng` - * Add extension `.exe` to `application/x-msdos-program` - -1.16.0 / 2015-07-29 -=================== - - * Add `application/vnd.uri-map` - -1.15.0 / 2015-07-13 -=================== - - * Add `application/x-httpd-php` - -1.14.0 / 2015-06-25 -=================== - - * Add `application/scim+json` - * Add `application/vnd.3gpp.ussd+xml` - * Add `application/vnd.biopax.rdf+xml` - * Add `text/x-processing` - -1.13.0 / 2015-06-07 -=================== - - * Add nginx as a source - * Add `application/x-cocoa` - * Add `application/x-java-archive-diff` - * Add `application/x-makeself` - * Add `application/x-perl` - * Add `application/x-pilot` - * Add `application/x-redhat-package-manager` - * Add `application/x-sea` - * Add `audio/x-m4a` - * Add `audio/x-realaudio` - * Add `image/x-jng` - * Add `text/mathml` - -1.12.0 / 2015-06-05 -=================== - - * Add `application/bdoc` - * Add `application/vnd.hyperdrive+json` - * Add `application/x-bdoc` - * Add extension `.rtf` to `text/rtf` - -1.11.0 / 2015-05-31 -=================== - - * Add `audio/wav` - * Add `audio/wave` - * Add extension `.litcoffee` to `text/coffeescript` - * Add extension `.sfd-hdstx` to `application/vnd.hydrostatix.sof-data` - * Add extension `.n-gage` to `application/vnd.nokia.n-gage.symbian.install` - -1.10.0 / 2015-05-19 -=================== - - * Add `application/vnd.balsamiq.bmpr` - * Add `application/vnd.microsoft.portable-executable` - * Add `application/x-ns-proxy-autoconfig` - -1.9.1 / 2015-04-19 -================== - - * Remove `.json` extension from `application/manifest+json` - - This is causing bugs downstream - -1.9.0 / 2015-04-19 -================== - - * Add `application/manifest+json` - * Add `application/vnd.micro+json` - * Add `image/vnd.zbrush.pcx` - * Add `image/x-ms-bmp` - -1.8.0 / 2015-03-13 -================== - - * Add `application/vnd.citationstyles.style+xml` - * Add `application/vnd.fastcopy-disk-image` - * Add `application/vnd.gov.sk.xmldatacontainer+xml` - * Add extension `.jsonld` to `application/ld+json` - -1.7.0 / 2015-02-08 -================== - - * Add `application/vnd.gerber` - * Add `application/vnd.msa-disk-image` - -1.6.1 / 2015-02-05 -================== - - * Community extensions ownership transferred from `node-mime` - -1.6.0 / 2015-01-29 -================== - - * Add `application/jose` - * Add `application/jose+json` - * Add `application/json-seq` - * Add `application/jwk+json` - * Add `application/jwk-set+json` - * Add `application/jwt` - * Add `application/rdap+json` - * Add `application/vnd.gov.sk.e-form+xml` - * Add `application/vnd.ims.imsccv1p3` - -1.5.0 / 2014-12-30 -================== - - * Add `application/vnd.oracle.resource+json` - * Fix various invalid MIME type entries - - `application/mbox+xml` - - `application/oscp-response` - - `application/vwg-multiplexed` - - `audio/g721` - -1.4.0 / 2014-12-21 -================== - - * Add `application/vnd.ims.imsccv1p2` - * Fix various invalid MIME type entries - - `application/vnd-acucobol` - - `application/vnd-curl` - - `application/vnd-dart` - - `application/vnd-dxr` - - `application/vnd-fdf` - - `application/vnd-mif` - - `application/vnd-sema` - - `application/vnd-wap-wmlc` - - `application/vnd.adobe.flash-movie` - - `application/vnd.dece-zip` - - `application/vnd.dvb_service` - - `application/vnd.micrografx-igx` - - `application/vnd.sealed-doc` - - `application/vnd.sealed-eml` - - `application/vnd.sealed-mht` - - `application/vnd.sealed-ppt` - - `application/vnd.sealed-tiff` - - `application/vnd.sealed-xls` - - `application/vnd.sealedmedia.softseal-html` - - `application/vnd.sealedmedia.softseal-pdf` - - `application/vnd.wap-slc` - - `application/vnd.wap-wbxml` - - `audio/vnd.sealedmedia.softseal-mpeg` - - `image/vnd-djvu` - - `image/vnd-svf` - - `image/vnd-wap-wbmp` - - `image/vnd.sealed-png` - - `image/vnd.sealedmedia.softseal-gif` - - `image/vnd.sealedmedia.softseal-jpg` - - `model/vnd-dwf` - - `model/vnd.parasolid.transmit-binary` - - `model/vnd.parasolid.transmit-text` - - `text/vnd-a` - - `text/vnd-curl` - - `text/vnd.wap-wml` - * Remove example template MIME types - - `application/example` - - `audio/example` - - `image/example` - - `message/example` - - `model/example` - - `multipart/example` - - `text/example` - - `video/example` - -1.3.1 / 2014-12-16 -================== - - * Fix missing extensions - - `application/json5` - - `text/hjson` - -1.3.0 / 2014-12-07 -================== - - * Add `application/a2l` - * Add `application/aml` - * Add `application/atfx` - * Add `application/atxml` - * Add `application/cdfx+xml` - * Add `application/dii` - * Add `application/json5` - * Add `application/lxf` - * Add `application/mf4` - * Add `application/vnd.apache.thrift.compact` - * Add `application/vnd.apache.thrift.json` - * Add `application/vnd.coffeescript` - * Add `application/vnd.enphase.envoy` - * Add `application/vnd.ims.imsccv1p1` - * Add `text/csv-schema` - * Add `text/hjson` - * Add `text/markdown` - * Add `text/yaml` - -1.2.0 / 2014-11-09 -================== - - * Add `application/cea` - * Add `application/dit` - * Add `application/vnd.gov.sk.e-form+zip` - * Add `application/vnd.tmd.mediaflex.api+xml` - * Type `application/epub+zip` is now IANA-registered - -1.1.2 / 2014-10-23 -================== - - * Rebuild database for `application/x-www-form-urlencoded` change - -1.1.1 / 2014-10-20 -================== - - * Mark `application/x-www-form-urlencoded` as compressible. - -1.1.0 / 2014-09-28 -================== - - * Add `application/font-woff2` - -1.0.3 / 2014-09-25 -================== - - * Fix engine requirement in package - -1.0.2 / 2014-09-25 -================== - - * Add `application/coap-group+json` - * Add `application/dcd` - * Add `application/vnd.apache.thrift.binary` - * Add `image/vnd.tencent.tap` - * Mark all JSON-derived types as compressible - * Update `text/vtt` data - -1.0.1 / 2014-08-30 -================== - - * Fix extension ordering - -1.0.0 / 2014-08-30 -================== - - * Add `application/atf` - * Add `application/merge-patch+json` - * Add `multipart/x-mixed-replace` - * Add `source: 'apache'` metadata - * Add `source: 'iana'` metadata - * Remove badly-assumed charset data diff --git a/electron/src/node_modules/mime-db/README.md b/electron/src/node_modules/mime-db/README.md deleted file mode 100755 index 2416c6d..0000000 --- a/electron/src/node_modules/mime-db/README.md +++ /dev/null @@ -1,94 +0,0 @@ -# mime-db - -[![NPM Version][npm-version-image]][npm-url] -[![NPM Downloads][npm-downloads-image]][npm-url] -[![Node.js Version][node-image]][node-url] -[![Build Status][travis-image]][travis-url] -[![Coverage Status][coveralls-image]][coveralls-url] - -This is a database of all mime types. -It consists of a single, public JSON file and does not include any logic, -allowing it to remain as un-opinionated as possible with an API. -It aggregates data from the following sources: - -- http://www.iana.org/assignments/media-types/media-types.xhtml -- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types -- http://hg.nginx.org/nginx/raw-file/default/conf/mime.types - -## Installation - -```bash -npm install mime-db -``` - -### Database Download - -If you're crazy enough to use this in the browser, you can just grab the -JSON file using [RawGit](https://rawgit.com/). It is recommended to replace -`master` with [a release tag](https://github.com/jshttp/mime-db/tags) as the -JSON format may change in the future. - -``` -https://cdn.rawgit.com/jshttp/mime-db/master/db.json -``` - -## Usage - -```js -var db = require('mime-db'); - -// grab data on .js files -var data = db['application/javascript']; -``` - -## Data Structure - -The JSON file is a map lookup for lowercased mime types. -Each mime type has the following properties: - -- `.source` - where the mime type is defined. - If not set, it's probably a custom media type. - - `apache` - [Apache common media types](http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types) - - `iana` - [IANA-defined media types](http://www.iana.org/assignments/media-types/media-types.xhtml) - - `nginx` - [nginx media types](http://hg.nginx.org/nginx/raw-file/default/conf/mime.types) -- `.extensions[]` - known extensions associated with this mime type. -- `.compressible` - whether a file of this type can be gzipped. -- `.charset` - the default charset associated with this type, if any. - -If unknown, every property could be `undefined`. - -## Contributing - -To edit the database, only make PRs against `src/custom.json` or -`src/custom-suffix.json`. - -The `src/custom.json` file is a JSON object with the MIME type as the keys -and the values being an object with the following keys: - -- `compressible` - leave out if you don't know, otherwise `true`/`false` for - if the data represented by the time is typically compressible. -- `extensions` - include an array of file extensions that are associated with - the type. -- `notes` - human-readable notes about the type, typically what the type is. -- `sources` - include an array of URLs of where the MIME type and the associated - extensions are sourced from. This needs to be a [primary source](https://en.wikipedia.org/wiki/Primary_source); - links to type aggregating sites and Wikipedia are _not acceptible_. - -To update the build, run `npm run build`. - -## Adding Custom Media Types - -The best way to get new media types included in this library is to register -them with the IANA. The community registration procedure is outlined in -[RFC 6838 section 5](http://tools.ietf.org/html/rfc6838#section-5). Types -registered with the IANA are automatically pulled into this library. - -[npm-version-image]: https://img.shields.io/npm/v/mime-db.svg -[npm-downloads-image]: https://img.shields.io/npm/dm/mime-db.svg -[npm-url]: https://npmjs.org/package/mime-db -[travis-image]: https://img.shields.io/travis/jshttp/mime-db/master.svg -[travis-url]: https://travis-ci.org/jshttp/mime-db -[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-db/master.svg -[coveralls-url]: https://coveralls.io/r/jshttp/mime-db?branch=master -[node-image]: https://img.shields.io/node/v/mime-db.svg -[node-url]: https://nodejs.org/en/download/ diff --git a/electron/src/node_modules/mime-db/db.json b/electron/src/node_modules/mime-db/db.json deleted file mode 100755 index e3143c0..0000000 --- a/electron/src/node_modules/mime-db/db.json +++ /dev/null @@ -1,7047 +0,0 @@ -{ - "application/1d-interleaved-parityfec": { - "source": "iana" - }, - "application/3gpdash-qoe-report+xml": { - "source": "iana" - }, - "application/3gpp-ims+xml": { - "source": "iana" - }, - "application/a2l": { - "source": "iana" - }, - "application/activemessage": { - "source": "iana" - }, - "application/alto-costmap+json": { - "source": "iana", - "compressible": true - }, - "application/alto-costmapfilter+json": { - "source": "iana", - "compressible": true - }, - "application/alto-directory+json": { - "source": "iana", - "compressible": true - }, - "application/alto-endpointcost+json": { - "source": "iana", - "compressible": true - }, - "application/alto-endpointcostparams+json": { - "source": "iana", - "compressible": true - }, - "application/alto-endpointprop+json": { - "source": "iana", - "compressible": true - }, - "application/alto-endpointpropparams+json": { - "source": "iana", - "compressible": true - }, - "application/alto-error+json": { - "source": "iana", - "compressible": true - }, - "application/alto-networkmap+json": { - "source": "iana", - "compressible": true - }, - "application/alto-networkmapfilter+json": { - "source": "iana", - "compressible": true - }, - "application/aml": { - "source": "iana" - }, - "application/andrew-inset": { - "source": "iana", - "extensions": ["ez"] - }, - "application/applefile": { - "source": "iana" - }, - "application/applixware": { - "source": "apache", - "extensions": ["aw"] - }, - "application/atf": { - "source": "iana" - }, - "application/atfx": { - "source": "iana" - }, - "application/atom+xml": { - "source": "iana", - "compressible": true, - "extensions": ["atom"] - }, - "application/atomcat+xml": { - "source": "iana", - "extensions": ["atomcat"] - }, - "application/atomdeleted+xml": { - "source": "iana" - }, - "application/atomicmail": { - "source": "iana" - }, - "application/atomsvc+xml": { - "source": "iana", - "extensions": ["atomsvc"] - }, - "application/atxml": { - "source": "iana" - }, - "application/auth-policy+xml": { - "source": "iana" - }, - "application/bacnet-xdd+zip": { - "source": "iana" - }, - "application/batch-smtp": { - "source": "iana" - }, - "application/bdoc": { - "compressible": false, - "extensions": ["bdoc"] - }, - "application/beep+xml": { - "source": "iana" - }, - "application/calendar+json": { - "source": "iana", - "compressible": true - }, - "application/calendar+xml": { - "source": "iana" - }, - "application/call-completion": { - "source": "iana" - }, - "application/cals-1840": { - "source": "iana" - }, - "application/cbor": { - "source": "iana" - }, - "application/cccex": { - "source": "iana" - }, - "application/ccmp+xml": { - "source": "iana" - }, - "application/ccxml+xml": { - "source": "iana", - "extensions": ["ccxml"] - }, - "application/cdfx+xml": { - "source": "iana" - }, - "application/cdmi-capability": { - "source": "iana", - "extensions": ["cdmia"] - }, - "application/cdmi-container": { - "source": "iana", - "extensions": ["cdmic"] - }, - "application/cdmi-domain": { - "source": "iana", - "extensions": ["cdmid"] - }, - "application/cdmi-object": { - "source": "iana", - "extensions": ["cdmio"] - }, - "application/cdmi-queue": { - "source": "iana", - "extensions": ["cdmiq"] - }, - "application/cdni": { - "source": "iana" - }, - "application/cea": { - "source": "iana" - }, - "application/cea-2018+xml": { - "source": "iana" - }, - "application/cellml+xml": { - "source": "iana" - }, - "application/cfw": { - "source": "iana" - }, - "application/clue_info+xml": { - "source": "iana" - }, - "application/cms": { - "source": "iana" - }, - "application/cnrp+xml": { - "source": "iana" - }, - "application/coap-group+json": { - "source": "iana", - "compressible": true - }, - "application/coap-payload": { - "source": "iana" - }, - "application/commonground": { - "source": "iana" - }, - "application/conference-info+xml": { - "source": "iana" - }, - "application/cose": { - "source": "iana" - }, - "application/cose-key": { - "source": "iana" - }, - "application/cose-key-set": { - "source": "iana" - }, - "application/cpl+xml": { - "source": "iana" - }, - "application/csrattrs": { - "source": "iana" - }, - "application/csta+xml": { - "source": "iana" - }, - "application/cstadata+xml": { - "source": "iana" - }, - "application/csvm+json": { - "source": "iana", - "compressible": true - }, - "application/cu-seeme": { - "source": "apache", - "extensions": ["cu"] - }, - "application/cybercash": { - "source": "iana" - }, - "application/dart": { - "compressible": true - }, - "application/dash+xml": { - "source": "iana", - "extensions": ["mpd"] - }, - "application/dashdelta": { - "source": "iana" - }, - "application/davmount+xml": { - "source": "iana", - "extensions": ["davmount"] - }, - "application/dca-rft": { - "source": "iana" - }, - "application/dcd": { - "source": "iana" - }, - "application/dec-dx": { - "source": "iana" - }, - "application/dialog-info+xml": { - "source": "iana" - }, - "application/dicom": { - "source": "iana" - }, - "application/dicom+json": { - "source": "iana", - "compressible": true - }, - "application/dicom+xml": { - "source": "iana" - }, - "application/dii": { - "source": "iana" - }, - "application/dit": { - "source": "iana" - }, - "application/dns": { - "source": "iana" - }, - "application/docbook+xml": { - "source": "apache", - "extensions": ["dbk"] - }, - "application/dskpp+xml": { - "source": "iana" - }, - "application/dssc+der": { - "source": "iana", - "extensions": ["dssc"] - }, - "application/dssc+xml": { - "source": "iana", - "extensions": ["xdssc"] - }, - "application/dvcs": { - "source": "iana" - }, - "application/ecmascript": { - "source": "iana", - "compressible": true, - "extensions": ["ecma"] - }, - "application/edi-consent": { - "source": "iana" - }, - "application/edi-x12": { - "source": "iana", - "compressible": false - }, - "application/edifact": { - "source": "iana", - "compressible": false - }, - "application/efi": { - "source": "iana" - }, - "application/emergencycalldata.comment+xml": { - "source": "iana" - }, - "application/emergencycalldata.control+xml": { - "source": "iana" - }, - "application/emergencycalldata.deviceinfo+xml": { - "source": "iana" - }, - "application/emergencycalldata.ecall.msd": { - "source": "iana" - }, - "application/emergencycalldata.providerinfo+xml": { - "source": "iana" - }, - "application/emergencycalldata.serviceinfo+xml": { - "source": "iana" - }, - "application/emergencycalldata.subscriberinfo+xml": { - "source": "iana" - }, - "application/emergencycalldata.veds+xml": { - "source": "iana" - }, - "application/emma+xml": { - "source": "iana", - "extensions": ["emma"] - }, - "application/emotionml+xml": { - "source": "iana" - }, - "application/encaprtp": { - "source": "iana" - }, - "application/epp+xml": { - "source": "iana" - }, - "application/epub+zip": { - "source": "iana", - "extensions": ["epub"] - }, - "application/eshop": { - "source": "iana" - }, - "application/exi": { - "source": "iana", - "extensions": ["exi"] - }, - "application/fastinfoset": { - "source": "iana" - }, - "application/fastsoap": { - "source": "iana" - }, - "application/fdt+xml": { - "source": "iana" - }, - "application/fido.trusted-apps+json": { - "compressible": true - }, - "application/fits": { - "source": "iana" - }, - "application/font-sfnt": { - "source": "iana" - }, - "application/font-tdpfr": { - "source": "iana", - "extensions": ["pfr"] - }, - "application/font-woff": { - "source": "iana", - "compressible": false, - "extensions": ["woff"] - }, - "application/font-woff2": { - "compressible": false, - "extensions": ["woff2"] - }, - "application/framework-attributes+xml": { - "source": "iana" - }, - "application/geo+json": { - "source": "iana", - "compressible": true, - "extensions": ["geojson"] - }, - "application/geo+json-seq": { - "source": "iana" - }, - "application/geoxacml+xml": { - "source": "iana" - }, - "application/gml+xml": { - "source": "iana", - "extensions": ["gml"] - }, - "application/gpx+xml": { - "source": "apache", - "extensions": ["gpx"] - }, - "application/gxf": { - "source": "apache", - "extensions": ["gxf"] - }, - "application/gzip": { - "source": "iana", - "compressible": false, - "extensions": ["gz"] - }, - "application/h224": { - "source": "iana" - }, - "application/held+xml": { - "source": "iana" - }, - "application/hjson": { - "extensions": ["hjson"] - }, - "application/http": { - "source": "iana" - }, - "application/hyperstudio": { - "source": "iana", - "extensions": ["stk"] - }, - "application/ibe-key-request+xml": { - "source": "iana" - }, - "application/ibe-pkg-reply+xml": { - "source": "iana" - }, - "application/ibe-pp-data": { - "source": "iana" - }, - "application/iges": { - "source": "iana" - }, - "application/im-iscomposing+xml": { - "source": "iana" - }, - "application/index": { - "source": "iana" - }, - "application/index.cmd": { - "source": "iana" - }, - "application/index.obj": { - "source": "iana" - }, - "application/index.response": { - "source": "iana" - }, - "application/index.vnd": { - "source": "iana" - }, - "application/inkml+xml": { - "source": "iana", - "extensions": ["ink","inkml"] - }, - "application/iotp": { - "source": "iana" - }, - "application/ipfix": { - "source": "iana", - "extensions": ["ipfix"] - }, - "application/ipp": { - "source": "iana" - }, - "application/isup": { - "source": "iana" - }, - "application/its+xml": { - "source": "iana" - }, - "application/java-archive": { - "source": "apache", - "compressible": false, - "extensions": ["jar","war","ear"] - }, - "application/java-serialized-object": { - "source": "apache", - "compressible": false, - "extensions": ["ser"] - }, - "application/java-vm": { - "source": "apache", - "compressible": false, - "extensions": ["class"] - }, - "application/javascript": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["js","mjs"] - }, - "application/jf2feed+json": { - "source": "iana", - "compressible": true - }, - "application/jose": { - "source": "iana" - }, - "application/jose+json": { - "source": "iana", - "compressible": true - }, - "application/jrd+json": { - "source": "iana", - "compressible": true - }, - "application/json": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["json","map"] - }, - "application/json-patch+json": { - "source": "iana", - "compressible": true - }, - "application/json-seq": { - "source": "iana" - }, - "application/json5": { - "extensions": ["json5"] - }, - "application/jsonml+json": { - "source": "apache", - "compressible": true, - "extensions": ["jsonml"] - }, - "application/jwk+json": { - "source": "iana", - "compressible": true - }, - "application/jwk-set+json": { - "source": "iana", - "compressible": true - }, - "application/jwt": { - "source": "iana" - }, - "application/kpml-request+xml": { - "source": "iana" - }, - "application/kpml-response+xml": { - "source": "iana" - }, - "application/ld+json": { - "source": "iana", - "compressible": true, - "extensions": ["jsonld"] - }, - "application/lgr+xml": { - "source": "iana" - }, - "application/link-format": { - "source": "iana" - }, - "application/load-control+xml": { - "source": "iana" - }, - "application/lost+xml": { - "source": "iana", - "extensions": ["lostxml"] - }, - "application/lostsync+xml": { - "source": "iana" - }, - "application/lxf": { - "source": "iana" - }, - "application/mac-binhex40": { - "source": "iana", - "extensions": ["hqx"] - }, - "application/mac-compactpro": { - "source": "apache", - "extensions": ["cpt"] - }, - "application/macwriteii": { - "source": "iana" - }, - "application/mads+xml": { - "source": "iana", - "extensions": ["mads"] - }, - "application/manifest+json": { - "charset": "UTF-8", - "compressible": true, - "extensions": ["webmanifest"] - }, - "application/marc": { - "source": "iana", - "extensions": ["mrc"] - }, - "application/marcxml+xml": { - "source": "iana", - "extensions": ["mrcx"] - }, - "application/mathematica": { - "source": "iana", - "extensions": ["ma","nb","mb"] - }, - "application/mathml+xml": { - "source": "iana", - "extensions": ["mathml"] - }, - "application/mathml-content+xml": { - "source": "iana" - }, - "application/mathml-presentation+xml": { - "source": "iana" - }, - "application/mbms-associated-procedure-description+xml": { - "source": "iana" - }, - "application/mbms-deregister+xml": { - "source": "iana" - }, - "application/mbms-envelope+xml": { - "source": "iana" - }, - "application/mbms-msk+xml": { - "source": "iana" - }, - "application/mbms-msk-response+xml": { - "source": "iana" - }, - "application/mbms-protection-description+xml": { - "source": "iana" - }, - "application/mbms-reception-report+xml": { - "source": "iana" - }, - "application/mbms-register+xml": { - "source": "iana" - }, - "application/mbms-register-response+xml": { - "source": "iana" - }, - "application/mbms-schedule+xml": { - "source": "iana" - }, - "application/mbms-user-service-description+xml": { - "source": "iana" - }, - "application/mbox": { - "source": "iana", - "extensions": ["mbox"] - }, - "application/media-policy-dataset+xml": { - "source": "iana" - }, - "application/media_control+xml": { - "source": "iana" - }, - "application/mediaservercontrol+xml": { - "source": "iana", - "extensions": ["mscml"] - }, - "application/merge-patch+json": { - "source": "iana", - "compressible": true - }, - "application/metalink+xml": { - "source": "apache", - "extensions": ["metalink"] - }, - "application/metalink4+xml": { - "source": "iana", - "extensions": ["meta4"] - }, - "application/mets+xml": { - "source": "iana", - "extensions": ["mets"] - }, - "application/mf4": { - "source": "iana" - }, - "application/mikey": { - "source": "iana" - }, - "application/mmt-usd+xml": { - "source": "iana" - }, - "application/mods+xml": { - "source": "iana", - "extensions": ["mods"] - }, - "application/moss-keys": { - "source": "iana" - }, - "application/moss-signature": { - "source": "iana" - }, - "application/mosskey-data": { - "source": "iana" - }, - "application/mosskey-request": { - "source": "iana" - }, - "application/mp21": { - "source": "iana", - "extensions": ["m21","mp21"] - }, - "application/mp4": { - "source": "iana", - "extensions": ["mp4s","m4p"] - }, - "application/mpeg4-generic": { - "source": "iana" - }, - "application/mpeg4-iod": { - "source": "iana" - }, - "application/mpeg4-iod-xmt": { - "source": "iana" - }, - "application/mrb-consumer+xml": { - "source": "iana" - }, - "application/mrb-publish+xml": { - "source": "iana" - }, - "application/msc-ivr+xml": { - "source": "iana" - }, - "application/msc-mixer+xml": { - "source": "iana" - }, - "application/msword": { - "source": "iana", - "compressible": false, - "extensions": ["doc","dot"] - }, - "application/mud+json": { - "source": "iana", - "compressible": true - }, - "application/mxf": { - "source": "iana", - "extensions": ["mxf"] - }, - "application/n-quads": { - "source": "iana" - }, - "application/n-triples": { - "source": "iana" - }, - "application/nasdata": { - "source": "iana" - }, - "application/news-checkgroups": { - "source": "iana" - }, - "application/news-groupinfo": { - "source": "iana" - }, - "application/news-transmission": { - "source": "iana" - }, - "application/nlsml+xml": { - "source": "iana" - }, - "application/nss": { - "source": "iana" - }, - "application/ocsp-request": { - "source": "iana" - }, - "application/ocsp-response": { - "source": "iana" - }, - "application/octet-stream": { - "source": "iana", - "compressible": false, - "extensions": ["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"] - }, - "application/oda": { - "source": "iana", - "extensions": ["oda"] - }, - "application/odx": { - "source": "iana" - }, - "application/oebps-package+xml": { - "source": "iana", - "extensions": ["opf"] - }, - "application/ogg": { - "source": "iana", - "compressible": false, - "extensions": ["ogx"] - }, - "application/omdoc+xml": { - "source": "apache", - "extensions": ["omdoc"] - }, - "application/onenote": { - "source": "apache", - "extensions": ["onetoc","onetoc2","onetmp","onepkg"] - }, - "application/oxps": { - "source": "iana", - "extensions": ["oxps"] - }, - "application/p2p-overlay+xml": { - "source": "iana" - }, - "application/parityfec": { - "source": "iana" - }, - "application/passport": { - "source": "iana" - }, - "application/patch-ops-error+xml": { - "source": "iana", - "extensions": ["xer"] - }, - "application/pdf": { - "source": "iana", - "compressible": false, - "extensions": ["pdf"] - }, - "application/pdx": { - "source": "iana" - }, - "application/pgp-encrypted": { - "source": "iana", - "compressible": false, - "extensions": ["pgp"] - }, - "application/pgp-keys": { - "source": "iana" - }, - "application/pgp-signature": { - "source": "iana", - "extensions": ["asc","sig"] - }, - "application/pics-rules": { - "source": "apache", - "extensions": ["prf"] - }, - "application/pidf+xml": { - "source": "iana" - }, - "application/pidf-diff+xml": { - "source": "iana" - }, - "application/pkcs10": { - "source": "iana", - "extensions": ["p10"] - }, - "application/pkcs12": { - "source": "iana" - }, - "application/pkcs7-mime": { - "source": "iana", - "extensions": ["p7m","p7c"] - }, - "application/pkcs7-signature": { - "source": "iana", - "extensions": ["p7s"] - }, - "application/pkcs8": { - "source": "iana", - "extensions": ["p8"] - }, - "application/pkix-attr-cert": { - "source": "iana", - "extensions": ["ac"] - }, - "application/pkix-cert": { - "source": "iana", - "extensions": ["cer"] - }, - "application/pkix-crl": { - "source": "iana", - "extensions": ["crl"] - }, - "application/pkix-pkipath": { - "source": "iana", - "extensions": ["pkipath"] - }, - "application/pkixcmp": { - "source": "iana", - "extensions": ["pki"] - }, - "application/pls+xml": { - "source": "iana", - "extensions": ["pls"] - }, - "application/poc-settings+xml": { - "source": "iana" - }, - "application/postscript": { - "source": "iana", - "compressible": true, - "extensions": ["ai","eps","ps"] - }, - "application/ppsp-tracker+json": { - "source": "iana", - "compressible": true - }, - "application/problem+json": { - "source": "iana", - "compressible": true - }, - "application/problem+xml": { - "source": "iana" - }, - "application/provenance+xml": { - "source": "iana" - }, - "application/prs.alvestrand.titrax-sheet": { - "source": "iana" - }, - "application/prs.cww": { - "source": "iana", - "extensions": ["cww"] - }, - "application/prs.hpub+zip": { - "source": "iana" - }, - "application/prs.nprend": { - "source": "iana" - }, - "application/prs.plucker": { - "source": "iana" - }, - "application/prs.rdf-xml-crypt": { - "source": "iana" - }, - "application/prs.xsf+xml": { - "source": "iana" - }, - "application/pskc+xml": { - "source": "iana", - "extensions": ["pskcxml"] - }, - "application/qsig": { - "source": "iana" - }, - "application/raml+yaml": { - "compressible": true, - "extensions": ["raml"] - }, - "application/raptorfec": { - "source": "iana" - }, - "application/rdap+json": { - "source": "iana", - "compressible": true - }, - "application/rdf+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rdf"] - }, - "application/reginfo+xml": { - "source": "iana", - "extensions": ["rif"] - }, - "application/relax-ng-compact-syntax": { - "source": "iana", - "extensions": ["rnc"] - }, - "application/remote-printing": { - "source": "iana" - }, - "application/reputon+json": { - "source": "iana", - "compressible": true - }, - "application/resource-lists+xml": { - "source": "iana", - "extensions": ["rl"] - }, - "application/resource-lists-diff+xml": { - "source": "iana", - "extensions": ["rld"] - }, - "application/rfc+xml": { - "source": "iana" - }, - "application/riscos": { - "source": "iana" - }, - "application/rlmi+xml": { - "source": "iana" - }, - "application/rls-services+xml": { - "source": "iana", - "extensions": ["rs"] - }, - "application/route-apd+xml": { - "source": "iana" - }, - "application/route-s-tsid+xml": { - "source": "iana" - }, - "application/route-usd+xml": { - "source": "iana" - }, - "application/rpki-ghostbusters": { - "source": "iana", - "extensions": ["gbr"] - }, - "application/rpki-manifest": { - "source": "iana", - "extensions": ["mft"] - }, - "application/rpki-publication": { - "source": "iana" - }, - "application/rpki-roa": { - "source": "iana", - "extensions": ["roa"] - }, - "application/rpki-updown": { - "source": "iana" - }, - "application/rsd+xml": { - "source": "apache", - "extensions": ["rsd"] - }, - "application/rss+xml": { - "source": "apache", - "compressible": true, - "extensions": ["rss"] - }, - "application/rtf": { - "source": "iana", - "compressible": true, - "extensions": ["rtf"] - }, - "application/rtploopback": { - "source": "iana" - }, - "application/rtx": { - "source": "iana" - }, - "application/samlassertion+xml": { - "source": "iana" - }, - "application/samlmetadata+xml": { - "source": "iana" - }, - "application/sbml+xml": { - "source": "iana", - "extensions": ["sbml"] - }, - "application/scaip+xml": { - "source": "iana" - }, - "application/scim+json": { - "source": "iana", - "compressible": true - }, - "application/scvp-cv-request": { - "source": "iana", - "extensions": ["scq"] - }, - "application/scvp-cv-response": { - "source": "iana", - "extensions": ["scs"] - }, - "application/scvp-vp-request": { - "source": "iana", - "extensions": ["spq"] - }, - "application/scvp-vp-response": { - "source": "iana", - "extensions": ["spp"] - }, - "application/sdp": { - "source": "iana", - "extensions": ["sdp"] - }, - "application/sep+xml": { - "source": "iana" - }, - "application/sep-exi": { - "source": "iana" - }, - "application/session-info": { - "source": "iana" - }, - "application/set-payment": { - "source": "iana" - }, - "application/set-payment-initiation": { - "source": "iana", - "extensions": ["setpay"] - }, - "application/set-registration": { - "source": "iana" - }, - "application/set-registration-initiation": { - "source": "iana", - "extensions": ["setreg"] - }, - "application/sgml": { - "source": "iana" - }, - "application/sgml-open-catalog": { - "source": "iana" - }, - "application/shf+xml": { - "source": "iana", - "extensions": ["shf"] - }, - "application/sieve": { - "source": "iana" - }, - "application/simple-filter+xml": { - "source": "iana" - }, - "application/simple-message-summary": { - "source": "iana" - }, - "application/simplesymbolcontainer": { - "source": "iana" - }, - "application/slate": { - "source": "iana" - }, - "application/smil": { - "source": "iana" - }, - "application/smil+xml": { - "source": "iana", - "extensions": ["smi","smil"] - }, - "application/smpte336m": { - "source": "iana" - }, - "application/soap+fastinfoset": { - "source": "iana" - }, - "application/soap+xml": { - "source": "iana", - "compressible": true - }, - "application/sparql-query": { - "source": "iana", - "extensions": ["rq"] - }, - "application/sparql-results+xml": { - "source": "iana", - "extensions": ["srx"] - }, - "application/spirits-event+xml": { - "source": "iana" - }, - "application/sql": { - "source": "iana" - }, - "application/srgs": { - "source": "iana", - "extensions": ["gram"] - }, - "application/srgs+xml": { - "source": "iana", - "extensions": ["grxml"] - }, - "application/sru+xml": { - "source": "iana", - "extensions": ["sru"] - }, - "application/ssdl+xml": { - "source": "apache", - "extensions": ["ssdl"] - }, - "application/ssml+xml": { - "source": "iana", - "extensions": ["ssml"] - }, - "application/tamp-apex-update": { - "source": "iana" - }, - "application/tamp-apex-update-confirm": { - "source": "iana" - }, - "application/tamp-community-update": { - "source": "iana" - }, - "application/tamp-community-update-confirm": { - "source": "iana" - }, - "application/tamp-error": { - "source": "iana" - }, - "application/tamp-sequence-adjust": { - "source": "iana" - }, - "application/tamp-sequence-adjust-confirm": { - "source": "iana" - }, - "application/tamp-status-query": { - "source": "iana" - }, - "application/tamp-status-response": { - "source": "iana" - }, - "application/tamp-update": { - "source": "iana" - }, - "application/tamp-update-confirm": { - "source": "iana" - }, - "application/tar": { - "compressible": true - }, - "application/tei+xml": { - "source": "iana", - "extensions": ["tei","teicorpus"] - }, - "application/thraud+xml": { - "source": "iana", - "extensions": ["tfi"] - }, - "application/timestamp-query": { - "source": "iana" - }, - "application/timestamp-reply": { - "source": "iana" - }, - "application/timestamped-data": { - "source": "iana", - "extensions": ["tsd"] - }, - "application/trig": { - "source": "iana" - }, - "application/ttml+xml": { - "source": "iana" - }, - "application/tve-trigger": { - "source": "iana" - }, - "application/ulpfec": { - "source": "iana" - }, - "application/urc-grpsheet+xml": { - "source": "iana" - }, - "application/urc-ressheet+xml": { - "source": "iana" - }, - "application/urc-targetdesc+xml": { - "source": "iana" - }, - "application/urc-uisocketdesc+xml": { - "source": "iana" - }, - "application/vcard+json": { - "source": "iana", - "compressible": true - }, - "application/vcard+xml": { - "source": "iana" - }, - "application/vemmi": { - "source": "iana" - }, - "application/vividence.scriptfile": { - "source": "apache" - }, - "application/vnd.1000minds.decision-model+xml": { - "source": "iana" - }, - "application/vnd.3gpp-prose+xml": { - "source": "iana" - }, - "application/vnd.3gpp-prose-pc3ch+xml": { - "source": "iana" - }, - "application/vnd.3gpp-v2x-local-service-information": { - "source": "iana" - }, - "application/vnd.3gpp.access-transfer-events+xml": { - "source": "iana" - }, - "application/vnd.3gpp.bsf+xml": { - "source": "iana" - }, - "application/vnd.3gpp.gmop+xml": { - "source": "iana" - }, - "application/vnd.3gpp.mcptt-affiliation-command+xml": { - "source": "iana" - }, - "application/vnd.3gpp.mcptt-floor-request+xml": { - "source": "iana" - }, - "application/vnd.3gpp.mcptt-info+xml": { - "source": "iana" - }, - "application/vnd.3gpp.mcptt-location-info+xml": { - "source": "iana" - }, - "application/vnd.3gpp.mcptt-mbms-usage-info+xml": { - "source": "iana" - }, - "application/vnd.3gpp.mcptt-signed+xml": { - "source": "iana" - }, - "application/vnd.3gpp.mid-call+xml": { - "source": "iana" - }, - "application/vnd.3gpp.pic-bw-large": { - "source": "iana", - "extensions": ["plb"] - }, - "application/vnd.3gpp.pic-bw-small": { - "source": "iana", - "extensions": ["psb"] - }, - "application/vnd.3gpp.pic-bw-var": { - "source": "iana", - "extensions": ["pvb"] - }, - "application/vnd.3gpp.sms": { - "source": "iana" - }, - "application/vnd.3gpp.sms+xml": { - "source": "iana" - }, - "application/vnd.3gpp.srvcc-ext+xml": { - "source": "iana" - }, - "application/vnd.3gpp.srvcc-info+xml": { - "source": "iana" - }, - "application/vnd.3gpp.state-and-event-info+xml": { - "source": "iana" - }, - "application/vnd.3gpp.ussd+xml": { - "source": "iana" - }, - "application/vnd.3gpp2.bcmcsinfo+xml": { - "source": "iana" - }, - "application/vnd.3gpp2.sms": { - "source": "iana" - }, - "application/vnd.3gpp2.tcap": { - "source": "iana", - "extensions": ["tcap"] - }, - "application/vnd.3lightssoftware.imagescal": { - "source": "iana" - }, - "application/vnd.3m.post-it-notes": { - "source": "iana", - "extensions": ["pwn"] - }, - "application/vnd.accpac.simply.aso": { - "source": "iana", - "extensions": ["aso"] - }, - "application/vnd.accpac.simply.imp": { - "source": "iana", - "extensions": ["imp"] - }, - "application/vnd.acucobol": { - "source": "iana", - "extensions": ["acu"] - }, - "application/vnd.acucorp": { - "source": "iana", - "extensions": ["atc","acutc"] - }, - "application/vnd.adobe.air-application-installer-package+zip": { - "source": "apache", - "extensions": ["air"] - }, - "application/vnd.adobe.flash.movie": { - "source": "iana" - }, - "application/vnd.adobe.formscentral.fcdt": { - "source": "iana", - "extensions": ["fcdt"] - }, - "application/vnd.adobe.fxp": { - "source": "iana", - "extensions": ["fxp","fxpl"] - }, - "application/vnd.adobe.partial-upload": { - "source": "iana" - }, - "application/vnd.adobe.xdp+xml": { - "source": "iana", - "extensions": ["xdp"] - }, - "application/vnd.adobe.xfdf": { - "source": "iana", - "extensions": ["xfdf"] - }, - "application/vnd.aether.imp": { - "source": "iana" - }, - "application/vnd.ah-barcode": { - "source": "iana" - }, - "application/vnd.ahead.space": { - "source": "iana", - "extensions": ["ahead"] - }, - "application/vnd.airzip.filesecure.azf": { - "source": "iana", - "extensions": ["azf"] - }, - "application/vnd.airzip.filesecure.azs": { - "source": "iana", - "extensions": ["azs"] - }, - "application/vnd.amazon.ebook": { - "source": "apache", - "extensions": ["azw"] - }, - "application/vnd.amazon.mobi8-ebook": { - "source": "iana" - }, - "application/vnd.americandynamics.acc": { - "source": "iana", - "extensions": ["acc"] - }, - "application/vnd.amiga.ami": { - "source": "iana", - "extensions": ["ami"] - }, - "application/vnd.amundsen.maze+xml": { - "source": "iana" - }, - "application/vnd.android.package-archive": { - "source": "apache", - "compressible": false, - "extensions": ["apk"] - }, - "application/vnd.anki": { - "source": "iana" - }, - "application/vnd.anser-web-certificate-issue-initiation": { - "source": "iana", - "extensions": ["cii"] - }, - "application/vnd.anser-web-funds-transfer-initiation": { - "source": "apache", - "extensions": ["fti"] - }, - "application/vnd.antix.game-component": { - "source": "iana", - "extensions": ["atx"] - }, - "application/vnd.apache.thrift.binary": { - "source": "iana" - }, - "application/vnd.apache.thrift.compact": { - "source": "iana" - }, - "application/vnd.apache.thrift.json": { - "source": "iana" - }, - "application/vnd.api+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.apothekende.reservation+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.apple.installer+xml": { - "source": "iana", - "extensions": ["mpkg"] - }, - "application/vnd.apple.mpegurl": { - "source": "iana", - "extensions": ["m3u8"] - }, - "application/vnd.apple.pkpass": { - "compressible": false, - "extensions": ["pkpass"] - }, - "application/vnd.arastra.swi": { - "source": "iana" - }, - "application/vnd.aristanetworks.swi": { - "source": "iana", - "extensions": ["swi"] - }, - "application/vnd.artsquare": { - "source": "iana" - }, - "application/vnd.astraea-software.iota": { - "source": "iana", - "extensions": ["iota"] - }, - "application/vnd.audiograph": { - "source": "iana", - "extensions": ["aep"] - }, - "application/vnd.autopackage": { - "source": "iana" - }, - "application/vnd.avalon+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.avistar+xml": { - "source": "iana" - }, - "application/vnd.balsamiq.bmml+xml": { - "source": "iana" - }, - "application/vnd.balsamiq.bmpr": { - "source": "iana" - }, - "application/vnd.bbf.usp.msg": { - "source": "iana" - }, - "application/vnd.bekitzur-stech+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.bint.med-content": { - "source": "iana" - }, - "application/vnd.biopax.rdf+xml": { - "source": "iana" - }, - "application/vnd.blink-idb-value-wrapper": { - "source": "iana" - }, - "application/vnd.blueice.multipass": { - "source": "iana", - "extensions": ["mpm"] - }, - "application/vnd.bluetooth.ep.oob": { - "source": "iana" - }, - "application/vnd.bluetooth.le.oob": { - "source": "iana" - }, - "application/vnd.bmi": { - "source": "iana", - "extensions": ["bmi"] - }, - "application/vnd.businessobjects": { - "source": "iana", - "extensions": ["rep"] - }, - "application/vnd.cab-jscript": { - "source": "iana" - }, - "application/vnd.canon-cpdl": { - "source": "iana" - }, - "application/vnd.canon-lips": { - "source": "iana" - }, - "application/vnd.capasystems-pg+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.cendio.thinlinc.clientconf": { - "source": "iana" - }, - "application/vnd.century-systems.tcp_stream": { - "source": "iana" - }, - "application/vnd.chemdraw+xml": { - "source": "iana", - "extensions": ["cdxml"] - }, - "application/vnd.chess-pgn": { - "source": "iana" - }, - "application/vnd.chipnuts.karaoke-mmd": { - "source": "iana", - "extensions": ["mmd"] - }, - "application/vnd.cinderella": { - "source": "iana", - "extensions": ["cdy"] - }, - "application/vnd.cirpack.isdn-ext": { - "source": "iana" - }, - "application/vnd.citationstyles.style+xml": { - "source": "iana" - }, - "application/vnd.claymore": { - "source": "iana", - "extensions": ["cla"] - }, - "application/vnd.cloanto.rp9": { - "source": "iana", - "extensions": ["rp9"] - }, - "application/vnd.clonk.c4group": { - "source": "iana", - "extensions": ["c4g","c4d","c4f","c4p","c4u"] - }, - "application/vnd.cluetrust.cartomobile-config": { - "source": "iana", - "extensions": ["c11amc"] - }, - "application/vnd.cluetrust.cartomobile-config-pkg": { - "source": "iana", - "extensions": ["c11amz"] - }, - "application/vnd.coffeescript": { - "source": "iana" - }, - "application/vnd.collabio.xodocuments.document": { - "source": "iana" - }, - "application/vnd.collabio.xodocuments.document-template": { - "source": "iana" - }, - "application/vnd.collabio.xodocuments.presentation": { - "source": "iana" - }, - "application/vnd.collabio.xodocuments.spreadsheet": { - "source": "iana" - }, - "application/vnd.collection+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.collection.doc+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.collection.next+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.comicbook+zip": { - "source": "iana" - }, - "application/vnd.commerce-battelle": { - "source": "iana" - }, - "application/vnd.commonspace": { - "source": "iana", - "extensions": ["csp"] - }, - "application/vnd.contact.cmsg": { - "source": "iana", - "extensions": ["cdbcmsg"] - }, - "application/vnd.coreos.ignition+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.cosmocaller": { - "source": "iana", - "extensions": ["cmc"] - }, - "application/vnd.crick.clicker": { - "source": "iana", - "extensions": ["clkx"] - }, - "application/vnd.crick.clicker.keyboard": { - "source": "iana", - "extensions": ["clkk"] - }, - "application/vnd.crick.clicker.palette": { - "source": "iana", - "extensions": ["clkp"] - }, - "application/vnd.crick.clicker.template": { - "source": "iana", - "extensions": ["clkt"] - }, - "application/vnd.crick.clicker.wordbank": { - "source": "iana", - "extensions": ["clkw"] - }, - "application/vnd.criticaltools.wbs+xml": { - "source": "iana", - "extensions": ["wbs"] - }, - "application/vnd.ctc-posml": { - "source": "iana", - "extensions": ["pml"] - }, - "application/vnd.ctct.ws+xml": { - "source": "iana" - }, - "application/vnd.cups-pdf": { - "source": "iana" - }, - "application/vnd.cups-postscript": { - "source": "iana" - }, - "application/vnd.cups-ppd": { - "source": "iana", - "extensions": ["ppd"] - }, - "application/vnd.cups-raster": { - "source": "iana" - }, - "application/vnd.cups-raw": { - "source": "iana" - }, - "application/vnd.curl": { - "source": "iana" - }, - "application/vnd.curl.car": { - "source": "apache", - "extensions": ["car"] - }, - "application/vnd.curl.pcurl": { - "source": "apache", - "extensions": ["pcurl"] - }, - "application/vnd.cyan.dean.root+xml": { - "source": "iana" - }, - "application/vnd.cybank": { - "source": "iana" - }, - "application/vnd.d2l.coursepackage1p0+zip": { - "source": "iana" - }, - "application/vnd.dart": { - "source": "iana", - "compressible": true, - "extensions": ["dart"] - }, - "application/vnd.data-vision.rdz": { - "source": "iana", - "extensions": ["rdz"] - }, - "application/vnd.datapackage+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.dataresource+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.debian.binary-package": { - "source": "iana" - }, - "application/vnd.dece.data": { - "source": "iana", - "extensions": ["uvf","uvvf","uvd","uvvd"] - }, - "application/vnd.dece.ttml+xml": { - "source": "iana", - "extensions": ["uvt","uvvt"] - }, - "application/vnd.dece.unspecified": { - "source": "iana", - "extensions": ["uvx","uvvx"] - }, - "application/vnd.dece.zip": { - "source": "iana", - "extensions": ["uvz","uvvz"] - }, - "application/vnd.denovo.fcselayout-link": { - "source": "iana", - "extensions": ["fe_launch"] - }, - "application/vnd.desmume-movie": { - "source": "iana" - }, - "application/vnd.desmume.movie": { - "source": "apache" - }, - "application/vnd.dir-bi.plate-dl-nosuffix": { - "source": "iana" - }, - "application/vnd.dm.delegation+xml": { - "source": "iana" - }, - "application/vnd.dna": { - "source": "iana", - "extensions": ["dna"] - }, - "application/vnd.document+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.dolby.mlp": { - "source": "apache", - "extensions": ["mlp"] - }, - "application/vnd.dolby.mobile.1": { - "source": "iana" - }, - "application/vnd.dolby.mobile.2": { - "source": "iana" - }, - "application/vnd.doremir.scorecloud-binary-document": { - "source": "iana" - }, - "application/vnd.dpgraph": { - "source": "iana", - "extensions": ["dpg"] - }, - "application/vnd.dreamfactory": { - "source": "iana", - "extensions": ["dfac"] - }, - "application/vnd.drive+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.ds-keypoint": { - "source": "apache", - "extensions": ["kpxx"] - }, - "application/vnd.dtg.local": { - "source": "iana" - }, - "application/vnd.dtg.local.flash": { - "source": "iana" - }, - "application/vnd.dtg.local.html": { - "source": "iana" - }, - "application/vnd.dvb.ait": { - "source": "iana", - "extensions": ["ait"] - }, - "application/vnd.dvb.dvbj": { - "source": "iana" - }, - "application/vnd.dvb.esgcontainer": { - "source": "iana" - }, - "application/vnd.dvb.ipdcdftnotifaccess": { - "source": "iana" - }, - "application/vnd.dvb.ipdcesgaccess": { - "source": "iana" - }, - "application/vnd.dvb.ipdcesgaccess2": { - "source": "iana" - }, - "application/vnd.dvb.ipdcesgpdd": { - "source": "iana" - }, - "application/vnd.dvb.ipdcroaming": { - "source": "iana" - }, - "application/vnd.dvb.iptv.alfec-base": { - "source": "iana" - }, - "application/vnd.dvb.iptv.alfec-enhancement": { - "source": "iana" - }, - "application/vnd.dvb.notif-aggregate-root+xml": { - "source": "iana" - }, - "application/vnd.dvb.notif-container+xml": { - "source": "iana" - }, - "application/vnd.dvb.notif-generic+xml": { - "source": "iana" - }, - "application/vnd.dvb.notif-ia-msglist+xml": { - "source": "iana" - }, - "application/vnd.dvb.notif-ia-registration-request+xml": { - "source": "iana" - }, - "application/vnd.dvb.notif-ia-registration-response+xml": { - "source": "iana" - }, - "application/vnd.dvb.notif-init+xml": { - "source": "iana" - }, - "application/vnd.dvb.pfr": { - "source": "iana" - }, - "application/vnd.dvb.service": { - "source": "iana", - "extensions": ["svc"] - }, - "application/vnd.dxr": { - "source": "iana" - }, - "application/vnd.dynageo": { - "source": "iana", - "extensions": ["geo"] - }, - "application/vnd.dzr": { - "source": "iana" - }, - "application/vnd.easykaraoke.cdgdownload": { - "source": "iana" - }, - "application/vnd.ecdis-update": { - "source": "iana" - }, - "application/vnd.ecip.rlp": { - "source": "iana" - }, - "application/vnd.ecowin.chart": { - "source": "iana", - "extensions": ["mag"] - }, - "application/vnd.ecowin.filerequest": { - "source": "iana" - }, - "application/vnd.ecowin.fileupdate": { - "source": "iana" - }, - "application/vnd.ecowin.series": { - "source": "iana" - }, - "application/vnd.ecowin.seriesrequest": { - "source": "iana" - }, - "application/vnd.ecowin.seriesupdate": { - "source": "iana" - }, - "application/vnd.efi.img": { - "source": "iana" - }, - "application/vnd.efi.iso": { - "source": "iana" - }, - "application/vnd.emclient.accessrequest+xml": { - "source": "iana" - }, - "application/vnd.enliven": { - "source": "iana", - "extensions": ["nml"] - }, - "application/vnd.enphase.envoy": { - "source": "iana" - }, - "application/vnd.eprints.data+xml": { - "source": "iana" - }, - "application/vnd.epson.esf": { - "source": "iana", - "extensions": ["esf"] - }, - "application/vnd.epson.msf": { - "source": "iana", - "extensions": ["msf"] - }, - "application/vnd.epson.quickanime": { - "source": "iana", - "extensions": ["qam"] - }, - "application/vnd.epson.salt": { - "source": "iana", - "extensions": ["slt"] - }, - "application/vnd.epson.ssf": { - "source": "iana", - "extensions": ["ssf"] - }, - "application/vnd.ericsson.quickcall": { - "source": "iana" - }, - "application/vnd.espass-espass+zip": { - "source": "iana" - }, - "application/vnd.eszigno3+xml": { - "source": "iana", - "extensions": ["es3","et3"] - }, - "application/vnd.etsi.aoc+xml": { - "source": "iana" - }, - "application/vnd.etsi.asic-e+zip": { - "source": "iana" - }, - "application/vnd.etsi.asic-s+zip": { - "source": "iana" - }, - "application/vnd.etsi.cug+xml": { - "source": "iana" - }, - "application/vnd.etsi.iptvcommand+xml": { - "source": "iana" - }, - "application/vnd.etsi.iptvdiscovery+xml": { - "source": "iana" - }, - "application/vnd.etsi.iptvprofile+xml": { - "source": "iana" - }, - "application/vnd.etsi.iptvsad-bc+xml": { - "source": "iana" - }, - "application/vnd.etsi.iptvsad-cod+xml": { - "source": "iana" - }, - "application/vnd.etsi.iptvsad-npvr+xml": { - "source": "iana" - }, - "application/vnd.etsi.iptvservice+xml": { - "source": "iana" - }, - "application/vnd.etsi.iptvsync+xml": { - "source": "iana" - }, - "application/vnd.etsi.iptvueprofile+xml": { - "source": "iana" - }, - "application/vnd.etsi.mcid+xml": { - "source": "iana" - }, - "application/vnd.etsi.mheg5": { - "source": "iana" - }, - "application/vnd.etsi.overload-control-policy-dataset+xml": { - "source": "iana" - }, - "application/vnd.etsi.pstn+xml": { - "source": "iana" - }, - "application/vnd.etsi.sci+xml": { - "source": "iana" - }, - "application/vnd.etsi.simservs+xml": { - "source": "iana" - }, - "application/vnd.etsi.timestamp-token": { - "source": "iana" - }, - "application/vnd.etsi.tsl+xml": { - "source": "iana" - }, - "application/vnd.etsi.tsl.der": { - "source": "iana" - }, - "application/vnd.eudora.data": { - "source": "iana" - }, - "application/vnd.evolv.ecig.profile": { - "source": "iana" - }, - "application/vnd.evolv.ecig.settings": { - "source": "iana" - }, - "application/vnd.evolv.ecig.theme": { - "source": "iana" - }, - "application/vnd.ezpix-album": { - "source": "iana", - "extensions": ["ez2"] - }, - "application/vnd.ezpix-package": { - "source": "iana", - "extensions": ["ez3"] - }, - "application/vnd.f-secure.mobile": { - "source": "iana" - }, - "application/vnd.fastcopy-disk-image": { - "source": "iana" - }, - "application/vnd.fdf": { - "source": "iana", - "extensions": ["fdf"] - }, - "application/vnd.fdsn.mseed": { - "source": "iana", - "extensions": ["mseed"] - }, - "application/vnd.fdsn.seed": { - "source": "iana", - "extensions": ["seed","dataless"] - }, - "application/vnd.ffsns": { - "source": "iana" - }, - "application/vnd.filmit.zfc": { - "source": "iana" - }, - "application/vnd.fints": { - "source": "iana" - }, - "application/vnd.firemonkeys.cloudcell": { - "source": "iana" - }, - "application/vnd.flographit": { - "source": "iana", - "extensions": ["gph"] - }, - "application/vnd.fluxtime.clip": { - "source": "iana", - "extensions": ["ftc"] - }, - "application/vnd.font-fontforge-sfd": { - "source": "iana" - }, - "application/vnd.framemaker": { - "source": "iana", - "extensions": ["fm","frame","maker","book"] - }, - "application/vnd.frogans.fnc": { - "source": "iana", - "extensions": ["fnc"] - }, - "application/vnd.frogans.ltf": { - "source": "iana", - "extensions": ["ltf"] - }, - "application/vnd.fsc.weblaunch": { - "source": "iana", - "extensions": ["fsc"] - }, - "application/vnd.fujitsu.oasys": { - "source": "iana", - "extensions": ["oas"] - }, - "application/vnd.fujitsu.oasys2": { - "source": "iana", - "extensions": ["oa2"] - }, - "application/vnd.fujitsu.oasys3": { - "source": "iana", - "extensions": ["oa3"] - }, - "application/vnd.fujitsu.oasysgp": { - "source": "iana", - "extensions": ["fg5"] - }, - "application/vnd.fujitsu.oasysprs": { - "source": "iana", - "extensions": ["bh2"] - }, - "application/vnd.fujixerox.art-ex": { - "source": "iana" - }, - "application/vnd.fujixerox.art4": { - "source": "iana" - }, - "application/vnd.fujixerox.ddd": { - "source": "iana", - "extensions": ["ddd"] - }, - "application/vnd.fujixerox.docuworks": { - "source": "iana", - "extensions": ["xdw"] - }, - "application/vnd.fujixerox.docuworks.binder": { - "source": "iana", - "extensions": ["xbd"] - }, - "application/vnd.fujixerox.docuworks.container": { - "source": "iana" - }, - "application/vnd.fujixerox.hbpl": { - "source": "iana" - }, - "application/vnd.fut-misnet": { - "source": "iana" - }, - "application/vnd.fuzzysheet": { - "source": "iana", - "extensions": ["fzs"] - }, - "application/vnd.genomatix.tuxedo": { - "source": "iana", - "extensions": ["txd"] - }, - "application/vnd.geo+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.geocube+xml": { - "source": "iana" - }, - "application/vnd.geogebra.file": { - "source": "iana", - "extensions": ["ggb"] - }, - "application/vnd.geogebra.tool": { - "source": "iana", - "extensions": ["ggt"] - }, - "application/vnd.geometry-explorer": { - "source": "iana", - "extensions": ["gex","gre"] - }, - "application/vnd.geonext": { - "source": "iana", - "extensions": ["gxt"] - }, - "application/vnd.geoplan": { - "source": "iana", - "extensions": ["g2w"] - }, - "application/vnd.geospace": { - "source": "iana", - "extensions": ["g3w"] - }, - "application/vnd.gerber": { - "source": "iana" - }, - "application/vnd.globalplatform.card-content-mgt": { - "source": "iana" - }, - "application/vnd.globalplatform.card-content-mgt-response": { - "source": "iana" - }, - "application/vnd.gmx": { - "source": "iana", - "extensions": ["gmx"] - }, - "application/vnd.google-apps.document": { - "compressible": false, - "extensions": ["gdoc"] - }, - "application/vnd.google-apps.presentation": { - "compressible": false, - "extensions": ["gslides"] - }, - "application/vnd.google-apps.spreadsheet": { - "compressible": false, - "extensions": ["gsheet"] - }, - "application/vnd.google-earth.kml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["kml"] - }, - "application/vnd.google-earth.kmz": { - "source": "iana", - "compressible": false, - "extensions": ["kmz"] - }, - "application/vnd.gov.sk.e-form+xml": { - "source": "iana" - }, - "application/vnd.gov.sk.e-form+zip": { - "source": "iana" - }, - "application/vnd.gov.sk.xmldatacontainer+xml": { - "source": "iana" - }, - "application/vnd.grafeq": { - "source": "iana", - "extensions": ["gqf","gqs"] - }, - "application/vnd.gridmp": { - "source": "iana" - }, - "application/vnd.groove-account": { - "source": "iana", - "extensions": ["gac"] - }, - "application/vnd.groove-help": { - "source": "iana", - "extensions": ["ghf"] - }, - "application/vnd.groove-identity-message": { - "source": "iana", - "extensions": ["gim"] - }, - "application/vnd.groove-injector": { - "source": "iana", - "extensions": ["grv"] - }, - "application/vnd.groove-tool-message": { - "source": "iana", - "extensions": ["gtm"] - }, - "application/vnd.groove-tool-template": { - "source": "iana", - "extensions": ["tpl"] - }, - "application/vnd.groove-vcard": { - "source": "iana", - "extensions": ["vcg"] - }, - "application/vnd.hal+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.hal+xml": { - "source": "iana", - "extensions": ["hal"] - }, - "application/vnd.handheld-entertainment+xml": { - "source": "iana", - "extensions": ["zmm"] - }, - "application/vnd.hbci": { - "source": "iana", - "extensions": ["hbci"] - }, - "application/vnd.hc+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.hcl-bireports": { - "source": "iana" - }, - "application/vnd.hdt": { - "source": "iana" - }, - "application/vnd.heroku+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.hhe.lesson-player": { - "source": "iana", - "extensions": ["les"] - }, - "application/vnd.hp-hpgl": { - "source": "iana", - "extensions": ["hpgl"] - }, - "application/vnd.hp-hpid": { - "source": "iana", - "extensions": ["hpid"] - }, - "application/vnd.hp-hps": { - "source": "iana", - "extensions": ["hps"] - }, - "application/vnd.hp-jlyt": { - "source": "iana", - "extensions": ["jlt"] - }, - "application/vnd.hp-pcl": { - "source": "iana", - "extensions": ["pcl"] - }, - "application/vnd.hp-pclxl": { - "source": "iana", - "extensions": ["pclxl"] - }, - "application/vnd.httphone": { - "source": "iana" - }, - "application/vnd.hydrostatix.sof-data": { - "source": "iana", - "extensions": ["sfd-hdstx"] - }, - "application/vnd.hyper-item+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.hyperdrive+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.hzn-3d-crossword": { - "source": "iana" - }, - "application/vnd.ibm.afplinedata": { - "source": "iana" - }, - "application/vnd.ibm.electronic-media": { - "source": "iana" - }, - "application/vnd.ibm.minipay": { - "source": "iana", - "extensions": ["mpy"] - }, - "application/vnd.ibm.modcap": { - "source": "iana", - "extensions": ["afp","listafp","list3820"] - }, - "application/vnd.ibm.rights-management": { - "source": "iana", - "extensions": ["irm"] - }, - "application/vnd.ibm.secure-container": { - "source": "iana", - "extensions": ["sc"] - }, - "application/vnd.iccprofile": { - "source": "iana", - "extensions": ["icc","icm"] - }, - "application/vnd.ieee.1905": { - "source": "iana" - }, - "application/vnd.igloader": { - "source": "iana", - "extensions": ["igl"] - }, - "application/vnd.imagemeter.folder+zip": { - "source": "iana" - }, - "application/vnd.imagemeter.image+zip": { - "source": "iana" - }, - "application/vnd.immervision-ivp": { - "source": "iana", - "extensions": ["ivp"] - }, - "application/vnd.immervision-ivu": { - "source": "iana", - "extensions": ["ivu"] - }, - "application/vnd.ims.imsccv1p1": { - "source": "iana" - }, - "application/vnd.ims.imsccv1p2": { - "source": "iana" - }, - "application/vnd.ims.imsccv1p3": { - "source": "iana" - }, - "application/vnd.ims.lis.v2.result+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.ims.lti.v2.toolconsumerprofile+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.ims.lti.v2.toolproxy+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.ims.lti.v2.toolproxy.id+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.ims.lti.v2.toolsettings+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.ims.lti.v2.toolsettings.simple+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.informedcontrol.rms+xml": { - "source": "iana" - }, - "application/vnd.informix-visionary": { - "source": "iana" - }, - "application/vnd.infotech.project": { - "source": "iana" - }, - "application/vnd.infotech.project+xml": { - "source": "iana" - }, - "application/vnd.innopath.wamp.notification": { - "source": "iana" - }, - "application/vnd.insors.igm": { - "source": "iana", - "extensions": ["igm"] - }, - "application/vnd.intercon.formnet": { - "source": "iana", - "extensions": ["xpw","xpx"] - }, - "application/vnd.intergeo": { - "source": "iana", - "extensions": ["i2g"] - }, - "application/vnd.intertrust.digibox": { - "source": "iana" - }, - "application/vnd.intertrust.nncp": { - "source": "iana" - }, - "application/vnd.intu.qbo": { - "source": "iana", - "extensions": ["qbo"] - }, - "application/vnd.intu.qfx": { - "source": "iana", - "extensions": ["qfx"] - }, - "application/vnd.iptc.g2.catalogitem+xml": { - "source": "iana" - }, - "application/vnd.iptc.g2.conceptitem+xml": { - "source": "iana" - }, - "application/vnd.iptc.g2.knowledgeitem+xml": { - "source": "iana" - }, - "application/vnd.iptc.g2.newsitem+xml": { - "source": "iana" - }, - "application/vnd.iptc.g2.newsmessage+xml": { - "source": "iana" - }, - "application/vnd.iptc.g2.packageitem+xml": { - "source": "iana" - }, - "application/vnd.iptc.g2.planningitem+xml": { - "source": "iana" - }, - "application/vnd.ipunplugged.rcprofile": { - "source": "iana", - "extensions": ["rcprofile"] - }, - "application/vnd.irepository.package+xml": { - "source": "iana", - "extensions": ["irp"] - }, - "application/vnd.is-xpr": { - "source": "iana", - "extensions": ["xpr"] - }, - "application/vnd.isac.fcs": { - "source": "iana", - "extensions": ["fcs"] - }, - "application/vnd.jam": { - "source": "iana", - "extensions": ["jam"] - }, - "application/vnd.japannet-directory-service": { - "source": "iana" - }, - "application/vnd.japannet-jpnstore-wakeup": { - "source": "iana" - }, - "application/vnd.japannet-payment-wakeup": { - "source": "iana" - }, - "application/vnd.japannet-registration": { - "source": "iana" - }, - "application/vnd.japannet-registration-wakeup": { - "source": "iana" - }, - "application/vnd.japannet-setstore-wakeup": { - "source": "iana" - }, - "application/vnd.japannet-verification": { - "source": "iana" - }, - "application/vnd.japannet-verification-wakeup": { - "source": "iana" - }, - "application/vnd.jcp.javame.midlet-rms": { - "source": "iana", - "extensions": ["rms"] - }, - "application/vnd.jisp": { - "source": "iana", - "extensions": ["jisp"] - }, - "application/vnd.joost.joda-archive": { - "source": "iana", - "extensions": ["joda"] - }, - "application/vnd.jsk.isdn-ngn": { - "source": "iana" - }, - "application/vnd.kahootz": { - "source": "iana", - "extensions": ["ktz","ktr"] - }, - "application/vnd.kde.karbon": { - "source": "iana", - "extensions": ["karbon"] - }, - "application/vnd.kde.kchart": { - "source": "iana", - "extensions": ["chrt"] - }, - "application/vnd.kde.kformula": { - "source": "iana", - "extensions": ["kfo"] - }, - "application/vnd.kde.kivio": { - "source": "iana", - "extensions": ["flw"] - }, - "application/vnd.kde.kontour": { - "source": "iana", - "extensions": ["kon"] - }, - "application/vnd.kde.kpresenter": { - "source": "iana", - "extensions": ["kpr","kpt"] - }, - "application/vnd.kde.kspread": { - "source": "iana", - "extensions": ["ksp"] - }, - "application/vnd.kde.kword": { - "source": "iana", - "extensions": ["kwd","kwt"] - }, - "application/vnd.kenameaapp": { - "source": "iana", - "extensions": ["htke"] - }, - "application/vnd.kidspiration": { - "source": "iana", - "extensions": ["kia"] - }, - "application/vnd.kinar": { - "source": "iana", - "extensions": ["kne","knp"] - }, - "application/vnd.koan": { - "source": "iana", - "extensions": ["skp","skd","skt","skm"] - }, - "application/vnd.kodak-descriptor": { - "source": "iana", - "extensions": ["sse"] - }, - "application/vnd.las.las+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.las.las+xml": { - "source": "iana", - "extensions": ["lasxml"] - }, - "application/vnd.liberty-request+xml": { - "source": "iana" - }, - "application/vnd.llamagraphics.life-balance.desktop": { - "source": "iana", - "extensions": ["lbd"] - }, - "application/vnd.llamagraphics.life-balance.exchange+xml": { - "source": "iana", - "extensions": ["lbe"] - }, - "application/vnd.lotus-1-2-3": { - "source": "iana", - "extensions": ["123"] - }, - "application/vnd.lotus-approach": { - "source": "iana", - "extensions": ["apr"] - }, - "application/vnd.lotus-freelance": { - "source": "iana", - "extensions": ["pre"] - }, - "application/vnd.lotus-notes": { - "source": "iana", - "extensions": ["nsf"] - }, - "application/vnd.lotus-organizer": { - "source": "iana", - "extensions": ["org"] - }, - "application/vnd.lotus-screencam": { - "source": "iana", - "extensions": ["scm"] - }, - "application/vnd.lotus-wordpro": { - "source": "iana", - "extensions": ["lwp"] - }, - "application/vnd.macports.portpkg": { - "source": "iana", - "extensions": ["portpkg"] - }, - "application/vnd.mapbox-vector-tile": { - "source": "iana" - }, - "application/vnd.marlin.drm.actiontoken+xml": { - "source": "iana" - }, - "application/vnd.marlin.drm.conftoken+xml": { - "source": "iana" - }, - "application/vnd.marlin.drm.license+xml": { - "source": "iana" - }, - "application/vnd.marlin.drm.mdcf": { - "source": "iana" - }, - "application/vnd.mason+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.maxmind.maxmind-db": { - "source": "iana" - }, - "application/vnd.mcd": { - "source": "iana", - "extensions": ["mcd"] - }, - "application/vnd.medcalcdata": { - "source": "iana", - "extensions": ["mc1"] - }, - "application/vnd.mediastation.cdkey": { - "source": "iana", - "extensions": ["cdkey"] - }, - "application/vnd.meridian-slingshot": { - "source": "iana" - }, - "application/vnd.mfer": { - "source": "iana", - "extensions": ["mwf"] - }, - "application/vnd.mfmp": { - "source": "iana", - "extensions": ["mfm"] - }, - "application/vnd.micro+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.micrografx.flo": { - "source": "iana", - "extensions": ["flo"] - }, - "application/vnd.micrografx.igx": { - "source": "iana", - "extensions": ["igx"] - }, - "application/vnd.microsoft.portable-executable": { - "source": "iana" - }, - "application/vnd.microsoft.windows.thumbnail-cache": { - "source": "iana" - }, - "application/vnd.miele+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.mif": { - "source": "iana", - "extensions": ["mif"] - }, - "application/vnd.minisoft-hp3000-save": { - "source": "iana" - }, - "application/vnd.mitsubishi.misty-guard.trustweb": { - "source": "iana" - }, - "application/vnd.mobius.daf": { - "source": "iana", - "extensions": ["daf"] - }, - "application/vnd.mobius.dis": { - "source": "iana", - "extensions": ["dis"] - }, - "application/vnd.mobius.mbk": { - "source": "iana", - "extensions": ["mbk"] - }, - "application/vnd.mobius.mqy": { - "source": "iana", - "extensions": ["mqy"] - }, - "application/vnd.mobius.msl": { - "source": "iana", - "extensions": ["msl"] - }, - "application/vnd.mobius.plc": { - "source": "iana", - "extensions": ["plc"] - }, - "application/vnd.mobius.txf": { - "source": "iana", - "extensions": ["txf"] - }, - "application/vnd.mophun.application": { - "source": "iana", - "extensions": ["mpn"] - }, - "application/vnd.mophun.certificate": { - "source": "iana", - "extensions": ["mpc"] - }, - "application/vnd.motorola.flexsuite": { - "source": "iana" - }, - "application/vnd.motorola.flexsuite.adsi": { - "source": "iana" - }, - "application/vnd.motorola.flexsuite.fis": { - "source": "iana" - }, - "application/vnd.motorola.flexsuite.gotap": { - "source": "iana" - }, - "application/vnd.motorola.flexsuite.kmr": { - "source": "iana" - }, - "application/vnd.motorola.flexsuite.ttc": { - "source": "iana" - }, - "application/vnd.motorola.flexsuite.wem": { - "source": "iana" - }, - "application/vnd.motorola.iprm": { - "source": "iana" - }, - "application/vnd.mozilla.xul+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xul"] - }, - "application/vnd.ms-3mfdocument": { - "source": "iana" - }, - "application/vnd.ms-artgalry": { - "source": "iana", - "extensions": ["cil"] - }, - "application/vnd.ms-asf": { - "source": "iana" - }, - "application/vnd.ms-cab-compressed": { - "source": "iana", - "extensions": ["cab"] - }, - "application/vnd.ms-color.iccprofile": { - "source": "apache" - }, - "application/vnd.ms-excel": { - "source": "iana", - "compressible": false, - "extensions": ["xls","xlm","xla","xlc","xlt","xlw"] - }, - "application/vnd.ms-excel.addin.macroenabled.12": { - "source": "iana", - "extensions": ["xlam"] - }, - "application/vnd.ms-excel.sheet.binary.macroenabled.12": { - "source": "iana", - "extensions": ["xlsb"] - }, - "application/vnd.ms-excel.sheet.macroenabled.12": { - "source": "iana", - "extensions": ["xlsm"] - }, - "application/vnd.ms-excel.template.macroenabled.12": { - "source": "iana", - "extensions": ["xltm"] - }, - "application/vnd.ms-fontobject": { - "source": "iana", - "compressible": true, - "extensions": ["eot"] - }, - "application/vnd.ms-htmlhelp": { - "source": "iana", - "extensions": ["chm"] - }, - "application/vnd.ms-ims": { - "source": "iana", - "extensions": ["ims"] - }, - "application/vnd.ms-lrm": { - "source": "iana", - "extensions": ["lrm"] - }, - "application/vnd.ms-office.activex+xml": { - "source": "iana" - }, - "application/vnd.ms-officetheme": { - "source": "iana", - "extensions": ["thmx"] - }, - "application/vnd.ms-opentype": { - "source": "apache", - "compressible": true - }, - "application/vnd.ms-outlook": { - "compressible": false, - "extensions": ["msg"] - }, - "application/vnd.ms-package.obfuscated-opentype": { - "source": "apache" - }, - "application/vnd.ms-pki.seccat": { - "source": "apache", - "extensions": ["cat"] - }, - "application/vnd.ms-pki.stl": { - "source": "apache", - "extensions": ["stl"] - }, - "application/vnd.ms-playready.initiator+xml": { - "source": "iana" - }, - "application/vnd.ms-powerpoint": { - "source": "iana", - "compressible": false, - "extensions": ["ppt","pps","pot"] - }, - "application/vnd.ms-powerpoint.addin.macroenabled.12": { - "source": "iana", - "extensions": ["ppam"] - }, - "application/vnd.ms-powerpoint.presentation.macroenabled.12": { - "source": "iana", - "extensions": ["pptm"] - }, - "application/vnd.ms-powerpoint.slide.macroenabled.12": { - "source": "iana", - "extensions": ["sldm"] - }, - "application/vnd.ms-powerpoint.slideshow.macroenabled.12": { - "source": "iana", - "extensions": ["ppsm"] - }, - "application/vnd.ms-powerpoint.template.macroenabled.12": { - "source": "iana", - "extensions": ["potm"] - }, - "application/vnd.ms-printdevicecapabilities+xml": { - "source": "iana" - }, - "application/vnd.ms-printing.printticket+xml": { - "source": "apache" - }, - "application/vnd.ms-printschematicket+xml": { - "source": "iana" - }, - "application/vnd.ms-project": { - "source": "iana", - "extensions": ["mpp","mpt"] - }, - "application/vnd.ms-tnef": { - "source": "iana" - }, - "application/vnd.ms-windows.devicepairing": { - "source": "iana" - }, - "application/vnd.ms-windows.nwprinting.oob": { - "source": "iana" - }, - "application/vnd.ms-windows.printerpairing": { - "source": "iana" - }, - "application/vnd.ms-windows.wsd.oob": { - "source": "iana" - }, - "application/vnd.ms-wmdrm.lic-chlg-req": { - "source": "iana" - }, - "application/vnd.ms-wmdrm.lic-resp": { - "source": "iana" - }, - "application/vnd.ms-wmdrm.meter-chlg-req": { - "source": "iana" - }, - "application/vnd.ms-wmdrm.meter-resp": { - "source": "iana" - }, - "application/vnd.ms-word.document.macroenabled.12": { - "source": "iana", - "extensions": ["docm"] - }, - "application/vnd.ms-word.template.macroenabled.12": { - "source": "iana", - "extensions": ["dotm"] - }, - "application/vnd.ms-works": { - "source": "iana", - "extensions": ["wps","wks","wcm","wdb"] - }, - "application/vnd.ms-wpl": { - "source": "iana", - "extensions": ["wpl"] - }, - "application/vnd.ms-xpsdocument": { - "source": "iana", - "compressible": false, - "extensions": ["xps"] - }, - "application/vnd.msa-disk-image": { - "source": "iana" - }, - "application/vnd.mseq": { - "source": "iana", - "extensions": ["mseq"] - }, - "application/vnd.msign": { - "source": "iana" - }, - "application/vnd.multiad.creator": { - "source": "iana" - }, - "application/vnd.multiad.creator.cif": { - "source": "iana" - }, - "application/vnd.music-niff": { - "source": "iana" - }, - "application/vnd.musician": { - "source": "iana", - "extensions": ["mus"] - }, - "application/vnd.muvee.style": { - "source": "iana", - "extensions": ["msty"] - }, - "application/vnd.mynfc": { - "source": "iana", - "extensions": ["taglet"] - }, - "application/vnd.ncd.control": { - "source": "iana" - }, - "application/vnd.ncd.reference": { - "source": "iana" - }, - "application/vnd.nearst.inv+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.nervana": { - "source": "iana" - }, - "application/vnd.netfpx": { - "source": "iana" - }, - "application/vnd.neurolanguage.nlu": { - "source": "iana", - "extensions": ["nlu"] - }, - "application/vnd.nintendo.nitro.rom": { - "source": "iana" - }, - "application/vnd.nintendo.snes.rom": { - "source": "iana" - }, - "application/vnd.nitf": { - "source": "iana", - "extensions": ["ntf","nitf"] - }, - "application/vnd.noblenet-directory": { - "source": "iana", - "extensions": ["nnd"] - }, - "application/vnd.noblenet-sealer": { - "source": "iana", - "extensions": ["nns"] - }, - "application/vnd.noblenet-web": { - "source": "iana", - "extensions": ["nnw"] - }, - "application/vnd.nokia.catalogs": { - "source": "iana" - }, - "application/vnd.nokia.conml+wbxml": { - "source": "iana" - }, - "application/vnd.nokia.conml+xml": { - "source": "iana" - }, - "application/vnd.nokia.iptv.config+xml": { - "source": "iana" - }, - "application/vnd.nokia.isds-radio-presets": { - "source": "iana" - }, - "application/vnd.nokia.landmark+wbxml": { - "source": "iana" - }, - "application/vnd.nokia.landmark+xml": { - "source": "iana" - }, - "application/vnd.nokia.landmarkcollection+xml": { - "source": "iana" - }, - "application/vnd.nokia.n-gage.ac+xml": { - "source": "iana" - }, - "application/vnd.nokia.n-gage.data": { - "source": "iana", - "extensions": ["ngdat"] - }, - "application/vnd.nokia.n-gage.symbian.install": { - "source": "iana", - "extensions": ["n-gage"] - }, - "application/vnd.nokia.ncd": { - "source": "iana" - }, - "application/vnd.nokia.pcd+wbxml": { - "source": "iana" - }, - "application/vnd.nokia.pcd+xml": { - "source": "iana" - }, - "application/vnd.nokia.radio-preset": { - "source": "iana", - "extensions": ["rpst"] - }, - "application/vnd.nokia.radio-presets": { - "source": "iana", - "extensions": ["rpss"] - }, - "application/vnd.novadigm.edm": { - "source": "iana", - "extensions": ["edm"] - }, - "application/vnd.novadigm.edx": { - "source": "iana", - "extensions": ["edx"] - }, - "application/vnd.novadigm.ext": { - "source": "iana", - "extensions": ["ext"] - }, - "application/vnd.ntt-local.content-share": { - "source": "iana" - }, - "application/vnd.ntt-local.file-transfer": { - "source": "iana" - }, - "application/vnd.ntt-local.ogw_remote-access": { - "source": "iana" - }, - "application/vnd.ntt-local.sip-ta_remote": { - "source": "iana" - }, - "application/vnd.ntt-local.sip-ta_tcp_stream": { - "source": "iana" - }, - "application/vnd.oasis.opendocument.chart": { - "source": "iana", - "extensions": ["odc"] - }, - "application/vnd.oasis.opendocument.chart-template": { - "source": "iana", - "extensions": ["otc"] - }, - "application/vnd.oasis.opendocument.database": { - "source": "iana", - "extensions": ["odb"] - }, - "application/vnd.oasis.opendocument.formula": { - "source": "iana", - "extensions": ["odf"] - }, - "application/vnd.oasis.opendocument.formula-template": { - "source": "iana", - "extensions": ["odft"] - }, - "application/vnd.oasis.opendocument.graphics": { - "source": "iana", - "compressible": false, - "extensions": ["odg"] - }, - "application/vnd.oasis.opendocument.graphics-template": { - "source": "iana", - "extensions": ["otg"] - }, - "application/vnd.oasis.opendocument.image": { - "source": "iana", - "extensions": ["odi"] - }, - "application/vnd.oasis.opendocument.image-template": { - "source": "iana", - "extensions": ["oti"] - }, - "application/vnd.oasis.opendocument.presentation": { - "source": "iana", - "compressible": false, - "extensions": ["odp"] - }, - "application/vnd.oasis.opendocument.presentation-template": { - "source": "iana", - "extensions": ["otp"] - }, - "application/vnd.oasis.opendocument.spreadsheet": { - "source": "iana", - "compressible": false, - "extensions": ["ods"] - }, - "application/vnd.oasis.opendocument.spreadsheet-template": { - "source": "iana", - "extensions": ["ots"] - }, - "application/vnd.oasis.opendocument.text": { - "source": "iana", - "compressible": false, - "extensions": ["odt"] - }, - "application/vnd.oasis.opendocument.text-master": { - "source": "iana", - "extensions": ["odm"] - }, - "application/vnd.oasis.opendocument.text-template": { - "source": "iana", - "extensions": ["ott"] - }, - "application/vnd.oasis.opendocument.text-web": { - "source": "iana", - "extensions": ["oth"] - }, - "application/vnd.obn": { - "source": "iana" - }, - "application/vnd.ocf+cbor": { - "source": "iana" - }, - "application/vnd.oftn.l10n+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.oipf.contentaccessdownload+xml": { - "source": "iana" - }, - "application/vnd.oipf.contentaccessstreaming+xml": { - "source": "iana" - }, - "application/vnd.oipf.cspg-hexbinary": { - "source": "iana" - }, - "application/vnd.oipf.dae.svg+xml": { - "source": "iana" - }, - "application/vnd.oipf.dae.xhtml+xml": { - "source": "iana" - }, - "application/vnd.oipf.mippvcontrolmessage+xml": { - "source": "iana" - }, - "application/vnd.oipf.pae.gem": { - "source": "iana" - }, - "application/vnd.oipf.spdiscovery+xml": { - "source": "iana" - }, - "application/vnd.oipf.spdlist+xml": { - "source": "iana" - }, - "application/vnd.oipf.ueprofile+xml": { - "source": "iana" - }, - "application/vnd.oipf.userprofile+xml": { - "source": "iana" - }, - "application/vnd.olpc-sugar": { - "source": "iana", - "extensions": ["xo"] - }, - "application/vnd.oma-scws-config": { - "source": "iana" - }, - "application/vnd.oma-scws-http-request": { - "source": "iana" - }, - "application/vnd.oma-scws-http-response": { - "source": "iana" - }, - "application/vnd.oma.bcast.associated-procedure-parameter+xml": { - "source": "iana" - }, - "application/vnd.oma.bcast.drm-trigger+xml": { - "source": "iana" - }, - "application/vnd.oma.bcast.imd+xml": { - "source": "iana" - }, - "application/vnd.oma.bcast.ltkm": { - "source": "iana" - }, - "application/vnd.oma.bcast.notification+xml": { - "source": "iana" - }, - "application/vnd.oma.bcast.provisioningtrigger": { - "source": "iana" - }, - "application/vnd.oma.bcast.sgboot": { - "source": "iana" - }, - "application/vnd.oma.bcast.sgdd+xml": { - "source": "iana" - }, - "application/vnd.oma.bcast.sgdu": { - "source": "iana" - }, - "application/vnd.oma.bcast.simple-symbol-container": { - "source": "iana" - }, - "application/vnd.oma.bcast.smartcard-trigger+xml": { - "source": "iana" - }, - "application/vnd.oma.bcast.sprov+xml": { - "source": "iana" - }, - "application/vnd.oma.bcast.stkm": { - "source": "iana" - }, - "application/vnd.oma.cab-address-book+xml": { - "source": "iana" - }, - "application/vnd.oma.cab-feature-handler+xml": { - "source": "iana" - }, - "application/vnd.oma.cab-pcc+xml": { - "source": "iana" - }, - "application/vnd.oma.cab-subs-invite+xml": { - "source": "iana" - }, - "application/vnd.oma.cab-user-prefs+xml": { - "source": "iana" - }, - "application/vnd.oma.dcd": { - "source": "iana" - }, - "application/vnd.oma.dcdc": { - "source": "iana" - }, - "application/vnd.oma.dd2+xml": { - "source": "iana", - "extensions": ["dd2"] - }, - "application/vnd.oma.drm.risd+xml": { - "source": "iana" - }, - "application/vnd.oma.group-usage-list+xml": { - "source": "iana" - }, - "application/vnd.oma.lwm2m+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.oma.lwm2m+tlv": { - "source": "iana" - }, - "application/vnd.oma.pal+xml": { - "source": "iana" - }, - "application/vnd.oma.poc.detailed-progress-report+xml": { - "source": "iana" - }, - "application/vnd.oma.poc.final-report+xml": { - "source": "iana" - }, - "application/vnd.oma.poc.groups+xml": { - "source": "iana" - }, - "application/vnd.oma.poc.invocation-descriptor+xml": { - "source": "iana" - }, - "application/vnd.oma.poc.optimized-progress-report+xml": { - "source": "iana" - }, - "application/vnd.oma.push": { - "source": "iana" - }, - "application/vnd.oma.scidm.messages+xml": { - "source": "iana" - }, - "application/vnd.oma.xcap-directory+xml": { - "source": "iana" - }, - "application/vnd.omads-email+xml": { - "source": "iana" - }, - "application/vnd.omads-file+xml": { - "source": "iana" - }, - "application/vnd.omads-folder+xml": { - "source": "iana" - }, - "application/vnd.omaloc-supl-init": { - "source": "iana" - }, - "application/vnd.onepager": { - "source": "iana" - }, - "application/vnd.onepagertamp": { - "source": "iana" - }, - "application/vnd.onepagertamx": { - "source": "iana" - }, - "application/vnd.onepagertat": { - "source": "iana" - }, - "application/vnd.onepagertatp": { - "source": "iana" - }, - "application/vnd.onepagertatx": { - "source": "iana" - }, - "application/vnd.openblox.game+xml": { - "source": "iana" - }, - "application/vnd.openblox.game-binary": { - "source": "iana" - }, - "application/vnd.openeye.oeb": { - "source": "iana" - }, - "application/vnd.openofficeorg.extension": { - "source": "apache", - "extensions": ["oxt"] - }, - "application/vnd.openstreetmap.data+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.custom-properties+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.drawing+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.extended-properties+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml-template": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation": { - "source": "iana", - "compressible": false, - "extensions": ["pptx"] - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.slide": { - "source": "iana", - "extensions": ["sldx"] - }, - "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.slideshow": { - "source": "iana", - "extensions": ["ppsx"] - }, - "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.template": { - "source": "apache", - "extensions": ["potx"] - }, - "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml-template": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { - "source": "iana", - "compressible": false, - "extensions": ["xlsx"] - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.template": { - "source": "apache", - "extensions": ["xltx"] - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.theme+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.themeoverride+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.vmldrawing": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml-template": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.document": { - "source": "iana", - "compressible": false, - "extensions": ["docx"] - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.template": { - "source": "apache", - "extensions": ["dotx"] - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-package.core-properties+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": { - "source": "iana" - }, - "application/vnd.openxmlformats-package.relationships+xml": { - "source": "iana" - }, - "application/vnd.oracle.resource+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.orange.indata": { - "source": "iana" - }, - "application/vnd.osa.netdeploy": { - "source": "iana" - }, - "application/vnd.osgeo.mapguide.package": { - "source": "iana", - "extensions": ["mgp"] - }, - "application/vnd.osgi.bundle": { - "source": "iana" - }, - "application/vnd.osgi.dp": { - "source": "iana", - "extensions": ["dp"] - }, - "application/vnd.osgi.subsystem": { - "source": "iana", - "extensions": ["esa"] - }, - "application/vnd.otps.ct-kip+xml": { - "source": "iana" - }, - "application/vnd.oxli.countgraph": { - "source": "iana" - }, - "application/vnd.pagerduty+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.palm": { - "source": "iana", - "extensions": ["pdb","pqa","oprc"] - }, - "application/vnd.panoply": { - "source": "iana" - }, - "application/vnd.paos+xml": { - "source": "iana" - }, - "application/vnd.paos.xml": { - "source": "apache" - }, - "application/vnd.patentdive": { - "source": "iana" - }, - "application/vnd.pawaafile": { - "source": "iana", - "extensions": ["paw"] - }, - "application/vnd.pcos": { - "source": "iana" - }, - "application/vnd.pg.format": { - "source": "iana", - "extensions": ["str"] - }, - "application/vnd.pg.osasli": { - "source": "iana", - "extensions": ["ei6"] - }, - "application/vnd.piaccess.application-licence": { - "source": "iana" - }, - "application/vnd.picsel": { - "source": "iana", - "extensions": ["efif"] - }, - "application/vnd.pmi.widget": { - "source": "iana", - "extensions": ["wg"] - }, - "application/vnd.poc.group-advertisement+xml": { - "source": "iana" - }, - "application/vnd.pocketlearn": { - "source": "iana", - "extensions": ["plf"] - }, - "application/vnd.powerbuilder6": { - "source": "iana", - "extensions": ["pbd"] - }, - "application/vnd.powerbuilder6-s": { - "source": "iana" - }, - "application/vnd.powerbuilder7": { - "source": "iana" - }, - "application/vnd.powerbuilder7-s": { - "source": "iana" - }, - "application/vnd.powerbuilder75": { - "source": "iana" - }, - "application/vnd.powerbuilder75-s": { - "source": "iana" - }, - "application/vnd.preminet": { - "source": "iana" - }, - "application/vnd.previewsystems.box": { - "source": "iana", - "extensions": ["box"] - }, - "application/vnd.proteus.magazine": { - "source": "iana", - "extensions": ["mgz"] - }, - "application/vnd.publishare-delta-tree": { - "source": "iana", - "extensions": ["qps"] - }, - "application/vnd.pvi.ptid1": { - "source": "iana", - "extensions": ["ptid"] - }, - "application/vnd.pwg-multiplexed": { - "source": "iana" - }, - "application/vnd.pwg-xhtml-print+xml": { - "source": "iana" - }, - "application/vnd.qualcomm.brew-app-res": { - "source": "iana" - }, - "application/vnd.quarantainenet": { - "source": "iana" - }, - "application/vnd.quark.quarkxpress": { - "source": "iana", - "extensions": ["qxd","qxt","qwd","qwt","qxl","qxb"] - }, - "application/vnd.quobject-quoxdocument": { - "source": "iana" - }, - "application/vnd.radisys.moml+xml": { - "source": "iana" - }, - "application/vnd.radisys.msml+xml": { - "source": "iana" - }, - "application/vnd.radisys.msml-audit+xml": { - "source": "iana" - }, - "application/vnd.radisys.msml-audit-conf+xml": { - "source": "iana" - }, - "application/vnd.radisys.msml-audit-conn+xml": { - "source": "iana" - }, - "application/vnd.radisys.msml-audit-dialog+xml": { - "source": "iana" - }, - "application/vnd.radisys.msml-audit-stream+xml": { - "source": "iana" - }, - "application/vnd.radisys.msml-conf+xml": { - "source": "iana" - }, - "application/vnd.radisys.msml-dialog+xml": { - "source": "iana" - }, - "application/vnd.radisys.msml-dialog-base+xml": { - "source": "iana" - }, - "application/vnd.radisys.msml-dialog-fax-detect+xml": { - "source": "iana" - }, - "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": { - "source": "iana" - }, - "application/vnd.radisys.msml-dialog-group+xml": { - "source": "iana" - }, - "application/vnd.radisys.msml-dialog-speech+xml": { - "source": "iana" - }, - "application/vnd.radisys.msml-dialog-transform+xml": { - "source": "iana" - }, - "application/vnd.rainstor.data": { - "source": "iana" - }, - "application/vnd.rapid": { - "source": "iana" - }, - "application/vnd.rar": { - "source": "iana" - }, - "application/vnd.realvnc.bed": { - "source": "iana", - "extensions": ["bed"] - }, - "application/vnd.recordare.musicxml": { - "source": "iana", - "extensions": ["mxl"] - }, - "application/vnd.recordare.musicxml+xml": { - "source": "iana", - "extensions": ["musicxml"] - }, - "application/vnd.renlearn.rlprint": { - "source": "iana" - }, - "application/vnd.rig.cryptonote": { - "source": "iana", - "extensions": ["cryptonote"] - }, - "application/vnd.rim.cod": { - "source": "apache", - "extensions": ["cod"] - }, - "application/vnd.rn-realmedia": { - "source": "apache", - "extensions": ["rm"] - }, - "application/vnd.rn-realmedia-vbr": { - "source": "apache", - "extensions": ["rmvb"] - }, - "application/vnd.route66.link66+xml": { - "source": "iana", - "extensions": ["link66"] - }, - "application/vnd.rs-274x": { - "source": "iana" - }, - "application/vnd.ruckus.download": { - "source": "iana" - }, - "application/vnd.s3sms": { - "source": "iana" - }, - "application/vnd.sailingtracker.track": { - "source": "iana", - "extensions": ["st"] - }, - "application/vnd.sbm.cid": { - "source": "iana" - }, - "application/vnd.sbm.mid2": { - "source": "iana" - }, - "application/vnd.scribus": { - "source": "iana" - }, - "application/vnd.sealed.3df": { - "source": "iana" - }, - "application/vnd.sealed.csf": { - "source": "iana" - }, - "application/vnd.sealed.doc": { - "source": "iana" - }, - "application/vnd.sealed.eml": { - "source": "iana" - }, - "application/vnd.sealed.mht": { - "source": "iana" - }, - "application/vnd.sealed.net": { - "source": "iana" - }, - "application/vnd.sealed.ppt": { - "source": "iana" - }, - "application/vnd.sealed.tiff": { - "source": "iana" - }, - "application/vnd.sealed.xls": { - "source": "iana" - }, - "application/vnd.sealedmedia.softseal.html": { - "source": "iana" - }, - "application/vnd.sealedmedia.softseal.pdf": { - "source": "iana" - }, - "application/vnd.seemail": { - "source": "iana", - "extensions": ["see"] - }, - "application/vnd.sema": { - "source": "iana", - "extensions": ["sema"] - }, - "application/vnd.semd": { - "source": "iana", - "extensions": ["semd"] - }, - "application/vnd.semf": { - "source": "iana", - "extensions": ["semf"] - }, - "application/vnd.shana.informed.formdata": { - "source": "iana", - "extensions": ["ifm"] - }, - "application/vnd.shana.informed.formtemplate": { - "source": "iana", - "extensions": ["itp"] - }, - "application/vnd.shana.informed.interchange": { - "source": "iana", - "extensions": ["iif"] - }, - "application/vnd.shana.informed.package": { - "source": "iana", - "extensions": ["ipk"] - }, - "application/vnd.sigrok.session": { - "source": "iana" - }, - "application/vnd.simtech-mindmapper": { - "source": "iana", - "extensions": ["twd","twds"] - }, - "application/vnd.siren+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.smaf": { - "source": "iana", - "extensions": ["mmf"] - }, - "application/vnd.smart.notebook": { - "source": "iana" - }, - "application/vnd.smart.teacher": { - "source": "iana", - "extensions": ["teacher"] - }, - "application/vnd.software602.filler.form+xml": { - "source": "iana" - }, - "application/vnd.software602.filler.form-xml-zip": { - "source": "iana" - }, - "application/vnd.solent.sdkm+xml": { - "source": "iana", - "extensions": ["sdkm","sdkd"] - }, - "application/vnd.spotfire.dxp": { - "source": "iana", - "extensions": ["dxp"] - }, - "application/vnd.spotfire.sfs": { - "source": "iana", - "extensions": ["sfs"] - }, - "application/vnd.sss-cod": { - "source": "iana" - }, - "application/vnd.sss-dtf": { - "source": "iana" - }, - "application/vnd.sss-ntf": { - "source": "iana" - }, - "application/vnd.stardivision.calc": { - "source": "apache", - "extensions": ["sdc"] - }, - "application/vnd.stardivision.draw": { - "source": "apache", - "extensions": ["sda"] - }, - "application/vnd.stardivision.impress": { - "source": "apache", - "extensions": ["sdd"] - }, - "application/vnd.stardivision.math": { - "source": "apache", - "extensions": ["smf"] - }, - "application/vnd.stardivision.writer": { - "source": "apache", - "extensions": ["sdw","vor"] - }, - "application/vnd.stardivision.writer-global": { - "source": "apache", - "extensions": ["sgl"] - }, - "application/vnd.stepmania.package": { - "source": "iana", - "extensions": ["smzip"] - }, - "application/vnd.stepmania.stepchart": { - "source": "iana", - "extensions": ["sm"] - }, - "application/vnd.street-stream": { - "source": "iana" - }, - "application/vnd.sun.wadl+xml": { - "source": "iana", - "compressible": true, - "extensions": ["wadl"] - }, - "application/vnd.sun.xml.calc": { - "source": "apache", - "extensions": ["sxc"] - }, - "application/vnd.sun.xml.calc.template": { - "source": "apache", - "extensions": ["stc"] - }, - "application/vnd.sun.xml.draw": { - "source": "apache", - "extensions": ["sxd"] - }, - "application/vnd.sun.xml.draw.template": { - "source": "apache", - "extensions": ["std"] - }, - "application/vnd.sun.xml.impress": { - "source": "apache", - "extensions": ["sxi"] - }, - "application/vnd.sun.xml.impress.template": { - "source": "apache", - "extensions": ["sti"] - }, - "application/vnd.sun.xml.math": { - "source": "apache", - "extensions": ["sxm"] - }, - "application/vnd.sun.xml.writer": { - "source": "apache", - "extensions": ["sxw"] - }, - "application/vnd.sun.xml.writer.global": { - "source": "apache", - "extensions": ["sxg"] - }, - "application/vnd.sun.xml.writer.template": { - "source": "apache", - "extensions": ["stw"] - }, - "application/vnd.sus-calendar": { - "source": "iana", - "extensions": ["sus","susp"] - }, - "application/vnd.svd": { - "source": "iana", - "extensions": ["svd"] - }, - "application/vnd.swiftview-ics": { - "source": "iana" - }, - "application/vnd.symbian.install": { - "source": "apache", - "extensions": ["sis","sisx"] - }, - "application/vnd.syncml+xml": { - "source": "iana", - "extensions": ["xsm"] - }, - "application/vnd.syncml.dm+wbxml": { - "source": "iana", - "extensions": ["bdm"] - }, - "application/vnd.syncml.dm+xml": { - "source": "iana", - "extensions": ["xdm"] - }, - "application/vnd.syncml.dm.notification": { - "source": "iana" - }, - "application/vnd.syncml.dmddf+wbxml": { - "source": "iana" - }, - "application/vnd.syncml.dmddf+xml": { - "source": "iana" - }, - "application/vnd.syncml.dmtnds+wbxml": { - "source": "iana" - }, - "application/vnd.syncml.dmtnds+xml": { - "source": "iana" - }, - "application/vnd.syncml.ds.notification": { - "source": "iana" - }, - "application/vnd.tableschema+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.tao.intent-module-archive": { - "source": "iana", - "extensions": ["tao"] - }, - "application/vnd.tcpdump.pcap": { - "source": "iana", - "extensions": ["pcap","cap","dmp"] - }, - "application/vnd.tmd.mediaflex.api+xml": { - "source": "iana" - }, - "application/vnd.tml": { - "source": "iana" - }, - "application/vnd.tmobile-livetv": { - "source": "iana", - "extensions": ["tmo"] - }, - "application/vnd.tri.onesource": { - "source": "iana" - }, - "application/vnd.trid.tpt": { - "source": "iana", - "extensions": ["tpt"] - }, - "application/vnd.triscape.mxs": { - "source": "iana", - "extensions": ["mxs"] - }, - "application/vnd.trueapp": { - "source": "iana", - "extensions": ["tra"] - }, - "application/vnd.truedoc": { - "source": "iana" - }, - "application/vnd.ubisoft.webplayer": { - "source": "iana" - }, - "application/vnd.ufdl": { - "source": "iana", - "extensions": ["ufd","ufdl"] - }, - "application/vnd.uiq.theme": { - "source": "iana", - "extensions": ["utz"] - }, - "application/vnd.umajin": { - "source": "iana", - "extensions": ["umj"] - }, - "application/vnd.unity": { - "source": "iana", - "extensions": ["unityweb"] - }, - "application/vnd.uoml+xml": { - "source": "iana", - "extensions": ["uoml"] - }, - "application/vnd.uplanet.alert": { - "source": "iana" - }, - "application/vnd.uplanet.alert-wbxml": { - "source": "iana" - }, - "application/vnd.uplanet.bearer-choice": { - "source": "iana" - }, - "application/vnd.uplanet.bearer-choice-wbxml": { - "source": "iana" - }, - "application/vnd.uplanet.cacheop": { - "source": "iana" - }, - "application/vnd.uplanet.cacheop-wbxml": { - "source": "iana" - }, - "application/vnd.uplanet.channel": { - "source": "iana" - }, - "application/vnd.uplanet.channel-wbxml": { - "source": "iana" - }, - "application/vnd.uplanet.list": { - "source": "iana" - }, - "application/vnd.uplanet.list-wbxml": { - "source": "iana" - }, - "application/vnd.uplanet.listcmd": { - "source": "iana" - }, - "application/vnd.uplanet.listcmd-wbxml": { - "source": "iana" - }, - "application/vnd.uplanet.signal": { - "source": "iana" - }, - "application/vnd.uri-map": { - "source": "iana" - }, - "application/vnd.valve.source.material": { - "source": "iana" - }, - "application/vnd.vcx": { - "source": "iana", - "extensions": ["vcx"] - }, - "application/vnd.vd-study": { - "source": "iana" - }, - "application/vnd.vectorworks": { - "source": "iana" - }, - "application/vnd.vel+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.verimatrix.vcas": { - "source": "iana" - }, - "application/vnd.vidsoft.vidconference": { - "source": "iana" - }, - "application/vnd.visio": { - "source": "iana", - "extensions": ["vsd","vst","vss","vsw"] - }, - "application/vnd.visionary": { - "source": "iana", - "extensions": ["vis"] - }, - "application/vnd.vividence.scriptfile": { - "source": "iana" - }, - "application/vnd.vsf": { - "source": "iana", - "extensions": ["vsf"] - }, - "application/vnd.wap.sic": { - "source": "iana" - }, - "application/vnd.wap.slc": { - "source": "iana" - }, - "application/vnd.wap.wbxml": { - "source": "iana", - "extensions": ["wbxml"] - }, - "application/vnd.wap.wmlc": { - "source": "iana", - "extensions": ["wmlc"] - }, - "application/vnd.wap.wmlscriptc": { - "source": "iana", - "extensions": ["wmlsc"] - }, - "application/vnd.webturbo": { - "source": "iana", - "extensions": ["wtb"] - }, - "application/vnd.wfa.p2p": { - "source": "iana" - }, - "application/vnd.wfa.wsc": { - "source": "iana" - }, - "application/vnd.windows.devicepairing": { - "source": "iana" - }, - "application/vnd.wmc": { - "source": "iana" - }, - "application/vnd.wmf.bootstrap": { - "source": "iana" - }, - "application/vnd.wolfram.mathematica": { - "source": "iana" - }, - "application/vnd.wolfram.mathematica.package": { - "source": "iana" - }, - "application/vnd.wolfram.player": { - "source": "iana", - "extensions": ["nbp"] - }, - "application/vnd.wordperfect": { - "source": "iana", - "extensions": ["wpd"] - }, - "application/vnd.wqd": { - "source": "iana", - "extensions": ["wqd"] - }, - "application/vnd.wrq-hp3000-labelled": { - "source": "iana" - }, - "application/vnd.wt.stf": { - "source": "iana", - "extensions": ["stf"] - }, - "application/vnd.wv.csp+wbxml": { - "source": "iana" - }, - "application/vnd.wv.csp+xml": { - "source": "iana" - }, - "application/vnd.wv.ssp+xml": { - "source": "iana" - }, - "application/vnd.xacml+json": { - "source": "iana", - "compressible": true - }, - "application/vnd.xara": { - "source": "iana", - "extensions": ["xar"] - }, - "application/vnd.xfdl": { - "source": "iana", - "extensions": ["xfdl"] - }, - "application/vnd.xfdl.webform": { - "source": "iana" - }, - "application/vnd.xmi+xml": { - "source": "iana" - }, - "application/vnd.xmpie.cpkg": { - "source": "iana" - }, - "application/vnd.xmpie.dpkg": { - "source": "iana" - }, - "application/vnd.xmpie.plan": { - "source": "iana" - }, - "application/vnd.xmpie.ppkg": { - "source": "iana" - }, - "application/vnd.xmpie.xlim": { - "source": "iana" - }, - "application/vnd.yamaha.hv-dic": { - "source": "iana", - "extensions": ["hvd"] - }, - "application/vnd.yamaha.hv-script": { - "source": "iana", - "extensions": ["hvs"] - }, - "application/vnd.yamaha.hv-voice": { - "source": "iana", - "extensions": ["hvp"] - }, - "application/vnd.yamaha.openscoreformat": { - "source": "iana", - "extensions": ["osf"] - }, - "application/vnd.yamaha.openscoreformat.osfpvg+xml": { - "source": "iana", - "extensions": ["osfpvg"] - }, - "application/vnd.yamaha.remote-setup": { - "source": "iana" - }, - "application/vnd.yamaha.smaf-audio": { - "source": "iana", - "extensions": ["saf"] - }, - "application/vnd.yamaha.smaf-phrase": { - "source": "iana", - "extensions": ["spf"] - }, - "application/vnd.yamaha.through-ngn": { - "source": "iana" - }, - "application/vnd.yamaha.tunnel-udpencap": { - "source": "iana" - }, - "application/vnd.yaoweme": { - "source": "iana" - }, - "application/vnd.yellowriver-custom-menu": { - "source": "iana", - "extensions": ["cmp"] - }, - "application/vnd.zul": { - "source": "iana", - "extensions": ["zir","zirz"] - }, - "application/vnd.zzazz.deck+xml": { - "source": "iana", - "extensions": ["zaz"] - }, - "application/voicexml+xml": { - "source": "iana", - "extensions": ["vxml"] - }, - "application/vq-rtcpxr": { - "source": "iana" - }, - "application/wasm": { - "compressible": true, - "extensions": ["wasm"] - }, - "application/watcherinfo+xml": { - "source": "iana" - }, - "application/webpush-options+json": { - "source": "iana", - "compressible": true - }, - "application/whoispp-query": { - "source": "iana" - }, - "application/whoispp-response": { - "source": "iana" - }, - "application/widget": { - "source": "iana", - "extensions": ["wgt"] - }, - "application/winhlp": { - "source": "apache", - "extensions": ["hlp"] - }, - "application/wita": { - "source": "iana" - }, - "application/wordperfect5.1": { - "source": "iana" - }, - "application/wsdl+xml": { - "source": "iana", - "extensions": ["wsdl"] - }, - "application/wspolicy+xml": { - "source": "iana", - "extensions": ["wspolicy"] - }, - "application/x-7z-compressed": { - "source": "apache", - "compressible": false, - "extensions": ["7z"] - }, - "application/x-abiword": { - "source": "apache", - "extensions": ["abw"] - }, - "application/x-ace-compressed": { - "source": "apache", - "extensions": ["ace"] - }, - "application/x-amf": { - "source": "apache" - }, - "application/x-apple-diskimage": { - "source": "apache", - "extensions": ["dmg"] - }, - "application/x-arj": { - "compressible": false, - "extensions": ["arj"] - }, - "application/x-authorware-bin": { - "source": "apache", - "extensions": ["aab","x32","u32","vox"] - }, - "application/x-authorware-map": { - "source": "apache", - "extensions": ["aam"] - }, - "application/x-authorware-seg": { - "source": "apache", - "extensions": ["aas"] - }, - "application/x-bcpio": { - "source": "apache", - "extensions": ["bcpio"] - }, - "application/x-bdoc": { - "compressible": false, - "extensions": ["bdoc"] - }, - "application/x-bittorrent": { - "source": "apache", - "extensions": ["torrent"] - }, - "application/x-blorb": { - "source": "apache", - "extensions": ["blb","blorb"] - }, - "application/x-bzip": { - "source": "apache", - "compressible": false, - "extensions": ["bz"] - }, - "application/x-bzip2": { - "source": "apache", - "compressible": false, - "extensions": ["bz2","boz"] - }, - "application/x-cbr": { - "source": "apache", - "extensions": ["cbr","cba","cbt","cbz","cb7"] - }, - "application/x-cdlink": { - "source": "apache", - "extensions": ["vcd"] - }, - "application/x-cfs-compressed": { - "source": "apache", - "extensions": ["cfs"] - }, - "application/x-chat": { - "source": "apache", - "extensions": ["chat"] - }, - "application/x-chess-pgn": { - "source": "apache", - "extensions": ["pgn"] - }, - "application/x-chrome-extension": { - "extensions": ["crx"] - }, - "application/x-cocoa": { - "source": "nginx", - "extensions": ["cco"] - }, - "application/x-compress": { - "source": "apache" - }, - "application/x-conference": { - "source": "apache", - "extensions": ["nsc"] - }, - "application/x-cpio": { - "source": "apache", - "extensions": ["cpio"] - }, - "application/x-csh": { - "source": "apache", - "extensions": ["csh"] - }, - "application/x-deb": { - "compressible": false - }, - "application/x-debian-package": { - "source": "apache", - "extensions": ["deb","udeb"] - }, - "application/x-dgc-compressed": { - "source": "apache", - "extensions": ["dgc"] - }, - "application/x-director": { - "source": "apache", - "extensions": ["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"] - }, - "application/x-doom": { - "source": "apache", - "extensions": ["wad"] - }, - "application/x-dtbncx+xml": { - "source": "apache", - "extensions": ["ncx"] - }, - "application/x-dtbook+xml": { - "source": "apache", - "extensions": ["dtb"] - }, - "application/x-dtbresource+xml": { - "source": "apache", - "extensions": ["res"] - }, - "application/x-dvi": { - "source": "apache", - "compressible": false, - "extensions": ["dvi"] - }, - "application/x-envoy": { - "source": "apache", - "extensions": ["evy"] - }, - "application/x-eva": { - "source": "apache", - "extensions": ["eva"] - }, - "application/x-font-bdf": { - "source": "apache", - "extensions": ["bdf"] - }, - "application/x-font-dos": { - "source": "apache" - }, - "application/x-font-framemaker": { - "source": "apache" - }, - "application/x-font-ghostscript": { - "source": "apache", - "extensions": ["gsf"] - }, - "application/x-font-libgrx": { - "source": "apache" - }, - "application/x-font-linux-psf": { - "source": "apache", - "extensions": ["psf"] - }, - "application/x-font-pcf": { - "source": "apache", - "extensions": ["pcf"] - }, - "application/x-font-snf": { - "source": "apache", - "extensions": ["snf"] - }, - "application/x-font-speedo": { - "source": "apache" - }, - "application/x-font-sunos-news": { - "source": "apache" - }, - "application/x-font-type1": { - "source": "apache", - "extensions": ["pfa","pfb","pfm","afm"] - }, - "application/x-font-vfont": { - "source": "apache" - }, - "application/x-freearc": { - "source": "apache", - "extensions": ["arc"] - }, - "application/x-futuresplash": { - "source": "apache", - "extensions": ["spl"] - }, - "application/x-gca-compressed": { - "source": "apache", - "extensions": ["gca"] - }, - "application/x-glulx": { - "source": "apache", - "extensions": ["ulx"] - }, - "application/x-gnumeric": { - "source": "apache", - "extensions": ["gnumeric"] - }, - "application/x-gramps-xml": { - "source": "apache", - "extensions": ["gramps"] - }, - "application/x-gtar": { - "source": "apache", - "extensions": ["gtar"] - }, - "application/x-gzip": { - "source": "apache" - }, - "application/x-hdf": { - "source": "apache", - "extensions": ["hdf"] - }, - "application/x-httpd-php": { - "compressible": true, - "extensions": ["php"] - }, - "application/x-install-instructions": { - "source": "apache", - "extensions": ["install"] - }, - "application/x-iso9660-image": { - "source": "apache", - "extensions": ["iso"] - }, - "application/x-java-archive-diff": { - "source": "nginx", - "extensions": ["jardiff"] - }, - "application/x-java-jnlp-file": { - "source": "apache", - "compressible": false, - "extensions": ["jnlp"] - }, - "application/x-javascript": { - "compressible": true - }, - "application/x-latex": { - "source": "apache", - "compressible": false, - "extensions": ["latex"] - }, - "application/x-lua-bytecode": { - "extensions": ["luac"] - }, - "application/x-lzh-compressed": { - "source": "apache", - "extensions": ["lzh","lha"] - }, - "application/x-makeself": { - "source": "nginx", - "extensions": ["run"] - }, - "application/x-mie": { - "source": "apache", - "extensions": ["mie"] - }, - "application/x-mobipocket-ebook": { - "source": "apache", - "extensions": ["prc","mobi"] - }, - "application/x-mpegurl": { - "compressible": false - }, - "application/x-ms-application": { - "source": "apache", - "extensions": ["application"] - }, - "application/x-ms-shortcut": { - "source": "apache", - "extensions": ["lnk"] - }, - "application/x-ms-wmd": { - "source": "apache", - "extensions": ["wmd"] - }, - "application/x-ms-wmz": { - "source": "apache", - "extensions": ["wmz"] - }, - "application/x-ms-xbap": { - "source": "apache", - "extensions": ["xbap"] - }, - "application/x-msaccess": { - "source": "apache", - "extensions": ["mdb"] - }, - "application/x-msbinder": { - "source": "apache", - "extensions": ["obd"] - }, - "application/x-mscardfile": { - "source": "apache", - "extensions": ["crd"] - }, - "application/x-msclip": { - "source": "apache", - "extensions": ["clp"] - }, - "application/x-msdos-program": { - "extensions": ["exe"] - }, - "application/x-msdownload": { - "source": "apache", - "extensions": ["exe","dll","com","bat","msi"] - }, - "application/x-msmediaview": { - "source": "apache", - "extensions": ["mvb","m13","m14"] - }, - "application/x-msmetafile": { - "source": "apache", - "extensions": ["wmf","wmz","emf","emz"] - }, - "application/x-msmoney": { - "source": "apache", - "extensions": ["mny"] - }, - "application/x-mspublisher": { - "source": "apache", - "extensions": ["pub"] - }, - "application/x-msschedule": { - "source": "apache", - "extensions": ["scd"] - }, - "application/x-msterminal": { - "source": "apache", - "extensions": ["trm"] - }, - "application/x-mswrite": { - "source": "apache", - "extensions": ["wri"] - }, - "application/x-netcdf": { - "source": "apache", - "extensions": ["nc","cdf"] - }, - "application/x-ns-proxy-autoconfig": { - "compressible": true, - "extensions": ["pac"] - }, - "application/x-nzb": { - "source": "apache", - "extensions": ["nzb"] - }, - "application/x-perl": { - "source": "nginx", - "extensions": ["pl","pm"] - }, - "application/x-pilot": { - "source": "nginx", - "extensions": ["prc","pdb"] - }, - "application/x-pkcs12": { - "source": "apache", - "compressible": false, - "extensions": ["p12","pfx"] - }, - "application/x-pkcs7-certificates": { - "source": "apache", - "extensions": ["p7b","spc"] - }, - "application/x-pkcs7-certreqresp": { - "source": "apache", - "extensions": ["p7r"] - }, - "application/x-rar-compressed": { - "source": "apache", - "compressible": false, - "extensions": ["rar"] - }, - "application/x-redhat-package-manager": { - "source": "nginx", - "extensions": ["rpm"] - }, - "application/x-research-info-systems": { - "source": "apache", - "extensions": ["ris"] - }, - "application/x-sea": { - "source": "nginx", - "extensions": ["sea"] - }, - "application/x-sh": { - "source": "apache", - "compressible": true, - "extensions": ["sh"] - }, - "application/x-shar": { - "source": "apache", - "extensions": ["shar"] - }, - "application/x-shockwave-flash": { - "source": "apache", - "compressible": false, - "extensions": ["swf"] - }, - "application/x-silverlight-app": { - "source": "apache", - "extensions": ["xap"] - }, - "application/x-sql": { - "source": "apache", - "extensions": ["sql"] - }, - "application/x-stuffit": { - "source": "apache", - "compressible": false, - "extensions": ["sit"] - }, - "application/x-stuffitx": { - "source": "apache", - "extensions": ["sitx"] - }, - "application/x-subrip": { - "source": "apache", - "extensions": ["srt"] - }, - "application/x-sv4cpio": { - "source": "apache", - "extensions": ["sv4cpio"] - }, - "application/x-sv4crc": { - "source": "apache", - "extensions": ["sv4crc"] - }, - "application/x-t3vm-image": { - "source": "apache", - "extensions": ["t3"] - }, - "application/x-tads": { - "source": "apache", - "extensions": ["gam"] - }, - "application/x-tar": { - "source": "apache", - "compressible": true, - "extensions": ["tar"] - }, - "application/x-tcl": { - "source": "apache", - "extensions": ["tcl","tk"] - }, - "application/x-tex": { - "source": "apache", - "extensions": ["tex"] - }, - "application/x-tex-tfm": { - "source": "apache", - "extensions": ["tfm"] - }, - "application/x-texinfo": { - "source": "apache", - "extensions": ["texinfo","texi"] - }, - "application/x-tgif": { - "source": "apache", - "extensions": ["obj"] - }, - "application/x-ustar": { - "source": "apache", - "extensions": ["ustar"] - }, - "application/x-virtualbox-hdd": { - "compressible": true, - "extensions": ["hdd"] - }, - "application/x-virtualbox-ova": { - "compressible": true, - "extensions": ["ova"] - }, - "application/x-virtualbox-ovf": { - "compressible": true, - "extensions": ["ovf"] - }, - "application/x-virtualbox-vbox": { - "compressible": true, - "extensions": ["vbox"] - }, - "application/x-virtualbox-vbox-extpack": { - "compressible": false, - "extensions": ["vbox-extpack"] - }, - "application/x-virtualbox-vdi": { - "compressible": true, - "extensions": ["vdi"] - }, - "application/x-virtualbox-vhd": { - "compressible": true, - "extensions": ["vhd"] - }, - "application/x-virtualbox-vmdk": { - "compressible": true, - "extensions": ["vmdk"] - }, - "application/x-wais-source": { - "source": "apache", - "extensions": ["src"] - }, - "application/x-web-app-manifest+json": { - "compressible": true, - "extensions": ["webapp"] - }, - "application/x-www-form-urlencoded": { - "source": "iana", - "compressible": true - }, - "application/x-x509-ca-cert": { - "source": "apache", - "extensions": ["der","crt","pem"] - }, - "application/x-xfig": { - "source": "apache", - "extensions": ["fig"] - }, - "application/x-xliff+xml": { - "source": "apache", - "extensions": ["xlf"] - }, - "application/x-xpinstall": { - "source": "apache", - "compressible": false, - "extensions": ["xpi"] - }, - "application/x-xz": { - "source": "apache", - "extensions": ["xz"] - }, - "application/x-zmachine": { - "source": "apache", - "extensions": ["z1","z2","z3","z4","z5","z6","z7","z8"] - }, - "application/x400-bp": { - "source": "iana" - }, - "application/xacml+xml": { - "source": "iana" - }, - "application/xaml+xml": { - "source": "apache", - "extensions": ["xaml"] - }, - "application/xcap-att+xml": { - "source": "iana" - }, - "application/xcap-caps+xml": { - "source": "iana" - }, - "application/xcap-diff+xml": { - "source": "iana", - "extensions": ["xdf"] - }, - "application/xcap-el+xml": { - "source": "iana" - }, - "application/xcap-error+xml": { - "source": "iana" - }, - "application/xcap-ns+xml": { - "source": "iana" - }, - "application/xcon-conference-info+xml": { - "source": "iana" - }, - "application/xcon-conference-info-diff+xml": { - "source": "iana" - }, - "application/xenc+xml": { - "source": "iana", - "extensions": ["xenc"] - }, - "application/xhtml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xhtml","xht"] - }, - "application/xhtml-voice+xml": { - "source": "apache" - }, - "application/xml": { - "source": "iana", - "compressible": true, - "extensions": ["xml","xsl","xsd","rng"] - }, - "application/xml-dtd": { - "source": "iana", - "compressible": true, - "extensions": ["dtd"] - }, - "application/xml-external-parsed-entity": { - "source": "iana" - }, - "application/xml-patch+xml": { - "source": "iana" - }, - "application/xmpp+xml": { - "source": "iana" - }, - "application/xop+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xop"] - }, - "application/xproc+xml": { - "source": "apache", - "extensions": ["xpl"] - }, - "application/xslt+xml": { - "source": "iana", - "extensions": ["xslt"] - }, - "application/xspf+xml": { - "source": "apache", - "extensions": ["xspf"] - }, - "application/xv+xml": { - "source": "iana", - "extensions": ["mxml","xhvml","xvml","xvm"] - }, - "application/yang": { - "source": "iana", - "extensions": ["yang"] - }, - "application/yang-data+json": { - "source": "iana", - "compressible": true - }, - "application/yang-data+xml": { - "source": "iana" - }, - "application/yang-patch+json": { - "source": "iana", - "compressible": true - }, - "application/yang-patch+xml": { - "source": "iana" - }, - "application/yin+xml": { - "source": "iana", - "extensions": ["yin"] - }, - "application/zip": { - "source": "iana", - "compressible": false, - "extensions": ["zip"] - }, - "application/zlib": { - "source": "iana" - }, - "audio/1d-interleaved-parityfec": { - "source": "iana" - }, - "audio/32kadpcm": { - "source": "iana" - }, - "audio/3gpp": { - "source": "iana", - "compressible": false, - "extensions": ["3gpp"] - }, - "audio/3gpp2": { - "source": "iana" - }, - "audio/ac3": { - "source": "iana" - }, - "audio/adpcm": { - "source": "apache", - "extensions": ["adp"] - }, - "audio/amr": { - "source": "iana" - }, - "audio/amr-wb": { - "source": "iana" - }, - "audio/amr-wb+": { - "source": "iana" - }, - "audio/aptx": { - "source": "iana" - }, - "audio/asc": { - "source": "iana" - }, - "audio/atrac-advanced-lossless": { - "source": "iana" - }, - "audio/atrac-x": { - "source": "iana" - }, - "audio/atrac3": { - "source": "iana" - }, - "audio/basic": { - "source": "iana", - "compressible": false, - "extensions": ["au","snd"] - }, - "audio/bv16": { - "source": "iana" - }, - "audio/bv32": { - "source": "iana" - }, - "audio/clearmode": { - "source": "iana" - }, - "audio/cn": { - "source": "iana" - }, - "audio/dat12": { - "source": "iana" - }, - "audio/dls": { - "source": "iana" - }, - "audio/dsr-es201108": { - "source": "iana" - }, - "audio/dsr-es202050": { - "source": "iana" - }, - "audio/dsr-es202211": { - "source": "iana" - }, - "audio/dsr-es202212": { - "source": "iana" - }, - "audio/dv": { - "source": "iana" - }, - "audio/dvi4": { - "source": "iana" - }, - "audio/eac3": { - "source": "iana" - }, - "audio/encaprtp": { - "source": "iana" - }, - "audio/evrc": { - "source": "iana" - }, - "audio/evrc-qcp": { - "source": "iana" - }, - "audio/evrc0": { - "source": "iana" - }, - "audio/evrc1": { - "source": "iana" - }, - "audio/evrcb": { - "source": "iana" - }, - "audio/evrcb0": { - "source": "iana" - }, - "audio/evrcb1": { - "source": "iana" - }, - "audio/evrcnw": { - "source": "iana" - }, - "audio/evrcnw0": { - "source": "iana" - }, - "audio/evrcnw1": { - "source": "iana" - }, - "audio/evrcwb": { - "source": "iana" - }, - "audio/evrcwb0": { - "source": "iana" - }, - "audio/evrcwb1": { - "source": "iana" - }, - "audio/evs": { - "source": "iana" - }, - "audio/fwdred": { - "source": "iana" - }, - "audio/g711-0": { - "source": "iana" - }, - "audio/g719": { - "source": "iana" - }, - "audio/g722": { - "source": "iana" - }, - "audio/g7221": { - "source": "iana" - }, - "audio/g723": { - "source": "iana" - }, - "audio/g726-16": { - "source": "iana" - }, - "audio/g726-24": { - "source": "iana" - }, - "audio/g726-32": { - "source": "iana" - }, - "audio/g726-40": { - "source": "iana" - }, - "audio/g728": { - "source": "iana" - }, - "audio/g729": { - "source": "iana" - }, - "audio/g7291": { - "source": "iana" - }, - "audio/g729d": { - "source": "iana" - }, - "audio/g729e": { - "source": "iana" - }, - "audio/gsm": { - "source": "iana" - }, - "audio/gsm-efr": { - "source": "iana" - }, - "audio/gsm-hr-08": { - "source": "iana" - }, - "audio/ilbc": { - "source": "iana" - }, - "audio/ip-mr_v2.5": { - "source": "iana" - }, - "audio/isac": { - "source": "apache" - }, - "audio/l16": { - "source": "iana" - }, - "audio/l20": { - "source": "iana" - }, - "audio/l24": { - "source": "iana", - "compressible": false - }, - "audio/l8": { - "source": "iana" - }, - "audio/lpc": { - "source": "iana" - }, - "audio/melp": { - "source": "iana" - }, - "audio/melp1200": { - "source": "iana" - }, - "audio/melp2400": { - "source": "iana" - }, - "audio/melp600": { - "source": "iana" - }, - "audio/midi": { - "source": "apache", - "extensions": ["mid","midi","kar","rmi"] - }, - "audio/mobile-xmf": { - "source": "iana" - }, - "audio/mp3": { - "compressible": false, - "extensions": ["mp3"] - }, - "audio/mp4": { - "source": "iana", - "compressible": false, - "extensions": ["m4a","mp4a"] - }, - "audio/mp4a-latm": { - "source": "iana" - }, - "audio/mpa": { - "source": "iana" - }, - "audio/mpa-robust": { - "source": "iana" - }, - "audio/mpeg": { - "source": "iana", - "compressible": false, - "extensions": ["mpga","mp2","mp2a","mp3","m2a","m3a"] - }, - "audio/mpeg4-generic": { - "source": "iana" - }, - "audio/musepack": { - "source": "apache" - }, - "audio/ogg": { - "source": "iana", - "compressible": false, - "extensions": ["oga","ogg","spx"] - }, - "audio/opus": { - "source": "iana" - }, - "audio/parityfec": { - "source": "iana" - }, - "audio/pcma": { - "source": "iana" - }, - "audio/pcma-wb": { - "source": "iana" - }, - "audio/pcmu": { - "source": "iana" - }, - "audio/pcmu-wb": { - "source": "iana" - }, - "audio/prs.sid": { - "source": "iana" - }, - "audio/qcelp": { - "source": "iana" - }, - "audio/raptorfec": { - "source": "iana" - }, - "audio/red": { - "source": "iana" - }, - "audio/rtp-enc-aescm128": { - "source": "iana" - }, - "audio/rtp-midi": { - "source": "iana" - }, - "audio/rtploopback": { - "source": "iana" - }, - "audio/rtx": { - "source": "iana" - }, - "audio/s3m": { - "source": "apache", - "extensions": ["s3m"] - }, - "audio/silk": { - "source": "apache", - "extensions": ["sil"] - }, - "audio/smv": { - "source": "iana" - }, - "audio/smv-qcp": { - "source": "iana" - }, - "audio/smv0": { - "source": "iana" - }, - "audio/sp-midi": { - "source": "iana" - }, - "audio/speex": { - "source": "iana" - }, - "audio/t140c": { - "source": "iana" - }, - "audio/t38": { - "source": "iana" - }, - "audio/telephone-event": { - "source": "iana" - }, - "audio/tone": { - "source": "iana" - }, - "audio/uemclip": { - "source": "iana" - }, - "audio/ulpfec": { - "source": "iana" - }, - "audio/vdvi": { - "source": "iana" - }, - "audio/vmr-wb": { - "source": "iana" - }, - "audio/vnd.3gpp.iufp": { - "source": "iana" - }, - "audio/vnd.4sb": { - "source": "iana" - }, - "audio/vnd.audiokoz": { - "source": "iana" - }, - "audio/vnd.celp": { - "source": "iana" - }, - "audio/vnd.cisco.nse": { - "source": "iana" - }, - "audio/vnd.cmles.radio-events": { - "source": "iana" - }, - "audio/vnd.cns.anp1": { - "source": "iana" - }, - "audio/vnd.cns.inf1": { - "source": "iana" - }, - "audio/vnd.dece.audio": { - "source": "iana", - "extensions": ["uva","uvva"] - }, - "audio/vnd.digital-winds": { - "source": "iana", - "extensions": ["eol"] - }, - "audio/vnd.dlna.adts": { - "source": "iana" - }, - "audio/vnd.dolby.heaac.1": { - "source": "iana" - }, - "audio/vnd.dolby.heaac.2": { - "source": "iana" - }, - "audio/vnd.dolby.mlp": { - "source": "iana" - }, - "audio/vnd.dolby.mps": { - "source": "iana" - }, - "audio/vnd.dolby.pl2": { - "source": "iana" - }, - "audio/vnd.dolby.pl2x": { - "source": "iana" - }, - "audio/vnd.dolby.pl2z": { - "source": "iana" - }, - "audio/vnd.dolby.pulse.1": { - "source": "iana" - }, - "audio/vnd.dra": { - "source": "iana", - "extensions": ["dra"] - }, - "audio/vnd.dts": { - "source": "iana", - "extensions": ["dts"] - }, - "audio/vnd.dts.hd": { - "source": "iana", - "extensions": ["dtshd"] - }, - "audio/vnd.dvb.file": { - "source": "iana" - }, - "audio/vnd.everad.plj": { - "source": "iana" - }, - "audio/vnd.hns.audio": { - "source": "iana" - }, - "audio/vnd.lucent.voice": { - "source": "iana", - "extensions": ["lvp"] - }, - "audio/vnd.ms-playready.media.pya": { - "source": "iana", - "extensions": ["pya"] - }, - "audio/vnd.nokia.mobile-xmf": { - "source": "iana" - }, - "audio/vnd.nortel.vbk": { - "source": "iana" - }, - "audio/vnd.nuera.ecelp4800": { - "source": "iana", - "extensions": ["ecelp4800"] - }, - "audio/vnd.nuera.ecelp7470": { - "source": "iana", - "extensions": ["ecelp7470"] - }, - "audio/vnd.nuera.ecelp9600": { - "source": "iana", - "extensions": ["ecelp9600"] - }, - "audio/vnd.octel.sbc": { - "source": "iana" - }, - "audio/vnd.presonus.multitrack": { - "source": "iana" - }, - "audio/vnd.qcelp": { - "source": "iana" - }, - "audio/vnd.rhetorex.32kadpcm": { - "source": "iana" - }, - "audio/vnd.rip": { - "source": "iana", - "extensions": ["rip"] - }, - "audio/vnd.rn-realaudio": { - "compressible": false - }, - "audio/vnd.sealedmedia.softseal.mpeg": { - "source": "iana" - }, - "audio/vnd.vmx.cvsd": { - "source": "iana" - }, - "audio/vnd.wave": { - "compressible": false - }, - "audio/vorbis": { - "source": "iana", - "compressible": false - }, - "audio/vorbis-config": { - "source": "iana" - }, - "audio/wav": { - "compressible": false, - "extensions": ["wav"] - }, - "audio/wave": { - "compressible": false, - "extensions": ["wav"] - }, - "audio/webm": { - "source": "apache", - "compressible": false, - "extensions": ["weba"] - }, - "audio/x-aac": { - "source": "apache", - "compressible": false, - "extensions": ["aac"] - }, - "audio/x-aiff": { - "source": "apache", - "extensions": ["aif","aiff","aifc"] - }, - "audio/x-caf": { - "source": "apache", - "compressible": false, - "extensions": ["caf"] - }, - "audio/x-flac": { - "source": "apache", - "extensions": ["flac"] - }, - "audio/x-m4a": { - "source": "nginx", - "extensions": ["m4a"] - }, - "audio/x-matroska": { - "source": "apache", - "extensions": ["mka"] - }, - "audio/x-mpegurl": { - "source": "apache", - "extensions": ["m3u"] - }, - "audio/x-ms-wax": { - "source": "apache", - "extensions": ["wax"] - }, - "audio/x-ms-wma": { - "source": "apache", - "extensions": ["wma"] - }, - "audio/x-pn-realaudio": { - "source": "apache", - "extensions": ["ram","ra"] - }, - "audio/x-pn-realaudio-plugin": { - "source": "apache", - "extensions": ["rmp"] - }, - "audio/x-realaudio": { - "source": "nginx", - "extensions": ["ra"] - }, - "audio/x-tta": { - "source": "apache" - }, - "audio/x-wav": { - "source": "apache", - "extensions": ["wav"] - }, - "audio/xm": { - "source": "apache", - "extensions": ["xm"] - }, - "chemical/x-cdx": { - "source": "apache", - "extensions": ["cdx"] - }, - "chemical/x-cif": { - "source": "apache", - "extensions": ["cif"] - }, - "chemical/x-cmdf": { - "source": "apache", - "extensions": ["cmdf"] - }, - "chemical/x-cml": { - "source": "apache", - "extensions": ["cml"] - }, - "chemical/x-csml": { - "source": "apache", - "extensions": ["csml"] - }, - "chemical/x-pdb": { - "source": "apache" - }, - "chemical/x-xyz": { - "source": "apache", - "extensions": ["xyz"] - }, - "font/collection": { - "source": "iana", - "extensions": ["ttc"] - }, - "font/otf": { - "source": "iana", - "compressible": true, - "extensions": ["otf"] - }, - "font/sfnt": { - "source": "iana" - }, - "font/ttf": { - "source": "iana", - "extensions": ["ttf"] - }, - "font/woff": { - "source": "iana", - "extensions": ["woff"] - }, - "font/woff2": { - "source": "iana", - "extensions": ["woff2"] - }, - "image/apng": { - "compressible": false, - "extensions": ["apng"] - }, - "image/bmp": { - "source": "iana", - "compressible": true, - "extensions": ["bmp"] - }, - "image/cgm": { - "source": "iana", - "extensions": ["cgm"] - }, - "image/dicom-rle": { - "source": "iana" - }, - "image/emf": { - "source": "iana" - }, - "image/fits": { - "source": "iana" - }, - "image/g3fax": { - "source": "iana", - "extensions": ["g3"] - }, - "image/gif": { - "source": "iana", - "compressible": false, - "extensions": ["gif"] - }, - "image/ief": { - "source": "iana", - "extensions": ["ief"] - }, - "image/jls": { - "source": "iana" - }, - "image/jp2": { - "source": "iana", - "compressible": false, - "extensions": ["jp2","jpg2"] - }, - "image/jpeg": { - "source": "iana", - "compressible": false, - "extensions": ["jpeg","jpg","jpe"] - }, - "image/jpm": { - "source": "iana", - "compressible": false, - "extensions": ["jpm"] - }, - "image/jpx": { - "source": "iana", - "compressible": false, - "extensions": ["jpx","jpf"] - }, - "image/ktx": { - "source": "iana", - "extensions": ["ktx"] - }, - "image/naplps": { - "source": "iana" - }, - "image/pjpeg": { - "compressible": false - }, - "image/png": { - "source": "iana", - "compressible": false, - "extensions": ["png"] - }, - "image/prs.btif": { - "source": "iana", - "extensions": ["btif"] - }, - "image/prs.pti": { - "source": "iana" - }, - "image/pwg-raster": { - "source": "iana" - }, - "image/sgi": { - "source": "apache", - "extensions": ["sgi"] - }, - "image/svg+xml": { - "source": "iana", - "compressible": true, - "extensions": ["svg","svgz"] - }, - "image/t38": { - "source": "iana" - }, - "image/tiff": { - "source": "iana", - "compressible": false, - "extensions": ["tiff","tif"] - }, - "image/tiff-fx": { - "source": "iana" - }, - "image/vnd.adobe.photoshop": { - "source": "iana", - "compressible": true, - "extensions": ["psd"] - }, - "image/vnd.airzip.accelerator.azv": { - "source": "iana" - }, - "image/vnd.cns.inf2": { - "source": "iana" - }, - "image/vnd.dece.graphic": { - "source": "iana", - "extensions": ["uvi","uvvi","uvg","uvvg"] - }, - "image/vnd.djvu": { - "source": "iana", - "extensions": ["djvu","djv"] - }, - "image/vnd.dvb.subtitle": { - "source": "iana", - "extensions": ["sub"] - }, - "image/vnd.dwg": { - "source": "iana", - "extensions": ["dwg"] - }, - "image/vnd.dxf": { - "source": "iana", - "extensions": ["dxf"] - }, - "image/vnd.fastbidsheet": { - "source": "iana", - "extensions": ["fbs"] - }, - "image/vnd.fpx": { - "source": "iana", - "extensions": ["fpx"] - }, - "image/vnd.fst": { - "source": "iana", - "extensions": ["fst"] - }, - "image/vnd.fujixerox.edmics-mmr": { - "source": "iana", - "extensions": ["mmr"] - }, - "image/vnd.fujixerox.edmics-rlc": { - "source": "iana", - "extensions": ["rlc"] - }, - "image/vnd.globalgraphics.pgb": { - "source": "iana" - }, - "image/vnd.microsoft.icon": { - "source": "iana" - }, - "image/vnd.mix": { - "source": "iana" - }, - "image/vnd.mozilla.apng": { - "source": "iana" - }, - "image/vnd.ms-modi": { - "source": "iana", - "extensions": ["mdi"] - }, - "image/vnd.ms-photo": { - "source": "apache", - "extensions": ["wdp"] - }, - "image/vnd.net-fpx": { - "source": "iana", - "extensions": ["npx"] - }, - "image/vnd.radiance": { - "source": "iana" - }, - "image/vnd.sealed.png": { - "source": "iana" - }, - "image/vnd.sealedmedia.softseal.gif": { - "source": "iana" - }, - "image/vnd.sealedmedia.softseal.jpg": { - "source": "iana" - }, - "image/vnd.svf": { - "source": "iana" - }, - "image/vnd.tencent.tap": { - "source": "iana" - }, - "image/vnd.valve.source.texture": { - "source": "iana" - }, - "image/vnd.wap.wbmp": { - "source": "iana", - "extensions": ["wbmp"] - }, - "image/vnd.xiff": { - "source": "iana", - "extensions": ["xif"] - }, - "image/vnd.zbrush.pcx": { - "source": "iana" - }, - "image/webp": { - "source": "apache", - "extensions": ["webp"] - }, - "image/wmf": { - "source": "iana" - }, - "image/x-3ds": { - "source": "apache", - "extensions": ["3ds"] - }, - "image/x-cmu-raster": { - "source": "apache", - "extensions": ["ras"] - }, - "image/x-cmx": { - "source": "apache", - "extensions": ["cmx"] - }, - "image/x-freehand": { - "source": "apache", - "extensions": ["fh","fhc","fh4","fh5","fh7"] - }, - "image/x-icon": { - "source": "apache", - "compressible": true, - "extensions": ["ico"] - }, - "image/x-jng": { - "source": "nginx", - "extensions": ["jng"] - }, - "image/x-mrsid-image": { - "source": "apache", - "extensions": ["sid"] - }, - "image/x-ms-bmp": { - "source": "nginx", - "compressible": true, - "extensions": ["bmp"] - }, - "image/x-pcx": { - "source": "apache", - "extensions": ["pcx"] - }, - "image/x-pict": { - "source": "apache", - "extensions": ["pic","pct"] - }, - "image/x-portable-anymap": { - "source": "apache", - "extensions": ["pnm"] - }, - "image/x-portable-bitmap": { - "source": "apache", - "extensions": ["pbm"] - }, - "image/x-portable-graymap": { - "source": "apache", - "extensions": ["pgm"] - }, - "image/x-portable-pixmap": { - "source": "apache", - "extensions": ["ppm"] - }, - "image/x-rgb": { - "source": "apache", - "extensions": ["rgb"] - }, - "image/x-tga": { - "source": "apache", - "extensions": ["tga"] - }, - "image/x-xbitmap": { - "source": "apache", - "extensions": ["xbm"] - }, - "image/x-xcf": { - "compressible": false - }, - "image/x-xpixmap": { - "source": "apache", - "extensions": ["xpm"] - }, - "image/x-xwindowdump": { - "source": "apache", - "extensions": ["xwd"] - }, - "message/cpim": { - "source": "iana" - }, - "message/delivery-status": { - "source": "iana" - }, - "message/disposition-notification": { - "source": "iana" - }, - "message/external-body": { - "source": "iana" - }, - "message/feedback-report": { - "source": "iana" - }, - "message/global": { - "source": "iana" - }, - "message/global-delivery-status": { - "source": "iana" - }, - "message/global-disposition-notification": { - "source": "iana" - }, - "message/global-headers": { - "source": "iana" - }, - "message/http": { - "source": "iana", - "compressible": false - }, - "message/imdn+xml": { - "source": "iana", - "compressible": true - }, - "message/news": { - "source": "iana" - }, - "message/partial": { - "source": "iana", - "compressible": false - }, - "message/rfc822": { - "source": "iana", - "compressible": true, - "extensions": ["eml","mime"] - }, - "message/s-http": { - "source": "iana" - }, - "message/sip": { - "source": "iana" - }, - "message/sipfrag": { - "source": "iana" - }, - "message/tracking-status": { - "source": "iana" - }, - "message/vnd.si.simp": { - "source": "iana" - }, - "message/vnd.wfa.wsc": { - "source": "iana" - }, - "model/3mf": { - "source": "iana" - }, - "model/gltf+json": { - "source": "iana", - "compressible": true, - "extensions": ["gltf"] - }, - "model/gltf-binary": { - "source": "iana", - "compressible": true, - "extensions": ["glb"] - }, - "model/iges": { - "source": "iana", - "compressible": false, - "extensions": ["igs","iges"] - }, - "model/mesh": { - "source": "iana", - "compressible": false, - "extensions": ["msh","mesh","silo"] - }, - "model/vnd.collada+xml": { - "source": "iana", - "extensions": ["dae"] - }, - "model/vnd.dwf": { - "source": "iana", - "extensions": ["dwf"] - }, - "model/vnd.flatland.3dml": { - "source": "iana" - }, - "model/vnd.gdl": { - "source": "iana", - "extensions": ["gdl"] - }, - "model/vnd.gs-gdl": { - "source": "apache" - }, - "model/vnd.gs.gdl": { - "source": "iana" - }, - "model/vnd.gtw": { - "source": "iana", - "extensions": ["gtw"] - }, - "model/vnd.moml+xml": { - "source": "iana" - }, - "model/vnd.mts": { - "source": "iana", - "extensions": ["mts"] - }, - "model/vnd.opengex": { - "source": "iana" - }, - "model/vnd.parasolid.transmit.binary": { - "source": "iana" - }, - "model/vnd.parasolid.transmit.text": { - "source": "iana" - }, - "model/vnd.rosette.annotated-data-model": { - "source": "iana" - }, - "model/vnd.valve.source.compiled-map": { - "source": "iana" - }, - "model/vnd.vtu": { - "source": "iana", - "extensions": ["vtu"] - }, - "model/vrml": { - "source": "iana", - "compressible": false, - "extensions": ["wrl","vrml"] - }, - "model/x3d+binary": { - "source": "apache", - "compressible": false, - "extensions": ["x3db","x3dbz"] - }, - "model/x3d+fastinfoset": { - "source": "iana" - }, - "model/x3d+vrml": { - "source": "apache", - "compressible": false, - "extensions": ["x3dv","x3dvz"] - }, - "model/x3d+xml": { - "source": "iana", - "compressible": true, - "extensions": ["x3d","x3dz"] - }, - "model/x3d-vrml": { - "source": "iana" - }, - "multipart/alternative": { - "source": "iana", - "compressible": false - }, - "multipart/appledouble": { - "source": "iana" - }, - "multipart/byteranges": { - "source": "iana" - }, - "multipart/digest": { - "source": "iana" - }, - "multipart/encrypted": { - "source": "iana", - "compressible": false - }, - "multipart/form-data": { - "source": "iana", - "compressible": false - }, - "multipart/header-set": { - "source": "iana" - }, - "multipart/mixed": { - "source": "iana", - "compressible": false - }, - "multipart/multilingual": { - "source": "iana" - }, - "multipart/parallel": { - "source": "iana" - }, - "multipart/related": { - "source": "iana", - "compressible": false - }, - "multipart/report": { - "source": "iana" - }, - "multipart/signed": { - "source": "iana", - "compressible": false - }, - "multipart/vnd.bint.med-plus": { - "source": "iana" - }, - "multipart/voice-message": { - "source": "iana" - }, - "multipart/x-mixed-replace": { - "source": "iana" - }, - "text/1d-interleaved-parityfec": { - "source": "iana" - }, - "text/cache-manifest": { - "source": "iana", - "compressible": true, - "extensions": ["appcache","manifest"] - }, - "text/calendar": { - "source": "iana", - "extensions": ["ics","ifb"] - }, - "text/calender": { - "compressible": true - }, - "text/cmd": { - "compressible": true - }, - "text/coffeescript": { - "extensions": ["coffee","litcoffee"] - }, - "text/css": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["css"] - }, - "text/csv": { - "source": "iana", - "compressible": true, - "extensions": ["csv"] - }, - "text/csv-schema": { - "source": "iana" - }, - "text/directory": { - "source": "iana" - }, - "text/dns": { - "source": "iana" - }, - "text/ecmascript": { - "source": "iana" - }, - "text/encaprtp": { - "source": "iana" - }, - "text/enriched": { - "source": "iana" - }, - "text/fwdred": { - "source": "iana" - }, - "text/grammar-ref-list": { - "source": "iana" - }, - "text/html": { - "source": "iana", - "compressible": true, - "extensions": ["html","htm","shtml"] - }, - "text/jade": { - "extensions": ["jade"] - }, - "text/javascript": { - "source": "iana", - "compressible": true - }, - "text/jcr-cnd": { - "source": "iana" - }, - "text/jsx": { - "compressible": true, - "extensions": ["jsx"] - }, - "text/less": { - "extensions": ["less"] - }, - "text/markdown": { - "source": "iana", - "compressible": true, - "extensions": ["markdown","md"] - }, - "text/mathml": { - "source": "nginx", - "extensions": ["mml"] - }, - "text/mizar": { - "source": "iana" - }, - "text/n3": { - "source": "iana", - "compressible": true, - "extensions": ["n3"] - }, - "text/parameters": { - "source": "iana" - }, - "text/parityfec": { - "source": "iana" - }, - "text/plain": { - "source": "iana", - "compressible": true, - "extensions": ["txt","text","conf","def","list","log","in","ini"] - }, - "text/provenance-notation": { - "source": "iana" - }, - "text/prs.fallenstein.rst": { - "source": "iana" - }, - "text/prs.lines.tag": { - "source": "iana", - "extensions": ["dsc"] - }, - "text/prs.prop.logic": { - "source": "iana" - }, - "text/raptorfec": { - "source": "iana" - }, - "text/red": { - "source": "iana" - }, - "text/rfc822-headers": { - "source": "iana" - }, - "text/richtext": { - "source": "iana", - "compressible": true, - "extensions": ["rtx"] - }, - "text/rtf": { - "source": "iana", - "compressible": true, - "extensions": ["rtf"] - }, - "text/rtp-enc-aescm128": { - "source": "iana" - }, - "text/rtploopback": { - "source": "iana" - }, - "text/rtx": { - "source": "iana" - }, - "text/sgml": { - "source": "iana", - "extensions": ["sgml","sgm"] - }, - "text/shex": { - "extensions": ["shex"] - }, - "text/slim": { - "extensions": ["slim","slm"] - }, - "text/strings": { - "source": "iana" - }, - "text/stylus": { - "extensions": ["stylus","styl"] - }, - "text/t140": { - "source": "iana" - }, - "text/tab-separated-values": { - "source": "iana", - "compressible": true, - "extensions": ["tsv"] - }, - "text/troff": { - "source": "iana", - "extensions": ["t","tr","roff","man","me","ms"] - }, - "text/turtle": { - "source": "iana", - "extensions": ["ttl"] - }, - "text/ulpfec": { - "source": "iana" - }, - "text/uri-list": { - "source": "iana", - "compressible": true, - "extensions": ["uri","uris","urls"] - }, - "text/vcard": { - "source": "iana", - "compressible": true, - "extensions": ["vcard"] - }, - "text/vnd.a": { - "source": "iana" - }, - "text/vnd.abc": { - "source": "iana" - }, - "text/vnd.ascii-art": { - "source": "iana" - }, - "text/vnd.curl": { - "source": "iana", - "extensions": ["curl"] - }, - "text/vnd.curl.dcurl": { - "source": "apache", - "extensions": ["dcurl"] - }, - "text/vnd.curl.mcurl": { - "source": "apache", - "extensions": ["mcurl"] - }, - "text/vnd.curl.scurl": { - "source": "apache", - "extensions": ["scurl"] - }, - "text/vnd.debian.copyright": { - "source": "iana" - }, - "text/vnd.dmclientscript": { - "source": "iana" - }, - "text/vnd.dvb.subtitle": { - "source": "iana", - "extensions": ["sub"] - }, - "text/vnd.esmertec.theme-descriptor": { - "source": "iana" - }, - "text/vnd.fly": { - "source": "iana", - "extensions": ["fly"] - }, - "text/vnd.fmi.flexstor": { - "source": "iana", - "extensions": ["flx"] - }, - "text/vnd.graphviz": { - "source": "iana", - "extensions": ["gv"] - }, - "text/vnd.in3d.3dml": { - "source": "iana", - "extensions": ["3dml"] - }, - "text/vnd.in3d.spot": { - "source": "iana", - "extensions": ["spot"] - }, - "text/vnd.iptc.newsml": { - "source": "iana" - }, - "text/vnd.iptc.nitf": { - "source": "iana" - }, - "text/vnd.latex-z": { - "source": "iana" - }, - "text/vnd.motorola.reflex": { - "source": "iana" - }, - "text/vnd.ms-mediapackage": { - "source": "iana" - }, - "text/vnd.net2phone.commcenter.command": { - "source": "iana" - }, - "text/vnd.radisys.msml-basic-layout": { - "source": "iana" - }, - "text/vnd.si.uricatalogue": { - "source": "iana" - }, - "text/vnd.sun.j2me.app-descriptor": { - "source": "iana", - "extensions": ["jad"] - }, - "text/vnd.trolltech.linguist": { - "source": "iana" - }, - "text/vnd.wap.si": { - "source": "iana" - }, - "text/vnd.wap.sl": { - "source": "iana" - }, - "text/vnd.wap.wml": { - "source": "iana", - "extensions": ["wml"] - }, - "text/vnd.wap.wmlscript": { - "source": "iana", - "extensions": ["wmls"] - }, - "text/vtt": { - "charset": "UTF-8", - "compressible": true, - "extensions": ["vtt"] - }, - "text/x-asm": { - "source": "apache", - "extensions": ["s","asm"] - }, - "text/x-c": { - "source": "apache", - "extensions": ["c","cc","cxx","cpp","h","hh","dic"] - }, - "text/x-component": { - "source": "nginx", - "extensions": ["htc"] - }, - "text/x-fortran": { - "source": "apache", - "extensions": ["f","for","f77","f90"] - }, - "text/x-gwt-rpc": { - "compressible": true - }, - "text/x-handlebars-template": { - "extensions": ["hbs"] - }, - "text/x-java-source": { - "source": "apache", - "extensions": ["java"] - }, - "text/x-jquery-tmpl": { - "compressible": true - }, - "text/x-lua": { - "extensions": ["lua"] - }, - "text/x-markdown": { - "compressible": true, - "extensions": ["mkd"] - }, - "text/x-nfo": { - "source": "apache", - "extensions": ["nfo"] - }, - "text/x-opml": { - "source": "apache", - "extensions": ["opml"] - }, - "text/x-org": { - "compressible": true, - "extensions": ["org"] - }, - "text/x-pascal": { - "source": "apache", - "extensions": ["p","pas"] - }, - "text/x-processing": { - "compressible": true, - "extensions": ["pde"] - }, - "text/x-sass": { - "extensions": ["sass"] - }, - "text/x-scss": { - "extensions": ["scss"] - }, - "text/x-setext": { - "source": "apache", - "extensions": ["etx"] - }, - "text/x-sfv": { - "source": "apache", - "extensions": ["sfv"] - }, - "text/x-suse-ymp": { - "compressible": true, - "extensions": ["ymp"] - }, - "text/x-uuencode": { - "source": "apache", - "extensions": ["uu"] - }, - "text/x-vcalendar": { - "source": "apache", - "extensions": ["vcs"] - }, - "text/x-vcard": { - "source": "apache", - "extensions": ["vcf"] - }, - "text/xml": { - "source": "iana", - "compressible": true, - "extensions": ["xml"] - }, - "text/xml-external-parsed-entity": { - "source": "iana" - }, - "text/yaml": { - "extensions": ["yaml","yml"] - }, - "video/1d-interleaved-parityfec": { - "source": "iana" - }, - "video/3gpp": { - "source": "iana", - "extensions": ["3gp","3gpp"] - }, - "video/3gpp-tt": { - "source": "iana" - }, - "video/3gpp2": { - "source": "iana", - "extensions": ["3g2"] - }, - "video/bmpeg": { - "source": "iana" - }, - "video/bt656": { - "source": "iana" - }, - "video/celb": { - "source": "iana" - }, - "video/dv": { - "source": "iana" - }, - "video/encaprtp": { - "source": "iana" - }, - "video/h261": { - "source": "iana", - "extensions": ["h261"] - }, - "video/h263": { - "source": "iana", - "extensions": ["h263"] - }, - "video/h263-1998": { - "source": "iana" - }, - "video/h263-2000": { - "source": "iana" - }, - "video/h264": { - "source": "iana", - "extensions": ["h264"] - }, - "video/h264-rcdo": { - "source": "iana" - }, - "video/h264-svc": { - "source": "iana" - }, - "video/h265": { - "source": "iana" - }, - "video/iso.segment": { - "source": "iana" - }, - "video/jpeg": { - "source": "iana", - "extensions": ["jpgv"] - }, - "video/jpeg2000": { - "source": "iana" - }, - "video/jpm": { - "source": "apache", - "extensions": ["jpm","jpgm"] - }, - "video/mj2": { - "source": "iana", - "extensions": ["mj2","mjp2"] - }, - "video/mp1s": { - "source": "iana" - }, - "video/mp2p": { - "source": "iana" - }, - "video/mp2t": { - "source": "iana", - "extensions": ["ts"] - }, - "video/mp4": { - "source": "iana", - "compressible": false, - "extensions": ["mp4","mp4v","mpg4"] - }, - "video/mp4v-es": { - "source": "iana" - }, - "video/mpeg": { - "source": "iana", - "compressible": false, - "extensions": ["mpeg","mpg","mpe","m1v","m2v"] - }, - "video/mpeg4-generic": { - "source": "iana" - }, - "video/mpv": { - "source": "iana" - }, - "video/nv": { - "source": "iana" - }, - "video/ogg": { - "source": "iana", - "compressible": false, - "extensions": ["ogv"] - }, - "video/parityfec": { - "source": "iana" - }, - "video/pointer": { - "source": "iana" - }, - "video/quicktime": { - "source": "iana", - "compressible": false, - "extensions": ["qt","mov"] - }, - "video/raptorfec": { - "source": "iana" - }, - "video/raw": { - "source": "iana" - }, - "video/rtp-enc-aescm128": { - "source": "iana" - }, - "video/rtploopback": { - "source": "iana" - }, - "video/rtx": { - "source": "iana" - }, - "video/smpte291": { - "source": "iana" - }, - "video/smpte292m": { - "source": "iana" - }, - "video/ulpfec": { - "source": "iana" - }, - "video/vc1": { - "source": "iana" - }, - "video/vnd.cctv": { - "source": "iana" - }, - "video/vnd.dece.hd": { - "source": "iana", - "extensions": ["uvh","uvvh"] - }, - "video/vnd.dece.mobile": { - "source": "iana", - "extensions": ["uvm","uvvm"] - }, - "video/vnd.dece.mp4": { - "source": "iana" - }, - "video/vnd.dece.pd": { - "source": "iana", - "extensions": ["uvp","uvvp"] - }, - "video/vnd.dece.sd": { - "source": "iana", - "extensions": ["uvs","uvvs"] - }, - "video/vnd.dece.video": { - "source": "iana", - "extensions": ["uvv","uvvv"] - }, - "video/vnd.directv.mpeg": { - "source": "iana" - }, - "video/vnd.directv.mpeg-tts": { - "source": "iana" - }, - "video/vnd.dlna.mpeg-tts": { - "source": "iana" - }, - "video/vnd.dvb.file": { - "source": "iana", - "extensions": ["dvb"] - }, - "video/vnd.fvt": { - "source": "iana", - "extensions": ["fvt"] - }, - "video/vnd.hns.video": { - "source": "iana" - }, - "video/vnd.iptvforum.1dparityfec-1010": { - "source": "iana" - }, - "video/vnd.iptvforum.1dparityfec-2005": { - "source": "iana" - }, - "video/vnd.iptvforum.2dparityfec-1010": { - "source": "iana" - }, - "video/vnd.iptvforum.2dparityfec-2005": { - "source": "iana" - }, - "video/vnd.iptvforum.ttsavc": { - "source": "iana" - }, - "video/vnd.iptvforum.ttsmpeg2": { - "source": "iana" - }, - "video/vnd.motorola.video": { - "source": "iana" - }, - "video/vnd.motorola.videop": { - "source": "iana" - }, - "video/vnd.mpegurl": { - "source": "iana", - "extensions": ["mxu","m4u"] - }, - "video/vnd.ms-playready.media.pyv": { - "source": "iana", - "extensions": ["pyv"] - }, - "video/vnd.nokia.interleaved-multimedia": { - "source": "iana" - }, - "video/vnd.nokia.mp4vr": { - "source": "iana" - }, - "video/vnd.nokia.videovoip": { - "source": "iana" - }, - "video/vnd.objectvideo": { - "source": "iana" - }, - "video/vnd.radgamettools.bink": { - "source": "iana" - }, - "video/vnd.radgamettools.smacker": { - "source": "iana" - }, - "video/vnd.sealed.mpeg1": { - "source": "iana" - }, - "video/vnd.sealed.mpeg4": { - "source": "iana" - }, - "video/vnd.sealed.swf": { - "source": "iana" - }, - "video/vnd.sealedmedia.softseal.mov": { - "source": "iana" - }, - "video/vnd.uvvu.mp4": { - "source": "iana", - "extensions": ["uvu","uvvu"] - }, - "video/vnd.vivo": { - "source": "iana", - "extensions": ["viv"] - }, - "video/vp8": { - "source": "iana" - }, - "video/webm": { - "source": "apache", - "compressible": false, - "extensions": ["webm"] - }, - "video/x-f4v": { - "source": "apache", - "extensions": ["f4v"] - }, - "video/x-fli": { - "source": "apache", - "extensions": ["fli"] - }, - "video/x-flv": { - "source": "apache", - "compressible": false, - "extensions": ["flv"] - }, - "video/x-m4v": { - "source": "apache", - "extensions": ["m4v"] - }, - "video/x-matroska": { - "source": "apache", - "compressible": false, - "extensions": ["mkv","mk3d","mks"] - }, - "video/x-mng": { - "source": "apache", - "extensions": ["mng"] - }, - "video/x-ms-asf": { - "source": "apache", - "extensions": ["asf","asx"] - }, - "video/x-ms-vob": { - "source": "apache", - "extensions": ["vob"] - }, - "video/x-ms-wm": { - "source": "apache", - "extensions": ["wm"] - }, - "video/x-ms-wmv": { - "source": "apache", - "compressible": false, - "extensions": ["wmv"] - }, - "video/x-ms-wmx": { - "source": "apache", - "extensions": ["wmx"] - }, - "video/x-ms-wvx": { - "source": "apache", - "extensions": ["wvx"] - }, - "video/x-msvideo": { - "source": "apache", - "extensions": ["avi"] - }, - "video/x-sgi-movie": { - "source": "apache", - "extensions": ["movie"] - }, - "video/x-smv": { - "source": "apache", - "extensions": ["smv"] - }, - "x-conference/x-cooltalk": { - "source": "apache", - "extensions": ["ice"] - }, - "x-shader/x-fragment": { - "compressible": true - }, - "x-shader/x-vertex": { - "compressible": true - } -} diff --git a/electron/src/node_modules/mime-db/index.js b/electron/src/node_modules/mime-db/index.js deleted file mode 100755 index 551031f..0000000 --- a/electron/src/node_modules/mime-db/index.js +++ /dev/null @@ -1,11 +0,0 @@ -/*! - * mime-db - * Copyright(c) 2014 Jonathan Ong - * MIT Licensed - */ - -/** - * Module exports. - */ - -module.exports = require('./db.json') diff --git a/electron/src/node_modules/mime-db/package.json b/electron/src/node_modules/mime-db/package.json deleted file mode 100755 index 7fb2b6a..0000000 --- a/electron/src/node_modules/mime-db/package.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "mime-db", - "description": "Media Type Database", - "version": "1.32.0", - "contributors": [ - "Douglas Christopher Wilson ", - "Jonathan Ong (http://jongleberry.com)", - "Robert Kieffer (http://github.com/broofa)" - ], - "license": "MIT", - "keywords": [ - "mime", - "db", - "type", - "types", - "database", - "charset", - "charsets" - ], - "repository": "jshttp/mime-db", - "devDependencies": { - "bluebird": "3.5.1", - "co": "4.6.0", - "cogent": "1.0.1", - "csv-parse": "1.3.1", - "eslint": "3.19.0", - "eslint-config-standard": "10.2.1", - "eslint-plugin-import": "2.8.0", - "eslint-plugin-node": "5.2.1", - "eslint-plugin-promise": "3.6.0", - "eslint-plugin-standard": "3.0.1", - "gnode": "0.1.2", - "mocha": "1.21.5", - "nyc": "11.3.0", - "raw-body": "2.3.2", - "stream-to-array": "2.3.0" - }, - "files": [ - "HISTORY.md", - "LICENSE", - "README.md", - "db.json", - "index.js" - ], - "engines": { - "node": ">= 0.6" - }, - "scripts": { - "build": "node scripts/build", - "fetch": "gnode scripts/fetch-apache && gnode scripts/fetch-iana && gnode scripts/fetch-nginx", - "lint": "eslint .", - "test": "mocha --reporter spec --bail --check-leaks test/", - "test-cov": "nyc --reporter=html --reporter=text npm test", - "test-travis": "nyc --reporter=text npm test", - "update": "npm run fetch && npm run build" - } -} diff --git a/electron/src/node_modules/modify-filename/index.js b/electron/src/node_modules/modify-filename/index.js deleted file mode 100755 index 1c53fba..0000000 --- a/electron/src/node_modules/modify-filename/index.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; -var path = require('path'); - -module.exports = function modifyFilename(pth, modifier) { - if (arguments.length !== 2) { - throw new Error('`path` and `modifier` required'); - } - - if (Array.isArray(pth)) { - return pth.map(function (el) { - return modifyFilename(el, modifier); - }); - } - - var ext = path.extname(pth); - return path.join(path.dirname(pth), modifier(path.basename(pth, ext), ext)); -}; diff --git a/electron/src/node_modules/modify-filename/license b/electron/src/node_modules/modify-filename/license deleted file mode 100755 index 654d0bf..0000000 --- a/electron/src/node_modules/modify-filename/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/electron/src/node_modules/modify-filename/package.json b/electron/src/node_modules/modify-filename/package.json deleted file mode 100755 index d3904aa..0000000 --- a/electron/src/node_modules/modify-filename/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "modify-filename", - "version": "1.1.0", - "description": "Modify the filename in a path", - "license": "MIT", - "repository": "sindresorhus/modify-filename", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "test": "node test.js" - }, - "files": [ - "index.js" - ], - "keywords": [ - "modify", - "change", - "replace", - "filename", - "file", - "name", - "path" - ], - "devDependencies": { - "ava": "0.0.4" - } -} diff --git a/electron/src/node_modules/modify-filename/readme.md b/electron/src/node_modules/modify-filename/readme.md deleted file mode 100755 index 1c3ec3b..0000000 --- a/electron/src/node_modules/modify-filename/readme.md +++ /dev/null @@ -1,32 +0,0 @@ -# modify-filename [![Build Status](https://travis-ci.org/sindresorhus/modify-filename.svg?branch=master)](https://travis-ci.org/sindresorhus/modify-filename) - -> Modify the filename in a path - - -## Install - -``` -$ npm install --save modify-filename -``` - - -## Usage - -```js -var modifyFilename = require('modify-filename'); - -modifyFilename('src/unicorn.png', function (filename, extension) { - return filename + '-rainbow' + extension; -}); -//=> 'src/unicorn-rainbow.png' - -modifyFilename(['src/unicorn.png', 'src/pony.png'], function (filename, extension) { - return filename + '-rainbow' + extension; -}); -//=> ['src/unicorn-rainbow.png', 'src/pony-rainbow.png'] -``` - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/electron/src/node_modules/ms/index.js b/electron/src/node_modules/ms/index.js deleted file mode 100755 index 6a522b1..0000000 --- a/electron/src/node_modules/ms/index.js +++ /dev/null @@ -1,152 +0,0 @@ -/** - * Helpers. - */ - -var s = 1000; -var m = s * 60; -var h = m * 60; -var d = h * 24; -var y = d * 365.25; - -/** - * Parse or format the given `val`. - * - * Options: - * - * - `long` verbose formatting [false] - * - * @param {String|Number} val - * @param {Object} [options] - * @throws {Error} throw an error if val is not a non-empty string or a number - * @return {String|Number} - * @api public - */ - -module.exports = function(val, options) { - options = options || {}; - var type = typeof val; - if (type === 'string' && val.length > 0) { - return parse(val); - } else if (type === 'number' && isNaN(val) === false) { - return options.long ? fmtLong(val) : fmtShort(val); - } - throw new Error( - 'val is not a non-empty string or a valid number. val=' + - JSON.stringify(val) - ); -}; - -/** - * Parse the given `str` and return milliseconds. - * - * @param {String} str - * @return {Number} - * @api private - */ - -function parse(str) { - str = String(str); - if (str.length > 100) { - return; - } - var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec( - str - ); - if (!match) { - return; - } - var n = parseFloat(match[1]); - var type = (match[2] || 'ms').toLowerCase(); - switch (type) { - case 'years': - case 'year': - case 'yrs': - case 'yr': - case 'y': - return n * y; - case 'days': - case 'day': - case 'd': - return n * d; - case 'hours': - case 'hour': - case 'hrs': - case 'hr': - case 'h': - return n * h; - case 'minutes': - case 'minute': - case 'mins': - case 'min': - case 'm': - return n * m; - case 'seconds': - case 'second': - case 'secs': - case 'sec': - case 's': - return n * s; - case 'milliseconds': - case 'millisecond': - case 'msecs': - case 'msec': - case 'ms': - return n; - default: - return undefined; - } -} - -/** - * Short format for `ms`. - * - * @param {Number} ms - * @return {String} - * @api private - */ - -function fmtShort(ms) { - if (ms >= d) { - return Math.round(ms / d) + 'd'; - } - if (ms >= h) { - return Math.round(ms / h) + 'h'; - } - if (ms >= m) { - return Math.round(ms / m) + 'm'; - } - if (ms >= s) { - return Math.round(ms / s) + 's'; - } - return ms + 'ms'; -} - -/** - * Long format for `ms`. - * - * @param {Number} ms - * @return {String} - * @api private - */ - -function fmtLong(ms) { - return plural(ms, d, 'day') || - plural(ms, h, 'hour') || - plural(ms, m, 'minute') || - plural(ms, s, 'second') || - ms + ' ms'; -} - -/** - * Pluralization helper. - */ - -function plural(ms, n, name) { - if (ms < n) { - return; - } - if (ms < n * 1.5) { - return Math.floor(ms / n) + ' ' + name; - } - return Math.ceil(ms / n) + ' ' + name + 's'; -} diff --git a/electron/src/node_modules/ms/package.json b/electron/src/node_modules/ms/package.json deleted file mode 100755 index 6a31c81..0000000 --- a/electron/src/node_modules/ms/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "ms", - "version": "2.0.0", - "description": "Tiny milisecond conversion utility", - "repository": "zeit/ms", - "main": "./index", - "files": [ - "index.js" - ], - "scripts": { - "precommit": "lint-staged", - "lint": "eslint lib/* bin/*", - "test": "mocha tests.js" - }, - "eslintConfig": { - "extends": "eslint:recommended", - "env": { - "node": true, - "es6": true - } - }, - "lint-staged": { - "*.js": [ - "npm run lint", - "prettier --single-quote --write", - "git add" - ] - }, - "license": "MIT", - "devDependencies": { - "eslint": "3.19.0", - "expect.js": "0.3.1", - "husky": "0.13.3", - "lint-staged": "3.4.1", - "mocha": "3.4.1" - } -} diff --git a/electron/src/node_modules/ms/readme.md b/electron/src/node_modules/ms/readme.md deleted file mode 100755 index 84a9974..0000000 --- a/electron/src/node_modules/ms/readme.md +++ /dev/null @@ -1,51 +0,0 @@ -# ms - -[![Build Status](https://travis-ci.org/zeit/ms.svg?branch=master)](https://travis-ci.org/zeit/ms) -[![Slack Channel](http://zeit-slackin.now.sh/badge.svg)](https://zeit.chat/) - -Use this package to easily convert various time formats to milliseconds. - -## Examples - -```js -ms('2 days') // 172800000 -ms('1d') // 86400000 -ms('10h') // 36000000 -ms('2.5 hrs') // 9000000 -ms('2h') // 7200000 -ms('1m') // 60000 -ms('5s') // 5000 -ms('1y') // 31557600000 -ms('100') // 100 -``` - -### Convert from milliseconds - -```js -ms(60000) // "1m" -ms(2 * 60000) // "2m" -ms(ms('10 hours')) // "10h" -``` - -### Time format written-out - -```js -ms(60000, { long: true }) // "1 minute" -ms(2 * 60000, { long: true }) // "2 minutes" -ms(ms('10 hours'), { long: true }) // "10 hours" -``` - -## Features - -- Works both in [node](https://nodejs.org) and in the browser. -- If a number is supplied to `ms`, a string with a unit is returned. -- If a string that contains the number is supplied, it returns it as a number (e.g.: it returns `100` for `'100'`). -- If you pass a string with a number and a valid unit, the number of equivalent ms is returned. - -## Caught a bug? - -1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device -2. Link the package to the global module directory: `npm link` -3. Within the module you want to test your local development instance of ms, just link it to the dependencies: `npm link ms`. Instead of the default one from npm, node will now use your clone of ms! - -As always, you can run the tests using: `npm test` diff --git a/electron/src/node_modules/path-exists/index.js b/electron/src/node_modules/path-exists/index.js deleted file mode 100755 index 16ae60a..0000000 --- a/electron/src/node_modules/path-exists/index.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; -const fs = require('fs'); - -module.exports = fp => new Promise(resolve => { - fs.access(fp, err => { - resolve(!err); - }); -}); - -module.exports.sync = fp => { - try { - fs.accessSync(fp); - return true; - } catch (err) { - return false; - } -}; diff --git a/electron/src/node_modules/path-exists/license b/electron/src/node_modules/path-exists/license deleted file mode 100755 index 654d0bf..0000000 --- a/electron/src/node_modules/path-exists/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/electron/src/node_modules/path-exists/package.json b/electron/src/node_modules/path-exists/package.json deleted file mode 100755 index efd5626..0000000 --- a/electron/src/node_modules/path-exists/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "path-exists", - "version": "3.0.0", - "description": "Check if a path exists", - "license": "MIT", - "repository": "sindresorhus/path-exists", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=4" - }, - "scripts": { - "test": "xo && ava" - }, - "files": [ - "index.js" - ], - "keywords": [ - "path", - "exists", - "exist", - "file", - "filepath", - "fs", - "filesystem", - "file-system", - "access", - "stat" - ], - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "xo": { - "esnext": true - } -} diff --git a/electron/src/node_modules/path-exists/readme.md b/electron/src/node_modules/path-exists/readme.md deleted file mode 100755 index 1b65fa7..0000000 --- a/electron/src/node_modules/path-exists/readme.md +++ /dev/null @@ -1,50 +0,0 @@ -# path-exists [![Build Status](https://travis-ci.org/sindresorhus/path-exists.svg?branch=master)](https://travis-ci.org/sindresorhus/path-exists) - -> Check if a path exists - -Because [`fs.exists()`](https://nodejs.org/api/fs.html#fs_fs_exists_path_callback) is being [deprecated](https://github.com/iojs/io.js/issues/103), but there's still a genuine use-case of being able to check if a path exists for other purposes than doing IO with it. - -Never use this before handling a file though: - -> In particular, checking if a file exists before opening it is an anti-pattern that leaves you vulnerable to race conditions: another process may remove the file between the calls to `fs.exists()` and `fs.open()`. Just open the file and handle the error when it's not there. - - -## Install - -``` -$ npm install --save path-exists -``` - - -## Usage - -```js -// foo.js -const pathExists = require('path-exists'); - -pathExists('foo.js').then(exists => { - console.log(exists); - //=> true -}); -``` - - -## API - -### pathExists(path) - -Returns a promise for a boolean of whether the path exists. - -### pathExists.sync(path) - -Returns a boolean of whether the path exists. - - -## Related - -- [path-exists-cli](https://github.com/sindresorhus/path-exists-cli) - CLI for this module - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/electron/src/node_modules/pupa/index.js b/electron/src/node_modules/pupa/index.js deleted file mode 100755 index 501fca5..0000000 --- a/electron/src/node_modules/pupa/index.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; -module.exports = (tpl, data) => { - if (typeof tpl !== 'string') { - throw new TypeError(`Expected a string in the first argument, got ${typeof tpl}`); - } - - if (typeof data !== 'object') { - throw new TypeError(`Expected an Object/Array in the second argument, got ${typeof data}`); - } - - const re = /{(.*?)}/g; - - return tpl.replace(re, (_, key) => { - let ret = data; - - for (const prop of key.split('.')) { - ret = ret ? ret[prop] : ''; - } - - return ret || ''; - }); -}; diff --git a/electron/src/node_modules/pupa/license b/electron/src/node_modules/pupa/license deleted file mode 100755 index 654d0bf..0000000 --- a/electron/src/node_modules/pupa/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/electron/src/node_modules/pupa/package.json b/electron/src/node_modules/pupa/package.json deleted file mode 100755 index 1e973f3..0000000 --- a/electron/src/node_modules/pupa/package.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "pupa", - "version": "1.0.0", - "description": "Simple micro templating", - "license": "MIT", - "repository": "sindresorhus/pupa", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=4" - }, - "scripts": { - "test": "xo && ava" - }, - "files": [ - "index.js" - ], - "keywords": [ - "string", - "formatting", - "template", - "object", - "format", - "interpolate", - "interpolation", - "templating", - "str", - "obj", - "tpl", - "expand", - "simple", - "replace", - "placeholders", - "values", - "fmt", - "transform", - "micro" - ], - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "xo": { - "esnext": true - } -} diff --git a/electron/src/node_modules/pupa/readme.md b/electron/src/node_modules/pupa/readme.md deleted file mode 100755 index 1255e8d..0000000 --- a/electron/src/node_modules/pupa/readme.md +++ /dev/null @@ -1,59 +0,0 @@ -# pupa [![Build Status](https://travis-ci.org/sindresorhus/pupa.svg?branch=master)](https://travis-ci.org/sindresorhus/pupa) - -> Simple micro templating - -Useful when all you need is to fill in some placeholders. - - -## Install - -``` -$ npm install --save pupa -``` - - -## Usage - -```js -const pupa = require('pupa'); - -pupa('The mobile number of {name} is {phone.mobile}', { - name: 'Sindre', - phone: { - mobile: '609 24 363' - } -}); -//=> 'The mobile number of Sindre is 609 24 363' - -pupa('I like {0} and {1}', ['🦄', '🐮']); -//=> 'I like 🦄 and 🐮' -``` - - -## API - -### pupa(template, data) - -#### template - -Type: `string` - -Text with placeholders for `data` properties. - -#### data - -Type: `Object` `Array` - -Data to interpolate into `template`. - - -## FAQ - -### What about template literals? - -Template literals expand on creation. This module expands the template on execution, which can be useful if either or both template and data are lazily created or user-supplied. - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/electron/src/node_modules/sort-keys-length/README.md b/electron/src/node_modules/sort-keys-length/README.md deleted file mode 100755 index 1efe188..0000000 --- a/electron/src/node_modules/sort-keys-length/README.md +++ /dev/null @@ -1,35 +0,0 @@ -# sort-keys-length [![Build Status](http://img.shields.io/travis/kevva/sort-keys-length/master.svg?style=flat)](http://travis-ci.org/kevva/sort-keys-length) - -> Sort object keys by length - -## Install - -```sh -$ npm install --save sort-keys-length -``` - -## Usage - -```js -var sortKeysLength = require('sort-keys-length'); - -sortKeysLength.asc({ ab: 'x', a: 'y', abc: 'z' }); -//=> { a: 'y', ab: 'x', abc: 'z' } - -sortKeysLength.desc({ ab: 'x', a: 'y', abc: 'z' }); -//=> { abc: 'z', ab: 'x', a: 'y' } -``` - -## API - -### .asc - -Ascending sort. - -### .desc - -Descending sort. - -## License - -MIT © [Kevin Mårtensson](https://github.com/kevva) diff --git a/electron/src/node_modules/sort-keys-length/index.js b/electron/src/node_modules/sort-keys-length/index.js deleted file mode 100755 index b4af8d2..0000000 --- a/electron/src/node_modules/sort-keys-length/index.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var sortKeys = require('sort-keys'); - -/** - * Sort object keys by length - * - * @param obj - * @api public - */ - -module.exports.desc = function (obj) { - return sortKeys(obj, function (a, b) { - return b.length - a.length; - }); -} - -module.exports.asc = function (obj) { - return sortKeys(obj, function (a, b) { - return a.length - b.length; - }); -} diff --git a/electron/src/node_modules/sort-keys-length/package.json b/electron/src/node_modules/sort-keys-length/package.json deleted file mode 100755 index 7698305..0000000 --- a/electron/src/node_modules/sort-keys-length/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "sort-keys-length", - "version": "1.0.1", - "description": "Sort objecy keys by length", - "license": "MIT", - "repository": "kevva/sort-keys-length", - "author": { - "name": "Kevin Mårtensson", - "email": "kevinmartensson@gmail.com", - "url": "https://github.com/kevva" - }, - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "test": "node test.js" - }, - "files": [ - "index.js" - ], - "keywords": [ - "length", - "object", - "sort" - ], - "dependencies": { - "sort-keys": "^1.0.0" - }, - "devDependencies": { - "ava": "^0.0.4" - } -} diff --git a/electron/src/node_modules/sort-keys/index.js b/electron/src/node_modules/sort-keys/index.js deleted file mode 100755 index f75a0e0..0000000 --- a/electron/src/node_modules/sort-keys/index.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; -var isPlainObj = require('is-plain-obj'); - -module.exports = function (obj, opts) { - if (!isPlainObj(obj)) { - throw new TypeError('Expected a plain object'); - } - - opts = opts || {}; - - // DEPRECATED - if (typeof opts === 'function') { - opts = {compare: opts}; - } - - var deep = opts.deep; - var seenInput = []; - var seenOutput = []; - - var sortKeys = function (x) { - var seenIndex = seenInput.indexOf(x); - - if (seenIndex !== -1) { - return seenOutput[seenIndex]; - } - - var ret = {}; - var keys = Object.keys(x).sort(opts.compare); - - seenInput.push(x); - seenOutput.push(ret); - - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - var val = x[key]; - - ret[key] = deep && isPlainObj(val) ? sortKeys(val) : val; - } - - return ret; - }; - - return sortKeys(obj); -}; diff --git a/electron/src/node_modules/sort-keys/license b/electron/src/node_modules/sort-keys/license deleted file mode 100755 index 654d0bf..0000000 --- a/electron/src/node_modules/sort-keys/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/electron/src/node_modules/sort-keys/package.json b/electron/src/node_modules/sort-keys/package.json deleted file mode 100755 index dff0653..0000000 --- a/electron/src/node_modules/sort-keys/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "sort-keys", - "version": "1.1.2", - "description": "Sort the keys of an object", - "license": "MIT", - "repository": "sindresorhus/sort-keys", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "test": "xo && mocha" - }, - "files": [ - "index.js" - ], - "keywords": [ - "sort", - "object", - "keys", - "obj", - "key", - "stable", - "deterministic", - "deep", - "recursive", - "recursively" - ], - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "devDependencies": { - "mocha": "*", - "xo": "*" - } -} diff --git a/electron/src/node_modules/sort-keys/readme.md b/electron/src/node_modules/sort-keys/readme.md deleted file mode 100755 index a671ffb..0000000 --- a/electron/src/node_modules/sort-keys/readme.md +++ /dev/null @@ -1,60 +0,0 @@ -# sort-keys [![Build Status](https://travis-ci.org/sindresorhus/sort-keys.svg?branch=master)](https://travis-ci.org/sindresorhus/sort-keys) - -> Sort the keys of an object - -Useful to get a deterministically ordered object, as the order of keys can vary between engines. - - -## Install - -``` -$ npm install --save sort-keys -``` - - -## Usage - -```js -const sortKeys = require('sort-keys'); - -sortKeys({c: 0, a: 0, b: 0}); -//=> {a: 0, b: 0, c: 0} - -sortKeys({b: {b: 0, a: 0}, a: 0}, {deep: true}); -//=> {a: 0, b: {a: 0, b: 0}} - -sortKeys({c: 0, a: 0, b: 0}, { - compare: (a, b) => -a.localeCompare(b) -}); -//=> {c: 0, b: 0, a: 0} -``` - - -## API - -### sortKeys(input, [options]) - -Returns a new object with sorted keys. - -#### input - -Type: `Object` - -#### options - -##### deep - -Type: `boolean` - -Recursively sort keys. - -##### compare - -Type: `Function` - -[Compare function.](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/electron/src/node_modules/unused-filename/index.js b/electron/src/node_modules/unused-filename/index.js deleted file mode 100755 index cdb127c..0000000 --- a/electron/src/node_modules/unused-filename/index.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; -const pathExists = require('path-exists'); -const modifyFilename = require('modify-filename'); - -const incrementer = fp => { - let i = 0; - return () => modifyFilename(fp, (filename, ext) => `${filename} (${++i})${ext}`); -}; - -module.exports = fp => { - const getFp = incrementer(fp); - const find = newFp => pathExists(newFp).then(x => x ? find(getFp()) : newFp); - return find(fp); -}; - -module.exports.sync = fp => { - const getFp = incrementer(fp); - const find = newFp => pathExists.sync(newFp) ? find(getFp()) : newFp; - return find(fp); -}; diff --git a/electron/src/node_modules/unused-filename/license b/electron/src/node_modules/unused-filename/license deleted file mode 100755 index 654d0bf..0000000 --- a/electron/src/node_modules/unused-filename/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/electron/src/node_modules/unused-filename/package.json b/electron/src/node_modules/unused-filename/package.json deleted file mode 100755 index c45750b..0000000 --- a/electron/src/node_modules/unused-filename/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "unused-filename", - "version": "1.0.0", - "description": "Get an unused filename by appending a number if it exists: `file.txt` → `file (1).txt`", - "license": "MIT", - "repository": "sindresorhus/unused-filename", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=4" - }, - "scripts": { - "test": "xo && ava" - }, - "files": [ - "index.js" - ], - "keywords": [ - "unused", - "filename", - "filepath", - "file", - "name", - "available", - "safe", - "unique", - "usable", - "filesystem", - "fs", - "exists", - "path" - ], - "dependencies": { - "modify-filename": "^1.1.0", - "path-exists": "^3.0.0" - }, - "devDependencies": { - "ava": "*", - "xo": "*" - } -} diff --git a/electron/src/node_modules/unused-filename/readme.md b/electron/src/node_modules/unused-filename/readme.md deleted file mode 100755 index 0b75ee9..0000000 --- a/electron/src/node_modules/unused-filename/readme.md +++ /dev/null @@ -1,56 +0,0 @@ -# unused-filename [![Build Status](https://travis-ci.org/sindresorhus/unused-filename.svg?branch=master)](https://travis-ci.org/sindresorhus/unused-filename) - -> Get an unused filename by appending a number if it exists: `file.txt` → `file (1).txt` - -Useful for safely writing, copying, moving files without overwriting existing files. - - -## Install - -``` -$ npm install --save unused-filename -``` - - -## Usage - -``` -. -├── rainbow (1).txt -├── rainbow.txt -└── unicorn.txt -``` - -```js -const unusedFilename = require('unused-filename'); - -unusedFilename('rainbow.txt').then(filename => { - console.log(filename); - //=> 'rainbow (2).txt' -}); -``` - - -## API - -### unusedFilename(filepath) - -Returns a `Promise`. - -### unusedFilename.sync(filepath) - -Returns a `string`. - -#### filepath - -Type: `string` - - -## Related - -- [filenamify](https://github.com/sindresorhus/filenamify) - Convert a string to a valid safe filename - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/electron/src/package-lock.json b/electron/src/package-lock.json index 906f7e9..9658db8 100755 --- a/electron/src/package-lock.json +++ b/electron/src/package-lock.json @@ -2,65 +2,183 @@ "requires": true, "lockfileVersion": 1, "dependencies": { + "axios": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", + "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", + "requires": { + "follow-redirects": "1.5.1", + "is-buffer": "1.1.6" + } + }, "debug": { - "version": "2.6.9", - "resolved": "http://r.cnpmjs.org/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", "requires": { "ms": "2.0.0" } }, + "electron-context-menu": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/electron-context-menu/-/electron-context-menu-0.9.1.tgz", + "integrity": "sha1-7U3yDAgEkcPJlqv8s2MVmUajgFg=", + "requires": { + "electron-dl": "1.12.0", + "electron-is-dev": "0.1.2" + } + }, "electron-debug": { - "version": "1.4.0", - "resolved": "http://r.cnpmjs.org/electron-debug/download/electron-debug-1.4.0.tgz", - "integrity": "sha1-vscAVSIiCp0GIhUzUuG7/w83ry4=", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/electron-debug/-/electron-debug-1.5.0.tgz", + "integrity": "sha1-2IwCFG77f8WuGyHqxW++SYfq5Qw=", "requires": { "electron-is-dev": "0.3.0", - "electron-localshortcut": "3.0.2" + "electron-localshortcut": "3.1.0" }, "dependencies": { "electron-is-dev": { "version": "0.3.0", - "resolved": "http://r.cnpmjs.org/electron-is-dev/download/electron-is-dev-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-0.3.0.tgz", "integrity": "sha1-FOb9pcaOnk7L7/nM8DfL18BcWv4=" - }, - "electron-localshortcut": { - "version": "3.0.2", - "resolved": "http://r.cnpmjs.org/electron-localshortcut/download/electron-localshortcut-3.0.2.tgz", - "integrity": "sha1-35zr5kFA9OWLaAqssr1ieK447mE=", - "requires": { - "debug": "2.6.9", - "electron-is-accelerator": "0.1.2", - "keyboardevent-from-electron-accelerator": "0.7.1", - "keyboardevents-areequal": "0.2.2" - } } } }, + "electron-dl": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/electron-dl/-/electron-dl-1.12.0.tgz", + "integrity": "sha1-Mox/EtPkWO1N3Hc9j/wo1ZqzXS4=", + "requires": { + "ext-name": "5.0.0", + "pupa": "1.0.0", + "unused-filename": "1.0.0" + } + }, "electron-is-accelerator": { "version": "0.1.2", - "resolved": "http://r.cnpmjs.org/electron-is-accelerator/download/electron-is-accelerator-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz", "integrity": "sha1-UJ5RDCala1Xhf4Y6SwThEYRqsns=" }, - "electron-log": { - "version": "1.3.0", - "resolved": "http://r.cnpmjs.org/electron-log/download/electron-log-1.3.0.tgz", - "integrity": "sha1-0FVEEUuXGhbIZznHnQ0jYQOtChY=" + "electron-is-dev": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-0.1.2.tgz", + "integrity": "sha1-ihBD4ys6HaHD9VPc4oznZCRhZ+M=" + }, + "electron-localshortcut": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/electron-localshortcut/-/electron-localshortcut-3.1.0.tgz", + "integrity": "sha1-EMH/1Te405FwqvbhVRNB93gN0s4=", + "requires": { + "debug": "2.6.9", + "electron-is-accelerator": "0.1.2", + "keyboardevent-from-electron-accelerator": "1.1.0", + "keyboardevents-areequal": "0.2.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha1-C5jmTtgvWs8PKTG6v2khLvUt3Tc=", + "requires": { + "mime-db": "1.35.0" + } + }, + "ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha1-cHgZgdGD7hXROZPIgiBFxQbI8KY=", + "requires": { + "ext-list": "2.2.2", + "sort-keys-length": "1.0.1" + } + }, + "follow-redirects": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.1.tgz", + "integrity": "sha512-v9GI1hpaqq1ZZR6pBD1+kI7O24PhDvNGNodjS3MdcEqyrahCp8zbtpv+2B/krUnSmUH80lbAS7MrdeK5IylgKg==", + "requires": { + "debug": "3.1.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" }, "keyboardevent-from-electron-accelerator": { - "version": "0.7.1", - "resolved": "http://r.cnpmjs.org/keyboardevent-from-electron-accelerator/download/keyboardevent-from-electron-accelerator-0.7.1.tgz", - "integrity": "sha1-rtr6XMmjpfPyt8iLL/1AV1aBGOc=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/keyboardevent-from-electron-accelerator/-/keyboardevent-from-electron-accelerator-1.1.0.tgz", + "integrity": "sha1-MkYU9uM0kMN//Fvlh2s+hf4iPIQ=" }, "keyboardevents-areequal": { "version": "0.2.2", - "resolved": "http://r.cnpmjs.org/keyboardevents-areequal/download/keyboardevents-areequal-0.2.2.tgz", + "resolved": "https://registry.npmjs.org/keyboardevents-areequal/-/keyboardevents-areequal-0.2.2.tgz", "integrity": "sha1-iBkexzjOn3WRwl6QVt6Si0AncZQ=" }, + "mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=" + }, + "modify-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modify-filename/-/modify-filename-1.1.0.tgz", + "integrity": "sha1-mi3sg4Bvuy2XXyK+7IWcoms5OqE=" + }, "ms": { "version": "2.0.0", - "resolved": "http://r.cnpmjs.org/ms/download/ms-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "pupa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-1.0.0.tgz", + "integrity": "sha1-mpVopa9+ZXuEYqbp1TKHQ1YM7/Y=" + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "requires": { + "is-plain-obj": "1.1.0" + } + }, + "sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", + "requires": { + "sort-keys": "1.1.2" + } + }, + "unused-filename": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unused-filename/-/unused-filename-1.0.0.tgz", + "integrity": "sha1-00CID3GuIRXrqhMlvvBcxmhEacY=", + "requires": { + "modify-filename": "1.1.0", + "path-exists": "3.0.0" + } } } } diff --git a/electron/src/package.json b/electron/src/package.json index e251a4e..7eb98b1 100755 --- a/electron/src/package.json +++ b/electron/src/package.json @@ -5,7 +5,6 @@ "dependencies": { "axios": "^0.18.0", "electron-context-menu": "^0.9.1", - "electron-debug": "^1.0.1", - "electron-log": "^1.2.2" + "electron-debug": "^1.5.0" } } diff --git a/electron/src/splash/index.html b/electron/src/splash/index.html new file mode 100755 index 0000000..f09fbe7 --- /dev/null +++ b/electron/src/splash/index.html @@ -0,0 +1,44 @@ + + + + + + + + +

+
+ +
+ +
+
+
+ + diff --git a/electron/src/splash/logo-splash.png b/electron/src/splash/logo-splash.png new file mode 100755 index 0000000000000000000000000000000000000000..6fa8dc587993fc2b00e20507b2b5932e5561fd71 GIT binary patch literal 381625 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
    kmG*N;+Y5^TOL$u_sTrb&qWtw$aN#Mq4iG& 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�wvG19}=`?mvZ`RIc+YT+Uy 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

    (FAw@o$*zX}h-(N+6K>526V)irS;Rc??xXiI-^ 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 literal 0 HcmV?d00001 diff --git a/electron/src/splash/spinner.png b/electron/src/splash/spinner.png new file mode 100755 index 0000000000000000000000000000000000000000..eb5f3846bf7a5a2dd3f88d86944499e3b5c23995 GIT binary patch literal 371 zcmV-(0gV2MP)8;DXzO5Gv8gIHCoVCBE0)EF4DU9mbrR=9c8b3^4=tk}=gyF_mR1^^SVP`mQ5 R3%>vW002ovPDHLkV1j^6n?C>m literal 0 HcmV?d00001 diff --git a/electron/src/yarn.lock b/electron/src/yarn.lock deleted file mode 100755 index 9e40625..0000000 --- a/electron/src/yarn.lock +++ /dev/null @@ -1,143 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -axios@^0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.0.tgz#32d53e4851efdc0a11993b6cd000789d70c05102" - dependencies: - follow-redirects "^1.3.0" - is-buffer "^1.1.5" - -debug@^2.6.8: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - dependencies: - ms "2.0.0" - -debug@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - dependencies: - ms "2.0.0" - -electron-context-menu@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/electron-context-menu/-/electron-context-menu-0.9.1.tgz#ed4df20c080491c3c996abfcb363159946a38058" - dependencies: - electron-dl "^1.2.0" - electron-is-dev "^0.1.1" - -electron-debug@^1.0.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/electron-debug/-/electron-debug-1.4.0.tgz#bec7005522220a9d0622153352e1bbff0f37af2e" - dependencies: - electron-is-dev "^0.3.0" - electron-localshortcut "^3.0.0" - -electron-dl@^1.2.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/electron-dl/-/electron-dl-1.10.0.tgz#f94416064056fc6f2a86ae498614c93526890af9" - dependencies: - ext-name "^5.0.0" - pupa "^1.0.0" - unused-filename "^1.0.0" - -electron-is-accelerator@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz#509e510c26a56b55e17f863a4b04e111846ab27b" - -electron-is-dev@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/electron-is-dev/-/electron-is-dev-0.1.2.tgz#8a1043e32b3a1da1c3f553dce28ce764246167e3" - -electron-is-dev@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/electron-is-dev/-/electron-is-dev-0.3.0.tgz#14e6fda5c68e9e4ecbeff9ccf037cbd7c05c5afe" - -electron-localshortcut@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/electron-localshortcut/-/electron-localshortcut-3.0.2.tgz#df9cebe64140f4e58b680aacb2bd6278ae38ee61" - dependencies: - debug "^2.6.8" - electron-is-accelerator "^0.1.0" - keyboardevent-from-electron-accelerator "^0.7.0" - keyboardevents-areequal "^0.2.1" - -electron-log@^1.2.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/electron-log/-/electron-log-1.3.0.tgz#d05544114b971a16c86739c79d0d236103ad0a16" - -ext-list@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/ext-list/-/ext-list-2.2.2.tgz#0b98e64ed82f5acf0f2931babf69212ef52ddd37" - dependencies: - mime-db "^1.28.0" - -ext-name@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ext-name/-/ext-name-5.0.0.tgz#70781981d183ee15d13993c8822045c506c8f0a6" - dependencies: - ext-list "^2.0.0" - sort-keys-length "^1.0.0" - -follow-redirects@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.4.1.tgz#d8120f4518190f55aac65bb6fc7b85fcd666d6aa" - dependencies: - debug "^3.1.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - -keyboardevent-from-electron-accelerator@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/keyboardevent-from-electron-accelerator/-/keyboardevent-from-electron-accelerator-0.7.1.tgz#aedafa5cc9a3a5f3f2b7c88b2ffd4057568118e7" - -keyboardevents-areequal@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/keyboardevents-areequal/-/keyboardevents-areequal-0.2.2.tgz#88191ec738ce9f7591c25e9056de928b40277194" - -mime-db@^1.28.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.32.0.tgz#485b3848b01a3cda5f968b4882c0771e58e09414" - -modify-filename@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/modify-filename/-/modify-filename-1.1.0.tgz#9a2dec83806fbb2d975f22beec859ca26b393aa1" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - -pupa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pupa/-/pupa-1.0.0.tgz#9a9568a5af7e657b8462a6e9d5328743560ceff6" - -sort-keys-length@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" - dependencies: - sort-keys "^1.0.0" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - dependencies: - is-plain-obj "^1.0.0" - -unused-filename@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unused-filename/-/unused-filename-1.0.0.tgz#d340880f71ae2115ebaa1325bef05cc6684469c6" - dependencies: - modify-filename "^1.1.0" - path-exists "^3.0.0" diff --git a/electron/yarn.lock b/electron/yarn.lock deleted file mode 100755 index d6df536..0000000 --- a/electron/yarn.lock +++ /dev/null @@ -1,1794 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"7zip-bin-linux@~1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/7zip-bin-linux/-/7zip-bin-linux-1.3.1.tgz#4856db1ab1bf5b6ee8444f93f5a8ad71446d00d5" - -"7zip-bin-mac@~1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/7zip-bin-mac/-/7zip-bin-mac-1.0.1.tgz#3e68778bbf0926adc68159427074505d47555c02" - -"7zip-bin-win@~2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/7zip-bin-win/-/7zip-bin-win-2.1.1.tgz#8acfc28bb34e53a9476b46ae85a97418e6035c20" - -"7zip-bin@^2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-2.4.1.tgz#88cf99736d35b104dab1d430c4edd1d51e58aade" - optionalDependencies: - "7zip-bin-linux" "~1.3.1" - "7zip-bin-mac" "~1.0.1" - "7zip-bin-win" "~2.1.1" - -"@types/node@^8.0.24": - version "8.5.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.9.tgz#7155cfb4ae405bca4dd8df1a214c339e939109bf" - -ajv-keywords@^2.1.0: - version "2.1.0" - resolved "http://r.cnpmjs.org/ajv-keywords/download/ajv-keywords-2.1.0.tgz#a296e17f7bfae7c1ce4f7e0de53d29cb32162df0" - -ajv@^5.1.0: - version "5.2.3" - resolved "http://r.cnpmjs.org/ajv/download/ajv-5.2.3.tgz#c06f598778c44c6b161abafe3466b81ad1814ed2" - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - json-schema-traverse "^0.3.0" - json-stable-stringify "^1.0.1" - -ajv@^5.5.0: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -ansi-align@^2.0.0: - version "2.0.0" - resolved "http://r.cnpmjs.org/ansi-align/download/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" - dependencies: - string-width "^2.0.0" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - -ansi-styles@^3.1.0: - version "3.2.0" - resolved "http://r.cnpmjs.org/ansi-styles/download/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" - dependencies: - color-convert "^1.9.0" - -argparse@^1.0.7: - version "1.0.9" - resolved "http://r.cnpmjs.org/argparse/download/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" - dependencies: - sprintf-js "~1.0.2" - -array-find-index@^1.0.1: - version "1.0.2" - resolved "http://r.cnpmjs.org/array-find-index/download/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - -asar-integrity@0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asar-integrity/-/asar-integrity-0.2.4.tgz#b7867c9720e08c461d12bc42f005c239af701733" - dependencies: - bluebird-lst "^1.0.5" - fs-extra-p "^4.5.0" - -asn1@~0.2.3: - version "0.2.3" - resolved "http://r.cnpmjs.org/asn1/download/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - -async-exit-hook@^2.0.1: - version "2.0.1" - resolved "http://r.cnpmjs.org/async-exit-hook/download/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3" - -asynckit@^0.4.0: - version "0.4.0" - resolved "http://r.cnpmjs.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "http://r.cnpmjs.org/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - -aws4@^1.6.0: - version "1.6.0" - resolved "http://r.cnpmjs.org/aws4/download/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -base64-js@1.2.0: - version "1.2.0" - resolved "http://r.cnpmjs.org/base64-js/download/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "http://r.cnpmjs.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" - dependencies: - tweetnacl "^0.14.3" - -bluebird-lst@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.5.tgz#bebc83026b7e92a72871a3dc599e219cbfb002a9" - dependencies: - bluebird "^3.5.1" - -bluebird@^3.5.0, bluebird@^3.5.1: - version "3.5.1" - resolved "http://r.cnpmjs.org/bluebird/download/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" - -boom@4.x.x: - version "4.3.1" - resolved "http://r.cnpmjs.org/boom/download/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" - dependencies: - hoek "4.x.x" - -boom@5.x.x: - version "5.2.0" - resolved "http://r.cnpmjs.org/boom/download/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" - dependencies: - hoek "4.x.x" - -boxen@^1.2.1: - version "1.2.1" - resolved "http://r.cnpmjs.org/boxen/download/boxen-1.2.1.tgz#0f11e7fe344edb9397977fc13ede7f64d956481d" - dependencies: - ansi-align "^2.0.0" - camelcase "^4.0.0" - chalk "^2.0.1" - cli-boxes "^1.0.0" - string-width "^2.0.0" - term-size "^1.2.0" - widest-line "^1.0.0" - -brace-expansion@^1.1.7: - version "1.1.8" - resolved "http://r.cnpmjs.org/brace-expansion/download/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -builder-util-runtime@4.0.3, builder-util-runtime@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-4.0.3.tgz#c9f1959598e3fb534cdbe9ce4160e985af11a0fe" - dependencies: - bluebird-lst "^1.0.5" - debug "^3.1.0" - fs-extra-p "^4.5.0" - sax "^1.2.4" - -builder-util@4.2.1, builder-util@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-4.2.1.tgz#ca9f0ddb5af1da5fe432129f7c6cbd447b552016" - dependencies: - "7zip-bin" "^2.4.1" - bluebird-lst "^1.0.5" - builder-util-runtime "^4.0.3" - chalk "^2.3.0" - debug "^3.1.0" - fs-extra-p "^4.5.0" - ini "^1.3.5" - is-ci "^1.1.0" - js-yaml "^3.10.0" - lazy-val "^1.0.3" - semver "^5.5.0" - source-map-support "^0.5.1" - stat-mode "^0.2.2" - temp-file "^3.1.1" - tunnel-agent "^0.6.0" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "http://r.cnpmjs.org/builtin-modules/download/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "http://r.cnpmjs.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^2.0.0: - version "2.1.1" - resolved "http://r.cnpmjs.org/camelcase/download/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - -camelcase@^4.0.0, camelcase@^4.1.0: - version "4.1.0" - resolved "http://r.cnpmjs.org/camelcase/download/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - -capture-stack-trace@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/capture-stack-trace/download/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" - -caseless@~0.12.0: - version "0.12.0" - resolved "http://r.cnpmjs.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - -chalk@^2.0.1: - version "2.1.0" - resolved "http://r.cnpmjs.org/chalk/download/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" - dependencies: - ansi-styles "^3.1.0" - escape-string-regexp "^1.0.5" - supports-color "^4.0.0" - -chalk@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" - dependencies: - ansi-styles "^3.1.0" - escape-string-regexp "^1.0.5" - supports-color "^4.0.0" - -chromium-pickle-js@^0.2.0: - version "0.2.0" - resolved "http://r.cnpmjs.org/chromium-pickle-js/download/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205" - -ci-info@^1.0.0: - version "1.1.1" - resolved "http://r.cnpmjs.org/ci-info/download/ci-info-1.1.1.tgz#47b44df118c48d2597b56d342e7e25791060171a" - -cli-boxes@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/cli-boxes/download/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - -cliui@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.0.0.tgz#743d4650e05f36d1ed2575b59638d87322bfbbcc" - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "http://r.cnpmjs.org/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "http://r.cnpmjs.org/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - -color-convert@^1.9.0: - version "1.9.0" - resolved "http://r.cnpmjs.org/color-convert/download/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" - dependencies: - color-name "^1.1.1" - -color-convert@~0.5.0: - version "0.5.3" - resolved "http://r.cnpmjs.org/color-convert/download/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" - -color-name@^1.1.1: - version "1.1.3" - resolved "http://r.cnpmjs.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "http://r.cnpmjs.org/combined-stream/download/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" - dependencies: - delayed-stream "~1.0.0" - -compare-version@^0.1.2: - version "0.1.2" - resolved "http://r.cnpmjs.org/compare-version/download/compare-version-0.1.2.tgz#0162ec2d9351f5ddd59a9202cba935366a725080" - -concat-map@0.0.1: - version "0.0.1" - resolved "http://r.cnpmjs.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -concat-stream@1.6.0: - version "1.6.0" - resolved "http://r.cnpmjs.org/concat-stream/download/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -configstore@^3.0.0: - version "3.1.1" - resolved "http://r.cnpmjs.org/configstore/download/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90" - dependencies: - dot-prop "^4.1.0" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - unique-string "^1.0.0" - write-file-atomic "^2.0.0" - xdg-basedir "^3.0.0" - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "http://r.cnpmjs.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -create-error-class@^3.0.0: - version "3.0.2" - resolved "http://r.cnpmjs.org/create-error-class/download/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - dependencies: - capture-stack-trace "^1.0.0" - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "http://r.cnpmjs.org/cross-spawn/download/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cryptiles@3.x.x: - version "3.1.2" - resolved "http://r.cnpmjs.org/cryptiles/download/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" - dependencies: - boom "5.x.x" - -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/crypto-random-string/download/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "http://r.cnpmjs.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - dependencies: - array-find-index "^1.0.1" - -dashdash@^1.12.0: - version "1.14.1" - resolved "http://r.cnpmjs.org/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - dependencies: - assert-plus "^1.0.0" - -debug@2.2.0: - version "2.2.0" - resolved "http://r.cnpmjs.org/debug/download/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" - dependencies: - ms "0.7.1" - -debug@^2.1.3, debug@^2.2.0, debug@^2.6.8: - version "2.6.9" - resolved "http://r.cnpmjs.org/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - dependencies: - ms "2.0.0" - -debug@^3.0.0, debug@^3.1.0: - version "3.1.0" - resolved "http://r.cnpmjs.org/debug/download/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - dependencies: - ms "2.0.0" - -decamelize@^1.1.1, decamelize@^1.1.2: - version "1.2.0" - resolved "http://r.cnpmjs.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -deep-extend@~0.4.0: - version "0.4.2" - resolved "http://r.cnpmjs.org/deep-extend/download/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - -dmg-builder@3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-3.1.3.tgz#aa296f4be369e7ff013e67923adc70258bc0a510" - dependencies: - bluebird-lst "^1.0.5" - builder-util "^4.2.1" - fs-extra-p "^4.5.0" - iconv-lite "^0.4.19" - js-yaml "^3.10.0" - parse-color "^1.0.0" - -dot-prop@^4.1.0: - version "4.2.0" - resolved "http://r.cnpmjs.org/dot-prop/download/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - dependencies: - is-obj "^1.0.0" - -dotenv-expand@^4.0.1: - version "4.0.1" - resolved "http://r.cnpmjs.org/dotenv-expand/download/dotenv-expand-4.0.1.tgz#68fddc1561814e0a10964111057ff138ced7d7a8" - -dotenv@^4.0.0: - version "4.0.0" - resolved "http://r.cnpmjs.org/dotenv/download/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" - -duplexer3@^0.1.4: - version "0.1.4" - resolved "http://r.cnpmjs.org/duplexer3/download/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "http://r.cnpmjs.org/ecc-jsbn/download/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" - dependencies: - jsbn "~0.1.0" - -ejs@^2.5.7: - version "2.5.7" - resolved "http://r.cnpmjs.org/ejs/download/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a" - -electron-builder-lib@19.55.2: - version "19.55.2" - resolved "https://registry.yarnpkg.com/electron-builder-lib/-/electron-builder-lib-19.55.2.tgz#9808495613cd947a0d1abf83b962c16da6402f9c" - dependencies: - "7zip-bin" "^2.4.1" - asar-integrity "0.2.4" - async-exit-hook "^2.0.1" - bluebird-lst "^1.0.5" - builder-util "4.2.1" - builder-util-runtime "4.0.3" - chromium-pickle-js "^0.2.0" - debug "^3.1.0" - dmg-builder "3.1.3" - ejs "^2.5.7" - electron-osx-sign "0.4.8" - electron-publish "19.55.2" - fs-extra-p "^4.5.0" - hosted-git-info "^2.5.0" - is-ci "^1.1.0" - isbinaryfile "^3.0.2" - js-yaml "^3.10.0" - lazy-val "^1.0.3" - minimatch "^3.0.4" - normalize-package-data "^2.4.0" - plist "^2.1.0" - read-config-file "2.1.1" - sanitize-filename "^1.6.1" - semver "^5.5.0" - temp-file "^3.1.1" - -electron-builder@^19.55.0: - version "19.55.2" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-19.55.2.tgz#af709037a97e85fe55cf87e87255bf96333750a3" - dependencies: - bluebird-lst "^1.0.5" - builder-util "4.2.1" - builder-util-runtime "4.0.3" - chalk "^2.3.0" - electron-builder-lib "19.55.2" - electron-download-tf "4.3.4" - fs-extra-p "^4.5.0" - is-ci "^1.1.0" - lazy-val "^1.0.3" - read-config-file "2.1.1" - sanitize-filename "^1.6.1" - update-notifier "^2.3.0" - yargs "^10.1.1" - -electron-download-tf@4.3.4: - version "4.3.4" - resolved "http://r.cnpmjs.org/electron-download-tf/download/electron-download-tf-4.3.4.tgz#b03740b2885aa2ad3f8784fae74df427f66d5165" - dependencies: - debug "^3.0.0" - env-paths "^1.0.0" - fs-extra "^4.0.1" - minimist "^1.2.0" - nugget "^2.0.1" - path-exists "^3.0.0" - rc "^1.2.1" - semver "^5.4.1" - sumchecker "^2.0.2" - -electron-download@^3.0.1: - version "3.3.0" - resolved "http://r.cnpmjs.org/electron-download/download/electron-download-3.3.0.tgz#2cfd54d6966c019c4d49ad65fbe65cc9cdef68c8" - dependencies: - debug "^2.2.0" - fs-extra "^0.30.0" - home-path "^1.0.1" - minimist "^1.2.0" - nugget "^2.0.0" - path-exists "^2.1.0" - rc "^1.1.2" - semver "^5.3.0" - sumchecker "^1.2.0" - -electron-log@^2.2.9: - version "2.2.9" - resolved "http://r.cnpmjs.org/electron-log/download/electron-log-2.2.9.tgz#e0484cb1a8a84593095e3b69f47361ae15d73bdf" - -electron-osx-sign@0.4.8: - version "0.4.8" - resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.4.8.tgz#f0b9fadded9e1e54ec35fa89877b5c6c34c7bc40" - dependencies: - bluebird "^3.5.0" - compare-version "^0.1.2" - debug "^2.6.8" - isbinaryfile "^3.0.2" - minimist "^1.2.0" - plist "^2.1.0" - -electron-publish@19.55.2: - version "19.55.2" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-19.55.2.tgz#773b6d13bc11312095848c08b3287f98c91ccc7e" - dependencies: - bluebird-lst "^1.0.5" - builder-util "^4.2.1" - builder-util-runtime "^4.0.3" - chalk "^2.3.0" - fs-extra-p "^4.5.0" - mime "^2.2.0" - -electron@^1.8.0: - version "1.8.1" - resolved "https://registry.yarnpkg.com/electron/-/electron-1.8.1.tgz#19b6f39f2013e204a91a60bc3086dc7a4a07ed88" - dependencies: - "@types/node" "^8.0.24" - electron-download "^3.0.1" - extract-zip "^1.0.3" - -env-paths@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/env-paths/download/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0" - -error-ex@^1.2.0: - version "1.3.1" - resolved "http://r.cnpmjs.org/error-ex/download/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" - dependencies: - is-arrayish "^0.2.1" - -es6-promise@^4.0.5: - version "4.1.1" - resolved "http://r.cnpmjs.org/es6-promise/download/es6-promise-4.1.1.tgz#8811e90915d9a0dba36274f0b242dbda78f9c92a" - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "http://r.cnpmjs.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -esprima@^4.0.0: - version "4.0.0" - resolved "http://r.cnpmjs.org/esprima/download/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" - -execa@^0.7.0: - version "0.7.0" - resolved "http://r.cnpmjs.org/execa/download/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -extend@~3.0.1: - version "3.0.1" - resolved "http://r.cnpmjs.org/extend/download/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - -extract-zip@^1.0.3: - version "1.6.5" - resolved "http://r.cnpmjs.org/extract-zip/download/extract-zip-1.6.5.tgz#99a06735b6ea20ea9b705d779acffcc87cff0440" - dependencies: - concat-stream "1.6.0" - debug "2.2.0" - mkdirp "0.5.0" - yauzl "2.4.1" - -extsprintf@1.3.0, extsprintf@^1.2.0: - version "1.3.0" - resolved "http://r.cnpmjs.org/extsprintf/download/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - -fast-deep-equal@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/fast-deep-equal/download/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" - -fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - -fd-slicer@~1.0.1: - version "1.0.1" - resolved "http://r.cnpmjs.org/fd-slicer/download/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" - dependencies: - pend "~1.2.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "http://r.cnpmjs.org/find-up/download/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - dependencies: - locate-path "^2.0.0" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "http://r.cnpmjs.org/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - -form-data@~2.3.1: - version "2.3.1" - resolved "http://r.cnpmjs.org/form-data/download/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -fs-extra-p@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/fs-extra-p/-/fs-extra-p-4.5.0.tgz#b79f3f3fcc0b5e57b7e7caeb06159f958ef15fe8" - dependencies: - bluebird-lst "^1.0.5" - fs-extra "^5.0.0" - -fs-extra@^0.30.0: - version "0.30.0" - resolved "http://r.cnpmjs.org/fs-extra/download/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - path-is-absolute "^1.0.0" - rimraf "^2.2.8" - -fs-extra@^4.0.1: - version "4.0.2" - resolved "http://r.cnpmjs.org/fs-extra/download/fs-extra-4.0.2.tgz#f91704c53d1b461f893452b0c307d9997647ab6b" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -get-caller-file@^1.0.1: - version "1.0.2" - resolved "http://r.cnpmjs.org/get-caller-file/download/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "http://r.cnpmjs.org/get-stdin/download/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - -get-stream@^3.0.0: - version "3.0.0" - resolved "http://r.cnpmjs.org/get-stream/download/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - -getpass@^0.1.1: - version "0.1.7" - resolved "http://r.cnpmjs.org/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - dependencies: - assert-plus "^1.0.0" - -glob@^7.0.5: - version "7.1.2" - resolved "http://r.cnpmjs.org/glob/download/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^0.1.0: - version "0.1.0" - resolved "http://r.cnpmjs.org/global-dirs/download/global-dirs-0.1.0.tgz#10d34039e0df04272e262cf24224f7209434df4f" - dependencies: - ini "^1.3.4" - -got@^6.7.1: - version "6.7.1" - resolved "http://r.cnpmjs.org/got/download/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" - dependencies: - create-error-class "^3.0.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.1.11" - resolved "http://r.cnpmjs.org/graceful-fs/download/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -har-schema@^2.0.0: - version "2.0.0" - resolved "http://r.cnpmjs.org/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - -har-validator@~5.0.3: - version "5.0.3" - resolved "http://r.cnpmjs.org/har-validator/download/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" - dependencies: - ajv "^5.1.0" - har-schema "^2.0.0" - -has-flag@^2.0.0: - version "2.0.0" - resolved "http://r.cnpmjs.org/has-flag/download/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - -hawk@~6.0.2: - version "6.0.2" - resolved "http://r.cnpmjs.org/hawk/download/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" - dependencies: - boom "4.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - sntp "2.x.x" - -hoek@4.x.x: - version "4.2.0" - resolved "http://r.cnpmjs.org/hoek/download/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d" - -home-path@^1.0.1: - version "1.0.5" - resolved "http://r.cnpmjs.org/home-path/download/home-path-1.0.5.tgz#788b29815b12d53bacf575648476e6f9041d133f" - -hosted-git-info@^2.1.4, hosted-git-info@^2.5.0: - version "2.5.0" - resolved "http://r.cnpmjs.org/hosted-git-info/download/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" - -http-signature@~1.2.0: - version "1.2.0" - resolved "http://r.cnpmjs.org/http-signature/download/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -iconv-lite@^0.4.19: - version "0.4.19" - resolved "http://r.cnpmjs.org/iconv-lite/download/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" - -import-lazy@^2.1.0: - version "2.1.0" - resolved "http://r.cnpmjs.org/import-lazy/download/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "http://r.cnpmjs.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - -indent-string@^2.1.0: - version "2.1.0" - resolved "http://r.cnpmjs.org/indent-string/download/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - dependencies: - repeating "^2.0.0" - -inflight@^1.0.4: - version "1.0.6" - resolved "http://r.cnpmjs.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "http://r.cnpmjs.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -ini@^1.3.4, ini@~1.3.0: - version "1.3.4" - resolved "http://r.cnpmjs.org/ini/download/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" - -ini@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/invert-kv/download/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "http://r.cnpmjs.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" - -is-ci@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5" - dependencies: - ci-info "^1.0.0" - -is-finite@^1.0.0: - version "1.0.2" - resolved "http://r.cnpmjs.org/is-finite/download/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "http://r.cnpmjs.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - -is-installed-globally@^0.1.0: - version "0.1.0" - resolved "http://r.cnpmjs.org/is-installed-globally/download/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" - dependencies: - global-dirs "^0.1.0" - is-path-inside "^1.0.0" - -is-npm@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/is-npm/download/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" - -is-obj@^1.0.0: - version "1.0.1" - resolved "http://r.cnpmjs.org/is-obj/download/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - -is-path-inside@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/is-path-inside/download/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" - dependencies: - path-is-inside "^1.0.1" - -is-redirect@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/is-redirect/download/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - -is-retry-allowed@^1.0.0: - version "1.1.0" - resolved "http://r.cnpmjs.org/is-retry-allowed/download/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - -is-stream@^1.0.0, is-stream@^1.1.0: - version "1.1.0" - resolved "http://r.cnpmjs.org/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "http://r.cnpmjs.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -isarray@0.0.1: - version "0.0.1" - resolved "http://r.cnpmjs.org/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - -isarray@~1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isbinaryfile@^3.0.2: - version "3.0.2" - resolved "http://r.cnpmjs.org/isbinaryfile/download/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621" - -isexe@^2.0.0: - version "2.0.0" - resolved "http://r.cnpmjs.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - -isstream@~0.1.2: - version "0.1.2" - resolved "http://r.cnpmjs.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - -js-yaml@^3.10.0: - version "3.10.0" - resolved "http://r.cnpmjs.org/js-yaml/download/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "http://r.cnpmjs.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "http://r.cnpmjs.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - -json-schema@0.2.3: - version "0.2.3" - resolved "http://r.cnpmjs.org/json-schema/download/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "http://r.cnpmjs.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "http://r.cnpmjs.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - -json5@^0.5.1: - version "0.5.1" - resolved "http://r.cnpmjs.org/json5/download/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - -jsonfile@^2.1.0: - version "2.4.0" - resolved "http://r.cnpmjs.org/jsonfile/download/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "http://r.cnpmjs.org/jsonfile/download/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@~0.0.0: - version "0.0.0" - resolved "http://r.cnpmjs.org/jsonify/download/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - -jsprim@^1.2.2: - version "1.4.1" - resolved "http://r.cnpmjs.org/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -klaw@^1.0.0: - version "1.3.1" - resolved "http://r.cnpmjs.org/klaw/download/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" - optionalDependencies: - graceful-fs "^4.1.9" - -latest-version@^3.0.0: - version "3.1.0" - resolved "http://r.cnpmjs.org/latest-version/download/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" - dependencies: - package-json "^4.0.0" - -lazy-val@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.3.tgz#bb97b200ef00801d94c317e29dc6ed39e31c5edc" - -lcid@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/lcid/download/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - dependencies: - invert-kv "^1.0.0" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "http://r.cnpmjs.org/load-json-file/download/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "http://r.cnpmjs.org/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "http://r.cnpmjs.org/loud-rejection/download/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lowercase-keys@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/lowercase-keys/download/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" - -lru-cache@^4.0.1: - version "4.1.1" - resolved "http://r.cnpmjs.org/lru-cache/download/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -make-dir@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/make-dir/download/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" - dependencies: - pify "^2.3.0" - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "http://r.cnpmjs.org/map-obj/download/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - -mem@^1.1.0: - version "1.1.0" - resolved "http://r.cnpmjs.org/mem/download/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - dependencies: - mimic-fn "^1.0.0" - -meow@^3.1.0: - version "3.7.0" - resolved "http://r.cnpmjs.org/meow/download/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -mime-db@~1.30.0: - version "1.30.0" - resolved "http://r.cnpmjs.org/mime-db/download/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" - -mime-types@^2.1.12, mime-types@~2.1.17: - version "2.1.17" - resolved "http://r.cnpmjs.org/mime-types/download/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" - dependencies: - mime-db "~1.30.0" - -mime@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.2.0.tgz#161e541965551d3b549fa1114391e3a3d55b923b" - -mimic-fn@^1.0.0: - version "1.1.0" - resolved "http://r.cnpmjs.org/mimic-fn/download/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" - -minimatch@^3.0.4: - version "3.0.4" - resolved "http://r.cnpmjs.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "http://r.cnpmjs.org/minimist/download/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "http://r.cnpmjs.org/minimist/download/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -mkdirp@0.5.0: - version "0.5.0" - resolved "http://r.cnpmjs.org/mkdirp/download/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12" - dependencies: - minimist "0.0.8" - -ms@0.7.1: - version "0.7.1" - resolved "http://r.cnpmjs.org/ms/download/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" - -ms@2.0.0: - version "2.0.0" - resolved "http://r.cnpmjs.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.4.0: - version "2.4.0" - resolved "http://r.cnpmjs.org/normalize-package-data/download/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "http://r.cnpmjs.org/npm-run-path/download/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - dependencies: - path-key "^2.0.0" - -nugget@^2.0.0, nugget@^2.0.1: - version "2.0.1" - resolved "http://r.cnpmjs.org/nugget/download/nugget-2.0.1.tgz#201095a487e1ad36081b3432fa3cada4f8d071b0" - dependencies: - debug "^2.1.3" - minimist "^1.1.0" - pretty-bytes "^1.0.2" - progress-stream "^1.1.0" - request "^2.45.0" - single-line-log "^1.1.2" - throttleit "0.0.2" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "http://r.cnpmjs.org/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -oauth-sign@~0.8.2: - version "0.8.2" - resolved "http://r.cnpmjs.org/oauth-sign/download/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" - -object-assign@^4.0.1: - version "4.1.1" - resolved "http://r.cnpmjs.org/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - -object-keys@~0.4.0: - version "0.4.0" - resolved "http://r.cnpmjs.org/object-keys/download/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" - -once@^1.3.0: - version "1.4.0" - resolved "http://r.cnpmjs.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -os-locale@^2.0.0: - version "2.1.0" - resolved "http://r.cnpmjs.org/os-locale/download/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/p-finally/download/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - -p-limit@^1.1.0: - version "1.1.0" - resolved "http://r.cnpmjs.org/p-limit/download/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" - -p-locate@^2.0.0: - version "2.0.0" - resolved "http://r.cnpmjs.org/p-locate/download/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - dependencies: - p-limit "^1.1.0" - -package-json@^4.0.0: - version "4.0.1" - resolved "http://r.cnpmjs.org/package-json/download/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" - dependencies: - got "^6.7.1" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" - -parse-color@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/parse-color/download/parse-color-1.0.0.tgz#7b748b95a83f03f16a94f535e52d7f3d94658619" - dependencies: - color-convert "~0.5.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "http://r.cnpmjs.org/parse-json/download/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - dependencies: - error-ex "^1.2.0" - -path-exists@^2.0.0, path-exists@^2.1.0: - version "2.1.0" - resolved "http://r.cnpmjs.org/path-exists/download/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "http://r.cnpmjs.org/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "http://r.cnpmjs.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-is-inside@^1.0.1: - version "1.0.2" - resolved "http://r.cnpmjs.org/path-is-inside/download/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - -path-key@^2.0.0: - version "2.0.1" - resolved "http://r.cnpmjs.org/path-key/download/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - -path-type@^1.0.0: - version "1.1.0" - resolved "http://r.cnpmjs.org/path-type/download/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -pend@~1.2.0: - version "1.2.0" - resolved "http://r.cnpmjs.org/pend/download/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - -performance-now@^2.1.0: - version "2.1.0" - resolved "http://r.cnpmjs.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "http://r.cnpmjs.org/pify/download/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "http://r.cnpmjs.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "http://r.cnpmjs.org/pinkie/download/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -plist@^2.1.0: - version "2.1.0" - resolved "http://r.cnpmjs.org/plist/download/plist-2.1.0.tgz#57ccdb7a0821df21831217a3cad54e3e146a1025" - dependencies: - base64-js "1.2.0" - xmlbuilder "8.2.2" - xmldom "0.1.x" - -prepend-http@^1.0.1: - version "1.0.4" - resolved "http://r.cnpmjs.org/prepend-http/download/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - -pretty-bytes@^1.0.2: - version "1.0.4" - resolved "http://r.cnpmjs.org/pretty-bytes/download/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84" - dependencies: - get-stdin "^4.0.1" - meow "^3.1.0" - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "http://r.cnpmjs.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - -progress-stream@^1.1.0: - version "1.2.0" - resolved "http://r.cnpmjs.org/progress-stream/download/progress-stream-1.2.0.tgz#2cd3cfea33ba3a89c9c121ec3347abe9ab125f77" - dependencies: - speedometer "~0.1.2" - through2 "~0.2.3" - -pseudomap@^1.0.2: - version "1.0.2" - resolved "http://r.cnpmjs.org/pseudomap/download/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - -punycode@^1.4.1: - version "1.4.1" - resolved "http://r.cnpmjs.org/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - -qs@~6.5.1: - version "6.5.1" - resolved "http://r.cnpmjs.org/qs/download/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" - -rc@^1.0.1, rc@^1.1.2, rc@^1.1.6, rc@^1.2.1: - version "1.2.1" - resolved "http://r.cnpmjs.org/rc/download/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" - dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -read-config-file@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-2.1.1.tgz#bd6c2b93e97a82a35f71a3c9eb43161e16692054" - dependencies: - ajv "^5.5.0" - ajv-keywords "^2.1.0" - bluebird-lst "^1.0.5" - dotenv "^4.0.0" - dotenv-expand "^4.0.1" - fs-extra-p "^4.5.0" - js-yaml "^3.10.0" - json5 "^0.5.1" - lazy-val "^1.0.3" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "http://r.cnpmjs.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "http://r.cnpmjs.org/read-pkg/download/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -readable-stream@^2.2.2: - version "2.3.3" - resolved "http://r.cnpmjs.org/readable-stream/download/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - -readable-stream@~1.1.9: - version "1.1.14" - resolved "http://r.cnpmjs.org/readable-stream/download/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -redent@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/redent/download/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -registry-auth-token@^3.0.1: - version "3.3.1" - resolved "http://r.cnpmjs.org/registry-auth-token/download/registry-auth-token-3.3.1.tgz#fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006" - dependencies: - rc "^1.1.6" - safe-buffer "^5.0.1" - -registry-url@^3.0.3: - version "3.1.0" - resolved "http://r.cnpmjs.org/registry-url/download/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - dependencies: - rc "^1.0.1" - -repeating@^2.0.0: - version "2.0.1" - resolved "http://r.cnpmjs.org/repeating/download/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - dependencies: - is-finite "^1.0.0" - -request@^2.45.0: - version "2.83.0" - resolved "http://r.cnpmjs.org/request/download/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.6.0" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.1" - forever-agent "~0.6.1" - form-data "~2.3.1" - har-validator "~5.0.3" - hawk "~6.0.2" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.17" - oauth-sign "~0.8.2" - performance-now "^2.1.0" - qs "~6.5.1" - safe-buffer "^5.1.1" - stringstream "~0.0.5" - tough-cookie "~2.3.3" - tunnel-agent "^0.6.0" - uuid "^3.1.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "http://r.cnpmjs.org/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "http://r.cnpmjs.org/require-main-filename/download/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - -rimraf@^2.2.8: - version "2.6.2" - resolved "http://r.cnpmjs.org/rimraf/download/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" - dependencies: - glob "^7.0.5" - -safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.1" - resolved "http://r.cnpmjs.org/safe-buffer/download/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" - -sanitize-filename@^1.6.1: - version "1.6.1" - resolved "http://r.cnpmjs.org/sanitize-filename/download/sanitize-filename-1.6.1.tgz#612da1c96473fa02dccda92dcd5b4ab164a6772a" - dependencies: - truncate-utf8-bytes "^1.0.0" - -sax@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - -semver-diff@^2.0.0: - version "2.1.0" - resolved "http://r.cnpmjs.org/semver-diff/download/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" - dependencies: - semver "^5.0.3" - -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1: - version "5.4.1" - resolved "http://r.cnpmjs.org/semver/download/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - -semver@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "http://r.cnpmjs.org/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "http://r.cnpmjs.org/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/shebang-regex/download/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "http://r.cnpmjs.org/signal-exit/download/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -single-line-log@^1.1.2: - version "1.1.2" - resolved "http://r.cnpmjs.org/single-line-log/download/single-line-log-1.1.2.tgz#c2f83f273a3e1a16edb0995661da0ed5ef033364" - dependencies: - string-width "^1.0.1" - -sntp@2.x.x: - version "2.0.2" - resolved "http://r.cnpmjs.org/sntp/download/sntp-2.0.2.tgz#5064110f0af85f7cfdb7d6b67a40028ce52b4b2b" - dependencies: - hoek "4.x.x" - -source-map-support@^0.5.1: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.3.tgz#2b3d5fff298cfa4d1afd7d4352d569e9a0158e76" - dependencies: - source-map "^0.6.0" - -source-map@^0.6.0: - version "0.6.1" - resolved "http://r.cnpmjs.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - -spdx-correct@~1.0.0: - version "1.0.2" - resolved "http://r.cnpmjs.org/spdx-correct/download/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" - dependencies: - spdx-license-ids "^1.0.2" - -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "http://r.cnpmjs.org/spdx-expression-parse/download/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" - -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "http://r.cnpmjs.org/spdx-license-ids/download/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" - -speedometer@~0.1.2: - version "0.1.4" - resolved "http://r.cnpmjs.org/speedometer/download/speedometer-0.1.4.tgz#9876dbd2a169d3115402d48e6ea6329c8816a50d" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "http://r.cnpmjs.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - -sshpk@^1.7.0: - version "1.13.1" - resolved "http://r.cnpmjs.org/sshpk/download/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: - bcrypt-pbkdf "^1.0.0" - ecc-jsbn "~0.1.1" - jsbn "~0.1.0" - tweetnacl "~0.14.0" - -stat-mode@^0.2.2: - version "0.2.2" - resolved "http://r.cnpmjs.org/stat-mode/download/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502" - -string-width@^1.0.1: - version "1.0.2" - resolved "http://r.cnpmjs.org/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0, string-width@^2.1.1: - version "2.1.1" - resolved "http://r.cnpmjs.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "http://r.cnpmjs.org/string_decoder/download/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@~1.0.3: - version "1.0.3" - resolved "http://r.cnpmjs.org/string_decoder/download/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" - dependencies: - safe-buffer "~5.1.0" - -stringstream@~0.0.5: - version "0.0.5" - resolved "http://r.cnpmjs.org/stringstream/download/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - dependencies: - ansi-regex "^3.0.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "http://r.cnpmjs.org/strip-bom/download/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - dependencies: - is-utf8 "^0.2.0" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - -strip-indent@^1.0.1: - version "1.0.1" - resolved "http://r.cnpmjs.org/strip-indent/download/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - dependencies: - get-stdin "^4.0.1" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "http://r.cnpmjs.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - -sumchecker@^1.2.0: - version "1.3.1" - resolved "http://r.cnpmjs.org/sumchecker/download/sumchecker-1.3.1.tgz#79bb3b4456dd04f18ebdbc0d703a1d1daec5105d" - dependencies: - debug "^2.2.0" - es6-promise "^4.0.5" - -sumchecker@^2.0.2: - version "2.0.2" - resolved "http://r.cnpmjs.org/sumchecker/download/sumchecker-2.0.2.tgz#0f42c10e5d05da5d42eea3e56c3399a37d6c5b3e" - dependencies: - debug "^2.2.0" - -supports-color@^4.0.0: - version "4.4.0" - resolved "http://r.cnpmjs.org/supports-color/download/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" - dependencies: - has-flag "^2.0.0" - -temp-file@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.1.1.tgz#8823649aa4e8a6e419eb71b601a2e4d472b0f24f" - dependencies: - async-exit-hook "^2.0.1" - bluebird-lst "^1.0.5" - fs-extra-p "^4.5.0" - lazy-val "^1.0.3" - -term-size@^1.2.0: - version "1.2.0" - resolved "http://r.cnpmjs.org/term-size/download/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" - dependencies: - execa "^0.7.0" - -throttleit@0.0.2: - version "0.0.2" - resolved "http://r.cnpmjs.org/throttleit/download/throttleit-0.0.2.tgz#cfedf88e60c00dd9697b61fdd2a8343a9b680eaf" - -through2@~0.2.3: - version "0.2.3" - resolved "http://r.cnpmjs.org/through2/download/through2-0.2.3.tgz#eb3284da4ea311b6cc8ace3653748a52abf25a3f" - dependencies: - readable-stream "~1.1.9" - xtend "~2.1.1" - -timed-out@^4.0.0: - version "4.0.1" - resolved "http://r.cnpmjs.org/timed-out/download/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - -tough-cookie@~2.3.3: - version "2.3.3" - resolved "http://r.cnpmjs.org/tough-cookie/download/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" - dependencies: - punycode "^1.4.1" - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/trim-newlines/download/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - -truncate-utf8-bytes@^1.0.0: - version "1.0.2" - resolved "http://r.cnpmjs.org/truncate-utf8-bytes/download/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" - dependencies: - utf8-byte-length "^1.0.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "http://r.cnpmjs.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "http://r.cnpmjs.org/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - -typedarray@^0.0.6: - version "0.0.6" - resolved "http://r.cnpmjs.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - -unique-string@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/unique-string/download/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" - dependencies: - crypto-random-string "^1.0.0" - -universalify@^0.1.0: - version "0.1.1" - resolved "http://r.cnpmjs.org/universalify/download/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7" - -unzip-response@^2.0.1: - version "2.0.1" - resolved "http://r.cnpmjs.org/unzip-response/download/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" - -update-notifier@^2.3.0: - version "2.3.0" - resolved "http://r.cnpmjs.org/update-notifier/download/update-notifier-2.3.0.tgz#4e8827a6bb915140ab093559d7014e3ebb837451" - dependencies: - boxen "^1.2.1" - chalk "^2.0.1" - configstore "^3.0.0" - import-lazy "^2.1.0" - is-installed-globally "^0.1.0" - is-npm "^1.0.0" - latest-version "^3.0.0" - semver-diff "^2.0.0" - xdg-basedir "^3.0.0" - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/url-parse-lax/download/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - dependencies: - prepend-http "^1.0.1" - -utf8-byte-length@^1.0.1: - version "1.0.4" - resolved "http://r.cnpmjs.org/utf8-byte-length/download/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "http://r.cnpmjs.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -uuid@^3.1.0: - version "3.1.0" - resolved "http://r.cnpmjs.org/uuid/download/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" - -validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "http://r.cnpmjs.org/validate-npm-package-license/download/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" - dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" - -verror@1.10.0: - version "1.10.0" - resolved "http://r.cnpmjs.org/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -which-module@^2.0.0: - version "2.0.0" - resolved "http://r.cnpmjs.org/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - -which@^1.2.9: - version "1.3.0" - resolved "http://r.cnpmjs.org/which/download/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" - dependencies: - isexe "^2.0.0" - -widest-line@^1.0.0: - version "1.0.0" - resolved "http://r.cnpmjs.org/widest-line/download/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" - dependencies: - string-width "^1.0.1" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "http://r.cnpmjs.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrappy@1: - version "1.0.2" - resolved "http://r.cnpmjs.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -write-file-atomic@^2.0.0: - version "2.3.0" - resolved "http://r.cnpmjs.org/write-file-atomic/download/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -xdg-basedir@^3.0.0: - version "3.0.0" - resolved "http://r.cnpmjs.org/xdg-basedir/download/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" - -xmlbuilder@8.2.2: - version "8.2.2" - resolved "http://r.cnpmjs.org/xmlbuilder/download/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773" - -xmldom@0.1.x: - version "0.1.27" - resolved "http://r.cnpmjs.org/xmldom/download/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" - -xtend@~2.1.1: - version "2.1.2" - resolved "http://r.cnpmjs.org/xtend/download/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" - dependencies: - object-keys "~0.4.0" - -y18n@^3.2.1: - version "3.2.1" - resolved "http://r.cnpmjs.org/y18n/download/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - -yallist@^2.1.2: - version "2.1.2" - resolved "http://r.cnpmjs.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - -yargs-parser@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" - dependencies: - camelcase "^4.1.0" - -yargs@^10.1.1: - version "10.1.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5" - dependencies: - cliui "^4.0.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^8.1.0" - -yauzl@2.4.1: - version "2.4.1" - resolved "http://r.cnpmjs.org/yauzl/download/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" - dependencies: - fd-slicer "~1.0.1" diff --git a/fiber.toml b/fiber.toml new file mode 100755 index 0000000..7dd5f51 --- /dev/null +++ b/fiber.toml @@ -0,0 +1,138 @@ +# fiber configuration +# Defaults are shown, commented out +# Some values have no defaults and must be filled in +[node] +genesis_signature_str = "b248bf0606c85c87d86fe61f0645b98a30ccf213dbe221004b1a1898423215664cf0b094e18cb2a7f4c6ce113d4544891c2c876f8a6d69de98a9ae92b49a6c6501" +genesis_address_str = "2FiHFKWKqhnDCio47z9Q2o28qWF3yePUCg7" +blockchain_pubkey_str = "02ae5c7701dcd71e7448116e5766130f2eacecc585f3e320b1d85f2951382a424a" +blockchain_seckey_str = "" +genesis_timestamp = 1530619056 +# genesis_coin_volume = 100e12 +default_connections = [ +"139.162.161.41:9610", +"139.162.7.215:9610", +"139.162.7.215:9611", +"139.162.7.215:9612", +"18.218.142.16:9600", +"178.79.170.194:9600", +"13.58.196.172:9600", +] +peer_list_url = "https://distributedblocks.com/peers.txt" +#port = 9600 +#web_interface_port = 9620 + +[build] +version = "0.24.1" +#build = "" +#commit = "" + +[visor] +max_coin_supply = 1e8 +distribution_addresses_total = 100 +initial_unlocked_count = 100 +unlock_addresss_rate = 0 +unlocked_time_internal = 60 * 60 * 24 * 365 +max_droplet_precision = 3 +default_max_block_size = 32 * 1024 +distribution_addresses = [ + "23bNjBuUQEfhGdWZNiwb2f7Mu47xyiudYET", +"MYL1eQk3CAJvxQoXjfPmprhSiP73svL1XS", +"2Nm4oJ96Sb629114ERPi7tqEvpBDgt92tyF", +"2SJo7pXfY2w7k4SwmNsjb7Jy2B1vz4BEWHC", +"FWiv9GmDsZR7rtfXYtWPybyVT1iKKFu6GB", +"28cuBTUnfB5MeFGcqtmzb9gTh4zUfKzVVDK", +"5NWMnPw1mMcJRJdAhYkfzUo5uDNUcrgNN1", +"JEACD2rBDGvYcE8qNxYEFDJEE1dexhFhjE", +"2fDUoJzsddK2k8X1Y6QbFisxKFMRjNwErNB", +"uEEo7KrSBYUZjYSvY8Z9PLCLDJBxTFheQv", +"2TPcUbKzfeNWDXAYowJCybDZGiRgw32kgMK", +"WpSSxNVMVfWFimNcTGfgEA3AVCNrchDvfr", +"2N7p2MVvXbr9PbwQWGk7rGG6H2M9riGQcUB", +"yqoecGz1LBz3wQdtPJVHnuZX1EY6hVMjFq", +"2WH6cQa4LirnwUKnJkTmsNpyZLMXEwy4UjS", +"n1nuPRHjtHrmM2yGKm2Uz5AhKmKT8JTX7p", +"yhTPvq73ezReis3dZPA5YpzNnxHzHTkALB", +"2QCdCYmEZZYrhvcoms8qJmW57hfbPBEBwXL", +"2X3L48KCcHi2y5xpvnQC21x1PDPN6QLqzRJ", +"HFrbigTAqNc4n51YFAQ8ta8Ey3XqmpHqPJ", +"2W59hCZeqc1kURS1hKq9Swyjmf535DcbwBE", +"hNdDNtak3JYnpdRapoQZtT1mBJt56uMg6q", +"VPTBXcHsSY6ExfXkEvmFVvkYeLsJp7RdME", +"2LmPHmsKpS83g4QHfMvxvTHqc6GcYumfJvT", +"2cHn2Z3uPmraS8cGRcQeeZv2QbkFhKCmT1C", +"2XzE3ec6WNSPTo8WFkHYHjCp8NZzMT2VPfp", +"BaCCBy6eACE7ZgdT38TmU9n6TwTFW7agWn", +"W93CcpUmAwyyWJfaoz86vJuQbTXHMUXX9s", +"PdTiWAxjNc54D5GZoyF1qqfU71qXUyEeth", +"2WTKLguHpfJxm7Jc7HDdEMFww8Ssf4TC93h", +"23G1k2fYwQYqY9ACkeukWEhbpMx62auamYF", +"D91krziPz4snSRvkdaDX939FVBHA1fiwUa", +"J9hgP4iJ9femPEmrQU1NovMaG4qBQjQ92x", +"i3aRzqgjivBZeX2wFhazXqQAfSwzWXHLZD", +"26VWjg4x3wSEHE1vK1FyTUHfcBbS8gp8dsT", +"8UchvQEBBEytxndRTpXG3T32k3aPykqpfd", +"kPutyqB4usBsiDyqjDYyB8PeKFsJPZBsY4", +"2T64cBRvZrfw2fHXDYhT2QtvJtCBEAw4xbb", +"gASYNqkQwT4b1uJu5nhFqQzaEYiUYMXKhW", +"2HAFcb7dkSSEirBb8S8DBoz2yt8MxPSFyxZ", +"2Vm1K3yvRqXVxg3TGBvryvHHGhL18GmyUd9", +"GJPHA5ELhcqvdvtSs942bfXq5aeaqD31d3", +"TfaH8cLx92yZ8Czq2JVozxvCAzX8ToksMy", +"T2yhCt8NQf8z4PztyXbe3XGjwJjggz8cYD", +"2GGURjuGfwmsUpxtKqBvXaYtqTd91qqLU15", +"BKq56WV5iWjvE4Ch47rKfN6FqhqBa76BS9", +"2DpCcC64JX5hbV7wdz1hxTQjbkcTEi2Ty4V", +"2TroiWS4uB6hy8xW69XY7PRdk1Jubc654SZ", +"2nZNjwyV8gy91V3U4eyiAssdc7Ls7BNjSq", +"5ecmCxF7zWyx97KoSbGPLLXxVsfXFkVQoz", +"2Ve67p5a8VuesR9QJakQfmBKbuB2E3YXfiZ", +"xxYvUHJXZ7huisjkBC3TqKjaZqxJyataKq", +"BcZKm3CMwaJ611RDLQm2sv3EhDKiqbwebX", +"LS8SdBCpMW6dGKYNMZhUvTSFL8KgGFes4a", +"2KwE6a518EN3WyufuJsZj2M6T2nVcW8x1xb", +"21ijQHwFuYuWn3oiP5YeiQDCLyBswphyqsj", +"2YrexqhQbuzy57u2MdQAa4zRM7TcvyWEkdQ", +"ptKy9M67zTWX8uA84UqQ9h1pNgTwHmHejD", +"2kwYYHt5rCEbTCAsJ8D4pEbb8CiyqjXFSri", +"2hF9FsnqPR4H2bT5MasWo7QqWfAuLx1dxb5", +"WMVV8pxc5iswLepL89npQaMnC7aoqryN4F", +"28YYCP7mV1DfMLiGmf1ZAyr1AeiZmehBnsX", +"2JN5JigTv9Mb6kUBbPXydEBhMXEsvf32VJk", +"qP3cGCvVXykvkhEXVjXssrpxCLV5MhTAMJ", +"2MJNzJU17LTdbDmm84gLR2qTNk4San1DJJY", +"92nifkaphsBkZ9VRgktkEqqSGkroDaNRhQ", +"cnC5mTDjQMPnmv6jzSkDqdPjrpNRVVsfNB", +"2SQ2ZYp6eNtxUitRhnHgmsGqg3Ve4YEFYbC", +"2RDu9UT49XuzVyBe67zBqxQR5cAt2t2KkRi", +"d2GEgVr1EkCjC664MqL9Mx1AtWscvk9VXP", +"22znryMC36GVJkoDtruxDvUfP6rFQbF6zob", +"289i7SnAzPqtuVXWkFVBQyWiLZhZygXhmSG", +"2e32aNdnZ63NHMasvxkE3b5cGvre1CACExQ", +"jX3xJjitR8nBtWJXG4Q4wLKctq7SwCqxRy", +"QfySmE5E9NyuYJ5xSJ1NLqjx9EQ6X9UZvK", +"S7fksUk2bgueUTQ1oWEi4S7CtfPE4ALnuL", +"2dLV4qmJEu5BcBNNjy7nxsyxSQTLW8W87uu", +"U7FMBy5D81uWuE5yfFWg5R9VufokDt8zmz", +"2M4KAUsKzPrkoGuSTa9vXTqRKH7h3b25MfB", +"22pGBTfcpNcGgnQsY8wHXDaUCYp1THPHDbd", +"PKhPArP4Yy1s9nKta2LfZVuFBJoYFFgLPq", +"2QmUP7AL3W8eVW9j9AgxKxXe8iqYELV7Lu8", +"pdRYWyjpaSaRswx33wzWCPdwAeWcPvvRq1", +"2f75891emB82nZmrkrjRok7U5XJrATR1LCb", +"wxEKdg6AcTp7Ueo1isnbR4EKi9ufR5JTPa", +"z4Es9X7xvtuB1qfV5CZT5JG1p2GxAgrnko", +"2ZpnnkTSVvaA9ENWFNyXJWycrRiEntroJaJ", +"2W1VPJLs8yXpXuXPcZcAzEtrW5p2pbKFYCD", +"2Hcokk8EjjcSXGvHgRzsQ8SyswCPthWu9Lc", +"GjaWu68GcnsxtnTpsaRwqhBCRP6ApDhEwX", +"2MTmVkCfkbSbf2WFF7wD5wSoBk3TosX6LbN", +"heLVT5819tVrSy4VZ2G9rVkpKLojNLGjT1", +"28bShKHnV4W8qRZti8uE63HaCdb4jKTqKqp", +"3nTkzrxENBvu53qvgxbiLN55yP7Wf5v8b5", +"2HcXd1p9yBtnYSgRJ5KkBNe3nc2MKKb8EJf", +"vmzDMTohNYVJP6PQJhrrcSeaCzRbDELpQs", +"2PVzujZpkZsayMTMLBphSNdUPp3DPG2eKv3", +"2msYoM9CnJwHX7W9th85CYoXbL61jyCCTkF", +"2Hpw5t4MSnNoFiFgHXKjWuszdVJFuMkfM3S", +"2YuyJoUsRXSj2J7LHL52zDTdveWzkj8eywT", +] diff --git a/gz-c.asc b/gz-c.asc new file mode 100755 index 0000000..dc1d968 --- /dev/null +++ b/gz-c.asc @@ -0,0 +1,13 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mDMEWaj46RYJKwYBBAHaRw8BAQdApB44Kgde4Kiax3M9Ta+QbzKQQPoUHYP51fhN +1XTSbRi0I0daLUMgU0tZQ09JTiA8dG9rZW5AcHJvdG9ubWFpbC5jb20+iJYEExYK +AD4CGwMFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AWIQQQpyK3by/+e9I4AiJYAWMb +0nx4dAUCWq/TNwUJCmzbzgAKCRBYAWMb0nx4dKzqAP4tKJIk1vV2bO60nYdEuFB8 +FAgb5ITlkj9PyoXcunETVAEAhigo4miyE/nmE9JT3Q/ZAB40YXS6w3hWSl3YOF1P +VQq4OARZqPjpEgorBgEEAZdVAQUBAQdAa8NkEMxo0dr2x9PlNjTZ6/gGwhaf5OEG +t2sLnPtYxlcDAQgHiH4EGBYKACYCGwwWIQQQpyK3by/+e9I4AiJYAWMb0nx4dAUC +Wq/TTQUJCmzb5AAKCRBYAWMb0nx4dFPAAQD7otGsKbV70UopH+Xdq0CDTzWRbaGw +FAoZLIZRcFv8zwD/Z3i9NjKJ8+LS5oc8rn8yNx8xRS+8iXKQq55bDmz7Igw= +=5fwW +-----END PGP PUBLIC KEY BLOCK----- diff --git a/include/base64.h b/include/base64.h new file mode 100755 index 0000000..75211cc --- /dev/null +++ b/include/base64.h @@ -0,0 +1,45 @@ +/* +base64.c - by Joe DF (joedf@ahkscript.org) +Released under the MIT License + +Revision: 2015-06-12 01:26:51 + +Thank you for inspiration: +http://www.codeproject.com/Tips/813146/Fast-base-functions-for-encode-decode +*/ + +#include + +//Base64 char table function - used internally for decoding +unsigned int b64_int(unsigned int ch); + +// in_size : the number bytes to be encoded. +// Returns the recommended memory size to be allocated for the output buffer excluding the null byte +unsigned int b64e_size(unsigned int in_size); + +// in_size : the number bytes to be decoded. +// Returns the recommended memory size to be allocated for the output buffer +unsigned int b64d_size(unsigned int in_size); + +// in : buffer of "raw" binary to be encoded. +// in_len : number of bytes to be encoded. +// out : pointer to buffer with enough memory, user is responsible for memory allocation, receives null-terminated string +// returns size of output including null byte +unsigned int b64_encode(const unsigned char* in, unsigned int in_len, unsigned char* out); + +// in : buffer of base64 string to be decoded. +// in_len : number of bytes to be decoded. +// out : pointer to buffer with enough memory, user is responsible for memory allocation, receives "raw" binary +// returns size of output excluding null byte +unsigned int b64_decode(const unsigned char* in, unsigned int in_len, unsigned char* out); + +// file-version b64_encode +// Input : filenames +// returns size of output +unsigned int b64_encodef(char *InFile, char *OutFile); + +// file-version b64_decode +// Input : filenames +// returns size of output +unsigned int b64_decodef(char *InFile, char *OutFile); + diff --git a/include/cipher.address.go.h b/include/cipher.address.go.h new file mode 100755 index 0000000..462feb9 --- /dev/null +++ b/include/cipher.address.go.h @@ -0,0 +1,14 @@ +/** + * Integrity checksum, 4-bytes long. + */ +typedef unsigned char cipher__Checksum[4]; + +/** + * Addresses of SKY accounts + */ +typedef struct { + unsigned char Version; ///< Address version identifier. + ///< Used to differentiate testnet + ///< vs mainnet addresses, for instance. + cipher__Ripemd160 Key; ///< Address hash identifier. +} cipher__Address; diff --git a/include/cipher.crypto.go.h b/include/cipher.crypto.go.h new file mode 100755 index 0000000..17f3923 --- /dev/null +++ b/include/cipher.crypto.go.h @@ -0,0 +1,20 @@ +/** + * Hash signed using a secret key, 65 bytes long. + */ +typedef unsigned char cipher__Sig[65]; + +/** + * Public key, 33-bytes long. + */ +typedef unsigned char cipher__PubKey[33]; + +/** + * Container type suitable for storing a variable number of + * public keys. + */ +typedef GoSlice_ cipher__PubKeySlice; + +/** + * Secret key, 32 bytes long. + */ +typedef unsigned char cipher__SecKey[32]; diff --git a/include/cipher.hash.go.h b/include/cipher.hash.go.h new file mode 100755 index 0000000..8746569 --- /dev/null +++ b/include/cipher.hash.go.h @@ -0,0 +1,9 @@ +/** + * Hash obtained using SHA256 algorithm, 32 bytes long. + */ +typedef unsigned char cipher__SHA256[32]; + +/** + * RIPEMD-160 hash. + */ +typedef unsigned char cipher__Ripemd160[20]; diff --git a/include/cipher.testsuite.testsuite.go.h b/include/cipher.testsuite.testsuite.go.h new file mode 100755 index 0000000..0802f98 --- /dev/null +++ b/include/cipher.testsuite.testsuite.go.h @@ -0,0 +1,99 @@ + +#ifndef CIPHER_TESTSUITE_TESTSUITE +#define CIPHER_TESTSUITE_TESTSUITE + +#include +#include + +#include "base64.h" +#include "json.h" +#include "libskycoin.h" +#include "skyerrors.h" +#include "skystring.h" +#include "skytest.h" + +#define BUFFER_SIZE 1024 +#define STRING_SIZE 128 +#define JSON_FILE_SIZE 4096 +#define JSON_BIG_FILE_SIZE 32768 + +// FIXME: Does not work on e.g. Windowa +#define FILEPATH_SEPARATOR "/" +#define TEST_DATA_DIR "src/cipher/testsuite/testdata/" +#define MANY_ADDRESSES_FILENAME "many-addresses.golden" +#define INPUT_HASHES_FILENAME "input-hashes.golden" +#define SEED_FILE_REGEX "seed-\d+.golden" + +//------------------------------------------------------------------------------ +// Data types +//------------------------------------------------------------------------------ + +// InputTestData contains hashes to be signed +typedef struct { + // Slice data is an array of cipher.SHA256's + GoSlice Hashes; +} InputTestData; + +// InputTestDataJSON contains hashes to be signed +typedef struct { + // Slice data is an array of GoString's + GoSlice Hashes; +} InputTestDataJSON; + +// KeysTestData contains address, public key, secret key and list of signatures +typedef struct { + cipher__Address Address; + cipher__SecKey Secret; + cipher__PubKey Public; + // Slice data is an array of cipher.Sig's + GoSlice Signatures; +} KeysTestData; + +// KeysTestDataJSON contains address, public key, secret key and list of signatures +typedef struct { + GoString Address; + GoString Secret; + GoString Public; + // Slice data is an array of GoString's + GoSlice Signatures; +} KeysTestDataJSON; + +// SeedTestDataJSON contains data generated by Seed +typedef struct { + GoString Seed; + // Slice data is an array of KeysTestDataJSON's + GoSlice Keys; +} SeedTestDataJSON; + +// SeedTestData contains data generated by Seed +typedef struct { + // Slice data is a bytes array buffer + GoSlice Seed; + // Slice data is an array of KeysTestData + GoSlice Keys; +} SeedTestData; + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +json_value* loadGoldenFile(const char* file); +InputTestDataJSON* jsonToInputTestData(json_value* json, InputTestDataJSON* input_data); +InputTestData* registerInputTestDataCleanup(InputTestData* input_data); +InputTestDataJSON* registerInputTestDataJSONCleanup(InputTestDataJSON* input_data); +void InputTestDataToJSON(InputTestData* input_data, InputTestDataJSON* json_data); +GoUint32 InputTestDataFromJSON(InputTestDataJSON* json_data, InputTestData* input_data); +KeysTestDataJSON* jsonToKeysTestData(json_value* json, KeysTestDataJSON* input_data); +KeysTestData* registerKeysTestDataCleanup(KeysTestData* input_data); +KeysTestDataJSON* registerKeysTestDataJSONCleanup(KeysTestDataJSON* input_data); +void KeysTestDataToJson(KeysTestData* input_data, KeysTestDataJSON* json_data); +GoUint32 KeysTestDataFromJSON(KeysTestDataJSON* json_data, KeysTestData* input_data); +SeedTestDataJSON* jsonToSeedTestData(json_value* json, SeedTestDataJSON* input_data); +SeedTestData* registerSeedTestDataCleanup(SeedTestData* input_data); +SeedTestDataJSON* registerSeedTestDataJSONCleanup(SeedTestDataJSON* input_data); +void SeedTestDataToJson(SeedTestData* input_data, SeedTestDataJSON* json_data); +GoUint32 SeedTestDataFromJSON(SeedTestDataJSON* json_data, SeedTestData* input_data); +void ValidateSeedData(SeedTestData* seedData, InputTestData* inputData); + +#endif + diff --git a/include/cli.create_rawtx.go.h b/include/cli.create_rawtx.go.h new file mode 100755 index 0000000..48dfa5c --- /dev/null +++ b/include/cli.create_rawtx.go.h @@ -0,0 +1,7 @@ +/** + * Structure used to specify amounts transferred in a transaction. + */ +typedef struct { + GoString_ Addr; ///< Sender / receipient address. + GoInt64_ Coins; ///< Amount transferred (e.g. measured in SKY) +} cli__SendAmount; diff --git a/include/coin.outputs.go.h b/include/coin.outputs.go.h new file mode 100755 index 0000000..2893219 --- /dev/null +++ b/include/coin.outputs.go.h @@ -0,0 +1,18 @@ +typedef struct{ + GoUint64_ Time; + GoUint64_ BkSeq; +} coin__UxHead; + +typedef GoSlice_ coin__UxArray; + +typedef struct{ + cipher__SHA256 SrcTransaction; + cipher__Address Address; + GoUint64_ Coins; + GoUint64_ Hours; +} coin__UxBody; + +typedef struct{ + coin__UxHead Head; + coin__UxBody Body; +} coin__UxOut; diff --git a/include/coin.transactions.go.h b/include/coin.transactions.go.h new file mode 100755 index 0000000..0fa66ca --- /dev/null +++ b/include/coin.transactions.go.h @@ -0,0 +1,25 @@ +/** + * Skycoin transaction output. + * + * Instances are integral part of transactions included in blocks. + */ +typedef struct { + cipher__Address Address; ///< Receipient address. + GoInt64_ Coins; ///< Amount sent to the receipient address. + GoInt64_ Hours; ///< Amount of Coin Hours sent to the receipient address. +} coin__TransactionOutput; + +/** + * Skycoin transaction. + * + * Instances of this struct are included in blocks. + */ +typedef struct { + GoInt32_ Length; ///< Current transaction's length expressed in bytes. + GoInt8_ Type; ///< Transaction's version. When a node tries to process a transaction, it must verify whether it supports the transaction's type. This is intended to provide a way to update skycoin clients and servers without crashing the network. If the transaction is not compatible with the node, it should not process it. + cipher__SHA256 InnerHash; ///< It's a SHA256 hash of the inputs and outputs of the transaction. It is used to protect against transaction mutability. This means that the transaction cannot be altered after its creation. + + GoSlice_ Sigs; ///< A list of digital signiatures generated by the skycoin client using the private key. It is used by Skycoin servers to verify the authenticy of the transaction. Each input requires a different signature. + GoSlice_ In; ///< A list of references to unspent transaction outputs. Unlike other cryptocurrencies, such as Bitcoin, Skycoin unspent transaction outputs (UX) and Skycoin transactions (TX) are separated in the blockchain protocol, allowing for lighter transactions, thus reducing the broadcasting costs across the network. + GoSlice_ Out; ///< Outputs: A list of outputs created by the client, that will be recorded in the blockchain if transactions are confirmed. An output consists of a data structure representing an UTXT, which is composed by a Skycoin address to be sent to, the amount in Skycoin to be sent, and the amount of Coin Hours to be sent, and the SHA256 hash of the previous fields. +} coin__Transaction; diff --git a/include/json.h b/include/json.h new file mode 100755 index 0000000..c00193a --- /dev/null +++ b/include/json.h @@ -0,0 +1,283 @@ + +/* vim: set et ts=3 sw=3 sts=3 ft=c: + * + * Copyright (C) 2012, 2013, 2014 James McLaughlin et al. All rights reserved. + * https://github.com/udp/json-parser + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _JSON_H +#define _JSON_H + +#ifndef json_char + #define json_char char +#endif + +#ifndef json_int_t + #ifndef _MSC_VER + #include + #define json_int_t int64_t + #else + #define json_int_t __int64 + #endif +#endif + +#include + +#ifdef __cplusplus + + #include + + extern "C" + { + +#endif + +typedef struct +{ + unsigned long max_memory; + int settings; + + /* Custom allocator support (leave null to use malloc/free) + */ + + void * (* mem_alloc) (size_t, int zero, void * user_data); + void (* mem_free) (void *, void * user_data); + + void * user_data; /* will be passed to mem_alloc and mem_free */ + + size_t value_extra; /* how much extra space to allocate for values? */ + +} json_settings; + +#define json_enable_comments 0x01 + +typedef enum +{ + json_none, + json_object, + json_array, + json_integer, + json_double, + json_string, + json_boolean, + json_null + +} json_type; + +extern const struct _json_value json_value_none; + +typedef struct _json_object_entry +{ + json_char * name; + unsigned int name_length; + + struct _json_value * value; + +} json_object_entry; + +typedef struct _json_value +{ + struct _json_value * parent; + + json_type type; + + union + { + int boolean; + json_int_t integer; + double dbl; + + struct + { + unsigned int length; + json_char * ptr; /* null terminated */ + + } string; + + struct + { + unsigned int length; + + json_object_entry * values; + + #if defined(__cplusplus) && __cplusplus >= 201103L + decltype(values) begin () const + { return values; + } + decltype(values) end () const + { return values + length; + } + #endif + + } object; + + struct + { + unsigned int length; + struct _json_value ** values; + + #if defined(__cplusplus) && __cplusplus >= 201103L + decltype(values) begin () const + { return values; + } + decltype(values) end () const + { return values + length; + } + #endif + + } array; + + } u; + + union + { + struct _json_value * next_alloc; + void * object_mem; + + } _reserved; + + #ifdef JSON_TRACK_SOURCE + + /* Location of the value in the source JSON + */ + unsigned int line, col; + + #endif + + + /* Some C++ operator sugar */ + + #ifdef __cplusplus + + public: + + inline _json_value () + { memset (this, 0, sizeof (_json_value)); + } + + inline const struct _json_value &operator [] (int index) const + { + if (type != json_array || index < 0 + || ((unsigned int) index) >= u.array.length) + { + return json_value_none; + } + + return *u.array.values [index]; + } + + inline const struct _json_value &operator [] (const char * index) const + { + if (type != json_object) + return json_value_none; + + for (unsigned int i = 0; i < u.object.length; ++ i) + if (!strcmp (u.object.values [i].name, index)) + return *u.object.values [i].value; + + return json_value_none; + } + + inline operator const char * () const + { + switch (type) + { + case json_string: + return u.string.ptr; + + default: + return ""; + }; + } + + inline operator json_int_t () const + { + switch (type) + { + case json_integer: + return u.integer; + + case json_double: + return (json_int_t) u.dbl; + + default: + return 0; + }; + } + + inline operator BOOL () const + { + if (type != json_boolean) + return false; + + return u.boolean != 0; + } + + inline operator double () const + { + switch (type) + { + case json_integer: + return (double) u.integer; + + case json_double: + return u.dbl; + + default: + return 0; + }; + } + + #endif + +} json_value; + +json_value * json_parse (const json_char * json, + size_t length); + +#define json_error_max 128 +json_value * json_parse_ex (json_settings * settings, + const json_char * json, + size_t length, + char * error); + +void json_value_free (json_value *); + + +/* Not usually necessary, unless you used a custom mem_alloc and now want to + * use a custom mem_free. + */ +void json_value_free_ex (json_settings * settings, + json_value *); + + +#ifdef __cplusplus + } /* extern "C" */ +#endif + +#endif + + diff --git a/include/skycriterion.h b/include/skycriterion.h new file mode 100755 index 0000000..ecdf227 --- /dev/null +++ b/include/skycriterion.h @@ -0,0 +1,36 @@ +#ifndef LIBCRITERION_H +#define LIBCRITERION_H + +#include +#include + +#include "libskycoin.h" +#include "skyerrors.h" + +extern int cr_user_cipher__Address_eq(cipher__Address *addr1, cipher__Address *addr2); +extern char *cr_user_cipher__Address_tostr(cipher__Address *addr1); +extern int cr_user_cipher__Address_noteq(cipher__Address *addr1, cipher__Address *addr2); + +extern int cr_user_GoString_eq(GoString *string1, GoString *string2); +extern int cr_user_GoString__eq(GoString_ *string1, GoString_ *string2); + +extern char *cr_user_GoString_tostr(GoString *string); +extern char *cr_user_GoString__tostr(GoString_ *string) ; + +extern int cr_user_cipher__SecKey_eq(cipher__SecKey *seckey1, cipher__SecKey *seckey2); +extern char *cr_user_cipher__SecKey_tostr(cipher__SecKey *seckey1); + +extern int cr_user_cipher__Ripemd160_noteq(cipher__Ripemd160 *rp1, cipher__Ripemd160 *rp2); +extern int cr_user_cipher__Ripemd160_eq(cipher__Ripemd160 *rp1, cipher__Ripemd160 *rp2); +extern char *cr_user_cipher__Ripemd160_tostr(cipher__Ripemd160 *rp1); + +extern int cr_user_GoSlice_eq(GoSlice *slice1, GoSlice *slice2); +extern char *cr_user_GoSlice_tostr(GoSlice *slice1); +extern int cr_user_GoSlice_noteq(GoSlice *slice1, GoSlice *slice2); + +extern int cr_user_cipher__SHA256_noteq(cipher__SHA256 *sh1, cipher__SHA256 *sh2); +extern int cr_user_cipher__SHA256_eq(cipher__SHA256 *sh1, cipher__SHA256 *sh2); +extern char *cr_user_cipher__SHA256_tostr(cipher__SHA256 *sh1); + + +#endif //LIBCRITERION_H diff --git a/include/skyerrors.h b/include/skyerrors.h new file mode 100755 index 0000000..181de4b --- /dev/null +++ b/include/skyerrors.h @@ -0,0 +1,9 @@ + +#ifndef SKY_ERRORS_H +#define SKY_ERRORS_H + +#define SKY_OK 0 +#define SKY_ERROR 0xFFFFFFFF + +#endif + diff --git a/include/skystring.h b/include/skystring.h new file mode 100755 index 0000000..b49114a --- /dev/null +++ b/include/skystring.h @@ -0,0 +1,15 @@ +#ifndef LIBSKY_STRING_H +#define LIBSKY_STRING_H + +#include +#include +#include "libskycoin.h" + +extern void randBytes(GoSlice *bytes, size_t n); + +extern void strnhex(unsigned char* buf, char *str, int n); + +extern void strhex(unsigned char* buf, char *str); + + +#endif //LIBSKY_STRING_H diff --git a/include/skytest.h b/include/skytest.h new file mode 100755 index 0000000..ebd25d9 --- /dev/null +++ b/include/skytest.h @@ -0,0 +1,48 @@ + +#include + +#include "json.h" +#include "skycriterion.h" + +#ifndef LIBSKY_TESTING_H +#define LIBSKY_TESTING_H + +/*---------------------------------------------------------------------- + * I/O + *---------------------------------------------------------------------- + */ +void fprintbuff(FILE *f, void *buff, size_t n); +json_value* loadJsonFile(const char* filename); + +/*---------------------------------------------------------------------- + * Memory handling + *---------------------------------------------------------------------- + */ +void * registerMemCleanup(void *p); +extern void toGoString(GoString_ *s, GoString *r); + +/*---------------------------------------------------------------------- + * JSON helpers + *---------------------------------------------------------------------- + */ +json_value* json_get_string(json_value* value, const char* key); +int json_set_string(json_value* value, const char* new_string_value); +int registerJsonFree(void *p); +void freeRegisteredJson(void *p); + +json_value* loadJsonFile(const char* filename); +int compareJsonValues(json_value* value1, json_value* value2); +json_value* get_json_value(json_value* node, const char* path, + json_type type); +json_value* get_json_value_not_strict(json_value* node, const char* path, + json_type type, int allow_null); + +/*---------------------------------------------------------------------- + * JSON helpers + *---------------------------------------------------------------------- + */ +void setup(void); +void teardown(void); + +#endif + diff --git a/include/skytypes.h b/include/skytypes.h new file mode 100755 index 0000000..b15d846 --- /dev/null +++ b/include/skytypes.h @@ -0,0 +1,155 @@ + +#ifndef SKYTYPES_H +#define SKYTYPES_H + +/** + * Go 8-bit signed integer values. + */ +typedef signed char GoInt8_; +/** + * Go 8-bit unsigned integer values. + */ +typedef unsigned char GoUint8_; +/** + * Go 16-bit signed integer values. + */ +typedef short GoInt16_; +/** + * Go 16-bit unsigned integer values. + */ +typedef unsigned short GoUint16_; +/** + * Go 32-bit signed integer values. + */ +typedef int GoInt32_; +/** + * Go 32-bit unsigned integer values. + */ +typedef unsigned int GoUint32_; +/** + * Go 64-bit signed integer values. + */ +typedef long long GoInt64_; +/** + * Go 64-bit unsigned integer values. + */ +typedef unsigned long long GoUint64_; +/** + * Go integer values aligned to the word size of the underlying architecture. + */ +typedef GoInt64_ GoInt_; +/** + * Go unsigned integer values aligned to the word size of the underlying + * architecture. + */ +typedef GoUint64_ GoUint_; +/** + * Architecture-dependent type representing instances Go `uintptr` type. + * Used as a generic representation of pointer types. + */ +typedef __SIZE_TYPE__ GoUintptr_; +/** + * Go single precision 32-bits floating point values. + */ +typedef float GoFloat32_; +/** + * Go double precision 64-bits floating point values. + */ +typedef double GoFloat64_; +/** + * Instances of Go `complex` type. + */ +typedef float _Complex GoComplex64_; +/** + * Instances of Go `complex` type. + */ +typedef double _Complex GoComplex128_; + +/* + static assertion to make sure the file is being used on architecture + at least with matching size of GoInt._ +*/ +typedef char _check_for_64_bit_pointer_matchingGoInt[sizeof(void*)==64/8 ? 1:-1]; + +/** + * Instances of Go `string` type. + */ +typedef struct { + const char *p; ///< Pointer to string characters buffer. + GoInt_ n; ///< String size not counting trailing `\0` char + ///< if at all included. +} GoString_; +/** + * Instances of Go `map` type. + */ +typedef void *GoMap_; +/** + * Instances of Go `chan` channel types. + */ +typedef void *GoChan_; +/** + * Instances of Go interface types. + */ +typedef struct { + void *t; ///< Pointer to the information of the concrete Go type + ///< bound to this interface reference. + void *v; ///< Pointer to the data corresponding to the value + ///< bound to this interface type. +} GoInterface_; +/** + * Instances of Go slices + */ +typedef struct { + void *data; ///< Pointer to buffer containing slice data. + GoInt_ len; ///< Number of items stored in slice buffer + GoInt_ cap; ///< Maximum number of items that fits in this slice + ///< considering allocated memory and item type's + ///< size. +} GoSlice_; + + +/** + * Memory handles returned back to the caller and manipulated + * internally by API functions. Usually used to avoid type dependencies + * with internal implementation types. + */ +typedef GoInt64_ Handle; + +/** + * Memory handle for internal object retrieving password to read + * encrypted wallets. + */ +typedef Handle PasswordReader__Handle; + +/** + * Memory handle to perform Skycoin RPC API calls + * encrypted wallets. + */ +typedef Handle WebRpcClient__Handle; + +/** + * Memory handle providing access to wallet data + */ +typedef Handle Wallet__Handle; + +/** + * Memory handle Options Handle +*/ +typedef Handle Options__Handle; + +/** + * Memory handle to access to Skycoin CLI configuration + */ +typedef Handle Config__Handle; + +#include "cipher.hash.go.h" +#include "cipher.crypto.go.h" +#include "cipher.address.go.h" +#include "cli.create_rawtx.go.h" +#include "coin.outputs.go.h" +#include "coin.transactions.go.h" +#include "wallet.entry.go.h" +#include "wallet.wallet.go.h" + +#endif + diff --git a/include/wallet.entry.go.h b/include/wallet.entry.go.h new file mode 100755 index 0000000..362bb76 --- /dev/null +++ b/include/wallet.entry.go.h @@ -0,0 +1,8 @@ +/** + * Wallet entry. + */ +typedef struct { + cipher__Address Address; ///< Wallet address. + cipher__PubKey Public; ///< Public key used to generate address. + cipher__SecKey Secret; ///< Secret key used to generate address. +} wallet__Entry; diff --git a/include/wallet.wallet.go.h b/include/wallet.wallet.go.h new file mode 100755 index 0000000..2605cde --- /dev/null +++ b/include/wallet.wallet.go.h @@ -0,0 +1,19 @@ +/** + * Intermediate representation of a UxOut for sorting and spend choosing. + */ +typedef struct { + cipher__SHA256 Hash; ///< Hash of underlying UxOut. + GoInt64_ BkSeq; ///< Block height corresponding to the + ///< moment balance calculation is performed at. + cipher__Address Address; ///< Account holder address. + GoInt64_ Coins; ///< Coins amount (e.g. in SKY). + GoInt64_ Hours; ///< Balance of Coin Hours generated by underlying UxOut, depending on UxOut's head time. +} wallet__UxBalance; + +/** + * Internal representation of a Skycoin wallet. + */ +typedef struct { + GoMap_ Meta; ///< Records items that are not deterministic, like filename, lable, wallet type, secrets, etc. + GoSlice_ Entries; ///< Entries field stores the address entries that are deterministically generated from seed. +} wallet__Wallet; diff --git a/lib/cgo/README.md b/lib/cgo/README.md new file mode 100755 index 0000000..0acc28e --- /dev/null +++ b/lib/cgo/README.md @@ -0,0 +1,101 @@ + +# Skycoin C client library + +[![Build Status](https://travis-ci.org/skycoin/skycoin.svg)](https://travis-ci.org/skycoin/skycoin) +[![GoDoc](https://godoc.org/github.com/skycoin/skycoin?status.svg)](https://godoc.org/github.com/skycoin/skycoin) +[![Go Report Card](https://goreportcard.com/badge/github.com/skycoin/skycoin)](https://goreportcard.com/report/github.com/skycoin/skycoin) + +Skycoin C client library (a.k.a libskycoin) provides access to Skycoin Core +internal and API functions for implementing third-party applications. + +## API Interface + +The API interface is defined in the [libskycoin header file](/include/libskycoin.h). + +## Building + +```sh +$ make build-libc +``` + +This command compiles wrappers partially generated by [cgogen](https://github.com/simelo/cgogen) tool. + +**Important** : `libskycoin.so` shared library +[can not be compiled on Windows 64 bit systems](t.me/skycoindev/925) due to +[lack of support for c-shared buildmode in golang 1.9](https://github.com/golang/go/issues/23582). +Make sure you have installed a go version higher than `1.10`. + +## Testing + +In order to test the C client libraries follow these steps + +- Install [Criterion](https://github.com/Snaipe/Criterion) + * locally by executing `make instal-deps-libc` command + * or by [installing Criterion system-wide](https://github.com/Snaipe/Criterion#packages) +- Run `make test-libc` command + +## Binary distribution + +The following files will be generated + +- `include/libskycoin.h` - Platform-specific header file for including libskycoin symbols in your app code +- `build/libskycoin.a` - Static library. +- `build/libskycoin.so` - Shared library object. + +In Mac OS X the linker will need extra `-framework CoreFoundation -framework Security` +options. + +In GNU/Linux distributions it will be necessary to load symbols in `pthread` +library e.g. by supplying extra `-lpthread` to the linker toolchain. + + +## API usage + +The C API (a.k.a libskycoin) exposes the internals of Skycoin core +classes and objects. This makes it suitable for writing third-party +applications and integrations. The notable differences between go lang +and C languages have consequences for the consumers of the API. + +### Data types + +Skycoin core objects may not be passed across API boundaries. Therefore +equivalent C types are defined for each Skycoin core struct that +might be needed by developers. The result of this translation is +available in [skytpes.h](../../include/skytypes.h). + +### Memory management + +Caller is responsible for allocating memory for objects meant to be +created by libskycoin API. Different approaches are chosen to avoid +segmentation faults and memory corruption. + +API functions perform memory allocation for output `GoString *` arguments. +In that case new memory is allocated dynamically by `libskycoin` code. +The caller C code is responsible for releasing that memory by passing the pointer +in `p` field in to [free()](http://en.cppreference.com/w/c/memory/free). + +The parameters corresponding to slices returned by `libskycoin` are +of `GoSlice *` type. Aforementioned approach is also implemented for slices +with `cap` field set to `0` prior to function invocation. +Otherwise their `data` field must always be +set consistently to point at the buffer memory address whereas +`cap` must always be set to the number of items of the +target element type that will fit in the memory +area reserved in advance for that buffer. If the size of the data +to be returned by a given libskycoin function exceeds the value +set in `cap` then libskycoin will copy `cap` items in available +memory space and will set `len` to a negative value representing +the number of extra items that could not be copied due to +overflow. + +For instance if `100` bytes have been allocated in advance +by the caller for a struct type that occupies `25` bytes then only +`4` items fit in that memory and `cap` should be set accordingly. +In the hypothetical situation that `libskycoin` result occupies +`125` bytes (e.g. a slice of same type including `5` items) then +the first `100` bytes will be copied onto C-allocated `data` buffer +and `len` field will be set to `-1` as a side-effect of function +invocation. The caller will be responsible for +[reallocating another memory buffer](http://en.cppreference.com/w/c/memory/realloc) +using a higher `cap` and retry. + diff --git a/lib/cgo/api.webrpc.client.go b/lib/cgo/api.webrpc.client.go new file mode 100755 index 0000000..a185aa0 --- /dev/null +++ b/lib/cgo/api.webrpc.client.go @@ -0,0 +1,47 @@ +package main + +import ( + webrpc "github.com/skycoin/skycoin/src/api/webrpc" +) + +/* + #include + #include + + #include "skytypes.h" +*/ +import "C" + +//export SKY_webrpc_NewClient +func SKY_webrpc_NewClient(_addr string, _arg1 *C.WebRpcClient__Handle) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + addr := _addr + __arg1, ____return_err := webrpc.NewClient(addr) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg1 = registerWebRpcClientHandle(__arg1) + } + return +} + +//export SKY_webrpc_Client_CSRF +func SKY_webrpc_Client_CSRF(_c C.WebRpcClient__Handle, _arg0 *C.GoString_) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + c, okc := lookupWebRpcClientHandle(_c) + if !okc { + ____error_code = SKY_ERROR + return + } + __arg0, ____return_err := c.CSRF() + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + copyString(__arg0, _arg0) + } + return +} diff --git a/lib/cgo/cipher.address.go b/lib/cgo/cipher.address.go new file mode 100755 index 0000000..8c1abeb --- /dev/null +++ b/lib/cgo/cipher.address.go @@ -0,0 +1,145 @@ +package main + +/* +#include +#include + +#include "skytypes.h" + +*/ +import "C" + +import ( + "reflect" + "unsafe" + + "github.com/skycoin/skycoin/src/cipher" +) + +/** + * Functions in github.com/skycoin/skycoin/src/cipher/address.go + */ + +//export SKY_cipher_DecodeBase58Address +func SKY_cipher_DecodeBase58Address(_addr string, _arg1 *C.cipher__Address) uint32 { + addr, err := cipher.DecodeBase58Address(_addr) + errcode := libErrorCode(err) + if err == nil { + *_arg1 = *(*C.cipher__Address)(unsafe.Pointer(&addr)) + } + return errcode +} + +//export SKY_cipher_AddressFromPubKey +func SKY_cipher_AddressFromPubKey(_pubKey *C.cipher__PubKey, _arg1 *C.cipher__Address) { + pubKey := (*cipher.PubKey)(unsafe.Pointer(_pubKey)) + + addr := cipher.AddressFromPubKey(*pubKey) + *_arg1 = *(*C.cipher__Address)(unsafe.Pointer(&addr)) +} + +//export SKY_cipher_AddressFromSecKey +func SKY_cipher_AddressFromSecKey(_secKey *C.cipher__SecKey, _arg1 *C.cipher__Address) { + var secKey cipher.SecKey + secKey = *(*cipher.SecKey)(unsafe.Pointer(_secKey)) + addr := cipher.AddressFromSecKey(secKey) + *_arg1 = *(*C.cipher__Address)(unsafe.Pointer(&addr)) +} + +//export SKY_cipher_BitcoinDecodeBase58Address +func SKY_cipher_BitcoinDecodeBase58Address(_addr string, _arg1 *C.cipher__Address) uint32 { + addr, err := cipher.BitcoinDecodeBase58Address(_addr) + errcode := libErrorCode(err) + if err == nil { + *_arg1 = *(*C.cipher__Address)(unsafe.Pointer(&addr)) + } + return errcode +} + +//export SKY_cipher_Address_Bytes +func SKY_cipher_Address_Bytes(_addr *C.cipher__Address, _arg0 *C.GoSlice_) { + addr := (*cipher.Address)(unsafe.Pointer(_addr)) + bytes := addr.Bytes() + copyToGoSlice(reflect.ValueOf(bytes), _arg0) +} + +//export SKY_cipher_Address_BitcoinBytes +func SKY_cipher_Address_BitcoinBytes(_addr *C.cipher__Address, _arg0 *C.GoSlice_) { + addr := (*cipher.Address)(unsafe.Pointer(_addr)) + bytes := addr.BitcoinBytes() + copyToGoSlice(reflect.ValueOf(bytes), _arg0) +} + +//export SKY_cipher_Address_Verify +func SKY_cipher_Address_Verify(_addr *C.cipher__Address, _key *C.cipher__PubKey) uint32 { + addr := (*cipher.Address)(unsafe.Pointer(_addr)) + key := (*cipher.PubKey)(unsafe.Pointer(_key)) + err := addr.Verify(*key) + return libErrorCode(err) +} + +//export SKY_cipher_Address_String +func SKY_cipher_Address_String(_addr *C.cipher__Address, _arg1 *C.GoString_) { + addr := (*cipher.Address)(unsafe.Pointer(_addr)) + s := addr.String() + copyString(s, _arg1) +} + +//export SKY_cipher_Address_BitcoinString +func SKY_cipher_Address_BitcoinString(_addr *C.cipher__Address, _arg1 *C.GoString_) { + addr := (*cipher.Address)(unsafe.Pointer(_addr)) + s := addr.BitcoinString() + copyString(s, _arg1) +} + +//export SKY_cipher_Address_Checksum +func SKY_cipher_Address_Checksum(_addr *C.cipher__Address, _arg0 *C.cipher__Checksum) { + addr := (*cipher.Address)(unsafe.Pointer(_addr)) + cs := addr.Checksum() + C.memcpy(unsafe.Pointer(_arg0), unsafe.Pointer(&cs[0]), C.size_t(len(cs))) +} + +//export SKY_cipher_Address_BitcoinChecksum +func SKY_cipher_Address_BitcoinChecksum(_addr *C.cipher__Address, _arg0 *C.cipher__Checksum) { + addr := (*cipher.Address)(unsafe.Pointer(_addr)) + cs := addr.BitcoinChecksum() + C.memcpy(unsafe.Pointer(_arg0), unsafe.Pointer(&cs[0]), C.size_t(len(cs))) +} + +/* +Bitcoin Functions +*/ + +//export SKY_cipher_BitcoinAddressFromPubkey +func SKY_cipher_BitcoinAddressFromPubkey(_pubkey *C.cipher__PubKey, _arg1 *C.GoString_) { + pubkey := (*cipher.PubKey)(unsafe.Pointer(_pubkey)) + s := cipher.BitcoinAddressFromPubkey(*pubkey) + copyString(s, _arg1) +} + +//export SKY_cipher_BitcoinWalletImportFormatFromSeckey +func SKY_cipher_BitcoinWalletImportFormatFromSeckey(_seckey *C.cipher__SecKey, _arg1 *C.GoString_) { + seckey := (*cipher.SecKey)(unsafe.Pointer(_seckey)) + s := cipher.BitcoinWalletImportFormatFromSeckey(*seckey) + copyString(s, _arg1) +} + +//export SKY_cipher_BitcoinAddressFromBytes +func SKY_cipher_BitcoinAddressFromBytes(_b []byte, _arg1 *C.cipher__Address) uint32 { + addr, err := cipher.BitcoinAddressFromBytes(_b) + errcode := libErrorCode(err) + if err == nil { + *_arg1 = *(*C.cipher__Address)(unsafe.Pointer(&addr)) + } + return errcode +} + +//export SKY_cipher_SecKeyFromWalletImportFormat +func SKY_cipher_SecKeyFromWalletImportFormat(_input string, _arg1 *C.cipher__SecKey) uint32 { + seckey, err := cipher.SecKeyFromWalletImportFormat(_input) + errcode := libErrorCode(err) + if err == nil { + *_arg1 = *(*C.cipher__SecKey)(unsafe.Pointer(&seckey)) + } + return errcode +} diff --git a/lib/cgo/cipher.crypto.go b/lib/cgo/cipher.crypto.go new file mode 100755 index 0000000..15910e0 --- /dev/null +++ b/lib/cgo/cipher.crypto.go @@ -0,0 +1,278 @@ +package main + +import ( + cipher "github.com/skycoin/skycoin/src/cipher" + + "reflect" + "unsafe" +) + +/* + + #include + #include + + #include "skytypes.h" +*/ +import "C" + +//export SKY_cipher_PubKeySlice_Len +func SKY_cipher_PubKeySlice_Len(_slice *C.cipher__PubKeySlice) int { + slice := inplacePubKeySlice(_slice) + return slice.Len() +} + +//export SKY_cipher_PubKeySlice_Less +func SKY_cipher_PubKeySlice_Less(_slice *C.cipher__PubKeySlice, _i, _j int) bool { + slice := inplacePubKeySlice(_slice) + return slice.Less(_i, _j) +} + +//export SKY_cipher_PubKeySlice_Swap +func SKY_cipher_PubKeySlice_Swap(_slice *C.cipher__PubKeySlice, _i, _j int) { + slice := inplacePubKeySlice(_slice) + slice.Swap(_i, _j) +} + +//export SKY_cipher_RandByte +func SKY_cipher_RandByte(_n int, _arg1 *C.GoSlice_) { + b := cipher.RandByte(_n) + copyToGoSlice(reflect.ValueOf(b), _arg1) +} + +//export SKY_cipher_NewPubKey +func SKY_cipher_NewPubKey(_b []byte, _arg1 *C.cipher__PubKey) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + pubkey := cipher.NewPubKey(_b) + copyToBuffer(reflect.ValueOf(pubkey[:]), unsafe.Pointer(_arg1), uint(SizeofPubKey)) + return libErrorCode(nil) +} + +//export SKY_cipher_PubKeyFromHex +func SKY_cipher_PubKeyFromHex(_s string, _arg1 *C.cipher__PubKey) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + pubkey, err := cipher.PubKeyFromHex(_s) + errcode = libErrorCode(err) + if err == nil { + copyToBuffer(reflect.ValueOf(pubkey[:]), unsafe.Pointer(_arg1), uint(SizeofPubKey)) + } + return errcode +} + +//export SKY_cipher_PubKeyFromSecKey +func SKY_cipher_PubKeyFromSecKey(_seckey *C.cipher__SecKey, _arg1 *C.cipher__PubKey) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + seckey := (*cipher.SecKey)(unsafe.Pointer(_seckey)) + + pubkey := cipher.PubKeyFromSecKey(*seckey) + + copyToBuffer(reflect.ValueOf(pubkey[:]), unsafe.Pointer(_arg1), uint(SizeofPubKey)) + return libErrorCode(nil) +} + +//export SKY_cipher_PubKeyFromSig +func SKY_cipher_PubKeyFromSig(_sig *C.cipher__Sig, _hash *C.cipher__SHA256, _arg2 *C.cipher__PubKey) uint32 { + sig := (*cipher.Sig)(unsafe.Pointer(_sig)) + hash := (*cipher.SHA256)(unsafe.Pointer(_hash)) + + pubkey, err := cipher.PubKeyFromSig(*sig, *hash) + + errcode := libErrorCode(err) + if err == nil { + copyToBuffer(reflect.ValueOf(pubkey[:]), unsafe.Pointer(_arg2), uint(SizeofPubKey)) + } + return errcode +} + +//export SKY_cipher_PubKey_Verify +func SKY_cipher_PubKey_Verify(_pk *C.cipher__PubKey) uint32 { + pk := (*cipher.PubKey)(unsafe.Pointer(_pk)) + + err := pk.Verify() + errcode := libErrorCode(err) + return errcode +} + +//export SKY_cipher_PubKey_Hex +func SKY_cipher_PubKey_Hex(_pk *C.cipher__PubKey, _arg1 *C.GoString_) { + pk := (*cipher.PubKey)(unsafe.Pointer(_pk)) + s := pk.Hex() + copyString(s, _arg1) +} + +//export SKY_cipher_PubKey_ToAddressHash +func SKY_cipher_PubKey_ToAddressHash(_pk *C.cipher__PubKey, _arg0 *C.cipher__Ripemd160) { + pk := (*cipher.PubKey)(unsafe.Pointer(_pk)) + h := pk.ToAddressHash() + copyToBuffer(reflect.ValueOf(h[:]), unsafe.Pointer(_arg0), uint(SizeofRipemd160)) +} + +//export SKY_cipher_NewSecKey +func SKY_cipher_NewSecKey(_b []byte, _arg1 *C.cipher__SecKey) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + sk := cipher.NewSecKey(_b) + copyToBuffer(reflect.ValueOf(sk[:]), unsafe.Pointer(_arg1), uint(SizeofSecKey)) + return SKY_OK +} + +//export SKY_cipher_SecKeyFromHex +func SKY_cipher_SecKeyFromHex(_s string, _arg1 *C.cipher__SecKey) uint32 { + sk, err := cipher.SecKeyFromHex(_s) + errcode := libErrorCode(err) + if err == nil { + copyToBuffer(reflect.ValueOf(sk[:]), unsafe.Pointer(_arg1), uint(SizeofSecKey)) + } + return errcode +} + +//export SKY_cipher_SecKey_Verify +func SKY_cipher_SecKey_Verify(_sk *C.cipher__SecKey) uint32 { + sk := (*cipher.SecKey)(unsafe.Pointer(_sk)) + err := sk.Verify() + return libErrorCode(err) +} + +//export SKY_cipher_SecKey_Hex +func SKY_cipher_SecKey_Hex(_sk *C.cipher__SecKey, _arg1 *C.GoString_) { + sk := (*cipher.SecKey)(unsafe.Pointer(_sk)) + s := sk.Hex() + copyString(s, _arg1) +} + +//export SKY_cipher_ECDH +func SKY_cipher_ECDH(_pub *C.cipher__PubKey, _sec *C.cipher__SecKey, _arg2 *C.GoSlice_) { + pub := (*cipher.PubKey)(unsafe.Pointer(_pub)) + sec := (*cipher.SecKey)(unsafe.Pointer(_sec)) + b := cipher.ECDH(*pub, *sec) + copyToGoSlice(reflect.ValueOf(b), _arg2) +} + +//export SKY_cipher_NewSig +func SKY_cipher_NewSig(_b []byte, _arg1 *C.cipher__Sig) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + s := cipher.NewSig(_b) + copyToBuffer(reflect.ValueOf(s[:]), unsafe.Pointer(_arg1), uint(SizeofSig)) + + return SKY_OK +} + +//export SKY_cipher_SigFromHex +func SKY_cipher_SigFromHex(_s string, _arg1 *C.cipher__Sig) uint32 { + s, err := cipher.SigFromHex(_s) + errcode := libErrorCode(err) + if err == nil { + copyToBuffer(reflect.ValueOf(s[:]), unsafe.Pointer(_arg1), uint(SizeofSig)) + } + return errcode +} + +//export SKY_cipher_Sig_Hex +func SKY_cipher_Sig_Hex(_s *C.cipher__Sig, _arg1 *C.GoString_) { + s := (*cipher.Sig)(unsafe.Pointer(_s)) + copyString(s.Hex(), _arg1) +} + +//export SKY_cipher_SignHash +func SKY_cipher_SignHash(_hash *C.cipher__SHA256, _sec *C.cipher__SecKey, _arg2 *C.cipher__Sig) { + hash := (*cipher.SHA256)(unsafe.Pointer(_hash)) + sec := (*cipher.SecKey)(unsafe.Pointer(_sec)) + s := cipher.SignHash(*hash, *sec) + copyToBuffer(reflect.ValueOf(s[:]), unsafe.Pointer(_arg2), uint(SizeofSig)) +} + +//export SKY_cipher_ChkSig +func SKY_cipher_ChkSig(_address *C.cipher__Address, _hash *C.cipher__SHA256, _sig *C.cipher__Sig) uint32 { + address := inplaceAddress(_address) + hash := (*cipher.SHA256)(unsafe.Pointer(_hash)) + sig := (*cipher.Sig)(unsafe.Pointer(_sig)) + + err := cipher.ChkSig(*address, *hash, *sig) + return libErrorCode(err) +} + +//export SKY_cipher_VerifySignedHash +func SKY_cipher_VerifySignedHash(_sig *C.cipher__Sig, _hash *C.cipher__SHA256) uint32 { + hash := (*cipher.SHA256)(unsafe.Pointer(_hash)) + sig := (*cipher.Sig)(unsafe.Pointer(_sig)) + + err := cipher.VerifySignedHash(*sig, *hash) + return libErrorCode(err) +} + +//export SKY_cipher_VerifySignature +func SKY_cipher_VerifySignature(_pubkey *C.cipher__PubKey, _sig *C.cipher__Sig, _hash *C.cipher__SHA256) uint32 { + pubkey := (*cipher.PubKey)(unsafe.Pointer(_pubkey)) + sig := (*cipher.Sig)(unsafe.Pointer(_sig)) + hash := (*cipher.SHA256)(unsafe.Pointer(_hash)) + + err := cipher.VerifySignature(*pubkey, *sig, *hash) + return libErrorCode(err) +} + +//export SKY_cipher_GenerateKeyPair +func SKY_cipher_GenerateKeyPair(_arg0 *C.cipher__PubKey, _arg1 *C.cipher__SecKey) { + p, s := cipher.GenerateKeyPair() + copyToBuffer(reflect.ValueOf(p[:]), unsafe.Pointer(_arg0), uint(SizeofPubKey)) + copyToBuffer(reflect.ValueOf(s[:]), unsafe.Pointer(_arg1), uint(SizeofSecKey)) +} + +//export SKY_cipher_GenerateDeterministicKeyPair +func SKY_cipher_GenerateDeterministicKeyPair(_seed []byte, _arg1 *C.cipher__PubKey, _arg2 *C.cipher__SecKey) { + p, s := cipher.GenerateDeterministicKeyPair(_seed) + copyToBuffer(reflect.ValueOf(p[:]), unsafe.Pointer(_arg1), uint(SizeofPubKey)) + copyToBuffer(reflect.ValueOf(s[:]), unsafe.Pointer(_arg2), uint(SizeofSecKey)) +} + +//export SKY_cipher_DeterministicKeyPairIterator +func SKY_cipher_DeterministicKeyPairIterator(_seed []byte, _arg1 *C.GoSlice_, _arg2 *C.cipher__PubKey, _arg3 *C.cipher__SecKey) { + h, p, s := cipher.DeterministicKeyPairIterator(_seed) + + copyToGoSlice(reflect.ValueOf(h), _arg1) + copyToBuffer(reflect.ValueOf(p[:]), unsafe.Pointer(_arg2), uint(SizeofPubKey)) + copyToBuffer(reflect.ValueOf(s[:]), unsafe.Pointer(_arg3), uint(SizeofSecKey)) +} + +//export SKY_cipher_GenerateDeterministicKeyPairs +func SKY_cipher_GenerateDeterministicKeyPairs(_seed []byte, _n int, _arg2 *C.GoSlice_) { + sks := cipher.GenerateDeterministicKeyPairs(_seed, _n) + copyToGoSlice(reflect.ValueOf(sks), _arg2) +} + +//export SKY_cipher_GenerateDeterministicKeyPairsSeed +func SKY_cipher_GenerateDeterministicKeyPairsSeed(_seed []byte, _n int, _arg2 *C.GoSlice_, _arg3 *C.GoSlice_) { + h, sks := cipher.GenerateDeterministicKeyPairsSeed(_seed, _n) + copyToGoSlice(reflect.ValueOf(h), _arg2) + copyToGoSlice(reflect.ValueOf(sks), _arg3) +} + +//export SKY_cipher_TestSecKey +func SKY_cipher_TestSecKey(_seckey *C.cipher__SecKey) uint32 { + seckey := (*cipher.SecKey)(unsafe.Pointer(_seckey)) + + err := cipher.TestSecKey(*seckey) + return libErrorCode(err) +} + +//export SKY_cipher_TestSecKeyHash +func SKY_cipher_TestSecKeyHash(_seckey *C.cipher__SecKey, _hash *C.cipher__SHA256) uint32 { + seckey := (*cipher.SecKey)(unsafe.Pointer(_seckey)) + hash := (*cipher.SHA256)(unsafe.Pointer(_hash)) + + err := cipher.TestSecKeyHash(*seckey, *hash) + return libErrorCode(err) +} diff --git a/lib/cgo/cipher.hash.go b/lib/cgo/cipher.hash.go new file mode 100755 index 0000000..59ab70e --- /dev/null +++ b/lib/cgo/cipher.hash.go @@ -0,0 +1,107 @@ +package main + +import ( + cipher "github.com/skycoin/skycoin/src/cipher" + + "reflect" + "unsafe" +) + +/* + + #include + #include + + #include "skytypes.h" +*/ +import "C" + +//export SKY_cipher_Ripemd160_Set +func SKY_cipher_Ripemd160_Set(_rd *C.cipher__Ripemd160, _b []byte) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + rd := (*cipher.Ripemd160)(unsafe.Pointer(_rd)) + + rd.Set(_b) + return libErrorCode(nil) +} + +//export SKY_cipher_HashRipemd160 +func SKY_cipher_HashRipemd160(_data []byte, _arg1 *C.cipher__Ripemd160) { + rd := cipher.HashRipemd160(_data) + + copyToBuffer(reflect.ValueOf(rd[:]), unsafe.Pointer(_arg1), uint(SizeofRipemd160)) +} + +//export SKY_cipher_SHA256_Set +func SKY_cipher_SHA256_Set(_g *C.cipher__SHA256, _b []byte) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + g := (*cipher.SHA256)(unsafe.Pointer(_g)) + + g.Set(_b) + return libErrorCode(nil) +} + +//export SKY_cipher_SHA256_Hex +func SKY_cipher_SHA256_Hex(_g *C.cipher__SHA256, _arg1 *C.GoString_) { + g := (*cipher.SHA256)(unsafe.Pointer(_g)) + copyString(g.Hex(), _arg1) +} + +//export SKY_cipher_SHA256_Xor +func SKY_cipher_SHA256_Xor(_g *C.cipher__SHA256, _b *C.cipher__SHA256, _arg1 *C.cipher__SHA256) { + g := (*cipher.SHA256)(unsafe.Pointer(_g)) + b := (*cipher.SHA256)(unsafe.Pointer(_b)) + + x := g.Xor(*b) + copyToBuffer(reflect.ValueOf(x[:]), unsafe.Pointer(_arg1), uint(SizeofSHA256)) +} + +//export SKY_cipher_SumSHA256 +func SKY_cipher_SumSHA256(_b []byte, _arg1 *C.cipher__SHA256) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + h := cipher.SumSHA256(_b) + + copyToBuffer(reflect.ValueOf(h[:]), unsafe.Pointer(_arg1), uint(SizeofSHA256)) + return libErrorCode(nil) +} + +//export SKY_cipher_SHA256FromHex +func SKY_cipher_SHA256FromHex(_hs string, _arg1 *C.cipher__SHA256) uint32 { + h, err := cipher.SHA256FromHex(_hs) + errcode := libErrorCode(err) + if err == nil { + copyToBuffer(reflect.ValueOf(h[:]), unsafe.Pointer(_arg1), uint(SizeofSHA256)) + } + return errcode +} + +//export SKY_cipher_DoubleSHA256 +func SKY_cipher_DoubleSHA256(_b []byte, _arg1 *C.cipher__SHA256) { + h := cipher.DoubleSHA256(_b) + copyToBuffer(reflect.ValueOf(h[:]), unsafe.Pointer(_arg1), uint(SizeofSHA256)) +} + +//export SKY_cipher_AddSHA256 +func SKY_cipher_AddSHA256(_a *C.cipher__SHA256, _b *C.cipher__SHA256, _arg2 *C.cipher__SHA256) { + a := (*cipher.SHA256)(unsafe.Pointer(_a)) + b := (*cipher.SHA256)(unsafe.Pointer(_b)) + + h := cipher.AddSHA256(*a, *b) + copyToBuffer(reflect.ValueOf(h[:]), unsafe.Pointer(_arg2), uint(SizeofSHA256)) +} + +//export SKY_cipher_Merkle +func SKY_cipher_Merkle(_h0 *[]C.cipher__SHA256, _arg1 *C.cipher__SHA256) { + h0 := (*[]cipher.SHA256)(unsafe.Pointer(_h0)) + h := cipher.Merkle(*h0) + copyToBuffer(reflect.ValueOf(h[:]), unsafe.Pointer(_arg1), uint(SizeofSHA256)) +} diff --git a/lib/cgo/cli.create_rawtx.go b/lib/cgo/cli.create_rawtx.go new file mode 100755 index 0000000..fe416fb --- /dev/null +++ b/lib/cgo/cli.create_rawtx.go @@ -0,0 +1,108 @@ +package main + +import ( + "unsafe" + + cipher "github.com/skycoin/skycoin/src/cipher" + cli "github.com/skycoin/skycoin/src/cli" + coin "github.com/skycoin/skycoin/src/coin" + wallet "github.com/skycoin/skycoin/src/wallet" +) + +/* + + #include + #include + + #include "../../include/skytypes.h" +*/ +import "C" + +//export SKY_cli_CreateRawTxFromWallet +func SKY_cli_CreateRawTxFromWallet(_c C.WebRpcClient__Handle, _walletFile, _chgAddr string, _toAddrs []C.cli__SendAmount, pwd string, _arg4 *C.coin__Transaction) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + c, okc := lookupWebRpcClientHandle(_c) + if !okc { + ____error_code = SKY_ERROR + return + } + walletFile := _walletFile + chgAddr := _chgAddr + toAddrs := *(*[]cli.SendAmount)(unsafe.Pointer(&_toAddrs)) + pr := cli.NewPasswordReader([]byte(pwd)) + __arg4, ____return_err := cli.CreateRawTxFromWallet(c, walletFile, chgAddr, toAddrs, pr) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg4 = *(*C.coin__Transaction)(unsafe.Pointer(__arg4)) + } + return +} + +//export SKY_cli_CreateRawTxFromAddress +func SKY_cli_CreateRawTxFromAddress(_c C.WebRpcClient__Handle, _addr, _walletFile, _chgAddr string, _toAddrs []C.cli__SendAmount, pwd string, _arg4 *C.coin__Transaction) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + c, okc := lookupWebRpcClientHandle(_c) + if !okc { + ____error_code = SKY_ERROR + return + } + addr := _addr + walletFile := _walletFile + chgAddr := _chgAddr + toAddrs := *(*[]cli.SendAmount)(unsafe.Pointer(&_toAddrs)) + pr := cli.NewPasswordReader([]byte(pwd)) + __arg4, ____return_err := cli.CreateRawTxFromAddress(c, addr, walletFile, chgAddr, toAddrs, pr) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg4 = *(*C.coin__Transaction)(unsafe.Pointer(__arg4)) + } + return +} + +//export SKY_cli_CreateRawTx +func SKY_cli_CreateRawTx(_c C.WebRpcClient__Handle, _wlt C.Wallet__Handle, _inAddrs []string, _chgAddr string, _toAddrs []C.cli__SendAmount, _password []byte, _arg6 *C.coin__Transaction) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + c, okc := lookupWebRpcClientHandle(_c) + if !okc { + ____error_code = SKY_ERROR + return + } + wlt, okwlt := lookupWalletHandle(_wlt) + if !okwlt { + ____error_code = SKY_ERROR + return + } + inAddrs := *(*[]string)(unsafe.Pointer(&_inAddrs)) + chgAddr := _chgAddr + toAddrs := *(*[]cli.SendAmount)(unsafe.Pointer(&_toAddrs)) + password := *(*[]byte)(unsafe.Pointer(&_password)) + __arg6, ____return_err := cli.CreateRawTx(c, wlt, inAddrs, chgAddr, toAddrs, password) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg6 = *(*C.coin__Transaction)(unsafe.Pointer(__arg6)) + } + return +} + +//export SKY_cli_NewTransaction +func SKY_cli_NewTransaction(_utxos []C.wallet__UxBalance, _keys []C.cipher__SecKey, _outs []C.coin__TransactionOutput, _arg3 *C.coin__Transaction) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + utxos := *(*[]wallet.UxBalance)(unsafe.Pointer(&_utxos)) + keys := *(*[]cipher.SecKey)(unsafe.Pointer(&_keys)) + outs := *(*[]coin.TransactionOutput)(unsafe.Pointer(&_outs)) + __arg3 := cli.NewTransaction(utxos, keys, outs) + *_arg3 = *(*C.coin__Transaction)(unsafe.Pointer(__arg3)) + return +} diff --git a/lib/cgo/coin.outputs.go b/lib/cgo/coin.outputs.go new file mode 100755 index 0000000..66aac97 --- /dev/null +++ b/lib/cgo/coin.outputs.go @@ -0,0 +1,157 @@ +package main + +import ( + "reflect" + "unsafe" + + coin "github.com/skycoin/skycoin/src/coin" +) + +/* + #include + #include + + #include "skytypes.h" +*/ +import "C" + +//export SKY_coin_UxOut_Hash +func SKY_coin_UxOut_Hash(_uo *C.coin__UxOut, _arg0 *C.cipher__SHA256) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + uo := (*coin.UxOut)(unsafe.Pointer(_uo)) + __arg0 := uo.Hash() + *_arg0 = *(*C.cipher__SHA256)(unsafe.Pointer(&__arg0)) + return +} + +//export SKY_coin_UxOut_SnapshotHash +func SKY_coin_UxOut_SnapshotHash(_uo *C.coin__UxOut, _arg0 *C.cipher__SHA256) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + uo := (*coin.UxOut)(unsafe.Pointer(_uo)) + __arg0 := uo.SnapshotHash() + *_arg0 = *(*C.cipher__SHA256)(unsafe.Pointer(&__arg0)) + return +} + +//export SKY_coin_UxBody_Hash +func SKY_coin_UxBody_Hash(_ub *C.coin__UxBody, _arg0 *C.cipher__SHA256) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + ub := (*coin.UxBody)(unsafe.Pointer(_ub)) + __arg0 := ub.Hash() + *_arg0 = *(*C.cipher__SHA256)(unsafe.Pointer(&__arg0)) + return +} + +//export SKY_coin_UxOut_CoinHours +func SKY_coin_UxOut_CoinHours(_uo *C.coin__UxOut, _t uint64, _arg1 *uint64) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + uo := (*coin.UxOut)(unsafe.Pointer(_uo)) + t := _t + __arg1, ____return_err := uo.CoinHours(t) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg1 = __arg1 + } + return +} + +//export SKY_coin_UxArray_Hashes +func SKY_coin_UxArray_Hashes(_ua *C.coin__UxArray, _arg0 *C.GoSlice_) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + __arg0 := ua.Hashes() + copyToGoSlice(reflect.ValueOf(__arg0), _arg0) + return +} + +//export SKY_coin_UxArray_HasDupes +func SKY_coin_UxArray_HasDupes(_ua *C.coin__UxArray) bool { + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + return ua.HasDupes() +} + +//export SKY_coin_UxArray_Sort +func SKY_coin_UxArray_Sort(_ua *C.coin__UxArray) { + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + ua.Sort() +} + +//export SKY_coin_UxArray_Len +func SKY_coin_UxArray_Len(_ua *C.coin__UxArray) int { + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + return ua.Len() +} + +//export SKY_coin_UxArray_Less +func SKY_coin_UxArray_Less(_ua *C.coin__UxArray, _i, _j int) bool { + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + return ua.Less(_i, _j) +} + +//export SKY_coin_UxArray_Swap +func SKY_coin_UxArray_Swap(_ua *C.coin__UxArray, _i, _j int) { + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + ua.Swap(_i, _j) +} + +//export SKY_coin_UxArray_Coins +func SKY_coin_UxArray_Coins(_ua *C.coin__UxArray, _arg0 *uint64) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + __arg0, ____return_err := ua.Coins() + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg0 = __arg0 + } + return +} + +//export SKY_coin_UxArray_CoinHours +func SKY_coin_UxArray_CoinHours(_ua *C.coin__UxArray, _headTime uint64, _arg1 *uint64) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + headTime := _headTime + __arg1, ____return_err := ua.CoinHours(headTime) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg1 = __arg1 + } + return +} + +//export SKY_coin_UxArray_Sub +func SKY_coin_UxArray_Sub(_ua *C.coin__UxArray, _other *C.coin__UxArray, _arg1 *C.coin__UxArray) { + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + other := *(*coin.UxArray)(unsafe.Pointer(_other)) + __arg1 := ua.Sub(other) + *_arg1 = *(*C.coin__UxArray)(unsafe.Pointer(&__arg1)) +} + +//export SKY_coin_UxArray_Add +func SKY_coin_UxArray_Add(_ua *C.coin__UxArray, _other *C.coin__UxArray, _arg1 *C.coin__UxArray) { + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + other := *(*coin.UxArray)(unsafe.Pointer(_other)) + __arg1 := ua.Add(other) + *_arg1 = *(*C.coin__UxArray)(unsafe.Pointer(&__arg1)) +} diff --git a/lib/cgo/libsky_error.go b/lib/cgo/libsky_error.go new file mode 100755 index 0000000..b0aa4c0 --- /dev/null +++ b/lib/cgo/libsky_error.go @@ -0,0 +1,34 @@ +package main + +const ( + SKY_ERROR = 0xFFFFFFFF + SKY_OK = 0 +) + +func libErrorCode(err error) uint32 { + if err == nil { + return SKY_OK + } + // TODO: Implement error codes + return SKY_ERROR +} + +// Catch panic signals emitted by internal implementation +// of API methods. This function is mainly used in defer statements +// exceuted immediately before returning from API calls. +// +// @param errcode error status in function body +// @param err `recover()` result +// +func catchApiPanic(errcode uint32, err interface{}) uint32 { + if errcode != SKY_OK { + // Error already detected in function body + // Return right away + return errcode + } + if err != nil { + // TODO: Fix to be like retVal = libErrorCode(err) + return SKY_ERROR + } + return SKY_OK +} diff --git a/lib/cgo/libsky_handle.go b/lib/cgo/libsky_handle.go new file mode 100755 index 0000000..698bce7 --- /dev/null +++ b/lib/cgo/libsky_handle.go @@ -0,0 +1,115 @@ +package main + +/* + + #include + #include + + #include "skytypes.h" +*/ +import "C" + +import ( + "unsafe" + + webrpc "github.com/skycoin/skycoin/src/api/webrpc" + cli "github.com/skycoin/skycoin/src/cli" + wallet "github.com/skycoin/skycoin/src/wallet" +) + +type Handle uint64 + +var ( + handleMap = make(map[Handle]interface{}) +) + +func registerHandle(obj interface{}) Handle { + ptr := &obj + handle := *(*Handle)(unsafe.Pointer(&ptr)) + handleMap[handle] = obj + return handle +} + +func lookupHandle(handle Handle) (interface{}, bool) { + obj, ok := handleMap[handle] + return obj, ok +} + +func registerWebRpcClientHandle(obj *webrpc.Client) C.WebRpcClient__Handle { + return (C.WebRpcClient__Handle)(registerHandle(obj)) +} + +func lookupWebRpcClientHandle(handle C.WebRpcClient__Handle) (*webrpc.Client, bool) { + obj, ok := lookupHandle(Handle(handle)) + if ok { + if obj, isOK := (obj).(*webrpc.Client); isOK { + return obj, true + } + } + return nil, false +} + +func registerWalletHandle(obj *wallet.Wallet) C.Wallet__Handle { + return (C.Wallet__Handle)(registerHandle(obj)) +} + +func lookupWalletHandle(handle C.Wallet__Handle) (*wallet.Wallet, bool) { + obj, ok := lookupHandle(Handle(handle)) + if ok { + if obj, isOK := (obj).(*wallet.Wallet); isOK { + return obj, true + } + } + return nil, false +} + +func registerOptionsHandle(obj *wallet.Options) C.Options__Handle { + return (C.Options__Handle)(registerHandle(obj)) +} + +func lookupOptionsHandle(handle C.Options__Handle) (*wallet.Options, bool) { + obj, ok := lookupHandle(Handle(handle)) + if ok { + if obj, isOK := (obj).(*wallet.Options); isOK { + return obj, true + } + } + return nil, false +} + +func registerConfigHandle(obj *cli.Config) C.Config__Handle { + return (C.Config__Handle)(registerHandle(obj)) +} + +func lookupConfigHandle(handle C.Config__Handle) (*cli.Config, bool) { + obj, ok := lookupHandle(Handle(handle)) + if ok { + if obj, isOK := (obj).(*cli.Config); isOK { + return obj, true + } + } + return nil, false +} + +func registerPasswordReaderHandle(obj cli.PasswordReader) C.PasswordReader__Handle { + return (C.PasswordReader__Handle)(registerHandle(obj)) +} + +func lookupPasswordReaderHandle(handle C.PasswordReader__Handle) (cli.PasswordReader, bool) { + obj, ok := lookupHandle(Handle(handle)) + if ok { + if obj, isOK := (obj).(cli.PasswordReader); isOK { + return obj, true + } + } + return nil, false +} + +func closeHandle(handle Handle) { + delete(handleMap, handle) +} + +//export SKY_handle_close +func SKY_handle_close(handle C.Handle) { + closeHandle(Handle(handle)) +} diff --git a/lib/cgo/libsky_mem.go b/lib/cgo/libsky_mem.go new file mode 100755 index 0000000..74eca3f --- /dev/null +++ b/lib/cgo/libsky_mem.go @@ -0,0 +1,123 @@ +package main + +import ( + "reflect" + "unsafe" + + "github.com/skycoin/skycoin/src/cipher" +) + +/* + #include + + #include "skytypes.h" + + void eos(char *str, int len) { + str[len] = 0; + } + +*/ +import "C" + +const ( + SizeofRipemd160 = unsafe.Sizeof(C.cipher__Ripemd160{}) + SizeOfAddress = unsafe.Sizeof(C.cipher__Address{}) + SizeofPubKey = unsafe.Sizeof(C.cipher__PubKey{}) + SizeofPubKeySlice = unsafe.Sizeof(C.cipher__PubKeySlice{}) + SizeofSecKey = unsafe.Sizeof(C.cipher__SecKey{}) + SizeofSig = unsafe.Sizeof(C.cipher__Sig{}) + SizeofChecksum = unsafe.Sizeof(C.cipher__Checksum{}) + SizeofSendAmount = unsafe.Sizeof(C.cli__SendAmount{}) + SizeofSHA256 = unsafe.Sizeof(C.cipher__SHA256{}) + SizeofTransactionOutput = unsafe.Sizeof(C.coin__TransactionOutput{}) + SizeofTransaction = unsafe.Sizeof(C.coin__Transaction{}) + SizeofWallet = unsafe.Sizeof(C.wallet__Wallet{}) + SizeofEntry = unsafe.Sizeof(C.wallet__Entry{}) + SizeofUxBalance = unsafe.Sizeof(C.wallet__UxBalance{}) +) + +/** + * Inplace memory references + */ + +func inplacePubKeySlice(p *C.cipher__PubKeySlice) *cipher.PubKeySlice { + return (*cipher.PubKeySlice)(unsafe.Pointer(p)) +} + +func inplaceAddress(p *C.cipher__Address) *cipher.Address { + return (*cipher.Address)(unsafe.Pointer(p)) +} + +func nop(p unsafe.Pointer) { + // Do nothing +} + +/** + * Copy helpers + */ + +func copyString(src string, dest *C.GoString_) { + strAddr := (*C.GoString_)(unsafe.Pointer(&src)) + srcLen := len(src) + dest.p = (*C.char)(C.memcpy( + C.malloc(C.size_t(srcLen+1)), + unsafe.Pointer(strAddr.p), + C.size_t(srcLen), + )) + C.eos(dest.p, C.int(srcLen)) + dest.n = C.GoInt_(srcLen) +} + +// Determine the memory address of a slice buffer and the +// size of its underlaying element type +func getBufferData(src reflect.Value) (bufferAddr unsafe.Pointer, elemSize C.size_t) { + firstElem := src.Index(0) + elemSize = C.size_t(firstElem.Type().Size()) + bufferAddr = unsafe.Pointer(src.Pointer()) + return +} + +// Copy n items in source slice/array/string onto C-managed memory buffer +// +// This function takes for granted that all values in src +// will be instances of the same type, and that src and dest +// element types will be aligned exactly the same +// in memory of the same size +func copyToBuffer(src reflect.Value, dest unsafe.Pointer, n uint) { + srcLen := src.Len() + if srcLen == 0 { + return + } + srcAddr, elemSize := getBufferData(src) + nop(C.memcpy(dest, srcAddr, C.size_t(n)*elemSize)) +} + +// Copy source slice/array/string onto instance of C.GSlice struct +// +// This function takes for granted that all values in src +// will be instances of the same type, and that src and dest +// element types will be aligned exactly the same +// in memory of the same size +func copyToGoSlice(src reflect.Value, dest *C.GoSlice_) { + srcLen := src.Len() + if srcLen == 0 { + dest.len = 0 + return + } + srcAddr, elemSize := getBufferData(src) + if dest.cap == 0 { + dest.data = C.malloc(C.size_t(srcLen) * elemSize) + dest.cap = C.GoInt_(srcLen) + } + n, overflow := srcLen, srcLen > int(dest.cap) + if overflow { + n = int(dest.cap) + } + nop(C.memcpy(dest.data, srcAddr, C.size_t(n)*elemSize)) + // Do not modify slice metadata until memory is actually copied + if overflow { + dest.len = dest.cap - C.GoInt_(srcLen) + } else { + dest.len = C.GoInt_(srcLen) + } +} diff --git a/lib/cgo/main.go b/lib/cgo/main.go new file mode 100755 index 0000000..8c04e9f --- /dev/null +++ b/lib/cgo/main.go @@ -0,0 +1,6 @@ +package main + +// #cgo CFLAGS: -I../../include +import "C" + +func main() {} diff --git a/lib/cgo/tests/check_cipher.address.c b/lib/cgo/tests/check_cipher.address.c new file mode 100755 index 0000000..6d5d5f5 --- /dev/null +++ b/lib/cgo/tests/check_cipher.address.c @@ -0,0 +1,337 @@ + +#include +#include + +#include +#include + +#include "libskycoin.h" +#include "skyerrors.h" +#include "skystring.h" +#include "skytest.h" + +#define SKYCOIN_ADDRESS_VALID "2GgFvqoyk9RjwVzj8tqfcXVXB4orBwoc9qv" + +TestSuite(cipher_address, .init = setup, .fini = teardown); + +// buffer big enough to hold all kind of data needed by test cases +unsigned char buff[1024]; + +Test(cipher_address, TestDecodeBase58Address) { + + GoString strAddr = { + SKYCOIN_ADDRESS_VALID, + 35 + }; + cipher__Address addr; + + cr_assert( SKY_cipher_DecodeBase58Address(strAddr, &addr) == SKY_OK, "accept valid address"); + + char tempStr[50]; + + // preceding whitespace is invalid + strcpy(tempStr, " "); + strcat(tempStr, SKYCOIN_ADDRESS_VALID); + strAddr.p = tempStr; + strAddr.n = strlen(tempStr); + cr_assert( SKY_cipher_DecodeBase58Address(strAddr, &addr) == SKY_ERROR, "preceding whitespace is invalid"); + + // preceding zeroes are invalid + strcpy(tempStr, "000"); + strcat(tempStr, SKYCOIN_ADDRESS_VALID); + strAddr.p = tempStr; + strAddr.n = strlen(tempStr); + cr_assert( SKY_cipher_DecodeBase58Address(strAddr, &addr) == SKY_ERROR, "leading zeroes prefix are invalid"); + + // trailing whitespace is invalid + strcpy(tempStr, SKYCOIN_ADDRESS_VALID); + strcat(tempStr, " "); + strAddr.p = tempStr; + strAddr.n = strlen(tempStr); + cr_assert( SKY_cipher_DecodeBase58Address(strAddr, &addr) == SKY_ERROR, " trailing whitespace is invalid"); + + // trailing zeroes are invalid + strcpy(tempStr, SKYCOIN_ADDRESS_VALID); + strcat(tempStr, "000"); + strAddr.p = tempStr; + strAddr.n = strlen(tempStr); + cr_assert( SKY_cipher_DecodeBase58Address(strAddr, &addr) == SKY_ERROR, " trailing zeroes suffix are invalid"); + +} + +Test(cipher_address, TestAddressFromBytes){ + GoString strAddr = { + SKYCOIN_ADDRESS_VALID, + 35 + }; + cipher__Address addr, addr2; + GoSlice bytes; + + bytes.data = buff; + bytes.len = 0; + bytes.cap = sizeof(buff); + + SKY_cipher_DecodeBase58Address(strAddr, &addr); + SKY_cipher_Address_BitcoinBytes(&addr, (GoSlice_ *)&bytes); + cr_assert(bytes.len > 0, "address bytes written"); + cr_assert(SKY_cipher_BitcoinAddressFromBytes(bytes, &addr2) == SKY_OK, "convert bytes to SKY address"); + + cr_assert(eq(type(cipher__Address), addr, addr2)); + + int bytes_len = bytes.len; + + bytes.len = bytes.len - 2; + cr_assert(SKY_cipher_BitcoinAddressFromBytes(bytes, &addr2) == SKY_ERROR, "no SKY address due to short bytes length"); + + bytes.len = bytes_len; + ((char *) bytes.data)[bytes.len - 1] = '2'; + cr_assert(SKY_cipher_BitcoinAddressFromBytes(bytes, &addr2) == SKY_ERROR, "no SKY address due to corrupted bytes"); +} + +Test(cipher_address, TestAddressVerify){ + + cipher__PubKey pubkey; + cipher__SecKey seckey; + cipher__PubKey pubkey2; + cipher__SecKey seckey2; + cipher__Address addr; + + SKY_cipher_GenerateKeyPair(&pubkey,&seckey); + SKY_cipher_AddressFromPubKey(&pubkey,&addr); + + // Valid pubkey+address + cr_assert( SKY_cipher_Address_Verify(&addr,&pubkey) == SKY_OK ,"Valid pubkey + address"); + + SKY_cipher_GenerateKeyPair(&pubkey,&seckey2); + // // Invalid pubkey + cr_assert( SKY_cipher_Address_Verify(&addr,&pubkey) == SKY_ERROR," Invalid pubkey"); + + // Bad version + addr.Version = 0x01; + cr_assert( SKY_cipher_Address_Verify(&addr,&pubkey) == SKY_ERROR," Bad version"); +} + +Test(cipher_address,TestAddressString){ + +} + +Test (cipher, TestBitcoinAddress1){ + + cipher__SecKey seckey; + cipher__PubKey pubkey; + + GoString str = { + "1111111111111111111111111111111111111111111111111111111111111111", + 64 + }, s1, s2; + + unsigned int error; + error = SKY_cipher_SecKeyFromHex(str, &seckey); + cr_assert(error == SKY_OK, "Create SecKey from Hex"); + error = SKY_cipher_PubKeyFromSecKey(&seckey,&pubkey); + cr_assert(error == SKY_OK, "Create PubKey from SecKey"); + + GoString pubkeyStr = { "034f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa", 66 }; + + SKY_cipher_PubKey_Hex(&pubkey, (GoString_ *) &s1); + registerMemCleanup((void *) s1.p); + cr_assert(eq(type(GoString), pubkeyStr, s1)); + + GoString bitcoinStr = {"1Q1pE5vPGEEMqRcVRMbtBK842Y6Pzo6nK9",34}; + SKY_cipher_BitcoinAddressFromPubkey(&pubkey, (GoString_ *) &s2); + registerMemCleanup((void *) s2.p); + cr_assert(eq(type(GoString), bitcoinStr, s2)); +} + +Test (cipher, TestBitcoinAddress2){ + + cipher__SecKey seckey; + cipher__PubKey pubkey ; + GoString str = { + "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", + 64 + }, s1, s2; + + unsigned int error; + error = SKY_cipher_SecKeyFromHex(str, &seckey); + cr_assert(error == SKY_OK, "Create SecKey from Hex"); + error = SKY_cipher_PubKeyFromSecKey(&seckey,&pubkey); + cr_assert(error == SKY_OK, "Create PubKey from SecKey"); + + char strBuff[101]; + GoString pubkeyStr = { + "02ed83704c95d829046f1ac27806211132102c34e9ac7ffa1b71110658e5b9d1bd", + 66 + }; + SKY_cipher_PubKey_Hex(&pubkey, (GoString_ *) &s1); + registerMemCleanup((void *) s1.p); + cr_assert(eq(type(GoString), pubkeyStr, s1)); + + GoString bitcoinStr = {"1NKRhS7iYUGTaAfaR5z8BueAJesqaTyc4a",34}; + SKY_cipher_BitcoinAddressFromPubkey(&pubkey, (GoString_ *) &s2); + registerMemCleanup((void *) s2.p); + cr_assert(eq(type(GoString), bitcoinStr, s2)); + +} + +Test (cipher, TestBitcoinAddress3){ + + cipher__SecKey seckey; + cipher__PubKey pubkey; + GoString str = { + "47f7616ea6f9b923076625b4488115de1ef1187f760e65f89eb6f4f7ff04b012", + 64 + }; + + unsigned int error; + error = SKY_cipher_SecKeyFromHex(str, &seckey); + cr_assert(error == SKY_OK, "Create SecKey from Hex"); + error = SKY_cipher_PubKeyFromSecKey(&seckey,&pubkey); + cr_assert(error == SKY_OK, "Create PubKey from SecKey"); + + char strBuff[101]; + GoString pubkeyStr = { + "032596957532fc37e40486b910802ff45eeaa924548c0e1c080ef804e523ec3ed3", + 66 + }, s1, s2; + + SKY_cipher_PubKey_Hex(&pubkey, (GoString_ *)&s1); + registerMemCleanup((void *) s1.p); + cr_assert(eq(type(GoString), pubkeyStr, s1)); + + GoString bitcoinStr = {"19ck9VKC6KjGxR9LJg4DNMRc45qFrJguvV",34}; + SKY_cipher_BitcoinAddressFromPubkey(&pubkey, (GoString_ *)&s2); + registerMemCleanup((void *) s2.p); + cr_assert(eq(type(GoString), bitcoinStr, s2)); + +} + +Test(cipher_address, TestBitcoinWIPRoundTrio){ + + cipher__SecKey seckey; + cipher__PubKey pubkey; + GoSlice slice; + slice.data = buff; + slice.cap = sizeof(buff); + slice.len = 33; + + SKY_cipher_GenerateKeyPair(&pubkey,&seckey); + + GoString_ wip1; + + SKY_cipher_BitcoinWalletImportFormatFromSeckey(&seckey,&wip1); + + cipher__SecKey seckey2; + + unsigned int err; + + err = SKY_cipher_SecKeyFromWalletImportFormat( (*((GoString *) &wip1)) ,&seckey2); + + GoString_ wip2; + + SKY_cipher_BitcoinWalletImportFormatFromSeckey(&seckey2,&wip2); + + cr_assert(err == SKY_OK); + + cr_assert(eq(u8[sizeof(cipher__SecKey)],seckey,seckey2)); + + GoString_ seckeyhex1; + GoString_ seckeyhex2; + + SKY_cipher_SecKey_Hex(&seckey,&seckeyhex1); + SKY_cipher_SecKey_Hex(&seckey2,&seckeyhex2); + cr_assert(eq(type(GoString), (*(GoString*)&seckeyhex1),(*(GoString*)&seckeyhex2) )); + cr_assert(eq(type(GoString), (*(GoString*)&wip1),(*(GoString*)&wip2) )); + +} + + +Test(cipher_address, TestBitcoinWIP ){ + + //wallet input format string + GoString wip[3]; + + wip[0].p = "KwntMbt59tTsj8xqpqYqRRWufyjGunvhSyeMo3NTYpFYzZbXJ5Hp"; + wip[1].p = "L4ezQvyC6QoBhxB4GVs9fAPhUKtbaXYUn8YTqoeXwbevQq4U92vN"; + wip[2].p = "KydbzBtk6uc7M6dXwEgTEH2sphZxSPbmDSz6kUUHi4eUpSQuhEbq"; + wip[0].n = 52; + wip[1].n = 52; + wip[2].n = 52; + + // // //the expected pubkey to generate + GoString_ pub[3]; + + pub[0].p="034f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa"; + pub[1].p="02ed83704c95d829046f1ac27806211132102c34e9ac7ffa1b71110658e5b9d1bd"; + pub[2].p="032596957532fc37e40486b910802ff45eeaa924548c0e1c080ef804e523ec3ed3"; + + pub[0].n = 66; + pub[1].n = 66; + pub[2].n = 66; + + + // //the expected addrss to generate + + GoString addr[3]; + + addr[0].p="1Q1pE5vPGEEMqRcVRMbtBK842Y6Pzo6nK9"; + addr[1].p="1NKRhS7iYUGTaAfaR5z8BueAJesqaTyc4a"; + addr[2].p="19ck9VKC6KjGxR9LJg4DNMRc45qFrJguvV"; + + addr[0].n =34; + addr[1].n=34; + addr[2].n=34; + + + for (int i = 0; i < 3; i++) + { + cipher__SecKey seckey; + unsigned int err; + + err = SKY_cipher_SecKeyFromWalletImportFormat(wip[i],&seckey); + cr_assert(err==SKY_OK); + + cipher__PubKey pubkey; + + SKY_cipher_PubKeyFromSecKey(&seckey,&pubkey); + + unsigned char * pubkeyhextmp; + GoString_ string; + + SKY_cipher_PubKey_Hex(&pubkey,&string); + cr_assert(eq(type(GoString), (*(GoString*)&string),(*(GoString*)&pub[i]) )); + GoString bitcoinAddr; + SKY_cipher_BitcoinAddressFromPubkey(&pubkey, (GoString_ *)&bitcoinAddr); + cr_assert(eq(type(GoString),addr[i],bitcoinAddr)); + + } +} + +Test(cipher_address, TestAddressBulk){ + + unsigned char buff[50]; + GoSlice slice = { buff, 0, 50 }; + + for (int i = 0; i < 1024; ++i) + { + randBytes(&slice,32); + cipher__PubKey pubkey; + cipher__SecKey seckey; + SKY_cipher_GenerateDeterministicKeyPair( slice,&pubkey,&seckey); + cipher__Address addr; + SKY_cipher_AddressFromPubKey(&pubkey,&addr); + unsigned int err; + err = SKY_cipher_Address_Verify(&addr,&pubkey); + cr_assert(err == SKY_OK); + GoString strAddr; + SKY_cipher_Address_String(&addr, (GoString_ *)&strAddr); + registerMemCleanup((void *) strAddr.p); + cipher__Address addr2; + + err = SKY_cipher_DecodeBase58Address(strAddr,&addr2); + cr_assert(err == SKY_OK); + cr_assert(eq(type(cipher__Address),addr,addr2)); + } + +} + diff --git a/lib/cgo/tests/check_cipher.crypto.c b/lib/cgo/tests/check_cipher.crypto.c new file mode 100755 index 0000000..b8e2b1d --- /dev/null +++ b/lib/cgo/tests/check_cipher.crypto.c @@ -0,0 +1,734 @@ + +#include +#include + +#include +#include + +#include "libskycoin.h" +#include "skyerrors.h" +#include "skystring.h" +#include "skytest.h" + +TestSuite(cipher_crypto, .init = setup, .fini = teardown); + +Test(cipher_crypto, TestNewPubKey) { + unsigned char buff[101]; + GoSlice slice; + cipher__PubKey pk; + + slice.data = buff; + slice.cap = 101; + + randBytes(&slice, 31); + slice.len = 31; + unsigned int errcode = SKY_cipher_NewPubKey(slice, &pk); + cr_assert(errcode == SKY_ERROR, "31 random bytes"); + + randBytes(&slice, 32); + errcode = SKY_cipher_NewPubKey(slice, &pk); + cr_assert(errcode == SKY_ERROR, "32 random bytes"); + + randBytes(&slice, 34); + errcode = SKY_cipher_NewPubKey(slice, &pk); + cr_assert(errcode == SKY_ERROR, "34 random bytes"); + + slice.len = 0; + errcode = SKY_cipher_NewPubKey(slice, &pk); + cr_assert(errcode == SKY_ERROR, "0 random bytes"); + + randBytes(&slice, 100); + errcode = SKY_cipher_NewPubKey(slice, &pk); + cr_assert(errcode == SKY_ERROR, "100 random bytes"); + + randBytes(&slice, 33); + errcode = SKY_cipher_NewPubKey(slice, &pk); + cr_assert(errcode == SKY_OK, "33 random bytes"); + + cr_assert(eq(u8[33], pk, buff)); +} + +Test(cipher_crypto, TestPubKeyFromHex) { + cipher__PubKey p, p1; + GoString s; + unsigned char buff[51]; + char sbuff[101]; + GoSlice slice = { (void *)buff, 0, 51 }; + unsigned int errcode; + + // Invalid hex + s.n = 0; + errcode = SKY_cipher_PubKeyFromHex(s, &p1); + cr_assert(errcode == SKY_ERROR, "TestPubKeyFromHex: Invalid hex. Empty string"); + + s.p = "cascs"; + s.n = strlen(s.p); + errcode = SKY_cipher_PubKeyFromHex(s, &p1); + cr_assert(errcode == SKY_ERROR, "TestPubKeyFromHex: Invalid hex. Bad chars"); + + // Invalid hex length + randBytes(&slice, 33); + errcode = SKY_cipher_NewPubKey(slice, &p); + cr_assert(errcode == SKY_OK); + strnhex(&p[0], sbuff, slice.len / 2); + s.p = sbuff; + s.n = strlen(s.p); + errcode = SKY_cipher_PubKeyFromHex(s, &p1); + cr_assert(errcode == SKY_ERROR, "TestPubKeyFromHex: Invalid hex length"); + + // Valid + strnhex(p, sbuff, sizeof(p)); + s.p = sbuff; + s.n = strlen(s.p); + errcode = SKY_cipher_PubKeyFromHex(s, &p1); + cr_assert(errcode == SKY_OK, "TestPubKeyFromHex: Valid. No panic."); + cr_assert(eq(u8[33], p, p1)); +} + +Test(cipher_crypto, TestPubKeyHex) { + cipher__PubKey p, p2; + GoString s3, s4; + unsigned char buff[50]; + GoSlice slice = { buff, 0, 50}; + unsigned int errcode; + + randBytes(&slice, 33); + errcode = SKY_cipher_NewPubKey(slice, &p); + cr_assert(errcode == SKY_OK); + SKY_cipher_PubKey_Hex(&p, (GoString_ *) &s3); + registerMemCleanup((void *) s3.p); + errcode = SKY_cipher_PubKeyFromHex(s3, &p2); + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[33], p, p2)); + + SKY_cipher_PubKey_Hex(&p2, (GoString_ *)&s4); + registerMemCleanup((void *) s4.p); + // TODO: Translate into cr_assert(eq(type(GoString), s3, s4)); + cr_assert(s3.n == s4.n); + cr_assert(eq(str, ((char *) s3.p), ((char *) s4.p))); +} + +Test(cipher_crypto, TestPubKeyVerify) { + cipher__PubKey p; + unsigned char buff[50]; + GoSlice slice = { buff, 0, 50 }; + unsigned int errcode; + + int i = 0; + for (; i < 10; i++) { + randBytes(&slice, 33); + errcode = SKY_cipher_NewPubKey(slice, &p); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_PubKey_Verify(&p); + cr_assert(errcode == SKY_ERROR); + } +} + +Test(cipher_crypto, TestPubKeyVerifyNil) { + cipher__PubKey p = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0 + }; + unsigned int errcode; + + errcode = SKY_cipher_PubKey_Verify(&p); + cr_assert(errcode == SKY_ERROR); +} + +Test(cipher_crypto, TestPubKeyVerifyDefault1) { + cipher__PubKey p; + cipher__SecKey s; + + SKY_cipher_GenerateKeyPair(&p, &s); + unsigned int errcode = SKY_cipher_PubKey_Verify(&p); + cr_assert(errcode == SKY_OK); +} + +Test(cipher_crypto, TestPubKeyVerifyDefault2) { + cipher__PubKey p; + cipher__SecKey s; + int i; + + for (i = 0; i < 1024; ++i) { + SKY_cipher_GenerateKeyPair(&p, &s); + unsigned int errcode = SKY_cipher_PubKey_Verify(&p); + cr_assert(errcode == SKY_OK); + } +} + +Test(cipher_crypto, TestPubKeyToAddressHash) { + cipher__PubKey p; + cipher__SecKey s; + cipher__Ripemd160 h; + + SKY_cipher_GenerateKeyPair(&p, &s); + SKY_cipher_PubKey_ToAddressHash(&p, &h); + // TODO: Translate code snippet + // + // x := sha256.Sum256(p[:]) + // x = sha256.Sum256(x[:]) + // rh := ripemd160.New() + // rh.Write(x[:]) + // y := rh.Sum(nil) + // assert.True(t, bytes.Equal(h[:], y)) + // + // +} + +Test(cipher_crypto, TestPubKeyToAddress) { + cipher__PubKey p; + cipher__SecKey s; + cipher__Address addr; + cipher__Ripemd160 h; + int errcode; + + SKY_cipher_GenerateKeyPair(&p, &s); + SKY_cipher_AddressFromPubKey(&p, &addr); + errcode = SKY_cipher_Address_Verify(&addr, &p); + cr_assert(errcode == SKY_OK); +} + +Test(cipher_crypto, TestPubKeyToAddress2) { + cipher__PubKey p; + cipher__SecKey s; + cipher__Address addr; + GoString_ addrStr; + int i, errcode; + + for (i = 0; i < 1024; i++) { + SKY_cipher_GenerateKeyPair(&p, &s); + SKY_cipher_AddressFromPubKey(&p, &addr); + //func (self Address) Verify(key PubKey) error + errcode = SKY_cipher_Address_Verify(&addr, &p); + cr_assert(errcode == SKY_OK); + SKY_cipher_Address_String(&addr, &addrStr); + registerMemCleanup((void *) addrStr.p); + errcode = SKY_cipher_DecodeBase58Address( + *((GoString*)&addrStr), &addr); + //func DecodeBase58Address(addr string) (Address, error) + cr_assert(errcode == SKY_OK); + } +} + +Test(cipher_crypto, TestMustNewSecKey) { + unsigned char buff[101]; + GoSlice b; + cipher__SecKey sk; + int errcode; + + b.data = buff; + b.cap = 101; + + randBytes(&b, 31); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 33); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 34); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 0); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 100); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 32); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[32], sk, buff)); +} + +Test(cipher_crypto, TestMustSecKeyFromHex) { + GoString str; + cipher__SecKey sk, sk1; + unsigned int buff[50]; + GoSlice b; + char strBuff[101]; + GoString s; + int errcode; + + // Invalid hex + s.p = ""; + s.n = strlen(s.p); + errcode = SKY_cipher_SecKeyFromHex(s, &sk); + cr_assert(errcode == SKY_ERROR); + + s.p = "cascs"; + s.n = strlen(s.p); + errcode = SKY_cipher_SecKeyFromHex(s, &sk); + cr_assert(errcode == SKY_ERROR); + + // Invalid hex length + b.data = buff; + b.cap = 50; + randBytes(&b, 32); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_OK); + strnhex(sk, strBuff, 16); + s.p = strBuff; + s.n = strlen(strBuff); + errcode = SKY_cipher_SecKeyFromHex(s, &sk1); + cr_assert(errcode == SKY_ERROR); + + // Valid + strnhex(sk, strBuff, 32); + s.p = strBuff; + s.n = strlen(strBuff); + errcode = SKY_cipher_SecKeyFromHex(s, &sk1); + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[32], sk, sk1)); +} + +Test(cipher_crypto, TestSecKeyHex) { + cipher__SecKey sk, sk2; + unsigned char buff[101]; + char strBuff[50]; + GoSlice b; + GoString str, h; + int errcode; + + b.data = buff; + b.cap = 50; + h.p = strBuff; + h.n = 0; + + randBytes(&b, 32); + SKY_cipher_NewSecKey(b, &sk); + SKY_cipher_SecKey_Hex(&sk, (GoString_ *)&str); + registerMemCleanup((void *) str.p); + + // Copy early to ensure memory is released + strncpy((char *) h.p, str.p, str.n); + h.n = str.n; + + errcode = SKY_cipher_SecKeyFromHex(h, &sk2); + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[32], sk, sk2)); +} + +Test(cipher_crypto, TestSecKeyVerify) { + cipher__SecKey sk; + cipher__PubKey pk; + int errcode; + + // Empty secret key should not be valid + memset(sk, 0, 32); + errcode = SKY_cipher_SecKey_Verify(&sk); + cr_assert(errcode == SKY_ERROR); + + // Generated sec key should be valid + SKY_cipher_GenerateKeyPair(&pk, &sk); + errcode = SKY_cipher_SecKey_Verify(&sk); + cr_assert(errcode == SKY_OK); + + // Random bytes are usually valid +} + +Test(cipher_crypto, TestECDHonce) { + cipher__PubKey pub1, pub2; + cipher__SecKey sec1, sec2; + unsigned char buff1[50], buff2[50]; + GoSlice_ buf1, buf2; + + buf1.data = buff1; + buf1.len = 0; + buf1.cap = 50; + buf2.data = buff2; + buf2.len = 0; + buf2.cap = 50; + + SKY_cipher_GenerateKeyPair(&pub1, &sec1); + SKY_cipher_GenerateKeyPair(&pub2, &sec2); + + SKY_cipher_ECDH(&pub2, &sec1, &buf1); + SKY_cipher_ECDH(&pub1, &sec2, &buf2); + + // ECDH shared secrets are 32 bytes SHA256 hashes in the end + cr_assert(eq(u8[32], buff1, buff2)); +} + +Test(cipher_crypto, TestECDHloop) { + int i; + cipher__PubKey pub1, pub2; + cipher__SecKey sec1, sec2; + unsigned char buff1[50], buff2[50]; + GoSlice_ buf1, buf2; + + buf1.data = buff1; + buf1.len = 0; + buf1.cap = 50; + buf2.data = buff2; + buf2.len = 0; + buf2.cap = 50; + + for (i = 0; i < 128; i++) { + SKY_cipher_GenerateKeyPair(&pub1, &sec1); + SKY_cipher_GenerateKeyPair(&pub2, &sec2); + SKY_cipher_ECDH(&pub2, &sec1, &buf1); + SKY_cipher_ECDH(&pub1, &sec2, &buf2); + cr_assert(eq(u8[32], buff1, buff2)); + } +} + +Test(cipher_crypto, TestNewSig) { + unsigned char buff[101]; + GoSlice b; + cipher__Sig s; + int errcode; + + b.data = buff; + b.len = 0; + b.cap = 101; + + randBytes(&b, 64); + errcode = SKY_cipher_NewSig(b, &s); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 66); + errcode = SKY_cipher_NewSig(b, &s); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 67); + errcode = SKY_cipher_NewSig(b, &s); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 0); + errcode = SKY_cipher_NewSig(b, &s); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 100); + errcode = SKY_cipher_NewSig(b, &s); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 65); + errcode = SKY_cipher_NewSig(b, &s); + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[65], buff, s)); +} + +Test(cipher_crypto, TestMustSigFromHex) { + unsigned char buff[101]; + char strBuff[257]; + GoSlice b = { buff, 0, 101 }; + GoString str; + cipher__Sig s, s2; + int errcode; + + // Invalid hex + str.p = ""; + str.n = strlen(str.p); + errcode = SKY_cipher_SigFromHex(str, &s2); + cr_assert(errcode == SKY_ERROR); + + str.p = "cascs"; + str.n = strlen(str.p); + errcode = SKY_cipher_SigFromHex(str, &s2); + cr_assert(errcode == SKY_ERROR); + + // Invalid hex length + randBytes(&b, 65); + errcode = SKY_cipher_NewSig(b, &s); + cr_assert(errcode == SKY_OK); + str.p = strBuff; + str.n = 0; + strnhex(s, (char *) str.p, 32); + str.n = strlen(str.p); + errcode = SKY_cipher_SigFromHex(str, &s2); + cr_assert(errcode == SKY_ERROR); + + // Valid + strnhex(s, (char *) str.p, 65); + str.n = strlen(str.p); + errcode = SKY_cipher_SigFromHex(str, &s2); + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[65], s2, s)); +} + +Test(cipher_crypto, TestSigHex) { + unsigned char buff[66]; + GoSlice b = {buff, 0, 66}; + char strBuff[150], + strBuff2[150]; + GoString str = {NULL, 0}, + str2 = {NULL, 0}; + cipher__Sig s, s2; + int errcode; + + randBytes(&b, 65); + errcode = SKY_cipher_NewSig(b, &s); + + cr_assert(errcode == SKY_OK); + SKY_cipher_Sig_Hex(&s, (GoString_ *) &str); + registerMemCleanup((void *) str.p); + errcode = SKY_cipher_SigFromHex(str, &s2); + + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[65], s, s2)); + + SKY_cipher_Sig_Hex(&s2, (GoString_ *) &str2); + registerMemCleanup((void *) str2.p); + cr_assert(eq(type(GoString), str, str2)); +} + +Test(cipher_crypto, TestChkSig) { + cipher__PubKey pk, pk2; + cipher__SecKey sk, sk2; + cipher__Address addr, addr2; + unsigned char buff[257]; + GoSlice b = { buff, 0, 257 }; + cipher__SHA256 h, h2; + cipher__Sig sig, sig2; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + errcode = SKY_cipher_PubKey_Verify(&pk); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_SecKey_Verify(&sk); + cr_assert(errcode == SKY_OK); + + SKY_cipher_AddressFromPubKey(&pk, &addr); + errcode = SKY_cipher_Address_Verify(&addr, &pk); + cr_assert(errcode == SKY_OK); + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h); + SKY_cipher_SignHash(&h, &sk, &sig); + errcode = SKY_cipher_ChkSig(&addr, &h, &sig); + cr_assert(errcode == SKY_OK); + + // Empty sig should be invalid + memset(&sig, 0, sizeof(sig)); + errcode = SKY_cipher_ChkSig(&addr, &h, &sig); + cr_assert(errcode == SKY_ERROR); + + // Random sigs should not pass + int i; + for (i = 0; i < 100; i++) { + randBytes(&b, 65); + SKY_cipher_NewSig(b, &sig); + errcode = SKY_cipher_ChkSig(&addr, &h, &sig); + cr_assert(errcode == SKY_ERROR); + } + + // Sig for one hash does not work for another hash + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h2); + SKY_cipher_SignHash(&h2, &sk, &sig2); + errcode = SKY_cipher_ChkSig(&addr, &h2, &sig2); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_ChkSig(&addr, &h, &sig2); + cr_assert(errcode == SKY_ERROR); + errcode = SKY_cipher_ChkSig(&addr, &h2, &sig); + cr_assert(errcode == SKY_ERROR); + + // Different secret keys should not create same sig + SKY_cipher_GenerateKeyPair(&pk2, &sk2); + SKY_cipher_AddressFromPubKey(&pk2, &addr2); + memset(&h, 0, sizeof(h)); + SKY_cipher_SignHash(&h, &sk, &sig); + SKY_cipher_SignHash(&h, &sk2, &sig2); + errcode = SKY_cipher_ChkSig(&addr, &h, &sig); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_ChkSig(&addr2, &h, &sig2); + cr_assert(errcode == SKY_OK); + cr_assert(not(eq(u8[65], sig, sig2))); + + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h); + SKY_cipher_SignHash(&h, &sk, &sig); + SKY_cipher_SignHash(&h, &sk2, &sig2); + errcode = SKY_cipher_ChkSig(&addr, &h, &sig); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_ChkSig(&addr2, &h, &sig2); + cr_assert(errcode == SKY_OK); + cr_assert(not(eq(u8[65], sig, sig2))); + + // Bad address should be invalid + errcode = SKY_cipher_ChkSig(&addr, &h, &sig2); + cr_assert(errcode == SKY_ERROR); + errcode = SKY_cipher_ChkSig(&addr2, &h, &sig); + cr_assert(errcode == SKY_ERROR); +} + +Test(cipher_crypto, TestSignHash) { + cipher__PubKey pk; + cipher__SecKey sk; + cipher__Address addr; + unsigned char buff[257]; + GoSlice b = { buff, 0, 101 }; + cipher__SHA256 h; + cipher__Sig sig, sig2; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + SKY_cipher_AddressFromPubKey(&pk, &addr); + + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h); + SKY_cipher_SignHash(&h, &sk, &sig); + memset((void *) &sig2, 0, 65); + cr_assert(not(eq(u8[65], sig2, sig))); + errcode = SKY_cipher_ChkSig(&addr, &h, &sig); + cr_assert(errcode == SKY_OK); +} + +Test(cipher_crypto, TestPubKeyFromSecKey) { + cipher__PubKey pk, pk2; + cipher__SecKey sk; + unsigned char buff[101]; + GoSlice b = { buff, 0, 101 }; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + errcode = SKY_cipher_PubKeyFromSecKey(&sk, &pk2); + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[33], pk, pk2)); + + memset(&sk, 0, sizeof(sk)); + errcode = SKY_cipher_PubKeyFromSecKey(&sk, &pk); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 99); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 31); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_ERROR); +} + +Test(cipher_crypto, TestPubKeyFromSig) { + cipher__PubKey pk, pk2; + cipher__SecKey sk; + cipher__SHA256 h; + cipher__Sig sig; + unsigned char buff[257]; + GoSlice b = { buff, 0, 257 }; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h); + SKY_cipher_SignHash(&h, &sk, &sig); + errcode = SKY_cipher_PubKeyFromSig(&sig, &h, &pk2); + + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[33], pk, pk2)); + + memset(&sig, 0, sizeof(sig)); + errcode = SKY_cipher_PubKeyFromSig(&sig, &h, &pk2); + cr_assert(errcode == SKY_ERROR); +} + +Test(cipher_crypto, TestVerifySignature) { + cipher__PubKey pk, pk2; + cipher__SecKey sk, sk2; + cipher__SHA256 h, h2; + cipher__Sig sig, sig2; + unsigned char buff[257]; + GoSlice b = { buff, 0, 257 }; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h); + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h2); + SKY_cipher_SignHash(&h, &sk, &sig); + errcode = SKY_cipher_VerifySignature(&pk, &sig, &h); + cr_assert(errcode == SKY_OK); + + memset(&sig2, 0, sizeof(sig2)); + errcode = SKY_cipher_VerifySignature(&pk, &sig2, &h); + cr_assert(errcode == SKY_ERROR); + + errcode = SKY_cipher_VerifySignature(&pk, &sig, &h2); + cr_assert(errcode == SKY_ERROR); + + SKY_cipher_GenerateKeyPair(&pk2, &sk2); + errcode = SKY_cipher_VerifySignature(&pk2, &sig, &h); + cr_assert(errcode == SKY_ERROR); + + memset(&pk2, 0, sizeof(pk2)); + errcode = SKY_cipher_VerifySignature(&pk2, &sig, &h); + cr_assert(errcode == SKY_ERROR); +} + +Test(cipher_crypto, TestGenerateKeyPair) { + cipher__PubKey pk; + cipher__SecKey sk; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + errcode = SKY_cipher_PubKey_Verify(&pk); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_SecKey_Verify(&sk); + cr_assert(errcode == SKY_OK); +} + +Test(cipher_crypto, TestGenerateDeterministicKeyPair) { + cipher__PubKey pk; + cipher__SecKey sk; + unsigned char buff[33]; + GoSlice seed = { buff, 0, 33 }; + int errcode; + + // TODO -- deterministic key pairs are useless as is because we can't + // generate pair n+1, only pair 0 + randBytes(&seed, 32); + SKY_cipher_GenerateDeterministicKeyPair(seed, &pk, &sk); + errcode = SKY_cipher_PubKey_Verify(&pk); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_SecKey_Verify(&sk); + cr_assert(errcode == SKY_OK); + + SKY_cipher_GenerateDeterministicKeyPair(seed, &pk, &sk); + errcode = SKY_cipher_PubKey_Verify(&pk); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_SecKey_Verify(&sk); + cr_assert(errcode == SKY_OK); +} + +Test(cipher_crypto, TestSecKeTest) { + cipher__PubKey pk; + cipher__SecKey sk; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + errcode = SKY_cipher_TestSecKey(&sk); + cr_assert(errcode == SKY_OK); + + memset(&sk, 0, sizeof(sk)); + errcode = SKY_cipher_TestSecKey(&sk); + cr_assert(errcode == SKY_ERROR); +} + +Test(cipher_crypto, TestSecKeyHashTest) { + cipher__PubKey pk; + cipher__SecKey sk; + cipher__SHA256 h; + unsigned char buff[257]; + GoSlice b = { buff, 0, 257}; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h); + errcode = SKY_cipher_TestSecKeyHash(&sk, &h); + cr_assert(errcode == SKY_OK); + + + memset(&sk, 0, sizeof(sk)); + errcode = SKY_cipher_TestSecKeyHash(&sk, &h); + cr_assert(errcode == SKY_ERROR); +} + diff --git a/lib/cgo/tests/check_cipher.hash.c b/lib/cgo/tests/check_cipher.hash.c new file mode 100755 index 0000000..0021920 --- /dev/null +++ b/lib/cgo/tests/check_cipher.hash.c @@ -0,0 +1,345 @@ +#include +#include + +#include +#include + +#include "libskycoin.h" +#include "skyerrors.h" +#include "skystring.h" +#include "skytest.h" + +TestSuite(cipher_hash, .init = setup, .fini = teardown); + +void freshSumRipemd160(GoSlice bytes, cipher__Ripemd160 *rp160){ + + SKY_cipher_HashRipemd160(bytes, rp160); +} + +void freshSumSHA256(GoSlice bytes, cipher__SHA256 *sha256){ + + SKY_cipher_SumSHA256(bytes, sha256); +} + +Test(cipher,TestHashRipemd160){ + cipher__Ripemd160 tmp; + cipher__Ripemd160 r; + cipher__Ripemd160 r2; + unsigned char buff[257]; + GoSlice slice = { buff, 0, 257 }; + + randBytes(&slice,128); + SKY_cipher_HashRipemd160(slice,&tmp); + randBytes(&slice,160); + SKY_cipher_HashRipemd160(slice,&r); + cr_assert(not(eq(u8[sizeof(cipher__Ripemd160)],tmp,r))); + + unsigned char buff1[257]; + GoSlice b = { buff1, 0, 257 }; + randBytes(&b,256); + SKY_cipher_HashRipemd160(b,&r2); + cr_assert(not(eq(u8[sizeof(cipher__Ripemd160)],r2,tmp))); + freshSumRipemd160(b,&tmp); + cr_assert(eq(u8[20],tmp,r2)); +} + +Test(cipher_hash,TestRipemd160Set){ + + cipher__Ripemd160 h; + unsigned char buff[101]; + GoSlice slice = { buff, 0, 101 }; + int error; + + memset(h, 0, sizeof(cipher__Ripemd160)); + randBytes(&slice,21); + + error = SKY_cipher_Ripemd160_Set(&h,slice); + cr_assert( error == SKY_ERROR); + + randBytes(&slice,100); + error = SKY_cipher_Ripemd160_Set(&h,slice); + cr_assert(error == SKY_ERROR); + + randBytes(&slice,19); + error = SKY_cipher_Ripemd160_Set(&h,slice); + cr_assert(error == SKY_ERROR); + + randBytes(&slice,0); + error = SKY_cipher_Ripemd160_Set(&h,slice); + cr_assert(error == SKY_ERROR); + + randBytes(&slice,20); + error = SKY_cipher_Ripemd160_Set(&h,slice); + cr_assert(error == SKY_OK); + cr_assert(eq(u8[20], h, buff)); +} + +Test(cipher_hash,TestSHA256Set){ + + cipher__SHA256 h; + unsigned char buff[101]; + GoSlice slice = { buff, 0, 101 }; + int error; + + randBytes(&slice,33); + error=SKY_cipher_SHA256_Set(&h,slice); + cr_assert(error == SKY_ERROR); + + randBytes(&slice,100); + error=SKY_cipher_SHA256_Set(&h,slice); + cr_assert(error == SKY_ERROR); + + randBytes(&slice,31); + error=SKY_cipher_SHA256_Set(&h,slice); + cr_assert(error == SKY_ERROR); + + randBytes(&slice,0); + error=SKY_cipher_SHA256_Set(&h,slice); + cr_assert(error == SKY_ERROR); + + randBytes(&slice,32); + error=SKY_cipher_SHA256_Set(&h,slice); + cr_assert(error == SKY_OK); + + cr_assert(eq(u8[32], h, slice.data)); +} + +Test(cipher_hash,TestSHA256Hex){ + + cipher__SHA256 h; + unsigned char buff[101]; + GoSlice slice = { buff, 0, 101 }; + int error; + + memset(&h, 0, sizeof(h)); + randBytes(&slice,32); + SKY_cipher_SHA256_Set(&h,slice); + GoString s; + + SKY_cipher_SHA256_Hex(&h, (GoString_ *)&s); + registerMemCleanup((void*) s.p); + + cipher__SHA256 h2; + + error = SKY_cipher_SHA256FromHex(s, &h2 ); + cr_assert(error == SKY_OK); + cr_assert(eq(u8[32],h,h2)); + + GoString s2; + + SKY_cipher_SHA256_Hex(&h2, (GoString_ *) &s2); + registerMemCleanup((void*) s2.p); + cr_assert(eq(type(GoString),s,s2)); +} + +Test(cipher_hash,TestSHA256KnownValue){ + + + typedef struct + { + char *input; + char *output; + } tmpstruct; + + tmpstruct vals[3]; + + vals[0].input = "skycoin"; + vals[0].output = "5a42c0643bdb465d90bf673b99c14f5fa02db71513249d904573d2b8b63d353d"; + + vals[1].input = "hello world"; + vals[1].output = "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"; + + vals[2].input = "hello world asd awd awd awdapodawpokawpod "; + vals[2].output = "99d71f95cafe05ea2dddebc35b6083bd5af0e44850c9dc5139b4476c99950be4"; + + for (int i = 0; i < 3; ++i) + { + GoSlice slice_input; + GoSlice slice_output; + + slice_input.data = vals[i].input; + slice_input.len = strlen(vals[i].input); + slice_input.cap = strlen(vals[i].input)+1; + + cipher__SHA256 sha; + + SKY_cipher_SumSHA256(slice_input,&sha); + + GoString_ tmp_output; + + SKY_cipher_SHA256_Hex(&sha,&tmp_output); + registerMemCleanup((void*) tmp_output.p); + + cr_assert(strcmp(tmp_output.p,vals[i].output)== SKY_OK); + } +} + +Test(cipher_hash,TestSumSHA256){ + + unsigned char bbuff[257], + cbuff[257]; + GoSlice b = { bbuff, 0, 257 }; + cipher__SHA256 h1; + randBytes(&b,256); + SKY_cipher_SumSHA256(b,&h1); + cipher__SHA256 tmp; + cr_assert(not(eq(u8[32],h1,tmp))); + GoSlice c = { cbuff, 0, 257 }; + randBytes(&c,256); + cipher__SHA256 h2; + SKY_cipher_SumSHA256(c,&h2); + cr_assert(not(eq(u8[32],h2,tmp))); + cipher__SHA256 tmp_h2; + freshSumSHA256(c,&tmp_h2); + cr_assert(eq(u8[32],h2,tmp_h2)); +} + +Test(cipher_hash,TestSHA256FromHex){ + unsigned int error; + cipher__SHA256 tmp; + // Invalid hex hash + GoString tmp_string = {"cawcd",5}; + error = SKY_cipher_SHA256FromHex(tmp_string,&tmp); + cr_assert(error == SKY_ERROR); + // Truncated hex hash + cipher__SHA256 h; + unsigned char buff[130]; + char sbuff[300]; + GoSlice slice = { buff,0,130 }; + randBytes(&slice,128); + SKY_cipher_SumSHA256(slice,&h); + strnhex(h,sbuff,sizeof(h) >> 1); + GoString s1 = { sbuff, strlen(sbuff) }; + error = SKY_cipher_SHA256FromHex(s1,&h); + cr_assert(error == SKY_ERROR); + + // Valid hex hash + // char sbuff1[300]; + GoString_ s2; + // strnhex(h,sbuff1,sizeof(h)); + SKY_cipher_SHA256_Hex(&h, &s2 ); + cipher__SHA256 h2; + error = SKY_cipher_SHA256FromHex((*((GoString *) &s2)),&h2); + cr_assert(error == SKY_OK); + cr_assert(eq(u8[32],h,h2)); +} + + +Test(cipher_hash,TestDoubleSHA256){ + unsigned char bbuff[130]; + GoSlice b = { bbuff, 0, 130 }; + randBytes(&b,128); + cipher__SHA256 h; + cipher__SHA256 tmp; + SKY_cipher_DoubleSHA256(b,&h); + cr_assert(not(eq(u8[32],tmp,h))); + freshSumSHA256(b,&tmp); + cr_assert(not(eq(u8[32],tmp,h))); +} + +Test(cipher_hash,TestAddSHA256){ + + unsigned char bbuff[130]; + GoSlice b = { bbuff, 0, 130 }; + randBytes(&b,128); + cipher__SHA256 h; + SKY_cipher_SumSHA256(b,&h); + + unsigned char cbuff[130]; + GoSlice c = { cbuff, 0, 130 }; + randBytes(&c,64); + cipher__SHA256 i; + SKY_cipher_SumSHA256(c,&i); + + cipher__SHA256 add; + cipher__SHA256 tmp; + + SKY_cipher_AddSHA256(&h,&i,&add); + + cr_assert(not(eq(u8[32],add,tmp))); + cr_assert(not(eq(u8[32],add,h))); + cr_assert(not(eq(u8[32],add,i))); +} + +Test(cipher_hash,TestXorSHA256){ + + unsigned char bbuff[129], + cbuff[129]; + GoSlice b = { bbuff, 0, 129 } ; + GoSlice c = { cbuff, 0, 129 }; + cipher__SHA256 h, i; + + randBytes(&b,128); + SKY_cipher_SumSHA256(b,&h); + randBytes(&c,128); + SKY_cipher_SumSHA256(c,&i); + + cipher__SHA256 tmp_xor1; + cipher__SHA256 tmp_xor2; + cipher__SHA256 tmp; + + SKY_cipher_SHA256_Xor(&h,&i,&tmp_xor1); + SKY_cipher_SHA256_Xor(&i,&h,&tmp_xor2); + + cr_assert(not(eq(u8[32],tmp_xor1,h))); + cr_assert(not(eq(u8[32],tmp_xor1,i))); + cr_assert(not(eq(u8[32],tmp_xor1,tmp))); + cr_assert(eq(u8[32],tmp_xor1,tmp_xor2)); + +} + +Test(cipher_hash,TestMerkle){ + unsigned char buff[129]; + cipher__SHA256 hashlist[5]; + GoSlice b = { buff, 0, 129 }, + hashes = { hashlist, 0, 5 }; + cipher__SHA256 h, zero, out, out1, out2, out3, out4; + int i; + + memset(zero, 0, sizeof(zero)); + + for (i = 0; i < 5; i++) { + randBytes(&b, 128); + SKY_cipher_SumSHA256(b, &hashlist[i]); + } + + // Single hash input returns hash + hashes.len = 1; + SKY_cipher_Merkle(&hashes, &h); + cr_assert(eq(u8[32], hashlist[0], h)); + + // 2 hashes should be Addcipher__SHA256 of them + hashes.len = 2; + SKY_cipher_AddSHA256(&hashlist[0], &hashlist[1], &out); + SKY_cipher_Merkle(&hashes, &h); + cr_assert(eq(u8[32], out, h)); + + // 3 hashes should be Add(Add()) + hashes.len = 3; + SKY_cipher_AddSHA256(&hashlist[0], &hashlist[1], &out1); + SKY_cipher_AddSHA256(&hashlist[2], &zero, &out2); + SKY_cipher_AddSHA256(&out1, &out2, &out); + SKY_cipher_Merkle(&hashes, &h); + cr_assert(eq(u8[32], out, h)); + + // 4 hashes should be Add(Add()) + hashes.len = 4; + SKY_cipher_AddSHA256(&hashlist[0], &hashlist[1], &out1); + SKY_cipher_AddSHA256(&hashlist[2], &hashlist[3], &out2); + SKY_cipher_AddSHA256(&out1, &out2, &out); + SKY_cipher_Merkle(&hashes, &h); + cr_assert(eq(u8[32], out, h)); + + // 5 hashes + hashes.len = 5; + SKY_cipher_AddSHA256(&hashlist[0], &hashlist[1], &out1); + SKY_cipher_AddSHA256(&hashlist[2], &hashlist[3], &out2); + SKY_cipher_AddSHA256(&out1, &out2, &out3); + SKY_cipher_AddSHA256(&hashlist[4], &zero, &out1); + SKY_cipher_AddSHA256(&zero, &zero, &out2); + SKY_cipher_AddSHA256(&out1, &out2, &out4); + SKY_cipher_AddSHA256(&out3, &out4, &out); + SKY_cipher_Merkle(&hashes, &h); + cr_assert(eq(u8[32], out, h)); +} + diff --git a/lib/cgo/tests/check_cipher.testsuite.c b/lib/cgo/tests/check_cipher.testsuite.c new file mode 100755 index 0000000..d6b635d --- /dev/null +++ b/lib/cgo/tests/check_cipher.testsuite.c @@ -0,0 +1,83 @@ + +#include +#include + +#include "cipher.testsuite.testsuite.go.h" + +// TODO: File path utils. Move elsewhere. + +// Determine if a file name matches pattern for golden dataset +// i.e. matches 'seed-\d+.golden' regex +bool isGoldenFile(const char* filename) { + if (strncmp(filename, "seed-", 5) != 0) + return false; + char* ptr = (char*) filename + 5; + if (*ptr < '0' || *ptr > '9') + return false; + while (*++ptr >= '0' && *ptr <='9') {} + return strcmp(ptr, ".golden") == 0; +} + +TestSuite(cipher_testsuite, .init = setup, .fini = teardown); + +Test(cipher_testsuite, TestManyAddresses) { + SeedTestDataJSON dataJSON; + SeedTestData data; + GoUint32 err; + + json_value* json = loadGoldenFile(MANY_ADDRESSES_FILENAME); + cr_assert(json != NULL, "Error loading file %s", MANY_ADDRESSES_FILENAME); + registerJsonFree(json); + SeedTestDataJSON* dataset = jsonToSeedTestData(json, &dataJSON); + cr_assert(dataset != NULL, "Loaded JSON golden dataset must not be NULL"); + registerSeedTestDataJSONCleanup(&dataJSON); + err = SeedTestDataFromJSON(&dataJSON, &data); + registerSeedTestDataCleanup(&data); + cr_assert(err == SKY_OK, "Deserializing seed test data from JSON ... %d", err); + ValidateSeedData(&data, NULL); +} + +GoUint32 traverseGoldenFiles(const char *path, InputTestData* inputData) { + char* _path[2]; + _path[0] = (char *) path; + _path[1] = NULL; + size_t i = 0; + FTS* tree = fts_open(_path, FTS_NOCHDIR, NULL); + + if (!tree) + return 1; + FTSENT* node; + while ((node = fts_read(tree))) { + if ((node->fts_info & FTS_F) && isGoldenFile(node->fts_name)) { + char fn[FILENAME_MAX]; + fprintf(stderr, "Golden data set %s\n", node->fts_path); + SeedTestDataJSON seedDataJSON; + SeedTestData seedData; + + json_value* json = loadGoldenFile(node->fts_name); + cr_assert(json != NULL, "Error loading file %s", node->fts_name); + SeedTestDataJSON* dataset = jsonToSeedTestData(json, &seedDataJSON); + cr_assert(dataset != NULL, "Loaded JSON seed golden dataset must not be NULL"); + GoUint32 err = SeedTestDataFromJSON(&seedDataJSON, &seedData); + cr_assert(err == SKY_OK, "Deserializing seed test data from JSON ... %d", err); + ValidateSeedData(&seedData, inputData); + } + } + return 0; +} + +Test(cipher_testsuite, TestSeedSignatures) { + InputTestDataJSON inputDataJSON; + InputTestData inputData; + GoUint32 err; + + json_value* json = loadGoldenFile(INPUT_HASHES_FILENAME); + cr_assert(json != NULL, "Error loading file %s", INPUT_HASHES_FILENAME); + InputTestDataJSON* dataset = jsonToInputTestData(json, &inputDataJSON); + cr_assert(dataset != NULL, "Loaded JSON input golden dataset must not be NULL"); + err = InputTestDataFromJSON(&inputDataJSON, &inputData); + cr_assert(err == SKY_OK, "Deserializing seed test data from JSON ... %d", err); + err = traverseGoldenFiles(TEST_DATA_DIR, &inputData); + cr_assert(err == 0); +} + diff --git a/lib/cgo/tests/cipher.testsuite.c b/lib/cgo/tests/cipher.testsuite.c new file mode 100755 index 0000000..7a4bae2 --- /dev/null +++ b/lib/cgo/tests/cipher.testsuite.c @@ -0,0 +1,493 @@ + +#include "cipher.testsuite.testsuite.go.h" + +void empty_gostring(GoString *s) { + s->n = 0; + // FIXME: this satisfies 'all buffers allocated' contract + s->p = calloc(1, sizeof(char)); +} + +void empty_keysdataJSON(KeysTestDataJSON* kdj) { + empty_gostring(&kdj->Address); + empty_gostring(&kdj->Secret); + empty_gostring(&kdj->Public); + kdj->Signatures.len = 0; + kdj->Signatures.cap = 1; + kdj->Signatures.data = calloc(1, sizeof(GoString)); +} + +void json_get_gostring(json_value* value, GoString* s) { + if (value == NULL || value->type != json_string) { + empty_gostring(s); + } else { + s->n = value->u.string.length; + s->p = (const char *) calloc(s->n + 1, sizeof(char)); + memcpy((void *) s->p, (void *)value->u.string.ptr, s->n); + // Append NULL char , just in case + ((char *) s->p)[s->n] = 0; + } +} + +// FIXME: Move elsewhere +json_value* loadGoldenFile(const char* file) { + char path[FILENAME_MAX]; + if(strlen(TEST_DATA_DIR) + strlen(file) < FILENAME_MAX){ + strcat( strcpy(path, TEST_DATA_DIR) , file ); + return loadJsonFile(path); + } + return NULL; +} + +// Deserialize InputTestData JSON representation +InputTestDataJSON* jsonToInputTestData(json_value* json, InputTestDataJSON* input_data) { + if (!json || json->type != json_object) { + return NULL; + } + json_value* hashes = get_json_value(json, "hashes", json_array); + if (hashes == NULL) { + return NULL; + } + int i = 0, + length = hashes->u.array.length; + json_value** hashstr_value = hashes->u.array.values; + input_data->Hashes.len = input_data->Hashes.cap = length; + input_data->Hashes.data = calloc(length, sizeof(GoString)); + GoString* s = (GoString *) input_data->Hashes.data; + for (; i < length; i++, hashstr_value++, s++) { + if ((*hashstr_value)->type != json_string) { + // String value expected. Replace with empty string. + empty_gostring(s); + } else { + json_get_gostring(*hashstr_value, s); + } + } + return input_data; +} + +// Mark all elements of input data for disposal +// +// Cleanup is consistent with InputTestDataToJSON +InputTestData* registerInputTestDataCleanup(InputTestData* input_data) { + registerMemCleanup(input_data->Hashes.data); + return input_data; +} + +// Mark all elements of input data for disposal +// +// Cleanup is consistent with InputTestDataFromJSON +InputTestDataJSON* registerInputTestDataJSONCleanup(InputTestDataJSON* input_data) { + int i = 0, + length = input_data->Hashes.len; + GoString* s = input_data->Hashes.data; + for (; i < length; ++i, s++) { + registerMemCleanup((void *) s->p); + } + registerMemCleanup(input_data->Hashes.data); + return input_data; +} + +// InputTestDataToJSON converts InputTestData to InputTestDataJSON +// +// Allocated memory has to be disposed for: +// +// - input_data.len * sizeof(GoString_) bytes for the strings slice data +// - Buffers to store individual string data +void InputTestDataToJSON(InputTestData* input_data, InputTestDataJSON* json_data) { + GoSlice* hashes = &input_data->Hashes; + GoSlice* hexstrings = &json_data->Hashes; + GoString_* s = hexstrings->data = calloc(hashes->len, sizeof(GoString_)); + hexstrings->len = hexstrings->cap = hashes->len; + + cipher__SHA256* hash = hashes->data; + + int i; + for (i = 0; i < hashes->len; i++, hash++, s++) { + SKY_cipher_SHA256_Hex(hash, s); + } +} + +// InputTestDataFromJSON converts InputTestDataJSON to InputTestData +// +// Allocated memory has to be disposed for: +// +// - json_data.len * sizeof(cipher_SHA256) bytes for the strings slice data +GoUint32 InputTestDataFromJSON(InputTestDataJSON* json_data, InputTestData* input_data) { + GoSlice *hexstrings = &json_data->Hashes; + GoSlice* hashes = &input_data->Hashes; + cipher__SHA256* hash = hashes->data = calloc(hexstrings->len, sizeof(cipher__SHA256)); + hashes->len = hashes->cap = hexstrings->len; + + GoString* s = hexstrings->data; + + int i; + GoUint32 err = SKY_OK; + for (i = 0; i < hexstrings->len && err == SKY_OK; i++, s++, hash++) { + err = SKY_cipher_SHA256FromHex(*s, hash); + } + if (err != SKY_OK) + free(hashes->data); + return err; +} + +// Deserialize KeysTestData JSON representation +KeysTestDataJSON* jsonToKeysTestData(json_value* json, KeysTestDataJSON* input_data) { + if (json->type != json_object) { + return NULL; + } + json_value* value = json_get_string(json, "address"); + json_get_gostring(value, &input_data->Address); + value = json_get_string(json, "secret"); + json_get_gostring(value, &input_data->Secret); + value = json_get_string(json, "public"); + json_get_gostring(value, &input_data->Public); + + value = get_json_value(json, "signatures", json_array); + if (value == NULL) { + return input_data; + } + int i = 0, + length = value->u.array.length; + json_value** array_value = value->u.array.values; + input_data->Signatures.len = input_data->Signatures.cap = length; + input_data->Signatures.data = calloc(length, sizeof(GoString)); + GoString* s = (GoString *) input_data->Signatures.data; + for (; i < length; i++, array_value++, s++) { + if ((*array_value)->type != json_string) { + // String value expected. Replace with empty string + empty_gostring(s); + } else { + json_get_gostring(*array_value, s); + } + } + return input_data; +} + +// Mark all elements of input data for disposal +// +// Cleanup is consistent with KeysTestDataFromJSON +KeysTestData* registerKeysTestDataCleanup(KeysTestData* input_data) { + registerMemCleanup(input_data->Signatures.data); + return input_data; +} + +// Mark all elements of input data for disposal +// +// Cleanup is consistent with KeysTestDataFromJSON +KeysTestDataJSON* registerKeysTestDataJSONCleanup(KeysTestDataJSON* input_data) { + registerMemCleanup((void*) input_data->Address.p); + registerMemCleanup((void*) input_data->Secret.p); + registerMemCleanup((void*) input_data->Public.p); + + int i = 0, + length = input_data->Signatures.len; + GoString* s = input_data->Signatures.data; + for (; i < length; ++i, s++) { + registerMemCleanup((void *) s->p); + } + registerMemCleanup(input_data->Signatures.data); + return input_data; +} + +// KeysTestDataToJSON converts KeysTestData to KeysTestDataJSON +// +// Allocated memory has to be disposed for: +// +// - input_data.Signatures.len * sizeof(GoString_) bytes for the strings slice data +// - Buffers to store individual string data +// - Buffer to store address hex string data +// - Buffer to store pubkey hex string data +// - Buffer to store seckey secret hex string data +void KeysTestDataToJson(KeysTestData* input_data, KeysTestDataJSON* json_data) { + SKY_cipher_Address_String(&input_data->Address, (GoString_*) &json_data->Address); + SKY_cipher_SecKey_Hex(&input_data->Secret, (GoString_*) &json_data->Secret); + SKY_cipher_PubKey_Hex(&input_data->Public, (GoString_*) &json_data->Public); + + json_data->Signatures.len = json_data->Signatures.cap = input_data->Signatures.len; + GoString* s = json_data->Signatures.data = calloc(input_data->Signatures.len, sizeof(GoString)); + + cipher__Sig* sig = (cipher__Sig*) input_data->Signatures.data; + int i; + + for (i = 0; i < input_data->Signatures.len; i++, sig++, s++) { + SKY_cipher_Sig_Hex(sig, (GoString_*) s); + } +} + +// KeysTestDataFromJSON converts KeysTestDataJSON to KeysTestData +// +// +// Allocated memory has to be disposed for: +// +// - json_data.Signatures.len * sizeof(cipher__Sig) bytes for sigs slice data +GoUint32 KeysTestDataFromJSON(KeysTestDataJSON* json_data, KeysTestData* input_data) { + GoUint32 err = SKY_cipher_DecodeBase58Address(json_data->Address, &input_data->Address); + if (err != SKY_OK) + return err; + err = SKY_cipher_SecKeyFromHex(json_data->Secret, &input_data->Secret); + if (err != SKY_OK) + return err; + err = SKY_cipher_PubKeyFromHex(json_data->Public, &input_data->Public); + if (err != SKY_OK) + return err; + + input_data->Signatures.len = input_data->Signatures.cap = json_data->Signatures.len; + input_data->Signatures.data = calloc(input_data->Signatures.cap, sizeof(cipher__Sig)); + cipher__Sig* sig = (cipher__Sig*) input_data->Signatures.data; + + GoString* s = (GoString*) json_data->Signatures.data; + int i; + err = SKY_OK; + + for (i = 0; i < json_data->Signatures.len && err == SKY_OK; i++, sig++, s++) { + SKY_cipher_SigFromHex(*s, sig); + } + if (err != SKY_OK) + free(input_data->Signatures.data); + return err; +} + +// Deserialize SeedTestData JSON representation +SeedTestDataJSON* jsonToSeedTestData(json_value* json, SeedTestDataJSON* input_data) { + if (json->type != json_object) { + return NULL; + } + json_value* value = json_get_string(json, "seed"); + json_get_gostring(value, &(input_data->Seed)); + + value = get_json_value(json, "keys", json_array); + int i = 0, + length = value->u.array.length; + json_value** array_value = value->u.array.values; + input_data->Keys.len = input_data->Keys.cap = length; + input_data->Keys.data = calloc(length, sizeof(KeysTestDataJSON)); + KeysTestDataJSON* kd = (KeysTestDataJSON*) input_data->Keys.data; + for (; i < length; i++, array_value++, kd++) { + if ((*array_value)->type != json_object) { + // String value expected. Replace with empty string + empty_keysdataJSON(kd); + } else { + jsonToKeysTestData(*array_value, kd); + } + } + return input_data; +} + +// Mark all elements of input data for disposal +// +// Cleanup is consistent with SeedTestDataFromJSON +SeedTestData* registerSeedTestDataCleanup(SeedTestData* input_data) { + registerMemCleanup(input_data->Seed.data); + + int i = 0, + length = input_data->Keys.len; + KeysTestData* kd = input_data->Keys.data; + for (; i < length; ++i, kd++) { + registerKeysTestDataCleanup(kd); + } + registerMemCleanup(input_data->Keys.data); + return input_data; +} + +// Mark all elements of input data for disposal +// +// Cleanup is consistent with SeedTestDataFromJSON +SeedTestDataJSON* registerSeedTestDataJSONCleanup(SeedTestDataJSON* input_data) { + registerMemCleanup((void*) input_data->Seed.p); + + int i = 0, + length = input_data->Keys.len; + KeysTestDataJSON* kd = input_data->Keys.data; + for (; i < length; ++i, kd++) { + registerKeysTestDataJSONCleanup((void*) kd); + } + registerMemCleanup(input_data->Keys.data); + return input_data; +} + +// SeedTestDataToJSON converts SeedTestData to SeedTestDataJSON +// +// Allocated memory has to be disposed for: +// +// - Buffer to store seed hex data +// - input_data.Keys.len * sizeof(KeysTestDataJSON) bytes for keys test data slice +// - Memory requirements to allocate JSON data for instances of KeysTestDataJSON in Keys +// see KeysTestDataToJSON +void SeedTestDataToJson(SeedTestData* input_data, SeedTestDataJSON* json_data) { + json_data->Keys.len = json_data->Keys.cap = input_data->Keys.len; + json_data->Keys.data = calloc(input_data->Keys.len, sizeof(KeysTestDataJSON)); + KeysTestDataJSON* kj = (KeysTestDataJSON*) json_data->Keys.data; + + KeysTestData* k = (KeysTestData*) input_data->Keys.data; + int i; + + for (i = 0; i < input_data->Keys.len; i++, k++, kj++) { + KeysTestDataToJson(k, kj); + } + + unsigned int b64seed_size = b64e_size(input_data->Seed.len + 1) + 1; + json_data->Seed.p = malloc(b64seed_size); + json_data->Seed.n = b64_encode((const unsigned char*) input_data->Seed.data, + input_data->Seed.len, input_data->Seed.data); +} + +// SeedTestDataFromJSON converts SeedTestDataJSON to SeedTestData +// +// +// Allocated memory has to be disposed for: +// +// - Seed slice bytes buffer +// - json_data.Keys.len * sizeof(cipher__KeysTestData) bytes for keys test slice data +// - Memory requirements to allocate individual instances of KeyTestData in Keys +// see KeysTestDataFromJSON +GoUint32 SeedTestDataFromJSON(SeedTestDataJSON* json_data, SeedTestData* input_data) { + input_data->Seed.cap = b64d_size(json_data->Seed.n); + input_data->Seed.data = malloc(input_data->Seed.cap); + input_data->Seed.len = b64_decode((const unsigned char *)json_data->Seed.p, + json_data->Seed.n, input_data->Seed.data); + + input_data->Keys.len = input_data->Keys.cap = json_data->Keys.len; + input_data->Keys.data = calloc(input_data->Keys.cap, sizeof(KeysTestData)); + KeysTestData* k = (KeysTestData*) input_data->Keys.data; + + KeysTestDataJSON* kj = (KeysTestDataJSON*) json_data->Keys.data; + int i; + GoUint32 err = SKY_OK; + + for (i = 0; i < json_data->Keys.len && err == SKY_OK; i++, k++, kj++) { + err = KeysTestDataFromJSON(kj, k); + } + if (err != SKY_OK) + free(input_data->Keys.data); + return err; +} + +// ValidateSeedData validates the provided SeedTestData against the current cipher library. +// inputData is required if SeedTestData contains signatures +void ValidateSeedData(SeedTestData* seedData, InputTestData* inputData) { + cipher__PubKey pubkey; + cipher__SecKey seckey; + GoSlice keys; + + // Force allocation of memory for slice buffer + keys.len = keys.cap = 0; + keys.data = NULL; + + SKY_cipher_GenerateDeterministicKeyPairs(seedData->Seed, seedData->Keys.len, (GoSlice_*) &keys); + + cr_assert(keys.data != NULL, + "SKY_cipher_GenerateDeterministicKeyPairs must allocate memory slice with zero cap"); + // Ensure buffer allocated for generated keys is disposed after testing + registerMemCleanup(keys.data); + cr_assert(seedData->Keys.len - keys.len == 0, + "SKY_cipher_GenerateDeterministicKeyPairs must generate expected number of keys"); + + cipher__SecKey skNull; + cipher__PubKey pkNull; + cipher__Address addrNull; + cipher__Sig sigNull; + + struct cr_mem mem_actual; + struct cr_mem mem_expect; + + memset((void *)&skNull, 0, sizeof(cipher__SecKey)); + memset((void *)&pkNull, 0, sizeof(cipher__PubKey)); + memset((void *)&addrNull, 0, sizeof(cipher__Address)); + memset((void *)&sigNull, 0, sizeof(cipher__Sig)); + + int i = 0; + KeysTestData* expected = (KeysTestData*) seedData->Keys.data; + cipher__SecKey *s = (cipher__SecKey*) keys.data; + for (; i < keys.len; i++, s++, expected++) { + mem_expect.data = skNull; + mem_actual.data = *s; + mem_actual.size = mem_expect.size = sizeof(cipher__SecKey); + cr_assert(ne(mem, mem_actual, mem_expect), + "%d-th secret key must not be null", i); + cr_assert(eq(u8[32], (*s), expected->Secret), + "%d-th generated secret key must match provided secret key", i); + + cipher__PubKey p; + SKY_cipher_PubKeyFromSecKey(s, &p); + mem_expect.data = pkNull; + mem_actual.data = p; + mem_actual.size = mem_expect.size = sizeof(cipher__PubKey); + cr_assert(ne(mem, mem_actual, mem_expect), + "%d-th public key must not be null", i); + cr_assert(eq(u8[33], expected->Public, p), + "%d-th derived public key must match provided public key", i); + + cipher__Address addr1; + SKY_cipher_AddressFromPubKey(&p, &addr1); + cr_assert(ne(type(cipher__Address), addrNull, addr1), + "%d-th address from pubkey must not be null", i); + cr_assert(eq(type(cipher__Address), expected->Address, addr1), + "%d-th derived address must match provided address", i); + + cipher__Address addr2; + SKY_cipher_AddressFromSecKey(s, &addr2); + cr_assert(ne(type(cipher__Address), addrNull, addr1), + "%d-th address from sec key must not be null", i); + cr_assert(eq(type(cipher__Address), addr1, addr2), + "%d-th SKY_cipher_AddressFromPubKey and SKY_cipher_AddressFromSecKey must generate same addresses", i); + + // TODO : Translate once secp256k1 be part of libskycoin + /* + validSec := secp256k1.VerifySeckey(s[:]) + if validSec != 1 { + return errors.New("secp256k1.VerifySeckey failed") + } + + validPub := secp256k1.VerifyPubkey(p[:]) + if validPub != 1 { + return errors.New("secp256k1.VerifyPubkey failed") + } + */ + + // FIXME: without cond : 'not give a valid preprocessing token' + bool cond = (!(inputData == NULL && expected->Signatures.len != 0)); + cr_assert(cond, "%d seed data contains signatures but input data was not provided", i); + + if (inputData != NULL) { + cr_assert(expected->Signatures.len == inputData->Hashes.len, + "Number of signatures in %d-th seed data does not match number of hashes in input data", i); + + cipher__SHA256* h = (cipher__SHA256*) inputData->Hashes.data; + cipher__Sig* sig = (cipher__Sig*) expected->Signatures.data; + int j = 0; + for (; j < inputData->Hashes.len; j++, h++, sig++) { + mem_expect.data = sigNull; + mem_actual.data = *sig; + mem_actual.size = mem_expect.size = sizeof(cipher__Sig); + cr_assert(ne(mem, mem_actual, mem_expect), + "%d-th provided signature for %d-th data set must not be null", j, i); + GoUint32 err = SKY_cipher_VerifySignature(&p, sig, h); + cr_assert(err == SKY_OK, + "SKY_cipher_VerifySignature failed: error=%d dataset=%d hashidx=%d", err, i, j); + err = SKY_cipher_ChkSig(&addr1, h, sig); + cr_assert(err == SKY_OK, "SKY_cipher_ChkSig failed: error=%d dataset=%d hashidx=%d", err, i, j); + err = SKY_cipher_VerifySignedHash(sig, h); + cr_assert(err == SKY_OK, + "SKY_cipher_VerifySignedHash failed: error=%d dataset=%d hashidx=%d", err, i, j); + + cipher__PubKey p2; + err = SKY_cipher_PubKeyFromSig(sig, h, &p2); + cr_assert(err == SKY_OK, + "SKY_cipher_PubKeyFromSig failed: error=%d dataset=%d hashidx=%d", err, i, j); + cr_assert(eq(u8[32], p, p2), + "public key derived from %d-th signature in %d-th dataset must match public key derived from secret", + j, i); + + cipher__Sig sig2; + SKY_cipher_SignHash(h, s, &sig2); + mem_expect.data = sigNull; + mem_actual.data = sig2; + mem_actual.size = mem_expect.size = sizeof(cipher__Sig); + cr_assert(ne(mem, mem_actual, mem_expect), + "created signature for %d-th hash in %d-th dataset is null", j, i); + + // NOTE: signatures are not deterministic, they use a nonce, + // so we don't compare the generated sig to the provided sig + } + } + } +} diff --git a/lib/cgo/tests/libsky_criterion.c b/lib/cgo/tests/libsky_criterion.c new file mode 100755 index 0000000..80e7bcf --- /dev/null +++ b/lib/cgo/tests/libsky_criterion.c @@ -0,0 +1,104 @@ + +#include +#include "skycriterion.h" +#include "skystring.h" + +int cr_user_cipher__Address_eq(cipher__Address *addr1, cipher__Address *addr2){ + if(addr1->Version != addr2->Version) + return 0; + for (int i = 0; i < sizeof(cipher__Ripemd160); ++i) { + if(addr1->Key[i] != addr2->Key[i]) + return 0; + } + return 1; +} + +char *cr_user_cipher__Address_tostr(cipher__Address *addr1) +{ + char *out; + + cr_asprintf(&out, "(cipher__Address) { .Key = %s, .Version = %llu }", addr1->Key, (unsigned long long) addr1->Version); + return out; +} + +int cr_user_cipher__Address_noteq(cipher__Address *addr1, cipher__Address *addr2){ + if(addr1->Version != addr2->Version) + return 0; + for (int i = 0; i < sizeof(cipher__Ripemd160); ++i) { + if(addr1->Key[i] != addr2->Key[i]) + return 0; + } + return 1; +} + +int cr_user_GoString_eq(GoString *string1, GoString *string2){ + return (string1->n == string2->n) && + (strcmp( (char *) string1->p, (char *) string2->p) == 0); +} + +char *cr_user_GoString_tostr(GoString *string) +{ + char *out; + cr_asprintf(&out, "(GoString) { .Data = %s, .Length = %llu }", + string->p, (unsigned long long) string->n); + return out; +} + +int cr_user_GoString__eq(GoString_ *string1, GoString_ *string2){ + return cr_user_GoString_eq((GoString *) &string1, (GoString *) &string2); +} + +char *cr_user_GoString__tostr(GoString_ *string) { + return cr_user_GoString_tostr((GoString *)string); +} + +int cr_user_cipher__SecKey_eq(cipher__SecKey *seckey1, cipher__SecKey *seckey2){ + return memcmp((void *)seckey1,(void *)seckey2, sizeof(cipher__SecKey)) == 0; +} + +char *cr_user_cipher__SecKey_tostr(cipher__SecKey *seckey1) +{ + char *out; + char hexdump[101]; + + strnhex((unsigned char *)seckey1, hexdump, sizeof(cipher__SecKey)); + cr_asprintf(&out, "(cipher__SecKey) { %s }", hexdump); + return out; +} + + +int cr_user_cipher__Ripemd160_noteq(cipher__Ripemd160 *rp1, cipher__Ripemd160 *rp2){ + return memcmp((void *)rp1,(void *)rp2, sizeof(cipher__Ripemd160)) != 0; +} + +int cr_user_cipher__Ripemd160_eq(cipher__Ripemd160 *rp1, cipher__Ripemd160 *rp2){ + return memcmp((void *)rp1,(void *)rp2, sizeof(cipher__Ripemd160)) == 0; +} + +char *cr_user_cipher__Ripemd160_tostr(cipher__Ripemd160 *rp1) +{ + char *out; + char hexdump[101]; + + strnhex((unsigned char *)rp1, hexdump, sizeof(cipher__Ripemd160)); + cr_asprintf(&out, "(cipher__Ripemd160) { %s }", hexdump ); + return out; +} + +int cr_user_cipher__SHA256_noteq(cipher__SHA256 *sh1, cipher__SHA256 *sh2){ + return memcmp((void *)sh1,(void *)sh1, sizeof(cipher__SHA256)) != 0; +} + +int cr_user_cipher__SHA256_eq(cipher__SHA256 *sh1, cipher__SHA256 *sh2){ + return memcmp((void *)sh1,(void *)sh1, sizeof(cipher__SHA256)) == 0; +} + +char *cr_user_cipher__SHA256_tostr(cipher__SHA256 *sh1) { + char *out; + char hexdump[101]; + + strnhex((unsigned char *)sh1, hexdump, sizeof(cipher__SHA256)); + cr_asprintf(&out, "(cipher__SHA256) { %s }", hexdump); + return out; +} + diff --git a/lib/cgo/tests/libsky_string.c b/lib/cgo/tests/libsky_string.c new file mode 100755 index 0000000..5cf44ff --- /dev/null +++ b/lib/cgo/tests/libsky_string.c @@ -0,0 +1,30 @@ + +#include "skystring.h" + +#define ALPHANUM "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" +#define ALPHANUM_LEN 62 +#define SIZE_ALL -1 + +void randBytes(GoSlice *bytes, size_t n) { + size_t i = 0; + unsigned char *ptr = (unsigned char *) bytes->data; + for (; i < n; ++i, ++ptr) { + *ptr = ALPHANUM[rand() % ALPHANUM_LEN]; + } + bytes->len = (GoInt) n; +} + +void strnhex(unsigned char* buf, char *str, int n){ + unsigned char * pin = buf; + const char * hex = "0123456789ABCDEF"; + char * pout = str; + for(; *pin && n; --n){ + *pout++ = hex[(*pin>>4)&0xF]; + *pout++ = hex[(*pin++)&0xF]; + } + *pout = 0; +} + +void strhex(unsigned char* buf, char *str){ + strnhex(buf, str, SIZE_ALL); +} diff --git a/lib/cgo/tests/libsky_testutil.c b/lib/cgo/tests/libsky_testutil.c new file mode 100755 index 0000000..b38a03b --- /dev/null +++ b/lib/cgo/tests/libsky_testutil.c @@ -0,0 +1,121 @@ + +#include +#include +#include +#include +#include + +#include "json.h" +#include "skytest.h" +#include "skytypes.h" + +int MEMPOOLIDX = 0; +void *MEMPOOL[1024 * 256]; + +int JSONPOOLIDX = 0; +json_value* JSON_POOL[128]; + +void* registerMemCleanup(void* p) { + int i; + for (i = 0; i < MEMPOOLIDX; i++) { + if(MEMPOOL[i] == NULL){ + MEMPOOL[i] = p; + return p; + } + } + MEMPOOL[MEMPOOLIDX++] = p; + return p; +} + +int registerJsonFree(void *p){ + int i; + for (i = 0; i < JSONPOOLIDX; i++) { + if(JSON_POOL[i] == NULL){ + JSON_POOL[i] = p; + return i; + } + } + JSON_POOL[JSONPOOLIDX++] = p; + return JSONPOOLIDX-1; +} + +void cleanupMem() { + int i; + void **ptr; + + for (i = MEMPOOLIDX, ptr = MEMPOOL; i; --i) { + if( *ptr ) { + free(*ptr); + *ptr = NULL; + } + ptr++; + } + MEMPOOLIDX = 0; + for (i = JSONPOOLIDX, ptr = (void*)JSON_POOL; i; --i) { + if( *ptr ) { + json_value_free(*ptr); + *ptr = NULL; + } + ptr++; + } + JSONPOOLIDX = 0; +} + +json_value* loadJsonFile(const char* filename){ + FILE *fp; + struct stat filestatus; + int file_size; + char* file_contents; + json_char* json; + json_value* value; + + if ( stat(filename, &filestatus) != 0) { + return NULL; + } + file_size = filestatus.st_size; + file_contents = (char*)malloc(filestatus.st_size); + if ( file_contents == NULL) { + return NULL; + } + fp = fopen(filename, "rt"); + if (fp == NULL) { + free(file_contents); + return NULL; + } + if ( fread(file_contents, file_size, 1, fp) != 1 ) { + fclose(fp); + free(file_contents); + return NULL; + } + fclose(fp); + + json = (json_char*)file_contents; + value = json_parse(json, file_size); + free(file_contents); + return value; +} + +void setup(void) { + srand ((unsigned int) time (NULL)); +} + +void teardown(void) { + cleanupMem(); +} + +// TODO: Move to libsky_io.c +void fprintbuff(FILE *f, void *buff, size_t n) { + unsigned char *ptr = (unsigned char *) buff; + fprintf(f, "[ "); + for (; n; --n, ptr++) { + fprintf(f, "%02d ", *ptr); + } + fprintf(f, "]"); +} + + +void toGoString(GoString_ *s, GoString *r){ +GoString * tmp = r; + + *tmp = (*(GoString *) s); +} diff --git a/lib/cgo/tests/testutils/base64.c b/lib/cgo/tests/testutils/base64.c new file mode 100755 index 0000000..fa9585b --- /dev/null +++ b/lib/cgo/tests/testutils/base64.c @@ -0,0 +1,187 @@ +/* +base64.c - by Joe DF (joedf@ahkscript.org) +Released under the MIT License + +See "base64.h", for more information. + +Thank you for inspiration: +http://www.codeproject.com/Tips/813146/Fast-base-functions-for-encode-decode +*/ + +#include "base64.h" +#include + +//Base64 char table - used internally for encoding +unsigned char b64_chr[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + +unsigned int b64_int(unsigned int ch) { + // ASCII to base64_int + // 65-90 Upper Case >> 0-25 + // 97-122 Lower Case >> 26-51 + // 48-57 Numbers >> 52-61 + // 43 Plus (+) >> 62 + // 47 Slash (/) >> 63 + // 61 Equal (=) >> 64~ + if (ch==43) + return 62; + if (ch==47) + return 63; + if (ch==61) + return 64; + if ((ch>47) && (ch<58)) + return ch + 4; + if ((ch>64) && (ch<91)) + return ch - 'A'; + if ((ch>96) && (ch<123)) + return (ch - 'a') + 26; + return 0; +} + +unsigned int b64e_size(unsigned int in_size) { + // size equals 4*floor((1/3)*(in_size+2)); + int i, j = 0; + for (i=0;i>2 ]; + out[k+1] = b64_chr[ ((s[0]&0x03)<<4)+((s[1]&0xF0)>>4) ]; + out[k+2] = b64_chr[ ((s[1]&0x0F)<<2)+((s[2]&0xC0)>>6) ]; + out[k+3] = b64_chr[ s[2]&0x3F ]; + j=0; k+=4; + } + } + + if (j) { + if (j==1) + s[1] = 0; + out[k+0] = b64_chr[ (s[0]&255)>>2 ]; + out[k+1] = b64_chr[ ((s[0]&0x03)<<4)+((s[1]&0xF0)>>4) ]; + if (j==2) + out[k+2] = b64_chr[ ((s[1]&0x0F)<<2) ]; + else + out[k+2] = '='; + out[k+3] = '='; + k+=4; + } + + out[k] = '\0'; + + return k; +} + +unsigned int b64_decode(const unsigned char* in, unsigned int in_len, unsigned char* out) { + + unsigned int i=0, j=0, k=0, s[4]; + for (i=0;i>4); + if (s[2]!=64) { + out[k+1] = ((s[1]&0x0F)<<4)+((s[2]&0x3C)>>2); + if ((s[3]!=64)) { + out[k+2] = ((s[2]&0x03)<<6)+(s[3]); k+=3; + } else { + k+=2; + } + } else { + k+=1; + } + j=0; + } + } + + return k; +} + +unsigned int b64_encodef(char *InFile, char *OutFile) { + + FILE *pInFile = fopen(InFile,"rb"); + FILE *pOutFile = fopen(OutFile,"wb"); + if ( (pInFile==NULL) || (pOutFile==NULL) ) + return 0; + + unsigned int i=0, j=0, c=0, s[3]; + + while(c!=EOF) { + c=fgetc(pInFile); + if (c==EOF) + break; + s[j++]=c; + if (j==3) { + fputc(b64_chr[ (s[0]&255)>>2 ],pOutFile); + fputc(b64_chr[ ((s[0]&0x03)<<4)+((s[1]&0xF0)>>4) ],pOutFile); + fputc(b64_chr[ ((s[1]&0x0F)<<2)+((s[2]&0xC0)>>6) ],pOutFile); + fputc(b64_chr[ s[2]&0x3F ],pOutFile); + j=0; i+=4; + } + } + + if (j) { + if (j==1) + s[1] = 0; + fputc(b64_chr[ (s[0]&255)>>2 ],pOutFile); + fputc(b64_chr[ ((s[0]&0x03)<<4)+((s[1]&0xF0)>>4) ],pOutFile); + if (j==2) + fputc(b64_chr[ ((s[1]&0x0F)<<2) ],pOutFile); + else + fputc('=',pOutFile); + fputc('=',pOutFile); + i+=4; + } + + fclose(pInFile); + fclose(pOutFile); + + return i; +} + +unsigned int b64_decodef(char *InFile, char *OutFile) { + + FILE *pInFile = fopen(InFile,"rb"); + FILE *pOutFile = fopen(OutFile,"wb"); + if ( (pInFile==NULL) || (pOutFile==NULL) ) + return 0; + + unsigned int c=0, j=0, k=0, s[4]; + + while(c!=EOF) { + c=fgetc(pInFile); + if (c==EOF) + break; + s[j++]=b64_int(c); + if (j==4) { + fputc(((s[0]&255)<<2)+((s[1]&0x30)>>4),pOutFile); + if (s[2]!=64) { + fputc(((s[1]&0x0F)<<4)+((s[2]&0x3C)>>2),pOutFile); + if ((s[3]!=64)) { + fputc(((s[2]&0x03)<<6)+(s[3]),pOutFile); k+=3; + } else { + k+=2; + } + } else { + k+=1; + } + j=0; + } + } + + fclose(pInFile); + fclose(pOutFile); + + return k; +} + diff --git a/lib/cgo/tests/testutils/json.c b/lib/cgo/tests/testutils/json.c new file mode 100755 index 0000000..bae4b35 --- /dev/null +++ b/lib/cgo/tests/testutils/json.c @@ -0,0 +1,1012 @@ + +/* vim: set et ts=3 sw=3 sts=3 ft=c: + * + * Copyright (C) 2012, 2013, 2014 James McLaughlin et al. All rights reserved. + * https://github.com/udp/json-parser + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "json.h" + +#ifdef _MSC_VER + #ifndef _CRT_SECURE_NO_WARNINGS + #define _CRT_SECURE_NO_WARNINGS + #endif +#endif + +const struct _json_value json_value_none; + +#include +#include +#include +#include + +typedef unsigned int json_uchar; + +static unsigned char hex_value (json_char c) +{ + if (isdigit(c)) + return c - '0'; + + switch (c) { + case 'a': case 'A': return 0x0A; + case 'b': case 'B': return 0x0B; + case 'c': case 'C': return 0x0C; + case 'd': case 'D': return 0x0D; + case 'e': case 'E': return 0x0E; + case 'f': case 'F': return 0x0F; + default: return 0xFF; + } +} + +typedef struct +{ + unsigned long used_memory; + + unsigned int uint_max; + unsigned long ulong_max; + + json_settings settings; + int first_pass; + + const json_char * ptr; + unsigned int cur_line, cur_col; + +} json_state; + +static void * default_alloc (size_t size, int zero, void * user_data) +{ + return zero ? calloc (1, size) : malloc (size); +} + +static void default_free (void * ptr, void * user_data) +{ + free (ptr); +} + +static void * json_alloc (json_state * state, unsigned long size, int zero) +{ + if ((state->ulong_max - state->used_memory) < size) + return 0; + + if (state->settings.max_memory + && (state->used_memory += size) > state->settings.max_memory) + { + return 0; + } + + return state->settings.mem_alloc (size, zero, state->settings.user_data); +} + +static int new_value (json_state * state, + json_value ** top, json_value ** root, json_value ** alloc, + json_type type) +{ + json_value * value; + int values_size; + + if (!state->first_pass) + { + value = *top = *alloc; + *alloc = (*alloc)->_reserved.next_alloc; + + if (!*root) + *root = value; + + switch (value->type) + { + case json_array: + + if (value->u.array.length == 0) + break; + + if (! (value->u.array.values = (json_value **) json_alloc + (state, value->u.array.length * sizeof (json_value *), 0)) ) + { + return 0; + } + + value->u.array.length = 0; + break; + + case json_object: + + if (value->u.object.length == 0) + break; + + values_size = sizeof (*value->u.object.values) * value->u.object.length; + + if (! (value->u.object.values = (json_object_entry *) json_alloc + (state, values_size + ((unsigned long) value->u.object.values), 0)) ) + { + return 0; + } + + value->_reserved.object_mem = (*(char **) &value->u.object.values) + values_size; + + value->u.object.length = 0; + break; + + case json_string: + + if (! (value->u.string.ptr = (json_char *) json_alloc + (state, (value->u.string.length + 1) * sizeof (json_char), 0)) ) + { + return 0; + } + + value->u.string.length = 0; + break; + + default: + break; + }; + + return 1; + } + + if (! (value = (json_value *) json_alloc + (state, sizeof (json_value) + state->settings.value_extra, 1))) + { + return 0; + } + + if (!*root) + *root = value; + + value->type = type; + value->parent = *top; + + #ifdef JSON_TRACK_SOURCE + value->line = state->cur_line; + value->col = state->cur_col; + #endif + + if (*alloc) + (*alloc)->_reserved.next_alloc = value; + + *alloc = *top = value; + + return 1; +} + +#define whitespace \ + case '\n': ++ state.cur_line; state.cur_col = 0; \ + case ' ': case '\t': case '\r' + +#define string_add(b) \ + do { if (!state.first_pass) string [string_length] = b; ++ string_length; } while (0); + +#define line_and_col \ + state.cur_line, state.cur_col + +static const long + flag_next = 1 << 0, + flag_reproc = 1 << 1, + flag_need_comma = 1 << 2, + flag_seek_value = 1 << 3, + flag_escaped = 1 << 4, + flag_string = 1 << 5, + flag_need_colon = 1 << 6, + flag_done = 1 << 7, + flag_num_negative = 1 << 8, + flag_num_zero = 1 << 9, + flag_num_e = 1 << 10, + flag_num_e_got_sign = 1 << 11, + flag_num_e_negative = 1 << 12, + flag_line_comment = 1 << 13, + flag_block_comment = 1 << 14; + +json_value * json_parse_ex (json_settings * settings, + const json_char * json, + size_t length, + char * error_buf) +{ + json_char error [json_error_max]; + const json_char * end; + json_value * top, * root, * alloc = 0; + json_state state = { 0 }; + long flags; + long num_digits = 0, num_e = 0; + json_int_t num_fraction = 0; + + /* Skip UTF-8 BOM + */ + if (length >= 3 && ((unsigned char) json [0]) == 0xEF + && ((unsigned char) json [1]) == 0xBB + && ((unsigned char) json [2]) == 0xBF) + { + json += 3; + length -= 3; + } + + error[0] = '\0'; + end = (json + length); + + memcpy (&state.settings, settings, sizeof (json_settings)); + + if (!state.settings.mem_alloc) + state.settings.mem_alloc = default_alloc; + + if (!state.settings.mem_free) + state.settings.mem_free = default_free; + + memset (&state.uint_max, 0xFF, sizeof (state.uint_max)); + memset (&state.ulong_max, 0xFF, sizeof (state.ulong_max)); + + state.uint_max -= 8; /* limit of how much can be added before next check */ + state.ulong_max -= 8; + + for (state.first_pass = 1; state.first_pass >= 0; -- state.first_pass) + { + json_uchar uchar; + unsigned char uc_b1, uc_b2, uc_b3, uc_b4; + json_char * string = 0; + unsigned int string_length = 0; + + top = root = 0; + flags = flag_seek_value; + + state.cur_line = 1; + + for (state.ptr = json ;; ++ state.ptr) + { + json_char b = (state.ptr == end ? 0 : *state.ptr); + + if (flags & flag_string) + { + if (!b) + { sprintf (error, "Unexpected EOF in string (at %d:%d)", line_and_col); + goto e_failed; + } + + if (string_length > state.uint_max) + goto e_overflow; + + if (flags & flag_escaped) + { + flags &= ~ flag_escaped; + + switch (b) + { + case 'b': string_add ('\b'); break; + case 'f': string_add ('\f'); break; + case 'n': string_add ('\n'); break; + case 'r': string_add ('\r'); break; + case 't': string_add ('\t'); break; + case 'u': + + if (end - state.ptr <= 4 || + (uc_b1 = hex_value (*++ state.ptr)) == 0xFF || + (uc_b2 = hex_value (*++ state.ptr)) == 0xFF || + (uc_b3 = hex_value (*++ state.ptr)) == 0xFF || + (uc_b4 = hex_value (*++ state.ptr)) == 0xFF) + { + sprintf (error, "Invalid character value `%c` (at %d:%d)", b, line_and_col); + goto e_failed; + } + + uc_b1 = (uc_b1 << 4) | uc_b2; + uc_b2 = (uc_b3 << 4) | uc_b4; + uchar = (uc_b1 << 8) | uc_b2; + + if ((uchar & 0xF800) == 0xD800) { + json_uchar uchar2; + + if (end - state.ptr <= 6 || (*++ state.ptr) != '\\' || (*++ state.ptr) != 'u' || + (uc_b1 = hex_value (*++ state.ptr)) == 0xFF || + (uc_b2 = hex_value (*++ state.ptr)) == 0xFF || + (uc_b3 = hex_value (*++ state.ptr)) == 0xFF || + (uc_b4 = hex_value (*++ state.ptr)) == 0xFF) + { + sprintf (error, "Invalid character value `%c` (at %d:%d)", b, line_and_col); + goto e_failed; + } + + uc_b1 = (uc_b1 << 4) | uc_b2; + uc_b2 = (uc_b3 << 4) | uc_b4; + uchar2 = (uc_b1 << 8) | uc_b2; + + uchar = 0x010000 | ((uchar & 0x3FF) << 10) | (uchar2 & 0x3FF); + } + + if (sizeof (json_char) >= sizeof (json_uchar) || (uchar <= 0x7F)) + { + string_add ((json_char) uchar); + break; + } + + if (uchar <= 0x7FF) + { + if (state.first_pass) + string_length += 2; + else + { string [string_length ++] = 0xC0 | (uchar >> 6); + string [string_length ++] = 0x80 | (uchar & 0x3F); + } + + break; + } + + if (uchar <= 0xFFFF) { + if (state.first_pass) + string_length += 3; + else + { string [string_length ++] = 0xE0 | (uchar >> 12); + string [string_length ++] = 0x80 | ((uchar >> 6) & 0x3F); + string [string_length ++] = 0x80 | (uchar & 0x3F); + } + + break; + } + + if (state.first_pass) + string_length += 4; + else + { string [string_length ++] = 0xF0 | (uchar >> 18); + string [string_length ++] = 0x80 | ((uchar >> 12) & 0x3F); + string [string_length ++] = 0x80 | ((uchar >> 6) & 0x3F); + string [string_length ++] = 0x80 | (uchar & 0x3F); + } + + break; + + default: + string_add (b); + }; + + continue; + } + + if (b == '\\') + { + flags |= flag_escaped; + continue; + } + + if (b == '"') + { + if (!state.first_pass) + string [string_length] = 0; + + flags &= ~ flag_string; + string = 0; + + switch (top->type) + { + case json_string: + + top->u.string.length = string_length; + flags |= flag_next; + + break; + + case json_object: + + if (state.first_pass) + (*(json_char **) &top->u.object.values) += string_length + 1; + else + { + top->u.object.values [top->u.object.length].name + = (json_char *) top->_reserved.object_mem; + + top->u.object.values [top->u.object.length].name_length + = string_length; + + (*(json_char **) &top->_reserved.object_mem) += string_length + 1; + } + + flags |= flag_seek_value | flag_need_colon; + continue; + + default: + break; + }; + } + else + { + string_add (b); + continue; + } + } + + if (state.settings.settings & json_enable_comments) + { + if (flags & (flag_line_comment | flag_block_comment)) + { + if (flags & flag_line_comment) + { + if (b == '\r' || b == '\n' || !b) + { + flags &= ~ flag_line_comment; + -- state.ptr; /* so null can be reproc'd */ + } + + continue; + } + + if (flags & flag_block_comment) + { + if (!b) + { sprintf (error, "%d:%d: Unexpected EOF in block comment", line_and_col); + goto e_failed; + } + + if (b == '*' && state.ptr < (end - 1) && state.ptr [1] == '/') + { + flags &= ~ flag_block_comment; + ++ state.ptr; /* skip closing sequence */ + } + + continue; + } + } + else if (b == '/') + { + if (! (flags & (flag_seek_value | flag_done)) && top->type != json_object) + { sprintf (error, "%d:%d: Comment not allowed here", line_and_col); + goto e_failed; + } + + if (++ state.ptr == end) + { sprintf (error, "%d:%d: EOF unexpected", line_and_col); + goto e_failed; + } + + switch (b = *state.ptr) + { + case '/': + flags |= flag_line_comment; + continue; + + case '*': + flags |= flag_block_comment; + continue; + + default: + sprintf (error, "%d:%d: Unexpected `%c` in comment opening sequence", line_and_col, b); + goto e_failed; + }; + } + } + + if (flags & flag_done) + { + if (!b) + break; + + switch (b) + { + whitespace: + continue; + + default: + + sprintf (error, "%d:%d: Trailing garbage: `%c`", + state.cur_line, state.cur_col, b); + + goto e_failed; + }; + } + + if (flags & flag_seek_value) + { + switch (b) + { + whitespace: + continue; + + case ']': + + if (top && top->type == json_array) + flags = (flags & ~ (flag_need_comma | flag_seek_value)) | flag_next; + else + { sprintf (error, "%d:%d: Unexpected ]", line_and_col); + goto e_failed; + } + + break; + + default: + + if (flags & flag_need_comma) + { + if (b == ',') + { flags &= ~ flag_need_comma; + continue; + } + else + { + sprintf (error, "%d:%d: Expected , before %c", + state.cur_line, state.cur_col, b); + + goto e_failed; + } + } + + if (flags & flag_need_colon) + { + if (b == ':') + { flags &= ~ flag_need_colon; + continue; + } + else + { + sprintf (error, "%d:%d: Expected : before %c", + state.cur_line, state.cur_col, b); + + goto e_failed; + } + } + + flags &= ~ flag_seek_value; + + switch (b) + { + case '{': + + if (!new_value (&state, &top, &root, &alloc, json_object)) + goto e_alloc_failure; + + continue; + + case '[': + + if (!new_value (&state, &top, &root, &alloc, json_array)) + goto e_alloc_failure; + + flags |= flag_seek_value; + continue; + + case '"': + + if (!new_value (&state, &top, &root, &alloc, json_string)) + goto e_alloc_failure; + + flags |= flag_string; + + string = top->u.string.ptr; + string_length = 0; + + continue; + + case 't': + + if ((end - state.ptr) < 3 || *(++ state.ptr) != 'r' || + *(++ state.ptr) != 'u' || *(++ state.ptr) != 'e') + { + goto e_unknown_value; + } + + if (!new_value (&state, &top, &root, &alloc, json_boolean)) + goto e_alloc_failure; + + top->u.boolean = 1; + + flags |= flag_next; + break; + + case 'f': + + if ((end - state.ptr) < 4 || *(++ state.ptr) != 'a' || + *(++ state.ptr) != 'l' || *(++ state.ptr) != 's' || + *(++ state.ptr) != 'e') + { + goto e_unknown_value; + } + + if (!new_value (&state, &top, &root, &alloc, json_boolean)) + goto e_alloc_failure; + + flags |= flag_next; + break; + + case 'n': + + if ((end - state.ptr) < 3 || *(++ state.ptr) != 'u' || + *(++ state.ptr) != 'l' || *(++ state.ptr) != 'l') + { + goto e_unknown_value; + } + + if (!new_value (&state, &top, &root, &alloc, json_null)) + goto e_alloc_failure; + + flags |= flag_next; + break; + + default: + + if (isdigit (b) || b == '-') + { + if (!new_value (&state, &top, &root, &alloc, json_integer)) + goto e_alloc_failure; + + if (!state.first_pass) + { + while (isdigit (b) || b == '+' || b == '-' + || b == 'e' || b == 'E' || b == '.') + { + if ( (++ state.ptr) == end) + { + b = 0; + break; + } + + b = *state.ptr; + } + + flags |= flag_next | flag_reproc; + break; + } + + flags &= ~ (flag_num_negative | flag_num_e | + flag_num_e_got_sign | flag_num_e_negative | + flag_num_zero); + + num_digits = 0; + num_fraction = 0; + num_e = 0; + + if (b != '-') + { + flags |= flag_reproc; + break; + } + + flags |= flag_num_negative; + continue; + } + else + { sprintf (error, "%d:%d: Unexpected %c when seeking value", line_and_col, b); + goto e_failed; + } + }; + }; + } + else + { + switch (top->type) + { + case json_object: + + switch (b) + { + whitespace: + continue; + + case '"': + + if (flags & flag_need_comma) + { sprintf (error, "%d:%d: Expected , before \"", line_and_col); + goto e_failed; + } + + flags |= flag_string; + + string = (json_char *) top->_reserved.object_mem; + string_length = 0; + + break; + + case '}': + + flags = (flags & ~ flag_need_comma) | flag_next; + break; + + case ',': + + if (flags & flag_need_comma) + { + flags &= ~ flag_need_comma; + break; + } + + default: + sprintf (error, "%d:%d: Unexpected `%c` in object", line_and_col, b); + goto e_failed; + }; + + break; + + case json_integer: + case json_double: + + if (isdigit (b)) + { + ++ num_digits; + + if (top->type == json_integer || flags & flag_num_e) + { + if (! (flags & flag_num_e)) + { + if (flags & flag_num_zero) + { sprintf (error, "%d:%d: Unexpected `0` before `%c`", line_and_col, b); + goto e_failed; + } + + if (num_digits == 1 && b == '0') + flags |= flag_num_zero; + } + else + { + flags |= flag_num_e_got_sign; + num_e = (num_e * 10) + (b - '0'); + continue; + } + + top->u.integer = (top->u.integer * 10) + (b - '0'); + continue; + } + + num_fraction = (num_fraction * 10) + (b - '0'); + continue; + } + + if (b == '+' || b == '-') + { + if ( (flags & flag_num_e) && !(flags & flag_num_e_got_sign)) + { + flags |= flag_num_e_got_sign; + + if (b == '-') + flags |= flag_num_e_negative; + + continue; + } + } + else if (b == '.' && top->type == json_integer) + { + if (!num_digits) + { sprintf (error, "%d:%d: Expected digit before `.`", line_and_col); + goto e_failed; + } + + top->type = json_double; + top->u.dbl = (double) top->u.integer; + + num_digits = 0; + continue; + } + + if (! (flags & flag_num_e)) + { + if (top->type == json_double) + { + if (!num_digits) + { sprintf (error, "%d:%d: Expected digit after `.`", line_and_col); + goto e_failed; + } + + //top->u.dbl += ((double) num_fraction) / (pow (10.0, (double) num_digits)); + } + + if (b == 'e' || b == 'E') + { + flags |= flag_num_e; + + if (top->type == json_integer) + { + top->type = json_double; + top->u.dbl = (double) top->u.integer; + } + + num_digits = 0; + flags &= ~ flag_num_zero; + + continue; + } + } + else + { + if (!num_digits) + { sprintf (error, "%d:%d: Expected digit after `e`", line_and_col); + goto e_failed; + } + + /*top->u.dbl *= pow (10.0, (double) + (flags & flag_num_e_negative ? - num_e : num_e));*/ + } + + if (flags & flag_num_negative) + { + if (top->type == json_integer) + top->u.integer = - top->u.integer; + else + top->u.dbl = - top->u.dbl; + } + + flags |= flag_next | flag_reproc; + break; + + default: + break; + }; + } + + if (flags & flag_reproc) + { + flags &= ~ flag_reproc; + -- state.ptr; + } + + if (flags & flag_next) + { + flags = (flags & ~ flag_next) | flag_need_comma; + + if (!top->parent) + { + /* root value done */ + + flags |= flag_done; + continue; + } + + if (top->parent->type == json_array) + flags |= flag_seek_value; + + if (!state.first_pass) + { + json_value * parent = top->parent; + + switch (parent->type) + { + case json_object: + + parent->u.object.values + [parent->u.object.length].value = top; + + break; + + case json_array: + + parent->u.array.values + [parent->u.array.length] = top; + + break; + + default: + break; + }; + } + + if ( (++ top->parent->u.array.length) > state.uint_max) + goto e_overflow; + + top = top->parent; + + continue; + } + } + + alloc = root; + } + + return root; + +e_unknown_value: + + sprintf (error, "%d:%d: Unknown value", line_and_col); + goto e_failed; + +e_alloc_failure: + + strcpy (error, "Memory allocation failure"); + goto e_failed; + +e_overflow: + + sprintf (error, "%d:%d: Too long (caught overflow)", line_and_col); + goto e_failed; + +e_failed: + + if (error_buf) + { + if (*error) + strcpy (error_buf, error); + else + strcpy (error_buf, "Unknown error"); + } + + if (state.first_pass) + alloc = root; + + while (alloc) + { + top = alloc->_reserved.next_alloc; + state.settings.mem_free (alloc, state.settings.user_data); + alloc = top; + } + + if (!state.first_pass) + json_value_free_ex (&state.settings, root); + + return 0; +} + +json_value * json_parse (const json_char * json, size_t length) +{ + json_settings settings = { 0 }; + return json_parse_ex (&settings, json, length, 0); +} + +void json_value_free_ex (json_settings * settings, json_value * value) +{ + json_value * cur_value; + + if (!value) + return; + + value->parent = 0; + + while (value) + { + switch (value->type) + { + case json_array: + + if (!value->u.array.length) + { + settings->mem_free (value->u.array.values, settings->user_data); + break; + } + + value = value->u.array.values [-- value->u.array.length]; + continue; + + case json_object: + + if (!value->u.object.length) + { + settings->mem_free (value->u.object.values, settings->user_data); + break; + } + + value = value->u.object.values [-- value->u.object.length].value; + continue; + + case json_string: + + settings->mem_free (value->u.string.ptr, settings->user_data); + break; + + default: + break; + }; + + cur_value = value; + value = value->parent; + settings->mem_free (cur_value, settings->user_data); + } +} + +void json_value_free (json_value * value) +{ + json_settings settings = { 0 }; + settings.mem_free = default_free; + json_value_free_ex (&settings, value); +} + diff --git a/lib/cgo/tests/testutils/json_util.c b/lib/cgo/tests/testutils/json_util.c new file mode 100755 index 0000000..f617cd1 --- /dev/null +++ b/lib/cgo/tests/testutils/json_util.c @@ -0,0 +1,137 @@ +#include "json.h" +#include +#include + +json_value* json_get_string(json_value* value, const char* key){ + int length, x; + if (value == NULL) { + return NULL; + } + if (value->type != json_object) { + return NULL; + } + length = value->u.object.length; + for (x = 0; x < length; x++) { + if( strcmp( value->u.object.values[x].name, key) == 0){ + if( value->u.object.values[x].value->type == json_string){ + return value->u.object.values[x].value; + } + } + } + return NULL; +} + +int json_set_string(json_value* value, const char* new_string_value){ + if( value->type == json_string){ + int length = strlen(new_string_value); + if( length > value->u.string.length ){ + value->u.string.ptr = malloc(length + 1); + } + strcpy( value->u.string.ptr, new_string_value ); + value->u.string.length = length; + } + return 0; +} + +int compareJsonValues(json_value* value1, json_value* value2); + +int compareJsonObjects(json_value* value1, json_value* value2){ + int length1 = value1->u.object.length; + int length2 = value2->u.object.length; + if( length1 != length2 ) + return 0; + for (int x = 0; x < length1; x++) { + char* name = value1->u.object.values[x].name; + int found = 0; + for( int y = 0; y < length2; y++){ + if( strcmp( value2->u.object.values[y].name, name ) == 0){ + if( !compareJsonValues( value1->u.object.values[x].value, + value2->u.object.values[y].value ) ) + return 0; + found = 1; + break; + } + } + if( !found ) + return 0; + } + return 1; +} + +int compareJsonArrays(json_value* value1, json_value* value2){ + int length1 = value1->u.array.length; + int length2 = value2->u.array.length; + if( length1 != length2 ) + return 0; + for (int x = 0; x < length1; x++) { + if( !compareJsonValues(value1->u.array.values[x], value2->u.array.values[x]) ) + return 0; + } + return 1; +} + +int compareJsonValues(json_value* value1, json_value* value2){ + if( value1 == NULL && value2 == NULL) + return 1; + if( value1 == NULL || value2 == NULL) + return 0; + if( value1->type != value2->type) + return 0; + switch (value1->type) { + case json_null: + return value2->type == json_null; + case json_none: + return 1; + case json_object: + return compareJsonObjects(value1, value2); + case json_array: + return compareJsonArrays(value1, value2); + case json_integer: + return value1->u.integer == value2->u.integer; + case json_double: + return fabs(value1->u.dbl - value2->u.dbl) < 0.000001; + case json_string: + return strcmp(value1->u.string.ptr, value2->u.string.ptr) == 0; + case json_boolean: + return value1->u.boolean == value2->u.boolean; + } + return 1; +} + + +json_value* get_json_value_not_strict(json_value* node, const char* path, + json_type type, int allow_null){ + int n; + const char* p = strchr(path, '/'); + if( p == NULL ) + n = strlen(path); + else + n = p - path; + if( n > 0 ) { + if( node->type == json_object){ + for (int x = 0; x < node->u.object.length; x++) { + json_object_entry * entry = &node->u.object.values[x]; + char* name = entry->name; + json_value* value = entry->value; + if( strncmp( path, name, n ) == 0){ + if( p == NULL){ + if( value->type == type || + (allow_null && value->type == json_null)) + return value; + }else + return get_json_value_not_strict( + value, p + 1, type, allow_null); + } + } + } else { + return NULL; + } + } + return NULL; +} + +json_value* get_json_value(json_value* node, const char* path, + json_type type){ + return get_json_value_not_strict(node, path, type, 1); +} + diff --git a/lib/cgo/wallet.wallet.go b/lib/cgo/wallet.wallet.go new file mode 100755 index 0000000..22b1a3c --- /dev/null +++ b/lib/cgo/wallet.wallet.go @@ -0,0 +1,382 @@ +package main + +import ( + "reflect" + "unsafe" + + cipher "github.com/skycoin/skycoin/src/cipher" + coin "github.com/skycoin/skycoin/src/coin" + wallet "github.com/skycoin/skycoin/src/wallet" +) + +/* + #include + #include + + #include "skytypes.h" +*/ +import "C" + +//export SKY_wallet_NewWallet +func SKY_wallet_NewWallet(_wltName string, _opts C.Options__Handle, _arg2 *C.Wallet__Handle) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + wltName := _wltName + __opts, okopts := lookupOptionsHandle(_opts) + if !okopts { + ____error_code = SKY_ERROR + return + } + opts := *__opts + __arg2, ____return_err := wallet.NewWallet(wltName, opts) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg2 = registerWalletHandle(__arg2) + } + return +} + +//export SKY_wallet_Wallet_Lock +func SKY_wallet_Wallet_Lock(_w C.Wallet__Handle, _password []byte, _cryptoType string) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + password := *(*[]byte)(unsafe.Pointer(&_password)) + cryptoType := wallet.CryptoType(_cryptoType) + ____return_err := w.Lock(password, cryptoType) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + } + return +} + +//export SKY_wallet_Wallet_Unlock +func SKY_wallet_Wallet_Unlock(_w C.Wallet__Handle, _password []byte, _arg1 *C.Wallet__Handle) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + password := *(*[]byte)(unsafe.Pointer(&_password)) + __arg1, ____return_err := w.Unlock(password) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg1 = registerWalletHandle(__arg1) + } + return +} + +//export SKY_wallet_Load +func SKY_wallet_Load(_wltFile string, _arg1 *C.Wallet__Handle) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + wltFile := _wltFile + __arg1, ____return_err := wallet.Load(wltFile) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg1 = registerWalletHandle(__arg1) + } + return +} + +//export SKY_wallet_Wallet_Save +func SKY_wallet_Wallet_Save(_w C.Wallet__Handle, _dir string) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + dir := _dir + ____return_err := w.Save(dir) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + } + return +} + +//export SKY_wallet_Wallet_Validate +func SKY_wallet_Wallet_Validate(_w C.Wallet__Handle) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + ____return_err := w.Validate() + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + } + return +} + +//export SKY_wallet_Wallet_Type +func SKY_wallet_Wallet_Type(_w C.Wallet__Handle, _argSKY_OK *C.GoString_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + __argSKY_OK := w.Type() + copyString(__argSKY_OK, _argSKY_OK) + return +} + +//export SKY_wallet_Wallet_Version +func SKY_wallet_Wallet_Version(_w C.Wallet__Handle, _argSKY_OK *C.GoString_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + __argSKY_OK := w.Version() + copyString(__argSKY_OK, _argSKY_OK) + return +} + +//export SKY_wallet_Wallet_Filename +func SKY_wallet_Wallet_Filename(_w C.Wallet__Handle, _argSKY_OK *C.GoString_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + __argSKY_OK := w.Filename() + copyString(__argSKY_OK, _argSKY_OK) + return +} + +//export SKY_wallet_Wallet_Label +func SKY_wallet_Wallet_Label(_w C.Wallet__Handle, _argSKY_OK *C.GoString_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + __argSKY_OK := w.Label() + copyString(__argSKY_OK, _argSKY_OK) + return +} + +//export SKY_wallet_Wallet_IsEncrypted +func SKY_wallet_Wallet_IsEncrypted(_w C.Wallet__Handle, _argSKY_OK *bool) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + __argSKY_OK := w.IsEncrypted() + *_argSKY_OK = __argSKY_OK + return +} + +//export SKY_wallet_Wallet_GenerateAddresses +func SKY_wallet_Wallet_GenerateAddresses(_w C.Wallet__Handle, _num uint64, _arg1 *C.GoSlice_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + num := _num + __arg1, ____return_err := w.GenerateAddresses(num) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + copyToGoSlice(reflect.ValueOf(__arg1), _arg1) + } + return +} + +//export SKY_wallet_Wallet_GetAddresses +func SKY_wallet_Wallet_GetAddresses(_w C.Wallet__Handle, _argSKY_OK *C.GoSlice_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + __argSKY_OK := w.GetAddresses() + copyToGoSlice(reflect.ValueOf(__argSKY_OK), _argSKY_OK) + return +} + +//export SKY_wallet_Wallet_GetEntry +func SKY_wallet_Wallet_GetEntry(_w C.Wallet__Handle, _a *C.cipher__Address, _arg1 *C.wallet__Entry, _arg2 *bool) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + a := *(*cipher.Address)(unsafe.Pointer(_a)) + __arg1, __arg2 := w.GetEntry(a) + *_arg1 = *(*C.wallet__Entry)(unsafe.Pointer(&__arg1)) + *_arg2 = __arg2 + return +} + +//export SKY_wallet_Wallet_AddEntry +func SKY_wallet_Wallet_AddEntry(_w C.Wallet__Handle, _entry *C.wallet__Entry) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + entry := *(*wallet.Entry)(unsafe.Pointer(_entry)) + ____return_err := w.AddEntry(entry) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + } + return +} + +//export SKY_wallet_DistributeSpendHours +func SKY_wallet_DistributeSpendHours(_inputHours, _nAddrs uint64, _haveChange bool, _arg2 *uint64, _arg3 *C.GoSlice_, _arg4 *uint64) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + inputHours := _inputHours + nAddrs := _nAddrs + haveChange := _haveChange + __arg2, __arg3, __arg4 := wallet.DistributeSpendHours(inputHours, nAddrs, haveChange) + *_arg2 = __arg2 + copyToGoSlice(reflect.ValueOf(__arg3), _arg3) + *_arg4 = __arg4 + return +} + +//export SKY_wallet_DistributeCoinHoursProportional +func SKY_wallet_DistributeCoinHoursProportional(_coins []uint64, _hours uint64, _arg2 *C.GoSlice_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + coins := *(*[]uint64)(unsafe.Pointer(&_coins)) + hours := _hours + __arg2, ____return_err := wallet.DistributeCoinHoursProportional(coins, hours) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + copyToGoSlice(reflect.ValueOf(__arg2), _arg2) + } + return +} + +//export SKY_wallet_NewUxBalances +func SKY_wallet_NewUxBalances(_headTime uint64, _uxa *C.coin__UxArray, _arg2 *C.GoSlice_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + headTime := _headTime + uxa := *(*coin.UxArray)(unsafe.Pointer(_uxa)) + __arg2, ____return_err := wallet.NewUxBalances(headTime, uxa) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + copyToGoSlice(reflect.ValueOf(__arg2), _arg2) + } + return +} + +//export SKY_wallet_NewUxBalance +func SKY_wallet_NewUxBalance(_headTime uint64, _ux *C.coin__UxOut, _arg2 *C.wallet__UxBalance) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + headTime := _headTime + ux := *(*coin.UxOut)(unsafe.Pointer(_ux)) + __arg2, ____return_err := wallet.NewUxBalance(headTime, ux) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg2 = *(*C.wallet__UxBalance)(unsafe.Pointer(&__arg2)) + } + return +} + +//export SKY_wallet_ChooseSpendsMinimizeUxOuts +func SKY_wallet_ChooseSpendsMinimizeUxOuts(_uxa []C.wallet__UxBalance, _coins, _hours uint64, _arg2 *C.GoSlice_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + uxa := *(*[]wallet.UxBalance)(unsafe.Pointer(&_uxa)) + coins := _coins + hours := _hours + __arg2, ____return_err := wallet.ChooseSpendsMinimizeUxOuts(uxa, coins, hours) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + copyToGoSlice(reflect.ValueOf(__arg2), _arg2) + } + return +} + +//export SKY_wallet_ChooseSpendsMaximizeUxOuts +func SKY_wallet_ChooseSpendsMaximizeUxOuts(_uxa []C.wallet__UxBalance, _coins, _hours uint64, _arg2 *C.GoSlice_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + uxa := *(*[]wallet.UxBalance)(unsafe.Pointer(&_uxa)) + coins := _coins + hours := _hours + __arg2, ____return_err := wallet.ChooseSpendsMaximizeUxOuts(uxa, coins, hours) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + copyToGoSlice(reflect.ValueOf(__arg2), _arg2) + } + return +} diff --git a/lib/cgo/wallet_option.go b/lib/cgo/wallet_option.go new file mode 100755 index 0000000..f5db19c --- /dev/null +++ b/lib/cgo/wallet_option.go @@ -0,0 +1,27 @@ +package main + +import ( + wallet "github.com/skycoin/skycoin/src/wallet" +) + +/* + #include + #include + + #include "skytypes.h" +*/ +import "C" + +//export SKY_wallet_CreateOptionsHandle +func SKY_wallet_CreateOptionsHandle(coin string, label string, seed string, encrypt bool, pwd string, cryptoType string, scanN uint64, _opts *C.Options__Handle) uint32 { + var walletOptions wallet.Options + walletOptions.Coin = (wallet.CoinType)(coin) + walletOptions.Label = label + walletOptions.Seed = seed + walletOptions.Encrypt = encrypt + walletOptions.Password = []byte(pwd) + walletOptions.CryptoType = (wallet.CryptoType)(cryptoType) + walletOptions.ScanN = scanN + *_opts = registerOptionsHandle(&walletOptions) + return SKY_OK +} diff --git a/peers.txt b/peers.txt deleted file mode 100755 index c58fb94..0000000 --- a/peers.txt +++ /dev/null @@ -1,54 +0,0 @@ -109.195.211.62:6000 -111.198.225.50:6000 -116.196.111.122:6000 -117.48.197.46:6000 -118.178.135.93:6000 -118.190.40.103:6000 -119.23.146.83:6000 -120.77.69.188:6000 -121.41.103.148:6000 -128.199.57.221:6000 -139.162.33.154:6000 -171.61.57.211:6000 -174.31.25.197:6000 -176.9.47.13:6000 -176.9.84.75:6000 -178.62.225.38:6000 -182.92.180.92:6000 -188.226.135.69:6000 -197.97.221.117:6000 -198.11.174.158:6000 -219.218.122.125:6000 -223.166.51.211:6000 -34.211.217.30:6000 -34.228.199.250:6000 -35.157.164.126:6000 -41.144.111.69:6000 -45.32.235.85:6000 -47.185.85.148:6000 -47.52.247.224:6000 -47.88.33.156:6000 -5.29.223.190:6000 -5.53.140.35:6000 -63.142.253.76:6000 -67.5.101.253:6000 -70.122.218.244:6000 -76.164.192.236:6000 -77.37.218.181:6000 -87.110.127.219:6000 -91.105.75.60:6000 -91.148.193.104:6000 -94.244.35.222:6000 -88.11.114.149:6000 -67.133.97.98:6001 -47.42.155.212:6000 -92.87.237.163:6000 -173.212.205.184:6000 -173.249.15.43:6000 -173.249.15.44:6000 -173.249.15.45:6000 -173.249.15.46:6000 -173.249.30.221:6000 -49.135.7.8:6000 -207.237.45.196:6000 -45.63.21.232:6000 diff --git a/run-live-integration-test-node.sh b/run-live-integration-test-node.sh new file mode 100755 index 0000000..c91674a --- /dev/null +++ b/run-live-integration-test-node.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +# Runs the node with configuration necessary for running the live integration tests + +set -x + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +echo "skycoin binary dir:" "$DIR" +pushd "$DIR" >/dev/null + +COMMIT=$(git rev-parse HEAD) +BRANCH=$(git rev-parse --abbrev-ref HEAD) +GOLDFLAGS="-X main.Commit=${COMMIT} -X main.Branch=${BRANCH}" + +go run -ldflags "${GOLDFLAGS}" cmd/skycoin/skycoin.go \ + -gui-dir="${DIR}/src/gui/static/" \ + -launch-browser=true \ + -enable-wallet-api=true \ + -enable-seed-api=true \ + $@ + +popd >/dev/null diff --git a/run-with-rpc.sh b/run-with-rpc.sh index 3ff5361..336eafd 100755 --- a/run-with-rpc.sh +++ b/run-with-rpc.sh @@ -1,19 +1,3 @@ #!/usr/bin/env bash -set -x - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -echo "skycoin binary dir:" "$DIR" -pushd "$DIR" >/dev/null - -COMMIT=$(git rev-parse HEAD) -BRANCH=$(git rev-parse --abbrev-ref HEAD) -GOLDFLAGS="-X main.Commit=${COMMIT} -X main.Branch=${BRANCH}" - -go run -ldflags "${GOLDFLAGS}" cmd/skycoin/skycoin.go \ - -gui-dir="${DIR}/src/gui/static/" \ - -launch-browser=true \ - -enable-wallet-api=true \ - $@ - -popd >/dev/null +./run.sh -rpc-interface=true diff --git a/run.sh b/run.sh index 273d755..79c54d3 100755 --- a/run.sh +++ b/run.sh @@ -14,6 +14,7 @@ go run -ldflags "${GOLDFLAGS}" cmd/solarbankerscoin/solarbankerscoin.go \ -gui-dir="${DIR}/src/gui/static/" \ -launch-browser=true \ -enable-wallet-api=true \ + -enable-gui=true \ -rpc-interface=false \ -log-level=debug \ $@ diff --git a/src/api/address.go b/src/api/address.go new file mode 100755 index 0000000..8b61544 --- /dev/null +++ b/src/api/address.go @@ -0,0 +1,63 @@ +package api + +import ( + "encoding/json" + "net/http" + + "github.com/skycoin/skycoin/src/cipher" + //http,json helpers +) + +// VerifyAddressRequest is the request data for POST /api/v2/address/verify +type VerifyAddressRequest struct { + Address string `json:"address"` +} + +// VerifyAddressResponse is returned by POST /api/v2/address/verify +type VerifyAddressResponse struct { + Version byte `json:"version"` +} + +// addressVerify verifies a Skycoin address +// Method: POST +// URI: /api/v2/address/verify +func addressVerify(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + resp := NewHTTPErrorResponse(http.StatusMethodNotAllowed, "") + writeHTTPResponse(w, resp) + return + } + + if r.Header.Get("Content-Type") != "application/json" { + resp := NewHTTPErrorResponse(http.StatusUnsupportedMediaType, "") + writeHTTPResponse(w, resp) + return + } + + var req VerifyAddressRequest + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + writeHTTPResponse(w, resp) + return + } + + if req.Address == "" { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "address is required") + writeHTTPResponse(w, resp) + return + } + + addr, err := cipher.DecodeBase58Address(req.Address) + + if err != nil { + resp := NewHTTPErrorResponse(http.StatusUnprocessableEntity, err.Error()) + writeHTTPResponse(w, resp) + return + } + + writeHTTPResponse(w, HTTPResponse{ + Data: VerifyAddressResponse{ + Version: addr.Version, + }, + }) +} diff --git a/src/api/address_test.go b/src/api/address_test.go new file mode 100755 index 0000000..9bff220 --- /dev/null +++ b/src/api/address_test.go @@ -0,0 +1,153 @@ +package api + +import ( + "bytes" + "encoding/json" + "net/http" + "net/http/httptest" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestVerifyAddress(t *testing.T) { + toJSON := func(r VerifyAddressRequest) string { + b, err := json.Marshal(r) + require.NoError(t, err) + return string(b) + } + + cases := []struct { + name string + method string + status int + contentType string + csrfDisabled bool + httpBody string + httpResponse HTTPResponse + }{ + { + name: "405", + method: http.MethodGet, + status: http.StatusMethodNotAllowed, + httpResponse: NewHTTPErrorResponse(http.StatusMethodNotAllowed, ""), + }, + + { + name: "415 - Unsupported Media Type", + method: http.MethodPost, + contentType: "application/x-www-form-urlencoded", + status: http.StatusUnsupportedMediaType, + httpResponse: NewHTTPErrorResponse(http.StatusUnsupportedMediaType, ""), + }, + + { + name: "400 - EOF", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusBadRequest, + httpResponse: NewHTTPErrorResponse(http.StatusBadRequest, "EOF"), + }, + + { + name: "400 - Missing address", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusBadRequest, + httpBody: "{}", + httpResponse: NewHTTPErrorResponse(http.StatusBadRequest, "address is required"), + }, + + { + name: "422 - Invalid checksum", + method: http.MethodPost, + status: http.StatusUnprocessableEntity, + httpBody: toJSON(VerifyAddressRequest{ + Address: "7apQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + }), + httpResponse: NewHTTPErrorResponse(http.StatusUnprocessableEntity, "Invalid checksum"), + }, + { + name: "200", + method: http.MethodPost, + status: http.StatusOK, + httpBody: toJSON(VerifyAddressRequest{ + Address: "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + }), + httpResponse: HTTPResponse{ + Data: VerifyAddressResponse{ + Version: 0, + }, + }, + }, + { + name: "200 - csrf disabled", + method: http.MethodPost, + status: http.StatusOK, + httpBody: toJSON(VerifyAddressRequest{ + Address: "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + }), + httpResponse: HTTPResponse{ + Data: VerifyAddressResponse{ + Version: 0, + }, + }, + csrfDisabled: true, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v2/address/verify" + gateway := NewGatewayerMock() + gateway.On("IsCSPEnabled").Return(false) + + req, err := http.NewRequest(tc.method, endpoint, bytes.NewBufferString(tc.httpBody)) + require.NoError(t, err) + + contentType := tc.contentType + if contentType == "" { + contentType = "application/json" + } + + req.Header.Set("Content-Type", contentType) + + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + + rr := httptest.NewRecorder() + cfg := muxConfig{host: configuredHost, appLoc: "."} + handler := newServerMux(cfg, gateway, csrfStore, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + var rsp ReceivedHTTPResponse + err = json.NewDecoder(rr.Body).Decode(&rsp) + require.NoError(t, err) + + require.Equal(t, tc.httpResponse.Error, rsp.Error) + + if rsp.Data == nil { + require.Nil(t, tc.httpResponse.Data) + } else { + require.NotNil(t, tc.httpResponse.Data) + + var addrRsp VerifyAddressResponse + err := json.Unmarshal(rsp.Data, &addrRsp) + require.NoError(t, err) + + require.Equal(t, tc.httpResponse.Data.(VerifyAddressResponse), addrRsp) + } + + }) + } +} diff --git a/src/gui/blockchain.go b/src/api/blockchain.go similarity index 83% rename from src/gui/blockchain.go rename to src/api/blockchain.go index 47b5bfe..8f640f7 100755 --- a/src/gui/blockchain.go +++ b/src/api/blockchain.go @@ -1,6 +1,6 @@ -package gui +package api -// Blockchain related information for the GUI +// APIs for blockchain related information import ( "fmt" @@ -28,7 +28,14 @@ func blockchainHandler(gateway Gatewayer) http.HandlerFunc { func blockchainProgressHandler(gateway Gatewayer) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { - wh.SendJSONOr500(logger, w, gateway.GetBlockchainProgress()) + progress, err := gateway.GetBlockchainProgress() + if err != nil { + err = fmt.Errorf("gateway.GetBlockchainProgress failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, progress) } } @@ -36,7 +43,7 @@ func blockchainProgressHandler(gateway Gatewayer) http.HandlerFunc { // method: GET // url: /block?hash=[:hash] or /block?seq[:seq] // params: hash or seq, should only specify one filter. -func getBlock(gate Gatewayer) http.HandlerFunc { +func getBlock(gateway Gatewayer) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodGet { wh.Error405(w) @@ -45,8 +52,7 @@ func getBlock(gate Gatewayer) http.HandlerFunc { hash := r.FormValue("hash") seq := r.FormValue("seq") - var b coin.SignedBlock - var exist bool + var b *coin.SignedBlock switch { case hash == "" && seq == "": wh.Error400(w, "should specify one filter, hash or seq") @@ -61,7 +67,11 @@ func getBlock(gate Gatewayer) http.HandlerFunc { return } - b, exist = gate.GetBlockByHash(h) + b, err = gateway.GetSignedBlockByHash(h) + if err != nil { + wh.Error500(w, err.Error()) + return + } case seq != "": uSeq, err := strconv.ParseUint(seq, 10, 64) if err != nil { @@ -69,10 +79,14 @@ func getBlock(gate Gatewayer) http.HandlerFunc { return } - b, exist = gate.GetBlockBySeq(uSeq) + b, err = gateway.GetSignedBlockBySeq(uSeq) + if err != nil { + wh.Error500(w, err.Error()) + return + } } - if !exist { + if b == nil { wh.Error404(w, "") return } diff --git a/src/gui/blockchain_test.go b/src/api/blockchain_test.go similarity index 89% rename from src/gui/blockchain_test.go rename to src/api/blockchain_test.go index 2314f07..ae0d4e4 100755 --- a/src/gui/blockchain_test.go +++ b/src/api/blockchain_test.go @@ -1,4 +1,4 @@ -package gui +package api import ( "net/http" @@ -55,10 +55,10 @@ func TestGetBlock(t *testing.T) { sha256 cipher.SHA256 seqStr string seq uint64 - gatewayGetBlockByHashResult coin.SignedBlock - gatewayGetBlockByHashExists bool - gatewayGetBlockBySeqResult coin.SignedBlock - gatewayGetBlockBySeqExists bool + gatewayGetBlockByHashResult *coin.SignedBlock + gatewayGetBlockByHashErr error + gatewayGetBlockBySeqResult *coin.SignedBlock + gatewayGetBlockBySeqErr error response *visor.ReadableBlock }{ { @@ -110,28 +110,6 @@ func TestGetBlock(t *testing.T) { hash: validHashString, sha256: validSHA256, }, - { - name: "200 - got block by hash", - method: http.MethodGet, - status: http.StatusOK, - hash: validHashString, - sha256: validSHA256, - gatewayGetBlockByHashExists: true, - response: &visor.ReadableBlock{ - Head: visor.ReadableBlockHeader{ - BkSeq: 0x0, - BlockHash: "7b8ec8dd836b564f0c85ad088fc744de820345204e154bc1503e04e9d6fdd9f1", - PreviousBlockHash: "0000000000000000000000000000000000000000000000000000000000000000", - Time: 0x0, - Fee: 0x0, - Version: 0x0, - BodyHash: "0000000000000000000000000000000000000000000000000000000000000000", - }, - Body: visor.ReadableBlockBody{ - Transactions: []visor.ReadableTransaction{}, - }, - }, - }, { name: "400 - seq error: invalid syntax", method: http.MethodGet, @@ -154,10 +132,27 @@ func TestGetBlock(t *testing.T) { err: "500 Internal Server Error - Droplet string conversion failed: Value is too large", seqStr: "1", seq: 1, - gatewayGetBlockBySeqResult: coin.SignedBlock{ + gatewayGetBlockBySeqResult: &coin.SignedBlock{ Block: *badBlock, }, - gatewayGetBlockBySeqExists: true, + }, + { + name: "500 - get block by hash error", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - GetSignedBlockByHash failed", + hash: validHashString, + sha256: validSHA256, + gatewayGetBlockByHashErr: errors.New("GetSignedBlockByHash failed"), + }, + { + name: "500 - get block by seq error", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - GetSignedBlockBySeq failed", + seqStr: "1", + seq: 1, + gatewayGetBlockBySeqErr: errors.New("GetSignedBlockBySeq failed"), }, { name: "200 - got block by seq", @@ -165,7 +160,29 @@ func TestGetBlock(t *testing.T) { status: http.StatusOK, seqStr: "1", seq: 1, - gatewayGetBlockBySeqExists: true, + gatewayGetBlockBySeqResult: &coin.SignedBlock{}, + response: &visor.ReadableBlock{ + Head: visor.ReadableBlockHeader{ + BkSeq: 0x0, + BlockHash: "7b8ec8dd836b564f0c85ad088fc744de820345204e154bc1503e04e9d6fdd9f1", + PreviousBlockHash: "0000000000000000000000000000000000000000000000000000000000000000", + Time: 0x0, + Fee: 0x0, + Version: 0x0, + BodyHash: "0000000000000000000000000000000000000000000000000000000000000000", + }, + Body: visor.ReadableBlockBody{ + Transactions: []visor.ReadableTransaction{}, + }, + }, + }, + { + name: "200 - got block by hash", + method: http.MethodGet, + status: http.StatusOK, + hash: validHashString, + sha256: validSHA256, + gatewayGetBlockByHashResult: &coin.SignedBlock{}, response: &visor.ReadableBlock{ Head: visor.ReadableBlockHeader{ BkSeq: 0x0, @@ -187,10 +204,11 @@ func TestGetBlock(t *testing.T) { t.Run(tc.name, func(t *testing.T) { gateway := &GatewayerMock{} - gateway.On("GetBlockByHash", tc.sha256).Return(tc.gatewayGetBlockByHashResult, tc.gatewayGetBlockByHashExists) - gateway.On("GetBlockBySeq", tc.seq).Return(tc.gatewayGetBlockBySeqResult, tc.gatewayGetBlockBySeqExists) + gateway.On("GetSignedBlockByHash", tc.sha256).Return(tc.gatewayGetBlockByHashResult, tc.gatewayGetBlockByHashErr) + gateway.On("GetSignedBlockBySeq", tc.seq).Return(tc.gatewayGetBlockBySeqResult, tc.gatewayGetBlockBySeqErr) + gateway.On("IsCSPEnabled").Return(false) - endpoint := "/block" + endpoint := "/api/v1/block" v := url.Values{} if tc.hash != "" { @@ -315,8 +333,9 @@ func TestGetBlocks(t *testing.T) { t.Run(tc.name, func(t *testing.T) { gateway := &GatewayerMock{} gateway.On("GetBlocks", tc.start, tc.end).Return(tc.gatewayGetBlocksResult, tc.gatewayGetBlocksError) + gateway.On("IsCSPEnabled").Return(false) - endpoint := "/blocks" + endpoint := "/api/v1/blocks" v := url.Values{} if tc.body != nil { @@ -427,10 +446,11 @@ func TestGetLastBlocks(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/last_blocks" + endpoint := "/api/v1/last_blocks" gateway := NewGatewayerMock() gateway.On("GetLastBlocks", tc.num).Return(tc.gatewayGetLastBlocksResult, tc.gatewayGetLastBlocksError) + gateway.On("IsCSPEnabled").Return(false) v := url.Values{} if tc.body.Num != "" { diff --git a/src/api/cli/integration/test-fixtures/status-use-csrf.golden b/src/api/cli/integration/test-fixtures/status-use-csrf.golden deleted file mode 100755 index c85bff0..0000000 --- a/src/api/cli/integration/test-fixtures/status-use-csrf.golden +++ /dev/null @@ -1,8 +0,0 @@ -{ - "running": true, - "num_of_blocks": 181, - "hash_of_last_block": "63614fdf08b67fcfc99d7b43d115fb9f57eb5c6833acdbdc712ee361f391f292", - "time_since_last_block": "", - "webrpc_address": "http://127.0.0.1:46420", - "use_csrf": true -} diff --git a/src/gui/client.go b/src/api/client.go similarity index 57% rename from src/gui/client.go rename to src/api/client.go index beedfb3..fc196fb 100755 --- a/src/gui/client.go +++ b/src/api/client.go @@ -1,4 +1,4 @@ -package gui +package api import ( "bytes" @@ -25,17 +25,23 @@ const ( tlsHandshakeTimeout = 60 * time.Second ) -// APIError is used for non-200 API responses -type APIError struct { +// ClientError is used for non-200 API responses +type ClientError struct { Status string StatusCode int Message string } -func (e APIError) Error() string { +func (e ClientError) Error() string { return e.Message } +// ReceivedHTTPResponse parsed a HTTPResponse received by the Client, for the V2 API +type ReceivedHTTPResponse struct { + Error *HTTPError `json:"error,omitempty"` + Data json.RawMessage `json:"data"` +} + // Client provides an interface to a remote node's HTTP API type Client struct { HTTPClient *http.Client @@ -79,7 +85,7 @@ func (c *Client) Get(endpoint string, obj interface{}) error { return err } - return APIError{ + return ClientError{ Status: resp.Status, StatusCode: resp.StatusCode, Message: string(body), @@ -106,21 +112,21 @@ func (c *Client) get(endpoint string) (*http.Response, error) { } // PostForm makes a POST request to an endpoint with body of "application/x-www-form-urlencoded" formated data. -func (c *Client) PostForm(endpoints string, body io.Reader, obj interface{}) error { - return c.post(endpoints, "application/x-www-form-urlencoded", body, obj) +func (c *Client) PostForm(endpoint string, body io.Reader, obj interface{}) error { + return c.post(endpoint, "application/x-www-form-urlencoded", body, obj) } // PostJSON makes a POST request to an endpoint with body of json data. -func (c *Client) PostJSON(endpoints string, reqObj, respObj interface{}) error { +func (c *Client) PostJSON(endpoint string, reqObj, respObj interface{}) error { body, err := json.Marshal(reqObj) if err != nil { return err } - return c.post(endpoints, "application/json", bytes.NewReader(body), respObj) + return c.post(endpoint, "application/json", bytes.NewReader(body), respObj) } -// Post makes a POST request to an endpoint. Caller must close response body. +// post makes a POST request to an endpoint. func (c *Client) post(endpoint string, contentType string, body io.Reader, obj interface{}) error { csrf, err := c.CSRF() if err != nil { @@ -154,7 +160,7 @@ func (c *Client) post(endpoint string, contentType string, body io.Reader, obj i return err } - return APIError{ + return ClientError{ Status: resp.Status, StatusCode: resp.StatusCode, Message: string(body), @@ -165,12 +171,97 @@ func (c *Client) post(endpoint string, contentType string, body io.Reader, obj i return nil } - return json.NewDecoder(resp.Body).Decode(obj) + decoder := json.NewDecoder(resp.Body) + decoder.DisallowUnknownFields() + return decoder.Decode(obj) +} + +// PostJSONV2 makes a POST request to an endpoint with body of json data, +// and parses the standard JSON response. +func (c *Client) PostJSONV2(endpoint string, reqObj, respObj interface{}) (bool, error) { + body, err := json.Marshal(reqObj) + if err != nil { + return false, err + } + + csrf, err := c.CSRF() + if err != nil { + return false, err + } + + endpoint = strings.TrimLeft(endpoint, "/") + endpoint = c.Addr + endpoint + + req, err := http.NewRequest(http.MethodPost, endpoint, bytes.NewReader(body)) + if err != nil { + return false, err + } + + if csrf != "" { + req.Header.Set(CSRFHeaderName, csrf) + } + + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Accept", "application/json") + + resp, err := c.HTTPClient.Do(req) + if err != nil { + return false, err + } + + defer resp.Body.Close() + + respBody, err := ioutil.ReadAll(resp.Body) + if err != nil { + return false, err + } + + decoder := json.NewDecoder(bytes.NewReader(respBody)) + decoder.DisallowUnknownFields() + + var wrapObj ReceivedHTTPResponse + if err := decoder.Decode(&wrapObj); err != nil { + // In some cases, the server can send an error response in a non-JSON format, + // such as a 404 when the endpoint is not registered, or if a 500 error + // occurs in the go HTTP stack, outside of the application's control. + // If this happens, treat the entire response body as the error message. + if resp.StatusCode != http.StatusOK { + return false, ClientError{ + Status: resp.Status, + StatusCode: resp.StatusCode, + Message: string(body), + } + } + + return false, err + } + + var rspErr error + if resp.StatusCode != http.StatusOK { + rspErr = ClientError{ + Status: resp.Status, + StatusCode: resp.StatusCode, + Message: wrapObj.Error.Message, + } + } + + if wrapObj.Data == nil { + return false, rspErr + } + + decoder = json.NewDecoder(bytes.NewReader(wrapObj.Data)) + decoder.DisallowUnknownFields() + + if err := decoder.Decode(respObj); err != nil { + return false, err + } + + return true, rspErr } // CSRF returns a CSRF token. If CSRF is disabled on the node, returns an empty string and nil error. func (c *Client) CSRF() (string, error) { - resp, err := c.get("/csrf") + resp, err := c.get("/api/v1/csrf") if err != nil { return "", err } @@ -188,7 +279,7 @@ func (c *Client) CSRF() (string, error) { return "", err } - return "", APIError{ + return "", ClientError{ Status: resp.Status, StatusCode: resp.StatusCode, Message: string(body), @@ -208,29 +299,29 @@ func (c *Client) CSRF() (string, error) { return token, nil } -// Version makes a request to /version +// Version makes a request to GET /api/v1/version func (c *Client) Version() (*visor.BuildInfo, error) { var bi visor.BuildInfo - if err := c.Get("/version", &bi); err != nil { + if err := c.Get("/api/v1/version", &bi); err != nil { return nil, err } return &bi, nil } -// Outputs makes a request to /outputs +// Outputs makes a request to GET /api/v1/outputs func (c *Client) Outputs() (*visor.ReadableOutputSet, error) { var o visor.ReadableOutputSet - if err := c.Get("/outputs", &o); err != nil { + if err := c.Get("/api/v1/outputs", &o); err != nil { return nil, err } return &o, nil } -// OutputsForAddresses makes a request to /outputs?addrs=xxx +// OutputsForAddresses makes a request to GET /api/v1/outputs?addrs=xxx func (c *Client) OutputsForAddresses(addrs []string) (*visor.ReadableOutputSet, error) { v := url.Values{} v.Add("addrs", strings.Join(addrs, ",")) - endpoint := "/outputs?" + v.Encode() + endpoint := "/api/v1/outputs?" + v.Encode() var o visor.ReadableOutputSet if err := c.Get(endpoint, &o); err != nil { @@ -239,11 +330,11 @@ func (c *Client) OutputsForAddresses(addrs []string) (*visor.ReadableOutputSet, return &o, nil } -// OutputsForHashes makes a request to /outputs?hashes=zzz +// OutputsForHashes makes a request to GET /api/v1/outputs?hashes=zzz func (c *Client) OutputsForHashes(hashes []string) (*visor.ReadableOutputSet, error) { v := url.Values{} v.Add("hashes", strings.Join(hashes, ",")) - endpoint := "/outputs?" + v.Encode() + endpoint := "/api/v1/outputs?" + v.Encode() var o visor.ReadableOutputSet if err := c.Get(endpoint, &o); err != nil { @@ -252,20 +343,20 @@ func (c *Client) OutputsForHashes(hashes []string) (*visor.ReadableOutputSet, er return &o, nil } -// CoinSupply makes a request to /coinSupply +// CoinSupply makes a request to GET /api/v1/coinSupply func (c *Client) CoinSupply() (*CoinSupply, error) { var cs CoinSupply - if err := c.Get("/coinSupply", &cs); err != nil { + if err := c.Get("/api/v1/coinSupply", &cs); err != nil { return nil, err } return &cs, nil } -// BlockByHash makes a request to /block?hash=xxx +// BlockByHash makes a request to GET /api/v1/block?hash=xxx func (c *Client) BlockByHash(hash string) (*visor.ReadableBlock, error) { v := url.Values{} v.Add("hash", hash) - endpoint := "/block?" + v.Encode() + endpoint := "/api/v1/block?" + v.Encode() var b visor.ReadableBlock if err := c.Get(endpoint, &b); err != nil { @@ -274,11 +365,11 @@ func (c *Client) BlockByHash(hash string) (*visor.ReadableBlock, error) { return &b, nil } -// BlockBySeq makes a request to /block?seq=xxx +// BlockBySeq makes a request to GET /api/v1/block?seq=xxx func (c *Client) BlockBySeq(seq uint64) (*visor.ReadableBlock, error) { v := url.Values{} v.Add("seq", fmt.Sprint(seq)) - endpoint := "/block?" + v.Encode() + endpoint := "/api/v1/block?" + v.Encode() var b visor.ReadableBlock if err := c.Get(endpoint, &b); err != nil { @@ -287,12 +378,12 @@ func (c *Client) BlockBySeq(seq uint64) (*visor.ReadableBlock, error) { return &b, nil } -// Blocks makes a request to /blocks +// Blocks makes a request to GET /api/v1/blocks func (c *Client) Blocks(start, end int) (*visor.ReadableBlocks, error) { v := url.Values{} v.Add("start", fmt.Sprint(start)) v.Add("end", fmt.Sprint(end)) - endpoint := "/blocks?" + v.Encode() + endpoint := "/api/v1/blocks?" + v.Encode() var b visor.ReadableBlocks if err := c.Get(endpoint, &b); err != nil { @@ -301,11 +392,11 @@ func (c *Client) Blocks(start, end int) (*visor.ReadableBlocks, error) { return &b, nil } -// LastBlocks makes a request to /last_blocks +// LastBlocks makes a request to GET /api/v1/last_blocks func (c *Client) LastBlocks(n int) (*visor.ReadableBlocks, error) { v := url.Values{} v.Add("num", fmt.Sprint(n)) - endpoint := "/last_blocks?" + v.Encode() + endpoint := "/api/v1/last_blocks?" + v.Encode() var b visor.ReadableBlocks if err := c.Get(endpoint, &b); err != nil { @@ -314,29 +405,29 @@ func (c *Client) LastBlocks(n int) (*visor.ReadableBlocks, error) { return &b, nil } -// BlockchainMetadata makes a request to /blockchain/metadata +// BlockchainMetadata makes a request to GET /api/v1/blockchain/metadata func (c *Client) BlockchainMetadata() (*visor.BlockchainMetadata, error) { var b visor.BlockchainMetadata - if err := c.Get("/blockchain/metadata", &b); err != nil { + if err := c.Get("/api/v1/blockchain/metadata", &b); err != nil { return nil, err } return &b, nil } -// BlockchainProgress makes a request to /blockchain/progress +// BlockchainProgress makes a request to GET /api/v1/blockchain/progress func (c *Client) BlockchainProgress() (*daemon.BlockchainProgress, error) { var b daemon.BlockchainProgress - if err := c.Get("/blockchain/progress", &b); err != nil { + if err := c.Get("/api/v1/blockchain/progress", &b); err != nil { return nil, err } return &b, nil } -// Balance makes a request to /balance?addrs=xxx +// Balance makes a request to GET /api/v1/balance?addrs=xxx func (c *Client) Balance(addrs []string) (*wallet.BalancePair, error) { v := url.Values{} v.Add("addrs", strings.Join(addrs, ",")) - endpoint := "/balance?" + v.Encode() + endpoint := "/api/v1/balance?" + v.Encode() var b wallet.BalancePair if err := c.Get(endpoint, &b); err != nil { @@ -345,11 +436,11 @@ func (c *Client) Balance(addrs []string) (*wallet.BalancePair, error) { return &b, nil } -// UxOut makes a request to /uxout?uxid=xxx +// UxOut makes a request to GET /api/v1/uxout?uxid=xxx func (c *Client) UxOut(uxID string) (*historydb.UxOutJSON, error) { v := url.Values{} v.Add("uxid", uxID) - endpoint := "/uxout?" + v.Encode() + endpoint := "/api/v1/uxout?" + v.Encode() var b historydb.UxOutJSON if err := c.Get(endpoint, &b); err != nil { @@ -358,11 +449,11 @@ func (c *Client) UxOut(uxID string) (*historydb.UxOutJSON, error) { return &b, nil } -// AddressUxOuts makes a request to /address_uxouts +// AddressUxOuts makes a request to GET /api/v1/address_uxouts func (c *Client) AddressUxOuts(addr string) ([]*historydb.UxOutJSON, error) { v := url.Values{} v.Add("address", addr) - endpoint := "/address_uxouts?" + v.Encode() + endpoint := "/api/v1/address_uxouts?" + v.Encode() var b []*historydb.UxOutJSON if err := c.Get(endpoint, &b); err != nil { @@ -371,11 +462,11 @@ func (c *Client) AddressUxOuts(addr string) ([]*historydb.UxOutJSON, error) { return b, nil } -// Wallet makes a request to /wallet +// Wallet makes a request to GET /api/v1/wallet func (c *Client) Wallet(id string) (*WalletResponse, error) { v := url.Values{} v.Add("id", id) - endpoint := "/wallet?" + v.Encode() + endpoint := "/api/v1/wallet?" + v.Encode() var wr WalletResponse if err := c.Get(endpoint, &wr); err != nil { @@ -385,18 +476,18 @@ func (c *Client) Wallet(id string) (*WalletResponse, error) { return &wr, nil } -// Wallets makes a request to /wallets +// Wallets makes a request to GET /api/v1/wallets func (c *Client) Wallets() ([]*WalletResponse, error) { var wrs []*WalletResponse - if err := c.Get("/wallets", &wrs); err != nil { + if err := c.Get("/api/v1/wallets", &wrs); err != nil { return nil, err } return wrs, nil } -// CreateUnencryptedWallet makes a request to /wallet/create and create -// a wallet without no encryption +// CreateUnencryptedWallet makes a request to POST /api/v1/wallet/create and creates +// a wallet without encryption. // If scanN is <= 0, the scan number defaults to 1 func (c *Client) CreateUnencryptedWallet(seed, label string, scanN int) (*WalletResponse, error) { v := url.Values{} @@ -409,13 +500,13 @@ func (c *Client) CreateUnencryptedWallet(seed, label string, scanN int) (*Wallet } var w WalletResponse - if err := c.PostForm("/wallet/create", strings.NewReader(v.Encode()), &w); err != nil { + if err := c.PostForm("/api/v1/wallet/create", strings.NewReader(v.Encode()), &w); err != nil { return nil, err } return &w, nil } -// CreateEncryptedWallet makes a request to /wallet/create and try to create +// CreateEncryptedWallet makes a request to POST /api/v1/wallet/create and try to create // a wallet with encryption. // If scanN is <= 0, the scan number defaults to 1 func (c *Client) CreateEncryptedWallet(seed, label, password string, scanN int) (*WalletResponse, error) { @@ -430,13 +521,13 @@ func (c *Client) CreateEncryptedWallet(seed, label, password string, scanN int) } var w WalletResponse - if err := c.PostForm("/wallet/create", strings.NewReader(v.Encode()), &w); err != nil { + if err := c.PostForm("/api/v1/wallet/create", strings.NewReader(v.Encode()), &w); err != nil { return nil, err } return &w, nil } -// NewWalletAddress makes a request to /wallet/newAddress +// NewWalletAddress makes a request to POST /api/v1/wallet/newAddress // if n is <= 0, defaults to 1 func (c *Client) NewWalletAddress(id string, n int, password string) ([]string, error) { v := url.Values{} @@ -450,26 +541,26 @@ func (c *Client) NewWalletAddress(id string, n int, password string) ([]string, var obj struct { Addresses []string `json:"addresses"` } - if err := c.PostForm("/wallet/newAddress", strings.NewReader(v.Encode()), &obj); err != nil { + if err := c.PostForm("/api/v1/wallet/newAddress", strings.NewReader(v.Encode()), &obj); err != nil { return nil, err } return obj.Addresses, nil } -// WalletBalance makes a request to /wallet/balance -func (c *Client) WalletBalance(id string) (*wallet.BalancePair, error) { +// WalletBalance makes a request to GET /api/v1/wallet/balance +func (c *Client) WalletBalance(id string) (*BalanceResponse, error) { v := url.Values{} v.Add("id", id) - endpoint := "/wallet/balance?" + v.Encode() + endpoint := "/api/v1/wallet/balance?" + v.Encode() - var b wallet.BalancePair + var b BalanceResponse if err := c.Get(endpoint, &b); err != nil { return nil, err } return &b, nil } -// Spend makes a request to /wallet/spend +// Spend makes a request to POST /api/v1/wallet/spend func (c *Client) Spend(id, dst string, coins uint64, password string) (*SpendResult, error) { v := url.Values{} v.Add("id", id) @@ -478,7 +569,7 @@ func (c *Client) Spend(id, dst string, coins uint64, password string) (*SpendRes v.Add("password", password) var r SpendResult - endpoint := "/wallet/spend" + endpoint := "/api/v1/wallet/spend" if err := c.PostForm(endpoint, strings.NewReader(v.Encode()), &r); err != nil { return nil, err } @@ -488,15 +579,17 @@ func (c *Client) Spend(id, dst string, coins uint64, password string) (*SpendRes // CreateTransactionRequest is sent to /wallet/transaction type CreateTransactionRequest struct { - HoursSelection HoursSelection `json:"hours_selection"` - Wallet CreateTransactionRequestWallet `json:"wallet"` - ChangeAddress string `json:"change_address"` - To []Receiver `json:"to"` + IgnoreUnconfirmed bool `json:"ignore_unconfirmed"` + HoursSelection HoursSelection `json:"hours_selection"` + Wallet CreateTransactionRequestWallet `json:"wallet"` + ChangeAddress *string `json:"change_address,omitempty"` + To []Receiver `json:"to"` } // CreateTransactionRequestWallet defines a wallet to spend from and optionally which addresses in the wallet type CreateTransactionRequestWallet struct { ID string `json:"id"` + UxOuts []string `json:"unspents,omitempty"` Addresses []string `json:"addresses,omitempty"` Password string `json:"password"` } @@ -515,10 +608,10 @@ type Receiver struct { Hours string `json:"hours,omitempty"` } -// CreateTransaction makes a request to POST /wallet/transaction +// CreateTransaction makes a request to POST /api/v1/wallet/transaction func (c *Client) CreateTransaction(req CreateTransactionRequest) (*CreateTransactionResponse, error) { var r CreateTransactionResponse - endpoint := "/wallet/transaction" + endpoint := "/api/v1/wallet/transaction" if err := c.PostJSON(endpoint, req, &r); err != nil { return nil, err } @@ -526,11 +619,11 @@ func (c *Client) CreateTransaction(req CreateTransactionRequest) (*CreateTransac return &r, nil } -// WalletTransactions makes a request to /wallet/transactions +// WalletTransactions makes a request to GET /api/v1/wallet/transactions func (c *Client) WalletTransactions(id string) (*UnconfirmedTxnsResponse, error) { v := url.Values{} v.Add("id", id) - endpoint := "/wallet/transactions?" + v.Encode() + endpoint := "/api/v1/wallet/transactions?" + v.Encode() var utx *UnconfirmedTxnsResponse if err := c.Get(endpoint, &utx); err != nil { @@ -539,30 +632,30 @@ func (c *Client) WalletTransactions(id string) (*UnconfirmedTxnsResponse, error) return utx, nil } -// UpdateWallet makes a request to /wallet/update +// UpdateWallet makes a request to POST /api/v1/wallet/update func (c *Client) UpdateWallet(id, label string) error { v := url.Values{} v.Add("id", id) v.Add("label", label) - return c.PostForm("/wallet/update", strings.NewReader(v.Encode()), nil) + return c.PostForm("/api/v1/wallet/update", strings.NewReader(v.Encode()), nil) } -// WalletFolderName makes a request to /wallets/folderName +// WalletFolderName makes a request to GET /api/v1/wallets/folderName func (c *Client) WalletFolderName() (*WalletFolder, error) { var w WalletFolder - if err := c.Get("/wallets/folderName", &w); err != nil { + if err := c.Get("/api/v1/wallets/folderName", &w); err != nil { return nil, err } return &w, nil } -// NewSeed makes a request to /wallet/newSeed +// NewSeed makes a request to GET /api/v1/wallet/newSeed // entropy must be 128 or 256 func (c *Client) NewSeed(entropy int) (string, error) { v := url.Values{} v.Add("entropy", fmt.Sprint(entropy)) - endpoint := "/wallet/newSeed?" + v.Encode() + endpoint := "/api/v1/wallet/newSeed?" + v.Encode() var r struct { Seed string `json:"seed"` @@ -573,7 +666,7 @@ func (c *Client) NewSeed(entropy int) (string, error) { return r.Seed, nil } -// GetWalletSeed makes a request to /wallet/seed +// GetWalletSeed makes a request to POST /api/v1/wallet/seed func (c *Client) GetWalletSeed(id string, password string) (string, error) { v := url.Values{} v.Add("id", id) @@ -582,18 +675,18 @@ func (c *Client) GetWalletSeed(id string, password string) (string, error) { var r struct { Seed string `json:"seed"` } - if err := c.PostForm("/wallet/seed", strings.NewReader(v.Encode()), &r); err != nil { + if err := c.PostForm("/api/v1/wallet/seed", strings.NewReader(v.Encode()), &r); err != nil { return "", err } return r.Seed, nil } -// NetworkConnection makes a request to /network/connection +// NetworkConnection makes a request to GET /api/v1/network/connection func (c *Client) NetworkConnection(addr string) (*daemon.Connection, error) { v := url.Values{} v.Add("addr", addr) - endpoint := "/network/connection?" + v.Encode() + endpoint := "/api/v1/network/connection?" + v.Encode() var dc daemon.Connection if err := c.Get(endpoint, &dc); err != nil { @@ -602,56 +695,56 @@ func (c *Client) NetworkConnection(addr string) (*daemon.Connection, error) { return &dc, nil } -// NetworkConnections makes a request to /network/connections -func (c *Client) NetworkConnections() (*daemon.Connections, error) { - var dc daemon.Connections - if err := c.Get("/network/connections", &dc); err != nil { +// NetworkConnections makes a request to GET /api/v1/network/connections +func (c *Client) NetworkConnections() (*Connections, error) { + var dc Connections + if err := c.Get("/api/v1/network/connections", &dc); err != nil { return nil, err } return &dc, nil } -// NetworkDefaultConnections makes a request to /network/defaultConnections +// NetworkDefaultConnections makes a request to GET /api/v1/network/defaultConnections func (c *Client) NetworkDefaultConnections() ([]string, error) { var dc []string - if err := c.Get("/network/defaultConnections", &dc); err != nil { + if err := c.Get("/api/v1/network/defaultConnections", &dc); err != nil { return nil, err } return dc, nil } -// NetworkTrustedConnections makes a request to /network/connections/trust +// NetworkTrustedConnections makes a request to GET /api/v1/network/connections/trust func (c *Client) NetworkTrustedConnections() ([]string, error) { var dc []string - if err := c.Get("/network/connections/trust", &dc); err != nil { + if err := c.Get("/api/v1/network/connections/trust", &dc); err != nil { return nil, err } return dc, nil } -// NetworkExchangeableConnections makes a request to /network/connections/exchange +// NetworkExchangeableConnections makes a request to GET /api/v1/network/connections/exchange func (c *Client) NetworkExchangeableConnections() ([]string, error) { var dc []string - if err := c.Get("/network/connections/exchange", &dc); err != nil { + if err := c.Get("/api/v1/network/connections/exchange", &dc); err != nil { return nil, err } return dc, nil } -// PendingTransactions makes a request to /pendingTxs +// PendingTransactions makes a request to GET /api/v1/pendingTxs func (c *Client) PendingTransactions() ([]*visor.ReadableUnconfirmedTxn, error) { var v []*visor.ReadableUnconfirmedTxn - if err := c.Get("/pendingTxs", &v); err != nil { + if err := c.Get("/api/v1/pendingTxs", &v); err != nil { return nil, err } return v, nil } -// Transaction makes a request to /transaction +// Transaction makes a request to GET /api/v1/transaction func (c *Client) Transaction(txid string) (*daemon.TransactionResult, error) { v := url.Values{} v.Add("txid", txid) - endpoint := "/transaction?" + v.Encode() + endpoint := "/api/v1/transaction?" + v.Encode() var r daemon.TransactionResult if err := c.Get(endpoint, &r); err != nil { @@ -660,11 +753,11 @@ func (c *Client) Transaction(txid string) (*daemon.TransactionResult, error) { return &r, nil } -// Transactions makes a request to /transactions +// Transactions makes a request to GET /api/v1/transactions func (c *Client) Transactions(addrs []string) (*[]daemon.TransactionResult, error) { v := url.Values{} v.Add("addrs", strings.Join(addrs, ",")) - endpoint := "/transactions?" + v.Encode() + endpoint := "/api/v1/transactions?" + v.Encode() var r []daemon.TransactionResult if err := c.Get(endpoint, &r); err != nil { @@ -673,12 +766,12 @@ func (c *Client) Transactions(addrs []string) (*[]daemon.TransactionResult, erro return &r, nil } -// ConfirmedTransactions makes a request to /transactions?confirmed=true +// ConfirmedTransactions makes a request to GET /api/v1/transactions?confirmed=true func (c *Client) ConfirmedTransactions(addrs []string) (*[]daemon.TransactionResult, error) { v := url.Values{} v.Add("addrs", strings.Join(addrs, ",")) v.Add("confirmed", "true") - endpoint := "/transactions?" + v.Encode() + endpoint := "/api/v1/transactions?" + v.Encode() var r []daemon.TransactionResult if err := c.Get(endpoint, &r); err != nil { @@ -687,12 +780,12 @@ func (c *Client) ConfirmedTransactions(addrs []string) (*[]daemon.TransactionRes return &r, nil } -// UnconfirmedTransactions makes a request to /transactions?confirmed=false +// UnconfirmedTransactions makes a request to GET /api/v1/transactions?confirmed=false func (c *Client) UnconfirmedTransactions(addrs []string) (*[]daemon.TransactionResult, error) { v := url.Values{} v.Add("addrs", strings.Join(addrs, ",")) v.Add("confirmed", "false") - endpoint := "/transactions?" + v.Encode() + endpoint := "/api/v1/transactions?" + v.Encode() var r []daemon.TransactionResult if err := c.Get(endpoint, &r); err != nil { @@ -701,7 +794,7 @@ func (c *Client) UnconfirmedTransactions(addrs []string) (*[]daemon.TransactionR return &r, nil } -// InjectTransaction makes a request to /injectTransaction +// InjectTransaction makes a request to POST /api/v1/injectTransaction func (c *Client) InjectTransaction(rawTx string) (string, error) { v := struct { Rawtx string `json:"rawtx"` @@ -710,26 +803,26 @@ func (c *Client) InjectTransaction(rawTx string) (string, error) { } var txid string - if err := c.PostJSON("/injectTransaction", v, &txid); err != nil { + if err := c.PostJSON("/api/v1/injectTransaction", v, &txid); err != nil { return "", err } return txid, nil } -// ResendUnconfirmedTransactions makes a request to /resendUnconfirmedTxns +// ResendUnconfirmedTransactions makes a request to GET /api/v1/resendUnconfirmedTxns func (c *Client) ResendUnconfirmedTransactions() (*daemon.ResendResult, error) { var r daemon.ResendResult - if err := c.Get("/resendUnconfirmedTxns", &r); err != nil { + if err := c.Get("/api/v1/resendUnconfirmedTxns", &r); err != nil { return nil, err } return &r, nil } -// RawTransaction makes a request to /rawtx +// RawTransaction makes a request to GET /api/v1/rawtx func (c *Client) RawTransaction(txid string) (string, error) { v := url.Values{} v.Add("txid", txid) - endpoint := "/rawtx?" + v.Encode() + endpoint := "/api/v1/rawtx?" + v.Encode() var rawTx string if err := c.Get(endpoint, &rawTx); err != nil { @@ -738,13 +831,45 @@ func (c *Client) RawTransaction(txid string) (string, error) { return rawTx, nil } -// AddressTransactions makes a request to /explorer/address -func (c *Client) AddressTransactions(addr string) ([]ReadableTransaction, error) { +// VerifyTransaction makes a request to POST /api/v2/transaction/verify. +func (c *Client) VerifyTransaction(encodedTxn string) (*VerifyTxnResponse, error) { + req := VerifyTxnRequest{ + EncodedTransaction: encodedTxn, + } + + var rsp VerifyTxnResponse + ok, err := c.PostJSONV2("/api/v2/transaction/verify", req, &rsp) + if ok { + return &rsp, err + } + + return nil, err +} + +// VerifyAddress makes a request to POST /api/v2/address/verify +// The API may respond with an error but include data useful for processing, +// so both return values may be non-nil. +func (c *Client) VerifyAddress(addr string) (*VerifyAddressResponse, error) { + req := VerifyAddressRequest{ + Address: addr, + } + + var rsp VerifyAddressResponse + ok, err := c.PostJSONV2("/api/v2/address/verify", req, &rsp) + if ok { + return &rsp, err + } + + return nil, err +} + +// AddressTransactions makes a request to GET /api/v1/explorer/address +func (c *Client) AddressTransactions(addr string) ([]daemon.ReadableTransaction, error) { v := url.Values{} v.Add("address", addr) - endpoint := "/explorer/address?" + v.Encode() + endpoint := "/api/v1/explorer/address?" + v.Encode() - var b []ReadableTransaction + var b []daemon.ReadableTransaction if err := c.Get(endpoint, &b); err != nil { return nil, err } @@ -757,15 +882,15 @@ type RichlistParams struct { IncludeDistribution bool } -// Richlist makes a request to /richlist +// Richlist makes a request to GET /api/v1/richlist func (c *Client) Richlist(params *RichlistParams) (*Richlist, error) { - endpoint := "/richlist" + endpoint := "/api/v1/richlist" if params != nil { v := url.Values{} v.Add("n", fmt.Sprint(params.N)) v.Add("include-distribution", fmt.Sprint(params.IncludeDistribution)) - endpoint = "/richlist?" + v.Encode() + endpoint = "/api/v1/richlist?" + v.Encode() } var r Richlist @@ -775,55 +900,55 @@ func (c *Client) Richlist(params *RichlistParams) (*Richlist, error) { return &r, nil } -// AddressCount makes a request to /addresscount +// AddressCount makes a request to GET /api/v1/addresscount func (c *Client) AddressCount() (uint64, error) { var r struct { Count uint64 `json:"count"` } - if err := c.Get("/addresscount", &r); err != nil { + if err := c.Get("/api/v1/addresscount", &r); err != nil { return 0, err } return r.Count, nil } -// UnloadWallet makes a request to /wallet/unload +// UnloadWallet makes a request to POST /api/v1/wallet/unload func (c *Client) UnloadWallet(id string) error { v := url.Values{} v.Add("id", id) - return c.PostForm("/wallet/unload", strings.NewReader(v.Encode()), nil) + return c.PostForm("/api/v1/wallet/unload", strings.NewReader(v.Encode()), nil) } -// Health makes a request to /health +// Health makes a request to GET /api/v1/health func (c *Client) Health() (*HealthResponse, error) { var r HealthResponse - if err := c.Get("/health", &r); err != nil { + if err := c.Get("/api/v1/health", &r); err != nil { return nil, err } return &r, nil } -// EncryptWallet encrypts specific wallet with given password +// EncryptWallet makes a request to POST /api/v1/wallet/encrypt to encrypt a specific wallet with the given password func (c *Client) EncryptWallet(id string, password string) (*WalletResponse, error) { v := url.Values{} v.Add("id", id) v.Add("password", password) var wlt WalletResponse - if err := c.PostForm("/wallet/encrypt", strings.NewReader(v.Encode()), &wlt); err != nil { + if err := c.PostForm("/api/v1/wallet/encrypt", strings.NewReader(v.Encode()), &wlt); err != nil { return nil, err } return &wlt, nil } -// DecryptWallet decrypts wallet by making a request to /wallet/decrypt +// DecryptWallet makes a request to POST /api/v1/wallet/decrypt to decrypt a wallet func (c *Client) DecryptWallet(id string, password string) (*WalletResponse, error) { v := url.Values{} v.Add("id", id) v.Add("password", password) var wlt WalletResponse - if err := c.PostForm("/wallet/decrypt", strings.NewReader(v.Encode()), &wlt); err != nil { + if err := c.PostForm("/api/v1/wallet/decrypt", strings.NewReader(v.Encode()), &wlt); err != nil { return nil, err } diff --git a/src/gui/csrf.go b/src/api/csrf.go similarity index 97% rename from src/gui/csrf.go rename to src/api/csrf.go index 99ab84b..e0ee303 100755 --- a/src/gui/csrf.go +++ b/src/api/csrf.go @@ -1,4 +1,4 @@ -package gui +package api import ( "crypto/subtle" @@ -68,7 +68,6 @@ func (c *CSRFStore) setToken(token CSRFToken) { // expired checks if token expiry time is greater than current time func (c *CSRFStore) expired() bool { return c.token == nil || time.Now().After(c.token.ExpiresAt) - } // verifyToken checks that the given token is same as the internal token @@ -100,11 +99,11 @@ func (c *CSRFStore) verifyToken(headerToken string) error { } // Creates a new CSRF token. Previous CSRF tokens are invalidated by this call. -// URI: /csrf +// URI: /api/v1/csrf // Method: GET // Response: // csrf_token: CSRF token to use in POST requests -func getCSRFToken(gateway Gatewayer, store *CSRFStore) http.HandlerFunc { +func getCSRFToken(store *CSRFStore) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodGet { wh.Error405(w) diff --git a/src/gui/csrf_test.go b/src/api/csrf_test.go similarity index 81% rename from src/gui/csrf_test.go rename to src/api/csrf_test.go index f9a4916..29ce447 100755 --- a/src/gui/csrf_test.go +++ b/src/api/csrf_test.go @@ -1,4 +1,4 @@ -package gui +package api import ( "bytes" @@ -89,6 +89,50 @@ var endpoints = []string{ "/wallets", "/wallets/folderName", "/webrpc", + + "/api/v1/address_uxouts", + "/api/v1/addresscount", + "/api/v1/balance", + "/api/v1/block", + "/api/v1/blockchain/metadata", + "/api/v1/blockchain/progress", + "/api/v1/blocks", + "/api/v1/coinSupply", + "/api/v1/explorer/address", + "/api/v1/health", + "/api/v1/injectTransaction", + "/api/v1/last_blocks", + "/api/v1/version", + "/api/v1/network/connection", + "/api/v1/network/connections", + "/api/v1/network/connections/exchange", + "/api/v1/network/connections/trust", + "/api/v1/network/defaultConnections", + "/api/v1/outputs", + "/api/v1/pendingTxs", + "/api/v1/rawtx", + "/api/v1/richlist", + "/api/v1/resendUnconfirmedTxns", + "/api/v1/transaction", + "/api/v1/transactions", + "/api/v1/uxout", + "/api/v1/wallet", + "/api/v1/wallet/balance", + "/api/v1/wallet/create", + "/api/v1/wallet/newAddress", + "/api/v1/wallet/newSeed", + "/api/v1/wallet/seed", + "/api/v1/wallet/spend", + "/api/v1/wallet/transaction", + "/api/v1/wallet/transactions", + "/api/v1/wallet/unload", + "/api/v1/wallet/update", + "/api/v1/wallets", + "/api/v1/wallets/folderName", + "/api/v1/webrpc", + + "/api/v2/transaction/verify", + "/api/v2/address/verify", } func TestCSRFWrapper(t *testing.T) { @@ -101,6 +145,7 @@ func TestCSRFWrapper(t *testing.T) { name := fmt.Sprintf("%s %s %s", method, endpoint, c) t.Run(name, func(t *testing.T) { gateway := &GatewayerMock{} + gateway.On("IsCSPEnabled").Return(false) req, err := http.NewRequest(method, endpoint, nil) require.NoError(t, err) @@ -112,9 +157,10 @@ func TestCSRFWrapper(t *testing.T) { rr := httptest.NewRecorder() handler := newServerMux(muxConfig{ - host: configuredHost, - appLoc: ".", - enableJSON20RPC: true, + host: configuredHost, + appLoc: ".", + enableJSON20RPC: true, + enableUnversionedAPI: true, }, gateway, csrfStore, nil) handler.ServeHTTP(rr, req) @@ -149,6 +195,7 @@ func TestOriginRefererCheck(t *testing.T) { name := fmt.Sprintf("%s %s", tc.name, endpoint) t.Run(name, func(t *testing.T) { gateway := &GatewayerMock{} + gateway.On("IsCSPEnabled").Return(false) req, err := http.NewRequest(http.MethodGet, endpoint, nil) require.NoError(t, err) @@ -186,6 +233,7 @@ func TestHostCheck(t *testing.T) { for _, endpoint := range endpoints { t.Run(endpoint, func(t *testing.T) { gateway := &GatewayerMock{} + gateway.On("IsCSPEnabled").Return(false) req, err := http.NewRequest(http.MethodGet, endpoint, nil) require.NoError(t, err) @@ -221,8 +269,9 @@ func TestCSRF(t *testing.T) { updateWalletLabel := func(csrfToken string) *httptest.ResponseRecorder { gateway := &GatewayerMock{} gateway.On("UpdateWalletLabel", "fooid", "foolabel").Return(nil) + gateway.On("IsCSPEnabled").Return(false) - endpoint := "/wallet/update" + endpoint := "/api/v1/wallet/update" v := url.Values{} v.Add("id", "fooid") @@ -255,10 +304,11 @@ func TestCSRF(t *testing.T) { // Make a request to /csrf to get a token gateway := &GatewayerMock{} + gateway.On("IsCSPEnabled").Return(false) handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) // non-GET request to /csrf is invalid - req, err := http.NewRequest(http.MethodPost, "/csrf", nil) + req, err := http.NewRequest(http.MethodPost, "/api/v1/csrf", nil) require.NoError(t, err) rr = httptest.NewRecorder() @@ -270,7 +320,7 @@ func TestCSRF(t *testing.T) { // CSRF disabled 404s csrfStore.Enabled = false - req, err = http.NewRequest(http.MethodGet, "/csrf", nil) + req, err = http.NewRequest(http.MethodGet, "/api/v1/csrf", nil) require.NoError(t, err) rr = httptest.NewRecorder() @@ -282,7 +332,7 @@ func TestCSRF(t *testing.T) { csrfStore.Enabled = true // Request a CSRF token, use it in a request - req, err = http.NewRequest(http.MethodGet, "/csrf", nil) + req, err = http.NewRequest(http.MethodGet, "/api/v1/csrf", nil) require.NoError(t, err) rr = httptest.NewRecorder() @@ -297,7 +347,7 @@ func TestCSRF(t *testing.T) { token := msg["csrf_token"] require.NotEmpty(t, token) - req, err = http.NewRequest(http.MethodPost, "/version", nil) + req, err = http.NewRequest(http.MethodPost, "/api/v1/version", nil) require.NoError(t, err) rr = httptest.NewRecorder() @@ -309,7 +359,7 @@ func TestCSRF(t *testing.T) { // Make another call to /csrf, this will invalidate the first token // Request a CSRF token, use it in a request - req, err = http.NewRequest(http.MethodGet, "/csrf", nil) + req, err = http.NewRequest(http.MethodGet, "/api/v1/csrf", nil) require.NoError(t, err) rr = httptest.NewRecorder() diff --git a/src/gui/explorer.go b/src/api/explorer.go similarity index 76% rename from src/gui/explorer.go rename to src/api/explorer.go index dd5a9fc..a0fb19d 100755 --- a/src/gui/explorer.go +++ b/src/api/explorer.go @@ -1,4 +1,4 @@ -package gui +package api import ( "fmt" @@ -165,51 +165,14 @@ func getTransactionsForAddress(gateway Gatewayer) http.HandlerFunc { return } - txns, err := gateway.GetAddressTxns(cipherAddr) + txns, err := gateway.GetTransactionsForAddress(cipherAddr) if err != nil { - err = fmt.Errorf("gateway.GetAddressTxns failed: %v", err) + err = fmt.Errorf("gateway.GetTransactionsForAddress failed: %v", err) wh.Error500(w, err.Error()) return } - resTxs := make([]ReadableTransaction, 0, len(txns.Txns)) - - for _, tx := range txns.Txns { - in := make([]visor.ReadableTransactionInput, len(tx.Transaction.In)) - for i := range tx.Transaction.In { - id, err := cipher.SHA256FromHex(tx.Transaction.In[i]) - if err != nil { - wh.Error500(w, err.Error()) - return - } - - uxout, err := gateway.GetUxOutByID(id) - if err != nil { - wh.Error500(w, err.Error()) - return - } - - if uxout == nil { - err := fmt.Errorf("uxout of %v does not exist in history db", id.Hex()) - wh.Error500(w, err.Error()) - return - } - - tIn, err := visor.NewReadableTransactionInput(tx.Transaction.In[i], uxout.Out.Body.Address.String(), uxout.Out.Body.Coins, uxout.Out.Body.Hours) - if err != nil { - wh.Error500(w, err.Error()) - return - } - - in[i] = *tIn - } - - rTx := NewReadableTransaction(tx, in) - - resTxs = append(resTxs, rTx) - } - - wh.SendJSONOr500(logger, w, &resTxs) + wh.SendJSONOr500(logger, w, txns) } } @@ -287,33 +250,3 @@ func getAddressCount(gateway Gatewayer) http.HandlerFunc { wh.SendJSONOr500(logger, w, &map[string]uint64{"count": addrCount}) } } - -// ReadableTransaction represents readable address transaction -type ReadableTransaction struct { - Status visor.TransactionStatus `json:"status"` - Length uint32 `json:"length"` - Type uint8 `json:"type"` - Hash string `json:"txid"` - InnerHash string `json:"inner_hash"` - Timestamp uint64 `json:"timestamp,omitempty"` - - Sigs []string `json:"sigs"` - In []visor.ReadableTransactionInput `json:"inputs"` - Out []visor.ReadableTransactionOutput `json:"outputs"` -} - -// NewReadableTransaction creates readable address transaction -func NewReadableTransaction(t daemon.TransactionResult, inputs []visor.ReadableTransactionInput) ReadableTransaction { - return ReadableTransaction{ - Status: t.Status, - Length: t.Transaction.Length, - Type: t.Transaction.Type, - Hash: t.Transaction.Hash, - InnerHash: t.Transaction.InnerHash, - Timestamp: t.Time, - - Sigs: t.Transaction.Sigs, - In: inputs, - Out: t.Transaction.Out, - } -} diff --git a/src/gui/explorer_test.go b/src/api/explorer_test.go similarity index 82% rename from src/gui/explorer_test.go rename to src/api/explorer_test.go index 11eea6e..2ba3aac 100755 --- a/src/gui/explorer_test.go +++ b/src/api/explorer_test.go @@ -1,4 +1,4 @@ -package gui +package api import ( "errors" @@ -16,12 +16,10 @@ import ( "strconv" - "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/daemon" "github.com/skycoin/skycoin/src/testutil" "github.com/skycoin/skycoin/src/util/droplet" "github.com/skycoin/skycoin/src/visor" - "github.com/skycoin/skycoin/src/visor/historydb" ) func makeSuccessCoinSupplyResult(t *testing.T, allUnspents visor.ReadableOutputSet) *CoinSupply { @@ -95,21 +93,16 @@ func makeSuccessCoinSupplyResult(t *testing.T, allUnspents visor.ReadableOutputS func TestGetTransactionsForAddress(t *testing.T) { address := testutil.MakeAddress() successAddress := "111111111111111111111691FSP" - invalidHash := "cafcb" validHash := "79216473e8f2c17095c6887cc9edca6c023afedfac2e0c5460e8b6f359684f8b" tt := []struct { - name string - method string - status int - err string - addressParam string - gatewayGetAddressTxnsResult *daemon.TransactionResults - gatewayGetAddressTxnsErr error - gatewayGetUxOutByIDArg cipher.SHA256 - gatewayGetUxOutByIDResult *historydb.UxOut - gatewayGetUxOutByIDErr error - result []ReadableTransaction - csrfDisabled bool + name string + method string + status int + err string + addressParam string + gatewayGetTransactionsForAddressErr error + result []daemon.ReadableTransaction + csrfDisabled bool }{ { name: "405", @@ -133,89 +126,19 @@ func TestGetTransactionsForAddress(t *testing.T) { addressParam: "badAddress", }, { - name: "500 - gw GetAddressTxns error", - method: http.MethodGet, - status: http.StatusInternalServerError, - err: "500 Internal Server Error - gateway.GetAddressTxns failed: gatewayGetAddressTxnsErr", - addressParam: address.String(), - gatewayGetAddressTxnsErr: errors.New("gatewayGetAddressTxnsErr"), - }, - { - name: "500 - cipher.SHA256FromHex(tx.Transaction.In) error", - method: http.MethodGet, - status: http.StatusInternalServerError, - err: "500 Internal Server Error - encoding/hex: odd length hex string", - addressParam: address.String(), - gatewayGetAddressTxnsResult: &daemon.TransactionResults{ - Txns: []daemon.TransactionResult{ - { - Transaction: visor.ReadableTransaction{ - In: []string{ - invalidHash, - }, - }, - }, - }, - }, - }, - { - name: "500 - GetUxOutByID error", - method: http.MethodGet, - status: http.StatusInternalServerError, - err: "500 Internal Server Error - gatewayGetUxOutByIDErr", - addressParam: address.String(), - gatewayGetAddressTxnsResult: &daemon.TransactionResults{ - Txns: []daemon.TransactionResult{ - { - Transaction: visor.ReadableTransaction{ - In: []string{ - validHash, - }, - }, - }, - }, - }, - gatewayGetUxOutByIDArg: testutil.SHA256FromHex(t, validHash), - gatewayGetUxOutByIDErr: errors.New("gatewayGetUxOutByIDErr"), - }, - { - name: "500 - GetUxOutByID nil result", - method: http.MethodGet, - status: http.StatusInternalServerError, - err: "500 Internal Server Error - uxout of 79216473e8f2c17095c6887cc9edca6c023afedfac2e0c5460e8b6f359684f8b does not exist in history db", - addressParam: address.String(), - gatewayGetAddressTxnsResult: &daemon.TransactionResults{ - Txns: []daemon.TransactionResult{ - { - Transaction: visor.ReadableTransaction{ - In: []string{ - validHash, - }, - }, - }, - }, - }, - gatewayGetUxOutByIDArg: testutil.SHA256FromHex(t, validHash), + name: "500 - gw GetTransactionsForAddress error", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - gateway.GetTransactionsForAddress failed: gatewayGetTransactionsForAddressErr", + addressParam: address.String(), + gatewayGetTransactionsForAddressErr: errors.New("gatewayGetTransactionsForAddressErr"), }, { name: "200", method: http.MethodGet, status: http.StatusOK, addressParam: address.String(), - gatewayGetAddressTxnsResult: &daemon.TransactionResults{ - Txns: []daemon.TransactionResult{ - { - Transaction: visor.ReadableTransaction{ - In: []string{ - validHash, - }, - }, - }, - }, - }, - gatewayGetUxOutByIDArg: testutil.SHA256FromHex(t, validHash), - gatewayGetUxOutByIDResult: &historydb.UxOut{}, - result: []ReadableTransaction{ + result: []daemon.ReadableTransaction{ { In: []visor.ReadableTransactionInput{ { @@ -232,10 +155,10 @@ func TestGetTransactionsForAddress(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/explorer/address" + endpoint := "/api/v1/explorer/address" gateway := NewGatewayerMock() - gateway.On("GetAddressTxns", address).Return(tc.gatewayGetAddressTxnsResult, tc.gatewayGetAddressTxnsErr) - gateway.On("GetUxOutByID", tc.gatewayGetUxOutByIDArg).Return(tc.gatewayGetUxOutByIDResult, tc.gatewayGetUxOutByIDErr) + gateway.On("GetTransactionsForAddress", address).Return(tc.result, tc.gatewayGetTransactionsForAddressErr) + gateway.On("IsCSPEnabled").Return(false) v := url.Values{} if tc.addressParam != "" { @@ -267,7 +190,7 @@ func TestGetTransactionsForAddress(t *testing.T) { require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) } else { - var msg []ReadableTransaction + var msg []daemon.ReadableTransaction err = json.Unmarshal(rr.Body.Bytes(), &msg) require.NoError(t, err) require.Equal(t, tc.result, msg) @@ -363,9 +286,10 @@ func TestCoinSupply(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/coinSupply" + endpoint := "/api/v1/coinSupply" gateway := NewGatewayerMock() gateway.On("GetUnspentOutputs", mock.Anything).Return(tc.gatewayGetUnspentOutputsResult, tc.gatewayGetUnspentOutputsErr) + gateway.On("IsCSPEnabled").Return(false) req, err := http.NewRequest(tc.method, endpoint, nil) require.NoError(t, err) @@ -575,9 +499,10 @@ func TestGetRichlist(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/richlist" + endpoint := "/api/v1/richlist" gateway := NewGatewayerMock() gateway.On("GetRichlist", tc.includeDistribution).Return(tc.gatewayGetRichlistResult, tc.gatewayGetRichlistErr) + gateway.On("IsCSPEnabled").Return(false) v := url.Values{} if tc.httpParams != nil { @@ -663,9 +588,10 @@ func TestGetAddressCount(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/addresscount" + endpoint := "/api/v1/addresscount" gateway := NewGatewayerMock() gateway.On("GetAddressCount").Return(tc.gatewayGetAddressCountResult, tc.gatewayGetAddressCountErr) + gateway.On("IsCSPEnabled").Return(false) req, err := http.NewRequest(tc.method, endpoint, nil) require.NoError(t, err) diff --git a/src/gui/gateway.go b/src/api/gateway.go similarity index 79% rename from src/gui/gateway.go rename to src/api/gateway.go index e225eb9..ab634cf 100755 --- a/src/gui/gateway.go +++ b/src/api/gateway.go @@ -1,4 +1,4 @@ -package gui +package api import ( "github.com/skycoin/skycoin/src/cipher" @@ -16,7 +16,7 @@ import ( type Gatewayer interface { Spend(wltID string, password []byte, coins uint64, dest cipher.Address) (*coin.Transaction, error) CreateTransaction(w wallet.CreateTransactionParams) (*coin.Transaction, []wallet.UxBalance, error) - GetWalletBalance(wltID string) (wallet.BalancePair, error) + GetWalletBalance(wltID string) (wallet.BalancePair, wallet.AddressBalance, error) GetWallet(wltID string) (*wallet.Wallet, error) GetWallets() (wallet.Wallets, error) UpdateWalletLabel(wltID, label string) error @@ -28,30 +28,32 @@ type Gatewayer interface { EncryptWallet(wltID string, password []byte) (*wallet.Wallet, error) DecryptWallet(wltID string, password []byte) (*wallet.Wallet, error) GetWalletSeed(wltID string, password []byte) (string, error) - GetBlockByHash(hash cipher.SHA256) (block coin.SignedBlock, ok bool) - GetBlockBySeq(seq uint64) (block coin.SignedBlock, ok bool) + GetSignedBlockByHash(hash cipher.SHA256) (*coin.SignedBlock, error) + GetSignedBlockBySeq(seq uint64) (*coin.SignedBlock, error) GetBlocks(start, end uint64) (*visor.ReadableBlocks, error) GetLastBlocks(num uint64) (*visor.ReadableBlocks, error) GetBuildInfo() visor.BuildInfo GetUnspentOutputs(filters ...daemon.OutputsFilter) (*visor.ReadableOutputSet, error) GetBalanceOfAddrs(addrs []cipher.Address) ([]wallet.BalancePair, error) GetBlockchainMetadata() (*visor.BlockchainMetadata, error) - GetBlockchainProgress() *daemon.BlockchainProgress + GetBlockchainProgress() (*daemon.BlockchainProgress, error) GetConnection(addr string) *daemon.Connection GetConnections() *daemon.Connections GetDefaultConnections() []string GetTrustConnections() []string GetExchgConnection() []string - GetAllUnconfirmedTxns() []visor.UnconfirmedTxn + GetAllUnconfirmedTxns() ([]visor.UnconfirmedTxn, error) GetTransaction(txid cipher.SHA256) (*visor.Transaction, error) GetTransactions(flts ...visor.TxFilter) ([]visor.Transaction, error) InjectBroadcastTransaction(txn coin.Transaction) error - ResendUnconfirmedTxns() *daemon.ResendResult + ResendUnconfirmedTxns() (*daemon.ResendResult, error) GetUxOutByID(id cipher.SHA256) (*historydb.UxOut, error) GetAddrUxOuts(addr []cipher.Address) ([]*historydb.UxOut, error) - GetAddressTxns(a cipher.Address) (*daemon.TransactionResults, error) + GetTransactionsForAddress(a cipher.Address) ([]daemon.ReadableTransaction, error) GetRichlist(includeDistribution bool) (visor.Richlist, error) GetAddressCount() (uint64, error) GetHealth() (*daemon.Health, error) UnloadWallet(id string) error + VerifyTxnVerbose(txn *coin.Transaction) ([]wallet.UxBalance, bool, error) + IsCSPEnabled() bool } diff --git a/src/gui/gatewayer_mock_test.go b/src/api/gatewayer_mock_test.go similarity index 87% rename from src/gui/gatewayer_mock_test.go rename to src/api/gatewayer_mock_test.go index f4a0c2a..ce81229 100755 --- a/src/gui/gatewayer_mock_test.go +++ b/src/api/gatewayer_mock_test.go @@ -3,7 +3,7 @@ * THIS FILE MUST NEVER BE EDITED MANUALLY */ -package gui +package api import ( "fmt" @@ -198,15 +198,15 @@ func (m *GatewayerMock) GetAddressCount() (uint64, error) { } -// GetAddressTxns mocked method -func (m *GatewayerMock) GetAddressTxns(p0 cipher.Address) (*daemon.TransactionResults, error) { +// GetAllUnconfirmedTxns mocked method +func (m *GatewayerMock) GetAllUnconfirmedTxns() ([]visor.UnconfirmedTxn, error) { - ret := m.Called(p0) + ret := m.Called() - var r0 *daemon.TransactionResults + var r0 []visor.UnconfirmedTxn switch res := ret.Get(0).(type) { case nil: - case *daemon.TransactionResults: + case []visor.UnconfirmedTxn: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -225,24 +225,6 @@ func (m *GatewayerMock) GetAddressTxns(p0 cipher.Address) (*daemon.TransactionRe } -// GetAllUnconfirmedTxns mocked method -func (m *GatewayerMock) GetAllUnconfirmedTxns() []visor.UnconfirmedTxn { - - ret := m.Called() - - var r0 []visor.UnconfirmedTxn - switch res := ret.Get(0).(type) { - case nil: - case []visor.UnconfirmedTxn: - r0 = res - default: - panic(fmt.Sprintf("unexpected type: %v", res)) - } - - return r0 - -} - // GetBalanceOfAddrs mocked method func (m *GatewayerMock) GetBalanceOfAddrs(p0 []cipher.Address) ([]wallet.BalancePair, error) { @@ -270,60 +252,6 @@ func (m *GatewayerMock) GetBalanceOfAddrs(p0 []cipher.Address) ([]wallet.Balance } -// GetBlockByHash mocked method -func (m *GatewayerMock) GetBlockByHash(p0 cipher.SHA256) (coin.SignedBlock, bool) { - - ret := m.Called(p0) - - var r0 coin.SignedBlock - switch res := ret.Get(0).(type) { - case nil: - case coin.SignedBlock: - r0 = res - default: - panic(fmt.Sprintf("unexpected type: %v", res)) - } - - var r1 bool - switch res := ret.Get(1).(type) { - case nil: - case bool: - r1 = res - default: - panic(fmt.Sprintf("unexpected type: %v", res)) - } - - return r0, r1 - -} - -// GetBlockBySeq mocked method -func (m *GatewayerMock) GetBlockBySeq(p0 uint64) (coin.SignedBlock, bool) { - - ret := m.Called(p0) - - var r0 coin.SignedBlock - switch res := ret.Get(0).(type) { - case nil: - case coin.SignedBlock: - r0 = res - default: - panic(fmt.Sprintf("unexpected type: %v", res)) - } - - var r1 bool - switch res := ret.Get(1).(type) { - case nil: - case bool: - r1 = res - default: - panic(fmt.Sprintf("unexpected type: %v", res)) - } - - return r0, r1 - -} - // GetBlockchainMetadata mocked method func (m *GatewayerMock) GetBlockchainMetadata() (*visor.BlockchainMetadata, error) { @@ -352,7 +280,7 @@ func (m *GatewayerMock) GetBlockchainMetadata() (*visor.BlockchainMetadata, erro } // GetBlockchainProgress mocked method -func (m *GatewayerMock) GetBlockchainProgress() *daemon.BlockchainProgress { +func (m *GatewayerMock) GetBlockchainProgress() (*daemon.BlockchainProgress, error) { ret := m.Called() @@ -365,7 +293,16 @@ func (m *GatewayerMock) GetBlockchainProgress() *daemon.BlockchainProgress { panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 } @@ -567,6 +504,60 @@ func (m *GatewayerMock) GetRichlist(p0 bool) (visor.Richlist, error) { } +// GetSignedBlockByHash mocked method +func (m *GatewayerMock) GetSignedBlockByHash(p0 cipher.SHA256) (*coin.SignedBlock, error) { + + ret := m.Called(p0) + + var r0 *coin.SignedBlock + switch res := ret.Get(0).(type) { + case nil: + case *coin.SignedBlock: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetSignedBlockBySeq mocked method +func (m *GatewayerMock) GetSignedBlockBySeq(p0 uint64) (*coin.SignedBlock, error) { + + ret := m.Called(p0) + + var r0 *coin.SignedBlock + switch res := ret.Get(0).(type) { + case nil: + case *coin.SignedBlock: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + // GetTransaction mocked method func (m *GatewayerMock) GetTransaction(p0 cipher.SHA256) (*visor.Transaction, error) { @@ -621,6 +612,33 @@ func (m *GatewayerMock) GetTransactions(p0 ...visor.TxFilter) ([]visor.Transacti } +// GetTransactionsForAddress mocked method +func (m *GatewayerMock) GetTransactionsForAddress(p0 cipher.Address) ([]daemon.ReadableTransaction, error) { + + ret := m.Called(p0) + + var r0 []daemon.ReadableTransaction + switch res := ret.Get(0).(type) { + case nil: + case []daemon.ReadableTransaction: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + // GetTrustConnections mocked method func (m *GatewayerMock) GetTrustConnections() []string { @@ -721,7 +739,7 @@ func (m *GatewayerMock) GetWallet(p0 string) (*wallet.Wallet, error) { } // GetWalletBalance mocked method -func (m *GatewayerMock) GetWalletBalance(p0 string) (wallet.BalancePair, error) { +func (m *GatewayerMock) GetWalletBalance(p0 string) (wallet.BalancePair, wallet.AddressBalance, error) { ret := m.Called(p0) @@ -734,16 +752,25 @@ func (m *GatewayerMock) GetWalletBalance(p0 string) (wallet.BalancePair, error) panic(fmt.Sprintf("unexpected type: %v", res)) } - var r1 error + var r1 wallet.AddressBalance switch res := ret.Get(1).(type) { case nil: - case error: + case wallet.AddressBalance: r1 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0, r1 + var r2 error + switch res := ret.Get(2).(type) { + case nil: + case error: + r2 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1, r2 } @@ -873,6 +900,24 @@ func (m *GatewayerMock) InjectBroadcastTransaction(p0 coin.Transaction) error { } +// IsCSPEnabled mocked method +func (m *GatewayerMock) IsCSPEnabled() bool { + + ret := m.Called() + + var r0 bool + switch res := ret.Get(0).(type) { + case nil: + case bool: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + // IsWalletAPIEnabled mocked method func (m *GatewayerMock) IsWalletAPIEnabled() bool { @@ -919,7 +964,7 @@ func (m *GatewayerMock) NewAddresses(p0 string, p1 []byte, p2 uint64) ([]cipher. } // ResendUnconfirmedTxns mocked method -func (m *GatewayerMock) ResendUnconfirmedTxns() *daemon.ResendResult { +func (m *GatewayerMock) ResendUnconfirmedTxns() (*daemon.ResendResult, error) { ret := m.Called() @@ -932,7 +977,16 @@ func (m *GatewayerMock) ResendUnconfirmedTxns() *daemon.ResendResult { panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 } @@ -998,3 +1052,39 @@ func (m *GatewayerMock) UpdateWalletLabel(p0 string, p1 string) error { return r0 } + +// VerifyTxnVerbose mocked method +func (m *GatewayerMock) VerifyTxnVerbose(p0 *coin.Transaction) ([]wallet.UxBalance, bool, error) { + + ret := m.Called(p0) + + var r0 []wallet.UxBalance + switch res := ret.Get(0).(type) { + case nil: + case []wallet.UxBalance: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 bool + switch res := ret.Get(1).(type) { + case nil: + case bool: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r2 error + switch res := ret.Get(2).(type) { + case nil: + case error: + r2 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1, r2 + +} diff --git a/src/gui/health.go b/src/api/health.go similarity index 97% rename from src/gui/health.go rename to src/api/health.go index d560b1b..90cfacb 100755 --- a/src/gui/health.go +++ b/src/api/health.go @@ -1,4 +1,4 @@ -package gui +package api import ( "fmt" @@ -24,7 +24,7 @@ type HealthResponse struct { } // Returns node health data. -// URI: /health +// URI: /api/v1/health // Method: GET func healthCheck(gateway Gatewayer) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { diff --git a/src/gui/health_test.go b/src/api/health_test.go similarity index 97% rename from src/gui/health_test.go rename to src/api/health_test.go index c4f976e..3970890 100755 --- a/src/gui/health_test.go +++ b/src/api/health_test.go @@ -1,4 +1,4 @@ -package gui +package api import ( "errors" @@ -74,13 +74,15 @@ func TestHealthCheckHandler(t *testing.T) { } gateway := NewGatewayerMock() + gateway.On("IsCSPEnabled").Return(false) + if tc.getHealthErr != nil { gateway.On("GetHealth").Return(nil, tc.getHealthErr) } else { gateway.On("GetHealth").Return(health, nil) } - endpoint := "/health" + endpoint := "/api/v1/health" req, err := http.NewRequest(tc.method, endpoint, nil) require.NoError(t, err) @@ -91,7 +93,6 @@ func TestHealthCheckHandler(t *testing.T) { } handler := newServerMux(cfg, gateway, &CSRFStore{}, nil) handler.ServeHTTP(rr, req) - if tc.code != http.StatusOK { require.Equal(t, tc.code, rr.Code) return diff --git a/src/gui/http.go b/src/api/http.go similarity index 58% rename from src/gui/http.go rename to src/api/http.go index e151717..75512ce 100755 --- a/src/gui/http.go +++ b/src/api/http.go @@ -1,4 +1,4 @@ -package gui +package api import ( "crypto/tls" @@ -11,17 +11,18 @@ import ( "time" "unicode" + "github.com/NYTimes/gziphandler" + "github.com/skycoin/skycoin/src/api/webrpc" "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/daemon" "github.com/skycoin/skycoin/src/util/file" wh "github.com/skycoin/skycoin/src/util/http" "github.com/skycoin/skycoin/src/util/logging" - "github.com/skycoin/skycoin/src/wallet" ) var ( - logger = logging.MustGetLogger("gui") + logger = logging.MustGetLogger("api") ) const ( @@ -43,27 +44,54 @@ type Server struct { // Config configures Server type Config struct { - StaticDir string - DisableCSRF bool - EnableWalletAPI bool - EnableJSON20RPC bool - ReadTimeout time.Duration - WriteTimeout time.Duration - IdleTimeout time.Duration + StaticDir string + DisableCSRF bool + EnableWalletAPI bool + EnableJSON20RPC bool + EnableGUI bool + EnableUnversionedAPI bool + ReadTimeout time.Duration + WriteTimeout time.Duration + IdleTimeout time.Duration } type muxConfig struct { - host string - appLoc string - enableWalletAPI bool - enableJSON20RPC bool + host string + appLoc string + enableGUI bool + enableJSON20RPC bool + enableUnversionedAPI bool } -func create(host string, c Config, daemon *daemon.Daemon) (*Server, error) { - var appLoc string - if c.EnableWalletAPI { - logger.Info("Wallet API enabled") +// HTTPResponse represents the http response struct +type HTTPResponse struct { + Error *HTTPError `json:"error,omitempty"` + Data interface{} `json:"data,omitempty"` +} + +// HTTPError is included in an HTTPResponse +type HTTPError struct { + Message string `json:"message"` + Code int `json:"code"` +} + +// NewHTTPErrorResponse returns an HTTPResponse with the Error field populated +func NewHTTPErrorResponse(code int, msg string) HTTPResponse { + if msg == "" { + msg = http.StatusText(code) + } + + return HTTPResponse{ + Error: &HTTPError{ + Code: code, + Message: msg, + }, + } +} +func create(host string, c Config, gateway Gatewayer) (*Server, error) { + var appLoc string + if c.EnableGUI { var err error appLoc, err = file.DetermineResourcePath(c.StaticDir, resourceDir, devDir) if err != nil { @@ -83,7 +111,8 @@ func create(host string, c Config, daemon *daemon.Daemon) (*Server, error) { if c.EnableJSON20RPC { logger.Info("JSON 2.0 RPC enabled") var err error - rpc, err = webrpc.New(daemon.Gateway) + // TODO: change webprc to use http.Gatewayer + rpc, err = webrpc.New(gateway.(*daemon.Gateway)) if err != nil { return nil, err } @@ -100,13 +129,14 @@ func create(host string, c Config, daemon *daemon.Daemon) (*Server, error) { } mc := muxConfig{ - host: host, - appLoc: appLoc, - enableWalletAPI: c.EnableWalletAPI, - enableJSON20RPC: c.EnableJSON20RPC, + host: host, + appLoc: appLoc, + enableGUI: c.EnableGUI, + enableJSON20RPC: c.EnableJSON20RPC, + enableUnversionedAPI: c.EnableUnversionedAPI, } - srvMux := newServerMux(mc, daemon.Gateway, csrfStore, rpc) + srvMux := newServerMux(mc, gateway, csrfStore, rpc) srv := &http.Server{ Handler: srvMux, ReadTimeout: c.ReadTimeout, @@ -121,25 +151,32 @@ func create(host string, c Config, daemon *daemon.Daemon) (*Server, error) { } // Create creates a new Server instance that listens on HTTP -func Create(host string, c Config, daemon *daemon.Daemon) (*Server, error) { - s, err := create(host, c, daemon) +func Create(host string, c Config, gateway Gatewayer) (*Server, error) { + logger.Warning("HTTPS not in use!") + + listener, err := net.Listen("tcp", host) if err != nil { return nil, err } - logger.Warning("HTTPS not in use!") + // If the host did not specify a port, allowing the kernel to assign one, + // we need to get the assigned address to know the full hostname + host = listener.Addr().String() - s.listener, err = net.Listen("tcp", host) + s, err := create(host, c, gateway) if err != nil { + s.listener.Close() return nil, err } + s.listener = listener + return s, nil } // CreateHTTPS creates a new Server instance that listens on HTTPS -func CreateHTTPS(host string, c Config, daemon *daemon.Daemon, certFile, keyFile string) (*Server, error) { - s, err := create(host, c, daemon) +func CreateHTTPS(host string, c Config, gateway Gatewayer, certFile, keyFile string) (*Server, error) { + cert, err := tls.LoadX509KeyPair(certFile, keyFile) if err != nil { return nil, err } @@ -147,21 +184,33 @@ func CreateHTTPS(host string, c Config, daemon *daemon.Daemon, certFile, keyFile logger.Infof("Using %s for the certificate", certFile) logger.Infof("Using %s for the key", keyFile) - cert, err := tls.LoadX509KeyPair(certFile, keyFile) + listener, err := tls.Listen("tcp", host, &tls.Config{ + Certificates: []tls.Certificate{cert}, + }) if err != nil { return nil, err } - s.listener, err = tls.Listen("tcp", host, &tls.Config{ - Certificates: []tls.Certificate{cert}, - }) + // If the host did not specify a port, allowing the kernel to assign one, + // we need to get the assigned address to know the full hostname + host = listener.Addr().String() + + s, err := create(host, c, gateway) if err != nil { + s.listener.Close() return nil, err } + s.listener = listener + return s, nil } +// Addr returns the listening address of the Server +func (s *Server) Addr() string { + return s.listener.Addr().String() +} + // Serve serves the web interface on the configured host func (s *Server) Serve() error { logger.Infof("Starting web interface on %s", s.listener.Addr()) @@ -178,6 +227,10 @@ func (s *Server) Serve() error { // Shutdown closes the HTTP service. This can only be called after Serve or ServeHTTPS has been called. func (s *Server) Shutdown() { + if s == nil { + return + } + logger.Info("Shutting down web interface") defer logger.Info("Web interface shut down") s.listener.Close() @@ -195,40 +248,64 @@ func newServerMux(c muxConfig, gateway Gatewayer, csrfStore *CSRFStore, rpc *web } webHandler := func(endpoint string, handler http.Handler) { - handler = wh.ElapsedHandler(logger, handler) handler = CSRFCheck(csrfStore, handler) handler = headerCheck(c.host, handler) + handler = gziphandler.GzipHandler(handler) mux.Handle(endpoint, handler) } - if c.enableWalletAPI { - webHandler("/", newIndexHandler(c.appLoc)) + webHandlerV1 := func(endpoint string, handler http.Handler) { + if c.enableUnversionedAPI { + webHandler(endpoint, handler) + } + webHandler("/api/v1"+endpoint, handler) + } + + webHandlerV2 := func(endpoint string, handler http.Handler) { + webHandler("/api/v2"+endpoint, handler) + } + + indexHandler := newIndexHandler(c.appLoc, c.enableGUI) + if gateway.IsCSPEnabled() { + indexHandler = wh.CSPHandler(indexHandler) + } + webHandler("/", indexHandler) + if c.enableGUI { fileInfos, _ := ioutil.ReadDir(c.appLoc) + + fs := http.FileServer(http.Dir(c.appLoc)) + if gateway.IsCSPEnabled() { + fs = wh.CSPHandler(fs) + } + for _, fileInfo := range fileInfos { route := fmt.Sprintf("/%s", fileInfo.Name()) if fileInfo.IsDir() { route = route + "/" } - webHandler(route, http.FileServer(http.Dir(c.appLoc))) + + webHandler(route, fs) } } if c.enableJSON20RPC { - webHandler("/webrpc", http.HandlerFunc(rpc.Handler)) + webHandlerV1("/webrpc", http.HandlerFunc(rpc.Handler)) } // get the current CSRF token - mux.Handle("/csrf", headerCheck(c.host, getCSRFToken(gateway, csrfStore))) + csrfHandler := headerCheck(c.host, getCSRFToken(csrfStore)) + mux.Handle("/csrf", csrfHandler) + mux.Handle("/api/v1/csrf", csrfHandler) - webHandler("/version", versionHandler(gateway)) + webHandlerV1("/version", versionHandler(gateway)) // get set of unspent outputs - webHandler("/outputs", getOutputsHandler(gateway)) + webHandlerV1("/outputs", getOutputsHandler(gateway)) // get balance of addresses - webHandler("/balance", getBalanceHandler(gateway)) + webHandlerV1("/balance", getBalanceHandler(gateway)) // Wallet interface @@ -236,7 +313,7 @@ func newServerMux(c muxConfig, gateway Gatewayer, csrfStore *CSRFStore, rpc *web // Method: GET // Args: // id - Wallet ID [required] - webHandler("/wallet", walletGet(gateway)) + webHandlerV1("/wallet", walletGet(gateway)) // Loads wallet from seed, will scan ahead N address and // load addresses till the last one that have coins. @@ -245,16 +322,16 @@ func newServerMux(c muxConfig, gateway Gatewayer, csrfStore *CSRFStore, rpc *web // seed: wallet seed [required] // label: wallet label [required] // scan: the number of addresses to scan ahead for balances [optional, must be > 0] - webHandler("/wallet/create", walletCreate(gateway)) + webHandlerV1("/wallet/create", walletCreate(gateway)) - webHandler("/wallet/newAddress", walletNewAddresses(gateway)) + webHandlerV1("/wallet/newAddress", walletNewAddresses(gateway)) // Returns the confirmed and predicted balance for a specific wallet. // The predicted balance is the confirmed balance minus any pending // spent amount. // GET arguments: // id: Wallet ID - webHandler("/wallet/balance", walletBalanceHandler(gateway)) + webHandlerV1("/wallet/balance", walletBalanceHandler(gateway)) // Sends coins&hours to another address. // POST arguments: @@ -263,132 +340,145 @@ func newServerMux(c muxConfig, gateway Gatewayer, csrfStore *CSRFStore, rpc *web // dst: Destination address // Returns total amount spent if successful, otherwise error describing // failure status. - webHandler("/wallet/spend", walletSpendHandler(gateway)) + webHandlerV1("/wallet/spend", walletSpendHandler(gateway)) // Creates a transaction from a wallet - webHandler("/wallet/transaction", createTransactionHandler(gateway)) + webHandlerV1("/wallet/transaction", createTransactionHandler(gateway)) // GET Arguments: // id: Wallet ID // Returns all pending transanction for all addresses by selected Wallet - webHandler("/wallet/transactions", walletTransactionsHandler(gateway)) + webHandlerV1("/wallet/transactions", walletTransactionsHandler(gateway)) // Update wallet label // POST Arguments: // id: wallet id // label: wallet label - webHandler("/wallet/update", walletUpdateHandler(gateway)) + webHandlerV1("/wallet/update", walletUpdateHandler(gateway)) // Returns all loaded wallets // returns sensitive information - webHandler("/wallets", walletsHandler(gateway)) + webHandlerV1("/wallets", walletsHandler(gateway)) // Returns wallets directory path - webHandler("/wallets/folderName", getWalletFolder(gateway)) + webHandlerV1("/wallets/folderName", getWalletFolder(gateway)) // Generate wallet seed // GET Arguments: // entropy: entropy bitsize. - webHandler("/wallet/newSeed", newWalletSeed(gateway)) + webHandlerV1("/wallet/newSeed", newWalletSeed(gateway)) // Gets seed of wallet of given id // GET Arguments: // id: wallet id // password: wallet password - webHandler("/wallet/seed", walletSeedHandler(gateway)) + webHandlerV1("/wallet/seed", walletSeedHandler(gateway)) // unload wallet // POST Argument: // id: wallet id - webHandler("/wallet/unload", walletUnloadHandler(gateway)) + webHandlerV1("/wallet/unload", walletUnloadHandler(gateway)) // Encrypts wallet // POST arguments: // id: wallet id // password: wallet password // Returns an encrypted wallet json without sensitive data - webHandler("/wallet/encrypt", walletEncryptHandler(gateway)) + webHandlerV1("/wallet/encrypt", walletEncryptHandler(gateway)) // Decrypts wallet // POST arguments: // id: wallet id // password: wallet password - webHandler("/wallet/decrypt", walletDecryptHandler(gateway)) + webHandlerV1("/wallet/decrypt", walletDecryptHandler(gateway)) // Blockchain interface - webHandler("/blockchain/metadata", blockchainHandler(gateway)) - webHandler("/blockchain/progress", blockchainProgressHandler(gateway)) + webHandlerV1("/blockchain/metadata", blockchainHandler(gateway)) + webHandlerV1("/blockchain/progress", blockchainProgressHandler(gateway)) // get block by hash or seq - webHandler("/block", getBlock(gateway)) + webHandlerV1("/block", getBlock(gateway)) // get blocks in specific range - webHandler("/blocks", getBlocks(gateway)) + webHandlerV1("/blocks", getBlocks(gateway)) // get last N blocks - webHandler("/last_blocks", getLastBlocks(gateway)) + webHandlerV1("/last_blocks", getLastBlocks(gateway)) // Network stats interface - webHandler("/network/connection", connectionHandler(gateway)) - webHandler("/network/connections", connectionsHandler(gateway)) - webHandler("/network/defaultConnections", defaultConnectionsHandler(gateway)) - webHandler("/network/connections/trust", trustConnectionsHandler(gateway)) - webHandler("/network/connections/exchange", exchgConnectionsHandler(gateway)) + webHandlerV1("/network/connection", connectionHandler(gateway)) + webHandlerV1("/network/connections", connectionsHandler(gateway)) + webHandlerV1("/network/defaultConnections", defaultConnectionsHandler(gateway)) + webHandlerV1("/network/connections/trust", trustConnectionsHandler(gateway)) + webHandlerV1("/network/connections/exchange", exchgConnectionsHandler(gateway)) // Transaction handler // get set of pending transactions - webHandler("/pendingTxs", getPendingTxs(gateway)) + webHandlerV1("/pendingTxs", getPendingTxns(gateway)) // get txn by txid - webHandler("/transaction", getTransactionByID(gateway)) + webHandlerV1("/transaction", getTransactionByID(gateway)) + + // parse and verify transaction + webHandlerV2("/transaction/verify", verifyTxnHandler(gateway)) // Health check handler - webHandler("/health", healthCheck(gateway)) + webHandlerV1("/health", healthCheck(gateway)) // Returns transactions that match the filters. // Method: GET // Args: // addrs: Comma seperated addresses [optional, returns all transactions if no address is provided] // confirmed: Whether the transactions should be confirmed [optional, must be 0 or 1; if not provided, returns all] - webHandler("/transactions", getTransactions(gateway)) + webHandlerV1("/transactions", getTransactions(gateway)) // inject a transaction into network - webHandler("/injectTransaction", injectTransaction(gateway)) - webHandler("/resendUnconfirmedTxns", resendUnconfirmedTxns(gateway)) + webHandlerV1("/injectTransaction", injectTransaction(gateway)) + webHandlerV1("/resendUnconfirmedTxns", resendUnconfirmedTxns(gateway)) // get raw tx by txid. - webHandler("/rawtx", getRawTx(gateway)) + webHandlerV1("/rawtx", getRawTxn(gateway)) // UxOut api handler // get uxout by id. - webHandler("/uxout", getUxOutByID(gateway)) + webHandlerV1("/uxout", getUxOutByID(gateway)) // get all the address affected uxouts. - webHandler("/address_uxouts", getAddrUxOuts(gateway)) + webHandlerV1("/address_uxouts", getAddrUxOuts(gateway)) + + webHandlerV2("/address/verify", http.HandlerFunc(addressVerify)) // Explorer handler // get set of pending transactions - webHandler("/explorer/address", getTransactionsForAddress(gateway)) + webHandlerV1("/explorer/address", getTransactionsForAddress(gateway)) - webHandler("/coinSupply", getCoinSupply(gateway)) + webHandlerV1("/coinSupply", getCoinSupply(gateway)) - webHandler("/richlist", getRichlist(gateway)) + webHandlerV1("/richlist", getRichlist(gateway)) - webHandler("/addresscount", getAddressCount(gateway)) + webHandlerV1("/addresscount", getAddressCount(gateway)) return mux } // Returns a http.HandlerFunc for index.html, where index.html is in appLoc -func newIndexHandler(appLoc string) http.HandlerFunc { +func newIndexHandler(appLoc string, enableGUI bool) http.Handler { // Serves the main page - return func(w http.ResponseWriter, r *http.Request) { - page := filepath.Join(appLoc, indexPage) - logger.Debugf("Serving index page: %s", page) + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if !enableGUI { + wh.Error404(w, "") + return + } + + if r.URL.Path != "/" { + wh.Error404(w, "") + return + } + if r.URL.Path == "/" { + page := filepath.Join(appLoc, indexPage) + logger.Debugf("Serving index page: %s", page) http.ServeFile(w, r, page) - } else { - wh.Error404(w, "") } - } + }) } func splitCommaString(s string) []string { @@ -410,7 +500,7 @@ func splitCommaString(s string) []string { } // getOutputsHandler returns UxOuts filtered by a set of addresses or a set of hashes -// URI: /outputs +// URI: /api/v1/outputs // Method: GET // Args: // addrs: comma-separated list of addresses @@ -471,53 +561,6 @@ func getOutputsHandler(gateway Gatewayer) http.HandlerFunc { } } -func getBalanceHandler(gateway Gatewayer) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodGet { - wh.Error405(w) - return - } - - addrsParam := r.FormValue("addrs") - addrsStr := splitCommaString(addrsParam) - - addrs := make([]cipher.Address, 0, len(addrsStr)) - for _, addr := range addrsStr { - a, err := cipher.DecodeBase58Address(addr) - if err != nil { - wh.Error400(w, fmt.Sprintf("address %s is invalid: %v", addr, err)) - return - } - addrs = append(addrs, a) - } - - bals, err := gateway.GetBalanceOfAddrs(addrs) - if err != nil { - err = fmt.Errorf("gateway.GetBalanceOfAddrs failed: %v", err) - wh.Error500(w, err.Error()) - return - } - - var balance wallet.BalancePair - for _, bal := range bals { - var err error - balance.Confirmed, err = balance.Confirmed.Add(bal.Confirmed) - if err != nil { - wh.Error500(w, err.Error()) - return - } - - balance.Predicted, err = balance.Predicted.Add(bal.Predicted) - if err != nil { - wh.Error500(w, err.Error()) - return - } - } - - wh.SendJSONOr500(logger, w, balance) - } -} - func versionHandler(gateway Gatewayer) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodGet { diff --git a/src/gui/http_test.go b/src/api/http_test.go similarity index 65% rename from src/gui/http_test.go rename to src/api/http_test.go index 3d9a56f..35a0afc 100755 --- a/src/gui/http_test.go +++ b/src/api/http_test.go @@ -1,12 +1,15 @@ -package gui +package api import ( "encoding/json" + "fmt" + "io/ioutil" "math" "net/http" "net/http/httptest" "net/url" "strings" + "sync" "testing" "errors" @@ -85,8 +88,9 @@ func TestGetOutputsHandler(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { gateway := NewGatewayerMock() - endpoint := "/outputs" + endpoint := "/api/v1/outputs" gateway.On("GetUnspentOutputs", mock.Anything).Return(tc.getUnspentOutputsResponse, tc.getUnspentOutputsError) + gateway.On("IsCSPEnabled").Return(false) v := url.Values{} if tc.httpBody != nil { @@ -162,6 +166,13 @@ func TestGetBalanceHandler(t *testing.T) { addrs: invalidAddr, }, }, + { + name: "400 - no addresses", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - addrs is required", + httpBody: &httpBody{}, + }, { name: "500 - GetBalanceOfAddrsError", method: http.MethodGet, @@ -239,8 +250,9 @@ func TestGetBalanceHandler(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { gateway := NewGatewayerMock() - endpoint := "/balance" + endpoint := "/api/v1/balance" gateway.On("GetBalanceOfAddrs", tc.getBalanceOfAddrsArg).Return(tc.getBalanceOfAddrsResponse, tc.getBalanceOfAddrsError) + gateway.On("IsCSPEnabled").Return(false) v := url.Values{} if tc.httpBody != nil { @@ -276,3 +288,159 @@ func TestGetBalanceHandler(t *testing.T) { }) } } + +// TestEnableGUI tests enable gui option, EnableGUI isn't part of Gateway API, +// we can't control the output by mocking the Gateway like other tests. Instead, +// we create a full webserver for each test case. +func TestEnableGUI(t *testing.T) { + tt := []struct { + name string + enableGUI bool + endpoint string + appLoc string + expectCode int + expectBody string + }{ + { + name: "disable gui GET /", + enableGUI: false, + endpoint: "/", + appLoc: "", + expectCode: http.StatusNotFound, + expectBody: "404 Not Found\n", + }, + { + name: "disable gui GET /invalid-path", + enableGUI: false, + endpoint: "/invalid-path", + appLoc: "", + expectCode: http.StatusNotFound, + expectBody: "404 Not Found\n", + }, + { + name: "enable gui GET /", + enableGUI: true, + endpoint: "/", + appLoc: "../gui/static", + expectCode: http.StatusOK, + expectBody: "", + }, + { + name: "enable gui GET /invalid-path", + enableGUI: true, + endpoint: "/invalid-path", + appLoc: "../gui/static", + expectCode: http.StatusNotFound, + expectBody: "404 Not Found\n", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + req, err := http.NewRequest(http.MethodGet, tc.endpoint, nil) + require.NoError(t, err) + + gateway := NewGatewayerMock() + gateway.On("IsCSPEnabled").Return(false) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: tc.appLoc}, gateway, &CSRFStore{}, nil) + handler.ServeHTTP(rr, req) + + c := Config{ + EnableGUI: tc.enableGUI, + DisableCSRF: true, + StaticDir: tc.appLoc, + } + + host := "127.0.0.1:6423" + s, err := Create(host, c, gateway) + require.NoError(t, err) + + wg := sync.WaitGroup{} + wg.Add(1) + go func() { + defer wg.Done() + s.Serve() + }() + + defer func() { + s.listener.Close() + wg.Wait() + }() + + url := fmt.Sprintf("http://%s/%s", host, tc.endpoint) + rsp, err := http.Get(url) + require.NoError(t, err) + + defer rsp.Body.Close() + require.Equal(t, tc.expectCode, rsp.StatusCode) + + body, err := ioutil.ReadAll(rr.Body) + require.NoError(t, err) + + if rsp.StatusCode != http.StatusOK { + require.Equal(t, tc.expectBody, string(body)) + } + }) + } +} + +func TestContentSecurityPolicy(t *testing.T) { + tt := []struct { + name string + endpoint string + enableCSP bool + appLoc string + expectCSPHeader string + }{ + { + name: "enable CSP GET /", + endpoint: "/", + enableCSP: true, + appLoc: "../gui/static/dist", + expectCSPHeader: "script-src 'self' 127.0.0.1", + }, + { + name: "disable CSP GET /", + endpoint: "/", + enableCSP: false, + appLoc: "../gui/static/dist", + expectCSPHeader: "", + }, + { + // Confirms that the /csrf api won't be affected by the csp setting + name: "enable CSP GET /csrf", + endpoint: "/api/v1/csrf", + enableCSP: true, + appLoc: "", + expectCSPHeader: "", + }, + { + // Confirms that the /version api won't be affected by the csp setting + name: "enable CSP GET /version", + endpoint: "/api/v1/version", + enableCSP: true, + appLoc: "", + expectCSPHeader: "", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + req, err := http.NewRequest(http.MethodGet, tc.endpoint, nil) + require.NoError(t, err) + + gateway := NewGatewayerMock() + gateway.On("IsCSPEnabled").Return(tc.enableCSP) + gateway.On("GetBuildInfo").Return(visor.BuildInfo{}) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: tc.appLoc, enableGUI: true}, gateway, &CSRFStore{}, nil) + handler.ServeHTTP(rr, req) + + csp := rr.Header().Get("Content-Security-Policy") + require.Equal(t, tc.expectCSPHeader, csp) + }) + } +} diff --git a/src/api/cli/integration/empty.go b/src/api/integration/empty.go similarity index 100% rename from src/api/cli/integration/empty.go rename to src/api/integration/empty.go diff --git a/src/gui/integration/integration_test.go b/src/api/integration/integration_test.go similarity index 71% rename from src/gui/integration/integration_test.go rename to src/api/integration/integration_test.go index 044ba1c..4464146 100755 --- a/src/gui/integration/integration_test.go +++ b/src/api/integration/integration_test.go @@ -1,4 +1,4 @@ -// package integration_test implements GUI integration tests +// package integration_test implements API integration tests package integration_test import ( @@ -14,6 +14,7 @@ import ( "net/url" "os" "path/filepath" + "reflect" "sort" "strconv" "strings" @@ -22,10 +23,10 @@ import ( "github.com/stretchr/testify/require" + "github.com/skycoin/skycoin/src/api" "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/daemon" - "github.com/skycoin/skycoin/src/gui" "github.com/skycoin/skycoin/src/testutil" "github.com/skycoin/skycoin/src/util/droplet" //http,json helpers "github.com/skycoin/skycoin/src/util/fee" @@ -49,8 +50,6 @@ Make sure the skycoin node is running against the pinned blockchain data provide When running mode 2, API responses may change (such as /coinSupply). The exact responses are not compared, but the response is checked to be unmarshallable to a known JSON object. -TODO: When go1.10 is released, use the new DisallowUnknownFields property of the JSON decoder, to detect when -an API adds a new field to the response. See: https://tip.golang.org/doc/go1.10#encoding/json When update flag is set to true all tests pass */ @@ -58,10 +57,11 @@ When update flag is set to true all tests pass const ( testModeStable = "stable" testModeLive = "live" - testModeDisableWalletApi = "disable-wallet-api" - testModeDisableSeedApi = "disable-seed-api" + testModeDisableWalletAPI = "disable-wallet-api" + testModeEnableSeedAPI = "enable-seed-api" + testModeDisableGUI = "disable-gui" - testFixturesDir = "test-fixtures" + testFixturesDir = "testdata" ) type TestData struct { @@ -87,8 +87,9 @@ func mode(t *testing.T) string { mode = testModeStable case testModeLive, testModeStable, - testModeDisableWalletApi, - testModeDisableSeedApi: + testModeDisableWalletAPI, + testModeEnableSeedAPI, + testModeDisableGUI: default: t.Fatal("Invalid test mode, must be stable, live or disable-wallet-api") } @@ -117,8 +118,8 @@ func doLive(t *testing.T) bool { return false } -func doDisableWalletApi(t *testing.T) bool { - if enabled() && mode(t) == testModeDisableWalletApi { +func doDisableWalletAPI(t *testing.T) bool { + if enabled() && mode(t) == testModeDisableWalletAPI { return true } @@ -126,8 +127,8 @@ func doDisableWalletApi(t *testing.T) bool { return false } -func doDisableSeedApi(t *testing.T) bool { - if enabled() && mode(t) == testModeDisableSeedApi { +func doEnableSeedAPI(t *testing.T) bool { + if enabled() && mode(t) == testModeEnableSeedAPI { return true } @@ -135,6 +136,15 @@ func doDisableSeedApi(t *testing.T) bool { return false } +func doDisableGUI(t *testing.T) bool { + if enabled() && mode(t) == testModeDisableGUI { + return true + } + + t.Skip("DisableGUIAPI tests disabled") + return false +} + func doLiveOrStable(t *testing.T) bool { if enabled() { switch mode(t) { @@ -156,15 +166,6 @@ func doLiveWallet(t *testing.T) bool { return false } -func loadJSON(t *testing.T, filename string, obj interface{}) { - f, err := os.Open(filename) - require.NoError(t, err, filename) - defer f.Close() - - err = json.NewDecoder(f).Decode(obj) - require.NoError(t, err, filename) -} - func loadGoldenFile(t *testing.T, filename string, testData TestData) { require.NotEmpty(t, filename, "loadGoldenFile golden filename missing") @@ -178,7 +179,10 @@ func loadGoldenFile(t *testing.T, filename string, testData TestData) { require.NoError(t, err) defer f.Close() - err = json.NewDecoder(f).Decode(testData.expected) + d := json.NewDecoder(f) + d.DisallowUnknownFields() + + err = d.Decode(testData.expected) require.NoError(t, err, filename) } @@ -190,11 +194,32 @@ func updateGoldenFile(t *testing.T, filename string, content interface{}) { require.NoError(t, err) } +func checkGoldenFile(t *testing.T, goldenFile string, td TestData) { + loadGoldenFile(t, goldenFile, td) + require.Equal(t, reflect.Indirect(reflect.ValueOf(td.expected)).Interface(), td.actual) + + // Serialize expected to JSON and compare to the goldenFile's contents + // This will detect field changes that could be missed otherwise + b, err := json.MarshalIndent(td.expected, "", "\t") + require.NoError(t, err) + + goldenFile = filepath.Join(testFixturesDir, goldenFile) + + f, err := os.Open(goldenFile) + require.NoError(t, err) + defer f.Close() + + c, err := ioutil.ReadAll(f) + require.NoError(t, err) + + require.Equal(t, string(c), string(b)+"\n", "json struct output differs from golden file, was a field added to the struct?") +} + func assertResponseError(t *testing.T, err error, errCode int, errMsg string) { require.Error(t, err) - require.IsType(t, gui.APIError{}, err) - require.Equal(t, errCode, err.(gui.APIError).StatusCode) - require.Equal(t, errMsg, err.(gui.APIError).Message) + require.IsType(t, api.ClientError{}, err) + require.Equal(t, errCode, err.(api.ClientError).StatusCode) + require.Equal(t, errMsg, err.(api.ClientError).Message) } func TestStableCoinSupply(t *testing.T) { @@ -202,15 +227,13 @@ func TestStableCoinSupply(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) cs, err := c.CoinSupply() require.NoError(t, err) - var expected gui.CoinSupply - loadGoldenFile(t, "coinsupply.golden", TestData{cs, &expected}) - - require.Equal(t, expected, *cs) + var expected api.CoinSupply + checkGoldenFile(t, "coinsupply.golden", TestData{*cs, &expected}) } func TestLiveCoinSupply(t *testing.T) { @@ -218,7 +241,7 @@ func TestLiveCoinSupply(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) cs, err := c.CoinSupply() require.NoError(t, err) @@ -237,7 +260,7 @@ func TestVersion(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) v, err := c.Version() require.NoError(t, err) @@ -245,12 +268,153 @@ func TestVersion(t *testing.T) { require.NotEmpty(t, v.Version) } +func TestVerifyAddress(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + cases := []struct { + name string + golden string + addr string + errCode int + errMsg string + }{ + { + name: "valid address", + golden: "verify-address.golden", + addr: "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + }, + + { + name: "invalid address", + addr: "7apQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + errCode: http.StatusUnprocessableEntity, + errMsg: "Invalid checksum", + }, + + { + name: "missing address", + addr: "", + errCode: http.StatusBadRequest, + errMsg: "address is required", + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + resp, err := c.VerifyAddress(tc.addr) + + if tc.errCode != 0 && tc.errCode != http.StatusOK { + assertResponseError(t, err, tc.errCode, tc.errMsg) + return + } + + require.NoError(t, err) + + var expected api.VerifyAddressResponse + checkGoldenFile(t, tc.golden, TestData{*resp, &expected}) + }) + } +} + +func TestStableVerifyTransaction(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + badSigStr := "71f2c01516fe696328e79bcf464eb0db374b63d494f7a307d1e77114f18581d7a81eed5275a9e04a336292dd2fd16977d9bef2a54ea3161d0876603d00c53bc9dd" + badSigBytes, err := hex.DecodeString(badSigStr) + require.NoError(t, err) + badSig := cipher.NewSig(badSigBytes) + + inputHash := "75692aeff988ce0da734c474dbef3a1ce19a5a6823bbcd36acb856c83262261e" + input := testutil.SHA256FromHex(t, inputHash) + + destAddrStr := "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD" + destAddr, err := cipher.DecodeBase58Address(destAddrStr) + require.NoError(t, err) + + inputAddrStr := "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5" + inputAddr, err := cipher.DecodeBase58Address(inputAddrStr) + require.NoError(t, err) + + badSignatureTxn := coin.Transaction{ + Sigs: []cipher.Sig{badSig}, + In: []cipher.SHA256{input}, + Out: []coin.TransactionOutput{ + { + Address: destAddr, + Coins: 1e3, + Hours: 10, + }, + { + Address: inputAddr, + Coins: 22100e6 - 1e3, + Hours: 188761, + }, + }, + } + badSignatureTxn.UpdateHeader() + + cases := []struct { + name string + golden string + txn coin.Transaction + errCode int + errMsg string + }{ + { + name: "invalid transaction empty", + txn: coin.Transaction{}, + golden: "verify-transaction-invalid-empty.golden", + errCode: http.StatusUnprocessableEntity, + errMsg: "Transaction violates soft constraint: Transaction has zero coinhour fee", + }, + + { + name: "invalid transaction bad signature", + txn: badSignatureTxn, + golden: "verify-transaction-invalid-bad-sig.golden", + errCode: http.StatusUnprocessableEntity, + errMsg: "Transaction violates hard constraint: Signature invalid for hash", + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + encodedTxn := hex.EncodeToString(tc.txn.Serialize()) + + resp, err := c.VerifyTransaction(encodedTxn) + + if tc.errCode != 0 && tc.errCode != http.StatusOK { + assertResponseError(t, err, tc.errCode, tc.errMsg) + if tc.errCode != http.StatusUnprocessableEntity { + return + } + } + + if tc.errCode != http.StatusUnprocessableEntity { + require.NoError(t, err) + } + + var expected api.VerifyTxnResponse + checkGoldenFile(t, tc.golden, TestData{*resp, &expected}) + }) + } + +} + func TestStableOutputs(t *testing.T) { if !doStable(t) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) cases := []struct { name string @@ -308,7 +472,7 @@ func TestStableOutputs(t *testing.T) { require.NoError(t, err) var expected visor.ReadableOutputSet - loadGoldenFile(t, tc.golden, TestData{outputs, &expected}) + checkGoldenFile(t, tc.golden, TestData{*outputs, &expected}) require.Equal(t, len(expected.HeadOutputs), len(outputs.HeadOutputs)) require.Equal(t, len(expected.OutgoingOutputs), len(outputs.OutgoingOutputs)) @@ -317,8 +481,6 @@ func TestStableOutputs(t *testing.T) { for i, o := range expected.HeadOutputs { require.Equal(t, o, outputs.HeadOutputs[i], "mismatch at index %d", i) } - - require.Equal(t, expected, *outputs) }) } } @@ -328,7 +490,7 @@ func TestLiveOutputs(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) // Request all outputs and check that HeadOutputs is not empty // OutgoingOutputs and IncomingOutputs are variable and could be empty @@ -363,7 +525,7 @@ func TestLiveBlock(t *testing.T) { // These blocks were affected by the coinhour overflow issue, make sure that they can be queried blockSeqs := []uint64{11685, 11707, 11710, 11709, 11705, 11708, 11711, 11706, 11699} - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) for _, seq := range blockSeqs { b, err := c.BlockBySeq(seq) require.NoError(t, err) @@ -372,7 +534,7 @@ func TestLiveBlock(t *testing.T) { } func testKnownBlocks(t *testing.T) { - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) cases := []struct { name string @@ -429,9 +591,7 @@ func testKnownBlocks(t *testing.T) { require.NotNil(t, b) var expected visor.ReadableBlock - loadGoldenFile(t, tc.golden, TestData{b, &expected}) - - require.Equal(t, expected, *b) + checkGoldenFile(t, tc.golden, TestData{*b, &expected}) }) } @@ -468,15 +628,13 @@ func TestStableBlockchainMetadata(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) metadata, err := c.BlockchainMetadata() require.NoError(t, err) var expected visor.BlockchainMetadata - loadGoldenFile(t, "blockchain-metadata.golden", TestData{metadata, &expected}) - - require.Equal(t, expected, *metadata) + checkGoldenFile(t, "blockchain-metadata.golden", TestData{*metadata, &expected}) } func TestLiveBlockchainMetadata(t *testing.T) { @@ -484,7 +642,7 @@ func TestLiveBlockchainMetadata(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) metadata, err := c.BlockchainMetadata() require.NoError(t, err) @@ -497,15 +655,13 @@ func TestStableBlockchainProgress(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) progress, err := c.BlockchainProgress() require.NoError(t, err) var expected daemon.BlockchainProgress - loadGoldenFile(t, "blockchain-progress.golden", TestData{progress, &expected}) - - require.Equal(t, expected, *progress) + checkGoldenFile(t, "blockchain-progress.golden", TestData{*progress, &expected}) } func TestLiveBlockchainProgress(t *testing.T) { @@ -513,7 +669,7 @@ func TestLiveBlockchainProgress(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) progress, err := c.BlockchainProgress() require.NoError(t, err) @@ -528,17 +684,13 @@ func TestStableBalance(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) cases := []struct { name string golden string addrs []string }{ - { - name: "no addresses", - golden: "balance-noaddrs.golden", - }, { name: "unknown address", addrs: []string{"prRXwTcDK24hs6AFxj69UuWae3LzhrsPW9"}, @@ -567,9 +719,7 @@ func TestStableBalance(t *testing.T) { require.NoError(t, err) var expected wallet.BalancePair - loadGoldenFile(t, tc.golden, TestData{balance, &expected}) - - require.Equal(t, expected, *balance) + checkGoldenFile(t, tc.golden, TestData{*balance, &expected}) }) } } @@ -579,7 +729,7 @@ func TestLiveBalance(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) // Genesis address check, should not have a balance b, err := c.Balance([]string{"2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6"}) @@ -615,7 +765,7 @@ func TestStableUxOut(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) cases := []struct { name string @@ -635,9 +785,7 @@ func TestStableUxOut(t *testing.T) { require.NoError(t, err) var expected historydb.UxOutJSON - loadGoldenFile(t, tc.golden, TestData{ux, &expected}) - - require.Equal(t, expected, *ux) + checkGoldenFile(t, tc.golden, TestData{*ux, &expected}) }) } @@ -650,15 +798,14 @@ func TestLiveUxOut(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) // A spent uxout should never change ux, err := c.UxOut("fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f20") require.NoError(t, err) var expected historydb.UxOutJSON - loadGoldenFile(t, "uxout-spent.golden", TestData{ux, &expected}) - require.Equal(t, expected, *ux) + checkGoldenFile(t, "uxout-spent.golden", TestData{*ux, &expected}) require.NotEqual(t, uint64(0), ux.SpentBlockSeq) // Scan all uxouts from the result of /outputs @@ -666,7 +813,7 @@ func TestLiveUxOut(t *testing.T) { } func scanUxOuts(t *testing.T) { - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) outputs, err := c.Outputs() require.NoError(t, err) @@ -700,7 +847,7 @@ func TestStableAddressUxOuts(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) cases := []struct { name string @@ -734,8 +881,7 @@ func TestStableAddressUxOuts(t *testing.T) { } require.NoError(t, err) var expected []*historydb.UxOutJSON - loadGoldenFile(t, tc.golden, TestData{ux, &expected}) - require.Equal(t, expected, ux, tc.name) + checkGoldenFile(t, tc.golden, TestData{ux, &expected}) }) } } @@ -745,7 +891,7 @@ func TestLiveAddressUxOuts(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) cases := []struct { name string @@ -794,7 +940,7 @@ func TestStableBlocks(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) progress, err := c.BlockchainProgress() require.NoError(t, err) @@ -862,9 +1008,7 @@ func TestStableBlocks(t *testing.T) { resp := testBlocks(t, tc.start, tc.end) var expected visor.ReadableBlocks - loadGoldenFile(t, tc.golden, TestData{resp, &expected}) - - require.Equal(t, expected, *resp) + checkGoldenFile(t, tc.golden, TestData{*resp, &expected}) } else { _, err := c.Blocks(tc.start, tc.end) assertResponseError(t, err, tc.errCode, tc.errMsg) @@ -882,7 +1026,7 @@ func TestLiveBlocks(t *testing.T) { } func testBlocks(t *testing.T, start, end int) *visor.ReadableBlocks { - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) blocks, err := c.Blocks(start, end) require.NoError(t, err) @@ -916,14 +1060,13 @@ func TestStableLastBlocks(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) blocks, err := c.LastBlocks(1) require.NoError(t, err) var expected *visor.ReadableBlocks - loadGoldenFile(t, "block-last.golden", TestData{blocks, &expected}) - require.Equal(t, expected, blocks) + checkGoldenFile(t, "block-last.golden", TestData{blocks, &expected}) var prevBlock *visor.ReadableBlock blocks, err = c.LastBlocks(10) @@ -948,7 +1091,7 @@ func TestLiveLastBlocks(t *testing.T) { if !doLive(t) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) var prevBlock *visor.ReadableBlock blocks, err := c.LastBlocks(10) require.NoError(t, err) @@ -972,7 +1115,7 @@ func TestStableNetworkConnections(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) connections, err := c.NetworkConnections() require.NoError(t, err) require.Empty(t, connections.Connections) @@ -987,7 +1130,7 @@ func TestLiveNetworkConnections(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) connections, err := c.NetworkConnections() require.NoError(t, err) require.NotEmpty(t, connections.Connections) @@ -1004,6 +1147,7 @@ func TestLiveNetworkConnections(t *testing.T) { require.Equal(t, cc.Outgoing, connection.Outgoing) require.True(t, cc.LastReceived <= connection.LastReceived) require.True(t, cc.LastSent <= connection.LastSent) + require.True(t, cc.Height >= 0) } } @@ -1012,16 +1156,14 @@ func TestNetworkDefaultConnections(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) connections, err := c.NetworkDefaultConnections() require.NoError(t, err) require.NotEmpty(t, connections) sort.Strings(connections) var expected []string - loadGoldenFile(t, "network-default-connections.golden", TestData{connections, &expected}) - sort.Strings(expected) - require.Equal(t, expected, connections) + checkGoldenFile(t, "network-default-connections.golden", TestData{connections, &expected}) } func TestNetworkTrustedConnections(t *testing.T) { @@ -1029,16 +1171,14 @@ func TestNetworkTrustedConnections(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) connections, err := c.NetworkTrustedConnections() require.NoError(t, err) require.NotEmpty(t, connections) sort.Strings(connections) var expected []string - loadGoldenFile(t, "network-trusted-connections.golden", TestData{connections, &expected}) - sort.Strings(expected) - require.Equal(t, expected, connections) + checkGoldenFile(t, "network-trusted-connections.golden", TestData{connections, &expected}) } func TestStableNetworkExchangeableConnections(t *testing.T) { @@ -1046,15 +1186,12 @@ func TestStableNetworkExchangeableConnections(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) connections, err := c.NetworkExchangeableConnections() require.NoError(t, err) var expected []string - loadGoldenFile(t, "network-exchangeable-connections.golden", TestData{connections, &expected}) - sort.Strings(connections) - sort.Strings(expected) - require.Equal(t, expected, connections) + checkGoldenFile(t, "network-exchangeable-connections.golden", TestData{connections, &expected}) } func TestLiveNetworkExchangeableConnections(t *testing.T) { @@ -1062,7 +1199,7 @@ func TestLiveNetworkExchangeableConnections(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) _, err := c.NetworkExchangeableConnections() require.NoError(t, err) } @@ -1074,39 +1211,39 @@ func TestLiveTransaction(t *testing.T) { cases := []struct { name string - txId string - err gui.APIError + txID string + err api.ClientError goldenFile string }{ { - name: "invalid txId", - txId: "abcd", - err: gui.APIError{ + name: "invalid txID", + txID: "abcd", + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - Invalid hex length\n", }, }, { - name: "empty txId", - txId: "", - err: gui.APIError{ + name: "empty txID", + txID: "", + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, - Message: "400 Bad Request - txid is empty\n", + Message: "400 Bad Request - txID is empty\n", }, }, { name: "OK", - txId: "76ecbabc53ea2a3be46983058433dda6a3cf7ea0b86ba14d90b932fa97385de7", + txID: "76ecbabc53ea2a3be46983058433dda6a3cf7ea0b86ba14d90b932fa97385de7", goldenFile: "./transaction.golden", }, } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { - tx, err := c.Transaction(tc.txId) + tx, err := c.Transaction(tc.txID) if err != nil { require.Equal(t, tc.err, err) return @@ -1125,14 +1262,14 @@ func TestStableTransaction(t *testing.T) { cases := []struct { name string - txId string - err gui.APIError + txID string + err api.ClientError goldenFile string }{ { name: "invalid txId", - txId: "abcd", - err: gui.APIError{ + txID: "abcd", + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - Invalid hex length\n", @@ -1141,8 +1278,8 @@ func TestStableTransaction(t *testing.T) { }, { name: "not exist", - txId: "701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947", - err: gui.APIError{ + txID: "701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947", + err: api.ClientError{ Status: "404 Not Found", StatusCode: http.StatusNotFound, Message: "404 Not Found\n", @@ -1151,8 +1288,8 @@ func TestStableTransaction(t *testing.T) { }, { name: "empty txId", - txId: "", - err: gui.APIError{ + txID: "", + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - txid is empty\n", @@ -1161,15 +1298,15 @@ func TestStableTransaction(t *testing.T) { }, { name: "genesis transaction", - txId: "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", + txID: "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", goldenFile: "genesis-transaction.golden", }, } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { - tx, err := c.Transaction(tc.txId) + tx, err := c.Transaction(tc.txID) if err != nil { require.Equal(t, tc.err, err) return @@ -1187,7 +1324,7 @@ func TestLiveTransactions(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) addrs := []string{ "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", } @@ -1204,13 +1341,13 @@ func TestStableTransactions(t *testing.T) { cases := []struct { name string addrs []string - err gui.APIError + err api.ClientError goldenFile string }{ { name: "invalid addr length", addrs: []string{"abcd"}, - err: gui.APIError{ + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid address length\n", @@ -1219,7 +1356,7 @@ func TestStableTransactions(t *testing.T) { { name: "invalid addr character", addrs: []string{"701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947"}, - err: gui.APIError{ + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid base58 character\n", @@ -1228,7 +1365,7 @@ func TestStableTransactions(t *testing.T) { { name: "invalid checksum", addrs: []string{"2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKk"}, - err: gui.APIError{ + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid checksum\n", @@ -1237,7 +1374,7 @@ func TestStableTransactions(t *testing.T) { { name: "empty addrs", addrs: []string{}, - err: gui.APIError{ + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - txId is empty\n", @@ -1251,7 +1388,7 @@ func TestStableTransactions(t *testing.T) { }, } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { txResult, err := c.Transactions(tc.addrs) @@ -1261,8 +1398,7 @@ func TestStableTransactions(t *testing.T) { } var expected *[]daemon.TransactionResult - loadGoldenFile(t, tc.goldenFile, TestData{txResult, &expected}) - require.Equal(t, expected, txResult, "case: "+tc.name) + checkGoldenFile(t, tc.goldenFile, TestData{txResult, &expected}) }) } } @@ -1271,7 +1407,7 @@ func TestLiveConfirmedTransactions(t *testing.T) { if !doLive(t) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) ctxsSingle, err := c.ConfirmedTransactions([]string{"2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt"}) require.NoError(t, err) @@ -1290,13 +1426,13 @@ func TestStableConfirmedTransactions(t *testing.T) { cases := []struct { name string addrs []string - err gui.APIError + err api.ClientError goldenFile string }{ { name: "invalid addr length", addrs: []string{"abcd"}, - err: gui.APIError{ + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid address length\n", @@ -1305,7 +1441,7 @@ func TestStableConfirmedTransactions(t *testing.T) { { name: "invalid addr character", addrs: []string{"701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947"}, - err: gui.APIError{ + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid base58 character\n", @@ -1314,7 +1450,7 @@ func TestStableConfirmedTransactions(t *testing.T) { { name: "invalid checksum", addrs: []string{"2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKk"}, - err: gui.APIError{ + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid checksum\n", @@ -1332,7 +1468,7 @@ func TestStableConfirmedTransactions(t *testing.T) { }, } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { txResult, err := c.ConfirmedTransactions(tc.addrs) @@ -1342,8 +1478,7 @@ func TestStableConfirmedTransactions(t *testing.T) { } var expected *[]daemon.TransactionResult - loadGoldenFile(t, tc.goldenFile, TestData{txResult, &expected}) - require.Equal(t, expected, txResult, "case: "+tc.name) + checkGoldenFile(t, tc.goldenFile, TestData{txResult, &expected}) }) } } @@ -1355,13 +1490,13 @@ func TestStableUnconfirmedTransactions(t *testing.T) { cases := []struct { name string addrs []string - err gui.APIError + err api.ClientError goldenFile string }{ { name: "invalid addr length", addrs: []string{"abcd"}, - err: gui.APIError{ + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid address length\n", @@ -1370,7 +1505,7 @@ func TestStableUnconfirmedTransactions(t *testing.T) { { name: "invalid addr character", addrs: []string{"701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947"}, - err: gui.APIError{ + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid base58 character\n", @@ -1379,7 +1514,7 @@ func TestStableUnconfirmedTransactions(t *testing.T) { { name: "invalid checksum", addrs: []string{"2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKk"}, - err: gui.APIError{ + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid checksum\n", @@ -1392,7 +1527,7 @@ func TestStableUnconfirmedTransactions(t *testing.T) { }, } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { txResult, err := c.UnconfirmedTransactions(tc.addrs) @@ -1402,8 +1537,7 @@ func TestStableUnconfirmedTransactions(t *testing.T) { } var expected *[]daemon.TransactionResult - loadGoldenFile(t, tc.goldenFile, TestData{txResult, &expected}) - require.Equal(t, expected, txResult, "case: "+tc.name) + checkGoldenFile(t, tc.goldenFile, TestData{txResult, &expected}) }) } } @@ -1412,7 +1546,7 @@ func TestLiveUnconfirmedTransactions(t *testing.T) { if !doLive(t) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) cTxsSingle, err := c.UnconfirmedTransactions([]string{"2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt"}) require.NoError(t, err) @@ -1428,7 +1562,7 @@ func TestStableResendUnconfirmedTransactions(t *testing.T) { if !doStable(t) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) res, err := c.ResendUnconfirmedTransactions() require.NoError(t, err) require.True(t, len(res.Txids) == 0) @@ -1438,7 +1572,7 @@ func TestLiveResendUnconfirmedTransactions(t *testing.T) { if !doLive(t) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) _, err := c.ResendUnconfirmedTransactions() require.NoError(t, err) } @@ -1450,14 +1584,14 @@ func TestStableRawTransaction(t *testing.T) { cases := []struct { name string - txId string - err gui.APIError + txID string + err api.ClientError rawTx string }{ { name: "invalid hex length", - txId: "abcd", - err: gui.APIError{ + txID: "abcd", + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - Invalid hex length\n", @@ -1465,8 +1599,8 @@ func TestStableRawTransaction(t *testing.T) { }, { name: "not found", - txId: "701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947", - err: gui.APIError{ + txID: "701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947", + err: api.ClientError{ Status: "404 Not Found", StatusCode: http.StatusNotFound, Message: "404 Not Found\n", @@ -1474,8 +1608,8 @@ func TestStableRawTransaction(t *testing.T) { }, { name: "odd length hex string", - txId: "abcdeffedca", - err: gui.APIError{ + txID: "abcdeffedca", + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - encoding/hex: odd length hex string\n", @@ -1483,15 +1617,15 @@ func TestStableRawTransaction(t *testing.T) { }, { name: "OK", - txId: "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", + txID: "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", rawTx: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000f8f9c644772dc5373d85e11094e438df707a42c900407a10f35a000000407a10f35a0000", }, } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { - txResult, err := c.RawTransaction(tc.txId) + txResult, err := c.RawTransaction(tc.txID) if err != nil { require.Equal(t, tc.err, err, "case: "+tc.name) return @@ -1508,14 +1642,14 @@ func TestLiveRawTransaction(t *testing.T) { cases := []struct { name string - txId string - err gui.APIError + txID string + err api.ClientError rawTx string }{ { name: "invalid hex length", - txId: "abcd", - err: gui.APIError{ + txID: "abcd", + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - Invalid hex length\n", @@ -1523,8 +1657,8 @@ func TestLiveRawTransaction(t *testing.T) { }, { name: "odd length hex string", - txId: "abcdeffedca", - err: gui.APIError{ + txID: "abcdeffedca", + err: api.ClientError{ Status: "400 Bad Request", StatusCode: http.StatusBadRequest, Message: "400 Bad Request - encoding/hex: odd length hex string\n", @@ -1532,20 +1666,20 @@ func TestLiveRawTransaction(t *testing.T) { }, { name: "OK - genesis tx", - txId: "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", + txID: "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", rawTx: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000f8f9c644772dc5373d85e11094e438df707a42c900407a10f35a000000407a10f35a0000", }, { name: "OK", - txId: "701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947", + txID: "701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947", rawTx: "dc00000000f8293dbfdddcc56a97664655ceee650715d35a0dda32a9f0ce0e2e99d4899124010000003981061c7275ae9cc936e902a5367fdd87ef779bbdb31e1e10d325d17a129abb34f6e597ceeaf67bb051774b41c58276004f6a63cb81de61d4693bc7a5536f320001000000fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f2002000000003be2537f8c0893fddcddc878518f38ea493d949e008988068d0000002739570000000000009037ff169fbec6db95e2537e4ff79396c050aeeb00e40b54020000002739570000000000", }, } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { - txResult, err := c.RawTransaction(tc.txId) + txResult, err := c.RawTransaction(tc.txID) if err != nil { require.Equal(t, tc.err, err, "case: "+tc.name) return @@ -1585,7 +1719,7 @@ func TestWalletNewSeed(t *testing.T) { }, } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { seed, err := c.NewSeed(tc.entropy) @@ -1641,7 +1775,7 @@ func TestStableAddressTransactions(t *testing.T) { }, } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { txns, err := c.AddressTransactions(tc.address) @@ -1652,9 +1786,8 @@ func TestStableAddressTransactions(t *testing.T) { require.NoError(t, err) - var expected []gui.ReadableTransaction - loadGoldenFile(t, tc.golden, TestData{txns, &expected}) - require.Equal(t, expected, txns) + var expected []daemon.ReadableTransaction + checkGoldenFile(t, tc.golden, TestData{txns, &expected}) }) } } @@ -1688,7 +1821,7 @@ func TestLiveAddressTransactions(t *testing.T) { }, } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) // Get current blockchain height bp, err := c.BlockchainProgress() require.NoError(t, err) @@ -1702,7 +1835,7 @@ func TestLiveAddressTransactions(t *testing.T) { require.NoError(t, err) - var expected []gui.ReadableTransaction + var expected []daemon.ReadableTransaction loadGoldenFile(t, tc.golden, TestData{txns, &expected}) // Recaculate the height if it's live test @@ -1720,54 +1853,49 @@ func TestStableRichlist(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) richlist, err := c.Richlist(nil) require.NoError(t, err) - var expected gui.Richlist - loadGoldenFile(t, "richlist-default.golden", TestData{richlist, &expected}) - require.Equal(t, expected, *richlist) + var expected api.Richlist + checkGoldenFile(t, "richlist-default.golden", TestData{*richlist, &expected}) - richlist, err = c.Richlist(&gui.RichlistParams{ + richlist, err = c.Richlist(&api.RichlistParams{ N: 0, IncludeDistribution: false, }) require.NoError(t, err) - expected = gui.Richlist{} - loadGoldenFile(t, "richlist-all.golden", TestData{richlist, &expected}) - require.Equal(t, expected, *richlist) + expected = api.Richlist{} + checkGoldenFile(t, "richlist-all.golden", TestData{*richlist, &expected}) - richlist, err = c.Richlist(&gui.RichlistParams{ + richlist, err = c.Richlist(&api.RichlistParams{ N: 0, IncludeDistribution: true, }) require.NoError(t, err) - expected = gui.Richlist{} - loadGoldenFile(t, "richlist-all-include-distribution.golden", TestData{richlist, &expected}) - require.Equal(t, expected, *richlist) + expected = api.Richlist{} + checkGoldenFile(t, "richlist-all-include-distribution.golden", TestData{*richlist, &expected}) - richlist, err = c.Richlist(&gui.RichlistParams{ + richlist, err = c.Richlist(&api.RichlistParams{ N: 8, IncludeDistribution: false, }) require.NoError(t, err) - expected = gui.Richlist{} - loadGoldenFile(t, "richlist-8.golden", TestData{richlist, &expected}) - require.Equal(t, expected, *richlist) + expected = api.Richlist{} + checkGoldenFile(t, "richlist-8.golden", TestData{*richlist, &expected}) - richlist, err = c.Richlist(&gui.RichlistParams{ + richlist, err = c.Richlist(&api.RichlistParams{ N: 150, IncludeDistribution: true, }) require.NoError(t, err) - expected = gui.Richlist{} - loadGoldenFile(t, "richlist-150-include-distribution.golden", TestData{richlist, &expected}) - require.Equal(t, expected, *richlist) + expected = api.Richlist{} + checkGoldenFile(t, "richlist-150-include-distribution.golden", TestData{*richlist, &expected}) } func TestLiveRichlist(t *testing.T) { @@ -1775,7 +1903,7 @@ func TestLiveRichlist(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) richlist, err := c.Richlist(nil) require.NoError(t, err) @@ -1783,7 +1911,7 @@ func TestLiveRichlist(t *testing.T) { require.NotEmpty(t, richlist.Richlist) require.Len(t, richlist.Richlist, 20) - richlist, err = c.Richlist(&gui.RichlistParams{ + richlist, err = c.Richlist(&api.RichlistParams{ N: 150, IncludeDistribution: true, }) @@ -1797,7 +1925,7 @@ func TestStableAddressCount(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) count, err := c.AddressCount() require.NoError(t, err) @@ -1810,7 +1938,7 @@ func TestLiveAddressCount(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) count, err := c.AddressCount() require.NoError(t, err) @@ -1824,7 +1952,7 @@ func TestStablePendingTransactions(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) txns, err := c.PendingTransactions() require.NoError(t, err) @@ -1836,7 +1964,7 @@ func TestLivePendingTransactions(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) _, err := c.PendingTransactions() require.NoError(t, err) @@ -1849,7 +1977,7 @@ func TestLiveWalletSpend(t *testing.T) { requireWalletEnv(t) - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) w, totalCoins, _, password := prepareAndCheckWallet(t, c, 2e6, 2) tt := []struct { @@ -1869,9 +1997,9 @@ func TestLiveWalletSpend(t *testing.T) { for _, o := range tx.Transaction.Out { c, err := droplet.FromString(o.Coins) require.NoError(t, err) - coins += c + coins, err = coin.AddUint64(coins, c) + require.NoError(t, err) } - require.Equal(t, totalCoins, coins) // Confirms the address balance are equal to the totalCoins coins, _ = getAddressBalance(t, c, w.Entries[0].Address.String()) @@ -1969,48 +2097,83 @@ func TestLiveWalletSpend(t *testing.T) { } } -func TestLiveWalletCreateTransaction(t *testing.T) { +func TestLiveWalletCreateTransactionSpecific(t *testing.T) { if !doLive(t) { return } requireWalletEnv(t) - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) w, totalCoins, totalHours, password := prepareAndCheckWallet(t, c, 2e6, 20) remainingHours := fee.RemainingHours(totalHours) require.True(t, remainingHours > 1) + addresses := make([]string, len(w.Entries)) + addressMap := make(map[string]struct{}, len(w.Entries)) + for i, e := range w.Entries { + addresses[i] = e.Address.String() + addressMap[e.Address.String()] = struct{}{} + } + + // Get all outputs + outputs, err := c.Outputs() + require.NoError(t, err) + + // Split outputs into those held by the wallet and those not + var walletOutputHashes []string + var walletOutputs visor.ReadableOutputs + walletAuxs := make(map[string][]string) + var nonWalletOutputs visor.ReadableOutputs + for _, o := range outputs.HeadOutputs { + if _, ok := addressMap[o.Address]; ok { + walletOutputs = append(walletOutputs, o) + walletOutputHashes = append(walletOutputHashes, o.Hash) + walletAuxs[o.Address] = append(walletAuxs[o.Address], o.Hash) + } else { + nonWalletOutputs = append(nonWalletOutputs, o) + } + } + + require.NotEmpty(t, walletOutputs) + require.NotEmpty(t, nonWalletOutputs) + + unknownOutput := testutil.RandSHA256(t) + toDropletString := func(i uint64) string { x, err := droplet.ToString(i) require.NoError(t, err) return x } + defaultChangeAddress := w.Entries[0].Address.String() + type testCase struct { - name string - req gui.CreateTransactionRequest - outputs []coin.TransactionOutput - err string - code int - ignoreHours bool + name string + req api.CreateTransactionRequest + outputs []coin.TransactionOutput + outputsSubset []coin.TransactionOutput + err string + code int + ignoreHours bool + additionalRespVerify func(t *testing.T, r *api.CreateTransactionResponse) } cases := []testCase{ { name: "invalid decimals", - req: gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeManual, }, - Wallet: gui.CreateTransactionRequestWallet{ + Wallet: api.CreateTransactionRequestWallet{ ID: w.Filename(), Password: password, }, - ChangeAddress: w.Entries[0].Address.String(), - To: []gui.Receiver{ + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ { Address: w.Entries[0].Address.String(), Coins: "0.0001", @@ -2024,16 +2187,16 @@ func TestLiveWalletCreateTransaction(t *testing.T) { { name: "overflowing hours", - req: gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeManual, }, - Wallet: gui.CreateTransactionRequestWallet{ + Wallet: api.CreateTransactionRequestWallet{ ID: w.Filename(), Password: password, }, - ChangeAddress: w.Entries[0].Address.String(), - To: []gui.Receiver{ + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ { Address: w.Entries[0].Address.String(), Coins: "0.001", @@ -2057,16 +2220,16 @@ func TestLiveWalletCreateTransaction(t *testing.T) { { name: "insufficient coins", - req: gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeManual, }, - Wallet: gui.CreateTransactionRequestWallet{ + Wallet: api.CreateTransactionRequestWallet{ ID: w.Filename(), Password: password, }, - ChangeAddress: w.Entries[0].Address.String(), - To: []gui.Receiver{ + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ { Address: w.Entries[0].Address.String(), Coins: fmt.Sprint(totalCoins + 1), @@ -2080,16 +2243,16 @@ func TestLiveWalletCreateTransaction(t *testing.T) { { name: "insufficient hours", - req: gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeManual, }, - Wallet: gui.CreateTransactionRequestWallet{ + Wallet: api.CreateTransactionRequestWallet{ ID: w.Filename(), Password: password, }, - ChangeAddress: w.Entries[0].Address.String(), - To: []gui.Receiver{ + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ { Address: w.Entries[0].Address.String(), Coins: toDropletString(totalCoins), @@ -2108,17 +2271,17 @@ func TestLiveWalletCreateTransaction(t *testing.T) { // TODO -- Check that the wallet does not have an output of 0.001, // because then this test cannot be performed, since there is no // way to use all outputs and produce change in that case. - name: "valid request, manual one output with change", - req: gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + name: "valid request, manual one output with change, spend all", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeManual, }, - Wallet: gui.CreateTransactionRequestWallet{ + Wallet: api.CreateTransactionRequestWallet{ ID: w.Filename(), Password: password, }, - ChangeAddress: w.Entries[0].Address.String(), - To: []gui.Receiver{ + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ { Address: w.Entries[1].Address.String(), Coins: toDropletString(totalCoins - 1e3), @@ -2140,18 +2303,119 @@ func TestLiveWalletCreateTransaction(t *testing.T) { }, }, + { + // NOTE: this test will fail if "totalCoins - 1e3" does not require + // all of the outputs to be spent, e.g. if there is an output with + // "totalCoins - 1e3" coins in it. + // TODO -- Check that the wallet does not have an output of 0.001, + // because then this test cannot be performed, since there is no + // way to use all outputs and produce change in that case. + name: "valid request, manual one output with change, spend all, unspecified change address", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins - 1e3), + Hours: "1", + }, + }, + }, + outputs: []coin.TransactionOutput{ + { + Address: w.Entries[1].Address, + Coins: totalCoins - 1e3, + Hours: 1, + }, + { + // Address omitted -- will be check later in the test body + Coins: 1e3, + Hours: remainingHours - 1, + }, + }, + }, + + { + name: "valid request, manual one output with change, don't spend all", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(1e3), + Hours: "1", + }, + }, + }, + outputsSubset: []coin.TransactionOutput{ + { + Address: w.Entries[1].Address, + Coins: 1e3, + Hours: 1, + }, + // NOTE: change omitted, + // change is too difficult to predict in this case, we are + // just checking that not all uxouts get spent in the transaction + }, + }, + { name: "valid request, manual one output no change", - req: gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins), + Hours: "1", + }, + }, + }, + outputs: []coin.TransactionOutput{ + { + Address: w.Entries[1].Address, + Coins: totalCoins, + Hours: 1, + }, + }, + }, + + { + // NOTE: no reliable way to test the ignore unconfirmed behavior, + // this test only checks that if IgnoreUnconfirmed is specified, + // the API doesn't throw up some parsing error + name: "valid request, manual one output no change, ignore unconfirmed", + req: api.CreateTransactionRequest{ + IgnoreUnconfirmed: true, + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeManual, }, - Wallet: gui.CreateTransactionRequestWallet{ + Wallet: api.CreateTransactionRequestWallet{ ID: w.Filename(), Password: password, }, - ChangeAddress: w.Entries[0].Address.String(), - To: []gui.Receiver{ + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ { Address: w.Entries[1].Address.String(), Coins: toDropletString(totalCoins), @@ -2169,19 +2433,19 @@ func TestLiveWalletCreateTransaction(t *testing.T) { }, { - name: "valid request, auto one output no change", - req: gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + name: "valid request, auto one output no change, share factor recalculates to 1.0", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeAuto, Mode: wallet.HoursSelectionModeShare, ShareFactor: "0.5", }, - Wallet: gui.CreateTransactionRequestWallet{ + Wallet: api.CreateTransactionRequestWallet{ ID: w.Filename(), Password: password, }, - ChangeAddress: w.Entries[0].Address.String(), - To: []gui.Receiver{ + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ { Address: w.Entries[1].Address.String(), Coins: toDropletString(totalCoins), @@ -2192,25 +2456,25 @@ func TestLiveWalletCreateTransaction(t *testing.T) { { Address: w.Entries[1].Address, Coins: totalCoins, - Hours: remainingHours / 2, + Hours: remainingHours, }, }, }, { name: "valid request, auto two outputs with change", - req: gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeAuto, Mode: wallet.HoursSelectionModeShare, ShareFactor: "0.5", }, - Wallet: gui.CreateTransactionRequestWallet{ + Wallet: api.CreateTransactionRequestWallet{ ID: w.Filename(), Password: password, }, - ChangeAddress: w.Entries[0].Address.String(), - To: []gui.Receiver{ + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ { Address: w.Entries[1].Address.String(), Coins: toDropletString(1e3), @@ -2237,21 +2501,223 @@ func TestLiveWalletCreateTransaction(t *testing.T) { }, ignoreHours: true, // the hours are too unpredictable }, + + { + name: "uxout does not exist", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + UxOuts: []string{unknownOutput.Hex()}, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins), + Hours: "1", + }, + }, + }, + err: fmt.Sprintf("400 Bad Request - unspent output of %s does not exist\n", unknownOutput.Hex()), + code: http.StatusBadRequest, + }, + + { + name: "uxout not held by the wallet", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + UxOuts: []string{nonWalletOutputs[0].Hash}, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins), + Hours: "1", + }, + }, + }, + err: "400 Bad Request - uxout is not owned by any address in the wallet\n", + code: http.StatusBadRequest, + }, + + { + name: "insufficient balance with uxouts", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + UxOuts: []string{walletOutputs[0].Hash}, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins + 1e3), + Hours: "1", + }, + }, + }, + err: "400 Bad Request - balance is not sufficient\n", + code: http.StatusBadRequest, + }, + + { + // NOTE: expects wallet to have multiple outputs with non-zero coins + name: "insufficient hours with uxouts", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + UxOuts: []string{walletOutputs[0].Hash}, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(1e3), + Hours: fmt.Sprint(totalHours + 1), + }, + }, + }, + err: "400 Bad Request - hours are not sufficient\n", + code: http.StatusBadRequest, + }, + + { + name: "valid request, uxouts specified", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + // NOTE: all uxouts are provided, which has the same behavior as + // not providing any uxouts or addresses. + // Using a subset of uxouts makes the wallet setup very + // difficult, especially to make deterministic, in the live test + // More complex cases should be covered by unit tests + UxOuts: walletOutputHashes, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins - 1e3), + Hours: "1", + }, + }, + }, + outputs: []coin.TransactionOutput{ + { + Address: w.Entries[1].Address, + Coins: totalCoins - 1e3, + Hours: 1, + }, + { + Address: w.Entries[0].Address, + Coins: 1e3, + Hours: remainingHours - 1, + }, + }, + additionalRespVerify: func(t *testing.T, r *api.CreateTransactionResponse) { + require.Equal(t, len(walletOutputHashes), len(r.Transaction.In)) + }, + }, + + { + name: "specified addresses not in wallet", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + Addresses: []string{testutil.MakeAddress().String()}, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins), + Hours: "1", + }, + }, + }, + err: "400 Bad Request - address not found in wallet\n", + code: http.StatusBadRequest, + }, + + { + name: "valid request, addresses specified", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + // NOTE: all addresses are provided, which has the same behavior as + // not providing any addresses. + // Using a subset of addresses makes the wallet setup very + // difficult, especially to make deterministic, in the live test + // More complex cases should be covered by unit tests + Addresses: addresses, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins - 1e3), + Hours: "1", + }, + }, + }, + outputs: []coin.TransactionOutput{ + { + Address: w.Entries[1].Address, + Coins: totalCoins - 1e3, + Hours: 1, + }, + { + Address: w.Entries[0].Address, + Coins: 1e3, + Hours: remainingHours - 1, + }, + }, + }, } if w.IsEncrypted() { cases = append(cases, testCase{ name: "invalid password", - req: gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeManual, }, - Wallet: gui.CreateTransactionRequestWallet{ + Wallet: api.CreateTransactionRequestWallet{ ID: w.Filename(), Password: password + "foo", }, - ChangeAddress: w.Entries[0].Address.String(), - To: []gui.Receiver{ + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ { Address: w.Entries[0].Address.String(), Coins: "1000", @@ -2265,16 +2731,16 @@ func TestLiveWalletCreateTransaction(t *testing.T) { cases = append(cases, testCase{ name: "password not provided", - req: gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeManual, }, - Wallet: gui.CreateTransactionRequestWallet{ + Wallet: api.CreateTransactionRequestWallet{ ID: w.Filename(), Password: "", }, - ChangeAddress: w.Entries[0].Address.String(), - To: []gui.Receiver{ + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ { Address: w.Entries[0].Address.String(), Coins: "1000", @@ -2289,16 +2755,16 @@ func TestLiveWalletCreateTransaction(t *testing.T) { } else { cases = append(cases, testCase{ name: "password provided for unencrypted wallet", - req: gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeManual, }, - Wallet: gui.CreateTransactionRequestWallet{ + Wallet: api.CreateTransactionRequestWallet{ ID: w.Filename(), Password: password + "foo", }, - ChangeAddress: w.Entries[0].Address.String(), - To: []gui.Receiver{ + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ { Address: w.Entries[0].Address.String(), Coins: "1000", @@ -2313,6 +2779,8 @@ func TestLiveWalletCreateTransaction(t *testing.T) { for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { + require.False(t, len(tc.outputs) != 0 && len(tc.outputsSubset) != 0, "outputs and outputsSubset can't both be set") + result, err := c.CreateTransaction(tc.req) if tc.err != "" { assertResponseError(t, err, tc.code, tc.err) @@ -2321,10 +2789,37 @@ func TestLiveWalletCreateTransaction(t *testing.T) { require.NoError(t, err) - require.Equal(t, len(tc.outputs), len(result.Transaction.Out)) + d, err := json.MarshalIndent(result, "", " ") + require.NoError(t, err) + fmt.Println(string(d)) + + if len(tc.outputsSubset) == 0 { + require.Equal(t, len(tc.outputs), len(result.Transaction.Out)) + } for i, o := range tc.outputs { - require.Equal(t, o.Address.String(), result.Transaction.Out[i].Address) + // The final change output may not have the address specified, + // if the ChangeAddress was not specified in the wallet params. + // Calculate it automatically based upon the transaction inputs + if o.Address.Null() { + require.Equal(t, i, len(tc.outputs)-1) + require.Nil(t, tc.req.ChangeAddress) + + changeAddr := result.Transaction.Out[i].Address + // The changeAddr must be associated with one of the transaction inputs + changeAddrFound := false + for _, x := range result.Transaction.In { + require.NotNil(t, x.Address) + if changeAddr == x.Address { + changeAddrFound = true + break + } + } + + require.True(t, changeAddrFound) + } else { + require.Equal(t, o.Address.String(), result.Transaction.Out[i].Address) + } coins, err := droplet.FromString(result.Transaction.Out[i].Coins) require.NoError(t, err) @@ -2344,6 +2839,10 @@ func TestLiveWalletCreateTransaction(t *testing.T) { if tc.req.HoursSelection.Type == wallet.HoursSelectionTypeManual { assertRequestedHours(t, tc.req.To, result.Transaction.Out) } + + if tc.additionalRespVerify != nil { + tc.additionalRespVerify(t, result) + } }) } } @@ -2355,7 +2854,7 @@ func TestLiveWalletCreateTransactionRandom(t *testing.T) { requireWalletEnv(t) - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) w, totalCoins, totalHours, password := prepareAndCheckWallet(t, c, 2e6, 20) @@ -2367,7 +2866,7 @@ func TestLiveWalletCreateTransactionRandom(t *testing.T) { remainingHours := fee.RemainingHours(totalHours) require.True(t, remainingHours > 1) - assertTxnOutputCount := func(t *testing.T, changeAddress string, nOutputs int, result *gui.CreateTransactionResponse) { + assertTxnOutputCount := func(t *testing.T, changeAddress string, nOutputs int, result *api.CreateTransactionResponse) { nResultOutputs := len(result.Transaction.Out) require.True(t, nResultOutputs == nOutputs || nResultOutputs == nOutputs+1) hasChange := nResultOutputs == nOutputs+1 @@ -2415,7 +2914,7 @@ func TestLiveWalletCreateTransactionRandom(t *testing.T) { t.Log("shareFactor", shareFactor) - to := make([]gui.Receiver, 0, nOutputs) + to := make([]api.Receiver, 0, nOutputs) remainingHours := hours remainingCoins := coins for i := 0; i < nOutputs; i++ { @@ -2423,7 +2922,7 @@ func TestLiveWalletCreateTransactionRandom(t *testing.T) { break } - receiver := gui.Receiver{} + receiver := api.Receiver{} receiver.Address = destAddrs[rand.Intn(len(destAddrs))].String() if i == nOutputs-1 { @@ -2455,8 +2954,8 @@ func TestLiveWalletCreateTransactionRandom(t *testing.T) { } // Remove duplicate outputs - dup := make(map[gui.Receiver]struct{}, len(to)) - newTo := make([]gui.Receiver, 0, len(dup)) + dup := make(map[api.Receiver]struct{}, len(to)) + newTo := make([]api.Receiver, 0, len(dup)) for _, o := range to { if _, ok := dup[o]; !ok { dup[o] = struct{}{} @@ -2468,23 +2967,17 @@ func TestLiveWalletCreateTransactionRandom(t *testing.T) { nOutputs = len(to) t.Log("nOutputs", nOutputs) - for i := range to { - j := rand.Intn(i + 1) + rand.Shuffle(len(to), func(i, j int) { to[i], to[j] = to[j], to[i] - } - - // TODO -- use rand.Shuffle [go1.10 only] - // rand.Shuffle(len(to), func(i, j int) { - // to[i], to[j] = to[j], to[i] - // }) + }) for i, o := range to { t.Logf("to[%d].Hours %s\n", i, o.Hours) } - autoTo := make([]gui.Receiver, len(to)) + autoTo := make([]api.Receiver, len(to)) for i, o := range to { - autoTo[i] = gui.Receiver{ + autoTo[i] = api.Receiver{ Address: o.Address, Coins: o.Coins, Hours: "", @@ -2492,8 +2985,8 @@ func TestLiveWalletCreateTransactionRandom(t *testing.T) { } // Remove duplicate outputs - dup = make(map[gui.Receiver]struct{}, len(autoTo)) - newAutoTo := make([]gui.Receiver, 0, len(dup)) + dup = make(map[api.Receiver]struct{}, len(autoTo)) + newAutoTo := make([]api.Receiver, 0, len(dup)) for _, o := range autoTo { if _, ok := dup[o]; !ok { dup[o] = struct{}{} @@ -2511,14 +3004,14 @@ func TestLiveWalletCreateTransactionRandom(t *testing.T) { // Auto, random share factor - result, err := c.CreateTransaction(gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + result, err := c.CreateTransaction(api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeAuto, Mode: wallet.HoursSelectionModeShare, ShareFactor: shareFactor, }, - ChangeAddress: changeAddress, - Wallet: gui.CreateTransactionRequestWallet{ + ChangeAddress: &changeAddress, + Wallet: api.CreateTransactionRequestWallet{ ID: w.Filename(), Password: password, }, @@ -2533,14 +3026,14 @@ func TestLiveWalletCreateTransactionRandom(t *testing.T) { // Auto, share factor 0 - result, err = c.CreateTransaction(gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + result, err = c.CreateTransaction(api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeAuto, Mode: wallet.HoursSelectionModeShare, ShareFactor: "0", }, - ChangeAddress: changeAddress, - Wallet: gui.CreateTransactionRequestWallet{ + ChangeAddress: &changeAddress, + Wallet: api.CreateTransactionRequestWallet{ ID: w.Filename(), Password: password, }, @@ -2560,14 +3053,14 @@ func TestLiveWalletCreateTransactionRandom(t *testing.T) { // Auto, share factor 1 - result, err = c.CreateTransaction(gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + result, err = c.CreateTransaction(api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeAuto, Mode: wallet.HoursSelectionModeShare, ShareFactor: "1", }, - ChangeAddress: changeAddress, - Wallet: gui.CreateTransactionRequestWallet{ + ChangeAddress: &changeAddress, + Wallet: api.CreateTransactionRequestWallet{ ID: w.Filename(), Password: password, }, @@ -2587,12 +3080,12 @@ func TestLiveWalletCreateTransactionRandom(t *testing.T) { // Manual - result, err = c.CreateTransaction(gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + result, err = c.CreateTransaction(api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeManual, }, - ChangeAddress: changeAddress, - Wallet: gui.CreateTransactionRequestWallet{ + ChangeAddress: &changeAddress, + Wallet: api.CreateTransactionRequestWallet{ ID: w.Filename(), Password: password, }, @@ -2608,7 +3101,7 @@ func TestLiveWalletCreateTransactionRandom(t *testing.T) { } } -func assertEncodeTxnMatchesTxn(t *testing.T, result *gui.CreateTransactionResponse) { +func assertEncodeTxnMatchesTxn(t *testing.T, result *api.CreateTransactionResponse) { require.NotEmpty(t, result.EncodedTransaction) emptyTxn := &coin.Transaction{} require.NotEqual(t, hex.EncodeToString(emptyTxn.Serialize()), result.EncodedTransaction) @@ -2621,7 +3114,7 @@ func assertEncodeTxnMatchesTxn(t *testing.T, result *gui.CreateTransactionRespon require.Equal(t, int(txn.Length), len(serializedTxn)) } -func assertRequestedCoins(t *testing.T, to []gui.Receiver, out []gui.CreatedTransactionOutput) { +func assertRequestedCoins(t *testing.T, to []api.Receiver, out []api.CreatedTransactionOutput) { var requestedCoins uint64 for _, o := range to { c, err := droplet.FromString(o.Coins) @@ -2639,7 +3132,7 @@ func assertRequestedCoins(t *testing.T, to []gui.Receiver, out []gui.CreatedTran require.Equal(t, requestedCoins, sentCoins) } -func assertRequestedHours(t *testing.T, to []gui.Receiver, out []gui.CreatedTransactionOutput) { +func assertRequestedHours(t *testing.T, to []api.Receiver, out []api.CreatedTransactionOutput) { for i, o := range out[:len(to)] { // exclude change output toHours, err := strconv.ParseUint(to[i].Hours, 10, 64) require.NoError(t, err) @@ -2650,7 +3143,7 @@ func assertRequestedHours(t *testing.T, to []gui.Receiver, out []gui.CreatedTran } } -func assertCreatedTransactionValid(t *testing.T, r gui.CreatedTransaction) { +func assertCreatedTransactionValid(t *testing.T, r api.CreatedTransaction) { require.NotEmpty(t, r.In) require.NotEmpty(t, r.Out) @@ -2662,16 +3155,19 @@ func assertCreatedTransactionValid(t *testing.T, r gui.CreatedTransaction) { var inputHours uint64 var inputCoins uint64 for _, in := range r.In { + require.NotNil(t, in.CalculatedHours) calculatedHours, err := strconv.ParseUint(in.CalculatedHours, 10, 64) require.NoError(t, err) inputHours, err = coin.AddUint64(inputHours, calculatedHours) require.NoError(t, err) + require.NotNil(t, in.Hours) hours, err := strconv.ParseUint(in.Hours, 10, 64) require.NoError(t, err) require.True(t, hours <= calculatedHours) + require.NotNil(t, in.Coins) coins, err := droplet.FromString(in.Coins) require.NoError(t, err) inputCoins, err = coin.AddUint64(inputCoins, coins) @@ -2706,9 +3202,9 @@ func TestCreateWallet(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) - w, seed, clean := createWallet(t, c, false, "") + w, seed, clean := createWallet(t, c, false, "", "") defer clean() require.False(t, w.Meta.Encrypted) @@ -2732,7 +3228,7 @@ func TestCreateWallet(t *testing.T) { } // Creates wallet with encryption - encW, _, encWClean := createWallet(t, c, true, "pwd") + encW, _, encWClean := createWallet(t, c, true, "pwd", "") defer encWClean() require.True(t, encW.Meta.Encrypted) @@ -2755,10 +3251,10 @@ func TestGetWallet(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) // Create a wallet - w, _, clean := createWallet(t, c, false, "") + w, _, clean := createWallet(t, c, false, "", "") defer clean() // Confirms the wallet can be acquired @@ -2772,12 +3268,12 @@ func TestGetWallets(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) // Creates 2 new wallets - var ws []gui.WalletResponse + var ws []api.WalletResponse for i := 0; i < 2; i++ { - w, _, clean := createWallet(t, c, false, "") + w, _, clean := createWallet(t, c, false, "", "") defer clean() // cleaners = append(cleaners, clean) ws = append(ws, *w) @@ -2788,7 +3284,7 @@ func TestGetWallets(t *testing.T) { require.NoError(t, err) // Create the wallet map - walletMap := make(map[string]gui.WalletResponse) + walletMap := make(map[string]api.WalletResponse) for _, w := range wlts { walletMap[w.Meta.Filename] = *w } @@ -2813,7 +3309,7 @@ func TestWalletNewAddress(t *testing.T) { for i := 1; i <= 30; i++ { name := fmt.Sprintf("generate %v addresses", i) t.Run(name, func(t *testing.T) { - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) var encrypt bool var password string // Test wallet with encryption only when i == 2, so that @@ -2823,7 +3319,7 @@ func TestWalletNewAddress(t *testing.T) { password = "pwd" } - w, seed, clean := createWallet(t, c, encrypt, password) + w, seed, clean := createWallet(t, c, encrypt, password, "") defer clean() addrs, err := c.NewWalletAddress(w.Meta.Filename, i, password) @@ -2853,16 +3349,15 @@ func TestStableWalletBalance(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) - w, _, clean := createWallet(t, c, false, "") + c := api.NewClient(nodeAddress()) + w, _, clean := createWallet(t, c, false, "", "casino away claim road artist where blossom warrior demise royal still palm") defer clean() bp, err := c.WalletBalance(w.Meta.Filename) require.NoError(t, err) - var expect wallet.BalancePair - loadGoldenFile(t, "wallet-balance.golden", TestData{bp, &expect}) - require.Equal(t, expect, *bp) + var expect api.BalanceResponse + checkGoldenFile(t, "wallet-balance.golden", TestData{*bp, &expect}) } func TestLiveWalletBalance(t *testing.T) { @@ -2872,11 +3367,12 @@ func TestLiveWalletBalance(t *testing.T) { requireWalletEnv(t) - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) _, walletName, _ := getWalletFromEnv(t, c) bp, err := c.WalletBalance(walletName) require.NoError(t, err) require.NotNil(t, bp) + require.NotNil(t, bp.Addresses) } func TestWalletUpdate(t *testing.T) { @@ -2884,8 +3380,8 @@ func TestWalletUpdate(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) - w, _, clean := createWallet(t, c, false, "") + c := api.NewClient(nodeAddress()) + w, _, clean := createWallet(t, c, false, "", "") defer clean() err := c.UpdateWallet(w.Meta.Filename, "new wallet") @@ -2902,16 +3398,15 @@ func TestStableWalletTransactions(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) - w, _, clean := createWallet(t, c, false, "") + c := api.NewClient(nodeAddress()) + w, _, clean := createWallet(t, c, false, "", "") defer clean() txns, err := c.WalletTransactions(w.Meta.Filename) require.NoError(t, err) - var expect gui.UnconfirmedTxnsResponse - loadGoldenFile(t, "wallet-transactions.golden", TestData{txns, &expect}) - require.Equal(t, expect, *txns) + var expect api.UnconfirmedTxnsResponse + checkGoldenFile(t, "wallet-transactions.golden", TestData{*txns, &expect}) } func TestLiveWalletTransactions(t *testing.T) { @@ -2921,7 +3416,7 @@ func TestLiveWalletTransactions(t *testing.T) { requireWalletEnv(t) - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) w, _, _, _ := prepareAndCheckWallet(t, c, 1e6, 1) txns, err := c.WalletTransactions(w.Filename()) require.NoError(t, err) @@ -2942,7 +3437,7 @@ func TestWalletFolderName(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) folderName, err := c.WalletFolderName() require.NoError(t, err) @@ -2955,10 +3450,10 @@ func TestEncryptWallet(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) // Create a unencrypted wallet - w, _, clean := createWallet(t, c, false, "") + w, _, clean := createWallet(t, c, false, "", "") defer clean() // Encrypts the wallet @@ -2993,8 +3488,8 @@ func TestDecryptWallet(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) - w, seed, clean := createWallet(t, c, true, "pwd") + c := api.NewClient(nodeAddress()) + w, seed, clean := createWallet(t, c, true, "pwd", "") defer clean() // Decrypt wallet with different password, must fail @@ -3034,14 +3529,14 @@ func TestDecryptWallet(t *testing.T) { } func TestGetWalletSeedDisabledAPI(t *testing.T) { - if !doDisableSeedApi(t) { + if !doLiveOrStable(t) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) // Create an encrypted wallet - w, _, clean := createWallet(t, c, true, "pwd") + w, _, clean := createWallet(t, c, true, "pwd", "") defer clean() _, err := c.GetWalletSeed(w.Meta.Filename, "pwd") @@ -3049,14 +3544,14 @@ func TestGetWalletSeedDisabledAPI(t *testing.T) { } func TestGetWalletSeedEnabledAPI(t *testing.T) { - if !doLiveOrStable(t) { + if !doEnableSeedAPI(t) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) // Create an encrypted wallet - w, seed, clean := createWallet(t, c, true, "pwd") + w, seed, clean := createWallet(t, c, true, "pwd", "") defer clean() require.NotEmpty(t, seed) @@ -3080,7 +3575,7 @@ func TestGetWalletSeedEnabledAPI(t *testing.T) { assertResponseError(t, err, http.StatusBadRequest, "400 Bad Request - missing password\n") // Create unencrypted wallet to check against - nw, _, nclean := createWallet(t, c, false, "") + nw, _, nclean := createWallet(t, c, false, "", "") defer nclean() _, err = c.GetWalletSeed(nw.Meta.Filename, "pwd") assertResponseError(t, err, http.StatusBadRequest, "400 Bad Request - wallet is not encrypted\n") @@ -3090,7 +3585,7 @@ func TestGetWalletSeedEnabledAPI(t *testing.T) { // 1. The minimal coins and coin hours requirements are met. // 2. The wallet has at least two address entry. // Returns the loaded wallet, total coins, total coin hours and password of the wallet. -func prepareAndCheckWallet(t *testing.T, c *gui.Client, miniCoins, miniCoinHours uint64) (*wallet.Wallet, uint64, uint64, string) { +func prepareAndCheckWallet(t *testing.T, c *api.Client, miniCoins, miniCoinHours uint64) (*wallet.Wallet, uint64, uint64, string) { walletDir, walletName, password := getWalletFromEnv(t, c) walletPath := filepath.Join(walletDir, walletName) @@ -3139,7 +3634,7 @@ func prepareAndCheckWallet(t *testing.T, c *gui.Client, miniCoins, miniCoinHours // getWalletFromEnv loads wallet from envrionment variables. // Returns wallet dir, wallet name and wallet password is any. -func getWalletFromEnv(t *testing.T, c *gui.Client) (string, string, string) { +func getWalletFromEnv(t *testing.T, c *api.Client) (string, string, string) { walletDir := getWalletDir(t, c) walletName := os.Getenv("WALLET_NAME") @@ -3164,7 +3659,7 @@ func requireWalletEnv(t *testing.T) { // getWalletBalance gets wallet balance. // Returns coins and hours -func getWalletBalance(t *testing.T, c *gui.Client, walletName string) (uint64, uint64) { +func getWalletBalance(t *testing.T, c *api.Client, walletName string) (uint64, uint64) { wp, err := c.WalletBalance(walletName) if err != nil { t.Fatalf("Get wallet balance of %v failed: %v", walletName, err) @@ -3173,7 +3668,7 @@ func getWalletBalance(t *testing.T, c *gui.Client, walletName string) (uint64, u return wp.Confirmed.Coins, wp.Confirmed.Hours } -func getTransaction(t *testing.T, c *gui.Client, txid string) *daemon.TransactionResult { +func getTransaction(t *testing.T, c *api.Client, txid string) *daemon.TransactionResult { tx, err := c.Transaction(txid) if err != nil { t.Fatalf("%v", err) @@ -3184,7 +3679,7 @@ func getTransaction(t *testing.T, c *gui.Client, txid string) *daemon.Transactio // getAddressBalance gets balance of given address. // Returns coins and coin hours. -func getAddressBalance(t *testing.T, c *gui.Client, addr string) (uint64, uint64) { +func getAddressBalance(t *testing.T, c *api.Client, addr string) (uint64, uint64) { // nolint: unparam bp, err := c.Balance([]string{addr}) if err != nil { t.Fatalf("%v", err) @@ -3192,38 +3687,14 @@ func getAddressBalance(t *testing.T, c *gui.Client, addr string) (uint64, uint64 return bp.Confirmed.Coins, bp.Confirmed.Hours } -func checkNoSensitiveData(t *testing.T, w *wallet.Wallet) { - require.Empty(t, w.Meta["seed"]) - require.Empty(t, w.Meta["lastSeed"]) - require.Empty(t, w.Meta["secrets"]) - for _, e := range w.Entries { - require.Equal(t, cipher.SecKey{}, e.Secret) - } -} - -// checkWalletEntriesAndLastSeed confirms the wallet entries and lastSeed are derivied -// from the seed. -func checkWalletEntriesAndLastSeed(t *testing.T, w *wallet.Wallet) { - seed, ok := w.Meta["seed"] - require.True(t, ok) - newSeed, seckeys := cipher.GenerateDeterministicKeyPairsSeed([]byte(seed), len(w.Entries)) - require.Len(t, seckeys, len(w.Entries)) - for i, sk := range seckeys { - require.Equal(t, w.Entries[i].Secret, sk) - pk := cipher.PubKeyFromSecKey(sk) - require.Equal(t, w.Entries[i].Public, pk) - } - lastSeed, ok := w.Meta["lastSeed"] - require.True(t, ok) - require.Equal(t, lastSeed, hex.EncodeToString(newSeed)) -} - // createWallet creates a wallet with rand seed. // Returns the generated wallet, seed and clean up function. -func createWallet(t *testing.T, c *gui.Client, encrypt bool, password string) (*gui.WalletResponse, string, func()) { - seed := hex.EncodeToString(cipher.RandByte(32)) +func createWallet(t *testing.T, c *api.Client, encrypt bool, password string, seed string) (*api.WalletResponse, string, func()) { + if seed == "" { + seed = hex.EncodeToString(cipher.RandByte(32)) + } // Use the first 6 letter of the seed as label. - var w *gui.WalletResponse + var w *api.WalletResponse var err error if encrypt { w, err = c.CreateEncryptedWallet(seed, seed[:6], password, 0) @@ -3254,7 +3725,7 @@ func createWallet(t *testing.T, c *gui.Client, encrypt bool, password string) (* } } -func getWalletDir(t *testing.T, c *gui.Client) string { +func getWalletDir(t *testing.T, c *api.Client) string { wf, err := c.WalletFolderName() if err != nil { t.Fatalf("%v", err) @@ -3263,11 +3734,13 @@ func getWalletDir(t *testing.T, c *gui.Client) string { } func TestDisableWalletApi(t *testing.T) { - if !doDisableWalletApi(t) { + if !doDisableWalletAPI(t) { return } - tt := []struct { + changeAddress := testutil.MakeAddress().String() + + type testCase struct { name string method string endpoint string @@ -3276,18 +3749,20 @@ func TestDisableWalletApi(t *testing.T) { json func() interface{} expectErr string code int - }{ + } + + tt := []testCase{ { name: "get wallet", method: http.MethodGet, - endpoint: "/wallet?id=test.wlt", + endpoint: "/api/v1/wallet?id=test.wlt", expectErr: "403 Forbidden\n", code: http.StatusForbidden, }, { name: "create wallet", method: http.MethodPost, - endpoint: "/wallet/create", + endpoint: "/api/v1/wallet/create", body: func() io.Reader { v := url.Values{} v.Add("seed", "seed") @@ -3301,7 +3776,7 @@ func TestDisableWalletApi(t *testing.T) { { name: "generate new address", method: http.MethodPost, - endpoint: "/wallet/newAddress", + endpoint: "/api/v1/wallet/newAddress", body: func() io.Reader { v := url.Values{} v.Add("id", "test.wlt") @@ -3313,14 +3788,14 @@ func TestDisableWalletApi(t *testing.T) { { name: "get wallet balance", method: http.MethodGet, - endpoint: "/wallet/balance?id=test.wlt", + endpoint: "/api/v1/wallet/balance?id=test.wlt", expectErr: "403 Forbidden\n", code: http.StatusForbidden, }, { name: "wallet spending", method: http.MethodPost, - endpoint: "/wallet/spend", + endpoint: "/api/v1/wallet/spend", body: func() io.Reader { v := url.Values{} v.Add("id", "test.wlt") @@ -3334,14 +3809,14 @@ func TestDisableWalletApi(t *testing.T) { { name: "get wallet unconfirmed transactions", method: http.MethodGet, - endpoint: "/wallet/transactions?id=test.wlt", + endpoint: "/api/v1/wallet/transactions?id=test.wlt", expectErr: "403 Forbidden\n", code: http.StatusForbidden, }, { name: "update wallet label", method: http.MethodPost, - endpoint: "/wallet/update", + endpoint: "/api/v1/wallet/update", body: func() io.Reader { v := url.Values{} v.Add("id", "test.wlt") @@ -3354,35 +3829,35 @@ func TestDisableWalletApi(t *testing.T) { { name: "new seed", method: http.MethodGet, - endpoint: "/wallet/newSeed", + endpoint: "/api/v1/wallet/newSeed", expectErr: "403 Forbidden\n", code: http.StatusForbidden, }, { name: "get wallets", method: http.MethodGet, - endpoint: "/wallets", + endpoint: "/api/v1/wallets", expectErr: "403 Forbidden\n", code: http.StatusForbidden, }, { name: "get wallets folder name", method: http.MethodGet, - endpoint: "/wallets/folderName", + endpoint: "/api/v1/wallets/folderName", expectErr: "403 Forbidden\n", code: http.StatusForbidden, }, { name: "main index.html 404 not found", method: http.MethodGet, - endpoint: "/", - expectErr: "404 page not found\n", + endpoint: "/api/v1/", + expectErr: "404 Not Found\n", code: http.StatusNotFound, }, { name: "encrypt wallet", method: http.MethodPost, - endpoint: "/wallet/encrypt", + endpoint: "/api/v1/wallet/encrypt", body: func() io.Reader { v := url.Values{} v.Add("id", "test.wlt") @@ -3395,7 +3870,7 @@ func TestDisableWalletApi(t *testing.T) { { name: "decrypt wallet", method: http.MethodPost, - endpoint: "/wallet/decrypt", + endpoint: "/api/v1/wallet/decrypt", body: func() io.Reader { v := url.Values{} v.Add("id", "test.wlt") @@ -3408,7 +3883,7 @@ func TestDisableWalletApi(t *testing.T) { { name: "get wallet seed", method: http.MethodPost, - endpoint: "/wallet/seed", + endpoint: "/api/v1/wallet/seed", body: func() io.Reader { v := url.Values{} v.Add("id", "test.wlt") @@ -3421,20 +3896,20 @@ func TestDisableWalletApi(t *testing.T) { { name: "create transaction", method: http.MethodPost, - endpoint: "/wallet/transaction", + endpoint: "/api/v1/wallet/transaction", contentType: "application/json", json: func() interface{} { - return gui.CreateTransactionRequest{ - HoursSelection: gui.HoursSelection{ + return api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ Type: wallet.HoursSelectionTypeManual, }, - Wallet: gui.CreateTransactionRequestWallet{ + Wallet: api.CreateTransactionRequestWallet{ ID: "test.wlt", }, - ChangeAddress: testutil.MakeAddress().String(), - To: []gui.Receiver{ + ChangeAddress: &changeAddress, + To: []api.Receiver{ { - Address: testutil.MakeAddress().String(), + Address: changeAddress, Coins: "0.001", Hours: "1", }, @@ -3446,23 +3921,32 @@ func TestDisableWalletApi(t *testing.T) { }, } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) for _, tc := range tt { - t.Run(tc.name, func(t *testing.T) { - var err error - switch tc.method { - case http.MethodGet: - err = c.Get(tc.endpoint, nil) - case http.MethodPost: - switch tc.contentType { - case "application/json": - err = c.PostJSON(tc.endpoint, tc.json(), nil) - default: - err = c.PostForm(tc.endpoint, tc.body(), nil) + f := func(tc testCase) func(t *testing.T) { + return func(t *testing.T) { + var err error + switch tc.method { + case http.MethodGet: + err = c.Get(tc.endpoint, nil) + case http.MethodPost: + switch tc.contentType { + case "application/json": + err = c.PostJSON(tc.endpoint, tc.json(), nil) + default: + err = c.PostForm(tc.endpoint, tc.body(), nil) + } } + assertResponseError(t, err, tc.code, tc.expectErr) } - assertResponseError(t, err, tc.code, tc.expectErr) - }) + } + + t.Run(tc.name, f(tc)) + + if strings.HasPrefix(tc.endpoint, "/api/v1") { + tc.endpoint = strings.TrimPrefix(tc.endpoint, "/api/v1") + t.Run(tc.name, f(tc)) + } } // Confirms that no new wallet is created @@ -3477,7 +3961,7 @@ func TestDisableWalletApi(t *testing.T) { require.True(t, os.IsNotExist(err)) } -func checkHealthResponse(t *testing.T, r *gui.HealthResponse) { +func checkHealthResponse(t *testing.T, r *api.HealthResponse) { require.NotEmpty(t, r.BlockchainMetadata.Unspents) require.NotEmpty(t, r.BlockchainMetadata.Head.BkSeq) require.NotEmpty(t, r.BlockchainMetadata.Head.Time) @@ -3490,7 +3974,7 @@ func TestStableHealth(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) r, err := c.Health() require.NoError(t, err) @@ -3511,7 +3995,7 @@ func TestLiveHealth(t *testing.T) { return } - c := gui.NewClient(nodeAddress()) + c := api.NewClient(nodeAddress()) r, err := c.Health() require.NoError(t, err) @@ -3523,3 +4007,13 @@ func TestLiveHealth(t *testing.T) { // The TimeSinceLastBlock can be any value, including negative values, due to clock skew // The live node is not necessarily run with the commit and branch ldflags, so don't check them } + +func TestDisableGUIAPI(t *testing.T) { + if !doDisableGUI(t) { + return + } + + c := api.NewClient(nodeAddress()) + err := c.Get("/", nil) + assertResponseError(t, err, http.StatusNotFound, "404 Not Found\n") +} diff --git a/src/api/cli/integration/test-fixtures/wallet-history.golden b/src/api/integration/testdata/address-transactions-2RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/wallet-history.golden rename to src/api/integration/testdata/address-transactions-2RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D.golden diff --git a/src/gui/integration/test-fixtures/address-transactions-2b8ourW8fbTkC1yQBSLseVt6srhXvNMHvn9.golden b/src/api/integration/testdata/address-transactions-2b8ourW8fbTkC1yQBSLseVt6srhXvNMHvn9.golden similarity index 100% rename from src/gui/integration/test-fixtures/address-transactions-2b8ourW8fbTkC1yQBSLseVt6srhXvNMHvn9.golden rename to src/api/integration/testdata/address-transactions-2b8ourW8fbTkC1yQBSLseVt6srhXvNMHvn9.golden diff --git a/src/gui/integration/test-fixtures/address-transactions-ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od.golden b/src/api/integration/testdata/address-transactions-ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od.golden similarity index 99% rename from src/gui/integration/test-fixtures/address-transactions-ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od.golden rename to src/api/integration/testdata/address-transactions-ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od.golden index c2a58d3..f563060 100755 --- a/src/gui/integration/test-fixtures/address-transactions-ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od.golden +++ b/src/api/integration/testdata/address-transactions-ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od.golden @@ -12,6 +12,7 @@ "txid": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", "inner_hash": "0f7019627886818d2501af189bbac18e21b8e959891c5b2726f89e29355aa10a", "timestamp": 1427926392, + "fee": 100037880222122, "sigs": [ "be602113fe288f750001ab65f254ceedd8b05b1becc456a0a52a0bea10b8280e38d950933992ad3265e1f81d197036fa634b316f08b3b319ffce081aa43f3bb600" ], @@ -20,7 +21,8 @@ "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", "coins": "100000000.000000", - "hours": 100000000000000 + "hours": 100000000000000, + "calculated_hours": 100037880222222 } ], "outputs": [ diff --git a/src/gui/integration/test-fixtures/address-transactions-R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ.golden b/src/api/integration/testdata/address-transactions-R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ.golden similarity index 92% rename from src/gui/integration/test-fixtures/address-transactions-R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ.golden rename to src/api/integration/testdata/address-transactions-R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ.golden index 4847bc7..ff5a323 100755 --- a/src/gui/integration/test-fixtures/address-transactions-R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ.golden +++ b/src/api/integration/testdata/address-transactions-R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ.golden @@ -3,7 +3,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17183, + "height": 46450, "block_seq": 1, "unknown": false }, @@ -12,6 +12,7 @@ "txid": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", "inner_hash": "0f7019627886818d2501af189bbac18e21b8e959891c5b2726f89e29355aa10a", "timestamp": 1427926392, + "fee": 100037880222122, "sigs": [ "be602113fe288f750001ab65f254ceedd8b05b1becc456a0a52a0bea10b8280e38d950933992ad3265e1f81d197036fa634b316f08b3b319ffce081aa43f3bb600" ], @@ -20,7 +21,8 @@ "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", "coins": "100000000.000000", - "hours": 100000000000000 + "hours": 100000000000000, + "calculated_hours": 100037880222222 } ], "outputs": [ @@ -630,7 +632,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17182, + "height": 46449, "block_seq": 2, "unknown": false }, @@ -639,6 +641,7 @@ "txid": "312a269b8248e389c61571cc13f4ad13b7d53b64853d990ddc301a58e7071889", "inner_hash": "4daff2831f5bc2877a98a49b0ef75f8ff01bcb35082fd4018c77707dfca31849", "timestamp": 1427927651, + "fee": 349722, "sigs": [ "f4482e0781e0d94c8c4773940e1f811405681844a9dc3c1938243442e1cbd5463d5e251880abbf8ff1ed85b4b2659e83ee30f06cc4c5dc9913aa6a9630fbe3de01" ], @@ -647,7 +650,8 @@ "uxid": "e3e72ee077c8b0c3f87da7cf50cad8876bd3f489f373d9fe82fc2e971df56f76", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "1000000.000000", - "hours": 1 + "hours": 1, + "calculated_hours": 349723 } ], "outputs": [ @@ -669,7 +673,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17181, + "height": 46448, "block_seq": 3, "unknown": false }, @@ -678,6 +682,7 @@ "txid": "a6a709e9388a4d67a47d262b11da5f804eddd9d67acc4a3e450f7a567bdc1619", "inner_hash": "ea6adee3180c7f9d73d1e693822d5d1c2bba85067f89a873355bc771a078faa1", "timestamp": 1427927671, + "fee": 0, "sigs": [ "ce8fd47e2044ed17998f92621e90329f673a746c802d67f639ca083705dd199f6ee346781497b44132434922879244d819694b5903093f784570c55d293ab4af01" ], @@ -686,7 +691,8 @@ "uxid": "af0b2c1cc882a56b6c0c06e99e7d2731413b988329a2c47a5c2aa8be589b707a", "owner": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", "coins": "10.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 0 } ], "outputs": [ @@ -702,7 +708,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17180, + "height": 46447, "block_seq": 4, "unknown": false }, @@ -711,6 +717,7 @@ "txid": "c24b92898381fbebe59a457924184f4cce1e7166e140ca75aea5baf854c1ab75", "inner_hash": "43dd65d5644ec5214a901ac94e530cbedb83d2174cf402c7b24697cfe55e1de7", "timestamp": 1428793611, + "fee": 240538336, "sigs": [ "434a7a0b624fda393c1caa57ac9787f69da3d8854d0ec6f69f0da1c96c9b683d787064b644e9ac3dd4dd8466c22c1547cff89c2552420f5efcfd1eacb1a2eac301" ], @@ -719,7 +726,8 @@ "uxid": "0cd548e03bd13bca8647cd13f6baef0c65fd03081aeb6dc3695536e5bc6018ae", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "999990.000000", - "hours": 1 + "hours": 1, + "calculated_hours": 240542040 } ], "outputs": [ @@ -741,7 +749,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17179, + "height": 46446, "block_seq": 5, "unknown": false }, @@ -750,6 +758,7 @@ "txid": "0579e7727627cd9815a8a8b5e1df86124f45a4132cc0dbd00d2f110e4f409b69", "inner_hash": "fe123ca954a82bb1ce2cc9ef9c56d6b649a4cbaf5b17394b0ffda651ed32327e", "timestamp": 1428798821, + "fee": 1449243, "sigs": [ "056ed0f74367fb1370d7e98689953983d9cf34eb6669854f1645c8a16c93d85075661e7d4f6df0ce5ca8eb9852eff6a12fbac2caafee03bb8c616f847c61416800", "8aaa7f320a7b01169d3217a600100cb27c55e4ce56cd3455814f56d8e4e65be746e0e20e776087af6f19361f0b898edc2123a5f9bd35d24ef8b8669ca85b142601" @@ -759,13 +768,15 @@ "uxid": "9eb7954461ba0256c9054fe38c00c66e60428dccf900a62e74b9fe39310aea13", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "10.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 2419 }, { "uxid": "706f82c481906108880d79372ab5c126d32ecc98cf3f7c74cf33f5fda49dcf70", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "999980.000000", - "hours": 3704 + "hours": 3704, + "calculated_hours": 1450897 } ], "outputs": [ @@ -787,7 +798,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17167, + "height": 46434, "block_seq": 17, "unknown": false }, @@ -796,6 +807,7 @@ "txid": "d952ef4cc45a89c14230ba0f7e30b782fad83cb6506ac0f503a242c568c1287a", "inner_hash": "8fc48920982066fd4c69e2d2c0c5239cca7c296f0e3ad30e9b976c1230967478", "timestamp": 1428989855, + "fee": 49022445, "sigs": [ "b7eb93bcebb6df3dcad48afd66dd60bd42b1fbcdf52aa5e0c7e455e791f64a976fa416534b4e08bf3e62a2df83e13754119634c4255dd1e2e08be447d4d5b47201" ], @@ -804,7 +816,8 @@ "uxid": "fa2b598d233fe434f907f858d5de812eacf50c7b3fd152c77cd6e246fe356a9e", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "999890.000000", - "hours": 4073 + "hours": 4073, + "calculated_hours": 53063235 } ], "outputs": [ @@ -826,7 +839,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17166, + "height": 46433, "block_seq": 18, "unknown": false }, @@ -835,6 +848,7 @@ "txid": "686db0a8cd429970bb91163033703410d4750c86ba485709fe1a3faabbbb42f6", "inner_hash": "76732ac6a9936242193011d78a0f2849529aee767a569c9c6bb25b3bbae15cee", "timestamp": 1428989925, + "fee": 0, "sigs": [ "d74dcfdc8401a29b1dccc728b40b6b79faea147c65b4a859063ad77cc63aa9a62417c63b91b94678b6656fdba2f242d836b6914e77d244fbd16aaab014ddb44300" ], @@ -843,7 +857,8 @@ "uxid": "c603e99ceae4d15c20360714ee07ba6e3a944a97ea9285d164c23252e93958b6", "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", "coins": "10.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 0 } ], "outputs": [ @@ -859,7 +874,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17158, + "height": 46425, "block_seq": 26, "unknown": false }, @@ -868,6 +883,7 @@ "txid": "56e7bd13dc4c6e1cd80aba66a0a9fed650d0646659ac774e3f1b415848755d85", "inner_hash": "2894cfa31c21eb04c33f89263aa1e4caae625ceaf30539b82b39ccf79dffa816", "timestamp": 1429011077, + "fee": 8799264, "sigs": [ "6aedcd617e69aab9724b6a52e0e71f4f087a2fa84a283ac685c17e274b49cf617e58dbbd6c45a8e2c1c31832a1193ba119f0cb238fd83b9d7eb029dcedbeba0800", "f1f26b84f247c409d308bf0992c2a044ce649fc09169d5fe4843f22b855f911d6c73b92f679346d30ec6663aa5d0387189935ce8e2f2256dd13e59cbdae7b89e00" @@ -877,13 +893,15 @@ "uxid": "4168b9378363cd81939e667cf78055d35a60d3101f5f9e3d2ae709e3981e29fc", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "999880.000000", - "hours": 4040790 + "hours": 4040790, + "calculated_hours": 9935082 }, { "uxid": "d9dae1f82177f979b07016a341ed5c281ed6ed8eaa785a8a107ec16efbe541ef", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "10.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 58 } ], "outputs": [ @@ -905,7 +923,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17157, + "height": 46424, "block_seq": 27, "unknown": false }, @@ -914,6 +932,7 @@ "txid": "cff53a059d55f2c90f6dd7ce7de2cc07cbdbd50b25867cba0f41cd0192614d0d", "inner_hash": "09382455a4e78c62bd0c254e106d349f648944c3747b066a23cc64d9392c6c05", "timestamp": 1429011137, + "fee": 442618, "sigs": [ "ade8874855f58653ef198e005a7ec82de992cddb50a4bb5ce8a0ec1cfa7b44086883ad1c85c63128dad5426b8b22873c349e0535191b80b3e92035b120cada7a01" ], @@ -922,7 +941,8 @@ "uxid": "8793a3782bf673393a8f909f267f3bfcc713b600460893b571fd55f675ac65ba", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "999880.000000", - "hours": 567938 + "hours": 567938, + "calculated_hours": 584602 } ], "outputs": [ @@ -944,7 +964,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17146, + "height": 46413, "block_seq": 38, "unknown": false }, @@ -953,6 +973,7 @@ "txid": "a76cd63b71f1f5425941cd567627e1dcdc8c34306a7945ea48755f5a46efb6f5", "inner_hash": "39c3ed7f2dfb26d02c9fcbbe853db5c3031644b4a66844a717d8795c6d954d65", "timestamp": 1429058484, + "fee": 12441684, "sigs": [ "844af158e935a38f034778a78b646a167b5758df65212546f2eb1c7e838216ad7aa6e7571d1e81d8836808d4315846fe97489bdf2e6d2159a2af77a15a9a2bcb00" ], @@ -961,7 +982,8 @@ "uxid": "ad742bbc7420c08881e6ccf35e34e8472c0dd6386792359aedcfb752ca618c33", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "999790.000000", - "hours": 70992 + "hours": 70992, + "calculated_hours": 13220174 } ], "outputs": [ @@ -983,7 +1005,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17145, + "height": 46412, "block_seq": 39, "unknown": false }, @@ -992,6 +1014,7 @@ "txid": "c38b47bd576e3bced2a9309c3df7622064e71177f54020d77193d5cac310719c", "inner_hash": "7f02ba6476946668f3adcbb35e113531e6788cee4fe94bf8d8da4803e3baa7e3", "timestamp": 1429058494, + "fee": 294709, "sigs": [ "2a31eb55da895c59654ad3f1a11efa11b04787ab78dcf8221aeeccf137adec543765f761363390c97f429310fcb39db305494a94b30af906a2d43d5de1effbb701" ], @@ -1000,7 +1023,8 @@ "uxid": "108520145179c00f581d91e273714811fe6e82ee059d65218eea91154ebd8205", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "998790.000000", - "hours": 389245 + "hours": 389245, + "calculated_hours": 392019 } ], "outputs": [ @@ -1022,7 +1046,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17144, + "height": 46411, "block_seq": 40, "unknown": false }, @@ -1031,6 +1055,7 @@ "txid": "b56f3e9239da5c5f9bb5ca80226b8454ba36ce6012f8e323a50c9d9c4eb4a834", "inner_hash": "bdcf8f2f2b960cfee6b3b1124a554ef4747fe43ac9452d897bd8dedcd643e1ae", "timestamp": 1429058514, + "fee": 41986, "sigs": [ "809029f12d5f38906306610feae26c0623bffe63218c8019060ae2d164cc29352066efd20567e3c37837230e74b481730b0fc71bcafe3b3b9f5eb4a7fb42f69101" ], @@ -1039,7 +1064,8 @@ "uxid": "e79c94aa7013c7611901839236b8a1cdf70e8ef7c40b9e33f99359136de981d6", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "988790.000000", - "hours": 48655 + "hours": 48655, + "calculated_hours": 54148 } ], "outputs": [ @@ -1061,7 +1087,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17143, + "height": 46410, "block_seq": 41, "unknown": false }, @@ -1070,6 +1096,7 @@ "txid": "cf4fe76a08e3296b6f6abdb949604409be66574f211d9d14fde39103c4cfe1d6", "inner_hash": "2f5942207104d52dbd6191684b2a97392e616b7fa51dde314dbddd58d34b8027", "timestamp": 1429058524, + "fee": 7279, "sigs": [ "b2b8c8ec1e1dfdeac4690e88d4ef9fcc4b52fcb771153f391cbcb58d651505a94c6263b6dc15a948c0396c0d8be20d9e0d1993b494bd9189c778d3673363bfc401" ], @@ -1078,7 +1105,8 @@ "uxid": "c65a9e6aa33244958e9595e9eceed678f9f17761753bf77000c5474f7696da53", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "978790.000000", - "hours": 6081 + "hours": 6081, + "calculated_hours": 8799 } ], "outputs": [ @@ -1100,7 +1128,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17139, + "height": 46406, "block_seq": 45, "unknown": false }, @@ -1109,6 +1137,7 @@ "txid": "df622e8c9dfaed1d7dca83ad7f6d8946bb86b81398bad521d858cbefef8e4688", "inner_hash": "91ab4f29d84e9ffba56a108e01984e7b483729da4e61b6976c018fa11ace36a8", "timestamp": 1429071074, + "fee": 2580615, "sigs": [ "d0726d81cb1cdce6028668d0d95ceccf39cc9d655a7bff143573b9f52d0586232bbb7bd494df8b9bb5155a271446cfaff1550d5ccf314dd35f044226f98d14e201" ], @@ -1117,7 +1146,8 @@ "uxid": "195f5e50b4eed1ec7ff968feca90356285437adc8ccfcf6623b55a4eebf7bbb5", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "969790.000000", - "hours": 760 + "hours": 760, + "calculated_hours": 3381555 } ], "outputs": [ @@ -1139,7 +1169,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17138, + "height": 46405, "block_seq": 46, "unknown": false }, @@ -1148,6 +1178,7 @@ "txid": "0a2da0489b14156fad8fb863d051a4dac1f645f144c1e5bb65a44478623b8e4b", "inner_hash": "787ae7cb222a23641bb33751d1428dc8e07a2f2cf11ee6293a54100836209d09", "timestamp": 1429077374, + "fee": 1953736, "sigs": [ "9bc3b6d7cb1d66d52fc993d0799baafa1056992049fa86ce76d5909690e88c4a19920b69e2463cf34d1dddb545b61ee38fb2f9b33f92626da8afdd934c353c8e00" ], @@ -1156,7 +1187,8 @@ "uxid": "cb8efc0b1082c39258cb6efd59f64d88b36fcb60143c826829fc5f0ed5c0d668", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "944790.000000", - "hours": 400470 + "hours": 400470, + "calculated_hours": 2053852 } ], "outputs": [ @@ -1178,7 +1210,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17137, + "height": 46404, "block_seq": 47, "unknown": false }, @@ -1187,6 +1219,7 @@ "txid": "a4a202bc4431d95c307d151dea764bfc6d9ceb7e82b3eb50dc8604050622a22c", "inner_hash": "836145a3e62a7e055acc3404c1fd6ecb237e3251e6f8b39fd526a7f48f21daa8", "timestamp": 1429077384, + "fee": 40168, "sigs": [ "f826793e63a3b0b837070e8876461c47af6be7a6898c370c70430b1491457cda76fc3b34e08bff41a336277ec1e93cc008f9c08ca295b418488b1ac92a5f5a4000" ], @@ -1195,7 +1228,8 @@ "uxid": "a6061defc41a8a55e37eaf56ebaa1177446f61719b1d5126698e79a6023f5367", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "944780.000000", - "hours": 50058 + "hours": 50058, + "calculated_hours": 52682 } ], "outputs": [ @@ -1217,7 +1251,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17136, + "height": 46403, "block_seq": 48, "unknown": false }, @@ -1226,6 +1260,7 @@ "txid": "4e6b363423633ad51114b250478ee7645fbd184066fa41c29e5b14d0728cdfec", "inner_hash": "8cf88a9e5140d5e01af412c956b3de7c93bfebbb4c5993b9b0285812208f5b33", "timestamp": 1429077394, + "fee": 7317, "sigs": [ "670abb369c25a655b0f22c069a9523d439b8a03d122bc9f0861aff796ab965fd5e1b79812b6f458ebc0a1cd4cc223d0137eb22e1bf1cbb40265ac7301018897000" ], @@ -1234,7 +1269,8 @@ "uxid": "3b5f72e772ea886dd872b9087395398133576a6561072d5294fbcd04b49e1d95", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "944770.000000", - "hours": 6257 + "hours": 6257, + "calculated_hours": 8881 } ], "outputs": [ @@ -1256,7 +1292,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17135, + "height": 46402, "block_seq": 49, "unknown": false }, @@ -1265,6 +1301,7 @@ "txid": "edc27c6ecc1f76d0f23489ad7bbbdb8c653af37cc4b8f18197400aea2011ed83", "inner_hash": "5432e686f984075091a8d3686d959b63ef620382fcb2b86794ba8dc0fb9656e7", "timestamp": 1429077404, + "fee": 3212, "sigs": [ "c1902b37a95c5327b0e5a1f05de551d4135831b787c86562867344ee7f06235374dc1618c6b4a8e077041723bc731db72dab5554a808b1ba77d305309144bf5e01" ], @@ -1273,7 +1310,8 @@ "uxid": "f265bea876ffcfb8cf64df3aca4dae4a8d7f424ff495d91fb322feddb3a7e505", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "944760.000000", - "hours": 782 + "hours": 782, + "calculated_hours": 3406 } ], "outputs": [ @@ -1295,7 +1333,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17131, + "height": 46398, "block_seq": 53, "unknown": false }, @@ -1304,6 +1342,7 @@ "txid": "d154d8262abbf517c67d529b0fea7cdf097433bd296d5795b17c6379cb1b1430", "inner_hash": "b69070b10e6bbc276bf155361d7f3238fec46b9d865075c1dc0fc20d81ab0a42", "timestamp": 1429077514, + "fee": 23036, "sigs": [ "0a4b7f385a164f5718794382d49c14a6623e7af5f1ddbefe4871c756b754457a7075e822603bd3b22b313278abebe756be92367ef7a81a8c4adf992842c2058601" ], @@ -1312,7 +1351,8 @@ "uxid": "e6d9b56e075a6adf520d1ae7fbab9ae06353ae0b93dc8cb17d82cc3628009a50", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "944750.000000", - "hours": 97 + "hours": 97, + "calculated_hours": 28964 } ], "outputs": [ @@ -1334,7 +1374,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17127, + "height": 46394, "block_seq": 57, "unknown": false }, @@ -1343,6 +1383,7 @@ "txid": "61a33b49e97bfe2d5f026bf45fae43a1b9bdf08c60ec8db017da720a69790c7f", "inner_hash": "32d2dce8e8043e544b3cb2145b0bfb9d4cfdb7ae8e20437d075f76b75d8e088e", "timestamp": 1429077584, + "fee": 17952, "sigs": [ "990bf0a8c74b0b4c4d05f463a0a50e311a6ae27b5d327dcb906bb6e42330709d48998eed6e7cbdf35caeab6d90fac3e56fb222032aefa7b1d4d9c7653aca9fe600" ], @@ -1351,7 +1392,8 @@ "uxid": "2df1e88589be43c55d7c6c3dbcbd663fb759b3245eb8d86b0b9cdaa989556aea", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "943750.000000", - "hours": 2964 + "hours": 2964, + "calculated_hours": 21314 } ], "outputs": [ @@ -1373,7 +1415,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17123, + "height": 46390, "block_seq": 61, "unknown": false }, @@ -1382,6 +1424,7 @@ "txid": "4aeafd20b9df56ec852a2c257ff1630b9530d8375a4e72f20238ea36835f76d5", "inner_hash": "bc6119c006f7c54c8608cc8050f47c43e6c079397f607f8c9e90d3072a10eca5", "timestamp": 1429077654, + "fee": 16974, "sigs": [ "0309322d16d48a35bd42c2ae6a76b240b21974d073f81f440e04431941fc9d550de92dcbcb226ad3baae2b3cbae51db28b2dc8d3e1b51cdd559cbbb6e4b71eda00" ], @@ -1390,7 +1433,8 @@ "uxid": "c5150380691c542b9bdf4cf2280ac612e0576c349f99d47d0a03c77eedc48731", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "942750.000000", - "hours": 1681 + "hours": 1681, + "calculated_hours": 20012 } ], "outputs": [ @@ -1412,7 +1456,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17120, + "height": 46387, "block_seq": 64, "unknown": false }, @@ -1421,6 +1465,7 @@ "txid": "29c229c97d27bcaf842a367520e1916fb855921906bddf4a3b0413ad3f11517b", "inner_hash": "bc02dde29d200fa6bc0497f2ddd5e52007aef9b6482d40953fbd44ed88e3cf78", "timestamp": 1429077694, + "fee": 9642, "sigs": [ "0674c0617c9e6109ca9af404d446777943bb6aaa5dcb223da63bff1a305498972735e0b2a601cc9c6ee2231ad5fdd025fb92cbb00e200860a2ebde924f76499400" ], @@ -1429,7 +1474,8 @@ "uxid": "9bbb8d620aae3efc7c21bb7d6a7159eda441a83e0fef2cd98f8240b38857d648", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "941750.000000", - "hours": 1519 + "hours": 1519, + "calculated_hours": 11982 } ], "outputs": [ @@ -1451,7 +1497,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17117, + "height": 46384, "block_seq": 67, "unknown": false }, @@ -1460,6 +1506,7 @@ "txid": "42227683dd9c149859d0578ab300d8509d513afadf7834fd8ae7a321cc07d833", "inner_hash": "a7a9ea6466bef6cd63f671ae5dd1aafbeb251a717c7da331d40ec376ad0e89ec", "timestamp": 1429077874, + "fee": 45303, "sigs": [ "b4a141eb037a4debd99c347f337f67662a3feeb96112d7b05fc035a3556419dc3a9b35028327d925ca5eb9da018371bc333b7365f06ea22366169af6f066524701" ], @@ -1468,7 +1515,8 @@ "uxid": "25ad0d5ae6a1a9bc61c6b9099fb7829111977a59e1183de4227a0a5352555639", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "940750.000000", - "hours": 1170 + "hours": 1170, + "calculated_hours": 48207 } ], "outputs": [ @@ -1490,7 +1538,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17116, + "height": 46383, "block_seq": 68, "unknown": false }, @@ -1499,6 +1547,7 @@ "txid": "d803ab903f68f7861cd8eff93b3c097c5b8f6a697ca67bb01e7e645060839fd0", "inner_hash": "611f096c50da1d98c29b8c9bdc6b7f7c98d96061ab126c66716f17a2fc495166", "timestamp": 1429077914, + "fee": 11531, "sigs": [ "d264a023bc6986c1bf16e2e697f4df8b6e33ae2d4b1ddd4e207cb5f902fed54c1234c3ef2429d82507f5c10c0fb4320d753f3bf6b5e155fa3ec03bc91dd8206a00" ], @@ -1507,7 +1556,8 @@ "uxid": "acc75d51ff9f18a224d1ca0481917e2a67298de40955711cd97a08f6733b5b6a", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "939750.000000", - "hours": 1452 + "hours": 1452, + "calculated_hours": 11893 } ], "outputs": [ @@ -1529,7 +1579,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17115, + "height": 46382, "block_seq": 69, "unknown": false }, @@ -1538,6 +1588,7 @@ "txid": "3bf485890e91268452dc3136c0b294dc9909b3aaa10b9c936743e6e9b1a56f61", "inner_hash": "e952e5d86f3cff105dab78a455691c871f3b0fd09558e367833c4743339b94d3", "timestamp": 1429077944, + "fee": 7959, "sigs": [ "632771f1bdae7454911dcb6462aee56827f949dae18e8a98168b57864a62333f4251e17efa15a53ec12ab6980ea72838e9bb0e64aad82ad9e6a0a2a33b3006cd00" ], @@ -1546,7 +1597,8 @@ "uxid": "5c1069a3aa6628ed7f9bdb300bec1a7e7ca6fb4645528a8c6a27c167e7dfe698", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "938750.000000", - "hours": 181 + "hours": 181, + "calculated_hours": 8003 } ], "outputs": [ @@ -1568,7 +1620,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17114, + "height": 46381, "block_seq": 70, "unknown": false }, @@ -1577,6 +1629,7 @@ "txid": "f51e2ce31961b0186e04cc9d78857c3c21d3e2afb25c050d8c1d67d3320fcc07", "inner_hash": "4a8b13ea0c8a993b3455a374e847bcbea7e7a20392c7cc169cbc41778e65d6e3", "timestamp": 1429077964, + "fee": 5094, "sigs": [ "74f886780a9df8f6987c8c60bf5d9ad0fc25a502ba8f681188923d3a85f74bb87d57b067e53ed0f423ee7fbb352f3260e65c38e44cc7eec8fe8224374fd77cc800" ], @@ -1585,7 +1638,8 @@ "uxid": "8190fd31c005510d550c8a241b127fad2558c82aed9483fb4423193d5f4429e3", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "913750.000000", - "hours": 22 + "hours": 22, + "calculated_hours": 5098 } ], "outputs": [ @@ -1607,7 +1661,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17113, + "height": 46380, "block_seq": 71, "unknown": false }, @@ -1616,6 +1670,7 @@ "txid": "abed13c2a552633d26b5b51c3ac5abf9808756c0203869ed185a7cd673702ba2", "inner_hash": "c176a1a85f716055a9e8060c2a4245db0d7f71f4ac5387d4a51d173db467150a", "timestamp": 1429077974, + "fee": 2470, "sigs": [ "40e8340047f08afd483b2867166e15ae751bb7272a2c24f68ae8561d3619ea021363e987118a2fe516cacff1946d4d6c4c249038581ee2f58f8feea4bcffc3b100" ], @@ -1624,7 +1679,8 @@ "uxid": "450cd7795bb3625daa99d6b64b9a8786d593bf1cad986d6c2933dae04b74a593", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "888750.000000", - "hours": 2 + "hours": 2, + "calculated_hours": 2470 } ], "outputs": [ @@ -1646,7 +1702,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17107, + "height": 46374, "block_seq": 77, "unknown": false }, @@ -1655,6 +1711,7 @@ "txid": "29798149e90f6442489bcc3294f455441a5a401e81491ed06bdc2c850756f0d9", "inner_hash": "23ab44d59346b369d258cce6d5142ca7e1b52dd09a1512d8a618e08ae7346004", "timestamp": 1429147880, + "fee": 14818951, "sigs": [ "6e0bd761d2d9eeb207f0c4cf9f13d1407f33b5f50e72c3462225c8041882ddcd078a02720d533801a433d917674e3d68a98bb997e9b06664a73a9bdeae46404601" ], @@ -1663,7 +1720,8 @@ "uxid": "b44ee00208690c2123989f40edaff0224825afb20ca0952fbd90bddfd3213642", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "863750.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 16772585 } ], "outputs": [ @@ -1685,7 +1743,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17103, + "height": 46370, "block_seq": 81, "unknown": false }, @@ -1694,6 +1752,7 @@ "txid": "0cded82aa3ac92d78e23d2d0d7faf93c675fc9a321ad55105f65b6fca444b1e7", "inner_hash": "0ca2ed02f9155bf69af2fd27b40b0300e0c9804cbd2507389d930ef186f48794", "timestamp": 1429164440, + "fee": 4694075, "sigs": [ "68a82ec4421a37b8116c8bad98d2568802973dbce6f0166b3a9504110ee4873239953c3e8baf3a20d599e300c8b2c524d672c46ed593e126adc908f1decbbf5100" ], @@ -1702,7 +1761,8 @@ "uxid": "6060c983054614b8801e405de697c443a1edebd3236582f89f01c6cf6a165c3f", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "862750.000000", - "hours": 976817 + "hours": 976817, + "calculated_hours": 4945467 } ], "outputs": [ @@ -1724,7 +1784,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17099, + "height": 46366, "block_seq": 85, "unknown": false }, @@ -1733,6 +1793,7 @@ "txid": "b7b42b1b29acab0a2328aaf368ec74be49b4d4caf827e82b439ef4d8be976a55", "inner_hash": "8b5eec10f63b31e72d4dba2c71fb0f7bc230e58f497e255352f02eee965d3595", "timestamp": 1429164620, + "fee": 128383, "sigs": [ "82587c832f0c74f185603b934a32a28624712373d188caad0355314ea621a4af3e96dbd1c37e889f630d90047c79b39c495b49964eca20172bb900db1df48b3a01" ], @@ -1741,7 +1802,8 @@ "uxid": "129726406b3101d51ffd5bfca59a501184d6c8ca363be4ef1b8d8bf48a6c70e0", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "861750.000000", - "hours": 125696 + "hours": 125696, + "calculated_hours": 168783 } ], "outputs": [ @@ -1763,7 +1825,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17098, + "height": 46365, "block_seq": 86, "unknown": false }, @@ -1772,6 +1834,7 @@ "txid": "ca51f9d0a19bf326d6dd39a1e4dd240adaaae279411093d4a5b20f54cddabb95", "inner_hash": "47500bd3c5f74835a01b0f696e15780baec2ca3723f45355c9e8cd1c71564d18", "timestamp": 1429164720, + "fee": 39068, "sigs": [ "fdbc112b10354be2b85b2f9131a3927e7b4e87ff8ddef91b849a71e0b1445ebc410b61d85ff7af1834b54febf89d903e3151f5a74ccef4e9607851c9005454d001" ], @@ -1780,7 +1843,8 @@ "uxid": "05f42f22f5fea4b5cac8182dc2b4f280149c686434c6d4195a119a8d02ab24b2", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "861050.000000", - "hours": 20200 + "hours": 20200, + "calculated_hours": 44118 } ], "outputs": [ @@ -1802,7 +1866,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17094, + "height": 46361, "block_seq": 90, "unknown": false }, @@ -1811,6 +1875,7 @@ "txid": "bd617ec27c2bea642fad8c153178e11ca08456d752249324e3011f27c845f87a", "inner_hash": "f8ce5c9cc22005d7f63c0400132b0e70a6a8af574f1a5c1ffb0404f228a02949", "timestamp": 1429164810, + "fee": 18618, "sigs": [ "b471a7bdde8b1427f8081d9e91250fd89cdd4dd23062796fe2ee973c612eb28b76f6c7ab4f3fbb7c7f9627c52158066d13d9fbe34dfdb6e77c02d84ff4d45d7d01" ], @@ -1819,7 +1884,8 @@ "uxid": "4e1a98a72639efa6253a7cbea0f3b499fa24fb88612ad81414d20e46d2b5784e", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "860050.000000", - "hours": 2525 + "hours": 2525, + "calculated_hours": 24026 } ], "outputs": [ @@ -1841,7 +1907,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17090, + "height": 46357, "block_seq": 94, "unknown": false }, @@ -1850,6 +1916,7 @@ "txid": "0f4958d590ed4ac9aca79d848731b358b1c01fab9717775cf6515f2bf2706dc8", "inner_hash": "89c71b68262f8e3acddcec032b4209220ac7b794d1cefa62b45c71b94e017cad", "timestamp": 1429164870, + "fee": 13363, "sigs": [ "ede880d4422a1102280918227157997bb7a36d26a358a71bf016963d29e8403d2298754039d8dd14c0b05d776d05bebadb919a620e87439c93008e292086c94d01" ], @@ -1858,7 +1925,8 @@ "uxid": "33e0c4c9536afffd491fef6294f22ffb0d16902493946a051db0b218728a1c44", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "859050.000000", - "hours": 2704 + "hours": 2704, + "calculated_hours": 17021 } ], "outputs": [ @@ -1880,7 +1948,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17086, + "height": 46353, "block_seq": 98, "unknown": false }, @@ -1889,6 +1957,7 @@ "txid": "fe01250cfdf84eb0182c033c216891e7e6971cc85976c4c46d9e3c608974d233", "inner_hash": "2400f3951d454f663d5097060267f8e31e86e1c3f10391c8a06ed79fd72fe49b", "timestamp": 1429274566, + "fee": 26123869, "sigs": [ "6ecee1ca0e86de9bf6da9a21e49b1cfade8f1a279f7fc58834c15184bec1de634c82faf30bdab34083bc1f32f87d27daa1987a525db83100f88b9103efbc007701" ], @@ -1897,7 +1966,8 @@ "uxid": "f32f03f28eece9ddcdc488a85100c94a7c924c185ae560363518dae5e2aacccb", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "858050.000000", - "hours": 1829 + "hours": 1829, + "calculated_hours": 26147565 } ], "outputs": [ @@ -1919,7 +1989,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17085, + "height": 46352, "block_seq": 99, "unknown": false }, @@ -1928,6 +1998,7 @@ "txid": "819106dc50373e5293a7e79f179693e85536e8206d82272930ec08410d92402a", "inner_hash": "02e9a06b0ca7f91255107993e00f09e9ef983559088c5febff264c17952033c4", "timestamp": 1429274616, + "fee": 52573, "sigs": [ "efb713e6a1e5d328e94a51fbeb0f73e2a3b7a54e15db75797f0b709f698b16eb26e522f187a98144807e0e6cd294686ff19037975abb6d44b20b2899968954f400", "b5d011c60020ce591a21db15823c06188515a63ca95d573c36b3af83d634fc6f1c1125db197f6283510ee33890ac168513254ad37524c77294bb5a12e8ff23f300", @@ -1940,31 +2011,36 @@ "uxid": "2987e7c89d353ad5d63cea2bf2724dc5f7a5ef5fb81f5ea160a307f0726ac2f5", "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", "coins": "10.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 701 }, { "uxid": "a52408daa8ce7026c70b61d4df4212fb577462060f340bfce779225b3e18193d", "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", "coins": "10.000000", - "hours": 50058 + "hours": 50058, + "calculated_hours": 50605 }, { "uxid": "dc73aac74348dd285a1456c1fae2204d7c2039d50a765bdaae0c31f7c7e059db", "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", "coins": "10.000000", - "hours": 6257 + "hours": 6257, + "calculated_hours": 6804 }, { "uxid": "e4e375b9dc55ff53d6de9120f1a87ff00e00a779835f8320f2c6b3090d0466e6", "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", "coins": "10.000000", - "hours": 782 + "hours": 782, + "calculated_hours": 1329 }, { "uxid": "d11b05345917d171f60c31bd2634041b73b97eae364724369ddb8d53369397fb", "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", "coins": "10.000000", - "hours": 97 + "hours": 97, + "calculated_hours": 644 } ], "outputs": [ @@ -1980,7 +2056,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17083, + "height": 46350, "block_seq": 101, "unknown": false }, @@ -1989,6 +2065,7 @@ "txid": "e8fe5290afba3933389fd5860dca2cbcc81821028be9c65d0bb7cf4e8d2c4c18", "inner_hash": "45da31b68748eafdb08ef8bf1ebd1c07c0f14fcb0d66759d6cf4642adc956d06", "timestamp": 1429274666, + "fee": 720560, "sigs": [ "09bce2c888ceceeb19999005cceb1efdee254cacb60edee118b51ffd740ff6503a8f9cbd60a16c7581bfd64f7529b649d0ecc8adbe913686da97fe8c6543189001" ], @@ -1997,7 +2074,8 @@ "uxid": "6002f3afc7054c0e1161bcf2b4c1d4d1009440751bc1fe806e0eae33291399f4", "owner": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", "coins": "27000.000000", - "hours": 220 + "hours": 220, + "calculated_hours": 823465 } ], "outputs": [ @@ -2013,7 +2091,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17078, + "height": 46345, "block_seq": 106, "unknown": false }, @@ -2022,6 +2100,7 @@ "txid": "8de17dff34a8798f2ac89584f5c559e3bb82c280a3f6890386b4dbc5fef0e8cf", "inner_hash": "2ab03a15a9f312d27919ec42a27dfefc5fc5e0b8bf451eb81ef545bf4497f524", "timestamp": 1429279796, + "fee": 1140626, "sigs": [ "9dd44c7d76d454c7c658649d94e08f75354ba568aae069b38da012f07eacbcfe2a5bbe9b4444f566336c23a03f3625eb4306791437e1bfe69f43efa0c109ec2d01", "211d2607cef832c989563a3475daf6aa1fec6d73893a72666b5428c6bd93217605990bc3b45f4cf4863a648708ca3bf3526eb1644679f313a297daf82b1865bf01", @@ -2033,25 +2112,29 @@ "uxid": "99b4e51e1afd04813656e6202c7e462d88ce87ba980da7a62591190d72d1073c", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "858000.000000", - "hours": 11848 + "hours": 11848, + "calculated_hours": 1258331 }, { "uxid": "f12164a6ea6ce65ff2ca1f2be7251bece8f7c5747ba8ec68e1ec3b27d45d7b9c", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "50.000000", - "hours": 11848 + "hours": 11848, + "calculated_hours": 11920 }, { "uxid": "427462efeb07a6803f013c789ea43d93240f74f886bf9afd63dc1936a7574a37", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "50.000000", - "hours": 7510 + "hours": 7510, + "calculated_hours": 7581 }, { "uxid": "f9bffdcbe252acb1c3a8a1e8c99829342ba1963860d5692eebaeb9bcfbcaf274", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "27000.000000", - "hours": 102905 + "hours": 102905, + "calculated_hours": 141380 } ], "outputs": [ @@ -2073,7 +2156,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17077, + "height": 46344, "block_seq": 107, "unknown": false }, @@ -2082,6 +2165,7 @@ "txid": "6546dfbe6e61e81f3e9f6c9afdfee1c07758f2e486d731ae4d19b40602367656", "inner_hash": "9566ef1826b7f518c043395c2b7a37014f77f8e23796c1c78e55d1fc443a02da", "timestamp": 1429280596, + "fee": 301137, "sigs": [ "2773830af5e34a3de4a3ce935ee08c189feaa30ab41ced8f78f9a6434198d9775c58a0b9bcc2931f3d0dfde541ef7f5d3c1cfcf5415776dbd9d871ce036ec42900" ], @@ -2090,7 +2174,8 @@ "uxid": "dfd2834342f3a7caf183472c17801aafacd1775378eb843509d17ad858456cb0", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "885000.000000", - "hours": 139293 + "hours": 139293, + "calculated_hours": 335959 } ], "outputs": [ @@ -2112,7 +2197,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17075, + "height": 46342, "block_seq": 109, "unknown": false }, @@ -2121,6 +2206,7 @@ "txid": "a4c15ae4743246709ec335d33c289576c8893e71f5c3dcee1db6e43eec9242ee", "inner_hash": "1d2404a84798154867ab461179a2b4300d65e4886cbb0220f0d5d0b16bbb7628", "timestamp": 1429302756, + "fee": 5450278, "sigs": [ "3fcfe6d7fe59b9998ac4260c3b788384b2ebb7137e08e3ffc8d8b6efa23490e71f94f381c61af4966ba6a4fb4173079d5a7f31518030900f6c10d64ceb0b774f00" ], @@ -2129,7 +2215,8 @@ "uxid": "8ac39d41ec014ca6625e5f17e1fbe62db7a4ac154e0e42a017efa037935ae968", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "884900.000000", - "hours": 17411 + "hours": 17411, + "calculated_hours": 5464462 } ], "outputs": [ @@ -2151,7 +2238,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17073, + "height": 46340, "block_seq": 111, "unknown": false }, @@ -2160,6 +2247,7 @@ "txid": "6ce27da2ddbc15f03330960b4201dbb3a066ad2e9bbd5366a9564f6befdcae2e", "inner_hash": "2db237d697bd17aab9121cdfc4d72fa1cbfe7fd37d7f71b1a857833bb56b7dd7", "timestamp": 1429348072, + "fee": 150348, "sigs": [ "c50715bd2e53ed971b7559ccaf8a930dae335dc45cad18a25ccfea3209ea2c971e0dc6cc57ff1dbcde49ddfdc612e71e923adcd21b68eaa0eb239bc83a50ff2b01" ], @@ -2168,7 +2256,8 @@ "uxid": "f9bf35f993452b3d490668bb579fd272da969a1bcca8de0c25000ee57b5d7f54", "owner": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", "coins": "22700.000000", - "hours": 17848 + "hours": 17848, + "calculated_hours": 154810 } ], "outputs": [ @@ -2190,7 +2279,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17072, + "height": 46339, "block_seq": 112, "unknown": false }, @@ -2199,6 +2288,7 @@ "txid": "f8a24a25a8e3b206db7ea8a0bd8eeb0f8087f50d230c81a538316bcc5152da3d", "inner_hash": "cfca9a1aa2ab7ea4d643700ac89e9544f1d4e9ef85e28d1cedeece11469fb885", "timestamp": 1429348102, + "fee": 8340296, "sigs": [ "5b68d315f4e84cdae4936db6bb7c8466977e784851b605d1fbc1e0bb65fe259d58d6be37228c96bccb1a1c1e9d316d9102fcfaefeda614e67af20464bc877f2101", "fdd919590553d428d9b8121644127651c68b5207af9798aaaa6ed18134c5835b5311bb547e07e47157a4fd89867c88a48700255610efd2a3e3f77dc82f5fb3ba01" @@ -2208,13 +2298,15 @@ "uxid": "bae0e928b795e2a80c88161afcbc102dcad6644386f6f44050dde8d586750140", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "881900.000000", - "hours": 7092 + "hours": 7092, + "calculated_hours": 11115602 }, { "uxid": "94889dbe1c20eb942b7932c5301737537ac33abd9c81d72e1642ddc70ce320e0", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "10000.000000", - "hours": 2231 + "hours": 2231, + "calculated_hours": 2314 } ], "outputs": [ @@ -2236,7 +2328,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17071, + "height": 46338, "block_seq": 113, "unknown": false }, @@ -2245,6 +2337,7 @@ "txid": "1f27afc41896d2c7fdbd2620e606440ad12557e9a4bdd6808dcc2c23d4e32978", "inner_hash": "4d53c05c731409feef7606cf9514904f4c7704537efb453ac2c439fcfe77a455", "timestamp": 1429348172, + "fee": 1058600, "sigs": [ "e36cef84c1c6f999dba462f3134131c105da2255eaf21550ce30ee52a14a33d529a7cd0c37b3883d0d57429b163b4905271c7b1a4d951b4a521f245c7857dd5c01" ], @@ -2253,7 +2346,8 @@ "uxid": "1d4595b9fa1c6c3d64f48b6ae5f8f861b1c08a022cbcb04b279df448da3db660", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "873900.000000", - "hours": 1388810 + "hours": 1388810, + "calculated_hours": 1405802 } ], "outputs": [ @@ -2275,7 +2369,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17070, + "height": 46337, "block_seq": 114, "unknown": false }, @@ -2284,6 +2378,7 @@ "txid": "e8765b4e6fbca87144df59a6f66815b175e81999509504b117636edc34cbe2af", "inner_hash": "b62f9938b195211810976e1719b152fe6c381879adba6061f4ca36d74c06bea2", "timestamp": 1429348502, + "fee": 210299, "sigs": [ "9d40ed257bb7586c7d72e90bd99c6883fb836d400107686ba477850c2b63a86b5ad885aa37f352d334d930ea3814844e67a6ac438c36b919daff273a66f21e5201" ], @@ -2292,7 +2387,8 @@ "uxid": "412eff3eef889c682da8db3608fce37d1c5ee2cc297bc88d901648e6ccd418f9", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "873800.000000", - "hours": 173601 + "hours": 173601, + "calculated_hours": 253699 } ], "outputs": [ @@ -2314,7 +2410,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17069, + "height": 46336, "block_seq": 115, "unknown": false }, @@ -2323,6 +2419,7 @@ "txid": "bb700553c3e1a32346912ab311fa38793d929f311daeee0b167fa81c1369717e", "inner_hash": "253c14d68558b09c034d4945284f5cc3025b9e05723c6e4fa7d95f1e68edb211", "timestamp": 1429348712, + "fee": 67241, "sigs": [ "4920f49d47105801fab73c2398bee61ce56bb0b58dd69ab35ec1f959a3b8a8003c2821510d3a97d09f7a4a9f943b04d888b1327539ff48216f148fca693dde5d01" ], @@ -2331,7 +2428,8 @@ "uxid": "6ad7993fb2728c2c53ac2c8395a6c62d03c5ef9298ca467e7998fb64fd0c90b4", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "873700.000000", - "hours": 21700 + "hours": 21700, + "calculated_hours": 72665 } ], "outputs": [ @@ -2353,7 +2451,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17067, + "height": 46334, "block_seq": 117, "unknown": false }, @@ -2362,6 +2460,7 @@ "txid": "345488861ad3f0d93024c367990e64ef0f7a95bd8b8589f554172f9439808263", "inner_hash": "258acd45e194051214c9783184c2a9157558e595c4e4da814258f0ffd0e9dd64", "timestamp": 1429351912, + "fee": 737315, "sigs": [ "9f44be793a0cb218b6836dfa52e5b8c38fe2b1257d27fcea49f4c6a6ed910f446e8a96a987fc06c6b6ae13ea8ea0290e91ea40b6f8eeaf8054e8efd17306573201" ], @@ -2370,7 +2469,8 @@ "uxid": "0976005ab4540e8211cd929f19634bfaa2f5d8e24177ddb5b803b447ea91f8c3", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "873600.000000", - "hours": 2712 + "hours": 2712, + "calculated_hours": 779245 } ], "outputs": [ @@ -2392,7 +2492,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17063, + "height": 46330, "block_seq": 121, "unknown": false }, @@ -2401,6 +2501,7 @@ "txid": "da82deafc15c36e7dc9cd95663e0dc910ae626ee543147ac7bd8682be00f7baf", "inner_hash": "c98f858a27e76b0b565baaa3dffc6cfc7b0ffe9dd7d2d71f4bb0ad4d1c439ca2", "timestamp": 1429382678, + "fee": 6644094, "sigs": [ "15fccdc36c966a9571196a3f727ebda47162441df2d9965ac27109ac56d22cb41638b404e84b5b388d809b814ade18022cba0a6e021140c6b7d0144a6facd6d501" ], @@ -2409,7 +2510,8 @@ "uxid": "6beca9fb58a327580c614d7fb5622916849756790b661bcabc880666364fdf47", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "863600.000000", - "hours": 20965 + "hours": 20965, + "calculated_hours": 7401386 } ], "outputs": [ @@ -2431,7 +2533,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17062, + "height": 46329, "block_seq": 122, "unknown": false }, @@ -2440,6 +2542,7 @@ "txid": "211f5fc97ba1797d78f84d4e4db78415b5ff4121f78369535fe3f8015571c6df", "inner_hash": "586a8297d8d148f79d8529fbc3e356f5de9570a3c34bc1ba8494b8269b03d0f2", "timestamp": 1429382898, + "fee": 332972, "sigs": [ "cccee00def7817ec1b36ba5b02066f82eae188afc3e05e61524c62d19fe095e0363db085da6591841314da5f836f2f0068eae522e3d3937d2f96de99f924af6a01" ], @@ -2448,7 +2551,8 @@ "uxid": "f8a1990492f970227ec29e6e095fa724d66fa2d6883bd8723773098d08ca8b3c", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "801600.000000", - "hours": 378646 + "hours": 378646, + "calculated_hours": 427632 } ], "outputs": [ @@ -2470,7 +2574,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17061, + "height": 46328, "block_seq": 123, "unknown": false }, @@ -2479,6 +2583,7 @@ "txid": "9003d3caba9587d46d000cc614bb52bed34adcc5ea404c560c986eb6dd756e6b", "inner_hash": "2a87bcb0049b9971713a2e46b75b348785adca751b151290a411bfa5a0ed2287", "timestamp": 1429451746, + "fee": 14677172, "sigs": [ "0da91c351fb050c243c7b587005bee14ccc2951897ffdf720ad9c757c5946e516a20ca0d92c5f84957161d10a74deab05a2b530ab5bbcd7ad01266213b5eb38401" ], @@ -2487,7 +2592,8 @@ "uxid": "998487775c0e58420673b70204b83c1d6bb5b70e34b1aa0f8169c85ecec2438e", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "765600.000000", - "hours": 47330 + "hours": 47330, + "calculated_hours": 14689004 } ], "outputs": [ @@ -2509,7 +2615,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17060, + "height": 46327, "block_seq": 124, "unknown": false }, @@ -2518,6 +2624,7 @@ "txid": "e9a6dd585b564b19c55d9f56188a45bfad32fa75703fa6336830035f6fa92e3d", "inner_hash": "9cdad9a848f5b2993d1e5d0593e952b39ccdf7ae56bd13851449797cccdced5f", "timestamp": 1429522086, + "fee": 14768022, "sigs": [ "1f3d02abe6811c83b4f4b2e270366e8d4c591866b6e984cb8bdea5d80ca1edbb04d651449070bbca22a8c7cfb3d23a6f85c0a5a7e3226e2d0520330faf16291401" ], @@ -2526,7 +2633,8 @@ "uxid": "6fb116c110fe391448a1dcb985b67439c2e9a71d8bb2fd1cf345ac73ada6166a", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "755600.000000", - "hours": 5916 + "hours": 5916, + "calculated_hours": 14769500 } ], "outputs": [ @@ -2548,7 +2656,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17059, + "height": 46326, "block_seq": 125, "unknown": false }, @@ -2557,6 +2665,7 @@ "txid": "1ca0a2d44b6439b91eb839e0f99405abdcafe2c1a49c8b49b1739498129bd1a6", "inner_hash": "1090d10a5a2210dc205d6f8447918670f9351feed057c76423629b4699777dcb", "timestamp": 1429578056, + "fee": 11670300, "sigs": [ "39817412c5edb4cd928aa3b79a022d4b3276af74eb377d3821c1e95e4d6c6acd61ebbf5eb5d32f87686b6cb4f09c2660e1f148192873208fc963d67a6945fe0101" ], @@ -2565,7 +2674,8 @@ "uxid": "04471fb0797bb931e883f7b95cfff6ee4fea5e19a352ca5425fcd353c4f6aba4", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "750600.000000", - "hours": 739 + "hours": 739, + "calculated_hours": 11670484 } ], "outputs": [ @@ -2587,7 +2697,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17057, + "height": 46324, "block_seq": 127, "unknown": false }, @@ -2596,6 +2706,7 @@ "txid": "243e1baa955c3f0af42d7acc4c920437dd0a99c754d6c5c2b7defcd143ff288d", "inner_hash": "e7e030478e5828f44ec15b734638e8c2828f015b2fa5ca2823d24af3ad111ae6", "timestamp": 1429848410, + "fee": 4600910, "sigs": [ "1519c5c730648e7be553b2738aaeff38266735276e640c8f8d455f33c4fc07283ae5a7da47742df118337ff0548efebb1c75d0350a4e578ff95269182779db2201", "ee099f6f42c813d13f097e9b3a8604067d6afd3718e6eeacd88fb25050d42b8603a42c4f7d24058483f70328a24fc91cd6ef190286c4a678e28b757143e23dc701" @@ -2605,13 +2716,15 @@ "uxid": "c5df36ce47f6f183475317ab1c53eaa65428c142cb3e3906bf162d80519a203f", "owner": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", "coins": "12700.000000", - "hours": 2231 + "hours": 2231, + "calculated_hours": 1767312 }, { "uxid": "53b376413d550663ab51b229df8b0f55e4055d6577c2d8b5cec8ff748fe0e958", "owner": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", "coins": "18000.000000", - "hours": 1388810 + "hours": 1388810, + "calculated_hours": 3890350 } ], "outputs": [ @@ -2633,7 +2746,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17056, + "height": 46323, "block_seq": 128, "unknown": false }, @@ -2642,6 +2755,7 @@ "txid": "c2c9fe882df3b44fbb125b251a7604a7a4f4195dddff6e5396b7f130744e2b27", "inner_hash": "e23ed05dee949be1aabf237db1fd81be8d73c838eb0ee3026104807053269431", "timestamp": 1429849170, + "fee": 42124753, "sigs": [ "8e9b1733227a841009881663a50e1e01ac2790f16416c6f973c89e15a8fc216044e156cc8fee84d3e3cc6371e4da340f5312726bfd66f16a635542d63c869c7101", "d1f6b7078a9032159a165ffbfb1e0665bf9ced2c3d5db795fd5bd11fc53d790f56589cbbffd117eec50aa0dc8c0e65eccb13c5ccb5d39dc9bae739a49dda03b201" @@ -2651,13 +2765,15 @@ "uxid": "6b616ad99a946538c3ab101f245bcab211ab39507848425e80cbfc8ec5bdbc67", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "738100.000000", - "hours": 92 + "hours": 92, + "calculated_hours": 55585992 }, { "uxid": "ef488d5f4a019502115d3b6b50bd364692315c3954d7e93c3ca22e11b92fc528", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "100.000000", - "hours": 528376 + "hours": 528376, + "calculated_hours": 528397 } ], "outputs": [ @@ -2679,7 +2795,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17053, + "height": 46320, "block_seq": 131, "unknown": false }, @@ -2688,6 +2804,7 @@ "txid": "6538399868cf772fcfa96e68c51aa6aa66faa95d7c685432e4005880932be134", "inner_hash": "4854d5689f4c2b770d887ebf7f7d3fb975b295b0180d9354d69f2e322ae8b7b7", "timestamp": 1430330041, + "fee": 80047494, "sigs": [ "d213d50e53ceffd053571431b78fa6417abae8a7c5080dd3f8cece59dc61ad2444dd541540f5734d34dca94b3b975b613da0800121af8ec83b6f20d81cd53ffd01" ], @@ -2696,7 +2813,8 @@ "uxid": "ecb92dc2f43d4c6ca124575d8456d8894f3cb137875287beaa73180fcae2b3ca", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "737200.000000", - "hours": 6994818 + "hours": 6994818, + "calculated_hours": 105466512 } ], "outputs": [ @@ -2718,7 +2836,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17052, + "height": 46319, "block_seq": 132, "unknown": false }, @@ -2727,6 +2845,7 @@ "txid": "3dfdfea4614d05c2f5eddf5773ef0afc745f1afe585141659df8e03e82897606", "inner_hash": "3a4ac407aeec6233d3edf787d5b1f4d8257b594e9ee9d0ad3c32781053579b36", "timestamp": 1430330311, + "fee": 9587333, "sigs": [ "f37f3398240cee8e38c41945db72d4feda20f88a2250528fe1165533acdc7dfc0f99c7db0fc965847a100d0a2f598537cdd8c73a96c5fbb4e5e85dbfd9a4384701" ], @@ -2735,7 +2854,8 @@ "uxid": "6b4ca83b3f73b62161c90c6da03dff460ca9a5a3ccd6fafca140137416dedc58", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "736000.000000", - "hours": 12709509 + "hours": 12709509, + "calculated_hours": 12764709 } ], "outputs": [ @@ -2757,7 +2877,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17051, + "height": 46318, "block_seq": 133, "unknown": false }, @@ -2766,6 +2886,7 @@ "txid": "d30cec3ad3a66562d2513a3656b366ea7da583e6ba45214ac12b9c2219b4c5ea", "inner_hash": "58e355edef48ff22e9a83952130c1bd8fe9a7f9bec7b2e0535c103c0146604c6", "timestamp": 1430330421, + "fee": 1213974, "sigs": [ "09baa4739816e5a86a46ecc30df8c00a5f046ad687f0674250640b6df2361dfe3723667872e0f6deb1d3447948e30b06f02b056a62da9dbaaef4db000eab747e01" ], @@ -2774,7 +2895,8 @@ "uxid": "2cd58783beb8a9f6278f7a097151531091b5f15afd7735e1facf02aa720c1191", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "735000.000000", - "hours": 1588688 + "hours": 1588688, + "calculated_hours": 1611146 } ], "outputs": [ @@ -2796,7 +2918,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17050, + "height": 46317, "block_seq": 134, "unknown": false }, @@ -2805,6 +2927,7 @@ "txid": "44d05abc2637d9cd2047984023eb5cfa0a146e58821117de30f9c81703189cde", "inner_hash": "44886be6952cd483b9425d314836714af65037b58923aa2432ea946131ae10f6", "timestamp": 1430330481, + "fee": 161181, "sigs": [ "7990cb04634a5e0de397917e56480805915c73d265fe466757a9e677067483787d457c7e9931a89daa6260c7a262f49ef1503cc88008809c193f1f949badcfbb01" ], @@ -2813,7 +2936,8 @@ "uxid": "52288a441c70260f6a3eab0e271969d54492377615a6fba8ec3ad26f11dc9768", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "734500.000000", - "hours": 198586 + "hours": 198586, + "calculated_hours": 210827 } ], "outputs": [ @@ -2835,7 +2959,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17049, + "height": 46316, "block_seq": 135, "unknown": false }, @@ -2844,6 +2968,7 @@ "txid": "072f0738f834db0030d777e6ec0e0443627c51cecffcc55e41d43b0b8edd40d1", "inner_hash": "e87dc97ec672bb45a3417f307e6f6a1cd75b26f508f188c0554484740ffea8cd", "timestamp": 1430330591, + "fee": 41059, "sigs": [ "da4e898bdf324ab50d8f007ee4c65ab832ba64cf86fd0a601e7007a4c3ac2eaa6f1304a3fc8088b108e3f417e5b7c90cbc7d80c059885d397ae978da89c92d5f00" ], @@ -2852,7 +2977,8 @@ "uxid": "e29ec214f4afd79e6465d03e4d88e552dc69654750a725d74873ee366c58e552", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "734400.000000", - "hours": 24823 + "hours": 24823, + "calculated_hours": 47263 } ], "outputs": [ @@ -2874,7 +3000,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17048, + "height": 46315, "block_seq": 136, "unknown": false }, @@ -2883,6 +3009,7 @@ "txid": "b9a795552bec1a722718b44a08ad152656242b1d23afb53d2247b3016d920b7e", "inner_hash": "8096fec4a2738f5b79df5359724f6cd7597c0d8c5bc18419f5825c5312e1dac0", "timestamp": 1430330851, + "fee": 55295, "sigs": [ "315cc1de04ad6d1d68e9d63027cff2abc74d5b11a376623d70211ac0e8b9feed4c7f7952634d60b57604edfbe63f02bef172486320e9790d0bb6e44099d6473500" ], @@ -2891,7 +3018,8 @@ "uxid": "8ea58a3736b35f0e3781e94198e8b73bba2536704b84b15900fb32701db8893e", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "733400.000000", - "hours": 3102 + "hours": 3102, + "calculated_hours": 56069 } ], "outputs": [ @@ -2913,7 +3041,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17047, + "height": 46314, "block_seq": 137, "unknown": false }, @@ -2922,6 +3050,7 @@ "txid": "fc02772662176c282c2b6538732d3d6eb1399f006a0b52e64d07fc104038f638", "inner_hash": "a7ef2323ca6ef0a15173dcc2ef44c0abd10933be70337360408ffb4087affb80", "timestamp": 1430504186, + "fee": 35264333, "sigs": [ "9a30550db56d9c9ae901d835f856761b9c4298d56ffa94bf41eff5550ac180851189f2adf2e184b6f23485a1405eacb2d4cc937ff05490fb0bc609e654effd7900" ], @@ -2930,7 +3059,8 @@ "uxid": "a1ed39cded6d9a0605b52f25cbedb363e57a168d1ad1d1db437816a401c061ab", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "732400.000000", - "hours": 387 + "hours": 387, + "calculated_hours": 35264429 } ], "outputs": [ @@ -2952,7 +3082,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17046, + "height": 46313, "block_seq": 138, "unknown": false }, @@ -2961,6 +3091,7 @@ "txid": "9880bebc51471e0b3c520920db836d674f652503314cd74069a59ccad0d0967a", "inner_hash": "feeb2f638e91dd685e6fe179edc7622ef3fcc8a5a7e795c07be12e03f221f67f", "timestamp": 1430504236, + "fee": 10194, "sigs": [ "a0c15d7d5f36afc4c78045aae19c8d41a8652f0cb6d633622a1e55b4e54cd5a33113b02c24b02cca10797043d992aaac98bdbb33addd038611ac324795733c0b00" ], @@ -2969,7 +3100,8 @@ "uxid": "f89c968840831d03abaf3c41cf8a405e4b4ddbfb19f5ba300a8ea8e4dcb1d9a4", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "731400.000000", - "hours": 48 + "hours": 48, + "calculated_hours": 10206 } ], "outputs": [ @@ -2991,7 +3123,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17045, + "height": 46312, "block_seq": 139, "unknown": false }, @@ -3000,6 +3132,7 @@ "txid": "578075959959db70ae86f4f60d2ae3ff245727d086eef86ed80db5e1c7c9fbaf", "inner_hash": "eead8ec3c5e86e73f1e7add274fdbe0cecd5cd68c4fcd3cf17c1c7af9c5ee43d", "timestamp": 1430504536, + "fee": 60856, "sigs": [ "d6331b6d3270100b8b009bbd343d6b82208d622b27ca3a4b371492b9c792f8433c981c57dfc760a3974f13acd86bbb24555b958e0c67e247c5a39d97295022d601" ], @@ -3008,7 +3141,8 @@ "uxid": "36972dc046829caa340eaecbfeb42f4174bcdecfb87296d56503e5fb10e9de8d", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "730200.000000", - "hours": 6 + "hours": 6, + "calculated_hours": 60856 } ], "outputs": [ @@ -3030,7 +3164,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17044, + "height": 46311, "block_seq": 140, "unknown": false }, @@ -3039,6 +3173,7 @@ "txid": "de45a24c9c32f808a3d928f30ba8e1b6ef8117a7c0b7a5d616734d9b121d0c30", "inner_hash": "efeb898fd032831cdd6d7c311f496f4c2622ee11bedc2831b6411cab51d44736", "timestamp": 1430504746, + "fee": 42536, "sigs": [ "1646b02579d23e2350e2bc47340e027ad5f74bf55aba41fc1244631ba1e0577b681d364c3802017b5cc5d5fda972d23ac9bffabd6159384223a26aba5f08406401" ], @@ -3047,7 +3182,8 @@ "uxid": "6962c7c1fcc98f532a9003990163bb251811a4700257968a641b1fe975cfc51d", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "729200.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 42536 } ], "outputs": [ @@ -3069,7 +3205,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17043, + "height": 46310, "block_seq": 141, "unknown": false }, @@ -3078,6 +3214,7 @@ "txid": "16f8b9369f76ef6a0c1ecf82e1c18d5bc8ae5ef8b01b6530096cb1ff70bbd3fd", "inner_hash": "529b1fd21087bf52cb3ebcf02dbe1e3ce5de9daefa9754e5b6cde7be2d8ab0c7", "timestamp": 1430504846, + "fee": 20227, "sigs": [ "8612c9e160f3e0d7cdcb2adf3611bde867dcb766c63ec4312a9251ba9b6ea6997c0d9a6ce26beaae01e82c22d2b61e5ae7f87aeaf0679fde395888aebafde94500" ], @@ -3086,7 +3223,8 @@ "uxid": "d53fae3b48bde2d1328964a2e7f42e8e833983db159ba30f627926dea0db7df0", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "728200.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 20227 } ], "outputs": [ @@ -3108,7 +3246,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17042, + "height": 46309, "block_seq": 142, "unknown": false }, @@ -3117,6 +3255,7 @@ "txid": "030177271beee04f1a0974d0c5042f07c7ca1db1c5d496fbee3c441b1b7c5bee", "inner_hash": "d954f0ee1a437cf3809961063145bb205633ac66d9a29e1386eddb13503ddac1", "timestamp": 1430504966, + "fee": 24190, "sigs": [ "6e5661f0212dfa0800df968dac30f931335d7fe99d23932878d7d2c06bf69691328d66897c3a5c023535035ed95de3b396ea162e4482e70cda5ec9d4c8e36d4b01" ], @@ -3125,7 +3264,8 @@ "uxid": "228794e6b3eb69aecc5334e140afbad22883326dcf229bd3092f238ed9ec800f", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "725700.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 24190 } ], "outputs": [ @@ -3147,7 +3287,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17041, + "height": 46308, "block_seq": 143, "unknown": false }, @@ -3156,6 +3296,7 @@ "txid": "57150aecde96bde972183b9b0d7d27dda2c0179fb71630e92c27856d211335cd", "inner_hash": "8fa5487fbcb62adb17287cc80ea02f113f036035e486fe7a37a96a98d32582b8", "timestamp": 1430505086, + "fee": 24156, "sigs": [ "ba2442a6f68ef825f2921dc135eca398904426f8d225eb122b210670d1b3bf1b2279abcd5cce5c18533dd8ca0286b23e2be9605f1cb6a5820bc1c783e95b833401" ], @@ -3164,7 +3305,8 @@ "uxid": "6efc30b4c943ba4de8d2c89901a0b2a4d9a0ecf34713917eae37c6debca616ed", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "724700.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 24156 } ], "outputs": [ @@ -3186,7 +3328,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17040, + "height": 46307, "block_seq": 144, "unknown": false }, @@ -3195,6 +3337,7 @@ "txid": "3bb9fc516dc2c522e28f99e6833253863c550547ce0e0a2dd963a0118b7a44a7", "inner_hash": "111d56ae43b76740e905717e1e440f7611e922c50e83cf84b9edc51efa0271f2", "timestamp": 1430505176, + "fee": 18105, "sigs": [ "18f2b86a6b51999f0fdc73d411c1db827730652ba2c098f1ff3f3dc0d409d6cf745d18d66bf25dae7e5a975e33f32e8d2b352c025a8e20ff15a68aaa60b1bbb700" ], @@ -3203,7 +3346,8 @@ "uxid": "6c8b1ba9dc7e8900b42d55e9fbe6ea0e00d7eaccf67a7b66c0a2b771cf88ea05", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "724200.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 18105 } ], "outputs": [ @@ -3225,7 +3369,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17038, + "height": 46305, "block_seq": 146, "unknown": false }, @@ -3234,6 +3378,7 @@ "txid": "5701965d326520f86335da87c6d1781fd49f1e66520b94e1783711eba724f482", "inner_hash": "b792056beaf4a864c92e40ad63f9117fae52f4bfda9f88aa74f1255490c28ef6", "timestamp": 1430641376, + "fee": 25062898, "sigs": [ "1d98fdd17853e4265c17644a993fdbe5047418b7be96258fdf3c2b3e9c739b1d72c5acc23981dac2d478966834fafa1f98aab2402ce37fe818d3919cf490a5e900" ], @@ -3242,7 +3387,8 @@ "uxid": "59d44fefbe86ebae4118dee90609d6a1c08c36f259c65e3fad63b9e41c37bf0c", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "723200.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 27361066 } ], "outputs": [ @@ -3264,7 +3410,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17037, + "height": 46304, "block_seq": 147, "unknown": false }, @@ -3273,6 +3419,7 @@ "txid": "3fae944ef07d9bcba1bcbc8bde87da50a1232132074803f8442deb563ed2da51", "inner_hash": "aeceb514529fcf9de954599318d804301689818b8d5c90cdbd3bdf6ce3768c47", "timestamp": 1430641536, + "fee": 893911, "sigs": [ "b6b837c14a65c31150c24f93ac60a9b49baeb963cf49a8d97e817883ca46a3763168988b69542c5a52b7501674271ded3888bccda558aad004902ab7b7010f5501" ], @@ -3281,7 +3428,8 @@ "uxid": "5baf8c8ab1a01d80a6f496144815cf6bda5289b34055010e21324ea3950d3299", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "722200.000000", - "hours": 1149084 + "hours": 1149084, + "calculated_hours": 1181181 } ], "outputs": [ @@ -3303,7 +3451,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17036, + "height": 46303, "block_seq": 148, "unknown": false }, @@ -3312,6 +3460,7 @@ "txid": "79681167a7681edecb998e4a6dccdd0b7be45f163c8f6db23436517936269fb8", "inner_hash": "b06c37ee520387277d5c174e0fefb11dbbbee9c7ffe53715b7b5bab8f4693dfe", "timestamp": 1430642006, + "fee": 201883, "sigs": [ "150ffd203e65dac9dbfcaffb384a9233a274e0ced5a0c2fc9a3127e7a85df894124a5c1f0501c60640dce7d7c09cd1783ed61461f285fa89e6227ba1b427e81d00" ], @@ -3320,7 +3469,8 @@ "uxid": "dd07d759d92e3d628a35c467dcd919dcae825a9fa79a14855714270dae08c0ce", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "721200.000000", - "hours": 143635 + "hours": 143635, + "calculated_hours": 237791 } ], "outputs": [ @@ -3342,7 +3492,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17035, + "height": 46302, "block_seq": 149, "unknown": false }, @@ -3351,6 +3501,7 @@ "txid": "b69536fbec9911da41e9d0c5ca73459f5e692ba155f8b72c0972792e9937a0fe", "inner_hash": "a6d1d92496583cefdf9a9d4e278cdeac9d8e7c31eec3061f0a91bc0116ced8e4", "timestamp": 1430642106, + "fee": 33471, "sigs": [ "d98168e1f19fbabcf0ec9fdf21d36486a2d70b13624bd2ec765bc773a08c7f5c09c7df2664e3205c7555bd3c5cb64ca78f5f0a81613ef4a7d740348e0132caf901" ], @@ -3359,7 +3510,8 @@ "uxid": "c739b518f3f700e810f81523d81b15f968fbf202f389ceaa9d9f303319a00275", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "720200.000000", - "hours": 17954 + "hours": 17954, + "calculated_hours": 37959 } ], "outputs": [ @@ -3381,7 +3533,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17034, + "height": 46301, "block_seq": 150, "unknown": false }, @@ -3390,6 +3542,7 @@ "txid": "3e228564e3c187e22bd489857fdb1db7036021e19f688aad56cfee57d5e13ac5", "inner_hash": "9b4783f4cd11a81e945a2d09b699f76254caa3bbf22ce8533f3b9f179c207702", "timestamp": 1430642306, + "fee": 41639, "sigs": [ "8bd5632a52c39ef9e9ce90ebabd119c8f93e32a5a5b6e8fe80c58163b4adcc040725f18321894b59c3546c8ce9fb182e1a4dd6a3b4405229635e3ac3d80213a700" ], @@ -3398,7 +3551,8 @@ "uxid": "95694746f813d018be7988aec666b52924a7815adabe9cbdac3f6ab0f51bd1ab", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "719200.000000", - "hours": 2244 + "hours": 2244, + "calculated_hours": 42199 } ], "outputs": [ @@ -3420,7 +3574,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17033, + "height": 46300, "block_seq": 151, "unknown": false }, @@ -3429,6 +3583,7 @@ "txid": "18607765c3fbd45eafa15d2d62ab3cbc7ba7bd80c42931aae4db75aa02898671", "inner_hash": "dbbf7608b67e82363ced90b364a9b8c91029b336ef2b68182d986e399eacb41a", "timestamp": 1430642426, + "fee": 24180, "sigs": [ "1972310d45a5baf10a8d929a132c725c51cdd19daae3baa640570aeadbb08ea700fbe46e6649289bec61065b05250b84872002f93634e6be81bae042cf80854b01" ], @@ -3437,7 +3592,8 @@ "uxid": "be958e5c47415291a781648335db24e448e1f4f09aa5e9c3f055fbc906b574d7", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "719100.000000", - "hours": 280 + "hours": 280, + "calculated_hours": 24250 } ], "outputs": [ @@ -3459,7 +3615,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17032, + "height": 46299, "block_seq": 152, "unknown": false }, @@ -3468,6 +3624,7 @@ "txid": "dc10e0565a14dfecda066577581f3e2d073de34ed3e911ed94413d38fc0a33d2", "inner_hash": "821dfa6422bb093a528a2ec2bedd0566599cef3e2f4f91441f3073888e092832", "timestamp": 1430642546, + "fee": 23963, "sigs": [ "1bb9e5e58a4a7dfc9a29bb22eabb2ee4dc6e40dd71b35962adf95d1c1208309727f070257b4591e959a4965cb8d22710233dd1f65c3b58ec47bb71e3d7ebd3e700" ], @@ -3476,7 +3633,8 @@ "uxid": "68165429853e18e4414ec6c15630262ebcaa802ff1d83b6cbe116db51cb32066", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "718100.000000", - "hours": 35 + "hours": 35, + "calculated_hours": 23971 } ], "outputs": [ @@ -3498,7 +3656,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17031, + "height": 46298, "block_seq": 153, "unknown": false }, @@ -3507,6 +3665,7 @@ "txid": "b0d7ff47658b3e32d8457eb62f6df0c7caaf7feadcbf8cc0c713976026f0404c", "inner_hash": "5154559a3393277ed8db279bf27a9572c9aeebe81f321d9fb07a5e4313005a90", "timestamp": 1430642816, + "fee": 53786, "sigs": [ "a3edf9a3203fc696aefde6180d6c28fbaf3f4ee662ea90d82a93c3a8485593465f956713abfea8322b952d61969b29267f3826775638da77a1bf8567a40564e500" ], @@ -3515,7 +3674,8 @@ "uxid": "46aeb9ea01bb04e28c55ef11f8e75434dbeee546f7e06bdef332c604590c48a1", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "717100.000000", - "hours": 4 + "hours": 4, + "calculated_hours": 53786 } ], "outputs": [ @@ -3537,7 +3697,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17030, + "height": 46297, "block_seq": 154, "unknown": false }, @@ -3546,6 +3706,7 @@ "txid": "be0957035ed2ac444f67273fc5c1c6a39ee373f6f83d1604d0023742a8cd7e42", "inner_hash": "957140523c9acc14a4f6b6a2fd05e70c58d2ed51f43b4e88b1406b398f4e7b2e", "timestamp": 1430643706, + "fee": 177035, "sigs": [ "ee25ac881aa867780086df4716864a9ec524deeecc140faa60b9f9b87805816c22659836b5169f8eab0977a2337638b6ed7cd7c4a5d4ee3664e7ad28e91dd5b901" ], @@ -3554,7 +3715,8 @@ "uxid": "598503902d2e6cb62d6f6478f09d8da05af6fd2da92b50825da3b7f74b2df34c", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "716100.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 177035 } ], "outputs": [ @@ -3576,7 +3738,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17029, + "height": 46296, "block_seq": 155, "unknown": false }, @@ -3585,6 +3747,7 @@ "txid": "c9582c8134fa64fdf08cd93d42035adcced3f16aa8ee1a1393e3fcd7c07aa40c", "inner_hash": "ecd6b0cab28125e3ec1fe23a046c259a7d608802da7d6397dbd8b410de03b94d", "timestamp": 1430643906, + "fee": 39727, "sigs": [ "95e5d5d0856bf5387de8fbdae05f5953510fd85ec346e65fa5fb68984bdb1ab83aa7807e57f00354d934f84a0034ecf8aa74fe3b8e9e480021873f62827770ab01" ], @@ -3593,7 +3756,8 @@ "uxid": "4b917e7bd3409c43f9f670f2846ce74f9288708df5aa1d9ae142f2411ce426da", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "715100.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 39727 } ], "outputs": [ @@ -3615,7 +3779,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17028, + "height": 46295, "block_seq": 156, "unknown": false }, @@ -3624,6 +3788,7 @@ "txid": "29a883ef9dc67bc683014187b9865c827b5e2f8afd7bf6f3787483318063789e", "inner_hash": "bf3a81668fb27c0f55d9ec33490cb4c91ec7636ec1f85761fadbfebc020a618a", "timestamp": 1430644036, + "fee": 25812, "sigs": [ "970a22ba9a849caf00fc787a182dd67a3be794db9d66c691e9d904a78f90397542dee63e801c8b7f4077060fda76f0ac56a67b30865cc4634679f118abe04fc101" ], @@ -3632,7 +3797,8 @@ "uxid": "d50a372f8f8cd1e0b10d847613b68ee760f195f5f212d6c59e86312c84dd07ac", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "714800.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 25812 } ], "outputs": [ @@ -3654,7 +3820,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17027, + "height": 46294, "block_seq": 157, "unknown": false }, @@ -3663,6 +3829,7 @@ "txid": "c3fd04cd27ea311b1a67d40cd3dbb2ea8ae2c6f6139620cb86be29f33ed99171", "inner_hash": "5a975ee4a0f95c51a0a847b1d082bc4859a4b7904acbaece151c58e01f26a870", "timestamp": 1430673946, + "fee": 5930488, "sigs": [ "06c22eb6cb03468010ffbd2b54faa5835ea44cf552779b0adb09817db7e5494d49031d2e4b8994b670857b193766a1f430857955edd627f290f71f970407139b01" ], @@ -3671,7 +3838,8 @@ "uxid": "896865f9b610f9fb69a741596b3ecb9fff3790d40476a9f7852831bdf477aaee", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "713800.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 5930488 } ], "outputs": [ @@ -3693,7 +3861,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17026, + "height": 46293, "block_seq": 158, "unknown": false }, @@ -3702,6 +3870,7 @@ "txid": "3d9f1aa1b6206275081cb9c26155f6261be1ef9c94b4eaadb1a7e8277a2099fa", "inner_hash": "ef7915c2cc32cfd043bf60533a563a89ee68a7b2f88e9e1e55e6a54494bde805", "timestamp": 1430674696, + "fee": 144958, "sigs": [ "6d2993d471d4b27d4b0c2beef286dab7e38013853926fef032a8a10d9161fbff59b4eba58d7578182f9f1e79ee763ab409aec46748351b0a7d1a020a3fe3824100" ], @@ -3710,7 +3879,8 @@ "uxid": "272d5bbd86a87796a20e3e4debc46a2076718800343bee4f72fc0217a98a10a3", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "695800.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 144958 } ], "outputs": [ @@ -3732,7 +3902,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17025, + "height": 46292, "block_seq": 159, "unknown": false }, @@ -3741,6 +3911,7 @@ "txid": "d720ca0efb19b964f481724e5d3f932841e9e75a69b998baf4b575cf3298cb87", "inner_hash": "b35da2487dfd396bc01b5296fab691557760886b23ba5bd18e52808549dbfef2", "timestamp": 1430715196, + "fee": 7546500, "sigs": [ "9cb0a128d17a9c42f3e4e44f4da9106ef11407da8d9a434745add4c5f7a8e379325976d8c2222c3328acdc2c6ca597fab4fae292c5529e07c55919ce0e0320ca01" ], @@ -3749,7 +3920,8 @@ "uxid": "60906201d3e7c67ddb976972460b2b8ed093e1f6720a784cbaea376ca13e6cef", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "670800.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 7546500 } ], "outputs": [ @@ -3771,7 +3943,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17024, + "height": 46291, "block_seq": 160, "unknown": false }, @@ -3780,6 +3952,7 @@ "txid": "0e8e352b1f2cd419bca619918ce6d5ec1eac0ba7252d76eef5d9d8f8186f737a", "inner_hash": "49571d7e7c6b3e473b938f1cf4748c67f9301ca710f26ee56d0d8e231cb4515f", "timestamp": 1430784172, + "fee": 12731130, "sigs": [ "8d4556a22c5fb84792cc88bfb47f795e6ba9fc211933776acd89b6da9aff71ea7803bf5b0e1d9afef2f3f77bbc4a7633c459ab9cb11a06723c4cad570717edfd00" ], @@ -3788,7 +3961,8 @@ "uxid": "4912e9dbbb5a4cc7472c27b0212ab443e7b5499207b10666a66257005e182714", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "664464.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 12731130 } ], "outputs": [ @@ -3810,7 +3984,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17023, + "height": 46290, "block_seq": 161, "unknown": false }, @@ -3819,6 +3993,7 @@ "txid": "d5091ca65ff61998dfb4535a7927fb736abf2a81140a11322dcf8226de27cf92", "inner_hash": "7a000aaa5751b65d3bccd4d307b7b8602aae539971de3af3baa3e126d52a54f2", "timestamp": 1430784312, + "fee": 25801, "sigs": [ "693d3153218a69e2ef1e676d6c124dd7fab7ee312d41fd9dbe005a0e681a8b052708a9559fc08e8173e1ef83e45f838742e4a1af765ea7f0fddb38cee2cced8000" ], @@ -3827,7 +4002,8 @@ "uxid": "659bac1636b64087ad5d3cb0ae78c52f28ad920016ec67e08415a537e0343072", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "663464.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 25801 } ], "outputs": [ @@ -3849,7 +4025,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17022, + "height": 46289, "block_seq": 162, "unknown": false }, @@ -3858,6 +4034,7 @@ "txid": "30e66ff45cfb145eb465e2ebdef0bb10005138bc1727c83888785b04d548e85b", "inner_hash": "c87fb6e81fc1d99b16958d4626aa0e5ec4033443230bbc8b35e2882c078bf868", "timestamp": 1430784372, + "fee": 11041, "sigs": [ "b4feadec09b450b99795044931a94f7b8549bf876db7c62132df60056dd0c88e3821d1656407b1572fbb04eb71f6de57db43c997501989f44042d04fc3afdf4201" ], @@ -3866,7 +4043,8 @@ "uxid": "97f64c3c636e5fc997e277cd48644055ef51045ed9c473c05dd6e699872a6c3d", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "662464.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 11041 } ], "outputs": [ @@ -3888,7 +4066,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17021, + "height": 46288, "block_seq": 163, "unknown": false }, @@ -3897,6 +4075,7 @@ "txid": "ec79854fade530d84099d5619864a8e1e8ec9d27a086917a239500cada43c6e8", "inner_hash": "ed6a317c8ea3624337463c1cca78bdcf87bf80dace1bccad050d27a49d3ea1d2", "timestamp": 1430784932, + "fee": 103026, "sigs": [ "c0548625b3bc88308155f598c3304a124632c0faef8005b8f9306b229b632b253c5e163a02409ba40b01560f77a6acde2ccc48cb0efedd4feb68ecbd925917fa00" ], @@ -3905,7 +4084,8 @@ "uxid": "122b7a9a61ee04e071002d74ffb26b12ed7952ff9a138b5437f990f4678cc2e5", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "662314.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 103026 } ], "outputs": [ @@ -3927,7 +4107,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17020, + "height": 46287, "block_seq": 164, "unknown": false }, @@ -3936,6 +4116,7 @@ "txid": "743bf1eede313145824db1c4f8d683b74ab5e0bc825082d986308b73fd52f1d7", "inner_hash": "a0427c37a8ca9f8205630cc8d4c6d95200413d3397a0de9bf015763107b8fc80", "timestamp": 1430790052, + "fee": 940535, "sigs": [ "dc400e921f7f94da5f353846f1340e039b4527fff121a56579390fb4fa4154634e3b3aad44ddf0aaebea5abc1dc5ba2a00540fd2888ed5c4ab7b20c51255086a01" ], @@ -3944,7 +4125,8 @@ "uxid": "c07593d4329f82da243e4bbd7430e4b10e7b35f9ce0a3718d0e6d25d20b4939b", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "661314.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 940535 } ], "outputs": [ @@ -3966,7 +4148,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17019, + "height": 46286, "block_seq": 165, "unknown": false }, @@ -3975,6 +4157,7 @@ "txid": "3991a257eee265481e713917a3a9c15756f61175bcfc7acfdbe84158e43fd5e6", "inner_hash": "dea502923be2dd8b4c48eb7ed2b146793ef840e9749d129bf7f6bda0fdcc43de", "timestamp": 1430790152, + "fee": 18342, "sigs": [ "dbb23f6d22438c10b98b437fe2ee4d7c5513aba7b0b6141648ac22f07e3768fc5d8d80f9dbcaa95edf925668b6018793a01ca70cf7b48d7c7deac106557ebf7f00" ], @@ -3983,7 +4166,8 @@ "uxid": "4d52106e41dba0099549fd81fb8feb6915225b0125c53faa0f7c578ea78f213a", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "660314.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 18342 } ], "outputs": [ @@ -4005,7 +4189,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17017, + "height": 46284, "block_seq": 167, "unknown": false }, @@ -4014,6 +4198,7 @@ "txid": "b29222c08f10b8bc4ea18981519a3b0e02b9c9cec63ee28d9ffa2efcaf2a8e5a", "inner_hash": "61c38575be160010335d96cf7c6ef0608cdb7b85079f2518532d00b6f42f13d0", "timestamp": 1430791902, + "fee": 253195, "sigs": [ "cb5c75671164755516cbf4d94e2288d56985b4d3113538bc818d1aa1c944a76b1beae28964c8e596ab0cd252cda6cf2a5468cbd0dbeff21e35609b5a6577eb0a01" ], @@ -4022,7 +4207,8 @@ "uxid": "fef9dd3b633274743099e607d9229717a001d6de6a4031479cc30d31d65e8396", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "659314.000000", - "hours": 0 + "hours": 0, + "calculated_hours": 320499 } ], "outputs": [ @@ -4044,7 +4230,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17016, + "height": 46283, "block_seq": 168, "unknown": false }, @@ -4053,6 +4239,7 @@ "txid": "50fc81b0ba25669105a169a969459ccdb10278051b604a3f91467c2528c83652", "inner_hash": "c356824e25deeecd3f531eb56a26d5875b7b81743e9c8f3d6beff5f634bf5e3f", "timestamp": 1430792072, + "fee": 56369, "sigs": [ "ac3b968f82649fac3822db1af5c0be17fc20cf86e091362b1584a2b66c033b10541f70fb6f55d8e1b3c57161ce37412a52d2009dd8abc9ef7ab038b19d8d644401" ], @@ -4061,7 +4248,8 @@ "uxid": "21f0fb666dca05d7a43ab26a378f7f7eaedfacde22fa047ca72857e9509cc748", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "659214.000000", - "hours": 33652 + "hours": 33652, + "calculated_hours": 64781 } ], "outputs": [ @@ -4083,7 +4271,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17013, + "height": 46280, "block_seq": 171, "unknown": false }, @@ -4092,6 +4280,7 @@ "txid": "fb495093f2f4e5c6555c50150ea60c0a6f430e53aa971ebb3e2b5412866a1f06", "inner_hash": "05596340e51ad628080101c8e92a60f27e0f5ab509e892f9b65a0988b1575ddb", "timestamp": 1430870562, + "fee": 12326841, "sigs": [ "068a56e916267a1756d9348bb965f3ed2dcba956fe4c626cd4836921dd836f7c0fa923d6451d5c87aa2eab528ff19ec332434bd12e197eeafbf0896e84940c4401" ], @@ -4100,7 +4289,8 @@ "uxid": "6b3a0cab1d9ad6fd011a3bac5e6ff4e3f7903bce911dc7fe83926eae557c34c3", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "658214.000000", - "hours": 4206 + "hours": 4206, + "calculated_hours": 14355099 } ], "outputs": [ @@ -4122,7 +4312,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17011, + "height": 46278, "block_seq": 173, "unknown": false }, @@ -4131,6 +4321,7 @@ "txid": "a7665cec98224150968ec1ef9ef2d6b3175c9de8f9f8c7bc786b30cc74997c57", "inner_hash": "5bd2503c4ff78e7c9d182bfe5e62e54f1bfb944bb526d97b272021d8ccfa9359", "timestamp": 1430871512, + "fee": 930183, "sigs": [ "dbd1e8763cb9681aeb96edc0c8483decee30b670778bec88da249f9d4f2201c330d2a16349608ba51eb8a387805dce9618810c4e6fd7af548cccee7d2c9c5dd201" ], @@ -4139,7 +4330,8 @@ "uxid": "372703f8109295f0f58fbee58795979e10dd887869f4fc1da4881ce8a3c0aeb4", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "647750.000000", - "hours": 1014129 + "hours": 1014129, + "calculated_hours": 1185063 } ], "outputs": [ @@ -4161,7 +4353,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17009, + "height": 46276, "block_seq": 175, "unknown": false }, @@ -4170,6 +4362,7 @@ "txid": "9364ed6cfcc289df74dc6bac1993f7ab3441b898cb3f06918198d2476c83dbac", "inner_hash": "a55922b0495d39c8e9db70ac9aca99266d5a7f3644106b4b5468345d955acf41", "timestamp": 1430908702, + "fee": 6658374, "sigs": [ "cecae09b7925e9f6db1ccf5ef9a93687a43bbeaefe2888abcc07411c71f850c80c05ed573abd67bf9f0e8a096a1aba8187547e3d062e5ed147ac51961cc3559701" ], @@ -4178,7 +4371,8 @@ "uxid": "14027340f6e1d98bba3f7f5f3b50e3588f8a19e4d021db944e7a28b2643640e1", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "635750.000000", - "hours": 127440 + "hours": 127440, + "calculated_hours": 6695090 } ], "outputs": [ @@ -4200,7 +4394,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17005, + "height": 46272, "block_seq": 179, "unknown": false }, @@ -4209,6 +4403,7 @@ "txid": "f58f664eea258100126636a4111838e489ef5aec848ca8498319c290fa2a0805", "inner_hash": "db98f515ce6c3d99fd7c39a6ac59ab498b1a2cc8fc6a13377ac7d3d463898e7c", "timestamp": 1431339429, + "fee": 63843789, "sigs": [ "1ca18424c9a313e9c253aecaec3c532c35c60e454f026a3d2794c772bc74a19809d53f8862962e865dd822dd054cd7f32b89b810968d95c9db6a9a0c1095390601" ], @@ -4217,7 +4412,8 @@ "uxid": "8e55f10a0615a0737e6906132e09ac08a206971ba4b656f004acc7f4b7889bc8", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "625750.000000", - "hours": 18358 + "hours": 18358, + "calculated_hours": 74887085 } ], "outputs": [ @@ -4239,7 +4435,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17003, + "height": 46270, "block_seq": 181, "unknown": false }, @@ -4248,6 +4444,7 @@ "txid": "701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947", "inner_hash": "f8293dbfdddcc56a97664655ceee650715d35a0dda32a9f0ce0e2e99d4899124", "timestamp": 1431757585, + "fee": 65605413, "sigs": [ "3981061c7275ae9cc936e902a5367fdd87ef779bbdb31e1e10d325d17a129abb34f6e597ceeaf67bb051774b41c58276004f6a63cb81de61d4693bc7a5536f3200" ], @@ -4256,7 +4453,8 @@ "uxid": "fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f20", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "615700.000000", - "hours": 5521648 + "hours": 5521648, + "calculated_hours": 77037939 } ], "outputs": [ @@ -4278,7 +4476,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 17000, + "height": 46267, "block_seq": 184, "unknown": false }, @@ -4287,6 +4485,7 @@ "txid": "a230d5b5b745bb51d40e86b11e6508dc84a486f5ffd3584b0d45818ab8520802", "inner_hash": "e6acee381aaefcd94f28b3a7ef5e6c34232fd5e78e96816d71c9c60248d6c5c6", "timestamp": 1432327272, + "fee": 93088328, "sigs": [ "2e70883dc210920e639b5f22efd820a5f04b5290bc65b6ef4c52cd6283ef7a2e580fec499d33a71700a61dcab9200ee09a08a695affa9c12ef00d6d07cb0164001" ], @@ -4295,7 +4494,8 @@ "uxid": "8f9c09c37e0c636178e4229e2e8212c067ef0a8c501be9e2757a97b980d7a98a", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "605700.000000", - "hours": 5716263 + "hours": 5716263, + "calculated_hours": 101566100 } ], "outputs": [ @@ -4317,7 +4517,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16994, + "height": 46261, "block_seq": 190, "unknown": false }, @@ -4326,6 +4526,7 @@ "txid": "655651b51d288fae2ca80dd8231fbc8927e7f0203d698bdf0dc47e1e9c63652d", "inner_hash": "472ae342c5dcb47ec7cf0b63fba1414d5e4a32c63e974ce390d55fb668972151", "timestamp": 1433229543, + "fee": 109516348, "sigs": [ "7dfbaddfb6b73fd84f23644a755c025b8480ab8754ad2e1a1c95d53ff52ed87e45030465ead44995235678e6e53ead91926da4af940367bef53ba7ae229edb7901" ], @@ -4334,7 +4535,8 @@ "uxid": "d620b98b74f27e2afc0fcd750037de5d157666d2dae15817348059d23ec97f52", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "565700.000000", - "hours": 4238886 + "hours": 4238886, + "calculated_hours": 146020748 } ], "outputs": [ @@ -4356,7 +4558,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16992, + "height": 46259, "block_seq": 192, "unknown": false }, @@ -4365,6 +4567,7 @@ "txid": "cff22d57daf828015489bba3b01538369f5627cc89ad0f139261bb0be0dac4a8", "inner_hash": "4fd9cd0aab064ef8cf67e2b6b0102aa1cd4df52cf60b00206cc7b5619bcf5acc", "timestamp": 1433331745, + "fee": 28712805, "sigs": [ "36a79d8ce7050bf1df11c9e839ecbb75f889161c7f3a81539a5da630953dad30159d0db804123c48f3bcabe2314887614bd57be64f951f7162ffc08f5810d23101" ], @@ -4373,7 +4576,8 @@ "uxid": "30e062105d7ef8c4981932d80d904bee2270c238bc36a6532a8917cce05f17b4", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "565100.000000", - "hours": 18252200 + "hours": 18252200, + "calculated_hours": 34295075 } ], "outputs": [ @@ -4395,7 +4599,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16991, + "height": 46258, "block_seq": 193, "unknown": false }, @@ -4404,6 +4608,7 @@ "txid": "1b83454b4e61348b9c643815c26350b4e34796170593895961f329a759cbadf8", "inner_hash": "d551018fa96bcf1df6ae0136f75bfb5db002e6e41723fa80ab4fb5a1857bfcde", "timestamp": 1433334775, + "fee": 2568137, "sigs": [ "9c02e3b3c6cc517badf9a4408bb9bf9d8d72fad0e2cc3f04f2e176bcfc2a7fee1b4740c4bc4eaa4ae008a9a18eda3f0cace91199613b14d2c34178cca1ac8ac500" ], @@ -4412,7 +4617,8 @@ "uxid": "32463caca7ea96e2fb3fb03502b29513bb9e6385cb6097c4ba411ea808b6e5e1", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "564100.000000", - "hours": 2791135 + "hours": 2791135, + "calculated_hours": 3265919 } ], "outputs": [ @@ -4434,7 +4640,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16989, + "height": 46256, "block_seq": 195, "unknown": false }, @@ -4443,6 +4649,7 @@ "txid": "fa7a60f6d4a22404e28ce9d1600442c19237552d8678bd610793cb8e6b3353d4", "inner_hash": "cc33e2831789b20ec4eb187a6b44a9f772aa243f3f5f6262cb46087a0a6ac3f5", "timestamp": 1437050608, + "fee": 495228940, "sigs": [ "9b8e90365377deb3da537fdda4653f117c1c7de525b611d9d07f23139b5d4c642af80ad70779aa012b6399e73af8e08e87952f085edf8060f0832635e3244cb400" ], @@ -4451,7 +4658,8 @@ "uxid": "3fa8d60e34b1195ee24fde2c4594b8c0eaf06cb114b395bbce6bebeeccf709b6", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "561700.000000", - "hours": 348891 + "hours": 348891, + "calculated_hours": 580122056 } ], "outputs": [ @@ -4473,7 +4681,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16987, + "height": 46254, "block_seq": 197, "unknown": false }, @@ -4482,6 +4690,7 @@ "txid": "b18ed75097ed7910315e3be9042c0ca0b734d30a1afb8f9346bbe18acddd3a8a", "inner_hash": "847e1acbed683214ad9e0fe164204db0ae8f2ce1cc420cb25aa63c76a4739580", "timestamp": 1437051128, + "fee": 31904730, "sigs": [ "523ef82bcc586c5c885ca0fc7f2ffe5057573556a8bfaa3d9eb30b6316e698e93ac11a9e0d8a3c2a8ace763d80edd8e059153b61a4a35fa6f0b214d8ba0c485d00" ], @@ -4490,7 +4699,8 @@ "uxid": "ac638ce4f15f749b3ef4168fed59a9ae0e8b5f8894b27b151fae31af102d245a", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "561600.000000", - "hours": 42446558 + "hours": 42446558, + "calculated_hours": 42527678 } ], "outputs": [ @@ -4512,7 +4722,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16986, + "height": 46253, "block_seq": 198, "unknown": false }, @@ -4521,6 +4731,7 @@ "txid": "cd6fae6c021e64768cbb2e0a17ec6853db94b5dde52b417f872371dc3c24a27f", "inner_hash": "8dde5734f617c1313288ac9d1b762a7d1e88b68846945b83c35935bcce1fdd8a", "timestamp": 1437139506, + "fee": 16933928, "sigs": [ "1221df811e418338ca156c42fc881d1cd7384b819a6683d4a54ab6e78521e32761452bcbb7ad856fa345a8f80c6206b19bd178c09975b87180f86448994ba07c00" ], @@ -4529,7 +4740,8 @@ "uxid": "6d453ceff872a65be937598159fac754390c00e7731cc73c72169c476d1625c5", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "527520.000000", - "hours": 5311474 + "hours": 5311474, + "calculated_hours": 18261796 } ], "outputs": [ @@ -4551,7 +4763,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16984, + "height": 46251, "block_seq": 200, "unknown": false }, @@ -4560,6 +4772,7 @@ "txid": "2e05ca5b53cdaf3d65102aa6a4a707a324e5bfa7fa46e9b3b7328d1e0363822a", "inner_hash": "08832259284fe4965625e2ef97d1ff3b40d7832b159b3d5369fc086ebb95479f", "timestamp": 1438939186, + "fee": 54694521, "sigs": [ "820dc5d47540b0978818356b512731ae47517c061a1b660e7fd47e8f3d6420700377fd2ec04b618504cd3dadf642111df2f6c1f6edf2a4067fd460c69e8eb07301" ], @@ -4568,7 +4781,8 @@ "uxid": "6c34016037cd17622846e71bc635914d4d8f256c147aa5a0b84a896e83229480", "owner": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", "coins": "26400.000000", - "hours": 64785 + "hours": 64785, + "calculated_hours": 70389941 } ], "outputs": [ @@ -4590,7 +4804,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16959, + "height": 46226, "block_seq": 225, "unknown": false }, @@ -4599,6 +4813,7 @@ "txid": "5a348a2f9d4e70f1f0d68fa9abc66d8eb4adcd45942c89d79a4121033e7dfc39", "inner_hash": "a282319ed05751e5df08ece9dfe9fdcc73ee03b3efa2227c78ed1fd65a072c23", "timestamp": 1440298886, + "fee": 356772925, "sigs": [ "c2e5060c13dbcbe8bd76cbe8d7fa2aab8a8738bc6b1c1acf50366f211cbda18611feb1e218df129d1e6a6f957310ad08a139c03555d6ba2b99f52fd988e0a96800", "90ed23dacf21e05817442155cf7ae9867a9531ee0e1c4b575caaec7c65ede2f73344e1b12e093b4d1ebb11e457f066560d1a280cf8cb48fbf7e937202c329fa001" @@ -4608,13 +4823,15 @@ "uxid": "bd9c90d1c11fd00392db236d4c7fc06da07806c1676e4cc6df25c9df35e75d9d", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "527220.000000", - "hours": 663934 + "hours": 663934, + "calculated_hours": 463355135 }, { "uxid": "50e534ebc9c3f0b99461ad70b01d415eabfc046e824a5d1ba46854c913928612", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "1000.000000", - "hours": 7847710 + "hours": 7847710, + "calculated_hours": 8225404 } ], "outputs": [ @@ -4636,7 +4853,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16958, + "height": 46225, "block_seq": 226, "unknown": false }, @@ -4645,6 +4862,7 @@ "txid": "e91d2553c18538d90847e7d432c75978abb0f6f84edeea2f942d018e7306074b", "inner_hash": "e16c45b163f87caefb9d231d4608e6a9b67b5d379a7bff3aebd6587cfa349df6", "timestamp": 1440299046, + "fee": 86129188, "sigs": [ "cdcc51cad962fa4c6da30a44222c1a7d91501d07ba358c5a017b1105ec6f95091ba4ed430a95220492b228cd1b48a74f19c08ef550108cb639a7451e6d80cb1100", "6969d30799e0687d3c80ce026bc510f920171ed4fb592ce3bf7ba1c142ec515230856a3c5b618495b449f264dd4ca1c1cea6e0e95756b2d0201d280571ba41e301" @@ -4654,13 +4872,15 @@ "uxid": "44233d76c4cfcf6d45efd339ea004c41a3c21f5e9b1919484f4256c53e8aa5a7", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "10000.000000", - "hours": 57403807 + "hours": 57403807, + "calculated_hours": 57404251 }, { "uxid": "75323e65eec723bb62819835a2e9ae9d7aff770fcf076dd0325e03abec471bb9", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "518220.000000", - "hours": 57403807 + "hours": 57403807, + "calculated_hours": 57426839 } ], "outputs": [ @@ -4682,7 +4902,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16957, + "height": 46224, "block_seq": 227, "unknown": false }, @@ -4691,6 +4911,7 @@ "txid": "71f762590ff2ca5e0591405ca5bb81aa2540981ea6e5cb71da1b30e4f91124a0", "inner_hash": "024a7d284281f46931f4068a7dc377064aaf51b1c841e8d43a9f80f19aa52a8e", "timestamp": 1440299156, + "fee": 10779353, "sigs": [ "dac9b5146b34a81f1c167cb54a15584e4323cb1910bf8de6c3b999f903a88b25473df3474c5ebce317dc40b121c632a79ecc8e9081406cc5d4b7a9848bd13d0f01" ], @@ -4699,7 +4920,8 @@ "uxid": "7d9bc531b7a990d565c3f8d64de6861a2c619c80ad5014685548261fa13c4b78", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "528170.000000", - "hours": 14350951 + "hours": 14350951, + "calculated_hours": 14367089 } ], "outputs": [ @@ -4721,7 +4943,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16956, + "height": 46223, "block_seq": 228, "unknown": false }, @@ -4730,6 +4952,7 @@ "txid": "8ca1a46e2ea862c0886adccc211140ff394315c580a8f2da711eeed39d6326eb", "inner_hash": "e026ab911b2370df6ef3cf8ee91e2005ab9fa978efd4074a8415aa272b0c19a9", "timestamp": 1440299256, + "fee": 1360072, "sigs": [ "2805ab4816da23f9e1fc26c8940b5b5b27f90c910201229e239fa2b8f3cb4f9a5d1b57a62c48d5fc21ed11ccc121d22a8269af51a9de1359dd897a78a068d9a300" ], @@ -4738,7 +4961,8 @@ "uxid": "e07733e150eee8faacba13e00b2719618f44c57311881b450eff03a8a7fad882", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "528120.000000", - "hours": 1793868 + "hours": 1793868, + "calculated_hours": 1808538 } ], "outputs": [ @@ -4760,7 +4984,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16955, + "height": 46222, "block_seq": 229, "unknown": false }, @@ -4769,6 +4993,7 @@ "txid": "ac0737f4a51a7274f6a32f337d21af0681eff77276f6365c1809a1a73564e850", "inner_hash": "b0faed6dd74071ff4e4083f9e5f73ff5af90fda24b4e52a00962bae7eaadf5f8", "timestamp": 1440339226, + "fee": 6031218, "sigs": [ "34abcaa9a093713d2a19323e234d216169d3f75336b3170c1ab7c281386d42da0e97cf5e444a7473a0b1806d3d887e9622a329770c57f27c7532f3b69e3a6b9100" ], @@ -4777,7 +5002,8 @@ "uxid": "ad55899c8170d5a577e2a501698002d83dcbf46a72ee351c1f45b366e91ec29c", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "528070.000000", - "hours": 224233 + "hours": 224233, + "calculated_hours": 6087276 } ], "outputs": [ @@ -4799,7 +5025,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16954, + "height": 46221, "block_seq": 230, "unknown": false }, @@ -4808,6 +5034,7 @@ "txid": "26746e5734590a1ef50f6d8ec6f58c25ed4b2bc57324f9e321f5543807f8830a", "inner_hash": "66744475146d04a7d95866e1e19b97e1d903e95bc5e8ea96223b281b7b95dbf7", "timestamp": 1440400166, + "fee": 8941454, "sigs": [ "199134f5ee986ec6a7a86d01920a98c8930be6f224dfeddece5c94155c9b4cea59b78c855887769f00aa6aeb76eb8e632f25b58bd5409fd481fb6663c30db67201" ], @@ -4816,7 +5043,8 @@ "uxid": "daf47014d9191ccfe8bc920aed20088f40c404dbf1836596f021bdd65bdf3467", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "526970.000000", - "hours": 28029 + "hours": 28029, + "calculated_hours": 8948460 } ], "outputs": [ @@ -4838,7 +5066,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16953, + "height": 46220, "block_seq": 231, "unknown": false }, @@ -4847,6 +5075,7 @@ "txid": "4553ac3bd00bc61bb9deb8a2bf3c606ecf78b857da710728f5b86fdd20434958", "inner_hash": "0a23fd3f113c52b6b36d397256fe0161a3d7edc77f128ac974173fac90927fb9", "timestamp": 1440400256, + "fee": 15802, "sigs": [ "883145c4d76b5032ab0489407e991b247edeac0f89334c0588b8ede6d4ea052a2c330a94598fc9953cf9d25afeee7cf00ecea4d14744657ec9d888fe39b0d55c01" ], @@ -4855,7 +5084,8 @@ "uxid": "8421f4591fa459bba5bb36d8e3465253ae6fa8ce66682a50bbab92bfeb0eac5f", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "526920.000000", - "hours": 3503 + "hours": 3503, + "calculated_hours": 16676 } ], "outputs": [ @@ -4877,7 +5107,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16952, + "height": 46219, "block_seq": 232, "unknown": false }, @@ -4886,6 +5116,7 @@ "txid": "ca448d0b9f00c3f779acd75ea6e5d09cb93b4dee8ae417e43cecc58b121155f2", "inner_hash": "bdcb4cfeae31a07ac42547510c4763b26b139ae2b61d411d7d4a78678a89f4e4", "timestamp": 1440412792, + "fee": 1835007, "sigs": [ "8d5c007633116141c43ff4c87e1394052c4b6832c250ebf5f49781c7b0879ab12261bfd92f41fa6963c4b74e96c2bf8c96e8708f5dd04d4781fdb780c8307bb001" ], @@ -4894,7 +5125,8 @@ "uxid": "fa71bd8cc9a8ec39da2b9eb1d6f50d1c79f3c527e0feb4a121c87a82a337106c", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "526870.000000", - "hours": 437 + "hours": 437, + "calculated_hours": 1835115 } ], "outputs": [ @@ -4916,7 +5148,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16951, + "height": 46218, "block_seq": 233, "unknown": false }, @@ -4925,6 +5157,7 @@ "txid": "688395456432e777e9bcef2482950d047259da990199d26d88f113ba37e870e6", "inner_hash": "97a6db93329382d3a23dad5caf203056e6747dca4722c7e8e8d1f316b5f79503", "timestamp": 1440510872, + "fee": 14354361, "sigs": [ "b3a6984d1440aeceb4dac0304215a1bf8d017ab581f19c550b4d8f859f9a15270b54a8e599bff4f4a3a5fb3fcbe2f5bb95b7d61d4d48735696d7dd3c16f8fa7a01", "5209b5d255a1308f3e25ad6115ed005e34479f4b9155c16c27b40b28da08332b646cc7fb29d82e07f6e8f0de780a4e6a6980ccf4c80214c9fbd0a3fe7eadf84900" @@ -4934,13 +5167,15 @@ "uxid": "61d2b0b56b48f446cde90400e87ecd005c555ccc376bbc08208b682c4bafe937", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "511870.000000", - "hours": 54 + "hours": 54, + "calculated_hours": 13945667 }, { "uxid": "bc2efd372485b52b954f4bde244c776af12529ba1382ee3e343087754365c3fc", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "15000.000000", - "hours": 54 + "hours": 54, + "calculated_hours": 408720 } ], "outputs": [ @@ -4962,7 +5197,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16950, + "height": 46217, "block_seq": 234, "unknown": false }, @@ -4971,6 +5206,7 @@ "txid": "036ad7678b828002f9f75645cd66e8c4a2d2ef66d4866bf7cfe5797be691a648", "inner_hash": "0751142c1e40396fb2ea4e03cc64f8a7fabc12c1466d44726fa0dd9b2fab4b9e", "timestamp": 1440543822, + "fee": 4006005, "sigs": [ "9093c6beef08fc75a1341830aa8da696a9a1f6e043ab8abc48c63f8527c186b26e7f5e802e1743e095031a94b1fee4876245285de8bc76133ea78b403b34b38800" ], @@ -4979,7 +5215,8 @@ "uxid": "18ffebf7d8410a48f00b6bbfa5272ba374c0b70c6c31172975b4c503542d4193", "owner": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", "coins": "25390.000000", - "hours": 980963 + "hours": 980963, + "calculated_hours": 5263875 } ], "outputs": [ @@ -5001,7 +5238,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16946, + "height": 46213, "block_seq": 238, "unknown": false }, @@ -5010,6 +5247,7 @@ "txid": "768dc6803457ca6ba774e251f0a8f482d8f7134a5a8347831ae1d84ff39040b3", "inner_hash": "63020c4af6f170888d1ed626be016d895568d3a0aead892b979e55e5d0bd8800", "timestamp": 1440675932, + "fee": 18591357, "sigs": [ "442db1af0d6925a01bf9510a5b8ba1dc1787373ba0851b99825533c2bc02f5246cdd56ac98ca2c1039d010f52e7a153c4118fe00dce63692b63dd04cefcce0f701", "9d3c03789af3832c7cae849eed9ac2b1d5b1c3f89daee13ad46f10d256cd8774431d60b98ab3803709430cceefe1cdb55543064843240af9123ab9ffbb2ffccf01" @@ -5019,13 +5257,15 @@ "uxid": "f0521d23d6178c3bcf37bbf9755c5e6fc286ae286908fd970bba69fd44cd4f1a", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "526093.000000", - "hours": 13 + "hours": 13, + "calculated_hours": 24121377 }, { "uxid": "b20f489859a7f5236c3cdb5ed9ed7b49fb086622e251c9c73bced00d4de84648", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "1000.000000", - "hours": 628935 + "hours": 628935, + "calculated_hours": 665632 } ], "outputs": [ @@ -5047,7 +5287,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16945, + "height": 46212, "block_seq": 239, "unknown": false }, @@ -5056,6 +5296,7 @@ "txid": "60ba5bab66295f08c5c96411f53bdf38bdf2b985b6dec3989b7754a8e2919ef8", "inner_hash": "e765990d43208cc3e4f2168abd1139b36eeb280d18d8f98b13c14708371a5109", "timestamp": 1440676112, + "fee": 2349099, "sigs": [ "91a610f22d4aec320cb9a39a831eea7ff8b5fe5e18d402fda01bf732ccce2ad801d3709a073d0a95d18c8424ea8cb69cce38194a5b12ab11f6bb5278f9a7941d01" ], @@ -5064,7 +5305,8 @@ "uxid": "cfe2c8e49c9de33d4a589a1413f125c6e297aa4c65c220cf3cb14d77ad399950", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "514593.000000", - "hours": 3097826 + "hours": 3097826, + "calculated_hours": 3123555 } ], "outputs": [ @@ -5086,7 +5328,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16944, + "height": 46211, "block_seq": 240, "unknown": false }, @@ -5095,6 +5337,7 @@ "txid": "8839c0de129a84bb3025f8e314dae4d331b0da6a446a9893ad11225eec650e5e", "inner_hash": "dd8ca4280d163c57c12c9792b544df85a2535e06b20b2c661d91b6aec80ba8fc", "timestamp": 1440677762, + "fee": 526047, "sigs": [ "7ab23848784fdf05602660e838be997277a7c33b2907ba81ae324d735b39864a2235ed3a0bfff86fa3cd7dcec7c6ab519d78e5f42b39443ee3aa4a1e44b9e26400" ], @@ -5103,7 +5346,8 @@ "uxid": "621e724988e58bf27ec29a910b7a53ed028ee2185a77e727f5612be31886b658", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "514093.000000", - "hours": 387228 + "hours": 387228, + "calculated_hours": 622853 } ], "outputs": [ @@ -5125,7 +5369,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16943, + "height": 46210, "block_seq": 241, "unknown": false }, @@ -5134,6 +5378,7 @@ "txid": "6cf290b9b63988d6126b6101c10992f6d9340988731e67867f011790f1fdf8de", "inner_hash": "7e4018b41a6906ddfd84f67d271d79ae89ade34ed5de0ae609a6eeddb37f5991", "timestamp": 1440677792, + "fee": 40584, "sigs": [ "da30c4a5cd8670d84a8f7f8b7c7cf9ae0da0f5bf806720824ad2d59716b200d349070158bbac66723c1a434747a8c438dec3e40c9e199cf8a2ee6d5622eb6b5901" ], @@ -5142,7 +5387,8 @@ "uxid": "4e421d6b25d84e7bfb4561465e15867cc751cd2527e99901f5afc538a344ee57", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "513793.000000", - "hours": 48403 + "hours": 48403, + "calculated_hours": 52684 } ], "outputs": [ @@ -5164,7 +5410,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16942, + "height": 46209, "block_seq": 242, "unknown": false }, @@ -5173,6 +5419,7 @@ "txid": "8ca9114947a591d12c8bcb3aed6c2b6f6f50c13ebea44fe62fcfd783b4716166", "inner_hash": "0aa4f96969cccacc1c03e2d7f8a1719ffb6de7c85ee563f6d55f3da14a377502", "timestamp": 1440679322, + "fee": 222475, "sigs": [ "2373f45b0d10eb272c0304af8b75bac0570fc265ae3a446ec74b0bea87e494d86101e9b0c042a84fb20bd2061e694f2791cc76c734e8dcba0f3a601651cd405601" ], @@ -5181,7 +5428,8 @@ "uxid": "899150e09c28e157df0548f505d6ede097274c9ed69b269085d03c0582141d81", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "512793.000000", - "hours": 6050 + "hours": 6050, + "calculated_hours": 223987 } ], "outputs": [ @@ -5203,7 +5451,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16941, + "height": 46208, "block_seq": 243, "unknown": false }, @@ -5212,6 +5460,7 @@ "txid": "6b056847543ff37d8dbb7506d85514b3e18001ce973b7aac2a1a198a7f3be318", "inner_hash": "583525d962728c33c80c1a511f3f407df0b09f0b22d571b9b857dba3488c0b13", "timestamp": 1440682532, + "fee": 457763, "sigs": [ "b625dcc6040f599b04f00e9812f93f6e087a68b8277a03efcb49a2e88cf86ea4314ac1d50e5299b9ec48921fed1b56e0221bbb8df5a3df386d524fbcb9fe9aa100" ], @@ -5220,7 +5469,8 @@ "uxid": "1df6bca39e9eb5491a5cc5c5960277e5da2d3eb7dcba02346a88b8097e9f85cb", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "512743.000000", - "hours": 756 + "hours": 756, + "calculated_hours": 457951 } ], "outputs": [ @@ -5242,7 +5492,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16940, + "height": 46207, "block_seq": 244, "unknown": false }, @@ -5251,6 +5501,7 @@ "txid": "7732aba0b8f9773c975158578159f5f6e98e9864d1cd2b0cef23cac03783cb99", "inner_hash": "0337a9c8ebc9c389166e782b1da8777b01c29894b19d2c34290d9a3b81cd2ee1", "timestamp": 1440911542, + "fee": 31822474, "sigs": [ "c185a7bac79fa042884330bf37c97ad27d9b4726ced145d91aec91dfb1cd9bf71e2c2e0de33837b43b241eddff2ac7067144ab3859859bef3e926b99aab4e5da01" ], @@ -5259,7 +5510,8 @@ "uxid": "7d72885b66c4b55fa019a084fe867ec0133ccf69a47dc007a6063a98235f2c0c", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "500243.000000", - "hours": 94 + "hours": 94, + "calculated_hours": 31822496 } ], "outputs": [ @@ -5281,7 +5533,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16936, + "height": 46203, "block_seq": 248, "unknown": false }, @@ -5290,6 +5542,7 @@ "txid": "c8cbf96c9875e5a7f9f20cc301e9541f41182ac02747953f299d97a971e861e8", "inner_hash": "f2c27d1b408cdd4796f628bff892e43cdfaeb8725b3a83bd0eddc374d9ce3ad1", "timestamp": 1441590662, + "fee": 81345481, "sigs": [ "314620c86df48d65a6fcfeb82d028f48660f01b78004a01c0b5e8d5ba5e38e297331862b3f2786cf682e03e81fab3a413068f4eb72991d574b90d6a857b32d6201" ], @@ -5298,7 +5551,8 @@ "uxid": "273800d205c2cde0dd2bdd7d942a394108479e1d0fe7c2d665044f078ee654eb", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "497843.000000", - "hours": 11 + "hours": 11, + "calculated_hours": 93915327 } ], "outputs": [ @@ -5320,7 +5574,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16933, + "height": 46200, "block_seq": 251, "unknown": false }, @@ -5329,6 +5583,7 @@ "txid": "7c2da40e69c1ab57129cda200cbc4916fc67673436209b549c0496a4991f73be", "inner_hash": "2d2c7b9c7e9e7c2dac513d277e2ed378a4ccdc5263560e2173b6507e4d70670d", "timestamp": 1441735522, + "fee": 19597209, "sigs": [ "9de55cef7a0e80984d48ecfd30acf98d220bb5556d456af477c6879e80ba1bf143e75d6b64a018c1023f1854e538f1b72df3efe932db13d0eb20adf31c38ff9f01" ], @@ -5337,7 +5592,8 @@ "uxid": "a7ae18a9ac1e1787fc13d28cfb6de19711ba19a6737a66aaf29d1577e967c4f3", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "492843.000000", - "hours": 6284923 + "hours": 6284923, + "calculated_hours": 26116377 } ], "outputs": [ @@ -5359,7 +5615,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16932, + "height": 46199, "block_seq": 252, "unknown": false }, @@ -5368,6 +5624,7 @@ "txid": "6638eac25e01cb7aabc20e0bd8fff66267bfa88ef4d3b021cda4248f6c8538a3", "inner_hash": "ce2201218b3d8b5c734bc18666e409174b77ae022c0e48c30c5a9949edff6b0d", "timestamp": 1441735692, + "fee": 2467913, "sigs": [ "94a8d11ba959af4d2160d141989d9a3e21f875b829d07969d1be040b54317c901c47ebcc9431f3cc0af88d4fbc0ac924785de50d27a3af4e4e4dc31a9980e0eb01" ], @@ -5376,7 +5633,8 @@ "uxid": "78523dd46614ec8b6aead939096a0dc77580475ff4ef6029cf15cc6af6121b4c", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "491843.000000", - "hours": 3259584 + "hours": 3259584, + "calculated_hours": 3282809 } ], "outputs": [ @@ -5398,7 +5656,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16924, + "height": 46191, "block_seq": 260, "unknown": false }, @@ -5407,6 +5665,7 @@ "txid": "22b65c63f88e188f8da71f42e41102cde030d9550cfc990b4391e0339a4cb2dd", "inner_hash": "0f2f563f1fdf52d53dcc414228d347dc677c4143cb3be4471945709fed3d29f0", "timestamp": 1444883250, + "fee": 331657183, "sigs": [ "f0ace9ccccb936a5b46073085d83ca357692dfe0de9635d36292289f6d3a6e4505bd42c7de08dc8642823b8ee2b986c0b926c62df834f694a4d44695ced6690000" ], @@ -5415,7 +5674,8 @@ "uxid": "92b97e2593356de140619f723ff1dceeb586ddc074c6d28b638ee21a6c545558", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "491743.000000", - "hours": 407448 + "hours": 407448, + "calculated_hours": 430349007 } ], "outputs": [ @@ -5437,7 +5697,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16922, + "height": 46189, "block_seq": 262, "unknown": false }, @@ -5446,6 +5706,7 @@ "txid": "bc35493562cbe89797ce21a6202c8b43fc8514910ccb197c2f971c624b1fa5dd", "inner_hash": "ff7c2bc8682df6f1a080061ca6d646c47636474b9e291dbf9d549fe5e63fddfe", "timestamp": 1447060608, + "fee": 302141105, "sigs": [ "d1ffeea69fb213eaa7aea1e5f0d5a09e414247ba07a3860fb66c3af0b7ed611e2e630bfd292b4013e0d1bd9234290f068d49f5922ce895785c18cc4ada578a0e00" ], @@ -5454,7 +5715,8 @@ "uxid": "ad23f4d4cfba4a4f531a072bac6b7f3b5002ca97f3bc8a6064d556f404df197c", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "479243.000000", - "hours": 49345912 + "hours": 49345912, + "calculated_hours": 339202461 } ], "outputs": [ @@ -5476,7 +5738,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16921, + "height": 46188, "block_seq": 263, "unknown": false }, @@ -5485,6 +5747,7 @@ "txid": "32c585c56c5879158e3075f299998f6cf922b06b9620f272ebb4cb4a2353d4eb", "inner_hash": "e0dcb3b201be487c7feaf513b3f245b08e0f86335fd2bd9a9dba7ca70684e8a7", "timestamp": 1448245188, + "fee": 185490927, "sigs": [ "2b0585dc3ac3d497e9b139be51a0e5f6e0520c54e244678459169a82d386f5050f23dd92685efee03bad45f7e166992fb34c3fc036c1fd9204bc0280decb7c8000", "adcd4b6cb6dc7816416f44649ce1dc4ce3489e9dbac70f4de610d0663e12ed556f3d1fda1781ecb6237652358cd6d1118ec9c2b5795dde594d92c47830c493f500" @@ -5494,13 +5757,15 @@ "uxid": "1a736e8db443d47be27b5772d3d7ef80afd09c5f44bffe2390056e2ba0378679", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "500.000000", - "hours": 18530678 + "hours": 18530678, + "calculated_hours": 18695203 }, { "uxid": "5405881c286f02327718b8124e1b421123dfe3905fe60b2272ffe7632f4102e9", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "478743.000000", - "hours": 18530678 + "hours": 18530678, + "calculated_hours": 176061062 } ], "outputs": [ @@ -5522,7 +5787,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16920, + "height": 46187, "block_seq": 264, "unknown": false }, @@ -5531,6 +5796,7 @@ "txid": "97ed144d626d0ff6fca09745735aec22a103d182971a45989500a3aa757358d4", "inner_hash": "4bafee81f542c63b988af48da3250dd56215a42b520892b1ebbb8e9c5271588b", "timestamp": 1450942022, + "fee": 361736164, "sigs": [ "c4047afd7722520fea778426868ef461a602a3954b82051c2245107491efdfff54d701d18f5408ef20a7dcea37ae4c1c3555bfe1bc387b1f3a516d076420139e00" ], @@ -5539,7 +5805,8 @@ "uxid": "f98bd5645556fc85678355430dcae91b13bb48a257e51fe4c94565bb450aab3a", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "478243.000000", - "hours": 4632669 + "hours": 4632669, + "calculated_hours": 362894330 } ], "outputs": [ @@ -5561,7 +5828,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16919, + "height": 46186, "block_seq": 265, "unknown": false }, @@ -5570,6 +5837,7 @@ "txid": "b5ffbbb48c9900feb663f79c3b3e1c89328a08b592f96071fd4d3171197a5ff7", "inner_hash": "b6d4ab02e9b05a532402a1b65185e098d4c730854c6f34d20e71da1262524195", "timestamp": 1450942402, + "fee": 484583, "sigs": [ "b116c94fd9e32cc371bba4f9a88ad672112d53be861aaa5c77cd335d1553fe0a24fc334d79c61aed344b618a3de49e791cc8aebe83bead076ed2f38dccd9aaee00" ], @@ -5578,7 +5846,8 @@ "uxid": "019d3c48e4f48ae4c7d2c60ba8ba3d6a821cd1f34cc8d7dcae0e99e448aea268", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "476243.000000", - "hours": 579083 + "hours": 579083, + "calculated_hours": 629353 } ], "outputs": [ @@ -5600,7 +5869,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16918, + "height": 46185, "block_seq": 266, "unknown": false }, @@ -5609,6 +5878,7 @@ "txid": "981c2bb64f9e6717353cad40e21f3e97bd188381fde77862298488a516c31252", "inner_hash": "cae5fc5f829da5ccb165c97b1140ed161e22e4ba290b1bee703b31a986c3c45c", "timestamp": 1453191853, + "fee": 285149083, "sigs": [ "e3fb8400221770861288bcb1018a495548af5cd617724aa22efd219f350047086ea0ed5aa7f95e488045d5c31d8551a6cffcdf796d91ebbf573c1ef6492bb25701" ], @@ -5617,7 +5887,8 @@ "uxid": "4cac2776f179bf3b38d862158871a117bde8ca8bd3185490861138b4862ba997", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "456263.000000", - "hours": 72385 + "hours": 72385, + "calculated_hours": 285167179 } ], "outputs": [ @@ -5639,7 +5910,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16917, + "height": 46184, "block_seq": 267, "unknown": false }, @@ -5648,6 +5919,7 @@ "txid": "4edf7e4859bd537481164719a563af45b2603d2caf1b676d6fe1e08713b0d6f3", "inner_hash": "ac615d16f9c8be45bc50359496bdd6d489b374846f11586c19dc865c3217c1b9", "timestamp": 1461084047, + "fee": 998068985, "sigs": [ "7ae17fdc81bb3b71304db642c6af046e67ca00e8499d8f3d19f7489cd13ca4b75f2415d1e9639e0a7a26791852331189f5e2bfdde574ccf6c0adbca2fb0c933100" ], @@ -5656,7 +5928,8 @@ "uxid": "9eb9840cfe5e9c546b2db592420d4651433a6913eb46a50500834fcde4989af2", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "455263.000000", - "hours": 9048 + "hours": 9048, + "calculated_hours": 998071247 } ], "outputs": [ @@ -5678,7 +5951,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16916, + "height": 46183, "block_seq": 268, "unknown": false }, @@ -5687,6 +5960,7 @@ "txid": "76b704d474896c5a3179b45a48c3ad327d5ebc27a6681ea7f514a90ba625bac3", "inner_hash": "a60b2257f963b247a98f083828bf58d88aa3f327839c599bf1eaf0ee55a325a1", "timestamp": 1461280957, + "fee": 24628984, "sigs": [ "15e30848b1d0aaf92e13f8927115314341ab4452a31f0a61f665c986c952ef6838753688759e98f393b5af088ad0fa4e9aa4e83695afe5734c45e4eb6c15b76f01" ], @@ -5695,7 +5969,8 @@ "uxid": "a6624db7b164d43f52d38f9584a7e79377e46077ee23823b61a53948678e28e7", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "450263.000000", - "hours": 1131 + "hours": 1131, + "calculated_hours": 24629266 } ], "outputs": [ @@ -5717,7 +5992,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16915, + "height": 46182, "block_seq": 269, "unknown": false }, @@ -5726,6 +6001,7 @@ "txid": "8ecc2fb1efa47e6ad0c4670281b364a2828bfe86d59fbc14105c5b3a3c34fd17", "inner_hash": "0600d27b083aea0d64ba83749b3bb60cbde6dd2cdaa4ec2101adb8de668cdeec", "timestamp": 1461296767, + "fee": 1920723, "sigs": [ "aaa9847aead8e1e43fdeb1548317046c252ddc8b61e9447c18006b8af5805f5c1dbf81b898f25ecbbd0bb97c2d6d89da0e25f7da979932b2a774c7c5e6f2281d01" ], @@ -5734,7 +6010,8 @@ "uxid": "36a9b21493d059479a71e7f0cffc8b9a920d572eca50b73483e64dc7facf087a", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "437332.000000", - "hours": 141 + "hours": 141, + "calculated_hours": 1920757 } ], "outputs": [ @@ -5756,7 +6033,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16910, + "height": 46177, "block_seq": 274, "unknown": false }, @@ -5765,6 +6042,7 @@ "txid": "2c97923aba19d8846f8f90db6dc89da7d433ead3ea8dc3155294ab4c9e7e61a4", "inner_hash": "7d3af96a796daba12cbb863731c09e148f21302064d65945316473ad522e8ca8", "timestamp": 1461749167, + "fee": 40993499, "sigs": [ "6f3c6fb3e971ec8b4eb3a352c94b2abcb347a3f476d1b5e3097ce239a32467bd0703a4436ce7c9b4beb1668a9056f6d93055b53aa7a36374c2b3d12793a6ea3900" ], @@ -5773,7 +6051,8 @@ "uxid": "23bdbe3b210b25da017917ea4345d589adea792ad156dcfd875a55d9509bbe5b", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "434832.000000", - "hours": 17 + "hours": 17, + "calculated_hours": 54643905 } ], "outputs": [ @@ -5795,7 +6074,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16900, + "height": 46167, "block_seq": 284, "unknown": false }, @@ -5804,6 +6083,7 @@ "txid": "7c3f991c9cb5098648da480666613a048267678dcf7033c6138b0ac619003bcb", "inner_hash": "35e2f253fd5936f6086464b4f3bae2a39770f91b2d846533bdd677554a760bbf", "timestamp": 1462264727, + "fee": 65048877, "sigs": [ "bd5e540c58e54ccc58d1f7021657665d1f7a1770cc575b47a46bc16f5e3f3c86338f61be266c851201e8441ea5aa3ac91fa1cbf3b77365826c3b76f8f6441b0700" ], @@ -5812,7 +6092,8 @@ "uxid": "5ec2fea3fa7c2b44b2c2b0dfc8b3085d091eb6b6a9bb2d3330a7c6ff57bd61de", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "433832.000000", - "hours": 6825203 + "hours": 6825203, + "calculated_hours": 68954765 } ], "outputs": [ @@ -5834,7 +6115,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16896, + "height": 46163, "block_seq": 288, "unknown": false }, @@ -5843,6 +6124,7 @@ "txid": "4c41f200b398abbba12cb9ad5b935a5dad3bb6283093f062c82ae7c7904747a5", "inner_hash": "5263bdcff23761f158c7286664908839983135936f1e53bdd2513e7fa317d05f", "timestamp": 1462711117, + "fee": 37342376, "sigs": [ "39c94d70cedadb426004bea6137aa774ba757b78c44aad072143eb55cb9207aa7f02be91cd67c27f39f898a2303791665bfb5414a18df62a304c9cbdd4ffb5ff00" ], @@ -5851,7 +6133,8 @@ "uxid": "8ed671db62d7a541aebcfcbdf4e677d9d5c49979e3dfbc94e532b32b9273b4cd", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "333832.000000", - "hours": 1952944 + "hours": 1952944, + "calculated_hours": 43347184 } ], "outputs": [ @@ -5873,7 +6156,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16895, + "height": 46162, "block_seq": 289, "unknown": false }, @@ -5882,6 +6165,7 @@ "txid": "6778a6900cf26b0ad69d2ead927663bd2bbaccd9b97d0dffb74655a08757ee5a", "inner_hash": "53e042fba89ab6233f73a2bd08df87d84d5979b7a1bed5705156b8badc44f5b3", "timestamp": 1462711187, + "fee": 2258293, "sigs": [ "006025e5067252a8e37eb4c911d7e2c5283b137f0be2c8ffae27cac8f5a21f723d25745c157e49783354751f3e0bf4ce25fe6271748bd78d31487e826685a59801" ], @@ -5890,7 +6174,8 @@ "uxid": "af7420cde3eec0f8ca1b1aa5bc6c47c89055877be61863a50e0665ee4fd2d737", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "333732.000000", - "hours": 3002404 + "hours": 3002404, + "calculated_hours": 3008893 } ], "outputs": [ @@ -5912,7 +6197,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16894, + "height": 46161, "block_seq": 290, "unknown": false }, @@ -5921,6 +6206,7 @@ "txid": "99988a504cb60473ad8b5047a9be9049dff3dd2ee13879707a12736ed52ea9a5", "inner_hash": "13285dd910aca69020333f17bc6d0a9ad3424bba2610acbd062712a3b4b46b6b", "timestamp": 1462715237, + "fee": 600674, "sigs": [ "cc4df545eddf94086f0aaf2bb28321d8e3822f835bb3a71ab51674a3a7dc305c57df3609b6dc3a434fa8e2a4c36b5406cdf2fe6833c74049b4b77cf098ca664c01" ], @@ -5929,7 +6215,8 @@ "uxid": "621e418133fa0e18013978ea4cb8d8de33d00174d5f41ef11c8750a178b20cd3", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "283732.000000", - "hours": 375300 + "hours": 375300, + "calculated_hours": 694498 } ], "outputs": [ @@ -5951,7 +6238,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16893, + "height": 46160, "block_seq": 291, "unknown": false }, @@ -5960,6 +6247,7 @@ "txid": "714a3b2ba4479d0a95ad0ebae11bc1198eabc6392dabe776c15e7a68e0d82cf8", "inner_hash": "32aa300316d5aff19a3aa0a99bfbca6398eef9462cc6c975fe7f41d1ecb9f6d5", "timestamp": 1462715257, + "fee": 36732, "sigs": [ "a886ba759476985a6aec555b7acb5b3f7ea7d14201b66bd043bc172206bf4b7c0269959f3f8aac5c7a06a376a628221c67ae89cbd141c96987f852c2e2f4e73400" ], @@ -5968,7 +6256,8 @@ "uxid": "eacaf7455ea2fb2a028fe670f7bb578c4c1ca767cea247ebfc7e3fecd8f1d5e8", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "278732.000000", - "hours": 46912 + "hours": 46912, + "calculated_hours": 48460 } ], "outputs": [ @@ -5990,7 +6279,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16892, + "height": 46159, "block_seq": 292, "unknown": false }, @@ -5999,6 +6288,7 @@ "txid": "7e8d02180c5e49cd36b545c8986ffaadc7e90840259d3fe10ceaff3e4cd931c4", "inner_hash": "8e1d9f79f43372290c3d497314271a711c33474fdec555b4be6f3f0d7c608d76", "timestamp": 1462715267, + "fee": 5170, "sigs": [ "61f0c36e996c391c61daaddd6dced605e79cdabc643d994d99c7a6a479aad25c4030619f1cf7420dbe2d673a2e124f2bae744277b246173342d7fdbddea78bc200" ], @@ -6007,7 +6297,8 @@ "uxid": "7802f51a5010ce9397a73aabe79ebc1c4ad4bb79f1352cf01064f7657d392079", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "278232.000000", - "hours": 5864 + "hours": 5864, + "calculated_hours": 6636 } ], "outputs": [ @@ -6029,7 +6320,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16863, + "height": 46130, "block_seq": 321, "unknown": false }, @@ -6038,6 +6329,7 @@ "txid": "7388dab349f2d2a59ab071fc592c0173acfa357f23fd17dae1561089da55e74f", "inner_hash": "a0f3bfacdee3107342adb96e8dcb38a265af8054624dadc0b27d71c55854e6b5", "timestamp": 1467090951, + "fee": 282914895, "sigs": [ "dda5202c4c44a5ab8eceb8cf8a7acc1c2714529eee0a69bd396cb74a98706dfe1c7686c1b0f2bf760b5d211ce535c21077944bd1d89bc0baade9606cd561147800" ], @@ -6046,7 +6338,8 @@ "uxid": "bb95e005de46b18783350e39ab6f0f969db253445c99e5b97d172dee6f81a4db", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "277732.000000", - "hours": 733 + "hours": 733, + "calculated_hours": 337575029 } ], "outputs": [ @@ -6068,7 +6361,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16862, + "height": 46129, "block_seq": 322, "unknown": false }, @@ -6077,6 +6370,7 @@ "txid": "5733f006dda42be6198d3fb035170c9160428ad321c8255b851574776e03c34f", "inner_hash": "993a366ebfc7210951eeda4c459389f396a2038f41025f4b729edab75d1dc9c5", "timestamp": 1469074433, + "fee": 173463682, "sigs": [ "0612105a7d427841f1f9038bbb778c8c1db52e0dfe5fd7c9409b44bb03fc72a74d60913ad46fef4a525d3314a48e1ee49d4a5da69941075fe816c02ef691979001" ], @@ -6085,7 +6379,8 @@ "uxid": "d187d4cd730f2634e9f8bbd9e5a87eb37d1e319dbcc3d8bd9fe07cbf36f04438", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "277632.000000", - "hours": 27330067 + "hours": 27330067, + "calculated_hours": 180296198 } ], "outputs": [ @@ -6107,7 +6402,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16861, + "height": 46128, "block_seq": 323, "unknown": false }, @@ -6116,6 +6411,7 @@ "txid": "725698203caf11e909360449956f0285735d44f4573c81413852d25b220e61b0", "inner_hash": "ef1dc1d55aa04aa6a240a796f6f9c47af2317fdfa7f4843f3884e71cdb79c442", "timestamp": 1469074773, + "fee": 2588320, "sigs": [ "77fd6d8da8b2efd32dd50ca558e44fde0f62d8cd15ab084650759ff61d51e3200b7c025488908a7d0f784de819764506ab8a67f9d5c384ab7962c30908695d3700" ], @@ -6124,7 +6420,8 @@ "uxid": "d75874d45892d08632c1b9ee89f2137c21491a70f95bf7c04b4f0d65e465c3f1", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "276632.000000", - "hours": 3416258 + "hours": 3416258, + "calculated_hours": 3442384 } ], "outputs": [ @@ -6146,7 +6443,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16857, + "height": 46124, "block_seq": 327, "unknown": false }, @@ -6155,6 +6452,7 @@ "txid": "823a284da9b7e49180e599552e824c60c23d28cc9fd4915e57037ac6ba5e364f", "inner_hash": "83da271ca66c1da0f8ba30224552791e51f5334fb2868c01a95aa09aa5d8f8c4", "timestamp": 1469463291, + "fee": 22630464, "sigs": [ "bd8a3cfd554c7fcf06c2fbdb0efe399f31d30373c96a0846edd52a3163dca1b43060014bda1db9abbacda35addcd3cd89625fe8e4753067aaf9a2de226fd692c01" ], @@ -6163,7 +6461,8 @@ "uxid": "92bc1ce78fd98223f4c27438e22214117952de08798c2c5557f3e3350deee45f", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "275632.000000", - "hours": 427032 + "hours": 427032, + "calculated_hours": 30173696 } ], "outputs": [ @@ -6185,7 +6484,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16834, + "height": 46101, "block_seq": 350, "unknown": false }, @@ -6194,6 +6493,7 @@ "txid": "ccf809db24bde3af9083bb6ba590e91f71cd93335c945ccae3f815ef68994843", "inner_hash": "18e96e61845c7f9134eec568476ae5f8909417230382a261384a4116cb6ea980", "timestamp": 1471358102, + "fee": 120495261, "sigs": [ "07220c9f545b585905db91d51aa1b00bd3c3c4ad251bd88c48cc1377c2ea86702ac6fb8354188abdf228cd9c05c8d8c0c8185e337f60fb824b06ca5c3893757f00" ], @@ -6202,7 +6502,8 @@ "uxid": "e4cd8349646afcc6fca01e94e0e247a22d447d0a3e6bef728854ebf3fe0a1507", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "275631.000000", - "hours": 3771616 + "hours": 3771616, + "calculated_hours": 148846241 } ], "outputs": [ @@ -6224,7 +6525,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16830, + "height": 46097, "block_seq": 354, "unknown": false }, @@ -6233,6 +6534,7 @@ "txid": "e348450f03f57e10e3cb1227b6874186d72f090c1cb6468b400b4906807cef02", "inner_hash": "79e866fddd91dea1ba6c8bdb88bc880216d25c812145bb476e91590396146b3f", "timestamp": 1472066732, + "fee": 62149533, "sigs": [ "67d3293742ce7cd95612d1a01c0b307a94166fc0b7bdc01efcd312606f88a5a474affc18a56adf6fece4f9b6b593dd1479a70fac8d92d4d285e1af579eafb90b01" ], @@ -6241,7 +6543,8 @@ "uxid": "46eec2ffbdaa24e27231765678002ee7c9ac4aeea7bb6df14f66bfa957e58d1a", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "274631.000000", - "hours": 14175490 + "hours": 14175490, + "calculated_hours": 68234313 } ], "outputs": [ @@ -6263,7 +6566,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16829, + "height": 46096, "block_seq": 355, "unknown": false }, @@ -6272,6 +6575,7 @@ "txid": "c97bf2e161844d70686539eaec694b32678b130539946af8c3ec36f905e47d9a", "inner_hash": "1e1f7265be9a1806a23a7f490fbd2f5c179e910102509dc4667e631115cad927", "timestamp": 1472069152, + "fee": 22968235, "sigs": [ "085b5436b72b9ccd1b0e8001c42408ff90ecb544a027da4e18dd550933a7ef8f7a9b5a44939856f9f8d47a8805091696148ba86cc174cfe73604f0b34e43290400" ], @@ -6280,7 +6584,8 @@ "uxid": "a0ba6219e79ab6470430b6b387602b58c96ef57a850e9dc94af8da0dfedfcad1", "owner": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", "coins": "25314.000000", - "hours": 10499712 + "hours": 10499712, + "calculated_hours": 30618639 } ], "outputs": [ @@ -6302,7 +6607,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16828, + "height": 46095, "block_seq": 356, "unknown": false }, @@ -6311,6 +6616,7 @@ "txid": "7ca2667f49dc21f893f2273c592618b0238959ec9aecc881150d6507c6a1755e", "inner_hash": "06516c42bb9cd1d9584281fc41497afbcdbcf50d227e33d56016d003f426e262", "timestamp": 1472069172, + "fee": 2869037, "sigs": [ "8172d96cbb9f33bbe1a2852745015abd99c4702af53aa10a0124efe0a3e1a32766ec459367d62f21dce3b08361feda40eef78dc273577ee4c8f7a0ee5551bc6d00" ], @@ -6319,7 +6625,8 @@ "uxid": "207fcc6aa056e56256b21b73410f679d7e1e1af414e95891e23cd689affdefb9", "owner": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", "coins": "24314.000000", - "hours": 3825202 + "hours": 3825202, + "calculated_hours": 3825337 } ], "outputs": [ @@ -6341,7 +6648,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16827, + "height": 46094, "block_seq": 357, "unknown": false }, @@ -6350,6 +6657,7 @@ "txid": "ccf714517563cfb8a9d694a7a0ac534da01cb74e18d8a9cd0d410081970d8015", "inner_hash": "0470dddb1c719ccb518dc8df7d0150373c61e19e3bbe0d2ced04a6ca66d71215", "timestamp": 1472069232, + "fee": 359002, "sigs": [ "8d29d25b00cd13891c3af52b6481d173d186ac4281afdf5a9c0646a55664addd0edbde30ce3d51c3952571ba37f056f289adefc1dedb1dde3465d2a16de6a02c01" ], @@ -6358,7 +6666,8 @@ "uxid": "b636238d9d3c0eba57aeb47daa7a23bef5aac4021b636568d56c8428f62c6827", "owner": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", "coins": "23314.000000", - "hours": 478150 + "hours": 478150, + "calculated_hours": 478538 } ], "outputs": [ @@ -6380,7 +6689,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16810, + "height": 46077, "block_seq": 374, "unknown": false }, @@ -6389,6 +6698,7 @@ "txid": "7a05ca15c9860700b34642339e91427ce0b211a8fe14805751d730f8ca0e5363", "inner_hash": "34ef2b9ef8af1fb8d76b9ea9690356f2e0c20d1f672598020fa4e65aff25a9f5", "timestamp": 1473696472, + "fee": 103067908, "sigs": [ "a45592c587087f22e42bbf5ea9061e0668bd7e8fb3daa9c8bde6a1f2644c2a373c91d0b874a2fa95a4ce94284cf663035f83bba786c0c356ae055b89cedd623301", "d422b1658a5a49642bd1126a269eaa1c939849dd9ca179db7992f0c274a16d313c4b2c9bb8dba458895ad7f12590da944af0880cb75592c0f4185c9b510747c900", @@ -6400,25 +6710,29 @@ "uxid": "d13c10539700b17635d5ca63adb79f7da7faaab1d1c415fdf68e9a70ed5c633e", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "273631.000000", - "hours": 3042390 + "hours": 3042390, + "calculated_hours": 126916663 }, { "uxid": "059f33c1a1a9e33c2518a6ea915534d5093f8aaec9b1c69a82e5348dcac52f6e", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "1000.000000", - "hours": 3825202 + "hours": 3825202, + "calculated_hours": 4277235 }, { "uxid": "c91cd337ffa1a0e7d09ecd3c2f74c2932a5b7d9266b2e85205f64e5a7e8c5426", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "1000.000000", - "hours": 478150 + "hours": 478150, + "calculated_hours": 930177 }, { "uxid": "886eaf65af6434d07ca20fd4789825bbe87a61ff633fe1df15b69b9024b3cb99", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "1000.000000", - "hours": 59768 + "hours": 59768, + "calculated_hours": 511779 } ], "outputs": [ @@ -6440,7 +6754,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16809, + "height": 46076, "block_seq": 375, "unknown": false }, @@ -6449,6 +6763,7 @@ "txid": "9da07bf85e25c466daeb9e4bb8825161e2f2eb60ce470fecff30a557d8ab8d58", "inner_hash": "2bf9ee9274c70c66f52d81df6b1f56bdbba9b17d3a67371ee45c94c0d91ffdad", "timestamp": 1473696502, + "fee": 11090277, "sigs": [ "13d93765e882705c482307678fc2d7d4d10ec733626066d59a6ee0d83be0c3840f66e43dec32bc09b2dea074675e8cf1fb0e768891191657ff1e8895f6d24edc01" ], @@ -6457,7 +6772,8 @@ "uxid": "7cf5efd1f59555771e82dfbf11047cd856e554daac323e8224c174796b58cef1", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "275631.000000", - "hours": 14783973 + "hours": 14783973, + "calculated_hours": 14786269 } ], "outputs": [ @@ -6479,7 +6795,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16761, + "height": 46028, "block_seq": 423, "unknown": false }, @@ -6488,6 +6804,7 @@ "txid": "c0b00aa1fac000b225f3d59983d7be04b41dded7e70549cd118648c0f4120622", "inner_hash": "409996e4103fb8a6d0a508cd1b4b3f3c0145f255461ed590e013a4a1cec87f53", "timestamp": 1474976262, + "fee": 72562563, "sigs": [ "f11babcb58c0526909ab684968566c79f015a35eb5e800382847c58c12cd198b53cd8f5513139ba289ee547cbbbda6313516a8d18e10ee5497805d135020171c01" ], @@ -6496,7 +6813,8 @@ "uxid": "00813b3eebc56b3269dc82324b708ed031f816276eef23d2ec4dbaed0fe6be68", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "265631.000000", - "hours": 1847996 + "hours": 1847996, + "calculated_hours": 96276865 } ], "outputs": [ @@ -6518,7 +6836,7 @@ "status": { "confirmed": true, "unconfirmed": false, - "height": 16693, + "height": 45960, "block_seq": 491, "unknown": false }, @@ -6527,6 +6845,7 @@ "txid": "127cae7ab2e851738fc4c9894dade853173c658317e5e551c0618f3c14de0c6e", "inner_hash": "ae44ad68c8a6f83d22436a19ff274d5eeeceb7c515348c910cf09abea87b4449", "timestamp": 1478603012, + "fee": 258641221, "sigs": [ "0a332a5c2c501b5fcf6d8ce21ef1aa6c82324dcaf5a4162a0ab8f6cada1ae56b19be195564263ace98db8a0b0b4c37a5ac080c5a55c76b2c9315980a025307b001", "b2a3d81f2a2bd12ed1fc0d5bb9daa781a2553410902a25cfcf4c179165ef52936b86c4774ad3e9a4fbc2188f8fe7e5ad1949715c307ab4499b4d2bc2536bb2b600", @@ -6537,19 +6856,22 @@ "uxid": "22f6cbb46c9d8566f6cdb3882dbd77bc473432c097b704c14457babd66da993d", "owner": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", "coins": "400.000000", - "hours": 3128290 + "hours": 3128290, + "calculated_hours": 3397718 }, { "uxid": "d0e6c3ff06b1125d70a707f57b4888a96aa56fe26fbf0fc80ce7d560acc77f63", "owner": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", "coins": "400.000000", - "hours": 27225 + "hours": 27225, + "calculated_hours": 489288 }, { "uxid": "b220185a9f0f1a6af34e4b1ad882b7634d2fe9db3d1f8d7fdbc0815856abc06e", "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", "coins": "244831.000000", - "hours": 11857151 + "hours": 11857151, + "calculated_hours": 258507381 } ], "outputs": [ diff --git a/src/gui/integration/test-fixtures/balance-2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf.golden b/src/api/integration/testdata/balance-2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf.golden similarity index 100% rename from src/gui/integration/test-fixtures/balance-2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf.golden rename to src/api/integration/testdata/balance-2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf.golden diff --git a/src/gui/integration/test-fixtures/balance-noaddrs.golden b/src/api/integration/testdata/balance-noaddrs.golden similarity index 100% rename from src/gui/integration/test-fixtures/balance-noaddrs.golden rename to src/api/integration/testdata/balance-noaddrs.golden diff --git a/src/gui/integration/test-fixtures/balance-two-addrs.golden b/src/api/integration/testdata/balance-two-addrs.golden similarity index 100% rename from src/gui/integration/test-fixtures/balance-two-addrs.golden rename to src/api/integration/testdata/balance-two-addrs.golden diff --git a/src/gui/integration/test-fixtures/block-hash-genesis.golden b/src/api/integration/testdata/block-hash-genesis.golden similarity index 100% rename from src/gui/integration/test-fixtures/block-hash-genesis.golden rename to src/api/integration/testdata/block-hash-genesis.golden diff --git a/src/gui/integration/test-fixtures/block-hash.golden b/src/api/integration/testdata/block-hash.golden similarity index 100% rename from src/gui/integration/test-fixtures/block-hash.golden rename to src/api/integration/testdata/block-hash.golden diff --git a/src/gui/integration/test-fixtures/block-last.golden b/src/api/integration/testdata/block-last.golden similarity index 100% rename from src/gui/integration/test-fixtures/block-last.golden rename to src/api/integration/testdata/block-last.golden diff --git a/src/gui/integration/test-fixtures/block-seq-0.golden b/src/api/integration/testdata/block-seq-0.golden similarity index 100% rename from src/gui/integration/test-fixtures/block-seq-0.golden rename to src/api/integration/testdata/block-seq-0.golden diff --git a/src/gui/integration/test-fixtures/block-seq-100.golden b/src/api/integration/testdata/block-seq-100.golden similarity index 100% rename from src/gui/integration/test-fixtures/block-seq-100.golden rename to src/api/integration/testdata/block-seq-100.golden diff --git a/src/api/integration/testdata/blockchain-180.db b/src/api/integration/testdata/blockchain-180.db new file mode 100755 index 0000000000000000000000000000000000000000..f0908f2d660d25a917a2e8fbcfe6c4068d6e01c4 GIT binary patch literal 1048576 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

    {aJN*~&Y;Uhpy#V1IGW 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

    <~zO3QP1Mz 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�^WwPR95bAWszN&j zM=7DZ{16?TR!`_87GVuQwfBe{aF79|UJy4aFp2%9^n2$#IHWriEDk39NW0g_(%#pr z+hqIj@TB8?Gw6(?!_a1)Z@_`^rYh^v?tY;M28ubz%0A6gZoB;h9GaRJN>G#N)7q|j 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%0A144f5`%SYghh4&Z`KE8Z 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

      n==p#)x>OS^s^#YzB!*CqJWfaF>& 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

      <~zO3QP1Mz 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�^WwPR95bAWszN&j zM=7DZ{16?TR!`_87GVuQwfBe{aF79|UJy4aFp2%9^n2$#IHWriEDk39NW0g_(%#pr z+hqIj@TB8?Gw6(?!_a1)Z@_`^rYh^v?tY;M28ubz%0A6gZoB;h9GaRJN>G#N)7q|j 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%0A144f5`%SYghh4&Z`KE8Z zJbeUWe%NblWlWB#4MRc$q`#2QKR^0#GyWzY?6`i$>S{kepilhIWP)mB6RP*g@ADC5 zt}kqkgt43buI))l8e;PhL#ycY$OV`pT?yVRrAu)(a;5o-$#1n-whQ_vU=T z7=ZXzX8}`RaP97sN$cPEEpNh_F2UghaoB}C_?yU*7|DfXGGuqHJIVNRlg>@FBg|yQ zBc%R`I~&@X8GFT0A+nku*5_Ls?!JLW*96nlmjm>7|$xD^84^ocP)r z8hWzQSJ5&asw0-IZP+WGMdV2XFijKD(5Ui4*iP#xqf5 z30+O*lkKKQPw0AQxVTm5{X5$%V;$Ee=lcoqH9Djzlke@zN=C}z8MlHTrJ$}ZnD9G0 z<1tKD_K8jVIv;Yv^0E_-$+G7C3#{an83+;sm$5(|1ZiTabR0I4AX|p?$V(>#!^F@# zZM0|ZA)>Y^MQsxmBlV_`cx+Cr^62iV*RC(_?k=uQc9)bl!Bux8{3@?2r=vx=63b!Y z)OPl@J1@LXbE1{|NOh{7kVVEeNGD^G?#$2o(${!un)>D)f!3{h`U2l;$09WhiLD+q@ABL199WUcQBDI>O#-;bTegp{Huhd}wNEF75!0%cp;^tS>n zJtvwe!tT9y?ogKfByzAVgjgwi<0c&g5vkphAK57FMT+d6pm3?&K3)SY;3Mu>f8lWd*h)?VJ;kxK3JdtPCb4t)JoEMYL3 zFrpiO5nF8S^_xG0(I4`0Jm!w+Q@T}OAJ+V;^LcdJ{~#O}=734&i}_QVR$lcoYp{MEqXz$aZL^_?`6FO6h@ znIK3|Mp^jg`41ksy=+&z;u#!FC@(Jlm<@(FX57T>z=V;L9+!{)VE57Y|CmQge|dNI z@H?4Ya^l8`F}Hi~vhwTa{_gJ6-}}eA=b!wDc}*szyqMquqwt9+Zw~m)%e}3dpt1bQ zNuRJUQBf2yj7;SZrL1Sd42CJ6FDdqYaX-(5*@SHh-v7{6BwCUl(?=lINhQe{8AGg`F$YoCI{T&kt@q z`{dtYMeHeyvD*Z#s>??!9{(Au`~HkadH=@FclUkv;}7T^wJLC=t3Jll#@XtgUi`3p z+so4fuj>(5>#Bl%(&NId+b{jJxZ0?R&#^Of{B%;(34uOtrf!rhX=Lc@55M_aT<}si z+vI^5JhH%Jx###O{rck5tT?PTmrHpp3%ti4{6Df zIa&DRqaW@b{rI0z^<1jN&eZFxepdk&Wp+VVcT8v25?*o9x}Uf?<|I|fQOv`qRJQu*-!+BQz9IduDR=QsZb zZ^2rymF^NGwNJO*!HJ;9hqo=w%h+YwK)fAy<3rQK|Kgpa!XBISKw#h#7t{`+`vhI$cb zqEq4*_%2SZKx};S)`!99(c@?N2*mk$*ApLC^xbr~cz2v%j`esXcDXTHGZi^z`!rt^X)h9@Zk#zWe4gy2~VZu8)U|X z)FW1tUkt<%bV4fp6i9!yHBPKfjr!>Bg@7+T8fW+D$;Ix|ryTc@d$D`t9`74x67~fZ z2^%xC)%YI2+t~PGwrvUfO0Y~zsO!Lmkfbt;a)1u?_WWb|G1lO$azj(r^fAx;LR*q* zyf%EH+$ym8@LI&bGDC~6wRF@Ldt>7#nn|)-NPD@PQm?hP2oKmo>f~N~pL$ga$^pAG zE9~(xvw|G!MsHPCc*$o#SOH|iUpx3B-jjVR23!Zq3<#|(o&YM^5FS)H;6tc92U|^S zI4~{;_UcepiO3hw(3lb|=-4!qe1uBQd;+ou1#%)~m;&oZO|Gy`4-TX8X0QzBtFW%X zqMR3>{9ZOE0B@f#(Rcoh-T9k;lZhZE$R57Gd+TrgquodU;(wrMJc7xISp2$xC22k6 zJx<#9B7!&-?FEEsN1>LBkNOsZL^ko(AZ@lOi+szo<{N`LKfC`e1(?M82`dABl9h6K z;cQM&{QC6hM_eTQR!?HSgWR72x7rn}g75ZodtLC6;Kx7v-Q9)nrORr^y{m6_T5W<-gkKZCacN5$AsC>?M}b*U+g~m0q;=cLnpUx`#7s7J1I(N~8O%TTb zt#K|s{n75xPyQ*g51`ApP4vNnLZQFq3&@!)l%EPH9`)db@4a_^DfydrzMJsr$3M)3 z-iyo6koR$1CsquFmydJgk>20g-D1_JexLAI^eGd&ci;L>CN=NB^WFIJ*^mFvF4yWy z`C52|{MWr7i(juD%XCwC9sTpX7@eu7n{Y>eWN(uBsx&bN&v@Ve$6ECPdvv?<%=h*9yyVT-=DJvOYfBg113PC49!)RnU43F57?$;02|Mz-anH0g;$ zWY_ulCQTg4(BromeO7KZl7^_RJY^@C4$u&Yqfq%RNn-lKBDqf<@pG<|y8)0MTgPdx)Mj6%-p9T4Q8Rf&)!)^b5MxE( zODFrBgy7oSi8vN-WlqA6SvYBP!p9IY`A6PKu&i+79oyn%rClx@DHaaZM2G3MoJiU) z*_`-WACHxm4`AR{{EHkJgXv(4rQdmY1QX*R(sJw z(0Kvoi(FIKZ}_+iW0Evibf(UMNIv-RUC2TGIMI8XA3yVmEi$@nwL4+RU0vG5F%H!H zpmD`*;T8STk1UDjBx7m{n%yIJ6)ArCqwTC0K~`YzJ5E@cc;)>iOuVq?z zP)Cd$iG-mEH|Z8mohXWI^$#-&v87PE-2*-n_4b?R@wFzMu^?{?%6DeS`mTK=c|+e4 zt)QI*;*@uvjSr(79Ptk2wydis@0{&kJbjis`V%It&$;J&`sDfU36J%@_3j;tld~lr zv@>J6O@4k92M$HlKd1*~8v8(Ubeq4GxrKr=3S<;E%HXg@bW9Jo< zuMqyShNHK&(-)!~+dcMo$^lU79{H#o>wTf27C6>B&fkPHGOKUOt-g^}%ub!qI?1v# zJFMYH_I20_sQ`cU4n)bA9~#M;jhTa2rHnQtOm7_*4fCV8ISehqGm;mmDw}qQn=qiz zf}z|hGakX5Re-UhumRbFLPIhi_UL9vg;qmlF&&!W_n;P9uV4wB=DdjJG0FIiu8(v+ z=lyUOJU)5(-haG%>zDoktNxh$<59dlQICU4LC@2n^7WU@)0@x!a! z1b>0!wXE>#T^p8Pza7$3h!WFV$*+W!XuY*guTY#X);{Mk&9nR8W}?hTI<1GY@2^bH zFL{KMU%q^l_wvyXvE&L%aR$3EuP#2?J^S=easnzdC3E-fU&<=Fryu`d_vEL)&97Qc z#7$i{2GNGbMbmS?a_pnG5(967sn?4Scvs#Z@80>Pf0WgR_ul#5?$akcDjFfm$9oY^ z@74Ph^VMW3<^18d@yQ82>(z@g-sQ(co5A<`o$~RK>t`Rpn)eZU<6d1mLc!KwPQc(? zF#+m|!E+`GE!*Qi|84M{beo{VRdy*;u8Dnw`QpQW!)n93)Ytb}1@|s>`|j?+`@gyS zm=%xtI7u2)4clQf_i6pVe)bo%7v)HMDWlJ}vBg9-eQ11(LO#7e(~Y&?%w!?|BR2= z{0b9)KJxsp%T^|E)jtkH6aU{=7$3e)`(j$ADc9?4ypBHgeUneG)456Z%g}DJHNG$9 zNPoM*_BP(Pt(+I^v&d$QTj^aNUQowGE`&`X-kxG^Uh**PbOZ+#jD zqjInA8%MF=nOJlVXbU|+lOIPG^kIo*dh(Nw&#Rv4mYsq%DOvS4@h!0!G&u?@d6jJ^ zI$EXn>6@4<29oKot#Qy^($E(oDkeG~V)LgUE9~gBN?nU|pAXL+Vbv)LG>8X%dl8JT zN+eqM7SAQU@!o^oHLucm{KT6sR`WP+2cv`v&YOHy>()>Gy4fw!y6!37+MLmeZ}8%F zKte&YV`%=9b@Dz~&1uy|Ui}K*4ExAhaG9XF#i z?VW7o@+XXTjH*{1P_Ax)U zC*HW7P-qk$fR9Kru`fP3qO4m-ndO?&rHY*CT6Z(-N*INm8*Ba zaFQmE>3Y5a;u^a8UiTAX8DYrR>#F~l1 zmsx^^On&HxF}ftAIXUPtB96>5$7B&U2Uk4VLyKr=>PV+RBy(LCLhW)Wq<&;tCZ?FM z=ezl?W1G5xWm!??$6+RpxSqRWh42MG8u+NAb#utnWQ$J{6CLA9^_rHapc5b0{S>6@;cq^p6;H{lFzwfB`kzl88w zo;5wHQ%B>&(2b#OeQA7ce#9Hk^iAq5dUN!Z6^>v=fBc&K7x|(bI*WJ#FN8o2uHwoM zU%KhZmv*|zqOzY6k(iC0u?J2P#)RO=Aat~0o8Kn46j0fVybc+O9LS^r)RS&Wd%#QE z1_vi~jtnHrE;x-@&X#T*X&mX`=ftYL{JNt~4=$T*(=th^Pkc(D_N;#h!$R-~7#N#Xa2T1OUk|&_2m~7RRm3<9}Mb^u{K=Yc=hy8 zu~(CQb)sDzvW_`R`-Nb9^WzmyKm7fgY-F0j_+4ZniB)wjCptnnVtNnRg`zJ2x} z@4|cZ!N11O|B^|zpJ%n*ud`b4U%-E(FtYNKHr@Js;dqg1x#M%{U%H3mIvFrFm$;7; zPtH$1_?Nq@i=Tqyqr+b8Trg4UBf0-A{o;-Ct!Rysr{3 z`e}D`L$W_Fyc;1G{x$|9I5_r`Inl2AneZF`W%RKVILCZ>D_mqHmCk<*BaRv=``B6mqk*BsV?eVm5+h_?Wlquj%bL(pLM&o#4q` z-rx8B{oVDCAM-BSy18Ry@0#EmMEtc+Xtm8}vH-q+BNCP>cDu!X4nHO3k=f*?=m2EZ zAbCk^Xz7&{o0)TvN;$kye)g1y*Z3-?U!Keu;;N#6xocooZRN)A0Pf~Y>NcKsnLC}r zm_GLOW|#x2YO{GKp3qpEuTB2iBMpqr*MWZt8T)kVW`!Hv;gJ_=>S)-;q03vtFeYAk zpO^kJ^6gXmoaW0)Hm;K>i*p{%vDwf3f&BLAd1!^~#0?WDJhpp&eh%M!J??tROpKFZ zc6N>wE+<9suZo!KU}*dPTi3t!Aq{MSI}>iX7DCTS67|KJ5E-%}x!TZ4Kaa~uXp?mO zP;ux{My4m}%;p{?@}&9On-I%uXaK|@h?na!o^93_KLB#YCyJ+Z`2sL?cZa%q!Q|6Z zj=l49f8<5N2@I5Na zZ8;+6@!yPtOar3iiZ|=dxn(B~eWW}St=RT)bNiio^}!V}sCU3)s85ciff{8^kK-OT<`iN_y;_??7feU&#KRH zVzZ#70c@O&L}H9Js|wfhL));VvxUu0yJBfGw9YsG7BhQ(?CH*ZzRJsl-ZLuyl4Id9 zUtu{r=YAah=T71VWB|ynVIz~E4Ypu%<27~oi&$}1!C|g6(?f5piB_>=gW=ue$S6-d zAQKOL;-SCBhY{Q2W1FKlv4U%QQ~a6}ue0$w`uH{FJ#tg>E2^&$zUDF~#JbM>62=w3?zK@CxOA3mu4`*=aTr#tdx`PJMQv}U;JyIw;NO?3h(63 z+h(%b>LrtBbs;f6h1EMTtOvKoOFejsnoT+eSz&l~kN2`M(c>eVuHJio`J}ch;%(!l z-~BbzAmP`ci8t z>(BUFl$3j;S33+@r_VJ0yIP23#a}6(;RIPIGHCaB$u`g4lv+@tQ z`s%Fx%XYM{*$3Swcw(IT!#tdG3{ezHE;Jk3ITz)JDc}+D)6V6SQGwj)9_vHphwQjct4s zlVdUG4v)#t+uF}SVrM&!q#xeq*Z?nLOFr_e&fq9N zY5A77H?zm}<@qM(Ua{9UBfA~*rpK0P@RJ=o(gy@;v`$r2(^Aui{F_uim$qVjuHfe|Z^G#Eq;H`*{aTci!8jRr zH-yG)m=d_jjvRo3bs&6*Dc>y+5#IARSm?5xkehyGoOhPdZ|Ekz@2)0MSiQ!ooxDFU zT`N;LOnUK7HdpU)yjbMOaLwpsm|x@d8rJvTxe6{-0>0OqH3^79?0SThQ}tdyCR+4? zKdEkchaZ!F(?3H8Czz2beaq9Sv_a(Hr<`QWrwpxVelQh_gmuz>X3|M&bd|24j;r=k z7Sg`MFEZ?M-R?va^vf&W*~cWPxX+mU^bucuvG#nt{))$Wb9idgfKGg!bmFFmAz$H5 zVXqV2=C3%)zQSvo_}0q4XrXMo^k-z{k4)-r2pbU_O(V*LSr!X0`OEpx_wo6mpscbZ zK09IJ@069sCycM06a3^$++b++5m3i9`=xdBlE=rdeD~-z9~^qlJN1x$N!|OHt~#zb zefFHkN?q`P%`5CZK}Y#3-xo-po?9E~Ywky#Xtdj>D^oO*Z2VbIV4iSq>0*;U4U9m` zEpO}&STcGppM;A)3I@` z@yDk)s1)?EGrml`@**^Xgi>17S07$uXX@xR>~bBPj135l{6J6sb^6kknJ{%YdMj^aws?#f&$cm1s5~-F_kf%O zbyOzaRGTn#V?*GMh{G$1eff{<&iO!Su$k!5v(KDQWRx8~mXkgmG$OnCfp1d*kV*EgxTGU~|A`Ku%z= zy~Ryxe(6B%HmmmxFIbJ27qv10=vPgzp8kwUuV2`m^I?PAyo1gaRkwIYhW({3YQ5<2 zWv@;K@pUZZ4A&RD=Z%TCTTGy}Fx16YPEek>-Rgp%c|4KXu>16f z{}@|L&~cHIR<+nne7$_}lnJeG<+0h5v-?aCzRyJ0A8?McoI1?5RIOT74s3Zr#l)B& z{p9TF&13Aq$eBu=Hs9Kb5?==JdYH=5x*Y& z_bosRrB9styO$@Gs{!H&as1eyGqD087bCpOf^zvjzq5O9 zXCm|Bqu*sx(69O$YA=9)lMAc)uG)P0(mv0MJ|>ehsp`ve4ki!w8iy$nE(dE;3AyQWSOnvJ6lv$=amOe&O+(6TP$ zV}kD%*Xhq$f#&18Uc(ld6>Oxhnc%AlEv|Jht}-Eb*LQfa%FRRmgdgHBd3jo`e)A(4 ztdzpVJRWP|W6EpPB*EeuRGSc-?DH6?JOqd}0mw9nvok0wr;dN|9(l10PSD6pI{Vs1 zC&a?EUQ&E_FmpU6sV?@hC4LD-G4#SIdL}Tj=P_g%=lGo!i5_>Zdc0)C-#M$EE_syq z?m4m?dtNp=0p?@TCrpYuA=(G6#`Zz~CZzb~Z%D&ig<$B{S6p#iptJ-!pKkF z#wx*zt$>gsSS)F&E3v2#{v^4|&Ywq~bKT)YAEm~H`jP#XAKM^*Vm%}5m2*uWJ6?5P zV4Xm2Md0V1k(gvLB;kZdgYBk{l{1M)U(h87X5tsz@3}BeKg|0+cvoOj-Awk`Z}b&9 z^`e>~)z~ywZJym>5yDdzQcV4pSTIYcz^C1lld)h%g?uKr#}YEi#y-c=y}Kv7_uu1Q z@QfPK!PrB{aWP^QCsT$Sptu3Mi5`XC9hD)}RL+8J1%?J!JXwj^O&)&8j0{ql)pjK#k%5AykvE99h)&2DuC)LghIqkLpZ zbbsDoLmq*w*8uToQ%>&Y-HI{Jt&%rk95~j(H|Y+}Vk61XAO6IPTnc_@JL80+E#{rU zq$`$@&7EvwJLk|C>^6E4M}Zh)(;;(qDNkfk$PZGQsDh&)MB~@)g}oT4tag*@=;- z?O$9!>8<>DNnW3xUw+JF-nYQ`#X$Sf4_7AM>dD8`yWisC?QT}_T|W9TJb#I#eXjX6 zmx@^W?evY1O824*KFj9)imxjoeRtpa8{gps znKL_rRhGK6TgnxXrR{>piHFsF*Gz~$`PuJ9;{Ln8wmW<9o%rh{Etd(s&50EY))DP% zyH=ao-j#kq>_btlRqK9W76-JL)$KVLlyQ} z+Nb)7{lEGx#L%_t`wR_PHHx46N4G8bx+&FlZ1RAYN(%LhcV9*Ji_yLoi5ZtRFw1#d z_Ko=!6JQNgG^Y+bHp(`MuL9o~o66+dV8-!IhqXE~bmAQ217d%Zr-J=%`lD&X@T5yq zU!B&Q@!0W3(d|Z|`*8eNbK5;Un+ZC_jypT8LPLtRNo+mkvihXaK~Yg zJ_L~d#rn(bv86df`kVQUa70&Tkqfu|upPX4nH!k2 zqrzQ26+>%zb;ozFSGI!5I1VuiQ4Aut1nFNkjFK^WQ`Ye-Fy7p7n+os2yZ3i*zI)Du z$7O!M8@ff9Zt!`Qb7MJu7l&(tp?nCL-Nc+_x2njEqKqyi9FnECx7X!{?1aZ{e%MOP zO;|45a4;WEU?_Ovi_|~k-0Vy6ot+8RlwZVS?1eNe<818GR6|gIf$G z2nlD{$~`(o{{PQ@Dc_Qee^Z9ftpg=dJSZNDcBrjW4U;(Ii8}DbcbhQvIP{gLj4%hG z1wGc-UiL&^Y(Vl|bD5k0_u6GUbfiqUwL6Z2PEI&cb&ttDuN$4MRx+N z9HlQpwExZz&v6PjJQe~Af4{1aevH04LFn?79FQcmA-}@Dz(dQiQbL83@wCNJi^d#F z!bl^Z>s*-exA}uETphdIhA=5)Iunv$M>q9}wEB!4PJBLRBGk#hXH59je3WSZkihCQ zeniM5&y17$VbJcn<-GO@z@nFn0r&VDzt zLkU*v3{9Y5HJ~zv&Ti?A1|vM*k;r?_sm}`^*GKOTGq7*ozr)IL#*IslSx1OXvGr`> zrfvQ-<`@lq>=}I4FiFIat^y$`lTF?@K3Gn;n3l(;V;K;eJbJ^2Tr%T_dGU?a zg-*2D;{xOC;dhyE`X-YYpK#J+GAfgNu8=~M$&#~&f1gRZzpWAzN{iAN{S&L4aeJ-%Km4NQGds&?^&Oio$ERfn8Hk>?kB zCJdi_@<&+(clYgIVWr={t+HAULq|!nn(_RN?{+z)#0og4dBoL~bf@PJqkrLwx^zC} z{JQY_CiqCihm?)4@UmhOL1gSp)`NawjCbNazx)WlK0@akwC8*1`~aShFmxYEzaty_ z`cP#u@8sf(t52B3{6pS#_;*<$_*?N$>4aSPT0=hGK^=(UNs(aPRXtf(9d-r=O@AFG1rJeA0 zqT0R-B9Cu7(KlcFy>K#_30LXIlZJYJ7?zH3z^GF0Nh3G$F@G=lS4)XM*sn{!&VqWQ ztIYVi$`9tmEAKcx`V+$sJiCpw+B?>lw+S9IEC0D{nQZp$gJVOwG$GgpBbkHa99WW+}Y!eGjrv`Iy#-b|Vf&E&EEFe1n$#=+m0qC3>HE!Z@P%G(ZXSKi%_-+VA4`if@n1Q^;{Vtlf5YuF4>Zpr+r&g<$&ajV zHf~6>!^h~!>!O%6v z#0dw^46$Q))>}l}wLc9LxbTkD%FBh=x&;K?JX_jucr706F|a@+DP8&3h0&Y%^JH(r z7`@>g=Z6litONLkAbqkP52oF14R5}~@YG3t7|Uyr;U|_(FddoBXk&slrd}tVu}X#7 zobb3}a*qXPtZq8Xqq%v{7(<+++HI~seV>`D*1WX!2+%?%_0YYzx}x9tXsfIG>~&?+ z>n{6g6iktHlFZ3LWn4`awv%24`=wj@dyzakw^Wxi?`b1FKFslCoK<##Dm`U0fhUL# zu$6uE`?@gvt|QZGI&r=g)Z;FylwbexS062_?<<3q$q)4$BfL($xOm2wR(a1db?S#r zPFcm}u?axzzsw`j)Jc@AGlQA(F2sP&;k0Cs8Yz-{PSKQshHvMr?o;fN_8ZMn z3r0f((R3QHh&8bnV(hK;nfpEP-~Yy2ySLt~K0-&Jq&HU(_mS7zE#L`-LbQEyRVDt9Rws`3v!L_1o;{EP3#*L?sxd*=D9faR_z&(nS zuu}l~q&CDIf5?_EGNemj0CGT$zc+DJ1gyc3Z)o|XHwVd?z99s!=_5XMP{tM|1O_H` zu&|O8jBPLzH%-1}OT6G%Z$<2Q449qt#4WNJIHs@s*YQT?IQ}y7%HVI>sFLNPGW1Ad1g}|>8Le9q_zX$eqv~UN-QLK zDi(BT?pAz{-i#_TW>d>S50XJ2*y2N%PRlcB)=5;HwihLR^u@IXfriJx4e$#l_WT0u zT^@6sP`|i%gNZFB!X{kvPPa!t{@=**tD%!JS!HGVgfF=M(>%KCM=S2W_1$cF+_5M7 z{J6vfzi|8L$H;@>uMeraoao8l^0VQTn$=-%{=$DgDmTWDKKNI=$3OX}@HiXGsF<{qjcNaC z7f*&hp8fQre@ngn3KK~0XCm|IhyN;*Tv1+dTq*bNFaI}1e$C!V%11x>XG~`OF&Iqz zaaH1k**x-m`S>UJ;Cu9(40GU}P@Tg%d%;S^%g2A7$-X;pew#1I&c`S$0~4R!2KyCh zVsxL7f9o!jmj7;d{~O<9;e_{j(Voa*$wdEFzst}W-3wGeLJfAsx-LK**zwy_=A_~P)^UQUkW9fh{Nb!6Yd zE8gFC%@>ZJefp>L%WpGr{XHgo{{$bn3G;XY>*3G+CUQ=UR>%pm2fV?T^OX1hJ@w1O z_7!!ZX`@=fv^0-OL!~AiQmDmqUp!L=<%c#Xd#sWezS48#m;J%oW2iABqP8np!w8+{j>Q+Yi z(HBb`;vU?6M_Ea0xi74d2+g`N9T!YjzaGCrF2jvc=cSYZJyG`lmtPsf7{{j$i_aJk zaXltA_1D^anmmb?v#gs>(cN1)(wkrOP~e)Qu2oBctUqQZn0ACO&+;=e)VYg zl$Vm%WCuqZ@?N)85%D7bjaBYJE3D#aLl!IHE*p$d7inZRZ+kWF{`H z*eDRhr=OM8y}qfoy~TyIM~g`B%JVA8Vn=Qi*dY=(Q%8IGlurhN9j)D>@y9As=!Z?lU#WCvbJRt?u4^6fUOw+9u6c)ERvZJaFZ#xR;n6ahavb%ieBZO@Dm`1w zF^QIlKiXfbB^mUrdCSpoq=1cE&}A6NC)u{mm=EnB9)|w;x`R9Euh+br(mrIE{pQOY zd+;=yt0`pti!^;nPU=)Tb?_cv-hKBS`vE-J?0m;+L_MsjySg4oCi-Q#OWEZU*V30Q z)8(JB^5v^(C}ucmW&B840usUK$+z!BuY4B20&z&z3(w?n-nh??MvouyC_e&@86SDF zp;Df3ulVqt`@4JgL7CtMKPOBwDX%oVj!lnDnN`>lAjLJrA}7SeaTa_AhVlND>3P+;~ujjhPYRF)>iTzlh1{$V&Rz}nMo~=Dncfjl;@z) zvT)NNak%kAhnF)l@fKjHu4BH}EV?0-#ELO5Qw=B9%AWZ&R1HCu6~k=`Y=iP^z^6Zg z%*laOW3Ehj44co3y#VwqC+ z`6a$MN$7^g^|Q}*7eD)b=5Q`KsWG8s`=pI}WXlN0sft{b<;^zBIYQ2ptUpLF@ zHz&L(87mU6Df9KkM}nk87P= ze)c0KFn=y}aLf17(JrOu>c9_nFDS1c`pATzgL|Z|qsY28rk39wnFT#sypI z)nk@?-g&h@gA{F3)gD6O+n0theh470z~j*-G{T$D0a$G9ORvu8O{{wR8s13L_v45* zYs?vqeLKrDj9>fwDpO^jvefuCSZY_={YqWsP3yz($Ij?@40-%R_o`_-Cy*qR)}pJ} zRyMJQ*RkVxlI+4ZmO$O4fh%7!2q=?40#@~bN)Ndh<_ahDgPnAPV9U9}HW$hpfbluq zb>ySeC1~0fjSTVVb|0FNDH1WkjxZWk2nb#7Jx}8$n^?DG-VmlI6-z-VQ5}6WO%6b8 zHBUd4S2;eD^@atCmn1XES*{@4Y6WEK@Qv9JYp&9>Fa4Fj_dx0)e#7m{GK9!=8B_Uj0&bTk2H54FUD`?IFo;H;WRp@i z*13%y`Id=53qjw;iLh50^@KK_jef^}-C${*k4juJLCl2T9lo~dDm1&MliVsh275p6 zq~0x7r`_Q(M7~SLlObG7UcsZ^Ia%l`H)Y-OW!m^?`O1g*pX+w}J@WqO%C*zHxvP`U$K;i5sJ~P^^IA;yu?kXq)LqV-)L$GK zo7(I2+>ezv$b0W+Bk6pktP|5yH*sW2F1fmw1@%AI^{S%7mWd9M`M8hGV^G#QsvLXE zlqhA$b+6+DwDObHi>&CY_bf`Tx^-gHK9)Y*vQDUF45bb{i>7-UM+X{);#$m=L*i-4 zPzx$diCos@xG5D!+vHGFMtKX)npCc2s_pLF;NuqG_{RMlJNAXtN!NcIw>h~ky5&kyC&)yw4<}JkFmv)C4}8^0*@-_bmUKA< zg+xxqQ7H*|y=~`TNGnDOx{s&H`Uvt{Z{6c-ycaxH&3n?H@%}#U;q39JDT{^h0IGf% zrR>rh;Kix#NBV_DN!0yOJ%8@~mjK_vGO!mTV=8V|s0)_GgoA)YRo78=!8R zwjqAh^l{qFj*(-ibT?ZXce9+zB!tjuqwzkdh>x7SHGP;ZxYF6n4OZFMu)3Z_te_s@ z6?&0ZtEuD24Yh4f7L_F_X#O)s!N>%t0+8c#u#~Y4B5(wt*FESUyT>NgnLSNk_MwNo zJ)u)6L)ZUaS2%Nv4SiH+6>5wsfZ}Rtw`~W)vJ_HOEn^Zbn|?L8dwaK@Uthia=nwx# zR(kz8H~fC8oq;^K1F%;rhNyE!vXYR?WFJY>O)|IPq{1bjtCwy)P`8jwg4hNfP|jq> zq3P4UVM?G5?iLO|6LTu-*A!exuP{8>`PiZj%RrIUcA4yR)fCm5cb4()w0x9<0oT=G z)`>o+a8p3-a$<1e2OGXa@75WspS*}*D$RGwImzVv;ass+2PdqpjHcsMe5tfFgSL*t z+}v3o=;8lMf9+&@$%RlJN$@!t2E?6T#!EekGxbxyc2OXTBCTv|%T#vq(l8R#m2>Dz zt!{+6VRU<_qFZy|nBT&JLw)2cwyscfWm)=0)urO)i<4OXOE>7lY$0^sf!F@(V?$m% z*{P;|rd-n1q1|1fner*ObwFHDCkEqB28GyD&rq`J+kXmA+V~eCc6#qg8=r_H=Prd( zMt{kqACmQg$-M0;T;9wirhP~yE^t#Ok_i?>{HpV618MuRl$?1lXq3}m%LZ=hx-jZ- zap_(>x_K;Un|kBXE8n?jIh+iXR{j{@6!dk%>tu#+yvnTURp#^3uhSVnhHu{VjDFMu%XKuaguwzX5@IbJ?$IPjssXR z)0mr#M8=667q+ik^@|!CqlB(~M*3h69nzE`EOz*uer(^Wj@vTIDx~ggLzA9PE`cDw z{ZJ3l8S^pshQ2_tJr&-n?m#kaNO4K8isEi1tMY}Lv!I;~hI zNmbB?jfMcY89#_q#OSy)DA@8_S(`T4k?Wm4$~KrD--7`ou-Qc<`N&l^`vd)Blnp26{3v!>Kez@|A9Sr;u7c^uY~dr2HtRNylcK2vFS4B-95Dx5Ic0Rg z_s8)=TJk>GzzV9&y!hO)@}rOFJ_t79MuA~2v2u&vw7-5N3~%BlCmNZdO}=G&cuN^p z5!sf(Z~%Mk%LpK(KOP&NtMcd^d5w{w!(?F8BxTiyeRoVZS&@ej{y zV~W*jCs1OCal*1VtT2js6QYw(b-cj;-%V~4)ZpDSU}48}R{Y?FS? zu>uABs@puWh^)uk9b`Ple1usUSMTY&#>BI{mfaPH&q?3)hk`dBB%Y6wIJBLBb@%jT z9(i?DqHXJnM18ivmSsOl3(d;pUz?ef^LWueW#Q#o)V^UmP)BKNq2$?D)Himf)_$ZA z<=Dnx%fJL{-X&;Bl<}Gsl}%S2aU@!Z;F`q;>g+j>bGn)@k8?A&Kg}0&Pk9$#)-qO| z0CB~S3Vy@`fO1uP{G|LC5S@L^=b*QYcCheP2 zl2?I@?dO!!vnNlO=;nSX`lVUI3P!a0AN42Kd(kpwpQ!QI)v&+#^AB0&$(U=^+2<5; zLYwi|33eyU=Dn*HBlT|^SjTA#W40-y$w`|`0F%B=2W8U+n=)x9k5AIDi;s*x3}*U= z;)@M2JL_m+uX)Px{^_SzySoqW?f(43Pj@7v^X?mGyYGDKVa5&bK~tk*#U8s{bL$Tw z{tPfY{k8uY;s-ydX)IY2$mZHnu+lRXZ0gv)aNzgUuQCQPXDiBU_R0lWrK%t6NIb`2 zw)6n{{x%V7ed`F~-US+fm zEKkdAWe{WfiF#8fiIHFGAlH5|i;jBMoqaLmg>@6AD9uMkzWrnMOx>|-oL~XPG~ekd ztJwrvNY%+MsbV8I<&zMYMIp8dyN>4;DiRrFV_&*Kyhmi0j>PYSWre(xa(=91Gm-(03st}Fs&95ca%VW#+mE-MX z5QVZ4586iIj8Ef3QENW~ttakRLrxEKFvf%OUH{XU+NXRu8H$!%#_P#KnX>G@wmqKt zX^)aB%q~OxuN$CRT{5y_DuWJv!X`?#kBO>VeN^6d8tjS7@A?(hw41WV>P-+B?QZ{^ z{1gdZ5?mZR(JGC;z{ffAfsSISNO$nYt5&HhwfCiRukKY|{ahu6E^X3dY^AL_Uz8SS z#kdJ)Y<&^dYxr~ArXE+BFN>>xv#F2XV6Je=Y&Mh^f3+dau+oZhxF0#GgJXKdtG;oF zrR=J!{6Y&0n!a~ejwczDy8n&;BiqN2*7t79jAqDX!#i#JuE#JukJn9XWG8O5178)M zZTPFayb0xej%>&^CdqI4t!);4lMxx2!Rk0;>!gVzKbT~a&u*WVJvL3|JZj=~Aqvgx z^q3eGedj!s@z${%llyam_9u{@?8IS_5yN0ax*iXvzvLVa%{ERux7-G#k^y=!-6auf z=%W$}Jo921AMngW7+)g4><;M4$@2!sn^S%DJST4RGX9hIJkHH;g7xEh-p-u54@hGv zf&3QMv_$hQzsZ4lWy@G2cdN@MfL96cXw~`ZlaGrV8ZVj0{=N% zc@2=d+@D_p;|^AZ0dDWfsyo%0iN4UFLliDIp%L)r$sdo#%Aj8Lb}ese1MUTP%5492(|H6EI>w3kr!%&p z?H3=FT?2gSx#nBx%9GE{1F=}ey&MfB=|AOX4vtY16rbD+-r0ukF>3J7#h&POwwKc1tkUo^jK`%7;ayY(A?dA8C)z6rsvd z>3{_yd5bNicI+Fj>?C{p#M%QNAA@6m3k-4|yZZ6MNf}2E0UVzgix^X6I~nT7Ui=d7 zY3|8@C+!C_F0-Pq?-Sd+2&tdW6D6bT3HA8i+xK@5ST$>-(e&X_IbF*Z-w>{mA8o!nH-N4#}ncfm+mE$r&Y zfT+93hI}X|s?$TyFSrIFKI6wEe+Vd}hq9q%tczB+Ju;oGL}y0TtlJU}vm>|&n2gXO zIZ4ZzG~E8XEWW_*^0J^rJ;b!5q_k0qCZG?GedcVy&GSZSs^uS$|DUmbALH!PRDDUUqE zUcM&sC>OrbbDOv7n3g_$e`E$5)>ePo@q%ycsk_Q4t1UcW%dc^g45=ru(;v`RbqkX* zc00z@o^*XPh+}_&COM&WJVr~3OAIf{;_K+QyvNU%3X8qSo8JsB2qQNnWp0u^mK*tF z`c1kcJMpp3(ARjyIr7`=5oy)DIen}!_|R?e*+w}ot~$!dgc06>AQ_p%Xj!u%4SjUh zIG}q%I-pr})^sEm**Wt}-;7G@Y?ae~h&AQYmGt8z%1*FnC*3|r>{zZzx4yVaT!n&Y zSbW;jVmP+VxM*HEaSa1XKIPDwGE0ca$TdBFL(3REvgD)6PVod23!Y^^kRfxBS7}oY z!mIfvzc$iF-54lR*4d}t>-esV(6*yMm;GkQLMWa(Y+z;ejhH#d5a;HNdR)a-n!4H; zjj`q9K*39sZAd(sB9-m#3qw*AvCT~Aiyq^YkMGvG*x0tV9=ri8XYJn4xnc7CRVO@J zdYhGJzW)?KHqN7o+qY6_(%6A0eRG7gI_49MTTx>Mc?B&=90tv^Mj`9XIeuTGofAhmCQW_maH$BOQDVuzS6o}x< z-5K?Fe#cc*z9K_mABp2AWcLCY&nd1P4fQ2p zb@(Q2ew;G~qd<%PisQ&f1=(DmAvPEBjhzVu*!x0@tK)^AA8cb&AwowD+=TYaXu>9U z6JZq`{>1R6uEqE~(NWoKk(fG@r*6h9=pz%F%p%McPU-bH@;aNsr(U?x%yq(m66Y8* zMmcHXwq-l#{YSJ_pow!|K%ej{ynb}!C6D4=UeNZg0_7&`*;7}=vHJ7O=_qc!nc?#b zoLA^5??=k6nOVL>&lmDvGI@WVM|+vT;kb4+)OD}WaPr?Ob<0>toK<}|<1u5%sycMM zgf~PEyZV{yBY6JR5CTAzq~*-SFVjQ0eAWyDKos!Xp`Mv?==;=Wg$HKYYZ;8)>=AZUbvNv742)qeVe2rU+J>ayLi4joepOJzXIydZnJm=j`` zOv=>6t&Kk7%?Pg+OJ4G9a>c8E+6#tx zY(8VM?=yZ>dW-W6mrT|C@X|jAH8}1J#4ai`yZNXuZWG3k`Oz!PIv!Wq(HYT}->WSG zCeck@Dvwa=O}ti!PiwweAt_JZo$X?W?og9`G9w@r0hJ~s?a`2kd^>nh zf|nBq2Tq)#FqMU^l;5f8wKn72m=?-Qs zPwJ$!Vq{u5YWha|ZgL238&&#j8NgvxfwsBK_bi|nS#3MiWlmE-aU{cp}QT4@$ z$39GcG$(J|Y1?wfz_{4-sI*>njIQdzn*L_KH*pdsHY47eZ`sHVzkS$_hha)5Eri=7 zk|vumW-{_S9O#gV2yy(AX&9kN4_)C&%QKiiq8*5>KG?UFl{VWEZH}#S3^_&7*~;Jg zo5?M)hmH=rjnxUGamRR$%h-guwUGduvY8H}Jo(qf$8zMS9|@arg=5xE1Rxa@pR{uk4(YzazN2>MVvLA zNr|eQX4ECAa=Ps`Q^q?ok+p48C)n)cMtc0<9OCOqPI<+Hk10CIQI|p7V$(J97#;Pb z9@DGjePpN%1xSB zeSPmfoNFYq^SELwwOq-j>@&3Lhc?pID!O%j2+sf1P15lJT0-+pAJB`t?Nhhp25V!e z1aXe7!BEbio?F7iogIS>QQ+_*#?Ja631PagN z$FF4O7)pR9zd$ui{i$9@9+3g$Cb_L1D3^VqKM zFur)kL?7kwSms`zi8X+DGQrh6-jT#l==Qhj#}>2twr%VLft!52&jg|41v0vdG=KQf zxfCOXkiuW&S~6)+zIK53BifhrFn0tX8?twE5o=J`mmPNlTqZ=99 zSH5kVU>pLmN39c6Os+BBrm+zA<0(08lq4@?#*x&Mx@?XsGTa%ndAe~j*T;+ ziS3j7D?zZGjrxLTpUekQfO6HBEPl=b3oy!~%a-DW6McNG_sagKtft+vv+gzTUZT;& z$`q$)FsBSA{lka!3ynvaC{~RL18Y2?X<-HjM%!8Yn2(D)Iem71he?a4@nvtrl*;TA zRiDm8JA}91IN!a?cIxX;9DIE}0maHr`@Lbp1(lScez0-E&!#-14b$XyUF+XIJQW(d zfCW#?8-n<@bFhh(Ek{!h>&>sY*ZC#Fui(+M_WdTW#5&#GXTtBJ$GqF!6}0qme++oU z!+95s-*2#;`o2%$5==DqmLy@?F#b>pu6FfyPM`EU?cfSiD#Ua`%hRDaZYh|3&UW`& zVhxdlVEICC{oqu4rPqy`@>8ddpAmQ0bTLTUR>pF|B`-~^T+S#*y(R?1l=;T8zo&0Q zi_J*Zu6-+6Nvqx>XEJbYN4arqNNw++-VXd~e>T4?h&XKVvF*i2WepQ+L^sAqPT(3d*BRUY-0LVGp7>BgG*EvjSU?`K&&IB`G=V!Ix@sC2cB^+I00A^kuC^bnhIP~Xb28D@}~{wwVOPZ^1XjZPxz zIJM9hnN7B7>Ze@B4XBJ^d@%ir9)#4Ba*N(8KHZ?(?gewOjVHvP778}D4(w}NLWem% z*1T-T4CC=BdE3iS#pN+*&Ah zNt++M^xF|ouKh7N(Edz5WnT0GKfvPh@C3;7yaVYH##^5-M~nys2D}w?;}uIc@Z5s38vk^ z_ZXQlkoJ#=ah~_Qw)u)6K1Iz5F|zeuB5>#fsz}X6xlbl=)0ZFo_-f;;p`?qx_^>3~ z@k5a*%Q2vO`WdIDAjWGTpRuKB5g&tHx0aXkdvnU$L3Zza^WpBZ4?d;LyoWZcHA=2Z zPjw7@Oo26UI)bgLx{ZjmZ3?eNy#$ggs@=xPkrQwJknxOW-+RLQq+T#nkx2%AShN0J zd2!C8R9>6-4zx`4X^ei8)hVQ1o#1=3PFRWa;ueo@vTEg;3-L4WGOY)1ko3i1q$37# zavfLaRP!U2{y0@Na`sa<^K3rm=Z7D*iGyH@t6Z%X)0Fp$x1&obF|hd}j?NfO(1GNK z-f`S#H}R&kCD2p03xuv$>Oe`nQ6mtBlPySmNoEI=N+`zR|AoK`Z~O*|jKKt#D*=z&7IVl7`Zj zSDWgho&O}e+(p9MIfsNU9wRZw)icJ_mrTIAvdmS4J~nz6KQnPM^`&mg)0H)8V>TnZ zr>i!7OOJy6PXRb;{9SxTRnovPJtp-~QO zoU$s(W5Si`CF#C`M~;)_GHg-hA5#Cm8}*d0pTFQ8+_xEL>8uu^+mJ-Yg2M5b(wFkN zCytmsIZ1cIAp|M`3-dtLpI0?hQ-5wj;g%3 z^V28SyH8m4>rVlnFw^JQ;N$;($h%$=6-@vz&~+?SLVPks!V1A3{xcqVdT~-*6~E@q zYb`mC*_O(V4l3BO4E6!Uw2bDVk&mX|Dhlu5Fgtrg%(fNR!0i7EUAOEb#)vh4OU|EV&&W-uNCB3 zK7;)DVGND3*IWj^m&D;-yKc%Fj5-;5w8U~#pwqK;!fX1fBY2`{sYh`pCntT|0f0AvPz^?K_>}`~xt}l;E&nfEXShRoG z1G+0nTcpRbi zRa^7S!V-MfpCEo9;U!};>usceMcaESSEjtAss9~e8I;;s(u*q{Q!n9%Vjvs z@PHqF7^4dBudsYj$DN?b#%ha;Iqm*XX^ct(V+{s)QNKIgI@N$NVAaggBrQuf)+N|p&x{)1uS`y-Fkzo ztqQdC4+`V#2vEZqH{bJ4oiZedFQW;1Nvt$;& zPdWHj3zin2`dgE@{_jC$wL2c)@cy}cx231XQ0c0cabVWu1q=1;XrvB>maR4>&(RPzLXe5xew=r)`yM>I&k5yTePgg^dw$IXAhK zB@P|W(X}|haQLT<~xBVoA$7es6$T0)N7$pGwOJ7^a0oK?vU{bwzb<-9za1f!AY?- zH$tv2T;uXlqVx@M3NE$+)`2J;C6m7roDa1xY9!M*d9P*R)X*s1!wz#n#?TFxl z(Ycggri|mp_U8I@!1XwfPq85KeQMWCMxB3Lv&zaGK{+JA&p1AO^m2A5`3}FswQ~d? zsbltYa=N-czW|?_aS5G8m5=b1BoeD&n`d64O%mVF%l>Upm_z?h-*CX{KCOJS7- zzU-q+v|%ZIjlTHO5`7oPY%+BKE6$=YVFE8sAL?wUU+ra_Y<_|Zzgwr!D0ItWAK)uz zT~D+(+6WT&wlDfCB{v-@n&JC%qH}860e>#~J&ld`!F0G!*x$U+TDHSIU_X9MP15GhT$dw3`X)odtBs zDN5=`k?pX?(ds*&-G$`!E$tgukP3hW}I?>oPG5kc9-laRt&SLu1=N4b%Ww7U;)k&UV& z8x9xgr0zIY=&raQNExUN1vO&a{P7ZS{|Iu$7^U7;AH!F=FlxniX~)s4YCXezToJsk4U zsf{0mBt5XX(SnZC-ok@_%8s}9-af^#0btgMV5r{Iy>R7jpUriYGM#<(*2}WjTfUmE z%IUTx8zcgoxs{pH^XJV_@~Z8zp+H!#6wx*{G=mQQ07+DE4Mr zu1BKAwy=5XpkvXikFTMq`G|6dW7P%t1kZDr5%|fIDF60z#Pv(2f)37#z*<+kjsYVqvYHggfd<0EK@Cs!RJ#%;xBtIAe3b66yuWGBQ zih2VUUJ%72C|fG6((Dlo0vcS)Ea}h`7MV(aRY+4)NaxdNlqGV2V4pB0u(LwxTE289 zWR)t7>X%!+_@2G<7ic5~rgkhjS>3$&O)h3HR!5J2oUf&PN`rhDy6clK&=-$*`RKPv z`|gsrR>$xB9C75b`rOsL`uMktmWB}i>V(dI`i0f;+dtMaa`8U@7IeNwnt_l>(9zQ$ zU#(ByC60_7+n2u&-xttz@_x2jKmI&8U!#mV;mq5I_sLs-Hu8wSJ^%LV`r_-6WqtO3 zs(pR&oyc`?_>`|8JzH&GeU%CIqt)5l;_?0romb4@bq-#A@;f=#K#=OD{OHM#t_~l4 zAsK!-=IX^)Fw`sfKUu9$-bSVmBJVyrJbMmZM>V+LTzy0xelPOni^uRimM=PwuIMZq zXx-gjkVnI1G~kpG@{$)qe{OaB){ish98$0Et~Q_k?~)mZsP#E|`_F@i($zciZ(jT^ zv~ajNp^CJ$F>Sg&MHggTUwjLEhkk9zwr7U}I={L6E_ga&T@0P9PT&5E@YG?;UF#R$ zS#3Z1J?ab3$Dd>3dq#b~2@f5aXDsO6C;bPhfAH2%fYkwLw`F_si{FO!3(^{(T)e8$1MZ|f5536~XYwY#TV~#$BuIPs4j<1G-=Uo>emtk6*68s6MVdF+ zWuPv~bpd;jV?Z;W0OI(t$dE|OsG$B^UIR-LY3Q`0V-R63FfLxDHcTEO0c(O?f8nGB za7Y$Xy@op(RTj)i?_`-@17S!6tmQR77a46lvVos*5BWy6=3T82?2_ZPx_178h~pJOIp(ZdtfFd3UO0eGeCS2#e-Vw~?~Bc+2~|SoHZ~`}F~c(}v)y z&zfk92YSnwNa#s&BGLySFgy8E%vsQylXgoj^w6Ek4oB%ohIDYdU3dA|XPozhUo+^F zOtM=+CAfg_NB|&PQXZ0}Xwno#wxL0m4wyVr=^WaSc0%7Qr1G9N>Ej@%u~+#?)9y8g zYT1RcPS~ouuXOaetIsye!mCy7e?FwaH1a4A-k^QL`X>EK%EBc zmapC7KtLtdI{NS&m>QiV?b^ns7OR>Ax}@#Nh(JD$g;d`fk>NjwYZL20EJLOI4_FM| zqeEtvWCJgt5X5zo*xw`&XBy0XeE!x&HvP`aqun&)ylopMA|rk53x3rhtLdXf!IVQi zmGk2kUR(I^(IQ&4(c8|wby-7uuR_>x+(bTQyW4v?k zK4-0T3`Cx6Qg$qsO647hG7SR2w5xSxbSH~GsIF4XFSg)~LdSSka^aVs)Z0eHU?K!R z=85Sk<(x@KE4Bmpur%w2c5$brV{9P>Tj0TZ$VaA(kr1$*5h;)Vzv4Y?$0tXtQ^pCe zd(pk}XMAgUnxZM?iaf}Yv^H%HG_AY4Q|;@QTmp3YbYk|YcLi^r9z93xVDvgq`GlG zXdBLD9Q)jXc?jI0K-#M^*cN>qmW(=xv)l2+V5WLa-%=k2a0nK)#u7`01x5;_@hhu} zC{v#?jkXV9LyP+9ke5rGqmD6FMj3^n-EO$qwy(X#{sHVV3FI24+~yf1>d9o_tXt6< z`S#%H4UPKxw&N=>t&i}Qe}HA64KN4r-V~QoUk&*%ha6^dB#7s~wiX)H8Q$R!CE)Ep z002M$Nkl2Vt9fg>C zk}xi;R_DwMFS!Z!=ov)>)khfWbDq38E09hjz+-qA5`ye$@f>!>h&T&Nc^3$@ff%av(Ia1-2VOxs(&onvl>a(>~%#-^S;x zDB52J7K|i!Jv3b4qfO#jIMMO%6H$I)|(a5|Xo zpn3G{M{r(!2|wLcjPCLKKM(C623EMe)yeap!NK*Mi_(Vk+p8z<|7|+fV@NQ`K75Q5 z>d%0O>{yAr%bxtu-^A&~i(xn4L)yOMpfTZyJAV8lI4b`XYH?D*8#0dHf&NdBR!-Xj zo#5;{eg0+6=pss_XeYP}&$^$z`?FM^3)uAqsI-HRf^acAIC?AkNxkV*2ZwLteEdmB zGZ4}iXYc;`)#*EbnK&|_pY_SRtCMFxO1XAnYo<|NKPwvbJve!9_4J4S1}hQn3Y~u+ zT7Q=M|2e9%3BC2{=b&Z%tdAsYTj`oMo^A&$x_I)ZN*8ypgd|vwOxW}3+dqYlX>)ke z5Ua;u`0Ld93+VJiNV1qYJO#}9(AGF>PoDi0xbi^X>of3w8an0Nl%9rm`u0ySNqz(u z9jWpoXy9e2B&@fGI?xVx4{0g8h?aX8c3~|y3?0uJorhs?rrf-Vd;XJ#;WxCJcAu&( zNce9a{jVaGSJGMFVVL+IcNVtm254d-k)H=L4^Sc`2)pnN?&!AxB%!d5A@*6*h9DMZ z#<65fqgpI<#|vh*0ElPTj=X$;)+s%ksTrSKD{+q|1Rk z?w~DMrBV8iYGLo>zK#~B>)e$lb2mW85QTU)%`s=o3{$n;bMnau{i$!C2kx_Q%`?Pk z1bom#^5-X_w0!2-PF|y8bEL<18h#;XIx=zM+|kkrG;{y}M?kp0F{SN%N=Nlgr%nqN zNn|jYV+S~G*KlDj=HMAOkOr<6NYV)r@>97$)HukDAUZdz%aAjhrI`%5$V+`Kl7=c1 zlC%rrEH)UTqnnhpoPj4ldCD>{@QeP;6Q}{D{n`PY^baRp9p9Nt6hY}jA#{j@2lPUp zbnu6+<;{<*MQvRnSs$~*@15sItH&oUP=Id~v`DOGPWDKtCupYw9$qBwKw;L5e~yg}{bzlx~i=YU7B zxZD@9Bo8E^g@S+Ga8(6g#iJY}_f+cEiU@HtW^- zmUjc*@VKyJ0eq`%L={ik*0a9cnXh%;lnmD2GRfyBad8G$nRZ~f7D>D4n=ikH9b8GJ z;&lpr+Z;QIEU_DTc%WGiuW_b>SM$v{EtG@o#EDkR(w^Z9@1_yj(#X6K8I@B-f*h(% zy6QqcWkX+^(|UX#o5M+V`Pv>CTg(WV@CwPvNPVD{ehR+zrz|a|EG}4Fe4)&=sn-p? zUBLNKjvJ?zLW93%C)X3+vuUFqVsAc%s^c$@{&Jnr4z@h5WN=AT`lz~zAI>m|GY-CK zS74Pzxm*Bdp%xh{-(5X?CnP~QR|po@&QtXxFG7f$=Hna~_8AULVYKnbr#R#JfJj14 z)<`EuIW?(%$r3_33?ypXG+hyaaaULAukveADQFObW1c(z?339=YZ-@Zg+j~utM?Vs ztyo0*KDd46=Qrrion4NLI>%)i$|Bo-AwV5tPa!73Oug(=={uOhEo+Ty*BhYNpLL3q zEmogcUOQxiYv+*>dL>}8Y|BbAo`;6-KP*RYK6(Q21D|MFbG@&vz}O;nVepSL6W#CQ zq+hec(U1OU=cxu%ZNqHDh~BIxqQcC)I!cznrPM;jRDRY);Mqo|>v829>TKNWBz%A^ zJ9?m0fIo00v(@E;6ppvzBC~DfI7(EoIE&wTcFeVa z8n`a9kJ6@EflgTEMBt_=4Wm`A?ryktdecZ}?e_M7F|*Q|#GU#@&-VYW0GXx3t{Nu< zS%Q|%AA&i=O4|>l=uFA=xA_iEwK@VR6#o-4PcuXPT3_nqu2DBDy<}IP_>Q;g#OuDa zA81ZYYUGc2Dhr(K63^M|p3XiFAa#18ZTgX;6Ew-cVa<2#!8o`&|+({RQEA6NJDbKYTAmF33U6~>)`5~b6qkoBl5QX`^zWdduF2CuV-h3&i zt5U#BG6k8Mn82k3@Z!CR*kDvK3iyxXHKJxqITRo>Ex5$FchvuS&U*=E)` zGVJh3TS><@WG-}#z4?w~Z7pL4`LPlCOT(Yg>Uh$7tCtt|t8bsKw3W3|7*Qr6>cWfV;7DVbo0}1kJUWii0M@8T+^gx584CFcF%=`NrjY{kEUZaE zl>vnkgCfk15^eBIyeua_gQ`m8UoUU`9^!<@4sP;j`3_2v^`}`&BSV{HnvTIB`3m9P z3V4-s^LBOd{r?Qm5e~6u#DA3?XGG^6USEf&MLc9izs_(R*#dg)euvvTd9;*u3~)_39h{JhY$x-ha-{yo1BD)x~#z6}VSPmrm50j)v>(G`wXu z-^*|OOITAk99;5HHwauZML2NCyV-mKz5j%vpR<$hr&f~ zGP5gAXXAl7i;YP{yXAEGYIX9?FRZqod~5aMxBl^J|LG&l`5cGe&!L;&r2cG^$F=WH z#+Tpx*GwE9L5n-kYaMes6AWV;=)n;p0s3*&SwD}F-}44X?vF7^d9?cE4}OV7%*Tu> z^cfZ)`#wr71~#K3R$V%v+^x^Sb6dL83tlY$;jfbKmn8ol@n2`h-|t{k?;=w#Sxz07SLAEDCLfsZ#CL@<9z=n6f;9VR z@>9t2ugY@q)anhpG&?!@A&+h%H<>|bo(t<{qW)CC;2K?$3ox0x@q%7{M^9#Wz3|bh z(3DW)rJX*5M)-@^Wzu>Lc5t9IQNa_)12(%pdZLxdi85qW1JKlM3~_YAIn^B5IZHlH zuBL4~qEtz86AhxkX7Lk5?bT!wL*p^w~smBDFy6*-Bog@3lQsE_Ez!K3&+IG?RU+f5h?s~k`YG0#TK>b#KSnvh8$dFtN4 z_1QU4AqI%(q|JtpI35P;WVu@zqz!H;Sr;N%00QPB_vrL!^%RH5X0utn%3a{L0m(#G ze#0vn{M1>UICHBa>sexEBNhC&PQ3Y3%4je1D6Tg;es~U3u~M44d;Q`G0zP+_#{t35 zV{dR+Ge_~R`I>DDPUHobm#VqpM`wl$_{;P2ymLrZxie6e;5%Wi24Kc^Rl*gKLtNWC zO364-G_8yd#5|J4l*Zi}<@~9M{2@)lOu`>zNy1)h&1I)8RvoA<)8xXWT93M$xY zC;JAPlZJ;Ol~RY!2gtP0m1-$BAoU}iI%+|M2D1QHFmQB&xgr4-z&<#I9{FZjc@N{s zM>(c5&JZ_$?8*7A^L6G9VdLVC;x$f#$Yy;tsPLn}pnTy$W^9rZG$gfVerr=mBZ2zf zv3o*x`d;FgssdoNJM^!NBQN@pRp4lM>9~t)oK-ih25Uj6ZF(acRMr}2&knO#vwgCz zQW)Ct8as4Hi*(X2)Hw-Da}AFSySE{b&I5!{bxt%h1_lXRGe;U_dLoOMuf#LKpo-BhH<($e?iS0~qxb zCk=U7%P6EwmxD;)3zm}VAHsP+T~N>J(ns2Ev4t#3Z5uqAhd7b0UC#jyyX+EDnZY9? z3(PbG@RE{WY>I^_-jNMsjvq;|zw2=H(famseqf-}=*%q=k(+E=Y&XO>tlh zgc`OF?<4a*ws+(s+q6v{9apR9{T>g9`05+5w1s+eH=zAEALel#AS-ysnb7*Nj!J7% zQL27Quim=83e)XtiF5+U*=!vZRUGU9INrwoR4BkwTk5Y}2qhguCrolHg>>V}Xkdhc z)*;X4`uYUd-&GIojTsR%-g)bI_2|($?Q3(TF*)n3QWoc2gsNu1nT!ncGN{eEvhg%5ivd+^HS1)C*lY=HJ3EAJPbd3V?^W z29d@9EVr4ltvIlJRGTqOJ9Fof&QD)gVh4ACpg&8d|{+*pspp)QTm5o+kkXh zOq@JAl&L)#GZxt|tfE6;`YZ6(#mCgQj1AJw*cQP7>a}M0Xb>7B@!5^l5wGkz2GFOY)=* zJr2i*E5?eg9h=~)DF|t}G^7G0w|*pK2tGd$h>H;=s-QeaJmqr^tOb_OugTCb7FqE$j{HXkc@#{%uNq`%P(OH%?G$Sp z+75w%WF$Z)(o4M*NwSg6yWl#nm>^TdJA%qqmRV`>Wx-W~W>Rz3}l}fsaB%r!o885!KRpMI0F$1F15W8hAg#wCM2cc07Lilh8Vev+^E?0^o$l|ywYs~&p(pQDll?Quf2K|yYS_J( zN1=21wcbz2rzSccaiZ??*fff6Hr0)5FqH2D?;>uxb-9%7=25(a!Pkh5YZGF3UwI9G zkcPHrp$(H)sXzR8a0YMAI~ev?kEqr1#<35W@9NO8%OcBCY{GcMT9krB_zCbNUQdVL zLy`6%m4u8%#F~8NO?qf@o~RMy92s6CbFg0j5hhIh;ZTMknzrJEWCf@a!PzMnF7>so zI#|5WHm@_NN6AB$GEE5i{E$PwMRN!f-I#CY8zEViO}=!7R_85vEu-m$r-%(78pLz0 zFt77Rm?_USVanvu@yJPXY$g}#AT1z5FZEDw3oqcNodXm=$~%9_6MrX>_>L@*0RfnV zh3V2PgR}!XWETCHAsmON84IU=Id_?$ro+a*-~gm%1Zs@VwL?;z>O6yrS{+!21%xlEd zXXtqS$^;U*bq2iq%mwA$>cdye@e~1O((rHV*K?JNJa_T9U~$p3#z}R^WIDQ|`hJ+h z9a!qwh3E|)nvA2&nRFc8u$Vb;-ozY6pNfz2-d}B3m#k)vSY+v(I>PICN4bmp%r8(M zdt0I>cbO1jK3BRZMIjg2uGzLMRJ}{D%$C_CH{{*A&>&qOHK9Zl7fBrMEN}-*fUTgm zH%IF`ZItm+#$7IK5duo52{PK>k|!d^z$i~dYCh@!J>}-DFrZ2{KUNVMG0W_PgQg*N z!r7aPp(Q_%94(qD4i(ctD3nf777H`tg zju~9l{}}YSkbCJ3-ltj(xS}fy!!66f9Vt$tzf$?>I8?h992sg;%!F z?z0v+WM1iFSAE4nkR6HWw~P;c;$@Jn^2@Uth-t4M=MW5zS>Ri)Z7Dk3sYCGwRl8Ba zmL*6Z9blU}a9L7jEYQuHmeodq%dRxePfm_`KO=Pve-IHuCxN>_^TD4uuomKGAI?d2t5b{9rOZ9Uk+6fg@gvbp4Vn^3^-#&z~HxoCsEsY*C_~+m z_J9a#PP@8e&|HUt4BeofXj{21TVjv~aY+mfqo&1kTxSVdjzh^aP5@5LICS>y)6cj* z0epJQ`U%+_iVea>0?z#FOF@pRyEhxMORsHON1`9t@w%l%{$^J=a5@FO31A&`2CC<( z85Npp$YA$SZ%IqazQZoQt2=flA~V-G^_goT{5L4?3JO0;X7hMBcG?FrJO>Rq;1#1S?pT{ z*7pC{95{*tVvQX{?I!|yDDNbUCdikBdQ}hf<1Mz3SBs=Ey!ojP8W&#mVVFWwZ2LlP zh$6!o+tc?M4@y(W79PVl34UT^ErA^}Mn%2?Mk~}5iT1A7RJ~>~5a%9sHC7m%$-}QJ1P<{-Xm& ztfItO0XU+Yj_;CGjyQ)nXL1(n0Z-L?fx&s>#~%nfccg2Xzs7w`w|14`M03_)k4|Tx zi|K;)0!Mx>Y{2gMsIY^uw0Za3P2L9xHR|c3x<`+Gn2Y@9R+k_DE)F&vUI$t}G!4|F zR8#O&3a8SO)#K0oJg^_GUVZ!D7HzA9toc9&Qtd}>@a^sP4(d6Nz|zete@0#TpfmAr zHy^Qk?my%)Se=JH68rL7zmoibEk7_^0tQ~j(K)s$!M25m??;q&eN3dZ7@5**0rQTE z?MIbs!V9j8u(0q4<;EfRocAsM9Q4+_C-EzEI^K=Pq$qXNF60{fXzSxboX2}rK`y{v zge6D514I(yASZ3~=<_^+%&7M1SN=uO@)uh#ozi+ZLu0$@N_*#c*hMIv$|Dk*IRmxS zLlHkSDAW}0#tZl%$50KSOkmZm{VeSw z?jUw_MBUAQ4Qv;_;twe5-&Dg4XvU3)>}ubgwDb+a56+yEv2Y03Yd_W{K|R}lIC0dN z)MW!AnRHsu90@VPPEY0zp3&%w$nIHC>?#Io78V&2rovKGIWu(n5#4V`+l)$uV=W zC*p6W!zP(iC_=}{UwE6x5qlwDaYI+!&j_z&OGlVF8+{Gnp)7TyjB@Xs=6WEmb+^oO zFD64Xbj{}oF0fTeBTI0s^-s1v(nY3Bu!e@v(iqu{do2iEfjpGk%D4Q{f%yinw?m)u z9lQ*iff!8j15AeTK9a4RUXSdvO?y}XS#+JcFp=Uoh@2K!GXR}D@i%bMP4K8o6hPTb zv;yBWt?TGnnp|JpjZ`S$D4P`##zbgvo_cz=Yz}#*t(1wlhjl_{_5R|@lB^5MOB{19 zRG+ZevtA#5!Zq%Wg&zWB%!nW*#8pkWVsurEs#C7A%F`3&$gjnM*EX8PkURI146=h zD7)vT<0+4xBd2Hw%oo!(<|8vF7KN0#+oR>N|9Rs&a~Yj1w10h&4c>M$<;XmTT_K!( zjP8~ryDpggIMY;y+#r;wijbyqO}<&sG0QpT4bDOzC-NGR4`CqLQR-IC6W?=}Rb}uC zkDPW6g$Vp&FB=?`Kl9HWw;B?1<%3u0JYLW;JRDmC;aBNmw#?1W%vPwm`bK?c3NM_GB0Q^%flsYS9p%0>|e`vb;maz3OUE)u0}`_>iF z@<5~wq-Qryi*T+I?M!@k|6rT&J2^STL8Wu;Vs&+eZ8 zpy6YB0Y@IyElkNulmgpK-Pz9Kc`UmR1)-e(gviGRfelV|7pn)XKelWgQ73C;%MK^( zDGn=F*2oas;`(@}b5(x)DYx%bl}ZEhyzU`HW0M3W5>*HC2ejVYqbWc zA9bHEL4#Gi6~KCRaM5luV-`Ruk_CU|#4bQ@8stMM01T}{wETfyqHiSAj$mnX4{a$E zd7x))>XeNVmpl>1_-y`LIK$t4i>JqUZ|W;NuR1lX%Pq?l-&3moGmay_-CU{WNJ=50 zQ`hurQ?uYke{@Jf4@QA8=a=r1=w}96iVF=Lq^e6>vvFc4wh@{6v!1pUXQN!Hhy;L?`mEiDSNMm# z`Ip^vKzV8OI%{8zoXs!Hq=A0s#!GBY-D)A&uTD6fgw#CO7uzB?Bbzh99(DxR9~HOwLv)$pNnH zCQJfLcr6T^`Sge&J4IoXNPNmkX0U<2JY?r#5F}t7Az$;YEPmBu>Yy?xOx-HJ7=xB6 zf<_@-4}Zi>lz7TGPgx8qh5VQ~hk1sP;tr?VZ?CRC{I!6beg3a!S6-Y(F#vaH{c0ZxPHRH?_*pR(|f5(W>Qn@e`!@evB!?)jJh zA&$uRlNY$)?qDG2-OWqt_Yw!;Pp8g))I$hq->DeB>j1;1#>k8EO^j zv_(l;yDtc0#C<>{yf*0$lTPlylw-bjD-I`{*wdO&on&9z)ils!k91ILYHL z{8eh^uu&HYh8KnJLtT52=V0f6Yc&-u5fc-VNy4)@h6T8ih1kEAOcSyA1wShV4XElH}to?4pGb`Ers0;Jei;+G(0Gns#4lJo9gdeE| zZz=g>B7X!zv#YwiNk(A@SG^mjos#Vj!NJ@M&gf#mr+$uOG45d`&a`zX6xl?ZX6oN% zo(6S_OMo2!VE~HWInNk4=Uu%8OM--Hk4n{V7cK1&UR9J4dXYhVfvq3)Q3tVM&!a1C zlAs&|o63+k@@9si%mK8(NS*p(_>i7_U;-vm5UarY7@EWqF&!NwQgL-x=M4=u|NV$x#!)Z%JazDWH0SShIxj_+4kghPnz-w=|OaiW|E(xE)R0! zi>HaDeS_GdfFGL8tc%hg?Z8VrEyTzIRyv~}<%_VuGv20L9Y#jr6glM*H(C=eo3fg- zd8eMzrY@X(bVwE#+*$W!*tyGWrNw9QSbA$2L$_$Bp7M+Rnb(EVcO_zd!^@<1WnD-! zdiM+~*TF^4;*Z?Mt)q0L&oOmuJHN%D<@If!-Av(?3MzAY3X?(>2(NBdPxPa82Sml0`VedM$>qLW2ema$LN+u*qY6-TuC4e(R$&io~_WuUq=(WPPAR1xj6HysfXNNm$wsL)gp{LC7wKE*E;jP zQ(mwmE=#4znS~S1Dj)N+Hivjrd@ML0tIB(jnQ!1=QT8hqyK!s*XHW+^k936IZGc0* zICRj16Zb4Y6dhTBj13@asjGDrLiqtgRjMGzT*p{pz)ds4BhF@Rwba~w1RP)rx!}ic zQh%Hk$`}Wzl^Ok7&vwp*{r=98FmkRpw&SMGdK*JGr|C4#+2z+A<)w4ju;zLKckCkCh+;x=|6d zTm~sxJzfX>$YC49ht-WcJ6wpT?NN+&mPZM3PVtIkY#kZVleW9&y=|yF3t%10w+QF1 z9PJ~jrc64vcgBxM7YWHz6DdT`9VbU8l}=0X)oUKj0(R;frw(PYUEqbYZqWuha`(-V zV+{S@7presnYl~w=nw}s4qMyR`lsJT2HRAPR-M(5af9!e(oy)y1>+JG(LOCLra~5D z$tZ^lbk7FkIzXn61(&jMwjbd*%LfM7EhkBx%4$xBj?On7$$5vO#H4Ba=Nd-Rc{_Rb z*?F={2Zc8m)W2Wht=%WmqBc6>RIveF*cPcH?PC9S0qcS})v>{>zI77ZI2qc3LyrdP z80A;NrJ;jU9zHr}ovXguiMl9W+F0z2voxb4bra{LIgmw(IuT39%yM;*=zxaT4V}ob zEBzWg+hXJrejF|>Y8W`Kq|L~5>_f2dG0!mV(aFeUeIh@&k=JW4a!j2By5k0iPS4}h zQ=asCv3kaizISl+t#R~eZ}yMu!%>~!-{TF?Q5wFmj!aR2QYedURL+jlgn7gQTh5y; z@Y!jKU2H8jP$iw(;~Bsrofdwm#_Tv*fpepU{Zh9JmQ^$bAb8RoYVBC^ zI0i{WyVK5&V1CSNkZdy_zZKqH`x=S6eu1jPx>J_GS)Os&VKd$raF{YZJLa@8hcTNg z!+Yw|G6~zXlxmLD-HKu(5gr`dzorG&Q?UxscE84vb45jbQr+4(l!s-C8z^F4k+++(rR})rwj+mPIMf7 z>ST63Iv-LlZBrhWW!MU)S_Tn18DEJi`xYR1JN_8r><7;qdU1?d7ih^Zjbnm3<<)A$ zE@^0Y4Eynu;z>P7E3fu#o=vR{%D!&yk|8}akg7>0?T*ibefkYL5GB{Tu;d3o>!S+l zIspayYv8E2gQ3X?;-j_Jk&zPk+}k5<{pE?&Woz7oqB_VWQ4Z>n9f-(LdL$3y$cQT) zXsap@*?7&)%{g$hV;cTr!|6{@k!-$rj&N~`B7yxVHyNOzv(WbydaWdxP*YJ5qo{B) zzl-HQA!X#N(6l%Lrji2ezy)5(%?4Id;-+DZ_rYliQxh{L9+C=1k6<9H=gPYgLc9qn zLk`m61IqC5EbI==-71xgmdh-_bykxWmIajTG-N=8jWLMR!RQ=jrN|#?raOQ#j!KKu zrOCs2ha=7R!YR97oXzA_U5U!!muk=6`&+;r^mxjXLk z-Cqc=qo-fw9e!Vhh!;f%dmcx?33zkyH5`n;#m6mvmiN+qKpu~$QlFB~^CKKxAMnAA zFSGmXZ{uwIDl)tu`qoA1<>|ZPd_*{BA5XS^t+!G)^`U;XtI-~zsYNlI3D&`nP(1rG z7cd^J^__UoxZQjV&03_COa-no);xyn7lL(8p7Q10>sQ|?CtKcIM>$^`K704CA)gL9 zwo0FWgOd)t=Bt`;xNX1td#gu3@z>ym)ARo2>g@f$!n+hdMvn973IYJyp;!L);# zmgZt(<~b<^_VCerI6MCmlYkevE4f5OB) z?;b-#xXCw9nN5FIx%q}S%gx(`H|{a;#HV=bVupDh_KB$9afkGT*Wx5h3*eX_=^Xqd zU!;y3HP4@%jT1ES$xns^2m|A}vtG+HbMg}z1T%?Sr|H*&D2PY!_%S|oGNze+BZN*( z0BQnPwpwFg3y{?wag#$ov^zahcQ>Rxl|@4QJK4@%Q`C-Bjvp6^UL8gDvCu8EZ|(Zv&}$9j zY$orvp}4?Bbbksbb+s(*EKFErqIIkD#y^_BR7*Q#Z~OJFnkx!pQ7XCz0>FvYt;K->u$$i$xGHAHDFVAoU0qQHeEcX>%24A>e{Z zn#xDu#|4#-jyPvaYMZ6lNhz!kslPrhR-+ zC!Y)GGN%v#&IKp%=;s(dIuI_M)ayq?9vzIT*#*c=?32X{X=fD2d_-)`b=1l9{yt7o zuJ_*UUb7wQjtOrFL{QQY^FtH&OoDG*1XJu4T=ff*G|f8;uf;(mnTSfnGr-F0{CB#A zi!1HPcIP9{EOY=2U*M5D#7)m3Au46x6HkX@EQD+qMcSc5haWAGrp`3w%Yu+LsV?aP ziN#f%dBI+t;9QDR1{l9aJdZPH=M!{o2N!+Oi)W+2df0wGI%Jv76>Z)k9juzTj&gUb zx*JCMQWXJ+xcJVy(abbY1O=YBI)<(bHWz$4F$DEd@7aB)(?Qy|$XN9+2lKIuv^^GU z%y)G#onW)tF6jKS0A%rX!TY;(1}L`+T%AC%>GUxQ5|mji0_W_2j;O@3F-sipY=7U$ zrL4@F^EkQAhP1J?BR_TP5IJlc>U2$g4BG!SJLc#{PQmGy$9crdT~~2L*}fW{V*st< z*HEEew|I&U827Y2*Q!v+e@GB@XG`7zhrG78qsSriftQR4ci`=52a%~{iIX0>$|bps zHR!mcEN7DAjpEv6bXMz<&cazsO?_-1+ZF=0n{*J+FL|r7Bip2H#_?VIAw$rjL`2@E zby}%E?Z9|!fHFzzER4exT(5_R)`zq2TN^!lZf!*dZ6S^w>0vj4v;Oc>bR7rzx;tqF ze<-gEe+|~jV0l$p0wq%%jgqti9G;GNci$Q7rnjCR|#tnZtXV0gi*h08lWt9d&V+vuz^1T&tUeuRd8bW|^mq!pK)$c<3ro&+5uKqk4`GO8JWz zUWdf9ZDMbn>`Upn^aGz#yrjNYJl)_;q8IFFd?GBt`BGy`!OSWs>LjhXS#l18k}_V| z7KD-otty|K`cYBh*{E7oE3ObE?qQ>LG+2}GSu3(BIR`cX^&`&6yF`;&<)TlLc-W)t z&@o}Tq%-nZK@*(Q@RQHkpxol5&LWz}F?r@sJcR>5<3V%#=^xOD8$g&o*lU=CZ(n{5 zhZFDUi*t)cXJ?nrs5afzExXHZabO)k{vyO^&I3M7are8xlXOeF3s>3lSm@2gcUYi2 zTOINBUhy}de3c!8zfRR~9wF!E)dzT@c>(q@AMM~>c?Ue=>jx}u*v)p&PQeYb=tOe| z+b!>dIREy4#No$RYWZ-5Ve{fEVe5p)_uCfUtLQEU^N z`Sb&LKodJs2GyM-eOJYk);@k9{GkPJK#FXgJzH6M80XNwmtdLUv*-$E{)Anap<&+S zPhMv+nASMaJOqm<4wOT)&&rf?es;(tZn~TPb=k=m=S^B6NoK|<64HLH&H=DsA`RQT z)zcJ(b~D(GKVZHAD_M~_Vqb5bA>z0ptsJI_JGpsHDQ0#^bm&aJJPe(lI!P@4tCQG|XL)m0Y0(vU##3JWOK-9=ZMkvJ z9Z6kCTVUL5gD?q04_=|$*=aAw5%WcBdeR-5l+~BtfMKCp*Vrc9v@)TaYg@)b>C1D@ z;2I*Aw24OtouBKa02EA}g!P&mV`>~hq8ssCD6r_@F`L{kimeSFkv#~Ju_jM7>7GRy zTNG?{IGZkYTd5x!?mp7rde&K|gOMr|ck<4}6y7>o@)z4a=6YGA)>!Xjz}6p*bdl1FlYZ-)uXVE3L{su{zEj@&cl_jt`4YP(KIKDKFZp-_ zyAj=8=_1&dx8E=cc5&#kM|LjmT=*DwIz=vVc-JZxF1ukA=;DR?QD+w#>eiCn@h4)I z?+hz5=?uxl=$amJhX;2cri)r3s3@1VFVQSmA*PJpsox-^i*|MHhf6&2by{FI8y!^C z1qbPx7kEq4M{Zqkx)7|P$OVLpeg%dWFmjCjA*Q-C9GIIThj^J6dgd@VF65>^am(VUQqM_SH}lXBgtFdf zxU#v*S0C5zhO}RUsx#kt>bxX>AKs3?V~4pR)G{lG?cq+((<644v8ddT@X=)-hjT$I zD9t8;(9i+pD4>n8(m>DE-Z~hh=T08`6aGSQ9Y@XQhjPb;a(Js>c<5XN@c_LZt6M4- z(-IaMxj~?PAw(Qt$PgzLB#*e^pnhcQk9sGG2;k9<>4W6?K0}>qN3^G7UVxg8`j5^t z7D|TtQolIKZKMzv1*+PHXPFQWjJ)MU^&(62H=f<8$elm<)y*ArifyS6{|>nWbHaPP z4{?I$@m1O(uT+S_X?w8U(P!O#^fS&rWIDv@K(i5mA>aO}qsun1Z4}#fliMBbqZ2N> zg&QYMZ}~IUxckgDOdCm3PHqor6}p`pmvLnY$x^Y4Mbt13&_|use{ZVmS4sr>{6$*4ohLQ0PWv7l&Re8v+mf7^k}}o zpsifvynkGe)yqTs!tsk^*GIS4&Lu>EU4}f*{wb7a`B8xQk=bjf^C0_xI~(i9g}saS zR^lxE==^GR1Jbm}!XwgFTm<3FwtuBoO%>n??EY~7D z+cCu$ zIOH-)cC*~P;)}32?U*f)ZO_p&%w23Iuy(NG?THD{#Wzi{wt())`;>*D+Wl`@7Q99nlbFL<#x>6Aeq9@l)0R(YhIm-9lX-iHS^j{@5v?_ZI} zSC4M)KV&zXU&Ph1sG?kuY@qq8&~%|uW<~*Ve-P3MHx9j5-}-mpX|&W&9>P=qyX~h8 zme6#U9y1OfgMIa_e*=uR2P}grZ}}nKv~W1S{N}$3jn%!Y6UsTlTb+2=h}t2}(ai_H zw%UA?FA@6~gPZBjc;r{z>Nvgn7CZEC*u_z5edGxNI#=vKT1<-EWp|B3bNk6x(niT+ zr-6F9=gWu}U;U4eB+Y~&b=rK&mz95+L5_vw2B#p8ro_2R8(i}^^Udb#@U;F6m^`k0 z`Qd*L59<>+Dg=hy`lti(+@%Sdj6D=uo_g-mA|5>3iMWHN8X&m zZ$2<1gW%!adAmHNV_CvP8b5i&`=auL^|s7o&>P?O@CvW|W=*+ZNl&H)9E&*!PnpFJ zLYXK&OWqI^Q24Pu^G6RN?Z!#UNBYWVUyt1=C;3Cth<2QM8Q-BPT!4uTj{ROX$#^)K z6Z*UG!*6(d&Q(8zgYxhrkIqlOniA#Ng>N{sgtyoq$J*$!>nX3-@JMA+pz8^Y=+KC` zoHO%s3Qk}1+7($Wd*GKx8q%NCm)8yv<>NsJj_2K@@gpPo$~&~Rv*_D=3QTK5k;!X4 za|Qp%bMoXkqG*A$e!-O>L7HjjK36R%0B-DZ>XLSGQpB}}xTIW=iwO_W_SyRO&bz1JY*#N{I=8E~%fcNPZNbIK zA=?goM@~Izch8H>eGH0QXw1`|-QqmMapc0r1<1v#OCF{4=>vCC;1p1g@U=?TIby3i zGQ9TIJCvBSz|TkfoS4=}44h17nt}{Yj=|0DJlkAFkqa^BqV7s?B1;Ppv}18)$Uo(9 zPqXAY$c_melWXeaJKc0lxkEF%wm>;y_4Sh7j=tltrYSv+!VIdR9aERNwNVs9&Jk$I zb1~qKGI!SbCw$tSsJl(>7#p(?wnTEuTwsB<9bAlUc{PiUuHqqp!TKYU4nwJ{Qv|;4 z1+ZuNWjCXU_7&)5fy4sS$534a>7R(5OC{A2Rvr*kp;4-NwK#D&$Ro`*j{GAy?F5e6 z@r@)0r_k1cOO?hEQnG3ynd@_zWS!uIuDb!vpcYfow zKMp#(9eVIRj~hDZp)Y)=eQ(*daH|87sgRFn9b&UObF5y`t^Oci7fN~jTs@@z(VkkM z2Y{e*grmOFQrG2VTeCQGHtT$v1BWHRfdfm-{Mi213G(zs^uSiWBb+f?J~-oe;-iL_ z+)&panVmt6tUk0Es^7Mv9q61Zhm0D&&{mO4nPL;R3v6`|*w3maktBGgO({=cpd~%y zSu;@PWBY6R@F7k*9a`0rWxq#s02lP`_R@}BW=K!9Iqv9~U2Blgv#X}NQt*_IeY|w5 z6gb+mu;M7}vS5witQQz>c)cPr@I%<5|A4X>w?DafzD54*U9P;%A84DopW4p?$l|(-#WraNUd378|iS-87 z$C(`)>J=JQGXOJYd85GVyiOqN?bs&OIFrF$PhH8^5h|ZJM4@+uEeJm!=1^+K+}s6m$jR`OBY_!;x()|j~r91V(DMmHt;@%juxR)QXcXW(ANYU z>Qsl3bU_~z%(X5&(m$xGSZP0PFh6vq*rS=y6$j;UltUa#|aex%ER!T^kH)W2=%m}Hsr1!?Li zG*rK-wihS%tBkfAf7aNYsW_c=g#Z9R07*naR66_O8f0+wI^vB!Z>&A$X6Y%fRLHy! zd~GaFQFx#oIYibiZQy8cuC}M@t4-A>d}s&9MmaJhM*e^TuI!nQ1z$%e^+vC_^!Pv+ zR7qPK+g%&Um&_R#{L-$pLNA;Pu57;QkI2zq=EuNzv&Eoe*m`;&)oJ<$W4Ym)>3B_1 z0!0KVs7!lV)z?ho90?7b+E8ubr8raqV_t)MN?d$I)j;f7X8QbvEl)*5Us~o*qera@ z0n8Ft?F20{@ReMCC6R+4&-GLCNmo+V1$i|Vjjwn@&pLRuRi^Yfi-6IBD_XLKCa{K) z!K9+v>ecc^LzoFcq0461m?mQosq#$aqV1ImBl03sY4~G+d-piIFnA~9QKa&E2hMY7 zmz+ApaxcS?MsriY7*gt#Izq=FAKEUDgNh0d9b#@3*BnC=7#|y6-TLS+v~&tOA+ya1 z`}e%!+7$+~zq>7uz8Cx>-EIOcVd~DSYn#W$jjSRxV zYahAj&cI3&3?6N*^c6{HYqPN>ijglmmbK4Kq#~p5R5UEpPRO~>*LLq?6X4;H^KO4e zt?0nGgs7u3`;{~K$S054+DC8EiDG!*)Z6!wV-{*$8jwdj zAgFfn!iRJwLFh!Mo($zFGv$smP#dub{5bna1SXjjh-WY@56=dHCT{&qdp3CPBaKFx z#kQ$ugLY)t<4P9TmOq)upFHTN?@XCEA=Kr@o6c+bWKTZ)^8(Y@CfS3oT(L1hhlY3r z+apRLUp&Pz2)_#|t=EEhW^{okkKpVgcHZ!fEDvZw5PTQKcy!qXkxv+O)9ezN_yR8s znaSTJNWLNMAPoWDDAy)3mQMZ-aicl-3GNP?H|fa7yvQMZr9Gv2qi+&sM90l9?Sl;j zP#nU<18bUy{mFBPHEvACIQhaFOm=b7CL+7I<_w@w@jNCjj~!X;CkMQX_OuGU@&x9rUjsebWEX(*X?IP_C6jfa~I~Ij5aqFcXm-)x$&ys?VrrTIdyh({!K5IvA* zhB$%o$G}-xQy-I^KUIi6RXh4IPx}?bwht(2E3NG+Blxutp$<;E94e{X?Cc6G@JVnL>XOK*J<;H2v{ad>OmCRMQX_7LeK^H zh6S|_IUlEtFVKACbOP$4@``KzK8xD}VEw4Wd+%_qW|#P=SLPGeO}=QHBRi|Wr8IQ!aPGP@@S3vp zEbF5D=qFu=Tz3dv@~+EAESOwGaKAH-th6jPk(+Z~dkxU8@eiKi0zQgXb{&ycX!@F6 zR9F{Ya<|;E$vK_xf7H3JP@0AQZ z_0nOG_rNhVz0Cp`7}G+Nc()Eh`g+;_i4r+x?~UmvDXqidYBzMkNi8}s67 zn>tgj?yis#Djad>!cJQLICiw@ zQgFPojjXfn=&r~E!j4a zRlS20yG?xy&N_KhPA8a;&LdK2AQ*JL83hEp9?NbiR9@uKAFVTMWKs~Ni5>Ezv&oRL z%Ig3^TGwkXwj21^ZoK6Ka@K_U+OM(qI0@A~x%P#OTkt_y^;!qYZ2NoH>E4VI#xWb- z86U&eF{fSya6zA9PkdH#ezn)vT0m;`2wQhm9Oo`|tk+to6LrYPTYzy4zp^c$U79c5 z+bzA}pyuyW*Xn=j;+A^poW0<+5phnzQ+yqgN|+t&X&=zx<5;gQ;uoM^URz4{=sEiF zMi#o@$1&7#VoRN~OI7=TmpgPFAtRlW8Ti=F>e9!NrSH5(yWl@G(mT|nXz0>8mug0+ z8f(xa(x!dv!}d|i0+u>RYL5Xibs(;7IM!>67uZg2 z2x~L+3vICGc*tv=p?@*okGf`2wFN4b;$_GC>RG%Sg3Bwo4-7>m@tzg#%nZb8ERmhhrTUfOWQKl;sI{; z%b2wAHlw+oV-6H38+gLR$pfgCr`1Z|{IbLvbr@u7WR)k@vhV{h)aoY_8D!jJr1E9e zv5<_Elq(Csk;VEemwd>{7iDvZ0W^vhyKb<5jiQ3pu##u<($r0xMawP>VQf6mSGqD zw0-lC&8 z4QJcY_JOxskn=)#+B0>AM|8re`W3k$Bo9R{dr_*uN!NnZJ&969er+(JD2_a|k8$AD zpK{FrkopRkekObpv5nZfeN`UnjZl5cwvwkjJogA@JO-m&(%}d>e}oISj&mYR$r2A3 zQnb!W9_b3qkL5;(7I~4+d~qy8oan5WC-32>>))KCi-*GQqZRNDPVlYQ4lRi`xt&N+h)n(zAMt8TmWJ83absDzolt$C>RN!cDi;Icf#i^BoJ`RzHWo7jc1H&p|LwCa zV2u}Qfbl3Sq(da_Uo-<8`r0bNu?ZWF9dlO3{*llUWDz|%{;Gqv=kymH7s3kEhhtoL z#a^pUjs;EvGhP6nMM)Tf2Z4|fKRAvTaOU5llB_#IGj3k z`>Dn_)yQ_T;R4Q3b@NP2*yx!PQ5V~Jyb;;%n3%00q7Ewnpj-rHQT^_gnRk+zhbWOv zRtqF>*DM@2z&hDJqEOi`F5MjmzlL>Jn2$)MQeGphr-hEA;4h1Z2vGbZZx*H6Rp}?T z4R_6Xkz5|go;Gbb$w)g;4x=&X0LFfN?;0%wgm%JWg=_Btjt*_h_RT_*ib%mpW<&^RlYl!UeuAC~mn)X#Mt`v8!)z zwKsQ&`EI!XomlllyAY}7yXW1B}$>R#DIG)R{KNa#E4fKFUn z(q34`s!!66y@3WteHen4h_N0AiN!GwQrVyScYM{^$K%HEwq3j~T5i6N-QVJrcNdg; zcgayQi3>sW<}zJ6ei>W4@^*+FkKa2$~E5NhA<+@JXYkhXj>4-vIv0;ExKXK)wNSrf<$%72D)N@@+ z9cQpb%F?gM55ORrMxI0Tf6UficbK{3F!g0Ux>hIlJ#A8Dfal!Ae(X3|jyknQIe)HD zF`w+1b7^gx#^EKZrCw8zCH?`h9Pe+SpSH#@9ZL_npgFE6gL-kdmUa^N2{P5LU~1|O zCdVqu&e(>2;o6yC{nOt3NaKopo!~z9sY6JaP7v~x`AHn1u16!ex-;%?+aHRQhBbsl zX!~oq?Qfen^4X{MNu-4OtMf}LV_ATOX`0z_hip2)MYQfEul?V?iqlQm$yb`RA3AdU zJmWCWou4HOTAt?qzRkQ!%V}^HYOW=!k4pg`Ne0|bk&vl;(FBjq-c4~ zQ6Ar6{Pxo)t53bD#B0SerXZT5U4n{9%@Nu_H$wshYh@RAVK~eKp%xgXO_~?P#sS{~ z1>;cY8q8>fNZa@bXQ6+Qpayj)tmhkVdA+ zk^wujd9f!FrzjgBCW z4C>T8gNE3=Vxy8(?>Q^G;s_%cnaWCeT?N${`2muqg#sc0r)5zYT!G;2N&R?Ey}*G+ zcpG7aDt!syVf$(C)I(l9(<+fEcR&iQf)%IwJHWJGIW3fn5<%c?tz6_$i9ReyA?Jc6 z@{kn)&4{3ZG*tmTYmcILN!gD46_|eu3!q?nd@B6GsYv{dG;ynrPEo7h_JL} zgTvQsYZ)0rfDH3O%Tj{$6Xhoe4d2CO&qJfc2;OdegbjQMJjg1~v8(V}enyDK3&jF$ zsiz?5A#aNjY?|g5`&GZioKu7Vj&nshYdeCFfo%pSV`qzLK1cetIH7O42so)N0us@# znpVmIwjY^gv2^;Jj1(lN07MSVU<^ER$)~$(7)sy17-03=4mn zm!Q+G(oqMrSEe?O@!DSO3K~-mSmhI;PF}EUEH|6pnAsln4;z7tU#3OUQ&tP1TlyzH zjR)uGQ#q`M$`Lm5mkiOrHY{)IoZU7+8Zv1R4ZMJ`P&U5LT~kNYEcWFJZzsc!6eXT= zi3bmZ?e9%3g3xy*$p?e%9rOD#zacu!l+B@6Qb~lPMx^8 zP;lY}9s{?IzufJ#yoiEc{d6YcHBo~QAXRT7scw2QP2zjK9JO#b;lNq*6$KqzAAh1V zN3?Q?p7E`$LmUY(MpUM~;Hev7bSk7BlTty*z+_HU#4c13cq1FB)XnO7NW+CjcKMK@ zcv+03kW%VgP_cyYa;M%U&Pb-sw6D4-r>wh#ZrEk#RAr5FT%;?9vg$bVdgo%tJRe2; z{Cj--=|kRQ2Y`>YZCG^pZX$O%zQp0l>OPOSxC79SI(TirVp4p_HimkK5ir)xHdj|p zVz~s^|CCOhD{xHLY7lfxc=tYe+biBXsJ*1tu}78SqpCVbG+bNC{wa@oY_e!*W5VX( zq}}>%unJ-+m)6Q;pZdCkB3&eMD6N0AFlF~V9(IB=_xZbzS1&#~&->nL5hqV5sY3`` zw>uVA?lQD)nIcBP*lG9yAFA>;M|)KU>99aU_tw=#ouUSZvg+q0xjPC9!}6-Ta=TDn zY6ps?vKHM?*F@mdlO!!qiH}uj4?K2_t?QDpS?XswNdZSESnyXnI#Jv?<$@*)Y{xAB zkzM<8A)oFKF?YH7h}j;t;n$yadX&>2iEX2;u@E<8UMqLd>|;)` zY&(s`GIgrx+NY0uI<{CJmTQcu$_7o~Zn2xg6CPKmJ{RZgJhc&`6lAQ<3b1^@mw}>K zsZg(0DFY=7Ja^*z@G%~Mav!@1~S>ka}78}%SP&XE*Q z_y?VzLkvb)$q7m}d{F7+|woj*Z^O7jv@x75m%n}le9Pag`=bu%9eovt?Y=1#IY5}FX_o&8#NoU1oBZp(v?hp zikD0a4CY1>PYG(v?kuQsIo_mQ=p$aEeMB>l(35t^FxW(O)L4<-Y#}0TWej)ZtsPlu zbL96=J~|5>V=^8L)ys# z+spF&z;B}3k9D^f5RE;VvW;&Uclt^UnpZgL1W>(Cld;fiB!BK&j=e&o`hfi{+@J$9 zj=b{`eAQaC;0P_@<^xvF^Mr7o+&y#CC`yXyvwB(w+hC)uJ~*PW_|_Mj8bn-|_h)aHSX zO}G=<*Bk^A0*j-NN<_cblhR9!#od&8I80LrFExm+q3dq>x{gbUgN9V5+%TkEy7d>< z{8SKM;QRp-m0KTpy}06?{yd3MJC32rxM0YY*UCl+D{imQ5Il+=g+#PKJBlzEEp@51 zt>V=;#$zVILQ#-9ixIM-me3$!ZBiqF5ky%mL)aiX!6MU2rWVb&Y9t)_UI;8VOw@`< z$HTIgDXH`f=z5l3WKpXH>ct@gsyGb%!IymCgePt=4;pz7jMkuadU3W62|*$zf|;Z< zsY_w!bAolr3PiPTbP_g^g>ved4u!l@T^6d!XhuTICgRB2`prb#yc~@XU6MzKh=|Ir zoM9jhj*MpNh6KFYq$wZ|d^?N_lf0A}yew$p;a_n9FKr22a!A`YF&ZIEQx=#}ocSJu zBb37qI`;8aO%=O9@P;8jbs^9C#pZ^_oRNnj**S?})x;C1>2et$)8664e~v-s6M(;Uhr1+`kC#8hA8 zNYCI|8Kc_sN(=w&)jCZ=_ zFI46AFtg8`j2Q~FGnPzpB~_(Omb@-c`&nk1!|}puBt$=!S<(o@W%$vz*-s|3{1X3w|4vQ z#r`4?d|(S0xhq|g`Y__*m;J*1=%Yir_BEqg@%v{qZ&~0W8$2;GRt%VvQHk>4T~z!e zDYL#@-j#fGaX=qB0WW}4AB5FUm`wc2+ASBD$rb#VsVw-V{mk3rtePzR*8qQITKF6Cs+`gusZoh|~}s^xT%rr48U{F;iN z2BMDAb2=s=n4>4L(sxo1;zvhi9Fw7B1v~9NQ<~nco7HRl=DB*;#|qq~=Ik?J#E<DxeRH&_H|^0ODkp5w5{~n@sJesemD<)3DK`WcvyP49h>ieEG~Eh}%n5IkSzH*MsKvV@7^!9Vr$#TlP<=i53AZVZ(#FQ-&^g+hPg9v|)|LW~)&VBv= zzQP+kz3+xWjA-w#EbMv8J${Mj_`4qk_Ws51)jR?P}7$(5X-d1C}oKv{6EZlYfg>=;Tun&XOSNX7s`gzr>0_>a|TrlL%02NqJ z_O61_kBtle*Kq7WZj;8{g-N2hc=9>7dP_kvNm6l?@>}^ zd^Ca1Ud4o6q;>&*Y^+gF>z7v{U6+6Qnd9i=@bkV_uUuFU7p^h0-yDX)>qqc&0_(?9 za&*?m?S@5oHf~GDe@u;J1y@hW9(yyxrI*XGrB6Aj##Z>W%|?N%&Q7mei4?&JtiOC6 zAcv3109HVxGsjZ+q6Slo$_*HAm(75_C!Np&vUoeqh*y zV8^`=J87HeJ&W28Iz-IQulgnpnq*pDF>Ove5ZJTy1A~TCrB3~B&RZheV_$6OfBoyf zx*^&(1=7hK^r`iWtMQW-U>XTe=j)(|En=!Dj}9=nmz3X;s5v)EoP;+cP@VD{c#H0l zi{OV74NTxn8t!*KEUfH=i7!glity|#%tA$!Jz-b^eS|Bn_;7%Y9>dw)$H}P* ze#WbzPNC!v}lBIBt0_oajov z@QeLa!DSGuvmo&CAbi2y@?@PqGQjcBu(|=9LBX3|?p-{ygLJV0=`@)ZKXsxNWq6*e zf8K(l*+8f^lwbTzp|~r=$aoef&o6oFc-?f~Khih;=w^|NS(l?(guZHdM=xF9ph^JW(T|IjD@~AISO;>q zD|R2PhsXfR8|YoX=q`RC_?53AlYTpfb2r$vqw#y; zg3~o#^lfVd_Oqi_ro4rK@J&C?OIPp;cl6euD*Ve(rEr=#5L3BD;1$syh^$ zKCcv~8$J1iW&N6QlK=g8Sb=q%Hc@;iM*P^>mH+5(^nK%9q2LAzNVw1E>exc{&2Ag% z{2eH5>KE8WuWL7dL~ql$P)!%gFqIn~FT&(LxaG|TZe3h72S=X{pyPX~4}9x~*epA5 zyn6KMlQV{HIwLhg2j7Kv6G(m8_$+^n2CM^Fdl8p@WgS5tm#YJ5qxUGi{1Qt*_@e8K z4t(0^vWkm{Kj4Z6=jPe6ZW-{rx-4CEM-#%!smF=3UOo6D9vrpam9I=;Y(`)2EpLcM z`%L0CDN3yjHvOu)w~*aT za&p?ub0#*GI|xT}3oJVHKfdsG$r4(3^gY`7EYFR{D2%ff<{VD1`|_@ZB4@@QeZkMy z;Ml;~(U)Fwgw6>RZziB*KA75P)kbZPH--FZyuTvj-}*4v z|I?k{T)R*Ez!W{0u$y>VG`;SnKX&8Uwc(>2>Xmt3~h5&^;UHa|K~iIuX^{~+jlLT{@HFub$Jn0-j0J0=}}wy zoV+iyoj2KrMXwzi2b&V=mMCc^+EQ2un{k~qtp7$gN8|1XIi2k$Pl!w;?8=7%4CwX}2#!&BI$7G*g zVU8@vwe&3#vpLoFq4qL7{b-jjvjI;5jhFCQDgI~?%O2eLRNnj0VtV+oOkZ%QS|vFH zIcRW4Z_ipJf3Mwo8x24*tV^fBcA>s~)0{K={jEjvQ#P2Jd++L_a|j_Xa3Wg(FCMS5 zc9g!4I4sBFw_SvGjTPW&RTheDD!!~oEpIrz^Z~MM6Fp?oSwf6PggMI0iC)#Wyzl1n z^jtlrg1&lPne580TYIGWVva3s_YhK-{jVm2)xPGCsvt2}rnCOQg1%_! zbe8;NrjQb~)4gj^{_^TKII+Wj;Eof4Gev#d8G;9k$3DR_I&%z^clz9Pli}FR_$r6r z=Nz5Vy{A(%Q)l|4?@hYd8MWbs#aV;3&<%b79z)6z?2<-B|KiIP?GySo$!p$>hup z_Bdwq3w^_@b`1Go$j|Xv99G9oXSD}iN98XW#$yDGIqEcPxNMJr= z$BUfpAA4oP`X6*Le3;(2av)1*gewKlff*YYpYm2zQ!I^58yoD-+q?QIVr=5{(I#e} z;oR;sD3$7bJ25zI?Z%zFC;Qe&kcXG`KcXGlRl~vRkr?I%+6g_tOM@G`%apHrJj(l} zddY%+`y(5C+AcafPPJ2A$~TVX08e>R3F%GY!n4|>wlBcV$;XMgvK5+>t336fO<+_D z(`GoBIBx`PM!$hCeW{Ol*lGA7S{z4owLUPy-l;cdXs_0I`}XyCXsAt1hd*___SiXN z$hm}8NGs=K9ebZ><0@WeRq?j|i6E3%`l1y%t%@9;j?hn?zI-x=@9fIcPaGXn(0M!_ zu2V~#md2a9k66H6M|9@s3uf;Dtla!Tqi;v_^VNr^3fQ)J`*!bQ^!T`OU!Cr0gy7&eHh$#j%Wt*E?@QN* zybSipidOQKW?nXHQWqU~7|rtN_|!RlRxdGUY|{tg$9#J{1<1YPrmMM+zTHhYWdqxf z5`pwfM)t(2j$Nzg(PZ~o8<>(7%+m$s&Eq9Y5lfsk@n=4|8h_?fi?hsI1QQS(BqDZ*%t1$+}(zNO8>S5QH=PkX#vE z2@uzV*B~U27w-uWiB5a z{H534D%iEU7oR{f&aqRldKG$F-Id68r?1k76u#20Vn_X5jNd@WvvAqVeW}clce=|f ze8bP)@dQpGNBJ%n;yakf<%5ATZ=0V;l>;P>C*kH{7o|ydijRZwDzgm00IouV9dN31 z{uS8;JK2W3Y}WHj`9lb?3-5tDzrWy;EjY*bLsIk@#a;X=vgBWRT;coY26kP6@f}Xd znbOY?i^+#wdGaM;I5yNS6Ftjv89b|l)u|!sq78F>H;tuyvnZLWNLqF zbutdjO@HNX{0H`7GlAZy4i_tZr=BE5?l53K665ib6VKv%Y>++P_H>s6rwm^D*PpGg zCyTrb&jAN;%NVZPzHeODc{;iAPPt?55(v5L8o|+!Cf?aNv*!%KIIi^N-|>D;#IqVPp_wzw`54dDu4v$t8+a22i@avPo6tUO!RGx;p@_6e zPzQPF0v}hv`G7|4#EvSm1rr*2q-&vZ;lN*)(X#;LNYY(FdrwBs2PkgrokMCO$0;Km zOFJzLH)Qpvf8j9jXvgzro^Rh63wi{$JFa$a{5=Psxdxis4HMDb%}>_z;SW1R(qw$^ zCGvb#k+g_Ei%W|idX8v3R}*__Ve#m$`hLyt=D{Xf~gcdvc=Y{6-<=0)`J{-u}g*Z;qM_2jp| zx1;Y{4mK0H&pAstlUDom+1$WzQMIoQFw%SOTew8Ch<<)C}a>*zh+?lE3p zY{6rq@53J7!|w~A798sS{&2=uJ1t9NPUkT>%IpBvpMUx=|CD%kEuHidmbTx3N?kdp za}huBBz^BCOONVE9UI>*UO5p?U7U$ET4cDLY#(#_Szu`>93W$3gb=xd_K+O~$MK5c z&|JLWYc*T~e%SRX7i(P~TR6>&Egd;^yWSIIAxLI6W-K~5x-Nlp=@4Rf*-IB3XLAUr z*E5e^kr7lJ2FOM)`n03Yk4UZ#(D0S0&tT)A@OpMq&{;d1n*VVQyHPM&$9uef*NtIq z0*iLlOaR0a3~kdpIHrTn!d=HpBTEbS|LcE!+|E6EuvqhAep7IZ`cHjfIf2)HPrC{? z8kBWOqz{>+=%RrRX|!on>DCS$i#59ANc&zLdY|Br+EUW*eObnny^F7u8~Zi~WZ!VS zeO+HuXQPi>yAH?q>;;V@UAnK{Il#3E4r&k3u1-Q2)l^dJFJX=wg^JJK=_#0FE7oFc zm(JN0dy`+B+?ZQ>GFFa0^m;cB)UbFFc--{(*n2e9vvNm|n67N~$_}Sf!ea??*nx z2zBh6Za4KUGLl^xzfo^ecN3WPv-+3vP$eY zHW}Xdpyy}xxpV$!;C5(%F}5C?pnFL-t!d=&c%==NAaIkZzGMAgjvcruOzG(W3z%NR zQJb1iblY&@h5UAXaReEY)j5FC?yNgv!$142WkUZ;NT&UrBs#XMias`7Ecr-KomTKT z`$|#A2BGlNw-#mBw|ew}8Kt(0!$V-G9OjN~jwdPzkFiBPvO{=4sw?N9{j84IES;f8 z6TkNY(QjWrHBZS7>SzAduD*TTFgX3C8@@u(jzgDyELDA>RVE9y6KWs7I3*sx^s)7P zaLO6N&hD;wDd2fK8q4J%^sycepAQ|b^_j-K_w^6E5fnalZ@hh3+xf()QUGUOqYm|j z?7|1Jq}xsU=e&Y;&7GZVp?V>x~FgSx6$1L2Z#_l^Gy-v>BK+x)3BJt)TU>PyPTW~J7C!+acr z$7bQ?)K&}n0k+G|+2?%|oCDMQ1kHut(XDANs1- zj1n5ne?;POeHCHiZGBa7oKEH|&PvxtRa<4?;%v;Wki^QVSph-)=`BNNDmjwe_&VboPlYwt zl2&I~kcF;^EIs;r=wot4ld~_{tFOS06<)f6kQIhwox$*5lBqKX+|}tc*o%*TWZ}sjnbBmkNzwHt) zw~lq3<7L`30izQ8PI`0 zPzQ!>yC!Y}&;Tygo%VIWR*#6)`40Ffv3O-C7s~f>(MK2G}i1S(yz z@p_e+KH&T{xYn8r^t^hI6w-+@Bo`|P3BTZw4Q`=}KpwK;E&9Je-+%`Na)-%ve9JtH zTyT&d5w`HSF-<0bC;#*zkPYEEgB{3~ej{=g?z#kY>j=L7&(DSbzFwWkE8Ot2p|0iK zaPpX7Hsy zV9Fledi54)9^2PdZ*dYo$Hoqd6#}b$?_7L%V^}|dm!WH5UcYhm1(Sy!E@4OS!l_8t zcM>Z;O}l<_c?b7V)I~2k>sJzDAK+Pm@Z5SBPhim)l0*B}tA>OoJn=M$&L&SL0cYGg z3m8MHWv6c7jLEcmU`|=()nmWGdc@1FrmtVRb6!9Es@2yvV}*AnWc*qAco2>FQu;Zz zaCC9F4zGSQgDCazrGU_+ii60XVespmPiJAG&W0^(1UHHhfaU&K#OhsUl%YBKuJS2U1A zZ@emc8-Qqs@|#|ku3l8#Bu{_h#_{tCk(=jq4}fWRE;pIl0pP|Oo|+?kPEnkkp0F_a z{QceY-~Q)6`shW_b{Z((J>5+JIiBd@Q>%{GZ;ox4ms?iordy5sXfbaro z6KK0HJZ{rwwBVG#+G8?Ms~={*J6(YEIvQA_|eWeGu6S-3*ri0 zq06zj5H^<*}~*%Jd#T4bEQtde!StMg=mS8=`1 z8cY1!VJ3f$QH{CcwZ2JR)GpU2RJ@=r^nrF8a&r3Wwa5PT1;%gff3Izs zzTyQkOw)~1an6f9(w{Eu0y<;n*}3S(gMMHR^?2FMr+BsShiZK)e#3uuf#Q)F3Z4w0iR+;|{cS zoL2g!^GXgfYR}qvJmH%z(~Vun95axp2RfXYCCwaurJeI2CgX&z1QQ~=zjISE4J4~N zpcf^mn2w9WNJIT~QCsA+d6_f+Mb5tS3W{v7_U^?;aT)AsZuG)bh7wH}peX+lM#Iku z$~fRS^bUPCOSc}+H4Z|8qZ=8VZV-O1j&^gTI^q!Hh(wq3Nf@Po!H=IM$9HGt<<8 zr0y^H&ShOXQ`eX7>6pE?yBA)xIhZ*>vyww0MNV^_*`L5xw8iQA5?J4JI~sLM<8yS} zTsXYk!s@RE9}vB4XJ365?E1!6jRE=ueFi+{Pj7nyPA_EF{5UFOkCNBsyq6R++A&)? zhxn;WILME`+2bT4M|z64H{pMlJv3a^pXFd;mzDig-=i!$br2Pg_^sFpt4qAsC)a*o z=eS9`Ov9WqKy~xyfy*H zUaul)3|T8!qlz=~1h|c5(dUDS)0M-l^5C(4J8bng#)m&IXXGEohXC~(c4iwJU&ap^ zN=nVuNzvV;g(x}@>kqVFeC}FSh}LHnH%}tBN{qwO?I_RQ!~cq%SLZK#-)Nes;Cij< z>*)IIIt)qh?B!F+QcgY3p^f3y0~-i`<;JTbQNv7WF6IlHiGiG7c zN!5SaYGseJ@5V%g2tMTqOQ7`<7(g|~+(qd$W16EVq+_ab=e=_Z)qo;!ca$c^=UMq+ zid%5_pJnKUScvP&OrlP69C%01-PEfA?*dVJNfp5Is@kYy@tOs7#U9$O70u~P-L->k8xD7vnCmWGQS3ww@#fmi47S1kOhFBjB^!? z?u`?kl_f{{;ss4e1KdJXI(ct=0PZqb*ZIOF4Xo^3VY6qPpn?ugbYA zvAP-0@(##}!0ku|vgpC8esIY-`C<#~sib;=pZrR@!|=g%q&c1Usf{m#c&HGu%$%u>K;ev`daMidWDfOi$uhnkbw%jB^tW zc&Bpk&}3NFUX;=2EFWAE$HH~K($*v|eCvZ&=J4)%IBuHBum#Gm@+dnS$$``k z0)v}f0T%cA*fSx{p3$S4JB)A_n+RPDj9zdq2VVhtmLRX@;Ss%O^kK!Kz2377V3WzY za{9f;`Od4YB!groZ87d^ZwA)sZX*8Oz zlaI(R0sh-|z$^=b3(3ll;BsdFK~Wp%l}I<6)Kpk?TSt3mnFZzglW_ckF&GQd^YZPl zO`wdB-x~*>C*!v|5HfkB^W1&CCtaKXbfQj8UdB#WSDH(DD^Qikl*Zi!XDG6>?pr%F zzVs0hP8FiTv#OgN;6*?iUFTDUSy1WGVuOXr9u4ZVThb$cSz3JOoJw|0!8`3%5J{bO~C*0U+*{Z{M=3;s@=i`w<{B!;W>6$@#vyo3xTeE1USIIly@p`dmfG?0ftMKr-_C9hRAB9-pYJ)IIsDMI5P#Ba|2V4P zEDeQpH9kkP>tvYx>3egM0C(dl_|>*^M_8S9gd#jgezs+ii*bvRd(o$~1@5tr^2k={ z<+JnR?&foRe{P1a??T_MPa2^s^w2$}i(h=;SGf71ufsFg0^86B4*{Gl?wVU>6214b z9irvaN5qS_Fw362=MDk-w?o8^=5}pU2JyRG}?k zJG*Jt6RnlI`UnvCP%eGw4>(KT*Kd4J4)anr3BUF|M_@L6F`Y@26N0_Rt9YAc)A4F4 zJa*HZI6Z&Nj$fpZIn=H(;9FjT=Y6#WO*-8dGjq~%igWVNE6}gq)v_D;`Rm@{7GCXZ zJGM{d^-GA;eyHvdPV&k;sr}oLsJ`gf{8>AgqvzCAqOdP^tZ(dbUj0T1>VOkQx#^rv zj4PKNq7M%q_8$%rj@Tj8IjhJ126iA9_oZSx$6nQN)=pFIFa@~Xad4^b&eSCHIEnNT z@f+%`-^yA|1qW;_C>oy0ELS~`cXkH9wsahF;Ix1^oQ&W&>pb#n+~5~^*BwGPq&~Tc zL^oI4LMzZC>Zl){ly%5Ygz<7&dRJ1-FOFWP7mS~#oeejCh>rTi7rVK6pM$%yryHaD z`i=PE%wC{7_0z>Uj)jnMI|wU)ALLFrV=(;mF-K;$yIpw6tIcx2yka!*tN-whI`6Li znlIyPV<0+cnxAnLx%tQ|p$$8<-|z7_q9fc7T&q9$j`Ph|diC?$oD{$23g$B3s(gJV z>mV`9foK8kjuRaj?0(Xr14&5y{X@SlY@>^y8q^qwU2i6zH1Dn zdprHuB>n5#?UIC7-}=HM^5va=+Ic9a&M#f)64``t&Z_{>)6TuiZ+#j?V7+vIr_U>f z_xc`R%Ox_r{*o;<%HfmDOz*_CX8z*vAH_dZs}aZNcX z3%+%b!7_YBr=(~R0`I5RR(?*b@d4jBTRJ!mU0DNy1%--4bM5KohbuIcH;>qXe~v!0 zLBMywEaN>~uH4DOB>Bpz!hMZL*dt}Nuyy$3J^A3k|05io&_Bl>+`Ajy_4Lc2@i<+S zH&SFPUmXU=*p3V#)uNgJju5@TGh8sA2KA$k=UWHK+^xE-W*lK}q2%v5C%uHVXX^j}R)df+Do&*0yF)6L9Nu-zAVpGyGmNyY{D;pHuezJQ zkYXR{;75*yn5@^Sk>sR&n%;h5On2+;kd7WcR`-=lkLw}Q7n@lN>lDy_{bd>-3*@szZ~**9VlMd$+F=QcLC%&4>|pm)kDFhPJ4Xl&9=<{ivHE1W*Ru%fC@S>SCp#dE{MaPQnCNsMM9c5MW?@-q6?eY>Lqo z=tj6<6_qp;`#EiVGL`kfcj3b0Lg)1}wK7T2KX8KWTE@uL#>4l}!Qi#~`VD==Y<)-} zIb~h`iqG{e)|Iu(U``8Ct|R^oTu`1xiGp~neUJBGCT{>;f2|FEX%Xm4UYmexXQj_( zE__Eocm#D5j`})-y(nU{p9?kolJEBSwT|5`rZ-J8?};@`3kR?$p7Er8i^qrYp`6(_ zi0a+KLy@|=iEFX2{-o2w&9ij!b`6WDvKH?2^E}+owtY$GSpVPe>N-Gu_2g;d#tcxj zC^&W=Bpyc>e*b=uPnLLOY}^#H*p=FLjxVWGA)a}AN#OJyONr~`HE;ylQz+gR+Hm*f1C-G zolvj3Tm9C8AJJ$aKr5#m-MX3}(;GVLkF7MKf5YKVd}#2}^`@YB-hodNsbjHzE)}8e zSewEE_-r2lWI&t0j_uOQM%bc>Hx^CzzUCZ-rfKGC(&WyB`a|z(d-aFMWV(Z#%+Ixl zWU`yjBPxH|#n`0Sd+V%6KKB8HfA!*nrJy)uHOLABzqsc5S^Z)9g_7A z#{iBz^iWx{aoDKuZ(To)0drhvIW5mF04(7kQW!+%zCIUcffF4I2Mw8Xe*J;R3v={w z=xqMC`X}#zrk{P7-2%!c%j~+ zZ60qfjTeuha+-2DJZ*d+jiXDsKcR! zh?9A0-#HzqX6Wz{E<1}!GG|mwm%8@Zb3@s2SGB2851u3Bg}Ueut#3I`?C#r+$YG&~ z(`RuUy?*7vgY>bV2LovJH<}lXK(zBY>RJ$wFMMkgLXuv zV`EN;3Xy*w^?|PP9J`rOb?LWI+UiTk5^j94-N_m5;V;kJia^pWK{I(1bX#8J%cRFR4fv@akX&2ArM z>gGgedGGt$y>SsU+r^oF^xGcG#Us<$94#5VGT^25v~hsbid@MOPjKB|$i=HR;H*}5j=1FD}uj$WT&(jwSD?~S(~B{*2d~NF88>7^CQb~kh*yrzUI&Y(*!``K@=iySTZNQQM&krM9i^06HA2vby);XO3pR{5mJ-AI-5mZoj=SA4zGA{ z)5B%tC!5m(+QDDubIA>kZ2eXj-jC{Q?C;Xw*KWY%tr;%mv!p^5>GsW!C*ISOXtrLv z-L}r7Mj3OTw_W-ubpvwfb%>iOQaGNIa*mc&N{polvS^szGo#3Pu&-(aCb zdeVa9Xoexf7p+xp=^5vGfHB~wfRB!u9+~kFt>IwY9a`^`4xq#Y<9Ze$fAU{>7tL8~ zd7Btzz`3P=`|+=jzdcFbIr{L~WOV$Y4*7Z<@^_>=-QSpF`K%A^i>KkGUwSRCkDBGk z!%CCx;Vv(u+k_yH6;7_btUUXu4L8^%R}-Zt@4P5Eh+Fq9=GUm3Fiigu-tGr_`8BvS z<7U;jWp6|;W5xkk+1` zr?)z+Er`ZgfMC#H0CY!-YYyyn{o|Rm7;SDaGKWK|6 zdYzT&G9+;WP9UHDba*G7Pl!+JT0H!;Rnw&it)Nh z!=`9wGY6ByHqh6;EQ(vawm?vKrazyP=R-SLJtkt}x_7u`XCJ@PYtDrpS+<~GyNoX% z*HB&O{dEzJRqs0bkh9O%EdTa9ea79>wp1AdEAu3J9+~qvAIHtdcKH9`WW;CuY!NtN z2zm5$*Dn;DYHWyH?$m$cUCjty^;i=co(8Z3ks_wAe(%Yz#~^9ySPLE9dQ;oiwKSv` z4hB(r#gDvUjsfTGnu>nr*wnY33Ux_u-ZrNF>D_NDQdgQCf=ONGea!r8^J0&lZihtI z<98}#M|9dxx_jPg;Ys%B(Z`R+o+^!9C3h1=u!RbAD`pMOIZROZV1jVDHhxGUpKK#vIN!z^t zMLS)eHc4```(yLPuiyPofG^=#&Z^b_)8|}s;^#Im;Tan zbx&{YuLzRZD#_aAk}#wqk?&GJho;NCc^a%zdY&*Tz=67AvNh~Aa z)jEMr>dtog)bJk;zr6~hfsY()`+2(ABkCdCoM#FdrpVC|WS!NE&V?JU7R9kM4jroVbuJa8xy=a@l5U&cPa zCx~%*x=1?xAMKFGO&hO?_}W~+Qe9PeN33<<_?b>?i}0r_yT3ly*4Qsz$aC!V=zz}d zK9Y_O$OHr${ONxtcL3&@99ZkuqH=avHda>uZ>zK4?Y2v)AG^`$oq`;Q>WK}%*KxNy z&X|s8!&bDl_v`<@|Ms`={NC{VqiY|Qa`WzA^*c-(-`-J2$NJ~Z^{N;; z!*^^$XjqMg8zsh4d%tKaIr3evwdHL4$|uU$XZO^hZRZlIHoW80IFcBYv}kn#Wi z*Vo^EuP|F=6XvkqRhOInxAz9x`dIwjJ44^((EHG0^$yc>2SQ*EW=y zGulmUH=G@8VUB67i6n)D3FR1Od*>oM>OwyOn&Zq^l4`Px`l$K|yYATfb`Mr){08ia zmOL%#qReoc^BJ(`46Ho8Azd>*<9NKGn`G6^#aTX)K0}s0bVDK;@QurAV-8exsmyL9 z)s9J{U-PsKJ3V7ByH{tYEuT41c3&Fb%Wj^~F2>!ZQNbpsXNQ-C2<9@jG;g9ofu~nsH3%V9FaT>Urw1sZbW%m`6k2Qw9A7iO z1n7d0ut<0PBqc3TS^uRm2Exq=Bd#(ozQ+T&87D+dXHv|0(J?ltG~CIx-HBZszEuKw zE7GyYcHtRx1qAXSjKQU2Li8#$;fDRB11oE?8=P;wz?**8=ep1W}2Q&G#?Pb7}SH+qBVd6c*MZD3ZW>o!IgDy`JQ0_P}P>XitG-V~V3czKWCYl1)3Fhv0Tk}IvcdyT{LijRDEgDXlDAl@lhTW6;g3Q^ z$3s8a{PcO_(;hjR+2B>;0ekZxV{vUk{QT_H#obP%LMwk~D3zOir?bwhgPVu(FJGZ6 zT=3gD8T>?*R((CO&s%&johQRpUL5lNZ(e`32iO$@Fy2n#1Fz8X9zZ{@6NAEWdqiWGqg|Z7 z%iN8V2GwJFm+eBMeW|0nok_dsowJLJiE!TdZy47XsbhA^2fx9kwy`_W`ZB55gbFP; zG^+dy^GJA9bqg1Z&L%4Q2`~>HyL!~~RWj;QV<$du0y7+mrLiv)6mZc!i!h)D+VYRG z00d#Ow@8KH?da0k7-3M=2b~FtbMjRlBuS=fvTf=BUPfg*?1NYm_qSyZc#J*s9B zs$64$fZm3II>@E;Lno7^!bH26YvG7SSKg7e5S)NcW175E;7k~r-IP&x5RUa>V{|2k za(#bkbir;Ua^wh{8Qz=ck+dxsLQV(9Q;RXBHo+Kwb+=XFbUzJA>;(Vf^nlN#Tv@vIn2JZ`+}JydC_|6;!ELZnaB`^!H?Is$&1ANa z^-d~0;KjTBISS#PT^2+5JVH~wn4}K+*ud~^KwI*Dl$gxn^bh9N`PxEBlY4nUL<*sn zPZ#*3WAhbdjc4bk6yD@Ffi2(1I_wPc2$y#b|1;+lmX-7Lz$6Lj)AWGmpYNNv+Nt;Q zV>{}a{8hKpCHRi7Io>^b^Th%+$J^WDY}R|3JZj|KdZ%4jV7H*?5jxF!@AQcm{rDbB zsnk6oR$r5H9nq2XyZJ&B|Fym*pwF{oi{3ehD{I$4i1zeEET)&r-O7XRD0!M=PNz>& zhv{Yn4;_F&r{merE~?M)v*RxDsqaeD*-(0B*PK4D(p8I$?|W1kmSl?8tf4gaSm_$M zuQl&ACKe2V%^?^*9Bju$+d0_ioDJ36{n#&Yj&6=UurXn~FeX$N$PN?O3TOucp0kNN zkF#q1e(;-{5~{bN3jLYGmm7~;gHu0#)E?R{EvSNmlj+dlO~k0;+hcUW%&Ezy@PuAz z@4LbIAOG>Do!TF-N22PVTYNr!(T8TDYgb7>!CJJQvT9a96>0p0Zv2e5yRM?NU3SSL z`+Ie(FZKRTYlJw6243N4@z%}nIVQ=md`GR%p6{f-TH0 z=!snNO#|bzx|~CF^;BLo9=2LJ?`G2qin_pjXJ0ri=pT6ks5q)weF+gi9MNXZZ+QQH9 zhJIXjO%*$4Kmf{#Cwy~$J?B7(uwOwxkL5F0MM`~CEgiGT&PM|PrLcw(p5Da-eeoQh zW9p>Atu8nhZnwd0*DEtllBLStm>xV?IZN#7<7io%$A4MM;$5HTvDI?}p*|qm;QSdE z=)Ee=SrnZ9DxS2Tl8G=}aB$Axkv3g_t8MvGxEm04(*Ym5H|BF>Ev@n&8$0d7^?uqt zrIuE-h4pitryu9Z&-sRTgz=)il+nR%$uqg+NAHYjqRGWk7Lu2}F62ePc=Lgw*NqXJ zG0LyM2%Q@aZ~7?O{eDpN&_@%!Gbc@+^uw9A8y%Z3oc7|8QS07)tR;qKVOZ`UHy&-c zGKY{xmv%xn?4GyXaLfkeopZ)~4rSwrdc}ru-(11^^Fwm|&p&%ivA z2HE4c=_))~LH1}aebw_NkN)(Nc9E{k|Ge|`ZOs1uHhtA6wQ;+fCufe~9n1J42P^I; z-u4r3;Yko*f7YLDXI=twhQh zuk-2ClIwcK$(QC`YaH`G++B9U zrszbY){fIX%z_@O_FU&|U3hv&i2`gp&}ppS{< zWc|aOK`$-bvlcCwF4TODZw|Gt&u)~;K^1TK0=iL=%(E1zPUD`_bMcZs_Wq9yb=wbE zt@3)HPDgQQ)nK}-`y(qsVjLr*PIL8*BH9zDtGN8`lTL&gwz{EVW|+ZX&g z2ceV1^AC^p_RgcpqrTOPmhYVYZa${7yY8f-hYq>vb4i2NgLd?@b7{^3K6VyAQFw-G zb%J(0q<6Zf*4@1-c~YVAD2HST!-Mym?+VJ-L#N+4W^Pz$<^6gr z@9=*HG6{#k9I*H}$~fu2mW{vJI^7A*j>)LtmF^^6eLISt+#+kl2XwrGb%4K7+~+09 z6iP%#tmrS6fAVD9pm)UeUvT{bbVia;X4m~0oVLiCJv~-~;Bs-Gj0#jrS0+VEW#q!lRV>C4V5M#@T70;|E@4E;^X% ze?v4GLex!9QY})1L=Dta{Z1B$KhlQi%yYOnp1+1<+d+7n7*}x`%@D-lh!wV!FD?$ z!t>M}>dHj9n)UZ9KD12j0$`WXhLb&>#hu(_tIi<7``xE+u>h|;x{m)-GnK#PMJrrq zR0&QzJa|J{j`Kl4SqHz@j{Na^&W`Rr+wr${U2WJ6^3{#1@IPyNmu}WVeZxm%*mM$# z6OP2j{4I(Op~_+!#S;1-*GmF`x07zn6@cUH;0}8AAAOE+@$xsh51!fYhNXD8EQY=gNgbiAD7IfS{TxUc_&@&U7^*NMdsUfynSj1DMy3dxz%DY zEt(=_LHkEfl-SwJ0r|E1_0GB6QuY6}5fj?;?-VO+V?C9tBV{uE@%x*0)iF9R`0w3w z@o2~DZX5*lu9s82?Mt6uybh+ohS13hD@4X&r z4)pM^zSVy`dt^(0=S$U?GLJH4yX`=2%+@ExF0ipco;l*l6@BesH@DJ3O+Q_g7C&~A zSx_&~CEg2ju2e_*Qf1W*X8`^BIr+7fJ&Ra*>A&#ty|sqYbfNClBU`jv%Gzt~tunK) z=xZ^wH8c}eKb*tW-J${<{?5C=jvca1Bg`Cn!Pr&$y4{|XWf#}#boF{4&argl;gFn@t}FqwG1@>^T6i70##^?UX}vdQXQM=#> zN_M;PIP5;w_K`8RYdiEpKyCSDeaiaQU{}+PMSHg%g;x3IF`4;x((WmTpuE3N8#kWb zn~U5Ko9?6cEu9+I@bs^C^Lqd;Rn7V8QDRO$V;7tBS^-Zyc(UM0&dATT`9FK))(-JM z^Tc&O7$-T$>W|;PZbs#CT+T1!P~$nPDVm^G2`xdsu~?2%2mIBhjp83izOx_-ChyHCLBfBxBfk=-$6v+*|PF(WA$iBqO6 ztqoL|8?i7LA1>r;h-qTy@)t%IGp;Ev1Mblgg6iMw1i%DE?{5bCU>nCXBDgdN3Fpxn zIBOu39zQrjGF`8Xer*#8%8PI0=SX8MCTeAybe_BNRX_!n3hnZs530kpO4`Jx3;dqM z(xW|Oj6wR{Yu#}@tqR(?eDFOovl*+}&0sfjGXyacM%( z3~#c4C|sv=;WrpMq7yF`51$4*Fm@7CY~ZiODnkJ`pLh_z`GZyg^;^Up6};^(9&F=3 zywboDYLWe12{HT`T{KBHiC5fkOy4w z=SSq2EuvbVTYJeg((?-Y$dUyFhTcws_@{-cBh{E^Z#X7G!J53vfqbyRC|Tuir3n_}(JYROLB<$wG;0u;05- z*ZBR?1OXyr^d7g89;7CYIdL?^&m*@>O#fG6Cllbq;L*+Ov?2t$#h8r)LrxxqMZUJE zHep*&-S(Yh;W(&nXKPGi)@F49ya^Le3bF6#C2VC@X z91BI*(5S$6$troAO`V5a*Go)r`Z&Cmq&(ol*%ffKF$KVj*A#)LQ+@cWeEL6&+2SU! z?CA5$9;=3j1C5i?4u&S>-Szffvybh%!h=cdSrAqy=0&BsVPKIqr)%@3+0B@2zE->C zgzME--63xQki&eAsV3{--oAaYua&<4XkvR7Nq^=5vs;0DtDZ|{qRw8X0aDXn^vi$u zx*ZkKe&0C#w8{L}?uzeSK=G#U*g`yb^?mvR<*zs~LNwf+)dhV99gpd#4C2hO15kP^ zN#pfYTz%`CEHosHUeSB^+?-8KW9&HjZUNRn%25c_+Ftfy;_S+?$#zjGuAMmn#nlZP z;#9=2T;{vxTl(s!1dFvju2U&8uU!V~H2`x~#LM&e|I`9%&Km}cP=HK*cB)ed#=DeW zzxuv++x@8%%*pet`S>dzwy>fuXj`j)axYxmC*+af)YZm8Ssm<%PM)eO_CpUI4Ntb# zOGmbTQ)qo#^51Muu7B?VRBu3(J?#o*s1o_#+u)rTCCAm z?aHF}TlcZIw&Ad9F^AWnFFe7LrBl-Oh-JH0Enpjuv}X=T4yZ5PIDx}W2~H>VzME0j zRI$Suo>YUi!jCg^s#%Khh5rzqMr4m#vu^vdn!HH>Q1{j zc6jEsaI9Wg{GCoOMXN>QVcbw(ZR3k1p_t-rPMOMh)q{HEG=qT!zzI7! zcF{H6bKrqeccZJmnOicfkCO{miF2})uA9SCStrB;d)Ghe^IkXBZueCAbXVpvCedgP zt~P@5slU_qIYw6x!QpFPsEtk}`=wiT;KEs*!xwKIyK!EYM@K(b-}E!5ntmvIal7Vw zd2UW9^Rz;~pn7_dWF0Rzt)q+CYPOC?`TmH#8xTe4So=1obu;6LNykZ+j$U`OKs)@i zarr}ijMs^84>kDK4+t(QKrg~OZzrmKxML#s2xRF9K zPCSmq*-`a=<}YcHp5q5aPfNI=d*4u0XR^F2?`t}MpHuk%=u7IKyP@Nz5&NO%Pd!!g zkMzaKsgB)jW1MT3_{V#&{U3WEVXz*HwJXu<1X9oPeUaF5Ae7Uy_o;dm{vG>_K1ZT= zMn<{v_-5nAr9Pn1*sm+AcO0%s+_kh1y^hE`28|mYZ#IT`Cn)>eoVdEgpC=#K;oWXh zSLxL`8vd8t11;^ry`=XMO18A~8$x9bSIqVKQy3HIuw^0a+Be_wTj;iE@Z z@IVnMZ0Dkhd^(KX1&k3D(`h(0c9Bg=9?Gpih@&+jl*h5fk~_;dH?d>v_Z@x4zfiVt z1Y|lACdty%H`Hq&-W%b0dxPulaNeL*5TIVgaCl%};o;odduzH*<~2a(Db9Se-Bqkz z77uYy#O?ZgZe@lqQYOx_Fwwf!hu@jUj%|jze_2 zR@3Cd*d1gDe>sQUbv$SYSK-yoc!h^9ZZz>n-zJZwTBn%qR&G`%-cgyo528FG)7!o{ z)?H)*86+2!Sw$&VMvZ>E2FoYUw~UtgrU!JO2-oP9 zj^?d%^%9Ze?7A2%`_Ob<7%vj9>m}Zozowx9K3T{CzBXlI^TXZx>P?5Ty1>iwJKuVk zULz(;aNY56{w(pzbo%wU*^qXX8{U<ID`O3OG zxiz92=c9~BiL>Jy`AItEFC;hoE-$z{ZRaxN-8OgU-NmIV);aC(Jd&4gPs_bvmJdPK ztA`VP2qbHGl~RvaxM|-s2Pe0L;knNjd}+1jvcjV7U7OXwvvAIItqBnY+G4LqgC{$A}y`KO!F^H+N7&~;7 z)2AM%j0saz@EhFthbKlj1D0?IRSM#QF1$3lql3-8Do%!};p(@}E}K)+lVn1xVRXpq zj%r_7ZxFX|HesEEwlVH#qcOg5ZVSd};fH=!RjB18(tVmYNShN?UE&d6_*iFm>sO8= zV8tuvYW7pa)ga@8K2v`rj_&q2uXOaIE3i3bHU@^%qW)WTO9v+na$Rea&hGR-Z<71| zLzA~~K5I6;g+z1@cVHoRlHzaJCGFTeskm@Y%uWv2EsH8~m9Nm*dBk}OL$W2WJN?2< zV+9h*&XYMnQkseAy_oiXW%@PY+ir?>LfJ_q99-E?`ER>z|NOc747T=%A7lKNV0~=C zu1zm=);3Mj-@VOgXrf!4vRAx$HHZo($zGAsYU2}6&n7>m5pFuczqqGmaJG1}Sn_%jb53(23lr~#^LVI9q;_C##a2wTrs*>G+TWB*<;+^t7Va?ADYfCx?8~a z9;WG(-PA}o@69AV+DJb0*v)0(?RpM|cq7+#xizO}FR#-vpN>af_d<2!ULVh3FLr0S zf%30*nR-tbC-v_+qrdi|_fI_mv&Zr_!J{6?={1IgOExF(2DF>T?$XcRKNv16!0A`V z8PKN|hySZQ4g__>(e#w#HJqD+11f#(IXqw6ZTq$z!mqP+4q7rEqS~=K0$aVL2m0cm zP-prfj-5H(;f!y3hnx=ay92q4He6eWw76rB>`?#U(PUzO(>9^1tQ!~JQ+5Xqne8x5 zsP%!#C!7T}$BX$q8T~?n2gE`3Q@QQVNrq1z?Jp@`U-cQ+)i(!#dPZlu@2R9!NluA5 zt-_*iW-G&p%lNMj&ST>lLV;ZB=L-jEHefNX#j_E%piaipcoc^-+^avf23pXEeQ6Q= zp|66Uuk)gK9De#$bdJ82U!Rq_@Q8=;3DMfx!8okDrj8?vwtQf5a_oL}6W{6sUtt@c zt7`*NSLA>SPXg(bXCrI7ODR2jsrlycId!QosmD5hy>RwkhpQGi zrUUV;$=u7@lYHh5ZV1_7w)tN6yLtqD z7mnf(m8K4q)t2?Kr%hJhw_;aS8O)CeWGXBEZtZ;sgAs*(3kN+I^8I%o#4MA^)LBmw(3`a(#D)`>BL7lyfgIo zca7Cys9GDd&ubMpIDH9x<5guoH1=|I{vNIFja3&p+tQI8WPBIiXUD0PMZ*+d(dvgY z(0fMh3-OM+?qSAn^5bLth~0fmDUE?|>MP!NBc<;7;OCIcL0ON|UozJ>*{SwlA^jK+ z`q?+Hdp@Ndft*$xaWtfzk&n|06|Wijz3&XTDf3}B1Kf~wW8mwYdFEoCbfJisjaN@| z&Kg(TL?Mq4Fnx(PH%*j#k++V`amc9yKB40n*Le8>v397 ztvv6s>Sy)k-~Oq_*WcsY z4n#NgzsLV^s(NQJog>sKJuM`&%F!?6GXIP#OoP z&fc5o)hwTrA;)a_+KxP7&OR5E93N9!`rKJZJ=4DwX@Y`dI~nH5uFSUYma4pp-=w3C z^T>s*(uYsUJA@T{84U8y81$IX5Q?M}o>+?W&H$pN!A*F-q&$44+seCpmO?Az1&j4F z8AQAzTru9y6YR1uu_jf;#@HhLlrjdDSs?{wo@-jq2+sT5lrF@8W@jSZoMSI$e7Y?M z<@*o6hL{>da~xu;*cFy`M><2fGN!g2Q^`y#~K0ktw8`U;0;$pHbx|32tVKf zbo9Ttvvg-*$}p(ut?L`J{71YC1GIyl=s6sdXL!hxfbhA7um2?-1BdKFSBCui`sU$M z;&E7%35KkkZZ-0~M^fETsxrbY@3|@uQ5P5fr59g%8UGF+jq~ov@*;EU@6^kRTF~Ji z-N}CBA8+VnqYIPwqPf$r^n*YjjN_8?mhaTbv9kx<7^$4j4GDDa@^GDs>x}2F@dmFf z!Flm3ZE^Khy2U_v)z{IrOu`f%xL4rdkacA{t$p1^oRzuty6e(}8|IGR*I+M1?09kP zm%lrP!H*nx!9`^@v77$xLZ!qhpVNmHP89 znbXajxitoh!dE$<;A4uXZ+3})sq|%>H38~s$IN` z9X`G{zG?$6p1EU5mUxS=gVDs|=saz;=+<;|*qRSyt44t4uBSaJ+bbZp0BC}R*KiwWH7OxcycaY@IO-Bz3-<;LfRAN=&! zQ+L0;?ESNx1{U|P`Y?rE3=P-i)-P?g6tS+>9_T83=q;_^qhI(&{mMJ}*jec^Crk9t zF5M#-J%BimNgkeDiS6zYYGO3zXK&y?yl)|yyl?+_@!Pw1&85<*399$t!2OT^`rOXJ&n@E8SH~vJ zRW=8!yW8lFI(xi1N38#=RyJ&CyV|>#d>g`EdMY3Q{g`9#Ve5Kh0Yu3-T~Hnxowi$D z;czbjTtVFq8GHeHSxxc5edd%G-XB^CP0Bi`)H zdX`=-(!Bg12DYFcXJ?IN>}R`EvrW3iqjqGmBAA29U%wu0YxyFGFDv|k4Go?a z?bRWi3qIC^QBF|rP5ZM)x9#w-@HIcbAI)0hS~VnBa{x|deLX#(>?Q}ffozA2F+Yu1 z6g>^rg5({?brF4O7MKk``R(uTUjFvaIhKNN{P^C@h^L$z!T37#`xa-j!U$~_TYbKM zb+qc>Eng{ii^1x}oQ*ClQcbDucUf(>VQt>R&7+H7t7D7rDO)}2SsRBp#;rcBQI36l z$^mIX`MSs4DUaM+Yg|0BMejR&-Xf6Gf)oAQc7cWK>tnGJyaMHMCcey8Tw1_-oY?CnIIUN(a&$^AVVceUIpm*)-#lUV7;lhp zICEsKKxL+X69uzB+ zHW$Bt;Jw58sc1@}TRhs8=;I*9{mGPkn**tb>|r_#rFrIVY)VLPS_mB5>{8sBmb_9# zEAg&DvU9X~{no1*%)58m)Q8Qf*`%92`1R{ppOuJqBz3v|=x{5av_X}wUE&$Y6qPsrxjckQJt26KAGlm10^HyEjZ5n;ObbhMeKG#0&EXVU6b<`6lM70ncTcC3k z3Z)-?99`%SkCx8)?kkUuf@QbCXgj+>5&8eBPvWH0KmNBq+~73}#t$@J<(&PRg5Ea) zVIO#+5AVxNn%#ulQ;F3vTJ)r+)SqvMV=OW~-&uHFfBe2Nn2z0m`5f%N*i5#L(~pve z7EhmOzTtHmK7wSYy|KqlzUR&RevhA;>*<5WRrJICGCg};fgAMN8s&Kpu;nnvVd`An zc!Gx(+2Ffwcf^Fo`>eUAS`H#&S3VXBT5rGoKt+G9H^=A<_vY5c-d3kyI9i(r{KzT$@#CM((Z@h`7=TU* z0)c?Lb|EvSPR^ZhuGd)8O8pg5V;nf6scTwi4-y$2BD@f$N(3GX7`CK9A4qjn9Ml;o z5PxEz%BZ(%Eg;InE|05#KTX8_0K4m6mFZm&K7Blg-YoNyVuh8_bZ~U>2Jb+MB-|#4 zkOR8Q8#oMf646eMZQqO^TXVfL%J$GRSk?)Vc8WTPpr2Xa^4|28-G%=QO1Tr)$yeqS zRCwvYC1Hn?OMO`k+>Teir|}Gk<(ux$1cihGQQ@+OZm#TSautGffv zSD2$FnwvzUU3t1u?qOf9`(Iem3+ZUx1TGkGTIkU49IBtEqbbaGD5R!F93xE3x=K)*+FHev|NEuR0s>-S&n=o`|0gCnP%G zT3mt*bR2&PB@ADQqVY8QxL~vm{ZEW^q>ll)E<74x@!^F)y38er6!c|B^j!_-fR=mU z@fVOj8K zuT7F}X941RShA~A9Us8RRRtg+&u3(wd;#5%oRi&a)>i zj+%?Q%lb8knXX8ec$oGvha7$JdJLmoFpUMqK{z?J;3I?a$%OANiS9vjAz=d1<)ywL;3BMh4inw$AvPT9@e82UM zLQlsoFOjB$q?=DCek#5L@BN1}0us^LkJKxaHy%JXce(Q$ZPVdd*wD7Pad$iKnw)Oo zu8u1~U8AYrEzl1q#7B3_@zb=Dq)mC|w4B2z1+0!L@+PN=If445ZT9v(VDqLkY;ow( zL$U{A5^O?iM`u`Tua%F^c6tW&{EheW_;PWNiuCz86MXjg(L7)r_Pct!RU(z%qTAfz zGly&VPhVk)>d~7fxf#^wCi)z*9tDN-NIawmS^8YN$@q_Mf;dDE&|Nu)WHM9?9)<;5 z`O*|(i*ta~_H!YmlN>%R!enm|8&4cEUhMrgL7iAf zb5vS{&RN)eQG1D%)wA-#*)39;t{rQe>J$^nV0TQ_wSe#O)z!(?mVsU68#gRQ-uI

      D_`CfT6;A17)miIqR&JxM^`|q#9-!6}K3Ub<^bNau^ z#PF8{-IsDjNDnAAZMWxf_N}o*wXmOfW@BtOW8c@& zE2n+!V;Sjt@@5Nco1zxN*2lKV)-Z+kDH*V1r+YS*)Y>g83t(0}id>W>>cPu+zsJ)Hi}$GPZ7 zeY+u26;&UnpY>iqZD1dWql5kei(Wi5Iq-gCI`s8qui+WH>3IH?7=trrI&M1~1T2ye zUEPV>$vc@>i^uj#y5Q8L`6E1zQ!jM=p%$qa>H(FUe0d*9TYh@M zzeC&$H=BT)Xn$$Dsey+fXvlO;;d8_#n@*JotMt&G13ew_VWEW5mS1XR(KRDIA%@^2;^00mTFG88*yg8_Hpk^I;2 zOWrTh>4kx)C}rtnGAUjBjF|0+ksrWxSo*C~Wdw}>e}!LR?s~Xs-8vodkf0$<&z)x& z5-tM&UPrP7*>Ia7|4Q%9a}M|E^bW|{6nw&T(Ao9ULUQ97KtDHc%fHGkEx;R(gY>=C~i)FB_cBgSFr&U*l#j3r0AKdM@|4e6HQ zB;xR9d}r+3lQB*!yImF#EjpazS-D^6OLN@1+J&?`LtaNeJB4rS6nyQFS3LL!)^M5V z9K@&X>Gw|m)^)K4wMtu2aiyLc`41aHYu06`l=q!Zj*rH)m{62xWST%4ui9R zrAuu`|8Eli|I&3Q>~Z8wx}LR?l+@ibV;`UY|NFeme7$I)RzLTPEJ|~HImxQZL;``> z5C{a2NM-iqEQ?gUB}|a!>?d{PtKO9> z>*w}(vvI#i@eKS8&dva=lW;8Of+uExXG*lS$`3$zoL?tLW^s1(T#}uh3%-D5Cf4Iz z1_ku~zCfLgmld%p(G2fE#;naw>xV;hdKZrN;ac89^mt?+yt7{m6JMXG50B6G(%Rb- ztIKK@aPX0eJZV3L>zHq{n!7)pk?x%CcM8RR7knjCA{PhTqf&7_$Hjp+WZMD}4$W&i+e#>Xkt!(eV z?(?U-OhE7pp$5+eSX-&nmL1<(8DsB0S};xM9=v8Mqv5cF1Q6YE@tLEo!fMN3>NMiM zH)yck$wO_`QwopODfq9QDz1#;0-)#UqJIO7BZVtfKFpK({Ev}a)pzL`ye5~cq<#55 zTWaw7ts?P(p-6{QnsvW9>}1D>^!7u8=}blZOurkTuw{HOn8AmiAs{GdOW2%zgGsBk zzV}AcBiG|UY_*Fvh6m%K@^}Ihhk&`f+PF^+eE`lXbMQN^{ObdPv!GkBxCVl!zqdkD z`-b7oC4=k&5KR*~aYkSA%V}pM$FlXN@j}2Mv zcNmFBbos~*eygLp;Q@QssaW-sBHQ35o81b+;27Y}-NTRQ`PQn%ztg*~CjCqJt>D7% zt@IOA6X+%|`eSu;XvfD2X+Pb9$5Bf1(*N{mmQ^;PYxU}LTR)VaT@i5BC;j0CG_4v; z^bNEH1o80(2H%2Bp~7E%`;>v}`dGmAeQ(J=`{q?9{@^WM?`1T}(+aDj+iXhuHY(2dvOLEmf+FMx>O+M9Cng0uiiHewbeSjw(n z!QtAeGW5=BsRdXFL>rp{4?@BmO{L8ebjym?hl1mu>27rh^0Akpa#k?XWwq~LYDaR~ zV7Bu349kPxjko8QTz=GCK6o~V*1Am2VUcP)7-vzwmW@!Svr=5lV0)zi*#haDRzinlB z?IWDsV|fI_$9K9(S4&4Ld|kZAdD)}y>|*)ZO1P4eCm^ga=R0Ns*OViC`L^mj{A>XP z&)30b=a0Wi@3ciSKk}eQRXv+={Pa@}9|IXoVyjj-`AF=V9`w|Bf#&>`&h=69IZ`VQ zE@Mw+t8|7&>d%9dr1SY!)Lu1^4a69vfy{A(z=ee0-5&@Y4X~$D13!)3o;z^3&8{en zu?*pveLr=8bo{6CS1umGGMFObN8vd28Uz^X&7AFRD{p$}o#Q+FF+UoJrJNG`a#oq> z8$(K~`ZD_J%WA=sBU^IAB{T-9@&>)5zi&GBs{2Fg zRPUw=dPzj8iYL&N4~*( zDj?w}{A31g@NR=wLd3T@vtYq0)u%6KPZ`rPbaQL+>yd+7x@SD?or5zG)0Y4RYWA!U@!CGF|w;S^G z2@(1{oqm$ZT1h440irJmJC_%j9i`oV<*B^8lXvY->whA2`M@b#$!0A*1`U`pr|KKz z3of3yF=ol={&nwEe0^&hV7V6#spoKZcSXQ(a^+j%bq~xHJ@!qJ4O(VPkG)*bDA=zW z0N*vp$1C=JELok(D0qE#0@AqQWcS@3uU9{Ojy-kL{v3DN{`%qGj(D0G+vO3ZudU|z z_Fc5$TpQ$=@fKkEyp9GaystlESL6GfW4L7lZv#}+j|*h8J`l=M%3ofrKA%qFm%jB3 z5Dz~3GR@!bp?A>ch;8q@s83lYcaap`LKHAI|qJvwC-O${wmf zI@dUQJ4{gNqrUWlBYmrZ^B--X{HlJ;%C@sXbh*)*duo6}yM8<2g9-VMn4WRO@tbpk~k z#64a(U#3 zGxFZ5$)(!pCTETR7YP6HsrvNg`Eydv>I=3Rk4wTF`h9&C@RP6f^GM`@1s&z5bLF+F zPhd{_fH%IMJwN5+wCB&o@7WI*@yEd2z?f{mw8zk!hj){!w>j@o_3X*Vf`{6n`rv55 zWe;ce=r*W51K;#(w5o4Z4CmRFL)dTv$V*HFs=*pV6(|o4LH6PG8DKsSM=uldw&nZw zCVT7=F|2Ko*Ib>CO^_QTdfA5dy+LNM_IPoCa7a)B?gmNf6(IQB(*&O%TUipzUKR-3 zD%k=G9ut~%IUy5SIXGw|7YD+ukOX+;;?_f6oS zws;0k-t76U)fg|H{rhj}aKY}++3_DWE;gs!8$4U7v%y*rG&r)o*}(-8sz};hZDt|s zbbyY1TW};^gv)Pldkb&2Y(arI_@T)ud@SYgJbE^{BMJOpk8uB7ySvZtodr*iW>d7Q zbOevI0X*JgzBL;7CduiDw#!a9Cfn%~$(&>M{8neU2fUTZ4esOP<6f+D+L*Qou2mjY z*m3F0>JJNY&-c`3oTK%uj3fK9SBz___~d1L$gY5^KY*`^hYXC>OA8N{_g#<3{%BC| zt@fYnX=#&0v)9aTtN4RLR!SmRzY~x`%$i_bxeAt-faO1`mPbe)A zSYfQ}e==sDZY%vtT3g=>Gs0&R9@4^4KY<4~9$~;>L$l=b_$vBs{lq-+o2cL7_ z_Z~4#m|sl}#22=DIuQIgf8f;_z|(QQ(~jsk!QCr0IdAM1LoPJ;tN+(Uu&rLK^jB}2 zXV=7*;G!;LLqVM5%TzvN`_eeRf_rScJi5)J2@{jY?0p&t!d-N8Q;2?byVu z)q3~k^G0xXOrT8wt3~SB=w2vw_fWLsrH z`vP6rM$HP!2vBx%mDWMe_!EaJcl!$mA8CSXYg@JZm$esLAn5PERJWCP?T|5h`&Y(v z-L@6MbRe8RMZ~AdIQad1l<%$j_2@hP(91LNyewzsTC3spqk=}i*>A7@CXm@%`O8=R zNi~^=+c0?9oiiph3NSJFlY1N zG)AuV29WU7NO?E`kkK*-N#`=z04&*;>>V?ZV^j&04bmMciw3!9Hp5qA#sCft1yQfMe6PN)&#@c3CkU||BgmJJ z`;`gy0a7E)K~Vo~)texiO)~43pnOWD3}<#<;(;+(D(EoyGy`{@`%XwTid(=C&UmMD zF%5`}Jf!f8|yVj@~z38jp-kuzO4Al3c+!P$rLvyn2 zS|?ls72%gY*{q&;o)hZ{gfWY?O-M5+$>GJ$OIu^EAoPx8$dL^4yMF9ye9BoLBjk=!U|buT8>f*GoDUk4WP=yaV@n(!)F`|KRpG44WOIF<&1F$*FpIBA;Ms7!s}byoJ3C|jRfaDy#d zJFLHe>-H9_PLEQp^92xHzvvcwtyyZtM|V^Td)NJz{Ymc7VXI~rDpbBbzEiN`MN9m? zTg%_=kyaccAl zXZ6#8aaKgB=?pSAyB$t(p#HCZz7<#R+N|$$1NiL+R6V(n`96)Q2volQ{OW(7*Qi4G z1fi=^^Q1BlJvQ^bi?6+I&zlj^0b{6g+Fy2m1K)7fmd@ZGQv&Uv6xFvqbF0h$3NP=u zK001HMqbDCZTtvs4!XDHa`X+Vi(N*EcGqfyVB4I#QN**?wLy>JelNg^S_Ac@xIK<$ z`vbqndds&#PcZOL@b>73HcZ(|O`dxs(I9)a!Zo-7(FW1mIdV=~GLB(Z8BX20gP-Ry zu~UzMJiCETHsM*R;d;{1T6N+GPu!y>N%5C~spMZDdX%9l%5Rid^IW_s`Ln{>pV?&HNdgS+&ejtX6 zY90MLAB7b}r*HdE{?R_5WF$5v@P&fA2E<3N%Nf(z8!L^qPcJ-z9~;A!UONIGZb%@b z_@V}vn9HWT$+nT{k5;OxTYq!<6SN&2vbE885TNx@7oBu+{q%u2nb6hkON$=;PxWRI zgIU`R3_95LkJo@-yI_mi3gZWDh+Xyg^j(94vr;r3$M`P+@ODx9A`cCmeTrV?=%K;& ztMC%As8GX)a+h}Bqj|TZqT>nN7DO(8L$T3MzGyuC={OZnYvbuitm&MLYkTp=2e0P4 zkfZeURJubw4wp-lyvikB>EUn-{L*Q`r4{S`>EEKY^zDrZhuWrk007g9ydRCDRH7XG z=-TR>hH8t4KWqOxuN79$i~6l^e&eK7R93Kk?=knil&M1aY5c1#(<`gI>C+}JRR)dd zp)<2arSZL{VWl5@4xXn?#@EX5jcWD<%INmD_R=g!731M4U?%wPvC7dGKP!dYaPAXv z>@C>3C4|!d+l!~@#V2FO+9h6S6KsJ3WF@E-nHW;P-YTnjXK&fby>t7|y==Py0boz~ z!R6oHy=v88lS?&5l=@~%;Aa)wv*-426PT;*^*Q!fmD&qGu1|bU4RK1bv?B zuv%PTQk{Z!R(Kkf!dbs7$oAT{BrojmTdw4ZPM^hV(m(inQbC{!KeaPb_aplL z_HRub{i}&TPhAEkK2NM0>g$e33O?@jpPpBDX98h~`Sh=)<9#opzxr?cBtCogKYN@V zO@fO8x?s^aeH7f;D)wuF>$_Yfc3_}}foKTLrKld!QH+-@8an@3Lay6v`U(xoAdRARjKQX#6dDYVgP7R> z%U&=JE9W#6M)+kCVlbG5VUD84b{JXn*4g zqj}0~Rm!S|r?l!m%_*Lw2+<&F4>b<+P#vDtl|tefqLm4oJ}5?I_1Bp9f{YoB61zJ< z7*D&&S|f1{korLYASmjBO+Pzy)`uyjb-sqU%;g&Lr|uhDhX{D!sBa0C#T(`OJNiYA zJ~FQI%G}P&?-T}|fGx|alN5jrCRb@0`=@*-9SsLp#fN`o5AF&}{dxR)c^m_$*oxsU`@^s_YnRRyP)Yi#p^r%r46WEw3b*`T#w2yPQ1fg>xT#rsKQ53JeCk<@yN^{%m{T+Va*B->j`#t>XLMhVI9e(Gn#q~ zuwD00R3{}opK86qEZ;$A`QdcB7v*vsaw-gzwl9&%i_w`A+dVj)nyc2VV>ZG|5x(?j z*7G{G`o`rjuoxn{3T|Yo^YHA#W6*;;X>g5yX+RH>QrA(C)LAhpE@OTr4tv4A)N4MV~gassw__8UN@C zJmjg&kz)|5#NLJSy=kMC_wTJx zNp_P-FwukXe+mkq*Cy5*jD|G2u|t+OO(P3rk?DJVVESv|WS=mPdvVG+S-DK%7N5qy ztDegLJn$wQ;Zgcgu`^g^H|c=K#*LUgLTYs)ndfm9P)G;j&Gh6aK&jQq!4#;$Z;}qj z@H;CY1S4{$)f=uaY6SY{HwDc+2C~(H@xma z{PMLuU;2d;nis_Fn(sjt-Ym!o4May}`=DDtLZ?$fL{MRxDSN~1N_&I3YMCIrU z-}+R+Essl^kg$5>k5(Z3+aC|l{;z+12!Qsg#s*vQ8f_*M;Pt%#qSk#jCdbq4TmySS z7^~oB2W#*0;D>?tp4L!$dQJ-mJBEq`e3 zh#pV)JnwDLdpxR_!?0!V8g1RR!q4gl12MXx5m0fk=_g&2wzeNH48lC^Lbu4tApT2q zuMg#Oh95rDiBI|C)XDMx6m-n8*LDNfDpLW%ha&#pd)&kT7326go4lrf^)1ig9GpFN z6(F|Dz|2@ppol(LV)`xlm$Qq?yN5^N_M+e>J4V0G3)+$darPI-#y32xz}lF)rSrSB zTQu!$v!%_>b)QV&sU28}Q#GA8o(e{{rzZgzHgrf`2eVSUZ&3ZNfXB;hD}9B~YOUJ! zr|Fi*0twRNe%iwX0%nZ~PRG_FBsx?I&-fI<;a7+xh2eQF(2|{H6M72n+P5othtc|m z$|cEy1M!f~v~Sx9D$)Ar3yu|0R;k=3mFS5_D-pi&T))aJ;1vpj2yDh(D?ayDZ9;=5 z;;UD`!&y9g0Cz8(V`w@c-^4STlqpD%d1-oBP5 z$zHHm@@p^g1`hZv`whl}O%$us-hcP$gkZhZrw8TABscc**r~9^AF$O>`a?Xtt0~!nqE~fPpF1^m zUl_TB*rS{gfM`z1U7eqqS{0c&RYF~RTVI0?vuEyY_AA{Sv%_IV z9dZ}V>cF2LI-(oW>okvoEvu@lVI5?-*0z%9oB2zQ~1P5%V0iWZnbjhAiA5qyZDHLJx&Ad&Uu9VZ2s$x^=LZwBE21S-5TG>3;5 z+_DXPm-Od$-q}@+47VHSbk$4JZqZqS<;ht;3URPqvA%{sV10I+lW`89=(*im+Amd| zvbX#P6g>t~sp%1mkI(qG|I!s1KTp|8{-jMFbu5#Uu5a0P)z^~Gz1_dju!~i*LQj($ zSN=1Yuddp`$#ub3&H+w5yRx4&-%kuZNyPM2Ww>$p(KE;C5P2jr{^9>Y8C>#b(6dy* z&`DNbz*cJ+;ReH7z8ho4dwdAU+9M_{|4AIq;Xu8H8~(~prGmHneK|kWtD^*&Z*UbD zTqhmfvfrouJIpH1{^b-oU+`#IvJZpVAh=marlIST-8#Chywe#Qk)FeG))&f@0!qdL`D&KQLE zI%xINGj-t5ll;`-UZvSnIBvg^XkoWKE+WH^RtD|O^5ul@=%}x{$tn_~q4Gc>un(u_ z&RbN|GtT<%sjqsp9e|0zF}>J1i5))60w;2X?>SC?c$+CEQUgu+>nl03pL@Q=BYRc@ z8E|>@>dn1JKhF$g*u)hm9{b63jQ$e0@?&*!Zcji;u#sc*rA%xD0#LM9b&vRDoT{N(d z-jxVGXOI?KO=Gk9>2>)QoYDr8-^~dH34aZI7Nk-~3VD~ler~kQ3APsy`LDgEbo7;j z8RP~Q=Vb=ycvWLupGcR&fv@zcL6$o3LZEh!b%rB(@rS%2P#|VO#7ObzuR$vv;A6c? zCl-K&;A_+v67DB`AtB6#~ODcT=f7mDHBS4y+}ECWVIjA5+U z-AYpZP6LiES~1uQS(<%jt<+hX z8;mB;;yKx}i2^Q>9`6KpBQ#yK=V_|g(@xaAI zbd+44h`;E+?ThJ#GI%gKRmLA!{udmDq@pVyui2~q(68tzua?RUmNwPnc?JCLnq-;1 zUk!)8*_;Zq9qYFhbtEfoVdK<-Uvx<&^Hu7*j(!W|^Hmy`)%n@8t|pP~p!??+Q@0Aa z1bq*B*dP3)vx3l~Bvy)%1so1BkhuD(^h}Gtt=ZGjJd)h2*~kjh>7Wz$6ICm*Y+ z!kO)hZXsy4`(rlzp?=%Mi@^2A_D{t7_5b1V`yCtJOU0@ymnTZ_rV5Z>UHHT%`kQTp zmwd$Uw>tfaW8B48LD^5OcK#sRR{>(U#>;q5AdLp{Z>(PYFx#3es&DNm1h%zD z{2pCh>z`s*{A>ldljIJk-PZ{uF@67C{I{!Z*l#E=m{{g?hm5tuXe>#)`xd`J&>z!j z?YBFfCqEOw$-o}a|JKCOr`p4xAxoYntC~iM54{~Yzry~{^oq|-ujvYW0y$j*_0&CV zM<>5!`#DC0cEq>$l95er)zQ36zt9ku!o}7b)e-JicGDQ`%nLSbO9BpCy0%8(;i2NN z$@fV<*)>}=;7=Z7_{D?ru`hTbKYm!GCHx@(8Ml%}x`N=2O?Z@=h<4x?dXZ`Z`p({k z$5cQ2!8eKz+NUx*hb?5cxr9J3E1%IN4xol`#KyEhOq zgD~xPvPu#l$6~XMm8&*iGfX?dpvs_qTI3#P)S*)PR|F7e*1pT9jv0^YSTHONeBG)H z9q=&*TiP7J@ z?G#2m`Qhu8^q+WbC4u%~X0D{@!Qc!tft6u{QJ|(VolL-hqy*(zXGQSU<;^atKeg+y zI5L!~n+a`?JcKjSb+{ZLe0AUl!w+fs+%lMxv<~8;1uu4#fif}Xlx(j%uN*n*IKTpP z!B5Eb52HYqzb{t-JDnz72r!1o+7Bw=uujk==O6>S*NMY{o&d80-yOFE1(hvHUZ0CA z2md8pNi)e$d4~u2D;(ZBEJed+^cv8_jYq7aRrwP_Z7KtIP#Tp!5`u-%YRV(`FjfPdjx`~&TIo-D)eAASvu{)a>}87QPv@OYExN;==uAGhbbhua zd&2S9n-p7(bodwzO4sfTwg_7vQpNomOk6g9+>%dCPn^5Xf3|t{etHoIV~x+f+4s?g zEo@Z(FFnR!aD3^onhfwbjRIQ+2KXRA#ik1QnRI#ms?L`!j5=>k!(*7R$@EhIiMfVf zDSa=H)7lPD2i)rH^wdjwHyw^3yjg%GxO?GMykzIz_4uvFW}ll~ zk7pbg@;p$p|DA7enalIuL%2a`Hx7GQkslC?CLJ!wj?F)wC)c zbSaL(@0Tv~J*0aP#bbND3|O?HnZIBK{bX1Q$8EYFek5Zbl~*5IL9jloqUs7J9@+2a zM=J&4Ytrj|kCkv1*+l&${#%LqqE%8G6SazKdKI3B5A27t@P#+HVhVjp_Idoiyn`WzG~1_SST8-9E{<~{JsIus|H(q&c+U>-cYw-#I}2@2dvQ3*PZV4lx49Nc4owV}{s7?(aQg$LXj0-&(HV zt^?t9dI}Bv6><^K2NN4S8$9B$c`@^v;xuXLlrtFC|7#? zw>rk#Z>?O!>+?8l8?pyiDY|=tqFvQ~42u6~h358$jFDUESWazUo6!}$i-!MEp3fi7 zgvTZ+(x-7PcyC&jQ|4!{{%L4fJ$Lczc{*aALIA-kvprQ5UEZ4cyvZzF_ShHtjX4Av z^j%va6pee#%PORB+#}odoMk(_nKGg^esq72dXikk-SpkB{mj0PCm!*OPZ=x$53B39 zuM@=?ka$ymxC=6@9fhHLWd1og;BA#?eBTPZWJj(dd&-eH4aM)-(%{TyRc;eqG4iW^ ztjUGhgZd3`?uL&S&S)pfv5D(~$*Mnfz{l?beWlTEIPKl#`0XA&uy@?& z_~3C_RR}WvVfA(W`X4P%{9jT-R^8&E^=@`%V`P3v3`^RQlc=ez4Q6DJ|tfH4q6wtJielHZM3|$e} zBzXd$KRcy6o$@>QE!#>arn9l-EdRj=bPZ>5kxm7<`#!Sllz-YKLgeIMgUTnTYqXhPSMHLnzGE8&TKUL)v&6f2%4*!buKUF&F&8T-_lDtYA*9i0 zV$LKXJMlIC=m*G4zsJAz)Wb{dO@O;}fBX}V`D!1`?jFgm9{T}4By)7V>RMmvh@8GU zw`nE&rhW!!k;-bs*fDHI^)#}wjzD`0-DzMcR5Dwqb@40WK)y9gAb1j(0&Z2X0#~-JPA04D34i^IB|PJph0W*&Oo6Y-DBLs>I*WvL0$@jBRTspvOFyoB^!;8MxP{^~t(X80+^#$gya7%LU=dq0E^1=%*Wl0Rx z(plxFr{kae(l{(&mr-V4(|6~;9P;kIAM*KGhTa}p$`8&Ho>u{B9f$UAmn;iCSq{Ao za4zJX-W=RV!?}I#FRx58ADgj955f<$sY9LRRx+<)1PAU8#coAAm3~kSfBH~<*H5$r zZ$&GP#vM1DFCGGS6-rM8EXc8e87JtVScU`ukpK0pDp|>80YX+OsGbJE?YevL;W+Db zbGoX-;C8peD<3Ox*_+DG85kVSxPir~^PyE^`U4E&Xl>P0^r{yivUs{0-%75Et*RK! z<%|XS>a+F8SJ-1b&mS&Xt#Jm0Q<3enZ`ikOxL!uZqaA;kCH>fV8thHzRA<=L5pynt zqiUNae9K`u+I4IoDG-IGB4A_|+G-2IC)S4Z$S&hK8g=+=(FU67#nC5SKAu%~&dy^4 zbo)Aal+D1yVvUuJ&u21tw zK+q4CJ|0(J_1jMk4`j3g(cr)UA-^r`54JLv`j{fj_{WC|=z%=1nefek=jp0ZAvVD9w@G$)(@dX03Ux@J>MI&8c<9pWYE5o2MBcDpnZe;Mkaf7wsPK#i%xG+rB@y; z`_W^!XEA4TT^$AQ=ruf3=N6PyVTH*I?}ER85hpoX^+jI_KC|6|{u{j4CTrF`(k-CV zN{zn?Yz5m27b{fuSavB}{RUnvt?~oEJc6SyqV4T(1rWoNz6!w6(+K9~B;zZ1m2ri+ zYmdYIZ-3k;g93IjO8!53X~#e5pp}MJT4;+E7;oKw7mhCqZa?;7590!eXg_S%Rvni4 zYuCCX{IkF2=WK`-j0RFv?QM_y-`}wj0-Pa74&B(w%JSJGtSXThPt!I0EX5e2|J`HX zOfJ)3?dFxib+{Tl(qWI^d*RNv9*bM)%5|qNaC}TU^oeg)YssS>YHJNMcdcFUyVc2d z!gCVI(o)vhllByek^$i04_He@Cko!;;w^Qkg1 z$5PN|JQR2va21rpp^w91^TKSz< zR~U+eRjiCAQlt%^pu{Wa2yPVDnhZ@4;45^?w!FsOf;Lb7JvQ{=eFd$|V?X(!*^g|F2^`K_ z)r&8$uM=oer&dUY)NgvQTCcM!4Iek*QYNouxR@R7pM@Q*1KpZ0C5`0&rZvzTIGkGyMV;VTGlb=>duwSPA;^_?B0 zJn?Zsq?m+n`UHGC<9Pl?_xt;;Wp}m;d(S|EJv}^q%$MY@jYh(3HQS{P3nslxhrZP| zYdO)I&Q+H5t?KS}`zY!c@KsQ+AX}4Ia`I{E4*RJe`~3BD0jm3Cnf<9Qux^sJXv;Nz zd2G7uah7i3mFCq|8L*8nhfmt&V|&=zJG%;Zt=}SBa@G$1%+7vHZyw?sofC93@rqI4 z(VI>O&-m%G>DY-G1o^n*~3u=md!mKkfIY-FoA+ps=GFD>Mcv z9gUcQ#W8gH*8MqgrBW)jP#m9iQq^u{1Ys#Rr@LI3fLW)Sen}~SAZ+u@9BKI(7|8lc z|MrRe>pG_DXs>$VQ}&$k6d~i`QHvl1wogPbSPCB8uLe57)r<(G3alP9IP`Lf`pj@V z!lc}xJAVf{FYCBx*vEumc0VA8Cpw+dXUt`mC!FAN=yaA)YTyo}>xO}Vu|Z)!`{HQh z0fm*DF(U(Y?bA8s^asj*Qx3{y=8gvOHYMtDUpXHYd z#`1Lk*KCSOx_)=Tpp8%P>*x!AB(KWKZx$k?k1m(TjgF!GRL`j>P^Dv9dHO%8ec$q( zlKVaxFz@6A_2j=!FiPUSp6*CEM@jgJu6b;0+>gwAthzM3y?{_Wpr=&U9bkQ zFX^`=S-L(B!z}|C0h#{F2;li0UbCuQPp#a$TEZ{R002M$Nkll|ft)?R|~pfEZb`0r(6zN52)tsnJuxQ})#1-l-2B&Mz4` zr93wU0$lr2euZ44&2bn!JS9k9Jza#WqB^bBt9$DN9cK_(6=jo0(b)yMaNTEj9FwCQ zGVPFl-Mh{Pult8Bmu^&k9n9cVZ#T_y(RuW^rvRI(?>& z9cQU#;g?|ueN*0Q#!Z66 ztGoF3sZGQcW;?ZM`QPQ+meP4LjRsAGuj`TThk_0!$=}Do4?U``&7Og1WwfX0p?}&M zeKdI5s;1h)(n~%4z(II6yV~f206RSw)VVLnM7Q8T*$plo;?{y?;9H#}NT|)&wA~2u zKiXH(?f23LaCpqm!#ncdpriJ?K{0I0ySENT^D2i|{IL4Q>M?vW7%}F< zlly{SV0dJej|i?jd%7i@W}*6}`_PY74K~xGHqU?Pk);n->{ixZUj{Mkq(FrgbASK& zu@#EZl3uIZDij0p53O=ApcNSDS*HafUbNXh?yU7VnH&n(MJpR-Rm%5P*=l}nkCzea zk+=6B+vl)$E9k&?KMN0n6#TzF3V;blMpH0N8W>DkDMKH||75V$n*d12PlS{^ovk8IIw!qmNr_*z7 zs$L>K6zGg!-?I(#HLA}_0AoO$zpJ(B(zR>8_;jQT_3Qr_XODocwNcvAwxXS~gu|F- z343L=M}RHQcZ5 zGEl!?_?~$`v&3&mVU|N`^Hw}8RGIZ$Q&j392lSDLn($E(n?GQ zdYz64(bqj{fAbH@ zt)FEhH}Nr@s?K1HmvHEheSKSh{<4W8TgKrv8~h>M_+M|sM?mSJN(HI@3Rja5_JqSp zLA1Z~DFiVW6ssLr1?V~u*PeFc%8(9v)w6A@9c9=$TeU!Zy7@XBJYKwUbom7RneR2i*jmwzYC(4s` zbgMfewzpnvOCq!V@@WHtY~B(}-ty1>)n`0!qCrTwYJI1t=x>rQU(ogml!;8)JAKWY zCWPPAX8!6;^d`-}HF+T@M$a_9ANeaLLF9iM?e?>4p=tTOK#K3)`p5JK&F}N!`77-I zd0#^{RVDs?=|tbj-Ux54eRdE31?fITn1EnF#|KzD6)=8?xA@dF&n2<4E$a!aF)MZD z*^>H2IuMSTqr>0oU}Lb?q%ClF{w=w% zt>3@!RZH(+20{XpOQ{1poj+y%DhIjRv8l=`&MOmFG&>< zPpKrY%2j{xbbTAJxji(hoA923R6%{205Fh-oJYeLkLoUPNRT?lVXRXRNV&^by`^tp z5}rSUZEy?IU;(=G%D8`msog_}+sr}uIOljeZ2U?2bSxS|x27aB9tj5xWOi8cE3BjZ zgR8zkqlr;ahsN`x(Gl74gjQY32md|34ODr@8wjchFh8qIxm}b{Qp}ZK(vtf+E1SBx zI{I}3Uw2ggc7W%zf_}TP`mS^Nr1`4+980=7*MEd~|3(Oa9mDgSu9mCF>XX0X2iJb#v-}rN+`B%@zjI%^db+nuN#sl> zjwf6+z~H$DzDsR>bi}`m-gvG26EC_L9_5$rbN%eJud&00eAm5m-Zh!uGDg79_IJw7 z*B)WYUmrjQ>PmR3zgAgeJ1ZM*>?e0NbkcmXVW<3QGd0o%`!_t`)PEmldk*8ppW${2 zcE9!)57O-Op<6nlt6kz@{{Hk{ab@WrjCXWB8!?>>k9fV=deFLo)x+afqI^1$qr(Ts z@eQJA84>`*fe&W{S(l5oT>>qpC;sqd>k8*4LO(wh~bKD}f{fY5A6?lN~5= z-aXfSQJd*anUAC0W%|Rpm3=roc?G}6@##`p85n+(2eGt-~he-p_hkF(#YclLPR{4} zF$ca1@Y)L*IGi4FCi6%*pP@z9;F0do2Re+u_#Fh68{QukxvHn~e7#;CtTbhK|{G{+d z`T(SHY)q6L5Ue;_iqC^vh_(VtDhtz2S36IRts{IQLqGU?Blc53+WQv zPSY-bzK3Aty8uswNeDqpv(~Utc)9|apP>L3QWWXbS?p9RGjb^YqwMK2p@zk(|Lw1K9?l4~?q%s-b4s z6gSwP=#aNIT=h@KP4;wXHo8J&|Jnp>yt4X8UAQ;4lrQX){~1IJ_8ec+s)%e%vZOIK^jnV=tJ2S2?W~LBBc{T>lXMHBN0s8~9hN z2wy$4TD5vSYW*>t{oY`d-e4463zH`r$m>f3OuT*B3d}&S&qCvLr)#VK>>2f;mlOSC zKdA;?c&ChQ3jX=$aVt6mtI=q$Gg7EFxq?$0^umF7Ovm&sKN=jHgxlm#*V0j_U#AOR zNWz2};0n~mhV(4H)P}zm01edO?S(E~xE7py=&?UA0?}{hwTZ{{&+5KuMtm6W@S`!q z+DS6*Dj@h$GF z`ugAq+C%_tEI+-PkD?tarF{D1u~CNsu(l_7C4lU)W2E?EnJBQ_sN&d zBjdxDjXd7lPSOr)=TsIKU@J^c!ZuzK-argF-D}Zl8z^X_-jq&;LtQzfC z&f#ans3vAs}3`IE``Fm6TW@qJt|-}mwQKmK?ZoR9T4C6vB)5~Ws9vHybm z0w9kjN@6DxZ+j1DHXcvcI zE3`8Udn|mM&P78iiH)mEKOLx}a;57Rv|qs)^6sMZBioEz6wu{-gwE+U9Y<5#UVpGR z!)mATOkalveI?%hRv^;W8s5^Yfzlqet&LZem*2dst0!5dHxjwsvn&H>J9EDIjjhq>VlbE`Ez@bPBtGMNp<~i;K~<);YKaV zWxVUYeIviM-O69}k??y}Ke5M`(>4A6f4sYU_ILDnb1vNYlvadidJ2Axt;1E{K-aB6 zry&Bo?A_ul$pYUpGo_WDeBoqeUP;r{H_5m7>9&0P;AsRv$}_UVlYhE48IHya7LL&e zHVHFRsbw}kv3N;8yqIS)&^RYQIl`NT`8Z|qcIW6BZrW)&89Y{$ZpUG$rt>$9IPTF7Z55 zEJ=r(+F)4G)-hIbXve^6pCh(?Q&{7UuSI>oWdMS@#w>8;`R+LcrNP@Vr4GG0;6V~0 z=J=mIf6PFYRvmCWcveW+(W=~0tS`+Zf(^shrEOJ$3QC~V^~2+XM!|51F2exKDO<|R z2~>U?ZlZM={7UV>2c3Jl2n-IgOmlR+-TzX9`2MXNm|bNyxVJjx1UaK6KHCU#eLw)Z z{N*56mj*-eyG%MD@?I|oWHeH+?NOm6=#(-z;8W2v2n+&3Q>>%3fsKYEzbZ(+-8>&; z1P0~Pp`jhlvXvu3J8l=s+>Xu%r|V_><=(D+$#dn8AN~*{&>(qEG(L4TLl(W0u_EK2 zpY)u(yKz8)dGYBK-91HsA46|-R^}AF65K~5raQlt@AL^ziPE2rlj#QX<{%vXV}Ruk zx0UHP1=$NaT%*}9qegLLt$wg1ud{!`r4+>9j-7(5kWV)*WjVL{UVb+^R#9nd>vG)6 zUH9c#K_|bYxqLdVax#KFm`=-oYXjXA@Nlepy^#}2x{l-**p(l@roe%tl0cQ;=l}N@ zPcy~PkZE*RP+Lg$(x2ooAOl+Bh0|!iL9f!v%)uK1(zS}~xNyW90>7-CH<-4?lP&_;U{Zm3LA-*@V*y4y1Bl?SUO*OM+4TSaHZlw7mN| zg{~_p$DXLLD?g4KkNsu~1~|A>M48p2Ik1JxYi94NTlqR^!J@`m^#|F9db@A!x5v@n zvc9RoX|tzJ6(5J@*c)({bcpBzUsS$6gb)g*vBeyIPBK|_70t&Uv+L{1vvbr)(7@ht z_6{5<@B=uBMw`Hp$8y~qn(o!7SPh_FYD{G#d#1n`LNGIkv)}j#BU4BojHnD zKfgoXNVeV2i_YkO>s=fg2-5j-q9yicHZ zQS{#zJlYEjXiD{la4#L{(X>7bHiqYmuU-zIO`XS-U&Xt}&mTuWzs%z|1|D?63bh44 zQf`~V_Y&JZx@d5~{u)ej{OPU(jt6PBBFv|dxOnd2!(;r~q(O8T5Ty?BhMrb9n7U2_ z0=f&f$EnU%FB({KF9WcG8E2GI@TtnI#+iJFLs{WimU~a>h;hsw7W8a2@^k#|)7|Oy zCT#=HHYPG_1bQ6mF}~43!IlD|C3*uQExheHDmdTpVSck0Zrs^duu-8vx*?>;ne>~T z&My{Z^|+Kk!f*NQ9^oA=cv1SRR`I<{@9we*g7bnjR!S`BLl64bh7gChUjD*2x3BHS z3HX&v=qLGY&|aH_^9G-tImUndPOjR5d~=o24p#J{(W)UleA{Ej9(y!S_)vhp*x_VT z_N7gKwN*widnM?sjlxCXoG%WRG5>AFS}2Wn76a}JsCLdC;n}wN2@gElzEQ?k^QEdZ z9>fYD4iKz~Ckv*9|FKu;Wwh5Fgp15{{@5P2AHCX~Jw_{0Ja_}XJ^x8`sT$#hv@K+hVvHWs90%h{; z=(YpMzWc>v_s@;#8~&8;qrAY#{LOf;*mC;n0xjq33&x2ijPB#zRxi<|ZmV~=bn&`nSMO?Xe>^lfm-uY2U=K=x zBx80NJ!bpEvcL}X2-N+{)+izMp}g?73ec+O1w#g$Zz8x~AS%B@5Xb(z@LE3?VEQ&c zqw)eF1B^p~r{ud@F-Tls5deeLd5sa3M~I?PkWK zWTH>}(n|HJSRHr|jspn%qp$dnZb4&*aqnI{q+t3l54|TNTZh;x${uu9I4a{M8oevL zcAY~Jj)Hu359=e@Zou)$82epI=AUQttrqX3JLhkClx5$-B@GDwe4TCxN)2#7M7BIKxOd`AXL5lh+Lb;K zJWpbfvH&bz+c#So_mXugPPFIcS?31=Z51}(I&Tt+NGx`=(v}}SlRin zCavC7-oZ0G#&v^_b;qk1i)VDpC#s6u`LHPnG)fB~G8jsKQPrnL7gJ@K05ukdrcXBu z*ySv9SRh);*p7kN9wQW_O!*nZLF1lg`_1vffem^l(GaVl4OZ!x|1IasBMMO23}RXA zd4%CQ@Q*d@H`SHSk@TUnvha3z8{uZF;2IDeDWP#tkeJLTz|fx|{M=1EI0j9l?|%7x zKCNEHlT#9&a-vaHh?mJlxWUJY4UhKhkz_mzC;pXvOu*N;7#STjfBAcc@&E&)yaAnJ zcPZ~VR0KG<#{g_ru4K_=gS{ys;~-~-S80-+>@~vp0GGVC?x8WpO`fZ0X=C{G0`D2t zBZK9y4j!sUV5S)Al~;#7INk4mG6>blSweg{NBMSy;dlm9w`ESMbh9iPEG`XZNzUi= z$(}L82IWT!kYK4odDQDc`o{^kU2sB{-z9t~R=A%$C)X1UU>sMTQ(xC>JGYyV=+OA^ zRlV}#h5AbwOIBBxS21@40Y_>ewr?d+U|bCuIdh2U7?{5vzwqs6vOM9T*U_8xzjDeB z2{}8L%?DSOPsR?7U~oIX(RfHW@*P4exZ-X(=KQ3?n((TMpNum3&p8>4t}h;)QVO24 z^V9v{vnzYFfj+Sh0QSG*=~rGTCbdwXiUVNH=y7~?_e!w z?G7FqF}UzPLYxY82gun@jx-!kfM9^S#jvZVa`4BC(Uw*1_xAQQ_EG1=C@66Tbzm&J z?_bCdVzBJ%V(_J-GeC2#O>8fw2(XeOVy@;m=tCVEkiXb5UIqT}mf+w;4d%SYLup@4 zsFYqk#eU}O#gOrJ>Osc`_wZv1P~ETFr_19sU~+EB0TM?R>cqiQX10I4MPGH5wQ*t} zb+cvlKlKUsz4`UI$*6*6U$4Olez4!xE9ocTxjjz`Hco!=Lroi$hX-3MsAk4ZpXaX< zmp*XRMt-<~~Sy7Y?OAbfY0V#LTCa3j` zCFuw4F|y6E`(;n3@^r>QP{YFjN!i0gc?fFq>~v14i(tMakN%0yzEqQ4;0zo+lI!Ih z0)7TNd&D6bJ#VGUmz;8Gqh;HcPRrKdweu>pCs>t|0} zv;wO9Ib3+Bt&xR4k2oK?{2U$N*avw1)bt~G98D|Q>`H#uq)38LjRF_PI74`Db3`2RMKiukJo&KUuE7T7=sV~ z7+=Ap-`_nm|EtZ!t%l=hYcp6g=eA!1)WC0Gch^9tEOS6hI`Yd_n{jWca|w^t zk$$@;NJRbxF4xveTK^t!_*c>Tid$Qs@3K6rzFgWUJVIi}5y&=gXX{I|s!K5UV{gWU zV+=b&3ugg*dkA{(2L4&iLK*H_YT!+HAFS>iUuwTCL3rMtqc59Wuq};2*h8z-4Aktq zWOd#1f){Uc%wN9$vel9*jJ)JP!&UBcaAo)QA+OQ|U(tC6z_-a{ZHzeCbTV-t{^?SB zYc+{rr2`a$7s21>tq!KUNoDYUY_(urfBaTwAcLi^=sr7zC-`M#2K?mrssV8@;;nYN zU`*&6zzZO6Bk>v<+jD~E>0;@#qv7kZ@t3bN9O3%uZ#DktQKN#RX)YRT{Z&=l>zCc} zk|U2n-4$%LLHvu~YL5l<-cHc+$Q4wxa`ewu_E`11N1nqY(**VLi2rTldAjr= z8jPd2k~{pzm(mHwK7Akh7_h_JKv)w@v<*zP&-UVK<9o+PgZdh|w_`7k72X1k#!73q zuA{AmEiWF1SgK0~)+^`+M!)eTxg&M*75_YaiO#R$|6cdYL$e8{J`# z-X#Nr{D;cC|MdLXe`Ti)N;ftO>SKW*fj>co6JU)0)oD`3L=d{g2R26N+R8gCW34o$ zdvt{lbH)axWl%mn3W&rzq9Y`2YZ_icg(6R>&^HFW>3416YA5yjNg(@4w+npc6s3AG90Qn`5l=$S6>{MuHxAV zWW-R})n7sV1D|1>$CJ?&U)S%Y1PD$qR*5#L6C=MSS)@JBxGVlK{rC8)m1$&L$t_%A z8%%iI=Re^!TsL8)Y@Y@E*yZYF-%T<=qip3hwzk^(*b-ej)48X{k~>-#=*tG275C|C zrbV#teOozrJXG1Q@sa<=Kh`gKAq1X3R)3fCf7Z)|1Krfee+h;*%NEjAlLs3g)jqKL zeF0&8^kcRTJ_0NzKCEmvrv0lG!D0noWF)|)4e*cc+4?#f@dDjkF`f+X8Lg8B@r+1_L@Xdk|rjPyby0lTl2(H4%row~?@?pRTO z&!~lsNi>g%E^rx~DW1ABY;1ER?>ExYdiqrVPy@TySCvnH&QH9rEyF`lNE6}%Jj9p1 zEFvM=3-~dc`!Sx`yHG$=u#kTG^#=C4e(@v8ra$>4U7G+=)@taF`FnJOeBS3fysFRt z{NthhRlOb~IflNKbR5x|eDH!39#nTWKD_4thM+ANa1IS7KJh|3T%S`qzQL`3*si_o zaq8;!!U{%;{61yhV*8GyzIMSre@RCaJ`>!%%~>Y+(1}wRFDgO4=aT0Ebd{ zR^2%TV;F+~qkc0`6dWE5kbO3!i@a-)xsM2$K+ooiN1^hQ$2h`g>}&FK08n75rNOjg zbO#?VzDE>_>TSc_bLppXa>Bh0u%g2k*`vR@8L!Pcxal}x`|YIiw3?^}7%z63dZcI@ z0MvL+hjtp3nH?3abIFK(Yv$Dqs|JE^w`$Pj&p!jLF*7ccrL@3o=C2}nHEpgg&cpT) zDR0Pi5jQDj2ntpjM4yV}!;h;Te6PGR=_r=Zpue&nd>vc)suw=M{1?*sjmxs@A$D-XVg*Wu}*XVz&l=w9$PGY>8z3BR91Q*tbw9Lyfs{Bvpw zbO$*<;p+Uq9lu-;_uyW1_|c({rs{eEf^qOtbb0&5Q^$Df-r?Cv?OXcFbnoKP9IBGF z*|Bu+qNU5xwZguxGH@W5ll_ULQdi%8O2x{-rrbBYM)xWhY-b!Fe6kW~K*^b&Ro~H( z8_IYKC-*u6JL+z{ym&NQFh0rb{}fUeoaSKSLl+0s(bEH)uDZAXJ``9XuXRB7_|yD}4IZ#Q|h#V-wns1H8tNY7+J9kxCr7=rb-8&joVsSV2+peKGwaXXf${l+72+Uy@KZN?%3rWInU{S)9If)aY(?K)kCd?2U;B`a z72`I|-~N?l$6q*koak`*!sYlNr!I8{aysBVT-O&w^8#i4j)!!p`{(D_!1@2|3EUCa zQT90uX8kAAa25Z5+loB{Jf{0~P7=1`>-+(HpRASTh<87L`uIw;atdDYyH!tL3ue-f z1)GzVCrd0Kqep^tcMYPytT|;PJQkGX@GCyZfiN zh8iGoJlWN)vWm|8oV~~QpEuCZ);PuR@;K<1W`e=dZukeB=e2=kG5+LqT5YTLIn!1N zAt}W%GLKR*_;AT{04y}d$Jkk-ZiT7 z#%Dn$duMeL2DQ)Vrbl$(_cF||{E&cQ)idp-6 z+Y)9EUbZp$pS{i1glnd=K}7gf4>J2X^j^Q(mHmvona?UNt9v;}`a8woytY>xwOpbh zTmumsatFVBV3Ju`=g+=O7xox(e4qnXw!W@ykOf(>XL5f}7EG3HXclP2kjlFMB|H-O zctsw@0cW4f{QKykpX{{BJC72PpP;m$0{l;)r}WyNHhlstXG8jpBVzR1^!KxXQ+QjU zVF3H0frGaKduh=gVM1MP&*TLgz{j@I)?@_0kCx=k|9R9?8KfCaLvRwQ8RL_o^w>ria+&*O~zYe8Z%Joc*lSRQcNT62H)NBf{Y z6a+VbH8_1~pkMlL>HFV3%KItA)ORKd=v&vp9|`f@!9HnAYF|I8AHl!)U^R_NfIXTg z^9)fqlpl{Wua%>y{m0kiudttLILGX9h~xV$@VLCm%NxaUiR|dc0@&3}<{JDct?Xcw zZ#D=MI^1&{KHq*%svO!f`{e*n-xcG#I`G)j1s3U7Y2NP3rfvMPQgj)9cpF^RRrhVs z&dz{&UQ`f|!Pk~!%-8l#^8%BX1((K)cudE@7FZHc&^VI9ME7NH+`{3`#asr zw@oh4zw*#C@?JZgylN}i4m3>P@t)#!IK>q9+v>eN!GYtoO{-+tqWMs@-N$^fzuPP1 zGr3j<@37OD+Sg?2kud1?An@s^#z!aP5DS8YUkEK-tPo{B^&g*&;rBrLr09 zI{xWL(CH1(4^3cu5vR!!^4ZGiV2U-&&Jq^hY&`I`$?zr&UFy2zpJY z%a1}LyNwg@aBVT3m)hOncC0<`q;@d*>lf0UaBUmtXK#}uT-oJKd~~k-d_(1;Yc{Yt zx$Kk}@7bg8@tL0J-}PbI`w7yk-$76Cx%*@?)Xq5Lj_o8Ee9156PbD#c>(kK2$4poA zt=Z45GOf?>M8JJ|>BVQy;~5Yy1u4@F6Nmk*57e(1B`nb1xtDO*%l1?K7v8Buy^H-;Xt{t4l&H86qFc_oPK*FQL^-Er8#ms5yIJP z$unTbN>v#vb)jLJo1(UIa4+|_SJ4hZJOA3zjB zRqH79S|zMZX&#NTVYUpT1DqVnJ?KnfOE<8!$5m){6r8I9yn#1k>D-}w#jE?msrtu% z#;Q8u6iZ}`4dv~lGci!NQpex~Br`0N37{R-92|F6ala9??|voeMEyp`_v%s>&ATTp z8D&4FFM(QJiDmf`+ni$8JAVB=WR0%zSsgXR8~@f3mIrEskG{bz<1fb)AFLr2ADly& zD2C9fbTV#ww3^_@xrpgZZ6Rzh{$sGror*oK8^4vNNr1MfRV|fo;xNC$9e-X@W62}54Jb74%}T09vuCRuPUmYjOQ1> zmnoi)Z{0?Q&UAHlzF&>$7lP!S93;ou5l}&OtTuRce%zP?^LY)ima%#`D8NB9m5E}UoYWZL6Zmwao5 zsob%_<5!s4fO+<=ayL}R|I0KUS?Cu62hsAQk_mf}9W;yNB^~S##}aQ|H1MQ7-*dRu z?#Gc*Ml<;;kFU{|ICF6_C#S>>XsZpa zYGrrBT}N*~g^;b#0S=66ns_(|8D`x8_{Xjs+LfRELXUE*PuZZc|B5D?qlw4af70XS zMNJ3vu9MS#x(;S;cRcdZ&zw3v;yk&8mq$_sD&R|o+6kx0EFz3v*kYp0+Si=)AeuOX zH>}9TM-UMPTM3ZdJnDHz4{}!YQDlT?`d|UTttO8?ZS_U^VQ_8`G9)6J%shtNmQeMJ z&6?)${3x1Yz#0{EB+>99zAh*cP4+7G(g?Q-MnLMr z`!M|0j4O{h+L+-50Y-_OGxK%mn&FS!YUO9LXZ75LyxOAGX~fB)mm(idNxs*VrcyDK=d0aJOI zAn9N2gBC3&47Zv!`O@?5ZlGyZ#((xQ2DHu@Cp4;}GB)R;gD1Mbr3*IrVR-g>*Lr%g0cH^`}eD}E7f zWr7!dunp(2#a5}dQdQ8)ifAhr;duu2M^0?aoA&K`QGNfI$ccCQN^c1kz_6WwAhpE+ z4()O>z>k>!$8Yy-tRF8QKW)5#PJx3++CfHT++gzcUHgYMu)(4MtSt$qd>5@trs$+c z9!E{x*QZ(~YH$~;=eK**mT0vlE8HAMPqoP-Uv|n{p~2Gc(61VN=f~EpeOK4|&+day z$BzyH7!Ku4=}PZYg|ltlkQe^OYk0G^)_t<-d+ing&8V!|{Q^Vj!R%qmU=SZR+0d|A zIc?_DIk}{R-?fJV)mt4NAbYQEU@N1sSoI(Y{*a-QlXGPSQPv-=^Na?_lNF>xC{E57 zw_@?wf$A>H5Z+JalRw$w)B3>D(d`eP&f}1WFN((1+SQn{x>r}}gWJ#iJ#DiOzToqY ze$P4HIouyIPxYSkgWk!TWb`8m8!k8Bb+}fRocJ=J+@L}P?!L+5$W%WNt?_0&f{PJ7 zq0y^s)AXY;xW~!&B8YBnrRd-X&xAxcc)RqwCP?3;V}E{V6;}5AkL;rf8@BLO{q_gj zA0#({Wh>QNqE+Ch>jLK52^l!zv_Kx@64pPa{ieLXPS9hW% zM~-A?xVR;gTh}bo`@f%b&h&H@$xJ3U{ojQLt42;nh6fxl*am~au((y!JEo&&bboqW zou)+Sa4lBu{$HQ)r;qo^`7wR8Vz27*HOp5K0ab6L?*+5Fj9XQjdi8aJk$34A^&@+7 zs5ut!E1~+%#I-*0*e~+vNi3x^=`LHw_Sc8LDUxROv7Lif>A{f*(B-?L(QeiC*Mc(H ztm-N0BIno@!KsIW|0Y7LW)y5%uv_^^7Toz-9VRZ3x^pTADN=b_K)Poe+lyu zMBnUc3}WStF~<4XQ!p0jPMYgPt{p9R&Pb~c!8*sikx92nEQ+dApSbaTFxg3r+gCZ* zg0QTzGl#R0Z_yZ6k{ujC9+un>E zeY5%OSnW?9i`Dd3Rsj}gPnUw<^F>qhnFCw94OT$+vW>yZ-!f(@udVHS(N}eKkic(u z^&L(~6kOI<9UtPnwLa0Fm8jvT8KTEldj44(B}xn9+OoxRcQNu;u&?|fpg{((&(0^p z#5keTJZ2etF_{DCb;fLO0As9tc+?q?iCv`;ZAw$Isc6|NbIw!Ys3r8a@Ho zHbcPr1lxod3x?wxXCTN|H5vQE2u4ATU@+#eln1^#0+DJBS>$=j7e6*T(KA9e!)buP zxi)aLe0TgH#F!PxzhH+ye84Sx`OSps$ig+a>KXBsNdJ%GChu-1WM$l+Ktsl&XKQDp zH@G40;N~&Ee6!)<$e*_wVSCUsV&g%IG~P5*c-zVe`T`X&_86yVg&%xX`o7vRn1i&r`nN6?>-JUw&KRh6dmvh zgoVUKc4p+4JXR>8#*P5c0X7op?PgKoXds_jclFW2>;n4*UUV(^7|f7f+urJ>aGbqt z;I>iDc&BsIw=^&et`{_LSYMloX5#{(e#`G6s3vvY>=O!ma&V1MowMciCX}jtayd4z zKBHc-l=yV|DS;|mez&UcK&eya0HQs*;@S6{;%EJyDz0?As~i#jX0~j#1Up3QU)Qm2 z`(?~CXg2kB+DC9XiqWw^C;3L#K~l(xAPd;Da=`p ziwgucP@F1H!1wpyM-RZmK{v{W!nyBeb~zo{wv(%;n9L1Q>le8g*nyttS^BTI(l&lKnAWqTHT+p*Kd9+%8E9gf z@+oQ^yDf_POU|fmp5Q%I;Sai7K>KxpW$m7w5J>)Ba2w0%GbjF2GIoBSK-_$Ua65W& zB!rG>b@+inRxYBtT_o;|9;-%e4|(bgIjd^kbv_vS1(^NYz^X#Zt{)sK4V99KL5_B+ zJ&Yecd-(n^pHDk+w9CfA;=F3F)% z63x%!+t2twP|j^)f70;ra01Oc^wHS z7Z~}n?WTd#>Kf#}eA&rR>83XqzHU^DPsV;$w6oD$;fPn^q%OQrFT57y?@6KDU>KaX z<*ZeR|JH!){en(Ot28=IUhrNk3($i2u?G*~jc;h64*DK+*dELpvjzIJ!|$G1$yqtg zQdvO>O@NN_hpk9`)qs7?E8ZH=>i6(hyU}*pgTs@~FtQp*doR!YjGkNRc((1cq3JN4 z2*<5D>(;9D*IVLeaOqQ7I-DF0*sLD1{n2VrzUkKn?XTOLw}b!7FSy~%Kq@liqetL> ztvY7R$BaP1O?{OW9p1KlvpdkSN>K23t7dDgUS1$zF36s>fNpww6lCow_*Riu$@l=q zxrckqj5k&yo78}xz>)zi9$$}1YkG?r>?*#ztPcNf_%E=T4w9*STLcmiZ{nt3J(onp$nH0&-PT$Dh5lM?rBl!hgR!RV zyKKu^Uf)pi*~-KojX0$)p8Gx)0&}`XgPQ67!CilIbSODTm;UMEz{wtji?z!qFJA03 zkUjOgbpPnCcGb`LSs$e$8J4X--Om=4w6;1QB|T5xaw<6ap$8q3`m5w%ly=594i7m0_u&t+7AE9 z(FC;mz6SZfe}Dhm$D)TH8{b*Q_o4GQ*;DO+-`S?&Q%6X8{?Jx#!9HW0pFf?IN}pS) zRvH>iq>PrH(-HlLesnwB@M7d+;*rnf8W8RFbvEK(IT8YXVr}TKLeZIdR;z7mW2+MB z0W;-CHzbX0HihgTT;sTRlu-VC*f1nL{o9!9v>gQ@p<@wZVH7hmG zYOvA+;@@m}-`XRcW3Tib$`BxZ*D&#TD+05t=WX$qKBbx3BH7ci{-0HYP3+vpH(CbW zqDzdC$tAH*e!JaG^jn}8J_1^_-RfxeKLC-&Dq`*#yv+ zbj}u4#()V0?PG5Z7PzG=Z{qQG-cT3TPR?7^KchLOS2uHlPUCM@XE7kS5% zu#;B1+S!ri2ZPAq0_I+v8u5aq+R%&QGW`FP2UImo$I1Rh`I`zX(8q6UHFWqn-_cRJqKh`U_mm@uMX35Iez6J-=}OTit&{ zf$T?%%EwFiz)$|ZlI7KK`;E|^Ot3u!r_BG8)@3<=z>$safph)#P4?QzFMd?_CJ%B7 zHW;rUbXZiyd>^N&vS96!=U@-mO*S4WdMZ4X%BKyF+5ujM{ay`ZAKYzQ!oW*@zIHos z$zUufZ|S$do3=gOx#2vVqOUw2A%vW@i>6vynM2>D%X2E&x5>Zs5)2N|8w#cqLN?ZTHF#@8)JhocAqvn5cJCJ*ic7e8`xdq$7R$Dl`cl(@Jg z+B_S1u5!7($UFm^^d^2%O&#o3f{|(68x3J+s~ zIr){{8|~P_Hx`st2Yrcoef16Uz9;q3rys`mgImG- z7oE(1pVR)Vw|?ob9CbnN^fEsuoN>`W=E&0dvfF=#zVPvHgYeR=K4YffIk&Go>)#WS zt(|*8M(EOk=bXc4v;?C<>}un1PVOaRkw!+f*s zwSX9It-nd`#_Ia5#|9qyeSrx5$hbl0tI~=TaE~HacRG?77DV7!-lZdFU|f2%S)pnW z>i_^i07*naRAtC96|f!;IlJw8^XUr*t!Z@0>H0rjzy zi|Dx=1_MX7fBspJJU{AHjvyN}E~&eE=(T~I0fYb+T{4KWjoR5edDnx8?%5g*RxR3J zfIxfuu2mqNWBGM2II%@aJBYv0s6JZ-Z4KPOuL`vtFC&<9+$69*>F|fIK~LjT_~7Zw zmR>q4Mu0MPZzYI8tKeGlXa@NwJ!o*IogQB&^l%{AxD1Y6)Eu2-px@d>{Gn@XZDe;H zzMVWr#>(jjoPYEqJM4^}>&b9dVgupiHlMAhHH!^atxS4oi`+B8Ho=(e#i|MDd^LS^ zIP9FiIOzovTca4uZ3otG&2LjlR~(OL@mzc0ccqu$tv~8cU-P9Es%R6~CSn7aoj(>I zOfci^@tL)cqa){N9c{0QDl5;IcuNoQ1YHI{nY5lqedVkc5fF5C6Mxd={pbAOugT%h z0<^Ew`8;mS>l^>ii((#H8vUOi&anQUe?Dy0gY#EUpTw4#TsbT4(DNOCq7xmPc!{Uz zDOo&c0~P~5db2aNYA@`%masvv_S!wQ-AcEx`NJD>+2MF*<;+<%j5peNT<#kVCQ|tQ z+CQ6jN(8&I+V!(=`TZYvzkRS>IQf1mZId)X)?W5z@@x=%DWG=x=5;54_p%l%DYkNC zBkN=51+-0&>&wVJEm>gG)~;3sSx02rDJ0NQ$NHw|qN^lov=#ya}NS346j z*~7PXxCyEVS^rpmeJFjp`AQqOrduKX+pF59)jsrHT~_P}-m?#M{N{V$pMay4so)AI z<9#HL4-DJJLpUB>K@-}cZ9Wv}czxgY-j`3m{n4sEeVV{8Z#MQZ6X*u z!`qPwjlxDZ8Nq!rs=PBHy$SPY%=lr2XMCx;(Tf=PtbN5(ob!9<+g9`Kn!iJC0oB%g zqlrcvI^m6Nd+Iz;N|ZrLw>SR-e0mML>uGt);DfQAM<4xzJ zO)s4JiCf^nOX-bqeD_(sYY(2&vt-gAw35}ix{vQ)T0u;=t;%CRhj)2SAFS>JA3j#; zX@Abp+n6|Ck^TLnm1g%J(#P!Nf7Ks2Ym8a>6tDCH@MGIe6s_MWaBsDz7a6d5VCV88 zXZXSuCRW_p%KFNArpEIbGl6100}dYf*Ds(c|Ldjxs&sWjo11`7f-Ij~jcdZm^|ks< z#KfX)h5VT<^F~_1PV%55PwD;h>>pj+L_&bh3d<&F!rAy=DEhY0NzFdvRxnH;^5J=_ z{5p6$zmr{nJrl*3x(`XgQmgODQaV{^Gqv8~V|*?M&d26Mn4qyr{LeBA_>d7>s0nF5 z+wPlNgZ2~1N)LNzfszgt?amlv-|pYP?VQ-poo5)miAwzs$(6kcjV-tmuwPrQ9t*Kd z+BkFbdHwnOR#*!ftLsg{RFg@@p|^HM7vHp%|LwcZa&?w%@Zm(}&O}7h>}=^)m+kzz z=thi}tUdNpE*c&3(+Q$JzQPHXra_}wUoxLJIP-7A=h!zsN2?{1udUG2oY(+AeX|L4 zs~>-6FSv|+&inktM+fpk7A`)Mo7?0NAH3oE^r^D(rIJ@To;UUKWYg9DX)j)Kg1A>Utjoh_BfjR=07^GR(rEO*J8Jw zuN+^UIs3WQ@$C2eY_yf4Khk@?IXnI>ek6e3{%D1}e*%>Mna;YjSbCBXEhnW3p>Fnn zlEbhuTBRM3YkOyiWAw7d91ggKBI>PSY`=VEyqcb}hVS-~V-tgF=5gZ}L!_$Gh|LVG z)55=q;$*9bGpQ=vn@BIzqBXo^)+yFN2?YruOK1nVzAA;yjMs4>!=L77M4mdy@@a$M z3^W4*sTgY(30$2#95e`9WX^12ifdpVPMlgxm>&^9TQ@XSb@x85zRqA>2T?xETpj9+ z521SNNMz<1Sm9=X!l4`KDIzE7d-&l2iWm)XN6xdVxn@(y@MRG#NiY1E;*>Z1(5LEZ zth9ka<)I>_d;HW1?rfBlMPL-a)+s<6jbN7t9R?p7pV!VKnaroF=X>ALq+Np8)wAKYiYm9CRn(0< z>>Qf~k@4xm&+~)*xl!D6sj|%GrIY#vJ{to1wG0dsq8L$*fag( z4BFA%@le0jzws*gPZ?$Xm^1C@x;|yUL5?nOs5}!b^>IBDoW%28| zt2opYE_6;dm!iWnSi1stvt^ZDHu&ADPy*XH5O_AecEbgs1KS45X2%qV$&cLdJ};XH z-T>K_m~;9%XRFme0!?aPe;jt?&8czjm)U+>Z1V>@7vm775lfg+sq%RIgv%xnow1V6JM(TU9_iAY-qVISf%Izw z(e=%E#4j`3Ud8H49@KjmMn^B*ITMTF8H~n91rOUESCG_Hdbc_AS%-wm*%tV)i-G^N zGh@1kz#ty=VVzK`}-87pP^Mr2}O1y$QG?^>0s z&1u8xwE|60={X0cO!Sb>3((N7#t!kZ!DB(!SMip=fRF1Nf~n1}U&4rZ(4WcN9U7(G zRx|APWK8eN;N#j4S+y_EDhDng$?txvjv6S&U#mH!F`?UmNMGDnw6f>k3Yjx#Gr&88 zmDg4lRPST$#o_VfI{sB~gV7i!KwyQz6nFF$SZZKpfCo`}V8G-)WXp!OGWOW682aOF zzx-3WCunA(h&glAg)@@$J0Gq}vs5rc|`)FOzxq9G3toUaz zsJ+bRWv8nH4(s#FGd@pW*fXPm_&vlGy40gG`W6YZh27$hw>MK9!F@8c!s=U-KhwJj zKY2yt+a?fx&+b~)%rAwUe)DC4zJC+|`1sgLEB$Kl>8YB|_QdQ&xFyQqsy@21lX9K_ zZma*&)r}?9SJ_PtlV$kL4nc9a_+HV`)!pGw--j3JYy6Uh4VcfNovT=zOMnZg)|RcN zqTjB;4ltZ|DXXmw;a^GJlm|k6E5l}#H5|%HSY7j3_N?EfPiFmIFh02}ga7j}8iaX~ z20!K(eW3SyaQ1!Vr$5?}Ptn7E)3Gr}?-zf`OCQ`TgT`0qF}|!WO>e<3b@Y$@oPUv$~Be@FK7`%e*E}pK}QwC<7I6ku27Qm2H6C*_(gcZdy^`aFWY!@WSb7Cki3G)q_LDH!)*J1 zRlkoe?SY>!&yidC;(>_RV7#{UPz&hXQLReCS54Ztz}=C#Qad-smp$(63;{ zJpBw<+6_N>6LNH`It20gH6{e;!b7q&d7=MR$jWtW{%T@(ctlh3ePTPqV>G5!e>B1M zwclt#z7L%-@%JTv;IX&Wt{x$^$k}9B+1M?1;779gSlw_o0k%n$@F5>*zS*+a6-<*U z`76<*AA?p|FWS$&zVS9b*rY0y!iR#eGgj6)D;ngl&Tge-knS>xVU?+v1zwlwdXz4r zvC2#k#i{AI`q?6IE%Mq{ad0Zff4;B3#V2DRFFScx@bl$!K2k`VT%!X4!8?9Ynb)TH zY~L=Odz15l?|(Yq6|LQG>+WDMIULi;s=+frgBp*)+(>5f6Bs~RKxZ9`>z7A*y+#C{zC zk3glRt4JeDsG*L&^`tQrBXl;Rz-E_pxNuPNH1Y}$^yw6Jwr9m$G?g{|X@-w5Priz+ z9!k96Q+3^xbH-xN)7(SyO2T>2V%TAUH;zi5J07GGkU{Kjzhy%?yX4pP8dB(=jM3kMED*{ zZv6Fq@#x0$UzDzV&*2$Or~csG$`0pMeeveVf7o7m_C^?iVnfRU^9wM{+gMA~ayd&@; zJl>E)*(QF@nhsmAj}xz~voZEP5D}6yA<*z90u54Ux4H*0pK^BShdw3P`7s63&%J#3 z5oaLbhyQ&}S)DRO)?5mDY%8yP@f_Xw1dlU;0uOE4<0j8?^z;M%NwZq4uk~?eM!$Iz zY;|uNRO!wFsrZG)$$OK1AeIgnH{jebgfRSgcvM+`1^*{oD_4IxBh>8eyI#(LhHrTv z`g_jBR`q414+rQqhe^AsOoNmil3j)DIJgU<)IoAmoWtS_tPN@e|2RT3I5|nJ>gxEf z(MYH86(4@J$7GC>IcGg|zKOn%gM~UT!dTEqKU42Rzx9uT&7;3$E9|{YzzZ@$dv&Z` zm*cD?l~^4qyI_x%HK)$NTy619&XujrXyY``21E--&V1ok4u#jw14HxBi_V@2Y)&UD zE7|HPx*-;J5j$Mr01kc~M#TT|jvR7?EB!Vn9*~+i=}N zyyW3b#6#P0ct?Bit;YD!HtW_qj5b!F8cshS?~-2WJqsS)*+4dUsM*%32 zd{#cm0|wt!b8yzQw;aE0=ZU^`@Z-I=j-y=*k>)dh5kprWf4|ib4eG71B{MJH;Ja%R zCd9pjXLf?l$FtMd;#*h*gK+3IJ+RsgL5Kn&t z)WwecOfGK=p8m)C``*fXd-+N}Pq^%*a>iQOi&&7(Yv1uPz-yD$4_6rY-;cqy@{3_v z5KFWphVqLx30B=!xs;*L5IlFK-`f7#eLP|Vw~)f5MR}`rwk(rV+lqFnXh~-dtnv_E zXskZ%TNUB$26lWR{HIkg&}Sbk&fgyG_lkkv&5d7Rx<9trs`T(eS1{0c?3t>e*+Hm<6fQsa8JFEnIMV9x;S>PP6 zyfxJ1+151~E7oQ{v{LFH>8W7D=WN7}f=k-ARt-mELb~OgGwoHIdL3==nkcji?V(`I zj*7s)>A=B}ylQ>F{m56_L|1g!S~*(-I=cJrYr2?mNQ~}1 z-m%F7?c}e$>NB0=X(5w|B5(gigH_Z2$hSbt$K-VLqinq=!v!&WC{PYpM6Az9=h?Dt z|BhyLovpd$t%_^@fJ$Xz9i#4PKUz4dV)#zdO1X{PNBG|Kw)j}@+YBlGl+O6kc zYyvM?@Uy9wI{y`4|5vM#o%<+=cJuu{r_1jPHNSmbzy8mU@vFD5zqc@@Kye2`3QR3- zgg*6+KaK2g2TQ>J2oREg&M=aKG#vm0}C!Y{5w*{>F7sLoxhUhHQK8B%XG1oygbm3 z>ByYSP?#J;;h4{|ESF5-aM_SKN8r=p3=kdc>B$q^vHSWx8p>-xwt%8)hYV(C!8j+u zg$H~DRz_N74sW&X@Ene+l+Kn_01B!Nj`pB4+A2MuddRuiCB0kbWOAf$o=2qzE7x-= zV4JDezQ@1e#_;Q4IZ>Q19q`eK;fkhJg&*C}kKhON`v=#V6JtRz*xTE=Ao9?I z8_F9fgd0cD06a*uNh6?2bs~a6ubSw1zK9>3O3P+k$gG}YXF+C9biSxOb%BMA0$f%D z>fE+PLVd^&6mvHk`#D0t40! z2H~5W$nnPTqn~Q@3FGSUPY0jp(RXFjv0_~p4&_X*faw3kG9|0-3Iqd`^UUw1g&SVr z3uh&8(~a9v4QRg&USMHn-=rV8&5`c+!N1i$ZMn1}$`(K`TQF<;qt~Aamaf|jPr7tx zTTMJLkkHO-pP5X9Z;&gGzzccON1PO~m*PoN`%5}@nF+R>Qt?ysO zCl;d0YGf75|fKiDmKgw5iH$rB8YJ zKUNvIYy&npUq29@+KB$ncCm9EzVSUC)1&)rAUziduy8d{=yqmb3UFyO-Y5dHk495Lf=NWill$*W_ju4_j11c*{%9^%K!O zYu3G$t^JsM;li)@mTgPuTL?kG+Nc$_jXTi(-A@8o<W_RWB?_A*B+WpdJpQ^9E zH)9vz+1-+nB;=XpXpjBCQOc2J~@|hXIsKQoCW0GHc4rP*;rUyEO65adc1zM z2OrC)U8{qh{Qmx~U|)ITp?JUoCDmsYaS~iU6RdbFm}+I!`+^bjQy+@}cE;yF$1J~Pa;ldwM z8CpIyNo2c!s=gJV+qoG{`Za;Z1$*PO?ZfESveXxM(v!|JtS|WQkL^?`ueL(BwE-(! zeQU=8S+TM@vKI5G^DCkwYnh#r=AgBoh_JEH5Os1H{YFG{0qsiBcU<@hH zNVoSj(Uv*^T`kUG|JiRc6C-d#e zs@!v}*WXIDob>5j88Dw99lZRr0o{$M4AqQ|90{0XpcB-g&iF?W9x&b~c%#DHf$|FK zpkdoM5;Ed72A#R`>D@t!Jj2aw;#LJnjhh&{fp`#ypN=zt-(%Wd&m2=U$PHu?$bwK6 zbM~id#c*rUx?${? z4FN&}77*bM3xoM}6w7~#;R~Micltm-20N>LW{5ny;HVfqjN@h{l>MudUC#1=c|OWr zmz&BC)^IG-VS34>?<0@@{ZUt!FWLSAB=zst_3+Ano(#gdy#TC^Qhq%lO6a&Enr!A> zB?HLcXwZl3N6C0Q$KzJ+0x+1jv>W2TeyiZZ(e3|#sVF#uvAWW;^8CVczsU5u=wbg( z{!)jiXMe9yj`B<;N?$;tZwadpM$t_1`;Fuyiv#(fB)?iu&Hf%al&(x=Z-JLJUB=^N z9VR*_3GiGppjSC9eyJ5%8?Id~XhQj1zXWptN$9=2nR7nS}f7qqI!$5X2*p=1JIX?Tj`YX6g+o`TO9Myr(x96CK zuHol=B06Aa*SCY4j= zAcxlpxYQ4{qKEA6vMmc(H1Hyi*fAP({v5cf-=*Kd^1r6J)bH)o!@>#*I9VUp;*&niV zucGT354vaH;e;O~i7xh(Q>MROz#`h^-y!hhv3kS1bjMq8n5gc34w@IrsEcC>hJtX_ zH(2%ITvXGNYO4uMpEuajmvVx`$%;2;yIEQA(INcNRhN*{bNVAI{A9#CcAe}|JQ-F$ zJ`1RA1_9xU)u z*<0Q4CwJQh1ri?$8oa2Fd{MnEScu{2l|I+XwrbmUK(vG#o2|{+r7)*BeG7%IgL{w5 z=X2T{#Ua15Z8;vNuT_~dT#?z9+WG<=wY^5gf~;0G91*EB-o;~e*+yMLFxZdy5>NNG z*6=kD*c&p-t6%nF1S`9oKVvX}Zw4RhyXe^T2On?)*i#qVDKF>Nizx&aoG(Ln_#_Kn zR__Ma)f31tns+q5oj!bMhsV)T1A;1^&X6rVja~nPZ_*ZQ*)tChKbLp-)s79S=s8Uq z&o4MNte>4r=nOu7?(Axh_&^2?4)W%-Z`&~$M~FaCVu*+7FybPFEwo~ZF0*k~dyofs z@{lvx$Kl#?KSC}n`|Y}PI^N+QzVdHx0UGtpK2>HrVJe}2;d8S`+UMG0IOs=WYv+Gf zN52Js1!BSY*}xQwZv5FKLkI}Y*ea>7Q8yiPmR4)~YM((1hNk|l0nGF)IqNwM`~{#4 zz+Y##UOa#O+aLdG3sG&8?bs1M@q}%lcV~rOb|!u-*r?spt#ICXm+^{?piTy5Av%5< z7|uEsz@m(Wg5=eQg%8#JkqCv($9Z3IT8#5%t!^Me%y-~!n3xqv)SlcZ6;IN z%0w@4h%ePaM}6<{X7o(A!GsTfih9pp&k!dv80a)|-3L4ciR7zqOA5#w+d3 zGl4NV=(#qviODgY7>@oR9T065W5Dy5RnWJ3F7GC##=O-i^PY_zHDsFj*l zsB!tp=cxev34&RTN6*u^d=uw#YVWbHD}O-Ae)uhkeKAI6`vnQ_YZLDZnw-_u+C@6h zGi~cJf9|!TB?{KR%GPT0-jKXi${Jnu;u+ufdA<}n*c{KbxNB)g)jfYwsb4sy+wL{c(mw;-qas` z@e-NrtQDnR3Mk@jB7T#|>4^Rw^$S*qqjGnJI@w-w{kIS4L^As4ACC*>vgMA{z+cyb zeSRRzfM!N8h}bOH#}Tacvaw@!nKo$E#l0{Kqb0zrrxjlweeV;;rE*(F7z~{SeuI*5%;pJGIbX2yUQ~2ua!x-+M&3Li5&sw#S($)0B^+p?K zDM4KbOh;$9GDd!cAF4Kc9$-oGGKRhvFb%gaotLsfLwsPQ@gkkYs`7OoOimlaWt$kX zrxcjys*C}E#=6gOpRyFEvQZ>enfeONeMVil5*_I&tjh@=&*G4e&7(@?ONK zta8zm0gJHmrz7Nwrv5E2!A-m3BfvcyO?rj$j4v4?^$!OLtE0ymgECKF5>L<7hl~C5 zd;ioGnCO^;4eV0nEj|3oS_+`2yd27}a(M^a?;FGmH%ZsE?15NaG%)qoWk*pZq;#0qy!Wa9lloe{`6bImG<}VG9B>!RrccD zmHWVv3?Df!dJb=H@U*eur~~dU#zZ+dp9)S|_o=|C%S~*cvpSN4umZ_RdH>ye0*FRQ z-hM*|u2->ad+3*^bkCGyxPJvc=#|XiKx+Kx-UZfG-*90$_#yIpw#vGNuiwh96Y;$J zo^t?*TxYtZQ?RO%R|W(B*vAncaLs2I4<;kH?RMel?9a?%a^}7SH(--E9u1u%f7LH= z7<>-JjQ4mDK2X9uxb!vjby7pDhdpCUw$ix{a~)F1vr|JG$4BeQdq_#g$}|4tG;XB> zo@OTuEbUZ1+YLK2DM$6C!C|&!E5rkXnk->|zt#DiK+|-lIwy_{0ULT>famc`!-8lE za(+UvC$sMHxcfDo3XQkrVN+sQcefTCkIJVQo{z4+$CLgZh6J6#C{sCdn2ru}It>ui zo*5jBVd^_*vyvQO4uX+|NN<%ml>%U-2 z9yMGm2%lOBa%5896-a%He#BNefz{V{`qrF)+CNGh)1Ux2>73ibfdVZ53ju=qv7DVh6x7K!KGZ^V3-LdppsBjb z6#g95TwO`hztO9V} z8M*xazBhVSFFoRTlM{Y>JL(xUqM>tN;*WYlr;G1$1}2J>1?0L9uG9|pU!7*-3Cr`d@a2qrUnnliZ=-838C*YglPS*u9 zp7)m9Ka;r^K;VsuZDm*>!I`ZF@H-UnP#}3e&5x(aJ7TYZf%l0xErKK6IXnCoovWr6JFt}F71UL*&5CNbDoymR-SA}MQOHg!THCS84mSL zV6QK&{vE6y94piQNEQYfS+w{F*OiQKXF`IqR#hupl39<1LgQNgD!eL{U4Td6vh%I< zYG7E?Bb@o_^%}jcnSF`s^0Tk01qLn;y977GOEr0!gaG5-)*Fxgv+Z?y7_A12|IyY` zZ>R>#f$7LJ8K3%u3!6vI0!rDpY`;JYIexD#|LYGglu$K!!U4&LCU_WNu@TQ-)F;#_ zI3r7d&mh^GKiN+!cI4$3JbX!>Y^8d#*LK>FJvmK^J;M%)yaf+^>)Mjm`iPya6|XSa zd6*`-4FVUuqzAQmziZ~<6+Y35m--k3aDBB)zi;)YP7C>^I|B$||HI$S%~lcm z+F`oD-k$zCI`Cna=Qz~oZ=mEo3E`fc4dPGGSyts^qjKF$hpJbJa{YqS&*?0%`Y#?X ze{w;x__vAY9(s16KNtu1gUtN%gouZ%#E*WSF2x838h^FBX*j)LwVJ0nhj$}u!_{8={QDIfOtCj98@ z=X6XPvmKueduW-O;7zPa&D9^gaX$Bjy5lG2=S2oTp50g zm05zb@Fq^}-_F2K>E+k-olme`3F(w)AL>sWQ3a+|V^8(vCN0Qo69@4^%s?Ri1k>2p zVCD;{tCHzwxM3h06<+KlpF+Q<+0Y}CXAFnFL)$P}_PlSp^ga8J(4XP79W}{oeP++t z{VxJ_!k4G;AqOEwevP}@MufD4XoM=&(wrvt}_9Qa0Fg@$jGZ*QvIZb!YbLNw+_0pBR zuiu_}fuFuEQio&EkG|-1#-nI&aHr4u!Ttv~O`CncZ>NR!rXFpPg?#hot~K)MyJL0y zhhu#B(o5#($ZdiQKlmo_#;DJn65-vsvoM)<6#)8q7!> z_`w0Iyo2WFKs(TZYu_2P<>`;klw+<=69c!RhZ%VH_j(Rw9f3Be3~NgV z+`@qtoIxAlM<)&l_{%0^`S&9|txge8hhXeH@KwoQb`tHdyyg2A)4h`n5DllQRLiDFfH75%d zz893EM`NV{rK)mfOd6r}u0h#&!3OnPaHZGJ)t>sUZZG9Hdcx`El#xZwU;O+r9D)b0 z`k}@E2Va5A$-aSDc45w0*~W}8+quCN!8iScHsQ=5dbR;U?PGl|9Sq@}OUq7%AT``p zxV|^>RU0@fZpaQi73s$X1l)m(u|$xJJrS9AEz2qj=|b>#EF=T!q| zzKLzaAyvOxyE1qvKfa`j^}X5)uHX$kORG*c%wV1q>&>19SYMibG}|l~Y$pACay74J zmjZuAAlE?aeZLK&)$^{ppA`hPf^s_}5E9+v-*i9Ss-EY`;h}*Y90YXmmXkSz@UMRr z4A<)FZf68V(}Kbob^WNcv8#L=@Q1f^)*@-X7hA?wrvcI7yg~W!B8b5~lZ%4V`5y7` zWdQ|t#Q;Iw%peyTmNy#@s|iN~a9v-&`nIJn*Pb2z1}C|^dE1JnbQG&bUVk?5?;(ep z?mWvL7|?zA@UD74Z2+RW^Kx%i}XV}Xk9 z&$g^e2h%pnpU)Zqmk-~_){c(1|NiE;Z~yngX_~Sdf@kKzPw2mWBo`Ubu z29IE-;cF-QDRA|dbl|=fHuQXN;qKY`pm;&E5RW2$%vNGn#uKZNm3doP?U8@*xk0L+ zHC=&E-v8R%yZdy#f!|}>cYi!IK@|u(sJ`Rtk!@gm<2XHB+fB!;0@*pB$y#6;FKyMO z|KC#%t7!P%0_GEAybbN;WhcH|Z=L;6#P6TY%CKWwX=p-SbyX^uMc3E=mWH4 zhO(pOTaS^doI!VZ>3_qSi>Oz!5W*RkgB1aEZn{9;+I8^wQ)H`s(5HR0t*gzibTH{< z$?>T3v$VH#C-VWb`n>)|hX6%L99~r`8>)@7xoBed1mpw=`F79iD+PAR9j>r`QJ|bY zqnCg7R4|3?c`frN>rakP(?m=IX}t6D0{=D%+HYs}dFjE%R3kH8O#c?7fR`Ggcj86s z1f6EZ6ST=O`$SK}gO4(PDX4VxuX0#(jei)Vb2N z()br35i`3o440?7cu&UyIezZDXK*vI_9|VJ2Ize2UyxyT{-F78c;cfD~dr|PN zqXD+sD7hGWe$IEWQ-uqyZ#KU7a)>Y)EN9YvZN>XJZURC5F24Z9Ry;+kc8<%lozde3 z4eRqlOJ1zim)*veI2nfP&z%d3BMYkNGb;Ng-W59;-T(afwXONRkv9+oF&{tOs(4qy zBkdrbTM=b}k-qyZc&YLrFTN3gw7s0)((FWW}5pn7oVwTpiCC`iFguk`OG&2U0L2?rRk9WQEw z3ASTOT5(-Hcrx1@D68GoMJM#Dc#gqq%i&Y^(FA4d#VWU89sY#x#x`mQ0XF8t`*+!h zcwgDKIg4*g!`3hL51*`S>4?`2(+Cb!K1n(OE(0 zt%~CSb@8RRQ9E-oUVP^>L>FCq^ZDi89-r#;yh-eQUStUZI*(CX{MH-kU%q&g?;qUs zS>F(X{Xe#OyBWjDL?(44ODhkJCm?A;>MSOSzrlE&fStYfJv;CG!Kd0xT9nMIFW#+> zsmzz)2%?kU*KFNeLFgKbxC_##z(X(|yJ25TtsNczgU&$%;1;|RP$cBLI;*POHKPlUV9%)1%7`OO zgC$W{25EfAu{*F+fM_F>?-@c34R3IP;tY>8DM*94)h2$GhZz|@37^uc%eVfA0RVUW zDZc^!i?%*McKpzIC~3Hhr0cXIxQPvEWy* zwlq9hPZq%f4;nz8~Y!GB4|2e-tH* z$yPxn`}`dMVs`b7N%BbY(E#LCxBGsWDc(cn`Y*dI16=|T4D$?*L`qhfqfG;G{+t5c zU)KfiFWjUbnb50SC4;@ZJxhj%rzG5OIKn9;WO2Wb@`p)(Jp&M)l%W4t#>mv6K-n_o zl(UCe=vrOnm4`E6yXFFaE58i0Gk;Ngd*E3>^(@n+e)m%+tAjdtRtbw*eWzoi2SKXH zVO8`|)>}eI0!f!S>c%;Ezd#9q<5@7+hKj*`PHS1%8cX~)^J-?LG{J;yzUt?&(#s9_ z(O-V{=I}Ebxl6FX5Gh{QacpwcA53T6ktoB7KJlLec9<1o_ z4Ed@dkJ76-2z5R&;zf?XRc2PR82~(MD`prURJwzlL;p(&5aXGxQV|*SYiEFcJu6-4 z5qlVG;z@eYKoM_$$rZkc4Vt>)%E2E#a6sPhE=$*f{t|np4=Qh_>EMDX2}ZDrA>B(q)IBGd+>T8(aMlleuRoe?54Q~x<0n<7XFk*m zhWb>zLZboex%?&vc*>1#_EXu@FP^}hJn_S}kMP`z=?lW4u>2KJHW2ko)y4tIMslp> zd6VpxS6k_03(0J;is(`gop)$UCZx?0o6vzX-{`i@jQ(Kl&gqM3`kAe!fmb@b_5g?E zu&odQ<|jDm2@87g? zr7deOU*E4S7(@nQ`Q)uNhkNLhh)zPIPmU0AmLD4@kb(Bm5nuGZf-}c=0*mt*U!vPT ztAjX*I|3k(Um9_!moNmLUKh}RmTi6c{65$XhJ!7rOzKwH2C8VT%m3efos`!^2b*q@H z=p$?Tw7~`X!kZ8Iy1>qthllVu{>#otT*HsfkwJbW;U7)@*$n}e75#z2j&@mSEq z3d^mCB7yPp$XENZl4qE!qmQ5jT-I*}t!A`=3Y`{U*Geo1)7O<@>Y|yLy z@_}tHGiyKmbWZK~(zmQ2WgRwsFTwF?@H{B>l4*#j2J0 zJ=JoX=y2Yo6@hHBwx^9P=sQ{k6Oa@>IRguf#fu*e9(P|}zUAv+TP=8YQZgt}6>ZG8_v10RY;E9WaQGS%ty>reiWlQ$-XV3awadjGRY-~pN8&K}$ z12OqN+u>y%^i2@QY7;@c=h2~^(2?2HI20!)i|sV3eVqxz+IF`3XYGfM>}`Zt? zd&I1rG6!1t-|$)xYrl^l5?SLrJ&zsf$m3+D{8<1|VtMGAMHb8q`o=K#`0^_$ywN0I zTk5vmn{C+h;7w;hf}^sBzw>G7NGNHyWDE4sFT6}EvXe(f`muDmAl>U2xd6Qf?08@F zQ~8$#=#yqpuDYslW1h;=fFHG&nnG!{sV~{9%DpK7@<%URP-c@4eV2V>+0Rk&s___^ zm4O|G%y${U0KOm=o@giX2xm(z~el2G4@F1;%G(lP?yZq)&ZY7=u;;5j#!Z)DH3W zV=J7VwCC&wb-8V)XYaJ57u8|qwpGM*5_IFRjj^!zx=v7*UmriB`)7UB*IrDa|N8i; z$(0(+or$UN6g(9GHwgqycv_K9C(0ha=%S|^|7(N6 znD4&eQP{2><0)HFu<|ke=C5||jkK?tl=|w`ulOF0d_HacMLJ}=?p{_zaqD|a>TTgi z|M*HSwz3+t1sT&YvfcOuq@txs5R+!!#MAH9gudwZ`Cf8pJVr08PVc*GUeOA5#KZw1-Pb)>gRQLMo`jQs~9(T+`wL+gf z7k7w8fiLpbH(QDQCEd^(*|S&iV`r20TN~GIbEo1ZJ6Ar);u0TAjJLz-}P5u}us|pY~v~P(Sz~-?A#AYs%93u2y|IzcM+N&T^Va zGoaCLC$?VO4OA#9-94~$bZJz2i^ zI;SIjkJjUGsoOH#Dfe)sq)Jw%XPYI48>>$sdlLNe-hQA`z^}j6Q?x&Si)cQ#)r}Rt zQ&+q#L;vGQKx}n#7FH@-PO!p5!;0A_PzD}DlCxj>3`FHP>nirtj0~sLks}7`;M(Rz zejJ(67S0O_DqCHQ{hmbdf*WKWwnT}2ct?ZDZ6&~6Wxj1lL-NnTa` zi8#*N7*)otXo+u%58jHM`sk~|`|Eiy@l6(KhrfOuN>1*6c5Og)a$R}L2d7gI(Ter) z=dWwOq;jD!n@QEPI2N9_zHGldD}@)IMe?FS^p%9Nh&9a@?=# z<^XT2#xRNlWQcL-R>wt;s^`d$A3X|BxZxQ)dE^J~NtYiSdO3a#-_o?_IWunAv@@X4 z4*sh4k^x$DFqLJy7UY?NR8RK71meq$l*P!B_s< z`Vm`~>z~d5B6|t#lZ19KYDSzH7-hH+%CiKBi50|~a z6)edYr(@?$WlKA9XSy?C2G4-7xw^xrf`HquTS0afTGN?s3{>+`7UXEr+H5O)ZW9pO zN>%k7hfS%B#_Edx7!r!d!AmOB1Tr&-z(YZgpH@Ib!+f!-)gNe^`Ui5He#2*1H^4?5 zby{C$HCVELEFfiT%3Z7N#*Y5XfeBY>KXRr0O=Q@EOGO#M>sTXFb*g(nokIt84D)kxuy-EgedlRfdzBUYZ*N;Z)Rt`90 zh&>ks%n#f>$4^;~y}|ISW`rXM# zBYokOe8?T}piNg!Ko_sHHNl!Q5RA)#48J^flN@k!KHOG~?hLnN5ucP-?}B5|x);JE z%fM7e>6qk-9yZbUes+J|&PM!tCQtBEs|H8c;rb=fyXjDLf@^ZoXOj)#PSrhm|JD|? za1Ix;ebKfzdfWe=rYGI-Cpq5&?#hhm@to|}{6ld42;)T-wQc^3cA>36(V&su7^Kl1 zhr&}W=b52JPzjzcDqxE)y;gPsNVwOgUSz}g)LRA8vtuvO%jR31pr6h63)eTbLoZFC zV{Go54%2_g{!XOn;8_KW-T;LYpVqlSj=b1P#~SEX=~T(#cV+vh4!aY66!d|B!QEZ; zzbUG0B1xZMQ0v@lt56n@PQYxDz}aJb;QQh0T?6fB4PXWR^efLc(9cfPUOv~}w`Dy$ zD)2@bHd!B?_@esn4)U)o`^!e)9een$wqw=crv~q>0ohh9eDGGvS?C6fWDCD(78>KL zU_E_W1tgNZZ0EH?#i|p*8*tc`t>nf!l~%VEK2}YZW#fjIUS^aWyjaD|leSyy?|Fr) zZC8ZM-lQyS6+NOOXJV2LdBeNco0F}Ed&#`-BNOti!Y=*=u=I8V$;1Od?cu2x ziMy(E!4mzEawX2kNfs}n_hp~?S>bV?0BwDDyg^8ow?3tQ$tq*x40;6t{yy;P*lKhA zTQr-5eeBH=+oCyrWi!^wY7=nR2DCRcmcGtORpAz&N}4c9`YH>UpDR`HF)Msv^UYR?fQIDEqoR&=Bs8{xshi?e4%|4RLHV39KLc#15!Gf1ox?r+!_ut?; z-|lv73%`P%TKPx-lRw=kjjbLw;Wa*l96eqjEoPeh6ZD)PlRPHV_yKqLY^7STZYvG< za?t?(3~v{F1u^+YH$JOrs0M@HIuEsOXuhRDC>#ATUdZ&H*->XH{-0jXVJ8PY{+4X< z&CY{2wSRR}w%Y!6lfIkOh)(uwyAjkC?7q5^1$_#4ZH|xkklr|>)ar5p)=e^X@1;{F(ygAS ze-L9U*cB~`JrlGf&-t|d{W{Y ze8GzTqwHbC(F|m&H>ZhGT1F}oEUB$PKcn?M&-l>0_i_YO@u%F`VWL$z4o0$q0QLd97yp5?sE_%db2 zeN3qlZ2-_cN06Z;vjaFW!Y^2AwiKNsPKj=EL^E<~cV#qUEY3QN{oC++*5D-#uM+dK?TQTEGlE z^{e}QojRnKK*zP?XBo;vzqI0H^QZ^48G z?S@#-#%sI>=-_1yJ_B^St&`QkW`~D@ zd?(ZS>bIr<#{~%RtB#fZ9~!}9gI2XbU-|c}8y!C&+t%Np*R%O&*Q%hkJ^5>hc;Y-N zZ(B3-h+kV>Wz|N&4UE<6Vr#8>bew~}>72vo$*E7ZYl;L84`t8*Np@6{u=8>bXi5Fhff; z(Ty3Ubcz$BPYN5^QtOM~Y(WF2jGA#Ng$0XXx~&49RL2nFS9&XwLTnW?r_j zRTl-_P`>Atw?+%W-(wsHhF)%UUSz^WTfL9?^Rfy3ZO&az&f10Q;E{uGo6enWGTs=U zyf`Tsylr|Vkv0FcvGUG|6YOEnkIgxFBK!o6a4ifY$pqHURjEQY{w<=S?4dXQ<|CCS zM@Ut{nj@IL7+mawe*vM-e>{|*&PAtoti~O#4992~UpZF|usMz-Cr~30wR5ie4$>tY zGCqAQeBZrm_2=}2T#w8{z5JKWNS`^joKWc79tUR`z$VB0a8lnZ!VW##aEW>=A5z}6 zi)6uBr}H(VXz7pt0pkO?H?a8xhv?3|%^Ccw4Ns@r`YWjMte3;s&Wk7XNt5wr!M*jf zLDr|Dh*qq=>&?Y``*+#chGzvLoaJbMNN=Cl&^hZB-#0)8d@gNH-?oF?b65>7ZS@xv zAd>|sgTap6)1PP_ZJnjLRi(k$q~>7NzQ`4G%8xe-{w0!A5z&-5$%WhQ{VEMVAlM&Y za=F~wdT8b00v|n)wgG>K4^DmbW6ne5D;da<s(}y$R`a3{Sef z_L$var-C8K1dpAWS9vsUFcsf!=VXQ20@d1-6~N93^L9?{&(^SKZBzc#z?!|sgJ;ie zDG&enZY=XN9G!9a&2bK+VbWia3jdwMB(Si)tNQurnyx^>R_pYQ=LXzXi`YtqZ=BSP z3Buo{ozA}kv%Hge_Q*g^Uv1?iob>hJ&1{sW-0Fvam%%Ih$d0k)^i02H6|Fk==FiIX zV{JqG@R9@LH@vs%?cwWVGH>+=y{-(qYo#PPXwq=gCQd(uW^G$Nr#)_KB>7dRi56}5 zN4Oh~zm4BypvU2Y!#{A{rh=5me=DxOT}Zpy|HAfuO<(q#d~&eyIs?xvQwMzE`EjQ(1uu zHrT*hKD10UL+OQb;J~f&6XKONi@%F6v$;&J2Y+8B1ohZTZJO0yx7wM$Q zSZDd7ZNcUGniP4ub=S7ufBtDZVA+x#lGMlE(DCOQP1o9Ga!?T)OQ+JV>Nqz0sg+_J zq7z^|diJadywA0#Pu2JDO-xyV_qp~ITjGfTkpAtg^w!@Ueb(RW<6%!eYR8jgUt8JB zB~unb#WbZDz~RGeWGUhdarwO2w8GAbobS4RI=HogkIh=?@9eaREzy~;mag0JXZ$Ge zB*?NOF#0W^{585mVX+FqA+`oS?BN1*@n#E$q*X7vH2xh+hJuuIZ%&Um6B)KV&vr&8 znK+8$TjkhzPG~}l5lV?IkSCqsrs}5{cRPLM_XVALY5|6bx&O7(_h%7#kbpv zY${iz&IHM0FvVz2`zS!#$|Wz&0P9nM+)qv5Soy}@Rn_3LG0tSY?=8<_NZRHWkhzcM z;Z$BU>l^5ypd`O@zGqMb*_=yh(TB0a)AjK_2NQ+lzd&f;^jp7C;pskG8n*~xb*jT+Bb(m#$X6JZf9imH=bkj8+nLYT0! zcpaR4hY5I!)o*E3_jXY2&d;iT13IWr$x{XjDq%#C0f9^#;fK2Zgr6nh!!f}qB6&O@ zw3XK)JqWK7z+bQ`JhwuwCl02a(rF9~SByP$r0^9V&=GZDAGqZU{u&U(U040;*zItk z(D-ur5M?O?M=N2+vjtV7-wQSF11x~5DhiF?J2!FsNQMTY32f4f36#jcD37PA$G4v2 zOR(gWI)efzIhwh}RBJJ+N_2FoyB#(mY$)Rq1)R0rOn5+c)0`RR>1!&UYPMcw2! zIDN0M#OqREnSUj8Ga#3)NWb((RzF8KKoTxI{OsvKfq8z8&(p2=yVCLCELA5n#ghTU z68)z$Lq{J1zrc*B)%-WOZifuGUB7<+x+(4CzrF&Se2x;IGQ;+wA;Rics% zFS!06NH_YV(0|X)bGhk#^~p+pe$8;ueG8C|XUdRC9ey2@b49&;;(7Mz zbAcZNXW}2sR+nrWVDRn>BCvC0zf}|RjMkAbXDWsdk2%gmr%d5997AwLNr)_0#Y+qFj?{(UI2+l^CDh0Z_%5c@CE!f_B-&%i@ z`LNP2zU*8ZXRFz+eg?N)|y@Cx+$n{eUaaDr_6oGwg$VZc6A z{+Xbwi%mv%82U?Jz~e(c<}^Kp$5!8!&N2FCbxcA5pY9l_3PdS~EY3bX#(#o8PNmgr zR=U(LnJt8<$|_(mYH-f!we4%?QR8PeTFVTh_<(z8)2~H)GMX)u9zFa8hYN$J?F7BP zuD;fv@uYO+drqHho#mszacGuj1H9J}cNGP<-_d_`0Z$r8x2Oa^j6|>t}oXAe-7-c@?rv4UW#NKd~72yv|YNaGs!RdJ*8zUO6i$4Jh~vR!LC~ z`b<)ASP&4-2EYL{d#$ipc{beEEwIkYxY|&w62E3QY*Vxd=vx7y5KF%Jd~_5X?a`L3 z*`R25?XN%mJ}FDyA1OzpE_$#0`Z>I?^2)YnIMXd`WUnK#AMOuafa!%`){id@EtA3V ze-0e&-lXaJ>u~JxYSyQypZxhSUkq-?C;W<6bV*(1*#tl*G zZk1PswS}G46;kZ7?b#o)=meW`g7imUjS-%O(|rL4{e@k+CSGkTw}S0Q zM!~AuZ3iT^@x=F$hX9*)W0jg!JDX&QW!jdHF~wcD-KS%3TXA#mu(B=-Z3$5zQJ|T8 z-W7y;S04QjS!^|WLZcclv(IK`xQ4Px09t0npVwy+CW#+k}#hj?0z z@%~KY;74%iW$+D3r|)E&Obxo(KhF&M@m;`ZLp%x@+!Mq}f0B{13m9k*{R3C~WDjVW z`n8Xeqc^(}8}wuB5j^-YgG0t(1!95q?(tD@H!9LqItL#K`hzz`6u%{odYG?01*zrbQbSgif)v8ulJ;bNaB0gisv0L=#eex4z zTAMA;y4_%z9LSI-_u>az8*5&bWktzY$;#kiX=L##zw#k{ zn;%y$aZW45-n9z&kIpgsy5MuG#)E%X!?@%Bl<%Q{b|cMrACBsc-*0Tkt-O_7TY=W| zq+Gp?{ln#FlLG=jPxZgES*5X27-4b?ZeQc`IRlO#(bn4Z{3jH`GeWpPvvKeqU*>St@=dzb>t&3kJn8Pl2$ye z(bT`w0hI~zZkJ5S{NZPfiTF{k(zVys%^v87ys*ZE7ysTwnU_1+m9(>c zaASXUy3l{dTGiXVIFxwMy}?BE+3x#iM;&-8vLfO$>nq%saD!7-hbeQcLR#cepwCvJ z1s)XWU+@x4=?T%1t7fDrC?hf8vB}v-J98rGd23a^RE?+E_y!(2h*w1+hfECD`MMT3 zLTt{c4#1Lcjz|2e5ydPPiy+rw_q)Ev>yeFjyaMg=jax>4{(_o={H37-gowK={CyhA(~l6VuN%CQ1aQ?{f<) z13*fDqTn8t8s83#Q(9eVQfVnn#WiG0Wu1Z4YVs7v+p#JWz5E0pc#kQ;K5W2;Q`drQ z(%}M`GTiW=5=T!W>N@H87^%y%l_`~3;5Qk1BeP|;-tOyM$6folph9*EQakV=u-DCuJ7k&cM3?e||AQ9#7QSP9|M9qb)hc*GxXuUof9vxK*c* z_(*neGBAumvn9B&#nG2vU8fk)L97k<^^FYta%J*#FTb6y&*juf@dIX^)H=inxFj45 zQg^+}1|B*g_N*@fRzUJHKV@%Ek16Pg?ak46@3a?u`2Nc8!jrAyC-~!C?M*`mpTDfk zd@X@=Z#uS90RMK3x+4p;RhC{$=JDqvx@%qSgWAsZD?+dk*h+_d&{=61g8HV^4$s-o zYrS>#YhWGw_jn^gqN%P1UP1loDaLQPwiQkACS} zjf-$^gY3o$Z0}XGd~`PUB=h9g{UvuQZxAg3bm~{RLxKkkkC;jxZ-2e`c@jeW&%sNb zS2}g{MUVSgq3A?Nz4@G=p%M-;8)(|23=f}Y>#pe!=oUt7m1wkz9c}~v zO$r6VN(hPfvuea-d`Uj)7xyIY9@}GzuhITu^saBkU61baB{rSEYt%oVS1p4yiIvAP z!Tbt)6nkw_FTPoobDzDLH2KyltzW%O(snF1Xs2VbrXy{PH{gm7;mw96Io&?{W=|5+ zg9s*-?znrBS!kLsN?*b*r|7Y&>UYYw7?keC4#7qP{)29H58v@Tz4C++kxNY5yj?P! zPFcO}%!_F#6Cb&xS#$=tu?B_H#<|`_C^i6ROX1yM6Ro#FzcyxH`VJE<)n)gaJPN<9 z2Fyihi!ZHsc;S_D$txfB4X*=Er=}Ch!3zYC-jynJUL88bSBt4|?W^z?ZM z?P-bp$**i!GWM>-jg?DZO4fRdFTy>hj{CL)nv5F|du)vcpwYGkUV32P#iJ9|DgJoV zs+K(|t8x8z^=on8;GNTSwM+cYiA6~J{KKG?iznU|j?VED-Pf_$yz@YG3qH3`b{9?f zHaiHCtr;BlK;s|8LB@-z((vMArcO6pTn#yXVRoK=Y~>*x(CH_q8tgxw#?N$Z^shcY z(j)No<7ne!_tZoQ1vulER;@;(M_vX%-k*D!)HiksYb!5v| z(7W{|;cTMA8+zxz5T%X2B~{sxvX1$N+Btr_%d@@HPQSvtiOjtuLW~kF;Z6^?EmyzK zW55SD5JNMcP`knW-2Q&XkrH{-jSXs-zeFo5Iep;ik0fo$pFMw1Ctp5m>y)Z^(TCNy z5?l23Lr;(tt_;@p3zp~#ws`6>-GK)^SUeOSc*57=ADKOAUrl?|eJ7A~<(6ZKotXw6 zdCWDv&pupR#FCG+9h)TYyAp<0%4_p^xLDzxxO#LplqO$rC(zM|_Sq7CCz}()#`9o# zVrsE2eyCG}e7&Te$s0873D^1%_)9R0x!6aRTns1<%|FbRjdhMqzb!_U+~n(Q1LDx0 z1rid;R+zqy$04?U3eSvNqj)$*i5mU0C+g29|1JsNoO1T2KZ;N3pYgny&RECCq3hXk zRsf_(6=p;_2Rau{+5~%sFb0&VW`u+`r3kOh^j7GWY>WQ^$bnIy$g<~-j^4~%k@5&# zK%0ctb_ngY-Vww|xKK)qA+bDMQi$5C->5^+VMK@-i=WLJDb+}*@5v*9)Oq1vun+-9 zOD!n}K`FTnY%B9Cg{L^jpn@}FgKO>dp=^j3@L0*W!D|UR4$*^A=wAC|15OI1SxLVd zuX#U|>6d$*EkGN7(Wzc-aH>D`+=7*uzw#VF3bbS*VOJ+JDJaM*a{>n0LA3ep9KTw% zArRi%7rW=+toq-rU{_?at?XGm2?7B~!X%aD_raoDLv$ z7<_=>j_=x{kevok5M7Yec{L`B4d|lr48&9l7b{BeBwg8HK0eY9dm!k5bh4Xq3HF)c z=P0!o*4>Bm8Xg|q2>uYQ$YDPOy2dKpUS)0n$5D|Lz!1kO@1)ai?l(j=zQX(Kmt(Tl z#)ZeOpJL~}JIP&A^VAvFs~A1ILhk8A#=n79~Q#Y z`{3Dc*McFbz=S1Wddexi>l%cD0T!A@SLOMu+k`;f`x+s7ZC&8bk9fn^Og92`qXW)l zEI^Qqp;I`<_hBbkl0fW$EqWX_&lBn4v_VvL!gFPvGO|i2d*Fs+{M_I*USJ=;M0}f# z`mIYk9(4s2;n3;)ACxL=FmiMQ6XJOHl_pOhE!-ISHVK~O1xC-yNJLe zh4GmR=q1*HCp-N3{#`J1XsY?~SHeYG__6&5O9p@q7oBpTj>xA|t`C7=^ZlKpqpRqC zED2`sAc;!dAe?di&_fC(Sek)*)@IleAM6Ew5^lxF3phM#X|h~kA<$TBcu7+#t0Tv2 ze)`4-$tjZM3k6Ou!o%Y#znabF3D5%s9`KoLh+gRB2D&o(H!GlKzv0t(NLL%w+KoAM zP=96i(mptTlcQ?}u=+5oG2f&UuR{EDZ{4&S{Fac~WKw+`ySC5XV~suZ_^e5yqwBR5 zZ6P+E08*_;3ud^$vL>AXQf3X=YR>m>ynJam5S>1bHRf?2Kj zo2%Q~LfNC3M>1C>vgKD6vbP{(PbYU2Nzbx;Z+Y}xKvsFN%i2S9vmucb=}kWp{YYNp4CoejvnE8G))Hh zn$H(ARd0Js!E=nLkrIBJ=t`G~%|IFc{4;x6{N1H5^(&hwiz78NKJF35cwt}WXC-}} zQpS$QvVz~f+cU1gZM@yMDSN;Zk2#ltSzqZFmV`-Iefaq8$-jGibuWR6pSFtdX3r!&8tCYcWW$l7fb6F0(IZw! zbkjZiX@VWMD@UFZw(&>2(Byy#8TP)_Th-&&to*faoBdxUJ-tLK(T-R14JLVO2Nfn2 z|0q8AoKH077gL={LAs0I;Z;8*!SRO`Lw$d)9lRP><45jm{mxd^cXe;$CA}(}#InNq zYqIi^i>)rKj(%5pD{*n!Tynb6C^51VIK;v0uP2hTT_(w0i_*ueR z-sG9pr(Gu#cK$1VzKS;{A-b~9V|8qGz|PnA{`NHy75ji4Q`{7tQ^kLks41S|tOkkBC9p2L( zm6?rHpMNSUm~3D!PFsV?X~tv)21ga74BU*Y^COtsCfSb#{!_}73vvBdd4z9(Uvpju z+{NyjVKAeX5``(^1Q>bkQ8pz{DYo=D=EZ}Uv*uH%6scnCxDw!IIdDMLm5VHam4iT1 zzzrUUFUBx5PC@~Sj4216CASP%f)1_8{Yv

        n==p#)x>OS^s^#YzB!*CqJWfaF>& zO*vg67%&`5W@%(t*M9VF^<+Y#{LXb01gTZ9k7KKDzp3C!hy}2^>y#oy@ePF3=?7Q_ zF=kF-lb&=0D_op!U&gLzXMqW)5$*=jgAd<}c1ue)D-&)rT1|HiyfG>mjDi7S*jt&R6 z!!6}7I0Irhckd)Kx)!zl8Wd%8xZ6mT!6OUYgTd?t(sLM;ln_J=PFA z6sL2QV*;wr4W+YdH~s>(8KMFLWU;Twz4IL^ftM~m&6z*Vx4Na>1&=Ah;C6L;X&5vD zYUNwF&=YW79It~vSRu#nC{UGkI2-Ii`o_B)ssO>tK<%N)>>l{@QQ&r*iI7gJw}1k_ ztLr5j_U)S!F$(E8!2@(~W@yd#;Q>4}ztxFDy83;Ka4XaFS=q} zwGTU!Oq)#WlQd6zC9~k?aF49bT5l4mI#xVOw$U+f=JL;~7UX;{F=Q{Q=dG?skidIy zwM>M3XkYcim8%~YC`bhBTdj042xj+!cRcVm)UOh+wMXaSgs-n!Irjct!DAD|K0~z| za5Yd6fb#!dEY6-D64*#RX(!I|Kfs-~ zb$;`I9^E^AAwHMzSx{zreJ#G7(_{x>!9i59;^4aXy zqbnXSF-Q>G8O+pT_!KNxwz1-p!*op0iwypvs{1ww!Z`N@wE}aW1)kCI-K1pveX)Jf z(z$GD35eu~r;~kn;pyH6nJd8etsuByi(A+^Ziqj;5%6qnl8ppgEHxa)2STJ@seL>| zD_!bh|MBVI-Pzi=%0&zl%C+Gd!cIA5@r5qaAN?@d`X)z@u!Fl~R^{wnkqxa1a};B_1XV-wPJ0PQFT16ijXI<*8=@Dq15uEF4i5?>Vw_6p}? zJ>JD%MJ2KtNac^7y=etUFHMN{CEIG3Ulzk^BTsS$XaTe`;x72vxh80c=KFW!V$l%4vujh9y49EzjgK-DBqSM=B0 z!!SA0{o{k9sbp>IRH8XZ@r|wqbbRz@|7v>|$Lrb*KOcVj#P0|=mFP46Zx2^Q07=omWj-Fd4dTMeFIeDqq?85{(VLu-~-{ zzd;=)izhvn`1n|Is{V@&2C3f?k*ECZ=sMqOEh|;SQ-}PIKT2qa1#!LzAFKYX@Ua-j zxaS+0r9XQKlqO@jSO$IcH35$=^HI@F=lR$Bc;TPxc<}yRt3>m^#v$dnwg;!hArd%> z@JN4@{IR+zE!N1B<`5S%*h)a(#CL>pD|5p=dY0Hr5%}tjHQ>Ye!-*QoMX+A?H(|v; z*RPuF-Y1w=mG`7_Zov#|umo9y&V-#C>WY@|x^sUX>dN7d_ zetgcx^wHSO@Tni@y2%r`sYbV#aEotCPIrUMmY@yhx61Mn>{s5y%Mwf|TIKjq(ru4= z4>3NZ#Y^E$)`3`icVtt){51!+zB0LWJ6e+6)h6DUh(4>hT%V=p+tSbUO6-RM{XxZ| z4K0#g>2XP)x~eCCmLPi*EuTvwe~EB@gI!3dZ|~7)_+=3e{$rIswRTLbzKTEIYRq=G zbx(NxQ38-2Jrpxe&w?e+hP%mT7;VKI+lW|S^KF4QvBP$3so-T3o@9^+9u*cbt(|C# zmsZFrSAu6xz5BltGPrhwr9=ChW^_Y}^End9r)Q5S#1kwoE)TBkAe7A(Q%Fxgkx`F zVmJv_PNu(r3ax$S6Q)`L$M60e$537M6ENpVkw=zxhkNvCCzx)Wdk{qRDU{TMad71j znWI2xt0Uq8xCdB;`n_zl;yOPSQ&Mm@d+R&6`*eO12->g0VMaK17teAy0$caMS?6}~ z-Q(F!%yf?o(AT-nrf=xLQ7c+o;}Gcoen%@R((>I}>F~zm8=(hZ#no5uI)J>DTcPvw zuR;|Ff$>f~_`-yMDt}gsbq=m0+;`mCxZ%n3cI@%6o%JW$7PPaC?2Hbj4eQ7b?kU1t z)~$keItR0oYje$ZeqA~Ry6E@rU8gZ!$AISvV)y2RAhB}ri?R#f$+;^#+)svtG8`*& z>bjxM0f86(O~2Px)h7GC8OLDs1zgQ>r0nSE+YOHcW4aDDxk1Cd>=vnPVcH0P3O96 zhqeVC1$1yT{@~Z#VrwQIRF$kE3ti+UBf36XE=N*4=mz3J|0%VgmmTo8~66bOZq5} zZ*E=0suc~d%uE)WdMx9JCYm8ej===m?Y|XGCqbqy0bwDpo}YZ+ z21FRd%_TeE-Zl6wk@?uGe3jF0oY`%1t>Yat*n+`+SP)R{ZskqC1r~6-YlYobgay6W zrR(RV92jK9fFz9oNAn&XdBLwFa4W{;EAD$K!h$!Bb#&rWrNalmUKM;9n3-f*BFA++ ztc;}F>ymz7MD=)qXZ;f#J#61bIFPv&{oP|*5oWc9HU!X2QtT*jUXrPDZzOnYhh8T7 zW{|}q4YGSQ`D>d#8I0fuelfFm;plCmR)DZ;X#hbHJ@oro<>0l!MJW8RdN7*qHyWr+ zx*@>TmoF(=Z5ZlzPhS<BH61--z$c~_s5=2jkMW;$u{_SBoq#4pZd{%$K>2Mee5GxmXI{a zG}OEKHNh|&GsHfR<6(&U7#pnMc)^S0OP*(Vb+Qev!=#P=TfN)kF7qihGgn{+uhXO2ENHq!it>4v1h{R;5a?!C-dnZ+ups&#bA>D zL`v|gy7spEN0#Syf*P+%6jQ3 z{i8>wqQp{h>)iHz$%UWh6C{Ye(eg)$557fV6H4}5WwS@l?BGNJfyhtfSDK~r#@!z! z`K*k8nD44geDh+H4WKbPrn3k!i#qK5zWp6HPU((5;z_I7^(7_+*~nRO!#@WnpNG%v zHMN*t%?DhxO{kFWKT~v^B=XOy^{!S8uUeIAFozG$;MP`H4&A2E;Y` z!#5dFKb>Mr){8%E7r}?>cjEmmRteUeNOjfs&!xYPw5SX3?n;U`y6o{pS(+r|J67l8*MuK6f?%06zRlL_t)i z^Qh~4Gf>$+e@3PsdgC?XU_cM}^J5orb`wPDSqVbu{5$=`uWBED)ZTh$4k5Y`Qk}}=iBn_LhVv8&t z@XqxG2R;7rv$f!QlLy;--t_>A*Eew)PFv7YS>t@L)S*ts-L^Qhx{lM69D81$a-R&) zv{r^|3G^7WBx$Hfu#4;Xh{);@^&WxDCV%wy@vTNq4j!ZR(l&9C*lT;s)rJJypZNm) z_LmP9Gn{t0f^7~5&ZC^ z4G%1?D?SXLk0l;I^enL$;b(mMpEkF)S0-CF{>gg7QIfd{rzUvl1NqMnx<@ynW&PcS z!|nx7JYYh-6$yEQ7!WRxB~BtGJS9Y1^`9;}VwFC!U^Jp1yGSM*oUB0v#Doak{x5l@ zuLa1ldk)F7>lhRtI}#EmgcxJ8q5&MvwEXCh9hV>*P8bGZ38k08FmPH=*L8*%7-Aa2 z+mN*~iE-KDA32iE%2bG84NNHrm}j;K^Dz(%*WpH(@bpbFx~54N`;V$^K%9b8EWt71 znoZs;4Vr6%XI6hJ22;9q?ga-LTL7m84R?S&oUV3{61tDZ>s$GXGd=^-F4uO~vVe49 zbgdKZ8smf2Qwkr`&6aUO>*Ts)miy4bf!rL@s6gVWyB3tvFdX+4PF<@F`#8~o*cUGg zenOPO`VQhcq^=D99#eyJc#$b&H)yYHA`E;%!Q@a~`1kK>c~~%xB`Z$V(SP2SWAJ4l z(*5vA+6VWwad>o-DKgNqBxZ% zrfWk6V2a!Y760~8WscPLDJAyxyLG3#-B{R;{;VovpEsZT6Li_?3W1Go{(!_!Rp2{ZLr=2oEiA`PKm~;QSBOB z&_IKZu2#IZvJW~cDb%I#3%g*UPlCzHo2mrAPrubKZpwCahTZEJd^Xx|C^=?xU0}EN z$b;hsLzkTSw>;$3+PAv=?cq*;OW186p$nz~`OyKGjnw>k+uN^INS{4E)G8PCw~F!7SBWc=G34~_T?ve2Lw5yj70IvbV+&{t z_+GyLzDE?ukB&@V;wxK{#Pe7ebPa;>X9MAp8$QwgG+p86UR3dAE7@L`0I(-ml=VA$ zD=Q%U+BGk{Sk5q5g1gN=;{oHVMzPJ>{8ods2Je;uq&Zv091PYTv7}4MqOW*&0&u=a zqKm+1W0l1=DEgphvcbFl@6occ7ykv_@v1svg||JP^w2=KIJMuk70>nOwjYt;{#hhm zN#J^vr}ncykI?cb;+st%RNfZmHd$v!+Qa`nieFuWXKxUFY$X%2XE()g9#MR3W#qRd zTIovhk|;E~*e^QZG=E!bl5B$Q?+pMx_N1Lhd>5}Aua_FpRANnsTfh)Slg5PXZTXbl9u%RPZ-s<|Q$?Ku+>nALF;w0q@NfR7pW~T2hgXLO z;;`*;6hG-6ddG_x#18LDg1l+a&gTgDl}RkYO+WB`J}l7Dfl8k<=t`#oWFUaY>;H2a z;z|7CRrq&-P+p z=*H>>6IYJjMF8Fudtf0xNxEz>6whC`x`Y4UqiJkDTVe-?-)JB9q}c$liH+L$D#6-6 z$-m#ck5+@+y{M#k6COXBWq2leV2~QKUrDa7jl<79`WdeF3|z7(yfViK>VCYp`hi?F zNa`NEjc1nF=a*`oJ^qn@)3C<*;WOIe;nV!`sV@m~{QQr2Z57bJKAx9-{n>tJ^wR3{Jsw>nWT6$d1nwq~ zraAcRA6ntq!KSObZIB?`XRBSKwS3W&k9)gq0Z@p1&QD3Cpo4wIq3XUUAyon;zx*!! z`B7XU`7aLo&?EAEp&WzNW@%s(gtoX4+ubPBe>e|RPfXx7AF_7{z@MJwSHuvKkoqQ6 zNR>#u+7?FKXq6S1KJcR7TSQR(y>uwJV02^ksTgnMC3O77i4VaEk^0ZYSqTC!zool$ zlq1}e9@!s;ylh3Kq@6M-pc7=L48H3h>p_xFZ@sS^f5av$J{}MNUcHPc@e*Ha%st-Z zBjDXGgW0VlW|hFM9Wt5}`i*td&w!GPnARkYYm+m6tZxWM_|&GAso*_C_d|WKEjm0& z@R*S=RvX>*Qqd!JdDl!Lp8pJ2aaEuwc~mg2yq7h*e&rh?(iufoGkx+6(x6{AVH z&*AOS{riM5tFD~*nr4XiP2Q|;2-ZASmk%>D03A2ykPm37>rt$?0)J)tS6cyz35=@7 zUxd89^#&u&R@cgrp9PQ{m|%x+IH5Bj6@ZuhEl7~yx6BklX1C1>Q6e)7OEQL_K@)=jLD#wE;`tTJmUi6n0r4 z7;K(x_0@?7z(?oWW;~(mb6A1SlN83ebM16W+Ei|X^0MHsd)!Hq!?o09ZEVnwx}kfV zI-b^Gp9;EnGi+9?R*g)hFa1EPwiNXz6#MH(*DjvS$+&$AU4OeDtOJkpz}K$r7{sfb z3xI0r2H~K5?sRX}!0QSo^nU|`=p6$UjNewvUdD7_;iG#U)9b6aYj}0=>)Wxf-KlI9 zCoeMc0X}&Ke=-=*8{|`0^~0y=ytO)*N6+|-mB4TCCWEfj)ZzCH*KWFZ(Ro%b{O0&+ zzm~Q%{x=>P@=UOM@kjBB@Z{_OBSr25Y*X?&|1;xRUxWuI;Kjs5GJVh~t`#eL^%+msQ`k|}uV z`&HLBaES*?8g`BE)F$?FDeyjBKv(dquS)kpZ@#|#zrZ1fCkUReQ81!x`uod9lC^QR-)MDI_zMyww%GG#`Vpnd0-9hna1a>T zdcokz%F8#c%(KGfv87%3Yz*^y^#roB-=2nG80#wo*XkCvmq zp9_X6N7u}lcA80xLsd%8Qw#Oj^I&H{TyA5#K zr%bGXvywmd{n@}e-08+^v(EL^8^|q+i=S2B1jO#J2*ktIGKw0)4vm`WL ziEX@;gE`XIOsm6SrO)(M|KGr%;M~e^kLZ{ozVESYZK(JvXR}~0eECX)XL?}8fdRMK z-@Royei>XBXC^a&c}<1z_J0W-t_Kk=Eji&-9e^gCh}ZQ*kqW zZ(B+DP*VA0t9v9?LVW|jB8}5t^wEJpj_>H$YN*-*P9I}+=Wwskm!2Wy_vnPjV$p`j zWVQZ`4Ex}Hf7iyr4Y(VgtFm$?PbP<}tXlLCyf_*?CQ=M)#HOqnj9m_=^fP^2B0_!k z6Fz3=fA#$$<+Um;%u2-esBZEBQ_wCDhwt#0bg$g{|H_<%+2QjZ-R+u{p#~cUg_3@w zH@?&7qo;Hxowi{X9@J9RP}3*0@@r&BK1&WH@a^~40G(lPbt&ccADxvu2~PD5QsI0C zf9%^TA2Q%8O`PZ_4K%@KZ(>BY%w`NeA#vn_gGUzVKgZEulMIrSk9f^S^b66#{OOGi z{_R`3fnQLTaNukKk65;0MR6d4BWBgtxr+l0%CeW|B~Yy7d-60J#?$J5k1vsP^tw75 z)PXA55&(L3d+EiJQI++`-v(3Z$w_*L>&2rJb5wseiAU*rc1ccb#n@*5(g6v49C44| zM=PGv5#0pakkmM@C%LF*c`P-wL*27f+E;(PQuYARO2zdpJ5Ke*0B&z&G80*UGMcee}Y{=<2#h8Q&Hk zeE!%9wD6}Va6djUTItes4@~}8^09js0{uq;o43zl*f|ETNM{hlBrg7dn>Vh<@6bw*igP>tKz~RYzaSJY4&%T z?K~WJ4hNt9b-{`@EAb`|{0Mip$Hvgf=YA~-Gh5*^D&leMPrYsT`;RYAUi?2+a?vq7 zIDLh^+}W@sWV?&R(*tjW4&CG9$c}x~Xt$!TdwWbaT-zKYzBSR-1lGTL1zN@V7+?EB^ zpIvFIi#PrBUNlLid%O<8?*&xsWc^}%Bujl41TxY1P<)zA^P_9O_QVtw+oZV{nrz$x zp>RCt9y^`y$u73S7`$*JH+(ues6P`grYE&I9lZ1m&G2U@uhU`p;E9&!UlH2xo8Gw@ zH+SzOJhP7qkh|4xl8UFFIlBER+0t=!65aZI^0y+6uRzltT@A)oAxGHWgsaX7(61%C z;th#pFEH{HhJ#-775qCHp&IIP0JiPWzgc-X8H|@VPk~unSh$_4b~>KldYF<**{*= z()^5iCVjo90`69r*4nZ2CUmxEav0+y{eS!BZv9p0hGU4=Hhnin8RPq-Z;`Y&A>QrL zL7z=fffEs7RB?0$LjSZUuHf14!+qgT^PlqxxkH%dbxJWaDBeoK_&mpN)kD=I zrV`c9hPQ08ODiMDuWCpihSgFEYvw?QZJ-KrFe|U)7UWD2U9+DEPE(cb84#1rc*mXr z1hbO~V}e9sIDkoM`f+`<;PePv8Cb8|3`o3LNq^Mc|E`Z|0|O^Kl1ZkVwSlfGfOw!D zJQ*W2&fsvM4i3S)4Pev=_&W95ERNcog5V)CqbdC2F-0Lz4GSy~iNPcsQ-Nb8B?>uPP(5b8YW@1y7y7 zRYBOfIJs1G`qekyhUaJ<4q#OlF8eq?kZ@f8vELWC1JsXG{sd>L9yuJuPAPxco}!1f zc*H&r$X)C{o(;WlWf*=BymEnEqG;Ev`MVjqec|q2W!J`Kd`r@FVX$MQd#Au5d z8s_0a?=JhIgKP3!gDh_+;GJwUS}Sw}O|;zVX??0Xd?0_u+4DIrvdP(Sa13IoJbGZo zZ?e}V4%e<5Xg^24reChCZr=t@@GT~s-v?(26n-VBb_0J}M>XAZC3q4-{_#KZ}kKmN+q3OyY~CI>hmw_ zPHSUrsaK%|^Ih1ZLGh9~N!o2jy*bkjek+SEJX2TDC@>k#TGcs$m4N7r087X3@qvR- z-zr{+c^vyqkDvN|@6ppvZ!(o+v+s}DIejBu`@6uR{?5dg>k@6I8_%PkUE_BnNRq=U zqvI|-p3?PrZPi{_1V^z7;?re(e6?gr@x*BV+2gxbva}Fso2h?n_We7*-#?q-KZbBB zmQFUyUb5}T(jY%gtvR}?f3u41M|=9=#Wv`dye^KAJXw;legbEYEiI$eKp@=#e0Si3 zrteSQ|M_Y-e)+On@t)@wq?^bBrPVfP9bP6kI+pvON8{N5sh{nBik0 z;RLJIAAkb~J&+W%zkb~ti(4i3XOD5BO>D7=fNW2~$lf_5rMfoIwEEGvev}>1$Hcr9 zla;or2ae(-D;ezNgyzTe*F7}%__4Mt^%(4EIAfJ8(ejt zxx3C6?y;k47!Zn$42FKj7Xv50220Q`P{04&N;J9p%Jc8-9iBgk7W|2JeU@HHe7%XZ zc%0U4K>ZN>icAJuxNR$unD)t`L8S#5XdwhE0u(x31__KsXE5bB=h z_}K`Bz0r?nWr6XZ!Vb5AfO)*`oP5TQ@r4b=gUfIJ`R?_T|NGCot?c={{Xz8?=!zE- zj$t+lU#?*A* zew#0P6nws=f}S37JMbYf2`u)eK@Ts2Oe zxck?+->J!U(DUoZ1=r2PJBoJT;NK2(T&I!&%ph^6mtcs&8plQlU(I)(tA|hgfNe7{ zAtNs=Ok46e99x%#ej`JbO2p8VJQ zp0kZVWS*3#1Gt<9xAMoN4IgGj=aIpQZ7x!WQ=F)Mdansd;yZn2_VX-5{NJt4d1m=| z_sD~s;2#TedC}X66@OpaZsWa`;Z1B>or+{Ku_DiQ7WcKW)rUBG-5VAalwUCU$X3vg z*ZLWLV19b?s+uuxB|ck;8-Gn)9lnCyqmb$3m#?4GONsh;V1;BT?-A*X|LCmwbhNg} zHG2Csx>i{G{iCmUl|`dR*x3x+_;^otEY9f~TPa_uDiBrdHq zj#mkqb{_v@rM-lDeH578$ExFB*?SxhFDuw>17Qm`3Bh@|%0*G|vehY1`WgPTcyy7W zAfZFQL__I>v5-cr47ZPYEiTp+ZqqSrWDBgB zmsO?`Xqx?0KPGPR6shmM?tS2f=l7Oaqk4cT?73hL?+rsv?Oe>U=;#>Q$&wI-L(oq zS({ZWrmp|TY1J;pyci;Ap7AF1acG9T!nI$~@X0E2BE)-~D~62A01dW#n57=2O;N(@ zDBx*p4v3<3s6`+Q^(dz+HMTqbt)kCy1XtPa4*bwpw+qotAq9ODN%;*FE4USs!NZ@y zF5rca1)!tL_YjGu&J~jsOjP?8cxw4AO1xxrqd^&x>>0<`ZT}-wqs7}b^*_2&} ze}aDP9Hm#^fAzIXRlPAe+v_@o%}~;lYWG`N!3MsyCK=>s$5k$ zoXyx*@&;i={HP3@no~;HtkiKN#yrmCT)x# zrv;rAh-`go?)!#UgP09Wx^Hl|6>+uW_En^_>lj+Mt9?8D+i_ayGM}Vcg_QnUUG(7(%x;)YW+i&DKcv!k*d9 zRWJW>+V=jaLogA8p3~0;%Rl_8z2N|U{1yn#mj!pe zr8)x8u*p}TM?lbC5Nx-w{S+R}ZP(Yj&O7@%z_yWfH`~nQKjT8ZG+xWMnn6muje1G`s*GP)| zkM0AC$5slURZ_9`3#L|b$`jq9-p(Zqe>7r$RkCga&S>)(gUMqn@s90P9@rq^H)G1% z4jvz9K&oGnkdl}baDYV%!NKpdvNKu)b>U4%4HRF#C|Q}0erQ_{bOU?jkTr0xS_y!@ z(|`rNcRjYC4;Ac5bRh}j^>O+q6NUEryZ3^T^bgRAr;l`2|I_toeAPhWdyg(0JL+2P zPbR@yA6+tt?;xwwM;*E1g}~k8f!O-A{eLOR`qzSLyw^P~;7W$@@>rdiM4&4{;Bg`S zAo*I|fmD7-;BPNqd-7QDCwXIagZ+IBOMV6Wdn<(CCBY+DwU3p6bT1r<26lE%Gq;M8Fl)O%fBOhLJ$h>2 z!(xbV{nS8B9C%;*XIqeX8E`8W^au3d3>e89ZuEq$gcBX{n_gAl9&nN?9=ZK~J&ydk z6@ILnT})}hiO=%E&zCQ+1Y@wRwqhSPXOE=Jo<7i@{6;uQ?0U(>+Q)zn{j!*X51DWE zc0hEG>~zHmeX2aYw2Fw1=~H|!IimrvDrA6i{5w9dM^<}QFH5Y==Ay;m!dogeG#xb9 zXR2LcPl6!0N$$QY0rsp6pH0NOI6TBiWbCbwjiu5jG{W`Z;vU-j8q9-px5Je_k%PyY zq0ZLffX?%zi);Cr%1nCu)0%u5ctjL`h_j3!SvO&v^#le~C2L zs~^AmpG>Mphr0hQ+rp(dl-?VRRW3XNT^r5~{2J6{5BM6FwyzgmHUQS0RAjoXt9x1U zTpLj`xLdK_8=`q+2~tVvJtl%xs-T* zIzlBAE0m{5kJ6nAG;F(AG1IDc{uhriQ7h=uo>O#H-lwa;Zro>u=;%y~pj&l}oe!^(>Vj#tQ+^|!8Ph9b zD~5;Or~pU2M;AR(hRAvZdYXj5YGq|oz*W-a?4%?tt#AYRw)qd{3dHc5Vui|6UBo9(}P@}@RFeEJd{Z;C_O8X`N@mPru_J8xPi`{CWS_4{}f4fF5u!Xvk0L3)j5 zd7k&ZC~c3^rtc>IOv3VyCPC;LUn;?P79~(+b^(9(&lf~{x`Zw2;cCz;A*QWQ=-%wF zb~o|f6E2$!FX1O%;}<+WtCmOYXX~;1O^+I%049f<~zcVT=43l*o}T!dCi(1>KMsN7ld zg2JB}slY&%Qljs*;5l3zzS8Ajhu?xKM&MrEzORJLz?Nw0cRy1W#KQ3WgUnbq##Pw$ z&cWUQwcmuSoch2z!4|H@j1~3cW48BEx9zF4v0XUpxCxfwhi3HwbDVDigb)5#Y}W^` zb3cz_aykqoxM?TBZ^cG1!RywHn*)u75bJ8SlOY(VR3{yr8imwZxI23MU1O&`ZJx5@ z3BOm>z-6F>~6R70?3@Z-m^Azn@>%lu^C>gK9ChxPUoSybC5|ey1!%X zD5vc%x~}e3X0X=Mxn{>YoL#-{2fKD_`J&a$KB^ormCJtS4|Up=2P^yB{mRg} z1!N;FKdK|^uS9yw1oB5UwQSx~v1OBwlOF^+l`w*yKm| z7GSKkZsixWF?&Qq|JNtSO>8HFAoYtzoPjqI{}Rb1o8b%N3+H~%hxOYbF|pZ3NM*+- zv9CN|8EpEpFyiQ(Vpj6l6IKWBaezDn#;Fu-kn87UtOfjXfa3`AWRLC>^csxvr~cI^ zDp6oj(3yYR<7buM-l(gO?glKiCjfv?J>tQ=YwWTM<9&Vg@VHQlZUKDPQUC)MtB~Ml z(5nxzf(-u*XxWMY#40y~0Y3e?L0I4FowtRpsrYeg^ZX7%^^blP$0Ykc0jtz0KqeuM zzYc>o1Ng6AaMc8nzW!%8K6-nffP4Ne9n9ZKdRjI0qLHznZ;w3Cli)01jPC*okLVfD zTfNjcU^w6z{Uebz9YPz-SNU7Bbk7TtC$`E(==utQ-Ln#5pW0}@5FiyvaeG`>@a8ys z?y_7&>O((#=18> z!>>-Qs1dU`iXq1*u#`bpT9Ld<+|`&jd`g4~fD>_bs}t62!D>5?aK`SF3=0?f?UA-K zsH0~ThuD%!GVyjrgDf<|MSo?01D@Gm8=$LDe4HGcaSs_RyHlro`ceY`kM!Jp!f!tw z41AXivX|D!R&Cg~2&sEavJ-I*o#jI$I$yQo^HuO(_U2P>C1e{`=uzmO9zzQzCuNYM zuIHreOZJfQ-AAj(SC8#=lb(bh$;6OkcYM~HHmLpDfUFfOiH& z^O@avx&duG?FN+iLyx{58S_0dYvdUIl{KJ6pMfvl;?LV2cW3iof7lzUi(&jG+~Do; zc>{{I=?=b9#KGyjLqc6Fhr1?I=<;}21Cp`!1l4yedAS5N51fwhRhPb^Ps>(X8;l{^ zHD{fMLua)q`D|}ne*FFWw?y#d-ygnCw^uO8so3~H2TWE~v0K?l=ehfCN?PM%a$zIs z-b1TF_Q+`i5rboV<$~zEHeT3Av;mw%h{5}hY;&tzCbvLVMx4$rtsI&QseSU0TzdQb zbpz`5RI?WrT7!>I@ES`yT^v)K4UQx}yxFXzi1CHVggpjUTS4w0?)05J56_O?@kx*I znPqLy?HUlz(}T6v{XAO@^3z})JSFH2#Oa~ID5B_}eq;Q~#`qp};6)dFd%4fY&utI! zM?6)q`iITIi04}!6JM+d)-qq|u}*_r$=9)gu=?D5lw^>x-q9sAc7I1S1uKOJy-`Cw zR@Zg?sIs%Y@Q^_D#&NtgE(7I^&DgC+O?#B?x;C2hEB%w?_FJsP=C>Cbg0pw_K;QKl z;)hoy2~P4B?~+O%xYgv7d(hG^GAAdpJxQEE^bgM4eyVRij&Iwec(v_5J$LPOj$P73 zLI_^kneHqmz}u+k{(XsIa`%E6c%J^yUZUBym-Rqu_@vX4Lg{MYVoI&m4jlETRwvOG zeWb2aU!qA#B0POpjPhUkDDmMx>(l%H5}k7PCq+iOXEr3=n5eq2E&9CfL8O(pY$_PxjTCGOMWg^ zBgss0`HJLkFXPc4ev)NY$vtO;bZ@w6=h#b4hf+ALg9=Fczp_VRrQ`74rtI-^b7G-6ISo+! zy03lsu`ilHC)ki{8+#;g6O8xuVV($G9~qKgi|62jr+YFY1tAx7k_laB|45qsMcou* zzMwW{C*4#hJlG7D5&(U2IYbBR!3*VT@ATKG5t)>j*6G?RHg<8c4+0EYL5ANFq2EyvBeLv}-!+hph;RudS3|41(g6ASChl zTPr&lk_|}JqevbZj>l&vzIuX{!|SnjOtykW!tRhofl?RDuPjV=_}cHTbsrBXhk+DY z;6I%E?(&L~qv{;<3qf1woXVPrWcjJ09pbXY;1};F@uj=s`OPa={)ZsUs;A)#;JR9%uQ)k(Cion@XYP{X1r{d z!JQVnPthE!8iuvGB*?j1J^#AhAKy?KZ@Pf@{?P>;&=L#3d6LZOi3|jrJXLk14&aACaE@*J zeI4$lv^J97V}<=*LV&LRZuIcs@C79H(Y0(#S^QKKZ`s5;>+spYY4?@A!3eLFJ?+4; z{x+R=pKmRE{oZ<;-Qh)zteJD!`!OL}iYQ25+*oFF`kqp5J ziXwgbf9Z%sAnBCA2sRy}1KTGrJ+UeZ4KOep~C{D*Vn8u%K^C2P3F1L!RYl9hB zwuW1a4P2EG>{}ms-%=s|PGUil6%GF^ne()jRb)49t6Z#D!gLAtV#!EOe#b`Hn)}*a zKNnd&gd5!6Fv)DfU9#YAo7Wo{<_qnmSe;)bcA_|V>1II4QmeOE18;*I&+7-W-TAMP zoBl+jz3`6CB#Q>NbVouFeRMr=XRwF^>J({1-VW3sg#@nnt;`rb1 z!V#1Dv%Yn5!0C?B7QU5zYm@)<_Fuhd>5UEiqXCb>Wz*W(fv664FtGg|9{pO0;dEq< zuv5A_h)f3bYpZysXWTdy%7RbziZ#hq1AUgB&{y@Px6aR z;pN+8tMC7jZDKvYuP>4a^2W^R51zo4->Z%m*QaPB*?o=gZ0_idaZv?2_-}=+#(dlA zcoQw^jUM+Tcl#|7_Yf>EbXiQ>wV&YtA!B-z4`VXFFF^JFwpVtvvvue9*>u@v1;_OwyYEj#BvO2-;x@8EE+!D4|Mzp zRkP3eU`EJTEQ{{z=S>)6qgYZB0@_QB0&iD=jp%g+5T*HJqEq) zu@;+e>waZDv!CEl7|z8^WsKVIzAwi!{NQ-CiB)j_jXyFv;I(_Ty8&VajuNAiQTsk6 zBB}BipmXgm*mZEioEfndhc+M$M+r%9MI(zfTHV39@y`zc2Q*k0pH^rE-Euz|)$!5! z!HGgXFW9la2}ihp-Oq-h*7XB6@+Z(!KU&uIxmU@KbKxjZ*SoSdwK2nUjj|qkov*zV z=)AC``spXVFyK5{<>Qp9m4jrcc%h~K)xeJiiFm$5WOd-?SYog9IR~wyRfU|rWXAUf zo|*6!^wqJ{sqB^F)xqN=-=DwaHJ*?80Y}*6)=B)@5p0)+mjeC3SKplKk;}P%D&TyF zBEBmF?C&F4-EiNH>-X+wjDO+KmEm*MyaBo4=l67C$PFJQ-PXAt*j>26bn|xL7wrB6 z{;ir@Yo=24cZ5)i>!M(bTseqaIiL-0&hc0K?$37CCV8G_og5vFkIqxVC6^|o%UMNr) zj;k5xn=y~ixutZB&q5CvXc8Fv9UP2wBH0}-XNK)uIy}lu#4jK$5XXnpK0I{tTGuJF z6@S>x*k0Rw%(D_j2Wjm&_^IxxsK;{BAWE`HqI~eJ#L6eVEU*)h;gOamih!GpsnyET zHg0?!7ud&Aqzw#0~8GVmC;$&SND98nr_qik?D>sbJ|WVU{=|c>C1ZAK zrR5$?tZjKG@aU0$3qJ8ZmL1+WF>q+$(?%t>3X#}^4f_&rgk2}e2G8MGpX0HSTN31_ z6^~U2ot48E2Y&G%t{eE-F!}VC2M!p5JpHnjgljX{+dHL7#l3qh)>8?1CD_}F)!6}_ zRgVqBZL8#iTXOhYcK+-kx&+`>Ys7apvOxqqYROX)Yz1FEQE?xfpCxR>24`?KOoJi$ zS<)q*85B;I)wj0gSI-(+z5hHL=VPsu*rw^>PTwH7N33GDzW$;8Zv@hJ9?7M<(Jo>k zd;Pfq6CB?Z^uKB4nAMYX>){#@t*^l1aDlseXH^abD6U|8;oHsp>G8jNq9da*aBKZn zx8is9+UqY*Fi&Psg>V0F$0nkJ^S4Xmqe5&WX|H|d@y0$k{Lay}aE!m3Yz@Fk9@Zp# zfm?F>nV#`2l6I+PG_kV^lUKN(Nd$T&!JF^ld+A6;3{*^dlGXe6qP%NRVsgb~_RnO` z*QPNV*+AbQX8S|V{RZTRsgc#tGQ_zZ^Fw*KNaC^2kei|-qhS9r0v#M@Vi zvs!$aU$SrKi}b=)Do_B6&IV~ZaDz4aLV#}K+l%>@@aj0R@fmczh#q$KsugZV8V@A` zj!o6#WQ})XKh{ka@rXV}i~h`bpzwe6+2c)T%}>zBhHhN&3_?5TTpKINzh6e`VXZ7YN4c%F)+kF}+Jyr~Ape zdi*+?>9KR$4}5L)6(7AvXO}SGf0K=J9q94a(r4-S7EMGW;@A&3XZ556;nj9LTl=+V z(&{AU4&Jmt--S0ziXbQ%?qyhb9^STHisW>>*dcwq>yri!N69|;;2o*p9sh5i@Fl;( zL4P8#>o88z#5qVZ*P#fXrTK4wi-|pgpBwMw&W4)v!d#ZGr>MdljIy9 zsy^RM26Wm1{AqM2NQ&O*3h&t~n}`oLUBidFbWpNj@jsa8n*wzXfd73K;-8Uak_9n`V?b*@maP%6RhhW{;r&wvXK69KTi(_-*(-^#~TWuHq zUL0OK$v*{yt#!FD2Lm?1_aq7EjPh?p32q;Z7&eZuNBtRYs!qzl%1F*Zai$L~HXNopTft4B>1im}C7 z^c4g6d}Ef-8cVv^aeNWo7@NlP6H}cDN;-7`o01z`xF_i%9%Sm!kWzxEU>YJYSp-dGb>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D|D{PpK~#8N?EUw@ z9o3aK4$i+bzt89Moq4}+JKNo_?Y7Qd?XdRRtJYIH)c<4izZ#83qbzie{=w+4 zH_cnpa7g4WN#`8BRis+v@1rb<{}dX&25)7W72>baa5U-O_vCm_I2#A~v z`YCuQNAg4z{{TE1q$89KHBBQ_qz4g2K@$0K>h{4PMmY5C&@lqr2pkiwjNCUz1MrBvD-Dq>a*5xU+r%0tRgi3=4N}tEk7=JKG z<0J?IH;lY~KiS;ugQ5S^UFI#LtnV{dMJSk*Ez3&^yE`G8ijVLlqPj)hJ0YAHsU9yp z9E=A2VZS#RrqQSuZVr;oVX}$tfQAU{$Te-fqj#E}R;|;jn_Am<%><%I!{Gq!o5rqI z-8eJ*$}>lvz5B$A_pO|Ky1wyBXjeyrc+l(hp*7T-I1JptccKtYjIOG>r}Vo4d(CtM zfl(C{Th(5vP%rX*+vq0|&Tp^jq^bxHBHwCOHhim#HX3dY<)o@|M(QUT7n!0|I3mof z`fT*kFflsy+{(OfX~TYKX-%V33tamv@!h9ssF>_amWXd2XpG`WQHX_~6A zs+#B(%FZiE5`kIAjMRN7&*mVFy5+@sVKI#zCNqfR#0x{qcbaB5uQfOHb}@9cL5wEr zZ}wnZEyrruM$>oneiCO@?=!_L?QMjU%m~$nEJfPLROA3bdzRjXiKNh7{lHFAe>h|l zh$d`n;>k~ltk=WsTj#g31i{jUuJ4#}=)#gq<@=k%bh8g#3tX$yD6Oo_9obkqvO53L z(E|@HpLoIV=2N%X^YtOrev?^KUo(Rx?Ib3k&!nS%6r$0PF*Agow2Iy8D(s9ZfGWv9 zAW<+B9)+eTD=kcb^ejq=f+C}zZNmD&_@jHK5vo1vCwzh=VQ6<I{mPOVTYu3B27 zpL)Y#j9WZQ(>s;W?~aDS<_M3E0gUKqnD*s)ibqToy0GnN6leuBOg&!|Lx3>;X&m*U zxEDn|1i*Nd3#W2vqp_?ZXxeeU5KKK;=3 zpLyWAPv5ua`6<@`(qTsT!Np00sQr|T$KWxZKlZ`C&1ja;``&{{>k zT{1cqRK(Qa@YK;;9kbFPHLe+WX5d>P80Ocvy1L9taPDu$>hFdS9$l$JG^%GU2!-@i=F>r4fcwk_dI2PnA z5(AhC1II&~ItIWJa02ojrisF$z!h}9b|Ha9k}SN_NVRF=!G(o}fZ@!FYQcA-#|HN; zyKe_gnqXXD72blr%9|D7L052hqVKEP1p)CP6vLHE;xq^&H$s(rA%4<{ALD?(MQ3*? zb>^>iw5&vu$Lq`nB7)z}d&GvQlPVY0ucruS#_o?e`5BM%qqv2EHim=#2u+*@DXQ;V zo~>JYs|y%hFL_!caoXkO<1amV=ZlZr`pT2Pc=d^WhaSD*m1lm_smuW{r9CJO#5w|` zV7KBMr2u^vtqgBi9AY<3qfCbfsfb-!Cl+1Rn?*(E^c~<&y5@3iQqAlqf8ggJ4(&#H z!!AXaKCjw1DwX#(#{H=zXhs)3CT#~pyJTv)FbHwLK>_Vha3eSkr5FAf0}s3(#R z+h<%1+#f}-81x`1q6yEv}y{n(30nl&SilyMtL2^3{T0Z~QL2sj~)Ji^^gWRwCsd3Lv5 zTdm~Itj-^qJGno%^h&EdS6q5!ec>pO#%Kha7UD)}7v_Wxl(h|$=3f+>?`UYvVrC`h z0e$smp<7$SC6;4{ApVhv!WnC+B1)cu1<)n36>uBlVF88d$9&%LF%h`E$Q#1^CLw+X zjv1M)p537{sr0QS~fwY;Ub(L11kd@jfvRWN!tAe`r#cr@@y!3T{z zAMrToqq|Y&Y;jnaK{^`5!$CCc!&`9E(27Gn3beqe8r7A?#+lmc47jp(o{(0%hLsoOK-*fs%vkx?$3=?DJ$bI);_wfgB z_|*M3e&$bmKKDJfu=7!PAneCjbSA4VX88uI@PI1jKnzqpb7&f&Aa6USq)~@#nI)MNc@W)>{&oA(OpxZ7Xsg6aZSd! zcPtjRm%v@A5nsbg04zw7^+Gri+#C2#-~+d0L%stvG`yV9g|F;!$XAbCJajz{^7D4Z zD9^40_cTgkNfs*M+d#i)(>QRT9-(W&muE#Jstoy{7`w0(9>oymcm*2;1&-q&jzd8g zQaeN=qc9LA?&^`18gN7@!~B$C#>CG()Nv3G1_07w7`i?RNx&B3s!C@EBO$V+ycM4O zoDS^Da#am+Z7~JF#51KGv)qD0vM#uqLMtE*xkZ(P&ipQn2%@WG6<~dl7H|leDe!-i z^x`DxrvX6VuosT#n?}9ZBL=qGZnxCToj!Ts!9!2{^2DEidFq*4XP&z88pbW5J%wl5DhJDx4tA$n1Y;O+2#M5o9ZglFd z(dj3sK1B;Gfn>z);T977cR*hxr+zBHrUJM_!VE$ftUfbh0i+E5B*u+wEJRTyWXix6 z?e*m|FK?`#(z^20$T!6EQpC@ox(ol(U;zumq$|oM9peQ|2z=;AA-Q!AjgNj7LFDbxq zgr-jdbC3YD*|y$n)e6OprPYO*+{&?1Zl;nu)vc}e;%?y73QNaY)pfLDkfcyMQyXX>0628*z&3on)-JC! zOUs^7??=wCN8D>$opvMd*tW>KzjKO)TX*zDb5vhr#DuQuPnZ@c=E;N69+ctj#O4o004K23ubM_Y3B^RY}s|+ z@5Zsy?}f-%-tvsXz*wI>vOe=t$ax>^{}4tTI0e&<;0>R>XV0hZyZ%#; z?ES=JH+<^hy`Oqu&&TfF`_Vt{{p9cWo`2|xJAAzeyD@oJiY8A7qohB?5o!YNr6crI zB#lR~sn<=tG3@uC;LvP=%53lBmiSkKN9Fm+}m}{reoBdZq;fP zjb;u&SF5dQm6dK~p;KAtRu;RJWv#YqG&jt4-tLxMJRbCxZ?ywQhx1J!7kR*PY3Rb; z1Iz;h?}0hmImR#(|DMy5Wp?E*oWX!;<}HG$G5`+-*i)QJUOY0p5Re{T!icz<<5%0$ z$)vF>?<|J!jyPMq1<5jyHfF-t46FA5^FlZr0FWsVS_G`?DCR8j0MAiZ!CF*}Ws{_U zK=`;8#Jinixck!(I`$nk9vg>neL~<~h#H9pEJ$qYJVzRiiyV`!wrem3L0Fm*tMRRADA1d0wE90l-`MPYW~?A5?o z3`Y=06-SlRw+(m+0O}z`%F#;)j4{9^V_dDz&pY383~< zj9%bd=nKAQp*&I~l*9!@=Mi=1dkR(`9<7SNS;wLY6UOZs%TJ{(6XoG_JKqdF-FM(} zwbamrr8jJZomx3}?AQyxJNneVnWt|){^YGkpSa`r)3+aaV&B~1hpcvaF=cZQfZb5;CFj9H6`@g3U9@--qyNIUIj*7;3Pzf$yQ!qz^(=rHpIlNV9i|nkC@WJq**FZXATT{ocU=wa2}8}| zFbI9<8?+8}#EpDLLoIs49;YlLqa=)Bmuv&i>rSiOZWet{8xGM%c(MnsqiI?_^j+jD z3c&X;)KGK>^nyX0(15ryVZ`$t-LW(vK&QQCwN~}|QoA%)+n6b>9L+Bt*;sfvw|KC) za-_0$w4OiNES#?AW-4nZT8)Zf7@q5(glG)vHk+KiKy(l+gf`)?eqfg7XP#ePcsU3R z6ba8|yIop6`NYdl>|HwgSSNpC?%*Sj-toh`um8+F*L~>zYd`qlbsxIxn)m-<&&MD7 z-M5ate4nLPQ0uH!gb*MjeG;et^!srtFN@K|Y)5Z2%D|1IJ~|GxoqcnP#&>6ZlW)pk z#NyaaVuyoPBD?q>9`o@IyW*+d^?37Fm=#*2VUAqJ53jiDiW*pjl#=-YM zAL(%*7ie8(t#g$Voe)0F!zlF8I=<(ixgDov+bzp#m}Xtqs@-n6+bMBYU47j^cC|IH zi=TNE^&Ip)N9X7qy#*vj^DUq(x&JiEvJq1L3Xa+D*GF>GHvA^&7msHK;6wBx&YmK$ z0eCPwj?v(&(00ja=81c&Yu(Cfx4hgb&vi=R`A(VW7nk(bhSezo`g#VTFGqc|H85L9 zMxh`gE@IJ8LAwdVxuR!qHY@x&6?2-A$n?zZl#p@@`i^t-k)5oQe8bT9jq%vmIg5#S z6{~U*6R&6%hrTZ$}A#$k3!e#}GlzGFP$Up30)JqSP}7=bOuCEmpw z6^}ATzNl=*&}!&R1Vrrs=XYHTxR-+iVBgW;gn5oe*G(%dpLp_>r+;ze@f%-#@|IVh zy5sN@zc~8m+gDHi84#$rzF1gas+Ct;^%eMVo@0cbCF|CFlz|gd)ueP+QoVxzcXYc+IL4!BA2rk^8>4{@<Zy8gDb9nUxmYt6pC+S_I`} z-%-prq0{z3?d(8AoxL_;rC4sXGh_-mqh$xscJ%#TXhlxDQ{B)Tt<;OSi~vmm=%#hF zMm4atQR;2>@C0;HKr&y4*c0CjfwG#bT6Gc6@m6uRzA;l?IaXYHHNSi;zrr>utHA;&|4?XkSL(l%Mx_TnUTfh|EKGZJbv5aE01)F zr+QwOY6#gV-Q7tz*&l88(5C=^#SrzNSlw>D+bTz%0gDRTCGUnN3cp)dl8z~iKo&+) zgI+L5y?*MYF}xZJ_!b<%z?yAKZyH)%LvL-ApuhD>zFt|cS5_L;)mCFeYZpwdVw*L` zuKUEseB8ria?n0Q#VPs_i=XwmEtZMg9G^&%5EV@M=Ih*q=W}$9&e2;zVg%m;%98uf zq%5bYCwKPy^${LHe4xr(>glmxPQm4n2v_+6)o_r?)?A|n+{^cxt%6qH=vG(T<>hv1 zv0Yri!%}#zU0Uc=mb$eyt+{TtC(ySOx&{(~iO1tPk+Hrp3e7MKn1FB$KIuqJ-iyB$ zPeq<$_#zo*$k4AqscGn|Hoj6Ai4bLH3S=dUH_MRZ)XRQ)JX!iwx#tei-e^u6QkqIUR-hfq+wy~U7T1`|ur7+Nz(6>45+_Sk|83%`{ zLVUXvd(a#LW`cY!fKOu&?lsy3fZ3=opE>gI;XmJT=!st(dHVKOpZU$=tB;xW#n^2* zR=W#CR9r0=mYU_YPBpJLibktEVZBwhjkfPvP%whNrMzJc9KxWZhv z%OXZ1a1!60){zXCJ}{akqgmw)Rc>6gjg*;Eq%0mzDk!4PFbxWL0PQu~^>S_na2=pC z^1G${qSH$p^or{IolT0k%Q#6L*X`=v zCfLy0meKWW17fGNIh@!F+-4O- zSGtMZAcTOV!E+f#Q7tRwR1XV?PGL6B<*P30I-8!ig4q=i;DOj_H&eV!)!y#IYIU?(EUfGdC zkT5QBp@fP9NTi-?L|f={qcrg9g%!I~=G-DuPmURJ8vScfDuf6sCZQV$w@+F1EvAVU zTP;s08cZ;I2WttonSPyXn*`Xz@Ie4}Y%~4rDU0R*VExwvt zI9OhNwYG7*S(wpl^G;{YH#S_W?m8CxFV_Qy{eDb)MP*P$+DubU3&R5km0-cgTBJxR zg!Cb5gd%A;@*qi@q0X*C8a6CStv%v@*ZR`9QA$A0`zsvRzD5!xRixRY+f|7 zYGT0iaXD2oqSI$F8)27>Ri@}rc#`4~2GQ`z4kh>fw&%4RyI~qtT`PCmg?1~~s^{93 ze7j2SR0|U}niad-aI~gxb|ObleQOZ9!`SD@#DK31RmSRg4*H&>b99d00usCT7EqSl ze;Q@k2xX6&?at!sAjDTL0v_rzV@eQ~w4J0>{wTj>SO-9_w+`cN+b2hV5j+vtoti zCT_&poH-WTS#B8*mrbGHZO~UiK^bbEKwnw*%oG4=a2(5FC+{eO;vI3OIjh2UR-?Y# zaBs%G;+TWgaEu}}1mdfDF~RW&gRGLxaIcD>n9*>FL%!L3U_w&?`BE1_+dzdJD1R@rC$qWpsy^$DchL zBMZ3;kJAxWIZCqIqbaABWgh<;`*j(szpw?<4BrK9v4eq80TE;?DVgaltKt=hfeVb` zdulGU8=?itxC9mA8xZJ;RD_5~l4ohrtjfvG;-o28@FAN(hjU!b9a}m5+|r3B%Zmr~ z>VjvKfQX{d8Vuq%bV5h>^oHH3czPWHSF0gxwaML9wcDy`?Yd&4+XTw>WruK13SeF0 zB(%YsBcMSvA}WQFTd0(DMsBXtgQLmydHv0P7M73G>Nn=r-0mVW<&P0;r>9}^wB6qTWIZ4H9ucjKh>@*2eyWOCookhXCL)Ja+1PM zVpTF(LC#YBQE!O8>NeZWl~R7TQCkmu?ixirAc$^U?VRxXFfv0TUqzq^Ru-J+iog(mE)v~yXq{K1<(+oyE00*m@Uv{-B zjH>K5u#<2PA??)Y?sOQHSCmPGeOh((EeilfJCeoPOp1php#x6wmfc3==|pgs7#SSV zDC)t2x^g;262;IkjuIn5oR#%RNgAQ2rM{QgCX^+#+IZ%cbEm6?8B1G_oR-_Ib?fWp z^_k_dtmKYXHjY--XP{BF+-$S7*r~4IVcn@LY0aGL8*$>LDezSQMFy&s3IFV6 z(x&)o!k8D)n%#O{Zx*a}Iq|xV z-aswSLEm$9j?U3rK(JnK31!Lsr%{%Tka{qKvfr3H`+zwUfAX8O1resEY39wXBzp__1vj?{!}9m06e!1`gW>kL0?XLR%?C1aK^xb zegixPWCECY24fGE-h)DY+ZlxvFX3!P;kTxbW(YIohk{gI6IPk-0)3U^GKRG~SV?II z?}(!q4^x%exL^Xyvl+{9fcUCBR>OB0)Zr4@B<4I}$RTs@Bq?<-MUkYbNAX|FYNPuSrE9kskOV!8qhw+u_H&8KxZ;n0+&`G z$bvSdvD2u`w#tiX;Gne7W+bOdt_UTVChBX}j=j+)xsM(jI9dnpe#y`pNoe;|F9|Hq z>;|?G2X3EVLV^QLafbvBQ{R`ud4ao1m^g||`kTXKkob{jSX#YNUC*!2tuLP{t{v}G&)D4!SFZ$i zx1U5z5>^c+k}tSu=m2I0!`Kfj%kCn<(I9fP^4i>yc4cLl!gQwrI!fpxBbqp69wk7# zgg>&MABuvaqEtB92fpGkGE53#TIAY|(rWCqS@PXT>iain5>sT7S#@Q2nWIc1P^twc z%0*`vW~tB`?78wdkf#Q1!q~3DGOMbAabv^{`Tb;^luDLk7##HJbiFu<=DpR@#6Zi;`-60*#nES2dc$WT6@*fHaxr13r$Fu z+u#ktQ6EnSZ1Vx811$wz>!B}g4w69% z9&Yw*x0zdeb#?A}!z}ejai5z45LI$UiQnz_EYZE4G%f}M$aZoDO#qk1)Ecg>!LClq zDHY8kD+`mo6XBB_NEPMhJ6qMY1p2ZM@TDxDPYT+r1f~czM{+zO%)6BIz~i6zF%6ZW zy_`cd8YbL5yBG8mFNvJUHv?Dq9nICNR=a34a^2dxuUBBVk-|CXdydZ0IeH5yGh1(( zvgH0VDa%RhwW93z>m^uUIydqxpZMr_Bm;H^+zN;`SA%mZA2h1!+|`-Tw_ROomF648 z**f>PIHkCeJ3WTJGU2&Zu-jEfYX%DX286zF>jAyEkafHf(HM(z2WB;6O*n(TaB=Vq zI*Y|y8hakoERdK3Xj{-%(C^vM7fkfK1%1ckgj>?sg_W$%<{i-#<2+LvdpyVm*`ZR2 zTHGs`2gnBj0XbYE3qMI5!7K%YRoT?N6IN#?#a2I=GLSQTCXV-dy=>;iBL5pGEW^vY?Ra8lb65JSsS#d{B`U9ZKlZRJ3iBrSckt%jB(l z(RVoDsa6pKYM@Q|^2j%1-;6vn;x=H4b{y+o@0o5}(;I2z6E#p1_>Kv(iXs4J$CoWwfPu|U4gH#n{UUqN3pU}R#hhgjp@Tby z)oE1nE4AWkyS`B?t+eVJ?M4AuDDX6H_Y!*mmXbK!y#6Q+?QXqQ$%nozYuMEMLn7PE zmSytZA{aYH=%cHmRyY#>^%3Ny6lSNkJ`ck}7uRVS-J)x^fvlu2(%j(>G+Ei1FaVl@ zkdXlI##Kljz}`06omNFYO;qumHi|t+<;z3#Sdssh9Z>cYC4!a$V*-}68}o(LqrS-< zYti{}gDSQnsS;~OXP8bl4?MleF9x{)xQ%kBS}?m!bY!^J%uaZa!c^E+w_|oXh==Ud zg)H6e#CoF9C5#*GZljT3Zsiv}qXQHy$XT3nB*5Wdrh*bsgrdgzlHbn(-7sopXgDC9_OTrtj4aBj4@h178D_g7!j5X+I`JrQ$d{ zx*epL`40HAjcIt4va2qFGr;M->-iq%x({TZbM`DTQ4o<3Q_6Ayu?a-uXw}h(kcZo> z=jUI2=B2xS^um3Y7Z#sPqBhd*aa%c#dZU|C_gUH@P~ZCOtHs$viPr_X?k7FAKNS}} z+=lgn=(3DRK1myrTdmrmh_mEkp*SHUoUO9w_@;V^Eo^iM1d1}X5eU^)pGQze9&k-+qtsT zD$X|wXX-NKTickyu{j>~?NnDY=-a6{dfm5LNQ5(NJuC1m4*$wdPTc#JH8KEL-%=1)ShfpA|2D$nMDd{zh8LEc8gb>-?Jg2~t5 z9pX|fPf1**=%!gbR~eN8Ko#6LfRmKOtW@MD0KMGT%Hw2gfN-v)ni|;?I88^Bm=ms5 z_ViT`;K>+uRxn1(Mie=g2&qOMq{MAA)OR4sQ7_@NWPlSuU$jLpbOB=FyRh)W3@cWN zpUpBCRG@FR))z9w8ORxsCY1K&Tw+1{s0&1MwyuJxsT9#!M6tmk1~b5IWMeM3LvUKc zJAR65wzE+bPvVTDk(IN8I*PcUTF?Q?lV0_h*>K9O$vE?DaF=pqd9REfhw|Cv5Wr8q zd^^Q_wL$epTf}}p3FK>y(MXh2Tx9rg;~Xh}DZr$J!cq$=5~?C$y5Yh@xN?99XmW0) z9YsKmDc}UFi5oL9^FL}X1ElcQZL=E$b`L7CIgFFAQ7c(mYm-|12vu}R6-k&SLW*=t(T<+kEUuks)t34_kFnXBvKE^9 zBPWDK!3fm=wxiH7`5oX&r(N|dy)U05&gzS7B@YhX4%p!GDPTxd4_pU7C1s^8h|TK3 zrxqXr>G`hJu2(inxkar}NCN}VTykgi*`}OJK&DmUi$WSha6d`iYfHx~g@tx)!`5n%s}DGXAVKlsAhAs+3L@qX ziBMYnCq?d~sKa3p$5!YYY3vRMzSS+|mycUoX*3M_anuW;vk;WL=Gf{BC<9+&MIoLM zv0Mc)0WKVwB z(taAqSHyw=zdw&hQUHUZP_Tlu3e|$;J7954q)V79)|P!9on><~-W(tiSP3h1yRO+X zyX8(}wN+bbl$R>``TXkX^`)8o%9)L&Q@N#6wZd|%yw)tQwJMzZYP3pPW4Te{hp7@* z+w4V964ZClk8E4BtghM*iOM;)YG`^TxDKA36NYorfR2dG_V|eKWtgnL=e# zSR78J?#tUxStdUihIV`P^nvoi$v&RfcqE{}{094oQThd-gL+YE90~v%_@jZ{b&ZD8Epw(#E2lTsWrM55R$;D@lOf-Y zG4z$SzAafnB->o&?M~UzYM#~bop#_7{RaGc3ct$&3>F6#Tu%g&(2lt{&`H&2T6S>c z_P{Y15W?$cJf5-4flXPp%N4C$)VeDprrOYJ@PCtQnWyik7uMo*ci3V}Vf-wag zRbUqe_Lw@RL~bHa^}+&y5diiOj$WWX#se%S?mnLXa0|An>Es8`lT>*86JhmJB0zv} z$wA_IbNnACWFSS}2nZAQt9c69&uv%L89CC`gp?H12ZY-I7Z`vpi4s|Sj*6gOoEbjg z%K{())JO(n{W#mI!~t%E0t4P>EED+UBSwxI1yTb+@Q{#;k{+4hHbc&e#hZjT3cp6V zHd1rtKGONjB#;qLp=T=B4(TCnP2zpTH&yI~U!*`Td zJR{uZx9fS^tZxnh(oLh=@NJ!=&A=;G7uXM#9RRn;?UE*o1iyXM4>t$?Xb=p09{hFR z?b=2|?^L_Zx?^^Hw_}@C*KUl4YGJB!QgIi*HVj-EdYb37Y`tnUHuT1-(ORqIPH!w6 z@77AbY4|o@$|Sz6I1Qks{zy<+Ce`t#K?8Kp9{Ma1C&z+-eusemaGp0E%d8g`?QSu2 zYH83Bh~63`;^U$`G;@lFy}x8ZuQIb?3&^!0^OusyWDilaMdOjn?c(ajUXa z%Doc$jR9xu<1_#&*YQ%hvvx=BK=_`_y{vbdrEaSX3)xRO429H~^EQGE+50kJlZF7x zuF*wl(Vf!>&B62uVF9nuOg*$-wNqa$ZOk?*Yre~IKPWaFeRPM+tZ|f5*)*tBI3&x9 z!X$#38YSr{TUCmy&{)+aRX+lr0;txsX1QKiD6SkYEWc7&J<_hO2o4E{+(S;e=ujTc z1NMB+4}1>PvudJD&?*_(1Agfb(8WyG=>pXQoJU@xxOTEpS%HFaTrxs=dVIez)eO=o zu&;e!F!W#)Dr-~rCiav};5ZE=HHr+q(5$ZYBIu+v)i|>B67(q;dzdwOc}nCTrBM+3 z{L)Mi*+JxlG1!e$FYO1tLDcI8%CX|=tCjWRt>TUOtmwhMZ5qg!9=R90HWg+_i>f!^xI$;qg1t2o~-FLkP`h-tM8W9ZxT z9r?!H6!aaV-!TjH-IZlPc#9PPR-c4b4A3&+Z1XA{x3fUaZGclDH#kH5b}>07G#$g> z%sV`b;rzWWmS-Wy5>rW*Uka5kMe$=%TWfI@bI4Z!Jm9N(sl3G;C*TgfTO;0E=r^18 z3`Ybva(qT+@W%YeDyL5)4v-97Ue5jI9=}c;aEWi=nvrLt?!zSFShS!)9D#ljP>ht} zMx4cPRC@%6J=BN;zhD#_sD^%gAC3_htOEYQofKDs&ej`aDxn;wG!tTnmj-DdfM4Re z(XEmIncnMmo?O~uI%IU<7(ozeCOR3xhCl+x3>^yr74{v&bHS$i058XHMXLPnh?q-}PLF*@+O)Uhu*@jiPHcfl<++Y@^+6RTB=2 zrO=rqbWNk}dS<^L;}(%B%f_Z5080der81Wx9`IF22sji6j%74zfVD&x-ryx53@jg6x(J;vfGE{9oAO>N3 zq5LorQ7^V_qgF317guJ%<&A|#W!>yneWwjhB8TJHKrFH?IT>x71W>#%giS!A?9tRB zhzq&GoFMrTngemVzT1^aI$^!Elv|w%-1g=uX1=`?MUxhg`vt;*(J5r-C+H!22~(5| zl(bbZ5F><~VnZ)>n|Vl#@SX1|RfozJ3WR|lghm*F%{aE=#EugSfe1E}J2J>hoUONS z?6>IEs2%~GV&ZIMo{ajzpwA_mX=nuwM{#YfuGdyN#kp4gOl|FCW%*cn`52Csl@o>4 z`QrLgrLa;jZ*-ewsAFJjNnrLIaQdwQI0CkHsU>^4anH{9N=E`9;N9j{x)Kp zLJCxKAYZPRw1mDCB#nhU zZlqj}Q9AwV!}X21O?d>P@Je;TxXk(*-N?02Mpi_iZ&se&NUDW`r9o(Edd<|Ecr=Ti zWD#DAeOvi%W4%-3H;tNw`FidQpl@~kBpA@Q zk>?K2?cxHUZ@0F_@A@j}tG_1n-HCpuIN6mI7>>w5Zt$rTX8@95I2%FDAn`Z=MubUx zE`{}-jPWy6s5k&L?ZrUCaK|G-p=a}JLgFpXra}?8_W6|*!PQ7P0^$WTFI8YEGjY3& zSMyV}+|Xzz%gJmZDB;$G1$QAM4))4td*qvtfv2D^7;$6~9a0FB$P0bIxvpo!#n%aa zBcRrZAfH(Xvj7=S0NZx%aa1H5^5ukQfzTcc-$yZgG_L1b5h_LRL@?g2DD<_MzS1<( z&R{CCM%h>-_`w{{R4zNb9PtQMSUEismI&(h$*Td5Z=^|>2`ZbSOhy>`pz0E$@E$bH zr9MEyYQHpo`qrTkI30h%lO?cJt2}d0Bgk$WOX2-I+5CzgfTZns&GQ&)a8D>MS z413(n7>;N^aece(*}y`Yt#yq~Q|pv%qZN4;x)ll~a3>QL1DpLQvNWv{1p06o^?Pm# z$PwtC)3)@w)-HFN#dagFH;YE2sMYg&qhPj5j#l%HdSJE^$AJ%E7{kWMe^Cw@9ixc%!OjU&%Av}&`y z(X5wrt?ly*y?k?oCX+9AMg(TN5qlFgWc*r6G@t7(2eBVHuCIG;+qJ4@YXdsaEUy?{ z?qMs6q`Cq})mTiNQK~472a^S*LPzB&8xSEO3(oTrZbMxLNgTVD*{(E7E0x@t;_C78 z`l)Vp&DN^1r*oyZ%uuBb;&>ouny{M?y7XX$e9z*7>TJ9h3J49%M5+kYi2@ti!V&Lb z`uwktD#wsoi?5bgEZ^Q z?DdMrIYO#^Q~`BiebFpwFXra_>gBI(w6#{%wYq79ZiVZR!4QpL8g0vJ_WO<`ayB7W zpKw14(DdkpN?eFc0gu}yi_4!Vo!Ujr#a)^3Reom??qhjb5_TZyzD)N>eXCtu+P`r8 zvDu?fY%Cno>T7}1>8D|*k)MC{(c1dS0Y3naii?1e{uufa?+-W4ZvMpK``g83q{c}U z@&Xi`6&uyz2aPTK8S4P+0(q%Y?Ly223KTm|N9)#byNF#~`x~U>GokG4_&n5mf_?#p z)v&PY(aL~ivBz}wnZJY1LEm$9j?U44B8hSPdnmjAEu}2!w}N1lCw5u=|7k>Lyj z1Fk40lpV9elV>x|Pe+^FJ7IMm(G+uAtR$2*#@hmPj{hn%a?I7pDUOr*)l+acOMeRV zasb#sC%?k5FuZ}Y8A++}Mm5r?cpL^O3UE~|E)C_VW;?4}RLnSX1K;)>&9&ehcYIst z5=Rz*ARm5>fUAs?I6Jd-QqE-2Wc(b0%7#X5894JdmL*z=kvc8YoX$^35+Zk5_{S(mG^yDH$)ER-Z&x9Qsa(Lb`Bvf%#3(VcFdA z(RbmI+mID*&*nJ;`A@#s6m!hH-xroK_Gz)JGxAzN%{(VICdM8!!eoK6is^+eBdK8>@AbNe?G23Y`R19ih0gqKFl&&aa6b#oMH&5fDEPwapEH;113)%whz zJzEoKgiI5N!shp2xyvyi1f5qI_3g!Ow^?+}#^y-Yc_uzOBmC)fJn+jQrr5KLj$?5h zuS}B`N11;34(1>aa39bw`l*_@%Mm>87~nW|$ubIt1}@patFA`(J>fRL^f)&G?kyeA z*Vj;z@#eCMfz_c8XmL(hh+NG#+wvu(s@^Phs`+Mltx;L*v~ulsN$XZ!r;+%zZgpnn z#k*d9;F`k^Uw!z|pC5Yks+S(R@&Lk*UAK7b$!@EFF5p@mjwZB2!zXT%s12ovrl|Qc zYhAj4TG~pJs77)S#u??vPKa=kD-(M_p`6*-A4RrN+Bns$EkmlfAa9>Sh*E3S+l`Xm zsn}+nnG!#M@t5tQe&UE+c96=408cD5QGp5*Bmn!R{hnuNm5t>SD|3fyxziE1GA90H zlQHrLo;_a<5Dy@IW+&R1X)IEd0X{qe5CJ7dPj@*PyH&3jHVP{Xh1I!gez9BM@XT5- z(l-Y{yb0P4YQ~}w>28Kmhz`Xdkvwo|=&_eMRJo}KmI{ktId?h=U^Zxx__oE@N*lAK z+%j@U;^<|ZZNb&5EHe=oRTuaWMUHSMx(WM>?D{i)v8C9LBKZuM$1MeYr(40ZslE|= z4iqnYwYRN9$@uWu4{FE-eV-pfcVI?bOLO$Lt+kCtp}RGTd%UuIth#c%wtAwvFu_9Ckb>I!ycrK@*~A9&hmpas6jFoEiDb)6mfB4wm@GOpbohxB}u68-2R$XLts4BSw6Y!;zr)Z6x1$OT>U#?)Ox~` zA!W`g6knX*DUpC0nU6vOb@h^B+>T_PL}gtI1yDoK(o(pWZx)c_+(4&mGPQuvX!(d;KK zvf!vylJsIHjjSYuNO7sIwM)&~dbd%Oz2BQj&<&h=w~_OV)~L^6YK3Gt`=BRV3Ja^D zbyO;{H2F}e)!qn*NO|Hz6T$A$cm%`2sg5W(CyQoCK?1PP-9{~nlcFBt->n8B*I%& z)>65xXAxZYexDYUmhz)j|ljd3N5G9>C0-fnmFc@k50@AL zc%~nxk>lG<82M`cOkwRrF+X1}F14Bk&+Yc&07BzSjv<7V4#s#1g&)YLYZ7QAY)cZL zrErw-UI!AE+zI3+wL_4gj_)-B+!MJzG-uS0jCMY^eB3gC+c{264Ufe)^1Vn}IBvjBA@-it?RI6%+x z?ZDD(t!1_w-CD6;SgPa}N^7(EmDAwD>gnRzY-MAtfba5bJcIC@LVxTu zE3k4hNgfE3SUE{N$LWB3oWj6YYQ0oJU#7@Jg#f_D>94%gRbn#BbuCz291#B(gH zZY<0mepIWi%8NW1c_rYNBJqu$On4q_cIvA$M;T%l(qUBr|kZ>l(MAX0#de@##g0^FrH7- z+gy2O)6pt+r(|-Qs}0%aYN=J2Z{)Kbp6mRq(HV~VmKHmeWv#wuv~pIbxMRZeWYm|R zco6`saBl`aWwWcZ7yVA4Z;Y@y8R58XliM}RhORP)RxuolNq7hIQa0f^Ot?Ol zbxcElAQPTdMgl3}cSeX0X97qGx$MH+ph)p#FYXv5BfuU~b1k4&2rUH5LS>~k zxGG`<32ycf~F+&MI7JN==*ZtpcHzV!qbiiz!$_XsD8{bw7_nAddblWRy)_OEEbk$ zI^|q1@HyZ`*Oyz%aX}^yvW+#|MwFdP3Am>WnSNvvB>{B9iMm?)T5_S-fUHnaoB-MqfX#YAc$6awPccFV?ZDLo z#~MU2Kxu#n%=)QH;SAq=$;1%oDAE~11N#vW9am?>Vd&bfsRyowu7P~GUIU$ot5ML1 zvd)6#LhaZLN|rr-;dv!=+nkTf2^t|4-m`3zyMMQu)n=_wFU{8SGv)OY#noelm7~Sg zqowuZmE5UDX|Y{h1t#~5O5`@)l zp(*leMM^+XGfe=;!5|F7B;j|4aayT5bCUcd4hcmDKtoK=!}BFX5m-6IQ6(3^IjJiv z$SQKKKYCP(W*P)|+^;Pjn?3e?ap`a?f3#gV>9iY(@9{MWCl#2!T2-(iClmY4$)L%P4IVw_N$V7!fA|d`%=M@17Prxva2rC$@qNy8q z(AnqJnRC$h9PLVCglI^F`1>^o9f^Hu%vl)yXYz9=snp0SZOKJWoTLA?q}p1MvSQhf z*G*YMZ;rCG-YoGkb2bAo^b;Q#DRK=!U*Bx`M#I%>R;yq%a$1dZp4;WcW^t}jAh(M1 ztwUcEV%ytKc6H9axRmDURi& zTJ)=8l4Z=6$0-;*&4PZ3sT7aVX$D8PmmwRN6(@`URl-1J*?^m3;37^*1t=ZER|Uv9 zN~w4|^hLcCl$G*lpYz?~ZP0g8DH)4KfeG`r4U^(3XMy@)1008zd``vzUV zF&@b`emF|NGhldleeMp;BVe%F?3%j_WviekTYn{i9|LVhE*WJWa~!(~$3@iyRJD&+ zkOIZg7{8zTU9 zO5D*9FjXt(=jTtqyfSxKZ{^@FLv)^RLr~J7gdD13QgnK;fY9wm$u(Oeen5DD>>%EL zF9vo65Bt0kGREDw5oHDrF|?-ZXh6AA7a=B_g;2X8APc=u+2UJHD!7VvAON7$Cz640 zo^VBN$j{@fEg#RVo-*4_my2)PNn`<^$b3{58;{>{J4@L`t+JoJ9`p{`jG%J-vP;mZ zZyfmZ-G6!DszZ-mclgntzx?1&jy(3WmmdDvUmp1B+|h?Bg_GsnNvl&B#%AIf=v=Aq zMy}aQnH`6hGe@8KL{St30i08oJ1aKvgBqg+XALd^deWn4lM7}E{F;s2?8%q%ORt7* z3vyI|7qfOzU%SmV>@eidZ8X}FQybhKDB&Rr?81+>!i-ax|JDyQ*l~!uG1*=o( z%M4*iio}wl7XF}*zOUI zlsWGvACzn}bcnxR*f**DaF-Ig7X{=RH7QQFq3t2Ob zOxLM*yLrQC_?`>n!3gv|xR=#!LEe)29b zN`*Lq%vh24K{%PkVL-wplv(v?RwV896RxY?MDtsX+`|0vgDYo_RCBY<@tL>E%D>Ui!o8{yW!R_+9SBJ97tqp9jD6`@+FHJM;Sy)7dx_ zS7v%vedyFTV_R0#Y|8{cRPOjgK1ct(NE$bziFtZMlqK}$C`;?j5}q6x+L;ayYD+=G1i?RPeML{h@2A}10RwVRus^f@$@h$kl`3BZeiVNR!~-< z-)#VRoaqjhInP9xlTlg4gu7>PFHv!_A>V1}%h7Dkre@issGR5vl*_ur{4mBe^d-Jk z6Qn1zqviHVX|wVNV3s_j7|DdbfdyC#^veaYA&ScSA}L7NmsP%=&F`S#u3q8|;nMYh zjRBI0b^xvv%P6H>C_=5oi>Jxn@^Idks#h!8bU?}Wfra)5(geY>&thT_{C;Us#M!t z!QUOGXj$|cc)~!nVdMe#Mv;em#j8~A7eeD=3-s+Y%dXXu;Ulg9L~Eicp+9D~3Gjn> zQg(q{xOI?vu3?!S$L5DLStHa=?EozDLV3^&A`gHeo8yXn!(`9 zGlSTqC=?D6k)cu0#UOAnu&C5altv*IYL6(4q@TSpzyfBd603%~4{HdLB?Z zQkFLqqL~?QNr25P4xP08_{SR|b%*FoM&t7!6;xq~#3{k(O%~d>pE!;QjVc27qEkcm z3i_d_VPJK-b;s2QL-b;(jhG8jBxst_C>+PQm!L7rNl0afsH#n&_A<}kqh@aPI7U-8 z69M%TxU|pVe6}epf4>iF?-_c1`P8AgSDvq|o-!I6?ec1;kxxQ{Yxrq-(1i;V)n15Gk3HL$|8-mdjhYUP>Bg;r?yjejY1)z z77(aHzlspX8Ff`f!!f&gOy{8Q|9BD|B4xkF1P{;a1dSDa^_AwCX9_R=X5sO@FaP$N zfBD5%pW1uD{a1YA_uu`9x^2_i3&DY;^?+-rk_|HE2%ncVD`PHRMkNm9k;xDyRkK3z<;>N$mS@*lvt*>_LE1lYMr?%3quW5~SqnQWpbvhMCuenCkHQH0q*ChI# z8uHDcukd6kuR^mjyI3X|3y7i%#VNkr)ky)x2^=LN9b?+p;_1i|Kf5IZ%o%3|08egF z&^P1p0@|I-K@29Spznku1z!PWWyBaxJbC-j@q`J631}6|UQHY{26KFG41IZ2iHBUi zo6Q?n!c^cV34kgkj>kB@qXYLkX3Mj>KAIpKd{*xZP*WU%kh8_89DvQ3!^LMa(w9*P zc+aNq>Yl3yp20Ix;1JNo*1^aZDRa>s_fH-pUT$zr?u|bv1-J`uWduk$=#vRQCw4Q_ z^UQ{dqeFj%-WJg>oijCj0G~;rOu^@H9uTH$MrUp}R#zvCP9QAcBxC-h2Sz6hKD`2~ z1o?a~K*S{-2Y-8NA}&G*!@(SK79^QtopAV50$PAGHHr(M3wR0V5=T^l7(RR5poZL0 zp6tkK%GfWmM&vm3`w8JLhcYs+4l!{TJY>2{X&5FxH?jge1Aw&A1d-e4up40~rI^)I z*$tE(ezntWRa~>h@l}q2pjrGLvq&wi1=z{aR64jE{YHGctH3r%Xc}EGA~QK8NQo*} z6`+i|hZ>2~tTKfpv$jM)`F7%`0%@dl-*M|8(YtxAotKeD0;nVmJ;$>2w$`n6+odk- ziQNqXD@g$6QCiNo9ga}DgbAV0@afSUT)!K!$g$O2KXUx}yAC~e+slvK{K`|epFVJJ zZTY28Ur)TIt(9_1Cvr>A-G{U2U3H1Qd&lEA!+tKOPcO zT1O4UKj{LQ_6r_}hC|=;w0bp%3UnIfz%lq<0BOoC5F|p$U?4lu4}1O1KGcNmAWi3b zUaL`EI<}&(6TW8fgX8X-)`Z_Vzf)`+IpQsxMymsC%~2EczgbeMMCj?y7y|=MdT$hCXnwj12QeFwRr^rizLqR3Jj*b7D2kqs+VS98c7qsR;wW`z`#+VGBJf!;A=rU1 zu^U$5bmQcc%g^5a>fJwn`sT0P{gY4s`g@=H#W(+B&sRQm{nyT$@ZPVVf5SJvaN}1$ zyYFkCx#{cVo4@v{o4)p`o4@uSH+}V!H-GgL`@a0~8@}|hJzxCzo-cml`pZ6k-K8J9 z?vjsOd(nrkzwn=Lx%551`RaS_{m#3e-SZ!(?)paY*}dASN4)&21FN#x^S2BQiz%J$ z&Gn^o^#6Ct)J+IxXkv+8KV=EMIm*&{b0h{f8(iAXoS)Y3aef*ARp=VNtpWYIMgwk# z-L06NqS4Olt(*pKZgiXLID++79+wco2JST*zQrM5-`*PaCCk#y2~VIek(+{@W9Zul zCq6u-sgcQ;v*u*~WCfpuL%8i@-Ws8u=4}X;Ea!O~4;>Q(X1JGSn1a58B>Pq{Tsz1_ z@iyoi2je}QGmI)Q)#J{?GGi8HR-8)VdCPdjI2mto1dh}PindtohqMLYnWjKrz?;wo z^vyOyl96HJSQG%LUeK=-xi%b8&(>s1+cq$;S|}@{&}0aon?Jco%0^_c3JW9guCO*{ zhJB}_zTxS@0W}*o^ucPXFWDe*u-bGAx63?j6bWTkO@MZp2tSmCpgTAkaN)5U&m+Uh zQ_Rn>Qs%LYFLCE*$Pj{sVgQmsQ3)M0^r*HkhVvvW-rG)|T%9l-AYKw*D(eEsm7rA8 zL;%h`S_c3aSQJo}mnI8$voTv}CKVOO3D%v!UBz4XszPor4>CeJ@H=rAVuBH1%BVGK zH&tLhN5u1EkvEA!LQWorR|%gqbR6Hed;Lg8f#513qs(Fu9wAGn)nRQox0avj@qEv+OwDXp?RGV^I;l!SZaPL6?!y2!g3q=E!{z0`B8R=1vO|d2XeiG13N~`CL0p~ z_kxLaWic*#3qMN@fE+l0zECr+ycnP$xzh3}-)KSyxr>$44)iM6?UwcWhE`kelvk?j zvxU`@!)jl`DS^sUE6>f+j`S?x{+tZftf-#5-1_jAk=7c*z@#qyE>Ofy6B)d zW0W1L4Y{#XP#;x?5{;x*XFsXNZwXB)KZzO285PJPNx^{fVVTj5x!W9UvEJ6(TxQQP zNpu!6?&?L6V;FVM>kNn7229>lP#3a0s)ctQXsb*jUw&H&FINLn{ILw#o~E-hpbK1$|X%r5aK| z2+y_j(6i;u)b1n|VWsewb`@G51-9O?jSkEgUoR?+7?Zl|@1X2{q3qOlQs-3!MU(T2 zl)zOVgxEpSJxPeBj_087|1`>!Bl|@f4I?{jt=CUKz4**8UcB>%_g{Vfoj?BkFTV4I zz27*0?>8^p_w9>s`p(6__}+!T`oV?2yZpj?uDs;FpIvnSHJ3iJ=SxrB`jx-@`kVWI z^R1VD_w9pse)px{erNx0zx~3mzqS94Z~WzsuRnYHSD(D`l1Hw+@PVIw;hvv->i6IK z*ss6&vD?4)Z?}B;BR75VBYQ9T@O2k|_?inpc-;m6=jKb^_q(sX=dmk3c(x zfX$2q26Nz)0FpR!8}tPOo^6M|3cjWaNN1egMMlX9kYx8G%98>4$;p}1>GV<}WcbnW zaLMBxm6L=ZDg)k91(ZrbU&RQkax&Ab0L1@zgu?{@^abMe?5_BQrb4`sunORD&$b{> z0zkrKfLPqP8*8#nG_ka8GzoppmfAR4eK8m?+cvnzvdT`N^%iHvmeFi!bPit&NZxv7 zkg;IqjM*+^uDeb+_TJ~V}3G=f`xP|*mw#Qld;G_+}SkPe+-mJ_H50%49w78>i= zIwFJsx`grcAcwugcMQl!oYBlGD!&aza$E*gco6RDjo&#Wre3O7mSfkVR8T&8dgw9` z8rS1-W365gM~-W2hSt5RC}nQ8z{i(C_iD^^{@ zF>I~Xsl(`1U;}Nv-fb1(_ctnQj@ba*;tthAB1vgqpg*I-O_Da!lrzAUU6lY$uBtgC zgql(TpeNGe05O^DpeJzO0cj$~>Q*a-`C4ho=#-Pt61>XWLDVP8i%SDUX^CPZUo*P- zR(++EKb>1WmR~zruPo@DT;g>`i8G3A;0-Su>+S}=&Bo=X*YvLi5uprxLBb5i#gSH% z0K?EEg*})*x`yvLj%_e0ZUPqr10#&?fX;<8(x=G7LDY*JE~2qJaiB$h$7to2W)7^J zdKoCUS<)+^m=* ziK11C5#|Up>cg@@H~V-_HOdP~By;%3wGmbXIWj7kKv>nCOk6Crep96KP?7|xpV>9J zij$LYk|Y64dc@7uBj428b*)uLXTx)CkOFKf$@c=^(DgA1tGE;! zHK&oQ+8@M!c|d?t-N;p1ThJTrW!(lUbF>{=b-QZ9FmSS zA?QP72ldtR@u$x`dc(87`1+lfpLgrGzp(E+m)!LIFW&Z}Fa7$*U;M*Qzj)u(UwVAs z*Pp-r+b{j$2Qv@;bn&Tc^ZReC9J-}-{Fla=Um2%=qo4Y9>-g>UBe#}cykY&>>ldHC zX8!5xmY=?6;mK>xJaNtG$F7-q?8@U0{q*RcE`Q~|A058u`v-pgjpu&xr6+H=h zW{=8jG)n$jo%0<1!;-Q=iY6B74N;cRo1-kPH%ELl?FN0}^oYx<&@VqFLZsvY{laDG zdRE&t8;()4jjC-_Y#ng7WNIZ#E89BGaD6X8a^Q3#w;KZV+H#apUqD}la@BEyfinQS z+t@DbZbK!{pkCL1PYoMGTtU~n`5SS1rKPQt{53d$-p3(nANAPh`J^vh|zG6Jli zFJn%=KP2FaqmJBAl#o?$FF_6*KLXt;Mlpzv zSGod>0mT8!p#X&I8Tti2lmXSOgalwRe5&w2s-Q-F6Lt3L2ECz%}KJsW{-LusGBoxq9pwq027}?c_0#M)A~{Y{zdG zrR@aJnT)m21B8Zu%$FwI9nH<=b>k>^nW!T*N?rjd%nadV;F;m99Th92Jsp!wbefI8 zb2dSe?XE1N^fGumc?}`ZH1zlZBqRb|60x&sxYI0~k18ShAp1hY&tYyF}rk2~ZnlXSVr3_=9vj*9MXup%9*h<`^bECz=8= z%09w~JGL0~`9Qc8cSRvkPkjP?=|lqiKmuGT2lvwJw5q;ma^)v4q1zD%2%}QaPkzb9 zG60-phBJI)=$5JRc2)9mAwj!A2s?)2;Rb!_(`n(rUL}aE)f9*2BjhKhA_or`gnc5hEq%!$octYPq?> z@=QIyV7Bs}UiI{f+pW4r2P# zt23?Ailx<~z~Suo5o`+I^z@J+2b`gI9J1Cs^}yG9eHV_DOiASe?(8kc7E$Zal(LGR zFGi^lv`#E}6#ABFaEBp5Vrbk5f`EPCcZPh}nVzqQX3OqW+U3>C+L_YQiR$X9a$zR7 za`^PCPnyG({^&#ikkmpjJ@uEOqMHbU;=9O%ltO^@?<+XZYHKvME zawsYztA0*Ph1=56W;o#Ipf_P)%j+|<#~y1}&TI}M%9^c#^kGSGD;pEi?x&w2R2oHc&5mbjc$%Zg3jIp@ zyC?E`2=`7XJM{)ByLmTKS8+TCeg6m0xXBqrr;7c^s+;SFmY=@)+1tMJ`zybA+Yc|f z`3GP8<>g{qwIryyu(G-1hy$cm3qlW7p;m+}fJC(_OebTD~_~ySKOYr$O#d zqr!cgg?sxOcZCbTGiH9(c=fi*%QqGF?^}Ov&(f1u&p&m|+|$>bdgNy(9=YnoqgTB0 zrysp?-;ZCt|3|Mr_>-d#{P@-Te)#Hrmmh!NiW86g_}GI0!{6QitFJzJ!$tS}ZqQfewQ*S%M=1dSf+XTcN4Z6c2k4@C zcH6a@uH7J8fWh#g!3Z=R;9iTvfPo|Eg$PF{OmeeP-wDK380KtNmnHxhS@UzUa3$&C zrSyGeux==O1y7jMWyx>>`MKI1+~cU4`Vi3=+X!H^{oW=VTvQFUklnDIvpTztmk1+QK#*rT%k`1mri=Vxf!B{-iQ5`8cH|3gQ zfPeY05d4WPj&PJuu$;}@XBc1`mE|(#KoFq7zY)M*8o*We(e9qni}>l_>Ac`la5z*1 ztHwnU;Ls@bO0gaK=7a-i+L(REaBa=8x?luci(&QATE}2OYN~sd9Bl)*2<+Ru5zO!O zIs%(TyRv<=WqtvUacD!aWexKdhk+e3%an=S;a`(mfTX<#sm^ zK2SQ^9s1zA7BmFFl_RAbEJXkgoEpX>wIEa?W?QbV)69oe6r8rDUp}b_~f+)Re{G=S{(> zV>RmKRaglo%cZ>Vl4X`8W3uExSm@*91>u4L&_}o_7kpf(LCa{By44)Gy1rOhpSSd4 zySCgY&H6^cY6JSNTUt2>uv%OhrhZ^+okrR0)a`B!7=P6F1INNSM{61Fs$;apG_m#3 zOn?tcfRMB2SccX%IyI|Xr|2Sk)DK2IKMAszKBnF>jE>D||DD)wX{CjYg=3voxu3e+ z>}LeOKanFOj6Tk-;|RP2Y(OGW8pD1KWR+~_8|`|olAG;T=0m&27m_{hT+E%|;xrAT zUX%b7^+Me<8{K-omRl&VovE$QxAIGNqnKEozHiYGQHv;k+8qd;a;Hq$OlaAD+~eLr zZOdwTzL6w>;0lO*tarlD4nf&zU*6jA%_B-q$O4rKWU&LxJB+;MTOEMyRy9}LSOnLK ztJT6{H9uckIaOFZo?ke=F@FqaI?cRg=BkAgD`yULt4n>qGYHLLDl1&j)+hi9ytx?< z2OP4bqTrtbsn7;UjJiS4NBAep9H27mF%nP$-Te5^KD}TWd1YT)lwpp1Atg6+nrBR3o zfWA;fCcMQ`ZPb|=BclPH%jl{QfG9&&pmCgW*|u7rH==Wdfn}TR&@%@;SW%QjWWpGK zKV`W}qfGw+Bw!9*onvvDyQ-X?mY7FO;6nM z(_dZw#oI3b%CE2d+CA5N^PxT8dg_)R9=`KOb5Gq^nfaqxcqDH9dDwksv;FjD{qaHJ zfpFz+8p8e%lpSkrbf4=#PPu+YeK@xWzXIArN7+qmHof|#=$>+@6bKpKYZ^Gk3V?%%%fKxf8?jf9{SO%_y6$d z{ogE7hyYc*Y z{PF8=d->*1SD(EmTHn7JblEdeBmUp2;5quQMPjL5FTq-69^v>Wj#)x)gw*Y4Q+8P> zJ4He+d`L|EW)+x(cQVd%gn$f3hr(XNBNrZj;Oam)!foH~_?GSie!$@~yDAXa zI@vXRHLN$auhj(H?qHk;;1PT>KFRsdG6gzv#`rT(GZHzKD@3|YiQiLpG}d^56A8L>-SEN7q_3ah6{z;Db34g&Iy zoSrhkd>lKzuSb!Cx+}Yen=;)K^~-ol8!3=}s*0pM^FG&XvQnrKpcudy@*)E?%7;VA zgwWi-nm)I0@ofbzWva!YT~r?xR}ugdCv(m7F6`UT;kGBtuq=lL(%~v=F5yG5Q~LK1W5&S7JQ5_Qz<6NJ ziYLraa)7f3>GO9b4)dqhsHu-P&PcXh>ba*4et;tX?8jl zhjP;c&yvVE4~Aa#IZ~9hIlNYx#E>oIhMv*kgxbK%3_Yt=E5fQ|Kwaz=y>6<6bm8%g z@vNxyt-a#e zHK0)2Hae|(yPh{%YrV*UOor&ZkrP@iSFbxp3wWNECoqBKjBZV9RZO5_z2P|;$AJZP z$;#CTstd8AAcKLQq<)8{cB%#Ncs^=7eFSSYTZsO3*rH%^sSPFB`tDyuWKjWgi-#u>f3qIdGP zS#|ZYuU7)I?pf`mAJIO>oqBP$R$PWrMOneb_E8LThf<^5aeshLo(`fowVUN#urSPj48fgCHHm2_F#@G9J5@R#{&-Ja_D= zQvRgpRM3^`m9=tV)p1M_!B!m=;inKTAZz^2ls)k}8>e4bJo$pAwZ&Y>yFb;YxGsXk z`PkJ<%cqTIKJhiZQ{h`V7&Y`bnZK>-A_2(+G|m)a2e60zAL3bzth30hokZD{h6#GR z(X{nOFLVI$QIt0ee7BS2&tj-!cJ@t>O5_~${qIR=-HDbE^O_B#bRvJ^@x%A;x%b+y z-FErc?zrOX_w4!3qc?r;h1 zea+#!fAsuszWKy0U%v0>7yR)@pSk0kpZLXBKYG)bK62w_AHLz@f8BfWzwWvCgV$g9 zf373H|GEqQ<+}6#dCvv!z44-dx#6OJ-gn7+Z@Kh+w_f%ycYO5&fB62t-*?5Q9^HHX zGrzd(#ovD8=mS5PdGv~tk6b?U@DESi|NW!)eQ)N$@1J?}$1@NA;Lz{C@%Wz4|L&Xb zzvZHL+;Z`|Z@%2d+x5&d%bSI-zQ z*aj2vPB??UGNYAKRpI?BSgSDYZj7tbJUuup=$D{Wp=8hs|ax~i8-RniQFmYFiY{&*3D`vFA&RkqO4RZt6kDd{50Zd zq+mZIa8Ozo6=ZV@@|bRD@qI~|(umfmKbe|tC)}=zn#4XwFMS&ULM-^x00Ss!WP6?# zhBoR>*MUhT@S@iX)VsOuo+XL|K^JrL;2UPD)pW&zMw zZHm)}rwdfuuH#;~q0lbe3;ava2lK_|MvI`;0KEa403=JU)#ZS#eA`x~*6XDi=mmnx zZWL=o#7j^{kS5T#T`Pu;hK%r>mjTHM^d&=8rq3WiUztUr!ZO8S3QyVUlyW+xBmSXw-ipFOzv>QgHxpVP}{ zLZbkrs%zW>%<9%#wS29(RxfXuomv`LBYs6jAPX@Im+7iusKFqWg}$tnYzqbamJULv zRoZA2)>F?;eb+N|$1p6-=rlWEy`x!%>Dn-lRvJ2k#2LhP+^w`X=8H?GJ5_+*5LFwD zIQll^2g&?iY&ur0*;p9}RpsSe{YWn*~VHvl@Y04c)45m5la!v%FBrpQ+?d7uRPB>oc|D zTyf*%>f)i?>MPCqtkzjHx;e*a22M8#%zg^+3^Qf*LTfY#hJAmt=Z|79^=+C*ly#7_ zYRmc66a2DtKSgPVy`HgE;VE z9MB2U*tU$CrPVyEiznb{n6MtwZD1K4$1?O*7&@>6avm)TNV+p+raBzPaSU4wIWrIG zJ1T&V19kOWI}AK%7EUs4d5eULgr@kBB2JGg%swvP^coIAuUpC;nLYmC>gkuP5?9m(QLHqQ2zpmcD1S z^NS~Kt&)Z?R^^1yx1S_j7m!sgW5nO8K0>GkdS>9FTX}d!NHw!A@LGff`hz6kcfatI z*Px4h9l#>LWu!_tq3rCNAeG2D==zaF{^;_-`=7bzmOotg-Cz9p>vvxJ zokwr^{xf&{_{cq1%{>dm`)F*xvN@RD?9U|5K|TNQ#-ZDf-T%`UfA#Ih_kQv2E5C5Z z_da#=*FJf}mp;Dd(to@5;(xpL67WZ^zwF=kT>6ncmwn{=OFjhNbIAvOJ2&e*bq*KmOwr4}Sl^ufO!*&pvtkW$(J};$E@V@y!USglPYoO<7VicVN!2hL4^z`)-?60Eiw@{YQ8=>sZvuMZF zEHm2uF}e_!bi&i;C#?KSy1xMFKo-9WH!3hjL=mZVv%sQ2zg&dr%co^+uwdP3=9a=c zhkPe!mMnw1DuAPk@EXhr696n2ILHdw%ba5{{PIb72T!BlZO}J~2XQ z({-$dsa3RAvD?h)jhx=xFj@t>%azP{G$uqcF3=S429C15mMk8gV(vve+1Pn{ljm$} zt8FY`W+L;L`!)eT3nOLXw`>)wr@jxwDcl_9B_L5Zs+t1&CLx7Ju?tE^Nk;snM}{_c zuu>RMrZGa)n6c|dRNC-1^I zpRw{MQF6g}GIpvquZn{xaD9)1?NC3_Lz&Xt3!#?8x{l#GfF+t`b}gf8nVQ4zJmI7P zC(&~)&ovRi8OPFXt83eB+Y+|hj?+=>x?M<5vG41`Mi3Yw`p9^eI4~{BlPx%p0n3}N z)r`5BMEp=+$U| zpw($r9jiNJUfiR*7e|p7$cEC8aomeyPRK;icbe6FyI%5ajl-_K5Ial~aLR`ow5EI_P}uLUV+0=E{?)tr9bZsp-@UzSAD{ zozSjzYAa@^kos+{k?Yjfnx)lxVWE~kbLRNLS~=HG{LQ`}7=?vb9zXcVjW0iV^-K5v zZ2zCGI`Hs~vqv84)aHDrS}(0`EYDVQ%eL0&C*G(Z#J29I9QBhzF7+7rpLg2B$_jKJbw61M*JYeirv5}uIE*#r9 zbGV&fh^;2@!GN3a@v}6657j7Z)zxZluCRWlTwH9o3%1vY6C?!z610Fb=)eGbtvX30 z!CAq)Al-*=UTAIP9ZDRz0nD9Ib-RGOdA+{cD9jaCPUIGjuFV}@KJ)y>;=$_1iDq%G zRa)v)*Ue_x(d(|$^xc;0G(4x7#Kv$49OaHiv9!pfX`oe*i_g4L=u8l~Ug&ywyr4{u zqpvRmKQH$QZaFds+nhvPm5TBM_rhMozHy`Go>`cE>Cs>R@X6m?eBUi!I(_i*K@e~x z57lI+-LhcQ#I8(P^ahCs=xggOsyAxy6nnXawbWG{)%nR!Jbio{@QkbL zVMdH@&D82pW1L3M6-)@&Mg?x)qOO=BfrHoOMd&e1U6@aK)?Rs=^XU^ zZ$%RY?f3hE(Qqm=t4AMt`uBT&`}1$ze)*T~zWzH;|LXGnzrX6#qkAf|kNBOVqjYgI zU5NBUwYmG|pWb)m_dj@i&zJxBqw{b7)~9ay=BID?$|tYC>|@to_VGPm{MgsF#y?ZVs?-jn` z!uQ^I;d^elh6K#DozV9z5S4M&=+790Jc3@P&v2c)B zHqI0k;HSn3&t^eNWVve#1EWT&QW7A-1kCmw%`s|br`T<5bgHYZ@=_aaUwNrpUD4}# zt6g&Sdgyeyu~SwUm!pd^z_^WZhU;B-a;m;*lw=z$3G~Gg{wOEAa>*{=GKAdXC2}~u zmXm3v${b!sQ4=_Z^4ZlfOXEs4`A$CuSQ4>Aq$md0`w8UOYTvOA$j^-El>JSjVi3T? zISU2)DlbidB7CVdOEWb9c5gy)+djn8|7-54E7_hBn}a#9Hdf&SYsZ0Q}C0gJf(4%r;(vLIc7Ntkq~P!aT(czxL86pR5p_R zmI%TVVBpZVUB~idiz5_ZQXSM{QgOvn7r1V5ukZJIz_9?dZWP&JXhCQ}U`CO}aKJD? zFQBi?KF|rFU6XLyF@V5v)U}q@Dr&8Qsa1Wa69*<^x|;71Z>#uVu0ZDMVh5NNSX3>p z2HbV6w%)G#Rwwo?wrLU!dhxIi38M=*aFXR4wsGL;mfj#f+2k-L;0$+~?I8>qapNTF zYA;Sh*VUVLw_$RwW(VlE-zTz4p~igWk#*0Efp0mro6>`03S1PpTC=)tbjnb22pkL@ zQ=Jsz0z;xWG#hR(v1>d2kB;-HVnv9EUO;@{u~j(} z`iuG!X_Wz;M3j9%;{d@p9Wwr-nU$I|JJ%bNvMBn|vDf-0hdX!_IzOk6vC^5BC9 zp19$KM{jucp*{Pbxb^7%yOw93YL|~CAxFpo?S`r28@2kzTzTn4D>v6}tQ&gKHjCZ% zYOOF+Ts=})dO5%Ja$)Icv#{WFtC439l9UrjmAX=2$DEyl)^j2B00M-;i8)~;a&6bt z?RLqkuNc*3t-RPREwl@B_4U)0)syAbnacXSt5lW8oA|kq&+|-Za2-aD;Wq-5pIgO3k1NZH}|NDoYxTUgony(gm%#>a1wV*G> zfdll&X;yMD=`bv+RBs7wf4q{^88p2LE1E=BM8%Mkh!aI&=-TLR!ydXOw->hbcH~)T zG9-h-BRZ--#ACp-pls;284^}+jwB&KGuAVcw@Q}puHZIPdNijrbFe(4QwWKbJwWmmR~$`?9ZjuGl}O7qttHI8u=NRohWdjKLp~v`zIIO{@u^t@U>6x`O1G>|D{h{ciG4G@~gZb zy@81L-}YSgksH4Fk?Sx0FcI%1|9aiUAH4RW4-oNQ_y={KMCe-T$4F5B%W8J1)KF`~P~!#c#X) z(s$f^;k$3X@SP9;=>79|p6|^*IC7g=rx=Uk9Q`8`E$-_k7+*!%Z=o!qH$vH+uT5Dt z8Sx>f&<-AN4DjLcn$VZ-=Gf_+W`Hh0FEuw9=ocuFxRje$ackKf&^Oz*_pBjbg%!`{ zM6QBWBh#XW`4F^Ug_4>tya-BYJme!MF-AA$vOXdI}7^7aTm_EcT$6RQ_z>b zN7|E@3vTS0f!+3ux~tb5lV7bwtpR<9X*%k`^OL1s3S0?3R1gu;;HWhxqRR@{&>g0- z@K~Ca18pjxbbvktj=NK)INM1yXL`ajKjX>aL~i~`M-6ZefGzOVsBh+YO)>l=2H?R= zSScr2szA=#hz%qRZR`PrlDPsFuwTB#g52QW^DgBKQJ<0EYdIBkr*>nOM>&)f5!YBF z*(8l(Gz4;oFUW3^^^_E_U*1`u1%WDM+}rE*7*is1L;@v2OjYGcHKkxm2*ToA3d>bi zpJ;#V2ySOJyBo-Zv!FSa3lL};9lcZY%nllweTuLajlw;3;ZrNP3#S?A7dQ==S;1zT zTZL(G>^jX-y|SUV%Vw8f4b8R$ld0NpGi{?2dU_I>p51BH3Pz_cGcTMtKv(tQsrwe! zLIZCn@|hU`&)De>6E|{oM{nU0^kjsh_TXoqRUO5wcyGvPP+GIo$eZ2LpvQfcl`>59 zp)Uh~Q~jM`AmKzl;*G*U&mFVVYLpH5tiI(rTDO_6l~%M?2?*3RTUMu$2DaU)24-Ur zdzIWuarum1oV>Xub?bVoVrz}aGdHR5F{GisVhzcl0Gy@)GZc8h{G)+y)K^Zw^uP=E?|uHBpX|T? zN6+8=gJiIBY&~vJ=dcOo^N7JE80Yk6{%9>H%^G&_s*exHLiJpsC{TSA@ zv~tw!REeEnB{=p!0NUjqzoP^y!Cux&B}vc#7A&&bdTq|`6!7TT%8{V!uOJ!x>m|Mg z=nMFb#E@Ec`OOi^lo`bBq|7GkK1Hm-nA91>iJ?Be*H8T+_qQ^DdmXbII#!Rh>#K@$ zQUv;gZ&`XX_AO4_Wo6N8SP!Wnq9OgQEYcKu5hh8(AAG$?n}gnj{^ENMaIdmUs*4df zq8`%AXiHgiR3YU)bHgBVTlM_>nd46`o_xYJxi?XPPkZ zbj{UyAyf!?@h=$Gt6N=PIQmqpcm}3S@Vu0YER~YGdvQ=+TWl7VhCLgG2z@#50ex8= zW$jg6gr~Ee5aPlxqw~T<2NGF|FdmBEK`LtsBn<-_J*XK5R?-V)+Wea(l`oFj@7>P) z-EDnRd@#$xHra|a*!)gP|^;q6y^{lQy)vj6v2AHVDNc@y8Q9IU%B_HOK$)E`8Rz1vwOZm(0jvI|Ko%-9%T=F$-_O7BzMu2>-m5?Vo}Yd0JwN}# zdw%};cVBnjyRSWu$Lr2}*Y)SUdk=8$`R~5*!uRaG;N3Tz|IWSVzw^cm-VFe}@BDY& zc-}j2x&To2owr>0u3ImD_sti)W8dfg*S^pGU%&dwdmh{Kxx;sV^Vt30J#x>t_W$;4 zFaQ4QC+`2w%fJ2VeLwv0uP=G~9hbc8){EW^e)`G}6(9L-y!y;2v@%)HaGaxmT!PZR zeuBMIl>HXU5_%()-TB&-Ws?yfq7zn64g$qD0(}SE-8TjL#iNT`4a@vnxP3&VaEm=l z4gAXFXW`wZI!}g4&t{xgGoKZ!yLRy8YRu1Oa4Mj3h!sZ4$_aeSd9VuWf(b} z8g-!G*w8>Bs=29=^Pa+lnA(($cJs& zlsnroYbod>DoRF`Re&g7hLj~)o*lw>lkd>b;X^@HCzvLj!liAjFqnMMCFu{Mv=<~P zcPawIy+^U>(MjScFp3vNe&D-c1QO2Xji^GztExRX8IMg6`iP9X)Jc_sVuY2)NiQ*D zbY@|CaV$Geia!g_Qk+XLNiq& z#2faxYBX@Ij;Yl`w-b39@IkK^aFuxMrHSYBThLk@p}Xm^ryK2Ry|iw$0kgXND%6aQ`AN<;sZRGdOP6;b)M(xdZ*m3=Pj+i z$!%gy!23ZOSlyb@C~WpZTW^(D&RCV%rNj5XaPQ>@9=-Ot2d{qVk!ue;c=e0-U47tz z8(w_y=E~fQz^|^^aWsCVJob##HxX#pi@?~fqXV=I2N4R49u0}Pwhr6DPj>g*W_j+_ z=kDBp@0ADd`QA%+efQu!KR$TRy6VNdfA+%tH=fx4r^?dH-O`*< zU-z`SqqSOABpedb2m=dpJ>39*BTMy%iK1#%OZ8 zXNcZ83C2GO zn|Je$RBz{Dm_)A8C~pAGKw-qV$+Zb@CqX}dn`j8fC|A++nJm(nR0NRv*+Wkwp-u5f z^*tNiu;E%79vp)tgrt#}YLZ^R=Qwy6b<)ro4MKj*S+Ju@ZEO))82*+iH^9AWS1mb# zG|)p*wWAg6D%uf!hgL{B)EM-p46FYvW8_O$m`{z$SUd_*@K>&zu8RcSOwo%VT zp$&t{YN0G*Y@{jJ8*xI_aYCvjjGB%5vQWJ!Y!;UnUwu-mEp9^nWawC$li5pZycZ9b z{L&e{wy`<%Wz@Iixt2)!Z$Mwk5d`DOogk9XgT?Nv-KSrhn6H>y6e*&`sKJbciHqk; z7UNA&RwC9fqwM$8nZJY7?dPEHe{GUhWJAKCu^aj3%E41F-uJ+*SN-P7Z#;C%k6!%a z)yE&capTaPcJ0+sTI_ktjiskfJ-zS1Z@>4%-mm`l#~0u9o%3(_#^-PR`e*lj{WJT% z_9=kg8@~LByC zuKnEG_TcAd|L;BLz2gQM^4)jdJNKRcj(q^S7rf)9^WT2+1@F9>$9LR(!P{@W@Ex~a z^3Gc>_$L71Th9AmcYW`J`+s%m$%lUg82pzzE~Obo(z?$CZ=W+qE~{NzT!K9!cZ80h)efPE(fLU!^SSYYbaue2N4M8B?=?VInP`Z3k;^lHU;c)ajZhQfV*7Z>u`^sU03;X?k=3& z@ppr!890r}5;3~6NiWdvgtq};VWh^7>kwyh^)K9CJfZpVApkRBS?)MyHH5egP)YR> zkdt^u@-c}-BF}Qnw$aLUt4oc-ney84;_@qn#UsUqL*?aH8@bsQM@!c2cG1%t@J(Y! zC+25OA%scUGUiVe$e34&{}tfpmxQ@=8K{G+mjVAg$J1Lzqu430wDR+{)swZ=nJTYp!kPXvkm)-9OOX@`k}&iZ;1hj-5ml^=7#0UhF(Tj=`hP^@ zvgna-A9^9jRJlcHOFb&R?{>a7HVO2JgZ}MDz*GvEq}_=Dz4qJ&8BTM zErUnbY6BjC15a0+gjOt^0-Sr@L2Lt&cB-Y=F-IwklHuwVr{s+ud@zG@GCM%fZKg@s|g#-v8j02OqxT@S{IH^zcr#tlx$EeGz=mPyce)PhR-b)yJQ|v$=lMXsk3#i?!TB ztF+>FtFhhf1!g}67J`{|JzIx(JB^h_Wwu&4Squ1(%PPgc|?G!2V6Fbluxtsk?)LS4HwU!fTlfc((v(*ceO-`8)yN%VgrB^(= z4$PwvvMgF*Sh`Mtzp8XB+r$_F>CxmVMOQj56~IrP*djT>3lgjE+3jw#)bEGc<-bbV zty47pQ(cuF$5P-3xC^5*4SLmi6`tIpq>Ks;Qamv2&~xN_d!BE#Y`wwPOreKP$11b3 zxE=N|c5GeOT2bh6u$QeMa-Je)!+R)jm_BZ}7|SAFRvZ_RTLjb>NBm&bSdj9)0C~XU zK>}L|i-7Xdc%!XTKeB7Z#lxqM{JFGtI`s76Ac_O4!EKxuY@>x1lC-6Qne0KCtg||g zDZ9vMsJskBLyv%)BdfG_Z0Y1Pc*sgDNeuzAx(jy?J+oO{JmKg~oQHk3+9l8KA_*>+ zpatWsZze3Uw-e7W87U{U%lDi(^yy2}=A)`xq;61@m4MsDM~>08^-kbg@Ej;obzz$S z7DLPwl(tv8zA* z&=ntl_{vW{dewhC_VZ6ae)XrokNxbEk6cN9;_Cl+{O6y#|MHLB_oILN(~th`uJ8Wq zy+8W*Uwz|)d(V6OAHMU!TP}X*4PSUW`E&nt!{`6$rt{x%(*#=25y(a%hBscZscforwrU%TR&A^dNn`$QvS?~)uqF&jZW8p}~WMHvo{v4Tu5n3uoS~Fwcx35STZrOJfb8%S6lr zhn7gj#!tu%KC2QVoCchPvyRpoq(Q$QrTwtikH(C!{Om#UByk$EXMd*RubV{Qx3m`w zKRZc)PEqoVRHqmxPUjEN(E3mV=mSbCBezOVxUaIP3Twy3*c=4rIB?nvI0(!kDCI%! zLX%u@U>^Ox+H3|gQBq~T(!T^Ayg^IOf=klGrHSk4fWEz+CoKy)D5G-g?Z4tEKO8`*oJfIfu0?+$8i;0 zrCI`Vq!E&DI;NJ!3EfSKo$qKyBlJFKOVI1_b4|1=y*TwPt5q}_tC811*NA)rcoLp2 zL9f##1Nyp}?{;0QcI4XX=%8&owNg zRmm@FjhwI7x|NM?qY${j+l~Cv(Y4broId!#3lHyo{{Eltf8dH2AGmz~{Xc!>&v&5T zx$Tl~b$pBa755UipV-6H=_O|DcltpmFad_wYlZpZ`k6{$L2noNC3DxdTDj%pkMDo* z+P~a;`AZL6@xq^e^1?lrzj*IY_HQwN^32^oeBrJiA9!%j>dB{Cg_%}yu3KJlTLo9E zS)GbjFEmQ4mE1yUZML{_rnGvdwlQDNFE)!Sve#4*2-(vcf!$6*GmY$C;`Cx0SeIYc zwbfU<gG^R(afQAe@;0TLm>)BTnY_@mxX zvb>l(ia?Sx`~g#=2tOre#te&1z$HZIDTp-WRgEy1bK+; zhP_^3;VN`5p1hV)xvQMF5pBYthx#P4(Lg3uBpP@=7o>#9nJFNB*dJ6ihTTiKwg#|p zyaso3*h@XLQCM6&`QpmymyG86DD@ygQ)^ZV^WA0%`oq~JAhAV~^XsR{iJ!T6`l3TP+_qf`&m`$CeF$#sMJ& zL|$r`-GjcuwHWm|0ZK*Kl_UYmDn^C7E#EfO#`u&WFVX&S(g7uq-7-yb`x_vXP*L{# zZ&8-bb~*=r|7+5?Md2&>onmwOz|m*!y8DJ7-+A@7p8D;zNA9~}e~Q4jl;`rFl|Km{xKK1y|KZ)ammw)8N z+rIeBt>5_NMgO1u`#$&JPyYQ+Kltz;zx{#VeC_}I;!^I|yzdMDbffSs#JyyNdw;>> z+i$!0?Z3SE?Et{HUG%nFKmY&!?U&#A+^y%&JoNqJ_kH)!@4hl~-?z^^{Jj@$`s^RR z^3LCV@g28c^3Gpe{N5L?|7iQUpY|%p@q`d@y+)rqNBil<7mc(DBEb5feJc}|H zb_esRdKT}9qg?Y04W7+-008>(OEBYa#!Nw9Fc258AJH$Mplt6f7;NW+=huS1UATYY@J+^OpN47j#&s!>?zR91{;97)W*D1AEp^%gx5=C82g^=qJ%KSJ8>apoWTJQLIL>sWx(>?I8)*` zYs!!S3%pglY#y~5Zbj{oKH|uL6#PSJYlV0P^g@hicfL3POD(uu7T}$enE?_wTNuuv z_=m!B2FdP1()H-UsGkUo(QoECDVBzSz;{pNH3`WwW#V4Q+%(!z=m0}X1z#_rNXQ*h zLV1vm184+567pRM+79O@B}5p-2F}3=(U1gwv14~##~2Lw7?PxLUVQal+zY+HwIE=|GCMj+MM7jwP#@vTOh*b5c*`a?M|s5`+UaH(L_uFGakv= znGsPIzqT^qcf5d{;Tr>mRwCEpHg%!nnDu6Pxm{eS=H@$a*#jFjt(7;lMm}~rTBB6S zuNd9B?{r#~rH$DG`P0wMy!5C2Pu}+OpMUxCQ@=R)xNbef=&`^al~(TMKM5y9XcJDf?9sAygF0Q&0C#(r!;f&h2On!?@tfhd-=`6LlI9c(58C?-S&M;=WAMgRfKgV@77I& zBkjJc%YI;9zZVPyg^DiG8c+uW=<-M~i&loSzlnb1*=`cX2qPBS4p7x|`NbXRMjY9L z0ryYJ?gbi7qB!s(-{VFGNiYb)zV9{)D}~ilk*{rzfL^F?=!WuAQtewNBW$~o(p_j5 z0@4L0`>%NNw_p9!Z5RFV){Fjd<9WZ^^ZDQG{rqqD z%5mTMciwjCJ-_|>gLi%Z@dvJY=82nLeBlqTyz^i zS5B(-+ms|JaWdEConjTGIV{c}_8RmV9yiRHBOxzn%C9eb&? zF&_oS5ZV@^+Z5~hRZD9?Nocj0!Y=ZE9Rvk}vP#bdgrNjzIoM)Y>4Q?d0X-}dqaC7~}A0*49W-IbUeXW}H0_!5IOq8ZsvDyB3gZ8(f9 z@*nmR&(a;E8wW1#9>V=*)fa#4nv4JK=CAzwZ@%;Kdw%>M zk6rVHr}v)!?7oYhy9s{rRV# zxcXDz#~A+PV^@9R(W^fG=vAM10RcGV{z_|XSnyyF{>?D@*?&ij8papk{1eC5X< zyXxbQUHS1xul(4U=iMQ^+Pl6U;_;(xm3^Z&0qzw+)EZaIJMksq9X;9Do}`ts6a-<`Sd zn~z-ap+9`-fB)vPx8Ho;+wc9(2bb@<&^vYC(ASl`#Gam`e^3$|_4iPA|6ipn>UJYI zMRZ(tW%cme!8_vM*$JMY!JUjpCY}L;eg}enIXRhQvs=&?tPtR9L*LgN^#!Z1<06YO z#sVG8}K1SL(0pvF5tanE8xU&s@<+LsUZ;HM1Y$!i6q!=WAm zA=GOq%Vj6IPcsxbQ|K`%t`N=XNc6bZM8h?t$A>?QE-YwbeOVYazLpx_@a=F5Pd_WjivZD{@ey zmA%5W%Agj~)R3ye4$!&=Xm@DEC>QRL;-ZCl54FdFv^Olx5rqNQfwFYXt0_*!Z>M#z zoNaDLi_6~PcC<=9m!kMJRRSy{{7EY+iEj<~ixTfZyH~uhGl4iKg&HKgLL*MOQ%!Tb z-K~C~9kKy4poZF`VOmyNk!V#a?uv}+lC!n8q5PrO)4k|0!q6 zJ6ZTS`JK$JOaVm5N&IuXK1mzHr{WM)D0z2*Wxvh%Nq4){hq9IfJGG_AA=Q3IL`F+kvn2HFH z8IjS424ay;Cvl22n>xtLI3YRu+D5(GG`W|*Qc+7pAt&u2**#jN4NaAAMx(07)>?DF z;=%cr=MRBJBM~(k4|(wNtE;p(*M(GM8I?l$;@1QVk+1-7OeiDjHARX@T=F!QKRI9X z?3(7ab78(j9UaKNy}8m{TN1*11YzP)+1ciGnrK1_b^P)`5>YJt03QuX#wkwt7z+h8 zU7`IB$S%D^B7A}pMFVHW?ZEpTPtkIHM)&(KkP$};z4BrziFy=dTzU-|ftV1jIKG9x z|D6#kl8+rh$ziX)_3&)*zIACka^_szx$OSImCw)TN!BMFQIl+WRClA`Uh(3S8|M}- zowRPwn2qzs0Qat&4ct3o-OQojm6Hc78w1rWc4>V zv)^%szDEh)_BpudyPG@a6fGIHYxIAd%Ib4Ct=AFoQsSd&y^ev?dml~jb#U=dyXSmc zIQjF9qkF6w_QASgA8Z`);igf*y*+??H;wGR8R(Y)aJMaEyXTGmaMQ4N_s#zD_O=NX z#}||zo>6;jM$PH@mo|?qp8V0y3EdE2^O(qjLj3|DV zjG$d?U@CP%0;xax=b~0bFJ6b;CImGMyk&N?<*kt;M3rpniPX&GsFW2 zcml9s0Zr-rCEX z!bJ`R0xAt54vS7LiqHu0hD11lJ~~K#x7P!YIfzRnWQwa~gk%y|42!@$RB+QlsAUG> zG+B<;d6vD=h(>e5J7GB$AfEtL(lTrWLkWn|E-^l@&F{BC2Sof7625077*x>u6g(>& zQIrr5_|^#pbwEg+)}3-&{XRDeoRUBQsyq%(aS-&CJr0+pF-Y+U=$k^Q79fpqgw{2S z#pqiCtrCP>g#p_<4ilvgkO0A8G8DJsH7m{*dt05R`WRw`eO|lM))WgVxbL=GJuW-V zg9!Ott!1URPt-oY<}f|?m@D0_752t*x1~Xm9MKplHuuOuH-d`f@_5WXui5LdDD<&F zkH=}*uy_>qN@aQ~(8JNC68H07H)7a2jCTNIIX@pi#3Z{nY zXV>puDn7j@^T4LjTeJVVWywdoa=tJ(SBfyOPbW8B2CQA!W6iwxR?hwN%DI19IS>5a z%K7iDdV%K|On2w~dF6s0s{w=0=3R%Wg9$*&ZH>=&WPh=FagXiGzCW~O{Mmgu53cU7 zeSXVsX++yWyArao*`QVyr8W9P#IU^pm}oSBy|9zA53e)4%OtPEX>0Ym%&OlJ(*2~= z(J;&c56=ljVA(x(ugi{RLhT!Jgu^Iom}lgRraE(1vmi8QdJ>S1`qgzvfs#}tpDg)M zo^fg_^mR`ZFCs+oqRwCe!Xy~s-;nIJG*nkSx>@$z4ie|7R|LWI&?tMD*qG+DmY3W+QTyyx!0&qbSr95c zpi0eECDw-0urA>@?3Lf%VmCL1X^KP;Hk{sBD1uO!+?Lmqh!%Md!)8c$S)*M9#I08n zqOXs-msL!J_9fYIz?^Y?S5EF%ls@v}rinKSCfzQWay@U##q|>| ztQ&uUK<}8dYeob5UR*c26Z&TNxl^23lr?qF)IVQXIaCa9K9N1(cxK<@S^a=`k7v^H zSSI!Q9ur-=8GVkV_db%=^H$NK{Au4GocjKWtbTyIf&qGu0{t=oKAzG0SX$4cgn@e> zTJ+=Y+20mS`h5L}57!O#@_ z(4G~J3Fi8+`N)~(~m6vp=e6?ZR5Ia9MR)sdT;B=nUTgDXwY1UztVqtOaFWl z=IL)EBZ{9TBPiR-R}riyf!LQ>VBHrO*Qu`{!Tedb6Z*c$41MF^1TKXW!vm6Eg1$WL z`ETg;1@go(hL;ni0uE9_VPF_q#5Dx~3y}E|fCK|T>c-YVf(;lP3cybgo))7WqrVr7 z>v)$^*BpWc#D2x(bZQcuPMhR5OU_onT|&Ih7S(Nnm#O+}n&bkArP;^<8X_y^>vrOE zNXQ)GET=Mrd{J`a79g9d0i9fGDUpB~B1-t|ZHDc>h6Ng&gEWl8e}dgbd_@B}iNW z30Dm@2uZj?BLFrj(3b`fielswIz}QuM+%-KgbQwuX`0vVZqaoOB5{HoG8PUI!cpN6 zvbc%Dq*c>H1Pchx#GuFyx}1Lk(xThM}_bn!?u9*#ueDf=9Nf2zCH+)|^dw5~6N^!uHb zwtC13*IV-W9dsX{6L6}UWZBXyF$859i;R%go*@5-DiGw>(JTa^h4cHQ|Lpg zuFIP6-u0inl2NG(BeV|U`fZbeHUvb54sg8%jFc^3aTBiqKt5tflaGxYphsTL@wlZWK zaIvZS@%<|YP8ToTy?RJt#+UhNpKMtnOT?B@L!&SCzd+K3 znP2Z&H~j3r?1$G6x7I&}8bLP@7!t>5Z9E;-1VwG{fRPQTnjZ`!8PXN63pHg?C8sJm zP?GI&ou;gCvqawU_EAw~UOTFQ$^oV<62@Ps0~Iip3N>wR&2)m6Kx=~0Hz0aDqkUj>4jB2^9nNT5Ic`UMahGwyF9FN*Dn;Vo}xSur!ugTgn28 zJr)fhD2oQBhX|EI6{)2W6lMeSMnsMUa63U?0D9Td_TVnE+!TU$ej2N~(QN^dCoauR~6!6PV*mr2Bid&nJ4)d?t?1cyYzD_@Wi z4#el;QWSqfdW^OW!;9VTbK0QEy5ft{&VuyrBVUM2!9Rdl3WGvSvmfl6cYE86OPeNL zSU17Iy=%vvTQi1u_2_e}M_pKp!aBT)$|?*#CB6#h~L^15al6 zKgoz!fZpSo)a8qF0eX|r7jXAd!R(Erx*whM8I6Ko+VjX#>gg5C(6{HQtUdt1+#B5U z=+d6YGJ50Zz6C#QoA#wx=4#`}4{5;jnC^L_yXB4QhGYKd?gaqAW4q^#e1FIIzg*fd ztme!@>&1DVYx5hTyC(P8Fzo%kbAG7ZGf^qo9}CJ{lH`(bp}wWx3PHVJ zN#dmiGJd~A;@QNJFY!q#)7yiY-8+Zfp8snjaVoR_<}Ur5w0YlFEkC%H=v4MUxcJ+z@n6>dsSCp0q9N)k>D|1l5Dc< zAx9ap5h_Ntqj~vJ;GrONi3kXY%M+-WP6!fHmg3>C?)SU=etR(Ji?!>7e(Bo^8KqbR zX2WVXSF4H(C>O|zM>Z1E1~&{OPz?A<%Z~~091D8fHlGh(JK=Wf&4Psrs7{BOIy1c% zb6Y+1lM68}OCD=m15^UPfD*heo739tu{C-ubFN=!bJ&0fU6@=HUNYu6gwz;Jr0Y*+6FwYBkwRK^d%)0)m2M<$+Z((&hJ}#^-$V{ zy^AjFUUFr3`qe!dSN5b|*}e2i@zSfsY2a%FfS2ApwaH_vgg1nT!*Ti~z+YXcyv3|u z9&ir@5<1^WRI`QxK>N{>c|C4eY1nWwYqtypvsCr@3$N=hr2tY_A z)Dh8QK_wvjTsE_%wb^Ag!45zMm$S9D>aMM=G_2S=LIE0@4$X;#WLZ*V6@ENv0xh%- z0Lef$zhgqVgDvuVZS|G+@0{O$q;Tf;oFBF<{Wve}Yrx&D%ld6wK5*Oe0b6tWZC%!9 z`|^RC7x#E{<1pDSUf-_ze#89#Y3=Oa<<9+`fob1}|6|46Kdzkre_Ye>v_%vz4v%gg z-Mpmx_S}I;2+1MQZ8-xAm-Q{o?wObVRo>E%cjopwzJ2b!%ew*2Wxtb$36Q=)QPFk+ z0e_g5u!45TlGhICtN2|o^|ZTKdyqC%Lm_b62!#TEuM@=NE6+~Upfk=xT$FChW+(;Egq6lHwN;*K_5FLy1GQXPG0N^%^px@H`@af&-mZl1{ zCB9`mWkf+g+hw1#vEs4hL|sH+N?_+@w}pCrp*-yoxHxY>-@srArOd44; zB#(DQFrWlf8D1YQ$_xfDcfb79*y*(O4?vW_R`Hvw=&}hhX zPWH0vaGq4+um&N6;`kQ&{`WxC0!S(0l(?Folw96_U_<(@l?!hiTvv8(L+#yzA-O)R z)K=aoy1OUyT)~p`GE>Vv(D9_?9pW9#&b z8-REx0`y+mF!AEL@fX*PyRdHD`88wDuNi%wM?0Sd=*=Al=zDGzpl|=HTc(`OTeNw^ zA1~zeJGpESL0@C2bHC$R{f}kzr5<3wV1a(qdjt0#TJqz$Rm0Bb%~(I^-%c$4_9(zG zz-@Z3ql9}60DKr&H@)Za3|wUBo7VG48jih=^W8&>f7~(So6TcB-Zb)q&7(fZ8`F(@ zeY+F%9ZTr9aBR22aoq|={psNRFCXrnX1$iC-(BFjv-I}%Nqc8}vU^I8!Z9BfjQjLa z-r&Ha!l<`3wMgI6Z;*t+5+n>3$oT!HMDJk1!mo1Th${q2dD~my5M~4V0_6%O(94?}@x@N`OBg%x zot05s5IzNUparPInb{awN6=U4M3RKD$)DqulL?L*pt?(nlqf(cb=8WelAW>Qgd-ui zPFa(^w0xJ(C0O&jb;%o2{Slg2YruFCo4c$917o9z2yAn2bC{>JQO9HF3SnXiYbmIZ z@B(%7=L5IOtJ=ywtL(EWV%ac>CJD1JKCjzmZ>w#qeNg}OO7(-&)%Q=-K04Q2ansgR z;&rsZ%|)hYlp`3v7Y}!&u3AyK%t8&g_B#pMW+*Nbn-=jtrdKk*mB~Y;g+>JQRT=t{ zlLQrFf?q&bNY?zGD7h*0ZhmuOg*T}4CxbC+0tw|ePH5Z4u;}AOVRn`zcYVMS3~01} zEWjK5Y<`dApk|gC0atL?S`S=LT*8<^(hneF({C#a|>XiV;t- z{UK3t#pP%Y>0Xi&o?)b2S5)r!;!zdcr3~?eNlCJ(GU~fVYmwb<5Ad@acs@d-KtljJ zKtZa{X*btNewPT3)VZ|yS+;&S2Np*=0ut_kX;A0^O;b>xC_R)Xq(LKc+0C(#thfQB zTLS@wvmHYLx~abwa#)dSORioxlyh$HqRaa; zuk6Xbyes2!Q9AfaQQEcQwCj6tTykaCqMHYoSKc}7Y%7-~m-re&t~gLH@^jJ(i&C2uY5x;swIs#gt*C6(9$X ztGc%OdP7wynLF8TZg|jCb<0%y*zai46)B|0f}vP2qQ}}{=YyKh+f@DJ*17G6@}?AK zez9fgCk2_`7iRY*xSJ#3ZeIeTNzUn?pZ?XAV{0|l9|{G-kzh+@TgJzmX8hNjxqn!h z3T~rh|lTwxuDyu z>YdeR)LepuLO>(vi)~Pi#{$u)qN;9SY!n@!T{H|vb0C9F_~!DF$IE<3Fa zRgW%IJ-X^_sf}m~Uymz_x4EURxv5_Adk_gJAE(8t_BvsxNxsa+&6fzVal3(-PE*zG z(px9&rh10`^cdwS!T8zH9`cxL8!AhnX1D+g2{0wL_{Nywbq zMqvI(GgS$14IZmcc9!z?dI|+qx6ADFS?PlvO&NeKU}N^rB$A$GPSVR)lJpk({?>_V zjw>%9x$V_A9$hTnw{Gcy4QWqKZmGLgXsx;w54L&DkDi{|aC=Y2k&W~7mrluFI=O&x z@8$(#H_solao*_MiGw!G8gg>;%zOJ6KiWJ0R>Aa3>n8&4UfDGH%En2T)=#*we*C5N z<1efO=p6&Tux1oP-;rlmjyMBeG5qxMp(nEjTv$Ew%C2Rb#(Z)y>&Fw>gN|oXPw%nJ z{zo(V9Zm0hB)!j(G+Mce2RZjXw6yo(wBGv{evimct)I4K@c(uy{Rf);%aePLW%NGI zUAqi}dmUvwe1wKT0|wLhXSz$+n9li;Ui%k(ziG@z0Ki*De+alsqn*ceD;R_G54Vo{ z5a@UNxDR)Y`^(uiLz^z8g`T9TPtu+qnt5>UU-wS^c*lfpTgHBNXX7yWdRD~MXte3q zw2HU%pG#ab29ck_Wc+?pO1@Nt`))Aa&2P>E)(TF&o^(>ht%N`QrqGvwC_!J9obtp_ z-X!#eV+8-{b!sg%Jf#D$To6 z<8ee{V8jHGv?76jCL#W0a^eb-jX-)-ePYcm0$0pbTo9*|dH$XZ<%9y$cmbeb_@<(% zat(H=J`w-x3H3+{01*Ivc_t@x<8{y%CvY+0C<1KbE)_e;PTg@9*>9({QseDV1lj9D zUDH(3t_G@;8MX2tOvD59s{#EwT_(Su*YY7hoknlN|94s%d|n6gC6Y_B_({Nq8x(w2 zv>;$k$?Jsu!7WzH5agxNwoXe7=+k9(*-Q|gD;daI^V(V!pBuT024zcASxfZ;$x-jK zwdj&0IUDPrUv8?n?=saXUc1X-QZ<*;)$DRv0RMSVDmWGj12+O#k~X0dBEe8J6olNm z>h-!zHfy8P(Wd%6(SWSF8Y=G}I=eUhG!XCJ^viqZUfwhB>iz}S4lKI7Xa0rVb1v?k zd+p%Lrjjd)y~)|u)LdI*ZfTG_rg+SYB4RZVeRQM+0NY*r_+KPZWmL+Ek)Jq8T<6l~ zek6_!)j|E|DU9MpA=3#eD8~DH#iBawr{uNyTsEG&>p>O6^ug@lNE1B*vaU%mQ>x!3 zd+a`^$!l+Qw$@mi%51H*7E`0cVe$K2ngS!{urxiXeRjpuS}WU{s~(;^e<1hxj>Tto zXWzfD!`bw_J&gQzKp~y>hO!5zPZy_c&-o!g?QvcX_Oy2(26zmHo~WyXNO-ekZz@ zU(GpvAs%4))@A+jGrrxj^wXWWy-yb}eRAul$I%!KtE%L2+s%F#t!o9tj z>er-mFm5S+Z&Q8s?b65Rn`%k}lCvYGcC-h=LBHE!YHg^pn_Cbe_gce%(->k%VW83k z8A2F@c&Tl^#IGh2o1ic3jia^vM%kTHE^8Cw22&>agqUPU3kbMcDw?XF;Vp*yWa#2y zzt>@dkOX~c<}Qs!VGVytuue+eO`f1g>3hA(8y$&dz=(g2@ZOXqH=wVsdqY7P_6Ip3 zQ*FfhPaz>{QgRT^1sT6n=q>d9O;fVY6tB}-dHuoJojX@7I-HkXd9l#)V3%Tj+#a!5 zD=(HDU2$z!X3_Fld5b3%rcKUYGI7hoarujAwDa1TBUVovd}#I5M~5;?j-}ryoN;Nx ze(a_7<1VfrcVR7{?`YBM3*5^*{1k9+&ft^T15W1* zyt{wJhDkpjU-b2rwIj~u4!XE4!7gh{9w|u~voPK9>`kh-o@MKos zYa2)Jp4T&f#P3dK0vIzkUfS~ngIn(S@`{ohdudE#Cx|9{N*NKAt=eEVS^f!{QS48wGV={if86~W9=bMIKjlvsy zQx?b;oO+R?>JorFNWrN<_a%n)XHG(2?FHx?;HjQT=!oASJ28=gYWQ6*${k$`=W_xQzTg{`UvYSn%*P6?3nd_do%r%n73V%xk7K6|62pn`kCaPTp?Yho;{=IoHpg8&71H$!m~mseAbay%)D#biOd8ADPEALkP(dPVM&kb* z62&6OxCF5vNR(!jL2{fV^9Z!VE+w2!NYxJa4kZk?809I{mAqTr=HYfmT)%<MlbG>SA90$B9e(4y%R1TAspi|7H|f?$Y0IhLNjvd=(F=s@LP8rK%$#U`s-i&{DU($>+5T2@xAulnhRAF^F2`Imz&YWuMDw zYYXWLsWE(5G$n#7AwV^s#~uX)cC^v@Gy#QCAMij(a+>{aI~A$VVQ;CjHa>T>RQl{K zVO3JSCXc1Esp?UE#UsscciUS4*i>M)wnmM%GllYywG0MzRa2=1X&E&gKhS2WmyGlu zItEQd`fUJ#K3h#=+2!)PhaO(ub@{-uOMB;C+Q0C^-Ua9OEiSC8d9yL(u6 z)px{T;v%ZsXKSi&t$pY;KM4jL@hD&k52hf3_<$p%GlCMeW03d>66Xj&b->-fI8R;# z(Fv4?^70~!w*XEA9!7D&?m<0h%qLepYJlu8Pm%{ie^B7GC>NP)D5oFx(C29J*lKN- zx;9gt#nNQ8)Z0u|ja3gy@0_lGbk*NfRek%+nH@_`6izu+IO%lZw3Az>mR{Yfx@^{_ zn%n1g?AtIZKkd`J^sfPQx8(@L%kVP0E86VJ+j9ElXZ~2cc9_f7$mIbu5IK~6cIrFX zV!H2~|5!2ScPr+Ce=m4t;)E~$jsyJrig`TI_dw<;ywgyGC^na^dH0%OG{pLq(Dx;& z2m|L(KQOXTnEBPgEfa2@Ev$Za(`9c}WS^$sg_2x?F%YH(5~9_^+%})r843cvLa}fe z29~CPQnO)#0vp70R>7=>u)RK6@&q&~3>ZwSInZ}Bvgd%jv|vGdN3fm0Y=m{iW^R65 z`tWph=_SeCfK*USv6!kUR;RVb)KKQPo8#2soTzuWVN;pGUs7^XD~b#{cv zm<#29B?;vh0dPcXf&~!oS-gDNpuP6l1hu1fB)>y~GoyNuG-4!M_>0f|ee^S#dV$_T z-`_5YT7(_;Ia*ESSFRt)FIu(u&9MMH}1lk(afXHt{QPVcNqBWis5H-hXUx{*f{#eh7spijY=Q%@umr%p2-<- zBD3$|#Xa{g__28Ice`i*b@wdrH@jzjjpLr#-yE3t?cs&rp8}L!^4+pN|1ED!w@b_W zo?qVY%(A{GGW!7B9?js%y)?F&x_pnN^C0I8Vq5_L7M;BafFmBEU^q|fb!gF#+opW6 zdDMsbqyMs%x_rBB9or3{ck9>>wvF$$eSG(w6F=NDwcE9=6TOeKJL+;ww=zyGAGB|J zkKI#xY##BKGnu^{=N5-sACX=8HLc|>{c8v{k|gpzn2g_VN(fJ0AXqpke?PwvAzV`7 z6N3%6^|fr^Pwv2^p0{u)7^WG&DFBidF&0qG&7GDm0ey8EjSTb)d`RF{bi<0?QLuoE zVD_a9rYqccnoOFIo4~-4AU*gp`b|!w?aFxnCnE2}y$DZZj1yuTETAvLW*RIlR@f5g z7l;(7vMc)4WiPIa2*HS4NKWF>Xl+Ama!Qyf3zQ4Wh$wSno?H#69D`e}izS-GcLbU& zEyUxm34p=Im}hwRUVF2nwaV7`%-;Ca*<9we)~jAiP~(xYi4oeo&JE4z3joaX#5@|Y z91Q_4FvCB7(R&bTXZ%R~6sk)aLeN)FKwqB$eW6Zd;Smox%3(NXeh-QQj~TIaB@rj6 z^PEn^=XAnX#H6C+j-#M}62$=KgjBJpIREU>uv z&!Sf+MCZ5ycb2{%fvNU+W+{R52;~cZGlYibvz<_T|T!h8b*Uv1ByhhHmnF+ z4|w79Im}o`8mbNpLpp#6*?*_Cc2K$T_K>biKCesm0Xfs)L$o!Iz1ick;z2GPsz*wf zx_u(Ry&NGSF@Oi4QoqL@kB5x0siX{m4VuScq0#<9*=uW+ybkCLvPMs}M^ul^>#_hX zcxf@WKCBUNl~Ow z2$dB0&XwzkU3k{k8UZ)?t4uj%R2>wE5<-gx(P-qoWUA6(qsPhkq~vBQg=PH3HSQmxOMUg0N`DVFYH}b zv~s|fB_9`L^%SFsU+m*eg3MQ9;GDido7;1KXsmt!$&ha}pUXwJr@WK3p!=%1@2;5p z#}#w`uwu^d3F6NFkKEb+#{BQOvw?VlesT9*Uf#L;su};o@~gYv2_jA4^gIwGZsU855(zXN(4w)Y*dEENaatX z{=;|`pwXm4Ul2DOm_gv)pdOH66QIVhgy4`K2nU0(j-g;;HVwf-9vl%=BbwXZR#o=s z;`4_W%#F{3l8ff7hvRx6;IOsURX?$`REAVHG%!XMRj^J2GzcS-wV-*eDa7Amh*)Pj zeF@=67(Z!bL03k3;$c=7)o-dVxzzaVsxCWOg%Z|2Ve?UmA;r^H_1NB8M?;F}aj0KZ zk=!6WaSCA$H>|agJ6(pBQNOet0Y@Y%E)tpCy>tcuZA&Zns%c zTwz)-9Xe0f|JfuY7i3&|6}^SNzfls^259DPt1~~pc;i^X&gJti7O!r*x7$~BBC0ip zr5f9#y%lHIAKkP#Z^@*cS<|+q8@Lz8^|MEAm_7VL!Gh-}mp?kN~CtltF=Dy$cfVv-k9h5$9Kryu5bQ)%ByVuOE4J?eGgL zh8)l6zkALPD~I>U81xZ%Vb4D=?)~RQz2C!eN$)=`>Gkg7Uhm?#q}LzQdjB!4&!3j` zemA4{AD8uiFK6KUxr0AgG5Gzh6F%BM=c{9jzdMup)464R&*k(zoed1!TR>j{cg0X= z!2%Bx2IjlW)ML!O!9DlR|E_T2Ck10ZCkkG72b%gKy>&NDOh`WtA~$3qVUF5*;mmTZ3e8ke$u&<8{p&2@za}_m4-A9RZjDfMuUkfxryZ5kJZ;P8c{S zTq~iLsVXbZK{yu@f>{2p1D>MB>;U<6mS|uBrgz$Or?b9P2)VHy!(sf6pInIl~|xPZQJ zzT4yQn+YF^0OHxi34MtGs^sN!0D563xc?jisj|mmR%K^Mqit-+u7r_GV^E2(Bsd~> zh=e1g`Mg{XhUJ0(+TI?5n+``FXcRU9kpgf!9VVXjihOihDgmd(Icih#yWMsRnkNvc zKzT?GqN1$4PAdR;7;Vzp47F!%q24s8sOEP%tW8d*N%1;5A~frk3&seI zTpsW{!$_m)*|R%GD{dWXdU~<`=~ZWQc`WFMdWTfiVXrAIJ^$?SMW3a<9k>YiJl=uA zb~{YwmYSA^3ahCB?tUyr-Emy7lp^zsgj*MKJtAqoE7Nk63#&g2!kyislUjBmg|rZ#<#|ylvLn$6iYV3OufQ zs_vgXwR_R&qG_iJCmz{2u6WI`?aTY-XZ*Dws~5w?*N-a}{36=yyDg{RwwwXma|dtD z{JQ+{MTiF_#PQkH@-gqEO?_wCly|bHzLPWkot)Y4tepQpu3h-QtXuS7*Dv~iuV3(A z*3J7L*Wlu`cXB52roL0($sYSo+LH^uDP;9a2TT0*^FL8Rxj&oFQ8W)B5rSS>UY;FOefDa32e!qRj*ZGq^-!}Ejoio1LIrHlsGrrm}{VN=|Py1r))GzWTe7a@aCmTm~ zUp4s8D~5cqa`1aO{r{ZZ=Z`u4-(55K&s#=+uxrXkM;3g2CgaER%le#K-tS~qUjSO_ z1SSC7ixznX?oIm%(3d)dx%*cvf^{_QC-CufS}A(>tZxd&b}JkWxC;RM;r4MKY#)yk z96#JSvHPw`?;l$7Q^Vz@9Sv*c(%j2=ql>5Y*f;&-yb7Q zuO-81G2vatKJY7im!BoW{}XQI-_INy9oakj+o3NQSKy)x=nFhXos9&2jm551*`@gH z2K1$kUJ3dJ)mK7aEyh1-25eX83+6A`UC=K%*>J2Qy!BC6=*x>p1Lz7iL;}iA78%PC|4z3}s&K}qpII3ek{AW4l4t>C5ybcafZE5>;Q z{E#J2D5#Pb8_|QB918_SdqpEg4RLYNF_kzsM8@x~gv6<7ldIiMi!C$sMN(+L&_)hm zJe&AK4mHY+CL8M-yV|rx34j>9Y{_T$d(FD)qFSaakj|(bWRbxtZR3QWhzm*$UFTSF zAZrHywW9-)pa4R$$Ln#}WUs^TZgab=co4zZE|I;$iLPsKo5h2grU1f1Js>$R-bQ{n zGKH3-NM4`IP9I)WugBUFkiBSekOsMKNAby?=7w^!xt?0IuDO~U&2?2l$?kWzI4rFp zP3`E=osRm-XE&UtYDY`0=5|DN+1l3NFg2qQAqK_0!aLvzFWa6;xTGI zs>fk&ZLDf)D7V>~0s&XNotEL{gbYHy1hFzu!P28lB7itS%>w$Sj(<)i5fTI?#ZLqX z26R=H!l-T<$Q=dHW^+I+vMIEVU>YLh>!>1H-Wl}(lb|VhDB#CoNhVi`J=WsRS%cBi<9{E5V^K+QB%=Eqt+ge$Jl3X;7!Bk`%mBuKzLvIn*@p(Mhk{A~FZZw(468T-k3+p*CbqN& z@yk}cF8BjL2#PLgyxKEqF_S3s7YUcCTw|*0@pvo&&8O=$X!LN<_bHHE~* zx6t>uM^rIXHvrYL+MYSBXxa4b znNteWCKWE7v}NJA4YNm_DO^~7X7%HJORpEqytQ>U(C^KH88`B$UC*C>BX8=}&6BS1 zXy>b&CSBP$;qrzF7uV8~&et|gxLYvkcHa1_>qZ@1+IREhzh(~pXhE+J7WesJ*^nOV z#(cVM>R0>ce|K=vPa7wEozef#rxcb$`-JXC=6!iK^QZGU zeb40dJ;56t5#ptJzl44n5{r)CpN=kN=JVs+QG9UW4?8A*S~!N#FAy(Soa|uqyL-}y z#k0PAetceg?K-V&?Zv#Y`=)-pf5xYIBmaCdqo3{cg0Qth6g-#wTl$9+N>#jF_*K)% zLeG=u$?L>0UoWv?Y6Y=529Y=PD((VY-+*6uJjo(yN-&uwzY#iLUHl69W$4?@pISSBALxMwM7Fh&uK4T*y+9@}|Vs|3E6nQ9D zL`Qgdjr{J14E!wb-vi_Tzz_~6#|1rNJ3n= z8vy8nkQ$i4IZhx3;slJ8JgU#BcpW%uekaYyCBWPnIjt{+N5l%%VK8k96%7fd5u`le z8Q6@!K?u(U40j_&dy{erP)8HWBpRl#0})-LInwmWKt<$82x2ReQ}sgzyXLoR62t(S z<;)uBo!96}R1JfF?mAAaQ>`$oG9EzyVG>%C;20!kM+B%NOm$5I zo(YYyYX#jR%LCXF4vKF9v^6C;%g9~V210$doOc|ddo*?+pld4JZcUK`ni|wm-N9&t zhSpOIM(gXsFO$$}{Gpq4N@@?n4;ot>(&1`RqQ-4%EI8puUqPJc&yf+1$+*;&a9s!h zN_t@M$#BFyzGi%cg5Mcsa23=QMfR$S5AGc;0NVlIj26T~XiA1_0lDY=>`uMzK}-=(W|z~1f})tIGy&`AdjZ4~8}=bvOd~#Uk;Lrng7XGAvEC zPrZ(|4(j)^+RSw>YopuJ;A*R*f=?5)9wMr#a3BS5pJsymerPdAiZYbv{5cK=-U z)9Ws4eIzIYs6!(=qDa!!T=lHJ{Gq9#%xP|veU5M#D3@$PSl2xcdt+^BbKQNvyEckC zVq7Ftic6Afix3K7QR??4&F5~|1j?l_C><0de{MsGQcwiu0o#0AFe)hm>@Caw01X5s z0dT}ERyAT&n$RgEo@|r|6NJ^J{oz!!-cShbnnj4HK1X$3`3+NDiR85gsXI}!v^=|f zBxlzO0LWj39+_!T<$+sy0&rgXH=CFA*p~gx?lnVC6)n1TCjZIpI*~2i%iFai@W^S&0bmP$VQ=5)$pIfwQ(AKQ4HZS=oKjT{# zhSuMDW5f=o6{>NPpY}!3s)5%}=9`-;&&or!h3@^XO?`9x~kF}&mLd4v^54~KX=_z-9`dFx4ogI{uy2wwAnJX zWvWUfh??Y7spja&X)}{tucw5dFEYo_c}`g(<%F_CReN)3>D|-T#!|>YrA$-wX7 zil#`C-=oMr7#zHF$qWLb!6by$#u{bTn?R1#DZc9+}>Y5LdQ!5rr zi*bwN>cf9BfUjU4`^|RGILArXvP$LG5pE?P5kKET-`^NkOcjnH& zc3{2v;ci#u*;vq|S{~W&?|6J{?e?r0yRxSj>b4M2}9CLeLR@vzl zcXrIZRX7Wv_x9FVHw$Oo$e(c&&^K=?7@+sc#)((B*Y_eVZ8iQz-lTg4lW%Vse`497 z&6B@f+P}ww-XAU>{_)0%Ulh&$_UO`H=avt=ylTj$RYNYX9&&yCh}*j}H;(`6%;GOj zFCTO&yZ`B&{(!pxx+lOuyxDyT0B85b`O&4{-`qOw_^QbT!~ehMbNkY*tiAxNhnM`c zXYRL!lRw)$y4#we@2wc{Zf?KdZ5Z}$(Ucx17XS5PPM-_8{b_P9t$;-xybN@E9a;M0 z(WO70%IbY8tIzTDUMB#IY3grJoF85CQ}K+iwvMII&O63;OG4ir6T0n~(0%vhZpD*7 zd3Po1z$P!9*RkVZ^v|B5w}6Vs0kWSdz23StmeWT2SJ2tdG?`dz8pIjVC9bud5^ zq5#G5h=9JdWrahN90A#d$dl0mVRGa$U}~~Yn;1Siv9V?~p?4mU3&%h(Pymf?4F`~A zWE{Ds`~o%ygUA$^SG^7(+F(H9snj-2b_Nt$2TPN)GbCUkv(`eY z3~Usk>8bR-XU!LRWR8a5+S8|m0LqgFile52n!*k`eV(VNxT#R2ud!sfkyPwdO1;Z^ z&eFjd<~gWP7zhIykTo3n{1qf3Ns@7u$+*O1TuMn4BoY+_)R83o#4Qd%hr|;Q5AG?X zqGM2(-7c%-chN}l4$=o)fqEl!;t?ui@i$5Qvy)zN1^J|Ur169VccG&+ix?mWz966r z4JQ^Y5iE>=U|hsqJ+Z|R{8#8J>Js=__BzZ>HP9JIjwvMB3`Wkc7;Ve)pa@X@ zIMNRw57}pLsxLJ)RY5dl90~@}!oeU63>!}JoOR9Xay+O01Hs-knXoMTdJNq zO$|XkfQkg8#d@tZ%}+1YJ-KXYd~R)c*7W>NQ~5ntTaDzlx}6T6#|8a|bB_ktQde$j zD3=^flD*Mpt@Zk>X!xAvj!;1H*_ztwN?IDrysoxzNCqfIaZnlZ3<(NF{m6vaP@a4X z1x^}^TUl1-DsbC#)*4e!2<;pbNNy99ySav$owfU?X&#! zPXQfI7caegvAFj6Er+Ecph?g)L$Xw&l887Q4K`a7nh&W8wLqGJ&YzyBEmCVlQ%$s1 z{?(=2D2hlxg9~e_sVTjF`@+r>JLm7r1%myoApI*|0jodrn_%GH)L*@PU}1Le{PZsl zY@S&5@PbbJPE#c$DualMp1x;LC7>#y3990u{$AOQA0lHS1oso;{SB$nfj@xW&sdSsFLb6Sy@~tsoU*l6wUfm_ z9;5g#w3dPZ5e9?S#+sJery9CmfJsVR#oxFra>DhVU@BNXzJ&y@L*vikw0&Q~JJ^O>5500$eo;huI&WxgE({^P| z*`7Xmd-|k}vq$X7o$~ZVZt2miTU+Pc**53ScA($cHwtFlD42F5e>y>5p5=RO(aES=_buwXeE4Sz`*h14`Pq&+KOD>Kdtt@ki>roSSu_0dnh}@R z48O5)^u^UfFRUDLF}MGNgUbtN4>&#lqw^~UpISBm=oeU*0Wh72{$4`AS$&Qz{o%&e zsk;~T-Ztt#&Sduinmw7>`(zdv@VM{E%sv3F2Nr(6bNZKgV?SCmY?3?k)mXUwC zvTCUR%94=1mMehF-dp;Ik}%PKKU3>SlCW!V7XLvkOk|QN1wIlblNL$74*Cic{4xuy z`vM!#x3kwbF?;sspf7j)0uxdfF2h$O9j3*Tz=VDU^abuE=u7APnlYd+qhEr)aoVuQ zcpSbji5(8cf_j7o3Jhlqx-lb~I;&Ogyp^1~>InsW;UK|mN`(?)cx)WC2#O9ea~HQ5M2)P8F4=%g+tMHs z#c!89T^K%US&+$89$ z$-p6qffb%!)yOFWl^`62APqH#3=)nIk2;*AG+mQhSyxI?T2Siw>nPBMJN(;-`p=-!Bnv8409d-IqxONR3B4$R|{A41I}F`*7t|#Rm{3KJf@OfQE>t zUPl~jC%te*{6r*C`l3M-Ur{|iuM?3|63{4GXa^N2ye?``>{J;=gp0voKwJdJ;I6{u zZjb1)2hdmXyC6A@k7N&)0ubIeED7n0QU0AIgyO(7w;e42Z!7LMt#7O?1)z@e1o9Z% zQ$TJc2pE7^!@ApH_WK>NSO6}gh%~~>cSGfZn&NfZf|?YI=su^(<7^BEd^ABCjVu)M zIV}!rozqmKd91qPblRJA-4hKCzpUmJl0xs zeMw8@eMeJSP_n}^@DOj4lO`lPq9MQJZZ$PNcUx0tq!e{y5*@yuOr}> zY}V(dwx_1H3YW7L?T$(t=!bfnxFo1N>AR z`Cpqa9Q$vDw2UM9xL};p)zCR)$3C5ouk{>4G zp|I)#vaNh_v+C&`Yg;`~8RDY}1*q7dY`3(w)YrJ}7BmtXWy54V`!69RhEyR^RCl*l z-hF=WtkYbJ>Y+PiNhmACl%qIa9IdrwZ4J-Ew5zrlVuI3$MS>cjuPOoh(n@A{d7_{a z#_HE*hZ2I_A=C=Lf)~0c8Sx%#2ZzzDac;2DlyF4&fFil@mJ9{FA^0$~+A~eHfCiy4 z7$4!I!AMkR?mVG!;4jRA=AURjfqmh8OM6zg-7hkio{8zLzNWk8dpjN+Te~xBdU4K--OHx#$egkxbMm%~ zshj4GKCymo<*8LA2h(qFn{#)^yt_N*-rhRrR^dz_-dly!Zx+x{XYlpSG|u_bhKV=x zr##*{{l=zodlvS|9Q^T;L7x`R>3MGLh?`r+-rO|i>iUtF){MNca@a-is$mya4Y^1> z7|{1jcCWidi}z%XJ2>_CSJws=oB;s6r-6HM6l0#V#R_~=J4##_D=t}U{tp|>xcMntqaL;M^Fnt_x5^Azn)N@e9Ts5_I(AuGN5njz~&^ABw{=;Z_Xry z2XHlTFEd`of^iP$8`h}f6ggt(>jL!EWG5VNJS*a%>?Z)W@f4$9>h%T2pls5-Wx-tw zle&D7M*)3N2!wwk0P`qe0>FU2hzfB+a=e2X`g$Qhbu5PwxejNYAZrxS8jQ5~n*!a6 zF>`+%a!-UzbHh&RHkCFuc052#?A0|1NKr$^8zjE~t} zh#Os(#*!pxFODL>D@g=aT&A$*vbWMI&3?B9_yK|;pH6EV+6xj4(RyP9JCPeSE2q7!slL=@tBnM`@a7>> z91jFlpUd1)B5CcK(*P-HBAlATU)EWUTY{U$KyfzZi4zkQAc@L zc%p1^LTb^KaFZ=ISspY%QK4uKit5(_5`7sl>QTh>iWr!12fjW{brI%TmOPT*BS|j5 zWDO{Gx23kJ>ao|>;&U|Jxv*pVvLEu(|N5pQgvG$-W&QHgzsXPgc+a}wmyfQiDZSxw zv_esh^jQKb>IA{Ry&gO2DLqOy~PeAqPemA|AXvC^lhs6hcA?yx4Gah3S z=O9i5w$0FI*gbI_4MK8Ttu0j*kI$dmm%VdEU+R(0pdElYn{Uvq%^~yCzuvW?&!g)H zVaz!>syh|{jV26hiGo#RAJmEFn2<1p+{vv&7%*OZk)Y2}S6_Cu?9rvRhSGrIrp8NE zh=!^veoI?RwW*~}@q6$z#7C1#&EUU=kRE@!i-u)eL+SO(M;HB$CbS;9$Kn_QQ{JMQ z&(To%*xptfj|QmS({&06bLg@+%YJKnJOmqqYN47p+#aE^tg^pE2qglNU7{BP-n0_l ziAWk!h}RIE7>u6?EeaghqdKgK(@evx1oWj`&{HHO1*0teI;JVzOSu35|MW>jK~(A_ zrivq`bJR4wOA=pX#0ic7-@-!!BPIOA@h$ZItq`;dM?DZQS3NAdcJRo?^fNnFwA?Rh zdvYwIHG7)xwBFhJ=)~IX8PoRU&MaCseP`B`9T}6ircK;DZ{+!H3u`Z|dsMvi&bGPt zcFe!KeeRv@bM9=Nb!Y3$TLm+~0KnAiyLs~EjgxL{nfz$yjJt)C_Al9}$z^N@=x2VYn*=mL(bhMdmod1vRmqwD7tkNe+l ztQ~xM*?@Do{m(2PcqV7SnPt?MdwLmdUvxUVKL9P@?#&&uH;(-9$ehp4=JY?qDEDM0 z_4jfQFpw}FG4L=wo81=>w|LGs`QtxcH{?%i2mX8hs6QQ@``P83p68Zv2QRN~g%jem zo=2Ag00Z|L9m2$EJrTq1>0j&^N28sS(0A9wZacv(e43q9|j%awrqB78s-qJsc3?udTF|`gdy$OPyV-iOE?_u&ajYwZZ z$)rV+Y)%bWD>z|TyIf3i3P|f@0&=tfvI>|4>=#U6KiX9G_0X65Ayqt^aFJo$;qDXq zg)c?u7an<6&`W?&pkE$k1UX5h#N!kLj_?uT$pBJ@y6h74I_R6gtHj(FO&sB=$iRn; zdj<3rt2axug)fg8PC#F$MjJQ*{nBV*j>G`}%zl2#K)(!qspA)~Tj71a#738|9*_;_ z8>P90fG5Zf_xg!`6caxd7C5z3h)ZgfP(@2+Irdx?^F#R*7gJ6a#) zMBxA^LD#+j#gQXxxEhAn`#MTK4if%{AofW}Wxx_PS%a!m@>m?!7U((q%%mI9u;O;K$zB&up(%(1$`&DWf$Y$L0-xInXbc<|rcHtX zeNCF==|JujzsuStx$Tr=TVqqzLsMfV)Dn-!!vVLov90zo&^zQ|?^|ibETTnd3s$Zmdc3)@=9$CRNWnUID;S!x7(&~0TIy?`->rXs zOLaGS>|RTOYez_0gb0D}Kdcij75{MCq_zyiBM%8eIbW2_%U; zP|3SmneN-h@kp4)Qc|~3g9w+xvVWs)sG%sJ8*RC z?5$bfY)SjPFst_)uH8jAd0F4QB_EyKwV<{B88-!cuQXQOmc4DX9kjrhjGJAK7E?>5)7}!&WyDIQMh%(~+P{{NAjE>& zYaUbe<4bj=*8)B>L0{Z}J__hdRs{f3_c@#E${+X~tu(EGtPP=0gn;38JKH3$i6-Nq z`sr&cl%P{xUnV2@u9UdPrHKR73#zNg^wFFM6^#cCrn2S>e1}W~>Rs|WU{p{wa90@m zlC^{pLc>G2Os+hdpqaf-?iZGj(K;s&AC-L>vrKx@U4RBxALdqczw&%>szKg*f#yq_NgawhUSd? zB7Mkb2Q!D?-ZA6BuIaY`de@G;xN7*NHN!8i8F6vdu#2mPURpJjdU{t3I=@0d-$55v z3_i20&&@59FKo*y82KMpa(i=sFW@eLUh3w}A_U9$w$F+5o)^~)yOckD!@z$#vFICw zIholTSodTG16@YH%)P+^26KQuXR>KN@SfR!%^&yC`k{Z?F!(=qjQjJkg%7Qa11^`+YP3pFN;%8OGV*;fI*kY!(pSSdPlCU^`4-2zJm69ZSl@l3m z#~X7J*mOBDB7F@dlNL#mqb5cRCs;t=)GMhB_u^${=xZz{jQ2tk_!0Ewoo`oik&{rk4(^^x=Admn@A_{@PB+p_EsVN=5 zJXx1;yRp>s3v6`xCZR9ATw`I%4)o z$=K?3n6J9u#=naazA>#5I* zkRaoBA^;PRP)O4y75YP)B(t16c~z`!&Wu)xiZeu|XP89f3Bu3LD}0}$PXs3X%o~al z^aVb2JE#XWZp`&X$%xWOo`_~8eo}w2rlPIkCz>l6GQx?TcvK4p{9cbktTiRVsK>&PYBh;2+XNcnF2ZW3gZ; zq|lZv49@*-m*jO(&l1$p((1KacaVghHyz(H080JL0OPrJ}s-nk-pGc_@CT)7B6QcxnADS|Qu#vo)C;p1aI-z^HKC zY5FfpnlP&dOyaTDS3kSmP;oCPTb-6VOH;Y4ts3Dq8jwZS3b8VbC%YF8%DC>bH`i1= zs(gCGZLW=lRN*$Gsvx(+-s(1+{dSwK_}gQ!3BX?tyS>iTT<&VE4S4Nwu{ai?9@s(l zlwV2IMNA4npQw;7Y?I`n{(pKLbuHc_gi}CJnG}Uhp>~*UpX|5Or!l8Rayx^XiiU-H zgl0+ZmfGi6uN+;oJ?E$VjPJM$_m_G>0eW)?^ln-DN%5K?H_sNf);|^VUn>hvG$OQ!4x?3;U&rMb^!Z_0t%E(a+w<|?p-^+Y1hiWTb6!WnAM8`@EhcP`JjT#@3-gt@aV=N z#0YIr6qhXXhTimXCyZA#ln}s*+kZS352=dF(pptpcBkUW6^E%R67t2{LlM*+l?rv7 zI$CNh&2@^;1)zv(rNWDash^Z>@4uK(BWU^YSXg$pR6MxQRB*uKQCegHqcE!H~Q+jk>JZ~hF@9@2IwWev}!O7 zbr!w8%x81@U0gHt_MV(|!@FI~`T+qhJ8!m-V@^VZ_m_fg1+> z|4wE6L?}0-*GXQa>Qoj^`hZVl_Bsx@%X5Hn{X_;0grvkL$;DlCzkwhWZswC#=f_I-j9|O)AYKlqCS%K@|ONSA|LG^ z!EDCZ`5|jYBrMwB&z+t@DkYMG8t|D&lBf&r1q#apkLAdNkcJTLcfVC)PG2TiYEQ?C{4k@ zdyx)PV`0VwD=Ye!|r4tVWTS;cSE`q4HE8!XW0=8#v@`)W&`~u=BDx_Ud2yy zeI=UftNLhxW!}R{bihi0z7f%TEQ*3T+40N6p1I4q6Yk<%z#H!9X56a-Y#Vc-3Hs8g z&`4N7U*KNAY{I?9K1QN5IY`i#I2<)r*6r*MN3kTzhkOZf5g1r-dn6WzQv?QdCFZ`g zU=Ut@P(vziO>#(HtIyTucC@%`4ffXZ=8C(O56+d{Iazk+boG;~_LlO1>InkAL3mx( zspnq`C~lwyv2i6O4afoqhL~_2X<-Tp6%{&(W9k*)B^+6c-;^jursU70whPAsg#-T* zN0N%M852Tv5{2$Mh8bi8Org}|l9WtWkoXBo{=^X}AVQoXi<%}&k|z`nz_sFPqT+%| z1a)JEEqpUwr-e*KY2ayygmXgS2^=m6w-Stm4CdtU2zB={k_-pYI6b^tEUlvx1d_vv zC>$;jiidQDe}Yj~fq)tz)CXuwu|q|mgz=ajkLvK({eCa$67?t=S_kH+ND>GpL}dx7 z1ds`E!sn&b09w&}{BD!tGsU7xJPu^xbvmr7;se}pIhzA25Gl|HDG@RiiRi(gjN~AB zEEbYHPEGbfwb1BnZ4F+BIjDMFwidgk5z(SKcSOUIyREV6j_k7%LJUVW$?vf@JKCPx zEKMj}hzWHCoD0a#j;Im|dTOh0nOe$GKoAlQ)8}cEz2^3?5)J#Dw)&R360fZ>M(a*R z#RNg}!Q10#n0`l#>};rce%sVg8qu8Q<_c?bg~w87ZY)O%$a5I}wivOAmKP#Z(}A`Z z(p0~zuHxGBM`z4Uni(A6jmfY;Gl+gkJ7+ER<^ zKsk_Vh>6#Xl&JKHxVWkH3Fu2G7xq?>eIB2=}WJg1jHZ+_b6d)JS= zdug}BT#w8e$su7ToX}6c7^97~9If@GCAW`VIJElUmPtF8|B#pV*@gx09?739`2d-S zT$e&8{G(6TdHrJ-L_}Vko@#7 zjA_8H1pnE|DZ#t}Qg)yG^v_NfrL{DaMk7i*8bCP{lBevG;safwf?_ev>oM0=JuEM| z-q!F$m0Q|lXvNeS3~L?=2i;Dyxv|V|sfo~rWJ!AqrHICWfw})xWbK=V|)q@W!D?~1LZyuR{LK=q#GuiN5rw#333lnw90 za47kX6B_#pG9+MK;@|uarGh(Ls=%u-MyNGiQ^O(J3yp5@gRFY2dmIh5A&3JL7Y+J6 zc8}X0(EKo=u!ww*8w$bWR})3?3c__Vuv7pXMdIhH!;3J9kn|JBx6t=LpF{<_t){x$ z`|ljxa(I3E^Gn+;PYy`dr@F7Y^+9pXje-NK=I&oHYyZkw#W~XeeRpO|+PY}$-2>Uc zy^o3)J=(MI(e4EgfPQz*y}y0--EB158PNAm;S50EoB7io7tMUQW7^@2!OMnyv0+-T zD}^(k?45US+th0tMqgb&`ufH(*Ef#7wtf`&>e}I#*9;SUbxcgFYHnX(;|sa{&n+K7lY29J0rZ~C0?O@$p8&CdyFkBU39C~E_X3~J>V0%c z&)w6%EFAN}h9SQz82QH&3%16$_)h8BwePqs;TSvctepw&StU19?` z3C0z2p!GnQ_7>tX#sIot0AR%n=nJF%td_tT$?>E`& z%L9_d1lo3ZBoq4e>H_-u9jf03rgferS5Wap0#b}toT9}u2>ntIFm(cpj^!wC z6wI>GG&wQ4TP$r&Vj~Gn0Bo8I%~{iF4-E2KfJpTqFPltENZXG`@VJO1LY>K?KbdfK zG^MgoLGaEA7%>UZl}g49L0kh2su)7!7}g1pD+IYEcdMoTe$~UXWw(!1+&NNu^U(9V zCmJhm_}pe)M=7DGse?Bbr5;N~rggC3kD)M02H|n=sIVj%n#zQq5Jp^2lDJ}ocs+^0 zNiwb`h_4}=r1OmN=sbabN%usfFtUt7BaaHf3^HQrO2$2=mxUA;1&Lc-gW)eJ7~lsN zloSfk;z>+!pdkvaN0cfLq!lZm;0m`FgeI{$JXsr@i|gVi2Ot*KCPMvHA;g5N!#~#p zlF#cv%_1zW>mdc$jZ20Khb5#KAq~qaVhD!9G(?ue#57gb6bUK9vDO2s%V7f+rdC6n zC&5prPX>4#kwB+#6ej|@bDSJMl!2nBFIF8if?DyrT4hgbj7EKvI}gcxE{nrd<@1`N z)G&GSFQH#}(#VdEEA4TVmB;I9gZ~O|+3zx0TFW)R30JI^RYAkjb(02t=m@LRR2s>T#%j? z-;EI_!8w29(9l4rrecwx-wP;PU3$yZ44_pZ`%JJu)RRlN6{bb?x$SmKv(w(JYmSb1 z5b#*`Ijn6}EsaktZ54{o+8))>#zGw(fU^L&Tz%AAMa)2m>NXZZtpzlN#$wQbb|n;6 zVl;D@@Ef&M)DmeU>MINes7C9S{BEz;Df^ru#RKCO4C=t}G}wmfu_GWkA6?zIb49;` z%pZBpr(fvs1SSOD18OZ^JM{MXT~2ddJMEcF1icX~eu7|C+>W-I(i_)L7aS>=x^3Ba zc}qXZOZz-800?gjKZm7fDfWUY#5Y-o--SbYy=>O-cneVKa_A?Ch`%c!F z38!~UjN$RP*V(pz)A)kyKHGB#BNut;-_cawrJwG|`RVAknYYeut9X3g)bv!7YPxT10t$VU zq#+h)Z@_2aSX>E6=C=CB6^|}9Rop={iAGhzZPcKlQejPXT1-_fEtP(sojZG(41+_& zkgoIRzl>0eFbW;88J6c%XjA8Z8L8d&bU)Jy|j4Foq~xQru>jK^z-9u$2~r{=uy$^>l?>i-#GThrg1>O zH#UyGxpCC>4Wn*=*N?cicK8+Q`vvHw-HdLmAAW1&h+7**+*~*0(#nCSvicrc_`}+f z-LeOLkUj8&tiJDN_Io$I&%0^8|B&8`IHT9^v-Aeol z{dN}(c>a)aZx8DGozx8g_`uAMk1zSo{%muHcJA5nMaSlRd~o(>TgQBOd;Kua)!Yc) zwcKX8mfq6eLny;v#V-=QdB_nVE19&Fe;ac=uOK5OCgTzjc|XbI;0eZf!#a4?KhGSp zGgv2@dL{Iw0mcMAuBZWhXgs|rX|5> z7k&f!3g8+Jvyi-m6?H5#^cBFKR>neUhv8;xcsC2&3xPucxeI<4*)%|Ph`x$5aHVtZ zccnKrN;gS{Vss%~rcgwQT8L21(%!=1Kpf?uxgD*~YDz9XzkRIy_K|0|jy}J4y1x9T z$7up8qyDQzS8602QWYtnNijHK@Zb#Si+Y9=ZzT8TWGM7&NQ6nvlW`+K;v%aSbw7Zi zUAi8C%)ot}>P?83nhBgPJY+oldJ@s5l5vA?iNX|88CN?AS0GGS56Ft_2dYI$llrs% zLyTZB5DHP3uMi3438`={=G@{g&c#JMB61{bPV$^@Q6-8KYE9uVB4bPw4eGMr=ZwP7 zOF~})dm<{saB+r&

        Ir6a4N{90tT*}oD(X3*lp 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 z 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 diff --git a/src/gui/static/dist/assets/img/lock-grey.png b/src/gui/static/dist/assets/img/lock-grey.png new file mode 100755 index 0000000000000000000000000000000000000000..3f835e7d9cf5de76ab44f9e05ab7f0b37a253c69 GIT binary patch literal 774 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

        <~zO3QP1Mz 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�^WwPR95bAWszN&j zM=7DZ{16?TR!`_87GVuQwfBe{aF79|UJy4aFp2%9^n2$#IHWriEDk39NW0g_(%#pr z+hqIj@TB8?Gw6(?!_a1)Z@_`^rYh^v?tY;M28ubz%0A6gZoB;h9GaRJN>G#N)7q|j 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%0A144f5`%SYghh4&Z`KE8Z zJbeUWe%NblWlWB#4MRc$q`#2QKR^0#GyWzY?6`i$>S{kepilhIWP)mB6RP*g@ADC5 zt}kqkgt43buI))l8e;PhL#ycY$OV`pT?yVRrAu)(a;5o-$#1n-whQ_vU=T z7=ZXzX8}`RaP97sN$cPEEpNh_F2UghaoB}C_?yU*7|DfXGGuqHJIVNRlg>@FBg|yQ zBc%R`I~&@X8GFT0A+nku*5_Ls?!JLW*96nlmjm>7|$xD^84^ocP)r z8hWzQSJ5&asw0-IZP+WGMdV2XFijKD(5Ui4*iP#xqf5 z30+O*lkKKQPw0AQxVTm5{X5$%V;$Ee=lcoqH9Djzlke@zN=C}z8MlHTrJ$}ZnD9G0 z<1tKD_K8jVIv;Yv^0E_-$+G7C3#{an83+;sm$5(|1ZiTabR0I4AX|p?$V(>#!^F@# zZM0|ZA)>Y^MQsxmBlV_`cx+Cr^62iV*RC(_?k=uQc9)bl!Bux8{3@?2r=vx=63b!Y z)OPl@J1@LXbE1{|NOh{7kVVEeNGD^G?#$2o(${!un)>D)f!3{h`U2l;$09WhiLD+q@ABL199WUcQBDI>O#-;bTegp{Huhd}wNEF75!0%cp;^tS>n zJtvwe!tT9y?ogKfByzAVgjgwi<0c&g5vkphAK57FMT+d6pm3?&K3)SY;3Mu>f8lWd*h)?VJ;kxK3JdtPCb4t)JoEMYL3 zFrpiO5nF8S^_xG0(I4`0Jm!w+Q@T}OAJ+V;^LcdJ{~#O}=734&i}_QVR$lcoYp{MEqXz$aZL^_?`6FO6h@ znIK3|Mp^jg`41ksy=+&z;u#!FC@(Jlm<@(FX57T>z=V;L9+!{)VE57Y|CmQge|dNI z@H?4Ya^l8`F}Hi~vhwTa{_gJ6-}}eA=b!wDc}*szyqMquqwt9+Zw~m)%e}3dpt1bQ zNuRJUQBf2yj7;SZrL1Sd42CJ6FDdqYaX-(5*@SHh-v7{6BwCUl(?=lINhQe{8AGg`F$YoCI{T&kt@q z`{dtYMeHeyvD*Z#s>??!9{(Au`~HkadH=@FclUkv;}7T^wJLC=t3Jll#@XtgUi`3p z+so4fuj>(5>#Bl%(&NId+b{jJxZ0?R&#^Of{B%;(34uOtrf!rhX=Lc@55M_aT<}si z+vI^5JhH%Jx###O{rck5tT?PTmrHpp3%ti4{6Df zIa&DRqaW@b{rI0z^<1jN&eZFxepdk&Wp+VVcT8v25?*o9x}Uf?<|I|fQOv`qRJQu*-!+BQz9IduDR=QsZb zZ^2rymF^NGwNJO*!HJ;9hqo=w%h+YwK)fAy<3rQK|Kgpa!XBISKw#h#7t{`+`vhI$cb zqEq4*_%2SZKx};S)`!99(c@?N2*mk$*ApLC^xbr~cz2v%j`esXcDXTHGZi^z`!rt^X)h9@Zk#zWe4gy2~VZu8)U|X z)FW1tUkt<%bV4fp6i9!yHBPKfjr!>Bg@7+T8fW+D$;Ix|ryTc@d$D`t9`74x67~fZ z2^%xC)%YI2+t~PGwrvUfO0Y~zsO!Lmkfbt;a)1u?_WWb|G1lO$azj(r^fAx;LR*q* zyf%EH+$ym8@LI&bGDC~6wRF@Ldt>7#nn|)-NPD@PQm?hP2oKmo>f~N~pL$ga$^pAG zE9~(xvw|G!MsHPCc*$o#SOH|iUpx3B-jjVR23!Zq3<#|(o&YM^5FS)H;6tc92U|^S zI4~{;_UcepiO3hw(3lb|=-4!qe1uBQd;+ou1#%)~m;&oZO|Gy`4-TX8X0QzBtFW%X zqMR3>{9ZOE0B@f#(Rcoh-T9k;lZhZE$R57Gd+TrgquodU;(wrMJc7xISp2$xC22k6 zJx<#9B7!&-?FEEsN1>LBkNOsZL^ko(AZ@lOi+szo<{N`LKfC`e1(?M82`dABl9h6K z;cQM&{QC6hM_eTQR!?HSgWR72x7rn}g75ZodtLC6;Kx7v-Q9)nrORr^y{m6_T5W<-gkKZCacN5$AsC>?M}b*U+g~m0q;=cLnpUx`#7s7J1I(N~8O%TTb zt#K|s{n75xPyQ*g51`ApP4vNnLZQFq3&@!)l%EPH9`)db@4a_^DfydrzMJsr$3M)3 z-iyo6koR$1CsquFmydJgk>20g-D1_JexLAI^eGd&ci;L>CN=NB^WFIJ*^mFvF4yWy z`C52|{MWr7i(juD%XCwC9sTpX7@eu7n{Y>eWN(uBsx&bN&v@Ve$6ECPdvv?<%=h*9yyVT-=DJvOYfBg113PC49!)RnU43F57?$;02|Mz-anH0g;$ zWY_ulCQTg4(BromeO7KZl7^_RJY^@C4$u&Yqfq%RNn-lKBDqf<@pG<|y8)0MTgPdx)Mj6%-p9T4Q8Rf&)!)^b5MxE( zODFrBgy7oSi8vN-WlqA6SvYBP!p9IY`A6PKu&i+79oyn%rClx@DHaaZM2G3MoJiU) z*_`-WACHxm4`AR{{EHkJgXv(4rQdmY1QX*R(sJw z(0Kvoi(FIKZ}_+iW0Evibf(UMNIv-RUC2TGIMI8XA3yVmEi$@nwL4+RU0vG5F%H!H zpmD`*;T8STk1UDjBx7m{n%yIJ6)ArCqwTC0K~`YzJ5E@cc;)>iOuVq?z zP)Cd$iG-mEH|Z8mohXWI^$#-&v87PE-2*-n_4b?R@wFzMu^?{?%6DeS`mTK=c|+e4 zt)QI*;*@uvjSr(79Ptk2wydis@0{&kJbjis`V%It&$;J&`sDfU36J%@_3j;tld~lr zv@>J6O@4k92M$HlKd1*~8v8(Ubeq4GxrKr=3S<;E%HXg@bW9Jo< zuMqyShNHK&(-)!~+dcMo$^lU79{H#o>wTf27C6>B&fkPHGOKUOt-g^}%ub!qI?1v# zJFMYH_I20_sQ`cU4n)bA9~#M;jhTa2rHnQtOm7_*4fCV8ISehqGm;mmDw}qQn=qiz zf}z|hGakX5Re-UhumRbFLPIhi_UL9vg;qmlF&&!W_n;P9uV4wB=DdjJG0FIiu8(v+ z=lyUOJU)5(-haG%>zDoktNxh$<59dlQICU4LC@2n^7WU@)0@x!a! z1b>0!wXE>#T^p8Pza7$3h!WFV$*+W!XuY*guTY#X);{Mk&9nR8W}?hTI<1GY@2^bH zFL{KMU%q^l_wvyXvE&L%aR$3EuP#2?J^S=easnzdC3E-fU&<=Fryu`d_vEL)&97Qc z#7$i{2GNGbMbmS?a_pnG5(967sn?4Scvs#Z@80>Pf0WgR_ul#5?$akcDjFfm$9oY^ z@74Ph^VMW3<^18d@yQ82>(z@g-sQ(co5A<`o$~RK>t`Rpn)eZU<6d1mLc!KwPQc(? zF#+m|!E+`GE!*Qi|84M{beo{VRdy*;u8Dnw`QpQW!)n93)Ytb}1@|s>`|j?+`@gyS zm=%xtI7u2)4clQf_i6pVe)bo%7v)HMDWlJ}vBg9-eQ11(LO#7e(~Y&?%w!?|BR2= z{0b9)KJxsp%T^|E)jtkH6aU{=7$3e)`(j$ADc9?4ypBHgeUneG)456Z%g}DJHNG$9 zNPoM*_BP(Pt(+I^v&d$QTj^aNUQowGE`&`X-kxG^Uh**PbOZ+#jD zqjInA8%MF=nOJlVXbU|+lOIPG^kIo*dh(Nw&#Rv4mYsq%DOvS4@h!0!G&u?@d6jJ^ zI$EXn>6@4<29oKot#Qy^($E(oDkeG~V)LgUE9~gBN?nU|pAXL+Vbv)LG>8X%dl8JT zN+eqM7SAQU@!o^oHLucm{KT6sR`WP+2cv`v&YOHy>()>Gy4fw!y6!37+MLmeZ}8%F zKte&YV`%=9b@Dz~&1uy|Ui}K*4ExAhaG9XF#i z?VW7o@+XXTjH*{1P_Ax)U zC*HW7P-qk$fR9Kru`fP3qO4m-ndO?&rHY*CT6Z(-N*INm8*Ba zaFQmE>3Y5a;u^a8UiTAX8DYrR>#F~l1 zmsx^^On&HxF}ftAIXUPtB96>5$7B&U2Uk4VLyKr=>PV+RBy(LCLhW)Wq<&;tCZ?FM z=ezl?W1G5xWm!??$6+RpxSqRWh42MG8u+NAb#utnWQ$J{6CLA9^_rHapc5b0{S>6@;cq^p6;H{lFzwfB`kzl88w zo;5wHQ%B>&(2b#OeQA7ce#9Hk^iAq5dUN!Z6^>v=fBc&K7x|(bI*WJ#FN8o2uHwoM zU%KhZmv*|zqOzY6k(iC0u?J2P#)RO=Aat~0o8Kn46j0fVybc+O9LS^r)RS&Wd%#QE z1_vi~jtnHrE;x-@&X#T*X&mX`=ftYL{JNt~4=$T*(=th^Pkc(D_N;#h!$R-~7#N#Xa2T1OUk|&_2m~7RRm3<9}Mb^u{K=Yc=hy8 zu~(CQb)sDzvW_`R`-Nb9^WzmyKm7fgY-F0j_+4ZniB)wjCptnnVtNnRg`zJ2x} z@4|cZ!N11O|B^|zpJ%n*ud`b4U%-E(FtYNKHr@Js;dqg1x#M%{U%H3mIvFrFm$;7; zPtH$1_?Nq@i=Tqyqr+b8Trg4UBf0-A{o;-Ct!Rysr{3 z`e}D`L$W_Fyc;1G{x$|9I5_r`Inl2AneZF`W%RKVILCZ>D_mqHmCk<*BaRv=``B6mqk*BsV?eVm5+h_?Wlquj%bL(pLM&o#4q` z-rx8B{oVDCAM-BSy18Ry@0#EmMEtc+Xtm8}vH-q+BNCP>cDu!X4nHO3k=f*?=m2EZ zAbCk^Xz7&{o0)TvN;$kye)g1y*Z3-?U!Keu;;N#6xocooZRN)A0Pf~Y>NcKsnLC}r zm_GLOW|#x2YO{GKp3qpEuTB2iBMpqr*MWZt8T)kVW`!Hv;gJ_=>S)-;q03vtFeYAk zpO^kJ^6gXmoaW0)Hm;K>i*p{%vDwf3f&BLAd1!^~#0?WDJhpp&eh%M!J??tROpKFZ zc6N>wE+<9suZo!KU}*dPTi3t!Aq{MSI}>iX7DCTS67|KJ5E-%}x!TZ4Kaa~uXp?mO zP;ux{My4m}%;p{?@}&9On-I%uXaK|@h?na!o^93_KLB#YCyJ+Z`2sL?cZa%q!Q|6Z zj=l49f8<5N2@I5Na zZ8;+6@!yPtOar3iiZ|=dxn(B~eWW}St=RT)bNiio^}!V}sCU3)s85ciff{8^kK-OT<`iN_y;_??7feU&#KRH zVzZ#70c@O&L}H9Js|wfhL));VvxUu0yJBfGw9YsG7BhQ(?CH*ZzRJsl-ZLuyl4Id9 zUtu{r=YAah=T71VWB|ynVIz~E4Ypu%<27~oi&$}1!C|g6(?f5piB_>=gW=ue$S6-d zAQKOL;-SCBhY{Q2W1FKlv4U%QQ~a6}ue0$w`uH{FJ#tg>E2^&$zUDF~#JbM>62=w3?zK@CxOA3mu4`*=aTr#tdx`PJMQv}U;JyIw;NO?3h(63 z+h(%b>LrtBbs;f6h1EMTtOvKoOFejsnoT+eSz&l~kN2`M(c>eVuHJio`J}ch;%(!l z-~BbzAmP`ci8t z>(BUFl$3j;S33+@r_VJ0yIP23#a}6(;RIPIGHCaB$u`g4lv+@tQ z`s%Fx%XYM{*$3Swcw(IT!#tdG3{ezHE;Jk3ITz)JDc}+D)6V6SQGwj)9_vHphwQjct4s zlVdUG4v)#t+uF}SVrM&!q#xeq*Z?nLOFr_e&fq9N zY5A77H?zm}<@qM(Ua{9UBfA~*rpK0P@RJ=o(gy@;v`$r2(^Aui{F_uim$qVjuHfe|Z^G#Eq;H`*{aTci!8jRr zH-yG)m=d_jjvRo3bs&6*Dc>y+5#IARSm?5xkehyGoOhPdZ|Ekz@2)0MSiQ!ooxDFU zT`N;LOnUK7HdpU)yjbMOaLwpsm|x@d8rJvTxe6{-0>0OqH3^79?0SThQ}tdyCR+4? zKdEkchaZ!F(?3H8Czz2beaq9Sv_a(Hr<`QWrwpxVelQh_gmuz>X3|M&bd|24j;r=k z7Sg`MFEZ?M-R?va^vf&W*~cWPxX+mU^bucuvG#nt{))$Wb9idgfKGg!bmFFmAz$H5 zVXqV2=C3%)zQSvo_}0q4XrXMo^k-z{k4)-r2pbU_O(V*LSr!X0`OEpx_wo6mpscbZ zK09IJ@069sCycM06a3^$++b++5m3i9`=xdBlE=rdeD~-z9~^qlJN1x$N!|OHt~#zb zefFHkN?q`P%`5CZK}Y#3-xo-po?9E~Ywky#Xtdj>D^oO*Z2VbIV4iSq>0*;U4U9m` zEpO}&STcGppM;A)3I@` z@yDk)s1)?EGrml`@**^Xgi>17S07$uXX@xR>~bBPj135l{6J6sb^6kknJ{%YdMj^aws?#f&$cm1s5~-F_kf%O zbyOzaRGTn#V?*GMh{G$1eff{<&iO!Su$k!5v(KDQWRx8~mXkgmG$OnCfp1d*kV*EgxTGU~|A`Ku%z= zy~Ryxe(6B%HmmmxFIbJ27qv10=vPgzp8kwUuV2`m^I?PAyo1gaRkwIYhW({3YQ5<2 zWv@;K@pUZZ4A&RD=Z%TCTTGy}Fx16YPEek>-Rgp%c|4KXu>16f z{}@|L&~cHIR<+nne7$_}lnJeG<+0h5v-?aCzRyJ0A8?McoI1?5RIOT74s3Zr#l)B& z{p9TF&13Aq$eBu=Hs9Kb5?==JdYH=5x*Y& z_bosRrB9styO$@Gs{!H&as1eyGqD087bCpOf^zvjzq5O9 zXCm|Bqu*sx(69O$YA=9)lMAc)uG)P0(mv0MJ|>ehsp`ve4ki!w8iy$nE(dE;3AyQWSOnvJ6lv$=amOe&O+(6TP$ zV}kD%*Xhq$f#&18Uc(ld6>Oxhnc%AlEv|Jht}-Eb*LQfa%FRRmgdgHBd3jo`e)A(4 ztdzpVJRWP|W6EpPB*EeuRGSc-?DH6?JOqd}0mw9nvok0wr;dN|9(l10PSD6pI{Vs1 zC&a?EUQ&E_FmpU6sV?@hC4LD-G4#SIdL}Tj=P_g%=lGo!i5_>Zdc0)C-#M$EE_syq z?m4m?dtNp=0p?@TCrpYuA=(G6#`Zz~CZzb~Z%D&ig<$B{S6p#iptJ-!pKkF z#wx*zt$>gsSS)F&E3v2#{v^4|&Ywq~bKT)YAEm~H`jP#XAKM^*Vm%}5m2*uWJ6?5P zV4Xm2Md0V1k(gvLB;kZdgYBk{l{1M)U(h87X5tsz@3}BeKg|0+cvoOj-Awk`Z}b&9 z^`e>~)z~ywZJym>5yDdzQcV4pSTIYcz^C1lld)h%g?uKr#}YEi#y-c=y}Kv7_uu1Q z@QfPK!PrB{aWP^QCsT$Sptu3Mi5`XC9hD)}RL+8J1%?J!JXwj^O&)&8j0{ql)pjK#k%5AykvE99h)&2DuC)LghIqkLpZ zbbsDoLmq*w*8uToQ%>&Y-HI{Jt&%rk95~j(H|Y+}Vk61XAO6IPTnc_@JL80+E#{rU zq$`$@&7EvwJLk|C>^6E4M}Zh)(;;(qDNkfk$PZGQsDh&)MB~@)g}oT4tag*@=;- z?O$9!>8<>DNnW3xUw+JF-nYQ`#X$Sf4_7AM>dD8`yWisC?QT}_T|W9TJb#I#eXjX6 zmx@^W?evY1O824*KFj9)imxjoeRtpa8{gps znKL_rRhGK6TgnxXrR{>piHFsF*Gz~$`PuJ9;{Ln8wmW<9o%rh{Etd(s&50EY))DP% zyH=ao-j#kq>_btlRqK9W76-JL)$KVLlyQ} z+Nb)7{lEGx#L%_t`wR_PHHx46N4G8bx+&FlZ1RAYN(%LhcV9*Ji_yLoi5ZtRFw1#d z_Ko=!6JQNgG^Y+bHp(`MuL9o~o66+dV8-!IhqXE~bmAQ217d%Zr-J=%`lD&X@T5yq zU!B&Q@!0W3(d|Z|`*8eNbK5;Un+ZC_jypT8LPLtRNo+mkvihXaK~Yg zJ_L~d#rn(bv86df`kVQUa70&Tkqfu|upPX4nH!k2 zqrzQ26+>%zb;ozFSGI!5I1VuiQ4Aut1nFNkjFK^WQ`Ye-Fy7p7n+os2yZ3i*zI)Du z$7O!M8@ff9Zt!`Qb7MJu7l&(tp?nCL-Nc+_x2njEqKqyi9FnECx7X!{?1aZ{e%MOP zO;|45a4;WEU?_Ovi_|~k-0Vy6ot+8RlwZVS?1eNe<818GR6|gIf$G z2nlD{$~`(o{{PQ@Dc_Qee^Z9ftpg=dJSZNDcBrjW4U;(Ii8}DbcbhQvIP{gLj4%hG z1wGc-UiL&^Y(Vl|bD5k0_u6GUbfiqUwL6Z2PEI&cb&ttDuN$4MRx+N z9HlQpwExZz&v6PjJQe~Af4{1aevH04LFn?79FQcmA-}@Dz(dQiQbL83@wCNJi^d#F z!bl^Z>s*-exA}uETphdIhA=5)Iunv$M>q9}wEB!4PJBLRBGk#hXH59je3WSZkihCQ zeniM5&y17$VbJcn<-GO@z@nFn0r&VDzt zLkU*v3{9Y5HJ~zv&Ti?A1|vM*k;r?_sm}`^*GKOTGq7*ozr)IL#*IslSx1OXvGr`> zrfvQ-<`@lq>=}I4FiFIat^y$`lTF?@K3Gn;n3l(;V;K;eJbJ^2Tr%T_dGU?a zg-*2D;{xOC;dhyE`X-YYpK#J+GAfgNu8=~M$&#~&f1gRZzpWAzN{iAN{S&L4aeJ-%Km4NQGds&?^&Oio$ERfn8Hk>?kB zCJdi_@<&+(clYgIVWr={t+HAULq|!nn(_RN?{+z)#0og4dBoL~bf@PJqkrLwx^zC} z{JQY_CiqCihm?)4@UmhOL1gSp)`NawjCbNazx)WlK0@akwC8*1`~aShFmxYEzaty_ z`cP#u@8sf(t52B3{6pS#_;*<$_*?N$>4aSPT0=hGK^=(UNs(aPRXtf(9d-r=O@AFG1rJeA0 zqT0R-B9Cu7(KlcFy>K#_30LXIlZJYJ7?zH3z^GF0Nh3G$F@G=lS4)XM*sn{!&VqWQ ztIYVi$`9tmEAKcx`V+$sJiCpw+B?>lw+S9IEC0D{nQZp$gJVOwG$GgpBbkHa99WW+}Y!eGjrv`Iy#-b|Vf&E&EEFe1n$#=+m0qC3>HE!Z@P%G(ZXSKi%_-+VA4`if@n1Q^;{Vtlf5YuF4>Zpr+r&g<$&ajV zHf~6>!^h~!>!O%6v z#0dw^46$Q))>}l}wLc9LxbTkD%FBh=x&;K?JX_jucr706F|a@+DP8&3h0&Y%^JH(r z7`@>g=Z6litONLkAbqkP52oF14R5}~@YG3t7|Uyr;U|_(FddoBXk&slrd}tVu}X#7 zobb3}a*qXPtZq8Xqq%v{7(<+++HI~seV>`D*1WX!2+%?%_0YYzx}x9tXsfIG>~&?+ z>n{6g6iktHlFZ3LWn4`awv%24`=wj@dyzakw^Wxi?`b1FKFslCoK<##Dm`U0fhUL# zu$6uE`?@gvt|QZGI&r=g)Z;FylwbexS062_?<<3q$q)4$BfL($xOm2wR(a1db?S#r zPFcm}u?axzzsw`j)Jc@AGlQA(F2sP&;k0Cs8Yz-{PSKQshHvMr?o;fN_8ZMn z3r0f((R3QHh&8bnV(hK;nfpEP-~Yy2ySLt~K0-&Jq&HU(_mS7zE#L`-LbQEyRVDt9Rws`3v!L_1o;{EP3#*L?sxd*=D9faR_z&(nS zuu}l~q&CDIf5?_EGNemj0CGT$zc+DJ1gyc3Z)o|XHwVd?z99s!=_5XMP{tM|1O_H` zu&|O8jBPLzH%-1}OT6G%Z$<2Q449qt#4WNJIHs@s*YQT?IQ}y7%HVI>sFLNPGW1Ad1g}|>8Le9q_zX$eqv~UN-QLK zDi(BT?pAz{-i#_TW>d>S50XJ2*y2N%PRlcB)=5;HwihLR^u@IXfriJx4e$#l_WT0u zT^@6sP`|i%gNZFB!X{kvPPa!t{@=**tD%!JS!HGVgfF=M(>%KCM=S2W_1$cF+_5M7 z{J6vfzi|8L$H;@>uMeraoao8l^0VQTn$=-%{=$DgDmTWDKKNI=$3OX}@HiXGsF<{qjcNaC z7f*&hp8fQre@ngn3KK~0XCm|IhyN;*Tv1+dTq*bNFaI}1e$C!V%11x>XG~`OF&Iqz zaaH1k**x-m`S>UJ;Cu9(40GU}P@Tg%d%;S^%g2A7$-X;pew#1I&c`S$0~4R!2KyCh zVsxL7f9o!jmj7;d{~O<9;e_{j(Voa*$wdEFzst}W-3wGeLJfAsx-LK**zwy_=A_~P)^UQUkW9fh{Nb!6Yd zE8gFC%@>ZJefp>L%WpGr{XHgo{{$bn3G;XY>*3G+CUQ=UR>%pm2fV?T^OX1hJ@w1O z_7!!ZX`@=fv^0-OL!~AiQmDmqUp!L=<%c#Xd#sWezS48#m;J%oW2iABqP8np!w8+{j>Q+Yi z(HBb`;vU?6M_Ea0xi74d2+g`N9T!YjzaGCrF2jvc=cSYZJyG`lmtPsf7{{j$i_aJk zaXltA_1D^anmmb?v#gs>(cN1)(wkrOP~e)Qu2oBctUqQZn0ACO&+;=e)VYg zl$Vm%WCuqZ@?N)85%D7bjaBYJE3D#aLl!IHE*p$d7inZRZ+kWF{`H z*eDRhr=OM8y}qfoy~TyIM~g`B%JVA8Vn=Qi*dY=(Q%8IGlurhN9j)D>@y9As=!Z?lU#WCvbJRt?u4^6fUOw+9u6c)ERvZJaFZ#xR;n6ahavb%ieBZO@Dm`1w zF^QIlKiXfbB^mUrdCSpoq=1cE&}A6NC)u{mm=EnB9)|w;x`R9Euh+br(mrIE{pQOY zd+;=yt0`pti!^;nPU=)Tb?_cv-hKBS`vE-J?0m;+L_MsjySg4oCi-Q#OWEZU*V30Q z)8(JB^5v^(C}ucmW&B840usUK$+z!BuY4B20&z&z3(w?n-nh??MvouyC_e&@86SDF zp;Df3ulVqt`@4JgL7CtMKPOBwDX%oVj!lnDnN`>lAjLJrA}7SeaTa_AhVlND>3P+;~ujjhPYRF)>iTzlh1{$V&Rz}nMo~=Dncfjl;@z) zvT)NNak%kAhnF)l@fKjHu4BH}EV?0-#ELO5Qw=B9%AWZ&R1HCu6~k=`Y=iP^z^6Zg z%*laOW3Ehj44co3y#VwqC+ z`6a$MN$7^g^|Q}*7eD)b=5Q`KsWG8s`=pI}WXlN0sft{b<;^zBIYQ2ptUpLF@ zHz&L(87mU6Df9KkM}nk87P= ze)c0KFn=y}aLf17(JrOu>c9_nFDS1c`pATzgL|Z|qsY28rk39wnFT#sypI z)nk@?-g&h@gA{F3)gD6O+n0theh470z~j*-G{T$D0a$G9ORvu8O{{wR8s13L_v45* zYs?vqeLKrDj9>fwDpO^jvefuCSZY_={YqWsP3yz($Ij?@40-%R_o`_-Cy*qR)}pJ} zRyMJQ*RkVxlI+4ZmO$O4fh%7!2q=?40#@~bN)Ndh<_ahDgPnAPV9U9}HW$hpfbluq zb>ySeC1~0fjSTVVb|0FNDH1WkjxZWk2nb#7Jx}8$n^?DG-VmlI6-z-VQ5}6WO%6b8 zHBUd4S2;eD^@atCmn1XES*{@4Y6WEK@Qv9JYp&9>Fa4Fj_dx0)e#7m{GK9!=8B_Uj0&bTk2H54FUD`?IFo;H;WRp@i z*13%y`Id=53qjw;iLh50^@KK_jef^}-C${*k4juJLCl2T9lo~dDm1&MliVsh275p6 zq~0x7r`_Q(M7~SLlObG7UcsZ^Ia%l`H)Y-OW!m^?`O1g*pX+w}J@WqO%C*zHxvP`U$K;i5sJ~P^^IA;yu?kXq)LqV-)L$GK zo7(I2+>ezv$b0W+Bk6pktP|5yH*sW2F1fmw1@%AI^{S%7mWd9M`M8hGV^G#QsvLXE zlqhA$b+6+DwDObHi>&CY_bf`Tx^-gHK9)Y*vQDUF45bb{i>7-UM+X{);#$m=L*i-4 zPzx$diCos@xG5D!+vHGFMtKX)npCc2s_pLF;NuqG_{RMlJNAXtN!NcIw>h~ky5&kyC&)yw4<}JkFmv)C4}8^0*@-_bmUKA< zg+xxqQ7H*|y=~`TNGnDOx{s&H`Uvt{Z{6c-ycaxH&3n?H@%}#U;q39JDT{^h0IGf% zrR>rh;Kix#NBV_DN!0yOJ%8@~mjK_vGO!mTV=8V|s0)_GgoA)YRo78=!8R zwjqAh^l{qFj*(-ibT?ZXce9+zB!tjuqwzkdh>x7SHGP;ZxYF6n4OZFMu)3Z_te_s@ z6?&0ZtEuD24Yh4f7L_F_X#O)s!N>%t0+8c#u#~Y4B5(wt*FESUyT>NgnLSNk_MwNo zJ)u)6L)ZUaS2%Nv4SiH+6>5wsfZ}Rtw`~W)vJ_HOEn^Zbn|?L8dwaK@Uthia=nwx# zR(kz8H~fC8oq;^K1F%;rhNyE!vXYR?WFJY>O)|IPq{1bjtCwy)P`8jwg4hNfP|jq> zq3P4UVM?G5?iLO|6LTu-*A!exuP{8>`PiZj%RrIUcA4yR)fCm5cb4()w0x9<0oT=G z)`>o+a8p3-a$<1e2OGXa@75WspS*}*D$RGwImzVv;ass+2PdqpjHcsMe5tfFgSL*t z+}v3o=;8lMf9+&@$%RlJN$@!t2E?6T#!EekGxbxyc2OXTBCTv|%T#vq(l8R#m2>Dz zt!{+6VRU<_qFZy|nBT&JLw)2cwyscfWm)=0)urO)i<4OXOE>7lY$0^sf!F@(V?$m% z*{P;|rd-n1q1|1fner*ObwFHDCkEqB28GyD&rq`J+kXmA+V~eCc6#qg8=r_H=Prd( zMt{kqACmQg$-M0;T;9wirhP~yE^t#Ok_i?>{HpV618MuRl$?1lXq3}m%LZ=hx-jZ- zap_(>x_K;Un|kBXE8n?jIh+iXR{j{@6!dk%>tu#+yvnTURp#^3uhSVnhHu{VjDFMu%XKuaguwzX5@IbJ?$IPjssXR z)0mr#M8=667q+ik^@|!CqlB(~M*3h69nzE`EOz*uer(^Wj@vTIDx~ggLzA9PE`cDw z{ZJ3l8S^pshQ2_tJr&-n?m#kaNO4K8isEi1tMY}Lv!I;~hI zNmbB?jfMcY89#_q#OSy)DA@8_S(`T4k?Wm4$~KrD--7`ou-Qc<`N&l^`vd)Blnp26{3v!>Kez@|A9Sr;u7c^uY~dr2HtRNylcK2vFS4B-95Dx5Ic0Rg z_s8)=TJk>GzzV9&y!hO)@}rOFJ_t79MuA~2v2u&vw7-5N3~%BlCmNZdO}=G&cuN^p z5!sf(Z~%Mk%LpK(KOP&NtMcd^d5w{w!(?F8BxTiyeRoVZS&@ej{y zV~W*jCs1OCal*1VtT2js6QYw(b-cj;-%V~4)ZpDSU}48}R{Y?FS? zu>uABs@puWh^)uk9b`Ple1usUSMTY&#>BI{mfaPH&q?3)hk`dBB%Y6wIJBLBb@%jT z9(i?DqHXJnM18ivmSsOl3(d;pUz?ef^LWueW#Q#o)V^UmP)BKNq2$?D)Himf)_$ZA z<=Dnx%fJL{-X&;Bl<}Gsl}%S2aU@!Z;F`q;>g+j>bGn)@k8?A&Kg}0&Pk9$#)-qO| z0CB~S3Vy@`fO1uP{G|LC5S@L^=b*QYcCheP2 zl2?I@?dO!!vnNlO=;nSX`lVUI3P!a0AN42Kd(kpwpQ!QI)v&+#^AB0&$(U=^+2<5; zLYwi|33eyU=Dn*HBlT|^SjTA#W40-y$w`|`0F%B=2W8U+n=)x9k5AIDi;s*x3}*U= z;)@M2JL_m+uX)Px{^_SzySoqW?f(43Pj@7v^X?mGyYGDKVa5&bK~tk*#U8s{bL$Tw z{tPfY{k8uY;s-ydX)IY2$mZHnu+lRXZ0gv)aNzgUuQCQPXDiBU_R0lWrK%t6NIb`2 zw)6n{{x%V7ed`F~-US+fm zEKkdAWe{WfiF#8fiIHFGAlH5|i;jBMoqaLmg>@6AD9uMkzWrnMOx>|-oL~XPG~ekd ztJwrvNY%+MsbV8I<&zMYMIp8dyN>4;DiRrFV_&*Kyhmi0j>PYSWre(xa(=91Gm-(03st}Fs&95ca%VW#+mE-MX z5QVZ4586iIj8Ef3QENW~ttakRLrxEKFvf%OUH{XU+NXRu8H$!%#_P#KnX>G@wmqKt zX^)aB%q~OxuN$CRT{5y_DuWJv!X`?#kBO>VeN^6d8tjS7@A?(hw41WV>P-+B?QZ{^ z{1gdZ5?mZR(JGC;z{ffAfsSISNO$nYt5&HhwfCiRukKY|{ahu6E^X3dY^AL_Uz8SS z#kdJ)Y<&^dYxr~ArXE+BFN>>xv#F2XV6Je=Y&Mh^f3+dau+oZhxF0#GgJXKdtG;oF zrR=J!{6Y&0n!a~ejwczDy8n&;BiqN2*7t79jAqDX!#i#JuE#JukJn9XWG8O5178)M zZTPFayb0xej%>&^CdqI4t!);4lMxx2!Rk0;>!gVzKbT~a&u*WVJvL3|JZj=~Aqvgx z^q3eGedj!s@z${%llyam_9u{@?8IS_5yN0ax*iXvzvLVa%{ERux7-G#k^y=!-6auf z=%W$}Jo921AMngW7+)g4><;M4$@2!sn^S%DJST4RGX9hIJkHH;g7xEh-p-u54@hGv zf&3QMv_$hQzsZ4lWy@G2cdN@MfL96cXw~`ZlaGrV8ZVj0{=N% zc@2=d+@D_p;|^AZ0dDWfsyo%0iN4UFLliDIp%L)r$sdo#%Aj8Lb}ese1MUTP%5492(|H6EI>w3kr!%&p z?H3=FT?2gSx#nBx%9GE{1F=}ey&MfB=|AOX4vtY16rbD+-r0ukF>3J7#h&POwwKc1tkUo^jK`%7;ayY(A?dA8C)z6rsvd z>3{_yd5bNicI+Fj>?C{p#M%QNAA@6m3k-4|yZZ6MNf}2E0UVzgix^X6I~nT7Ui=d7 zY3|8@C+!C_F0-Pq?-Sd+2&tdW6D6bT3HA8i+xK@5ST$>-(e&X_IbF*Z-w>{mA8o!nH-N4#}ncfm+mE$r&Y zfT+93hI}X|s?$TyFSrIFKI6wEe+Vd}hq9q%tczB+Ju;oGL}y0TtlJU}vm>|&n2gXO zIZ4ZzG~E8XEWW_*^0J^rJ;b!5q_k0qCZG?GedcVy&GSZSs^uS$|DUmbALH!PRDDUUqE zUcM&sC>OrbbDOv7n3g_$e`E$5)>ePo@q%ycsk_Q4t1UcW%dc^g45=ru(;v`RbqkX* zc00z@o^*XPh+}_&COM&WJVr~3OAIf{;_K+QyvNU%3X8qSo8JsB2qQNnWp0u^mK*tF z`c1kcJMpp3(ARjyIr7`=5oy)DIen}!_|R?e*+w}ot~$!dgc06>AQ_p%Xj!u%4SjUh zIG}q%I-pr})^sEm**Wt}-;7G@Y?ae~h&AQYmGt8z%1*FnC*3|r>{zZzx4yVaT!n&Y zSbW;jVmP+VxM*HEaSa1XKIPDwGE0ca$TdBFL(3REvgD)6PVod23!Y^^kRfxBS7}oY z!mIfvzc$iF-54lR*4d}t>-esV(6*yMm;GkQLMWa(Y+z;ejhH#d5a;HNdR)a-n!4H; zjj`q9K*39sZAd(sB9-m#3qw*AvCT~Aiyq^YkMGvG*x0tV9=ri8XYJn4xnc7CRVO@J zdYhGJzW)?KHqN7o+qY6_(%6A0eRG7gI_49MTTx>Mc?B&=90tv^Mj`9XIeuTGofAhmCQW_maH$BOQDVuzS6o}x< z-5K?Fe#cc*z9K_mABp2AWcLCY&nd1P4fQ2p zb@(Q2ew;G~qd<%PisQ&f1=(DmAvPEBjhzVu*!x0@tK)^AA8cb&AwowD+=TYaXu>9U z6JZq`{>1R6uEqE~(NWoKk(fG@r*6h9=pz%F%p%McPU-bH@;aNsr(U?x%yq(m66Y8* zMmcHXwq-l#{YSJ_pow!|K%ej{ynb}!C6D4=UeNZg0_7&`*;7}=vHJ7O=_qc!nc?#b zoLA^5??=k6nOVL>&lmDvGI@WVM|+vT;kb4+)OD}WaPr?Ob<0>toK<}|<1u5%sycMM zgf~PEyZV{yBY6JR5CTAzq~*-SFVjQ0eAWyDKos!Xp`Mv?==;=Wg$HKYYZ;8)>=AZUbvNv742)qeVe2rU+J>ayLi4joepOJzXIydZnJm=j`` zOv=>6t&Kk7%?Pg+OJ4G9a>c8E+6#tx zY(8VM?=yZ>dW-W6mrT|C@X|jAH8}1J#4ai`yZNXuZWG3k`Oz!PIv!Wq(HYT}->WSG zCeck@Dvwa=O}ti!PiwweAt_JZo$X?W?og9`G9w@r0hJ~s?a`2kd^>nh zf|nBq2Tq)#FqMU^l;5f8wKn72m=?-Qs zPwJ$!Vq{u5YWha|ZgL238&&#j8NgvxfwsBK_bi|nS#3MiWlmE-aU{cp}QT4@$ z$39GcG$(J|Y1?wfz_{4-sI*>njIQdzn*L_KH*pdsHY47eZ`sHVzkS$_hha)5Eri=7 zk|vumW-{_S9O#gV2yy(AX&9kN4_)C&%QKiiq8*5>KG?UFl{VWEZH}#S3^_&7*~;Jg zo5?M)hmH=rjnxUGamRR$%h-guwUGduvY8H}Jo(qf$8zMS9|@arg=5xE1Rxa@pR{uk4(YzazN2>MVvLA zNr|eQX4ECAa=Ps`Q^q?ok+p48C)n)cMtc0<9OCOqPI<+Hk10CIQI|p7V$(J97#;Pb z9@DGjePpN%1xSB zeSPmfoNFYq^SELwwOq-j>@&3Lhc?pID!O%j2+sf1P15lJT0-+pAJB`t?Nhhp25V!e z1aXe7!BEbio?F7iogIS>QQ+_*#?Ja631PagN z$FF4O7)pR9zd$ui{i$9@9+3g$Cb_L1D3^VqKM zFur)kL?7kwSms`zi8X+DGQrh6-jT#l==Qhj#}>2twr%VLft!52&jg|41v0vdG=KQf zxfCOXkiuW&S~6)+zIK53BifhrFn0tX8?twE5o=J`mmPNlTqZ=99 zSH5kVU>pLmN39c6Os+BBrm+zA<0(08lq4@?#*x&Mx@?XsGTa%ndAe~j*T;+ ziS3j7D?zZGjrxLTpUekQfO6HBEPl=b3oy!~%a-DW6McNG_sagKtft+vv+gzTUZT;& z$`q$)FsBSA{lka!3ynvaC{~RL18Y2?X<-HjM%!8Yn2(D)Iem71he?a4@nvtrl*;TA zRiDm8JA}91IN!a?cIxX;9DIE}0maHr`@Lbp1(lScez0-E&!#-14b$XyUF+XIJQW(d zfCW#?8-n<@bFhh(Ek{!h>&>sY*ZC#Fui(+M_WdTW#5&#GXTtBJ$GqF!6}0qme++oU z!+95s-*2#;`o2%$5==DqmLy@?F#b>pu6FfyPM`EU?cfSiD#Ua`%hRDaZYh|3&UW`& zVhxdlVEICC{oqu4rPqy`@>8ddpAmQ0bTLTUR>pF|B`-~^T+S#*y(R?1l=;T8zo&0Q zi_J*Zu6-+6Nvqx>XEJbYN4arqNNw++-VXd~e>T4?h&XKVvF*i2WepQ+L^sAqPT(3d*BRUY-0LVGp7>BgG*EvjSU?`K&&IB`G=V!Ix@sC2cB^+I00A^kuC^bnhIP~Xb28D@}~{wwVOPZ^1XjZPxz zIJM9hnN7B7>Ze@B4XBJ^d@%ir9)#4Ba*N(8KHZ?(?gewOjVHvP778}D4(w}NLWem% z*1T-T4CC=BdE3iS#pN+*&Ah zNt++M^xF|ouKh7N(Edz5WnT0GKfvPh@C3;7yaVYH##^5-M~nys2D}w?;}uIc@Z5s38vk^ z_ZXQlkoJ#=ah~_Qw)u)6K1Iz5F|zeuB5>#fsz}X6xlbl=)0ZFo_-f;;p`?qx_^>3~ z@k5a*%Q2vO`WdIDAjWGTpRuKB5g&tHx0aXkdvnU$L3Zza^WpBZ4?d;LyoWZcHA=2Z zPjw7@Oo26UI)bgLx{ZjmZ3?eNy#$ggs@=xPkrQwJknxOW-+RLQq+T#nkx2%AShN0J zd2!C8R9>6-4zx`4X^ei8)hVQ1o#1=3PFRWa;ueo@vTEg;3-L4WGOY)1ko3i1q$37# zavfLaRP!U2{y0@Na`sa<^K3rm=Z7D*iGyH@t6Z%X)0Fp$x1&obF|hd}j?NfO(1GNK z-f`S#H}R&kCD2p03xuv$>Oe`nQ6mtBlPySmNoEI=N+`zR|AoK`Z~O*|jKKt#D*=z&7IVl7`Zj zSDWgho&O}e+(p9MIfsNU9wRZw)icJ_mrTIAvdmS4J~nz6KQnPM^`&mg)0H)8V>TnZ zr>i!7OOJy6PXRb;{9SxTRnovPJtp-~QO zoU$s(W5Si`CF#C`M~;)_GHg-hA5#Cm8}*d0pTFQ8+_xEL>8uu^+mJ-Yg2M5b(wFkN zCytmsIZ1cIAp|M`3-dtLpI0?hQ-5wj;g%3 z^V28SyH8m4>rVlnFw^JQ;N$;($h%$=6-@vz&~+?SLVPks!V1A3{xcqVdT~-*6~E@q zYb`mC*_O(V4l3BO4E6!Uw2bDVk&mX|Dhlu5Fgtrg%(fNR!0i7EUAOEb#)vh4OU|EV&&W-uNCB3 zK7;)DVGND3*IWj^m&D;-yKc%Fj5-;5w8U~#pwqK;!fX1fBY2`{sYh`pCntT|0f0AvPz^?K_>}`~xt}l;E&nfEXShRoG z1G+0nTcpRbi zRa^7S!V-MfpCEo9;U!};>usceMcaESSEjtAss9~e8I;;s(u*q{Q!n9%Vjvs z@PHqF7^4dBudsYj$DN?b#%ha;Iqm*XX^ct(V+{s)QNKIgI@N$NVAaggBrQuf)+N|p&x{)1uS`y-Fkzo ztqQdC4+`V#2vEZqH{bJ4oiZedFQW;1Nvt$;& zPdWHj3zin2`dgE@{_jC$wL2c)@cy}cx231XQ0c0cabVWu1q=1;XrvB>maR4>&(RPzLXe5xew=r)`yM>I&k5yTePgg^dw$IXAhK zB@P|W(X}|haQLT<~xBVoA$7es6$T0)N7$pGwOJ7^a0oK?vU{bwzb<-9za1f!AY?- zH$tv2T;uXlqVx@M3NE$+)`2J;C6m7roDa1xY9!M*d9P*R)X*s1!wz#n#?TFxl z(Ycggri|mp_U8I@!1XwfPq85KeQMWCMxB3Lv&zaGK{+JA&p1AO^m2A5`3}FswQ~d? zsbltYa=N-czW|?_aS5G8m5=b1BoeD&n`d64O%mVF%l>Upm_z?h-*CX{KCOJS7- zzU-q+v|%ZIjlTHO5`7oPY%+BKE6$=YVFE8sAL?wUU+ra_Y<_|Zzgwr!D0ItWAK)uz zT~D+(+6WT&wlDfCB{v-@n&JC%qH}860e>#~J&ld`!F0G!*x$U+TDHSIU_X9MP15GhT$dw3`X)odtBs zDN5=`k?pX?(ds*&-G$`!E$tgukP3hW}I?>oPG5kc9-laRt&SLu1=N4b%Ww7U;)k&UV& z8x9xgr0zIY=&raQNExUN1vO&a{P7ZS{|Iu$7^U7;AH!F=FlxniX~)s4YCXezToJsk4U zsf{0mBt5XX(SnZC-ok@_%8s}9-af^#0btgMV5r{Iy>R7jpUriYGM#<(*2}WjTfUmE z%IUTx8zcgoxs{pH^XJV_@~Z8zp+H!#6wx*{G=mQQ07+DE4Mr zu1BKAwy=5XpkvXikFTMq`G|6dW7P%t1kZDr5%|fIDF60z#Pv(2f)37#z*<+kjsYVqvYHggfd<0EK@Cs!RJ#%;xBtIAe3b66yuWGBQ zih2VUUJ%72C|fG6((Dlo0vcS)Ea}h`7MV(aRY+4)NaxdNlqGV2V4pB0u(LwxTE289 zWR)t7>X%!+_@2G<7ic5~rgkhjS>3$&O)h3HR!5J2oUf&PN`rhDy6clK&=-$*`RKPv z`|gsrR>$xB9C75b`rOsL`uMktmWB}i>V(dI`i0f;+dtMaa`8U@7IeNwnt_l>(9zQ$ zU#(ByC60_7+n2u&-xttz@_x2jKmI&8U!#mV;mq5I_sLs-Hu8wSJ^%LV`r_-6WqtO3 zs(pR&oyc`?_>`|8JzH&GeU%CIqt)5l;_?0romb4@bq-#A@;f=#K#=OD{OHM#t_~l4 zAsK!-=IX^)Fw`sfKUu9$-bSVmBJVyrJbMmZM>V+LTzy0xelPOni^uRimM=PwuIMZq zXx-gjkVnI1G~kpG@{$)qe{OaB){ish98$0Et~Q_k?~)mZsP#E|`_F@i($zciZ(jT^ zv~ajNp^CJ$F>Sg&MHggTUwjLEhkk9zwr7U}I={L6E_ga&T@0P9PT&5E@YG?;UF#R$ zS#3Z1J?ab3$Dd>3dq#b~2@f5aXDsO6C;bPhfAH2%fYkwLw`F_si{FO!3(^{(T)e8$1MZ|f5536~XYwY#TV~#$BuIPs4j<1G-=Uo>emtk6*68s6MVdF+ zWuPv~bpd;jV?Z;W0OI(t$dE|OsG$B^UIR-LY3Q`0V-R63FfLxDHcTEO0c(O?f8nGB za7Y$Xy@op(RTj)i?_`-@17S!6tmQR77a46lvVos*5BWy6=3T82?2_ZPx_178h~pJOIp(ZdtfFd3UO0eGeCS2#e-Vw~?~Bc+2~|SoHZ~`}F~c(}v)y z&zfk92YSnwNa#s&BGLySFgy8E%vsQylXgoj^w6Ek4oB%ohIDYdU3dA|XPozhUo+^F zOtM=+CAfg_NB|&PQXZ0}Xwno#wxL0m4wyVr=^WaSc0%7Qr1G9N>Ej@%u~+#?)9y8g zYT1RcPS~ouuXOaetIsye!mCy7e?FwaH1a4A-k^QL`X>EK%EBc zmapC7KtLtdI{NS&m>QiV?b^ns7OR>Ax}@#Nh(JD$g;d`fk>NjwYZL20EJLOI4_FM| zqeEtvWCJgt5X5zo*xw`&XBy0XeE!x&HvP`aqun&)ylopMA|rk53x3rhtLdXf!IVQi zmGk2kUR(I^(IQ&4(c8|wby-7uuR_>x+(bTQyW4v?k zK4-0T3`Cx6Qg$qsO647hG7SR2w5xSxbSH~GsIF4XFSg)~LdSSka^aVs)Z0eHU?K!R z=85Sk<(x@KE4Bmpur%w2c5$brV{9P>Tj0TZ$VaA(kr1$*5h;)Vzv4Y?$0tXtQ^pCe zd(pk}XMAgUnxZM?iaf}Yv^H%HG_AY4Q|;@QTmp3YbYk|YcLi^r9z93xVDvgq`GlG zXdBLD9Q)jXc?jI0K-#M^*cN>qmW(=xv)l2+V5WLa-%=k2a0nK)#u7`01x5;_@hhu} zC{v#?jkXV9LyP+9ke5rGqmD6FMj3^n-EO$qwy(X#{sHVV3FI24+~yf1>d9o_tXt6< z`S#%H4UPKxw&N=>t&i}Qe}HA64KN4r-V~QoUk&*%ha6^dB#7s~wiX)H8Q$R!CE)Ep z002M$Nkl2Vt9fg>C zk}xi;R_DwMFS!Z!=ov)>)khfWbDq38E09hjz+-qA5`ye$@f>!>h&T&Nc^3$@ff%av(Ia1-2VOxs(&onvl>a(>~%#-^S;x zDB52J7K|i!Jv3b4qfO#jIMMO%6H$I)|(a5|Xo zpn3G{M{r(!2|wLcjPCLKKM(C623EMe)yeap!NK*Mi_(Vk+p8z<|7|+fV@NQ`K75Q5 z>d%0O>{yAr%bxtu-^A&~i(xn4L)yOMpfTZyJAV8lI4b`XYH?D*8#0dHf&NdBR!-Xj zo#5;{eg0+6=pss_XeYP}&$^$z`?FM^3)uAqsI-HRf^acAIC?AkNxkV*2ZwLteEdmB zGZ4}iXYc;`)#*EbnK&|_pY_SRtCMFxO1XAnYo<|NKPwvbJve!9_4J4S1}hQn3Y~u+ zT7Q=M|2e9%3BC2{=b&Z%tdAsYTj`oMo^A&$x_I)ZN*8ypgd|vwOxW}3+dqYlX>)ke z5Ua;u`0Ld93+VJiNV1qYJO#}9(AGF>PoDi0xbi^X>of3w8an0Nl%9rm`u0ySNqz(u z9jWpoXy9e2B&@fGI?xVx4{0g8h?aX8c3~|y3?0uJorhs?rrf-Vd;XJ#;WxCJcAu&( zNce9a{jVaGSJGMFVVL+IcNVtm254d-k)H=L4^Sc`2)pnN?&!AxB%!d5A@*6*h9DMZ z#<65fqgpI<#|vh*0ElPTj=X$;)+s%ksTrSKD{+q|1Rk z?w~DMrBV8iYGLo>zK#~B>)e$lb2mW85QTU)%`s=o3{$n;bMnau{i$!C2kx_Q%`?Pk z1bom#^5-X_w0!2-PF|y8bEL<18h#;XIx=zM+|kkrG;{y}M?kp0F{SN%N=Nlgr%nqN zNn|jYV+S~G*KlDj=HMAOkOr<6NYV)r@>97$)HukDAUZdz%aAjhrI`%5$V+`Kl7=c1 zlC%rrEH)UTqnnhpoPj4ldCD>{@QeP;6Q}{D{n`PY^baRp9p9Nt6hY}jA#{j@2lPUp zbnu6+<;{<*MQvRnSs$~*@15sItH&oUP=Id~v`DOGPWDKtCupYw9$qBwKw;L5e~yg}{bzlx~i=YU7B zxZD@9Bo8E^g@S+Ga8(6g#iJY}_f+cEiU@HtW^- zmUjc*@VKyJ0eq`%L={ik*0a9cnXh%;lnmD2GRfyBad8G$nRZ~f7D>D4n=ikH9b8GJ z;&lpr+Z;QIEU_DTc%WGiuW_b>SM$v{EtG@o#EDkR(w^Z9@1_yj(#X6K8I@B-f*h(% zy6QqcWkX+^(|UX#o5M+V`Pv>CTg(WV@CwPvNPVD{ehR+zrz|a|EG}4Fe4)&=sn-p? zUBLNKjvJ?zLW93%C)X3+vuUFqVsAc%s^c$@{&Jnr4z@h5WN=AT`lz~zAI>m|GY-CK zS74Pzxm*Bdp%xh{-(5X?CnP~QR|po@&QtXxFG7f$=Hna~_8AULVYKnbr#R#JfJj14 z)<`EuIW?(%$r3_33?ypXG+hyaaaULAukveADQFObW1c(z?339=YZ-@Zg+j~utM?Vs ztyo0*KDd46=Qrrion4NLI>%)i$|Bo-AwV5tPa!73Oug(=={uOhEo+Ty*BhYNpLL3q zEmogcUOQxiYv+*>dL>}8Y|BbAo`;6-KP*RYK6(Q21D|MFbG@&vz}O;nVepSL6W#CQ zq+hec(U1OU=cxu%ZNqHDh~BIxqQcC)I!cznrPM;jRDRY);Mqo|>v829>TKNWBz%A^ zJ9?m0fIo00v(@E;6ppvzBC~DfI7(EoIE&wTcFeVa z8n`a9kJ6@EflgTEMBt_=4Wm`A?ryktdecZ}?e_M7F|*Q|#GU#@&-VYW0GXx3t{Nu< zS%Q|%AA&i=O4|>l=uFA=xA_iEwK@VR6#o-4PcuXPT3_nqu2DBDy<}IP_>Q;g#OuDa zA81ZYYUGc2Dhr(K63^M|p3XiFAa#18ZTgX;6Ew-cVa<2#!8o`&|+({RQEA6NJDbKYTAmF33U6~>)`5~b6qkoBl5QX`^zWdduF2CuV-h3&i zt5U#BG6k8Mn82k3@Z!CR*kDvK3iyxXHKJxqITRo>Ex5$FchvuS&U*=E)` zGVJh3TS><@WG-}#z4?w~Z7pL4`LPlCOT(Yg>Uh$7tCtt|t8bsKw3W3|7*Qr6>cWfV;7DVbo0}1kJUWii0M@8T+^gx584CFcF%=`NrjY{kEUZaE zl>vnkgCfk15^eBIyeua_gQ`m8UoUU`9^!<@4sP;j`3_2v^`}`&BSV{HnvTIB`3m9P z3V4-s^LBOd{r?Qm5e~6u#DA3?XGG^6USEf&MLc9izs_(R*#dg)euvvTd9;*u3~)_39h{JhY$x-ha-{yo1BD)x~#z6}VSPmrm50j)v>(G`wXu z-^*|OOITAk99;5HHwauZML2NCyV-mKz5j%vpR<$hr&f~ zGP5gAXXAl7i;YP{yXAEGYIX9?FRZqod~5aMxBl^J|LG&l`5cGe&!L;&r2cG^$F=WH z#+Tpx*GwE9L5n-kYaMes6AWV;=)n;p0s3*&SwD}F-}44X?vF7^d9?cE4}OV7%*Tu> z^cfZ)`#wr71~#K3R$V%v+^x^Sb6dL83tlY$;jfbKmn8ol@n2`h-|t{k?;=w#Sxz07SLAEDCLfsZ#CL@<9z=n6f;9VR z@>9t2ugY@q)anhpG&?!@A&+h%H<>|bo(t<{qW)CC;2K?$3ox0x@q%7{M^9#Wz3|bh z(3DW)rJX*5M)-@^Wzu>Lc5t9IQNa_)12(%pdZLxdi85qW1JKlM3~_YAIn^B5IZHlH zuBL4~qEtz86AhxkX7Lk5?bT!wL*p^w~smBDFy6*-Bog@3lQsE_Ez!K3&+IG?RU+f5h?s~k`YG0#TK>b#KSnvh8$dFtN4 z_1QU4AqI%(q|JtpI35P;WVu@zqz!H;Sr;N%00QPB_vrL!^%RH5X0utn%3a{L0m(#G ze#0vn{M1>UICHBa>sexEBNhC&PQ3Y3%4je1D6Tg;es~U3u~M44d;Q`G0zP+_#{t35 zV{dR+Ge_~R`I>DDPUHobm#VqpM`wl$_{;P2ymLrZxie6e;5%Wi24Kc^Rl*gKLtNWC zO364-G_8yd#5|J4l*Zi}<@~9M{2@)lOu`>zNy1)h&1I)8RvoA<)8xXWT93M$xY zC;JAPlZJ;Ol~RY!2gtP0m1-$BAoU}iI%+|M2D1QHFmQB&xgr4-z&<#I9{FZjc@N{s zM>(c5&JZ_$?8*7A^L6G9VdLVC;x$f#$Yy;tsPLn}pnTy$W^9rZG$gfVerr=mBZ2zf zv3o*x`d;FgssdoNJM^!NBQN@pRp4lM>9~t)oK-ih25Uj6ZF(acRMr}2&knO#vwgCz zQW)Ct8as4Hi*(X2)Hw-Da}AFSySE{b&I5!{bxt%h1_lXRGe;U_dLoOMuf#LKpo-BhH<($e?iS0~qxb zCk=U7%P6EwmxD;)3zm}VAHsP+T~N>J(ns2Ev4t#3Z5uqAhd7b0UC#jyyX+EDnZY9? z3(PbG@RE{WY>I^_-jNMsjvq;|zw2=H(famseqf-}=*%q=k(+E=Y&XO>tlh zgc`OF?<4a*ws+(s+q6v{9apR9{T>g9`05+5w1s+eH=zAEALel#AS-ysnb7*Nj!J7% zQL27Quim=83e)XtiF5+U*=!vZRUGU9INrwoR4BkwTk5Y}2qhguCrolHg>>V}Xkdhc z)*;X4`uYUd-&GIojTsR%-g)bI_2|($?Q3(TF*)n3QWoc2gsNu1nT!ncGN{eEvhg%5ivd+^HS1)C*lY=HJ3EAJPbd3V?^W z29d@9EVr4ltvIlJRGTqOJ9Fof&QD)gVh4ACpg&8d|{+*pspp)QTm5o+kkXh zOq@JAl&L)#GZxt|tfE6;`YZ6(#mCgQj1AJw*cQP7>a}M0Xb>7B@!5^l5wGkz2GFOY)=* zJr2i*E5?eg9h=~)DF|t}G^7G0w|*pK2tGd$h>H;=s-QeaJmqr^tOb_OugTCb7FqE$j{HXkc@#{%uNq`%P(OH%?G$Sp z+75w%WF$Z)(o4M*NwSg6yWl#nm>^TdJA%qqmRV`>Wx-W~W>Rz3}l}fsaB%r!o885!KRpMI0F$1F15W8hAg#wCM2cc07Lilh8Vev+^E?0^o$l|ywYs~&p(pQDll?Quf2K|yYS_J( zN1=21wcbz2rzSccaiZ??*fff6Hr0)5FqH2D?;>uxb-9%7=25(a!Pkh5YZGF3UwI9G zkcPHrp$(H)sXzR8a0YMAI~ev?kEqr1#<35W@9NO8%OcBCY{GcMT9krB_zCbNUQdVL zLy`6%m4u8%#F~8NO?qf@o~RMy92s6CbFg0j5hhIh;ZTMknzrJEWCf@a!PzMnF7>so zI#|5WHm@_NN6AB$GEE5i{E$PwMRN!f-I#CY8zEViO}=!7R_85vEu-m$r-%(78pLz0 zFt77Rm?_USVanvu@yJPXY$g}#AT1z5FZEDw3oqcNodXm=$~%9_6MrX>_>L@*0RfnV zh3V2PgR}!XWETCHAsmON84IU=Id_?$ro+a*-~gm%1Zs@VwL?;z>O6yrS{+!21%xlEd zXXtqS$^;U*bq2iq%mwA$>cdye@e~1O((rHV*K?JNJa_T9U~$p3#z}R^WIDQ|`hJ+h z9a!qwh3E|)nvA2&nRFc8u$Vb;-ozY6pNfz2-d}B3m#k)vSY+v(I>PICN4bmp%r8(M zdt0I>cbO1jK3BRZMIjg2uGzLMRJ}{D%$C_CH{{*A&>&qOHK9Zl7fBrMEN}-*fUTgm zH%IF`ZItm+#$7IK5duo52{PK>k|!d^z$i~dYCh@!J>}-DFrZ2{KUNVMG0W_PgQg*N z!r7aPp(Q_%94(qD4i(ctD3nf777H`tg zju~9l{}}YSkbCJ3-ltj(xS}fy!!66f9Vt$tzf$?>I8?h992sg;%!F z?z0v+WM1iFSAE4nkR6HWw~P;c;$@Jn^2@Uth-t4M=MW5zS>Ri)Z7Dk3sYCGwRl8Ba zmL*6Z9blU}a9L7jEYQuHmeodq%dRxePfm_`KO=Pve-IHuCxN>_^TD4uuomKGAI?d2t5b{9rOZ9Uk+6fg@gvbp4Vn^3^-#&z~HxoCsEsY*C_~+m z_J9a#PP@8e&|HUt4BeofXj{21TVjv~aY+mfqo&1kTxSVdjzh^aP5@5LICS>y)6cj* z0epJQ`U%+_iVea>0?z#FOF@pRyEhxMORsHON1`9t@w%l%{$^J=a5@FO31A&`2CC<( z85Npp$YA$SZ%IqazQZoQt2=flA~V-G^_goT{5L4?3JO0;X7hMBcG?FrJO>Rq;1#1S?pT{ z*7pC{95{*tVvQX{?I!|yDDNbUCdikBdQ}hf<1Mz3SBs=Ey!ojP8W&#mVVFWwZ2LlP zh$6!o+tc?M4@y(W79PVl34UT^ErA^}Mn%2?Mk~}5iT1A7RJ~>~5a%9sHC7m%$-}QJ1P<{-Xm& ztfItO0XU+Yj_;CGjyQ)nXL1(n0Z-L?fx&s>#~%nfccg2Xzs7w`w|14`M03_)k4|Tx zi|K;)0!Mx>Y{2gMsIY^uw0Za3P2L9xHR|c3x<`+Gn2Y@9R+k_DE)F&vUI$t}G!4|F zR8#O&3a8SO)#K0oJg^_GUVZ!D7HzA9toc9&Qtd}>@a^sP4(d6Nz|zete@0#TpfmAr zHy^Qk?my%)Se=JH68rL7zmoibEk7_^0tQ~j(K)s$!M25m??;q&eN3dZ7@5**0rQTE z?MIbs!V9j8u(0q4<;EfRocAsM9Q4+_C-EzEI^K=Pq$qXNF60{fXzSxboX2}rK`y{v zge6D514I(yASZ3~=<_^+%&7M1SN=uO@)uh#ozi+ZLu0$@N_*#c*hMIv$|Dk*IRmxS zLlHkSDAW}0#tZl%$50KSOkmZm{VeSw z?jUw_MBUAQ4Qv;_;twe5-&Dg4XvU3)>}ubgwDb+a56+yEv2Y03Yd_W{K|R}lIC0dN z)MW!AnRHsu90@VPPEY0zp3&%w$nIHC>?#Io78V&2rovKGIWu(n5#4V`+l)$uV=W zC*p6W!zP(iC_=}{UwE6x5qlwDaYI+!&j_z&OGlVF8+{Gnp)7TyjB@Xs=6WEmb+^oO zFD64Xbj{}oF0fTeBTI0s^-s1v(nY3Bu!e@v(iqu{do2iEfjpGk%D4Q{f%yinw?m)u z9lQ*iff!8j15AeTK9a4RUXSdvO?y}XS#+JcFp=Uoh@2K!GXR}D@i%bMP4K8o6hPTb zv;yBWt?TGnnp|JpjZ`S$D4P`##zbgvo_cz=Yz}#*t(1wlhjl_{_5R|@lB^5MOB{19 zRG+ZevtA#5!Zq%Wg&zWB%!nW*#8pkWVsurEs#C7A%F`3&$gjnM*EX8PkURI146=h zD7)vT<0+4xBd2Hw%oo!(<|8vF7KN0#+oR>N|9Rs&a~Yj1w10h&4c>M$<;XmTT_K!( zjP8~ryDpggIMY;y+#r;wijbyqO}<&sG0QpT4bDOzC-NGR4`CqLQR-IC6W?=}Rb}uC zkDPW6g$Vp&FB=?`Kl9HWw;B?1<%3u0JYLW;JRDmC;aBNmw#?1W%vPwm`bK?c3NM_GB0Q^%flsYS9p%0>|e`vb;maz3OUE)u0}`_>iF z@<5~wq-Qryi*T+I?M!@k|6rT&J2^STL8Wu;Vs&+eZ8 zpy6YB0Y@IyElkNulmgpK-Pz9Kc`UmR1)-e(gviGRfelV|7pn)XKelWgQ73C;%MK^( zDGn=F*2oas;`(@}b5(x)DYx%bl}ZEhyzU`HW0M3W5>*HC2ejVYqbWc zA9bHEL4#Gi6~KCRaM5luV-`Ruk_CU|#4bQ@8stMM01T}{wETfyqHiSAj$mnX4{a$E zd7x))>XeNVmpl>1_-y`LIK$t4i>JqUZ|W;NuR1lX%Pq?l-&3moGmay_-CU{WNJ=50 zQ`hurQ?uYke{@Jf4@QA8=a=r1=w}96iVF=Lq^e6>vvFc4wh@{6v!1pUXQN!Hhy;L?`mEiDSNMm# z`Ip^vKzV8OI%{8zoXs!Hq=A0s#!GBY-D)A&uTD6fgw#CO7uzB?Bbzh99(DxR9~HOwLv)$pNnH zCQJfLcr6T^`Sge&J4IoXNPNmkX0U<2JY?r#5F}t7Az$;YEPmBu>Yy?xOx-HJ7=xB6 zf<_@-4}Zi>lz7TGPgx8qh5VQ~hk1sP;tr?VZ?CRC{I!6beg3a!S6-Y(F#vaH{c0ZxPHRH?_*pR(|f5(W>Qn@e`!@evB!?)jJh zA&$uRlNY$)?qDG2-OWqt_Yw!;Pp8g))I$hq->DeB>j1;1#>k8EO^j zv_(l;yDtc0#C<>{yf*0$lTPlylw-bjD-I`{*wdO&on&9z)ils!k91ILYHL z{8eh^uu&HYh8KnJLtT52=V0f6Yc&-u5fc-VNy4)@h6T8ih1kEAOcSyA1wShV4XElH}to?4pGb`Ers0;Jei;+G(0Gns#4lJo9gdeE| zZz=g>B7X!zv#YwiNk(A@SG^mjos#Vj!NJ@M&gf#mr+$uOG45d`&a`zX6xl?ZX6oN% zo(6S_OMo2!VE~HWInNk4=Uu%8OM--Hk4n{V7cK1&UR9J4dXYhVfvq3)Q3tVM&!a1C zlAs&|o63+k@@9si%mK8(NS*p(_>i7_U;-vm5UarY7@EWqF&!NwQgL-x=M4=u|NV$x#!)Z%JazDWH0SShIxj_+4kghPnz-w=|OaiW|E(xE)R0! zi>HaDeS_GdfFGL8tc%hg?Z8VrEyTzIRyv~}<%_VuGv20L9Y#jr6glM*H(C=eo3fg- zd8eMzrY@X(bVwE#+*$W!*tyGWrNw9QSbA$2L$_$Bp7M+Rnb(EVcO_zd!^@<1WnD-! zdiM+~*TF^4;*Z?Mt)q0L&oOmuJHN%D<@If!-Av(?3MzAY3X?(>2(NBdPxPa82Sml0`VedM$>qLW2ema$LN+u*qY6-TuC4e(R$&io~_WuUq=(WPPAR1xj6HysfXNNm$wsL)gp{LC7wKE*E;jP zQ(mwmE=#4znS~S1Dj)N+Hivjrd@ML0tIB(jnQ!1=QT8hqyK!s*XHW+^k936IZGc0* zICRj16Zb4Y6dhTBj13@asjGDrLiqtgRjMGzT*p{pz)ds4BhF@Rwba~w1RP)rx!}ic zQh%Hk$`}Wzl^Ok7&vwp*{r=98FmkRpw&SMGdK*JGr|C4#+2z+A<)w4ju;zLKckCkCh+;x=|6d zTm~sxJzfX>$YC49ht-WcJ6wpT?NN+&mPZM3PVtIkY#kZVleW9&y=|yF3t%10w+QF1 z9PJ~jrc64vcgBxM7YWHz6DdT`9VbU8l}=0X)oUKj0(R;frw(PYUEqbYZqWuha`(-V zV+{S@7presnYl~w=nw}s4qMyR`lsJT2HRAPR-M(5af9!e(oy)y1>+JG(LOCLra~5D z$tZ^lbk7FkIzXn61(&jMwjbd*%LfM7EhkBx%4$xBj?On7$$5vO#H4Ba=Nd-Rc{_Rb z*?F={2Zc8m)W2Wht=%WmqBc6>RIveF*cPcH?PC9S0qcS})v>{>zI77ZI2qc3LyrdP z80A;NrJ;jU9zHr}ovXguiMl9W+F0z2voxb4bra{LIgmw(IuT39%yM;*=zxaT4V}ob zEBzWg+hXJrejF|>Y8W`Kq|L~5>_f2dG0!mV(aFeUeIh@&k=JW4a!j2By5k0iPS4}h zQ=asCv3kaizISl+t#R~eZ}yMu!%>~!-{TF?Q5wFmj!aR2QYedURL+jlgn7gQTh5y; z@Y!jKU2H8jP$iw(;~Bsrofdwm#_Tv*fpepU{Zh9JmQ^$bAb8RoYVBC^ zI0i{WyVK5&V1CSNkZdy_zZKqH`x=S6eu1jPx>J_GS)Os&VKd$raF{YZJLa@8hcTNg z!+Yw|G6~zXlxmLD-HKu(5gr`dzorG&Q?UxscE84vb45jbQr+4(l!s-C8z^F4k+++(rR})rwj+mPIMf7 z>ST63Iv-LlZBrhWW!MU)S_Tn18DEJi`xYR1JN_8r><7;qdU1?d7ih^Zjbnm3<<)A$ zE@^0Y4Eynu;z>P7E3fu#o=vR{%D!&yk|8}akg7>0?T*ibefkYL5GB{Tu;d3o>!S+l zIspayYv8E2gQ3X?;-j_Jk&zPk+}k5<{pE?&Woz7oqB_VWQ4Z>n9f-(LdL$3y$cQT) zXsap@*?7&)%{g$hV;cTr!|6{@k!-$rj&N~`B7yxVHyNOzv(WbydaWdxP*YJ5qo{B) zzl-HQA!X#N(6l%Lrji2ezy)5(%?4Id;-+DZ_rYliQxh{L9+C=1k6<9H=gPYgLc9qn zLk`m61IqC5EbI==-71xgmdh-_bykxWmIajTG-N=8jWLMR!RQ=jrN|#?raOQ#j!KKu zrOCs2ha=7R!YR97oXzA_U5U!!muk=6`&+;r^mxjXLk z-Cqc=qo-fw9e!Vhh!;f%dmcx?33zkyH5`n;#m6mvmiN+qKpu~$QlFB~^CKKxAMnAA zFSGmXZ{uwIDl)tu`qoA1<>|ZPd_*{BA5XS^t+!G)^`U;XtI-~zsYNlI3D&`nP(1rG z7cd^J^__UoxZQjV&03_COa-no);xyn7lL(8p7Q10>sQ|?CtKcIM>$^`K704CA)gL9 zwo0FWgOd)t=Bt`;xNX1td#gu3@z>ym)ARo2>g@f$!n+hdMvn973IYJyp;!L);# zmgZt(<~b<^_VCerI6MCmlYkevE4f5OB) z?;b-#xXCw9nN5FIx%q}S%gx(`H|{a;#HV=bVupDh_KB$9afkGT*Wx5h3*eX_=^Xqd zU!;y3HP4@%jT1ES$xns^2m|A}vtG+HbMg}z1T%?Sr|H*&D2PY!_%S|oGNze+BZN*( z0BQnPwpwFg3y{?wag#$ov^zahcQ>Rxl|@4QJK4@%Q`C-Bjvp6^UL8gDvCu8EZ|(Zv&}$9j zY$orvp}4?Bbbksbb+s(*EKFErqIIkD#y^_BR7*Q#Z~OJFnkx!pQ7XCz0>FvYt;K->u$$i$xGHAHDFVAoU0qQHeEcX>%24A>e{Z zn#xDu#|4#-jyPvaYMZ6lNhz!kslPrhR-+ zC!Y)GGN%v#&IKp%=;s(dIuI_M)ayq?9vzIT*#*c=?32X{X=fD2d_-)`b=1l9{yt7o zuJ_*UUb7wQjtOrFL{QQY^FtH&OoDG*1XJu4T=ff*G|f8;uf;(mnTSfnGr-F0{CB#A zi!1HPcIP9{EOY=2U*M5D#7)m3Au46x6HkX@EQD+qMcSc5haWAGrp`3w%Yu+LsV?aP ziN#f%dBI+t;9QDR1{l9aJdZPH=M!{o2N!+Oi)W+2df0wGI%Jv76>Z)k9juzTj&gUb zx*JCMQWXJ+xcJVy(abbY1O=YBI)<(bHWz$4F$DEd@7aB)(?Qy|$XN9+2lKIuv^^GU z%y)G#onW)tF6jKS0A%rX!TY;(1}L`+T%AC%>GUxQ5|mji0_W_2j;O@3F-sipY=7U$ zrL4@F^EkQAhP1J?BR_TP5IJlc>U2$g4BG!SJLc#{PQmGy$9crdT~~2L*}fW{V*st< z*HEEew|I&U827Y2*Q!v+e@GB@XG`7zhrG78qsSriftQR4ci`=52a%~{iIX0>$|bps zHR!mcEN7DAjpEv6bXMz<&cazsO?_-1+ZF=0n{*J+FL|r7Bip2H#_?VIAw$rjL`2@E zby}%E?Z9|!fHFzzER4exT(5_R)`zq2TN^!lZf!*dZ6S^w>0vj4v;Oc>bR7rzx;tqF ze<-gEe+|~jV0l$p0wq%%jgqti9G;GNci$Q7rnjCR|#tnZtXV0gi*h08lWt9d&V+vuz^1T&tUeuRd8bW|^mq!pK)$c<3ro&+5uKqk4`GO8JWz zUWdf9ZDMbn>`Upn^aGz#yrjNYJl)_;q8IFFd?GBt`BGy`!OSWs>LjhXS#l18k}_V| z7KD-otty|K`cYBh*{E7oE3ObE?qQ>LG+2}GSu3(BIR`cX^&`&6yF`;&<)TlLc-W)t z&@o}Tq%-nZK@*(Q@RQHkpxol5&LWz}F?r@sJcR>5<3V%#=^xOD8$g&o*lU=CZ(n{5 zhZFDUi*t)cXJ?nrs5afzExXHZabO)k{vyO^&I3M7are8xlXOeF3s>3lSm@2gcUYi2 zTOINBUhy}de3c!8zfRR~9wF!E)dzT@c>(q@AMM~>c?Ue=>jx}u*v)p&PQeYb=tOe| z+b!>dIREy4#No$RYWZ-5Ve{fEVe5p)_uCfUtLQEU^N z`Sb&LKodJs2GyM-eOJYk);@k9{GkPJK#FXgJzH6M80XNwmtdLUv*-$E{)Anap<&+S zPhMv+nASMaJOqm<4wOT)&&rf?es;(tZn~TPb=k=m=S^B6NoK|<64HLH&H=DsA`RQT z)zcJ(b~D(GKVZHAD_M~_Vqb5bA>z0ptsJI_JGpsHDQ0#^bm&aJJPe(lI!P@4tCQG|XL)m0Y0(vU##3JWOK-9=ZMkvJ z9Z6kCTVUL5gD?q04_=|$*=aAw5%WcBdeR-5l+~BtfMKCp*Vrc9v@)TaYg@)b>C1D@ z;2I*Aw24OtouBKa02EA}g!P&mV`>~hq8ssCD6r_@F`L{kimeSFkv#~Ju_jM7>7GRy zTNG?{IGZkYTd5x!?mp7rde&K|gOMr|ck<4}6y7>o@)z4a=6YGA)>!Xjz}6p*bdl1FlYZ-)uXVE3L{su{zEj@&cl_jt`4YP(KIKDKFZp-_ zyAj=8=_1&dx8E=cc5&#kM|LjmT=*DwIz=vVc-JZxF1ukA=;DR?QD+w#>eiCn@h4)I z?+hz5=?uxl=$amJhX;2cri)r3s3@1VFVQSmA*PJpsox-^i*|MHhf6&2by{FI8y!^C z1qbPx7kEq4M{Zqkx)7|P$OVLpeg%dWFmjCjA*Q-C9GIIThj^J6dgd@VF65>^am(VUQqM_SH}lXBgtFdf zxU#v*S0C5zhO}RUsx#kt>bxX>AKs3?V~4pR)G{lG?cq+((<644v8ddT@X=)-hjT$I zD9t8;(9i+pD4>n8(m>DE-Z~hh=T08`6aGSQ9Y@XQhjPb;a(Js>c<5XN@c_LZt6M4- z(-IaMxj~?PAw(Qt$PgzLB#*e^pnhcQk9sGG2;k9<>4W6?K0}>qN3^G7UVxg8`j5^t z7D|TtQolIKZKMzv1*+PHXPFQWjJ)MU^&(62H=f<8$elm<)y*ArifyS6{|>nWbHaPP z4{?I$@m1O(uT+S_X?w8U(P!O#^fS&rWIDv@K(i5mA>aO}qsun1Z4}#fliMBbqZ2N> zg&QYMZ}~IUxckgDOdCm3PHqor6}p`pmvLnY$x^Y4Mbt13&_|use{ZVmS4sr>{6$*4ohLQ0PWv7l&Re8v+mf7^k}}o zpsifvynkGe)yqTs!tsk^*GIS4&Lu>EU4}f*{wb7a`B8xQk=bjf^C0_xI~(i9g}saS zR^lxE==^GR1Jbm}!XwgFTm<3FwtuBoO%>n??EY~7D z+cCu$ zIOH-)cC*~P;)}32?U*f)ZO_p&%w23Iuy(NG?THD{#Wzi{wt())`;>*D+Wl`@7Q99nlbFL<#x>6Aeq9@l)0R(YhIm-9lX-iHS^j{@5v?_ZI} zSC4M)KV&zXU&Ph1sG?kuY@qq8&~%|uW<~*Ve-P3MHx9j5-}-mpX|&W&9>P=qyX~h8 zme6#U9y1OfgMIa_e*=uR2P}grZ}}nKv~W1S{N}$3jn%!Y6UsTlTb+2=h}t2}(ai_H zw%UA?FA@6~gPZBjc;r{z>Nvgn7CZEC*u_z5edGxNI#=vKT1<-EWp|B3bNk6x(niT+ zr-6F9=gWu}U;U4eB+Y~&b=rK&mz95+L5_vw2B#p8ro_2R8(i}^^Udb#@U;F6m^`k0 z`Qd*L59<>+Dg=hy`lti(+@%Sdj6D=uo_g-mA|5>3iMWHN8X&m zZ$2<1gW%!adAmHNV_CvP8b5i&`=auL^|s7o&>P?O@CvW|W=*+ZNl&H)9E&*!PnpFJ zLYXK&OWqI^Q24Pu^G6RN?Z!#UNBYWVUyt1=C;3Cth<2QM8Q-BPT!4uTj{ROX$#^)K z6Z*UG!*6(d&Q(8zgYxhrkIqlOniA#Ng>N{sgtyoq$J*$!>nX3-@JMA+pz8^Y=+KC` zoHO%s3Qk}1+7($Wd*GKx8q%NCm)8yv<>NsJj_2K@@gpPo$~&~Rv*_D=3QTK5k;!X4 za|Qp%bMoXkqG*A$e!-O>L7HjjK36R%0B-DZ>XLSGQpB}}xTIW=iwO_W_SyRO&bz1JY*#N{I=8E~%fcNPZNbIK zA=?goM@~Izch8H>eGH0QXw1`|-QqmMapc0r1<1v#OCF{4=>vCC;1p1g@U=?TIby3i zGQ9TIJCvBSz|TkfoS4=}44h17nt}{Yj=|0DJlkAFkqa^BqV7s?B1;Ppv}18)$Uo(9 zPqXAY$c_melWXeaJKc0lxkEF%wm>;y_4Sh7j=tltrYSv+!VIdR9aERNwNVs9&Jk$I zb1~qKGI!SbCw$tSsJl(>7#p(?wnTEuTwsB<9bAlUc{PiUuHqqp!TKYU4nwJ{Qv|;4 z1+ZuNWjCXU_7&)5fy4sS$534a>7R(5OC{A2Rvr*kp;4-NwK#D&$Ro`*j{GAy?F5e6 z@r@)0r_k1cOO?hEQnG3ynd@_zWS!uIuDb!vpcYfow zKMp#(9eVIRj~hDZp)Y)=eQ(*daH|87sgRFn9b&UObF5y`t^Oci7fN~jTs@@z(VkkM z2Y{e*grmOFQrG2VTeCQGHtT$v1BWHRfdfm-{Mi213G(zs^uSiWBb+f?J~-oe;-iL_ z+)&panVmt6tUk0Es^7Mv9q61Zhm0D&&{mO4nPL;R3v6`|*w3maktBGgO({=cpd~%y zSu;@PWBY6R@F7k*9a`0rWxq#s02lP`_R@}BW=K!9Iqv9~U2Blgv#X}NQt*_IeY|w5 z6gb+mu;M7}vS5witQQz>c)cPr@I%<5|A4X>w?DafzD54*U9P;%A84DopW4p?$l|(-#WraNUd378|iS-87 z$C(`)>J=JQGXOJYd85GVyiOqN?bs&OIFrF$PhH8^5h|ZJM4@+uEeJm!=1^+K+}s6m$jR`OBY_!;x()|j~r91V(DMmHt;@%juxR)QXcXW(ANYU z>Qsl3bU_~z%(X5&(m$xGSZP0PFh6vq*rS=y6$j;UltUa#|aex%ER!T^kH)W2=%m}Hsr1!?Li zG*rK-wihS%tBkfAf7aNYsW_c=g#Z9R07*naR66_O8f0+wI^vB!Z>&A$X6Y%fRLHy! zd~GaFQFx#oIYibiZQy8cuC}M@t4-A>d}s&9MmaJhM*e^TuI!nQ1z$%e^+vC_^!Pv+ zR7qPK+g%&Um&_R#{L-$pLNA;Pu57;QkI2zq=EuNzv&Eoe*m`;&)oJ<$W4Ym)>3B_1 z0!0KVs7!lV)z?ho90?7b+E8ubr8raqV_t)MN?d$I)j;f7X8QbvEl)*5Us~o*qera@ z0n8Ft?F20{@ReMCC6R+4&-GLCNmo+V1$i|Vjjwn@&pLRuRi^Yfi-6IBD_XLKCa{K) z!K9+v>ecc^LzoFcq0461m?mQosq#$aqV1ImBl03sY4~G+d-piIFnA~9QKa&E2hMY7 zmz+ApaxcS?MsriY7*gt#Izq=FAKEUDgNh0d9b#@3*BnC=7#|y6-TLS+v~&tOA+ya1 z`}e%!+7$+~zq>7uz8Cx>-EIOcVd~DSYn#W$jjSRxV zYahAj&cI3&3?6N*^c6{HYqPN>ijglmmbK4Kq#~p5R5UEpPRO~>*LLq?6X4;H^KO4e zt?0nGgs7u3`;{~K$S054+DC8EiDG!*)Z6!wV-{*$8jwdj zAgFfn!iRJwLFh!Mo($zFGv$smP#dub{5bna1SXjjh-WY@56=dHCT{&qdp3CPBaKFx z#kQ$ugLY)t<4P9TmOq)upFHTN?@XCEA=Kr@o6c+bWKTZ)^8(Y@CfS3oT(L1hhlY3r z+apRLUp&Pz2)_#|t=EEhW^{okkKpVgcHZ!fEDvZw5PTQKcy!qXkxv+O)9ezN_yR8s znaSTJNWLNMAPoWDDAy)3mQMZ-aicl-3GNP?H|fa7yvQMZr9Gv2qi+&sM90l9?Sl;j zP#nU<18bUy{mFBPHEvACIQhaFOm=b7CL+7I<_w@w@jNCjj~!X;CkMQX_OuGU@&x9rUjsebWEX(*X?IP_C6jfa~I~Ij5aqFcXm-)x$&ys?VrrTIdyh({!K5IvA* zhB$%o$G}-xQy-I^KUIi6RXh4IPx}?bwht(2E3NG+Blxutp$<;E94e{X?Cc6G@JVnL>XOK*J<;H2v{ad>OmCRMQX_7LeK^H zh6S|_IUlEtFVKACbOP$4@``KzK8xD}VEw4Wd+%_qW|#P=SLPGeO}=QHBRi|Wr8IQ!aPGP@@S3vp zEbF5D=qFu=Tz3dv@~+EAESOwGaKAH-th6jPk(+Z~dkxU8@eiKi0zQgXb{&ycX!@F6 zR9F{Ya<|;E$vK_xf7H3JP@0AQZ z_0nOG_rNhVz0Cp`7}G+Nc()Eh`g+;_i4r+x?~UmvDXqidYBzMkNi8}s67 zn>tgj?yis#Djad>!cJQLICiw@ zQgFPojjXfn=&r~E!j4a zRlS20yG?xy&N_KhPA8a;&LdK2AQ*JL83hEp9?NbiR9@uKAFVTMWKs~Ni5>Ezv&oRL z%Ig3^TGwkXwj21^ZoK6Ka@K_U+OM(qI0@A~x%P#OTkt_y^;!qYZ2NoH>E4VI#xWb- z86U&eF{fSya6zA9PkdH#ezn)vT0m;`2wQhm9Oo`|tk+to6LrYPTYzy4zp^c$U79c5 z+bzA}pyuyW*Xn=j;+A^poW0<+5phnzQ+yqgN|+t&X&=zx<5;gQ;uoM^URz4{=sEiF zMi#o@$1&7#VoRN~OI7=TmpgPFAtRlW8Ti=F>e9!NrSH5(yWl@G(mT|nXz0>8mug0+ z8f(xa(x!dv!}d|i0+u>RYL5Xibs(;7IM!>67uZg2 z2x~L+3vICGc*tv=p?@*okGf`2wFN4b;$_GC>RG%Sg3Bwo4-7>m@tzg#%nZb8ERmhhrTUfOWQKl;sI{; z%b2wAHlw+oV-6H38+gLR$pfgCr`1Z|{IbLvbr@u7WR)k@vhV{h)aoY_8D!jJr1E9e zv5<_Elq(Csk;VEemwd>{7iDvZ0W^vhyKb<5jiQ3pu##u<($r0xMawP>VQf6mSGqD zw0-lC&8 z4QJcY_JOxskn=)#+B0>AM|8re`W3k$Bo9R{dr_*uN!NnZJ&969er+(JD2_a|k8$AD zpK{FrkopRkekObpv5nZfeN`UnjZl5cwvwkjJogA@JO-m&(%}d>e}oISj&mYR$r2A3 zQnb!W9_b3qkL5;(7I~4+d~qy8oan5WC-32>>))KCi-*GQqZRNDPVlYQ4lRi`xt&N+h)n(zAMt8TmWJ83absDzolt$C>RN!cDi;Icf#i^BoJ`RzHWo7jc1H&p|LwCa zV2u}Qfbl3Sq(da_Uo-<8`r0bNu?ZWF9dlO3{*llUWDz|%{;Gqv=kymH7s3kEhhtoL z#a^pUjs;EvGhP6nMM)Tf2Z4|fKRAvTaOU5llB_#IGj3k z`>Dn_)yQ_T;R4Q3b@NP2*yx!PQ5V~Jyb;;%n3%00q7Ewnpj-rHQT^_gnRk+zhbWOv zRtqF>*DM@2z&hDJqEOi`F5MjmzlL>Jn2$)MQeGphr-hEA;4h1Z2vGbZZx*H6Rp}?T z4R_6Xkz5|go;Gbb$w)g;4x=&X0LFfN?;0%wgm%JWg=_Btjt*_h_RT_*ib%mpW<&^RlYl!UeuAC~mn)X#Mt`v8!)z zwKsQ&`EI!XomlllyAY}7yXW1B}$>R#DIG)R{KNa#E4fKFUn z(q34`s!!66y@3WteHen4h_N0AiN!GwQrVyScYM{^$K%HEwq3j~T5i6N-QVJrcNdg; zcgayQi3>sW<}zJ6ei>W4@^*+FkKa2$~E5NhA<+@JXYkhXj>4-vIv0;ExKXK)wNSrf<$%72D)N@@+ z9cQpb%F?gM55ORrMxI0Tf6UficbK{3F!g0Ux>hIlJ#A8Dfal!Ae(X3|jyknQIe)HD zF`w+1b7^gx#^EKZrCw8zCH?`h9Pe+SpSH#@9ZL_npgFE6gL-kdmUa^N2{P5LU~1|O zCdVqu&e(>2;o6yC{nOt3NaKopo!~z9sY6JaP7v~x`AHn1u16!ex-;%?+aHRQhBbsl zX!~oq?Qfen^4X{MNu-4OtMf}LV_ATOX`0z_hip2)MYQfEul?V?iqlQm$yb`RA3AdU zJmWCWou4HOTAt?qzRkQ!%V}^HYOW=!k4pg`Ne0|bk&vl;(FBjq-c4~ zQ6Ar6{Pxo)t53bD#B0SerXZT5U4n{9%@Nu_H$wshYh@RAVK~eKp%xgXO_~?P#sS{~ z1>;cY8q8>fNZa@bXQ6+Qpayj)tmhkVdA+ zk^wujd9f!FrzjgBCW z4C>T8gNE3=Vxy8(?>Q^G;s_%cnaWCeT?N${`2muqg#sc0r)5zYT!G;2N&R?Ey}*G+ zcpG7aDt!syVf$(C)I(l9(<+fEcR&iQf)%IwJHWJGIW3fn5<%c?tz6_$i9ReyA?Jc6 z@{kn)&4{3ZG*tmTYmcILN!gD46_|eu3!q?nd@B6GsYv{dG;ynrPEo7h_JL} zgTvQsYZ)0rfDH3O%Tj{$6Xhoe4d2CO&qJfc2;OdegbjQMJjg1~v8(V}enyDK3&jF$ zsiz?5A#aNjY?|g5`&GZioKu7Vj&nshYdeCFfo%pSV`qzLK1cetIH7O42so)N0us@# znpVmIwjY^gv2^;Jj1(lN07MSVU<^ER$)~$(7)sy17-03=4mn zm!Q+G(oqMrSEe?O@!DSO3K~-mSmhI;PF}EUEH|6pnAsln4;z7tU#3OUQ&tP1TlyzH zjR)uGQ#q`M$`Lm5mkiOrHY{)IoZU7+8Zv1R4ZMJ`P&U5LT~kNYEcWFJZzsc!6eXT= zi3bmZ?e9%3g3xy*$p?e%9rOD#zacu!l+B@6Qb~lPMx^8 zP;lY}9s{?IzufJ#yoiEc{d6YcHBo~QAXRT7scw2QP2zjK9JO#b;lNq*6$KqzAAh1V zN3?Q?p7E`$LmUY(MpUM~;Hev7bSk7BlTty*z+_HU#4c13cq1FB)XnO7NW+CjcKMK@ zcv+03kW%VgP_cyYa;M%U&Pb-sw6D4-r>wh#ZrEk#RAr5FT%;?9vg$bVdgo%tJRe2; z{Cj--=|kRQ2Y`>YZCG^pZX$O%zQp0l>OPOSxC79SI(TirVp4p_HimkK5ir)xHdj|p zVz~s^|CCOhD{xHLY7lfxc=tYe+biBXsJ*1tu}78SqpCVbG+bNC{wa@oY_e!*W5VX( zq}}>%unJ-+m)6Q;pZdCkB3&eMD6N0AFlF~V9(IB=_xZbzS1&#~&->nL5hqV5sY3`` zw>uVA?lQD)nIcBP*lG9yAFA>;M|)KU>99aU_tw=#ouUSZvg+q0xjPC9!}6-Ta=TDn zY6ps?vKHM?*F@mdlO!!qiH}uj4?K2_t?QDpS?XswNdZSESnyXnI#Jv?<$@*)Y{xAB zkzM<8A)oFKF?YH7h}j;t;n$yadX&>2iEX2;u@E<8UMqLd>|;)` zY&(s`GIgrx+NY0uI<{CJmTQcu$_7o~Zn2xg6CPKmJ{RZgJhc&`6lAQ<3b1^@mw}>K zsZg(0DFY=7Ja^*z@G%~Mav!@1~S>ka}78}%SP&XE*Q z_y?VzLkvb)$q7m}d{F7+|woj*Z^O7jv@x75m%n}le9Pag`=bu%9eovt?Y=1#IY5}FX_o&8#NoU1oBZp(v?hp zikD0a4CY1>PYG(v?kuQsIo_mQ=p$aEeMB>l(35t^FxW(O)L4<-Y#}0TWej)ZtsPlu zbL96=J~|5>V=^8L)ys# z+spF&z;B}3k9D^f5RE;VvW;&Uclt^UnpZgL1W>(Cld;fiB!BK&j=e&o`hfi{+@J$9 zj=b{`eAQaC;0P_@<^xvF^Mr7o+&y#CC`yXyvwB(w+hC)uJ~*PW_|_Mj8bn-|_h)aHSX zO}G=<*Bk^A0*j-NN<_cblhR9!#od&8I80LrFExm+q3dq>x{gbUgN9V5+%TkEy7d>< z{8SKM;QRp-m0KTpy}06?{yd3MJC32rxM0YY*UCl+D{imQ5Il+=g+#PKJBlzEEp@51 zt>V=;#$zVILQ#-9ixIM-me3$!ZBiqF5ky%mL)aiX!6MU2rWVb&Y9t)_UI;8VOw@`< z$HTIgDXH`f=z5l3WKpXH>ct@gsyGb%!IymCgePt=4;pz7jMkuadU3W62|*$zf|;Z< zsY_w!bAolr3PiPTbP_g^g>ved4u!l@T^6d!XhuTICgRB2`prb#yc~@XU6MzKh=|Ir zoM9jhj*MpNh6KFYq$wZ|d^?N_lf0A}yew$p;a_n9FKr22a!A`YF&ZIEQx=#}ocSJu zBb37qI`;8aO%=O9@P;8jbs^9C#pZ^_oRNnj**S?})x;C1>2et$)8664e~v-s6M(;Uhr1+`kC#8hA8 zNYCI|8Kc_sN(=w&)jCZ=_ zFI46AFtg8`j2Q~FGnPzpB~_(Omb@-c`&nk1!|}puBt$=!S<(o@W%$vz*-s|3{1X3w|4vQ z#r`4?d|(S0xhq|g`Y__*m;J*1=%Yir_BEqg@%v{qZ&~0W8$2;GRt%VvQHk>4T~z!e zDYL#@-j#fGaX=qB0WW}4AB5FUm`wc2+ASBD$rb#VsVw-V{mk3rtePzR*8qQITKF6Cs+`gusZoh|~}s^xT%rr48U{F;iN z2BMDAb2=s=n4>4L(sxo1;zvhi9Fw7B1v~9NQ<~nco7HRl=DB*;#|qq~=Ik?J#E<DxeRH&_H|^0ODkp5w5{~n@sJesemD<)3DK`WcvyP49h>ieEG~Eh}%n5IkSzH*MsKvV@7^!9Vr$#TlP<=i53AZVZ(#FQ-&^g+hPg9v|)|LW~)&VBv= zzQP+kz3+xWjA-w#EbMv8J${Mj_`4qk_Ws51)jR?P}7$(5X-d1C}oKv{6EZlYfg>=;Tun&XOSNX7s`gzr>0_>a|TrlL%02NqJ z_O61_kBtle*Kq7WZj;8{g-N2hc=9>7dP_kvNm6l?@>}^ zd^Ca1Ud4o6q;>&*Y^+gF>z7v{U6+6Qnd9i=@bkV_uUuFU7p^h0-yDX)>qqc&0_(?9 za&*?m?S@5oHf~GDe@u;J1y@hW9(yyxrI*XGrB6Aj##Z>W%|?N%&Q7mei4?&JtiOC6 zAcv3109HVxGsjZ+q6Slo$_*HAm(75_C!Np&vUoeqh*y zV8^`=J87HeJ&W28Iz-IQulgnpnq*pDF>Ove5ZJTy1A~TCrB3~B&RZheV_$6OfBoyf zx*^&(1=7hK^r`iWtMQW-U>XTe=j)(|En=!Dj}9=nmz3X;s5v)EoP;+cP@VD{c#H0l zi{OV74NTxn8t!*KEUfH=i7!glity|#%tA$!Jz-b^eS|Bn_;7%Y9>dw)$H}P* ze#WbzPNC!v}lBIBt0_oajov z@QeLa!DSGuvmo&CAbi2y@?@PqGQjcBu(|=9LBX3|?p-{ygLJV0=`@)ZKXsxNWq6*e zf8K(l*+8f^lwbTzp|~r=$aoef&o6oFc-?f~Khih;=w^|NS(l?(guZHdM=xF9ph^JW(T|IjD@~AISO;>q zD|R2PhsXfR8|YoX=q`RC_?53AlYTpfb2r$vqw#y; zg3~o#^lfVd_Oqi_ro4rK@J&C?OIPp;cl6euD*Ve(rEr=#5L3BD;1$syh^$ zKCcv~8$J1iW&N6QlK=g8Sb=q%Hc@;iM*P^>mH+5(^nK%9q2LAzNVw1E>exc{&2Ag% z{2eH5>KE8WuWL7dL~ql$P)!%gFqIn~FT&(LxaG|TZe3h72S=X{pyPX~4}9x~*epA5 zyn6KMlQV{HIwLhg2j7Kv6G(m8_$+^n2CM^Fdl8p@WgS5tm#YJ5qxUGi{1Qt*_@e8K z4t(0^vWkm{Kj4Z6=jPe6ZW-{rx-4CEM-#%!smF=3UOo6D9vrpam9I=;Y(`)2EpLcM z`%L0CDN3yjHvOu)w~*aT za&p?ub0#*GI|xT}3oJVHKfdsG$r4(3^gY`7EYFR{D2%ff<{VD1`|_@ZB4@@QeZkMy z;Ml;~(U)Fwgw6>RZziB*KA75P)kbZPH--FZyuTvj-}*4v z|I?k{T)R*Ez!W{0u$y>VG`;SnKX&8Uwc(>2>Xmt3~h5&^;UHa|K~iIuX^{~+jlLT{@HFub$Jn0-j0J0=}}wy zoV+iyoj2KrMXwzi2b&V=mMCc^+EQ2un{k~qtp7$gN8|1XIi2k$Pl!w;?8=7%4CwX}2#!&BI$7G*g zVU8@vwe&3#vpLoFq4qL7{b-jjvjI;5jhFCQDgI~?%O2eLRNnj0VtV+oOkZ%QS|vFH zIcRW4Z_ipJf3Mwo8x24*tV^fBcA>s~)0{K={jEjvQ#P2Jd++L_a|j_Xa3Wg(FCMS5 zc9g!4I4sBFw_SvGjTPW&RTheDD!!~oEpIrz^Z~MM6Fp?oSwf6PggMI0iC)#Wyzl1n z^jtlrg1&lPne580TYIGWVva3s_YhK-{jVm2)xPGCsvt2}rnCOQg1%_! zbe8;NrjQb~)4gj^{_^TKII+Wj;Eof4Gev#d8G;9k$3DR_I&%z^clz9Pli}FR_$r6r z=Nz5Vy{A(%Q)l|4?@hYd8MWbs#aV;3&<%b79z)6z?2<-B|KiIP?GySo$!p$>hup z_Bdwq3w^_@b`1Go$j|Xv99G9oXSD}iN98XW#$yDGIqEcPxNMJr= z$BUfpAA4oP`X6*Le3;(2av)1*gewKlff*YYpYm2zQ!I^58yoD-+q?QIVr=5{(I#e} z;oR;sD3$7bJ25zI?Z%zFC;Qe&kcXG`KcXGlRl~vRkr?I%+6g_tOM@G`%apHrJj(l} zddY%+`y(5C+AcafPPJ2A$~TVX08e>R3F%GY!n4|>wlBcV$;XMgvK5+>t336fO<+_D z(`GoBIBx`PM!$hCeW{Ol*lGA7S{z4owLUPy-l;cdXs_0I`}XyCXsAt1hd*___SiXN z$hm}8NGs=K9ebZ><0@WeRq?j|i6E3%`l1y%t%@9;j?hn?zI-x=@9fIcPaGXn(0M!_ zu2V~#md2a9k66H6M|9@s3uf;Dtla!Tqi;v_^VNr^3fQ)J`*!bQ^!T`OU!Cr0gy7&eHh$#j%Wt*E?@QN* zybSipidOQKW?nXHQWqU~7|rtN_|!RlRxdGUY|{tg$9#J{1<1YPrmMM+zTHhYWdqxf z5`pwfM)t(2j$Nzg(PZ~o8<>(7%+m$s&Eq9Y5lfsk@n=4|8h_?fi?hsI1QQS(BqDZ*%t1$+}(zNO8>S5QH=PkX#vE z2@uzV*B~U27w-uWiB5a z{H534D%iEU7oR{f&aqRldKG$F-Id68r?1k76u#20Vn_X5jNd@WvvAqVeW}clce=|f ze8bP)@dQpGNBJ%n;yakf<%5ATZ=0V;l>;P>C*kH{7o|ydijRZwDzgm00IouV9dN31 z{uS8;JK2W3Y}WHj`9lb?3-5tDzrWy;EjY*bLsIk@#a;X=vgBWRT;coY26kP6@f}Xd znbOY?i^+#wdGaM;I5yNS6Ftjv89b|l)u|!sq78F>H;tuyvnZLWNLqF zbutdjO@HNX{0H`7GlAZy4i_tZr=BE5?l53K665ib6VKv%Y>++P_H>s6rwm^D*PpGg zCyTrb&jAN;%NVZPzHeODc{;iAPPt?55(v5L8o|+!Cf?aNv*!%KIIi^N-|>D;#IqVPp_wzw`54dDu4v$t8+a22i@avPo6tUO!RGx;p@_6e zPzQPF0v}hv`G7|4#EvSm1rr*2q-&vZ;lN*)(X#;LNYY(FdrwBs2PkgrokMCO$0;Km zOFJzLH)Qpvf8j9jXvgzro^Rh63wi{$JFa$a{5=Psxdxis4HMDb%}>_z;SW1R(qw$^ zCGvb#k+g_Ei%W|idX8v3R}*__Ve#m$`hLyt=D{Xf~gcdvc=Y{6-<=0)`J{-u}g*Z;qM_2jp| zx1;Y{4mK0H&pAstlUDom+1$WzQMIoQFw%SOTew8Ch<<)C}a>*zh+?lE3p zY{6rq@53J7!|w~A798sS{&2=uJ1t9NPUkT>%IpBvpMUx=|CD%kEuHidmbTx3N?kdp za}huBBz^BCOONVE9UI>*UO5p?U7U$ET4cDLY#(#_Szu`>93W$3gb=xd_K+O~$MK5c z&|JLWYc*T~e%SRX7i(P~TR6>&Egd;^yWSIIAxLI6W-K~5x-Nlp=@4Rf*-IB3XLAUr z*E5e^kr7lJ2FOM)`n03Yk4UZ#(D0S0&tT)A@OpMq&{;d1n*VVQyHPM&$9uef*NtIq z0*iLlOaR0a3~kdpIHrTn!d=HpBTEbS|LcE!+|E6EuvqhAep7IZ`cHjfIf2)HPrC{? z8kBWOqz{>+=%RrRX|!on>DCS$i#59ANc&zLdY|Br+EUW*eObnny^F7u8~Zi~WZ!VS zeO+HuXQPi>yAH?q>;;V@UAnK{Il#3E4r&k3u1-Q2)l^dJFJX=wg^JJK=_#0FE7oFc zm(JN0dy`+B+?ZQ>GFFa0^m;cB)UbFFc--{(*n2e9vvNm|n67N~$_}Sf!ea??*nx z2zBh6Za4KUGLl^xzfo^ecN3WPv-+3vP$eY zHW}Xdpyy}xxpV$!;C5(%F}5C?pnFL-t!d=&c%==NAaIkZzGMAgjvcruOzG(W3z%NR zQJb1iblY&@h5UAXaReEY)j5FC?yNgv!$142WkUZ;NT&UrBs#XMias`7Ecr-KomTKT z`$|#A2BGlNw-#mBw|ew}8Kt(0!$V-G9OjN~jwdPzkFiBPvO{=4sw?N9{j84IES;f8 z6TkNY(QjWrHBZS7>SzAduD*TTFgX3C8@@u(jzgDyELDA>RVE9y6KWs7I3*sx^s)7P zaLO6N&hD;wDd2fK8q4J%^sycepAQ|b^_j-K_w^6E5fnalZ@hh3+xf()QUGUOqYm|j z?7|1Jq}xsU=e&Y;&7GZVp?V>x~FgSx6$1L2Z#_l^Gy-v>BK+x)3BJt)TU>PyPTW~J7C!+acr z$7bQ?)K&}n0k+G|+2?%|oCDMQ1kHut(XDANs1- zj1n5ne?;POeHCHiZGBa7oKEH|&PvxtRa<4?;%v;Wki^QVSph-)=`BNNDmjwe_&VboPlYwt zl2&I~kcF;^EIs;r=wot4ld~_{tFOS06<)f6kQIhwox$*5lBqKX+|}tc*o%*TWZ}sjnbBmkNzwHt) zw~lq3<7L`30izQ8PI`0 zPzQ!>yC!Y}&;Tygo%VIWR*#6)`40Ffv3O-C7s~f>(MK2G}i1S(yz z@p_e+KH&T{xYn8r^t^hI6w-+@Bo`|P3BTZw4Q`=}KpwK;E&9Je-+%`Na)-%ve9JtH zTyT&d5w`HSF-<0bC;#*zkPYEEgB{3~ej{=g?z#kY>j=L7&(DSbzFwWkE8Ot2p|0iK zaPpX7Hsy zV9Fledi54)9^2PdZ*dYo$Hoqd6#}b$?_7L%V^}|dm!WH5UcYhm1(Sy!E@4OS!l_8t zcM>Z;O}l<_c?b7V)I~2k>sJzDAK+Pm@Z5SBPhim)l0*B}tA>OoJn=M$&L&SL0cYGg z3m8MHWv6c7jLEcmU`|=()nmWGdc@1FrmtVRb6!9Es@2yvV}*AnWc*qAco2>FQu;Zz zaCC9F4zGSQgDCazrGU_+ii60XVespmPiJAG&W0^(1UHHhfaU&K#OhsUl%YBKuJS2U1A zZ@emc8-Qqs@|#|ku3l8#Bu{_h#_{tCk(=jq4}fWRE;pIl0pP|Oo|+?kPEnkkp0F_a z{QceY-~Q)6`shW_b{Z((J>5+JIiBd@Q>%{GZ;ox4ms?iordy5sXfbaro z6KK0HJZ{rwwBVG#+G8?Ms~={*J6(YEIvQA_|eWeGu6S-3*ri0 zq06zj5H^<*}~*%Jd#T4bEQtde!StMg=mS8=`1 z8cY1!VJ3f$QH{CcwZ2JR)GpU2RJ@=r^nrF8a&r3Wwa5PT1;%gff3Izs zzTyQkOw)~1an6f9(w{Eu0y<;n*}3S(gMMHR^?2FMr+BsShiZK)e#3uuf#Q)F3Z4w0iR+;|{cS zoL2g!^GXgfYR}qvJmH%z(~Vun95axp2RfXYCCwaurJeI2CgX&z1QQ~=zjISE4J4~N zpcf^mn2w9WNJIT~QCsA+d6_f+Mb5tS3W{v7_U^?;aT)AsZuG)bh7wH}peX+lM#Iku z$~fRS^bUPCOSc}+H4Z|8qZ=8VZV-O1j&^gTI^q!Hh(wq3Nf@Po!H=IM$9HGt<<8 zr0y^H&ShOXQ`eX7>6pE?yBA)xIhZ*>vyww0MNV^_*`L5xw8iQA5?J4JI~sLM<8yS} zTsXYk!s@RE9}vB4XJ365?E1!6jRE=ueFi+{Pj7nyPA_EF{5UFOkCNBsyq6R++A&)? zhxn;WILME`+2bT4M|z64H{pMlJv3a^pXFd;mzDig-=i!$br2Pg_^sFpt4qAsC)a*o z=eS9`Ov9WqKy~xyfy*H zUaul)3|T8!qlz=~1h|c5(dUDS)0M-l^5C(4J8bng#)m&IXXGEohXC~(c4iwJU&ap^ zN=nVuNzvV;g(x}@>kqVFeC}FSh}LHnH%}tBN{qwO?I_RQ!~cq%SLZK#-)Nes;Cij< z>*)IIIt)qh?B!F+QcgY3p^f3y0~-i`<;JTbQNv7WF6IlHiGiG7c zN!5SaYGseJ@5V%g2tMTqOQ7`<7(g|~+(qd$W16EVq+_ab=e=_Z)qo;!ca$c^=UMq+ zid%5_pJnKUScvP&OrlP69C%01-PEfA?*dVJNfp5Is@kYy@tOs7#U9$O70u~P-L->k8xD7vnCmWGQS3ww@#fmi47S1kOhFBjB^!? z?u`?kl_f{{;ss4e1KdJXI(ct=0PZqb*ZIOF4Xo^3VY6qPpn?ugbYA zvAP-0@(##}!0ku|vgpC8esIY-`C<#~sib;=pZrR@!|=g%q&c1Usf{m#c&HGu%$%u>K;ev`daMidWDfOi$uhnkbw%jB^tW zc&Bpk&}3NFUX;=2EFWAE$HH~K($*v|eCvZ&=J4)%IBuHBum#Gm@+dnS$$``k z0)v}f0T%cA*fSx{p3$S4JB)A_n+RPDj9zdq2VVhtmLRX@;Ss%O^kK!Kz2377V3WzY za{9f;`Od4YB!groZ87d^ZwA)sZX*8Oz zlaI(R0sh-|z$^=b3(3ll;BsdFK~Wp%l}I<6)Kpk?TSt3mnFZzglW_ckF&GQd^YZPl zO`wdB-x~*>C*!v|5HfkB^W1&CCtaKXbfQj8UdB#WSDH(DD^Qikl*Zi!XDG6>?pr%F zzVs0hP8FiTv#OgN;6*?iUFTDUSy1WGVuOXr9u4ZVThb$cSz3JOoJw|0!8`3%5J{bO~C*0U+*{Z{M=3;s@=i`w<{B!;W>6$@#vyo3xTeE1USIIly@p`dmfG?0ftMKr-_C9hRAB9-pYJ)IIsDMI5P#Ba|2V4P zEDeQpH9kkP>tvYx>3egM0C(dl_|>*^M_8S9gd#jgezs+ii*bvRd(o$~1@5tr^2k={ z<+JnR?&foRe{P1a??T_MPa2^s^w2$}i(h=;SGf71ufsFg0^86B4*{Gl?wVU>6214b z9irvaN5qS_Fw362=MDk-w?o8^=5}pU2JyRG}?k zJG*Jt6RnlI`UnvCP%eGw4>(KT*Kd4J4)anr3BUF|M_@L6F`Y@26N0_Rt9YAc)A4F4 zJa*HZI6Z&Nj$fpZIn=H(;9FjT=Y6#WO*-8dGjq~%igWVNE6}gq)v_D;`Rm@{7GCXZ zJGM{d^-GA;eyHvdPV&k;sr}oLsJ`gf{8>AgqvzCAqOdP^tZ(dbUj0T1>VOkQx#^rv zj4PKNq7M%q_8$%rj@Tj8IjhJ126iA9_oZSx$6nQN)=pFIFa@~Xad4^b&eSCHIEnNT z@f+%`-^yA|1qW;_C>oy0ELS~`cXkH9wsahF;Ix1^oQ&W&>pb#n+~5~^*BwGPq&~Tc zL^oI4LMzZC>Zl){ly%5Ygz<7&dRJ1-FOFWP7mS~#oeejCh>rTi7rVK6pM$%yryHaD z`i=PE%wC{7_0z>Uj)jnMI|wU)ALLFrV=(;mF-K;$yIpw6tIcx2yka!*tN-whI`6Li znlIyPV<0+cnxAnLx%tQ|p$$8<-|z7_q9fc7T&q9$j`Ph|diC?$oD{$23g$B3s(gJV z>mV`9foK8kjuRaj?0(Xr14&5y{X@SlY@>^y8q^qwU2i6zH1Dn zdprHuB>n5#?UIC7-}=HM^5va=+Ic9a&M#f)64``t&Z_{>)6TuiZ+#j?V7+vIr_U>f z_xc`R%Ox_r{*o;<%HfmDOz*_CX8z*vAH_dZs}aZNcX z3%+%b!7_YBr=(~R0`I5RR(?*b@d4jBTRJ!mU0DNy1%--4bM5KohbuIcH;>qXe~v!0 zLBMywEaN>~uH4DOB>Bpz!hMZL*dt}Nuyy$3J^A3k|05io&_Bl>+`Ajy_4Lc2@i<+S zH&SFPUmXU=*p3V#)uNgJju5@TGh8sA2KA$k=UWHK+^xE-W*lK}q2%v5C%uHVXX^j}R)df+Do&*0yF)6L9Nu-zAVpGyGmNyY{D;pHuezJQ zkYXR{;75*yn5@^Sk>sR&n%;h5On2+;kd7WcR`-=lkLw}Q7n@lN>lDy_{bd>-3*@szZ~**9VlMd$+F=QcLC%&4>|pm)kDFhPJ4Xl&9=<{ivHE1W*Ru%fC@S>SCp#dE{MaPQnCNsMM9c5MW?@-q6?eY>Lqo z=tj6<6_qp;`#EiVGL`kfcj3b0Lg)1}wK7T2KX8KWTE@uL#>4l}!Qi#~`VD==Y<)-} zIb~h`iqG{e)|Iu(U``8Ct|R^oTu`1xiGp~neUJBGCT{>;f2|FEX%Xm4UYmexXQj_( zE__Eocm#D5j`})-y(nU{p9?kolJEBSwT|5`rZ-J8?};@`3kR?$p7Er8i^qrYp`6(_ zi0a+KLy@|=iEFX2{-o2w&9ij!b`6WDvKH?2^E}+owtY$GSpVPe>N-Gu_2g;d#tcxj zC^&W=Bpyc>e*b=uPnLLOY}^#H*p=FLjxVWGA)a}AN#OJyONr~`HE;ylQz+gR+Hm*f1C-G zolvj3Tm9C8AJJ$aKr5#m-MX3}(;GVLkF7MKf5YKVd}#2}^`@YB-hodNsbjHzE)}8e zSewEE_-r2lWI&t0j_uOQM%bc>Hx^CzzUCZ-rfKGC(&WyB`a|z(d-aFMWV(Z#%+Ixl zWU`yjBPxH|#n`0Sd+V%6KKB8HfA!*nrJy)uHOLABzqsc5S^Z)9g_7A z#{iBz^iWx{aoDKuZ(To)0drhvIW5mF04(7kQW!+%zCIUcffF4I2Mw8Xe*J;R3v={w z=xqMC`X}#zrk{P7-2%!c%j~+ zZ60qfjTeuha+-2DJZ*d+jiXDsKcR! zh?9A0-#HzqX6Wz{E<1}!GG|mwm%8@Zb3@s2SGB2851u3Bg}Ueut#3I`?C#r+$YG&~ z(`RuUy?*7vgY>bV2LovJH<}lXK(zBY>RJ$wFMMkgLXuv zV`EN;3Xy*w^?|PP9J`rOb?LWI+UiTk5^j94-N_m5;V;kJia^pWK{I(1bX#8J%cRFR4fv@akX&2ArM z>gGgedGGt$y>SsU+r^oF^xGcG#Us<$94#5VGT^25v~hsbid@MOPjKB|$i=HR;H*}5j=1FD}uj$WT&(jwSD?~S(~B{*2d~NF88>7^CQb~kh*yrzUI&Y(*!``K@=iySTZNQQM&krM9i^06HA2vby);XO3pR{5mJ-AI-5mZoj=SA4zGA{ z)5B%tC!5m(+QDDubIA>kZ2eXj-jC{Q?C;Xw*KWY%tr;%mv!p^5>GsW!C*ISOXtrLv z-L}r7Mj3OTw_W-ubpvwfb%>iOQaGNIa*mc&N{polvS^szGo#3Pu&-(aCb zdeVa9Xoexf7p+xp=^5vGfHB~wfRB!u9+~kFt>IwY9a`^`4xq#Y<9Ze$fAU{>7tL8~ zd7Btzz`3P=`|+=jzdcFbIr{L~WOV$Y4*7Z<@^_>=-QSpF`K%A^i>KkGUwSRCkDBGk z!%CCx;Vv(u+k_yH6;7_btUUXu4L8^%R}-Zt@4P5Eh+Fq9=GUm3Fiigu-tGr_`8BvS z<7U;jWp6|;W5xkk+1` zr?)z+Er`ZgfMC#H0CY!-YYyyn{o|Rm7;SDaGKWK|6 zdYzT&G9+;WP9UHDba*G7Pl!+JT0H!;Rnw&it)Nh z!=`9wGY6ByHqh6;EQ(vawm?vKrazyP=R-SLJtkt}x_7u`XCJ@PYtDrpS+<~GyNoX% z*HB&O{dEzJRqs0bkh9O%EdTa9ea79>wp1AdEAu3J9+~qvAIHtdcKH9`WW;CuY!NtN z2zm5$*Dn;DYHWyH?$m$cUCjty^;i=co(8Z3ks_wAe(%Yz#~^9ySPLE9dQ;oiwKSv` z4hB(r#gDvUjsfTGnu>nr*wnY33Ux_u-ZrNF>D_NDQdgQCf=ONGea!r8^J0&lZihtI z<98}#M|9dxx_jPg;Ys%B(Z`R+o+^!9C3h1=u!RbAD`pMOIZROZV1jVDHhxGUpKK#vIN!z^t zMLS)eHc4```(yLPuiyPofG^=#&Z^b_)8|}s;^#Im;Tan zbx&{YuLzRZD#_aAk}#wqk?&GJho;NCc^a%zdY&*Tz=67AvNh~Aa z)jEMr>dtog)bJk;zr6~hfsY()`+2(ABkCdCoM#FdrpVC|WS!NE&V?JU7R9kM4jroVbuJa8xy=a@l5U&cPa zCx~%*x=1?xAMKFGO&hO?_}W~+Qe9PeN33<<_?b>?i}0r_yT3ly*4Qsz$aC!V=zz}d zK9Y_O$OHr${ONxtcL3&@99ZkuqH=avHda>uZ>zK4?Y2v)AG^`$oq`;Q>WK}%*KxNy z&X|s8!&bDl_v`<@|Ms`={NC{VqiY|Qa`WzA^*c-(-`-J2$NJ~Z^{N;; z!*^^$XjqMg8zsh4d%tKaIr3evwdHL4$|uU$XZO^hZRZlIHoW80IFcBYv}kn#Wi z*Vo^EuP|F=6XvkqRhOInxAz9x`dIwjJ44^((EHG0^$yc>2SQ*EW=y zGulmUH=G@8VUB67i6n)D3FR1Od*>oM>OwyOn&Zq^l4`Px`l$K|yYATfb`Mr){08ia zmOL%#qReoc^BJ(`46Ho8Azd>*<9NKGn`G6^#aTX)K0}s0bVDK;@QurAV-8exsmyL9 z)s9J{U-PsKJ3V7ByH{tYEuT41c3&Fb%Wj^~F2>!ZQNbpsXNQ-C2<9@jG;g9ofu~nsH3%V9FaT>Urw1sZbW%m`6k2Qw9A7iO z1n7d0ut<0PBqc3TS^uRm2Exq=Bd#(ozQ+T&87D+dXHv|0(J?ltG~CIx-HBZszEuKw zE7GyYcHtRx1qAXSjKQU2Li8#$;fDRB11oE?8=P;wz?**8=ep1W}2Q&G#?Pb7}SH+qBVd6c*MZD3ZW>o!IgDy`JQ0_P}P>XitG-V~V3czKWCYl1)3Fhv0Tk}IvcdyT{LijRDEgDXlDAl@lhTW6;g3Q^ z$3s8a{PcO_(;hjR+2B>;0ekZxV{vUk{QT_H#obP%LMwk~D3zOir?bwhgPVu(FJGZ6 zT=3gD8T>?*R((CO&s%&johQRpUL5lNZ(e`32iO$@Fy2n#1Fz8X9zZ{@6NAEWdqiWGqg|Z7 z%iN8V2GwJFm+eBMeW|0nok_dsowJLJiE!TdZy47XsbhA^2fx9kwy`_W`ZB55gbFP; zG^+dy^GJA9bqg1Z&L%4Q2`~>HyL!~~RWj;QV<$du0y7+mrLiv)6mZc!i!h)D+VYRG z00d#Ow@8KH?da0k7-3M=2b~FtbMjRlBuS=fvTf=BUPfg*?1NYm_qSyZc#J*s9B zs$64$fZm3II>@E;Lno7^!bH26YvG7SSKg7e5S)NcW175E;7k~r-IP&x5RUa>V{|2k za(#bkbir;Ua^wh{8Qz=ck+dxsLQV(9Q;RXBHo+Kwb+=XFbUzJA>;(Vf^nlN#Tv@vIn2JZ`+}JydC_|6;!ELZnaB`^!H?Is$&1ANa z^-d~0;KjTBISS#PT^2+5JVH~wn4}K+*ud~^KwI*Dl$gxn^bh9N`PxEBlY4nUL<*sn zPZ#*3WAhbdjc4bk6yD@Ffi2(1I_wPc2$y#b|1;+lmX-7Lz$6Lj)AWGmpYNNv+Nt;Q zV>{}a{8hKpCHRi7Io>^b^Th%+$J^WDY}R|3JZj|KdZ%4jV7H*?5jxF!@AQcm{rDbB zsnk6oR$r5H9nq2XyZJ&B|Fym*pwF{oi{3ehD{I$4i1zeEET)&r-O7XRD0!M=PNz>& zhv{Yn4;_F&r{merE~?M)v*RxDsqaeD*-(0B*PK4D(p8I$?|W1kmSl?8tf4gaSm_$M zuQl&ACKe2V%^?^*9Bju$+d0_ioDJ36{n#&Yj&6=UurXn~FeX$N$PN?O3TOucp0kNN zkF#q1e(;-{5~{bN3jLYGmm7~;gHu0#)E?R{EvSNmlj+dlO~k0;+hcUW%&Ezy@PuAz z@4LbIAOG>Do!TF-N22PVTYNr!(T8TDYgb7>!CJJQvT9a96>0p0Zv2e5yRM?NU3SSL z`+Ie(FZKRTYlJw6243N4@z%}nIVQ=md`GR%p6{f-TH0 z=!snNO#|bzx|~CF^;BLo9=2LJ?`G2qin_pjXJ0ri=pT6ks5q)weF+gi9MNXZZ+QQH9 zhJIXjO%*$4Kmf{#Cwy~$J?B7(uwOwxkL5F0MM`~CEgiGT&PM|PrLcw(p5Da-eeoQh zW9p>Atu8nhZnwd0*DEtllBLStm>xV?IZN#7<7io%$A4MM;$5HTvDI?}p*|qm;QSdE z=)Ee=SrnZ9DxS2Tl8G=}aB$Axkv3g_t8MvGxEm04(*Ym5H|BF>Ev@n&8$0d7^?uqt zrIuE-h4pitryu9Z&-sRTgz=)il+nR%$uqg+NAHYjqRGWk7Lu2}F62ePc=Lgw*NqXJ zG0LyM2%Q@aZ~7?O{eDpN&_@%!Gbc@+^uw9A8y%Z3oc7|8QS07)tR;qKVOZ`UHy&-c zGKY{xmv%xn?4GyXaLfkeopZ)~4rSwrdc}ru-(11^^Fwm|&p&%ivA z2HE4c=_))~LH1}aebw_NkN)(Nc9E{k|Ge|`ZOs1uHhtA6wQ;+fCufe~9n1J42P^I; z-u4r3;Yko*f7YLDXI=twhQh zuk-2ClIwcK$(QC`YaH`G++B9U zrszbY){fIX%z_@O_FU&|U3hv&i2`gp&}ppS{< zWc|aOK`$-bvlcCwF4TODZw|Gt&u)~;K^1TK0=iL=%(E1zPUD`_bMcZs_Wq9yb=wbE zt@3)HPDgQQ)nK}-`y(qsVjLr*PIL8*BH9zDtGN8`lTL&gwz{EVW|+ZX&g z2ceV1^AC^p_RgcpqrTOPmhYVYZa${7yY8f-hYq>vb4i2NgLd?@b7{^3K6VyAQFw-G zb%J(0q<6Zf*4@1-c~YVAD2HST!-Mym?+VJ-L#N+4W^Pz$<^6gr z@9=*HG6{#k9I*H}$~fu2mW{vJI^7A*j>)LtmF^^6eLISt+#+kl2XwrGb%4K7+~+09 z6iP%#tmrS6fAVD9pm)UeUvT{bbVia;X4m~0oVLiCJv~-~;Bs-Gj0#jrS0+VEW#q!lRV>C4V5M#@T70;|E@4E;^X% ze?v4GLex!9QY})1L=Dta{Z1B$KhlQi%yYOnp1+1<+d+7n7*}x`%@D-lh!wV!FD?$ z!t>M}>dHj9n)UZ9KD12j0$`WXhLb&>#hu(_tIi<7``xE+u>h|;x{m)-GnK#PMJrrq zR0&QzJa|J{j`Kl4SqHz@j{Na^&W`Rr+wr${U2WJ6^3{#1@IPyNmu}WVeZxm%*mM$# z6OP2j{4I(Op~_+!#S;1-*GmF`x07zn6@cUH;0}8AAAOE+@$xsh51!fYhNXD8EQY=gNgbiAD7IfS{TxUc_&@&U7^*NMdsUfynSj1DMy3dxz%DY zEt(=_LHkEfl-SwJ0r|E1_0GB6QuY6}5fj?;?-VO+V?C9tBV{uE@%x*0)iF9R`0w3w z@o2~DZX5*lu9s82?Mt6uybh+ohS13hD@4X&r z4)pM^zSVy`dt^(0=S$U?GLJH4yX`=2%+@ExF0ipco;l*l6@BesH@DJ3O+Q_g7C&~A zSx_&~CEg2ju2e_*Qf1W*X8`^BIr+7fJ&Ra*>A&#ty|sqYbfNClBU`jv%Gzt~tunK) z=xZ^wH8c}eKb*tW-J${<{?5C=jvca1Bg`Cn!Pr&$y4{|XWf#}#boF{4&argl;gFn@t}FqwG1@>^T6i70##^?UX}vdQXQM=#> zN_M;PIP5;w_K`8RYdiEpKyCSDeaiaQU{}+PMSHg%g;x3IF`4;x((WmTpuE3N8#kWb zn~U5Ko9?6cEu9+I@bs^C^Lqd;Rn7V8QDRO$V;7tBS^-Zyc(UM0&dATT`9FK))(-JM z^Tc&O7$-T$>W|;PZbs#CT+T1!P~$nPDVm^G2`xdsu~?2%2mIBhjp83izOx_-ChyHCLBfBxBfk=-$6v+*|PF(WA$iBqO6 ztqoL|8?i7LA1>r;h-qTy@)t%IGp;Ev1Mblgg6iMw1i%DE?{5bCU>nCXBDgdN3Fpxn zIBOu39zQrjGF`8Xer*#8%8PI0=SX8MCTeAybe_BNRX_!n3hnZs530kpO4`Jx3;dqM z(xW|Oj6wR{Yu#}@tqR(?eDFOovl*+}&0sfjGXyacM%( z3~#c4C|sv=;WrpMq7yF`51$4*Fm@7CY~ZiODnkJ`pLh_z`GZyg^;^Up6};^(9&F=3 zywboDYLWe12{HT`T{KBHiC5fkOy4w z=SSq2EuvbVTYJeg((?-Y$dUyFhTcws_@{-cBh{E^Z#X7G!J53vfqbyRC|Tuir3n_}(JYROLB<$wG;0u;05- z*ZBR?1OXyr^d7g89;7CYIdL?^&m*@>O#fG6Cllbq;L*+Ov?2t$#h8r)LrxxqMZUJE zHep*&-S(Yh;W(&nXKPGi)@F49ya^Le3bF6#C2VC@X z91BI*(5S$6$troAO`V5a*Go)r`Z&Cmq&(ol*%ffKF$KVj*A#)LQ+@cWeEL6&+2SU! z?CA5$9;=3j1C5i?4u&S>-Szffvybh%!h=cdSrAqy=0&BsVPKIqr)%@3+0B@2zE->C zgzME--63xQki&eAsV3{--oAaYua&<4XkvR7Nq^=5vs;0DtDZ|{qRw8X0aDXn^vi$u zx*ZkKe&0C#w8{L}?uzeSK=G#U*g`yb^?mvR<*zs~LNwf+)dhV99gpd#4C2hO15kP^ zN#pfYTz%`CEHosHUeSB^+?-8KW9&HjZUNRn%25c_+Ftfy;_S+?$#zjGuAMmn#nlZP z;#9=2T;{vxTl(s!1dFvju2U&8uU!V~H2`x~#LM&e|I`9%&Km}cP=HK*cB)ed#=DeW zzxuv++x@8%%*pet`S>dzwy>fuXj`j)axYxmC*+af)YZm8Ssm<%PM)eO_CpUI4Ntb# zOGmbTQ)qo#^51Muu7B?VRBu3(J?#o*s1o_#+u)rTCCAm z?aHF}TlcZIw&Ad9F^AWnFFe7LrBl-Oh-JH0Enpjuv}X=T4yZ5PIDx}W2~H>VzME0j zRI$Suo>YUi!jCg^s#%Khh5rzqMr4m#vu^vdn!HH>Q1{j zc6jEsaI9Wg{GCoOMXN>QVcbw(ZR3k1p_t-rPMOMh)q{HEG=qT!zzI7! zcF{H6bKrqeccZJmnOicfkCO{miF2})uA9SCStrB;d)Ghe^IkXBZueCAbXVpvCedgP zt~P@5slU_qIYw6x!QpFPsEtk}`=wiT;KEs*!xwKIyK!EYM@K(b-}E!5ntmvIal7Vw zd2UW9^Rz;~pn7_dWF0Rzt)q+CYPOC?`TmH#8xTe4So=1obu;6LNykZ+j$U`OKs)@i zarr}ijMs^84>kDK4+t(QKrg~OZzrmKxML#s2xRF9K zPCSmq*-`a=<}YcHp5q5aPfNI=d*4u0XR^F2?`t}MpHuk%=u7IKyP@Nz5&NO%Pd!!g zkMzaKsgB)jW1MT3_{V#&{U3WEVXz*HwJXu<1X9oPeUaF5Ae7Uy_o;dm{vG>_K1ZT= zMn<{v_-5nAr9Pn1*sm+AcO0%s+_kh1y^hE`28|mYZ#IT`Cn)>eoVdEgpC=#K;oWXh zSLxL`8vd8t11;^ry`=XMO18A~8$x9bSIqVKQy3HIuw^0a+Be_wTj;iE@Z z@IVnMZ0Dkhd^(KX1&k3D(`h(0c9Bg=9?Gpih@&+jl*h5fk~_;dH?d>v_Z@x4zfiVt z1Y|lACdty%H`Hq&-W%b0dxPulaNeL*5TIVgaCl%};o;odduzH*<~2a(Db9Se-Bqkz z77uYy#O?ZgZe@lqQYOx_Fwwf!hu@jUj%|jze_2 zR@3Cd*d1gDe>sQUbv$SYSK-yoc!h^9ZZz>n-zJZwTBn%qR&G`%-cgyo528FG)7!o{ z)?H)*86+2!Sw$&VMvZ>E2FoYUw~UtgrU!JO2-oP9 zj^?d%^%9Ze?7A2%`_Ob<7%vj9>m}Zozowx9K3T{CzBXlI^TXZx>P?5Ty1>iwJKuVk zULz(;aNY56{w(pzbo%wU*^qXX8{U<ID`O3OG zxiz92=c9~BiL>Jy`AItEFC;hoE-$z{ZRaxN-8OgU-NmIV);aC(Jd&4gPs_bvmJdPK ztA`VP2qbHGl~RvaxM|-s2Pe0L;knNjd}+1jvcjV7U7OXwvvAIItqBnY+G4LqgC{$A}y`KO!F^H+N7&~;7 z)2AM%j0saz@EhFthbKlj1D0?IRSM#QF1$3lql3-8Do%!};p(@}E}K)+lVn1xVRXpq zj%r_7ZxFX|HesEEwlVH#qcOg5ZVSd};fH=!RjB18(tVmYNShN?UE&d6_*iFm>sO8= zV8tuvYW7pa)ga@8K2v`rj_&q2uXOaIE3i3bHU@^%qW)WTO9v+na$Rea&hGR-Z<71| zLzA~~K5I6;g+z1@cVHoRlHzaJCGFTeskm@Y%uWv2EsH8~m9Nm*dBk}OL$W2WJN?2< zV+9h*&XYMnQkseAy_oiXW%@PY+ir?>LfJ_q99-E?`ER>z|NOc747T=%A7lKNV0~=C zu1zm=);3Mj-@VOgXrf!4vRAx$HHZo($zGAsYU2}6&n7>m5pFuczqqGmaJG1}Sn_%jb53(23lr~#^LVI9q;_C##a2wTrs*>G+TWB*<;+^t7Va?ADYfCx?8~a z9;WG(-PA}o@69AV+DJb0*v)0(?RpM|cq7+#xizO}FR#-vpN>af_d<2!ULVh3FLr0S zf%30*nR-tbC-v_+qrdi|_fI_mv&Zr_!J{6?={1IgOExF(2DF>T?$XcRKNv16!0A`V z8PKN|hySZQ4g__>(e#w#HJqD+11f#(IXqw6ZTq$z!mqP+4q7rEqS~=K0$aVL2m0cm zP-prfj-5H(;f!y3hnx=ay92q4He6eWw76rB>`?#U(PUzO(>9^1tQ!~JQ+5Xqne8x5 zsP%!#C!7T}$BX$q8T~?n2gE`3Q@QQVNrq1z?Jp@`U-cQ+)i(!#dPZlu@2R9!NluA5 zt-_*iW-G&p%lNMj&ST>lLV;ZB=L-jEHefNX#j_E%piaipcoc^-+^avf23pXEeQ6Q= zp|66Uuk)gK9De#$bdJ82U!Rq_@Q8=;3DMfx!8okDrj8?vwtQf5a_oL}6W{6sUtt@c zt7`*NSLA>SPXg(bXCrI7ODR2jsrlycId!QosmD5hy>RwkhpQGi zrUUV;$=u7@lYHh5ZV1_7w)tN6yLtqD z7mnf(m8K4q)t2?Kr%hJhw_;aS8O)CeWGXBEZtZ;sgAs*(3kN+I^8I%o#4MA^)LBmw(3`a(#D)`>BL7lyfgIo zca7Cys9GDd&ubMpIDH9x<5guoH1=|I{vNIFja3&p+tQI8WPBIiXUD0PMZ*+d(dvgY z(0fMh3-OM+?qSAn^5bLth~0fmDUE?|>MP!NBc<;7;OCIcL0ON|UozJ>*{SwlA^jK+ z`q?+Hdp@Ndft*$xaWtfzk&n|06|Wijz3&XTDf3}B1Kf~wW8mwYdFEoCbfJisjaN@| z&Kg(TL?Mq4Fnx(PH%*j#k++V`amc9yKB40n*Le8>v397 ztvv6s>Sy)k-~Oq_*WcsY z4n#NgzsLV^s(NQJog>sKJuM`&%F!?6GXIP#OoP z&fc5o)hwTrA;)a_+KxP7&OR5E93N9!`rKJZJ=4DwX@Y`dI~nH5uFSUYma4pp-=w3C z^T>s*(uYsUJA@T{84U8y81$IX5Q?M}o>+?W&H$pN!A*F-q&$44+seCpmO?Az1&j4F z8AQAzTru9y6YR1uu_jf;#@HhLlrjdDSs?{wo@-jq2+sT5lrF@8W@jSZoMSI$e7Y?M z<@*o6hL{>da~xu;*cFy`M><2fGN!g2Q^`y#~K0ktw8`U;0;$pHbx|32tVKf zbo9Ttvvg-*$}p(ut?L`J{71YC1GIyl=s6sdXL!hxfbhA7um2?-1BdKFSBCui`sU$M z;&E7%35KkkZZ-0~M^fETsxrbY@3|@uQ5P5fr59g%8UGF+jq~ov@*;EU@6^kRTF~Ji z-N}CBA8+VnqYIPwqPf$r^n*YjjN_8?mhaTbv9kx<7^$4j4GDDa@^GDs>x}2F@dmFf z!Flm3ZE^Khy2U_v)z{IrOu`f%xL4rdkacA{t$p1^oRzuty6e(}8|IGR*I+M1?09kP zm%lrP!H*nx!9`^@v77$xLZ!qhpVNmHP89 znbXajxitoh!dE$<;A4uXZ+3})sq|%>H38~s$IN` z9X`G{zG?$6p1EU5mUxS=gVDs|=saz;=+<;|*qRSyt44t4uBSaJ+bbZp0BC}R*KiwWH7OxcycaY@IO-Bz3-<;LfRAN=&! zQ+L0;?ESNx1{U|P`Y?rE3=P-i)-P?g6tS+>9_T83=q;_^qhI(&{mMJ}*jec^Crk9t zF5M#-J%BimNgkeDiS6zYYGO3zXK&y?yl)|yyl?+_@!Pw1&85<*399$t!2OT^`rOXJ&n@E8SH~vJ zRW=8!yW8lFI(xi1N38#=RyJ&CyV|>#d>g`EdMY3Q{g`9#Ve5Kh0Yu3-T~Hnxowi$D z;czbjTtVFq8GHeHSxxc5edd%G-XB^CP0Bi`)H zdX`=-(!Bg12DYFcXJ?IN>}R`EvrW3iqjqGmBAA29U%wu0YxyFGFDv|k4Go?a z?bRWi3qIC^QBF|rP5ZM)x9#w-@HIcbAI)0hS~VnBa{x|deLX#(>?Q}ffozA2F+Yu1 z6g>^rg5({?brF4O7MKk``R(uTUjFvaIhKNN{P^C@h^L$z!T37#`xa-j!U$~_TYbKM zb+qc>Eng{ii^1x}oQ*ClQcbDucUf(>VQt>R&7+H7t7D7rDO)}2SsRBp#;rcBQI36l z$^mIX`MSs4DUaM+Yg|0BMejR&-Xf6Gf)oAQc7cWK>tnGJyaMHMCcey8Tw1_-oY?CnIIUN(a&$^AVVceUIpm*)-#lUV7;lhp zICEsKKxL+X69uzB+ zHW$Bt;Jw58sc1@}TRhs8=;I*9{mGPkn**tb>|r_#rFrIVY)VLPS_mB5>{8sBmb_9# zEAg&DvU9X~{no1*%)58m)Q8Qf*`%92`1R{ppOuJqBz3v|=x{5av_X}wUE&$Y6qPsrxjckQJt26KAGlm10^HyEjZ5n;ObbhMeKG#0&EXVU6b<`6lM70ncTcC3k z3Z)-?99`%SkCx8)?kkUuf@QbCXgj+>5&8eBPvWH0KmNBq+~73}#t$@J<(&PRg5Ea) zVIO#+5AVxNn%#ulQ;F3vTJ)r+)SqvMV=OW~-&uHFfBe2Nn2z0m`5f%N*i5#L(~pve z7EhmOzTtHmK7wSYy|KqlzUR&RevhA;>*<5WRrJICGCg};fgAMN8s&Kpu;nnvVd`An zc!Gx(+2Ffwcf^Fo`>eUAS`H#&S3VXBT5rGoKt+G9H^=A<_vY5c-d3kyI9i(r{KzT$@#CM((Z@h`7=TU* z0)c?Lb|EvSPR^ZhuGd)8O8pg5V;nf6scTwi4-y$2BD@f$N(3GX7`CK9A4qjn9Ml;o z5PxEz%BZ(%Eg;InE|05#KTX8_0K4m6mFZm&K7Blg-YoNyVuh8_bZ~U>2Jb+MB-|#4 zkOR8Q8#oMf646eMZQqO^TXVfL%J$GRSk?)Vc8WTPpr2Xa^4|28-G%=QO1Tr)$yeqS zRCwvYC1Hn?OMO`k+>Teir|}Gk<(ux$1cihGQQ@+OZm#TSautGffv zSD2$FnwvzUU3t1u?qOf9`(Iem3+ZUx1TGkGTIkU49IBtEqbbaGD5R!F93xE3x=K)*+FHev|NEuR0s>-S&n=o`|0gCnP%G zT3mt*bR2&PB@ADQqVY8QxL~vm{ZEW^q>ll)E<74x@!^F)y38er6!c|B^j!_-fR=mU z@fVOj8K zuT7F}X941RShA~A9Us8RRRtg+&u3(wd;#5%oRi&a)>i zj+%?Q%lb8knXX8ec$oGvha7$JdJLmoFpUMqK{z?J;3I?a$%OANiS9vjAz=d1<)ywL;3BMh4inw$AvPT9@e82UM zLQlsoFOjB$q?=DCek#5L@BN1}0us^LkJKxaHy%JXce(Q$ZPVdd*wD7Pad$iKnw)Oo zu8u1~U8AYrEzl1q#7B3_@zb=Dq)mC|w4B2z1+0!L@+PN=If445ZT9v(VDqLkY;ow( zL$U{A5^O?iM`u`Tua%F^c6tW&{EheW_;PWNiuCz86MXjg(L7)r_Pct!RU(z%qTAfz zGly&VPhVk)>d~7fxf#^wCi)z*9tDN-NIawmS^8YN$@q_Mf;dDE&|Nu)WHM9?9)<;5 z`O*|(i*ta~_H!YmlN>%R!enm|8&4cEUhMrgL7iAf zb5vS{&RN)eQG1D%)wA-#*)39;t{rQe>J$^nV0TQ_wSe#O)z!(?mVsU68#gRQ-uI

        D_`CfT6;A17)miIqR&JxM^`|q#9-!6}K3Ub<^bNau^ z#PF8{-IsDjNDnAAZMWxf_N}o*wXmOfW@BtOW8c@& zE2n+!V;Sjt@@5Nco1zxN*2lKV)-Z+kDH*V1r+YS*)Y>g83t(0}id>W>>cPu+zsJ)Hi}$GPZ7 zeY+u26;&UnpY>iqZD1dWql5kei(Wi5Iq-gCI`s8qui+WH>3IH?7=trrI&M1~1T2ye zUEPV>$vc@>i^uj#y5Q8L`6E1zQ!jM=p%$qa>H(FUe0d*9TYh@M zzeC&$H=BT)Xn$$Dsey+fXvlO;;d8_#n@*JotMt&G13ew_VWEW5mS1XR(KRDIA%@^2;^00mTFG88*yg8_Hpk^I;2 zOWrTh>4kx)C}rtnGAUjBjF|0+ksrWxSo*C~Wdw}>e}!LR?s~Xs-8vodkf0$<&z)x& z5-tM&UPrP7*>Ia7|4Q%9a}M|E^bW|{6nw&T(Ao9ULUQ97KtDHc%fHGkEx;R(gY>=C~i)FB_cBgSFr&U*l#j3r0AKdM@|4e6HQ zB;xR9d}r+3lQB*!yImF#EjpazS-D^6OLN@1+J&?`LtaNeJB4rS6nyQFS3LL!)^M5V z9K@&X>Gw|m)^)K4wMtu2aiyLc`41aHYu06`l=q!Zj*rH)m{62xWST%4ui9R zrAuu`|8Eli|I&3Q>~Z8wx}LR?l+@ibV;`UY|NFeme7$I)RzLTPEJ|~HImxQZL;``> z5C{a2NM-iqEQ?gUB}|a!>?d{PtKO9> z>*w}(vvI#i@eKS8&dva=lW;8Of+uExXG*lS$`3$zoL?tLW^s1(T#}uh3%-D5Cf4Iz z1_ku~zCfLgmld%p(G2fE#;naw>xV;hdKZrN;ac89^mt?+yt7{m6JMXG50B6G(%Rb- ztIKK@aPX0eJZV3L>zHq{n!7)pk?x%CcM8RR7knjCA{PhTqf&7_$Hjp+WZMD}4$W&i+e#>Xkt!(eV z?(?U-OhE7pp$5+eSX-&nmL1<(8DsB0S};xM9=v8Mqv5cF1Q6YE@tLEo!fMN3>NMiM zH)yck$wO_`QwopODfq9QDz1#;0-)#UqJIO7BZVtfKFpK({Ev}a)pzL`ye5~cq<#55 zTWaw7ts?P(p-6{QnsvW9>}1D>^!7u8=}blZOurkTuw{HOn8AmiAs{GdOW2%zgGsBk zzV}AcBiG|UY_*Fvh6m%K@^}Ihhk&`f+PF^+eE`lXbMQN^{ObdPv!GkBxCVl!zqdkD z`-b7oC4=k&5KR*~aYkSA%V}pM$FlXN@j}2Mv zcNmFBbos~*eygLp;Q@QssaW-sBHQ35o81b+;27Y}-NTRQ`PQn%ztg*~CjCqJt>D7% zt@IOA6X+%|`eSu;XvfD2X+Pb9$5Bf1(*N{mmQ^;PYxU}LTR)VaT@i5BC;j0CG_4v; z^bNEH1o80(2H%2Bp~7E%`;>v}`dGmAeQ(J=`{q?9{@^WM?`1T}(+aDj+iXhuHY(2dvOLEmf+FMx>O+M9Cng0uiiHewbeSjw(n z!QtAeGW5=BsRdXFL>rp{4?@BmO{L8ebjym?hl1mu>27rh^0Akpa#k?XWwq~LYDaR~ zV7Bu349kPxjko8QTz=GCK6o~V*1Am2VUcP)7-vzwmW@!Svr=5lV0)zi*#haDRzinlB z?IWDsV|fI_$9K9(S4&4Ld|kZAdD)}y>|*)ZO1P4eCm^ga=R0Ns*OViC`L^mj{A>XP z&)30b=a0Wi@3ciSKk}eQRXv+={Pa@}9|IXoVyjj-`AF=V9`w|Bf#&>`&h=69IZ`VQ zE@Mw+t8|7&>d%9dr1SY!)Lu1^4a69vfy{A(z=ee0-5&@Y4X~$D13!)3o;z^3&8{en zu?*pveLr=8bo{6CS1umGGMFObN8vd28Uz^X&7AFRD{p$}o#Q+FF+UoJrJNG`a#oq> z8$(K~`ZD_J%WA=sBU^IAB{T-9@&>)5zi&GBs{2Fg zRPUw=dPzj8iYL&N4~*( zDj?w}{A31g@NR=wLd3T@vtYq0)u%6KPZ`rPbaQL+>yd+7x@SD?or5zG)0Y4RYWA!U@!CGF|w;S^G z2@(1{oqm$ZT1h440irJmJC_%j9i`oV<*B^8lXvY->whA2`M@b#$!0A*1`U`pr|KKz z3of3yF=ol={&nwEe0^&hV7V6#spoKZcSXQ(a^+j%bq~xHJ@!qJ4O(VPkG)*bDA=zW z0N*vp$1C=JELok(D0qE#0@AqQWcS@3uU9{Ojy-kL{v3DN{`%qGj(D0G+vO3ZudU|z z_Fc5$TpQ$=@fKkEyp9GaystlESL6GfW4L7lZv#}+j|*h8J`l=M%3ofrKA%qFm%jB3 z5Dz~3GR@!bp?A>ch;8q@s83lYcaap`LKHAI|qJvwC-O${wmf zI@dUQJ4{gNqrUWlBYmrZ^B--X{HlJ;%C@sXbh*)*duo6}yM8<2g9-VMn4WRO@tbpk~k z#64a(U#3 zGxFZ5$)(!pCTETR7YP6HsrvNg`Eydv>I=3Rk4wTF`h9&C@RP6f^GM`@1s&z5bLF+F zPhd{_fH%IMJwN5+wCB&o@7WI*@yEd2z?f{mw8zk!hj){!w>j@o_3X*Vf`{6n`rv55 zWe;ce=r*W51K;#(w5o4Z4CmRFL)dTv$V*HFs=*pV6(|o4LH6PG8DKsSM=uldw&nZw zCVT7=F|2Ko*Ib>CO^_QTdfA5dy+LNM_IPoCa7a)B?gmNf6(IQB(*&O%TUipzUKR-3 zD%k=G9ut~%IUy5SIXGw|7YD+ukOX+;;?_f6oS zws;0k-t76U)fg|H{rhj}aKY}++3_DWE;gs!8$4U7v%y*rG&r)o*}(-8sz};hZDt|s zbbyY1TW};^gv)Pldkb&2Y(arI_@T)ud@SYgJbE^{BMJOpk8uB7ySvZtodr*iW>d7Q zbOevI0X*JgzBL;7CduiDw#!a9Cfn%~$(&>M{8neU2fUTZ4esOP<6f+D+L*Qou2mjY z*m3F0>JJNY&-c`3oTK%uj3fK9SBz___~d1L$gY5^KY*`^hYXC>OA8N{_g#<3{%BC| zt@fYnX=#&0v)9aTtN4RLR!SmRzY~x`%$i_bxeAt-faO1`mPbe)A zSYfQ}e==sDZY%vtT3g=>Gs0&R9@4^4KY<4~9$~;>L$l=b_$vBs{lq-+o2cL7_ z_Z~4#m|sl}#22=DIuQIgf8f;_z|(QQ(~jsk!QCr0IdAM1LoPJ;tN+(Uu&rLK^jB}2 zXV=7*;G!;LLqVM5%TzvN`_eeRf_rScJi5)J2@{jY?0p&t!d-N8Q;2?byVu z)q3~k^G0xXOrT8wt3~SB=w2vw_fWLsrH z`vP6rM$HP!2vBx%mDWMe_!EaJcl!$mA8CSXYg@JZm$esLAn5PERJWCP?T|5h`&Y(v z-L@6MbRe8RMZ~AdIQad1l<%$j_2@hP(91LNyewzsTC3spqk=}i*>A7@CXm@%`O8=R zNi~^=+c0?9oiiph3NSJFlY1N zG)AuV29WU7NO?E`kkK*-N#`=z04&*;>>V?ZV^j&04bmMciw3!9Hp5qA#sCft1yQfMe6PN)&#@c3CkU||BgmJJ z`;`gy0a7E)K~Vo~)texiO)~43pnOWD3}<#<;(;+(D(EoyGy`{@`%XwTid(=C&UmMD zF%5`}Jf!f8|yVj@~z38jp-kuzO4Al3c+!P$rLvyn2 zS|?ls72%gY*{q&;o)hZ{gfWY?O-M5+$>GJ$OIu^EAoPx8$dL^4yMF9ye9BoLBjk=!U|buT8>f*GoDUk4WP=yaV@n(!)F`|KRpG44WOIF<&1F$*FpIBA;Ms7!s}byoJ3C|jRfaDy#d zJFLHe>-H9_PLEQp^92xHzvvcwtyyZtM|V^Td)NJz{Ymc7VXI~rDpbBbzEiN`MN9m? zTg%_=kyaccAl zXZ6#8aaKgB=?pSAyB$t(p#HCZz7<#R+N|$$1NiL+R6V(n`96)Q2volQ{OW(7*Qi4G z1fi=^^Q1BlJvQ^bi?6+I&zlj^0b{6g+Fy2m1K)7fmd@ZGQv&Uv6xFvqbF0h$3NP=u zK001HMqbDCZTtvs4!XDHa`X+Vi(N*EcGqfyVB4I#QN**?wLy>JelNg^S_Ac@xIK<$ z`vbqndds&#PcZOL@b>73HcZ(|O`dxs(I9)a!Zo-7(FW1mIdV=~GLB(Z8BX20gP-Ry zu~UzMJiCETHsM*R;d;{1T6N+GPu!y>N%5C~spMZDdX%9l%5Rid^IW_s`Ln{>pV?&HNdgS+&ejtX6 zY90MLAB7b}r*HdE{?R_5WF$5v@P&fA2E<3N%Nf(z8!L^qPcJ-z9~;A!UONIGZb%@b z_@V}vn9HWT$+nT{k5;OxTYq!<6SN&2vbE885TNx@7oBu+{q%u2nb6hkON$=;PxWRI zgIU`R3_95LkJo@-yI_mi3gZWDh+Xyg^j(94vr;r3$M`P+@ODx9A`cCmeTrV?=%K;& ztMC%As8GX)a+h}Bqj|TZqT>nN7DO(8L$T3MzGyuC={OZnYvbuitm&MLYkTp=2e0P4 zkfZeURJubw4wp-lyvikB>EUn-{L*Q`r4{S`>EEKY^zDrZhuWrk007g9ydRCDRH7XG z=-TR>hH8t4KWqOxuN79$i~6l^e&eK7R93Kk?=knil&M1aY5c1#(<`gI>C+}JRR)dd zp)<2arSZL{VWl5@4xXn?#@EX5jcWD<%INmD_R=g!731M4U?%wPvC7dGKP!dYaPAXv z>@C>3C4|!d+l!~@#V2FO+9h6S6KsJ3WF@E-nHW;P-YTnjXK&fby>t7|y==Py0boz~ z!R6oHy=v88lS?&5l=@~%;Aa)wv*-426PT;*^*Q!fmD&qGu1|bU4RK1bv?B zuv%PTQk{Z!R(Kkf!dbs7$oAT{BrojmTdw4ZPM^hV(m(inQbC{!KeaPb_aplL z_HRub{i}&TPhAEkK2NM0>g$e33O?@jpPpBDX98h~`Sh=)<9#opzxr?cBtCogKYN@V zO@fO8x?s^aeH7f;D)wuF>$_Yfc3_}}foKTLrKld!QH+-@8an@3Lay6v`U(xoAdRARjKQX#6dDYVgP7R> z%U&=JE9W#6M)+kCVlbG5VUD84b{JXn*4g zqj}0~Rm!S|r?l!m%_*Lw2+<&F4>b<+P#vDtl|tefqLm4oJ}5?I_1Bp9f{YoB61zJ< z7*D&&S|f1{korLYASmjBO+Pzy)`uyjb-sqU%;g&Lr|uhDhX{D!sBa0C#T(`OJNiYA zJ~FQI%G}P&?-T}|fGx|alN5jrCRb@0`=@*-9SsLp#fN`o5AF&}{dxR)c^m_$*oxsU`@^s_YnRRyP)Yi#p^r%r46WEw3b*`T#w2yPQ1fg>xT#rsKQ53JeCk<@yN^{%m{T+Va*B->j`#t>XLMhVI9e(Gn#q~ zuwD00R3{}opK86qEZ;$A`QdcB7v*vsaw-gzwl9&%i_w`A+dVj)nyc2VV>ZG|5x(?j z*7G{G`o`rjuoxn{3T|Yo^YHA#W6*;;X>g5yX+RH>QrA(C)LAhpE@OTr4tv4A)N4MV~gassw__8UN@C zJmjg&kz)|5#NLJSy=kMC_wTJx zNp_P-FwukXe+mkq*Cy5*jD|G2u|t+OO(P3rk?DJVVESv|WS=mPdvVG+S-DK%7N5qy ztDegLJn$wQ;Zgcgu`^g^H|c=K#*LUgLTYs)ndfm9P)G;j&Gh6aK&jQq!4#;$Z;}qj z@H;CY1S4{$)f=uaY6SY{HwDc+2C~(H@xma z{PMLuU;2d;nis_Fn(sjt-Ym!o4May}`=DDtLZ?$fL{MRxDSN~1N_&I3YMCIrU z-}+R+Essl^kg$5>k5(Z3+aC|l{;z+12!Qsg#s*vQ8f_*M;Pt%#qSk#jCdbq4TmySS z7^~oB2W#*0;D>?tp4L!$dQJ-mJBEq`e3 zh#pV)JnwDLdpxR_!?0!V8g1RR!q4gl12MXx5m0fk=_g&2wzeNH48lC^Lbu4tApT2q zuMg#Oh95rDiBI|C)XDMx6m-n8*LDNfDpLW%ha&#pd)&kT7326go4lrf^)1ig9GpFN z6(F|Dz|2@ppol(LV)`xlm$Qq?yN5^N_M+e>J4V0G3)+$darPI-#y32xz}lF)rSrSB zTQu!$v!%_>b)QV&sU28}Q#GA8o(e{{rzZgzHgrf`2eVSUZ&3ZNfXB;hD}9B~YOUJ! zr|Fi*0twRNe%iwX0%nZ~PRG_FBsx?I&-fI<;a7+xh2eQF(2|{H6M72n+P5othtc|m z$|cEy1M!f~v~Sx9D$)Ar3yu|0R;k=3mFS5_D-pi&T))aJ;1vpj2yDh(D?ayDZ9;=5 z;;UD`!&y9g0Cz8(V`w@c-^4STlqpD%d1-oBP5 z$zHHm@@p^g1`hZv`whl}O%$us-hcP$gkZhZrw8TABscc**r~9^AF$O>`a?Xtt0~!nqE~fPpF1^m zUl_TB*rS{gfM`z1U7eqqS{0c&RYF~RTVI0?vuEyY_AA{Sv%_IV z9dZ}V>cF2LI-(oW>okvoEvu@lVI5?-*0z%9oB2zQ~1P5%V0iWZnbjhAiA5qyZDHLJx&Ad&Uu9VZ2s$x^=LZwBE21S-5TG>3;5 z+_DXPm-Od$-q}@+47VHSbk$4JZqZqS<;ht;3URPqvA%{sV10I+lW`89=(*im+Amd| zvbX#P6g>t~sp%1mkI(qG|I!s1KTp|8{-jMFbu5#Uu5a0P)z^~Gz1_dju!~i*LQj($ zSN=1Yuddp`$#ub3&H+w5yRx4&-%kuZNyPM2Ww>$p(KE;C5P2jr{^9>Y8C>#b(6dy* z&`DNbz*cJ+;ReH7z8ho4dwdAU+9M_{|4AIq;Xu8H8~(~prGmHneK|kWtD^*&Z*UbD zTqhmfvfrouJIpH1{^b-oU+`#IvJZpVAh=marlIST-8#Chywe#Qk)FeG))&f@0!qdL`D&KQLE zI%xINGj-t5ll;`-UZvSnIBvg^XkoWKE+WH^RtD|O^5ul@=%}x{$tn_~q4Gc>un(u_ z&RbN|GtT<%sjqsp9e|0zF}>J1i5))60w;2X?>SC?c$+CEQUgu+>nl03pL@Q=BYRc@ z8E|>@>dn1JKhF$g*u)hm9{b63jQ$e0@?&*!Zcji;u#sc*rA%xD0#LM9b&vRDoT{N(d z-jxVGXOI?KO=Gk9>2>)QoYDr8-^~dH34aZI7Nk-~3VD~ler~kQ3APsy`LDgEbo7;j z8RP~Q=Vb=ycvWLupGcR&fv@zcL6$o3LZEh!b%rB(@rS%2P#|VO#7ObzuR$vv;A6c? zCl-K&;A_+v67DB`AtB6#~ODcT=f7mDHBS4y+}ECWVIjA5+U z-AYpZP6LiES~1uQS(<%jt<+hX z8;mB;;yKx}i2^Q>9`6KpBQ#yK=V_|g(@xaAI zbd+44h`;E+?ThJ#GI%gKRmLA!{udmDq@pVyui2~q(68tzua?RUmNwPnc?JCLnq-;1 zUk!)8*_;Zq9qYFhbtEfoVdK<-Uvx<&^Hu7*j(!W|^Hmy`)%n@8t|pP~p!??+Q@0Aa z1bq*B*dP3)vx3l~Bvy)%1so1BkhuD(^h}Gtt=ZGjJd)h2*~kjh>7Wz$6ICm*Y+ z!kO)hZXsy4`(rlzp?=%Mi@^2A_D{t7_5b1V`yCtJOU0@ymnTZ_rV5Z>UHHT%`kQTp zmwd$Uw>tfaW8B48LD^5OcK#sRR{>(U#>;q5AdLp{Z>(PYFx#3es&DNm1h%zD z{2pCh>z`s*{A>ldljIJk-PZ{uF@67C{I{!Z*l#E=m{{g?hm5tuXe>#)`xd`J&>z!j z?YBFfCqEOw$-o}a|JKCOr`p4xAxoYntC~iM54{~Yzry~{^oq|-ujvYW0y$j*_0&CV zM<>5!`#DC0cEq>$l95er)zQ36zt9ku!o}7b)e-JicGDQ`%nLSbO9BpCy0%8(;i2NN z$@fV<*)>}=;7=Z7_{D?ru`hTbKYm!GCHx@(8Ml%}x`N=2O?Z@=h<4x?dXZ`Z`p({k z$5cQ2!8eKz+NUx*hb?5cxr9J3E1%IN4xol`#KyEhOq zgD~xPvPu#l$6~XMm8&*iGfX?dpvs_qTI3#P)S*)PR|F7e*1pT9jv0^YSTHONeBG)H z9q=&*TiP7J@ z?G#2m`Qhu8^q+WbC4u%~X0D{@!Qc!tft6u{QJ|(VolL-hqy*(zXGQSU<;^atKeg+y zI5L!~n+a`?JcKjSb+{ZLe0AUl!w+fs+%lMxv<~8;1uu4#fif}Xlx(j%uN*n*IKTpP z!B5Eb52HYqzb{t-JDnz72r!1o+7Bw=uujk==O6>S*NMY{o&d80-yOFE1(hvHUZ0CA z2md8pNi)e$d4~u2D;(ZBEJed+^cv8_jYq7aRrwP_Z7KtIP#Tp!5`u-%YRV(`FjfPdjx`~&TIo-D)eAASvu{)a>}87QPv@OYExN;==uAGhbbhua zd&2S9n-p7(bodwzO4sfTwg_7vQpNomOk6g9+>%dCPn^5Xf3|t{etHoIV~x+f+4s?g zEo@Z(FFnR!aD3^onhfwbjRIQ+2KXRA#ik1QnRI#ms?L`!j5=>k!(*7R$@EhIiMfVf zDSa=H)7lPD2i)rH^wdjwHyw^3yjg%GxO?GMykzIz_4uvFW}ll~ zk7pbg@;p$p|DA7enalIuL%2a`Hx7GQkslC?CLJ!wj?F)wC)c zbSaL(@0Tv~J*0aP#bbND3|O?HnZIBK{bX1Q$8EYFek5Zbl~*5IL9jloqUs7J9@+2a zM=J&4Ytrj|kCkv1*+l&${#%LqqE%8G6SazKdKI3B5A27t@P#+HVhVjp_Idoiyn`WzG~1_SST8-9E{<~{JsIus|H(q&c+U>-cYw-#I}2@2dvQ3*PZV4lx49Nc4owV}{s7?(aQg$LXj0-&(HV zt^?t9dI}Bv6><^K2NN4S8$9B$c`@^v;xuXLlrtFC|7#? zw>rk#Z>?O!>+?8l8?pyiDY|=tqFvQ~42u6~h358$jFDUESWazUo6!}$i-!MEp3fi7 zgvTZ+(x-7PcyC&jQ|4!{{%L4fJ$Lczc{*aALIA-kvprQ5UEZ4cyvZzF_ShHtjX4Av z^j%va6pee#%PORB+#}odoMk(_nKGg^esq72dXikk-SpkB{mj0PCm!*OPZ=x$53B39 zuM@=?ka$ymxC=6@9fhHLWd1og;BA#?eBTPZWJj(dd&-eH4aM)-(%{TyRc;eqG4iW^ ztjUGhgZd3`?uL&S&S)pfv5D(~$*Mnfz{l?beWlTEIPKl#`0XA&uy@?& z_~3C_RR}WvVfA(W`X4P%{9jT-R^8&E^=@`%V`P3v3`^RQlc=ez4Q6DJ|tfH4q6wtJielHZM3|$e} zBzXd$KRcy6o$@>QE!#>arn9l-EdRj=bPZ>5kxm7<`#!Sllz-YKLgeIMgUTnTYqXhPSMHLnzGE8&TKUL)v&6f2%4*!buKUF&F&8T-_lDtYA*9i0 zV$LKXJMlIC=m*G4zsJAz)Wb{dO@O;}fBX}V`D!1`?jFgm9{T}4By)7V>RMmvh@8GU zw`nE&rhW!!k;-bs*fDHI^)#}wjzD`0-DzMcR5Dwqb@40WK)y9gAb1j(0&Z2X0#~-JPA04D34i^IB|PJph0W*&Oo6Y-DBLs>I*WvL0$@jBRTspvOFyoB^!;8MxP{^~t(X80+^#$gya7%LU=dq0E^1=%*Wl0Rx z(plxFr{kae(l{(&mr-V4(|6~;9P;kIAM*KGhTa}p$`8&Ho>u{B9f$UAmn;iCSq{Ao za4zJX-W=RV!?}I#FRx58ADgj955f<$sY9LRRx+<)1PAU8#coAAm3~kSfBH~<*H5$r zZ$&GP#vM1DFCGGS6-rM8EXc8e87JtVScU`ukpK0pDp|>80YX+OsGbJE?YevL;W+Db zbGoX-;C8peD<3Ox*_+DG85kVSxPir~^PyE^`U4E&Xl>P0^r{yivUs{0-%75Et*RK! z<%|XS>a+F8SJ-1b&mS&Xt#Jm0Q<3enZ`ikOxL!uZqaA;kCH>fV8thHzRA<=L5pynt zqiUNae9K`u+I4IoDG-IGB4A_|+G-2IC)S4Z$S&hK8g=+=(FU67#nC5SKAu%~&dy^4 zbo)Aal+D1yVvUuJ&u21tw zK+q4CJ|0(J_1jMk4`j3g(cr)UA-^r`54JLv`j{fj_{WC|=z%=1nefek=jp0ZAvVD9w@G$)(@dX03Ux@J>MI&8c<9pWYE5o2MBcDpnZe;Mkaf7wsPK#i%xG+rB@y; z`_W^!XEA4TT^$AQ=ruf3=N6PyVTH*I?}ER85hpoX^+jI_KC|6|{u{j4CTrF`(k-CV zN{zn?Yz5m27b{fuSavB}{RUnvt?~oEJc6SyqV4T(1rWoNz6!w6(+K9~B;zZ1m2ri+ zYmdYIZ-3k;g93IjO8!53X~#e5pp}MJT4;+E7;oKw7mhCqZa?;7590!eXg_S%Rvni4 zYuCCX{IkF2=WK`-j0RFv?QM_y-`}wj0-Pa74&B(w%JSJGtSXThPt!I0EX5e2|J`HX zOfJ)3?dFxib+{Tl(qWI^d*RNv9*bM)%5|qNaC}TU^oeg)YssS>YHJNMcdcFUyVc2d z!gCVI(o)vhllByek^$i04_He@Cko!;;w^Qkg1 z$5PN|JQR2va21rpp^w91^TKSz< zR~U+eRjiCAQlt%^pu{Wa2yPVDnhZ@4;45^?w!FsOf;Lb7JvQ{=eFd$|V?X(!*^g|F2^`K_ z)r&8$uM=oer&dUY)NgvQTCcM!4Iek*QYNouxR@R7pM@Q*1KpZ0C5`0&rZvzTIGkGyMV;VTGlb=>duwSPA;^_?B0 zJn?Zsq?m+n`UHGC<9Pl?_xt;;Wp}m;d(S|EJv}^q%$MY@jYh(3HQS{P3nslxhrZP| zYdO)I&Q+H5t?KS}`zY!c@KsQ+AX}4Ia`I{E4*RJe`~3BD0jm3Cnf<9Qux^sJXv;Nz zd2G7uah7i3mFCq|8L*8nhfmt&V|&=zJG%;Zt=}SBa@G$1%+7vHZyw?sofC93@rqI4 z(VI>O&-m%G>DY-G1o^n*~3u=md!mKkfIY-FoA+ps=GFD>Mcv z9gUcQ#W8gH*8MqgrBW)jP#m9iQq^u{1Ys#Rr@LI3fLW)Sen}~SAZ+u@9BKI(7|8lc z|MrRe>pG_DXs>$VQ}&$k6d~i`QHvl1wogPbSPCB8uLe57)r<(G3alP9IP`Lf`pj@V z!lc}xJAVf{FYCBx*vEumc0VA8Cpw+dXUt`mC!FAN=yaA)YTyo}>xO}Vu|Z)!`{HQh z0fm*DF(U(Y?bA8s^asj*Qx3{y=8gvOHYMtDUpXHYd z#`1Lk*KCSOx_)=Tpp8%P>*x!AB(KWKZx$k?k1m(TjgF!GRL`j>P^Dv9dHO%8ec$q( zlKVaxFz@6A_2j=!FiPUSp6*CEM@jgJu6b;0+>gwAthzM3y?{_Wpr=&U9bkQ zFX^`=S-L(B!z}|C0h#{F2;li0UbCuQPp#a$TEZ{R002M$Nkll|ft)?R|~pfEZb`0r(6zN52)tsnJuxQ})#1-l-2B&Mz4` zr93wU0$lr2euZ44&2bn!JS9k9Jza#WqB^bBt9$DN9cK_(6=jo0(b)yMaNTEj9FwCQ zGVPFl-Mh{Pult8Bmu^&k9n9cVZ#T_y(RuW^rvRI(?>& z9cQU#;g?|ueN*0Q#!Z66 ztGoF3sZGQcW;?ZM`QPQ+meP4LjRsAGuj`TThk_0!$=}Do4?U``&7Og1WwfX0p?}&M zeKdI5s;1h)(n~%4z(II6yV~f206RSw)VVLnM7Q8T*$plo;?{y?;9H#}NT|)&wA~2u zKiXH(?f23LaCpqm!#ncdpriJ?K{0I0ySENT^D2i|{IL4Q>M?vW7%}F< zlly{SV0dJej|i?jd%7i@W}*6}`_PY74K~xGHqU?Pk);n->{ixZUj{Mkq(FrgbASK& zu@#EZl3uIZDij0p53O=ApcNSDS*HafUbNXh?yU7VnH&n(MJpR-Rm%5P*=l}nkCzea zk+=6B+vl)$E9k&?KMN0n6#TzF3V;blMpH0N8W>DkDMKH||75V$n*d12PlS{^ovk8IIw!qmNr_*z7 zs$L>K6zGg!-?I(#HLA}_0AoO$zpJ(B(zR>8_;jQT_3Qr_XODocwNcvAwxXS~gu|F- z343L=M}RHQcZ5 zGEl!?_?~$`v&3&mVU|N`^Hw}8RGIZ$Q&j392lSDLn($E(n?GQ zdYz64(bqj{fAbH@ zt)FEhH}Nr@s?K1HmvHEheSKSh{<4W8TgKrv8~h>M_+M|sM?mSJN(HI@3Rja5_JqSp zLA1Z~DFiVW6ssLr1?V~u*PeFc%8(9v)w6A@9c9=$TeU!Zy7@XBJYKwUbom7RneR2i*jmwzYC(4s` zbgMfewzpnvOCq!V@@WHtY~B(}-ty1>)n`0!qCrTwYJI1t=x>rQU(ogml!;8)JAKWY zCWPPAX8!6;^d`-}HF+T@M$a_9ANeaLLF9iM?e?>4p=tTOK#K3)`p5JK&F}N!`77-I zd0#^{RVDs?=|tbj-Ux54eRdE31?fITn1EnF#|KzD6)=8?xA@dF&n2<4E$a!aF)MZD z*^>H2IuMSTqr>0oU}Lb?q%ClF{w=w% zt>3@!RZH(+20{XpOQ{1poj+y%DhIjRv8l=`&MOmFG&>< zPpKrY%2j{xbbTAJxji(hoA923R6%{205Fh-oJYeLkLoUPNRT?lVXRXRNV&^by`^tp z5}rSUZEy?IU;(=G%D8`msog_}+sr}uIOljeZ2U?2bSxS|x27aB9tj5xWOi8cE3BjZ zgR8zkqlr;ahsN`x(Gl74gjQY32md|34ODr@8wjchFh8qIxm}b{Qp}ZK(vtf+E1SBx zI{I}3Uw2ggc7W%zf_}TP`mS^Nr1`4+980=7*MEd~|3(Oa9mDgSu9mCF>XX0X2iJb#v-}rN+`B%@zjI%^db+nuN#sl> zjwf6+z~H$DzDsR>bi}`m-gvG26EC_L9_5$rbN%eJud&00eAm5m-Zh!uGDg79_IJw7 z*B)WYUmrjQ>PmR3zgAgeJ1ZM*>?e0NbkcmXVW<3QGd0o%`!_t`)PEmldk*8ppW${2 zcE9!)57O-Op<6nlt6kz@{{Hk{ab@WrjCXWB8!?>>k9fV=deFLo)x+afqI^1$qr(Ts z@eQJA84>`*fe&W{S(l5oT>>qpC;sqd>k8*4LO(wh~bKD}f{fY5A6?lN~5= z-aXfSQJd*anUAC0W%|Rpm3=roc?G}6@##`p85n+(2eGt-~he-p_hkF(#YclLPR{4} zF$ca1@Y)L*IGi4FCi6%*pP@z9;F0do2Re+u_#Fh68{QukxvHn~e7#;CtTbhK|{G{+d z`T(SHY)q6L5Ue;_iqC^vh_(VtDhtz2S36IRts{IQLqGU?Blc53+WQv zPSY-bzK3Aty8uswNeDqpv(~Utc)9|apP>L3QWWXbS?p9RGjb^YqwMK2p@zk(|Lw1K9?l4~?q%s-b4s z6gSwP=#aNIT=h@KP4;wXHo8J&|Jnp>yt4X8UAQ;4lrQX){~1IJ_8ec+s)%e%vZOIK^jnV=tJ2S2?W~LBBc{T>lXMHBN0s8~9hN z2wy$4TD5vSYW*>t{oY`d-e4463zH`r$m>f3OuT*B3d}&S&qCvLr)#VK>>2f;mlOSC zKdA;?c&ChQ3jX=$aVt6mtI=q$Gg7EFxq?$0^umF7Ovm&sKN=jHgxlm#*V0j_U#AOR zNWz2};0n~mhV(4H)P}zm01edO?S(E~xE7py=&?UA0?}{hwTZ{{&+5KuMtm6W@S`!q z+DS6*Dj@h$GF z`ugAq+C%_tEI+-PkD?tarF{D1u~CNsu(l_7C4lU)W2E?EnJBQ_sN&d zBjdxDjXd7lPSOr)=TsIKU@J^c!ZuzK-argF-D}Zl8z^X_-jq&;LtQzfC z&f#ans3vAs}3`IE``Fm6TW@qJt|-}mwQKmK?ZoR9T4C6vB)5~Ws9vHybm z0w9kjN@6DxZ+j1DHXcvcI zE3`8Udn|mM&P78iiH)mEKOLx}a;57Rv|qs)^6sMZBioEz6wu{-gwE+U9Y<5#UVpGR z!)mATOkalveI?%hRv^;W8s5^Yfzlqet&LZem*2dst0!5dHxjwsvn&H>J9EDIjjhq>VlbE`Ez@bPBtGMNp<~i;K~<);YKaV zWxVUYeIviM-O69}k??y}Ke5M`(>4A6f4sYU_ILDnb1vNYlvadidJ2Axt;1E{K-aB6 zry&Bo?A_ul$pYUpGo_WDeBoqeUP;r{H_5m7>9&0P;AsRv$}_UVlYhE48IHya7LL&e zHVHFRsbw}kv3N;8yqIS)&^RYQIl`NT`8Z|qcIW6BZrW)&89Y{$ZpUG$rt>$9IPTF7Z55 zEJ=r(+F)4G)-hIbXve^6pCh(?Q&{7UuSI>oWdMS@#w>8;`R+LcrNP@Vr4GG0;6V~0 z=J=mIf6PFYRvmCWcveW+(W=~0tS`+Zf(^shrEOJ$3QC~V^~2+XM!|51F2exKDO<|R z2~>U?ZlZM={7UV>2c3Jl2n-IgOmlR+-TzX9`2MXNm|bNyxVJjx1UaK6KHCU#eLw)Z z{N*56mj*-eyG%MD@?I|oWHeH+?NOm6=#(-z;8W2v2n+&3Q>>%3fsKYEzbZ(+-8>&; z1P0~Pp`jhlvXvu3J8l=s+>Xu%r|V_><=(D+$#dn8AN~*{&>(qEG(L4TLl(W0u_EK2 zpY)u(yKz8)dGYBK-91HsA46|-R^}AF65K~5raQlt@AL^ziPE2rlj#QX<{%vXV}Ruk zx0UHP1=$NaT%*}9qegLLt$wg1ud{!`r4+>9j-7(5kWV)*WjVL{UVb+^R#9nd>vG)6 zUH9c#K_|bYxqLdVax#KFm`=-oYXjXA@Nlepy^#}2x{l-**p(l@roe%tl0cQ;=l}N@ zPcy~PkZE*RP+Lg$(x2ooAOl+Bh0|!iL9f!v%)uK1(zS}~xNyW90>7-CH<-4?lP&_;U{Zm3LA-*@V*y4y1Bl?SUO*OM+4TSaHZlw7mN| zg{~_p$DXLLD?g4KkNsu~1~|A>M48p2Ik1JxYi94NTlqR^!J@`m^#|F9db@A!x5v@n zvc9RoX|tzJ6(5J@*c)({bcpBzUsS$6gb)g*vBeyIPBK|_70t&Uv+L{1vvbr)(7@ht z_6{5<@B=uBMw`Hp$8y~qn(o!7SPh_FYD{G#d#1n`LNGIkv)}j#BU4BojHnD zKfgoXNVeV2i_YkO>s=fg2-5j-q9yicHZ zQS{#zJlYEjXiD{la4#L{(X>7bHiqYmuU-zIO`XS-U&Xt}&mTuWzs%z|1|D?63bh44 zQf`~V_Y&JZx@d5~{u)ej{OPU(jt6PBBFv|dxOnd2!(;r~q(O8T5Ty?BhMrb9n7U2_ z0=f&f$EnU%FB({KF9WcG8E2GI@TtnI#+iJFLs{WimU~a>h;hsw7W8a2@^k#|)7|Oy zCT#=HHYPG_1bQ6mF}~43!IlD|C3*uQExheHDmdTpVSck0Zrs^duu-8vx*?>;ne>~T z&My{Z^|+Kk!f*NQ9^oA=cv1SRR`I<{@9we*g7bnjR!S`BLl64bh7gChUjD*2x3BHS z3HX&v=qLGY&|aH_^9G-tImUndPOjR5d~=o24p#J{(W)UleA{Ej9(y!S_)vhp*x_VT z_N7gKwN*widnM?sjlxCXoG%WRG5>AFS}2Wn76a}JsCLdC;n}wN2@gElzEQ?k^QEdZ z9>fYD4iKz~Ckv*9|FKu;Wwh5Fgp15{{@5P2AHCX~Jw_{0Ja_}XJ^x8`sT$#hv@K+hVvHWs90%h{; z=(YpMzWc>v_s@;#8~&8;qrAY#{LOf;*mC;n0xjq33&x2ijPB#zRxi<|ZmV~=bn&`nSMO?Xe>^lfm-uY2U=K=x zBx80NJ!bpEvcL}X2-N+{)+izMp}g?73ec+O1w#g$Zz8x~AS%B@5Xb(z@LE3?VEQ&c zqw)eF1B^p~r{ud@F-Tls5deeLd5sa3M~I?PkWK zWTH>}(n|HJSRHr|jspn%qp$dnZb4&*aqnI{q+t3l54|TNTZh;x${uu9I4a{M8oevL zcAY~Jj)Hu359=e@Zou)$82epI=AUQttrqX3JLhkClx5$-B@GDwe4TCxN)2#7M7BIKxOd`AXL5lh+Lb;K zJWpbfvH&bz+c#So_mXugPPFIcS?31=Z51}(I&Tt+NGx`=(v}}SlRin zCavC7-oZ0G#&v^_b;qk1i)VDpC#s6u`LHPnG)fB~G8jsKQPrnL7gJ@K05ukdrcXBu z*ySv9SRh);*p7kN9wQW_O!*nZLF1lg`_1vffem^l(GaVl4OZ!x|1IasBMMO23}RXA zd4%CQ@Q*d@H`SHSk@TUnvha3z8{uZF;2IDeDWP#tkeJLTz|fx|{M=1EI0j9l?|%7x zKCNEHlT#9&a-vaHh?mJlxWUJY4UhKhkz_mzC;pXvOu*N;7#STjfBAcc@&E&)yaAnJ zcPZ~VR0KG<#{g_ru4K_=gS{ys;~-~-S80-+>@~vp0GGVC?x8WpO`fZ0X=C{G0`D2t zBZK9y4j!sUV5S)Al~;#7INk4mG6>blSweg{NBMSy;dlm9w`ESMbh9iPEG`XZNzUi= z$(}L82IWT!kYK4odDQDc`o{^kU2sB{-z9t~R=A%$C)X1UU>sMTQ(xC>JGYyV=+OA^ zRlV}#h5AbwOIBBxS21@40Y_>ewr?d+U|bCuIdh2U7?{5vzwqs6vOM9T*U_8xzjDeB z2{}8L%?DSOPsR?7U~oIX(RfHW@*P4exZ-X(=KQ3?n((TMpNum3&p8>4t}h;)QVO24 z^V9v{vnzYFfj+Sh0QSG*=~rGTCbdwXiUVNH=y7~?_e!w z?G7FqF}UzPLYxY82gun@jx-!kfM9^S#jvZVa`4BC(Uw*1_xAQQ_EG1=C@66Tbzm&J z?_bCdVzBJ%V(_J-GeC2#O>8fw2(XeOVy@;m=tCVEkiXb5UIqT}mf+w;4d%SYLup@4 zsFYqk#eU}O#gOrJ>Osc`_wZv1P~ETFr_19sU~+EB0TM?R>cqiQX10I4MPGH5wQ*t} zb+cvlKlKUsz4`UI$*6*6U$4Olez4!xE9ocTxjjz`Hco!=Lroi$hX-3MsAk4ZpXaX< zmp*XRMt-<~~Sy7Y?OAbfY0V#LTCa3j` zCFuw4F|y6E`(;n3@^r>QP{YFjN!i0gc?fFq>~v14i(tMakN%0yzEqQ4;0zo+lI!Ih z0)7TNd&D6bJ#VGUmz;8Gqh;HcPRrKdweu>pCs>t|0} zv;wO9Ib3+Bt&xR4k2oK?{2U$N*avw1)bt~G98D|Q>`H#uq)38LjRF_PI74`Db3`2RMKiukJo&KUuE7T7=sV~ z7+=Ap-`_nm|EtZ!t%l=hYcp6g=eA!1)WC0Gch^9tEOS6hI`Yd_n{jWca|w^t zk$$@;NJRbxF4xveTK^t!_*c>Tid$Qs@3K6rzFgWUJVIi}5y&=gXX{I|s!K5UV{gWU zV+=b&3ugg*dkA{(2L4&iLK*H_YT!+HAFS>iUuwTCL3rMtqc59Wuq};2*h8z-4Aktq zWOd#1f){Uc%wN9$vel9*jJ)JP!&UBcaAo)QA+OQ|U(tC6z_-a{ZHzeCbTV-t{^?SB zYc+{rr2`a$7s21>tq!KUNoDYUY_(urfBaTwAcLi^=sr7zC-`M#2K?mrssV8@;;nYN zU`*&6zzZO6Bk>v<+jD~E>0;@#qv7kZ@t3bN9O3%uZ#DktQKN#RX)YRT{Z&=l>zCc} zk|U2n-4$%LLHvu~YL5l<-cHc+$Q4wxa`ewu_E`11N1nqY(**VLi2rTldAjr= z8jPd2k~{pzm(mHwK7Akh7_h_JKv)w@v<*zP&-UVK<9o+PgZdh|w_`7k72X1k#!73q zuA{AmEiWF1SgK0~)+^`+M!)eTxg&M*75_YaiO#R$|6cdYL$e8{J`# z-X#Nr{D;cC|MdLXe`Ti)N;ftO>SKW*fj>co6JU)0)oD`3L=d{g2R26N+R8gCW34o$ zdvt{lbH)axWl%mn3W&rzq9Y`2YZ_icg(6R>&^HFW>3416YA5yjNg(@4w+npc6s3AG90Qn`5l=$S6>{MuHxAV zWW-R})n7sV1D|1>$CJ?&U)S%Y1PD$qR*5#L6C=MSS)@JBxGVlK{rC8)m1$&L$t_%A z8%%iI=Re^!TsL8)Y@Y@E*yZYF-%T<=qip3hwzk^(*b-ej)48X{k~>-#=*tG275C|C zrbV#teOozrJXG1Q@sa<=Kh`gKAq1X3R)3fCf7Z)|1Krfee+h;*%NEjAlLs3g)jqKL zeF0&8^kcRTJ_0NzKCEmvrv0lG!D0noWF)|)4e*cc+4?#f@dDjkF`f+X8Lg8B@r+1_L@Xdk|rjPyby0lTl2(H4%row~?@?pRTO z&!~lsNi>g%E^rx~DW1ABY;1ER?>ExYdiqrVPy@TySCvnH&QH9rEyF`lNE6}%Jj9p1 zEFvM=3-~dc`!Sx`yHG$=u#kTG^#=C4e(@v8ra$>4U7G+=)@taF`FnJOeBS3fysFRt z{NthhRlOb~IflNKbR5x|eDH!39#nTWKD_4thM+ANa1IS7KJh|3T%S`qzQL`3*si_o zaq8;!!U{%;{61yhV*8GyzIMSre@RCaJ`>!%%~>Y+(1}wRFDgO4=aT0Ebd{ zR^2%TV;F+~qkc0`6dWE5kbO3!i@a-)xsM2$K+ooiN1^hQ$2h`g>}&FK08n75rNOjg zbO#?VzDE>_>TSc_bLppXa>Bh0u%g2k*`vR@8L!Pcxal}x`|YIiw3?^}7%z63dZcI@ z0MvL+hjtp3nH?3abIFK(Yv$Dqs|JE^w`$Pj&p!jLF*7ccrL@3o=C2}nHEpgg&cpT) zDR0Pi5jQDj2ntpjM4yV}!;h;Te6PGR=_r=Zpue&nd>vc)suw=M{1?*sjmxs@A$D-XVg*Wu}*XVz&l=w9$PGY>8z3BR91Q*tbw9Lyfs{Bvpw zbO$*<;p+Uq9lu-;_uyW1_|c({rs{eEf^qOtbb0&5Q^$Df-r?Cv?OXcFbnoKP9IBGF z*|Bu+qNU5xwZguxGH@W5ll_ULQdi%8O2x{-rrbBYM)xWhY-b!Fe6kW~K*^b&Ro~H( z8_IYKC-*u6JL+z{ym&NQFh0rb{}fUeoaSKSLl+0s(bEH)uDZAXJ``9XuXRB7_|yD}4IZ#Q|h#V-wns1H8tNY7+J9kxCr7=rb-8&joVsSV2+peKGwaXXf${l+72+Uy@KZN?%3rWInU{S)9If)aY(?K)kCd?2U;B`a z72`I|-~N?l$6q*koak`*!sYlNr!I8{aysBVT-O&w^8#i4j)!!p`{(D_!1@2|3EUCa zQT90uX8kAAa25Z5+loB{Jf{0~P7=1`>-+(HpRASTh<87L`uIw;atdDYyH!tL3ue-f z1)GzVCrd0Kqep^tcMYPytT|;PJQkGX@GCyZfiN zh8iGoJlWN)vWm|8oV~~QpEuCZ);PuR@;K<1W`e=dZukeB=e2=kG5+LqT5YTLIn!1N zAt}W%GLKR*_;AT{04y}d$Jkk-ZiT7 z#%Dn$duMeL2DQ)Vrbl$(_cF||{E&cQ)idp-6 z+Y)9EUbZp$pS{i1glnd=K}7gf4>J2X^j^Q(mHmvona?UNt9v;}`a8woytY>xwOpbh zTmumsatFVBV3Ju`=g+=O7xox(e4qnXw!W@ykOf(>XL5f}7EG3HXclP2kjlFMB|H-O zctsw@0cW4f{QKykpX{{BJC72PpP;m$0{l;)r}WyNHhlstXG8jpBVzR1^!KxXQ+QjU zVF3H0frGaKduh=gVM1MP&*TLgz{j@I)?@_0kCx=k|9R9?8KfCaLvRwQ8RL_o^w>ria+&*O~zYe8Z%Joc*lSRQcNT62H)NBf{Y z6a+VbH8_1~pkMlL>HFV3%KItA)ORKd=v&vp9|`f@!9HnAYF|I8AHl!)U^R_NfIXTg z^9)fqlpl{Wua%>y{m0kiudttLILGX9h~xV$@VLCm%NxaUiR|dc0@&3}<{JDct?Xcw zZ#D=MI^1&{KHq*%svO!f`{e*n-xcG#I`G)j1s3U7Y2NP3rfvMPQgj)9cpF^RRrhVs z&dz{&UQ`f|!Pk~!%-8l#^8%BX1((K)cudE@7FZHc&^VI9ME7NH+`{3`#asr zw@oh4zw*#C@?JZgylN}i4m3>P@t)#!IK>q9+v>eN!GYtoO{-+tqWMs@-N$^fzuPP1 zGr3j<@37OD+Sg?2kud1?An@s^#z!aP5DS8YUkEK-tPo{B^&g*&;rBrLr09 zI{xWL(CH1(4^3cu5vR!!^4ZGiV2U-&&Jq^hY&`I`$?zr&UFy2zpJY z%a1}LyNwg@aBVT3m)hOncC0<`q;@d*>lf0UaBUmtXK#}uT-oJKd~~k-d_(1;Yc{Yt zx$Kk}@7bg8@tL0J-}PbI`w7yk-$76Cx%*@?)Xq5Lj_o8Ee9156PbD#c>(kK2$4poA zt=Z45GOf?>M8JJ|>BVQy;~5Yy1u4@F6Nmk*57e(1B`nb1xtDO*%l1?K7v8Buy^H-;Xt{t4l&H86qFc_oPK*FQL^-Er8#ms5yIJP z$unTbN>v#vb)jLJo1(UIa4+|_SJ4hZJOA3zjB zRqH79S|zMZX&#NTVYUpT1DqVnJ?KnfOE<8!$5m){6r8I9yn#1k>D-}w#jE?msrtu% z#;Q8u6iZ}`4dv~lGci!NQpex~Br`0N37{R-92|F6ala9??|voeMEyp`_v%s>&ATTp z8D&4FFM(QJiDmf`+ni$8JAVB=WR0%zSsgXR8~@f3mIrEskG{bz<1fb)AFLr2ADly& zD2C9fbTV#ww3^_@xrpgZZ6Rzh{$sGror*oK8^4vNNr1MfRV|fo;xNC$9e-X@W62}54Jb74%}T09vuCRuPUmYjOQ1> zmnoi)Z{0?Q&UAHlzF&>$7lP!S93;ou5l}&OtTuRce%zP?^LY)ima%#`D8NB9m5E}UoYWZL6Zmwao5 zsob%_<5!s4fO+<=ayL}R|I0KUS?Cu62hsAQk_mf}9W;yNB^~S##}aQ|H1MQ7-*dRu z?#Gc*Ml<;;kFU{|ICF6_C#S>>XsZpa zYGrrBT}N*~g^;b#0S=66ns_(|8D`x8_{Xjs+LfRELXUE*PuZZc|B5D?qlw4af70XS zMNJ3vu9MS#x(;S;cRcdZ&zw3v;yk&8mq$_sD&R|o+6kx0EFz3v*kYp0+Si=)AeuOX zH>}9TM-UMPTM3ZdJnDHz4{}!YQDlT?`d|UTttO8?ZS_U^VQ_8`G9)6J%shtNmQeMJ z&6?)${3x1Yz#0{EB+>99zAh*cP4+7G(g?Q-MnLMr z`!M|0j4O{h+L+-50Y-_OGxK%mn&FS!YUO9LXZ75LyxOAGX~fB)mm(idNxs*VrcyDK=d0aJOI zAn9N2gBC3&47Zv!`O@?5ZlGyZ#((xQ2DHu@Cp4;}GB)R;gD1Mbr3*IrVR-g>*Lr%g0cH^`}eD}E7f zWr7!dunp(2#a5}dQdQ8)ifAhr;duu2M^0?aoA&K`QGNfI$ccCQN^c1kz_6WwAhpE+ z4()O>z>k>!$8Yy-tRF8QKW)5#PJx3++CfHT++gzcUHgYMu)(4MtSt$qd>5@trs$+c z9!E{x*QZ(~YH$~;=eK**mT0vlE8HAMPqoP-Uv|n{p~2Gc(61VN=f~EpeOK4|&+day z$BzyH7!Ku4=}PZYg|ltlkQe^OYk0G^)_t<-d+ing&8V!|{Q^Vj!R%qmU=SZR+0d|A zIc?_DIk}{R-?fJV)mt4NAbYQEU@N1sSoI(Y{*a-QlXGPSQPv-=^Na?_lNF>xC{E57 zw_@?wf$A>H5Z+JalRw$w)B3>D(d`eP&f}1WFN((1+SQn{x>r}}gWJ#iJ#DiOzToqY ze$P4HIouyIPxYSkgWk!TWb`8m8!k8Bb+}fRocJ=J+@L}P?!L+5$W%WNt?_0&f{PJ7 zq0y^s)AXY;xW~!&B8YBnrRd-X&xAxcc)RqwCP?3;V}E{V6;}5AkL;rf8@BLO{q_gj zA0#({Wh>QNqE+Ch>jLK52^l!zv_Kx@64pPa{ieLXPS9hW% zM~-A?xVR;gTh}bo`@f%b&h&H@$xJ3U{ojQLt42;nh6fxl*am~au((y!JEo&&bboqW zou)+Sa4lBu{$HQ)r;qo^`7wR8Vz27*HOp5K0ab6L?*+5Fj9XQjdi8aJk$34A^&@+7 zs5ut!E1~+%#I-*0*e~+vNi3x^=`LHw_Sc8LDUxROv7Lif>A{f*(B-?L(QeiC*Mc(H ztm-N0BIno@!KsIW|0Y7LW)y5%uv_^^7Toz-9VRZ3x^pTADN=b_K)Poe+lyu zMBnUc3}WStF~<4XQ!p0jPMYgPt{p9R&Pb~c!8*sikx92nEQ+dApSbaTFxg3r+gCZ* zg0QTzGl#R0Z_yZ6k{ujC9+un>E zeY5%OSnW?9i`Dd3Rsj}gPnUw<^F>qhnFCw94OT$+vW>yZ-!f(@udVHS(N}eKkic(u z^&L(~6kOI<9UtPnwLa0Fm8jvT8KTEldj44(B}xn9+OoxRcQNu;u&?|fpg{((&(0^p z#5keTJZ2etF_{DCb;fLO0As9tc+?q?iCv`;ZAw$Isc6|NbIw!Ys3r8a@Ho zHbcPr1lxod3x?wxXCTN|H5vQE2u4ATU@+#eln1^#0+DJBS>$=j7e6*T(KA9e!)buP zxi)aLe0TgH#F!PxzhH+ye84Sx`OSps$ig+a>KXBsNdJ%GChu-1WM$l+Ktsl&XKQDp zH@G40;N~&Ee6!)<$e*_wVSCUsV&g%IG~P5*c-zVe`T`X&_86yVg&%xX`o7vRn1i&r`nN6?>-JUw&KRh6dmvh zgoVUKc4p+4JXR>8#*P5c0X7op?PgKoXds_jclFW2>;n4*UUV(^7|f7f+urJ>aGbqt z;I>iDc&BsIw=^&et`{_LSYMloX5#{(e#`G6s3vvY>=O!ma&V1MowMciCX}jtayd4z zKBHc-l=yV|DS;|mez&UcK&eya0HQs*;@S6{;%EJyDz0?As~i#jX0~j#1Up3QU)Qm2 z`(?~CXg2kB+DC9XiqWw^C;3L#K~l(xAPd;Da=`p ziwgucP@F1H!1wpyM-RZmK{v{W!nyBeb~zo{wv(%;n9L1Q>le8g*nyttS^BTI(l&lKnAWqTHT+p*Kd9+%8E9gf z@+oQ^yDf_POU|fmp5Q%I;Sai7K>KxpW$m7w5J>)Ba2w0%GbjF2GIoBSK-_$Ua65W& zB!rG>b@+inRxYBtT_o;|9;-%e4|(bgIjd^kbv_vS1(^NYz^X#Zt{)sK4V99KL5_B+ zJ&Yecd-(n^pHDk+w9CfA;=F3F)% z63x%!+t2twP|j^)f70;ra01Oc^wHS z7Z~}n?WTd#>Kf#}eA&rR>83XqzHU^DPsV;$w6oD$;fPn^q%OQrFT57y?@6KDU>KaX z<*ZeR|JH!){en(Ot28=IUhrNk3($i2u?G*~jc;h64*DK+*dELpvjzIJ!|$G1$yqtg zQdvO>O@NN_hpk9`)qs7?E8ZH=>i6(hyU}*pgTs@~FtQp*doR!YjGkNRc((1cq3JN4 z2*<5D>(;9D*IVLeaOqQ7I-DF0*sLD1{n2VrzUkKn?XTOLw}b!7FSy~%Kq@liqetL> ztvY7R$BaP1O?{OW9p1KlvpdkSN>K23t7dDgUS1$zF36s>fNpww6lCow_*Riu$@l=q zxrckqj5k&yo78}xz>)zi9$$}1YkG?r>?*#ztPcNf_%E=T4w9*STLcmiZ{nt3J(onp$nH0&-PT$Dh5lM?rBl!hgR!RV zyKKu^Uf)pi*~-KojX0$)p8Gx)0&}`XgPQ67!CilIbSODTm;UMEz{wtji?z!qFJA03 zkUjOgbpPnCcGb`LSs$e$8J4X--Om=4w6;1QB|T5xaw<6ap$8q3`m5w%ly=594i7m0_u&t+7AE9 z(FC;mz6SZfe}Dhm$D)TH8{b*Q_o4GQ*;DO+-`S?&Q%6X8{?Jx#!9HW0pFf?IN}pS) zRvH>iq>PrH(-HlLesnwB@M7d+;*rnf8W8RFbvEK(IT8YXVr}TKLeZIdR;z7mW2+MB z0W;-CHzbX0HihgTT;sTRlu-VC*f1nL{o9!9v>gQ@p<@wZVH7hmG zYOvA+;@@m}-`XRcW3Tib$`BxZ*D&#TD+05t=WX$qKBbx3BH7ci{-0HYP3+vpH(CbW zqDzdC$tAH*e!JaG^jn}8J_1^_-RfxeKLC-&Dq`*#yv+ zbj}u4#()V0?PG5Z7PzG=Z{qQG-cT3TPR?7^KchLOS2uHlPUCM@XE7kS5% zu#;B1+S!ri2ZPAq0_I+v8u5aq+R%&QGW`FP2UImo$I1Rh`I`zX(8q6UHFWqn-_cRJqKh`U_mm@uMX35Iez6J-=}OTit&{ zf$T?%%EwFiz)$|ZlI7KK`;E|^Ot3u!r_BG8)@3<=z>$safph)#P4?QzFMd?_CJ%B7 zHW;rUbXZiyd>^N&vS96!=U@-mO*S4WdMZ4X%BKyF+5ujM{ay`ZAKYzQ!oW*@zIHos z$zUufZ|S$do3=gOx#2vVqOUw2A%vW@i>6vynM2>D%X2E&x5>Zs5)2N|8w#cqLN?ZTHF#@8)JhocAqvn5cJCJ*ic7e8`xdq$7R$Dl`cl(@Jg z+B_S1u5!7($UFm^^d^2%O&#o3f{|(68x3J+s~ zIr){{8|~P_Hx`st2Yrcoef16Uz9;q3rys`mgImG- z7oE(1pVR)Vw|?ob9CbnN^fEsuoN>`W=E&0dvfF=#zVPvHgYeR=K4YffIk&Go>)#WS zt(|*8M(EOk=bXc4v;?C<>}un1PVOaRkw!+f*s zwSX9It-nd`#_Ia5#|9qyeSrx5$hbl0tI~=TaE~HacRG?77DV7!-lZdFU|f2%S)pnW z>i_^i07*naRAtC96|f!;IlJw8^XUr*t!Z@0>H0rjzy zi|Dx=1_MX7fBspJJU{AHjvyN}E~&eE=(T~I0fYb+T{4KWjoR5edDnx8?%5g*RxR3J zfIxfuu2mqNWBGM2II%@aJBYv0s6JZ-Z4KPOuL`vtFC&<9+$69*>F|fIK~LjT_~7Zw zmR>q4Mu0MPZzYI8tKeGlXa@NwJ!o*IogQB&^l%{AxD1Y6)Eu2-px@d>{Gn@XZDe;H zzMVWr#>(jjoPYEqJM4^}>&b9dVgupiHlMAhHH!^atxS4oi`+B8Ho=(e#i|MDd^LS^ zIP9FiIOzovTca4uZ3otG&2LjlR~(OL@mzc0ccqu$tv~8cU-P9Es%R6~CSn7aoj(>I zOfci^@tL)cqa){N9c{0QDl5;IcuNoQ1YHI{nY5lqedVkc5fF5C6Mxd={pbAOugT%h z0<^Ew`8;mS>l^>ii((#H8vUOi&anQUe?Dy0gY#EUpTw4#TsbT4(DNOCq7xmPc!{Uz zDOo&c0~P~5db2aNYA@`%masvv_S!wQ-AcEx`NJD>+2MF*<;+<%j5peNT<#kVCQ|tQ z+CQ6jN(8&I+V!(=`TZYvzkRS>IQf1mZId)X)?W5z@@x=%DWG=x=5;54_p%l%DYkNC zBkN=51+-0&>&wVJEm>gG)~;3sSx02rDJ0NQ$NHw|qN^lov=#ya}NS346j z*~7PXxCyEVS^rpmeJFjp`AQqOrduKX+pF59)jsrHT~_P}-m?#M{N{V$pMay4so)AI z<9#HL4-DJJLpUB>K@-}cZ9Wv}czxgY-j`3m{n4sEeVV{8Z#MQZ6X*u z!`qPwjlxDZ8Nq!rs=PBHy$SPY%=lr2XMCx;(Tf=PtbN5(ob!9<+g9`Kn!iJC0oB%g zqlrcvI^m6Nd+Iz;N|ZrLw>SR-e0mML>uGt);DfQAM<4xzJ zO)s4JiCf^nOX-bqeD_(sYY(2&vt-gAw35}ix{vQ)T0u;=t;%CRhj)2SAFS>JA3j#; zX@Abp+n6|Ck^TLnm1g%J(#P!Nf7Ks2Ym8a>6tDCH@MGIe6s_MWaBsDz7a6d5VCV88 zXZXSuCRW_p%KFNArpEIbGl6100}dYf*Ds(c|Ldjxs&sWjo11`7f-Ij~jcdZm^|ks< z#KfX)h5VT<^F~_1PV%55PwD;h>>pj+L_&bh3d<&F!rAy=DEhY0NzFdvRxnH;^5J=_ z{5p6$zmr{nJrl*3x(`XgQmgODQaV{^Gqv8~V|*?M&d26Mn4qyr{LeBA_>d7>s0nF5 z+wPlNgZ2~1N)LNzfszgt?amlv-|pYP?VQ-poo5)miAwzs$(6kcjV-tmuwPrQ9t*Kd z+BkFbdHwnOR#*!ftLsg{RFg@@p|^HM7vHp%|LwcZa&?w%@Zm(}&O}7h>}=^)m+kzz z=thi}tUdNpE*c&3(+Q$JzQPHXra_}wUoxLJIP-7A=h!zsN2?{1udUG2oY(+AeX|L4 zs~>-6FSv|+&inktM+fpk7A`)Mo7?0NAH3oE^r^D(rIJ@To;UUKWYg9DX)j)Kg1A>Utjoh_BfjR=07^GR(rEO*J8Jw zuN+^UIs3WQ@$C2eY_yf4Khk@?IXnI>ek6e3{%D1}e*%>Mna;YjSbCBXEhnW3p>Fnn zlEbhuTBRM3YkOyiWAw7d91ggKBI>PSY`=VEyqcb}hVS-~V-tgF=5gZ}L!_$Gh|LVG z)55=q;$*9bGpQ=vn@BIzqBXo^)+yFN2?YruOK1nVzAA;yjMs4>!=L77M4mdy@@a$M z3^W4*sTgY(30$2#95e`9WX^12ifdpVPMlgxm>&^9TQ@XSb@x85zRqA>2T?xETpj9+ z521SNNMz<1Sm9=X!l4`KDIzE7d-&l2iWm)XN6xdVxn@(y@MRG#NiY1E;*>Z1(5LEZ zth9ka<)I>_d;HW1?rfBlMPL-a)+s<6jbN7t9R?p7pV!VKnaroF=X>ALq+Np8)wAKYiYm9CRn(0< z>>Qf~k@4xm&+~)*xl!D6sj|%GrIY#vJ{to1wG0dsq8L$*fag( z4BFA%@le0jzws*gPZ?$Xm^1C@x;|yUL5?nOs5}!b^>IBDoW%28| zt2opYE_6;dm!iWnSi1stvt^ZDHu&ADPy*XH5O_AecEbgs1KS45X2%qV$&cLdJ};XH z-T>K_m~;9%XRFme0!?aPe;jt?&8czjm)U+>Z1V>@7vm775lfg+sq%RIgv%xnow1V6JM(TU9_iAY-qVISf%Izw z(e=%E#4j`3Ud8H49@KjmMn^B*ITMTF8H~n91rOUESCG_Hdbc_AS%-wm*%tV)i-G^N zGh@1kz#ty=VVzK`}-87pP^Mr2}O1y$QG?^>0s z&1u8xwE|60={X0cO!Sb>3((N7#t!kZ!DB(!SMip=fRF1Nf~n1}U&4rZ(4WcN9U7(G zRx|APWK8eN;N#j4S+y_EDhDng$?txvjv6S&U#mH!F`?UmNMGDnw6f>k3Yjx#Gr&88 zmDg4lRPST$#o_VfI{sB~gV7i!KwyQz6nFF$SZZKpfCo`}V8G-)WXp!OGWOW682aOF zzx-3WCunA(h&glAg)@@$J0Gq}vs5rc|`)FOzxq9G3toUaz zsJ+bRWv8nH4(s#FGd@pW*fXPm_&vlGy40gG`W6YZh27$hw>MK9!F@8c!s=U-KhwJj zKY2yt+a?fx&+b~)%rAwUe)DC4zJC+|`1sgLEB$Kl>8YB|_QdQ&xFyQqsy@21lX9K_ zZma*&)r}?9SJ_PtlV$kL4nc9a_+HV`)!pGw--j3JYy6Uh4VcfNovT=zOMnZg)|RcN zqTjB;4ltZ|DXXmw;a^GJlm|k6E5l}#H5|%HSY7j3_N?EfPiFmIFh02}ga7j}8iaX~ z20!K(eW3SyaQ1!Vr$5?}Ptn7E)3Gr}?-zf`OCQ`TgT`0qF}|!WO>e<3b@Y$@oPUv$~Be@FK7`%e*E}pK}QwC<7I6ku27Qm2H6C*_(gcZdy^`aFWY!@WSb7Cki3G)q_LDH!)*J1 zRlkoe?SY>!&yidC;(>_RV7#{UPz&hXQLReCS54Ztz}=C#Qad-smp$(63;{ zJpBw<+6_N>6LNH`It20gH6{e;!b7q&d7=MR$jWtW{%T@(ctlh3ePTPqV>G5!e>B1M zwclt#z7L%-@%JTv;IX&Wt{x$^$k}9B+1M?1;779gSlw_o0k%n$@F5>*zS*+a6-<*U z`76<*AA?p|FWS$&zVS9b*rY0y!iR#eGgj6)D;ngl&Tge-knS>xVU?+v1zwlwdXz4r zvC2#k#i{AI`q?6IE%Mq{ad0Zff4;B3#V2DRFFScx@bl$!K2k`VT%!X4!8?9Ynb)TH zY~L=Odz15l?|(Yq6|LQG>+WDMIULi;s=+frgBp*)+(>5f6Bs~RKxZ9`>z7A*y+#C{zC zk3glRt4JeDsG*L&^`tQrBXl;Rz-E_pxNuPNH1Y}$^yw6Jwr9m$G?g{|X@-w5Priz+ z9!k96Q+3^xbH-xN)7(SyO2T>2V%TAUH;zi5J07GGkU{Kjzhy%?yX4pP8dB(=jM3kMED*{ zZv6Fq@#x0$UzDzV&*2$Or~csG$`0pMeeveVf7o7m_C^?iVnfRU^9wM{+gMA~ayd&@; zJl>E)*(QF@nhsmAj}xz~voZEP5D}6yA<*z90u54Ux4H*0pK^BShdw3P`7s63&%J#3 z5oaLbhyQ&}S)DRO)?5mDY%8yP@f_Xw1dlU;0uOE4<0j8?^z;M%NwZq4uk~?eM!$Iz zY;|uNRO!wFsrZG)$$OK1AeIgnH{jebgfRSgcvM+`1^*{oD_4IxBh>8eyI#(LhHrTv z`g_jBR`q414+rQqhe^AsOoNmil3j)DIJgU<)IoAmoWtS_tPN@e|2RT3I5|nJ>gxEf z(MYH86(4@J$7GC>IcGg|zKOn%gM~UT!dTEqKU42Rzx9uT&7;3$E9|{YzzZ@$dv&Z` zm*cD?l~^4qyI_x%HK)$NTy619&XujrXyY``21E--&V1ok4u#jw14HxBi_V@2Y)&UD zE7|HPx*-;J5j$Mr01kc~M#TT|jvR7?EB!Vn9*~+i=}N zyyW3b#6#P0ct?Bit;YD!HtW_qj5b!F8cshS?~-2WJqsS)*+4dUsM*%32 zd{#cm0|wt!b8yzQw;aE0=ZU^`@Z-I=j-y=*k>)dh5kprWf4|ib4eG71B{MJH;Ja%R zCd9pjXLf?l$FtMd;#*h*gK+3IJ+RsgL5Kn&t z)WwecOfGK=p8m)C``*fXd-+N}Pq^%*a>iQOi&&7(Yv1uPz-yD$4_6rY-;cqy@{3_v z5KFWphVqLx30B=!xs;*L5IlFK-`f7#eLP|Vw~)f5MR}`rwk(rV+lqFnXh~-dtnv_E zXskZ%TNUB$26lWR{HIkg&}Sbk&fgyG_lkkv&5d7Rx<9trs`T(eS1{0c?3t>e*+Hm<6fQsa8JFEnIMV9x;S>PP6 zyfxJ1+151~E7oQ{v{LFH>8W7D=WN7}f=k-ARt-mELb~OgGwoHIdL3==nkcji?V(`I zj*7s)>A=B}ylQ>F{m56_L|1g!S~*(-I=cJrYr2?mNQ~}1 z-m%F7?c}e$>NB0=X(5w|B5(gigH_Z2$hSbt$K-VLqinq=!v!&WC{PYpM6Az9=h?Dt z|BhyLovpd$t%_^@fJ$Xz9i#4PKUz4dV)#zdO1X{PNBG|Kw)j}@+YBlGl+O6kc zYyvM?@Uy9wI{y`4|5vM#o%<+=cJuu{r_1jPHNSmbzy8mU@vFD5zqc@@Kye2`3QR3- zgg*6+KaK2g2TQ>J2oREg&M=aKG#vm0}C!Y{5w*{>F7sLoxhUhHQK8B%XG1oygbm3 z>ByYSP?#J;;h4{|ESF5-aM_SKN8r=p3=kdc>B$q^vHSWx8p>-xwt%8)hYV(C!8j+u zg$H~DRz_N74sW&X@Ene+l+Kn_01B!Nj`pB4+A2MuddRuiCB0kbWOAf$o=2qzE7x-= zV4JDezQ@1e#_;Q4IZ>Q19q`eK;fkhJg&*C}kKhON`v=#V6JtRz*xTE=Ao9?I z8_F9fgd0cD06a*uNh6?2bs~a6ubSw1zK9>3O3P+k$gG}YXF+C9biSxOb%BMA0$f%D z>fE+PLVd^&6mvHk`#D0t40! z2H~5W$nnPTqn~Q@3FGSUPY0jp(RXFjv0_~p4&_X*faw3kG9|0-3Iqd`^UUw1g&SVr z3uh&8(~a9v4QRg&USMHn-=rV8&5`c+!N1i$ZMn1}$`(K`TQF<;qt~Aamaf|jPr7tx zTTMJLkkHO-pP5X9Z;&gGzzccON1PO~m*PoN`%5}@nF+R>Qt?ysO zCl;d0YGf75|fKiDmKgw5iH$rB8YJ zKUNvIYy&npUq29@+KB$ncCm9EzVSUC)1&)rAUziduy8d{=yqmb3UFyO-Y5dHk495Lf=NWill$*W_ju4_j11c*{%9^%K!O zYu3G$t^JsM;li)@mTgPuTL?kG+Nc$_jXTi(-A@8o<W_RWB?_A*B+WpdJpQ^9E zH)9vz+1-+nB;=XpXpjBCQOc2J~@|hXIsKQoCW0GHc4rP*;rUyEO65adc1zM z2OrC)U8{qh{Qmx~U|)ITp?JUoCDmsYaS~iU6RdbFm}+I!`+^bjQy+@}cE;yF$1J~Pa;ldwM z8CpIyNo2c!s=gJV+qoG{`Za;Z1$*PO?ZfESveXxM(v!|JtS|WQkL^?`ueL(BwE-(! zeQU=8S+TM@vKI5G^DCkwYnh#r=AgBoh_JEH5Os1H{YFG{0qsiBcU<@hH zNVoSj(Uv*^T`kUG|JiRc6C-d#e zs@!v}*WXIDob>5j88Dw99lZRr0o{$M4AqQ|90{0XpcB-g&iF?W9x&b~c%#DHf$|FK zpkdoM5;Ed72A#R`>D@t!Jj2aw;#LJnjhh&{fp`#ypN=zt-(%Wd&m2=U$PHu?$bwK6 zbM~id#c*rUx?${? z4FN&}77*bM3xoM}6w7~#;R~Micltm-20N>LW{5ny;HVfqjN@h{l>MudUC#1=c|OWr zmz&BC)^IG-VS34>?<0@@{ZUt!FWLSAB=zst_3+Ano(#gdy#TC^Qhq%lO6a&Enr!A> zB?HLcXwZl3N6C0Q$KzJ+0x+1jv>W2TeyiZZ(e3|#sVF#uvAWW;^8CVczsU5u=wbg( z{!)jiXMe9yj`B<;N?$;tZwadpM$t_1`;Fuyiv#(fB)?iu&Hf%al&(x=Z-JLJUB=^N z9VR*_3GiGppjSC9eyJ5%8?Id~XhQj1zXWptN$9=2nR7nS}f7qqI!$5X2*p=1JIX?Tj`YX6g+o`TO9Myr(x96CK zuHol=B06Aa*SCY4j= zAcxlpxYQ4{qKEA6vMmc(H1Hyi*fAP({v5cf-=*Kd^1r6J)bH)o!@>#*I9VUp;*&niV zucGT354vaH;e;O~i7xh(Q>MROz#`h^-y!hhv3kS1bjMq8n5gc34w@IrsEcC>hJtX_ zH(2%ITvXGNYO4uMpEuajmvVx`$%;2;yIEQA(INcNRhN*{bNVAI{A9#CcAe}|JQ-F$ zJ`1RA1_9xU)u z*<0Q4CwJQh1ri?$8oa2Fd{MnEScu{2l|I+XwrbmUK(vG#o2|{+r7)*BeG7%IgL{w5 z=X2T{#Ua15Z8;vNuT_~dT#?z9+WG<=wY^5gf~;0G91*EB-o;~e*+yMLFxZdy5>NNG z*6=kD*c&p-t6%nF1S`9oKVvX}Zw4RhyXe^T2On?)*i#qVDKF>Nizx&aoG(Ln_#_Kn zR__Ma)f31tns+q5oj!bMhsV)T1A;1^&X6rVja~nPZ_*ZQ*)tChKbLp-)s79S=s8Uq z&o4MNte>4r=nOu7?(Axh_&^2?4)W%-Z`&~$M~FaCVu*+7FybPFEwo~ZF0*k~dyofs z@{lvx$Kl#?KSC}n`|Y}PI^N+QzVdHx0UGtpK2>HrVJe}2;d8S`+UMG0IOs=WYv+Gf zN52Js1!BSY*}xQwZv5FKLkI}Y*ea>7Q8yiPmR4)~YM((1hNk|l0nGF)IqNwM`~{#4 zz+Y##UOa#O+aLdG3sG&8?bs1M@q}%lcV~rOb|!u-*r?spt#ICXm+^{?piTy5Av%5< z7|uEsz@m(Wg5=eQg%8#JkqCv($9Z3IT8#5%t!^Me%y-~!n3xqv)SlcZ6;IN z%0w@4h%ePaM}6<{X7o(A!GsTfih9pp&k!dv80a)|-3L4ciR7zqOA5#w+d3 zGl4NV=(#qviODgY7>@oR9T065W5Dy5RnWJ3F7GC##=O-i^PY_zHDsFj*l zsB!tp=cxev34&RTN6*u^d=uw#YVWbHD}O-Ae)uhkeKAI6`vnQ_YZLDZnw-_u+C@6h zGi~cJf9|!TB?{KR%GPT0-jKXi${Jnu;u+ufdA<}n*c{KbxNB)g)jfYwsb4sy+wL{c(mw;-qas` z@e-NrtQDnR3Mk@jB7T#|>4^Rw^$S*qqjGnJI@w-w{kIS4L^As4ACC*>vgMA{z+cyb zeSRRzfM!N8h}bOH#}Tacvaw@!nKo$E#l0{Kqb0zrrxjlweeV;;rE*(F7z~{SeuI*5%;pJGIbX2yUQ~2ua!x-+M&3Li5&sw#S($)0B^+p?K zDM4KbOh;$9GDd!cAF4Kc9$-oGGKRhvFb%gaotLsfLwsPQ@gkkYs`7OoOimlaWt$kX zrxcjys*C}E#=6gOpRyFEvQZ>enfeONeMVil5*_I&tjh@=&*G4e&7(@?ONK zta8zm0gJHmrz7Nwrv5E2!A-m3BfvcyO?rj$j4v4?^$!OLtE0ymgECKF5>L<7hl~C5 zd;ioGnCO^;4eV0nEj|3oS_+`2yd27}a(M^a?;FGmH%ZsE?15NaG%)qoWk*pZq;#0qy!Wa9lloe{`6bImG<}VG9B>!RrccD zmHWVv3?Df!dJb=H@U*eur~~dU#zZ+dp9)S|_o=|C%S~*cvpSN4umZ_RdH>ye0*FRQ z-hM*|u2->ad+3*^bkCGyxPJvc=#|XiKx+Kx-UZfG-*90$_#yIpw#vGNuiwh96Y;$J zo^t?*TxYtZQ?RO%R|W(B*vAncaLs2I4<;kH?RMel?9a?%a^}7SH(--E9u1u%f7LH= z7<>-JjQ4mDK2X9uxb!vjby7pDhdpCUw$ix{a~)F1vr|JG$4BeQdq_#g$}|4tG;XB> zo@OTuEbUZ1+YLK2DM$6C!C|&!E5rkXnk->|zt#DiK+|-lIwy_{0ULT>famc`!-8lE za(+UvC$sMHxcfDo3XQkrVN+sQcefTCkIJVQo{z4+$CLgZh6J6#C{sCdn2ru}It>ui zo*5jBVd^_*vyvQO4uX+|NN<%ml>%U-2 z9yMGm2%lOBa%5896-a%He#BNefz{V{`qrF)+CNGh)1Ux2>73ibfdVZ53ju=qv7DVh6x7K!KGZ^V3-LdppsBjb z6#g95TwO`hztO9V} z8M*xazBhVSFFoRTlM{Y>JL(xUqM>tN;*WYlr;G1$1}2J>1?0L9uG9|pU!7*-3Cr`d@a2qrUnnliZ=-838C*YglPS*u9 zp7)m9Ka;r^K;VsuZDm*>!I`ZF@H-UnP#}3e&5x(aJ7TYZf%l0xErKK6IXnCoovWr6JFt}F71UL*&5CNbDoymR-SA}MQOHg!THCS84mSL zV6QK&{vE6y94piQNEQYfS+w{F*OiQKXF`IqR#hupl39<1LgQNgD!eL{U4Td6vh%I< zYG7E?Bb@o_^%}jcnSF`s^0Tk01qLn;y977GOEr0!gaG5-)*Fxgv+Z?y7_A12|IyY` zZ>R>#f$7LJ8K3%u3!6vI0!rDpY`;JYIexD#|LYGglu$K!!U4&LCU_WNu@TQ-)F;#_ zI3r7d&mh^GKiN+!cI4$3JbX!>Y^8d#*LK>FJvmK^J;M%)yaf+^>)Mjm`iPya6|XSa zd6*`-4FVUuqzAQmziZ~<6+Y35m--k3aDBB)zi;)YP7C>^I|B$||HI$S%~lcm z+F`oD-k$zCI`Cna=Qz~oZ=mEo3E`fc4dPGGSyts^qjKF$hpJbJa{YqS&*?0%`Y#?X ze{w;x__vAY9(s16KNtu1gUtN%gouZ%#E*WSF2x838h^FBX*j)LwVJ0nhj$}u!_{8={QDIfOtCj98@ z=X6XPvmKueduW-O;7zPa&D9^gaX$Bjy5lG2=S2oTp50g zm05zb@Fq^}-_F2K>E+k-olme`3F(w)AL>sWQ3a+|V^8(vCN0Qo69@4^%s?Ri1k>2p zVCD;{tCHzwxM3h06<+KlpF+Q<+0Y}CXAFnFL)$P}_PlSp^ga8J(4XP79W}{oeP++t z{VxJ_!k4G;AqOEwevP}@MufD4XoM=&(wrvt}_9Qa0Fg@$jGZ*QvIZb!YbLNw+_0pBR zuiu_}fuFuEQio&EkG|-1#-nI&aHr4u!Ttv~O`CncZ>NR!rXFpPg?#hot~K)MyJL0y zhhu#B(o5#($ZdiQKlmo_#;DJn65-vsvoM)<6#)8q7!> z_`w0Iyo2WFKs(TZYu_2P<>`;klw+<=69c!RhZ%VH_j(Rw9f3Be3~NgV z+`@qtoIxAlM<)&l_{%0^`S&9|txge8hhXeH@KwoQb`tHdyyg2A)4h`n5DllQRLiDFfH75%d zz893EM`NV{rK)mfOd6r}u0h#&!3OnPaHZGJ)t>sUZZG9Hdcx`El#xZwU;O+r9D)b0 z`k}@E2Va5A$-aSDc45w0*~W}8+quCN!8iScHsQ=5dbR;U?PGl|9Sq@}OUq7%AT``p zxV|^>RU0@fZpaQi73s$X1l)m(u|$xJJrS9AEz2qj=|b>#EF=T!q| zzKLzaAyvOxyE1qvKfa`j^}X5)uHX$kORG*c%wV1q>&>19SYMibG}|l~Y$pACay74J zmjZuAAlE?aeZLK&)$^{ppA`hPf^s_}5E9+v-*i9Ss-EY`;h}*Y90YXmmXkSz@UMRr z4A<)FZf68V(}Kbob^WNcv8#L=@Q1f^)*@-X7hA?wrvcI7yg~W!B8b5~lZ%4V`5y7` zWdQ|t#Q;Iw%peyTmNy#@s|iN~a9v-&`nIJn*Pb2z1}C|^dE1JnbQG&bUVk?5?;(ep z?mWvL7|?zA@UD74Z2+RW^Kx%i}XV}Xk9 z&$g^e2h%pnpU)Zqmk-~_){c(1|NiE;Z~yngX_~Sdf@kKzPw2mWBo`Ubu z29IE-;cF-QDRA|dbl|=fHuQXN;qKY`pm;&E5RW2$%vNGn#uKZNm3doP?U8@*xk0L+ zHC=&E-v8R%yZdy#f!|}>cYi!IK@|u(sJ`Rtk!@gm<2XHB+fB!;0@*pB$y#6;FKyMO z|KC#%t7!P%0_GEAybbN;WhcH|Z=L;6#P6TY%CKWwX=p-SbyX^uMc3E=mWH4 zhO(pOTaS^doI!VZ>3_qSi>Oz!5W*RkgB1aEZn{9;+I8^wQ)H`s(5HR0t*gzibTH{< z$?>T3v$VH#C-VWb`n>)|hX6%L99~r`8>)@7xoBed1mpw=`F79iD+PAR9j>r`QJ|bY zqnCg7R4|3?c`frN>rakP(?m=IX}t6D0{=D%+HYs}dFjE%R3kH8O#c?7fR`Ggcj86s z1f6EZ6ST=O`$SK}gO4(PDX4VxuX0#(jei)Vb2N z()br35i`3o440?7cu&UyIezZDXK*vI_9|VJ2Ize2UyxyT{-F78c;cfD~dr|PN zqXD+sD7hGWe$IEWQ-uqyZ#KU7a)>Y)EN9YvZN>XJZURC5F24Z9Ry;+kc8<%lozde3 z4eRqlOJ1zim)*veI2nfP&z%d3BMYkNGb;Ng-W59;-T(afwXONRkv9+oF&{tOs(4qy zBkdrbTM=b}k-qyZc&YLrFTN3gw7s0)((FWW}5pn7oVwTpiCC`iFguk`OG&2U0L2?rRk9WQEw z3ASTOT5(-Hcrx1@D68GoMJM#Dc#gqq%i&Y^(FA4d#VWU89sY#x#x`mQ0XF8t`*+!h zcwgDKIg4*g!`3hL51*`S>4?`2(+Cb!K1n(OE(0 zt%~CSb@8RRQ9E-oUVP^>L>FCq^ZDi89-r#;yh-eQUStUZI*(CX{MH-kU%q&g?;qUs zS>F(X{Xe#OyBWjDL?(44ODhkJCm?A;>MSOSzrlE&fStYfJv;CG!Kd0xT9nMIFW#+> zsmzz)2%?kU*KFNeLFgKbxC_##z(X(|yJ25TtsNczgU&$%;1;|RP$cBLI;*POHKPlUV9%)1%7`OO zgC$W{25EfAu{*F+fM_F>?-@c34R3IP;tY>8DM*94)h2$GhZz|@37^uc%eVfA0RVUW zDZc^!i?%*McKpzIC~3Hhr0cXIxQPvEWy* zwlq9hPZq%f4;nz8~Y!GB4|2e-tH* z$yPxn`}`dMVs`b7N%BbY(E#LCxBGsWDc(cn`Y*dI16=|T4D$?*L`qhfqfG;G{+t5c zU)KfiFWjUbnb50SC4;@ZJxhj%rzG5OIKn9;WO2Wb@`p)(Jp&M)l%W4t#>mv6K-n_o zl(UCe=vrOnm4`E6yXFFaE58i0Gk;Ngd*E3>^(@n+e)m%+tAjdtRtbw*eWzoi2SKXH zVO8`|)>}eI0!f!S>c%;Ezd#9q<5@7+hKj*`PHS1%8cX~)^J-?LG{J;yzUt?&(#s9_ z(O-V{=I}Ebxl6FX5Gh{QacpwcA53T6ktoB7KJlLec9<1o_ z4Ed@dkJ76-2z5R&;zf?XRc2PR82~(MD`prURJwzlL;p(&5aXGxQV|*SYiEFcJu6-4 z5qlVG;z@eYKoM_$$rZkc4Vt>)%E2E#a6sPhE=$*f{t|np4=Qh_>EMDX2}ZDrA>B(q)IBGd+>T8(aMlleuRoe?54Q~x<0n<7XFk*m zhWb>zLZboex%?&vc*>1#_EXu@FP^}hJn_S}kMP`z=?lW4u>2KJHW2ko)y4tIMslp> zd6VpxS6k_03(0J;is(`gop)$UCZx?0o6vzX-{`i@jQ(Kl&gqM3`kAe!fmb@b_5g?E zu&odQ<|jDm2@87g? zr7deOU*E4S7(@nQ`Q)uNhkNLhh)zPIPmU0AmLD4@kb(Bm5nuGZf-}c=0*mt*U!vPT ztAjX*I|3k(Um9_!moNmLUKh}RmTi6c{65$XhJ!7rOzKwH2C8VT%m3efos`!^2b*q@H z=p$?Tw7~`X!kZ8Iy1>qthllVu{>#otT*HsfkwJbW;U7)@*$n}e75#z2j&@mSEq z3d^mCB7yPp$XENZl4qE!qmQ5jT-I*}t!A`=3Y`{U*Geo1)7O<@>Y|yLy z@_}tHGiyKmbWZK~(zmQ2WgRwsFTwF?@H{B>l4*#j2J0 zJ=JoX=y2Yo6@hHBwx^9P=sQ{k6Oa@>IRguf#fu*e9(P|}zUAv+TP=8YQZgt}6>ZG8_v10RY;E9WaQGS%ty>reiWlQ$-XV3awadjGRY-~pN8&K}$ z12OqN+u>y%^i2@QY7;@c=h2~^(2?2HI20!)i|sV3eVqxz+IF`3XYGfM>}`Zt? zd&I1rG6!1t-|$)xYrl^l5?SLrJ&zsf$m3+D{8<1|VtMGAMHb8q`o=K#`0^_$ywN0I zTk5vmn{C+h;7w;hf}^sBzw>G7NGNHyWDE4sFT6}EvXe(f`muDmAl>U2xd6Qf?08@F zQ~8$#=#yqpuDYslW1h;=fFHG&nnG!{sV~{9%DpK7@<%URP-c@4eV2V>+0Rk&s___^ zm4O|G%y${U0KOm=o@giX2xm(z~el2G4@F1;%G(lP?yZq)&ZY7=u;;5j#!Z)DH3W zV=J7VwCC&wb-8V)XYaJ57u8|qwpGM*5_IFRjj^!zx=v7*UmriB`)7UB*IrDa|N8i; z$(0(+or$UN6g(9GHwgqycv_K9C(0ha=%S|^|7(N6 znD4&eQP{2><0)HFu<|ke=C5||jkK?tl=|w`ulOF0d_HacMLJ}=?p{_zaqD|a>TTgi z|M*HSwz3+t1sT&YvfcOuq@txs5R+!!#MAH9gudwZ`Cf8pJVr08PVc*GUeOA5#KZw1-Pb)>gRQLMo`jQs~9(T+`wL+gf z7k7w8fiLpbH(QDQCEd^(*|S&iV`r20TN~GIbEo1ZJ6Ar);u0TAjJLz-}P5u}us|pY~v~P(Sz~-?A#AYs%93u2y|IzcM+N&T^Va zGoaCLC$?VO4OA#9-94~$bZJz2i^ zI;SIjkJjUGsoOH#Dfe)sq)Jw%XPYI48>>$sdlLNe-hQA`z^}j6Q?x&Si)cQ#)r}Rt zQ&+q#L;vGQKx}n#7FH@-PO!p5!;0A_PzD}DlCxj>3`FHP>nirtj0~sLks}7`;M(Rz zejJ(67S0O_DqCHQ{hmbdf*WKWwnT}2ct?ZDZ6&~6Wxj1lL-NnTa` zi8#*N7*)otXo+u%58jHM`sk~|`|Eiy@l6(KhrfOuN>1*6c5Og)a$R}L2d7gI(Ter) z=dWwOq;jD!n@QEPI2N9_zHGldD}@)IMe?FS^p%9Nh&9a@?=# z<^XT2#xRNlWQcL-R>wt;s^`d$A3X|BxZxQ)dE^J~NtYiSdO3a#-_o?_IWunAv@@X4 z4*sh4k^x$DFqLJy7UY?NR8RK71meq$l*P!B_s< z`Vm`~>z~d5B6|t#lZ19KYDSzH7-hH+%CiKBi50|~a z6)edYr(@?$WlKA9XSy?C2G4-7xw^xrf`HquTS0afTGN?s3{>+`7UXEr+H5O)ZW9pO zN>%k7hfS%B#_Edx7!r!d!AmOB1Tr&-z(YZgpH@Ib!+f!-)gNe^`Ui5He#2*1H^4?5 zby{C$HCVELEFfiT%3Z7N#*Y5XfeBY>KXRr0O=Q@EOGO#M>sTXFb*g(nokIt84D)kxuy-EgedlRfdzBUYZ*N;Z)Rt`90 zh&>ks%n#f>$4^;~y}|ISW`rXM# zBYokOe8?T}piNg!Ko_sHHNl!Q5RA)#48J^flN@k!KHOG~?hLnN5ucP-?}B5|x);JE z%fM7e>6qk-9yZbUes+J|&PM!tCQtBEs|H8c;rb=fyXjDLf@^ZoXOj)#PSrhm|JD|? za1Ix;ebKfzdfWe=rYGI-Cpq5&?#hhm@to|}{6ld42;)T-wQc^3cA>36(V&su7^Kl1 zhr&}W=b52JPzjzcDqxE)y;gPsNVwOgUSz}g)LRA8vtuvO%jR31pr6h63)eTbLoZFC zV{Go54%2_g{!XOn;8_KW-T;LYpVqlSj=b1P#~SEX=~T(#cV+vh4!aY66!d|B!QEZ; zzbUG0B1xZMQ0v@lt56n@PQYxDz}aJb;QQh0T?6fB4PXWR^efLc(9cfPUOv~}w`Dy$ zD)2@bHd!B?_@esn4)U)o`^!e)9een$wqw=crv~q>0ohh9eDGGvS?C6fWDCD(78>KL zU_E_W1tgNZZ0EH?#i|p*8*tc`t>nf!l~%VEK2}YZW#fjIUS^aWyjaD|leSyy?|Fr) zZC8ZM-lQyS6+NOOXJV2LdBeNco0F}Ed&#`-BNOti!Y=*=u=I8V$;1Od?cu2x ziMy(E!4mzEawX2kNfs}n_hp~?S>bV?0BwDDyg^8ow?3tQ$tq*x40;6t{yy;P*lKhA zTQr-5eeBH=+oCyrWi!^wY7=nR2DCRcmcGtORpAz&N}4c9`YH>UpDR`HF)Msv^UYR?fQIDEqoR&=Bs8{xshi?e4%|4RLHV39KLc#15!Gf1ox?r+!_ut?; z-|lv73%`P%TKPx-lRw=kjjbLw;Wa*l96eqjEoPeh6ZD)PlRPHV_yKqLY^7STZYvG< za?t?(3~v{F1u^+YH$JOrs0M@HIuEsOXuhRDC>#ATUdZ&H*->XH{-0jXVJ8PY{+4X< z&CY{2wSRR}w%Y!6lfIkOh)(uwyAjkC?7q5^1$_#4ZH|xkklr|>)ar5p)=e^X@1;{F(ygAS ze-L9U*cB~`JrlGf&-t|d{W{Y ze8GzTqwHbC(F|m&H>ZhGT1F}oEUB$PKcn?M&-l>0_i_YO@u%F`VWL$z4o0$q0QLd97yp5?sE_%db2 zeN3qlZ2-_cN06Z;vjaFW!Y^2AwiKNsPKj=EL^E<~cV#qUEY3QN{oC++*5D-#uM+dK?TQTEGlE z^{e}QojRnKK*zP?XBo;vzqI0H^QZ^48G z?S@#-#%sI>=-_1yJ_B^St&`QkW`~D@ zd?(ZS>bIr<#{~%RtB#fZ9~!}9gI2XbU-|c}8y!C&+t%Np*R%O&*Q%hkJ^5>hc;Y-N zZ(B3-h+kV>Wz|N&4UE<6Vr#8>bew~}>72vo$*E7ZYl;L84`t8*Np@6{u=8>bXi5Fhff; z(Ty3Ubcz$BPYN5^QtOM~Y(WF2jGA#Ng$0XXx~&49RL2nFS9&XwLTnW?r_j zRTl-_P`>Atw?+%W-(wsHhF)%UUSz^WTfL9?^Rfy3ZO&az&f10Q;E{uGo6enWGTs=U zyf`Tsylr|Vkv0FcvGUG|6YOEnkIgxFBK!o6a4ifY$pqHURjEQY{w<=S?4dXQ<|CCS zM@Ut{nj@IL7+mawe*vM-e>{|*&PAtoti~O#4992~UpZF|usMz-Cr~30wR5ie4$>tY zGCqAQeBZrm_2=}2T#w8{z5JKWNS`^joKWc79tUR`z$VB0a8lnZ!VW##aEW>=A5z}6 zi)6uBr}H(VXz7pt0pkO?H?a8xhv?3|%^Ccw4Ns@r`YWjMte3;s&Wk7XNt5wr!M*jf zLDr|Dh*qq=>&?Y``*+#chGzvLoaJbMNN=Cl&^hZB-#0)8d@gNH-?oF?b65>7ZS@xv zAd>|sgTap6)1PP_ZJnjLRi(k$q~>7NzQ`4G%8xe-{w0!A5z&-5$%WhQ{VEMVAlM&Y za=F~wdT8b00v|n)wgG>K4^DmbW6ne5D;da<s(}y$R`a3{Sef z_L$var-C8K1dpAWS9vsUFcsf!=VXQ20@d1-6~N93^L9?{&(^SKZBzc#z?!|sgJ;ie zDG&enZY=XN9G!9a&2bK+VbWia3jdwMB(Si)tNQurnyx^>R_pYQ=LXzXi`YtqZ=BSP z3Buo{ozA}kv%Hge_Q*g^Uv1?iob>hJ&1{sW-0Fvam%%Ih$d0k)^i02H6|Fk==FiIX zV{JqG@R9@LH@vs%?cwWVGH>+=y{-(qYo#PPXwq=gCQd(uW^G$Nr#)_KB>7dRi56}5 zN4Oh~zm4BypvU2Y!#{A{rh=5me=DxOT}Zpy|HAfuO<(q#d~&eyIs?xvQwMzE`EjQ(1uu zHrT*hKD10UL+OQb;J~f&6XKONi@%F6v$;&J2Y+8B1ohZTZJO0yx7wM$Q zSZDd7ZNcUGniP4ub=S7ufBtDZVA+x#lGMlE(DCOQP1o9Ga!?T)OQ+JV>Nqz0sg+_J zq7z^|diJadywA0#Pu2JDO-xyV_qp~ITjGfTkpAtg^w!@Ueb(RW<6%!eYR8jgUt8JB zB~unb#WbZDz~RGeWGUhdarwO2w8GAbobS4RI=HogkIh=?@9eaREzy~;mag0JXZ$Ge zB*?NOF#0W^{585mVX+FqA+`oS?BN1*@n#E$q*X7vH2xh+hJuuIZ%&Um6B)KV&vr&8 znK+8$TjkhzPG~}l5lV?IkSCqsrs}5{cRPLM_XVALY5|6bx&O7(_h%7#kbpv zY${iz&IHM0FvVz2`zS!#$|Wz&0P9nM+)qv5Soy}@Rn_3LG0tSY?=8<_NZRHWkhzcM z;Z$BU>l^5ypd`O@zGqMb*_=yh(TB0a)AjK_2NQ+lzd&f;^jp7C;pskG8n*~xb*jT+Bb(m#$X6JZf9imH=bkj8+nLYT0! zcpaR4hY5I!)o*E3_jXY2&d;iT13IWr$x{XjDq%#C0f9^#;fK2Zgr6nh!!f}qB6&O@ zw3XK)JqWK7z+bQ`JhwuwCl02a(rF9~SByP$r0^9V&=GZDAGqZU{u&U(U040;*zItk z(D-ur5M?O?M=N2+vjtV7-wQSF11x~5DhiF?J2!FsNQMTY32f4f36#jcD37PA$G4v2 zOR(gWI)efzIhwh}RBJJ+N_2FoyB#(mY$)Rq1)R0rOn5+c)0`RR>1!&UYPMcw2! zIDN0M#OqREnSUj8Ga#3)NWb((RzF8KKoTxI{OsvKfq8z8&(p2=yVCLCELA5n#ghTU z68)z$Lq{J1zrc*B)%-WOZifuGUB7<+x+(4CzrF&Se2x;IGQ;+wA;Rics% zFS!06NH_YV(0|X)bGhk#^~p+pe$8;ueG8C|XUdRC9ey2@b49&;;(7Mz zbAcZNXW}2sR+nrWVDRn>BCvC0zf}|RjMkAbXDWsdk2%gmr%d5997AwLNr)_0#Y+qFj?{(UI2+l^CDh0Z_%5c@CE!f_B-&%i@ z`LNP2zU*8ZXRFz+eg?N)|y@Cx+$n{eUaaDr_6oGwg$VZc6A z{+Xbwi%mv%82U?Jz~e(c<}^Kp$5!8!&N2FCbxcA5pY9l_3PdS~EY3bX#(#o8PNmgr zR=U(LnJt8<$|_(mYH-f!we4%?QR8PeTFVTh_<(z8)2~H)GMX)u9zFa8hYN$J?F7BP zuD;fv@uYO+drqHho#mszacGuj1H9J}cNGP<-_d_`0Z$r8x2Oa^j6|>t}oXAe-7-c@?rv4UW#NKd~72yv|YNaGs!RdJ*8zUO6i$4Jh~vR!LC~ z`b<)ASP&4-2EYL{d#$ipc{beEEwIkYxY|&w62E3QY*Vxd=vx7y5KF%Jd~_5X?a`L3 z*`R25?XN%mJ}FDyA1OzpE_$#0`Z>I?^2)YnIMXd`WUnK#AMOuafa!%`){id@EtA3V ze-0e&-lXaJ>u~JxYSyQypZxhSUkq-?C;W<6bV*(1*#tl*G zZk1PswS}G46;kZ7?b#o)=meW`g7imUjS-%O(|rL4{e@k+CSGkTw}S0Q zM!~AuZ3iT^@x=F$hX9*)W0jg!JDX&QW!jdHF~wcD-KS%3TXA#mu(B=-Z3$5zQJ|T8 z-W7y;S04QjS!^|WLZcclv(IK`xQ4Px09t0npVwy+CW#+k}#hj?0z z@%~KY;74%iW$+D3r|)E&Obxo(KhF&M@m;`ZLp%x@+!Mq}f0B{13m9k*{R3C~WDjVW z`n8Xeqc^(}8}wuB5j^-YgG0t(1!95q?(tD@H!9LqItL#K`hzz`6u%{odYG?01*zrbQbSgif)v8ulJ;bNaB0gisv0L=#eex4z zTAMA;y4_%z9LSI-_u>az8*5&bWktzY$;#kiX=L##zw#k{ zn;%y$aZW45-n9z&kIpgsy5MuG#)E%X!?@%Bl<%Q{b|cMrACBsc-*0Tkt-O_7TY=W| zq+Gp?{ln#FlLG=jPxZgES*5X27-4b?ZeQc`IRlO#(bn4Z{3jH`GeWpPvvKeqU*>St@=dzb>t&3kJn8Pl2$ye z(bT`w0hI~zZkJ5S{NZPfiTF{k(zVys%^v87ys*ZE7ysTwnU_1+m9(>c zaASXUy3l{dTGiXVIFxwMy}?BE+3x#iM;&-8vLfO$>nq%saD!7-hbeQcLR#cepwCvJ z1s)XWU+@x4=?T%1t7fDrC?hf8vB}v-J98rGd23a^RE?+E_y!(2h*w1+hfECD`MMT3 zLTt{c4#1Lcjz|2e5ydPPiy+rw_q)Ev>yeFjyaMg=jax>4{(_o={H37-gowK={CyhA(~l6VuN%CQ1aQ?{f<) z13*fDqTn8t8s83#Q(9eVQfVnn#WiG0Wu1Z4YVs7v+p#JWz5E0pc#kQ;K5W2;Q`drQ z(%}M`GTiW=5=T!W>N@H87^%y%l_`~3;5Qk1BeP|;-tOyM$6folph9*EQakV=u-DCuJ7k&cM3?e||AQ9#7QSP9|M9qb)hc*GxXuUof9vxK*c* z_(*neGBAumvn9B&#nG2vU8fk)L97k<^^FYta%J*#FTb6y&*juf@dIX^)H=inxFj45 zQg^+}1|B*g_N*@fRzUJHKV@%Ek16Pg?ak46@3a?u`2Nc8!jrAyC-~!C?M*`mpTDfk zd@X@=Z#uS90RMK3x+4p;RhC{$=JDqvx@%qSgWAsZD?+dk*h+_d&{=61g8HV^4$s-o zYrS>#YhWGw_jn^gqN%P1UP1loDaLQPwiQkACS} zjf-$^gY3o$Z0}XGd~`PUB=h9g{UvuQZxAg3bm~{RLxKkkkC;jxZ-2e`c@jeW&%sNb zS2}g{MUVSgq3A?Nz4@G=p%M-;8)(|23=f}Y>#pe!=oUt7m1wkz9c}~v zO$r6VN(hPfvuea-d`Uj)7xyIY9@}GzuhITu^saBkU61baB{rSEYt%oVS1p4yiIvAP z!Tbt)6nkw_FTPoobDzDLH2KyltzW%O(snF1Xs2VbrXy{PH{gm7;mw96Io&?{W=|5+ zg9s*-?znrBS!kLsN?*b*r|7Y&>UYYw7?keC4#7qP{)29H58v@Tz4C++kxNY5yj?P! zPFcO}%!_F#6Cb&xS#$=tu?B_H#<|`_C^i6ROX1yM6Ro#FzcyxH`VJE<)n)gaJPN<9 z2Fyihi!ZHsc;S_D$txfB4X*=Er=}Ch!3zYC-jynJUL88bSBt4|?W^z?ZM z?P-bp$**i!GWM>-jg?DZO4fRdFTy>hj{CL)nv5F|du)vcpwYGkUV32P#iJ9|DgJoV zs+K(|t8x8z^=on8;GNTSwM+cYiA6~J{KKG?iznU|j?VED-Pf_$yz@YG3qH3`b{9?f zHaiHCtr;BlK;s|8LB@-z((vMArcO6pTn#yXVRoK=Y~>*x(CH_q8tgxw#?N$Z^shcY z(j)No<7ne!_tZoQ1vulER;@;(M_vX%-k*D!)HiksYb!5v| z(7W{|;cTMA8+zxz5T%X2B~{sxvX1$N+Btr_%d@@HPQSvtiOjtuLW~kF;Z6^?EmyzK zW55SD5JNMcP`knW-2Q&XkrH{-jSXs-zeFo5Iep;ik0fo$pFMw1Ctp5m>y)Z^(TCNy z5?l23Lr;(tt_;@p3zp~#ws`6>-GK)^SUeOSc*57=ADKOAUrl?|eJ7A~<(6ZKotXw6 zdCWDv&pupR#FCG+9h)TYyAp<0%4_p^xLDzxxO#LplqO$rC(zM|_Sq7CCz}()#`9o# zVrsE2eyCG}e7&Te$s0873D^1%_)9R0x!6aRTns1<%|FbRjdhMqzb!_U+~n(Q1LDx0 z1rid;R+zqy$04?U3eSvNqj)$*i5mU0C+g29|1JsNoO1T2KZ;N3pYgny&RECCq3hXk zRsf_(6=p;_2Rau{+5~%sFb0&VW`u+`r3kOh^j7GWY>WQ^$bnIy$g<~-j^4~%k@5&# zK%0ctb_ngY-Vww|xKK)qA+bDMQi$5C->5^+VMK@-i=WLJDb+}*@5v*9)Oq1vun+-9 zOD!n}K`FTnY%B9Cg{L^jpn@}FgKO>dp=^j3@L0*W!D|UR4$*^A=wAC|15OI1SxLVd zuX#U|>6d$*EkGN7(Wzc-aH>D`+=7*uzw#VF3bbS*VOJ+JDJaM*a{>n0LA3ep9KTw% zArRi%7rW=+toq-rU{_?at?XGm2?7B~!X%aD_raoDLv$ z7<_=>j_=x{kevok5M7Yec{L`B4d|lr48&9l7b{BeBwg8HK0eY9dm!k5bh4Xq3HF)c z=P0!o*4>Bm8Xg|q2>uYQ$YDPOy2dKpUS)0n$5D|Lz!1kO@1)ai?l(j=zQX(Kmt(Tl z#)ZeOpJL~}JIP&A^VAvFs~A1ILhk8A#=n79~Q#Y z`{3Dc*McFbz=S1Wddexi>l%cD0T!A@SLOMu+k`;f`x+s7ZC&8bk9fn^Og92`qXW)l zEI^Qqp;I`<_hBbkl0fW$EqWX_&lBn4v_VvL!gFPvGO|i2d*Fs+{M_I*USJ=;M0}f# z`mIYk9(4s2;n3;)ACxL=FmiMQ6XJOHl_pOhE!-ISHVK~O1xC-yNJLe zh4GmR=q1*HCp-N3{#`J1XsY?~SHeYG__6&5O9p@q7oBpTj>xA|t`C7=^ZlKpqpRqC zED2`sAc;!dAe?di&_fC(Sek)*)@IleAM6Ew5^lxF3phM#X|h~kA<$TBcu7+#t0Tv2 ze)`4-$tjZM3k6Ou!o%Y#znabF3D5%s9`KoLh+gRB2D&o(H!GlKzv0t(NLL%w+KoAM zP=96i(mptTlcQ?}u=+5oG2f&UuR{EDZ{4&S{Fac~WKw+`ySC5XV~suZ_^e5yqwBR5 zZ6P+E08*_;3ud^$vL>AXQf3X=YR>m>ynJam5S>1bHRf?2Kj zo2%Q~LfNC3M>1C>vgKD6vbP{(PbYU2Nzbx;Z+Y}xKvsFN%i2S9vmucb=}kWp{YYNp4CoejvnE8G))Hh zn$H(ARd0Js!E=nLkrIBJ=t`G~%|IFc{4;x6{N1H5^(&hwiz78NKJF35cwt}WXC-}} zQpS$QvVz~f+cU1gZM@yMDSN;Zk2#ltSzqZFmV`-Iefaq8$-jGibuWR6pSFtdX3r!&8tCYcWW$l7fb6F0(IZw! zbkjZiX@VWMD@UFZw(&>2(Byy#8TP)_Th-&&to*faoBdxUJ-tLK(T-R14JLVO2Nfn2 z|0q8AoKH077gL={LAs0I;Z;8*!SRO`Lw$d)9lRP><45jm{mxd^cXe;$CA}(}#InNq zYqIi^i>)rKj(%5pD{*n!Tynb6C^51VIK;v0uP2hTT_(w0i_*ueR z-sG9pr(Gu#cK$1VzKS;{A-b~9V|8qGz|PnA{`NHy75ji4Q`{7tQ^kLks41S|tOkkBC9p2L( zm6?rHpMNSUm~3D!PFsV?X~tv)21ga74BU*Y^COtsCfSb#{!_}73vvBdd4z9(Uvpju z+{NyjVKAeX5``(^1Q>bkQ8pz{DYo=D=EZ}Uv*uH%6scnCxDw!IIdDMLm5VHam4iT1 zzzrUUFUBx5PC@~Sj4216CASP%f)1_8{Yv

          n==p#)x>OS^s^#YzB!*CqJWfaF>& zO*vg67%&`5W@%(t*M9VF^<+Y#{LXb01gTZ9k7KKDzp3C!hy}2^>y#oy@ePF3=?7Q_ zF=kF-lb&=0D_op!U&gLzXMqW)5$*=jgAd<}c1ue)D-&)rT1|HiyfG>mjDi7S*jt&R6 z!!6}7I0Irhckd)Kx)!zl8Wd%8xZ6mT!6OUYgTd?t(sLM;ln_J=PFA z6sL2QV*;wr4W+YdH~s>(8KMFLWU;Twz4IL^ftM~m&6z*Vx4Na>1&=Ah;C6L;X&5vD zYUNwF&=YW79It~vSRu#nC{UGkI2-Ii`o_B)ssO>tK<%N)>>l{@QQ&r*iI7gJw}1k_ ztLr5j_U)S!F$(E8!2@(~W@yd#;Q>4}ztxFDy83;Ka4XaFS=q} zwGTU!Oq)#WlQd6zC9~k?aF49bT5l4mI#xVOw$U+f=JL;~7UX;{F=Q{Q=dG?skidIy zwM>M3XkYcim8%~YC`bhBTdj042xj+!cRcVm)UOh+wMXaSgs-n!Irjct!DAD|K0~z| za5Yd6fb#!dEY6-D64*#RX(!I|Kfs-~ zb$;`I9^E^AAwHMzSx{zreJ#G7(_{x>!9i59;^4aXy zqbnXSF-Q>G8O+pT_!KNxwz1-p!*op0iwypvs{1ww!Z`N@wE}aW1)kCI-K1pveX)Jf z(z$GD35eu~r;~kn;pyH6nJd8etsuByi(A+^Ziqj;5%6qnl8ppgEHxa)2STJ@seL>| zD_!bh|MBVI-Pzi=%0&zl%C+Gd!cIA5@r5qaAN?@d`X)z@u!Fl~R^{wnkqxa1a};B_1XV-wPJ0PQFT16ijXI<*8=@Dq15uEF4i5?>Vw_6p}? zJ>JD%MJ2KtNac^7y=etUFHMN{CEIG3Ulzk^BTsS$XaTe`;x72vxh80c=KFW!V$l%4vujh9y49EzjgK-DBqSM=B0 z!!SA0{o{k9sbp>IRH8XZ@r|wqbbRz@|7v>|$Lrb*KOcVj#P0|=mFP46Zx2^Q07=omWj-Fd4dTMeFIeDqq?85{(VLu-~-{ zzd;=)izhvn`1n|Is{V@&2C3f?k*ECZ=sMqOEh|;SQ-}PIKT2qa1#!LzAFKYX@Ua-j zxaS+0r9XQKlqO@jSO$IcH35$=^HI@F=lR$Bc;TPxc<}yRt3>m^#v$dnwg;!hArd%> z@JN4@{IR+zE!N1B<`5S%*h)a(#CL>pD|5p=dY0Hr5%}tjHQ>Ye!-*QoMX+A?H(|v; z*RPuF-Y1w=mG`7_Zov#|umo9y&V-#C>WY@|x^sUX>dN7d_ zetgcx^wHSO@Tni@y2%r`sYbV#aEotCPIrUMmY@yhx61Mn>{s5y%Mwf|TIKjq(ru4= z4>3NZ#Y^E$)`3`icVtt){51!+zB0LWJ6e+6)h6DUh(4>hT%V=p+tSbUO6-RM{XxZ| z4K0#g>2XP)x~eCCmLPi*EuTvwe~EB@gI!3dZ|~7)_+=3e{$rIswRTLbzKTEIYRq=G zbx(NxQ38-2Jrpxe&w?e+hP%mT7;VKI+lW|S^KF4QvBP$3so-T3o@9^+9u*cbt(|C# zmsZFrSAu6xz5BltGPrhwr9=ChW^_Y}^End9r)Q5S#1kwoE)TBkAe7A(Q%Fxgkx`F zVmJv_PNu(r3ax$S6Q)`L$M60e$537M6ENpVkw=zxhkNvCCzx)Wdk{qRDU{TMad71j znWI2xt0Uq8xCdB;`n_zl;yOPSQ&Mm@d+R&6`*eO12->g0VMaK17teAy0$caMS?6}~ z-Q(F!%yf?o(AT-nrf=xLQ7c+o;}Gcoen%@R((>I}>F~zm8=(hZ#no5uI)J>DTcPvw zuR;|Ff$>f~_`-yMDt}gsbq=m0+;`mCxZ%n3cI@%6o%JW$7PPaC?2Hbj4eQ7b?kU1t z)~$keItR0oYje$ZeqA~Ry6E@rU8gZ!$AISvV)y2RAhB}ri?R#f$+;^#+)svtG8`*& z>bjxM0f86(O~2Px)h7GC8OLDs1zgQ>r0nSE+YOHcW4aDDxk1Cd>=vnPVcH0P3O96 zhqeVC1$1yT{@~Z#VrwQIRF$kE3ti+UBf36XE=N*4=mz3J|0%VgmmTo8~66bOZq5} zZ*E=0suc~d%uE)WdMx9JCYm8ej===m?Y|XGCqbqy0bwDpo}YZ+ z21FRd%_TeE-Zl6wk@?uGe3jF0oY`%1t>Yat*n+`+SP)R{ZskqC1r~6-YlYobgay6W zrR(RV92jK9fFz9oNAn&XdBLwFa4W{;EAD$K!h$!Bb#&rWrNalmUKM;9n3-f*BFA++ ztc;}F>ymz7MD=)qXZ;f#J#61bIFPv&{oP|*5oWc9HU!X2QtT*jUXrPDZzOnYhh8T7 zW{|}q4YGSQ`D>d#8I0fuelfFm;plCmR)DZ;X#hbHJ@oro<>0l!MJW8RdN7*qHyWr+ zx*@>TmoF(=Z5ZlzPhS<BH61--z$c~_s5=2jkMW;$u{_SBoq#4pZd{%$K>2Mee5GxmXI{a zG}OEKHNh|&GsHfR<6(&U7#pnMc)^S0OP*(Vb+Qev!=#P=TfN)kF7qihGgn{+uhXO2ENHq!it>4v1h{R;5a?!C-dnZ+ups&#bA>D zL`v|gy7spEN0#Syf*P+%6jQ3 z{i8>wqQp{h>)iHz$%UWh6C{Ye(eg)$557fV6H4}5WwS@l?BGNJfyhtfSDK~r#@!z! z`K*k8nD44geDh+H4WKbPrn3k!i#qK5zWp6HPU((5;z_I7^(7_+*~nRO!#@WnpNG%v zHMN*t%?DhxO{kFWKT~v^B=XOy^{!S8uUeIAFozG$;MP`H4&A2E;Y` z!#5dFKb>Mr){8%E7r}?>cjEmmRteUeNOjfs&!xYPw5SX3?n;U`y6o{pS(+r|J67l8*MuK6f?%06zRlL_t)i z^Qh~4Gf>$+e@3PsdgC?XU_cM}^J5orb`wPDSqVbu{5$=`uWBED)ZTh$4k5Y`Qk}}=iBn_LhVv8&t z@XqxG2R;7rv$f!QlLy;--t_>A*Eew)PFv7YS>t@L)S*ts-L^Qhx{lM69D81$a-R&) zv{r^|3G^7WBx$Hfu#4;Xh{);@^&WxDCV%wy@vTNq4j!ZR(l&9C*lT;s)rJJypZNm) z_LmP9Gn{t0f^7~5&ZC^ z4G%1?D?SXLk0l;I^enL$;b(mMpEkF)S0-CF{>gg7QIfd{rzUvl1NqMnx<@ynW&PcS z!|nx7JYYh-6$yEQ7!WRxB~BtGJS9Y1^`9;}VwFC!U^Jp1yGSM*oUB0v#Doak{x5l@ zuLa1ldk)F7>lhRtI}#EmgcxJ8q5&MvwEXCh9hV>*P8bGZ38k08FmPH=*L8*%7-Aa2 z+mN*~iE-KDA32iE%2bG84NNHrm}j;K^Dz(%*WpH(@bpbFx~54N`;V$^K%9b8EWt71 znoZs;4Vr6%XI6hJ22;9q?ga-LTL7m84R?S&oUV3{61tDZ>s$GXGd=^-F4uO~vVe49 zbgdKZ8smf2Qwkr`&6aUO>*Ts)miy4bf!rL@s6gVWyB3tvFdX+4PF<@F`#8~o*cUGg zenOPO`VQhcq^=D99#eyJc#$b&H)yYHA`E;%!Q@a~`1kK>c~~%xB`Z$V(SP2SWAJ4l z(*5vA+6VWwad>o-DKgNqBxZ% zrfWk6V2a!Y760~8WscPLDJAyxyLG3#-B{R;{;VovpEsZT6Li_?3W1Go{(!_!Rp2{ZLr=2oEiA`PKm~;QSBOB z&_IKZu2#IZvJW~cDb%I#3%g*UPlCzHo2mrAPrubKZpwCahTZEJd^Xx|C^=?xU0}EN z$b;hsLzkTSw>;$3+PAv=?cq*;OW186p$nz~`OyKGjnw>k+uN^INS{4E)G8PCw~F!7SBWc=G34~_T?ve2Lw5yj70IvbV+&{t z_+GyLzDE?ukB&@V;wxK{#Pe7ebPa;>X9MAp8$QwgG+p86UR3dAE7@L`0I(-ml=VA$ zD=Q%U+BGk{Sk5q5g1gN=;{oHVMzPJ>{8ods2Je;uq&Zv091PYTv7}4MqOW*&0&u=a zqKm+1W0l1=DEgphvcbFl@6occ7ykv_@v1svg||JP^w2=KIJMuk70>nOwjYt;{#hhm zN#J^vr}ncykI?cb;+st%RNfZmHd$v!+Qa`nieFuWXKxUFY$X%2XE()g9#MR3W#qRd zTIovhk|;E~*e^QZG=E!bl5B$Q?+pMx_N1Lhd>5}Aua_FpRANnsTfh)Slg5PXZTXbl9u%RPZ-s<|Q$?Ku+>nALF;w0q@NfR7pW~T2hgXLO z;;`*;6hG-6ddG_x#18LDg1l+a&gTgDl}RkYO+WB`J}l7Dfl8k<=t`#oWFUaY>;H2a z;z|7CRrq&-P+p z=*H>>6IYJjMF8Fudtf0xNxEz>6whC`x`Y4UqiJkDTVe-?-)JB9q}c$liH+L$D#6-6 z$-m#ck5+@+y{M#k6COXBWq2leV2~QKUrDa7jl<79`WdeF3|z7(yfViK>VCYp`hi?F zNa`NEjc1nF=a*`oJ^qn@)3C<*;WOIe;nV!`sV@m~{QQr2Z57bJKAx9-{n>tJ^wR3{Jsw>nWT6$d1nwq~ zraAcRA6ntq!KSObZIB?`XRBSKwS3W&k9)gq0Z@p1&QD3Cpo4wIq3XUUAyon;zx*!! z`B7XU`7aLo&?EAEp&WzNW@%s(gtoX4+ubPBe>e|RPfXx7AF_7{z@MJwSHuvKkoqQ6 zNR>#u+7?FKXq6S1KJcR7TSQR(y>uwJV02^ksTgnMC3O77i4VaEk^0ZYSqTC!zool$ zlq1}e9@!s;ylh3Kq@6M-pc7=L48H3h>p_xFZ@sS^f5av$J{}MNUcHPc@e*Ha%st-Z zBjDXGgW0VlW|hFM9Wt5}`i*td&w!GPnARkYYm+m6tZxWM_|&GAso*_C_d|WKEjm0& z@R*S=RvX>*Qqd!JdDl!Lp8pJ2aaEuwc~mg2yq7h*e&rh?(iufoGkx+6(x6{AVH z&*AOS{riM5tFD~*nr4XiP2Q|;2-ZASmk%>D03A2ykPm37>rt$?0)J)tS6cyz35=@7 zUxd89^#&u&R@cgrp9PQ{m|%x+IH5Bj6@ZuhEl7~yx6BklX1C1>Q6e)7OEQL_K@)=jLD#wE;`tTJmUi6n0r4 z7;K(x_0@?7z(?oWW;~(mb6A1SlN83ebM16W+Ei|X^0MHsd)!Hq!?o09ZEVnwx}kfV zI-b^Gp9;EnGi+9?R*g)hFa1EPwiNXz6#MH(*DjvS$+&$AU4OeDtOJkpz}K$r7{sfb z3xI0r2H~K5?sRX}!0QSo^nU|`=p6$UjNewvUdD7_;iG#U)9b6aYj}0=>)Wxf-KlI9 zCoeMc0X}&Ke=-=*8{|`0^~0y=ytO)*N6+|-mB4TCCWEfj)ZzCH*KWFZ(Ro%b{O0&+ zzm~Q%{x=>P@=UOM@kjBB@Z{_OBSr25Y*X?&|1;xRUxWuI;Kjs5GJVh~t`#eL^%+msQ`k|}uV z`&HLBaES*?8g`BE)F$?FDeyjBKv(dquS)kpZ@#|#zrZ1fCkUReQ81!x`uod9lC^QR-)MDI_zMyww%GG#`Vpnd0-9hna1a>T zdcokz%F8#c%(KGfv87%3Yz*^y^#roB-=2nG80#wo*XkCvmq zp9_X6N7u}lcA80xLsd%8Qw#Oj^I&H{TyA5#K zr%bGXvywmd{n@}e-08+^v(EL^8^|q+i=S2B1jO#J2*ktIGKw0)4vm`WL ziEX@;gE`XIOsm6SrO)(M|KGr%;M~e^kLZ{ozVESYZK(JvXR}~0eECX)XL?}8fdRMK z-@Royei>XBXC^a&c}<1z_J0W-t_Kk=Eji&-9e^gCh}ZQ*kqW zZ(B+DP*VA0t9v9?LVW|jB8}5t^wEJpj_>H$YN*-*P9I}+=Wwskm!2Wy_vnPjV$p`j zWVQZ`4Ex}Hf7iyr4Y(VgtFm$?PbP<}tXlLCyf_*?CQ=M)#HOqnj9m_=^fP^2B0_!k z6Fz3=fA#$$<+Um;%u2-esBZEBQ_wCDhwt#0bg$g{|H_<%+2QjZ-R+u{p#~cUg_3@w zH@?&7qo;Hxowi{X9@J9RP}3*0@@r&BK1&WH@a^~40G(lPbt&ccADxvu2~PD5QsI0C zf9%^TA2Q%8O`PZ_4K%@KZ(>BY%w`NeA#vn_gGUzVKgZEulMIrSk9f^S^b66#{OOGi z{_R`3fnQLTaNukKk65;0MR6d4BWBgtxr+l0%CeW|B~Yy7d-60J#?$J5k1vsP^tw75 z)PXA55&(L3d+EiJQI++`-v(3Z$w_*L>&2rJb5wseiAU*rc1ccb#n@*5(g6v49C44| zM=PGv5#0pakkmM@C%LF*c`P-wL*27f+E;(PQuYARO2zdpJ5Ke*0B&z&G80*UGMcee}Y{=<2#h8Q&Hk zeE!%9wD6}Va6djUTItes4@~}8^09js0{uq;o43zl*f|ETNM{hlBrg7dn>Vh<@6bw*igP>tKz~RYzaSJY4&%T z?K~WJ4hNt9b-{`@EAb`|{0Mip$Hvgf=YA~-Gh5*^D&leMPrYsT`;RYAUi?2+a?vq7 zIDLh^+}W@sWV?&R(*tjW4&CG9$c}x~Xt$!TdwWbaT-zKYzBSR-1lGTL1zN@V7+?EB^ zpIvFIi#PrBUNlLid%O<8?*&xsWc^}%Bujl41TxY1P<)zA^P_9O_QVtw+oZV{nrz$x zp>RCt9y^`y$u73S7`$*JH+(ues6P`grYE&I9lZ1m&G2U@uhU`p;E9&!UlH2xo8Gw@ zH+SzOJhP7qkh|4xl8UFFIlBER+0t=!65aZI^0y+6uRzltT@A)oAxGHWgsaX7(61%C z;th#pFEH{HhJ#-775qCHp&IIP0JiPWzgc-X8H|@VPk~unSh$_4b~>KldYF<**{*= z()^5iCVjo90`69r*4nZ2CUmxEav0+y{eS!BZv9p0hGU4=Hhnin8RPq-Z;`Y&A>QrL zL7z=fffEs7RB?0$LjSZUuHf14!+qgT^PlqxxkH%dbxJWaDBeoK_&mpN)kD=I zrV`c9hPQ08ODiMDuWCpihSgFEYvw?QZJ-KrFe|U)7UWD2U9+DEPE(cb84#1rc*mXr z1hbO~V}e9sIDkoM`f+`<;PePv8Cb8|3`o3LNq^Mc|E`Z|0|O^Kl1ZkVwSlfGfOw!D zJQ*W2&fsvM4i3S)4Pev=_&W95ERNcog5V)CqbdC2F-0Lz4GSy~iNPcsQ-Nb8B?>uPP(5b8YW@1y7y7 zRYBOfIJs1G`qekyhUaJ<4q#OlF8eq?kZ@f8vELWC1JsXG{sd>L9yuJuPAPxco}!1f zc*H&r$X)C{o(;WlWf*=BymEnEqG;Ev`MVjqec|q2W!J`Kd`r@FVX$MQd#Au5d z8s_0a?=JhIgKP3!gDh_+;GJwUS}Sw}O|;zVX??0Xd?0_u+4DIrvdP(Sa13IoJbGZo zZ?e}V4%e<5Xg^24reChCZr=t@@GT~s-v?(26n-VBb_0J}M>XAZC3q4-{_#KZ}kKmN+q3OyY~CI>hmw_ zPHSUrsaK%|^Ih1ZLGh9~N!o2jy*bkjek+SEJX2TDC@>k#TGcs$m4N7r087X3@qvR- z-zr{+c^vyqkDvN|@6ppvZ!(o+v+s}DIejBu`@6uR{?5dg>k@6I8_%PkUE_BnNRq=U zqvI|-p3?PrZPi{_1V^z7;?re(e6?gr@x*BV+2gxbva}Fso2h?n_We7*-#?q-KZbBB zmQFUyUb5}T(jY%gtvR}?f3u41M|=9=#Wv`dye^KAJXw;legbEYEiI$eKp@=#e0Si3 zrteSQ|M_Y-e)+On@t)@wq?^bBrPVfP9bP6kI+pvON8{N5sh{nBik0 z;RLJIAAkb~J&+W%zkb~ti(4i3XOD5BO>D7=fNW2~$lf_5rMfoIwEEGvev}>1$Hcr9 zla;or2ae(-D;ezNgyzTe*F7}%__4Mt^%(4EIAfJ8(ejt zxx3C6?y;k47!Zn$42FKj7Xv50220Q`P{04&N;J9p%Jc8-9iBgk7W|2JeU@HHe7%XZ zc%0U4K>ZN>icAJuxNR$unD)t`L8S#5XdwhE0u(x31__KsXE5bB=h z_}K`Bz0r?nWr6XZ!Vb5AfO)*`oP5TQ@r4b=gUfIJ`R?_T|NGCot?c={{Xz8?=!zE- zj$t+lU#?*A* zew#0P6nws=f}S37JMbYf2`u)eK@Ts2Oe zxck?+->J!U(DUoZ1=r2PJBoJT;NK2(T&I!&%ph^6mtcs&8plQlU(I)(tA|hgfNe7{ zAtNs=Ok46e99x%#ej`JbO2p8VJQ zp0kZVWS*3#1Gt<9xAMoN4IgGj=aIpQZ7x!WQ=F)Mdansd;yZn2_VX-5{NJt4d1m=| z_sD~s;2#TedC}X66@OpaZsWa`;Z1B>or+{Ku_DiQ7WcKW)rUBG-5VAalwUCU$X3vg z*ZLWLV19b?s+uuxB|ck;8-Gn)9lnCyqmb$3m#?4GONsh;V1;BT?-A*X|LCmwbhNg} zHG2Csx>i{G{iCmUl|`dR*x3x+_;^otEY9f~TPa_uDiBrdHq zj#mkqb{_v@rM-lDeH578$ExFB*?SxhFDuw>17Qm`3Bh@|%0*G|vehY1`WgPTcyy7W zAfZFQL__I>v5-cr47ZPYEiTp+ZqqSrWDBgB zmsO?`Xqx?0KPGPR6shmM?tS2f=l7Oaqk4cT?73hL?+rsv?Oe>U=;#>Q$&wI-L(oq zS({ZWrmp|TY1J;pyci;Ap7AF1acG9T!nI$~@X0E2BE)-~D~62A01dW#n57=2O;N(@ zDBx*p4v3<3s6`+Q^(dz+HMTqbt)kCy1XtPa4*bwpw+qotAq9ODN%;*FE4USs!NZ@y zF5rca1)!tL_YjGu&J~jsOjP?8cxw4AO1xxrqd^&x>>0<`ZT}-wqs7}b^*_2&} ze}aDP9Hm#^fAzIXRlPAe+v_@o%}~;lYWG`N!3MsyCK=>s$5k$ zoXyx*@&;i={HP3@no~;HtkiKN#yrmCT)x# zrv;rAh-`go?)!#UgP09Wx^Hl|6>+uW_En^_>lj+Mt9?8D+i_ayGM}Vcg_QnUUG(7(%x;)YW+i&DKcv!k*d9 zRWJW>+V=jaLogA8p3~0;%Rl_8z2N|U{1yn#mj!pe zr8)x8u*p}TM?lbC5Nx-w{S+R}ZP(Yj&O7@%z_yWfH`~nQKjT8ZG+xWMnn6muje1G`s*GP)| zkM0AC$5slURZ_9`3#L|b$`jq9-p(Zqe>7r$RkCga&S>)(gUMqn@s90P9@rq^H)G1% z4jvz9K&oGnkdl}baDYV%!NKpdvNKu)b>U4%4HRF#C|Q}0erQ_{bOU?jkTr0xS_y!@ z(|`rNcRjYC4;Ac5bRh}j^>O+q6NUEryZ3^T^bgRAr;l`2|I_toeAPhWdyg(0JL+2P zPbR@yA6+tt?;xwwM;*E1g}~k8f!O-A{eLOR`qzSLyw^P~;7W$@@>rdiM4&4{;Bg`S zAo*I|fmD7-;BPNqd-7QDCwXIagZ+IBOMV6Wdn<(CCBY+DwU3p6bT1r<26lE%Gq;M8Fl)O%fBOhLJ$h>2 z!(xbV{nS8B9C%;*XIqeX8E`8W^au3d3>e89ZuEq$gcBX{n_gAl9&nN?9=ZK~J&ydk z6@ILnT})}hiO=%E&zCQ+1Y@wRwqhSPXOE=Jo<7i@{6;uQ?0U(>+Q)zn{j!*X51DWE zc0hEG>~zHmeX2aYw2Fw1=~H|!IimrvDrA6i{5w9dM^<}QFH5Y==Ay;m!dogeG#xb9 zXR2LcPl6!0N$$QY0rsp6pH0NOI6TBiWbCbwjiu5jG{W`Z;vU-j8q9-px5Je_k%PyY zq0ZLffX?%zi);Cr%1nCu)0%u5ctjL`h_j3!SvO&v^#le~C2L zs~^AmpG>Mphr0hQ+rp(dl-?VRRW3XNT^r5~{2J6{5BM6FwyzgmHUQS0RAjoXt9x1U zTpLj`xLdK_8=`q+2~tVvJtl%xs-T* zIzlBAE0m{5kJ6nAG;F(AG1IDc{uhriQ7h=uo>O#H-lwa;Zro>u=;%y~pj&l}oe!^(>Vj#tQ+^|!8Ph9b zD~5;Or~pU2M;AR(hRAvZdYXj5YGq|oz*W-a?4%?tt#AYRw)qd{3dHc5Vui|6UBo9(}P@}@RFeEJd{Z;C_O8X`N@mPru_J8xPi`{CWS_4{}f4fF5u!Xvk0L3)j5 zd7k&ZC~c3^rtc>IOv3VyCPC;LUn;?P79~(+b^(9(&lf~{x`Zw2;cCz;A*QWQ=-%wF zb~o|f6E2$!FX1O%;}<+WtCmOYXX~;1O^+I%049f<~zcVT=43l*o}T!dCi(1>KMsN7ld zg2JB}slY&%Qljs*;5l3zzS8Ajhu?xKM&MrEzORJLz?Nw0cRy1W#KQ3WgUnbq##Pw$ z&cWUQwcmuSoch2z!4|H@j1~3cW48BEx9zF4v0XUpxCxfwhi3HwbDVDigb)5#Y}W^` zb3cz_aykqoxM?TBZ^cG1!RywHn*)u75bJ8SlOY(VR3{yr8imwZxI23MU1O&`ZJx5@ z3BOm>z-6F>~6R70?3@Z-m^Azn@>%lu^C>gK9ChxPUoSybC5|ey1!%X zD5vc%x~}e3X0X=Mxn{>YoL#-{2fKD_`J&a$KB^ormCJtS4|Up=2P^yB{mRg} z1!N;FKdK|^uS9yw1oB5UwQSx~v1OBwlOF^+l`w*yKm| z7GSKkZsixWF?&Qq|JNtSO>8HFAoYtzoPjqI{}Rb1o8b%N3+H~%hxOYbF|pZ3NM*+- zv9CN|8EpEpFyiQ(Vpj6l6IKWBaezDn#;Fu-kn87UtOfjXfa3`AWRLC>^csxvr~cI^ zDp6oj(3yYR<7buM-l(gO?glKiCjfv?J>tQ=YwWTM<9&Vg@VHQlZUKDPQUC)MtB~Ml z(5nxzf(-u*XxWMY#40y~0Y3e?L0I4FowtRpsrYeg^ZX7%^^blP$0Ykc0jtz0KqeuM zzYc>o1Ng6AaMc8nzW!%8K6-nffP4Ne9n9ZKdRjI0qLHznZ;w3Cli)01jPC*okLVfD zTfNjcU^w6z{Uebz9YPz-SNU7Bbk7TtC$`E(==utQ-Ln#5pW0}@5FiyvaeG`>@a8ys z?y_7&>O((#=18> z!>>-Qs1dU`iXq1*u#`bpT9Ld<+|`&jd`g4~fD>_bs}t62!D>5?aK`SF3=0?f?UA-K zsH0~ThuD%!GVyjrgDf<|MSo?01D@Gm8=$LDe4HGcaSs_RyHlro`ceY`kM!Jp!f!tw z41AXivX|D!R&Cg~2&sEavJ-I*o#jI$I$yQo^HuO(_U2P>C1e{`=uzmO9zzQzCuNYM zuIHreOZJfQ-AAj(SC8#=lb(bh$;6OkcYM~HHmLpDfUFfOiH& z^O@avx&duG?FN+iLyx{58S_0dYvdUIl{KJ6pMfvl;?LV2cW3iof7lzUi(&jG+~Do; zc>{{I=?=b9#KGyjLqc6Fhr1?I=<;}21Cp`!1l4yedAS5N51fwhRhPb^Ps>(X8;l{^ zHD{fMLua)q`D|}ne*FFWw?y#d-ygnCw^uO8so3~H2TWE~v0K?l=ehfCN?PM%a$zIs z-b1TF_Q+`i5rboV<$~zEHeT3Av;mw%h{5}hY;&tzCbvLVMx4$rtsI&QseSU0TzdQb zbpz`5RI?WrT7!>I@ES`yT^v)K4UQx}yxFXzi1CHVggpjUTS4w0?)05J56_O?@kx*I znPqLy?HUlz(}T6v{XAO@^3z})JSFH2#Oa~ID5B_}eq;Q~#`qp};6)dFd%4fY&utI! zM?6)q`iITIi04}!6JM+d)-qq|u}*_r$=9)gu=?D5lw^>x-q9sAc7I1S1uKOJy-`Cw zR@Zg?sIs%Y@Q^_D#&NtgE(7I^&DgC+O?#B?x;C2hEB%w?_FJsP=C>Cbg0pw_K;QKl z;)hoy2~P4B?~+O%xYgv7d(hG^GAAdpJxQEE^bgM4eyVRij&Iwec(v_5J$LPOj$P73 zLI_^kneHqmz}u+k{(XsIa`%E6c%J^yUZUBym-Rqu_@vX4Lg{MYVoI&m4jlETRwvOG zeWb2aU!qA#B0POpjPhUkDDmMx>(l%H5}k7PCq+iOXEr3=n5eq2E&9CfL8O(pY$_PxjTCGOMWg^ zBgss0`HJLkFXPc4ev)NY$vtO;bZ@w6=h#b4hf+ALg9=Fczp_VRrQ`74rtI-^b7G-6ISo+! zy03lsu`ilHC)ki{8+#;g6O8xuVV($G9~qKgi|62jr+YFY1tAx7k_laB|45qsMcou* zzMwW{C*4#hJlG7D5&(U2IYbBR!3*VT@ATKG5t)>j*6G?RHg<8c4+0EYL5ANFq2EyvBeLv}-!+hph;RudS3|41(g6ASChl zTPr&lk_|}JqevbZj>l&vzIuX{!|SnjOtykW!tRhofl?RDuPjV=_}cHTbsrBXhk+DY z;6I%E?(&L~qv{;<3qf1woXVPrWcjJ09pbXY;1};F@uj=s`OPa={)ZsUs;A)#;JR9%uQ)k(Cion@XYP{X1r{d z!JQVnPthE!8iuvGB*?j1J^#AhAKy?KZ@Pf@{?P>;&=L#3d6LZOi3|jrJXLk14&aACaE@*J zeI4$lv^J97V}<=*LV&LRZuIcs@C79H(Y0(#S^QKKZ`s5;>+spYY4?@A!3eLFJ?+4; z{x+R=pKmRE{oZ<;-Qh)zteJD!`!OL}iYQ25+*oFF`kqp5J ziXwgbf9Z%sAnBCA2sRy}1KTGrJ+UeZ4KOep~C{D*Vn8u%K^C2P3F1L!RYl9hB zwuW1a4P2EG>{}ms-%=s|PGUil6%GF^ne()jRb)49t6Z#D!gLAtV#!EOe#b`Hn)}*a zKNnd&gd5!6Fv)DfU9#YAo7Wo{<_qnmSe;)bcA_|V>1II4QmeOE18;*I&+7-W-TAMP zoBl+jz3`6CB#Q>NbVouFeRMr=XRwF^>J({1-VW3sg#@nnt;`rb1 z!V#1Dv%Yn5!0C?B7QU5zYm@)<_Fuhd>5UEiqXCb>Wz*W(fv664FtGg|9{pO0;dEq< zuv5A_h)f3bYpZysXWTdy%7RbziZ#hq1AUgB&{y@Px6aR z;pN+8tMC7jZDKvYuP>4a^2W^R51zo4->Z%m*QaPB*?o=gZ0_idaZv?2_-}=+#(dlA zcoQw^jUM+Tcl#|7_Yf>EbXiQ>wV&YtA!B-z4`VXFFF^JFwpVtvvvue9*>u@v1;_OwyYEj#BvO2-;x@8EE+!D4|Mzp zRkP3eU`EJTEQ{{z=S>)6qgYZB0@_QB0&iD=jp%g+5T*HJqEq) zu@;+e>waZDv!CEl7|z8^WsKVIzAwi!{NQ-CiB)j_jXyFv;I(_Ty8&VajuNAiQTsk6 zBB}BipmXgm*mZEioEfndhc+M$M+r%9MI(zfTHV39@y`zc2Q*k0pH^rE-Euz|)$!5! z!HGgXFW9la2}ihp-Oq-h*7XB6@+Z(!KU&uIxmU@KbKxjZ*SoSdwK2nUjj|qkov*zV z=)AC``spXVFyK5{<>Qp9m4jrcc%h~K)xeJiiFm$5WOd-?SYog9IR~wyRfU|rWXAUf zo|*6!^wqJ{sqB^F)xqN=-=DwaHJ*?80Y}*6)=B)@5p0)+mjeC3SKplKk;}P%D&TyF zBEBmF?C&F4-EiNH>-X+wjDO+KmEm*MyaBo4=l67C$PFJQ-PXAt*j>26bn|xL7wrB6 z{;ir@Yo=24cZ5)i>!M(bTseqaIiL-0&hc0K?$37CCV8G_og5vFkIqxVC6^|o%UMNr) zj;k5xn=y~ixutZB&q5CvXc8Fv9UP2wBH0}-XNK)uIy}lu#4jK$5XXnpK0I{tTGuJF z6@S>x*k0Rw%(D_j2Wjm&_^IxxsK;{BAWE`HqI~eJ#L6eVEU*)h;gOamih!GpsnyET zHg0?!7ud&Aqzw#0~8GVmC;$&SND98nr_qik?D>sbJ|WVU{=|c>C1ZAK zrR5$?tZjKG@aU0$3qJ8ZmL1+WF>q+$(?%t>3X#}^4f_&rgk2}e2G8MGpX0HSTN31_ z6^~U2ot48E2Y&G%t{eE-F!}VC2M!p5JpHnjgljX{+dHL7#l3qh)>8?1CD_}F)!6}_ zRgVqBZL8#iTXOhYcK+-kx&+`>Ys7apvOxqqYROX)Yz1FEQE?xfpCxR>24`?KOoJi$ zS<)q*85B;I)wj0gSI-(+z5hHL=VPsu*rw^>PTwH7N33GDzW$;8Zv@hJ9?7M<(Jo>k zd;Pfq6CB?Z^uKB4nAMYX>){#@t*^l1aDlseXH^abD6U|8;oHsp>G8jNq9da*aBKZn zx8is9+UqY*Fi&Psg>V0F$0nkJ^S4Xmqe5&WX|H|d@y0$k{Lay}aE!m3Yz@Fk9@Zp# zfm?F>nV#`2l6I+PG_kV^lUKN(Nd$T&!JF^ld+A6;3{*^dlGXe6qP%NRVsgb~_RnO` z*QPNV*+AbQX8S|V{RZTRsgc#tGQ_zZ^Fw*KNaC^2kei|-qhS9r0v#M@Vi zvs!$aU$SrKi}b=)Do_B6&IV~ZaDz4aLV#}K+l%>@@aj0R@fmczh#q$KsugZV8V@A` zj!o6#WQ})XKh{ka@rXV}i~h`bpzwe6+2c)T%}>zBhHhN&3_?5TTpKINzh6e`VXZ7YN4c%F)+kF}+Jyr~Ape zdi*+?>9KR$4}5L)6(7AvXO}SGf0K=J9q94a(r4-S7EMGW;@A&3XZ556;nj9LTl=+V z(&{AU4&Jmt--S0ziXbQ%?qyhb9^STHisW>>*dcwq>yri!N69|;;2o*p9sh5i@Fl;( zL4P8#>o88z#5qVZ*P#fXrTK4wi-|pgpBwMw&W4)v!d#ZGr>MdljIy9 zsy^RM26Wm1{AqM2NQ&O*3h&t~n}`oLUBidFbWpNj@jsa8n*wzXfd73K;-8Uak_9n`V?b*@maP%6RhhW{;r&wvXK69KTi(_-*(-^#~TWuHq zUL0OK$v*{yt#!FD2Lm?1_aq7EjPh?p32q;Z7&eZuNBtRYs!qzl%1F*Zai$L~HXNopTft4B>1im}C7 z^c4g6d}Ef-8cVv^aeNWo7@NlP6H}cDN;-7`o01z`xF_i%9%Sm!kWzxEU>YJYSp-dGb>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D|D{PpK~#8N?EUw@ z9o3aK4$i+bzt89Moq4}+JKNo_?Y7Qd?XdRRtJYIH)c<4izZ#83qbzie{=w+4 zH_cnpa7g4WN#`8BRis+v@1rb<{}dX&25)7W72>baa5U-O_vCm_I2#A~v z`YCuQNAg4z{{TE1q$89KHBBQ_qz4g2K@$0K>h{4PMmY5C&@lqr2pkiwjNCUz1MrBvD-Dq>a*5xU+r%0tRgi3=4N}tEk7=JKG z<0J?IH;lY~KiS;ugQ5S^UFI#LtnV{dMJSk*Ez3&^yE`G8ijVLlqPj)hJ0YAHsU9yp z9E=A2VZS#RrqQSuZVr;oVX}$tfQAU{$Te-fqj#E}R;|;jn_Am<%><%I!{Gq!o5rqI z-8eJ*$}>lvz5B$A_pO|Ky1wyBXjeyrc+l(hp*7T-I1JptccKtYjIOG>r}Vo4d(CtM zfl(C{Th(5vP%rX*+vq0|&Tp^jq^bxHBHwCOHhim#HX3dY<)o@|M(QUT7n!0|I3mof z`fT*kFflsy+{(OfX~TYKX-%V33tamv@!h9ssF>_amWXd2XpG`WQHX_~6A zs+#B(%FZiE5`kIAjMRN7&*mVFy5+@sVKI#zCNqfR#0x{qcbaB5uQfOHb}@9cL5wEr zZ}wnZEyrruM$>oneiCO@?=!_L?QMjU%m~$nEJfPLROA3bdzRjXiKNh7{lHFAe>h|l zh$d`n;>k~ltk=WsTj#g31i{jUuJ4#}=)#gq<@=k%bh8g#3tX$yD6Oo_9obkqvO53L z(E|@HpLoIV=2N%X^YtOrev?^KUo(Rx?Ib3k&!nS%6r$0PF*Agow2Iy8D(s9ZfGWv9 zAW<+B9)+eTD=kcb^ejq=f+C}zZNmD&_@jHK5vo1vCwzh=VQ6<I{mPOVTYu3B27 zpL)Y#j9WZQ(>s;W?~aDS<_M3E0gUKqnD*s)ibqToy0GnN6leuBOg&!|Lx3>;X&m*U zxEDn|1i*Nd3#W2vqp_?ZXxeeU5KKK;=3 zpLyWAPv5ua`6<@`(qTsT!Np00sQr|T$KWxZKlZ`C&1ja;``&{{>k zT{1cqRK(Qa@YK;;9kbFPHLe+WX5d>P80Ocvy1L9taPDu$>hFdS9$l$JG^%GU2!-@i=F>r4fcwk_dI2PnA z5(AhC1II&~ItIWJa02ojrisF$z!h}9b|Ha9k}SN_NVRF=!G(o}fZ@!FYQcA-#|HN; zyKe_gnqXXD72blr%9|D7L052hqVKEP1p)CP6vLHE;xq^&H$s(rA%4<{ALD?(MQ3*? zb>^>iw5&vu$Lq`nB7)z}d&GvQlPVY0ucruS#_o?e`5BM%qqv2EHim=#2u+*@DXQ;V zo~>JYs|y%hFL_!caoXkO<1amV=ZlZr`pT2Pc=d^WhaSD*m1lm_smuW{r9CJO#5w|` zV7KBMr2u^vtqgBi9AY<3qfCbfsfb-!Cl+1Rn?*(E^c~<&y5@3iQqAlqf8ggJ4(&#H z!!AXaKCjw1DwX#(#{H=zXhs)3CT#~pyJTv)FbHwLK>_Vha3eSkr5FAf0}s3(#R z+h<%1+#f}-81x`1q6yEv}y{n(30nl&SilyMtL2^3{T0Z~QL2sj~)Ji^^gWRwCsd3Lv5 zTdm~Itj-^qJGno%^h&EdS6q5!ec>pO#%Kha7UD)}7v_Wxl(h|$=3f+>?`UYvVrC`h z0e$smp<7$SC6;4{ApVhv!WnC+B1)cu1<)n36>uBlVF88d$9&%LF%h`E$Q#1^CLw+X zjv1M)p537{sr0QS~fwY;Ub(L11kd@jfvRWN!tAe`r#cr@@y!3T{z zAMrToqq|Y&Y;jnaK{^`5!$CCc!&`9E(27Gn3beqe8r7A?#+lmc47jp(o{(0%hLsoOK-*fs%vkx?$3=?DJ$bI);_wfgB z_|*M3e&$bmKKDJfu=7!PAneCjbSA4VX88uI@PI1jKnzqpb7&f&Aa6USq)~@#nI)MNc@W)>{&oA(OpxZ7Xsg6aZSd! zcPtjRm%v@A5nsbg04zw7^+Gri+#C2#-~+d0L%stvG`yV9g|F;!$XAbCJajz{^7D4Z zD9^40_cTgkNfs*M+d#i)(>QRT9-(W&muE#Jstoy{7`w0(9>oymcm*2;1&-q&jzd8g zQaeN=qc9LA?&^`18gN7@!~B$C#>CG()Nv3G1_07w7`i?RNx&B3s!C@EBO$V+ycM4O zoDS^Da#am+Z7~JF#51KGv)qD0vM#uqLMtE*xkZ(P&ipQn2%@WG6<~dl7H|leDe!-i z^x`DxrvX6VuosT#n?}9ZBL=qGZnxCToj!Ts!9!2{^2DEidFq*4XP&z88pbW5J%wl5DhJDx4tA$n1Y;O+2#M5o9ZglFd z(dj3sK1B;Gfn>z);T977cR*hxr+zBHrUJM_!VE$ftUfbh0i+E5B*u+wEJRTyWXix6 z?e*m|FK?`#(z^20$T!6EQpC@ox(ol(U;zumq$|oM9peQ|2z=;AA-Q!AjgNj7LFDbxq zgr-jdbC3YD*|y$n)e6OprPYO*+{&?1Zl;nu)vc}e;%?y73QNaY)pfLDkfcyMQyXX>0628*z&3on)-JC! zOUs^7??=wCN8D>$opvMd*tW>KzjKO)TX*zDb5vhr#DuQuPnZ@c=E;N69+ctj#O4o004K23ubM_Y3B^RY}s|+ z@5Zsy?}f-%-tvsXz*wI>vOe=t$ax>^{}4tTI0e&<;0>R>XV0hZyZ%#; z?ES=JH+<^hy`Oqu&&TfF`_Vt{{p9cWo`2|xJAAzeyD@oJiY8A7qohB?5o!YNr6crI zB#lR~sn<=tG3@uC;LvP=%53lBmiSkKN9Fm+}m}{reoBdZq;fP zjb;u&SF5dQm6dK~p;KAtRu;RJWv#YqG&jt4-tLxMJRbCxZ?ywQhx1J!7kR*PY3Rb; z1Iz;h?}0hmImR#(|DMy5Wp?E*oWX!;<}HG$G5`+-*i)QJUOY0p5Re{T!icz<<5%0$ z$)vF>?<|J!jyPMq1<5jyHfF-t46FA5^FlZr0FWsVS_G`?DCR8j0MAiZ!CF*}Ws{_U zK=`;8#Jinixck!(I`$nk9vg>neL~<~h#H9pEJ$qYJVzRiiyV`!wrem3L0Fm*tMRRADA1d0wE90l-`MPYW~?A5?o z3`Y=06-SlRw+(m+0O}z`%F#;)j4{9^V_dDz&pY383~< zj9%bd=nKAQp*&I~l*9!@=Mi=1dkR(`9<7SNS;wLY6UOZs%TJ{(6XoG_JKqdF-FM(} zwbamrr8jJZomx3}?AQyxJNneVnWt|){^YGkpSa`r)3+aaV&B~1hpcvaF=cZQfZb5;CFj9H6`@g3U9@--qyNIUIj*7;3Pzf$yQ!qz^(=rHpIlNV9i|nkC@WJq**FZXATT{ocU=wa2}8}| zFbI9<8?+8}#EpDLLoIs49;YlLqa=)Bmuv&i>rSiOZWet{8xGM%c(MnsqiI?_^j+jD z3c&X;)KGK>^nyX0(15ryVZ`$t-LW(vK&QQCwN~}|QoA%)+n6b>9L+Bt*;sfvw|KC) za-_0$w4OiNES#?AW-4nZT8)Zf7@q5(glG)vHk+KiKy(l+gf`)?eqfg7XP#ePcsU3R z6ba8|yIop6`NYdl>|HwgSSNpC?%*Sj-toh`um8+F*L~>zYd`qlbsxIxn)m-<&&MD7 z-M5ate4nLPQ0uH!gb*MjeG;et^!srtFN@K|Y)5Z2%D|1IJ~|GxoqcnP#&>6ZlW)pk z#NyaaVuyoPBD?q>9`o@IyW*+d^?37Fm=#*2VUAqJ53jiDiW*pjl#=-YM zAL(%*7ie8(t#g$Voe)0F!zlF8I=<(ixgDov+bzp#m}Xtqs@-n6+bMBYU47j^cC|IH zi=TNE^&Ip)N9X7qy#*vj^DUq(x&JiEvJq1L3Xa+D*GF>GHvA^&7msHK;6wBx&YmK$ z0eCPwj?v(&(00ja=81c&Yu(Cfx4hgb&vi=R`A(VW7nk(bhSezo`g#VTFGqc|H85L9 zMxh`gE@IJ8LAwdVxuR!qHY@x&6?2-A$n?zZl#p@@`i^t-k)5oQe8bT9jq%vmIg5#S z6{~U*6R&6%hrTZ$}A#$k3!e#}GlzGFP$Up30)JqSP}7=bOuCEmpw z6^}ATzNl=*&}!&R1Vrrs=XYHTxR-+iVBgW;gn5oe*G(%dpLp_>r+;ze@f%-#@|IVh zy5sN@zc~8m+gDHi84#$rzF1gas+Ct;^%eMVo@0cbCF|CFlz|gd)ueP+QoVxzcXYc+IL4!BA2rk^8>4{@<Zy8gDb9nUxmYt6pC+S_I`} z-%-prq0{z3?d(8AoxL_;rC4sXGh_-mqh$xscJ%#TXhlxDQ{B)Tt<;OSi~vmm=%#hF zMm4atQR;2>@C0;HKr&y4*c0CjfwG#bT6Gc6@m6uRzA;l?IaXYHHNSi;zrr>utHA;&|4?XkSL(l%Mx_TnUTfh|EKGZJbv5aE01)F zr+QwOY6#gV-Q7tz*&l88(5C=^#SrzNSlw>D+bTz%0gDRTCGUnN3cp)dl8z~iKo&+) zgI+L5y?*MYF}xZJ_!b<%z?yAKZyH)%LvL-ApuhD>zFt|cS5_L;)mCFeYZpwdVw*L` zuKUEseB8ria?n0Q#VPs_i=XwmEtZMg9G^&%5EV@M=Ih*q=W}$9&e2;zVg%m;%98uf zq%5bYCwKPy^${LHe4xr(>glmxPQm4n2v_+6)o_r?)?A|n+{^cxt%6qH=vG(T<>hv1 zv0Yri!%}#zU0Uc=mb$eyt+{TtC(ySOx&{(~iO1tPk+Hrp3e7MKn1FB$KIuqJ-iyB$ zPeq<$_#zo*$k4AqscGn|Hoj6Ai4bLH3S=dUH_MRZ)XRQ)JX!iwx#tei-e^u6QkqIUR-hfq+wy~U7T1`|ur7+Nz(6>45+_Sk|83%`{ zLVUXvd(a#LW`cY!fKOu&?lsy3fZ3=opE>gI;XmJT=!st(dHVKOpZU$=tB;xW#n^2* zR=W#CR9r0=mYU_YPBpJLibktEVZBwhjkfPvP%whNrMzJc9KxWZhv z%OXZ1a1!60){zXCJ}{akqgmw)Rc>6gjg*;Eq%0mzDk!4PFbxWL0PQu~^>S_na2=pC z^1G${qSH$p^or{IolT0k%Q#6L*X`=v zCfLy0meKWW17fGNIh@!F+-4O- zSGtMZAcTOV!E+f#Q7tRwR1XV?PGL6B<*P30I-8!ig4q=i;DOj_H&eV!)!y#IYIU?(EUfGdC zkT5QBp@fP9NTi-?L|f={qcrg9g%!I~=G-DuPmURJ8vScfDuf6sCZQV$w@+F1EvAVU zTP;s08cZ;I2WttonSPyXn*`Xz@Ie4}Y%~4rDU0R*VExwvt zI9OhNwYG7*S(wpl^G;{YH#S_W?m8CxFV_Qy{eDb)MP*P$+DubU3&R5km0-cgTBJxR zg!Cb5gd%A;@*qi@q0X*C8a6CStv%v@*ZR`9QA$A0`zsvRzD5!xRixRY+f|7 zYGT0iaXD2oqSI$F8)27>Ri@}rc#`4~2GQ`z4kh>fw&%4RyI~qtT`PCmg?1~~s^{93 ze7j2SR0|U}niad-aI~gxb|ObleQOZ9!`SD@#DK31RmSRg4*H&>b99d00usCT7EqSl ze;Q@k2xX6&?at!sAjDTL0v_rzV@eQ~w4J0>{wTj>SO-9_w+`cN+b2hV5j+vtoti zCT_&poH-WTS#B8*mrbGHZO~UiK^bbEKwnw*%oG4=a2(5FC+{eO;vI3OIjh2UR-?Y# zaBs%G;+TWgaEu}}1mdfDF~RW&gRGLxaIcD>n9*>FL%!L3U_w&?`BE1_+dzdJD1R@rC$qWpsy^$DchL zBMZ3;kJAxWIZCqIqbaABWgh<;`*j(szpw?<4BrK9v4eq80TE;?DVgaltKt=hfeVb` zdulGU8=?itxC9mA8xZJ;RD_5~l4ohrtjfvG;-o28@FAN(hjU!b9a}m5+|r3B%Zmr~ z>VjvKfQX{d8Vuq%bV5h>^oHH3czPWHSF0gxwaML9wcDy`?Yd&4+XTw>WruK13SeF0 zB(%YsBcMSvA}WQFTd0(DMsBXtgQLmydHv0P7M73G>Nn=r-0mVW<&P0;r>9}^wB6qTWIZ4H9ucjKh>@*2eyWOCookhXCL)Ja+1PM zVpTF(LC#YBQE!O8>NeZWl~R7TQCkmu?ixirAc$^U?VRxXFfv0TUqzq^Ru-J+iog(mE)v~yXq{K1<(+oyE00*m@Uv{-B zjH>K5u#<2PA??)Y?sOQHSCmPGeOh((EeilfJCeoPOp1php#x6wmfc3==|pgs7#SSV zDC)t2x^g;262;IkjuIn5oR#%RNgAQ2rM{QgCX^+#+IZ%cbEm6?8B1G_oR-_Ib?fWp z^_k_dtmKYXHjY--XP{BF+-$S7*r~4IVcn@LY0aGL8*$>LDezSQMFy&s3IFV6 z(x&)o!k8D)n%#O{Zx*a}Iq|xV z-aswSLEm$9j?U3rK(JnK31!Lsr%{%Tka{qKvfr3H`+zwUfAX8O1resEY39wXBzp__1vj?{!}9m06e!1`gW>kL0?XLR%?C1aK^xb zegixPWCECY24fGE-h)DY+ZlxvFX3!P;kTxbW(YIohk{gI6IPk-0)3U^GKRG~SV?II z?}(!q4^x%exL^Xyvl+{9fcUCBR>OB0)Zr4@B<4I}$RTs@Bq?<-MUkYbNAX|FYNPuSrE9kskOV!8qhw+u_H&8KxZ;n0+&`G z$bvSdvD2u`w#tiX;Gne7W+bOdt_UTVChBX}j=j+)xsM(jI9dnpe#y`pNoe;|F9|Hq z>;|?G2X3EVLV^QLafbvBQ{R`ud4ao1m^g||`kTXKkob{jSX#YNUC*!2tuLP{t{v}G&)D4!SFZ$i zx1U5z5>^c+k}tSu=m2I0!`Kfj%kCn<(I9fP^4i>yc4cLl!gQwrI!fpxBbqp69wk7# zgg>&MABuvaqEtB92fpGkGE53#TIAY|(rWCqS@PXT>iain5>sT7S#@Q2nWIc1P^twc z%0*`vW~tB`?78wdkf#Q1!q~3DGOMbAabv^{`Tb;^luDLk7##HJbiFu<=DpR@#6Zi;`-60*#nES2dc$WT6@*fHaxr13r$Fu z+u#ktQ6EnSZ1Vx811$wz>!B}g4w69% z9&Yw*x0zdeb#?A}!z}ejai5z45LI$UiQnz_EYZE4G%f}M$aZoDO#qk1)Ecg>!LClq zDHY8kD+`mo6XBB_NEPMhJ6qMY1p2ZM@TDxDPYT+r1f~czM{+zO%)6BIz~i6zF%6ZW zy_`cd8YbL5yBG8mFNvJUHv?Dq9nICNR=a34a^2dxuUBBVk-|CXdydZ0IeH5yGh1(( zvgH0VDa%RhwW93z>m^uUIydqxpZMr_Bm;H^+zN;`SA%mZA2h1!+|`-Tw_ROomF648 z**f>PIHkCeJ3WTJGU2&Zu-jEfYX%DX286zF>jAyEkafHf(HM(z2WB;6O*n(TaB=Vq zI*Y|y8hakoERdK3Xj{-%(C^vM7fkfK1%1ckgj>?sg_W$%<{i-#<2+LvdpyVm*`ZR2 zTHGs`2gnBj0XbYE3qMI5!7K%YRoT?N6IN#?#a2I=GLSQTCXV-dy=>;iBL5pGEW^vY?Ra8lb65JSsS#d{B`U9ZKlZRJ3iBrSckt%jB(l z(RVoDsa6pKYM@Q|^2j%1-;6vn;x=H4b{y+o@0o5}(;I2z6E#p1_>Kv(iXs4J$CoWwfPu|U4gH#n{UUqN3pU}R#hhgjp@Tby z)oE1nE4AWkyS`B?t+eVJ?M4AuDDX6H_Y!*mmXbK!y#6Q+?QXqQ$%nozYuMEMLn7PE zmSytZA{aYH=%cHmRyY#>^%3Ny6lSNkJ`ck}7uRVS-J)x^fvlu2(%j(>G+Ei1FaVl@ zkdXlI##Kljz}`06omNFYO;qumHi|t+<;z3#Sdssh9Z>cYC4!a$V*-}68}o(LqrS-< zYti{}gDSQnsS;~OXP8bl4?MleF9x{)xQ%kBS}?m!bY!^J%uaZa!c^E+w_|oXh==Ud zg)H6e#CoF9C5#*GZljT3Zsiv}qXQHy$XT3nB*5Wdrh*bsgrdgzlHbn(-7sopXgDC9_OTrtj4aBj4@h178D_g7!j5X+I`JrQ$d{ zx*epL`40HAjcIt4va2qFGr;M->-iq%x({TZbM`DTQ4o<3Q_6Ayu?a-uXw}h(kcZo> z=jUI2=B2xS^um3Y7Z#sPqBhd*aa%c#dZU|C_gUH@P~ZCOtHs$viPr_X?k7FAKNS}} z+=lgn=(3DRK1myrTdmrmh_mEkp*SHUoUO9w_@;V^Eo^iM1d1}X5eU^)pGQze9&k-+qtsT zD$X|wXX-NKTickyu{j>~?NnDY=-a6{dfm5LNQ5(NJuC1m4*$wdPTc#JH8KEL-%=1)ShfpA|2D$nMDd{zh8LEc8gb>-?Jg2~t5 z9pX|fPf1**=%!gbR~eN8Ko#6LfRmKOtW@MD0KMGT%Hw2gfN-v)ni|;?I88^Bm=ms5 z_ViT`;K>+uRxn1(Mie=g2&qOMq{MAA)OR4sQ7_@NWPlSuU$jLpbOB=FyRh)W3@cWN zpUpBCRG@FR))z9w8ORxsCY1K&Tw+1{s0&1MwyuJxsT9#!M6tmk1~b5IWMeM3LvUKc zJAR65wzE+bPvVTDk(IN8I*PcUTF?Q?lV0_h*>K9O$vE?DaF=pqd9REfhw|Cv5Wr8q zd^^Q_wL$epTf}}p3FK>y(MXh2Tx9rg;~Xh}DZr$J!cq$=5~?C$y5Yh@xN?99XmW0) z9YsKmDc}UFi5oL9^FL}X1ElcQZL=E$b`L7CIgFFAQ7c(mYm-|12vu}R6-k&SLW*=t(T<+kEUuks)t34_kFnXBvKE^9 zBPWDK!3fm=wxiH7`5oX&r(N|dy)U05&gzS7B@YhX4%p!GDPTxd4_pU7C1s^8h|TK3 zrxqXr>G`hJu2(inxkar}NCN}VTykgi*`}OJK&DmUi$WSha6d`iYfHx~g@tx)!`5n%s}DGXAVKlsAhAs+3L@qX ziBMYnCq?d~sKa3p$5!YYY3vRMzSS+|mycUoX*3M_anuW;vk;WL=Gf{BC<9+&MIoLM zv0Mc)0WKVwB z(taAqSHyw=zdw&hQUHUZP_Tlu3e|$;J7954q)V79)|P!9on><~-W(tiSP3h1yRO+X zyX8(}wN+bbl$R>``TXkX^`)8o%9)L&Q@N#6wZd|%yw)tQwJMzZYP3pPW4Te{hp7@* z+w4V964ZClk8E4BtghM*iOM;)YG`^TxDKA36NYorfR2dG_V|eKWtgnL=e# zSR78J?#tUxStdUihIV`P^nvoi$v&RfcqE{}{094oQThd-gL+YE90~v%_@jZ{b&ZD8Epw(#E2lTsWrM55R$;D@lOf-Y zG4z$SzAafnB->o&?M~UzYM#~bop#_7{RaGc3ct$&3>F6#Tu%g&(2lt{&`H&2T6S>c z_P{Y15W?$cJf5-4flXPp%N4C$)VeDprrOYJ@PCtQnWyik7uMo*ci3V}Vf-wag zRbUqe_Lw@RL~bHa^}+&y5diiOj$WWX#se%S?mnLXa0|An>Es8`lT>*86JhmJB0zv} z$wA_IbNnACWFSS}2nZAQt9c69&uv%L89CC`gp?H12ZY-I7Z`vpi4s|Sj*6gOoEbjg z%K{())JO(n{W#mI!~t%E0t4P>EED+UBSwxI1yTb+@Q{#;k{+4hHbc&e#hZjT3cp6V zHd1rtKGONjB#;qLp=T=B4(TCnP2zpTH&yI~U!*`Td zJR{uZx9fS^tZxnh(oLh=@NJ!=&A=;G7uXM#9RRn;?UE*o1iyXM4>t$?Xb=p09{hFR z?b=2|?^L_Zx?^^Hw_}@C*KUl4YGJB!QgIi*HVj-EdYb37Y`tnUHuT1-(ORqIPH!w6 z@77AbY4|o@$|Sz6I1Qks{zy<+Ce`t#K?8Kp9{Ma1C&z+-eusemaGp0E%d8g`?QSu2 zYH83Bh~63`;^U$`G;@lFy}x8ZuQIb?3&^!0^OusyWDilaMdOjn?c(ajUXa z%Doc$jR9xu<1_#&*YQ%hvvx=BK=_`_y{vbdrEaSX3)xRO429H~^EQGE+50kJlZF7x zuF*wl(Vf!>&B62uVF9nuOg*$-wNqa$ZOk?*Yre~IKPWaFeRPM+tZ|f5*)*tBI3&x9 z!X$#38YSr{TUCmy&{)+aRX+lr0;txsX1QKiD6SkYEWc7&J<_hO2o4E{+(S;e=ujTc z1NMB+4}1>PvudJD&?*_(1Agfb(8WyG=>pXQoJU@xxOTEpS%HFaTrxs=dVIez)eO=o zu&;e!F!W#)Dr-~rCiav};5ZE=HHr+q(5$ZYBIu+v)i|>B67(q;dzdwOc}nCTrBM+3 z{L)Mi*+JxlG1!e$FYO1tLDcI8%CX|=tCjWRt>TUOtmwhMZ5qg!9=R90HWg+_i>f!^xI$;qg1t2o~-FLkP`h-tM8W9ZxT z9r?!H6!aaV-!TjH-IZlPc#9PPR-c4b4A3&+Z1XA{x3fUaZGclDH#kH5b}>07G#$g> z%sV`b;rzWWmS-Wy5>rW*Uka5kMe$=%TWfI@bI4Z!Jm9N(sl3G;C*TgfTO;0E=r^18 z3`Ybva(qT+@W%YeDyL5)4v-97Ue5jI9=}c;aEWi=nvrLt?!zSFShS!)9D#ljP>ht} zMx4cPRC@%6J=BN;zhD#_sD^%gAC3_htOEYQofKDs&ej`aDxn;wG!tTnmj-DdfM4Re z(XEmIncnMmo?O~uI%IU<7(ozeCOR3xhCl+x3>^yr74{v&bHS$i058XHMXLPnh?q-}PLF*@+O)Uhu*@jiPHcfl<++Y@^+6RTB=2 zrO=rqbWNk}dS<^L;}(%B%f_Z5080der81Wx9`IF22sji6j%74zfVD&x-ryx53@jg6x(J;vfGE{9oAO>N3 zq5LorQ7^V_qgF317guJ%<&A|#W!>yneWwjhB8TJHKrFH?IT>x71W>#%giS!A?9tRB zhzq&GoFMrTngemVzT1^aI$^!Elv|w%-1g=uX1=`?MUxhg`vt;*(J5r-C+H!22~(5| zl(bbZ5F><~VnZ)>n|Vl#@SX1|RfozJ3WR|lghm*F%{aE=#EugSfe1E}J2J>hoUONS z?6>IEs2%~GV&ZIMo{ajzpwA_mX=nuwM{#YfuGdyN#kp4gOl|FCW%*cn`52Csl@o>4 z`QrLgrLa;jZ*-ewsAFJjNnrLIaQdwQI0CkHsU>^4anH{9N=E`9;N9j{x)Kp zLJCxKAYZPRw1mDCB#nhU zZlqj}Q9AwV!}X21O?d>P@Je;TxXk(*-N?02Mpi_iZ&se&NUDW`r9o(Edd<|Ecr=Ti zWD#DAeOvi%W4%-3H;tNw`FidQpl@~kBpA@Q zk>?K2?cxHUZ@0F_@A@j}tG_1n-HCpuIN6mI7>>w5Zt$rTX8@95I2%FDAn`Z=MubUx zE`{}-jPWy6s5k&L?ZrUCaK|G-p=a}JLgFpXra}?8_W6|*!PQ7P0^$WTFI8YEGjY3& zSMyV}+|Xzz%gJmZDB;$G1$QAM4))4td*qvtfv2D^7;$6~9a0FB$P0bIxvpo!#n%aa zBcRrZAfH(Xvj7=S0NZx%aa1H5^5ukQfzTcc-$yZgG_L1b5h_LRL@?g2DD<_MzS1<( z&R{CCM%h>-_`w{{R4zNb9PtQMSUEismI&(h$*Td5Z=^|>2`ZbSOhy>`pz0E$@E$bH zr9MEyYQHpo`qrTkI30h%lO?cJt2}d0Bgk$WOX2-I+5CzgfTZns&GQ&)a8D>MS z413(n7>;N^aece(*}y`Yt#yq~Q|pv%qZN4;x)ll~a3>QL1DpLQvNWv{1p06o^?Pm# z$PwtC)3)@w)-HFN#dagFH;YE2sMYg&qhPj5j#l%HdSJE^$AJ%E7{kWMe^Cw@9ixc%!OjU&%Av}&`y z(X5wrt?ly*y?k?oCX+9AMg(TN5qlFgWc*r6G@t7(2eBVHuCIG;+qJ4@YXdsaEUy?{ z?qMs6q`Cq})mTiNQK~472a^S*LPzB&8xSEO3(oTrZbMxLNgTVD*{(E7E0x@t;_C78 z`l)Vp&DN^1r*oyZ%uuBb;&>ouny{M?y7XX$e9z*7>TJ9h3J49%M5+kYi2@ti!V&Lb z`uwktD#wsoi?5bgEZ^Q z?DdMrIYO#^Q~`BiebFpwFXra_>gBI(w6#{%wYq79ZiVZR!4QpL8g0vJ_WO<`ayB7W zpKw14(DdkpN?eFc0gu}yi_4!Vo!Ujr#a)^3Reom??qhjb5_TZyzD)N>eXCtu+P`r8 zvDu?fY%Cno>T7}1>8D|*k)MC{(c1dS0Y3naii?1e{uufa?+-W4ZvMpK``g83q{c}U z@&Xi`6&uyz2aPTK8S4P+0(q%Y?Ly223KTm|N9)#byNF#~`x~U>GokG4_&n5mf_?#p z)v&PY(aL~ivBz}wnZJY1LEm$9j?U44B8hSPdnmjAEu}2!w}N1lCw5u=|7k>Lyj z1Fk40lpV9elV>x|Pe+^FJ7IMm(G+uAtR$2*#@hmPj{hn%a?I7pDUOr*)l+acOMeRV zasb#sC%?k5FuZ}Y8A++}Mm5r?cpL^O3UE~|E)C_VW;?4}RLnSX1K;)>&9&ehcYIst z5=Rz*ARm5>fUAs?I6Jd-QqE-2Wc(b0%7#X5894JdmL*z=kvc8YoX$^35+Zk5_{S(mG^yDH$)ER-Z&x9Qsa(Lb`Bvf%#3(VcFdA z(RbmI+mID*&*nJ;`A@#s6m!hH-xroK_Gz)JGxAzN%{(VICdM8!!eoK6is^+eBdK8>@AbNe?G23Y`R19ih0gqKFl&&aa6b#oMH&5fDEPwapEH;113)%whz zJzEoKgiI5N!shp2xyvyi1f5qI_3g!Ow^?+}#^y-Yc_uzOBmC)fJn+jQrr5KLj$?5h zuS}B`N11;34(1>aa39bw`l*_@%Mm>87~nW|$ubIt1}@patFA`(J>fRL^f)&G?kyeA z*Vj;z@#eCMfz_c8XmL(hh+NG#+wvu(s@^Phs`+Mltx;L*v~ulsN$XZ!r;+%zZgpnn z#k*d9;F`k^Uw!z|pC5Yks+S(R@&Lk*UAK7b$!@EFF5p@mjwZB2!zXT%s12ovrl|Qc zYhAj4TG~pJs77)S#u??vPKa=kD-(M_p`6*-A4RrN+Bns$EkmlfAa9>Sh*E3S+l`Xm zsn}+nnG!#M@t5tQe&UE+c96=408cD5QGp5*Bmn!R{hnuNm5t>SD|3fyxziE1GA90H zlQHrLo;_a<5Dy@IW+&R1X)IEd0X{qe5CJ7dPj@*PyH&3jHVP{Xh1I!gez9BM@XT5- z(l-Y{yb0P4YQ~}w>28Kmhz`Xdkvwo|=&_eMRJo}KmI{ktId?h=U^Zxx__oE@N*lAK z+%j@U;^<|ZZNb&5EHe=oRTuaWMUHSMx(WM>?D{i)v8C9LBKZuM$1MeYr(40ZslE|= z4iqnYwYRN9$@uWu4{FE-eV-pfcVI?bOLO$Lt+kCtp}RGTd%UuIth#c%wtAwvFu_9Ckb>I!ycrK@*~A9&hmpas6jFoEiDb)6mfB4wm@GOpbohxB}u68-2R$XLts4BSw6Y!;zr)Z6x1$OT>U#?)Ox~` zA!W`g6knX*DUpC0nU6vOb@h^B+>T_PL}gtI1yDoK(o(pWZx)c_+(4&mGPQuvX!(d;KK zvf!vylJsIHjjSYuNO7sIwM)&~dbd%Oz2BQj&<&h=w~_OV)~L^6YK3Gt`=BRV3Ja^D zbyO;{H2F}e)!qn*NO|Hz6T$A$cm%`2sg5W(CyQoCK?1PP-9{~nlcFBt->n8B*I%& z)>65xXAxZYexDYUmhz)j|ljd3N5G9>C0-fnmFc@k50@AL zc%~nxk>lG<82M`cOkwRrF+X1}F14Bk&+Yc&07BzSjv<7V4#s#1g&)YLYZ7QAY)cZL zrErw-UI!AE+zI3+wL_4gj_)-B+!MJzG-uS0jCMY^eB3gC+c{264Ufe)^1Vn}IBvjBA@-it?RI6%+x z?ZDD(t!1_w-CD6;SgPa}N^7(EmDAwD>gnRzY-MAtfba5bJcIC@LVxTu zE3k4hNgfE3SUE{N$LWB3oWj6YYQ0oJU#7@Jg#f_D>94%gRbn#BbuCz291#B(gH zZY<0mepIWi%8NW1c_rYNBJqu$On4q_cIvA$M;T%l(qUBr|kZ>l(MAX0#de@##g0^FrH7- z+gy2O)6pt+r(|-Qs}0%aYN=J2Z{)Kbp6mRq(HV~VmKHmeWv#wuv~pIbxMRZeWYm|R zco6`saBl`aWwWcZ7yVA4Z;Y@y8R58XliM}RhORP)RxuolNq7hIQa0f^Ot?Ol zbxcElAQPTdMgl3}cSeX0X97qGx$MH+ph)p#FYXv5BfuU~b1k4&2rUH5LS>~k zxGG`<32ycf~F+&MI7JN==*ZtpcHzV!qbiiz!$_XsD8{bw7_nAddblWRy)_OEEbk$ zI^|q1@HyZ`*Oyz%aX}^yvW+#|MwFdP3Am>WnSNvvB>{B9iMm?)T5_S-fUHnaoB-MqfX#YAc$6awPccFV?ZDLo z#~MU2Kxu#n%=)QH;SAq=$;1%oDAE~11N#vW9am?>Vd&bfsRyowu7P~GUIU$ot5ML1 zvd)6#LhaZLN|rr-;dv!=+nkTf2^t|4-m`3zyMMQu)n=_wFU{8SGv)OY#noelm7~Sg zqowuZmE5UDX|Y{h1t#~5O5`@)l zp(*leMM^+XGfe=;!5|F7B;j|4aayT5bCUcd4hcmDKtoK=!}BFX5m-6IQ6(3^IjJiv z$SQKKKYCP(W*P)|+^;Pjn?3e?ap`a?f3#gV>9iY(@9{MWCl#2!T2-(iClmY4$)L%P4IVw_N$V7!fA|d`%=M@17Prxva2rC$@qNy8q z(AnqJnRC$h9PLVCglI^F`1>^o9f^Hu%vl)yXYz9=snp0SZOKJWoTLA?q}p1MvSQhf z*G*YMZ;rCG-YoGkb2bAo^b;Q#DRK=!U*Bx`M#I%>R;yq%a$1dZp4;WcW^t}jAh(M1 ztwUcEV%ytKc6H9axRmDURi& zTJ)=8l4Z=6$0-;*&4PZ3sT7aVX$D8PmmwRN6(@`URl-1J*?^m3;37^*1t=ZER|Uv9 zN~w4|^hLcCl$G*lpYz?~ZP0g8DH)4KfeG`r4U^(3XMy@)1008zd``vzUV zF&@b`emF|NGhldleeMp;BVe%F?3%j_WviekTYn{i9|LVhE*WJWa~!(~$3@iyRJD&+ zkOIZg7{8zTU9 zO5D*9FjXt(=jTtqyfSxKZ{^@FLv)^RLr~J7gdD13QgnK;fY9wm$u(Oeen5DD>>%EL zF9vo65Bt0kGREDw5oHDrF|?-ZXh6AA7a=B_g;2X8APc=u+2UJHD!7VvAON7$Cz640 zo^VBN$j{@fEg#RVo-*4_my2)PNn`<^$b3{58;{>{J4@L`t+JoJ9`p{`jG%J-vP;mZ zZyfmZ-G6!DszZ-mclgntzx?1&jy(3WmmdDvUmp1B+|h?Bg_GsnNvl&B#%AIf=v=Aq zMy}aQnH`6hGe@8KL{St30i08oJ1aKvgBqg+XALd^deWn4lM7}E{F;s2?8%q%ORt7* z3vyI|7qfOzU%SmV>@eidZ8X}FQybhKDB&Rr?81+>!i-ax|JDyQ*l~!uG1*=o( z%M4*iio}wl7XF}*zOUI zlsWGvACzn}bcnxR*f**DaF-Ig7X{=RH7QQFq3t2Ob zOxLM*yLrQC_?`>n!3gv|xR=#!LEe)29b zN`*Lq%vh24K{%PkVL-wplv(v?RwV896RxY?MDtsX+`|0vgDYo_RCBY<@tL>E%D>Ui!o8{yW!R_+9SBJ97tqp9jD6`@+FHJM;Sy)7dx_ zS7v%vedyFTV_R0#Y|8{cRPOjgK1ct(NE$bziFtZMlqK}$C`;?j5}q6x+L;ayYD+=G1i?RPeML{h@2A}10RwVRus^f@$@h$kl`3BZeiVNR!~-< z-)#VRoaqjhInP9xlTlg4gu7>PFHv!_A>V1}%h7Dkre@issGR5vl*_ur{4mBe^d-Jk z6Qn1zqviHVX|wVNV3s_j7|DdbfdyC#^veaYA&ScSA}L7NmsP%=&F`S#u3q8|;nMYh zjRBI0b^xvv%P6H>C_=5oi>Jxn@^Idks#h!8bU?}Wfra)5(geY>&thT_{C;Us#M!t z!QUOGXj$|cc)~!nVdMe#Mv;em#j8~A7eeD=3-s+Y%dXXu;Ulg9L~Eicp+9D~3Gjn> zQg(q{xOI?vu3?!S$L5DLStHa=?EozDLV3^&A`gHeo8yXn!(`9 zGlSTqC=?D6k)cu0#UOAnu&C5altv*IYL6(4q@TSpzyfBd603%~4{HdLB?Z zQkFLqqL~?QNr25P4xP08_{SR|b%*FoM&t7!6;xq~#3{k(O%~d>pE!;QjVc27qEkcm z3i_d_VPJK-b;s2QL-b;(jhG8jBxst_C>+PQm!L7rNl0afsH#n&_A<}kqh@aPI7U-8 z69M%TxU|pVe6}epf4>iF?-_c1`P8AgSDvq|o-!I6?ec1;kxxQ{Yxrq-(1i;V)n15Gk3HL$|8-mdjhYUP>Bg;r?yjejY1)z z77(aHzlspX8Ff`f!!f&gOy{8Q|9BD|B4xkF1P{;a1dSDa^_AwCX9_R=X5sO@FaP$N zfBD5%pW1uD{a1YA_uu`9x^2_i3&DY;^?+-rk_|HE2%ncVD`PHRMkNm9k;xDyRkK3z<;>N$mS@*lvt*>_LE1lYMr?%3quW5~SqnQWpbvhMCuenCkHQH0q*ChI# z8uHDcukd6kuR^mjyI3X|3y7i%#VNkr)ky)x2^=LN9b?+p;_1i|Kf5IZ%o%3|08egF z&^P1p0@|I-K@29Spznku1z!PWWyBaxJbC-j@q`J631}6|UQHY{26KFG41IZ2iHBUi zo6Q?n!c^cV34kgkj>kB@qXYLkX3Mj>KAIpKd{*xZP*WU%kh8_89DvQ3!^LMa(w9*P zc+aNq>Yl3yp20Ix;1JNo*1^aZDRa>s_fH-pUT$zr?u|bv1-J`uWduk$=#vRQCw4Q_ z^UQ{dqeFj%-WJg>oijCj0G~;rOu^@H9uTH$MrUp}R#zvCP9QAcBxC-h2Sz6hKD`2~ z1o?a~K*S{-2Y-8NA}&G*!@(SK79^QtopAV50$PAGHHr(M3wR0V5=T^l7(RR5poZL0 zp6tkK%GfWmM&vm3`w8JLhcYs+4l!{TJY>2{X&5FxH?jge1Aw&A1d-e4up40~rI^)I z*$tE(ezntWRa~>h@l}q2pjrGLvq&wi1=z{aR64jE{YHGctH3r%Xc}EGA~QK8NQo*} z6`+i|hZ>2~tTKfpv$jM)`F7%`0%@dl-*M|8(YtxAotKeD0;nVmJ;$>2w$`n6+odk- ziQNqXD@g$6QCiNo9ga}DgbAV0@afSUT)!K!$g$O2KXUx}yAC~e+slvK{K`|epFVJJ zZTY28Ur)TIt(9_1Cvr>A-G{U2U3H1Qd&lEA!+tKOPcO zT1O4UKj{LQ_6r_}hC|=;w0bp%3UnIfz%lq<0BOoC5F|p$U?4lu4}1O1KGcNmAWi3b zUaL`EI<}&(6TW8fgX8X-)`Z_Vzf)`+IpQsxMymsC%~2EczgbeMMCj?y7y|=MdT$hCXnwj12QeFwRr^rizLqR3Jj*b7D2kqs+VS98c7qsR;wW`z`#+VGBJf!;A=rU1 zu^U$5bmQcc%g^5a>fJwn`sT0P{gY4s`g@=H#W(+B&sRQm{nyT$@ZPVVf5SJvaN}1$ zyYFkCx#{cVo4@v{o4)p`o4@uSH+}V!H-GgL`@a0~8@}|hJzxCzo-cml`pZ6k-K8J9 z?vjsOd(nrkzwn=Lx%551`RaS_{m#3e-SZ!(?)paY*}dASN4)&21FN#x^S2BQiz%J$ z&Gn^o^#6Ct)J+IxXkv+8KV=EMIm*&{b0h{f8(iAXoS)Y3aef*ARp=VNtpWYIMgwk# z-L06NqS4Olt(*pKZgiXLID++79+wco2JST*zQrM5-`*PaCCk#y2~VIek(+{@W9Zul zCq6u-sgcQ;v*u*~WCfpuL%8i@-Ws8u=4}X;Ea!O~4;>Q(X1JGSn1a58B>Pq{Tsz1_ z@iyoi2je}QGmI)Q)#J{?GGi8HR-8)VdCPdjI2mto1dh}PindtohqMLYnWjKrz?;wo z^vyOyl96HJSQG%LUeK=-xi%b8&(>s1+cq$;S|}@{&}0aon?Jco%0^_c3JW9guCO*{ zhJB}_zTxS@0W}*o^ucPXFWDe*u-bGAx63?j6bWTkO@MZp2tSmCpgTAkaN)5U&m+Uh zQ_Rn>Qs%LYFLCE*$Pj{sVgQmsQ3)M0^r*HkhVvvW-rG)|T%9l-AYKw*D(eEsm7rA8 zL;%h`S_c3aSQJo}mnI8$voTv}CKVOO3D%v!UBz4XszPor4>CeJ@H=rAVuBH1%BVGK zH&tLhN5u1EkvEA!LQWorR|%gqbR6Hed;Lg8f#513qs(Fu9wAGn)nRQox0avj@qEv+OwDXp?RGV^I;l!SZaPL6?!y2!g3q=E!{z0`B8R=1vO|d2XeiG13N~`CL0p~ z_kxLaWic*#3qMN@fE+l0zECr+ycnP$xzh3}-)KSyxr>$44)iM6?UwcWhE`kelvk?j zvxU`@!)jl`DS^sUE6>f+j`S?x{+tZftf-#5-1_jAk=7c*z@#qyE>Ofy6B)d zW0W1L4Y{#XP#;x?5{;x*XFsXNZwXB)KZzO285PJPNx^{fVVTj5x!W9UvEJ6(TxQQP zNpu!6?&?L6V;FVM>kNn7229>lP#3a0s)ctQXsb*jUw&H&FINLn{ILw#o~E-hpbK1$|X%r5aK| z2+y_j(6i;u)b1n|VWsewb`@G51-9O?jSkEgUoR?+7?Zl|@1X2{q3qOlQs-3!MU(T2 zl)zOVgxEpSJxPeBj_087|1`>!Bl|@f4I?{jt=CUKz4**8UcB>%_g{Vfoj?BkFTV4I zz27*0?>8^p_w9>s`p(6__}+!T`oV?2yZpj?uDs;FpIvnSHJ3iJ=SxrB`jx-@`kVWI z^R1VD_w9pse)px{erNx0zx~3mzqS94Z~WzsuRnYHSD(D`l1Hw+@PVIw;hvv->i6IK z*ss6&vD?4)Z?}B;BR75VBYQ9T@O2k|_?inpc-;m6=jKb^_q(sX=dmk3c(x zfX$2q26Nz)0FpR!8}tPOo^6M|3cjWaNN1egMMlX9kYx8G%98>4$;p}1>GV<}WcbnW zaLMBxm6L=ZDg)k91(ZrbU&RQkax&Ab0L1@zgu?{@^abMe?5_BQrb4`sunORD&$b{> z0zkrKfLPqP8*8#nG_ka8GzoppmfAR4eK8m?+cvnzvdT`N^%iHvmeFi!bPit&NZxv7 zkg;IqjM*+^uDeb+_TJ~V}3G=f`xP|*mw#Qld;G_+}SkPe+-mJ_H50%49w78>i= zIwFJsx`grcAcwugcMQl!oYBlGD!&aza$E*gco6RDjo&#Wre3O7mSfkVR8T&8dgw9` z8rS1-W365gM~-W2hSt5RC}nQ8z{i(C_iD^^{@ zF>I~Xsl(`1U;}Nv-fb1(_ctnQj@ba*;tthAB1vgqpg*I-O_Da!lrzAUU6lY$uBtgC zgql(TpeNGe05O^DpeJzO0cj$~>Q*a-`C4ho=#-Pt61>XWLDVP8i%SDUX^CPZUo*P- zR(++EKb>1WmR~zruPo@DT;g>`i8G3A;0-Su>+S}=&Bo=X*YvLi5uprxLBb5i#gSH% z0K?EEg*})*x`yvLj%_e0ZUPqr10#&?fX;<8(x=G7LDY*JE~2qJaiB$h$7to2W)7^J zdKoCUS<)+^m=* ziK11C5#|Up>cg@@H~V-_HOdP~By;%3wGmbXIWj7kKv>nCOk6Crep96KP?7|xpV>9J zij$LYk|Y64dc@7uBj428b*)uLXTx)CkOFKf$@c=^(DgA1tGE;! zHK&oQ+8@M!c|d?t-N;p1ThJTrW!(lUbF>{=b-QZ9FmSS zA?QP72ldtR@u$x`dc(87`1+lfpLgrGzp(E+m)!LIFW&Z}Fa7$*U;M*Qzj)u(UwVAs z*Pp-r+b{j$2Qv@;bn&Tc^ZReC9J-}-{Fla=Um2%=qo4Y9>-g>UBe#}cykY&>>ldHC zX8!5xmY=?6;mK>xJaNtG$F7-q?8@U0{q*RcE`Q~|A058u`v-pgjpu&xr6+H=h zW{=8jG)n$jo%0<1!;-Q=iY6B74N;cRo1-kPH%ELl?FN0}^oYx<&@VqFLZsvY{laDG zdRE&t8;()4jjC-_Y#ng7WNIZ#E89BGaD6X8a^Q3#w;KZV+H#apUqD}la@BEyfinQS z+t@DbZbK!{pkCL1PYoMGTtU~n`5SS1rKPQt{53d$-p3(nANAPh`J^vh|zG6Jli zFJn%=KP2FaqmJBAl#o?$FF_6*KLXt;Mlpzv zSGod>0mT8!p#X&I8Tti2lmXSOgalwRe5&w2s-Q-F6Lt3L2ECz%}KJsW{-LusGBoxq9pwq027}?c_0#M)A~{Y{zdG zrR@aJnT)m21B8Zu%$FwI9nH<=b>k>^nW!T*N?rjd%nadV;F;m99Th92Jsp!wbefI8 zb2dSe?XE1N^fGumc?}`ZH1zlZBqRb|60x&sxYI0~k18ShAp1hY&tYyF}rk2~ZnlXSVr3_=9vj*9MXup%9*h<`^bECz=8= z%09w~JGL0~`9Qc8cSRvkPkjP?=|lqiKmuGT2lvwJw5q;ma^)v4q1zD%2%}QaPkzb9 zG60-phBJI)=$5JRc2)9mAwj!A2s?)2;Rb!_(`n(rUL}aE)f9*2BjhKhA_or`gnc5hEq%!$octYPq?> z@=QIyV7Bs}UiI{f+pW4r2P# zt23?Ailx<~z~Suo5o`+I^z@J+2b`gI9J1Cs^}yG9eHV_DOiASe?(8kc7E$Zal(LGR zFGi^lv`#E}6#ABFaEBp5Vrbk5f`EPCcZPh}nVzqQX3OqW+U3>C+L_YQiR$X9a$zR7 za`^PCPnyG({^&#ikkmpjJ@uEOqMHbU;=9O%ltO^@?<+XZYHKvME zawsYztA0*Ph1=56W;o#Ipf_P)%j+|<#~y1}&TI}M%9^c#^kGSGD;pEi?x&w2R2oHc&5mbjc$%Zg3jIp@ zyC?E`2=`7XJM{)ByLmTKS8+TCeg6m0xXBqrr;7c^s+;SFmY=@)+1tMJ`zybA+Yc|f z`3GP8<>g{qwIryyu(G-1hy$cm3qlW7p;m+}fJC(_OebTD~_~ySKOYr$O#d zqr!cgg?sxOcZCbTGiH9(c=fi*%QqGF?^}Ov&(f1u&p&m|+|$>bdgNy(9=YnoqgTB0 zrysp?-;ZCt|3|Mr_>-d#{P@-Te)#Hrmmh!NiW86g_}GI0!{6QitFJzJ!$tS}ZqQfewQ*S%M=1dSf+XTcN4Z6c2k4@C zcH6a@uH7J8fWh#g!3Z=R;9iTvfPo|Eg$PF{OmeeP-wDK380KtNmnHxhS@UzUa3$&C zrSyGeux==O1y7jMWyx>>`MKI1+~cU4`Vi3=+X!H^{oW=VTvQFUklnDIvpTztmk1+QK#*rT%k`1mri=Vxf!B{-iQ5`8cH|3gQ zfPeY05d4WPj&PJuu$;}@XBc1`mE|(#KoFq7zY)M*8o*We(e9qni}>l_>Ac`la5z*1 ztHwnU;Ls@bO0gaK=7a-i+L(REaBa=8x?luci(&QATE}2OYN~sd9Bl)*2<+Ru5zO!O zIs%(TyRv<=WqtvUacD!aWexKdhk+e3%an=S;a`(mfTX<#sm^ zK2SQ^9s1zA7BmFFl_RAbEJXkgoEpX>wIEa?W?QbV)69oe6r8rDUp}b_~f+)Re{G=S{(> zV>RmKRaglo%cZ>Vl4X`8W3uExSm@*91>u4L&_}o_7kpf(LCa{By44)Gy1rOhpSSd4 zySCgY&H6^cY6JSNTUt2>uv%OhrhZ^+okrR0)a`B!7=P6F1INNSM{61Fs$;apG_m#3 zOn?tcfRMB2SccX%IyI|Xr|2Sk)DK2IKMAszKBnF>jE>D||DD)wX{CjYg=3voxu3e+ z>}LeOKanFOj6Tk-;|RP2Y(OGW8pD1KWR+~_8|`|olAG;T=0m&27m_{hT+E%|;xrAT zUX%b7^+Me<8{K-omRl&VovE$QxAIGNqnKEozHiYGQHv;k+8qd;a;Hq$OlaAD+~eLr zZOdwTzL6w>;0lO*tarlD4nf&zU*6jA%_B-q$O4rKWU&LxJB+;MTOEMyRy9}LSOnLK ztJT6{H9uckIaOFZo?ke=F@FqaI?cRg=BkAgD`yULt4n>qGYHLLDl1&j)+hi9ytx?< z2OP4bqTrtbsn7;UjJiS4NBAep9H27mF%nP$-Te5^KD}TWd1YT)lwpp1Atg6+nrBR3o zfWA;fCcMQ`ZPb|=BclPH%jl{QfG9&&pmCgW*|u7rH==Wdfn}TR&@%@;SW%QjWWpGK zKV`W}qfGw+Bw!9*onvvDyQ-X?mY7FO;6nM z(_dZw#oI3b%CE2d+CA5N^PxT8dg_)R9=`KOb5Gq^nfaqxcqDH9dDwksv;FjD{qaHJ zfpFz+8p8e%lpSkrbf4=#PPu+YeK@xWzXIArN7+qmHof|#=$>+@6bKpKYZ^Gk3V?%%%fKxf8?jf9{SO%_y6$d z{ogE7hyYc*Y z{PF8=d->*1SD(EmTHn7JblEdeBmUp2;5quQMPjL5FTq-69^v>Wj#)x)gw*Y4Q+8P> zJ4He+d`L|EW)+x(cQVd%gn$f3hr(XNBNrZj;Oam)!foH~_?GSie!$@~yDAXa zI@vXRHLN$auhj(H?qHk;;1PT>KFRsdG6gzv#`rT(GZHzKD@3|YiQiLpG}d^56A8L>-SEN7q_3ah6{z;Db34g&Iy zoSrhkd>lKzuSb!Cx+}Yen=;)K^~-ol8!3=}s*0pM^FG&XvQnrKpcudy@*)E?%7;VA zgwWi-nm)I0@ofbzWva!YT~r?xR}ugdCv(m7F6`UT;kGBtuq=lL(%~v=F5yG5Q~LK1W5&S7JQ5_Qz<6NJ ziYLraa)7f3>GO9b4)dqhsHu-P&PcXh>ba*4et;tX?8jl zhjP;c&yvVE4~Aa#IZ~9hIlNYx#E>oIhMv*kgxbK%3_Yt=E5fQ|Kwaz=y>6<6bm8%g z@vNxyt-a#e zHK0)2Hae|(yPh{%YrV*UOor&ZkrP@iSFbxp3wWNECoqBKjBZV9RZO5_z2P|;$AJZP z$;#CTstd8AAcKLQq<)8{cB%#Ncs^=7eFSSYTZsO3*rH%^sSPFB`tDyuWKjWgi-#u>f3qIdGP zS#|ZYuU7)I?pf`mAJIO>oqBP$R$PWrMOneb_E8LThf<^5aeshLo(`fowVUN#urSPj48fgCHHm2_F#@G9J5@R#{&-Ja_D= zQvRgpRM3^`m9=tV)p1M_!B!m=;inKTAZz^2ls)k}8>e4bJo$pAwZ&Y>yFb;YxGsXk z`PkJ<%cqTIKJhiZQ{h`V7&Y`bnZK>-A_2(+G|m)a2e60zAL3bzth30hokZD{h6#GR z(X{nOFLVI$QIt0ee7BS2&tj-!cJ@t>O5_~${qIR=-HDbE^O_B#bRvJ^@x%A;x%b+y z-FErc?zrOX_w4!3qc?r;h1 zea+#!fAsuszWKy0U%v0>7yR)@pSk0kpZLXBKYG)bK62w_AHLz@f8BfWzwWvCgV$g9 zf373H|GEqQ<+}6#dCvv!z44-dx#6OJ-gn7+Z@Kh+w_f%ycYO5&fB62t-*?5Q9^HHX zGrzd(#ovD8=mS5PdGv~tk6b?U@DESi|NW!)eQ)N$@1J?}$1@NA;Lz{C@%Wz4|L&Xb zzvZHL+;Z`|Z@%2d+x5&d%bSI-zQ z*aj2vPB??UGNYAKRpI?BSgSDYZj7tbJUuup=$D{Wp=8hs|ax~i8-RniQFmYFiY{&*3D`vFA&RkqO4RZt6kDd{50Zd zq+mZIa8Ozo6=ZV@@|bRD@qI~|(umfmKbe|tC)}=zn#4XwFMS&ULM-^x00Ss!WP6?# zhBoR>*MUhT@S@iX)VsOuo+XL|K^JrL;2UPD)pW&zMw zZHm)}rwdfuuH#;~q0lbe3;ava2lK_|MvI`;0KEa403=JU)#ZS#eA`x~*6XDi=mmnx zZWL=o#7j^{kS5T#T`Pu;hK%r>mjTHM^d&=8rq3WiUztUr!ZO8S3QyVUlyW+xBmSXw-ipFOzv>QgHxpVP}{ zLZbkrs%zW>%<9%#wS29(RxfXuomv`LBYs6jAPX@Im+7iusKFqWg}$tnYzqbamJULv zRoZA2)>F?;eb+N|$1p6-=rlWEy`x!%>Dn-lRvJ2k#2LhP+^w`X=8H?GJ5_+*5LFwD zIQll^2g&?iY&ur0*;p9}RpsSe{YWn*~VHvl@Y04c)45m5la!v%FBrpQ+?d7uRPB>oc|D zTyf*%>f)i?>MPCqtkzjHx;e*a22M8#%zg^+3^Qf*LTfY#hJAmt=Z|79^=+C*ly#7_ zYRmc66a2DtKSgPVy`HgE;VE z9MB2U*tU$CrPVyEiznb{n6MtwZD1K4$1?O*7&@>6avm)TNV+p+raBzPaSU4wIWrIG zJ1T&V19kOWI}AK%7EUs4d5eULgr@kBB2JGg%swvP^coIAuUpC;nLYmC>gkuP5?9m(QLHqQ2zpmcD1S z^NS~Kt&)Z?R^^1yx1S_j7m!sgW5nO8K0>GkdS>9FTX}d!NHw!A@LGff`hz6kcfatI z*Px4h9l#>LWu!_tq3rCNAeG2D==zaF{^;_-`=7bzmOotg-Cz9p>vvxJ zokwr^{xf&{_{cq1%{>dm`)F*xvN@RD?9U|5K|TNQ#-ZDf-T%`UfA#Ih_kQv2E5C5Z z_da#=*FJf}mp;Dd(to@5;(xpL67WZ^zwF=kT>6ncmwn{=OFjhNbIAvOJ2&e*bq*KmOwr4}Sl^ufO!*&pvtkW$(J};$E@V@y!USglPYoO<7VicVN!2hL4^z`)-?60Eiw@{YQ8=>sZvuMZF zEHm2uF}e_!bi&i;C#?KSy1xMFKo-9WH!3hjL=mZVv%sQ2zg&dr%co^+uwdP3=9a=c zhkPe!mMnw1DuAPk@EXhr696n2ILHdw%ba5{{PIb72T!BlZO}J~2XQ z({-$dsa3RAvD?h)jhx=xFj@t>%azP{G$uqcF3=S429C15mMk8gV(vve+1Pn{ljm$} zt8FY`W+L;L`!)eT3nOLXw`>)wr@jxwDcl_9B_L5Zs+t1&CLx7Ju?tE^Nk;snM}{_c zuu>RMrZGa)n6c|dRNC-1^I zpRw{MQF6g}GIpvquZn{xaD9)1?NC3_Lz&Xt3!#?8x{l#GfF+t`b}gf8nVQ4zJmI7P zC(&~)&ovRi8OPFXt83eB+Y+|hj?+=>x?M<5vG41`Mi3Yw`p9^eI4~{BlPx%p0n3}N z)r`5BMEp=+$U| zpw($r9jiNJUfiR*7e|p7$cEC8aomeyPRK;icbe6FyI%5ajl-_K5Ial~aLR`ow5EI_P}uLUV+0=E{?)tr9bZsp-@UzSAD{ zozSjzYAa@^kos+{k?Yjfnx)lxVWE~kbLRNLS~=HG{LQ`}7=?vb9zXcVjW0iV^-K5v zZ2zCGI`Hs~vqv84)aHDrS}(0`EYDVQ%eL0&C*G(Z#J29I9QBhzF7+7rpLg2B$_jKJbw61M*JYeirv5}uIE*#r9 zbGV&fh^;2@!GN3a@v}6657j7Z)zxZluCRWlTwH9o3%1vY6C?!z610Fb=)eGbtvX30 z!CAq)Al-*=UTAIP9ZDRz0nD9Ib-RGOdA+{cD9jaCPUIGjuFV}@KJ)y>;=$_1iDq%G zRa)v)*Ue_x(d(|$^xc;0G(4x7#Kv$49OaHiv9!pfX`oe*i_g4L=u8l~Ug&ywyr4{u zqpvRmKQH$QZaFds+nhvPm5TBM_rhMozHy`Go>`cE>Cs>R@X6m?eBUi!I(_i*K@e~x z57lI+-LhcQ#I8(P^ahCs=xggOsyAxy6nnXawbWG{)%nR!Jbio{@QkbL zVMdH@&D82pW1L3M6-)@&Mg?x)qOO=BfrHoOMd&e1U6@aK)?Rs=^XU^ zZ$%RY?f3hE(Qqm=t4AMt`uBT&`}1$ze)*T~zWzH;|LXGnzrX6#qkAf|kNBOVqjYgI zU5NBUwYmG|pWb)m_dj@i&zJxBqw{b7)~9ay=BID?$|tYC>|@to_VGPm{MgsF#y?ZVs?-jn` z!uQ^I;d^elh6K#DozV9z5S4M&=+790Jc3@P&v2c)B zHqI0k;HSn3&t^eNWVve#1EWT&QW7A-1kCmw%`s|br`T<5bgHYZ@=_aaUwNrpUD4}# zt6g&Sdgyeyu~SwUm!pd^z_^WZhU;B-a;m;*lw=z$3G~Gg{wOEAa>*{=GKAdXC2}~u zmXm3v${b!sQ4=_Z^4ZlfOXEs4`A$CuSQ4>Aq$md0`w8UOYTvOA$j^-El>JSjVi3T? zISU2)DlbidB7CVdOEWb9c5gy)+djn8|7-54E7_hBn}a#9Hdf&SYsZ0Q}C0gJf(4%r;(vLIc7Ntkq~P!aT(czxL86pR5p_R zmI%TVVBpZVUB~idiz5_ZQXSM{QgOvn7r1V5ukZJIz_9?dZWP&JXhCQ}U`CO}aKJD? zFQBi?KF|rFU6XLyF@V5v)U}q@Dr&8Qsa1Wa69*<^x|;71Z>#uVu0ZDMVh5NNSX3>p z2HbV6w%)G#Rwwo?wrLU!dhxIi38M=*aFXR4wsGL;mfj#f+2k-L;0$+~?I8>qapNTF zYA;Sh*VUVLw_$RwW(VlE-zTz4p~igWk#*0Efp0mro6>`03S1PpTC=)tbjnb22pkL@ zQ=Jsz0z;xWG#hR(v1>d2kB;-HVnv9EUO;@{u~j(} z`iuG!X_Wz;M3j9%;{d@p9Wwr-nU$I|JJ%bNvMBn|vDf-0hdX!_IzOk6vC^5BC9 zp19$KM{jucp*{Pbxb^7%yOw93YL|~CAxFpo?S`r28@2kzTzTn4D>v6}tQ&gKHjCZ% zYOOF+Ts=})dO5%Ja$)Icv#{WFtC439l9UrjmAX=2$DEyl)^j2B00M-;i8)~;a&6bt z?RLqkuNc*3t-RPREwl@B_4U)0)syAbnacXSt5lW8oA|kq&+|-Za2-aD;Wq-5pIgO3k1NZH}|NDoYxTUgony(gm%#>a1wV*G> zfdll&X;yMD=`bv+RBs7wf4q{^88p2LE1E=BM8%Mkh!aI&=-TLR!ydXOw->hbcH~)T zG9-h-BRZ--#ACp-pls;284^}+jwB&KGuAVcw@Q}puHZIPdNijrbFe(4QwWKbJwWmmR~$`?9ZjuGl}O7qttHI8u=NRohWdjKLp~v`zIIO{@u^t@U>6x`O1G>|D{h{ciG4G@~gZb zy@81L-}YSgksH4Fk?Sx0FcI%1|9aiUAH4RW4-oNQ_y={KMCe-T$4F5B%W8J1)KF`~P~!#c#X) z(s$f^;k$3X@SP9;=>79|p6|^*IC7g=rx=Uk9Q`8`E$-_k7+*!%Z=o!qH$vH+uT5Dt z8Sx>f&<-AN4DjLcn$VZ-=Gf_+W`Hh0FEuw9=ocuFxRje$ackKf&^Oz*_pBjbg%!`{ zM6QBWBh#XW`4F^Ug_4>tya-BYJme!MF-AA$vOXdI}7^7aTm_EcT$6RQ_z>b zN7|E@3vTS0f!+3ux~tb5lV7bwtpR<9X*%k`^OL1s3S0?3R1gu;;HWhxqRR@{&>g0- z@K~Ca18pjxbbvktj=NK)INM1yXL`ajKjX>aL~i~`M-6ZefGzOVsBh+YO)>l=2H?R= zSScr2szA=#hz%qRZR`PrlDPsFuwTB#g52QW^DgBKQJ<0EYdIBkr*>nOM>&)f5!YBF z*(8l(Gz4;oFUW3^^^_E_U*1`u1%WDM+}rE*7*is1L;@v2OjYGcHKkxm2*ToA3d>bi zpJ;#V2ySOJyBo-Zv!FSa3lL};9lcZY%nllweTuLajlw;3;ZrNP3#S?A7dQ==S;1zT zTZL(G>^jX-y|SUV%Vw8f4b8R$ld0NpGi{?2dU_I>p51BH3Pz_cGcTMtKv(tQsrwe! zLIZCn@|hU`&)De>6E|{oM{nU0^kjsh_TXoqRUO5wcyGvPP+GIo$eZ2LpvQfcl`>59 zp)Uh~Q~jM`AmKzl;*G*U&mFVVYLpH5tiI(rTDO_6l~%M?2?*3RTUMu$2DaU)24-Ur zdzIWuarum1oV>Xub?bVoVrz}aGdHR5F{GisVhzcl0Gy@)GZc8h{G)+y)K^Zw^uP=E?|uHBpX|T? zN6+8=gJiIBY&~vJ=dcOo^N7JE80Yk6{%9>H%^G&_s*exHLiJpsC{TSA@ zv~tw!REeEnB{=p!0NUjqzoP^y!Cux&B}vc#7A&&bdTq|`6!7TT%8{V!uOJ!x>m|Mg z=nMFb#E@Ec`OOi^lo`bBq|7GkK1Hm-nA91>iJ?Be*H8T+_qQ^DdmXbII#!Rh>#K@$ zQUv;gZ&`XX_AO4_Wo6N8SP!Wnq9OgQEYcKu5hh8(AAG$?n}gnj{^ENMaIdmUs*4df zq8`%AXiHgiR3YU)bHgBVTlM_>nd46`o_xYJxi?XPPkZ zbj{UyAyf!?@h=$Gt6N=PIQmqpcm}3S@Vu0YER~YGdvQ=+TWl7VhCLgG2z@#50ex8= zW$jg6gr~Ee5aPlxqw~T<2NGF|FdmBEK`LtsBn<-_J*XK5R?-V)+Wea(l`oFj@7>P) z-EDnRd@#$xHra|a*!)gP|^;q6y^{lQy)vj6v2AHVDNc@y8Q9IU%B_HOK$)E`8Rz1vwOZm(0jvI|Ko%-9%T=F$-_O7BzMu2>-m5?Vo}Yd0JwN}# zdw%};cVBnjyRSWu$Lr2}*Y)SUdk=8$`R~5*!uRaG;N3Tz|IWSVzw^cm-VFe}@BDY& zc-}j2x&To2owr>0u3ImD_sti)W8dfg*S^pGU%&dwdmh{Kxx;sV^Vt30J#x>t_W$;4 zFaQ4QC+`2w%fJ2VeLwv0uP=G~9hbc8){EW^e)`G}6(9L-y!y;2v@%)HaGaxmT!PZR zeuBMIl>HXU5_%()-TB&-Ws?yfq7zn64g$qD0(}SE-8TjL#iNT`4a@vnxP3&VaEm=l z4gAXFXW`wZI!}g4&t{xgGoKZ!yLRy8YRu1Oa4Mj3h!sZ4$_aeSd9VuWf(b} z8g-!G*w8>Bs=29=^Pa+lnA(($cJs& zlsnroYbod>DoRF`Re&g7hLj~)o*lw>lkd>b;X^@HCzvLj!liAjFqnMMCFu{Mv=<~P zcPawIy+^U>(MjScFp3vNe&D-c1QO2Xji^GztExRX8IMg6`iP9X)Jc_sVuY2)NiQ*D zbY@|CaV$Geia!g_Qk+XLNiq& z#2faxYBX@Ij;Yl`w-b39@IkK^aFuxMrHSYBThLk@p}Xm^ryK2Ry|iw$0kgXND%6aQ`AN<;sZRGdOP6;b)M(xdZ*m3=Pj+i z$!%gy!23ZOSlyb@C~WpZTW^(D&RCV%rNj5XaPQ>@9=-Ot2d{qVk!ue;c=e0-U47tz z8(w_y=E~fQz^|^^aWsCVJob##HxX#pi@?~fqXV=I2N4R49u0}Pwhr6DPj>g*W_j+_ z=kDBp@0ADd`QA%+efQu!KR$TRy6VNdfA+%tH=fx4r^?dH-O`*< zU-z`SqqSOABpedb2m=dpJ>39*BTMy%iK1#%OZ8 zXNcZ83C2GO zn|Je$RBz{Dm_)A8C~pAGKw-qV$+Zb@CqX}dn`j8fC|A++nJm(nR0NRv*+Wkwp-u5f z^*tNiu;E%79vp)tgrt#}YLZ^R=Qwy6b<)ro4MKj*S+Ju@ZEO))82*+iH^9AWS1mb# zG|)p*wWAg6D%uf!hgL{B)EM-p46FYvW8_O$m`{z$SUd_*@K>&zu8RcSOwo%VT zp$&t{YN0G*Y@{jJ8*xI_aYCvjjGB%5vQWJ!Y!;UnUwu-mEp9^nWawC$li5pZycZ9b z{L&e{wy`<%Wz@Iixt2)!Z$Mwk5d`DOogk9XgT?Nv-KSrhn6H>y6e*&`sKJbciHqk; z7UNA&RwC9fqwM$8nZJY7?dPEHe{GUhWJAKCu^aj3%E41F-uJ+*SN-P7Z#;C%k6!%a z)yE&capTaPcJ0+sTI_ktjiskfJ-zS1Z@>4%-mm`l#~0u9o%3(_#^-PR`e*lj{WJT% z_9=kg8@~LByC zuKnEG_TcAd|L;BLz2gQM^4)jdJNKRcj(q^S7rf)9^WT2+1@F9>$9LR(!P{@W@Ex~a z^3Gc>_$L71Th9AmcYW`J`+s%m$%lUg82pzzE~Obo(z?$CZ=W+qE~{NzT!K9!cZ80h)efPE(fLU!^SSYYbaue2N4M8B?=?VInP`Z3k;^lHU;c)ajZhQfV*7Z>u`^sU03;X?k=3& z@ppr!890r}5;3~6NiWdvgtq};VWh^7>kwyh^)K9CJfZpVApkRBS?)MyHH5egP)YR> zkdt^u@-c}-BF}Qnw$aLUt4oc-ney84;_@qn#UsUqL*?aH8@bsQM@!c2cG1%t@J(Y! zC+25OA%scUGUiVe$e34&{}tfpmxQ@=8K{G+mjVAg$J1Lzqu430wDR+{)swZ=nJTYp!kPXvkm)-9OOX@`k}&iZ;1hj-5ml^=7#0UhF(Tj=`hP^@ zvgna-A9^9jRJlcHOFb&R?{>a7HVO2JgZ}MDz*GvEq}_=Dz4qJ&8BTM zErUnbY6BjC15a0+gjOt^0-Sr@L2Lt&cB-Y=F-IwklHuwVr{s+ud@zG@GCM%fZKg@s|g#-v8j02OqxT@S{IH^zcr#tlx$EeGz=mPyce)PhR-b)yJQ|v$=lMXsk3#i?!TB ztF+>FtFhhf1!g}67J`{|JzIx(JB^h_Wwu&4Squ1(%PPgc|?G!2V6Fbluxtsk?)LS4HwU!fTlfc((v(*ceO-`8)yN%VgrB^(= z4$PwvvMgF*Sh`Mtzp8XB+r$_F>CxmVMOQj56~IrP*djT>3lgjE+3jw#)bEGc<-bbV zty47pQ(cuF$5P-3xC^5*4SLmi6`tIpq>Ks;Qamv2&~xN_d!BE#Y`wwPOreKP$11b3 zxE=N|c5GeOT2bh6u$QeMa-Je)!+R)jm_BZ}7|SAFRvZ_RTLjb>NBm&bSdj9)0C~XU zK>}L|i-7Xdc%!XTKeB7Z#lxqM{JFGtI`s76Ac_O4!EKxuY@>x1lC-6Qne0KCtg||g zDZ9vMsJskBLyv%)BdfG_Z0Y1Pc*sgDNeuzAx(jy?J+oO{JmKg~oQHk3+9l8KA_*>+ zpatWsZze3Uw-e7W87U{U%lDi(^yy2}=A)`xq;61@m4MsDM~>08^-kbg@Ej;obzz$S z7DLPwl(tv8zA* z&=ntl_{vW{dewhC_VZ6ae)XrokNxbEk6cN9;_Cl+{O6y#|MHLB_oILN(~th`uJ8Wq zy+8W*Uwz|)d(V6OAHMU!TP}X*4PSUW`E&nt!{`6$rt{x%(*#=25y(a%hBscZscforwrU%TR&A^dNn`$QvS?~)uqF&jZW8p}~WMHvo{v4Tu5n3uoS~Fwcx35STZrOJfb8%S6lr zhn7gj#!tu%KC2QVoCchPvyRpoq(Q$QrTwtikH(C!{Om#UByk$EXMd*RubV{Qx3m`w zKRZc)PEqoVRHqmxPUjEN(E3mV=mSbCBezOVxUaIP3Twy3*c=4rIB?nvI0(!kDCI%! zLX%u@U>^Ox+H3|gQBq~T(!T^Ayg^IOf=klGrHSk4fWEz+CoKy)D5G-g?Z4tEKO8`*oJfIfu0?+$8i;0 zrCI`Vq!E&DI;NJ!3EfSKo$qKyBlJFKOVI1_b4|1=y*TwPt5q}_tC811*NA)rcoLp2 zL9f##1Nyp}?{;0QcI4XX=%8&owNg zRmm@FjhwI7x|NM?qY${j+l~Cv(Y4broId!#3lHyo{{Eltf8dH2AGmz~{Xc!>&v&5T zx$Tl~b$pBa755UipV-6H=_O|DcltpmFad_wYlZpZ`k6{$L2noNC3DxdTDj%pkMDo* z+P~a;`AZL6@xq^e^1?lrzj*IY_HQwN^32^oeBrJiA9!%j>dB{Cg_%}yu3KJlTLo9E zS)GbjFEmQ4mE1yUZML{_rnGvdwlQDNFE)!Sve#4*2-(vcf!$6*GmY$C;`Cx0SeIYc zwbfU<gG^R(afQAe@;0TLm>)BTnY_@mxX zvb>l(ia?Sx`~g#=2tOre#te&1z$HZIDTp-WRgEy1bK+; zhP_^3;VN`5p1hV)xvQMF5pBYthx#P4(Lg3uBpP@=7o>#9nJFNB*dJ6ihTTiKwg#|p zyaso3*h@XLQCM6&`QpmymyG86DD@ygQ)^ZV^WA0%`oq~JAhAV~^XsR{iJ!T6`l3TP+_qf`&m`$CeF$#sMJ& zL|$r`-GjcuwHWm|0ZK*Kl_UYmDn^C7E#EfO#`u&WFVX&S(g7uq-7-yb`x_vXP*L{# zZ&8-bb~*=r|7+5?Md2&>onmwOz|m*!y8DJ7-+A@7p8D;zNA9~}e~Q4jl;`rFl|Km{xKK1y|KZ)ammw)8N z+rIeBt>5_NMgO1u`#$&JPyYQ+Kltz;zx{#VeC_}I;!^I|yzdMDbffSs#JyyNdw;>> z+i$!0?Z3SE?Et{HUG%nFKmY&!?U&#A+^y%&JoNqJ_kH)!@4hl~-?z^^{Jj@$`s^RR z^3LCV@g28c^3Gpe{N5L?|7iQUpY|%p@q`d@y+)rqNBil<7mc(DBEb5feJc}|H zb_esRdKT}9qg?Y04W7+-008>(OEBYa#!Nw9Fc258AJH$Mplt6f7;NW+=huS1UATYY@J+^OpN47j#&s!>?zR91{;97)W*D1AEp^%gx5=C82g^=qJ%KSJ8>apoWTJQLIL>sWx(>?I8)*` zYs!!S3%pglY#y~5Zbj{oKH|uL6#PSJYlV0P^g@hicfL3POD(uu7T}$enE?_wTNuuv z_=m!B2FdP1()H-UsGkUo(QoECDVBzSz;{pNH3`WwW#V4Q+%(!z=m0}X1z#_rNXQ*h zLV1vm184+567pRM+79O@B}5p-2F}3=(U1gwv14~##~2Lw7?PxLUVQal+zY+HwIE=|GCMj+MM7jwP#@vTOh*b5c*`a?M|s5`+UaH(L_uFGakv= znGsPIzqT^qcf5d{;Tr>mRwCEpHg%!nnDu6Pxm{eS=H@$a*#jFjt(7;lMm}~rTBB6S zuNd9B?{r#~rH$DG`P0wMy!5C2Pu}+OpMUxCQ@=R)xNbef=&`^al~(TMKM5y9XcJDf?9sAygF0Q&0C#(r!;f&h2On!?@tfhd-=`6LlI9c(58C?-S&M;=WAMgRfKgV@77I& zBkjJc%YI;9zZVPyg^DiG8c+uW=<-M~i&loSzlnb1*=`cX2qPBS4p7x|`NbXRMjY9L z0ryYJ?gbi7qB!s(-{VFGNiYb)zV9{)D}~ilk*{rzfL^F?=!WuAQtewNBW$~o(p_j5 z0@4L0`>%NNw_p9!Z5RFV){Fjd<9WZ^^ZDQG{rqqD z%5mTMciwjCJ-_|>gLi%Z@dvJY=82nLeBlqTyz^i zS5B(-+ms|JaWdEConjTGIV{c}_8RmV9yiRHBOxzn%C9eb&? zF&_oS5ZV@^+Z5~hRZD9?Nocj0!Y=ZE9Rvk}vP#bdgrNjzIoM)Y>4Q?d0X-}dqaC7~}A0*49W-IbUeXW}H0_!5IOq8ZsvDyB3gZ8(f9 z@*nmR&(a;E8wW1#9>V=*)fa#4nv4JK=CAzwZ@%;Kdw%>M zk6rVHr}v)!?7oYhy9s{rRV# zxcXDz#~A+PV^@9R(W^fG=vAM10RcGV{z_|XSnyyF{>?D@*?&ij8papk{1eC5X< zyXxbQUHS1xul(4U=iMQ^+Pl6U;_;(xm3^Z&0qzw+)EZaIJMksq9X;9Do}`ts6a-<`Sd zn~z-ap+9`-fB)vPx8Ho;+wc9(2bb@<&^vYC(ASl`#Gam`e^3$|_4iPA|6ipn>UJYI zMRZ(tW%cme!8_vM*$JMY!JUjpCY}L;eg}enIXRhQvs=&?tPtR9L*LgN^#!Z1<06YO z#sVG8}K1SL(0pvF5tanE8xU&s@<+LsUZ;HM1Y$!i6q!=WAm zA=GOq%Vj6IPcsxbQ|K`%t`N=XNc6bZM8h?t$A>?QE-YwbeOVYazLpx_@a=F5Pd_WjivZD{@ey zmA%5W%Agj~)R3ye4$!&=Xm@DEC>QRL;-ZCl54FdFv^Olx5rqNQfwFYXt0_*!Z>M#z zoNaDLi_6~PcC<=9m!kMJRRSy{{7EY+iEj<~ixTfZyH~uhGl4iKg&HKgLL*MOQ%!Tb z-K~C~9kKy4poZF`VOmyNk!V#a?uv}+lC!n8q5PrO)4k|0!q6 zJ6ZTS`JK$JOaVm5N&IuXK1mzHr{WM)D0z2*Wxvh%Nq4){hq9IfJGG_AA=Q3IL`F+kvn2HFH z8IjS424ay;Cvl22n>xtLI3YRu+D5(GG`W|*Qc+7pAt&u2**#jN4NaAAMx(07)>?DF z;=%cr=MRBJBM~(k4|(wNtE;p(*M(GM8I?l$;@1QVk+1-7OeiDjHARX@T=F!QKRI9X z?3(7ab78(j9UaKNy}8m{TN1*11YzP)+1ciGnrK1_b^P)`5>YJt03QuX#wkwt7z+h8 zU7`IB$S%D^B7A}pMFVHW?ZEpTPtkIHM)&(KkP$};z4BrziFy=dTzU-|ftV1jIKG9x z|D6#kl8+rh$ziX)_3&)*zIACka^_szx$OSImCw)TN!BMFQIl+WRClA`Uh(3S8|M}- zowRPwn2qzs0Qat&4ct3o-OQojm6Hc78w1rWc4>V zv)^%szDEh)_BpudyPG@a6fGIHYxIAd%Ib4Ct=AFoQsSd&y^ev?dml~jb#U=dyXSmc zIQjF9qkF6w_QASgA8Z`);igf*y*+??H;wGR8R(Y)aJMaEyXTGmaMQ4N_s#zD_O=NX z#}||zo>6;jM$PH@mo|?qp8V0y3EdE2^O(qjLj3|DV zjG$d?U@CP%0;xax=b~0bFJ6b;CImGMyk&N?<*kt;M3rpniPX&GsFW2 zcml9s0Zr-rCEX z!bJ`R0xAt54vS7LiqHu0hD11lJ~~K#x7P!YIfzRnWQwa~gk%y|42!@$RB+QlsAUG> zG+B<;d6vD=h(>e5J7GB$AfEtL(lTrWLkWn|E-^l@&F{BC2Sof7625077*x>u6g(>& zQIrr5_|^#pbwEg+)}3-&{XRDeoRUBQsyq%(aS-&CJr0+pF-Y+U=$k^Q79fpqgw{2S z#pqiCtrCP>g#p_<4ilvgkO0A8G8DJsH7m{*dt05R`WRw`eO|lM))WgVxbL=GJuW-V zg9!Ott!1URPt-oY<}f|?m@D0_752t*x1~Xm9MKplHuuOuH-d`f@_5WXui5LdDD<&F zkH=}*uy_>qN@aQ~(8JNC68H07H)7a2jCTNIIX@pi#3Z{nY zXV>puDn7j@^T4LjTeJVVWywdoa=tJ(SBfyOPbW8B2CQA!W6iwxR?hwN%DI19IS>5a z%K7iDdV%K|On2w~dF6s0s{w=0=3R%Wg9$*&ZH>=&WPh=FagXiGzCW~O{Mmgu53cU7 zeSXVsX++yWyArao*`QVyr8W9P#IU^pm}oSBy|9zA53e)4%OtPEX>0Ym%&OlJ(*2~= z(J;&c56=ljVA(x(ugi{RLhT!Jgu^Iom}lgRraE(1vmi8QdJ>S1`qgzvfs#}tpDg)M zo^fg_^mR`ZFCs+oqRwCe!Xy~s-;nIJG*nkSx>@$z4ie|7R|LWI&?tMD*qG+DmY3W+QTyyx!0&qbSr95c zpi0eECDw-0urA>@?3Lf%VmCL1X^KP;Hk{sBD1uO!+?Lmqh!%Md!)8c$S)*M9#I08n zqOXs-msL!J_9fYIz?^Y?S5EF%ls@v}rinKSCfzQWay@U##q|>| ztQ&uUK<}8dYeob5UR*c26Z&TNxl^23lr?qF)IVQXIaCa9K9N1(cxK<@S^a=`k7v^H zSSI!Q9ur-=8GVkV_db%=^H$NK{Au4GocjKWtbTyIf&qGu0{t=oKAzG0SX$4cgn@e> zTJ+=Y+20mS`h5L}57!O#@_ z(4G~J3Fi8+`N)~(~m6vp=e6?ZR5Ia9MR)sdT;B=nUTgDXwY1UztVqtOaFWl z=IL)EBZ{9TBPiR-R}riyf!LQ>VBHrO*Qu`{!Tedb6Z*c$41MF^1TKXW!vm6Eg1$WL z`ETg;1@go(hL;ni0uE9_VPF_q#5Dx~3y}E|fCK|T>c-YVf(;lP3cybgo))7WqrVr7 z>v)$^*BpWc#D2x(bZQcuPMhR5OU_onT|&Ih7S(Nnm#O+}n&bkArP;^<8X_y^>vrOE zNXQ)GET=Mrd{J`a79g9d0i9fGDUpB~B1-t|ZHDc>h6Ng&gEWl8e}dgbd_@B}iNW z30Dm@2uZj?BLFrj(3b`fielswIz}QuM+%-KgbQwuX`0vVZqaoOB5{HoG8PUI!cpN6 zvbc%Dq*c>H1Pchx#GuFyx}1Lk(xThM}_bn!?u9*#ueDf=9Nf2zCH+)|^dw5~6N^!uHb zwtC13*IV-W9dsX{6L6}UWZBXyF$859i;R%go*@5-DiGw>(JTa^h4cHQ|Lpg zuFIP6-u0inl2NG(BeV|U`fZbeHUvb54sg8%jFc^3aTBiqKt5tflaGxYphsTL@wlZWK zaIvZS@%<|YP8ToTy?RJt#+UhNpKMtnOT?B@L!&SCzd+K3 znP2Z&H~j3r?1$G6x7I&}8bLP@7!t>5Z9E;-1VwG{fRPQTnjZ`!8PXN63pHg?C8sJm zP?GI&ou;gCvqawU_EAw~UOTFQ$^oV<62@Ps0~Iip3N>wR&2)m6Kx=~0Hz0aDqkUj>4jB2^9nNT5Ic`UMahGwyF9FN*Dn;Vo}xSur!ugTgn28 zJr)fhD2oQBhX|EI6{)2W6lMeSMnsMUa63U?0D9Td_TVnE+!TU$ej2N~(QN^dCoauR~6!6PV*mr2Bid&nJ4)d?t?1cyYzD_@Wi z4#el;QWSqfdW^OW!;9VTbK0QEy5ft{&VuyrBVUM2!9Rdl3WGvSvmfl6cYE86OPeNL zSU17Iy=%vvTQi1u_2_e}M_pKp!aBT)$|?*#CB6#h~L^15al6 zKgoz!fZpSo)a8qF0eX|r7jXAd!R(Erx*whM8I6Ko+VjX#>gg5C(6{HQtUdt1+#B5U z=+d6YGJ50Zz6C#QoA#wx=4#`}4{5;jnC^L_yXB4QhGYKd?gaqAW4q^#e1FIIzg*fd ztme!@>&1DVYx5hTyC(P8Fzo%kbAG7ZGf^qo9}CJ{lH`(bp}wWx3PHVJ zN#dmiGJd~A;@QNJFY!q#)7yiY-8+Zfp8snjaVoR_<}Ur5w0YlFEkC%H=v4MUxcJ+z@n6>dsSCp0q9N)k>D|1l5Dc< zAx9ap5h_Ntqj~vJ;GrONi3kXY%M+-WP6!fHmg3>C?)SU=etR(Ji?!>7e(Bo^8KqbR zX2WVXSF4H(C>O|zM>Z1E1~&{OPz?A<%Z~~091D8fHlGh(JK=Wf&4Psrs7{BOIy1c% zb6Y+1lM68}OCD=m15^UPfD*heo739tu{C-ubFN=!bJ&0fU6@=HUNYu6gwz;Jr0Y*+6FwYBkwRK^d%)0)m2M<$+Z((&hJ}#^-$V{ zy^AjFUUFr3`qe!dSN5b|*}e2i@zSfsY2a%FfS2ApwaH_vgg1nT!*Ti~z+YXcyv3|u z9&ir@5<1^WRI`QxK>N{>c|C4eY1nWwYqtypvsCr@3$N=hr2tY_A z)Dh8QK_wvjTsE_%wb^Ag!45zMm$S9D>aMM=G_2S=LIE0@4$X;#WLZ*V6@ENv0xh%- z0Lef$zhgqVgDvuVZS|G+@0{O$q;Tf;oFBF<{Wve}Yrx&D%ld6wK5*Oe0b6tWZC%!9 z`|^RC7x#E{<1pDSUf-_ze#89#Y3=Oa<<9+`fob1}|6|46Kdzkre_Ye>v_%vz4v%gg z-Mpmx_S}I;2+1MQZ8-xAm-Q{o?wObVRo>E%cjopwzJ2b!%ew*2Wxtb$36Q=)QPFk+ z0e_g5u!45TlGhICtN2|o^|ZTKdyqC%Lm_b62!#TEuM@=NE6+~Upfk=xT$FChW+(;Egq6lHwN;*K_5FLy1GQXPG0N^%^px@H`@af&-mZl1{ zCB9`mWkf+g+hw1#vEs4hL|sH+N?_+@w}pCrp*-yoxHxY>-@srArOd44; zB#(DQFrWlf8D1YQ$_xfDcfb79*y*(O4?vW_R`Hvw=&}hhX zPWH0vaGq4+um&N6;`kQ&{`WxC0!S(0l(?Folw96_U_<(@l?!hiTvv8(L+#yzA-O)R z)K=aoy1OUyT)~p`GE>Vv(D9_?9pW9#&b z8-REx0`y+mF!AEL@fX*PyRdHD`88wDuNi%wM?0Sd=*=Al=zDGzpl|=HTc(`OTeNw^ zA1~zeJGpESL0@C2bHC$R{f}kzr5<3wV1a(qdjt0#TJqz$Rm0Bb%~(I^-%c$4_9(zG zz-@Z3ql9}60DKr&H@)Za3|wUBo7VG48jih=^W8&>f7~(So6TcB-Zb)q&7(fZ8`F(@ zeY+F%9ZTr9aBR22aoq|={psNRFCXrnX1$iC-(BFjv-I}%Nqc8}vU^I8!Z9BfjQjLa z-r&Ha!l<`3wMgI6Z;*t+5+n>3$oT!HMDJk1!mo1Th${q2dD~my5M~4V0_6%O(94?}@x@N`OBg%x zot05s5IzNUparPInb{awN6=U4M3RKD$)DqulL?L*pt?(nlqf(cb=8WelAW>Qgd-ui zPFa(^w0xJ(C0O&jb;%o2{Slg2YruFCo4c$917o9z2yAn2bC{>JQO9HF3SnXiYbmIZ z@B(%7=L5IOtJ=ywtL(EWV%ac>CJD1JKCjzmZ>w#qeNg}OO7(-&)%Q=-K04Q2ansgR z;&rsZ%|)hYlp`3v7Y}!&u3AyK%t8&g_B#pMW+*Nbn-=jtrdKk*mB~Y;g+>JQRT=t{ zlLQrFf?q&bNY?zGD7h*0ZhmuOg*T}4CxbC+0tw|ePH5Z4u;}AOVRn`zcYVMS3~01} zEWjK5Y<`dApk|gC0atL?S`S=LT*8<^(hneF({C#a|>XiV;t- z{UK3t#pP%Y>0Xi&o?)b2S5)r!;!zdcr3~?eNlCJ(GU~fVYmwb<5Ad@acs@d-KtljJ zKtZa{X*btNewPT3)VZ|yS+;&S2Np*=0ut_kX;A0^O;b>xC_R)Xq(LKc+0C(#thfQB zTLS@wvmHYLx~abwa#)dSORioxlyh$HqRaa; zuk6Xbyes2!Q9AfaQQEcQwCj6tTykaCqMHYoSKc}7Y%7-~m-re&t~gLH@^jJ(i&C2uY5x;swIs#gt*C6(9$X ztGc%OdP7wynLF8TZg|jCb<0%y*zai46)B|0f}vP2qQ}}{=YyKh+f@DJ*17G6@}?AK zez9fgCk2_`7iRY*xSJ#3ZeIeTNzUn?pZ?XAV{0|l9|{G-kzh+@TgJzmX8hNjxqn!h z3T~rh|lTwxuDyu z>YdeR)LepuLO>(vi)~Pi#{$u)qN;9SY!n@!T{H|vb0C9F_~!DF$IE<3Fa zRgW%IJ-X^_sf}m~Uymz_x4EURxv5_Adk_gJAE(8t_BvsxNxsa+&6fzVal3(-PE*zG z(px9&rh10`^cdwS!T8zH9`cxL8!AhnX1D+g2{0wL_{Nywbq zMqvI(GgS$14IZmcc9!z?dI|+qx6ADFS?PlvO&NeKU}N^rB$A$GPSVR)lJpk({?>_V zjw>%9x$V_A9$hTnw{Gcy4QWqKZmGLgXsx;w54L&DkDi{|aC=Y2k&W~7mrluFI=O&x z@8$(#H_solao*_MiGw!G8gg>;%zOJ6KiWJ0R>Aa3>n8&4UfDGH%En2T)=#*we*C5N z<1efO=p6&Tux1oP-;rlmjyMBeG5qxMp(nEjTv$Ew%C2Rb#(Z)y>&Fw>gN|oXPw%nJ z{zo(V9Zm0hB)!j(G+Mce2RZjXw6yo(wBGv{evimct)I4K@c(uy{Rf);%aePLW%NGI zUAqi}dmUvwe1wKT0|wLhXSz$+n9li;Ui%k(ziG@z0Ki*De+alsqn*ceD;R_G54Vo{ z5a@UNxDR)Y`^(uiLz^z8g`T9TPtu+qnt5>UU-wS^c*lfpTgHBNXX7yWdRD~MXte3q zw2HU%pG#ab29ck_Wc+?pO1@Nt`))Aa&2P>E)(TF&o^(>ht%N`QrqGvwC_!J9obtp_ z-X!#eV+8-{b!sg%Jf#D$To6 z<8ee{V8jHGv?76jCL#W0a^eb-jX-)-ePYcm0$0pbTo9*|dH$XZ<%9y$cmbeb_@<(% zat(H=J`w-x3H3+{01*Ivc_t@x<8{y%CvY+0C<1KbE)_e;PTg@9*>9({QseDV1lj9D zUDH(3t_G@;8MX2tOvD59s{#EwT_(Su*YY7hoknlN|94s%d|n6gC6Y_B_({Nq8x(w2 zv>;$k$?Jsu!7WzH5agxNwoXe7=+k9(*-Q|gD;daI^V(V!pBuT024zcASxfZ;$x-jK zwdj&0IUDPrUv8?n?=saXUc1X-QZ<*;)$DRv0RMSVDmWGj12+O#k~X0dBEe8J6olNm z>h-!zHfy8P(Wd%6(SWSF8Y=G}I=eUhG!XCJ^viqZUfwhB>iz}S4lKI7Xa0rVb1v?k zd+p%Lrjjd)y~)|u)LdI*ZfTG_rg+SYB4RZVeRQM+0NY*r_+KPZWmL+Ek)Jq8T<6l~ zek6_!)j|E|DU9MpA=3#eD8~DH#iBawr{uNyTsEG&>p>O6^ug@lNE1B*vaU%mQ>x!3 zd+a`^$!l+Qw$@mi%51H*7E`0cVe$K2ngS!{urxiXeRjpuS}WU{s~(;^e<1hxj>Tto zXWzfD!`bw_J&gQzKp~y>hO!5zPZy_c&-o!g?QvcX_Oy2(26zmHo~WyXNO-ekZz@ zU(GpvAs%4))@A+jGrrxj^wXWWy-yb}eRAul$I%!KtE%L2+s%F#t!o9tj z>er-mFm5S+Z&Q8s?b65Rn`%k}lCvYGcC-h=LBHE!YHg^pn_Cbe_gce%(->k%VW83k z8A2F@c&Tl^#IGh2o1ic3jia^vM%kTHE^8Cw22&>agqUPU3kbMcDw?XF;Vp*yWa#2y zzt>@dkOX~c<}Qs!VGVytuue+eO`f1g>3hA(8y$&dz=(g2@ZOXqH=wVsdqY7P_6Ip3 zQ*FfhPaz>{QgRT^1sT6n=q>d9O;fVY6tB}-dHuoJojX@7I-HkXd9l#)V3%Tj+#a!5 zD=(HDU2$z!X3_Fld5b3%rcKUYGI7hoarujAwDa1TBUVovd}#I5M~5;?j-}ryoN;Nx ze(a_7<1VfrcVR7{?`YBM3*5^*{1k9+&ft^T15W1* zyt{wJhDkpjU-b2rwIj~u4!XE4!7gh{9w|u~voPK9>`kh-o@MKos zYa2)Jp4T&f#P3dK0vIzkUfS~ngIn(S@`{ohdudE#Cx|9{N*NKAt=eEVS^f!{QS48wGV={if86~W9=bMIKjlvsy zQx?b;oO+R?>JorFNWrN<_a%n)XHG(2?FHx?;HjQT=!oASJ28=gYWQ6*${k$`=W_xQzTg{`UvYSn%*P6?3nd_do%r%n73V%xk7K6|62pn`kCaPTp?Yho;{=IoHpg8&71H$!m~mseAbay%)D#biOd8ADPEALkP(dPVM&kb* z62&6OxCF5vNR(!jL2{fV^9Z!VE+w2!NYxJa4kZk?809I{mAqTr=HYfmT)%<MlbG>SA90$B9e(4y%R1TAspi|7H|f?$Y0IhLNjvd=(F=s@LP8rK%$#U`s-i&{DU($>+5T2@xAulnhRAF^F2`Imz&YWuMDw zYYXWLsWE(5G$n#7AwV^s#~uX)cC^v@Gy#QCAMij(a+>{aI~A$VVQ;CjHa>T>RQl{K zVO3JSCXc1Esp?UE#UsscciUS4*i>M)wnmM%GllYywG0MzRa2=1X&E&gKhS2WmyGlu zItEQd`fUJ#K3h#=+2!)PhaO(ub@{-uOMB;C+Q0C^-Ua9OEiSC8d9yL(u6 z)px{T;v%ZsXKSi&t$pY;KM4jL@hD&k52hf3_<$p%GlCMeW03d>66Xj&b->-fI8R;# z(Fv4?^70~!w*XEA9!7D&?m<0h%qLepYJlu8Pm%{ie^B7GC>NP)D5oFx(C29J*lKN- zx;9gt#nNQ8)Z0u|ja3gy@0_lGbk*NfRek%+nH@_`6izu+IO%lZw3Az>mR{Yfx@^{_ zn%n1g?AtIZKkd`J^sfPQx8(@L%kVP0E86VJ+j9ElXZ~2cc9_f7$mIbu5IK~6cIrFX zV!H2~|5!2ScPr+Ce=m4t;)E~$jsyJrig`TI_dw<;ywgyGC^na^dH0%OG{pLq(Dx;& z2m|L(KQOXTnEBPgEfa2@Ev$Za(`9c}WS^$sg_2x?F%YH(5~9_^+%})r843cvLa}fe z29~CPQnO)#0vp70R>7=>u)RK6@&q&~3>ZwSInZ}Bvgd%jv|vGdN3fm0Y=m{iW^R65 z`tWph=_SeCfK*USv6!kUR;RVb)KKQPo8#2soTzuWVN;pGUs7^XD~b#{cv zm<#29B?;vh0dPcXf&~!oS-gDNpuP6l1hu1fB)>y~GoyNuG-4!M_>0f|ee^S#dV$_T z-`_5YT7(_;Ia*ESSFRt)FIu(u&9MMH}1lk(afXHt{QPVcNqBWis5H-hXUx{*f{#eh7spijY=Q%@umr%p2-<- zBD3$|#Xa{g__28Ice`i*b@wdrH@jzjjpLr#-yE3t?cs&rp8}L!^4+pN|1ED!w@b_W zo?qVY%(A{GGW!7B9?js%y)?F&x_pnN^C0I8Vq5_L7M;BafFmBEU^q|fb!gF#+opW6 zdDMsbqyMs%x_rBB9or3{ck9>>wvF$$eSG(w6F=NDwcE9=6TOeKJL+;ww=zyGAGB|J zkKI#xY##BKGnu^{=N5-sACX=8HLc|>{c8v{k|gpzn2g_VN(fJ0AXqpke?PwvAzV`7 z6N3%6^|fr^Pwv2^p0{u)7^WG&DFBidF&0qG&7GDm0ey8EjSTb)d`RF{bi<0?QLuoE zVD_a9rYqccnoOFIo4~-4AU*gp`b|!w?aFxnCnE2}y$DZZj1yuTETAvLW*RIlR@f5g z7l;(7vMc)4WiPIa2*HS4NKWF>Xl+Ama!Qyf3zQ4Wh$wSno?H#69D`e}izS-GcLbU& zEyUxm34p=Im}hwRUVF2nwaV7`%-;Ca*<9we)~jAiP~(xYi4oeo&JE4z3joaX#5@|Y z91Q_4FvCB7(R&bTXZ%R~6sk)aLeN)FKwqB$eW6Zd;Smox%3(NXeh-QQj~TIaB@rj6 z^PEn^=XAnX#H6C+j-#M}62$=KgjBJpIREU>uv z&!Sf+MCZ5ycb2{%fvNU+W+{R52;~cZGlYibvz<_T|T!h8b*Uv1ByhhHmnF+ z4|w79Im}o`8mbNpLpp#6*?*_Cc2K$T_K>biKCesm0Xfs)L$o!Iz1ick;z2GPsz*wf zx_u(Ry&NGSF@Oi4QoqL@kB5x0siX{m4VuScq0#<9*=uW+ybkCLvPMs}M^ul^>#_hX zcxf@WKCBUNl~Ow z2$dB0&XwzkU3k{k8UZ)?t4uj%R2>wE5<-gx(P-qoWUA6(qsPhkq~vBQg=PH3HSQmxOMUg0N`DVFYH}b zv~s|fB_9`L^%SFsU+m*eg3MQ9;GDido7;1KXsmt!$&ha}pUXwJr@WK3p!=%1@2;5p z#}#w`uwu^d3F6NFkKEb+#{BQOvw?VlesT9*Uf#L;su};o@~gYv2_jA4^gIwGZsU855(zXN(4w)Y*dEENaatX z{=;|`pwXm4Ul2DOm_gv)pdOH66QIVhgy4`K2nU0(j-g;;HVwf-9vl%=BbwXZR#o=s z;`4_W%#F{3l8ff7hvRx6;IOsURX?$`REAVHG%!XMRj^J2GzcS-wV-*eDa7Amh*)Pj zeF@=67(Z!bL03k3;$c=7)o-dVxzzaVsxCWOg%Z|2Ve?UmA;r^H_1NB8M?;F}aj0KZ zk=!6WaSCA$H>|agJ6(pBQNOet0Y@Y%E)tpCy>tcuZA&Zns%c zTwz)-9Xe0f|JfuY7i3&|6}^SNzfls^259DPt1~~pc;i^X&gJti7O!r*x7$~BBC0ip zr5f9#y%lHIAKkP#Z^@*cS<|+q8@Lz8^|MEAm_7VL!Gh-}mp?kN~CtltF=Dy$cfVv-k9h5$9Kryu5bQ)%ByVuOE4J?eGgL zh8)l6zkALPD~I>U81xZ%Vb4D=?)~RQz2C!eN$)=`>Gkg7Uhm?#q}LzQdjB!4&!3j` zemA4{AD8uiFK6KUxr0AgG5Gzh6F%BM=c{9jzdMup)464R&*k(zoed1!TR>j{cg0X= z!2%Bx2IjlW)ML!O!9DlR|E_T2Ck10ZCkkG72b%gKy>&NDOh`WtA~$3qVUF5*;mmTZ3e8ke$u&<8{p&2@za}_m4-A9RZjDfMuUkfxryZ5kJZ;P8c{S zTq~iLsVXbZK{yu@f>{2p1D>MB>;U<6mS|uBrgz$Or?b9P2)VHy!(sf6pInIl~|xPZQJ zzT4yQn+YF^0OHxi34MtGs^sN!0D563xc?jisj|mmR%K^Mqit-+u7r_GV^E2(Bsd~> zh=e1g`Mg{XhUJ0(+TI?5n+``FXcRU9kpgf!9VVXjihOihDgmd(Icih#yWMsRnkNvc zKzT?GqN1$4PAdR;7;Vzp47F!%q24s8sOEP%tW8d*N%1;5A~frk3&seI zTpsW{!$_m)*|R%GD{dWXdU~<`=~ZWQc`WFMdWTfiVXrAIJ^$?SMW3a<9k>YiJl=uA zb~{YwmYSA^3ahCB?tUyr-Emy7lp^zsgj*MKJtAqoE7Nk63#&g2!kyislUjBmg|rZ#<#|ylvLn$6iYV3OufQ zs_vgXwR_R&qG_iJCmz{2u6WI`?aTY-XZ*Dws~5w?*N-a}{36=yyDg{RwwwXma|dtD z{JQ+{MTiF_#PQkH@-gqEO?_wCly|bHzLPWkot)Y4tepQpu3h-QtXuS7*Dv~iuV3(A z*3J7L*Wlu`cXB52roL0($sYSo+LH^uDP;9a2TT0*^FL8Rxj&oFQ8W)B5rSS>UY;FOefDa32e!qRj*ZGq^-!}Ejoio1LIrHlsGrrm}{VN=|Py1r))GzWTe7a@aCmTm~ zUp4s8D~5cqa`1aO{r{ZZ=Z`u4-(55K&s#=+uxrXkM;3g2CgaER%le#K-tS~qUjSO_ z1SSC7ixznX?oIm%(3d)dx%*cvf^{_QC-CufS}A(>tZxd&b}JkWxC;RM;r4MKY#)yk z96#JSvHPw`?;l$7Q^Vz@9Sv*c(%j2=ql>5Y*f;&-yb7Q zuO-81G2vatKJY7im!BoW{}XQI-_INy9oakj+o3NQSKy)x=nFhXos9&2jm551*`@gH z2K1$kUJ3dJ)mK7aEyh1-25eX83+6A`UC=K%*>J2Qy!BC6=*x>p1Lz7iL;}iA78%PC|4z3}s&K}qpII3ek{AW4l4t>C5ybcafZE5>;Q z{E#J2D5#Pb8_|QB918_SdqpEg4RLYNF_kzsM8@x~gv6<7ldIiMi!C$sMN(+L&_)hm zJe&AK4mHY+CL8M-yV|rx34j>9Y{_T$d(FD)qFSaakj|(bWRbxtZR3QWhzm*$UFTSF zAZrHywW9-)pa4R$$Ln#}WUs^TZgab=co4zZE|I;$iLPsKo5h2grU1f1Js>$R-bQ{n zGKH3-NM4`IP9I)WugBUFkiBSekOsMKNAby?=7w^!xt?0IuDO~U&2?2l$?kWzI4rFp zP3`E=osRm-XE&UtYDY`0=5|DN+1l3NFg2qQAqK_0!aLvzFWa6;xTGI zs>fk&ZLDf)D7V>~0s&XNotEL{gbYHy1hFzu!P28lB7itS%>w$Sj(<)i5fTI?#ZLqX z26R=H!l-T<$Q=dHW^+I+vMIEVU>YLh>!>1H-Wl}(lb|VhDB#CoNhVi`J=WsRS%cBi<9{E5V^K+QB%=Eqt+ge$Jl3X;7!Bk`%mBuKzLvIn*@p(Mhk{A~FZZw(468T-k3+p*CbqN& z@yk}cF8BjL2#PLgyxKEqF_S3s7YUcCTw|*0@pvo&&8O=$X!LN<_bHHE~* zx6t>uM^rIXHvrYL+MYSBXxa4b znNteWCKWE7v}NJA4YNm_DO^~7X7%HJORpEqytQ>U(C^KH88`B$UC*C>BX8=}&6BS1 zXy>b&CSBP$;qrzF7uV8~&et|gxLYvkcHa1_>qZ@1+IREhzh(~pXhE+J7WesJ*^nOV z#(cVM>R0>ce|K=vPa7wEozef#rxcb$`-JXC=6!iK^QZGU zeb40dJ;56t5#ptJzl44n5{r)CpN=kN=JVs+QG9UW4?8A*S~!N#FAy(Soa|uqyL-}y z#k0PAetceg?K-V&?Zv#Y`=)-pf5xYIBmaCdqo3{cg0Qth6g-#wTl$9+N>#jF_*K)% zLeG=u$?L>0UoWv?Y6Y=529Y=PD((VY-+*6uJjo(yN-&uwzY#iLUHl69W$4?@pISSBALxMwM7Fh&uK4T*y+9@}|Vs|3E6nQ9D zL`Qgdjr{J14E!wb-vi_Tzz_~6#|1rNJ3n= z8vy8nkQ$i4IZhx3;slJ8JgU#BcpW%uekaYyCBWPnIjt{+N5l%%VK8k96%7fd5u`le z8Q6@!K?u(U40j_&dy{erP)8HWBpRl#0})-LInwmWKt<$82x2ReQ}sgzyXLoR62t(S z<;)uBo!96}R1JfF?mAAaQ>`$oG9EzyVG>%C;20!kM+B%NOm$5I zo(YYyYX#jR%LCXF4vKF9v^6C;%g9~V210$doOc|ddo*?+pld4JZcUK`ni|wm-N9&t zhSpOIM(gXsFO$$}{Gpq4N@@?n4;ot>(&1`RqQ-4%EI8puUqPJc&yf+1$+*;&a9s!h zN_t@M$#BFyzGi%cg5Mcsa23=QMfR$S5AGc;0NVlIj26T~XiA1_0lDY=>`uMzK}-=(W|z~1f})tIGy&`AdjZ4~8}=bvOd~#Uk;Lrng7XGAvEC zPrZ(|4(j)^+RSw>YopuJ;A*R*f=?5)9wMr#a3BS5pJsymerPdAiZYbv{5cK=-U z)9Ws4eIzIYs6!(=qDa!!T=lHJ{Gq9#%xP|veU5M#D3@$PSl2xcdt+^BbKQNvyEckC zVq7Ftic6Afix3K7QR??4&F5~|1j?l_C><0de{MsGQcwiu0o#0AFe)hm>@Caw01X5s z0dT}ERyAT&n$RgEo@|r|6NJ^J{oz!!-cShbnnj4HK1X$3`3+NDiR85gsXI}!v^=|f zBxlzO0LWj39+_!T<$+sy0&rgXH=CFA*p~gx?lnVC6)n1TCjZIpI*~2i%iFai@W^S&0bmP$VQ=5)$pIfwQ(AKQ4HZS=oKjT{# zhSuMDW5f=o6{>NPpY}!3s)5%}=9`-;&&or!h3@^XO?`9x~kF}&mLd4v^54~KX=_z-9`dFx4ogI{uy2wwAnJX zWvWUfh??Y7spja&X)}{tucw5dFEYo_c}`g(<%F_CReN)3>D|-T#!|>YrA$-wX7 zil#`C-=oMr7#zHF$qWLb!6by$#u{bTn?R1#DZc9+}>Y5LdQ!5rr zi*bwN>cf9BfUjU4`^|RGILArXvP$LG5pE?P5kKET-`^NkOcjnH& zc3{2v;ci#u*;vq|S{~W&?|6J{?e?r0yRxSj>b4M2}9CLeLR@vzl zcXrIZRX7Wv_x9FVHw$Oo$e(c&&^K=?7@+sc#)((B*Y_eVZ8iQz-lTg4lW%Vse`497 z&6B@f+P}ww-XAU>{_)0%Ulh&$_UO`H=avt=ylTj$RYNYX9&&yCh}*j}H;(`6%;GOj zFCTO&yZ`B&{(!pxx+lOuyxDyT0B85b`O&4{-`qOw_^QbT!~ehMbNkY*tiAxNhnM`c zXYRL!lRw)$y4#we@2wc{Zf?KdZ5Z}$(Ucx17XS5PPM-_8{b_P9t$;-xybN@E9a;M0 z(WO70%IbY8tIzTDUMB#IY3grJoF85CQ}K+iwvMII&O63;OG4ir6T0n~(0%vhZpD*7 zd3Po1z$P!9*RkVZ^v|B5w}6Vs0kWSdz23StmeWT2SJ2tdG?`dz8pIjVC9bud5^ zq5#G5h=9JdWrahN90A#d$dl0mVRGa$U}~~Yn;1Siv9V?~p?4mU3&%h(Pymf?4F`~A zWE{Ds`~o%ygUA$^SG^7(+F(H9snj-2b_Nt$2TPN)GbCUkv(`eY z3~Usk>8bR-XU!LRWR8a5+S8|m0LqgFile52n!*k`eV(VNxT#R2ud!sfkyPwdO1;Z^ z&eFjd<~gWP7zhIykTo3n{1qf3Ns@7u$+*O1TuMn4BoY+_)R83o#4Qd%hr|;Q5AG?X zqGM2(-7c%-chN}l4$=o)fqEl!;t?ui@i$5Qvy)zN1^J|Ur169VccG&+ix?mWz966r z4JQ^Y5iE>=U|hsqJ+Z|R{8#8J>Js=__BzZ>HP9JIjwvMB3`Wkc7;Ve)pa@X@ zIMNRw57}pLsxLJ)RY5dl90~@}!oeU63>!}JoOR9Xay+O01Hs-knXoMTdJNq zO$|XkfQkg8#d@tZ%}+1YJ-KXYd~R)c*7W>NQ~5ntTaDzlx}6T6#|8a|bB_ktQde$j zD3=^flD*Mpt@Zk>X!xAvj!;1H*_ztwN?IDrysoxzNCqfIaZnlZ3<(NF{m6vaP@a4X z1x^}^TUl1-DsbC#)*4e!2<;pbNNy99ySav$owfU?X&#! zPXQfI7caegvAFj6Er+Ecph?g)L$Xw&l887Q4K`a7nh&W8wLqGJ&YzyBEmCVlQ%$s1 z{?(=2D2hlxg9~e_sVTjF`@+r>JLm7r1%myoApI*|0jodrn_%GH)L*@PU}1Le{PZsl zY@S&5@PbbJPE#c$DualMp1x;LC7>#y3990u{$AOQA0lHS1oso;{SB$nfj@xW&sdSsFLb6Sy@~tsoU*l6wUfm_ z9;5g#w3dPZ5e9?S#+sJery9CmfJsVR#oxFra>DhVU@BNXzJ&y@L*vikw0&Q~JJ^O>5500$eo;huI&WxgE({^P| z*`7Xmd-|k}vq$X7o$~ZVZt2miTU+Pc**53ScA($cHwtFlD42F5e>y>5p5=RO(aES=_buwXeE4Sz`*h14`Pq&+KOD>Kdtt@ki>roSSu_0dnh}@R z48O5)^u^UfFRUDLF}MGNgUbtN4>&#lqw^~UpISBm=oeU*0Wh72{$4`AS$&Qz{o%&e zsk;~T-Ztt#&Sduinmw7>`(zdv@VM{E%sv3F2Nr(6bNZKgV?SCmY?3?k)mXUwC zvTCUR%94=1mMehF-dp;Ik}%PKKU3>SlCW!V7XLvkOk|QN1wIlblNL$74*Cic{4xuy z`vM!#x3kwbF?;sspf7j)0uxdfF2h$O9j3*Tz=VDU^abuE=u7APnlYd+qhEr)aoVuQ zcpSbji5(8cf_j7o3Jhlqx-lb~I;&Ogyp^1~>InsW;UK|mN`(?)cx)WC2#O9ea~HQ5M2)P8F4=%g+tMHs z#c!89T^K%US&+$89$ z$-p6qffb%!)yOFWl^`62APqH#3=)nIk2;*AG+mQhSyxI?T2Siw>nPBMJN(;-`p=-!Bnv8409d-IqxONR3B4$R|{A41I}F`*7t|#Rm{3KJf@OfQE>t zUPl~jC%te*{6r*C`l3M-Ur{|iuM?3|63{4GXa^N2ye?``>{J;=gp0voKwJdJ;I6{u zZjb1)2hdmXyC6A@k7N&)0ubIeED7n0QU0AIgyO(7w;e42Z!7LMt#7O?1)z@e1o9Z% zQ$TJc2pE7^!@ApH_WK>NSO6}gh%~~>cSGfZn&NfZf|?YI=su^(<7^BEd^ABCjVu)M zIV}!rozqmKd91qPblRJA-4hKCzpUmJl0xs zeMw8@eMeJSP_n}^@DOj4lO`lPq9MQJZZ$PNcUx0tq!e{y5*@yuOr}> zY}V(dwx_1H3YW7L?T$(t=!bfnxFo1N>AR z`Cpqa9Q$vDw2UM9xL};p)zCR)$3C5ouk{>4G zp|I)#vaNh_v+C&`Yg;`~8RDY}1*q7dY`3(w)YrJ}7BmtXWy54V`!69RhEyR^RCl*l z-hF=WtkYbJ>Y+PiNhmACl%qIa9IdrwZ4J-Ew5zrlVuI3$MS>cjuPOoh(n@A{d7_{a z#_HE*hZ2I_A=C=Lf)~0c8Sx%#2ZzzDac;2DlyF4&fFil@mJ9{FA^0$~+A~eHfCiy4 z7$4!I!AMkR?mVG!;4jRA=AURjfqmh8OM6zg-7hkio{8zLzNWk8dpjN+Te~xBdU4K--OHx#$egkxbMm%~ zshj4GKCymo<*8LA2h(qFn{#)^yt_N*-rhRrR^dz_-dly!Zx+x{XYlpSG|u_bhKV=x zr##*{{l=zodlvS|9Q^T;L7x`R>3MGLh?`r+-rO|i>iUtF){MNca@a-is$mya4Y^1> z7|{1jcCWidi}z%XJ2>_CSJws=oB;s6r-6HM6l0#V#R_~=J4##_D=t}U{tp|>xcMntqaL;M^Fnt_x5^Azn)N@e9Ts5_I(AuGN5njz~&^ABw{=;Z_Xry z2XHlTFEd`of^iP$8`h}f6ggt(>jL!EWG5VNJS*a%>?Z)W@f4$9>h%T2pls5-Wx-tw zle&D7M*)3N2!wwk0P`qe0>FU2hzfB+a=e2X`g$Qhbu5PwxejNYAZrxS8jQ5~n*!a6 zF>`+%a!-UzbHh&RHkCFuc052#?A0|1NKr$^8zjE~t} zh#Os(#*!pxFODL>D@g=aT&A$*vbWMI&3?B9_yK|;pH6EV+6xj4(RyP9JCPeSE2q7!slL=@tBnM`@a7>> z91jFlpUd1)B5CcK(*P-HBAlATU)EWUTY{U$KyfzZi4zkQAc@L zc%p1^LTb^KaFZ=ISspY%QK4uKit5(_5`7sl>QTh>iWr!12fjW{brI%TmOPT*BS|j5 zWDO{Gx23kJ>ao|>;&U|Jxv*pVvLEu(|N5pQgvG$-W&QHgzsXPgc+a}wmyfQiDZSxw zv_esh^jQKb>IA{Ry&gO2DLqOy~PeAqPemA|AXvC^lhs6hcA?yx4Gah3S z=O9i5w$0FI*gbI_4MK8Ttu0j*kI$dmm%VdEU+R(0pdElYn{Uvq%^~yCzuvW?&!g)H zVaz!>syh|{jV26hiGo#RAJmEFn2<1p+{vv&7%*OZk)Y2}S6_Cu?9rvRhSGrIrp8NE zh=!^veoI?RwW*~}@q6$z#7C1#&EUU=kRE@!i-u)eL+SO(M;HB$CbS;9$Kn_QQ{JMQ z&(To%*xptfj|QmS({&06bLg@+%YJKnJOmqqYN47p+#aE^tg^pE2qglNU7{BP-n0_l ziAWk!h}RIE7>u6?EeaghqdKgK(@evx1oWj`&{HHO1*0teI;JVzOSu35|MW>jK~(A_ zrivq`bJR4wOA=pX#0ic7-@-!!BPIOA@h$ZItq`;dM?DZQS3NAdcJRo?^fNnFwA?Rh zdvYwIHG7)xwBFhJ=)~IX8PoRU&MaCseP`B`9T}6ircK;DZ{+!H3u`Z|dsMvi&bGPt zcFe!KeeRv@bM9=Nb!Y3$TLm+~0KnAiyLs~EjgxL{nfz$yjJt)C_Al9}$z^N@=x2VYn*=mL(bhMdmod1vRmqwD7tkNe+l ztQ~xM*?@Do{m(2PcqV7SnPt?MdwLmdUvxUVKL9P@?#&&uH;(-9$ehp4=JY?qDEDM0 z_4jfQFpw}FG4L=wo81=>w|LGs`QtxcH{?%i2mX8hs6QQ@``P83p68Zv2QRN~g%jem zo=2Ag00Z|L9m2$EJrTq1>0j&^N28sS(0A9wZacv(e43q9|j%awrqB78s-qJsc3?udTF|`gdy$OPyV-iOE?_u&ajYwZZ z$)rV+Y)%bWD>z|TyIf3i3P|f@0&=tfvI>|4>=#U6KiX9G_0X65Ayqt^aFJo$;qDXq zg)c?u7an<6&`W?&pkE$k1UX5h#N!kLj_?uT$pBJ@y6h74I_R6gtHj(FO&sB=$iRn; zdj<3rt2axug)fg8PC#F$MjJQ*{nBV*j>G`}%zl2#K)(!qspA)~Tj71a#738|9*_;_ z8>P90fG5Zf_xg!`6caxd7C5z3h)ZgfP(@2+Irdx?^F#R*7gJ6a#) zMBxA^LD#+j#gQXxxEhAn`#MTK4if%{AofW}Wxx_PS%a!m@>m?!7U((q%%mI9u;O;K$zB&up(%(1$`&DWf$Y$L0-xInXbc<|rcHtX zeNCF==|JujzsuStx$Tr=TVqqzLsMfV)Dn-!!vVLov90zo&^zQ|?^|ibETTnd3s$Zmdc3)@=9$CRNWnUID;S!x7(&~0TIy?`->rXs zOLaGS>|RTOYez_0gb0D}Kdcij75{MCq_zyiBM%8eIbW2_%U; zP|3SmneN-h@kp4)Qc|~3g9w+xvVWs)sG%sJ8*RC z?5$bfY)SjPFst_)uH8jAd0F4QB_EyKwV<{B88-!cuQXQOmc4DX9kjrhjGJAK7E?>5)7}!&WyDIQMh%(~+P{{NAjE>& zYaUbe<4bj=*8)B>L0{Z}J__hdRs{f3_c@#E${+X~tu(EGtPP=0gn;38JKH3$i6-Nq z`sr&cl%P{xUnV2@u9UdPrHKR73#zNg^wFFM6^#cCrn2S>e1}W~>Rs|WU{p{wa90@m zlC^{pLc>G2Os+hdpqaf-?iZGj(K;s&AC-L>vrKx@U4RBxALdqczw&%>szKg*f#yq_NgawhUSd? zB7Mkb2Q!D?-ZA6BuIaY`de@G;xN7*NHN!8i8F6vdu#2mPURpJjdU{t3I=@0d-$55v z3_i20&&@59FKo*y82KMpa(i=sFW@eLUh3w}A_U9$w$F+5o)^~)yOckD!@z$#vFICw zIholTSodTG16@YH%)P+^26KQuXR>KN@SfR!%^&yC`k{Z?F!(=qjQjJkg%7Qa11^`+YP3pFN;%8OGV*;fI*kY!(pSSdPlCU^`4-2zJm69ZSl@l3m z#~X7J*mOBDB7F@dlNL#mqb5cRCs;t=)GMhB_u^${=xZz{jQ2tk_!0Ewoo`oik&{rk4(^^x=Admn@A_{@PB+p_EsVN=5 zJXx1;yRp>s3v6`xCZR9ATw`I%4)o z$=K?3n6J9u#=naazA>#5I* zkRaoBA^;PRP)O4y75YP)B(t16c~z`!&Wu)xiZeu|XP89f3Bu3LD}0}$PXs3X%o~al z^aVb2JE#XWZp`&X$%xWOo`_~8eo}w2rlPIkCz>l6GQx?TcvK4p{9cbktTiRVsK>&PYBh;2+XNcnF2ZW3gZ; zq|lZv49@*-m*jO(&l1$p((1KacaVghHyz(H080JL0OPrJ}s-nk-pGc_@CT)7B6QcxnADS|Qu#vo)C;p1aI-z^HKC zY5FfpnlP&dOyaTDS3kSmP;oCPTb-6VOH;Y4ts3Dq8jwZS3b8VbC%YF8%DC>bH`i1= zs(gCGZLW=lRN*$Gsvx(+-s(1+{dSwK_}gQ!3BX?tyS>iTT<&VE4S4Nwu{ai?9@s(l zlwV2IMNA4npQw;7Y?I`n{(pKLbuHc_gi}CJnG}Uhp>~*UpX|5Or!l8Rayx^XiiU-H zgl0+ZmfGi6uN+;oJ?E$VjPJM$_m_G>0eW)?^ln-DN%5K?H_sNf);|^VUn>hvG$OQ!4x?3;U&rMb^!Z_0t%E(a+w<|?p-^+Y1hiWTb6!WnAM8`@EhcP`JjT#@3-gt@aV=N z#0YIr6qhXXhTimXCyZA#ln}s*+kZS352=dF(pptpcBkUW6^E%R67t2{LlM*+l?rv7 zI$CNh&2@^;1)zv(rNWDash^Z>@4uK(BWU^YSXg$pR6MxQRB*uKQCegHqcE!H~Q+jk>JZ~hF@9@2IwWev}!O7 zbr!w8%x81@U0gHt_MV(|!@FI~`T+qhJ8!m-V@^VZ_m_fg1+> z|4wE6L?}0-*GXQa>Qoj^`hZVl_Bsx@%X5Hn{X_;0grvkL$;DlCzkwhWZswC#=f_I-j9|O)AYKlqCS%K@|ONSA|LG^ z!EDCZ`5|jYBrMwB&z+t@DkYMG8t|D&lBf&r1q#apkLAdNkcJTLcfVC)PG2TiYEQ?C{4k@ zdyx)PV`0VwD=Ye!|r4tVWTS;cSE`q4HE8!XW0=8#v@`)W&`~u=BDx_Ud2yy zeI=UftNLhxW!}R{bihi0z7f%TEQ*3T+40N6p1I4q6Yk<%z#H!9X56a-Y#Vc-3Hs8g z&`4N7U*KNAY{I?9K1QN5IY`i#I2<)r*6r*MN3kTzhkOZf5g1r-dn6WzQv?QdCFZ`g zU=Ut@P(vziO>#(HtIyTucC@%`4ffXZ=8C(O56+d{Iazk+boG;~_LlO1>InkAL3mx( zspnq`C~lwyv2i6O4afoqhL~_2X<-Tp6%{&(W9k*)B^+6c-;^jursU70whPAsg#-T* zN0N%M852Tv5{2$Mh8bi8Org}|l9WtWkoXBo{=^X}AVQoXi<%}&k|z`nz_sFPqT+%| z1a)JEEqpUwr-e*KY2ayygmXgS2^=m6w-Stm4CdtU2zB={k_-pYI6b^tEUlvx1d_vv zC>$;jiidQDe}Yj~fq)tz)CXuwu|q|mgz=ajkLvK({eCa$67?t=S_kH+ND>GpL}dx7 z1ds`E!sn&b09w&}{BD!tGsU7xJPu^xbvmr7;se}pIhzA25Gl|HDG@RiiRi(gjN~AB zEEbYHPEGbfwb1BnZ4F+BIjDMFwidgk5z(SKcSOUIyREV6j_k7%LJUVW$?vf@JKCPx zEKMj}hzWHCoD0a#j;Im|dTOh0nOe$GKoAlQ)8}cEz2^3?5)J#Dw)&R360fZ>M(a*R z#RNg}!Q10#n0`l#>};rce%sVg8qu8Q<_c?bg~w87ZY)O%$a5I}wivOAmKP#Z(}A`Z z(p0~zuHxGBM`z4Uni(A6jmfY;Gl+gkJ7+ER<^ zKsk_Vh>6#Xl&JKHxVWkH3Fu2G7xq?>eIB2=}WJg1jHZ+_b6d)JS= zdug}BT#w8e$su7ToX}6c7^97~9If@GCAW`VIJElUmPtF8|B#pV*@gx09?739`2d-S zT$e&8{G(6TdHrJ-L_}Vko@#7 zjA_8H1pnE|DZ#t}Qg)yG^v_NfrL{DaMk7i*8bCP{lBevG;safwf?_ev>oM0=JuEM| z-q!F$m0Q|lXvNeS3~L?=2i;Dyxv|V|sfo~rWJ!AqrHICWfw})xWbK=V|)q@W!D?~1LZyuR{LK=q#GuiN5rw#333lnw90 za47kX6B_#pG9+MK;@|uarGh(Ls=%u-MyNGiQ^O(J3yp5@gRFY2dmIh5A&3JL7Y+J6 zc8}X0(EKo=u!ww*8w$bWR})3?3c__Vuv7pXMdIhH!;3J9kn|JBx6t=LpF{<_t){x$ z`|ljxa(I3E^Gn+;PYy`dr@F7Y^+9pXje-NK=I&oHYyZkw#W~XeeRpO|+PY}$-2>Uc zy^o3)J=(MI(e4EgfPQz*y}y0--EB158PNAm;S50EoB7io7tMUQW7^@2!OMnyv0+-T zD}^(k?45US+th0tMqgb&`ufH(*Ef#7wtf`&>e}I#*9;SUbxcgFYHnX(;|sa{&n+K7lY29J0rZ~C0?O@$p8&CdyFkBU39C~E_X3~J>V0%c z&)w6%EFAN}h9SQz82QH&3%16$_)h8BwePqs;TSvctepw&StU19?` z3C0z2p!GnQ_7>tX#sIot0AR%n=nJF%td_tT$?>E`& z%L9_d1lo3ZBoq4e>H_-u9jf03rgferS5Wap0#b}toT9}u2>ntIFm(cpj^!wC z6wI>GG&wQ4TP$r&Vj~Gn0Bo8I%~{iF4-E2KfJpTqFPltENZXG`@VJO1LY>K?KbdfK zG^MgoLGaEA7%>UZl}g49L0kh2su)7!7}g1pD+IYEcdMoTe$~UXWw(!1+&NNu^U(9V zCmJhm_}pe)M=7DGse?Bbr5;N~rggC3kD)M02H|n=sIVj%n#zQq5Jp^2lDJ}ocs+^0 zNiwb`h_4}=r1OmN=sbabN%usfFtUt7BaaHf3^HQrO2$2=mxUA;1&Lc-gW)eJ7~lsN zloSfk;z>+!pdkvaN0cfLq!lZm;0m`FgeI{$JXsr@i|gVi2Ot*KCPMvHA;g5N!#~#p zlF#cv%_1zW>mdc$jZ20Khb5#KAq~qaVhD!9G(?ue#57gb6bUK9vDO2s%V7f+rdC6n zC&5prPX>4#kwB+#6ej|@bDSJMl!2nBFIF8if?DyrT4hgbj7EKvI}gcxE{nrd<@1`N z)G&GSFQH#}(#VdEEA4TVmB;I9gZ~O|+3zx0TFW)R30JI^RYAkjb(02t=m@LRR2s>T#%j? z-;EI_!8w29(9l4rrecwx-wP;PU3$yZ44_pZ`%JJu)RRlN6{bb?x$SmKv(w(JYmSb1 z5b#*`Ijn6}EsaktZ54{o+8))>#zGw(fU^L&Tz%AAMa)2m>NXZZtpzlN#$wQbb|n;6 zVl;D@@Ef&M)DmeU>MINes7C9S{BEz;Df^ru#RKCO4C=t}G}wmfu_GWkA6?zIb49;` z%pZBpr(fvs1SSOD18OZ^JM{MXT~2ddJMEcF1icX~eu7|C+>W-I(i_)L7aS>=x^3Ba zc}qXZOZz-800?gjKZm7fDfWUY#5Y-o--SbYy=>O-cneVKa_A?Ch`%c!F z38!~UjN$RP*V(pz)A)kyKHGB#BNut;-_cawrJwG|`RVAknYYeut9X3g)bv!7YPxT10t$VU zq#+h)Z@_2aSX>E6=C=CB6^|}9Rop={iAGhzZPcKlQejPXT1-_fEtP(sojZG(41+_& zkgoIRzl>0eFbW;88J6c%XjA8Z8L8d&bU)Jy|j4Foq~xQru>jK^z-9u$2~r{=uy$^>l?>i-#GThrg1>O zH#UyGxpCC>4Wn*=*N?cicK8+Q`vvHw-HdLmAAW1&h+7**+*~*0(#nCSvicrc_`}+f z-LeOLkUj8&tiJDN_Io$I&%0^8|B&8`IHT9^v-Aeol z{dN}(c>a)aZx8DGozx8g_`uAMk1zSo{%muHcJA5nMaSlRd~o(>TgQBOd;Kua)!Yc) zwcKX8mfq6eLny;v#V-=QdB_nVE19&Fe;ac=uOK5OCgTzjc|XbI;0eZf!#a4?KhGSp zGgv2@dL{Iw0mcMAuBZWhXgs|rX|5> z7k&f!3g8+Jvyi-m6?H5#^cBFKR>neUhv8;xcsC2&3xPucxeI<4*)%|Ph`x$5aHVtZ zccnKrN;gS{Vss%~rcgwQT8L21(%!=1Kpf?uxgD*~YDz9XzkRIy_K|0|jy}J4y1x9T z$7up8qyDQzS8602QWYtnNijHK@Zb#Si+Y9=ZzT8TWGM7&NQ6nvlW`+K;v%aSbw7Zi zUAi8C%)ot}>P?83nhBgPJY+oldJ@s5l5vA?iNX|88CN?AS0GGS56Ft_2dYI$llrs% zLyTZB5DHP3uMi3438`={=G@{g&c#JMB61{bPV$^@Q6-8KYE9uVB4bPw4eGMr=ZwP7 zOF~})dm<{saB+r&

          Ir6a4N{90tT*}oD(X3*lp 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 z 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 diff --git a/src/gui/static/dist/index.html b/src/gui/static/dist/index.html index fd6e184..75dc604 100755 --- a/src/gui/static/dist/index.html +++ b/src/gui/static/dist/index.html @@ -1 +1 @@ -SolarBankersCoin \ No newline at end of file +SolarBankersCoin \ No newline at end of file diff --git a/src/gui/static/dist/inline.2773fac96b73a466879f.bundle.js b/src/gui/static/dist/inline.2773fac96b73a466879f.bundle.js new file mode 100755 index 0000000..b49d665 --- /dev/null +++ b/src/gui/static/dist/inline.2773fac96b73a466879f.bundle.js @@ -0,0 +1 @@ +!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,u){for(var a,i,f,l=0,s=[];l12?t:t+12:"sanje"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"rati":t<12?"sokalli":t<16?"donparam":t<20?"sanje":"rati"}})}(n("PJh5"))},"+3/4":function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("TToO"),i=function(t){function e(e){t.call(this),this.scheduler=e}return Object(r.__extends)(e,t),e.create=function(t){return new e(t)},e.dispatch=function(t){t.subscriber.complete()},e.prototype._subscribe=function(t){var n=this.scheduler;if(n)return n.schedule(e.dispatch,0,{subscriber:t});t.complete()},e}(n("YaPU").a)},"+7/x":function(t,e,n){!function(t){"use strict";var e={1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"},n={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"};t.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(t){return t+"\u0bb5\u0ba4\u0bc1"},preparse:function(t){return t.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(t,e,n){return t<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":t<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":t<10?" \u0b95\u0bbe\u0bb2\u0bc8":t<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":t<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":t<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(t,e){return 12===t&&(t=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===e?t<2?t:t+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===e||"\u0b95\u0bbe\u0bb2\u0bc8"===e?t:"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===e&&t>=10?t:t+12},week:{dow:0,doy:6}})}(n("PJh5"))},"+CnV":function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(t){var e,r=n("AMGY").a.Symbol;return"function"==typeof r?r.observable?e=r.observable:(e=r("observable"),r.observable=e):e="@@observable",e}()},"/4Bh":function(t,e,n){"use strict";var r=n("TToO"),i=n("OVmG");function o(t,e){var n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new s(t,e,n))}}var s=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.accumulator,this.seed,this.hasSeed))},t}(),a=function(t){function e(e,n,r,i){t.call(this,e),this.accumulator=n,this._seed=r,this.hasSeed=i,this.index=0}return Object(r.__extends)(e,t),Object.defineProperty(e.prototype,"seed",{get:function(){return this._seed},set:function(t){this.hasSeed=!0,this._seed=t},enumerable:!0,configurable:!0}),e.prototype._next=function(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.accumulator(this.seed,t,n)}catch(t){this.destination.error(t)}this.seed=e,this.destination.next(e)},e}(i.a),l=n("pU/0"),u=n("+3/4");function c(t){return function(e){return 0===t?new u.a:e.lift(new d(t))}}var d=function(){function t(t){if(this.total=t,this.total<0)throw new l.a}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.total))},t}(),h=function(t){function e(e,n){t.call(this,e),this.total=n,this.ring=new Array,this.count=0}return Object(r.__extends)(e,t),e.prototype._next=function(t){var e=this.ring,n=this.total,r=this.count++;e.length0)for(var n=this.count>=this.total?this.total:this.count,r=this.ring,i=0;i=2?function(n){return Object(_.a)(o(t,e),c(1),(void 0===(r=e)&&(r=null),function(t){return t.lift(new p(r))}))(n);var r}:function(e){return Object(_.a)(o(function(e,n,r){return t(e,n,r+1)}),c(1))(e)}}},"/6P1":function(t,e,n){!function(t){"use strict";var e={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function n(t,e,n,r){return e?i(n)[0]:r?i(n)[1]:i(n)[2]}function r(t){return t%10==0||t>10&&t<20}function i(t){return e[t].split("_")}function o(t,e,o,s){var a=t+" ";return 1===t?a+n(0,e,o[0],s):e?a+(r(t)?i(o)[1]:i(o)[0]):s?a+i(o)[1]:a+(r(t)?i(o)[1]:i(o)[2])}t.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadien\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(t,e,n,r){return e?"kelios sekund\u0117s":r?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:o,m:n,mm:o,h:n,hh:o,d:n,dd:o,M:n,MM:o,y:n,yy:o},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(t){return t+"-oji"},week:{dow:1,doy:4}})}(n("PJh5"))},"/bsm":function(t,e,n){!function(t){"use strict";t.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})}(n("PJh5"))},"/iUD":function(t,e,n){"use strict";e.a=function(t){return"function"==typeof t}},"/mhn":function(t,e,n){!function(t){"use strict";var e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},n={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};t.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(t){return t.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0930\u093e\u0924\u093f"===e?t<4?t:t+12:"\u092c\u093f\u0939\u093e\u0928"===e?t:"\u0926\u093f\u0909\u0901\u0938\u094b"===e?t>=10?t:t+12:"\u0938\u093e\u0901\u091d"===e?t+12:void 0},meridiem:function(t,e,n){return t<3?"\u0930\u093e\u0924\u093f":t<12?"\u092c\u093f\u0939\u093e\u0928":t<16?"\u0926\u093f\u0909\u0901\u0938\u094b":t<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}})}(n("PJh5"))},"/nXB":function(t,e,n){"use strict";e.a=function(){for(var t=[],e=0;e1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof l&&(n=t.pop()),null===a&&1===t.length&&t[0]instanceof r.a?t[0]:Object(s.a)(n)(new i.a(t,a))};var r=n("YaPU"),i=n("Veqx"),o=n("1Q68"),s=n("8D5t")},0:function(t,e,n){t.exports=n("x35b")},"0X8Q":function(t,e,n){!function(t){"use strict";t.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(t){return/^ch$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n r\u1ed3i l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n("PJh5"))},"1Bqh":function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("TToO"),i=function(t){function e(e,n){t.call(this),this.subject=e,this.subscriber=n,this.closed=!1}return Object(r.__extends)(e,t),e.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var t=this.subject,e=t.observers;if(this.subject=null,e&&0!==e.length&&!t.isStopped&&!t.closed){var n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}},e}(n("VwZZ").a)},"1Q68":function(t,e,n){"use strict";e.a=function(t){return t&&"function"==typeof t.schedule}},"2pmY":function(t,e,n){!function(t){"use strict";var e={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},n={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"};t.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(t){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(t)},meridiem:function(t,e,n){return t<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"\u062b\u0627\u0646\u06cc\u0647 d%",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(t){return t.replace(/[\u06f0-\u06f9]/g,function(t){return n[t]}).replace(/\u060c/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}})}(n("PJh5"))},"2s1U":function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i=t+" ";switch(n){case"s":return e||r?"nekaj sekund":"nekaj sekundami";case"ss":return i+(1===t?e?"sekundo":"sekundi":2===t?e||r?"sekundi":"sekundah":t<5?e||r?"sekunde":"sekundah":"sekund");case"m":return e?"ena minuta":"eno minuto";case"mm":return i+(1===t?e?"minuta":"minuto":2===t?e||r?"minuti":"minutama":t<5?e||r?"minute":"minutami":e||r?"minut":"minutami");case"h":return e?"ena ura":"eno uro";case"hh":return i+(1===t?e?"ura":"uro":2===t?e||r?"uri":"urama":t<5?e||r?"ure":"urami":e||r?"ur":"urami");case"d":return e||r?"en dan":"enim dnem";case"dd":return i+(1===t?e||r?"dan":"dnem":2===t?e||r?"dni":"dnevoma":e||r?"dni":"dnevi");case"M":return e||r?"en mesec":"enim mesecem";case"MM":return i+(1===t?e||r?"mesec":"mesecem":2===t?e||r?"meseca":"mesecema":t<5?e||r?"mesece":"meseci":e||r?"mesecev":"meseci");case"y":return e||r?"eno leto":"enim letom";case"yy":return i+(1===t?e||r?"leto":"letom":2===t?e||r?"leti":"letoma":t<5?e||r?"leta":"leti":e||r?"let":"leti")}}t.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},"3CJN":function(t,e,n){!function(t){"use strict";t.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(t){return/^nm$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[M\xf4re om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("PJh5"))},"3IRH":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"3K28":function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],i=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("PJh5"))},"3LKG":function(t,e,n){!function(t){"use strict";t.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n("PJh5"))},"3MVc":function(t,e,n){!function(t){"use strict";var e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},n={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},r=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},i={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},o=function(t){return function(e,n,o,s){var a=r(e),l=i[t][r(e)];return 2===a&&(l=l[n?0:1]),l.replace(/%d/i,e)}},s=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];t.defineLocale("ar",{months:s,monthsShort:s,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(t){return"\u0645"===t},meridiem:function(t,e,n){return t<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:o("s"),ss:o("s"),m:o("m"),mm:o("m"),h:o("h"),hh:o("h"),d:o("d"),dd:o("d"),M:o("M"),MM:o("M"),y:o("y"),yy:o("y")},preparse:function(t){return t.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(t){return n[t]}).replace(/\u060c/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(n("PJh5"))},"3a3m":function(t,e,n){"use strict";var r=n("TToO"),i=n("g5jc"),o=n("YaPU"),s=n("OVmG"),a=n("VwZZ");function l(){return function(t){return t.lift(new u(t))}}var u=function(){function t(t){this.connectable=t}return t.prototype.call=function(t,e){var n=this.connectable;n._refCount++;var r=new c(t,n),i=e.subscribe(r);return r.closed||(r.connection=n.connect()),i},t}(),c=function(t){function e(e,n){t.call(this,e),this.connectable=n}return Object(r.__extends)(e,t),e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._refCount;if(e<=0)this.connection=null;else if(t._refCount=e-1,e>1)this.connection=null;else{var n=this.connection,r=t._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}else this.connection=null},e}(s.a),d=function(t){function e(e,n){t.call(this),this.source=e,this.subjectFactory=n,this._refCount=0,this._isComplete=!1}return Object(r.__extends)(e,t),e.prototype._subscribe=function(t){return this.getSubject().subscribe(t)},e.prototype.getSubject=function(){var t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject},e.prototype.connect=function(){var t=this._connection;return t||(this._isComplete=!1,(t=this._connection=new a.a).add(this.source.subscribe(new p(this.getSubject(),this))),t.closed?(this._connection=null,t=a.a.EMPTY):this._connection=t),t},e.prototype.refCount=function(){return l()(this)},e}(o.a).prototype,h={operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:d._subscribe},_isComplete:{value:d._isComplete,writable:!0},getSubject:{value:d.getSubject},connect:{value:d.connect},refCount:{value:d.refCount}},p=function(t){function e(e,n){t.call(this,e),this.connectable=n}return Object(r.__extends)(e,t),e.prototype._error=function(e){this._unsubscribe(),t.prototype._error.call(this,e)},e.prototype._complete=function(){this.connectable._isComplete=!0,this._unsubscribe(),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}},e}(i.b);function f(){return new i.a}e.a=function(){return function(t){return l()((e=f,function(t){var n;n="function"==typeof e?e:function(){return e};var r=Object.create(t,h);return r.source=t,r.subjectFactory=n,r})(t));var e}}},"3hfc":function(t,e,n){!function(t){"use strict";function e(t,e,n){var r,i;return"m"===n?e?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===n?e?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":t+" "+(r=+t,i={ss:e?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:e?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:e?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[n].split("_"),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}t.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:e,mm:e,h:e,hh:e,d:"\u0434\u0437\u0435\u043d\u044c",dd:e,M:"\u043c\u0435\u0441\u044f\u0446",MM:e,y:"\u0433\u043e\u0434",yy:e},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(t){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(t)},meridiem:function(t,e,n){return t<4?"\u043d\u043e\u0447\u044b":t<12?"\u0440\u0430\u043d\u0456\u0446\u044b":t<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t%10!=2&&t%10!=3||t%100==12||t%100==13?t+"-\u044b":t+"-\u0456";case"D":return t+"-\u0433\u0430";default:return t}},week:{dow:1,doy:7}})}(n("PJh5"))},"5Omq":function(t,e,n){!function(t){"use strict";t.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s gea\u017ees",past:"ma\u014bit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta m\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},"5SNd":function(t,e,n){!function(t){"use strict";var e={0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"};t.defineLocale("tg",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u041f\u0430\u0433\u043e\u04b3 \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0448\u0430\u0431"===e?t<4?t:t+12:"\u0441\u0443\u0431\u04b3"===e?t:"\u0440\u04ef\u0437"===e?t>=11?t:t+12:"\u0431\u0435\u0433\u043e\u04b3"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0448\u0430\u0431":t<11?"\u0441\u0443\u0431\u04b3":t<16?"\u0440\u04ef\u0437":t<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(t){return t+(e[t]||e[t%10]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("PJh5"))},"5X6E":function(t,e,n){"use strict";e.a=function(t,e){return function(n){return n.lift(new s(t,e))}};var r=n("TToO"),i=n("tZ2B"),o=n("PIsA"),s=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,r){t.call(this,e),this.project=n,this.resultSelector=r,this.index=0}return Object(r.__extends)(e,t),e.prototype._next=function(t){var e,n=this.index++;try{e=this.project(t,n)}catch(t){return void this.destination.error(t)}this._innerSub(e,t,n)},e.prototype._innerSub=function(t,e,n){var r=this.innerSubscription;r&&r.unsubscribe(),this.add(this.innerSubscription=Object(o.a)(this,t,e,n))},e.prototype._complete=function(){var e=this.innerSubscription;e&&!e.closed||t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,r,i){this.resultSelector?this._tryNotifyNext(t,e,n,r):this.destination.next(e)},e.prototype._tryNotifyNext=function(t,e,n,r){var i;try{i=this.resultSelector(t,e,n,r)}catch(t){return void this.destination.error(t)}this.destination.next(i)},e}(i.a)},"5j66":function(t,e,n){!function(t){"use strict";t.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysMin:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},week:{dow:1,doy:4}})}(n("PJh5"))},"5vPg":function(t,e,n){!function(t){"use strict";var e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},n={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function r(t,e,n,r){var i="";if(e)switch(n){case"s":i="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":i="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":i="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":i="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":i="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":i="%d \u0924\u093e\u0938";break;case"d":i="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":i="%d \u0926\u093f\u0935\u0938";break;case"M":i="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":i="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":i="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":i="%d \u0935\u0930\u094d\u0937\u0947"}else switch(n){case"s":i="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":i="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":i="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":i="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":i="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":i="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":i="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":i="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":i="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":i="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":i="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":i="%d \u0935\u0930\u094d\u0937\u093e\u0902"}return i.replace(/%d/i,t)}t.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},preparse:function(t){return t.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0930\u093e\u0924\u094d\u0930\u0940|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0930\u093e\u0924\u094d\u0930\u0940"===e?t<4?t:t+12:"\u0938\u0915\u093e\u0933\u0940"===e?t:"\u0926\u0941\u092a\u093e\u0930\u0940"===e?t>=10?t:t+12:"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0930\u093e\u0924\u094d\u0930\u0940":t<10?"\u0938\u0915\u093e\u0933\u0940":t<17?"\u0926\u0941\u092a\u093e\u0930\u0940":t<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}})}(n("PJh5"))},"6cf8":function(t,e,n){!function(t){"use strict";var e={0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"};t.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u0435 \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(t){return t+(e[t]||e[t%10]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("PJh5"))},"7LV+":function(t,e,n){!function(t){"use strict";var e="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_"),n="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_");function r(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function i(t,e,n){var i=t+" ";switch(n){case"ss":return i+(r(t)?"sekundy":"sekund");case"m":return e?"minuta":"minut\u0119";case"mm":return i+(r(t)?"minuty":"minut");case"h":return e?"godzina":"godzin\u0119";case"hh":return i+(r(t)?"godziny":"godzin");case"MM":return i+(r(t)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return i+(r(t)?"lata":"lat")}}t.defineLocale("pl",{months:function(t,r){return t?""===r?"("+n[t.month()]+"|"+e[t.month()]+")":/D MMMM/.test(r)?n[t.month()]:e[t.month()]:e},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:i,m:i,mm:i,h:i,hh:i,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:i,y:"rok",yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},"7MHZ":function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],i=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},"7OnE":function(t,e,n){!function(t){"use strict";var e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},n={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"};t.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(t){return"\u0645"===t},meridiem:function(t,e,n){return t<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(t){return t.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(t){return n[t]}).replace(/\u060c/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}})}(n("PJh5"))},"7Q8x":function(t,e,n){!function(t){"use strict";t.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(t,e,n){return t<11?"ekuseni":t<15?"emini":t<19?"entsambama":"ebusuku"},meridiemHour:function(t,e){return 12===t&&(t=0),"ekuseni"===e?t:"emini"===e?t>=11?t:t+12:"entsambama"===e||"ebusuku"===e?0===t?0:t+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(n("PJh5"))},"8D5t":function(t,e,n){"use strict";var r=n("Qnch");function i(t){return t}e.a=function(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),Object(r.a)(i,null,t)}},"8v14":function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}t.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},"9Ocp":function(t,e,n){"use strict";e.a=function(t){return function(e){return 0===t?new s.a:e.lift(new a(t))}};var r=n("TToO"),i=n("OVmG"),o=n("pU/0"),s=n("+3/4"),a=function(){function t(t){if(this.total=t,this.total<0)throw new o.a}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return Object(r.__extends)(e,t),e.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},e}(i.a)},ALEw:function(t,e,n){!function(t){"use strict";t.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("PJh5"))},AMGY:function(t,e,n){"use strict";(function(t){n.d(e,"a",function(){return o});var r="undefined"!=typeof window&&window,i="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,o=r||"undefined"!=typeof t&&t||i}).call(e,n("DuR2"))},Ab7C:function(t,e,n){!function(t){"use strict";t.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u043e\u0441\u043b\u0435 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-\u0435\u0432":0===n?t+"-\u0435\u043d":n>10&&n<20?t+"-\u0442\u0438":1===e?t+"-\u0432\u0438":2===e?t+"-\u0440\u0438":7===e||8===e?t+"-\u043c\u0438":t+"-\u0442\u0438"},week:{dow:1,doy:7}})}(n("PJh5"))},AoDM:function(t,e,n){!function(t){"use strict";t.defineLocale("pt-br",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba"})}(n("PJh5"))},BEem:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}})}(n("PJh5"))},BX3T:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=Array.isArray||function(t){return t&&"number"==typeof t.length}},BbgG:function(t,e,n){!function(t){"use strict";t.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u51cc\u6668"===e||"\u65e9\u4e0a"===e||"\u4e0a\u5348"===e?t:"\u4e2d\u5348"===e?t>=11?t:t+12:"\u4e0b\u5348"===e||"\u665a\u4e0a"===e?t+12:void 0},meridiem:function(t,e,n){var r=100*t+e;return r<600?"\u51cc\u6668":r<900?"\u65e9\u4e0a":r<1130?"\u4e0a\u5348":r<1230?"\u4e2d\u5348":r<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"\u65e5";case"M":return t+"\u6708";case"w":case"W":return t+"\u9031";default:return t}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}})}(n("PJh5"))},Bp2f:function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],i=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("PJh5"))},C7av:function(t,e,n){!function(t){"use strict";t.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_m\xe5n_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},CFqe:function(t,e,n){!function(t){"use strict";t.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(t,e){return t?"string"==typeof e&&/D/.test(e.substring(0,e.indexOf("MMMM")))?this._monthsGenitiveEl[t.month()]:this._monthsNominativeEl[t.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(t,e,n){return t>11?n?"\u03bc\u03bc":"\u039c\u039c":n?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(t){return"\u03bc"===(t+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(t,e){var n,r=this._calendarEl[t],i=e&&e.hours();return((n=r)instanceof Function||"[object Function]"===Object.prototype.toString.call(n))&&(r=r.apply(e)),r.replace("{}",i%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}})}(n("PJh5"))},DDro:function(t,e,n){"use strict";e.a=function(){return Object(r.a)(i,[])};var r=n("/4Bh");function i(t,e,n){return t.push(e),t}},DOkx:function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}t.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},DSXN:function(t,e,n){!function(t){"use strict";t.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(n("PJh5"))},DuR2:function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},ETHv:function(t,e,n){!function(t){"use strict";var e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},n={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};t.defineLocale("hi",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(t){return t.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0930\u093e\u0924"===e?t<4?t:t+12:"\u0938\u0941\u092c\u0939"===e?t:"\u0926\u094b\u092a\u0939\u0930"===e?t>=10?t:t+12:"\u0936\u093e\u092e"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0930\u093e\u0924":t<10?"\u0938\u0941\u092c\u0939":t<17?"\u0926\u094b\u092a\u0939\u0930":t<20?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}})}(n("PJh5"))},"F+2e":function(t,e,n){!function(t){"use strict";var e={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},n={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"};t.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u1010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(t){return t.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})}(n("PJh5"))},FKXc:function(t,e,n){!function(t){"use strict";t.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(t){return(/^[0-9].+$/.test(t)?"tra":"in")+" "+t},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},FRPF:function(t,e,n){!function(t){"use strict";t.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}})}(n("PJh5"))},FlzV:function(t,e,n){!function(t){"use strict";t.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},Fpqq:function(t,e,n){!function(t){"use strict";t.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"e":1===e?"a":2===e?"a":"e")},week:{dow:1,doy:4}})}(n("PJh5"))},Frex:function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}t.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},FuaP:function(t,e,n){!function(t){"use strict";t.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(t){return 0===t.indexOf("un")?"n"+t:"en "+t},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},"G++c":function(t,e,n){!function(t){"use strict";t.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("PJh5"))},GK6M:function(t,e,n){"use strict";e.a=function(t){return r=t,o};var r,i=n("fKB6");function o(){try{return r.apply(this,arguments)}catch(t){return i.a.e=t,i.a}}},GrS7:function(t,e,n){!function(t){"use strict";t.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(t){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(t)},meridiem:function(t){return t<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":t<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":t<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(t,e){switch(e){case"DDD":case"w":case"W":case"DDDo":return 1===t?t+"-\u056b\u0576":t+"-\u0580\u0564";default:return t}},week:{dow:1,doy:7}})}(n("PJh5"))},HdCx:function(t,e,n){"use strict";e.a=function(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new o(t,e))}};var r=n("TToO"),i=n("OVmG"),o=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new s(t,this.project,this.thisArg))},t}(),s=function(t){function e(e,n,r){t.call(this,e),this.project=n,this.count=0,this.thisArg=r||this}return Object(r.__extends)(e,t),e.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}this.destination.next(e)},e}(i.a)},INcR:function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");t.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"MMMM [de] D [de] YYYY",LLL:"MMMM [de] D [de] YYYY h:mm A",LLLL:"dddd, MMMM [de] D [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}})}(n("PJh5"))},Jnfr:function(t,e){function n(t){return Promise.resolve().then(function(){throw new Error("Cannot find module '"+t+"'.")})}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="Jnfr"},JwiF:function(t,e,n){!function(t){"use strict";t.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(t,e){return 12===t&&(t=0),"enjing"===e?t:"siyang"===e?t>=11?t:t+12:"sonten"===e||"ndalu"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"enjing":t<15?"siyang":t<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})}(n("PJh5"))},LT9G:function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],i=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},Lgqo:function(t,e,n){!function(t){"use strict";t.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(t){return t+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(t){return"\u0db4.\u0dc0."===t||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===t},meridiem:function(t,e,n){return t>11?n?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":n?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}})}(n("PJh5"))},N3vo:function(t,e,n){!function(t){"use strict";t.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(t){return t+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(t)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(t)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}})}(n("PJh5"))},N4j0:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(t){return t&&"number"==typeof t.length}},Nd3h:function(t,e,n){!function(t){"use strict";t.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_a\u016dg_sep_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(t){return"p"===t.charAt(0).toLowerCase()},meridiem:function(t,e,n){return t>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(n("PJh5"))},Nlnz:function(t,e,n){!function(t){"use strict";t.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c42\u0c32\u0c46\u0c56_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c42\u0c32\u0c46\u0c56_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===e?t<4?t:t+12:"\u0c09\u0c26\u0c2f\u0c02"===e?t:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===e?t>=10?t:t+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":t<10?"\u0c09\u0c26\u0c2f\u0c02":t<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":t<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}})}(n("PJh5"))},Nzt2:function(t,e,n){!function(t){"use strict";t.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(t){return 2===t?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":t+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(t){return 2===t?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":t+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(t){return 2===t?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":t+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(t){return 2===t?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":t%10==0&&10!==t?t+" \u05e9\u05e0\u05d4":t+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(t){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(t)},meridiem:function(t,e,n){return t<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":t<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":t<12?n?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":t<18?n?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}})}(n("PJh5"))},ORgI:function(t,e,n){!function(t){"use strict";t.defineLocale("ja",{months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5 HH:mm dddd"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(t){return"\u5348\u5f8c"===t},meridiem:function(t,e,n){return t<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:"[\u6765\u9031]dddd LT",lastDay:"[\u6628\u65e5] LT",lastWeek:"[\u524d\u9031]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}\u65e5/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"\u65e5";default:return t}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",ss:"%d\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}})}(n("PJh5"))},OSsP:function(t,e,n){!function(t){"use strict";function e(t,e,n){return t+" "+function(t,e){return 2===e?function(t){var e={m:"v",b:"v",d:"z"};return void 0===e[t.charAt(0)]?t:e[t.charAt(0)]+t.substring(1)}(t):t}({mm:"munutenn",MM:"miz",dd:"devezh"}[n],t)}t.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:e,h:"un eur",hh:"%d eur",d:"un devezh",dd:e,M:"ur miz",MM:e,y:"ur bloaz",yy:function(t){switch(function t(e){return e>9?t(e%10):e}(t)){case 1:case 3:case 4:case 5:case 9:return t+" bloaz";default:return t+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(t){return t+(1===t?"a\xf1":"vet")},week:{dow:1,doy:4}})}(n("PJh5"))},OUMt:function(t,e,n){!function(t){"use strict";var e="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),n="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function r(t){return t>1&&t<5}function i(t,e,n,i){var o=t+" ";switch(n){case"s":return e||i?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return e||i?o+(r(t)?"sekundy":"sek\xfand"):o+"sekundami";case"m":return e?"min\xfata":i?"min\xfatu":"min\xfatou";case"mm":return e||i?o+(r(t)?"min\xfaty":"min\xfat"):o+"min\xfatami";case"h":return e?"hodina":i?"hodinu":"hodinou";case"hh":return e||i?o+(r(t)?"hodiny":"hod\xedn"):o+"hodinami";case"d":return e||i?"de\u0148":"d\u0148om";case"dd":return e||i?o+(r(t)?"dni":"dn\xed"):o+"d\u0148ami";case"M":return e||i?"mesiac":"mesiacom";case"MM":return e||i?o+(r(t)?"mesiace":"mesiacov"):o+"mesiacmi";case"y":return e||i?"rok":"rokom";case"yy":return e||i?o+(r(t)?"roky":"rokov"):o+"rokmi"}}t.defineLocale("sk",{months:e,monthsShort:n,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},OVPi:function(t,e,n){!function(t){"use strict";t.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minutt",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0i",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},OVmG:function(t,e,n){"use strict";n.d(e,"a",function(){return l});var r=n("TToO"),i=n("/iUD"),o=n("VwZZ"),s=n("t7NR"),a=n("tLDX"),l=function(t){function e(n,r,i){switch(t.call(this),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=s.a;break;case 1:if(!n){this.destination=s.a;break}if("object"==typeof n){n instanceof e?(this.syncErrorThrowable=n.syncErrorThrowable,this.destination=n,this.destination.add(this)):(this.syncErrorThrowable=!0,this.destination=new u(this,n));break}default:this.syncErrorThrowable=!0,this.destination=new u(this,n,r,i)}}return Object(r.__extends)(e,t),e.prototype[a.a]=function(){return this},e.create=function(t,n,r){var i=new e(t,n,r);return i.syncErrorThrowable=!1,i},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this))},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){this.destination.error(t),this.unsubscribe()},e.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},e.prototype._unsubscribeAndRecycle=function(){var t=this._parent,e=this._parents;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=t,this._parents=e,this},e}(o.a),u=function(t){function e(e,n,r,o){var a;t.call(this),this._parentSubscriber=e;var l=this;Object(i.a)(n)?a=n:n&&(a=n.next,r=n.error,o=n.complete,n!==s.a&&(l=Object.create(n),Object(i.a)(l.unsubscribe)&&this.add(l.unsubscribe.bind(l)),l.unsubscribe=this.unsubscribe.bind(this))),this._context=l,this._next=a,this._error=r,this._complete=o}return Object(r.__extends)(e,t),e.prototype.next=function(t){if(!this.isStopped&&this._next){var e=this._parentSubscriber;e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}},e.prototype.error=function(t){if(!this.isStopped){var e=this._parentSubscriber;if(this._error)e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else{if(!e.syncErrorThrowable)throw this.unsubscribe(),t;e.syncErrorValue=t,e.syncErrorThrown=!0,this.unsubscribe()}}},e.prototype.complete=function(){var t=this;if(!this.isStopped){var e=this._parentSubscriber;if(this._complete){var n=function(){return t._complete.call(t._context)};e.syncErrorThrowable?(this.__tryOrSetError(e,n),this.unsubscribe()):(this.__tryOrUnsub(n),this.unsubscribe())}else this.unsubscribe()}},e.prototype.__tryOrUnsub=function(t,e){try{t.call(this._context,e)}catch(t){throw this.unsubscribe(),t}},e.prototype.__tryOrSetError=function(t,e,n){try{e.call(this._context,n)}catch(e){return t.syncErrorValue=e,t.syncErrorThrown=!0,!0}return!1},e.prototype._unsubscribe=function(){var t=this._parentSubscriber;this._context=null,this._parentSubscriber=null,t.unsubscribe()},e}(l)},PIsA:function(t,e,n){"use strict";var r=n("AMGY"),i=n("N4j0"),o=n("cQXm"),s=n("dgOU"),a=n("YaPU"),l=n("etqZ"),u=n("TToO"),c=function(t){function e(e,n,r){t.call(this),this.parent=e,this.outerValue=n,this.outerIndex=r,this.index=0}return Object(u.__extends)(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(n("OVmG").a),d=n("+CnV");e.a=function(t,e,n,u){var h=new c(t,n,u);if(h.closed)return null;if(e instanceof a.a)return e._isScalar?(h.next(e.value),h.complete(),null):(h.syncErrorThrowable=!0,e.subscribe(h));if(Object(i.a)(e)){for(var p=0,f=e.length;p>>0,r=0;r0)for(n=0;n=0?n?"+":"":"-")+Math.pow(10,Math.max(0,e-r.length)).toString().substr(1)+r}var N=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,V=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,B={},z={};function W(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(z[t]=i),e&&(z[e[0]]=function(){return F(i.apply(this,arguments),e[1],e[2])}),n&&(z[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function U(t,e){return t.isValid()?(e=G(e,t.localeData()),B[e]=B[e]||function(t){var e,n,r,i=t.match(N);for(e=0,n=i.length;e=0&&V.test(t);)t=t.replace(V,r),V.lastIndex=0,n-=1;return t}var J=/\d/,q=/\d\d/,Q=/\d{3}/,X=/\d{4}/,K=/[+-]?\d{6}/,Z=/\d\d?/,$=/\d\d\d\d?/,tt=/\d\d\d\d\d\d?/,et=/\d{1,3}/,nt=/\d{1,4}/,rt=/[+-]?\d{1,6}/,it=/\d+/,ot=/[+-]?\d+/,st=/Z|[+-]\d\d:?\d\d/gi,at=/Z|[+-]\d\d(?::?\d\d)?/gi,lt=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,ut={};function ct(t,e,n){ut[t]=D(e)?e:function(t,r){return t&&n?n:e}}function dt(t,e){return d(ut,t)?ut[t](e._strict,e._locale):new RegExp(ht(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,r,i){return e||n||r||i})))}function ht(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var pt={};function ft(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),l(e)&&(r=function(t,n){n[e]=k(t)}),n=0;n68?1900:2e3)};var Tt,Ot=Dt("FullYear",!0);function Dt(t,e){return function(n){return null!=n?(Pt(this,t,n),i.updateOffset(this,e),this):Yt(this,t)}}function Yt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Pt(t,e,n){t.isValid()&&!isNaN(n)&&("FullYear"===e&&St(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),Et(n,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function Et(t,e){if(isNaN(t)||isNaN(e))return NaN;var n=(e%12+12)%12;return t+=(e-n)/12,1===n?St(t)?29:28:31-n%7%2}Tt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function zt(t,e,n){var r=7+e-n;return-(7+Bt(t,0,r).getUTCDay()-e)%7+r-1}function Wt(t,e,n,r,i){var o,s,a=1+7*(e-1)+(7+n-r)%7+zt(t,r,i);return a<=0?s=Ct(o=t-1)+a:a>Ct(t)?(o=t+1,s=a-Ct(t)):(o=t,s=a),{year:o,dayOfYear:s}}function Ut(t,e,n){var r,i,o=zt(t.year(),e,n),s=Math.floor((t.dayOfYear()-o-1)/7)+1;return s<1?r=s+Gt(i=t.year()-1,e,n):s>Gt(t.year(),e,n)?(r=s-Gt(t.year(),e,n),i=t.year()+1):(i=t.year(),r=s),{week:r,year:i}}function Gt(t,e,n){var r=zt(t,e,n),i=zt(t+1,e,n);return(Ct(t)-r+i)/7}W("w",["ww",2],"wo","week"),W("W",["WW",2],"Wo","isoWeek"),A("week","w"),A("isoWeek","W"),H("week",5),H("isoWeek",5),ct("w",Z),ct("ww",Z,q),ct("W",Z),ct("WW",Z,q),_t(["w","ww","W","WW"],function(t,e,n,r){e[r.substr(0,1)]=k(t)}),W("d",0,"do","day"),W("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),W("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),W("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),W("e",0,0,"weekday"),W("E",0,0,"isoWeekday"),A("day","d"),A("weekday","e"),A("isoWeekday","E"),H("day",11),H("weekday",11),H("isoWeekday",11),ct("d",Z),ct("e",Z),ct("E",Z),ct("dd",function(t,e){return e.weekdaysMinRegex(t)}),ct("ddd",function(t,e){return e.weekdaysShortRegex(t)}),ct("dddd",function(t,e){return e.weekdaysRegex(t)}),_t(["dd","ddd","dddd"],function(t,e,n,r){var i=n._locale.weekdaysParse(t,r,n._strict);null!=i?e.d=i:f(n).invalidWeekday=t}),_t(["d","e","E"],function(t,e,n,r){e[r]=k(t)});var Jt="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),qt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Qt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Xt=lt,Kt=lt,Zt=lt;function $t(){function t(t,e){return e.length-t.length}var e,n,r,i,o,s=[],a=[],l=[],u=[];for(e=0;e<7;e++)n=p([2e3,1]).day(e),r=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),o=this.weekdays(n,""),s.push(r),a.push(i),l.push(o),u.push(r),u.push(i),u.push(o);for(s.sort(t),a.sort(t),l.sort(t),u.sort(t),e=0;e<7;e++)a[e]=ht(a[e]),l[e]=ht(l[e]),u[e]=ht(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+s.join("|")+")","i")}function te(){return this.hours()%12||12}function ee(t,e){W(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function ne(t,e){return e._meridiemParse}W("H",["HH",2],0,"hour"),W("h",["hh",2],0,te),W("k",["kk",2],0,function(){return this.hours()||24}),W("hmm",0,0,function(){return""+te.apply(this)+F(this.minutes(),2)}),W("hmmss",0,0,function(){return""+te.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)}),W("Hmm",0,0,function(){return""+this.hours()+F(this.minutes(),2)}),W("Hmmss",0,0,function(){return""+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)}),ee("a",!0),ee("A",!1),A("hour","h"),H("hour",13),ct("a",ne),ct("A",ne),ct("H",Z),ct("h",Z),ct("k",Z),ct("HH",Z,q),ct("hh",Z,q),ct("kk",Z,q),ct("hmm",$),ct("hmmss",tt),ct("Hmm",$),ct("Hmmss",tt),ft(["H","HH"],bt),ft(["k","kk"],function(t,e,n){var r=k(t);e[bt]=24===r?0:r}),ft(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),ft(["h","hh"],function(t,e,n){e[bt]=k(t),f(n).bigHour=!0}),ft("hmm",function(t,e,n){var r=t.length-2;e[bt]=k(t.substr(0,r)),e[wt]=k(t.substr(r)),f(n).bigHour=!0}),ft("hmmss",function(t,e,n){var r=t.length-4,i=t.length-2;e[bt]=k(t.substr(0,r)),e[wt]=k(t.substr(r,2)),e[Mt]=k(t.substr(i)),f(n).bigHour=!0}),ft("Hmm",function(t,e,n){var r=t.length-2;e[bt]=k(t.substr(0,r)),e[wt]=k(t.substr(r))}),ft("Hmmss",function(t,e,n){var r=t.length-4,i=t.length-2;e[bt]=k(t.substr(0,r)),e[wt]=k(t.substr(r,2)),e[Mt]=k(t.substr(i))});var re,ie=Dt("Hours",!0),oe={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:jt,monthsShort:It,week:{dow:0,doy:6},weekdays:Jt,weekdaysMin:Qt,weekdaysShort:qt,meridiemParse:/[ap]\.?m?\.?/i},se={},ae={};function le(t){return t?t.toLowerCase().replace("_","-"):t}function ue(e){var r=null;if(!se[e]&&"undefined"!=typeof t&&t&&t.exports)try{r=re._abbr,n("uslO")("./"+e),ce(r)}catch(t){}return se[e]}function ce(t,e){var n;return t&&((n=a(e)?he(t):de(t,e))?re=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),re._abbr}function de(t,e){if(null!==e){var n,r=oe;if(e.abbr=t,null!=se[t])O("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=se[t]._config;else if(null!=e.parentLocale)if(null!=se[e.parentLocale])r=se[e.parentLocale]._config;else{if(null==(n=ue(e.parentLocale)))return ae[e.parentLocale]||(ae[e.parentLocale]=[]),ae[e.parentLocale].push({name:t,config:e}),null;r=n._config}return se[t]=new P(Y(r,e)),ae[t]&&ae[t].forEach(function(t){de(t.name,t.config)}),ce(t),se[t]}return delete se[t],null}function he(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return re;if(!o(t)){if(e=ue(t))return e;t=[t]}return function(t){for(var e,n,r,i,o=0;o0;){if(r=ue(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&x(i,n,!0)>=e-1)break;e--}o++}return re}(t)}function pe(t){var e,n=t._a;return n&&-2===f(t).overflow&&(e=n[yt]<0||n[yt]>11?yt:n[vt]<1||n[vt]>Et(n[gt],n[yt])?vt:n[bt]<0||n[bt]>24||24===n[bt]&&(0!==n[wt]||0!==n[Mt]||0!==n[kt])?bt:n[wt]<0||n[wt]>59?wt:n[Mt]<0||n[Mt]>59?Mt:n[kt]<0||n[kt]>999?kt:-1,f(t)._overflowDayOfYear&&(evt)&&(e=vt),f(t)._overflowWeeks&&-1===e&&(e=xt),f(t)._overflowWeekday&&-1===e&&(e=Lt),f(t).overflow=e),t}function fe(t,e,n){return null!=t?t:null!=e?e:n}function _e(t){var e,n,r,o,s,a=[];if(!t._d){for(r=function(t){var e=new Date(i.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[vt]&&null==t._a[yt]&&function(t){var e,n,r,i,o,s,a,l;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)o=1,s=4,n=fe(e.GG,t._a[gt],Ut(Oe(),1,4).year),r=fe(e.W,1),((i=fe(e.E,1))<1||i>7)&&(l=!0);else{o=t._locale._week.dow,s=t._locale._week.doy;var u=Ut(Oe(),o,s);n=fe(e.gg,t._a[gt],u.year),r=fe(e.w,u.week),null!=e.d?((i=e.d)<0||i>6)&&(l=!0):null!=e.e?(i=e.e+o,(e.e<0||e.e>6)&&(l=!0)):i=o}r<1||r>Gt(n,o,s)?f(t)._overflowWeeks=!0:null!=l?f(t)._overflowWeekday=!0:(a=Wt(n,r,i,o,s),t._a[gt]=a.year,t._dayOfYear=a.dayOfYear)}(t),null!=t._dayOfYear&&(s=fe(t._a[gt],r[gt]),(t._dayOfYear>Ct(s)||0===t._dayOfYear)&&(f(t)._overflowDayOfYear=!0),n=Bt(s,0,t._dayOfYear),t._a[yt]=n.getUTCMonth(),t._a[vt]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=a[e]=r[e];for(;e<7;e++)t._a[e]=a[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[bt]&&0===t._a[wt]&&0===t._a[Mt]&&0===t._a[kt]&&(t._nextDay=!0,t._a[bt]=0),t._d=(t._useUTC?Bt:function(t,e,n,r,i,o,s){var a=new Date(t,e,n,r,i,o,s);return t<100&&t>=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}).apply(null,a),o=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[bt]=24),t._w&&"undefined"!=typeof t._w.d&&t._w.d!==o&&(f(t).weekdayMismatch=!0)}}var me=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ge=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ye=/Z|[+-]\d\d(?::?\d\d)?/,ve=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],be=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],we=/^\/?Date\((\-?\d+)/i;function Me(t){var e,n,r,i,o,s,a=t._i,l=me.exec(a)||ge.exec(a);if(l){for(f(t).iso=!0,e=0,n=ve.length;e0&&f(t).unusedInput.push(s),a=a.slice(a.indexOf(n)+n.length),u+=n.length),z[o]?(n?f(t).empty=!1:f(t).unusedTokens.push(o),mt(o,n,t)):t._strict&&!n&&f(t).unusedTokens.push(o);f(t).charsLeftOver=l-u,a.length>0&&f(t).unusedInput.push(a),t._a[bt]<=12&&!0===f(t).bigHour&&t._a[bt]>0&&(f(t).bigHour=void 0),f(t).parsedDateParts=t._a.slice(0),f(t).meridiem=t._meridiem,t._a[bt]=(c=t._locale,d=t._a[bt],null==(h=t._meridiem)?d:null!=c.meridiemHour?c.meridiemHour(d,h):null!=c.isPM?((p=c.isPM(h))&&d<12&&(d+=12),p||12!==d||(d=0),d):d),_e(t),pe(t)}else Le(t);else Me(t);var c,d,h,p}function Se(t){var e=t._i,n=t._f;return t._locale=t._locale||he(t._l),null===e||void 0===n&&""===e?m({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),w(e)?new b(pe(e)):(u(e)?t._d=e:o(n)?function(t){var e,n,r,i,o;if(0===t._f.length)return f(t).invalidFormat=!0,void(t._d=new Date(NaN));for(i=0;ithis?this:t:m()});function Pe(t,e){var n,r;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Oe();for(n=e[0],r=1;r(o=Gt(t,r,i))&&(e=o),(function(t,e,n,r,i){var o=Wt(t,e,n,r,i),s=Bt(o.year,0,o.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}).call(this,t,e,n,r,i))}W(0,["gg",2],0,function(){return this.weekYear()%100}),W(0,["GG",2],0,function(){return this.isoWeekYear()%100}),nn("gggg","weekYear"),nn("ggggg","weekYear"),nn("GGGG","isoWeekYear"),nn("GGGGG","isoWeekYear"),A("weekYear","gg"),A("isoWeekYear","GG"),H("weekYear",1),H("isoWeekYear",1),ct("G",ot),ct("g",ot),ct("GG",Z,q),ct("gg",Z,q),ct("GGGG",nt,X),ct("gggg",nt,X),ct("GGGGG",rt,K),ct("ggggg",rt,K),_t(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,r){e[r.substr(0,2)]=k(t)}),_t(["gg","GG"],function(t,e,n,r){e[r]=i.parseTwoDigitYear(t)}),W("Q",0,"Qo","quarter"),A("quarter","Q"),H("quarter",7),ct("Q",J),ft("Q",function(t,e){e[yt]=3*(k(t)-1)}),W("D",["DD",2],"Do","date"),A("date","D"),H("date",9),ct("D",Z),ct("DD",Z,q),ct("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),ft(["D","DD"],vt),ft("Do",function(t,e){e[vt]=k(t.match(Z)[0])});var on=Dt("Date",!0);W("DDD",["DDDD",3],"DDDo","dayOfYear"),A("dayOfYear","DDD"),H("dayOfYear",4),ct("DDD",et),ct("DDDD",Q),ft(["DDD","DDDD"],function(t,e,n){n._dayOfYear=k(t)}),W("m",["mm",2],0,"minute"),A("minute","m"),H("minute",14),ct("m",Z),ct("mm",Z,q),ft(["m","mm"],wt);var sn=Dt("Minutes",!1);W("s",["ss",2],0,"second"),A("second","s"),H("second",15),ct("s",Z),ct("ss",Z,q),ft(["s","ss"],Mt);var an,ln=Dt("Seconds",!1);for(W("S",0,0,function(){return~~(this.millisecond()/100)}),W(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),W(0,["SSS",3],0,"millisecond"),W(0,["SSSS",4],0,function(){return 10*this.millisecond()}),W(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),W(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),W(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),W(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),W(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),A("millisecond","ms"),H("millisecond",16),ct("S",et,J),ct("SS",et,q),ct("SSS",et,Q),an="SSSS";an.length<=9;an+="S")ct(an,it);function un(t,e){e[kt]=k(1e3*("0."+t))}for(an="S";an.length<=9;an+="S")ft(an,un);var cn=Dt("Milliseconds",!1);W("z",0,0,"zoneAbbr"),W("zz",0,0,"zoneName");var dn=b.prototype;function hn(t){return t}dn.add=Xe,dn.calendar=function(t,e){var n=t||Oe(),r=Ne(n,this).startOf("day"),o=i.calendarFormat(this,r)||"sameElse",s=e&&(D(e[o])?e[o].call(this,n):e[o]);return this.format(s||this.localeData().calendar(o,this,Oe(n)))},dn.clone=function(){return new b(this)},dn.diff=function(t,e,n){var r,i,o;if(!this.isValid())return NaN;if(!(r=Ne(t,this)).isValid())return NaN;switch(i=6e4*(r.utcOffset()-this.utcOffset()),e=j(e)){case"year":o=Ze(this,r)/12;break;case"month":o=Ze(this,r);break;case"quarter":o=Ze(this,r)/3;break;case"second":o=(this-r)/1e3;break;case"minute":o=(this-r)/6e4;break;case"hour":o=(this-r)/36e5;break;case"day":o=(this-r-i)/864e5;break;case"week":o=(this-r-i)/6048e5;break;default:o=this-r}return n?o:M(o)},dn.endOf=function(t){return void 0===(t=j(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))},dn.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=U(this,t);return this.localeData().postformat(e)},dn.from=function(t,e){return this.isValid()&&(w(t)&&t.isValid()||Oe(t).isValid())?Ue({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},dn.fromNow=function(t){return this.from(Oe(),t)},dn.to=function(t,e){return this.isValid()&&(w(t)&&t.isValid()||Oe(t).isValid())?Ue({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},dn.toNow=function(t){return this.to(Oe(),t)},dn.get=function(t){return D(this[t=j(t)])?this[t]():this},dn.invalidAt=function(){return f(this).overflow},dn.isAfter=function(t,e){var n=w(t)?t:Oe(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=j(a(e)?"millisecond":e))?this.valueOf()>n.valueOf():n.valueOf()9999?U(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):D(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",U(n,"Z")):U(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},dn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY";return this.format(n+r+"-MM-DD[T]HH:mm:ss.SSS"+e+'[")]')},dn.toJSON=function(){return this.isValid()?this.toISOString():null},dn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},dn.unix=function(){return Math.floor(this.valueOf()/1e3)},dn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},dn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},dn.year=Ot,dn.isLeapYear=function(){return St(this.year())},dn.weekYear=function(t){return rn.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},dn.isoWeekYear=function(t){return rn.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},dn.quarter=dn.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},dn.month=Ht,dn.daysInMonth=function(){return Et(this.year(),this.month())},dn.week=dn.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},dn.isoWeek=dn.isoWeeks=function(t){var e=Ut(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},dn.weeksInYear=function(){var t=this.localeData()._week;return Gt(this.year(),t.dow,t.doy)},dn.isoWeeksInYear=function(){return Gt(this.year(),1,4)},dn.date=on,dn.day=dn.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},dn.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},dn.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},dn.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},dn.hour=dn.hours=ie,dn.minute=dn.minutes=sn,dn.second=dn.seconds=ln,dn.millisecond=dn.milliseconds=cn,dn.utcOffset=function(t,e,n){var r,o=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Fe(at,t)))return this}else Math.abs(t)<16&&!n&&(t*=60);return!this._isUTC&&e&&(r=Ve(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,"m"),o!==t&&(!e||this._changeInProgress?Qe(this,Ue(t-o,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?o:Ve(this)},dn.utc=function(t){return this.utcOffset(0,t)},dn.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ve(this),"m")),this},dn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Fe(st,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},dn.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Oe(t).utcOffset():0,(this.utcOffset()-t)%60==0)},dn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},dn.isLocal=function(){return!!this.isValid()&&!this._isUTC},dn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},dn.isUtc=Be,dn.isUTC=Be,dn.zoneAbbr=function(){return this._isUTC?"UTC":""},dn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},dn.dates=C("dates accessor is deprecated. Use date instead.",on),dn.months=C("months accessor is deprecated. Use month instead",Ht),dn.years=C("years accessor is deprecated. Use year instead",Ot),dn.zone=C("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}),dn.isDSTShifted=C("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!a(this._isDSTShifted))return this._isDSTShifted;var t={};if(y(t,this),(t=Se(t))._a){var e=t._isUTC?p(t._a):Oe(t._a);this._isDSTShifted=this.isValid()&&x(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var pn=P.prototype;function fn(t,e,n,r){var i=he(),o=p().set(r,e);return i[n](o,t)}function _n(t,e,n){if(l(t)&&(e=t,t=void 0),t=t||"",null!=e)return fn(t,e,n,"month");var r,i=[];for(r=0;r<12;r++)i[r]=fn(t,r,n,"month");return i}function mn(t,e,n,r){"boolean"==typeof t?(l(e)&&(n=e,e=void 0),e=e||""):(n=e=t,t=!1,l(e)&&(n=e,e=void 0),e=e||"");var i,o=he(),s=t?o._week.dow:0;if(null!=n)return fn(e,(n+s)%7,r,"day");var a=[];for(i=0;i<7;i++)a[i]=fn(e,(i+s)%7,r,"day");return a}pn.calendar=function(t,e,n){var r=this._calendar[t]||this._calendar.sameElse;return D(r)?r.call(e,n):r},pn.longDateFormat=function(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])},pn.invalidDate=function(){return this._invalidDate},pn.ordinal=function(t){return this._ordinal.replace("%d",t)},pn.preparse=hn,pn.postformat=hn,pn.relativeTime=function(t,e,n,r){var i=this._relativeTime[n];return D(i)?i(t,e,n,r):i.replace(/%d/i,t)},pn.pastFuture=function(t,e){var n=this._relativeTime[t>0?"future":"past"];return D(n)?n(e):n.replace(/%s/i,e)},pn.set=function(t){var e,n;for(n in t)D(e=t[n])?this[n]=e:this["_"+n]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},pn.months=function(t,e){return t?o(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||At).test(e)?"format":"standalone"][t.month()]:o(this._months)?this._months:this._months.standalone},pn.monthsShort=function(t,e){return t?o(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[At.test(e)?"format":"standalone"][t.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},pn.monthsParse=function(t,e,n){var r,i,o;if(this._monthsParseExact)return(function(t,e,n){var r,i,o,s=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)o=p([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(o,"").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(o,"").toLocaleLowerCase();return n?"MMM"===e?-1!==(i=Tt.call(this._shortMonthsParse,s))?i:null:-1!==(i=Tt.call(this._longMonthsParse,s))?i:null:"MMM"===e?-1!==(i=Tt.call(this._shortMonthsParse,s))?i:-1!==(i=Tt.call(this._longMonthsParse,s))?i:null:-1!==(i=Tt.call(this._longMonthsParse,s))?i:-1!==(i=Tt.call(this._shortMonthsParse,s))?i:null}).call(this,t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(i=p([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[r]||(o="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[r]=new RegExp(o.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[r].test(t))return r;if(n&&"MMM"===e&&this._shortMonthsParse[r].test(t))return r;if(!n&&this._monthsParse[r].test(t))return r}},pn.monthsRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||Vt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=Nt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},pn.monthsShortRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||Vt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=Ft),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},pn.week=function(t){return Ut(t,this._week.dow,this._week.doy).week},pn.firstDayOfYear=function(){return this._week.doy},pn.firstDayOfWeek=function(){return this._week.dow},pn.weekdays=function(t,e){return t?o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:o(this._weekdays)?this._weekdays:this._weekdays.standalone},pn.weekdaysMin=function(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin},pn.weekdaysShort=function(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort},pn.weekdaysParse=function(t,e,n){var r,i,o;if(this._weekdaysParseExact)return(function(t,e,n){var r,i,o,s=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)o=p([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===e?-1!==(i=Tt.call(this._weekdaysParse,s))?i:null:"ddd"===e?-1!==(i=Tt.call(this._shortWeekdaysParse,s))?i:null:-1!==(i=Tt.call(this._minWeekdaysParse,s))?i:null:"dddd"===e?-1!==(i=Tt.call(this._weekdaysParse,s))?i:-1!==(i=Tt.call(this._shortWeekdaysParse,s))?i:-1!==(i=Tt.call(this._minWeekdaysParse,s))?i:null:"ddd"===e?-1!==(i=Tt.call(this._shortWeekdaysParse,s))?i:-1!==(i=Tt.call(this._weekdaysParse,s))?i:-1!==(i=Tt.call(this._minWeekdaysParse,s))?i:null:-1!==(i=Tt.call(this._minWeekdaysParse,s))?i:-1!==(i=Tt.call(this._weekdaysParse,s))?i:-1!==(i=Tt.call(this._shortWeekdaysParse,s))?i:null}).call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(i=p([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[r]||(o="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[r]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[r].test(t))return r;if(n&&"ddd"===e&&this._shortWeekdaysParse[r].test(t))return r;if(n&&"dd"===e&&this._minWeekdaysParse[r].test(t))return r;if(!n&&this._weekdaysParse[r].test(t))return r}},pn.weekdaysRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||$t.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Xt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},pn.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||$t.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Kt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},pn.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||$t.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Zt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},pn.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},pn.meridiem=function(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"},ce("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===k(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=C("moment.lang is deprecated. Use moment.locale instead.",ce),i.langData=C("moment.langData is deprecated. Use moment.localeData instead.",he);var gn=Math.abs;function yn(t,e,n,r){var i=Ue(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function vn(t){return t<0?Math.floor(t):Math.ceil(t)}function bn(t){return 4800*t/146097}function wn(t){return 146097*t/4800}function Mn(t){return function(){return this.as(t)}}var kn=Mn("ms"),xn=Mn("s"),Ln=Mn("m"),Cn=Mn("h"),Sn=Mn("d"),Tn=Mn("w"),On=Mn("M"),Dn=Mn("y");function Yn(t){return function(){return this.isValid()?this._data[t]:NaN}}var Pn=Yn("milliseconds"),En=Yn("seconds"),An=Yn("minutes"),jn=Yn("hours"),In=Yn("days"),Rn=Yn("months"),Hn=Yn("years"),Fn=Math.round,Nn={ss:44,s:45,m:45,h:22,d:26,M:11},Vn=Math.abs;function Bn(t){return(t>0)-(t<0)||+t}function zn(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n=Vn(this._milliseconds)/1e3,r=Vn(this._days),i=Vn(this._months);e=M((t=M(n/60))/60),n%=60,t%=60;var o=M(i/12),s=i%=12,a=r,l=e,u=t,c=n?n.toFixed(3).replace(/\.?0+$/,""):"",d=this.asSeconds();if(!d)return"P0D";var h=d<0?"-":"",p=Bn(this._months)!==Bn(d)?"-":"",f=Bn(this._days)!==Bn(d)?"-":"",_=Bn(this._milliseconds)!==Bn(d)?"-":"";return h+"P"+(o?p+o+"Y":"")+(s?p+s+"M":"")+(a?f+a+"D":"")+(l||u||c?"T":"")+(l?_+l+"H":"")+(u?_+u+"M":"")+(c?_+c+"S":"")}var Wn=Ae.prototype;return Wn.isValid=function(){return this._isValid},Wn.abs=function(){var t=this._data;return this._milliseconds=gn(this._milliseconds),this._days=gn(this._days),this._months=gn(this._months),t.milliseconds=gn(t.milliseconds),t.seconds=gn(t.seconds),t.minutes=gn(t.minutes),t.hours=gn(t.hours),t.months=gn(t.months),t.years=gn(t.years),this},Wn.add=function(t,e){return yn(this,t,e,1)},Wn.subtract=function(t,e){return yn(this,t,e,-1)},Wn.as=function(t){if(!this.isValid())return NaN;var e,n,r=this._milliseconds;if("month"===(t=j(t))||"year"===t)return n=this._months+bn(e=this._days+r/864e5),"month"===t?n:n/12;switch(e=this._days+Math.round(wn(this._months)),t){case"week":return e/7+r/6048e5;case"day":return e+r/864e5;case"hour":return 24*e+r/36e5;case"minute":return 1440*e+r/6e4;case"second":return 86400*e+r/1e3;case"millisecond":return Math.floor(864e5*e)+r;default:throw new Error("Unknown unit "+t)}},Wn.asMilliseconds=kn,Wn.asSeconds=xn,Wn.asMinutes=Ln,Wn.asHours=Cn,Wn.asDays=Sn,Wn.asWeeks=Tn,Wn.asMonths=On,Wn.asYears=Dn,Wn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12):NaN},Wn._bubble=function(){var t,e,n,r,i,o=this._milliseconds,s=this._days,a=this._months,l=this._data;return o>=0&&s>=0&&a>=0||o<=0&&s<=0&&a<=0||(o+=864e5*vn(wn(a)+s),s=0,a=0),l.milliseconds=o%1e3,t=M(o/1e3),l.seconds=t%60,e=M(t/60),l.minutes=e%60,n=M(e/60),l.hours=n%24,a+=i=M(bn(s+=M(n/24))),s-=vn(wn(i)),r=M(a/12),a%=12,l.days=s,l.months=a,l.years=r,this},Wn.clone=function(){return Ue(this)},Wn.get=function(t){return t=j(t),this.isValid()?this[t+"s"]():NaN},Wn.milliseconds=Pn,Wn.seconds=En,Wn.minutes=An,Wn.hours=jn,Wn.days=In,Wn.weeks=function(){return M(this.days()/7)},Wn.months=Rn,Wn.years=Hn,Wn.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),n=function(t,e,n){var r=Ue(t).abs(),i=Fn(r.as("s")),o=Fn(r.as("m")),s=Fn(r.as("h")),a=Fn(r.as("d")),l=Fn(r.as("M")),u=Fn(r.as("y")),c=i<=Nn.ss&&["s",i]||i0,c[4]=n,(function(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}).apply(null,c)}(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)},Wn.toISOString=zn,Wn.toString=zn,Wn.toJSON=zn,Wn.locale=$e,Wn.localeData=en,Wn.toIsoString=C("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",zn),Wn.lang=tn,W("X",0,0,"unix"),W("x",0,0,"valueOf"),ct("x",ot),ct("X",/[+-]?\d+(\.\d{1,3})?/),ft("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),ft("x",function(t,e,n){n._d=new Date(k(t))}),i.version="2.21.0",e=Oe,i.fn=dn,i.min=function(){return Pe("isBefore",[].slice.call(arguments,0))},i.max=function(){return Pe("isAfter",[].slice.call(arguments,0))},i.now=function(){return Date.now?Date.now():+new Date},i.utc=p,i.unix=function(t){return Oe(1e3*t)},i.months=function(t,e){return _n(t,e,"months")},i.isDate=u,i.locale=ce,i.invalid=m,i.duration=Ue,i.isMoment=w,i.weekdays=function(t,e,n){return mn(t,e,n,"weekdays")},i.parseZone=function(){return Oe.apply(null,arguments).parseZone()},i.localeData=he,i.isDuration=je,i.monthsShort=function(t,e){return _n(t,e,"monthsShort")},i.weekdaysMin=function(t,e,n){return mn(t,e,n,"weekdaysMin")},i.defineLocale=de,i.updateLocale=function(t,e){if(null!=e){var n,r,i=oe;null!=(r=ue(t))&&(i=r._config),(n=new P(e=Y(i,e))).parentLocale=se[t],se[t]=n,ce(t)}else null!=se[t]&&(null!=se[t].parentLocale?se[t]=se[t].parentLocale:null!=se[t]&&delete se[t]);return se[t]},i.locales=function(){return S(se)},i.weekdaysShort=function(t,e,n){return mn(t,e,n,"weekdaysShort")},i.normalizeUnits=j,i.relativeTimeRounding=function(t){return void 0===t?Fn:"function"==typeof t&&(Fn=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==Nn[t]&&(void 0===e?Nn[t]:(Nn[t]=e,"s"===t&&(Nn.ss=e-1),!0))},i.calendarFormat=function(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},i.prototype=dn,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},i}()}).call(e,n("3IRH")(t))},QZk1:function(t,e,n){!function(t){"use strict";t.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})}(n("PJh5"))},Qnch:function(t,e,n){"use strict";e.a=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(r){return"number"==typeof e&&(n=e,e=null),r.lift(new s(t,e,n))}};var r=n("TToO"),i=n("PIsA"),o=n("tZ2B"),s=function(){function t(t,e,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.project=t,this.resultSelector=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector,this.concurrent))},t}(),a=function(t){function e(e,n,r,i){void 0===i&&(i=Number.POSITIVE_INFINITY),t.call(this,e),this.project=n,this.resultSelector=r,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return Object(r.__extends)(e,t),e.prototype._next=function(t){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(o.a)},RMhj:function(t,e,n){var r={"./en.json":["TKku",0]};function i(t){var e=r[t];return e?n.e(e[1]).then(function(){return n(e[0])}):Promise.reject(new Error("Cannot find module '"+t+"'."))}i.keys=function(){return Object.keys(r)},i.id="RMhj",t.exports=i},Rf9G:function(t,e,n){"use strict";e.a=function(){return Object(r.a)()(this)};var r=n("3a3m")},RnJI:function(t,e,n){!function(t){"use strict";t.defineLocale("ka",{months:{standalone:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),format:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10e1_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10e1_\u10db\u10d0\u10e0\u10e2\u10e1_\u10d0\u10de\u10e0\u10d8\u10da\u10d8\u10e1_\u10db\u10d0\u10d8\u10e1\u10e1_\u10d8\u10d5\u10dc\u10d8\u10e1\u10e1_\u10d8\u10d5\u10da\u10d8\u10e1\u10e1_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10e1_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10e1_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10e1".split("_")},monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(t){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10ec\u10d4\u10da\u10d8)/.test(t)?t.replace(/\u10d8$/,"\u10e8\u10d8"):t+"\u10e8\u10d8"},past:function(t){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(t)?t.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10e3\u10d9\u10d0\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(t)?t.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10e3\u10d9\u10d0\u10dc"):void 0},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(t){return 0===t?t:1===t?t+"-\u10da\u10d8":t<20||t<=100&&t%20==0||t%100==0?"\u10db\u10d4-"+t:t+"-\u10d4"},week:{dow:1,doy:7}})}(n("PJh5"))},Sjoy:function(t,e,n){!function(t){"use strict";t.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("PJh5"))},TILf:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("TToO"),i=function(t){function e(e,n){t.call(this),this.value=e,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return Object(r.__extends)(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){var e=t.value,n=t.subscriber;t.done?n.complete():(n.next(e),n.closed||(t.done=!0,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.value,r=this.scheduler;if(r)return r.schedule(e.dispatch,0,{done:!1,value:n,subscriber:t});t.next(n),t.closed||t.complete()},e}(n("YaPU").a)},TToO:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.__extends=function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},n.d(e,"__assign",function(){return i}),e.__rest=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(t);i=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},e.__param=function(t,e){return function(n,r){e(n,r,t)}},e.__metadata=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},e.__awaiter=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function s(t){try{l(r.next(t))}catch(t){o(t)}}function a(t){try{l(r.throw(t))}catch(t){o(t)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(s,a)}l((r=r.apply(t,e||[])).next())})},e.__generator=function(t,e){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=r[2&o[0]?"return":o[0]?"throw":"next"])&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[0,i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1||l(t,e)})})}function l(t,e){try{(n=i[t](e)).value instanceof a?Promise.resolve(n.value.v).then(u,c):d(o[0][2],n)}catch(t){d(o[0][3],t)}var n}function u(t){l("next",t)}function c(t){l("throw",t)}function d(t,e){t(e),o.shift(),o.length&&l(o[0][0],o[0][1])}},e.__asyncDelegator=function(t){var e,n;return e={},r("next"),r("throw",function(t){throw t}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(r,i){t[r]&&(e[r]=function(e){return(n=!n)?{value:a(t[r](e)),done:"return"===r}:i?i(e):e})}},e.__asyncValues=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator];return e?e.call(t):"function"==typeof o?o(t):t[Symbol.iterator]()},e.__makeTemplateObject=function(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t};var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},i=Object.assign||function(t){for(var e,n=1,r=arguments.length;n=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}function s(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(t){i={error:t}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function a(t){return this instanceof a?(this.v=t,this):new a(t)}},To0v:function(t,e,n){!function(t){"use strict";t.defineLocale("ug-cn",{months:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),monthsShort:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),weekdays:"\u064a\u06d5\u0643\u0634\u06d5\u0646\u0628\u06d5_\u062f\u06c8\u0634\u06d5\u0646\u0628\u06d5_\u0633\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u0686\u0627\u0631\u0634\u06d5\u0646\u0628\u06d5_\u067e\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u062c\u06c8\u0645\u06d5_\u0634\u06d5\u0646\u0628\u06d5".split("_"),weekdaysShort:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),weekdaysMin:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649",LLL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm",LLLL:"dddd\u060c YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm"},meridiemParse:/\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5|\u0633\u06d5\u06be\u06d5\u0631|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646|\u0686\u06c8\u0634|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646|\u0643\u06d5\u0686/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===e||"\u0633\u06d5\u06be\u06d5\u0631"===e||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===e?t:"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"===e||"\u0643\u06d5\u0686"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var r=100*t+e;return r<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":r<900?"\u0633\u06d5\u06be\u06d5\u0631":r<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":r<1230?"\u0686\u06c8\u0634":r<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return t+"-\u06be\u06d5\u067e\u062a\u06d5";default:return t}},preparse:function(t){return t.replace(/\u060c/g,",")},postformat:function(t){return t.replace(/,/g,"\u060c")},week:{dow:1,doy:7}})}(n("PJh5"))},Tqun:function(t,e,n){!function(t){"use strict";t.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})}(n("PJh5"))},V0td:function(t,e,n){!function(t){"use strict";t.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(t){return"M"===t.charAt(0)},meridiem:function(t,e,n){return t<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},V4qH:function(t,e,n){!function(t){"use strict";function e(t,e,n){var r=t+" ";switch(n){case"ss":return r+(1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi");case"m":return e?"jedna minuta":"jedne minute";case"mm":return r+(1===t?"minuta":2===t||3===t||4===t?"minute":"minuta");case"h":return e?"jedan sat":"jednog sata";case"hh":return r+(1===t?"sat":2===t||3===t||4===t?"sata":"sati");case"dd":return r+(1===t?"dan":"dana");case"MM":return r+(1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci");case"yy":return r+(1===t?"godina":2===t||3===t||4===t?"godine":"godina")}}t.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},VK9h:function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n("PJh5"))},Veqx:function(t,e,n){"use strict";n.d(e,"a",function(){return l});var r=n("TToO"),i=n("YaPU"),o=n("TILf"),s=n("+3/4"),a=n("1Q68"),l=function(t){function e(e,n){t.call(this),this.array=e,this.scheduler=n,n||1!==e.length||(this._isScalar=!0,this.value=e[0])}return Object(r.__extends)(e,t),e.create=function(t,n){return new e(t,n)},e.of=function(){for(var t=[],n=0;n1?new e(t,r):1===i?new o.a(t[0],r):new s.a(r)},e.dispatch=function(t){var e=t.array,n=t.index,r=t.subscriber;n>=t.count?r.complete():(r.next(e[n]),r.closed||(t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.array,r=n.length,i=this.scheduler;if(i)return i.schedule(e.dispatch,0,{array:n,index:0,count:r,subscriber:t});for(var o=0;o=11?t:t+12},meridiem:function(t,e,n){var r=100*t+e;return r<600?"\u51cc\u6668":r<900?"\u65e9\u4e0a":r<1130?"\u4e0a\u5348":r<1230?"\u4e2d\u5348":r<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"\u65e5";case"M":return t+"\u6708";case"w":case"W":return t+"\u5468";default:return t}},relativeTime:{future:"%s\u5185",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}})}(n("PJh5"))},WT6e:function(t,e,n){"use strict";(function(t){n.d(e,"g",function(){return oe}),n.d(e,"V",function(){return Zt}),n.d(e,"Y",function(){return $t}),n.d(e,"U",function(){return ee}),n.d(e,"A",function(){return te}),n.d(e,"c",function(){return dt}),n.d(e,"E",function(){return ft}),n.d(e,"D",function(){return _t}),n.d(e,"b",function(){return mt}),n.d(e,"d",function(){return ut}),n.d(e,"e",function(){return ct}),n.d(e,"X",function(){return Ce}),n.d(e,"P",function(){return Wt}),n.d(e,"_0",function(){return Gt}),n.d(e,"w",function(){return Qe}),n.d(e,"f",function(){return $e}),n.d(e,"o",function(){return It}),n.d(e,"n",function(){return st}),n.d(e,"J",function(){return en}),n.d(e,"K",function(){return tn}),n.d(e,"a",function(){return _}),n.d(e,"k",function(){return m}),n.d(e,"t",function(){return y}),n.d(e,"F",function(){return g}),n.d(e,"S",function(){return v}),n.d(e,"Q",function(){return b}),n.d(e,"W",function(){return j}),n.d(e,"s",function(){return N}),n.d(e,"r",function(){return l}),n.d(e,"p",function(){return M}),n.d(e,"C",function(){return k}),n.d(e,"q",function(){return x}),n.d(e,"L",function(){return C}),n.d(e,"B",function(){return Rt}),n.d(e,"G",function(){return ue}),n.d(e,"H",function(){return ae}),n.d(e,"I",function(){return le}),n.d(e,"i",function(){return vt}),n.d(e,"j",function(){return St}),n.d(e,"l",function(){return ce}),n.d(e,"x",function(){return Yt}),n.d(e,"z",function(){return Dt}),n.d(e,"y",function(){return de}),n.d(e,"M",function(){return _e}),n.d(e,"N",function(){return pe}),n.d(e,"O",function(){return ge}),n.d(e,"R",function(){return ye}),n.d(e,"m",function(){return be}),n.d(e,"h",function(){return ve}),n.d(e,"u",function(){return ze}),n.d(e,"v",function(){return We}),n.d(e,"T",function(){return Oe}),n.d(e,"Z",function(){return qe}),n.d(e,"_13",function(){return Ye}),n.d(e,"_2",function(){return gt}),n.d(e,"_1",function(){return Tt}),n.d(e,"_10",function(){return O}),n.d(e,"_16",function(){return E}),n.d(e,"_30",function(){return A}),n.d(e,"_14",function(){return lt}),n.d(e,"_15",function(){return at}),n.d(e,"_3",function(){return Qn}),n.d(e,"_4",function(){return Xn}),n.d(e,"_5",function(){return _r}),n.d(e,"_6",function(){return Mo}),n.d(e,"_7",function(){return bn}),n.d(e,"_8",function(){return Hr}),n.d(e,"_9",function(){return Kn}),n.d(e,"_12",function(){return Jn}),n.d(e,"_18",function(){return sr}),n.d(e,"_19",function(){return or}),n.d(e,"_21",function(){return si}),n.d(e,"_22",function(){return Cr}),n.d(e,"_25",function(){return Fr}),n.d(e,"_28",function(){return Nr}),n.d(e,"_24",function(){return ui}),n.d(e,"_26",function(){return ci}),n.d(e,"_27",function(){return li}),n.d(e,"_29",function(){return ei}),n.d(e,"_31",function(){return hi}),n.d(e,"_32",function(){return gn}),n.d(e,"_33",function(){return _i}),n.d(e,"_17",function(){return Xe}),n.d(e,"_20",function(){return Ke}),n.d(e,"_23",function(){return Ze}),n.d(e,"_11",function(){return ht});var r=n("TToO"),i=n("YaPU"),o=n("/nXB"),s=n("Rf9G"),a=n("g5jc"),l=function(){function t(t){this._desc=t,this.ngMetadataName="InjectionToken"}return t.prototype.toString=function(){return"InjectionToken "+this._desc},t}(),u="__annotations__",c="__paramaters__",d="__prop__metadata__";function h(t,e,n,r){var i=p(e);function o(t){if(this instanceof o)return i.call(this,t),this;var e=new o(t),n=function(t){return(t.hasOwnProperty(u)?t[u]:Object.defineProperty(t,u,{value:[]})[u]).push(e),t};return r&&r(n),n}return n&&(o.prototype=Object.create(n.prototype)),o.prototype.ngMetadataName=t,o.annotationCls=o,o}function p(t){return function(){for(var e=[],n=0;n ");else if("object"==typeof e){var i=[];for(var o in e)if(e.hasOwnProperty(o)){var s=e[o];i.push(o+":"+("string"==typeof s?JSON.stringify(s):A(s)))}r="{"+i.join(", ")+"}"}return"StaticInjectorError"+(n?"("+n+")":"")+"["+r+"]: "+t.replace(q,"\n ")}function $(t,e){return new Error(Z(t,e))}var tt="ngDebugContext",et="ngOriginalError",nt="ngErrorLogger";function rt(t){return t[tt]}function it(t){return t[et]}function ot(t){for(var e=[],n=1;n0)t._bootstrapComponents.forEach(function(t){return e.bootstrap(t)});else{if(!t.instance.ngDoBootstrap)throw new Error("The module "+A(t.instance.constructor)+' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.');t.instance.ngDoBootstrap(e)}this._modules.push(t)},t.prototype.onDestroy=function(t){this._destroyListeners.push(t)},Object.defineProperty(t.prototype,"injector",{get:function(){return this._injector},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(function(t){return t.destroy()}),this._destroyListeners.forEach(function(t){return t()}),this._destroyed=!0},Object.defineProperty(t.prototype,"destroyed",{get:function(){return this._destroyed},enumerable:!0,configurable:!0}),t}();function ie(t,e){return Array.isArray(e)?e.reduce(ie,t):Object(r.__assign)({},t,e)}var oe=function(){function t(t,e,n,r,a,l){var u=this;this._zone=t,this._console=e,this._injector=n,this._exceptionHandler=r,this._componentFactoryResolver=a,this._initStatus=l,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=$t(),this._zone.onMicrotaskEmpty.subscribe({next:function(){u._zone.run(function(){u.tick()})}});var c=new i.a(function(t){u._stable=u._zone.isStable&&!u._zone.hasPendingMacrotasks&&!u._zone.hasPendingMicrotasks,u._zone.runOutsideAngular(function(){t.next(u._stable),t.complete()})}),d=new i.a(function(t){var e;u._zone.runOutsideAngular(function(){e=u._zone.onStable.subscribe(function(){Rt.assertNotInAngularZone(),P(function(){u._stable||u._zone.hasPendingMacrotasks||u._zone.hasPendingMicrotasks||(u._stable=!0,t.next(!0))})})});var n=u._zone.onUnstable.subscribe(function(){Rt.assertInAngularZone(),u._stable&&(u._stable=!1,u._zone.runOutsideAngular(function(){t.next(!1)}))});return function(){e.unsubscribe(),n.unsubscribe()}});this.isStable=Object(o.a)(c,s.a.call(d))}return t.prototype.bootstrap=function(t,e){var n,r=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");n=t instanceof wt?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);var i=n instanceof Ot?null:this._injector.get(Dt),o=n.create(N.NULL,[],e||n.selector,i);o.onDestroy(function(){r._unloadComponent(o)});var s=o.injector.get(Wt,null);return s&&o.injector.get(Ut).registerApplication(o.location.nativeElement,s),this._loadComponent(o),$t()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),o},t.prototype.tick=function(){var e=this;if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");var n=t._tickScope();try{this._runningTick=!0,this._views.forEach(function(t){return t.detectChanges()}),this._enforceNoNewChanges&&this._views.forEach(function(t){return t.checkNoChanges()})}catch(t){this._zone.runOutsideAngular(function(){return e._exceptionHandler.handleError(t)})}finally{this._runningTick=!1,jt(n)}},t.prototype.attachView=function(t){var e=t;this._views.push(e),e.attachToAppRef(this)},t.prototype.detachView=function(t){var e=t;se(this._views,e),e.detachFromAppRef()},t.prototype._loadComponent=function(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(mt,[]).concat(this._bootstrapListeners).forEach(function(e){return e(t)})},t.prototype._unloadComponent=function(t){this.detachView(t.hostView),se(this.components,t)},t.prototype.ngOnDestroy=function(){this._views.slice().forEach(function(t){return t.destroy()})},Object.defineProperty(t.prototype,"viewCount",{get:function(){return this._views.length},enumerable:!0,configurable:!0}),t._tickScope=At("ApplicationRef#tick()"),t}();function se(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}var ae=function(){},le=function(){var t={Important:1,DashCase:2};return t[t.Important]="Important",t[t.DashCase]="DashCase",t}(),ue=function(){},ce=function(t){this.nativeElement=t},de=function(){},he=function(){function t(){this.dirty=!0,this._results=[],this.changes=new It}return t.prototype.map=function(t){return this._results.map(t)},t.prototype.filter=function(t){return this._results.filter(t)},t.prototype.find=function(t){return this._results.find(t)},t.prototype.reduce=function(t,e){return this._results.reduce(t,e)},t.prototype.forEach=function(t){this._results.forEach(t)},t.prototype.some=function(t){return this._results.some(t)},t.prototype.toArray=function(){return this._results.slice()},t.prototype[Y()]=function(){return this._results[Y()]()},t.prototype.toString=function(){return this._results.toString()},t.prototype.reset=function(t){this._results=function t(e){return e.reduce(function(e,n){var r=Array.isArray(n)?t(n):n;return e.concat(r)},[])}(t),this.dirty=!1,this.length=this._results.length,this.last=this._results[this.length-1],this.first=this._results[0]},t.prototype.notifyOnChanges=function(){this.changes.emit(this)},t.prototype.setDirty=function(){this.dirty=!0},t.prototype.destroy=function(){this.changes.complete(),this.changes.unsubscribe()},t}(),pe=function(){},fe={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"},_e=function(){function t(t,e){this._compiler=t,this._config=e||fe}return t.prototype.load=function(t){return this._compiler instanceof vt?this.loadFactory(t):this.loadAndCompile(t)},t.prototype.loadAndCompile=function(t){var e=this,r=t.split("#"),i=r[0],o=r[1];return void 0===o&&(o="default"),n("Jnfr")(i).then(function(t){return t[o]}).then(function(t){return me(t,i,o)}).then(function(t){return e._compiler.compileModuleAsync(t)})},t.prototype.loadFactory=function(t){var e=t.split("#"),r=e[0],i=e[1],o="NgFactory";return void 0===i&&(i="default",o=""),n("Jnfr")(this._config.factoryPathPrefix+r+this._config.factoryPathSuffix).then(function(t){return t[i+o]}).then(function(t){return me(t,r,i)})},t}();function me(t,e,n){if(!t)throw new Error("Cannot find '"+n+"' in '"+e+"'");return t}var ge=function(){},ye=function(){},ve=function(){},be=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e}(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e}(ve)),we=function(){function t(t,e,n){this._debugContext=n,this.nativeNode=t,e&&e instanceof Me?e.addChild(this):this.parent=null,this.listeners=[]}return Object.defineProperty(t.prototype,"injector",{get:function(){return this._debugContext.injector},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"componentInstance",{get:function(){return this._debugContext.component},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._debugContext.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"references",{get:function(){return this._debugContext.references},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"providerTokens",{get:function(){return this._debugContext.providerTokens},enumerable:!0,configurable:!0}),t}(),Me=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.properties={},i.attributes={},i.classes={},i.styles={},i.childNodes=[],i.nativeElement=e,i}return Object(r.__extends)(e,t),e.prototype.addChild=function(t){t&&(this.childNodes.push(t),t.parent=this)},e.prototype.removeChild=function(t){var e=this.childNodes.indexOf(t);-1!==e&&(t.parent=null,this.childNodes.splice(e,1))},e.prototype.insertChildrenAfter=function(t,e){var n,r=this,i=this.childNodes.indexOf(t);-1!==i&&((n=this.childNodes).splice.apply(n,[i+1,0].concat(e)),e.forEach(function(t){t.parent&&t.parent.removeChild(t),t.parent=r}))},e.prototype.insertBefore=function(t,e){var n=this.childNodes.indexOf(t);-1===n?this.addChild(e):(e.parent&&e.parent.removeChild(e),e.parent=this,this.childNodes.splice(n,0,e))},e.prototype.query=function(t){return this.queryAll(t)[0]||null},e.prototype.queryAll=function(t){var e=[];return ke(this,t,e),e},e.prototype.queryAllNodes=function(t){var e=[];return xe(this,t,e),e},Object.defineProperty(e.prototype,"children",{get:function(){return this.childNodes.filter(function(t){return t instanceof e})},enumerable:!0,configurable:!0}),e.prototype.triggerEventHandler=function(t,e){this.listeners.forEach(function(n){n.name==t&&n.callback(e)})},e}(we);function ke(t,e,n){t.childNodes.forEach(function(t){t instanceof Me&&(e(t)&&n.push(t),ke(t,e,n))})}function xe(t,e,n){t instanceof Me&&t.childNodes.forEach(function(t){e(t)&&n.push(t),t instanceof Me&&xe(t,e,n)})}var Le=new Map;function Ce(t){return Le.get(t)||null}function Se(t){Le.set(t.nativeNode,t)}function Te(t,e){var n=Ye(t),r=Ye(e);return n&&r?function(t,e,n){for(var r=t[Y()](),i=e[Y()]();;){var o=r.next(),s=i.next();if(o.done&&s.done)return!0;if(o.done||s.done)return!1;if(!n(o.value,s.value))return!1}}(t,e,Te):!(n||!t||"object"!=typeof t&&"function"!=typeof t||r||!e||"object"!=typeof e&&"function"!=typeof e)||E(t,e)}var Oe=function(){function t(t){this.wrapped=t}return t.wrap=function(e){return new t(e)},t}(),De=function(){function t(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}return t.prototype.isFirstChange=function(){return this.firstChange},t}();function Ye(t){return!!Pe(t)&&(Array.isArray(t)||!(t instanceof Map)&&Y()in t)}function Pe(t){return null!==t&&("function"==typeof t||"object"==typeof t)}var Ee=function(){function t(){}return t.prototype.supports=function(t){return Ye(t)},t.prototype.create=function(t){return new je(t)},t}(),Ae=function(t,e){return e},je=function(){function t(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Ae}return t.prototype.forEachItem=function(t){var e;for(e=this._itHead;null!==e;e=e._next)t(e)},t.prototype.forEachOperation=function(t){for(var e=this._itHead,n=this._removalsHead,r=0,i=null;e||n;){var o=!n||e&&e.currentIndex=n.length)&&(e=n.length-1),e<0)return null;var r=n[e];return r.viewContainerParent=null,pr(n,e),cn.dirtyParentQueries(r),dr(r),r}function cr(t,e,n){var r=e?Dn(e,e.def.lastRenderRootNode):t.renderElement;Fn(n,2,n.renderer.parentNode(r),n.renderer.nextSibling(r),void 0)}function dr(t){Fn(t,3,null,null,void 0)}function hr(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function pr(t,e){e>=t.length-1?t.pop():t.splice(e,1)}var fr=new Object;function _r(t,e,n,r,i,o){return new mr(t,e,n,r,i,o)}var mr=function(t){function e(e,n,r,i,o,s){var a=t.call(this)||this;return a.selector=e,a.componentType=n,a._inputs=i,a._outputs=o,a.ngContentSelectors=s,a.viewDefFactory=r,a}return Object(r.__extends)(e,t),Object.defineProperty(e.prototype,"inputs",{get:function(){var t=[],e=this._inputs;for(var n in e)t.push({propName:n,templateName:e[n]});return t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"outputs",{get:function(){var t=[];for(var e in this._outputs)t.push({propName:e,templateName:this._outputs[e]});return t},enumerable:!0,configurable:!0}),e.prototype.create=function(t,e,n,r){if(!r)throw new Error("ngModule should be provided");var i=Hn(this.viewDefFactory),o=i.nodes[0].element.componentProvider.nodeIndex,s=cn.createRootView(t,e||[],n,i,r,fr),a=an(s,o).instance;return n&&s.renderer.setAttribute(sn(s,0).renderElement,"ng-version",w.full),new gr(s,new wr(s),a)},e}(wt),gr=function(t){function e(e,n,r){var i=t.call(this)||this;return i._view=e,i._viewRef=n,i._component=r,i._elDef=i._view.def.nodes[0],i.hostView=n,i.changeDetectorRef=n,i.instance=r,i}return Object(r.__extends)(e,t),Object.defineProperty(e.prototype,"location",{get:function(){return new ce(sn(this._view,this._elDef.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"injector",{get:function(){return new Lr(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentType",{get:function(){return this._component.constructor},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){this._viewRef.destroy()},e.prototype.onDestroy=function(t){this._viewRef.onDestroy(t)},e}(function(){});function yr(t,e,n){return new vr(t,e,n)}var vr=function(){function t(t,e,n){this._view=t,this._elDef=e,this._data=n,this._embeddedViews=[]}return Object.defineProperty(t.prototype,"element",{get:function(){return new ce(this._data.renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return new Lr(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parentInjector",{get:function(){for(var t=this._view,e=this._elDef.parent;!e&&t;)e=On(t),t=t.parent;return t?new Lr(t,e):new Lr(this._view,null)},enumerable:!0,configurable:!0}),t.prototype.clear=function(){for(var t=this._embeddedViews.length-1;t>=0;t--){var e=ur(this._data,t);cn.destroyView(e)}},t.prototype.get=function(t){var e=this._embeddedViews[t];if(e){var n=new wr(e);return n.attachToViewContainerRef(this),n}return null},Object.defineProperty(t.prototype,"length",{get:function(){return this._embeddedViews.length},enumerable:!0,configurable:!0}),t.prototype.createEmbeddedView=function(t,e,n){var r=t.createEmbeddedView(e||{});return this.insert(r,n),r},t.prototype.createComponent=function(t,e,n,r,i){var o=n||this.parentInjector;i||t instanceof Ot||(i=o.get(Dt));var s=t.create(o,r,void 0,i);return this.insert(s.hostView,e),s},t.prototype.insert=function(t,e){if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");var n,r,i,o,s=t;return i=s._view,o=(n=this._data).viewContainer._embeddedViews,null!==(r=e)&&void 0!==r||(r=o.length),i.viewContainerParent=this._view,hr(o,r,i),function(t,e){var n=Tn(e);if(n&&n!==t&&!(16&e.state)){e.state|=16;var r=n.template._projectedViews;r||(r=n.template._projectedViews=[]),r.push(e),function(t,n){if(!(4&n.flags)){e.parent.def.nodeFlags|=4,n.flags|=4;for(var r=n.parent;r;)r.childFlags|=4,r=r.parent}}(0,e.parentNodeDef)}}(n,i),cn.dirtyParentQueries(i),cr(n,r>0?o[r-1]:null,i),s.attachToViewContainerRef(this),t},t.prototype.move=function(t,e){if(t.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");var n,r,i,o,s,a=this._embeddedViews.indexOf(t._view);return i=e,s=(o=(n=this._data).viewContainer._embeddedViews)[r=a],pr(o,r),null==i&&(i=o.length),hr(o,i,s),cn.dirtyParentQueries(s),dr(s),cr(n,i>0?o[i-1]:null,s),t},t.prototype.indexOf=function(t){return this._embeddedViews.indexOf(t._view)},t.prototype.remove=function(t){var e=ur(this._data,t);e&&cn.destroyView(e)},t.prototype.detach=function(t){var e=ur(this._data,t);return e?new wr(e):null},t}();function br(t){return new wr(t)}var wr=function(){function t(t){this._view=t,this._viewContainerRef=null,this._appRef=null}return Object.defineProperty(t.prototype,"rootNodes",{get:function(){return Fn(this._view,0,void 0,void 0,t=[]),t;var t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._view.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"destroyed",{get:function(){return 0!=(128&this._view.state)},enumerable:!0,configurable:!0}),t.prototype.markForCheck=function(){Ln(this._view)},t.prototype.detach=function(){this._view.state&=-5},t.prototype.detectChanges=function(){var t=this._view.root.rendererFactory;t.begin&&t.begin();try{cn.checkAndUpdateView(this._view)}finally{t.end&&t.end()}},t.prototype.checkNoChanges=function(){cn.checkNoChangesView(this._view)},t.prototype.reattach=function(){this._view.state|=4},t.prototype.onDestroy=function(t){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(t)},t.prototype.destroy=function(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),cn.destroyView(this._view)},t.prototype.detachFromAppRef=function(){this._appRef=null,dr(this._view),cn.dirtyParentQueries(this._view)},t.prototype.attachToAppRef=function(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t},t.prototype.attachToViewContainerRef=function(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t},t}();function Mr(t,e){return new kr(t,e)}var kr=function(t){function e(e,n){var r=t.call(this)||this;return r._parentView=e,r._def=n,r}return Object(r.__extends)(e,t),e.prototype.createEmbeddedView=function(t){return new wr(cn.createEmbeddedView(this._parentView,this._def,this._def.element.template,t))},Object.defineProperty(e.prototype,"elementRef",{get:function(){return new ce(sn(this._parentView,this._def.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),e}(ge);function xr(t,e){return new Lr(t,e)}var Lr=function(){function t(t,e){this.view=t,this.elDef=e}return t.prototype.get=function(t,e){return void 0===e&&(e=N.THROW_IF_NOT_FOUND),cn.resolveDep(this.view,this.elDef,!!this.elDef&&0!=(33554432&this.elDef.flags),{flags:0,token:t,tokenKey:mn(t)},e)},t}();function Cr(t,e){var n=t.def.nodes[e];if(1&n.flags){var r=sn(t,n.nodeIndex);return n.element.template?r.template:r.renderElement}if(2&n.flags)return on(t,n.nodeIndex).renderText;if(20240&n.flags)return an(t,n.nodeIndex).instance;throw new Error("Illegal state: read nodeValue for node index "+e)}function Sr(t){return new Tr(t.renderer)}var Tr=function(){function t(t){this.delegate=t}return t.prototype.selectRootElement=function(t){return this.delegate.selectRootElement(t)},t.prototype.createElement=function(t,e){var n=Un(e),r=this.delegate.createElement(n[1],n[0]);return t&&this.delegate.appendChild(t,r),r},t.prototype.createViewRoot=function(t){return t},t.prototype.createTemplateAnchor=function(t){var e=this.delegate.createComment("");return t&&this.delegate.appendChild(t,e),e},t.prototype.createText=function(t,e){var n=this.delegate.createText(e);return t&&this.delegate.appendChild(t,n),n},t.prototype.projectNodes=function(t,e){for(var n=0;n0,e.provider.value,e.provider.deps);if(e.outputs.length)for(var r=0;r0,r=e.provider;switch(201347067&e.flags){case 512:return Jr(t,e.parent,n,r.value,r.deps);case 1024:return function(t,e,n,r,i){var o=i.length;switch(o){case 0:return r();case 1:return r(Qr(t,e,n,i[0]));case 2:return r(Qr(t,e,n,i[0]),Qr(t,e,n,i[1]));case 3:return r(Qr(t,e,n,i[0]),Qr(t,e,n,i[1]),Qr(t,e,n,i[2]));default:for(var s=Array(o),a=0;a0)u=_,mi(_)||(c=_);else for(;u&&f===u.nodeIndex+u.childCount;){var y=u.parent;y&&(y.childFlags|=u.childFlags,y.childMatchedQueries|=u.childMatchedQueries),c=(u=y)&&mi(u)?u.renderParent:u}}return{factory:null,nodeFlags:s,rootNodeFlags:a,nodeMatchedQueries:l,flags:t,nodes:e,updateDirectives:n||fn,updateRenderer:r||fn,handleEvent:function(t,n,r,i){return e[n].element.handleEvent(t,r,i)},bindingCount:i,outputCount:o,lastRenderRootNode:p}}function mi(t){return 0!=(1&t.flags)&&null===t.element.name}function gi(t,e,n){var r=e.element&&e.element.template;if(r){if(!r.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(r.lastRenderRootNode&&16777216&r.lastRenderRootNode.flags)throw new Error("Illegal State: Last root node of a template can't have embedded views, at index "+e.nodeIndex+"!")}if(20224&e.flags&&0==(1&(t?t.flags:0)))throw new Error("Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index "+e.nodeIndex+"!");if(e.query){if(67108864&e.flags&&(!t||0==(16384&t.flags)))throw new Error("Illegal State: Content Query nodes need to be children of directives, at index "+e.nodeIndex+"!");if(134217728&e.flags&&t)throw new Error("Illegal State: View Query nodes have to be top level nodes, at index "+e.nodeIndex+"!")}if(e.childCount){var i=t?t.nodeIndex+t.childCount:n-1;if(e.nodeIndex<=i&&e.nodeIndex+e.childCount>i)throw new Error("Illegal State: childCount of node leads outside of parent, at index "+e.nodeIndex+"!")}}function yi(t,e,n,r){var i=wi(t.root,t.renderer,t,e,n);return Mi(i,t.component,r),ki(i),i}function vi(t,e,n){var r=wi(t,t.renderer,null,null,e);return Mi(r,n,n),ki(r),r}function bi(t,e,n,r){var i,o=e.element.componentRendererType;return i=o?t.root.rendererFactory.createRenderer(r,o):t.root.renderer,wi(t.root,i,t,e.element.componentProvider,n)}function wi(t,e,n,r,i){var o=new Array(i.nodes.length),s=i.outputCount?new Array(i.outputCount):null;return{def:i,parent:n,viewContainerParent:null,parentNodeDef:r,context:null,component:null,nodes:o,state:13,root:t,renderer:e,oldValues:new Array(i.bindingCount),disposables:s,initIndex:-1}}function Mi(t,e,n){t.component=e,t.context=n}function ki(t){var e;Yn(t)&&(e=sn(t.parent,t.parentNodeDef.parent.nodeIndex).renderElement);for(var n=t.def,r=t.nodes,i=0;i0&&er(t,e,0,n)&&(p=!0),h>1&&er(t,e,1,r)&&(p=!0),h>2&&er(t,e,2,i)&&(p=!0),h>3&&er(t,e,3,o)&&(p=!0),h>4&&er(t,e,4,s)&&(p=!0),h>5&&er(t,e,5,a)&&(p=!0),h>6&&er(t,e,6,l)&&(p=!0),h>7&&er(t,e,7,u)&&(p=!0),h>8&&er(t,e,8,c)&&(p=!0),h>9&&er(t,e,9,d)&&(p=!0),p}(t,e,n,r,i,o,s,a,l,u,c,d);case 2:return function(t,e,n,r,i,o,s,a,l,u,c,d){var h=!1,p=e.bindings,f=p.length;if(f>0&&kn(t,e,0,n)&&(h=!0),f>1&&kn(t,e,1,r)&&(h=!0),f>2&&kn(t,e,2,i)&&(h=!0),f>3&&kn(t,e,3,o)&&(h=!0),f>4&&kn(t,e,4,s)&&(h=!0),f>5&&kn(t,e,5,a)&&(h=!0),f>6&&kn(t,e,6,l)&&(h=!0),f>7&&kn(t,e,7,u)&&(h=!0),f>8&&kn(t,e,8,c)&&(h=!0),f>9&&kn(t,e,9,d)&&(h=!0),h){var _=e.text.prefix;f>0&&(_+=fi(n,p[0])),f>1&&(_+=fi(r,p[1])),f>2&&(_+=fi(i,p[2])),f>3&&(_+=fi(o,p[3])),f>4&&(_+=fi(s,p[4])),f>5&&(_+=fi(a,p[5])),f>6&&(_+=fi(l,p[6])),f>7&&(_+=fi(u,p[7])),f>8&&(_+=fi(c,p[8])),f>9&&(_+=fi(d,p[9]));var m=on(t,e.nodeIndex).renderText;t.renderer.setValue(m,_)}return h}(t,e,n,r,i,o,s,a,l,u,c,d);case 16384:return function(t,e,n,r,i,o,s,a,l,u,c,d){var h=an(t,e.nodeIndex),p=h.instance,f=!1,_=void 0,m=e.bindings.length;return m>0&&Mn(t,e,0,n)&&(f=!0,_=Kr(t,h,e,0,n,_)),m>1&&Mn(t,e,1,r)&&(f=!0,_=Kr(t,h,e,1,r,_)),m>2&&Mn(t,e,2,i)&&(f=!0,_=Kr(t,h,e,2,i,_)),m>3&&Mn(t,e,3,o)&&(f=!0,_=Kr(t,h,e,3,o,_)),m>4&&Mn(t,e,4,s)&&(f=!0,_=Kr(t,h,e,4,s,_)),m>5&&Mn(t,e,5,a)&&(f=!0,_=Kr(t,h,e,5,a,_)),m>6&&Mn(t,e,6,l)&&(f=!0,_=Kr(t,h,e,6,l,_)),m>7&&Mn(t,e,7,u)&&(f=!0,_=Kr(t,h,e,7,u,_)),m>8&&Mn(t,e,8,c)&&(f=!0,_=Kr(t,h,e,8,c,_)),m>9&&Mn(t,e,9,d)&&(f=!0,_=Kr(t,h,e,9,d,_)),_&&p.ngOnChanges(_),65536&e.flags&&rn(t,256,e.nodeIndex)&&p.ngOnInit(),262144&e.flags&&p.ngDoCheck(),f}(t,e,n,r,i,o,s,a,l,u,c,d);case 32:case 64:case 128:return function(t,e,n,r,i,o,s,a,l,u,c,d){var h=e.bindings,p=!1,f=h.length;if(f>0&&kn(t,e,0,n)&&(p=!0),f>1&&kn(t,e,1,r)&&(p=!0),f>2&&kn(t,e,2,i)&&(p=!0),f>3&&kn(t,e,3,o)&&(p=!0),f>4&&kn(t,e,4,s)&&(p=!0),f>5&&kn(t,e,5,a)&&(p=!0),f>6&&kn(t,e,6,l)&&(p=!0),f>7&&kn(t,e,7,u)&&(p=!0),f>8&&kn(t,e,8,c)&&(p=!0),f>9&&kn(t,e,9,d)&&(p=!0),p){var _=ln(t,e.nodeIndex),m=void 0;switch(201347067&e.flags){case 32:m=new Array(h.length),f>0&&(m[0]=n),f>1&&(m[1]=r),f>2&&(m[2]=i),f>3&&(m[3]=o),f>4&&(m[4]=s),f>5&&(m[5]=a),f>6&&(m[6]=l),f>7&&(m[7]=u),f>8&&(m[8]=c),f>9&&(m[9]=d);break;case 64:m={},f>0&&(m[h[0].name]=n),f>1&&(m[h[1].name]=r),f>2&&(m[h[2].name]=i),f>3&&(m[h[3].name]=o),f>4&&(m[h[4].name]=s),f>5&&(m[h[5].name]=a),f>6&&(m[h[6].name]=l),f>7&&(m[h[7].name]=u),f>8&&(m[h[8].name]=c),f>9&&(m[h[9].name]=d);break;case 128:var g=n;switch(f){case 1:m=g.transform(n);break;case 2:m=g.transform(r);break;case 3:m=g.transform(r,i);break;case 4:m=g.transform(r,i,o);break;case 5:m=g.transform(r,i,o,s);break;case 6:m=g.transform(r,i,o,s,a);break;case 7:m=g.transform(r,i,o,s,a,l);break;case 8:m=g.transform(r,i,o,s,a,l,u);break;case 9:m=g.transform(r,i,o,s,a,l,u,c);break;case 10:m=g.transform(r,i,o,s,a,l,u,c,d)}}_.value=m}return p}(t,e,n,r,i,o,s,a,l,u,c,d);default:throw"unreachable"}}(t,e,r,i,o,s,a,l,u,c,d,h):function(t,e,n){switch(201347067&e.flags){case 1:return function(t,e,n){for(var r=!1,i=0;i0&&xn(t,e,0,n),h>1&&xn(t,e,1,r),h>2&&xn(t,e,2,i),h>3&&xn(t,e,3,o),h>4&&xn(t,e,4,s),h>5&&xn(t,e,5,a),h>6&&xn(t,e,6,l),h>7&&xn(t,e,7,u),h>8&&xn(t,e,8,c),h>9&&xn(t,e,9,d)}(t,e,r,i,o,s,a,l,u,c,d,h):function(t,e,n){for(var r=0;r=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},f=function(){},_=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return h(e,t),e.prototype.getTranslation=function(t){return Object(i.a)({})},e}(f);_=p([Object(r.q)()],_);var m=function(t){return t&&"function"==typeof t.schedule},g="undefined"!=typeof window?window:"undefined"!=typeof t?t:"undefined"!=typeof self?self:{};function y(t,e){return t(e={exports:{}},e.exports),e.exports}var v="undefined"!=typeof window&&window,b="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,w=v||"undefined"!=typeof g&&g||b,M=w;!function(){if(!w)throw new Error("RxJS could not find any global context (window, self, global)")}();var k,x={root:M},L={isFunction:function(t){return"function"==typeof t}},C={isArray:Array.isArray||function(t){return t&&"number"==typeof t.length}},S=function(t){return null!=t&&"object"==typeof t},T={errorObject:{e:{}}};function O(){try{return k.apply(this,arguments)}catch(t){return T.errorObject.e=t,T.errorObject}}var D=function(t){return k=t,O},Y=g&&g.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function r(){this.constructor=t}t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)},P={UnsubscriptionError:function(t){function e(e){t.call(this),this.errors=e;var n=Error.call(this,e?e.length+" errors occurred during unsubscription:\n "+e.map(function(t,e){return e+1+") "+t.toString()}).join("\n "):"");this.name=n.name="UnsubscriptionError",this.stack=n.stack,this.message=n.message}return Y(e,t),e}(Error)};function E(t){return t.reduce(function(t,e){return t.concat(e instanceof P.UnsubscriptionError?e.errors:e)},[])}var A={Subscription:function(){function t(t){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}var e;return t.prototype.unsubscribe=function(){var t,e=!1;if(!this.closed){var n=this._parent,r=this._parents,i=this._unsubscribe,o=this._subscriptions;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;for(var s=-1,a=r?r.length:0;n;)n.remove(this),n=++s1?new e(t,r):1===i?new q.ScalarObservable(t[0],r):new X.EmptyObservable(r)},e.dispatch=function(t){var e=t.array,n=t.index,r=t.subscriber;n>=t.count?r.complete():(r.next(e[n]),r.closed||(t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.array,r=n.length,i=this.scheduler;if(i)return i.schedule(e.dispatch,0,{array:n,index:0,count:r,subscriber:t});for(var o=0;oct?ct:i:i}()),this.arr=t,this.idx=e,this.len=n}return t.prototype[ot.iterator]=function(){return this},t.prototype.next=function(){return this.idx=t.length?r.complete():(r.next(e[n]),t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.arrayLike,r=this.scheduler,i=n.length;if(r)return r.schedule(e.dispatch,0,{arrayLike:n,index:0,length:i,subscriber:t});for(var o=0;o0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(Ct.OuterSubscriber),Dt=function(t){return t},Yt=function(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(r){return"number"==typeof e&&(n=e,e=null),r.lift(new Tt(t,e,n))}}(Dt,null,t)},Pt={concat:function(){for(var t=[],e=0;e=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},At=function(){},jt=function(){function t(){}return t.prototype.handle=function(t){return t.key},t}();jt=Et([Object(r.q)()],jt);var It=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},Rt=function(){},Ht=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return h(e,t),e.prototype.compile=function(t,e){return t},e.prototype.compileTranslations=function(t,e){return t},e}(Rt);function Ft(t,e){if(t===e)return!0;if(null===t||null===e)return!1;if(t!=t&&e!=e)return!0;var n,r,i,o=typeof t;if(o==typeof e&&"object"==o){if(!Array.isArray(t)){if(Array.isArray(e))return!1;for(r in i=Object.create(null),t){if(!Ft(t[r],e[r]))return!1;i[r]=!0}for(r in e)if(!(r in i)&&"undefined"!=typeof e[r])return!1;return!0}if(!Array.isArray(e))return!1;if((n=t.length)==e.length){for(r=0;r=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},zt=function(){},Wt=function(t){function e(){var e=t.apply(this,arguments)||this;return e.templateMatcher=/{{\s?([^{}\s]*)\s?}}/g,e}return h(e,t),e.prototype.interpolate=function(t,e){return"string"==typeof t?this.interpolateString(t,e):"function"==typeof t?this.interpolateFunction(t,e):t},e.prototype.getValue=function(t,e){var n=e.split(".");e="";do{e+=n.shift(),!Nt(t)||!Nt(t[e])||"object"!=typeof t[e]&&n.length?n.length?e+=".":t=void 0:(t=t[e],e="")}while(n.length);return t},e.prototype.interpolateFunction=function(t,e){return t(e)},e.prototype.interpolateString=function(t,e){var n=this;return e?t.replace(this.templateMatcher,function(t,r){var i=n.getValue(e,r);return Nt(i)?i:t}):t},e}(zt);Wt=Bt([Object(r.q)()],Wt);var Ut=function(){return function(){this.currentLang=this.defaultLang,this.translations={},this.langs=[],this.onTranslationChange=new r.o,this.onLangChange=new r.o,this.onDefaultLangChange=new r.o}}(),Gt=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},Jt=n("TToO").__metadata,qt=n("TToO").__param,Qt=new r.r("USE_STORE"),Xt=new r.r("USE_DEFAULT_LANG"),Kt=function(){function t(t,e,n,i,o,s,a){void 0===s&&(s=!0),void 0===a&&(a=!1),this.store=t,this.currentLoader=e,this.compiler=n,this.parser=i,this.missingTranslationHandler=o,this.useDefaultLang=s,this.isolate=a,this.pending=!1,this._onTranslationChange=new r.o,this._onLangChange=new r.o,this._onDefaultLangChange=new r.o,this._langs=[],this._translations={},this._translationRequests={}}return Object.defineProperty(t.prototype,"onTranslationChange",{get:function(){return this.isolate?this._onTranslationChange:this.store.onTranslationChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onLangChange",{get:function(){return this.isolate?this._onLangChange:this.store.onLangChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onDefaultLangChange",{get:function(){return this.isolate?this._onDefaultLangChange:this.store.onDefaultLangChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"defaultLang",{get:function(){return this.isolate?this._defaultLang:this.store.defaultLang},set:function(t){this.isolate?this._defaultLang=t:this.store.defaultLang=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"currentLang",{get:function(){return this.isolate?this._currentLang:this.store.currentLang},set:function(t){this.isolate?this._currentLang=t:this.store.currentLang=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"langs",{get:function(){return this.isolate?this._langs:this.store.langs},set:function(t){this.isolate?this._langs=t:this.store.langs=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"translations",{get:function(){return this.isolate?this._translations:this.store.translations},set:function(t){this.isolate?this._translations=t:this.store.translations=t},enumerable:!0,configurable:!0}),t.prototype.setDefaultLang=function(t){var e=this;if(t!==this.defaultLang){var n=this.retrieveTranslations(t);"undefined"!=typeof n?(this.defaultLang||(this.defaultLang=t),n.pipe(Object(d.a)(1)).subscribe(function(n){e.changeDefaultLang(t)})):this.changeDefaultLang(t)}},t.prototype.getDefaultLang=function(){return this.defaultLang},t.prototype.use=function(t){var e=this;if(t===this.currentLang)return Object(i.a)(this.translations[t]);var n=this.retrieveTranslations(t);return"undefined"!=typeof n?(this.currentLang||(this.currentLang=t),n.pipe(Object(d.a)(1)).subscribe(function(n){e.changeLang(t)}),n):(this.changeLang(t),Object(i.a)(this.translations[t]))},t.prototype.retrieveTranslations=function(t){var e;return"undefined"==typeof this.translations[t]&&(this._translationRequests[t]=this._translationRequests[t]||this.getTranslation(t),e=this._translationRequests[t]),e},t.prototype.getTranslation=function(t){var e=this;return this.pending=!0,this.loadingTranslations=this.currentLoader.getTranslation(t).pipe(Object(s.a)()),this.loadingTranslations.pipe(Object(d.a)(1)).subscribe(function(n){e.translations[t]=e.compiler.compileTranslations(n,t),e.updateLangs(),e.pending=!1},function(t){e.pending=!1}),this.loadingTranslations},t.prototype.setTranslation=function(t,e,n){void 0===n&&(n=!1),e=this.compiler.compileTranslations(e,t),this.translations[t]=n&&this.translations[t]?function t(e,n){var r=Object.assign({},e);return Vt(e)&&Vt(n)&&Object.keys(n).forEach(function(i){var o,s;Vt(n[i])?i in e?r[i]=t(e[i],n[i]):Object.assign(r,((o={})[i]=n[i],o)):Object.assign(r,((s={})[i]=n[i],s))}),r}(this.translations[t],e):e,this.updateLangs(),this.onTranslationChange.emit({lang:t,translations:this.translations[t]})},t.prototype.getLangs=function(){return this.langs},t.prototype.addLangs=function(t){var e=this;t.forEach(function(t){-1===e.langs.indexOf(t)&&e.langs.push(t)})},t.prototype.updateLangs=function(){this.addLangs(Object.keys(this.translations))},t.prototype.getParsedResult=function(t,e,n){var r;if(e instanceof Array){for(var o={},s=!1,u=0,d=e;u=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},$t=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},te=function(){function t(t,e,n){var r=this;this.translateService=t,this.element=e,this._ref=n,this.onTranslationChangeSub||(this.onTranslationChangeSub=this.translateService.onTranslationChange.subscribe(function(t){t.lang===r.translateService.currentLang&&r.checkNodes(!0,t.translations)})),this.onLangChangeSub||(this.onLangChangeSub=this.translateService.onLangChange.subscribe(function(t){r.checkNodes(!0,t.translations)})),this.onDefaultLangChangeSub||(this.onDefaultLangChangeSub=this.translateService.onDefaultLangChange.subscribe(function(t){r.checkNodes(!0)}))}return Object.defineProperty(t.prototype,"translate",{set:function(t){t&&(this.key=t,this.checkNodes())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"translateParams",{set:function(t){Ft(this.currentParams,t)||(this.currentParams=t,this.checkNodes(!0))},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewChecked=function(){this.checkNodes()},t.prototype.checkNodes=function(t,e){void 0===t&&(t=!1);var n=this.element.nativeElement.childNodes;n.length||(this.setContent(this.element.nativeElement,this.key),n=this.element.nativeElement.childNodes);for(var r=0;r=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},ne=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},re=function(){function t(t,e){this.translate=t,this._ref=e,this.value=""}return t.prototype.updateValue=function(t,e,n){var r=this,i=function(e){r.value=void 0!==e?e:t,r.lastKey=t,r._ref.markForCheck()};if(n){var o=this.translate.getParsedResult(n,t,e);"function"==typeof o.subscribe?o.subscribe(i):i(o)}this.translate.get(t,e).subscribe(i)},t.prototype.transform=function(t){for(var e,n=this,r=[],i=1;i20?e=40===t||50===t||60===t||80===t||100===t?"fed":"ain":t>0&&(e=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][t]),t+e},week:{dow:1,doy:4}})}(n("PJh5"))},ZUyn:function(t,e,n){!function(t){"use strict";t.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u51cc\u6668"===e||"\u65e9\u4e0a"===e||"\u4e0a\u5348"===e?t:"\u4e2d\u5348"===e?t>=11?t:t+12:"\u4e0b\u5348"===e||"\u665a\u4e0a"===e?t+12:void 0},meridiem:function(t,e,n){var r=100*t+e;return r<600?"\u51cc\u6668":r<900?"\u65e9\u4e0a":r<1130?"\u4e0a\u5348":r<1230?"\u4e2d\u5348":r<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"\u65e5";case"M":return t+"\u6708";case"w":case"W":return t+"\u9031";default:return t}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}})}(n("PJh5"))},ZoSI:function(t,e,n){!function(t){"use strict";t.defineLocale("pt",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},aM0x:function(t,e,n){!function(t){"use strict";var e={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},n={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};t.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09c0_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2_\u0986\u0997_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u0983_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(t){return t.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u09b0\u09be\u09a4"===e&&t>=4||"\u09a6\u09c1\u09aa\u09c1\u09b0"===e&&t<5||"\u09ac\u09bf\u0995\u09be\u09b2"===e?t+12:t},meridiem:function(t,e,n){return t<4?"\u09b0\u09be\u09a4":t<10?"\u09b8\u0995\u09be\u09b2":t<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":t<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}})}(n("PJh5"))},aqvp:function(t,e,n){!function(t){"use strict";function e(t,e,n){var r=t+" ";switch(n){case"ss":return r+(1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi");case"m":return e?"jedna minuta":"jedne minute";case"mm":return r+(1===t?"minuta":2===t||3===t||4===t?"minute":"minuta");case"h":return e?"jedan sat":"jednog sata";case"hh":return r+(1===t?"sat":2===t||3===t||4===t?"sata":"sati");case"dd":return r+(1===t?"dan":"dana");case"MM":return r+(1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci");case"yy":return r+(1===t?"godina":2===t||3===t||4===t?"godine":"godina")}}t.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},bXQP:function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}}})}(n("PJh5"))},c1x4:function(t,e,n){!function(t){"use strict";var e={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u0435 \u043c\u0438\u043d\u0443\u0442\u0435"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0435","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],yy:["\u0433\u043e\u0434\u0438\u043d\u0430","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};t.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"\u0434\u0430\u043d",dd:e.translate,M:"\u043c\u0435\u0441\u0435\u0446",MM:e.translate,y:"\u0433\u043e\u0434\u0438\u043d\u0443",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},cQXm:function(t,e,n){"use strict";e.a=function(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}},"ce/b":function(t,e,n){"use strict";e.a=function(){for(var t=[],e=0;e=100?100:null])},week:{dow:1,doy:7}})}(n("PJh5"))},etqZ:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(t){var e=t.Symbol;if("function"==typeof e)return e.iterator||(e.iterator=e("iterator polyfill")),e.iterator;var n=t.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var r=t.Map;if(r)for(var i=Object.getOwnPropertyNames(r.prototype),o=0;o=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};t.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},f9aG:function(t,e,n){"use strict";function r(){}function i(t){return t?1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}:r}e.a=function(){for(var t=[],e=0;e=20?"ste":"de")},week:{dow:1,doy:4}})}(n("PJh5"))},gEQe:function(t,e,n){!function(t){"use strict";var e={1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"},n={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};t.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(t){return t.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===e?t<4?t:t+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===e?t:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===e?t>=10?t:t+12:"\u0cb8\u0c82\u0c9c\u0cc6"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":t<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":t<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":t<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(t){return t+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}})}(n("PJh5"))},gEU3:function(t,e,n){!function(t){"use strict";t.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},gUgh:function(t,e,n){!function(t){"use strict";t.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("PJh5"))},hPuz:function(t,e,n){!function(t){"use strict";t.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("PJh5"))},hng5:function(t,e,n){!function(t){"use strict";t.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})}(n("PJh5"))},iNtv:function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={s:["viensas secunds","'iensas secunds"],ss:[t+" secunds",t+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[t+" m\xeduts",t+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[t+" \xfeoras",t+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[t+" ziuas",t+" ziuas"],M:["'n mes","'iens mes"],MM:[t+" mesen",t+" mesen"],y:["'n ar","'iens ar"],yy:[t+" ars",t+" ars"]};return r?i[n][0]:e?i[n][0]:i[n][1]}t.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(t){return"d'o"===t.toLowerCase()},meridiem:function(t,e,n){return t>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},"j+vx":function(t,e,n){!function(t){"use strict";var e={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"};t.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(t){return t+(e[t]||e[t%10]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("PJh5"))},j8cJ:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}})}(n("PJh5"))},jxEH:function(t,e,n){!function(t){"use strict";var e={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function n(t,e,n){return n?e%10==1&&e%100!=11?t[2]:t[3]:e%10==1&&e%100!=11?t[0]:t[1]}function r(t,r,i){return t+" "+n(e[i],t,r)}function i(t,r,i){return n(e[i],t,r)}t.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(t,e){return e?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:r,m:i,mm:r,h:i,hh:r,d:i,dd:r,M:i,MM:r,y:i,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},"k+5o":function(t,e,n){!function(t){"use strict";var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};t.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_\xc7ar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(t,n){switch(n){case"d":case"D":case"Do":case"DD":return t;default:if(0===t)return t+"'\u0131nc\u0131";var r=t%10;return t+(e[r]||e[t%100-r]||e[t>=100?100:null])}},week:{dow:1,doy:7}})}(n("PJh5"))},krPU:function(t,e,n){!function(t){"use strict";t.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}(n("PJh5"))},lOED:function(t,e,n){!function(t){"use strict";t.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0440_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u043d\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-\u0435\u0432":0===n?t+"-\u0435\u043d":n>10&&n<20?t+"-\u0442\u0438":1===e?t+"-\u0432\u0438":2===e?t+"-\u0440\u0438":7===e||8===e?t+"-\u043c\u0438":t+"-\u0442\u0438"},week:{dow:1,doy:7}})}(n("PJh5"))},m7yE:function(t,e,n){!function(t){"use strict";var e="pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function n(t,n,r,i){var o=function(t){var n=Math.floor(t%1e3/100),r=Math.floor(t%100/10),i=t%10,o="";return n>0&&(o+=e[n]+"vatlh"),r>0&&(o+=(""!==o?" ":"")+e[r]+"maH"),i>0&&(o+=(""!==o?" ":"")+e[i]),""===o?"pagh":o}(t);switch(r){case"ss":return o+" lup";case"mm":return o+" tup";case"hh":return o+" rep";case"dd":return o+" jaj";case"MM":return o+" jar";case"yy":return o+" DIS"}}t.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(t){var e=t;return-1!==t.indexOf("jaj")?e.slice(0,-3)+"leS":-1!==t.indexOf("jar")?e.slice(0,-3)+"waQ":-1!==t.indexOf("DIS")?e.slice(0,-3)+"nem":e+" pIq"},past:function(t){var e=t;return-1!==t.indexOf("jaj")?e.slice(0,-3)+"Hu\u2019":-1!==t.indexOf("jar")?e.slice(0,-3)+"wen":-1!==t.indexOf("DIS")?e.slice(0,-3)+"ben":e+" ret"},s:"puS lup",ss:n,m:"wa\u2019 tup",mm:n,h:"wa\u2019 rep",hh:n,d:"wa\u2019 jaj",dd:n,M:"wa\u2019 jar",MM:n,y:"wa\u2019 DIS",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},nE8X:function(t,e,n){!function(t){"use strict";t.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(t){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===t},meridiem:function(t,e,n){return t<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(t){return"\u0e97\u0eb5\u0ec8"+t}})}(n("PJh5"))},nLOz:function(t,e,n){!function(t){"use strict";t.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){return t+(1===t?"d":t%10==2?"na":"mh")},week:{dow:1,doy:4}})}(n("PJh5"))},nS2h:function(t,e,n){!function(t){"use strict";var e="nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" "),n=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",e[7],e[8],e[9]];function r(t,r,i,o){var s="";switch(i){case"s":return o?"muutaman sekunnin":"muutama sekunti";case"ss":return o?"sekunnin":"sekuntia";case"m":return o?"minuutin":"minuutti";case"mm":s=o?"minuutin":"minuuttia";break;case"h":return o?"tunnin":"tunti";case"hh":s=o?"tunnin":"tuntia";break;case"d":return o?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":s=o?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return o?"kuukauden":"kuukausi";case"MM":s=o?"kuukauden":"kuukautta";break;case"y":return o?"vuoden":"vuosi";case"yy":s=o?"vuoden":"vuotta"}return function(t,r){return t<10?r?n[t]:e[t]:t}(t,o)+" "+s}t.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},ntHu:function(t,e,n){!function(t){"use strict";function e(t,e,n){var r,i;return"m"===n?e?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===n?e?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":t+" "+(r=+t,i={ss:e?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:e?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:e?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[n].split("_"),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}function n(t){return function(){return t+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}t.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(t,e){var n={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return t?n[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(e)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(e)?"genitive":"nominative"][t.day()]:n.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:n("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:n("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:n("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:n("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return n("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return n("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:e,m:e,mm:e,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:e,d:"\u0434\u0435\u043d\u044c",dd:e,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:e,y:"\u0440\u0456\u043a",yy:e},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(t){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(t)},meridiem:function(t,e,n){return t<4?"\u043d\u043e\u0447\u0456":t<12?"\u0440\u0430\u043d\u043a\u0443":t<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t+"-\u0439";case"D":return t+"-\u0433\u043e";default:return t}},week:{dow:1,doy:7}})}(n("PJh5"))},oCzW:function(t,e,n){!function(t){"use strict";t.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},oo1B:function(t,e,n){!function(t){"use strict";t.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===e&&t>=4||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===e||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===e?t+12:t},meridiem:function(t,e,n){return t<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":t<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":t<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":t<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}})}(n("PJh5"))},ooba:function(t,e,n){!function(t){"use strict";t.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("PJh5"))},"pU/0":function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("TToO"),i=function(t){function e(){var e=t.call(this,"argument out of range");this.name=e.name="ArgumentOutOfRangeError",this.stack=e.stack,this.message=e.message}return Object(r.__extends)(e,t),e}(Error)},pfs9:function(t,e,n){!function(t){"use strict";var e={1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"},n={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"};t.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(t){return t.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0a30\u0a3e\u0a24"===e?t<4?t:t+12:"\u0a38\u0a35\u0a47\u0a30"===e?t:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===e?t>=10?t:t+12:"\u0a38\u0a3c\u0a3e\u0a2e"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0a30\u0a3e\u0a24":t<10?"\u0a38\u0a35\u0a47\u0a30":t<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":t<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}})}(n("PJh5"))},rIuo:function(t,e,n){!function(t){"use strict";var e=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],n=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];t.defineLocale("dv",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0789\u0786|\u0789\u078a/,isPM:function(t){return"\u0789\u078a"===t},meridiem:function(t,e,n){return t<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(t){return t.replace(/\u060c/g,",")},postformat:function(t){return t.replace(/,/g,"\u060c")},week:{dow:7,doy:12}})}(n("PJh5"))},rtsW:function(t,e,n){!function(t){"use strict";var e={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},n={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"};t.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ac7\u0ab9\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(t){return t.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0ab0\u0abe\u0aa4"===e?t<4?t:t+12:"\u0ab8\u0ab5\u0abe\u0ab0"===e?t:"\u0aac\u0aaa\u0acb\u0ab0"===e?t>=10?t:t+12:"\u0ab8\u0abe\u0a82\u0a9c"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0ab0\u0abe\u0aa4":t<10?"\u0ab8\u0ab5\u0abe\u0ab0":t<17?"\u0aac\u0aaa\u0acb\u0ab0":t<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}})}(n("PJh5"))},rxKx:function(t,e,n){var r;!function(i,o,s,a){"use strict";var l,u=["","webkit","Moz","MS","ms","o"],c=o.createElement("div"),d="function",h=Math.round,p=Math.abs,f=Date.now;function _(t,e,n){return setTimeout(M(t,n),e)}function m(t,e,n){return!!Array.isArray(t)&&(g(t,n[e],n),!0)}function g(t,e,n){var r;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==a)for(r=0;r\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=i.console&&(i.console.warn||i.console.log);return o&&o.call(i.console,r,n),t.apply(this,arguments)}}l="function"!=typeof Object.assign?function(t){if(t===a||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n-1}function O(t){return t.trim().split(/\s+/g)}function D(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var r=0;rn[e]}):r.sort()),r}function E(t,e){for(var n,r,i=e[0].toUpperCase()+e.slice(1),o=0;o1&&!n.firstMultiple?n.firstMultiple=et(e):1===i&&(n.firstMultiple=!1);var o=n.firstInput,s=n.firstMultiple,l=s?s.center:o.center,u=e.center=nt(r);e.timeStamp=f(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=st(l,u),e.distance=ot(l,u),function(t,e){var n=e.center,r=t.offsetDelta||{},i=t.prevDelta||{},o=t.prevInput||{};e.eventType!==N&&o.eventType!==V||(i=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},r=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=i.x+(n.x-r.x),e.deltaY=i.y+(n.y-r.y)}(n,e),e.offsetDirection=it(e.deltaX,e.deltaY);var c,d,h=rt(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=h.x,e.overallVelocityY=h.y,e.overallVelocity=p(h.x)>p(h.y)?h.x:h.y,e.scale=s?(c=s.pointers,ot((d=r)[0],d[1],Z)/ot(c[0],c[1],Z)):1,e.rotation=s?function(t,e){return st(r[1],r[0],Z)+st(t[1],t[0],Z)}(s.pointers):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,r,i,o,s=t.lastInterval||e,l=e.timeStamp-s.timeStamp;if(e.eventType!=B&&(l>F||s.velocity===a)){var u=e.deltaX-s.deltaX,c=e.deltaY-s.deltaY,d=rt(l,u,c);r=d.x,i=d.y,n=p(d.x)>p(d.y)?d.x:d.y,o=it(u,c),t.lastInterval=e}else n=s.velocity,r=s.velocityX,i=s.velocityY,o=s.direction;e.velocity=n,e.velocityX=r,e.velocityY=i,e.direction=o}(n,e);var _=t.element;S(e.srcEvent.target,_)&&(_=e.srcEvent.target),e.target=_}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function et(t){for(var e=[],n=0;n=p(e)?t<0?W:U:e<0?G:J}function ot(t,e,n){n||(n=K);var r=e[n[0]]-t[n[0]],i=e[n[1]]-t[n[1]];return Math.sqrt(r*r+i*i)}function st(t,e,n){return n||(n=K),180*Math.atan2(e[n[1]]-t[n[1]],e[n[0]]-t[n[0]])/Math.PI}$.prototype={handler:function(){},init:function(){this.evEl&&L(this.element,this.evEl,this.domHandler),this.evTarget&&L(this.target,this.evTarget,this.domHandler),this.evWin&&L(j(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&C(this.element,this.evEl,this.domHandler),this.evTarget&&C(this.target,this.evTarget,this.domHandler),this.evWin&&C(j(this.element),this.evWin,this.domHandler)}};var at={mousedown:N,mousemove:2,mouseup:V},lt="mousedown",ut="mousemove mouseup";function ct(){this.evEl=lt,this.evWin=ut,this.pressed=!1,$.apply(this,arguments)}w(ct,$,{handler:function(t){var e=at[t.type];e&N&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=V),this.pressed&&(e&V&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}});var dt={pointerdown:N,pointermove:2,pointerup:V,pointercancel:B,pointerout:B},ht={2:"touch",3:"pen",4:"mouse",5:"kinect"},pt="pointerdown",ft="pointermove pointerup pointercancel";function _t(){this.evEl=pt,this.evWin=ft,$.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}i.MSPointerEvent&&!i.PointerEvent&&(pt="MSPointerDown",ft="MSPointerMove MSPointerUp MSPointerCancel"),w(_t,$,{handler:function(t){var e=this.store,n=!1,r=t.type.toLowerCase().replace("ms",""),i=dt[r],o=ht[t.pointerType]||t.pointerType,s="touch"==o,a=D(e,t.pointerId,"pointerId");i&N&&(0===t.button||s)?a<0&&(e.push(t),a=e.length-1):i&(V|B)&&(n=!0),a<0||(e[a]=t,this.callback(this.manager,i,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),n&&e.splice(a,1))}});var mt={touchstart:N,touchmove:2,touchend:V,touchcancel:B},gt="touchstart",yt="touchstart touchmove touchend touchcancel";function vt(){this.evTarget=gt,this.evWin=yt,this.started=!1,$.apply(this,arguments)}w(vt,$,{handler:function(t){var e=mt[t.type];if(e===N&&(this.started=!0),this.started){var n=(function(t,e){var n=Y(t.touches),r=Y(t.changedTouches);return e&(V|B)&&(n=P(n.concat(r),"identifier",!0)),[n,r]}).call(this,t,e);e&(V|B)&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:"touch",srcEvent:t})}}});var bt={touchstart:N,touchmove:2,touchend:V,touchcancel:B},wt="touchstart touchmove touchend touchcancel";function Mt(){this.evTarget=wt,this.targetIds={},$.apply(this,arguments)}w(Mt,$,{handler:function(t){var e=bt[t.type],n=(function(t,e){var n=Y(t.touches),r=this.targetIds;if(e&(2|N)&&1===n.length)return r[n[0].identifier]=!0,[n,n];var i,o,s=Y(t.changedTouches),a=[],l=this.target;if(o=n.filter(function(t){return S(t.target,l)}),e===N)for(i=0;i-1&&r.splice(t,1)},kt)}}w(xt,$,{handler:function(t,e,n){var r="mouse"==n.pointerType;if(!(r&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents)){if("touch"==n.pointerType)(function(t,e){t&N?(this.primaryTouch=e.changedPointers[0].identifier,Lt.call(this,e)):t&(V|B)&&Lt.call(this,e)}).call(this,e,n);else if(r&&(function(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,r=0;r-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function r(n){e.manager.emit(n,t)}n=Et&&r(e.options.event+Rt(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&i&e.direction},attrTest:function(t){return Nt.prototype.attrTest.call(this,t)&&(this.state&Yt||!(this.state&Yt)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Ht(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),w(Bt,Nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&Yt)},emit:function(t){1!==t.scale&&(t.additionalEvent=this.options.event+(t.scale<1?"in":"out")),this._super.emit.call(this,t)}}),w(zt,It,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distancee.time;if(this._input=t,!r||!n||t.eventType&(V|B)&&!i)this.reset();else if(t.eventType&N)this.reset(),this._timer=_(function(){this.state=At,this.tryEmit()},e.time,this);else if(t.eventType&V)return At;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===At&&(t&&t.eventType&V?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=f(),this.manager.emit(this.options.event,this._input)))}}),w(Wt,Nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&Yt)}}),w(Ut,Nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:q|Q,pointers:1},getTouchAction:function(){return Vt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(q|Q)?e=t.overallVelocity:n&q?e=t.overallVelocityX:n&Q&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&p(e)>this.options.velocity&&t.eventType&V},emit:function(t){var e=Ht(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),w(Gt,It,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return["manipulation"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distance1&&t<5&&1!=~~(t/10)}function i(t,e,n,i){var o=t+" ";switch(n){case"s":return e||i?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return e||i?o+(r(t)?"sekundy":"sekund"):o+"sekundami";case"m":return e?"minuta":i?"minutu":"minutou";case"mm":return e||i?o+(r(t)?"minuty":"minut"):o+"minutami";case"h":return e?"hodina":i?"hodinu":"hodinou";case"hh":return e||i?o+(r(t)?"hodiny":"hodin"):o+"hodinami";case"d":return e||i?"den":"dnem";case"dd":return e||i?o+(r(t)?"dny":"dn\xed"):o+"dny";case"M":return e||i?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return e||i?o+(r(t)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):o+"m\u011bs\xedci";case"y":return e||i?"rok":"rokem";case"yy":return e||i?o+(r(t)?"roky":"let"):o+"lety"}}t.defineLocale("cs",{months:e,monthsShort:n,monthsParse:function(t,e){var n,r=[];for(n=0;n<12;n++)r[n]=new RegExp("^"+t[n]+"$|^"+e[n]+"$","i");return r}(e,n),shortMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(n),longMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(e),weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},svD2:function(t,e,n){!function(t){"use strict";var e={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};t.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mjesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},t7NR:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r={closed:!0,next:function(t){},error:function(t){throw t},complete:function(){}}},tLDX:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("AMGY").a.Symbol,i="function"==typeof r&&"function"==typeof r.for?r.for("rxSubscriber"):"@@rxSubscriber"},tZ2B:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("TToO"),i=function(t){function e(){t.apply(this,arguments)}return Object(r.__extends)(e,t),e.prototype.notifyNext=function(t,e,n,r,i){this.destination.next(e)},e.prototype.notifyError=function(t,e){this.destination.error(t)},e.prototype.notifyComplete=function(t){this.destination.complete()},e}(n("OVmG").a)},tkWw:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-dz",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u0623\u062d_\u0625\u062b_\u062b\u0644\u0627_\u0623\u0631_\u062e\u0645_\u062c\u0645_\u0633\u0628".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:4}})}(n("PJh5"))},tzHd:function(t,e,n){!function(t){"use strict";t.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(t,e){switch(e){case"D":return t+(1===t?"er":"");default:case"M":case"Q":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n("PJh5"))},uSe8:function(t,e,n){!function(t){"use strict";var e=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],n=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"];t.defineLocale("ur",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(t){return"\u0634\u0627\u0645"===t},meridiem:function(t,e,n){return t<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(t){return t.replace(/\u060c/g,",")},postformat:function(t){return t.replace(/,/g,"\u060c")},week:{dow:1,doy:4}})}(n("PJh5"))},ulq9:function(t,e,n){!function(t){"use strict";function e(t,e,n){var r,i;return"m"===n?e?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":t+" "+(r=+t,i={ss:e?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:e?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[n].split("_"),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}var n=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i];t.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?\] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:n,longMonthsParse:n,shortMonthsParse:n,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430 \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",nextWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd [\u0432] LT":"[\u0412] dddd [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd [\u0432] LT"}},lastWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd [\u0432] LT":"[\u0412] dddd [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:e,m:e,mm:e,h:"\u0447\u0430\u0441",hh:e,d:"\u0434\u0435\u043d\u044c",dd:e,M:"\u043c\u0435\u0441\u044f\u0446",MM:e,y:"\u0433\u043e\u0434",yy:e},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(t){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(t)},meridiem:function(t,e,n){return t<4?"\u043d\u043e\u0447\u0438":t<12?"\u0443\u0442\u0440\u0430":t<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":return t+"-\u0439";case"D":return t+"-\u0433\u043e";case"w":case"W":return t+"-\u044f";default:return t}},week:{dow:1,doy:4}})}(n("PJh5"))},upln:function(t,e,n){!function(t){"use strict";function e(t){return t%100==11||t%10!=1}function n(t,n,r,i){var o=t+" ";switch(r){case"s":return n||i?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return e(t)?o+(n||i?"sek\xfandur":"sek\xfandum"):o+"sek\xfanda";case"m":return n?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return e(t)?o+(n||i?"m\xedn\xfatur":"m\xedn\xfatum"):n?o+"m\xedn\xfata":o+"m\xedn\xfatu";case"hh":return e(t)?o+(n||i?"klukkustundir":"klukkustundum"):o+"klukkustund";case"d":return n?"dagur":i?"dag":"degi";case"dd":return e(t)?n?o+"dagar":o+(i?"daga":"d\xf6gum"):n?o+"dagur":o+(i?"dag":"degi");case"M":return n?"m\xe1nu\xf0ur":i?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return e(t)?n?o+"m\xe1nu\xf0ir":o+(i?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):n?o+"m\xe1nu\xf0ur":o+(i?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return n||i?"\xe1r":"\xe1ri";case"yy":return e(t)?o+(n||i?"\xe1r":"\xe1rum"):o+(n||i?"\xe1r":"\xe1ri")}}t.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:n,ss:n,m:n,mm:n,h:"klukkustund",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},uslO:function(t,e,n){var r={"./af":"3CJN","./af.js":"3CJN","./ar":"3MVc","./ar-dz":"tkWw","./ar-dz.js":"tkWw","./ar-kw":"j8cJ","./ar-kw.js":"j8cJ","./ar-ly":"wPpW","./ar-ly.js":"wPpW","./ar-ma":"dURR","./ar-ma.js":"dURR","./ar-sa":"7OnE","./ar-sa.js":"7OnE","./ar-tn":"BEem","./ar-tn.js":"BEem","./ar.js":"3MVc","./az":"eHwN","./az.js":"eHwN","./be":"3hfc","./be.js":"3hfc","./bg":"lOED","./bg.js":"lOED","./bm":"hng5","./bm.js":"hng5","./bn":"aM0x","./bn.js":"aM0x","./bo":"w2Hs","./bo.js":"w2Hs","./br":"OSsP","./br.js":"OSsP","./bs":"aqvp","./bs.js":"aqvp","./ca":"wIgY","./ca.js":"wIgY","./cs":"ssxj","./cs.js":"ssxj","./cv":"N3vo","./cv.js":"N3vo","./cy":"ZFGz","./cy.js":"ZFGz","./da":"YBA/","./da.js":"YBA/","./de":"DOkx","./de-at":"8v14","./de-at.js":"8v14","./de-ch":"Frex","./de-ch.js":"Frex","./de.js":"DOkx","./dv":"rIuo","./dv.js":"rIuo","./el":"CFqe","./el.js":"CFqe","./en-au":"Sjoy","./en-au.js":"Sjoy","./en-ca":"Tqun","./en-ca.js":"Tqun","./en-gb":"hPuz","./en-gb.js":"hPuz","./en-ie":"ALEw","./en-ie.js":"ALEw","./en-il":"QZk1","./en-il.js":"QZk1","./en-nz":"dyB6","./en-nz.js":"dyB6","./eo":"Nd3h","./eo.js":"Nd3h","./es":"LT9G","./es-do":"7MHZ","./es-do.js":"7MHZ","./es-us":"INcR","./es-us.js":"INcR","./es.js":"LT9G","./et":"XlWM","./et.js":"XlWM","./eu":"sqLM","./eu.js":"sqLM","./fa":"2pmY","./fa.js":"2pmY","./fi":"nS2h","./fi.js":"nS2h","./fo":"OVPi","./fo.js":"OVPi","./fr":"tzHd","./fr-ca":"bXQP","./fr-ca.js":"bXQP","./fr-ch":"VK9h","./fr-ch.js":"VK9h","./fr.js":"tzHd","./fy":"g7KF","./fy.js":"g7KF","./gd":"nLOz","./gd.js":"nLOz","./gl":"FuaP","./gl.js":"FuaP","./gom-latn":"+27R","./gom-latn.js":"+27R","./gu":"rtsW","./gu.js":"rtsW","./he":"Nzt2","./he.js":"Nzt2","./hi":"ETHv","./hi.js":"ETHv","./hr":"V4qH","./hr.js":"V4qH","./hu":"xne+","./hu.js":"xne+","./hy-am":"GrS7","./hy-am.js":"GrS7","./id":"yRTJ","./id.js":"yRTJ","./is":"upln","./is.js":"upln","./it":"FKXc","./it.js":"FKXc","./ja":"ORgI","./ja.js":"ORgI","./jv":"JwiF","./jv.js":"JwiF","./ka":"RnJI","./ka.js":"RnJI","./kk":"j+vx","./kk.js":"j+vx","./km":"5j66","./km.js":"5j66","./kn":"gEQe","./kn.js":"gEQe","./ko":"eBB/","./ko.js":"eBB/","./ky":"6cf8","./ky.js":"6cf8","./lb":"z3hR","./lb.js":"z3hR","./lo":"nE8X","./lo.js":"nE8X","./lt":"/6P1","./lt.js":"/6P1","./lv":"jxEH","./lv.js":"jxEH","./me":"svD2","./me.js":"svD2","./mi":"gEU3","./mi.js":"gEU3","./mk":"Ab7C","./mk.js":"Ab7C","./ml":"oo1B","./ml.js":"oo1B","./mr":"5vPg","./mr.js":"5vPg","./ms":"ooba","./ms-my":"G++c","./ms-my.js":"G++c","./ms.js":"ooba","./mt":"oCzW","./mt.js":"oCzW","./my":"F+2e","./my.js":"F+2e","./nb":"FlzV","./nb.js":"FlzV","./ne":"/mhn","./ne.js":"/mhn","./nl":"3K28","./nl-be":"Bp2f","./nl-be.js":"Bp2f","./nl.js":"3K28","./nn":"C7av","./nn.js":"C7av","./pa-in":"pfs9","./pa-in.js":"pfs9","./pl":"7LV+","./pl.js":"7LV+","./pt":"ZoSI","./pt-br":"AoDM","./pt-br.js":"AoDM","./pt.js":"ZoSI","./ro":"wT5f","./ro.js":"wT5f","./ru":"ulq9","./ru.js":"ulq9","./sd":"fW1y","./sd.js":"fW1y","./se":"5Omq","./se.js":"5Omq","./si":"Lgqo","./si.js":"Lgqo","./sk":"OUMt","./sk.js":"OUMt","./sl":"2s1U","./sl.js":"2s1U","./sq":"V0td","./sq.js":"V0td","./sr":"f4W3","./sr-cyrl":"c1x4","./sr-cyrl.js":"c1x4","./sr.js":"f4W3","./ss":"7Q8x","./ss.js":"7Q8x","./sv":"Fpqq","./sv.js":"Fpqq","./sw":"DSXN","./sw.js":"DSXN","./ta":"+7/x","./ta.js":"+7/x","./te":"Nlnz","./te.js":"Nlnz","./tet":"gUgh","./tet.js":"gUgh","./tg":"5SNd","./tg.js":"5SNd","./th":"XzD+","./th.js":"XzD+","./tl-ph":"3LKG","./tl-ph.js":"3LKG","./tlh":"m7yE","./tlh.js":"m7yE","./tr":"k+5o","./tr.js":"k+5o","./tzl":"iNtv","./tzl.js":"iNtv","./tzm":"FRPF","./tzm-latn":"krPU","./tzm-latn.js":"krPU","./tzm.js":"FRPF","./ug-cn":"To0v","./ug-cn.js":"To0v","./uk":"ntHu","./uk.js":"ntHu","./ur":"uSe8","./ur.js":"uSe8","./uz":"XU1s","./uz-latn":"/bsm","./uz-latn.js":"/bsm","./uz.js":"XU1s","./vi":"0X8Q","./vi.js":"0X8Q","./x-pseudo":"e/KL","./x-pseudo.js":"e/KL","./yo":"YXlc","./yo.js":"YXlc","./zh-cn":"Vz2w","./zh-cn.js":"Vz2w","./zh-hk":"ZUyn","./zh-hk.js":"ZUyn","./zh-tw":"BbgG","./zh-tw.js":"BbgG"};function i(t){return n(o(t))}function o(t){var e=r[t];if(!(e+1))throw new Error("Cannot find module '"+t+"'.");return e}i.keys=function(){return Object.keys(r)},i.resolve=o,t.exports=i,i.id="uslO"},w2Hs:function(t,e,n){!function(t){"use strict";var e={1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"},n={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};t.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(t){return t.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===e&&t>=4||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===e&&t<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===e?t+12:t},meridiem:function(t,e,n){return t<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":t<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":t<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":t<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}})}(n("PJh5"))},wIgY:function(t,e,n){!function(t){"use strict";t.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(t,e){var n=1===t?"r":2===t?"n":3===t?"r":4===t?"t":"\xe8";return"w"!==e&&"W"!==e||(n="a"),t+n},week:{dow:1,doy:4}})}(n("PJh5"))},wPpW:function(t,e,n){!function(t){"use strict";var e={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},r={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},i=function(t){return function(e,i,o,s){var a=n(e),l=r[t][n(e)];return 2===a&&(l=l[i?0:1]),l.replace(/%d/i,e)}},o=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];t.defineLocale("ar-ly",{months:o,monthsShort:o,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(t){return"\u0645"===t},meridiem:function(t,e,n){return t<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:i("s"),ss:i("s"),m:i("m"),mm:i("m"),h:i("h"),hh:i("h"),d:i("d"),dd:i("d"),M:i("M"),MM:i("M"),y:i("y"),yy:i("y")},preparse:function(t){return t.replace(/\u060c/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(n("PJh5"))},wT5f:function(t,e,n){!function(t){"use strict";function e(t,e,n){var r=" ";return(t%100>=20||t>=100&&t%100==0)&&(r=" de "),t+r+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[n]}t.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:e,m:"un minut",mm:e,h:"o or\u0103",hh:e,d:"o zi",dd:e,M:"o lun\u0103",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}})}(n("PJh5"))},x35b:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n("WT6e"),i={nodeUrl:"/api/v1/",production:!0,tellerUrl:"https://event.skycoin.net/api/"},o=(n("rxKx"),n("TToO")),s=n("YaPU"),a=function(){},l=new r.r("Location Initialized"),u=function(){},c=new r.r("appBaseHref"),d=function(){function t(e){var n=this;this._subject=new r.o,this._platformStrategy=e;var i=this._platformStrategy.getBaseHref();this._baseHref=t.stripTrailingSlash(h(i)),this._platformStrategy.onPopState(function(t){n._subject.emit({url:n.path(!0),pop:!0,type:t.type})})}return t.prototype.path=function(t){return void 0===t&&(t=!1),this.normalize(this._platformStrategy.path(t))},t.prototype.isCurrentPathEqualTo=function(e,n){return void 0===n&&(n=""),this.path()==this.normalize(e+t.normalizeQueryParams(n))},t.prototype.normalize=function(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,h(e)))},t.prototype.prepareExternalUrl=function(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)},t.prototype.go=function(t,e){void 0===e&&(e=""),this._platformStrategy.pushState(null,"",t,e)},t.prototype.replaceState=function(t,e){void 0===e&&(e=""),this._platformStrategy.replaceState(null,"",t,e)},t.prototype.forward=function(){this._platformStrategy.forward()},t.prototype.back=function(){this._platformStrategy.back()},t.prototype.subscribe=function(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})},t.normalizeQueryParams=function(t){return t&&"?"!==t[0]?"?"+t:t},t.joinWithSlash=function(t,e){if(0==t.length)return e;if(0==e.length)return t;var n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e},t.stripTrailingSlash=function(t){var e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)},t}();function h(t){return t.replace(/\/index.html$/,"")}var p=function(t){function e(e,n){var r=t.call(this)||this;return r._platformLocation=e,r._baseHref="",null!=n&&(r._baseHref=n),r}return Object(o.__extends)(e,t),e.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},e.prototype.getBaseHref=function(){return this._baseHref},e.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.hash;return null==e&&(e="#"),e.length>0?e.substring(1):e},e.prototype.prepareExternalUrl=function(t){var e=d.joinWithSlash(this._baseHref,t);return e.length>0?"#"+e:e},e.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+d.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.pushState(t,e,i)},e.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+d.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.replaceState(t,e,i)},e.prototype.forward=function(){this._platformLocation.forward()},e.prototype.back=function(){this._platformLocation.back()},e}(u),f=function(t){function e(e,n){var r=t.call(this)||this;if(r._platformLocation=e,null==n&&(n=r._platformLocation.getBaseHrefFromDOM()),null==n)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");return r._baseHref=n,r}return Object(o.__extends)(e,t),e.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},e.prototype.getBaseHref=function(){return this._baseHref},e.prototype.prepareExternalUrl=function(t){return d.joinWithSlash(this._baseHref,t)},e.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.pathname+d.normalizeQueryParams(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?""+e+n:e},e.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+d.normalizeQueryParams(r));this._platformLocation.pushState(t,e,i)},e.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+d.normalizeQueryParams(r));this._platformLocation.replaceState(t,e,i)},e.prototype.forward=function(){this._platformLocation.forward()},e.prototype.back=function(){this._platformLocation.back()},e}(u),_=["en",[["a","p"],["AM","PM"]],[["AM","PM"],,],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",,"{1} 'at' {0}"],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"$","US Dollar",function(t){var e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}],m={},g=function(){var t={Decimal:0,Percent:1,Currency:2,Scientific:3};return t[t.Decimal]="Decimal",t[t.Percent]="Percent",t[t.Currency]="Currency",t[t.Scientific]="Scientific",t}(),y=function(){var t={Zero:0,One:1,Two:2,Few:3,Many:4,Other:5};return t[t.Zero]="Zero",t[t.One]="One",t[t.Two]="Two",t[t.Few]="Few",t[t.Many]="Many",t[t.Other]="Other",t}(),v=function(){var t={Format:0,Standalone:1};return t[t.Format]="Format",t[t.Standalone]="Standalone",t}(),b=function(){var t={Narrow:0,Abbreviated:1,Wide:2,Short:3};return t[t.Narrow]="Narrow",t[t.Abbreviated]="Abbreviated",t[t.Wide]="Wide",t[t.Short]="Short",t}(),w=function(){var t={Short:0,Medium:1,Long:2,Full:3};return t[t.Short]="Short",t[t.Medium]="Medium",t[t.Long]="Long",t[t.Full]="Full",t}(),M=function(){var t={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};return t[t.Decimal]="Decimal",t[t.Group]="Group",t[t.List]="List",t[t.PercentSign]="PercentSign",t[t.PlusSign]="PlusSign",t[t.MinusSign]="MinusSign",t[t.Exponential]="Exponential",t[t.SuperscriptingExponent]="SuperscriptingExponent",t[t.PerMille]="PerMille",t[t.Infinity]="Infinity",t[t.NaN]="NaN",t[t.TimeSeparator]="TimeSeparator",t[t.CurrencyDecimal]="CurrencyDecimal",t[t.CurrencyGroup]="CurrencyGroup",t}();function k(t,e){return D(t)[10][e]}function x(t,e){return D(t)[11][e]}function L(t,e){return T(D(t)[12],e)}function C(t,e){var n=D(t),r=n[13][e];if("undefined"==typeof r){if(e===M.CurrencyDecimal)return n[13][M.Decimal];if(e===M.CurrencyGroup)return n[13][M.Group]}return r}function S(t){if(!t[18])throw new Error('Missing extra locale data for the locale "'+t[0]+'". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.')}function T(t,e){for(var n=e;n>-1;n--)if("undefined"!=typeof t[n])return t[n];throw new Error("Locale data API: locale data undefined")}function O(t){var e=t.split(":");return{hours:+e[0],minutes:+e[1]}}function D(t){var e=t.toLowerCase().replace(/_/g,"-"),n=m[e];if(n)return n;var r=e.split("-")[0];if(n=m[r])return n;if("en"===r)return _;throw new Error('Missing locale data for the locale "'+t+'".')}var Y=new r.r("UseV4Plurals"),P=function(){},E=function(t){function e(e,n){var r=t.call(this)||this;return r.locale=e,r.deprecatedPluralFn=n,r}return Object(o.__extends)(e,t),e.prototype.getPluralCategory=function(t,e){switch(this.deprecatedPluralFn?this.deprecatedPluralFn(e||this.locale,t):function(t){return D(t)[17]}(e||this.locale)(t)){case y.Zero:return"zero";case y.One:return"one";case y.Two:return"two";case y.Few:return"few";case y.Many:return"many";default:return"other"}},e}(P);function A(t,e){e=encodeURIComponent(e);for(var n=0,r=t.split(";");n0||a>-n)&&(a+=n),t===Q.Hours&&0===a&&-12===n&&(a=12),Z(a,e,C(s,M.MinusSign),r,i)}}function tt(t,e,n,r){return void 0===n&&(n=v.Format),void 0===r&&(r=!1),function(i,o){return function(t,e,n,r,i,o){switch(n){case X.Months:return function(t,e,n){var r=D(t);return T(T([r[5],r[6]],e),n)}(e,i,r)[t.getMonth()];case X.Days:return function(t,e,n){var r=D(t);return T(T([r[3],r[4]],e),n)}(e,i,r)[t.getDay()];case X.DayPeriods:var s=t.getHours(),a=t.getMinutes();if(o){var l,u=function(t){var e=D(t);return S(e),(e[18][2]||[]).map(function(t){return"string"==typeof t?O(t):[O(t[0]),O(t[1])]})}(e),c=function(t,e,n){var r=D(t);return S(r),T(T([r[18][0],r[18][1]],e)||[],n)||[]}(e,i,r);if(u.forEach(function(t,e){if(Array.isArray(t)){var n=t[0],r=t[1],i=r.hours;s>=n.hours&&a>=n.minutes&&(s0?Math.floor(i/60):Math.ceil(i/60);switch(t){case q.Short:return(i>=0?"+":"")+Z(s,2,o)+Z(Math.abs(i%60),2,o);case q.ShortGMT:return"GMT"+(i>=0?"+":"")+Z(s,1,o);case q.Long:return"GMT"+(i>=0?"+":"")+Z(s,2,o)+":"+Z(Math.abs(i%60),2,o);case q.Extended:return 0===r?"Z":(i>=0?"+":"")+Z(s,2,o)+":"+Z(Math.abs(i%60),2,o);default:throw new Error('Unknown zone width "'+t+'"')}}}var nt=0,rt=4;function it(t,e){return void 0===e&&(e=!1),function(n,r){var i,o,s,a;if(e){var l=new Date(n.getFullYear(),n.getMonth(),1).getDay()-1,u=n.getDate();i=1+Math.floor((u+l)/7)}else{var c=(s=n.getFullYear(),a=new Date(s,nt,1).getDay(),new Date(s,0,1+(a<=rt?rt:rt+7)-a)),d=(o=n,new Date(o.getFullYear(),o.getMonth(),o.getDate()+(rt-o.getDay()))).getTime()-c.getTime();i=1+Math.round(d/6048e5)}return Z(i,t,C(r,M.MinusSign))}}var ot={};function st(t,e){t=t.replace(/:/g,"");var n=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(n)?e:n}function at(t,e){return Error("InvalidPipeArgument: '"+e+"' for pipe '"+Object(r._30)(t)+"'")}var lt=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,ut=function(){function t(t){this.locale=t}return t.prototype.transform=function(e,n,r,i){if(void 0===n&&(n="mediumDate"),null==e||""===e||e!=e)return null;var o;if("string"==typeof e&&(e=e.trim()),ct(e))o=e;else if(isNaN(e-parseFloat(e)))if("string"==typeof e&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(e)){var s=e.split("-").map(function(t){return+t});o=new Date(s[0],s[1]-1,s[2])}else o=new Date(e);else o=new Date(parseFloat(e));if(!ct(o)){var a=void 0;if("string"!=typeof e||!(a=e.match(lt)))throw at(t,e);o=function(t){var e=new Date(0),n=0,r=0,i=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=+(t[9]+t[10]),r=+(t[9]+t[11])),(t[8]?e.setUTCFullYear:e.setFullYear).call(e,+t[1],+t[2]-1,+t[3]);var o=+(t[4]||"0")-n,s=+(t[5]||"0")-r,a=+(t[6]||"0"),l=Math.round(1e3*parseFloat("0."+(t[7]||0)));return i.call(e,o,s,a,l),e}(a)}return function(t,e,n,r){e=function t(e,n){var r=function(t){return D(t)[0]}(e);if(G[r]=G[r]||{},G[r][n])return G[r][n];var i="";switch(n){case"shortDate":i=k(e,w.Short);break;case"mediumDate":i=k(e,w.Medium);break;case"longDate":i=k(e,w.Long);break;case"fullDate":i=k(e,w.Full);break;case"shortTime":i=x(e,w.Short);break;case"mediumTime":i=x(e,w.Medium);break;case"longTime":i=x(e,w.Long);break;case"fullTime":i=x(e,w.Full);break;case"short":var o=t(e,"shortTime"),s=t(e,"shortDate");i=K(L(e,w.Short),[o,s]);break;case"medium":var a=t(e,"mediumTime"),l=t(e,"mediumDate");i=K(L(e,w.Medium),[a,l]);break;case"long":var u=t(e,"longTime"),c=t(e,"longDate");i=K(L(e,w.Long),[u,c]);break;case"full":var d=t(e,"fullTime"),h=t(e,"fullDate");i=K(L(e,w.Full),[d,h])}return i&&(G[r][n]=i),i}(n,e)||e;for(var i,o=[];e;){if(!(i=J.exec(e))){o.push(e);break}var s=(o=o.concat(i.slice(1))).pop();if(!s)break;e=s}var a=t.getTimezoneOffset();r&&(a=st(r,a),t=function(t,e,n){var r=t.getTimezoneOffset();return function(t,e){return(t=new Date(t.getTime())).setMinutes(t.getMinutes()+e),t}(t,-1*(st(e,r)-r))}(t,r));var l="";return o.forEach(function(e){var r=function(t){if(ot[t])return ot[t];var e;switch(t){case"G":case"GG":case"GGG":e=tt(X.Eras,b.Abbreviated);break;case"GGGG":e=tt(X.Eras,b.Wide);break;case"GGGGG":e=tt(X.Eras,b.Narrow);break;case"y":e=$(Q.FullYear,1,0,!1,!0);break;case"yy":e=$(Q.FullYear,2,0,!0,!0);break;case"yyy":e=$(Q.FullYear,3,0,!1,!0);break;case"yyyy":e=$(Q.FullYear,4,0,!1,!0);break;case"M":case"L":e=$(Q.Month,1,1);break;case"MM":case"LL":e=$(Q.Month,2,1);break;case"MMM":e=tt(X.Months,b.Abbreviated);break;case"MMMM":e=tt(X.Months,b.Wide);break;case"MMMMM":e=tt(X.Months,b.Narrow);break;case"LLL":e=tt(X.Months,b.Abbreviated,v.Standalone);break;case"LLLL":e=tt(X.Months,b.Wide,v.Standalone);break;case"LLLLL":e=tt(X.Months,b.Narrow,v.Standalone);break;case"w":e=it(1);break;case"ww":e=it(2);break;case"W":e=it(1,!0);break;case"d":e=$(Q.Date,1);break;case"dd":e=$(Q.Date,2);break;case"E":case"EE":case"EEE":e=tt(X.Days,b.Abbreviated);break;case"EEEE":e=tt(X.Days,b.Wide);break;case"EEEEE":e=tt(X.Days,b.Narrow);break;case"EEEEEE":e=tt(X.Days,b.Short);break;case"a":case"aa":case"aaa":e=tt(X.DayPeriods,b.Abbreviated);break;case"aaaa":e=tt(X.DayPeriods,b.Wide);break;case"aaaaa":e=tt(X.DayPeriods,b.Narrow);break;case"b":case"bb":case"bbb":e=tt(X.DayPeriods,b.Abbreviated,v.Standalone,!0);break;case"bbbb":e=tt(X.DayPeriods,b.Wide,v.Standalone,!0);break;case"bbbbb":e=tt(X.DayPeriods,b.Narrow,v.Standalone,!0);break;case"B":case"BB":case"BBB":e=tt(X.DayPeriods,b.Abbreviated,v.Format,!0);break;case"BBBB":e=tt(X.DayPeriods,b.Wide,v.Format,!0);break;case"BBBBB":e=tt(X.DayPeriods,b.Narrow,v.Format,!0);break;case"h":e=$(Q.Hours,1,-12);break;case"hh":e=$(Q.Hours,2,-12);break;case"H":e=$(Q.Hours,1);break;case"HH":e=$(Q.Hours,2);break;case"m":e=$(Q.Minutes,1);break;case"mm":e=$(Q.Minutes,2);break;case"s":e=$(Q.Seconds,1);break;case"ss":e=$(Q.Seconds,2);break;case"S":e=$(Q.Milliseconds,1);break;case"SS":e=$(Q.Milliseconds,2);break;case"SSS":e=$(Q.Milliseconds,3);break;case"Z":case"ZZ":case"ZZZ":e=et(q.Short);break;case"ZZZZZ":e=et(q.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":e=et(q.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":e=et(q.Long);break;default:return null}return ot[t]=e,e}(e);l+=r?r(t,n,a):"''"===e?"'":e.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),l}(o,n,i||this.locale,r)},t}();function ct(t){return t instanceof Date&&!isNaN(t.valueOf())}var dt=/^(\d+)?\.((\d+)(-(\d+))?)?$/,ht=22,pt=".",ft="0",_t=";",mt=",",gt="#",yt="\xa4",vt="%";function bt(t,e,n,r,i){void 0===i&&(i=null);var o,s={str:null},a=function(t,e){return D(t)[14][e]}(e,n);if("string"!=typeof t||isNaN(+t-parseFloat(t))){if("number"!=typeof t)return s.error=t+" is not a number",s;o=t}else o=+t;var l=function(t,e){void 0===e&&(e="-");var n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},r=t.split(_t),i=r[0],o=r[1],s=-1!==i.indexOf(pt)?i.split(pt):[i.substring(0,i.lastIndexOf(ft)+1),i.substring(i.lastIndexOf(ft)+1)],a=s[0],l=s[1]||"";n.posPre=a.substr(0,a.indexOf(gt));for(var u=0;u-1&&(s=s.replace(pt,"")),(r=s.search(/e/i))>0?(n<0&&(n=r),n+=+s.slice(r+1),s=s.substring(0,r)):n<0&&(n=s.length),r=0;s.charAt(r)===ft;r++);if(r===(o=s.length))e=[0],n=1;else{for(o--;s.charAt(o)===ft;)o--;for(n-=r,e=[],i=0;r<=o;r++,i++)e[i]=+s.charAt(r)}return n>ht&&(e=e.splice(0,ht-1),a=n-1,n=1),{digits:e,exponent:a,integerLen:n}}(o);n===g.Percent&&(d=function(t){if(0===t.digits[0])return t;var e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(d));var h=l.minInt,p=l.minFrac,f=l.maxFrac;if(r){var _=r.match(dt);if(null===_)return s.error=r+" is not a valid digit info",s;var m=_[1],y=_[3],v=_[5];null!=m&&(h=wt(m)),null!=y&&(p=wt(y)),null!=v?f=wt(v):null!=y&&p>f&&(f=p)}!function(t,e,n){if(e>n)throw new Error("The minimum number of digits after fraction ("+e+") is higher than the maximum ("+n+").");var r=t.digits,i=r.length-t.integerLen,o=Math.min(Math.max(e,i),n),s=o+t.integerLen,a=r[s];if(s>0){r.splice(Math.max(t.integerLen,s));for(var l=s;l=5)if(s-1<0){for(var c=0;c>s;c--)r.unshift(0),t.integerLen++;r.unshift(1),t.integerLen++}else r[s-1]++;for(;i=h?r.pop():d=!1),e>=10?1:0},0);p&&(r.unshift(p),t.integerLen++)}(d,p,f);var b=d.digits,w=d.integerLen,k=d.exponent,x=[];for(c=b.every(function(t){return!t});w0?x=b.splice(w,b.length):(x=b,b=[0]);var L=[];for(b.length>=l.lgSize&&L.unshift(b.splice(-l.lgSize,b.length).join(""));b.length>l.gSize;)L.unshift(b.splice(-l.gSize,b.length).join(""));b.length&&L.unshift(b.join("")),u=L.join(C(e,i?M.CurrencyGroup:M.Group)),x.length&&(u+=C(e,i?M.CurrencyDecimal:M.Decimal)+x.join("")),k&&(u+=C(e,M.Exponential)+"+"+k)}else u=C(e,M.Infinity);return u=o<0&&!c?l.negPre+u+l.negSuf:l.posPre+u+l.posSuf,n===g.Currency&&null!==i?(s.str=u.replace(yt,i).replace(yt,""),s):n===g.Percent?(s.str=u.replace(new RegExp(vt,"g"),C(e,M.PercentSign)),s):(s.str=u,s)}function wt(t){var e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}var Mt=function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.subscribe({next:e,error:function(t){throw t}})},t.prototype.dispose=function(t){t.unsubscribe()},t.prototype.onDestroy=function(t){t.unsubscribe()},t}(),kt=new(function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.then(e,function(t){throw t})},t.prototype.dispose=function(t){},t.prototype.onDestroy=function(t){},t}()),xt=new Mt,Lt=function(){function t(t){this._ref=t,this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null}return t.prototype.ngOnDestroy=function(){this._subscription&&this._dispose()},t.prototype.transform=function(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue===this._latestReturnedValue?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,r.T.wrap(this._latestValue)):(t&&this._subscribe(t),this._latestReturnedValue=this._latestValue,this._latestValue)},t.prototype._subscribe=function(t){var e=this;this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,function(n){return e._updateLatestValue(t,n)})},t.prototype._selectStrategy=function(e){if(Object(r._15)(e))return kt;if(Object(r._14)(e))return xt;throw at(t,e)},t.prototype._dispose=function(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null},t.prototype._updateLatestValue=function(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())},t}(),Ct=function(){function t(t){this._locale=t}return t.prototype.transform=function(e,n,r){if(Tt(e))return null;var i=bt(e,r=r||this._locale,g.Decimal,n),o=i.str,s=i.error;if(s)throw at(t,s);return o},t}(),St=function(){function t(t){this._locale=t}return t.prototype.transform=function(e,n,r){if(Tt(e))return null;var i=bt(e,r=r||this._locale,g.Percent,n),o=i.str,s=i.error;if(s)throw at(t,s);return o},t}();function Tt(t){return null==t||""===t||t!=t}var Ot=function(){},Dt=new r.r("DocumentToken"),Yt=null;function Pt(){return Yt}var Et,At={class:"className",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},jt={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},It={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"};r._10.Node&&(Et=r._10.Node.prototype.contains||function(t){return!!(16&this.compareDocumentPosition(t))});var Rt,Ht=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.__extends)(e,t),e.prototype.parse=function(t){throw new Error("parse not implemented")},e.makeCurrent=function(){var t;t=new e,Yt||(Yt=t)},e.prototype.hasProperty=function(t,e){return e in t},e.prototype.setProperty=function(t,e,n){t[e]=n},e.prototype.getProperty=function(t,e){return t[e]},e.prototype.invoke=function(t,e,n){var r;(r=t)[e].apply(r,n)},e.prototype.logError=function(t){window.console&&(console.error?console.error(t):console.log(t))},e.prototype.log=function(t){window.console&&window.console.log&&window.console.log(t)},e.prototype.logGroup=function(t){window.console&&window.console.group&&window.console.group(t)},e.prototype.logGroupEnd=function(){window.console&&window.console.groupEnd&&window.console.groupEnd()},Object.defineProperty(e.prototype,"attrToPropMap",{get:function(){return At},enumerable:!0,configurable:!0}),e.prototype.contains=function(t,e){return Et.call(t,e)},e.prototype.querySelector=function(t,e){return t.querySelector(e)},e.prototype.querySelectorAll=function(t,e){return t.querySelectorAll(e)},e.prototype.on=function(t,e,n){t.addEventListener(e,n,!1)},e.prototype.onAndCancel=function(t,e,n){return t.addEventListener(e,n,!1),function(){t.removeEventListener(e,n,!1)}},e.prototype.dispatchEvent=function(t,e){t.dispatchEvent(e)},e.prototype.createMouseEvent=function(t){var e=this.getDefaultDocument().createEvent("MouseEvent");return e.initEvent(t,!0,!0),e},e.prototype.createEvent=function(t){var e=this.getDefaultDocument().createEvent("Event");return e.initEvent(t,!0,!0),e},e.prototype.preventDefault=function(t){t.preventDefault(),t.returnValue=!1},e.prototype.isPrevented=function(t){return t.defaultPrevented||null!=t.returnValue&&!t.returnValue},e.prototype.getInnerHTML=function(t){return t.innerHTML},e.prototype.getTemplateContent=function(t){return"content"in t&&this.isTemplateElement(t)?t.content:null},e.prototype.getOuterHTML=function(t){return t.outerHTML},e.prototype.nodeName=function(t){return t.nodeName},e.prototype.nodeValue=function(t){return t.nodeValue},e.prototype.type=function(t){return t.type},e.prototype.content=function(t){return this.hasProperty(t,"content")?t.content:t},e.prototype.firstChild=function(t){return t.firstChild},e.prototype.nextSibling=function(t){return t.nextSibling},e.prototype.parentElement=function(t){return t.parentNode},e.prototype.childNodes=function(t){return t.childNodes},e.prototype.childNodesAsList=function(t){for(var e=t.childNodes,n=new Array(e.length),r=0;r0},e.prototype.tagName=function(t){return t.tagName},e.prototype.attributeMap=function(t){for(var e=new Map,n=t.attributes,r=0;r0;a||(a=t[s]=[]);var u=be(e)?Zone.root:Zone.current;if(0===a.length)a.push({zone:u,handler:o});else{for(var c=!1,d=0;d-1},e}($t),Se=["alt","control","meta","shift"],Te={alt:function(t){return t.altKey},control:function(t){return t.ctrlKey},meta:function(t){return t.metaKey},shift:function(t){return t.shiftKey}},Oe=function(t){function e(e){return t.call(this,e)||this}return Object(o.__extends)(e,t),e.prototype.supports=function(t){return null!=e.parseEventName(t)},e.prototype.addEventListener=function(t,n,r){var i=e.parseEventName(n),o=e.eventCallback(i.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(function(){return Pt().onAndCancel(t,i.domEventName,o)})},e.parseEventName=function(t){var n=t.toLowerCase().split("."),r=n.shift();if(0===n.length||"keydown"!==r&&"keyup"!==r)return null;var i=e._normalizeKey(n.pop()),o="";if(Se.forEach(function(t){var e=n.indexOf(t);e>-1&&(n.splice(e,1),o+=t+".")}),o+=i,0!=n.length||0===i.length)return null;var s={};return s.domEventName=r,s.fullKey=o,s},e.getEventFullKey=function(t){var e="",n=Pt().getEventKey(t);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),Se.forEach(function(r){r!=n&&(0,Te[r])(t)&&(e+=r+".")}),e+=n},e.eventCallback=function(t,n,r){return function(i){e.getEventFullKey(i)===t&&r.runGuarded(function(){return n(i)})}},e._normalizeKey=function(t){switch(t){case"esc":return"escape";default:return t}},e}($t),De=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,Ye=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function Pe(t){return(t=String(t)).match(De)||t.match(Ye)?t:(Object(r.Y)()&&Pt().log("WARNING: sanitizing unsafe URL value "+t+" (see http://g.co/ng/security#xss)"),"unsafe:"+t)}var Ee=null,Ae=null;function je(t){for(var e={},n=0,r=t.split(",");n")):this.sanitizedSomething=!0},t.prototype.endElement=function(t){var e=Ae.nodeName(t).toLowerCase();Ve.hasOwnProperty(e)&&!Re.hasOwnProperty(e)&&(this.buf.push(""))},t.prototype.chars=function(t){this.buf.push(Qe(t))},t}();function Ge(t,e){if(e&&Ae.contains(t,e))throw new Error("Failed to sanitize html because the element is clobbered: "+Ae.getOuterHTML(t));return e}var Je=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,qe=/([^\#-~ |!])/g;function Qe(t){return t.replace(/&/g,"&").replace(Je,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(qe,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}function Xe(t){Ae.attributeMap(t).forEach(function(e,n){"xmlns:ns1"!==n&&0!==n.indexOf("ns1:")||Ae.removeAttribute(t,n)});for(var e=0,n=Ae.childNodesAsList(t);e0){var r=t.slice(0,e),i=t.slice(e+1).trim();n.set(r,i)}}),n},t.prototype.append=function(t,e){var n=this.getAll(t);null===n?this.set(t,e):n.push(e)},t.prototype.delete=function(t){var e=t.toLowerCase();this._normalizedNames.delete(e),this._headers.delete(e)},t.prototype.forEach=function(t){var e=this;this._headers.forEach(function(n,r){return t(n,e._normalizedNames.get(r),e._headers)})},t.prototype.get=function(t){var e=this.getAll(t);return null===e?null:e.length>0?e[0]:null},t.prototype.has=function(t){return this._headers.has(t.toLowerCase())},t.prototype.keys=function(){return Array.from(this._normalizedNames.values())},t.prototype.set=function(t,e){Array.isArray(e)?e.length&&this._headers.set(t.toLowerCase(),[e.join(",")]):this._headers.set(t.toLowerCase(),[e]),this.mayBeSetNormalizedName(t)},t.prototype.values=function(){return Array.from(this._headers.values())},t.prototype.toJSON=function(){var t=this,e={};return this._headers.forEach(function(n,r){var i=[];n.forEach(function(t){return i.push.apply(i,t.split(","))}),e[t._normalizedNames.get(r)]=i}),e},t.prototype.getAll=function(t){return this.has(t)&&this._headers.get(t.toLowerCase())||null},t.prototype.entries=function(){throw new Error('"entries" method is not implemented on Headers class')},t.prototype.mayBeSetNormalizedName=function(t){var e=t.toLowerCase();this._normalizedNames.has(e)||this._normalizedNames.set(e,t)},t}(),yn=function(){function t(t){void 0===t&&(t={});var e=t.body,n=t.status,r=t.headers,i=t.statusText,o=t.type,s=t.url;this.body=null!=e?e:null,this.status=null!=n?n:null,this.headers=null!=r?r:null,this.statusText=null!=i?i:null,this.type=null!=o?o:null,this.url=null!=s?s:null}return t.prototype.merge=function(e){return new t({body:e&&null!=e.body?e.body:this.body,status:e&&null!=e.status?e.status:this.status,headers:e&&null!=e.headers?e.headers:this.headers,statusText:e&&null!=e.statusText?e.statusText:this.statusText,type:e&&null!=e.type?e.type:this.type,url:e&&null!=e.url?e.url:this.url})},t}(),vn=function(t){function e(){return t.call(this,{status:200,statusText:"Ok",type:fn.Default,headers:new gn})||this}return Object(o.__extends)(e,t),e}(yn),bn=function(){};function wn(t){if("string"!=typeof t)return t;switch(t.toUpperCase()){case"GET":return pn.Get;case"POST":return pn.Post;case"PUT":return pn.Put;case"DELETE":return pn.Delete;case"OPTIONS":return pn.Options;case"HEAD":return pn.Head;case"PATCH":return pn.Patch}throw new Error('Invalid request method. The method "'+t+'" is not supported.')}var Mn=function(t){return t>=200&&t<300},kn=function(){function t(){}return t.prototype.encodeKey=function(t){return xn(t)},t.prototype.encodeValue=function(t){return xn(t)},t}();function xn(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}var Ln=function(){function t(t,e){void 0===t&&(t=""),void 0===e&&(e=new kn),this.rawParams=t,this.queryEncoder=e,this.paramsMap=function(t){void 0===t&&(t="");var e=new Map;return t.length>0&&t.split("&").forEach(function(t){var n=t.indexOf("="),r=-1==n?[t,""]:[t.slice(0,n),t.slice(n+1)],i=r[0],o=r[1],s=e.get(i)||[];s.push(o),e.set(i,s)}),e}(t)}return t.prototype.clone=function(){var e=new t("",this.queryEncoder);return e.appendAll(this),e},t.prototype.has=function(t){return this.paramsMap.has(t)},t.prototype.get=function(t){var e=this.paramsMap.get(t);return Array.isArray(e)?e[0]:null},t.prototype.getAll=function(t){return this.paramsMap.get(t)||[]},t.prototype.set=function(t,e){if(void 0!==e&&null!==e){var n=this.paramsMap.get(t)||[];n.length=0,n.push(e),this.paramsMap.set(t,n)}else this.delete(t)},t.prototype.setAll=function(t){var e=this;t.paramsMap.forEach(function(t,n){var r=e.paramsMap.get(n)||[];r.length=0,r.push(t[0]),e.paramsMap.set(n,r)})},t.prototype.append=function(t,e){if(void 0!==e&&null!==e){var n=this.paramsMap.get(t)||[];n.push(e),this.paramsMap.set(t,n)}},t.prototype.appendAll=function(t){var e=this;t.paramsMap.forEach(function(t,n){for(var r=e.paramsMap.get(n)||[],i=0;i=200&&n.status<=299,n.statusText=e.statusText,n.headers=e.headers,n.type=e.type,n.url=e.url,n}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"Response with status: "+this.status+" "+this.statusText+" for URL: "+this.url},e}(Cn),Tn=/^\)\]\}',?\n/,On=function(){function t(t,e,n){var r=this;this.request=t,this.response=new s.a(function(i){var o=e.build();o.open(pn[t.method].toUpperCase(),t.url),null!=t.withCredentials&&(o.withCredentials=t.withCredentials);var s=function(){var e=1223===o.status?204:o.status,r=null;204!==e&&"string"==typeof(r="undefined"==typeof o.response?o.responseText:o.response)&&(r=r.replace(Tn,"")),0===e&&(e=r?200:0);var s,a=gn.fromResponseHeaderString(o.getAllResponseHeaders()),l=("responseURL"in(s=o)?s.responseURL:/^X-Request-URL:/m.test(s.getAllResponseHeaders())?s.getResponseHeader("X-Request-URL"):null)||t.url,u=new yn({body:r,status:e,headers:a,statusText:o.statusText||"OK",url:l});null!=n&&(u=n.merge(u));var c=new Sn(u);if(c.ok=Mn(e),c.ok)return i.next(c),void i.complete();i.error(c)},a=function(t){var e=new yn({body:t,type:fn.Error,status:o.status,statusText:o.statusText});null!=n&&(e=n.merge(e)),i.error(new Sn(e))};if(r.setDetectedContentType(t,o),null==t.headers&&(t.headers=new gn),t.headers.has("Accept")||t.headers.append("Accept","application/json, text/plain, */*"),t.headers.forEach(function(t,e){return o.setRequestHeader(e,t.join(","))}),null!=t.responseType&&null!=o.responseType)switch(t.responseType){case mn.ArrayBuffer:o.responseType="arraybuffer";break;case mn.Json:o.responseType="json";break;case mn.Text:o.responseType="text";break;case mn.Blob:o.responseType="blob";break;default:throw new Error("The selected responseType is not supported")}return o.addEventListener("load",s),o.addEventListener("error",a),o.send(r.request.getBody()),function(){o.removeEventListener("load",s),o.removeEventListener("error",a),o.abort()}})}return t.prototype.setDetectedContentType=function(t,e){if(null==t.headers||null==t.headers.get("Content-Type"))switch(t.contentType){case _n.NONE:break;case _n.JSON:e.setRequestHeader("content-type","application/json");break;case _n.FORM:e.setRequestHeader("content-type","application/x-www-form-urlencoded;charset=UTF-8");break;case _n.TEXT:e.setRequestHeader("content-type","text/plain");break;case _n.BLOB:var n=t.blob();n.type&&e.setRequestHeader("content-type",n.type)}},t}(),Dn=function(){function t(t,e){void 0===t&&(t="XSRF-TOKEN"),void 0===e&&(e="X-XSRF-TOKEN"),this._cookieName=t,this._headerName=e}return t.prototype.configureRequest=function(t){var e=Pt().getCookie(this._cookieName);e&&t.headers.set(this._headerName,e)},t}(),Yn=function(){function t(t,e,n){this._browserXHR=t,this._baseResponseOptions=e,this._xsrfStrategy=n}return t.prototype.createConnection=function(t){return this._xsrfStrategy.configureRequest(t),new On(t,this._browserXHR,this._baseResponseOptions)},t}(),Pn=function(){function t(t){void 0===t&&(t={});var e=t.method,n=t.headers,r=t.body,i=t.url,o=t.search,s=t.params,a=t.withCredentials,l=t.responseType;this.method=null!=e?wn(e):null,this.headers=null!=n?n:null,this.body=null!=r?r:null,this.url=null!=i?i:null,this.params=this._mergeSearchParams(s||o),this.withCredentials=null!=a?a:null,this.responseType=null!=l?l:null}return Object.defineProperty(t.prototype,"search",{get:function(){return this.params},set:function(t){this.params=t},enumerable:!0,configurable:!0}),t.prototype.merge=function(e){return new t({method:e&&null!=e.method?e.method:this.method,headers:e&&null!=e.headers?e.headers:new gn(this.headers),body:e&&null!=e.body?e.body:this.body,url:e&&null!=e.url?e.url:this.url,params:e&&this._mergeSearchParams(e.params||e.search),withCredentials:e&&null!=e.withCredentials?e.withCredentials:this.withCredentials,responseType:e&&null!=e.responseType?e.responseType:this.responseType})},t.prototype._mergeSearchParams=function(t){return t?t instanceof Ln?t.clone():"string"==typeof t?new Ln(t):this._parseParams(t):this.params},t.prototype._parseParams=function(t){var e=this;void 0===t&&(t={});var n=new Ln;return Object.keys(t).forEach(function(r){var i=t[r];Array.isArray(i)?i.forEach(function(t){return e._appendParam(r,t,n)}):e._appendParam(r,i,n)}),n},t.prototype._appendParam=function(t,e,n){"string"!=typeof e&&(e=JSON.stringify(e)),n.append(t,e)},t}(),En=function(t){function e(){return t.call(this,{method:pn.Get,headers:new gn})||this}return Object(o.__extends)(e,t),e}(Pn),An=function(t){function e(e){var n=t.call(this)||this,r=e.url;n.url=e.url;var i,o=e.params||e.search;if(o&&(i="object"!=typeof o||o instanceof Ln?o.toString():function(t){var e=new Ln;return Object.keys(t).forEach(function(n){var r=t[n];r&&Array.isArray(r)?r.forEach(function(t){return e.append(n,t.toString())}):e.append(n,r.toString())}),e}(o).toString()).length>0){var s="?";-1!=n.url.indexOf("?")&&(s="&"==n.url[n.url.length-1]?"":"&"),n.url=r+s+i}return n._body=e.body,n.method=wn(e.method),n.headers=new gn(e.headers),n.contentType=n.detectContentType(),n.withCredentials=e.withCredentials,n.responseType=e.responseType,n}return Object(o.__extends)(e,t),e.prototype.detectContentType=function(){switch(this.headers.get("content-type")){case"application/json":return _n.JSON;case"application/x-www-form-urlencoded":return _n.FORM;case"multipart/form-data":return _n.FORM_DATA;case"text/plain":case"text/html":return _n.TEXT;case"application/octet-stream":return this._body instanceof Fn?_n.ARRAY_BUFFER:_n.BLOB;default:return this.detectContentTypeFromBody()}},e.prototype.detectContentTypeFromBody=function(){return null==this._body?_n.NONE:this._body instanceof Ln?_n.FORM:this._body instanceof Rn?_n.FORM_DATA:this._body instanceof Hn?_n.BLOB:this._body instanceof Fn?_n.ARRAY_BUFFER:this._body&&"object"==typeof this._body?_n.JSON:_n.TEXT},e.prototype.getBody=function(){switch(this.contentType){case _n.JSON:case _n.FORM:return this.text();case _n.FORM_DATA:return this._body;case _n.TEXT:return this.text();case _n.BLOB:return this.blob();case _n.ARRAY_BUFFER:return this.arrayBuffer();default:return null}},e}(Cn),jn=function(){},In="object"==typeof window?window:jn,Rn=In.FormData||jn,Hn=In.Blob||jn,Fn=In.ArrayBuffer||jn;function Nn(t,e){return t.createConnection(e).response}function Vn(t,e,n,r){return t.merge(new Pn(e?{method:e.method||n,url:e.url||r,search:e.search,params:e.params,headers:e.headers,body:e.body,withCredentials:e.withCredentials,responseType:e.responseType}:{method:n,url:r}))}var Bn=function(){function t(t,e){this._backend=t,this._defaultOptions=e}return t.prototype.request=function(t,e){var n;if("string"==typeof t)n=Nn(this._backend,new An(Vn(this._defaultOptions,e,pn.Get,t)));else{if(!(t instanceof An))throw new Error("First argument must be a url string or Request instance.");n=Nn(this._backend,t)}return n},t.prototype.get=function(t,e){return this.request(new An(Vn(this._defaultOptions,e,pn.Get,t)))},t.prototype.post=function(t,e,n){return this.request(new An(Vn(this._defaultOptions.merge(new Pn({body:e})),n,pn.Post,t)))},t.prototype.put=function(t,e,n){return this.request(new An(Vn(this._defaultOptions.merge(new Pn({body:e})),n,pn.Put,t)))},t.prototype.delete=function(t,e){return this.request(new An(Vn(this._defaultOptions,e,pn.Delete,t)))},t.prototype.patch=function(t,e,n){return this.request(new An(Vn(this._defaultOptions.merge(new Pn({body:e})),n,pn.Patch,t)))},t.prototype.head=function(t,e){return this.request(new An(Vn(this._defaultOptions,e,pn.Head,t)))},t.prototype.options=function(t,e){return this.request(new An(Vn(this._defaultOptions,e,pn.Options,t)))},t}();function zn(){return new Dn}function Wn(t,e){return new Bn(t,e)}var Un=function(){},Gn=function(t){function e(e,n){t.call(this),this.error=e,this.scheduler=n}return Object(o.__extends)(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){t.subscriber.error(t.error)},e.prototype._subscribe=function(t){var n=this.error,r=this.scheduler;if(t.syncErrorThrowable=!0,r)return r.schedule(e.dispatch,0,{error:n,subscriber:t});t.error(n)},e}(s.a).create;s.a.throw=Gn;var Jn=n("tZ2B"),qn=n("PIsA");function Qn(t){return function(e){var n=new Xn(t),r=e.lift(n);return n.caught=r}}var Xn=function(){function t(t){this.selector=t}return t.prototype.call=function(t,e){return e.subscribe(new Kn(t,this.selector,this.caught))},t}(),Kn=function(t){function e(e,n,r){t.call(this,e),this.selector=n,this.caught=r}return Object(o.__extends)(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=void 0;try{n=this.selector(e,this.caught)}catch(e){return void t.prototype.error.call(this,e)}this._unsubscribeAndRecycle(),this.add(Object(qn.a)(this,n))}},e}(Jn.a);function Zn(t){return Qn(t)(this)}s.a.prototype.catch=Zn,s.a.prototype._catch=Zn;var $n=n("HdCx");function tr(t,e){return Object($n.a)(t,e)(this)}s.a.prototype.map=tr;var er=function(){function t(t){this.http=t,this.url=i.nodeUrl}return t.prototype.getExplorerAddress=function(t){return this.get("explorer/address",{address:t.address}).map(function(t){return t.map(function(t){return{addresses:[],balance:0,block:t.status.block_seq,confirmed:t.status.confirmed,timestamp:t.timestamp,txid:t.txid,inputs:t.inputs,outputs:t.outputs}})})},t.prototype.getVersion=function(){return this.get("version")},t.prototype.generateSeed=function(t){return void 0===t&&(t=128),this.get("wallet/newSeed",{entropy:t}).map(function(t){return t.seed})},t.prototype.getWallets=function(){return this.get("wallets").map(function(t){var e=[];return t.forEach(function(t){e.push({label:t.meta.label,filename:t.meta.filename,coins:null,hours:null,addresses:t.entries.map(function(t){return{address:t.address,coins:null,hours:null}}),encrypted:t.meta.encrypted})}),e})},t.prototype.getWalletSeed=function(t,e){return this.post("wallet/seed",{id:t.filename,password:e}).map(function(t){return t.seed})},t.prototype.postWalletCreate=function(t,e,n,r){var i={label:t,seed:e,scan:n};return r&&(i.password=r,i.encrypt=!0),this.post("wallet/create",i).map(function(t){return{label:t.meta.label,filename:t.meta.filename,coins:null,hours:null,addresses:t.entries.map(function(t){return{address:t.address,coins:null,hours:null}}),encrypted:t.meta.encrypted}})},t.prototype.postWalletNewAddress=function(t,e){return this.post("wallet/newAddress",{id:t.filename,password:e}).map(function(t){return{address:t.addresses[0],coins:null,hours:null}})},t.prototype.postWalletToggleEncryption=function(t,e){return this.post("wallet/"+(t.encrypted?"decrypt":"encrypt"),{id:t.filename,password:e})},t.prototype.get=function(t,e,n){return void 0===e&&(e=null),void 0===n&&(n={}),this.http.get(this.getUrl(t,e),this.returnRequestOptions(n)).map(function(t){return t.json()}).catch(function(t){return s.a.throw(t||"Server error")})},t.prototype.getCsrf=function(){return this.get("csrf").map(function(t){return t.csrf_token})},t.prototype.post=function(t,e,n){var r=this;return void 0===e&&(e={}),void 0===n&&(n={}),this.getCsrf().first().flatMap(function(i){return n.csrf=i,r.http.post(r.getUrl(t),n.json?JSON.stringify(e):r.getQueryString(e),r.returnRequestOptions(n)).map(function(t){return t.json()}).catch(function(t){return s.a.throw(t||"Server error")})})},t.prototype.returnRequestOptions=function(t){var e=new Pn;return e.headers=this.getHeaders(t),t.csrf&&e.headers.append("X-CSRF-Token",t.csrf),e},t.prototype.getHeaders=function(t){var e=new gn;return e.append("Content-Type",t.json?"application/json":"application/x-www-form-urlencoded"),e},t.prototype.getQueryString=function(t){return void 0===t&&(t=null),t?Object.keys(t).reduce(function(e,n){return e.push(n+"="+encodeURIComponent(t[n])),e},[]).join("&"):""},t.prototype.getUrl=function(t,e){return void 0===e&&(e=null),this.url+t+"?"+this.getQueryString(e)},t}(),nr=n("+3/4"),rr=n("BX3T"),ir=function(t){function e(e,n){t.call(this),this.sources=e,this.resultSelector=n}return Object(o.__extends)(e,t),e.create=function(){for(var t=[],n=0;n=0}s.a.prototype.mergeMap=Mr,s.a.prototype.flatMap=Mr;var xr=n("AMGY"),Lr=n("VwZZ"),Cr=function(t){function e(e,n){t.call(this,e,n),this.scheduler=e,this.work=n,this.pending=!1}return Object(o.__extends)(e,t),e.prototype.schedule=function(t,e){if(void 0===e&&(e=0),this.closed)return this;this.state=t,this.pending=!0;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,e)),this.delay=e,this.id=this.id||this.requestAsyncId(r,this.id,e),this},e.prototype.requestAsyncId=function(t,e,n){return void 0===n&&(n=0),xr.a.setInterval(t.flush.bind(t,this),n)},e.prototype.recycleAsyncId=function(t,e,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return e;xr.a.clearInterval(e)},e.prototype.execute=function(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,e){var n=!1,r=void 0;try{this.work(t)}catch(t){n=!0,r=!!t&&t||new Error(t)}if(n)return this.unsubscribe(),r},e.prototype._unsubscribe=function(){var t=this.id,e=this.scheduler,n=e.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null},e}(function(t){function e(e,n){t.call(this)}return Object(o.__extends)(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(Lr.a)),Sr=function(t){function e(){t.apply(this,arguments),this.actions=[],this.active=!1,this.scheduled=void 0}return Object(o.__extends)(e,t),e.prototype.flush=function(t){var e=this.actions;if(this.active)e.push(t);else{var n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}},e}(function(){function t(e,n){void 0===n&&(n=t.now),this.SchedulerAction=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(n,e)},t.now=Date.now?Date.now:function(){return+new Date},t}()),Tr=new Sr(Cr),Or=n("1Q68");function Dr(t){return t instanceof Date&&!isNaN(+t)}var Yr=function(t){function e(e,n,r){void 0===e&&(e=0),t.call(this),this.period=-1,this.dueTime=0,kr(n)?this.period=Number(n)<1?1:Number(n):Object(Or.a)(n)&&(r=n),Object(Or.a)(r)||(r=Tr),this.scheduler=r,this.dueTime=Dr(e)?+e-this.scheduler.now():e}return Object(o.__extends)(e,t),e.create=function(t,n,r){return void 0===t&&(t=0),new e(t,n,r)},e.dispatch=function(t){var e=t.index,n=t.period,r=t.subscriber;if(r.next(e),!r.closed){if(-1===n)return r.complete();t.index=e+1,this.schedule(t,n)}},e.prototype._subscribe=function(t){return this.scheduler.schedule(e.dispatch,this.dueTime,{index:0,period:this.period,subscriber:t})},e}(s.a).create;s.a.timer=Yr;var Pr=n("Veqx"),Er=n("etqZ"),Ar=function(){function t(t){this.project=t}return t.prototype.call=function(t,e){return e.subscribe(new jr(t,this.project))},t}(),jr=function(t){function e(e,n,r){void 0===r&&(r=Object.create(null)),t.call(this,e),this.iterators=[],this.active=0,this.project="function"==typeof n?n:null,this.values=r}return Object(o.__extends)(e,t),e.prototype._next=function(t){var e=this.iterators;Object(rr.a)(t)?e.push(new Rr(t)):e.push("function"==typeof t[Er.a]?new Ir(t[Er.a]()):new Hr(this.destination,this,t))},e.prototype._complete=function(){var t=this.iterators,e=t.length;if(0!==e){this.active=e;for(var n=0;nthis.index},t.prototype.hasCompleted=function(){return this.array.length===this.index},t}(),Hr=function(t){function e(e,n,r){t.call(this,e),this.parent=n,this.observable=r,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return Object(o.__extends)(e,t),e.prototype[Er.a]=function(){return this},e.prototype.next=function(){var t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}},e.prototype.hasValue=function(){return this.buffer.length>0},e.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},e.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},e.prototype.notifyNext=function(t,e,n,r,i){this.buffer.push(e),this.parent.checkIterators()},e.prototype.subscribe=function(t,e){return Object(qn.a)(this,this.observable,this,e)},e}(Jn.a);s.a.zip=function(){for(var t=[],e=0;e0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,r){return void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,r):e.flush(this)},e}(Cr),Br=new(function(t){function e(){t.apply(this,arguments)}return Object(o.__extends)(e,t),e}(Sr))(Vr),zr=function(){function t(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}return t.prototype.observe=function(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}},t.prototype.do=function(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}},t.prototype.accept=function(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)},t.prototype.toObservable=function(){switch(this.kind){case"N":return s.a.of(this.value);case"E":return s.a.throw(this.error);case"C":return s.a.empty()}throw new Error("unexpected notification kind value")},t.createNext=function(e){return"undefined"!=typeof e?new t("N",e):t.undefinedValueNotification},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return t.completeNotification},t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t}(),Wr=function(t){function e(e,n,r){void 0===r&&(r=0),t.call(this,e),this.scheduler=n,this.delay=r}return Object(o.__extends)(e,t),e.dispatch=function(t){t.notification.observe(t.destination),this.unsubscribe()},e.prototype.scheduleMessage=function(t){this.add(this.scheduler.schedule(e.dispatch,this.delay,new Ur(t,this.destination)))},e.prototype._next=function(t){this.scheduleMessage(zr.createNext(t))},e.prototype._error=function(t){this.scheduleMessage(zr.createError(t))},e.prototype._complete=function(){this.scheduleMessage(zr.createComplete())},e}(lr.a),Ur=function(t,e){this.notification=t,this.destination=e},Gr=n("x6VL"),Jr=n("1Bqh"),qr=function(t){function e(e,n,r){void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===n&&(n=Number.POSITIVE_INFINITY),t.call(this),this.scheduler=r,this._events=[],this._bufferSize=e<1?1:e,this._windowTime=n<1?1:n}return Object(o.__extends)(e,t),e.prototype.next=function(e){var n=this._getNow();this._events.push(new Qr(n,e)),this._trimBufferThenGetEvents(),t.prototype.next.call(this,e)},e.prototype._subscribe=function(t){var e,n=this._trimBufferThenGetEvents(),r=this.scheduler;if(this.closed)throw new Gr.a;this.hasError?e=Lr.a.EMPTY:this.isStopped?e=Lr.a.EMPTY:(this.observers.push(t),e=new Jr.a(this,t)),r&&t.add(t=new Wr(t,r));for(var i=n.length,o=0;oe&&(o=Math.max(o,i-e)),o>0&&r.splice(0,o),r},e}(Nr.a),Qr=function(t,e){this.time=t,this.value=e},Xr=this&&this.__assign||Object.assign||function(t){for(var e,n=1,r=arguments.length;n0}).map(function(t){return t.transactions})).reduce(function(t,e){return t.find(function(t){return t.transaction.txid===e.transaction.txid})||t.push(e),t},[]))})})},t}(),Zr="undefined"!=typeof Intl&&Intl.v8BreakIterator,$r=function(){return function(){this.isBrowser="object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Zr)&&!!CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}();function ti(){if(null==Fr&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){return Fr=!0}}))}finally{Fr=Fr||!1}return Fr}var ei=function(){},ni=n("GK6M"),ri=n("/iUD"),ii=n("fKB6"),oi=Object.prototype.toString,si=function(t){function e(e,n,r,i){t.call(this),this.sourceObj=e,this.eventName=n,this.selector=r,this.options=i}return Object(o.__extends)(e,t),e.create=function(t,n,r,i){return Object(ri.a)(r)&&(i=r,r=void 0),new e(t,n,i,r)},e.setupSubscription=function(t,n,r,i,o){var s;if(function(t){return!!t&&"[object NodeList]"===oi.call(t)}(t)||function(t){return!!t&&"[object HTMLCollection]"===oi.call(t)}(t))for(var a=0,l=t.length;a0?e._scrolled.pipe(ui(t)).subscribe(n):e._scrolled.subscribe(n);return e._scrolledCount++,function(){r.unsubscribe(),e._scrolledCount--,e._globalSubscription&&!e._scrolledCount&&(e._globalSubscription.unsubscribe(),e._globalSubscription=null)}}):Object(ar.a)()},t.prototype.ancestorScrolled=function(t,e){var n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(pr(function(t){return!t||n.indexOf(t)>-1}))},t.prototype.getAncestorScrollContainers=function(t){var e=this,n=[];return this.scrollContainers.forEach(function(r,i){e._scrollableContainsElement(i,t)&&n.push(i)}),n},t.prototype._scrollableContainsElement=function(t,e){var n=e.nativeElement,r=t.getElementRef().nativeElement;do{if(n==r)return!0}while(n=n.parentElement);return!1},t.prototype._addGlobalListener=function(){var t=this;this._globalSubscription=this._ngZone.runOutsideAngular(function(){return si(window.document,"scroll").subscribe(function(){return t._scrolled.next()})})},t}();function hi(t,e,n){return t||new di(e,n)}var pi=function(){function t(t,e){var n=this;this._change=t.isBrowser?e.runOutsideAngular(function(){return Object(ci.a)(si(window,"resize"),si(window,"orientationchange"))}):Object(ar.a)(),this._invalidateCache=this.change().subscribe(function(){return n._updateViewportSize()})}return t.prototype.ngOnDestroy=function(){this._invalidateCache.unsubscribe()},t.prototype.getViewportSize=function(){return this._viewportSize||this._updateViewportSize(),{width:this._viewportSize.width,height:this._viewportSize.height}},t.prototype.getViewportRect=function(){var t=this.getViewportScrollPosition(),e=this.getViewportSize(),n=e.width,r=e.height;return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+n,height:r,width:n}},t.prototype.getViewportScrollPosition=function(){var t=document.documentElement.getBoundingClientRect();return{top:-t.top||document.body.scrollTop||window.scrollY||document.documentElement.scrollTop||0,left:-t.left||document.body.scrollLeft||window.scrollX||document.documentElement.scrollLeft||0}},t.prototype.change=function(t){return void 0===t&&(t=20),t>0?this._change.pipe(ui(t)):this._change},t.prototype._updateViewportSize=function(){this._viewportSize={width:window.innerWidth,height:window.innerHeight}},t}();function fi(t,e,n){return t||new pi(e,n)}var _i=function(){},mi=new r.r("cdk-dir-doc"),gi=function(){return function(t){this.value="ltr",this.change=new r.o,t&&(this.value=(t.body?t.body.dir:null)||(t.documentElement?t.documentElement.dir:null)||"ltr")}}(),yi=function(){};function vi(){throw Error("Host already has a portal attached")}var bi=function(){function t(){}return t.prototype.attach=function(t){return null==t&&function(){throw Error("Attempting to attach a portal to a null PortalOutlet")}(),t.hasAttached()&&vi(),this._attachedHost=t,t.attach(this)},t.prototype.detach=function(){var t=this._attachedHost;null==t?function(){throw Error("Attempting to detach a portal that is not attached to a host")}():(this._attachedHost=null,t.detach())},Object.defineProperty(t.prototype,"isAttached",{get:function(){return null!=this._attachedHost},enumerable:!0,configurable:!0}),t.prototype.setAttachedHost=function(t){this._attachedHost=t},t}(),wi=function(t){function e(e,n,r){var i=t.call(this)||this;return i.component=e,i.viewContainerRef=n,i.injector=r,i}return Object(o.__extends)(e,t),e}(bi),Mi=function(t){function e(e,n,r){var i=t.call(this)||this;return i.templateRef=e,i.viewContainerRef=n,r&&(i.context=r),i}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"origin",{get:function(){return this.templateRef.elementRef},enumerable:!0,configurable:!0}),e.prototype.attach=function(e,n){return void 0===n&&(n=this.context),this.context=n,t.prototype.attach.call(this,e)},e.prototype.detach=function(){return this.context=void 0,t.prototype.detach.call(this)},e}(bi),ki=function(){function t(){this._isDisposed=!1}return t.prototype.hasAttached=function(){return!!this._attachedPortal},t.prototype.attach=function(t){return t||function(){throw Error("Must provide a portal to attach")}(),this.hasAttached()&&vi(),this._isDisposed&&function(){throw Error("This PortalOutlet has already been disposed")}(),t instanceof wi?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof Mi?(this._attachedPortal=t,this.attachTemplatePortal(t)):void function(){throw Error("Attempting to attach an unknown Portal type. BasePortalOutlet accepts either a ComponentPortal or a TemplatePortal.")}()},t.prototype.detach=function(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()},t.prototype.dispose=function(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0},t.prototype.setDisposeFn=function(t){this._disposeFn=t},t.prototype._invokeDisposeFn=function(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)},t}(),xi=function(t){function e(e,n,r,i){var o=t.call(this)||this;return o._hostDomElement=e,o._componentFactoryResolver=n,o._appRef=r,o._defaultInjector=i,o}return Object(o.__extends)(e,t),e.prototype.attachComponentPortal=function(t){var e,n=this,r=this._componentFactoryResolver.resolveComponentFactory(t.component);return t.viewContainerRef?(e=t.viewContainerRef.createComponent(r,t.viewContainerRef.length,t.injector||t.viewContainerRef.parentInjector),this.setDisposeFn(function(){return e.destroy()})):(e=r.create(t.injector||this._defaultInjector),this._appRef.attachView(e.hostView),this.setDisposeFn(function(){n._appRef.detachView(e.hostView),e.destroy()})),this._hostDomElement.appendChild(this._getComponentRootNode(e)),e},e.prototype.attachTemplatePortal=function(t){var e=this,n=t.viewContainerRef,r=n.createEmbeddedView(t.templateRef,t.context);return r.detectChanges(),r.rootNodes.forEach(function(t){return e._hostDomElement.appendChild(t)}),this.setDisposeFn(function(){var t=n.indexOf(r);-1!==t&&n.remove(t)}),r},e.prototype.dispose=function(){t.prototype.dispose.call(this),null!=this._hostDomElement.parentNode&&this._hostDomElement.parentNode.removeChild(this._hostDomElement)},e.prototype._getComponentRootNode=function(t){return t.hostView.rootNodes[0]},e}(ki),Li=function(t){function e(e,n){var r=t.call(this)||this;return r._componentFactoryResolver=e,r._viewContainerRef=n,r._isInitialized=!1,r}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"_deprecatedPortal",{get:function(){return this.portal},set:function(t){this.portal=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_deprecatedPortalHost",{get:function(){return this.portal},set:function(t){this.portal=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"portal",{get:function(){return this._attachedPortal},set:function(e){(!this.hasAttached()||e||this._isInitialized)&&(this.hasAttached()&&t.prototype.detach.call(this),e&&t.prototype.attach.call(this,e),this._attachedPortal=e)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this._isInitialized=!0},e.prototype.ngOnDestroy=function(){t.prototype.dispose.call(this),this._attachedPortal=null},e.prototype.attachComponentPortal=function(e){e.setAttachedHost(this);var n=null!=e.viewContainerRef?e.viewContainerRef:this._viewContainerRef,r=this._componentFactoryResolver.resolveComponentFactory(e.component),i=n.createComponent(r,n.length,e.injector||n.parentInjector);return t.prototype.setDisposeFn.call(this,function(){return i.destroy()}),this._attachedPortal=e,i},e.prototype.attachTemplatePortal=function(e){var n=this;e.setAttachedHost(this);var r=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context);return t.prototype.setDisposeFn.call(this,function(){return n._viewContainerRef.clear()}),this._attachedPortal=e,r},e}(ki),Ci=function(){},Si=function(){function t(t,e){this._parentInjector=t,this._customTokens=e}return t.prototype.get=function(t,e){var n=this._customTokens.get(t);return"undefined"!=typeof n?n:this._parentInjector.get(t,e)},t}(),Ti=n("9Ocp");function Oi(t){return null!=t&&""+t!="false"}function Di(t,e){return void 0===e&&(e=0),isNaN(parseFloat(t))||isNaN(Number(t))?e:Number(t)}function Yi(t){return Array.isArray(t)?t:[t]}var Pi=function(){function t(){}return t.prototype.enable=function(){},t.prototype.disable=function(){},t.prototype.attach=function(){},t}(),Ei=function(){return function(t){var e=this;this.scrollStrategy=new Pi,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.direction="ltr",t&&Object.keys(t).forEach(function(n){return e[n]=t[n]})}}(),Ai=function(t,e,n,r){this.offsetX=n,this.offsetY=r,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY};function ji(){return Error("Scroll strategy has already been attached.")}var Ii=function(){function t(t,e){this._scrollDispatcher=t,this._ngZone=e,this._scrollSubscription=null}return t.prototype.attach=function(t){if(this._overlayRef)throw ji();this._overlayRef=t},t.prototype.enable=function(){var t=this;this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(0).subscribe(function(){t._ngZone.run(function(){t.disable(),t._overlayRef.hasAttached()&&t._overlayRef.detach()})}))},t.prototype.disable=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t}(),Ri=function(){function t(t){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1}return t.prototype.attach=function(){},t.prototype.enable=function(){if(this._canBeEnabled()){var t=document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=-this._previousScrollPosition.left+"px",t.style.top=-this._previousScrollPosition.top+"px",t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}},t.prototype.disable=function(){if(this._isEnabled){var t=document.documentElement,e=document.body,n=t.style.scrollBehavior||"",r=e.style.scrollBehavior||"";this._isEnabled=!1,t.style.left=this._previousHTMLStyles.left,t.style.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),t.style.scrollBehavior=e.style.scrollBehavior="auto",window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),t.style.scrollBehavior=n,e.style.scrollBehavior=r}},t.prototype._canBeEnabled=function(){if(document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;var t=document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width},t}();function Hi(t,e){return e.some(function(e){return t.bottome.bottom||t.righte.right})}function Fi(t,e){return e.some(function(e){return t.tope.bottom||t.lefte.right})}var Ni=function(){function t(t,e,n,r){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=r,this._scrollSubscription=null}return t.prototype.attach=function(t){if(this._overlayRef)throw ji();this._overlayRef=t},t.prototype.enable=function(){var t=this;this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(function(){if(t._overlayRef.updatePosition(),t._config&&t._config.autoClose){var e=t._overlayRef.overlayElement.getBoundingClientRect(),n=t._viewportRuler.getViewportSize(),r=n.width,i=n.height;Hi(e,[{width:r,height:i,bottom:i,right:r,top:0,left:0}])&&(t.disable(),t._ngZone.run(function(){return t._overlayRef.detach()}))}}))},t.prototype.disable=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t}(),Vi=function(){return function(t,e,n){var r=this;this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=function(){return new Pi},this.close=function(){return new Ii(r._scrollDispatcher,r._ngZone)},this.block=function(){return new Ri(r._viewportRuler)},this.reposition=function(t){return new Ni(r._scrollDispatcher,r._viewportRuler,r._ngZone,t)}}}(),Bi=function(){function t(t,e,n,r,i){this._portalOutlet=t,this._pane=e,this._config=n,this._ngZone=r,this._keyboardDispatcher=i,this._backdropElement=null,this._backdropClick=new Nr.a,this._attachments=new Nr.a,this._detachments=new Nr.a,this._keydownEvents=new Nr.a,n.scrollStrategy&&n.scrollStrategy.attach(this)}return Object.defineProperty(t.prototype,"overlayElement",{get:function(){return this._pane},enumerable:!0,configurable:!0}),t.prototype.attach=function(t){var e=this,n=this._portalOutlet.attach(t);return this._config.positionStrategy&&this._config.positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._config.scrollStrategy&&this._config.scrollStrategy.enable(),this._ngZone.onStable.asObservable().pipe(Object(Ti.a)(1)).subscribe(function(){e.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&(Array.isArray(this._config.panelClass)?this._config.panelClass.forEach(function(t){return e._pane.classList.add(t)}):this._pane.classList.add(this._config.panelClass)),this._attachments.next(),this._keyboardDispatcher.add(this),n},t.prototype.detach=function(){if(this.hasAttached()){this.detachBackdrop(),this._togglePointerEvents(!1),this._config.positionStrategy&&this._config.positionStrategy.detach&&this._config.positionStrategy.detach(),this._config.scrollStrategy&&this._config.scrollStrategy.disable();var t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),t}},t.prototype.dispose=function(){var t=this.hasAttached();this._config.positionStrategy&&this._config.positionStrategy.dispose(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this.detachBackdrop(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),t&&this._detachments.next(),this._detachments.complete()},t.prototype.hasAttached=function(){return this._portalOutlet.hasAttached()},t.prototype.backdropClick=function(){return this._backdropClick.asObservable()},t.prototype.attachments=function(){return this._attachments.asObservable()},t.prototype.detachments=function(){return this._detachments.asObservable()},t.prototype.keydownEvents=function(){return this._keydownEvents.asObservable()},t.prototype.getConfig=function(){return this._config},t.prototype.updatePosition=function(){this._config.positionStrategy&&this._config.positionStrategy.apply()},t.prototype.updateSize=function(t){this._config=Object(o.__assign)({},this._config,t),this._updateElementSize()},t.prototype.setDirection=function(t){this._config=Object(o.__assign)({},this._config,{direction:t}),this._updateElementDirection()},t.prototype._updateElementDirection=function(){this._pane.setAttribute("dir",this._config.direction)},t.prototype._updateElementSize=function(){(this._config.width||0===this._config.width)&&(this._pane.style.width=zi(this._config.width)),(this._config.height||0===this._config.height)&&(this._pane.style.height=zi(this._config.height)),(this._config.minWidth||0===this._config.minWidth)&&(this._pane.style.minWidth=zi(this._config.minWidth)),(this._config.minHeight||0===this._config.minHeight)&&(this._pane.style.minHeight=zi(this._config.minHeight)),(this._config.maxWidth||0===this._config.maxWidth)&&(this._pane.style.maxWidth=zi(this._config.maxWidth)),(this._config.maxHeight||0===this._config.maxHeight)&&(this._pane.style.maxHeight=zi(this._config.maxHeight))},t.prototype._togglePointerEvents=function(t){this._pane.style.pointerEvents=t?"auto":"none"},t.prototype._attachBackdrop=function(){var t=this;this._backdropElement=document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._backdropElement.classList.add(this._config.backdropClass),this._pane.parentElement.insertBefore(this._backdropElement,this._pane),this._backdropElement.addEventListener("click",function(){return t._backdropClick.next(null)}),this._ngZone.runOutsideAngular(function(){requestAnimationFrame(function(){t._backdropElement&&t._backdropElement.classList.add("cdk-overlay-backdrop-showing")})})},t.prototype._updateStackingOrder=function(){this._pane.nextSibling&&this._pane.parentNode.appendChild(this._pane)},t.prototype.detachBackdrop=function(){var t=this,e=this._backdropElement;if(e){var n=function(){e&&e.parentNode&&e.parentNode.removeChild(e),t._backdropElement==e&&(t._backdropElement=null)};e.classList.remove("cdk-overlay-backdrop-showing"),this._config.backdropClass&&e.classList.remove(this._config.backdropClass),e.addEventListener("transitionend",n),e.style.pointerEvents="none",this._ngZone.runOutsideAngular(function(){setTimeout(n,500)})}},t}();function zi(t){return"string"==typeof t?t:t+"px"}var Wi=function(){function t(t,e,n,r,i){this._connectedTo=n,this._viewportRuler=r,this._document=i,this._dir="ltr",this._offsetX=0,this._offsetY=0,this.scrollables=[],this._resizeSubscription=Lr.a.EMPTY,this._preferredPositions=[],this._applied=!1,this._positionLocked=!1,this._onPositionChange=new Nr.a,this._origin=this._connectedTo.nativeElement,this.withFallbackPosition(t,e)}return Object.defineProperty(t.prototype,"_isRtl",{get:function(){return"rtl"===this._dir},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onPositionChange",{get:function(){return this._onPositionChange.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"positions",{get:function(){return this._preferredPositions},enumerable:!0,configurable:!0}),t.prototype.attach=function(t){var e=this;this._overlayRef=t,this._pane=t.overlayElement,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(function(){return e.apply()})},t.prototype.dispose=function(){this._applied=!1,this._resizeSubscription.unsubscribe()},t.prototype.detach=function(){this._applied=!1,this._resizeSubscription.unsubscribe()},t.prototype.apply=function(){if(this._applied&&this._positionLocked&&this._lastConnectedPosition)this.recalculateLastPosition();else{this._applied=!0;for(var t,e,n=this._pane,r=this._origin.getBoundingClientRect(),i=n.getBoundingClientRect(),o=this._viewportRuler.getViewportSize(),s=0,a=this._preferredPositions;s-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this._unsubscribeFromKeydownEvents()},t.prototype._subscribeToKeydownEvents=function(){var t=this,e=si(this._document.body,"keydown");this._keydownEventSubscription=e.pipe(pr(function(){return!!t._attachedOverlays.length})).subscribe(function(e){t._selectOverlayFromEvent(e)._keydownEvents.next(e)})},t.prototype._unsubscribeFromKeydownEvents=function(){this._keydownEventSubscription&&(this._keydownEventSubscription.unsubscribe(),this._keydownEventSubscription=null)},t.prototype._selectOverlayFromEvent=function(t){return this._attachedOverlays.find(function(e){return e.overlayElement===t.target||e.overlayElement.contains(t.target)})||this._attachedOverlays[this._attachedOverlays.length-1]},t}();function qi(t,e){return t||new Ji(e)}var Qi=function(){function t(t){this._document=t}return t.prototype.ngOnDestroy=function(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)},t.prototype.getContainerElement=function(){return this._containerElement||this._createContainer(),this._containerElement},t.prototype._createContainer=function(){var t=this._document.createElement("div");t.classList.add("cdk-overlay-container"),this._document.body.appendChild(t),this._containerElement=t},t}();function Xi(t,e){return t||new Qi(e)}var Ki=0,Zi=new Ei,$i=function(){function t(t,e,n,r,i,o,s,a,l){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=r,this._keyboardDispatcher=i,this._appRef=o,this._injector=s,this._ngZone=a,this._document=l}return t.prototype.create=function(t){void 0===t&&(t=Zi);var e=this._createPaneElement(),n=this._createPortalOutlet(e);return new Bi(n,e,t,this._ngZone,this._keyboardDispatcher)},t.prototype.position=function(){return this._positionBuilder},t.prototype._createPaneElement=function(){var t=this._document.createElement("div");return t.id="cdk-overlay-"+Ki++,t.classList.add("cdk-overlay-pane"),this._overlayContainer.getContainerElement().appendChild(t),t},t.prototype._createPortalOutlet=function(t){return new xi(t,this._componentFactoryResolver,this._appRef,this._injector)},t}(),to=[new Ai({originX:"start",originY:"bottom"},{overlayX:"start",overlayY:"top"}),new Ai({originX:"start",originY:"top"},{overlayX:"start",overlayY:"bottom"}),new Ai({originX:"end",originY:"top"},{overlayX:"end",overlayY:"bottom"}),new Ai({originX:"end",originY:"bottom"},{overlayX:"end",overlayY:"top"})],eo=new r.r("cdk-connected-overlay-scroll-strategy");function no(t){return function(){return t.scrollStrategies.reposition()}}var ro=function(t){this.elementRef=t},io=function(){function t(t,e,n,i,o){this._overlay=t,this._scrollStrategy=i,this._dir=o,this._hasBackdrop=!1,this._backdropSubscription=Lr.a.EMPTY,this._positionSubscription=Lr.a.EMPTY,this._offsetX=0,this._offsetY=0,this.scrollStrategy=this._scrollStrategy(),this.open=!1,this.backdropClick=new r.o,this.positionChange=new r.o,this.attach=new r.o,this.detach=new r.o,this._templatePortal=new Mi(e,n)}return Object.defineProperty(t.prototype,"offsetX",{get:function(){return this._offsetX},set:function(t){this._offsetX=t,this._position&&this._position.withOffsetX(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offsetY",{get:function(){return this._offsetY},set:function(t){this._offsetY=t,this._position&&this._position.withOffsetY(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasBackdrop",{get:function(){return this._hasBackdrop},set:function(t){this._hasBackdrop=Oi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOrigin",{get:function(){return this.origin},set:function(t){this.origin=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedPositions",{get:function(){return this.positions},set:function(t){this.positions=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOffsetX",{get:function(){return this.offsetX},set:function(t){this.offsetX=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOffsetY",{get:function(){return this.offsetY},set:function(t){this.offsetY=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedWidth",{get:function(){return this.width},set:function(t){this.width=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedHeight",{get:function(){return this.height},set:function(t){this.height=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedMinWidth",{get:function(){return this.minWidth},set:function(t){this.minWidth=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedMinHeight",{get:function(){return this.minHeight},set:function(t){this.minHeight=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedBackdropClass",{get:function(){return this.backdropClass},set:function(t){this.backdropClass=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedScrollStrategy",{get:function(){return this.scrollStrategy},set:function(t){this.scrollStrategy=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOpen",{get:function(){return this.open},set:function(t){this.open=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedHasBackdrop",{get:function(){return this.hasBackdrop},set:function(t){this.hasBackdrop=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"overlayRef",{get:function(){return this._overlayRef},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dir",{get:function(){return this._dir?this._dir.value:"ltr"},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this._destroyOverlay()},t.prototype.ngOnChanges=function(t){(t.open||t._deprecatedOpen)&&(this.open?this._attachOverlay():this._detachOverlay())},t.prototype._createOverlay=function(){this.positions&&this.positions.length||(this.positions=to),this._overlayRef=this._overlay.create(this._buildConfig())},t.prototype._buildConfig=function(){var t=this._position=this._createPositionStrategy(),e=new Ei({positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(e.width=this.width),(this.height||0===this.height)&&(e.height=this.height),(this.minWidth||0===this.minWidth)&&(e.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(e.minHeight=this.minHeight),this.backdropClass&&(e.backdropClass=this.backdropClass),e},t.prototype._createPositionStrategy=function(){var t=this.positions[0],e={originX:t.originX,originY:t.originY},n={overlayX:t.overlayX,overlayY:t.overlayY},r=this._overlay.position().connectedTo(this.origin.elementRef,e,n).withOffsetX(this.offsetX).withOffsetY(this.offsetY);return this._handlePositionChanges(r),r},t.prototype._handlePositionChanges=function(t){for(var e=this,n=1;n=0},t.prototype.isFocusable=function(t){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){var e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||ho(t))}(t)&&!this.isDisabled(t)&&this.isVisible(t)},t}();function ho(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;var e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function po(t){if(!ho(t))return null;var e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}var fo=function(){function t(t,e,n,r,i){void 0===i&&(i=!1),this._element=t,this._checker=e,this._ngZone=n,this._document=r,this._enabled=!0,i||this.attachAnchors()}return Object.defineProperty(t.prototype,"enabled",{get:function(){return this._enabled},set:function(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._startAnchor.tabIndex=this._endAnchor.tabIndex=this._enabled?0:-1)},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){this._startAnchor&&this._startAnchor.parentNode&&this._startAnchor.parentNode.removeChild(this._startAnchor),this._endAnchor&&this._endAnchor.parentNode&&this._endAnchor.parentNode.removeChild(this._endAnchor),this._startAnchor=this._endAnchor=null},t.prototype.attachAnchors=function(){var t=this;this._startAnchor||(this._startAnchor=this._createAnchor()),this._endAnchor||(this._endAnchor=this._createAnchor()),this._ngZone.runOutsideAngular(function(){t._startAnchor.addEventListener("focus",function(){t.focusLastTabbableElement()}),t._endAnchor.addEventListener("focus",function(){t.focusFirstTabbableElement()}),t._element.parentNode&&(t._element.parentNode.insertBefore(t._startAnchor,t._element),t._element.parentNode.insertBefore(t._endAnchor,t._element.nextSibling))})},t.prototype.focusInitialElementWhenReady=function(){var t=this;return new Promise(function(e){t._executeOnStable(function(){return e(t.focusInitialElement())})})},t.prototype.focusFirstTabbableElementWhenReady=function(){var t=this;return new Promise(function(e){t._executeOnStable(function(){return e(t.focusFirstTabbableElement())})})},t.prototype.focusLastTabbableElementWhenReady=function(){var t=this;return new Promise(function(e){t._executeOnStable(function(){return e(t.focusLastTabbableElement())})})},t.prototype._getRegionBoundary=function(t){for(var e=this._element.querySelectorAll("[cdk-focus-region-"+t+"], [cdkFocusRegion"+t+"], [cdk-focus-"+t+"]"),n=0;n=0;n--){var r=1===e[n].nodeType?this._getLastTabbableElement(e[n]):null;if(r)return r}return null},t.prototype._createAnchor=function(){var t=this._document.createElement("div");return t.tabIndex=this._enabled?0:-1,t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t},t.prototype._executeOnStable=function(t){this._ngZone.isStable?t():this._ngZone.onStable.asObservable().pipe(Object(Ti.a)(1)).subscribe(t)},t}(),_o=function(){function t(t,e,n){this._checker=t,this._ngZone=e,this._document=n}return t.prototype.create=function(t,e){return void 0===e&&(e=!1),new fo(t,this._checker,this._ngZone,this._document,e)},t}(),mo=function(){function t(t){this._items=t,this._activeItemIndex=-1,this._wrap=!1,this._letterKeyStream=new Nr.a,this._typeaheadSubscription=Lr.a.EMPTY,this._pressedLetters=[],this.tabOut=new Nr.a,this.change=new Nr.a}return t.prototype.withWrap=function(){return this._wrap=!0,this},t.prototype.withTypeAhead=function(t){var e=this;if(void 0===t&&(t=200),this._items.length&&this._items.some(function(t){return"function"!=typeof t.getLabel}))throw Error("ListKeyManager items in typeahead mode must implement the `getLabel` method.");return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(ur(function(t){return e._pressedLetters.push(t)}),so(t),pr(function(){return e._pressedLetters.length>0}),Object($n.a)(function(){return e._pressedLetters.join("")})).subscribe(function(t){for(var n=e._items.toArray(),r=1;r=65&&e<=90||e>=48&&e<=91)&&this._letterKeyStream.next(String.fromCharCode(e)))}this._pressedLetters=[],t.preventDefault()},Object.defineProperty(t.prototype,"activeItemIndex",{get:function(){return this._activeItemIndex},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activeItem",{get:function(){return this._activeItem},enumerable:!0,configurable:!0}),t.prototype.setFirstItemActive=function(){this._setActiveItemByIndex(0,1)},t.prototype.setLastItemActive=function(){this._setActiveItemByIndex(this._items.length-1,-1)},t.prototype.setNextItemActive=function(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)},t.prototype.setPreviousItemActive=function(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)},t.prototype.updateActiveItemIndex=function(t){this._activeItemIndex=t},t.prototype._setActiveItemByDelta=function(t,e){void 0===e&&(e=this._items.toArray()),this._wrap?this._setActiveInWrapMode(t,e):this._setActiveInDefaultMode(t,e)},t.prototype._setActiveInWrapMode=function(t,e){this._activeItemIndex=(this._activeItemIndex+t+e.length)%e.length,e[this._activeItemIndex].disabled?this._setActiveInWrapMode(t,e):this.setActiveItem(this._activeItemIndex)},t.prototype._setActiveInDefaultMode=function(t,e){this._setActiveItemByIndex(this._activeItemIndex+t,t,e)},t.prototype._setActiveItemByIndex=function(t,e,n){if(void 0===n&&(n=this._items.toArray()),n[t]){for(;n[t].disabled;)if(!n[t+=e])return;this.setActiveItem(t)}},t}(),go=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.__extends)(e,t),e.prototype.setActiveItem=function(e){this.activeItem&&this.activeItem.setInactiveStyles(),t.prototype.setActiveItem.call(this,e),this.activeItem&&this.activeItem.setActiveStyles()},e}(mo);function yo(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}var vo=0,bo=new Map,wo=null,Mo=function(){function t(t){this._document=t}return t.prototype.describe=function(t,e){e.trim()&&(bo.has(e)||this._createMessageElement(e),this._isElementDescribedByMessage(t,e)||this._addMessageReference(t,e))},t.prototype.removeDescription=function(t,e){if(e.trim()){this._isElementDescribedByMessage(t,e)&&this._removeMessageReference(t,e);var n=bo.get(e);n&&0===n.referenceCount&&this._deleteMessageElement(e),wo&&0===wo.childNodes.length&&this._deleteMessagesContainer()}},t.prototype.ngOnDestroy=function(){for(var t=this._document.querySelectorAll("[cdk-describedby-host]"),e=0;e_s?_s:i:i}()),this.arr=t,this.idx=e,this.len=n}return t.prototype[Er.a]=function(){return this},t.prototype.next=function(){return this.idx=t.length?r.complete():(r.next(e[n]),t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.arrayLike,r=this.scheduler,i=n.length;if(r)return r.schedule(e.dispatch,0,{arrayLike:n,index:0,length:i,subscriber:t});for(var o=0;o1?new Pr.a(t,n):new nr.a(n),e)}}var Ms=function(){},ks="*";function xs(t,e){return void 0===e&&(e=null),{type:2,steps:t,options:e}}function Ls(t){return{type:6,styles:t,offset:null}}function Cs(t){Promise.resolve(null).then(t)}var Ss=function(){function t(){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=0}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.init=function(){},t.prototype.play=function(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0},t.prototype.triggerMicrotask=function(){var t=this;Cs(function(){return t._onFinish()})},t.prototype._onStart=function(){this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[]},t.prototype.pause=function(){},t.prototype.restart=function(){},t.prototype.finish=function(){this._onFinish()},t.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])},t.prototype.reset=function(){},t.prototype.setPosition=function(t){},t.prototype.getPosition=function(){return 0},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(function(t){return t()}),e.length=0},t}(),Ts=function(){function t(t){var e=this;this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;var n=0,r=0,i=0,o=this.players.length;0==o?Cs(function(){return e._onFinish()}):this.players.forEach(function(t){t.onDone(function(){++n==o&&e._onFinish()}),t.onDestroy(function(){++r==o&&e._onDestroy()}),t.onStart(function(){++i==o&&e._onStart()})}),this.totalTime=this.players.reduce(function(t,e){return Math.max(t,e.totalTime)},0)}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.init=function(){this.players.forEach(function(t){return t.init()})},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype._onStart=function(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[])},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.play=function(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(function(t){return t.play()})},t.prototype.pause=function(){this.players.forEach(function(t){return t.pause()})},t.prototype.restart=function(){this.players.forEach(function(t){return t.restart()})},t.prototype.finish=function(){this._onFinish(),this.players.forEach(function(t){return t.finish()})},t.prototype.destroy=function(){this._onDestroy()},t.prototype._onDestroy=function(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(function(t){return t.destroy()}),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])},t.prototype.reset=function(){this.players.forEach(function(t){return t.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype.setPosition=function(t){var e=t*this.totalTime;this.players.forEach(function(t){var n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})},t.prototype.getPosition=function(){var t=0;return this.players.forEach(function(e){var n=e.getPosition();t=Math.min(n,t)}),t},t.prototype.beforeDestroy=function(){this.players.forEach(function(t){t.beforeDestroy&&t.beforeDestroy()})},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(function(t){return t()}),e.length=0},t}(),Os="!",Ds=function(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.direction="ltr",this.ariaDescribedBy=null,this.ariaLabel=null,this.autoFocus=!0};function Ys(){throw Error("Attempting to attach dialog content after content is already attached")}var Ps=function(t){function e(e,n,i,o){var s=t.call(this)||this;return s._elementRef=e,s._focusTrapFactory=n,s._changeDetectorRef=i,s._document=o,s._elementFocusedBeforeDialogWasOpened=null,s._state="enter",s._animationStateChanged=new r.o,s._ariaLabelledBy=null,s}return Object(o.__extends)(e,t),e.prototype.attachComponentPortal=function(t){return this._portalOutlet.hasAttached()&&Ys(),this._savePreviouslyFocusedElement(),this._portalOutlet.attachComponentPortal(t)},e.prototype.attachTemplatePortal=function(t){return this._portalOutlet.hasAttached()&&Ys(),this._savePreviouslyFocusedElement(),this._portalOutlet.attachTemplatePortal(t)},e.prototype._trapFocus=function(){this._focusTrap||(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)),this._config.autoFocus&&this._focusTrap.focusInitialElementWhenReady()},e.prototype._restoreFocus=function(){var t=this._elementFocusedBeforeDialogWasOpened;t&&"function"==typeof t.focus&&t.focus(),this._focusTrap&&this._focusTrap.destroy()},e.prototype._savePreviouslyFocusedElement=function(){var t=this;this._document&&(this._elementFocusedBeforeDialogWasOpened=this._document.activeElement,Promise.resolve().then(function(){return t._elementRef.nativeElement.focus()}))},e.prototype._onAnimationDone=function(t){"enter"===t.toState?this._trapFocus():"exit"===t.toState&&this._restoreFocus(),this._animationStateChanged.emit(t)},e.prototype._onAnimationStart=function(t){this._animationStateChanged.emit(t)},e.prototype._startExitAnimation=function(){this._state="exit",this._changeDetectorRef.markForCheck()},e}(ki),Es=0,As=function(){function t(t,e,n){void 0===n&&(n="mat-dialog-"+Es++);var r=this;this._overlayRef=t,this._containerInstance=e,this.id=n,this.disableClose=this._containerInstance._config.disableClose,this._afterOpen=new Nr.a,this._afterClosed=new Nr.a,this._beforeClose=new Nr.a,e._animationStateChanged.pipe(pr(function(t){return"done"===t.phaseName&&"enter"===t.toState}),Object(Ti.a)(1)).subscribe(function(){r._afterOpen.next(),r._afterOpen.complete()}),e._animationStateChanged.pipe(pr(function(t){return"done"===t.phaseName&&"exit"===t.toState}),Object(Ti.a)(1)).subscribe(function(){r._overlayRef.dispose(),r._afterClosed.next(r._result),r._afterClosed.complete(),r.componentInstance=null})}return t.prototype.close=function(t){var e=this;this._result=t,this._containerInstance._animationStateChanged.pipe(pr(function(t){return"start"===t.phaseName}),Object(Ti.a)(1)).subscribe(function(){e._beforeClose.next(t),e._beforeClose.complete(),e._overlayRef.detachBackdrop()}),this._containerInstance._startExitAnimation()},t.prototype.afterOpen=function(){return this._afterOpen.asObservable()},t.prototype.afterClosed=function(){return this._afterClosed.asObservable()},t.prototype.beforeClose=function(){return this._beforeClose.asObservable()},t.prototype.backdropClick=function(){return this._overlayRef.backdropClick()},t.prototype.keydownEvents=function(){return this._overlayRef.keydownEvents()},t.prototype.updatePosition=function(t){var e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this},t.prototype.updateSize=function(t,e){return void 0===t&&(t="auto"),void 0===e&&(e="auto"),this._getPositionStrategy().width(t).height(e),this._overlayRef.updatePosition(),this},t.prototype._getPositionStrategy=function(){return this._overlayRef.getConfig().positionStrategy},t}(),js=new r.r("MatDialogData"),Is=new r.r("mat-dialog-scroll-strategy");function Rs(t){return function(){return t.scrollStrategies.block()}}var Hs=function(){function t(t,e,n,r,i,o){var s=this;this._overlay=t,this._injector=e,this._scrollStrategy=r,this._parentDialog=i,this._overlayContainer=o,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Nr.a,this._afterOpenAtThisLevel=new Nr.a,this._ariaHiddenElements=new Map,this.afterAllClosed=is(function(){return s.openDialogs.length?s._afterAllClosed:s._afterAllClosed.pipe(ws(void 0))}),!i&&n&&n.subscribe(function(){return s.closeAll()})}return Object.defineProperty(t.prototype,"openDialogs",{get:function(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"afterOpen",{get:function(){return this._parentDialog?this._parentDialog.afterOpen:this._afterOpenAtThisLevel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_afterAllClosed",{get:function(){var t=this._parentDialog;return t?t._afterAllClosed:this._afterAllClosedAtThisLevel},enumerable:!0,configurable:!0}),t.prototype.open=function(t,e){var n=this;if((e=function(t){return Object(o.__assign)({},new Ds,t)}(e)).id&&this.getDialogById(e.id))throw Error('Dialog with id "'+e.id+'" exists already. The dialog id must be unique.');var r=this._createOverlay(e),i=this._attachDialogContainer(r,e),s=this._attachDialogContent(t,i,r,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(s),s.afterClosed().subscribe(function(){return n._removeOpenDialog(s)}),this.afterOpen.next(s),s},t.prototype.closeAll=function(){for(var t=this.openDialogs.length;t--;)this.openDialogs[t].close()},t.prototype.getDialogById=function(t){return this.openDialogs.find(function(e){return e.id===t})},t.prototype._createOverlay=function(t){var e=this._getOverlayConfig(t);return this._overlay.create(e)},t.prototype._getOverlayConfig=function(t){var e=new Ei({positionStrategy:this._overlay.position().global(),scrollStrategy:this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight});return t.backdropClass&&(e.backdropClass=t.backdropClass),e},t.prototype._attachDialogContainer=function(t,e){var n=new wi(Ps,e.viewContainerRef),r=t.attach(n);return r.instance._config=e,r.instance},t.prototype._attachDialogContent=function(t,e,n,i){var o=new As(n,e,i.id);if(i.hasBackdrop&&n.backdropClick().subscribe(function(){o.disableClose||o.close()}),n.keydownEvents().pipe(pr(function(t){return 27===t.keyCode&&!o.disableClose})).subscribe(function(){return o.close()}),t instanceof r.O)e.attachTemplatePortal(new Mi(t,null,{$implicit:i.data,dialogRef:o}));else{var s=this._createInjector(i,o,e),a=e.attachComponentPortal(new wi(t,void 0,s));o.componentInstance=a.instance}return o.updateSize(i.width,i.height).updatePosition(i.position),o},t.prototype._createInjector=function(t,e,n){var r=t&&t.viewContainerRef&&t.viewContainerRef.injector,i=new WeakMap;return i.set(As,e),i.set(Ps,n),i.set(js,t.data),i.set(gi,{value:t.direction,change:Object(ar.a)()}),new Si(r||this._injector,i)},t.prototype._removeOpenDialog=function(t){var e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach(function(t,e){t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._afterAllClosed.next()))},t.prototype._hideNonDialogContentFromAssistiveTechnology=function(){var t=this._overlayContainer.getContainerElement();if(t.parentElement)for(var e=t.parentElement.children,n=e.length-1;n>-1;n--){var r=e[n];r===t||"SCRIPT"===r.nodeName||"STYLE"===r.nodeName||r.hasAttribute("aria-live")||(this._ariaHiddenElements.set(r,r.getAttribute("aria-hidden")),r.setAttribute("aria-hidden","true"))}},t}(),Fs=function(){},Ns=function(){},Vs=ls.create,Bs=function(){function t(){}return Object.defineProperty(t.prototype,"value",{get:function(){return this.control?this.control.value:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return this.control?this.control.valid:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return this.control?this.control.invalid:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return this.control?this.control.pending:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this.control?this.control.disabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return this.control?this.control.enabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.control?this.control.errors:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pristine",{get:function(){return this.control?this.control.pristine:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return this.control?this.control.dirty:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"touched",{get:function(){return this.control?this.control.touched:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this.control?this.control.status:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return this.control?this.control.untouched:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"statusChanges",{get:function(){return this.control?this.control.statusChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valueChanges",{get:function(){return this.control?this.control.valueChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),t.prototype.reset=function(t){void 0===t&&(t=void 0),this.control&&this.control.reset(t)},t.prototype.hasError=function(t,e){return!!this.control&&this.control.hasError(t,e)},t.prototype.getError=function(t,e){return this.control?this.control.getError(t,e):null},t}(),zs=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"formDirective",{get:function(){return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),e}(Bs);function Ws(t){return null==t||0===t.length}var Us=new r.r("NgValidators"),Gs=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,Js=function(){function t(){}return t.min=function(t){return function(e){if(Ws(e.value)||Ws(t))return null;var n=parseFloat(e.value);return!isNaN(n)&&nt?{max:{max:t,actual:e.value}}:null}},t.required=function(t){return Ws(t.value)?{required:!0}:null},t.requiredTrue=function(t){return!0===t.value?null:{required:!0}},t.email=function(t){return Gs.test(t.value)?null:{email:!0}},t.minLength=function(t){return function(e){if(Ws(e.value))return null;var n=e.value?e.value.length:0;return nt?{maxlength:{requiredLength:t,actualLength:n}}:null}},t.pattern=function(e){return e?("string"==typeof e?(r="^"+e+"$",n=new RegExp(r)):(r=e.toString(),n=e),function(t){if(Ws(t.value))return null;var e=t.value;return n.test(e)?null:{pattern:{requiredPattern:r,actualValue:e}}}):t.nullValidator;var n,r},t.nullValidator=function(t){return null},t.compose=function(t){if(!t)return null;var e=t.filter(qs);return 0==e.length?null:function(t){return Xs(function(t,n){return e.map(function(e){return e(t)})}(t))}},t.composeAsync=function(t){if(!t)return null;var e=t.filter(qs);return 0==e.length?null:function(t){var n=function(t,n){return e.map(function(e){return e(t)})}(t).map(Qs);return tr.call(sr(n),Xs)}},t}();function qs(t){return null!=t}function Qs(t){var e=Object(r._15)(t)?Vs(t):t;if(!Object(r._14)(e))throw new Error("Expected validator to return Promise or Observable.");return e}function Xs(t){var e=t.reduce(function(t,e){return null!=e?Object(o.__assign)({},t,e):t},{});return 0===Object.keys(e).length?null:e}var Ks=new r.r("NgValueAccessor"),Zs=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"checked",t)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t}(),$s=new r.r("CompositionEventMode"),ta=function(){function t(t,e,n){var r;this._renderer=t,this._elementRef=e,this._compositionMode=n,this.onChange=function(t){},this.onTouched=function(){},this._composing=!1,null==this._compositionMode&&(this._compositionMode=(r=Pt()?Pt().getUserAgent():"",!/android (\d+)/.test(r.toLowerCase())))}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._handleInput=function(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)},t.prototype._compositionStart=function(){this._composing=!0},t.prototype._compositionEnd=function(t){this._composing=!1,this._compositionMode&&this.onChange(t)},t}();function ea(t){return t.validate?function(e){return t.validate(e)}:t}function na(t){return t.validate?function(e){return t.validate(e)}:t}var ra=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)},t.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t}();function ia(){throw new Error("unimplemented")}var oa=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._parent=null,e.name=null,e.valueAccessor=null,e._rawValidators=[],e._rawAsyncValidators=[],e}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"validator",{get:function(){return ia()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return ia()},enumerable:!0,configurable:!0}),e}(Bs),sa=function(){function t(){this._accessors=[]}return t.prototype.add=function(t,e){this._accessors.push([t,e])},t.prototype.remove=function(t){for(var e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)},t.prototype.select=function(t){var e=this;this._accessors.forEach(function(n){e._isSameGroup(n,t)&&n[1]!==t&&n[1].fireUncheck(t.value)})},t.prototype._isSameGroup=function(t,e){return!!t[0].control&&t[0]._parent===e._control._parent&&t[1].name===e.name},t}(),aa=function(){function t(t,e,n,r){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=r,this.onChange=function(){},this.onTouched=function(){}}return t.prototype.ngOnInit=function(){this._control=this._injector.get(oa),this._checkName(),this._registry.add(this._control,this)},t.prototype.ngOnDestroy=function(){this._registry.remove(this)},t.prototype.writeValue=function(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)},t.prototype.registerOnChange=function(t){var e=this;this._fn=t,this.onChange=function(){t(e.value),e._registry.select(e)}},t.prototype.fireUncheck=function(t){this.writeValue(t)},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._checkName=function(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)},t.prototype._throwNameError=function(){throw new Error('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: \n ')},t}(),la=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))},t.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t}();function ua(t,e){return null==t?""+e:(e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}var ca=function(){function t(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=function(t){},this.onTouched=function(){},this._compareWith=r._16}return Object.defineProperty(t.prototype,"compareWith",{set:function(t){if("function"!=typeof t)throw new Error("compareWith must be a function, but received "+JSON.stringify(t));this._compareWith=t},enumerable:!0,configurable:!0}),t.prototype.writeValue=function(t){this.value=t;var e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);var n=ua(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){e.value=e._getOptionValue(n),t(e.value)}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._registerOption=function(){return(this._idCounter++).toString()},t.prototype._getOptionId=function(t){for(var e=0,n=Array.from(this._optionMap.keys());e-1)}}else e=function(t,e){t._setSelected(!1)};this._optionMap.forEach(e)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){var r=[];if(n.hasOwnProperty("selectedOptions"))for(var i=n.selectedOptions,o=0;o1?"path: '"+t.path.join(" -> ")+"'":t.path[0]?"name: '"+t.path+"'":"unspecified name attribute",new Error(e+" "+n)}function wa(t){return null!=t?Js.compose(t.map(ea)):null}function Ma(t){return null!=t?Js.composeAsync(t.map(na)):null}var ka=[Zs,la,ra,ca,pa,aa];function xa(t,e){t._syncPendingControls(),e.forEach(function(t){var e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function La(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}var Ca=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.__extends)(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormGroup(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormGroup(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormGroup(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return _a(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return wa(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return Ma(this._asyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){},e}(zs),Sa=function(){function t(t){this._cd=t}return Object.defineProperty(t.prototype,"ngClassUntouched",{get:function(){return!!this._cd.control&&this._cd.control.untouched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassTouched",{get:function(){return!!this._cd.control&&this._cd.control.touched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassPristine",{get:function(){return!!this._cd.control&&this._cd.control.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassDirty",{get:function(){return!!this._cd.control&&this._cd.control.dirty},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassValid",{get:function(){return!!this._cd.control&&this._cd.control.valid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassInvalid",{get:function(){return!!this._cd.control&&this._cd.control.invalid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassPending",{get:function(){return!!this._cd.control&&this._cd.control.pending},enumerable:!0,configurable:!0}),t}(),Ta=function(t){function e(e){return t.call(this,e)||this}return Object(o.__extends)(e,t),e}(Sa),Oa=function(t){function e(e){return t.call(this,e)||this}return Object(o.__extends)(e,t),e}(Sa);function Da(t){var e=Pa(t)?t.validators:t;return Array.isArray(e)?wa(e):e||null}function Ya(t,e){var n=Pa(e)?e.asyncValidators:t;return Array.isArray(n)?Ma(n):n||null}function Pa(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}var Ea=function(){function t(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=function(){},this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}return Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return"VALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return"INVALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return"PENDING"==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return"DISABLED"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return"DISABLED"!==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return!this.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return!this.touched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"updateOn",{get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"},enumerable:!0,configurable:!0}),t.prototype.setValidators=function(t){this.validator=Da(t)},t.prototype.setAsyncValidators=function(t){this.asyncValidator=Ya(t)},t.prototype.clearValidators=function(){this.validator=null},t.prototype.clearAsyncValidators=function(){this.asyncValidator=null},t.prototype.markAsTouched=function(t){void 0===t&&(t={}),this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)},t.prototype.markAsUntouched=function(t){void 0===t&&(t={}),this.touched=!1,this._pendingTouched=!1,this._forEachChild(function(t){t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype.markAsDirty=function(t){void 0===t&&(t={}),this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)},t.prototype.markAsPristine=function(t){void 0===t&&(t={}),this.pristine=!0,this._pendingDirty=!1,this._forEachChild(function(t){t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype.markAsPending=function(t){void 0===t&&(t={}),this.status="PENDING",this._parent&&!t.onlySelf&&this._parent.markAsPending(t)},t.prototype.disable=function(t){void 0===t&&(t={}),this.status="DISABLED",this.errors=null,this._forEachChild(function(t){t.disable({onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(!!t.onlySelf),this._onDisabledChange.forEach(function(t){return t(!0)})},t.prototype.enable=function(t){void 0===t&&(t={}),this.status="VALID",this._forEachChild(function(t){t.enable({onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(!!t.onlySelf),this._onDisabledChange.forEach(function(t){return t(!1)})},t.prototype._updateAncestors=function(t){this._parent&&!t&&(this._parent.updateValueAndValidity(),this._parent._updatePristine(),this._parent._updateTouched())},t.prototype.setParent=function(t){this._parent=t},t.prototype.updateValueAndValidity=function(t){void 0===t&&(t={}),this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),"VALID"!==this.status&&"PENDING"!==this.status||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)},t.prototype._updateTreeValidity=function(t){void 0===t&&(t={emitEvent:!0}),this._forEachChild(function(e){return e._updateTreeValidity(t)}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})},t.prototype._setInitialStatus=function(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"},t.prototype._runValidator=function(){return this.validator?this.validator(this):null},t.prototype._runAsyncValidator=function(t){var e=this;if(this.asyncValidator){this.status="PENDING";var n=Qs(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(function(n){return e.setErrors(n,{emitEvent:t})})}},t.prototype._cancelExistingSubscription=function(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()},t.prototype.setErrors=function(t,e){void 0===e&&(e={}),this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)},t.prototype.get=function(t){return function(t,e,n){return null==e?null:(e instanceof Array||(e=e.split(".")),e instanceof Array&&0===e.length?null:e.reduce(function(t,e){return t instanceof ja?t.controls[e]||null:t instanceof Ia&&t.at(e)||null},t))}(this,t)},t.prototype.getError=function(t,e){var n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null},t.prototype.hasError=function(t,e){return!!this.getError(t,e)},Object.defineProperty(t.prototype,"root",{get:function(){for(var t=this;t._parent;)t=t._parent;return t},enumerable:!0,configurable:!0}),t.prototype._updateControlsErrors=function(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)},t.prototype._initObservables=function(){this.valueChanges=new r.o,this.statusChanges=new r.o},t.prototype._calculateStatus=function(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"},t.prototype._anyControlsHaveStatus=function(t){return this._anyControls(function(e){return e.status===t})},t.prototype._anyControlsDirty=function(){return this._anyControls(function(t){return t.dirty})},t.prototype._anyControlsTouched=function(){return this._anyControls(function(t){return t.touched})},t.prototype._updatePristine=function(t){void 0===t&&(t={}),this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype._updateTouched=function(t){void 0===t&&(t={}),this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype._isBoxedValue=function(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t},t.prototype._registerOnCollectionChange=function(t){this._onCollectionChange=t},t.prototype._setUpdateStrategy=function(t){Pa(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)},t}(),Aa=function(t){function e(e,n,r){void 0===e&&(e=null);var i=t.call(this,Da(n),Ya(r,n))||this;return i._onChange=[],i._applyFormState(e),i._setUpdateStrategy(n),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i._initObservables(),i}return Object(o.__extends)(e,t),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(function(t){return t(n.value,!1!==e.emitViewToModelChange)}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){void 0===e&&(e={}),this.setValue(t,e)},e.prototype.reset=function(t,e){void 0===t&&(t=null),void 0===e&&(e={}),this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1},e.prototype._updateValue=function(){},e.prototype._anyControls=function(t){return!1},e.prototype._allControlsDisabled=function(){return this.disabled},e.prototype.registerOnChange=function(t){this._onChange.push(t)},e.prototype._clearChangeFns=function(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=function(){}},e.prototype.registerOnDisabledChange=function(t){this._onDisabledChange.push(t)},e.prototype._forEachChild=function(t){},e.prototype._syncPendingControls=function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))},e.prototype._applyFormState=function(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t},e}(Ea),ja=function(t){function e(e,n,r){var i=t.call(this,Da(n),Ya(r,n))||this;return i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(o.__extends)(e,t),e.prototype.registerControl=function(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)},e.prototype.addControl=function(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.removeControl=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.contains=function(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled},e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),Object.keys(t).forEach(function(r){n._throwIfControlMissing(r),n.controls[r].setValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),Object.keys(t).forEach(function(r){n.controls[r]&&n.controls[r].patchValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this._forEachChild(function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)},e.prototype.getRawValue=function(){return this._reduceChildren({},function(t,e,n){return t[n]=e instanceof Aa?e.value:e.getRawValue(),t})},e.prototype._syncPendingControls=function(){var t=this._reduceChildren(!1,function(t,e){return!!e._syncPendingControls()||t});return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error("Cannot find form control with name: "+t+".")},e.prototype._forEachChild=function(t){var e=this;Object.keys(this.controls).forEach(function(n){return t(e.controls[n],n)})},e.prototype._setUpControls=function(){var t=this;this._forEachChild(function(e){e.setParent(t),e._registerOnCollectionChange(t._onCollectionChange)})},e.prototype._updateValue=function(){this.value=this._reduceValue()},e.prototype._anyControls=function(t){var e=this,n=!1;return this._forEachChild(function(r,i){n=n||e.contains(i)&&t(r)}),n},e.prototype._reduceValue=function(){var t=this;return this._reduceChildren({},function(e,n,r){return(n.enabled||t.disabled)&&(e[r]=n.value),e})},e.prototype._reduceChildren=function(t,e){var n=t;return this._forEachChild(function(t,r){n=e(n,t,r)}),n},e.prototype._allControlsDisabled=function(){for(var t=0,e=Object.keys(this.controls);t0||this.disabled},e.prototype._checkAllValuesPresent=function(t){this._forEachChild(function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control with name: '"+n+"'.")})},e}(Ea),Ia=function(t){function e(e,n,r){var i=t.call(this,Da(n),Ya(r,n))||this;return i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(o.__extends)(e,t),e.prototype.at=function(t){return this.controls[t]},e.prototype.push=function(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.insert=function(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.removeAt=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),this.controls.splice(t,1),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()},Object.defineProperty(e.prototype,"length",{get:function(){return this.controls.length},enumerable:!0,configurable:!0}),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),t.forEach(function(t,r){n._throwIfControlMissing(r),n.at(r).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),t.forEach(function(t,r){n.at(r)&&n.at(r).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t=[]),void 0===e&&(e={}),this._forEachChild(function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)},e.prototype.getRawValue=function(){return this.controls.map(function(t){return t instanceof Aa?t.value:t.getRawValue()})},e.prototype._syncPendingControls=function(){var t=this.controls.reduce(function(t,e){return!!e._syncPendingControls()||t},!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error("Cannot find form control at index "+t)},e.prototype._forEachChild=function(t){this.controls.forEach(function(e,n){t(e,n)})},e.prototype._updateValue=function(){var t=this;this.value=this.controls.filter(function(e){return e.enabled||t.disabled}).map(function(t){return t.value})},e.prototype._anyControls=function(t){return this.controls.some(function(e){return e.enabled&&t(e)})},e.prototype._setUpControls=function(){var t=this;this._forEachChild(function(e){return t._registerControl(e)})},e.prototype._checkAllValuesPresent=function(t){this._forEachChild(function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control at index: "+n+".")})},e.prototype._allControlsDisabled=function(){for(var t=0,e=this.controls;t0||this.disabled},e.prototype._registerControl=function(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)},e}(Ea),Ra=Promise.resolve(null),Ha=function(t){function e(e,n){var i=t.call(this)||this;return i.submitted=!1,i._directives=[],i.ngSubmit=new r.o,i.form=new ja({},wa(e),Ma(n)),i}return Object(o.__extends)(e,t),e.prototype.ngAfterViewInit=function(){this._setUpdateStrategy()},Object.defineProperty(e.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"controls",{get:function(){return this.form.controls},enumerable:!0,configurable:!0}),e.prototype.addControl=function(t){var e=this;Ra.then(function(){var n=e._findContainer(t.path);t.control=n.registerControl(t.name,t.control),ma(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),e._directives.push(t)})},e.prototype.getControl=function(t){return this.form.get(t.path)},e.prototype.removeControl=function(t){var e=this;Ra.then(function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name),La(e._directives,t)})},e.prototype.addFormGroup=function(t){var e=this;Ra.then(function(){var n=e._findContainer(t.path),r=new ja({});ya(r,t),n.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})},e.prototype.removeFormGroup=function(t){var e=this;Ra.then(function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name)})},e.prototype.getFormGroup=function(t){return this.form.get(t.path)},e.prototype.updateModel=function(t,e){var n=this;Ra.then(function(){n.form.get(t.path).setValue(e)})},e.prototype.setValue=function(t){this.control.setValue(t)},e.prototype.onSubmit=function(t){return this.submitted=!0,xa(this.form,this._directives),this.ngSubmit.emit(t),!1},e.prototype.onReset=function(){this.resetForm()},e.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},e.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)},e.prototype._findContainer=function(t){return t.pop(),t.length?this.form.get(t):this.form},e}(zs),Fa='\n

          \n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',Na='\n
          \n
          \n \n
          \n
          \n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',Va=function(){function t(){}return t.controlParentException=function(){throw new Error("formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+Fa)},t.ngModelGroupException=function(){throw new Error('formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n '+Na+'\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n \n
          \n
          \n \n
          \n
          ')},t.missingFormException=function(){throw new Error("formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n "+Fa)},t.groupParentException=function(){throw new Error("formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+Na)},t.arrayParentException=function(){throw new Error('formArrayName must be used with a parent formGroup directive. You\'ll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n \n
          \n
          \n
          \n \n
          \n
          \n
          \n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });')},t.disabledAttrWarning=function(){console.warn("\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n \n Example: \n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n ")},t}(),Ba=function(t){function e(e,n){var i=t.call(this)||this;return i._validators=e,i._asyncValidators=n,i.submitted=!1,i.directives=[],i.form=null,i.ngSubmit=new r.o,i}return Object(o.__extends)(e,t),e.prototype.ngOnChanges=function(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())},Object.defineProperty(e.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),e.prototype.addControl=function(t){var e=this.form.get(t.path);return ma(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e},e.prototype.getControl=function(t){return this.form.get(t.path)},e.prototype.removeControl=function(t){La(this.directives,t)},e.prototype.addFormGroup=function(t){var e=this.form.get(t.path);ya(e,t),e.updateValueAndValidity({emitEvent:!1})},e.prototype.removeFormGroup=function(t){},e.prototype.getFormGroup=function(t){return this.form.get(t.path)},e.prototype.addFormArray=function(t){var e=this.form.get(t.path);ya(e,t),e.updateValueAndValidity({emitEvent:!1})},e.prototype.removeFormArray=function(t){},e.prototype.getFormArray=function(t){return this.form.get(t.path)},e.prototype.updateModel=function(t,e){this.form.get(t.path).setValue(e)},e.prototype.onSubmit=function(t){return this.submitted=!0,xa(this.form,this.directives),this.ngSubmit.emit(t),!1},e.prototype.onReset=function(){this.resetForm()},e.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},e.prototype._updateDomValue=function(){var t=this;this.directives.forEach(function(e){var n=t.form.get(e.path);e.control!==n&&(function(t,e){e.valueAccessor.registerOnChange(function(){return va(e)}),e.valueAccessor.registerOnTouched(function(){return va(e)}),e._rawValidators.forEach(function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),e._rawAsyncValidators.forEach(function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),t&&t._clearChangeFns()}(e.control,e),n&&ma(n,e),e.control=n)}),this.form._updateTreeValidity({emitEvent:!1})},e.prototype._updateRegistrations=function(){var t=this;this.form._registerOnCollectionChange(function(){return t._updateDomValue()}),this._oldForm&&this._oldForm._registerOnCollectionChange(function(){}),this._oldForm=this.form},e.prototype._updateValidators=function(){var t=wa(this._validators);this.form.validator=Js.compose([this.form.validator,t]);var e=Ma(this._asyncValidators);this.form.asyncValidator=Js.composeAsync([this.form.asyncValidator,e])},e.prototype._checkFormPresent=function(){this.form||Va.missingFormException()},e}(zs),za=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}return Object(o.__extends)(e,t),e.prototype._checkParentType=function(){Ua(this._parent)&&Va.groupParentException()},e}(Ca),Wa=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}return Object(o.__extends)(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormArray(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormArray(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormArray(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return _a(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return wa(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return Ma(this._asyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){Ua(this._parent)&&Va.arrayParentException()},e}(zs);function Ua(t){return!(t instanceof za||t instanceof Ba||t instanceof Wa)}var Ga=function(t){function e(e,n,i,o){var s=t.call(this)||this;return s._added=!1,s.update=new r.o,s._parent=e,s._rawValidators=n||[],s._rawAsyncValidators=i||[],s.valueAccessor=function(t,e){if(!e)return null;var n=void 0,r=void 0,i=void 0;return e.forEach(function(e){var o;e.constructor===ta?n=e:(o=e,ka.some(function(t){return o.constructor===t})?(r&&ba(t,"More than one built-in value accessor matches form control with"),r=e):(i&&ba(t,"More than one custom value accessor matches form control with"),i=e))}),i||r||n||(ba(t,"No valid value accessor for form control with"),null)}(s,o),s}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"isDisabled",{set:function(t){Va.disabledAttrWarning()},enumerable:!0,configurable:!0}),e.prototype.ngOnChanges=function(t){this._added||this._setUpControl(),function(t,e){if(!t.hasOwnProperty("model"))return!1;var n=t.model;return!!n.isFirstChange()||!Object(r._16)(e,n.currentValue)}(t,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},e.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},Object.defineProperty(e.prototype,"path",{get:function(){return _a(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return wa(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return Ma(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){!(this._parent instanceof za)&&this._parent instanceof Ca?Va.ngModelGroupException():this._parent instanceof za||this._parent instanceof Ba||this._parent instanceof Wa||Va.controlParentException()},e.prototype._setUpControl=function(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0},e}(oa),Ja=function(){function t(){}return Object.defineProperty(t.prototype,"required",{get:function(){return this._required},set:function(t){this._required=null!=t&&!1!==t&&""+t!="false",this._onChange&&this._onChange()},enumerable:!0,configurable:!0}),t.prototype.validate=function(t){return this.required?Js.required(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t}(),qa=function(){function t(){}return t.prototype.group=function(t,e){void 0===e&&(e=null);var n=this._reduceControls(t);return new ja(n,null!=e?e.validator:null,null!=e?e.asyncValidator:null)},t.prototype.control=function(t,e,n){return new Aa(t,e,n)},t.prototype.array=function(t,e,n){var r=this,i=t.map(function(t){return r._createControl(t)});return new Ia(i,e,n)},t.prototype._reduceControls=function(t){var e=this,n={};return Object.keys(t).forEach(function(r){n[r]=e._createControl(t[r])}),n},t.prototype._createControl=function(t){return t instanceof Aa||t instanceof ja||t instanceof Ia?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)},t}(),Qa=function(){},Xa=function(){},Ka=function(){},Za=n("5X6E"),$a=function(){function t(t,e){this.delay=t,this.scheduler=e}return t.prototype.call=function(t,e){return e.subscribe(new tl(t,this.delay,this.scheduler))},t}(),tl=function(t){function e(e,n,r){t.call(this,e),this.delay=n,this.scheduler=r,this.queue=[],this.active=!1,this.errored=!1}return Object(o.__extends)(e,t),e.dispatch=function(t){for(var e=t.source,n=e.queue,r=t.scheduler,i=t.destination;n.length>0&&n[0].time-r.now()<=0;)n.shift().notification.observe(i);if(n.length>0){var o=Math.max(0,n[0].time-r.now());this.schedule(t,o)}else e.active=!1},e.prototype._schedule=function(t){this.active=!0,this.add(t.schedule(e.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))},e.prototype.scheduleNotification=function(t){if(!0!==this.errored){var e=this.scheduler,n=new el(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}},e.prototype._next=function(t){this.scheduleNotification(zr.createNext(t))},e.prototype._error=function(t){this.errored=!0,this.queue=[],this.destination.error(t)},e.prototype._complete=function(){this.scheduleNotification(zr.createComplete())},e}(lr.a),el=function(t,e){this.time=t,this.notification=e},nl=function(){};function rl(t){return Error("A hint was already declared for 'align=\""+t+"\"'.")}var il=0,ol=function(){function t(t,e,n){this._elementRef=t,this._changeDetectorRef=e,this.color="primary",this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+il++,this._labelOptions=n||{},this.floatLabel=this._labelOptions.float||"auto"}return Object.defineProperty(t.prototype,"dividerColor",{get:function(){return this.color},set:function(t){this.color=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideRequiredMarker",{get:function(){return this._hideRequiredMarker},set:function(t){this._hideRequiredMarker=Oi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_shouldAlwaysFloat",{get:function(){return"always"===this._floatLabel&&!this._showAlwaysAnimate},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_canLabelFloat",{get:function(){return"never"!==this._floatLabel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hintLabel",{get:function(){return this._hintLabel},set:function(t){this._hintLabel=t,this._processHints()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"floatPlaceholder",{get:function(){return this._floatLabel},set:function(t){this.floatLabel=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"floatLabel",{get:function(){return this._floatLabel},set:function(t){t!==this._floatLabel&&(this._floatLabel=t||this._labelOptions.float||"auto",this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this._validateControlChild(),this._control.controlType&&this._elementRef.nativeElement.classList.add("mat-form-field-type-"+this._control.controlType),this._control.stateChanges.pipe(ws(null)).subscribe(function(){t._validatePlaceholders(),t._syncDescribedByIds(),t._changeDetectorRef.markForCheck()});var e=this._control.ngControl;e&&e.valueChanges&&e.valueChanges.subscribe(function(){t._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(ws(null)).subscribe(function(){t._processHints(),t._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(ws(null)).subscribe(function(){t._syncDescribedByIds(),t._changeDetectorRef.markForCheck()})},t.prototype.ngAfterContentChecked=function(){this._validateControlChild()},t.prototype.ngAfterViewInit=function(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()},t.prototype._shouldForward=function(t){var e=this._control?this._control.ngControl:null;return e&&e[t]},t.prototype._hasPlaceholder=function(){return!(!this._control.placeholder&&!this._placeholderChild)},t.prototype._hasLabel=function(){return!!this._labelChild},t.prototype._shouldLabelFloat=function(){return this._canLabelFloat&&(this._control.shouldLabelFloat||this._control.shouldPlaceholderFloat||this._shouldAlwaysFloat)},t.prototype._hideControlPlaceholder=function(){return!this._hasLabel()||!this._shouldLabelFloat()},t.prototype._hasFloatingLabel=function(){return this._hasLabel()||this._hasPlaceholder()},t.prototype._getDisplayedMessages=function(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"},t.prototype._animateAndLockLabel=function(){var t=this;this._hasFloatingLabel()&&this._canLabelFloat&&(this._showAlwaysAnimate=!0,this._floatLabel="always",si(this._label.nativeElement,"transitionend").pipe(Object(Ti.a)(1)).subscribe(function(){t._showAlwaysAnimate=!1}),this._changeDetectorRef.markForCheck())},t.prototype._validatePlaceholders=function(){if(this._control.placeholder&&this._placeholderChild)throw Error("Placeholder attribute and child element were both specified.")},t.prototype._processHints=function(){this._validateHints(),this._syncDescribedByIds()},t.prototype._validateHints=function(){var t,e,n=this;this._hintChildren&&this._hintChildren.forEach(function(r){if("start"==r.align){if(t||n.hintLabel)throw rl("start");t=r}else if("end"==r.align){if(e)throw rl("end");e=r}})},t.prototype._syncDescribedByIds=function(){if(this._control){var t=[];if("hint"===this._getDisplayedMessages()){var e=this._hintChildren?this._hintChildren.find(function(t){return"start"===t.align}):null,n=this._hintChildren?this._hintChildren.find(function(t){return"end"===t.align}):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&(t=this._errorChildren.map(function(t){return t.id}));this._control.setDescribedByIds(t)}},t.prototype._validateControlChild=function(){if(!this._control)throw Error("mat-form-field must contain a MatFormFieldControl.")},t}(),sl=function(){},al=function(){},ll=function(){},ul=function(){},cl=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i._platform=n,i._focusMonitor=r,i._isRoundButton=i._hasHostAttributes("mat-fab","mat-mini-fab"),i._isIconButton=i._hasHostAttributes("mat-icon-button"),i._focusMonitor.monitor(i._elementRef.nativeElement,!0),i}return Object(o.__extends)(e,t),e.prototype.ngOnDestroy=function(){this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)},e.prototype.focus=function(){this._getHostElement().focus()},e.prototype._getHostElement=function(){return this._elementRef.nativeElement},e.prototype._isRippleDisabled=function(){return this.disableRipple||this.disabled},e.prototype._hasHostAttributes=function(){for(var t=this,e=[],n=0;n1&&!this._isMulti)throw Error("Cannot pass multiple values into SelectionModel with single-value mode.")},t}(),fl=function(t,e){this.added=t,this.removed=e},_l=function(){function t(){this._listeners=[]}return t.prototype.notify=function(t,e){for(var n=0,r=this._listeners;n0?this._ngZone.runOutsideAngular(function(){t._debouncer.pipe(so(t.debounce)).subscribe(function(e){return t.event.emit(e)})}):this._debouncer.subscribe(function(e){return t.event.emit(e)}),this._observer=this._ngZone.runOutsideAngular(function(){return t._mutationObserverFactory.create(function(e){t._debouncer.next(e)})}),this._observer&&this._observer.observe(this._elementRef.nativeElement,{characterData:!0,childList:!0,subtree:!0})},t.prototype.ngOnDestroy=function(){this._observer&&this._observer.disconnect(),this._debouncer.complete()},t}(),bl=function(){},wl=new r.r("mat-checkbox-click-action"),Ml=0,kl=function(){var t={Init:0,Checked:1,Unchecked:2,Indeterminate:3};return t[t.Init]="Init",t[t.Checked]="Checked",t[t.Unchecked]="Unchecked",t[t.Indeterminate]="Indeterminate",t}(),xl=function(t){function e(e,n,i,o,s){var a=t.call(this,e)||this;return a._changeDetectorRef=n,a._focusMonitor=i,a._clickAction=s,a.ariaLabel="",a.ariaLabelledby=null,a._uniqueId="mat-checkbox-"+ ++Ml,a.id=a._uniqueId,a.labelPosition="after",a.name=null,a.change=new r.o,a.indeterminateChange=new r.o,a._rippleConfig={centered:!0,radius:25,speedFactor:1.5},a.onTouched=function(){},a._currentAnimationClass="",a._currentCheckState=kl.Init,a._checked=!1,a._indeterminate=!1,a._controlValueAccessorChangeFn=function(){},a.tabIndex=parseInt(o)||0,a}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"inputId",{get:function(){return(this.id||this._uniqueId)+"-input"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(t){this._required=Oi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"align",{get:function(){return"after"==this.labelPosition?"start":"end"},set:function(t){this.labelPosition="start"==t?"after":"before"},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){var t=this;this._focusMonitor.monitor(this._inputElement.nativeElement,!1).subscribe(function(e){return t._onInputFocusChange(e)})},e.prototype.ngOnDestroy=function(){this._focusMonitor.stopMonitoring(this._inputElement.nativeElement)},Object.defineProperty(e.prototype,"checked",{get:function(){return this._checked},set:function(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"indeterminate",{get:function(){return this._indeterminate},set:function(t){var e=t!=this._indeterminate;this._indeterminate=t,e&&(this._transitionCheckState(this._indeterminate?kl.Indeterminate:this.checked?kl.Checked:kl.Unchecked),this.indeterminateChange.emit(this._indeterminate))},enumerable:!0,configurable:!0}),e.prototype._isRippleDisabled=function(){return this.disableRipple||this.disabled},e.prototype._onLabelTextChange=function(){this._changeDetectorRef.markForCheck()},e.prototype.writeValue=function(t){this.checked=!!t},e.prototype.registerOnChange=function(t){this._controlValueAccessorChangeFn=t},e.prototype.registerOnTouched=function(t){this.onTouched=t},e.prototype.setDisabledState=function(t){this.disabled=t,this._changeDetectorRef.markForCheck()},e.prototype._getAriaChecked=function(){return this.checked?"true":this.indeterminate?"mixed":"false"},e.prototype._transitionCheckState=function(t){var e=this._currentCheckState,n=this._elementRef.nativeElement;e!==t&&(this._currentAnimationClass.length>0&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(e,t),this._currentCheckState=t,this._currentAnimationClass.length>0&&n.classList.add(this._currentAnimationClass))},e.prototype._emitChangeEvent=function(){var t=new function(){};t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t)},e.prototype._onInputFocusChange=function(t){this._focusRipple||"keyboard"!==t?t||(this._removeFocusRipple(),this.onTouched()):this._focusRipple=this._ripple.launch(0,0,Object(o.__assign)({persistent:!0},this._rippleConfig))},e.prototype.toggle=function(){this.checked=!this.checked},e.prototype._onInputClick=function(t){var e=this;t.stopPropagation(),this.disabled||"noop"===this._clickAction?this.disabled||"noop"!==this._clickAction||(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==this._clickAction&&Promise.resolve().then(function(){e._indeterminate=!1,e.indeterminateChange.emit(e._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?kl.Checked:kl.Unchecked),this._emitChangeEvent())},e.prototype.focus=function(){this._focusMonitor.focusVia(this._inputElement.nativeElement,"keyboard")},e.prototype._onInteractionEvent=function(t){t.stopPropagation()},e.prototype._getAnimationClassForCheckStateTransition=function(t,e){var n="";switch(t){case kl.Init:if(e===kl.Checked)n="unchecked-checked";else{if(e!=kl.Indeterminate)return"";n="unchecked-indeterminate"}break;case kl.Unchecked:n=e===kl.Checked?"unchecked-checked":"unchecked-indeterminate";break;case kl.Checked:n=e===kl.Unchecked?"checked-unchecked":"checked-indeterminate";break;case kl.Indeterminate:n=e===kl.Checked?"indeterminate-checked":"indeterminate-unchecked"}return"mat-checkbox-anim-"+n},e.prototype._removeFocusRipple=function(){this._focusRipple&&(this._focusRipple.fadeOut(),this._focusRipple=null)},e}(Io(Ao(jo(Eo(function(t){this._elementRef=t})),"accent"))),Ll=function(){},Cl=function(){function t(t){this.callback=t}return t.prototype.call=function(t,e){return e.subscribe(new Sl(t,this.callback))},t}(),Sl=function(t){function e(e,n){t.call(this,e),this.add(new Lr.a(n))}return Object(o.__extends)(e,t),e}(lr.a),Tl=n("3a3m");function Ol(t,e){return function(t,e){return Object(wr.a)(t,e,1)}(t,e)(this)}var Dl=function(){},Yl=function(){},Pl=function(){function t(t){var e=this;this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?function(){e.headers=new Map,t.split("\n").forEach(function(t){var n=t.indexOf(":");if(n>0){var r=t.slice(0,n),i=r.toLowerCase(),o=t.slice(n+1).trim();e.maybeSetNormalizedName(r,i),e.headers.has(i)?e.headers.get(i).push(o):e.headers.set(i,[o])}})}:function(){e.headers=new Map,Object.keys(t).forEach(function(n){var r=t[n],i=n.toLowerCase();"string"==typeof r&&(r=[r]),r.length>0&&(e.headers.set(i,r),e.maybeSetNormalizedName(n,i))})}:this.headers=new Map}return t.prototype.has=function(t){return this.init(),this.headers.has(t.toLowerCase())},t.prototype.get=function(t){this.init();var e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null},t.prototype.keys=function(){return this.init(),Array.from(this.normalizedNames.values())},t.prototype.getAll=function(t){return this.init(),this.headers.get(t.toLowerCase())||null},t.prototype.append=function(t,e){return this.clone({name:t,value:e,op:"a"})},t.prototype.set=function(t,e){return this.clone({name:t,value:e,op:"s"})},t.prototype.delete=function(t,e){return this.clone({name:t,value:e,op:"d"})},t.prototype.maybeSetNormalizedName=function(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)},t.prototype.init=function(){var e=this;this.lazyInit&&(this.lazyInit instanceof t?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(function(t){return e.applyUpdate(t)}),this.lazyUpdate=null))},t.prototype.copyFrom=function(t){var e=this;t.init(),Array.from(t.headers.keys()).forEach(function(n){e.headers.set(n,t.headers.get(n)),e.normalizedNames.set(n,t.normalizedNames.get(n))})},t.prototype.clone=function(e){var n=new t;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([e]),n},t.prototype.applyUpdate=function(t){var e=t.name.toLowerCase();switch(t.op){case"a":case"s":var n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);var r=("a"===t.op?this.headers.get(e):void 0)||[];r.push.apply(r,n),this.headers.set(e,r);break;case"d":var i=t.value;if(i){var o=this.headers.get(e);if(!o)return;0===(o=o.filter(function(t){return-1===i.indexOf(t)})).length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,o)}else this.headers.delete(e),this.normalizedNames.delete(e)}},t.prototype.forEach=function(t){var e=this;this.init(),Array.from(this.normalizedNames.keys()).forEach(function(n){return t(e.normalizedNames.get(n),e.headers.get(n))})},t}(),El=function(){function t(){}return t.prototype.encodeKey=function(t){return Al(t)},t.prototype.encodeValue=function(t){return Al(t)},t.prototype.decodeKey=function(t){return decodeURIComponent(t)},t.prototype.decodeValue=function(t){return decodeURIComponent(t)},t}();function Al(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}var jl=function(){function t(t){void 0===t&&(t={});var e,n,r,i=this;if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new El,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=(e=t.fromString,n=this.encoder,r=new Map,e.length>0&&e.split("&").forEach(function(t){var e=t.indexOf("="),i=-1==e?[n.decodeKey(t),""]:[n.decodeKey(t.slice(0,e)),n.decodeValue(t.slice(e+1))],o=i[0],s=i[1],a=r.get(o)||[];a.push(s),r.set(o,a)}),r)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(function(e){var n=t.fromObject[e];i.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}return t.prototype.has=function(t){return this.init(),this.map.has(t)},t.prototype.get=function(t){this.init();var e=this.map.get(t);return e?e[0]:null},t.prototype.getAll=function(t){return this.init(),this.map.get(t)||null},t.prototype.keys=function(){return this.init(),Array.from(this.map.keys())},t.prototype.append=function(t,e){return this.clone({param:t,value:e,op:"a"})},t.prototype.set=function(t,e){return this.clone({param:t,value:e,op:"s"})},t.prototype.delete=function(t,e){return this.clone({param:t,value:e,op:"d"})},t.prototype.toString=function(){var t=this;return this.init(),this.keys().map(function(e){var n=t.encoder.encodeKey(e);return t.map.get(e).map(function(e){return n+"="+t.encoder.encodeValue(e)}).join("&")}).join("&")},t.prototype.clone=function(e){var n=new t({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat([e]),n},t.prototype.init=function(){var t=this;null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(function(e){return t.map.set(e,t.cloneFrom.map.get(e))}),this.updates.forEach(function(e){switch(e.op){case"a":case"s":var n=("a"===e.op?t.map.get(e.param):void 0)||[];n.push(e.value),t.map.set(e.param,n);break;case"d":if(void 0===e.value){t.map.delete(e.param);break}var r=t.map.get(e.param)||[],i=r.indexOf(e.value);-1!==i&&r.splice(i,1),r.length>0?t.map.set(e.param,r):t.map.delete(e.param)}}),this.cloneFrom=null)},t}();function Il(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function Rl(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Hl(t){return"undefined"!=typeof FormData&&t instanceof FormData}var Fl=function(){function t(t,e,n,r){var i;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,i=r):i=n,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.params&&(this.params=i.params)),this.headers||(this.headers=new Pl),this.params){var o=this.params.toString();if(0===o.length)this.urlWithParams=e;else{var s=e.indexOf("?");this.urlWithParams=e+(-1===s?"?":s=200&&this.status<300}}(),Bl=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.type=Nl.ResponseHeader,n}return Object(o.__extends)(e,t),e.prototype.clone=function(t){return void 0===t&&(t={}),new e({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})},e}(Vl),zl=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.type=Nl.Response,n.body=void 0!==e.body?e.body:null,n}return Object(o.__extends)(e,t),e.prototype.clone=function(t){return void 0===t&&(t={}),new e({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})},e}(Vl),Wl=function(t){function e(e){var n=t.call(this,e,0,"Unknown Error")||this;return n.name="HttpErrorResponse",n.ok=!1,n.message=n.status>=200&&n.status<300?"Http failure during parsing for "+(e.url||"(unknown url)"):"Http failure response for "+(e.url||"(unknown url)")+": "+e.status+" "+e.statusText,n.error=e.error||null,n}return Object(o.__extends)(e,t),e}(Vl);function Ul(t,e){return{body:e,headers:t.headers,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}var Gl=function(){function t(t){this.handler=t}return t.prototype.request=function(t,e,n){var r,i=this;if(void 0===n&&(n={}),t instanceof Fl)r=t;else{var o;o=n.headers instanceof Pl?n.headers:new Pl(n.headers);var s=void 0;n.params&&(s=n.params instanceof jl?n.params:new jl({fromObject:n.params})),r=new Fl(t,e,void 0!==n.body?n.body:null,{headers:o,params:s,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}var a=Ol.call(Object(ar.a)(r),function(t){return i.handler.handle(t)});if(t instanceof Fl||"events"===n.observe)return a;var l=mr.call(a,function(t){return t instanceof zl});switch(n.observe||"body"){case"body":switch(r.responseType){case"arraybuffer":return tr.call(l,function(t){if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body});case"blob":return tr.call(l,function(t){if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body});case"text":return tr.call(l,function(t){if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body});case"json":default:return tr.call(l,function(t){return t.body})}case"response":return l;default:throw new Error("Unreachable: unhandled observe type "+n.observe+"}")}},t.prototype.delete=function(t,e){return void 0===e&&(e={}),this.request("DELETE",t,e)},t.prototype.get=function(t,e){return void 0===e&&(e={}),this.request("GET",t,e)},t.prototype.head=function(t,e){return void 0===e&&(e={}),this.request("HEAD",t,e)},t.prototype.jsonp=function(t,e){return this.request("JSONP",t,{params:(new jl).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})},t.prototype.options=function(t,e){return void 0===e&&(e={}),this.request("OPTIONS",t,e)},t.prototype.patch=function(t,e,n){return void 0===n&&(n={}),this.request("PATCH",t,Ul(n,e))},t.prototype.post=function(t,e,n){return void 0===n&&(n={}),this.request("POST",t,Ul(n,e))},t.prototype.put=function(t,e,n){return void 0===n&&(n={}),this.request("PUT",t,Ul(n,e))},t}(),Jl=function(){function t(t,e){this.next=t,this.interceptor=e}return t.prototype.handle=function(t){return this.interceptor.intercept(t,this.next)},t}(),ql=new r.r("HTTP_INTERCEPTORS"),Ql=function(){function t(){}return t.prototype.intercept=function(t,e){return e.handle(t)},t}(),Xl=/^\)\]\}',?\n/,Kl=function(){},Zl=function(){function t(){}return t.prototype.build=function(){return new XMLHttpRequest},t}(),$l=function(){function t(t){this.xhrFactory=t}return t.prototype.handle=function(t){var e=this;if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without JsonpClientModule installed.");return new s.a(function(n){var r=e.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach(function(t,e){return r.setRequestHeader(t,e.join(","))}),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){var i=t.detectContentTypeHeader();null!==i&&r.setRequestHeader("Content-Type",i)}if(t.responseType){var o=t.responseType.toLowerCase();r.responseType="json"!==o?o:"text"}var s=t.serializeBody(),a=null,l=function(){if(null!==a)return a;var e=1223===r.status?204:r.status,n=r.statusText||"OK",i=new Pl(r.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(r)||t.url;return a=new Bl({headers:i,status:e,statusText:n,url:o})},u=function(){var e=l(),i=e.headers,o=e.status,s=e.statusText,a=e.url,u=null;204!==o&&(u="undefined"==typeof r.response?r.responseText:r.response),0===o&&(o=u?200:0);var c=o>=200&&o<300;if("json"===t.responseType&&"string"==typeof u){var d=u;u=u.replace(Xl,"");try{u=""!==u?JSON.parse(u):null}catch(t){u=d,c&&(c=!1,u={error:t,text:u})}}c?(n.next(new zl({body:u,headers:i,status:o,statusText:s,url:a||void 0})),n.complete()):n.error(new Wl({error:u,headers:i,status:o,statusText:s,url:a||void 0}))},c=function(t){var e=new Wl({error:t,status:r.status||0,statusText:r.statusText||"Unknown Error"});n.error(e)},d=!1,h=function(e){d||(n.next(l()),d=!0);var i={type:Nl.DownloadProgress,loaded:e.loaded};e.lengthComputable&&(i.total=e.total),"text"===t.responseType&&r.responseText&&(i.partialText=r.responseText),n.next(i)},p=function(t){var e={type:Nl.UploadProgress,loaded:t.loaded};t.lengthComputable&&(e.total=t.total),n.next(e)};return r.addEventListener("load",u),r.addEventListener("error",c),t.reportProgress&&(r.addEventListener("progress",h),null!==s&&r.upload&&r.upload.addEventListener("progress",p)),r.send(s),n.next({type:Nl.Sent}),function(){r.removeEventListener("error",c),r.removeEventListener("load",u),t.reportProgress&&(r.removeEventListener("progress",h),null!==s&&r.upload&&r.upload.removeEventListener("progress",p)),r.abort()}})},t}(),tu=new r.r("XSRF_COOKIE_NAME"),eu=new r.r("XSRF_HEADER_NAME"),nu=function(){},ru=function(){function t(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}return t.prototype.getToken=function(){if("server"===this.platform)return null;var t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=A(t,this.cookieName),this.lastCookieString=t),this.lastToken},t}(),iu=function(){function t(t,e){this.tokenService=t,this.headerName=e}return t.prototype.intercept=function(t,e){var n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);var r=this.tokenService.getToken();return null===r||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,r)})),e.handle(t)},t}();function ou(t,e){return void 0===e&&(e=[]),e?e.reduceRight(function(t,e){return new Jl(t,e)},t):t}var su=function(){function t(){}return t.disable=function(){return{ngModule:t,providers:[{provide:iu,useClass:Ql}]}},t.withOptions=function(e){return void 0===e&&(e={}),{ngModule:t,providers:[e.cookieName?{provide:tu,useValue:e.cookieName}:[],e.headerName?{provide:eu,useValue:e.headerName}:[]]}},t}(),au=function(){};function lu(t){return Error('Unable to find icon with the name "'+t+'"')}function uu(t){return Error("The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was \""+t+'".')}var cu=function(t){this.url=t,this.svgElement=null},du=function(){function t(t,e,n){this._httpClient=t,this._sanitizer=e,this._document=n,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._defaultFontSetClass="material-icons"}return t.prototype.addSvgIcon=function(t,e){return this.addSvgIconInNamespace("",t,e)},t.prototype.addSvgIconInNamespace=function(t,e,n){var r=fu(t,e);return this._svgIconConfigs.set(r,new cu(n)),this},t.prototype.addSvgIconSet=function(t){return this.addSvgIconSetInNamespace("",t)},t.prototype.addSvgIconSetInNamespace=function(t,e){var n=new cu(e),r=this._iconSetConfigs.get(t);return r?r.push(n):this._iconSetConfigs.set(t,[n]),this},t.prototype.registerFontClassAlias=function(t,e){return void 0===e&&(e=t),this._fontCssClassesByAlias.set(t,e),this},t.prototype.classNameForFontAlias=function(t){return this._fontCssClassesByAlias.get(t)||t},t.prototype.setDefaultFontSetClass=function(t){return this._defaultFontSetClass=t,this},t.prototype.getDefaultFontSetClass=function(){return this._defaultFontSetClass},t.prototype.getSvgIconFromUrl=function(t){var e=this,n=this._sanitizer.sanitize(r.K.RESOURCE_URL,t);if(!n)throw uu(t);var i=this._cachedIconsByUrl.get(n);return i?Object(ar.a)(pu(i)):this._loadSvgIconFromConfig(new cu(t)).pipe(ur(function(t){return e._cachedIconsByUrl.set(n,t)}),Object($n.a)(function(t){return pu(t)}))},t.prototype.getNamedSvgIcon=function(t,e){void 0===e&&(e="");var n=fu(e,t),r=this._svgIconConfigs.get(n);if(r)return this._getSvgFromConfig(r);var i=this._iconSetConfigs.get(e);return i?this._getSvgFromIconSetConfigs(t,i):Gn(lu(n))},t.prototype._getSvgFromConfig=function(t){return t.svgElement?Object(ar.a)(pu(t.svgElement)):this._loadSvgIconFromConfig(t).pipe(ur(function(e){return t.svgElement=e}),Object($n.a)(function(t){return pu(t)}))},t.prototype._getSvgFromIconSetConfigs=function(t,e){var n=this,i=this._extractIconWithNameFromAnySet(t,e);if(i)return Object(ar.a)(i);var o=e.filter(function(t){return!t.svgElement}).map(function(t){return n._loadSvgIconSetFromConfig(t).pipe(Qn(function(e){var i=n._sanitizer.sanitize(r.K.RESOURCE_URL,t.url);return console.log("Loading icon set URL: "+i+" failed: "+e),Object(ar.a)(null)}),ur(function(e){e&&(t.svgElement=e)}))});return sr(o).pipe(Object($n.a)(function(){var r=n._extractIconWithNameFromAnySet(t,e);if(!r)throw lu(t);return r}))},t.prototype._extractIconWithNameFromAnySet=function(t,e){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.svgElement){var i=this._extractSvgIconFromSet(r.svgElement,t);if(i)return i}}return null},t.prototype._loadSvgIconFromConfig=function(t){var e=this;return this._fetchUrl(t.url).pipe(Object($n.a)(function(t){return e._createSvgElementForSingleIcon(t)}))},t.prototype._loadSvgIconSetFromConfig=function(t){var e=this;return this._fetchUrl(t.url).pipe(Object($n.a)(function(t){return e._svgElementFromString(t)}))},t.prototype._createSvgElementForSingleIcon=function(t){var e=this._svgElementFromString(t);return this._setSvgAttributes(e),e},t.prototype._extractSvgIconFromSet=function(t,e){var n=t.querySelector("#"+e);if(!n)return null;var r=n.cloneNode(!0);if(r.id="","svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r));var i=this._svgElementFromString("");return i.appendChild(r),this._setSvgAttributes(i)},t.prototype._svgElementFromString=function(t){if(this._document||"undefined"!=typeof document){var e=(this._document||document).createElement("DIV");e.innerHTML=t;var n=e.querySelector("svg");if(!n)throw Error(" tag not found");return n}throw new Error("MatIconRegistry could not resolve document.")},t.prototype._toSvgElement=function(t){for(var e=this._svgElementFromString(""),n=0;n')}(),this._xPosition=t,this.setPositionClasses()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"yPosition",{get:function(){return this._yPosition},set:function(t){"above"!==t&&"below"!==t&&function(){throw Error('y-position value must be either \'above\' or below\'.\n Example: ')}(),this._yPosition=t,this.setPositionClasses()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"overlapTrigger",{get:function(){return this._overlapTrigger},set:function(t){this._overlapTrigger=Oi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"panelClass",{set:function(t){t&&t.length&&(this._classList=t.split(" ").reduce(function(t,e){return t[e]=!0,t},{}),this._elementRef.nativeElement.className="",this.setPositionClasses())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"classList",{get:function(){return this.panelClass},set:function(t){this.panelClass=t},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this._keyManager=new xo(this.items).withWrap().withTypeAhead(),this._tabSubscription=this._keyManager.tabOut.subscribe(function(){return t.close.emit("keydown")})},t.prototype.ngOnDestroy=function(){this._tabSubscription.unsubscribe(),this.closed.complete()},t.prototype._hovered=function(){var t=this;return this.items?this.items.changes.pipe(ws(this.items),Object(Za.a)(function(t){return ci.a.apply(void 0,t.map(function(t){return t._hovered}))})):this._ngZone.onStable.asObservable().pipe(Object(Ti.a)(1),Object(Za.a)(function(){return t._hovered()}))},t.prototype._handleKeydown=function(t){switch(t.keyCode){case 27:this.closed.emit("keydown"),t.stopPropagation();break;case 37:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case 39:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:this._keyManager.onKeydown(t)}},t.prototype.focusFirstItem=function(){this._keyManager.setFirstItemActive()},t.prototype.resetActiveItem=function(){this._keyManager.setActiveItem(-1)},t.prototype.setPositionClasses=function(t,e){void 0===t&&(t=this.xPosition),void 0===e&&(e=this.yPosition),this._classList["mat-menu-before"]="before"===t,this._classList["mat-menu-after"]="after"===t,this._classList["mat-menu-above"]="above"===e,this._classList["mat-menu-below"]="below"===e},t.prototype.setElevation=function(t){var e="mat-elevation-z"+(2+t),n=Object.keys(this._classList).find(function(t){return t.startsWith("mat-elevation-z")});n&&n!==this._previousElevation||(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[e]=!0,this._previousElevation=e)},t.prototype._startAnimation=function(){this._panelAnimationState="enter-start"},t.prototype._resetAnimation=function(){this._panelAnimationState="void"},t.prototype._onAnimationDone=function(t){"enter-start"===t.toState&&(this._panelAnimationState="enter")},t}(),Tu=new r.r("mat-menu-scroll-strategy");function Ou(t){return function(){return t.scrollStrategies.reposition()}}var Du=function(){function t(t,e,n,i,o,s,a){this._overlay=t,this._element=e,this._viewContainerRef=n,this._scrollStrategy=i,this._parentMenu=o,this._menuItemInstance=s,this._dir=a,this._overlayRef=null,this._menuOpen=!1,this._closeSubscription=Lr.a.EMPTY,this._positionSubscription=Lr.a.EMPTY,this._hoverSubscription=Lr.a.EMPTY,this._openedByMouse=!1,this.menuOpened=new r.o,this.onMenuOpen=this.menuOpened,this.menuClosed=new r.o,this.onMenuClose=this.menuClosed,s&&(s._triggersSubmenu=this.triggersSubmenu())}return Object.defineProperty(t.prototype,"_deprecatedMatMenuTriggerFor",{get:function(){return this.menu},set:function(t){this.menu=t},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this._checkMenu(),this.menu.close.subscribe(function(e){t._destroyMenu(),"click"===e&&t._parentMenu&&t._parentMenu.closed.emit(e)}),this.triggersSubmenu()&&(this._hoverSubscription=this._parentMenu._hovered().pipe(pr(function(e){return e===t._menuItemInstance})).subscribe(function(){t._openedByMouse=!0,t.openMenu()}))},t.prototype.ngOnDestroy=function(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._cleanUpSubscriptions()},Object.defineProperty(t.prototype,"menuOpen",{get:function(){return this._menuOpen},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dir",{get:function(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"},enumerable:!0,configurable:!0}),t.prototype.triggersSubmenu=function(){return!(!this._menuItemInstance||!this._parentMenu)},t.prototype.toggleMenu=function(){return this._menuOpen?this.closeMenu():this.openMenu()},t.prototype.openMenu=function(){var t=this;this._menuOpen||(this._createOverlay().attach(this._portal),this._closeSubscription=this._menuClosingActions().subscribe(function(){return t.closeMenu()}),this._initMenu(),this.menu instanceof Su&&this.menu._startAnimation())},t.prototype.closeMenu=function(){this.menu.close.emit()},t.prototype.focus=function(){this._element.nativeElement.focus()},t.prototype._destroyMenu=function(){this._overlayRef&&this.menuOpen&&(this._resetMenu(),this._closeSubscription.unsubscribe(),this._overlayRef.detach(),this.menu instanceof Su&&this.menu._resetAnimation())},t.prototype._initMenu=function(){if(this.menu.parentMenu=this.triggersSubmenu()?this._parentMenu:void 0,this.menu.direction=this.dir,this._setMenuElevation(),this._setIsMenuOpen(!0),this._openedByMouse){var t=this._overlayRef.overlayElement.firstElementChild;t&&(this.menu.resetActiveItem(),t.focus())}else this.menu.focusFirstItem()},t.prototype._setMenuElevation=function(){if(this.menu.setElevation){for(var t=0,e=this.menu.parentMenu;e;)t++,e=e.parentMenu;this.menu.setElevation(t)}},t.prototype._resetMenu=function(){this._setIsMenuOpen(!1),this._openedByMouse&&this.triggersSubmenu()||this.focus(),this._openedByMouse=!1},t.prototype._setIsMenuOpen=function(t){this._menuOpen=t,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&(this._menuItemInstance._highlighted=t)},t.prototype._checkMenu=function(){this.menu||function(){throw Error('mat-menu-trigger: must pass in an mat-menu instance.\n\n Example:\n \n ')}()},t.prototype._createOverlay=function(){if(!this._overlayRef){this._portal=new Mi(this.menu.templateRef,this._viewContainerRef);var t=this._getOverlayConfig();this._subscribeToPositions(t.positionStrategy),this._overlayRef=this._overlay.create(t)}return this._overlayRef},t.prototype._getOverlayConfig=function(){return new Ei({positionStrategy:this._getPosition(),hasBackdrop:!this.triggersSubmenu(),backdropClass:"cdk-overlay-transparent-backdrop",direction:this.dir,scrollStrategy:this._scrollStrategy()})},t.prototype._subscribeToPositions=function(t){var e=this;this._positionSubscription=t.onPositionChange.subscribe(function(t){e.menu.setPositionClasses("start"===t.connectionPair.overlayX?"after":"before","top"===t.connectionPair.overlayY?"below":"above")})},t.prototype._getPosition=function(){var t="before"===this.menu.xPosition?["end","start"]:["start","end"],e=t[0],n=t[1],r="above"===this.menu.yPosition?["bottom","top"]:["top","bottom"],i=r[0],o=r[1],s=[i,o],a=s[0],l=s[1],u=[e,n],c=u[0],d=u[1],h=0;return this.triggersSubmenu()?(d=e="before"===this.menu.xPosition?"start":"end",n=c="end"===e?"start":"end",h="bottom"===i?8:-8):this.menu.overlapTrigger||(a="top"===i?"bottom":"top",l="top"===o?"bottom":"top"),this._overlay.position().connectedTo(this._element,{originX:e,originY:a},{overlayX:c,overlayY:i}).withDirection(this.dir).withOffsetY(h).withFallbackPosition({originX:n,originY:a},{overlayX:d,overlayY:i}).withFallbackPosition({originX:e,originY:l},{overlayX:c,overlayY:o},void 0,-h).withFallbackPosition({originX:n,originY:l},{overlayX:d,overlayY:o},void 0,-h)},t.prototype._cleanUpSubscriptions=function(){this._closeSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()},t.prototype._menuClosingActions=function(){var t=this,e=this._overlayRef.backdropClick(),n=this._overlayRef.detachments(),r=this._parentMenu?this._parentMenu.close:Object(ar.a)(),i=this._parentMenu?this._parentMenu._hovered().pipe(pr(function(e){return e!==t._menuItemInstance}),pr(function(){return t._menuOpen})):Object(ar.a)();return Object(ci.a)(e,r,i,n)},t.prototype._handleMousedown=function(t){(function(t){return 0===t.buttons})(t)||(this._openedByMouse=!0,this.triggersSubmenu()&&t.preventDefault())},t.prototype._handleKeydown=function(t){var e=t.keyCode;this.triggersSubmenu()&&(39===e&&"ltr"===this.dir||37===e&&"rtl"===this.dir)&&this.openMenu()},t.prototype._handleClick=function(t){this.triggersSubmenu()?(t.stopPropagation(),this.openMenu()):this.toggleMenu()},t}(),Yu=function(){},Pu=0,Eu=new r.r("mat-select-scroll-strategy");function Au(t){return function(){return t.scrollStrategies.reposition()}}var ju=function(){},Iu=function(t){function e(e,n,i,o,s,a,l,u,c,d,h,p){var f=t.call(this,s,o,l,u,d)||this;return f._viewportRuler=e,f._changeDetectorRef=n,f._ngZone=i,f._dir=a,f._parentFormField=c,f.ngControl=d,f._scrollStrategyFactory=p,f._panelOpen=!1,f._required=!1,f._scrollTop=0,f._multiple=!1,f._compareWith=function(t,e){return t===e},f._uid="mat-select-"+Pu++,f._destroy=new Nr.a,f._triggerFontSize=0,f._onChange=function(){},f._onTouched=function(){},f._optionIds="",f._transformOrigin="top",f._panelDoneAnimating=!1,f._scrollStrategy=f._scrollStrategyFactory(),f._offsetY=0,f._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}],f.focused=!1,f.controlType="mat-select",f.ariaLabel="",f.optionSelectionChanges=is(function(){return f.options?ci.a.apply(void 0,f.options.map(function(t){return t.onSelectionChange})):f._ngZone.onStable.asObservable().pipe(Object(Ti.a)(1),Object(Za.a)(function(){return f.optionSelectionChanges}))}),f.openedChange=new r.o,f.onOpen=f._openedStream,f.onClose=f._closedStream,f.selectionChange=new r.o,f.change=f.selectionChange,f.valueChange=new r.o,f.ngControl&&(f.ngControl.valueAccessor=f),f.tabIndex=parseInt(h)||0,f.id=f.id,f}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"placeholder",{get:function(){return this._placeholder},set:function(t){this._placeholder=t,this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(t){this._required=Oi(t),this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"multiple",{get:function(){return this._multiple},set:function(t){if(this._selectionModel)throw Error("Cannot change `multiple` mode of select after initialization.");this._multiple=Oi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"compareWith",{get:function(){return this._compareWith},set:function(t){if("function"!=typeof t)throw Error("`compareWith` must be a function.");this._compareWith=t,this._selectionModel&&this._initializeSelection()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(t){t!==this._value&&(this.writeValue(t),this._value=t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(t){this._id=t||this._uid,this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_openedStream",{get:function(){return this.openedChange.pipe(pr(function(t){return t}),Object($n.a)(function(){}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_closedStream",{get:function(){return this.openedChange.pipe(pr(function(t){return!t}),Object($n.a)(function(){}))},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this._selectionModel=new pl(this.multiple,void 0,!1),this.stateChanges.next()},e.prototype.ngAfterContentInit=function(){var t=this;this._initKeyManager(),this.options.changes.pipe(ws(null),gu(this._destroy)).subscribe(function(){t._resetOptions(),t._initializeSelection()})},e.prototype.ngDoCheck=function(){this.ngControl&&this.updateErrorState()},e.prototype.ngOnChanges=function(t){t.disabled&&this.stateChanges.next()},e.prototype.ngOnDestroy=function(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()},e.prototype.toggle=function(){this.panelOpen?this.close():this.open()},e.prototype.open=function(){var t=this;!this.disabled&&this.options&&this.options.length&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement)["font-size"]),this._panelOpen=!0,this._calculateOverlayPosition(),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this._ngZone.onStable.asObservable().pipe(Object(Ti.a)(1)).subscribe(function(){t._triggerFontSize&&t.overlayDir.overlayRef&&t.overlayDir.overlayRef.overlayElement&&(t.overlayDir.overlayRef.overlayElement.style.fontSize=t._triggerFontSize+"px")}))},e.prototype.close=function(){this._panelOpen&&(this._panelOpen=!1,this._changeDetectorRef.markForCheck(),this._onTouched(),this.focus())},e.prototype.writeValue=function(t){this.options&&this._setSelectionByValue(t)},e.prototype.registerOnChange=function(t){this._onChange=t},e.prototype.registerOnTouched=function(t){this._onTouched=t},e.prototype.setDisabledState=function(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()},Object.defineProperty(e.prototype,"panelOpen",{get:function(){return this._panelOpen},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"triggerValue",{get:function(){if(this.empty)return"";if(this._multiple){var t=this._selectionModel.selected.map(function(t){return t.viewValue});return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue},enumerable:!0,configurable:!0}),e.prototype._isRtl=function(){return!!this._dir&&"rtl"===this._dir.value},e.prototype._handleKeydown=function(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))},e.prototype._handleClosedKeydown=function(t){var e=t.keyCode;13===e||32===e||(this.multiple||t.altKey)&&(40===e||38===e)?(t.preventDefault(),this.open()):this.multiple||this._keyManager.onKeydown(t)},e.prototype._handleOpenKeydown=function(t){var e=t.keyCode;if(36===e||35===e)t.preventDefault(),36===e?this._keyManager.setFirstItemActive():this._keyManager.setLastItemActive();else if(13!==e&&32!==e||!this._keyManager.activeItem){var n=40===e||38===e,r=this._keyManager.activeItemIndex;this._keyManager.onKeydown(t),this._multiple&&n&&t.shiftKey&&this._keyManager.activeItem&&this._keyManager.activeItemIndex!==r&&this._keyManager.activeItem._selectViaInteraction()}else t.preventDefault(),this._keyManager.activeItem._selectViaInteraction()},e.prototype._onPanelDone=function(){this.panelOpen?(this._scrollTop=0,this.openedChange.emit(!0)):(this.openedChange.emit(!1),this._panelDoneAnimating=!1,this.overlayDir.offsetX=0,this._changeDetectorRef.markForCheck())},e.prototype._onFadeInDone=function(){this._panelDoneAnimating=this.panelOpen,this._changeDetectorRef.markForCheck()},e.prototype._onFocus=function(){this.disabled||(this.focused=!0,this.stateChanges.next())},e.prototype._onBlur=function(){this.disabled||this.panelOpen||(this.focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())},e.prototype._onAttached=function(){var t=this;this.overlayDir.positionChange.pipe(Object(Ti.a)(1)).subscribe(function(){t._changeDetectorRef.detectChanges(),t._calculateOverlayOffsetX(),t.panel.nativeElement.scrollTop=t._scrollTop})},e.prototype._getPanelTheme=function(){return this._parentFormField?"mat-"+this._parentFormField.color:""},Object.defineProperty(e.prototype,"empty",{get:function(){return!this._selectionModel||this._selectionModel.isEmpty()},enumerable:!0,configurable:!0}),e.prototype._initializeSelection=function(){var t=this;Promise.resolve().then(function(){t._setSelectionByValue(t.ngControl?t.ngControl.value:t._value)})},e.prototype._setSelectionByValue=function(t,e){var n=this;if(void 0===e&&(e=!1),this.multiple&&t){if(!Array.isArray(t))throw Error("Value must be an array in multiple-selection mode.");this._clearSelection(),t.forEach(function(t){return n._selectValue(t,e)}),this._sortValues()}else{this._clearSelection();var r=this._selectValue(t,e);r&&this._keyManager.setActiveItem(this.options.toArray().indexOf(r))}this._changeDetectorRef.markForCheck()},e.prototype._selectValue=function(t,e){var n=this;void 0===e&&(e=!1);var i=this.options.find(function(e){try{return null!=e.value&&n._compareWith(e.value,t)}catch(t){return Object(r.Y)()&&console.warn(t),!1}});return i&&(e?i._selectViaInteraction():i.select(),this._selectionModel.select(i),this.stateChanges.next()),i},e.prototype._clearSelection=function(t){this._selectionModel.clear(),this.options.forEach(function(e){e!==t&&e.deselect()}),this.stateChanges.next()},e.prototype._initKeyManager=function(){var t=this;this._keyManager=new go(this.options).withTypeAhead(),this._keyManager.tabOut.pipe(gu(this._destroy)).subscribe(function(){return t.close()}),this._keyManager.change.pipe(gu(this._destroy)).subscribe(function(){t._panelOpen&&t.panel?t._scrollActiveOptionIntoView():t._panelOpen||t.multiple||!t._keyManager.activeItem||t._keyManager.activeItem._selectViaInteraction()})},e.prototype._resetOptions=function(){var t=this;this.optionSelectionChanges.pipe(gu(Object(ci.a)(this._destroy,this.options.changes)),pr(function(t){return t.isUserInput})).subscribe(function(e){t._onSelect(e.source),t.multiple||t.close()}),this._setOptionIds()},e.prototype._onSelect=function(t){var e=this._selectionModel.isSelected(t);this.multiple?(this._selectionModel.toggle(t),this.stateChanges.next(),e?t.deselect():t.select(),this._keyManager.setActiveItem(this._getOptionIndex(t)),this._sortValues()):(this._clearSelection(null==t.value?void 0:t),null==t.value?this._propagateChanges(t.value):(this._selectionModel.select(t),this.stateChanges.next())),e!==this._selectionModel.isSelected(t)&&this._propagateChanges()},e.prototype._sortValues=function(){var t=this;this._multiple&&(this._selectionModel.clear(),this.options.forEach(function(e){e.selected&&t._selectionModel.select(e)}),this.stateChanges.next())},e.prototype._propagateChanges=function(t){var e;e=this.multiple?this.selected.map(function(t){return t.value}):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(new function(t,e){this.source=t,this.value=e}(this,e)),this._changeDetectorRef.markForCheck()},e.prototype._setOptionIds=function(){this._optionIds=this.options.map(function(t){return t.id}).join(" ")},e.prototype._highlightCorrectOption=function(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._getOptionIndex(this._selectionModel.selected[0])))},e.prototype._scrollActiveOptionIntoView=function(){var t=this._getItemHeight(),e=this._keyManager.activeItemIndex||0,n=(e+ts.countGroupLabelsBeforeOption(e,this.options,this.optionGroups))*t,r=this.panel.nativeElement.scrollTop;nr+256&&(this.panel.nativeElement.scrollTop=Math.max(0,n-256+t))},e.prototype.focus=function(){this._elementRef.nativeElement.focus()},e.prototype._getOptionIndex=function(t){return this.options.reduce(function(e,n,r){return void 0===e?t===n?r:void 0:e},void 0)},e.prototype._calculateOverlayPosition=function(){var t=this._getItemHeight(),e=this._getItemCount(),n=Math.min(e*t,256),r=e*t-n,i=this.empty?0:this._getOptionIndex(this._selectionModel.selected[0]);i+=ts.countGroupLabelsBeforeOption(i,this.options,this.optionGroups);var o=n/2;this._scrollTop=this._calculateOverlayScroll(i,o,r),this._offsetY=this._calculateOverlayOffsetY(i,o,r),this._checkOverlayWithinViewport(r)},e.prototype._calculateOverlayScroll=function(t,e,n){var r=this._getItemHeight();return Math.min(Math.max(0,r*t-e+r/2),n)},Object.defineProperty(e.prototype,"_ariaLabel",{get:function(){return this.ariaLabelledby?null:this.ariaLabel||this.placeholder},enumerable:!0,configurable:!0}),e.prototype._getAriaActiveDescendant=function(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null},e.prototype._calculateOverlayOffsetX=function(){var t,e=this.overlayDir.overlayRef.overlayElement.getBoundingClientRect(),n=this._viewportRuler.getViewportSize(),r=this._isRtl(),i=this.multiple?60:32;if(this.multiple)t=44;else{var o=this._selectionModel.selected[0]||this.options.first;t=o&&o.group?32:16}r||(t*=-1);var s=0-(e.left+t-(r?i:0)),a=e.right+t-n.width+(r?0:i);s>0?t+=s+8:a>0&&(t-=a+8),this.overlayDir.offsetX=t,this.overlayDir.overlayRef.updatePosition()},e.prototype._calculateOverlayOffsetY=function(t,e,n){var r=this._getItemHeight(),i=(r-this._triggerRect.height)/2,o=Math.floor(256/r);return-1*(0===this._scrollTop?t*r:this._scrollTop===n?(t-(this._getItemCount()-o))*r+(r-(this._getItemCount()*r-256)%r):e-r/2)-i},e.prototype._checkOverlayWithinViewport=function(t){var e=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),r=this._triggerRect.top-8,i=n.height-this._triggerRect.bottom-8,o=Math.abs(this._offsetY),s=Math.min(this._getItemCount()*e,256)-o-this._triggerRect.height;s>i?this._adjustPanelUp(s,i):o>r?this._adjustPanelDown(o,r,t):this._transformOrigin=this._getOriginBasedOnOption()},e.prototype._adjustPanelUp=function(t,e){var n=Math.round(t-e);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")},e.prototype._adjustPanelDown=function(t,e,n){var r=Math.round(t-e);if(this._scrollTop+=r,this._offsetY+=r,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")},e.prototype._getOriginBasedOnOption=function(){var t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return"50% "+(Math.abs(this._offsetY)-e+t/2)+"px 0px"},e.prototype._getItemCount=function(){return this.options.length+this.optionGroups.length},e.prototype._getItemHeight=function(){return 3*this._triggerFontSize},e.prototype.setDescribedByIds=function(t){this._ariaDescribedby=t.join(" ")},e.prototype.onContainerClick=function(){this.focus(),this.open()},Object.defineProperty(e.prototype,"shouldLabelFloat",{get:function(){return this._panelOpen||!this.empty},enumerable:!0,configurable:!0}),e}(jo(Io(Eo(function(t){return function(t){function e(){for(var e=[],n=0;n0&&i.afterOpened().subscribe(function(){return i._dismissAfter(r.duration)}),r.announcementMessage&&this._live.announce(r.announcementMessage,r.politeness),this._openedSnackBarRef=i,this._openedSnackBarRef},t.prototype.open=function(t,e,n){void 0===e&&(e="");var r=fc(n);return r.data={message:t,action:e},r.announcementMessage=t,this.openFromComponent(dc,r)},t.prototype.dismiss=function(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()},t.prototype._attachSnackBarContainer=function(t,e){var n=new wi(hc,e.viewContainerRef),r=t.attach(n);return r.instance.snackBarConfig=e,r.instance},t.prototype._attach=function(t,e){var n=this._createOverlay(e),r=this._attachSnackBarContainer(n,e),i=new lc(r,n),o=this._createInjector(e,i),s=new wi(t,void 0,o),a=r.attachComponentPortal(s);return i.instance=a.instance,this._breakpointObserver.observe("(max-width: 599px) and (orientation: portrait), (max-width: 959px) and (orientation: landscape)").pipe(gu(n.detachments().pipe(Object(Ti.a)(1)))).subscribe(function(t){t.matches?n.overlayElement.classList.add("mat-snack-bar-handset"):n.overlayElement.classList.remove("mat-snack-bar-handset")}),i},t.prototype._createOverlay=function(t){var e=new Ei;e.direction=t.direction;var n=this._overlay.position().global(),r="rtl"===t.direction,i="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!r||"end"===t.horizontalPosition&&r,o=!i&&"center"!==t.horizontalPosition;return i?n.left("0"):o?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)},t.prototype._createInjector=function(t,e){var n=t&&t.viewContainerRef&&t.viewContainerRef.injector,r=new WeakMap;return r.set(lc,e),r.set(uc,t.data),new Si(n||this._injector,r)},t}();function fc(t){return Object(o.__assign)({},new cc,t)}var _c=function(){},mc=function(t){function e(e){t.call(this),this._value=e}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new Gr.a;return this._value},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(Nr.a),gc=function(){},yc=function(t){function e(e,n){var r=t.call(this,e)||this;return r._platform=n,r}return Object(o.__extends)(e,t),e.prototype.ngAfterViewInit=function(){var t=this;Object(r.Y)()&&this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(function(){return t._checkToolbarMixedModes()}))},e.prototype._checkToolbarMixedModes=function(){this._toolbarRows.length&&[].slice.call(this._elementRef.nativeElement.childNodes).filter(function(t){return!(t.classList&&t.classList.contains("mat-toolbar-row"))}).filter(function(t){return t.nodeType!==Node.COMMENT_NODE}).some(function(t){return t.textContent.trim()})&&function(){throw Error("MatToolbar: Attempting to combine different toolbar modes. Either specify multiple `` elements explicitly or just place content inside of a `` for a single row.")}()},e}(Ao(function(t){this._elementRef=t})),vc=function(){};function bc(t){if("object"==typeof t&&(t=t._body),t.startsWith("400")||t.startsWith("403")){var e=t.split(" - ",2);return 2===e.length?e[1].charAt(0).toUpperCase()+e[1].slice(1):t}return t}function wc(t,e,n){void 0===n&&(n=3e5);var r=new cc;r.duration=n,t.open(bc(e),null,r)}var Mc=function(){function t(){this.forceEmitEvents=!1,this.action=new r.o,this.mouseOver=!1}return t.prototype.onClick=function(){this.disabled&&!this.forceEmitEvents||(this.error="",this.action.emit())},t.prototype.setLoading=function(){this.state=0},t.prototype.setSuccess=function(){var t=this;this.state=1,setTimeout(function(){return t.state=null},3e3)},t.prototype.setError=function(t){var e=this;this.error="string"==typeof t?t:bc(t._body),this.state=2,this.mouseOver&&setTimeout(function(){return e.tooltip.show()},50)},t.prototype.setDisabled=function(){this.disabled=!0},t.prototype.setEnabled=function(){this.disabled=!1},t.prototype.isLoading=function(){return 0===this.state},t.prototype.resetState=function(){return this.state=null,this.error="",this},t}(),kc=function(){function t(t,e,n,r){this.data=t,this.dialogRef=e,this.walletService=n,this.apiService=r,this.encrypt=!0,this.disableDismiss=!1}return t.prototype.ngOnInit=function(){this.initForm()},t.prototype.closePopup=function(){this.dialogRef.close()},t.prototype.createWallet=function(){var t=this;this.form.valid&&!this.createButton.isLoading()&&(this.createButton.resetState(),this.createButton.setLoading(),this.cancelButton.setDisabled(),this.disableDismiss=!0,this.walletService.create(this.form.value.label,this.form.value.seed,this.scan,this.encrypt?this.form.value.password:null).subscribe(function(){return t.dialogRef.close()},function(e){t.createButton.setError(e),t.cancelButton.disabled=!1,t.disableDismiss=!1}))},t.prototype.generateSeed=function(t){var e=this;this.apiService.generateSeed(t).subscribe(function(t){return e.form.get("seed").setValue(t)})},t.prototype.setEncrypt=function(t){this.encrypt=t.checked,this.form.updateValueAndValidity()},t.prototype.initForm=function(){this.form=new ja({},[this.validatePasswords.bind(this),this.validateSeeds.bind(this)]),this.form.addControl("label",new Aa("",[Js.required])),this.form.addControl("seed",new Aa("",[Js.required])),this.form.addControl("confirm_seed",new Aa),this.form.addControl("password",new Aa),this.form.addControl("confirm_password",new Aa),this.data.create&&this.generateSeed(128),this.scan=100},t.prototype.validateSeeds=function(){return this.data.create&&this.form&&this.form.get("seed")&&this.form.get("confirm_seed")&&this.form.get("seed").value!==this.form.get("confirm_seed").value?{NotEqual:!0}:null},t.prototype.validatePasswords=function(){if(this.encrypt&&this.form&&this.form.get("password")&&this.form.get("confirm_password")){if(!this.form.get("password").value)return{Required:!0};if(this.form.get("password").value!==this.form.get("confirm_password").value)return{NotEqual:!0}}return null},t}(),xc=function(){function t(t,e){this.walletService=t,this.dialog=e}return t.prototype.addWallet=function(t){var e=new Ds;e.width="566px",e.data={create:t},this.dialog.open(kc,e)},t.prototype.toggleWallet=function(t){t.opened=!t.opened},t}(),Lc=function(){function t(){this.switchVisible=!1,this.activeComponent=new mc(1)}return t.prototype.setActiveComponent=function(t){this.activeComponent.next(t)},t.prototype.showSwitch=function(t,e){this.switchVisible=!0,this.leftText=t,this.rightText=e},t.prototype.hideSwitch=function(){this.switchVisible=!1},t}(),Cc=function(t){return t[t.RightButton=0]="RightButton",t[t.LeftButton=1]="LeftButton",t}({}),Sc=function(){function t(){this.className="",this.onStateChange=new r.o,this.ButtonState=Cc}return t.prototype.onRightClick=function(){this.activeButton===Cc.LeftButton&&(this.activeButton=Cc.RightButton,this.onStateChange.emit(Cc.RightButton))},t.prototype.onLeftClick=function(){this.activeButton===Cc.RightButton&&(this.activeButton=Cc.LeftButton,this.onStateChange.emit(Cc.LeftButton))},t}(),Tc=function(){function t(t){var e=this;this.navbarService=t,this.showForm=!0,this.activeForms=Cc,this.subscription=t.activeComponent.subscribe(function(t){e.activeForm=t,e.formData=null})}return t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t.prototype.onFormSubmitted=function(t){this.formData=t,this.showForm=!1},t.prototype.onBack=function(t){t&&(this.formData=null),this.showForm=!0},Object.defineProperty(t.prototype,"transaction",{get:function(){var t=this.formData.transaction;return t.from=this.formData.form.wallet.label,t.to=this.formData.to,t.balance=this.formData.amount,t},enumerable:!0,configurable:!0}),t}(),Oc=n("PJh5"),Dc=function(){function t(t,e){var n=this;this.walletService=t,this.navbarService=e,this.transactions=null,this.navbarSubscription=this.navbarService.activeComponent.subscribe(function(t){n.loadTransactions(t)})}return t.prototype.ngOnInit=function(){this.navbarService.showSwitch("pending-txs.my","pending-txs.all")},t.prototype.ngOnDestroy=function(){this.transactionsSubscription.unsubscribe(),this.navbarSubscription.unsubscribe(),this.navbarService.hideSwitch()},t.prototype.loadTransactions=function(t){var e=this,n=t===Cc.LeftButton?"pendingTransactions":"allPendingTransactions";this.transactions=null,this.transactionsSubscription&&this.transactionsSubscription.unsubscribe(),"pendingTransactions"===n&&this.walletService.startDataRefreshSubscription(),this.transactionsSubscription=this.walletService[n]().subscribe(function(t){e.transactions=e.mapTransactions(t)})},t.prototype.mapTransactions=function(t){return t.map(function(t){return t.transaction.timestamp=Oc(t.received).unix(),t.transaction}).map(function(t){return t.amount=t.outputs.map(function(t){return t.coins>=0?t.coins:0}).reduce(function(t,e){return t+parseFloat(e)},0),t})},t}();function Yc(){return bs()(this)}var Pc=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new Ec(t,this.predicate,this.thisArg,this.source))},t}(),Ec=function(t){function e(e,n,r,i){t.call(this,e),this.predicate=n,this.thisArg=r,this.source=i,this.index=0,this.thisArg=r||this}return Object(o.__extends)(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(t){return void this.destination.error(t)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(lr.a);function Ac(t,e){return function(t,e){return function(n){return n.lift(new Pc(t,e,n))}}(t,e)(this)}var jc=function(){function t(t,e,n,r){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=r}return t.prototype.call=function(t,e){return e.subscribe(new Ic(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),Ic=function(t){function e(e,n,r,i,o){t.call(this,e),this.predicate=n,this.resultSelector=r,this.defaultValue=i,this.source=o,this.hasValue=!1,this.index=0,"undefined"!=typeof i&&(this.lastValue=i,this.hasValue=!0)}return Object(o.__extends)(e,t),e.prototype._next=function(t){var e=this.index++;if(this.predicate)this._tryPredicate(t,e);else{if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(t){return void this.destination.error(t)}if(n){if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(t){return void this.destination.error(t)}this.lastValue=n,this.hasValue=!0},e.prototype._complete=function(){var t=this.destination;this.hasValue?(t.next(this.lastValue),t.complete()):t.error(new gr)},e}(lr.a);function Rc(t,e,n){return function(t,e,n){return function(r){return r.lift(new jc(t,e,n,r))}}(t,e,n)(this)}function Hc(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),Object(vs.a)(t)(this)}var Fc=n("/4Bh"),Nc=function(t,e){this.id=t,this.url=e},Vc=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"NavigationStart(id: "+this.id+", url: '"+this.url+"')"},e}(Nc),Bc=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.urlAfterRedirects=r,i}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"NavigationEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"')"},e}(Nc),zc=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.reason=r,i}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"NavigationCancel(id: "+this.id+", url: '"+this.url+"')"},e}(Nc),Wc=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.error=r,i}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"NavigationError(id: "+this.id+", url: '"+this.url+"', error: "+this.error+")"},e}(Nc),Uc=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"RoutesRecognized(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Nc),Gc=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"GuardsCheckStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Nc),Jc=function(t){function e(e,n,r,i,o){var s=t.call(this,e,n)||this;return s.urlAfterRedirects=r,s.state=i,s.shouldActivate=o,s}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"GuardsCheckEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+", shouldActivate: "+this.shouldActivate+")"},e}(Nc),qc=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"ResolveStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Nc),Qc=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"ResolveEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Nc),Xc=function(){function t(t){this.route=t}return t.prototype.toString=function(){return"RouteConfigLoadStart(path: "+this.route.path+")"},t}(),Kc=function(){function t(t){this.route=t}return t.prototype.toString=function(){return"RouteConfigLoadEnd(path: "+this.route.path+")"},t}(),Zc=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ChildActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),$c=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ChildActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),td=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),ed=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),nd="primary",rd=function(){function t(t){this.params=t||{}}return t.prototype.has=function(t){return this.params.hasOwnProperty(t)},t.prototype.get=function(t){if(this.has(t)){var e=this.params[t];return Array.isArray(e)?e[0]:e}return null},t.prototype.getAll=function(t){if(this.has(t)){var e=this.params[t];return Array.isArray(e)?e:[e]}return[]},Object.defineProperty(t.prototype,"keys",{get:function(){return Object.keys(this.params)},enumerable:!0,configurable:!0}),t}();function id(t){return new rd(t)}function od(t,e,n){var r=n.path.split("/");if(r.length>t.length)return null;if("full"===n.pathMatch&&(e.hasChildren()||r.length0?t[t.length-1]:null}function pd(t,e){for(var n in t)t.hasOwnProperty(n)&&e(t[n],n)}function fd(t){var e=Hc.call(t);return Ac.call(e,function(t){return!0===t})}function _d(t){return Object(r._14)(t)?t:Object(r._15)(t)?Vs(Promise.resolve(t)):Object(ar.a)(t)}function md(t,e,n){return n?function(t,e){return cd(t,e)}(t.queryParams,e.queryParams)&&function t(e,n){if(!bd(e.segments,n.segments))return!1;if(e.numberOfChildren!==n.numberOfChildren)return!1;for(var r in n.children){if(!e.children[r])return!1;if(!t(e.children[r],n.children[r]))return!1}return!0}(t.root,e.root):function(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(function(n){return e[n]===t[n]})}(t.queryParams,e.queryParams)&&function t(e,n){return function e(n,r,i){if(n.segments.length>i.length)return!!bd(s=n.segments.slice(0,i.length),i)&&!r.hasChildren();if(n.segments.length===i.length){if(!bd(n.segments,i))return!1;for(var o in r.children){if(!n.children[o])return!1;if(!t(n.children[o],r.children[o]))return!1}return!0}var s=i.slice(0,n.segments.length),a=i.slice(n.segments.length);return!!bd(n.segments,s)&&!!n.children[nd]&&e(n.children[nd],r,a)}(e,n,n.segments)}(t.root,e.root)}var gd=function(){function t(t,e,n){this.root=t,this.queryParams=e,this.fragment=n}return Object.defineProperty(t.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=id(this.queryParams)),this._queryParamMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return xd.serialize(this)},t}(),yd=function(){function t(t,e){var n=this;this.segments=t,this.children=e,this.parent=null,pd(e,function(t,e){return t.parent=n})}return t.prototype.hasChildren=function(){return this.numberOfChildren>0},Object.defineProperty(t.prototype,"numberOfChildren",{get:function(){return Object.keys(this.children).length},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return Ld(this)},t}(),vd=function(){function t(t,e){this.path=t,this.parameters=e}return Object.defineProperty(t.prototype,"parameterMap",{get:function(){return this._parameterMap||(this._parameterMap=id(this.parameters)),this._parameterMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return Td(this)},t}();function bd(t,e){return t.length===e.length&&t.every(function(t,n){return t.path===e[n].path})}function wd(t,e){var n=[];return pd(t.children,function(t,r){r===nd&&(n=n.concat(e(t,r)))}),pd(t.children,function(t,r){r!==nd&&(n=n.concat(e(t,r)))}),n}var Md=function(){},kd=function(){function t(){}return t.prototype.parse=function(t){var e=new Ed(t);return new gd(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())},t.prototype.serialize=function(t){var e,n;return"/"+function t(e,n){if(!e.hasChildren())return Ld(e);if(n){var r=e.children[nd]?t(e.children[nd],!1):"",i=[];return pd(e.children,function(e,n){n!==nd&&i.push(n+":"+t(e,!1))}),i.length>0?r+"("+i.join("//")+")":r}var o=wd(e,function(n,r){return r===nd?[t(e.children[nd],!1)]:[r+":"+t(n,!1)]});return Ld(e)+"/("+o.join("//")+")"}(t.root,!0)+(e=t.queryParams,(n=Object.keys(e).map(function(t){var n=e[t];return Array.isArray(n)?n.map(function(e){return Cd(t)+"="+Cd(e)}).join("&"):Cd(t)+"="+Cd(n)})).length?"?"+n.join("&"):"")+("string"==typeof t.fragment?"#"+encodeURI(t.fragment):"")},t}(),xd=new kd;function Ld(t){return t.segments.map(function(t){return Td(t)}).join("/")}function Cd(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";")}function Sd(t){return decodeURIComponent(t)}function Td(t){return""+Cd(t.path)+(e=t.parameters,Object.keys(e).map(function(t){return";"+Cd(t)+"="+Cd(e[t])}).join(""));var e}var Od=/^[^\/()?;=&#]+/;function Dd(t){var e=t.match(Od);return e?e[0]:""}var Yd=/^[^=?&#]+/,Pd=/^[^?&#]+/,Ed=function(){function t(t){this.url=t,this.remaining=t}return t.prototype.parseRootSegment=function(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new yd([],{}):new yd([],this.parseChildren())},t.prototype.parseQueryParams=function(){var t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t},t.prototype.parseFragment=function(){return this.consumeOptional("#")?decodeURI(this.remaining):null},t.prototype.parseChildren=function(){if(""===this.remaining)return{};this.consumeOptional("/");var t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());var e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));var n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(n[nd]=new yd(t,e)),n},t.prototype.parseSegment=function(){var t=Dd(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Error("Empty path url segment cannot have parameters: '"+this.remaining+"'.");return this.capture(t),new vd(Sd(t),this.parseMatrixParams())},t.prototype.parseMatrixParams=function(){for(var t={};this.consumeOptional(";");)this.parseParam(t);return t},t.prototype.parseParam=function(t){var e=Dd(this.remaining);if(e){this.capture(e);var n="";if(this.consumeOptional("=")){var r=Dd(this.remaining);r&&this.capture(n=r)}t[Sd(e)]=Sd(n)}},t.prototype.parseQueryParam=function(t){var e,n=(e=this.remaining.match(Yd))?e[0]:"";if(n){this.capture(n);var r="";if(this.consumeOptional("=")){var i=function(t){var e=t.match(Pd);return e?e[0]:""}(this.remaining);i&&this.capture(r=i)}var o=Sd(n),s=Sd(r);if(t.hasOwnProperty(o)){var a=t[o];Array.isArray(a)||(t[o]=a=[a]),a.push(s)}else t[o]=s}},t.prototype.parseParens=function(t){var e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){var n=Dd(this.remaining),r=this.remaining[n.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error("Cannot parse url '"+this.url+"'");var i=void 0;n.indexOf(":")>-1?(i=n.substr(0,n.indexOf(":")),this.capture(i),this.capture(":")):t&&(i=nd);var o=this.parseChildren();e[i]=1===Object.keys(o).length?o[nd]:new yd([],o),this.consumeOptional("//")}return e},t.prototype.peekStartsWith=function(t){return this.remaining.startsWith(t)},t.prototype.consumeOptional=function(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)},t.prototype.capture=function(t){if(!this.consumeOptional(t))throw new Error('Expected "'+t+'".')},t}(),Ad=function(t){this.segmentGroup=t||null},jd=function(t){this.urlTree=t};function Id(t){return new s.a(function(e){return e.error(new Ad(t))})}function Rd(t){return new s.a(function(e){return e.error(new jd(t))})}function Hd(t){return new s.a(function(e){return e.error(new Error("Only absolute redirects can have named outlets. redirectTo: '"+t+"'"))})}var Fd=function(){function t(t,e,n,i,o){this.configLoader=e,this.urlSerializer=n,this.urlTree=i,this.config=o,this.allowRedirects=!0,this.ngModule=t.get(r.z)}return t.prototype.apply=function(){var t=this,e=this.expandSegmentGroup(this.ngModule,this.config,this.urlTree.root,nd),n=tr.call(e,function(e){return t.createUrlTree(e,t.urlTree.queryParams,t.urlTree.fragment)});return Zn.call(n,function(e){if(e instanceof jd)return t.allowRedirects=!1,t.match(e.urlTree);if(e instanceof Ad)throw t.noMatchError(e);throw e})},t.prototype.match=function(t){var e=this,n=this.expandSegmentGroup(this.ngModule,this.config,t.root,nd),r=tr.call(n,function(n){return e.createUrlTree(n,t.queryParams,t.fragment)});return Zn.call(r,function(t){if(t instanceof Ad)throw e.noMatchError(t);throw t})},t.prototype.noMatchError=function(t){return new Error("Cannot match any routes. URL Segment: '"+t.segmentGroup+"'")},t.prototype.createUrlTree=function(t,e,n){var r,i=t.segments.length>0?new yd([],((r={})[nd]=t,r)):t;return new gd(i,e,n)},t.prototype.expandSegmentGroup=function(t,e,n,r){return 0===n.segments.length&&n.hasChildren()?tr.call(this.expandChildren(t,e,n),function(t){return new yd([],t)}):this.expandSegment(t,n,e,n.segments,r,!0)},t.prototype.expandChildren=function(t,e,n){var r=this;return function(n,i){if(0===Object.keys(n).length)return Object(ar.a)({});var o=[],s=[],a={};pd(n,function(n,i){var l=tr.call(r.expandSegmentGroup(t,e,n,i),function(t){return a[i]=t});i===nd?o.push(l):s.push(l)});var l=Yc.call(ar.a.apply(void 0,o.concat(s))),u=Rc.call(l);return tr.call(u,function(){return a})}(n.children)},t.prototype.expandSegment=function(t,e,n,r,i,o){var s=this,a=ar.a.apply(void 0,n),l=tr.call(a,function(a){var l=s.expandSegmentAgainstRoute(t,e,n,a,r,i,o);return Zn.call(l,function(t){if(t instanceof Ad)return Object(ar.a)(null);throw t})}),u=Yc.call(l),c=br.call(u,function(t){return!!t});return Zn.call(c,function(t,n){if(t instanceof gr||"EmptyError"===t.name){if(s.noLeftoversInUrl(e,r,i))return Object(ar.a)(new yd([],{}));throw new Ad(e)}throw t})},t.prototype.noLeftoversInUrl=function(t,e,n){return 0===e.length&&!t.children[n]},t.prototype.expandSegmentAgainstRoute=function(t,e,n,r,i,o,s){return zd(r)!==o?Id(e):void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,e,r,i):s&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o):Id(e)},t.prototype.expandSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,r,o):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o)},t.prototype.expandWildCardWithParamsAgainstRouteUsingRedirect=function(t,e,n,r){var i=this,o=this.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?Rd(o):Mr.call(this.lineralizeSegments(n,o),function(n){var o=new yd(n,{});return i.expandSegment(t,o,e,n,r,!1)})},t.prototype.expandRegularSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){var s=this,a=Nd(e,r,i),l=a.consumedSegments,u=a.lastChild,c=a.positionalParamSegments;if(!a.matched)return Id(e);var d=this.applyRedirectCommands(l,r.redirectTo,c);return r.redirectTo.startsWith("/")?Rd(d):Mr.call(this.lineralizeSegments(r,d),function(r){return s.expandSegment(t,e,n,r.concat(i.slice(u)),o,!1)})},t.prototype.matchSegmentAgainstRoute=function(t,e,n,r){var i=this;if("**"===n.path)return n.loadChildren?tr.call(this.configLoader.load(t.injector,n),function(t){return n._loadedConfig=t,new yd(r,{})}):Object(ar.a)(new yd(r,{}));var s=Nd(e,n,r),a=s.consumedSegments,l=s.lastChild;if(!s.matched)return Id(e);var u=r.slice(l),c=this.getChildConfig(t,n);return Mr.call(c,function(t){var n=t.module,r=t.routes,s=function(t,e,n,r){return n.length>0&&function(t,e,n){return r.some(function(n){return Bd(t,e,n)&&zd(n)!==nd})}(t,n)?{segmentGroup:Vd(new yd(e,function(t,e){var n={};n[nd]=e;for(var r=0,i=t;r1||!r.children[nd])return Hd(t.redirectTo);r=r.children[nd]}},t.prototype.applyRedirectCommands=function(t,e,n){return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),t,n)},t.prototype.applyRedirectCreatreUrlTree=function(t,e,n,r){var i=this.createSegmentGroup(t,e.root,n,r);return new gd(i,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)},t.prototype.createQueryParams=function(t,e){var n={};return pd(t,function(t,r){if("string"==typeof t&&t.startsWith(":")){var i=t.substring(1);n[r]=e[i]}else n[r]=t}),n},t.prototype.createSegmentGroup=function(t,e,n,r){var i=this,o=this.createSegments(t,e.segments,n,r),s={};return pd(e.children,function(e,o){s[o]=i.createSegmentGroup(t,e,n,r)}),new yd(o,s)},t.prototype.createSegments=function(t,e,n,r){var i=this;return e.map(function(e){return e.path.startsWith(":")?i.findPosParam(t,e,r):i.findOrReturn(e,n)})},t.prototype.findPosParam=function(t,e,n){var r=n[e.path.substring(1)];if(!r)throw new Error("Cannot redirect to '"+t+"'. Cannot find '"+e.path+"'.");return r},t.prototype.findOrReturn=function(t,e){for(var n=0,r=0,i=e;r0)?{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}:{matched:!0,consumedSegments:[],lastChild:0,positionalParamSegments:{}};var r=(e.matcher||od)(n,t,e);return r?{matched:!0,consumedSegments:r.consumed,lastChild:r.consumed.length,positionalParamSegments:r.posParams}:{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}}function Vd(t){if(1===t.numberOfChildren&&t.children[nd]){var e=t.children[nd];return new yd(t.segments.concat(e.segments),e.children)}return t}function Bd(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&""===n.path&&void 0!==n.redirectTo}function zd(t){return t.outlet||nd}var Wd=function(){function t(t){this._root=t}return Object.defineProperty(t.prototype,"root",{get:function(){return this._root.value},enumerable:!0,configurable:!0}),t.prototype.parent=function(t){var e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null},t.prototype.children=function(t){var e=Ud(t,this._root);return e?e.children.map(function(t){return t.value}):[]},t.prototype.firstChild=function(t){var e=Ud(t,this._root);return e&&e.children.length>0?e.children[0].value:null},t.prototype.siblings=function(t){var e=Gd(t,this._root);return e.length<2?[]:e[e.length-2].children.map(function(t){return t.value}).filter(function(e){return e!==t})},t.prototype.pathFromRoot=function(t){return Gd(t,this._root).map(function(t){return t.value})},t}();function Ud(t,e){if(t===e.value)return e;for(var n=0,r=e.children;n=1;){var i=n[r],s=n[r-1];if(i.routeConfig&&""===i.routeConfig.path)r--;else{if(s.component)break;r--}}return function(t){return t.reduce(function(t,e){return{params:Object(o.__assign)({},t.params,e.params),data:Object(o.__assign)({},t.data,e.data),resolve:Object(o.__assign)({},t.resolve,e._resolvedData)}},{params:{},data:{},resolve:{}})}(n.slice(r))}var $d=function(){function t(t,e,n,r,i,o,s,a,l,u,c){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=o,this.component=s,this.routeConfig=a,this._urlSegment=l,this._lastPathIndex=u,this._resolve=c}return Object.defineProperty(t.prototype,"root",{get:function(){return this._routerState.root},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._routerState.parent(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this._routerState.firstChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this._routerState.children(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pathFromRoot",{get:function(){return this._routerState.pathFromRoot(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"paramMap",{get:function(){return this._paramMap||(this._paramMap=id(this.params)),this._paramMap},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=id(this.queryParams)),this._queryParamMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return"Route(url:'"+this.url.map(function(t){return t.toString()}).join("/")+"', path:'"+(this.routeConfig?this.routeConfig.path:"")+"')"},t}(),th=function(t){function e(e,n){var r=t.call(this,n)||this;return r.url=e,eh(r,n),r}return Object(o.__extends)(e,t),e.prototype.toString=function(){return nh(this._root)},e}(Wd);function eh(t,e){e.value._routerState=t,e.children.forEach(function(e){return eh(t,e)})}function nh(t){var e=t.children.length>0?" { "+t.children.map(nh).join(", ")+" } ":"";return""+t.value+e}function rh(t){if(t.snapshot){var e=t.snapshot,n=t._futureSnapshot;t.snapshot=n,cd(e.queryParams,n.queryParams)||t.queryParams.next(n.queryParams),e.fragment!==n.fragment&&t.fragment.next(n.fragment),cd(e.params,n.params)||t.params.next(n.params),function(t,e){if(t.length!==e.length)return!1;for(var n=0;n0&&oh(n[0]))throw new Error("Root segment cannot have matrix parameters");var r=n.find(function(t){return"object"==typeof t&&null!=t&&t.outlets});if(r&&r!==hd(n))throw new Error("{outlets:{}} has to be the last command")}return t.prototype.toRoot=function(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]},t}(),lh=function(t,e,n){this.segmentGroup=t,this.processChildren=e,this.index=n};function uh(t){return"object"==typeof t&&null!=t&&t.outlets?t.outlets[nd]:""+t}function ch(t,e,n){if(t||(t=new yd([],{})),0===t.segments.length&&t.hasChildren())return dh(t,e,n);var r=function(t,e,n){for(var r=0,i=e,o={match:!1,pathIndex:0,commandIndex:0};i=n.length)return o;var s=t.segments[i],a=uh(n[r]),l=r0&&void 0===a)break;if(a&&l&&"object"==typeof l&&void 0===l.outlets){if(!_h(a,l,s))return o;r+=2}else{if(!_h(a,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}(t,e,n),i=n.slice(r.commandIndex);if(r.match&&r.pathIndex=2?Object(Fc.a)(t,e)(this):Object(Fc.a)(t)(this)}).call(r,function(t,e){return t})},t.prototype.isDeactivating=function(){return 0!==this.canDeactivateChecks.length},t.prototype.isActivating=function(){return 0!==this.canActivateChecks.length},t.prototype.setupChildRouteGuards=function(t,e,n,r){var i=this,o=qd(e);t.children.forEach(function(t){i.setupRouteGuards(t,o[t.value.outlet],n,r.concat([t.value])),delete o[t.value.outlet]}),pd(o,function(t,e){return i.deactivateRouteAndItsChildren(t,n.getContext(e))})},t.prototype.setupRouteGuards=function(t,e,n,r){var i=t.value,o=e?e.value:null,s=n?n.getContext(t.value.outlet):null;if(o&&i.routeConfig===o.routeConfig){var a=this.shouldRunGuardsAndResolvers(o,i,i.routeConfig.runGuardsAndResolvers);a?this.canActivateChecks.push(new mh(r)):(i.data=o.data,i._resolvedData=o._resolvedData),this.setupChildRouteGuards(t,e,i.component?s?s.children:null:n,r),a&&this.canDeactivateChecks.push(new gh(s.outlet.component,o))}else o&&this.deactivateRouteAndItsChildren(e,s),this.canActivateChecks.push(new mh(r)),this.setupChildRouteGuards(t,null,i.component?s?s.children:null:n,r)},t.prototype.shouldRunGuardsAndResolvers=function(t,e,n){switch(n){case"always":return!0;case"paramsOrQueryParamsChange":return!ih(t,e)||!cd(t.queryParams,e.queryParams);case"paramsChange":default:return!ih(t,e)}},t.prototype.deactivateRouteAndItsChildren=function(t,e){var n=this,r=qd(t),i=t.value;pd(r,function(t,r){n.deactivateRouteAndItsChildren(t,i.component?e?e.children.getContext(r):null:e)}),this.canDeactivateChecks.push(new gh(i.component&&e&&e.outlet&&e.outlet.isActivated?e.outlet.component:null,i))},t.prototype.runCanDeactivateChecks=function(){var t=this,e=ys(this.canDeactivateChecks),n=Mr.call(e,function(e){return t.runCanDeactivate(e.component,e.route)});return Ac.call(n,function(t){return!0===t})},t.prototype.runCanActivateChecks=function(){var t=this,e=ys(this.canActivateChecks),n=Ol.call(e,function(e){return fd(ys([t.fireChildActivationStart(e.route.parent),t.fireActivationStart(e.route),t.runCanActivateChild(e.path),t.runCanActivate(e.route)]))});return Ac.call(n,function(t){return!0===t})},t.prototype.fireActivationStart=function(t){return null!==t&&this.forwardEvent&&this.forwardEvent(new td(t)),Object(ar.a)(!0)},t.prototype.fireChildActivationStart=function(t){return null!==t&&this.forwardEvent&&this.forwardEvent(new Zc(t)),Object(ar.a)(!0)},t.prototype.runCanActivate=function(t){var e=this,n=t.routeConfig?t.routeConfig.canActivate:null;return n&&0!==n.length?fd(tr.call(ys(n),function(n){var r,i=e.getToken(n,t);return r=_d(i.canActivate?i.canActivate(t,e.future):i(t,e.future)),br.call(r)})):Object(ar.a)(!0)},t.prototype.runCanActivateChild=function(t){var e=this,n=t[t.length-1],r=t.slice(0,t.length-1).reverse().map(function(t){return e.extractCanActivateChild(t)}).filter(function(t){return null!==t});return fd(tr.call(ys(r),function(t){return fd(tr.call(ys(t.guards),function(r){var i,o=e.getToken(r,t.node);return i=_d(o.canActivateChild?o.canActivateChild(n,e.future):o(n,e.future)),br.call(i)}))}))},t.prototype.extractCanActivateChild=function(t){var e=t.routeConfig?t.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null},t.prototype.runCanDeactivate=function(t,e){var n=this,r=e&&e.routeConfig?e.routeConfig.canDeactivate:null;if(!r||0===r.length)return Object(ar.a)(!0);var i=Mr.call(ys(r),function(r){var i,o=n.getToken(r,e);return i=_d(o.canDeactivate?o.canDeactivate(t,e,n.curr,n.future):o(t,e,n.curr,n.future)),br.call(i)});return Ac.call(i,function(t){return!0===t})},t.prototype.runResolve=function(t,e){return tr.call(this.resolveNode(t._resolve,t),function(n){return t._resolvedData=n,t.data=Object(o.__assign)({},t.data,Zd(t,e).resolve),null})},t.prototype.resolveNode=function(t,e){var n=this,r=Object.keys(t);if(0===r.length)return Object(ar.a)({});if(1===r.length){var i=r[0];return tr.call(this.getResolver(t[i],e),function(t){return(e={})[i]=t,e;var e})}var o={},s=Mr.call(ys(r),function(r){return tr.call(n.getResolver(t[r],e),function(t){return o[r]=t,t})});return tr.call(Rc.call(s),function(){return o})},t.prototype.getResolver=function(t,e){var n=this.getToken(t,e);return _d(n.resolve?n.resolve(e,this.future):n(e,this.future))},t.prototype.getToken=function(t,e){var n=function(t){if(!t)return null;for(var e=t.parent;e;e=e.parent){var n=e.routeConfig;if(n&&n._loadedConfig)return n._loadedConfig}return null}(e);return(n?n.module.injector:this.moduleInjector).get(t)},t}(),vh=function(){},bh=function(){function t(t,e,n,r,i){this.rootComponentType=t,this.config=e,this.urlTree=n,this.url=r,this.paramsInheritanceStrategy=i}return t.prototype.recognize=function(){try{var t=kh(this.urlTree.root,[],[],this.config).segmentGroup,e=this.processSegmentGroup(this.config,t,nd),n=new $d([],Object.freeze({}),Object.freeze(this.urlTree.queryParams),this.urlTree.fragment,{},nd,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new Jd(n,e),i=new th(this.url,r);return this.inheritParamsAndData(i._root),Object(ar.a)(i)}catch(t){return new s.a(function(e){return e.error(t)})}},t.prototype.inheritParamsAndData=function(t){var e=this,n=t.value,r=Zd(n,this.paramsInheritanceStrategy);n.params=Object.freeze(r.params),n.data=Object.freeze(r.data),t.children.forEach(function(t){return e.inheritParamsAndData(t)})},t.prototype.processSegmentGroup=function(t,e,n){return 0===e.segments.length&&e.hasChildren()?this.processChildren(t,e):this.processSegment(t,e,e.segments,n)},t.prototype.processChildren=function(t,e){var n,r=this,i=wd(e,function(e,n){return r.processSegmentGroup(t,e,n)});return n={},i.forEach(function(t){var e=n[t.value.outlet];if(e){var r=e.url.map(function(t){return t.toString()}).join("/"),i=t.value.url.map(function(t){return t.toString()}).join("/");throw new Error("Two segments cannot have the same outlet name: '"+r+"' and '"+i+"'.")}n[t.value.outlet]=t.value}),i.sort(function(t,e){return t.value.outlet===nd?-1:e.value.outlet===nd?1:t.value.outlet.localeCompare(e.value.outlet)}),i},t.prototype.processSegment=function(t,e,n,r){for(var i=0,o=t;i0?hd(n).parameters:{};i=new $d(n,l,Object.freeze(this.urlTree.queryParams),this.urlTree.fragment,Ch(t),r,t.component,t,wh(e),Mh(e)+n.length,Sh(t))}else{var u=function(t,e,n){if(""===e.path){if("full"===e.pathMatch&&(t.hasChildren()||n.length>0))throw new vh;return{consumedSegments:[],lastChild:0,parameters:{}}}var r=(e.matcher||od)(n,t,e);if(!r)throw new vh;var i={};pd(r.posParams,function(t,e){i[e]=t.path});var s=r.consumed.length>0?Object(o.__assign)({},i,r.consumed[r.consumed.length-1].parameters):i;return{consumedSegments:r.consumed,lastChild:r.consumed.length,parameters:s}}(e,t,n);s=u.consumedSegments,a=n.slice(u.lastChild),i=new $d(s,u.parameters,Object.freeze(this.urlTree.queryParams),this.urlTree.fragment,Ch(t),r,t.component,t,wh(e),Mh(e)+s.length,Sh(t))}var c=function(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}(t),d=kh(e,s,a,c),h=d.segmentGroup,p=d.slicedSegments;if(0===p.length&&h.hasChildren()){var f=this.processChildren(c,h);return[new Jd(i,f)]}if(0===c.length&&0===p.length)return[new Jd(i,[])];var _=this.processSegment(c,h,p,nd);return[new Jd(i,_)]},t}();function wh(t){for(var e=t;e._sourceSegment;)e=e._sourceSegment;return e}function Mh(t){for(var e=t,n=e._segmentIndexShift?e._segmentIndexShift:0;e._sourceSegment;)n+=(e=e._sourceSegment)._segmentIndexShift?e._segmentIndexShift:0;return n-1}function kh(t,e,n,r){if(n.length>0&&function(t,e,n){return r.some(function(n){return xh(t,e,n)&&Lh(n)!==nd})}(t,n)){var i=new yd(e,function(t,e,n,r){var i={};i[nd]=r,r._sourceSegment=t,r._segmentIndexShift=e.length;for(var o=0,s=n;o0)||"full"!==n.pathMatch)&&""===n.path&&void 0===n.redirectTo}function Lh(t){return t.outlet||nd}function Ch(t){return t.data||{}}function Sh(t){return t.resolve||{}}var Th=function(){},Oh=function(){function t(){}return t.prototype.shouldDetach=function(t){return!1},t.prototype.store=function(t,e){},t.prototype.shouldAttach=function(t){return!1},t.prototype.retrieve=function(t){return null},t.prototype.shouldReuseRoute=function(t,e){return t.routeConfig===e.routeConfig},t}(),Dh=new r.r("ROUTES"),Yh=function(){function t(t,e,n,r){this.loader=t,this.compiler=e,this.onLoadStartListener=n,this.onLoadEndListener=r}return t.prototype.load=function(t,e){var n=this;this.onLoadStartListener&&this.onLoadStartListener(e);var r=this.loadModuleFactory(e.loadChildren);return tr.call(r,function(r){n.onLoadEndListener&&n.onLoadEndListener(e);var i=r.create(t);return new sd(dd(i.injector.get(Dh)),i)})},t.prototype.loadModuleFactory=function(t){var e=this;return"string"==typeof t?Vs(this.loader.load(t)):Mr.call(_d(t()),function(t){return t instanceof r.x?Object(ar.a)(t):Vs(e.compiler.compileModuleAsync(t))})},t}(),Ph=function(){},Eh=function(){function t(){}return t.prototype.shouldProcessUrl=function(t){return!0},t.prototype.extract=function(t){return t},t.prototype.merge=function(t,e){return t},t}();function Ah(t){throw t}function jh(t){return Object(ar.a)(null)}var Ih=function(){function t(t,e,n,i,o,s,a,l){var u=this;this.rootComponentType=t,this.urlSerializer=e,this.rootContexts=n,this.location=i,this.config=l,this.navigations=new mc(null),this.navigationId=0,this.events=new Nr.a,this.errorHandler=Ah,this.navigated=!1,this.hooks={beforePreactivation:jh,afterPreactivation:jh},this.urlHandlingStrategy=new Eh,this.routeReuseStrategy=new Oh,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.ngModule=o.get(r.z),this.resetConfig(l),this.currentUrlTree=new gd(new yd([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.configLoader=new Yh(s,a,function(t){return u.triggerEvent(new Xc(t))},function(t){return u.triggerEvent(new Kc(t))}),this.routerState=Xd(this.currentUrlTree,this.rootComponentType),this.processNavigations()}return t.prototype.resetRootComponentType=function(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType},t.prototype.initialNavigation=function(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})},t.prototype.setUpLocationChangeListener=function(){var t=this;this.locationSubscription||(this.locationSubscription=this.location.subscribe(Zone.current.wrap(function(e){var n=t.urlSerializer.parse(e.url),r="popstate"===e.type?"popstate":"hashchange";setTimeout(function(){t.scheduleNavigation(n,r,{replaceUrl:!0})},0)})))},Object.defineProperty(t.prototype,"url",{get:function(){return this.serializeUrl(this.currentUrlTree)},enumerable:!0,configurable:!0}),t.prototype.triggerEvent=function(t){this.events.next(t)},t.prototype.resetConfig=function(t){ad(t),this.config=t,this.navigated=!1},t.prototype.ngOnDestroy=function(){this.dispose()},t.prototype.dispose=function(){this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=null)},t.prototype.createUrlTree=function(t,e){void 0===e&&(e={});var n=e.relativeTo,i=e.queryParams,s=e.fragment,a=e.preserveQueryParams,l=e.queryParamsHandling,u=e.preserveFragment;Object(r.Y)()&&a&&console&&console.warn&&console.warn("preserveQueryParams is deprecated, use queryParamsHandling instead.");var c=n||this.routerState.root,d=u?this.currentUrlTree.fragment:s,h=null;if(l)switch(l){case"merge":h=Object(o.__assign)({},this.currentUrlTree.queryParams,i);break;case"preserve":h=this.currentUrlTree.queryParams;break;default:h=i||null}else h=a?this.currentUrlTree.queryParams:i||null;return null!==h&&(h=this.removeEmptyProps(h)),function(t,e,n,r,i){if(0===n.length)return sh(e.root,e.root,e,r,i);var o=function(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new ah(!0,0,t);var e=0,n=!1,r=t.reduce(function(t,r,i){if("object"==typeof r&&null!=r){if(r.outlets){var o={};return pd(r.outlets,function(t,e){o[e]="string"==typeof t?t.split("/"):t}),t.concat([{outlets:o}])}if(r.segmentPath)return t.concat([r.segmentPath])}return"string"!=typeof r?t.concat([r]):0===i?(r.split("/").forEach(function(r,i){0==i&&"."===r||(0==i&&""===r?n=!0:".."===r?e++:""!=r&&t.push(r))}),t):t.concat([r])},[]);return new ah(n,e,r)}(n);if(o.toRoot())return sh(e.root,new yd([],{}),e,r,i);var s=function(t,n,r){if(t.isAbsolute)return new lh(e.root,!0,0);if(-1===r.snapshot._lastPathIndex)return new lh(r.snapshot._urlSegment,!0,0);var i=oh(t.commands[0])?0:1;return function(e,n,o){for(var s=r.snapshot._urlSegment,a=r.snapshot._lastPathIndex+i,l=t.numberOfDoubleDots;l>a;){if(l-=a,!(s=s.parent))throw new Error("Invalid number of '../'");a=s.segments.length}return new lh(s,!1,a-l)}()}(o,0,t),a=s.processChildren?dh(s.segmentGroup,s.index,o.commands):ch(s.segmentGroup,s.index,o.commands);return sh(s.segmentGroup,a,e,r,i)}(c,this.currentUrlTree,t,h,d)},t.prototype.navigateByUrl=function(t,e){void 0===e&&(e={skipLocationChange:!1});var n=t instanceof gd?t:this.parseUrl(t),r=this.urlHandlingStrategy.merge(n,this.rawUrlTree);return this.scheduleNavigation(r,"imperative",e)},t.prototype.navigate=function(t,e){return void 0===e&&(e={skipLocationChange:!1}),function(t){for(var e=0;e0)return!n||t.address===n}),t}).filter(function(t){return t.addresses.length>0})})},t.prototype.showQrCode=function(t,e){t.stopPropagation();var n=new Ds;n.data={address:e},this.dialog.open(dp,n)},t}(),pp=function(){function t(t,e,n){var r=this;this.apiService=t,this.walletService=e,this.ngZone=n,this.progressSubject=new mc(null),this.refreshedBalance=!1,this.ngZone.runOutsideAngular(function(){s.a.timer(0,2e3).flatMap(function(){return r.getBlockchainProgress()}).takeWhile(function(t){return!t.current||t.current!==t.highest}).subscribe(function(t){return r.ngZone.run(function(){r.progressSubject.next(t),r.refreshedBalance||(r.walletService.refreshBalances(),r.refreshedBalance=!0)})},function(t){return console.log(t)},function(){return r.ngZone.run(function(){return r.completeLoading()})})})}return Object.defineProperty(t.prototype,"progress",{get:function(){return this.progressSubject.asObservable()},enumerable:!0,configurable:!0}),t.prototype.block=function(t){var e=this;return this.apiService.get("blocks",{start:t,end:t}).map(function(t){return t.blocks[0]}).flatMap(function(t){return s.a.forkJoin(t.body.txns.map(function(t){return t.inputs&&!t.inputs.length?s.a.of(t):s.a.forkJoin(t.inputs.map(function(t){return e.retrieveInputAddress(t).map(function(t){return t.owner_address})})).map(function(e){return t.inputs=e,t})})).map(function(e){return t.body.txns=e,t})})},t.prototype.blocks=function(t){return void 0===t&&(t=5100),this.apiService.get("last_blocks",{num:t}).map(function(t){return t.blocks.reverse()})},t.prototype.lastBlock=function(){return this.blocks(1).map(function(t){return t[0]})},t.prototype.getBlockchainProgress=function(){return this.apiService.get("blockchain/progress")},t.prototype.coinSupply=function(){return this.apiService.get("coinSupply")},t.prototype.completeLoading=function(){this.progressSubject.next({current:999999999999,highest:999999999999}),this.walletService.refreshBalances()},t.prototype.retrieveInputAddress=function(t){return this.apiService.get("uxout",{uxid:t})},t}(),fp=function(){function t(t){this.blockchainService=t}return t.prototype.ngOnInit=function(){var t=this;this.blockchainService.lastBlock().subscribe(function(e){return t.block=e}),this.blockchainService.coinSupply().subscribe(function(e){return t.coinSupply=e})},t}(),_p=function(){function t(t,e){this.data=t,this.dialogRef=e}return t.prototype.ngOnDestroy=function(){this.data.seed=null},t}(),mp=n("YKDW"),gp=function(){function t(t,e,n,r){var i=this;this.data=t,this.dialogRef=e,this.snackbar=n,this.translateService=r,this.passwordSubmit=new Nr.a,this.disableDismiss=!1,this.subscriptions=[],this.data=Object.assign({confirm:!1,description:null,title:null},t||{}),this.translateService.get(["errors.incorrect-password","errors.api-disabled","errors.no-wallet"]).subscribe(function(t){i.errors=t})}return t.prototype.ngOnInit=function(){var t=this;this.form=new ja({},this.validateForm.bind(this)),this.form.addControl("password",new Aa("")),this.form.addControl("confirm_password",new Aa("")),["password","confirm_password"].forEach(function(e){t.subscriptions.push(t.form.get(e).valueChanges.subscribe(function(){2===t.button.state&&t.button.resetState()}))}),this.data.confirm?this.form.get("confirm_password").enable():this.form.get("confirm_password").disable(),this.data.description&&this.dialogRef.updateSize("400px")},t.prototype.ngOnDestroy=function(){this.form.get("password").setValue(""),this.form.get("confirm_password").setValue(""),this.passwordSubmit.complete(),this.subscriptions.forEach(function(t){return t.unsubscribe()})},t.prototype.proceed=function(){this.form.valid&&!this.button.isLoading()&&(this.button.setLoading(),this.disableDismiss=!0,this.passwordSubmit.next({password:this.form.get("password").value,close:this.close.bind(this),error:this.error.bind(this)}))},t.prototype.validateForm=function(){if(this.form&&this.form.get("password")&&this.form.get("confirm_password")){if(0===this.form.get("password").value.length)return{Required:!0};if(this.data.confirm&&this.form.get("password").value!==this.form.get("confirm_password").value)return{NotEqual:!0}}return null},t.prototype.close=function(){this.dialogRef.close()},t.prototype.error=function(t){if("object"==typeof t)switch(t.status){case 400:t=bc(t._body);break;case 401:t=this.errors["errors.incorrect-password"];break;case 403:t=this.errors["errors.api-disabled"];break;case 404:t=this.errors["errors.no-wallet"];break;default:wc(this.snackbar,t,5e3)}this.button.setError(t||this.errors["errors.incorrect-password"]),this.disableDismiss=!1},t}(),yp=function(){function t(t,e){this.walletService=t,this.dialog=e,this.wallets=[]}return t.prototype.ngOnInit=function(){var t=this;this.walletService.folder().subscribe(function(e){return t.folder=e}),this.walletSubscription=this.walletService.all().subscribe(function(e){t.wallets=e})},t.prototype.ngOnDestroy=function(){this.walletSubscription.unsubscribe()},Object.defineProperty(t.prototype,"onlyEncrypted",{get:function(){return this.wallets.filter(function(t){return t.encrypted})},enumerable:!0,configurable:!0}),t.prototype.showSeed=function(t){var e=this;this.dialog.open(gp).componentInstance.passwordSubmit.subscribe(function(n){e.walletService.getWalletSeed(t,n.password).subscribe(function(t){n.close();var r=new Ds;r.width="566px",r.data={seed:t},e.dialog.open(_p,r)},function(t){return n.error(t)})})},t}(),vp=function(t){function e(e,n){void 0===e&&(e=0),void 0===n&&(n=Tr),t.call(this),this.period=e,this.scheduler=n,(!kr(e)||e<0)&&(this.period=0),n&&"function"==typeof n.schedule||(this.scheduler=Tr)}return Object(o.__extends)(e,t),e.create=function(t,n){return void 0===t&&(t=0),void 0===n&&(n=Tr),new e(t,n)},e.dispatch=function(t){var e=t.subscriber,n=t.period;e.next(t.index),e.closed||(t.index+=1,this.schedule(t,n))},e.prototype._subscribe=function(t){var n=this.period;t.add(this.scheduler.schedule(e.dispatch,n,{index:0,subscriber:t,period:n}))},e}(s.a),bp=function(){function t(t){this.apiService=t,this.automaticPeers=new mc([]),this.loadData()}return t.prototype.automatic=function(){return this.automaticPeers.asObservable()},t.prototype.retrieveDefaultConnections=function(){return this.apiService.get("network/defaultConnections").map(function(t){return t.map(function(t,e){return{id:e+1,address:t,listen_port:3e4}})})},t.prototype.loadData=function(){var t=this;this.retrieveConnections().subscribe(function(e){return t.automaticPeers.next(e)}),vp.create(5e3).flatMap(function(){return t.retrieveConnections()}).subscribe(function(e){return t.automaticPeers.next(e)})},t.prototype.retrieveConnections=function(){return this.apiService.get("network/connections").map(function(t){return t.connections.sort(function(t,e){return t.id-e.id})})},t}(),wp=function(){function t(t){this.networkService=t}return t.prototype.ngOnInit=function(){var t=this;this.networkService.retrieveDefaultConnections().subscribe(function(e){t.subscription=t.networkService.automatic().first().subscribe(function(n){t.peers=n.map(function(t){return t.source=e.find(function(e){return e.address===t.address})?"default":"exchange",t}).sort(function(t,e){return t.address.localeCompare(e.address)})})})},t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t}(),Mp=function(){function t(t,e){this.httpClient=t,this.walletService=e,this.configSubject=new mc(null),this.purchaseOrders=new mc([]),this.purchaseUrl=i.tellerUrl,this.getConfig()}return t.prototype.all=function(){return this.purchaseOrders.asObservable()},t.prototype.config=function(){return this.configSubject.asObservable()},t.prototype.getConfig=function(){var t=this;return this.get("config").map(function(t){return{enabled:!0,sky_btc_exchange_rate:parseFloat(t.sky_btc_exchange_rate)}}).subscribe(function(e){return t.configSubject.next(e)})},t.prototype.generate=function(t){var e=this;return this.walletService.addAddress(t).flatMap(function(n){return e.post("bind",{skyaddr:n.address,coin_type:"BTC"}).map(function(e){return{coin_type:e.coin_type,deposit_address:e.deposit_address,filename:t.filename,recipient_address:n.address,status:"waiting_deposit"}})})},t.prototype.scan=function(t){return this.get("status?skyaddr="+t).map(function(t){if(!t.statuses||t.statuses.length>1)throw new Error("too many purchase orders found");return t.statuses[0]})},t.prototype.get=function(t){return this.httpClient.get(this.purchaseUrl+t)},t.prototype.post=function(t,e){return void 0===e&&(e={}),this.httpClient.post(this.purchaseUrl+t,e)},t}(),kp=function(){function t(t,e,n,r){this.formBuilder=t,this.purchaseService=e,this.snackBar=n,this.walletService=r}return t.prototype.ngOnInit=function(){this.initForm(),this.loadData()},t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t.prototype.checkStatus=function(){var t=this;this.button.setLoading(),this.purchaseService.scan(this.order.recipient_address).subscribe(function(e){t.button.setSuccess(),t.order.status=e.status},function(e){return t.button.setError(e)})},t.prototype.removeOrder=function(){window.localStorage.removeItem("purchaseOrder"),this.order=null},t.prototype.initForm=function(){var t=this;this.form=this.formBuilder.group({wallet:["",Js.required]}),this.subscription=this.form.get("wallet").valueChanges.subscribe(function(e){var n=t.wallets.find(function(t){return t.filename===e});console.log("changing wallet value",e),t.purchaseService.generate(n).subscribe(function(e){return t.saveData(e)},function(e){return t.snackBar.open(e.toString())})})},t.prototype.loadConfig=function(){var t=this;this.purchaseService.config().filter(function(t){return!!t&&!!t.sky_btc_exchange_rate}).first().subscribe(function(e){return t.config=e})},t.prototype.loadData=function(){var t=this;this.loadConfig(),this.loadOrder(),this.subscription.add(this.walletService.all().subscribe(function(e){t.wallets=e,t.order&&t.form.get("wallet").setValue(t.order.filename,{emitEvent:!1})}))},t.prototype.loadOrder=function(){var t=JSON.parse(window.localStorage.getItem("purchaseOrder"));t&&(this.order=t,this.updateOrder())},t.prototype.saveData=function(t){this.order=t,window.localStorage.setItem("purchaseOrder",JSON.stringify(t))},t.prototype.updateOrder=function(){var t=this;this.purchaseService.scan(this.order.recipient_address).first().subscribe(function(e){return t.order.status=e.status},function(t){return console.log(t)})},t}(),xp=function(){return function(t,e){var n=this;this.http=t,this.ngZone=e,this.CMC_TICKER_ID=1619,this.price=new mc(null),this.ngZone.runOutsideAngular(function(){s.a.timer(0,6e5).subscribe(function(){n.http.get("https://api.coinmarketcap.com/v2/ticker/"+n.CMC_TICKER_ID+"/").map(function(t){return t.json()}).subscribe(function(t){return n.ngZone.run(function(){n.price.next(t.data.quotes.USD.price)})})})})}}(),Lp=function(){function t(t,e){this.transaction=t,this.dialogRef=e}return t.prototype.closePopup=function(){this.dialogRef.close()},t}(),Cp=function(){function t(t,e,n){this.dialog=t,this.priceService=e,this.walletService=n}return t.prototype.ngOnInit=function(){var t=this;this.priceSubscription=this.priceService.price.subscribe(function(e){return t.price=e}),this.walletService.transactions().first().subscribe(function(e){return t.transactions=e})},t.prototype.ngOnDestroy=function(){this.priceSubscription.unsubscribe()},t.prototype.showTransaction=function(t){var e=new Ds;e.width="800px",e.data=t,this.dialog.open(Lp,e)},t.prototype.showQrCode=function(t,e){t.stopPropagation();var n=new Ds;n.data={address:e},this.dialog.open(dp,n)},t}(),Sp=function(){function t(t,e){this.walletService=t,this.router=e}return t.prototype.canActivate=function(t,e){var n=this;return new Promise(function(t){n.walletService.all().first().subscribe(function(e){return 0===e.length?(n.router.navigate(["/wizard"]),t(!1)):t(!0)})})},t}(),Tp=function(){function t(t,e){this.router=t,this.walletService=e,this.step=1}return t.prototype.onLabelAndSeedCreated=function(t){this.label=t[0],this.seed=t[1],this.create=t[2],this.step=2},t.prototype.onPasswordCreated=function(t){this.password=t,this.createWallet()},t.prototype.onBack=function(){this.step=1},Object.defineProperty(t.prototype,"fill",{get:function(){return this.label?{label:this.label,seed:this.seed,create:this.create}:null},enumerable:!0,configurable:!0}),t.prototype.createWallet=function(){var t=this;this.walletService.create(this.label,this.seed,100,this.password).subscribe(function(){t.router.navigate(["/wallets"])})},t}(),Op=function(){},Dp=function(){function t(t){this.predicate=t}return t.prototype.call=function(t,e){return e.subscribe(new Yp(t,this.predicate))},t}(),Yp=function(t){function e(e,n){t.call(this,e),this.predicate=n,this.index=0}return Object(o.__extends)(e,t),e.prototype._next=function(t){var e,n=this.destination;try{e=this.predicate(t,this.index++)}catch(t){return void n.error(t)}this.nextOrComplete(t,e)},e.prototype.nextOrComplete=function(t,e){var n=this.destination;Boolean(e)?n.next(t):n.complete()},e}(lr.a);s.a.prototype.takeWhile=function(t){return function(t){return function(e){return e.lift(new Dp(t))}}(t)(this)};var Pp=function(){function t(t,e){this.apiService=t,this.ngZone=e,this.monitorConnections()}return t.prototype.testBackend=function(){var t=this;this.apiService.getVersion().first().subscribe(function(e){t.version=e,t.apiService.getCsrf().subscribe(null,function(){return t.error=3})},function(){return t.error=2})},t.prototype.monitorConnections=function(){var t=this;this.retrieveConnections().subscribe(function(e){return t.setConnectionError(e)}),this.ngZone.runOutsideAngular(function(){vp.create(1500).flatMap(function(){return t.retrieveConnections()}).subscribe(function(e){return t.ngZone.run(function(){t.setConnectionError(e)})})})},t.prototype.retrieveConnections=function(){return this.apiService.get("network/connections")},t.prototype.setConnectionError=function(t){null!==t.connections&&0!==t.connections.length||(this.error=1),null!==t.connections&&t.connections.length>0&&1===this.error&&(this.error=null)},t}(),Ep=function(){function t(t,e){this.appService=t,this.translateService=e,e.setDefaultLang("en"),e.use("en")}return t.prototype.ngOnInit=function(){this.appService.testBackend()},t}(),Ap=r._7({encapsulation:2,styles:[".mat-dialog-container{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);display:block;padding:24px;border-radius:2px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%}@media screen and (-ms-high-contrast:active){.mat-dialog-container{outline:solid 1px}}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch;-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:12px 0;display:flex;flex-wrap:wrap}.mat-dialog-actions:last-child{margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button+.mat-button,.mat-dialog-actions .mat-button+.mat-raised-button,.mat-dialog-actions .mat-raised-button+.mat-button,.mat-dialog-actions .mat-raised-button+.mat-raised-button{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button+.mat-button,[dir=rtl] .mat-dialog-actions .mat-button+.mat-raised-button,[dir=rtl] .mat-dialog-actions .mat-raised-button+.mat-button,[dir=rtl] .mat-dialog-actions .mat-raised-button+.mat-raised-button{margin-left:0;margin-right:8px}"],data:{animation:[{type:7,name:"slideDialog",definitions:[{type:0,name:"enter",styles:{type:6,styles:{transform:"none",opacity:1},offset:null},options:void 0},{type:0,name:"void",styles:{type:6,styles:{transform:"translate3d(0, 25%, 0) scale(0.9)",opacity:0},offset:null},options:void 0},{type:0,name:"exit",styles:{type:6,styles:{transform:"translate3d(0, 25%, 0)",opacity:0},offset:null},options:void 0},{type:1,expr:"* => *",animation:{type:4,styles:null,timings:"400ms cubic-bezier(0.25, 0.8, 0.25, 1)"},options:null}],options:{}}]}});function jp(t){return r._33(0,[(t()(),r._4(0,null,null,0))],null,null)}function Ip(t){return r._33(0,[r._29(402653184,1,{_portalOutlet:0}),(t()(),r._4(16777216,null,null,1,null,jp)),r._8(2,212992,[[1,4]],0,Li,[r.j,r.R],{portal:[0,"portal"]},null)],function(t,e){t(e,2,0,"")},null)}var Rp=r._5("mat-dialog-container",Ps,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"mat-dialog-container",[["class","mat-dialog-container"],["tabindex","-1"]],[[1,"role",0],[1,"aria-labelledby",0],[1,"aria-label",0],[1,"aria-describedby",0],[40,"@slideDialog",0]],[["component","@slideDialog.start"],["component","@slideDialog.done"]],function(t,e,n){var i=!0;return"component:@slideDialog.start"===e&&(i=!1!==r._22(t,1)._onAnimationStart(n)&&i),"component:@slideDialog.done"===e&&(i=!1!==r._22(t,1)._onAnimationDone(n)&&i),i},Ip,Ap)),r._8(1,49152,null,0,Ps,[r.l,_o,r.h,[2,Dt]],null,null)],null,function(t,e){t(e,0,0,null==r._22(e,1)._config?null:r._22(e,1)._config.role,null!=r._22(e,1)._config&&r._22(e,1)._config.ariaLabel?null:r._22(e,1)._ariaLabelledBy,null==r._22(e,1)._config?null:r._22(e,1)._config.ariaLabel,(null==r._22(e,1)._config?null:r._22(e,1)._config.ariaDescribedBy)||null,r._22(e,1)._state)})},{},{},[]),Hp=r._7({encapsulation:2,styles:[".mat-snack-bar-container{border-radius:2px;box-sizing:border-box;display:block;margin:24px;max-width:568px;min-width:288px;padding:14px 24px;transform:translateY(100%) translateY(24px)}.mat-snack-bar-container.mat-snack-bar-center{margin:0;transform:translateY(100%)}.mat-snack-bar-container.mat-snack-bar-top{transform:translateY(-100%) translateY(-24px)}.mat-snack-bar-container.mat-snack-bar-top.mat-snack-bar-center{transform:translateY(-100%)}@media screen and (-ms-high-contrast:active){.mat-snack-bar-container{border:solid 1px}}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:0;max-width:inherit;width:100%}"],data:{animation:[{type:7,name:"state",definitions:[{type:0,name:"visible-top, visible-bottom",styles:{type:6,styles:{transform:"translateY(0%)"},offset:null},options:void 0},{type:1,expr:"visible-top => hidden-top, visible-bottom => hidden-bottom",animation:{type:4,styles:null,timings:"195ms cubic-bezier(0.4,0.0,1,1)"},options:null},{type:1,expr:"void => visible-top, void => visible-bottom",animation:{type:4,styles:null,timings:"225ms cubic-bezier(0.0,0.0,0.2,1)"},options:null}],options:{}}]}});function Fp(t){return r._33(0,[(t()(),r._4(0,null,null,0))],null,null)}function Np(t){return r._33(2,[r._29(402653184,1,{_portalOutlet:0}),(t()(),r._4(16777216,null,null,1,null,Fp)),r._8(2,212992,[[1,4]],0,Li,[r.j,r.R],{portal:[0,"portal"]},null)],function(t,e){t(e,2,0,"")},null)}var Vp=r._5("snack-bar-container",hc,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"snack-bar-container",[["class","mat-snack-bar-container"],["role","alert"]],[[40,"@state",0]],[["component","@state.done"]],function(t,e,n){var i=!0;return"component:@state.done"===e&&(i=!1!==r._22(t,1).onAnimationEnd(n)&&i),i},Np,Hp)),r._8(1,180224,null,0,hc,[r.B,r.l,r.h],null,null)],null,function(t,e){t(e,0,0,r._22(e,1)._animationState)})},{},{},[]),Bp=r._7({encapsulation:2,styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;line-height:20px;opacity:1}.mat-simple-snackbar-action{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;background:0 0;flex-shrink:0;margin-left:48px}[dir=rtl] .mat-simple-snackbar-action{margin-right:48px;margin-left:0}"],data:{animation:[{type:7,name:"contentFade",definitions:[{type:1,expr:":enter",animation:[{type:6,styles:{opacity:"0"},offset:null},{type:4,styles:null,timings:"375ms cubic-bezier(0.4,0.0,0.2,1)"}],options:null}],options:{}}]}});function zp(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"button",[["class","mat-simple-snackbar-action"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.action()&&r),r},null,null)),(t()(),r._31(1,null,["",""]))],null,function(t,e){t(e,1,0,e.component.data.action)})}function Wp(t){return r._33(2,[(t()(),r._31(0,null,[""," "])),(t()(),r._4(16777216,null,null,1,null,zp)),r._8(2,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null)],function(t,e){t(e,2,0,e.component.hasAction)},function(t,e){t(e,0,0,e.component.data.message)})}var Up=r._5("simple-snack-bar",dc,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"simple-snack-bar",[["class","mat-simple-snackbar"]],[[40,"@contentFade",0]],null,null,Wp,Bp)),r._8(1,49152,null,0,dc,[lc,uc],null,null)],null,function(t,e){t(e,0,0,void 0)})},{},{},[]),Gp=r._7({encapsulation:2,styles:[".mat-tooltip-panel{pointer-events:none!important}.mat-tooltip{color:#fff;border-radius:2px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px}@media screen and (-ms-high-contrast:active){.mat-tooltip{outline:solid 1px}}"],data:{animation:[{type:7,name:"state",definitions:[{type:0,name:"initial, void, hidden",styles:{type:6,styles:{transform:"scale(0)"},offset:null},options:void 0},{type:0,name:"visible",styles:{type:6,styles:{transform:"scale(1)"},offset:null},options:void 0},{type:1,expr:"* => visible",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.0, 0.0, 0.2, 1)"},options:null},{type:1,expr:"* => hidden",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.4, 0.0, 1, 1)"},options:null}],options:{}}]}});function Jp(t){return r._33(2,[(t()(),r._9(0,0,null,null,2,"div",[["class","mat-tooltip"]],[[4,"transform-origin",null],[24,"@state",0]],[[null,"@state.start"],[null,"@state.done"]],function(t,e,n){var r=!0,i=t.component;return"@state.start"===e&&(r=!1!==i._animationStart()&&r),"@state.done"===e&&(r=!1!==i._animationDone(n)&&r),r},null,null)),r._8(1,278528,null,0,j,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),r._31(2,null,["",""]))],function(t,e){t(e,1,0,"mat-tooltip",e.component.tooltipClass)},function(t,e){var n=e.component;t(e,0,0,n._transformOrigin,n._visibility),t(e,2,0,n.message)})}var qp=r._5("mat-tooltip-component",zu,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"mat-tooltip-component",[["aria-hidden","true"]],[[4,"zoom",null]],[["body","click"]],function(t,e,n){var i=!0;return"body:click"===e&&(i=!1!==r._22(t,1)._handleBodyInteraction()&&i),i},Jp,Gp)),r._8(1,49152,null,0,zu,[r.h],null,null)],null,function(t,e){t(e,0,0,"visible"===r._22(e,1)._visibility?1:null)})},{},{},[]),Qp=r._7({encapsulation:2,styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}"],data:{}});function Xp(t){return r._33(2,[r._21(null,0)],null,null)}var Kp=r._7({encapsulation:2,styles:[".mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:2px;outline:0}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-menu-panel.mat-menu-after.mat-menu-below{transform-origin:left top}.mat-menu-panel.mat-menu-after.mat-menu-above{transform-origin:left bottom}.mat-menu-panel.mat-menu-before.mat-menu-below{transform-origin:right top}.mat-menu-panel.mat-menu-before.mat-menu-above{transform-origin:right bottom}[dir=rtl] .mat-menu-panel.mat-menu-after.mat-menu-below{transform-origin:right top}[dir=rtl] .mat-menu-panel.mat-menu-after.mat-menu-above{transform-origin:right bottom}[dir=rtl] .mat-menu-panel.mat-menu-before.mat-menu-below{transform-origin:left top}[dir=rtl] .mat-menu-panel.mat-menu-before.mat-menu-above{transform-origin:left bottom}.mat-menu-panel.ng-animating{pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-menu-panel{outline:solid 1px}}.mat-menu-content{padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;position:relative}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item .mat-icon{vertical-align:middle}.mat-menu-item-submenu-trigger{padding-right:32px}.mat-menu-item-submenu-trigger::after{width:0;height:0;border-style:solid;border-width:5px 0 5px 5px;border-color:transparent transparent transparent currentColor;content:'';display:inline-block;position:absolute;top:50%;right:16px;transform:translateY(-50%)}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:8px;padding-left:32px}[dir=rtl] .mat-menu-item-submenu-trigger::after{right:auto;left:16px;transform:rotateY(180deg) translateY(-50%)}button.mat-menu-item{width:100%}.mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}"],data:{animation:[{type:7,name:"transformMenu",definitions:[{type:0,name:"void",styles:{type:6,styles:{opacity:0,transform:"scale(0.01, 0.01)"},offset:null},options:void 0},{type:0,name:"enter-start",styles:{type:6,styles:{opacity:1,transform:"scale(1, 0.5)"},offset:null},options:void 0},{type:0,name:"enter",styles:{type:6,styles:{transform:"scale(1, 1)"},offset:null},options:void 0},{type:1,expr:"void => enter-start",animation:{type:4,styles:null,timings:"100ms linear"},options:null},{type:1,expr:"enter-start => enter",animation:{type:4,styles:null,timings:"300ms cubic-bezier(0.25, 0.8, 0.25, 1)"},options:null},{type:1,expr:"* => void",animation:{type:4,styles:{type:6,styles:{opacity:0},offset:null},timings:"150ms 50ms linear"},options:null}],options:{}},{type:7,name:"fadeInItems",definitions:[{type:0,name:"showing",styles:{type:6,styles:{opacity:1},offset:null},options:void 0},{type:1,expr:"void => *",animation:[{type:6,styles:{opacity:0},offset:null},{type:4,styles:null,timings:"400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function Zp(t){return r._33(0,[(t()(),r._9(0,0,null,null,3,"div",[["class","mat-menu-panel"],["role","menu"],["tabindex","-1"]],[[24,"@transformMenu",0]],[[null,"keydown"],[null,"click"],[null,"@transformMenu.done"]],function(t,e,n){var r=!0,i=t.component;return"keydown"===e&&(r=!1!==i._handleKeydown(n)&&r),"click"===e&&(r=!1!==i.closed.emit("click")&&r),"@transformMenu.done"===e&&(r=!1!==i._onAnimationDone(n)&&r),r},null,null)),r._8(1,278528,null,0,j,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),r._9(2,0,null,null,1,"div",[["class","mat-menu-content"]],[[24,"@fadeInItems",0]],null,null,null,null)),r._21(null,0)],function(t,e){t(e,1,0,"mat-menu-panel",e.component._classList)},function(t,e){t(e,0,0,e.component._panelAnimationState),t(e,2,0,"showing")})}function $p(t){return r._33(2,[r._29(402653184,1,{templateRef:0}),(t()(),r._4(0,[[1,2]],null,0,null,Zp))],null,null)}var tf=r._7({encapsulation:2,styles:[],data:{}});function ef(t){return r._33(2,[r._21(null,0),(t()(),r._9(1,0,null,null,1,"div",[["class","mat-menu-ripple mat-ripple"],["matRipple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),r._8(2,212992,null,0,Go,[r.l,r.B,$r,[2,Uo]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,2,0,n.disableRipple||n.disabled,n._getHostElement())},function(t,e){t(e,1,0,r._22(e,2).unbounded)})}var nf=function(){function t(t,e,n,r){this.dialogRef=t,this.data=e,this.formBuilder=n,this.walletService=r}return t.prototype.ngOnInit=function(){this.form=this.formBuilder.group({label:[this.data.label,Js.required]})},t.prototype.closePopup=function(){this.dialogRef.close()},t.prototype.rename=function(){var t=this;this.form.valid&&!this.button.isLoading()&&(this.button.setLoading(),this.walletService.renameWallet(this.data,this.form.value.label).subscribe(function(){return t.dialogRef.close(t.form.value.label)}))},t}(),rf=function(){function t(t,e,n,r){this.dialog=t,this.walletService=e,this.snackbar=n,this.translateService=r}return t.prototype.ngOnInit=function(){var t=this;this.translateService.get("wallet.new.encrypt-warning").subscribe(function(e){t.encryptionWarning=e})},t.prototype.ngOnDestroy=function(){this.snackbar.dismiss()},t.prototype.editWallet=function(){var t=new Ds;t.width="566px",t.data=this.wallet,this.dialog.open(nf,t)},t.prototype.newAddress=function(){var t=this;this.snackbar.dismiss(),this.wallet.encrypted?this.dialog.open(gp).componentInstance.passwordSubmit.subscribe(function(e){t.walletService.addAddress(t.wallet,e.password).subscribe(function(){return e.close()},function(){return e.error()})}):this.walletService.addAddress(this.wallet).subscribe(null,function(e){return wc(t.snackbar,e)})},t.prototype.toggleEmpty=function(){this.wallet.hideEmpty=!this.wallet.hideEmpty},t.prototype.toggleEncryption=function(){var t=this,e=new Ds;e.data={confirm:!this.wallet.encrypted,title:this.wallet.encrypted?"wallet.decrypt":"wallet.encrypt"},this.wallet.encrypted||(e.data.description=this.encryptionWarning),this.dialog.open(gp,e).componentInstance.passwordSubmit.subscribe(function(e){t.walletService.toggleEncryption(t.wallet,e.password).subscribe(function(){e.close()},function(t){return e.error(t)})})},t.prototype.copyAddress=function(t,e,n){if(void 0===n&&(n=500),t.stopPropagation(),!e.copying){var r=document.createElement("textarea");r.style.position="fixed",r.style.left="0",r.style.top="0",r.style.opacity="0",r.value=e.address,document.body.appendChild(r),r.focus(),r.select(),document.execCommand("copy"),document.body.removeChild(r),e.copying=!0,setTimeout(function(){e.copying=!1},n)}},t.prototype.showQrCode=function(t,e){t.stopPropagation();var n=new Ds;n.data={address:e},this.dialog.open(dp,n)},t}(),of=r._7({encapsulation:0,styles:[[".-row.-detail[_ngcontent-%COMP%]{background-color:#f5f5f5}.-grey[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}.-address[_ngcontent-%COMP%]{padding-left:0!important}.-address[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:17px;vertical-align:middle;margin-right:10px}.-address[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{display:inline-block;line-height:60px;cursor:pointer}.-address[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:hover .copy-label[_ngcontent-%COMP%]{opacity:1}.-text-right[_ngcontent-%COMP%]{text-align:right}.-options[_ngcontent-%COMP%]{text-align:center}.-options[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:rgba(97,109,125,.5);cursor:pointer;vertical-align:middle}.-options[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]:hover{color:#0072ff}.-actions[_ngcontent-%COMP%]{background-color:#fefefe;border-bottom:1px solid #eff0f0;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-shadow:0 4px 10px rgba(0,0,0,.03)!important;box-shadow:0 4px 10px rgba(0,0,0,.03)!important;border-top-left-radius:0!important;border-top-right-radius:0!important;z-index:100;position:relative}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%]{padding-right:20px}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%]:first-child{padding-left:5px}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#cecfd0;font-size:12px;height:60px;margin:0 5px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span.-img[_ngcontent-%COMP%]::before{content:'';display:inline-block;height:32px;width:32px;margin-right:5px;background-repeat:no-repeat;background-size:32px 32px}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span.-new-address[_ngcontent-%COMP%]::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANpSURBVHgB7ZndcdswDIBBOQO4G6gTxOzfa9IJmk6QdoK6E8TeIJkg6QRtJqj72l4qZ4JyBA8QiwUk2qVoWbJFyNdc8N3pbFIS+AcCIAQgCIIgCIIgCIIgCMJTQ8GByLJsiD9n2OSJBRjh/xSvobu9wMtgZ+Z4fwaQ32qtF3AAep8AHHia5zBWiTqHfwNuBTt2A2CnOBEGeqS3CShXPLmwYMcQgQJ1iRox7UsjepkAWnUL6juUas4Bbg/7tg9tSICZn1k2ahj8AjViusTB4ICev9AjRRf+f0Z1NrdX+Iypea+YUJINzLBqQMPKGxzgx9daz3aU8wHlXNTJ4dYEtgmgPY+dziDoNK74FarZZN89TPLQeE7QeH4KbtEkaC6bcARsJLhiNvVrSN1faj2BDrgBju+ybKFKbViRlm3BZ2CARQOc6v/x62jlcfDj7e/cn+MzaOGBBogacvxl27N3d9llqAlkQzi2AosRtBYmQZUhtW98Byzdp7ggdROxlSQpZBm/jmILYCB6Agp/r4ogZ025oq17NPX+NwZIJIuMaKUNDKxcdBkFhwacBWXTpM5dcR7En9ThcrnR9t5ETwCq/2mlnNtb6AkXJ6wZDNQJRBKvAUod+8U8gW/QEyh75pfdoSoKDjeYBgLnftmz9o379Xc2t0GVCb0Dyja2oe0ucNiAysBC4+dZ+33Z8A41bu+/MIJtxHSy95wAxwRUOklBkV/OwVLEZqCDXHx3GsgeNrXdBQ4bYMAzRg/lvjSr8iutb6BIblQJ9zydCqGdUU3bUcRrgLX3FYF51S1ygtFfxe+rwOB2IXoC8DA/q5Q3T29soOx3Qc0MIuGwAeT3KxHaryw7BWYoRwAbbi+PDrqiJ4DcHkZoldB3AOp6hzjdnzTT9KDLNfhH4iJpypETYHGDeFoLT3OpO7NvxfMOG9a+poWa7FDbO7vBlhGqP7MXkVxURzGSvHDB1Jq2XMM+9J4S65rWbkirs6bEDpYUbcv6BHJOUc41PKak6ApKXR+B+gr1BxVDx+WkPDHOV6vooke8khO34nUG1DyAff9G62jf7yMfRqAHqKO0T8MERhfI4Lk9b6AHDvJxtEiaBnnDForYgtzro/04GrL6PF6k0MosUgo1n8cx+fljgNHloT6PC4IgCIIgCIIgCILw9PgL6Ap8qFzYW2UAAAAASUVORK5CYII=)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span.-hide-empty[_ngcontent-%COMP%]::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANISURBVHgB7ZndcdswDIBBOQO4G6gTxOzfa9IJmk6QdIKmE8TewJkg6QStJ6j72p6PzgTlBvUAsVhAohqK1jm2CPkuF3x3uphyDJIgCIAggCAIgiAIgiAIgiAIzw0FB8IYM8Q/Z9jliQMY4eccn6H/eoWPxcEs8fs5QDHTWq/gAPSuAJx4XhRwqTJ1Dg8TfhQc2C2Am6AiLPRIbwqoVjy7cuAuIQEFaooWMenLInpRAK26A/UDKjPnALeHe9+HNWTAzC9jRlsmv0KLmKxxMjihl6/0SNGDn1/QO1e4a/wf2/K7UqEkG5hhtYAtK29xgp/eaj3fUc4Fyrlqk8NtCWwKoD2PgzYQDRpX/BrNbLzvHiZ56DzH6Dw/R1+REjSXTzgCNjJcMZeHb8jcX2s9hg74CV4ujFmpyhpq8qov+AIMsFiAN/0/4TtaeZx8UgSoWSzMNLYE8iEcW4HFCToH4+iVJbMHJrKslGXDd5RbAAPJFuD3/t+mUHWh9fFXYOS3MaeDysHWrLwVJPkCDgs4i9qWe/KEjyDhZIfr9Ubfe5OsADT/00a7cDPoCZ8n/GcwUCeQSLoFKHUcNosMvkNPoOx52PaHqiQ4wmAeCVyGbWPuzjEiYD6/+0HIg/FejcPthLKt29J3Fzh8QGNisVPCyY9h/8kTuVdcKNvClr67wH4WaCFlkL3XBDgU0BgkJUVhuwBHGZuFDnLxt5NI9nBb313g8AEWAmd0X+1LW7ffaH0LZXGDhVFL30mkW4Bzdw2BRTMscoLZXyPuq8jhdiFZAXiYnzfam6c3NlD2h+jNHBLh8AEU9xsZGqWtwAzVCGAj7BXJSVeyAijsYYbWSH0xZ79pcVid8eeN8EhcFk05agIsYRBPa9PoVe7P7ExkLdWhZoToLBkYoAQlztOpGoxZYLISSEZcWaZaA1dZrPeSWNey9payOmtJ7GBF0Tivf0TOKcq5gadUFK2h0vURqG/QflChrTLLqhPjsl5Fnz3ik534FW9zoPYe3Md3WifH/hC5GIEeoIHSPo0dYxfI4fk9b6EHDnI5WhZNVXk5uitlbkHh9clejsbU1+NlCa2qIuXQcj2ON0g/B5hdHup6XBAEQRAEQRAEQRCE58c/90hmWzuzaIoAAAAASUVORK5CYII=)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span.-show-empty[_ngcontent-%COMP%]::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANpSURBVHgB7ZndcdswDIBBOQO4G6gTxOzfa9IJmk6QdoK6E8TeIJkg6QRtJqj72l4qZ4JyBA8QiwUk2qVoWbJFyNdc8N3pbFIS+AcCIAQgCIIgCIIgCIIgCMJTQ8GByLJsiD9n2OSJBRjh/xSvobu9wMtgZ+Z4fwaQ32qtF3AAep8AHHia5zBWiTqHfwNuBTt2A2CnOBEGeqS3CShXPLmwYMcQgQJ1iRox7UsjepkAWnUL6juUas4Bbg/7tg9tSICZn1k2ahj8AjViusTB4ICev9AjRRf+f0Z1NrdX+Iypea+YUJINzLBqQMPKGxzgx9daz3aU8wHlXNTJ4dYEtgmgPY+dziDoNK74FarZZN89TPLQeE7QeH4KbtEkaC6bcARsJLhiNvVrSN1faj2BDrgBju+ybKFKbViRlm3BZ2CARQOc6v/x62jlcfDj7e/cn+MzaOGBBogacvxl27N3d9llqAlkQzi2AosRtBYmQZUhtW98Byzdp7ggdROxlSQpZBm/jmILYCB6Agp/r4ogZ025oq17NPX+NwZIJIuMaKUNDKxcdBkFhwacBWXTpM5dcR7En9ThcrnR9t5ETwCq/2mlnNtb6AkXJ6wZDNQJRBKvAUod+8U8gW/QEyh75pfdoSoKDjeYBgLnftmz9o379Xc2t0GVCb0Dyja2oe0ucNiAysBC4+dZ+33Z8A41bu+/MIJtxHSy95wAxwRUOklBkV/OwVLEZqCDXHx3GsgeNrXdBQ4bYMAzRg/lvjSr8iutb6BIblQJ9zydCqGdUU3bUcRrgLX3FYF51S1ygtFfxe+rwOB2IXoC8DA/q5Q3T29soOx3Qc0MIuGwAeT3KxHaryw7BWYoRwAbbi+PDrqiJ4DcHkZoldB3AOp6hzjdnzTT9KDLNfhH4iJpypETYHGDeFoLT3OpO7NvxfMOG9a+poWa7FDbO7vBlhGqP7MXkVxURzGSvHDB1Jq2XMM+9J4S65rWbkirs6bEDpYUbcv6BHJOUc41PKak6ApKXR+B+gr1BxVDx+WkPDHOV6vooke8khO34nUG1DyAff9G62jf7yMfRqAHqKO0T8MERhfI4Lk9b6AHDvJxtEiaBnnDForYgtzro/04GrL6PF6k0MosUgo1n8cx+fljgNHloT6PC4IgCIIgCIIgCILw9PgL6Ap8qFzYW2UAAAAASUVORK5CYII=)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span.-enable-encryption[_ngcontent-%COMP%]::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKbSURBVHgB7ZnRbdswEIZ/MhkgI7gTxKzdhz41mSAdIZ2gyQS1J0g8QdIJ6kzQvMcu1QmiEfzYAonYO1stZNaIDfdOcOH7AMMSIRK644n87wgYhmEYhmEYhmEY+4dDi8QYj6oK5967d3TbTUCnfomC/sqqSne9XrhFi7TmgEmM7z3cDV0erXm0TFUatuUIjxaI8fsVGf8F641nOs67G+rzCS2gHgFsSEIaYAsc3HUIx5dQRDUCpjGerzB+Rm3DZ6TT16Hr+PeEFID0Oe9Pz13wpwNFVCPgWyweUS90NeVPMvxtCOWq52mR7CS4r1mfmUN6FUKYQQG1CODZx7IheMl4howsydhTumwaO985oISaA7xzZ817CrXbl4z/DTuBdoHRUl+HEyihtwYkdLOGETak8rhfanDuGEqoOSBl4U8zW2za900I91lTB0q0ogN2mb13wCFagrbEhB1EXAdwwkOBxervAoKwKqTlcSitB0QdwMbXQqYLHQrWCZJOEF4DPCcwWsZjMbYXTZLEIqCWsY9Zc0ma/wMtNMU2s1an0FfItkHOI1ZslVshFwHO5TPDsjbwi24bsv0Qxm6eKKFstvsKYgmSmANSpvyq53Qp8a3yGBxFzTaqF5xBCMk1YMkB/X4YQ4jDRcmsSQdC/BdCSCsVZkwKY88xB2DPMQdAiUVStPuIOcBlau1JMCeYTP4qjW9cXVqHmAP4XK95fwA+3fn3KOAx/ME8H/iD20kHeOTKj5OjuGL2NoINf3iIJzwGMuX3gw5WIIRoPWA6jdek0z9CESq0jHohiBVbRBdB7zGAYHiuoKAXHkAQUQewZueKTX6wIQHPvHQ1iFE7G1wUSHi25oca2+4IJRl+VwFjqQKIYRiGYRiGYRiGYRjGL/wq6dJf5iBxAAAAAElFTkSuQmCC)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span.-disable-encryption[_ngcontent-%COMP%]::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAN+SURBVHgB7dlvT9pAGADw566tgAhUFJ0ijgSXidnM5t5s2YtlcS/2BfyUfoglvt5csmwMXFjYhij/W0H+lPZurQmmEKeId2SG+727o1T79Gm55zkAQRAEQRAEYTohmKS9PWn54HBhJoACQBUfAuq5+Cew3CK0Y5C2rB0fp6swQRMLQDz+TO3BeVyyXXccoWDQLhQmFQgJJiC6sbGGEIlh203HIgQSlkFVgxHQ9UoTOOMegIfJ5Aqy8ArcFoaA3xeSG436GXDENQDR6OaCfUdj7jmLEBMpUGxjODn5kcnp9crJrFfRFezFFMOs+1isSP750Fpb0047wAnXAIQiixtOSvfHFFA36JUy2XRaa1WrRn++2Wz2NK2iRVeWql0LVPvFJPc/Q3I3pO3uliGVosDBjc/kuJy7jxHMuOcCHnSUSqWMf33H+cw5xrL15wiRpMTh4QJwwi0A2CerA2MLqtddfJ9zjOyTi+45A9k/m5xwCwAl5sDzbJrN4qjfPSekOXgueRY44ZcBQ+mfz+fbI34VKplM47pzscQtAPeFDP+p39n0J5iAqc8AEQCYclMfAG7l8Hpi8wXckdMn6PbM9uksLsAIi6hxsK8F7KZH1DCiGPAc3BUlimQXSCGLLl9Uhu/fnbOuCdgGwL749c/fHmOKVGDMqQzVYi2o776pswwC0wBc3HkOF3/Jzgj/z2PMskfA7h2wtTWz3iVP3VNO+duWya+329ut/f19C25JjcfVgORb6/cO+1o6PapUBpfL42KWAQ/8CzHJ1dBwLv7lzpPvHw8OOqkxU7ajaZ2zeqUaDEfm3T0C7POYjVqRSRYw+xlE1PK5xw2rnR/nrl/BcrJo4G8RYx4YYRYARZYGSlYtl9OAEbs6bLnHLKvD+7IQYpFJVxJLYZhyIgAw5UQAgBe7LoB7gFkAnF1d93jxwxdmrWxnSewe90yrBYwwCwDFZt099gZRnEkW2OeYw96B/UUPkkZusd+EWZp6IhGqEHS5heXsCQYKpXA4tGaMtblpX/hiyZoL10qPhld+fh/OlstlJosjph2h1UQiJoOyBByZIJcK2a9/gBGmL8FCNltg+XwOc1pkr3eSBWCI9ZuaNvVa3R8OYQySHxhy7vyr58kcowrzErem6JbdIGm1yGrXLpOHK8VROT2FGZB0Xe5pw/uFgiAIgiAIgiAIgiAI4/oLaQBI2smc1O8AAAAASUVORK5CYII=)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span.-edit-wallet[_ngcontent-%COMP%]::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMiSURBVHgB7ZnbcdNAFIbPSvYzpgJEBfaSgdeYDkwFhA5CBXFKoIIkHdABziszILkCnArwc8bSco4jT1aypGgvkjzD+R680lq3/9fZsxcBMAzDMAzDMAzzPyLghIjjeILFAh/rXAFEVIflNgDxHSC7l1JuwDMnYwCKXygQN7g5qTtGgFhKOb0Gj5yEAXG8vlKglm2OxYi4PZOzL+CJwQ0wEX/ApwmDGlAjfot131BkQu1/BMEU9y8hzwkHfJkwmAF14negPn6QMikeG0eYH35AByYMYoCJ+OdzujEhgJ6pa/OY4S/rxBPUBQo0CDc3xfPg4lec3IAlvUbACwmvMQKer1EdCSme+17KFRjSWwQ0hL3EQL7D7ckIhf2M41nTdeoiIQRxBRb0EgFt2vzvOL7Fx/kMZpHwR69DY96ajhY7j4C2Ce+dlBemkYDFSq8Lw3AKhnRqgGm2NzUBlHrQdx8f09dgSGcG2HR1hJEJQrzRd1VYzAtt6MQAW/EH2phAOQCLuV43ghMwwFX8gSYTtK5QZ2UzXfbaC1RlZrAQr1PuHcb7ucLxOIC6U5t7eI0ApWBZqnIST5QjoXo4rK5t7+G3CYj9m9LZ0hsDR3QToEL8mZRLsMSbARj+84rqfVvNE5bLtSNaJivXu4onvBmQZVDM1Erd4y+FpZMJ9bNAd/GEzyYQ6TuYD1b5mN3ahK7FE94MEIEoDEPH4zDGbmlra0If4gmfEVBoAmmarqm0MaEv8YQXA/JBir6cvdUHJSYm9Cme8GJAkBYfFp6EFmhjQt/iCS8GCFEMf5WpddVxTSYMIZ7wkwNKCRAT4nn+meuIGhPmQ4gn/EQAHDWBWS6syYRP8DR7i4YSTzhPhkgkCvhb83eSv21ijn7j/F2hOftpbFR3zb7EEyNwp2nVZlY0R8FL9CmecG4CR0Nge+iT2Nc+xRPOEVDuAQzZ0DfAAMQKrbzDWZ/zzNEUZwOUEK9aJBIShuv5lPlFsoNsjTdO5ACCy7gbgPN0/Ky10KowlHG5OlMPKoAktFyq6gsvS2I0iNlhVj+Vt8owDMMwDMMwDMMwDNPEPw5aH3llqGexAAAAAElFTkSuQmCC)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{color:rgba(30,34,39,.5)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover.-new-address::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAM+SURBVHgB7ZnRbdswEIZ/OxnAnSAyMkDTCZpM0HSCJBMkncAU0AGSCepO0HSCJhMkfW4LMS999msBV+5RlGuLlGTJPBoBch9Aw6JESjwe745HQBAEQRAEQRAEQRCEl8YAuyJTI/zFKfbwlq6OqCRURuXdGRVN5ZGeuadnbjFWM+yA+ALIVEK/l1TOsRpwF6ZUUhKERkTiCcDMODChcoUwrkkIHxCJOAKws/4NVs050FROYmjDENxkyqzvpsGbdZ3CDAYY04AGRQFeFXU5bmAH65IUfdq+WeHVgOaZ11QuaLB36EKmzmGXT1LTD6sm8GmAXfP+4O2svuk8eMNYTYs2tu06Cawm9DGmreyDD3/GclL3Q6WwDdYNXtFgZ2XfS5LymsUw8iwBq/pZpc7M3qFq9gBP6RnyxTWMXRgOFA4mnxuf/aWuSVcvndoxx1LgWgIT51pTz6q1Rb4w940qJ6UgmrF96Wr7YPdadh2KXY/nTm3aIZJL1v63r2nb10WlbogzDlsQLgAT3lbRpRHjxRrRdaGOat7dm3AB2Nh+RY6viMdN67u3gMMGHDk93iIed2h79xZwuMHEuX6sXK2sfft6zdTCqdE13kFveHdvODSgOjDX+K2sfV987+C7vWdgBDcT8pHRcwIcAqh+5O+PB859E7FpbNdvWqnx3V6wgDhsgMa6MfozH9Pv0/9r6xKnXit3zdtd4SaOat4dRLgGLPC9cp3jGLHIPb//iEDCBZA7rsmP2fkY4p1Tc49AOAIh4/erEVqmjsHNzyJHkDi1wTFHuACM28vh7uQ+dYjT14WmW580fe15G64pR+aYxw0O4e7mEvg7RJeld/CtvU9ddmhTm07wpcRq9+wUyY0nYR/6lE7KYGrFplxDD/gEYFX+Af5MGe1Ie6trc1pdw6bYWIIkvkjQfpDJ9mrnjhnAQ2nEuvGjMKIPqB/8CeepEf+5gE1df0H9RkXDWO45bZn3yYcvB2JSanN6fn9A29uFGfSooe17ahPs+9eRgxHEwH5oXVq7P6u0ukYEdnM4uqCk5oByeN2xscWwOBfUiEh8ASyxVv2UhHFMb32NpuNxG97u7HhcEARBEARBEARBEISXxz+STv7SiHuLFAAAAABJRU5ErkJggg==)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover.-hide-empty::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI5QTAxQTVDNzBERTExRTg4MkJCOEU1MUQyMjM4MDJGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI5QTAxQTVENzBERTExRTg4MkJCOEU1MUQyMjM4MDJGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjlBMDFBNUE3MERFMTFFODgyQkI4RTUxRDIyMzgwMkYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjlBMDFBNUI3MERFMTFFODgyQkI4RTUxRDIyMzgwMkYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5A1duRAAACq0lEQVR42uyb3W3CMBCATdUBzAZhAmACYIKm75WgE0AHqAjqAJQJmkp9L0xQOgF0ArJBPUAlakuHhKwzzo+tGOVOugcMcXyfz5e7i2gdj0fWZLlhDRcCQAAIAAEgAASAABAAAkAACAABIABNlNuqE/w9f+T9KZcaSx1I7UmNYEyJkJpJ3UvdSt3AmN2Al4d6AeQQZehM6vjMYAxOD3QCY6nUBYC5yiOgjFpKPUidXjDeJBO4dlni2toBqF3fwc5XlRnMFV0LAOXGX4YFC3DrkdSO1BZoG8ZWBpePYM5e6ADUQj8R4zMwUBmaQKDLNDBb2G0F5hEBYZo7GADcsPNqV/tgYF5J4ZqVwRN4iADmiPEL2FVRYj4B1y4QCPPQAERIwFuBu1eVBPGEmauj4ApAgpz5xKF3JUhMmIUCgEOSoy9YOAQgIDCey9hFLHABIEZ2/93D43WrQeXIvWsBMNQ+bzxml3osGIQAoKt9XnsEsEWSrtoB6NF4j5zVX6nHgnpAYktmuXdtQVAPWHpA5CXBvloABBEEiwIqGv29igsAwuKWTyVreoFkgdw1IBcAbOcy1Sq/vNqGay8FvSwEAD+Wx6JLiS0BtxYA+qNp6hHAneXetQBYIxmaDy+YIMdrEwIAgaS+b8xtH48jJXAaShBkyPPaac1+odcQTDmcGWr2uSPjsV5DFhIAU82uxsq2tU9tda+9BpcA1HkcGRoXOySvt1WYWFs9g3uIEAGcFnhvSI5SKHBewUCufT8Ed1eFE9ZcNc1dSXy8GtvDLmFGRJAnTEuAHTEPr8l8FUNqoVhbu2wTpM88vSP0WQ2e2todVrxFJsDwDivfVq/tCGDeMAFDYjjrXWZ+Pf6NZJfepEX/F2i4EAACQAAIAAEgAASAABAAAkAACAABaKL8CzAAuPuelr6IAx8AAAAASUVORK5CYII=)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover.-show-empty::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAM+SURBVHgB7ZnRbdswEIZ/OxnAnSAyMkDTCZpM0HSCJBMkncAU0AGSCepO0HSCJhMkfW4LMS999msBV+5RlGuLlGTJPBoBch9Aw6JESjwe745HQBAEQRAEQRAEQRCEl8YAuyJTI/zFKfbwlq6OqCRURuXdGRVN5ZGeuadnbjFWM+yA+ALIVEK/l1TOsRpwF6ZUUhKERkTiCcDMODChcoUwrkkIHxCJOAKws/4NVs050FROYmjDENxkyqzvpsGbdZ3CDAYY04AGRQFeFXU5bmAH65IUfdq+WeHVgOaZ11QuaLB36EKmzmGXT1LTD6sm8GmAXfP+4O2svuk8eMNYTYs2tu06Cawm9DGmreyDD3/GclL3Q6WwDdYNXtFgZ2XfS5LymsUw8iwBq/pZpc7M3qFq9gBP6RnyxTWMXRgOFA4mnxuf/aWuSVcvndoxx1LgWgIT51pTz6q1Rb4w940qJ6UgmrF96Wr7YPdadh2KXY/nTm3aIZJL1v63r2nb10WlbogzDlsQLgAT3lbRpRHjxRrRdaGOat7dm3AB2Nh+RY6viMdN67u3gMMGHDk93iIed2h79xZwuMHEuX6sXK2sfft6zdTCqdE13kFveHdvODSgOjDX+K2sfV987+C7vWdgBDcT8pHRcwIcAqh+5O+PB859E7FpbNdvWqnx3V6wgDhsgMa6MfozH9Pv0/9r6xKnXit3zdtd4SaOat4dRLgGLPC9cp3jGLHIPb//iEDCBZA7rsmP2fkY4p1Tc49AOAIh4/erEVqmjsHNzyJHkDi1wTFHuACM28vh7uQ+dYjT14WmW580fe15G64pR+aYxw0O4e7mEvg7RJeld/CtvU9ddmhTm07wpcRq9+wUyY0nYR/6lE7KYGrFplxDD/gEYFX+Af5MGe1Ie6trc1pdw6bYWIIkvkjQfpDJ9mrnjhnAQ2nEuvGjMKIPqB/8CeepEf+5gE1df0H9RkXDWO45bZn3yYcvB2JSanN6fn9A29uFGfSooe17ahPs+9eRgxHEwH5oXVq7P6u0ukYEdnM4uqCk5oByeN2xscWwOBfUiEh8ASyxVv2UhHFMb32NpuNxG97u7HhcEARBEARBEARBEISXxz+STv7SiHuLFAAAAABJRU5ErkJggg==)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover.-enable-encryption::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKESURBVHgB7ZnRbdswEIb/o+33jKAiddG3Ogsk1gTpBk0nqDtBnQkaT5B0groTKG0HqB6LukE0Qt6d6ELSChIqhm0IR8GB7wMEmLR00h2P1P0UoCiKoiiKoiiKouwehBbhLNmD6X0A0RDMA9uVVH/ltq8AY0pH/76hRVoLAGf772HMuf25t+bUwj7WuK1AGLQA/+p/tc5/x3rnHYm94oJ/v/mCFoieAd6RksdoAuGMDmefEZGoGcBZ/2SJ8ze279QeKR3NyB0ocWCP5ynPGPmpE5GoGcA/+9d4XOgcBcp5SmlRLD0/e5vA3GW1a2zA5q/sNTeIQLQM8KMfOoJVzjso/WsD1EnhnH7ErhvdE0Qi3hTo8HHQZlyscv6BRRB4EvaaISIRLwBMg7CNCTbnMmgZfodIxFwEk6cNSmc5NoTS/5erbEnSSh2wzex8ALpoCftKZGwh4hngBI8vfaXtWpteTAkjWghVas8VMgPEIa9qCbGiSDYDOj0nYGI5D297cQ8xxDKgKmOva92uqPkI3OZNRq2S0G46JcEfTkc8f1U2Qi4DzN241uPq/gP3oE1TltKrqbPhbQWwmEASnAK1ao3KkcRc9TZ8Fj3BmGMIIRiAsPSlw6sfEOO2XkUmEOJFFEKxpLBDS2HsOBoA7DgaAEQihnCJgWQAirDZFdMES7bGN95dWodcAMoyLHwMnUtkwUJhmlBe8zYGADStdVhx1PvT9MOG31fIXg+dDdQrP56fQgjh/YD9MztanxCTspxYkTSCEMKLoFeEYum5hLy6hxiiAVgot3nqRgnSOJvCu0GOaN8G/QaJGy2yMpmo2RuB7ZuF3eJKU6kNEEVRFEVRFEVRFEVRlHvYheXBAEeGBAAAAABJRU5ErkJggg==)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover.-disable-encryption::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKZSURBVHgB7ZlRbtpAEIb/NfCeI1ClVH0ruUATnyA9QnqCNidIOEHCCUhP0OQETtsDlMdKtApHyDuxpzNrV8EGAXJnLSLPJ1liF1h7/p3dnRkDhmEYhmEYRjtxaBBK+gdA9wyd6BhEQ+7qF19N4dwcKd25eHaDBmlMAEoOPyCKJvzxYMtP58gwakqICA1A3wdXbPxXbDde6PNTTejHmws0QHAP8IZkdIk6OFy797NzBCSoB1AyOFtj/CP3jfiK3fHMycUuf8TXl9UB8NkvnYAE9QD6NnjA80Yn8PpexC6ez9f+PnnL7p8mlf+wYItX/J9HBCCYB/jZLxuCTcYLLv7FAnViiNHP5CdHIMItgQ6dltqEm03G/yMXgcbl3ugEgQgnALlhuY0xdue+1IroHQIRchPsLzf4XJ9iR1z8+37TWJo0EgfsM13sKf54bIDWe4AJgJbTegGCbTQcBhP+H64T8JUuRrsEUXVQF8AXPTq9C0lkoAlnhoUQqjmBqgDe+KgnycwQYZgW+YSaCLp7gMx8OOPhx87voYaaBxSp7EOlWxKbj8DTtM6sFWW0K6xklVxLWA2Xa6HnAZ20OjOS+x/Jg9Z1WRf/uZUx/FglSK1IoicAVVw/y8411qofw3vRElF0CiU094CSAH721HiqZpJ9KPEiAqFQ5TDBQmG0HBMALccEQCDyN8H7j6YA83Kzq5YTrHk9tnOFeRt6AmTZXXlkN9HwgjzD9PnAUuc+CgBXjfw4Oer9rPtyUwyn5PWJjIFq5EeLEZRQrgccXvNsfUJIsmzMYbZasUV5E0wvobg+1zAt7qGGqgB55raIZZagjYypXA0SwhVFpUAis+X4xaZz9U4E4pOFZHN1t1oFEMMwDMMwDMMwDMMwjL+78e87Hb4jwAAAAABJRU5ErkJggg==)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover.-edit-wallet::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMSSURBVHgB7ZrRcdpAEIb/w/BOB1EHIY8Z4gQ6oIM4FWRSgU0HSQXGJaQCMCTPIRUEVxA9Z4DLrrBmJCFpdNLqxIz3mzE6nWWs/7+93TsBoCiKoiiKoijKS8TgkljaIa4wQw8fYBE894bU/o4DVpiaHYS5HAPWdkZ3c0+tYclVd7g2cwhyGQZs7C1YXBUMFnhnPkGI7g1wER8jaEK3BuSJtzTnDb7RcUtHnv8j6v1M7SB1nZAJ3RlQJP6AKSW7bap/aQNKjss2TOjGABfxMS2Z0INviuf8l0LxDJdANshil+q3uMEPe4+a+I2A8oQX0nBMMS4xgSmKBLKISuQKjviLgKKw3+MNHR/A9f9Iwn7aUen7FEUCcIsa+ImAKnN+bRd0Nx/hEgl9/En19SgqxuYJDrQfAVUT3ntz4xwJoOVxkgNFkyPtGuCa7V1NsMiO9hCOtGdAnVLHuJhg8CpzvoMj7RhQV3xMFRM4BwCTVN/+EgxoKj6mzAQWP6C+NLW2y7JVIC8z1xGfJFsd/tGRxdvMOqBHCXDs/j/6kGRAtdgmzpuKZzgS1haRCRwJg2iDFGSumtcRz8hOAV6Wpt89BKKfZiSnQ574a3OHmsgZsLGTsz6+WQ7XU8KqD/89PyY7p5F4Rs6A7MhYPNLrtrEJccITHvkYSQNGmfMVlaUpmpjQsnhGzoAeXqfODQmfmrC2CR7EM5JJMB0BB5yych0TPIlnZAxYRouU5Do8TC1KXEzwKJ6RMeDq7GbPa3IVEzyLZ2QMyCbAI37nXldmQgfiGRkDsgmQazZ/zJVHngm8huhAPCOzF9jYX8gmQRa4j5bB+SvB4hGPaV0809wAHuk+/hb8dvs82pwnJvQaRNFypLYpFM54Ec803wz1UfbUZnRmDm+Wym33Jp5pbgAnQImJZKPt7pw+5PgKjzQ3gEPaoh78aNtEyfCRFk4L2vU13zk6IhEBwwrXhNHzOhbLJdJEuWFbmCA9ImHAAwmaJc5Z7IpaT9EnvANqv5X/ZocUMmXw9CgsuJRRVRRFURRFURRFURRFKeM/oxaTpik5gaYAAAAASUVORK5CYII=)}@-webkit-keyframes floatup{50%{opacity:1}100%{-webkit-transform:translateY(-20px);transform:translateY(-20px);opacity:0}}@keyframes floatup{50%{opacity:1}100%{-webkit-transform:translateY(-20px);transform:translateY(-20px);opacity:0}}.copy-label[_ngcontent-%COMP%]{color:#0072ff;opacity:0;font-size:12px;position:relative;padding-left:10px}.copy-label[_ngcontent-%COMP%]::after{content:attr(data-label);position:absolute;top:0;left:4px;opacity:0;line-height:1}.copying[_ngcontent-%COMP%] .copy-label[_ngcontent-%COMP%]::after{-webkit-animation:.5s ease-in-out floatup;animation:.5s ease-in-out floatup}"]],data:{}});function sf(t){return r._33(0,[(t()(),r._9(0,0,null,null,52,"div",[["class","-row -detail"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"div",[["class","-width-70 -grey"]],null,null,null,null,null)),(t()(),r._31(3,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,13,"div",[["class","-flex-fill -address -grey"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,0,"img",[["class","qr-code-button"],["src","../../../../../assets/img/qr-code-black.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.showQrCode(n,t.parent.context.$implicit.address)&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,8,"span",[],null,[[null,"click"],[null,"mouseleave"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.copyAddress(n,t.parent.context.$implicit)&&r),"mouseleave"===e&&(r=0!=(t.parent.context.$implicit.copying=!1)&&r),r},null,null)),r._8(10,278528,null,0,j,[r.u,r.v,r.l,r.G],{ngClass:[0,"ngClass"]},null),r._26(11,{copying:0}),(t()(),r._31(12,null,["\n ","\n "])),(t()(),r._9(13,0,null,null,3,"span",[["class","copy-label"]],[[1,"data-label",0]],null,null,null,null)),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(15,null,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(20,0,null,null,2,"div",[["class","-width-150 -text-right"]],null,null,null,null,null)),(t()(),r._31(21,null,["",""])),r._27(22,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(24,0,null,null,2,"div",[["class","-width-150 -text-right -grey"]],null,null,null,null,null)),(t()(),r._31(25,null,["",""])),r._27(26,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(28,0,null,null,23,"div",[["class","-width-70 -options"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(30,16777216,null,null,3,"mat-icon",[["aria-haspopup","true"],["class","mat-icon"],["role","img"]],null,[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==r._22(t,32)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==r._22(t,32)._handleKeydown(n)&&i),"click"===e&&(i=!1!==r._22(t,32)._handleClick(n)&&i),i},Xp,Qp)),r._8(31,638976,null,0,_u,[r.l,du,[8,null]],null,null),r._8(32,1196032,null,0,Du,[$i,r.l,r.R,Tu,[2,Su],[8,null],[2,gi]],{menu:[0,"menu"]},null),(t()(),r._31(-1,0,["more_vert"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(35,0,null,null,15,"mat-menu",[["class","compact"]],null,null,null,$p,Kp)),r._8(36,1228800,[["optionsMenu",4]],1,Su,[r.l,r.B,Cu],{overlapTrigger:[0,"overlapTrigger"],panelClass:[1,"panelClass"]},null),r._29(603979776,1,{items:1}),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(39,0,null,0,3,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0,o=t.component;return"click"===e&&(i=!1!==r._22(t,40)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,40)._emitHoverEvent()&&i),"click"===e&&(i=!1!==o.copyAddress(n,t.parent.context.$implicit,1e3)&&i),i},ef,tf)),r._8(40,180224,[[1,4]],0,Lu,[r.l],null,null),(t()(),r._31(41,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(44,0,null,0,5,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"],["routerLink","/settings/outputs"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,45)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,45)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._22(t,46).onClick()&&i),i},ef,tf)),r._8(45,180224,[[1,4]],0,Lu,[r.l],null,null),r._8(46,16384,null,0,Fh,[Ih,Kd,[8,null],r.G,r.l],{queryParams:[0,"queryParams"],routerLink:[1,"routerLink"]},null),r._26(47,{addr:0}),(t()(),r._31(48,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,10,0,t(e,11,0,e.parent.context.$implicit.copying)),t(e,31,0),t(e,32,0,r._22(e,36)),t(e,36,0,!1,"compact"),t(e,46,0,t(e,47,0,e.parent.context.$implicit.address),"/settings/outputs")},function(t,e){t(e,3,0,e.parent.context.index+1),t(e,12,0,e.parent.context.$implicit.address),t(e,13,0,r._32(e,13,0,r._22(e,14).transform("wallet.address.copied"))),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("wallet.address.copy"))),t(e,21,0,r._32(e,21,0,t(e,22,0,r._22(e.parent.parent,0),e.parent.context.$implicit.coins?e.parent.context.$implicit.coins:0,"1.0-6"))),t(e,25,0,r._32(e,25,0,t(e,26,0,r._22(e.parent.parent,0),e.parent.context.$implicit.hours?e.parent.context.$implicit.hours:0,"1.0-6"))),t(e,39,0,r._22(e,40)._highlighted,r._22(e,40)._triggersSubmenu,r._22(e,40)._getTabIndex(),r._22(e,40).disabled.toString(),r._22(e,40).disabled||null),t(e,41,0,r._32(e,41,0,r._22(e,42).transform("wallet.address."+(e.parent.context.$implicit.copying?"copied":"copy-address")))),t(e,44,0,r._22(e,45)._highlighted,r._22(e,45)._triggersSubmenu,r._22(e,45)._getTabIndex(),r._22(e,45).disabled.toString(),r._22(e,45).disabled||null),t(e,48,0,r._32(e,48,0,r._22(e,49).transform("wallet.address.outputs")))})}function af(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,sf)),r._8(3,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"]))],function(t,e){t(e,3,0,!e.component.wallet.hideEmpty||e.context.$implicit.coins)},null)}function lf(t){return r._33(0,[r._25(0,Ct,[r.w]),(t()(),r._9(1,0,null,null,35,"div",[["class","-row -actions"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(3,0,null,null,5,"div",[["class","-button"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.newAddress()&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,2,"span",[["class","-img -new-address"]],null,null,null,null,null)),(t()(),r._31(6,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,7,"div",[["class","-button"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.toggleEmpty()&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,4,"span",[],null,null,null,null,null)),r._8(13,278528,null,0,j,[r.u,r.v,r.l,r.G],{ngClass:[0,"ngClass"]},null),r._26(14,{"-img":0,"-show-empty":1,"-hide-empty":2}),(t()(),r._31(15,null,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(19,0,null,null,0,"div",[["class","flex-fill"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(21,0,null,null,7,"div",[["class","-button"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.toggleEncryption()&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(23,0,null,null,4,"span",[],null,null,null,null,null)),r._8(24,278528,null,0,j,[r.u,r.v,r.l,r.G],{ngClass:[0,"ngClass"]},null),r._26(25,{"-img":0,"-enable-encryption":1,"-disable-encryption":2}),(t()(),r._31(26,null,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(30,0,null,null,5,"div",[["class","-button"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.editWallet()&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(32,0,null,null,2,"span",[["class","-img -edit-wallet"]],null,null,null,null,null)),(t()(),r._31(33,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n\n"])),(t()(),r._4(16777216,null,null,1,null,af)),r._8(39,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,13,0,t(e,14,0,!0,n.wallet.hideEmpty,!n.wallet.hideEmpty)),t(e,24,0,t(e,25,0,!0,!n.wallet.encrypted,n.wallet.encrypted)),t(e,39,0,n.wallet?n.wallet.addresses:r._3)},function(t,e){var n=e.component;t(e,6,0,r._32(e,6,0,r._22(e,7).transform("wallet.new-address"))),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("wallet."+(n.wallet.hideEmpty?"show":"hide")+"-empty"))),t(e,26,0,r._32(e,26,0,r._22(e,27).transform("wallet."+(n.wallet.encrypted?"decrypt":"encrypt")))),t(e,33,0,r._32(e,33,0,r._22(e,34).transform("wallet.edit")))})}var uf=r._7({encapsulation:2,styles:[".mat-progress-bar{display:block;height:5px;overflow:hidden;position:relative;transition:opacity 250ms linear;width:100%}.mat-progress-bar .mat-progress-bar-element,.mat-progress-bar .mat-progress-bar-fill::after{height:100%;position:absolute;width:100%}.mat-progress-bar .mat-progress-bar-background{background-repeat:repeat-x;background-size:10px 4px;display:none}.mat-progress-bar .mat-progress-bar-buffer{transform-origin:top left;transition:transform 250ms ease}.mat-progress-bar .mat-progress-bar-secondary{display:none}.mat-progress-bar .mat-progress-bar-fill{animation:none;transform-origin:top left;transition:transform 250ms ease}.mat-progress-bar .mat-progress-bar-fill::after{animation:none;content:'';display:inline-block;left:0}.mat-progress-bar[dir=rtl],[dir=rtl] .mat-progress-bar{transform:rotateY(180deg)}.mat-progress-bar[mode=query]{transform:rotateZ(180deg)}.mat-progress-bar[mode=query][dir=rtl],[dir=rtl] .mat-progress-bar[mode=query]{transform:rotateZ(180deg) rotateY(180deg)}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-fill,.mat-progress-bar[mode=query] .mat-progress-bar-fill{transition:none}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary,.mat-progress-bar[mode=query] .mat-progress-bar-primary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-translate 2s infinite linear;left:-145.166611%}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-primary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-scale 2s infinite linear}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary,.mat-progress-bar[mode=query] .mat-progress-bar-secondary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-translate 2s infinite linear;left:-54.888891%;display:block}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-secondary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-scale 2s infinite linear}.mat-progress-bar[mode=buffer] .mat-progress-bar-background{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-background-scroll 250ms infinite linear;display:block}@keyframes mat-progress-bar-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(.5,0,.70173,.49582);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635);transform:translateX(83.67142%)}100%{transform:translateX(200.61106%)}}@keyframes mat-progress-bar-primary-indeterminate-scale{0%{transform:scaleX(.08)}36.65%{animation-timing-function:cubic-bezier(.33473,.12482,.78584,1);transform:scaleX(.08)}69.15%{animation-timing-function:cubic-bezier(.06,.11,.6,1);transform:scaleX(.66148)}100%{transform:scaleX(.08)}}@keyframes mat-progress-bar-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(.15,0,.51506,.40969);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(.31033,.28406,.8,.73371);transform:translateX(37.65191%)}48.35%{animation-timing-function:cubic-bezier(.4,.62704,.6,.90203);transform:translateX(84.38617%)}100%{transform:translateX(160.27778%)}}@keyframes mat-progress-bar-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(.15,0,.51506,.40969);transform:scaleX(.08)}19.15%{animation-timing-function:cubic-bezier(.31033,.28406,.8,.73371);transform:scaleX(.4571)}44.15%{animation-timing-function:cubic-bezier(.4,.62704,.6,.90203);transform:scaleX(.72796)}100%{transform:scaleX(.08)}}@keyframes mat-progress-bar-background-scroll{to{transform:translateX(-10px)}}"],data:{}});function cf(t){return r._33(2,[(t()(),r._9(0,0,null,null,0,"div",[["class","mat-progress-bar-background mat-progress-bar-element"]],null,null,null,null,null)),(t()(),r._9(1,0,null,null,1,"div",[["class","mat-progress-bar-buffer mat-progress-bar-element"]],null,null,null,null,null)),r._8(2,278528,null,0,U,[r.v,r.l,r.G],{ngStyle:[0,"ngStyle"]},null),(t()(),r._9(3,0,null,null,1,"div",[["class","mat-progress-bar-primary mat-progress-bar-fill mat-progress-bar-element"]],null,null,null,null,null)),r._8(4,278528,null,0,U,[r.v,r.l,r.G],{ngStyle:[0,"ngStyle"]},null),(t()(),r._9(5,0,null,null,0,"div",[["class","mat-progress-bar-secondary mat-progress-bar-fill mat-progress-bar-element"]],null,null,null,null,null))],function(t,e){var n=e.component;t(e,2,0,n._bufferTransform()),t(e,4,0,n._primaryTransform())},null)}var df=r._7({encapsulation:2,styles:[".mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}.mat-toolbar-multiple-rows{min-height:64px}.mat-toolbar-row,.mat-toolbar-single-row{height:64px}@media (max-width:600px){.mat-toolbar-multiple-rows{min-height:56px}.mat-toolbar-row,.mat-toolbar-single-row{height:56px}}"],data:{}});function hf(t){return r._33(2,[r._21(null,0),r._21(null,1)],null,null)}var pf=r._7({encapsulation:2,styles:[".mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px}[disabled].mat-button,[disabled].mat-fab,[disabled].mat-icon-button,[disabled].mat-mini-fab,[disabled].mat-raised-button{cursor:default}.cdk-keyboard-focused.mat-button .mat-button-focus-overlay,.cdk-keyboard-focused.mat-fab .mat-button-focus-overlay,.cdk-keyboard-focused.mat-icon-button .mat-button-focus-overlay,.cdk-keyboard-focused.mat-mini-fab .mat-button-focus-overlay,.cdk-keyboard-focused.mat-raised-button .mat-button-focus-overlay,.cdk-program-focused.mat-button .mat-button-focus-overlay,.cdk-program-focused.mat-fab .mat-button-focus-overlay,.cdk-program-focused.mat-icon-button .mat-button-focus-overlay,.cdk-program-focused.mat-mini-fab .mat-button-focus-overlay,.cdk-program-focused.mat-raised-button .mat-button-focus-overlay{opacity:1}.mat-button::-moz-focus-inner,.mat-fab::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-mini-fab::-moz-focus-inner,.mat-raised-button::-moz-focus-inner{border:0}.mat-fab,.mat-mini-fab,.mat-raised-button{transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]),.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]),.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]),.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}[disabled].mat-fab,[disabled].mat-mini-fab,[disabled].mat-raised-button{box-shadow:none}.mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{transition:none;opacity:0}.mat-button:hover .mat-button-focus-overlay{opacity:1}.mat-fab{min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{color:currentColor}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*{vertical-align:middle}.mat-button-focus-overlay,.mat-button-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-focus-overlay{background-color:rgba(0,0,0,.12);border-radius:inherit;opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}@media screen and (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:rgba(255,255,255,.5)}}.mat-button-ripple-round{border-radius:50%;z-index:1}@media screen and (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],data:{}});function ff(t){return r._33(2,[(t()(),r._9(0,0,null,null,1,"span",[["class","mat-button-wrapper"]],null,null,null,null,null)),r._21(null,0),(t()(),r._9(2,0,null,null,1,"div",[["class","mat-button-ripple mat-ripple"],["matRipple",""]],[[2,"mat-button-ripple-round",null],[2,"mat-ripple-unbounded",null]],null,null,null,null)),r._8(3,212992,null,0,Go,[r.l,r.B,$r,[2,Uo]],{centered:[0,"centered"],disabled:[1,"disabled"],trigger:[2,"trigger"]},null),(t()(),r._9(4,0,null,null,0,"div",[["class","mat-button-focus-overlay"]],null,null,null,null,null))],function(t,e){var n=e.component;t(e,3,0,n._isIconButton,n._isRippleDisabled(),n._getHostElement())},function(t,e){var n=e.component;t(e,2,0,n._isRoundButton||n._isIconButton,r._22(e,3).unbounded)})}var _f=r._7({encapsulation:2,styles:[".mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px}[disabled].mat-button,[disabled].mat-fab,[disabled].mat-icon-button,[disabled].mat-mini-fab,[disabled].mat-raised-button{cursor:default}.cdk-keyboard-focused.mat-button .mat-button-focus-overlay,.cdk-keyboard-focused.mat-fab .mat-button-focus-overlay,.cdk-keyboard-focused.mat-icon-button .mat-button-focus-overlay,.cdk-keyboard-focused.mat-mini-fab .mat-button-focus-overlay,.cdk-keyboard-focused.mat-raised-button .mat-button-focus-overlay,.cdk-program-focused.mat-button .mat-button-focus-overlay,.cdk-program-focused.mat-fab .mat-button-focus-overlay,.cdk-program-focused.mat-icon-button .mat-button-focus-overlay,.cdk-program-focused.mat-mini-fab .mat-button-focus-overlay,.cdk-program-focused.mat-raised-button .mat-button-focus-overlay{opacity:1}.mat-button::-moz-focus-inner,.mat-fab::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-mini-fab::-moz-focus-inner,.mat-raised-button::-moz-focus-inner{border:0}.mat-fab,.mat-mini-fab,.mat-raised-button{transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]),.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]),.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]),.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}[disabled].mat-fab,[disabled].mat-mini-fab,[disabled].mat-raised-button{box-shadow:none}.mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{transition:none;opacity:0}.mat-button:hover .mat-button-focus-overlay{opacity:1}.mat-fab{min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{color:currentColor}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*{vertical-align:middle}.mat-button-focus-overlay,.mat-button-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-focus-overlay{background-color:rgba(0,0,0,.12);border-radius:inherit;opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}@media screen and (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:rgba(255,255,255,.5)}}.mat-button-ripple-round{border-radius:50%;z-index:1}@media screen and (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],data:{}});function mf(t){return r._33(2,[(t()(),r._9(0,0,null,null,1,"span",[["class","mat-button-wrapper"]],null,null,null,null,null)),r._21(null,0),(t()(),r._9(2,0,null,null,1,"div",[["class","mat-button-ripple mat-ripple"],["matRipple",""]],[[2,"mat-button-ripple-round",null],[2,"mat-ripple-unbounded",null]],null,null,null,null)),r._8(3,212992,null,0,Go,[r.l,r.B,$r,[2,Uo]],{centered:[0,"centered"],disabled:[1,"disabled"],trigger:[2,"trigger"]},null),(t()(),r._9(4,0,null,null,0,"div",[["class","mat-button-focus-overlay"]],null,null,null,null,null))],function(t,e){var n=e.component;t(e,3,0,n._isIconButton,n._isRippleDisabled(),n._getHostElement())},function(t,e){var n=e.component;t(e,2,0,n._isRoundButton||n._isIconButton,r._22(e,3).unbounded)})}var gf=function(t){this.appService=t},yf=r._7({encapsulation:0,styles:[["[_nghost-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;color:#fafafa;width:100%}.buttons-left[_ngcontent-%COMP%]{display:inline-block;padding:0 10px;width:120px}.title[_ngcontent-%COMP%]{font-size:13px;font-weight:700;display:inline;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;letter-spacing:1px;line-height:50px;text-align:center}.buttons-right[_ngcontent-%COMP%]{display:inline-block;text-align:right;width:120px}.buttons-right[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:inline-block}button[_ngcontent-%COMP%]{height:50px;width:50px}.color-primary[_ngcontent-%COMP%]{color:#0072ff}"]],data:{}});function vf(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,1)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,1)._emitHoverEvent()&&i),i},ef,tf)),r._8(1,180224,[[1,4]],0,Lu,[r.l],{disabled:[0,"disabled"]},null),(t()(),r._31(2,0,[" v"," "]))],function(t,e){t(e,1,0,!0)},function(t,e){var n=e.component;t(e,0,0,r._22(e,1)._highlighted,r._22(e,1)._triggersSubmenu,r._22(e,1)._getTabIndex(),r._22(e,1).disabled.toString(),r._22(e,1).disabled||null),t(e,2,0,n.appService.version.version)})}function bf(t){return r._33(0,[(t()(),r._9(0,0,null,null,0,"div",[["class","buttons-left"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(2,0,null,null,1,"div",[["class","title"]],null,null,null,null,null)),(t()(),r._31(3,null,["\n ","\n"])),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(5,0,null,null,74,"div",[["class","buttons-right"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,34,"mat-menu",[],null,null,null,$p,Kp)),r._8(8,1228800,[["settingsMenu",4]],1,Su,[r.l,r.B,Cu],{overlapTrigger:[0,"overlapTrigger"]},null),r._29(603979776,1,{items:1}),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(11,0,null,0,5,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,12)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,12)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._22(t,13).onClick()&&i),i},ef,tf)),r._8(12,180224,[[1,4]],0,Lu,[r.l],null,null),r._8(13,16384,null,0,Fh,[Ih,Kd,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._24(14,1),(t()(),r._31(15,0,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(18,0,null,0,5,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,19)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,19)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._22(t,20).onClick()&&i),i},ef,tf)),r._8(19,180224,[[1,4]],0,Lu,[r.l],null,null),r._8(20,16384,null,0,Fh,[Ih,Kd,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._24(21,1),(t()(),r._31(22,0,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(25,0,null,0,5,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,26)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,26)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._22(t,27).onClick()&&i),i},ef,tf)),r._8(26,180224,[[1,4]],0,Lu,[r.l],null,null),r._8(27,16384,null,0,Fh,[Ih,Kd,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._24(28,1),(t()(),r._31(29,0,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(32,0,null,0,5,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,33)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,33)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._22(t,34).onClick()&&i),i},ef,tf)),r._8(33,180224,[[1,4]],0,Lu,[r.l],null,null),r._8(34,16384,null,0,Fh,[Ih,Kd,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._24(35,1),(t()(),r._31(36,0,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._4(16777216,null,0,1,null,vf)),r._8(40,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,0,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(43,0,null,null,15,"mat-menu",[],null,null,null,$p,Kp)),r._8(44,1228800,[["menuMenu",4]],1,Su,[r.l,r.B,Cu],{overlapTrigger:[0,"overlapTrigger"]},null),r._29(603979776,2,{items:1}),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(47,0,null,0,5,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,48)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,48)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._22(t,49).onClick()&&i),i},ef,tf)),r._8(48,180224,[[2,4]],0,Lu,[r.l],null,null),r._8(49,16384,null,0,Fh,[Ih,Kd,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._24(50,1),(t()(),r._31(51,0,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(54,0,null,0,3,"a",[["class","color-primary mat-menu-item"],["href","http://172.104.173.74:8001/app/blocks/1"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,55)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,55)._emitHoverEvent()&&i),i},ef,tf)),r._8(55,180224,[[2,4]],0,Lu,[r.l],null,null),(t()(),r._31(56,0,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(60,16777216,null,null,8,"button",[["aria-haspopup","true"],["class","mat-icon-button"],["mat-icon-button",""]],[[8,"disabled",0]],[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==r._22(t,63)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==r._22(t,63)._handleKeydown(n)&&i),"click"===e&&(i=!1!==r._22(t,63)._handleClick(n)&&i),i},ff,pf)),r._8(61,180224,null,0,cl,[r.l,$r,To],null,null),r._8(62,16384,null,0,ul,[],null,null),r._8(63,1196032,null,0,Du,[$i,r.l,r.R,Tu,[2,Su],[8,null],[2,gi]],{menu:[0,"menu"]},null),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(65,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Xp,Qp)),r._8(66,638976,null,0,_u,[r.l,du,[8,null]],null,null),(t()(),r._31(-1,0,["settings"])),(t()(),r._31(-1,0,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(70,16777216,null,null,8,"button",[["aria-haspopup","true"],["class","mat-icon-button"],["mat-icon-button",""]],[[8,"disabled",0]],[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==r._22(t,73)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==r._22(t,73)._handleKeydown(n)&&i),"click"===e&&(i=!1!==r._22(t,73)._handleClick(n)&&i),i},ff,pf)),r._8(71,180224,null,0,cl,[r.l,$r,To],null,null),r._8(72,16384,null,0,ul,[],null,null),r._8(73,1196032,null,0,Du,[$i,r.l,r.R,Tu,[2,Su],[8,null],[2,gi]],{menu:[0,"menu"]},null),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(75,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Xp,Qp)),r._8(76,638976,null,0,_u,[r.l,du,[8,null]],null,null),(t()(),r._31(-1,0,["menu"])),(t()(),r._31(-1,0,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,8,0,!1),t(e,13,0,t(e,14,0,"/settings/network")),t(e,20,0,t(e,21,0,"/settings/blockchain")),t(e,27,0,t(e,28,0,"/settings/outputs")),t(e,34,0,t(e,35,0,"/settings/pending-transactions")),t(e,40,0,n.appService.version),t(e,44,0,!1),t(e,49,0,t(e,50,0,"/settings/backup")),t(e,63,0,r._22(e,8)),t(e,66,0),t(e,73,0,r._22(e,44)),t(e,76,0)},function(t,e){t(e,3,0,e.component.headline),t(e,11,0,r._22(e,12)._highlighted,r._22(e,12)._triggersSubmenu,r._22(e,12)._getTabIndex(),r._22(e,12).disabled.toString(),r._22(e,12).disabled||null),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("title.network"))),t(e,18,0,r._22(e,19)._highlighted,r._22(e,19)._triggersSubmenu,r._22(e,19)._getTabIndex(),r._22(e,19).disabled.toString(),r._22(e,19).disabled||null),t(e,22,0,r._32(e,22,0,r._22(e,23).transform("title.blockchain"))),t(e,25,0,r._22(e,26)._highlighted,r._22(e,26)._triggersSubmenu,r._22(e,26)._getTabIndex(),r._22(e,26).disabled.toString(),r._22(e,26).disabled||null),t(e,29,0,r._32(e,29,0,r._22(e,30).transform("title.outputs"))),t(e,32,0,r._22(e,33)._highlighted,r._22(e,33)._triggersSubmenu,r._22(e,33)._getTabIndex(),r._22(e,33).disabled.toString(),r._22(e,33).disabled||null),t(e,36,0,r._32(e,36,0,r._22(e,37).transform("title.pending-txs"))),t(e,47,0,r._22(e,48)._highlighted,r._22(e,48)._triggersSubmenu,r._22(e,48)._getTabIndex(),r._22(e,48).disabled.toString(),r._22(e,48).disabled||null),t(e,51,0,r._32(e,51,0,r._22(e,52).transform("title.backup"))),t(e,54,0,r._22(e,55)._highlighted,r._22(e,55)._triggersSubmenu,r._22(e,55)._getTabIndex(),r._22(e,55).disabled.toString(),r._22(e,55).disabled||null),t(e,56,0,r._32(e,56,0,r._22(e,57).transform("title.explorer"))),t(e,60,0,r._22(e,61).disabled||null),t(e,70,0,r._22(e,71).disabled||null)})}var wf=r._7({encapsulation:2,styles:[".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2s linear infinite}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4s;animation-timing-function:cubic-bezier(.35,0,.25,1);animation-iteration-count:infinite}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10s cubic-bezier(.87,.03,.33,1) infinite}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.60617px;transform:rotate(0)}12.5%{stroke-dashoffset:56.54867px;transform:rotate(0)}12.51%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(72.5deg)}25.1%{stroke-dashoffset:268.60617px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.54867px;transform:rotate(270deg)}37.51%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(161.5deg)}50.01%{stroke-dashoffset:268.60617px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.54867px;transform:rotate(180deg)}62.51%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(251.5deg)}75.01%{stroke-dashoffset:268.60617px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.54867px;transform:rotate(90deg)}87.51%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}"],data:{}});function Mf(t){return r._33(2,[(t()(),r._9(0,0,null,null,1,":svg:svg",[["focusable","false"],["preserveAspectRatio","xMidYMid meet"]],[[4,"width","px"],[4,"height","px"],[1,"viewBox",0]],null,null,null,null)),(t()(),r._9(1,0,null,null,0,":svg:circle",[["cx","50%"],["cy","50%"]],[[1,"r",0],[4,"animation-name",null],[4,"stroke-dashoffset","px"],[4,"stroke-dasharray","px"],[4,"stroke-width","%"]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,0,0,n._elementSize,n._elementSize,n._viewBox),t(e,1,0,n._circleRadius,"mat-progress-spinner-stroke-rotate-"+n.diameter,n._strokeDashOffset,n._strokeCircumference,n._circleStrokeWidth)})}var kf=r._7({encapsulation:0,styles:[[".button-container[_ngcontent-%COMP%]{display:inline-block}button[_ngcontent-%COMP%]{border-radius:25px;height:50px;margin:20px 10px 0;width:160px;overflow:hidden}button.enabled[_ngcontent-%COMP%]{background-color:rgba(30,34,39,.05);-webkit-box-shadow:none;box-shadow:none;color:#1e2227}mat-icon[_ngcontent-%COMP%]{margin-left:10px;opacity:.3;line-height:20px}mat-spinner[_ngcontent-%COMP%]{display:inline-block;height:24px!important;width:24px!important;margin-left:10px;position:relative;top:-2px}"]],data:{}});function xf(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Xp,Qp)),r._8(1,638976,null,0,_u,[r.l,du,[8,null]],null,null),(t()(),r._31(-1,0,["done"]))],function(t,e){t(e,1,0)},null)}function Lf(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Xp,Qp)),r._8(1,638976,null,0,_u,[r.l,du,[8,null]],null,null),(t()(),r._31(-1,0,["error"]))],function(t,e){t(e,1,0)},null)}function Cf(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"mat-spinner",[["class","in-button mat-spinner mat-progress-spinner"],["mode","indeterminate"],["role","progressbar"]],[[4,"width","px"],[4,"height","px"]],null,null,Mf,wf)),r._8(1,573440,null,0,Qu,[r.l,$r,[2,Dt]],null,null)],null,function(t,e){t(e,0,0,r._22(e,1)._elementSize,r._22(e,1)._elementSize)})}function Sf(t){return r._33(0,[r._29(402653184,1,{tooltip:0}),(t()(),r._9(1,0,null,null,21,"div",[["class","button-container"]],null,[[null,"mouseenter"],[null,"mouseleave"]],function(t,e,n){var r=!0,i=t.component;return"mouseenter"===e&&(r=0!=(i.mouseOver=!0)&&r),"mouseleave"===e&&(r=0!=(i.mouseOver=!1)&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(3,16777216,null,null,18,"button",[["class","mat-button mat-raised-button"],["color","primary"],["mat-button",""],["mat-raised-button",""],["type","submit"]],[[8,"disabled",0]],[[null,"click"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0,o=t.component;return"longpress"===e&&(i=!1!==r._22(t,9).show()&&i),"keydown"===e&&(i=!1!==r._22(t,9)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,9).hide(1500)&&i),"click"===e&&(i=!1!==(0!==o.state?o.onClick():null)&&i),i},ff,pf)),r._8(4,278528,null,0,j,[r.u,r.v,r.l,r.G],{ngClass:[0,"ngClass"]},null),r._26(5,{enabled:0}),r._8(6,180224,null,0,cl,[r.l,$r,To],{disabled:[0,"disabled"],color:[1,"color"]},null),r._8(7,16384,null,0,al,[],null,null),r._8(8,16384,null,0,ll,[],null,null),r._8(9,147456,[[1,4],["tooltip",4]],0,Bu,[$i,r.l,di,r.R,r.B,$r,Mo,To,Nu,[2,gi]],{message:[0,"message"]},null),(t()(),r._31(-1,0,["\n "])),r._21(0,0),(t()(),r._31(-1,0,["\n "])),(t()(),r._4(16777216,null,0,1,null,xf)),r._8(14,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,0,["\n "])),(t()(),r._4(16777216,null,0,1,null,Lf)),r._8(17,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,0,["\n "])),(t()(),r._4(16777216,null,0,1,null,Cf)),r._8(20,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,0,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,4,0,t(e,5,0,!n.disabled)),t(e,6,0,n.disabled&&!n.forceEmitEvents,"primary"),t(e,9,0,n.error?n.error:null),t(e,14,0,1===n.state),t(e,17,0,2===n.state),t(e,20,0,0===n.state)},function(t,e){t(e,3,0,r._22(e,6).disabled||null)})}var Tf=r._7({encapsulation:0,styles:[[".-small-button[_ngcontent-%COMP%] button{width:unset;height:unset;padding:0 10px;min-width:100px;margin:unset;font-size:13px}.-toggle[_ngcontent-%COMP%] button{-webkit-box-shadow:unset;box-shadow:unset;background-color:transparent!important;line-height:unset!important;min-height:26px}.-toggle[_ngcontent-%COMP%] button span{color:#171a1d;line-height:unset!important}.-toggle[_ngcontent-%COMP%] button.enabled{background-color:#171a1d!important}.-toggle[_ngcontent-%COMP%] button.enabled span{color:#fafafa}.-buttons-container[_ngcontent-%COMP%]{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px;background:rgba(255,255,255,.1);border-radius:100px;margin:0 auto;text-align:center}.light.-buttons-container[_ngcontent-%COMP%]{background:#f7f7f7}.light[_ngcontent-%COMP%] .-toggle[_ngcontent-%COMP%] button.enabled{background-color:#fff!important}.light[_ngcontent-%COMP%] .-toggle[_ngcontent-%COMP%] button.enabled span{color:#1e2227}"]],data:{}});function Of(t){return r._33(0,[(t()(),r._9(0,0,null,null,9,"div",[],[[8,"className",0]],null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,2,"app-button",[["class","-toggle dark -small-button"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.onLeftClick()&&r),r},Sf,kf)),r._8(3,49152,null,0,Mc,[],{disabled:[0,"disabled"],forceEmitEvents:[1,"forceEmitEvents"]},{action:"action"}),(t()(),r._31(4,0,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,2,"app-button",[["class","-toggle dark -small-button"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.onRightClick()&&r),r},Sf,kf)),r._8(7,49152,null,0,Mc,[],{disabled:[0,"disabled"],forceEmitEvents:[1,"forceEmitEvents"]},{action:"action"}),(t()(),r._31(8,0,["",""])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0,n.activeButton!==n.ButtonState.LeftButton,!0),t(e,7,0,n.activeButton!==n.ButtonState.RightButton,!0)},function(t,e){var n=e.component;t(e,0,0,r._12(1,"-buttons-container ",n.className,"")),t(e,4,0,n.leftButtonText),t(e,8,0,n.rightButtonText)})}var Df={otcEnabled:!1},Yf=function(){function t(t){this.navbarService=t,this.otcEnabled=Df.otcEnabled}return t.prototype.changeActiveComponent=function(t){this.navbarService.setActiveComponent(t)},t}(),Pf=r._7({encapsulation:0,styles:[["[_nghost-%COMP%]{background-color:#fbfbfb;min-height:66px}.-buttons[_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.-buttons[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%]{cursor:pointer;padding:0 20px}.-buttons[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{display:inline-block;float:left;height:66px;padding:17px 0;width:32px}.-buttons[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:inline-block;font-size:14px;height:66px;line-height:66px;margin:0 5px}.-buttons[_ngcontent-%COMP%] .-low-opacity[_ngcontent-%COMP%]{opacity:.2}.-buttons[_ngcontent-%COMP%] .-switch[_ngcontent-%COMP%]{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;padding:0 20px}"]],data:{}});function Ef(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"div",[["class","-button"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,0,"img",[["src","../../../../../assets/img/money-gold.png"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,2,"span",[["class","secondary-color"]],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,5,0,r._32(e,5,0,r._22(e,6).transform("title.buy-coin")))})}function Af(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"app-double-button",[["class","-switch"],["className","light"]],null,[[null,"onStateChange"]],function(t,e,n){var r=!0;return"onStateChange"===e&&(r=!1!==t.component.changeActiveComponent(n)&&r),r},Of,Tf)),r._8(1,49152,null,0,Sc,[],{rightButtonText:[0,"rightButtonText"],leftButtonText:[1,"leftButtonText"],activeButton:[2,"activeButton"],className:[3,"className"]},{onStateChange:"onStateChange"}),r._25(131072,mp.i,[mp.j,r.h]),r._25(131072,mp.i,[mp.j,r.h]),r._25(131072,Lt,[r.h])],function(t,e){var n=e.component;t(e,1,0,r._32(e,1,0,r._22(e,2).transform(n.navbarService.rightText)),r._32(e,1,1,r._22(e,3).transform(n.navbarService.leftText)),r._32(e,1,2,r._22(e,4).transform(n.navbarService.activeComponent)),"light")},null)}function jf(t){return r._33(0,[(t()(),r._9(0,0,null,null,51,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,48,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,11,"div",[["class","-button -low-opacity"],["routerLink","/wallets"],["routerLinkActive","no-opacity"]],null,[[null,"click"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,5).onClick()&&i),i},null,null)),r._8(5,16384,[[1,4]],0,Fh,[Ih,Kd,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._8(6,1720320,null,2,Bh,[Ih,r.l,r.G,r.h],{routerLinkActive:[0,"routerLinkActive"]},null),r._29(603979776,1,{links:1}),r._29(603979776,2,{linksWithHrefs:1}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,0,"img",[["src","../../../../../assets/img/wallet-black.png"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(13,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(17,0,null,null,11,"div",[["class","-button -low-opacity"],["routerLink","/send"],["routerLinkActive","no-opacity"]],null,[[null,"click"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,18).onClick()&&i),i},null,null)),r._8(18,16384,[[3,4]],0,Fh,[Ih,Kd,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._8(19,1720320,null,2,Bh,[Ih,r.l,r.G,r.h],{routerLinkActive:[0,"routerLinkActive"]},null),r._29(603979776,3,{links:1}),r._29(603979776,4,{linksWithHrefs:1}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(23,0,null,null,0,"img",[["src","../../../../../assets/img/send-black.png"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(25,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(26,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(30,0,null,null,11,"div",[["class","-button -low-opacity"],["routerLink","/transactions"],["routerLinkActive","no-opacity"]],null,[[null,"click"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,31).onClick()&&i),i},null,null)),r._8(31,16384,[[5,4]],0,Fh,[Ih,Kd,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._8(32,1720320,null,2,Bh,[Ih,r.l,r.G,r.h],{routerLinkActive:[0,"routerLinkActive"]},null),r._29(603979776,5,{links:1}),r._29(603979776,6,{linksWithHrefs:1}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(36,0,null,null,0,"img",[["src","../../../../../assets/img/transactions-black.png"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(38,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(39,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(43,0,null,null,0,"div",[["class","flex-fill"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Ef)),r._8(46,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Af)),r._8(49,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,5,0,"/wallets"),t(e,6,0,"no-opacity"),t(e,18,0,"/send"),t(e,19,0,"no-opacity"),t(e,31,0,"/transactions"),t(e,32,0,"no-opacity"),t(e,46,0,n.otcEnabled),t(e,49,0,n.navbarService.switchVisible)},function(t,e){t(e,13,0,r._32(e,13,0,r._22(e,14).transform("title.wallets"))),t(e,26,0,r._32(e,26,0,r._22(e,27).transform("title.send"))),t(e,39,0,r._32(e,39,0,r._22(e,40).transform("title.history")))})}var If=function(){function t(t){this.total=t}return t.prototype.call=function(t,e){return e.subscribe(new Rf(t,this.total))},t}(),Rf=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return Object(o.__extends)(e,t),e.prototype._next=function(t){++this.count>this.total&&this.destination.next(t)},e}(lr.a);s.a.prototype.skip=function(t){return function(t){return function(e){return e.lift(new If(t))}}(t)(this)},s.a.prototype.take=function(t){return Object(Ti.a)(t)(this)};var Hf=function(){function t(t,e,n,r,i,o,s){var a=this;this.appService=t,this.apiService=e,this.blockchainService=n,this.priceService=r,this.walletService=i,this.http=o,this.translateService=s,this.addresses=[],this.querying=!0,this.translateService.get("errors.fetch-version").subscribe(function(t){a.fetchVersionError=t})}return Object.defineProperty(t.prototype,"loading",{get:function(){return!this.current||!this.highest||this.current!==this.highest},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"coins",{get:function(){return this.addresses.map(function(t){return t.coins>=0?t.coins:0}).reduce(function(t,e){return t+e},0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hours",{get:function(){return this.addresses.map(function(t){return t.hours>=0?t.hours:0}).reduce(function(t,e){return t+e},0)},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this;this.subscription=this.blockchainService.progress.filter(function(t){return!!t}).subscribe(function(e){t.querying=!1,t.highest=e.highest,t.current=e.current,t.percentage=t.current&&t.highest?t.current/t.highest:0}),this.setVersion(),this.subscription.add(this.priceService.price.subscribe(function(e){return t.price=e})),this.subscription.add(this.walletService.allAddresses().subscribe(function(e){t.addresses=e.reduce(function(t,e){return t.find(function(t){return t.address===e.address})||t.push(e),t},[])})),this.subscription.add(this.walletService.pendingTransactions().subscribe(function(e){t.hasPendingTxs=e.length>0}))},t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t.prototype.setVersion=function(){var t=this;setTimeout(function(){t.apiService.getVersion().first().subscribe(function(e){t.version=e.version,t.retrieveReleaseVersion()})},1e3)},t.prototype.retrieveReleaseVersion=function(){var t=this;this.http.get("https://api.github.com/repos/skycoin/skycoin/tags").map(function(t){return t.json()}).catch(function(e){return s.a.throw(e||t.fetchVersionError)}).subscribe(function(e){t.releaseVersion=e.find(function(t){return-1===t.name.indexOf("rc")}).name.substr(1),t.updateAvailable=function(e,n){for(var r=t.releaseVersion.split("."),i=e.split("-"),o=i[0].split("."),s=0;s<3;s++){var a=Number(r[s]),l=Number(o[s]);if(a>l)return!0;if(a6?{Invalid:!0}:null},t.prototype.resetForm=function(){this.form.get("wallet").setValue(""),this.form.get("address").setValue(""),this.form.get("amount").setValue("")},t}(),a_=r._7({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{text-align:center}"]],data:{}});function l_(t){return r._33(0,[(t()(),r._9(0,0,null,null,5,"option",[],[[8,"disabled",0]],null,null,null,null)),r._8(1,147456,null,0,da,[r.l,r.G,[2,ca]],{ngValue:[0,"ngValue"]},null),r._8(2,147456,null,0,fa,[r.l,r.G,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),r._31(3,null,["\n "," - "," ","\n "])),r._27(4,2),r._25(131072,mp.i,[mp.j,r.h])],function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)},function(t,e){t(e,0,0,e.context.$implicit.coins<=0),t(e,3,0,e.context.$implicit.label,r._32(e,3,1,t(e,4,0,r._22(e.parent,0),e.context.$implicit.coins,"1.0-6")),r._32(e,3,2,r._22(e,5).transform("common.coin-id")))})}function u_(t){return r._33(0,[r._25(0,Ct,[r.w]),r._29(402653184,1,{previewButton:0}),r._29(402653184,2,{sendButton:0}),(t()(),r._9(3,0,null,null,67,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,4).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,4).onReset()&&i),i},null,null)),r._8(4,540672,null,0,Ba,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,zs,null,[Ba]),r._8(6,16384,null,0,Oa,[zs],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,20,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"label",[["for","wallet"]],null,null,null,null,null)),(t()(),r._31(11,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,13,"div",[["class","-select"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,10,"select",[["formControlName","wallet"],["id","wallet"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"blur"]],function(t,e,n){var i=!0;return"change"===e&&(i=!1!==r._22(t,17).onChange(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,17).onTouched()&&i),i},null,null)),r._8(17,16384,null,0,ca,[r.G,r.l],null,null),r._28(1024,null,Ks,function(t){return[t]},[ca]),r._8(19,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(21,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,2,null,l_)),r._8(24,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),r._25(131072,Lt,[r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(30,0,null,null,12,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(32,0,null,null,2,"label",[["for","address"]],null,null,null,null,null)),(t()(),r._31(33,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(36,0,null,null,5,"input",[["formControlName","address"],["id","address"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,37)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,37).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,37)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,37)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(37,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(39,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(41,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(44,0,null,null,12,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(46,0,null,null,2,"label",[["for","amount"]],null,null,null,null,null)),(t()(),r._31(47,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(50,0,null,null,5,"input",[["formControlName","amount"],["id","amount"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._22(t,51)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,51).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,51)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,51)._compositionEnd(n.target.value)&&i),"keydown.enter"===e&&(i=!1!==o.preview()&&i),i},null,null)),r._8(51,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(53,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(55,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(58,0,null,null,11,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(60,0,null,null,3,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.preview()&&r),r},Sf,kf)),r._8(61,49152,[[1,4],["previewButton",4]],0,Mc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(62,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(65,0,null,null,3,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.send()&&r),r},Sf,kf)),r._8(66,49152,[[2,4],["sendButton",4]],0,Mc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(67,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,4,0,n.form),t(e,19,0,"wallet"),t(e,24,0,r._32(e,24,0,r._22(e,25).transform(n.walletService.all()))),t(e,39,0,"address"),t(e,53,0,"amount"),t(e,61,0,!n.form.valid),t(e,66,0,!n.form.valid)},function(t,e){t(e,3,0,r._22(e,6).ngClassUntouched,r._22(e,6).ngClassTouched,r._22(e,6).ngClassPristine,r._22(e,6).ngClassDirty,r._22(e,6).ngClassValid,r._22(e,6).ngClassInvalid,r._22(e,6).ngClassPending),t(e,11,0,r._32(e,11,0,r._22(e,12).transform("send.from-label"))),t(e,16,0,r._22(e,21).ngClassUntouched,r._22(e,21).ngClassTouched,r._22(e,21).ngClassPristine,r._22(e,21).ngClassDirty,r._22(e,21).ngClassValid,r._22(e,21).ngClassInvalid,r._22(e,21).ngClassPending),t(e,33,0,r._32(e,33,0,r._22(e,34).transform("send.to-label"))),t(e,36,0,r._22(e,41).ngClassUntouched,r._22(e,41).ngClassTouched,r._22(e,41).ngClassPristine,r._22(e,41).ngClassDirty,r._22(e,41).ngClassValid,r._22(e,41).ngClassInvalid,r._22(e,41).ngClassPending),t(e,47,0,r._32(e,47,0,r._22(e,48).transform("send.amount-label"))),t(e,50,0,r._22(e,55).ngClassUntouched,r._22(e,55).ngClassTouched,r._22(e,55).ngClassPristine,r._22(e,55).ngClassDirty,r._22(e,55).ngClassValid,r._22(e,55).ngClassInvalid,r._22(e,55).ngClassPending),t(e,62,0,r._32(e,62,0,r._22(e,63).transform("send.preview-button"))),t(e,67,0,r._32(e,67,0,r._22(e,68).transform("send.send-button")))})}var c_=r._7({encapsulation:2,styles:[],data:{}});function d_(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"mat-pseudo-checkbox",[["class","mat-option-pseudo-checkbox mat-pseudo-checkbox"]],[[2,"mat-pseudo-checkbox-indeterminate",null],[2,"mat-pseudo-checkbox-checked",null],[2,"mat-pseudo-checkbox-disabled",null]],null,null,f_,p_)),r._8(1,49152,null,0,qo,[],{state:[0,"state"],disabled:[1,"disabled"]},null)],function(t,e){var n=e.component;t(e,1,0,n.selected?"checked":"",n.disabled)},function(t,e){t(e,0,0,"indeterminate"===r._22(e,1).state,"checked"===r._22(e,1).state,r._22(e,1).disabled)})}function h_(t){return r._33(2,[(t()(),r._4(16777216,null,null,1,null,d_)),r._8(1,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._9(2,0,null,null,1,"span",[["class","mat-option-text"]],null,null,null,null,null)),r._21(null,0),(t()(),r._9(4,0,null,null,1,"div",[["class","mat-option-ripple mat-ripple"],["mat-ripple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),r._8(5,212992,null,0,Go,[r.l,r.B,$r,[2,Uo]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,1,0,n.multiple),t(e,5,0,n.disabled||n.disableRipple,n._getHostElement())},function(t,e){t(e,4,0,r._22(e,5).unbounded)})}var p_=r._7({encapsulation:2,styles:[".mat-pseudo-checkbox{width:20px;height:20px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0,0,.2,.1),background-color 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:'';border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:9px;left:2px;width:16px;opacity:1}.mat-pseudo-checkbox-checked::after{top:5px;left:3px;width:12px;height:5px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1}"],data:{}});function f_(t){return r._33(2,[],null,null)}var __=r._7({encapsulation:2,styles:[".mat-select{display:inline-block;width:100%;outline:0}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}@media screen and (-ms-high-contrast:active){.mat-select-panel{outline:solid 1px}}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;transition:none}"],data:{animation:[{type:7,name:"transformPanel",definitions:[{type:0,name:"showing",styles:{type:6,styles:{opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"},offset:null},options:void 0},{type:0,name:"showing-multiple",styles:{type:6,styles:{opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"},offset:null},options:void 0},{type:1,expr:"void => *",animation:[{type:6,styles:{opacity:0,minWidth:"100%",transform:"scaleY(0)"},offset:null},{type:4,styles:null,timings:"150ms cubic-bezier(0.25, 0.8, 0.25, 1)"}],options:null},{type:1,expr:"* => void",animation:[{type:4,styles:{type:6,styles:{opacity:0},offset:null},timings:"250ms 100ms linear"}],options:null}],options:{}},{type:7,name:"fadeInContent",definitions:[{type:0,name:"showing",styles:{type:6,styles:{opacity:1},offset:null},options:void 0},{type:1,expr:"void => showing",animation:[{type:6,styles:{opacity:0},offset:null},{type:4,styles:null,timings:"150ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function m_(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["class","mat-select-placeholder"]],null,null,null,null,null)),(t()(),r._31(1,null,["",""]))],null,function(t,e){t(e,1,0,e.component.placeholder||"\xa0")})}function g_(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._31(1,null,["",""]))],null,function(t,e){t(e,1,0,e.component.triggerValue)})}function y_(t){return r._33(0,[r._21(null,0),(t()(),r._4(0,null,null,0))],null,null)}function v_(t){return r._33(0,[(t()(),r._9(0,0,null,null,5,"span",[["class","mat-select-value-text"]],null,null,null,null,null)),r._8(1,16384,null,0,B,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),r._4(16777216,null,null,1,null,g_)),r._8(3,16384,null,0,W,[r.R,r.O,B],null,null),(t()(),r._4(16777216,null,null,1,null,y_)),r._8(5,278528,null,0,z,[r.R,r.O,B],{ngSwitchCase:[0,"ngSwitchCase"]},null)],function(t,e){t(e,1,0,!!e.component.customTrigger),t(e,5,0,!0)},null)}function b_(t){return r._33(0,[(t()(),r._9(0,0,[[2,0],["panel",1]],null,3,"div",[],[[24,"@transformPanel",0],[4,"transformOrigin",null],[2,"mat-select-panel-done-animating",null],[4,"font-size","px"]],[[null,"@transformPanel.done"]],function(t,e,n){var r=!0;return"@transformPanel.done"===e&&(r=!1!==t.component._onPanelDone()&&r),r},null,null)),r._8(1,278528,null,0,j,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),r._9(2,0,null,null,1,"div",[["class","mat-select-content"]],[[24,"@fadeInContent",0]],[[null,"@fadeInContent.done"]],function(t,e,n){var r=!0;return"@fadeInContent.done"===e&&(r=!1!==t.component._onFadeInDone()&&r),r},null,null)),r._21(null,1)],function(t,e){var n=e.component;t(e,1,0,r._12(1,"mat-select-panel ",n._getPanelTheme(),""),n.panelClass)},function(t,e){var n=e.component;t(e,0,0,n.multiple?"showing-multiple":"showing",n._transformOrigin,n._panelDoneAnimating,n._triggerFontSize),t(e,2,0,"showing")})}function w_(t){return r._33(2,[r._29(402653184,1,{trigger:0}),r._29(671088640,2,{panel:0}),r._29(402653184,3,{overlayDir:0}),(t()(),r._9(3,0,[[1,0],["trigger",1]],null,9,"div",[["aria-hidden","true"],["cdk-overlay-origin",""],["class","mat-select-trigger"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.toggle()&&r),r},null,null)),r._8(4,16384,[["origin",4]],0,ro,[r.l],null,null),(t()(),r._9(5,0,null,null,5,"div",[["class","mat-select-value"]],null,null,null,null,null)),r._8(6,16384,null,0,B,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),r._4(16777216,null,null,1,null,m_)),r._8(8,278528,null,0,z,[r.R,r.O,B],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),r._4(16777216,null,null,1,null,v_)),r._8(10,278528,null,0,z,[r.R,r.O,B],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),r._9(11,0,null,null,1,"div",[["class","mat-select-arrow-wrapper"]],null,null,null,null,null)),(t()(),r._9(12,0,null,null,0,"div",[["class","mat-select-arrow"]],null,null,null,null,null)),(t()(),r._4(16777216,null,null,1,function(t,e,n){var r=!0,i=t.component;return"backdropClick"===e&&(r=!1!==i.close()&&r),"attach"===e&&(r=!1!==i._onAttached()&&r),"detach"===e&&(r=!1!==i.close()&&r),r},b_)),r._8(14,671744,[[3,4]],0,io,[$i,r.O,r.R,eo,[2,gi]],{_deprecatedOrigin:[0,"_deprecatedOrigin"],_deprecatedPositions:[1,"_deprecatedPositions"],_deprecatedOffsetY:[2,"_deprecatedOffsetY"],_deprecatedMinWidth:[3,"_deprecatedMinWidth"],_deprecatedBackdropClass:[4,"_deprecatedBackdropClass"],_deprecatedScrollStrategy:[5,"_deprecatedScrollStrategy"],_deprecatedOpen:[6,"_deprecatedOpen"],_deprecatedHasBackdrop:[7,"_deprecatedHasBackdrop"]},{backdropClick:"backdropClick",attach:"attach",detach:"detach"})],function(t,e){var n=e.component;t(e,6,0,n.empty),t(e,8,0,!0),t(e,10,0,!1),t(e,14,0,r._22(e,4),n._positions,n._offsetY,null==n._triggerRect?null:n._triggerRect.width,"cdk-overlay-transparent-backdrop",n._scrollStrategy,n.panelOpen,"")},null)}var M_=r._7({encapsulation:2,styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.91026}50%{animation-timing-function:cubic-bezier(0,0,.2,.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0,0,0,1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(.4,0,1,1);stroke-dashoffset:0}to{stroke-dashoffset:-22.91026}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0,0,.2,.1);opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(.14,0,0,1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0,0,.2,.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(.14,0,0,1);opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}100%,32.8%{opacity:0;transform:scaleX(0)}}.mat-checkbox-checkmark,.mat-checkbox-mixedmark{width:calc(100% - 4px)}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);cursor:pointer}.mat-checkbox-layout{cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-inner-container{display:inline-block;height:20px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:20px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0,0,.2,.1);border-width:2px;border-style:solid}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0,0,.2,.1),opacity 90ms cubic-bezier(0,0,.2,.1)}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.91026;stroke-dasharray:22.91026;stroke-width:2.66667px}.mat-checkbox-mixedmark{height:2px;opacity:0;transform:scaleX(0) rotate(0)}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0s mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0s mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0s mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0s mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0s mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:.5s linear 0s mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:.5s linear 0s mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:.3s linear 0s mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}.mat-checkbox-ripple{position:absolute;left:-15px;top:-15px;height:50px;width:50px;z-index:1;pointer-events:none}"],data:{}});function k_(t){return r._33(2,[r._29(402653184,1,{_inputElement:0}),r._29(402653184,2,{_ripple:0}),(t()(),r._9(2,0,[["label",1]],null,14,"label",[["class","mat-checkbox-layout"]],[[1,"for",0]],null,null,null,null)),(t()(),r._9(3,0,null,null,8,"div",[["class","mat-checkbox-inner-container"]],[[2,"mat-checkbox-inner-container-no-side-margin",null]],null,null,null,null)),(t()(),r._9(4,0,[[1,0],["input",1]],null,0,"input",[["class","mat-checkbox-input cdk-visually-hidden"],["type","checkbox"]],[[8,"id",0],[8,"required",0],[8,"checked",0],[1,"value",0],[8,"disabled",0],[1,"name",0],[8,"tabIndex",0],[8,"indeterminate",0],[1,"aria-label",0],[1,"aria-labelledby",0],[1,"aria-checked",0]],[[null,"change"],[null,"click"]],function(t,e,n){var r=!0,i=t.component;return"change"===e&&(r=!1!==i._onInteractionEvent(n)&&r),"click"===e&&(r=!1!==i._onInputClick(n)&&r),r},null,null)),(t()(),r._9(5,0,null,null,1,"div",[["class","mat-checkbox-ripple mat-ripple"],["matRipple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),r._8(6,212992,[[2,4]],0,Go,[r.l,r.B,$r,[2,Uo]],{centered:[0,"centered"],radius:[1,"radius"],speedFactor:[2,"speedFactor"],disabled:[3,"disabled"],trigger:[4,"trigger"]},null),(t()(),r._9(7,0,null,null,0,"div",[["class","mat-checkbox-frame"]],null,null,null,null,null)),(t()(),r._9(8,0,null,null,3,"div",[["class","mat-checkbox-background"]],null,null,null,null,null)),(t()(),r._9(9,0,null,null,1,":svg:svg",[[":xml:space","preserve"],["class","mat-checkbox-checkmark"],["focusable","false"],["version","1.1"],["viewBox","0 0 24 24"]],null,null,null,null,null)),(t()(),r._9(10,0,null,null,0,":svg:path",[["class","mat-checkbox-checkmark-path"],["d","M4.1,12.7 9,17.6 20.3,6.3"],["fill","none"],["stroke","white"]],null,null,null,null,null)),(t()(),r._9(11,0,null,null,0,"div",[["class","mat-checkbox-mixedmark"]],null,null,null,null,null)),(t()(),r._9(12,0,[["checkboxLabel",1]],null,4,"span",[["class","mat-checkbox-label"]],null,[[null,"cdkObserveContent"]],function(t,e,n){var r=!0;return"cdkObserveContent"===e&&(r=!1!==t.component._onLabelTextChange()&&r),r},null,null)),r._8(13,1196032,null,0,vl,[yl,r.l,r.B],null,{event:"cdkObserveContent"}),(t()(),r._9(14,0,null,null,1,"span",[["style","display:none"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\xa0"])),r._21(null,0)],function(t,e){var n=e.component;t(e,6,0,n._rippleConfig.centered,n._rippleConfig.radius,n._rippleConfig.speedFactor,n._isRippleDisabled(),r._22(e,2))},function(t,e){var n=e.component;t(e,2,0,n.inputId),t(e,3,0,!r._22(e,12).textContent||!r._22(e,12).textContent.trim()),t(e,4,1,[n.inputId,n.required,n.checked,n.value,n.disabled,n.name,n.tabIndex,n.indeterminate,n.ariaLabel,n.ariaLabelledby,n._getAriaChecked()]),t(e,5,0,r._22(e,6).unbounded)})}var x_=r._7({encapsulation:2,styles:[".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:0;vertical-align:middle}.mat-slider-wrapper{position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{background-repeat:repeat;background-clip:content-box;box-sizing:border-box;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),opacity .4s cubic-bezier(.25,.8,.25,1)}.cdk-keyboard-focused .mat-slider-focus-ring,.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb-label{cursor:-webkit-grab;cursor:grab}.mat-slider-sliding:not(.mat-slider-disabled) .mat-slider-thumb,.mat-slider-sliding:not(.mat-slider-disabled) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb-label:active,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb:active{cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(.7);transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),border-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform .4s cubic-bezier(.25,.8,.25,1),border-radius .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-sliding .mat-slider-thumb-container,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-track-fill{transition-duration:0s}.mat-slider-has-ticks .mat-slider-wrapper::after{content:'';position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}"],data:{}});function L_(t){return r._33(2,[r._29(402653184,1,{_sliderWrapper:0}),(t()(),r._9(1,0,[[1,0],["sliderWrapper",1]],null,16,"div",[["class","mat-slider-wrapper"]],null,null,null,null,null)),(t()(),r._9(2,0,null,null,4,"div",[["class","mat-slider-track-wrapper"]],null,null,null,null,null)),(t()(),r._9(3,0,null,null,1,"div",[["class","mat-slider-track-background"]],null,null,null,null,null)),r._8(4,278528,null,0,U,[r.v,r.l,r.G],{ngStyle:[0,"ngStyle"]},null),(t()(),r._9(5,0,null,null,1,"div",[["class","mat-slider-track-fill"]],null,null,null,null,null)),r._8(6,278528,null,0,U,[r.v,r.l,r.G],{ngStyle:[0,"ngStyle"]},null),(t()(),r._9(7,0,null,null,3,"div",[["class","mat-slider-ticks-container"]],null,null,null,null,null)),r._8(8,278528,null,0,U,[r.v,r.l,r.G],{ngStyle:[0,"ngStyle"]},null),(t()(),r._9(9,0,null,null,1,"div",[["class","mat-slider-ticks"]],null,null,null,null,null)),r._8(10,278528,null,0,U,[r.v,r.l,r.G],{ngStyle:[0,"ngStyle"]},null),(t()(),r._9(11,0,null,null,6,"div",[["class","mat-slider-thumb-container"]],null,null,null,null,null)),r._8(12,278528,null,0,U,[r.v,r.l,r.G],{ngStyle:[0,"ngStyle"]},null),(t()(),r._9(13,0,null,null,0,"div",[["class","mat-slider-focus-ring"]],null,null,null,null,null)),(t()(),r._9(14,0,null,null,0,"div",[["class","mat-slider-thumb"]],null,null,null,null,null)),(t()(),r._9(15,0,null,null,2,"div",[["class","mat-slider-thumb-label"]],null,null,null,null,null)),(t()(),r._9(16,0,null,null,1,"span",[["class","mat-slider-thumb-label-text"]],null,null,null,null,null)),(t()(),r._31(17,null,["",""]))],function(t,e){var n=e.component;t(e,4,0,n._trackBackgroundStyles),t(e,6,0,n._trackFillStyles),t(e,8,0,n._ticksContainerStyles),t(e,10,0,n._ticksStyles),t(e,12,0,n._thumbContainerStyles)},function(t,e){t(e,17,0,e.component.displayValue)})}var C_=function(){function t(t,e,n,i,o){this.walletService=t,this.formBuilder=e,this.dialog=n,this.snackbar=i,this.navbarService=o,this.onFormSubmitted=new r.o,this.addresses=[],this.autoHours=!0,this.autoOptions=!1,this.autoShareValue="0.5"}return t.prototype.ngOnInit=function(){var t=this;this.navbarService.showSwitch("send.simple","send.advanced"),this.form=this.formBuilder.group({wallet:["",Js.required],addresses:["",Js.required],changeAddress:[""],destinations:this.formBuilder.array([this.createDestinationFormGroup()],this.validateDestinations.bind(this))}),this.subscriptions=this.form.get("wallet").valueChanges.subscribe(function(e){t.addresses=e.addresses.filter(function(t){return t.coins>0}),t.form.get("addresses").setValue([]),t.form.get("destinations").updateValueAndValidity()}),this.subscriptions.add(this.form.get("addresses").valueChanges.subscribe(function(){t.form.get("destinations").updateValueAndValidity()})),this.formData&&this.fillForm()},t.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe(),this.navbarService.hideSwitch(),this.snackbar.dismiss()},t.prototype.preview=function(){this.previewTx=!0,this.unlockAndSend()},t.prototype.send=function(){this.previewTx=!1,this.unlockAndSend()},t.prototype.unlockAndSend=function(){var t=this;!this.form.valid||this.previewButton.isLoading()||this.sendButton.isLoading()||(this.snackbar.dismiss(),this.previewButton.resetState(),this.sendButton.resetState(),this.form.get("wallet").value.encrypted?this.dialog.open(gp).componentInstance.passwordSubmit.subscribe(function(e){t.createTransaction(e)}):this.createTransaction())},t.prototype.addDestination=function(){this.form.get("destinations").push(this.createDestinationFormGroup())},t.prototype.removeDestination=function(t){this.form.get("destinations").removeAt(t)},t.prototype.setShareValue=function(t){this.autoShareValue=parseFloat(t.value).toFixed(2)},t.prototype.toggleOptions=function(t){t.stopPropagation(),t.preventDefault(),this.autoOptions=!this.autoOptions},t.prototype.setAutoHours=function(t){this.autoHours=t.checked,this.form.get("destinations").updateValueAndValidity(),this.autoHours||(this.autoOptions=!1)},t.prototype.fillForm=function(){var t=this;this.addresses=this.formData.form.wallet.addresses,["wallet","addresses","changeAddress"].forEach(function(e){t.form.get(e).setValue(t.formData.form[e])});for(var e=0;e6)return!0}else if("hours"===t&&(n<1||parseInt(n,10)!==parseFloat(n)))return!0;return!1}).find(function(t){return!0===t})}))return{Invalid:!0};var e=this.form.get("addresses").value.reduce(function(t,e){return t+e.coins},0),n=this.form.get("addresses").value.reduce(function(t,e){return t+e.hours},0),r=this.destControls.reduce(function(t,e){return t+parseFloat(e.value.coins)},0),i=this.destControls.reduce(function(t,e){return t+parseInt(e.value.hours,10)},0);return r>e||i>n?{Invalid:!0}:null},t.prototype.createDestinationFormGroup=function(){return this.formBuilder.group({address:"",coins:"",hours:""})},t.prototype.createTransaction=function(t){var e=this;t&&t.close(),this.previewTx?(this.previewButton.setLoading(),this.sendButton.setDisabled()):(this.sendButton.setLoading(),this.previewButton.setDisabled()),this.walletService.createTransaction(this.form.get("wallet").value,this.form.get("addresses").value.map(function(t){return t.address}),this.destinations,this.hoursSelection,this.form.get("changeAddress").value?this.form.get("changeAddress").value:null,t?t.password:null).toPromise().then(function(t){if(!e.previewTx)return e.walletService.injectTransaction(t.encoded).toPromise();e.onFormSubmitted.emit({form:{wallet:e.form.get("wallet").value,addresses:e.form.get("addresses").value,changeAddress:e.form.get("changeAddress").value,destinations:e.destinations,hoursSelection:e.hoursSelection,autoOptions:e.autoOptions},amount:e.destinations.reduce(function(t,e){return t+parseFloat(e.coins)},0),to:e.destinations.map(function(t){return t.address}),transaction:t})}).then(function(){e.sendButton.setSuccess(),e.resetForm(),setTimeout(function(){e.sendButton.resetState()},3e3)}).catch(function(t){wc(e.snackbar,t),e.previewButton.resetState().setEnabled(),e.sendButton.resetState().setEnabled()})},t.prototype.resetForm=function(){for(this.form.get("wallet").setValue("",{emitEvent:!1}),this.form.get("addresses").setValue([]),this.form.get("changeAddress").setValue("");this.destControls.length>0;)this.form.get("destinations").removeAt(0);this.addDestination(),this.autoHours=!0,this.autoOptions=!1,this.autoShareValue="0.5"},Object.defineProperty(t.prototype,"destinations",{get:function(){var t=this;return this.destControls.map(function(e){var n={address:e.get("address").value,coins:e.get("coins").value};return t.autoHours||(n.hours=e.get("hours").value),n})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hoursSelection",{get:function(){var t={type:"manual"};return this.autoHours&&(t={type:"auto",mode:"share",share_factor:this.autoShareValue}),t},enumerable:!0,configurable:!0}),t}(),S_=r._7({encapsulation:0,styles:[[".-input-addon[_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex}.-input-addon[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border-top-right-radius:0;border-bottom-right-radius:0}.-input-addon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{border:2px;border-radius:0 6px 6px 0;background:#f1f1f1;padding:0 10px;line-height:44px;color:rgba(30,34,39,.5);font-size:14px;-ms-flex-negative:0;flex-shrink:0}.-destination[_ngcontent-%COMP%]:not(:last-child){margin-bottom:5px}.-destination[_ngcontent-%COMP%] .-icons[_ngcontent-%COMP%]{text-align:right;padding-top:5px}.-destination[_ngcontent-%COMP%] .-icons[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:32px;cursor:pointer}mat-checkbox[_ngcontent-%COMP%]{font-size:12px}mat-select[_ngcontent-%COMP%]{background:#fff;border:2px solid rgba(0,0,0,.05);border-radius:6px}mat-select[_ngcontent-%COMP%] .mat-select-trigger{padding:10px 30px 10px 10px;display:block;font-size:11px;height:100%;line-height:20px}mat-select[_ngcontent-%COMP%] .mat-select-arrow{border:none}mat-option[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked{background:#7a5917}.-autohours[_ngcontent-%COMP%]{margin:40px 0 20px}.-autohours[_ngcontent-%COMP%] .-check[_ngcontent-%COMP%] .mat-checkbox-checkmark-path{stroke:#7a5917!important}.-autohours[_ngcontent-%COMP%] .-check[_ngcontent-%COMP%] .mat-checkbox-background, .-autohours[_ngcontent-%COMP%] .-check[_ngcontent-%COMP%] .mat-checkbox-frame{width:20px;height:20px;background:rgba(30,34,39,.05);border-radius:6px;border-color:transparent}.-autohours[_ngcontent-%COMP%] .-check[_ngcontent-%COMP%] .mat-checkbox-label{line-height:20px;font-size:13px;color:#1e2227;-webkit-box-flex:1;-ms-flex:1;flex:1}.-autohours[_ngcontent-%COMP%] .-check[_ngcontent-%COMP%] .-options{color:#7a5917;cursor:pointer}.-autohours[_ngcontent-%COMP%] .-check[_ngcontent-%COMP%] .-options mat-icon{display:inline;vertical-align:middle;font-size:13px}.-autohours[_ngcontent-%COMP%] .-check[_ngcontent-%COMP%] .mat-checkbox-layout{display:-webkit-box;display:-ms-flexbox;display:flex}.-autohours[_ngcontent-%COMP%] .-options-wrapper[_ngcontent-%COMP%]{margin-top:20px}.-autohours[_ngcontent-%COMP%] .-options-wrapper[_ngcontent-%COMP%] mat-slider[_ngcontent-%COMP%]{width:100%;padding:0;height:40px;border:2px solid rgba(0,0,0,.05);border-radius:6px;background:#fff}.-autohours[_ngcontent-%COMP%] .-options-wrapper[_ngcontent-%COMP%] mat-slider[_ngcontent-%COMP%] .mat-slider-thumb, .-autohours[_ngcontent-%COMP%] .-options-wrapper[_ngcontent-%COMP%] mat-slider[_ngcontent-%COMP%] .mat-slider-thumb-label{background-color:#7a5917!important;-webkit-transform:scale(1)!important;transform:scale(1)!important;border-width:0!important}.-autohours[_ngcontent-%COMP%] .-options-wrapper[_ngcontent-%COMP%] mat-slider[_ngcontent-%COMP%] .mat-slider-thumb{right:-6px;width:12px;height:32px;border-radius:3px}.-autohours[_ngcontent-%COMP%] .-options-wrapper[_ngcontent-%COMP%] mat-slider[_ngcontent-%COMP%] .mat-slider-track-background, .-autohours[_ngcontent-%COMP%] .-options-wrapper[_ngcontent-%COMP%] mat-slider[_ngcontent-%COMP%] .mat-slider-track-fill{background-color:#fff!important}.-buttons[_ngcontent-%COMP%]{text-align:center}.-hidden[_ngcontent-%COMP%]{display:none}.-space-between[_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}label[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{display:inline;font-size:14px;color:rgba(121,135,152,.5);vertical-align:text-bottom;padding-left:5px}"]],data:{}});function T_(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"option",[],[[8,"disabled",0]],null,null,null,null)),r._8(1,147456,null,0,da,[r.l,r.G,[2,ca]],{ngValue:[0,"ngValue"]},null),r._8(2,147456,null,0,fa,[r.l,r.G,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),r._31(3,null,["\n "," - "," ","\n ("," ",")\n "])),r._27(4,2),r._25(131072,mp.i,[mp.j,r.h]),r._27(6,2),r._25(131072,mp.i,[mp.j,r.h])],function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)},function(t,e){t(e,0,0,e.context.$implicit.coins<=0),t(e,3,0,e.context.$implicit.label,r._32(e,3,1,t(e,4,0,r._22(e.parent,0),e.context.$implicit.coins,"1.0-6")),r._32(e,3,2,r._22(e,5).transform("common.coin-id")),r._32(e,3,3,t(e,6,0,r._22(e.parent,0),e.context.$implicit.hours,"1.0-6")),r._32(e,3,4,r._22(e,7).transform("common.coin-hours")))})}function O_(t){return r._33(0,[(t()(),r._9(0,0,null,null,6,"mat-option",[["class","mat-option"],["role","option"]],[[1,"tabindex",0],[2,"mat-selected",null],[2,"mat-option-multiple",null],[2,"mat-active",null],[8,"id",0],[1,"aria-selected",0],[1,"aria-disabled",0],[2,"mat-option-disabled",null]],[[null,"click"],[null,"keydown"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,1)._selectViaInteraction()&&i),"keydown"===e&&(i=!1!==r._22(t,1)._handleKeydown(n)&&i),i},h_,c_)),r._8(1,49152,[[3,4]],0,ts,[r.l,r.h,[2,$o],[2,Ko]],{value:[0,"value"]},null),(t()(),r._31(2,0,["\n "," - "," ","\n ("," ",")\n "])),r._27(3,2),r._25(131072,mp.i,[mp.j,r.h]),r._27(5,2),r._25(131072,mp.i,[mp.j,r.h])],function(t,e){t(e,1,0,e.context.$implicit)},function(t,e){t(e,0,0,r._22(e,1)._getTabIndex(),r._22(e,1).selected,r._22(e,1).multiple,r._22(e,1).active,r._22(e,1).id,r._22(e,1).selected.toString(),r._22(e,1).disabled.toString(),r._22(e,1).disabled),t(e,2,0,e.context.$implicit.address,r._32(e,2,1,t(e,3,0,r._22(e.parent,0),e.context.$implicit.coins,"1.0-6")),r._32(e,2,2,r._22(e,4).transform("common.coin-id")),r._32(e,2,3,t(e,5,0,r._22(e.parent,0),e.context.$implicit.hours,"1.0-6")),r._32(e,2,4,r._22(e,6).transform("common.coin-hours")))})}function D_(t){return r._33(0,[(t()(),r._9(0,0,null,null,5,"div",[],null,null,null,null,null)),(t()(),r._31(1,null,["\n "," - "," ","\n ("," ",")\n "])),r._27(2,2),r._25(131072,mp.i,[mp.j,r.h]),r._27(4,2),r._25(131072,mp.i,[mp.j,r.h])],null,function(t,e){t(e,1,0,e.context.$implicit.address,r._32(e,1,1,t(e,2,0,r._22(e.parent,0),e.context.$implicit.coins,"1.0-6")),r._32(e,1,2,r._22(e,3).transform("common.coin-id")),r._32(e,1,3,t(e,4,0,r._22(e.parent,0),e.context.$implicit.hours,"1.0-6")),r._32(e,1,4,r._22(e,5).transform("common.coin-hours")))})}function Y_(t){return r._33(0,[(t()(),r._9(0,0,null,null,0,"img",[["alt","plus"],["src","../../../../../assets/img/plus-green.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.addDestination()&&r),r},null,null))],null,null)}function P_(t){return r._33(0,[(t()(),r._9(0,0,null,null,0,"img",[["alt","minus"],["src","../../../../../assets/img/minus-grey.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.removeDestination(t.parent.context.index)&&r),r},null,null))],null,null)}function E_(t){return r._33(0,[(t()(),r._9(0,0,null,null,65,"div",[["class","-destination"],["formArrayName","destinations"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),r._8(1,212992,null,0,Wa,[[3,zs],[8,null],[8,null]],{name:[0,"name"]},null),r._28(2048,null,zs,null,[Wa]),r._8(3,16384,null,0,Oa,[zs],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,59,"div",[["class","row"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),r._8(6,212992,null,0,za,[[3,zs],[8,null],[8,null]],{name:[0,"name"]},null),r._28(2048,null,zs,null,[za]),r._8(8,16384,null,0,Oa,[zs],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,8,"div",[["class","col-md-5"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,5,"input",[["formControlName","address"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,13)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,13).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,13)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,13)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(13,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(15,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(17,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(20,0,null,null,15,"div",[["class","col-md-3"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(22,0,null,null,12,"div",[["class","-input-addon"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(24,0,null,null,5,"input",[["formControlName","coins"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,25)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,25).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,25)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,25)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(25,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(27,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(29,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(31,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(32,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(37,0,null,null,17,"div",[["class","col-md-3"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(39,0,null,null,14,"div",[],null,null,null,null,null)),r._8(40,278528,null,0,j,[r.u,r.v,r.l,r.G],{ngClass:[0,"ngClass"]},null),r._26(41,{"-input-addon":0,"-hidden":1}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(43,0,null,null,5,"input",[["formControlName","hours"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,44)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,44).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,44)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,44)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(44,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(46,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(48,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(50,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(51,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(56,0,null,null,7,"div",[["class","col-md-1 -icons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Y_)),r._8(59,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,P_)),r._8(62,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){var n=e.component;t(e,1,0,"destinations"),t(e,6,0,e.context.index),t(e,15,0,"address"),t(e,27,0,"coins"),t(e,40,0,t(e,41,0,!0,n.autoHours)),t(e,46,0,"hours"),t(e,59,0,0===e.context.index),t(e,62,0,0!==e.context.index)},function(t,e){t(e,0,0,r._22(e,3).ngClassUntouched,r._22(e,3).ngClassTouched,r._22(e,3).ngClassPristine,r._22(e,3).ngClassDirty,r._22(e,3).ngClassValid,r._22(e,3).ngClassInvalid,r._22(e,3).ngClassPending),t(e,5,0,r._22(e,8).ngClassUntouched,r._22(e,8).ngClassTouched,r._22(e,8).ngClassPristine,r._22(e,8).ngClassDirty,r._22(e,8).ngClassValid,r._22(e,8).ngClassInvalid,r._22(e,8).ngClassPending),t(e,12,0,0===e.context.index?"destination":"",r._22(e,17).ngClassUntouched,r._22(e,17).ngClassTouched,r._22(e,17).ngClassPristine,r._22(e,17).ngClassDirty,r._22(e,17).ngClassValid,r._22(e,17).ngClassInvalid,r._22(e,17).ngClassPending),t(e,24,0,r._22(e,29).ngClassUntouched,r._22(e,29).ngClassTouched,r._22(e,29).ngClassPristine,r._22(e,29).ngClassDirty,r._22(e,29).ngClassValid,r._22(e,29).ngClassInvalid,r._22(e,29).ngClassPending),t(e,32,0,r._32(e,32,0,r._22(e,33).transform("common.coin-id"))),t(e,43,0,r._22(e,48).ngClassUntouched,r._22(e,48).ngClassTouched,r._22(e,48).ngClassPristine,r._22(e,48).ngClassDirty,r._22(e,48).ngClassValid,r._22(e,48).ngClassInvalid,r._22(e,48).ngClassPending),t(e,51,0,r._32(e,51,0,r._22(e,52).transform("common.coin-hours")))})}function A_(t){return r._33(0,[(t()(),r._9(0,0,null,null,6,"span",[["class","-options"]],null,[[null,"mousedown"],[null,"click"]],function(t,e,n){var r=!0,i=t.component;return"mousedown"===e&&(r=!1!==n.stopPropagation()&&r),"click"===e&&(r=!1!==i.toggleOptions(n)&&r),r},null,null)),(t()(),r._31(1,null,["\n "," "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._9(3,0,null,null,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Xp,Qp)),r._8(4,638976,null,0,_u,[r.l,du,[8,null]],null,null),(t()(),r._31(-1,0,["keyboard_arrow_down"])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,4,0)},function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("send.options-label")))})}function j_(t){return r._33(0,[r._25(0,Ct,[r.w]),r._29(402653184,1,{previewButton:0}),r._29(402653184,2,{sendButton:0}),(t()(),r._9(3,0,null,null,156,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,4).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,4).onReset()&&i),i},null,null)),r._8(4,540672,null,0,Ba,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,zs,null,[Ba]),r._8(6,16384,null,0,Oa,[zs],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,20,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"label",[["for","wallets"]],null,null,null,null,null)),(t()(),r._31(11,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,13,"div",[["class","-select"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,10,"select",[["formControlName","wallet"],["id","wallets"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"blur"]],function(t,e,n){var i=!0;return"change"===e&&(i=!1!==r._22(t,17).onChange(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,17).onTouched()&&i),i},null,null)),r._8(17,16384,null,0,ca,[r.G,r.l],null,null),r._28(1024,null,Ks,function(t){return[t]},[ca]),r._8(19,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(21,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,2,null,T_)),r._8(24,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),r._25(131072,Lt,[r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(30,0,null,null,36,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(32,0,null,null,8,"label",[["for","addresses"]],null,[[null,"click"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,49).open()&&i),i},null,null)),(t()(),r._31(33,null,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._9(35,16777216,null,null,4,"mat-icon",[["class","mat-icon"],["role","img"]],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,37).show()&&i),"keydown"===e&&(i=!1!==r._22(t,37)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,37).hide(1500)&&i),i},Xp,Qp)),r._8(36,638976,null,0,_u,[r.l,du,[8,null]],null,null),r._8(37,147456,null,0,Bu,[$i,r.l,di,r.R,r.B,$r,Mo,To,Nu,[2,gi]],{message:[0,"message"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["help"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(42,0,null,null,23,"div",[["class","-select"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(44,0,null,null,20,"mat-select",[["class","mat-select"],["formControlName","addresses"],["id","addresses"],["multiple",""],["role","listbox"]],[[1,"id",0],[1,"tabindex",0],[1,"aria-label",0],[1,"aria-labelledby",0],[1,"aria-required",0],[1,"aria-disabled",0],[1,"aria-invalid",0],[1,"aria-owns",0],[1,"aria-multiselectable",0],[1,"aria-describedby",0],[1,"aria-activedescendant",0],[2,"mat-select-disabled",null],[2,"mat-select-invalid",null],[2,"mat-select-required",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown"],[null,"focus"],[null,"blur"]],function(t,e,n){var i=!0;return"keydown"===e&&(i=!1!==r._22(t,49)._handleKeydown(n)&&i),"focus"===e&&(i=!1!==r._22(t,49)._onFocus()&&i),"blur"===e&&(i=!1!==r._22(t,49)._onBlur()&&i),i},w_,__)),r._28(6144,null,$o,null,[Iu]),r._28(6144,null,nl,null,[Iu]),r._8(47,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[8,null]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(49,2080768,[["selectAddresses",4]],3,Iu,[pi,r.h,r.B,Ro,r.l,[2,gi],[2,Ha],[2,Ba],[2,ol],[2,oa],[8,null],Eu],{multiple:[0,"multiple"],compareWith:[1,"compareWith"],id:[2,"id"]},null),r._29(603979776,3,{options:1}),r._29(603979776,4,{optionGroups:1}),r._29(335544320,5,{customTrigger:0}),r._8(53,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,1,["\n "])),(t()(),r._4(16777216,null,1,1,null,O_)),r._8(56,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,1,["\n "])),(t()(),r._9(58,0,null,0,5,"mat-select-trigger",[],null,null,null,null,null)),r._8(59,16384,[[5,4]],0,ju,[],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,D_)),r._8(62,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,1,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(68,0,null,null,14,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(70,0,null,null,8,"label",[["for","destination"]],null,null,null,null,null)),(t()(),r._31(71,null,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._9(73,16777216,null,null,4,"mat-icon",[["class","mat-icon"],["role","img"]],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,75).show()&&i),"keydown"===e&&(i=!1!==r._22(t,75)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,75).hide(1500)&&i),i},Xp,Qp)),r._8(74,638976,null,0,_u,[r.l,du,[8,null]],null,null),r._8(75,147456,null,0,Bu,[$i,r.l,di,r.R,r.B,$r,Mo,To,Nu,[2,gi]],{message:[0,"message"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["help"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,E_)),r._8(81,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(84,0,null,null,18,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(86,0,null,null,8,"label",[["for","change-address"]],null,null,null,null,null)),(t()(),r._31(87,null,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._9(89,16777216,null,null,4,"mat-icon",[["class","mat-icon"],["role","img"]],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,91).show()&&i),"keydown"===e&&(i=!1!==r._22(t,91)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,91).hide(1500)&&i),i},Xp,Qp)),r._8(90,638976,null,0,_u,[r.l,du,[8,null]],null,null),r._8(91,147456,null,0,Bu,[$i,r.l,di,r.R,r.B,$r,Mo,To,Nu,[2,gi]],{message:[0,"message"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["help"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(96,0,null,null,5,"input",[["formControlName","changeAddress"],["id","change-address"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._22(t,97)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,97).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,97)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,97)._compositionEnd(n.target.value)&&i),"keydown.enter"===e&&(i=!1!==o.preview()&&i),i},null,null)),r._8(97,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(99,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(101,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(104,0,null,null,54,"div",[["class","-autohours"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(106,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(108,0,null,null,16,"div",[["class","col-md-5"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(110,0,null,null,13,"mat-checkbox",[["class","-check mat-checkbox"]],[[8,"id",0],[2,"mat-checkbox-indeterminate",null],[2,"mat-checkbox-checked",null],[2,"mat-checkbox-disabled",null],[2,"mat-checkbox-label-before",null]],[[null,"change"]],function(t,e,n){var r=!0;return"change"===e&&(r=!1!==t.component.setAutoHours(n)&&r),r},k_,M_)),r._28(5120,null,Ks,function(t){return[t]},[xl]),r._8(112,4374528,null,0,xl,[r.l,r.h,To,[8,null],[2,wl]],{checked:[0,"checked"]},{change:"change"}),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(114,0,null,0,8,"div",[["class","-space-between"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(116,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(117,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,A_)),r._8(121,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(127,0,null,null,30,"div",[],null,null,null,null,null)),r._8(128,278528,null,0,j,[r.u,r.v,r.l,r.G],{ngClass:[0,"ngClass"]},null),r._26(129,{"row -options-wrapper":0,"-hidden":1}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(131,0,null,null,25,"div",[["class","col-md-5"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(133,0,null,null,22,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(135,0,null,null,15,"label",[["class","-space-between"],["for","value"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(137,0,null,null,8,"span",[],null,null,null,null,null)),(t()(),r._31(138,null,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._9(140,16777216,null,null,4,"mat-icon",[["class","mat-icon"],["role","img"]],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,142).show()&&i),"keydown"===e&&(i=!1!==r._22(t,142)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,142).hide(1500)&&i),i},Xp,Qp)),r._8(141,638976,null,0,_u,[r.l,du,[8,null]],null,null),r._8(142,147456,null,0,Bu,[$i,r.l,di,r.R,r.B,$r,Mo,To,Nu,[2,gi]],{message:[0,"message"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["help"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(147,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(148,null,["",""])),r._27(149,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(152,0,null,null,2,"mat-slider",[["class","-slider mat-slider"],["id","value"],["max","1"],["min","0.1"],["role","slider"],["step","0.01"]],[[8,"tabIndex",0],[1,"aria-disabled",0],[1,"aria-valuemax",0],[1,"aria-valuemin",0],[1,"aria-valuenow",0],[1,"aria-orientation",0],[2,"mat-slider-disabled",null],[2,"mat-slider-has-ticks",null],[2,"mat-slider-horizontal",null],[2,"mat-slider-axis-inverted",null],[2,"mat-slider-sliding",null],[2,"mat-slider-thumb-label-showing",null],[2,"mat-slider-vertical",null],[2,"mat-slider-min-value",null],[2,"mat-slider-hide-last-tick",null]],[[null,"input"],[null,"focus"],[null,"blur"],[null,"click"],[null,"keydown"],[null,"keyup"],[null,"mouseenter"],[null,"slide"],[null,"slideend"],[null,"slidestart"]],function(t,e,n){var i=!0,o=t.component;return"focus"===e&&(i=!1!==r._22(t,154)._onFocus()&&i),"blur"===e&&(i=!1!==r._22(t,154)._onBlur()&&i),"click"===e&&(i=!1!==r._22(t,154)._onClick(n)&&i),"keydown"===e&&(i=!1!==r._22(t,154)._onKeydown(n)&&i),"keyup"===e&&(i=!1!==r._22(t,154)._onKeyup()&&i),"mouseenter"===e&&(i=!1!==r._22(t,154)._onMouseenter()&&i),"slide"===e&&(i=!1!==r._22(t,154)._onSlide(n)&&i),"slideend"===e&&(i=!1!==r._22(t,154)._onSlideEnd()&&i),"slidestart"===e&&(i=!1!==r._22(t,154)._onSlideStart(n)&&i),"input"===e&&(i=!1!==o.setShareValue(n)&&i),i},L_,x_)),r._28(5120,null,Ks,function(t){return[t]},[Ku]),r._8(154,245760,null,0,Ku,[r.l,To,r.h,[2,gi],[8,null]],{max:[0,"max"],min:[1,"min"],step:[2,"step"],value:[3,"value"]},{input:"input"}),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n\n"])),(t()(),r._9(161,0,null,null,11,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(163,0,null,null,3,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.preview()&&r),r},Sf,kf)),r._8(164,49152,[[1,4],["previewButton",4]],0,Mc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(165,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(168,0,null,null,3,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.send()&&r),r},Sf,kf)),r._8(169,49152,[[2,4],["sendButton",4]],0,Mc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(170,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,4,0,n.form),t(e,19,0,"wallet"),t(e,24,0,r._32(e,24,0,r._22(e,25).transform(n.walletService.all()))),t(e,36,0),t(e,37,0,r._32(e,37,0,r._22(e,38).transform("send.addresses-help"))),t(e,47,0,"addresses"),t(e,49,0,"",n.addressCompare,"addresses"),t(e,56,0,n.addresses),t(e,62,0,n.form.get("addresses").value),t(e,74,0),t(e,75,0,r._32(e,75,0,r._22(e,76).transform("send.destinations-help"+(n.autoHours?"1":"2")))),t(e,81,0,n.destControls),t(e,90,0),t(e,91,0,r._32(e,91,0,r._22(e,92).transform("send.change-address-help"))),t(e,99,0,"changeAddress"),t(e,112,0,n.autoHours),t(e,121,0,n.autoHours),t(e,128,0,t(e,129,0,!0,!n.autoOptions)),t(e,141,0),t(e,142,0,r._32(e,142,0,r._22(e,143).transform("send.value-help"))),t(e,154,0,"1","0.1","0.01",n.autoShareValue),t(e,164,0,!n.form.valid),t(e,169,0,!n.form.valid)},function(t,e){var n=e.component;t(e,3,0,r._22(e,6).ngClassUntouched,r._22(e,6).ngClassTouched,r._22(e,6).ngClassPristine,r._22(e,6).ngClassDirty,r._22(e,6).ngClassValid,r._22(e,6).ngClassInvalid,r._22(e,6).ngClassPending),t(e,11,0,r._32(e,11,0,r._22(e,12).transform("send.wallet-label"))),t(e,16,0,r._22(e,21).ngClassUntouched,r._22(e,21).ngClassTouched,r._22(e,21).ngClassPristine,r._22(e,21).ngClassDirty,r._22(e,21).ngClassValid,r._22(e,21).ngClassInvalid,r._22(e,21).ngClassPending),t(e,33,0,r._32(e,33,0,r._22(e,34).transform("send.addresses-label"))),t(e,44,1,[r._22(e,49).id,r._22(e,49).tabIndex,r._22(e,49)._ariaLabel,r._22(e,49).ariaLabelledby,r._22(e,49).required.toString(),r._22(e,49).disabled.toString(),r._22(e,49).errorState,r._22(e,49).panelOpen?r._22(e,49)._optionIds:null,r._22(e,49).multiple,r._22(e,49)._ariaDescribedby||null,r._22(e,49)._getAriaActiveDescendant(),r._22(e,49).disabled,r._22(e,49).errorState,r._22(e,49).required,r._22(e,53).ngClassUntouched,r._22(e,53).ngClassTouched,r._22(e,53).ngClassPristine,r._22(e,53).ngClassDirty,r._22(e,53).ngClassValid,r._22(e,53).ngClassInvalid,r._22(e,53).ngClassPending]),t(e,71,0,r._32(e,71,0,r._22(e,72).transform("send.destinations-label"))),t(e,87,0,r._32(e,87,0,r._22(e,88).transform("send.change-address-label"))),t(e,96,0,r._22(e,101).ngClassUntouched,r._22(e,101).ngClassTouched,r._22(e,101).ngClassPristine,r._22(e,101).ngClassDirty,r._22(e,101).ngClassValid,r._22(e,101).ngClassInvalid,r._22(e,101).ngClassPending),t(e,110,0,r._22(e,112).id,r._22(e,112).indeterminate,r._22(e,112).checked,r._22(e,112).disabled,"before"==r._22(e,112).labelPosition),t(e,117,0,r._32(e,117,0,r._22(e,118).transform("send.hours-allocation-label"))),t(e,138,0,r._32(e,138,0,r._22(e,139).transform("send.value-label"))),t(e,148,0,r._32(e,148,0,t(e,149,0,r._22(e,0),n.autoShareValue,"1.0-2"))),t(e,152,1,[r._22(e,154).tabIndex,r._22(e,154).disabled,r._22(e,154).max,r._22(e,154).min,r._22(e,154).value,r._22(e,154).vertical?"vertical":"horizontal",r._22(e,154).disabled,r._22(e,154).tickInterval,!r._22(e,154).vertical,r._22(e,154)._invertAxis,r._22(e,154)._isSliding,r._22(e,154).thumbLabel,r._22(e,154).vertical,r._22(e,154)._isMinValue,r._22(e,154).disabled||r._22(e,154)._isMinValue&&r._22(e,154)._thumbGap&&r._22(e,154)._invertAxis]),t(e,165,0,r._32(e,165,0,r._22(e,166).transform("send.preview-button"))),t(e,170,0,r._32(e,170,0,r._22(e,171).transform("send.send-button")))})}var I_=function(){function t(t){var e=this;this.priceService=t,this.showInputsOutputs=!1,this.subscription=this.priceService.price.subscribe(function(t){return e.price=t})}return t.prototype.ngOnInit=function(){var t=this;this.isPreview&&(this.transaction.hoursSent=this.transaction.outputs.filter(function(e){return t.transaction.to.find(function(t){return t===e.address})}).map(function(t){return parseInt(t.hours,10)}).reduce(function(t,e){return t+e},0))},t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t.prototype.toggleInputsOutputs=function(t){t.preventDefault(),this.showInputsOutputs=!this.showInputsOutputs},t}(),R_=r._7({encapsulation:0,styles:[["h4[_ngcontent-%COMP%]{font-size:14px;margin:0 0 30px}.-item[_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:13px}.-item[_ngcontent-%COMP%]:not(:last-child){margin-bottom:10px}.-item[_ngcontent-%COMP%] .-number[_ngcontent-%COMP%]{padding:10px;background:#f7f7f7;-ms-flex-item-align:start;align-self:flex-start;border-radius:10px}.-item[_ngcontent-%COMP%] .-info[_ngcontent-%COMP%]{margin-left:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.-item[_ngcontent-%COMP%] .-info[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%]{padding:10px 0;margin-bottom:5px}.-data[_ngcontent-%COMP%]{font-size:12px}.-data[_ngcontent-%COMP%]:not(:last-child){margin-bottom:5px}.-data[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child{color:rgba(30,34,39,.5);display:inline-block;width:60px}.-data.-more[_ngcontent-%COMP%]{margin-bottom:0!important}.-data.-more[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{width:auto!important;margin-top:30px;color:#7a5917;cursor:pointer}.-data.-more[_ngcontent-%COMP%] span[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{display:inline;vertical-align:middle;font-size:13px}.-tx-meta[_ngcontent-%COMP%] .-data[_ngcontent-%COMP%]:not(:last-child){margin-bottom:10px}.-tx-price[_ngcontent-%COMP%]{text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.-tx-price[_ngcontent-%COMP%] .-icon.-incoming[_ngcontent-%COMP%]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.-tx-price[_ngcontent-%COMP%] .-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:30px}.-tx-price[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#1e2227;font-size:16px;font-weight:700;margin:10px 0 5px}.-tx-price[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:rgba(30,34,39,.5);font-size:12px;margin:0}.-tx-price[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:rgba(121,135,152,.5)}.-margin-top[_ngcontent-%COMP%]{margin-top:30px}"]],data:{}});function H_(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"h4",[],null,null,null,null,null)),(t()(),r._31(1,null,["",""])),r._25(131072,mp.i,[mp.j,r.h])],null,function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("tx.confirm-transaction")))})}function F_(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"h4",[],null,null,null,null,null)),(t()(),r._31(1,null,["",""])),r._25(131072,mp.i,[mp.j,r.h])],null,function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("tx.transaction")))})}function N_(t){return r._33(0,[(t()(),r._9(0,0,null,null,15,null,null,null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,5,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(5,null,["",":"])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(7,null,[" ","\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,5,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(11,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(12,null,["",":"])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(14,null,[" ","\n "])),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){var n=e.component;t(e,5,0,r._32(e,5,0,r._22(e,6).transform("tx.from"))),t(e,7,0,n.transaction.from),t(e,12,0,r._32(e,12,0,r._22(e,13).transform("tx.to"))),t(e,14,0,n.transaction.to.join(", "))})}function V_(t){return r._33(0,[(t()(),r._9(0,0,null,null,17,null,null,null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,6,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(5,null,["",":"])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(7,null,[" ","\n "])),r._27(8,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,6,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(13,null,["",":"])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(15,null,[" ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){var n=e.component;t(e,5,0,r._32(e,5,0,r._22(e,6).transform("tx.date"))),t(e,7,0,r._32(e,7,0,t(e,8,0,r._22(e.parent,0),1e3*n.transaction.timestamp,"short"))),t(e,13,0,r._32(e,13,0,r._22(e,14).transform("tx.status"))),t(e,15,0,r._32(e,15,0,r._22(e,16).transform(n.transaction.confirmed?"tx.confirmed":"tx.pending")))})}function B_(t){return r._33(0,[(t()(),r._9(0,0,null,null,9,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(3,null,["",":"])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(5,null,["\n "," ","\n |\n "," ","\n "])),r._27(6,2),r._25(131072,mp.i,[mp.j,r.h]),r._27(8,2),r._25(131072,mp.i,[mp.j,r.h])],null,function(t,e){var n=e.component;t(e,3,0,r._32(e,3,0,r._22(e,4).transform("tx.hours"))),t(e,5,0,r._32(e,5,0,t(e,6,0,r._22(e.parent,1),n.transaction.hoursSent,"1.0-6")),r._32(e,5,1,r._22(e,7).transform("tx.hours-sent")),r._32(e,5,2,t(e,8,0,r._22(e.parent,1),n.transaction.hoursBurned,"1.0-6")),r._32(e,5,3,r._22(e,9).transform("tx.hours-burned")))})}function z_(t){return r._33(0,[(t()(),r._9(0,0,null,null,9,"div",[["class","-data -more"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,6,"span",[],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.toggleInputsOutputs(n)&&r),r},null,null)),(t()(),r._31(3,null,["\n "," "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._9(5,0,null,null,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Xp,Qp)),r._8(6,638976,null,0,_u,[r.l,du,[8,null]],null,null),(t()(),r._31(-1,0,["keyboard_arrow_down"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,6,0)},function(t,e){t(e,3,0,r._32(e,3,0,r._22(e,4).transform("tx.show-more")))})}function W_(t){return r._33(0,[(t()(),r._9(0,0,null,null,6,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(3,null,["",":"])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(5,null,[" ","\n "])),r._27(6,2)],null,function(t,e){t(e,3,0,r._32(e,3,0,r._22(e,4).transform("tx.hours"))),t(e,5,0,r._32(e,5,0,t(e,6,0,r._22(e.parent.parent.parent,1),e.parent.context.$implicit.calculated_hours,"1.0-6")))})}function U_(t){return r._33(0,[(t()(),r._9(0,0,null,null,21,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"div",[["class","-number"]],null,null,null,null,null)),(t()(),r._31(3,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,15,"div",[["class","-info"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,1,"div",[["class","-address"]],null,null,null,null,null)),(t()(),r._31(8,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,6,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(13,null,["",":"])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(15,null,[" ","\n "])),r._27(16,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,W_)),r._8(19,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,19,0,e.component.isPreview)},function(t,e){var n=e.component;t(e,3,0,e.context.index+1),t(e,8,0,n.isPreview?e.context.$implicit.address:e.context.$implicit.owner),t(e,13,0,r._32(e,13,0,r._22(e,14).transform("tx.coins"))),t(e,15,0,r._32(e,15,0,t(e,16,0,r._22(e.parent.parent,1),e.context.$implicit.coins,"1.0-6")))})}function G_(t){return r._33(0,[(t()(),r._9(0,0,null,null,6,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(3,null,["",":"])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(5,null,[" ","\n "])),r._27(6,2)],null,function(t,e){t(e,3,0,r._32(e,3,0,r._22(e,4).transform("tx.hours"))),t(e,5,0,r._32(e,5,0,t(e,6,0,r._22(e.parent.parent.parent,1),e.parent.context.$implicit.hours,"1.0-6")))})}function J_(t){return r._33(0,[(t()(),r._9(0,0,null,null,21,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"div",[["class","-number"]],null,null,null,null,null)),(t()(),r._31(3,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,15,"div",[["class","-info"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,1,"div",[["class","-address"]],null,null,null,null,null)),(t()(),r._31(8,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,6,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(13,null,["",":"])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(15,null,[" ","\n "])),r._27(16,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,G_)),r._8(19,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,19,0,e.component.isPreview)},function(t,e){var n=e.component;t(e,3,0,e.context.index+1),t(e,8,0,n.isPreview?e.context.$implicit.address:e.context.$implicit.dst),t(e,13,0,r._32(e,13,0,r._22(e,14).transform("tx.coins"))),t(e,15,0,r._32(e,15,0,t(e,16,0,r._22(e.parent.parent,1),e.context.$implicit.coins,"1.0-6")))})}function q_(t){return r._33(0,[(t()(),r._9(0,0,null,null,21,null,null,null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,8,"div",[["class","col-md-6 -margin-top"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,2,"h4",[],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,U_)),r._8(9,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,8,"div",[["class","col-md-6 -margin-top"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,2,"h4",[],null,null,null,null,null)),(t()(),r._31(15,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,J_)),r._8(19,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){var n=e.component;t(e,9,0,n.transaction.inputs),t(e,19,0,n.transaction.outputs)},function(t,e){t(e,5,0,r._32(e,5,0,r._22(e,6).transform("tx.inputs"))),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("tx.outputs")))})}function Q_(t){return r._33(0,[r._25(0,ut,[r.w]),r._25(0,Ct,[r.w]),(t()(),r._9(2,0,null,null,50,"div",[["class","row"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,23,"div",[["class","col-md-9 -tx-meta"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,H_)),r._8(7,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,F_)),r._8(10,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,N_)),r._8(13,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,V_)),r._8(16,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,B_)),r._8(19,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(21,0,null,null,5,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(23,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(24,null,["",":"])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(26,null,[" ","\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(29,0,null,null,13,"div",[["class","col-md-3 -tx-price"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(31,0,null,null,5,"div",[["class","-icon"]],null,null,null,null,null)),r._8(32,278528,null,0,j,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(33,{"-incoming":0}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(35,0,null,null,0,"img",[["src","/assets/img/send-blue.png"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(38,0,null,null,3,"h4",[],null,null,null,null,null)),(t()(),r._31(39,null,[""," ",""])),r._27(40,2),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n \n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(44,0,null,null,4,"div",[["class","col-md-12"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,z_)),r._8(47,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,q_)),r._8(51,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,7,0,n.isPreview),t(e,10,0,!n.isPreview),t(e,13,0,n.isPreview),t(e,16,0,!n.isPreview),t(e,19,0,n.isPreview),t(e,32,0,"-icon",t(e,33,0,!n.isPreview&&n.transaction.balance>0)),t(e,47,0,!n.showInputsOutputs),t(e,51,0,n.showInputsOutputs)},function(t,e){var n=e.component;t(e,24,0,r._32(e,24,0,r._22(e,25).transform("tx.id"))),t(e,26,0,n.transaction.txid),t(e,39,0,r._32(e,39,0,t(e,40,0,r._22(e,1),n.transaction.balance,"1.0-6")),r._32(e,39,1,r._22(e,41).transform("common.coin-id")))})}var X_=function(){function t(t,e){this.walletService=t,this.snackbar=e,this.onBack=new r.o}return t.prototype.ngOnDestroy=function(){this.snackbar.dismiss()},t.prototype.send=function(){var t=this;this.sendButton.isLoading()||(this.snackbar.dismiss(),this.sendButton.resetState(),this.sendButton.setLoading(),this.backButton.setDisabled(),this.walletService.injectTransaction(this.transaction.encoded).subscribe(function(){t.sendButton.setSuccess(),t.sendButton.setDisabled(),t.walletService.startDataRefreshSubscription(),setTimeout(function(){t.onBack.emit(!0)},3e3)},function(e){wc(t.snackbar,e),t.sendButton.setError(e),t.backButton.setEnabled()}))},t.prototype.back=function(){this.onBack.emit(!1)},t}(),K_=r._7({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{margin-top:10px;text-align:center}"]],data:{}});function Z_(t){return r._33(0,[r._29(402653184,1,{sendButton:0}),r._29(402653184,2,{backButton:0}),(t()(),r._9(2,0,null,null,1,"app-transaction-info",[],null,null,null,Q_,R_)),r._8(3,245760,null,0,I_,[xp],{transaction:[0,"transaction"],isPreview:[1,"isPreview"]},null),(t()(),r._31(-1,null,["\n\n"])),(t()(),r._9(5,0,null,null,11,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,3,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.back()&&r),r},Sf,kf)),r._8(8,49152,[[2,4],["backButton",4]],0,Mc,[],null,{action:"action"}),(t()(),r._31(9,0,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,3,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.send()&&r),r},Sf,kf)),r._8(13,49152,[[1,4],["sendButton",4]],0,Mc,[],null,{action:"action"}),(t()(),r._31(14,0,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){t(e,3,0,e.component.transaction,!0)},function(t,e){t(e,9,0,r._32(e,9,0,r._22(e,10).transform("send.back-button"))),t(e,14,0,r._32(e,14,0,r._22(e,15).transform("send.send-button")))})}var $_=r._7({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{text-align:center}.-paper[_ngcontent-%COMP%]{background-color:#fbfbfb;border-radius:10px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);padding:30px;margin:30px}"]],data:{}});function tm(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-send-form",[],null,[[null,"onFormSubmitted"]],function(t,e,n){var r=!0;return"onFormSubmitted"===e&&(r=!1!==t.component.onFormSubmitted(n)&&r),r},u_,a_)),r._8(1,245760,null,0,s_,[qa,Kr,Hs,pc,Lc],{formData:[0,"formData"]},{onFormSubmitted:"onFormSubmitted"})],function(t,e){t(e,1,0,e.component.formData)},null)}function em(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-send-form-advanced",[],null,[[null,"onFormSubmitted"]],function(t,e,n){var r=!0;return"onFormSubmitted"===e&&(r=!1!==t.component.onFormSubmitted(n)&&r),r},j_,S_)),r._8(1,245760,null,0,C_,[Kr,qa,Hs,pc,Lc],{formData:[0,"formData"]},{onFormSubmitted:"onFormSubmitted"})],function(t,e){t(e,1,0,e.component.formData)},null)}function nm(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-send-preview",[],null,[[null,"onBack"]],function(t,e,n){var r=!0;return"onBack"===e&&(r=!1!==t.component.onBack(n)&&r),r},Z_,K_)),r._8(1,180224,null,0,X_,[Kr,pc],{transaction:[0,"transaction"]},{onBack:"onBack"})],function(t,e){t(e,1,0,e.component.transaction)},null)}function rm(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-header",[],null,null,null,Zf,Ff)),r._8(1,245760,null,0,Hf,[Pp,er,pp,xp,Kr,Bn,mp.j],{headline:[0,"headline"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(4,0,null,null,13,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,10,"div",[["class","-paper"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,tm)),r._8(9,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,em)),r._8(12,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,nm)),r._8(15,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,1,0,r._32(e,1,0,r._22(e,2).transform("title.wallets"))),t(e,9,0,n.showForm&&n.activeForm===n.activeForms.LeftButton),t(e,12,0,n.showForm&&n.activeForm===n.activeForms.RightButton),t(e,15,0,!n.showForm)},null)}var im=r._5("app-send-skycoin",Tc,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-send-skycoin",[],null,null,null,rm,$_)),r._8(1,180224,null,0,Tc,[Lc],null,null)],null,null)},{},{},[]),om=function(){this.isLoading=!0},sm=r._7({encapsulation:0,styles:[[".-content[_ngcontent-%COMP%]{text-align:center;margin:50px 0;color:rgba(30,34,39,.5);font-size:13px}.-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-top:15px}.-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:rgba(30,34,39,.2);font-size:40px}.-content[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{display:inline-block}.-content[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%] circle{stroke:rgba(30,34,39,.2)}"]],data:{}});function am(t){return r._33(0,[(t()(),r._9(0,0,null,null,8,"div",[],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["mode","indeterminate"],["role","progressbar"]],[[4,"width","px"],[4,"height","px"]],null,null,Mf,wf)),r._8(3,573440,null,0,Qu,[r.l,$r,[2,Dt]],{diameter:[0,"diameter"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(6,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,3,0,40)},function(t,e){t(e,2,0,r._22(e,3)._elementSize,r._22(e,3)._elementSize),t(e,6,0,r._32(e,6,0,r._22(e,7).transform("common.loading")))})}function lm(t){return r._33(0,[(t()(),r._9(0,0,null,null,8,"div",[],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"i",[["class","material-icons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["announcement"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(6,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){var n=e.component;t(e,6,0,r._32(e,6,0,r._22(e,7).transform(n.noDataText)))})}function um(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"div",[["class","-content"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,am)),r._8(3,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,lm)),r._8(6,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0,n.isLoading),t(e,6,0,!n.isLoading)},null)}var cm=r._7({encapsulation:0,styles:[[".-paper[_ngcontent-%COMP%]{background-color:#fbfbfb;border-radius:10px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);margin:30px}.-transaction[_ngcontent-%COMP%]{background-color:#fafafa;border-bottom:1px solid #eff0f0;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;padding:20px 12px}.-transaction[_ngcontent-%COMP%]:first-child{border-top-left-radius:15px;border-top-right-radius:15px}.-transaction[_ngcontent-%COMP%]:last-child{border-bottom-left-radius:15px;border-bottom-right-radius:15px}.-transaction[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{padding:0 8px}.-transaction[_ngcontent-%COMP%] .-icon[_ngcontent-%COMP%]{margin-top:5px}.-transaction[_ngcontent-%COMP%] .-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:32px}.-transaction[_ngcontent-%COMP%] .-icon.-incoming[_ngcontent-%COMP%]{-webkit-transform:scaleX(-1);transform:scaleX(-1);-webkit-filter:FlipH;filter:FlipH;-ms-filter:FlipH}.-transaction[_ngcontent-%COMP%] .-icon.-pending[_ngcontent-%COMP%]{opacity:.5}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%]{-webkit-box-flex:1;-ms-flex:1;flex:1}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#1e2227;font-size:13px;font-weight:700;line-height:15px;margin:0 0 8px}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:10px;line-height:12px;padding-left:5px;font-weight:300}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] .-pending[_ngcontent-%COMP%]{color:#fdb51e}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] .-timestamp[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] .-item[_ngcontent-%COMP%]:not(:last-child){margin-bottom:5px}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] .-item[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{display:inline-block;height:17px;vertical-align:middle;width:17px;margin-right:4px}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] .-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:rgba(30,34,39,.5);display:inline-block;font-size:13px;line-height:15px;margin:0}.-transaction[_ngcontent-%COMP%] .-balance[_ngcontent-%COMP%]{width:200px;text-align:right}.-transaction[_ngcontent-%COMP%] .-balance[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#1e2227;font-size:13px;font-weight:700;line-height:15px;margin:0 0 8px}.-transaction[_ngcontent-%COMP%] .-balance[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:rgba(30,34,39,.5);display:inline-block;font-size:13px;line-height:15px;margin:0}.-transaction[_ngcontent-%COMP%] .-balance[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:rgba(121,135,152,.5)}"]],data:{}});function dm(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-loading-content",[["noDataText","history.no-txs"]],null,null,null,um,sm)),r._8(1,49152,null,0,om,[],{isLoading:[0,"isLoading"],noDataText:[1,"noDataText"]},null)],function(t,e){t(e,1,0,!e.component.transactions,"history.no-txs")},null)}function hm(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"h4",[],null,null,null,null,null)),(t()(),r._31(1,null,["\n "," ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._9(4,0,null,null,2,"span",[["class","-timestamp"]],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),r._27(6,2),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("history.sent")),r._32(e,1,1,r._22(e,3).transform("common.coin-id"))),t(e,5,0,r._32(e,5,0,t(e,6,0,r._22(e.parent.parent.parent.parent,0),1e3*e.parent.parent.context.$implicit.timestamp,"short")))})}function pm(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"h4",[],null,null,null,null,null)),(t()(),r._31(1,null,["\n "," ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._9(4,0,null,null,2,"span",[["class","-pending"]],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("history.sending")),r._32(e,1,1,r._22(e,3).transform("common.coin-id"))),t(e,5,0,r._32(e,5,0,r._22(e,6).transform("history.pending")))})}function fm(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"h4",[],null,null,null,null,null)),(t()(),r._31(1,null,["\n "," ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._9(4,0,null,null,2,"span",[["class","-timestamp"]],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),r._27(6,2),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("history.received")),r._32(e,1,1,r._22(e,3).transform("common.coin-id"))),t(e,5,0,r._32(e,5,0,t(e,6,0,r._22(e.parent.parent.parent.parent,0),1e3*e.parent.parent.context.$implicit.timestamp,"short")))})}function _m(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"h4",[],null,null,null,null,null)),(t()(),r._31(1,null,["\n "," ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._9(4,0,null,null,2,"span",[["class","-pending"]],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("history.receiving")),r._32(e,1,1,r._22(e,3).transform("common.coin-id"))),t(e,5,0,r._32(e,5,0,r._22(e,6).transform("history.pending")))})}function mm(t){return r._33(0,[(t()(),r._9(0,0,null,null,6,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,0,"img",[["class","qr-code-button"],["src","../../../../assets/img/qr-code-black.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.showQrCode(n,t.context.$implicit)&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,5,0,e.context.$implicit)})}function gm(t){return r._33(0,[(t()(),r._9(0,0,null,null,34,"div",[["class","-transaction"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.showTransaction(t.parent.context.$implicit)&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,5,"div",[["class","-icon"]],null,null,null,null,null)),r._8(3,278528,null,0,j,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(4,{"-incoming":0,"-pending":1}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,0,"img",[["src","/assets/img/send-blue.png"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,16,"div",[["class","-address"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,hm)),r._8(12,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,pm)),r._8(15,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,fm)),r._8(18,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,_m)),r._8(21,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,mm)),r._8(24,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(27,0,null,null,6,"div",[["class","-balance"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(29,0,null,null,3,"h4",[],null,null,null,null,null)),(t()(),r._31(30,null,[""," ",""])),r._27(31,2),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n \n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,3,0,"-icon",t(e,4,0,e.parent.context.$implicit.balance>0,!e.parent.context.$implicit.confirmed)),t(e,12,0,e.parent.context.$implicit.balance<0&&e.parent.context.$implicit.confirmed),t(e,15,0,e.parent.context.$implicit.balance<0&&!e.parent.context.$implicit.confirmed),t(e,18,0,e.parent.context.$implicit.balance>0&&e.parent.context.$implicit.confirmed),t(e,21,0,e.parent.context.$implicit.balance>0&&!e.parent.context.$implicit.confirmed),t(e,24,0,e.parent.context.$implicit.addresses)},function(t,e){t(e,30,0,r._32(e,30,0,t(e,31,0,r._22(e.parent.parent.parent,1),e.parent.context.$implicit.balance,"1.0-6")),r._32(e,30,1,r._22(e,32).transform("common.coin-id")))})}function ym(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,gm)),r._8(3,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,3,0,0!==e.context.$implicit.balance)},null)}function vm(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[["class","-paper"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,ym)),r._8(3,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,3,0,e.component.transactions)},null)}function bm(t){return r._33(0,[r._25(0,ut,[r.w]),r._25(0,Ct,[r.w]),(t()(),r._9(2,0,null,null,2,"app-header",[],null,null,null,Zf,Ff)),r._8(3,245760,null,0,Hf,[Pp,er,pp,xp,Kr,Bn,mp.j],{headline:[0,"headline"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(6,0,null,null,7,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,dm)),r._8(9,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,vm)),r._8(12,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0,r._32(e,3,0,r._22(e,4).transform("title.transactions"))),t(e,9,0,!n.transactions||0===n.transactions.length),t(e,12,0,n.transactions&&n.transactions.length>0)},null)}var wm=r._5("app-transaction-list",Cp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-transaction-list",[],null,null,null,bm,cm)),r._8(1,245760,null,0,Cp,[Hs,xp,Kr],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Mm=function(){function t(){this.statuses=["done","waiting_confirm","waiting_deposit","waiting_send"]}return t.prototype.transform=function(t){return this.statuses.find(function(e){return e===t})?"teller."+t.replace("_","-"):"teller.unknown"},t}(),km=r._7({encapsulation:0,styles:[[".-background-container[_ngcontent-%COMP%]{background-color:#fbfbfb;padding-top:30px;max-width:100%;min-height:calc(100% - 190px);overflow:hidden;position:relative}.-background-image[_ngcontent-%COMP%]{display:none}@media (min-width:768px){.-background-image[_ngcontent-%COMP%]{display:block;left:50%;width:80%;position:absolute;top:0}}@media (min-width:992px){.-background-image[_ngcontent-%COMP%]{left:40%;width:90%;max-width:850px}}@media (min-width:1200px){.-background-image[_ngcontent-%COMP%]{left:40%;width:80%;max-width:850px}}.-paper[_ngcontent-%COMP%]{background-color:#fbfbfb;border-radius:10px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);padding:30px;position:relative;margin-top:30px;max-width:540px;z-index:5}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:30px}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-number[_ngcontent-%COMP%]{width:60px}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-number[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{border-radius:50%;color:#fff;display:inline-block;font-size:16px;font-weight:700;height:40px;line-height:46px;text-align:center;width:40px}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%]{-webkit-box-flex:1;-ms-flex:1 1;flex:1 1}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] button{margin-left:0}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#1e2227;font-size:16px;font-weight:700;margin:0;line-height:46px}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:rgba(30,34,39,.8);font-size:14px;font-weight:300;line-height:20px;margin-top:0}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%], .-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .-status[_ngcontent-%COMP%]{background-color:#fff;border:2px solid rgba(0,0,0,.05);border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(30,34,39,.8);display:block;font-size:14px;line-height:20px;margin-bottom:15px;padding:10px;width:100%}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .-coins[_ngcontent-%COMP%]{color:#0072ff}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%]{margin-bottom:15px}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .-subtitle[_ngcontent-%COMP%]{color:#8c8e90;font-size:12px;line-height:18px;font-weight:300;opacity:.8}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .-wallet[_ngcontent-%COMP%]{color:rgba(30,34,39,.8);font-size:14px}"]],data:{}});function xm(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"option",[],null,null,null,null,null)),r._8(1,147456,null,0,da,[r.l,r.G,[2,ca]],{value:[0,"value"]},null),r._8(2,147456,null,0,fa,[r.l,r.G,[8,null]],{value:[0,"value"]},null),(t()(),r._31(3,null,["\n "," - "])),(t()(),r._9(4,0,null,null,2,"span",[["class","-coins"]],null,null,null,null,null)),(t()(),r._31(5,null,[""," ",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,1,0,e.context.$implicit.filename),t(e,2,0,e.context.$implicit.filename)},function(t,e){t(e,3,0,e.context.$implicit.label),t(e,5,0,e.context.$implicit.coins,r._32(e,5,1,r._22(e,6).transform("common.coin-id")))})}function Lm(t){return r._33(0,[(t()(),r._9(0,0,null,null,26,"div",[["class","-step"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,4,"div",[["class","-number"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,1,"span",[["class","primary-gradient-background"]],null,null,null,null,null)),(t()(),r._31(-1,null,["2"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,17,"div",[["class","-instructions flex-fill"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"h3",[],null,null,null,null,null)),(t()(),r._31(11,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,3,"p",[],null,null,null,null,null)),(t()(),r._31(15,null,["",""])),r._26(16,{rate:0}),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(19,0,null,null,1,"span",[["class","-address"]],null,null,null,null,null)),(t()(),r._31(20,null,["\n ","\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(22,0,null,null,2,"span",[["class","-subtitle"]],null,null,null,null,null)),(t()(),r._31(23,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){var n=e.component;t(e,11,0,r._32(e,11,0,r._22(e,12).transform("buy.send"))),t(e,15,0,r._32(e,15,0,r._22(e,17).transform("buy.send-desc",t(e,16,0,n.config.sky_btc_exchange_rate)))),t(e,20,0,n.order.deposit_address),t(e,23,0,r._32(e,23,0,r._22(e,24).transform("buy.fraction-warning")))})}function Cm(t){return r._33(0,[(t()(),r._9(0,0,null,null,34,"div",[["class","-step"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,4,"div",[["class","-number"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,1,"span",[["class","primary-gradient-background"]],null,null,null,null,null)),(t()(),r._31(-1,null,["3"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,25,"div",[["class","-instructions flex-fill"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"h3",[],null,null,null,null,null)),(t()(),r._31(11,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(15,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(18,0,null,null,4,"span",[["class","-status"]],null,null,null,null,null)),(t()(),r._31(19,null,["\n "," ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),r._27(21,1),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(24,0,null,null,3,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.checkStatus()&&r),r},Sf,kf)),r._8(25,49152,[[1,4],["button",4]],0,Mc,[],null,{action:"action"}),(t()(),r._31(26,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(29,0,null,null,3,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.removeOrder()&&r),r},Sf,kf)),r._8(30,49152,[[1,4],["button",4]],0,Mc,[],null,{action:"action"}),(t()(),r._31(31,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){var n=e.component;t(e,11,0,r._32(e,11,0,r._22(e,12).transform("buy.receive"))),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("buy.receive-desc"))),t(e,19,0,r._32(e,19,0,r._22(e,20).transform("buy.status-button")),r._32(e,19,1,r._22(e,22).transform(r._32(e,19,1,t(e,21,0,r._22(e.parent.parent,0),n.order.status))))),t(e,26,0,r._32(e,26,0,r._22(e,27).transform("buy.check-status-button"))),t(e,31,0,r._32(e,31,0,r._22(e,32).transform("buy.new-order-button")))})}function Sm(t){return r._33(0,[(t()(),r._9(0,0,null,null,59,"div",[["class","-paper"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,1).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,1).onReset()&&i),i},null,null)),r._8(1,540672,null,0,Ba,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,zs,null,[Ba]),r._8(3,16384,null,0,Oa,[zs],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,47,"div",[["class","-step"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,4,"div",[["class","-number"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,1,"span",[["class","primary-gradient-background"]],null,null,null,null,null)),(t()(),r._31(-1,null,["1"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(13,0,null,null,38,"div",[["class","-instructions flex-fill"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(15,0,null,null,2,"h3",[],null,null,null,null,null)),(t()(),r._31(16,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(19,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(20,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(23,0,null,null,23,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(25,0,null,null,20,"div",[["class","-select"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(27,0,null,null,17,"select",[["class","-wallet"],["formControlName","wallet"],["id","wallet"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"blur"]],function(t,e,n){var i=!0;return"change"===e&&(i=!1!==r._22(t,28).onChange(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,28).onTouched()&&i),i},null,null)),r._8(28,16384,null,0,ca,[r.G,r.l],null,null),r._8(29,16384,null,0,Ja,[],{required:[0,"required"]},null),r._28(1024,null,Us,function(t){return[t]},[Ja]),r._28(1024,null,Ks,function(t){return[t]},[ca]),r._8(32,671744,null,0,Ga,[[3,zs],[2,Us],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(34,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(36,0,null,null,4,"option",[["disabled",""],["selected",""]],null,null,null,null,null)),r._8(37,147456,null,0,da,[r.l,r.G,[2,ca]],null,null),r._8(38,147456,null,0,fa,[r.l,r.G,[8,null]],null,null),(t()(),r._31(39,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,xm)),r._8(43,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(48,0,null,null,2,"span",[["class","-subtitle"]],null,null,null,null,null)),(t()(),r._31(49,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Lm)),r._8(55,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Cm)),r._8(58,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "]))],function(t,e){var n=e.component;t(e,1,0,n.form),t(e,29,0,""),t(e,32,0,"wallet"),t(e,43,0,n.wallets),t(e,55,0,n.order),t(e,58,0,n.order)},function(t,e){t(e,0,0,r._22(e,3).ngClassUntouched,r._22(e,3).ngClassTouched,r._22(e,3).ngClassPristine,r._22(e,3).ngClassDirty,r._22(e,3).ngClassValid,r._22(e,3).ngClassInvalid,r._22(e,3).ngClassPending),t(e,16,0,r._32(e,16,0,r._22(e,17).transform("buy.deposit-location"))),t(e,20,0,r._32(e,20,0,r._22(e,21).transform("buy.deposit-location-desc"))),t(e,27,0,r._22(e,29).required?"":null,r._22(e,34).ngClassUntouched,r._22(e,34).ngClassTouched,r._22(e,34).ngClassPristine,r._22(e,34).ngClassDirty,r._22(e,34).ngClassValid,r._22(e,34).ngClassInvalid,r._22(e,34).ngClassPending),t(e,39,0,r._32(e,39,0,r._22(e,40).transform("buy.make-choice"))),t(e,49,0,r._32(e,49,0,r._22(e,50).transform("buy.wallets-desc")))})}function Tm(t){return r._33(0,[r._25(0,Mm,[]),r._29(671088640,1,{button:0}),(t()(),r._9(2,0,null,null,1,"app-header",[],null,null,null,Zf,Ff)),r._8(3,245760,null,0,Hf,[Pp,er,pp,xp,Kr,Bn,mp.j],null,null),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(5,0,null,null,9,"div",[["class","-background-container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,6,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Sm)),r._8(10,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,0,"img",[["class","-background-image"],["src","../../../../assets/img/otc-background.jpg"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0),t(e,10,0,n.config)},null)}var Om=r._5("app-buy",kp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-buy",[],null,null,null,Tm,km)),r._8(1,245760,null,0,kp,[qa,Mp,pc,Kr],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Dm=r._7({encapsulation:0,styles:[[".-paper[_ngcontent-%COMP%]{background-color:#fbfbfb;border-radius:15px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);padding:20px;font-size:13px;margin:30px 30px 0}.-paper[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:first-child{margin-top:0}.-paper[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{margin-bottom:0}.-text-muted[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}.-text-right[_ngcontent-%COMP%]{text-align:right}.-link[_ngcontent-%COMP%]{color:#0072ff;cursor:pointer}.-label[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}"]],data:{}});function Ym(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-loading-content",[["noDataText","backup.no-wallets"]],null,null,null,um,sm)),r._8(1,49152,null,0,om,[],{isLoading:[0,"isLoading"],noDataText:[1,"noDataText"]},null)],function(t,e){t(e,1,0,!1,"backup.no-wallets")},null)}function Pm(t){return r._33(0,[(t()(),r._9(0,0,null,null,14,"div",[["class","-row"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"div",[["class","-width-250 -label"]],[[1,"title",0]],null,null,null,null)),(t()(),r._31(3,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,1,"div",[["class","-width-150"]],null,null,null,null,null)),(t()(),r._31(6,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,5,"div",[["class","-flex-fill -text-right"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"span",[["class","-link"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.showSeed(t.context.$implicit)&&r),r},null,null)),(t()(),r._31(11,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,2,0,e.context.$implicit.label),t(e,3,0,e.context.$implicit.label),t(e,6,0,e.context.$implicit.filename),t(e,11,0,r._32(e,11,0,r._22(e,12).transform("backup.show-seed")))})}function Em(t){return r._33(0,[(t()(),r._9(0,0,null,null,20,"div",[["class","-table"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,11,"div",[["class","-headers"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,2,"div",[["class","-width-250"]],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,2,"div",[["class","-width-150"]],null,null,null,null,null)),(t()(),r._31(9,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,0,"div",[["class","-flex-fill"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(15,0,null,null,4,"div",[["class","-body"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Pm)),r._8(18,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,18,0,e.component.onlyEncrypted)},function(t,e){t(e,5,0,r._32(e,5,0,r._22(e,6).transform("backup.wallet"))),t(e,9,0,r._32(e,9,0,r._22(e,10).transform("backup.filename")))})}function Am(t){return r._33(0,[(t()(),r._9(0,0,null,null,31,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,2,"app-header",[],null,null,null,Zf,Ff)),r._8(3,245760,null,0,Hf,[Pp,er,pp,xp,Kr,Bn,mp.j],{headline:[0,"headline"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(6,0,null,null,24,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,15,"div",[["class","-paper"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(11,null,[""," ",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(15,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(18,0,null,null,4,"p",[["class","-text-muted"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(20,0,null,null,1,"small",[],[[8,"innerHTML",1]],null,null,null,null)),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,Ym)),r._8(26,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,Em)),r._8(29,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0,r._32(e,3,0,r._22(e,4).transform("title.backup"))),t(e,26,0,0===n.onlyEncrypted.length),t(e,29,0,n.onlyEncrypted.length>0)},function(t,e){var n=e.component;t(e,11,0,r._32(e,11,0,r._22(e,12).transform("backup.wallet-directory")),n.folder),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("backup.seed-warning"))),t(e,20,0,r._32(e,20,0,r._22(e,21).transform("backup.desc")))})}var jm=r._5("app-backup",yp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-backup",[],null,null,null,Am,Dm)),r._8(1,245760,null,0,yp,[Kr,Hs],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Im=function(){function t(){}return t.prototype.transform=function(t){return Oc.unix(t).format("YYYY-MM-DD HH:mm")},t}(),Rm=r._7({encapsulation:0,styles:[[".-wrapper[_ngcontent-%COMP%]{margin:30px}.-paper[_ngcontent-%COMP%]{background-color:#fbfbfb;border-radius:15px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);padding:20px;font-size:13px}.-item[_ngcontent-%COMP%]:not(:last-child){margin-bottom:20px}.-item[_ngcontent-%COMP%] .-key[_ngcontent-%COMP%]{color:rgba(30,34,39,.5);margin-bottom:5px}.-item[_ngcontent-%COMP%] .-value[_ngcontent-%COMP%]{word-break:break-all}"]],data:{}});function Hm(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-loading-content",[],null,null,null,um,sm)),r._8(1,49152,null,0,om,[],null,null)],null,null)}function Fm(t){return r._33(0,[(t()(),r._9(0,0,null,null,101,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,98,"div",[["class","row -wrapper"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,36,"div",[["class","col-md-6"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,33,"div",[["class","-paper"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,9,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._31(11,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,2,"div",[["class","-value"]],null,null,null,null,null)),(t()(),r._31(15,null,["",""])),r._27(16,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(19,0,null,null,9,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(21,0,null,null,2,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._31(22,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(25,0,null,null,2,"div",[["class","-value"]],null,null,null,null,null)),(t()(),r._31(26,null,["",""])),r._27(27,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(30,0,null,null,8,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(32,0,null,null,2,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._31(33,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(36,0,null,null,1,"div",[["class","-value"]],null,null,null,null,null)),(t()(),r._31(37,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(42,0,null,null,57,"div",[["class","col-md-6"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(44,0,null,null,54,"div",[["class","-paper"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(46,0,null,null,51,"div",[["class","row"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(48,0,null,null,23,"div",[["class","col-md-6"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(50,0,null,null,9,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(52,0,null,null,2,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._31(53,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(56,0,null,null,2,"div",[["class","-value"]],null,null,null,null,null)),(t()(),r._31(57,null,["",""])),r._27(58,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(61,0,null,null,9,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(63,0,null,null,2,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._31(64,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(67,0,null,null,2,"div",[["class","-value"]],null,null,null,null,null)),(t()(),r._31(68,null,["",""])),r._27(69,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(73,0,null,null,23,"div",[["class","col-md-6"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(75,0,null,null,9,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(77,0,null,null,2,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._31(78,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(81,0,null,null,2,"div",[["class","-value"]],null,null,null,null,null)),(t()(),r._31(82,null,["",""])),r._27(83,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(86,0,null,null,9,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(88,0,null,null,2,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._31(89,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(92,0,null,null,2,"div",[["class","-value"]],null,null,null,null,null)),(t()(),r._31(93,null,["",""])),r._27(94,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){var n=e.component;t(e,11,0,r._32(e,11,0,r._22(e,12).transform("blockchain.blocks"))),t(e,15,0,r._32(e,15,0,t(e,16,0,r._22(e.parent,0),n.block.header.seq))),t(e,22,0,r._32(e,22,0,r._22(e,23).transform("blockchain.time"))),t(e,26,0,r._32(e,26,0,t(e,27,0,r._22(e.parent,1),n.block.header.timestamp))),t(e,33,0,r._32(e,33,0,r._22(e,34).transform("blockchain.hash"))),t(e,37,0,n.block.header.block_hash),t(e,53,0,r._32(e,53,0,r._22(e,54).transform("blockchain.current-supply"))),t(e,57,0,r._32(e,57,0,t(e,58,0,r._22(e.parent,0),n.coinSupply.current_supply))),t(e,64,0,r._32(e,64,0,r._22(e,65).transform("blockchain.total-supply"))),t(e,68,0,r._32(e,68,0,t(e,69,0,r._22(e.parent,0),n.coinSupply.total_supply))),t(e,78,0,r._32(e,78,0,r._22(e,79).transform("blockchain.current-coinhour-supply"))),t(e,82,0,r._32(e,82,0,t(e,83,0,r._22(e.parent,0),n.coinSupply.current_coinhour_supply))),t(e,89,0,r._32(e,89,0,r._22(e,90).transform("blockchain.total-coinhour-supply"))),t(e,93,0,r._32(e,93,0,t(e,94,0,r._22(e.parent,0),n.coinSupply.total_coinhour_supply)))})}function Nm(t){return r._33(0,[r._25(0,Ct,[r.w]),r._25(0,Im,[]),(t()(),r._9(2,0,null,null,11,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,2,"app-header",[],null,null,null,Zf,Ff)),r._8(5,245760,null,0,Hf,[Pp,er,pp,xp,Kr,Bn,mp.j],{headline:[0,"headline"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,Hm)),r._8(9,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,Fm)),r._8(12,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,5,0,r._32(e,5,0,r._22(e,6).transform("title.blockchain"))),t(e,9,0,!(n.block&&n.block.header&&n.coinSupply)),t(e,12,0,n.block&&n.block.header&&n.coinSupply)},null)}var Vm=r._5("app-blockchain",fp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-blockchain",[],null,null,null,Nm,Rm)),r._8(1,114688,null,0,fp,[pp],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Bm=function(){function t(){}return t.prototype.transform=function(t){return Oc.unix(t).fromNow()},t}(),zm=r._7({encapsulation:0,styles:[[".-last-seen[_ngcontent-%COMP%], .-port[_ngcontent-%COMP%], .-source[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}.-direction[_ngcontent-%COMP%]{width:72px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.-direction[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:32px}.-direction[_ngcontent-%COMP%] img.-incoming[_ngcontent-%COMP%]{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.-last-seen[_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;font-size:12px;line-height:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.-last-seen[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:12px;display:inline;vertical-align:middle;padding-right:5px}.-trusted[_ngcontent-%COMP%]{display:inline;color:#0072ff;font-size:13px;vertical-align:middle}.-text-right[_ngcontent-%COMP%]{text-align:right}.-pl-0[_ngcontent-%COMP%]{padding-left:0!important}"]],data:{}});function Wm(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-loading-content",[],null,null,null,um,sm)),r._8(1,49152,null,0,om,[],null,null)],null,null)}function Um(t){return r._33(0,[(t()(),r._9(0,0,null,null,46,"div",[["class","-row"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,7,"div",[["class","-direction"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,16777216,null,null,4,"img",[["src","/assets/img/send-blue.png"]],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,7).show()&&i),"keydown"===e&&(i=!1!==r._22(t,7)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,7).hide(1500)&&i),i},null,null)),r._8(5,278528,null,0,j,[r.u,r.v,r.l,r.G],{ngClass:[0,"ngClass"]},null),r._26(6,{"-incoming":0}),r._8(7,147456,null,0,Bu,[$i,r.l,di,r.R,r.B,$r,Mo,To,Nu,[2,gi]],{message:[0,"message"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(11,0,null,null,4,"div",[["class","-width-200 -pl-0"]],null,null,null,null,null)),(t()(),r._31(12,null,["\n ",""])),(t()(),r._9(13,0,null,null,1,"span",[["class","-port"]],null,null,null,null,null)),(t()(),r._31(14,null,[":",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(17,0,null,null,2,"div",[["class","-flex-fill -source"]],null,null,null,null,null)),(t()(),r._31(18,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(21,0,null,null,1,"div",[["class","-width-150 -text-right"]],null,null,null,null,null)),(t()(),r._31(22,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(24,0,null,null,21,"div",[["class","-width-200 -last-seen"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(26,0,null,null,8,"div",[],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(28,16777216,null,null,4,"mat-icon",[["class","mat-icon"],["role","img"]],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,30).show()&&i),"keydown"===e&&(i=!1!==r._22(t,30)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,30).hide(1500)&&i),i},Xp,Qp)),r._8(29,638976,null,0,_u,[r.l,du,[8,null]],null,null),r._8(30,147456,null,0,Bu,[$i,r.l,di,r.R,r.B,$r,Mo,To,Nu,[2,gi]],{message:[0,"message"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["keyboard_arrow_up"])),(t()(),r._31(33,null,["\n ","\n "])),r._27(34,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(36,0,null,null,8,"div",[],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(38,16777216,null,null,4,"mat-icon",[["class","mat-icon"],["role","img"]],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,40).show()&&i),"keydown"===e&&(i=!1!==r._22(t,40)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,40).hide(1500)&&i),i},Xp,Qp)),r._8(39,638976,null,0,_u,[r.l,du,[8,null]],null,null),r._8(40,147456,null,0,Bu,[$i,r.l,di,r.R,r.B,$r,Mo,To,Nu,[2,gi]],{message:[0,"message"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["keyboard_arrow_down"])),(t()(),r._31(43,null,["\n ","\n "])),r._27(44,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,5,0,t(e,6,0,!e.context.$implicit.outgoing)),t(e,7,0,r._32(e,7,0,r._22(e,8).transform(e.context.$implicit.outgoing?"network.out":"network.in"))),t(e,29,0),t(e,30,0,r._32(e,30,0,r._22(e,31).transform("network.last-sent"))),t(e,39,0),t(e,40,0,r._32(e,40,0,r._22(e,41).transform("network.last-received")))},function(t,e){t(e,12,0,e.context.$implicit.address.split(":")[0]),t(e,14,0,e.context.$implicit.listen_port),t(e,18,0,r._32(e,18,0,r._22(e,19).transform("network.sources."+e.context.$implicit.source))),t(e,22,0,e.context.$implicit.height),t(e,33,0,r._32(e,33,0,t(e,34,0,r._22(e.parent.parent,0),e.context.$implicit.last_sent))),t(e,43,0,r._32(e,43,0,t(e,44,0,r._22(e.parent.parent,0),e.context.$implicit.last_received)))})}function Gm(t){return r._33(0,[(t()(),r._9(0,0,null,null,31,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,28,"div",[["class","-table"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,19,"div",[["class","-headers"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,0,"div",[["class","-direction"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,2,"div",[["class","-width-200 -pl-0"]],null,null,null,null,null)),(t()(),r._31(9,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,2,"div",[["class","-flex-fill"]],null,null,null,null,null)),(t()(),r._31(13,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,2,"div",[["class","-width-150 -text-right"]],null,null,null,null,null)),(t()(),r._31(17,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(20,0,null,null,2,"div",[["class","-width-200"]],null,null,null,null,null)),(t()(),r._31(21,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(25,0,null,null,4,"div",[["class","-body"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Um)),r._8(28,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,28,0,e.component.peers)},function(t,e){t(e,9,0,r._32(e,9,0,r._22(e,10).transform("network.peer"))),t(e,13,0,r._32(e,13,0,r._22(e,14).transform("network.source"))),t(e,17,0,r._32(e,17,0,r._22(e,18).transform("network.block-height"))),t(e,21,0,r._32(e,21,0,r._22(e,22).transform("network.last-seen")))})}function Jm(t){return r._33(0,[r._25(0,Bm,[]),(t()(),r._9(1,0,null,null,11,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(3,0,null,null,2,"app-header",[],null,null,null,Zf,Ff)),r._8(4,245760,null,0,Hf,[Pp,er,pp,xp,Kr,Bn,mp.j],{headline:[0,"headline"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,Wm)),r._8(8,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,Gm)),r._8(11,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,4,0,r._32(e,4,0,r._22(e,5).transform("title.network"))),t(e,8,0,!n.peers),t(e,11,0,n.peers)},null)}var qm=r._5("app-network",wp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-network",[],null,null,null,Jm,zm)),r._8(1,245760,null,0,wp,[bp],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Qm=r._7({encapsulation:0,styles:[[".-text-right[_ngcontent-%COMP%]{text-align:right}.-grey[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}.-row.-small[_ngcontent-%COMP%]{height:40px;line-height:40px}.-hash[_ngcontent-%COMP%]{margin-left:27px}.-address[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}.-address[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:17px;vertical-align:middle;margin-right:10px}.-label[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}"]],data:{}});function Xm(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-loading-content",[["noDataText","errors.no-outputs"]],null,null,null,um,sm)),r._8(1,49152,null,0,om,[],{isLoading:[0,"isLoading"],noDataText:[1,"noDataText"]},null)],function(t,e){t(e,1,0,!e.component.wallets,"errors.no-outputs")},null)}function Km(t){return r._33(0,[(t()(),r._9(0,0,null,null,12,"div",[["class","-row -small"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"div",[["class","-flex-fill -hash"]],null,null,null,null,null)),(t()(),r._31(3,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,2,"div",[["class","-width-150 -text-right"]],null,null,null,null,null)),(t()(),r._31(6,null,["",""])),r._27(7,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,2,"div",[["class","-width-150 -text-right -grey"]],null,null,null,null,null)),(t()(),r._31(10,null,["",""])),r._27(11,2),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,3,0,e.context.$implicit.hash),t(e,6,0,r._32(e,6,0,t(e,7,0,r._22(e.parent.parent.parent.parent,0),e.context.$implicit.coins,"1.0-6"))),t(e,10,0,r._32(e,10,0,t(e,11,0,r._22(e.parent.parent.parent.parent,0),e.context.$implicit.calculated_hours,"1.0-6")))})}function Zm(t){return r._33(0,[(t()(),r._9(0,0,null,null,12,null,null,null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,6,"div",[["class","-row"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,3,"div",[["class","-flex-fill -address"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,0,"img",[["class","qr-code-button"],["src","../../../../../assets/img/qr-code-black.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.showQrCode(n,t.context.$implicit.address)&&r),r},null,null)),(t()(),r._31(7,null,["\n ","\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Km)),r._8(11,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,11,0,e.context.$implicit.outputs)},function(t,e){t(e,7,0,e.context.$implicit.address)})}function $m(t){return r._33(0,[(t()(),r._9(0,0,null,null,21,"div",[["class","-table"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,12,"div",[["class","-headers"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,1,"div",[["class","-flex-fill -label"]],[[1,"title",0]],null,null,null,null)),(t()(),r._31(5,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,2,"div",[["class","-width-150 -text-right"]],null,null,null,null,null)),(t()(),r._31(8,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(11,0,null,null,2,"div",[["class","-width-150 -text-right"]],null,null,null,null,null)),(t()(),r._31(12,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,4,"div",[["class","-body"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Zm)),r._8(19,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,19,0,e.context.$implicit.addresses)},function(t,e){t(e,4,0,e.context.$implicit.label),t(e,5,0,e.context.$implicit.label),t(e,8,0,r._32(e,8,0,r._22(e,9).transform("common.coin-id"))),t(e,12,0,r._32(e,12,0,r._22(e,13).transform("common.coin-hours")))})}function tg(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,$m)),r._8(3,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,3,0,e.component.wallets)},null)}function eg(t){return r._33(0,[r._25(0,Ct,[r.w]),(t()(),r._9(1,0,null,null,11,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(3,0,null,null,2,"app-header",[],null,null,null,Zf,Ff)),r._8(4,245760,null,0,Hf,[Pp,er,pp,xp,Kr,Bn,mp.j],{headline:[0,"headline"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,Xm)),r._8(8,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,tg)),r._8(11,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,4,0,r._32(e,4,0,r._22(e,5).transform("title.outputs"))),t(e,8,0,!n.wallets||0===n.wallets.length||0===n.wallets[0].addresses[0].outputs.length),t(e,11,0,n.wallets&&n.wallets.length>0)},null)}var ng=r._5("app-outputs",hp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-outputs",[],null,null,null,eg,Qm)),r._8(1,180224,null,0,hp,[Kr,Kd,Hs],null,null)],null,null)},{},{},[]),rg=r._7({encapsulation:0,styles:[[".-timestamp[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}"]],data:{}});function ig(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-loading-content",[["noDataText","pending-txs.none"]],null,null,null,um,sm)),r._8(1,49152,null,0,om,[],{isLoading:[0,"isLoading"],noDataText:[1,"noDataText"]},null)],function(t,e){t(e,1,0,!e.component.transactions,"pending-txs.none")},null)}function og(t){return r._33(0,[(t()(),r._9(0,0,null,null,12,"div",[["class","-row"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"div",[["class","-flex-fill"]],null,null,null,null,null)),(t()(),r._31(3,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,2,"div",[["class","-width-150"]],null,null,null,null,null)),(t()(),r._31(6,null,["",""])),r._27(7,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,2,"div",[["class","-width-150 -timestamp"]],null,null,null,null,null)),(t()(),r._31(10,null,["",""])),r._27(11,1),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,3,0,e.context.$implicit.txid),t(e,6,0,r._32(e,6,0,t(e,7,0,r._22(e.parent.parent,0),e.context.$implicit.amount,"1.0-6"))),t(e,10,0,r._32(e,10,0,t(e,11,0,r._22(e.parent.parent,1),e.context.$implicit.timestamp)))})}function sg(t){return r._33(0,[(t()(),r._9(0,0,null,null,25,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,22,"div",[["class","-table"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,13,"div",[["class","-headers"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,2,"div",[["class","-flex-fill"]],null,null,null,null,null)),(t()(),r._31(7,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"div",[["class","-width-150"]],null,null,null,null,null)),(t()(),r._31(11,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,2,"div",[["class","-width-150"]],null,null,null,null,null)),(t()(),r._31(15,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(19,0,null,null,4,"div",[["class","-body"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,og)),r._8(22,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,22,0,e.component.transactions)},function(t,e){t(e,7,0,r._32(e,7,0,r._22(e,8).transform("pending-txs.txid"))),t(e,11,0,r._32(e,11,0,r._22(e,12).transform("common.coin-id"))),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("pending-txs.timestamp")))})}function ag(t){return r._33(0,[r._25(0,Ct,[r.w]),r._25(0,Im,[]),(t()(),r._9(2,0,null,null,11,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,2,"app-header",[],null,null,null,Zf,Ff)),r._8(5,245760,null,0,Hf,[Pp,er,pp,xp,Kr,Bn,mp.j],{headline:[0,"headline"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,ig)),r._8(9,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,sg)),r._8(12,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,5,0,r._32(e,5,0,r._22(e,6).transform("title.pending-txs"))),t(e,9,0,!n.transactions||0===n.transactions.length),t(e,12,0,n.transactions&&n.transactions.length>0)},null)}var lg=r._5("app-pending-transactions",Dc,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-pending-transactions",[],null,null,null,ag,rg)),r._8(1,245760,null,0,Dc,[Kr,Lc],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),ug=function(){function t(t){this.dialogRef=t,this.acceptSafe=!1}return t.prototype.closePopup=function(){this.dialogRef.close(this.acceptSafe)},t.prototype.setAccept=function(t){this.acceptSafe=t.checked},t}(),cg=function(){function t(t,e,n){this.dialog=t,this.apiService=e,this.formBuilder=n,this.fill=null,this.onLabelAndSeedCreated=new r.o,this.doubleButtonActive=Cc.LeftButton}return t.prototype.ngOnInit=function(){this.initForm()},t.prototype.initForm=function(){this.form=this.formBuilder.group({label:new Aa("",[Js.required]),seed:new Aa("",[Js.required]),confirm_seed:new Aa},{validator:this.showCreateForm?this.seedMatchValidator.bind(this):null}),this.fill?(this.form.get("label").setValue(this.fill.label),this.form.get("seed").setValue(this.fill.seed),this.form.get("confirm_seed").setValue(this.fill.seed),this.doubleButtonActive=this.fill.create?Cc.LeftButton:Cc.RightButton):this.showCreateForm&&this.generateSeed(128)},t.prototype.changeForm=function(t){this.doubleButtonActive=t,this.fill=null,this.initForm()},t.prototype.createWallet=function(){var t=this;this.showSafe().afterClosed().subscribe(function(e){e&&t.emitCreatedData()})},t.prototype.loadWallet=function(){this.emitCreatedData()},t.prototype.generateSeed=function(t){var e=this;this.apiService.generateSeed(t).subscribe(function(t){return e.form.get("seed").setValue(t)})},Object.defineProperty(t.prototype,"showCreateForm",{get:function(){return this.doubleButtonActive===Cc.LeftButton},enumerable:!0,configurable:!0}),t.prototype.emitCreatedData=function(){this.onLabelAndSeedCreated.emit([this.form.get("label").value,this.form.get("seed").value,this.doubleButtonActive===Cc.LeftButton])},t.prototype.seedMatchValidator=function(t){return t.get("seed").value===t.get("confirm_seed").value?null:{NotEqual:!0}},t.prototype.showSafe=function(){var t=new Ds;return t.width="450px",this.dialog.open(ug,t)},t}(),dg=r._7({encapsulation:0,styles:[[".-header[_ngcontent-%COMP%]{color:#fafafa;position:relative;margin-top:20px;margin-bottom:10px;line-height:30px;font-size:20px;text-align:center}.-description[_ngcontent-%COMP%]{line-height:25px;font-size:14px;text-align:center;color:#fafafa;mix-blend-mode:normal;opacity:.5}.-buttons-footer[_ngcontent-%COMP%]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;margin-bottom:20px}.-toggle-container[_ngcontent-%COMP%]{margin:10px auto}[_nghost-%COMP%] .-buttons-footer button{margin:2px 10px!important}.-text-align-center[_ngcontent-%COMP%]{text-align:center}label[for=seed][_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex}label[for=seed][_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-child{-webkit-box-flex:1;-ms-flex:1;flex:1}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%]{text-align:right}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:13px;height:10px;font-size:13px;position:relative;top:2px}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{padding:0 5px}"]],data:{}});function hg(t){return r._33(0,[(t()(),r._9(0,0,null,null,16,"span",[["class","generators"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,16777216,null,null,4,"span",[],null,[[null,"click"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0,o=t.component;return"longpress"===e&&(i=!1!==r._22(t,3).show()&&i),"keydown"===e&&(i=!1!==r._22(t,3)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,3).hide(1500)&&i),"click"===e&&(i=!1!==o.generateSeed(128)&&i),i},null,null)),r._8(3,147456,null,0,Bu,[$i,r.l,di,r.R,r.B,$r,Mo,To,Nu,[2,gi]],{message:[0,"message"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(5,null,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,1,"span",[["class","divider"]],null,null,null,null,null)),(t()(),r._31(-1,null,["|"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(11,16777216,null,null,4,"span",[],null,[[null,"click"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0,o=t.component;return"longpress"===e&&(i=!1!==r._22(t,12).show()&&i),"keydown"===e&&(i=!1!==r._22(t,12)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,12).hide(1500)&&i),"click"===e&&(i=!1!==o.generateSeed(256)&&i),i},null,null)),r._8(12,147456,null,0,Bu,[$i,r.l,di,r.R,r.B,$r,Mo,To,Nu,[2,gi]],{message:[0,"message"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(14,null,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,3,0,r._32(e,3,0,r._22(e,4).transform("wallet.new.generate-12-seed"))),t(e,12,0,r._32(e,12,0,r._22(e,13).transform("wallet.new.generate-24-seed")))},function(t,e){t(e,5,0,r._32(e,5,0,r._22(e,6).transform("wallet.new.12-words"))),t(e,14,0,r._32(e,14,0,r._22(e,15).transform("wallet.new.24-words")))})}function pg(t){return r._33(0,[(t()(),r._9(0,0,null,null,101,"div",[["class","onboarding-container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,18,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,15,"div",[["class","col-sm-4"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,5,"div",[["class","-header"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(9,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(13,0,null,null,5,"div",[["class","-description"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(15,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(16,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(22,0,null,null,9,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(24,0,null,null,6,"div",[["class","col-sm-4 -toggle-container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(26,0,null,null,3,"app-double-button",[],null,[[null,"onStateChange"]],function(t,e,n){var r=!0;return"onStateChange"===e&&(r=!1!==t.component.changeForm(n)&&r),r},Of,Tf)),r._8(27,49152,null,0,Sc,[],{rightButtonText:[0,"rightButtonText"],leftButtonText:[1,"leftButtonText"],activeButton:[2,"activeButton"]},{onStateChange:"onStateChange"}),r._25(131072,mp.i,[mp.j,r.h]),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(33,0,null,null,59,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(35,0,null,null,56,"div",[["class","col-sm-4"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(37,0,null,null,53,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,39).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,39).onReset()&&i),i},null,null)),r._8(38,16384,null,0,Qa,[],null,null),r._8(39,540672,null,0,Ba,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,zs,null,[Ba]),r._8(41,16384,null,0,Oa,[zs],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(43,0,null,null,12,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(45,0,null,null,2,"label",[["for","label"]],null,null,null,null,null)),(t()(),r._31(46,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(49,0,null,null,5,"input",[["formControlName","label"],["id","label"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,50)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,50).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,50)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,50)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(50,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(52,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(54,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(57,0,null,null,18,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(59,0,null,null,8,"label",[["for","seed"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(61,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(62,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,hg)),r._8(66,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(69,0,null,null,5,"textarea",[["class","form-control"],["formControlName","seed"],["id","seed"],["rows","2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,70)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,70).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,70)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,70)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(70,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(72,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(74,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(77,0,null,null,12,"div",[["class","form-field"]],[[4,"visibility",null]],null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(79,0,null,null,2,"label",[["for","confirm_seed"]],null,null,null,null,null)),(t()(),r._31(80,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(83,0,null,null,5,"textarea",[["class","form-control"],["formControlName","confirm_seed"],["id","confirm_seed"],["rows","2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,84)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,84).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,84)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,84)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(84,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(86,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(88,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(94,0,null,null,6,"div",[["class","row -buttons-footer"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(96,0,null,null,3,"app-button",[["class","dark -button-min-margin"]],null,[[null,"action"]],function(t,e,n){var r=!0,i=t.component;return"action"===e&&(r=!1!==(i.showCreateForm?i.createWallet():i.loadWallet())&&r),r},Sf,kf)),r._8(97,49152,null,0,Mc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(98,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,27,0,r._32(e,27,0,r._22(e,28).transform("common.load")),r._32(e,27,1,r._22(e,29).transform("common.new")),n.doubleButtonActive),t(e,39,0,n.form),t(e,52,0,"label"),t(e,66,0,n.showCreateForm),t(e,72,0,"seed"),t(e,86,0,"confirm_seed"),t(e,97,0,!n.form.valid)},function(t,e){var n=e.component;t(e,9,0,r._32(e,9,0,r._22(e,10).transform("wallet.new.create-title"))),t(e,16,0,r._32(e,16,0,r._22(e,17).transform("wizard.wallet-desc"))),t(e,37,0,r._22(e,41).ngClassUntouched,r._22(e,41).ngClassTouched,r._22(e,41).ngClassPristine,r._22(e,41).ngClassDirty,r._22(e,41).ngClassValid,r._22(e,41).ngClassInvalid,r._22(e,41).ngClassPending),t(e,46,0,r._32(e,46,0,r._22(e,47).transform("wallet.new.name-label"))),t(e,49,0,r._22(e,54).ngClassUntouched,r._22(e,54).ngClassTouched,r._22(e,54).ngClassPristine,r._22(e,54).ngClassDirty,r._22(e,54).ngClassValid,r._22(e,54).ngClassInvalid,r._22(e,54).ngClassPending),t(e,62,0,r._32(e,62,0,r._22(e,63).transform("wallet.new.seed-label"))),t(e,69,0,r._22(e,74).ngClassUntouched,r._22(e,74).ngClassTouched,r._22(e,74).ngClassPristine,r._22(e,74).ngClassDirty,r._22(e,74).ngClassValid,r._22(e,74).ngClassInvalid,r._22(e,74).ngClassPending),t(e,77,0,n.showCreateForm?"visible":"hidden"),t(e,80,0,r._32(e,80,0,r._22(e,81).transform("wallet.new.confirm-seed-label"))),t(e,83,0,r._22(e,88).ngClassUntouched,r._22(e,88).ngClassTouched,r._22(e,88).ngClassPristine,r._22(e,88).ngClassDirty,r._22(e,88).ngClassValid,r._22(e,88).ngClassInvalid,r._22(e,88).ngClassPending),t(e,98,0,r._32(e,98,0,r._22(e,99).transform("wallet.new.create-button")))})}var fg=function(){function t(t){this.formBuilder=t,this.onPasswordCreated=new r.o,this.onBack=new r.o}return t.prototype.ngOnInit=function(){this.initEncryptForm()},t.prototype.initEncryptForm=function(){this.form=this.formBuilder.group({password:new Aa("",Js.compose([Js.required,Js.minLength(2)])),confirm:new Aa("",Js.compose([Js.required,Js.minLength(2)]))},{validator:this.passwordMatchValidator.bind(this)})},t.prototype.setEncrypt=function(t){t.checked?this.form.enable():this.form.disable()},t.prototype.emitCreatedPassword=function(){this.form.enabled&&!this.form.valid||this.button.isLoading()||(this.button.setLoading(),this.onPasswordCreated.emit(this.form.enabled?this.form.get("password").value:null))},t.prototype.emitBack=function(){this.onBack.emit()},Object.defineProperty(t.prototype,"isWorking",{get:function(){return this.button.isLoading()},enumerable:!0,configurable:!0}),t.prototype.passwordMatchValidator=function(t){return t.get("password").value===t.get("confirm").value?null:{mismatch:!0}},t}(),_g=r._7({encapsulation:0,styles:[[".-header[_ngcontent-%COMP%]{color:#fafafa;position:relative;margin-top:20px;margin-bottom:10px;line-height:30px;font-size:20px;text-align:center}.-description[_ngcontent-%COMP%]{line-height:25px;font-size:14px;text-align:center;color:#fafafa;mix-blend-mode:normal;opacity:.5}.-buttons-footer[_ngcontent-%COMP%]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;margin-bottom:20px}.-check-container[_ngcontent-%COMP%]{margin:10px auto;text-align:center}[_nghost-%COMP%] .-buttons-footer button{margin:2px 10px!important}.-text-align-center[_ngcontent-%COMP%]{text-align:center}.-check[_ngcontent-%COMP%] .mat-checkbox-checkmark-path{position:absolute;width:18px;height:8px;left:4.59px;top:9px;stroke:#fafafa!important}.-check[_ngcontent-%COMP%] .mat-checkbox-background, .-check[_ngcontent-%COMP%] .mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none;width:20px;height:20px;background:rgba(30,34,39,.05);border-radius:6px;border-color:transparent}.-check[_ngcontent-%COMP%] span{font-family:Skycoin;line-height:normal;font-size:14px;color:#fbfbfb}.-check[_ngcontent-%COMP%] span img{width:38px;height:38px;vertical-align:middle}.-input.disable[_ngcontent-%COMP%]{background:rgba(255,255,255,.1)}.-hidden[_ngcontent-%COMP%]{display:none}"]],data:{}});function mg(t){return r._33(0,[r._29(402653184,1,{button:0}),(t()(),r._9(1,0,null,null,95,"div",[["class","onboarding-container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(3,0,null,null,18,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,15,"div",[["class","col-sm-4"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,5,"div",[["class","-header"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(10,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,5,"div",[["class","-description"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(17,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(23,0,null,null,12,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(25,0,null,null,9,"div",[["class","col-sm-4 -check-container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(27,0,null,null,6,"mat-checkbox",[["class","-check mat-checkbox"],["id","encrypt"],["type","checkbox"]],[[8,"id",0],[2,"mat-checkbox-indeterminate",null],[2,"mat-checkbox-checked",null],[2,"mat-checkbox-disabled",null],[2,"mat-checkbox-label-before",null]],[[null,"change"]],function(t,e,n){var r=!0;return"change"===e&&(r=!1!==t.component.setEncrypt(n)&&r),r},k_,M_)),r._28(5120,null,Ks,function(t){return[t]},[xl]),r._8(29,4374528,null,0,xl,[r.l,r.h,To,[8,null],[2,wl]],{id:[0,"id"],checked:[1,"checked"]},{change:"change"}),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(31,0,null,0,0,"img",[["src","../../../../../assets/img/lock-gold.png"]],null,null,null,null,null)),(t()(),r._31(32,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(37,0,null,null,43,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(39,0,null,null,40,"div",[["class","col-sm-4"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(41,0,null,null,37,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,43).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,43).onReset()&&i),i},null,null)),r._8(42,16384,null,0,Qa,[],null,null),r._8(43,540672,null,0,Ba,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,zs,null,[Ba]),r._8(45,16384,null,0,Oa,[zs],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(47,0,null,null,14,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(49,0,null,null,2,"label",[["for","password"]],null,null,null,null,null)),(t()(),r._31(50,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(53,0,null,null,7,"input",[["class","-input"],["formControlName","password"],["id","password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,56)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,56).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,56)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,56)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(54,278528,null,0,j,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(55,{disable:0}),r._8(56,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(58,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(60,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(63,0,null,null,14,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(65,0,null,null,2,"label",[["for","confirm"]],null,null,null,null,null)),(t()(),r._31(66,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(69,0,null,null,7,"input",[["class","-input"],["formControlName","confirm"],["id","confirm"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._22(t,72)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,72).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,72)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,72)._compositionEnd(n.target.value)&&i),"keydown.enter"===e&&(i=!1!==o.emitCreatedPassword()&&i),i},null,null)),r._8(70,278528,null,0,j,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(71,{disable:0}),r._8(72,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(74,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(76,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(82,0,null,null,13,"div",[["class","row -buttons-footer"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(84,0,null,null,3,"app-button",[["class","dark -button-min-margin"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.emitCreatedPassword()&&r),r},Sf,kf)),r._8(85,49152,[[1,4],["button",4]],0,Mc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(86,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(89,0,null,null,5,"app-button",[["class","ghost -button-min-margin"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.emitBack()&&r),r},Sf,kf)),r._8(90,278528,null,0,j,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(91,{"-hidden":0}),r._8(92,49152,null,0,Mc,[],null,{action:"action"}),(t()(),r._31(93,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,29,0,"encrypt",!0),t(e,43,0,n.form),t(e,54,0,"-input",t(e,55,0,n.form.disabled)),t(e,58,0,"password"),t(e,70,0,"-input",t(e,71,0,n.form.disabled)),t(e,74,0,"confirm"),t(e,85,0,n.form.enabled&&!n.form.valid),t(e,90,0,"ghost -button-min-margin",t(e,91,0,n.isWorking))},function(t,e){t(e,10,0,r._32(e,10,0,r._22(e,11).transform("wallet.new.encrypt-title"))),t(e,17,0,r._32(e,17,0,r._22(e,18).transform("wizard.encrypt-desc"))),t(e,27,0,r._22(e,29).id,r._22(e,29).indeterminate,r._22(e,29).checked,r._22(e,29).disabled,"before"==r._22(e,29).labelPosition),t(e,32,0,r._32(e,32,0,r._22(e,33).transform("wallet.new.encrypt"))),t(e,41,0,r._22(e,45).ngClassUntouched,r._22(e,45).ngClassTouched,r._22(e,45).ngClassPristine,r._22(e,45).ngClassDirty,r._22(e,45).ngClassValid,r._22(e,45).ngClassInvalid,r._22(e,45).ngClassPending),t(e,50,0,r._32(e,50,0,r._22(e,51).transform("password.label"))),t(e,53,0,r._22(e,60).ngClassUntouched,r._22(e,60).ngClassTouched,r._22(e,60).ngClassPristine,r._22(e,60).ngClassDirty,r._22(e,60).ngClassValid,r._22(e,60).ngClassInvalid,r._22(e,60).ngClassPending),t(e,66,0,r._32(e,66,0,r._22(e,67).transform("password.confirm-label"))),t(e,69,0,r._22(e,76).ngClassUntouched,r._22(e,76).ngClassTouched,r._22(e,76).ngClassPristine,r._22(e,76).ngClassDirty,r._22(e,76).ngClassValid,r._22(e,76).ngClassInvalid,r._22(e,76).ngClassPending),t(e,86,0,r._32(e,86,0,r._22(e,87).transform("wizard.finish-button"))),t(e,93,0,r._32(e,93,0,r._22(e,94).transform("wizard.back-button")))})}var gg=r._7({encapsulation:0,styles:[[""]],data:{}});function yg(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-onboarding-create-wallet",[],null,[[null,"onLabelAndSeedCreated"]],function(t,e,n){var r=!0;return"onLabelAndSeedCreated"===e&&(r=!1!==t.component.onLabelAndSeedCreated(n)&&r),r},pg,dg)),r._8(1,114688,null,0,cg,[Hs,er,qa],{fill:[0,"fill"]},{onLabelAndSeedCreated:"onLabelAndSeedCreated"})],function(t,e){t(e,1,0,e.component.fill)},null)}function vg(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-onboarding-encrypt-wallet",[],null,[[null,"onPasswordCreated"],[null,"onBack"]],function(t,e,n){var r=!0,i=t.component;return"onPasswordCreated"===e&&(r=!1!==i.onPasswordCreated(n)&&r),"onBack"===e&&(r=!1!==i.onBack()&&r),r},mg,_g)),r._8(1,114688,null,0,fg,[qa],null,{onPasswordCreated:"onPasswordCreated",onBack:"onBack"})],function(t,e){t(e,1,0)},null)}function bg(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,yg)),r._8(1,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n"])),(t()(),r._4(16777216,null,null,1,null,vg)),r._8(4,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,1,0,1===n.step),t(e,4,0,2===n.step)},null)}var wg=r._5("app-onboarding",Tp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-onboarding",[],null,null,null,bg,gg)),r._8(1,49152,null,0,Tp,[Ih,Kr],null,null)],null,null)},{},{},[]),Mg=function(){function t(t,e,n,r){this.walletService=t,this.dialogRef=e,this.formBuilder=n,this.purchaseService=r}return t.prototype.ngOnInit=function(){this.initForm()},t.prototype.generate=function(){var t=this;this.purchaseService.generate(this.form.value.address).subscribe(function(){return t.dialogRef.close()})},t.prototype.initForm=function(){this.form=this.formBuilder.group({address:["",Js.required]})},t}(),kg=r._7({encapsulation:0,styles:[["mat-select[_ngcontent-%COMP%]{width:100%;padding:40px 0 20px}"]],data:{}});function xg(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"mat-option",[["class","mat-option"],["role","option"]],[[1,"tabindex",0],[2,"mat-selected",null],[2,"mat-option-multiple",null],[2,"mat-active",null],[8,"id",0],[1,"aria-selected",0],[1,"aria-disabled",0],[2,"mat-option-disabled",null]],[[null,"click"],[null,"keydown"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,1)._selectViaInteraction()&&i),"keydown"===e&&(i=!1!==r._22(t,1)._handleKeydown(n)&&i),i},h_,c_)),r._8(1,49152,[[1,4]],0,ts,[r.l,r.h,[2,$o],[2,Ko]],{value:[0,"value"]},null),(t()(),r._31(2,0,["\n ","\n "]))],function(t,e){t(e,1,0,e.context.$implicit.address)},function(t,e){t(e,0,0,r._22(e,1)._getTabIndex(),r._22(e,1).selected,r._22(e,1).multiple,r._22(e,1).active,r._22(e,1).id,r._22(e,1).selected.toString(),r._22(e,1).disabled.toString(),r._22(e,1).disabled),t(e,2,0,e.context.$implicit.address)})}function Lg(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(1,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(4,0,null,null,21,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,5).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,5).onReset()&&i),i},null,null)),r._8(5,540672,null,0,Ba,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,zs,null,[Ba]),r._8(7,16384,null,0,Oa,[zs],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,15,"mat-select",[["class","input-field mat-select"],["formControlName","address"],["role","listbox"]],[[1,"id",0],[1,"tabindex",0],[1,"aria-label",0],[1,"aria-labelledby",0],[1,"aria-required",0],[1,"aria-disabled",0],[1,"aria-invalid",0],[1,"aria-owns",0],[1,"aria-multiselectable",0],[1,"aria-describedby",0],[1,"aria-activedescendant",0],[2,"mat-select-disabled",null],[2,"mat-select-invalid",null],[2,"mat-select-required",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown"],[null,"focus"],[null,"blur"]],function(t,e,n){var i=!0;return"keydown"===e&&(i=!1!==r._22(t,14)._handleKeydown(n)&&i),"focus"===e&&(i=!1!==r._22(t,14)._onFocus()&&i),"blur"===e&&(i=!1!==r._22(t,14)._onBlur()&&i),i},w_,__)),r._28(6144,null,$o,null,[Iu]),r._28(6144,null,nl,null,[Iu]),r._8(12,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[8,null]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(14,2080768,null,3,Iu,[pi,r.h,r.B,Ro,r.l,[2,gi],[2,Ha],[2,Ba],[2,ol],[2,oa],[8,null],Eu],{placeholder:[0,"placeholder"]},null),r._29(603979776,1,{options:1}),r._29(603979776,2,{optionGroups:1}),r._29(335544320,3,{customTrigger:0}),r._25(131072,mp.i,[mp.j,r.h]),r._8(19,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,1,["\n "])),(t()(),r._4(16777216,null,1,2,null,xg)),r._8(22,802816,null,0,R,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),r._25(131072,Lt,[r.h]),(t()(),r._31(-1,1,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(27,0,null,null,7,"div",[["class","button-line"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(29,0,null,null,4,"a",[["class","mat-raised-button"],["mat-raised-button",""]],[[1,"tabindex",0],[1,"disabled",0],[1,"aria-disabled",0]],[[null,"click"]],function(t,e,n){var i=!0,o=t.component;return"click"===e&&(i=!1!==r._22(t,30)._haltDisabledEvents(n)&&i),"click"===e&&(i=!1!==o.generate()&&i),i},mf,_f)),r._8(30,180224,null,0,dl,[$r,To,r.l],null,null),r._8(31,16384,null,0,ll,[],null,null),(t()(),r._31(32,0,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,5,0,n.form),t(e,12,0,"address"),t(e,14,0,r._32(e,14,0,r._22(e,18).transform("buy.select-address"))),t(e,22,0,r._32(e,22,0,r._22(e,23).transform(n.walletService.allAddresses())))},function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("buy.deposit-address"))),t(e,4,0,r._22(e,7).ngClassUntouched,r._22(e,7).ngClassTouched,r._22(e,7).ngClassPristine,r._22(e,7).ngClassDirty,r._22(e,7).ngClassValid,r._22(e,7).ngClassInvalid,r._22(e,7).ngClassPending),t(e,9,1,[r._22(e,14).id,r._22(e,14).tabIndex,r._22(e,14)._ariaLabel,r._22(e,14).ariaLabelledby,r._22(e,14).required.toString(),r._22(e,14).disabled.toString(),r._22(e,14).errorState,r._22(e,14).panelOpen?r._22(e,14)._optionIds:null,r._22(e,14).multiple,r._22(e,14)._ariaDescribedby||null,r._22(e,14)._getAriaActiveDescendant(),r._22(e,14).disabled,r._22(e,14).errorState,r._22(e,14).required,r._22(e,19).ngClassUntouched,r._22(e,19).ngClassTouched,r._22(e,19).ngClassPristine,r._22(e,19).ngClassDirty,r._22(e,19).ngClassValid,r._22(e,19).ngClassInvalid,r._22(e,19).ngClassPending]),t(e,29,0,r._22(e,30).disabled?-1:0,r._22(e,30).disabled||null,r._22(e,30).disabled.toString()),t(e,32,0,r._32(e,32,0,r._22(e,33).transform("buy.generate")))})}var Cg=r._5("app-add-deposit-address",Mg,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-add-deposit-address",[],null,null,null,Lg,kg)),r._8(1,114688,null,0,Mg,[Kr,As,qa,Mp],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Sg=function(){function t(){}return t.prototype.closePopup=function(){this.disableDismiss||this.dialog.close()},t.prototype.ngOnChanges=function(t){t.disableDismiss&&(this.dialog.disableClose=t.disableDismiss.currentValue)},t}(),Tg=r._7({encapsulation:0,styles:[[".-header[_ngcontent-%COMP%]{background-color:#f7f7f7;border-top-left-radius:5px;border-top-right-radius:5px;line-height:50px;position:relative;text-align:center}.-header[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{cursor:pointer;height:32px;position:absolute;right:9px;top:9px}.-body[_ngcontent-%COMP%]{background-color:#fbfbfb;padding:30px}"]],data:{}});function Og(t){return r._33(0,[(t()(),r._9(0,0,null,null,0,"img",[["src","../../../../../assets/img/close-grey.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.closePopup()&&r),r},null,null))],null,null)}function Dg(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[["class","-header"]],null,null,null,null,null)),(t()(),r._31(1,null,["\n ","\n "])),(t()(),r._4(16777216,null,null,1,null,Og)),r._8(3,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(6,0,null,null,3,"div",[["class","-body"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),r._21(null,0),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){t(e,3,0,!e.component.disableDismiss)},function(t,e){t(e,1,0,e.component.headline)})}var Yg=function(){function t(t){this.el=t,t.nativeElement.autocomplete="new-password",t.nativeElement.readOnly=!0}return t.prototype.onFocus=function(){this.el.nativeElement.readOnly=!1},t}(),Pg=r._7({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{text-align:center}label[for=seed][_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex}label[for=seed][_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-child{-webkit-box-flex:1;-ms-flex:1;flex:1}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%]{text-align:right}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;color:rgba(122,89,23,.7)}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:13px;height:10px;font-size:13px;position:relative;top:2px}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{padding:0 5px;color:#1e2227}.-disabled[_ngcontent-%COMP%]{display:none}.-warning[_ngcontent-%COMP%]{color:#ff004e;font-size:12px;padding:0 10px;line-height:1.5}.-passwords[_ngcontent-%COMP%]{margin-left:24px}.-passwords[_ngcontent-%COMP%] .-info[_ngcontent-%COMP%]{margin:5px 0 15px;color:rgba(30,34,39,.5);font-size:12px;line-height:1.5}.-passwords[_ngcontent-%COMP%] .-hidden[_ngcontent-%COMP%]{visibility:hidden}.-check[_ngcontent-%COMP%] .mat-checkbox-checkmark-path{position:absolute;width:18px;height:8px;left:4.59px;top:9px;stroke:#7a5917!important}.-check[_ngcontent-%COMP%] .mat-checkbox-background, .-check[_ngcontent-%COMP%] .mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none;width:20px;height:20px;background:rgba(30,34,39,.05);border-radius:6px;border-color:transparent}.-check[_ngcontent-%COMP%] span{font-family:Skycoin;line-height:normal;font-size:14px;color:#1e2227}.-check[_ngcontent-%COMP%] span img{width:38px;height:38px;vertical-align:middle}"]],data:{}});function Eg(t){return r._33(0,[(t()(),r._9(0,0,null,null,16,"span",[["class","generators"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,16777216,null,null,4,"span",[],null,[[null,"click"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0,o=t.component;return"longpress"===e&&(i=!1!==r._22(t,3).show()&&i),"keydown"===e&&(i=!1!==r._22(t,3)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,3).hide(1500)&&i),"click"===e&&(i=!1!==o.generateSeed(128)&&i),i},null,null)),r._8(3,147456,null,0,Bu,[$i,r.l,di,r.R,r.B,$r,Mo,To,Nu,[2,gi]],{message:[0,"message"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(5,null,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,1,"span",[["class","divider"]],null,null,null,null,null)),(t()(),r._31(-1,null,["|"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(11,16777216,null,null,4,"span",[],null,[[null,"click"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0,o=t.component;return"longpress"===e&&(i=!1!==r._22(t,12).show()&&i),"keydown"===e&&(i=!1!==r._22(t,12)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,12).hide(1500)&&i),"click"===e&&(i=!1!==o.generateSeed(256)&&i),i},null,null)),r._8(12,147456,null,0,Bu,[$i,r.l,di,r.R,r.B,$r,Mo,To,Nu,[2,gi]],{message:[0,"message"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(14,null,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,3,0,r._32(e,3,0,r._22(e,4).transform("wallet.new.generate-12-seed"))),t(e,12,0,r._32(e,12,0,r._22(e,13).transform("wallet.new.generate-24-seed")))},function(t,e){t(e,5,0,r._32(e,5,0,r._22(e,6).transform("wallet.new.12-words"))),t(e,14,0,r._32(e,14,0,r._22(e,15).transform("wallet.new.24-words")))})}function Ag(t){return r._33(0,[r._29(402653184,1,{createButton:0}),r._29(402653184,2,{cancelButton:0}),(t()(),r._9(2,0,null,null,137,"app-modal",[],null,null,null,Dg,Tg)),r._8(3,573440,null,0,Sg,[],{dialog:[0,"dialog"],headline:[1,"headline"],disableDismiss:[2,"disableDismiss"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(6,0,null,0,119,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,7).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,7).onReset()&&i),i},null,null)),r._8(7,540672,null,0,Ba,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,zs,null,[Ba]),r._8(9,16384,null,0,Oa,[zs],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(11,0,null,null,12,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(13,0,null,null,2,"label",[["for","label"]],null,null,null,null,null)),(t()(),r._31(14,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(17,0,null,null,5,"input",[["formControlName","label"],["id","label"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,18)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,18).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,18)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,18)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(18,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(20,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(22,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(25,0,null,null,22,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(27,0,null,null,8,"label",[["for","seed"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(29,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(30,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Eg)),r._8(34,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(37,0,null,null,5,"textarea",[["formControlName","seed"],["id","seed"],["row","2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,38)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,38).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,38)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,38)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(38,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(40,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(42,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(44,0,null,null,2,"p",[["class","-warning"]],null,null,null,null,null)),(t()(),r._31(45,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(49,0,null,null,14,"div",[["class","form-field"]],null,null,null,null,null)),r._8(50,278528,null,0,j,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(51,{"-disabled":0}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(53,0,null,null,2,"label",[["for","confirm_seed"]],null,null,null,null,null)),(t()(),r._31(54,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(57,0,null,null,5,"textarea",[["formControlName","confirm_seed"],["id","confirm_seed"],["row","2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,58)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,58).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,58)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,58)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(58,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(60,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(62,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(65,0,null,null,9,"div",[],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(67,0,null,null,6,"mat-checkbox",[["class","-check mat-checkbox"],["id","encrypt"],["type","checkbox"]],[[8,"id",0],[2,"mat-checkbox-indeterminate",null],[2,"mat-checkbox-checked",null],[2,"mat-checkbox-disabled",null],[2,"mat-checkbox-label-before",null]],[[null,"change"]],function(t,e,n){var r=!0;return"change"===e&&(r=!1!==t.component.setEncrypt(n)&&r),r},k_,M_)),r._28(5120,null,Ks,function(t){return[t]},[xl]),r._8(69,4374528,null,0,xl,[r.l,r.h,To,[8,null],[2,wl]],{id:[0,"id"],checked:[1,"checked"]},{change:"change"}),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(71,0,null,0,0,"img",[["src","../../../../../assets/img/lock-gold.png"]],null,null,null,null,null)),(t()(),r._31(72,0,[" ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(76,0,null,null,48,"div",[["class","row -passwords"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(78,0,null,null,5,"div",[["class","col-md-12"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(80,0,null,null,2,"p",[["class","-info"]],null,null,null,null,null)),(t()(),r._31(81,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(85,0,null,null,18,"div",[["class","col-md-6"]],null,null,null,null,null)),r._8(86,278528,null,0,j,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(87,{"-hidden":0}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(89,0,null,null,13,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(91,0,null,null,2,"label",[["for","password"]],null,null,null,null,null)),(t()(),r._31(92,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(95,0,null,null,6,"input",[["appDontSavePassword",""],["formControlName","password"],["id","password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,96)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,96).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,96)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,96)._compositionEnd(n.target.value)&&i),"focus"===e&&(i=!1!==r._22(t,101).onFocus()&&i),i},null,null)),r._8(96,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(98,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(100,16384,null,0,Ta,[oa],null,null),r._8(101,16384,null,0,Yg,[r.l],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(105,0,null,null,18,"div",[["class","col-md-6"]],null,null,null,null,null)),r._8(106,278528,null,0,j,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(107,{"-hidden":0}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(109,0,null,null,13,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(111,0,null,null,2,"label",[["for","confirm_password"]],null,null,null,null,null)),(t()(),r._31(112,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(115,0,null,null,6,"input",[["appDontSavePassword",""],["formControlName","confirm_password"],["id","confirm_password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._22(t,116)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,116).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,116)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,116)._compositionEnd(n.target.value)&&i),"focus"===e&&(i=!1!==r._22(t,121).onFocus()&&i),"keydown.enter"===e&&(i=!1!==o.createWallet()&&i),i},null,null)),r._8(116,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(118,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(120,16384,null,0,Ta,[oa],null,null),r._8(121,16384,null,0,Yg,[r.l],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(127,0,null,0,11,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(129,0,null,null,3,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.closePopup()&&r),r},Sf,kf)),r._8(130,49152,[[2,4],["cancelButton",4]],0,Mc,[],null,{action:"action"}),(t()(),r._31(131,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(134,0,null,null,3,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.createWallet()&&r),r},Sf,kf)),r._8(135,49152,[[1,4],["createButton",4]],0,Mc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(136,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0,n.dialogRef,r._32(e,3,1,r._22(e,4).transform("wallet.new."+(n.data.create?"create":"load")+"-title")),n.disableDismiss),t(e,7,0,n.form),t(e,20,0,"label"),t(e,34,0,n.data.create),t(e,40,0,"seed"),t(e,50,0,"form-field",t(e,51,0,!n.data.create)),t(e,60,0,"confirm_seed"),t(e,69,0,"encrypt",!0),t(e,86,0,"col-md-6",t(e,87,0,!n.encrypt)),t(e,98,0,"password"),t(e,106,0,"col-md-6",t(e,107,0,!n.encrypt)),t(e,118,0,"confirm_password"),t(e,135,0,!n.form.valid)},function(t,e){var n=e.component;t(e,6,0,r._22(e,9).ngClassUntouched,r._22(e,9).ngClassTouched,r._22(e,9).ngClassPristine,r._22(e,9).ngClassDirty,r._22(e,9).ngClassValid,r._22(e,9).ngClassInvalid,r._22(e,9).ngClassPending),t(e,14,0,r._32(e,14,0,r._22(e,15).transform("wallet.new.name-label"))),t(e,17,0,r._22(e,22).ngClassUntouched,r._22(e,22).ngClassTouched,r._22(e,22).ngClassPristine,r._22(e,22).ngClassDirty,r._22(e,22).ngClassValid,r._22(e,22).ngClassInvalid,r._22(e,22).ngClassPending),t(e,30,0,r._32(e,30,0,r._22(e,31).transform("wallet.new.seed-label"))),t(e,37,0,r._22(e,42).ngClassUntouched,r._22(e,42).ngClassTouched,r._22(e,42).ngClassPristine,r._22(e,42).ngClassDirty,r._22(e,42).ngClassValid,r._22(e,42).ngClassInvalid,r._22(e,42).ngClassPending),t(e,45,0,r._32(e,45,0,r._22(e,46).transform("wallet.new.seed-warning"))),t(e,54,0,r._32(e,54,0,r._22(e,55).transform("wallet.new.confirm-seed-label"))),t(e,57,0,r._22(e,62).ngClassUntouched,r._22(e,62).ngClassTouched,r._22(e,62).ngClassPristine,r._22(e,62).ngClassDirty,r._22(e,62).ngClassValid,r._22(e,62).ngClassInvalid,r._22(e,62).ngClassPending),t(e,67,0,r._22(e,69).id,r._22(e,69).indeterminate,r._22(e,69).checked,r._22(e,69).disabled,"before"==r._22(e,69).labelPosition),t(e,72,0,r._32(e,72,0,r._22(e,73).transform("wallet.new.encrypt"))),t(e,81,0,r._32(e,81,0,r._22(e,82).transform("wallet.new.encrypt-warning"))),t(e,92,0,r._32(e,92,0,r._22(e,93).transform("password.label"))),t(e,95,0,r._22(e,100).ngClassUntouched,r._22(e,100).ngClassTouched,r._22(e,100).ngClassPristine,r._22(e,100).ngClassDirty,r._22(e,100).ngClassValid,r._22(e,100).ngClassInvalid,r._22(e,100).ngClassPending),t(e,112,0,r._32(e,112,0,r._22(e,113).transform("password.confirm-label"))),t(e,115,0,r._22(e,120).ngClassUntouched,r._22(e,120).ngClassTouched,r._22(e,120).ngClassPristine,r._22(e,120).ngClassDirty,r._22(e,120).ngClassValid,r._22(e,120).ngClassInvalid,r._22(e,120).ngClassPending),t(e,131,0,r._32(e,131,0,r._22(e,132).transform("wallet.new.cancel-button"))),t(e,136,0,r._32(e,136,0,r._22(e,137).transform("wallet.new."+(n.data.create?"create":"load")+"-button")))})}var jg=r._5("app-create-wallet",kc,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-create-wallet",[],null,null,null,Ag,Pg)),r._8(1,114688,null,0,kc,[js,As,Kr,er],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Ig=r._7({encapsulation:0,styles:[["mat-input-container[_ngcontent-%COMP%]{width:100%}.-buttons[_ngcontent-%COMP%]{text-align:center}"]],data:{}});function Rg(t){return r._33(0,[r._29(402653184,1,{button:0}),(t()(),r._9(1,0,null,null,36,"app-modal",[],null,null,null,Dg,Tg)),r._8(2,573440,null,0,Sg,[],{dialog:[0,"dialog"],headline:[1,"headline"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(5,0,null,0,18,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,6).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,6).onReset()&&i),i},null,null)),r._8(6,540672,null,0,Ba,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,zs,null,[Ba]),r._8(8,16384,null,0,Oa,[zs],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,12,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,2,"label",[["for","label"]],null,null,null,null,null)),(t()(),r._31(13,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,5,"input",[["formControlName","label"],["id","label"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._22(t,17)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,17).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,17)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,17)._compositionEnd(n.target.value)&&i),"keydown.enter"===e&&(i=!1!==o.rename()&&i),i},null,null)),r._8(17,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(19,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(21,16384,null,0,Ta,[oa],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(25,0,null,0,11,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(27,0,null,null,3,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.closePopup()&&r),r},Sf,kf)),r._8(28,49152,null,0,Mc,[],null,{action:"action"}),(t()(),r._31(29,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(32,0,null,null,3,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.rename()&&r),r},Sf,kf)),r._8(33,49152,[[1,4],["button",4]],0,Mc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(34,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,2,0,n.dialogRef,r._32(e,2,1,r._22(e,3).transform("wallet.rename.title"))),t(e,6,0,n.form),t(e,19,0,"label"),t(e,33,0,!n.form.valid)},function(t,e){t(e,5,0,r._22(e,8).ngClassUntouched,r._22(e,8).ngClassTouched,r._22(e,8).ngClassPristine,r._22(e,8).ngClassDirty,r._22(e,8).ngClassValid,r._22(e,8).ngClassInvalid,r._22(e,8).ngClassPending),t(e,13,0,r._32(e,13,0,r._22(e,14).transform("wallet.rename.name-label"))),t(e,16,0,r._22(e,21).ngClassUntouched,r._22(e,21).ngClassTouched,r._22(e,21).ngClassPristine,r._22(e,21).ngClassDirty,r._22(e,21).ngClassValid,r._22(e,21).ngClassInvalid,r._22(e,21).ngClassPending),t(e,29,0,r._32(e,29,0,r._22(e,30).transform("wallet.rename.cancel-button"))),t(e,34,0,r._32(e,34,0,r._22(e,35).transform("wallet.rename.rename-button")))})}var Hg=r._5("app-change-name",nf,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-change-name",[],null,null,null,Rg,Ig)),r._8(1,114688,null,0,nf,[As,js,qa,Kr],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Fg=r._7({encapsulation:0,styles:[["#qr[_ngcontent-%COMP%]{height:300px}.address[_ngcontent-%COMP%]{font-size:80%;text-align:center;margin-top:30px}"]],data:{}});function Ng(t){return r._33(0,[r._29(402653184,1,{qr:0}),(t()(),r._9(1,0,null,null,8,"app-modal",[],null,null,null,Dg,Tg)),r._8(2,573440,null,0,Sg,[],{dialog:[0,"dialog"],headline:[1,"headline"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(5,0,[[1,0],["qr",1]],0,0,"div",[["id","qr"]],null,null,null,null,null)),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(7,0,null,0,1,"div",[["class","address"]],null,null,null,null,null)),(t()(),r._31(8,null,["",""])),(t()(),r._31(-1,0,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){t(e,2,0,e.component.dialogRef,r._32(e,2,1,r._22(e,3).transform("title.qrcode")))},function(t,e){t(e,8,0,e.component.data.address)})}var Vg=r._5("app-qr-code",dp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-qr-code",[],null,null,null,Ng,Fg)),r._8(1,114688,null,0,dp,[js,As],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Bg=r._7({encapsulation:0,styles:[[".-container[_ngcontent-%COMP%]{padding:24px;background-color:#fbfbfb}.-header[_ngcontent-%COMP%]{background-color:#f7f7f7;border-top-left-radius:5px;border-top-right-radius:5px;line-height:50px;position:relative;text-align:center}.-header[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{cursor:pointer;height:32px;position:absolute;right:9px;top:9px}"]],data:{}});function zg(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[["class","-header"]],null,null,null,null,null)),(t()(),r._31(1,null,["\n "," "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._9(3,0,null,null,0,"img",[["src","../../../../../assets/img/close-grey.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.closePopup()&&r),r},null,null)),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(6,0,null,null,8,"div",[["class","-container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,5,"mat-dialog-content",[["class","mat-dialog-content"]],null,null,null,null,null)),r._8(9,16384,null,0,Fs,[],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(11,0,null,null,1,"app-transaction-info",[],null,null,null,Q_,R_)),r._8(12,245760,null,0,I_,[xp],{transaction:[0,"transaction"],isPreview:[1,"isPreview"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){t(e,12,0,e.component.transaction,!1)},function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("history.tx-detail")))})}var Wg=r._5("app-transaction-detail",Lp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-transaction-detail",[],null,null,null,zg,Bg)),r._8(1,49152,null,0,Lp,[js,As],null,null)],null,null)},{},{},[]),Ug=r._7({encapsulation:0,styles:[[".-safe-description[_ngcontent-%COMP%]{font-family:Skycoin;line-height:20px;font-size:12px;color:#1e2227;mix-blend-mode:normal;opacity:.8}.-check-container[_ngcontent-%COMP%]{text-align:center;margin-top:50px}.-safe-check-text[_ngcontent-%COMP%]{font-family:Skycoin;line-height:normal;font-size:14px;color:#1e2227}.-check[_ngcontent-%COMP%] .mat-checkbox-checkmark-path{position:absolute;width:18px;height:8px;left:4.59px;top:9px;stroke:#0072ff!important}.-check[_ngcontent-%COMP%] .mat-checkbox-background, .-check[_ngcontent-%COMP%] .mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none;width:20px;height:20px;background:rgba(30,34,39,.05);border-radius:6px;border-color:transparent}.-text-center[_ngcontent-%COMP%]{text-align:center}.-no-bottom-margin[_ngcontent-%COMP%] button{margin:28px 10px 0!important}.-title[_ngcontent-%COMP%]{font-family:Skycoin;line-height:30px;font-size:14px;text-align:center;letter-spacing:.0769231em;color:#ff004e}"]],data:{}});function Gg(t){return r._33(0,[(t()(),r._9(0,0,null,null,27,"app-modal",[["class","-title"]],null,null,null,Dg,Tg)),r._8(1,573440,null,0,Sg,[],{dialog:[0,"dialog"],headline:[1,"headline"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(4,0,null,0,14,"div",[],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,2,"span",[["class","-safe-description"]],null,null,null,null,null)),(t()(),r._31(7,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,7,"div",[["class","-check-container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,4,"mat-checkbox",[["class","-safe-check-text -check mat-checkbox"],["id","terms"],["type","checkbox"]],[[8,"id",0],[2,"mat-checkbox-indeterminate",null],[2,"mat-checkbox-checked",null],[2,"mat-checkbox-disabled",null],[2,"mat-checkbox-label-before",null]],[[null,"change"]],function(t,e,n){var r=!0;return"change"===e&&(r=!1!==t.component.setAccept(n)&&r),r},k_,M_)),r._28(5120,null,Ks,function(t){return[t]},[xl]),r._8(14,4374528,null,0,xl,[r.l,r.h,To,[8,null],[2,wl]],{id:[0,"id"],checked:[1,"checked"]},{change:"change"}),(t()(),r._31(15,0,["","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(20,0,null,0,6,"div",[["class","-text-center"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(22,0,null,null,3,"app-button",[["class","primary -no-bottom-margin"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.closePopup()&&r),r},Sf,kf)),r._8(23,49152,null,0,Mc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(24,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,1,0,n.dialogRef,r._32(e,1,1,r._22(e,2).transform("wizard.confirm.title"))),t(e,14,0,"terms",n.acceptSafe),t(e,23,0,!n.acceptSafe)},function(t,e){t(e,7,0,r._32(e,7,0,r._22(e,8).transform("wizard.confirm.desc"))),t(e,12,0,r._22(e,14).id,r._22(e,14).indeterminate,r._22(e,14).checked,r._22(e,14).disabled,"before"==r._22(e,14).labelPosition),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("wizard.confirm.checkbox"))),t(e,24,0,r._32(e,24,0,r._22(e,25).transform("wizard.confirm.button")))})}var Jg=r._5("app-onboarding-safeguard",ug,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-onboarding-safeguard",[],null,null,null,Gg,Ug)),r._8(1,49152,null,0,ug,[As],null,null)],null,null)},{},{},[]),qg=r._7({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{text-align:center}.-info[_ngcontent-%COMP%]{margin:5px 0 25px;color:rgba(30,34,39,.5);font-size:12px;line-height:1.5}"]],data:{}});function Qg(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"p",[["class","-info"]],null,null,null,null,null)),(t()(),r._31(1,null,["",""]))],null,function(t,e){t(e,1,0,e.component.data.description)})}function Xg(t){return r._33(0,[(t()(),r._9(0,0,null,null,13,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,2,"label",[["for","confirm_password"]],null,null,null,null,null)),(t()(),r._31(3,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,6,"input",[["appDontSavePassword",""],["formControlName","confirm_password"],["id","confirm_password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._22(t,7)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,7).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,7)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,7)._compositionEnd(n.target.value)&&i),"focus"===e&&(i=!1!==r._22(t,12).onFocus()&&i),"keydown.enter"===e&&(i=!1!==o.proceed()&&i),i},null,null)),r._8(7,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(9,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(11,16384,null,0,Ta,[oa],null,null),r._8(12,16384,null,0,Yg,[r.l],null,null),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,9,0,"confirm_password")},function(t,e){t(e,3,0,r._32(e,3,0,r._22(e,4).transform("password.confirm-label"))),t(e,6,0,r._22(e,11).ngClassUntouched,r._22(e,11).ngClassTouched,r._22(e,11).ngClassPristine,r._22(e,11).ngClassDirty,r._22(e,11).ngClassValid,r._22(e,11).ngClassInvalid,r._22(e,11).ngClassPending)})}function Kg(t){return r._33(0,[r._29(402653184,1,{button:0}),(t()(),r._9(1,0,null,null,39,"app-modal",[],null,null,null,Dg,Tg)),r._8(2,573440,null,0,Sg,[],{dialog:[0,"dialog"],headline:[1,"headline"],disableDismiss:[2,"disableDismiss"]},null),r._25(131072,mp.i,[mp.j,r.h]),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._4(16777216,null,0,1,null,Qg)),r._8(7,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(9,0,null,0,22,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,10).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,10).onReset()&&i),i},null,null)),r._8(10,540672,null,0,Ba,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,zs,null,[Ba]),r._8(12,16384,null,0,Oa,[zs],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,13,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,2,"label",[["for","password"]],null,null,null,null,null)),(t()(),r._31(17,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(20,0,null,null,6,"input",[["appDontSavePassword",""],["formControlName","password"],["id","password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._22(t,21)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,21).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,21)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,21)._compositionEnd(n.target.value)&&i),"focus"===e&&(i=!1!==r._22(t,26).onFocus()&&i),"keydown.enter"===e&&(i=!1!==o.proceed()&&i),i},null,null)),r._8(21,16384,null,0,ta,[r.G,r.l,[2,$s]],null,null),r._28(1024,null,Ks,function(t){return[t]},[ta]),r._8(23,671744,null,0,Ga,[[3,zs],[8,null],[8,null],[2,Ks]],{name:[0,"name"]},null),r._28(2048,null,oa,null,[Ga]),r._8(25,16384,null,0,Ta,[oa],null,null),r._8(26,16384,null,0,Yg,[r.l],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Xg)),r._8(30,16384,null,0,F,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(33,0,null,0,6,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(35,0,null,null,3,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.proceed()&&r),r},Sf,kf)),r._8(36,49152,[[1,4],["button",4]],0,Mc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(37,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,2,0,n.dialogRef,r._32(e,2,1,n.data.title?r._22(e,3).transform(n.data.title):r._22(e,4).transform("password.title")),n.disableDismiss),t(e,7,0,n.data.description),t(e,10,0,n.form),t(e,23,0,"password"),t(e,30,0,n.data.confirm),t(e,36,0,!n.form.valid)},function(t,e){t(e,9,0,r._22(e,12).ngClassUntouched,r._22(e,12).ngClassTouched,r._22(e,12).ngClassPristine,r._22(e,12).ngClassDirty,r._22(e,12).ngClassValid,r._22(e,12).ngClassInvalid,r._22(e,12).ngClassPending),t(e,17,0,r._32(e,17,0,r._22(e,18).transform("password.label"))),t(e,20,0,r._22(e,25).ngClassUntouched,r._22(e,25).ngClassTouched,r._22(e,25).ngClassPristine,r._22(e,25).ngClassDirty,r._22(e,25).ngClassValid,r._22(e,25).ngClassInvalid,r._22(e,25).ngClassPending),t(e,37,0,r._32(e,37,0,r._22(e,38).transform("password.button")))})}var Zg=r._5("app-password-dialog",gp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-password-dialog",[],null,null,null,Kg,qg)),r._8(1,245760,null,0,gp,[js,As,pc,mp.j],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),$g=r._7({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{text-align:center}"]],data:{}});function ty(t){return r._33(0,[(t()(),r._9(0,0,null,null,21,"app-modal",[],null,null,null,Dg,Tg)),r._8(1,573440,null,0,Sg,[],{dialog:[0,"dialog"],headline:[1,"headline"]},null),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(4,0,null,0,8,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,2,"label",[["for","seed"]],null,null,null,null,null)),(t()(),r._31(7,null,["",""])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,1,"textarea",[["id","seed"],["readonly",""]],null,null,null,null,null)),(t()(),r._31(11,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(14,0,null,0,6,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,3,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.dialogRef.close()&&r),r},Sf,kf)),r._8(17,49152,null,0,Mc,[],null,{action:"action"}),(t()(),r._31(18,0,["\n ","\n "])),r._25(131072,mp.i,[mp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){t(e,1,0,e.component.dialogRef,r._32(e,1,1,r._22(e,2).transform("title.seed")))},function(t,e){var n=e.component;t(e,7,0,r._32(e,7,0,r._22(e,8).transform("backup.seed"))),t(e,11,0,n.data.seed),t(e,18,0,r._32(e,18,0,r._22(e,19).transform("backup.close-button")))})}var ey=r._5("app-seed-modal",_p,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-seed-modal",[],null,null,null,ty,$g)),r._8(1,180224,null,0,_p,[js,As],null,null)],null,null)},{},{},[]),ny=r._7({encapsulation:0,styles:[["mat-card[_ngcontent-%COMP%]{max-width:1000px;margin-top:80px;margin-right:auto;margin-left:auto}.logo[_ngcontent-%COMP%]{max-height:100%}.fill-remaining-space[_ngcontent-%COMP%]{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.sky-container[_ngcontent-%COMP%]{max-width:1000px;margin-top:20px;margin-right:auto;margin-left:auto}mat-toolbar[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin:0 20px}.search-field[_ngcontent-%COMP%]{border-radius:8px;border:none;background-color:#fff;padding:8px}.syncing[_ngcontent-%COMP%]{font-size:14px}.main-menu[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin-right:20px}#top-menu[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#fbfbfb}#top-menu[_ngcontent-%COMP%] span#version[_ngcontent-%COMP%]{padding-top:12px}"]],data:{}});function ry(t){return r._33(0,[(t()(),r._9(0,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),r._8(1,212992,null,0,Uh,[Wh,r.R,r.j,[8,null],r.h],null,null),(t()(),r._31(-1,null,["\n"]))],function(t,e){t(e,1,0)},null)}var iy=r._5("app-root",Ep,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-root",[],null,null,null,ry,ny)),r._8(1,114688,null,0,Ep,[Pp,mp.j],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]);function oy(t){switch(t.length){case 0:return new Ss;case 1:return t[0];default:return new Ts(t)}}function sy(t,e,n,r,i,o){void 0===i&&(i={}),void 0===o&&(o={});var s=[],a=[],l=-1,u=null;if(r.forEach(function(t){var n=t.offset,r=n==l,c=r&&u||{};Object.keys(t).forEach(function(n){var r=n,a=t[n];if("offset"!==n)switch(r=e.normalizePropertyName(r,s),a){case Os:a=i[n];break;case ks:a=o[n];break;default:a=e.normalizeStyleValue(n,r,a,s)}c[r]=a}),r||a.push(c),u=c,l=n}),s.length)throw new Error("Unable to animate due to the following errors:\n - "+s.join("\n - "));return a}function ay(t,e,n,r){switch(e){case"start":t.onStart(function(){return r(n&&ly(n,"start",t.totalTime))});break;case"done":t.onDone(function(){return r(n&&ly(n,"done",t.totalTime))});break;case"destroy":t.onDestroy(function(){return r(n&&ly(n,"destroy",t.totalTime))})}}function ly(t,e,n){var r=uy(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,void 0==n?t.totalTime:n),i=t._data;return null!=i&&(r._data=i),r}function uy(t,e,n,r,i,o){return void 0===i&&(i=""),void 0===o&&(o=0),{element:t,triggerName:e,fromState:n,toState:r,phaseName:i,totalTime:o}}function cy(t,e,n){var r;return t instanceof Map?(r=t.get(e))||t.set(e,r=n):(r=t[e])||(r=t[e]=n),r}function dy(t){var e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}var hy=function(t,e){return!1},py=function(t,e){return!1},fy=function(t,e,n){return[]};if("undefined"!=typeof Element){if(hy=function(t,e){return t.contains(e)},Element.prototype.matches)py=function(t,e){return t.matches(e)};else{var _y=Element.prototype,my=_y.matchesSelector||_y.mozMatchesSelector||_y.msMatchesSelector||_y.oMatchesSelector||_y.webkitMatchesSelector;my&&(py=function(t,e){return my.apply(t,[e])})}fy=function(t,e,n){var r=[];if(n)r.push.apply(r,t.querySelectorAll(e));else{var i=t.querySelector(e);i&&r.push(i)}return r}}var gy=null,yy=!1;function vy(){return"undefined"!=typeof document?document.body:null}var by=py,wy=hy,My=fy,ky=function(){function t(){}return t.prototype.validateStyleProperty=function(t){return function(t){gy||(gy=vy()||{},yy=!!gy.style&&"WebkitAppearance"in gy.style);var e=!0;return gy.style&&!function(t){return"ebkit"==t.substring(1,6)}(t)&&!(e=t in gy.style)&&yy&&(e="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in gy.style),e}(t)},t.prototype.matchesElement=function(t,e){return by(t,e)},t.prototype.containsElement=function(t,e){return wy(t,e)},t.prototype.query=function(t,e,n){return My(t,e,n)},t.prototype.computeStyle=function(t,e,n){return n||""},t.prototype.animate=function(t,e,n,r,i,o){return void 0===o&&(o=[]),new Ss},t}(),xy=function(){function t(){}return t.NOOP=new ky,t}(),Ly=1e3;function Cy(t){if("number"==typeof t)return t;var e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Sy(parseFloat(e[1]),e[2])}function Sy(t,e){switch(e){case"s":return t*Ly;default:return t}}function Ty(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){var r,i=0,o="";if("string"==typeof t){var s=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===s)return e.push('The provided timing value "'+t+'" is invalid.'),{duration:0,delay:0,easing:""};r=Sy(parseFloat(s[1]),s[2]);var a=s[3];null!=a&&(i=Sy(Math.floor(parseFloat(a)),s[4]));var l=s[5];l&&(o=l)}else r=t;if(!n){var u=!1,c=e.length;r<0&&(e.push("Duration values below 0 are not allowed for this animation step."),u=!0),i<0&&(e.push("Delay values below 0 are not allowed for this animation step."),u=!0),u&&e.splice(c,0,'The provided timing value "'+t+'" is invalid.')}return{duration:r,delay:i,easing:o}}(t,e,n)}function Oy(t,e){return void 0===e&&(e={}),Object.keys(t).forEach(function(n){e[n]=t[n]}),e}function Dy(t,e,n){if(void 0===n&&(n={}),e)for(var r in t)n[r]=t[r];else Oy(t,n);return n}function Yy(t,e){t.style&&Object.keys(e).forEach(function(n){var r=Fy(n);t.style[r]=e[n]})}function Py(t,e){t.style&&Object.keys(e).forEach(function(e){var n=Fy(e);t.style[n]=""})}function Ey(t){return Array.isArray(t)?1==t.length?t[0]:xs(t):t}var Ay=new RegExp("{{\\s*(.+?)\\s*}}","g");function jy(t){var e=[];if("string"==typeof t){for(var n=t.toString(),r=void 0;r=Ay.exec(n);)e.push(r[1]);Ay.lastIndex=0}return e}function Iy(t,e,n){var r=t.toString(),i=r.replace(Ay,function(t,r){var i=e[r];return e.hasOwnProperty(r)||(n.push("Please provide a value for the animation param "+r),i=""),i.toString()});return i==r?t:i}function Ry(t){for(var e=[],n=t.next();!n.done;)e.push(n.value),n=t.next();return e}var Hy=/-+([a-z0-9])/g;function Fy(t){return t.replace(Hy,function(){for(var t=[],e=0;e *";case":leave":return"* => void";case":increment":return function(t,e){return parseFloat(e)>parseFloat(t)};case":decrement":return function(t,e){return parseFloat(e) *"}}(t,n);if("function"==typeof r)return void e.push(r);t=r}var i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push('The provided transition expression "'+t+'" is not supported'),e;var o=i[1],s=i[2],a=i[3];e.push(Wy(o,a)),"<"!=s[0]||o==Vy&&a==Vy||e.push(Wy(a,o))}(t,i,r)}):i.push(n),i),animation:o,queryCount:e.queryCount,depCount:e.depCount,options:Xy(t.options)}},t.prototype.visitSequence=function(t,e){var n=this;return{type:2,steps:t.steps.map(function(t){return Ny(n,t,e)}),options:Xy(t.options)}},t.prototype.visitGroup=function(t,e){var n=this,r=e.currentTime,i=0,o=t.steps.map(function(t){e.currentTime=r;var o=Ny(n,t,e);return i=Math.max(i,e.currentTime),o});return e.currentTime=i,{type:3,steps:o,options:Xy(t.options)}},t.prototype.visitAnimate=function(t,e){var n,r=function(t,e){var n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return Ky(Ty(t,e).duration,0,"");var r=t;if(r.split(/\s+/).some(function(t){return"{"==t.charAt(0)&&"{"==t.charAt(1)})){var i=Ky(0,0,"");return i.dynamic=!0,i.strValue=r,i}return Ky((n=n||Ty(r,e)).duration,n.delay,n.easing)}(t.timings,e.errors);e.currentAnimateTimings=r;var i=t.styles?t.styles:Ls({});if(5==i.type)n=this.visitKeyframes(i,e);else{var o=t.styles,s=!1;if(!o){s=!0;var a={};r.easing&&(a.easing=r.easing),o=Ls(a)}e.currentTime+=r.duration+r.delay;var l=this.visitStyle(o,e);l.isEmptyStep=s,n=l}return e.currentAnimateTimings=null,{type:4,timings:r,style:n,options:null}},t.prototype.visitStyle=function(t,e){var n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n},t.prototype._makeStyleAst=function(t,e){var n=[];Array.isArray(t.styles)?t.styles.forEach(function(t){"string"==typeof t?t==ks?n.push(t):e.errors.push("The provided style string value "+t+" is not allowed."):n.push(t)}):n.push(t.styles);var r=!1,i=null;return n.forEach(function(t){if(Qy(t)){var e=t,n=e.easing;if(n&&(i=n,delete e.easing),!r)for(var o in e)if(e[o].toString().indexOf("{{")>=0){r=!0;break}}}),{type:6,styles:n,easing:i,offset:t.offset,containsDynamicStyles:r,options:null}},t.prototype._validateStyleAst=function(t,e){var n=this,r=e.currentAnimateTimings,i=e.currentTime,o=e.currentTime;r&&o>0&&(o-=r.duration+r.delay),t.styles.forEach(function(t){"string"!=typeof t&&Object.keys(t).forEach(function(r){if(n._driver.validateStyleProperty(r)){var s,a,l,u=e.collectedStyles[e.currentQuerySelector],c=u[r],d=!0;c&&(o!=i&&o>=c.startTime&&i<=c.endTime&&(e.errors.push('The CSS property "'+r+'" that exists between the times of "'+c.startTime+'ms" and "'+c.endTime+'ms" is also being animated in a parallel animation between the times of "'+o+'ms" and "'+i+'ms"'),d=!1),o=c.startTime),d&&(u[r]={startTime:o,endTime:i}),e.options&&(s=e.errors,a=e.options.params||{},(l=jy(t[r])).length&&l.forEach(function(t){a.hasOwnProperty(t)||s.push("Unable to resolve the local animation param "+t+" in the given list of values")}))}else e.errors.push('The provided animation property "'+r+'" is not a supported CSS property for animations')})})},t.prototype.visitKeyframes=function(t,e){var n=this,r={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),r;var i=0,o=[],s=!1,a=!1,l=0,u=t.steps.map(function(t){var r=n._makeStyleAst(t,e),u=null!=r.offset?r.offset:function(t){if("string"==typeof t)return null;var e=null;if(Array.isArray(t))t.forEach(function(t){if(Qy(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}});else if(Qy(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}return e}(r.styles),c=0;return null!=u&&(i++,c=r.offset=u),a=a||c<0||c>1,s=s||c0&&i0?i==h?1:d*i:o[i],a=s*_;e.currentTime=p+f.delay+a,f.duration=a,n._validateStyleAst(t,e),t.offset=s,r.styles.push(t)}),r},t.prototype.visitReference=function(t,e){return{type:8,animation:Ny(this,Ey(t.animation),e),options:Xy(t.options)}},t.prototype.visitAnimateChild=function(t,e){return e.depCount++,{type:9,options:Xy(t.options)}},t.prototype.visitAnimateRef=function(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:Xy(t.options)}},t.prototype.visitQuery=function(t,e){var n=e.currentQuerySelector,r=t.options||{};e.queryCount++,e.currentQuery=t;var i=function(t){var e=!!t.split(/\s*,\s*/).find(function(t){return":self"==t});return e&&(t=t.replace(Uy,"")),[t=t.replace(/@\*/g,".ng-trigger").replace(/@\w+/g,function(t){return".ng-trigger-"+t.substr(1)}).replace(/:animating/g,".ng-animating"),e]}(t.selector),o=i[0],s=i[1];e.currentQuerySelector=n.length?n+" "+o:o,cy(e.collectedStyles,e.currentQuerySelector,{});var a=Ny(this,Ey(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:a,originalSelector:t.selector,options:Xy(t.options)}},t.prototype.visitStagger=function(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");var n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Ty(t.timings,e.errors,!0);return{type:12,animation:Ny(this,Ey(t.animation),e),timings:n,options:null}},t}(),qy=function(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null};function Qy(t){return!Array.isArray(t)&&"object"==typeof t}function Xy(t){var e;return t?(t=Oy(t)).params&&(t.params=(e=t.params)?Oy(e):null):t={},t}function Ky(t,e,n){return{duration:t,delay:e,easing:n}}function Zy(t,e,n,r,i,o,s,a){return void 0===s&&(s=null),void 0===a&&(a=!1),{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:r,duration:i,delay:o,totalTime:i+o,easing:s,subTimeline:a}}var $y=function(){function t(){this._map=new Map}return t.prototype.consume=function(t){var e=this._map.get(t);return e?this._map.delete(t):e=[],e},t.prototype.append=function(t,e){var n=this._map.get(t);n||this._map.set(t,n=[]),n.push.apply(n,e)},t.prototype.has=function(t){return this._map.has(t)},t.prototype.clear=function(){this._map.clear()},t}(),tv=new RegExp(":enter","g"),ev=new RegExp(":leave","g");function nv(t,e,n,r,i,o,s,a,l,u){return void 0===o&&(o={}),void 0===s&&(s={}),void 0===u&&(u=[]),(new rv).buildKeyframes(t,e,n,r,i,o,s,a,l,u)}var rv=function(){function t(){}return t.prototype.buildKeyframes=function(t,e,n,r,i,o,s,a,l,u){void 0===u&&(u=[]),l=l||new $y;var c=new ov(t,e,l,r,i,u,[]);c.options=a,c.currentTimeline.setStyles([o],null,c.errors,a),Ny(this,n,c);var d=c.timelines.filter(function(t){return t.containsAnimation()});if(d.length&&Object.keys(s).length){var h=d[d.length-1];h.allowOnlyTimelineStyles()||h.setStyles([s],null,c.errors,a)}return d.length?d.map(function(t){return t.buildKeyframes()}):[Zy(e,[],[],[],0,0,"",!1)]},t.prototype.visitTrigger=function(t,e){},t.prototype.visitState=function(t,e){},t.prototype.visitTransition=function(t,e){},t.prototype.visitAnimateChild=function(t,e){var n=e.subInstructions.consume(e.element);if(n){var r=e.createSubContext(t.options),i=e.currentTimeline.currentTime,o=this._visitSubInstructions(n,r,r.options);i!=o&&e.transformIntoNewTimeline(o)}e.previousNode=t},t.prototype.visitAnimateRef=function(t,e){var n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t},t.prototype._visitSubInstructions=function(t,e,n){var r=e.currentTimeline.currentTime,i=null!=n.duration?Cy(n.duration):null,o=null!=n.delay?Cy(n.delay):null;return 0!==i&&t.forEach(function(t){var n=e.appendInstructionToTimeline(t,i,o);r=Math.max(r,n.duration+n.delay)}),r},t.prototype.visitReference=function(t,e){e.updateOptions(t.options,!0),Ny(this,t.animation,e),e.previousNode=t},t.prototype.visitSequence=function(t,e){var n=this,r=e.subContextCount,i=e,o=t.options;if(o&&(o.params||o.delay)&&((i=e.createSubContext(o)).transformIntoNewTimeline(),null!=o.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=iv);var s=Cy(o.delay);i.delayNextStep(s)}t.steps.length&&(t.steps.forEach(function(t){return Ny(n,t,i)}),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>r&&i.transformIntoNewTimeline()),e.previousNode=t},t.prototype.visitGroup=function(t,e){var n=this,r=[],i=e.currentTimeline.currentTime,o=t.options&&t.options.delay?Cy(t.options.delay):0;t.steps.forEach(function(s){var a=e.createSubContext(t.options);o&&a.delayNextStep(o),Ny(n,s,a),i=Math.max(i,a.currentTimeline.currentTime),r.push(a.currentTimeline)}),r.forEach(function(t){return e.currentTimeline.mergeTimelineCollectedStyles(t)}),e.transformIntoNewTimeline(i),e.previousNode=t},t.prototype._visitTiming=function(t,e){if(t.dynamic){var n=t.strValue;return Ty(e.params?Iy(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}},t.prototype.visitAnimate=function(t,e){var n=e.currentAnimateTimings=this._visitTiming(t.timings,e),r=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),r.snapshotCurrentStyles());var i=t.style;5==i.type?this.visitKeyframes(i,e):(e.incrementTime(n.duration),this.visitStyle(i,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t},t.prototype.visitStyle=function(t,e){var n=e.currentTimeline,r=e.currentAnimateTimings;!r&&n.getCurrentStyleProperties().length&&n.forwardFrame();var i=r&&r.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(i):n.setStyles(t.styles,i,e.errors,e.options),e.previousNode=t},t.prototype.visitKeyframes=function(t,e){var n=e.currentAnimateTimings,r=e.currentTimeline.duration,i=n.duration,o=e.createSubContext().currentTimeline;o.easing=n.easing,t.styles.forEach(function(t){o.forwardTime((t.offset||0)*i),o.setStyles(t.styles,t.easing,e.errors,e.options),o.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(o),e.transformIntoNewTimeline(r+i),e.previousNode=t},t.prototype.visitQuery=function(t,e){var n=this,r=e.currentTimeline.currentTime,i=t.options||{},o=i.delay?Cy(i.delay):0;o&&(6===e.previousNode.type||0==r&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=iv);var s=r,a=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=a.length;var l=null;a.forEach(function(r,i){e.currentQueryIndex=i;var a=e.createSubContext(t.options,r);o&&a.delayNextStep(o),r===e.element&&(l=a.currentTimeline),Ny(n,t.animation,a),a.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,a.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t},t.prototype.visitStagger=function(t,e){var n=e.parentContext,r=e.currentTimeline,i=t.timings,o=Math.abs(i.duration),s=o*(e.currentQueryTotal-1),a=o*e.currentQueryIndex;switch(i.duration<0?"reverse":i.easing){case"reverse":a=s-a;break;case"full":a=n.currentStaggerTime}var l=e.currentTimeline;a&&l.delayNextStep(a);var u=l.currentTime;Ny(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=r.currentTime-u+(r.startTime-n.currentTimeline.startTime)},t}(),iv={},ov=function(){function t(t,e,n,r,i,o,s,a){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=r,this._leaveClassName=i,this.errors=o,this.timelines=s,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=iv,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new sv(this._driver,e,0),s.push(this.currentTimeline)}return Object.defineProperty(t.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),t.prototype.updateOptions=function(t,e){var n=this;if(t){var r=t,i=this.options;null!=r.duration&&(i.duration=Cy(r.duration)),null!=r.delay&&(i.delay=Cy(r.delay));var o=r.params;if(o){var s=i.params;s||(s=this.options.params={}),Object.keys(o).forEach(function(t){e&&s.hasOwnProperty(t)||(s[t]=Iy(o[t],s,n.errors))})}}},t.prototype._copyOptions=function(){var t={};if(this.options){var e=this.options.params;if(e){var n=t.params={};Object.keys(e).forEach(function(t){n[t]=e[t]})}}return t},t.prototype.createSubContext=function(e,n,r){void 0===e&&(e=null);var i=n||this.element,o=new t(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,r||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(e),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o},t.prototype.transformIntoNewTimeline=function(t){return this.previousNode=iv,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline},t.prototype.appendInstructionToTimeline=function(t,e,n){var r={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},i=new av(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,r,t.stretchStartingKeyframe);return this.timelines.push(i),r},t.prototype.incrementTime=function(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)},t.prototype.delayNextStep=function(t){t>0&&this.currentTimeline.delayNextStep(t)},t.prototype.invokeQuery=function(t,e,n,r,i,o){var s=[];if(r&&s.push(this.element),t.length>0){t=(t=t.replace(tv,"."+this._enterClassName)).replace(ev,"."+this._leaveClassName);var a=this._driver.query(this.element,t,1!=n);0!==n&&(a=n<0?a.slice(a.length+n,a.length):a.slice(0,n)),s.push.apply(s,a)}return i||0!=s.length||o.push('`query("'+e+'")` returned zero elements. (Use `query("'+e+'", { optional: true })` if you wish to allow this.)'),s},t}(),sv=function(){function t(t,e,n,r){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}return t.prototype.containsAnimation=function(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}},t.prototype.getCurrentStyleProperties=function(){return Object.keys(this._currentKeyframe)},Object.defineProperty(t.prototype,"currentTime",{get:function(){return this.startTime+this.duration},enumerable:!0,configurable:!0}),t.prototype.delayNextStep=function(t){var e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t},t.prototype.fork=function(e,n){return this.applyStylesToKeyframe(),new t(this._driver,e,n||this.currentTime,this._elementTimelineStylesLookup)},t.prototype._loadKeyframe=function(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))},t.prototype.forwardFrame=function(){this.duration+=1,this._loadKeyframe()},t.prototype.forwardTime=function(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()},t.prototype._updateStyle=function(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}},t.prototype.allowOnlyTimelineStyles=function(){return this._currentEmptyStepKeyframe!==this._currentKeyframe},t.prototype.applyEmptyStep=function(t){var e=this;t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(function(t){e._backFill[t]=e._globalTimelineStyles[t]||ks,e._currentKeyframe[t]=ks}),this._currentEmptyStepKeyframe=this._currentKeyframe},t.prototype.setStyles=function(t,e,n,r){var i=this;e&&(this._previousKeyframe.easing=e);var o=r&&r.params||{},s=function(t,e){var n,r={};return t.forEach(function(t){"*"===t?(n=n||Object.keys(e)).forEach(function(t){r[t]=ks}):Dy(t,!1,r)}),r}(t,this._globalTimelineStyles);Object.keys(s).forEach(function(t){var e=Iy(s[t],o,n);i._pendingStyles[t]=e,i._localTimelineStyles.hasOwnProperty(t)||(i._backFill[t]=i._globalTimelineStyles.hasOwnProperty(t)?i._globalTimelineStyles[t]:ks),i._updateStyle(t,e)})},t.prototype.applyStylesToKeyframe=function(){var t=this,e=this._pendingStyles,n=Object.keys(e);0!=n.length&&(this._pendingStyles={},n.forEach(function(n){t._currentKeyframe[n]=e[n]}),Object.keys(this._localTimelineStyles).forEach(function(e){t._currentKeyframe.hasOwnProperty(e)||(t._currentKeyframe[e]=t._localTimelineStyles[e])}))},t.prototype.snapshotCurrentStyles=function(){var t=this;Object.keys(this._localTimelineStyles).forEach(function(e){var n=t._localTimelineStyles[e];t._pendingStyles[e]=n,t._updateStyle(e,n)})},t.prototype.getFinalKeyframe=function(){return this._keyframes.get(this.duration)},Object.defineProperty(t.prototype,"properties",{get:function(){var t=[];for(var e in this._currentKeyframe)t.push(e);return t},enumerable:!0,configurable:!0}),t.prototype.mergeTimelineCollectedStyles=function(t){var e=this;Object.keys(t._styleSummary).forEach(function(n){var r=e._styleSummary[n],i=t._styleSummary[n];(!r||i.time>r.time)&&e._updateStyle(n,i.value)})},t.prototype.buildKeyframes=function(){var t=this;this.applyStylesToKeyframe();var e=new Set,n=new Set,r=1===this._keyframes.size&&0===this.duration,i=[];this._keyframes.forEach(function(o,s){var a=Dy(o,!0);Object.keys(a).forEach(function(t){var r=a[t];r==Os?e.add(t):r==ks&&n.add(t)}),r||(a.offset=s/t.duration),i.push(a)});var o=e.size?Ry(e.values()):[],s=n.size?Ry(n.values()):[];if(r){var a=i[0],l=Oy(a);a.offset=0,l.offset=1,i=[a,l]}return Zy(this.element,i,o,s,this.duration,this.startTime,this.easing,!1)},t}(),av=function(t){function e(e,n,r,i,o,s,a){void 0===a&&(a=!1);var l=t.call(this,e,n,s.delay)||this;return l.element=n,l.keyframes=r,l.preStyleProps=i,l.postStyleProps=o,l._stretchStartingKeyframe=a,l.timings={duration:s.duration,delay:s.delay,easing:s.easing},l}return Object(o.__extends)(e,t),e.prototype.containsAnimation=function(){return this.keyframes.length>1},e.prototype.buildKeyframes=function(){var t=this.keyframes,e=this.timings,n=e.delay,r=e.duration,i=e.easing;if(this._stretchStartingKeyframe&&n){var o=[],s=r+n,a=n/s,l=Dy(t[0],!1);l.offset=0,o.push(l);var u=Dy(t[0],!1);u.offset=lv(a),o.push(u);for(var c=t.length-1,d=1;d<=c;d++){var h=Dy(t[d],!1);h.offset=lv((n+h.offset*r)/s),o.push(h)}r=s,n=0,i="",t=o}return Zy(this.element,t,this.preStyleProps,this.postStyleProps,r,n,i,!0)},e}(sv);function lv(t,e){void 0===e&&(e=3);var n=Math.pow(10,e-1);return Math.round(t*n)/n}var uv=function(){},cv=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.__extends)(e,t),e.prototype.normalizePropertyName=function(t,e){return Fy(t)},e.prototype.normalizeStyleValue=function(t,e,n,r){var i="",o=n.toString().trim();if(dv[e]&&0!==n&&"0"!==n)if("number"==typeof n)i="px";else{var s=n.match(/^[+-]?[\d\.]+([a-z]*)$/);s&&0==s[1].length&&r.push("Please provide a CSS unit value for "+t+":"+n)}return o+i},e}(uv),dv=function(t){var e={};return"width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",").forEach(function(t){return e[t]=!0}),e}();function hv(t,e,n,r,i,o,s,a,l,u,c,d){return{type:0,element:t,triggerName:e,isRemovalTransition:i,fromState:n,fromStyles:o,toState:r,toStyles:s,timelines:a,queriedElements:l,preStyleProps:u,postStyleProps:c,errors:d}}var pv={},fv=function(){function t(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}return t.prototype.match=function(t,e){return function(t,e,n){return t.some(function(t){return t(e,n)})}(this.ast.matchers,t,e)},t.prototype.buildStyles=function(t,e,n){var r=this._stateStyles["*"],i=this._stateStyles[t],o=r?r.buildStyles(e,n):{};return i?i.buildStyles(e,n):o},t.prototype.build=function(t,e,n,r,i,s,a,l,u){var c=[],d=this.ast.options&&this.ast.options.params||pv,h=this.buildStyles(n,a&&a.params||pv,c),p=l&&l.params||pv,f=this.buildStyles(r,p,c),_=new Set,m=new Map,g=new Map,y="void"===r,v={params:Object(o.__assign)({},d,p)},b=nv(t,e,this.ast.animation,i,s,h,f,v,u,c);if(c.length)return hv(e,this._triggerName,n,r,y,h,f,[],[],m,g,c);b.forEach(function(t){var n=t.element,r=cy(m,n,{});t.preStyleProps.forEach(function(t){return r[t]=!0});var i=cy(g,n,{});t.postStyleProps.forEach(function(t){return i[t]=!0}),n!==e&&_.add(n)});var w=Ry(_.values());return hv(e,this._triggerName,n,r,y,h,f,b,w,m,g)},t}(),_v=function(){function t(t,e){this.styles=t,this.defaultParams=e}return t.prototype.buildStyles=function(t,e){var n={},r=Oy(this.defaultParams);return Object.keys(t).forEach(function(e){var n=t[e];null!=n&&(r[e]=n)}),this.styles.styles.forEach(function(t){if("string"!=typeof t){var i=t;Object.keys(i).forEach(function(t){var o=i[t];o.length>1&&(o=Iy(o,r,e)),n[t]=o})}}),n},t}(),mv=function(){function t(t,e){var n=this;this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach(function(t){n.states[t.name]=new _v(t.style,t.options&&t.options.params||{})}),gv(this.states,"true","1"),gv(this.states,"false","0"),e.transitions.forEach(function(e){n.transitionFactories.push(new fv(t,e,n.states))}),this.fallbackTransition=new fv(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[function(t,e){return!0}],options:null,queryCount:0,depCount:0},this.states)}return Object.defineProperty(t.prototype,"containsQueries",{get:function(){return this.ast.queryCount>0},enumerable:!0,configurable:!0}),t.prototype.matchTransition=function(t,e){return this.transitionFactories.find(function(n){return n.match(t,e)})||null},t.prototype.matchStyles=function(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)},t}();function gv(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}var yv=new $y,vv=function(){function t(t,e){this._driver=t,this._normalizer=e,this._animations={},this._playersById={},this.players=[]}return t.prototype.register=function(t,e){var n=[],r=Gy(this._driver,e,n);if(n.length)throw new Error("Unable to build the animation due to the following errors: "+n.join("\n"));this._animations[t]=r},t.prototype._buildPlayer=function(t,e,n){var r=t.element,i=sy(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(r,i,t.duration,t.delay,t.easing,[])},t.prototype.create=function(t,e,n){var r=this;void 0===n&&(n={});var i,o=[],s=this._animations[t],a=new Map;if(s?(i=nv(this._driver,e,s,"ng-enter","ng-leave",{},{},n,yv,o)).forEach(function(t){var e=cy(a,t.element,{});t.postStyleProps.forEach(function(t){return e[t]=null})}):(o.push("The requested animation doesn't exist or has already been destroyed"),i=[]),o.length)throw new Error("Unable to create the animation due to the following errors: "+o.join("\n"));a.forEach(function(t,e){Object.keys(t).forEach(function(n){t[n]=r._driver.computeStyle(e,n,ks)})});var l=oy(i.map(function(t){var e=a.get(t.element);return r._buildPlayer(t,{},e)}));return this._playersById[t]=l,l.onDestroy(function(){return r.destroy(t)}),this.players.push(l),l},t.prototype.destroy=function(t){var e=this._getPlayer(t);e.destroy(),delete this._playersById[t];var n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)},t.prototype._getPlayer=function(t){var e=this._playersById[t];if(!e)throw new Error("Unable to find the timeline player referenced by "+t);return e},t.prototype.listen=function(t,e,n,r){var i=uy(e,"","","");return ay(this._getPlayer(t),n,i,r),function(){}},t.prototype.command=function(t,e,n,r){if("register"!=n)if("create"!=n){var i=this._getPlayer(t);switch(n){case"play":i.play();break;case"pause":i.pause();break;case"reset":i.reset();break;case"restart":i.restart();break;case"finish":i.finish();break;case"init":i.init();break;case"setPosition":i.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(t)}}else this.create(t,e,r[0]||{});else this.register(t,r[0])},t}(),bv=[],wv={namespaceId:"",setForRemoval:null,hasAnimation:!1,removedBeforeQueried:!1},Mv={namespaceId:"",setForRemoval:null,hasAnimation:!1,removedBeforeQueried:!0},kv="__ng_removed",xv=function(){function t(t,e){void 0===e&&(e=""),this.namespaceId=e;var n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){var r=Oy(t);delete r.value,this.options=r}else this.options={};this.options.params||(this.options.params={})}return Object.defineProperty(t.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),t.prototype.absorbOptions=function(t){var e=t.params;if(e){var n=this.options.params;Object.keys(e).forEach(function(t){null==n[t]&&(n[t]=e[t])})}},t}(),Lv=new xv("void"),Cv=new xv("DELETED"),Sv=function(){function t(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,jv(e,this._hostClassName)}return t.prototype.listen=function(t,e,n,r){var i,o=this;if(!this._triggers.hasOwnProperty(e))throw new Error('Unable to listen on the animation trigger event "'+n+'" because the animation trigger "'+e+"\" doesn't exist!");if(null==n||0==n.length)throw new Error('Unable to listen on the animation trigger "'+e+'" because the provided event is undefined!');if("start"!=(i=n)&&"done"!=i)throw new Error('The provided animation trigger event "'+n+'" for the animation trigger "'+e+'" is not supported!');var s=cy(this._elementListeners,t,[]),a={name:e,phase:n,callback:r};s.push(a);var l=cy(this._engine.statesByElement,t,{});return l.hasOwnProperty(e)||(jv(t,"ng-trigger"),jv(t,"ng-trigger-"+e),l[e]=Lv),function(){o._engine.afterFlush(function(){var t=s.indexOf(a);t>=0&&s.splice(t,1),o._triggers[e]||delete l[e]})}},t.prototype.register=function(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)},t.prototype._getTrigger=function(t){var e=this._triggers[t];if(!e)throw new Error('The provided animation trigger "'+t+'" has not been registered!');return e},t.prototype.trigger=function(t,e,n,r){var i=this;void 0===r&&(r=!0);var o=this._getTrigger(e),s=new Ov(this.id,e,t),a=this._engine.statesByElement.get(t);a||(jv(t,"ng-trigger"),jv(t,"ng-trigger-"+e),this._engine.statesByElement.set(t,a={}));var l=a[e],u=new xv(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&l&&u.absorbOptions(l.options),a[e]=u,l){if(l===Cv)return s}else l=Lv;if("void"===u.value||l.value!==u.value){var c=cy(this._engine.playersByElement,t,[]);c.forEach(function(t){t.namespaceId==i.id&&t.triggerName==e&&t.queued&&t.destroy()});var d=o.matchTransition(l.value,u.value),h=!1;if(!d){if(!r)return;d=o.fallbackTransition,h=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:d,fromState:l,toState:u,player:s,isFallbackTransition:h}),h||(jv(t,"ng-animate-queued"),s.onStart(function(){Iv(t,"ng-animate-queued")})),s.onDone(function(){var e=i.players.indexOf(s);e>=0&&i.players.splice(e,1);var n=i._engine.playersByElement.get(t);if(n){var r=n.indexOf(s);r>=0&&n.splice(r,1)}}),this.players.push(s),c.push(s),s}if(!function(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i=0;i=0){for(var r=!1,i=n;i>=0;i--)if(this.driver.containsElement(this._namespaceList[i].hostElement,e)){this._namespaceList.splice(i+1,0,t),r=!0;break}r||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t},t.prototype.register=function(t,e){var n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n},t.prototype.registerTrigger=function(t,e,n){var r=this._namespaceLookup[t];r&&r.register(e,n)&&this.totalAnimations++},t.prototype.destroy=function(t,e){var n=this;if(t){var r=this._fetchNamespace(t);this.afterFlush(function(){n.namespacesByHostElement.delete(r.hostElement),delete n._namespaceLookup[t];var e=n._namespaceList.indexOf(r);e>=0&&n._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(function(){return r.destroy(e)})}},t.prototype._fetchNamespace=function(t){return this._namespaceLookup[t]},t.prototype.fetchNamespacesByElement=function(t){var e=new Set,n=this.statesByElement.get(t);if(n)for(var r=Object.keys(n),i=0;i=0;L--)this._namespaceList[L].drainQueuedTransitions(e).forEach(function(t){var e=t.player;k.push(e);var o=t.element;if(h&&n.driver.containsElement(h,o)){var s=w.get(o),d=_.get(o),p=n._buildInstruction(t,r,d,s);if(p.errors&&p.errors.length)x.push(p);else{if(t.isFallbackTransition)return e.onStart(function(){return Py(o,p.fromStyles)}),e.onDestroy(function(){return Yy(o,p.toStyles)}),void i.push(e);p.timelines.forEach(function(t){return t.stretchStartingKeyframe=!0}),r.append(o,p.timelines),a.push({instruction:p,player:e,element:o}),p.queriedElements.forEach(function(t){return cy(l,t,[]).push(e)}),p.preStyleProps.forEach(function(t,e){var n=Object.keys(t);if(n.length){var r=u.get(e);r||u.set(e,r=new Set),n.forEach(function(t){return r.add(t)})}}),p.postStyleProps.forEach(function(t,e){var n=Object.keys(t),r=c.get(e);r||c.set(e,r=new Set),n.forEach(function(t){return r.add(t)})})}}else e.destroy()});if(x.length){var C=[];x.forEach(function(t){C.push("@"+t.triggerName+" has failed due to:\n"),t.errors.forEach(function(t){return C.push("- "+t+"\n")})}),k.forEach(function(t){return t.destroy()}),this.reportError(C)}var S=new Map,T=new Map;a.forEach(function(t){var e=t.element;r.has(e)&&(T.set(e,e),n._beforeAnimationBuild(t.player.namespaceId,t.instruction,S))}),i.forEach(function(t){var e=t.element;n._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(function(t){cy(S,e,[]).push(t),t.destroy()})});var O=g.filter(function(t){return Hv(t,u,c)}),D=new Map;Pv(D,this.driver,v,c,ks).forEach(function(t){Hv(t,u,c)&&O.push(t)});var Y=new Map;f.forEach(function(t,e){Pv(Y,n.driver,new Set(t),u,Os)}),O.forEach(function(t){var e=D.get(t),n=Y.get(t);D.set(t,Object(o.__assign)({},e,n))});var P=[],E=[],A={};a.forEach(function(t){var e=t.element,o=t.player,a=t.instruction;if(r.has(e)){if(d.has(e))return o.onDestroy(function(){return Yy(e,a.toStyles)}),void i.push(o);var l=A;if(T.size>1){for(var u=e,c=[];u=u.parentNode;){var h=T.get(u);if(h){l=h;break}c.push(u)}c.forEach(function(t){return T.set(t,l)})}var p=n._buildAnimation(o.namespaceId,a,S,s,Y,D);if(o.setRealPlayer(p),l===A)P.push(o);else{var f=n.playersByElement.get(l);f&&f.length&&(o.parentPlayer=oy(f)),i.push(o)}}else Py(e,a.fromStyles),o.onDestroy(function(){return Yy(e,a.toStyles)}),E.push(o),d.has(e)&&i.push(o)}),E.forEach(function(t){var e=s.get(t.element);if(e&&e.length){var n=oy(e);t.setRealPlayer(n)}}),i.forEach(function(t){t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(var j=0;j0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new Ss},t}(),Ov=function(){function t(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new Ss,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.queued=!0}return t.prototype.setRealPlayer=function(t){var e=this;this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(function(n){e._queuedCallbacks[n].forEach(function(e){return ay(t,n,void 0,e)})}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.queued=!1)},t.prototype.getRealPlayer=function(){return this._player},t.prototype.syncPlayerEvents=function(t){var e=this,n=this._player;n.triggerCallback&&t.onStart(function(){return n.triggerCallback("start")}),t.onDone(function(){return e.finish()}),t.onDestroy(function(){return e.destroy()})},t.prototype._queueEvent=function(t,e){cy(this._queuedCallbacks,t,[]).push(e)},t.prototype.onDone=function(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)},t.prototype.onStart=function(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)},t.prototype.onDestroy=function(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)},t.prototype.init=function(){this._player.init()},t.prototype.hasStarted=function(){return!this.queued&&this._player.hasStarted()},t.prototype.play=function(){!this.queued&&this._player.play()},t.prototype.pause=function(){!this.queued&&this._player.pause()},t.prototype.restart=function(){!this.queued&&this._player.restart()},t.prototype.finish=function(){this._player.finish()},t.prototype.destroy=function(){this.destroyed=!0,this._player.destroy()},t.prototype.reset=function(){!this.queued&&this._player.reset()},t.prototype.setPosition=function(t){this.queued||this._player.setPosition(t)},t.prototype.getPosition=function(){return this.queued?0:this._player.getPosition()},Object.defineProperty(t.prototype,"totalTime",{get:function(){return this._player.totalTime},enumerable:!0,configurable:!0}),t.prototype.triggerCallback=function(t){var e=this._player;e.triggerCallback&&e.triggerCallback(t)},t}();function Dv(t){return t&&1===t.nodeType}function Yv(t,e){var n=t.style.display;return t.style.display=null!=e?e:"none",n}function Pv(t,e,n,r,i){var o=[];n.forEach(function(t){return o.push(Yv(t))});var s=[];r.forEach(function(n,r){var o={};n.forEach(function(t){var n=o[t]=e.computeStyle(r,t,i);n&&0!=n.length||(r[kv]=Mv,s.push(r))}),t.set(r,o)});var a=0;return n.forEach(function(t){return Yv(t,o[a++])}),s}function Ev(t,e){var n=new Map;if(t.forEach(function(t){return n.set(t,[])}),0==e.length)return n;var r=new Set(e),i=new Map;return e.forEach(function(t){var e=function t(e){if(!e)return 1;var o=i.get(e);if(o)return o;var s=e.parentNode;return o=n.has(s)?s:r.has(s)?1:t(s),i.set(e,o),o}(t);1!==e&&n.get(e).push(t)}),n}var Av="$$classes";function jv(t,e){if(t.classList)t.classList.add(e);else{var n=t[Av];n||(n=t[Av]={}),n[e]=!0}}function Iv(t,e){if(t.classList)t.classList.remove(e);else{var n=t[Av];n&&delete n[e]}}function Rv(t,e,n){oy(n).onDone(function(){return t.processLeaveNode(e)})}function Hv(t,e,n){var r=n.get(t);if(!r)return!1;var i=e.get(t);return i?r.forEach(function(t){return i.add(t)}):e.set(t,r),n.delete(t),!0}var Fv=function(){function t(t,e){var n=this;this._driver=t,this._triggerCache={},this.onRemovalComplete=function(t,e){},this._transitionEngine=new Tv(t,e),this._timelineEngine=new vv(t,e),this._transitionEngine.onRemovalComplete=function(t,e){return n.onRemovalComplete(t,e)}}return t.prototype.registerTrigger=function(t,e,n,r,i){var o=t+"-"+r,s=this._triggerCache[o];if(!s){var a=[],l=Gy(this._driver,i,a);if(a.length)throw new Error('The animation trigger "'+r+'" has failed to build due to the following errors:\n - '+a.join("\n - "));s=function(t,e){return new mv(t,e)}(r,l),this._triggerCache[o]=s}this._transitionEngine.registerTrigger(e,r,s)},t.prototype.register=function(t,e){this._transitionEngine.register(t,e)},t.prototype.destroy=function(t,e){this._transitionEngine.destroy(t,e)},t.prototype.onInsert=function(t,e,n,r){this._transitionEngine.insertNode(t,e,n,r)},t.prototype.onRemove=function(t,e,n){this._transitionEngine.removeNode(t,e,n)},t.prototype.disableAnimations=function(t,e){this._transitionEngine.markElementAsDisabled(t,e)},t.prototype.process=function(t,e,n,r){if("@"==n.charAt(0)){var i=dy(n);this._timelineEngine.command(i[0],e,i[1],r)}else this._transitionEngine.trigger(t,e,n,r)},t.prototype.listen=function(t,e,n,r,i){if("@"==n.charAt(0)){var o=dy(n);return this._timelineEngine.listen(o[0],e,o[1],i)}return this._transitionEngine.listen(t,e,n,r,i)},t.prototype.flush=function(t){void 0===t&&(t=-1),this._transitionEngine.flush(t)},Object.defineProperty(t.prototype,"players",{get:function(){return this._transitionEngine.players.concat(this._timelineEngine.players)},enumerable:!0,configurable:!0}),t.prototype.whenRenderingDone=function(){return this._transitionEngine.whenRenderingDone()},t}(),Nv=function(t){function e(e,n){var i=t.call(this)||this;return i._nextAnimationId=0,i._renderer=e.createRenderer(n.body,{id:"0",encapsulation:r.S.None,styles:[],data:{animation:[]}}),i}return Object(o.__extends)(e,t),e.prototype.build=function(t){var e=this._nextAnimationId.toString();this._nextAnimationId++;var n=Array.isArray(t)?xs(t):t;return zv(this._renderer,null,e,"register",[n]),new Vv(e,this._renderer)},e}(Ms),Vv=function(t){function e(e,n){var r=t.call(this)||this;return r._id=e,r._renderer=n,r}return Object(o.__extends)(e,t),e.prototype.create=function(t,e){return new Bv(this._id,t,e||{},this._renderer)},e}(function(){}),Bv=function(){function t(t,e,n,r){this.id=t,this.element=e,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}return t.prototype._listen=function(t,e){return this._renderer.listen(this.element,"@@"+this.id+":"+t,e)},t.prototype._command=function(t){for(var e=[],n=1;n=0&&t=11?t:t+12:"sore"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"siang":t<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("PJh5"))},z3hR:function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return e?i[n][0]:i[n][1]}function n(t){if(t=parseInt(t,10),isNaN(t))return!1;if(t<0)return!0;if(t<10)return 4<=t&&t<=7;if(t<100){var e=t%10;return n(0===e?t/10:e)}if(t<1e4){for(;t>=10;)t/=10;return n(t)}return n(t/=1e3)}t.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(t){return n(t.substr(0,t.indexOf(" ")))?"a "+t:"an "+t},past:function(t){return n(t.substr(0,t.indexOf(" ")))?"viru "+t:"virun "+t},s:"e puer Sekonnen",ss:"%d Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d M\xe9int",y:e,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))}},[0]); \ No newline at end of file diff --git a/src/gui/static/dist/main.87fed2fa81359655e221.bundle.js b/src/gui/static/dist/main.87fed2fa81359655e221.bundle.js deleted file mode 100755 index 8a79ffc..0000000 --- a/src/gui/static/dist/main.87fed2fa81359655e221.bundle.js +++ /dev/null @@ -1 +0,0 @@ -webpackJsonp([0],{"+27R":function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={s:["thodde secondanim","thodde second"],ss:[t+" secondanim",t+" second"],m:["eka mintan","ek minute"],mm:[t+" mintanim",t+" mintam"],h:["eka horan","ek hor"],hh:[t+" horanim",t+" horam"],d:["eka disan","ek dis"],dd:[t+" disanim",t+" dis"],M:["eka mhoinean","ek mhoino"],MM:[t+" mhoineanim",t+" mhoine"],y:["eka vorsan","ek voros"],yy:[t+" vorsanim",t+" vorsam"]};return e?i[n][0]:i[n][1]}t.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(t,e){switch(e){case"D":return t+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return t}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(t,e){return 12===t&&(t=0),"rati"===e?t<4?t:t+12:"sokalli"===e?t:"donparam"===e?t>12?t:t+12:"sanje"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"rati":t<12?"sokalli":t<16?"donparam":t<20?"sanje":"rati"}})}(n("PJh5"))},"+3/4":function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("TToO"),i=function(t){function e(e){t.call(this),this.scheduler=e}return Object(r.b)(e,t),e.create=function(t){return new e(t)},e.dispatch=function(t){t.subscriber.complete()},e.prototype._subscribe=function(t){var n=this.scheduler;if(n)return n.schedule(e.dispatch,0,{subscriber:t});t.complete()},e}(n("YaPU").a)},"+7/x":function(t,e,n){!function(t){"use strict";var e={1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"},n={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"};t.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(t){return t+"\u0bb5\u0ba4\u0bc1"},preparse:function(t){return t.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(t,e,n){return t<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":t<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":t<10?" \u0b95\u0bbe\u0bb2\u0bc8":t<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":t<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":t<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(t,e){return 12===t&&(t=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===e?t<2?t:t+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===e||"\u0b95\u0bbe\u0bb2\u0bc8"===e?t:"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===e&&t>=10?t:t+12},week:{dow:0,doy:6}})}(n("PJh5"))},"+CnV":function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(t){var e,r=n("AMGY").a.Symbol;return"function"==typeof r?r.observable?e=r.observable:(e=r("observable"),r.observable=e):e="@@observable",e}()},"/6P1":function(t,e,n){!function(t){"use strict";var e={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function n(t,e,n,r){return e?i(n)[0]:r?i(n)[1]:i(n)[2]}function r(t){return t%10==0||t>10&&t<20}function i(t){return e[t].split("_")}function o(t,e,o,a){var s=t+" ";return 1===t?s+n(0,e,o[0],a):e?s+(r(t)?i(o)[1]:i(o)[0]):a?s+i(o)[1]:s+(r(t)?i(o)[1]:i(o)[2])}t.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadien\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(t,e,n,r){return e?"kelios sekund\u0117s":r?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:o,m:n,mm:o,h:n,hh:o,d:n,dd:o,M:n,MM:o,y:n,yy:o},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(t){return t+"-oji"},week:{dow:1,doy:4}})}(n("PJh5"))},"/bsm":function(t,e,n){!function(t){"use strict";t.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})}(n("PJh5"))},"/iUD":function(t,e,n){"use strict";e.a=function(t){return"function"==typeof t}},"/mhn":function(t,e,n){!function(t){"use strict";var e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},n={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};t.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(t){return t.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0930\u093e\u0924\u093f"===e?t<4?t:t+12:"\u092c\u093f\u0939\u093e\u0928"===e?t:"\u0926\u093f\u0909\u0901\u0938\u094b"===e?t>=10?t:t+12:"\u0938\u093e\u0901\u091d"===e?t+12:void 0},meridiem:function(t,e,n){return t<3?"\u0930\u093e\u0924\u093f":t<12?"\u092c\u093f\u0939\u093e\u0928":t<16?"\u0926\u093f\u0909\u0901\u0938\u094b":t<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}})}(n("PJh5"))},"/nXB":function(t,e,n){"use strict";e.a=function(){for(var t=[],e=0;e1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof l&&(n=t.pop()),null===s&&1===t.length&&t[0]instanceof r.a?t[0]:Object(a.a)(n)(new i.a(t,s))};var r=n("YaPU"),i=n("Veqx"),o=n("1Q68"),a=n("8D5t")},0:function(t,e,n){t.exports=n("x35b")},"0X8Q":function(t,e,n){!function(t){"use strict";t.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(t){return/^ch$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n r\u1ed3i l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n("PJh5"))},"1Bqh":function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("TToO"),i=function(t){function e(e,n){t.call(this),this.subject=e,this.subscriber=n,this.closed=!1}return Object(r.b)(e,t),e.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var t=this.subject,e=t.observers;if(this.subject=null,e&&0!==e.length&&!t.isStopped&&!t.closed){var n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}},e}(n("VwZZ").a)},"1Q68":function(t,e,n){"use strict";e.a=function(t){return t&&"function"==typeof t.schedule}},"2pmY":function(t,e,n){!function(t){"use strict";var e={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},n={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"};t.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(t){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(t)},meridiem:function(t,e,n){return t<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"\u062b\u0627\u0646\u06cc\u0647 d%",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(t){return t.replace(/[\u06f0-\u06f9]/g,function(t){return n[t]}).replace(/\u060c/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}})}(n("PJh5"))},"2s1U":function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i=t+" ";switch(n){case"s":return e||r?"nekaj sekund":"nekaj sekundami";case"ss":return i+(1===t?e?"sekundo":"sekundi":2===t?e||r?"sekundi":"sekundah":t<5?e||r?"sekunde":"sekundah":"sekund");case"m":return e?"ena minuta":"eno minuto";case"mm":return i+(1===t?e?"minuta":"minuto":2===t?e||r?"minuti":"minutama":t<5?e||r?"minute":"minutami":e||r?"minut":"minutami");case"h":return e?"ena ura":"eno uro";case"hh":return i+(1===t?e?"ura":"uro":2===t?e||r?"uri":"urama":t<5?e||r?"ure":"urami":e||r?"ur":"urami");case"d":return e||r?"en dan":"enim dnem";case"dd":return i+(1===t?e||r?"dan":"dnem":2===t?e||r?"dni":"dnevoma":e||r?"dni":"dnevi");case"M":return e||r?"en mesec":"enim mesecem";case"MM":return i+(1===t?e||r?"mesec":"mesecem":2===t?e||r?"meseca":"mesecema":t<5?e||r?"mesece":"meseci":e||r?"mesecev":"meseci");case"y":return e||r?"eno leto":"enim letom";case"yy":return i+(1===t?e||r?"leto":"letom":2===t?e||r?"leti":"letoma":t<5?e||r?"leta":"leti":e||r?"let":"leti")}}t.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},"3CJN":function(t,e,n){!function(t){"use strict";t.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(t){return/^nm$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[M\xf4re om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("PJh5"))},"3IRH":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"3K28":function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],i=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("PJh5"))},"3LKG":function(t,e,n){!function(t){"use strict";t.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n("PJh5"))},"3MVc":function(t,e,n){!function(t){"use strict";var e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},n={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},r=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},i={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},o=function(t){return function(e,n,o,a){var s=r(e),l=i[t][r(e)];return 2===s&&(l=l[n?0:1]),l.replace(/%d/i,e)}},a=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];t.defineLocale("ar",{months:a,monthsShort:a,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(t){return"\u0645"===t},meridiem:function(t,e,n){return t<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:o("s"),ss:o("s"),m:o("m"),mm:o("m"),h:o("h"),hh:o("h"),d:o("d"),dd:o("d"),M:o("M"),MM:o("M"),y:o("y"),yy:o("y")},preparse:function(t){return t.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(t){return n[t]}).replace(/\u060c/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(n("PJh5"))},"3a3m":function(t,e,n){"use strict";var r=n("TToO"),i=n("g5jc"),o=n("YaPU"),a=n("OVmG"),s=n("VwZZ");function l(){return function(t){return t.lift(new u(t))}}var u=function(){function t(t){this.connectable=t}return t.prototype.call=function(t,e){var n=this.connectable;n._refCount++;var r=new c(t,n),i=e.subscribe(r);return r.closed||(r.connection=n.connect()),i},t}(),c=function(t){function e(e,n){t.call(this,e),this.connectable=n}return Object(r.b)(e,t),e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._refCount;if(e<=0)this.connection=null;else if(t._refCount=e-1,e>1)this.connection=null;else{var n=this.connection,r=t._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}else this.connection=null},e}(a.a),d=function(t){function e(e,n){t.call(this),this.source=e,this.subjectFactory=n,this._refCount=0,this._isComplete=!1}return Object(r.b)(e,t),e.prototype._subscribe=function(t){return this.getSubject().subscribe(t)},e.prototype.getSubject=function(){var t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject},e.prototype.connect=function(){var t=this._connection;return t||(this._isComplete=!1,(t=this._connection=new s.a).add(this.source.subscribe(new p(this.getSubject(),this))),t.closed?(this._connection=null,t=s.a.EMPTY):this._connection=t),t},e.prototype.refCount=function(){return l()(this)},e}(o.a).prototype,h={operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:d._subscribe},_isComplete:{value:d._isComplete,writable:!0},getSubject:{value:d.getSubject},connect:{value:d.connect},refCount:{value:d.refCount}},p=function(t){function e(e,n){t.call(this,e),this.connectable=n}return Object(r.b)(e,t),e.prototype._error=function(e){this._unsubscribe(),t.prototype._error.call(this,e)},e.prototype._complete=function(){this.connectable._isComplete=!0,this._unsubscribe(),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}},e}(i.b);function f(){return new i.a}e.a=function(){return function(t){return l()((e=f,function(t){var n;n="function"==typeof e?e:function(){return e};var r=Object.create(t,h);return r.source=t,r.subjectFactory=n,r})(t));var e}}},"3hfc":function(t,e,n){!function(t){"use strict";function e(t,e,n){var r,i;return"m"===n?e?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===n?e?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":t+" "+(r=+t,i={ss:e?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:e?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:e?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[n].split("_"),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}t.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:e,mm:e,h:e,hh:e,d:"\u0434\u0437\u0435\u043d\u044c",dd:e,M:"\u043c\u0435\u0441\u044f\u0446",MM:e,y:"\u0433\u043e\u0434",yy:e},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(t){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(t)},meridiem:function(t,e,n){return t<4?"\u043d\u043e\u0447\u044b":t<12?"\u0440\u0430\u043d\u0456\u0446\u044b":t<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t%10!=2&&t%10!=3||t%100==12||t%100==13?t+"-\u044b":t+"-\u0456";case"D":return t+"-\u0433\u0430";default:return t}},week:{dow:1,doy:7}})}(n("PJh5"))},"5Omq":function(t,e,n){!function(t){"use strict";t.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s gea\u017ees",past:"ma\u014bit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta m\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},"5SNd":function(t,e,n){!function(t){"use strict";var e={0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"};t.defineLocale("tg",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u041f\u0430\u0433\u043e\u04b3 \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0448\u0430\u0431"===e?t<4?t:t+12:"\u0441\u0443\u0431\u04b3"===e?t:"\u0440\u04ef\u0437"===e?t>=11?t:t+12:"\u0431\u0435\u0433\u043e\u04b3"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0448\u0430\u0431":t<11?"\u0441\u0443\u0431\u04b3":t<16?"\u0440\u04ef\u0437":t<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(t){return t+(e[t]||e[t%10]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("PJh5"))},"5j66":function(t,e,n){!function(t){"use strict";var e={1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"},n={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"};t.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysMin:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u1796\u17d2\u179a\u17b9\u1780|\u179b\u17d2\u1784\u17b6\u1785/,isPM:function(t){return"\u179b\u17d2\u1784\u17b6\u1785"===t},meridiem:function(t,e,n){return t<12?"\u1796\u17d2\u179a\u17b9\u1780":"\u179b\u17d2\u1784\u17b6\u1785"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},dayOfMonthOrdinalParse:/\u1791\u17b8\d{1,2}/,ordinal:"\u1791\u17b8%d",preparse:function(t){return t.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})}(n("PJh5"))},"5vPg":function(t,e,n){!function(t){"use strict";var e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},n={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function r(t,e,n,r){var i="";if(e)switch(n){case"s":i="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":i="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":i="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":i="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":i="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":i="%d \u0924\u093e\u0938";break;case"d":i="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":i="%d \u0926\u093f\u0935\u0938";break;case"M":i="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":i="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":i="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":i="%d \u0935\u0930\u094d\u0937\u0947"}else switch(n){case"s":i="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":i="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":i="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":i="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":i="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":i="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":i="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":i="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":i="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":i="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":i="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":i="%d \u0935\u0930\u094d\u0937\u093e\u0902"}return i.replace(/%d/i,t)}t.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},preparse:function(t){return t.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0930\u093e\u0924\u094d\u0930\u0940|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0930\u093e\u0924\u094d\u0930\u0940"===e?t<4?t:t+12:"\u0938\u0915\u093e\u0933\u0940"===e?t:"\u0926\u0941\u092a\u093e\u0930\u0940"===e?t>=10?t:t+12:"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0930\u093e\u0924\u094d\u0930\u0940":t<10?"\u0938\u0915\u093e\u0933\u0940":t<17?"\u0926\u0941\u092a\u093e\u0930\u0940":t<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}})}(n("PJh5"))},"6cf8":function(t,e,n){!function(t){"use strict";var e={0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"};t.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u0435 \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(t){return t+(e[t]||e[t%10]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("PJh5"))},"7LV+":function(t,e,n){!function(t){"use strict";var e="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_"),n="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_");function r(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function i(t,e,n){var i=t+" ";switch(n){case"ss":return i+(r(t)?"sekundy":"sekund");case"m":return e?"minuta":"minut\u0119";case"mm":return i+(r(t)?"minuty":"minut");case"h":return e?"godzina":"godzin\u0119";case"hh":return i+(r(t)?"godziny":"godzin");case"MM":return i+(r(t)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return i+(r(t)?"lata":"lat")}}t.defineLocale("pl",{months:function(t,r){return t?""===r?"("+n[t.month()]+"|"+e[t.month()]+")":/D MMMM/.test(r)?n[t.month()]:e[t.month()]:e},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:i,m:i,mm:i,h:i,hh:i,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:i,y:"rok",yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},"7MHZ":function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],i=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},"7OnE":function(t,e,n){!function(t){"use strict";var e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},n={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"};t.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(t){return"\u0645"===t},meridiem:function(t,e,n){return t<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(t){return t.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(t){return n[t]}).replace(/\u060c/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}})}(n("PJh5"))},"7Q8x":function(t,e,n){!function(t){"use strict";t.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(t,e,n){return t<11?"ekuseni":t<15?"emini":t<19?"entsambama":"ebusuku"},meridiemHour:function(t,e){return 12===t&&(t=0),"ekuseni"===e?t:"emini"===e?t>=11?t:t+12:"entsambama"===e||"ebusuku"===e?0===t?0:t+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(n("PJh5"))},"8D5t":function(t,e,n){"use strict";var r=n("Qnch");function i(t){return t}e.a=function(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),Object(r.a)(i,null,t)}},"8v14":function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}t.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},ALEw:function(t,e,n){!function(t){"use strict";t.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("PJh5"))},AMGY:function(t,e,n){"use strict";(function(t){n.d(e,"a",function(){return o});var r="undefined"!=typeof window&&window,i="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,o=r||"undefined"!=typeof t&&t||i}).call(e,n("DuR2"))},Ab7C:function(t,e,n){!function(t){"use strict";t.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u043e\u0441\u043b\u0435 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-\u0435\u0432":0===n?t+"-\u0435\u043d":n>10&&n<20?t+"-\u0442\u0438":1===e?t+"-\u0432\u0438":2===e?t+"-\u0440\u0438":7===e||8===e?t+"-\u043c\u0438":t+"-\u0442\u0438"},week:{dow:1,doy:7}})}(n("PJh5"))},AoDM:function(t,e,n){!function(t){"use strict";t.defineLocale("pt-br",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba"})}(n("PJh5"))},BEem:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}})}(n("PJh5"))},BX3T:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=Array.isArray||function(t){return t&&"number"==typeof t.length}},BbgG:function(t,e,n){!function(t){"use strict";t.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u51cc\u6668"===e||"\u65e9\u4e0a"===e||"\u4e0a\u5348"===e?t:"\u4e2d\u5348"===e?t>=11?t:t+12:"\u4e0b\u5348"===e||"\u665a\u4e0a"===e?t+12:void 0},meridiem:function(t,e,n){var r=100*t+e;return r<600?"\u51cc\u6668":r<900?"\u65e9\u4e0a":r<1130?"\u4e0a\u5348":r<1230?"\u4e2d\u5348":r<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"\u65e5";case"M":return t+"\u6708";case"w":case"W":return t+"\u9031";default:return t}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}})}(n("PJh5"))},Bp2f:function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],i=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("PJh5"))},C7av:function(t,e,n){!function(t){"use strict";t.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_m\xe5n_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},CFqe:function(t,e,n){!function(t){"use strict";t.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(t,e){return t?"string"==typeof e&&/D/.test(e.substring(0,e.indexOf("MMMM")))?this._monthsGenitiveEl[t.month()]:this._monthsNominativeEl[t.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(t,e,n){return t>11?n?"\u03bc\u03bc":"\u039c\u039c":n?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(t){return"\u03bc"===(t+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(t,e){var n,r=this._calendarEl[t],i=e&&e.hours();return((n=r)instanceof Function||"[object Function]"===Object.prototype.toString.call(n))&&(r=r.apply(e)),r.replace("{}",i%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}})}(n("PJh5"))},CqHt:function(t,e,n){!function(t){"use strict";function e(t,e,n,r){switch(n){case"s":return e?"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434":"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d";case"ss":return t+(e?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return t+(e?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return t+(e?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return t+(e?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return t+(e?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return t+(e?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return t}}t.defineLocale("mn",{months:"\u041d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0425\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u04e9\u0440\u04e9\u0432\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0417\u0443\u0440\u0433\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u043e\u043b\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u041d\u0430\u0439\u043c\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0415\u0441\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u043d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u0445\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440".split("_"),monthsShort:"1 \u0441\u0430\u0440_2 \u0441\u0430\u0440_3 \u0441\u0430\u0440_4 \u0441\u0430\u0440_5 \u0441\u0430\u0440_6 \u0441\u0430\u0440_7 \u0441\u0430\u0440_8 \u0441\u0430\u0440_9 \u0441\u0430\u0440_10 \u0441\u0430\u0440_11 \u0441\u0430\u0440_12 \u0441\u0430\u0440".split("_"),monthsParseExact:!0,weekdays:"\u041d\u044f\u043c_\u0414\u0430\u0432\u0430\u0430_\u041c\u044f\u0433\u043c\u0430\u0440_\u041b\u0445\u0430\u0433\u0432\u0430_\u041f\u04af\u0440\u044d\u0432_\u0411\u0430\u0430\u0441\u0430\u043d_\u0411\u044f\u043c\u0431\u0430".split("_"),weekdaysShort:"\u041d\u044f\u043c_\u0414\u0430\u0432_\u041c\u044f\u0433_\u041b\u0445\u0430_\u041f\u04af\u0440_\u0411\u0430\u0430_\u0411\u044f\u043c".split("_"),weekdaysMin:"\u041d\u044f_\u0414\u0430_\u041c\u044f_\u041b\u0445_\u041f\u04af_\u0411\u0430_\u0411\u044f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D",LLL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm",LLLL:"dddd, YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm"},meridiemParse:/\u04ae\u04e8|\u04ae\u0425/i,isPM:function(t){return"\u04ae\u0425"===t},meridiem:function(t,e,n){return t<12?"\u04ae\u04e8":"\u04ae\u0425"},calendar:{sameDay:"[\u04e8\u043d\u04e9\u04e9\u0434\u04e9\u0440] LT",nextDay:"[\u041c\u0430\u0440\u0433\u0430\u0430\u0448] LT",nextWeek:"[\u0418\u0440\u044d\u0445] dddd LT",lastDay:"[\u04e8\u0447\u0438\u0433\u0434\u04e9\u0440] LT",lastWeek:"[\u04e8\u043d\u0433\u04e9\u0440\u0441\u04e9\u043d] dddd LT",sameElse:"L"},relativeTime:{future:"%s \u0434\u0430\u0440\u0430\u0430",past:"%s \u04e9\u043c\u043d\u04e9",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+" \u04e9\u0434\u04e9\u0440";default:return t}}})}(n("PJh5"))},DOkx:function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}t.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},DSXN:function(t,e,n){!function(t){"use strict";t.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(n("PJh5"))},DuR2:function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},ETHv:function(t,e,n){!function(t){"use strict";var e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},n={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};t.defineLocale("hi",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(t){return t.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0930\u093e\u0924"===e?t<4?t:t+12:"\u0938\u0941\u092c\u0939"===e?t:"\u0926\u094b\u092a\u0939\u0930"===e?t>=10?t:t+12:"\u0936\u093e\u092e"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0930\u093e\u0924":t<10?"\u0938\u0941\u092c\u0939":t<17?"\u0926\u094b\u092a\u0939\u0930":t<20?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}})}(n("PJh5"))},"F+2e":function(t,e,n){!function(t){"use strict";var e={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},n={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"};t.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u1010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(t){return t.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})}(n("PJh5"))},FKXc:function(t,e,n){!function(t){"use strict";t.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(t){return(/^[0-9].+$/.test(t)?"tra":"in")+" "+t},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},FRPF:function(t,e,n){!function(t){"use strict";t.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}})}(n("PJh5"))},FlzV:function(t,e,n){!function(t){"use strict";t.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},Fpqq:function(t,e,n){!function(t){"use strict";t.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"e":1===e?"a":2===e?"a":"e")},week:{dow:1,doy:4}})}(n("PJh5"))},Frex:function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}t.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},FuaP:function(t,e,n){!function(t){"use strict";t.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(t){return 0===t.indexOf("un")?"n"+t:"en "+t},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},"G++c":function(t,e,n){!function(t){"use strict";t.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("PJh5"))},GK6M:function(t,e,n){"use strict";e.a=function(t){return r=t,o};var r,i=n("fKB6");function o(){try{return r.apply(this,arguments)}catch(t){return i.a.e=t,i.a}}},GrS7:function(t,e,n){!function(t){"use strict";t.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(t){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(t)},meridiem:function(t){return t<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":t<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":t<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(t,e){switch(e){case"DDD":case"w":case"W":case"DDDo":return 1===t?t+"-\u056b\u0576":t+"-\u0580\u0564";default:return t}},week:{dow:1,doy:7}})}(n("PJh5"))},INcR:function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");t.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"MMMM [de] D [de] YYYY",LLL:"MMMM [de] D [de] YYYY h:mm A",LLLL:"dddd, MMMM [de] D [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}})}(n("PJh5"))},Jnfr:function(t,e){function n(t){return Promise.resolve().then(function(){throw new Error("Cannot find module '"+t+"'.")})}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="Jnfr"},JwiF:function(t,e,n){!function(t){"use strict";t.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(t,e){return 12===t&&(t=0),"enjing"===e?t:"siyang"===e?t>=11?t:t+12:"sonten"===e||"ndalu"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"enjing":t<15?"siyang":t<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})}(n("PJh5"))},LT9G:function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],i=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},Lgqo:function(t,e,n){!function(t){"use strict";t.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(t){return t+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(t){return"\u0db4.\u0dc0."===t||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===t},meridiem:function(t,e,n){return t>11?n?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":n?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}})}(n("PJh5"))},N3vo:function(t,e,n){!function(t){"use strict";t.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(t){return t+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(t)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(t)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}})}(n("PJh5"))},N4j0:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(t){return t&&"number"==typeof t.length}},Nd3h:function(t,e,n){!function(t){"use strict";t.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_a\u016dg_sep_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(t){return"p"===t.charAt(0).toLowerCase()},meridiem:function(t,e,n){return t>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(n("PJh5"))},Nlnz:function(t,e,n){!function(t){"use strict";t.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c42\u0c32\u0c46\u0c56_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c42\u0c32\u0c46\u0c56_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===e?t<4?t:t+12:"\u0c09\u0c26\u0c2f\u0c02"===e?t:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===e?t>=10?t:t+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":t<10?"\u0c09\u0c26\u0c2f\u0c02":t<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":t<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}})}(n("PJh5"))},Nzt2:function(t,e,n){!function(t){"use strict";t.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(t){return 2===t?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":t+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(t){return 2===t?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":t+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(t){return 2===t?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":t+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(t){return 2===t?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":t%10==0&&10!==t?t+" \u05e9\u05e0\u05d4":t+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(t){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(t)},meridiem:function(t,e,n){return t<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":t<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":t<12?n?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":t<18?n?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}})}(n("PJh5"))},ORgI:function(t,e,n){!function(t){"use strict";t.defineLocale("ja",{months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5(ddd) HH:mm"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(t){return"\u5348\u5f8c"===t},meridiem:function(t,e,n){return t<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(t){return t.week()9?t(e%10):e}(t)){case 1:case 3:case 4:case 5:case 9:return t+" bloaz";default:return t+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(t){return t+(1===t?"a\xf1":"vet")},week:{dow:1,doy:4}})}(n("PJh5"))},OUMt:function(t,e,n){!function(t){"use strict";var e="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),n="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function r(t){return t>1&&t<5}function i(t,e,n,i){var o=t+" ";switch(n){case"s":return e||i?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return e||i?o+(r(t)?"sekundy":"sek\xfand"):o+"sekundami";case"m":return e?"min\xfata":i?"min\xfatu":"min\xfatou";case"mm":return e||i?o+(r(t)?"min\xfaty":"min\xfat"):o+"min\xfatami";case"h":return e?"hodina":i?"hodinu":"hodinou";case"hh":return e||i?o+(r(t)?"hodiny":"hod\xedn"):o+"hodinami";case"d":return e||i?"de\u0148":"d\u0148om";case"dd":return e||i?o+(r(t)?"dni":"dn\xed"):o+"d\u0148ami";case"M":return e||i?"mesiac":"mesiacom";case"MM":return e||i?o+(r(t)?"mesiace":"mesiacov"):o+"mesiacmi";case"y":return e||i?"rok":"rokom";case"yy":return e||i?o+(r(t)?"roky":"rokov"):o+"rokmi"}}t.defineLocale("sk",{months:e,monthsShort:n,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},OVPi:function(t,e,n){!function(t){"use strict";t.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minutt",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0i",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},OVmG:function(t,e,n){"use strict";n.d(e,"a",function(){return l});var r=n("TToO"),i=n("/iUD"),o=n("VwZZ"),a=n("t7NR"),s=n("tLDX"),l=function(t){function e(e,n,r){switch(t.call(this),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=a.a;break;case 1:if(!e){this.destination=a.a;break}if("object"==typeof e){if(c(e)){var i=e[s.a]();this.syncErrorThrowable=i.syncErrorThrowable,this.destination=i,i.add(this)}else this.syncErrorThrowable=!0,this.destination=new u(this,e);break}default:this.syncErrorThrowable=!0,this.destination=new u(this,e,n,r)}}return Object(r.b)(e,t),e.prototype[s.a]=function(){return this},e.create=function(t,n,r){var i=new e(t,n,r);return i.syncErrorThrowable=!1,i},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this))},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){this.destination.error(t),this.unsubscribe()},e.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},e.prototype._unsubscribeAndRecycle=function(){var t=this._parent,e=this._parents;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=t,this._parents=e,this},e}(o.a),u=function(t){function e(e,n,r,o){var s;t.call(this),this._parentSubscriber=e;var l=this;Object(i.a)(n)?s=n:n&&(s=n.next,r=n.error,o=n.complete,n!==a.a&&(l=Object.create(n),Object(i.a)(l.unsubscribe)&&this.add(l.unsubscribe.bind(l)),l.unsubscribe=this.unsubscribe.bind(this))),this._context=l,this._next=s,this._error=r,this._complete=o}return Object(r.b)(e,t),e.prototype.next=function(t){if(!this.isStopped&&this._next){var e=this._parentSubscriber;e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}},e.prototype.error=function(t){if(!this.isStopped){var e=this._parentSubscriber;if(this._error)e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else{if(!e.syncErrorThrowable)throw this.unsubscribe(),t;e.syncErrorValue=t,e.syncErrorThrown=!0,this.unsubscribe()}}},e.prototype.complete=function(){var t=this;if(!this.isStopped){var e=this._parentSubscriber;if(this._complete){var n=function(){return t._complete.call(t._context)};e.syncErrorThrowable?(this.__tryOrSetError(e,n),this.unsubscribe()):(this.__tryOrUnsub(n),this.unsubscribe())}else this.unsubscribe()}},e.prototype.__tryOrUnsub=function(t,e){try{t.call(this._context,e)}catch(t){throw this.unsubscribe(),t}},e.prototype.__tryOrSetError=function(t,e,n){try{e.call(this._context,n)}catch(e){return t.syncErrorValue=e,t.syncErrorThrown=!0,!0}return!1},e.prototype._unsubscribe=function(){var t=this._parentSubscriber;this._context=null,this._parentSubscriber=null,t.unsubscribe()},e}(l);function c(t){return t instanceof l||"syncErrorThrowable"in t&&t[s.a]}},PIsA:function(t,e,n){"use strict";var r=n("AMGY"),i=n("N4j0"),o=n("cQXm"),a=n("dgOU"),s=n("YaPU"),l=n("etqZ"),u=n("TToO"),c=function(t){function e(e,n,r){t.call(this),this.parent=e,this.outerValue=n,this.outerIndex=r,this.index=0}return Object(u.b)(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(n("OVmG").a),d=n("+CnV");e.a=function(t,e,n,u){var h=new c(t,n,u);if(h.closed)return null;if(e instanceof s.a)return e._isScalar?(h.next(e.value),h.complete(),null):(h.syncErrorThrowable=!0,e.subscribe(h));if(Object(i.a)(e)){for(var p=0,f=e.length;p>>0,r=0;r0)for(n=0;n=0?n?"+":"":"-")+Math.pow(10,Math.max(0,e-r.length)).toString().substr(1)+r}var F=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,V=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,z={},W={};function B(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(W[t]=i),e&&(W[e[0]]=function(){return N(i.apply(this,arguments),e[1],e[2])}),n&&(W[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function U(t,e){return t.isValid()?(e=q(e,t.localeData()),z[e]=z[e]||function(t){var e,n,r,i=t.match(F);for(e=0,n=i.length;e=0&&V.test(t);)t=t.replace(V,r),V.lastIndex=0,n-=1;return t}var J=/\d/,G=/\d\d/,K=/\d{3}/,X=/\d{4}/,Z=/[+-]?\d{6}/,Q=/\d\d?/,$=/\d\d\d\d?/,tt=/\d\d\d\d\d\d?/,et=/\d{1,3}/,nt=/\d{1,4}/,rt=/[+-]?\d{1,6}/,it=/\d+/,ot=/[+-]?\d+/,at=/Z|[+-]\d\d:?\d\d/gi,st=/Z|[+-]\d\d(?::?\d\d)?/gi,lt=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,ut={};function ct(t,e,n){ut[t]=O(e)?e:function(t,r){return t&&n?n:e}}function dt(t,e){return d(ut,t)?ut[t](e._strict,e._locale):new RegExp(ht(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,r,i){return e||n||r||i})))}function ht(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var pt={};function ft(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),l(e)&&(r=function(t,n){n[e]=k(t)}),n=0;n68?1900:2e3)};var Tt,Dt=Ot("FullYear",!0);function Ot(t,e){return function(n){return null!=n?(Pt(this,t,n),i.updateOffset(this,e),this):Yt(this,t)}}function Yt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Pt(t,e,n){t.isValid()&&!isNaN(n)&&("FullYear"===e&&St(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),Et(n,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function Et(t,e){if(isNaN(t)||isNaN(e))return NaN;var n=(e%12+12)%12;return t+=(e-n)/12,1===n?St(t)?29:28:31-n%7%2}Tt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function Wt(t,e,n){var r=7+e-n;return-(7+zt(t,0,r).getUTCDay()-e)%7+r-1}function Bt(t,e,n,r,i){var o,a,s=1+7*(e-1)+(7+n-r)%7+Wt(t,r,i);return s<=0?a=Ct(o=t-1)+s:s>Ct(t)?(o=t+1,a=s-Ct(t)):(o=t,a=s),{year:o,dayOfYear:a}}function Ut(t,e,n){var r,i,o=Wt(t.year(),e,n),a=Math.floor((t.dayOfYear()-o-1)/7)+1;return a<1?r=a+qt(i=t.year()-1,e,n):a>qt(t.year(),e,n)?(r=a-qt(t.year(),e,n),i=t.year()+1):(i=t.year(),r=a),{week:r,year:i}}function qt(t,e,n){var r=Wt(t,e,n),i=Wt(t+1,e,n);return(Ct(t)-r+i)/7}B("w",["ww",2],"wo","week"),B("W",["WW",2],"Wo","isoWeek"),j("week","w"),j("isoWeek","W"),R("week",5),R("isoWeek",5),ct("w",Q),ct("ww",Q,G),ct("W",Q),ct("WW",Q,G),_t(["w","ww","W","WW"],function(t,e,n,r){e[r.substr(0,1)]=k(t)}),B("d",0,"do","day"),B("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),B("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),B("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),B("e",0,0,"weekday"),B("E",0,0,"isoWeekday"),j("day","d"),j("weekday","e"),j("isoWeekday","E"),R("day",11),R("weekday",11),R("isoWeekday",11),ct("d",Q),ct("e",Q),ct("E",Q),ct("dd",function(t,e){return e.weekdaysMinRegex(t)}),ct("ddd",function(t,e){return e.weekdaysShortRegex(t)}),ct("dddd",function(t,e){return e.weekdaysRegex(t)}),_t(["dd","ddd","dddd"],function(t,e,n,r){var i=n._locale.weekdaysParse(t,r,n._strict);null!=i?e.d=i:f(n).invalidWeekday=t}),_t(["d","e","E"],function(t,e,n,r){e[r]=k(t)});var Jt="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Gt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Kt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Xt=lt,Zt=lt,Qt=lt;function $t(){function t(t,e){return e.length-t.length}var e,n,r,i,o,a=[],s=[],l=[],u=[];for(e=0;e<7;e++)n=p([2e3,1]).day(e),r=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),o=this.weekdays(n,""),a.push(r),s.push(i),l.push(o),u.push(r),u.push(i),u.push(o);for(a.sort(t),s.sort(t),l.sort(t),u.sort(t),e=0;e<7;e++)s[e]=ht(s[e]),l[e]=ht(l[e]),u[e]=ht(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function te(){return this.hours()%12||12}function ee(t,e){B(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function ne(t,e){return e._meridiemParse}B("H",["HH",2],0,"hour"),B("h",["hh",2],0,te),B("k",["kk",2],0,function(){return this.hours()||24}),B("hmm",0,0,function(){return""+te.apply(this)+N(this.minutes(),2)}),B("hmmss",0,0,function(){return""+te.apply(this)+N(this.minutes(),2)+N(this.seconds(),2)}),B("Hmm",0,0,function(){return""+this.hours()+N(this.minutes(),2)}),B("Hmmss",0,0,function(){return""+this.hours()+N(this.minutes(),2)+N(this.seconds(),2)}),ee("a",!0),ee("A",!1),j("hour","h"),R("hour",13),ct("a",ne),ct("A",ne),ct("H",Q),ct("h",Q),ct("k",Q),ct("HH",Q,G),ct("hh",Q,G),ct("kk",Q,G),ct("hmm",$),ct("hmmss",tt),ct("Hmm",$),ct("Hmmss",tt),ft(["H","HH"],bt),ft(["k","kk"],function(t,e,n){var r=k(t);e[bt]=24===r?0:r}),ft(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),ft(["h","hh"],function(t,e,n){e[bt]=k(t),f(n).bigHour=!0}),ft("hmm",function(t,e,n){var r=t.length-2;e[bt]=k(t.substr(0,r)),e[wt]=k(t.substr(r)),f(n).bigHour=!0}),ft("hmmss",function(t,e,n){var r=t.length-4,i=t.length-2;e[bt]=k(t.substr(0,r)),e[wt]=k(t.substr(r,2)),e[Mt]=k(t.substr(i)),f(n).bigHour=!0}),ft("Hmm",function(t,e,n){var r=t.length-2;e[bt]=k(t.substr(0,r)),e[wt]=k(t.substr(r))}),ft("Hmmss",function(t,e,n){var r=t.length-4,i=t.length-2;e[bt]=k(t.substr(0,r)),e[wt]=k(t.substr(r,2)),e[Mt]=k(t.substr(i))});var re,ie=Ot("Hours",!0),oe={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:At,monthsShort:It,week:{dow:0,doy:6},weekdays:Jt,weekdaysMin:Kt,weekdaysShort:Gt,meridiemParse:/[ap]\.?m?\.?/i},ae={},se={};function le(t){return t?t.toLowerCase().replace("_","-"):t}function ue(e){var r=null;if(!ae[e]&&"undefined"!=typeof t&&t&&t.exports)try{r=re._abbr,n("uslO")("./"+e),ce(r)}catch(t){}return ae[e]}function ce(t,e){var n;return t&&((n=s(e)?he(t):de(t,e))?re=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),re._abbr}function de(t,e){if(null!==e){var n,r=oe;if(e.abbr=t,null!=ae[t])D("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=ae[t]._config;else if(null!=e.parentLocale)if(null!=ae[e.parentLocale])r=ae[e.parentLocale]._config;else{if(null==(n=ue(e.parentLocale)))return se[e.parentLocale]||(se[e.parentLocale]=[]),se[e.parentLocale].push({name:t,config:e}),null;r=n._config}return ae[t]=new P(Y(r,e)),se[t]&&se[t].forEach(function(t){de(t.name,t.config)}),ce(t),ae[t]}return delete ae[t],null}function he(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return re;if(!o(t)){if(e=ue(t))return e;t=[t]}return function(t){for(var e,n,r,i,o=0;o0;){if(r=ue(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&x(i,n,!0)>=e-1)break;e--}o++}return re}(t)}function pe(t){var e,n=t._a;return n&&-2===f(t).overflow&&(e=n[yt]<0||n[yt]>11?yt:n[vt]<1||n[vt]>Et(n[gt],n[yt])?vt:n[bt]<0||n[bt]>24||24===n[bt]&&(0!==n[wt]||0!==n[Mt]||0!==n[kt])?bt:n[wt]<0||n[wt]>59?wt:n[Mt]<0||n[Mt]>59?Mt:n[kt]<0||n[kt]>999?kt:-1,f(t)._overflowDayOfYear&&(evt)&&(e=vt),f(t)._overflowWeeks&&-1===e&&(e=xt),f(t)._overflowWeekday&&-1===e&&(e=Lt),f(t).overflow=e),t}function fe(t,e,n){return null!=t?t:null!=e?e:n}function _e(t){var e,n,r,o,a,s=[];if(!t._d){for(r=function(t){var e=new Date(i.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[vt]&&null==t._a[yt]&&function(t){var e,n,r,i,o,a,s,l;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)o=1,a=4,n=fe(e.GG,t._a[gt],Ut(De(),1,4).year),r=fe(e.W,1),((i=fe(e.E,1))<1||i>7)&&(l=!0);else{o=t._locale._week.dow,a=t._locale._week.doy;var u=Ut(De(),o,a);n=fe(e.gg,t._a[gt],u.year),r=fe(e.w,u.week),null!=e.d?((i=e.d)<0||i>6)&&(l=!0):null!=e.e?(i=e.e+o,(e.e<0||e.e>6)&&(l=!0)):i=o}r<1||r>qt(n,o,a)?f(t)._overflowWeeks=!0:null!=l?f(t)._overflowWeekday=!0:(s=Bt(n,r,i,o,a),t._a[gt]=s.year,t._dayOfYear=s.dayOfYear)}(t),null!=t._dayOfYear&&(a=fe(t._a[gt],r[gt]),(t._dayOfYear>Ct(a)||0===t._dayOfYear)&&(f(t)._overflowDayOfYear=!0),n=zt(a,0,t._dayOfYear),t._a[yt]=n.getUTCMonth(),t._a[vt]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=r[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[bt]&&0===t._a[wt]&&0===t._a[Mt]&&0===t._a[kt]&&(t._nextDay=!0,t._a[bt]=0),t._d=(t._useUTC?zt:function(t,e,n,r,i,o,a){var s=new Date(t,e,n,r,i,o,a);return t<100&&t>=0&&isFinite(s.getFullYear())&&s.setFullYear(t),s}).apply(null,s),o=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[bt]=24),t._w&&"undefined"!=typeof t._w.d&&t._w.d!==o&&(f(t).weekdayMismatch=!0)}}var me=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ge=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ye=/Z|[+-]\d\d(?::?\d\d)?/,ve=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],be=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],we=/^\/?Date\((\-?\d+)/i;function Me(t){var e,n,r,i,o,a,s=t._i,l=me.exec(s)||ge.exec(s);if(l){for(f(t).iso=!0,e=0,n=ve.length;e0&&f(t).unusedInput.push(a),s=s.slice(s.indexOf(n)+n.length),u+=n.length),W[o]?(n?f(t).empty=!1:f(t).unusedTokens.push(o),mt(o,n,t)):t._strict&&!n&&f(t).unusedTokens.push(o);f(t).charsLeftOver=l-u,s.length>0&&f(t).unusedInput.push(s),t._a[bt]<=12&&!0===f(t).bigHour&&t._a[bt]>0&&(f(t).bigHour=void 0),f(t).parsedDateParts=t._a.slice(0),f(t).meridiem=t._meridiem,t._a[bt]=(c=t._locale,d=t._a[bt],null==(h=t._meridiem)?d:null!=c.meridiemHour?c.meridiemHour(d,h):null!=c.isPM?((p=c.isPM(h))&&d<12&&(d+=12),p||12!==d||(d=0),d):d),_e(t),pe(t)}else Le(t);else Me(t);var c,d,h,p}function Se(t){var e=t._i,n=t._f;return t._locale=t._locale||he(t._l),null===e||void 0===n&&""===e?m({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),w(e)?new b(pe(e)):(u(e)?t._d=e:o(n)?function(t){var e,n,r,i,o;if(0===t._f.length)return f(t).invalidFormat=!0,void(t._d=new Date(NaN));for(i=0;ithis?this:t:m()});function Pe(t,e){var n,r;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return De();for(n=e[0],r=1;r(o=qt(t,r,i))&&(e=o),(function(t,e,n,r,i){var o=Bt(t,e,n,r,i),a=zt(o.year,0,o.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}).call(this,t,e,n,r,i))}B(0,["gg",2],0,function(){return this.weekYear()%100}),B(0,["GG",2],0,function(){return this.isoWeekYear()%100}),nn("gggg","weekYear"),nn("ggggg","weekYear"),nn("GGGG","isoWeekYear"),nn("GGGGG","isoWeekYear"),j("weekYear","gg"),j("isoWeekYear","GG"),R("weekYear",1),R("isoWeekYear",1),ct("G",ot),ct("g",ot),ct("GG",Q,G),ct("gg",Q,G),ct("GGGG",nt,X),ct("gggg",nt,X),ct("GGGGG",rt,Z),ct("ggggg",rt,Z),_t(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,r){e[r.substr(0,2)]=k(t)}),_t(["gg","GG"],function(t,e,n,r){e[r]=i.parseTwoDigitYear(t)}),B("Q",0,"Qo","quarter"),j("quarter","Q"),R("quarter",7),ct("Q",J),ft("Q",function(t,e){e[yt]=3*(k(t)-1)}),B("D",["DD",2],"Do","date"),j("date","D"),R("date",9),ct("D",Q),ct("DD",Q,G),ct("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),ft(["D","DD"],vt),ft("Do",function(t,e){e[vt]=k(t.match(Q)[0])});var on=Ot("Date",!0);B("DDD",["DDDD",3],"DDDo","dayOfYear"),j("dayOfYear","DDD"),R("dayOfYear",4),ct("DDD",et),ct("DDDD",K),ft(["DDD","DDDD"],function(t,e,n){n._dayOfYear=k(t)}),B("m",["mm",2],0,"minute"),j("minute","m"),R("minute",14),ct("m",Q),ct("mm",Q,G),ft(["m","mm"],wt);var an=Ot("Minutes",!1);B("s",["ss",2],0,"second"),j("second","s"),R("second",15),ct("s",Q),ct("ss",Q,G),ft(["s","ss"],Mt);var sn,ln=Ot("Seconds",!1);for(B("S",0,0,function(){return~~(this.millisecond()/100)}),B(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),B(0,["SSS",3],0,"millisecond"),B(0,["SSSS",4],0,function(){return 10*this.millisecond()}),B(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),B(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),B(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),B(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),B(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),j("millisecond","ms"),R("millisecond",16),ct("S",et,J),ct("SS",et,G),ct("SSS",et,K),sn="SSSS";sn.length<=9;sn+="S")ct(sn,it);function un(t,e){e[kt]=k(1e3*("0."+t))}for(sn="S";sn.length<=9;sn+="S")ft(sn,un);var cn=Ot("Milliseconds",!1);B("z",0,0,"zoneAbbr"),B("zz",0,0,"zoneName");var dn=b.prototype;function hn(t){return t}dn.add=Xe,dn.calendar=function(t,e){var n=t||De(),r=Fe(n,this).startOf("day"),o=i.calendarFormat(this,r)||"sameElse",a=e&&(O(e[o])?e[o].call(this,n):e[o]);return this.format(a||this.localeData().calendar(o,this,De(n)))},dn.clone=function(){return new b(this)},dn.diff=function(t,e,n){var r,i,o;if(!this.isValid())return NaN;if(!(r=Fe(t,this)).isValid())return NaN;switch(i=6e4*(r.utcOffset()-this.utcOffset()),e=A(e)){case"year":o=Qe(this,r)/12;break;case"month":o=Qe(this,r);break;case"quarter":o=Qe(this,r)/3;break;case"second":o=(this-r)/1e3;break;case"minute":o=(this-r)/6e4;break;case"hour":o=(this-r)/36e5;break;case"day":o=(this-r-i)/864e5;break;case"week":o=(this-r-i)/6048e5;break;default:o=this-r}return n?o:M(o)},dn.endOf=function(t){return void 0===(t=A(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))},dn.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=U(this,t);return this.localeData().postformat(e)},dn.from=function(t,e){return this.isValid()&&(w(t)&&t.isValid()||De(t).isValid())?Ue({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},dn.fromNow=function(t){return this.from(De(),t)},dn.to=function(t,e){return this.isValid()&&(w(t)&&t.isValid()||De(t).isValid())?Ue({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},dn.toNow=function(t){return this.to(De(),t)},dn.get=function(t){return O(this[t=A(t)])?this[t]():this},dn.invalidAt=function(){return f(this).overflow},dn.isAfter=function(t,e){var n=w(t)?t:De(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=A(s(e)?"millisecond":e))?this.valueOf()>n.valueOf():n.valueOf()9999?U(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):O(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",U(n,"Z")):U(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},dn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY";return this.format(n+r+"-MM-DD[T]HH:mm:ss.SSS"+e+'[")]')},dn.toJSON=function(){return this.isValid()?this.toISOString():null},dn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},dn.unix=function(){return Math.floor(this.valueOf()/1e3)},dn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},dn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},dn.year=Dt,dn.isLeapYear=function(){return St(this.year())},dn.weekYear=function(t){return rn.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},dn.isoWeekYear=function(t){return rn.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},dn.quarter=dn.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},dn.month=Rt,dn.daysInMonth=function(){return Et(this.year(),this.month())},dn.week=dn.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},dn.isoWeek=dn.isoWeeks=function(t){var e=Ut(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},dn.weeksInYear=function(){var t=this.localeData()._week;return qt(this.year(),t.dow,t.doy)},dn.isoWeeksInYear=function(){return qt(this.year(),1,4)},dn.date=on,dn.day=dn.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},dn.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},dn.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},dn.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},dn.hour=dn.hours=ie,dn.minute=dn.minutes=an,dn.second=dn.seconds=ln,dn.millisecond=dn.milliseconds=cn,dn.utcOffset=function(t,e,n){var r,o=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Ne(st,t)))return this}else Math.abs(t)<16&&!n&&(t*=60);return!this._isUTC&&e&&(r=Ve(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,"m"),o!==t&&(!e||this._changeInProgress?Ke(this,Ue(t-o,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?o:Ve(this)},dn.utc=function(t){return this.utcOffset(0,t)},dn.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ve(this),"m")),this},dn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Ne(at,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},dn.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?De(t).utcOffset():0,(this.utcOffset()-t)%60==0)},dn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},dn.isLocal=function(){return!!this.isValid()&&!this._isUTC},dn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},dn.isUtc=ze,dn.isUTC=ze,dn.zoneAbbr=function(){return this._isUTC?"UTC":""},dn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},dn.dates=C("dates accessor is deprecated. Use date instead.",on),dn.months=C("months accessor is deprecated. Use month instead",Rt),dn.years=C("years accessor is deprecated. Use year instead",Dt),dn.zone=C("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}),dn.isDSTShifted=C("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(y(t,this),(t=Se(t))._a){var e=t._isUTC?p(t._a):De(t._a);this._isDSTShifted=this.isValid()&&x(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var pn=P.prototype;function fn(t,e,n,r){var i=he(),o=p().set(r,e);return i[n](o,t)}function _n(t,e,n){if(l(t)&&(e=t,t=void 0),t=t||"",null!=e)return fn(t,e,n,"month");var r,i=[];for(r=0;r<12;r++)i[r]=fn(t,r,n,"month");return i}function mn(t,e,n,r){"boolean"==typeof t?(l(e)&&(n=e,e=void 0),e=e||""):(n=e=t,t=!1,l(e)&&(n=e,e=void 0),e=e||"");var i,o=he(),a=t?o._week.dow:0;if(null!=n)return fn(e,(n+a)%7,r,"day");var s=[];for(i=0;i<7;i++)s[i]=fn(e,(i+a)%7,r,"day");return s}pn.calendar=function(t,e,n){var r=this._calendar[t]||this._calendar.sameElse;return O(r)?r.call(e,n):r},pn.longDateFormat=function(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])},pn.invalidDate=function(){return this._invalidDate},pn.ordinal=function(t){return this._ordinal.replace("%d",t)},pn.preparse=hn,pn.postformat=hn,pn.relativeTime=function(t,e,n,r){var i=this._relativeTime[n];return O(i)?i(t,e,n,r):i.replace(/%d/i,t)},pn.pastFuture=function(t,e){var n=this._relativeTime[t>0?"future":"past"];return O(n)?n(e):n.replace(/%s/i,e)},pn.set=function(t){var e,n;for(n in t)O(e=t[n])?this[n]=e:this["_"+n]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},pn.months=function(t,e){return t?o(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||jt).test(e)?"format":"standalone"][t.month()]:o(this._months)?this._months:this._months.standalone},pn.monthsShort=function(t,e){return t?o(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[jt.test(e)?"format":"standalone"][t.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},pn.monthsParse=function(t,e,n){var r,i,o;if(this._monthsParseExact)return(function(t,e,n){var r,i,o,a=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)o=p([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(o,"").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(o,"").toLocaleLowerCase();return n?"MMM"===e?-1!==(i=Tt.call(this._shortMonthsParse,a))?i:null:-1!==(i=Tt.call(this._longMonthsParse,a))?i:null:"MMM"===e?-1!==(i=Tt.call(this._shortMonthsParse,a))?i:-1!==(i=Tt.call(this._longMonthsParse,a))?i:null:-1!==(i=Tt.call(this._longMonthsParse,a))?i:-1!==(i=Tt.call(this._shortMonthsParse,a))?i:null}).call(this,t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(i=p([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[r]||(o="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[r]=new RegExp(o.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[r].test(t))return r;if(n&&"MMM"===e&&this._shortMonthsParse[r].test(t))return r;if(!n&&this._monthsParse[r].test(t))return r}},pn.monthsRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||Vt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=Ft),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},pn.monthsShortRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||Vt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=Nt),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},pn.week=function(t){return Ut(t,this._week.dow,this._week.doy).week},pn.firstDayOfYear=function(){return this._week.doy},pn.firstDayOfWeek=function(){return this._week.dow},pn.weekdays=function(t,e){return t?o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:o(this._weekdays)?this._weekdays:this._weekdays.standalone},pn.weekdaysMin=function(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin},pn.weekdaysShort=function(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort},pn.weekdaysParse=function(t,e,n){var r,i,o;if(this._weekdaysParseExact)return(function(t,e,n){var r,i,o,a=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)o=p([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===e?-1!==(i=Tt.call(this._weekdaysParse,a))?i:null:"ddd"===e?-1!==(i=Tt.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=Tt.call(this._minWeekdaysParse,a))?i:null:"dddd"===e?-1!==(i=Tt.call(this._weekdaysParse,a))?i:-1!==(i=Tt.call(this._shortWeekdaysParse,a))?i:-1!==(i=Tt.call(this._minWeekdaysParse,a))?i:null:"ddd"===e?-1!==(i=Tt.call(this._shortWeekdaysParse,a))?i:-1!==(i=Tt.call(this._weekdaysParse,a))?i:-1!==(i=Tt.call(this._minWeekdaysParse,a))?i:null:-1!==(i=Tt.call(this._minWeekdaysParse,a))?i:-1!==(i=Tt.call(this._weekdaysParse,a))?i:-1!==(i=Tt.call(this._shortWeekdaysParse,a))?i:null}).call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(i=p([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[r]||(o="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[r]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[r].test(t))return r;if(n&&"ddd"===e&&this._shortWeekdaysParse[r].test(t))return r;if(n&&"dd"===e&&this._minWeekdaysParse[r].test(t))return r;if(!n&&this._weekdaysParse[r].test(t))return r}},pn.weekdaysRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||$t.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Xt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},pn.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||$t.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Zt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},pn.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||$t.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Qt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},pn.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},pn.meridiem=function(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"},ce("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===k(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=C("moment.lang is deprecated. Use moment.locale instead.",ce),i.langData=C("moment.langData is deprecated. Use moment.localeData instead.",he);var gn=Math.abs;function yn(t,e,n,r){var i=Ue(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function vn(t){return t<0?Math.floor(t):Math.ceil(t)}function bn(t){return 4800*t/146097}function wn(t){return 146097*t/4800}function Mn(t){return function(){return this.as(t)}}var kn=Mn("ms"),xn=Mn("s"),Ln=Mn("m"),Cn=Mn("h"),Sn=Mn("d"),Tn=Mn("w"),Dn=Mn("M"),On=Mn("y");function Yn(t){return function(){return this.isValid()?this._data[t]:NaN}}var Pn=Yn("milliseconds"),En=Yn("seconds"),jn=Yn("minutes"),An=Yn("hours"),In=Yn("days"),Hn=Yn("months"),Rn=Yn("years"),Nn=Math.round,Fn={ss:44,s:45,m:45,h:22,d:26,M:11},Vn=Math.abs;function zn(t){return(t>0)-(t<0)||+t}function Wn(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n=Vn(this._milliseconds)/1e3,r=Vn(this._days),i=Vn(this._months);e=M((t=M(n/60))/60),n%=60,t%=60;var o=M(i/12),a=i%=12,s=r,l=e,u=t,c=n?n.toFixed(3).replace(/\.?0+$/,""):"",d=this.asSeconds();if(!d)return"P0D";var h=d<0?"-":"",p=zn(this._months)!==zn(d)?"-":"",f=zn(this._days)!==zn(d)?"-":"",_=zn(this._milliseconds)!==zn(d)?"-":"";return h+"P"+(o?p+o+"Y":"")+(a?p+a+"M":"")+(s?f+s+"D":"")+(l||u||c?"T":"")+(l?_+l+"H":"")+(u?_+u+"M":"")+(c?_+c+"S":"")}var Bn=je.prototype;return Bn.isValid=function(){return this._isValid},Bn.abs=function(){var t=this._data;return this._milliseconds=gn(this._milliseconds),this._days=gn(this._days),this._months=gn(this._months),t.milliseconds=gn(t.milliseconds),t.seconds=gn(t.seconds),t.minutes=gn(t.minutes),t.hours=gn(t.hours),t.months=gn(t.months),t.years=gn(t.years),this},Bn.add=function(t,e){return yn(this,t,e,1)},Bn.subtract=function(t,e){return yn(this,t,e,-1)},Bn.as=function(t){if(!this.isValid())return NaN;var e,n,r=this._milliseconds;if("month"===(t=A(t))||"year"===t)return n=this._months+bn(e=this._days+r/864e5),"month"===t?n:n/12;switch(e=this._days+Math.round(wn(this._months)),t){case"week":return e/7+r/6048e5;case"day":return e+r/864e5;case"hour":return 24*e+r/36e5;case"minute":return 1440*e+r/6e4;case"second":return 86400*e+r/1e3;case"millisecond":return Math.floor(864e5*e)+r;default:throw new Error("Unknown unit "+t)}},Bn.asMilliseconds=kn,Bn.asSeconds=xn,Bn.asMinutes=Ln,Bn.asHours=Cn,Bn.asDays=Sn,Bn.asWeeks=Tn,Bn.asMonths=Dn,Bn.asYears=On,Bn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12):NaN},Bn._bubble=function(){var t,e,n,r,i,o=this._milliseconds,a=this._days,s=this._months,l=this._data;return o>=0&&a>=0&&s>=0||o<=0&&a<=0&&s<=0||(o+=864e5*vn(wn(s)+a),a=0,s=0),l.milliseconds=o%1e3,t=M(o/1e3),l.seconds=t%60,e=M(t/60),l.minutes=e%60,n=M(e/60),l.hours=n%24,s+=i=M(bn(a+=M(n/24))),a-=vn(wn(i)),r=M(s/12),s%=12,l.days=a,l.months=s,l.years=r,this},Bn.clone=function(){return Ue(this)},Bn.get=function(t){return t=A(t),this.isValid()?this[t+"s"]():NaN},Bn.milliseconds=Pn,Bn.seconds=En,Bn.minutes=jn,Bn.hours=An,Bn.days=In,Bn.weeks=function(){return M(this.days()/7)},Bn.months=Hn,Bn.years=Rn,Bn.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),n=function(t,e,n){var r=Ue(t).abs(),i=Nn(r.as("s")),o=Nn(r.as("m")),a=Nn(r.as("h")),s=Nn(r.as("d")),l=Nn(r.as("M")),u=Nn(r.as("y")),c=i<=Fn.ss&&["s",i]||i0,c[4]=n,(function(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}).apply(null,c)}(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)},Bn.toISOString=Wn,Bn.toString=Wn,Bn.toJSON=Wn,Bn.locale=$e,Bn.localeData=en,Bn.toIsoString=C("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Wn),Bn.lang=tn,B("X",0,0,"unix"),B("x",0,0,"valueOf"),ct("x",ot),ct("X",/[+-]?\d+(\.\d{1,3})?/),ft("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),ft("x",function(t,e,n){n._d=new Date(k(t))}),i.version="2.22.1",e=De,i.fn=dn,i.min=function(){return Pe("isBefore",[].slice.call(arguments,0))},i.max=function(){return Pe("isAfter",[].slice.call(arguments,0))},i.now=function(){return Date.now?Date.now():+new Date},i.utc=p,i.unix=function(t){return De(1e3*t)},i.months=function(t,e){return _n(t,e,"months")},i.isDate=u,i.locale=ce,i.invalid=m,i.duration=Ue,i.isMoment=w,i.weekdays=function(t,e,n){return mn(t,e,n,"weekdays")},i.parseZone=function(){return De.apply(null,arguments).parseZone()},i.localeData=he,i.isDuration=Ae,i.monthsShort=function(t,e){return _n(t,e,"monthsShort")},i.weekdaysMin=function(t,e,n){return mn(t,e,n,"weekdaysMin")},i.defineLocale=de,i.updateLocale=function(t,e){if(null!=e){var n,r,i=oe;null!=(r=ue(t))&&(i=r._config),(n=new P(e=Y(i,e))).parentLocale=ae[t],ae[t]=n,ce(t)}else null!=ae[t]&&(null!=ae[t].parentLocale?ae[t]=ae[t].parentLocale:null!=ae[t]&&delete ae[t]);return ae[t]},i.locales=function(){return S(ae)},i.weekdaysShort=function(t,e,n){return mn(t,e,n,"weekdaysShort")},i.normalizeUnits=A,i.relativeTimeRounding=function(t){return void 0===t?Nn:"function"==typeof t&&(Nn=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==Fn[t]&&(void 0===e?Fn[t]:(Fn[t]=e,"s"===t&&(Fn.ss=e-1),!0))},i.calendarFormat=function(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},i.prototype=dn,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},i}()}).call(e,n("3IRH")(t))},QZk1:function(t,e,n){!function(t){"use strict";t.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})}(n("PJh5"))},Qnch:function(t,e,n){"use strict";e.a=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(r){return"number"==typeof e&&(n=e,e=null),r.lift(new a(t,e,n))}};var r=n("TToO"),i=n("PIsA"),o=n("tZ2B"),a=function(){function t(t,e,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.project=t,this.resultSelector=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new s(t,this.project,this.resultSelector,this.concurrent))},t}(),s=function(t){function e(e,n,r,i){void 0===i&&(i=Number.POSITIVE_INFINITY),t.call(this,e),this.project=n,this.resultSelector=r,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return Object(r.b)(e,t),e.prototype._next=function(t){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(o.a)},Rf9G:function(t,e,n){"use strict";e.a=function(){return Object(r.a)()(this)};var r=n("3a3m")},RnJI:function(t,e,n){!function(t){"use strict";t.defineLocale("ka",{months:{standalone:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),format:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10e1_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10e1_\u10db\u10d0\u10e0\u10e2\u10e1_\u10d0\u10de\u10e0\u10d8\u10da\u10d8\u10e1_\u10db\u10d0\u10d8\u10e1\u10e1_\u10d8\u10d5\u10dc\u10d8\u10e1\u10e1_\u10d8\u10d5\u10da\u10d8\u10e1\u10e1_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10e1_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10e1_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10e1".split("_")},monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(t){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10ec\u10d4\u10da\u10d8)/.test(t)?t.replace(/\u10d8$/,"\u10e8\u10d8"):t+"\u10e8\u10d8"},past:function(t){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(t)?t.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(t)?t.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):void 0},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(t){return 0===t?t:1===t?t+"-\u10da\u10d8":t<20||t<=100&&t%20==0||t%100==0?"\u10db\u10d4-"+t:t+"-\u10d4"},week:{dow:1,doy:7}})}(n("PJh5"))},Sjoy:function(t,e,n){!function(t){"use strict";t.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("PJh5"))},TILf:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("TToO"),i=function(t){function e(e,n){t.call(this),this.value=e,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return Object(r.b)(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){var e=t.value,n=t.subscriber;t.done?n.complete():(n.next(e),n.closed||(t.done=!0,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.value,r=this.scheduler;if(r)return r.schedule(e.dispatch,0,{done:!1,value:n,subscriber:t});t.next(n),t.closed||t.complete()},e}(n("YaPU").a)},TToO:function(t,e,n){"use strict";e.b=function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},n.d(e,"a",function(){return i});var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},i=Object.assign||function(t){for(var e,n=1,r=arguments.length;n=11?t:t+12},meridiem:function(t,e,n){var r=100*t+e;return r<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":r<900?"\u0633\u06d5\u06be\u06d5\u0631":r<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":r<1230?"\u0686\u06c8\u0634":r<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return t+"-\u06be\u06d5\u067e\u062a\u06d5";default:return t}},preparse:function(t){return t.replace(/\u060c/g,",")},postformat:function(t){return t.replace(/,/g,"\u060c")},week:{dow:1,doy:7}})}(n("PJh5"))},Tqun:function(t,e,n){!function(t){"use strict";t.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})}(n("PJh5"))},V0td:function(t,e,n){!function(t){"use strict";t.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(t){return"M"===t.charAt(0)},meridiem:function(t,e,n){return t<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},V4qH:function(t,e,n){!function(t){"use strict";function e(t,e,n){var r=t+" ";switch(n){case"ss":return r+(1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi");case"m":return e?"jedna minuta":"jedne minute";case"mm":return r+(1===t?"minuta":2===t||3===t||4===t?"minute":"minuta");case"h":return e?"jedan sat":"jednog sata";case"hh":return r+(1===t?"sat":2===t||3===t||4===t?"sata":"sati");case"dd":return r+(1===t?"dan":"dana");case"MM":return r+(1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci");case"yy":return r+(1===t?"godina":2===t||3===t||4===t?"godine":"godina")}}t.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},VK9h:function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n("PJh5"))},Veqx:function(t,e,n){"use strict";n.d(e,"a",function(){return l});var r=n("TToO"),i=n("YaPU"),o=n("TILf"),a=n("+3/4"),s=n("1Q68"),l=function(t){function e(e,n){t.call(this),this.array=e,this.scheduler=n,n||1!==e.length||(this._isScalar=!0,this.value=e[0])}return Object(r.b)(e,t),e.create=function(t,n){return new e(t,n)},e.of=function(){for(var t=[],n=0;n1?new e(t,r):1===i?new o.a(t[0],r):new a.a(r)},e.dispatch=function(t){var e=t.array,n=t.index,r=t.subscriber;n>=t.count?r.complete():(r.next(e[n]),r.closed||(t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.array,r=n.length,i=this.scheduler;if(i)return i.schedule(e.dispatch,0,{array:n,index:0,count:r,subscriber:t});for(var o=0;o=11?t:t+12},meridiem:function(t,e,n){var r=100*t+e;return r<600?"\u51cc\u6668":r<900?"\u65e9\u4e0a":r<1130?"\u4e0a\u5348":r<1230?"\u4e2d\u5348":r<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"\u65e5";case"M":return t+"\u6708";case"w":case"W":return t+"\u5468";default:return t}},relativeTime:{future:"%s\u5185",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}})}(n("PJh5"))},WT6e:function(t,e,n){"use strict";(function(t){n.d(e,"g",function(){return $t}),n.d(e,"R",function(){return qt}),n.d(e,"U",function(){return Jt}),n.d(e,"Q",function(){return Kt}),n.d(e,"x",function(){return Gt}),n.d(e,"c",function(){return ot}),n.d(e,"B",function(){return lt}),n.d(e,"A",function(){return ut}),n.d(e,"b",function(){return ct}),n.d(e,"d",function(){return rt}),n.d(e,"e",function(){return it}),n.d(e,"T",function(){return be}),n.d(e,"L",function(){return Rt}),n.d(e,"W",function(){return Ft}),n.d(e,"t",function(){return We}),n.d(e,"f",function(){return Je}),n.d(e,"n",function(){return Ot}),n.d(e,"m",function(){return tt}),n.d(e,"F",function(){return Ke}),n.d(e,"G",function(){return Ge}),n.d(e,"a",function(){return h}),n.d(e,"O",function(){return p}),n.d(e,"M",function(){return f}),n.d(e,"S",function(){return D}),n.d(e,"q",function(){return j}),n.d(e,"p",function(){return u}),n.d(e,"o",function(){return m}),n.d(e,"z",function(){return g}),n.d(e,"H",function(){return v}),n.d(e,"y",function(){return Yt}),n.d(e,"C",function(){return re}),n.d(e,"D",function(){return ee}),n.d(e,"E",function(){return ne}),n.d(e,"i",function(){return pt}),n.d(e,"j",function(){return wt}),n.d(e,"k",function(){return ie}),n.d(e,"u",function(){return Lt}),n.d(e,"w",function(){return xt}),n.d(e,"v",function(){return oe}),n.d(e,"I",function(){return ue}),n.d(e,"J",function(){return se}),n.d(e,"K",function(){return de}),n.d(e,"N",function(){return he}),n.d(e,"l",function(){return fe}),n.d(e,"h",function(){return pe}),n.d(e,"r",function(){return He}),n.d(e,"s",function(){return Re}),n.d(e,"P",function(){return ke}),n.d(e,"V",function(){return ze}),n.d(e,"_9",function(){return Le}),n.d(e,"Y",function(){return dt}),n.d(e,"X",function(){return Mt}),n.d(e,"_6",function(){return M}),n.d(e,"_12",function(){return S}),n.d(e,"_26",function(){return T}),n.d(e,"_10",function(){return nt}),n.d(e,"_11",function(){return et}),n.d(e,"Z",function(){return Wn}),n.d(e,"_0",function(){return Bn}),n.d(e,"_1",function(){return ur}),n.d(e,"_2",function(){return mo}),n.d(e,"_3",function(){return fn}),n.d(e,"_4",function(){return Pr}),n.d(e,"_5",function(){return Un}),n.d(e,"_8",function(){return Vn}),n.d(e,"_13",function(){return tr}),n.d(e,"_14",function(){return $n}),n.d(e,"_16",function(){return ti}),n.d(e,"_17",function(){return br}),n.d(e,"_20",function(){return Er}),n.d(e,"_23",function(){return jr}),n.d(e,"_19",function(){return ri}),n.d(e,"_21",function(){return ii}),n.d(e,"_22",function(){return ni}),n.d(e,"_25",function(){return Kr}),n.d(e,"_27",function(){return ai}),n.d(e,"_28",function(){return dn}),n.d(e,"_29",function(){return ui}),n.d(e,"_15",function(){return Be}),n.d(e,"_18",function(){return Ue}),n.d(e,"_24",function(){return qe}),n.d(e,"_7",function(){return at});var r=n("TToO"),i=n("YaPU"),o=n("/nXB"),a=n("Rf9G"),s=n("g5jc"),l=n("VwZZ"),u=function(){function t(t){this._desc=t,this.ngMetadataName="InjectionToken"}return t.prototype.toString=function(){return"InjectionToken "+this._desc},t}(),c="__paramaters__";function d(t,e,n){var r=function(t){return function(){for(var e=[],n=0;n ");else if("object"==typeof e){var i=[];for(var o in e)if(e.hasOwnProperty(o)){var a=e[o];i.push(o+":"+("string"==typeof a?JSON.stringify(a):T(a)))}r="{"+i.join(", ")+"}"}return"StaticInjectorError"+(n?"("+n+")":"")+"["+r+"]: "+t.replace(z,"\n ")}function J(t,e){return new Error(q(t,e))}var G="ngDebugContext",K="ngOriginalError",X="ngErrorLogger";function Z(t){return t[G]}function Q(t){return t[K]}function $(t){for(var e=[],n=1;n0)t._bootstrapComponents.forEach(function(t){return e.bootstrap(t)});else{if(!t.instance.ngDoBootstrap)throw new Error("The module "+T(t.instance.constructor)+' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.');t.instance.ngDoBootstrap(e)}this._modules.push(t)},t.prototype.onDestroy=function(t){this._destroyListeners.push(t)},Object.defineProperty(t.prototype,"injector",{get:function(){return this._injector},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(function(t){return t.destroy()}),this._destroyListeners.forEach(function(t){return t()}),this._destroyed=!0},Object.defineProperty(t.prototype,"destroyed",{get:function(){return this._destroyed},enumerable:!0,configurable:!0}),t}();function Qt(t,e){return Array.isArray(e)?e.reduce(Qt,t):Object(r.a)({},t,e)}var $t=function(){function t(t,e,n,r,s,l){var u=this;this._zone=t,this._console=e,this._injector=n,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=l,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=Jt(),this._zone.onMicrotaskEmpty.subscribe({next:function(){u._zone.run(function(){u.tick()})}});var c=new i.a(function(t){u._stable=u._zone.isStable&&!u._zone.hasPendingMacrotasks&&!u._zone.hasPendingMicrotasks,u._zone.runOutsideAngular(function(){t.next(u._stable),t.complete()})}),d=new i.a(function(t){var e;u._zone.runOutsideAngular(function(){e=u._zone.onStable.subscribe(function(){Yt.assertNotInAngularZone(),C(function(){u._stable||u._zone.hasPendingMacrotasks||u._zone.hasPendingMicrotasks||(u._stable=!0,t.next(!0))})})});var n=u._zone.onUnstable.subscribe(function(){Yt.assertInAngularZone(),u._stable&&(u._stable=!1,u._zone.runOutsideAngular(function(){t.next(!1)}))});return function(){e.unsubscribe(),n.unsubscribe()}});this.isStable=Object(o.a)(c,a.a.call(d))}return t.prototype.bootstrap=function(t,e){var n,r=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");n=t instanceof _t?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);var i=n instanceof kt?null:this._injector.get(xt),o=n.create(j.NULL,[],e||n.selector,i);o.onDestroy(function(){r._unloadComponent(o)});var a=o.injector.get(Rt,null);return a&&o.injector.get(Nt).registerApplication(o.location.nativeElement,a),this._loadComponent(o),Jt()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),o},t.prototype.tick=function(){var e=this;if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");var n=t._tickScope();try{this._runningTick=!0,this._views.forEach(function(t){return t.detectChanges()}),this._enforceNoNewChanges&&this._views.forEach(function(t){return t.checkNoChanges()})}catch(t){this._zone.runOutsideAngular(function(){return e._exceptionHandler.handleError(t)})}finally{this._runningTick=!1,Dt(n)}},t.prototype.attachView=function(t){var e=t;this._views.push(e),e.attachToAppRef(this)},t.prototype.detachView=function(t){var e=t;te(this._views,e),e.detachFromAppRef()},t.prototype._loadComponent=function(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(ct,[]).concat(this._bootstrapListeners).forEach(function(e){return e(t)})},t.prototype._unloadComponent=function(t){this.detachView(t.hostView),te(this.components,t)},t.prototype.ngOnDestroy=function(){this._views.slice().forEach(function(t){return t.destroy()})},Object.defineProperty(t.prototype,"viewCount",{get:function(){return this._views.length},enumerable:!0,configurable:!0}),t._tickScope=Tt("ApplicationRef#tick()"),t}();function te(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}var ee=function(){},ne=function(){var t={Important:1,DashCase:2};return t[t.Important]="Important",t[t.DashCase]="DashCase",t}(),re=function(){},ie=function(t){this.nativeElement=t},oe=function(){},ae=function(){function t(){this.dirty=!0,this._results=[],this.changes=new Ot,this.length=0}return t.prototype.map=function(t){return this._results.map(t)},t.prototype.filter=function(t){return this._results.filter(t)},t.prototype.find=function(t){return this._results.find(t)},t.prototype.reduce=function(t,e){return this._results.reduce(t,e)},t.prototype.forEach=function(t){this._results.forEach(t)},t.prototype.some=function(t){return this._results.some(t)},t.prototype.toArray=function(){return this._results.slice()},t.prototype[L()]=function(){return this._results[L()]()},t.prototype.toString=function(){return this._results.toString()},t.prototype.reset=function(t){this._results=function t(e){return e.reduce(function(e,n){var r=Array.isArray(n)?t(n):n;return e.concat(r)},[])}(t),this.dirty=!1,this.length=this._results.length,this.last=this._results[this.length-1],this.first=this._results[0]},t.prototype.notifyOnChanges=function(){this.changes.emit(this)},t.prototype.setDirty=function(){this.dirty=!0},t.prototype.destroy=function(){this.changes.complete(),this.changes.unsubscribe()},t}(),se=function(){},le={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"},ue=function(){function t(t,e){this._compiler=t,this._config=e||le}return t.prototype.load=function(t){return this._compiler instanceof pt?this.loadFactory(t):this.loadAndCompile(t)},t.prototype.loadAndCompile=function(t){var e=this,r=t.split("#"),i=r[0],o=r[1];return void 0===o&&(o="default"),n("Jnfr")(i).then(function(t){return t[o]}).then(function(t){return ce(t,i,o)}).then(function(t){return e._compiler.compileModuleAsync(t)})},t.prototype.loadFactory=function(t){var e=t.split("#"),r=e[0],i=e[1],o="NgFactory";return void 0===i&&(i="default",o=""),n("Jnfr")(this._config.factoryPathPrefix+r+this._config.factoryPathSuffix).then(function(t){return t[i+o]}).then(function(t){return ce(t,r,i)})},t}();function ce(t,e,n){if(!t)throw new Error("Cannot find '"+n+"' in '"+e+"'");return t}var de=function(){},he=function(){},pe=function(){},fe=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.b)(e,t),e}(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.b)(e,t),e}(pe)),_e=function(){function t(t,e,n){this._debugContext=n,this.nativeNode=t,e&&e instanceof me?e.addChild(this):this.parent=null,this.listeners=[]}return Object.defineProperty(t.prototype,"injector",{get:function(){return this._debugContext.injector},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"componentInstance",{get:function(){return this._debugContext.component},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._debugContext.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"references",{get:function(){return this._debugContext.references},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"providerTokens",{get:function(){return this._debugContext.providerTokens},enumerable:!0,configurable:!0}),t}(),me=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.properties={},i.attributes={},i.classes={},i.styles={},i.childNodes=[],i.nativeElement=e,i}return Object(r.b)(e,t),e.prototype.addChild=function(t){t&&(this.childNodes.push(t),t.parent=this)},e.prototype.removeChild=function(t){var e=this.childNodes.indexOf(t);-1!==e&&(t.parent=null,this.childNodes.splice(e,1))},e.prototype.insertChildrenAfter=function(t,e){var n,r=this,i=this.childNodes.indexOf(t);-1!==i&&((n=this.childNodes).splice.apply(n,[i+1,0].concat(e)),e.forEach(function(t){t.parent&&t.parent.removeChild(t),t.parent=r}))},e.prototype.insertBefore=function(t,e){var n=this.childNodes.indexOf(t);-1===n?this.addChild(e):(e.parent&&e.parent.removeChild(e),e.parent=this,this.childNodes.splice(n,0,e))},e.prototype.query=function(t){return this.queryAll(t)[0]||null},e.prototype.queryAll=function(t){var e=[];return ge(this,t,e),e},e.prototype.queryAllNodes=function(t){var e=[];return ye(this,t,e),e},Object.defineProperty(e.prototype,"children",{get:function(){return this.childNodes.filter(function(t){return t instanceof e})},enumerable:!0,configurable:!0}),e.prototype.triggerEventHandler=function(t,e){this.listeners.forEach(function(n){n.name==t&&n.callback(e)})},e}(_e);function ge(t,e,n){t.childNodes.forEach(function(t){t instanceof me&&(e(t)&&n.push(t),ge(t,e,n))})}function ye(t,e,n){t instanceof me&&t.childNodes.forEach(function(t){e(t)&&n.push(t),t instanceof me&&ye(t,e,n)})}var ve=new Map;function be(t){return ve.get(t)||null}function we(t){ve.set(t.nativeNode,t)}function Me(t,e){var n=Le(t),r=Le(e);return n&&r?function(t,e,n){for(var r=t[L()](),i=e[L()]();;){var o=r.next(),a=i.next();if(o.done&&a.done)return!0;if(o.done||a.done)return!1;if(!n(o.value,a.value))return!1}}(t,e,Me):!(n||!t||"object"!=typeof t&&"function"!=typeof t||r||!e||"object"!=typeof e&&"function"!=typeof e)||S(t,e)}var ke=function(){function t(t){this.wrapped=t}return t.wrap=function(e){return new t(e)},t.unwrap=function(e){return t.isWrapped(e)?e.wrapped:e},t.isWrapped=function(e){return e instanceof t},t}(),xe=function(){function t(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}return t.prototype.isFirstChange=function(){return this.firstChange},t}();function Le(t){return!!Ce(t)&&(Array.isArray(t)||!(t instanceof Map)&&L()in t)}function Ce(t){return null!==t&&("function"==typeof t||"object"==typeof t)}var Se=function(){function t(){}return t.prototype.supports=function(t){return Le(t)},t.prototype.create=function(t){return new De(t)},t}(),Te=function(t,e){return e},De=function(){function t(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Te}return t.prototype.forEachItem=function(t){var e;for(e=this._itHead;null!==e;e=e._next)t(e)},t.prototype.forEachOperation=function(t){for(var e=this._itHead,n=this._removalsHead,r=0,i=null;e||n;){var o=!n||e&&e.currentIndex=n.length)&&(e=n.length-1),e<0)return null;var r=n[e];return r.viewContainerParent=null,sr(n,e),rn.dirtyParentQueries(r),or(r),r}function ir(t,e,n){var r=e?xn(e,e.def.lastRenderRootNode):t.renderElement;En(n,2,n.renderer.parentNode(r),n.renderer.nextSibling(r),void 0)}function or(t){En(t,3,null,null,void 0)}function ar(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function sr(t,e){e>=t.length-1?t.pop():t.splice(e,1)}var lr=new Object;function ur(t,e,n,r,i,o){return new cr(t,e,n,r,i,o)}var cr=function(t){function e(e,n,r,i,o,a){var s=t.call(this)||this;return s.selector=e,s.componentType=n,s._inputs=i,s._outputs=o,s.ngContentSelectors=a,s.viewDefFactory=r,s}return Object(r.b)(e,t),Object.defineProperty(e.prototype,"inputs",{get:function(){var t=[],e=this._inputs;for(var n in e)t.push({propName:n,templateName:e[n]});return t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"outputs",{get:function(){var t=[];for(var e in this._outputs)t.push({propName:e,templateName:this._outputs[e]});return t},enumerable:!0,configurable:!0}),e.prototype.create=function(t,e,n,r){if(!r)throw new Error("ngModule should be provided");var i=Pn(this.viewDefFactory),o=i.nodes[0].element.componentProvider.nodeIndex,a=rn.createRootView(t,e||[],n,i,r,lr),s=tn(a,o).instance;return n&&a.renderer.setAttribute($e(a,0).renderElement,"ng-version",_.full),new dr(a,new _r(a),s)},e}(_t),dr=function(t){function e(e,n,r){var i=t.call(this)||this;return i._view=e,i._viewRef=n,i._component=r,i._elDef=i._view.def.nodes[0],i.hostView=n,i.changeDetectorRef=n,i.instance=r,i}return Object(r.b)(e,t),Object.defineProperty(e.prototype,"location",{get:function(){return new ie($e(this._view,this._elDef.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"injector",{get:function(){return new vr(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentType",{get:function(){return this._component.constructor},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){this._viewRef.destroy()},e.prototype.onDestroy=function(t){this._viewRef.onDestroy(t)},e}(function(){});function hr(t,e,n){return new pr(t,e,n)}var pr=function(){function t(t,e,n){this._view=t,this._elDef=e,this._data=n,this._embeddedViews=[]}return Object.defineProperty(t.prototype,"element",{get:function(){return new ie(this._data.renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return new vr(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parentInjector",{get:function(){for(var t=this._view,e=this._elDef.parent;!e&&t;)e=kn(t),t=t.parent;return t?new vr(t,e):new vr(this._view,null)},enumerable:!0,configurable:!0}),t.prototype.clear=function(){for(var t=this._embeddedViews.length-1;t>=0;t--){var e=rr(this._data,t);rn.destroyView(e)}},t.prototype.get=function(t){var e=this._embeddedViews[t];if(e){var n=new _r(e);return n.attachToViewContainerRef(this),n}return null},Object.defineProperty(t.prototype,"length",{get:function(){return this._embeddedViews.length},enumerable:!0,configurable:!0}),t.prototype.createEmbeddedView=function(t,e,n){var r=t.createEmbeddedView(e||{});return this.insert(r,n),r},t.prototype.createComponent=function(t,e,n,r,i){var o=n||this.parentInjector;i||t instanceof kt||(i=o.get(xt));var a=t.create(o,r,void 0,i);return this.insert(a.hostView,e),a},t.prototype.insert=function(t,e){if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");var n,r,i,o,a=t;return i=a._view,o=(n=this._data).viewContainer._embeddedViews,null!==(r=e)&&void 0!==r||(r=o.length),i.viewContainerParent=this._view,ar(o,r,i),function(t,e){var n=Mn(e);if(n&&n!==t&&!(16&e.state)){e.state|=16;var r=n.template._projectedViews;r||(r=n.template._projectedViews=[]),r.push(e),function(t,n){if(!(4&n.flags)){e.parent.def.nodeFlags|=4,n.flags|=4;for(var r=n.parent;r;)r.childFlags|=4,r=r.parent}}(0,e.parentNodeDef)}}(n,i),rn.dirtyParentQueries(i),ir(n,r>0?o[r-1]:null,i),a.attachToViewContainerRef(this),t},t.prototype.move=function(t,e){if(t.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");var n,r,i,o,a,s=this._embeddedViews.indexOf(t._view);return i=e,a=(o=(n=this._data).viewContainer._embeddedViews)[r=s],sr(o,r),null==i&&(i=o.length),ar(o,i,a),rn.dirtyParentQueries(a),or(a),ir(n,i>0?o[i-1]:null,a),t},t.prototype.indexOf=function(t){return this._embeddedViews.indexOf(t._view)},t.prototype.remove=function(t){var e=rr(this._data,t);e&&rn.destroyView(e)},t.prototype.detach=function(t){var e=rr(this._data,t);return e?new _r(e):null},t}();function fr(t){return new _r(t)}var _r=function(){function t(t){this._view=t,this._viewContainerRef=null,this._appRef=null}return Object.defineProperty(t.prototype,"rootNodes",{get:function(){return En(this._view,0,void 0,void 0,t=[]),t;var t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._view.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"destroyed",{get:function(){return 0!=(128&this._view.state)},enumerable:!0,configurable:!0}),t.prototype.markForCheck=function(){vn(this._view)},t.prototype.detach=function(){this._view.state&=-5},t.prototype.detectChanges=function(){var t=this._view.root.rendererFactory;t.begin&&t.begin();try{rn.checkAndUpdateView(this._view)}finally{t.end&&t.end()}},t.prototype.checkNoChanges=function(){rn.checkNoChangesView(this._view)},t.prototype.reattach=function(){this._view.state|=4},t.prototype.onDestroy=function(t){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(t)},t.prototype.destroy=function(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),rn.destroyView(this._view)},t.prototype.detachFromAppRef=function(){this._appRef=null,or(this._view),rn.dirtyParentQueries(this._view)},t.prototype.attachToAppRef=function(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t},t.prototype.attachToViewContainerRef=function(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t},t}();function mr(t,e){return new gr(t,e)}var gr=function(t){function e(e,n){var r=t.call(this)||this;return r._parentView=e,r._def=n,r}return Object(r.b)(e,t),e.prototype.createEmbeddedView=function(t){return new _r(rn.createEmbeddedView(this._parentView,this._def,this._def.element.template,t))},Object.defineProperty(e.prototype,"elementRef",{get:function(){return new ie($e(this._parentView,this._def.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),e}(de);function yr(t,e){return new vr(t,e)}var vr=function(){function t(t,e){this.view=t,this.elDef=e}return t.prototype.get=function(t,e){return void 0===e&&(e=j.THROW_IF_NOT_FOUND),rn.resolveDep(this.view,this.elDef,!!this.elDef&&0!=(33554432&this.elDef.flags),{flags:0,token:t,tokenKey:cn(t)},e)},t}();function br(t,e){var n=t.def.nodes[e];if(1&n.flags){var r=$e(t,n.nodeIndex);return n.element.template?r.template:r.renderElement}if(2&n.flags)return Qe(t,n.nodeIndex).renderText;if(20240&n.flags)return tn(t,n.nodeIndex).instance;throw new Error("Illegal state: read nodeValue for node index "+e)}function wr(t){return new Mr(t.renderer)}var Mr=function(){function t(t){this.delegate=t}return t.prototype.selectRootElement=function(t){return this.delegate.selectRootElement(t)},t.prototype.createElement=function(t,e){var n=Nn(e),r=this.delegate.createElement(n[1],n[0]);return t&&this.delegate.appendChild(t,r),r},t.prototype.createViewRoot=function(t){return t},t.prototype.createTemplateAnchor=function(t){var e=this.delegate.createComment("");return t&&this.delegate.appendChild(t,e),e},t.prototype.createText=function(t,e){var n=this.delegate.createText(e);return t&&this.delegate.appendChild(t,n),n},t.prototype.projectNodes=function(t,e){for(var n=0;n0,e.provider.value,e.provider.deps);if(e.outputs.length)for(var r=0;r0,r=e.provider;switch(201347067&e.flags){case 512:return Vr(t,e.parent,n,r.value,r.deps);case 1024:return function(t,e,n,r,i){var o=i.length;switch(o){case 0:return r();case 1:return r(Wr(t,e,n,i[0]));case 2:return r(Wr(t,e,n,i[0]),Wr(t,e,n,i[1]));case 3:return r(Wr(t,e,n,i[0]),Wr(t,e,n,i[1]),Wr(t,e,n,i[2]));default:for(var a=Array(o),s=0;s0)u=_,ci(_)||(c=_);else for(;u&&f===u.nodeIndex+u.childCount;){var y=u.parent;y&&(y.childFlags|=u.childFlags,y.childMatchedQueries|=u.childMatchedQueries),c=(u=y)&&ci(u)?u.renderParent:u}}return{factory:null,nodeFlags:a,rootNodeFlags:s,nodeMatchedQueries:l,flags:t,nodes:e,updateDirectives:n||ln,updateRenderer:r||ln,handleEvent:function(t,n,r,i){return e[n].element.handleEvent(t,r,i)},bindingCount:i,outputCount:o,lastRenderRootNode:p}}function ci(t){return 0!=(1&t.flags)&&null===t.element.name}function di(t,e,n){var r=e.element&&e.element.template;if(r){if(!r.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(r.lastRenderRootNode&&16777216&r.lastRenderRootNode.flags)throw new Error("Illegal State: Last root node of a template can't have embedded views, at index "+e.nodeIndex+"!")}if(20224&e.flags&&0==(1&(t?t.flags:0)))throw new Error("Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index "+e.nodeIndex+"!");if(e.query){if(67108864&e.flags&&(!t||0==(16384&t.flags)))throw new Error("Illegal State: Content Query nodes need to be children of directives, at index "+e.nodeIndex+"!");if(134217728&e.flags&&t)throw new Error("Illegal State: View Query nodes have to be top level nodes, at index "+e.nodeIndex+"!")}if(e.childCount){var i=t?t.nodeIndex+t.childCount:n-1;if(e.nodeIndex<=i&&e.nodeIndex+e.childCount>i)throw new Error("Illegal State: childCount of node leads outside of parent, at index "+e.nodeIndex+"!")}}function hi(t,e,n,r){var i=_i(t.root,t.renderer,t,e,n);return mi(i,t.component,r),gi(i),i}function pi(t,e,n){var r=_i(t,t.renderer,null,null,e);return mi(r,n,n),gi(r),r}function fi(t,e,n,r){var i,o=e.element.componentRendererType;return i=o?t.root.rendererFactory.createRenderer(r,o):t.root.renderer,_i(t.root,i,t,e.element.componentProvider,n)}function _i(t,e,n,r,i){var o=new Array(i.nodes.length),a=i.outputCount?new Array(i.outputCount):null;return{def:i,parent:n,viewContainerParent:null,parentNodeDef:r,context:null,component:null,nodes:o,state:13,root:t,renderer:e,oldValues:new Array(i.bindingCount),disposables:a,initIndex:-1}}function mi(t,e,n){t.component=e,t.context=n}function gi(t){var e;Ln(t)&&(e=$e(t.parent,t.parentNodeDef.parent.nodeIndex).renderElement);for(var n=t.def,r=t.nodes,i=0;i0&&Kn(t,e,0,n)&&(p=!0),h>1&&Kn(t,e,1,r)&&(p=!0),h>2&&Kn(t,e,2,i)&&(p=!0),h>3&&Kn(t,e,3,o)&&(p=!0),h>4&&Kn(t,e,4,a)&&(p=!0),h>5&&Kn(t,e,5,s)&&(p=!0),h>6&&Kn(t,e,6,l)&&(p=!0),h>7&&Kn(t,e,7,u)&&(p=!0),h>8&&Kn(t,e,8,c)&&(p=!0),h>9&&Kn(t,e,9,d)&&(p=!0),p}(t,e,n,r,i,o,a,s,l,u,c,d);case 2:return function(t,e,n,r,i,o,a,s,l,u,c,d){var h=!1,p=e.bindings,f=p.length;if(f>0&&gn(t,e,0,n)&&(h=!0),f>1&&gn(t,e,1,r)&&(h=!0),f>2&&gn(t,e,2,i)&&(h=!0),f>3&&gn(t,e,3,o)&&(h=!0),f>4&&gn(t,e,4,a)&&(h=!0),f>5&&gn(t,e,5,s)&&(h=!0),f>6&&gn(t,e,6,l)&&(h=!0),f>7&&gn(t,e,7,u)&&(h=!0),f>8&&gn(t,e,8,c)&&(h=!0),f>9&&gn(t,e,9,d)&&(h=!0),h){var _=e.text.prefix;f>0&&(_+=li(n,p[0])),f>1&&(_+=li(r,p[1])),f>2&&(_+=li(i,p[2])),f>3&&(_+=li(o,p[3])),f>4&&(_+=li(a,p[4])),f>5&&(_+=li(s,p[5])),f>6&&(_+=li(l,p[6])),f>7&&(_+=li(u,p[7])),f>8&&(_+=li(c,p[8])),f>9&&(_+=li(d,p[9]));var m=Qe(t,e.nodeIndex).renderText;t.renderer.setValue(m,_)}return h}(t,e,n,r,i,o,a,s,l,u,c,d);case 16384:return function(t,e,n,r,i,o,a,s,l,u,c,d){var h=tn(t,e.nodeIndex),p=h.instance,f=!1,_=void 0,m=e.bindings.length;return m>0&&mn(t,e,0,n)&&(f=!0,_=Ur(t,h,e,0,n,_)),m>1&&mn(t,e,1,r)&&(f=!0,_=Ur(t,h,e,1,r,_)),m>2&&mn(t,e,2,i)&&(f=!0,_=Ur(t,h,e,2,i,_)),m>3&&mn(t,e,3,o)&&(f=!0,_=Ur(t,h,e,3,o,_)),m>4&&mn(t,e,4,a)&&(f=!0,_=Ur(t,h,e,4,a,_)),m>5&&mn(t,e,5,s)&&(f=!0,_=Ur(t,h,e,5,s,_)),m>6&&mn(t,e,6,l)&&(f=!0,_=Ur(t,h,e,6,l,_)),m>7&&mn(t,e,7,u)&&(f=!0,_=Ur(t,h,e,7,u,_)),m>8&&mn(t,e,8,c)&&(f=!0,_=Ur(t,h,e,8,c,_)),m>9&&mn(t,e,9,d)&&(f=!0,_=Ur(t,h,e,9,d,_)),_&&p.ngOnChanges(_),65536&e.flags&&Ze(t,256,e.nodeIndex)&&p.ngOnInit(),262144&e.flags&&p.ngDoCheck(),f}(t,e,n,r,i,o,a,s,l,u,c,d);case 32:case 64:case 128:return function(t,e,n,r,i,o,a,s,l,u,c,d){var h=e.bindings,p=!1,f=h.length;if(f>0&&gn(t,e,0,n)&&(p=!0),f>1&&gn(t,e,1,r)&&(p=!0),f>2&&gn(t,e,2,i)&&(p=!0),f>3&&gn(t,e,3,o)&&(p=!0),f>4&&gn(t,e,4,a)&&(p=!0),f>5&&gn(t,e,5,s)&&(p=!0),f>6&&gn(t,e,6,l)&&(p=!0),f>7&&gn(t,e,7,u)&&(p=!0),f>8&&gn(t,e,8,c)&&(p=!0),f>9&&gn(t,e,9,d)&&(p=!0),p){var _=en(t,e.nodeIndex),m=void 0;switch(201347067&e.flags){case 32:m=new Array(h.length),f>0&&(m[0]=n),f>1&&(m[1]=r),f>2&&(m[2]=i),f>3&&(m[3]=o),f>4&&(m[4]=a),f>5&&(m[5]=s),f>6&&(m[6]=l),f>7&&(m[7]=u),f>8&&(m[8]=c),f>9&&(m[9]=d);break;case 64:m={},f>0&&(m[h[0].name]=n),f>1&&(m[h[1].name]=r),f>2&&(m[h[2].name]=i),f>3&&(m[h[3].name]=o),f>4&&(m[h[4].name]=a),f>5&&(m[h[5].name]=s),f>6&&(m[h[6].name]=l),f>7&&(m[h[7].name]=u),f>8&&(m[h[8].name]=c),f>9&&(m[h[9].name]=d);break;case 128:var g=n;switch(f){case 1:m=g.transform(n);break;case 2:m=g.transform(r);break;case 3:m=g.transform(r,i);break;case 4:m=g.transform(r,i,o);break;case 5:m=g.transform(r,i,o,a);break;case 6:m=g.transform(r,i,o,a,s);break;case 7:m=g.transform(r,i,o,a,s,l);break;case 8:m=g.transform(r,i,o,a,s,l,u);break;case 9:m=g.transform(r,i,o,a,s,l,u,c);break;case 10:m=g.transform(r,i,o,a,s,l,u,c,d)}}_.value=m}return p}(t,e,n,r,i,o,a,s,l,u,c,d);default:throw"unreachable"}}(t,e,r,i,o,a,s,l,u,c,d,h):function(t,e,n){switch(201347067&e.flags){case 1:return function(t,e,n){for(var r=!1,i=0;i0&&yn(t,e,0,n),h>1&&yn(t,e,1,r),h>2&&yn(t,e,2,i),h>3&&yn(t,e,3,o),h>4&&yn(t,e,4,a),h>5&&yn(t,e,5,s),h>6&&yn(t,e,6,l),h>7&&yn(t,e,7,u),h>8&&yn(t,e,8,c),h>9&&yn(t,e,9,d)}(t,e,r,i,o,a,s,l,u,c,d,h):function(t,e,n){for(var r=0;r20?e=40===t||50===t||60===t||80===t||100===t?"fed":"ain":t>0&&(e=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][t]),t+e},week:{dow:1,doy:4}})}(n("PJh5"))},ZUyn:function(t,e,n){!function(t){"use strict";t.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u51cc\u6668"===e||"\u65e9\u4e0a"===e||"\u4e0a\u5348"===e?t:"\u4e2d\u5348"===e?t>=11?t:t+12:"\u4e0b\u5348"===e||"\u665a\u4e0a"===e?t+12:void 0},meridiem:function(t,e,n){var r=100*t+e;return r<600?"\u51cc\u6668":r<900?"\u65e9\u4e0a":r<1130?"\u4e0a\u5348":r<1230?"\u4e2d\u5348":r<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"\u65e5";case"M":return t+"\u6708";case"w":case"W":return t+"\u9031";default:return t}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}})}(n("PJh5"))},ZoSI:function(t,e,n){!function(t){"use strict";t.defineLocale("pt",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},aM0x:function(t,e,n){!function(t){"use strict";var e={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},n={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};t.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09c0_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2_\u0986\u0997_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u0983_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(t){return t.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u09b0\u09be\u09a4"===e&&t>=4||"\u09a6\u09c1\u09aa\u09c1\u09b0"===e&&t<5||"\u09ac\u09bf\u0995\u09be\u09b2"===e?t+12:t},meridiem:function(t,e,n){return t<4?"\u09b0\u09be\u09a4":t<10?"\u09b8\u0995\u09be\u09b2":t<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":t<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}})}(n("PJh5"))},aqvp:function(t,e,n){!function(t){"use strict";function e(t,e,n){var r=t+" ";switch(n){case"ss":return r+(1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi");case"m":return e?"jedna minuta":"jedne minute";case"mm":return r+(1===t?"minuta":2===t||3===t||4===t?"minute":"minuta");case"h":return e?"jedan sat":"jednog sata";case"hh":return r+(1===t?"sat":2===t||3===t||4===t?"sata":"sati");case"dd":return r+(1===t?"dan":"dana");case"MM":return r+(1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci");case"yy":return r+(1===t?"godina":2===t||3===t||4===t?"godine":"godina")}}t.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},bXQP:function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}}})}(n("PJh5"))},c1x4:function(t,e,n){!function(t){"use strict";var e={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u0435 \u043c\u0438\u043d\u0443\u0442\u0435"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0435","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],yy:["\u0433\u043e\u0434\u0438\u043d\u0430","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};t.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"\u0434\u0430\u043d",dd:e.translate,M:"\u043c\u0435\u0441\u0435\u0446",MM:e.translate,y:"\u0433\u043e\u0434\u0438\u043d\u0443",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},cQXm:function(t,e,n){"use strict";e.a=function(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}},dURR:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:6,doy:12}})}(n("PJh5"))},dgOU:function(t,e,n){"use strict";e.a=function(t){return null!=t&&"object"==typeof t}},dyB6:function(t,e,n){!function(t){"use strict";t.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("PJh5"))},"e/KL":function(t,e,n){!function(t){"use strict";t.defineLocale("x-pseudo",{months:"J~\xe1\xf1\xfa\xe1~r\xfd_F~\xe9br\xfa~\xe1r\xfd_~M\xe1rc~h_\xc1p~r\xedl_~M\xe1\xfd_~J\xfa\xf1\xe9~_J\xfal~\xfd_\xc1\xfa~g\xfast~_S\xe9p~t\xe9mb~\xe9r_\xd3~ct\xf3b~\xe9r_\xd1~\xf3v\xe9m~b\xe9r_~D\xe9c\xe9~mb\xe9r".split("_"),monthsShort:"J~\xe1\xf1_~F\xe9b_~M\xe1r_~\xc1pr_~M\xe1\xfd_~J\xfa\xf1_~J\xfal_~\xc1\xfag_~S\xe9p_~\xd3ct_~\xd1\xf3v_~D\xe9c".split("_"),monthsParseExact:!0,weekdays:"S~\xfa\xf1d\xe1~\xfd_M\xf3~\xf1d\xe1\xfd~_T\xfa\xe9~sd\xe1\xfd~_W\xe9d~\xf1\xe9sd~\xe1\xfd_T~h\xfars~d\xe1\xfd_~Fr\xedd~\xe1\xfd_S~\xe1t\xfar~d\xe1\xfd".split("_"),weekdaysShort:"S~\xfa\xf1_~M\xf3\xf1_~T\xfa\xe9_~W\xe9d_~Th\xfa_~Fr\xed_~S\xe1t".split("_"),weekdaysMin:"S~\xfa_M\xf3~_T\xfa_~W\xe9_T~h_Fr~_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~\xf3d\xe1~\xfd \xe1t] LT",nextDay:"[T~\xf3m\xf3~rr\xf3~w \xe1t] LT",nextWeek:"dddd [\xe1t] LT",lastDay:"[\xdd~\xe9st~\xe9rd\xe1~\xfd \xe1t] LT",lastWeek:"[L~\xe1st] dddd [\xe1t] LT",sameElse:"L"},relativeTime:{future:"\xed~\xf1 %s",past:"%s \xe1~g\xf3",s:"\xe1 ~f\xe9w ~s\xe9c\xf3~\xf1ds",ss:"%d s~\xe9c\xf3\xf1~ds",m:"\xe1 ~m\xed\xf1~\xfat\xe9",mm:"%d m~\xed\xf1\xfa~t\xe9s",h:"\xe1~\xf1 h\xf3~\xfar",hh:"%d h~\xf3\xfars",d:"\xe1 ~d\xe1\xfd",dd:"%d d~\xe1\xfds",M:"\xe1 ~m\xf3\xf1~th",MM:"%d m~\xf3\xf1t~hs",y:"\xe1 ~\xfd\xe9\xe1r",yy:"%d \xfd~\xe9\xe1rs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("PJh5"))},"eBB/":function(t,e,n){!function(t){"use strict";t.defineLocale("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c A h:mm",LLLL:"YYYY\ub144 MMMM D\uc77c dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY\ub144 MMMM D\uc77c",lll:"YYYY\ub144 MMMM D\uc77c A h:mm",llll:"YYYY\ub144 MMMM D\uc77c dddd A h:mm"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87 \ucd08",ss:"%d\ucd08",m:"1\ubd84",mm:"%d\ubd84",h:"\ud55c \uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c \ub2ec",MM:"%d\ub2ec",y:"\uc77c \ub144",yy:"%d\ub144"},dayOfMonthOrdinalParse:/\d{1,2}(\uc77c|\uc6d4|\uc8fc)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"\uc77c";case"M":return t+"\uc6d4";case"w":case"W":return t+"\uc8fc";default:return t}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(t){return"\uc624\ud6c4"===t},meridiem:function(t,e,n){return t<12?"\uc624\uc804":"\uc624\ud6c4"}})}(n("PJh5"))},eHwN:function(t,e,n){!function(t){"use strict";var e={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-\xfcnc\xfc",4:"-\xfcnc\xfc",100:"-\xfcnc\xfc",6:"-nc\u0131",9:"-uncu",10:"-uncu",30:"-uncu",60:"-\u0131nc\u0131",90:"-\u0131nc\u0131"};t.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert\u0259si_\xc7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131_\xc7\u0259r\u015f\u0259nb\u0259_C\xfcm\u0259 ax\u015fam\u0131_C\xfcm\u0259_\u015e\u0259nb\u0259".split("_"),weekdaysShort:"Baz_BzE_\xc7Ax_\xc7\u0259r_CAx_C\xfcm_\u015e\u0259n".split("_"),weekdaysMin:"Bz_BE_\xc7A_\xc7\u0259_CA_C\xfc_\u015e\u0259".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[g\u0259l\u0259n h\u0259ft\u0259] dddd [saat] LT",lastDay:"[d\xfcn\u0259n] LT",lastWeek:"[ke\xe7\u0259n h\u0259ft\u0259] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \u0259vv\u0259l",s:"birne\xe7\u0259 saniyy\u0259",ss:"%d saniy\u0259",m:"bir d\u0259qiq\u0259",mm:"%d d\u0259qiq\u0259",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gec\u0259|s\u0259h\u0259r|g\xfcnd\xfcz|ax\u015fam/,isPM:function(t){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(t)},meridiem:function(t,e,n){return t<4?"gec\u0259":t<12?"s\u0259h\u0259r":t<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(t){if(0===t)return t+"-\u0131nc\u0131";var n=t%10;return t+(e[n]||e[t%100-n]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("PJh5"))},etqZ:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(t){var e=t.Symbol;if("function"==typeof e)return e.iterator||(e.iterator=e("iterator polyfill")),e.iterator;var n=t.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var r=t.Map;if(r)for(var i=Object.getOwnPropertyNames(r.prototype),o=0;o=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};t.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},f9aG:function(t,e,n){"use strict";function r(){}function i(t){return t?1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}:r}e.a=function(){for(var t=[],e=0;e=20?"ste":"de")},week:{dow:1,doy:4}})}(n("PJh5"))},gEQe:function(t,e,n){!function(t){"use strict";var e={1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"},n={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};t.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(t){return t.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===e?t<4?t:t+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===e?t:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===e?t>=10?t:t+12:"\u0cb8\u0c82\u0c9c\u0cc6"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":t<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":t<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":t<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(t){return t+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}})}(n("PJh5"))},gEU3:function(t,e,n){!function(t){"use strict";t.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},gUgh:function(t,e,n){!function(t){"use strict";t.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("PJh5"))},hPuz:function(t,e,n){!function(t){"use strict";t.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("PJh5"))},hng5:function(t,e,n){!function(t){"use strict";t.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})}(n("PJh5"))},iNtv:function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={s:["viensas secunds","'iensas secunds"],ss:[t+" secunds",t+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[t+" m\xeduts",t+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[t+" \xfeoras",t+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[t+" ziuas",t+" ziuas"],M:["'n mes","'iens mes"],MM:[t+" mesen",t+" mesen"],y:["'n ar","'iens ar"],yy:[t+" ars",t+" ars"]};return r?i[n][0]:e?i[n][0]:i[n][1]}t.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(t){return"d'o"===t.toLowerCase()},meridiem:function(t,e,n){return t>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},"j+vx":function(t,e,n){!function(t){"use strict";var e={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"};t.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(t){return t+(e[t]||e[t%10]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("PJh5"))},j8cJ:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}})}(n("PJh5"))},jxEH:function(t,e,n){!function(t){"use strict";var e={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function n(t,e,n){return n?e%10==1&&e%100!=11?t[2]:t[3]:e%10==1&&e%100!=11?t[0]:t[1]}function r(t,r,i){return t+" "+n(e[i],t,r)}function i(t,r,i){return n(e[i],t,r)}t.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(t,e){return e?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:r,m:i,mm:r,h:i,hh:r,d:i,dd:r,M:i,MM:r,y:i,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},"k+5o":function(t,e,n){!function(t){"use strict";var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};t.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_\xc7ar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(t,n){switch(n){case"d":case"D":case"Do":case"DD":return t;default:if(0===t)return t+"'\u0131nc\u0131";var r=t%10;return t+(e[r]||e[t%100-r]||e[t>=100?100:null])}},week:{dow:1,doy:7}})}(n("PJh5"))},krPU:function(t,e,n){!function(t){"use strict";t.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}(n("PJh5"))},lOED:function(t,e,n){!function(t){"use strict";t.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0440_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u043d\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-\u0435\u0432":0===n?t+"-\u0435\u043d":n>10&&n<20?t+"-\u0442\u0438":1===e?t+"-\u0432\u0438":2===e?t+"-\u0440\u0438":7===e||8===e?t+"-\u043c\u0438":t+"-\u0442\u0438"},week:{dow:1,doy:7}})}(n("PJh5"))},m7yE:function(t,e,n){!function(t){"use strict";var e="pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function n(t,n,r,i){var o=function(t){var n=Math.floor(t%1e3/100),r=Math.floor(t%100/10),i=t%10,o="";return n>0&&(o+=e[n]+"vatlh"),r>0&&(o+=(""!==o?" ":"")+e[r]+"maH"),i>0&&(o+=(""!==o?" ":"")+e[i]),""===o?"pagh":o}(t);switch(r){case"ss":return o+" lup";case"mm":return o+" tup";case"hh":return o+" rep";case"dd":return o+" jaj";case"MM":return o+" jar";case"yy":return o+" DIS"}}t.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(t){var e=t;return-1!==t.indexOf("jaj")?e.slice(0,-3)+"leS":-1!==t.indexOf("jar")?e.slice(0,-3)+"waQ":-1!==t.indexOf("DIS")?e.slice(0,-3)+"nem":e+" pIq"},past:function(t){var e=t;return-1!==t.indexOf("jaj")?e.slice(0,-3)+"Hu\u2019":-1!==t.indexOf("jar")?e.slice(0,-3)+"wen":-1!==t.indexOf("DIS")?e.slice(0,-3)+"ben":e+" ret"},s:"puS lup",ss:n,m:"wa\u2019 tup",mm:n,h:"wa\u2019 rep",hh:n,d:"wa\u2019 jaj",dd:n,M:"wa\u2019 jar",MM:n,y:"wa\u2019 DIS",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},nE8X:function(t,e,n){!function(t){"use strict";t.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(t){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===t},meridiem:function(t,e,n){return t<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(t){return"\u0e97\u0eb5\u0ec8"+t}})}(n("PJh5"))},nLOz:function(t,e,n){!function(t){"use strict";t.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){return t+(1===t?"d":t%10==2?"na":"mh")},week:{dow:1,doy:4}})}(n("PJh5"))},nS2h:function(t,e,n){!function(t){"use strict";var e="nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" "),n=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",e[7],e[8],e[9]];function r(t,r,i,o){var a="";switch(i){case"s":return o?"muutaman sekunnin":"muutama sekunti";case"ss":return o?"sekunnin":"sekuntia";case"m":return o?"minuutin":"minuutti";case"mm":a=o?"minuutin":"minuuttia";break;case"h":return o?"tunnin":"tunti";case"hh":a=o?"tunnin":"tuntia";break;case"d":return o?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":a=o?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return o?"kuukauden":"kuukausi";case"MM":a=o?"kuukauden":"kuukautta";break;case"y":return o?"vuoden":"vuosi";case"yy":a=o?"vuoden":"vuotta"}return function(t,r){return t<10?r?n[t]:e[t]:t}(t,o)+" "+a}t.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},ntHu:function(t,e,n){!function(t){"use strict";function e(t,e,n){var r,i;return"m"===n?e?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===n?e?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":t+" "+(r=+t,i={ss:e?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:e?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:e?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[n].split("_"),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}function n(t){return function(){return t+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}t.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(t,e){var n={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return t?n[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(e)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(e)?"genitive":"nominative"][t.day()]:n.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:n("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:n("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:n("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:n("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return n("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return n("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:e,m:e,mm:e,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:e,d:"\u0434\u0435\u043d\u044c",dd:e,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:e,y:"\u0440\u0456\u043a",yy:e},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(t){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(t)},meridiem:function(t,e,n){return t<4?"\u043d\u043e\u0447\u0456":t<12?"\u0440\u0430\u043d\u043a\u0443":t<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t+"-\u0439";case"D":return t+"-\u0433\u043e";default:return t}},week:{dow:1,doy:7}})}(n("PJh5"))},oCzW:function(t,e,n){!function(t){"use strict";t.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},oo1B:function(t,e,n){!function(t){"use strict";t.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===e&&t>=4||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===e||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===e?t+12:t},meridiem:function(t,e,n){return t<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":t<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":t<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":t<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}})}(n("PJh5"))},ooba:function(t,e,n){!function(t){"use strict";t.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("PJh5"))},pfs9:function(t,e,n){!function(t){"use strict";var e={1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"},n={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"};t.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(t){return t.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0a30\u0a3e\u0a24"===e?t<4?t:t+12:"\u0a38\u0a35\u0a47\u0a30"===e?t:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===e?t>=10?t:t+12:"\u0a38\u0a3c\u0a3e\u0a2e"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0a30\u0a3e\u0a24":t<10?"\u0a38\u0a35\u0a47\u0a30":t<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":t<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}})}(n("PJh5"))},rIuo:function(t,e,n){!function(t){"use strict";var e=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],n=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];t.defineLocale("dv",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0789\u0786|\u0789\u078a/,isPM:function(t){return"\u0789\u078a"===t},meridiem:function(t,e,n){return t<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(t){return t.replace(/\u060c/g,",")},postformat:function(t){return t.replace(/,/g,"\u060c")},week:{dow:7,doy:12}})}(n("PJh5"))},rtsW:function(t,e,n){!function(t){"use strict";var e={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},n={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"};t.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ac7\u0ab9\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(t){return t.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0ab0\u0abe\u0aa4"===e?t<4?t:t+12:"\u0ab8\u0ab5\u0abe\u0ab0"===e?t:"\u0aac\u0aaa\u0acb\u0ab0"===e?t>=10?t:t+12:"\u0ab8\u0abe\u0a82\u0a9c"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0ab0\u0abe\u0aa4":t<10?"\u0ab8\u0ab5\u0abe\u0ab0":t<17?"\u0aac\u0aaa\u0acb\u0ab0":t<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}})}(n("PJh5"))},sqLM:function(t,e,n){!function(t){"use strict";t.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},ssxj:function(t,e,n){!function(t){"use strict";var e="leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),n="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_");function r(t){return t>1&&t<5&&1!=~~(t/10)}function i(t,e,n,i){var o=t+" ";switch(n){case"s":return e||i?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return e||i?o+(r(t)?"sekundy":"sekund"):o+"sekundami";case"m":return e?"minuta":i?"minutu":"minutou";case"mm":return e||i?o+(r(t)?"minuty":"minut"):o+"minutami";case"h":return e?"hodina":i?"hodinu":"hodinou";case"hh":return e||i?o+(r(t)?"hodiny":"hodin"):o+"hodinami";case"d":return e||i?"den":"dnem";case"dd":return e||i?o+(r(t)?"dny":"dn\xed"):o+"dny";case"M":return e||i?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return e||i?o+(r(t)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):o+"m\u011bs\xedci";case"y":return e||i?"rok":"rokem";case"yy":return e||i?o+(r(t)?"roky":"let"):o+"lety"}}t.defineLocale("cs",{months:e,monthsShort:n,monthsParse:function(t,e){var n,r=[];for(n=0;n<12;n++)r[n]=new RegExp("^"+t[n]+"$|^"+e[n]+"$","i");return r}(e,n),shortMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(n),longMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(e),weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},svD2:function(t,e,n){!function(t){"use strict";var e={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};t.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mjesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},t7NR:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r={closed:!0,next:function(t){},error:function(t){throw t},complete:function(){}}},tLDX:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("AMGY").a.Symbol,i="function"==typeof r&&"function"==typeof r.for?r.for("rxSubscriber"):"@@rxSubscriber"},tZ2B:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("TToO"),i=function(t){function e(){t.apply(this,arguments)}return Object(r.b)(e,t),e.prototype.notifyNext=function(t,e,n,r,i){this.destination.next(e)},e.prototype.notifyError=function(t,e){this.destination.error(t)},e.prototype.notifyComplete=function(t){this.destination.complete()},e}(n("OVmG").a)},tkWw:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-dz",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u0623\u062d_\u0625\u062b_\u062b\u0644\u0627_\u0623\u0631_\u062e\u0645_\u062c\u0645_\u0633\u0628".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:4}})}(n("PJh5"))},tzHd:function(t,e,n){!function(t){"use strict";t.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(t,e){switch(e){case"D":return t+(1===t?"er":"");default:case"M":case"Q":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n("PJh5"))},uSe8:function(t,e,n){!function(t){"use strict";var e=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],n=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"];t.defineLocale("ur",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(t){return"\u0634\u0627\u0645"===t},meridiem:function(t,e,n){return t<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(t){return t.replace(/\u060c/g,",")},postformat:function(t){return t.replace(/,/g,"\u060c")},week:{dow:1,doy:4}})}(n("PJh5"))},ulq9:function(t,e,n){!function(t){"use strict";function e(t,e,n){var r,i;return"m"===n?e?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":t+" "+(r=+t,i={ss:e?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:e?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[n].split("_"),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}var n=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i];t.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?\] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:n,longMonthsParse:n,shortMonthsParse:n,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430, \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430, \u0432] LT",nextWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd, [\u0432] LT"}},lastWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd, [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:e,m:e,mm:e,h:"\u0447\u0430\u0441",hh:e,d:"\u0434\u0435\u043d\u044c",dd:e,M:"\u043c\u0435\u0441\u044f\u0446",MM:e,y:"\u0433\u043e\u0434",yy:e},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(t){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(t)},meridiem:function(t,e,n){return t<4?"\u043d\u043e\u0447\u0438":t<12?"\u0443\u0442\u0440\u0430":t<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":return t+"-\u0439";case"D":return t+"-\u0433\u043e";case"w":case"W":return t+"-\u044f";default:return t}},week:{dow:1,doy:4}})}(n("PJh5"))},upln:function(t,e,n){!function(t){"use strict";function e(t){return t%100==11||t%10!=1}function n(t,n,r,i){var o=t+" ";switch(r){case"s":return n||i?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return e(t)?o+(n||i?"sek\xfandur":"sek\xfandum"):o+"sek\xfanda";case"m":return n?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return e(t)?o+(n||i?"m\xedn\xfatur":"m\xedn\xfatum"):n?o+"m\xedn\xfata":o+"m\xedn\xfatu";case"hh":return e(t)?o+(n||i?"klukkustundir":"klukkustundum"):o+"klukkustund";case"d":return n?"dagur":i?"dag":"degi";case"dd":return e(t)?n?o+"dagar":o+(i?"daga":"d\xf6gum"):n?o+"dagur":o+(i?"dag":"degi");case"M":return n?"m\xe1nu\xf0ur":i?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return e(t)?n?o+"m\xe1nu\xf0ir":o+(i?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):n?o+"m\xe1nu\xf0ur":o+(i?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return n||i?"\xe1r":"\xe1ri";case"yy":return e(t)?o+(n||i?"\xe1r":"\xe1rum"):o+(n||i?"\xe1r":"\xe1ri")}}t.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:n,ss:n,m:n,mm:n,h:"klukkustund",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},uslO:function(t,e,n){var r={"./af":"3CJN","./af.js":"3CJN","./ar":"3MVc","./ar-dz":"tkWw","./ar-dz.js":"tkWw","./ar-kw":"j8cJ","./ar-kw.js":"j8cJ","./ar-ly":"wPpW","./ar-ly.js":"wPpW","./ar-ma":"dURR","./ar-ma.js":"dURR","./ar-sa":"7OnE","./ar-sa.js":"7OnE","./ar-tn":"BEem","./ar-tn.js":"BEem","./ar.js":"3MVc","./az":"eHwN","./az.js":"eHwN","./be":"3hfc","./be.js":"3hfc","./bg":"lOED","./bg.js":"lOED","./bm":"hng5","./bm.js":"hng5","./bn":"aM0x","./bn.js":"aM0x","./bo":"w2Hs","./bo.js":"w2Hs","./br":"OSsP","./br.js":"OSsP","./bs":"aqvp","./bs.js":"aqvp","./ca":"wIgY","./ca.js":"wIgY","./cs":"ssxj","./cs.js":"ssxj","./cv":"N3vo","./cv.js":"N3vo","./cy":"ZFGz","./cy.js":"ZFGz","./da":"YBA/","./da.js":"YBA/","./de":"DOkx","./de-at":"8v14","./de-at.js":"8v14","./de-ch":"Frex","./de-ch.js":"Frex","./de.js":"DOkx","./dv":"rIuo","./dv.js":"rIuo","./el":"CFqe","./el.js":"CFqe","./en-au":"Sjoy","./en-au.js":"Sjoy","./en-ca":"Tqun","./en-ca.js":"Tqun","./en-gb":"hPuz","./en-gb.js":"hPuz","./en-ie":"ALEw","./en-ie.js":"ALEw","./en-il":"QZk1","./en-il.js":"QZk1","./en-nz":"dyB6","./en-nz.js":"dyB6","./eo":"Nd3h","./eo.js":"Nd3h","./es":"LT9G","./es-do":"7MHZ","./es-do.js":"7MHZ","./es-us":"INcR","./es-us.js":"INcR","./es.js":"LT9G","./et":"XlWM","./et.js":"XlWM","./eu":"sqLM","./eu.js":"sqLM","./fa":"2pmY","./fa.js":"2pmY","./fi":"nS2h","./fi.js":"nS2h","./fo":"OVPi","./fo.js":"OVPi","./fr":"tzHd","./fr-ca":"bXQP","./fr-ca.js":"bXQP","./fr-ch":"VK9h","./fr-ch.js":"VK9h","./fr.js":"tzHd","./fy":"g7KF","./fy.js":"g7KF","./gd":"nLOz","./gd.js":"nLOz","./gl":"FuaP","./gl.js":"FuaP","./gom-latn":"+27R","./gom-latn.js":"+27R","./gu":"rtsW","./gu.js":"rtsW","./he":"Nzt2","./he.js":"Nzt2","./hi":"ETHv","./hi.js":"ETHv","./hr":"V4qH","./hr.js":"V4qH","./hu":"xne+","./hu.js":"xne+","./hy-am":"GrS7","./hy-am.js":"GrS7","./id":"yRTJ","./id.js":"yRTJ","./is":"upln","./is.js":"upln","./it":"FKXc","./it.js":"FKXc","./ja":"ORgI","./ja.js":"ORgI","./jv":"JwiF","./jv.js":"JwiF","./ka":"RnJI","./ka.js":"RnJI","./kk":"j+vx","./kk.js":"j+vx","./km":"5j66","./km.js":"5j66","./kn":"gEQe","./kn.js":"gEQe","./ko":"eBB/","./ko.js":"eBB/","./ky":"6cf8","./ky.js":"6cf8","./lb":"z3hR","./lb.js":"z3hR","./lo":"nE8X","./lo.js":"nE8X","./lt":"/6P1","./lt.js":"/6P1","./lv":"jxEH","./lv.js":"jxEH","./me":"svD2","./me.js":"svD2","./mi":"gEU3","./mi.js":"gEU3","./mk":"Ab7C","./mk.js":"Ab7C","./ml":"oo1B","./ml.js":"oo1B","./mn":"CqHt","./mn.js":"CqHt","./mr":"5vPg","./mr.js":"5vPg","./ms":"ooba","./ms-my":"G++c","./ms-my.js":"G++c","./ms.js":"ooba","./mt":"oCzW","./mt.js":"oCzW","./my":"F+2e","./my.js":"F+2e","./nb":"FlzV","./nb.js":"FlzV","./ne":"/mhn","./ne.js":"/mhn","./nl":"3K28","./nl-be":"Bp2f","./nl-be.js":"Bp2f","./nl.js":"3K28","./nn":"C7av","./nn.js":"C7av","./pa-in":"pfs9","./pa-in.js":"pfs9","./pl":"7LV+","./pl.js":"7LV+","./pt":"ZoSI","./pt-br":"AoDM","./pt-br.js":"AoDM","./pt.js":"ZoSI","./ro":"wT5f","./ro.js":"wT5f","./ru":"ulq9","./ru.js":"ulq9","./sd":"fW1y","./sd.js":"fW1y","./se":"5Omq","./se.js":"5Omq","./si":"Lgqo","./si.js":"Lgqo","./sk":"OUMt","./sk.js":"OUMt","./sl":"2s1U","./sl.js":"2s1U","./sq":"V0td","./sq.js":"V0td","./sr":"f4W3","./sr-cyrl":"c1x4","./sr-cyrl.js":"c1x4","./sr.js":"f4W3","./ss":"7Q8x","./ss.js":"7Q8x","./sv":"Fpqq","./sv.js":"Fpqq","./sw":"DSXN","./sw.js":"DSXN","./ta":"+7/x","./ta.js":"+7/x","./te":"Nlnz","./te.js":"Nlnz","./tet":"gUgh","./tet.js":"gUgh","./tg":"5SNd","./tg.js":"5SNd","./th":"XzD+","./th.js":"XzD+","./tl-ph":"3LKG","./tl-ph.js":"3LKG","./tlh":"m7yE","./tlh.js":"m7yE","./tr":"k+5o","./tr.js":"k+5o","./tzl":"iNtv","./tzl.js":"iNtv","./tzm":"FRPF","./tzm-latn":"krPU","./tzm-latn.js":"krPU","./tzm.js":"FRPF","./ug-cn":"To0v","./ug-cn.js":"To0v","./uk":"ntHu","./uk.js":"ntHu","./ur":"uSe8","./ur.js":"uSe8","./uz":"XU1s","./uz-latn":"/bsm","./uz-latn.js":"/bsm","./uz.js":"XU1s","./vi":"0X8Q","./vi.js":"0X8Q","./x-pseudo":"e/KL","./x-pseudo.js":"e/KL","./yo":"YXlc","./yo.js":"YXlc","./zh-cn":"Vz2w","./zh-cn.js":"Vz2w","./zh-hk":"ZUyn","./zh-hk.js":"ZUyn","./zh-tw":"BbgG","./zh-tw.js":"BbgG"};function i(t){return n(o(t))}function o(t){var e=r[t];if(!(e+1))throw new Error("Cannot find module '"+t+"'.");return e}i.keys=function(){return Object.keys(r)},i.resolve=o,t.exports=i,i.id="uslO"},w2Hs:function(t,e,n){!function(t){"use strict";var e={1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"},n={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};t.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(t){return t.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===e&&t>=4||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===e&&t<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===e?t+12:t},meridiem:function(t,e,n){return t<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":t<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":t<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":t<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}})}(n("PJh5"))},wIgY:function(t,e,n){!function(t){"use strict";t.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(t,e){var n=1===t?"r":2===t?"n":3===t?"r":4===t?"t":"\xe8";return"w"!==e&&"W"!==e||(n="a"),t+n},week:{dow:1,doy:4}})}(n("PJh5"))},wPpW:function(t,e,n){!function(t){"use strict";var e={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},r={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},i=function(t){return function(e,i,o,a){var s=n(e),l=r[t][n(e)];return 2===s&&(l=l[i?0:1]),l.replace(/%d/i,e)}},o=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];t.defineLocale("ar-ly",{months:o,monthsShort:o,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(t){return"\u0645"===t},meridiem:function(t,e,n){return t<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:i("s"),ss:i("s"),m:i("m"),mm:i("m"),h:i("h"),hh:i("h"),d:i("d"),dd:i("d"),M:i("M"),MM:i("M"),y:i("y"),yy:i("y")},preparse:function(t){return t.replace(/\u060c/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(n("PJh5"))},wT5f:function(t,e,n){!function(t){"use strict";function e(t,e,n){var r=" ";return(t%100>=20||t>=100&&t%100==0)&&(r=" de "),t+r+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[n]}t.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:e,m:"un minut",mm:e,h:"o or\u0103",hh:e,d:"o zi",dd:e,M:"o lun\u0103",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}})}(n("PJh5"))},x35b:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n("WT6e"),i={nodeUrl:"http://127.0.0.1:7220/",production:!0,tellerUrl:"https://event.skycoin.net/api/"},o=n("TToO"),a=n("YaPU"),s=function(){},l=new r.p("Location Initialized"),u=function(){},c=new r.p("appBaseHref"),d=function(){function t(e){var n=this;this._subject=new r.n,this._platformStrategy=e;var i=this._platformStrategy.getBaseHref();this._baseHref=t.stripTrailingSlash(h(i)),this._platformStrategy.onPopState(function(t){n._subject.emit({url:n.path(!0),pop:!0,type:t.type})})}return t.prototype.path=function(t){return void 0===t&&(t=!1),this.normalize(this._platformStrategy.path(t))},t.prototype.isCurrentPathEqualTo=function(e,n){return void 0===n&&(n=""),this.path()==this.normalize(e+t.normalizeQueryParams(n))},t.prototype.normalize=function(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,h(e)))},t.prototype.prepareExternalUrl=function(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)},t.prototype.go=function(t,e){void 0===e&&(e=""),this._platformStrategy.pushState(null,"",t,e)},t.prototype.replaceState=function(t,e){void 0===e&&(e=""),this._platformStrategy.replaceState(null,"",t,e)},t.prototype.forward=function(){this._platformStrategy.forward()},t.prototype.back=function(){this._platformStrategy.back()},t.prototype.subscribe=function(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})},t.normalizeQueryParams=function(t){return t&&"?"!==t[0]?"?"+t:t},t.joinWithSlash=function(t,e){if(0==t.length)return e;if(0==e.length)return t;var n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e},t.stripTrailingSlash=function(t){var e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)},t}();function h(t){return t.replace(/\/index.html$/,"")}var p=function(t){function e(e,n){var r=t.call(this)||this;return r._platformLocation=e,r._baseHref="",null!=n&&(r._baseHref=n),r}return Object(o.b)(e,t),e.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},e.prototype.getBaseHref=function(){return this._baseHref},e.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.hash;return null==e&&(e="#"),e.length>0?e.substring(1):e},e.prototype.prepareExternalUrl=function(t){var e=d.joinWithSlash(this._baseHref,t);return e.length>0?"#"+e:e},e.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+d.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.pushState(t,e,i)},e.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+d.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.replaceState(t,e,i)},e.prototype.forward=function(){this._platformLocation.forward()},e.prototype.back=function(){this._platformLocation.back()},e}(u),f=function(t){function e(e,n){var r=t.call(this)||this;if(r._platformLocation=e,null==n&&(n=r._platformLocation.getBaseHrefFromDOM()),null==n)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");return r._baseHref=n,r}return Object(o.b)(e,t),e.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},e.prototype.getBaseHref=function(){return this._baseHref},e.prototype.prepareExternalUrl=function(t){return d.joinWithSlash(this._baseHref,t)},e.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.pathname+d.normalizeQueryParams(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?""+e+n:e},e.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+d.normalizeQueryParams(r));this._platformLocation.pushState(t,e,i)},e.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+d.normalizeQueryParams(r));this._platformLocation.replaceState(t,e,i)},e.prototype.forward=function(){this._platformLocation.forward()},e.prototype.back=function(){this._platformLocation.back()},e}(u),_=["en",[["a","p"],["AM","PM"]],[["AM","PM"],,],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",,"{1} 'at' {0}"],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"$","US Dollar",function(t){var e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}],m={},g=function(){var t={Decimal:0,Percent:1,Currency:2,Scientific:3};return t[t.Decimal]="Decimal",t[t.Percent]="Percent",t[t.Currency]="Currency",t[t.Scientific]="Scientific",t}(),y=function(){var t={Zero:0,One:1,Two:2,Few:3,Many:4,Other:5};return t[t.Zero]="Zero",t[t.One]="One",t[t.Two]="Two",t[t.Few]="Few",t[t.Many]="Many",t[t.Other]="Other",t}(),v=function(){var t={Format:0,Standalone:1};return t[t.Format]="Format",t[t.Standalone]="Standalone",t}(),b=function(){var t={Narrow:0,Abbreviated:1,Wide:2,Short:3};return t[t.Narrow]="Narrow",t[t.Abbreviated]="Abbreviated",t[t.Wide]="Wide",t[t.Short]="Short",t}(),w=function(){var t={Short:0,Medium:1,Long:2,Full:3};return t[t.Short]="Short",t[t.Medium]="Medium",t[t.Long]="Long",t[t.Full]="Full",t}(),M=function(){var t={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};return t[t.Decimal]="Decimal",t[t.Group]="Group",t[t.List]="List",t[t.PercentSign]="PercentSign",t[t.PlusSign]="PlusSign",t[t.MinusSign]="MinusSign",t[t.Exponential]="Exponential",t[t.SuperscriptingExponent]="SuperscriptingExponent",t[t.PerMille]="PerMille",t[t.Infinity]="Infinity",t[t.NaN]="NaN",t[t.TimeSeparator]="TimeSeparator",t[t.CurrencyDecimal]="CurrencyDecimal",t[t.CurrencyGroup]="CurrencyGroup",t}();function k(t,e){return T(O(t)[10],e)}function x(t,e){return T(O(t)[11],e)}function L(t,e){return T(O(t)[12],e)}function C(t,e){var n=O(t),r=n[13][e];if("undefined"==typeof r){if(e===M.CurrencyDecimal)return n[13][M.Decimal];if(e===M.CurrencyGroup)return n[13][M.Group]}return r}function S(t){if(!t[18])throw new Error('Missing extra locale data for the locale "'+t[0]+'". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.')}function T(t,e){for(var n=e;n>-1;n--)if("undefined"!=typeof t[n])return t[n];throw new Error("Locale data API: locale data undefined")}function D(t){var e=t.split(":");return{hours:+e[0],minutes:+e[1]}}function O(t){var e=t.toLowerCase().replace(/_/g,"-"),n=m[e];if(n)return n;var r=e.split("-")[0];if(n=m[r])return n;if("en"===r)return _;throw new Error('Missing locale data for the locale "'+t+'".')}var Y=new r.p("UseV4Plurals"),P=function(){},E=function(t){function e(e,n){var r=t.call(this)||this;return r.locale=e,r.deprecatedPluralFn=n,r}return Object(o.b)(e,t),e.prototype.getPluralCategory=function(t,e){switch(this.deprecatedPluralFn?this.deprecatedPluralFn(e||this.locale,t):function(t){return O(t)[17]}(e||this.locale)(t)){case y.Zero:return"zero";case y.One:return"one";case y.Two:return"two";case y.Few:return"few";case y.Many:return"many";default:return"other"}},e}(P);function j(t,e){e=encodeURIComponent(e);for(var n=0,r=t.split(";");n0||s>-n)&&(s+=n),t===K.Hours&&0===s&&-12===n&&(s=12),Q(s,e,C(a,M.MinusSign),r,i)}}function tt(t,e,n,r){return void 0===n&&(n=v.Format),void 0===r&&(r=!1),function(i,o){return function(t,e,n,r,i,o){switch(n){case X.Months:return function(t,e,n){var r=O(t);return T(T([r[5],r[6]],e),n)}(e,i,r)[t.getMonth()];case X.Days:return function(t,e,n){var r=O(t);return T(T([r[3],r[4]],e),n)}(e,i,r)[t.getDay()];case X.DayPeriods:var a=t.getHours(),s=t.getMinutes();if(o){var l,u=function(t){var e=O(t);return S(e),(e[18][2]||[]).map(function(t){return"string"==typeof t?D(t):[D(t[0]),D(t[1])]})}(e),c=function(t,e,n){var r=O(t);return S(r),T(T([r[18][0],r[18][1]],e)||[],n)||[]}(e,i,r);if(u.forEach(function(t,e){if(Array.isArray(t)){var n=t[0],r=t[1],i=r.hours;a>=n.hours&&s>=n.minutes&&(a0?Math.floor(i/60):Math.ceil(i/60);switch(t){case G.Short:return(i>=0?"+":"")+Q(a,2,o)+Q(Math.abs(i%60),2,o);case G.ShortGMT:return"GMT"+(i>=0?"+":"")+Q(a,1,o);case G.Long:return"GMT"+(i>=0?"+":"")+Q(a,2,o)+":"+Q(Math.abs(i%60),2,o);case G.Extended:return 0===r?"Z":(i>=0?"+":"")+Q(a,2,o)+":"+Q(Math.abs(i%60),2,o);default:throw new Error('Unknown zone width "'+t+'"')}}}var nt=0,rt=4;function it(t,e){return void 0===e&&(e=!1),function(n,r){var i,o,a,s;if(e){var l=new Date(n.getFullYear(),n.getMonth(),1).getDay()-1,u=n.getDate();i=1+Math.floor((u+l)/7)}else{var c=(a=n.getFullYear(),s=new Date(a,nt,1).getDay(),new Date(a,0,1+(s<=rt?rt:rt+7)-s)),d=(o=n,new Date(o.getFullYear(),o.getMonth(),o.getDate()+(rt-o.getDay()))).getTime()-c.getTime();i=1+Math.round(d/6048e5)}return Q(i,t,C(r,M.MinusSign))}}var ot={};function at(t,e){t=t.replace(/:/g,"");var n=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(n)?e:n}function st(t,e){return Error("InvalidPipeArgument: '"+e+"' for pipe '"+Object(r._26)(t)+"'")}var lt=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,ut=function(){function t(t){this.locale=t}return t.prototype.transform=function(e,n,r,i){if(void 0===n&&(n="mediumDate"),null==e||""===e||e!=e)return null;var o,a;if("string"==typeof e&&(e=e.trim()),ct(e))o=e;else if(isNaN(e-parseFloat(e)))if("string"==typeof e&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(e)){var s=e.split("-").map(function(t){return+t});o=new Date(s[0],s[1]-1,s[2])}else o="string"==typeof e&&(a=e.match(lt))?function(t){var e=new Date(0),n=0,r=0,i=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=+(t[9]+t[10]),r=+(t[9]+t[11])),(t[8]?e.setUTCFullYear:e.setFullYear).call(e,+t[1],+t[2]-1,+t[3]);var o=+(t[4]||"0")-n,a=+(t[5]||"0")-r,s=+(t[6]||"0"),l=Math.round(1e3*parseFloat("0."+(t[7]||0)));return i.call(e,o,a,s,l),e}(a):new Date(e);else o=new Date(parseFloat(e));if(!ct(o))throw st(t,e);return function(t,e,n,r){e=function t(e,n){var r=function(t){return O(t)[0]}(e);if(q[r]=q[r]||{},q[r][n])return q[r][n];var i="";switch(n){case"shortDate":i=k(e,w.Short);break;case"mediumDate":i=k(e,w.Medium);break;case"longDate":i=k(e,w.Long);break;case"fullDate":i=k(e,w.Full);break;case"shortTime":i=x(e,w.Short);break;case"mediumTime":i=x(e,w.Medium);break;case"longTime":i=x(e,w.Long);break;case"fullTime":i=x(e,w.Full);break;case"short":var o=t(e,"shortTime"),a=t(e,"shortDate");i=Z(L(e,w.Short),[o,a]);break;case"medium":var s=t(e,"mediumTime"),l=t(e,"mediumDate");i=Z(L(e,w.Medium),[s,l]);break;case"long":var u=t(e,"longTime"),c=t(e,"longDate");i=Z(L(e,w.Long),[u,c]);break;case"full":var d=t(e,"fullTime"),h=t(e,"fullDate");i=Z(L(e,w.Full),[d,h])}return i&&(q[r][n]=i),i}(n,e)||e;for(var i,o=[];e;){if(!(i=J.exec(e))){o.push(e);break}var a=(o=o.concat(i.slice(1))).pop();if(!a)break;e=a}var s=t.getTimezoneOffset();r&&(s=at(r,s),t=function(t,e,n){var r=t.getTimezoneOffset();return function(t,e){return(t=new Date(t.getTime())).setMinutes(t.getMinutes()+e),t}(t,-1*(at(e,r)-r))}(t,r));var l="";return o.forEach(function(e){var r=function(t){if(ot[t])return ot[t];var e;switch(t){case"G":case"GG":case"GGG":e=tt(X.Eras,b.Abbreviated);break;case"GGGG":e=tt(X.Eras,b.Wide);break;case"GGGGG":e=tt(X.Eras,b.Narrow);break;case"y":e=$(K.FullYear,1,0,!1,!0);break;case"yy":e=$(K.FullYear,2,0,!0,!0);break;case"yyy":e=$(K.FullYear,3,0,!1,!0);break;case"yyyy":e=$(K.FullYear,4,0,!1,!0);break;case"M":case"L":e=$(K.Month,1,1);break;case"MM":case"LL":e=$(K.Month,2,1);break;case"MMM":e=tt(X.Months,b.Abbreviated);break;case"MMMM":e=tt(X.Months,b.Wide);break;case"MMMMM":e=tt(X.Months,b.Narrow);break;case"LLL":e=tt(X.Months,b.Abbreviated,v.Standalone);break;case"LLLL":e=tt(X.Months,b.Wide,v.Standalone);break;case"LLLLL":e=tt(X.Months,b.Narrow,v.Standalone);break;case"w":e=it(1);break;case"ww":e=it(2);break;case"W":e=it(1,!0);break;case"d":e=$(K.Date,1);break;case"dd":e=$(K.Date,2);break;case"E":case"EE":case"EEE":e=tt(X.Days,b.Abbreviated);break;case"EEEE":e=tt(X.Days,b.Wide);break;case"EEEEE":e=tt(X.Days,b.Narrow);break;case"EEEEEE":e=tt(X.Days,b.Short);break;case"a":case"aa":case"aaa":e=tt(X.DayPeriods,b.Abbreviated);break;case"aaaa":e=tt(X.DayPeriods,b.Wide);break;case"aaaaa":e=tt(X.DayPeriods,b.Narrow);break;case"b":case"bb":case"bbb":e=tt(X.DayPeriods,b.Abbreviated,v.Standalone,!0);break;case"bbbb":e=tt(X.DayPeriods,b.Wide,v.Standalone,!0);break;case"bbbbb":e=tt(X.DayPeriods,b.Narrow,v.Standalone,!0);break;case"B":case"BB":case"BBB":e=tt(X.DayPeriods,b.Abbreviated,v.Format,!0);break;case"BBBB":e=tt(X.DayPeriods,b.Wide,v.Format,!0);break;case"BBBBB":e=tt(X.DayPeriods,b.Narrow,v.Format,!0);break;case"h":e=$(K.Hours,1,-12);break;case"hh":e=$(K.Hours,2,-12);break;case"H":e=$(K.Hours,1);break;case"HH":e=$(K.Hours,2);break;case"m":e=$(K.Minutes,1);break;case"mm":e=$(K.Minutes,2);break;case"s":e=$(K.Seconds,1);break;case"ss":e=$(K.Seconds,2);break;case"S":e=$(K.Milliseconds,1);break;case"SS":e=$(K.Milliseconds,2);break;case"SSS":e=$(K.Milliseconds,3);break;case"Z":case"ZZ":case"ZZZ":e=et(G.Short);break;case"ZZZZZ":e=et(G.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":e=et(G.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":e=et(G.Long);break;default:return null}return ot[t]=e,e}(e);l+=r?r(t,n,s):"''"===e?"'":e.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),l}(o,n,i||this.locale,r)},t}();function ct(t){return t instanceof Date&&!isNaN(t.valueOf())}var dt=/^(\d+)?\.((\d+)(-(\d+))?)?$/,ht=22,pt=".",ft="0",_t=";",mt=",",gt="#",yt="\xa4",vt="%";function bt(t,e,n,r,i){void 0===i&&(i=null);var o,a={str:null},s=function(t,e){return O(t)[14][e]}(e,n);if("string"!=typeof t||isNaN(+t-parseFloat(t))){if("number"!=typeof t)return a.error=t+" is not a number",a;o=t}else o=+t;var l=function(t,e){void 0===e&&(e="-");var n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},r=t.split(_t),i=r[0],o=r[1],a=-1!==i.indexOf(pt)?i.split(pt):[i.substring(0,i.lastIndexOf(ft)+1),i.substring(i.lastIndexOf(ft)+1)],s=a[0],l=a[1]||"";n.posPre=s.substr(0,s.indexOf(gt));for(var u=0;u-1&&(a=a.replace(pt,"")),(r=a.search(/e/i))>0?(n<0&&(n=r),n+=+a.slice(r+1),a=a.substring(0,r)):n<0&&(n=a.length),r=0;a.charAt(r)===ft;r++);if(r===(o=a.length))e=[0],n=1;else{for(o--;a.charAt(o)===ft;)o--;for(n-=r,e=[],i=0;r<=o;r++,i++)e[i]=+a.charAt(r)}return n>ht&&(e=e.splice(0,ht-1),s=n-1,n=1),{digits:e,exponent:s,integerLen:n}}(o);n===g.Percent&&(d=function(t){if(0===t.digits[0])return t;var e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(d));var h=l.minInt,p=l.minFrac,f=l.maxFrac;if(r){var _=r.match(dt);if(null===_)return a.error=r+" is not a valid digit info",a;var m=_[1],y=_[3],v=_[5];null!=m&&(h=wt(m)),null!=y&&(p=wt(y)),null!=v?f=wt(v):null!=y&&p>f&&(f=p)}!function(t,e,n){if(e>n)throw new Error("The minimum number of digits after fraction ("+e+") is higher than the maximum ("+n+").");var r=t.digits,i=r.length-t.integerLen,o=Math.min(Math.max(e,i),n),a=o+t.integerLen,s=r[a];if(a>0){r.splice(Math.max(t.integerLen,a));for(var l=a;l=5)if(a-1<0){for(var c=0;c>a;c--)r.unshift(0),t.integerLen++;r.unshift(1),t.integerLen++}else r[a-1]++;for(;i=h?r.pop():d=!1),e>=10?1:0},0);p&&(r.unshift(p),t.integerLen++)}(d,p,f);var b=d.digits,w=d.integerLen,k=d.exponent,x=[];for(c=b.every(function(t){return!t});w0?x=b.splice(w,b.length):(x=b,b=[0]);var L=[];for(b.length>=l.lgSize&&L.unshift(b.splice(-l.lgSize,b.length).join(""));b.length>l.gSize;)L.unshift(b.splice(-l.gSize,b.length).join(""));b.length&&L.unshift(b.join("")),u=L.join(C(e,i?M.CurrencyGroup:M.Group)),x.length&&(u+=C(e,i?M.CurrencyDecimal:M.Decimal)+x.join("")),k&&(u+=C(e,M.Exponential)+"+"+k)}else u=C(e,M.Infinity);return u=o<0&&!c?l.negPre+u+l.negSuf:l.posPre+u+l.posSuf,n===g.Currency&&null!==i?(a.str=u.replace(yt,i).replace(yt,""),a):n===g.Percent?(a.str=u.replace(new RegExp(vt,"g"),C(e,M.PercentSign)),a):(a.str=u,a)}function wt(t){var e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}var Mt=function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.subscribe({next:e,error:function(t){throw t}})},t.prototype.dispose=function(t){t.unsubscribe()},t.prototype.onDestroy=function(t){t.unsubscribe()},t}(),kt=new(function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.then(e,function(t){throw t})},t.prototype.dispose=function(t){},t.prototype.onDestroy=function(t){},t}()),xt=new Mt,Lt=function(){function t(t){this._ref=t,this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null}return t.prototype.ngOnDestroy=function(){this._subscription&&this._dispose()},t.prototype.transform=function(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue===this._latestReturnedValue?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,r.P.wrap(this._latestValue)):(t&&this._subscribe(t),this._latestReturnedValue=this._latestValue,this._latestValue)},t.prototype._subscribe=function(t){var e=this;this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,function(n){return e._updateLatestValue(t,n)})},t.prototype._selectStrategy=function(e){if(Object(r._11)(e))return kt;if(Object(r._10)(e))return xt;throw st(t,e)},t.prototype._dispose=function(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null},t.prototype._updateLatestValue=function(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())},t}(),Ct=function(){function t(t){this._locale=t}return t.prototype.transform=function(e,n,r){if(Tt(e))return null;var i=bt(e,r=r||this._locale,g.Decimal,n),o=i.str,a=i.error;if(a)throw st(t,a);return o},t}(),St=function(){function t(t){this._locale=t}return t.prototype.transform=function(e,n,r){if(Tt(e))return null;var i=bt(e,r=r||this._locale,g.Percent,n),o=i.str,a=i.error;if(a)throw st(t,a);return o},t}();function Tt(t){return null==t||""===t||t!=t}var Dt=function(){},Ot=new r.p("DocumentToken"),Yt=null;function Pt(){return Yt}var Et,jt={class:"className",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},At={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},It={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"};r._6.Node&&(Et=r._6.Node.prototype.contains||function(t){return!!(16&this.compareDocumentPosition(t))});var Ht,Rt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.b)(e,t),e.prototype.parse=function(t){throw new Error("parse not implemented")},e.makeCurrent=function(){var t;t=new e,Yt||(Yt=t)},e.prototype.hasProperty=function(t,e){return e in t},e.prototype.setProperty=function(t,e,n){t[e]=n},e.prototype.getProperty=function(t,e){return t[e]},e.prototype.invoke=function(t,e,n){var r;(r=t)[e].apply(r,n)},e.prototype.logError=function(t){window.console&&(console.error?console.error(t):console.log(t))},e.prototype.log=function(t){window.console&&window.console.log&&window.console.log(t)},e.prototype.logGroup=function(t){window.console&&window.console.group&&window.console.group(t)},e.prototype.logGroupEnd=function(){window.console&&window.console.groupEnd&&window.console.groupEnd()},Object.defineProperty(e.prototype,"attrToPropMap",{get:function(){return jt},enumerable:!0,configurable:!0}),e.prototype.contains=function(t,e){return Et.call(t,e)},e.prototype.querySelector=function(t,e){return t.querySelector(e)},e.prototype.querySelectorAll=function(t,e){return t.querySelectorAll(e)},e.prototype.on=function(t,e,n){t.addEventListener(e,n,!1)},e.prototype.onAndCancel=function(t,e,n){return t.addEventListener(e,n,!1),function(){t.removeEventListener(e,n,!1)}},e.prototype.dispatchEvent=function(t,e){t.dispatchEvent(e)},e.prototype.createMouseEvent=function(t){var e=this.getDefaultDocument().createEvent("MouseEvent");return e.initEvent(t,!0,!0),e},e.prototype.createEvent=function(t){var e=this.getDefaultDocument().createEvent("Event");return e.initEvent(t,!0,!0),e},e.prototype.preventDefault=function(t){t.preventDefault(),t.returnValue=!1},e.prototype.isPrevented=function(t){return t.defaultPrevented||null!=t.returnValue&&!t.returnValue},e.prototype.getInnerHTML=function(t){return t.innerHTML},e.prototype.getTemplateContent=function(t){return"content"in t&&this.isTemplateElement(t)?t.content:null},e.prototype.getOuterHTML=function(t){return t.outerHTML},e.prototype.nodeName=function(t){return t.nodeName},e.prototype.nodeValue=function(t){return t.nodeValue},e.prototype.type=function(t){return t.type},e.prototype.content=function(t){return this.hasProperty(t,"content")?t.content:t},e.prototype.firstChild=function(t){return t.firstChild},e.prototype.nextSibling=function(t){return t.nextSibling},e.prototype.parentElement=function(t){return t.parentNode},e.prototype.childNodes=function(t){return t.childNodes},e.prototype.childNodesAsList=function(t){for(var e=t.childNodes,n=new Array(e.length),r=0;r0},e.prototype.tagName=function(t){return t.tagName},e.prototype.attributeMap=function(t){for(var e=new Map,n=t.attributes,r=0;r0;s||(s=t[a]=[]);var u=be(e)?Zone.root:Zone.current;if(0===s.length)s.push({zone:u,handler:o});else{for(var c=!1,d=0;d-1},e}($t),Se=["alt","control","meta","shift"],Te={alt:function(t){return t.altKey},control:function(t){return t.ctrlKey},meta:function(t){return t.metaKey},shift:function(t){return t.shiftKey}},De=function(t){function e(e){return t.call(this,e)||this}return Object(o.b)(e,t),e.prototype.supports=function(t){return null!=e.parseEventName(t)},e.prototype.addEventListener=function(t,n,r){var i=e.parseEventName(n),o=e.eventCallback(i.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(function(){return Pt().onAndCancel(t,i.domEventName,o)})},e.parseEventName=function(t){var n=t.toLowerCase().split("."),r=n.shift();if(0===n.length||"keydown"!==r&&"keyup"!==r)return null;var i=e._normalizeKey(n.pop()),o="";if(Se.forEach(function(t){var e=n.indexOf(t);e>-1&&(n.splice(e,1),o+=t+".")}),o+=i,0!=n.length||0===i.length)return null;var a={};return a.domEventName=r,a.fullKey=o,a},e.getEventFullKey=function(t){var e="",n=Pt().getEventKey(t);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),Se.forEach(function(r){r!=n&&(0,Te[r])(t)&&(e+=r+".")}),e+=n},e.eventCallback=function(t,n,r){return function(i){e.getEventFullKey(i)===t&&r.runGuarded(function(){return n(i)})}},e._normalizeKey=function(t){switch(t){case"esc":return"escape";default:return t}},e}($t),Oe=function(){function t(t,e){this.defaultDoc=t,this.DOM=e;var n=this.DOM.createHtmlDocument();if(this.inertBodyElement=n.body,null==this.inertBodyElement){var r=this.DOM.createElement("html",n);this.inertBodyElement=this.DOM.createElement("body",n),this.DOM.appendChild(r,this.inertBodyElement),this.DOM.appendChild(n,r)}this.DOM.setInnerHTML(this.inertBodyElement,''),!this.inertBodyElement.querySelector||this.inertBodyElement.querySelector("svg")?(this.DOM.setInnerHTML(this.inertBodyElement,'

          '),this.getInertBodyElement=this.inertBodyElement.querySelector&&this.inertBodyElement.querySelector("svg img")&&function(){try{return!!window.DOMParser}catch(t){return!1}}()?this.getInertBodyElement_DOMParser:this.getInertBodyElement_InertDocument):this.getInertBodyElement=this.getInertBodyElement_XHR}return t.prototype.getInertBodyElement_XHR=function(t){t=""+t+"";try{t=encodeURI(t)}catch(t){return null}var e=new XMLHttpRequest;e.responseType="document",e.open("GET","data:text/html;charset=utf-8,"+t,!1),e.send(null);var n=e.response.body;return n.removeChild(n.firstChild),n},t.prototype.getInertBodyElement_DOMParser=function(t){t=""+t+"";try{var e=(new window.DOMParser).parseFromString(t,"text/html").body;return e.removeChild(e.firstChild),e}catch(t){return null}},t.prototype.getInertBodyElement_InertDocument=function(t){var e=this.DOM.createElement("template");return"content"in e?(this.DOM.setInnerHTML(e,t),e):(this.DOM.setInnerHTML(this.inertBodyElement,t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(this.inertBodyElement),this.inertBodyElement)},t.prototype.stripCustomNsAttrs=function(t){var e=this;this.DOM.attributeMap(t).forEach(function(n,r){"xmlns:ns1"!==r&&0!==r.indexOf("ns1:")||e.DOM.removeAttribute(t,r)});for(var n=0,r=this.DOM.childNodesAsList(t);n")):this.sanitizedSomething=!0},t.prototype.endElement=function(t){var e=this.DOM.nodeName(t).toLowerCase();Ve.hasOwnProperty(e)&&!He.hasOwnProperty(e)&&(this.buf.push(""))},t.prototype.chars=function(t){this.buf.push(Ge(t))},t.prototype.checkClobberedElement=function(t,e){if(e&&this.DOM.contains(t,e))throw new Error("Failed to sanitize html because the element is clobbered: "+this.DOM.getOuterHTML(t));return e},t}(),qe=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Je=/([^\#-~ |!])/g;function Ge(t){return t.replace(/&/g,"&").replace(qe,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(Je,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}var Ke=new RegExp("^([-,.\"'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:calc|attr))\\([-0-9.%, #a-zA-Z]+\\))$","g"),Xe=/^url\(([^)]+)\)$/,Ze=function(){},Qe=function(t){function e(e){var n=t.call(this)||this;return n._doc=e,n}return Object(o.b)(e,t),e.prototype.sanitize=function(t,e){if(null==e)return null;switch(t){case r.G.NONE:return e;case r.G.HTML:return e instanceof tn?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"HTML"),function(t,e){var n=Pt(),i=null;try{Ie=Ie||new Oe(t,n);var o=e?String(e):"";i=Ie.getInertBodyElement(o);var a=5,s=o;do{if(0===a)throw new Error("Failed to sanitize html because the input is unstable");a--,o=s,s=n.getInnerHTML(i),i=Ie.getInertBodyElement(o)}while(o!==s);var l=new Ue,u=l.sanitizeChildren(n.getTemplateContent(i)||i);return Object(r.U)()&&l.sanitizedSomething&&n.log("WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss)."),u}finally{if(i)for(var c=n.getTemplateContent(i)||i,d=0,h=n.childNodesAsList(c);d0){var r=t.slice(0,e),i=t.slice(e+1).trim();n.set(r,i)}}),n},t.prototype.append=function(t,e){var n=this.getAll(t);null===n?this.set(t,e):n.push(e)},t.prototype.delete=function(t){var e=t.toLowerCase();this._normalizedNames.delete(e),this._headers.delete(e)},t.prototype.forEach=function(t){var e=this;this._headers.forEach(function(n,r){return t(n,e._normalizedNames.get(r),e._headers)})},t.prototype.get=function(t){var e=this.getAll(t);return null===e?null:e.length>0?e[0]:null},t.prototype.has=function(t){return this._headers.has(t.toLowerCase())},t.prototype.keys=function(){return Array.from(this._normalizedNames.values())},t.prototype.set=function(t,e){Array.isArray(e)?e.length&&this._headers.set(t.toLowerCase(),[e.join(",")]):this._headers.set(t.toLowerCase(),[e]),this.mayBeSetNormalizedName(t)},t.prototype.values=function(){return Array.from(this._headers.values())},t.prototype.toJSON=function(){var t=this,e={};return this._headers.forEach(function(n,r){var i=[];n.forEach(function(t){return i.push.apply(i,t.split(","))}),e[t._normalizedNames.get(r)]=i}),e},t.prototype.getAll=function(t){return this.has(t)&&this._headers.get(t.toLowerCase())||null},t.prototype.entries=function(){throw new Error('"entries" method is not implemented on Headers class')},t.prototype.mayBeSetNormalizedName=function(t){var e=t.toLowerCase();this._normalizedNames.has(e)||this._normalizedNames.set(e,t)},t}(),mn=function(){function t(t){void 0===t&&(t={});var e=t.body,n=t.status,r=t.headers,i=t.statusText,o=t.type,a=t.url;this.body=null!=e?e:null,this.status=null!=n?n:null,this.headers=null!=r?r:null,this.statusText=null!=i?i:null,this.type=null!=o?o:null,this.url=null!=a?a:null}return t.prototype.merge=function(e){return new t({body:e&&null!=e.body?e.body:this.body,status:e&&null!=e.status?e.status:this.status,headers:e&&null!=e.headers?e.headers:this.headers,statusText:e&&null!=e.statusText?e.statusText:this.statusText,type:e&&null!=e.type?e.type:this.type,url:e&&null!=e.url?e.url:this.url})},t}(),gn=function(t){function e(){return t.call(this,{status:200,statusText:"Ok",type:hn.Default,headers:new _n})||this}return Object(o.b)(e,t),e}(mn),yn=function(){};function vn(t){if("string"!=typeof t)return t;switch(t.toUpperCase()){case"GET":return dn.Get;case"POST":return dn.Post;case"PUT":return dn.Put;case"DELETE":return dn.Delete;case"OPTIONS":return dn.Options;case"HEAD":return dn.Head;case"PATCH":return dn.Patch}throw new Error('Invalid request method. The method "'+t+'" is not supported.')}var bn=function(t){return t>=200&&t<300},wn=function(){function t(){}return t.prototype.encodeKey=function(t){return Mn(t)},t.prototype.encodeValue=function(t){return Mn(t)},t}();function Mn(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}var kn=function(){function t(t,e){void 0===t&&(t=""),void 0===e&&(e=new wn),this.rawParams=t,this.queryEncoder=e,this.paramsMap=function(t){void 0===t&&(t="");var e=new Map;return t.length>0&&t.split("&").forEach(function(t){var n=t.indexOf("="),r=-1==n?[t,""]:[t.slice(0,n),t.slice(n+1)],i=r[0],o=r[1],a=e.get(i)||[];a.push(o),e.set(i,a)}),e}(t)}return t.prototype.clone=function(){var e=new t("",this.queryEncoder);return e.appendAll(this),e},t.prototype.has=function(t){return this.paramsMap.has(t)},t.prototype.get=function(t){var e=this.paramsMap.get(t);return Array.isArray(e)?e[0]:null},t.prototype.getAll=function(t){return this.paramsMap.get(t)||[]},t.prototype.set=function(t,e){if(void 0!==e&&null!==e){var n=this.paramsMap.get(t)||[];n.length=0,n.push(e),this.paramsMap.set(t,n)}else this.delete(t)},t.prototype.setAll=function(t){var e=this;t.paramsMap.forEach(function(t,n){var r=e.paramsMap.get(n)||[];r.length=0,r.push(t[0]),e.paramsMap.set(n,r)})},t.prototype.append=function(t,e){if(void 0!==e&&null!==e){var n=this.paramsMap.get(t)||[];n.push(e),this.paramsMap.set(t,n)}},t.prototype.appendAll=function(t){var e=this;t.paramsMap.forEach(function(t,n){for(var r=e.paramsMap.get(n)||[],i=0;i=200&&n.status<=299,n.statusText=e.statusText,n.headers=e.headers,n.type=e.type,n.url=e.url,n}return Object(o.b)(e,t),e.prototype.toString=function(){return"Response with status: "+this.status+" "+this.statusText+" for URL: "+this.url},e}(xn),Cn=/^\)\]\}',?\n/,Sn=function(){function t(t,e,n){var r=this;this.request=t,this.response=new a.a(function(i){var o=e.build();o.open(dn[t.method].toUpperCase(),t.url),null!=t.withCredentials&&(o.withCredentials=t.withCredentials);var a=function(){var e=1223===o.status?204:o.status,r=null;204!==e&&"string"==typeof(r="undefined"==typeof o.response?o.responseText:o.response)&&(r=r.replace(Cn,"")),0===e&&(e=r?200:0);var a,s=_n.fromResponseHeaderString(o.getAllResponseHeaders()),l=("responseURL"in(a=o)?a.responseURL:/^X-Request-URL:/m.test(a.getAllResponseHeaders())?a.getResponseHeader("X-Request-URL"):null)||t.url,u=new mn({body:r,status:e,headers:s,statusText:o.statusText||"OK",url:l});null!=n&&(u=n.merge(u));var c=new Ln(u);if(c.ok=bn(e),c.ok)return i.next(c),void i.complete();i.error(c)},s=function(t){var e=new mn({body:t,type:hn.Error,status:o.status,statusText:o.statusText});null!=n&&(e=n.merge(e)),i.error(new Ln(e))};if(r.setDetectedContentType(t,o),null==t.headers&&(t.headers=new _n),t.headers.has("Accept")||t.headers.append("Accept","application/json, text/plain, */*"),t.headers.forEach(function(t,e){return o.setRequestHeader(e,t.join(","))}),null!=t.responseType&&null!=o.responseType)switch(t.responseType){case fn.ArrayBuffer:o.responseType="arraybuffer";break;case fn.Json:o.responseType="json";break;case fn.Text:o.responseType="text";break;case fn.Blob:o.responseType="blob";break;default:throw new Error("The selected responseType is not supported")}return o.addEventListener("load",a),o.addEventListener("error",s),o.send(r.request.getBody()),function(){o.removeEventListener("load",a),o.removeEventListener("error",s),o.abort()}})}return t.prototype.setDetectedContentType=function(t,e){if(null==t.headers||null==t.headers.get("Content-Type"))switch(t.contentType){case pn.NONE:break;case pn.JSON:e.setRequestHeader("content-type","application/json");break;case pn.FORM:e.setRequestHeader("content-type","application/x-www-form-urlencoded;charset=UTF-8");break;case pn.TEXT:e.setRequestHeader("content-type","text/plain");break;case pn.BLOB:var n=t.blob();n.type&&e.setRequestHeader("content-type",n.type)}},t}(),Tn=function(){function t(t,e){void 0===t&&(t="XSRF-TOKEN"),void 0===e&&(e="X-XSRF-TOKEN"),this._cookieName=t,this._headerName=e}return t.prototype.configureRequest=function(t){var e=Pt().getCookie(this._cookieName);e&&t.headers.set(this._headerName,e)},t}(),Dn=function(){function t(t,e,n){this._browserXHR=t,this._baseResponseOptions=e,this._xsrfStrategy=n}return t.prototype.createConnection=function(t){return this._xsrfStrategy.configureRequest(t),new Sn(t,this._browserXHR,this._baseResponseOptions)},t}(),On=function(){function t(t){void 0===t&&(t={});var e=t.method,n=t.headers,r=t.body,i=t.url,o=t.search,a=t.params,s=t.withCredentials,l=t.responseType;this.method=null!=e?vn(e):null,this.headers=null!=n?n:null,this.body=null!=r?r:null,this.url=null!=i?i:null,this.params=this._mergeSearchParams(a||o),this.withCredentials=null!=s?s:null,this.responseType=null!=l?l:null}return Object.defineProperty(t.prototype,"search",{get:function(){return this.params},set:function(t){this.params=t},enumerable:!0,configurable:!0}),t.prototype.merge=function(e){return new t({method:e&&null!=e.method?e.method:this.method,headers:e&&null!=e.headers?e.headers:new _n(this.headers),body:e&&null!=e.body?e.body:this.body,url:e&&null!=e.url?e.url:this.url,params:e&&this._mergeSearchParams(e.params||e.search),withCredentials:e&&null!=e.withCredentials?e.withCredentials:this.withCredentials,responseType:e&&null!=e.responseType?e.responseType:this.responseType})},t.prototype._mergeSearchParams=function(t){return t?t instanceof kn?t.clone():"string"==typeof t?new kn(t):this._parseParams(t):this.params},t.prototype._parseParams=function(t){var e=this;void 0===t&&(t={});var n=new kn;return Object.keys(t).forEach(function(r){var i=t[r];Array.isArray(i)?i.forEach(function(t){return e._appendParam(r,t,n)}):e._appendParam(r,i,n)}),n},t.prototype._appendParam=function(t,e,n){"string"!=typeof e&&(e=JSON.stringify(e)),n.append(t,e)},t}(),Yn=function(t){function e(){return t.call(this,{method:dn.Get,headers:new _n})||this}return Object(o.b)(e,t),e}(On),Pn=function(t){function e(e){var n=t.call(this)||this,r=e.url;n.url=e.url;var i,o=e.params||e.search;if(o&&(i="object"!=typeof o||o instanceof kn?o.toString():function(t){var e=new kn;return Object.keys(t).forEach(function(n){var r=t[n];r&&Array.isArray(r)?r.forEach(function(t){return e.append(n,t.toString())}):e.append(n,r.toString())}),e}(o).toString()).length>0){var a="?";-1!=n.url.indexOf("?")&&(a="&"==n.url[n.url.length-1]?"":"&"),n.url=r+a+i}return n._body=e.body,n.method=vn(e.method),n.headers=new _n(e.headers),n.contentType=n.detectContentType(),n.withCredentials=e.withCredentials,n.responseType=e.responseType,n}return Object(o.b)(e,t),e.prototype.detectContentType=function(){switch(this.headers.get("content-type")){case"application/json":return pn.JSON;case"application/x-www-form-urlencoded":return pn.FORM;case"multipart/form-data":return pn.FORM_DATA;case"text/plain":case"text/html":return pn.TEXT;case"application/octet-stream":return this._body instanceof Hn?pn.ARRAY_BUFFER:pn.BLOB;default:return this.detectContentTypeFromBody()}},e.prototype.detectContentTypeFromBody=function(){return null==this._body?pn.NONE:this._body instanceof kn?pn.FORM:this._body instanceof An?pn.FORM_DATA:this._body instanceof In?pn.BLOB:this._body instanceof Hn?pn.ARRAY_BUFFER:this._body&&"object"==typeof this._body?pn.JSON:pn.TEXT},e.prototype.getBody=function(){switch(this.contentType){case pn.JSON:case pn.FORM:return this.text();case pn.FORM_DATA:return this._body;case pn.TEXT:return this.text();case pn.BLOB:return this.blob();case pn.ARRAY_BUFFER:return this.arrayBuffer();default:return null}},e}(xn),En=function(){},jn="object"==typeof window?window:En,An=jn.FormData||En,In=jn.Blob||En,Hn=jn.ArrayBuffer||En;function Rn(t,e){return t.createConnection(e).response}function Nn(t,e,n,r){return t.merge(new On(e?{method:e.method||n,url:e.url||r,search:e.search,params:e.params,headers:e.headers,body:e.body,withCredentials:e.withCredentials,responseType:e.responseType}:{method:n,url:r}))}var Fn=function(){function t(t,e){this._backend=t,this._defaultOptions=e}return t.prototype.request=function(t,e){var n;if("string"==typeof t)n=Rn(this._backend,new Pn(Nn(this._defaultOptions,e,dn.Get,t)));else{if(!(t instanceof Pn))throw new Error("First argument must be a url string or Request instance.");n=Rn(this._backend,t)}return n},t.prototype.get=function(t,e){return this.request(new Pn(Nn(this._defaultOptions,e,dn.Get,t)))},t.prototype.post=function(t,e,n){return this.request(new Pn(Nn(this._defaultOptions.merge(new On({body:e})),n,dn.Post,t)))},t.prototype.put=function(t,e,n){return this.request(new Pn(Nn(this._defaultOptions.merge(new On({body:e})),n,dn.Put,t)))},t.prototype.delete=function(t,e){return this.request(new Pn(Nn(this._defaultOptions,e,dn.Delete,t)))},t.prototype.patch=function(t,e,n){return this.request(new Pn(Nn(this._defaultOptions.merge(new On({body:e})),n,dn.Patch,t)))},t.prototype.head=function(t,e){return this.request(new Pn(Nn(this._defaultOptions,e,dn.Head,t)))},t.prototype.options=function(t,e){return this.request(new Pn(Nn(this._defaultOptions,e,dn.Options,t)))},t}();function Vn(){return new Tn}function zn(t,e){return new Fn(t,e)}var Wn=function(){},Bn=function(t){function e(e,n){t.call(this),this.error=e,this.scheduler=n}return Object(o.b)(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){t.subscriber.error(t.error)},e.prototype._subscribe=function(t){var n=this.error,r=this.scheduler;if(t.syncErrorThrowable=!0,r)return r.schedule(e.dispatch,0,{error:n,subscriber:t});t.error(n)},e}(a.a).create;a.a.throw=Bn;var Un=n("tZ2B"),qn=n("PIsA");function Jn(t){return function(e){var n=new Gn(t),r=e.lift(n);return n.caught=r}}var Gn=function(){function t(t){this.selector=t}return t.prototype.call=function(t,e){return e.subscribe(new Kn(t,this.selector,this.caught))},t}(),Kn=function(t){function e(e,n,r){t.call(this,e),this.selector=n,this.caught=r}return Object(o.b)(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=void 0;try{n=this.selector(e,this.caught)}catch(e){return void t.prototype.error.call(this,e)}this._unsubscribeAndRecycle(),this.add(Object(qn.a)(this,n))}},e}(Un.a);function Xn(t){return Jn(t)(this)}a.a.prototype.catch=Xn,a.a.prototype._catch=Xn;var Zn=n("OVmG");function Qn(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new $n(t,e))}}var $n=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new tr(t,this.project,this.thisArg))},t}(),tr=function(t){function e(e,n,r){t.call(this,e),this.project=n,this.count=0,this.thisArg=r||this}return Object(o.b)(e,t),e.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}this.destination.next(e)},e}(Zn.a);function er(t,e){return Qn(t,e)(this)}a.a.prototype.map=er;var nr=function(){function t(t){this.http=t,this.url=i.nodeUrl}return t.prototype.getExplorerAddress=function(t){return this.get("explorer/address",{address:t.address}).map(function(t){return t.map(function(t){return{addresses:[],balance:0,block:t.status.block_seq,confirmed:t.status.confirmed,timestamp:t.timestamp,txid:t.txid,inputs:t.inputs,outputs:t.outputs}})})},t.prototype.getVersion=function(){return this.get("version")},t.prototype.getWalletNewSeed=function(t){return void 0===t&&(t=128),this.get("wallet/newSeed",{entropy:t}).map(function(t){return t.seed})},t.prototype.getWallets=function(){return this.get("wallets").map(function(t){var e=[];return t.forEach(function(t){e.push({label:t.meta.label,filename:t.meta.filename,coins:null,hours:null,addresses:t.entries.map(function(t){return{address:t.address,coins:null,hours:null}}),encrypted:t.meta.encrypted})}),e})},t.prototype.getWalletSeed=function(t,e){return this.post("wallet/seed",{id:t.filename,password:e}).map(function(t){return t.seed})},t.prototype.postWalletCreate=function(t,e,n,r){var i={label:t,seed:e,scan:n};return r&&(i.password=r,i.encrypt=!0),this.post("wallet/create",i).map(function(t){return{label:t.meta.label,filename:t.meta.filename,coins:null,hours:null,addresses:t.entries.map(function(t){return{address:t.address,coins:null,hours:null}}),encrypted:t.meta.encrypted}})},t.prototype.postWalletNewAddress=function(t,e){return this.post("wallet/newAddress",{id:t.filename,password:e}).map(function(t){return{address:t.addresses[0],coins:null,hours:null}})},t.prototype.postWalletToggleEncryption=function(t,e){return this.post("wallet/"+(t.encrypted?"decrypt":"encrypt"),{id:t.filename,password:e})},t.prototype.get=function(t,e,n){return void 0===e&&(e=null),void 0===n&&(n={}),this.http.get(this.getUrl(t,e),this.returnRequestOptions(n)).map(function(t){return t.json()}).catch(function(t){return a.a.throw(t||"Server error")})},t.prototype.getCsrf=function(){return this.get("csrf").map(function(t){return t.csrf_token})},t.prototype.post=function(t,e,n){var r=this;return void 0===e&&(e={}),void 0===n&&(n={}),this.getCsrf().first().flatMap(function(i){return n.csrf=i,r.http.post(r.getUrl(t),n.json?JSON.stringify(e):r.getQueryString(e),r.returnRequestOptions(n)).map(function(t){return t.json()}).catch(function(t){return a.a.throw(t||"Server error")})})},t.prototype.returnRequestOptions=function(t){var e=new On;return e.headers=this.getHeaders(t),t.csrf&&e.headers.append("X-CSRF-Token",t.csrf),e},t.prototype.getHeaders=function(t){var e=new _n;return e.append("Content-Type",t.json?"application/json":"application/x-www-form-urlencoded"),e},t.prototype.getQueryString=function(t){return void 0===t&&(t=null),t?Object.keys(t).reduce(function(e,n){return e.push(n+"="+encodeURIComponent(t[n])),e},[]).join("&"):""},t.prototype.getUrl=function(t,e){return void 0===e&&(e=null),this.url+t+"?"+this.getQueryString(e)},t}(),rr=n("+3/4"),ir=n("BX3T"),or=function(t){function e(e,n){t.call(this),this.sources=e,this.resultSelector=n}return Object(o.b)(e,t),e.create=function(){for(var t=[],n=0;n=0}a.a.prototype.mergeMap=kr,a.a.prototype.flatMap=kr;var Lr=n("AMGY"),Cr=n("VwZZ"),Sr=function(t){function e(e,n){t.call(this,e,n),this.scheduler=e,this.work=n,this.pending=!1}return Object(o.b)(e,t),e.prototype.schedule=function(t,e){if(void 0===e&&(e=0),this.closed)return this;this.state=t,this.pending=!0;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,e)),this.delay=e,this.id=this.id||this.requestAsyncId(r,this.id,e),this},e.prototype.requestAsyncId=function(t,e,n){return void 0===n&&(n=0),Lr.a.setInterval(t.flush.bind(t,this),n)},e.prototype.recycleAsyncId=function(t,e,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return e;Lr.a.clearInterval(e)},e.prototype.execute=function(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,e){var n=!1,r=void 0;try{this.work(t)}catch(t){n=!0,r=!!t&&t||new Error(t)}if(n)return this.unsubscribe(),r},e.prototype._unsubscribe=function(){var t=this.id,e=this.scheduler,n=e.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null},e}(function(t){function e(e,n){t.call(this)}return Object(o.b)(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(Cr.a)),Tr=function(t){function e(){t.apply(this,arguments),this.actions=[],this.active=!1,this.scheduled=void 0}return Object(o.b)(e,t),e.prototype.flush=function(t){var e=this.actions;if(this.active)e.push(t);else{var n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}},e}(function(){function t(e,n){void 0===n&&(n=t.now),this.SchedulerAction=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(n,e)},t.now=Date.now?Date.now:function(){return+new Date},t}()),Dr=new Tr(Sr),Or=n("1Q68");function Yr(t){return t instanceof Date&&!isNaN(+t)}var Pr=function(t){function e(e,n,r){void 0===e&&(e=0),t.call(this),this.period=-1,this.dueTime=0,xr(n)?this.period=Number(n)<1?1:Number(n):Object(Or.a)(n)&&(r=n),Object(Or.a)(r)||(r=Dr),this.scheduler=r,this.dueTime=Yr(e)?+e-this.scheduler.now():e}return Object(o.b)(e,t),e.create=function(t,n,r){return void 0===t&&(t=0),new e(t,n,r)},e.dispatch=function(t){var e=t.index,n=t.period,r=t.subscriber;if(r.next(e),!r.closed){if(-1===n)return r.complete();t.index=e+1,this.schedule(t,n)}},e.prototype._subscribe=function(t){return this.scheduler.schedule(e.dispatch,this.dueTime,{index:0,period:this.period,subscriber:t})},e}(a.a).create;a.a.timer=Pr;var Er=n("etqZ"),jr=function(){function t(t){this.project=t}return t.prototype.call=function(t,e){return e.subscribe(new Ar(t,this.project))},t}(),Ar=function(t){function e(e,n,r){void 0===r&&(r=Object.create(null)),t.call(this,e),this.iterators=[],this.active=0,this.project="function"==typeof n?n:null,this.values=r}return Object(o.b)(e,t),e.prototype._next=function(t){var e=this.iterators;Object(ir.a)(t)?e.push(new Hr(t)):e.push("function"==typeof t[Er.a]?new Ir(t[Er.a]()):new Rr(this.destination,this,t))},e.prototype._complete=function(){var t=this.iterators,e=t.length;if(0!==e){this.active=e;for(var n=0;nthis.index},t.prototype.hasCompleted=function(){return this.array.length===this.index},t}(),Rr=function(t){function e(e,n,r){t.call(this,e),this.parent=n,this.observable=r,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return Object(o.b)(e,t),e.prototype[Er.a]=function(){return this},e.prototype.next=function(){var t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}},e.prototype.hasValue=function(){return this.buffer.length>0},e.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},e.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},e.prototype.notifyNext=function(t,e,n,r,i){this.buffer.push(e),this.parent.checkIterators()},e.prototype.subscribe=function(t,e){return Object(qn.a)(this,this.observable,this,e)},e}(Un.a);a.a.zip=function(){for(var t=[],e=0;e0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,r){return void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,r):e.flush(this)},e}(Sr),zr=new(function(t){function e(){t.apply(this,arguments)}return Object(o.b)(e,t),e}(Tr))(Vr),Wr=function(){function t(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}return t.prototype.observe=function(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}},t.prototype.do=function(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}},t.prototype.accept=function(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)},t.prototype.toObservable=function(){switch(this.kind){case"N":return a.a.of(this.value);case"E":return a.a.throw(this.error);case"C":return a.a.empty()}throw new Error("unexpected notification kind value")},t.createNext=function(e){return"undefined"!=typeof e?new t("N",e):t.undefinedValueNotification},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return t.completeNotification},t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t}(),Br=function(t){function e(e,n,r){void 0===r&&(r=0),t.call(this,e),this.scheduler=n,this.delay=r}return Object(o.b)(e,t),e.dispatch=function(t){t.notification.observe(t.destination),this.unsubscribe()},e.prototype.scheduleMessage=function(t){this.add(this.scheduler.schedule(e.dispatch,this.delay,new Ur(t,this.destination)))},e.prototype._next=function(t){this.scheduleMessage(Wr.createNext(t))},e.prototype._error=function(t){this.scheduleMessage(Wr.createError(t))},e.prototype._complete=function(){this.scheduleMessage(Wr.createComplete())},e}(Zn.a),Ur=function(t,e){this.notification=t,this.destination=e},qr=n("x6VL"),Jr=n("1Bqh"),Gr=function(t){function e(e,n,r){void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===n&&(n=Number.POSITIVE_INFINITY),t.call(this),this.scheduler=r,this._events=[],this._bufferSize=e<1?1:e,this._windowTime=n<1?1:n}return Object(o.b)(e,t),e.prototype.next=function(e){var n=this._getNow();this._events.push(new Kr(n,e)),this._trimBufferThenGetEvents(),t.prototype.next.call(this,e)},e.prototype._subscribe=function(t){var e,n=this._trimBufferThenGetEvents(),r=this.scheduler;if(this.closed)throw new qr.a;this.hasError?e=Cr.a.EMPTY:this.isStopped?e=Cr.a.EMPTY:(this.observers.push(t),e=new Jr.a(this,t)),r&&t.add(t=new Br(t,r));for(var i=n.length,o=0;oe&&(o=Math.max(o,i-e)),o>0&&r.splice(0,o),r},e}(Fr.a),Kr=function(t,e){this.time=t,this.value=e},Xr=function(){function t(t){this.apiService=t,this.wallets=new Gr,this.pendingTxs=new Gr,this.loadData(),this.startDataRefreshSubscription()}return t.prototype.addressesAsString=function(){return this.allAddresses().map(function(t){return t.map(function(t){return t.address})}).map(function(t){return t.join(",")})},t.prototype.addAddress=function(t,e){var n=this;return this.apiService.postWalletNewAddress(t,e).do(function(e){t.addresses.push(e),n.refreshBalances()})},t.prototype.all=function(){return this.wallets.asObservable()},t.prototype.allAddresses=function(){return this.all().map(function(t){return t.reduce(function(t,e){return t.concat(e.addresses)},[])})},t.prototype.create=function(t,e,n,r){var i=this;return e=e.replace(/\r?\n|\r/g," ").replace(/ +/g," ").trim(),this.apiService.postWalletCreate(t||"undefined",e,n||100,r).do(function(t){console.log(t),i.wallets.first().subscribe(function(e){e.push(t),i.wallets.next(e),i.refreshBalances()})})},t.prototype.find=function(t){return this.all().map(function(e){return e.find(function(e){return e.filename===t})})},t.prototype.folder=function(){return this.apiService.get("wallets/folderName").map(function(t){return t.address})},t.prototype.generateSeed=function(t){return void 0===t&&(t=128),this.apiService.getWalletNewSeed(t)},t.prototype.outputs=function(){var t=this;return this.addressesAsString().filter(function(t){return!!t}).flatMap(function(e){return t.apiService.get("outputs",{addrs:e})})},t.prototype.outputsWithWallets=function(){return a.a.zip(this.all(),this.outputs(),function(t,e){return(t=JSON.parse(JSON.stringify(t)))?t.map(function(t){return t.addresses=t.addresses.map(function(t){return t.outputs=e.head_outputs.filter(function(e){return e.address===t.address}),t}),t}):[]})},t.prototype.allPendingTransactions=function(){return this.apiService.get("pendingTxs")},t.prototype.pendingTransactions=function(){return this.pendingTxs.asObservable()},t.prototype.refreshBalances=function(){var t=this;this.wallets.first().subscribe(function(e){a.a.forkJoin(e.map(function(e){return t.retrieveWalletBalance(e).map(function(t){return e.addresses=t,e.coins=t.map(function(t){return t.coins>=0?t.coins:0}).reduce(function(t,e){return t+e},0),e.hours=t.map(function(t){return t.hours>=0?t.hours:0}).reduce(function(t,e){return t+e},0),e})})).subscribe(function(e){return t.wallets.next(e)})})},t.prototype.renameWallet=function(t,e){var n=this;return this.apiService.post("wallet/update",{id:t.filename,label:e}).do(function(){t.label=e,n.updateWallet(t)})},t.prototype.toggleEncryption=function(t,e){var n=this;return this.apiService.postWalletToggleEncryption(t,e).do(function(e){t.encrypted=e.meta.encrypted,n.updateWallet(e)})},t.prototype.getWalletSeed=function(t,e){return this.apiService.getWalletSeed(t,e)},t.prototype.createTransaction=function(t,e,n,r){return this.apiService.post("wallet/transaction",{hours_selection:{type:"auto",mode:"share",share_factor:"0.5"},change_address:t.addresses[0].address,wallet:{id:t.filename,password:r},to:[{address:e,coins:n}]},{json:!0})},t.prototype.injectTransaction=function(t){return this.apiService.post("injectTransaction",{rawtx:t},{json:!0})},t.prototype.sum=function(){return this.all().map(function(t){return t.map(function(t){return t.coins>=0?t.coins:0}).reduce(function(t,e){return t+e},0)})},t.prototype.transaction=function(t){var e=this;return this.apiService.get("transaction",{txid:t}).flatMap(function(t){return t.txn.inputs&&!t.txn.inputs.length?a.a.of(t):a.a.forkJoin(t.txn.inputs.map(function(t){return e.retrieveInputAddress(t).map(function(t){return t.owner_address})})).map(function(e){return t.txn.inputs=e,t})})},t.prototype.transactions=function(){var t=this;return this.allAddresses().filter(function(t){return!!t.length}).first().flatMap(function(e){return t.addresses=e,a.a.forkJoin(e.map(function(e){return t.apiService.getExplorerAddress(e)}))}).map(function(t){return[].concat.apply([],t).sort(function(t,e){return e.timestamp-t.timestamp})}).map(function(t){return t.reduce(function(t,e){return t.find(function(t){return t.txid===e.txid})||t.push(e),t},[])}).map(function(e){return e.map(function(e){var n=!!t.addresses.find(function(t){return e.inputs[0].owner===t.address});return e.outputs.forEach(function(r){return n&&!t.addresses.find(function(t){return r.dst===t.address})&&(e.addresses.push(r.dst),e.balance=e.balance-parseFloat(r.coins)),!n&&t.addresses.find(function(t){return r.dst===t.address})&&(e.addresses.push(r.dst),e.balance=e.balance+parseFloat(r.coins)),e}),e})})},t.prototype.startDataRefreshSubscription=function(){var t=this;this.dataRefreshSubscription&&this.dataRefreshSubscription.unsubscribe(),this.dataRefreshSubscription=a.a.timer(0,1e4).subscribe(function(){t.refreshBalances(),t.refreshPendingTransactions()})},t.prototype.loadData=function(){var t=this;this.apiService.getWallets().first().subscribe(function(e){return t.wallets.next(e)})},t.prototype.retrieveAddressBalance=function(t){var e=Array.isArray(t)?t.map(function(t){return t.address}).join(","):t.address;return this.apiService.get("balance",{addrs:e})},t.prototype.retrieveInputAddress=function(t){return this.apiService.get("uxout",{uxid:t})},t.prototype.retrieveWalletBalance=function(t){var e=this;return a.a.forkJoin(t.addresses.map(function(t){return e.retrieveAddressBalance(t).map(function(e){return t.coins=e.confirmed.coins/1e6,t.hours=e.confirmed.hours,t})}))},t.prototype.updateWallet=function(t){var e=this;this.wallets.first().subscribe(function(n){n[n.findIndex(function(e){return e.filename===t.filename})]=t,e.wallets.next(n)})},t.prototype.refreshPendingTransactions=function(){var t=this;this.wallets.first().subscribe(function(e){a.a.forkJoin(e.map(function(e){return t.apiService.get("wallet/transactions",{id:e.filename})})).subscribe(function(e){t.pendingTxs.next([].concat.apply([],e.filter(function(t){return t.transactions.length>0}).map(function(t){return t.transactions})).reduce(function(t,e){return t.find(function(t){return t.transaction.txid===e.transaction.txid})||t.push(e),t},[]))})})},t}(),Zr="undefined"!=typeof Intl&&Intl.v8BreakIterator,Qr=function(){return function(){this.isBrowser="object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Zr)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}();function $r(){if(null==Nr&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){return Nr=!0}}))}finally{Nr=Nr||!1}return Nr}var ti=function(){},ei=n("GK6M"),ni=n("/iUD"),ri=n("fKB6"),ii=Object.prototype.toString,oi=function(t){function e(e,n,r,i){t.call(this),this.sourceObj=e,this.eventName=n,this.selector=r,this.options=i}return Object(o.b)(e,t),e.create=function(t,n,r,i){return Object(ni.a)(r)&&(i=r,r=void 0),new e(t,n,i,r)},e.setupSubscription=function(t,n,r,i,o){var a;if(function(t){return!!t&&"[object NodeList]"===ii.call(t)}(t)||function(t){return!!t&&"[object HTMLCollection]"===ii.call(t)}(t))for(var s=0,l=t.length;s0?e._scrolled.pipe(li(t)).subscribe(n):e._scrolled.subscribe(n);return e._scrolledCount++,function(){r.unsubscribe(),e._scrolledCount--,e._scrolledCount||e._removeGlobalListener()}}):ur()},t.prototype.ngOnDestroy=function(){var t=this;this._removeGlobalListener(),this.scrollContainers.forEach(function(e,n){return t.deregister(n)})},t.prototype.ancestorScrolled=function(t,e){var n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(fr(function(t){return!t||n.indexOf(t)>-1}))},t.prototype.getAncestorScrollContainers=function(t){var e=this,n=[];return this.scrollContainers.forEach(function(r,i){e._scrollableContainsElement(i,t)&&n.push(i)}),n},t.prototype._scrollableContainsElement=function(t,e){var n=e.nativeElement,r=t.getElementRef().nativeElement;do{if(n==r)return!0}while(n=n.parentElement);return!1},t.prototype._addGlobalListener=function(){var t=this;this._globalSubscription=this._ngZone.runOutsideAngular(function(){return oi(window.document,"scroll").subscribe(function(){return t._scrolled.next()})})},t.prototype._removeGlobalListener=function(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)},t}();function di(t,e,n){return t||new ci(e,n)}var hi=function(){function t(t,e){var n=this;this._platform=t,this._change=t.isBrowser?e.runOutsideAngular(function(){return Object(ui.a)(oi(window,"resize"),oi(window,"orientationchange"))}):ur(),this._invalidateCache=this.change().subscribe(function(){return n._updateViewportSize()})}return t.prototype.ngOnDestroy=function(){this._invalidateCache.unsubscribe()},t.prototype.getViewportSize=function(){this._viewportSize||this._updateViewportSize();var t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t},t.prototype.getViewportRect=function(){var t=this.getViewportScrollPosition(),e=this.getViewportSize(),n=e.width,r=e.height;return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+n,height:r,width:n}},t.prototype.getViewportScrollPosition=function(){if(!this._platform.isBrowser)return{top:0,left:0};var t=document.documentElement.getBoundingClientRect();return{top:-t.top||document.body.scrollTop||window.scrollY||document.documentElement.scrollTop||0,left:-t.left||document.body.scrollLeft||window.scrollX||document.documentElement.scrollLeft||0}},t.prototype.change=function(t){return void 0===t&&(t=20),t>0?this._change.pipe(li(t)):this._change},t.prototype._updateViewportSize=function(){this._viewportSize=this._platform.isBrowser?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0}},t}();function pi(t,e,n){return t||new hi(e,n)}var fi=function(){},_i=new r.p("cdk-dir-doc"),mi=function(){return function(t){this.value="ltr",this.change=new r.n,t&&(this.value=(t.body?t.body.dir:null)||(t.documentElement?t.documentElement.dir:null)||"ltr")}}(),gi=function(){};function yi(){throw Error("Host already has a portal attached")}var vi=function(){function t(){}return t.prototype.attach=function(t){return null==t&&function(){throw Error("Attempting to attach a portal to a null PortalOutlet")}(),t.hasAttached()&&yi(),this._attachedHost=t,t.attach(this)},t.prototype.detach=function(){var t=this._attachedHost;null==t?function(){throw Error("Attempting to detach a portal that is not attached to a host")}():(this._attachedHost=null,t.detach())},Object.defineProperty(t.prototype,"isAttached",{get:function(){return null!=this._attachedHost},enumerable:!0,configurable:!0}),t.prototype.setAttachedHost=function(t){this._attachedHost=t},t}(),bi=function(t){function e(e,n,r){var i=t.call(this)||this;return i.component=e,i.viewContainerRef=n,i.injector=r,i}return Object(o.b)(e,t),e}(vi),wi=function(t){function e(e,n,r){var i=t.call(this)||this;return i.templateRef=e,i.viewContainerRef=n,i.context=r,i}return Object(o.b)(e,t),Object.defineProperty(e.prototype,"origin",{get:function(){return this.templateRef.elementRef},enumerable:!0,configurable:!0}),e.prototype.attach=function(e,n){return void 0===n&&(n=this.context),this.context=n,t.prototype.attach.call(this,e)},e.prototype.detach=function(){return this.context=void 0,t.prototype.detach.call(this)},e}(vi),Mi=function(){function t(){this._isDisposed=!1}return t.prototype.hasAttached=function(){return!!this._attachedPortal},t.prototype.attach=function(t){return t||function(){throw Error("Must provide a portal to attach")}(),this.hasAttached()&&yi(),this._isDisposed&&function(){throw Error("This PortalOutlet has already been disposed")}(),t instanceof bi?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof wi?(this._attachedPortal=t,this.attachTemplatePortal(t)):void function(){throw Error("Attempting to attach an unknown Portal type. BasePortalOutlet accepts either a ComponentPortal or a TemplatePortal.")}()},t.prototype.detach=function(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()},t.prototype.dispose=function(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0},t.prototype.setDisposeFn=function(t){this._disposeFn=t},t.prototype._invokeDisposeFn=function(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)},t}(),ki=function(t){function e(e,n,r,i){var o=t.call(this)||this;return o.outletElement=e,o._componentFactoryResolver=n,o._appRef=r,o._defaultInjector=i,o}return Object(o.b)(e,t),e.prototype.attachComponentPortal=function(t){var e,n=this,r=this._componentFactoryResolver.resolveComponentFactory(t.component);return t.viewContainerRef?(e=t.viewContainerRef.createComponent(r,t.viewContainerRef.length,t.injector||t.viewContainerRef.parentInjector),this.setDisposeFn(function(){return e.destroy()})):(e=r.create(t.injector||this._defaultInjector),this._appRef.attachView(e.hostView),this.setDisposeFn(function(){n._appRef.detachView(e.hostView),e.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(e)),e},e.prototype.attachTemplatePortal=function(t){var e=this,n=t.viewContainerRef,r=n.createEmbeddedView(t.templateRef,t.context);return r.detectChanges(),r.rootNodes.forEach(function(t){return e.outletElement.appendChild(t)}),this.setDisposeFn(function(){var t=n.indexOf(r);-1!==t&&n.remove(t)}),r},e.prototype.dispose=function(){t.prototype.dispose.call(this),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)},e.prototype._getComponentRootNode=function(t){return t.hostView.rootNodes[0]},e}(Mi),xi=function(t){function e(e,n){var i=t.call(this)||this;return i._componentFactoryResolver=e,i._viewContainerRef=n,i._isInitialized=!1,i.attached=new r.n,i}return Object(o.b)(e,t),Object.defineProperty(e.prototype,"_deprecatedPortal",{get:function(){return this.portal},set:function(t){this.portal=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_deprecatedPortalHost",{get:function(){return this.portal},set:function(t){this.portal=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"portal",{get:function(){return this._attachedPortal},set:function(e){(!this.hasAttached()||e||this._isInitialized)&&(this.hasAttached()&&t.prototype.detach.call(this),e&&t.prototype.attach.call(this,e),this._attachedPortal=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"attachedRef",{get:function(){return this._attachedRef},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this._isInitialized=!0},e.prototype.ngOnDestroy=function(){t.prototype.dispose.call(this),this._attachedPortal=null,this._attachedRef=null},e.prototype.attachComponentPortal=function(e){e.setAttachedHost(this);var n=null!=e.viewContainerRef?e.viewContainerRef:this._viewContainerRef,r=this._componentFactoryResolver.resolveComponentFactory(e.component),i=n.createComponent(r,n.length,e.injector||n.parentInjector);return t.prototype.setDisposeFn.call(this,function(){return i.destroy()}),this._attachedPortal=e,this._attachedRef=i,this.attached.emit(i),i},e.prototype.attachTemplatePortal=function(e){var n=this;e.setAttachedHost(this);var r=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context);return t.prototype.setDisposeFn.call(this,function(){return n._viewContainerRef.clear()}),this._attachedPortal=e,this._attachedRef=r,this.attached.emit(r),r},e}(Mi),Li=function(){},Ci=function(){function t(t,e){this._parentInjector=t,this._customTokens=e}return t.prototype.get=function(t,e){var n=this._customTokens.get(t);return"undefined"!=typeof n?n:this._parentInjector.get(t,e)},t}(),Si=function(t){function e(){var e=t.call(this,"argument out of range");this.name=e.name="ArgumentOutOfRangeError",this.stack=e.stack,this.message=e.message}return Object(o.b)(e,t),e}(Error);function Ti(t){return function(e){return 0===t?new rr.a:e.lift(new Di(t))}}var Di=function(){function t(t){if(this.total=t,this.total<0)throw new Si}return t.prototype.call=function(t,e){return e.subscribe(new Oi(t,this.total))},t}(),Oi=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return Object(o.b)(e,t),e.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},e}(Zn.a);function Yi(t){return null!=t&&""+t!="false"}function Pi(t,e){return void 0===e&&(e=0),function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function Ei(t){return Array.isArray(t)?t:[t]}var ji=27,Ai=function(){function t(){}return t.prototype.enable=function(){},t.prototype.disable=function(){},t.prototype.attach=function(){},t}(),Ii=function(){return function(t){var e=this;this.scrollStrategy=new Ai,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.direction="ltr",t&&Object.keys(t).filter(function(e){return"undefined"!=typeof t[e]}).forEach(function(n){return e[n]=t[n]})}}(),Hi=function(t,e,n,r){this.offsetX=n,this.offsetY=r,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY};function Ri(){return Error("Scroll strategy has already been attached.")}var Ni=function(){function t(t,e,n,r){var i=this;this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=r,this._scrollSubscription=null,this._detach=function(){i.disable(),i._overlayRef.hasAttached()&&i._ngZone.run(function(){return i._overlayRef.detach()})}}return t.prototype.attach=function(t){if(this._overlayRef)throw Ri();this._overlayRef=t},t.prototype.enable=function(){var t=this;if(!this._scrollSubscription){var e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(function(){var e=t._viewportRuler.getViewportScrollPosition().top;Math.abs(e-t._initialScrollPosition)>t._config.threshold?t._detach():t._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}},t.prototype.disable=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t}(),Fi=function(){function t(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}return t.prototype.attach=function(){},t.prototype.enable=function(){if(this._canBeEnabled()){var t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=-this._previousScrollPosition.left+"px",t.style.top=-this._previousScrollPosition.top+"px",t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}},t.prototype.disable=function(){if(this._isEnabled){var t=this._document.documentElement,e=this._document.body,n=t.style.scrollBehavior||"",r=e.style.scrollBehavior||"";this._isEnabled=!1,t.style.left=this._previousHTMLStyles.left,t.style.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),t.style.scrollBehavior=e.style.scrollBehavior="auto",window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),t.style.scrollBehavior=n,e.style.scrollBehavior=r}},t.prototype._canBeEnabled=function(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;var t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width},t}();function Vi(t,e){return e.some(function(e){return t.bottome.bottom||t.righte.right})}function zi(t,e){return e.some(function(e){return t.tope.bottom||t.lefte.right})}var Wi=function(){function t(t,e,n,r){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=r,this._scrollSubscription=null}return t.prototype.attach=function(t){if(this._overlayRef)throw Ri();this._overlayRef=t},t.prototype.enable=function(){var t=this;this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(function(){if(t._overlayRef.updatePosition(),t._config&&t._config.autoClose){var e=t._overlayRef.overlayElement.getBoundingClientRect(),n=t._viewportRuler.getViewportSize(),r=n.width,i=n.height;Vi(e,[{width:r,height:i,bottom:i,right:r,top:0,left:0}])&&(t.disable(),t._ngZone.run(function(){return t._overlayRef.detach()}))}}))},t.prototype.disable=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t}(),Bi=function(){return function(t,e,n,r){var i=this;this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=function(){return new Ai},this.close=function(t){return new Ni(i._scrollDispatcher,i._ngZone,i._viewportRuler,t)},this.block=function(){return new Fi(i._viewportRuler,i._document)},this.reposition=function(t){return new Wi(i._scrollDispatcher,i._viewportRuler,i._ngZone,t)},this._document=r}}(),Ui=function(){function t(t,e,n,r,i,o){this._portalOutlet=t,this._pane=e,this._config=n,this._ngZone=r,this._keyboardDispatcher=i,this._document=o,this._backdropElement=null,this._backdropClick=new Fr.a,this._attachments=new Fr.a,this._detachments=new Fr.a,this._keydownEvents=new Fr.a,n.scrollStrategy&&n.scrollStrategy.attach(this)}return Object.defineProperty(t.prototype,"overlayElement",{get:function(){return this._pane},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"backdropElement",{get:function(){return this._backdropElement},enumerable:!0,configurable:!0}),t.prototype.attach=function(t){var e=this,n=this._portalOutlet.attach(t);return this._config.positionStrategy&&this._config.positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._config.scrollStrategy&&this._config.scrollStrategy.enable(),this._ngZone.onStable.asObservable().pipe(Ti(1)).subscribe(function(){e.hasAttached()&&e.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&(Array.isArray(this._config.panelClass)?this._config.panelClass.forEach(function(t){return e._pane.classList.add(t)}):this._pane.classList.add(this._config.panelClass)),this._attachments.next(),this._keyboardDispatcher.add(this),n},t.prototype.detach=function(){if(this.hasAttached()){this.detachBackdrop(),this._togglePointerEvents(!1),this._config.positionStrategy&&this._config.positionStrategy.detach&&this._config.positionStrategy.detach(),this._config.scrollStrategy&&this._config.scrollStrategy.disable();var t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),t}},t.prototype.dispose=function(){var t=this.hasAttached();this._config.positionStrategy&&this._config.positionStrategy.dispose(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this.detachBackdrop(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),t&&this._detachments.next(),this._detachments.complete()},t.prototype.hasAttached=function(){return this._portalOutlet.hasAttached()},t.prototype.backdropClick=function(){return this._backdropClick.asObservable()},t.prototype.attachments=function(){return this._attachments.asObservable()},t.prototype.detachments=function(){return this._detachments.asObservable()},t.prototype.keydownEvents=function(){return this._keydownEvents.asObservable()},t.prototype.getConfig=function(){return this._config},t.prototype.updatePosition=function(){this._config.positionStrategy&&this._config.positionStrategy.apply()},t.prototype.updateSize=function(t){this._config=Object(o.a)({},this._config,t),this._updateElementSize()},t.prototype.setDirection=function(t){this._config=Object(o.a)({},this._config,{direction:t}),this._updateElementDirection()},t.prototype._updateElementDirection=function(){this._pane.setAttribute("dir",this._config.direction)},t.prototype._updateElementSize=function(){(this._config.width||0===this._config.width)&&(this._pane.style.width=qi(this._config.width)),(this._config.height||0===this._config.height)&&(this._pane.style.height=qi(this._config.height)),(this._config.minWidth||0===this._config.minWidth)&&(this._pane.style.minWidth=qi(this._config.minWidth)),(this._config.minHeight||0===this._config.minHeight)&&(this._pane.style.minHeight=qi(this._config.minHeight)),(this._config.maxWidth||0===this._config.maxWidth)&&(this._pane.style.maxWidth=qi(this._config.maxWidth)),(this._config.maxHeight||0===this._config.maxHeight)&&(this._pane.style.maxHeight=qi(this._config.maxHeight))},t.prototype._togglePointerEvents=function(t){this._pane.style.pointerEvents=t?"auto":"none"},t.prototype._attachBackdrop=function(){var t=this;this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._backdropElement.classList.add(this._config.backdropClass),this._pane.parentElement.insertBefore(this._backdropElement,this._pane),this._backdropElement.addEventListener("click",function(e){return t._backdropClick.next(e)}),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(function(){requestAnimationFrame(function(){t._backdropElement&&t._backdropElement.classList.add("cdk-overlay-backdrop-showing")})}):this._backdropElement.classList.add("cdk-overlay-backdrop-showing")},t.prototype._updateStackingOrder=function(){this._pane.nextSibling&&this._pane.parentNode.appendChild(this._pane)},t.prototype.detachBackdrop=function(){var t=this,e=this._backdropElement;if(e){var n=function(){e&&e.parentNode&&e.parentNode.removeChild(e),t._backdropElement==e&&(t._backdropElement=null)};e.classList.remove("cdk-overlay-backdrop-showing"),this._config.backdropClass&&e.classList.remove(this._config.backdropClass),e.addEventListener("transitionend",n),e.style.pointerEvents="none",this._ngZone.runOutsideAngular(function(){setTimeout(n,500)})}},t}();function qi(t){return"string"==typeof t?t:t+"px"}var Ji=function(){function t(t,e,n,r,i){this._connectedTo=n,this._viewportRuler=r,this._document=i,this._dir="ltr",this._offsetX=0,this._offsetY=0,this.scrollables=[],this._resizeSubscription=Cr.a.EMPTY,this._preferredPositions=[],this._applied=!1,this._positionLocked=!1,this._onPositionChange=new Fr.a,this._origin=this._connectedTo.nativeElement,this.withFallbackPosition(t,e)}return Object.defineProperty(t.prototype,"_isRtl",{get:function(){return"rtl"===this._dir},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onPositionChange",{get:function(){return this._onPositionChange.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"positions",{get:function(){return this._preferredPositions},enumerable:!0,configurable:!0}),t.prototype.attach=function(t){var e=this;this._pane=t.overlayElement,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(function(){return e.apply()})},t.prototype.dispose=function(){this._applied=!1,this._resizeSubscription.unsubscribe(),this._onPositionChange.complete()},t.prototype.detach=function(){this._applied=!1,this._resizeSubscription.unsubscribe()},t.prototype.apply=function(){if(this._applied&&this._positionLocked&&this._lastConnectedPosition)this.recalculateLastPosition();else{this._applied=!0;for(var t,e,n=this._pane,r=this._origin.getBoundingClientRect(),i=n.getBoundingClientRect(),o=this._viewportRuler.getViewportSize(),a=0,s=this._preferredPositions;a-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this._unsubscribeFromKeydownEvents()},t.prototype._subscribeToKeydownEvents=function(){var t=this,e=oi(this._document.body,"keydown",!0);this._keydownEventSubscription=e.pipe(fr(function(){return!!t._attachedOverlays.length})).subscribe(function(e){t._selectOverlayFromEvent(e)._keydownEvents.next(e)})},t.prototype._unsubscribeFromKeydownEvents=function(){this._keydownEventSubscription&&(this._keydownEventSubscription.unsubscribe(),this._keydownEventSubscription=null)},t.prototype._selectOverlayFromEvent=function(t){return this._attachedOverlays.find(function(e){return e.overlayElement===t.target||e.overlayElement.contains(t.target)})||this._attachedOverlays[this._attachedOverlays.length-1]},t}();function Zi(t,e){return t||new Xi(e)}var Qi=function(){function t(t){this._document=t}return t.prototype.ngOnDestroy=function(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)},t.prototype.getContainerElement=function(){return this._containerElement||this._createContainer(),this._containerElement},t.prototype._createContainer=function(){var t=this._document.createElement("div");t.classList.add("cdk-overlay-container"),this._document.body.appendChild(t),this._containerElement=t},t}();function $i(t,e){return t||new Qi(e)}var to=0,eo=function(){function t(t,e,n,r,i,o,a,s,l){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=r,this._keyboardDispatcher=i,this._appRef=o,this._injector=a,this._ngZone=s,this._document=l}return t.prototype.create=function(t){var e=this._createPaneElement(),n=this._createPortalOutlet(e);return new Ui(n,e,new Ii(t),this._ngZone,this._keyboardDispatcher,this._document)},t.prototype.position=function(){return this._positionBuilder},t.prototype._createPaneElement=function(){var t=this._document.createElement("div");return t.id="cdk-overlay-"+to++,t.classList.add("cdk-overlay-pane"),this._overlayContainer.getContainerElement().appendChild(t),t},t.prototype._createPortalOutlet=function(t){return new ki(t,this._componentFactoryResolver,this._appRef,this._injector)},t}(),no=[new Hi({originX:"start",originY:"bottom"},{overlayX:"start",overlayY:"top"}),new Hi({originX:"start",originY:"top"},{overlayX:"start",overlayY:"bottom"}),new Hi({originX:"end",originY:"top"},{overlayX:"end",overlayY:"bottom"}),new Hi({originX:"end",originY:"bottom"},{overlayX:"end",overlayY:"top"})],ro=new r.p("cdk-connected-overlay-scroll-strategy");function io(t){return function(){return t.scrollStrategies.reposition()}}var oo=function(t){this.elementRef=t},ao=function(){function t(t,e,n,i,o){this._overlay=t,this._scrollStrategy=i,this._dir=o,this._hasBackdrop=!1,this._lockPosition=!1,this._backdropSubscription=Cr.a.EMPTY,this._offsetX=0,this._offsetY=0,this.scrollStrategy=this._scrollStrategy(),this.open=!1,this.backdropClick=new r.n,this.positionChange=new r.n,this.attach=new r.n,this.detach=new r.n,this._templatePortal=new wi(e,n)}return Object.defineProperty(t.prototype,"offsetX",{get:function(){return this._offsetX},set:function(t){this._offsetX=t,this._position&&this._position.withOffsetX(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offsetY",{get:function(){return this._offsetY},set:function(t){this._offsetY=t,this._position&&this._position.withOffsetY(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasBackdrop",{get:function(){return this._hasBackdrop},set:function(t){this._hasBackdrop=Yi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"lockPosition",{get:function(){return this._lockPosition},set:function(t){this._lockPosition=Yi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOrigin",{get:function(){return this.origin},set:function(t){this.origin=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedPositions",{get:function(){return this.positions},set:function(t){this.positions=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOffsetX",{get:function(){return this.offsetX},set:function(t){this.offsetX=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOffsetY",{get:function(){return this.offsetY},set:function(t){this.offsetY=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedWidth",{get:function(){return this.width},set:function(t){this.width=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedHeight",{get:function(){return this.height},set:function(t){this.height=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedMinWidth",{get:function(){return this.minWidth},set:function(t){this.minWidth=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedMinHeight",{get:function(){return this.minHeight},set:function(t){this.minHeight=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedBackdropClass",{get:function(){return this.backdropClass},set:function(t){this.backdropClass=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedScrollStrategy",{get:function(){return this.scrollStrategy},set:function(t){this.scrollStrategy=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOpen",{get:function(){return this.open},set:function(t){this.open=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedHasBackdrop",{get:function(){return this.hasBackdrop},set:function(t){this.hasBackdrop=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"overlayRef",{get:function(){return this._overlayRef},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dir",{get:function(){return this._dir?this._dir.value:"ltr"},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this._destroyOverlay()},t.prototype.ngOnChanges=function(t){this._position&&((t.positions||t._deprecatedPositions)&&this._position.withPositions(this.positions),t.lockPosition&&this._position.withLockedPosition(this.lockPosition),(t.origin||t._deprecatedOrigin)&&(this._position.setOrigin(this.origin.elementRef),this.open&&this._position.apply())),(t.open||t._deprecatedOpen)&&(this.open?this._attachOverlay():this._detachOverlay())},t.prototype._createOverlay=function(){this.positions&&this.positions.length||(this.positions=no),this._overlayRef=this._overlay.create(this._buildConfig())},t.prototype._buildConfig=function(){var t=this._position=this._createPositionStrategy(),e=new Ii({positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(e.width=this.width),(this.height||0===this.height)&&(e.height=this.height),(this.minWidth||0===this.minWidth)&&(e.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(e.minHeight=this.minHeight),this.backdropClass&&(e.backdropClass=this.backdropClass),e},t.prototype._createPositionStrategy=function(){for(var t=this,e=this.positions[0],n={originX:e.originX,originY:e.originY},r={overlayX:e.overlayX,overlayY:e.overlayY},i=this._overlay.position().connectedTo(this.origin.elementRef,n,r).withOffsetX(this.offsetX).withOffsetY(this.offsetY).withLockedPosition(this.lockPosition),o=1;o=0},t.prototype.isFocusable=function(t){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){var e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||fo(t))}(t)&&!this.isDisabled(t)&&this.isVisible(t)},t}();function fo(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;var e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function _o(t){if(!fo(t))return null;var e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}var mo=function(){function t(t,e,n,r,i){void 0===i&&(i=!1),this._element=t,this._checker=e,this._ngZone=n,this._document=r,this._enabled=!0,i||this.attachAnchors()}return Object.defineProperty(t.prototype,"enabled",{get:function(){return this._enabled},set:function(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._startAnchor.tabIndex=this._endAnchor.tabIndex=this._enabled?0:-1)},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){this._startAnchor&&this._startAnchor.parentNode&&this._startAnchor.parentNode.removeChild(this._startAnchor),this._endAnchor&&this._endAnchor.parentNode&&this._endAnchor.parentNode.removeChild(this._endAnchor),this._startAnchor=this._endAnchor=null},t.prototype.attachAnchors=function(){var t=this;this._startAnchor||(this._startAnchor=this._createAnchor()),this._endAnchor||(this._endAnchor=this._createAnchor()),this._ngZone.runOutsideAngular(function(){t._startAnchor.addEventListener("focus",function(){t.focusLastTabbableElement()}),t._endAnchor.addEventListener("focus",function(){t.focusFirstTabbableElement()}),t._element.parentNode&&(t._element.parentNode.insertBefore(t._startAnchor,t._element),t._element.parentNode.insertBefore(t._endAnchor,t._element.nextSibling))})},t.prototype.focusInitialElementWhenReady=function(){var t=this;return new Promise(function(e){t._executeOnStable(function(){return e(t.focusInitialElement())})})},t.prototype.focusFirstTabbableElementWhenReady=function(){var t=this;return new Promise(function(e){t._executeOnStable(function(){return e(t.focusFirstTabbableElement())})})},t.prototype.focusLastTabbableElementWhenReady=function(){var t=this;return new Promise(function(e){t._executeOnStable(function(){return e(t.focusLastTabbableElement())})})},t.prototype._getRegionBoundary=function(t){for(var e=this._element.querySelectorAll("[cdk-focus-region-"+t+"], [cdkFocusRegion"+t+"], [cdk-focus-"+t+"]"),n=0;n=0;n--){var r=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(r)return r}return null},t.prototype._createAnchor=function(){var t=this._document.createElement("div");return t.tabIndex=this._enabled?0:-1,t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t},t.prototype._executeOnStable=function(t){this._ngZone.isStable?t():this._ngZone.onStable.asObservable().pipe(Ti(1)).subscribe(t)},t}(),go=function(){function t(t,e,n){this._checker=t,this._ngZone=e,this._document=n}return t.prototype.create=function(t,e){return void 0===e&&(e=!1),new mo(t,this._checker,this._ngZone,this._document,e)},t}();function yo(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}var vo=0,bo=new Map,wo=null,Mo=function(){function t(t){this._document=t}return t.prototype.describe=function(t,e){this._canBeDescribed(t,e)&&(bo.has(e)||this._createMessageElement(e),this._isElementDescribedByMessage(t,e)||this._addMessageReference(t,e))},t.prototype.removeDescription=function(t,e){if(this._canBeDescribed(t,e)){this._isElementDescribedByMessage(t,e)&&this._removeMessageReference(t,e);var n=bo.get(e);n&&0===n.referenceCount&&this._deleteMessageElement(e),wo&&0===wo.childNodes.length&&this._deleteMessagesContainer()}},t.prototype.ngOnDestroy=function(){for(var t=this._document.querySelectorAll("[cdk-describedby-host]"),e=0;e-1&&n!==e._activeItemIndex&&(e._activeItemIndex=n)}})}return t.prototype.skipPredicate=function(t){return this._skipPredicateFn=t,this},t.prototype.withWrap=function(){return this._wrap=!0,this},t.prototype.withVerticalOrientation=function(t){return void 0===t&&(t=!0),this._vertical=t,this},t.prototype.withHorizontalOrientation=function(t){return this._horizontal=t,this},t.prototype.withTypeAhead=function(t){var e=this;if(void 0===t&&(t=200),this._items.length&&this._items.some(function(t){return"function"!=typeof t.getLabel}))throw Error("ListKeyManager items in typeahead mode must implement the `getLabel` method.");return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(cr(function(t){return e._pressedLetters.push(t)}),lo(t),fr(function(){return e._pressedLetters.length>0}),Qn(function(){return e._pressedLetters.join("")})).subscribe(function(t){for(var n=e._items.toArray(),r=1;r=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e)))}this._pressedLetters=[],t.preventDefault()},Object.defineProperty(t.prototype,"activeItemIndex",{get:function(){return this._activeItemIndex},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activeItem",{get:function(){return this._activeItem},enumerable:!0,configurable:!0}),t.prototype.setFirstItemActive=function(){this._setActiveItemByIndex(0,1)},t.prototype.setLastItemActive=function(){this._setActiveItemByIndex(this._items.length-1,-1)},t.prototype.setNextItemActive=function(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)},t.prototype.setPreviousItemActive=function(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)},t.prototype.updateActiveItemIndex=function(t){this._activeItemIndex=t},t.prototype._setActiveItemByDelta=function(t,e){void 0===e&&(e=this._items.toArray()),this._wrap?this._setActiveInWrapMode(t,e):this._setActiveInDefaultMode(t,e)},t.prototype._setActiveInWrapMode=function(t,e){for(var n=1;n<=e.length;n++){var r=(this._activeItemIndex+t*n+e.length)%e.length;if(!this._skipPredicateFn(e[r]))return void this.setActiveItem(r)}},t.prototype._setActiveInDefaultMode=function(t,e){this._setActiveItemByIndex(this._activeItemIndex+t,t,e)},t.prototype._setActiveItemByIndex=function(t,e,n){if(void 0===n&&(n=this._items.toArray()),n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}},t}(),Lo=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.b)(e,t),e.prototype.setActiveItem=function(e){this.activeItem&&this.activeItem.setInactiveStyles(),t.prototype.setActiveItem.call(this,e),this.activeItem&&this.activeItem.setActiveStyles()},e}(xo),Co=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._origin="program",e}return Object(o.b)(e,t),e.prototype.setFocusOrigin=function(t){return this._origin=t,this},e.prototype.setActiveItem=function(e){t.prototype.setActiveItem.call(this,e),this.activeItem&&this.activeItem.focus(this._origin)},e}(xo),So=new r.p("liveAnnouncerElement"),To=function(){function t(t,e){this._document=e,this._liveElement=t||this._createLiveElement()}return t.prototype.announce=function(t,e){var n=this;return void 0===e&&(e="polite"),this._liveElement.textContent="",this._liveElement.setAttribute("aria-live",e),new Promise(function(e){setTimeout(function(){n._liveElement.textContent=t,e()},100)})},t.prototype.ngOnDestroy=function(){this._liveElement&&this._liveElement.parentNode&&this._liveElement.parentNode.removeChild(this._liveElement)},t.prototype._createLiveElement=function(){var t=this._document.createElement("div");return t.classList.add("cdk-visually-hidden"),t.setAttribute("aria-atomic","true"),t.setAttribute("aria-live","polite"),this._document.body.appendChild(t),t},t}();function Do(t,e,n){return t||new To(e,n)}var Oo=function(){function t(t,e){this._ngZone=t,this._platform=e,this._origin=null,this._windowFocused=!1,this._elementInfo=new Map,this._unregisterGlobalListeners=function(){},this._monitoredElementCount=0}return t.prototype.monitor=function(t,e,n){var i=this;if(e instanceof r.C||(n=e),n=!!n,!this._platform.isBrowser)return ur(null);if(this._elementInfo.has(t)){var o=this._elementInfo.get(t);return o.checkChildren=n,o.subject.asObservable()}var a={unlisten:function(){},checkChildren:n,subject:new Fr.a};this._elementInfo.set(t,a),this._incrementMonitoredElementCount();var s=function(e){return i._onFocus(e,t)},l=function(e){return i._onBlur(e,t)};return this._ngZone.runOutsideAngular(function(){t.addEventListener("focus",s,!0),t.addEventListener("blur",l,!0)}),a.unlisten=function(){t.removeEventListener("focus",s,!0),t.removeEventListener("blur",l,!0)},a.subject.asObservable()},t.prototype.stopMonitoring=function(t){var e=this._elementInfo.get(t);e&&(e.unlisten(),e.subject.complete(),this._setClasses(t),this._elementInfo.delete(t),this._decrementMonitoredElementCount())},t.prototype.focusVia=function(t,e){this._setOriginForCurrentEventQueue(e),t.focus()},t.prototype.ngOnDestroy=function(){var t=this;this._elementInfo.forEach(function(e,n){return t.stopMonitoring(n)})},t.prototype._registerGlobalListeners=function(){var t=this;if(this._platform.isBrowser){var e=function(){t._lastTouchTarget=null,t._setOriginForCurrentEventQueue("keyboard")},n=function(){t._lastTouchTarget||t._setOriginForCurrentEventQueue("mouse")},r=function(e){null!=t._touchTimeoutId&&clearTimeout(t._touchTimeoutId),t._lastTouchTarget=e.target,t._touchTimeoutId=setTimeout(function(){return t._lastTouchTarget=null},650)},i=function(){t._windowFocused=!0,t._windowFocusTimeoutId=setTimeout(function(){return t._windowFocused=!1},0)};this._ngZone.runOutsideAngular(function(){document.addEventListener("keydown",e,!0),document.addEventListener("mousedown",n,!0),document.addEventListener("touchstart",r,!$r()||{passive:!0,capture:!0}),window.addEventListener("focus",i)}),this._unregisterGlobalListeners=function(){document.removeEventListener("keydown",e,!0),document.removeEventListener("mousedown",n,!0),document.removeEventListener("touchstart",r,!$r()||{passive:!0,capture:!0}),window.removeEventListener("focus",i),clearTimeout(t._windowFocusTimeoutId),clearTimeout(t._touchTimeoutId),clearTimeout(t._originTimeoutId)}}},t.prototype._toggleClass=function(t,e,n){n?t.classList.add(e):t.classList.remove(e)},t.prototype._setClasses=function(t,e){this._elementInfo.get(t)&&(this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e))},t.prototype._setOriginForCurrentEventQueue=function(t){var e=this;this._origin=t,this._originTimeoutId=setTimeout(function(){return e._origin=null},0)},t.prototype._wasCausedByTouch=function(t){var e=t.target;return this._lastTouchTarget instanceof Node&&e instanceof Node&&(e===this._lastTouchTarget||e.contains(this._lastTouchTarget))},t.prototype._onFocus=function(t,e){var n=this._elementInfo.get(e);n&&(n.checkChildren||e===t.target)&&(this._origin||(this._origin=this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:this._wasCausedByTouch(t)?"touch":"program"),this._setClasses(e,this._origin),n.subject.next(this._origin),this._lastFocusOrigin=this._origin,this._origin=null)},t.prototype._onBlur=function(t,e){var n=this._elementInfo.get(e);!n||n.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),n.subject.next(null))},t.prototype._incrementMonitoredElementCount=function(){1==++this._monitoredElementCount&&this._registerGlobalListeners()},t.prototype._decrementMonitoredElementCount=function(){--this._monitoredElementCount||(this._unregisterGlobalListeners(),this._unregisterGlobalListeners=function(){})},t}();function Yo(t,e,n){return t||new Oo(e,n)}var Po=function(){},Eo=new r.p("mat-sanity-checks"),jo=function(){function t(t){this._sanityChecksEnabled=t,this._hasDoneGlobalChecks=!1,this._hasCheckedHammer=!1,this._document="object"==typeof document&&document?document:null,this._window="object"==typeof window&&window?window:null,this._areChecksEnabled()&&!this._hasDoneGlobalChecks&&(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._hasDoneGlobalChecks=!0)}return t.prototype._areChecksEnabled=function(){return this._sanityChecksEnabled&&Object(r.U)()&&!this._isTestEnv()},t.prototype._isTestEnv=function(){return this._window&&(this._window.__karma__||this._window.jasmine)},t.prototype._checkDoctypeIsDefined=function(){this._document&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")},t.prototype._checkThemeIsPresent=function(){if(this._document&&"function"==typeof getComputedStyle){var t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);var e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}},t.prototype._checkHammerIsAvailable=function(){!this._hasCheckedHammer&&this._window&&(this._areChecksEnabled()&&!this._window.Hammer&&console.warn("Could not find HammerJS. Certain Angular Material components may not work correctly."),this._hasCheckedHammer=!0)},t}();function Ao(t){return function(t){function e(){for(var e=[],n=0;nga?ga:i:i}()),this.arr=t,this.idx=e,this.len=n}return t.prototype[Er.a]=function(){return this},t.prototype.next=function(){return this.idx=t.length?r.complete():(r.next(e[n]),t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.arrayLike,r=this.scheduler,i=n.length;if(r)return r.schedule(e.dispatch,0,{arrayLike:n,index:0,length:i,subscriber:t});for(var o=0;o1?new lr.a(t,n):new rr.a(n),e)}}var xa=function(){},La="*";function Ca(t,e){return void 0===e&&(e=null),{type:2,steps:t,options:e}}function Sa(t){return{type:6,styles:t,offset:null}}function Ta(t){Promise.resolve(null).then(t)}var Da=function(){function t(){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=0}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.init=function(){},t.prototype.play=function(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0},t.prototype.triggerMicrotask=function(){var t=this;Ta(function(){return t._onFinish()})},t.prototype._onStart=function(){this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[]},t.prototype.pause=function(){},t.prototype.restart=function(){},t.prototype.finish=function(){this._onFinish()},t.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])},t.prototype.reset=function(){},t.prototype.setPosition=function(t){},t.prototype.getPosition=function(){return 0},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(function(t){return t()}),e.length=0},t}(),Oa=function(){function t(t){var e=this;this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;var n=0,r=0,i=0,o=this.players.length;0==o?Ta(function(){return e._onFinish()}):this.players.forEach(function(t){t.onDone(function(){++n==o&&e._onFinish()}),t.onDestroy(function(){++r==o&&e._onDestroy()}),t.onStart(function(){++i==o&&e._onStart()})}),this.totalTime=this.players.reduce(function(t,e){return Math.max(t,e.totalTime)},0)}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.init=function(){this.players.forEach(function(t){return t.init()})},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype._onStart=function(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[])},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.play=function(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(function(t){return t.play()})},t.prototype.pause=function(){this.players.forEach(function(t){return t.pause()})},t.prototype.restart=function(){this.players.forEach(function(t){return t.restart()})},t.prototype.finish=function(){this._onFinish(),this.players.forEach(function(t){return t.finish()})},t.prototype.destroy=function(){this._onDestroy()},t.prototype._onDestroy=function(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(function(t){return t.destroy()}),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])},t.prototype.reset=function(){this.players.forEach(function(t){return t.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype.setPosition=function(t){var e=t*this.totalTime;this.players.forEach(function(t){var n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})},t.prototype.getPosition=function(){var t=0;return this.players.forEach(function(e){var n=e.getPosition();t=Math.min(n,t)}),t},t.prototype.beforeDestroy=function(){this.players.forEach(function(t){t.beforeDestroy&&t.beforeDestroy()})},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(function(t){return t()}),e.length=0},t}(),Ya="!",Pa=function(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.direction="ltr",this.ariaDescribedBy=null,this.ariaLabel=null,this.autoFocus=!0,this.closeOnNavigation=!0};function Ea(){throw Error("Attempting to attach dialog content after content is already attached")}var ja=function(t){function e(e,n,i,o){var a=t.call(this)||this;return a._elementRef=e,a._focusTrapFactory=n,a._changeDetectorRef=i,a._document=o,a._elementFocusedBeforeDialogWasOpened=null,a._state="enter",a._animationStateChanged=new r.n,a._ariaLabelledBy=null,a}return Object(o.b)(e,t),e.prototype.attachComponentPortal=function(t){return this._portalOutlet.hasAttached()&&Ea(),this._savePreviouslyFocusedElement(),this._portalOutlet.attachComponentPortal(t)},e.prototype.attachTemplatePortal=function(t){return this._portalOutlet.hasAttached()&&Ea(),this._savePreviouslyFocusedElement(),this._portalOutlet.attachTemplatePortal(t)},e.prototype._trapFocus=function(){this._focusTrap||(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)),this._config.autoFocus&&this._focusTrap.focusInitialElementWhenReady()},e.prototype._restoreFocus=function(){var t=this._elementFocusedBeforeDialogWasOpened;t&&"function"==typeof t.focus&&t.focus(),this._focusTrap&&this._focusTrap.destroy()},e.prototype._savePreviouslyFocusedElement=function(){var t=this;this._document&&(this._elementFocusedBeforeDialogWasOpened=this._document.activeElement,this._elementRef.nativeElement.focus&&Promise.resolve().then(function(){return t._elementRef.nativeElement.focus()}))},e.prototype._onAnimationDone=function(t){"enter"===t.toState?this._trapFocus():"exit"===t.toState&&this._restoreFocus(),this._animationStateChanged.emit(t)},e.prototype._onAnimationStart=function(t){this._animationStateChanged.emit(t)},e.prototype._startExitAnimation=function(){this._state="exit",this._changeDetectorRef.markForCheck()},e}(Mi),Aa=0,Ia=function(){function t(t,e,n,r){void 0===r&&(r="mat-dialog-"+Aa++);var i=this;this._overlayRef=t,this._containerInstance=e,this.id=r,this.disableClose=this._containerInstance._config.disableClose,this._afterOpen=new Fr.a,this._afterClosed=new Fr.a,this._beforeClose=new Fr.a,this._locationChanges=Cr.a.EMPTY,e._id=r,e._animationStateChanged.pipe(fr(function(t){return"done"===t.phaseName&&"enter"===t.toState}),Ti(1)).subscribe(function(){i._afterOpen.next(),i._afterOpen.complete()}),e._animationStateChanged.pipe(fr(function(t){return"done"===t.phaseName&&"exit"===t.toState}),Ti(1)).subscribe(function(){i._overlayRef.dispose(),i._locationChanges.unsubscribe(),i._afterClosed.next(i._result),i._afterClosed.complete(),i.componentInstance=null}),t.keydownEvents().pipe(fr(function(t){return t.keyCode===ji&&!i.disableClose})).subscribe(function(){return i.close()}),n&&(this._locationChanges=n.subscribe(function(){i._containerInstance._config.closeOnNavigation&&i.close()}))}return t.prototype.close=function(t){var e=this;this._result=t,this._containerInstance._animationStateChanged.pipe(fr(function(t){return"start"===t.phaseName}),Ti(1)).subscribe(function(){e._beforeClose.next(t),e._beforeClose.complete(),e._overlayRef.detachBackdrop()}),this._containerInstance._startExitAnimation()},t.prototype.afterOpen=function(){return this._afterOpen.asObservable()},t.prototype.afterClosed=function(){return this._afterClosed.asObservable()},t.prototype.beforeClose=function(){return this._beforeClose.asObservable()},t.prototype.backdropClick=function(){return this._overlayRef.backdropClick()},t.prototype.keydownEvents=function(){return this._overlayRef.keydownEvents()},t.prototype.updatePosition=function(t){var e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this},t.prototype.updateSize=function(t,e){return void 0===t&&(t="auto"),void 0===e&&(e="auto"),this._getPositionStrategy().width(t).height(e),this._overlayRef.updatePosition(),this},t.prototype._getPositionStrategy=function(){return this._overlayRef.getConfig().positionStrategy},t}(),Ha=new r.p("MatDialogData"),Ra=new r.p("mat-dialog-default-options"),Na=new r.p("mat-dialog-scroll-strategy");function Fa(t){return function(){return t.scrollStrategies.block()}}var Va=function(){function t(t,e,n,r,i,o,a){var s=this;this._overlay=t,this._injector=e,this._location=n,this._defaultOptions=r,this._scrollStrategy=i,this._parentDialog=o,this._overlayContainer=a,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Fr.a,this._afterOpenAtThisLevel=new Fr.a,this._ariaHiddenElements=new Map,this.afterAllClosed=aa(function(){return s.openDialogs.length?s._afterAllClosed:s._afterAllClosed.pipe(ka(void 0))})}return Object.defineProperty(t.prototype,"openDialogs",{get:function(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"afterOpen",{get:function(){return this._parentDialog?this._parentDialog.afterOpen:this._afterOpenAtThisLevel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_afterAllClosed",{get:function(){var t=this._parentDialog;return t?t._afterAllClosed:this._afterAllClosedAtThisLevel},enumerable:!0,configurable:!0}),t.prototype.open=function(t,e){var n=this;if((e=function(t,e){return Object(o.a)({},e,t)}(e,this._defaultOptions||new Pa)).id&&this.getDialogById(e.id))throw Error('Dialog with id "'+e.id+'" exists already. The dialog id must be unique.');var r=this._createOverlay(e),i=this._attachDialogContainer(r,e),a=this._attachDialogContent(t,i,r,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(a),a.afterClosed().subscribe(function(){return n._removeOpenDialog(a)}),this.afterOpen.next(a),a},t.prototype.closeAll=function(){for(var t=this.openDialogs.length;t--;)this.openDialogs[t].close()},t.prototype.getDialogById=function(t){return this.openDialogs.find(function(e){return e.id===t})},t.prototype._createOverlay=function(t){var e=this._getOverlayConfig(t);return this._overlay.create(e)},t.prototype._getOverlayConfig=function(t){var e=new Ii({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight});return t.backdropClass&&(e.backdropClass=t.backdropClass),e},t.prototype._attachDialogContainer=function(t,e){var n=new bi(ja,e.viewContainerRef),r=t.attach(n);return r.instance._config=e,r.instance},t.prototype._attachDialogContent=function(t,e,n,i){var o=new Ia(n,e,this._location,i.id);if(i.hasBackdrop&&n.backdropClick().subscribe(function(){o.disableClose||o.close()}),t instanceof r.K)e.attachTemplatePortal(new wi(t,null,{$implicit:i.data,dialogRef:o}));else{var a=this._createInjector(i,o,e),s=e.attachComponentPortal(new bi(t,void 0,a));o.componentInstance=s.instance}return o.updateSize(i.width,i.height).updatePosition(i.position),o},t.prototype._createInjector=function(t,e,n){var r=t&&t.viewContainerRef&&t.viewContainerRef.injector,i=new WeakMap;return i.set(ja,n).set(Ha,t.data).set(Ia,e),r&&r.get(mi,null)||i.set(mi,{value:t.direction,change:ur()}),new Ci(r||this._injector,i)},t.prototype._removeOpenDialog=function(t){var e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach(function(t,e){t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._afterAllClosed.next()))},t.prototype._hideNonDialogContentFromAssistiveTechnology=function(){var t=this._overlayContainer.getContainerElement();if(t.parentElement)for(var e=t.parentElement.children,n=e.length-1;n>-1;n--){var r=e[n];r===t||"SCRIPT"===r.nodeName||"STYLE"===r.nodeName||r.hasAttribute("aria-live")||(this._ariaHiddenElements.set(r,r.getAttribute("aria-hidden")),r.setAttribute("aria-hidden","true"))}},t}(),za=function(){},Wa=function(){},Ba=ca.create,Ua=function(){function t(){}return Object.defineProperty(t.prototype,"value",{get:function(){return this.control?this.control.value:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return this.control?this.control.valid:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return this.control?this.control.invalid:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return this.control?this.control.pending:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this.control?this.control.disabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return this.control?this.control.enabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.control?this.control.errors:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pristine",{get:function(){return this.control?this.control.pristine:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return this.control?this.control.dirty:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"touched",{get:function(){return this.control?this.control.touched:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this.control?this.control.status:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return this.control?this.control.untouched:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"statusChanges",{get:function(){return this.control?this.control.statusChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valueChanges",{get:function(){return this.control?this.control.valueChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),t.prototype.reset=function(t){void 0===t&&(t=void 0),this.control&&this.control.reset(t)},t.prototype.hasError=function(t,e){return!!this.control&&this.control.hasError(t,e)},t.prototype.getError=function(t,e){return this.control?this.control.getError(t,e):null},t}(),qa=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.b)(e,t),Object.defineProperty(e.prototype,"formDirective",{get:function(){return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),e}(Ua);function Ja(t){return null==t||0===t.length}var Ga=new r.p("NgValidators"),Ka=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,Xa=function(){function t(){}return t.min=function(t){return function(e){if(Ja(e.value)||Ja(t))return null;var n=parseFloat(e.value);return!isNaN(n)&&nt?{max:{max:t,actual:e.value}}:null}},t.required=function(t){return Ja(t.value)?{required:!0}:null},t.requiredTrue=function(t){return!0===t.value?null:{required:!0}},t.email=function(t){return Ka.test(t.value)?null:{email:!0}},t.minLength=function(t){return function(e){if(Ja(e.value))return null;var n=e.value?e.value.length:0;return nt?{maxlength:{requiredLength:t,actualLength:n}}:null}},t.pattern=function(e){return e?("string"==typeof e?(r="","^"!==e.charAt(0)&&(r+="^"),r+=e,"$"!==e.charAt(e.length-1)&&(r+="$"),n=new RegExp(r)):(r=e.toString(),n=e),function(t){if(Ja(t.value))return null;var e=t.value;return n.test(e)?null:{pattern:{requiredPattern:r,actualValue:e}}}):t.nullValidator;var n,r},t.nullValidator=function(t){return null},t.compose=function(t){if(!t)return null;var e=t.filter(Za);return 0==e.length?null:function(t){return $a(function(t,n){return e.map(function(e){return e(t)})}(t))}},t.composeAsync=function(t){if(!t)return null;var e=t.filter(Za);return 0==e.length?null:function(t){var n=function(t,n){return e.map(function(e){return e(t)})}(t).map(Qa);return er.call(sr(n),$a)}},t}();function Za(t){return null!=t}function Qa(t){var e=Object(r._11)(t)?Ba(t):t;if(!Object(r._10)(e))throw new Error("Expected validator to return Promise or Observable.");return e}function $a(t){var e=t.reduce(function(t,e){return null!=e?Object(o.a)({},t,e):t},{});return 0===Object.keys(e).length?null:e}var ts=new r.p("NgValueAccessor"),es=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"checked",t)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t}(),ns=new r.p("CompositionEventMode"),rs=function(){function t(t,e,n){var r;this._renderer=t,this._elementRef=e,this._compositionMode=n,this.onChange=function(t){},this.onTouched=function(){},this._composing=!1,null==this._compositionMode&&(this._compositionMode=(r=Pt()?Pt().getUserAgent():"",!/android (\d+)/.test(r.toLowerCase())))}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._handleInput=function(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)},t.prototype._compositionStart=function(){this._composing=!0},t.prototype._compositionEnd=function(t){this._composing=!1,this._compositionMode&&this.onChange(t)},t}();function is(t){return t.validate?function(e){return t.validate(e)}:t}function os(t){return t.validate?function(e){return t.validate(e)}:t}var as=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)},t.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t}();function ss(){throw new Error("unimplemented")}var ls=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._parent=null,e.name=null,e.valueAccessor=null,e._rawValidators=[],e._rawAsyncValidators=[],e}return Object(o.b)(e,t),Object.defineProperty(e.prototype,"validator",{get:function(){return ss()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return ss()},enumerable:!0,configurable:!0}),e}(Ua),us=function(){function t(){this._accessors=[]}return t.prototype.add=function(t,e){this._accessors.push([t,e])},t.prototype.remove=function(t){for(var e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)},t.prototype.select=function(t){var e=this;this._accessors.forEach(function(n){e._isSameGroup(n,t)&&n[1]!==t&&n[1].fireUncheck(t.value)})},t.prototype._isSameGroup=function(t,e){return!!t[0].control&&t[0]._parent===e._control._parent&&t[1].name===e.name},t}(),cs=function(){function t(t,e,n,r){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=r,this.onChange=function(){},this.onTouched=function(){}}return t.prototype.ngOnInit=function(){this._control=this._injector.get(ls),this._checkName(),this._registry.add(this._control,this)},t.prototype.ngOnDestroy=function(){this._registry.remove(this)},t.prototype.writeValue=function(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)},t.prototype.registerOnChange=function(t){var e=this;this._fn=t,this.onChange=function(){t(e.value),e._registry.select(e)}},t.prototype.fireUncheck=function(t){this.writeValue(t)},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._checkName=function(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)},t.prototype._throwNameError=function(){throw new Error('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: \n ')},t}(),ds=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))},t.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t}();function hs(t,e){return null==t?""+e:(e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}var ps=function(){function t(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=function(t){},this.onTouched=function(){},this._compareWith=r._12}return Object.defineProperty(t.prototype,"compareWith",{set:function(t){if("function"!=typeof t)throw new Error("compareWith must be a function, but received "+JSON.stringify(t));this._compareWith=t},enumerable:!0,configurable:!0}),t.prototype.writeValue=function(t){this.value=t;var e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);var n=hs(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){e.value=e._getOptionValue(n),t(e.value)}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._registerOption=function(){return(this._idCounter++).toString()},t.prototype._getOptionId=function(t){for(var e=0,n=Array.from(this._optionMap.keys());e-1)}}else e=function(t,e){t._setSelected(!1)};this._optionMap.forEach(e)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){var r=[];if(n.hasOwnProperty("selectedOptions"))for(var i=n.selectedOptions,o=0;o1?"path: '"+t.path.join(" -> ")+"'":t.path[0]?"name: '"+t.path+"'":"unspecified name attribute",new Error(e+" "+n)}function xs(t){return null!=t?Xa.compose(t.map(is)):null}function Ls(t){return null!=t?Xa.composeAsync(t.map(os)):null}var Cs=[es,ds,as,ps,ms,cs];function Ss(t,e){t._syncPendingControls(),e.forEach(function(t){var e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function Ts(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}var Ds=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.b)(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormGroup(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormGroup(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormGroup(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return ys(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return xs(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return Ls(this._asyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){},e}(qa),Os=function(){function t(t){this._cd=t}return Object.defineProperty(t.prototype,"ngClassUntouched",{get:function(){return!!this._cd.control&&this._cd.control.untouched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassTouched",{get:function(){return!!this._cd.control&&this._cd.control.touched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassPristine",{get:function(){return!!this._cd.control&&this._cd.control.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassDirty",{get:function(){return!!this._cd.control&&this._cd.control.dirty},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassValid",{get:function(){return!!this._cd.control&&this._cd.control.valid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassInvalid",{get:function(){return!!this._cd.control&&this._cd.control.invalid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassPending",{get:function(){return!!this._cd.control&&this._cd.control.pending},enumerable:!0,configurable:!0}),t}(),Ys=function(t){function e(e){return t.call(this,e)||this}return Object(o.b)(e,t),e}(Os),Ps=function(t){function e(e){return t.call(this,e)||this}return Object(o.b)(e,t),e}(Os);function Es(t){var e=As(t)?t.validators:t;return Array.isArray(e)?xs(e):e||null}function js(t,e){var n=As(e)?e.asyncValidators:t;return Array.isArray(n)?Ls(n):n||null}function As(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}var Is=function(){function t(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=function(){},this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}return Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return"VALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return"INVALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return"PENDING"==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return"DISABLED"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return"DISABLED"!==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return!this.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return!this.touched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"updateOn",{get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"},enumerable:!0,configurable:!0}),t.prototype.setValidators=function(t){this.validator=Es(t)},t.prototype.setAsyncValidators=function(t){this.asyncValidator=js(t)},t.prototype.clearValidators=function(){this.validator=null},t.prototype.clearAsyncValidators=function(){this.asyncValidator=null},t.prototype.markAsTouched=function(t){void 0===t&&(t={}),this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)},t.prototype.markAsUntouched=function(t){void 0===t&&(t={}),this.touched=!1,this._pendingTouched=!1,this._forEachChild(function(t){t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype.markAsDirty=function(t){void 0===t&&(t={}),this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)},t.prototype.markAsPristine=function(t){void 0===t&&(t={}),this.pristine=!0,this._pendingDirty=!1,this._forEachChild(function(t){t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype.markAsPending=function(t){void 0===t&&(t={}),this.status="PENDING",this._parent&&!t.onlySelf&&this._parent.markAsPending(t)},t.prototype.disable=function(t){void 0===t&&(t={}),this.status="DISABLED",this.errors=null,this._forEachChild(function(e){e.disable(Object(o.a)({},t,{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(t),this._onDisabledChange.forEach(function(t){return t(!0)})},t.prototype.enable=function(t){void 0===t&&(t={}),this.status="VALID",this._forEachChild(function(e){e.enable(Object(o.a)({},t,{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(t),this._onDisabledChange.forEach(function(t){return t(!1)})},t.prototype._updateAncestors=function(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),this._parent._updatePristine(),this._parent._updateTouched())},t.prototype.setParent=function(t){this._parent=t},t.prototype.updateValueAndValidity=function(t){void 0===t&&(t={}),this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),"VALID"!==this.status&&"PENDING"!==this.status||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)},t.prototype._updateTreeValidity=function(t){void 0===t&&(t={emitEvent:!0}),this._forEachChild(function(e){return e._updateTreeValidity(t)}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})},t.prototype._setInitialStatus=function(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"},t.prototype._runValidator=function(){return this.validator?this.validator(this):null},t.prototype._runAsyncValidator=function(t){var e=this;if(this.asyncValidator){this.status="PENDING";var n=Qa(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(function(n){return e.setErrors(n,{emitEvent:t})})}},t.prototype._cancelExistingSubscription=function(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()},t.prototype.setErrors=function(t,e){void 0===e&&(e={}),this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)},t.prototype.get=function(t){return function(t,e,n){return null==e?null:(e instanceof Array||(e=e.split(".")),e instanceof Array&&0===e.length?null:e.reduce(function(t,e){return t instanceof Rs?t.controls[e]||null:t instanceof Ns&&t.at(e)||null},t))}(this,t)},t.prototype.getError=function(t,e){var n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null},t.prototype.hasError=function(t,e){return!!this.getError(t,e)},Object.defineProperty(t.prototype,"root",{get:function(){for(var t=this;t._parent;)t=t._parent;return t},enumerable:!0,configurable:!0}),t.prototype._updateControlsErrors=function(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)},t.prototype._initObservables=function(){this.valueChanges=new r.n,this.statusChanges=new r.n},t.prototype._calculateStatus=function(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"},t.prototype._anyControlsHaveStatus=function(t){return this._anyControls(function(e){return e.status===t})},t.prototype._anyControlsDirty=function(){return this._anyControls(function(t){return t.dirty})},t.prototype._anyControlsTouched=function(){return this._anyControls(function(t){return t.touched})},t.prototype._updatePristine=function(t){void 0===t&&(t={}),this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype._updateTouched=function(t){void 0===t&&(t={}),this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype._isBoxedValue=function(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t},t.prototype._registerOnCollectionChange=function(t){this._onCollectionChange=t},t.prototype._setUpdateStrategy=function(t){As(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)},t}(),Hs=function(t){function e(e,n,r){void 0===e&&(e=null);var i=t.call(this,Es(n),js(r,n))||this;return i._onChange=[],i._applyFormState(e),i._setUpdateStrategy(n),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i._initObservables(),i}return Object(o.b)(e,t),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(function(t){return t(n.value,!1!==e.emitViewToModelChange)}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){void 0===e&&(e={}),this.setValue(t,e)},e.prototype.reset=function(t,e){void 0===t&&(t=null),void 0===e&&(e={}),this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1},e.prototype._updateValue=function(){},e.prototype._anyControls=function(t){return!1},e.prototype._allControlsDisabled=function(){return this.disabled},e.prototype.registerOnChange=function(t){this._onChange.push(t)},e.prototype._clearChangeFns=function(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=function(){}},e.prototype.registerOnDisabledChange=function(t){this._onDisabledChange.push(t)},e.prototype._forEachChild=function(t){},e.prototype._syncPendingControls=function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))},e.prototype._applyFormState=function(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t},e}(Is),Rs=function(t){function e(e,n,r){var i=t.call(this,Es(n),js(r,n))||this;return i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(o.b)(e,t),e.prototype.registerControl=function(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)},e.prototype.addControl=function(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.removeControl=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.contains=function(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled},e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),Object.keys(t).forEach(function(r){n._throwIfControlMissing(r),n.controls[r].setValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),Object.keys(t).forEach(function(r){n.controls[r]&&n.controls[r].patchValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this._forEachChild(function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)},e.prototype.getRawValue=function(){return this._reduceChildren({},function(t,e,n){return t[n]=e instanceof Hs?e.value:e.getRawValue(),t})},e.prototype._syncPendingControls=function(){var t=this._reduceChildren(!1,function(t,e){return!!e._syncPendingControls()||t});return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error("Cannot find form control with name: "+t+".")},e.prototype._forEachChild=function(t){var e=this;Object.keys(this.controls).forEach(function(n){return t(e.controls[n],n)})},e.prototype._setUpControls=function(){var t=this;this._forEachChild(function(e){e.setParent(t),e._registerOnCollectionChange(t._onCollectionChange)})},e.prototype._updateValue=function(){this.value=this._reduceValue()},e.prototype._anyControls=function(t){var e=this,n=!1;return this._forEachChild(function(r,i){n=n||e.contains(i)&&t(r)}),n},e.prototype._reduceValue=function(){var t=this;return this._reduceChildren({},function(e,n,r){return(n.enabled||t.disabled)&&(e[r]=n.value),e})},e.prototype._reduceChildren=function(t,e){var n=t;return this._forEachChild(function(t,r){n=e(n,t,r)}),n},e.prototype._allControlsDisabled=function(){for(var t=0,e=Object.keys(this.controls);t0||this.disabled},e.prototype._checkAllValuesPresent=function(t){this._forEachChild(function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control with name: '"+n+"'.")})},e}(Is),Ns=function(t){function e(e,n,r){var i=t.call(this,Es(n),js(r,n))||this;return i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(o.b)(e,t),e.prototype.at=function(t){return this.controls[t]},e.prototype.push=function(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.insert=function(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity()},e.prototype.removeAt=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),this.controls.splice(t,1),this.updateValueAndValidity()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()},Object.defineProperty(e.prototype,"length",{get:function(){return this.controls.length},enumerable:!0,configurable:!0}),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),t.forEach(function(t,r){n._throwIfControlMissing(r),n.at(r).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),t.forEach(function(t,r){n.at(r)&&n.at(r).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t=[]),void 0===e&&(e={}),this._forEachChild(function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)},e.prototype.getRawValue=function(){return this.controls.map(function(t){return t instanceof Hs?t.value:t.getRawValue()})},e.prototype._syncPendingControls=function(){var t=this.controls.reduce(function(t,e){return!!e._syncPendingControls()||t},!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error("Cannot find form control at index "+t)},e.prototype._forEachChild=function(t){this.controls.forEach(function(e,n){t(e,n)})},e.prototype._updateValue=function(){var t=this;this.value=this.controls.filter(function(e){return e.enabled||t.disabled}).map(function(t){return t.value})},e.prototype._anyControls=function(t){return this.controls.some(function(e){return e.enabled&&t(e)})},e.prototype._setUpControls=function(){var t=this;this._forEachChild(function(e){return t._registerControl(e)})},e.prototype._checkAllValuesPresent=function(t){this._forEachChild(function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control at index: "+n+".")})},e.prototype._allControlsDisabled=function(){for(var t=0,e=this.controls;t0||this.disabled},e.prototype._registerControl=function(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)},e}(Is),Fs=Promise.resolve(null),Vs=function(t){function e(e,n){var i=t.call(this)||this;return i.submitted=!1,i._directives=[],i.ngSubmit=new r.n,i.form=new Rs({},xs(e),Ls(n)),i}return Object(o.b)(e,t),e.prototype.ngAfterViewInit=function(){this._setUpdateStrategy()},Object.defineProperty(e.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"controls",{get:function(){return this.form.controls},enumerable:!0,configurable:!0}),e.prototype.addControl=function(t){var e=this;Fs.then(function(){var n=e._findContainer(t.path);t.control=n.registerControl(t.name,t.control),vs(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),e._directives.push(t)})},e.prototype.getControl=function(t){return this.form.get(t.path)},e.prototype.removeControl=function(t){var e=this;Fs.then(function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name),Ts(e._directives,t)})},e.prototype.addFormGroup=function(t){var e=this;Fs.then(function(){var n=e._findContainer(t.path),r=new Rs({});ws(r,t),n.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})},e.prototype.removeFormGroup=function(t){var e=this;Fs.then(function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name)})},e.prototype.getFormGroup=function(t){return this.form.get(t.path)},e.prototype.updateModel=function(t,e){var n=this;Fs.then(function(){n.form.get(t.path).setValue(e)})},e.prototype.setValue=function(t){this.control.setValue(t)},e.prototype.onSubmit=function(t){return this.submitted=!0,Ss(this.form,this._directives),this.ngSubmit.emit(t),!1},e.prototype.onReset=function(){this.resetForm()},e.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},e.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)},e.prototype._findContainer=function(t){return t.pop(),t.length?this.form.get(t):this.form},e}(qa),zs='\n

          \n \n
          \n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',Ws='\n
          \n
          \n \n
          \n
          \n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',Bs=function(){function t(){}return t.controlParentException=function(){throw new Error("formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+zs)},t.ngModelGroupException=function(){throw new Error('formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n '+Ws+'\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n \n
          \n
          \n \n
          \n
          ')},t.missingFormException=function(){throw new Error("formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n "+zs)},t.groupParentException=function(){throw new Error("formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+Ws)},t.arrayParentException=function(){throw new Error('formArrayName must be used with a parent formGroup directive. You\'ll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n \n
          \n
          \n
          \n \n
          \n
          \n
          \n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });')},t.disabledAttrWarning=function(){console.warn("\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n \n Example: \n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n ")},t}(),Us=function(t){function e(e,n){var i=t.call(this)||this;return i._validators=e,i._asyncValidators=n,i.submitted=!1,i.directives=[],i.form=null,i.ngSubmit=new r.n,i}return Object(o.b)(e,t),e.prototype.ngOnChanges=function(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())},Object.defineProperty(e.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),e.prototype.addControl=function(t){var e=this.form.get(t.path);return vs(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e},e.prototype.getControl=function(t){return this.form.get(t.path)},e.prototype.removeControl=function(t){Ts(this.directives,t)},e.prototype.addFormGroup=function(t){var e=this.form.get(t.path);ws(e,t),e.updateValueAndValidity({emitEvent:!1})},e.prototype.removeFormGroup=function(t){},e.prototype.getFormGroup=function(t){return this.form.get(t.path)},e.prototype.addFormArray=function(t){var e=this.form.get(t.path);ws(e,t),e.updateValueAndValidity({emitEvent:!1})},e.prototype.removeFormArray=function(t){},e.prototype.getFormArray=function(t){return this.form.get(t.path)},e.prototype.updateModel=function(t,e){this.form.get(t.path).setValue(e)},e.prototype.onSubmit=function(t){return this.submitted=!0,Ss(this.form,this.directives),this.ngSubmit.emit(t),!1},e.prototype.onReset=function(){this.resetForm()},e.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},e.prototype._updateDomValue=function(){var t=this;this.directives.forEach(function(e){var n=t.form.get(e.path);e.control!==n&&(function(t,e){e.valueAccessor.registerOnChange(function(){return Ms(e)}),e.valueAccessor.registerOnTouched(function(){return Ms(e)}),e._rawValidators.forEach(function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),e._rawAsyncValidators.forEach(function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),t&&t._clearChangeFns()}(e.control,e),n&&vs(n,e),e.control=n)}),this.form._updateTreeValidity({emitEvent:!1})},e.prototype._updateRegistrations=function(){var t=this;this.form._registerOnCollectionChange(function(){return t._updateDomValue()}),this._oldForm&&this._oldForm._registerOnCollectionChange(function(){}),this._oldForm=this.form},e.prototype._updateValidators=function(){var t=xs(this._validators);this.form.validator=Xa.compose([this.form.validator,t]);var e=Ls(this._asyncValidators);this.form.asyncValidator=Xa.composeAsync([this.form.asyncValidator,e])},e.prototype._checkFormPresent=function(){this.form||Bs.missingFormException()},e}(qa),qs=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}return Object(o.b)(e,t),e.prototype._checkParentType=function(){Gs(this._parent)&&Bs.groupParentException()},e}(Ds),Js=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}return Object(o.b)(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormArray(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormArray(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormArray(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return ys(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return xs(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return Ls(this._asyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){Gs(this._parent)&&Bs.arrayParentException()},e}(qa);function Gs(t){return!(t instanceof qs||t instanceof Us||t instanceof Js)}var Ks=function(t){function e(e,n,i,o){var a=t.call(this)||this;return a._added=!1,a.update=new r.n,a._parent=e,a._rawValidators=n||[],a._rawAsyncValidators=i||[],a.valueAccessor=function(t,e){if(!e)return null;Array.isArray(e)||ks(t,"Value accessor was not provided as an array for form control with");var n=void 0,r=void 0,i=void 0;return e.forEach(function(e){var o;e.constructor===rs?n=e:(o=e,Cs.some(function(t){return o.constructor===t})?(r&&ks(t,"More than one built-in value accessor matches form control with"),r=e):(i&&ks(t,"More than one custom value accessor matches form control with"),i=e))}),i||r||n||(ks(t,"No valid value accessor for form control with"),null)}(a,o),a}return Object(o.b)(e,t),Object.defineProperty(e.prototype,"isDisabled",{set:function(t){Bs.disabledAttrWarning()},enumerable:!0,configurable:!0}),e.prototype.ngOnChanges=function(t){this._added||this._setUpControl(),function(t,e){if(!t.hasOwnProperty("model"))return!1;var n=t.model;return!!n.isFirstChange()||!Object(r._12)(e,n.currentValue)}(t,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},e.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},Object.defineProperty(e.prototype,"path",{get:function(){return ys(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return xs(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return Ls(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){!(this._parent instanceof qs)&&this._parent instanceof Ds?Bs.ngModelGroupException():this._parent instanceof qs||this._parent instanceof Us||this._parent instanceof Js||Bs.controlParentException()},e.prototype._setUpControl=function(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0},e}(ls),Xs=function(){function t(){}return Object.defineProperty(t.prototype,"required",{get:function(){return this._required},set:function(t){this._required=null!=t&&!1!==t&&""+t!="false",this._onChange&&this._onChange()},enumerable:!0,configurable:!0}),t.prototype.validate=function(t){return this.required?Xa.required(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t}(),Zs=function(){function t(){}return t.prototype.group=function(t,e){void 0===e&&(e=null);var n=this._reduceControls(t);return new Rs(n,null!=e?e.validator:null,null!=e?e.asyncValidator:null)},t.prototype.control=function(t,e,n){return new Hs(t,e,n)},t.prototype.array=function(t,e,n){var r=this,i=t.map(function(t){return r._createControl(t)});return new Ns(i,e,n)},t.prototype._reduceControls=function(t){var e=this,n={};return Object.keys(t).forEach(function(r){n[r]=e._createControl(t[r])}),n},t.prototype._createControl=function(t){return t instanceof Hs||t instanceof Rs||t instanceof Ns?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)},t}(),Qs=function(){},$s=function(){},tl=function(){};function el(t){if(t.startsWith("400")||t.startsWith("403")){var e=t.split(" - ",2);return 2===e.length?e[1].charAt(0).toUpperCase()+e[1].slice(1):t}return t}function nl(t,e){return function(n){return n.lift(new rl(t,e))}}var rl=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new il(t,this.project,this.resultSelector))},t}(),il=function(t){function e(e,n,r){t.call(this,e),this.project=n,this.resultSelector=r,this.index=0}return Object(o.b)(e,t),e.prototype._next=function(t){var e,n=this.index++;try{e=this.project(t,n)}catch(t){return void this.destination.error(t)}this._innerSub(e,t,n)},e.prototype._innerSub=function(t,e,n){var r=this.innerSubscription;r&&r.unsubscribe(),this.add(this.innerSubscription=Object(qn.a)(this,t,e,n))},e.prototype._complete=function(){var e=this.innerSubscription;e&&!e.closed||t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,r,i){this.resultSelector?this._tryNotifyNext(t,e,n,r):this.destination.next(e)},e.prototype._tryNotifyNext=function(t,e,n,r){var i;try{i=this.resultSelector(t,e,n,r)}catch(t){return void this.destination.error(t)}this.destination.next(i)},e}(Un.a),ol=function(){function t(t,e){this.delay=t,this.scheduler=e}return t.prototype.call=function(t,e){return e.subscribe(new al(t,this.delay,this.scheduler))},t}(),al=function(t){function e(e,n,r){t.call(this,e),this.delay=n,this.scheduler=r,this.queue=[],this.active=!1,this.errored=!1}return Object(o.b)(e,t),e.dispatch=function(t){for(var e=t.source,n=e.queue,r=t.scheduler,i=t.destination;n.length>0&&n[0].time-r.now()<=0;)n.shift().notification.observe(i);if(n.length>0){var o=Math.max(0,n[0].time-r.now());this.schedule(t,o)}else e.active=!1},e.prototype._schedule=function(t){this.active=!0,this.add(t.schedule(e.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))},e.prototype.scheduleNotification=function(t){if(!0!==this.errored){var e=this.scheduler,n=new sl(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}},e.prototype._next=function(t){this.scheduleNotification(Wr.createNext(t))},e.prototype._error=function(t){this.errored=!0,this.queue=[],this.destination.error(t)},e.prototype._complete=function(){this.scheduleNotification(Wr.createComplete())},e}(Zn.a),sl=function(t,e){this.time=t,this.notification=e},ll=function(){};function ul(t){return Error("A hint was already declared for 'align=\""+t+"\"'.")}var cl=0,dl=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i._elementRef=e,i._changeDetectorRef=n,i._showAlwaysAnimate=!1,i._subscriptAnimationState="",i._hintLabel="",i._hintLabelId="mat-hint-"+cl++,i._labelOptions=r||{},i.floatLabel=i._labelOptions.float||"auto",i}return Object(o.b)(e,t),Object.defineProperty(e.prototype,"dividerColor",{get:function(){return this.color},set:function(t){this.color=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hideRequiredMarker",{get:function(){return this._hideRequiredMarker},set:function(t){this._hideRequiredMarker=Yi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_shouldAlwaysFloat",{get:function(){return"always"===this._floatLabel&&!this._showAlwaysAnimate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_canLabelFloat",{get:function(){return"never"!==this._floatLabel},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hintLabel",{get:function(){return this._hintLabel},set:function(t){this._hintLabel=t,this._processHints()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"floatPlaceholder",{get:function(){return this._floatLabel},set:function(t){this.floatLabel=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"floatLabel",{get:function(){return this._floatLabel},set:function(t){t!==this._floatLabel&&(this._floatLabel=t||this._labelOptions.float||"auto",this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){var t=this;this._validateControlChild(),this._control.controlType&&this._elementRef.nativeElement.classList.add("mat-form-field-type-"+this._control.controlType),this._control.stateChanges.pipe(ka(null)).subscribe(function(){t._validatePlaceholders(),t._syncDescribedByIds(),t._changeDetectorRef.markForCheck()});var e=this._control.ngControl;e&&e.valueChanges&&e.valueChanges.subscribe(function(){t._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(ka(null)).subscribe(function(){t._processHints(),t._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(ka(null)).subscribe(function(){t._syncDescribedByIds(),t._changeDetectorRef.markForCheck()})},e.prototype.ngAfterContentChecked=function(){this._validateControlChild()},e.prototype.ngAfterViewInit=function(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()},e.prototype._shouldForward=function(t){var e=this._control?this._control.ngControl:null;return e&&e[t]},e.prototype._hasPlaceholder=function(){return!(!this._control.placeholder&&!this._placeholderChild)},e.prototype._hasLabel=function(){return!!this._labelChild},e.prototype._shouldLabelFloat=function(){return this._canLabelFloat&&(this._control.shouldLabelFloat||this._control.shouldPlaceholderFloat||this._shouldAlwaysFloat)},e.prototype._hideControlPlaceholder=function(){return!this._hasLabel()||!this._shouldLabelFloat()},e.prototype._hasFloatingLabel=function(){return this._hasLabel()||this._hasPlaceholder()},e.prototype._getDisplayedMessages=function(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"},e.prototype._animateAndLockLabel=function(){var t=this;this._hasFloatingLabel()&&this._canLabelFloat&&(this._showAlwaysAnimate=!0,this._floatLabel="always",oi(this._label.nativeElement,"transitionend").pipe(Ti(1)).subscribe(function(){t._showAlwaysAnimate=!1}),this._changeDetectorRef.markForCheck())},e.prototype._validatePlaceholders=function(){if(this._control.placeholder&&this._placeholderChild)throw Error("Placeholder attribute and child element were both specified.")},e.prototype._processHints=function(){this._validateHints(),this._syncDescribedByIds()},e.prototype._validateHints=function(){var t,e,n=this;this._hintChildren&&this._hintChildren.forEach(function(r){if("start"===r.align){if(t||n.hintLabel)throw ul("start");t=r}else if("end"===r.align){if(e)throw ul("end");e=r}})},e.prototype._syncDescribedByIds=function(){if(this._control){var t=[];if("hint"===this._getDisplayedMessages()){var e=this._hintChildren?this._hintChildren.find(function(t){return"start"===t.align}):null,n=this._hintChildren?this._hintChildren.find(function(t){return"end"===t.align}):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&(t=this._errorChildren.map(function(t){return t.id}));this._control.setDescribedByIds(t)}},e.prototype._validateControlChild=function(){if(!this._control)throw Error("mat-form-field must contain a MatFormFieldControl.")},e}(Io(function(t){this._elementRef=t},"primary")),hl=function(){},pl="accent",fl="primary",_l=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],ml=function(t){function e(e,n,r){var i=t.call(this,e)||this;i._platform=n,i._focusMonitor=r,i._isRoundButton=i._hasHostAttributes("mat-fab","mat-mini-fab"),i._isIconButton=i._hasHostAttributes("mat-icon-button");for(var o=0,a=_l;o1&&!this._multiple)throw Error("Cannot pass multiple values into SelectionModel with single-value mode.")},t}(),bl=function(){function t(){this._listeners=[]}return t.prototype.notify=function(t,e){for(var n=0,r=this._listeners;n0?this._ngZone.runOutsideAngular(function(){t._debouncer.pipe(lo(t.debounce)).subscribe(function(e){return t.event.emit(e)})}):this._debouncer.subscribe(function(e){return t.event.emit(e)}),this._observer=this._ngZone.runOutsideAngular(function(){return t._mutationObserverFactory.create(function(e){t._debouncer.next(e)})}),this.disabled||this._enable()},t.prototype.ngOnChanges=function(t){t.disabled&&(t.disabled.currentValue?this._disable():this._enable())},t.prototype.ngOnDestroy=function(){this._disable(),this._debouncer.complete()},t.prototype._disable=function(){this._observer&&this._observer.disconnect()},t.prototype._enable=function(){this._observer&&this._observer.observe(this._elementRef.nativeElement,{characterData:!0,childList:!0,subtree:!0})},t}(),Cl=function(){},Sl=new r.p("mat-checkbox-click-action"),Tl=0,Dl=function(){var t={Init:0,Checked:1,Unchecked:2,Indeterminate:3};return t[t.Init]="Init",t[t.Checked]="Checked",t[t.Unchecked]="Unchecked",t[t.Indeterminate]="Indeterminate",t}(),Ol=function(t){function e(e,n,i,o,a){var s=t.call(this,e)||this;return s._changeDetectorRef=n,s._focusMonitor=i,s._clickAction=a,s.ariaLabel="",s.ariaLabelledby=null,s._uniqueId="mat-checkbox-"+ ++Tl,s.id=s._uniqueId,s.labelPosition="after",s.name=null,s.change=new r.n,s.indeterminateChange=new r.n,s._onTouched=function(){},s._currentAnimationClass="",s._currentCheckState=Dl.Init,s._controlValueAccessorChangeFn=function(){},s._checked=!1,s._indeterminate=!1,s.tabIndex=parseInt(o)||0,s}return Object(o.b)(e,t),Object.defineProperty(e.prototype,"inputId",{get:function(){return(this.id||this._uniqueId)+"-input"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(t){this._required=Yi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"align",{get:function(){return"after"==this.labelPosition?"start":"end"},set:function(t){this.labelPosition="start"==t?"after":"before"},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){var t=this;this._focusMonitor.monitor(this._inputElement.nativeElement).subscribe(function(e){return t._onInputFocusChange(e)})},e.prototype.ngOnDestroy=function(){this._focusMonitor.stopMonitoring(this._inputElement.nativeElement)},Object.defineProperty(e.prototype,"checked",{get:function(){return this._checked},set:function(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"indeterminate",{get:function(){return this._indeterminate},set:function(t){var e=t!=this._indeterminate;this._indeterminate=t,e&&(this._transitionCheckState(this._indeterminate?Dl.Indeterminate:this.checked?Dl.Checked:Dl.Unchecked),this.indeterminateChange.emit(this._indeterminate))},enumerable:!0,configurable:!0}),e.prototype._isRippleDisabled=function(){return this.disableRipple||this.disabled},e.prototype._onLabelTextChange=function(){this._changeDetectorRef.markForCheck()},e.prototype.writeValue=function(t){this.checked=!!t},e.prototype.registerOnChange=function(t){this._controlValueAccessorChangeFn=t},e.prototype.registerOnTouched=function(t){this._onTouched=t},e.prototype.setDisabledState=function(t){this.disabled=t,this._changeDetectorRef.markForCheck()},e.prototype._getAriaChecked=function(){return this.checked?"true":this.indeterminate?"mixed":"false"},e.prototype._transitionCheckState=function(t){var e=this._currentCheckState,n=this._elementRef.nativeElement;e!==t&&(this._currentAnimationClass.length>0&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(e,t),this._currentCheckState=t,this._currentAnimationClass.length>0&&n.classList.add(this._currentAnimationClass))},e.prototype._emitChangeEvent=function(){var t=new function(){};t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t)},e.prototype._onInputFocusChange=function(t){this._focusRipple||"keyboard"!==t?t||(this._removeFocusRipple(),this._onTouched()):this._focusRipple=this.ripple.launch(0,0,{persistent:!0})},e.prototype.toggle=function(){this.checked=!this.checked},e.prototype._onInputClick=function(t){var e=this;t.stopPropagation(),this.disabled||"noop"===this._clickAction?this.disabled||"noop"!==this._clickAction||(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==this._clickAction&&Promise.resolve().then(function(){e._indeterminate=!1,e.indeterminateChange.emit(e._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?Dl.Checked:Dl.Unchecked),this._emitChangeEvent())},e.prototype.focus=function(){this._focusMonitor.focusVia(this._inputElement.nativeElement,"keyboard")},e.prototype._onInteractionEvent=function(t){t.stopPropagation()},e.prototype._getAnimationClassForCheckStateTransition=function(t,e){var n="";switch(t){case Dl.Init:if(e===Dl.Checked)n="unchecked-checked";else{if(e!=Dl.Indeterminate)return"";n="unchecked-indeterminate"}break;case Dl.Unchecked:n=e===Dl.Checked?"unchecked-checked":"unchecked-indeterminate";break;case Dl.Checked:n=e===Dl.Unchecked?"checked-unchecked":"checked-indeterminate";break;case Dl.Indeterminate:n=e===Dl.Checked?"indeterminate-checked":"indeterminate-unchecked"}return"mat-checkbox-anim-"+n},e.prototype._removeFocusRipple=function(){this._focusRipple&&(this._focusRipple.fadeOut(),this._focusRipple=null)},e}(Ro(Io(Ho(Ao(function(t){this._elementRef=t})),"accent"))),Yl=function(){};function Pl(t){return function(e){return e.lift(new El(t))}}var El=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){return e.subscribe(new jl(t,this.notifier))},t}(),jl=function(t){function e(e,n){t.call(this,e),this.notifier=n,this.add(Object(qn.a)(this,n))}return Object(o.b)(e,t),e.prototype.notifyNext=function(t,e,n,r,i){this.complete()},e.prototype.notifyComplete=function(){},e}(Un.a),Al=function(){},Il=function(){},Hl=function(){},Rl=function(){},Nl=function(){},Fl=function(){function t(t){this.callback=t}return t.prototype.call=function(t,e){return e.subscribe(new Vl(t,this.callback))},t}(),Vl=function(t){function e(e,n){t.call(this,e),this.add(new Cr.a(n))}return Object(o.b)(e,t),e}(Zn.a),zl=n("3a3m");function Wl(t,e){return function(t,e){return Object(Mr.a)(t,e,1)}(t,e)(this)}var Bl=function(){},Ul=function(){},ql=function(){function t(t){var e=this;this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?function(){e.headers=new Map,t.split("\n").forEach(function(t){var n=t.indexOf(":");if(n>0){var r=t.slice(0,n),i=r.toLowerCase(),o=t.slice(n+1).trim();e.maybeSetNormalizedName(r,i),e.headers.has(i)?e.headers.get(i).push(o):e.headers.set(i,[o])}})}:function(){e.headers=new Map,Object.keys(t).forEach(function(n){var r=t[n],i=n.toLowerCase();"string"==typeof r&&(r=[r]),r.length>0&&(e.headers.set(i,r),e.maybeSetNormalizedName(n,i))})}:this.headers=new Map}return t.prototype.has=function(t){return this.init(),this.headers.has(t.toLowerCase())},t.prototype.get=function(t){this.init();var e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null},t.prototype.keys=function(){return this.init(),Array.from(this.normalizedNames.values())},t.prototype.getAll=function(t){return this.init(),this.headers.get(t.toLowerCase())||null},t.prototype.append=function(t,e){return this.clone({name:t,value:e,op:"a"})},t.prototype.set=function(t,e){return this.clone({name:t,value:e,op:"s"})},t.prototype.delete=function(t,e){return this.clone({name:t,value:e,op:"d"})},t.prototype.maybeSetNormalizedName=function(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)},t.prototype.init=function(){var e=this;this.lazyInit&&(this.lazyInit instanceof t?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(function(t){return e.applyUpdate(t)}),this.lazyUpdate=null))},t.prototype.copyFrom=function(t){var e=this;t.init(),Array.from(t.headers.keys()).forEach(function(n){e.headers.set(n,t.headers.get(n)),e.normalizedNames.set(n,t.normalizedNames.get(n))})},t.prototype.clone=function(e){var n=new t;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([e]),n},t.prototype.applyUpdate=function(t){var e=t.name.toLowerCase();switch(t.op){case"a":case"s":var n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);var r=("a"===t.op?this.headers.get(e):void 0)||[];r.push.apply(r,n),this.headers.set(e,r);break;case"d":var i=t.value;if(i){var o=this.headers.get(e);if(!o)return;0===(o=o.filter(function(t){return-1===i.indexOf(t)})).length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,o)}else this.headers.delete(e),this.normalizedNames.delete(e)}},t.prototype.forEach=function(t){var e=this;this.init(),Array.from(this.normalizedNames.keys()).forEach(function(n){return t(e.normalizedNames.get(n),e.headers.get(n))})},t}(),Jl=function(){function t(){}return t.prototype.encodeKey=function(t){return Gl(t)},t.prototype.encodeValue=function(t){return Gl(t)},t.prototype.decodeKey=function(t){return decodeURIComponent(t)},t.prototype.decodeValue=function(t){return decodeURIComponent(t)},t}();function Gl(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}var Kl=function(){function t(t){void 0===t&&(t={});var e,n,r,i=this;if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Jl,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=(e=t.fromString,n=this.encoder,r=new Map,e.length>0&&e.split("&").forEach(function(t){var e=t.indexOf("="),i=-1==e?[n.decodeKey(t),""]:[n.decodeKey(t.slice(0,e)),n.decodeValue(t.slice(e+1))],o=i[0],a=i[1],s=r.get(o)||[];s.push(a),r.set(o,s)}),r)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(function(e){var n=t.fromObject[e];i.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}return t.prototype.has=function(t){return this.init(),this.map.has(t)},t.prototype.get=function(t){this.init();var e=this.map.get(t);return e?e[0]:null},t.prototype.getAll=function(t){return this.init(),this.map.get(t)||null},t.prototype.keys=function(){return this.init(),Array.from(this.map.keys())},t.prototype.append=function(t,e){return this.clone({param:t,value:e,op:"a"})},t.prototype.set=function(t,e){return this.clone({param:t,value:e,op:"s"})},t.prototype.delete=function(t,e){return this.clone({param:t,value:e,op:"d"})},t.prototype.toString=function(){var t=this;return this.init(),this.keys().map(function(e){var n=t.encoder.encodeKey(e);return t.map.get(e).map(function(e){return n+"="+t.encoder.encodeValue(e)}).join("&")}).join("&")},t.prototype.clone=function(e){var n=new t({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat([e]),n},t.prototype.init=function(){var t=this;null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(function(e){return t.map.set(e,t.cloneFrom.map.get(e))}),this.updates.forEach(function(e){switch(e.op){case"a":case"s":var n=("a"===e.op?t.map.get(e.param):void 0)||[];n.push(e.value),t.map.set(e.param,n);break;case"d":if(void 0===e.value){t.map.delete(e.param);break}var r=t.map.get(e.param)||[],i=r.indexOf(e.value);-1!==i&&r.splice(i,1),r.length>0?t.map.set(e.param,r):t.map.delete(e.param)}}),this.cloneFrom=null)},t}();function Xl(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function Zl(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Ql(t){return"undefined"!=typeof FormData&&t instanceof FormData}var $l=function(){function t(t,e,n,r){var i;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,i=r):i=n,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.params&&(this.params=i.params)),this.headers||(this.headers=new ql),this.params){var o=this.params.toString();if(0===o.length)this.urlWithParams=e;else{var a=e.indexOf("?");this.urlWithParams=e+(-1===a?"?":a=200&&this.status<300}}(),nu=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.type=tu.ResponseHeader,n}return Object(o.b)(e,t),e.prototype.clone=function(t){return void 0===t&&(t={}),new e({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})},e}(eu),ru=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.type=tu.Response,n.body=void 0!==e.body?e.body:null,n}return Object(o.b)(e,t),e.prototype.clone=function(t){return void 0===t&&(t={}),new e({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})},e}(eu),iu=function(t){function e(e){var n=t.call(this,e,0,"Unknown Error")||this;return n.name="HttpErrorResponse",n.ok=!1,n.message=n.status>=200&&n.status<300?"Http failure during parsing for "+(e.url||"(unknown url)"):"Http failure response for "+(e.url||"(unknown url)")+": "+e.status+" "+e.statusText,n.error=e.error||null,n}return Object(o.b)(e,t),e}(eu);function ou(t,e){return{body:e,headers:t.headers,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}var au=function(){function t(t){this.handler=t}return t.prototype.request=function(t,e,n){var r,i=this;if(void 0===n&&(n={}),t instanceof $l)r=t;else{var o;o=n.headers instanceof ql?n.headers:new ql(n.headers);var a=void 0;n.params&&(a=n.params instanceof Kl?n.params:new Kl({fromObject:n.params})),r=new $l(t,e,void 0!==n.body?n.body:null,{headers:o,params:a,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}var s=Wl.call(ur(r),function(t){return i.handler.handle(t)});if(t instanceof $l||"events"===n.observe)return s;var l=gr.call(s,function(t){return t instanceof ru});switch(n.observe||"body"){case"body":switch(r.responseType){case"arraybuffer":return er.call(l,function(t){if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body});case"blob":return er.call(l,function(t){if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body});case"text":return er.call(l,function(t){if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body});case"json":default:return er.call(l,function(t){return t.body})}case"response":return l;default:throw new Error("Unreachable: unhandled observe type "+n.observe+"}")}},t.prototype.delete=function(t,e){return void 0===e&&(e={}),this.request("DELETE",t,e)},t.prototype.get=function(t,e){return void 0===e&&(e={}),this.request("GET",t,e)},t.prototype.head=function(t,e){return void 0===e&&(e={}),this.request("HEAD",t,e)},t.prototype.jsonp=function(t,e){return this.request("JSONP",t,{params:(new Kl).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})},t.prototype.options=function(t,e){return void 0===e&&(e={}),this.request("OPTIONS",t,e)},t.prototype.patch=function(t,e,n){return void 0===n&&(n={}),this.request("PATCH",t,ou(n,e))},t.prototype.post=function(t,e,n){return void 0===n&&(n={}),this.request("POST",t,ou(n,e))},t.prototype.put=function(t,e,n){return void 0===n&&(n={}),this.request("PUT",t,ou(n,e))},t}(),su=function(){function t(t,e){this.next=t,this.interceptor=e}return t.prototype.handle=function(t){return this.interceptor.intercept(t,this.next)},t}(),lu=new r.p("HTTP_INTERCEPTORS"),uu=function(){function t(){}return t.prototype.intercept=function(t,e){return e.handle(t)},t}(),cu=/^\)\]\}',?\n/,du=function(){},hu=function(){function t(){}return t.prototype.build=function(){return new XMLHttpRequest},t}(),pu=function(){function t(t){this.xhrFactory=t}return t.prototype.handle=function(t){var e=this;if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without JsonpClientModule installed.");return new a.a(function(n){var r=e.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach(function(t,e){return r.setRequestHeader(t,e.join(","))}),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){var i=t.detectContentTypeHeader();null!==i&&r.setRequestHeader("Content-Type",i)}if(t.responseType){var o=t.responseType.toLowerCase();r.responseType="json"!==o?o:"text"}var a=t.serializeBody(),s=null,l=function(){if(null!==s)return s;var e=1223===r.status?204:r.status,n=r.statusText||"OK",i=new ql(r.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(r)||t.url;return s=new nu({headers:i,status:e,statusText:n,url:o})},u=function(){var e=l(),i=e.headers,o=e.status,a=e.statusText,s=e.url,u=null;204!==o&&(u="undefined"==typeof r.response?r.responseText:r.response),0===o&&(o=u?200:0);var c=o>=200&&o<300;if("json"===t.responseType&&"string"==typeof u){var d=u;u=u.replace(cu,"");try{u=""!==u?JSON.parse(u):null}catch(t){u=d,c&&(c=!1,u={error:t,text:u})}}c?(n.next(new ru({body:u,headers:i,status:o,statusText:a,url:s||void 0})),n.complete()):n.error(new iu({error:u,headers:i,status:o,statusText:a,url:s||void 0}))},c=function(t){var e=new iu({error:t,status:r.status||0,statusText:r.statusText||"Unknown Error"});n.error(e)},d=!1,h=function(e){d||(n.next(l()),d=!0);var i={type:tu.DownloadProgress,loaded:e.loaded};e.lengthComputable&&(i.total=e.total),"text"===t.responseType&&r.responseText&&(i.partialText=r.responseText),n.next(i)},p=function(t){var e={type:tu.UploadProgress,loaded:t.loaded};t.lengthComputable&&(e.total=t.total),n.next(e)};return r.addEventListener("load",u),r.addEventListener("error",c),t.reportProgress&&(r.addEventListener("progress",h),null!==a&&r.upload&&r.upload.addEventListener("progress",p)),r.send(a),n.next({type:tu.Sent}),function(){r.removeEventListener("error",c),r.removeEventListener("load",u),t.reportProgress&&(r.removeEventListener("progress",h),null!==a&&r.upload&&r.upload.removeEventListener("progress",p)),r.abort()}})},t}(),fu=new r.p("XSRF_COOKIE_NAME"),_u=new r.p("XSRF_HEADER_NAME"),mu=function(){},gu=function(){function t(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}return t.prototype.getToken=function(){if("server"===this.platform)return null;var t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=j(t,this.cookieName),this.lastCookieString=t),this.lastToken},t}(),yu=function(){function t(t,e){this.tokenService=t,this.headerName=e}return t.prototype.intercept=function(t,e){var n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);var r=this.tokenService.getToken();return null===r||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,r)})),e.handle(t)},t}(),vu=function(){function t(t,e){this.backend=t,this.injector=e,this.chain=null}return t.prototype.handle=function(t){if(null===this.chain){var e=this.injector.get(lu,[]);this.chain=e.reduceRight(function(t,e){return new su(t,e)},this.backend)}return this.chain.handle(t)},t}(),bu=function(){function t(){}return t.disable=function(){return{ngModule:t,providers:[{provide:yu,useClass:uu}]}},t.withOptions=function(e){return void 0===e&&(e={}),{ngModule:t,providers:[e.cookieName?{provide:fu,useValue:e.cookieName}:[],e.headerName?{provide:_u,useValue:e.headerName}:[]]}},t}(),wu=function(){};function Mu(t){return Error('Unable to find icon with the name "'+t+'"')}function ku(t){return Error("The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was \""+t+'".')}var xu=function(t){this.url=t,this.svgElement=null},Lu=function(){function t(t,e,n){this._httpClient=t,this._sanitizer=e,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._defaultFontSetClass="material-icons",this._document=n}return t.prototype.addSvgIcon=function(t,e){return this.addSvgIconInNamespace("",t,e)},t.prototype.addSvgIconInNamespace=function(t,e,n){var r=Tu(t,e);return this._svgIconConfigs.set(r,new xu(n)),this},t.prototype.addSvgIconSet=function(t){return this.addSvgIconSetInNamespace("",t)},t.prototype.addSvgIconSetInNamespace=function(t,e){var n=new xu(e),r=this._iconSetConfigs.get(t);return r?r.push(n):this._iconSetConfigs.set(t,[n]),this},t.prototype.registerFontClassAlias=function(t,e){return void 0===e&&(e=t),this._fontCssClassesByAlias.set(t,e),this},t.prototype.classNameForFontAlias=function(t){return this._fontCssClassesByAlias.get(t)||t},t.prototype.setDefaultFontSetClass=function(t){return this._defaultFontSetClass=t,this},t.prototype.getDefaultFontSetClass=function(){return this._defaultFontSetClass},t.prototype.getSvgIconFromUrl=function(t){var e=this,n=this._sanitizer.sanitize(r.G.RESOURCE_URL,t);if(!n)throw ku(t);var i=this._cachedIconsByUrl.get(n);return i?ur(Su(i)):this._loadSvgIconFromConfig(new xu(t)).pipe(cr(function(t){return e._cachedIconsByUrl.set(n,t)}),Qn(function(t){return Su(t)}))},t.prototype.getNamedSvgIcon=function(t,e){void 0===e&&(e="");var n=Tu(e,t),r=this._svgIconConfigs.get(n);if(r)return this._getSvgFromConfig(r);var i=this._iconSetConfigs.get(e);return i?this._getSvgFromIconSetConfigs(t,i):Bn(Mu(n))},t.prototype._getSvgFromConfig=function(t){return t.svgElement?ur(Su(t.svgElement)):this._loadSvgIconFromConfig(t).pipe(cr(function(e){return t.svgElement=e}),Qn(function(t){return Su(t)}))},t.prototype._getSvgFromIconSetConfigs=function(t,e){var n=this,i=this._extractIconWithNameFromAnySet(t,e);if(i)return ur(i);var o=e.filter(function(t){return!t.svgElement}).map(function(t){return n._loadSvgIconSetFromConfig(t).pipe(Jn(function(e){var i=n._sanitizer.sanitize(r.G.RESOURCE_URL,t.url);return console.log("Loading icon set URL: "+i+" failed: "+e),ur(null)}))});return sr(o).pipe(Qn(function(){var r=n._extractIconWithNameFromAnySet(t,e);if(!r)throw Mu(t);return r}))},t.prototype._extractIconWithNameFromAnySet=function(t,e){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.svgElement){var i=this._extractSvgIconFromSet(r.svgElement,t);if(i)return i}}return null},t.prototype._loadSvgIconFromConfig=function(t){var e=this;return this._fetchUrl(t.url).pipe(Qn(function(t){return e._createSvgElementForSingleIcon(t)}))},t.prototype._loadSvgIconSetFromConfig=function(t){var e=this;return t.svgElement?ur(t.svgElement):this._fetchUrl(t.url).pipe(Qn(function(n){return t.svgElement||(t.svgElement=e._svgElementFromString(n)),t.svgElement}))},t.prototype._createSvgElementForSingleIcon=function(t){var e=this._svgElementFromString(t);return this._setSvgAttributes(e),e},t.prototype._extractSvgIconFromSet=function(t,e){var n=t.querySelector("#"+e);if(!n)return null;var r=n.cloneNode(!0);if(r.id="","svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r));var i=this._svgElementFromString("");return i.appendChild(r),this._setSvgAttributes(i)},t.prototype._svgElementFromString=function(t){if(this._document||"undefined"!=typeof document){var e=(this._document||document).createElement("DIV");e.innerHTML=t;var n=e.querySelector("svg");if(!n)throw Error(" tag not found");return n}throw new Error("MatIconRegistry could not resolve document.")},t.prototype._toSvgElement=function(t){for(var e=this._svgElementFromString(""),n=0;n')}(),this._xPosition=t,this.setPositionClasses()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"yPosition",{get:function(){return this._yPosition},set:function(t){"above"!==t&&"below"!==t&&function(){throw Error('y-position value must be either \'above\' or below\'.\n Example: ')}(),this._yPosition=t,this.setPositionClasses()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"overlapTrigger",{get:function(){return this._overlapTrigger},set:function(t){this._overlapTrigger=Yi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"panelClass",{set:function(t){t&&t.length&&(this._classList=t.split(" ").reduce(function(t,e){return t[e]=!0,t},{}),this._elementRef.nativeElement.className="",this.setPositionClasses())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"classList",{get:function(){return this.panelClass},set:function(t){this.panelClass=t},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this._keyManager=new Co(this.items).withWrap().withTypeAhead(),this._tabSubscription=this._keyManager.tabOut.subscribe(function(){return t.close.emit("keydown")})},t.prototype.ngOnDestroy=function(){this._tabSubscription.unsubscribe(),this.closed.complete()},t.prototype._hovered=function(){var t=this;return this.items?this.items.changes.pipe(ka(this.items),nl(function(t){return ui.a.apply(void 0,t.map(function(t){return t._hovered}))})):this._ngZone.onStable.asObservable().pipe(Ti(1),nl(function(){return t._hovered()}))},t.prototype._handleKeydown=function(t){switch(t.keyCode){case ji:this.closed.emit("keydown"),t.stopPropagation();break;case 37:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case 39:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:this._keyManager.onKeydown(t)}},t.prototype.focusFirstItem=function(t){var e=this;void 0===t&&(t="program"),this.lazyContent?this._ngZone.onStable.asObservable().pipe(Ti(1)).subscribe(function(){return e._keyManager.setFocusOrigin(t).setFirstItemActive()}):this._keyManager.setFocusOrigin(t).setFirstItemActive()},t.prototype.resetActiveItem=function(){this._keyManager.setActiveItem(-1)},t.prototype.setPositionClasses=function(t,e){void 0===t&&(t=this.xPosition),void 0===e&&(e=this.yPosition),this._classList["mat-menu-before"]="before"===t,this._classList["mat-menu-after"]="after"===t,this._classList["mat-menu-above"]="above"===e,this._classList["mat-menu-below"]="below"===e},t.prototype.setElevation=function(t){var e="mat-elevation-z"+(2+t),n=Object.keys(this._classList).find(function(t){return t.startsWith("mat-elevation-z")});n&&n!==this._previousElevation||(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[e]=!0,this._previousElevation=e)},t.prototype._startAnimation=function(){this._panelAnimationState="enter-start"},t.prototype._resetAnimation=function(){this._panelAnimationState="void"},t.prototype._onAnimationDone=function(t){"enter-start"===t.toState&&(this._panelAnimationState="enter")},t}(),Au=new r.p("mat-menu-scroll-strategy");function Iu(t){return function(){return t.scrollStrategies.reposition()}}var Hu=function(){function t(t,e,n,i,o,a,s,l){this._overlay=t,this._element=e,this._viewContainerRef=n,this._scrollStrategy=i,this._parentMenu=o,this._menuItemInstance=a,this._dir=s,this._focusMonitor=l,this._overlayRef=null,this._menuOpen=!1,this._closeSubscription=Cr.a.EMPTY,this._hoverSubscription=Cr.a.EMPTY,this._openedByMouse=!1,this.menuOpened=new r.n,this.onMenuOpen=this.menuOpened,this.menuClosed=new r.n,this.onMenuClose=this.menuClosed,a&&(a._triggersSubmenu=this.triggersSubmenu())}return Object.defineProperty(t.prototype,"_deprecatedMatMenuTriggerFor",{get:function(){return this.menu},set:function(t){this.menu=t},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this._checkMenu(),this.menu.close.subscribe(function(e){t._destroyMenu(),"click"===e&&t._parentMenu&&t._parentMenu.closed.emit(e)}),this.triggersSubmenu()&&(this._hoverSubscription=this._parentMenu._hovered().pipe(fr(function(e){return e===t._menuItemInstance})).subscribe(function(){t._openedByMouse=!0,t.openMenu()}))},t.prototype.ngOnDestroy=function(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._cleanUpSubscriptions()},Object.defineProperty(t.prototype,"menuOpen",{get:function(){return this._menuOpen},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dir",{get:function(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"},enumerable:!0,configurable:!0}),t.prototype.triggersSubmenu=function(){return!(!this._menuItemInstance||!this._parentMenu)},t.prototype.toggleMenu=function(){return this._menuOpen?this.closeMenu():this.openMenu()},t.prototype.openMenu=function(){var t=this;this._menuOpen||(this._createOverlay().attach(this._portal),this.menu.lazyContent&&this.menu.lazyContent.attach(this.menuData),this._closeSubscription=this._menuClosingActions().subscribe(function(){return t.closeMenu()}),this._initMenu(),this.menu instanceof ju&&this.menu._startAnimation())},t.prototype.closeMenu=function(){this.menu.close.emit()},t.prototype.focus=function(t){void 0===t&&(t="program"),this._focusMonitor?this._focusMonitor.focusVia(this._element.nativeElement,t):this._element.nativeElement.focus()},t.prototype._destroyMenu=function(){this._overlayRef&&this.menuOpen&&(this._resetMenu(),this._closeSubscription.unsubscribe(),this._overlayRef.detach(),this.menu instanceof ju&&this.menu._resetAnimation())},t.prototype._initMenu=function(){this.menu.parentMenu=this.triggersSubmenu()?this._parentMenu:void 0,this.menu.direction=this.dir,this._setMenuElevation(),this._setIsMenuOpen(!0),this.menu.focusFirstItem(this._openedByMouse?"mouse":"program")},t.prototype._setMenuElevation=function(){if(this.menu.setElevation){for(var t=0,e=this.menu.parentMenu;e;)t++,e=e.parentMenu;this.menu.setElevation(t)}},t.prototype._resetMenu=function(){this._setIsMenuOpen(!1),this._openedByMouse?this.triggersSubmenu()||this.focus("mouse"):this.focus(),this._openedByMouse=!1},t.prototype._setIsMenuOpen=function(t){this._menuOpen=t,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&(this._menuItemInstance._highlighted=t)},t.prototype._checkMenu=function(){this.menu||function(){throw Error('mat-menu-trigger: must pass in an mat-menu instance.\n\n Example:\n \n ')}()},t.prototype._createOverlay=function(){if(!this._overlayRef){this._portal=new wi(this.menu.templateRef,this._viewContainerRef);var t=this._getOverlayConfig();this._subscribeToPositions(t.positionStrategy),this._overlayRef=this._overlay.create(t)}return this._overlayRef},t.prototype._getOverlayConfig=function(){return new Ii({positionStrategy:this._getPosition(),hasBackdrop:!this.triggersSubmenu(),backdropClass:"cdk-overlay-transparent-backdrop",direction:this.dir,scrollStrategy:this._scrollStrategy()})},t.prototype._subscribeToPositions=function(t){var e=this;t.onPositionChange.subscribe(function(t){e.menu.setPositionClasses("start"===t.connectionPair.overlayX?"after":"before","top"===t.connectionPair.overlayY?"below":"above")})},t.prototype._getPosition=function(){var t="before"===this.menu.xPosition?["end","start"]:["start","end"],e=t[0],n=t[1],r="above"===this.menu.yPosition?["bottom","top"]:["top","bottom"],i=r[0],o=r[1],a=[i,o],s=a[0],l=a[1],u=[e,n],c=u[0],d=u[1],h=0;return this.triggersSubmenu()?(d=e="before"===this.menu.xPosition?"start":"end",n=c="end"===e?"start":"end",h="bottom"===i?8:-8):this.menu.overlapTrigger||(s="top"===i?"bottom":"top",l="top"===o?"bottom":"top"),this._overlay.position().connectedTo(this._element,{originX:e,originY:s},{overlayX:c,overlayY:i}).withDirection(this.dir).withOffsetY(h).withFallbackPosition({originX:n,originY:s},{overlayX:d,overlayY:i}).withFallbackPosition({originX:e,originY:l},{overlayX:c,overlayY:o},void 0,-h).withFallbackPosition({originX:n,originY:l},{overlayX:d,overlayY:o},void 0,-h)},t.prototype._cleanUpSubscriptions=function(){this._closeSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()},t.prototype._menuClosingActions=function(){var t=this,e=this._overlayRef.backdropClick(),n=this._overlayRef.detachments(),r=this._parentMenu?this._parentMenu.close:ur(),i=this._parentMenu?this._parentMenu._hovered().pipe(fr(function(e){return e!==t._menuItemInstance}),fr(function(){return t._menuOpen})):ur();return Object(ui.a)(e,r,i,n)},t.prototype._handleMousedown=function(t){(function(t){return 0===t.buttons})(t)||(this._openedByMouse=!0,this.triggersSubmenu()&&t.preventDefault())},t.prototype._handleKeydown=function(t){var e=t.keyCode;this.triggersSubmenu()&&(39===e&&"ltr"===this.dir||37===e&&"rtl"===this.dir)&&this.openMenu()},t.prototype._handleClick=function(t){this.triggersSubmenu()?(t.stopPropagation(),this.openMenu()):this.toggleMenu()},t}(),Ru=function(){},Nu=0,Fu=new r.p("mat-select-scroll-strategy");function Vu(t){return function(){return t.scrollStrategies.reposition()}}var zu=function(t){function e(e,n,i,o,a,s,l,u,c,d,h,p){var f=t.call(this,a,o,l,u,d)||this;return f._viewportRuler=e,f._changeDetectorRef=n,f._ngZone=i,f._dir=s,f._parentFormField=c,f.ngControl=d,f._scrollStrategyFactory=p,f._panelOpen=!1,f._required=!1,f._scrollTop=0,f._multiple=!1,f._compareWith=function(t,e){return t===e},f._uid="mat-select-"+Nu++,f._destroy=new Fr.a,f._triggerFontSize=0,f._onChange=function(){},f._onTouched=function(){},f._optionIds="",f._transformOrigin="top",f._panelDoneAnimating=!1,f._scrollStrategy=f._scrollStrategyFactory(),f._offsetY=0,f._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}],f.focused=!1,f.controlType="mat-select",f.ariaLabel="",f.optionSelectionChanges=aa(function(){return f.options?ui.a.apply(void 0,f.options.map(function(t){return t.onSelectionChange})):f._ngZone.onStable.asObservable().pipe(Ti(1),nl(function(){return f.optionSelectionChanges}))}),f.openedChange=new r.n,f.onOpen=f._openedStream,f.onClose=f._closedStream,f.selectionChange=new r.n,f.change=f.selectionChange,f.valueChange=new r.n,f.ngControl&&(f.ngControl.valueAccessor=f),f.tabIndex=parseInt(h)||0,f.id=f.id,f}return Object(o.b)(e,t),Object.defineProperty(e.prototype,"placeholder",{get:function(){return this._placeholder},set:function(t){this._placeholder=t,this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(t){this._required=Yi(t),this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"multiple",{get:function(){return this._multiple},set:function(t){if(this._selectionModel)throw Error("Cannot change `multiple` mode of select after initialization.");this._multiple=Yi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"compareWith",{get:function(){return this._compareWith},set:function(t){if("function"!=typeof t)throw Error("`compareWith` must be a function.");this._compareWith=t,this._selectionModel&&this._initializeSelection()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(t){t!==this._value&&(this.writeValue(t),this._value=t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(t){this._id=t||this._uid,this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_openedStream",{get:function(){return this.openedChange.pipe(fr(function(t){return t}),Qn(function(){}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_closedStream",{get:function(){return this.openedChange.pipe(fr(function(t){return!t}),Qn(function(){}))},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this._selectionModel=new vl(this.multiple,void 0,!1),this.stateChanges.next()},e.prototype.ngAfterContentInit=function(){var t=this;this._initKeyManager(),this.options.changes.pipe(ka(null),Pl(this._destroy)).subscribe(function(){t._resetOptions(),t._initializeSelection()})},e.prototype.ngDoCheck=function(){this.ngControl&&this.updateErrorState()},e.prototype.ngOnChanges=function(t){t.disabled&&this.stateChanges.next()},e.prototype.ngOnDestroy=function(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()},e.prototype.toggle=function(){this.panelOpen?this.close():this.open()},e.prototype.open=function(){var t=this;!this.disabled&&this.options&&this.options.length&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement)["font-size"]),this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._calculateOverlayPosition(),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this._ngZone.onStable.asObservable().pipe(Ti(1)).subscribe(function(){t._triggerFontSize&&t.overlayDir.overlayRef&&t.overlayDir.overlayRef.overlayElement&&(t.overlayDir.overlayRef.overlayElement.style.fontSize=t._triggerFontSize+"px")}))},e.prototype.close=function(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())},e.prototype.writeValue=function(t){this.options&&this._setSelectionByValue(t)},e.prototype.registerOnChange=function(t){this._onChange=t},e.prototype.registerOnTouched=function(t){this._onTouched=t},e.prototype.setDisabledState=function(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()},Object.defineProperty(e.prototype,"panelOpen",{get:function(){return this._panelOpen},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"triggerValue",{get:function(){if(this.empty)return"";if(this._multiple){var t=this._selectionModel.selected.map(function(t){return t.viewValue});return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue},enumerable:!0,configurable:!0}),e.prototype._isRtl=function(){return!!this._dir&&"rtl"===this._dir.value},e.prototype._handleKeydown=function(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))},e.prototype._handleClosedKeydown=function(t){var e=t.keyCode;13===e||32===e||(this.multiple||t.altKey)&&(40===e||38===e||37===e||39===e)?(t.preventDefault(),this.open()):this.multiple||this._keyManager.onKeydown(t)},e.prototype._handleOpenKeydown=function(t){var e=t.keyCode,n=40===e||38===e,r=this._keyManager;if(36===e||35===e)t.preventDefault(),36===e?r.setFirstItemActive():r.setLastItemActive();else if(n&&t.altKey)t.preventDefault(),this.close();else if(13!==e&&32!==e||!r.activeItem){var i=r.activeItemIndex;r.onKeydown(t),this._multiple&&n&&t.shiftKey&&r.activeItem&&r.activeItemIndex!==i&&r.activeItem._selectViaInteraction()}else t.preventDefault(),r.activeItem._selectViaInteraction()},e.prototype._onPanelDone=function(){this.panelOpen?(this._scrollTop=0,this.openedChange.emit(!0)):(this.openedChange.emit(!1),this._panelDoneAnimating=!1,this.overlayDir.offsetX=0,this._changeDetectorRef.markForCheck())},e.prototype._onFadeInDone=function(){this._panelDoneAnimating=this.panelOpen,this._changeDetectorRef.markForCheck()},e.prototype._onFocus=function(){this.disabled||(this.focused=!0,this.stateChanges.next())},e.prototype._onBlur=function(){this.focused=!1,this.disabled||this.panelOpen||(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())},e.prototype._onAttached=function(){var t=this;this.overlayDir.positionChange.pipe(Ti(1)).subscribe(function(){t._changeDetectorRef.detectChanges(),t._calculateOverlayOffsetX(),t.panel.nativeElement.scrollTop=t._scrollTop})},e.prototype._getPanelTheme=function(){return this._parentFormField?"mat-"+this._parentFormField.color:""},Object.defineProperty(e.prototype,"empty",{get:function(){return!this._selectionModel||this._selectionModel.isEmpty()},enumerable:!0,configurable:!0}),e.prototype._initializeSelection=function(){var t=this;Promise.resolve().then(function(){t._setSelectionByValue(t.ngControl?t.ngControl.value:t._value)})},e.prototype._setSelectionByValue=function(t,e){var n=this;if(void 0===e&&(e=!1),this.multiple&&t){if(!Array.isArray(t))throw Error("Value must be an array in multiple-selection mode.");this._clearSelection(),t.forEach(function(t){return n._selectValue(t,e)}),this._sortValues()}else{this._clearSelection();var r=this._selectValue(t,e);r&&this._keyManager.setActiveItem(this.options.toArray().indexOf(r))}this._changeDetectorRef.markForCheck()},e.prototype._selectValue=function(t,e){var n=this;void 0===e&&(e=!1);var i=this.options.find(function(e){try{return null!=e.value&&n._compareWith(e.value,t)}catch(t){return Object(r.U)()&&console.warn(t),!1}});return i&&(e?i._selectViaInteraction():i.select(),this._selectionModel.select(i),this.stateChanges.next()),i},e.prototype._clearSelection=function(t){this._selectionModel.clear(),this.options.forEach(function(e){e!==t&&e.deselect()}),this.stateChanges.next()},e.prototype._initKeyManager=function(){var t=this;this._keyManager=new Lo(this.options).withTypeAhead().withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._keyManager.tabOut.pipe(Pl(this._destroy)).subscribe(function(){return t.close()}),this._keyManager.change.pipe(Pl(this._destroy)).subscribe(function(){t._panelOpen&&t.panel?t._scrollActiveOptionIntoView():t._panelOpen||t.multiple||!t._keyManager.activeItem||t._keyManager.activeItem._selectViaInteraction()})},e.prototype._resetOptions=function(){var t=this,e=Object(ui.a)(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Pl(e),fr(function(t){return t.isUserInput})).subscribe(function(e){t._onSelect(e.source),!t.multiple&&t._panelOpen&&(t.close(),t.focus())}),ui.a.apply(void 0,this.options.map(function(t){return t._stateChanges})).pipe(Pl(e)).subscribe(function(){t._changeDetectorRef.markForCheck(),t.stateChanges.next()}),this._setOptionIds()},e.prototype._onSelect=function(t){var e=this._selectionModel.isSelected(t);this.multiple?(this._selectionModel.toggle(t),this.stateChanges.next(),e?t.deselect():t.select(),this._keyManager.setActiveItem(this._getOptionIndex(t)),this._sortValues()):(this._clearSelection(null==t.value?void 0:t),null==t.value?this._propagateChanges(t.value):(this._selectionModel.select(t),this.stateChanges.next())),e!==this._selectionModel.isSelected(t)&&this._propagateChanges()},e.prototype._sortValues=function(){var t=this;this._multiple&&(this._selectionModel.clear(),this.options.forEach(function(e){e.selected&&t._selectionModel.select(e)}),this.stateChanges.next())},e.prototype._propagateChanges=function(t){var e;e=this.multiple?this.selected.map(function(t){return t.value}):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(new function(t,e){this.source=t,this.value=e}(this,e)),this._changeDetectorRef.markForCheck()},e.prototype._setOptionIds=function(){this._optionIds=this.options.map(function(t){return t.id}).join(" ")},e.prototype._highlightCorrectOption=function(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._getOptionIndex(this._selectionModel.selected[0])))},e.prototype._scrollActiveOptionIntoView=function(){var t,e,n,r=this._keyManager.activeItemIndex||0,i=na(r,this.options,this.optionGroups);this.panel.nativeElement.scrollTop=(256,(n=(r+i)*(t=this._getItemHeight()))<(e=this.panel.nativeElement.scrollTop)?n:n+t>e+256?Math.max(0,n-256+t):e)},e.prototype.focus=function(){this._elementRef.nativeElement.focus()},e.prototype._getOptionIndex=function(t){return this.options.reduce(function(e,n,r){return void 0===e?t===n?r:void 0:e},void 0)},e.prototype._calculateOverlayPosition=function(){var t=this._getItemHeight(),e=this._getItemCount(),n=Math.min(e*t,256),r=e*t-n,i=this.empty?0:this._getOptionIndex(this._selectionModel.selected[0]);i+=na(i,this.options,this.optionGroups);var o=n/2;this._scrollTop=this._calculateOverlayScroll(i,o,r),this._offsetY=this._calculateOverlayOffsetY(i,o,r),this._checkOverlayWithinViewport(r)},e.prototype._calculateOverlayScroll=function(t,e,n){var r=this._getItemHeight();return Math.min(Math.max(0,r*t-e+r/2),n)},Object.defineProperty(e.prototype,"_ariaLabel",{get:function(){return this.ariaLabelledby?null:this.ariaLabel||this.placeholder},enumerable:!0,configurable:!0}),e.prototype._getAriaActiveDescendant=function(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null},e.prototype._calculateOverlayOffsetX=function(){var t,e=this.overlayDir.overlayRef.overlayElement.getBoundingClientRect(),n=this._viewportRuler.getViewportSize(),r=this._isRtl(),i=this.multiple?60:32;if(this.multiple)t=44;else{var o=this._selectionModel.selected[0]||this.options.first;t=o&&o.group?32:16}r||(t*=-1);var a=0-(e.left+t-(r?i:0)),s=e.right+t-n.width+(r?0:i);a>0?t+=a+8:s>0&&(t-=s+8),this.overlayDir.offsetX=t,this.overlayDir.overlayRef.updatePosition()},e.prototype._calculateOverlayOffsetY=function(t,e,n){var r=this._getItemHeight(),i=(r-this._triggerRect.height)/2,o=Math.floor(256/r);return-1*(0===this._scrollTop?t*r:this._scrollTop===n?(t-(this._getItemCount()-o))*r+(r-(this._getItemCount()*r-256)%r):e-r/2)-i},e.prototype._checkOverlayWithinViewport=function(t){var e=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),r=this._triggerRect.top-8,i=n.height-this._triggerRect.bottom-8,o=Math.abs(this._offsetY),a=Math.min(this._getItemCount()*e,256)-o-this._triggerRect.height;a>i?this._adjustPanelUp(a,i):o>r?this._adjustPanelDown(o,r,t):this._transformOrigin=this._getOriginBasedOnOption()},e.prototype._adjustPanelUp=function(t,e){var n=Math.round(t-e);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")},e.prototype._adjustPanelDown=function(t,e,n){var r=Math.round(t-e);if(this._scrollTop+=r,this._offsetY+=r,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")},e.prototype._getOriginBasedOnOption=function(){var t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return"50% "+(Math.abs(this._offsetY)-e+t/2)+"px 0px"},e.prototype._getItemCount=function(){return this.options.length+this.optionGroups.length},e.prototype._getItemHeight=function(){return 3*this._triggerFontSize},e.prototype.setDescribedByIds=function(t){this._ariaDescribedby=t.join(" ")},e.prototype.onContainerClick=function(){this.focus(),this.open()},Object.defineProperty(e.prototype,"shouldPlaceholderFloat",{get:function(){return this._panelOpen||!this.empty},enumerable:!0,configurable:!0}),e}(Ho(Ro(Ao(function(t){return function(t){function e(){for(var e=[],n=0;n0&&i.afterOpened().subscribe(function(){return i._dismissAfter(r.duration)}),r.announcementMessage&&this._live.announce(r.announcementMessage,r.politeness),this._openedSnackBarRef=i,this._openedSnackBarRef},t.prototype.open=function(t,e,n){void 0===e&&(e="");var r=wc(n);return r.data={message:t,action:e},r.announcementMessage=t,this.openFromComponent(yc,r)},t.prototype.dismiss=function(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()},t.prototype._attachSnackBarContainer=function(t,e){var n=new bi(vc,e.viewContainerRef),r=t.attach(n);return r.instance.snackBarConfig=e,r.instance},t.prototype._attach=function(t,e){var n=this._createOverlay(e),r=this._attachSnackBarContainer(n,e),i=new _c(r,n),o=this._createInjector(e,i),a=new bi(t,void 0,o),s=r.attachComponentPortal(a);return i.instance=s.instance,this._breakpointObserver.observe(Qu.Handset).pipe(Pl(n.detachments().pipe(Ti(1)))).subscribe(function(t){t.matches?n.overlayElement.classList.add("mat-snack-bar-handset"):n.overlayElement.classList.remove("mat-snack-bar-handset")}),i},t.prototype._createOverlay=function(t){var e=new Ii;e.direction=t.direction;var n=this._overlay.position().global(),r="rtl"===t.direction,i="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!r||"end"===t.horizontalPosition&&r,o=!i&&"center"!==t.horizontalPosition;return i?n.left("0"):o?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)},t.prototype._createInjector=function(t,e){var n=t&&t.viewContainerRef&&t.viewContainerRef.injector,r=new WeakMap;return r.set(_c,e),r.set(mc,t.data),new Ci(n||this._injector,r)},t}();function wc(t){return Object(o.a)({},new gc,t)}var Mc=function(){},kc=function(t){function e(e){t.call(this),this._value=e}return Object(o.b)(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new qr.a;return this._value},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(Fr.a),xc=function(){},Lc=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i._platform=n,i._document=r,i}return Object(o.b)(e,t),e.prototype.ngAfterViewInit=function(){var t=this;Object(r.U)()&&this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(function(){return t._checkToolbarMixedModes()}))},e.prototype._checkToolbarMixedModes=function(){var t=this;this._toolbarRows.length&&[].slice.call(this._elementRef.nativeElement.childNodes).filter(function(t){return!(t.classList&&t.classList.contains("mat-toolbar-row"))}).filter(function(e){return e.nodeType!==(t._document?t._document.COMMENT_NODE:8)}).some(function(t){return t.textContent.trim()})&&function(){throw Error("MatToolbar: Attempting to combine different toolbar modes. Either specify multiple `` elements explicitly or just place content inside of a `` for a single row.")}()},e}(Io(function(t){this._elementRef=t})),Cc=function(){},Sc=function(){function t(){this.forceEmitEvents=!1,this.action=new r.n,this.mouseOver=!1}return t.prototype.onClick=function(){this.disabled&&!this.forceEmitEvents||(this.error="",this.action.emit())},t.prototype.setLoading=function(){this.state=0},t.prototype.setSuccess=function(){var t=this;this.state=1,setTimeout(function(){return t.state=null},3e3)},t.prototype.setError=function(t){var e=this;this.error="string"==typeof t?t:el(t._body),this.state=2,this.mouseOver&&setTimeout(function(){return e.tooltip.show()},50)},t.prototype.setDisabled=function(){this.disabled=!0},t.prototype.isLoading=function(){return 0===this.state},t.prototype.resetState=function(){this.state=null,this.error=""},t}(),Tc=function(){function t(t,e,n){this.data=t,this.dialogRef=e,this.walletService=n,this.encrypt=!0,this.disableDismiss=!1}return t.prototype.ngOnInit=function(){this.initForm()},t.prototype.closePopup=function(){this.dialogRef.close()},t.prototype.createWallet=function(){var t=this;this.form.valid&&!this.createButton.isLoading()&&(this.createButton.resetState(),this.createButton.setLoading(),this.cancelButton.setDisabled(),this.disableDismiss=!0,this.walletService.create(this.form.value.label,this.form.value.seed,this.scan,this.encrypt?this.form.value.password:null).subscribe(function(){return t.dialogRef.close()},function(e){t.createButton.setError(e),t.cancelButton.disabled=!1,t.disableDismiss=!1}))},t.prototype.generateSeed=function(t){var e=this;this.walletService.generateSeed(t).subscribe(function(t){return e.form.get("seed").setValue(t)})},t.prototype.setEncrypt=function(t){this.encrypt=t.checked,this.form.updateValueAndValidity()},t.prototype.initForm=function(){this.form=new Rs({},[this.validatePasswords.bind(this),this.validateSeeds.bind(this)]),this.form.addControl("label",new Hs("",[Xa.required])),this.form.addControl("seed",new Hs("",[Xa.required])),this.form.addControl("confirm_seed",new Hs),this.form.addControl("password",new Hs),this.form.addControl("confirm_password",new Hs),this.data.create&&this.generateSeed(128),this.scan=100},t.prototype.validateSeeds=function(){return this.data.create&&this.form&&this.form.get("seed")&&this.form.get("confirm_seed")&&this.form.get("seed").value!==this.form.get("confirm_seed").value?{NotEqual:!0}:null},t.prototype.validatePasswords=function(){if(this.encrypt&&this.form&&this.form.get("password")&&this.form.get("confirm_password")){if(!this.form.get("password").value)return{Required:!0};if(this.form.get("password").value!==this.form.get("confirm_password").value)return{NotEqual:!0}}return null},t}(),Dc=function(){function t(t,e){this.walletService=t,this.dialog=e}return t.prototype.addWallet=function(t){var e=new Pa;e.width="566px",e.data={create:t},this.dialog.open(Tc,e)},t.prototype.toggleWallet=function(t){t.opened=!t.opened},t}();a.a.prototype.delay=function(t,e){return void 0===e&&(e=Dr),function(t,e){void 0===e&&(e=Dr);var n=Yr(t)?+t-e.now():Math.abs(t);return function(t){return t.lift(new ol(n,e))}}(t,e)(this)};var Oc=function(){function t(t,e,n){var r=this;this.dialogRef=t,this.data=e,this.snackbar=n,this.disableDismiss=!1,this.passwordSubmit=a.a.create(function(t){r.passwordChanged=function(e){t.next({password:e,close:r.close.bind(r),error:r.error.bind(r)})}}),this.data=Object.assign({confirm:!1,description:null,title:null},e||{})}return t.prototype.ngOnInit=function(){var t=this;this.form=new Rs({},this.validateForm.bind(this)),this.form.addControl("password",new Hs("")),this.form.addControl("confirm_password",new Hs("")),["password","confirm_password"].forEach(function(e){t.form.get(e).valueChanges.subscribe(function(){2===t.button.state&&t.button.resetState()})}),this.data.confirm?this.form.get("confirm_password").enable():this.form.get("confirm_password").disable(),this.data.description&&this.dialogRef.updateSize("400px")},t.prototype.ngOnDestroy=function(){this.form.get("password").setValue(""),this.form.get("confirm_password").setValue("")},t.prototype.proceed=function(){this.form.valid&&!this.button.isLoading()&&(this.button.setLoading(),this.passwordChanged(this.form.get("password").value),this.disableDismiss=!0)},t.prototype.validateForm=function(){if(this.form&&this.form.get("password")&&this.form.get("confirm_password")){if(0===this.form.get("password").value.length)return{Required:!0};if(this.data.confirm&&this.form.get("password").value!==this.form.get("confirm_password").value)return{NotEqual:!0}}return null},t.prototype.close=function(){this.dialogRef.close()},t.prototype.error=function(t){if("object"==typeof t)switch(t.status){case 400:t=el(t._body);break;case 401:t="Incorrect password";break;case 403:t="API Disabled";break;case 404:t="Wallet does not exist";break;default:var e=new gc;e.duration=5e3,this.snackbar.open(el(t._body),null,e)}this.button.setError(t||"Incorrect password"),this.disableDismiss=!1},t}(),Yc=function(){function t(t,e,n,r){this.formBuilder=t,this.walletService=e,this.snackbar=n,this.dialog=r,this.transactions=[]}return t.prototype.ngOnInit=function(){this.initForm()},t.prototype.ngOnDestroy=function(){this.snackbar.dismiss()},t.prototype.send=function(){var t=this;this.form.valid&&!this.button.isLoading()&&(this.button.resetState(),this.snackbar.dismiss(),this.form.value.wallet.encrypted?this.dialog.open(Oc).componentInstance.passwordSubmit.subscribe(function(e){t._send(e)}):this._send())},t.prototype._send=function(t){var e=this;t&&t.close(),this.button.setLoading(),this.walletService.createTransaction(this.form.value.wallet,this.form.value.address,this.form.value.amount,t?t.password:null).toPromise().then(function(t){return e.walletService.injectTransaction(t.encoded_transaction).toPromise()}).then(function(){e.resetForm(),e.button.setSuccess(),e.walletService.startDataRefreshSubscription()}).catch(function(t){var n=el(t._body),r=new gc;r.duration=3e5,e.snackbar.open(n,null,r),e.button.setError(n)})},t.prototype.initForm=function(){var t=this;this.form=this.formBuilder.group({wallet:["",Xa.required],address:["",Xa.required],amount:["",Xa.required],notes:[""]}),this.form.get("wallet").valueChanges.subscribe(function(e){console.log(e);var n=e&&e.coins?e.coins:0;t.form.get("amount").setValidators([Xa.required,Xa.max(n),t.validateAmount]),t.form.get("amount").updateValueAndValidity()})},t.prototype.resetForm=function(){this.form.get("wallet").reset(""),this.form.get("address").reset(""),this.form.get("amount").reset(""),this.form.get("notes").reset("")},t.prototype.validateAmount=function(t){if(isNaN(t.value))return{Invalid:!0};if(parseFloat(t.value)<=0)return{Invalid:!0};var e=t.value.split(".");return 2===e.length&&e[1].length>6?{Invalid:!0}:null},t}(),Pc=n("PJh5"),Ec=function(){function t(t){this.walletService=t,this.walletService.startDataRefreshSubscription()}return t.prototype.ngOnInit=function(){var t=this;this.walletService.pendingTransactions().subscribe(function(e){t.transactions=t.mapTransactions(e)})},t.prototype.mapTransactions=function(t){return t.map(function(t){return t.transaction.timestamp=Pc(t.received).unix(),t.transaction}).map(function(t){return t.amount=t.outputs.map(function(t){return t.coins>=0?t.coins:0}).reduce(function(t,e){return t+parseInt(e,10)},0),t})},t}();function jc(){return Ma()(this)}var Ac=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new Ic(t,this.predicate,this.thisArg,this.source))},t}(),Ic=function(t){function e(e,n,r,i){t.call(this,e),this.predicate=n,this.thisArg=r,this.source=i,this.index=0,this.thisArg=r||this}return Object(o.b)(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(t){return void this.destination.error(t)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(Zn.a);function Hc(t,e){return function(t,e){return function(n){return n.lift(new Ac(t,e,n))}}(t,e)(this)}var Rc=function(){function t(t,e,n,r){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=r}return t.prototype.call=function(t,e){return e.subscribe(new Nc(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),Nc=function(t){function e(e,n,r,i,o){t.call(this,e),this.predicate=n,this.resultSelector=r,this.defaultValue=i,this.source=o,this.hasValue=!1,this.index=0,"undefined"!=typeof i&&(this.lastValue=i,this.hasValue=!0)}return Object(o.b)(e,t),e.prototype._next=function(t){var e=this.index++;if(this.predicate)this._tryPredicate(t,e);else{if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(t){return void this.destination.error(t)}if(n){if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(t){return void this.destination.error(t)}this.lastValue=n,this.hasValue=!0},e.prototype._complete=function(){var t=this.destination;this.hasValue?(t.next(this.lastValue),t.complete()):t.error(new yr)},e}(Zn.a);function Fc(t,e,n){return function(t,e,n){return function(r){return r.lift(new Rc(t,e,n,r))}}(t,e,n)(this)}function Vc(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),Object(wa.a)(t)(this)}function zc(t,e){var n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new Wc(t,e,n))}}var Wc=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new Bc(t,this.accumulator,this.seed,this.hasSeed))},t}(),Bc=function(t){function e(e,n,r,i){t.call(this,e),this.accumulator=n,this._seed=r,this.hasSeed=i,this.index=0}return Object(o.b)(e,t),Object.defineProperty(e.prototype,"seed",{get:function(){return this._seed},set:function(t){this.hasSeed=!0,this._seed=t},enumerable:!0,configurable:!0}),e.prototype._next=function(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.accumulator(this.seed,t,n)}catch(t){this.destination.error(t)}this.seed=e,this.destination.next(e)},e}(Zn.a);function Uc(t){return function(e){return 0===t?new rr.a:e.lift(new qc(t))}}var qc=function(){function t(t){if(this.total=t,this.total<0)throw new Si}return t.prototype.call=function(t,e){return e.subscribe(new Jc(t,this.total))},t}(),Jc=function(t){function e(e,n){t.call(this,e),this.total=n,this.ring=new Array,this.count=0}return Object(o.b)(e,t),e.prototype._next=function(t){var e=this.ring,n=this.total,r=this.count++;e.length0)for(var n=this.count>=this.total?this.total:this.count,r=this.ring,i=0;i=2?function(n){return Object(Xc.a)(zc(t,e),Uc(1),(void 0===(r=e)&&(r=null),function(t){return t.lift(new Gc(r))}))(n);var r}:function(e){return Object(Xc.a)(zc(function(e,n,r){return t(e,n,r+1)}),Uc(1))(e)}}var Qc=function(t,e){this.id=t,this.url=e},$c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.b)(e,t),e.prototype.toString=function(){return"NavigationStart(id: "+this.id+", url: '"+this.url+"')"},e}(Qc),td=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.urlAfterRedirects=r,i}return Object(o.b)(e,t),e.prototype.toString=function(){return"NavigationEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"')"},e}(Qc),ed=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.reason=r,i}return Object(o.b)(e,t),e.prototype.toString=function(){return"NavigationCancel(id: "+this.id+", url: '"+this.url+"')"},e}(Qc),nd=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.error=r,i}return Object(o.b)(e,t),e.prototype.toString=function(){return"NavigationError(id: "+this.id+", url: '"+this.url+"', error: "+this.error+")"},e}(Qc),rd=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(o.b)(e,t),e.prototype.toString=function(){return"RoutesRecognized(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Qc),id=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(o.b)(e,t),e.prototype.toString=function(){return"GuardsCheckStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Qc),od=function(t){function e(e,n,r,i,o){var a=t.call(this,e,n)||this;return a.urlAfterRedirects=r,a.state=i,a.shouldActivate=o,a}return Object(o.b)(e,t),e.prototype.toString=function(){return"GuardsCheckEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+", shouldActivate: "+this.shouldActivate+")"},e}(Qc),ad=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(o.b)(e,t),e.prototype.toString=function(){return"ResolveStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Qc),sd=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(o.b)(e,t),e.prototype.toString=function(){return"ResolveEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Qc),ld=function(){function t(t){this.route=t}return t.prototype.toString=function(){return"RouteConfigLoadStart(path: "+this.route.path+")"},t}(),ud=function(){function t(t){this.route=t}return t.prototype.toString=function(){return"RouteConfigLoadEnd(path: "+this.route.path+")"},t}(),cd=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ChildActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),dd=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ChildActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),hd=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),pd=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),fd="primary",_d=function(){function t(t){this.params=t||{}}return t.prototype.has=function(t){return this.params.hasOwnProperty(t)},t.prototype.get=function(t){if(this.has(t)){var e=this.params[t];return Array.isArray(e)?e[0]:e}return null},t.prototype.getAll=function(t){if(this.has(t)){var e=this.params[t];return Array.isArray(e)?e:[e]}return[]},Object.defineProperty(t.prototype,"keys",{get:function(){return Object.keys(this.params)},enumerable:!0,configurable:!0}),t}();function md(t){return new _d(t)}function gd(t,e,n){var r=n.path.split("/");if(r.length>t.length)return null;if("full"===n.pathMatch&&(e.hasChildren()||r.length0?t[t.length-1]:null}function Cd(t,e){for(var n in t)t.hasOwnProperty(n)&&e(t[n],n)}function Sd(t){var e=Vc.call(t);return Hc.call(e,function(t){return!0===t})}function Td(t){return Object(r._10)(t)?t:Object(r._11)(t)?Ba(Promise.resolve(t)):ur(t)}function Dd(t,e,n){return n?function(t,e){return kd(t,e)}(t.queryParams,e.queryParams)&&function t(e,n){if(!Ed(e.segments,n.segments))return!1;if(e.numberOfChildren!==n.numberOfChildren)return!1;for(var r in n.children){if(!e.children[r])return!1;if(!t(e.children[r],n.children[r]))return!1}return!0}(t.root,e.root):function(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(function(n){return e[n]===t[n]})}(t.queryParams,e.queryParams)&&function t(e,n){return function e(n,r,i){if(n.segments.length>i.length)return!!Ed(a=n.segments.slice(0,i.length),i)&&!r.hasChildren();if(n.segments.length===i.length){if(!Ed(n.segments,i))return!1;for(var o in r.children){if(!n.children[o])return!1;if(!t(n.children[o],r.children[o]))return!1}return!0}var a=i.slice(0,n.segments.length),s=i.slice(n.segments.length);return!!Ed(n.segments,a)&&!!n.children[fd]&&e(n.children[fd],r,s)}(e,n,n.segments)}(t.root,e.root)}var Od=function(){function t(t,e,n){this.root=t,this.queryParams=e,this.fragment=n}return Object.defineProperty(t.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=md(this.queryParams)),this._queryParamMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return Hd.serialize(this)},t}(),Yd=function(){function t(t,e){var n=this;this.segments=t,this.children=e,this.parent=null,Cd(e,function(t,e){return t.parent=n})}return t.prototype.hasChildren=function(){return this.numberOfChildren>0},Object.defineProperty(t.prototype,"numberOfChildren",{get:function(){return Object.keys(this.children).length},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return Rd(this)},t}(),Pd=function(){function t(t,e){this.path=t,this.parameters=e}return Object.defineProperty(t.prototype,"parameterMap",{get:function(){return this._parameterMap||(this._parameterMap=md(this.parameters)),this._parameterMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return Bd(this)},t}();function Ed(t,e){return t.length===e.length&&t.every(function(t,n){return t.path===e[n].path})}function jd(t,e){var n=[];return Cd(t.children,function(t,r){r===fd&&(n=n.concat(e(t,r)))}),Cd(t.children,function(t,r){r!==fd&&(n=n.concat(e(t,r)))}),n}var Ad=function(){},Id=function(){function t(){}return t.prototype.parse=function(t){var e=new Kd(t);return new Od(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())},t.prototype.serialize=function(t){var e,n;return"/"+function t(e,n){if(!e.hasChildren())return Rd(e);if(n){var r=e.children[fd]?t(e.children[fd],!1):"",i=[];return Cd(e.children,function(e,n){n!==fd&&i.push(n+":"+t(e,!1))}),i.length>0?r+"("+i.join("//")+")":r}var o=jd(e,function(n,r){return r===fd?[t(e.children[fd],!1)]:[r+":"+t(n,!1)]});return Rd(e)+"/("+o.join("//")+")"}(t.root,!0)+(e=t.queryParams,(n=Object.keys(e).map(function(t){var n=e[t];return Array.isArray(n)?n.map(function(e){return Fd(t)+"="+Fd(e)}).join("&"):Fd(t)+"="+Fd(n)})).length?"?"+n.join("&"):"")+("string"==typeof t.fragment?"#"+encodeURI(t.fragment):"")},t}(),Hd=new Id;function Rd(t){return t.segments.map(function(t){return Bd(t)}).join("/")}function Nd(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Fd(t){return Nd(t).replace(/%3B/gi,";")}function Vd(t){return Nd(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function zd(t){return decodeURIComponent(t)}function Wd(t){return zd(t.replace(/\+/g,"%20"))}function Bd(t){return""+Vd(t.path)+(e=t.parameters,Object.keys(e).map(function(t){return";"+Vd(t)+"="+Vd(e[t])}).join(""));var e}var Ud=/^[^\/()?;=&#]+/;function qd(t){var e=t.match(Ud);return e?e[0]:""}var Jd=/^[^=?&#]+/,Gd=/^[^?&#]+/,Kd=function(){function t(t){this.url=t,this.remaining=t}return t.prototype.parseRootSegment=function(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Yd([],{}):new Yd([],this.parseChildren())},t.prototype.parseQueryParams=function(){var t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t},t.prototype.parseFragment=function(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null},t.prototype.parseChildren=function(){if(""===this.remaining)return{};this.consumeOptional("/");var t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());var e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));var n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(n[fd]=new Yd(t,e)),n},t.prototype.parseSegment=function(){var t=qd(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Error("Empty path url segment cannot have parameters: '"+this.remaining+"'.");return this.capture(t),new Pd(zd(t),this.parseMatrixParams())},t.prototype.parseMatrixParams=function(){for(var t={};this.consumeOptional(";");)this.parseParam(t);return t},t.prototype.parseParam=function(t){var e=qd(this.remaining);if(e){this.capture(e);var n="";if(this.consumeOptional("=")){var r=qd(this.remaining);r&&this.capture(n=r)}t[zd(e)]=zd(n)}},t.prototype.parseQueryParam=function(t){var e,n=(e=this.remaining.match(Jd))?e[0]:"";if(n){this.capture(n);var r="";if(this.consumeOptional("=")){var i=function(t){var e=t.match(Gd);return e?e[0]:""}(this.remaining);i&&this.capture(r=i)}var o=Wd(n),a=Wd(r);if(t.hasOwnProperty(o)){var s=t[o];Array.isArray(s)||(t[o]=s=[s]),s.push(a)}else t[o]=a}},t.prototype.parseParens=function(t){var e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){var n=qd(this.remaining),r=this.remaining[n.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error("Cannot parse url '"+this.url+"'");var i=void 0;n.indexOf(":")>-1?(i=n.substr(0,n.indexOf(":")),this.capture(i),this.capture(":")):t&&(i=fd);var o=this.parseChildren();e[i]=1===Object.keys(o).length?o[fd]:new Yd([],o),this.consumeOptional("//")}return e},t.prototype.peekStartsWith=function(t){return this.remaining.startsWith(t)},t.prototype.consumeOptional=function(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)},t.prototype.capture=function(t){if(!this.consumeOptional(t))throw new Error('Expected "'+t+'".')},t}(),Xd=function(t){this.segmentGroup=t||null},Zd=function(t){this.urlTree=t};function Qd(t){return new a.a(function(e){return e.error(new Xd(t))})}function $d(t){return new a.a(function(e){return e.error(new Zd(t))})}function th(t){return new a.a(function(e){return e.error(new Error("Only absolute redirects can have named outlets. redirectTo: '"+t+"'"))})}var eh=function(){function t(t,e,n,i,o){this.configLoader=e,this.urlSerializer=n,this.urlTree=i,this.config=o,this.allowRedirects=!0,this.ngModule=t.get(r.w)}return t.prototype.apply=function(){var t=this,e=this.expandSegmentGroup(this.ngModule,this.config,this.urlTree.root,fd),n=er.call(e,function(e){return t.createUrlTree(e,t.urlTree.queryParams,t.urlTree.fragment)});return Xn.call(n,function(e){if(e instanceof Zd)return t.allowRedirects=!1,t.match(e.urlTree);if(e instanceof Xd)throw t.noMatchError(e);throw e})},t.prototype.match=function(t){var e=this,n=this.expandSegmentGroup(this.ngModule,this.config,t.root,fd),r=er.call(n,function(n){return e.createUrlTree(n,t.queryParams,t.fragment)});return Xn.call(r,function(t){if(t instanceof Xd)throw e.noMatchError(t);throw t})},t.prototype.noMatchError=function(t){return new Error("Cannot match any routes. URL Segment: '"+t.segmentGroup+"'")},t.prototype.createUrlTree=function(t,e,n){var r,i=t.segments.length>0?new Yd([],((r={})[fd]=t,r)):t;return new Od(i,e,n)},t.prototype.expandSegmentGroup=function(t,e,n,r){return 0===n.segments.length&&n.hasChildren()?er.call(this.expandChildren(t,e,n),function(t){return new Yd([],t)}):this.expandSegment(t,n,e,n.segments,r,!0)},t.prototype.expandChildren=function(t,e,n){var r=this;return function(n,i){if(0===Object.keys(n).length)return ur({});var o=[],a=[],s={};Cd(n,function(n,i){var l=er.call(r.expandSegmentGroup(t,e,n,i),function(t){return s[i]=t});i===fd?o.push(l):a.push(l)});var l=jc.call(ur.apply(void 0,o.concat(a))),u=Fc.call(l);return er.call(u,function(){return s})}(n.children)},t.prototype.expandSegment=function(t,e,n,r,i,o){var a=this,s=ur.apply(void 0,n),l=er.call(s,function(s){var l=a.expandSegmentAgainstRoute(t,e,n,s,r,i,o);return Xn.call(l,function(t){if(t instanceof Xd)return ur(null);throw t})}),u=jc.call(l),c=wr.call(u,function(t){return!!t});return Xn.call(c,function(t,n){if(t instanceof yr||"EmptyError"===t.name){if(a.noLeftoversInUrl(e,r,i))return ur(new Yd([],{}));throw new Xd(e)}throw t})},t.prototype.noLeftoversInUrl=function(t,e,n){return 0===e.length&&!t.children[n]},t.prototype.expandSegmentAgainstRoute=function(t,e,n,r,i,o,a){return oh(r)!==o?Qd(e):void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,e,r,i):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o):Qd(e)},t.prototype.expandSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,r,o):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o)},t.prototype.expandWildCardWithParamsAgainstRouteUsingRedirect=function(t,e,n,r){var i=this,o=this.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?$d(o):kr.call(this.lineralizeSegments(n,o),function(n){var o=new Yd(n,{});return i.expandSegment(t,o,e,n,r,!1)})},t.prototype.expandRegularSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){var a=this,s=nh(e,r,i),l=s.consumedSegments,u=s.lastChild,c=s.positionalParamSegments;if(!s.matched)return Qd(e);var d=this.applyRedirectCommands(l,r.redirectTo,c);return r.redirectTo.startsWith("/")?$d(d):kr.call(this.lineralizeSegments(r,d),function(r){return a.expandSegment(t,e,n,r.concat(i.slice(u)),o,!1)})},t.prototype.matchSegmentAgainstRoute=function(t,e,n,r){var i=this;if("**"===n.path)return n.loadChildren?er.call(this.configLoader.load(t.injector,n),function(t){return n._loadedConfig=t,new Yd(r,{})}):ur(new Yd(r,{}));var a=nh(e,n,r),s=a.consumedSegments,l=a.lastChild;if(!a.matched)return Qd(e);var u=r.slice(l),c=this.getChildConfig(t,n);return kr.call(c,function(t){var n=t.module,r=t.routes,a=function(t,e,n,r){return n.length>0&&function(t,e,n){return r.some(function(n){return ih(t,e,n)&&oh(n)!==fd})}(t,n)?{segmentGroup:rh(new Yd(e,function(t,e){var n={};n[fd]=e;for(var r=0,i=t;r1||!r.children[fd])return th(t.redirectTo);r=r.children[fd]}},t.prototype.applyRedirectCommands=function(t,e,n){return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),t,n)},t.prototype.applyRedirectCreatreUrlTree=function(t,e,n,r){var i=this.createSegmentGroup(t,e.root,n,r);return new Od(i,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)},t.prototype.createQueryParams=function(t,e){var n={};return Cd(t,function(t,r){if("string"==typeof t&&t.startsWith(":")){var i=t.substring(1);n[r]=e[i]}else n[r]=t}),n},t.prototype.createSegmentGroup=function(t,e,n,r){var i=this,o=this.createSegments(t,e.segments,n,r),a={};return Cd(e.children,function(e,o){a[o]=i.createSegmentGroup(t,e,n,r)}),new Yd(o,a)},t.prototype.createSegments=function(t,e,n,r){var i=this;return e.map(function(e){return e.path.startsWith(":")?i.findPosParam(t,e,r):i.findOrReturn(e,n)})},t.prototype.findPosParam=function(t,e,n){var r=n[e.path.substring(1)];if(!r)throw new Error("Cannot redirect to '"+t+"'. Cannot find '"+e.path+"'.");return r},t.prototype.findOrReturn=function(t,e){for(var n=0,r=0,i=e;r0)?{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}:{matched:!0,consumedSegments:[],lastChild:0,positionalParamSegments:{}};var r=(e.matcher||gd)(n,t,e);return r?{matched:!0,consumedSegments:r.consumed,lastChild:r.consumed.length,positionalParamSegments:r.posParams}:{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}}function rh(t){if(1===t.numberOfChildren&&t.children[fd]){var e=t.children[fd];return new Yd(t.segments.concat(e.segments),e.children)}return t}function ih(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&""===n.path&&void 0!==n.redirectTo}function oh(t){return t.outlet||fd}var ah=function(){function t(t){this._root=t}return Object.defineProperty(t.prototype,"root",{get:function(){return this._root.value},enumerable:!0,configurable:!0}),t.prototype.parent=function(t){var e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null},t.prototype.children=function(t){var e=sh(t,this._root);return e?e.children.map(function(t){return t.value}):[]},t.prototype.firstChild=function(t){var e=sh(t,this._root);return e&&e.children.length>0?e.children[0].value:null},t.prototype.siblings=function(t){var e=lh(t,this._root);return e.length<2?[]:e[e.length-2].children.map(function(t){return t.value}).filter(function(e){return e!==t})},t.prototype.pathFromRoot=function(t){return lh(t,this._root).map(function(t){return t.value})},t}();function sh(t,e){if(t===e.value)return e;for(var n=0,r=e.children;n=1;){var i=n[r],a=n[r-1];if(i.routeConfig&&""===i.routeConfig.path)r--;else{if(a.component)break;r--}}return function(t){return t.reduce(function(t,e){return{params:Object(o.a)({},t.params,e.params),data:Object(o.a)({},t.data,e.data),resolve:Object(o.a)({},t.resolve,e._resolvedData)}},{params:{},data:{},resolve:{}})}(n.slice(r))}var _h=function(){function t(t,e,n,r,i,o,a,s,l,u,c){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=o,this.component=a,this.routeConfig=s,this._urlSegment=l,this._lastPathIndex=u,this._resolve=c}return Object.defineProperty(t.prototype,"root",{get:function(){return this._routerState.root},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._routerState.parent(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this._routerState.firstChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this._routerState.children(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pathFromRoot",{get:function(){return this._routerState.pathFromRoot(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"paramMap",{get:function(){return this._paramMap||(this._paramMap=md(this.params)),this._paramMap},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=md(this.queryParams)),this._queryParamMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return"Route(url:'"+this.url.map(function(t){return t.toString()}).join("/")+"', path:'"+(this.routeConfig?this.routeConfig.path:"")+"')"},t}(),mh=function(t){function e(e,n){var r=t.call(this,n)||this;return r.url=e,gh(r,n),r}return Object(o.b)(e,t),e.prototype.toString=function(){return yh(this._root)},e}(ah);function gh(t,e){e.value._routerState=t,e.children.forEach(function(e){return gh(t,e)})}function yh(t){var e=t.children.length>0?" { "+t.children.map(yh).join(", ")+" } ":"";return""+t.value+e}function vh(t){if(t.snapshot){var e=t.snapshot,n=t._futureSnapshot;t.snapshot=n,kd(e.queryParams,n.queryParams)||t.queryParams.next(n.queryParams),e.fragment!==n.fragment&&t.fragment.next(n.fragment),kd(e.params,n.params)||t.params.next(n.params),function(t,e){if(t.length!==e.length)return!1;for(var n=0;n0&&wh(n[0]))throw new Error("Root segment cannot have matrix parameters");var r=n.find(function(t){return"object"==typeof t&&null!=t&&t.outlets});if(r&&r!==Ld(n))throw new Error("{outlets:{}} has to be the last command")}return t.prototype.toRoot=function(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]},t}(),xh=function(t,e,n){this.segmentGroup=t,this.processChildren=e,this.index=n};function Lh(t){return"object"==typeof t&&null!=t&&t.outlets?t.outlets[fd]:""+t}function Ch(t,e,n){if(t||(t=new Yd([],{})),0===t.segments.length&&t.hasChildren())return Sh(t,e,n);var r=function(t,e,n){for(var r=0,i=e,o={match:!1,pathIndex:0,commandIndex:0};i=n.length)return o;var a=t.segments[i],s=Lh(n[r]),l=r0&&void 0===s)break;if(s&&l&&"object"==typeof l&&void 0===l.outlets){if(!Yh(s,l,a))return o;r+=2}else{if(!Yh(s,{},a))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}(t,e,n),i=n.slice(r.commandIndex);if(r.match&&r.pathIndex=2?Zc(t,e)(this):Zc(t)(this)}).call(r,function(t,e){return t})},t.prototype.isDeactivating=function(){return 0!==this.canDeactivateChecks.length},t.prototype.isActivating=function(){return 0!==this.canActivateChecks.length},t.prototype.setupChildRouteGuards=function(t,e,n,r){var i=this,o=ch(e);t.children.forEach(function(t){i.setupRouteGuards(t,o[t.value.outlet],n,r.concat([t.value])),delete o[t.value.outlet]}),Cd(o,function(t,e){return i.deactivateRouteAndItsChildren(t,n.getContext(e))})},t.prototype.setupRouteGuards=function(t,e,n,r){var i=t.value,o=e?e.value:null,a=n?n.getContext(t.value.outlet):null;if(o&&i.routeConfig===o.routeConfig){var s=this.shouldRunGuardsAndResolvers(o,i,i.routeConfig.runGuardsAndResolvers);s?this.canActivateChecks.push(new Ph(r)):(i.data=o.data,i._resolvedData=o._resolvedData),this.setupChildRouteGuards(t,e,i.component?a?a.children:null:n,r),s&&this.canDeactivateChecks.push(new Eh(a.outlet.component,o))}else o&&this.deactivateRouteAndItsChildren(e,a),this.canActivateChecks.push(new Ph(r)),this.setupChildRouteGuards(t,null,i.component?a?a.children:null:n,r)},t.prototype.shouldRunGuardsAndResolvers=function(t,e,n){switch(n){case"always":return!0;case"paramsOrQueryParamsChange":return!bh(t,e)||!kd(t.queryParams,e.queryParams);case"paramsChange":default:return!bh(t,e)}},t.prototype.deactivateRouteAndItsChildren=function(t,e){var n=this,r=ch(t),i=t.value;Cd(r,function(t,r){n.deactivateRouteAndItsChildren(t,i.component?e?e.children.getContext(r):null:e)}),this.canDeactivateChecks.push(new Eh(i.component&&e&&e.outlet&&e.outlet.isActivated?e.outlet.component:null,i))},t.prototype.runCanDeactivateChecks=function(){var t=this,e=ba(this.canDeactivateChecks),n=kr.call(e,function(e){return t.runCanDeactivate(e.component,e.route)});return Hc.call(n,function(t){return!0===t})},t.prototype.runCanActivateChecks=function(){var t=this,e=ba(this.canActivateChecks),n=Wl.call(e,function(e){return Sd(ba([t.fireChildActivationStart(e.route.parent),t.fireActivationStart(e.route),t.runCanActivateChild(e.path),t.runCanActivate(e.route)]))});return Hc.call(n,function(t){return!0===t})},t.prototype.fireActivationStart=function(t){return null!==t&&this.forwardEvent&&this.forwardEvent(new hd(t)),ur(!0)},t.prototype.fireChildActivationStart=function(t){return null!==t&&this.forwardEvent&&this.forwardEvent(new cd(t)),ur(!0)},t.prototype.runCanActivate=function(t){var e=this,n=t.routeConfig?t.routeConfig.canActivate:null;return n&&0!==n.length?Sd(er.call(ba(n),function(n){var r,i=e.getToken(n,t);return r=Td(i.canActivate?i.canActivate(t,e.future):i(t,e.future)),wr.call(r)})):ur(!0)},t.prototype.runCanActivateChild=function(t){var e=this,n=t[t.length-1],r=t.slice(0,t.length-1).reverse().map(function(t){return e.extractCanActivateChild(t)}).filter(function(t){return null!==t});return Sd(er.call(ba(r),function(t){return Sd(er.call(ba(t.guards),function(r){var i,o=e.getToken(r,t.node);return i=Td(o.canActivateChild?o.canActivateChild(n,e.future):o(n,e.future)),wr.call(i)}))}))},t.prototype.extractCanActivateChild=function(t){var e=t.routeConfig?t.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null},t.prototype.runCanDeactivate=function(t,e){var n=this,r=e&&e.routeConfig?e.routeConfig.canDeactivate:null;if(!r||0===r.length)return ur(!0);var i=kr.call(ba(r),function(r){var i,o=n.getToken(r,e);return i=Td(o.canDeactivate?o.canDeactivate(t,e,n.curr,n.future):o(t,e,n.curr,n.future)),wr.call(i)});return Hc.call(i,function(t){return!0===t})},t.prototype.runResolve=function(t,e){return er.call(this.resolveNode(t._resolve,t),function(n){return t._resolvedData=n,t.data=Object(o.a)({},t.data,fh(t,e).resolve),null})},t.prototype.resolveNode=function(t,e){var n=this,r=Object.keys(t);if(0===r.length)return ur({});if(1===r.length){var i=r[0];return er.call(this.getResolver(t[i],e),function(t){return(e={})[i]=t,e;var e})}var o={},a=kr.call(ba(r),function(r){return er.call(n.getResolver(t[r],e),function(t){return o[r]=t,t})});return er.call(Fc.call(a),function(){return o})},t.prototype.getResolver=function(t,e){var n=this.getToken(t,e);return Td(n.resolve?n.resolve(e,this.future):n(e,this.future))},t.prototype.getToken=function(t,e){var n=function(t){if(!t)return null;for(var e=t.parent;e;e=e.parent){var n=e.routeConfig;if(n&&n._loadedConfig)return n._loadedConfig}return null}(e);return(n?n.module.injector:this.moduleInjector).get(t)},t}(),Ah=function(){},Ih=function(){function t(t,e,n,r,i){this.rootComponentType=t,this.config=e,this.urlTree=n,this.url=r,this.paramsInheritanceStrategy=i}return t.prototype.recognize=function(){try{var t=Nh(this.urlTree.root,[],[],this.config).segmentGroup,e=this.processSegmentGroup(this.config,t,fd),n=new _h([],Object.freeze({}),Object.freeze(this.urlTree.queryParams),this.urlTree.fragment,{},fd,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new uh(n,e),i=new mh(this.url,r);return this.inheritParamsAndData(i._root),ur(i)}catch(t){return new a.a(function(e){return e.error(t)})}},t.prototype.inheritParamsAndData=function(t){var e=this,n=t.value,r=fh(n,this.paramsInheritanceStrategy);n.params=Object.freeze(r.params),n.data=Object.freeze(r.data),t.children.forEach(function(t){return e.inheritParamsAndData(t)})},t.prototype.processSegmentGroup=function(t,e,n){return 0===e.segments.length&&e.hasChildren()?this.processChildren(t,e):this.processSegment(t,e,e.segments,n)},t.prototype.processChildren=function(t,e){var n,r=this,i=jd(e,function(e,n){return r.processSegmentGroup(t,e,n)});return n={},i.forEach(function(t){var e=n[t.value.outlet];if(e){var r=e.url.map(function(t){return t.toString()}).join("/"),i=t.value.url.map(function(t){return t.toString()}).join("/");throw new Error("Two segments cannot have the same outlet name: '"+r+"' and '"+i+"'.")}n[t.value.outlet]=t.value}),i.sort(function(t,e){return t.value.outlet===fd?-1:e.value.outlet===fd?1:t.value.outlet.localeCompare(e.value.outlet)}),i},t.prototype.processSegment=function(t,e,n,r){for(var i=0,o=t;i0?Ld(n).parameters:{};i=new _h(n,l,Object.freeze(this.urlTree.queryParams),this.urlTree.fragment,zh(t),r,t.component,t,Hh(e),Rh(e)+n.length,Wh(t))}else{var u=function(t,e,n){if(""===e.path){if("full"===e.pathMatch&&(t.hasChildren()||n.length>0))throw new Ah;return{consumedSegments:[],lastChild:0,parameters:{}}}var r=(e.matcher||gd)(n,t,e);if(!r)throw new Ah;var i={};Cd(r.posParams,function(t,e){i[e]=t.path});var a=r.consumed.length>0?Object(o.a)({},i,r.consumed[r.consumed.length-1].parameters):i;return{consumedSegments:r.consumed,lastChild:r.consumed.length,parameters:a}}(e,t,n);a=u.consumedSegments,s=n.slice(u.lastChild),i=new _h(a,u.parameters,Object.freeze(this.urlTree.queryParams),this.urlTree.fragment,zh(t),r,t.component,t,Hh(e),Rh(e)+a.length,Wh(t))}var c=function(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}(t),d=Nh(e,a,s,c),h=d.segmentGroup,p=d.slicedSegments;if(0===p.length&&h.hasChildren()){var f=this.processChildren(c,h);return[new uh(i,f)]}if(0===c.length&&0===p.length)return[new uh(i,[])];var _=this.processSegment(c,h,p,fd);return[new uh(i,_)]},t}();function Hh(t){for(var e=t;e._sourceSegment;)e=e._sourceSegment;return e}function Rh(t){for(var e=t,n=e._segmentIndexShift?e._segmentIndexShift:0;e._sourceSegment;)n+=(e=e._sourceSegment)._segmentIndexShift?e._segmentIndexShift:0;return n-1}function Nh(t,e,n,r){if(n.length>0&&function(t,e,n){return r.some(function(n){return Fh(t,e,n)&&Vh(n)!==fd})}(t,n)){var i=new Yd(e,function(t,e,n,r){var i={};i[fd]=r,r._sourceSegment=t,r._segmentIndexShift=e.length;for(var o=0,a=n;o0)||"full"!==n.pathMatch)&&""===n.path&&void 0===n.redirectTo}function Vh(t){return t.outlet||fd}function zh(t){return t.data||{}}function Wh(t){return t.resolve||{}}var Bh=function(){},Uh=function(){function t(){}return t.prototype.shouldDetach=function(t){return!1},t.prototype.store=function(t,e){},t.prototype.shouldAttach=function(t){return!1},t.prototype.retrieve=function(t){return null},t.prototype.shouldReuseRoute=function(t,e){return t.routeConfig===e.routeConfig},t}(),qh=new r.p("ROUTES"),Jh=function(){function t(t,e,n,r){this.loader=t,this.compiler=e,this.onLoadStartListener=n,this.onLoadEndListener=r}return t.prototype.load=function(t,e){var n=this;this.onLoadStartListener&&this.onLoadStartListener(e);var r=this.loadModuleFactory(e.loadChildren);return er.call(r,function(r){n.onLoadEndListener&&n.onLoadEndListener(e);var i=r.create(t);return new yd(xd(i.injector.get(qh)).map(Md),i)})},t.prototype.loadModuleFactory=function(t){var e=this;return"string"==typeof t?Ba(this.loader.load(t)):kr.call(Td(t()),function(t){return t instanceof r.u?ur(t):Ba(e.compiler.compileModuleAsync(t))})},t}(),Gh=function(){},Kh=function(){function t(){}return t.prototype.shouldProcessUrl=function(t){return!0},t.prototype.extract=function(t){return t},t.prototype.merge=function(t,e){return t},t}();function Xh(t){throw t}function Zh(t){return ur(null)}var Qh=function(){function t(t,e,n,i,o,a,s,l){var u=this;this.rootComponentType=t,this.urlSerializer=e,this.rootContexts=n,this.location=i,this.config=l,this.navigations=new kc(null),this.navigationId=0,this.events=new Fr.a,this.errorHandler=Xh,this.navigated=!1,this.hooks={beforePreactivation:Zh,afterPreactivation:Zh},this.urlHandlingStrategy=new Kh,this.routeReuseStrategy=new Uh,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.ngModule=o.get(r.w),this.resetConfig(l),this.currentUrlTree=new Od(new Yd([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.configLoader=new Jh(a,s,function(t){return u.triggerEvent(new ld(t))},function(t){return u.triggerEvent(new ud(t))}),this.routerState=hh(this.currentUrlTree,this.rootComponentType),this.processNavigations()}return t.prototype.resetRootComponentType=function(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType},t.prototype.initialNavigation=function(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})},t.prototype.setUpLocationChangeListener=function(){var t=this;this.locationSubscription||(this.locationSubscription=this.location.subscribe(function(e){var n=t.urlSerializer.parse(e.url),r="popstate"===e.type?"popstate":"hashchange";setTimeout(function(){t.scheduleNavigation(n,r,{replaceUrl:!0})},0)}))},Object.defineProperty(t.prototype,"url",{get:function(){return this.serializeUrl(this.currentUrlTree)},enumerable:!0,configurable:!0}),t.prototype.triggerEvent=function(t){this.events.next(t)},t.prototype.resetConfig=function(t){vd(t),this.config=t.map(Md),this.navigated=!1},t.prototype.ngOnDestroy=function(){this.dispose()},t.prototype.dispose=function(){this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=null)},t.prototype.createUrlTree=function(t,e){void 0===e&&(e={});var n=e.relativeTo,i=e.queryParams,a=e.fragment,s=e.preserveQueryParams,l=e.queryParamsHandling,u=e.preserveFragment;Object(r.U)()&&s&&console&&console.warn&&console.warn("preserveQueryParams is deprecated, use queryParamsHandling instead.");var c=n||this.routerState.root,d=u?this.currentUrlTree.fragment:a,h=null;if(l)switch(l){case"merge":h=Object(o.a)({},this.currentUrlTree.queryParams,i);break;case"preserve":h=this.currentUrlTree.queryParams;break;default:h=i||null}else h=s?this.currentUrlTree.queryParams:i||null;return null!==h&&(h=this.removeEmptyProps(h)),function(t,e,n,r,i){if(0===n.length)return Mh(e.root,e.root,e,r,i);var o=function(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new kh(!0,0,t);var e=0,n=!1,r=t.reduce(function(t,r,i){if("object"==typeof r&&null!=r){if(r.outlets){var o={};return Cd(r.outlets,function(t,e){o[e]="string"==typeof t?t.split("/"):t}),t.concat([{outlets:o}])}if(r.segmentPath)return t.concat([r.segmentPath])}return"string"!=typeof r?t.concat([r]):0===i?(r.split("/").forEach(function(r,i){0==i&&"."===r||(0==i&&""===r?n=!0:".."===r?e++:""!=r&&t.push(r))}),t):t.concat([r])},[]);return new kh(n,e,r)}(n);if(o.toRoot())return Mh(e.root,new Yd([],{}),e,r,i);var a=function(t,n,r){if(t.isAbsolute)return new xh(e.root,!0,0);if(-1===r.snapshot._lastPathIndex)return new xh(r.snapshot._urlSegment,!0,0);var i=wh(t.commands[0])?0:1;return function(e,n,o){for(var a=r.snapshot._urlSegment,s=r.snapshot._lastPathIndex+i,l=t.numberOfDoubleDots;l>s;){if(l-=s,!(a=a.parent))throw new Error("Invalid number of '../'");s=a.segments.length}return new xh(a,!1,s-l)}()}(o,0,t),s=a.processChildren?Sh(a.segmentGroup,a.index,o.commands):Ch(a.segmentGroup,a.index,o.commands);return Mh(a.segmentGroup,s,e,r,i)}(c,this.currentUrlTree,t,h,d)},t.prototype.navigateByUrl=function(t,e){void 0===e&&(e={skipLocationChange:!1});var n=t instanceof Od?t:this.parseUrl(t),r=this.urlHandlingStrategy.merge(n,this.rawUrlTree);return this.scheduleNavigation(r,"imperative",e)},t.prototype.navigate=function(t,e){return void 0===e&&(e={skipLocationChange:!1}),function(t){for(var e=0;e0&&1===this.error&&(this.error=null)},t}(),Jp=function(){function t(t){this.appService=t}return t.prototype.ngOnInit=function(){this.appService.testBackend()},t}(),Gp=r._3({encapsulation:2,styles:[".mat-dialog-container{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);display:block;padding:24px;border-radius:2px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%}@media screen and (-ms-high-contrast:active){.mat-dialog-container{outline:solid 1px}}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:12px 0;display:flex;flex-wrap:wrap;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button+.mat-button,.mat-dialog-actions .mat-button+.mat-raised-button,.mat-dialog-actions .mat-raised-button+.mat-button,.mat-dialog-actions .mat-raised-button+.mat-raised-button{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button+.mat-button,[dir=rtl] .mat-dialog-actions .mat-button+.mat-raised-button,[dir=rtl] .mat-dialog-actions .mat-raised-button+.mat-button,[dir=rtl] .mat-dialog-actions .mat-raised-button+.mat-raised-button{margin-left:0;margin-right:8px}"],data:{animation:[{type:7,name:"slideDialog",definitions:[{type:0,name:"enter",styles:{type:6,styles:{transform:"none",opacity:1},offset:null},options:void 0},{type:0,name:"void",styles:{type:6,styles:{transform:"translate3d(0, 25%, 0) scale(0.9)",opacity:0},offset:null},options:void 0},{type:0,name:"exit",styles:{type:6,styles:{transform:"translate3d(0, 25%, 0)",opacity:0},offset:null},options:void 0},{type:1,expr:"* => *",animation:{type:4,styles:null,timings:"400ms cubic-bezier(0.25, 0.8, 0.25, 1)"},options:null}],options:{}}]}});function Kp(t){return r._29(0,[(t()(),r._0(0,null,null,0))],null,null)}function Xp(t){return r._29(0,[r._25(402653184,1,{_portalOutlet:0}),(t()(),r._0(16777216,null,null,1,null,Kp)),r._4(2,212992,[[1,4]],0,xi,[r.j,r.N],{portal:[0,"portal"]},null)],function(t,e){t(e,2,0,"")},null)}var Zp=r._1("mat-dialog-container",ja,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"mat-dialog-container",[["class","mat-dialog-container"],["tabindex","-1"]],[[1,"id",0],[1,"role",0],[1,"aria-labelledby",0],[1,"aria-label",0],[1,"aria-describedby",0],[40,"@slideDialog",0]],[["component","@slideDialog.start"],["component","@slideDialog.done"]],function(t,e,n){var i=!0;return"component:@slideDialog.start"===e&&(i=!1!==r._17(t,1)._onAnimationStart(n)&&i),"component:@slideDialog.done"===e&&(i=!1!==r._17(t,1)._onAnimationDone(n)&&i),i},Xp,Gp)),r._4(1,49152,null,0,ja,[r.k,go,r.h,[2,Ot]],null,null)],null,function(t,e){t(e,0,0,r._17(e,1)._id,null==r._17(e,1)._config?null:r._17(e,1)._config.role,null!=r._17(e,1)._config&&r._17(e,1)._config.ariaLabel?null:r._17(e,1)._ariaLabelledBy,null==r._17(e,1)._config?null:r._17(e,1)._config.ariaLabel,(null==r._17(e,1)._config?null:r._17(e,1)._config.ariaDescribedBy)||null,r._17(e,1)._state)})},{},{},[]),Qp=r._3({encapsulation:2,styles:[".mat-snack-bar-container{border-radius:2px;box-sizing:border-box;display:block;margin:24px;max-width:568px;min-width:288px;padding:14px 24px;transform:translateY(100%) translateY(24px)}.mat-snack-bar-container.mat-snack-bar-center{margin:0;transform:translateY(100%)}.mat-snack-bar-container.mat-snack-bar-top{transform:translateY(-100%) translateY(-24px)}.mat-snack-bar-container.mat-snack-bar-top.mat-snack-bar-center{transform:translateY(-100%)}@media screen and (-ms-high-contrast:active){.mat-snack-bar-container{border:solid 1px}}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:0;max-width:inherit;width:100%}"],data:{animation:[{type:7,name:"state",definitions:[{type:0,name:"visible-top, visible-bottom",styles:{type:6,styles:{transform:"translateY(0%)"},offset:null},options:void 0},{type:1,expr:"visible-top => hidden-top, visible-bottom => hidden-bottom",animation:{type:4,styles:null,timings:"195ms cubic-bezier(0.4,0.0,1,1)"},options:null},{type:1,expr:"void => visible-top, void => visible-bottom",animation:{type:4,styles:null,timings:"225ms cubic-bezier(0.0,0.0,0.2,1)"},options:null}],options:{}}]}});function $p(t){return r._29(0,[(t()(),r._0(0,null,null,0))],null,null)}function tf(t){return r._29(2,[r._25(402653184,1,{_portalOutlet:0}),(t()(),r._0(16777216,null,null,1,null,$p)),r._4(2,212992,[[1,4]],0,xi,[r.j,r.N],{portal:[0,"portal"]},null)],function(t,e){t(e,2,0,"")},null)}var ef=r._1("snack-bar-container",vc,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"snack-bar-container",[["class","mat-snack-bar-container"],["role","alert"]],[[40,"@state",0]],[["component","@state.done"]],function(t,e,n){var i=!0;return"component:@state.done"===e&&(i=!1!==r._17(t,1).onAnimationEnd(n)&&i),i},tf,Qp)),r._4(1,180224,null,0,vc,[r.y,r.k,r.h],null,null)],null,function(t,e){t(e,0,0,r._17(e,1)._animationState)})},{},{},[]),nf=r._3({encapsulation:2,styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;line-height:20px;opacity:1}.mat-simple-snackbar-action{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;background:0 0;flex-shrink:0;margin-left:48px}[dir=rtl] .mat-simple-snackbar-action{margin-right:48px;margin-left:0}"],data:{animation:[{type:7,name:"contentFade",definitions:[{type:1,expr:":enter",animation:[{type:6,styles:{opacity:"0"},offset:null},{type:4,styles:null,timings:"375ms cubic-bezier(0.4,0.0,0.2,1)"}],options:null}],options:{}}]}});function rf(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"button",[["class","mat-simple-snackbar-action"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.action()&&r),r},null,null)),(t()(),r._27(1,null,["",""]))],null,function(t,e){t(e,1,0,e.component.data.action)})}function of(t){return r._29(2,[(t()(),r._27(0,null,[""," "])),(t()(),r._0(16777216,null,null,1,null,rf)),r._4(2,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null)],function(t,e){t(e,2,0,e.component.hasAction)},function(t,e){t(e,0,0,e.component.data.message)})}var af=r._1("simple-snack-bar",yc,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"simple-snack-bar",[["class","mat-simple-snackbar"]],[[40,"@contentFade",0]],null,null,of,nf)),r._4(1,49152,null,0,yc,[_c,mc],null,null)],null,function(t,e){t(e,0,0,void 0)})},{},{},[]),sf=r._3({encapsulation:2,styles:[".mat-tooltip-panel{pointer-events:none!important}.mat-tooltip{color:#fff;border-radius:2px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px}@media screen and (-ms-high-contrast:active){.mat-tooltip{outline:solid 1px}}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}"],data:{animation:[{type:7,name:"state",definitions:[{type:0,name:"initial, void, hidden",styles:{type:6,styles:{transform:"scale(0)"},offset:null},options:void 0},{type:0,name:"visible",styles:{type:6,styles:{transform:"scale(1)"},offset:null},options:void 0},{type:1,expr:"* => visible",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.0, 0.0, 0.2, 1)"},options:null},{type:1,expr:"* => hidden",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.4, 0.0, 1, 1)"},options:null}],options:{}}]}});function lf(t){return r._29(2,[(t()(),r._5(0,0,null,null,3,"div",[["class","mat-tooltip"]],[[2,"mat-tooltip-handset",null],[4,"transform-origin",null],[24,"@state",0]],[[null,"@state.start"],[null,"@state.done"]],function(t,e,n){var r=!0,i=t.component;return"@state.start"===e&&(r=!1!==i._animationStart()&&r),"@state.done"===e&&(r=!1!==i._animationDone(n)&&r),r},null,null)),r._4(1,278528,null,0,A,[r.r,r.s,r.k,r.C],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._20(131072,Lt,[r.h]),(t()(),r._27(3,null,["",""]))],function(t,e){t(e,1,0,"mat-tooltip",e.component.tooltipClass)},function(t,e){var n=e.component;t(e,0,0,r._28(e,0,0,r._17(e,2).transform(n._isHandset)).matches,n._transformOrigin,n._visibility),t(e,3,0,n.message)})}var uf=r._1("mat-tooltip-component",ac,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"mat-tooltip-component",[["aria-hidden","true"]],[[4,"zoom",null]],[["body","click"]],function(t,e,n){var i=!0;return"body:click"===e&&(i=!1!==r._17(t,1)._handleBodyInteraction()&&i),i},lf,sf)),r._4(1,49152,null,0,ac,[r.h,Zu],null,null)],null,function(t,e){t(e,0,0,"visible"===r._17(e,1)._visibility?1:null)})},{},{},[]),cf=function(){function t(t,e,n,r){this.data=t,this.dialogRef=e,this.formBuilder=n,this.walletService=r}return t.prototype.ngOnInit=function(){this.initForm()},t.prototype.closePopup=function(){this.dialogRef.close()},t.prototype.rename=function(){var t=this;this.form.valid&&!this.button.isLoading()&&(this.button.setLoading(),this.walletService.renameWallet(this.data,this.form.value.label).subscribe(function(){return t.dialogRef.close(t.form.value.label)}))},t.prototype.initForm=function(){this.form=this.formBuilder.group({label:[this.data.label,Xa.required]})},t}(),df=function(){function t(t,e,n){this.dialog=t,this.walletService=e,this.snackbar=n}return t.prototype.ngOnDestroy=function(){this.snackbar.dismiss()},t.prototype.editWallet=function(){var t=new Pa;t.width="566px",t.data=this.wallet,this.dialog.open(cf,t)},t.prototype.newAddress=function(){var t=this;this.snackbar.dismiss(),this.wallet.encrypted?this.dialog.open(Oc).componentInstance.passwordSubmit.subscribe(function(e){t.walletService.addAddress(t.wallet,e.password).subscribe(function(){return e.close()},function(){return e.error()})}):this.walletService.addAddress(this.wallet).subscribe(null,function(e){var n=new gc;n.duration=3e5,t.snackbar.open(el(e._body),null,n)})},t.prototype.toggleEmpty=function(){this.wallet.hideEmpty=!this.wallet.hideEmpty},t.prototype.toggleEncryption=function(){var t=this,e=new Pa;e.data={confirm:!this.wallet.encrypted,title:this.wallet.encrypted?"Decrypt Wallet":"Encrypt Wallet"},this.wallet.encrypted||(e.data.description="We suggest that you encrypt each one of your wallets with a password. If you forget your password, you can reset it with your seed. Make sure you have your seed saved somewhere safe before encrypting your wallet."),this.dialog.open(Oc,e).componentInstance.passwordSubmit.subscribe(function(e){t.walletService.toggleEncryption(t.wallet,e.password).subscribe(function(){e.close()},function(t){return e.error(t)})})},t.prototype.copyAddress=function(t){var e=document.createElement("textarea");e.style.position="fixed",e.style.left="0",e.style.top="0",e.style.opacity="0",e.value=t.address,document.body.appendChild(e),e.focus(),e.select(),document.execCommand("copy"),document.body.removeChild(e),t.copying=!0,setTimeout(function(){t.copying=!1},500)},t.prototype.showQrCode=function(t,e){t.stopPropagation();var n=new Pa;n.data={address:e},this.dialog.open(Np,n).afterClosed().subscribe()},t}(),hf=r._3({encapsulation:0,styles:[[".-record[_ngcontent-%COMP%]{background-color:#fafafa;border-bottom:1px solid #eff0f0;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:13px;line-height:60px;min-height:60px;padding:0 50px 0 20px}.-record[_ngcontent-%COMP%] .id-column[_ngcontent-%COMP%]{width:50px;color:rgba(30,34,39,.6)}.-record[_ngcontent-%COMP%] .address-column[_ngcontent-%COMP%]{color:rgba(30,34,39,.6);-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.-record[_ngcontent-%COMP%] .address-column[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{display:inline-block;height:17px;vertical-align:middle;width:17px}.-record[_ngcontent-%COMP%] .address-column[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{display:inline-block;line-height:60px;margin:0;vertical-align:middle}.-record[_ngcontent-%COMP%] .address-column[_ngcontent-%COMP%]:hover .copy-label[_ngcontent-%COMP%]{display:inline-block}.-record[_ngcontent-%COMP%] .hours-column[_ngcontent-%COMP%]{color:rgba(30,34,39,.5);width:150px}.-record[_ngcontent-%COMP%] .coins-column[_ngcontent-%COMP%]{color:#000;width:150px}.-record[_ngcontent-%COMP%] .coins-column[_ngcontent-%COMP%]:hover .outputs-label[_ngcontent-%COMP%]{display:inline-block}.-record[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{display:inline-block;margin:14px 14px 14px 0;height:32px;width:32px}.-actions[_ngcontent-%COMP%]{border-bottom:1px solid #eff0f0;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%]{cursor:pointer;padding:0 20px}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{display:inline-block;float:left;height:60px;padding:14px 0;width:32px}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#cecfd0;display:inline-block;font-size:12px;height:60px;line-height:60px;margin:0 5px}@keyframes floatup{20%{opacity:.999}100%{-webkit-transform:translate3d(-50%,-17px,0);transform:translate3d(-50%,-17px,0)}}@-webkit-keyframes floatup{20%{opacity:.999}100%{-webkit-transform:translate3d(-50%,-17px,0);transform:translate3d(-50%,-17px,0)}}.click-to-copy[_ngcontent-%COMP%]{cursor:pointer}.copy-label[_ngcontent-%COMP%]{color:#0072ff;display:none;font-size:12px;line-height:100%;position:relative;opacity:.999;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out;top:-1px;padding-left:10px}.copy-label.hidden[_ngcontent-%COMP%]{opacity:.001}.copy-label[_ngcontent-%COMP%]::after{content:attr(data-label);color:#0072ff;display:inline-block;position:absolute;top:-2px;left:50%;opacity:.001;text-align:center;-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0);-webkit-backface-visibility:hidden;white-space:nowrap;padding-left:11px}.copying[_ngcontent-%COMP%] .copy-label[_ngcontent-%COMP%]::after{-webkit-animation:.5s ease-in-out floatup;animation:.5s ease-in-out floatup}.outputs-label[_ngcontent-%COMP%]{color:#0072ff;display:none;font-size:12px;padding-left:10px}"]],data:{}});function pf(t){return r._29(0,[(t()(),r._5(0,0,null,null,30,"div",[["class","-record"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,1,"div",[["class","id-column"]],null,null,null,null,null)),(t()(),r._27(3,null,["",""])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(5,0,null,null,11,"div",[["class","address-column"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.copyAddress(t.parent.context.$implicit)&&r),r},null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(7,0,null,null,0,"img",[["src","../../../../../assets/img/qr-code-black.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.showQrCode(n,t.parent.context.$implicit.address)&&r),r},null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(9,0,null,null,6,"p",[["class","click-to-copy"]],null,null,null,null,null)),r._4(10,278528,null,0,A,[r.r,r.s,r.k,r.C],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._21(11,{copying:0}),(t()(),r._27(12,null,["\n "," "])),(t()(),r._5(13,0,null,null,1,"span",[["class","copy-label"],["data-label","Copied"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Copy"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(18,0,null,null,2,"div",[["class","hours-column"]],null,null,null,null,null)),(t()(),r._27(19,null,["",""])),r._22(20,2),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(22,0,null,null,7,"div",[["class","coins-column"]],null,null,null,null,null)),(t()(),r._27(23,null,["\n ","\n "])),r._22(24,2),(t()(),r._5(25,0,null,null,3,"span",[["class","outputs-label"],["routerLink","/settings/outputs"]],null,[[null,"click"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._17(t,26).onClick()&&i),i},null,null)),r._4(26,16384,null,0,ep,[Qh,ph,[8,null],r.C,r.k],{queryParams:[0,"queryParams"],routerLink:[1,"routerLink"]},null),r._21(27,{addr:0}),(t()(),r._27(-1,null,["Outputs"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "]))],function(t,e){t(e,10,0,"click-to-copy",t(e,11,0,e.parent.context.$implicit.copying)),t(e,26,0,t(e,27,0,e.parent.context.$implicit.address),"/settings/outputs")},function(t,e){t(e,3,0,e.parent.context.index+1),t(e,12,0,e.parent.context.$implicit.address),t(e,19,0,r._28(e,19,0,t(e,20,0,r._17(e.parent.parent,0),e.parent.context.$implicit.hours?e.parent.context.$implicit.hours:0,"1.0-6"))),t(e,23,0,r._28(e,23,0,t(e,24,0,r._17(e.parent.parent,0),e.parent.context.$implicit.coins?e.parent.context.$implicit.coins:0,"1.0-6")))})}function ff(t){return r._29(0,[(t()(),r._5(0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,pf)),r._4(3,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n"]))],function(t,e){t(e,3,0,!e.component.wallet.hideEmpty||e.context.$implicit.coins)},null)}function _f(t){return r._29(0,[(t()(),r._5(0,0,null,null,6,null,null,null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,0,"img",[["src","../../../../../assets/img/minus-grey.png"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(4,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Hide Empty"])),(t()(),r._27(-1,null,["\n "]))],null,null)}function mf(t){return r._29(0,[(t()(),r._5(0,0,null,null,6,null,null,null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,0,"img",[["src","../../../../../assets/img/plus-grey.png"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(4,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Show Empty"])),(t()(),r._27(-1,null,["\n "]))],null,null)}function gf(t){return r._29(0,[r._20(0,Ct,[r.t]),(t()(),r._0(16777216,null,null,1,null,ff)),r._4(2,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),(t()(),r._27(-1,null,["\n"])),(t()(),r._5(4,0,null,null,36,"div",[["class","-actions"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(6,0,null,null,6,"div",[["class","-button"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.newAddress()&&r),r},null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(8,0,null,null,0,"img",[["src","../../../../../assets/img/plus-grey.png"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(10,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(-1,null,["New Address"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(14,0,null,null,7,"div",[["class","-button"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.toggleEmpty()&&r),r},null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,_f)),r._4(17,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,mf)),r._4(20,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(23,0,null,null,0,"div",[["class","flex-fill"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(25,0,null,null,6,"div",[["class","-button"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.toggleEncryption()&&r),r},null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(27,0,null,null,0,"img",[["src","../../../../../assets/img/unlock-grey.png"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(29,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(30,null,[""," Wallet"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(33,0,null,null,6,"div",[["class","-button"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.editWallet()&&r),r},null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(35,0,null,null,0,"img",[["src","../../../../../assets/img/edit-grey.png"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(37,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Edit Wallet"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,2,0,n.wallet?n.wallet.addresses:r.Z),t(e,17,0,!n.wallet.hideEmpty),t(e,20,0,n.wallet.hideEmpty)},function(t,e){t(e,30,0,e.component.wallet.encrypted?"Decrypt":"Encrypt")})}var yf=r._3({encapsulation:2,styles:[".mat-progress-bar{display:block;height:5px;overflow:hidden;position:relative;transition:opacity 250ms linear;width:100%}.mat-progress-bar .mat-progress-bar-element,.mat-progress-bar .mat-progress-bar-fill::after{height:100%;position:absolute;width:100%}.mat-progress-bar .mat-progress-bar-background{width:calc(100% + 10px)}.mat-progress-bar .mat-progress-bar-buffer{transform-origin:top left;transition:transform 250ms ease}.mat-progress-bar .mat-progress-bar-secondary{display:none}.mat-progress-bar .mat-progress-bar-fill{animation:none;transform-origin:top left;transition:transform 250ms ease}.mat-progress-bar .mat-progress-bar-fill::after{animation:none;content:'';display:inline-block;left:0}.mat-progress-bar[dir=rtl],[dir=rtl] .mat-progress-bar{transform:rotateY(180deg)}.mat-progress-bar[mode=query]{transform:rotateZ(180deg)}.mat-progress-bar[mode=query][dir=rtl],[dir=rtl] .mat-progress-bar[mode=query]{transform:rotateZ(180deg) rotateY(180deg)}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-fill,.mat-progress-bar[mode=query] .mat-progress-bar-fill{transition:none}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary,.mat-progress-bar[mode=query] .mat-progress-bar-primary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-translate 2s infinite linear;left:-145.166611%}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-primary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-scale 2s infinite linear}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary,.mat-progress-bar[mode=query] .mat-progress-bar-secondary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-translate 2s infinite linear;left:-54.888891%;display:block}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-secondary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-scale 2s infinite linear}.mat-progress-bar[mode=buffer] .mat-progress-bar-background{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-background-scroll 250ms infinite linear}@keyframes mat-progress-bar-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(.5,0,.70173,.49582);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635);transform:translateX(83.67142%)}100%{transform:translateX(200.61106%)}}@keyframes mat-progress-bar-primary-indeterminate-scale{0%{transform:scaleX(.08)}36.65%{animation-timing-function:cubic-bezier(.33473,.12482,.78584,1);transform:scaleX(.08)}69.15%{animation-timing-function:cubic-bezier(.06,.11,.6,1);transform:scaleX(.66148)}100%{transform:scaleX(.08)}}@keyframes mat-progress-bar-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(.15,0,.51506,.40969);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(.31033,.28406,.8,.73371);transform:translateX(37.65191%)}48.35%{animation-timing-function:cubic-bezier(.4,.62704,.6,.90203);transform:translateX(84.38617%)}100%{transform:translateX(160.27778%)}}@keyframes mat-progress-bar-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(.15,0,.51506,.40969);transform:scaleX(.08)}19.15%{animation-timing-function:cubic-bezier(.31033,.28406,.8,.73371);transform:scaleX(.4571)}44.15%{animation-timing-function:cubic-bezier(.4,.62704,.6,.90203);transform:scaleX(.72796)}100%{transform:scaleX(.08)}}@keyframes mat-progress-bar-background-scroll{to{transform:translateX(-10px)}}"],data:{}});function vf(t){return r._29(2,[(t()(),r._5(0,0,null,null,4,":svg:svg",[["class","mat-progress-bar-background mat-progress-bar-element"],["focusable","false"],["height","5"],["width","100%"]],null,null,null,null,null)),(t()(),r._5(1,0,null,null,2,":svg:defs",[],null,null,null,null,null)),(t()(),r._5(2,0,null,null,1,":svg:pattern",[["height","5"],["patternUnits","userSpaceOnUse"],["width","10"],["x","5"],["y","0"]],[[8,"id",0]],null,null,null,null)),(t()(),r._5(3,0,null,null,0,":svg:circle",[["cx","2.5"],["cy","2.5"],["r","2.5"]],null,null,null,null,null)),(t()(),r._5(4,0,null,null,0,":svg:rect",[["height","100%"],["width","100%"]],[[1,"fill",0]],null,null,null,null)),(t()(),r._5(5,0,null,null,1,"div",[["class","mat-progress-bar-buffer mat-progress-bar-element"]],null,null,null,null,null)),r._4(6,278528,null,0,U,[r.s,r.k,r.C],{ngStyle:[0,"ngStyle"]},null),(t()(),r._5(7,0,null,null,1,"div",[["class","mat-progress-bar-primary mat-progress-bar-fill mat-progress-bar-element"]],null,null,null,null,null)),r._4(8,278528,null,0,U,[r.s,r.k,r.C],{ngStyle:[0,"ngStyle"]},null),(t()(),r._5(9,0,null,null,0,"div",[["class","mat-progress-bar-secondary mat-progress-bar-fill mat-progress-bar-element"]],null,null,null,null,null))],function(t,e){var n=e.component;t(e,6,0,n._bufferTransform()),t(e,8,0,n._primaryTransform())},function(t,e){var n=e.component;t(e,2,0,n.progressbarId),t(e,4,0,"url(#"+n.progressbarId+")")})}var bf=r._3({encapsulation:2,styles:[".mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}.mat-toolbar-multiple-rows{min-height:64px}.mat-toolbar-row,.mat-toolbar-single-row{height:64px}@media (max-width:599px){.mat-toolbar-multiple-rows{min-height:56px}.mat-toolbar-row,.mat-toolbar-single-row{height:56px}}"],data:{}});function wf(t){return r._29(2,[r._16(null,0),r._16(null,1)],null,null)}var Mf=r._3({encapsulation:2,styles:[".mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:2px;outline:0}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-menu-panel.mat-menu-after.mat-menu-below{transform-origin:left top}.mat-menu-panel.mat-menu-after.mat-menu-above{transform-origin:left bottom}.mat-menu-panel.mat-menu-before.mat-menu-below{transform-origin:right top}.mat-menu-panel.mat-menu-before.mat-menu-above{transform-origin:right bottom}[dir=rtl] .mat-menu-panel.mat-menu-after.mat-menu-below{transform-origin:right top}[dir=rtl] .mat-menu-panel.mat-menu-after.mat-menu-above{transform-origin:right bottom}[dir=rtl] .mat-menu-panel.mat-menu-before.mat-menu-below{transform-origin:left top}[dir=rtl] .mat-menu-panel.mat-menu-before.mat-menu-above{transform-origin:left bottom}.mat-menu-panel.ng-animating{pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-menu-panel{outline:solid 1px}}.mat-menu-content{padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;position:relative}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item-submenu-trigger{padding-right:32px}.mat-menu-item-submenu-trigger::after{width:0;height:0;border-style:solid;border-width:5px 0 5px 5px;border-color:transparent transparent transparent currentColor;content:'';display:inline-block;position:absolute;top:50%;right:16px;transform:translateY(-50%)}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}[dir=rtl] .mat-menu-item-submenu-trigger::after{right:auto;left:16px;transform:rotateY(180deg) translateY(-50%)}button.mat-menu-item{width:100%}.mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}"],data:{animation:[{type:7,name:"transformMenu",definitions:[{type:0,name:"void",styles:{type:6,styles:{opacity:0,transform:"scale(0.01, 0.01)"},offset:null},options:void 0},{type:0,name:"enter-start",styles:{type:6,styles:{opacity:1,transform:"scale(1, 0.5)"},offset:null},options:void 0},{type:0,name:"enter",styles:{type:6,styles:{transform:"scale(1, 1)"},offset:null},options:void 0},{type:1,expr:"void => enter-start",animation:{type:4,styles:null,timings:"100ms linear"},options:null},{type:1,expr:"enter-start => enter",animation:{type:4,styles:null,timings:"300ms cubic-bezier(0.25, 0.8, 0.25, 1)"},options:null},{type:1,expr:"* => void",animation:{type:4,styles:{type:6,styles:{opacity:0},offset:null},timings:"150ms 50ms linear"},options:null}],options:{}},{type:7,name:"fadeInItems",definitions:[{type:0,name:"showing",styles:{type:6,styles:{opacity:1},offset:null},options:void 0},{type:1,expr:"void => *",animation:[{type:6,styles:{opacity:0},offset:null},{type:4,styles:null,timings:"400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function kf(t){return r._29(0,[(t()(),r._5(0,0,null,null,3,"div",[["class","mat-menu-panel"],["role","menu"],["tabindex","-1"]],[[24,"@transformMenu",0]],[[null,"keydown"],[null,"click"],[null,"@transformMenu.done"]],function(t,e,n){var r=!0,i=t.component;return"keydown"===e&&(r=!1!==i._handleKeydown(n)&&r),"click"===e&&(r=!1!==i.closed.emit("click")&&r),"@transformMenu.done"===e&&(r=!1!==i._onAnimationDone(n)&&r),r},null,null)),r._4(1,278528,null,0,A,[r.r,r.s,r.k,r.C],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),r._5(2,0,null,null,1,"div",[["class","mat-menu-content"]],[[24,"@fadeInItems",0]],null,null,null,null)),r._16(null,0)],function(t,e){t(e,1,0,"mat-menu-panel",e.component._classList)},function(t,e){t(e,0,0,e.component._panelAnimationState),t(e,2,0,"showing")})}function xf(t){return r._29(2,[r._25(402653184,1,{templateRef:0}),(t()(),r._0(0,[[1,2]],null,0,null,kf))],null,null)}var Lf=r._3({encapsulation:2,styles:[],data:{}});function Cf(t){return r._29(2,[r._16(null,0),(t()(),r._5(1,0,null,null,1,"div",[["class","mat-menu-ripple mat-ripple"],["matRipple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),r._4(2,212992,null,0,Jo,[r.k,r.y,Qr,[2,qo]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,2,0,n.disableRipple||n.disabled,n._getHostElement())},function(t,e){t(e,1,0,r._17(e,2).unbounded)})}var Sf=r._3({encapsulation:2,styles:[".mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px}.mat-button[disabled],.mat-flat-button[disabled],.mat-icon-button[disabled],.mat-stroked-button[disabled]{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{transition:none;opacity:0}.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:1}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-raised-button[disabled]{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-raised-button[disabled]{box-shadow:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-flat-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab[disabled]{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-fab::-moz-focus-inner{border:0}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-fab[disabled]{box-shadow:none}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab[disabled]{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-mini-fab[disabled]{box-shadow:none}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{color:currentColor}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*{vertical-align:middle}.mat-button-focus-overlay,.mat-button-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-focus-overlay{background-color:rgba(0,0,0,.12);border-radius:inherit;opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}@media screen and (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:rgba(255,255,255,.5)}}.mat-button-ripple-round{border-radius:50%;z-index:1}@media screen and (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],data:{}});function Tf(t){return r._29(2,[r._25(402653184,1,{ripple:0}),(t()(),r._5(1,0,null,null,1,"span",[["class","mat-button-wrapper"]],null,null,null,null,null)),r._16(null,0),(t()(),r._5(3,0,null,null,1,"div",[["class","mat-button-ripple mat-ripple"],["matRipple",""]],[[2,"mat-button-ripple-round",null],[2,"mat-ripple-unbounded",null]],null,null,null,null)),r._4(4,212992,[[1,4]],0,Jo,[r.k,r.y,Qr,[2,qo]],{centered:[0,"centered"],disabled:[1,"disabled"],trigger:[2,"trigger"]},null),(t()(),r._5(5,0,null,null,0,"div",[["class","mat-button-focus-overlay"]],null,null,null,null,null))],function(t,e){var n=e.component;t(e,4,0,n._isIconButton,n._isRippleDisabled(),n._getHostElement())},function(t,e){var n=e.component;t(e,3,0,n._isRoundButton||n._isIconButton,r._17(e,4).unbounded)})}var Df=r._3({encapsulation:2,styles:[".mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px}.mat-button[disabled],.mat-flat-button[disabled],.mat-icon-button[disabled],.mat-stroked-button[disabled]{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{transition:none;opacity:0}.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:1}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-raised-button[disabled]{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-raised-button[disabled]{box-shadow:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-flat-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab[disabled]{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-fab::-moz-focus-inner{border:0}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-fab[disabled]{box-shadow:none}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab[disabled]{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-mini-fab[disabled]{box-shadow:none}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{color:currentColor}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*{vertical-align:middle}.mat-button-focus-overlay,.mat-button-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-focus-overlay{background-color:rgba(0,0,0,.12);border-radius:inherit;opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}@media screen and (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:rgba(255,255,255,.5)}}.mat-button-ripple-round{border-radius:50%;z-index:1}@media screen and (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],data:{}});function Of(t){return r._29(2,[r._25(402653184,1,{ripple:0}),(t()(),r._5(1,0,null,null,1,"span",[["class","mat-button-wrapper"]],null,null,null,null,null)),r._16(null,0),(t()(),r._5(3,0,null,null,1,"div",[["class","mat-button-ripple mat-ripple"],["matRipple",""]],[[2,"mat-button-ripple-round",null],[2,"mat-ripple-unbounded",null]],null,null,null,null)),r._4(4,212992,[[1,4]],0,Jo,[r.k,r.y,Qr,[2,qo]],{centered:[0,"centered"],disabled:[1,"disabled"],trigger:[2,"trigger"]},null),(t()(),r._5(5,0,null,null,0,"div",[["class","mat-button-focus-overlay"]],null,null,null,null,null))],function(t,e){var n=e.component;t(e,4,0,n._isIconButton,n._isRippleDisabled(),n._getHostElement())},function(t,e){var n=e.component;t(e,3,0,n._isRoundButton||n._isIconButton,r._17(e,4).unbounded)})}var Yf=r._3({encapsulation:2,styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}"],data:{}});function Pf(t){return r._29(2,[r._16(null,0)],null,null)}var Ef=function(t){this.appService=t},jf=r._3({encapsulation:0,styles:[["[_nghost-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;color:#9e6924;width:100%}.buttons-left[_ngcontent-%COMP%]{display:inline-block;padding:0 10px;width:120px}.title[_ngcontent-%COMP%]{font-size:13px;font-weight:700;display:inline;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;letter-spacing:1px;line-height:50px;text-align:center}.buttons-right[_ngcontent-%COMP%]{display:inline-block;text-align:right;width:120px}.buttons-right[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:inline-block}button[_ngcontent-%COMP%]{height:50px;width:50px}.color-primary[_ngcontent-%COMP%]{color:#0072ff}"]],data:{}});function Af(t){return r._29(0,[(t()(),r._5(0,0,null,null,2,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._17(t,1)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._17(t,1)._emitHoverEvent()&&i),i},Cf,Lf)),r._4(1,180224,[[1,4]],0,Pu,[r.k,Ot,Oo],{disabled:[0,"disabled"]},null),(t()(),r._27(2,0,[" v"," "]))],function(t,e){t(e,1,0,!0)},function(t,e){var n=e.component;t(e,0,0,r._17(e,1)._highlighted,r._17(e,1)._triggersSubmenu,r._17(e,1)._getTabIndex(),r._17(e,1).disabled.toString(),r._17(e,1).disabled||null),t(e,2,0,n.appService.version.version)})}function If(t){return r._29(0,[(t()(),r._5(0,0,null,null,0,"div",[["class","buttons-left"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n"])),(t()(),r._5(2,0,null,null,1,"div",[["class","title"]],null,null,null,null,null)),(t()(),r._27(3,null,["\n ","\n"])),(t()(),r._27(-1,null,["\n"])),(t()(),r._5(5,0,null,null,68,"div",[["class","buttons-right"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(7,0,null,null,31,"mat-menu",[],null,null,null,xf,Mf)),r._4(8,1228800,[["settingsMenu",4]],2,ju,[r.k,r.y,Eu],{overlapTrigger:[0,"overlapTrigger"]},null),r._25(603979776,1,{items:1}),r._25(335544320,2,{lazyContent:0}),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(12,0,null,0,4,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._17(t,13)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._17(t,13)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._17(t,14).onClick()&&i),i},Cf,Lf)),r._4(13,180224,[[1,4]],0,Pu,[r.k,Ot,Oo],null,null),r._4(14,16384,null,0,ep,[Qh,ph,[8,null],r.C,r.k],{routerLink:[0,"routerLink"]},null),r._19(15,1),(t()(),r._27(-1,0,[" Networking "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(18,0,null,0,4,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._17(t,19)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._17(t,19)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._17(t,20).onClick()&&i),i},Cf,Lf)),r._4(19,180224,[[1,4]],0,Pu,[r.k,Ot,Oo],null,null),r._4(20,16384,null,0,ep,[Qh,ph,[8,null],r.C,r.k],{routerLink:[0,"routerLink"]},null),r._19(21,1),(t()(),r._27(-1,0,[" Blockchain "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(24,0,null,0,4,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._17(t,25)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._17(t,25)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._17(t,26).onClick()&&i),i},Cf,Lf)),r._4(25,180224,[[1,4]],0,Pu,[r.k,Ot,Oo],null,null),r._4(26,16384,null,0,ep,[Qh,ph,[8,null],r.C,r.k],{routerLink:[0,"routerLink"]},null),r._19(27,1),(t()(),r._27(-1,0,[" Outputs "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(30,0,null,0,4,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._17(t,31)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._17(t,31)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._17(t,32).onClick()&&i),i},Cf,Lf)),r._4(31,180224,[[1,4]],0,Pu,[r.k,Ot,Oo],null,null),r._4(32,16384,null,0,ep,[Qh,ph,[8,null],r.C,r.k],{routerLink:[0,"routerLink"]},null),r._19(33,1),(t()(),r._27(-1,0,[" Pending Transactions "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._0(16777216,null,0,1,null,Af)),r._4(37,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._27(-1,null,["\n\n "])),(t()(),r._5(40,0,null,null,14,"mat-menu",[],null,null,null,xf,Mf)),r._4(41,1228800,[["menuMenu",4]],2,ju,[r.k,r.y,Eu],{overlapTrigger:[0,"overlapTrigger"]},null),r._25(603979776,3,{items:1}),r._25(335544320,4,{lazyContent:0}),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(45,0,null,0,4,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._17(t,46)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._17(t,46)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._17(t,47).onClick()&&i),i},Cf,Lf)),r._4(46,180224,[[3,4]],0,Pu,[r.k,Ot,Oo],null,null),r._4(47,16384,null,0,ep,[Qh,ph,[8,null],r.C,r.k],{routerLink:[0,"routerLink"]},null),r._19(48,1),(t()(),r._27(-1,0,[" Backup wallet "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(51,0,null,0,2,"a",[["class","color-primary mat-menu-item"],["href","http://172.104.173.74:8001"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._17(t,52)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._17(t,52)._emitHoverEvent()&&i),i},Cf,Lf)),r._4(52,180224,[[3,4]],0,Pu,[r.k,Ot,Oo],null,null),(t()(),r._27(-1,0,[" SolarBankersCoin Explorer "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._27(-1,null,["\n\n "])),(t()(),r._5(56,16777216,null,null,7,"button",[["aria-haspopup","true"],["mat-icon-button",""]],[[8,"disabled",0]],[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==r._17(t,58)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==r._17(t,58)._handleKeydown(n)&&i),"click"===e&&(i=!1!==r._17(t,58)._handleClick(n)&&i),i},Tf,Sf)),r._4(57,180224,null,0,ml,[r.k,Qr,Oo],null,null),r._4(58,1196032,null,0,Hu,[eo,r.k,r.N,Au,[2,ju],[8,null],[2,mi],Oo],{menu:[0,"menu"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(60,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Pf,Yf)),r._4(61,638976,null,0,Du,[r.k,Lu,[8,null]],null,null),(t()(),r._27(-1,0,["settings"])),(t()(),r._27(-1,0,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(65,16777216,null,null,7,"button",[["aria-haspopup","true"],["mat-icon-button",""]],[[8,"disabled",0]],[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==r._17(t,67)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==r._17(t,67)._handleKeydown(n)&&i),"click"===e&&(i=!1!==r._17(t,67)._handleClick(n)&&i),i},Tf,Sf)),r._4(66,180224,null,0,ml,[r.k,Qr,Oo],null,null),r._4(67,1196032,null,0,Hu,[eo,r.k,r.N,Au,[2,ju],[8,null],[2,mi],Oo],{menu:[0,"menu"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(69,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Pf,Yf)),r._4(70,638976,null,0,Du,[r.k,Lu,[8,null]],null,null),(t()(),r._27(-1,0,["menu"])),(t()(),r._27(-1,0,["\n "])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,8,0,!1),t(e,14,0,t(e,15,0,"/settings/network")),t(e,20,0,t(e,21,0,"/settings/blockchain")),t(e,26,0,t(e,27,0,"/settings/outputs")),t(e,32,0,t(e,33,0,"/settings/pending-transactions")),t(e,37,0,n.appService.version),t(e,41,0,!1),t(e,47,0,t(e,48,0,"/settings/backup")),t(e,58,0,r._17(e,8)),t(e,61,0),t(e,67,0,r._17(e,41)),t(e,70,0)},function(t,e){t(e,3,0,e.component.title),t(e,12,0,r._17(e,13)._highlighted,r._17(e,13)._triggersSubmenu,r._17(e,13)._getTabIndex(),r._17(e,13).disabled.toString(),r._17(e,13).disabled||null),t(e,18,0,r._17(e,19)._highlighted,r._17(e,19)._triggersSubmenu,r._17(e,19)._getTabIndex(),r._17(e,19).disabled.toString(),r._17(e,19).disabled||null),t(e,24,0,r._17(e,25)._highlighted,r._17(e,25)._triggersSubmenu,r._17(e,25)._getTabIndex(),r._17(e,25).disabled.toString(),r._17(e,25).disabled||null),t(e,30,0,r._17(e,31)._highlighted,r._17(e,31)._triggersSubmenu,r._17(e,31)._getTabIndex(),r._17(e,31).disabled.toString(),r._17(e,31).disabled||null),t(e,45,0,r._17(e,46)._highlighted,r._17(e,46)._triggersSubmenu,r._17(e,46)._getTabIndex(),r._17(e,46).disabled.toString(),r._17(e,46).disabled||null),t(e,51,0,r._17(e,52)._highlighted,r._17(e,52)._triggersSubmenu,r._17(e,52)._getTabIndex(),r._17(e,52).disabled.toString(),r._17(e,52).disabled||null),t(e,56,0,r._17(e,57).disabled||null),t(e,65,0,r._17(e,66).disabled||null)})}var Hf={otcEnabled:!1},Rf=function(){function t(){this.otcEnabled=Hf.otcEnabled}return t.prototype.ngOnInit=function(){},t}(),Nf=r._3({encapsulation:0,styles:[["[_nghost-%COMP%]{background-color:#fbfbfb;min-height:66px}.-buttons[_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.-buttons[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%]{cursor:pointer;padding:0 20px}.-buttons[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{display:inline-block;float:left;height:66px;padding:17px 0;width:32px}.-buttons[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:inline-block;font-size:14px;height:66px;line-height:66px;margin:0 5px}.-buttons[_ngcontent-%COMP%] .-low-opacity[_ngcontent-%COMP%]{opacity:.2}"]],data:{}});function Ff(t){return r._29(0,[(t()(),r._5(0,0,null,null,6,"div",[["class","-button"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,0,"img",[["src","../../../../../assets/img/money-gold.png"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(4,0,null,null,1,"span",[["class","secondary-color"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Buy Skycoin"])),(t()(),r._27(-1,null,["\n "]))],null,null)}function Vf(t){return r._29(0,[(t()(),r._5(0,0,null,null,45,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,42,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(4,0,null,null,10,"div",[["class","-button -low-opacity"],["routerLink","/wallets"],["routerLinkActive","no-opacity"]],null,[[null,"click"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._17(t,5).onClick()&&i),i},null,null)),r._4(5,16384,[[1,4]],0,ep,[Qh,ph,[8,null],r.C,r.k],{routerLink:[0,"routerLink"]},null),r._4(6,1720320,null,2,ip,[Qh,r.k,r.C,r.h],{routerLinkActive:[0,"routerLinkActive"]},null),r._25(603979776,1,{links:1}),r._25(603979776,2,{linksWithHrefs:1}),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(10,0,null,null,0,"img",[["src","../../../../../assets/img/wallet-black.png"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(12,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Wallets"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(16,0,null,null,10,"div",[["class","-button -low-opacity"],["routerLink","/send"],["routerLinkActive","no-opacity"]],null,[[null,"click"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._17(t,17).onClick()&&i),i},null,null)),r._4(17,16384,[[3,4]],0,ep,[Qh,ph,[8,null],r.C,r.k],{routerLink:[0,"routerLink"]},null),r._4(18,1720320,null,2,ip,[Qh,r.k,r.C,r.h],{routerLinkActive:[0,"routerLinkActive"]},null),r._25(603979776,3,{links:1}),r._25(603979776,4,{linksWithHrefs:1}),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(22,0,null,null,0,"img",[["src","../../../../../assets/img/send-black.png"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(24,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Send"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(28,0,null,null,10,"div",[["class","-button -low-opacity"],["routerLink","/transactions"],["routerLinkActive","no-opacity"]],null,[[null,"click"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._17(t,29).onClick()&&i),i},null,null)),r._4(29,16384,[[5,4]],0,ep,[Qh,ph,[8,null],r.C,r.k],{routerLink:[0,"routerLink"]},null),r._4(30,1720320,null,2,ip,[Qh,r.k,r.C,r.h],{routerLinkActive:[0,"routerLinkActive"]},null),r._25(603979776,5,{links:1}),r._25(603979776,6,{linksWithHrefs:1}),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(34,0,null,null,0,"img",[["src","../../../../../assets/img/transactions-black.png"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(36,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(-1,null,["History"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(40,0,null,null,0,"div",[["class","flex-fill"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,Ff)),r._4(43,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,5,0,"/wallets"),t(e,6,0,"no-opacity"),t(e,17,0,"/send"),t(e,18,0,"no-opacity"),t(e,29,0,"/transactions"),t(e,30,0,"no-opacity"),t(e,43,0,n.otcEnabled)},null)}var zf=function(){function t(t){this.total=t}return t.prototype.call=function(t,e){return e.subscribe(new Wf(t,this.total))},t}(),Wf=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return Object(o.b)(e,t),e.prototype._next=function(t){++this.count>this.total&&this.destination.next(t)},e}(Zn.a);a.a.prototype.skip=function(t){return function(t){return function(e){return e.lift(new zf(t))}}(t)(this)},a.a.prototype.take=function(t){return Ti(t)(this)};var Bf=function(){function t(t,e,n,r,i,o){this.appService=t,this.apiService=e,this.blockchainService=n,this.priceService=r,this.walletService=i,this.http=o,this.addresses=[],this.querying=!0}return Object.defineProperty(t.prototype,"loading",{get:function(){return!this.current||!this.highest||this.current!==this.highest},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"coins",{get:function(){return this.addresses.map(function(t){return t.coins>=0?t.coins:0}).reduce(function(t,e){return t+e},0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hours",{get:function(){return this.addresses.map(function(t){return t.hours>=0?t.hours:0}).reduce(function(t,e){return t+e},0)},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this;this.blockchainService.progress.filter(function(t){return!!t}).subscribe(function(e){t.querying=!1,t.highest=e.highest,t.current=e.current,t.percentage=t.current&&t.highest?t.current/t.highest:0}),this.setVersion(),this.priceSubscription=this.priceService.price.subscribe(function(e){return t.price=e}),this.walletSubscription=this.walletService.allAddresses().subscribe(function(e){t.addresses=e.reduce(function(t,e){return t.find(function(t){return t.address===e.address})||t.push(e),t},[])}),this.walletService.pendingTransactions().subscribe(function(e){t.hasPendingTxs=e.length>0})},t.prototype.ngOnDestroy=function(){this.priceSubscription.unsubscribe(),this.walletSubscription.unsubscribe()},t.prototype.setVersion=function(){var t=this;setTimeout(function(){t.apiService.getVersion().first().subscribe(function(e){t.version=e.version,t.retrieveReleaseVersion()})},1e3)},t.prototype.retrieveReleaseVersion=function(){var t=this;this.http.get("https://api.github.com/repos/skycoin/skycoin/tags").map(function(t){return t.json()}).catch(function(t){return a.a.throw(t||"Unable to fetch latest release version from github.")}).subscribe(function(e){t.releaseVersion=e.find(function(t){return-1===t.name.indexOf("rc")}).name.substr(1),t.updateAvailable=function(e,n){for(var r=t.releaseVersion.split("."),i=e.split("-"),o=i[0].split("."),a=0;a<3;a++){var s=Number(r[a]),l=Number(o[a]);if(s>l)return!0;if(s img[_ngcontent-%COMP%]{display:inline-block;margin:14px 14px 14px 0;height:32px;width:32px}.-wallet-detail[_ngcontent-%COMP%]{background-color:#fafafa}.action-buttons[_ngcontent-%COMP%]{margin-bottom:74px;padding:40px 0;text-align:center}.action-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background-color:#f7f7f7;border:none;-webkit-box-shadow:none;box-shadow:none;color:rgba(30,34,39,.5);font-size:13px;margin:0 5px;min-width:140px}.action-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:28px;margin-left:-4px;width:28px}span[_ngcontent-%COMP%]{display:inline-block;width:50%}"]],data:{}});function o_(t){return r._29(0,[(t()(),r._5(0,0,null,null,0,"img",[["src","../../../../assets/img/lock-gold.png"]],null,null,null,null,null))],null,null)}function a_(t){return r._29(0,[(t()(),r._5(0,0,null,null,0,"img",[["src","../../../../assets/img/unlock-grey.png"]],null,null,null,null,null))],null,null)}function s_(t){return r._29(0,[(t()(),r._5(0,0,null,null,4,"div",[["class","-wallet-detail"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,1,"app-wallet-detail",[],null,null,null,gf,hf)),r._4(3,180224,null,0,df,[Va,Xr,bc],{wallet:[0,"wallet"]},null),(t()(),r._27(-1,null,["\n "]))],function(t,e){t(e,3,0,e.parent.context.$implicit)},null)}function l_(t){return r._29(0,[(t()(),r._5(0,0,null,null,31,null,null,null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,25,"div",[["class","-wallet"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.toggleWallet(t.context.$implicit)&&r),r},null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(4,0,null,null,1,"div",[["class","-width-250 -label"]],null,null,null,null,null)),(t()(),r._27(5,null,["",""])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(7,0,null,null,7,"div",[["class","flex-fill -encryption"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,o_)),r._4(10,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,a_)),r._4(13,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(16,0,null,null,2,"div",[["class","-width-150 -hours"]],null,null,null,null,null)),(t()(),r._27(17,null,["",""])),r._22(18,2),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(20,0,null,null,2,"div",[["class","-width-150 -coins"]],null,null,null,null,null)),(t()(),r._27(21,null,["",""])),r._22(22,2),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(24,0,null,null,2,"img",[["src","../../../../assets/img/chevron-right-grey.png"]],null,null,null,null,null)),r._4(25,278528,null,0,A,[r.r,r.s,r.k,r.C],{ngClass:[0,"ngClass"]},null),r._21(26,{"rotate-270":0,"rotate-90":1}),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,s_)),r._4(30,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "]))],function(t,e){t(e,10,0,e.context.$implicit.encrypted),t(e,13,0,!e.context.$implicit.encrypted),t(e,25,0,t(e,26,0,e.context.$implicit.opened,!e.context.$implicit.opened)),t(e,30,0,e.context.$implicit.opened)},function(t,e){t(e,5,0,e.context.$implicit.label),t(e,17,0,r._28(e,17,0,t(e,18,0,r._17(e.parent,0),e.context.$implicit.hours?e.context.$implicit.hours:0,"1.0-6"))),t(e,21,0,r._28(e,21,0,t(e,22,0,r._17(e.parent,0),e.context.$implicit.coins?e.context.$implicit.coins:0,"1.0-6")))})}function u_(t){return r._29(0,[r._20(0,Ct,[r.t]),(t()(),r._5(1,0,null,null,44,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(3,0,null,null,1,"app-header",[["title","Wallets"]],null,null,null,r_,Uf)),r._4(4,245760,null,0,Bf,[qp,nr,Tp,Hp,Xr,Fn],{title:[0,"title"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(6,0,null,null,38,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(8,0,null,null,13,"div",[["class","-headers"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(10,0,null,null,1,"div",[["class","-width-250"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Wallet"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(13,0,null,null,1,"div",[["class","flex-fill"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Encryption"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(16,0,null,null,1,"div",[["class","-width-150"]],null,null,null,null,null)),(t()(),r._27(-1,null,["SLB Hours"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(19,0,null,null,1,"div",[["class","-width-150"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Balance"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(23,0,null,null,5,"div",[["class","-wallets"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,2,null,l_)),r._4(26,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),r._20(131072,Lt,[r.h]),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(30,0,null,null,13,"div",[["class","action-buttons"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(32,0,null,null,4,"button",[["mat-button",""]],[[8,"disabled",0]],[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.addWallet(!0)&&r),r},Tf,Sf)),r._4(33,180224,null,0,ml,[r.k,Qr,Oo],null,null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(35,0,null,0,0,"img",[["src","../../../../assets/img/plus-gold.png"]],null,null,null,null,null)),(t()(),r._27(-1,0,[" Add Wallet\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(38,0,null,null,4,"button",[["mat-button",""]],[[8,"disabled",0]],[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.addWallet(!1)&&r),r},Tf,Sf)),r._4(39,180224,null,0,ml,[r.k,Qr,Oo],null,null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(41,0,null,0,0,"img",[["src","../../../../assets/img/load-gold.png"]],null,null,null,null,null)),(t()(),r._27(-1,0,[" Load Wallet\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,4,0,"Wallets"),t(e,26,0,r._28(e,26,0,r._17(e,27).transform(n.walletService.all())))},function(t,e){t(e,32,0,r._17(e,33).disabled||null),t(e,38,0,r._17(e,39).disabled||null)})}var c_=r._1("app-wallets",Dc,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-wallets",[],null,null,null,u_,i_)),r._4(1,49152,null,0,Dc,[Xr,Va],null,null)],null,null)},{},{},[]),d_=r._3({encapsulation:2,styles:[".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2s linear infinite}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4s;animation-timing-function:cubic-bezier(.35,0,.25,1);animation-iteration-count:infinite}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10s cubic-bezier(.87,.03,.33,1) infinite}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.60617px;transform:rotate(0)}12.5%{stroke-dashoffset:56.54867px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.60617px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.54867px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.60617px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.54867px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.60617px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.54867px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}"],data:{}});function h_(t){return r._29(2,[(t()(),r._5(0,0,null,null,1,":svg:svg",[["focusable","false"],["preserveAspectRatio","xMidYMid meet"]],[[4,"width","px"],[4,"height","px"],[1,"viewBox",0]],null,null,null,null)),(t()(),r._5(1,0,null,null,0,":svg:circle",[["cx","50%"],["cy","50%"]],[[1,"r",0],[4,"animation-name",null],[4,"stroke-dashoffset","px"],[4,"stroke-dasharray","px"],[4,"stroke-width","%"]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,0,0,n._elementSize,n._elementSize,n._viewBox),t(e,1,0,n._circleRadius,"mat-progress-spinner-stroke-rotate-"+n.diameter,n._strokeDashOffset,n._strokeCircumference,n._circleStrokeWidth)})}var p_=r._3({encapsulation:0,styles:[["button[_ngcontent-%COMP%]{border-radius:25px;height:50px;margin:20px 10px;width:160px}button.enabled[_ngcontent-%COMP%]{background-color:rgba(30,34,39,.05);-webkit-box-shadow:none;box-shadow:none;color:#1e2227}mat-icon[_ngcontent-%COMP%]{margin-left:10px;opacity:.3}mat-spinner[_ngcontent-%COMP%]{display:inline-block;height:24px!important;width:24px!important;margin-left:10px}"]],data:{}});function f_(t){return r._29(0,[(t()(),r._5(0,0,null,null,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Pf,Yf)),r._4(1,638976,null,0,Du,[r.k,Lu,[8,null]],null,null),(t()(),r._27(-1,0,["done"]))],function(t,e){t(e,1,0)},null)}function __(t){return r._29(0,[(t()(),r._5(0,0,null,null,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Pf,Yf)),r._4(1,638976,null,0,Du,[r.k,Lu,[8,null]],null,null),(t()(),r._27(-1,0,["error"]))],function(t,e){t(e,1,0)},null)}function m_(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"mat-spinner",[["class","in-button mat-spinner mat-progress-spinner"],["mode","indeterminate"],["role","progressbar"]],[[4,"width","px"],[4,"height","px"]],null,null,h_,d_)),r._4(1,573440,null,0,pc,[r.k,Qr,[2,Ot]],null,null)],null,function(t,e){t(e,0,0,r._17(e,1)._elementSize,r._17(e,1)._elementSize)})}function g_(t){return r._29(0,[r._25(402653184,1,{tooltip:0}),(t()(),r._5(1,16777216,null,null,16,"button",[["color","primary"],["mat-button",""],["mat-raised-button",""],["type","submit"]],[[8,"disabled",0]],[[null,"click"],[null,"mouseenter"],[null,"mouseleave"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0,o=t.component;return"longpress"===e&&(i=!1!==r._17(t,5).show()&&i),"keydown"===e&&(i=!1!==r._17(t,5)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._17(t,5)._handleTouchend()&&i),"click"===e&&(i=!1!==(0!==o.state?o.onClick():null)&&i),"mouseenter"===e&&(i=0!=(o.mouseOver=!0)&&i),"mouseleave"===e&&(i=0!=(o.mouseOver=!1)&&i),i},Tf,Sf)),r._4(2,278528,null,0,A,[r.r,r.s,r.k,r.C],{ngClass:[0,"ngClass"]},null),r._21(3,{enabled:0}),r._4(4,180224,null,0,ml,[r.k,Qr,Oo],{disabled:[0,"disabled"],color:[1,"color"]},null),r._4(5,147456,[[1,4],["tooltip",4]],0,oc,[eo,r.k,ci,r.N,r.y,Qr,Mo,Oo,nc,[2,mi],[2,ic]],{message:[0,"message"]},null),(t()(),r._27(-1,0,["\n "])),r._16(0,0),(t()(),r._27(-1,0,["\n "])),(t()(),r._0(16777216,null,0,1,null,f_)),r._4(10,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._0(16777216,null,0,1,null,__)),r._4(13,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._0(16777216,null,0,1,null,m_)),r._4(16,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,0,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,2,0,t(e,3,0,!n.disabled)),t(e,4,0,n.disabled&&!n.forceEmitEvents,"primary"),t(e,5,0,n.error?n.error:null),t(e,10,0,1===n.state),t(e,13,0,2===n.state),t(e,16,0,0===n.state)},function(t,e){t(e,1,0,r._17(e,4).disabled||null)})}var y_=r._3({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{text-align:center}.-paper[_ngcontent-%COMP%]{background-color:#fbfbfb;border-radius:10px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);padding:30px;margin:30px}"]],data:{}});function v_(t){return r._29(0,[(t()(),r._5(0,0,null,null,4,"option",[],[[8,"disabled",0]],null,null,null,null)),r._4(1,147456,null,0,fs,[r.k,r.C,[2,ps]],{ngValue:[0,"ngValue"]},null),r._4(2,147456,null,0,gs,[r.k,r.C,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),r._27(3,null,["\n "," - "," SLB\n "])),r._22(4,2)],function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)},function(t,e){t(e,0,0,e.context.$implicit.balance<=0),t(e,3,0,e.context.$implicit.label,r._28(e,3,1,t(e,4,0,r._17(e.parent,0),e.context.$implicit.coins,"1.0-6")))})}function b_(t){return r._29(0,[r._20(0,Ct,[r.t]),r._25(402653184,1,{button:0}),(t()(),r._5(2,0,null,null,1,"app-header",[["title","Wallets"]],null,null,null,r_,Uf)),r._4(3,245760,null,0,Bf,[qp,nr,Tp,Hp,Xr,Fn],{title:[0,"title"]},null),(t()(),r._27(-1,null,["\n"])),(t()(),r._5(5,0,null,null,68,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(7,0,null,null,65,"div",[["class","-paper"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._17(t,8).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._17(t,8).onReset()&&i),i},null,null)),r._4(8,540672,null,0,Us,[[8,null],[8,null]],{form:[0,"form"]},null),r._23(2048,null,qa,null,[Us]),r._4(10,16384,null,0,Ps,[qa],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(12,0,null,null,16,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(14,0,null,null,1,"label",[["for","wallet"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Send from"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(17,0,null,null,10,"select",[["formControlName","wallet"],["id","wallet"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"blur"]],function(t,e,n){var i=!0;return"change"===e&&(i=!1!==r._17(t,18).onChange(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,18).onTouched()&&i),i},null,null)),r._4(18,16384,null,0,ps,[r.C,r.k],null,null),r._23(1024,null,ts,function(t){return[t]},[ps]),r._4(20,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(22,16384,null,0,Ys,[ls],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,2,null,v_)),r._4(25,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),r._20(131072,Lt,[r.h]),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(30,0,null,null,11,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(32,0,null,null,1,"label",[["for","address"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Send to"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(35,0,null,null,5,"input",[["formControlName","address"],["id","address"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._17(t,36)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,36).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,36)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,36)._compositionEnd(n.target.value)&&i),i},null,null)),r._4(36,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(38,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(40,16384,null,0,Ys,[ls],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(43,0,null,null,11,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(45,0,null,null,1,"label",[["for","amount"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Amount"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(48,0,null,null,5,"input",[["formControlName","amount"],["id","amount"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._17(t,49)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,49).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,49)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,49)._compositionEnd(n.target.value)&&i),"keydown.enter"===e&&(i=!1!==o.send()&&i),i},null,null)),r._4(49,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(51,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(53,16384,null,0,Ys,[ls],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(56,0,null,null,11,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(58,0,null,null,1,"label",[["for","notes"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Notes"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(61,0,null,null,5,"textarea",[["formControlName","notes"],["id","notes"],["row","2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._17(t,62)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,62).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,62)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,62)._compositionEnd(n.target.value)&&i),i},null,null)),r._4(62,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(64,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(66,16384,null,0,Ys,[ls],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(69,0,null,null,2,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.send()&&r),r},g_,p_)),r._4(70,49152,[[1,4],["button",4]],0,Sc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._27(-1,0,["\n Send\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0,"Wallets"),t(e,8,0,n.form),t(e,20,0,"wallet"),t(e,25,0,r._28(e,25,0,r._17(e,26).transform(n.walletService.all()))),t(e,38,0,"address"),t(e,51,0,"amount"),t(e,64,0,"notes"),t(e,70,0,!n.form.valid)},function(t,e){t(e,7,0,r._17(e,10).ngClassUntouched,r._17(e,10).ngClassTouched,r._17(e,10).ngClassPristine,r._17(e,10).ngClassDirty,r._17(e,10).ngClassValid,r._17(e,10).ngClassInvalid,r._17(e,10).ngClassPending),t(e,17,0,r._17(e,22).ngClassUntouched,r._17(e,22).ngClassTouched,r._17(e,22).ngClassPristine,r._17(e,22).ngClassDirty,r._17(e,22).ngClassValid,r._17(e,22).ngClassInvalid,r._17(e,22).ngClassPending),t(e,35,0,r._17(e,40).ngClassUntouched,r._17(e,40).ngClassTouched,r._17(e,40).ngClassPristine,r._17(e,40).ngClassDirty,r._17(e,40).ngClassValid,r._17(e,40).ngClassInvalid,r._17(e,40).ngClassPending),t(e,48,0,r._17(e,53).ngClassUntouched,r._17(e,53).ngClassTouched,r._17(e,53).ngClassPristine,r._17(e,53).ngClassDirty,r._17(e,53).ngClassValid,r._17(e,53).ngClassInvalid,r._17(e,53).ngClassPending),t(e,61,0,r._17(e,66).ngClassUntouched,r._17(e,66).ngClassTouched,r._17(e,66).ngClassPristine,r._17(e,66).ngClassDirty,r._17(e,66).ngClassValid,r._17(e,66).ngClassInvalid,r._17(e,66).ngClassPending)})}var w_=r._1("app-send-skycoin",Yc,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-send-skycoin",[],null,null,null,b_,y_)),r._4(1,245760,null,0,Yc,[Zs,Xr,bc,Va],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),M_=r._3({encapsulation:0,styles:[[".-paper[_ngcontent-%COMP%]{background-color:#fbfbfb;border-radius:10px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);margin:30px}.-transaction[_ngcontent-%COMP%]{background-color:#fafafa;border-bottom:1px solid #eff0f0;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;padding:20px 12px}.-transaction[_ngcontent-%COMP%]:first-child{border-top-left-radius:15px;border-top-right-radius:15px}.-transaction[_ngcontent-%COMP%]:last-child{border-bottom-left-radius:15px;border-bottom-right-radius:15px}.-transaction[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{padding:0 8px}.-transaction[_ngcontent-%COMP%] .-icon[_ngcontent-%COMP%]{margin-top:5px}.-transaction[_ngcontent-%COMP%] .-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:32px}.-transaction[_ngcontent-%COMP%] .-icon.-incoming[_ngcontent-%COMP%]{-webkit-transform:scaleX(-1);transform:scaleX(-1);-webkit-filter:FlipH;filter:FlipH;-ms-filter:FlipH}.-transaction[_ngcontent-%COMP%] .-icon.-pending[_ngcontent-%COMP%]{opacity:.5}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%]{-webkit-box-flex:1;-ms-flex:1;flex:1}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#1e2227;font-size:13px;font-weight:700;line-height:15px;margin:0 0 8px}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:10px;line-height:12px;padding-left:5px;font-weight:300}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] .-pending[_ngcontent-%COMP%]{color:#fdb51e}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] .-timestamp[_ngcontent-%COMP%]{color:rgba(30,34,39,.2)}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] .-item[_ngcontent-%COMP%]:not(:last-child){margin-bottom:5px}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] .-item[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{display:inline-block;height:17px;vertical-align:middle;width:17px;margin-right:4px}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] .-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:rgba(30,34,39,.5);display:inline-block;font-size:13px;line-height:15px;margin:0}.-transaction[_ngcontent-%COMP%] .-balance[_ngcontent-%COMP%]{width:100px}.-transaction[_ngcontent-%COMP%] .-balance[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#1e2227;font-size:13px;font-weight:700;line-height:15px;margin:0 0 8px}.-transaction[_ngcontent-%COMP%] .-balance[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:rgba(30,34,39,.5);display:inline-block;font-size:13px;line-height:15px;margin:0}"]],data:{}});function k_(t){return r._29(0,[(t()(),r._5(0,0,null,null,4,"h4",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Sent SLB "])),(t()(),r._5(2,0,null,null,2,"span",[["class","-timestamp"]],null,null,null,null,null)),(t()(),r._27(3,null,["",""])),r._22(4,2)],null,function(t,e){t(e,3,0,r._28(e,3,0,t(e,4,0,r._17(e.parent.parent.parent,0),1e3*e.parent.parent.context.$implicit.timestamp,"short")))})}function x_(t){return r._29(0,[(t()(),r._5(0,0,null,null,3,"h4",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Sending SLB "])),(t()(),r._5(2,0,null,null,1,"span",[["class","-pending"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Pending"]))],null,null)}function L_(t){return r._29(0,[(t()(),r._5(0,0,null,null,4,"h4",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Received SLB "])),(t()(),r._5(2,0,null,null,2,"span",[["class","-timestamp"]],null,null,null,null,null)),(t()(),r._27(3,null,["",""])),r._22(4,2)],null,function(t,e){t(e,3,0,r._28(e,3,0,t(e,4,0,r._17(e.parent.parent.parent,0),1e3*e.parent.parent.context.$implicit.timestamp,"short")))})}function C_(t){return r._29(0,[(t()(),r._5(0,0,null,null,3,"h4",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Sent SLB "])),(t()(),r._5(2,0,null,null,1,"span",[["class","-pending"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Pending"]))],null,null)}function S_(t){return r._29(0,[(t()(),r._5(0,0,null,null,6,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,0,"img",[["src","../../../../assets/img/qr-code-black.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.showQrCode(n,t.context.$implicit)&&r),r},null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(4,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(5,null,["",""])),(t()(),r._27(-1,null,["\n "]))],null,function(t,e){t(e,5,0,e.context.$implicit)})}function T_(t){return r._29(0,[(t()(),r._5(0,0,null,null,33,"div",[["class","-transaction"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.showTransaction(t.parent.context.$implicit)&&r),r},null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,5,"div",[["class","-icon"]],null,null,null,null,null)),r._4(3,278528,null,0,A,[r.r,r.s,r.k,r.C],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._21(4,{"-incoming":0,"-pending":1}),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(6,0,null,null,0,"img",[["src","/assets/img/send-blue.png"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(9,0,null,null,16,"div",[["class","-address"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,k_)),r._4(12,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,x_)),r._4(15,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,L_)),r._4(18,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,C_)),r._4(21,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,S_)),r._4(24,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(27,0,null,null,5,"div",[["class","-balance"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(29,0,null,null,2,"h4",[],null,null,null,null,null)),(t()(),r._27(30,null,[""," SLB"])),r._22(31,2),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "]))],function(t,e){t(e,3,0,"-icon",t(e,4,0,e.parent.context.$implicit.balance>0,!e.parent.context.$implicit.confirmed)),t(e,12,0,e.parent.context.$implicit.balance<0&&e.parent.context.$implicit.confirmed),t(e,15,0,e.parent.context.$implicit.balance<0&&!e.parent.context.$implicit.confirmed),t(e,18,0,e.parent.context.$implicit.balance>0&&e.parent.context.$implicit.confirmed),t(e,21,0,e.parent.context.$implicit.balance>0&&!e.parent.context.$implicit.confirmed),t(e,24,0,e.parent.context.$implicit.addresses)},function(t,e){t(e,30,0,r._28(e,30,0,t(e,31,0,r._17(e.parent.parent,1),e.parent.context.$implicit.balance,"1.0-6")))})}function D_(t){return r._29(0,[(t()(),r._5(0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,T_)),r._4(3,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "]))],function(t,e){t(e,3,0,0!==e.context.$implicit.balance)},null)}function O_(t){return r._29(0,[r._20(0,ut,[r.t]),r._20(0,Ct,[r.t]),(t()(),r._5(2,0,null,null,1,"app-header",[["title","Transactions"]],null,null,null,r_,Uf)),r._4(3,245760,null,0,Bf,[qp,nr,Tp,Hp,Xr,Fn],{title:[0,"title"]},null),(t()(),r._27(-1,null,["\n"])),(t()(),r._5(5,0,null,null,7,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(7,0,null,null,4,"div",[["class","-paper"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,D_)),r._4(10,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0,"Transactions"),t(e,10,0,n.transactions)},null)}var Y_=r._1("app-transaction-list",Fp,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-transaction-list",[],null,null,null,O_,M_)),r._4(1,245760,null,0,Fp,[Va,Hp,Xr],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),P_=function(){function t(){}return t.prototype.transform=function(t){switch(t){case"done":return"Completed";case"waiting_confirm":return"Waiting for confirmation";case"waiting_deposit":return"Waiting for Bitcoin deposit";case"waiting_send":return"Waiting to send Skycoin";default:return"Unknown"}},t}(),E_=r._3({encapsulation:0,styles:[[".-background-container[_ngcontent-%COMP%]{background-color:#fbfbfb;padding-top:30px;max-width:100%;min-height:calc(100% - 190px);overflow:hidden;position:relative}.-background-image[_ngcontent-%COMP%]{display:none}@media (min-width:768px){.-background-image[_ngcontent-%COMP%]{display:block;left:50%;width:80%;position:absolute;top:0}}@media (min-width:992px){.-background-image[_ngcontent-%COMP%]{left:40%;width:90%;max-width:850px}}@media (min-width:1200px){.-background-image[_ngcontent-%COMP%]{left:40%;width:80%;max-width:850px}}.-paper[_ngcontent-%COMP%]{background-color:#fbfbfb;border-radius:10px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);padding:30px;position:relative;margin-top:30px;max-width:540px;z-index:5}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:30px}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-number[_ngcontent-%COMP%]{width:60px}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-number[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{border-radius:50%;color:#fff;display:inline-block;font-size:16px;font-weight:700;height:40px;line-height:46px;text-align:center;width:40px}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%]{-webkit-box-flex:1;-ms-flex:1 1;flex:1 1}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] button{margin-left:0}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#1e2227;font-size:16px;font-weight:700;margin:0;line-height:46px}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:rgba(30,34,39,.8);font-size:14px;font-weight:300;line-height:20px;margin-top:0}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%], .-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .-status[_ngcontent-%COMP%]{background-color:#fff;border:2px solid rgba(0,0,0,.05);border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(30,34,39,.8);display:block;font-size:14px;line-height:20px;margin-bottom:15px;padding:10px;width:100%}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .-coins[_ngcontent-%COMP%]{color:#0072ff}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%]{margin-bottom:15px}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .-subtitle[_ngcontent-%COMP%]{color:#8c8e90;font-size:12px;line-height:18px;font-weight:300;opacity:.8}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .-wallet[_ngcontent-%COMP%]{color:rgba(30,34,39,.8);font-size:14px}"]],data:{}});function j_(t){return r._29(0,[(t()(),r._5(0,0,null,null,6,"option",[],null,null,null,null,null)),r._4(1,147456,null,0,fs,[r.k,r.C,[2,ps]],{value:[0,"value"]},null),r._4(2,147456,null,0,gs,[r.k,r.C,[8,null]],{value:[0,"value"]},null),(t()(),r._27(3,null,["\n "," - "])),(t()(),r._5(4,0,null,null,1,"span",[["class","-coins"]],null,null,null,null,null)),(t()(),r._27(5,null,[""," SKY"])),(t()(),r._27(-1,null,["\n "]))],function(t,e){t(e,1,0,e.context.$implicit.filename),t(e,2,0,e.context.$implicit.filename)},function(t,e){t(e,3,0,e.context.$implicit.label),t(e,5,0,e.context.$implicit.coins)})}function A_(t){return r._29(0,[(t()(),r._5(0,0,null,null,25,"div",[["class","-step"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,4,"div",[["class","-number"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(4,0,null,null,1,"span",[["class","primary-gradient-background"]],null,null,null,null,null)),(t()(),r._27(-1,null,["2"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(8,0,null,null,16,"div",[["class","-instructions flex-fill"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(10,0,null,null,1,"h3",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Send Bitcoin"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(13,0,null,null,4,"p",[],null,null,null,null,null)),(t()(),r._27(-1,null,["\n Send Bitcoin to the address below. Once received, we will deposit the Skycoin to a new address in the wallet\n selected above at the current rate of "])),(t()(),r._5(15,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(16,null,[""," SKY/BTC"])),(t()(),r._27(-1,null,[".\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(19,0,null,null,1,"span",[["class","-address"]],null,null,null,null,null)),(t()(),r._27(20,null,["\n ","\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(22,0,null,null,1,"span",[["class","-subtitle"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n Only send multiple of the SKY/BTC rate! Skycoin is sent in whole number; fractional SKY is not sent!\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "]))],null,function(t,e){var n=e.component;t(e,16,0,n.config.sky_btc_exchange_rate),t(e,20,0,n.order.deposit_address)})}function I_(t){return r._29(0,[(t()(),r._5(0,0,null,null,28,"div",[["class","-step"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,4,"div",[["class","-number"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(4,0,null,null,1,"span",[["class","primary-gradient-background"]],null,null,null,null,null)),(t()(),r._27(-1,null,["3"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(8,0,null,null,19,"div",[["class","-instructions flex-fill"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(10,0,null,null,1,"h3",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Receive Sky"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(13,0,null,null,1,"p",[],null,null,null,null,null)),(t()(),r._27(-1,null,["\n After receiving your Bitcoin, we'll send you your Skycoin. It may take anywhere between 20 minutes and an hour\n to receive your SKY.\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(16,0,null,null,2,"span",[["class","-status"]],null,null,null,null,null)),(t()(),r._27(17,null,["\n Status: ","\n "])),r._22(18,1),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(20,0,null,null,2,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.checkStatus()&&r),r},g_,p_)),r._4(21,49152,[[1,4],["button",4]],0,Sc,[],null,{action:"action"}),(t()(),r._27(-1,0,["\n Check Status\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(24,0,null,null,2,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.removeOrder()&&r),r},g_,p_)),r._4(25,49152,[[1,4],["button",4]],0,Sc,[],null,{action:"action"}),(t()(),r._27(-1,0,["\n New Order\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "]))],null,function(t,e){var n=e.component;t(e,17,0,r._28(e,17,0,t(e,18,0,r._17(e.parent.parent,0),n.order.status)))})}function H_(t){return r._29(0,[(t()(),r._5(0,0,null,null,52,"div",[["class","-paper"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._17(t,1).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._17(t,1).onReset()&&i),i},null,null)),r._4(1,540672,null,0,Us,[[8,null],[8,null]],{form:[0,"form"]},null),r._23(2048,null,qa,null,[Us]),r._4(3,16384,null,0,Ps,[qa],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(5,0,null,null,40,"div",[["class","-step"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(7,0,null,null,4,"div",[["class","-number"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(9,0,null,null,1,"span",[["class","primary-gradient-background"]],null,null,null,null,null)),(t()(),r._27(-1,null,["1"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(13,0,null,null,31,"div",[["class","-instructions flex-fill"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(15,0,null,null,1,"h3",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Deposit Location"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(18,0,null,null,1,"p",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Choose a wallet where you'd like us to deposit your Skycoin after we receive your Bitcoin."])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(21,0,null,null,19,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(23,0,null,null,16,"select",[["class","-wallet"],["formControlName","wallet"],["id","wallet"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"blur"]],function(t,e,n){var i=!0;return"change"===e&&(i=!1!==r._17(t,24).onChange(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,24).onTouched()&&i),i},null,null)),r._4(24,16384,null,0,ps,[r.C,r.k],null,null),r._4(25,16384,null,0,Xs,[],{required:[0,"required"]},null),r._23(1024,null,Ga,function(t){return[t]},[Xs]),r._23(1024,null,ts,function(t){return[t]},[ps]),r._4(28,671744,null,0,Ks,[[3,qa],[2,Ga],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(30,16384,null,0,Ys,[ls],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(32,0,null,null,3,"option",[["disabled",""],["selected",""]],null,null,null,null,null)),r._4(33,147456,null,0,fs,[r.k,r.C,[2,ps]],null,null),r._4(34,147456,null,0,gs,[r.k,r.C,[8,null]],null,null),(t()(),r._27(-1,null,["Make a choice"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,j_)),r._4(38,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(42,0,null,null,1,"span",[["class","-subtitle"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n Each time a new wallet and address are selected, a new BTC address is generated. A single Skycoin address can\n have up to 5 BTC addresses assigned to it.\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,A_)),r._4(48,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,I_)),r._4(51,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "]))],function(t,e){var n=e.component;t(e,1,0,n.form),t(e,25,0,""),t(e,28,0,"wallet"),t(e,38,0,n.wallets),t(e,48,0,n.order),t(e,51,0,n.order)},function(t,e){t(e,0,0,r._17(e,3).ngClassUntouched,r._17(e,3).ngClassTouched,r._17(e,3).ngClassPristine,r._17(e,3).ngClassDirty,r._17(e,3).ngClassValid,r._17(e,3).ngClassInvalid,r._17(e,3).ngClassPending),t(e,23,0,r._17(e,25).required?"":null,r._17(e,30).ngClassUntouched,r._17(e,30).ngClassTouched,r._17(e,30).ngClassPristine,r._17(e,30).ngClassDirty,r._17(e,30).ngClassValid,r._17(e,30).ngClassInvalid,r._17(e,30).ngClassPending)})}function R_(t){return r._29(0,[r._20(0,P_,[]),r._25(671088640,1,{button:0}),(t()(),r._5(2,0,null,null,1,"app-header",[],null,null,null,r_,Uf)),r._4(3,245760,null,0,Bf,[qp,nr,Tp,Hp,Xr,Fn],null,null),(t()(),r._27(-1,null,["\n"])),(t()(),r._5(5,0,null,null,9,"div",[["class","-background-container"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(7,0,null,null,6,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,H_)),r._4(10,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(12,0,null,null,0,"img",[["class","-background-image"],["src","../../../../assets/img/otc-background.jpg"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0),t(e,10,0,n.config)},null)}var N_=r._1("app-buy",Ip,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-buy",[],null,null,null,R_,E_)),r._4(1,114688,null,0,Ip,[Zs,Ap,bc,Xr],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),F_=r._3({encapsulation:2,styles:[".mat-card{transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);display:block;position:relative;padding:24px;border-radius:2px}.mat-card:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-card .mat-divider{position:absolute;left:0;width:100%}[dir=rtl] .mat-card .mat-divider{left:auto;right:0}.mat-card .mat-divider.mat-divider-inset{position:static;margin:0}@media screen and (-ms-high-contrast:active){.mat-card{outline:solid 1px}}.mat-card-flat{box-shadow:none}.mat-card-actions,.mat-card-content,.mat-card-subtitle,.mat-card-title{display:block;margin-bottom:16px}.mat-card-actions{margin-left:-16px;margin-right:-16px;padding:8px 0}.mat-card-actions-align-end{display:flex;justify-content:flex-end}.mat-card-image{width:calc(100% + 48px);margin:0 -24px 16px -24px}.mat-card-xl-image{width:240px;height:240px;margin:-8px}.mat-card-footer{display:block;margin:0 -24px -24px -24px}.mat-card-actions .mat-button,.mat-card-actions .mat-raised-button{margin:0 4px}.mat-card-header{display:flex;flex-direction:row}.mat-card-header-text{margin:0 8px}.mat-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0}.mat-card-lg-image,.mat-card-md-image,.mat-card-sm-image{margin:-8px 0}.mat-card-title-group{display:flex;justify-content:space-between;margin:0 -8px}.mat-card-sm-image{width:80px;height:80px}.mat-card-md-image{width:112px;height:112px}.mat-card-lg-image{width:152px;height:152px}@media (max-width:599px){.mat-card{padding:24px 16px}.mat-card-actions{margin-left:-8px;margin-right:-8px}.mat-card-image{width:calc(100% + 32px);margin:16px -16px}.mat-card-title-group{margin:0}.mat-card-xl-image{margin-left:0;margin-right:0}.mat-card-header{margin:-8px 0 0 0}.mat-card-footer{margin-left:-16px;margin-right:-16px}}.mat-card-content>:first-child,.mat-card>:first-child{margin-top:0}.mat-card-content>:last-child:not(.mat-card-footer),.mat-card>:last-child:not(.mat-card-footer){margin-bottom:0}.mat-card-image:first-child{margin-top:-24px}.mat-card>.mat-card-actions:last-child{margin-bottom:-16px;padding-bottom:0}.mat-card-actions .mat-button:first-child,.mat-card-actions .mat-raised-button:first-child{margin-left:0;margin-right:0}.mat-card-subtitle:not(:first-child),.mat-card-title:not(:first-child){margin-top:-4px}.mat-card-header .mat-card-subtitle:not(:first-child){margin-top:-8px}.mat-card>.mat-card-xl-image:first-child{margin-top:-8px}.mat-card>.mat-card-xl-image:last-child{margin-bottom:-8px}"],data:{}});function V_(t){return r._29(2,[r._16(null,0),r._16(null,1)],null,null)}var z_=r._3({encapsulation:0,styles:[["mat-card[_ngcontent-%COMP%]{margin:40px 20px 20px}.-table[_ngcontent-%COMP%] .-table-header[_ngcontent-%COMP%]{font-size:10px;color:rgba(30,34,39,.5);margin-bottom:20px}.-table[_ngcontent-%COMP%] .-table-row[_ngcontent-%COMP%]:not(:last-child){margin-bottom:10px}.-table[_ngcontent-%COMP%] .-table-row[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{line-height:40px}.text-muted[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}"]],data:{}});function W_(t){return r._29(0,[(t()(),r._5(0,0,null,null,16,"div",[["class","row -table-row"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,2,"div",[["class","col-md-4"]],null,null,null,null,null)),(t()(),r._5(3,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(4,null,["",""])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(6,0,null,null,2,"div",[["class","col-md-4"]],null,null,null,null,null)),(t()(),r._5(7,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(8,null,["",""])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(10,0,null,null,5,"div",[["class","col-md-4"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(12,0,null,null,2,"button",[["color","primary"],["mat-raised-button",""]],[[8,"disabled",0]],[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.showSeed(t.context.$implicit)&&r),r},Tf,Sf)),r._4(13,180224,null,0,ml,[r.k,Qr,Oo],{color:[0,"color"]},null),(t()(),r._27(-1,0,["Show seed"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "]))],function(t,e){t(e,13,0,"primary")},function(t,e){t(e,4,0,e.context.$implicit.label),t(e,8,0,e.context.$implicit.filename),t(e,12,0,r._17(e,13).disabled||null)})}function B_(t){return r._29(0,[(t()(),r._5(0,0,null,null,39,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,1,"app-header",[["title","Backup"]],null,null,null,r_,Uf)),r._4(3,245760,null,0,Bf,[qp,nr,Tp,Hp,Xr,Fn],{title:[0,"title"]},null),(t()(),r._27(-1,null,["\n\n "])),(t()(),r._5(5,0,null,null,14,"mat-card",[["class","mat-card"]],null,null,null,V_,F_)),r._4(6,49152,null,0,Ml,[],null,null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(8,0,null,0,1,"p",[],null,null,null,null,null)),(t()(),r._27(9,null,["Wallet Directory: ",""])),(t()(),r._27(-1,0,["\n\n "])),(t()(),r._5(11,0,null,0,1,"p",[],null,null,null,null,null)),(t()(),r._27(-1,null,["BACKUP YOUR SEED. ON PAPER. IN A SAFE PLACE. As long as you have your seed, you can recover your coins."])),(t()(),r._27(-1,0,["\n\n "])),(t()(),r._5(14,0,null,0,4,"p",[["class","text-muted"]],null,null,null,null,null)),(t()(),r._5(15,0,null,null,3,"small",[],null,null,null,null,null)),(t()(),r._27(-1,null,["\n Use the table below to get seeds from your encrypted wallets. "])),(t()(),r._5(17,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),r._27(-1,null,["\n To get seeds from unencrypted wallets, open the folder above,\n open the .wlt files in a text editor and recover the seeds.\n "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._27(-1,null,["\n\n "])),(t()(),r._5(21,0,null,null,17,"mat-card",[["class","-table mat-card"]],null,null,null,V_,F_)),r._4(22,49152,null,0,Ml,[],null,null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(24,0,null,0,10,"div",[["class","row -table-header"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(26,0,null,null,1,"div",[["class","col-md-4"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Wallet Label"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(29,0,null,null,1,"div",[["class","col-md-4"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Filename"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(32,0,null,null,1,"div",[["class","col-md-4"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Seed"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._0(16777216,null,0,1,null,W_)),r._4(37,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0,"Backup"),t(e,37,0,n.onlyEncrypted)},function(t,e){t(e,9,0,e.component.folder)})}var U_=r._1("app-backup",Yp,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-backup",[],null,null,null,B_,z_)),r._4(1,114688,null,0,Yp,[Xr,Va],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),q_=function(){function t(){}return t.prototype.transform=function(t){return Pc.unix(t).fromNow()},t}(),J_=r._3({encapsulation:0,styles:[["mat-card[_ngcontent-%COMP%]{margin-left:20px;margin-right:20px}.skycoin-details[_ngcontent-%COMP%]{margin-top:40px;margin-bottom:20px;line-height:30px}.skycoin-detail-keys[_ngcontent-%COMP%]{display:inline-block;color:rgba(30,34,39,.5)}.skycoin-detail-values[_ngcontent-%COMP%]{display:inline-block}"]],data:{}});function G_(t){return r._29(0,[(t()(),r._5(0,0,null,null,7,"div",[["class","skycoin-detail-values"]],null,null,null,null,null)),(t()(),r._27(1,null,["\n "," "])),r._22(2,1),(t()(),r._5(3,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),r._27(4,null,["\n "," "])),r._22(5,1),(t()(),r._5(6,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),r._27(7,null,["\n ","\n "]))],null,function(t,e){var n=e.component;t(e,1,0,r._28(e,1,0,t(e,2,0,r._17(e.parent,0),n.block.header.seq))),t(e,4,0,r._28(e,4,0,t(e,5,0,r._17(e.parent,1),n.block.header.timestamp))),t(e,7,0,n.block.header.block_hash)})}function K_(t){return r._29(0,[r._20(0,Ct,[r.t]),r._20(0,q_,[]),(t()(),r._5(2,0,null,null,20,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(4,0,null,null,1,"app-header",[["title","Blockchain"]],null,null,null,r_,Uf)),r._4(5,245760,null,0,Bf,[qp,nr,Tp,Hp,Xr,Fn],{title:[0,"title"]},null),(t()(),r._27(-1,null,["\n\n "])),(t()(),r._5(7,0,null,null,14,"mat-card",[["class","skycoin-details mat-card"]],null,null,null,V_,F_)),r._4(8,49152,null,0,Ml,[],null,null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(10,0,null,0,7,"div",[["class","skycoin-detail-keys"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n Number of blocks: "])),(t()(),r._5(12,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),r._27(-1,null,["\n Time since last block: "])),(t()(),r._5(14,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),r._27(-1,null,["\n Hash of last block: "])),(t()(),r._5(16,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._0(16777216,null,0,1,null,G_)),r._4(20,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,5,0,"Blockchain"),t(e,20,0,n.block&&n.block.header)},null)}var X_=r._1("app-blockchain",Dp,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-blockchain",[],null,null,null,K_,J_)),r._4(1,114688,null,0,Dp,[Tp],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Z_=r._3({encapsulation:0,styles:[["mat-card[_ngcontent-%COMP%]{margin-bottom:20px}mat-card[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{margin-bottom:-10px}mat-card[_ngcontent-%COMP%] .-peer[_ngcontent-%COMP%]{margin-bottom:10px;display:-webkit-box;display:-ms-flexbox;display:flex}mat-card[_ngcontent-%COMP%] .-peer[_ngcontent-%COMP%] .-port[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}h3[_ngcontent-%COMP%]{font-weight:400;margin-top:40px}h3[_ngcontent-%COMP%], mat-card[_ngcontent-%COMP%]{margin-left:20px;margin-right:20px}"]],data:{}});function Q_(t){return r._29(0,[(t()(),r._5(0,0,null,null,10,"div",[["class","col-lg-3"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,7,"div",[["class","-peer"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(4,0,null,null,1,"span",[["class","-ip"]],null,null,null,null,null)),(t()(),r._27(5,null,["",""])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(7,0,null,null,1,"span",[["class","-port"]],null,null,null,null,null)),(t()(),r._27(8,null,[":",""])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "]))],null,function(t,e){t(e,5,0,e.context.$implicit.address.split(":")[0]),t(e,8,0,e.context.$implicit.listen_port)})}function $_(t){return r._29(0,[(t()(),r._5(0,0,null,null,10,"div",[["class","col-lg-3"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,7,"div",[["class","-peer"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(4,0,null,null,1,"span",[["class","-ip"]],null,null,null,null,null)),(t()(),r._27(5,null,["",""])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(7,0,null,null,1,"span",[["class","-port"]],null,null,null,null,null)),(t()(),r._27(8,null,[":",""])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "]))],null,function(t,e){t(e,5,0,e.context.$implicit.address.split(":")[0]),t(e,8,0,e.context.$implicit.listen_port)})}function tm(t){return r._29(0,[(t()(),r._5(0,0,null,null,31,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,1,"app-header",[["title","Networking"]],null,null,null,r_,Uf)),r._4(3,245760,null,0,Bf,[qp,nr,Tp,Hp,Xr,Fn],{title:[0,"title"]},null),(t()(),r._27(-1,null,["\n\n "])),(t()(),r._5(5,0,null,null,1,"h3",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Automatic peers"])),(t()(),r._27(-1,null,["\n\n "])),(t()(),r._5(8,0,null,null,9,"mat-card",[["class","mat-card"]],null,null,null,V_,F_)),r._4(9,49152,null,0,Ml,[],null,null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(11,0,null,0,5,"div",[["class","row"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,2,null,Q_)),r._4(14,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),r._20(131072,Lt,[r.h]),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._27(-1,null,["\n\n "])),(t()(),r._5(19,0,null,null,1,"h3",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Default peers"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(22,0,null,null,8,"mat-card",[["class","mat-card"]],null,null,null,V_,F_)),r._4(23,49152,null,0,Ml,[],null,null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(25,0,null,0,4,"div",[["class","row"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,$_)),r._4(28,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0,"Networking"),t(e,14,0,r._28(e,14,0,r._17(e,15).transform(n.networkService.automatic()))),t(e,28,0,n.defaultConnections)},null)}var em=r._1("app-network",jp,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-network",[],null,null,null,tm,Z_)),r._4(1,114688,null,0,jp,[Ep],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),nm=r._3({encapsulation:0,styles:[[".-wallet[_ngcontent-%COMP%]{margin:40px 20px 0}.-wallet[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-weight:400}.-wallet[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%]{margin-bottom:20px}.-wallet[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0}.-wallet[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] + .-output[_ngcontent-%COMP%]{margin-top:15px}.-wallet[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] .-output[_ngcontent-%COMP%]{border-top:1px solid #eee;padding:15px 0;font-size:14px}.-wallet[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] .-output[_ngcontent-%COMP%]:last-child{padding-bottom:0}.-wallet[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] .-output[_ngcontent-%COMP%] .-hash[_ngcontent-%COMP%]{margin-bottom:10px}.-wallet[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] .-output[_ngcontent-%COMP%] .-balance[_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.-wallet[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] .-output[_ngcontent-%COMP%] .-balance[_ngcontent-%COMP%] .-item[_ngcontent-%COMP%]{min-width:150px;padding-right:20px}.-wallet[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] .-output[_ngcontent-%COMP%] .-balance[_ngcontent-%COMP%] .-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}"]],data:{}});function rm(t){return r._29(0,[(t()(),r._5(0,0,null,null,19,"div",[["class","-output"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,1,"div",[["class","-hash"]],null,null,null,null,null)),(t()(),r._27(3,null,["",""])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(5,0,null,null,13,"div",[["class","-balance"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(7,0,null,null,4,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._5(8,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Coins:"])),(t()(),r._27(10,null,[" ",""])),r._22(11,2),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(13,0,null,null,4,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._5(14,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Hours:"])),(t()(),r._27(16,null,[" ",""])),r._22(17,2),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "]))],null,function(t,e){t(e,3,0,e.context.$implicit.hash),t(e,10,0,r._28(e,10,0,t(e,11,0,r._17(e.parent.parent.parent,0),e.context.$implicit.coins,"1.0-6"))),t(e,16,0,r._28(e,16,0,t(e,17,0,r._17(e.parent.parent.parent,0),e.context.$implicit.calculated_hours,"1.0-6")))})}function im(t){return r._29(0,[(t()(),r._5(0,0,null,null,8,"mat-card",[["class","-address mat-card"]],null,null,null,V_,F_)),r._4(1,49152,null,0,Ml,[],null,null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(3,0,null,0,1,"h4",[],null,null,null,null,null)),(t()(),r._27(4,null,["",""])),(t()(),r._27(-1,0,["\n\n "])),(t()(),r._0(16777216,null,0,1,null,rm)),r._4(7,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),(t()(),r._27(-1,0,["\n "]))],function(t,e){t(e,7,0,e.context.$implicit.outputs)},function(t,e){t(e,4,0,e.context.$implicit.address)})}function om(t){return r._29(0,[(t()(),r._5(0,0,null,null,7,"div",[["class","-wallet"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,1,"h3",[],null,null,null,null,null)),(t()(),r._27(3,null,["",""])),(t()(),r._27(-1,null,["\n\n "])),(t()(),r._0(16777216,null,null,1,null,im)),r._4(6,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),(t()(),r._27(-1,null,["\n "]))],function(t,e){t(e,6,0,e.context.$implicit.addresses)},function(t,e){t(e,3,0,e.context.$implicit.label)})}function am(t){return r._29(0,[r._20(0,Ct,[r.t]),(t()(),r._5(1,0,null,null,7,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(3,0,null,null,1,"app-header",[["title","Outputs"]],null,null,null,r_,Uf)),r._4(4,245760,null,0,Bf,[qp,nr,Tp,Hp,Xr,Fn],{title:[0,"title"]},null),(t()(),r._27(-1,null,["\n\n "])),(t()(),r._0(16777216,null,null,1,null,om)),r._4(7,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,4,0,"Outputs"),t(e,7,0,n.wallets)},null)}var sm=r._1("app-outputs",Sp,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-outputs",[],null,null,null,am,nm)),r._4(1,49152,null,0,Sp,[Xr,ph],null,null)],null,null)},{},{},[]),lm=function(){function t(){}return t.prototype.transform=function(t){return Pc.unix(t).format("YYYY-MM-DD HH:mm")},t}(),um=r._3({encapsulation:0,styles:[["mat-card[_ngcontent-%COMP%]{margin:40px 20px 20px}.-table[_ngcontent-%COMP%] .-table-header[_ngcontent-%COMP%]{font-size:10px;color:rgba(30,34,39,.5);margin-bottom:20px}.-table[_ngcontent-%COMP%] .-table-row[_ngcontent-%COMP%]:not(:last-child){margin-bottom:10px}"]],data:{}});function cm(t){return r._29(0,[(t()(),r._5(0,0,null,null,15,"div",[["class","row -table-row"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,3,"div",[["class","col-md-2"]],null,null,null,null,null)),(t()(),r._5(3,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._27(4,null,["",""])),r._22(5,1),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(7,0,null,null,3,"div",[["class","col-md-2"]],null,null,null,null,null)),(t()(),r._5(8,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._27(9,null,["",""])),r._22(10,2),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(12,0,null,null,2,"div",[["class","col-md-8"]],null,null,null,null,null)),(t()(),r._5(13,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(14,null,["",""])),(t()(),r._27(-1,null,["\n "]))],null,function(t,e){t(e,4,0,r._28(e,4,0,t(e,5,0,r._17(e.parent.parent,0),e.context.$implicit.timestamp))),t(e,9,0,r._28(e,9,0,t(e,10,0,r._17(e.parent.parent,1),e.context.$implicit.amount,"1.0-6"))),t(e,14,0,e.context.$implicit.txid)})}function dm(t){return r._29(0,[(t()(),r._5(0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,cm)),r._4(3,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),(t()(),r._27(-1,null,["\n "]))],function(t,e){t(e,3,0,e.component.transactions)},null)}function hm(t){return r._29(0,[(t()(),r._5(0,0,null,null,4,"div",[["class","row -table-row"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,1,"div",[["class","col-lg-12"]],null,null,null,null,null)),(t()(),r._27(-1,null,["No pending transactions"])),(t()(),r._27(-1,null,["\n "]))],null,null)}function pm(t){return r._29(0,[r._20(0,lm,[]),r._20(0,Ct,[r.t]),(t()(),r._5(2,0,null,null,26,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(4,0,null,null,1,"app-header",[["title","Pending Transactions"]],null,null,null,r_,Uf)),r._4(5,245760,null,0,Bf,[qp,nr,Tp,Hp,Xr,Fn],{title:[0,"title"]},null),(t()(),r._27(-1,null,["\n\n "])),(t()(),r._5(7,0,null,null,20,"mat-card",[["class","-table mat-card"]],null,null,null,V_,F_)),r._4(8,49152,null,0,Ml,[],null,null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(10,0,null,0,10,"div",[["class","row -table-header"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(12,0,null,null,1,"div",[["class","col-md-2"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Timestamp"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(15,0,null,null,1,"div",[["class","col-md-2"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Amount"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(18,0,null,null,1,"div",[["class","col-md-8"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Transaction ID"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._0(16777216,null,0,1,null,dm)),r._4(23,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._0(16777216,null,0,1,null,hm)),r._4(26,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,5,0,"Pending Transactions"),t(e,23,0,n.transactions&&n.transactions.length),t(e,26,0,n.transactions&&!n.transactions.length)},null)}var fm=r._1("app-pending-transactions",Ec,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-pending-transactions",[],null,null,null,pm,um)),r._4(1,114688,null,0,Ec,[Xr],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),_m=function(t){return t[t.RightButton=0]="RightButton",t[t.LeftButton=1]="LeftButton",t}({}),mm=function(){function t(){this.onStateChange=new r.n,this.ButtonState=_m}return t.prototype.onRightClick=function(){this.activeButton===_m.LeftButton&&(this.activeButton=_m.RightButton,this.onStateChange.emit(_m.RightButton))},t.prototype.onLeftClick=function(){this.activeButton===_m.RightButton&&(this.activeButton=_m.LeftButton,this.onStateChange.emit(_m.LeftButton))},t}(),gm=r._3({encapsulation:0,styles:[[".-small-button[_ngcontent-%COMP%] button{width:unset;height:unset;padding:0 10px;min-width:100px;margin:unset;font-size:13px}.-toggle[_ngcontent-%COMP%] button{-webkit-box-shadow:unset;box-shadow:unset;background-color:rgba(0,0,0,0)!important;line-height:unset!important;min-height:26px}.-toggle[_ngcontent-%COMP%] button span{color:#171a1d;line-height:unset!important}.-toggle[_ngcontent-%COMP%] button.enabled{background-color:#171a1d!important}.-toggle[_ngcontent-%COMP%] button.enabled span{color:#fafafa}.-buttons-container[_ngcontent-%COMP%]{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px;background:rgba(255,255,255,.1);border-radius:100px;margin:0 auto;text-align:center}"]],data:{}});function ym(t){return r._29(0,[(t()(),r._5(0,0,null,null,9,"div",[["class","-buttons-container"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,2,"app-button",[["class","-toggle dark -small-button"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.onLeftClick()&&r),r},g_,p_)),r._4(3,49152,null,0,Sc,[],{disabled:[0,"disabled"],forceEmitEvents:[1,"forceEmitEvents"]},{action:"action"}),(t()(),r._27(4,0,["",""])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(6,0,null,null,2,"app-button",[["class","-toggle dark -small-button"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.onRightClick()&&r),r},g_,p_)),r._4(7,49152,null,0,Sc,[],{disabled:[0,"disabled"],forceEmitEvents:[1,"forceEmitEvents"]},{action:"action"}),(t()(),r._27(8,0,["",""])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0,n.activeButton!==n.ButtonState.LeftButton,!0),t(e,7,0,n.activeButton!==n.ButtonState.RightButton,!0)},function(t,e){var n=e.component;t(e,4,0,n.leftButtonText),t(e,8,0,n.rightButtonText)})}var vm=function(){function t(t){this.dialogRef=t,this.acceptSafe=!1}return t.prototype.closePopup=function(){this.dialogRef.close(this.acceptSafe)},t.prototype.setAccept=function(t){this.acceptSafe=t.checked},t}(),bm=function(){function t(t,e,n){this.dialog=t,this.walletService=e,this.formBuilder=n,this.fill=null,this.onLabelAndSeedCreated=new r.n,this.doubleButtonActive=_m.LeftButton}return t.prototype.ngOnInit=function(){this.initForm()},t.prototype.initForm=function(){this.form=this.formBuilder.group({label:new Hs("",Xa.compose([Xa.required,Xa.minLength(2)])),seed:new Hs("",Xa.compose([Xa.required,Xa.minLength(2)])),confirm_seed:new Hs("",Xa.compose(this.showCreateForm?[Xa.required,Xa.minLength(2)]:[]))},this.showCreateForm?{validator:this.seedMatchValidator.bind(this)}:{}),this.fill?(this.form.get("label").setValue(this.fill.label),this.form.get("seed").setValue(this.fill.seed),this.form.get("confirm_seed").setValue(this.fill.seed),this.doubleButtonActive=this.fill.create?_m.LeftButton:_m.RightButton):this.showCreateForm&&this.generateSeed(128)},t.prototype.changeForm=function(t){this.doubleButtonActive=t,this.fill=null,this.initForm()},t.prototype.createWallet=function(){var t=this;this.showSafe().afterClosed().subscribe(function(e){e&&t.emitCreatedData()})},t.prototype.loadWallet=function(){this.emitCreatedData()},t.prototype.generateSeed=function(t){var e=this;this.walletService.generateSeed(t).subscribe(function(t){return e.form.get("seed").setValue(t)})},Object.defineProperty(t.prototype,"showCreateForm",{get:function(){return this.doubleButtonActive===_m.LeftButton},enumerable:!0,configurable:!0}),t.prototype.emitCreatedData=function(){this.onLabelAndSeedCreated.emit([this.form.get("label").value,this.form.get("seed").value,this.doubleButtonActive===_m.LeftButton])},t.prototype.seedMatchValidator=function(t){return t.get("seed").value===t.get("confirm_seed").value?null:{mismatch:!0}},t.prototype.showSafe=function(){var t=new Pa;return t.width="450px",this.dialog.open(vm,t)},t}(),wm=r._3({encapsulation:0,styles:[[".-header[_ngcontent-%COMP%]{color:#fafafa;position:relative;margin-top:20px;margin-bottom:10px;line-height:30px;font-size:20px;text-align:center}.-description[_ngcontent-%COMP%]{line-height:25px;font-size:14px;text-align:center;color:#fafafa;mix-blend-mode:normal;opacity:.5}.-buttons-footer[_ngcontent-%COMP%]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.-toggle-container[_ngcontent-%COMP%]{margin:10px auto}[_nghost-%COMP%] .-buttons-footer button{margin:2px 10px!important}.-text-align-center[_ngcontent-%COMP%]{text-align:center}label[for=seed][_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex}label[for=seed][_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-child{-webkit-box-flex:1;-ms-flex:1;flex:1}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%]{text-align:right}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:13px;height:10px;font-size:13px;position:relative;top:2px}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{padding:0 5px}"]],data:{}});function Mm(t){return r._29(0,[(t()(),r._5(0,0,null,null,12,"span",[["class","generators"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,16777216,null,null,2,"span",[["matTooltip","Generate 12 word seed"]],null,[[null,"click"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0,o=t.component;return"longpress"===e&&(i=!1!==r._17(t,3).show()&&i),"keydown"===e&&(i=!1!==r._17(t,3)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._17(t,3)._handleTouchend()&&i),"click"===e&&(i=!1!==o.generateSeed(128)&&i),i},null,null)),r._4(3,147456,null,0,oc,[eo,r.k,ci,r.N,r.y,Qr,Mo,Oo,nc,[2,mi],[2,ic]],{message:[0,"message"]},null),(t()(),r._27(-1,null,["12 words"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(6,0,null,null,1,"span",[["class","divider"]],null,null,null,null,null)),(t()(),r._27(-1,null,["|"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(9,16777216,null,null,2,"span",[["matTooltip","Generate 24 word seed"]],null,[[null,"click"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0,o=t.component;return"longpress"===e&&(i=!1!==r._17(t,10).show()&&i),"keydown"===e&&(i=!1!==r._17(t,10)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._17(t,10)._handleTouchend()&&i),"click"===e&&(i=!1!==o.generateSeed(256)&&i),i},null,null)),r._4(10,147456,null,0,oc,[eo,r.k,ci,r.N,r.y,Qr,Mo,Oo,nc,[2,mi],[2,ic]],{message:[0,"message"]},null),(t()(),r._27(-1,null,["24 words"])),(t()(),r._27(-1,null,["\n "]))],function(t,e){t(e,3,0,"Generate 12 word seed"),t(e,10,0,"Generate 24 word seed")},null)}function km(t){return r._29(0,[(t()(),r._5(0,0,null,null,93,"div",[["class","onboarding-container"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,16,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(4,0,null,null,13,"div",[["class","col-sm-4"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(6,0,null,null,4,"div",[["class","-header"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(8,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Create a Wallet"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(12,0,null,null,4,"div",[["class","-description"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(14,0,null,null,1,"p",[],null,null,null,null,null)),(t()(),r._27(-1,null,['\n If you don\'t have a SolarBankerCoin wallet, use the generated seed to create a new one.\n If you already have a wallet, toggle over to "Load Wallet" and enter your seed.\n '])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(20,0,null,null,7,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(22,0,null,null,4,"div",[["class","col-sm-4 -toggle-container"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(24,0,null,null,1,"app-double-button",[["leftButtonText","New"],["rightButtonText","Load"]],null,[[null,"onStateChange"]],function(t,e,n){var r=!0;return"onStateChange"===e&&(r=!1!==t.component.changeForm(n)&&r),r},ym,gm)),r._4(25,49152,null,0,mm,[],{rightButtonText:[0,"rightButtonText"],leftButtonText:[1,"leftButtonText"],activeButton:[2,"activeButton"]},{onStateChange:"onStateChange"}),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(29,0,null,null,56,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(31,0,null,null,53,"div",[["class","col-sm-4"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(33,0,null,null,50,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._17(t,35).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._17(t,35).onReset()&&i),i},null,null)),r._4(34,16384,null,0,Qs,[],null,null),r._4(35,540672,null,0,Us,[[8,null],[8,null]],{form:[0,"form"]},null),r._23(2048,null,qa,null,[Us]),r._4(37,16384,null,0,Ps,[qa],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(39,0,null,null,11,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(41,0,null,null,1,"label",[["for","label"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Name"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(44,0,null,null,5,"input",[["formControlName","label"],["id","label"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._17(t,45)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,45).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,45)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,45)._compositionEnd(n.target.value)&&i),i},null,null)),r._4(45,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(47,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(49,16384,null,0,Ys,[ls],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(52,0,null,null,17,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(54,0,null,null,7,"label",[["for","seed"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(56,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Seed"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,Mm)),r._4(60,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(63,0,null,null,5,"textarea",[["class","form-control"],["formControlName","seed"],["id","seed"],["rows","2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._17(t,64)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,64).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,64)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,64)._compositionEnd(n.target.value)&&i),i},null,null)),r._4(64,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(66,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(68,16384,null,0,Ys,[ls],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(71,0,null,null,11,"div",[["class","form-field"]],[[4,"visibility",null]],null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(73,0,null,null,1,"label",[["for","confirm_seed"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Confirm seed"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(76,0,null,null,5,"textarea",[["class","form-control"],["formControlName","confirm_seed"],["id","confirm_seed"],["rows","2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._17(t,77)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,77).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,77)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,77)._compositionEnd(n.target.value)&&i),i},null,null)),r._4(77,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(79,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(81,16384,null,0,Ys,[ls],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(87,0,null,null,5,"div",[["class","row -buttons-footer"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(89,0,null,null,2,"app-button",[["class","dark -button-min-margin"]],null,[[null,"action"]],function(t,e,n){var r=!0,i=t.component;return"action"===e&&(r=!1!==(i.showCreateForm?i.createWallet():i.loadWallet())&&r),r},g_,p_)),r._4(90,49152,null,0,Sc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._27(-1,0,["\n Create\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,25,0,"Load","New",n.doubleButtonActive),t(e,35,0,n.form),t(e,47,0,"label"),t(e,60,0,n.showCreateForm),t(e,66,0,"seed"),t(e,79,0,"confirm_seed"),t(e,90,0,!n.form.valid)},function(t,e){var n=e.component;t(e,33,0,r._17(e,37).ngClassUntouched,r._17(e,37).ngClassTouched,r._17(e,37).ngClassPristine,r._17(e,37).ngClassDirty,r._17(e,37).ngClassValid,r._17(e,37).ngClassInvalid,r._17(e,37).ngClassPending),t(e,44,0,r._17(e,49).ngClassUntouched,r._17(e,49).ngClassTouched,r._17(e,49).ngClassPristine,r._17(e,49).ngClassDirty,r._17(e,49).ngClassValid,r._17(e,49).ngClassInvalid,r._17(e,49).ngClassPending),t(e,63,0,r._17(e,68).ngClassUntouched,r._17(e,68).ngClassTouched,r._17(e,68).ngClassPristine,r._17(e,68).ngClassDirty,r._17(e,68).ngClassValid,r._17(e,68).ngClassInvalid,r._17(e,68).ngClassPending),t(e,71,0,n.showCreateForm?"visible":"hidden"),t(e,76,0,r._17(e,81).ngClassUntouched,r._17(e,81).ngClassTouched,r._17(e,81).ngClassPristine,r._17(e,81).ngClassDirty,r._17(e,81).ngClassValid,r._17(e,81).ngClassInvalid,r._17(e,81).ngClassPending)})}var xm=r._3({encapsulation:2,styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.91026}50%{animation-timing-function:cubic-bezier(0,0,.2,.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0,0,0,1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(.4,0,1,1);stroke-dashoffset:0}to{stroke-dashoffset:-22.91026}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0,0,.2,.1);opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(.14,0,0,1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0,0,.2,.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(.14,0,0,1);opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}100%,32.8%{opacity:0;transform:scaleX(0)}}.mat-checkbox-checkmark,.mat-checkbox-mixedmark{width:calc(100% - 4px)}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);cursor:pointer}.mat-checkbox-layout{cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-inner-container{display:inline-block;height:20px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:20px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0,0,.2,.1);border-width:2px;border-style:solid}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0,0,.2,.1),opacity 90ms cubic-bezier(0,0,.2,.1)}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.91026;stroke-dasharray:22.91026;stroke-width:2.66667px}.mat-checkbox-mixedmark{height:2px;opacity:0;transform:scaleX(0) rotate(0)}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0s mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0s mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0s mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0s mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0s mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:.5s linear 0s mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:.5s linear 0s mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:.3s linear 0s mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}.mat-checkbox-ripple{position:absolute;left:calc(50% - 25px);top:calc(50% - 25px);height:50px;width:50px;z-index:1;pointer-events:none}"],data:{}});function Lm(t){return r._29(2,[r._25(402653184,1,{_inputElement:0}),r._25(402653184,2,{ripple:0}),(t()(),r._5(2,0,[["label",1]],null,15,"label",[["class","mat-checkbox-layout"]],[[1,"for",0]],null,null,null,null)),(t()(),r._5(3,0,null,null,9,"div",[["class","mat-checkbox-inner-container"]],[[2,"mat-checkbox-inner-container-no-side-margin",null]],null,null,null,null)),(t()(),r._5(4,0,[[1,0],["input",1]],null,0,"input",[["class","mat-checkbox-input cdk-visually-hidden"],["type","checkbox"]],[[8,"id",0],[8,"required",0],[8,"checked",0],[1,"value",0],[8,"disabled",0],[1,"name",0],[8,"tabIndex",0],[8,"indeterminate",0],[1,"aria-label",0],[1,"aria-labelledby",0],[1,"aria-checked",0]],[[null,"change"],[null,"click"]],function(t,e,n){var r=!0,i=t.component;return"change"===e&&(r=!1!==i._onInteractionEvent(n)&&r),"click"===e&&(r=!1!==i._onInputClick(n)&&r),r},null,null)),(t()(),r._5(5,0,null,null,2,"div",[["class","mat-checkbox-ripple mat-ripple"],["matRipple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),r._4(6,212992,[[2,4]],0,Jo,[r.k,r.y,Qr,[2,qo]],{centered:[0,"centered"],radius:[1,"radius"],animation:[2,"animation"],disabled:[3,"disabled"],trigger:[4,"trigger"]},null),r._21(7,{enterDuration:0}),(t()(),r._5(8,0,null,null,0,"div",[["class","mat-checkbox-frame"]],null,null,null,null,null)),(t()(),r._5(9,0,null,null,3,"div",[["class","mat-checkbox-background"]],null,null,null,null,null)),(t()(),r._5(10,0,null,null,1,":svg:svg",[[":xml:space","preserve"],["class","mat-checkbox-checkmark"],["focusable","false"],["version","1.1"],["viewBox","0 0 24 24"]],null,null,null,null,null)),(t()(),r._5(11,0,null,null,0,":svg:path",[["class","mat-checkbox-checkmark-path"],["d","M4.1,12.7 9,17.6 20.3,6.3"],["fill","none"],["stroke","white"]],null,null,null,null,null)),(t()(),r._5(12,0,null,null,0,"div",[["class","mat-checkbox-mixedmark"]],null,null,null,null,null)),(t()(),r._5(13,0,[["checkboxLabel",1]],null,4,"span",[["class","mat-checkbox-label"]],null,[[null,"cdkObserveContent"]],function(t,e,n){var r=!0;return"cdkObserveContent"===e&&(r=!1!==t.component._onLabelTextChange()&&r),r},null,null)),r._4(14,1720320,null,0,Ll,[xl,r.k,r.y],null,{event:"cdkObserveContent"}),(t()(),r._5(15,0,null,null,1,"span",[["style","display:none"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\xa0"])),r._16(null,0)],function(t,e){var n=e.component;t(e,6,0,!0,25,t(e,7,0,150),n._isRippleDisabled(),r._17(e,2))},function(t,e){var n=e.component;t(e,2,0,n.inputId),t(e,3,0,!r._17(e,13).textContent||!r._17(e,13).textContent.trim()),t(e,4,1,[n.inputId,n.required,n.checked,n.value,n.disabled,n.name,n.tabIndex,n.indeterminate,n.ariaLabel,n.ariaLabelledby,n._getAriaChecked()]),t(e,5,0,r._17(e,6).unbounded)})}var Cm=function(){function t(t){this.formBuilder=t,this.onPasswordCreated=new r.n,this.onBack=new r.n}return t.prototype.ngOnInit=function(){this.initEncryptForm()},t.prototype.initEncryptForm=function(){this.form=this.formBuilder.group({password:new Hs("",Xa.compose([Xa.required,Xa.minLength(2)])),confirm:new Hs("",Xa.compose([Xa.required,Xa.minLength(2)]))},{validator:this.passwordMatchValidator.bind(this)})},t.prototype.setEncrypt=function(t){t.checked?this.form.enable():this.form.disable()},t.prototype.emitCreatedPassword=function(){this.form.enabled&&!this.form.valid||this.button.isLoading()||(this.button.setLoading(),this.onPasswordCreated.emit(this.form.enabled?this.form.get("password").value:null))},t.prototype.emitBack=function(){this.onBack.emit()},Object.defineProperty(t.prototype,"isWorking",{get:function(){return this.button.isLoading()},enumerable:!0,configurable:!0}),t.prototype.passwordMatchValidator=function(t){return t.get("password").value===t.get("confirm").value?null:{mismatch:!0}},t}(),Sm=r._3({encapsulation:0,styles:[[".-header[_ngcontent-%COMP%]{color:#fafafa;position:relative;margin-top:20px;margin-bottom:10px;line-height:30px;font-size:20px;text-align:center}.-description[_ngcontent-%COMP%]{line-height:25px;font-size:14px;text-align:center;color:#fafafa;mix-blend-mode:normal;opacity:.5}.-buttons-footer[_ngcontent-%COMP%]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.-check-container[_ngcontent-%COMP%]{margin:10px auto;text-align:center}[_nghost-%COMP%] .-buttons-footer button{margin:2px 10px!important}.-text-align-center[_ngcontent-%COMP%]{text-align:center}.-check[_ngcontent-%COMP%] .mat-checkbox-checkmark-path{position:absolute;width:18px;height:8px;left:4.59px;top:9px;stroke:#fafafa!important}.-check[_ngcontent-%COMP%] .mat-checkbox-background, .-check[_ngcontent-%COMP%] .mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none;width:20px;height:20px;background:rgba(30,34,39,.05);border-radius:6px;border-color:transparent}.-check[_ngcontent-%COMP%] span{font-family:Skycoin;line-height:normal;font-size:14px;color:#fbfbfb}.-check[_ngcontent-%COMP%] span img{width:38px;height:38px;vertical-align:middle}.-input.disable[_ngcontent-%COMP%]{background:rgba(255,255,255,.1)}.-hidden[_ngcontent-%COMP%]{display:none}"]],data:{}});function Tm(t){return r._29(0,[r._25(402653184,1,{button:0}),(t()(),r._5(1,0,null,null,87,"div",[["class","onboarding-container"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(3,0,null,null,16,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(5,0,null,null,13,"div",[["class","col-sm-4"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(7,0,null,null,4,"div",[["class","-header"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(9,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Encrypt your wallet"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(13,0,null,null,4,"div",[["class","-description"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(15,0,null,null,1,"p",[],null,null,null,null,null)),(t()(),r._27(-1,null,["\n Increase security of your wallet by encrypting it. By entering a password below, your wallet will be\n encrypted. Only those with the password will be able access the wallet and remove funds.\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(21,0,null,null,10,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(23,0,null,null,7,"div",[["class","col-sm-4 -check-container"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(25,0,null,null,4,"mat-checkbox",[["class","-check mat-checkbox"],["id","encrypt"],["type","checkbox"]],[[8,"id",0],[2,"mat-checkbox-indeterminate",null],[2,"mat-checkbox-checked",null],[2,"mat-checkbox-disabled",null],[2,"mat-checkbox-label-before",null]],[[null,"change"]],function(t,e,n){var r=!0;return"change"===e&&(r=!1!==t.component.setEncrypt(n)&&r),r},Lm,xm)),r._23(5120,null,ts,function(t){return[t]},[Ol]),r._4(27,4374528,null,0,Ol,[r.k,r.h,Oo,[8,null],[2,Sl]],{id:[0,"id"],checked:[1,"checked"]},{change:"change"}),(t()(),r._5(28,0,null,0,0,"img",[["src","../../../../../assets/img/lock-gold.png"]],null,null,null,null,null)),(t()(),r._27(-1,0,["Encrypt Wallet\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(33,0,null,null,41,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(35,0,null,null,38,"div",[["class","col-sm-4"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(37,0,null,null,35,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._17(t,39).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._17(t,39).onReset()&&i),i},null,null)),r._4(38,16384,null,0,Qs,[],null,null),r._4(39,540672,null,0,Us,[[8,null],[8,null]],{form:[0,"form"]},null),r._23(2048,null,qa,null,[Us]),r._4(41,16384,null,0,Ps,[qa],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(43,0,null,null,13,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(45,0,null,null,1,"label",[["for","password"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Password"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(48,0,null,null,7,"input",[["class","-input"],["formControlName","password"],["id","password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._17(t,51)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,51).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,51)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,51)._compositionEnd(n.target.value)&&i),i},null,null)),r._4(49,278528,null,0,A,[r.r,r.s,r.k,r.C],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._21(50,{disable:0}),r._4(51,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(53,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(55,16384,null,0,Ys,[ls],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(58,0,null,null,13,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(60,0,null,null,1,"label",[["for","confirm"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Confirm password"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(63,0,null,null,7,"input",[["class","-input"],["formControlName","confirm"],["id","confirm"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._17(t,66)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,66).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,66)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,66)._compositionEnd(n.target.value)&&i),"keydown.enter"===e&&(i=!1!==o.emitCreatedPassword()&&i),i},null,null)),r._4(64,278528,null,0,A,[r.r,r.s,r.k,r.C],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._21(65,{disable:0}),r._4(66,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(68,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(70,16384,null,0,Ys,[ls],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(76,0,null,null,11,"div",[["class","row -buttons-footer"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(78,0,null,null,2,"app-button",[["class","dark -button-min-margin"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.emitCreatedPassword()&&r),r},g_,p_)),r._4(79,49152,[[1,4],["button",4]],0,Sc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._27(-1,0,["\n Finish\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(82,0,null,null,4,"app-button",[["class","ghost -button-min-margin"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.emitBack()&&r),r},g_,p_)),r._4(83,278528,null,0,A,[r.r,r.s,r.k,r.C],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._21(84,{"-hidden":0}),r._4(85,49152,null,0,Sc,[],null,{action:"action"}),(t()(),r._27(-1,0,["\n Back\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,27,0,"encrypt",!0),t(e,39,0,n.form),t(e,49,0,"-input",t(e,50,0,n.form.disabled)),t(e,53,0,"password"),t(e,64,0,"-input",t(e,65,0,n.form.disabled)),t(e,68,0,"confirm"),t(e,79,0,n.form.enabled&&!n.form.valid),t(e,83,0,"ghost -button-min-margin",t(e,84,0,n.isWorking))},function(t,e){t(e,25,0,r._17(e,27).id,r._17(e,27).indeterminate,r._17(e,27).checked,r._17(e,27).disabled,"before"==r._17(e,27).labelPosition),t(e,37,0,r._17(e,41).ngClassUntouched,r._17(e,41).ngClassTouched,r._17(e,41).ngClassPristine,r._17(e,41).ngClassDirty,r._17(e,41).ngClassValid,r._17(e,41).ngClassInvalid,r._17(e,41).ngClassPending),t(e,48,0,r._17(e,55).ngClassUntouched,r._17(e,55).ngClassTouched,r._17(e,55).ngClassPristine,r._17(e,55).ngClassDirty,r._17(e,55).ngClassValid,r._17(e,55).ngClassInvalid,r._17(e,55).ngClassPending),t(e,63,0,r._17(e,70).ngClassUntouched,r._17(e,70).ngClassTouched,r._17(e,70).ngClassPristine,r._17(e,70).ngClassDirty,r._17(e,70).ngClassValid,r._17(e,70).ngClassInvalid,r._17(e,70).ngClassPending)})}var Dm=r._3({encapsulation:0,styles:[[""]],data:{}});function Om(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-onboarding-create-wallet",[],null,[[null,"onLabelAndSeedCreated"]],function(t,e,n){var r=!0;return"onLabelAndSeedCreated"===e&&(r=!1!==t.component.onLabelAndSeedCreated(n)&&r),r},km,wm)),r._4(1,114688,null,0,bm,[Va,Xr,Zs],{fill:[0,"fill"]},{onLabelAndSeedCreated:"onLabelAndSeedCreated"})],function(t,e){t(e,1,0,e.component.fill)},null)}function Ym(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-onboarding-encrypt-wallet",[],null,[[null,"onPasswordCreated"],[null,"onBack"]],function(t,e,n){var r=!0,i=t.component;return"onPasswordCreated"===e&&(r=!1!==i.onPasswordCreated(n)&&r),"onBack"===e&&(r=!1!==i.onBack()&&r),r},Tm,Sm)),r._4(1,114688,null,0,Cm,[Zs],null,{onPasswordCreated:"onPasswordCreated",onBack:"onBack"})],function(t,e){t(e,1,0)},null)}function Pm(t){return r._29(0,[(t()(),r._0(16777216,null,null,1,null,Om)),r._4(1,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n\n"])),(t()(),r._0(16777216,null,null,1,null,Ym)),r._4(4,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,1,0,1===n.step),t(e,4,0,2===n.step)},null)}var Em=r._1("app-onboarding",zp,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-onboarding",[],null,null,null,Pm,Dm)),r._4(1,49152,null,0,zp,[Qh,Xr],null,null)],null,null)},{},{},[]),jm=r._3({encapsulation:2,styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;position:relative;cursor:pointer;outline:0;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}"],data:{}});function Am(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"mat-pseudo-checkbox",[["class","mat-option-pseudo-checkbox mat-pseudo-checkbox"]],[[2,"mat-pseudo-checkbox-indeterminate",null],[2,"mat-pseudo-checkbox-checked",null],[2,"mat-pseudo-checkbox-disabled",null]],null,null,Rm,Hm)),r._4(1,49152,null,0,Ko,[],{state:[0,"state"],disabled:[1,"disabled"]},null)],function(t,e){var n=e.component;t(e,1,0,n.selected?"checked":"",n.disabled)},function(t,e){t(e,0,0,"indeterminate"===r._17(e,1).state,"checked"===r._17(e,1).state,r._17(e,1).disabled)})}function Im(t){return r._29(2,[(t()(),r._0(16777216,null,null,1,null,Am)),r._4(1,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._5(2,0,null,null,1,"span",[["class","mat-option-text"]],null,null,null,null,null)),r._16(null,0),(t()(),r._5(4,0,null,null,1,"div",[["class","mat-option-ripple mat-ripple"],["mat-ripple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),r._4(5,212992,null,0,Jo,[r.k,r.y,Qr,[2,qo]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,1,0,n.multiple),t(e,5,0,n.disabled||n.disableRipple,n._getHostElement())},function(t,e){t(e,4,0,r._17(e,5).unbounded)})}var Hm=r._3({encapsulation:2,styles:[".mat-pseudo-checkbox{width:20px;height:20px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0,0,.2,.1),background-color 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:'';border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:9px;left:2px;width:16px;opacity:1}.mat-pseudo-checkbox-checked::after{top:5px;left:3px;width:12px;height:5px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1}"],data:{}});function Rm(t){return r._29(2,[],null,null)}var Nm=r._3({encapsulation:2,styles:[".mat-select{display:inline-block;width:100%;outline:0}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}@media screen and (-ms-high-contrast:active){.mat-select-panel{outline:solid 1px}}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;transition:none}"],data:{animation:[{type:7,name:"transformPanel",definitions:[{type:0,name:"showing",styles:{type:6,styles:{opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"},offset:null},options:void 0},{type:0,name:"showing-multiple",styles:{type:6,styles:{opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"},offset:null},options:void 0},{type:1,expr:"void => *",animation:[{type:6,styles:{opacity:0,minWidth:"100%",transform:"scaleY(0)"},offset:null},{type:4,styles:null,timings:"150ms cubic-bezier(0.25, 0.8, 0.25, 1)"}],options:null},{type:1,expr:"* => void",animation:[{type:4,styles:{type:6,styles:{opacity:0},offset:null},timings:"250ms 100ms linear"}],options:null}],options:{}},{type:7,name:"fadeInContent",definitions:[{type:0,name:"showing",styles:{type:6,styles:{opacity:1},offset:null},options:void 0},{type:1,expr:"void => showing",animation:[{type:6,styles:{opacity:0},offset:null},{type:4,styles:null,timings:"150ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function Fm(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"span",[["class","mat-select-placeholder"]],null,null,null,null,null)),(t()(),r._27(1,null,["",""]))],null,function(t,e){t(e,1,0,e.component.placeholder||"\xa0")})}function Vm(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(1,null,["",""]))],null,function(t,e){t(e,1,0,e.component.triggerValue)})}function zm(t){return r._29(0,[r._16(null,0),(t()(),r._0(0,null,null,0))],null,null)}function Wm(t){return r._29(0,[(t()(),r._5(0,0,null,null,5,"span",[["class","mat-select-value-text"]],null,null,null,null,null)),r._4(1,16384,null,0,z,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),r._0(16777216,null,null,1,null,Vm)),r._4(3,16384,null,0,B,[r.N,r.K,z],null,null),(t()(),r._0(16777216,null,null,1,null,zm)),r._4(5,278528,null,0,W,[r.N,r.K,z],{ngSwitchCase:[0,"ngSwitchCase"]},null)],function(t,e){t(e,1,0,!!e.component.customTrigger),t(e,5,0,!0)},null)}function Bm(t){return r._29(0,[(t()(),r._5(0,0,[[2,0],["panel",1]],null,3,"div",[],[[24,"@transformPanel",0],[4,"transformOrigin",null],[2,"mat-select-panel-done-animating",null],[4,"font-size","px"]],[[null,"@transformPanel.done"],[null,"keydown"]],function(t,e,n){var r=!0,i=t.component;return"@transformPanel.done"===e&&(r=!1!==i._onPanelDone()&&r),"keydown"===e&&(r=!1!==i._handleKeydown(n)&&r),r},null,null)),r._4(1,278528,null,0,A,[r.r,r.s,r.k,r.C],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),r._5(2,0,null,null,1,"div",[["class","mat-select-content"]],[[24,"@fadeInContent",0]],[[null,"@fadeInContent.done"]],function(t,e,n){var r=!0;return"@fadeInContent.done"===e&&(r=!1!==t.component._onFadeInDone()&&r),r},null,null)),r._16(null,1)],function(t,e){var n=e.component;t(e,1,0,r._8(1,"mat-select-panel ",n._getPanelTheme(),""),n.panelClass)},function(t,e){var n=e.component;t(e,0,0,n.multiple?"showing-multiple":"showing",n._transformOrigin,n._panelDoneAnimating,n._triggerFontSize),t(e,2,0,"showing")})}function Um(t){return r._29(2,[r._25(402653184,1,{trigger:0}),r._25(671088640,2,{panel:0}),r._25(402653184,3,{overlayDir:0}),(t()(),r._5(3,0,[[1,0],["trigger",1]],null,9,"div",[["aria-hidden","true"],["cdk-overlay-origin",""],["class","mat-select-trigger"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.toggle()&&r),r},null,null)),r._4(4,16384,[["origin",4]],0,oo,[r.k],null,null),(t()(),r._5(5,0,null,null,5,"div",[["class","mat-select-value"]],null,null,null,null,null)),r._4(6,16384,null,0,z,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),r._0(16777216,null,null,1,null,Fm)),r._4(8,278528,null,0,W,[r.N,r.K,z],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),r._0(16777216,null,null,1,null,Wm)),r._4(10,278528,null,0,W,[r.N,r.K,z],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),r._5(11,0,null,null,1,"div",[["class","mat-select-arrow-wrapper"]],null,null,null,null,null)),(t()(),r._5(12,0,null,null,0,"div",[["class","mat-select-arrow"]],null,null,null,null,null)),(t()(),r._0(16777216,null,null,1,function(t,e,n){var r=!0,i=t.component;return"backdropClick"===e&&(r=!1!==i.close()&&r),"attach"===e&&(r=!1!==i._onAttached()&&r),"detach"===e&&(r=!1!==i.close()&&r),r},Bm)),r._4(14,671744,[[3,4]],0,ao,[eo,r.K,r.N,ro,[2,mi]],{lockPosition:[0,"lockPosition"],_deprecatedOrigin:[1,"_deprecatedOrigin"],_deprecatedPositions:[2,"_deprecatedPositions"],_deprecatedOffsetY:[3,"_deprecatedOffsetY"],_deprecatedMinWidth:[4,"_deprecatedMinWidth"],_deprecatedBackdropClass:[5,"_deprecatedBackdropClass"],_deprecatedScrollStrategy:[6,"_deprecatedScrollStrategy"],_deprecatedOpen:[7,"_deprecatedOpen"],_deprecatedHasBackdrop:[8,"_deprecatedHasBackdrop"]},{backdropClick:"backdropClick",attach:"attach",detach:"detach"})],function(t,e){var n=e.component;t(e,6,0,n.empty),t(e,8,0,!0),t(e,10,0,!1),t(e,14,0,"",r._17(e,4),n._positions,n._offsetY,null==n._triggerRect?null:n._triggerRect.width,"cdk-overlay-transparent-backdrop",n._scrollStrategy,n.panelOpen,"")},null)}var qm=function(){function t(t,e,n,r){this.walletService=t,this.dialogRef=e,this.formBuilder=n,this.purchaseService=r}return t.prototype.ngOnInit=function(){this.initForm()},t.prototype.generate=function(){var t=this;this.purchaseService.generate(this.form.value.address).subscribe(function(){return t.dialogRef.close()})},t.prototype.initForm=function(){this.form=this.formBuilder.group({address:["",Xa.required]})},t}(),Jm=r._3({encapsulation:0,styles:[["mat-select[_ngcontent-%COMP%]{width:100%;padding:40px 0 20px}"]],data:{}});function Gm(t){return r._29(0,[(t()(),r._5(0,0,null,null,2,"mat-option",[["class","mat-option"],["role","option"]],[[1,"tabindex",0],[2,"mat-selected",null],[2,"mat-option-multiple",null],[2,"mat-active",null],[8,"id",0],[1,"aria-selected",0],[1,"aria-disabled",0],[2,"mat-option-disabled",null]],[[null,"click"],[null,"keydown"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._17(t,1)._selectViaInteraction()&&i),"keydown"===e&&(i=!1!==r._17(t,1)._handleKeydown(n)&&i),i},Im,jm)),r._4(1,8437760,[[1,4]],0,ea,[r.k,r.h,[2,ta],[2,Qo]],{value:[0,"value"]},null),(t()(),r._27(2,0,["\n ","\n "]))],function(t,e){t(e,1,0,e.context.$implicit.address)},function(t,e){t(e,0,0,r._17(e,1)._getTabIndex(),r._17(e,1).selected,r._17(e,1).multiple,r._17(e,1).active,r._17(e,1).id,r._17(e,1).selected.toString(),r._17(e,1).disabled.toString(),r._17(e,1).disabled),t(e,2,0,e.context.$implicit.address)})}function Km(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"p",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Choose an address to generate a BTC deposit link for:"])),(t()(),r._27(-1,null,["\n"])),(t()(),r._5(3,0,null,null,20,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._17(t,4).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._17(t,4).onReset()&&i),i},null,null)),r._4(4,540672,null,0,Us,[[8,null],[8,null]],{form:[0,"form"]},null),r._23(2048,null,qa,null,[Us]),r._4(6,16384,null,0,Ps,[qa],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(8,0,null,null,14,"mat-select",[["class","input-field mat-select"],["formControlName","address"],["placeholder","Select Address"],["role","listbox"]],[[1,"id",0],[1,"tabindex",0],[1,"aria-label",0],[1,"aria-labelledby",0],[1,"aria-required",0],[1,"aria-disabled",0],[1,"aria-invalid",0],[1,"aria-owns",0],[1,"aria-multiselectable",0],[1,"aria-describedby",0],[1,"aria-activedescendant",0],[2,"mat-select-disabled",null],[2,"mat-select-invalid",null],[2,"mat-select-required",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown"],[null,"focus"],[null,"blur"]],function(t,e,n){var i=!0;return"keydown"===e&&(i=!1!==r._17(t,13)._handleKeydown(n)&&i),"focus"===e&&(i=!1!==r._17(t,13)._onFocus()&&i),"blur"===e&&(i=!1!==r._17(t,13)._onBlur()&&i),i},Um,Nm)),r._23(6144,null,ta,null,[zu]),r._23(6144,null,ll,null,[zu]),r._4(11,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[8,null]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(13,2080768,null,3,zu,[hi,r.h,r.y,No,r.k,[2,mi],[2,Vs],[2,Us],[2,dl],[2,ls],[8,null],Fu],{placeholder:[0,"placeholder"]},null),r._25(603979776,1,{options:1}),r._25(603979776,2,{optionGroups:1}),r._25(335544320,3,{customTrigger:0}),r._4(17,16384,null,0,Ys,[ls],null,null),(t()(),r._27(-1,1,["\n "])),(t()(),r._0(16777216,null,1,2,null,Gm)),r._4(20,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),r._20(131072,Lt,[r.h]),(t()(),r._27(-1,1,["\n "])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"])),(t()(),r._5(25,0,null,null,5,"div",[["class","button-line"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(27,0,null,null,2,"a",[["mat-raised-button",""]],[[1,"tabindex",0],[1,"disabled",0],[1,"aria-disabled",0]],[[null,"click"]],function(t,e,n){var i=!0,o=t.component;return"click"===e&&(i=!1!==r._17(t,28)._haltDisabledEvents(n)&&i),"click"===e&&(i=!1!==o.generate()&&i),i},Of,Df)),r._4(28,180224,null,0,gl,[Qr,Oo,r.k],null,null),(t()(),r._27(-1,0,["Generate"])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,4,0,n.form),t(e,11,0,"address"),t(e,13,0,"Select Address"),t(e,20,0,r._28(e,20,0,r._17(e,21).transform(n.walletService.allAddresses())))},function(t,e){t(e,3,0,r._17(e,6).ngClassUntouched,r._17(e,6).ngClassTouched,r._17(e,6).ngClassPristine,r._17(e,6).ngClassDirty,r._17(e,6).ngClassValid,r._17(e,6).ngClassInvalid,r._17(e,6).ngClassPending),t(e,8,1,[r._17(e,13).id,r._17(e,13).tabIndex,r._17(e,13)._ariaLabel,r._17(e,13).ariaLabelledby,r._17(e,13).required.toString(),r._17(e,13).disabled.toString(),r._17(e,13).errorState,r._17(e,13).panelOpen?r._17(e,13)._optionIds:null,r._17(e,13).multiple,r._17(e,13)._ariaDescribedby||null,r._17(e,13)._getAriaActiveDescendant(),r._17(e,13).disabled,r._17(e,13).errorState,r._17(e,13).required,r._17(e,17).ngClassUntouched,r._17(e,17).ngClassTouched,r._17(e,17).ngClassPristine,r._17(e,17).ngClassDirty,r._17(e,17).ngClassValid,r._17(e,17).ngClassInvalid,r._17(e,17).ngClassPending]),t(e,27,0,r._17(e,28).disabled?-1:0,r._17(e,28).disabled||null,r._17(e,28).disabled.toString())})}var Xm=r._1("app-add-deposit-address",qm,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-add-deposit-address",[],null,null,null,Km,Jm)),r._4(1,114688,null,0,qm,[Xr,Ia,Zs,Ap],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Zm=function(){function t(){}return t.prototype.closePopup=function(){this.disableDismiss||this.dialog.close()},t.prototype.ngOnChanges=function(t){t.disableDismiss&&(this.dialog.disableClose=t.disableDismiss.currentValue)},t}(),Qm=r._3({encapsulation:0,styles:[[".-header[_ngcontent-%COMP%]{background-color:#f7f7f7;border-top-left-radius:5px;border-top-right-radius:5px;line-height:50px;position:relative;text-align:center}.-header[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{cursor:pointer;height:32px;position:absolute;right:9px;top:9px}.-body[_ngcontent-%COMP%]{background-color:#fbfbfb;padding:30px}"]],data:{}});function $m(t){return r._29(0,[(t()(),r._5(0,0,null,null,0,"img",[["src","../../../../../assets/img/close-grey.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.closePopup()&&r),r},null,null))],null,null)}function tg(t){return r._29(0,[(t()(),r._5(0,0,null,null,4,"div",[["class","-header"]],null,null,null,null,null)),(t()(),r._27(1,null,["\n ","\n "])),(t()(),r._0(16777216,null,null,1,null,$m)),r._4(3,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"])),(t()(),r._5(6,0,null,null,3,"div",[["class","-body"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),r._16(null,0),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){t(e,3,0,!e.component.disableDismiss)},function(t,e){t(e,1,0,e.component.title)})}var eg=function(){function t(t){this.el=t,t.nativeElement.autocomplete="new-password",t.nativeElement.readOnly=!0}return t.prototype.onFocus=function(){this.el.nativeElement.readOnly=!1},t}(),ng=r._3({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{text-align:center}label[for=seed][_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex}label[for=seed][_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-child{-webkit-box-flex:1;-ms-flex:1;flex:1}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%]{text-align:right}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;color:rgba(122,89,23,.7)}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:13px;height:10px;font-size:13px;position:relative;top:2px}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{padding:0 5px;color:#1e2227}.-disabled[_ngcontent-%COMP%]{display:none}.-warning[_ngcontent-%COMP%]{color:#ff004e;font-size:12px;padding:0 10px;line-height:1.5}.-passwords[_ngcontent-%COMP%]{margin-left:24px}.-passwords[_ngcontent-%COMP%] .-info[_ngcontent-%COMP%]{margin:5px 0 15px;color:rgba(30,34,39,.5);font-size:12px;line-height:1.5}.-passwords[_ngcontent-%COMP%] .-hidden[_ngcontent-%COMP%]{visibility:hidden}.-check[_ngcontent-%COMP%] .mat-checkbox-checkmark-path{position:absolute;width:18px;height:8px;left:4.59px;top:9px;stroke:#7a5917!important}.-check[_ngcontent-%COMP%] .mat-checkbox-background, .-check[_ngcontent-%COMP%] .mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none;width:20px;height:20px;background:rgba(30,34,39,.05);border-radius:6px;border-color:transparent}.-check[_ngcontent-%COMP%] span{font-family:Skycoin;line-height:normal;font-size:14px;color:#1e2227}.-check[_ngcontent-%COMP%] span img{width:38px;height:38px;vertical-align:middle}"]],data:{}});function rg(t){return r._29(0,[(t()(),r._5(0,0,null,null,12,"span",[["class","generators"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,16777216,null,null,2,"span",[["matTooltip","Generate 12 word seed"]],null,[[null,"click"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0,o=t.component;return"longpress"===e&&(i=!1!==r._17(t,3).show()&&i),"keydown"===e&&(i=!1!==r._17(t,3)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._17(t,3)._handleTouchend()&&i),"click"===e&&(i=!1!==o.generateSeed(128)&&i),i},null,null)),r._4(3,147456,null,0,oc,[eo,r.k,ci,r.N,r.y,Qr,Mo,Oo,nc,[2,mi],[2,ic]],{message:[0,"message"]},null),(t()(),r._27(-1,null,["12 words"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(6,0,null,null,1,"span",[["class","divider"]],null,null,null,null,null)),(t()(),r._27(-1,null,["|"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(9,16777216,null,null,2,"span",[["matTooltip","Generate 24 word seed"]],null,[[null,"click"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0,o=t.component;return"longpress"===e&&(i=!1!==r._17(t,10).show()&&i),"keydown"===e&&(i=!1!==r._17(t,10)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._17(t,10)._handleTouchend()&&i),"click"===e&&(i=!1!==o.generateSeed(256)&&i),i},null,null)),r._4(10,147456,null,0,oc,[eo,r.k,ci,r.N,r.y,Qr,Mo,Oo,nc,[2,mi],[2,ic]],{message:[0,"message"]},null),(t()(),r._27(-1,null,["24 words"])),(t()(),r._27(-1,null,["\n "]))],function(t,e){t(e,3,0,"Generate 12 word seed"),t(e,10,0,"Generate 24 word seed")},null)}function ig(t){return r._29(0,[r._25(402653184,1,{createButton:0}),r._25(402653184,2,{cancelButton:0}),(t()(),r._5(2,0,null,null,126,"app-modal",[],null,null,null,tg,Qm)),r._4(3,573440,null,0,Zm,[],{dialog:[0,"dialog"],title:[1,"title"],disableDismiss:[2,"disableDismiss"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(5,0,null,0,111,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._17(t,6).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._17(t,6).onReset()&&i),i},null,null)),r._4(6,540672,null,0,Us,[[8,null],[8,null]],{form:[0,"form"]},null),r._23(2048,null,qa,null,[Us]),r._4(8,16384,null,0,Ps,[qa],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(10,0,null,null,11,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(12,0,null,null,1,"label",[["for","label"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Name"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(15,0,null,null,5,"input",[["formControlName","label"],["id","label"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._17(t,16)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,16).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,16)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,16)._compositionEnd(n.target.value)&&i),i},null,null)),r._4(16,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(18,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(20,16384,null,0,Ys,[ls],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(23,0,null,null,20,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(25,0,null,null,7,"label",[["for","seed"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(27,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(-1,null,["Seed"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,rg)),r._4(31,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(34,0,null,null,5,"textarea",[["formControlName","seed"],["id","seed"],["row","2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._17(t,35)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,35).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,35)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,35)._compositionEnd(n.target.value)&&i),i},null,null)),r._4(35,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(37,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(39,16384,null,0,Ys,[ls],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(41,0,null,null,1,"p",[["class","-warning"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n Remember this seed! Keep it in a safe place.\n If you forget your seed, you will not be able to recover your wallet!\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(45,0,null,null,13,"div",[["class","form-field"]],null,null,null,null,null)),r._4(46,278528,null,0,A,[r.r,r.s,r.k,r.C],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._21(47,{"-disabled":0}),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(49,0,null,null,1,"label",[["for","confirm_seed"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Confirm seed"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(52,0,null,null,5,"textarea",[["formControlName","confirm_seed"],["id","confirm_seed"],["row","2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._17(t,53)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,53).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,53)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,53)._compositionEnd(n.target.value)&&i),i},null,null)),r._4(53,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(55,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(57,16384,null,0,Ys,[ls],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(60,0,null,null,8,"div",[],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(62,0,null,null,5,"mat-checkbox",[["class","-check mat-checkbox"],["id","encrypt"],["type","checkbox"]],[[8,"id",0],[2,"mat-checkbox-indeterminate",null],[2,"mat-checkbox-checked",null],[2,"mat-checkbox-disabled",null],[2,"mat-checkbox-label-before",null]],[[null,"change"]],function(t,e,n){var r=!0;return"change"===e&&(r=!1!==t.component.setEncrypt(n)&&r),r},Lm,xm)),r._23(5120,null,ts,function(t){return[t]},[Ol]),r._4(64,4374528,null,0,Ol,[r.k,r.h,Oo,[8,null],[2,Sl]],{id:[0,"id"],checked:[1,"checked"]},{change:"change"}),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(66,0,null,0,0,"img",[["src","../../../../../assets/img/lock-gold.png"]],null,null,null,null,null)),(t()(),r._27(-1,0,["Encrypt Wallet\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(70,0,null,null,45,"div",[["class","row -passwords"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(72,0,null,null,4,"div",[["class","col-md-12"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(74,0,null,null,1,"p",[["class","-info"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n We suggest that you encrypt each one of your wallets with a password.\n If you forget your password, you can reset it with your seed.\n Make sure you have your seed saved somewhere safe before encrypting your wallet.\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(78,0,null,null,17,"div",[["class","col-md-6"]],null,null,null,null,null)),r._4(79,278528,null,0,A,[r.r,r.s,r.k,r.C],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._21(80,{"-hidden":0}),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(82,0,null,null,12,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(84,0,null,null,1,"label",[["for","password"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Password"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(87,0,null,null,6,"input",[["appDontSavePassword",""],["formControlName","password"],["id","password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._17(t,88)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,88).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,88)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,88)._compositionEnd(n.target.value)&&i),"focus"===e&&(i=!1!==r._17(t,93).onFocus()&&i),i},null,null)),r._4(88,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(90,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(92,16384,null,0,Ys,[ls],null,null),r._4(93,16384,null,0,eg,[r.k],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(97,0,null,null,17,"div",[["class","col-md-6"]],null,null,null,null,null)),r._4(98,278528,null,0,A,[r.r,r.s,r.k,r.C],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._21(99,{"-hidden":0}),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(101,0,null,null,12,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(103,0,null,null,1,"label",[["for","confirm_password"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Confirm password"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(106,0,null,null,6,"input",[["appDontSavePassword",""],["formControlName","confirm_password"],["id","confirm_password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._17(t,107)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,107).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,107)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,107)._compositionEnd(n.target.value)&&i),"focus"===e&&(i=!1!==r._17(t,112).onFocus()&&i),"keydown.enter"===e&&(i=!1!==o.createWallet()&&i),i},null,null)),r._4(107,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(109,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(111,16384,null,0,Ys,[ls],null,null),r._4(112,16384,null,0,eg,[r.k],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(118,0,null,0,9,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(120,0,null,null,2,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.closePopup()&&r),r},g_,p_)),r._4(121,49152,[[2,4],["cancelButton",4]],0,Sc,[],null,{action:"action"}),(t()(),r._27(-1,0,["\n Cancel\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(124,0,null,null,2,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.createWallet()&&r),r},g_,p_)),r._4(125,49152,[[1,4],["createButton",4]],0,Sc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._27(126,0,["\n ","\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,0,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0,n.dialogRef,n.data.create?"Create Wallet":"Load Wallet",n.disableDismiss),t(e,6,0,n.form),t(e,18,0,"label"),t(e,31,0,n.data.create),t(e,37,0,"seed"),t(e,46,0,"form-field",t(e,47,0,!n.data.create)),t(e,55,0,"confirm_seed"),t(e,64,0,"encrypt",!0),t(e,79,0,"col-md-6",t(e,80,0,!n.encrypt)),t(e,90,0,"password"),t(e,98,0,"col-md-6",t(e,99,0,!n.encrypt)),t(e,109,0,"confirm_password"),t(e,125,0,!n.form.valid)},function(t,e){var n=e.component;t(e,5,0,r._17(e,8).ngClassUntouched,r._17(e,8).ngClassTouched,r._17(e,8).ngClassPristine,r._17(e,8).ngClassDirty,r._17(e,8).ngClassValid,r._17(e,8).ngClassInvalid,r._17(e,8).ngClassPending),t(e,15,0,r._17(e,20).ngClassUntouched,r._17(e,20).ngClassTouched,r._17(e,20).ngClassPristine,r._17(e,20).ngClassDirty,r._17(e,20).ngClassValid,r._17(e,20).ngClassInvalid,r._17(e,20).ngClassPending),t(e,34,0,r._17(e,39).ngClassUntouched,r._17(e,39).ngClassTouched,r._17(e,39).ngClassPristine,r._17(e,39).ngClassDirty,r._17(e,39).ngClassValid,r._17(e,39).ngClassInvalid,r._17(e,39).ngClassPending),t(e,52,0,r._17(e,57).ngClassUntouched,r._17(e,57).ngClassTouched,r._17(e,57).ngClassPristine,r._17(e,57).ngClassDirty,r._17(e,57).ngClassValid,r._17(e,57).ngClassInvalid,r._17(e,57).ngClassPending),t(e,62,0,r._17(e,64).id,r._17(e,64).indeterminate,r._17(e,64).checked,r._17(e,64).disabled,"before"==r._17(e,64).labelPosition),t(e,87,0,r._17(e,92).ngClassUntouched,r._17(e,92).ngClassTouched,r._17(e,92).ngClassPristine,r._17(e,92).ngClassDirty,r._17(e,92).ngClassValid,r._17(e,92).ngClassInvalid,r._17(e,92).ngClassPending),t(e,106,0,r._17(e,111).ngClassUntouched,r._17(e,111).ngClassTouched,r._17(e,111).ngClassPristine,r._17(e,111).ngClassDirty,r._17(e,111).ngClassValid,r._17(e,111).ngClassInvalid,r._17(e,111).ngClassPending),t(e,126,0,n.data.create?"Create":"Load")})}var og=r._1("app-create-wallet",Tc,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-create-wallet",[],null,null,null,ig,ng)),r._4(1,114688,null,0,Tc,[Ha,Ia,Xr],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),ag=r._3({encapsulation:0,styles:[["mat-input-container[_ngcontent-%COMP%]{width:100%}.-buttons[_ngcontent-%COMP%]{text-align:center}"]],data:{}});function sg(t){return r._29(0,[r._25(402653184,1,{button:0}),(t()(),r._5(1,0,null,null,32,"app-modal",[["title","Rename Wallet"]],null,null,null,tg,Qm)),r._4(2,573440,null,0,Zm,[],{dialog:[0,"dialog"],title:[1,"title"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(4,0,null,0,17,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._17(t,5).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._17(t,5).onReset()&&i),i},null,null)),r._4(5,540672,null,0,Us,[[8,null],[8,null]],{form:[0,"form"]},null),r._23(2048,null,qa,null,[Us]),r._4(7,16384,null,0,Ps,[qa],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(9,0,null,null,11,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(11,0,null,null,1,"label",[["for","label"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Name"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(14,0,null,null,5,"input",[["formControlName","label"],["id","label"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._17(t,15)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,15).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,15)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,15)._compositionEnd(n.target.value)&&i),"keydown.enter"===e&&(i=!1!==o.rename()&&i),i},null,null)),r._4(15,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(17,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(19,16384,null,0,Ys,[ls],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(23,0,null,0,9,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(25,0,null,null,2,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.closePopup()&&r),r},g_,p_)),r._4(26,49152,null,0,Sc,[],null,{action:"action"}),(t()(),r._27(-1,0,["\n Cancel\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(29,0,null,null,2,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.rename()&&r),r},g_,p_)),r._4(30,49152,[[1,4],["button",4]],0,Sc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._27(-1,0,["\n Rename\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,0,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,2,0,n.dialogRef,"Rename Wallet"),t(e,5,0,n.form),t(e,17,0,"label"),t(e,30,0,!n.form.valid)},function(t,e){t(e,4,0,r._17(e,7).ngClassUntouched,r._17(e,7).ngClassTouched,r._17(e,7).ngClassPristine,r._17(e,7).ngClassDirty,r._17(e,7).ngClassValid,r._17(e,7).ngClassInvalid,r._17(e,7).ngClassPending),t(e,14,0,r._17(e,19).ngClassUntouched,r._17(e,19).ngClassTouched,r._17(e,19).ngClassPristine,r._17(e,19).ngClassDirty,r._17(e,19).ngClassValid,r._17(e,19).ngClassInvalid,r._17(e,19).ngClassPending)})}var lg=r._1("app-change-name",cf,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-change-name",[],null,null,null,sg,ag)),r._4(1,114688,null,0,cf,[Ha,Ia,Zs,Xr],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),ug=r._3({encapsulation:0,styles:[["#qr[_ngcontent-%COMP%]{height:300px}.address[_ngcontent-%COMP%]{font-size:80%;text-align:center;margin-top:30px}"]],data:{}});function cg(t){return r._29(0,[r._25(402653184,1,{qr:0}),(t()(),r._5(1,0,null,null,7,"app-modal",[["title","QR Code"]],null,null,null,tg,Qm)),r._4(2,573440,null,0,Zm,[],{dialog:[0,"dialog"],title:[1,"title"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(4,0,[[1,0],["qr",1]],0,0,"div",[["id","qr"]],null,null,null,null,null)),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(6,0,null,0,1,"div",[["class","address"]],null,null,null,null,null)),(t()(),r._27(7,null,["",""])),(t()(),r._27(-1,0,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){t(e,2,0,e.component.dialogRef,"QR Code")},function(t,e){t(e,7,0,e.component.data.address)})}var dg=r._1("app-qr-code",Np,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-qr-code",[],null,null,null,cg,ug)),r._4(1,114688,null,0,Np,[Ia,Ha,r.k],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),hg=r._3({encapsulation:0,styles:[[".-container[_ngcontent-%COMP%] .-header[_ngcontent-%COMP%]{background-color:#f7f7f7;border-top-left-radius:5px;border-top-right-radius:5px;line-height:50px;position:relative;text-align:center}.-container[_ngcontent-%COMP%] .-header[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{cursor:pointer;height:32px;position:absolute;right:9px;top:9px}.-container[_ngcontent-%COMP%] .-body[_ngcontent-%COMP%]{background-color:#fbfbfb;height:190px;text-align:center}.-container[_ngcontent-%COMP%] .-body[_ngcontent-%COMP%] .-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:22px;margin:55px 0 0}.-container[_ngcontent-%COMP%] .-body[_ngcontent-%COMP%] .-icon.-incoming[_ngcontent-%COMP%]{-webkit-transform:scaleX(-1);transform:scaleX(-1);-webkit-filter:FlipH;filter:FlipH;-ms-filter:FlipH}.-container[_ngcontent-%COMP%] .-body[_ngcontent-%COMP%] .-icon.-pending[_ngcontent-%COMP%]{opacity:.5}.-container[_ngcontent-%COMP%] .-body[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#1e2227;font-size:20px;font-weight:700;line-height:23px;margin:20px 0 0}.-container[_ngcontent-%COMP%] .-body[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#1e2227;font-size:13px;line-height:15px;margin:5px 0 0;opacity:.5}.-container[_ngcontent-%COMP%] .-footer[_ngcontent-%COMP%]{background-color:#f7f7f7}.-container[_ngcontent-%COMP%] .-footer[_ngcontent-%COMP%] .-row[_ngcontent-%COMP%]{border-top:1px solid #eff0f0;color:#1e2227;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;line-height:14px;padding:13px 10px}.-container[_ngcontent-%COMP%] .-footer[_ngcontent-%COMP%] .-row[_ngcontent-%COMP%] .-key[_ngcontent-%COMP%]{opacity:.5;text-align:left}.-container[_ngcontent-%COMP%] .-footer[_ngcontent-%COMP%] .-row[_ngcontent-%COMP%] .-values[_ngcontent-%COMP%]{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:right}.-container[_ngcontent-%COMP%] .-footer[_ngcontent-%COMP%] .-row[_ngcontent-%COMP%] .-values[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block}"]],data:{}});function pg(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(1,null,["",""]))],null,function(t,e){t(e,1,0,e.context.$implicit.owner)})}function fg(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._27(1,null,["",""]))],null,function(t,e){t(e,1,0,e.parent.context.$implicit.dst)})}function _g(t){return r._29(0,[(t()(),r._5(0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,fg)),r._4(3,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "]))],function(t,e){t(e,3,0,e.component.showOutput(e.context.$implicit))},null)}function mg(t){return r._29(0,[r._20(0,Ct,[r.t]),r._20(0,ut,[r.t]),(t()(),r._5(2,0,null,null,79,"div",[["class","-container"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(4,0,null,null,3,"div",[["class","-header"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n Transaction Detail "])),(t()(),r._5(6,0,null,null,0,"img",[["src","../../../../../assets/img/close-grey.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.closePopup()&&r),r},null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(9,0,null,null,12,"div",[["class","-body"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(11,0,null,null,5,"div",[["class","-icon"]],null,null,null,null,null)),r._4(12,278528,null,0,A,[r.r,r.s,r.k,r.C],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._21(13,{"-incoming":0,"-pending":1}),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(15,0,null,null,0,"img",[["src","/assets/img/send-gold.png"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(18,0,null,null,2,"h4",[],null,null,null,null,null)),(t()(),r._27(19,null,[""," SLB"])),r._22(20,2),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(23,0,null,null,57,"mat-dialog-content",[["class","mat-dialog-content"]],null,null,null,null,null)),r._4(24,16384,null,0,za,[],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(26,0,null,null,53,"div",[["class","-footer"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(28,0,null,null,8,"div",[["class","-row"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(30,0,null,null,1,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Date"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(33,0,null,null,2,"div",[["class","-values"]],null,null,null,null,null)),(t()(),r._27(34,null,["",""])),r._22(35,2),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(38,0,null,null,7,"div",[["class","-row"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(40,0,null,null,1,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._27(-1,null,["ID"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(43,0,null,null,1,"div",[["class","-values"]],null,null,null,null,null)),(t()(),r._27(44,null,["",""])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(47,0,null,null,7,"div",[["class","-row"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(49,0,null,null,1,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Status"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(52,0,null,null,1,"div",[["class","-values"]],null,null,null,null,null)),(t()(),r._27(53,null,["",""])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(56,0,null,null,10,"div",[["class","-row"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(58,0,null,null,1,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._27(-1,null,["From"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(61,0,null,null,4,"div",[["class","-values"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,pg)),r._4(64,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(68,0,null,null,10,"div",[["class","-row"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(70,0,null,null,1,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._27(-1,null,["To"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(73,0,null,null,4,"div",[["class","-values"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,_g)),r._4(76,802816,null,0,H,[r.N,r.K,r.r],{ngForOf:[0,"ngForOf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,12,0,"-icon",t(e,13,0,n.transaction.balance>0,!n.transaction.confirmed)),t(e,64,0,n.transaction.inputs),t(e,76,0,n.transaction.outputs)},function(t,e){var n=e.component;t(e,19,0,r._28(e,19,0,t(e,20,0,r._17(e,0),n.transaction.balance,"1.0-6"))),t(e,34,0,r._28(e,34,0,t(e,35,0,r._17(e,1),1e3*n.transaction.timestamp,"short"))),t(e,44,0,n.transaction.txid),t(e,53,0,n.transaction.confirmed?"Complete":"Pending")})}var gg=r._1("app-transaction-detail",Rp,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-transaction-detail",[],null,null,null,mg,hg)),r._4(1,245760,null,0,Rp,[Ha,Ia,Hp],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),yg=r._3({encapsulation:0,styles:[[".-safe-description[_ngcontent-%COMP%]{font-family:Skycoin;line-height:20px;font-size:12px;color:#1e2227;mix-blend-mode:normal;opacity:.8}.-check-container[_ngcontent-%COMP%]{text-align:center;margin-top:50px}.-safe-check-text[_ngcontent-%COMP%]{font-family:Skycoin;line-height:normal;font-size:14px;color:#1e2227}.-check[_ngcontent-%COMP%] .mat-checkbox-checkmark-path{position:absolute;width:18px;height:8px;left:4.59px;top:9px;stroke:#0072ff!important}.-check[_ngcontent-%COMP%] .mat-checkbox-background, .-check[_ngcontent-%COMP%] .mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none;width:20px;height:20px;background:rgba(30,34,39,.05);border-radius:6px;border-color:transparent}.-text-center[_ngcontent-%COMP%]{text-align:center}.-no-bottom-margin[_ngcontent-%COMP%] button{margin:28px 10px 0!important}.-title[_ngcontent-%COMP%]{font-family:Skycoin;line-height:30px;font-size:14px;text-align:center;letter-spacing:.0769231em;color:#ff004e}"]],data:{}});function vg(t){return r._29(0,[(t()(),r._5(0,0,null,null,23,"app-modal",[["class","-title"],["title","Safeguard your seed!"]],null,null,null,tg,Qm)),r._4(1,573440,null,0,Zm,[],{dialog:[0,"dialog"],title:[1,"title"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(3,0,null,0,12,"div",[],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(5,0,null,null,1,"span",[["class","-safe-description"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n We want to make sure that you wrote down your seed and stored it in a safe place. If you forget your seed, you WILL NOT be able to recover your SolarBankerCoin wallet!\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(8,0,null,null,6,"div",[["class","-check-container"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(10,0,null,null,3,"mat-checkbox",[["class","-safe-check-text -check mat-checkbox"],["id","terms"],["type","checkbox"]],[[8,"id",0],[2,"mat-checkbox-indeterminate",null],[2,"mat-checkbox-checked",null],[2,"mat-checkbox-disabled",null],[2,"mat-checkbox-label-before",null]],[[null,"change"]],function(t,e,n){var r=!0;return"change"===e&&(r=!1!==t.component.setAccept(n)&&r),r},Lm,xm)),r._23(5120,null,ts,function(t){return[t]},[Ol]),r._4(12,4374528,null,0,Ol,[r.k,r.h,Oo,[8,null],[2,Sl]],{id:[0,"id"],checked:[1,"checked"]},{change:"change"}),(t()(),r._27(-1,0,["It\u2019s safe, I swear.\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(17,0,null,0,5,"div",[["class","-text-center"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(19,0,null,null,2,"app-button",[["class","primary -no-bottom-margin"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.closePopup()&&r),r},g_,p_)),r._4(20,49152,null,0,Sc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._27(-1,0,["\n Continue\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,0,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,1,0,n.dialogRef,"Safeguard your seed!"),t(e,12,0,"terms",n.acceptSafe),t(e,20,0,!n.acceptSafe)},function(t,e){t(e,10,0,r._17(e,12).id,r._17(e,12).indeterminate,r._17(e,12).checked,r._17(e,12).disabled,"before"==r._17(e,12).labelPosition)})}var bg=r._1("app-onboarding-safeguard",vm,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-onboarding-safeguard",[],null,null,null,vg,yg)),r._4(1,49152,null,0,vm,[Ia],null,null)],null,null)},{},{},[]),wg=r._3({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{text-align:center}.-info[_ngcontent-%COMP%]{margin:5px 0 25px;color:rgba(30,34,39,.5);font-size:12px;line-height:1.5}"]],data:{}});function Mg(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"p",[["class","-info"]],null,null,null,null,null)),(t()(),r._27(1,null,["",""]))],null,function(t,e){t(e,1,0,e.component.data.description)})}function kg(t){return r._29(0,[(t()(),r._5(0,0,null,null,12,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(2,0,null,null,1,"label",[["for","confirm_password"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Confirm password"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(5,0,null,null,6,"input",[["appDontSavePassword",""],["formControlName","confirm_password"],["id","confirm_password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._17(t,6)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,6).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,6)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,6)._compositionEnd(n.target.value)&&i),"focus"===e&&(i=!1!==r._17(t,11).onFocus()&&i),"keydown.enter"===e&&(i=!1!==o.proceed()&&i),i},null,null)),r._4(6,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(8,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(10,16384,null,0,Ys,[ls],null,null),r._4(11,16384,null,0,eg,[r.k],null,null),(t()(),r._27(-1,null,["\n "]))],function(t,e){t(e,8,0,"confirm_password")},function(t,e){t(e,5,0,r._17(e,10).ngClassUntouched,r._17(e,10).ngClassTouched,r._17(e,10).ngClassPristine,r._17(e,10).ngClassDirty,r._17(e,10).ngClassValid,r._17(e,10).ngClassInvalid,r._17(e,10).ngClassPending)})}function xg(t){return r._29(0,[r._25(402653184,1,{button:0}),(t()(),r._5(1,0,null,null,35,"app-modal",[],null,null,null,tg,Qm)),r._4(2,573440,null,0,Zm,[],{dialog:[0,"dialog"],title:[1,"title"],disableDismiss:[2,"disableDismiss"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._0(16777216,null,0,1,null,Mg)),r._4(5,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(7,0,null,0,21,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._17(t,8).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._17(t,8).onReset()&&i),i},null,null)),r._4(8,540672,null,0,Us,[[8,null],[8,null]],{form:[0,"form"]},null),r._23(2048,null,qa,null,[Us]),r._4(10,16384,null,0,Ps,[qa],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(12,0,null,null,12,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(14,0,null,null,1,"label",[["for","password"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Password"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(17,0,null,null,6,"input",[["appDontSavePassword",""],["formControlName","password"],["id","password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._17(t,18)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._17(t,18).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._17(t,18)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._17(t,18)._compositionEnd(n.target.value)&&i),"focus"===e&&(i=!1!==r._17(t,23).onFocus()&&i),"keydown.enter"===e&&(i=!1!==o.proceed()&&i),i},null,null)),r._4(18,16384,null,0,rs,[r.C,r.k,[2,ns]],null,null),r._23(1024,null,ts,function(t){return[t]},[rs]),r._4(20,671744,null,0,Ks,[[3,qa],[8,null],[8,null],[2,ts]],{name:[0,"name"]},null),r._23(2048,null,ls,null,[Ks]),r._4(22,16384,null,0,Ys,[ls],null,null),r._4(23,16384,null,0,eg,[r.k],null,null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._0(16777216,null,null,1,null,kg)),r._4(27,16384,null,0,N,[r.N,r.K],{ngIf:[0,"ngIf"]},null),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(30,0,null,0,5,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(32,0,null,null,2,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.proceed()&&r),r},g_,p_)),r._4(33,49152,[[1,4],["button",4]],0,Sc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._27(-1,0,["\n Proceed\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,0,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,2,0,n.dialogRef,n.data.title?n.data.title:"Enter Password",n.disableDismiss),t(e,5,0,n.data.description),t(e,8,0,n.form),t(e,20,0,"password"),t(e,27,0,n.data.confirm),t(e,33,0,!n.form.valid)},function(t,e){t(e,7,0,r._17(e,10).ngClassUntouched,r._17(e,10).ngClassTouched,r._17(e,10).ngClassPristine,r._17(e,10).ngClassDirty,r._17(e,10).ngClassValid,r._17(e,10).ngClassInvalid,r._17(e,10).ngClassPending),t(e,17,0,r._17(e,22).ngClassUntouched,r._17(e,22).ngClassTouched,r._17(e,22).ngClassPristine,r._17(e,22).ngClassDirty,r._17(e,22).ngClassValid,r._17(e,22).ngClassInvalid,r._17(e,22).ngClassPending)})}var Lg=r._1("app-password-dialog",Oc,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-password-dialog",[],null,null,null,xg,wg)),r._4(1,245760,null,0,Oc,[Ia,Ha,bc],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Cg=r._3({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{text-align:center}"]],data:{}});function Sg(t){return r._29(0,[(t()(),r._5(0,0,null,null,18,"app-modal",[["title","Wallet Seed"]],null,null,null,tg,Qm)),r._4(1,573440,null,0,Zm,[],{dialog:[0,"dialog"],title:[1,"title"]},null),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(3,0,null,0,7,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(5,0,null,null,1,"label",[["for","seed"]],null,null,null,null,null)),(t()(),r._27(-1,null,["Seed"])),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(8,0,null,null,1,"textarea",[["id","seed"],["readonly",""]],null,null,null,null,null)),(t()(),r._27(9,null,["",""])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,0,["\n "])),(t()(),r._5(12,0,null,0,5,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._27(-1,null,["\n "])),(t()(),r._5(14,0,null,null,2,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.dialogRef.close()&&r),r},g_,p_)),r._4(15,49152,null,0,Sc,[],null,{action:"action"}),(t()(),r._27(-1,0,["\n Close\n "])),(t()(),r._27(-1,null,["\n "])),(t()(),r._27(-1,0,["\n"])),(t()(),r._27(-1,null,["\n"]))],function(t,e){t(e,1,0,e.component.dialogRef,"Wallet Seed")},function(t,e){t(e,9,0,e.component.data.seed)})}var Tg=r._1("app-seed-modal",Op,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-seed-modal",[],null,null,null,Sg,Cg)),r._4(1,180224,null,0,Op,[Ia,Ha],null,null)],null,null)},{},{},[]),Dg=r._3({encapsulation:0,styles:[["mat-card[_ngcontent-%COMP%]{max-width:1000px;margin-top:80px;margin-right:auto;margin-left:auto}.logo[_ngcontent-%COMP%]{max-height:100%}.fill-remaining-space[_ngcontent-%COMP%]{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.sky-container[_ngcontent-%COMP%]{max-width:1000px;margin-top:20px;margin-right:auto;margin-left:auto}mat-toolbar[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin:0 20px}.search-field[_ngcontent-%COMP%]{border-radius:8px;border:none;background-color:#fff;padding:8px}.syncing[_ngcontent-%COMP%]{font-size:14px}.main-menu[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin-right:20px}#top-menu[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#fbfbfb}#top-menu[_ngcontent-%COMP%] span#version[_ngcontent-%COMP%]{padding-top:12px}"]],data:{}});function Og(t){return r._29(0,[(t()(),r._5(0,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),r._4(1,212992,null,0,sp,[ap,r.N,r.j,[8,null],r.h],null,null),(t()(),r._27(-1,null,["\n"]))],function(t,e){t(e,1,0)},null)}var Yg=r._1("app-root",Jp,function(t){return r._29(0,[(t()(),r._5(0,0,null,null,1,"app-root",[],null,null,null,Og,Dg)),r._4(1,114688,null,0,Jp,[qp],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]);function Pg(t){switch(t.length){case 0:return new Da;case 1:return t[0];default:return new Oa(t)}}function Eg(t,e,n,r,i,o){void 0===i&&(i={}),void 0===o&&(o={});var a=[],s=[],l=-1,u=null;if(r.forEach(function(t){var n=t.offset,r=n==l,c=r&&u||{};Object.keys(t).forEach(function(n){var r=n,s=t[n];if("offset"!==n)switch(r=e.normalizePropertyName(r,a),s){case Ya:s=i[n];break;case La:s=o[n];break;default:s=e.normalizeStyleValue(n,r,s,a)}c[r]=s}),r||s.push(c),u=c,l=n}),a.length)throw new Error("Unable to animate due to the following errors:\n - "+a.join("\n - "));return s}function jg(t,e,n,r){switch(e){case"start":t.onStart(function(){return r(n&&Ag(n,"start",t.totalTime))});break;case"done":t.onDone(function(){return r(n&&Ag(n,"done",t.totalTime))});break;case"destroy":t.onDestroy(function(){return r(n&&Ag(n,"destroy",t.totalTime))})}}function Ag(t,e,n){var r=Ig(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,void 0==n?t.totalTime:n),i=t._data;return null!=i&&(r._data=i),r}function Ig(t,e,n,r,i,o){return void 0===i&&(i=""),void 0===o&&(o=0),{element:t,triggerName:e,fromState:n,toState:r,phaseName:i,totalTime:o}}function Hg(t,e,n){var r;return t instanceof Map?(r=t.get(e))||t.set(e,r=n):(r=t[e])||(r=t[e]=n),r}function Rg(t){var e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}var Ng=function(t,e){return!1},Fg=function(t,e){return!1},Vg=function(t,e,n){return[]};if("undefined"!=typeof Element){if(Ng=function(t,e){return t.contains(e)},Element.prototype.matches)Fg=function(t,e){return t.matches(e)};else{var zg=Element.prototype,Wg=zg.matchesSelector||zg.mozMatchesSelector||zg.msMatchesSelector||zg.oMatchesSelector||zg.webkitMatchesSelector;Wg&&(Fg=function(t,e){return Wg.apply(t,[e])})}Vg=function(t,e,n){var r=[];if(n)r.push.apply(r,t.querySelectorAll(e));else{var i=t.querySelector(e);i&&r.push(i)}return r}}var Bg=null,Ug=!1;function qg(){return"undefined"!=typeof document?document.body:null}var Jg=Fg,Gg=Ng,Kg=Vg,Xg=function(){function t(){}return t.prototype.validateStyleProperty=function(t){return function(t){Bg||(Bg=qg()||{},Ug=!!Bg.style&&"WebkitAppearance"in Bg.style);var e=!0;return Bg.style&&!function(t){return"ebkit"==t.substring(1,6)}(t)&&!(e=t in Bg.style)&&Ug&&(e="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in Bg.style),e}(t)},t.prototype.matchesElement=function(t,e){return Jg(t,e)},t.prototype.containsElement=function(t,e){return Gg(t,e)},t.prototype.query=function(t,e,n){return Kg(t,e,n)},t.prototype.computeStyle=function(t,e,n){return n||""},t.prototype.animate=function(t,e,n,r,i,o){return void 0===o&&(o=[]),new Da},t}(),Zg=function(){function t(){}return t.NOOP=new Xg,t}(),Qg=1e3;function $g(t){if("number"==typeof t)return t;var e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:ty(parseFloat(e[1]),e[2])}function ty(t,e){switch(e){case"s":return t*Qg;default:return t}}function ey(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){var r,i=0,o="";if("string"==typeof t){var a=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return e.push('The provided timing value "'+t+'" is invalid.'),{duration:0,delay:0,easing:""};r=ty(parseFloat(a[1]),a[2]);var s=a[3];null!=s&&(i=ty(Math.floor(parseFloat(s)),a[4]));var l=a[5];l&&(o=l)}else r=t;if(!n){var u=!1,c=e.length;r<0&&(e.push("Duration values below 0 are not allowed for this animation step."),u=!0),i<0&&(e.push("Delay values below 0 are not allowed for this animation step."),u=!0),u&&e.splice(c,0,'The provided timing value "'+t+'" is invalid.')}return{duration:r,delay:i,easing:o}}(t,e,n)}function ny(t,e){return void 0===e&&(e={}),Object.keys(t).forEach(function(n){e[n]=t[n]}),e}function ry(t,e,n){if(void 0===n&&(n={}),e)for(var r in t)n[r]=t[r];else ny(t,n);return n}function iy(t,e){t.style&&Object.keys(e).forEach(function(n){var r=hy(n);t.style[r]=e[n]})}function oy(t,e){t.style&&Object.keys(e).forEach(function(e){var n=hy(e);t.style[n]=""})}function ay(t){return Array.isArray(t)?1==t.length?t[0]:Ca(t):t}var sy=new RegExp("{{\\s*(.+?)\\s*}}","g");function ly(t){var e=[];if("string"==typeof t){for(var n=t.toString(),r=void 0;r=sy.exec(n);)e.push(r[1]);sy.lastIndex=0}return e}function uy(t,e,n){var r=t.toString(),i=r.replace(sy,function(t,r){var i=e[r];return e.hasOwnProperty(r)||(n.push("Please provide a value for the animation param "+r),i=""),i.toString()});return i==r?t:i}function cy(t){for(var e=[],n=t.next();!n.done;)e.push(n.value),n=t.next();return e}var dy=/-+([a-z0-9])/g;function hy(t){return t.replace(dy,function(){for(var t=[],e=0;e *";case":leave":return"* => void";case":increment":return function(t,e){return parseFloat(e)>parseFloat(t)};case":decrement":return function(t,e){return parseFloat(e) *"}}(t,n);if("function"==typeof r)return void e.push(r);t=r}var i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push('The provided transition expression "'+t+'" is not supported'),e;var o=i[1],a=i[2],s=i[3];e.push(gy(o,s)),"<"!=a[0]||o==fy&&s==fy||e.push(gy(s,o))}(t,i,r)}):i.push(n),i),animation:o,queryCount:e.queryCount,depCount:e.depCount,options:ky(t.options)}},t.prototype.visitSequence=function(t,e){var n=this;return{type:2,steps:t.steps.map(function(t){return py(n,t,e)}),options:ky(t.options)}},t.prototype.visitGroup=function(t,e){var n=this,r=e.currentTime,i=0,o=t.steps.map(function(t){e.currentTime=r;var o=py(n,t,e);return i=Math.max(i,e.currentTime),o});return e.currentTime=i,{type:3,steps:o,options:ky(t.options)}},t.prototype.visitAnimate=function(t,e){var n,r=function(t,e){var n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return xy(ey(t,e).duration,0,"");var r=t;if(r.split(/\s+/).some(function(t){return"{"==t.charAt(0)&&"{"==t.charAt(1)})){var i=xy(0,0,"");return i.dynamic=!0,i.strValue=r,i}return xy((n=n||ey(r,e)).duration,n.delay,n.easing)}(t.timings,e.errors);e.currentAnimateTimings=r;var i=t.styles?t.styles:Sa({});if(5==i.type)n=this.visitKeyframes(i,e);else{var o=t.styles,a=!1;if(!o){a=!0;var s={};r.easing&&(s.easing=r.easing),o=Sa(s)}e.currentTime+=r.duration+r.delay;var l=this.visitStyle(o,e);l.isEmptyStep=a,n=l}return e.currentAnimateTimings=null,{type:4,timings:r,style:n,options:null}},t.prototype.visitStyle=function(t,e){var n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n},t.prototype._makeStyleAst=function(t,e){var n=[];Array.isArray(t.styles)?t.styles.forEach(function(t){"string"==typeof t?t==La?n.push(t):e.errors.push("The provided style string value "+t+" is not allowed."):n.push(t)}):n.push(t.styles);var r=!1,i=null;return n.forEach(function(t){if(My(t)){var e=t,n=e.easing;if(n&&(i=n,delete e.easing),!r)for(var o in e)if(e[o].toString().indexOf("{{")>=0){r=!0;break}}}),{type:6,styles:n,easing:i,offset:t.offset,containsDynamicStyles:r,options:null}},t.prototype._validateStyleAst=function(t,e){var n=this,r=e.currentAnimateTimings,i=e.currentTime,o=e.currentTime;r&&o>0&&(o-=r.duration+r.delay),t.styles.forEach(function(t){"string"!=typeof t&&Object.keys(t).forEach(function(r){if(n._driver.validateStyleProperty(r)){var a,s,l,u=e.collectedStyles[e.currentQuerySelector],c=u[r],d=!0;c&&(o!=i&&o>=c.startTime&&i<=c.endTime&&(e.errors.push('The CSS property "'+r+'" that exists between the times of "'+c.startTime+'ms" and "'+c.endTime+'ms" is also being animated in a parallel animation between the times of "'+o+'ms" and "'+i+'ms"'),d=!1),o=c.startTime),d&&(u[r]={startTime:o,endTime:i}),e.options&&(a=e.errors,s=e.options.params||{},(l=ly(t[r])).length&&l.forEach(function(t){s.hasOwnProperty(t)||a.push("Unable to resolve the local animation param "+t+" in the given list of values")}))}else e.errors.push('The provided animation property "'+r+'" is not a supported CSS property for animations')})})},t.prototype.visitKeyframes=function(t,e){var n=this,r={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),r;var i=0,o=[],a=!1,s=!1,l=0,u=t.steps.map(function(t){var r=n._makeStyleAst(t,e),u=null!=r.offset?r.offset:function(t){if("string"==typeof t)return null;var e=null;if(Array.isArray(t))t.forEach(function(t){if(My(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}});else if(My(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}return e}(r.styles),c=0;return null!=u&&(i++,c=r.offset=u),s=s||c<0||c>1,a=a||c0&&i0?i==h?1:d*i:o[i],s=a*_;e.currentTime=p+f.delay+s,f.duration=s,n._validateStyleAst(t,e),t.offset=a,r.styles.push(t)}),r},t.prototype.visitReference=function(t,e){return{type:8,animation:py(this,ay(t.animation),e),options:ky(t.options)}},t.prototype.visitAnimateChild=function(t,e){return e.depCount++,{type:9,options:ky(t.options)}},t.prototype.visitAnimateRef=function(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:ky(t.options)}},t.prototype.visitQuery=function(t,e){var n=e.currentQuerySelector,r=t.options||{};e.queryCount++,e.currentQuery=t;var i=function(t){var e=!!t.split(/\s*,\s*/).find(function(t){return":self"==t});return e&&(t=t.replace(yy,"")),[t=t.replace(/@\*/g,".ng-trigger").replace(/@\w+/g,function(t){return".ng-trigger-"+t.substr(1)}).replace(/:animating/g,".ng-animating"),e]}(t.selector),o=i[0],a=i[1];e.currentQuerySelector=n.length?n+" "+o:o,Hg(e.collectedStyles,e.currentQuerySelector,{});var s=py(this,ay(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:a,animation:s,originalSelector:t.selector,options:ky(t.options)}},t.prototype.visitStagger=function(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");var n="full"===t.timings?{duration:0,delay:0,easing:"full"}:ey(t.timings,e.errors,!0);return{type:12,animation:py(this,ay(t.animation),e),timings:n,options:null}},t}(),wy=function(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null};function My(t){return!Array.isArray(t)&&"object"==typeof t}function ky(t){var e;return t?(t=ny(t)).params&&(t.params=(e=t.params)?ny(e):null):t={},t}function xy(t,e,n){return{duration:t,delay:e,easing:n}}function Ly(t,e,n,r,i,o,a,s){return void 0===a&&(a=null),void 0===s&&(s=!1),{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:r,duration:i,delay:o,totalTime:i+o,easing:a,subTimeline:s}}var Cy=function(){function t(){this._map=new Map}return t.prototype.consume=function(t){var e=this._map.get(t);return e?this._map.delete(t):e=[],e},t.prototype.append=function(t,e){var n=this._map.get(t);n||this._map.set(t,n=[]),n.push.apply(n,e)},t.prototype.has=function(t){return this._map.has(t)},t.prototype.clear=function(){this._map.clear()},t}(),Sy=new RegExp(":enter","g"),Ty=new RegExp(":leave","g");function Dy(t,e,n,r,i,o,a,s,l,u){return void 0===o&&(o={}),void 0===a&&(a={}),void 0===u&&(u=[]),(new Oy).buildKeyframes(t,e,n,r,i,o,a,s,l,u)}var Oy=function(){function t(){}return t.prototype.buildKeyframes=function(t,e,n,r,i,o,a,s,l,u){void 0===u&&(u=[]),l=l||new Cy;var c=new Py(t,e,l,r,i,u,[]);c.options=s,c.currentTimeline.setStyles([o],null,c.errors,s),py(this,n,c);var d=c.timelines.filter(function(t){return t.containsAnimation()});if(d.length&&Object.keys(a).length){var h=d[d.length-1];h.allowOnlyTimelineStyles()||h.setStyles([a],null,c.errors,s)}return d.length?d.map(function(t){return t.buildKeyframes()}):[Ly(e,[],[],[],0,0,"",!1)]},t.prototype.visitTrigger=function(t,e){},t.prototype.visitState=function(t,e){},t.prototype.visitTransition=function(t,e){},t.prototype.visitAnimateChild=function(t,e){var n=e.subInstructions.consume(e.element);if(n){var r=e.createSubContext(t.options),i=e.currentTimeline.currentTime,o=this._visitSubInstructions(n,r,r.options);i!=o&&e.transformIntoNewTimeline(o)}e.previousNode=t},t.prototype.visitAnimateRef=function(t,e){var n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t},t.prototype._visitSubInstructions=function(t,e,n){var r=e.currentTimeline.currentTime,i=null!=n.duration?$g(n.duration):null,o=null!=n.delay?$g(n.delay):null;return 0!==i&&t.forEach(function(t){var n=e.appendInstructionToTimeline(t,i,o);r=Math.max(r,n.duration+n.delay)}),r},t.prototype.visitReference=function(t,e){e.updateOptions(t.options,!0),py(this,t.animation,e),e.previousNode=t},t.prototype.visitSequence=function(t,e){var n=this,r=e.subContextCount,i=e,o=t.options;if(o&&(o.params||o.delay)&&((i=e.createSubContext(o)).transformIntoNewTimeline(),null!=o.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=Yy);var a=$g(o.delay);i.delayNextStep(a)}t.steps.length&&(t.steps.forEach(function(t){return py(n,t,i)}),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>r&&i.transformIntoNewTimeline()),e.previousNode=t},t.prototype.visitGroup=function(t,e){var n=this,r=[],i=e.currentTimeline.currentTime,o=t.options&&t.options.delay?$g(t.options.delay):0;t.steps.forEach(function(a){var s=e.createSubContext(t.options);o&&s.delayNextStep(o),py(n,a,s),i=Math.max(i,s.currentTimeline.currentTime),r.push(s.currentTimeline)}),r.forEach(function(t){return e.currentTimeline.mergeTimelineCollectedStyles(t)}),e.transformIntoNewTimeline(i),e.previousNode=t},t.prototype._visitTiming=function(t,e){if(t.dynamic){var n=t.strValue;return ey(e.params?uy(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}},t.prototype.visitAnimate=function(t,e){var n=e.currentAnimateTimings=this._visitTiming(t.timings,e),r=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),r.snapshotCurrentStyles());var i=t.style;5==i.type?this.visitKeyframes(i,e):(e.incrementTime(n.duration),this.visitStyle(i,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t},t.prototype.visitStyle=function(t,e){var n=e.currentTimeline,r=e.currentAnimateTimings;!r&&n.getCurrentStyleProperties().length&&n.forwardFrame();var i=r&&r.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(i):n.setStyles(t.styles,i,e.errors,e.options),e.previousNode=t},t.prototype.visitKeyframes=function(t,e){var n=e.currentAnimateTimings,r=e.currentTimeline.duration,i=n.duration,o=e.createSubContext().currentTimeline;o.easing=n.easing,t.styles.forEach(function(t){o.forwardTime((t.offset||0)*i),o.setStyles(t.styles,t.easing,e.errors,e.options),o.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(o),e.transformIntoNewTimeline(r+i),e.previousNode=t},t.prototype.visitQuery=function(t,e){var n=this,r=e.currentTimeline.currentTime,i=t.options||{},o=i.delay?$g(i.delay):0;o&&(6===e.previousNode.type||0==r&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=Yy);var a=r,s=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=s.length;var l=null;s.forEach(function(r,i){e.currentQueryIndex=i;var s=e.createSubContext(t.options,r);o&&s.delayNextStep(o),r===e.element&&(l=s.currentTimeline),py(n,t.animation,s),s.currentTimeline.applyStylesToKeyframe(),a=Math.max(a,s.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(a),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t},t.prototype.visitStagger=function(t,e){var n=e.parentContext,r=e.currentTimeline,i=t.timings,o=Math.abs(i.duration),a=o*(e.currentQueryTotal-1),s=o*e.currentQueryIndex;switch(i.duration<0?"reverse":i.easing){case"reverse":s=a-s;break;case"full":s=n.currentStaggerTime}var l=e.currentTimeline;s&&l.delayNextStep(s);var u=l.currentTime;py(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=r.currentTime-u+(r.startTime-n.currentTimeline.startTime)},t}(),Yy={},Py=function(){function t(t,e,n,r,i,o,a,s){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=r,this._leaveClassName=i,this.errors=o,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Yy,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=s||new Ey(this._driver,e,0),a.push(this.currentTimeline)}return Object.defineProperty(t.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),t.prototype.updateOptions=function(t,e){var n=this;if(t){var r=t,i=this.options;null!=r.duration&&(i.duration=$g(r.duration)),null!=r.delay&&(i.delay=$g(r.delay));var o=r.params;if(o){var a=i.params;a||(a=this.options.params={}),Object.keys(o).forEach(function(t){e&&a.hasOwnProperty(t)||(a[t]=uy(o[t],a,n.errors))})}}},t.prototype._copyOptions=function(){var t={};if(this.options){var e=this.options.params;if(e){var n=t.params={};Object.keys(e).forEach(function(t){n[t]=e[t]})}}return t},t.prototype.createSubContext=function(e,n,r){void 0===e&&(e=null);var i=n||this.element,o=new t(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,r||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(e),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o},t.prototype.transformIntoNewTimeline=function(t){return this.previousNode=Yy,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline},t.prototype.appendInstructionToTimeline=function(t,e,n){var r={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},i=new jy(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,r,t.stretchStartingKeyframe);return this.timelines.push(i),r},t.prototype.incrementTime=function(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)},t.prototype.delayNextStep=function(t){t>0&&this.currentTimeline.delayNextStep(t)},t.prototype.invokeQuery=function(t,e,n,r,i,o){var a=[];if(r&&a.push(this.element),t.length>0){t=(t=t.replace(Sy,"."+this._enterClassName)).replace(Ty,"."+this._leaveClassName);var s=this._driver.query(this.element,t,1!=n);0!==n&&(s=n<0?s.slice(s.length+n,s.length):s.slice(0,n)),a.push.apply(a,s)}return i||0!=a.length||o.push('`query("'+e+'")` returned zero elements. (Use `query("'+e+'", { optional: true })` if you wish to allow this.)'),a},t}(),Ey=function(){function t(t,e,n,r){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}return t.prototype.containsAnimation=function(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}},t.prototype.getCurrentStyleProperties=function(){return Object.keys(this._currentKeyframe)},Object.defineProperty(t.prototype,"currentTime",{get:function(){return this.startTime+this.duration},enumerable:!0,configurable:!0}),t.prototype.delayNextStep=function(t){var e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t},t.prototype.fork=function(e,n){return this.applyStylesToKeyframe(),new t(this._driver,e,n||this.currentTime,this._elementTimelineStylesLookup)},t.prototype._loadKeyframe=function(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))},t.prototype.forwardFrame=function(){this.duration+=1,this._loadKeyframe()},t.prototype.forwardTime=function(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()},t.prototype._updateStyle=function(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}},t.prototype.allowOnlyTimelineStyles=function(){return this._currentEmptyStepKeyframe!==this._currentKeyframe},t.prototype.applyEmptyStep=function(t){var e=this;t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(function(t){e._backFill[t]=e._globalTimelineStyles[t]||La,e._currentKeyframe[t]=La}),this._currentEmptyStepKeyframe=this._currentKeyframe},t.prototype.setStyles=function(t,e,n,r){var i=this;e&&(this._previousKeyframe.easing=e);var o=r&&r.params||{},a=function(t,e){var n,r={};return t.forEach(function(t){"*"===t?(n=n||Object.keys(e)).forEach(function(t){r[t]=La}):ry(t,!1,r)}),r}(t,this._globalTimelineStyles);Object.keys(a).forEach(function(t){var e=uy(a[t],o,n);i._pendingStyles[t]=e,i._localTimelineStyles.hasOwnProperty(t)||(i._backFill[t]=i._globalTimelineStyles.hasOwnProperty(t)?i._globalTimelineStyles[t]:La),i._updateStyle(t,e)})},t.prototype.applyStylesToKeyframe=function(){var t=this,e=this._pendingStyles,n=Object.keys(e);0!=n.length&&(this._pendingStyles={},n.forEach(function(n){t._currentKeyframe[n]=e[n]}),Object.keys(this._localTimelineStyles).forEach(function(e){t._currentKeyframe.hasOwnProperty(e)||(t._currentKeyframe[e]=t._localTimelineStyles[e])}))},t.prototype.snapshotCurrentStyles=function(){var t=this;Object.keys(this._localTimelineStyles).forEach(function(e){var n=t._localTimelineStyles[e];t._pendingStyles[e]=n,t._updateStyle(e,n)})},t.prototype.getFinalKeyframe=function(){return this._keyframes.get(this.duration)},Object.defineProperty(t.prototype,"properties",{get:function(){var t=[];for(var e in this._currentKeyframe)t.push(e);return t},enumerable:!0,configurable:!0}),t.prototype.mergeTimelineCollectedStyles=function(t){var e=this;Object.keys(t._styleSummary).forEach(function(n){var r=e._styleSummary[n],i=t._styleSummary[n];(!r||i.time>r.time)&&e._updateStyle(n,i.value)})},t.prototype.buildKeyframes=function(){var t=this;this.applyStylesToKeyframe();var e=new Set,n=new Set,r=1===this._keyframes.size&&0===this.duration,i=[];this._keyframes.forEach(function(o,a){var s=ry(o,!0);Object.keys(s).forEach(function(t){var r=s[t];r==Ya?e.add(t):r==La&&n.add(t)}),r||(s.offset=a/t.duration),i.push(s)});var o=e.size?cy(e.values()):[],a=n.size?cy(n.values()):[];if(r){var s=i[0],l=ny(s);s.offset=0,l.offset=1,i=[s,l]}return Ly(this.element,i,o,a,this.duration,this.startTime,this.easing,!1)},t}(),jy=function(t){function e(e,n,r,i,o,a,s){void 0===s&&(s=!1);var l=t.call(this,e,n,a.delay)||this;return l.element=n,l.keyframes=r,l.preStyleProps=i,l.postStyleProps=o,l._stretchStartingKeyframe=s,l.timings={duration:a.duration,delay:a.delay,easing:a.easing},l}return Object(o.b)(e,t),e.prototype.containsAnimation=function(){return this.keyframes.length>1},e.prototype.buildKeyframes=function(){var t=this.keyframes,e=this.timings,n=e.delay,r=e.duration,i=e.easing;if(this._stretchStartingKeyframe&&n){var o=[],a=r+n,s=n/a,l=ry(t[0],!1);l.offset=0,o.push(l);var u=ry(t[0],!1);u.offset=Ay(s),o.push(u);for(var c=t.length-1,d=1;d<=c;d++){var h=ry(t[d],!1);h.offset=Ay((n+h.offset*r)/a),o.push(h)}r=a,n=0,i="",t=o}return Ly(this.element,t,this.preStyleProps,this.postStyleProps,r,n,i,!0)},e}(Ey);function Ay(t,e){void 0===e&&(e=3);var n=Math.pow(10,e-1);return Math.round(t*n)/n}var Iy=function(){},Hy=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.b)(e,t),e.prototype.normalizePropertyName=function(t,e){return hy(t)},e.prototype.normalizeStyleValue=function(t,e,n,r){var i="",o=n.toString().trim();if(Ry[e]&&0!==n&&"0"!==n)if("number"==typeof n)i="px";else{var a=n.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&r.push("Please provide a CSS unit value for "+t+":"+n)}return o+i},e}(Iy),Ry=function(t){var e={};return"width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",").forEach(function(t){return e[t]=!0}),e}();function Ny(t,e,n,r,i,o,a,s,l,u,c,d){return{type:0,element:t,triggerName:e,isRemovalTransition:i,fromState:n,fromStyles:o,toState:r,toStyles:a,timelines:s,queriedElements:l,preStyleProps:u,postStyleProps:c,errors:d}}var Fy={},Vy=function(){function t(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}return t.prototype.match=function(t,e){return function(t,e,n){return t.some(function(t){return t(e,n)})}(this.ast.matchers,t,e)},t.prototype.buildStyles=function(t,e,n){var r=this._stateStyles["*"],i=this._stateStyles[t],o=r?r.buildStyles(e,n):{};return i?i.buildStyles(e,n):o},t.prototype.build=function(t,e,n,r,i,a,s,l,u){var c=[],d=this.ast.options&&this.ast.options.params||Fy,h=this.buildStyles(n,s&&s.params||Fy,c),p=l&&l.params||Fy,f=this.buildStyles(r,p,c),_=new Set,m=new Map,g=new Map,y="void"===r,v={params:Object(o.a)({},d,p)},b=Dy(t,e,this.ast.animation,i,a,h,f,v,u,c);if(c.length)return Ny(e,this._triggerName,n,r,y,h,f,[],[],m,g,c);b.forEach(function(t){var n=t.element,r=Hg(m,n,{});t.preStyleProps.forEach(function(t){return r[t]=!0});var i=Hg(g,n,{});t.postStyleProps.forEach(function(t){return i[t]=!0}),n!==e&&_.add(n)});var w=cy(_.values());return Ny(e,this._triggerName,n,r,y,h,f,b,w,m,g)},t}(),zy=function(){function t(t,e){this.styles=t,this.defaultParams=e}return t.prototype.buildStyles=function(t,e){var n={},r=ny(this.defaultParams);return Object.keys(t).forEach(function(e){var n=t[e];null!=n&&(r[e]=n)}),this.styles.styles.forEach(function(t){if("string"!=typeof t){var i=t;Object.keys(i).forEach(function(t){var o=i[t];o.length>1&&(o=uy(o,r,e)),n[t]=o})}}),n},t}(),Wy=function(){function t(t,e){var n=this;this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach(function(t){n.states[t.name]=new zy(t.style,t.options&&t.options.params||{})}),By(this.states,"true","1"),By(this.states,"false","0"),e.transitions.forEach(function(e){n.transitionFactories.push(new Vy(t,e,n.states))}),this.fallbackTransition=new Vy(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[function(t,e){return!0}],options:null,queryCount:0,depCount:0},this.states)}return Object.defineProperty(t.prototype,"containsQueries",{get:function(){return this.ast.queryCount>0},enumerable:!0,configurable:!0}),t.prototype.matchTransition=function(t,e){return this.transitionFactories.find(function(n){return n.match(t,e)})||null},t.prototype.matchStyles=function(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)},t}();function By(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}var Uy=new Cy,qy=function(){function t(t,e){this._driver=t,this._normalizer=e,this._animations={},this._playersById={},this.players=[]}return t.prototype.register=function(t,e){var n=[],r=vy(this._driver,e,n);if(n.length)throw new Error("Unable to build the animation due to the following errors: "+n.join("\n"));this._animations[t]=r},t.prototype._buildPlayer=function(t,e,n){var r=t.element,i=Eg(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(r,i,t.duration,t.delay,t.easing,[])},t.prototype.create=function(t,e,n){var r=this;void 0===n&&(n={});var i,o=[],a=this._animations[t],s=new Map;if(a?(i=Dy(this._driver,e,a,"ng-enter","ng-leave",{},{},n,Uy,o)).forEach(function(t){var e=Hg(s,t.element,{});t.postStyleProps.forEach(function(t){return e[t]=null})}):(o.push("The requested animation doesn't exist or has already been destroyed"),i=[]),o.length)throw new Error("Unable to create the animation due to the following errors: "+o.join("\n"));s.forEach(function(t,e){Object.keys(t).forEach(function(n){t[n]=r._driver.computeStyle(e,n,La)})});var l=Pg(i.map(function(t){var e=s.get(t.element);return r._buildPlayer(t,{},e)}));return this._playersById[t]=l,l.onDestroy(function(){return r.destroy(t)}),this.players.push(l),l},t.prototype.destroy=function(t){var e=this._getPlayer(t);e.destroy(),delete this._playersById[t];var n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)},t.prototype._getPlayer=function(t){var e=this._playersById[t];if(!e)throw new Error("Unable to find the timeline player referenced by "+t);return e},t.prototype.listen=function(t,e,n,r){var i=Ig(e,"","","");return jg(this._getPlayer(t),n,i,r),function(){}},t.prototype.command=function(t,e,n,r){if("register"!=n)if("create"!=n){var i=this._getPlayer(t);switch(n){case"play":i.play();break;case"pause":i.pause();break;case"reset":i.reset();break;case"restart":i.restart();break;case"finish":i.finish();break;case"init":i.init();break;case"setPosition":i.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(t)}}else this.create(t,e,r[0]||{});else this.register(t,r[0])},t}(),Jy=[],Gy={namespaceId:"",setForRemoval:null,hasAnimation:!1,removedBeforeQueried:!1},Ky={namespaceId:"",setForRemoval:null,hasAnimation:!1,removedBeforeQueried:!0},Xy="__ng_removed",Zy=function(){function t(t,e){void 0===e&&(e=""),this.namespaceId=e;var n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){var r=ny(t);delete r.value,this.options=r}else this.options={};this.options.params||(this.options.params={})}return Object.defineProperty(t.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),t.prototype.absorbOptions=function(t){var e=t.params;if(e){var n=this.options.params;Object.keys(e).forEach(function(t){null==n[t]&&(n[t]=e[t])})}},t}(),Qy=new Zy("void"),$y=new Zy("DELETED"),tv=function(){function t(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,lv(e,this._hostClassName)}return t.prototype.listen=function(t,e,n,r){var i,o=this;if(!this._triggers.hasOwnProperty(e))throw new Error('Unable to listen on the animation trigger event "'+n+'" because the animation trigger "'+e+"\" doesn't exist!");if(null==n||0==n.length)throw new Error('Unable to listen on the animation trigger "'+e+'" because the provided event is undefined!');if("start"!=(i=n)&&"done"!=i)throw new Error('The provided animation trigger event "'+n+'" for the animation trigger "'+e+'" is not supported!');var a=Hg(this._elementListeners,t,[]),s={name:e,phase:n,callback:r};a.push(s);var l=Hg(this._engine.statesByElement,t,{});return l.hasOwnProperty(e)||(lv(t,"ng-trigger"),lv(t,"ng-trigger-"+e),l[e]=Qy),function(){o._engine.afterFlush(function(){var t=a.indexOf(s);t>=0&&a.splice(t,1),o._triggers[e]||delete l[e]})}},t.prototype.register=function(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)},t.prototype._getTrigger=function(t){var e=this._triggers[t];if(!e)throw new Error('The provided animation trigger "'+t+'" has not been registered!');return e},t.prototype.trigger=function(t,e,n,r){var i=this;void 0===r&&(r=!0);var o=this._getTrigger(e),a=new nv(this.id,e,t),s=this._engine.statesByElement.get(t);s||(lv(t,"ng-trigger"),lv(t,"ng-trigger-"+e),this._engine.statesByElement.set(t,s={}));var l=s[e],u=new Zy(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&l&&u.absorbOptions(l.options),s[e]=u,l){if(l===$y)return a}else l=Qy;if("void"===u.value||l.value!==u.value){var c=Hg(this._engine.playersByElement,t,[]);c.forEach(function(t){t.namespaceId==i.id&&t.triggerName==e&&t.queued&&t.destroy()});var d=o.matchTransition(l.value,u.value),h=!1;if(!d){if(!r)return;d=o.fallbackTransition,h=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:d,fromState:l,toState:u,player:a,isFallbackTransition:h}),h||(lv(t,"ng-animate-queued"),a.onStart(function(){uv(t,"ng-animate-queued")})),a.onDone(function(){var e=i.players.indexOf(a);e>=0&&i.players.splice(e,1);var n=i._engine.playersByElement.get(t);if(n){var r=n.indexOf(a);r>=0&&n.splice(r,1)}}),this.players.push(a),c.push(a),a}if(!function(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i=0;i=0){for(var r=!1,i=n;i>=0;i--)if(this.driver.containsElement(this._namespaceList[i].hostElement,e)){this._namespaceList.splice(i+1,0,t),r=!0;break}r||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t},t.prototype.register=function(t,e){var n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n},t.prototype.registerTrigger=function(t,e,n){var r=this._namespaceLookup[t];r&&r.register(e,n)&&this.totalAnimations++},t.prototype.destroy=function(t,e){var n=this;if(t){var r=this._fetchNamespace(t);this.afterFlush(function(){n.namespacesByHostElement.delete(r.hostElement),delete n._namespaceLookup[t];var e=n._namespaceList.indexOf(r);e>=0&&n._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(function(){return r.destroy(e)})}},t.prototype._fetchNamespace=function(t){return this._namespaceLookup[t]},t.prototype.fetchNamespacesByElement=function(t){var e=new Set,n=this.statesByElement.get(t);if(n)for(var r=Object.keys(n),i=0;i=0;L--)this._namespaceList[L].drainQueuedTransitions(e).forEach(function(t){var e=t.player;k.push(e);var o=t.element;if(h&&n.driver.containsElement(h,o)){var a=w.get(o),d=_.get(o),p=n._buildInstruction(t,r,d,a);if(p.errors&&p.errors.length)x.push(p);else{if(t.isFallbackTransition)return e.onStart(function(){return oy(o,p.fromStyles)}),e.onDestroy(function(){return iy(o,p.toStyles)}),void i.push(e);p.timelines.forEach(function(t){return t.stretchStartingKeyframe=!0}),r.append(o,p.timelines),s.push({instruction:p,player:e,element:o}),p.queriedElements.forEach(function(t){return Hg(l,t,[]).push(e)}),p.preStyleProps.forEach(function(t,e){var n=Object.keys(t);if(n.length){var r=u.get(e);r||u.set(e,r=new Set),n.forEach(function(t){return r.add(t)})}}),p.postStyleProps.forEach(function(t,e){var n=Object.keys(t),r=c.get(e);r||c.set(e,r=new Set),n.forEach(function(t){return r.add(t)})})}}else e.destroy()});if(x.length){var C=[];x.forEach(function(t){C.push("@"+t.triggerName+" has failed due to:\n"),t.errors.forEach(function(t){return C.push("- "+t+"\n")})}),k.forEach(function(t){return t.destroy()}),this.reportError(C)}var S=new Map,T=new Map;s.forEach(function(t){var e=t.element;r.has(e)&&(T.set(e,e),n._beforeAnimationBuild(t.player.namespaceId,t.instruction,S))}),i.forEach(function(t){var e=t.element;n._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(function(t){Hg(S,e,[]).push(t),t.destroy()})});var D=g.filter(function(t){return dv(t,u,c)}),O=new Map;ov(O,this.driver,v,c,La).forEach(function(t){dv(t,u,c)&&D.push(t)});var Y=new Map;f.forEach(function(t,e){ov(Y,n.driver,new Set(t),u,Ya)}),D.forEach(function(t){var e=O.get(t),n=Y.get(t);O.set(t,Object(o.a)({},e,n))});var P=[],E=[],j={};s.forEach(function(t){var e=t.element,o=t.player,s=t.instruction;if(r.has(e)){if(d.has(e))return o.onDestroy(function(){return iy(e,s.toStyles)}),void i.push(o);var l=j;if(T.size>1){for(var u=e,c=[];u=u.parentNode;){var h=T.get(u);if(h){l=h;break}c.push(u)}c.forEach(function(t){return T.set(t,l)})}var p=n._buildAnimation(o.namespaceId,s,S,a,Y,O);if(o.setRealPlayer(p),l===j)P.push(o);else{var f=n.playersByElement.get(l);f&&f.length&&(o.parentPlayer=Pg(f)),i.push(o)}}else oy(e,s.fromStyles),o.onDestroy(function(){return iy(e,s.toStyles)}),E.push(o),d.has(e)&&i.push(o)}),E.forEach(function(t){var e=a.get(t.element);if(e&&e.length){var n=Pg(e);t.setRealPlayer(n)}}),i.forEach(function(t){t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(var A=0;A0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new Da},t}(),nv=function(){function t(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new Da,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.queued=!0}return t.prototype.setRealPlayer=function(t){var e=this;this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(function(n){e._queuedCallbacks[n].forEach(function(e){return jg(t,n,void 0,e)})}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.queued=!1)},t.prototype.getRealPlayer=function(){return this._player},t.prototype.syncPlayerEvents=function(t){var e=this,n=this._player;n.triggerCallback&&t.onStart(function(){return n.triggerCallback("start")}),t.onDone(function(){return e.finish()}),t.onDestroy(function(){return e.destroy()})},t.prototype._queueEvent=function(t,e){Hg(this._queuedCallbacks,t,[]).push(e)},t.prototype.onDone=function(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)},t.prototype.onStart=function(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)},t.prototype.onDestroy=function(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)},t.prototype.init=function(){this._player.init()},t.prototype.hasStarted=function(){return!this.queued&&this._player.hasStarted()},t.prototype.play=function(){!this.queued&&this._player.play()},t.prototype.pause=function(){!this.queued&&this._player.pause()},t.prototype.restart=function(){!this.queued&&this._player.restart()},t.prototype.finish=function(){this._player.finish()},t.prototype.destroy=function(){this.destroyed=!0,this._player.destroy()},t.prototype.reset=function(){!this.queued&&this._player.reset()},t.prototype.setPosition=function(t){this.queued||this._player.setPosition(t)},t.prototype.getPosition=function(){return this.queued?0:this._player.getPosition()},Object.defineProperty(t.prototype,"totalTime",{get:function(){return this._player.totalTime},enumerable:!0,configurable:!0}),t.prototype.triggerCallback=function(t){var e=this._player;e.triggerCallback&&e.triggerCallback(t)},t}();function rv(t){return t&&1===t.nodeType}function iv(t,e){var n=t.style.display;return t.style.display=null!=e?e:"none",n}function ov(t,e,n,r,i){var o=[];n.forEach(function(t){return o.push(iv(t))});var a=[];r.forEach(function(n,r){var o={};n.forEach(function(t){var n=o[t]=e.computeStyle(r,t,i);n&&0!=n.length||(r[Xy]=Ky,a.push(r))}),t.set(r,o)});var s=0;return n.forEach(function(t){return iv(t,o[s++])}),a}function av(t,e){var n=new Map;if(t.forEach(function(t){return n.set(t,[])}),0==e.length)return n;var r=new Set(e),i=new Map;return e.forEach(function(t){var e=function t(e){if(!e)return 1;var o=i.get(e);if(o)return o;var a=e.parentNode;return o=n.has(a)?a:r.has(a)?1:t(a),i.set(e,o),o}(t);1!==e&&n.get(e).push(t)}),n}var sv="$$classes";function lv(t,e){if(t.classList)t.classList.add(e);else{var n=t[sv];n||(n=t[sv]={}),n[e]=!0}}function uv(t,e){if(t.classList)t.classList.remove(e);else{var n=t[sv];n&&delete n[e]}}function cv(t,e,n){Pg(n).onDone(function(){return t.processLeaveNode(e)})}function dv(t,e,n){var r=n.get(t);if(!r)return!1;var i=e.get(t);return i?r.forEach(function(t){return i.add(t)}):e.set(t,r),n.delete(t),!0}var hv=function(){function t(t,e){var n=this;this._driver=t,this._triggerCache={},this.onRemovalComplete=function(t,e){},this._transitionEngine=new ev(t,e),this._timelineEngine=new qy(t,e),this._transitionEngine.onRemovalComplete=function(t,e){return n.onRemovalComplete(t,e)}}return t.prototype.registerTrigger=function(t,e,n,r,i){var o=t+"-"+r,a=this._triggerCache[o];if(!a){var s=[],l=vy(this._driver,i,s);if(s.length)throw new Error('The animation trigger "'+r+'" has failed to build due to the following errors:\n - '+s.join("\n - "));a=function(t,e){return new Wy(t,e)}(r,l),this._triggerCache[o]=a}this._transitionEngine.registerTrigger(e,r,a)},t.prototype.register=function(t,e){this._transitionEngine.register(t,e)},t.prototype.destroy=function(t,e){this._transitionEngine.destroy(t,e)},t.prototype.onInsert=function(t,e,n,r){this._transitionEngine.insertNode(t,e,n,r)},t.prototype.onRemove=function(t,e,n){this._transitionEngine.removeNode(t,e,n)},t.prototype.disableAnimations=function(t,e){this._transitionEngine.markElementAsDisabled(t,e)},t.prototype.process=function(t,e,n,r){if("@"==n.charAt(0)){var i=Rg(n);this._timelineEngine.command(i[0],e,i[1],r)}else this._transitionEngine.trigger(t,e,n,r)},t.prototype.listen=function(t,e,n,r,i){if("@"==n.charAt(0)){var o=Rg(n);return this._timelineEngine.listen(o[0],e,o[1],i)}return this._transitionEngine.listen(t,e,n,r,i)},t.prototype.flush=function(t){void 0===t&&(t=-1),this._transitionEngine.flush(t)},Object.defineProperty(t.prototype,"players",{get:function(){return this._transitionEngine.players.concat(this._timelineEngine.players)},enumerable:!0,configurable:!0}),t.prototype.whenRenderingDone=function(){return this._transitionEngine.whenRenderingDone()},t}(),pv=function(t){function e(e,n){var i=t.call(this)||this;return i._nextAnimationId=0,i._renderer=e.createRenderer(n.body,{id:"0",encapsulation:r.O.None,styles:[],data:{animation:[]}}),i}return Object(o.b)(e,t),e.prototype.build=function(t){var e=this._nextAnimationId.toString();this._nextAnimationId++;var n=Array.isArray(t)?Ca(t):t;return mv(this._renderer,null,e,"register",[n]),new fv(e,this._renderer)},e}(xa),fv=function(t){function e(e,n){var r=t.call(this)||this;return r._id=e,r._renderer=n,r}return Object(o.b)(e,t),e.prototype.create=function(t,e){return new _v(this._id,t,e||{},this._renderer)},e}(function(){}),_v=function(){function t(t,e,n,r){this.id=t,this.element=e,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}return t.prototype._listen=function(t,e){return this._renderer.listen(this.element,"@@"+this.id+":"+t,e)},t.prototype._command=function(t){for(var e=[],n=1;n=0&&t=11?t:t+12:"sore"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"siang":t<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("PJh5"))},z3hR:function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return e?i[n][0]:i[n][1]}function n(t){if(t=parseInt(t,10),isNaN(t))return!1;if(t<0)return!0;if(t<10)return 4<=t&&t<=7;if(t<100){var e=t%10;return n(0===e?t/10:e)}if(t<1e4){for(;t>=10;)t/=10;return n(t)}return n(t/=1e3)}t.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(t){return n(t.substr(0,t.indexOf(" ")))?"a "+t:"an "+t},past:function(t){return n(t.substr(0,t.indexOf(" ")))?"viru "+t:"virun "+t},s:"e puer Sekonnen",ss:"%d Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d M\xe9int",y:e,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))}},[0]); \ No newline at end of file diff --git a/src/gui/static/dist/polyfills.c4b58e211f949e5897b0.bundle.js b/src/gui/static/dist/polyfills.c4b58e211f949e5897b0.bundle.js deleted file mode 100755 index a0b0d1e..0000000 --- a/src/gui/static/dist/polyfills.c4b58e211f949e5897b0.bundle.js +++ /dev/null @@ -1 +0,0 @@ -webpackJsonp([1],{"/whu":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"0Rih":function(t,e,n){"use strict";var r=n("OzIq"),o=n("Ds5P"),i=n("R3AP"),a=n("A16L"),c=n("1aA0"),u=n("vmSO"),s=n("9GpA"),f=n("UKM+"),l=n("zgIt"),p=n("qkyc"),h=n("yYvK"),v=n("kic5");t.exports=function(t,e,n,d,y,g){var k=r[t],_=k,m=y?"set":"add",b=_&&_.prototype,w={},T=function(t){var e=b[t];i(b,t,"delete"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return g&&!f(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof _&&(g||b.forEach&&!l(function(){(new _).entries().next()}))){var O=new _,D=O[m](g?{}:-0,1)!=O,E=l(function(){O.has(1)}),P=p(function(t){new _(t)}),S=!g&&l(function(){for(var t=new _,e=5;e--;)t[m](e,e);return!t.has(-0)});P||((_=e(function(e,n){s(e,_,t);var r=v(new k,e,_);return void 0!=n&&u(n,y,r[m],r),r})).prototype=b,b.constructor=_),(E||S)&&(T("delete"),T("has"),y&&T("get")),(S||D)&&T(m),g&&b.clear&&delete b.clear}else _=d.getConstructor(e,t,y,m),a(_.prototype,n),c.NEED=!0;return h(_,t),w[t]=_,o(o.G+o.W+o.F*(_!=k),w),g||d.setStrong(_,t,y),_}},1:function(t,e,n){t.exports=n("XS25")},"1aA0":function(t,e,n){var r=n("ulTY")("meta"),o=n("UKM+"),i=n("WBcL"),a=n("lDLk").f,c=0,u=Object.isExtensible||function(){return!0},s=!n("zgIt")(function(){return u(Object.preventExtensions({}))}),f=function(t){a(t,r,{value:{i:"O"+ ++c,w:{}}})},l=t.exports={KEY:r,NEED:!1,fastKey:function(t,e){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,r)){if(!u(t))return"F";if(!e)return"E";f(t)}return t[r].i},getWeak:function(t,e){if(!i(t,r)){if(!u(t))return!0;if(!e)return!1;f(t)}return t[r].w},onFreeze:function(t){return s&&l.NEED&&u(t)&&!i(t,r)&&f(t),t}}},"2p1q":function(t,e,n){var r=n("lDLk"),o=n("fU25");t.exports=n("bUqO")?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},"2tFN":function(t,e,n){n("CVR+"),n("vmSu"),n("4ZU1"),n("yx1U"),n("X7aK"),n("SPtU"),n("A52B"),n("PuTd"),n("dm+7"),n("JG34"),n("Rw4K"),n("9mGU"),n("bUY0"),n("mTp7"),t.exports=n("7gX0").Reflect},"3q4u":function(t,e,n){var r=n("wCso"),o=n("DIVP"),i=r.key,a=r.map,c=r.store;r.exp({deleteMetadata:function(t,e){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(e),n,!1);if(void 0===r||!r.delete(t))return!1;if(r.size)return!0;var u=c.get(e);return u.delete(n),!!u.size||c.delete(e)}})},"4ZU1":function(t,e,n){var r=n("lDLk"),o=n("Ds5P"),i=n("DIVP"),a=n("s4j0");o(o.S+o.F*n("zgIt")(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(t,e,n){i(t),e=a(e,!0),i(n);try{return r.f(t,e,n),!0}catch(t){return!1}}})},"7gX0":function(t,e){var n=t.exports={version:"2.5.6"};"number"==typeof __e&&(__e=n)},"7ylX":function(t,e,n){var r=n("DIVP"),o=n("twxM"),i=n("QKXm"),a=n("mZON")("IE_PROTO"),c=function(){},u=function(){var t,e=n("jhxf")("iframe"),r=i.length;for(e.style.display="none",n("d075").appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("
          +
          { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ DoubleButtonComponent ] + declarations: [ DoubleButtonComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/layout/double-button/double-button.component.ts b/src/gui/static/src/app/components/layout/double-button/double-button.component.ts index de607ec..1f9cffe 100755 --- a/src/gui/static/src/app/components/layout/double-button/double-button.component.ts +++ b/src/gui/static/src/app/components/layout/double-button/double-button.component.ts @@ -12,6 +12,7 @@ export class DoubleButtonComponent { @Input() rightButtonText: any; @Input() leftButtonText: any; @Input() activeButton: DoubleButtonActive; + @Input() className = ''; @Output() onStateChange = new EventEmitter(); ButtonState = DoubleButtonActive; diff --git a/src/gui/static/src/app/components/layout/footer/footer.component.html b/src/gui/static/src/app/components/layout/footer/footer.component.html deleted file mode 100755 index f5cddb6..0000000 --- a/src/gui/static/src/app/components/layout/footer/footer.component.html +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/src/gui/static/src/app/components/layout/footer/footer.component.scss b/src/gui/static/src/app/components/layout/footer/footer.component.scss deleted file mode 100755 index 5f7ebe9..0000000 --- a/src/gui/static/src/app/components/layout/footer/footer.component.scss +++ /dev/null @@ -1,48 +0,0 @@ -@import '../../../../theme/_variables'; - -:host { - background-color: $white; - bottom: 0; - height: 66px; - left: 0; - padding: 4px 0; - position: fixed; - right: 0; - text-align: center; - width: 100%; - - button img { - max-height: 28px; - max-width: 28px; - } - - .-main { - background: $gradient-blue-dark; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(left top, $gradient-blue-dark, $gradient-blue-light); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(bottom right, $gradient-blue-dark, $gradient-blue-light); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(bottom right, $gradient-blue-dark, $gradient-blue-light); /* For Firefox 3.6 to 15 */ - background: linear-gradient(to bottom right, $gradient-blue-dark, $gradient-blue-light); /* Standard syntax */ - border-radius: 25px; - height: 50px; - margin: 13px 30px; - width: 100px; - - img { - -moz-transform: scaleX(-1); - -o-transform: scaleX(-1); - -webkit-transform: scaleX(-1); - transform: scaleX(-1); - filter: FlipH; - -ms-filter: "FlipH"; - } - } - - .-transparent { - background-color: $white; - border-radius: 25px; - box-shadow: none; - height: 50px; - margin: 13px 0; - width: 80px; - } -} diff --git a/src/gui/static/src/app/components/layout/footer/footer.component.ts b/src/gui/static/src/app/components/layout/footer/footer.component.ts deleted file mode 100755 index 51b314a..0000000 --- a/src/gui/static/src/app/components/layout/footer/footer.component.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Component } from '@angular/core'; -import { Router } from '@angular/router'; -import { MatDialog, MatDialogConfig } from '@angular/material/dialog'; -import { SendSkycoinComponent } from '../../pages/send-skycoin/send-skycoin.component'; - -@Component({ - selector: 'app-footer', - templateUrl: './footer.component.html', - styleUrls: ['./footer.component.scss'] -}) -export class FooterComponent { - - constructor( - private dialog: MatDialog, - private router: Router, - ) { } - - openWalletsPage() { - this.router.navigate(['/wallets']); - } - - openSendPage() { - const config = new MatDialogConfig(); - config.width = '566px'; - this.dialog.open(SendSkycoinComponent, config); - } - - openTransactions() { - this.router.navigate(['/transactions']); - } -} diff --git a/src/gui/static/src/app/components/layout/header/header.component.html b/src/gui/static/src/app/components/layout/header/header.component.html index 3acc43d..cab71bc 100755 --- a/src/gui/static/src/app/components/layout/header/header.component.html +++ b/src/gui/static/src/app/components/layout/header/header.component.html @@ -1,17 +1,21 @@
          - +

          {{ percentage | percent:'1.2-2' }}

          -

          {{ coins | number:'1.0-6' }} SLB

          +

          {{ coins | number:'1.0-6' }} {{ 'common.coin-id' | translate }}

           

          +
          -
          -

          Syncing blocks {{ current && highest ? '(' + current + '/' + highest + ')' : '..' }}

          -

          {{ hours | number }} SLB Hours

          +
          +

          + {{ 'header.syncing-blocks' | translate }} + {{ current && highest ? '(' + current + '/' + highest + ')' : '..' }} +

          +

          {{ hours | number }} {{ 'common.coin-hours' | translate }}

          @@ -21,20 +25,27 @@ color="primary" [mode]="querying ? 'query' : 'determinate'" [value]="percentage * 100"> - - -
          - No connections active, your client is not connected to any other nodes! + + + + +
          {{ 'header.errors.no-connections' | translate }}
          - Cannot reach backend. Please restart the app and/or seek help on our - Telegram -
          -
          - Security vulnerability: CSRF is not working, please exit immediately. + {{ 'header.errors.no-backend1' | translate }} + {{ 'header.errors.no-backend2' | translate }} + {{ 'header.errors.no-backend3' | translate }}
          +
          {{ 'header.errors.csrf' | translate }}
          -
          There are some pending trasactions. Data you see may not be updated.
          +
          + {{ 'header.pending-txs1' | translate }} + {{ 'header.pending-txs2' | translate }} + {{ 'header.pending-txs3' | translate }} +
          diff --git a/src/gui/static/src/app/components/layout/header/header.component.scss b/src/gui/static/src/app/components/layout/header/header.component.scss index 8aeb05e..ce0c14b 100755 --- a/src/gui/static/src/app/components/layout/header/header.component.scss +++ b/src/gui/static/src/app/components/layout/header/header.component.scss @@ -6,8 +6,8 @@ } .large-header { - background: url('../../../../assets/img/header.png') center center no-repeat; /* For Safari 5.1 to 6.0 */ - background-size: 100% auto; + background: url('../../../../assets/img/header.png') center center no-repeat; /* For Safari 5.1 to 6.0 */ + background-size: 100% auto; display: flex; flex-flow: column; align-items: stretch; @@ -16,7 +16,7 @@ .balance-container { align-items: center; - color: #9e6924; + color: $white; display: flex; flex: 1 1 auto; font-size: 12px; @@ -27,7 +27,7 @@ .coins { line-height: 1; margin: 0 0 0.5em; - color: #9e6924; + span { font-size: 4em; } @@ -55,14 +55,15 @@ } .notification-bar { - background-color: #845415; - color:#9e6924; + background-color: #F44A4D; + color:#FBFBFB; + div { - margin:auto; + margin: auto; - a{ - text-decoration:none; - color:#9e6924; + a { + text-decoration: none; + color: #FFEBEE; } } } diff --git a/src/gui/static/src/app/components/layout/header/header.component.spec.ts b/src/gui/static/src/app/components/layout/header/header.component.spec.ts index a52be79..89380b4 100755 --- a/src/gui/static/src/app/components/layout/header/header.component.spec.ts +++ b/src/gui/static/src/app/components/layout/header/header.component.spec.ts @@ -8,7 +8,7 @@ describe('HeaderComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ HeaderComponent ] + declarations: [ HeaderComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/layout/header/header.component.ts b/src/gui/static/src/app/components/layout/header/header.component.ts index 3ca2b70..a3a31a2 100755 --- a/src/gui/static/src/app/components/layout/header/header.component.ts +++ b/src/gui/static/src/app/components/layout/header/header.component.ts @@ -10,14 +10,15 @@ import { AppService } from '../../../services/app.service'; import 'rxjs/add/operator/skip'; import 'rxjs/add/operator/take'; import { shouldUpgradeVersion } from '../../../utils/semver'; +import { TranslateService } from '@ngx-translate/core'; @Component({ selector: 'app-header', templateUrl: './header.component.html', - styleUrls: ['./header.component.scss'] + styleUrls: ['./header.component.scss'], }) export class HeaderComponent implements OnInit, OnDestroy { - @Input() title: string; + @Input() headline: string; addresses = []; current: number; @@ -30,8 +31,8 @@ export class HeaderComponent implements OnInit, OnDestroy { hasPendingTxs: boolean; price: number; - private priceSubscription: Subscription; - private walletSubscription: Subscription; + private subscription: Subscription; + private fetchVersionError: string; get loading() { return !this.current || !this.highest || this.current !== this.highest; @@ -52,10 +53,15 @@ export class HeaderComponent implements OnInit, OnDestroy { private priceService: PriceService, private walletService: WalletService, private http: Http, - ) { } + private translateService: TranslateService, + ) { + this.translateService.get('errors.fetch-version').subscribe(msg => { + this.fetchVersionError = msg; + }); + } ngOnInit() { - this.blockchainService.progress + this.subscription = this.blockchainService.progress .filter(response => !!response) .subscribe(response => { this.querying = false; @@ -65,24 +71,26 @@ export class HeaderComponent implements OnInit, OnDestroy { }); this.setVersion(); - this.priceSubscription = this.priceService.price.subscribe(price => this.price = price); - this.walletSubscription = this.walletService.allAddresses().subscribe(addresses => { + + this.subscription.add(this.priceService.price.subscribe(price => this.price = price)); + + this.subscription.add(this.walletService.allAddresses().subscribe(addresses => { this.addresses = addresses.reduce((array, item) => { if (!array.find(addr => addr.address === item.address)) { array.push(item); } + return array; }, []); - }); + })); - this.walletService.pendingTransactions().subscribe(txs => { + this.subscription.add(this.walletService.pendingTransactions().subscribe(txs => { this.hasPendingTxs = txs.length > 0; - }); + })); } ngOnDestroy() { - this.priceSubscription.unsubscribe(); - this.walletSubscription.unsubscribe(); + this.subscription.unsubscribe(); } setVersion() { @@ -99,7 +107,7 @@ export class HeaderComponent implements OnInit, OnDestroy { private retrieveReleaseVersion() { this.http.get('https://api.github.com/repos/skycoin/skycoin/tags') .map((res: any) => res.json()) - .catch((error: any) => Observable.throw(error || 'Unable to fetch latest release version from github.')) + .catch((error: any) => Observable.throw(error || this.fetchVersionError)) .subscribe(response => { this.releaseVersion = response.find(element => element['name'].indexOf('rc') === -1)['name'].substr(1); this.updateAvailable = shouldUpgradeVersion(this.version, this.releaseVersion); diff --git a/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.html b/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.html index 7702e51..d9b3978 100755 --- a/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.html +++ b/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.html @@ -2,20 +2,29 @@
          - Wallets + {{ 'title.wallets' | translate }}
          - Send + {{ 'title.send' | translate }}
          - History + {{ 'title.history' | translate }}
          - Buy Skycoin + {{ 'title.buy-coin' | translate }}
          +
          diff --git a/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.scss b/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.scss index 0689658..ebd1b58 100755 --- a/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.scss +++ b/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.scss @@ -33,4 +33,9 @@ .-low-opacity { opacity: 0.2; } + + .-switch { + align-self: center; + padding: 0 20px; + } } diff --git a/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.spec.ts b/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.spec.ts index 404ad99..98bcd49 100755 --- a/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.spec.ts +++ b/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.spec.ts @@ -8,7 +8,7 @@ describe('NavBarComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ NavBarComponent ] + declarations: [ NavBarComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.ts b/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.ts index 1a2f2ea..4b7bd36 100755 --- a/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.ts +++ b/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.ts @@ -1,18 +1,20 @@ -import { Component, OnInit } from '@angular/core'; +import { Component } from '@angular/core'; import { AppConfig } from '../../../../app.config'; +import { NavBarService } from '../../../../services/nav-bar.service'; @Component({ selector: 'app-nav-bar', templateUrl: './nav-bar.component.html', - styleUrls: ['./nav-bar.component.scss'] + styleUrls: ['./nav-bar.component.scss'], }) -export class NavBarComponent implements OnInit { - +export class NavBarComponent { otcEnabled = AppConfig.otcEnabled; - constructor() { } + constructor( + public navbarService: NavBarService, + ) { } - ngOnInit() { + changeActiveComponent(value) { + this.navbarService.setActiveComponent(value); } - } diff --git a/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.html b/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.html index ba6eb14..ea64b48 100755 --- a/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.html +++ b/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.html @@ -1,19 +1,19 @@
          - {{ title }} + {{ headline }}
          - - - - + + + + - - SolarBankersCoin Explorer + + {{ 'title.explorer' | translate }}
          @@ -28,17 +27,12 @@

          Deposit Location

          2
          -

          Send Bitcoin

          -

          - Send Bitcoin to the address below. Once received, we will deposit the Skycoin to a new address in the wallet - selected above at the current rate of {{ config.sky_btc_exchange_rate }} SKY/BTC. -

          +

          {{ 'buy.send' | translate }}

          +

          {{ 'buy.send-desc' | translate:{rate: config.sky_btc_exchange_rate} }}

          {{ order.deposit_address }} - - Only send multiple of the SKY/BTC rate! Skycoin is sent in whole number; fractional SKY is not sent! - + {{ 'buy.fraction-warning' | translate }}
          @@ -46,19 +40,16 @@

          Send Bitcoin

          3
          -

          Receive Sky

          -

          - After receiving your Bitcoin, we'll send you your Skycoin. It may take anywhere between 20 minutes and an hour - to receive your SKY. -

          +

          {{ 'buy.receive' | translate }}

          +

          {{ 'buy.receive-desc' | translate }}

          - Status: {{ order.status | tellerStatus }} + {{ 'buy.status-button' | translate }} {{ order.status | tellerStatus | translate }} - Check Status + {{ 'buy.check-status-button' | translate }} - New Order + {{ 'buy.new-order-button' | translate }}
          diff --git a/src/gui/static/src/app/components/pages/buy/buy.component.spec.ts b/src/gui/static/src/app/components/pages/buy/buy.component.spec.ts index 680cd4d..1d0cca4 100755 --- a/src/gui/static/src/app/components/pages/buy/buy.component.spec.ts +++ b/src/gui/static/src/app/components/pages/buy/buy.component.spec.ts @@ -8,7 +8,7 @@ describe('BuyComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ BuyComponent ] + declarations: [ BuyComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/buy/buy.component.ts b/src/gui/static/src/app/components/pages/buy/buy.component.ts index 7ce611c..785d8b9 100755 --- a/src/gui/static/src/app/components/pages/buy/buy.component.ts +++ b/src/gui/static/src/app/components/pages/buy/buy.component.ts @@ -1,17 +1,18 @@ -import { Component, OnInit, ViewChild } from '@angular/core'; +import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; import { PurchaseService } from '../../../services/purchase.service'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { WalletService } from '../../../services/wallet.service'; import { Address, PurchaseOrder, Wallet } from '../../../app.datatypes'; import { MatSnackBar } from '@angular/material/snack-bar'; import { ButtonComponent } from '../../layout/button/button.component'; +import { Subscription } from 'rxjs/Subscription'; @Component({ selector: 'app-buy', templateUrl: './buy.component.html', - styleUrls: ['./buy.component.scss'] + styleUrls: ['./buy.component.scss'], }) -export class BuyComponent implements OnInit { +export class BuyComponent implements OnInit, OnDestroy { @ViewChild('button') button: ButtonComponent; address: Address; @@ -20,6 +21,8 @@ export class BuyComponent implements OnInit { order: PurchaseOrder; wallets: Wallet[]; + private subscription: Subscription; + constructor( private formBuilder: FormBuilder, private purchaseService: PurchaseService, @@ -32,14 +35,18 @@ export class BuyComponent implements OnInit { this.loadData(); } + ngOnDestroy() { + this.subscription.unsubscribe(); + } + checkStatus() { this.button.setLoading(); - this.purchaseService.scan(this.order.recipient_address).first().subscribe( + this.purchaseService.scan(this.order.recipient_address).subscribe( response => { this.button.setSuccess(); this.order.status = response.status; }, - error => this.button.setError(error) + error => this.button.setError(error), ); } @@ -53,12 +60,12 @@ export class BuyComponent implements OnInit { wallet: ['', Validators.required], }); - this.form.get('wallet').valueChanges.subscribe(filename => { + this.subscription = this.form.get('wallet').valueChanges.subscribe(filename => { const wallet = this.wallets.find(wlt => wlt.filename === filename); console.log('changing wallet value', filename); this.purchaseService.generate(wallet).subscribe( order => this.saveData(order), - error => this.snackBar.open(error.toString()) + error => this.snackBar.open(error.toString()), ); }); } @@ -74,13 +81,13 @@ export class BuyComponent implements OnInit { this.loadConfig(); this.loadOrder(); - this.walletService.all().subscribe(wallets => { + this.subscription.add(this.walletService.all().subscribe(wallets => { this.wallets = wallets; if (this.order) { this.form.get('wallet').setValue(this.order.filename, { emitEvent: false }); } - }); + })); } private loadOrder() { @@ -99,7 +106,7 @@ export class BuyComponent implements OnInit { private updateOrder() { this.purchaseService.scan(this.order.recipient_address).first().subscribe( response => this.order.status = response.status, - error => console.log(error) + error => console.log(error), ); } } diff --git a/src/gui/static/src/app/components/pages/explorer/explorer.component.html b/src/gui/static/src/app/components/pages/explorer/explorer.component.html deleted file mode 100755 index 13ce357..0000000 --- a/src/gui/static/src/app/components/pages/explorer/explorer.component.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/gui/static/src/app/components/pages/explorer/explorer.component.ts b/src/gui/static/src/app/components/pages/explorer/explorer.component.ts deleted file mode 100755 index 575ba39..0000000 --- a/src/gui/static/src/app/components/pages/explorer/explorer.component.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { BlockchainService } from '../../../services/blockchain.service'; -import { Router } from '@angular/router'; - -@Component({ - selector: 'app-explorer', - templateUrl: './explorer.component.html', - styleUrls: ['./explorer.component.css'] -}) -export class ExplorerComponent implements OnInit { - - blocks: any[]; - - constructor( - public blockchainService: BlockchainService, - private router: Router, - ) { } - - ngOnInit() { - this.blockchainService.blocks().subscribe(data => this.blocks = data); - } - - onActivate(response) { - if (response.row && response.row.header) { - this.router.navigate(['/explorer', response.row.header.seq]); - } - } -} diff --git a/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.html b/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.html index fc82d83..2e00da3 100755 --- a/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.html +++ b/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.html @@ -2,42 +2,47 @@
          - Create a Wallet + {{ 'wallet.new.create-title' | translate }}
          -

          - If you don't have a SolarBankerCoin wallet, use the generated seed to create a new one. - If you already have a wallet, toggle over to "Load Wallet" and enter your seed. -

          +

          {{ 'wizard.wallet-desc' | translate }}

          - +
          - +
          - +
          @@ -46,7 +51,7 @@
          diff --git a/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.scss b/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.scss index 8c68e94..410aaf9 100755 --- a/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.scss +++ b/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../theme/_variables'; +@import '../../../../../theme/variables'; .-header { color: $white; @@ -23,7 +23,9 @@ .-buttons-footer { align-items: center; flex-flow: column; + margin-bottom: 20px; } + .-toggle-container{ margin: 10px auto; } diff --git a/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.spec.ts b/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.spec.ts index 265ed4d..e93dc61 100755 --- a/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.spec.ts +++ b/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.spec.ts @@ -8,7 +8,7 @@ describe('OnboardingCreateWalletComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ OnboardingCreateWalletComponent ] + declarations: [ OnboardingCreateWalletComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.ts b/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.ts index 29ae109..e69e4af 100755 --- a/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.ts +++ b/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.ts @@ -1,10 +1,10 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; import { MatDialog, MatDialogConfig } from '@angular/material/dialog'; -import { WalletService } from '../../../../services/wallet.service'; import { DoubleButtonActive } from '../../../layout/double-button/double-button.component'; import { OnboardingSafeguardComponent } from './onboarding-safeguard/onboarding-safeguard.component'; import { MatDialogRef } from '@angular/material'; +import { ApiService } from '../../../../services/api.service'; @Component({ selector: 'app-onboarding-create-wallet', @@ -19,7 +19,7 @@ export class OnboardingCreateWalletComponent implements OnInit { constructor( private dialog: MatDialog, - private walletService: WalletService, + private apiService: ApiService, private formBuilder: FormBuilder, ) { } @@ -28,18 +28,15 @@ export class OnboardingCreateWalletComponent implements OnInit { } initForm() { - this.form = this.formBuilder.group({ - label: new FormControl('', Validators.compose([ - Validators.required, Validators.minLength(2), - ])), - seed: new FormControl('', Validators.compose([ - Validators.required, Validators.minLength(2), - ])), - confirm_seed: new FormControl('', - Validators.compose(this.showCreateForm ? [Validators.required, Validators.minLength(2)] : []) - ), + this.form = this.formBuilder.group( + { + label: new FormControl('', [Validators.required]), + seed: new FormControl('', [Validators.required]), + confirm_seed: new FormControl(), + }, + { + validator: this.showCreateForm ? this.seedMatchValidator.bind(this) : null, }, - this.showCreateForm ? { validator: this.seedMatchValidator.bind(this) } : {}, ); if (this.fill) { @@ -71,7 +68,7 @@ export class OnboardingCreateWalletComponent implements OnInit { } generateSeed(entropy: number) { - this.walletService.generateSeed(entropy).subscribe(seed => this.form.get('seed').setValue(seed)); + this.apiService.generateSeed(entropy).subscribe(seed => this.form.get('seed').setValue(seed)); } get showCreateForm() { @@ -87,13 +84,13 @@ export class OnboardingCreateWalletComponent implements OnInit { } private seedMatchValidator(g: FormGroup) { - return g.get('seed').value === g.get('confirm_seed').value - ? null : { mismatch: true }; + return g.get('seed').value === g.get('confirm_seed').value ? null : { NotEqual: true }; } private showSafe(): MatDialogRef { const config = new MatDialogConfig(); config.width = '450px'; + return this.dialog.open(OnboardingSafeguardComponent, config); } } diff --git a/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.html b/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.html index c52c0aa..980e908 100755 --- a/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.html +++ b/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.html @@ -1,17 +1,15 @@ - +
          - - We want to make sure that you wrote down your seed and stored it in a safe place. If you forget your seed, you WILL NOT be able to recover your SolarBankerCoin wallet! - + {{ 'wizard.confirm.desc' | translate }}
          It’s safe, I swear. + type="checkbox" id="terms">{{ 'wizard.confirm.checkbox' | translate }}
          - Continue + {{ 'wizard.confirm.button' | translate }}
          diff --git a/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.spec.ts b/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.spec.ts index 17da51f..39e1097 100755 --- a/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.spec.ts +++ b/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.spec.ts @@ -8,7 +8,7 @@ describe('OnboardingSafeguardComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ OnboardingSafeguardComponent ] + declarations: [ OnboardingSafeguardComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.ts b/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.ts index 8c8e29f..d4c7049 100755 --- a/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.ts +++ b/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.ts @@ -7,7 +7,6 @@ import { MatDialogRef } from '@angular/material/dialog'; styleUrls: ['./onboarding-safeguard.component.scss'], }) export class OnboardingSafeguardComponent { - public acceptSafe = false; constructor( @@ -21,5 +20,4 @@ export class OnboardingSafeguardComponent { setAccept(event) { this.acceptSafe = event.checked; } - } diff --git a/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.html b/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.html index 1e11579..714d665 100755 --- a/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.html +++ b/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.html @@ -2,20 +2,18 @@
          - Encrypt your wallet + {{ 'wallet.new.encrypt-title' | translate }}
          -

          - Increase security of your wallet by encrypting it. By entering a password below, your wallet will be - encrypted. Only those with the password will be able access the wallet and remove funds. -

          +

          {{ 'wizard.encrypt-desc' | translate }}

          - Encrypt Wallet + + + {{ 'wallet.new.encrypt' | translate }}
          @@ -23,11 +21,11 @@
          - +
          - +
          @@ -36,10 +34,10 @@
          diff --git a/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.scss b/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.scss index 7e2e48c..1536dcf 100755 --- a/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.scss +++ b/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../theme/_variables'; +@import '../../../../../theme/variables'; .-header { color: $white; @@ -23,6 +23,7 @@ .-buttons-footer { align-items: center; flex-flow: column; + margin-bottom: 20px; } .-check-container { diff --git a/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.spec.ts b/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.spec.ts index 38341b2..ae851bb 100755 --- a/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.spec.ts +++ b/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.spec.ts @@ -8,7 +8,7 @@ describe('OnboardingEncryptWalletComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ OnboardingEncryptWalletComponent ] + declarations: [ OnboardingEncryptWalletComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.ts b/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.ts index d261461..bdc9740 100755 --- a/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.ts +++ b/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.ts @@ -13,7 +13,9 @@ export class OnboardingEncryptWalletComponent implements OnInit { @Output() onBack = new EventEmitter(); form: FormGroup; - constructor(private formBuilder: FormBuilder) { } + constructor( + private formBuilder: FormBuilder, + ) { } ngOnInit() { this.initEncryptForm(); diff --git a/src/gui/static/src/app/components/pages/onboarding/onboarding.component.spec.ts b/src/gui/static/src/app/components/pages/onboarding/onboarding.component.spec.ts index 303f80a..b41b460 100755 --- a/src/gui/static/src/app/components/pages/onboarding/onboarding.component.spec.ts +++ b/src/gui/static/src/app/components/pages/onboarding/onboarding.component.spec.ts @@ -8,7 +8,7 @@ describe('OnboardingComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ OnboardingComponent ] + declarations: [ OnboardingComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/onboarding/onboarding.component.ts b/src/gui/static/src/app/components/pages/onboarding/onboarding.component.ts index e2def8b..23492bf 100755 --- a/src/gui/static/src/app/components/pages/onboarding/onboarding.component.ts +++ b/src/gui/static/src/app/components/pages/onboarding/onboarding.component.ts @@ -5,10 +5,9 @@ import { WalletService } from '../../../services/wallet.service'; @Component({ selector: 'app-onboarding', templateUrl: './onboarding.component.html', - styleUrls: ['./onboarding.component.scss'] + styleUrls: ['./onboarding.component.scss'], }) export class OnboardingComponent { - step = 1; label: string; seed: string; @@ -47,5 +46,4 @@ export class OnboardingComponent { this.router.navigate(['/wallets']); }); } - } diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.html b/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.html new file mode 100755 index 0000000..4294ae8 --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.html @@ -0,0 +1,114 @@ +
          +
          + +
          + +
          +
          + +
          + +
          + + + {{ addr.address }} - {{ addr.coins | number:'1.0-6' }} {{ 'common.coin-id' | translate }} + ({{ addr.hours | number:'1.0-6' }} {{ 'common.coin-hours' | translate }}) + + +
          + {{ address.address }} - {{ address.coins | number:'1.0-6' }} {{ 'common.coin-id' | translate }} + ({{ address.hours | number:'1.0-6' }} {{ 'common.coin-hours' | translate }}) +
          +
          +
          +
          +
          + +
          + + +
          +
          +
          + +
          +
          +
          + + {{ 'common.coin-id' | translate }} +
          +
          +
          +
          + + {{ 'common.coin-hours' | translate }} +
          +
          +
          + plus + minus +
          +
          +
          +
          + +
          + + +
          + +
          +
          +
          + +
          + {{ 'send.hours-allocation-label' | translate }} + + {{ 'send.options-label' | translate }} keyboard_arrow_down + +
          +
          +
          +
          + +
          +
          +
          + + +
          +
          +
          +
          +
          + +
          + + {{ 'send.preview-button' | translate }} + + + {{ 'send.send-button' | translate }} + +
          diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.scss b/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.scss new file mode 100755 index 0000000..b20c963 --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.scss @@ -0,0 +1,156 @@ +@import '../../../../../theme/variables'; + +.-input-addon { + display: flex; + + input { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + span { + border: 2px; + border-radius: 0 6px 6px 0; + background: #f1f1f1; + padding: 0 10px; + line-height: 44px; + color: $grey; + font-size: 14px; + flex-shrink: 0; + } +} + +.-destination { + &:not(:last-child) { + margin-bottom: 5px; + } + + .-icons { + text-align: right; + padding-top: 5px; + + img { + width: 32px; + cursor: pointer; + } + } +} + +mat-checkbox { + font-size: 12px; +} + +mat-select { + background: white; + border: 2px solid rgba(0, 0, 0, 0.05); + border-radius: 6px; + + ::ng-deep .mat-select-trigger { + padding: 10px 30px 10px 10px; + display: block; + font-size: 11px; + height: 100%; + line-height: 20px; + } + + ::ng-deep .mat-select-arrow { + border: none; + } +} + +mat-option ::ng-deep .mat-pseudo-checkbox-checked { + background: $gradient-blue-dark; +} + +.-autohours { + margin: 40px 0 20px; + + .-check ::ng-deep { + .mat-checkbox-checkmark-path { + stroke: $gradient-blue-dark !important; + } + + .mat-checkbox-background, .mat-checkbox-frame { + width: 20px; + height: 20px; + background: rgba(30, 34, 39, 0.05); + border-radius: 6px; + border-color: transparent; + } + + .mat-checkbox-label { + line-height: 20px; + font-size: 13px; + color: $grey-dark; + flex: 1; + } + + .-options { + color: $gradient-blue-dark; + cursor: pointer; + + mat-icon { + display: inline; + vertical-align: middle; + font-size: 13px; + } + } + + .mat-checkbox-layout { + display: flex; + } + } + + .-options-wrapper { + margin-top: 20px; + + mat-slider { + width: 100%; + padding: 0; + height: 40px; + border: 2px solid rgba(0, 0, 0, 0.05); + border-radius: 6px; + background: white; + + ::ng-deep { + .mat-slider-thumb, .mat-slider-thumb-label { + background-color: $gradient-blue-dark !important; + transform: scale(1) !important; + border-width: 0 !important; + } + + .mat-slider-thumb { + right: -6px; + width: 12px; + height: 32px; + border-radius: 3px; + } + + .mat-slider-track-fill, .mat-slider-track-background { + background-color: white !important; + } + } + } + } +} + +.-buttons { + text-align: center; +} + +.-hidden { + display: none; +} + +.-space-between { + display: flex; + justify-content: space-between; +} + +label mat-icon { + display: inline; + font-size: 14px; + color: lighten($grey, 40%); + vertical-align: text-bottom; + padding-left: 5px; +} diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.spec.ts b/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.spec.ts new file mode 100755 index 0000000..057bc47 --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SendFormAdvancedComponent } from './send-form-advanced.component'; + +describe('SendFormAdvancedComponent', () => { + let component: SendFormAdvancedComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SendFormAdvancedComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SendFormAdvancedComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.ts b/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.ts new file mode 100755 index 0000000..abb7590 --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.ts @@ -0,0 +1,335 @@ +import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core'; +import { WalletService } from '../../../../services/wallet.service'; +import { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { MatDialog, MatSnackBar } from '@angular/material'; +import { PasswordDialogComponent } from '../../../layout/password-dialog/password-dialog.component'; +import { ButtonComponent } from '../../../layout/button/button.component'; +import { showSnackbarError } from '../../../../utils/errors'; +import { Subscription } from 'rxjs/Subscription'; +import { NavBarService } from '../../../../services/nav-bar.service'; + +@Component({ + selector: 'app-send-form-advanced', + templateUrl: './send-form-advanced.component.html', + styleUrls: ['./send-form-advanced.component.scss'], +}) +export class SendFormAdvancedComponent implements OnInit, OnDestroy { + @ViewChild('previewButton') previewButton: ButtonComponent; + @ViewChild('sendButton') sendButton: ButtonComponent; + @Input() formData: any; + @Output() onFormSubmitted = new EventEmitter(); + + form: FormGroup; + addresses = []; + autoHours = true; + autoOptions = false; + autoShareValue = '0.5'; + previewTx: boolean; + + private subscriptions: Subscription; + + constructor( + public walletService: WalletService, + private formBuilder: FormBuilder, + private dialog: MatDialog, + private snackbar: MatSnackBar, + private navbarService: NavBarService, + ) { } + + ngOnInit() { + this.navbarService.showSwitch('send.simple', 'send.advanced'); + + this.form = this.formBuilder.group({ + wallet: ['', Validators.required], + addresses: ['', Validators.required], + changeAddress: [''], + destinations: this.formBuilder.array( + [this.createDestinationFormGroup()], + this.validateDestinations.bind(this), + ), + }); + + this.subscriptions = this.form.get('wallet').valueChanges.subscribe(wallet => { + this.addresses = wallet.addresses.filter(addr => addr.coins > 0); + this.form.get('addresses').setValue([]); + this.form.get('destinations').updateValueAndValidity(); + }); + + this.subscriptions.add(this.form.get('addresses').valueChanges.subscribe(() => { + this.form.get('destinations').updateValueAndValidity(); + })); + + if (this.formData) { + this.fillForm(); + } + } + + ngOnDestroy() { + this.subscriptions.unsubscribe(); + this.navbarService.hideSwitch(); + this.snackbar.dismiss(); + } + + preview() { + this.previewTx = true; + this.unlockAndSend(); + } + + send() { + this.previewTx = false; + this.unlockAndSend(); + } + + unlockAndSend() { + if (!this.form.valid || this.previewButton.isLoading() || this.sendButton.isLoading()) { + return; + } + + this.snackbar.dismiss(); + this.previewButton.resetState(); + this.sendButton.resetState(); + + if (this.form.get('wallet').value.encrypted) { + this.dialog.open(PasswordDialogComponent).componentInstance.passwordSubmit + .subscribe(passwordDialog => { + this.createTransaction(passwordDialog); + }); + } else { + this.createTransaction(); + } + } + + addDestination() { + const destinations = this.form.get('destinations') as FormArray; + destinations.push(this.createDestinationFormGroup()); + } + + removeDestination(index) { + const destinations = this.form.get('destinations') as FormArray; + destinations.removeAt(index); + } + + setShareValue(event) { + this.autoShareValue = parseFloat(event.value).toFixed(2); + } + + toggleOptions(event) { + event.stopPropagation(); + event.preventDefault(); + + this.autoOptions = !this.autoOptions; + } + + setAutoHours(event) { + this.autoHours = event.checked; + this.form.get('destinations').updateValueAndValidity(); + + if (!this.autoHours) { + this.autoOptions = false; + } + } + + private fillForm() { + this.addresses = this.formData.form.wallet.addresses; + + ['wallet', 'addresses', 'changeAddress'].forEach(name => { + this.form.get(name).setValue(this.formData.form[name]); + }); + + for (let i = 0; i < this.formData.form.destinations.length - 1; i++) { + this.addDestination(); + } + + this.destControls.forEach((destControl, i) => { + ['address', 'coins', 'hours'].forEach(name => { + destControl.get(name).setValue(this.formData.form.destinations[i][name]); + }); + }); + + if (this.formData.form.hoursSelection.type === 'auto') { + this.autoShareValue = this.formData.form.hoursSelection.share_factor; + this.autoHours = true; + } else { + this.autoHours = false; + } + + this.autoOptions = this.formData.form.autoOptions; + } + + addressCompare(a, b) { + return a.address === b.address; + } + + get destControls() { + return (this.form.get('destinations') as FormArray).controls; + } + + private validateDestinations() { + if (!this.form || !Array.isArray(this.form.get('addresses').value)) { + return { Required: true }; + } + + const invalidInput = this.destControls.find(control => { + const checkControls = ['coins']; + + if (!this.autoHours) { + checkControls.push('hours'); + } + + return checkControls.map(name => { + const value = control.get(name).value !== undefined + ? control.get(name).value.replace(' ', '=') + : ''; + + if (isNaN(value) || value.trim() === '') { + return true; + } + + if (parseFloat(value) <= 0) { + return true; + } + + if (name === 'coins') { + const parts = value.split('.'); + + if (parts.length === 2 && parts[1].length > 6) { + return true; + } + } else if (name === 'hours') { + if (value < 1 || parseInt(value, 10) !== parseFloat(value)) { + return true; + } + } + + return false; + }).find(e => e === true); + }); + + if (invalidInput) { + return { Invalid: true }; + } + + const coins = this.form.get('addresses').value.reduce((a, b) => a + b.coins, 0); + const hours = this.form.get('addresses').value.reduce((a, b) => a + b.hours, 0); + const destinationsCoins = this.destControls.reduce((a, b) => a + parseFloat(b.value.coins), 0); + const destinationsHours = this.destControls.reduce((a, b) => a + parseInt(b.value.hours, 10), 0); + + if (destinationsCoins > coins || destinationsHours > hours) { + return { Invalid: true }; + } + + return null; + } + + private createDestinationFormGroup() { + return this.formBuilder.group({ + address: '', + coins: '', + hours: '', + }); + } + + private createTransaction(passwordDialog?: any) { + if (passwordDialog) { + passwordDialog.close(); + } + + if (this.previewTx) { + this.previewButton.setLoading(); + this.sendButton.setDisabled(); + } else { + this.sendButton.setLoading(); + this.previewButton.setDisabled(); + } + + this.walletService.createTransaction( + this.form.get('wallet').value, + this.form.get('addresses').value.map(addr => addr.address), + this.destinations, + this.hoursSelection, + this.form.get('changeAddress').value ? this.form.get('changeAddress').value : null, + passwordDialog ? passwordDialog.password : null, + ) + .toPromise() + .then(transaction => { + if (!this.previewTx) { + return this.walletService.injectTransaction(transaction.encoded).toPromise(); + } + + this.onFormSubmitted.emit({ + form: { + wallet: this.form.get('wallet').value, + addresses: this.form.get('addresses').value, + changeAddress: this.form.get('changeAddress').value, + destinations: this.destinations, + hoursSelection: this.hoursSelection, + autoOptions: this.autoOptions, + }, + amount: this.destinations.reduce((a, b) => a + parseFloat(b.coins), 0), + to: this.destinations.map(d => d.address), + transaction, + }); + }) + .then(() => { + this.sendButton.setSuccess(); + this.resetForm(); + + setTimeout(() => { + this.sendButton.resetState(); + }, 3000); + }) + .catch(error => { + showSnackbarError(this.snackbar, error); + + this.previewButton.resetState().setEnabled(); + this.sendButton.resetState().setEnabled(); + }); + } + + private resetForm() { + this.form.get('wallet').setValue('', { emitEvent: false }); + this.form.get('addresses').setValue([]); + this.form.get('changeAddress').setValue(''); + + while (this.destControls.length > 0) { + (this.form.get('destinations') as FormArray).removeAt(0); + } + + this.addDestination(); + + this.autoHours = true; + this.autoOptions = false; + this.autoShareValue = '0.5'; + } + + private get destinations() { + return this.destControls.map(destControl => { + const destination = { + address: destControl.get('address').value, + coins: destControl.get('coins').value, + }; + + if (!this.autoHours) { + destination['hours'] = destControl.get('hours').value; + } + + return destination; + }); + } + + private get hoursSelection() { + let hoursSelection = { + type: 'manual', + }; + + if (this.autoHours) { + hoursSelection = { + type: 'auto', + mode: 'share', + share_factor: this.autoShareValue, + }; + } + + return hoursSelection; + } +} diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.html b/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.html new file mode 100755 index 0000000..ea489c8 --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.html @@ -0,0 +1,28 @@ +
          +
          + +
          + +
          +
          +
          + + +
          +
          + + +
          +
          + + {{ 'send.preview-button' | translate }} + + + {{ 'send.send-button' | translate }} + +
          +
          diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.scss b/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.scss new file mode 100755 index 0000000..079dcb6 --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.scss @@ -0,0 +1,3 @@ +.-buttons { + text-align: center; +} diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.spec.ts b/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.spec.ts new file mode 100755 index 0000000..40e927e --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SendFormComponent } from './send-form.component'; + +describe('SendFormComponent', () => { + let component: SendFormComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SendFormComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SendFormComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.ts b/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.ts new file mode 100755 index 0000000..1901079 --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.ts @@ -0,0 +1,188 @@ +import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core'; +import { WalletService } from '../../../../services/wallet.service'; +import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; +import 'rxjs/add/operator/delay'; +import 'rxjs/add/operator/filter'; +import { ButtonComponent } from '../../../layout/button/button.component'; +import { PasswordDialogComponent } from '../../../layout/password-dialog/password-dialog.component'; +import { MatDialog, MatSnackBar } from '@angular/material'; +import { showSnackbarError } from '../../../../utils/errors'; +import { ISubscription } from 'rxjs/Subscription'; +import { NavBarService } from '../../../../services/nav-bar.service'; + +@Component({ + selector: 'app-send-form', + templateUrl: './send-form.component.html', + styleUrls: ['./send-form.component.scss'], +}) +export class SendFormComponent implements OnInit, OnDestroy { + @ViewChild('previewButton') previewButton: ButtonComponent; + @ViewChild('sendButton') sendButton: ButtonComponent; + @Input() formData: any; + @Output() onFormSubmitted = new EventEmitter(); + + form: FormGroup; + transactions = []; + previewTx: boolean; + + private subscription: ISubscription; + + constructor( + public formBuilder: FormBuilder, + public walletService: WalletService, + private dialog: MatDialog, + private snackbar: MatSnackBar, + private navbarService: NavBarService, + ) {} + + ngOnInit() { + this.navbarService.showSwitch('send.simple', 'send.advanced'); + this.initForm(); + } + + ngOnDestroy() { + this.subscription.unsubscribe(); + this.navbarService.hideSwitch(); + this.snackbar.dismiss(); + } + + preview() { + this.previewTx = true; + this.unlockAndSend(); + } + + send() { + this.previewTx = false; + this.unlockAndSend(); + } + + private unlockAndSend() { + if (!this.form.valid || this.previewButton.isLoading() || this.sendButton.isLoading()) { + return; + } + + this.snackbar.dismiss(); + this.previewButton.resetState(); + this.sendButton.resetState(); + + if (this.form.value.wallet.encrypted) { + this.dialog.open(PasswordDialogComponent).componentInstance.passwordSubmit + .subscribe(passwordDialog => { + this.createTransaction(passwordDialog); + }); + } else { + this.createTransaction(); + } + } + + private createTransaction(passwordDialog?: any) { + if (passwordDialog) { + passwordDialog.close(); + } + + if (this.previewTx) { + this.previewButton.setLoading(); + this.sendButton.setDisabled(); + } else { + this.sendButton.setLoading(); + this.previewButton.setDisabled(); + } + + this.walletService.createTransaction( + this.form.value.wallet, + null, + [{ + address: this.form.value.address, + coins: this.form.value.amount, + }], + { + type: 'auto', + mode: 'share', + share_factor: '0.5', + }, + null, + passwordDialog ? passwordDialog.password : null, + ) + .toPromise() + .then(transaction => { + if (!this.previewTx) { + return this.walletService.injectTransaction(transaction.encoded).toPromise(); + } + + this.onFormSubmitted.emit({ + form: { + wallet: this.form.value.wallet, + address: this.form.value.address, + amount: this.form.value.amount, + }, + amount: this.form.value.amount, + to: [this.form.value.address], + transaction, + }); + }) + .then(() => { + this.sendButton.setSuccess(); + this.resetForm(); + + setTimeout(() => { + this.sendButton.resetState(); + }, 3000); + }) + .catch(error => { + showSnackbarError(this.snackbar, error); + + this.previewButton.resetState().setEnabled(); + this.sendButton.resetState().setEnabled(); + }); + } + + private initForm() { + this.form = this.formBuilder.group({ + wallet: ['', Validators.required], + address: ['', Validators.required], + amount: ['', Validators.required], + }); + + this.subscription = this.form.get('wallet').valueChanges.subscribe(value => { + const balance = value && value.coins ? value.coins : 0; + + this.form.get('amount').setValidators([ + Validators.required, + Validators.max(balance), + this.validateAmount, + ]); + + this.form.get('amount').updateValueAndValidity(); + }); + + if (this.formData) { + Object.keys(this.form.controls).forEach(control => { + this.form.get(control).setValue(this.formData.form[control]); + }); + } + } + + private validateAmount(amountControl: FormControl) { + if (isNaN(amountControl.value.replace(' ', '='))) { + return { Invalid: true }; + } + + if (parseFloat(amountControl.value) <= 0) { + return { Invalid: true }; + } + + const parts = amountControl.value.split('.'); + + if (parts.length === 2 && parts[1].length > 6) { + return { Invalid: true }; + } + + return null; + } + + private resetForm() { + this.form.get('wallet').setValue(''); + this.form.get('address').setValue(''); + this.form.get('amount').setValue(''); + } +} diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.html b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.html new file mode 100755 index 0000000..0ba12a6 --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.html @@ -0,0 +1,9 @@ + + +
          + {{ 'send.back-button' | translate }} + {{ 'send.send-button' | translate }} +
          diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.scss b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.scss new file mode 100755 index 0000000..4bf1cca --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.scss @@ -0,0 +1,4 @@ +.-buttons { + margin-top: 10px; + text-align: center; +} diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.spec.ts b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.spec.ts new file mode 100755 index 0000000..63db508 --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SendVerifyComponent } from './send-preview.component'; + +describe('SendVerifyComponent', () => { + let component: SendVerifyComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SendVerifyComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SendVerifyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.ts b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.ts new file mode 100755 index 0000000..a87f64a --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.ts @@ -0,0 +1,58 @@ +import { Component, EventEmitter, Input, OnDestroy, Output, ViewChild } from '@angular/core'; +import { WalletService } from '../../../../services/wallet.service'; +import { ButtonComponent } from '../../../layout/button/button.component'; +import { MatSnackBar } from '@angular/material'; +import { showSnackbarError } from '../../../../utils/errors'; +import { PreviewTransaction } from '../../../../app.datatypes'; + +@Component({ + selector: 'app-send-preview', + templateUrl: './send-preview.component.html', + styleUrls: ['./send-preview.component.scss'], +}) +export class SendVerifyComponent implements OnDestroy { + @ViewChild('sendButton') sendButton: ButtonComponent; + @ViewChild('backButton') backButton: ButtonComponent; + @Input() transaction: PreviewTransaction; + @Output() onBack = new EventEmitter(); + + constructor( + private walletService: WalletService, + private snackbar: MatSnackBar, + ) {} + + ngOnDestroy() { + this.snackbar.dismiss(); + } + + send() { + if (this.sendButton.isLoading()) { + return; + } + + this.snackbar.dismiss(); + this.sendButton.resetState(); + this.sendButton.setLoading(); + this.backButton.setDisabled(); + + this.walletService.injectTransaction(this.transaction.encoded).subscribe(() => { + this.sendButton.setSuccess(); + this.sendButton.setDisabled(); + + this.walletService.startDataRefreshSubscription(); + + setTimeout(() => { + this.onBack.emit(true); + }, 3000); + }, error => { + showSnackbarError(this.snackbar, error); + + this.sendButton.setError(error); + this.backButton.setEnabled(); + }); + } + + back() { + this.onBack.emit(false); + } +} diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.html b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.html new file mode 100755 index 0000000..c0e24a9 --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.html @@ -0,0 +1,80 @@ +
          +
          +

          {{ 'tx.confirm-transaction' | translate }}

          +

          {{ 'tx.transaction' | translate }}

          + + +
          + {{ 'tx.from' | translate }}: {{ transaction.from }} +
          +
          + {{ 'tx.to' | translate }}: {{ transaction.to.join(', ') }} +
          +
          + +
          + {{ 'tx.date' | translate }}: {{ transaction.timestamp * 1000 | date:'short' }} +
          +
          + {{ 'tx.status' | translate }}: {{ (transaction.confirmed ? 'tx.confirmed' : 'tx.pending') | translate }} +
          +
          +
          + {{ 'tx.hours' | translate }}: + {{ transaction.hoursSent | number:'1.0-6' }} {{ 'tx.hours-sent' | translate }} + | + {{ transaction.hoursBurned | number:'1.0-6' }} {{ 'tx.hours-burned' | translate }} +
          +
          + {{ 'tx.id' | translate }}: {{ transaction.txid }} +
          +
          +
          +
          + +
          +

          {{ transaction.balance | number:'1.0-6' }} {{ 'common.coin-id' | translate }}

          + +
          +
          +
          + + {{ 'tx.show-more' | translate }} keyboard_arrow_down + +
          +
          + +
          +

          {{ 'tx.inputs' | translate }}

          + +
          +
          {{ i + 1 }}
          +
          +
          {{ isPreview ? input.address : input.owner }}
          +
          + {{ 'tx.coins' | translate }}: {{ input.coins | number:'1.0-6' }} +
          +
          + {{ 'tx.hours' | translate }}: {{ input.calculated_hours | number:'1.0-6' }} +
          +
          +
          +
          +
          +

          {{ 'tx.outputs' | translate }}

          + +
          +
          {{ i + 1 }}
          +
          +
          {{ isPreview ? output.address : output.dst }}
          +
          + {{ 'tx.coins' | translate }}: {{ output.coins | number:'1.0-6' }} +
          +
          + {{ 'tx.hours' | translate }}: {{ output.hours | number:'1.0-6' }} +
          +
          +
          +
          +
          +
          diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.scss b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.scss new file mode 100755 index 0000000..87aa5d3 --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.scss @@ -0,0 +1,108 @@ +@import '../../../../../../theme/variables'; + +h4 { + font-size: 14px; + margin: 0 0 30px; +} + +.-item { + display: flex; + font-size: 13px; + + &:not(:last-child) { + margin-bottom: 10px; + } + + .-number { + padding: 10px; + background: $grey-lightest; + align-self: flex-start; + border-radius: 10px; + } + + .-info { + margin-left: 10px; + display: flex; + flex-direction: column; + + .-address { + padding: 10px 0; + margin-bottom: 5px; + } + } +} + +.-data { + font-size: 12px; + + &:not(:last-child) { + margin-bottom: 5px; + } + + span:first-child { + color: $grey; + display: inline-block; + width: 60px; + } + + &.-more { + margin-bottom: 0 !important; + + span { + width: auto !important; + margin-top: 30px; + color: $gradient-blue-dark; + cursor: pointer; + + mat-icon { + display: inline; + vertical-align: middle; + font-size: 13px; + } + } + } +} + +.-tx-meta { + .-data:not(:last-child) { + margin-bottom: 10px; + } +} + +.-tx-price { + text-align: center; + display: flex; + flex-direction: column; + justify-content: flex-end; + + .-icon { + &.-incoming { + transform: rotate(180deg); + } + + img { + width: 30px; + } + } + + h4 { + color: $grey-dark; + font-size: 16px; + font-weight: 700; + margin: 10px 0 5px; + } + + p { + color: $grey; + font-size: 12px; + margin: 0; + + span { + color: lighten($grey, 40%); + } + } +} + +.-margin-top { + margin-top: 30px; +} diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.spec.ts b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.spec.ts new file mode 100755 index 0000000..1637b8c --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TransactionInfoComponent } from './transaction-info.component'; + +describe('TransactionInfoComponent', () => { + let component: TransactionInfoComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ TransactionInfoComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(TransactionInfoComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.ts b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.ts new file mode 100755 index 0000000..1f7b7fb --- /dev/null +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.ts @@ -0,0 +1,41 @@ +import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { PreviewTransaction, Transaction } from '../../../../../app.datatypes'; +import { PriceService } from '../../../../../services/price.service'; +import { ISubscription } from 'rxjs/Subscription'; + +@Component({ + selector: 'app-transaction-info', + templateUrl: './transaction-info.component.html', + styleUrls: ['./transaction-info.component.scss'], +}) +export class TransactionInfoComponent implements OnInit, OnDestroy { + @Input() transaction: Transaction; + @Input() isPreview: boolean; + price: number; + showInputsOutputs = false; + + private subscription: ISubscription; + + constructor(private priceService: PriceService) { + this.subscription = this.priceService.price.subscribe(price => this.price = price); + } + + ngOnInit() { + if (this.isPreview) { + this.transaction.hoursSent = this.transaction.outputs + .filter(o => ( this.transaction).to.find(addr => addr === o.address)) + .map(o => parseInt(o.hours, 10)) + .reduce((a, b) => a + b, 0); + } + } + + ngOnDestroy() { + this.subscription.unsubscribe(); + } + + toggleInputsOutputs(event) { + event.preventDefault(); + + this.showInputsOutputs = !this.showInputsOutputs; + } +} diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.html b/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.html index 19c1370..1acadd8 100755 --- a/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.html +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.html @@ -1,28 +1,20 @@ - +
          -
          -
          - - -
          -
          - - -
          -
          - - -
          -
          - - -
          - - Send - +
          + + +
          diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.spec.ts b/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.spec.ts index b107bdb..97248ad 100755 --- a/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.spec.ts +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.spec.ts @@ -8,7 +8,7 @@ describe('SendSkycoinComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ SendSkycoinComponent ] + declarations: [ SendSkycoinComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.ts b/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.ts index b6e4d97..daec923 100755 --- a/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.ts +++ b/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.ts @@ -1,130 +1,54 @@ -import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; -import { WalletService } from '../../../services/wallet.service'; -import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; -import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; -import 'rxjs/add/operator/delay'; -import 'rxjs/add/operator/filter'; -import { ButtonComponent } from '../../layout/button/button.component'; -import { PasswordDialogComponent } from '../../layout/password-dialog/password-dialog.component'; -import { MatDialog } from '@angular/material'; -import { parseResponseMessage } from '../../../utils/index'; +import { Component, OnDestroy } from '@angular/core'; +import { NavBarService } from '../../../services/nav-bar.service'; +import { ISubscription } from 'rxjs/Subscription'; +import { DoubleButtonActive } from '../../layout/double-button/double-button.component'; @Component({ selector: 'app-send-skycoin', templateUrl: './send-skycoin.component.html', - styleUrls: ['./send-skycoin.component.scss'] + styleUrls: ['./send-skycoin.component.scss'], }) -export class SendSkycoinComponent implements OnInit, OnDestroy { - @ViewChild('button') button: ButtonComponent; +export class SendSkycoinComponent implements OnDestroy { + showForm = true; + formData: any; + activeForm: DoubleButtonActive; + activeForms = DoubleButtonActive; - form: FormGroup; - transactions = []; + private subscription: ISubscription; constructor( - public formBuilder: FormBuilder, - public walletService: WalletService, - private snackbar: MatSnackBar, - private dialog: MatDialog, - ) {} - - ngOnInit() { - this.initForm(); + private navbarService: NavBarService, + ) { + this.subscription = navbarService.activeComponent.subscribe(value => { + this.activeForm = value; + this.formData = null; + }); } ngOnDestroy() { - this.snackbar.dismiss(); + this.subscription.unsubscribe(); } - send() { - if (!this.form.valid || this.button.isLoading()) { - return; - } - - this.button.resetState(); - this.snackbar.dismiss(); - - if (this.form.value.wallet.encrypted) { - this.dialog.open(PasswordDialogComponent).componentInstance.passwordSubmit - .subscribe(passwordDialog => { - this._send(passwordDialog); - }); - } else { - this._send(); - } + onFormSubmitted(data) { + this.formData = data; + this.showForm = false; } - private _send(passwordDialog?: any) { - if (passwordDialog) { - passwordDialog.close(); + onBack(deleteFormData) { + if (deleteFormData) { + this.formData = null; } - this.button.setLoading(); - - this.walletService.createTransaction( - this.form.value.wallet, - this.form.value.address, - this.form.value.amount, - passwordDialog ? passwordDialog.password : null - ) - .toPromise() - .then(response => { - return this.walletService.injectTransaction(response.encoded_transaction).toPromise(); - }) - .then(() => { - this.resetForm(); - this.button.setSuccess(); - this.walletService.startDataRefreshSubscription(); - }) - .catch(error => { - const errorMessage = parseResponseMessage(error['_body']); - const config = new MatSnackBarConfig(); - config.duration = 300000; - this.snackbar.open(errorMessage, null, config); - this.button.setError(errorMessage); - }); - } - - private initForm() { - this.form = this.formBuilder.group({ - wallet: ['', Validators.required], - address: ['', Validators.required], - amount: ['', Validators.required], - notes: [''], - }); - this.form.get('wallet').valueChanges.subscribe(value => { - console.log(value); - const balance = value && value.coins ? value.coins : 0; - this.form.get('amount').setValidators([ - Validators.required, - Validators.max(balance), - this.validateAmount, - ]); - this.form.get('amount').updateValueAndValidity(); - }); + this.showForm = true; } - private resetForm() { - this.form.get('wallet').reset(''); - this.form.get('address').reset(''); - this.form.get('amount').reset(''); - this.form.get('notes').reset(''); - } - - private validateAmount(amountControl: FormControl) { - if (isNaN(amountControl.value)) { - return { Invalid: true }; - } + get transaction() { + const transaction = this.formData.transaction; - if (parseFloat(amountControl.value) <= 0) { - return { Invalid: true }; - } - - const parts = amountControl.value.split('.'); - - if (parts.length === 2 && parts[1].length > 6) { - return { Invalid: true }; - } + transaction.from = this.formData.form.wallet.label; + transaction.to = this.formData.to; + transaction.balance = this.formData.amount; - return null; + return transaction; } } diff --git a/src/gui/static/src/app/components/pages/settings/backup/backup.component.html b/src/gui/static/src/app/components/pages/settings/backup/backup.component.html index f1dcaa6..2af4b72 100755 --- a/src/gui/static/src/app/components/pages/settings/backup/backup.component.html +++ b/src/gui/static/src/app/components/pages/settings/backup/backup.component.html @@ -1,30 +1,36 @@
          - + - -

          Wallet Directory: {{ folder }}

          - -

          BACKUP YOUR SEED. ON PAPER. IN A SAFE PLACE. As long as you have your seed, you can recover your coins.

          +
          +
          +

          {{ 'backup.wallet-directory' | translate }} {{ folder }}

          +

          {{ 'backup.seed-warning' | translate }}

          +

          + +

          +
          -

          - Use the table below to get seeds from your encrypted wallets.
          - To get seeds from unencrypted wallets, open the folder above, - open the .wlt files in a text editor and recover the seeds. -

          - + - -
          -
          Wallet Label
          -
          Filename
          -
          Seed
          -
          -
          -
          {{ wallet.label }}
          -
          {{ wallet.filename }}
          -
          - +
          +
          +
          {{ 'backup.wallet' | translate }}
          +
          {{ 'backup.filename' | translate }}
          +
          +
          +
          +
          +
          {{ wallet.label }}
          +
          {{ wallet.filename }}
          +
          + {{ 'backup.show-seed' | translate }} +
          +
          - +
          diff --git a/src/gui/static/src/app/components/pages/settings/backup/backup.component.scss b/src/gui/static/src/app/components/pages/settings/backup/backup.component.scss index a2aa1d9..99c14b9 100755 --- a/src/gui/static/src/app/components/pages/settings/backup/backup.component.scss +++ b/src/gui/static/src/app/components/pages/settings/backup/backup.component.scss @@ -1,27 +1,39 @@ @import '../../../../../theme/variables'; -mat-card { - margin: 40px 20px 20px 20px; -} - -.-table { - .-table-header { - font-size: 10px; - color: $grey-dark; - margin-bottom: 20px; - } +.-paper { + background-color: #fbfbfb; + border-radius: 15px; + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.01), 1px 1px 2px 2px rgba(0, 0, 0, 0.01); + padding: 20px; + font-size: $font-size-standard; + margin: 30px 30px 0; - .-table-row { - &:not(:last-child) { - margin-bottom: 10px; + p { + &:first-child { + margin-top: 0; } - span { - line-height: 40px; + &:last-child { + margin-bottom: 0; } } } -.text-muted { - color: $grey-dark; +.-text-muted { + color: $grey; +} + +.-text-right { + text-align: right; +} + +.-link { + color: $blue; + cursor: pointer; +} + +.-label { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; } diff --git a/src/gui/static/src/app/components/pages/settings/backup/backup.component.spec.ts b/src/gui/static/src/app/components/pages/settings/backup/backup.component.spec.ts index 7f7a08c..e7e4b77 100755 --- a/src/gui/static/src/app/components/pages/settings/backup/backup.component.spec.ts +++ b/src/gui/static/src/app/components/pages/settings/backup/backup.component.spec.ts @@ -8,7 +8,7 @@ describe('BackupComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ BackupComponent ] + declarations: [ BackupComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/settings/backup/backup.component.ts b/src/gui/static/src/app/components/pages/settings/backup/backup.component.ts index 3f8a9f0..88bf75f 100755 --- a/src/gui/static/src/app/components/pages/settings/backup/backup.component.ts +++ b/src/gui/static/src/app/components/pages/settings/backup/backup.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, OnDestroy, OnInit } from '@angular/core'; import { WalletService } from '../../../../services/wallet.service'; import { Wallet } from '../../../../app.datatypes'; import { MatDialog, MatDialogConfig } from '@angular/material'; @@ -8,13 +8,14 @@ import { PasswordDialogComponent } from '../../../layout/password-dialog/passwor @Component({ selector: 'app-backup', templateUrl: './backup.component.html', - styleUrls: ['./backup.component.scss'] + styleUrls: ['./backup.component.scss'], }) -export class BackupComponent implements OnInit { - +export class BackupComponent implements OnInit, OnDestroy { folder: string; wallets: Wallet[] = []; + private walletSubscription; + constructor( public walletService: WalletService, private dialog: MatDialog, @@ -22,11 +23,16 @@ export class BackupComponent implements OnInit { ngOnInit() { this.walletService.folder().subscribe(folder => this.folder = folder); - this.walletService.all().subscribe(wallets => { + + this.walletSubscription = this.walletService.all().subscribe(wallets => { this.wallets = wallets; }); } + ngOnDestroy() { + this.walletSubscription.unsubscribe(); + } + get onlyEncrypted() { return this.wallets.filter(wallet => wallet.encrypted); } diff --git a/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.html b/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.html index eadccce..12e4121 100755 --- a/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.html +++ b/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.html @@ -1,11 +1,11 @@ - +
          - +
          - Close + {{ 'backup.close-button' | translate }}
          diff --git a/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.spec.ts b/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.spec.ts index 1c3c5dd..e269ec5 100755 --- a/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.spec.ts +++ b/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.spec.ts @@ -8,7 +8,7 @@ describe('SeedModalComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ SeedModalComponent ] + declarations: [ SeedModalComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.ts b/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.ts index a3602d9..749726e 100755 --- a/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.ts +++ b/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.ts @@ -4,17 +4,15 @@ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material'; @Component({ selector: 'app-seed-modal', templateUrl: './seed-modal.component.html', - styleUrls: ['./seed-modal.component.css'] + styleUrls: ['./seed-modal.component.css'], }) export class SeedModalComponent implements OnDestroy { - constructor( - public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any, + public dialogRef: MatDialogRef, ) {} ngOnDestroy() { this.data.seed = null; } - } diff --git a/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.html b/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.html index 4b76a34..53a4ed9 100755 --- a/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.html +++ b/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.html @@ -1,16 +1,52 @@
          - + - -
          - Number of blocks:
          - Time since last block:
          - Hash of last block:
          -
          -
          - {{ block.header.seq | number }}
          - {{ block.header.timestamp | dateFromNow }}
          - {{ block.header.block_hash }} + + +
          +
          +
          +
          +
          +
          {{ 'blockchain.blocks' | translate }}
          +
          {{ block.header.seq | number }}
          +
          +
          +
          {{ 'blockchain.time' | translate }}
          +
          {{ block.header.timestamp | dateTime }}
          +
          +
          +
          {{ 'blockchain.hash' | translate }}
          +
          {{ block.header.block_hash }}
          +
          +
          +
          +
          +
          +
          +
          +
          +
          {{ 'blockchain.current-supply' | translate }}
          +
          {{ coinSupply.current_supply | number }}
          +
          +
          +
          {{ 'blockchain.total-supply' | translate }}
          +
          {{ coinSupply.total_supply | number }}
          +
          +
          +
          +
          +
          {{ 'blockchain.current-coinhour-supply' | translate }}
          +
          {{ coinSupply.current_coinhour_supply | number }}
          +
          +
          +
          {{ 'blockchain.total-coinhour-supply' | translate }}
          +
          {{ coinSupply.total_coinhour_supply | number }}
          +
          +
          +
          +
          +
          - +
          diff --git a/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.scss b/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.scss index abac330..eeb3316 100755 --- a/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.scss +++ b/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.scss @@ -1,21 +1,28 @@ -@import '../../../../../theme/_variables.scss'; +@import '../../../../../theme/variables'; -mat-card { - margin-left: 20px; - margin-right: 20px; +.-wrapper { + margin: 30px; } -.skycoin-details { - margin-top: 40px; - margin-bottom: 20px; - line-height: 30px; +.-paper { + background-color: #fbfbfb; + border-radius: 15px; + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.01), 1px 1px 2px 2px rgba(0, 0, 0, 0.01); + padding: 20px; + font-size: $font-size-standard; } -.skycoin-detail-keys { - display: inline-block; - color: $grey-dark; -} +.-item { + &:not(:last-child) { + margin-bottom: 20px; + } + + .-key { + color: $grey; + margin-bottom: 5px; + } -.skycoin-detail-values { - display: inline-block; + .-value { + word-break: break-all; + } } diff --git a/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.spec.ts b/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.spec.ts index 6946554..e868709 100755 --- a/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.spec.ts +++ b/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.spec.ts @@ -8,7 +8,7 @@ describe('BlockchainComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ BlockchainComponent ] + declarations: [ BlockchainComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.ts b/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.ts index ae6125d..38643fc 100755 --- a/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.ts +++ b/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.ts @@ -4,11 +4,11 @@ import { BlockchainService } from '../../../../services/blockchain.service'; @Component({ selector: 'app-blockchain', templateUrl: './blockchain.component.html', - styleUrls: ['./blockchain.component.scss'] + styleUrls: ['./blockchain.component.scss'], }) export class BlockchainComponent implements OnInit { - block: any; + coinSupply: any; constructor( private blockchainService: BlockchainService, @@ -16,5 +16,6 @@ export class BlockchainComponent implements OnInit { ngOnInit() { this.blockchainService.lastBlock().subscribe(block => this.block = block); + this.blockchainService.coinSupply().subscribe(coinSupply => this.coinSupply = coinSupply); } } diff --git a/src/gui/static/src/app/components/pages/settings/network/network.component.html b/src/gui/static/src/app/components/pages/settings/network/network.component.html index fec9227..424b602 100755 --- a/src/gui/static/src/app/components/pages/settings/network/network.component.html +++ b/src/gui/static/src/app/components/pages/settings/network/network.component.html @@ -1,28 +1,40 @@
          - + -

          Automatic peers

          + - -
          -
          -
          - {{ peer.address.split(':')[0] }} - :{{ peer.listen_port }} -
          +
          +
          +
          +
          +
          {{ 'network.peer' | translate }}
          +
          {{ 'network.source' | translate }}
          +
          {{ 'network.block-height' | translate }}
          +
          {{ 'network.last-seen' | translate }}
          -
          - - -

          Default peers

          - -
          -
          -
          - {{ peer.address.split(':')[0] }} - :{{ peer.listen_port }} +
          +
          +
          + +
          +
          + {{ peer.address.split(':')[0] }}:{{ peer.listen_port }} +
          +
          {{ ('network.sources.' + peer.source) | translate }}
          +
          {{ peer.height }}
          +
          +
          + keyboard_arrow_up + {{ peer.last_sent | dateFromNow }} +
          +
          + keyboard_arrow_down + {{ peer.last_received | dateFromNow }} +
          +
          - +
          diff --git a/src/gui/static/src/app/components/pages/settings/network/network.component.scss b/src/gui/static/src/app/components/pages/settings/network/network.component.scss index 865837d..8ee46bf 100755 --- a/src/gui/static/src/app/components/pages/settings/network/network.component.scss +++ b/src/gui/static/src/app/components/pages/settings/network/network.component.scss @@ -1,28 +1,50 @@ -@import '../../../../../theme/_variables.scss'; +@import '../../../../../theme/variables'; -mat-card { - margin-bottom: 20px; +.-port, .-last-seen, .-source { + color: $grey; +} - .row { - margin-bottom: -10px; - } +.-direction { + width: 72px; + display: flex; + justify-content: center; + align-items: center; - .-peer { - margin-bottom: 10px; - display: flex; + img { + width: 32px; - .-port { - color: $grey-dark; + &.-incoming { + transform: scaleX(-1); } } } -h3 { - font-weight: 400; - margin-top: 40px; +.-last-seen { + display: flex; + flex-direction: column; + font-size: 12px; + line-height: 1; + justify-content: center; + + mat-icon { + font-size: 12px; + display: inline; + vertical-align: middle; + padding-right: 5px; + } +} + +.-trusted { + display: inline; + color: $blue; + font-size: 13px; + vertical-align: middle; +} + +.-text-right { + text-align: right; } -mat-card, h3 { - margin-left: 20px; - margin-right: 20px; +.-pl-0 { + padding-left: 0 !important; } diff --git a/src/gui/static/src/app/components/pages/settings/network/network.component.spec.ts b/src/gui/static/src/app/components/pages/settings/network/network.component.spec.ts index 5eccc44..c1175d1 100755 --- a/src/gui/static/src/app/components/pages/settings/network/network.component.spec.ts +++ b/src/gui/static/src/app/components/pages/settings/network/network.component.spec.ts @@ -8,7 +8,7 @@ describe('NetworkComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ NetworkComponent ] + declarations: [ NetworkComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/settings/network/network.component.ts b/src/gui/static/src/app/components/pages/settings/network/network.component.ts index 20c9d0e..b2e5a47 100755 --- a/src/gui/static/src/app/components/pages/settings/network/network.component.ts +++ b/src/gui/static/src/app/components/pages/settings/network/network.component.ts @@ -1,20 +1,34 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, OnDestroy, OnInit } from '@angular/core'; import { NetworkService } from '../../../../services/network.service'; +import { ISubscription } from 'rxjs/Subscription'; @Component({ selector: 'app-network', templateUrl: './network.component.html', - styleUrls: ['./network.component.scss'] + styleUrls: ['./network.component.scss'], }) -export class NetworkComponent implements OnInit { +export class NetworkComponent implements OnInit, OnDestroy { + peers: any; - defaultConnections; + private subscription: ISubscription; constructor( public networkService: NetworkService, ) { } ngOnInit() { - this.networkService.retrieveDefaultConnections().first().subscribe(output => this.defaultConnections = output); + this.networkService.retrieveDefaultConnections().subscribe(trusted => { + this.subscription = this.networkService.automatic().first().subscribe(peers => { + this.peers = peers.map(peer => { + peer.source = trusted.find(p => p.address === peer.address) ? 'default' : 'exchange'; + + return peer; + }).sort((a, b) => a.address.localeCompare(b.address)); + }); + }); + } + + ngOnDestroy() { + this.subscription.unsubscribe(); } } diff --git a/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.html b/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.html index 601abd0..3cb07b9 100755 --- a/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.html +++ b/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.html @@ -1,19 +1,34 @@
          - + -
          -

          {{ wallet.label }}

          + - -

          {{ address.address }}

          - -
          -
          {{ output.hash }}
          -
          -
          Coins: {{ output.coins | number:'1.0-6' }}
          -
          Hours: {{ output.calculated_hours | number:'1.0-6' }}
          -
          +
          +
          +
          +
          {{ wallet.label }}
          +
          {{ 'common.coin-id' | translate }}
          +
          {{ 'common.coin-hours' | translate }}
          +
          +
          + +
          +
          + + {{ address.address }} +
          +
          +
          +
          {{ output.hash }}
          +
          {{ output.coins | number:'1.0-6' }}
          +
          {{ output.calculated_hours | number:'1.0-6' }}
          +
          +
          - +
          diff --git a/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.scss b/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.scss index 820ef2e..b58dced 100755 --- a/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.scss +++ b/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.scss @@ -1,49 +1,34 @@ @import '../../../../../theme/variables'; -.-wallet { - margin: 40px 20px 0; - - h3 { - font-weight: 400; - } - - .-address { - margin-bottom: 20px; - - h4 { - margin: 0; - - & + .-output { - margin-top: 15px; - } - } - - .-output { - border-top: 1px solid #eee; - padding: 15px 0; - font-size: 14px; +.-text-right { + text-align: right; +} - &:last-child { - padding-bottom: 0; - } +.-grey { + color: $grey; +} - .-hash { - margin-bottom: 10px; - } +.-row.-small { + height: $row-height / 1.5; + line-height: $row-height / 1.5; +} - .-balance { - display: flex; - flex-direction: row; +.-hash { + margin-left: 27px; +} - .-item { - min-width: 150px; - padding-right: 20px; +.-address { + color: $grey; - span { - color: $grey-dark; - } - } - } - } + img { + width: 17px; + vertical-align: middle; + margin-right: 10px; } } + +.-label { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} diff --git a/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.spec.ts b/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.spec.ts index 44e16dc..6f43161 100755 --- a/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.spec.ts +++ b/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.spec.ts @@ -8,7 +8,7 @@ describe('OutputsComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ OutputsComponent ] + declarations: [ OutputsComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.ts b/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.ts index 52dac40..1d59cf9 100755 --- a/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.ts +++ b/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.ts @@ -1,38 +1,57 @@ -import { Component } from '@angular/core'; +import { Component, OnDestroy } from '@angular/core'; import { WalletService } from '../../../../services/wallet.service'; import { ActivatedRoute } from '@angular/router'; +import { ISubscription } from 'rxjs/Subscription'; +import { MatDialog, MatDialogConfig } from '@angular/material'; +import { QrCodeComponent } from '../../../layout/qr-code/qr-code.component'; @Component({ selector: 'app-outputs', templateUrl: './outputs.component.html', - styleUrls: ['./outputs.component.scss'] + styleUrls: ['./outputs.component.scss'], }) -export class OutputsComponent { +export class OutputsComponent implements OnDestroy { + wallets: any[]|null; - wallets: any[]; + private outputsSubscription: ISubscription; constructor( public walletService: WalletService, private route: ActivatedRoute, + private dialog: MatDialog, ) { route.queryParams.subscribe(params => this.loadData(params)); } + ngOnDestroy() { + this.outputsSubscription.unsubscribe(); + } + loadData(params) { const addr = params['addr']; - this.walletService.outputsWithWallets().subscribe(wallets => { - if (addr) { - wallets = wallets.filter(wallet => { - return wallet.addresses.find(address => address.address === addr); - }).map(wallet => { - wallet.addresses = wallet.addresses.filter(address => address.address === addr); + this.wallets = null; + this.outputsSubscription = this.walletService.outputsWithWallets().subscribe(wallets => { + this.wallets = wallets + .map(wallet => Object.assign({}, wallet)) + .map(wallet => { + wallet.addresses = wallet.addresses.filter(address => { + if (address.outputs.length > 0) { + return addr ? address.address === addr : true; + } + }); return wallet; - }); - } - - this.wallets = wallets; + }) + .filter(wallet => wallet.addresses.length > 0); }); } + + showQrCode(event: any, address: string) { + event.stopPropagation(); + + const config = new MatDialogConfig(); + config.data = { address }; + this.dialog.open(QrCodeComponent, config); + } } diff --git a/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.html b/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.html index f364560..ef9f5b5 100755 --- a/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.html +++ b/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.html @@ -1,21 +1,26 @@
          - + - -
          -
          Timestamp
          -
          Amount
          -
          Transaction ID
          -
          - -
          -
          {{ tx.timestamp | dateTime }}
          -
          {{ tx.amount | number:'1.0-6' }}
          -
          {{ tx.txid }}
          + + +
          +
          +
          +
          {{ 'pending-txs.txid' | translate }}
          +
          {{ 'common.coin-id' | translate }}
          +
          {{ 'pending-txs.timestamp' | translate }}
          +
          +
          +
          +
          {{ tx.txid }}
          +
          {{ tx.amount | number:'1.0-6' }}
          +
          {{ tx.timestamp | dateTime }}
          +
          - -
          -
          No pending transactions
          - +
          diff --git a/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.scss b/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.scss index 9452054..1e655ec 100755 --- a/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.scss +++ b/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.scss @@ -1,17 +1,5 @@ -@import '../../../../../theme/_variables.scss'; +@import '../../../../../theme/variables'; -mat-card { - margin: 40px 20px 20px 20px; -} - -.-table { - .-table-header { - font-size: 10px; - color: $grey-dark; - margin-bottom: 20px; - } - - .-table-row:not(:last-child) { - margin-bottom: 10px; - } +.-timestamp { + color: $grey; } diff --git a/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.spec.ts b/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.spec.ts index 381b803..9b19aaa 100755 --- a/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.spec.ts +++ b/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.spec.ts @@ -8,7 +8,7 @@ describe('PendingTransactionsComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ PendingTransactionsComponent ] + declarations: [ PendingTransactionsComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.ts b/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.ts index d0db54b..2103323 100755 --- a/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.ts +++ b/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.ts @@ -1,24 +1,54 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, OnDestroy, OnInit } from '@angular/core'; import { WalletService } from '../../../../services/wallet.service'; import * as moment from 'moment'; +import { ISubscription } from 'rxjs/Subscription'; +import { NavBarService } from '../../../../services/nav-bar.service'; +import { DoubleButtonActive } from '../../../layout/double-button/double-button.component'; @Component({ selector: 'app-pending-transactions', templateUrl: './pending-transactions.component.html', - styleUrls: ['./pending-transactions.component.scss'] + styleUrls: ['./pending-transactions.component.scss'], }) -export class PendingTransactionsComponent implements OnInit { +export class PendingTransactionsComponent implements OnInit, OnDestroy { + transactions = null; - transactions: any[]; + private transactionsSubscription: ISubscription; + private navbarSubscription: ISubscription; constructor( public walletService: WalletService, + private navbarService: NavBarService, ) { - this.walletService.startDataRefreshSubscription(); + this.navbarSubscription = this.navbarService.activeComponent.subscribe(value => { + this.loadTransactions(value); + }); } ngOnInit() { - this.walletService.pendingTransactions().subscribe(transactions => { + this.navbarService.showSwitch('pending-txs.my', 'pending-txs.all'); + } + + ngOnDestroy() { + this.transactionsSubscription.unsubscribe(); + this.navbarSubscription.unsubscribe(); + this.navbarService.hideSwitch(); + } + + private loadTransactions(value) { + const method = value === DoubleButtonActive.LeftButton ? 'pendingTransactions' : 'allPendingTransactions'; + + this.transactions = null; + + if (this.transactionsSubscription) { + this.transactionsSubscription.unsubscribe(); + } + + if (method === 'pendingTransactions') { + this.walletService.startDataRefreshSubscription(); + } + + this.transactionsSubscription = this.walletService[method]().subscribe(transactions => { this.transactions = this.mapTransactions(transactions); }); } @@ -26,11 +56,14 @@ export class PendingTransactionsComponent implements OnInit { private mapTransactions(transactions) { return transactions.map(transaction => { transaction.transaction.timestamp = moment(transaction.received).unix(); + return transaction.transaction; }) .map(transaction => { - transaction.amount = transaction.outputs.map(output => output.coins >= 0 ? output.coins : 0) - .reduce((a , b) => a + parseInt(b, 10), 0); + transaction.amount = transaction.outputs + .map(output => output.coins >= 0 ? output.coins : 0) + .reduce((a , b) => a + parseFloat(b), 0); + return transaction; }); } diff --git a/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.html b/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.html index b0f36d3..c5b10af 100755 --- a/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.html +++ b/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.html @@ -1,41 +1,11 @@ +
          + {{ 'history.tx-detail' | translate }} +
          -
          - Transaction Detail -
          -
          -
          - -
          -

          {{ transaction.balance | number:'1.0-6' }} SLB

          -
          - +
          diff --git a/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.scss b/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.scss index 9c9f491..b007799 100755 --- a/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.scss +++ b/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.scss @@ -1,87 +1,21 @@ .-container { - .-header { - background-color: #f7f7f7; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - line-height: 50px; - position: relative; - text-align: center; - - img { - cursor: pointer; - height: 32px; - position: absolute; - right: 9px; - top: 9px; - } - } - - .-body { - background-color: #fbfbfb; - height: 190px; - text-align: center; - - .-icon { - img { - height: 22px; - margin: 55px 0 0 0; - } - - &.-incoming { - -moz-transform: scaleX(-1); - -o-transform: scaleX(-1); - -webkit-transform: scaleX(-1); - transform: scaleX(-1); - filter: FlipH; - -ms-filter: "FlipH"; - } - - &.-pending { - opacity: 0.5; - } - } - - h4 { - color: #1e2227; - font-size: 20px; - font-weight: 700; - line-height: 23px; - margin: 20px 0 0 0; - } - - p { - color: #1e2227; - font-size: 13px; - line-height: 15px; - margin: 5px 0 0 0; - opacity: 0.5; - } - } - - .-footer { - background-color: #f7f7f7; - - .-row { - border-top: 1px solid #eff0f0; - color: #1e2227; - display: flex; - font-size: 12px; - line-height: 14px; - padding: 13px 10px; - - .-key { - opacity: 0.5; - text-align: left; - } - - .-values { - flex: 1; - text-align: right; + padding: 24px; + background-color: #fbfbfb; +} - span { - display: block; - } - } - } +.-header { + background-color: #f7f7f7; + border-top-left-radius: 5px; + border-top-right-radius: 5px; + line-height: 50px; + position: relative; + text-align: center; + + img { + cursor: pointer; + height: 32px; + position: absolute; + right: 9px; + top: 9px; } } diff --git a/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.spec.ts b/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.spec.ts index 903bdcf..45138c8 100755 --- a/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.spec.ts +++ b/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.spec.ts @@ -8,7 +8,7 @@ describe('TransactionDetailComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ TransactionDetailComponent ] + declarations: [ TransactionDetailComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.ts b/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.ts index 6d8ac0d..60591d8 100755 --- a/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.ts +++ b/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.ts @@ -1,39 +1,19 @@ -import { Component, Inject, OnDestroy, OnInit } from '@angular/core'; +import { Component, Inject } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { Transaction } from '../../../../app.datatypes'; -import { PriceService } from '../../../../services/price.service'; -import { Subscription } from 'rxjs/Subscription'; +import { NormalTransaction } from '../../../../app.datatypes'; @Component({ selector: 'app-transaction-detail', templateUrl: './transaction-detail.component.html', - styleUrls: ['./transaction-detail.component.scss'] + styleUrls: ['./transaction-detail.component.scss'], }) -export class TransactionDetailComponent implements OnInit, OnDestroy { - - price: number; - - private priceSubscription: Subscription; - +export class TransactionDetailComponent { constructor( - @Inject(MAT_DIALOG_DATA) public transaction: Transaction, + @Inject(MAT_DIALOG_DATA) public transaction: NormalTransaction, public dialogRef: MatDialogRef, - private priceService: PriceService, ) {} - ngOnInit() { - this.priceSubscription = this.priceService.price.subscribe(price => this.price = price); - } - - ngOnDestroy() { - this.priceSubscription.unsubscribe(); - } - closePopup() { this.dialogRef.close(); } - - showOutput(output) { - return !this.transaction.inputs.find(input => input.owner === output.dst); - } } diff --git a/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.html b/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.html index 5b02d78..17b8af0 100755 --- a/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.html +++ b/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.html @@ -1,23 +1,42 @@ - +
          -
          + + +
          -

          Sent SLB {{ transaction.timestamp * 1000 | date:'short' }}

          -

          Sending SLB Pending

          -

          Received SLB {{ transaction.timestamp * 1000 | date:'short' }}

          -

          Sent SLB Pending

          +

          + {{ 'history.sent' | translate }} {{ 'common.coin-id' | translate }} + {{ transaction.timestamp * 1000 | date:'short' }} +

          +

          + {{ 'history.sending' | translate }} {{ 'common.coin-id' | translate }} + {{ 'history.pending' | translate }} +

          +

          + {{ 'history.received' | translate }} {{ 'common.coin-id' | translate }} + {{ transaction.timestamp * 1000 | date:'short' }} +

          +

          + {{ 'history.receiving' | translate }} {{ 'common.coin-id' | translate }} + {{ 'history.pending' | translate }} +

          - + {{ address }}
          -

          {{ transaction.balance | number:'1.0-6' }} SLB

          +

          {{ transaction.balance | number:'1.0-6' }} {{ 'common.coin-id' | translate }}

          +
          diff --git a/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.scss b/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.scss index c932a70..e00d378 100755 --- a/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.scss +++ b/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.scss @@ -1,4 +1,4 @@ -@import '../../../../theme/_variables.scss'; +@import '../../../../theme/variables'; .-paper { background-color: #fbfbfb; @@ -71,7 +71,7 @@ } .-timestamp { - color: rgba(30, 34, 39, 0.2); + color: $grey; } } @@ -99,7 +99,8 @@ } .-balance { - width: 100px; + width: 200px; + text-align: right; h4 { color: #1e2227; @@ -115,6 +116,10 @@ font-size: 13px; line-height: 15px; margin: 0; + + span { + color: lighten($grey, 40%); + } } } } diff --git a/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.spec.ts b/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.spec.ts index a6febab..2b4a9a0 100755 --- a/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.spec.ts +++ b/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.spec.ts @@ -8,7 +8,7 @@ describe('TransactionListComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ TransactionListComponent ] + declarations: [ TransactionListComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.ts b/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.ts index 315768d..a5ec02a 100755 --- a/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.ts +++ b/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.ts @@ -1,22 +1,22 @@ import { Component, OnDestroy, OnInit } from '@angular/core'; import { WalletService } from '../../../services/wallet.service'; import { PriceService } from '../../../services/price.service'; -import { Subscription } from 'rxjs/Subscription'; +import { ISubscription } from 'rxjs/Subscription'; import { MatDialog, MatDialogConfig } from '@angular/material/dialog'; import { TransactionDetailComponent } from './transaction-detail/transaction-detail.component'; -import { Transaction } from '../../../app.datatypes'; +import { NormalTransaction } from '../../../app.datatypes'; import { QrCodeComponent } from '../../layout/qr-code/qr-code.component'; @Component({ selector: 'app-transaction-list', templateUrl: './transaction-list.component.html', - styleUrls: ['./transaction-list.component.scss'] + styleUrls: ['./transaction-list.component.scss'], }) export class TransactionListComponent implements OnInit, OnDestroy { - transactions: any[]; + transactions: NormalTransaction[]; private price: number; - private priceSubscription: Subscription; + private priceSubscription: ISubscription; constructor( private dialog: MatDialog, @@ -26,25 +26,25 @@ export class TransactionListComponent implements OnInit, OnDestroy { ngOnInit() { this.priceSubscription = this.priceService.price.subscribe(price => this.price = price); - this.walletService.transactions().subscribe(transactions => this.transactions = transactions); + this.walletService.transactions().first().subscribe(transactions => this.transactions = transactions); } ngOnDestroy() { this.priceSubscription.unsubscribe(); } - showTransaction(transaction: Transaction) { + showTransaction(transaction: NormalTransaction) { const config = new MatDialogConfig(); - config.width = '566px'; + config.width = '800px'; config.data = transaction; this.dialog.open(TransactionDetailComponent, config); } - showQrCode($event: any, address: string) { - $event.stopPropagation(); + showQrCode(event: any, address: string) { + event.stopPropagation(); const config = new MatDialogConfig(); config.data = { address }; - this.dialog.open(QrCodeComponent, config).afterClosed().subscribe(); + this.dialog.open(QrCodeComponent, config); } } diff --git a/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.html b/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.html index 8e15612..9953cce 100755 --- a/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.html +++ b/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.html @@ -1,16 +1,16 @@ - +
          - +
          - Cancel + {{ 'wallet.rename.cancel-button' | translate }} - Rename + {{ 'wallet.rename.rename-button' | translate }}
          diff --git a/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.spec.ts b/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.spec.ts index 2fed0dc..fae378f 100755 --- a/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.spec.ts +++ b/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.spec.ts @@ -8,7 +8,7 @@ describe('ChangeNameComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ ChangeNameComponent ] + declarations: [ ChangeNameComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.ts b/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.ts index 23e9b5a..a13ff12 100755 --- a/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.ts +++ b/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.ts @@ -8,21 +8,23 @@ import { ButtonComponent } from '../../../layout/button/button.component'; @Component({ selector: 'app-change-name', templateUrl: './change-name.component.html', - styleUrls: ['./change-name.component.css'] + styleUrls: ['./change-name.component.css'], }) export class ChangeNameComponent implements OnInit { @ViewChild('button') button: ButtonComponent; form: FormGroup; constructor( - @Inject(MAT_DIALOG_DATA) private data: Wallet, public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) private data: Wallet, private formBuilder: FormBuilder, private walletService: WalletService, ) {} ngOnInit() { - this.initForm(); + this.form = this.formBuilder.group({ + label: [this.data.label, Validators.required], + }); } closePopup() { @@ -39,10 +41,4 @@ export class ChangeNameComponent implements OnInit { this.walletService.renameWallet(this.data, this.form.value.label) .subscribe(() => this.dialogRef.close(this.form.value.label)); } - - private initForm() { - this.form = this.formBuilder.group({ - label: [this.data.label, Validators.required], - }); - } } diff --git a/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.html b/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.html index 459bfa0..b195bc4 100755 --- a/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.html +++ b/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.html @@ -1,50 +1,47 @@ - +
          - +
          -

          - Remember this seed! Keep it in a safe place. - If you forget your seed, you will not be able to recover your wallet! -

          +

          {{ 'wallet.new.seed-warning' | translate }}

          - +
          - Encrypt Wallet + {{ 'wallet.new.encrypt' | translate }}
          -

          - We suggest that you encrypt each one of your wallets with a password. - If you forget your password, you can reset it with your seed. - Make sure you have your seed saved somewhere safe before encrypting your wallet. -

          +

          {{ 'wallet.new.encrypt-warning' | translate }}

          - +
          - +
          @@ -52,10 +49,10 @@
          - Cancel + {{ 'wallet.new.cancel-button' | translate }} - {{ data.create ? 'Create' : 'Load' }} + {{ 'wallet.new.' + (data.create ? 'create' : 'load') + '-button' | translate }}
          diff --git a/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.scss b/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.scss index 4a266be..550e5d9 100755 --- a/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.scss +++ b/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.scss @@ -29,7 +29,7 @@ label[for=seed] { .divider { padding: 0 5px; - color: $grey-normal; + color: $grey-dark; } } } @@ -50,7 +50,7 @@ label[for=seed] { .-info { margin: 5px 0 15px; - color: $grey-dark; + color: $grey; font-size: 12px; line-height: 1.5; } @@ -89,7 +89,7 @@ label[for=seed] { line-height: normal; font-size: 14px; - color: $grey-normal; + color: $grey-dark; img { width: 38px; diff --git a/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.spec.ts b/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.spec.ts index ef25a4a..4ccb5db 100755 --- a/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.spec.ts +++ b/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.spec.ts @@ -8,7 +8,7 @@ describe('CreateWalletComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ CreateWalletComponent ] + declarations: [ CreateWalletComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.ts b/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.ts index 44312c4..66897c6 100755 --- a/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.ts +++ b/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.ts @@ -4,11 +4,12 @@ import { WalletService } from '../../../../services/wallet.service'; import { MatDialogRef } from '@angular/material/dialog'; import { ButtonComponent } from '../../../layout/button/button.component'; import { MAT_DIALOG_DATA } from '@angular/material'; +import { ApiService } from '../../../../services/api.service'; @Component({ selector: 'app-create-wallet', templateUrl: './create-wallet.component.html', - styleUrls: ['./create-wallet.component.scss'] + styleUrls: ['./create-wallet.component.scss'], }) export class CreateWalletComponent implements OnInit { @ViewChild('createButton') createButton: ButtonComponent; @@ -23,6 +24,7 @@ export class CreateWalletComponent implements OnInit { @Inject(MAT_DIALOG_DATA) public data, public dialogRef: MatDialogRef, private walletService: WalletService, + private apiService: ApiService, ) {} ngOnInit() { @@ -53,7 +55,7 @@ export class CreateWalletComponent implements OnInit { } generateSeed(entropy: number) { - this.walletService.generateSeed(entropy).subscribe(seed => this.form.get('seed').setValue(seed)); + this.apiService.generateSeed(entropy).subscribe(seed => this.form.get('seed').setValue(seed)); } setEncrypt(event) { diff --git a/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.html b/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.html index 640f8a1..b7b608d 100755 --- a/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.html +++ b/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.html @@ -1,44 +1,47 @@ - -
          -
          {{ i + 1 }}
          -
          - -

          - {{ address.address }} Copy -

          -
          -
          {{ (address.hours ? address.hours : 0) | number:'1.0-6' }}
          -
          - {{ (address.coins ? address.coins : 0) | number:'1.0-6' }} - Outputs -
          -
          -
          -
          +
          - - New Address + {{ 'wallet.new-address' | translate }}
          - - - Hide Empty - - - - Show Empty - + + {{ 'wallet.' + (wallet.hideEmpty ? 'show' : 'hide') + '-empty' | translate }} +
          - - {{ wallet.encrypted ? 'Decrypt' : 'Encrypt' }} Wallet + + {{ 'wallet.' + (wallet.encrypted ? 'decrypt' : 'encrypt') | translate }} +
          - - Edit Wallet + {{ 'wallet.edit' | translate }}
          + + +
          +
          {{ i + 1 }}
          +
          + + + {{ address.address }} + + {{ 'wallet.address.copy' | translate }} + + +
          +
          {{ (address.coins ? address.coins : 0) | number:'1.0-6' }}
          +
          {{ (address.hours ? address.hours : 0) | number:'1.0-6' }}
          +
          + more_vert + + + + +
          +
          +
          diff --git a/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.scss b/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.scss index 3c67da6..5700043 100755 --- a/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.scss +++ b/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.scss @@ -1,164 +1,171 @@ -@import '../../../../../theme/_variables.scss'; +@import '../../../../../theme/variables'; -.-record { - background-color: $white; - border-bottom: 1px solid #eff0f0; - cursor: pointer; - display: flex; - font-size: $font-size-standard; - line-height: $row-height; - min-height: $row-height; - padding: 0 50px 0 20px; - - .id-column { - width: 50px; - color: rgba(30, 34, 39, 0.6); - } +.-row.-detail { + background-color: darken($white, 2%); +} - .address-column { - color: rgba(30, 34, 39, 0.6); - flex: 1 1 auto; +.-grey { + color: $grey; +} - img { - display: inline-block; - height: 17px; - vertical-align: middle; - width: 17px; - } +.-address { + padding-left: 0 !important; - p { - display: inline-block; - line-height: $row-height; - margin: 0; - vertical-align: middle; - } + img { + width: 17px; + vertical-align: middle; + margin-right: 10px; + } + + > span { + display: inline-block; + line-height: $row-height; + cursor: pointer; &:hover .copy-label { - display: inline-block; + opacity: 1; } } +} - .hours-column { - color: rgba(30, 34, 39, 0.5); - width: 150px; - } +.-text-right { + text-align: right; +} - .coins-column { - color: black; - width: 150px; +.-options { + text-align: center; + + mat-icon { + color: lighten($grey, 30%); + cursor: pointer; + vertical-align: middle; &:hover { - .outputs-label { - display: inline-block; - } + color: $blue; } } - - > img { - display: inline-block; - margin: ($row-height - $row-detail-size) / 2; - margin-left: 0; - height: $row-detail-size; - width: $row-detail-size; - } } .-actions { + background-color: #fefefe; border-bottom: 1px solid #eff0f0; display: flex; width: 100%; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03) !important; + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; + z-index: 100; + position: relative; .-button { - cursor: pointer; - padding: 0 20px; + padding-right: 20px; - img { - display: inline-block; - float: left; - height: 60px; - padding: 14px 0; - width: 32px; + &:first-child { + padding-left: 5px; } span { color: #CECFD0; - display: inline-block; font-size: 12px; height: 60px; - line-height: 60px; margin: 0 5px; - } - } -} + cursor: pointer; + display: flex; + align-items: center; + &.-img::before { + content: ''; + display: inline-block; + height: 32px; + width: 32px; + margin-right: 5px; + background-repeat: no-repeat; + background-size: 32px 32px; + } -@keyframes floatup { - 20% { - opacity: .999 - } + &.-new-address::before { + background-image: url(../../../../../assets/img/plus-grey.png); + } - 100% { - -webkit-transform: translate3d(-50%, -17px, 0); - transform: translate3d(-50%, -17px, 0) + &.-hide-empty::before { + background-image: url(../../../../../assets/img/minus-grey.png); + } + + &.-show-empty::before { + background-image: url(../../../../../assets/img/plus-grey.png); + } + + &.-enable-encryption::before { + background-image: url(../../../../../assets/img/lock-grey.png); + } + + &.-disable-encryption::before { + background-image: url(../../../../../assets/img/unlock-grey.png); + } + + &.-edit-wallet::before { + background-image: url(../../../../../assets/img/edit-grey.png); + } + + &:hover { + color: $grey; + + &.-new-address::before { + background-image: url(../../../../../assets/img/plus-green.png); + } + + &.-hide-empty::before { + background-image: url(../../../../../assets/img/minus-red.png); + } + + &.-show-empty::before { + background-image: url(../../../../../assets/img/plus-green.png); + } + + &.-enable-encryption::before { + background-image: url(../../../../../assets/img/lock-gold.png); + } + + &.-disable-encryption::before { + background-image: url(../../../../../assets/img/unlock-gold.png); + } + + &.-edit-wallet::before { + background-image: url(../../../../../assets/img/edit-blue.png); + } + } + } } } -@-webkit-keyframes floatup { - 20% { - opacity: .999 +@keyframes floatup { + 50% { + opacity: 1; } 100% { - -webkit-transform: translate3d(-50%, -17px, 0); - transform: translate3d(-50%, -17px, 0) + transform: translateY(-20px); + opacity: 0; } } -.click-to-copy { - cursor: pointer; -} - - .copy-label { - color: #0072ff; - display: none; + color: $blue; + opacity: 0; font-size: 12px; - line-height: 100%; position: relative; - opacity: .999; - transition: opacity .2s ease-in-out; - top: -1px; padding-left: 10px; - &.hidden{ - opacity: .001; - } - &::after { content: attr(data-label); - color: #0072ff; - display: inline-block; position: absolute; - top: -2px; - left: 50%; - opacity: .001; - text-align: center; - -webkit-transform: translate3d(-50%,0,0); - transform: translate3d(-50%,0,0); - -webkit-backface-visibility: hidden; - white-space: nowrap; - padding-left: 11px; + top: 0; + left: 4px; + opacity: 0; + line-height: 1; } } .copying .copy-label::after { - -webkit-animation: floatup .5s ease-in-out; animation: floatup .5s ease-in-out; } - -.outputs-label { - color: #0072ff; - display: none; - font-size: 12px; - padding-left: 10px; -} diff --git a/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.spec.ts b/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.spec.ts index 7c6a1cb..32c805e 100755 --- a/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.spec.ts +++ b/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.spec.ts @@ -8,7 +8,7 @@ describe('WalletDetailComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ WalletDetailComponent ] + declarations: [ WalletDetailComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.ts b/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.ts index 8995509..2864b2a 100755 --- a/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.ts +++ b/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.ts @@ -1,27 +1,37 @@ -import { Component, Input, OnDestroy } from '@angular/core'; +import { Component, Input, OnDestroy, OnInit } from '@angular/core'; import { Wallet } from '../../../../app.datatypes'; import { WalletService } from '../../../../services/wallet.service'; import { MatDialog, MatDialogConfig } from '@angular/material/dialog'; import { ChangeNameComponent } from '../change-name/change-name.component'; import { QrCodeComponent } from '../../../layout/qr-code/qr-code.component'; import { PasswordDialogComponent } from '../../../layout/password-dialog/password-dialog.component'; -import { MatSnackBar, MatSnackBarConfig } from '@angular/material'; -import { parseResponseMessage } from '../../../../utils/index'; +import { MatSnackBar } from '@angular/material'; +import { showSnackbarError } from '../../../../utils/errors'; +import { TranslateService } from '@ngx-translate/core'; @Component({ selector: 'app-wallet-detail', templateUrl: './wallet-detail.component.html', - styleUrls: ['./wallet-detail.component.scss'] + styleUrls: ['./wallet-detail.component.scss'], }) -export class WalletDetailComponent implements OnDestroy { +export class WalletDetailComponent implements OnInit, OnDestroy { @Input() wallet: Wallet; + private encryptionWarning: string; + constructor( private dialog: MatDialog, private walletService: WalletService, private snackbar: MatSnackBar, + private translateService: TranslateService, ) { } + ngOnInit() { + this.translateService.get('wallet.new.encrypt-warning').subscribe(msg => { + this.encryptionWarning = msg; + }); + } + ngOnDestroy() { this.snackbar.dismiss(); } @@ -43,11 +53,7 @@ export class WalletDetailComponent implements OnDestroy { .subscribe(() => passwordDialog.close(), () => passwordDialog.error()); }); } else { - this.walletService.addAddress(this.wallet).subscribe(null, err => { - const config = new MatSnackBarConfig(); - config.duration = 300000; - this.snackbar.open(parseResponseMessage(err['_body']), null, config); - }); + this.walletService.addAddress(this.wallet).subscribe(null, err => showSnackbarError(this.snackbar, err)); } } @@ -59,13 +65,11 @@ export class WalletDetailComponent implements OnDestroy { const config = new MatDialogConfig(); config.data = { confirm: !this.wallet.encrypted, - title: this.wallet.encrypted ? 'Decrypt Wallet' : 'Encrypt Wallet', + title: this.wallet.encrypted ? 'wallet.decrypt' : 'wallet.encrypt', }; if (!this.wallet.encrypted) { - config.data['description'] = 'We suggest that you encrypt each one of your wallets with a password. ' + - 'If you forget your password, you can reset it with your seed. ' + - 'Make sure you have your seed saved somewhere safe before encrypting your wallet.'; + config.data['description'] = this.encryptionWarning; } this.dialog.open(PasswordDialogComponent, config).componentInstance.passwordSubmit @@ -76,7 +80,13 @@ export class WalletDetailComponent implements OnDestroy { }); } - copyAddress(address) { + copyAddress(event, address, duration = 500) { + event.stopPropagation(); + + if (address.copying) { + return; + } + const selBox = document.createElement('textarea'); selBox.style.position = 'fixed'; @@ -94,10 +104,9 @@ export class WalletDetailComponent implements OnDestroy { address.copying = true; - // wait for a while and then remove the 'copying' class - setTimeout(function () { + setTimeout(function() { address.copying = false; - }, 500); + }, duration); } showQrCode(event, address: string) { @@ -105,6 +114,6 @@ export class WalletDetailComponent implements OnDestroy { const config = new MatDialogConfig(); config.data = { address }; - this.dialog.open(QrCodeComponent, config).afterClosed().subscribe(); + this.dialog.open(QrCodeComponent, config); } } diff --git a/src/gui/static/src/app/components/pages/wallets/wallets.component.html b/src/gui/static/src/app/components/pages/wallets/wallets.component.html index e9f48e9..b25b49e 100755 --- a/src/gui/static/src/app/components/pages/wallets/wallets.component.html +++ b/src/gui/static/src/app/components/pages/wallets/wallets.component.html @@ -1,36 +1,46 @@
          - + +
          -
          -
          Wallet
          -
          Encryption
          -
          SLB Hours
          -
          Balance
          +
          +
          +
          {{ 'wallet.wallet' | translate }}
          +
          +
          {{ 'common.coin-id' | translate }}
          +
          {{ 'common.coin-hours' | translate }}
          +
          +
          -
          - -
          -
          {{ wallet.label }}
          -
          - - + +
          +
          +
          +
          {{ wallet.label }}
          +
          + + +
          +
          {{ (wallet.coins ? wallet.coins : 0) | number:'1.0-6' }}
          +
          {{ (wallet.hours ? wallet.hours : 0) | number:'1.0-6' }}
          +
          +
          -
          {{ (wallet.hours ? wallet.hours : 0) | number:'1.0-6' }}
          -
          {{ (wallet.coins ? wallet.coins : 0) | number:'1.0-6' }}
          - -
          -
          -
          - + +
          +
          diff --git a/src/gui/static/src/app/components/pages/wallets/wallets.component.scss b/src/gui/static/src/app/components/pages/wallets/wallets.component.scss index 6fc5f43..46277f4 100755 --- a/src/gui/static/src/app/components/pages/wallets/wallets.component.scss +++ b/src/gui/static/src/app/components/pages/wallets/wallets.component.scss @@ -1,83 +1,45 @@ -@import '../../../../theme/_variables.scss'; +@import '../../../../theme/variables'; -.-width-150 { - width: 150px; -} - -.-width-250 { - width: 250px; -} - -.-headers { - color: rgba(30, 34, 39, 0.2); - display: flex; - font-size: 12px; - font-weight: 700; - height: 50px; - line-height: 50px; - padding: 0 80px 0 50px; -} - -.-wallets { - border-radius: 15px; - box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.01), 1px 1px 2px 2px rgba(0, 0, 0, 0.01); - margin: 0 30px; -} - -.-wallet { - background-color: $white; - border-bottom: 1px solid #eff0f0; - cursor: pointer; - display: flex; - font-size: $font-size-standard; - line-height: $row-height; - height: $row-height; - padding-left: 20px; +.-table { + margin-bottom: 10px; &:first-child { - border-top-left-radius: 15px; - border-top-right-radius: 15px; + margin-bottom: 0; } - &:last-child { - border-bottom-left-radius: 15px; - border-bottom-right-radius: 15px; + .-row { + border-color: #f6f6f6; } +} - .label { - color: black; - font-weight: 700; - } +.-pointer { + cursor: pointer; +} - .hours { - color: rgba(30, 34, 39, 0.5); - } +.-text-right { + text-align: right; +} - .coins { - color: black; - } +.-grey { + color: $grey; +} - .-encryption img { - border-radius: 50%; - background-color: #f7f7f7; - display: inline-block; - height: 38px; - margin: 11px 0; - padding: 3px; - width: 38px; - } +.-expand img { + width: 30px; + vertical-align: middle; +} - > img { - display: inline-block; - margin: ($row-height - $row-detail-size) / 2; - margin-left: 0; - height: $row-detail-size; - width: $row-detail-size; - } +.-encryption img { + border-radius: 50%; + background-color: #f7f7f7; + width: 30px; + vertical-align: middle; } -.-wallet-detail { - background-color: $white; +.-label { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; } .action-buttons { @@ -86,10 +48,10 @@ text-align: center; button { - background-color: $grey-light; + background-color: $grey-lightest; border: none; box-shadow: none; - color: $grey-dark; + color: $grey; font-size: 13px; margin: 0 5px; min-width: 140px; @@ -101,8 +63,3 @@ } } } - -span { - display: inline-block; - width: 50%; -} diff --git a/src/gui/static/src/app/components/pages/wallets/wallets.component.spec.ts b/src/gui/static/src/app/components/pages/wallets/wallets.component.spec.ts index cb50258..07abc90 100755 --- a/src/gui/static/src/app/components/pages/wallets/wallets.component.spec.ts +++ b/src/gui/static/src/app/components/pages/wallets/wallets.component.spec.ts @@ -8,7 +8,7 @@ describe('WalletsComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ WalletsComponent ] + declarations: [ WalletsComponent ], }) .compileComponents(); })); diff --git a/src/gui/static/src/app/components/pages/wallets/wallets.component.ts b/src/gui/static/src/app/components/pages/wallets/wallets.component.ts index 8126e36..544a68e 100755 --- a/src/gui/static/src/app/components/pages/wallets/wallets.component.ts +++ b/src/gui/static/src/app/components/pages/wallets/wallets.component.ts @@ -7,10 +7,9 @@ import { Wallet } from '../../../app.datatypes'; @Component({ selector: 'app-wallets', templateUrl: './wallets.component.html', - styleUrls: ['./wallets.component.scss'] + styleUrls: ['./wallets.component.scss'], }) export class WalletsComponent { - constructor( public walletService: WalletService, private dialog: MatDialog, diff --git a/src/gui/static/src/app/directives/dontsavepassword.directive.ts b/src/gui/static/src/app/directives/dontsavepassword.directive.ts index 6e6dcca..3fc5880 100755 --- a/src/gui/static/src/app/directives/dontsavepassword.directive.ts +++ b/src/gui/static/src/app/directives/dontsavepassword.directive.ts @@ -1,11 +1,12 @@ import { Directive, ElementRef, HostListener } from '@angular/core'; @Directive({ - selector: '[appDontSavePassword]' + selector: '[appDontSavePassword]', }) export class DontsavepasswordDirective { - - constructor(private el: ElementRef) { + constructor( + private el: ElementRef, + ) { el.nativeElement.autocomplete = 'new-password'; el.nativeElement.readOnly = true; } @@ -13,5 +14,4 @@ export class DontsavepasswordDirective { @HostListener('focus') onFocus() { this.el.nativeElement.readOnly = false; } - } diff --git a/src/gui/static/src/app/models/connection.model.ts b/src/gui/static/src/app/models/connection.model.ts deleted file mode 100755 index 3c55fef..0000000 --- a/src/gui/static/src/app/models/connection.model.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface ConnectionModel { - id: any[]; - address: number; - listen_port: boolean; -} diff --git a/src/gui/static/src/app/pipes/date-from-now.pipe.ts b/src/gui/static/src/app/pipes/date-from-now.pipe.ts index 691fba0..40b93a7 100755 --- a/src/gui/static/src/app/pipes/date-from-now.pipe.ts +++ b/src/gui/static/src/app/pipes/date-from-now.pipe.ts @@ -2,12 +2,10 @@ import { Pipe, PipeTransform } from '@angular/core'; import * as moment from 'moment'; @Pipe({ - name: 'dateFromNow' + name: 'dateFromNow', }) export class DateFromNowPipe implements PipeTransform { - transform(value: any) { return moment.unix(value).fromNow(); } - } diff --git a/src/gui/static/src/app/pipes/date-time.pipe.ts b/src/gui/static/src/app/pipes/date-time.pipe.ts index 429e3d1..2c2b355 100755 --- a/src/gui/static/src/app/pipes/date-time.pipe.ts +++ b/src/gui/static/src/app/pipes/date-time.pipe.ts @@ -2,10 +2,9 @@ import { Pipe, PipeTransform } from '@angular/core'; import * as moment from 'moment'; @Pipe({ - name: 'dateTime' + name: 'dateTime', }) export class DateTimePipe implements PipeTransform { - transform(value: any) { return moment.unix(value).format('YYYY-MM-DD HH:mm'); } diff --git a/src/gui/static/src/app/pipes/teller-status.pipe.ts b/src/gui/static/src/app/pipes/teller-status.pipe.ts index 1ecfe52..27bcfdb 100755 --- a/src/gui/static/src/app/pipes/teller-status.pipe.ts +++ b/src/gui/static/src/app/pipes/teller-status.pipe.ts @@ -1,22 +1,14 @@ import { Pipe, PipeTransform } from '@angular/core'; @Pipe({ - name: 'tellerStatus' + name: 'tellerStatus', }) export class TellerStatusPipe implements PipeTransform { + private statuses = ['done', 'waiting_confirm', 'waiting_deposit', 'waiting_send']; transform(value: any): any { - switch (value) { - case 'done': - return 'Completed'; - case 'waiting_confirm': - return 'Waiting for confirmation'; - case 'waiting_deposit': - return 'Waiting for Bitcoin deposit'; - case 'waiting_send': - return 'Waiting to send Skycoin'; - default: - return 'Unknown'; - } + return this.statuses.find(status => status === value) + ? 'teller.' + value.replace('_', '-') + : 'teller.unknown'; } } diff --git a/src/gui/static/src/app/pipes/transactions-amount.pipe.spec.ts b/src/gui/static/src/app/pipes/transactions-amount.pipe.spec.ts deleted file mode 100755 index c2ff499..0000000 --- a/src/gui/static/src/app/pipes/transactions-amount.pipe.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { TransactionsAmountPipe } from './transactions-amount.pipe'; - -describe('TransactionsAmountPipe', () => { - it('create an instance', () => { - const pipe = new TransactionsAmountPipe(); - expect(pipe).toBeTruthy(); - }); -}); diff --git a/src/gui/static/src/app/pipes/transactions-amount.pipe.ts b/src/gui/static/src/app/pipes/transactions-amount.pipe.ts deleted file mode 100755 index 120017e..0000000 --- a/src/gui/static/src/app/pipes/transactions-amount.pipe.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Pipe, PipeTransform } from '@angular/core'; - -@Pipe({ - name: 'transactionsAmount' -}) -export class TransactionsAmountPipe implements PipeTransform { - - transform(value: any): any { - return value.reduce((a, b) => a + b.outputs.reduce((c, d) => c + parseInt(d.coins, 10), 0), 0); - } -} diff --git a/src/gui/static/src/app/services/api.service.spec.ts b/src/gui/static/src/app/services/api.service.spec.ts index 65b6c71..9d17c0f 100755 --- a/src/gui/static/src/app/services/api.service.spec.ts +++ b/src/gui/static/src/app/services/api.service.spec.ts @@ -5,7 +5,7 @@ import { ApiService } from './api.service'; describe('ApiService', () => { beforeEach(() => { TestBed.configureTestingModule({ - providers: [ApiService] + providers: [ApiService], }); }); diff --git a/src/gui/static/src/app/services/api.service.ts b/src/gui/static/src/app/services/api.service.ts index 7dbe7fb..4e833fc 100755 --- a/src/gui/static/src/app/services/api.service.ts +++ b/src/gui/static/src/app/services/api.service.ts @@ -6,20 +6,19 @@ import 'rxjs/add/observable/throw'; import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/map'; import { - Address, GetWalletsResponseEntry, GetWalletsResponseWallet, PostWalletNewAddressResponse, Transaction, Version, - Wallet + Address, GetWalletsResponseEntry, GetWalletsResponseWallet, NormalTransaction, + PostWalletNewAddressResponse, Version, Wallet, } from '../app.datatypes'; @Injectable() export class ApiService { - private url = environment.nodeUrl; constructor( private http: Http, ) { } - getExplorerAddress(address: Address): Observable { + getExplorerAddress(address: Address): Observable { return this.get('explorer/address', {address: address.address}) .map(transactions => transactions.map(transaction => ({ addresses: [], @@ -37,9 +36,8 @@ export class ApiService { return this.get('version'); } - getWalletNewSeed(entropy: number = 128): Observable { - return this.get('wallet/newSeed', { entropy }) - .map(response => response.seed); + generateSeed(entropy: number = 128): Observable { + return this.get('wallet/newSeed', { entropy }).map(response => response.seed); } getWallets(): Observable { @@ -47,7 +45,7 @@ export class ApiService { .map((response: GetWalletsResponseWallet[]) => { const wallets: Wallet[] = []; response.forEach(wallet => { - wallets.push({ + wallets.push( { label: wallet.meta.label, filename: wallet.meta.filename, coins: null, @@ -62,6 +60,7 @@ export class ApiService { encrypted: wallet.meta.encrypted, }); }); + return wallets; }); } @@ -112,10 +111,11 @@ export class ApiService { post(url, params = {}, options: any = {}) { return this.getCsrf().first().flatMap(csrf => { options.csrf = csrf; + return this.http.post( this.getUrl(url), options.json ? JSON.stringify(params) : this.getQueryString(params), - this.returnRequestOptions(options) + this.returnRequestOptions(options), ) .map((res: any) => res.json()) .catch((error: any) => Observable.throw(error || 'Server error')); @@ -137,6 +137,7 @@ export class ApiService { private getHeaders(options) { const headers = new Headers(); headers.append('Content-Type', options.json ? 'application/json' : 'application/x-www-form-urlencoded'); + return headers; } @@ -147,6 +148,7 @@ export class ApiService { return Object.keys(parameters).reduce((array, key) => { array.push(key + '=' + encodeURIComponent(parameters[key])); + return array; }, []).join('&'); } diff --git a/src/gui/static/src/app/services/app.service.spec.ts b/src/gui/static/src/app/services/app.service.spec.ts index 741d9d2..dad1f42 100755 --- a/src/gui/static/src/app/services/app.service.spec.ts +++ b/src/gui/static/src/app/services/app.service.spec.ts @@ -5,7 +5,7 @@ import { AppService } from './app.service'; describe('AppService', () => { beforeEach(() => { TestBed.configureTestingModule({ - providers: [AppService] + providers: [AppService], }); }); diff --git a/src/gui/static/src/app/services/app.service.ts b/src/gui/static/src/app/services/app.service.ts index 839f36d..d97a667 100755 --- a/src/gui/static/src/app/services/app.service.ts +++ b/src/gui/static/src/app/services/app.service.ts @@ -1,18 +1,17 @@ -import { Injectable } from '@angular/core'; +import { Injectable, NgZone } from '@angular/core'; import { ApiService } from './api.service'; import { Observable } from 'rxjs/Observable'; import { IntervalObservable } from 'rxjs/observable/IntervalObservable'; -import { ConnectionModel } from '../models/connection.model'; -import { Version } from '../app.datatypes'; +import { Connection, Version } from '../app.datatypes'; @Injectable() export class AppService { - error: number; version: Version; constructor( private apiService: ApiService, + private ngZone: NgZone, ) { this.monitorConnections(); } @@ -22,28 +21,32 @@ export class AppService { version => { this.version = version; this.apiService.getCsrf().subscribe(null, () => this.error = 3); - }, () => this.error = 2 + }, () => this.error = 2, ); } private monitorConnections() { this.retrieveConnections().subscribe(connections => this.setConnectionError(connections)); - IntervalObservable - .create(1500) - .flatMap(() => this.retrieveConnections()) - .subscribe(connections => this.setConnectionError(connections)); + this.ngZone.runOutsideAngular(() => { + IntervalObservable + .create(1500) + .flatMap(() => this.retrieveConnections()) + .subscribe(connections => this.ngZone.run(() => { + this.setConnectionError(connections); + })); + }); } - private retrieveConnections(): Observable { + private retrieveConnections(): Observable { return this.apiService.get('network/connections'); } private setConnectionError(response: any) { - if (response.connections.length === 0) { + if (response.connections === null || response.connections.length === 0) { this.error = 1; } - if (response.connections.length > 0 && this.error === 1) { + if (response.connections !== null && response.connections.length > 0 && this.error === 1) { this.error = null; } } diff --git a/src/gui/static/src/app/services/blockchain.service.spec.ts b/src/gui/static/src/app/services/blockchain.service.spec.ts index 55dca80..12065ef 100755 --- a/src/gui/static/src/app/services/blockchain.service.spec.ts +++ b/src/gui/static/src/app/services/blockchain.service.spec.ts @@ -5,7 +5,7 @@ import { BlockchainService } from './blockchain.service'; describe('BlockchainService', () => { beforeEach(() => { TestBed.configureTestingModule({ - providers: [BlockchainService] + providers: [BlockchainService], }); }); diff --git a/src/gui/static/src/app/services/blockchain.service.ts b/src/gui/static/src/app/services/blockchain.service.ts index b8bd49e..64a239a 100755 --- a/src/gui/static/src/app/services/blockchain.service.ts +++ b/src/gui/static/src/app/services/blockchain.service.ts @@ -1,15 +1,13 @@ -import { Injectable } from '@angular/core'; +import { Injectable, NgZone } from '@angular/core'; import { ApiService } from './api.service'; import { Observable } from 'rxjs/Observable'; import { Subject } from 'rxjs/Subject'; import { BehaviorSubject } from 'rxjs/BehaviorSubject'; -import { TellerConfig } from '../app.datatypes'; import { WalletService } from './wallet.service'; import 'rxjs/add/observable/timer'; @Injectable() export class BlockchainService { - private progressSubject: Subject = new BehaviorSubject(null); private refreshedBalance = false; @@ -20,30 +18,25 @@ export class BlockchainService { constructor( private apiService: ApiService, private walletService: WalletService, + private ngZone: NgZone, ) { - Observable.timer(0, 2000) - .flatMap(() => this.getBlockchainProgress()) - .takeWhile((response: any) => !response.current || response.current !== response.highest) - .subscribe( - response => { - this.progressSubject.next(response); - - if (! this.refreshedBalance) { - this.walletService.refreshBalances(); - this.refreshedBalance = true; - } - }, - error => console.log(error), - () => this.completeLoading() - ); - } + this.ngZone.runOutsideAngular(() => { + Observable.timer(0, 2000) + .flatMap(() => this.getBlockchainProgress()) + .takeWhile((response: any) => !response.current || response.current !== response.highest) + .subscribe( + response => this.ngZone.run(() => { + this.progressSubject.next(response); - addressTransactions(id): Observable { - return this.apiService.get('explorer/address', { address: id }); - } - - addressBalance(id): Observable { - return this.apiService.get('outputs', { addrs: id }); + if (!this.refreshedBalance) { + this.walletService.refreshBalances(); + this.refreshedBalance = true; + } + }), + error => console.log(error), + () => this.ngZone.run(() => this.completeLoading()), + ); + }); } block(id): Observable { @@ -52,14 +45,17 @@ export class BlockchainService { if (transaction.inputs && !transaction.inputs.length) { return Observable.of(transaction); } + return Observable.forkJoin(transaction.inputs.map(input => this.retrieveInputAddress(input).map(response => { return response.owner_address; }))).map(inputs => { transaction.inputs = inputs; + return transaction; }); })).map(transactions => { block.body.txns = transactions; + return block; }); }); @@ -77,6 +73,10 @@ export class BlockchainService { return this.apiService.get('blockchain/progress'); } + coinSupply() { + return this.apiService.get('coinSupply'); + } + private completeLoading() { this.progressSubject.next({ current: 999999999999, highest: 999999999999 }); this.walletService.refreshBalances(); diff --git a/src/gui/static/src/app/services/nav-bar.service.spec.ts b/src/gui/static/src/app/services/nav-bar.service.spec.ts new file mode 100755 index 0000000..f7c5861 --- /dev/null +++ b/src/gui/static/src/app/services/nav-bar.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { NavBarService } from './nav-bar.service'; + +describe('NavBarService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [NavBarService], + }); + }); + + it('should be created', inject([NavBarService], (service: NavBarService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/src/gui/static/src/app/services/nav-bar.service.ts b/src/gui/static/src/app/services/nav-bar.service.ts new file mode 100755 index 0000000..2f17fe9 --- /dev/null +++ b/src/gui/static/src/app/services/nav-bar.service.ts @@ -0,0 +1,24 @@ +import { Injectable } from '@angular/core'; +import { BehaviorSubject } from 'rxjs/BehaviorSubject'; + +@Injectable() +export class NavBarService { + switchVisible = false; + activeComponent = new BehaviorSubject(1); + leftText: string; + rightText: string; + + setActiveComponent(value) { + this.activeComponent.next(value); + } + + showSwitch(leftText, rightText) { + this.switchVisible = true; + this.leftText = leftText; + this.rightText = rightText; + } + + hideSwitch() { + this.switchVisible = false; + } +} diff --git a/src/gui/static/src/app/services/network.service.spec.ts b/src/gui/static/src/app/services/network.service.spec.ts index 9007a9b..dc00e8a 100755 --- a/src/gui/static/src/app/services/network.service.spec.ts +++ b/src/gui/static/src/app/services/network.service.spec.ts @@ -5,7 +5,7 @@ import { NetworkService } from './network.service'; describe('NetworkService', () => { beforeEach(() => { TestBed.configureTestingModule({ - providers: [NetworkService] + providers: [NetworkService], }); }); diff --git a/src/gui/static/src/app/services/network.service.ts b/src/gui/static/src/app/services/network.service.ts index e4042e1..ebb7c98 100755 --- a/src/gui/static/src/app/services/network.service.ts +++ b/src/gui/static/src/app/services/network.service.ts @@ -2,15 +2,14 @@ import { Injectable } from '@angular/core'; import { ApiService } from './api.service'; import { Subject } from 'rxjs/Subject'; import { BehaviorSubject } from 'rxjs/BehaviorSubject'; -import { ConnectionModel } from '../models/connection.model'; import { Observable } from 'rxjs/Observable'; import { IntervalObservable } from 'rxjs/observable/IntervalObservable'; import 'rxjs/add/operator/mergeMap'; +import { Connection } from '../app.datatypes'; @Injectable() export class NetworkService { - - private automaticPeers: Subject = new BehaviorSubject([]); + private automaticPeers: Subject = new BehaviorSubject([]); constructor( private apiService: ApiService, @@ -18,11 +17,11 @@ export class NetworkService { this.loadData(); } - automatic(): Observable { + automatic(): Observable { return this.automaticPeers.asObservable(); } - retrieveDefaultConnections(): Observable { + retrieveDefaultConnections(): Observable { return this.apiService.get('network/defaultConnections') .map(output => output.map((address, index) => ({ id: index + 1, @@ -39,7 +38,7 @@ export class NetworkService { .subscribe(connections => this.automaticPeers.next(connections)); } - private retrieveConnections(): Observable { + private retrieveConnections(): Observable { return this.apiService.get('network/connections') .map(response => response.connections.sort((a, b) => a.id - b.id)); } diff --git a/src/gui/static/src/app/services/price.service.spec.ts b/src/gui/static/src/app/services/price.service.spec.ts index fe373bc..8810350 100755 --- a/src/gui/static/src/app/services/price.service.spec.ts +++ b/src/gui/static/src/app/services/price.service.spec.ts @@ -5,7 +5,7 @@ import { PriceService } from './price.service'; describe('PriceService', () => { beforeEach(() => { TestBed.configureTestingModule({ - providers: [PriceService] + providers: [PriceService], }); }); diff --git a/src/gui/static/src/app/services/price.service.ts b/src/gui/static/src/app/services/price.service.ts index 4e9ce86..61e36b4 100755 --- a/src/gui/static/src/app/services/price.service.ts +++ b/src/gui/static/src/app/services/price.service.ts @@ -1,19 +1,27 @@ -import { Injectable } from '@angular/core'; +import { Injectable, NgZone } from '@angular/core'; import { Http } from '@angular/http'; import { Subject } from 'rxjs/Subject'; import { BehaviorSubject } from 'rxjs/BehaviorSubject'; +import { Observable } from 'rxjs/Observable'; @Injectable() export class PriceService { + readonly CMC_TICKER_ID = 1619; price: Subject = new BehaviorSubject(null); constructor( private http: Http, + private ngZone: NgZone, ) { - this.http.get('https://api.coinmarketcap.com/v1/ticker/skycoin/') - .map(response => response.json()[0]) - .subscribe(data => this.price.next(data.price_usd)); + this.ngZone.runOutsideAngular(() => { + Observable.timer(0, 10 * 60 * 1000).subscribe(() => { + this.http.get(`https://api.coinmarketcap.com/v2/ticker/${this.CMC_TICKER_ID}/`) + .map(response => response.json()) + .subscribe(response => this.ngZone.run(() => { + this.price.next(response.data.quotes.USD.price); + })); + }); + }); } - } diff --git a/src/gui/static/src/app/services/purchase.service.spec.ts b/src/gui/static/src/app/services/purchase.service.spec.ts index 3b69a6a..b69d48a 100755 --- a/src/gui/static/src/app/services/purchase.service.spec.ts +++ b/src/gui/static/src/app/services/purchase.service.spec.ts @@ -5,7 +5,7 @@ import { PurchaseService } from './purchase.service'; describe('PurchaseService', () => { beforeEach(() => { TestBed.configureTestingModule({ - providers: [PurchaseService] + providers: [PurchaseService], }); }); diff --git a/src/gui/static/src/app/services/purchase.service.ts b/src/gui/static/src/app/services/purchase.service.ts index c7d85e1..17420f3 100755 --- a/src/gui/static/src/app/services/purchase.service.ts +++ b/src/gui/static/src/app/services/purchase.service.ts @@ -9,7 +9,6 @@ import { Observable } from 'rxjs/Observable'; @Injectable() export class PurchaseService { - private configSubject: Subject = new BehaviorSubject(null); private purchaseOrders: Subject = new BehaviorSubject([]); private purchaseUrl = environment.tellerUrl; @@ -57,6 +56,7 @@ export class PurchaseService { if (!response.statuses || response.statuses.length > 1) { throw new Error('too many purchase orders found'); } + return response.statuses[0]; }); } @@ -68,5 +68,4 @@ export class PurchaseService { private post(url, parameters = {}): any { return this.httpClient.post(this.purchaseUrl + url, parameters); } - } diff --git a/src/gui/static/src/app/services/wallet.service.spec.ts b/src/gui/static/src/app/services/wallet.service.spec.ts index 5837f9a..d111e25 100755 --- a/src/gui/static/src/app/services/wallet.service.spec.ts +++ b/src/gui/static/src/app/services/wallet.service.spec.ts @@ -5,7 +5,7 @@ import { WalletService } from './wallet.service'; describe('WalletService', () => { beforeEach(() => { TestBed.configureTestingModule({ - providers: [WalletService] + providers: [WalletService], }); }); diff --git a/src/gui/static/src/app/services/wallet.service.ts b/src/gui/static/src/app/services/wallet.service.ts index a3cb376..23c83dd 100755 --- a/src/gui/static/src/app/services/wallet.service.ts +++ b/src/gui/static/src/app/services/wallet.service.ts @@ -1,8 +1,7 @@ -import { Injectable } from '@angular/core'; +import { Injectable, NgZone } from '@angular/core'; import { ApiService } from './api.service'; import { Subject } from 'rxjs/Subject'; import { Observable } from 'rxjs/Observable'; -import { IntervalObservable } from 'rxjs/observable/IntervalObservable'; import 'rxjs/add/observable/forkJoin'; import 'rxjs/add/observable/of'; import 'rxjs/add/operator/do'; @@ -11,7 +10,7 @@ import 'rxjs/add/operator/first'; import 'rxjs/add/operator/mergeMap'; import 'rxjs/add/observable/timer'; import 'rxjs/add/observable/zip'; -import { Address, Wallet } from '../app.datatypes'; +import { Address, NormalTransaction, PreviewTransaction, Wallet } from '../app.datatypes'; import { ReplaySubject } from 'rxjs/ReplaySubject'; import { Subscription } from 'rxjs/Subscription'; @@ -23,10 +22,10 @@ export class WalletService { dataRefreshSubscription: Subscription; constructor( - private apiService: ApiService + private apiService: ApiService, + private ngZone: NgZone, ) { this.loadData(); - this.startDataRefreshSubscription(); } @@ -51,7 +50,7 @@ export class WalletService { } create(label, seed, scan, password) { - seed = seed.replace(/\r?\n|\r/g, ' ').replace(/ +/g, ' ').trim(); + seed = seed.replace(/(\n|\r\n)$/, ''); return this.apiService.postWalletCreate(label ? label : 'undefined', seed, scan ? scan : 100, password) .do(wallet => { @@ -64,29 +63,20 @@ export class WalletService { }); } - find(filename: string): Observable { - return this.all().map(wallets => wallets.find(wallet => wallet.filename === filename)); - } - folder(): Observable { return this.apiService.get('wallets/folderName').map(response => response.address); } - generateSeed(entropy: number = 128): Observable { - return this.apiService.getWalletNewSeed(entropy); - } - outputs(): Observable { return this.addressesAsString() + .first() .filter(addresses => !!addresses) .flatMap(addresses => this.apiService.get('outputs', {addrs: addresses})); } outputsWithWallets(): Observable { return Observable.zip(this.all(), this.outputs(), (wallets, outputs) => { - wallets = JSON.parse(JSON.stringify(wallets)); - - return !wallets ? [] : wallets.map(wallet => { + return wallets.map(wallet => { wallet.addresses = wallet.addresses.map(address => { address.outputs = outputs.head_outputs.filter(output => output.address === address.address); @@ -99,7 +89,7 @@ export class WalletService { } allPendingTransactions(): Observable { - return this.apiService.get('pendingTxs'); + return Observable.timer(0, 10000).flatMap(() => this.apiService.get('pendingTxs')); } pendingTransactions(): Observable { @@ -109,9 +99,12 @@ export class WalletService { refreshBalances() { this.wallets.first().subscribe(wallets => { Observable.forkJoin(wallets.map(wallet => this.retrieveWalletBalance(wallet).map(response => { - wallet.addresses = response; - wallet.coins = response.map(address => address.coins >= 0 ? address.coins : 0).reduce((a , b) => a + b, 0); - wallet.hours = response.map(address => address.hours >= 0 ? address.hours : 0).reduce((a , b) => a + b, 0); + wallet.coins = response.coins; + wallet.hours = response.hours; + wallet.addresses = wallet.addresses.map(address => { + return response.addresses.find(addr => addr.address === address.address); + }); + return wallet; }))) .subscribe(newWallets => this.wallets.next(newWallets)); @@ -138,80 +131,98 @@ export class WalletService { return this.apiService.getWalletSeed(wallet, password); } - createTransaction(wallet: Wallet, address: string, amount: string, password: string|null) { + createTransaction(wallet: Wallet, addresses: string[]|null, destinations: any[], hoursSelection: any, changeAddress: string|null, password: string|null): Observable { return this.apiService.post( 'wallet/transaction', { - hours_selection: { - type: 'auto', - mode: 'share', - share_factor: '0.5', - }, - change_address: wallet.addresses[0].address, + hours_selection: hoursSelection, wallet: { id: wallet.filename, password, + addresses, }, - to: [{ - address, - coins: amount, - }], + to: destinations, + change_address: changeAddress, }, { json: true, - } - ); + }, + ).map(response => { + return { + ...response.transaction, + hoursBurned: response.transaction.fee, + encoded: response.encoded_transaction, + }; + }); } injectTransaction(encodedTx: string) { return this.apiService.post('injectTransaction', { rawtx: encodedTx }, { json: true }); } - sum(): Observable { - return this.all().map(wallets => wallets.map(wallet => wallet.coins >= 0 ? wallet.coins : 0).reduce((a , b) => a + b, 0)); - } - transaction(txid: string): Observable { return this.apiService.get('transaction', {txid: txid}).flatMap(transaction => { if (transaction.txn.inputs && !transaction.txn.inputs.length) { return Observable.of(transaction); } + return Observable.forkJoin(transaction.txn.inputs.map(input => this.retrieveInputAddress(input).map(response => { return response.owner_address; }))).map(inputs => { transaction.txn.inputs = inputs; + return transaction; }); }); } - transactions(): Observable { - return this.allAddresses().filter(addresses => !!addresses.length).first().flatMap(addresses => { + transactions(): Observable { + return this.allAddresses().first().flatMap(addresses => { this.addresses = addresses; + return Observable.forkJoin(addresses.map(address => this.apiService.getExplorerAddress(address))); - }).map(transactions => [].concat.apply([], transactions).sort((a, b) => b.timestamp - a.timestamp)) - .map(transactions => transactions.reduce((array, item) => { - if (!array.find(trans => trans.txid === item.txid)) { - array.push(item); - } - return array; - }, [])) - .map(transactions => transactions.map(transaction => { - const outgoing = !!this.addresses.find(address => transaction.inputs[0].owner === address.address); - transaction.outputs.forEach(output => { - if (outgoing && !this.addresses.find(address => output.dst === address.address)) { - transaction.addresses.push(output.dst); - transaction.balance = transaction.balance - parseFloat(output.coins); - } - if (!outgoing && this.addresses.find(address => output.dst === address.address)) { - transaction.addresses.push(output.dst); - transaction.balance = transaction.balance + parseFloat(output.coins); + }).map(transactions => { + return [] + .concat.apply([], transactions) + .reduce((array, item) => { + if (!array.find(trans => trans.txid === item.txid)) { + array.push(item); } + + return array; + }, []) + .sort((a, b) => b.timestamp - a.timestamp) + .map(transaction => { + const outgoing = this.addresses.some(address => { + return transaction.inputs.some(input => input.owner === address.address); + }); + + const relevantOutputs = transaction.outputs.reduce((array, output) => { + const isMyOutput = this.addresses.some(address => address.address === output.dst); + + if ((outgoing && !isMyOutput) || (!outgoing && isMyOutput)) { + array.push(output); + } + + return array; + }, []); + + const calculatedOutputs = (outgoing && relevantOutputs.length === 0) + || (!outgoing && relevantOutputs.length === transaction.outputs.length) + ? transaction.outputs + : relevantOutputs; + + transaction.addresses.push( + ...calculatedOutputs + .map(output => output.dst) + .filter((dst, i, self) => self.indexOf(dst) === i), + ); + + transaction.balance += calculatedOutputs.reduce((a, b) => a + parseFloat(b.coins), 0) * (outgoing ? -1 : 1); + return transaction; }); - - return transaction; - })); + }); } startDataRefreshSubscription() { @@ -219,32 +230,35 @@ export class WalletService { this.dataRefreshSubscription.unsubscribe(); } - this.dataRefreshSubscription = Observable.timer(0, 10000) - .subscribe(() => { - this.refreshBalances(); - this.refreshPendingTransactions(); - }); + this.ngZone.runOutsideAngular(() => { + this.dataRefreshSubscription = Observable.timer(0, 10000) + .subscribe(() => this.ngZone.run(() => { + this.refreshBalances(); + this.refreshPendingTransactions(); + })); + }); } private loadData(): void { this.apiService.getWallets().first().subscribe(wallets => this.wallets.next(wallets)); } - private retrieveAddressBalance(address: any|any[]) { - const addresses = Array.isArray(address) ? address.map(addr => addr.address).join(',') : address.address; - return this.apiService.get('balance', {addrs: addresses}); - } - private retrieveInputAddress(input: string) { return this.apiService.get('uxout', {uxid: input}); } private retrieveWalletBalance(wallet: Wallet): Observable { - return Observable.forkJoin(wallet.addresses.map(address => this.retrieveAddressBalance(address).map(balance => { - address.coins = balance.confirmed.coins / 1000000; - address.hours = balance.confirmed.hours; - return address; - }))); + return this.apiService.get('wallet/balance', { id: wallet.filename }).map(balance => { + return { + coins: balance.confirmed.coins / 1000000, + hours: balance.confirmed.hours, + addresses: Object.keys(balance.addresses).map(address => ({ + address, + coins: balance.addresses[address].confirmed.coins / 1000000, + hours: balance.addresses[address].confirmed.hours, + })), + }; + }); } private updateWallet(wallet: Wallet) { @@ -263,11 +277,12 @@ export class WalletService { [], pending .filter(response => response.transactions.length > 0) - .map(response => response.transactions) + .map(response => response.transactions), ).reduce((txs, tx) => { if (!txs.find(t => t.transaction.txid === tx.transaction.txid)) { txs.push(tx); } + return txs; }, [])); }); diff --git a/src/gui/static/src/app/services/wizard-guard.service.spec.ts b/src/gui/static/src/app/services/wizard-guard.service.spec.ts index 789fa83..ce4788b 100755 --- a/src/gui/static/src/app/services/wizard-guard.service.spec.ts +++ b/src/gui/static/src/app/services/wizard-guard.service.spec.ts @@ -5,7 +5,7 @@ import { WizardGuardService } from './wizard-guard.service'; describe('WizardGuardService', () => { beforeEach(() => { TestBed.configureTestingModule({ - providers: [WizardGuardService] + providers: [WizardGuardService], }); }); diff --git a/src/gui/static/src/app/services/wizard-guard.service.ts b/src/gui/static/src/app/services/wizard-guard.service.ts index cd622c9..dafdcb6 100755 --- a/src/gui/static/src/app/services/wizard-guard.service.ts +++ b/src/gui/static/src/app/services/wizard-guard.service.ts @@ -11,9 +11,10 @@ export class WizardGuardService implements CanActivate { canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise { return new Promise(resolve => { - this.walletService.all().subscribe(wallets => { + this.walletService.all().first().subscribe(wallets => { if (wallets.length === 0) { this.router.navigate(['/wizard']); + return resolve(false); } diff --git a/src/gui/static/src/app/utils/errors.spec.ts b/src/gui/static/src/app/utils/errors.spec.ts new file mode 100755 index 0000000..ec0f214 --- /dev/null +++ b/src/gui/static/src/app/utils/errors.spec.ts @@ -0,0 +1,16 @@ +import { parseResponseMessage } from './errors'; + +fdescribe('errors', () => { + const message1 = '400 Bad Request - error description'; + const message2 = '403 Forbidden - error description'; + const message3 = '500 Internal Server Error - error description'; + + it('parses message from 400 and 403 responses', () => { + expect(parseResponseMessage(message1)).toEqual('Error description'); + expect(parseResponseMessage(message2)).toEqual('Error description'); + }); + + it('does not parse message from other responses', () => { + expect(parseResponseMessage(message3)).toEqual(message3); + }); +}); diff --git a/src/gui/static/src/app/utils/errors.ts b/src/gui/static/src/app/utils/errors.ts new file mode 100755 index 0000000..a489a57 --- /dev/null +++ b/src/gui/static/src/app/utils/errors.ts @@ -0,0 +1,24 @@ +import { MatSnackBar, MatSnackBarConfig } from '@angular/material'; + +export function parseResponseMessage(body: string): string { + if (typeof body === 'object') { + body = body['_body']; + } + + if (body.startsWith('400') || body.startsWith('403')) { + const parts = body.split(' - ', 2); + + return parts.length === 2 + ? parts[1].charAt(0).toUpperCase() + parts[1].slice(1) + : body; + } + + return body; +} + +export function showSnackbarError(snackbar: MatSnackBar, body: string, duration = 300000) { + const config = new MatSnackBarConfig(); + config.duration = duration; + + snackbar.open(parseResponseMessage(body), null, config); +} diff --git a/src/gui/static/src/app/utils/index.ts b/src/gui/static/src/app/utils/index.ts deleted file mode 100755 index f8b188f..0000000 --- a/src/gui/static/src/app/utils/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -export function parseResponseMessage(body: string): string { - if (body.startsWith('400') || body.startsWith('403')) { - const parts = body.split(' - ', 2); - - return parts.length === 2 - ? parts[1].charAt(0).toUpperCase() + parts[1].slice(1) - : body; - } - - return body; -} diff --git a/src/gui/static/src/assets/header.png b/src/gui/static/src/assets/header.png index be1002a4bc290b5cb277aef3da6d291060c4c678..56243b832f96527b68123a01b4e523e3eddd14b0 100755 GIT binary patch literal 295475 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

          <~zO3QP1Mz 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�^WwPR95bAWszN&j zM=7DZ{16?TR!`_87GVuQwfBe{aF79|UJy4aFp2%9^n2$#IHWriEDk39NW0g_(%#pr z+hqIj@TB8?Gw6(?!_a1)Z@_`^rYh^v?tY;M28ubz%0A6gZoB;h9GaRJN>G#N)7q|j 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%0A144f5`%SYghh4&Z`KE8Z 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

            n==p#)x>OS^s^#YzB!*CqJWfaF>& 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

            <~zO3QP1Mz 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�^WwPR95bAWszN&j zM=7DZ{16?TR!`_87GVuQwfBe{aF79|UJy4aFp2%9^n2$#IHWriEDk39NW0g_(%#pr z+hqIj@TB8?Gw6(?!_a1)Z@_`^rYh^v?tY;M28ubz%0A6gZoB;h9GaRJN>G#N)7q|j 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%0A144f5`%SYghh4&Z`KE8Z zJbeUWe%NblWlWB#4MRc$q`#2QKR^0#GyWzY?6`i$>S{kepilhIWP)mB6RP*g@ADC5 zt}kqkgt43buI))l8e;PhL#ycY$OV`pT?yVRrAu)(a;5o-$#1n-whQ_vU=T z7=ZXzX8}`RaP97sN$cPEEpNh_F2UghaoB}C_?yU*7|DfXGGuqHJIVNRlg>@FBg|yQ zBc%R`I~&@X8GFT0A+nku*5_Ls?!JLW*96nlmjm>7|$xD^84^ocP)r z8hWzQSJ5&asw0-IZP+WGMdV2XFijKD(5Ui4*iP#xqf5 z30+O*lkKKQPw0AQxVTm5{X5$%V;$Ee=lcoqH9Djzlke@zN=C}z8MlHTrJ$}ZnD9G0 z<1tKD_K8jVIv;Yv^0E_-$+G7C3#{an83+;sm$5(|1ZiTabR0I4AX|p?$V(>#!^F@# zZM0|ZA)>Y^MQsxmBlV_`cx+Cr^62iV*RC(_?k=uQc9)bl!Bux8{3@?2r=vx=63b!Y z)OPl@J1@LXbE1{|NOh{7kVVEeNGD^G?#$2o(${!un)>D)f!3{h`U2l;$09WhiLD+q@ABL199WUcQBDI>O#-;bTegp{Huhd}wNEF75!0%cp;^tS>n zJtvwe!tT9y?ogKfByzAVgjgwi<0c&g5vkphAK57FMT+d6pm3?&K3)SY;3Mu>f8lWd*h)?VJ;kxK3JdtPCb4t)JoEMYL3 zFrpiO5nF8S^_xG0(I4`0Jm!w+Q@T}OAJ+V;^LcdJ{~#O}=734&i}_QVR$lcoYp{MEqXz$aZL^_?`6FO6h@ znIK3|Mp^jg`41ksy=+&z;u#!FC@(Jlm<@(FX57T>z=V;L9+!{)VE57Y|CmQge|dNI z@H?4Ya^l8`F}Hi~vhwTa{_gJ6-}}eA=b!wDc}*szyqMquqwt9+Zw~m)%e}3dpt1bQ zNuRJUQBf2yj7;SZrL1Sd42CJ6FDdqYaX-(5*@SHh-v7{6BwCUl(?=lINhQe{8AGg`F$YoCI{T&kt@q z`{dtYMeHeyvD*Z#s>??!9{(Au`~HkadH=@FclUkv;}7T^wJLC=t3Jll#@XtgUi`3p z+so4fuj>(5>#Bl%(&NId+b{jJxZ0?R&#^Of{B%;(34uOtrf!rhX=Lc@55M_aT<}si z+vI^5JhH%Jx###O{rck5tT?PTmrHpp3%ti4{6Df zIa&DRqaW@b{rI0z^<1jN&eZFxepdk&Wp+VVcT8v25?*o9x}Uf?<|I|fQOv`qRJQu*-!+BQz9IduDR=QsZb zZ^2rymF^NGwNJO*!HJ;9hqo=w%h+YwK)fAy<3rQK|Kgpa!XBISKw#h#7t{`+`vhI$cb zqEq4*_%2SZKx};S)`!99(c@?N2*mk$*ApLC^xbr~cz2v%j`esXcDXTHGZi^z`!rt^X)h9@Zk#zWe4gy2~VZu8)U|X z)FW1tUkt<%bV4fp6i9!yHBPKfjr!>Bg@7+T8fW+D$;Ix|ryTc@d$D`t9`74x67~fZ z2^%xC)%YI2+t~PGwrvUfO0Y~zsO!Lmkfbt;a)1u?_WWb|G1lO$azj(r^fAx;LR*q* zyf%EH+$ym8@LI&bGDC~6wRF@Ldt>7#nn|)-NPD@PQm?hP2oKmo>f~N~pL$ga$^pAG zE9~(xvw|G!MsHPCc*$o#SOH|iUpx3B-jjVR23!Zq3<#|(o&YM^5FS)H;6tc92U|^S zI4~{;_UcepiO3hw(3lb|=-4!qe1uBQd;+ou1#%)~m;&oZO|Gy`4-TX8X0QzBtFW%X zqMR3>{9ZOE0B@f#(Rcoh-T9k;lZhZE$R57Gd+TrgquodU;(wrMJc7xISp2$xC22k6 zJx<#9B7!&-?FEEsN1>LBkNOsZL^ko(AZ@lOi+szo<{N`LKfC`e1(?M82`dABl9h6K z;cQM&{QC6hM_eTQR!?HSgWR72x7rn}g75ZodtLC6;Kx7v-Q9)nrORr^y{m6_T5W<-gkKZCacN5$AsC>?M}b*U+g~m0q;=cLnpUx`#7s7J1I(N~8O%TTb zt#K|s{n75xPyQ*g51`ApP4vNnLZQFq3&@!)l%EPH9`)db@4a_^DfydrzMJsr$3M)3 z-iyo6koR$1CsquFmydJgk>20g-D1_JexLAI^eGd&ci;L>CN=NB^WFIJ*^mFvF4yWy z`C52|{MWr7i(juD%XCwC9sTpX7@eu7n{Y>eWN(uBsx&bN&v@Ve$6ECPdvv?<%=h*9yyVT-=DJvOYfBg113PC49!)RnU43F57?$;02|Mz-anH0g;$ zWY_ulCQTg4(BromeO7KZl7^_RJY^@C4$u&Yqfq%RNn-lKBDqf<@pG<|y8)0MTgPdx)Mj6%-p9T4Q8Rf&)!)^b5MxE( zODFrBgy7oSi8vN-WlqA6SvYBP!p9IY`A6PKu&i+79oyn%rClx@DHaaZM2G3MoJiU) z*_`-WACHxm4`AR{{EHkJgXv(4rQdmY1QX*R(sJw z(0Kvoi(FIKZ}_+iW0Evibf(UMNIv-RUC2TGIMI8XA3yVmEi$@nwL4+RU0vG5F%H!H zpmD`*;T8STk1UDjBx7m{n%yIJ6)ArCqwTC0K~`YzJ5E@cc;)>iOuVq?z zP)Cd$iG-mEH|Z8mohXWI^$#-&v87PE-2*-n_4b?R@wFzMu^?{?%6DeS`mTK=c|+e4 zt)QI*;*@uvjSr(79Ptk2wydis@0{&kJbjis`V%It&$;J&`sDfU36J%@_3j;tld~lr zv@>J6O@4k92M$HlKd1*~8v8(Ubeq4GxrKr=3S<;E%HXg@bW9Jo< zuMqyShNHK&(-)!~+dcMo$^lU79{H#o>wTf27C6>B&fkPHGOKUOt-g^}%ub!qI?1v# zJFMYH_I20_sQ`cU4n)bA9~#M;jhTa2rHnQtOm7_*4fCV8ISehqGm;mmDw}qQn=qiz zf}z|hGakX5Re-UhumRbFLPIhi_UL9vg;qmlF&&!W_n;P9uV4wB=DdjJG0FIiu8(v+ z=lyUOJU)5(-haG%>zDoktNxh$<59dlQICU4LC@2n^7WU@)0@x!a! z1b>0!wXE>#T^p8Pza7$3h!WFV$*+W!XuY*guTY#X);{Mk&9nR8W}?hTI<1GY@2^bH zFL{KMU%q^l_wvyXvE&L%aR$3EuP#2?J^S=easnzdC3E-fU&<=Fryu`d_vEL)&97Qc z#7$i{2GNGbMbmS?a_pnG5(967sn?4Scvs#Z@80>Pf0WgR_ul#5?$akcDjFfm$9oY^ z@74Ph^VMW3<^18d@yQ82>(z@g-sQ(co5A<`o$~RK>t`Rpn)eZU<6d1mLc!KwPQc(? zF#+m|!E+`GE!*Qi|84M{beo{VRdy*;u8Dnw`QpQW!)n93)Ytb}1@|s>`|j?+`@gyS zm=%xtI7u2)4clQf_i6pVe)bo%7v)HMDWlJ}vBg9-eQ11(LO#7e(~Y&?%w!?|BR2= z{0b9)KJxsp%T^|E)jtkH6aU{=7$3e)`(j$ADc9?4ypBHgeUneG)456Z%g}DJHNG$9 zNPoM*_BP(Pt(+I^v&d$QTj^aNUQowGE`&`X-kxG^Uh**PbOZ+#jD zqjInA8%MF=nOJlVXbU|+lOIPG^kIo*dh(Nw&#Rv4mYsq%DOvS4@h!0!G&u?@d6jJ^ zI$EXn>6@4<29oKot#Qy^($E(oDkeG~V)LgUE9~gBN?nU|pAXL+Vbv)LG>8X%dl8JT zN+eqM7SAQU@!o^oHLucm{KT6sR`WP+2cv`v&YOHy>()>Gy4fw!y6!37+MLmeZ}8%F zKte&YV`%=9b@Dz~&1uy|Ui}K*4ExAhaG9XF#i z?VW7o@+XXTjH*{1P_Ax)U zC*HW7P-qk$fR9Kru`fP3qO4m-ndO?&rHY*CT6Z(-N*INm8*Ba zaFQmE>3Y5a;u^a8UiTAX8DYrR>#F~l1 zmsx^^On&HxF}ftAIXUPtB96>5$7B&U2Uk4VLyKr=>PV+RBy(LCLhW)Wq<&;tCZ?FM z=ezl?W1G5xWm!??$6+RpxSqRWh42MG8u+NAb#utnWQ$J{6CLA9^_rHapc5b0{S>6@;cq^p6;H{lFzwfB`kzl88w zo;5wHQ%B>&(2b#OeQA7ce#9Hk^iAq5dUN!Z6^>v=fBc&K7x|(bI*WJ#FN8o2uHwoM zU%KhZmv*|zqOzY6k(iC0u?J2P#)RO=Aat~0o8Kn46j0fVybc+O9LS^r)RS&Wd%#QE z1_vi~jtnHrE;x-@&X#T*X&mX`=ftYL{JNt~4=$T*(=th^Pkc(D_N;#h!$R-~7#N#Xa2T1OUk|&_2m~7RRm3<9}Mb^u{K=Yc=hy8 zu~(CQb)sDzvW_`R`-Nb9^WzmyKm7fgY-F0j_+4ZniB)wjCptnnVtNnRg`zJ2x} z@4|cZ!N11O|B^|zpJ%n*ud`b4U%-E(FtYNKHr@Js;dqg1x#M%{U%H3mIvFrFm$;7; zPtH$1_?Nq@i=Tqyqr+b8Trg4UBf0-A{o;-Ct!Rysr{3 z`e}D`L$W_Fyc;1G{x$|9I5_r`Inl2AneZF`W%RKVILCZ>D_mqHmCk<*BaRv=``B6mqk*BsV?eVm5+h_?Wlquj%bL(pLM&o#4q` z-rx8B{oVDCAM-BSy18Ry@0#EmMEtc+Xtm8}vH-q+BNCP>cDu!X4nHO3k=f*?=m2EZ zAbCk^Xz7&{o0)TvN;$kye)g1y*Z3-?U!Keu;;N#6xocooZRN)A0Pf~Y>NcKsnLC}r zm_GLOW|#x2YO{GKp3qpEuTB2iBMpqr*MWZt8T)kVW`!Hv;gJ_=>S)-;q03vtFeYAk zpO^kJ^6gXmoaW0)Hm;K>i*p{%vDwf3f&BLAd1!^~#0?WDJhpp&eh%M!J??tROpKFZ zc6N>wE+<9suZo!KU}*dPTi3t!Aq{MSI}>iX7DCTS67|KJ5E-%}x!TZ4Kaa~uXp?mO zP;ux{My4m}%;p{?@}&9On-I%uXaK|@h?na!o^93_KLB#YCyJ+Z`2sL?cZa%q!Q|6Z zj=l49f8<5N2@I5Na zZ8;+6@!yPtOar3iiZ|=dxn(B~eWW}St=RT)bNiio^}!V}sCU3)s85ciff{8^kK-OT<`iN_y;_??7feU&#KRH zVzZ#70c@O&L}H9Js|wfhL));VvxUu0yJBfGw9YsG7BhQ(?CH*ZzRJsl-ZLuyl4Id9 zUtu{r=YAah=T71VWB|ynVIz~E4Ypu%<27~oi&$}1!C|g6(?f5piB_>=gW=ue$S6-d zAQKOL;-SCBhY{Q2W1FKlv4U%QQ~a6}ue0$w`uH{FJ#tg>E2^&$zUDF~#JbM>62=w3?zK@CxOA3mu4`*=aTr#tdx`PJMQv}U;JyIw;NO?3h(63 z+h(%b>LrtBbs;f6h1EMTtOvKoOFejsnoT+eSz&l~kN2`M(c>eVuHJio`J}ch;%(!l z-~BbzAmP`ci8t z>(BUFl$3j;S33+@r_VJ0yIP23#a}6(;RIPIGHCaB$u`g4lv+@tQ z`s%Fx%XYM{*$3Swcw(IT!#tdG3{ezHE;Jk3ITz)JDc}+D)6V6SQGwj)9_vHphwQjct4s zlVdUG4v)#t+uF}SVrM&!q#xeq*Z?nLOFr_e&fq9N zY5A77H?zm}<@qM(Ua{9UBfA~*rpK0P@RJ=o(gy@;v`$r2(^Aui{F_uim$qVjuHfe|Z^G#Eq;H`*{aTci!8jRr zH-yG)m=d_jjvRo3bs&6*Dc>y+5#IARSm?5xkehyGoOhPdZ|Ekz@2)0MSiQ!ooxDFU zT`N;LOnUK7HdpU)yjbMOaLwpsm|x@d8rJvTxe6{-0>0OqH3^79?0SThQ}tdyCR+4? zKdEkchaZ!F(?3H8Czz2beaq9Sv_a(Hr<`QWrwpxVelQh_gmuz>X3|M&bd|24j;r=k z7Sg`MFEZ?M-R?va^vf&W*~cWPxX+mU^bucuvG#nt{))$Wb9idgfKGg!bmFFmAz$H5 zVXqV2=C3%)zQSvo_}0q4XrXMo^k-z{k4)-r2pbU_O(V*LSr!X0`OEpx_wo6mpscbZ zK09IJ@069sCycM06a3^$++b++5m3i9`=xdBlE=rdeD~-z9~^qlJN1x$N!|OHt~#zb zefFHkN?q`P%`5CZK}Y#3-xo-po?9E~Ywky#Xtdj>D^oO*Z2VbIV4iSq>0*;U4U9m` zEpO}&STcGppM;A)3I@` z@yDk)s1)?EGrml`@**^Xgi>17S07$uXX@xR>~bBPj135l{6J6sb^6kknJ{%YdMj^aws?#f&$cm1s5~-F_kf%O zbyOzaRGTn#V?*GMh{G$1eff{<&iO!Su$k!5v(KDQWRx8~mXkgmG$OnCfp1d*kV*EgxTGU~|A`Ku%z= zy~Ryxe(6B%HmmmxFIbJ27qv10=vPgzp8kwUuV2`m^I?PAyo1gaRkwIYhW({3YQ5<2 zWv@;K@pUZZ4A&RD=Z%TCTTGy}Fx16YPEek>-Rgp%c|4KXu>16f z{}@|L&~cHIR<+nne7$_}lnJeG<+0h5v-?aCzRyJ0A8?McoI1?5RIOT74s3Zr#l)B& z{p9TF&13Aq$eBu=Hs9Kb5?==JdYH=5x*Y& z_bosRrB9styO$@Gs{!H&as1eyGqD087bCpOf^zvjzq5O9 zXCm|Bqu*sx(69O$YA=9)lMAc)uG)P0(mv0MJ|>ehsp`ve4ki!w8iy$nE(dE;3AyQWSOnvJ6lv$=amOe&O+(6TP$ zV}kD%*Xhq$f#&18Uc(ld6>Oxhnc%AlEv|Jht}-Eb*LQfa%FRRmgdgHBd3jo`e)A(4 ztdzpVJRWP|W6EpPB*EeuRGSc-?DH6?JOqd}0mw9nvok0wr;dN|9(l10PSD6pI{Vs1 zC&a?EUQ&E_FmpU6sV?@hC4LD-G4#SIdL}Tj=P_g%=lGo!i5_>Zdc0)C-#M$EE_syq z?m4m?dtNp=0p?@TCrpYuA=(G6#`Zz~CZzb~Z%D&ig<$B{S6p#iptJ-!pKkF z#wx*zt$>gsSS)F&E3v2#{v^4|&Ywq~bKT)YAEm~H`jP#XAKM^*Vm%}5m2*uWJ6?5P zV4Xm2Md0V1k(gvLB;kZdgYBk{l{1M)U(h87X5tsz@3}BeKg|0+cvoOj-Awk`Z}b&9 z^`e>~)z~ywZJym>5yDdzQcV4pSTIYcz^C1lld)h%g?uKr#}YEi#y-c=y}Kv7_uu1Q z@QfPK!PrB{aWP^QCsT$Sptu3Mi5`XC9hD)}RL+8J1%?J!JXwj^O&)&8j0{ql)pjK#k%5AykvE99h)&2DuC)LghIqkLpZ zbbsDoLmq*w*8uToQ%>&Y-HI{Jt&%rk95~j(H|Y+}Vk61XAO6IPTnc_@JL80+E#{rU zq$`$@&7EvwJLk|C>^6E4M}Zh)(;;(qDNkfk$PZGQsDh&)MB~@)g}oT4tag*@=;- z?O$9!>8<>DNnW3xUw+JF-nYQ`#X$Sf4_7AM>dD8`yWisC?QT}_T|W9TJb#I#eXjX6 zmx@^W?evY1O824*KFj9)imxjoeRtpa8{gps znKL_rRhGK6TgnxXrR{>piHFsF*Gz~$`PuJ9;{Ln8wmW<9o%rh{Etd(s&50EY))DP% zyH=ao-j#kq>_btlRqK9W76-JL)$KVLlyQ} z+Nb)7{lEGx#L%_t`wR_PHHx46N4G8bx+&FlZ1RAYN(%LhcV9*Ji_yLoi5ZtRFw1#d z_Ko=!6JQNgG^Y+bHp(`MuL9o~o66+dV8-!IhqXE~bmAQ217d%Zr-J=%`lD&X@T5yq zU!B&Q@!0W3(d|Z|`*8eNbK5;Un+ZC_jypT8LPLtRNo+mkvihXaK~Yg zJ_L~d#rn(bv86df`kVQUa70&Tkqfu|upPX4nH!k2 zqrzQ26+>%zb;ozFSGI!5I1VuiQ4Aut1nFNkjFK^WQ`Ye-Fy7p7n+os2yZ3i*zI)Du z$7O!M8@ff9Zt!`Qb7MJu7l&(tp?nCL-Nc+_x2njEqKqyi9FnECx7X!{?1aZ{e%MOP zO;|45a4;WEU?_Ovi_|~k-0Vy6ot+8RlwZVS?1eNe<818GR6|gIf$G z2nlD{$~`(o{{PQ@Dc_Qee^Z9ftpg=dJSZNDcBrjW4U;(Ii8}DbcbhQvIP{gLj4%hG z1wGc-UiL&^Y(Vl|bD5k0_u6GUbfiqUwL6Z2PEI&cb&ttDuN$4MRx+N z9HlQpwExZz&v6PjJQe~Af4{1aevH04LFn?79FQcmA-}@Dz(dQiQbL83@wCNJi^d#F z!bl^Z>s*-exA}uETphdIhA=5)Iunv$M>q9}wEB!4PJBLRBGk#hXH59je3WSZkihCQ zeniM5&y17$VbJcn<-GO@z@nFn0r&VDzt zLkU*v3{9Y5HJ~zv&Ti?A1|vM*k;r?_sm}`^*GKOTGq7*ozr)IL#*IslSx1OXvGr`> zrfvQ-<`@lq>=}I4FiFIat^y$`lTF?@K3Gn;n3l(;V;K;eJbJ^2Tr%T_dGU?a zg-*2D;{xOC;dhyE`X-YYpK#J+GAfgNu8=~M$&#~&f1gRZzpWAzN{iAN{S&L4aeJ-%Km4NQGds&?^&Oio$ERfn8Hk>?kB zCJdi_@<&+(clYgIVWr={t+HAULq|!nn(_RN?{+z)#0og4dBoL~bf@PJqkrLwx^zC} z{JQY_CiqCihm?)4@UmhOL1gSp)`NawjCbNazx)WlK0@akwC8*1`~aShFmxYEzaty_ z`cP#u@8sf(t52B3{6pS#_;*<$_*?N$>4aSPT0=hGK^=(UNs(aPRXtf(9d-r=O@AFG1rJeA0 zqT0R-B9Cu7(KlcFy>K#_30LXIlZJYJ7?zH3z^GF0Nh3G$F@G=lS4)XM*sn{!&VqWQ ztIYVi$`9tmEAKcx`V+$sJiCpw+B?>lw+S9IEC0D{nQZp$gJVOwG$GgpBbkHa99WW+}Y!eGjrv`Iy#-b|Vf&E&EEFe1n$#=+m0qC3>HE!Z@P%G(ZXSKi%_-+VA4`if@n1Q^;{Vtlf5YuF4>Zpr+r&g<$&ajV zHf~6>!^h~!>!O%6v z#0dw^46$Q))>}l}wLc9LxbTkD%FBh=x&;K?JX_jucr706F|a@+DP8&3h0&Y%^JH(r z7`@>g=Z6litONLkAbqkP52oF14R5}~@YG3t7|Uyr;U|_(FddoBXk&slrd}tVu}X#7 zobb3}a*qXPtZq8Xqq%v{7(<+++HI~seV>`D*1WX!2+%?%_0YYzx}x9tXsfIG>~&?+ z>n{6g6iktHlFZ3LWn4`awv%24`=wj@dyzakw^Wxi?`b1FKFslCoK<##Dm`U0fhUL# zu$6uE`?@gvt|QZGI&r=g)Z;FylwbexS062_?<<3q$q)4$BfL($xOm2wR(a1db?S#r zPFcm}u?axzzsw`j)Jc@AGlQA(F2sP&;k0Cs8Yz-{PSKQshHvMr?o;fN_8ZMn z3r0f((R3QHh&8bnV(hK;nfpEP-~Yy2ySLt~K0-&Jq&HU(_mS7zE#L`-LbQEyRVDt9Rws`3v!L_1o;{EP3#*L?sxd*=D9faR_z&(nS zuu}l~q&CDIf5?_EGNemj0CGT$zc+DJ1gyc3Z)o|XHwVd?z99s!=_5XMP{tM|1O_H` zu&|O8jBPLzH%-1}OT6G%Z$<2Q449qt#4WNJIHs@s*YQT?IQ}y7%HVI>sFLNPGW1Ad1g}|>8Le9q_zX$eqv~UN-QLK zDi(BT?pAz{-i#_TW>d>S50XJ2*y2N%PRlcB)=5;HwihLR^u@IXfriJx4e$#l_WT0u zT^@6sP`|i%gNZFB!X{kvPPa!t{@=**tD%!JS!HGVgfF=M(>%KCM=S2W_1$cF+_5M7 z{J6vfzi|8L$H;@>uMeraoao8l^0VQTn$=-%{=$DgDmTWDKKNI=$3OX}@HiXGsF<{qjcNaC z7f*&hp8fQre@ngn3KK~0XCm|IhyN;*Tv1+dTq*bNFaI}1e$C!V%11x>XG~`OF&Iqz zaaH1k**x-m`S>UJ;Cu9(40GU}P@Tg%d%;S^%g2A7$-X;pew#1I&c`S$0~4R!2KyCh zVsxL7f9o!jmj7;d{~O<9;e_{j(Voa*$wdEFzst}W-3wGeLJfAsx-LK**zwy_=A_~P)^UQUkW9fh{Nb!6Yd zE8gFC%@>ZJefp>L%WpGr{XHgo{{$bn3G;XY>*3G+CUQ=UR>%pm2fV?T^OX1hJ@w1O z_7!!ZX`@=fv^0-OL!~AiQmDmqUp!L=<%c#Xd#sWezS48#m;J%oW2iABqP8np!w8+{j>Q+Yi z(HBb`;vU?6M_Ea0xi74d2+g`N9T!YjzaGCrF2jvc=cSYZJyG`lmtPsf7{{j$i_aJk zaXltA_1D^anmmb?v#gs>(cN1)(wkrOP~e)Qu2oBctUqQZn0ACO&+;=e)VYg zl$Vm%WCuqZ@?N)85%D7bjaBYJE3D#aLl!IHE*p$d7inZRZ+kWF{`H z*eDRhr=OM8y}qfoy~TyIM~g`B%JVA8Vn=Qi*dY=(Q%8IGlurhN9j)D>@y9As=!Z?lU#WCvbJRt?u4^6fUOw+9u6c)ERvZJaFZ#xR;n6ahavb%ieBZO@Dm`1w zF^QIlKiXfbB^mUrdCSpoq=1cE&}A6NC)u{mm=EnB9)|w;x`R9Euh+br(mrIE{pQOY zd+;=yt0`pti!^;nPU=)Tb?_cv-hKBS`vE-J?0m;+L_MsjySg4oCi-Q#OWEZU*V30Q z)8(JB^5v^(C}ucmW&B840usUK$+z!BuY4B20&z&z3(w?n-nh??MvouyC_e&@86SDF zp;Df3ulVqt`@4JgL7CtMKPOBwDX%oVj!lnDnN`>lAjLJrA}7SeaTa_AhVlND>3P+;~ujjhPYRF)>iTzlh1{$V&Rz}nMo~=Dncfjl;@z) zvT)NNak%kAhnF)l@fKjHu4BH}EV?0-#ELO5Qw=B9%AWZ&R1HCu6~k=`Y=iP^z^6Zg z%*laOW3Ehj44co3y#VwqC+ z`6a$MN$7^g^|Q}*7eD)b=5Q`KsWG8s`=pI}WXlN0sft{b<;^zBIYQ2ptUpLF@ zHz&L(87mU6Df9KkM}nk87P= ze)c0KFn=y}aLf17(JrOu>c9_nFDS1c`pATzgL|Z|qsY28rk39wnFT#sypI z)nk@?-g&h@gA{F3)gD6O+n0theh470z~j*-G{T$D0a$G9ORvu8O{{wR8s13L_v45* zYs?vqeLKrDj9>fwDpO^jvefuCSZY_={YqWsP3yz($Ij?@40-%R_o`_-Cy*qR)}pJ} zRyMJQ*RkVxlI+4ZmO$O4fh%7!2q=?40#@~bN)Ndh<_ahDgPnAPV9U9}HW$hpfbluq zb>ySeC1~0fjSTVVb|0FNDH1WkjxZWk2nb#7Jx}8$n^?DG-VmlI6-z-VQ5}6WO%6b8 zHBUd4S2;eD^@atCmn1XES*{@4Y6WEK@Qv9JYp&9>Fa4Fj_dx0)e#7m{GK9!=8B_Uj0&bTk2H54FUD`?IFo;H;WRp@i z*13%y`Id=53qjw;iLh50^@KK_jef^}-C${*k4juJLCl2T9lo~dDm1&MliVsh275p6 zq~0x7r`_Q(M7~SLlObG7UcsZ^Ia%l`H)Y-OW!m^?`O1g*pX+w}J@WqO%C*zHxvP`U$K;i5sJ~P^^IA;yu?kXq)LqV-)L$GK zo7(I2+>ezv$b0W+Bk6pktP|5yH*sW2F1fmw1@%AI^{S%7mWd9M`M8hGV^G#QsvLXE zlqhA$b+6+DwDObHi>&CY_bf`Tx^-gHK9)Y*vQDUF45bb{i>7-UM+X{);#$m=L*i-4 zPzx$diCos@xG5D!+vHGFMtKX)npCc2s_pLF;NuqG_{RMlJNAXtN!NcIw>h~ky5&kyC&)yw4<}JkFmv)C4}8^0*@-_bmUKA< zg+xxqQ7H*|y=~`TNGnDOx{s&H`Uvt{Z{6c-ycaxH&3n?H@%}#U;q39JDT{^h0IGf% zrR>rh;Kix#NBV_DN!0yOJ%8@~mjK_vGO!mTV=8V|s0)_GgoA)YRo78=!8R zwjqAh^l{qFj*(-ibT?ZXce9+zB!tjuqwzkdh>x7SHGP;ZxYF6n4OZFMu)3Z_te_s@ z6?&0ZtEuD24Yh4f7L_F_X#O)s!N>%t0+8c#u#~Y4B5(wt*FESUyT>NgnLSNk_MwNo zJ)u)6L)ZUaS2%Nv4SiH+6>5wsfZ}Rtw`~W)vJ_HOEn^Zbn|?L8dwaK@Uthia=nwx# zR(kz8H~fC8oq;^K1F%;rhNyE!vXYR?WFJY>O)|IPq{1bjtCwy)P`8jwg4hNfP|jq> zq3P4UVM?G5?iLO|6LTu-*A!exuP{8>`PiZj%RrIUcA4yR)fCm5cb4()w0x9<0oT=G z)`>o+a8p3-a$<1e2OGXa@75WspS*}*D$RGwImzVv;ass+2PdqpjHcsMe5tfFgSL*t z+}v3o=;8lMf9+&@$%RlJN$@!t2E?6T#!EekGxbxyc2OXTBCTv|%T#vq(l8R#m2>Dz zt!{+6VRU<_qFZy|nBT&JLw)2cwyscfWm)=0)urO)i<4OXOE>7lY$0^sf!F@(V?$m% z*{P;|rd-n1q1|1fner*ObwFHDCkEqB28GyD&rq`J+kXmA+V~eCc6#qg8=r_H=Prd( zMt{kqACmQg$-M0;T;9wirhP~yE^t#Ok_i?>{HpV618MuRl$?1lXq3}m%LZ=hx-jZ- zap_(>x_K;Un|kBXE8n?jIh+iXR{j{@6!dk%>tu#+yvnTURp#^3uhSVnhHu{VjDFMu%XKuaguwzX5@IbJ?$IPjssXR z)0mr#M8=667q+ik^@|!CqlB(~M*3h69nzE`EOz*uer(^Wj@vTIDx~ggLzA9PE`cDw z{ZJ3l8S^pshQ2_tJr&-n?m#kaNO4K8isEi1tMY}Lv!I;~hI zNmbB?jfMcY89#_q#OSy)DA@8_S(`T4k?Wm4$~KrD--7`ou-Qc<`N&l^`vd)Blnp26{3v!>Kez@|A9Sr;u7c^uY~dr2HtRNylcK2vFS4B-95Dx5Ic0Rg z_s8)=TJk>GzzV9&y!hO)@}rOFJ_t79MuA~2v2u&vw7-5N3~%BlCmNZdO}=G&cuN^p z5!sf(Z~%Mk%LpK(KOP&NtMcd^d5w{w!(?F8BxTiyeRoVZS&@ej{y zV~W*jCs1OCal*1VtT2js6QYw(b-cj;-%V~4)ZpDSU}48}R{Y?FS? zu>uABs@puWh^)uk9b`Ple1usUSMTY&#>BI{mfaPH&q?3)hk`dBB%Y6wIJBLBb@%jT z9(i?DqHXJnM18ivmSsOl3(d;pUz?ef^LWueW#Q#o)V^UmP)BKNq2$?D)Himf)_$ZA z<=Dnx%fJL{-X&;Bl<}Gsl}%S2aU@!Z;F`q;>g+j>bGn)@k8?A&Kg}0&Pk9$#)-qO| z0CB~S3Vy@`fO1uP{G|LC5S@L^=b*QYcCheP2 zl2?I@?dO!!vnNlO=;nSX`lVUI3P!a0AN42Kd(kpwpQ!QI)v&+#^AB0&$(U=^+2<5; zLYwi|33eyU=Dn*HBlT|^SjTA#W40-y$w`|`0F%B=2W8U+n=)x9k5AIDi;s*x3}*U= z;)@M2JL_m+uX)Px{^_SzySoqW?f(43Pj@7v^X?mGyYGDKVa5&bK~tk*#U8s{bL$Tw z{tPfY{k8uY;s-ydX)IY2$mZHnu+lRXZ0gv)aNzgUuQCQPXDiBU_R0lWrK%t6NIb`2 zw)6n{{x%V7ed`F~-US+fm zEKkdAWe{WfiF#8fiIHFGAlH5|i;jBMoqaLmg>@6AD9uMkzWrnMOx>|-oL~XPG~ekd ztJwrvNY%+MsbV8I<&zMYMIp8dyN>4;DiRrFV_&*Kyhmi0j>PYSWre(xa(=91Gm-(03st}Fs&95ca%VW#+mE-MX z5QVZ4586iIj8Ef3QENW~ttakRLrxEKFvf%OUH{XU+NXRu8H$!%#_P#KnX>G@wmqKt zX^)aB%q~OxuN$CRT{5y_DuWJv!X`?#kBO>VeN^6d8tjS7@A?(hw41WV>P-+B?QZ{^ z{1gdZ5?mZR(JGC;z{ffAfsSISNO$nYt5&HhwfCiRukKY|{ahu6E^X3dY^AL_Uz8SS z#kdJ)Y<&^dYxr~ArXE+BFN>>xv#F2XV6Je=Y&Mh^f3+dau+oZhxF0#GgJXKdtG;oF zrR=J!{6Y&0n!a~ejwczDy8n&;BiqN2*7t79jAqDX!#i#JuE#JukJn9XWG8O5178)M zZTPFayb0xej%>&^CdqI4t!);4lMxx2!Rk0;>!gVzKbT~a&u*WVJvL3|JZj=~Aqvgx z^q3eGedj!s@z${%llyam_9u{@?8IS_5yN0ax*iXvzvLVa%{ERux7-G#k^y=!-6auf z=%W$}Jo921AMngW7+)g4><;M4$@2!sn^S%DJST4RGX9hIJkHH;g7xEh-p-u54@hGv zf&3QMv_$hQzsZ4lWy@G2cdN@MfL96cXw~`ZlaGrV8ZVj0{=N% zc@2=d+@D_p;|^AZ0dDWfsyo%0iN4UFLliDIp%L)r$sdo#%Aj8Lb}ese1MUTP%5492(|H6EI>w3kr!%&p z?H3=FT?2gSx#nBx%9GE{1F=}ey&MfB=|AOX4vtY16rbD+-r0ukF>3J7#h&POwwKc1tkUo^jK`%7;ayY(A?dA8C)z6rsvd z>3{_yd5bNicI+Fj>?C{p#M%QNAA@6m3k-4|yZZ6MNf}2E0UVzgix^X6I~nT7Ui=d7 zY3|8@C+!C_F0-Pq?-Sd+2&tdW6D6bT3HA8i+xK@5ST$>-(e&X_IbF*Z-w>{mA8o!nH-N4#}ncfm+mE$r&Y zfT+93hI}X|s?$TyFSrIFKI6wEe+Vd}hq9q%tczB+Ju;oGL}y0TtlJU}vm>|&n2gXO zIZ4ZzG~E8XEWW_*^0J^rJ;b!5q_k0qCZG?GedcVy&GSZSs^uS$|DUmbALH!PRDDUUqE zUcM&sC>OrbbDOv7n3g_$e`E$5)>ePo@q%ycsk_Q4t1UcW%dc^g45=ru(;v`RbqkX* zc00z@o^*XPh+}_&COM&WJVr~3OAIf{;_K+QyvNU%3X8qSo8JsB2qQNnWp0u^mK*tF z`c1kcJMpp3(ARjyIr7`=5oy)DIen}!_|R?e*+w}ot~$!dgc06>AQ_p%Xj!u%4SjUh zIG}q%I-pr})^sEm**Wt}-;7G@Y?ae~h&AQYmGt8z%1*FnC*3|r>{zZzx4yVaT!n&Y zSbW;jVmP+VxM*HEaSa1XKIPDwGE0ca$TdBFL(3REvgD)6PVod23!Y^^kRfxBS7}oY z!mIfvzc$iF-54lR*4d}t>-esV(6*yMm;GkQLMWa(Y+z;ejhH#d5a;HNdR)a-n!4H; zjj`q9K*39sZAd(sB9-m#3qw*AvCT~Aiyq^YkMGvG*x0tV9=ri8XYJn4xnc7CRVO@J zdYhGJzW)?KHqN7o+qY6_(%6A0eRG7gI_49MTTx>Mc?B&=90tv^Mj`9XIeuTGofAhmCQW_maH$BOQDVuzS6o}x< z-5K?Fe#cc*z9K_mABp2AWcLCY&nd1P4fQ2p zb@(Q2ew;G~qd<%PisQ&f1=(DmAvPEBjhzVu*!x0@tK)^AA8cb&AwowD+=TYaXu>9U z6JZq`{>1R6uEqE~(NWoKk(fG@r*6h9=pz%F%p%McPU-bH@;aNsr(U?x%yq(m66Y8* zMmcHXwq-l#{YSJ_pow!|K%ej{ynb}!C6D4=UeNZg0_7&`*;7}=vHJ7O=_qc!nc?#b zoLA^5??=k6nOVL>&lmDvGI@WVM|+vT;kb4+)OD}WaPr?Ob<0>toK<}|<1u5%sycMM zgf~PEyZV{yBY6JR5CTAzq~*-SFVjQ0eAWyDKos!Xp`Mv?==;=Wg$HKYYZ;8)>=AZUbvNv742)qeVe2rU+J>ayLi4joepOJzXIydZnJm=j`` zOv=>6t&Kk7%?Pg+OJ4G9a>c8E+6#tx zY(8VM?=yZ>dW-W6mrT|C@X|jAH8}1J#4ai`yZNXuZWG3k`Oz!PIv!Wq(HYT}->WSG zCeck@Dvwa=O}ti!PiwweAt_JZo$X?W?og9`G9w@r0hJ~s?a`2kd^>nh zf|nBq2Tq)#FqMU^l;5f8wKn72m=?-Qs zPwJ$!Vq{u5YWha|ZgL238&&#j8NgvxfwsBK_bi|nS#3MiWlmE-aU{cp}QT4@$ z$39GcG$(J|Y1?wfz_{4-sI*>njIQdzn*L_KH*pdsHY47eZ`sHVzkS$_hha)5Eri=7 zk|vumW-{_S9O#gV2yy(AX&9kN4_)C&%QKiiq8*5>KG?UFl{VWEZH}#S3^_&7*~;Jg zo5?M)hmH=rjnxUGamRR$%h-guwUGduvY8H}Jo(qf$8zMS9|@arg=5xE1Rxa@pR{uk4(YzazN2>MVvLA zNr|eQX4ECAa=Ps`Q^q?ok+p48C)n)cMtc0<9OCOqPI<+Hk10CIQI|p7V$(J97#;Pb z9@DGjePpN%1xSB zeSPmfoNFYq^SELwwOq-j>@&3Lhc?pID!O%j2+sf1P15lJT0-+pAJB`t?Nhhp25V!e z1aXe7!BEbio?F7iogIS>QQ+_*#?Ja631PagN z$FF4O7)pR9zd$ui{i$9@9+3g$Cb_L1D3^VqKM zFur)kL?7kwSms`zi8X+DGQrh6-jT#l==Qhj#}>2twr%VLft!52&jg|41v0vdG=KQf zxfCOXkiuW&S~6)+zIK53BifhrFn0tX8?twE5o=J`mmPNlTqZ=99 zSH5kVU>pLmN39c6Os+BBrm+zA<0(08lq4@?#*x&Mx@?XsGTa%ndAe~j*T;+ ziS3j7D?zZGjrxLTpUekQfO6HBEPl=b3oy!~%a-DW6McNG_sagKtft+vv+gzTUZT;& z$`q$)FsBSA{lka!3ynvaC{~RL18Y2?X<-HjM%!8Yn2(D)Iem71he?a4@nvtrl*;TA zRiDm8JA}91IN!a?cIxX;9DIE}0maHr`@Lbp1(lScez0-E&!#-14b$XyUF+XIJQW(d zfCW#?8-n<@bFhh(Ek{!h>&>sY*ZC#Fui(+M_WdTW#5&#GXTtBJ$GqF!6}0qme++oU z!+95s-*2#;`o2%$5==DqmLy@?F#b>pu6FfyPM`EU?cfSiD#Ua`%hRDaZYh|3&UW`& zVhxdlVEICC{oqu4rPqy`@>8ddpAmQ0bTLTUR>pF|B`-~^T+S#*y(R?1l=;T8zo&0Q zi_J*Zu6-+6Nvqx>XEJbYN4arqNNw++-VXd~e>T4?h&XKVvF*i2WepQ+L^sAqPT(3d*BRUY-0LVGp7>BgG*EvjSU?`K&&IB`G=V!Ix@sC2cB^+I00A^kuC^bnhIP~Xb28D@}~{wwVOPZ^1XjZPxz zIJM9hnN7B7>Ze@B4XBJ^d@%ir9)#4Ba*N(8KHZ?(?gewOjVHvP778}D4(w}NLWem% z*1T-T4CC=BdE3iS#pN+*&Ah zNt++M^xF|ouKh7N(Edz5WnT0GKfvPh@C3;7yaVYH##^5-M~nys2D}w?;}uIc@Z5s38vk^ z_ZXQlkoJ#=ah~_Qw)u)6K1Iz5F|zeuB5>#fsz}X6xlbl=)0ZFo_-f;;p`?qx_^>3~ z@k5a*%Q2vO`WdIDAjWGTpRuKB5g&tHx0aXkdvnU$L3Zza^WpBZ4?d;LyoWZcHA=2Z zPjw7@Oo26UI)bgLx{ZjmZ3?eNy#$ggs@=xPkrQwJknxOW-+RLQq+T#nkx2%AShN0J zd2!C8R9>6-4zx`4X^ei8)hVQ1o#1=3PFRWa;ueo@vTEg;3-L4WGOY)1ko3i1q$37# zavfLaRP!U2{y0@Na`sa<^K3rm=Z7D*iGyH@t6Z%X)0Fp$x1&obF|hd}j?NfO(1GNK z-f`S#H}R&kCD2p03xuv$>Oe`nQ6mtBlPySmNoEI=N+`zR|AoK`Z~O*|jKKt#D*=z&7IVl7`Zj zSDWgho&O}e+(p9MIfsNU9wRZw)icJ_mrTIAvdmS4J~nz6KQnPM^`&mg)0H)8V>TnZ zr>i!7OOJy6PXRb;{9SxTRnovPJtp-~QO zoU$s(W5Si`CF#C`M~;)_GHg-hA5#Cm8}*d0pTFQ8+_xEL>8uu^+mJ-Yg2M5b(wFkN zCytmsIZ1cIAp|M`3-dtLpI0?hQ-5wj;g%3 z^V28SyH8m4>rVlnFw^JQ;N$;($h%$=6-@vz&~+?SLVPks!V1A3{xcqVdT~-*6~E@q zYb`mC*_O(V4l3BO4E6!Uw2bDVk&mX|Dhlu5Fgtrg%(fNR!0i7EUAOEb#)vh4OU|EV&&W-uNCB3 zK7;)DVGND3*IWj^m&D;-yKc%Fj5-;5w8U~#pwqK;!fX1fBY2`{sYh`pCntT|0f0AvPz^?K_>}`~xt}l;E&nfEXShRoG z1G+0nTcpRbi zRa^7S!V-MfpCEo9;U!};>usceMcaESSEjtAss9~e8I;;s(u*q{Q!n9%Vjvs z@PHqF7^4dBudsYj$DN?b#%ha;Iqm*XX^ct(V+{s)QNKIgI@N$NVAaggBrQuf)+N|p&x{)1uS`y-Fkzo ztqQdC4+`V#2vEZqH{bJ4oiZedFQW;1Nvt$;& zPdWHj3zin2`dgE@{_jC$wL2c)@cy}cx231XQ0c0cabVWu1q=1;XrvB>maR4>&(RPzLXe5xew=r)`yM>I&k5yTePgg^dw$IXAhK zB@P|W(X}|haQLT<~xBVoA$7es6$T0)N7$pGwOJ7^a0oK?vU{bwzb<-9za1f!AY?- zH$tv2T;uXlqVx@M3NE$+)`2J;C6m7roDa1xY9!M*d9P*R)X*s1!wz#n#?TFxl z(Ycggri|mp_U8I@!1XwfPq85KeQMWCMxB3Lv&zaGK{+JA&p1AO^m2A5`3}FswQ~d? zsbltYa=N-czW|?_aS5G8m5=b1BoeD&n`d64O%mVF%l>Upm_z?h-*CX{KCOJS7- zzU-q+v|%ZIjlTHO5`7oPY%+BKE6$=YVFE8sAL?wUU+ra_Y<_|Zzgwr!D0ItWAK)uz zT~D+(+6WT&wlDfCB{v-@n&JC%qH}860e>#~J&ld`!F0G!*x$U+TDHSIU_X9MP15GhT$dw3`X)odtBs zDN5=`k?pX?(ds*&-G$`!E$tgukP3hW}I?>oPG5kc9-laRt&SLu1=N4b%Ww7U;)k&UV& z8x9xgr0zIY=&raQNExUN1vO&a{P7ZS{|Iu$7^U7;AH!F=FlxniX~)s4YCXezToJsk4U zsf{0mBt5XX(SnZC-ok@_%8s}9-af^#0btgMV5r{Iy>R7jpUriYGM#<(*2}WjTfUmE z%IUTx8zcgoxs{pH^XJV_@~Z8zp+H!#6wx*{G=mQQ07+DE4Mr zu1BKAwy=5XpkvXikFTMq`G|6dW7P%t1kZDr5%|fIDF60z#Pv(2f)37#z*<+kjsYVqvYHggfd<0EK@Cs!RJ#%;xBtIAe3b66yuWGBQ zih2VUUJ%72C|fG6((Dlo0vcS)Ea}h`7MV(aRY+4)NaxdNlqGV2V4pB0u(LwxTE289 zWR)t7>X%!+_@2G<7ic5~rgkhjS>3$&O)h3HR!5J2oUf&PN`rhDy6clK&=-$*`RKPv z`|gsrR>$xB9C75b`rOsL`uMktmWB}i>V(dI`i0f;+dtMaa`8U@7IeNwnt_l>(9zQ$ zU#(ByC60_7+n2u&-xttz@_x2jKmI&8U!#mV;mq5I_sLs-Hu8wSJ^%LV`r_-6WqtO3 zs(pR&oyc`?_>`|8JzH&GeU%CIqt)5l;_?0romb4@bq-#A@;f=#K#=OD{OHM#t_~l4 zAsK!-=IX^)Fw`sfKUu9$-bSVmBJVyrJbMmZM>V+LTzy0xelPOni^uRimM=PwuIMZq zXx-gjkVnI1G~kpG@{$)qe{OaB){ish98$0Et~Q_k?~)mZsP#E|`_F@i($zciZ(jT^ zv~ajNp^CJ$F>Sg&MHggTUwjLEhkk9zwr7U}I={L6E_ga&T@0P9PT&5E@YG?;UF#R$ zS#3Z1J?ab3$Dd>3dq#b~2@f5aXDsO6C;bPhfAH2%fYkwLw`F_si{FO!3(^{(T)e8$1MZ|f5536~XYwY#TV~#$BuIPs4j<1G-=Uo>emtk6*68s6MVdF+ zWuPv~bpd;jV?Z;W0OI(t$dE|OsG$B^UIR-LY3Q`0V-R63FfLxDHcTEO0c(O?f8nGB za7Y$Xy@op(RTj)i?_`-@17S!6tmQR77a46lvVos*5BWy6=3T82?2_ZPx_178h~pJOIp(ZdtfFd3UO0eGeCS2#e-Vw~?~Bc+2~|SoHZ~`}F~c(}v)y z&zfk92YSnwNa#s&BGLySFgy8E%vsQylXgoj^w6Ek4oB%ohIDYdU3dA|XPozhUo+^F zOtM=+CAfg_NB|&PQXZ0}Xwno#wxL0m4wyVr=^WaSc0%7Qr1G9N>Ej@%u~+#?)9y8g zYT1RcPS~ouuXOaetIsye!mCy7e?FwaH1a4A-k^QL`X>EK%EBc zmapC7KtLtdI{NS&m>QiV?b^ns7OR>Ax}@#Nh(JD$g;d`fk>NjwYZL20EJLOI4_FM| zqeEtvWCJgt5X5zo*xw`&XBy0XeE!x&HvP`aqun&)ylopMA|rk53x3rhtLdXf!IVQi zmGk2kUR(I^(IQ&4(c8|wby-7uuR_>x+(bTQyW4v?k zK4-0T3`Cx6Qg$qsO647hG7SR2w5xSxbSH~GsIF4XFSg)~LdSSka^aVs)Z0eHU?K!R z=85Sk<(x@KE4Bmpur%w2c5$brV{9P>Tj0TZ$VaA(kr1$*5h;)Vzv4Y?$0tXtQ^pCe zd(pk}XMAgUnxZM?iaf}Yv^H%HG_AY4Q|;@QTmp3YbYk|YcLi^r9z93xVDvgq`GlG zXdBLD9Q)jXc?jI0K-#M^*cN>qmW(=xv)l2+V5WLa-%=k2a0nK)#u7`01x5;_@hhu} zC{v#?jkXV9LyP+9ke5rGqmD6FMj3^n-EO$qwy(X#{sHVV3FI24+~yf1>d9o_tXt6< z`S#%H4UPKxw&N=>t&i}Qe}HA64KN4r-V~QoUk&*%ha6^dB#7s~wiX)H8Q$R!CE)Ep z002M$Nkl2Vt9fg>C zk}xi;R_DwMFS!Z!=ov)>)khfWbDq38E09hjz+-qA5`ye$@f>!>h&T&Nc^3$@ff%av(Ia1-2VOxs(&onvl>a(>~%#-^S;x zDB52J7K|i!Jv3b4qfO#jIMMO%6H$I)|(a5|Xo zpn3G{M{r(!2|wLcjPCLKKM(C623EMe)yeap!NK*Mi_(Vk+p8z<|7|+fV@NQ`K75Q5 z>d%0O>{yAr%bxtu-^A&~i(xn4L)yOMpfTZyJAV8lI4b`XYH?D*8#0dHf&NdBR!-Xj zo#5;{eg0+6=pss_XeYP}&$^$z`?FM^3)uAqsI-HRf^acAIC?AkNxkV*2ZwLteEdmB zGZ4}iXYc;`)#*EbnK&|_pY_SRtCMFxO1XAnYo<|NKPwvbJve!9_4J4S1}hQn3Y~u+ zT7Q=M|2e9%3BC2{=b&Z%tdAsYTj`oMo^A&$x_I)ZN*8ypgd|vwOxW}3+dqYlX>)ke z5Ua;u`0Ld93+VJiNV1qYJO#}9(AGF>PoDi0xbi^X>of3w8an0Nl%9rm`u0ySNqz(u z9jWpoXy9e2B&@fGI?xVx4{0g8h?aX8c3~|y3?0uJorhs?rrf-Vd;XJ#;WxCJcAu&( zNce9a{jVaGSJGMFVVL+IcNVtm254d-k)H=L4^Sc`2)pnN?&!AxB%!d5A@*6*h9DMZ z#<65fqgpI<#|vh*0ElPTj=X$;)+s%ksTrSKD{+q|1Rk z?w~DMrBV8iYGLo>zK#~B>)e$lb2mW85QTU)%`s=o3{$n;bMnau{i$!C2kx_Q%`?Pk z1bom#^5-X_w0!2-PF|y8bEL<18h#;XIx=zM+|kkrG;{y}M?kp0F{SN%N=Nlgr%nqN zNn|jYV+S~G*KlDj=HMAOkOr<6NYV)r@>97$)HukDAUZdz%aAjhrI`%5$V+`Kl7=c1 zlC%rrEH)UTqnnhpoPj4ldCD>{@QeP;6Q}{D{n`PY^baRp9p9Nt6hY}jA#{j@2lPUp zbnu6+<;{<*MQvRnSs$~*@15sItH&oUP=Id~v`DOGPWDKtCupYw9$qBwKw;L5e~yg}{bzlx~i=YU7B zxZD@9Bo8E^g@S+Ga8(6g#iJY}_f+cEiU@HtW^- zmUjc*@VKyJ0eq`%L={ik*0a9cnXh%;lnmD2GRfyBad8G$nRZ~f7D>D4n=ikH9b8GJ z;&lpr+Z;QIEU_DTc%WGiuW_b>SM$v{EtG@o#EDkR(w^Z9@1_yj(#X6K8I@B-f*h(% zy6QqcWkX+^(|UX#o5M+V`Pv>CTg(WV@CwPvNPVD{ehR+zrz|a|EG}4Fe4)&=sn-p? zUBLNKjvJ?zLW93%C)X3+vuUFqVsAc%s^c$@{&Jnr4z@h5WN=AT`lz~zAI>m|GY-CK zS74Pzxm*Bdp%xh{-(5X?CnP~QR|po@&QtXxFG7f$=Hna~_8AULVYKnbr#R#JfJj14 z)<`EuIW?(%$r3_33?ypXG+hyaaaULAukveADQFObW1c(z?339=YZ-@Zg+j~utM?Vs ztyo0*KDd46=Qrrion4NLI>%)i$|Bo-AwV5tPa!73Oug(=={uOhEo+Ty*BhYNpLL3q zEmogcUOQxiYv+*>dL>}8Y|BbAo`;6-KP*RYK6(Q21D|MFbG@&vz}O;nVepSL6W#CQ zq+hec(U1OU=cxu%ZNqHDh~BIxqQcC)I!cznrPM;jRDRY);Mqo|>v829>TKNWBz%A^ zJ9?m0fIo00v(@E;6ppvzBC~DfI7(EoIE&wTcFeVa z8n`a9kJ6@EflgTEMBt_=4Wm`A?ryktdecZ}?e_M7F|*Q|#GU#@&-VYW0GXx3t{Nu< zS%Q|%AA&i=O4|>l=uFA=xA_iEwK@VR6#o-4PcuXPT3_nqu2DBDy<}IP_>Q;g#OuDa zA81ZYYUGc2Dhr(K63^M|p3XiFAa#18ZTgX;6Ew-cVa<2#!8o`&|+({RQEA6NJDbKYTAmF33U6~>)`5~b6qkoBl5QX`^zWdduF2CuV-h3&i zt5U#BG6k8Mn82k3@Z!CR*kDvK3iyxXHKJxqITRo>Ex5$FchvuS&U*=E)` zGVJh3TS><@WG-}#z4?w~Z7pL4`LPlCOT(Yg>Uh$7tCtt|t8bsKw3W3|7*Qr6>cWfV;7DVbo0}1kJUWii0M@8T+^gx584CFcF%=`NrjY{kEUZaE zl>vnkgCfk15^eBIyeua_gQ`m8UoUU`9^!<@4sP;j`3_2v^`}`&BSV{HnvTIB`3m9P z3V4-s^LBOd{r?Qm5e~6u#DA3?XGG^6USEf&MLc9izs_(R*#dg)euvvTd9;*u3~)_39h{JhY$x-ha-{yo1BD)x~#z6}VSPmrm50j)v>(G`wXu z-^*|OOITAk99;5HHwauZML2NCyV-mKz5j%vpR<$hr&f~ zGP5gAXXAl7i;YP{yXAEGYIX9?FRZqod~5aMxBl^J|LG&l`5cGe&!L;&r2cG^$F=WH z#+Tpx*GwE9L5n-kYaMes6AWV;=)n;p0s3*&SwD}F-}44X?vF7^d9?cE4}OV7%*Tu> z^cfZ)`#wr71~#K3R$V%v+^x^Sb6dL83tlY$;jfbKmn8ol@n2`h-|t{k?;=w#Sxz07SLAEDCLfsZ#CL@<9z=n6f;9VR z@>9t2ugY@q)anhpG&?!@A&+h%H<>|bo(t<{qW)CC;2K?$3ox0x@q%7{M^9#Wz3|bh z(3DW)rJX*5M)-@^Wzu>Lc5t9IQNa_)12(%pdZLxdi85qW1JKlM3~_YAIn^B5IZHlH zuBL4~qEtz86AhxkX7Lk5?bT!wL*p^w~smBDFy6*-Bog@3lQsE_Ez!K3&+IG?RU+f5h?s~k`YG0#TK>b#KSnvh8$dFtN4 z_1QU4AqI%(q|JtpI35P;WVu@zqz!H;Sr;N%00QPB_vrL!^%RH5X0utn%3a{L0m(#G ze#0vn{M1>UICHBa>sexEBNhC&PQ3Y3%4je1D6Tg;es~U3u~M44d;Q`G0zP+_#{t35 zV{dR+Ge_~R`I>DDPUHobm#VqpM`wl$_{;P2ymLrZxie6e;5%Wi24Kc^Rl*gKLtNWC zO364-G_8yd#5|J4l*Zi}<@~9M{2@)lOu`>zNy1)h&1I)8RvoA<)8xXWT93M$xY zC;JAPlZJ;Ol~RY!2gtP0m1-$BAoU}iI%+|M2D1QHFmQB&xgr4-z&<#I9{FZjc@N{s zM>(c5&JZ_$?8*7A^L6G9VdLVC;x$f#$Yy;tsPLn}pnTy$W^9rZG$gfVerr=mBZ2zf zv3o*x`d;FgssdoNJM^!NBQN@pRp4lM>9~t)oK-ih25Uj6ZF(acRMr}2&knO#vwgCz zQW)Ct8as4Hi*(X2)Hw-Da}AFSySE{b&I5!{bxt%h1_lXRGe;U_dLoOMuf#LKpo-BhH<($e?iS0~qxb zCk=U7%P6EwmxD;)3zm}VAHsP+T~N>J(ns2Ev4t#3Z5uqAhd7b0UC#jyyX+EDnZY9? z3(PbG@RE{WY>I^_-jNMsjvq;|zw2=H(famseqf-}=*%q=k(+E=Y&XO>tlh zgc`OF?<4a*ws+(s+q6v{9apR9{T>g9`05+5w1s+eH=zAEALel#AS-ysnb7*Nj!J7% zQL27Quim=83e)XtiF5+U*=!vZRUGU9INrwoR4BkwTk5Y}2qhguCrolHg>>V}Xkdhc z)*;X4`uYUd-&GIojTsR%-g)bI_2|($?Q3(TF*)n3QWoc2gsNu1nT!ncGN{eEvhg%5ivd+^HS1)C*lY=HJ3EAJPbd3V?^W z29d@9EVr4ltvIlJRGTqOJ9Fof&QD)gVh4ACpg&8d|{+*pspp)QTm5o+kkXh zOq@JAl&L)#GZxt|tfE6;`YZ6(#mCgQj1AJw*cQP7>a}M0Xb>7B@!5^l5wGkz2GFOY)=* zJr2i*E5?eg9h=~)DF|t}G^7G0w|*pK2tGd$h>H;=s-QeaJmqr^tOb_OugTCb7FqE$j{HXkc@#{%uNq`%P(OH%?G$Sp z+75w%WF$Z)(o4M*NwSg6yWl#nm>^TdJA%qqmRV`>Wx-W~W>Rz3}l}fsaB%r!o885!KRpMI0F$1F15W8hAg#wCM2cc07Lilh8Vev+^E?0^o$l|ywYs~&p(pQDll?Quf2K|yYS_J( zN1=21wcbz2rzSccaiZ??*fff6Hr0)5FqH2D?;>uxb-9%7=25(a!Pkh5YZGF3UwI9G zkcPHrp$(H)sXzR8a0YMAI~ev?kEqr1#<35W@9NO8%OcBCY{GcMT9krB_zCbNUQdVL zLy`6%m4u8%#F~8NO?qf@o~RMy92s6CbFg0j5hhIh;ZTMknzrJEWCf@a!PzMnF7>so zI#|5WHm@_NN6AB$GEE5i{E$PwMRN!f-I#CY8zEViO}=!7R_85vEu-m$r-%(78pLz0 zFt77Rm?_USVanvu@yJPXY$g}#AT1z5FZEDw3oqcNodXm=$~%9_6MrX>_>L@*0RfnV zh3V2PgR}!XWETCHAsmON84IU=Id_?$ro+a*-~gm%1Zs@VwL?;z>O6yrS{+!21%xlEd zXXtqS$^;U*bq2iq%mwA$>cdye@e~1O((rHV*K?JNJa_T9U~$p3#z}R^WIDQ|`hJ+h z9a!qwh3E|)nvA2&nRFc8u$Vb;-ozY6pNfz2-d}B3m#k)vSY+v(I>PICN4bmp%r8(M zdt0I>cbO1jK3BRZMIjg2uGzLMRJ}{D%$C_CH{{*A&>&qOHK9Zl7fBrMEN}-*fUTgm zH%IF`ZItm+#$7IK5duo52{PK>k|!d^z$i~dYCh@!J>}-DFrZ2{KUNVMG0W_PgQg*N z!r7aPp(Q_%94(qD4i(ctD3nf777H`tg zju~9l{}}YSkbCJ3-ltj(xS}fy!!66f9Vt$tzf$?>I8?h992sg;%!F z?z0v+WM1iFSAE4nkR6HWw~P;c;$@Jn^2@Uth-t4M=MW5zS>Ri)Z7Dk3sYCGwRl8Ba zmL*6Z9blU}a9L7jEYQuHmeodq%dRxePfm_`KO=Pve-IHuCxN>_^TD4uuomKGAI?d2t5b{9rOZ9Uk+6fg@gvbp4Vn^3^-#&z~HxoCsEsY*C_~+m z_J9a#PP@8e&|HUt4BeofXj{21TVjv~aY+mfqo&1kTxSVdjzh^aP5@5LICS>y)6cj* z0epJQ`U%+_iVea>0?z#FOF@pRyEhxMORsHON1`9t@w%l%{$^J=a5@FO31A&`2CC<( z85Npp$YA$SZ%IqazQZoQt2=flA~V-G^_goT{5L4?3JO0;X7hMBcG?FrJO>Rq;1#1S?pT{ z*7pC{95{*tVvQX{?I!|yDDNbUCdikBdQ}hf<1Mz3SBs=Ey!ojP8W&#mVVFWwZ2LlP zh$6!o+tc?M4@y(W79PVl34UT^ErA^}Mn%2?Mk~}5iT1A7RJ~>~5a%9sHC7m%$-}QJ1P<{-Xm& ztfItO0XU+Yj_;CGjyQ)nXL1(n0Z-L?fx&s>#~%nfccg2Xzs7w`w|14`M03_)k4|Tx zi|K;)0!Mx>Y{2gMsIY^uw0Za3P2L9xHR|c3x<`+Gn2Y@9R+k_DE)F&vUI$t}G!4|F zR8#O&3a8SO)#K0oJg^_GUVZ!D7HzA9toc9&Qtd}>@a^sP4(d6Nz|zete@0#TpfmAr zHy^Qk?my%)Se=JH68rL7zmoibEk7_^0tQ~j(K)s$!M25m??;q&eN3dZ7@5**0rQTE z?MIbs!V9j8u(0q4<;EfRocAsM9Q4+_C-EzEI^K=Pq$qXNF60{fXzSxboX2}rK`y{v zge6D514I(yASZ3~=<_^+%&7M1SN=uO@)uh#ozi+ZLu0$@N_*#c*hMIv$|Dk*IRmxS zLlHkSDAW}0#tZl%$50KSOkmZm{VeSw z?jUw_MBUAQ4Qv;_;twe5-&Dg4XvU3)>}ubgwDb+a56+yEv2Y03Yd_W{K|R}lIC0dN z)MW!AnRHsu90@VPPEY0zp3&%w$nIHC>?#Io78V&2rovKGIWu(n5#4V`+l)$uV=W zC*p6W!zP(iC_=}{UwE6x5qlwDaYI+!&j_z&OGlVF8+{Gnp)7TyjB@Xs=6WEmb+^oO zFD64Xbj{}oF0fTeBTI0s^-s1v(nY3Bu!e@v(iqu{do2iEfjpGk%D4Q{f%yinw?m)u z9lQ*iff!8j15AeTK9a4RUXSdvO?y}XS#+JcFp=Uoh@2K!GXR}D@i%bMP4K8o6hPTb zv;yBWt?TGnnp|JpjZ`S$D4P`##zbgvo_cz=Yz}#*t(1wlhjl_{_5R|@lB^5MOB{19 zRG+ZevtA#5!Zq%Wg&zWB%!nW*#8pkWVsurEs#C7A%F`3&$gjnM*EX8PkURI146=h zD7)vT<0+4xBd2Hw%oo!(<|8vF7KN0#+oR>N|9Rs&a~Yj1w10h&4c>M$<;XmTT_K!( zjP8~ryDpggIMY;y+#r;wijbyqO}<&sG0QpT4bDOzC-NGR4`CqLQR-IC6W?=}Rb}uC zkDPW6g$Vp&FB=?`Kl9HWw;B?1<%3u0JYLW;JRDmC;aBNmw#?1W%vPwm`bK?c3NM_GB0Q^%flsYS9p%0>|e`vb;maz3OUE)u0}`_>iF z@<5~wq-Qryi*T+I?M!@k|6rT&J2^STL8Wu;Vs&+eZ8 zpy6YB0Y@IyElkNulmgpK-Pz9Kc`UmR1)-e(gviGRfelV|7pn)XKelWgQ73C;%MK^( zDGn=F*2oas;`(@}b5(x)DYx%bl}ZEhyzU`HW0M3W5>*HC2ejVYqbWc zA9bHEL4#Gi6~KCRaM5luV-`Ruk_CU|#4bQ@8stMM01T}{wETfyqHiSAj$mnX4{a$E zd7x))>XeNVmpl>1_-y`LIK$t4i>JqUZ|W;NuR1lX%Pq?l-&3moGmay_-CU{WNJ=50 zQ`hurQ?uYke{@Jf4@QA8=a=r1=w}96iVF=Lq^e6>vvFc4wh@{6v!1pUXQN!Hhy;L?`mEiDSNMm# z`Ip^vKzV8OI%{8zoXs!Hq=A0s#!GBY-D)A&uTD6fgw#CO7uzB?Bbzh99(DxR9~HOwLv)$pNnH zCQJfLcr6T^`Sge&J4IoXNPNmkX0U<2JY?r#5F}t7Az$;YEPmBu>Yy?xOx-HJ7=xB6 zf<_@-4}Zi>lz7TGPgx8qh5VQ~hk1sP;tr?VZ?CRC{I!6beg3a!S6-Y(F#vaH{c0ZxPHRH?_*pR(|f5(W>Qn@e`!@evB!?)jJh zA&$uRlNY$)?qDG2-OWqt_Yw!;Pp8g))I$hq->DeB>j1;1#>k8EO^j zv_(l;yDtc0#C<>{yf*0$lTPlylw-bjD-I`{*wdO&on&9z)ils!k91ILYHL z{8eh^uu&HYh8KnJLtT52=V0f6Yc&-u5fc-VNy4)@h6T8ih1kEAOcSyA1wShV4XElH}to?4pGb`Ers0;Jei;+G(0Gns#4lJo9gdeE| zZz=g>B7X!zv#YwiNk(A@SG^mjos#Vj!NJ@M&gf#mr+$uOG45d`&a`zX6xl?ZX6oN% zo(6S_OMo2!VE~HWInNk4=Uu%8OM--Hk4n{V7cK1&UR9J4dXYhVfvq3)Q3tVM&!a1C zlAs&|o63+k@@9si%mK8(NS*p(_>i7_U;-vm5UarY7@EWqF&!NwQgL-x=M4=u|NV$x#!)Z%JazDWH0SShIxj_+4kghPnz-w=|OaiW|E(xE)R0! zi>HaDeS_GdfFGL8tc%hg?Z8VrEyTzIRyv~}<%_VuGv20L9Y#jr6glM*H(C=eo3fg- zd8eMzrY@X(bVwE#+*$W!*tyGWrNw9QSbA$2L$_$Bp7M+Rnb(EVcO_zd!^@<1WnD-! zdiM+~*TF^4;*Z?Mt)q0L&oOmuJHN%D<@If!-Av(?3MzAY3X?(>2(NBdPxPa82Sml0`VedM$>qLW2ema$LN+u*qY6-TuC4e(R$&io~_WuUq=(WPPAR1xj6HysfXNNm$wsL)gp{LC7wKE*E;jP zQ(mwmE=#4znS~S1Dj)N+Hivjrd@ML0tIB(jnQ!1=QT8hqyK!s*XHW+^k936IZGc0* zICRj16Zb4Y6dhTBj13@asjGDrLiqtgRjMGzT*p{pz)ds4BhF@Rwba~w1RP)rx!}ic zQh%Hk$`}Wzl^Ok7&vwp*{r=98FmkRpw&SMGdK*JGr|C4#+2z+A<)w4ju;zLKckCkCh+;x=|6d zTm~sxJzfX>$YC49ht-WcJ6wpT?NN+&mPZM3PVtIkY#kZVleW9&y=|yF3t%10w+QF1 z9PJ~jrc64vcgBxM7YWHz6DdT`9VbU8l}=0X)oUKj0(R;frw(PYUEqbYZqWuha`(-V zV+{S@7presnYl~w=nw}s4qMyR`lsJT2HRAPR-M(5af9!e(oy)y1>+JG(LOCLra~5D z$tZ^lbk7FkIzXn61(&jMwjbd*%LfM7EhkBx%4$xBj?On7$$5vO#H4Ba=Nd-Rc{_Rb z*?F={2Zc8m)W2Wht=%WmqBc6>RIveF*cPcH?PC9S0qcS})v>{>zI77ZI2qc3LyrdP z80A;NrJ;jU9zHr}ovXguiMl9W+F0z2voxb4bra{LIgmw(IuT39%yM;*=zxaT4V}ob zEBzWg+hXJrejF|>Y8W`Kq|L~5>_f2dG0!mV(aFeUeIh@&k=JW4a!j2By5k0iPS4}h zQ=asCv3kaizISl+t#R~eZ}yMu!%>~!-{TF?Q5wFmj!aR2QYedURL+jlgn7gQTh5y; z@Y!jKU2H8jP$iw(;~Bsrofdwm#_Tv*fpepU{Zh9JmQ^$bAb8RoYVBC^ zI0i{WyVK5&V1CSNkZdy_zZKqH`x=S6eu1jPx>J_GS)Os&VKd$raF{YZJLa@8hcTNg z!+Yw|G6~zXlxmLD-HKu(5gr`dzorG&Q?UxscE84vb45jbQr+4(l!s-C8z^F4k+++(rR})rwj+mPIMf7 z>ST63Iv-LlZBrhWW!MU)S_Tn18DEJi`xYR1JN_8r><7;qdU1?d7ih^Zjbnm3<<)A$ zE@^0Y4Eynu;z>P7E3fu#o=vR{%D!&yk|8}akg7>0?T*ibefkYL5GB{Tu;d3o>!S+l zIspayYv8E2gQ3X?;-j_Jk&zPk+}k5<{pE?&Woz7oqB_VWQ4Z>n9f-(LdL$3y$cQT) zXsap@*?7&)%{g$hV;cTr!|6{@k!-$rj&N~`B7yxVHyNOzv(WbydaWdxP*YJ5qo{B) zzl-HQA!X#N(6l%Lrji2ezy)5(%?4Id;-+DZ_rYliQxh{L9+C=1k6<9H=gPYgLc9qn zLk`m61IqC5EbI==-71xgmdh-_bykxWmIajTG-N=8jWLMR!RQ=jrN|#?raOQ#j!KKu zrOCs2ha=7R!YR97oXzA_U5U!!muk=6`&+;r^mxjXLk z-Cqc=qo-fw9e!Vhh!;f%dmcx?33zkyH5`n;#m6mvmiN+qKpu~$QlFB~^CKKxAMnAA zFSGmXZ{uwIDl)tu`qoA1<>|ZPd_*{BA5XS^t+!G)^`U;XtI-~zsYNlI3D&`nP(1rG z7cd^J^__UoxZQjV&03_COa-no);xyn7lL(8p7Q10>sQ|?CtKcIM>$^`K704CA)gL9 zwo0FWgOd)t=Bt`;xNX1td#gu3@z>ym)ARo2>g@f$!n+hdMvn973IYJyp;!L);# zmgZt(<~b<^_VCerI6MCmlYkevE4f5OB) z?;b-#xXCw9nN5FIx%q}S%gx(`H|{a;#HV=bVupDh_KB$9afkGT*Wx5h3*eX_=^Xqd zU!;y3HP4@%jT1ES$xns^2m|A}vtG+HbMg}z1T%?Sr|H*&D2PY!_%S|oGNze+BZN*( z0BQnPwpwFg3y{?wag#$ov^zahcQ>Rxl|@4QJK4@%Q`C-Bjvp6^UL8gDvCu8EZ|(Zv&}$9j zY$orvp}4?Bbbksbb+s(*EKFErqIIkD#y^_BR7*Q#Z~OJFnkx!pQ7XCz0>FvYt;K->u$$i$xGHAHDFVAoU0qQHeEcX>%24A>e{Z zn#xDu#|4#-jyPvaYMZ6lNhz!kslPrhR-+ zC!Y)GGN%v#&IKp%=;s(dIuI_M)ayq?9vzIT*#*c=?32X{X=fD2d_-)`b=1l9{yt7o zuJ_*UUb7wQjtOrFL{QQY^FtH&OoDG*1XJu4T=ff*G|f8;uf;(mnTSfnGr-F0{CB#A zi!1HPcIP9{EOY=2U*M5D#7)m3Au46x6HkX@EQD+qMcSc5haWAGrp`3w%Yu+LsV?aP ziN#f%dBI+t;9QDR1{l9aJdZPH=M!{o2N!+Oi)W+2df0wGI%Jv76>Z)k9juzTj&gUb zx*JCMQWXJ+xcJVy(abbY1O=YBI)<(bHWz$4F$DEd@7aB)(?Qy|$XN9+2lKIuv^^GU z%y)G#onW)tF6jKS0A%rX!TY;(1}L`+T%AC%>GUxQ5|mji0_W_2j;O@3F-sipY=7U$ zrL4@F^EkQAhP1J?BR_TP5IJlc>U2$g4BG!SJLc#{PQmGy$9crdT~~2L*}fW{V*st< z*HEEew|I&U827Y2*Q!v+e@GB@XG`7zhrG78qsSriftQR4ci`=52a%~{iIX0>$|bps zHR!mcEN7DAjpEv6bXMz<&cazsO?_-1+ZF=0n{*J+FL|r7Bip2H#_?VIAw$rjL`2@E zby}%E?Z9|!fHFzzER4exT(5_R)`zq2TN^!lZf!*dZ6S^w>0vj4v;Oc>bR7rzx;tqF ze<-gEe+|~jV0l$p0wq%%jgqti9G;GNci$Q7rnjCR|#tnZtXV0gi*h08lWt9d&V+vuz^1T&tUeuRd8bW|^mq!pK)$c<3ro&+5uKqk4`GO8JWz zUWdf9ZDMbn>`Upn^aGz#yrjNYJl)_;q8IFFd?GBt`BGy`!OSWs>LjhXS#l18k}_V| z7KD-otty|K`cYBh*{E7oE3ObE?qQ>LG+2}GSu3(BIR`cX^&`&6yF`;&<)TlLc-W)t z&@o}Tq%-nZK@*(Q@RQHkpxol5&LWz}F?r@sJcR>5<3V%#=^xOD8$g&o*lU=CZ(n{5 zhZFDUi*t)cXJ?nrs5afzExXHZabO)k{vyO^&I3M7are8xlXOeF3s>3lSm@2gcUYi2 zTOINBUhy}de3c!8zfRR~9wF!E)dzT@c>(q@AMM~>c?Ue=>jx}u*v)p&PQeYb=tOe| z+b!>dIREy4#No$RYWZ-5Ve{fEVe5p)_uCfUtLQEU^N z`Sb&LKodJs2GyM-eOJYk);@k9{GkPJK#FXgJzH6M80XNwmtdLUv*-$E{)Anap<&+S zPhMv+nASMaJOqm<4wOT)&&rf?es;(tZn~TPb=k=m=S^B6NoK|<64HLH&H=DsA`RQT z)zcJ(b~D(GKVZHAD_M~_Vqb5bA>z0ptsJI_JGpsHDQ0#^bm&aJJPe(lI!P@4tCQG|XL)m0Y0(vU##3JWOK-9=ZMkvJ z9Z6kCTVUL5gD?q04_=|$*=aAw5%WcBdeR-5l+~BtfMKCp*Vrc9v@)TaYg@)b>C1D@ z;2I*Aw24OtouBKa02EA}g!P&mV`>~hq8ssCD6r_@F`L{kimeSFkv#~Ju_jM7>7GRy zTNG?{IGZkYTd5x!?mp7rde&K|gOMr|ck<4}6y7>o@)z4a=6YGA)>!Xjz}6p*bdl1FlYZ-)uXVE3L{su{zEj@&cl_jt`4YP(KIKDKFZp-_ zyAj=8=_1&dx8E=cc5&#kM|LjmT=*DwIz=vVc-JZxF1ukA=;DR?QD+w#>eiCn@h4)I z?+hz5=?uxl=$amJhX;2cri)r3s3@1VFVQSmA*PJpsox-^i*|MHhf6&2by{FI8y!^C z1qbPx7kEq4M{Zqkx)7|P$OVLpeg%dWFmjCjA*Q-C9GIIThj^J6dgd@VF65>^am(VUQqM_SH}lXBgtFdf zxU#v*S0C5zhO}RUsx#kt>bxX>AKs3?V~4pR)G{lG?cq+((<644v8ddT@X=)-hjT$I zD9t8;(9i+pD4>n8(m>DE-Z~hh=T08`6aGSQ9Y@XQhjPb;a(Js>c<5XN@c_LZt6M4- z(-IaMxj~?PAw(Qt$PgzLB#*e^pnhcQk9sGG2;k9<>4W6?K0}>qN3^G7UVxg8`j5^t z7D|TtQolIKZKMzv1*+PHXPFQWjJ)MU^&(62H=f<8$elm<)y*ArifyS6{|>nWbHaPP z4{?I$@m1O(uT+S_X?w8U(P!O#^fS&rWIDv@K(i5mA>aO}qsun1Z4}#fliMBbqZ2N> zg&QYMZ}~IUxckgDOdCm3PHqor6}p`pmvLnY$x^Y4Mbt13&_|use{ZVmS4sr>{6$*4ohLQ0PWv7l&Re8v+mf7^k}}o zpsifvynkGe)yqTs!tsk^*GIS4&Lu>EU4}f*{wb7a`B8xQk=bjf^C0_xI~(i9g}saS zR^lxE==^GR1Jbm}!XwgFTm<3FwtuBoO%>n??EY~7D z+cCu$ zIOH-)cC*~P;)}32?U*f)ZO_p&%w23Iuy(NG?THD{#Wzi{wt())`;>*D+Wl`@7Q99nlbFL<#x>6Aeq9@l)0R(YhIm-9lX-iHS^j{@5v?_ZI} zSC4M)KV&zXU&Ph1sG?kuY@qq8&~%|uW<~*Ve-P3MHx9j5-}-mpX|&W&9>P=qyX~h8 zme6#U9y1OfgMIa_e*=uR2P}grZ}}nKv~W1S{N}$3jn%!Y6UsTlTb+2=h}t2}(ai_H zw%UA?FA@6~gPZBjc;r{z>Nvgn7CZEC*u_z5edGxNI#=vKT1<-EWp|B3bNk6x(niT+ zr-6F9=gWu}U;U4eB+Y~&b=rK&mz95+L5_vw2B#p8ro_2R8(i}^^Udb#@U;F6m^`k0 z`Qd*L59<>+Dg=hy`lti(+@%Sdj6D=uo_g-mA|5>3iMWHN8X&m zZ$2<1gW%!adAmHNV_CvP8b5i&`=auL^|s7o&>P?O@CvW|W=*+ZNl&H)9E&*!PnpFJ zLYXK&OWqI^Q24Pu^G6RN?Z!#UNBYWVUyt1=C;3Cth<2QM8Q-BPT!4uTj{ROX$#^)K z6Z*UG!*6(d&Q(8zgYxhrkIqlOniA#Ng>N{sgtyoq$J*$!>nX3-@JMA+pz8^Y=+KC` zoHO%s3Qk}1+7($Wd*GKx8q%NCm)8yv<>NsJj_2K@@gpPo$~&~Rv*_D=3QTK5k;!X4 za|Qp%bMoXkqG*A$e!-O>L7HjjK36R%0B-DZ>XLSGQpB}}xTIW=iwO_W_SyRO&bz1JY*#N{I=8E~%fcNPZNbIK zA=?goM@~Izch8H>eGH0QXw1`|-QqmMapc0r1<1v#OCF{4=>vCC;1p1g@U=?TIby3i zGQ9TIJCvBSz|TkfoS4=}44h17nt}{Yj=|0DJlkAFkqa^BqV7s?B1;Ppv}18)$Uo(9 zPqXAY$c_melWXeaJKc0lxkEF%wm>;y_4Sh7j=tltrYSv+!VIdR9aERNwNVs9&Jk$I zb1~qKGI!SbCw$tSsJl(>7#p(?wnTEuTwsB<9bAlUc{PiUuHqqp!TKYU4nwJ{Qv|;4 z1+ZuNWjCXU_7&)5fy4sS$534a>7R(5OC{A2Rvr*kp;4-NwK#D&$Ro`*j{GAy?F5e6 z@r@)0r_k1cOO?hEQnG3ynd@_zWS!uIuDb!vpcYfow zKMp#(9eVIRj~hDZp)Y)=eQ(*daH|87sgRFn9b&UObF5y`t^Oci7fN~jTs@@z(VkkM z2Y{e*grmOFQrG2VTeCQGHtT$v1BWHRfdfm-{Mi213G(zs^uSiWBb+f?J~-oe;-iL_ z+)&panVmt6tUk0Es^7Mv9q61Zhm0D&&{mO4nPL;R3v6`|*w3maktBGgO({=cpd~%y zSu;@PWBY6R@F7k*9a`0rWxq#s02lP`_R@}BW=K!9Iqv9~U2Blgv#X}NQt*_IeY|w5 z6gb+mu;M7}vS5witQQz>c)cPr@I%<5|A4X>w?DafzD54*U9P;%A84DopW4p?$l|(-#WraNUd378|iS-87 z$C(`)>J=JQGXOJYd85GVyiOqN?bs&OIFrF$PhH8^5h|ZJM4@+uEeJm!=1^+K+}s6m$jR`OBY_!;x()|j~r91V(DMmHt;@%juxR)QXcXW(ANYU z>Qsl3bU_~z%(X5&(m$xGSZP0PFh6vq*rS=y6$j;UltUa#|aex%ER!T^kH)W2=%m}Hsr1!?Li zG*rK-wihS%tBkfAf7aNYsW_c=g#Z9R07*naR66_O8f0+wI^vB!Z>&A$X6Y%fRLHy! zd~GaFQFx#oIYibiZQy8cuC}M@t4-A>d}s&9MmaJhM*e^TuI!nQ1z$%e^+vC_^!Pv+ zR7qPK+g%&Um&_R#{L-$pLNA;Pu57;QkI2zq=EuNzv&Eoe*m`;&)oJ<$W4Ym)>3B_1 z0!0KVs7!lV)z?ho90?7b+E8ubr8raqV_t)MN?d$I)j;f7X8QbvEl)*5Us~o*qera@ z0n8Ft?F20{@ReMCC6R+4&-GLCNmo+V1$i|Vjjwn@&pLRuRi^Yfi-6IBD_XLKCa{K) z!K9+v>ecc^LzoFcq0461m?mQosq#$aqV1ImBl03sY4~G+d-piIFnA~9QKa&E2hMY7 zmz+ApaxcS?MsriY7*gt#Izq=FAKEUDgNh0d9b#@3*BnC=7#|y6-TLS+v~&tOA+ya1 z`}e%!+7$+~zq>7uz8Cx>-EIOcVd~DSYn#W$jjSRxV zYahAj&cI3&3?6N*^c6{HYqPN>ijglmmbK4Kq#~p5R5UEpPRO~>*LLq?6X4;H^KO4e zt?0nGgs7u3`;{~K$S054+DC8EiDG!*)Z6!wV-{*$8jwdj zAgFfn!iRJwLFh!Mo($zFGv$smP#dub{5bna1SXjjh-WY@56=dHCT{&qdp3CPBaKFx z#kQ$ugLY)t<4P9TmOq)upFHTN?@XCEA=Kr@o6c+bWKTZ)^8(Y@CfS3oT(L1hhlY3r z+apRLUp&Pz2)_#|t=EEhW^{okkKpVgcHZ!fEDvZw5PTQKcy!qXkxv+O)9ezN_yR8s znaSTJNWLNMAPoWDDAy)3mQMZ-aicl-3GNP?H|fa7yvQMZr9Gv2qi+&sM90l9?Sl;j zP#nU<18bUy{mFBPHEvACIQhaFOm=b7CL+7I<_w@w@jNCjj~!X;CkMQX_OuGU@&x9rUjsebWEX(*X?IP_C6jfa~I~Ij5aqFcXm-)x$&ys?VrrTIdyh({!K5IvA* zhB$%o$G}-xQy-I^KUIi6RXh4IPx}?bwht(2E3NG+Blxutp$<;E94e{X?Cc6G@JVnL>XOK*J<;H2v{ad>OmCRMQX_7LeK^H zh6S|_IUlEtFVKACbOP$4@``KzK8xD}VEw4Wd+%_qW|#P=SLPGeO}=QHBRi|Wr8IQ!aPGP@@S3vp zEbF5D=qFu=Tz3dv@~+EAESOwGaKAH-th6jPk(+Z~dkxU8@eiKi0zQgXb{&ycX!@F6 zR9F{Ya<|;E$vK_xf7H3JP@0AQZ z_0nOG_rNhVz0Cp`7}G+Nc()Eh`g+;_i4r+x?~UmvDXqidYBzMkNi8}s67 zn>tgj?yis#Djad>!cJQLICiw@ zQgFPojjXfn=&r~E!j4a zRlS20yG?xy&N_KhPA8a;&LdK2AQ*JL83hEp9?NbiR9@uKAFVTMWKs~Ni5>Ezv&oRL z%Ig3^TGwkXwj21^ZoK6Ka@K_U+OM(qI0@A~x%P#OTkt_y^;!qYZ2NoH>E4VI#xWb- z86U&eF{fSya6zA9PkdH#ezn)vT0m;`2wQhm9Oo`|tk+to6LrYPTYzy4zp^c$U79c5 z+bzA}pyuyW*Xn=j;+A^poW0<+5phnzQ+yqgN|+t&X&=zx<5;gQ;uoM^URz4{=sEiF zMi#o@$1&7#VoRN~OI7=TmpgPFAtRlW8Ti=F>e9!NrSH5(yWl@G(mT|nXz0>8mug0+ z8f(xa(x!dv!}d|i0+u>RYL5Xibs(;7IM!>67uZg2 z2x~L+3vICGc*tv=p?@*okGf`2wFN4b;$_GC>RG%Sg3Bwo4-7>m@tzg#%nZb8ERmhhrTUfOWQKl;sI{; z%b2wAHlw+oV-6H38+gLR$pfgCr`1Z|{IbLvbr@u7WR)k@vhV{h)aoY_8D!jJr1E9e zv5<_Elq(Csk;VEemwd>{7iDvZ0W^vhyKb<5jiQ3pu##u<($r0xMawP>VQf6mSGqD zw0-lC&8 z4QJcY_JOxskn=)#+B0>AM|8re`W3k$Bo9R{dr_*uN!NnZJ&969er+(JD2_a|k8$AD zpK{FrkopRkekObpv5nZfeN`UnjZl5cwvwkjJogA@JO-m&(%}d>e}oISj&mYR$r2A3 zQnb!W9_b3qkL5;(7I~4+d~qy8oan5WC-32>>))KCi-*GQqZRNDPVlYQ4lRi`xt&N+h)n(zAMt8TmWJ83absDzolt$C>RN!cDi;Icf#i^BoJ`RzHWo7jc1H&p|LwCa zV2u}Qfbl3Sq(da_Uo-<8`r0bNu?ZWF9dlO3{*llUWDz|%{;Gqv=kymH7s3kEhhtoL z#a^pUjs;EvGhP6nMM)Tf2Z4|fKRAvTaOU5llB_#IGj3k z`>Dn_)yQ_T;R4Q3b@NP2*yx!PQ5V~Jyb;;%n3%00q7Ewnpj-rHQT^_gnRk+zhbWOv zRtqF>*DM@2z&hDJqEOi`F5MjmzlL>Jn2$)MQeGphr-hEA;4h1Z2vGbZZx*H6Rp}?T z4R_6Xkz5|go;Gbb$w)g;4x=&X0LFfN?;0%wgm%JWg=_Btjt*_h_RT_*ib%mpW<&^RlYl!UeuAC~mn)X#Mt`v8!)z zwKsQ&`EI!XomlllyAY}7yXW1B}$>R#DIG)R{KNa#E4fKFUn z(q34`s!!66y@3WteHen4h_N0AiN!GwQrVyScYM{^$K%HEwq3j~T5i6N-QVJrcNdg; zcgayQi3>sW<}zJ6ei>W4@^*+FkKa2$~E5NhA<+@JXYkhXj>4-vIv0;ExKXK)wNSrf<$%72D)N@@+ z9cQpb%F?gM55ORrMxI0Tf6UficbK{3F!g0Ux>hIlJ#A8Dfal!Ae(X3|jyknQIe)HD zF`w+1b7^gx#^EKZrCw8zCH?`h9Pe+SpSH#@9ZL_npgFE6gL-kdmUa^N2{P5LU~1|O zCdVqu&e(>2;o6yC{nOt3NaKopo!~z9sY6JaP7v~x`AHn1u16!ex-;%?+aHRQhBbsl zX!~oq?Qfen^4X{MNu-4OtMf}LV_ATOX`0z_hip2)MYQfEul?V?iqlQm$yb`RA3AdU zJmWCWou4HOTAt?qzRkQ!%V}^HYOW=!k4pg`Ne0|bk&vl;(FBjq-c4~ zQ6Ar6{Pxo)t53bD#B0SerXZT5U4n{9%@Nu_H$wshYh@RAVK~eKp%xgXO_~?P#sS{~ z1>;cY8q8>fNZa@bXQ6+Qpayj)tmhkVdA+ zk^wujd9f!FrzjgBCW z4C>T8gNE3=Vxy8(?>Q^G;s_%cnaWCeT?N${`2muqg#sc0r)5zYT!G;2N&R?Ey}*G+ zcpG7aDt!syVf$(C)I(l9(<+fEcR&iQf)%IwJHWJGIW3fn5<%c?tz6_$i9ReyA?Jc6 z@{kn)&4{3ZG*tmTYmcILN!gD46_|eu3!q?nd@B6GsYv{dG;ynrPEo7h_JL} zgTvQsYZ)0rfDH3O%Tj{$6Xhoe4d2CO&qJfc2;OdegbjQMJjg1~v8(V}enyDK3&jF$ zsiz?5A#aNjY?|g5`&GZioKu7Vj&nshYdeCFfo%pSV`qzLK1cetIH7O42so)N0us@# znpVmIwjY^gv2^;Jj1(lN07MSVU<^ER$)~$(7)sy17-03=4mn zm!Q+G(oqMrSEe?O@!DSO3K~-mSmhI;PF}EUEH|6pnAsln4;z7tU#3OUQ&tP1TlyzH zjR)uGQ#q`M$`Lm5mkiOrHY{)IoZU7+8Zv1R4ZMJ`P&U5LT~kNYEcWFJZzsc!6eXT= zi3bmZ?e9%3g3xy*$p?e%9rOD#zacu!l+B@6Qb~lPMx^8 zP;lY}9s{?IzufJ#yoiEc{d6YcHBo~QAXRT7scw2QP2zjK9JO#b;lNq*6$KqzAAh1V zN3?Q?p7E`$LmUY(MpUM~;Hev7bSk7BlTty*z+_HU#4c13cq1FB)XnO7NW+CjcKMK@ zcv+03kW%VgP_cyYa;M%U&Pb-sw6D4-r>wh#ZrEk#RAr5FT%;?9vg$bVdgo%tJRe2; z{Cj--=|kRQ2Y`>YZCG^pZX$O%zQp0l>OPOSxC79SI(TirVp4p_HimkK5ir)xHdj|p zVz~s^|CCOhD{xHLY7lfxc=tYe+biBXsJ*1tu}78SqpCVbG+bNC{wa@oY_e!*W5VX( zq}}>%unJ-+m)6Q;pZdCkB3&eMD6N0AFlF~V9(IB=_xZbzS1&#~&->nL5hqV5sY3`` zw>uVA?lQD)nIcBP*lG9yAFA>;M|)KU>99aU_tw=#ouUSZvg+q0xjPC9!}6-Ta=TDn zY6ps?vKHM?*F@mdlO!!qiH}uj4?K2_t?QDpS?XswNdZSESnyXnI#Jv?<$@*)Y{xAB zkzM<8A)oFKF?YH7h}j;t;n$yadX&>2iEX2;u@E<8UMqLd>|;)` zY&(s`GIgrx+NY0uI<{CJmTQcu$_7o~Zn2xg6CPKmJ{RZgJhc&`6lAQ<3b1^@mw}>K zsZg(0DFY=7Ja^*z@G%~Mav!@1~S>ka}78}%SP&XE*Q z_y?VzLkvb)$q7m}d{F7+|woj*Z^O7jv@x75m%n}le9Pag`=bu%9eovt?Y=1#IY5}FX_o&8#NoU1oBZp(v?hp zikD0a4CY1>PYG(v?kuQsIo_mQ=p$aEeMB>l(35t^FxW(O)L4<-Y#}0TWej)ZtsPlu zbL96=J~|5>V=^8L)ys# z+spF&z;B}3k9D^f5RE;VvW;&Uclt^UnpZgL1W>(Cld;fiB!BK&j=e&o`hfi{+@J$9 zj=b{`eAQaC;0P_@<^xvF^Mr7o+&y#CC`yXyvwB(w+hC)uJ~*PW_|_Mj8bn-|_h)aHSX zO}G=<*Bk^A0*j-NN<_cblhR9!#od&8I80LrFExm+q3dq>x{gbUgN9V5+%TkEy7d>< z{8SKM;QRp-m0KTpy}06?{yd3MJC32rxM0YY*UCl+D{imQ5Il+=g+#PKJBlzEEp@51 zt>V=;#$zVILQ#-9ixIM-me3$!ZBiqF5ky%mL)aiX!6MU2rWVb&Y9t)_UI;8VOw@`< z$HTIgDXH`f=z5l3WKpXH>ct@gsyGb%!IymCgePt=4;pz7jMkuadU3W62|*$zf|;Z< zsY_w!bAolr3PiPTbP_g^g>ved4u!l@T^6d!XhuTICgRB2`prb#yc~@XU6MzKh=|Ir zoM9jhj*MpNh6KFYq$wZ|d^?N_lf0A}yew$p;a_n9FKr22a!A`YF&ZIEQx=#}ocSJu zBb37qI`;8aO%=O9@P;8jbs^9C#pZ^_oRNnj**S?})x;C1>2et$)8664e~v-s6M(;Uhr1+`kC#8hA8 zNYCI|8Kc_sN(=w&)jCZ=_ zFI46AFtg8`j2Q~FGnPzpB~_(Omb@-c`&nk1!|}puBt$=!S<(o@W%$vz*-s|3{1X3w|4vQ z#r`4?d|(S0xhq|g`Y__*m;J*1=%Yir_BEqg@%v{qZ&~0W8$2;GRt%VvQHk>4T~z!e zDYL#@-j#fGaX=qB0WW}4AB5FUm`wc2+ASBD$rb#VsVw-V{mk3rtePzR*8qQITKF6Cs+`gusZoh|~}s^xT%rr48U{F;iN z2BMDAb2=s=n4>4L(sxo1;zvhi9Fw7B1v~9NQ<~nco7HRl=DB*;#|qq~=Ik?J#E<DxeRH&_H|^0ODkp5w5{~n@sJesemD<)3DK`WcvyP49h>ieEG~Eh}%n5IkSzH*MsKvV@7^!9Vr$#TlP<=i53AZVZ(#FQ-&^g+hPg9v|)|LW~)&VBv= zzQP+kz3+xWjA-w#EbMv8J${Mj_`4qk_Ws51)jR?P}7$(5X-d1C}oKv{6EZlYfg>=;Tun&XOSNX7s`gzr>0_>a|TrlL%02NqJ z_O61_kBtle*Kq7WZj;8{g-N2hc=9>7dP_kvNm6l?@>}^ zd^Ca1Ud4o6q;>&*Y^+gF>z7v{U6+6Qnd9i=@bkV_uUuFU7p^h0-yDX)>qqc&0_(?9 za&*?m?S@5oHf~GDe@u;J1y@hW9(yyxrI*XGrB6Aj##Z>W%|?N%&Q7mei4?&JtiOC6 zAcv3109HVxGsjZ+q6Slo$_*HAm(75_C!Np&vUoeqh*y zV8^`=J87HeJ&W28Iz-IQulgnpnq*pDF>Ove5ZJTy1A~TCrB3~B&RZheV_$6OfBoyf zx*^&(1=7hK^r`iWtMQW-U>XTe=j)(|En=!Dj}9=nmz3X;s5v)EoP;+cP@VD{c#H0l zi{OV74NTxn8t!*KEUfH=i7!glity|#%tA$!Jz-b^eS|Bn_;7%Y9>dw)$H}P* ze#WbzPNC!v}lBIBt0_oajov z@QeLa!DSGuvmo&CAbi2y@?@PqGQjcBu(|=9LBX3|?p-{ygLJV0=`@)ZKXsxNWq6*e zf8K(l*+8f^lwbTzp|~r=$aoef&o6oFc-?f~Khih;=w^|NS(l?(guZHdM=xF9ph^JW(T|IjD@~AISO;>q zD|R2PhsXfR8|YoX=q`RC_?53AlYTpfb2r$vqw#y; zg3~o#^lfVd_Oqi_ro4rK@J&C?OIPp;cl6euD*Ve(rEr=#5L3BD;1$syh^$ zKCcv~8$J1iW&N6QlK=g8Sb=q%Hc@;iM*P^>mH+5(^nK%9q2LAzNVw1E>exc{&2Ag% z{2eH5>KE8WuWL7dL~ql$P)!%gFqIn~FT&(LxaG|TZe3h72S=X{pyPX~4}9x~*epA5 zyn6KMlQV{HIwLhg2j7Kv6G(m8_$+^n2CM^Fdl8p@WgS5tm#YJ5qxUGi{1Qt*_@e8K z4t(0^vWkm{Kj4Z6=jPe6ZW-{rx-4CEM-#%!smF=3UOo6D9vrpam9I=;Y(`)2EpLcM z`%L0CDN3yjHvOu)w~*aT za&p?ub0#*GI|xT}3oJVHKfdsG$r4(3^gY`7EYFR{D2%ff<{VD1`|_@ZB4@@QeZkMy z;Ml;~(U)Fwgw6>RZziB*KA75P)kbZPH--FZyuTvj-}*4v z|I?k{T)R*Ez!W{0u$y>VG`;SnKX&8Uwc(>2>Xmt3~h5&^;UHa|K~iIuX^{~+jlLT{@HFub$Jn0-j0J0=}}wy zoV+iyoj2KrMXwzi2b&V=mMCc^+EQ2un{k~qtp7$gN8|1XIi2k$Pl!w;?8=7%4CwX}2#!&BI$7G*g zVU8@vwe&3#vpLoFq4qL7{b-jjvjI;5jhFCQDgI~?%O2eLRNnj0VtV+oOkZ%QS|vFH zIcRW4Z_ipJf3Mwo8x24*tV^fBcA>s~)0{K={jEjvQ#P2Jd++L_a|j_Xa3Wg(FCMS5 zc9g!4I4sBFw_SvGjTPW&RTheDD!!~oEpIrz^Z~MM6Fp?oSwf6PggMI0iC)#Wyzl1n z^jtlrg1&lPne580TYIGWVva3s_YhK-{jVm2)xPGCsvt2}rnCOQg1%_! zbe8;NrjQb~)4gj^{_^TKII+Wj;Eof4Gev#d8G;9k$3DR_I&%z^clz9Pli}FR_$r6r z=Nz5Vy{A(%Q)l|4?@hYd8MWbs#aV;3&<%b79z)6z?2<-B|KiIP?GySo$!p$>hup z_Bdwq3w^_@b`1Go$j|Xv99G9oXSD}iN98XW#$yDGIqEcPxNMJr= z$BUfpAA4oP`X6*Le3;(2av)1*gewKlff*YYpYm2zQ!I^58yoD-+q?QIVr=5{(I#e} z;oR;sD3$7bJ25zI?Z%zFC;Qe&kcXG`KcXGlRl~vRkr?I%+6g_tOM@G`%apHrJj(l} zddY%+`y(5C+AcafPPJ2A$~TVX08e>R3F%GY!n4|>wlBcV$;XMgvK5+>t336fO<+_D z(`GoBIBx`PM!$hCeW{Ol*lGA7S{z4owLUPy-l;cdXs_0I`}XyCXsAt1hd*___SiXN z$hm}8NGs=K9ebZ><0@WeRq?j|i6E3%`l1y%t%@9;j?hn?zI-x=@9fIcPaGXn(0M!_ zu2V~#md2a9k66H6M|9@s3uf;Dtla!Tqi;v_^VNr^3fQ)J`*!bQ^!T`OU!Cr0gy7&eHh$#j%Wt*E?@QN* zybSipidOQKW?nXHQWqU~7|rtN_|!RlRxdGUY|{tg$9#J{1<1YPrmMM+zTHhYWdqxf z5`pwfM)t(2j$Nzg(PZ~o8<>(7%+m$s&Eq9Y5lfsk@n=4|8h_?fi?hsI1QQS(BqDZ*%t1$+}(zNO8>S5QH=PkX#vE z2@uzV*B~U27w-uWiB5a z{H534D%iEU7oR{f&aqRldKG$F-Id68r?1k76u#20Vn_X5jNd@WvvAqVeW}clce=|f ze8bP)@dQpGNBJ%n;yakf<%5ATZ=0V;l>;P>C*kH{7o|ydijRZwDzgm00IouV9dN31 z{uS8;JK2W3Y}WHj`9lb?3-5tDzrWy;EjY*bLsIk@#a;X=vgBWRT;coY26kP6@f}Xd znbOY?i^+#wdGaM;I5yNS6Ftjv89b|l)u|!sq78F>H;tuyvnZLWNLqF zbutdjO@HNX{0H`7GlAZy4i_tZr=BE5?l53K665ib6VKv%Y>++P_H>s6rwm^D*PpGg zCyTrb&jAN;%NVZPzHeODc{;iAPPt?55(v5L8o|+!Cf?aNv*!%KIIi^N-|>D;#IqVPp_wzw`54dDu4v$t8+a22i@avPo6tUO!RGx;p@_6e zPzQPF0v}hv`G7|4#EvSm1rr*2q-&vZ;lN*)(X#;LNYY(FdrwBs2PkgrokMCO$0;Km zOFJzLH)Qpvf8j9jXvgzro^Rh63wi{$JFa$a{5=Psxdxis4HMDb%}>_z;SW1R(qw$^ zCGvb#k+g_Ei%W|idX8v3R}*__Ve#m$`hLyt=D{Xf~gcdvc=Y{6-<=0)`J{-u}g*Z;qM_2jp| zx1;Y{4mK0H&pAstlUDom+1$WzQMIoQFw%SOTew8Ch<<)C}a>*zh+?lE3p zY{6rq@53J7!|w~A798sS{&2=uJ1t9NPUkT>%IpBvpMUx=|CD%kEuHidmbTx3N?kdp za}huBBz^BCOONVE9UI>*UO5p?U7U$ET4cDLY#(#_Szu`>93W$3gb=xd_K+O~$MK5c z&|JLWYc*T~e%SRX7i(P~TR6>&Egd;^yWSIIAxLI6W-K~5x-Nlp=@4Rf*-IB3XLAUr z*E5e^kr7lJ2FOM)`n03Yk4UZ#(D0S0&tT)A@OpMq&{;d1n*VVQyHPM&$9uef*NtIq z0*iLlOaR0a3~kdpIHrTn!d=HpBTEbS|LcE!+|E6EuvqhAep7IZ`cHjfIf2)HPrC{? z8kBWOqz{>+=%RrRX|!on>DCS$i#59ANc&zLdY|Br+EUW*eObnny^F7u8~Zi~WZ!VS zeO+HuXQPi>yAH?q>;;V@UAnK{Il#3E4r&k3u1-Q2)l^dJFJX=wg^JJK=_#0FE7oFc zm(JN0dy`+B+?ZQ>GFFa0^m;cB)UbFFc--{(*n2e9vvNm|n67N~$_}Sf!ea??*nx z2zBh6Za4KUGLl^xzfo^ecN3WPv-+3vP$eY zHW}Xdpyy}xxpV$!;C5(%F}5C?pnFL-t!d=&c%==NAaIkZzGMAgjvcruOzG(W3z%NR zQJb1iblY&@h5UAXaReEY)j5FC?yNgv!$142WkUZ;NT&UrBs#XMias`7Ecr-KomTKT z`$|#A2BGlNw-#mBw|ew}8Kt(0!$V-G9OjN~jwdPzkFiBPvO{=4sw?N9{j84IES;f8 z6TkNY(QjWrHBZS7>SzAduD*TTFgX3C8@@u(jzgDyELDA>RVE9y6KWs7I3*sx^s)7P zaLO6N&hD;wDd2fK8q4J%^sycepAQ|b^_j-K_w^6E5fnalZ@hh3+xf()QUGUOqYm|j z?7|1Jq}xsU=e&Y;&7GZVp?V>x~FgSx6$1L2Z#_l^Gy-v>BK+x)3BJt)TU>PyPTW~J7C!+acr z$7bQ?)K&}n0k+G|+2?%|oCDMQ1kHut(XDANs1- zj1n5ne?;POeHCHiZGBa7oKEH|&PvxtRa<4?;%v;Wki^QVSph-)=`BNNDmjwe_&VboPlYwt zl2&I~kcF;^EIs;r=wot4ld~_{tFOS06<)f6kQIhwox$*5lBqKX+|}tc*o%*TWZ}sjnbBmkNzwHt) zw~lq3<7L`30izQ8PI`0 zPzQ!>yC!Y}&;Tygo%VIWR*#6)`40Ffv3O-C7s~f>(MK2G}i1S(yz z@p_e+KH&T{xYn8r^t^hI6w-+@Bo`|P3BTZw4Q`=}KpwK;E&9Je-+%`Na)-%ve9JtH zTyT&d5w`HSF-<0bC;#*zkPYEEgB{3~ej{=g?z#kY>j=L7&(DSbzFwWkE8Ot2p|0iK zaPpX7Hsy zV9Fledi54)9^2PdZ*dYo$Hoqd6#}b$?_7L%V^}|dm!WH5UcYhm1(Sy!E@4OS!l_8t zcM>Z;O}l<_c?b7V)I~2k>sJzDAK+Pm@Z5SBPhim)l0*B}tA>OoJn=M$&L&SL0cYGg z3m8MHWv6c7jLEcmU`|=()nmWGdc@1FrmtVRb6!9Es@2yvV}*AnWc*qAco2>FQu;Zz zaCC9F4zGSQgDCazrGU_+ii60XVespmPiJAG&W0^(1UHHhfaU&K#OhsUl%YBKuJS2U1A zZ@emc8-Qqs@|#|ku3l8#Bu{_h#_{tCk(=jq4}fWRE;pIl0pP|Oo|+?kPEnkkp0F_a z{QceY-~Q)6`shW_b{Z((J>5+JIiBd@Q>%{GZ;ox4ms?iordy5sXfbaro z6KK0HJZ{rwwBVG#+G8?Ms~={*J6(YEIvQA_|eWeGu6S-3*ri0 zq06zj5H^<*}~*%Jd#T4bEQtde!StMg=mS8=`1 z8cY1!VJ3f$QH{CcwZ2JR)GpU2RJ@=r^nrF8a&r3Wwa5PT1;%gff3Izs zzTyQkOw)~1an6f9(w{Eu0y<;n*}3S(gMMHR^?2FMr+BsShiZK)e#3uuf#Q)F3Z4w0iR+;|{cS zoL2g!^GXgfYR}qvJmH%z(~Vun95axp2RfXYCCwaurJeI2CgX&z1QQ~=zjISE4J4~N zpcf^mn2w9WNJIT~QCsA+d6_f+Mb5tS3W{v7_U^?;aT)AsZuG)bh7wH}peX+lM#Iku z$~fRS^bUPCOSc}+H4Z|8qZ=8VZV-O1j&^gTI^q!Hh(wq3Nf@Po!H=IM$9HGt<<8 zr0y^H&ShOXQ`eX7>6pE?yBA)xIhZ*>vyww0MNV^_*`L5xw8iQA5?J4JI~sLM<8yS} zTsXYk!s@RE9}vB4XJ365?E1!6jRE=ueFi+{Pj7nyPA_EF{5UFOkCNBsyq6R++A&)? zhxn;WILME`+2bT4M|z64H{pMlJv3a^pXFd;mzDig-=i!$br2Pg_^sFpt4qAsC)a*o z=eS9`Ov9WqKy~xyfy*H zUaul)3|T8!qlz=~1h|c5(dUDS)0M-l^5C(4J8bng#)m&IXXGEohXC~(c4iwJU&ap^ zN=nVuNzvV;g(x}@>kqVFeC}FSh}LHnH%}tBN{qwO?I_RQ!~cq%SLZK#-)Nes;Cij< z>*)IIIt)qh?B!F+QcgY3p^f3y0~-i`<;JTbQNv7WF6IlHiGiG7c zN!5SaYGseJ@5V%g2tMTqOQ7`<7(g|~+(qd$W16EVq+_ab=e=_Z)qo;!ca$c^=UMq+ zid%5_pJnKUScvP&OrlP69C%01-PEfA?*dVJNfp5Is@kYy@tOs7#U9$O70u~P-L->k8xD7vnCmWGQS3ww@#fmi47S1kOhFBjB^!? z?u`?kl_f{{;ss4e1KdJXI(ct=0PZqb*ZIOF4Xo^3VY6qPpn?ugbYA zvAP-0@(##}!0ku|vgpC8esIY-`C<#~sib;=pZrR@!|=g%q&c1Usf{m#c&HGu%$%u>K;ev`daMidWDfOi$uhnkbw%jB^tW zc&Bpk&}3NFUX;=2EFWAE$HH~K($*v|eCvZ&=J4)%IBuHBum#Gm@+dnS$$``k z0)v}f0T%cA*fSx{p3$S4JB)A_n+RPDj9zdq2VVhtmLRX@;Ss%O^kK!Kz2377V3WzY za{9f;`Od4YB!groZ87d^ZwA)sZX*8Oz zlaI(R0sh-|z$^=b3(3ll;BsdFK~Wp%l}I<6)Kpk?TSt3mnFZzglW_ckF&GQd^YZPl zO`wdB-x~*>C*!v|5HfkB^W1&CCtaKXbfQj8UdB#WSDH(DD^Qikl*Zi!XDG6>?pr%F zzVs0hP8FiTv#OgN;6*?iUFTDUSy1WGVuOXr9u4ZVThb$cSz3JOoJw|0!8`3%5J{bO~C*0U+*{Z{M=3;s@=i`w<{B!;W>6$@#vyo3xTeE1USIIly@p`dmfG?0ftMKr-_C9hRAB9-pYJ)IIsDMI5P#Ba|2V4P zEDeQpH9kkP>tvYx>3egM0C(dl_|>*^M_8S9gd#jgezs+ii*bvRd(o$~1@5tr^2k={ z<+JnR?&foRe{P1a??T_MPa2^s^w2$}i(h=;SGf71ufsFg0^86B4*{Gl?wVU>6214b z9irvaN5qS_Fw362=MDk-w?o8^=5}pU2JyRG}?k zJG*Jt6RnlI`UnvCP%eGw4>(KT*Kd4J4)anr3BUF|M_@L6F`Y@26N0_Rt9YAc)A4F4 zJa*HZI6Z&Nj$fpZIn=H(;9FjT=Y6#WO*-8dGjq~%igWVNE6}gq)v_D;`Rm@{7GCXZ zJGM{d^-GA;eyHvdPV&k;sr}oLsJ`gf{8>AgqvzCAqOdP^tZ(dbUj0T1>VOkQx#^rv zj4PKNq7M%q_8$%rj@Tj8IjhJ126iA9_oZSx$6nQN)=pFIFa@~Xad4^b&eSCHIEnNT z@f+%`-^yA|1qW;_C>oy0ELS~`cXkH9wsahF;Ix1^oQ&W&>pb#n+~5~^*BwGPq&~Tc zL^oI4LMzZC>Zl){ly%5Ygz<7&dRJ1-FOFWP7mS~#oeejCh>rTi7rVK6pM$%yryHaD z`i=PE%wC{7_0z>Uj)jnMI|wU)ALLFrV=(;mF-K;$yIpw6tIcx2yka!*tN-whI`6Li znlIyPV<0+cnxAnLx%tQ|p$$8<-|z7_q9fc7T&q9$j`Ph|diC?$oD{$23g$B3s(gJV z>mV`9foK8kjuRaj?0(Xr14&5y{X@SlY@>^y8q^qwU2i6zH1Dn zdprHuB>n5#?UIC7-}=HM^5va=+Ic9a&M#f)64``t&Z_{>)6TuiZ+#j?V7+vIr_U>f z_xc`R%Ox_r{*o;<%HfmDOz*_CX8z*vAH_dZs}aZNcX z3%+%b!7_YBr=(~R0`I5RR(?*b@d4jBTRJ!mU0DNy1%--4bM5KohbuIcH;>qXe~v!0 zLBMywEaN>~uH4DOB>Bpz!hMZL*dt}Nuyy$3J^A3k|05io&_Bl>+`Ajy_4Lc2@i<+S zH&SFPUmXU=*p3V#)uNgJju5@TGh8sA2KA$k=UWHK+^xE-W*lK}q2%v5C%uHVXX^j}R)df+Do&*0yF)6L9Nu-zAVpGyGmNyY{D;pHuezJQ zkYXR{;75*yn5@^Sk>sR&n%;h5On2+;kd7WcR`-=lkLw}Q7n@lN>lDy_{bd>-3*@szZ~**9VlMd$+F=QcLC%&4>|pm)kDFhPJ4Xl&9=<{ivHE1W*Ru%fC@S>SCp#dE{MaPQnCNsMM9c5MW?@-q6?eY>Lqo z=tj6<6_qp;`#EiVGL`kfcj3b0Lg)1}wK7T2KX8KWTE@uL#>4l}!Qi#~`VD==Y<)-} zIb~h`iqG{e)|Iu(U``8Ct|R^oTu`1xiGp~neUJBGCT{>;f2|FEX%Xm4UYmexXQj_( zE__Eocm#D5j`})-y(nU{p9?kolJEBSwT|5`rZ-J8?};@`3kR?$p7Er8i^qrYp`6(_ zi0a+KLy@|=iEFX2{-o2w&9ij!b`6WDvKH?2^E}+owtY$GSpVPe>N-Gu_2g;d#tcxj zC^&W=Bpyc>e*b=uPnLLOY}^#H*p=FLjxVWGA)a}AN#OJyONr~`HE;ylQz+gR+Hm*f1C-G zolvj3Tm9C8AJJ$aKr5#m-MX3}(;GVLkF7MKf5YKVd}#2}^`@YB-hodNsbjHzE)}8e zSewEE_-r2lWI&t0j_uOQM%bc>Hx^CzzUCZ-rfKGC(&WyB`a|z(d-aFMWV(Z#%+Ixl zWU`yjBPxH|#n`0Sd+V%6KKB8HfA!*nrJy)uHOLABzqsc5S^Z)9g_7A z#{iBz^iWx{aoDKuZ(To)0drhvIW5mF04(7kQW!+%zCIUcffF4I2Mw8Xe*J;R3v={w z=xqMC`X}#zrk{P7-2%!c%j~+ zZ60qfjTeuha+-2DJZ*d+jiXDsKcR! zh?9A0-#HzqX6Wz{E<1}!GG|mwm%8@Zb3@s2SGB2851u3Bg}Ueut#3I`?C#r+$YG&~ z(`RuUy?*7vgY>bV2LovJH<}lXK(zBY>RJ$wFMMkgLXuv zV`EN;3Xy*w^?|PP9J`rOb?LWI+UiTk5^j94-N_m5;V;kJia^pWK{I(1bX#8J%cRFR4fv@akX&2ArM z>gGgedGGt$y>SsU+r^oF^xGcG#Us<$94#5VGT^25v~hsbid@MOPjKB|$i=HR;H*}5j=1FD}uj$WT&(jwSD?~S(~B{*2d~NF88>7^CQb~kh*yrzUI&Y(*!``K@=iySTZNQQM&krM9i^06HA2vby);XO3pR{5mJ-AI-5mZoj=SA4zGA{ z)5B%tC!5m(+QDDubIA>kZ2eXj-jC{Q?C;Xw*KWY%tr;%mv!p^5>GsW!C*ISOXtrLv z-L}r7Mj3OTw_W-ubpvwfb%>iOQaGNIa*mc&N{polvS^szGo#3Pu&-(aCb zdeVa9Xoexf7p+xp=^5vGfHB~wfRB!u9+~kFt>IwY9a`^`4xq#Y<9Ze$fAU{>7tL8~ zd7Btzz`3P=`|+=jzdcFbIr{L~WOV$Y4*7Z<@^_>=-QSpF`K%A^i>KkGUwSRCkDBGk z!%CCx;Vv(u+k_yH6;7_btUUXu4L8^%R}-Zt@4P5Eh+Fq9=GUm3Fiigu-tGr_`8BvS z<7U;jWp6|;W5xkk+1` zr?)z+Er`ZgfMC#H0CY!-YYyyn{o|Rm7;SDaGKWK|6 zdYzT&G9+;WP9UHDba*G7Pl!+JT0H!;Rnw&it)Nh z!=`9wGY6ByHqh6;EQ(vawm?vKrazyP=R-SLJtkt}x_7u`XCJ@PYtDrpS+<~GyNoX% z*HB&O{dEzJRqs0bkh9O%EdTa9ea79>wp1AdEAu3J9+~qvAIHtdcKH9`WW;CuY!NtN z2zm5$*Dn;DYHWyH?$m$cUCjty^;i=co(8Z3ks_wAe(%Yz#~^9ySPLE9dQ;oiwKSv` z4hB(r#gDvUjsfTGnu>nr*wnY33Ux_u-ZrNF>D_NDQdgQCf=ONGea!r8^J0&lZihtI z<98}#M|9dxx_jPg;Ys%B(Z`R+o+^!9C3h1=u!RbAD`pMOIZROZV1jVDHhxGUpKK#vIN!z^t zMLS)eHc4```(yLPuiyPofG^=#&Z^b_)8|}s;^#Im;Tan zbx&{YuLzRZD#_aAk}#wqk?&GJho;NCc^a%zdY&*Tz=67AvNh~Aa z)jEMr>dtog)bJk;zr6~hfsY()`+2(ABkCdCoM#FdrpVC|WS!NE&V?JU7R9kM4jroVbuJa8xy=a@l5U&cPa zCx~%*x=1?xAMKFGO&hO?_}W~+Qe9PeN33<<_?b>?i}0r_yT3ly*4Qsz$aC!V=zz}d zK9Y_O$OHr${ONxtcL3&@99ZkuqH=avHda>uZ>zK4?Y2v)AG^`$oq`;Q>WK}%*KxNy z&X|s8!&bDl_v`<@|Ms`={NC{VqiY|Qa`WzA^*c-(-`-J2$NJ~Z^{N;; z!*^^$XjqMg8zsh4d%tKaIr3evwdHL4$|uU$XZO^hZRZlIHoW80IFcBYv}kn#Wi z*Vo^EuP|F=6XvkqRhOInxAz9x`dIwjJ44^((EHG0^$yc>2SQ*EW=y zGulmUH=G@8VUB67i6n)D3FR1Od*>oM>OwyOn&Zq^l4`Px`l$K|yYATfb`Mr){08ia zmOL%#qReoc^BJ(`46Ho8Azd>*<9NKGn`G6^#aTX)K0}s0bVDK;@QurAV-8exsmyL9 z)s9J{U-PsKJ3V7ByH{tYEuT41c3&Fb%Wj^~F2>!ZQNbpsXNQ-C2<9@jG;g9ofu~nsH3%V9FaT>Urw1sZbW%m`6k2Qw9A7iO z1n7d0ut<0PBqc3TS^uRm2Exq=Bd#(ozQ+T&87D+dXHv|0(J?ltG~CIx-HBZszEuKw zE7GyYcHtRx1qAXSjKQU2Li8#$;fDRB11oE?8=P;wz?**8=ep1W}2Q&G#?Pb7}SH+qBVd6c*MZD3ZW>o!IgDy`JQ0_P}P>XitG-V~V3czKWCYl1)3Fhv0Tk}IvcdyT{LijRDEgDXlDAl@lhTW6;g3Q^ z$3s8a{PcO_(;hjR+2B>;0ekZxV{vUk{QT_H#obP%LMwk~D3zOir?bwhgPVu(FJGZ6 zT=3gD8T>?*R((CO&s%&johQRpUL5lNZ(e`32iO$@Fy2n#1Fz8X9zZ{@6NAEWdqiWGqg|Z7 z%iN8V2GwJFm+eBMeW|0nok_dsowJLJiE!TdZy47XsbhA^2fx9kwy`_W`ZB55gbFP; zG^+dy^GJA9bqg1Z&L%4Q2`~>HyL!~~RWj;QV<$du0y7+mrLiv)6mZc!i!h)D+VYRG z00d#Ow@8KH?da0k7-3M=2b~FtbMjRlBuS=fvTf=BUPfg*?1NYm_qSyZc#J*s9B zs$64$fZm3II>@E;Lno7^!bH26YvG7SSKg7e5S)NcW175E;7k~r-IP&x5RUa>V{|2k za(#bkbir;Ua^wh{8Qz=ck+dxsLQV(9Q;RXBHo+Kwb+=XFbUzJA>;(Vf^nlN#Tv@vIn2JZ`+}JydC_|6;!ELZnaB`^!H?Is$&1ANa z^-d~0;KjTBISS#PT^2+5JVH~wn4}K+*ud~^KwI*Dl$gxn^bh9N`PxEBlY4nUL<*sn zPZ#*3WAhbdjc4bk6yD@Ffi2(1I_wPc2$y#b|1;+lmX-7Lz$6Lj)AWGmpYNNv+Nt;Q zV>{}a{8hKpCHRi7Io>^b^Th%+$J^WDY}R|3JZj|KdZ%4jV7H*?5jxF!@AQcm{rDbB zsnk6oR$r5H9nq2XyZJ&B|Fym*pwF{oi{3ehD{I$4i1zeEET)&r-O7XRD0!M=PNz>& zhv{Yn4;_F&r{merE~?M)v*RxDsqaeD*-(0B*PK4D(p8I$?|W1kmSl?8tf4gaSm_$M zuQl&ACKe2V%^?^*9Bju$+d0_ioDJ36{n#&Yj&6=UurXn~FeX$N$PN?O3TOucp0kNN zkF#q1e(;-{5~{bN3jLYGmm7~;gHu0#)E?R{EvSNmlj+dlO~k0;+hcUW%&Ezy@PuAz z@4LbIAOG>Do!TF-N22PVTYNr!(T8TDYgb7>!CJJQvT9a96>0p0Zv2e5yRM?NU3SSL z`+Ie(FZKRTYlJw6243N4@z%}nIVQ=md`GR%p6{f-TH0 z=!snNO#|bzx|~CF^;BLo9=2LJ?`G2qin_pjXJ0ri=pT6ks5q)weF+gi9MNXZZ+QQH9 zhJIXjO%*$4Kmf{#Cwy~$J?B7(uwOwxkL5F0MM`~CEgiGT&PM|PrLcw(p5Da-eeoQh zW9p>Atu8nhZnwd0*DEtllBLStm>xV?IZN#7<7io%$A4MM;$5HTvDI?}p*|qm;QSdE z=)Ee=SrnZ9DxS2Tl8G=}aB$Axkv3g_t8MvGxEm04(*Ym5H|BF>Ev@n&8$0d7^?uqt zrIuE-h4pitryu9Z&-sRTgz=)il+nR%$uqg+NAHYjqRGWk7Lu2}F62ePc=Lgw*NqXJ zG0LyM2%Q@aZ~7?O{eDpN&_@%!Gbc@+^uw9A8y%Z3oc7|8QS07)tR;qKVOZ`UHy&-c zGKY{xmv%xn?4GyXaLfkeopZ)~4rSwrdc}ru-(11^^Fwm|&p&%ivA z2HE4c=_))~LH1}aebw_NkN)(Nc9E{k|Ge|`ZOs1uHhtA6wQ;+fCufe~9n1J42P^I; z-u4r3;Yko*f7YLDXI=twhQh zuk-2ClIwcK$(QC`YaH`G++B9U zrszbY){fIX%z_@O_FU&|U3hv&i2`gp&}ppS{< zWc|aOK`$-bvlcCwF4TODZw|Gt&u)~;K^1TK0=iL=%(E1zPUD`_bMcZs_Wq9yb=wbE zt@3)HPDgQQ)nK}-`y(qsVjLr*PIL8*BH9zDtGN8`lTL&gwz{EVW|+ZX&g z2ceV1^AC^p_RgcpqrTOPmhYVYZa${7yY8f-hYq>vb4i2NgLd?@b7{^3K6VyAQFw-G zb%J(0q<6Zf*4@1-c~YVAD2HST!-Mym?+VJ-L#N+4W^Pz$<^6gr z@9=*HG6{#k9I*H}$~fu2mW{vJI^7A*j>)LtmF^^6eLISt+#+kl2XwrGb%4K7+~+09 z6iP%#tmrS6fAVD9pm)UeUvT{bbVia;X4m~0oVLiCJv~-~;Bs-Gj0#jrS0+VEW#q!lRV>C4V5M#@T70;|E@4E;^X% ze?v4GLex!9QY})1L=Dta{Z1B$KhlQi%yYOnp1+1<+d+7n7*}x`%@D-lh!wV!FD?$ z!t>M}>dHj9n)UZ9KD12j0$`WXhLb&>#hu(_tIi<7``xE+u>h|;x{m)-GnK#PMJrrq zR0&QzJa|J{j`Kl4SqHz@j{Na^&W`Rr+wr${U2WJ6^3{#1@IPyNmu}WVeZxm%*mM$# z6OP2j{4I(Op~_+!#S;1-*GmF`x07zn6@cUH;0}8AAAOE+@$xsh51!fYhNXD8EQY=gNgbiAD7IfS{TxUc_&@&U7^*NMdsUfynSj1DMy3dxz%DY zEt(=_LHkEfl-SwJ0r|E1_0GB6QuY6}5fj?;?-VO+V?C9tBV{uE@%x*0)iF9R`0w3w z@o2~DZX5*lu9s82?Mt6uybh+ohS13hD@4X&r z4)pM^zSVy`dt^(0=S$U?GLJH4yX`=2%+@ExF0ipco;l*l6@BesH@DJ3O+Q_g7C&~A zSx_&~CEg2ju2e_*Qf1W*X8`^BIr+7fJ&Ra*>A&#ty|sqYbfNClBU`jv%Gzt~tunK) z=xZ^wH8c}eKb*tW-J${<{?5C=jvca1Bg`Cn!Pr&$y4{|XWf#}#boF{4&argl;gFn@t}FqwG1@>^T6i70##^?UX}vdQXQM=#> zN_M;PIP5;w_K`8RYdiEpKyCSDeaiaQU{}+PMSHg%g;x3IF`4;x((WmTpuE3N8#kWb zn~U5Ko9?6cEu9+I@bs^C^Lqd;Rn7V8QDRO$V;7tBS^-Zyc(UM0&dATT`9FK))(-JM z^Tc&O7$-T$>W|;PZbs#CT+T1!P~$nPDVm^G2`xdsu~?2%2mIBhjp83izOx_-ChyHCLBfBxBfk=-$6v+*|PF(WA$iBqO6 ztqoL|8?i7LA1>r;h-qTy@)t%IGp;Ev1Mblgg6iMw1i%DE?{5bCU>nCXBDgdN3Fpxn zIBOu39zQrjGF`8Xer*#8%8PI0=SX8MCTeAybe_BNRX_!n3hnZs530kpO4`Jx3;dqM z(xW|Oj6wR{Yu#}@tqR(?eDFOovl*+}&0sfjGXyacM%( z3~#c4C|sv=;WrpMq7yF`51$4*Fm@7CY~ZiODnkJ`pLh_z`GZyg^;^Up6};^(9&F=3 zywboDYLWe12{HT`T{KBHiC5fkOy4w z=SSq2EuvbVTYJeg((?-Y$dUyFhTcws_@{-cBh{E^Z#X7G!J53vfqbyRC|Tuir3n_}(JYROLB<$wG;0u;05- z*ZBR?1OXyr^d7g89;7CYIdL?^&m*@>O#fG6Cllbq;L*+Ov?2t$#h8r)LrxxqMZUJE zHep*&-S(Yh;W(&nXKPGi)@F49ya^Le3bF6#C2VC@X z91BI*(5S$6$troAO`V5a*Go)r`Z&Cmq&(ol*%ffKF$KVj*A#)LQ+@cWeEL6&+2SU! z?CA5$9;=3j1C5i?4u&S>-Szffvybh%!h=cdSrAqy=0&BsVPKIqr)%@3+0B@2zE->C zgzME--63xQki&eAsV3{--oAaYua&<4XkvR7Nq^=5vs;0DtDZ|{qRw8X0aDXn^vi$u zx*ZkKe&0C#w8{L}?uzeSK=G#U*g`yb^?mvR<*zs~LNwf+)dhV99gpd#4C2hO15kP^ zN#pfYTz%`CEHosHUeSB^+?-8KW9&HjZUNRn%25c_+Ftfy;_S+?$#zjGuAMmn#nlZP z;#9=2T;{vxTl(s!1dFvju2U&8uU!V~H2`x~#LM&e|I`9%&Km}cP=HK*cB)ed#=DeW zzxuv++x@8%%*pet`S>dzwy>fuXj`j)axYxmC*+af)YZm8Ssm<%PM)eO_CpUI4Ntb# zOGmbTQ)qo#^51Muu7B?VRBu3(J?#o*s1o_#+u)rTCCAm z?aHF}TlcZIw&Ad9F^AWnFFe7LrBl-Oh-JH0Enpjuv}X=T4yZ5PIDx}W2~H>VzME0j zRI$Suo>YUi!jCg^s#%Khh5rzqMr4m#vu^vdn!HH>Q1{j zc6jEsaI9Wg{GCoOMXN>QVcbw(ZR3k1p_t-rPMOMh)q{HEG=qT!zzI7! zcF{H6bKrqeccZJmnOicfkCO{miF2})uA9SCStrB;d)Ghe^IkXBZueCAbXVpvCedgP zt~P@5slU_qIYw6x!QpFPsEtk}`=wiT;KEs*!xwKIyK!EYM@K(b-}E!5ntmvIal7Vw zd2UW9^Rz;~pn7_dWF0Rzt)q+CYPOC?`TmH#8xTe4So=1obu;6LNykZ+j$U`OKs)@i zarr}ijMs^84>kDK4+t(QKrg~OZzrmKxML#s2xRF9K zPCSmq*-`a=<}YcHp5q5aPfNI=d*4u0XR^F2?`t}MpHuk%=u7IKyP@Nz5&NO%Pd!!g zkMzaKsgB)jW1MT3_{V#&{U3WEVXz*HwJXu<1X9oPeUaF5Ae7Uy_o;dm{vG>_K1ZT= zMn<{v_-5nAr9Pn1*sm+AcO0%s+_kh1y^hE`28|mYZ#IT`Cn)>eoVdEgpC=#K;oWXh zSLxL`8vd8t11;^ry`=XMO18A~8$x9bSIqVKQy3HIuw^0a+Be_wTj;iE@Z z@IVnMZ0Dkhd^(KX1&k3D(`h(0c9Bg=9?Gpih@&+jl*h5fk~_;dH?d>v_Z@x4zfiVt z1Y|lACdty%H`Hq&-W%b0dxPulaNeL*5TIVgaCl%};o;odduzH*<~2a(Db9Se-Bqkz z77uYy#O?ZgZe@lqQYOx_Fwwf!hu@jUj%|jze_2 zR@3Cd*d1gDe>sQUbv$SYSK-yoc!h^9ZZz>n-zJZwTBn%qR&G`%-cgyo528FG)7!o{ z)?H)*86+2!Sw$&VMvZ>E2FoYUw~UtgrU!JO2-oP9 zj^?d%^%9Ze?7A2%`_Ob<7%vj9>m}Zozowx9K3T{CzBXlI^TXZx>P?5Ty1>iwJKuVk zULz(;aNY56{w(pzbo%wU*^qXX8{U<ID`O3OG zxiz92=c9~BiL>Jy`AItEFC;hoE-$z{ZRaxN-8OgU-NmIV);aC(Jd&4gPs_bvmJdPK ztA`VP2qbHGl~RvaxM|-s2Pe0L;knNjd}+1jvcjV7U7OXwvvAIItqBnY+G4LqgC{$A}y`KO!F^H+N7&~;7 z)2AM%j0saz@EhFthbKlj1D0?IRSM#QF1$3lql3-8Do%!};p(@}E}K)+lVn1xVRXpq zj%r_7ZxFX|HesEEwlVH#qcOg5ZVSd};fH=!RjB18(tVmYNShN?UE&d6_*iFm>sO8= zV8tuvYW7pa)ga@8K2v`rj_&q2uXOaIE3i3bHU@^%qW)WTO9v+na$Rea&hGR-Z<71| zLzA~~K5I6;g+z1@cVHoRlHzaJCGFTeskm@Y%uWv2EsH8~m9Nm*dBk}OL$W2WJN?2< zV+9h*&XYMnQkseAy_oiXW%@PY+ir?>LfJ_q99-E?`ER>z|NOc747T=%A7lKNV0~=C zu1zm=);3Mj-@VOgXrf!4vRAx$HHZo($zGAsYU2}6&n7>m5pFuczqqGmaJG1}Sn_%jb53(23lr~#^LVI9q;_C##a2wTrs*>G+TWB*<;+^t7Va?ADYfCx?8~a z9;WG(-PA}o@69AV+DJb0*v)0(?RpM|cq7+#xizO}FR#-vpN>af_d<2!ULVh3FLr0S zf%30*nR-tbC-v_+qrdi|_fI_mv&Zr_!J{6?={1IgOExF(2DF>T?$XcRKNv16!0A`V z8PKN|hySZQ4g__>(e#w#HJqD+11f#(IXqw6ZTq$z!mqP+4q7rEqS~=K0$aVL2m0cm zP-prfj-5H(;f!y3hnx=ay92q4He6eWw76rB>`?#U(PUzO(>9^1tQ!~JQ+5Xqne8x5 zsP%!#C!7T}$BX$q8T~?n2gE`3Q@QQVNrq1z?Jp@`U-cQ+)i(!#dPZlu@2R9!NluA5 zt-_*iW-G&p%lNMj&ST>lLV;ZB=L-jEHefNX#j_E%piaipcoc^-+^avf23pXEeQ6Q= zp|66Uuk)gK9De#$bdJ82U!Rq_@Q8=;3DMfx!8okDrj8?vwtQf5a_oL}6W{6sUtt@c zt7`*NSLA>SPXg(bXCrI7ODR2jsrlycId!QosmD5hy>RwkhpQGi zrUUV;$=u7@lYHh5ZV1_7w)tN6yLtqD z7mnf(m8K4q)t2?Kr%hJhw_;aS8O)CeWGXBEZtZ;sgAs*(3kN+I^8I%o#4MA^)LBmw(3`a(#D)`>BL7lyfgIo zca7Cys9GDd&ubMpIDH9x<5guoH1=|I{vNIFja3&p+tQI8WPBIiXUD0PMZ*+d(dvgY z(0fMh3-OM+?qSAn^5bLth~0fmDUE?|>MP!NBc<;7;OCIcL0ON|UozJ>*{SwlA^jK+ z`q?+Hdp@Ndft*$xaWtfzk&n|06|Wijz3&XTDf3}B1Kf~wW8mwYdFEoCbfJisjaN@| z&Kg(TL?Mq4Fnx(PH%*j#k++V`amc9yKB40n*Le8>v397 ztvv6s>Sy)k-~Oq_*WcsY z4n#NgzsLV^s(NQJog>sKJuM`&%F!?6GXIP#OoP z&fc5o)hwTrA;)a_+KxP7&OR5E93N9!`rKJZJ=4DwX@Y`dI~nH5uFSUYma4pp-=w3C z^T>s*(uYsUJA@T{84U8y81$IX5Q?M}o>+?W&H$pN!A*F-q&$44+seCpmO?Az1&j4F z8AQAzTru9y6YR1uu_jf;#@HhLlrjdDSs?{wo@-jq2+sT5lrF@8W@jSZoMSI$e7Y?M z<@*o6hL{>da~xu;*cFy`M><2fGN!g2Q^`y#~K0ktw8`U;0;$pHbx|32tVKf zbo9Ttvvg-*$}p(ut?L`J{71YC1GIyl=s6sdXL!hxfbhA7um2?-1BdKFSBCui`sU$M z;&E7%35KkkZZ-0~M^fETsxrbY@3|@uQ5P5fr59g%8UGF+jq~ov@*;EU@6^kRTF~Ji z-N}CBA8+VnqYIPwqPf$r^n*YjjN_8?mhaTbv9kx<7^$4j4GDDa@^GDs>x}2F@dmFf z!Flm3ZE^Khy2U_v)z{IrOu`f%xL4rdkacA{t$p1^oRzuty6e(}8|IGR*I+M1?09kP zm%lrP!H*nx!9`^@v77$xLZ!qhpVNmHP89 znbXajxitoh!dE$<;A4uXZ+3})sq|%>H38~s$IN` z9X`G{zG?$6p1EU5mUxS=gVDs|=saz;=+<;|*qRSyt44t4uBSaJ+bbZp0BC}R*KiwWH7OxcycaY@IO-Bz3-<;LfRAN=&! zQ+L0;?ESNx1{U|P`Y?rE3=P-i)-P?g6tS+>9_T83=q;_^qhI(&{mMJ}*jec^Crk9t zF5M#-J%BimNgkeDiS6zYYGO3zXK&y?yl)|yyl?+_@!Pw1&85<*399$t!2OT^`rOXJ&n@E8SH~vJ zRW=8!yW8lFI(xi1N38#=RyJ&CyV|>#d>g`EdMY3Q{g`9#Ve5Kh0Yu3-T~Hnxowi$D z;czbjTtVFq8GHeHSxxc5edd%G-XB^CP0Bi`)H zdX`=-(!Bg12DYFcXJ?IN>}R`EvrW3iqjqGmBAA29U%wu0YxyFGFDv|k4Go?a z?bRWi3qIC^QBF|rP5ZM)x9#w-@HIcbAI)0hS~VnBa{x|deLX#(>?Q}ffozA2F+Yu1 z6g>^rg5({?brF4O7MKk``R(uTUjFvaIhKNN{P^C@h^L$z!T37#`xa-j!U$~_TYbKM zb+qc>Eng{ii^1x}oQ*ClQcbDucUf(>VQt>R&7+H7t7D7rDO)}2SsRBp#;rcBQI36l z$^mIX`MSs4DUaM+Yg|0BMejR&-Xf6Gf)oAQc7cWK>tnGJyaMHMCcey8Tw1_-oY?CnIIUN(a&$^AVVceUIpm*)-#lUV7;lhp zICEsKKxL+X69uzB+ zHW$Bt;Jw58sc1@}TRhs8=;I*9{mGPkn**tb>|r_#rFrIVY)VLPS_mB5>{8sBmb_9# zEAg&DvU9X~{no1*%)58m)Q8Qf*`%92`1R{ppOuJqBz3v|=x{5av_X}wUE&$Y6qPsrxjckQJt26KAGlm10^HyEjZ5n;ObbhMeKG#0&EXVU6b<`6lM70ncTcC3k z3Z)-?99`%SkCx8)?kkUuf@QbCXgj+>5&8eBPvWH0KmNBq+~73}#t$@J<(&PRg5Ea) zVIO#+5AVxNn%#ulQ;F3vTJ)r+)SqvMV=OW~-&uHFfBe2Nn2z0m`5f%N*i5#L(~pve z7EhmOzTtHmK7wSYy|KqlzUR&RevhA;>*<5WRrJICGCg};fgAMN8s&Kpu;nnvVd`An zc!Gx(+2Ffwcf^Fo`>eUAS`H#&S3VXBT5rGoKt+G9H^=A<_vY5c-d3kyI9i(r{KzT$@#CM((Z@h`7=TU* z0)c?Lb|EvSPR^ZhuGd)8O8pg5V;nf6scTwi4-y$2BD@f$N(3GX7`CK9A4qjn9Ml;o z5PxEz%BZ(%Eg;InE|05#KTX8_0K4m6mFZm&K7Blg-YoNyVuh8_bZ~U>2Jb+MB-|#4 zkOR8Q8#oMf646eMZQqO^TXVfL%J$GRSk?)Vc8WTPpr2Xa^4|28-G%=QO1Tr)$yeqS zRCwvYC1Hn?OMO`k+>Teir|}Gk<(ux$1cihGQQ@+OZm#TSautGffv zSD2$FnwvzUU3t1u?qOf9`(Iem3+ZUx1TGkGTIkU49IBtEqbbaGD5R!F93xE3x=K)*+FHev|NEuR0s>-S&n=o`|0gCnP%G zT3mt*bR2&PB@ADQqVY8QxL~vm{ZEW^q>ll)E<74x@!^F)y38er6!c|B^j!_-fR=mU z@fVOj8K zuT7F}X941RShA~A9Us8RRRtg+&u3(wd;#5%oRi&a)>i zj+%?Q%lb8knXX8ec$oGvha7$JdJLmoFpUMqK{z?J;3I?a$%OANiS9vjAz=d1<)ywL;3BMh4inw$AvPT9@e82UM zLQlsoFOjB$q?=DCek#5L@BN1}0us^LkJKxaHy%JXce(Q$ZPVdd*wD7Pad$iKnw)Oo zu8u1~U8AYrEzl1q#7B3_@zb=Dq)mC|w4B2z1+0!L@+PN=If445ZT9v(VDqLkY;ow( zL$U{A5^O?iM`u`Tua%F^c6tW&{EheW_;PWNiuCz86MXjg(L7)r_Pct!RU(z%qTAfz zGly&VPhVk)>d~7fxf#^wCi)z*9tDN-NIawmS^8YN$@q_Mf;dDE&|Nu)WHM9?9)<;5 z`O*|(i*ta~_H!YmlN>%R!enm|8&4cEUhMrgL7iAf zb5vS{&RN)eQG1D%)wA-#*)39;t{rQe>J$^nV0TQ_wSe#O)z!(?mVsU68#gRQ-uI

            D_`CfT6;A17)miIqR&JxM^`|q#9-!6}K3Ub<^bNau^ z#PF8{-IsDjNDnAAZMWxf_N}o*wXmOfW@BtOW8c@& zE2n+!V;Sjt@@5Nco1zxN*2lKV)-Z+kDH*V1r+YS*)Y>g83t(0}id>W>>cPu+zsJ)Hi}$GPZ7 zeY+u26;&UnpY>iqZD1dWql5kei(Wi5Iq-gCI`s8qui+WH>3IH?7=trrI&M1~1T2ye zUEPV>$vc@>i^uj#y5Q8L`6E1zQ!jM=p%$qa>H(FUe0d*9TYh@M zzeC&$H=BT)Xn$$Dsey+fXvlO;;d8_#n@*JotMt&G13ew_VWEW5mS1XR(KRDIA%@^2;^00mTFG88*yg8_Hpk^I;2 zOWrTh>4kx)C}rtnGAUjBjF|0+ksrWxSo*C~Wdw}>e}!LR?s~Xs-8vodkf0$<&z)x& z5-tM&UPrP7*>Ia7|4Q%9a}M|E^bW|{6nw&T(Ao9ULUQ97KtDHc%fHGkEx;R(gY>=C~i)FB_cBgSFr&U*l#j3r0AKdM@|4e6HQ zB;xR9d}r+3lQB*!yImF#EjpazS-D^6OLN@1+J&?`LtaNeJB4rS6nyQFS3LL!)^M5V z9K@&X>Gw|m)^)K4wMtu2aiyLc`41aHYu06`l=q!Zj*rH)m{62xWST%4ui9R zrAuu`|8Eli|I&3Q>~Z8wx}LR?l+@ibV;`UY|NFeme7$I)RzLTPEJ|~HImxQZL;``> z5C{a2NM-iqEQ?gUB}|a!>?d{PtKO9> z>*w}(vvI#i@eKS8&dva=lW;8Of+uExXG*lS$`3$zoL?tLW^s1(T#}uh3%-D5Cf4Iz z1_ku~zCfLgmld%p(G2fE#;naw>xV;hdKZrN;ac89^mt?+yt7{m6JMXG50B6G(%Rb- ztIKK@aPX0eJZV3L>zHq{n!7)pk?x%CcM8RR7knjCA{PhTqf&7_$Hjp+WZMD}4$W&i+e#>Xkt!(eV z?(?U-OhE7pp$5+eSX-&nmL1<(8DsB0S};xM9=v8Mqv5cF1Q6YE@tLEo!fMN3>NMiM zH)yck$wO_`QwopODfq9QDz1#;0-)#UqJIO7BZVtfKFpK({Ev}a)pzL`ye5~cq<#55 zTWaw7ts?P(p-6{QnsvW9>}1D>^!7u8=}blZOurkTuw{HOn8AmiAs{GdOW2%zgGsBk zzV}AcBiG|UY_*Fvh6m%K@^}Ihhk&`f+PF^+eE`lXbMQN^{ObdPv!GkBxCVl!zqdkD z`-b7oC4=k&5KR*~aYkSA%V}pM$FlXN@j}2Mv zcNmFBbos~*eygLp;Q@QssaW-sBHQ35o81b+;27Y}-NTRQ`PQn%ztg*~CjCqJt>D7% zt@IOA6X+%|`eSu;XvfD2X+Pb9$5Bf1(*N{mmQ^;PYxU}LTR)VaT@i5BC;j0CG_4v; z^bNEH1o80(2H%2Bp~7E%`;>v}`dGmAeQ(J=`{q?9{@^WM?`1T}(+aDj+iXhuHY(2dvOLEmf+FMx>O+M9Cng0uiiHewbeSjw(n z!QtAeGW5=BsRdXFL>rp{4?@BmO{L8ebjym?hl1mu>27rh^0Akpa#k?XWwq~LYDaR~ zV7Bu349kPxjko8QTz=GCK6o~V*1Am2VUcP)7-vzwmW@!Svr=5lV0)zi*#haDRzinlB z?IWDsV|fI_$9K9(S4&4Ld|kZAdD)}y>|*)ZO1P4eCm^ga=R0Ns*OViC`L^mj{A>XP z&)30b=a0Wi@3ciSKk}eQRXv+={Pa@}9|IXoVyjj-`AF=V9`w|Bf#&>`&h=69IZ`VQ zE@Mw+t8|7&>d%9dr1SY!)Lu1^4a69vfy{A(z=ee0-5&@Y4X~$D13!)3o;z^3&8{en zu?*pveLr=8bo{6CS1umGGMFObN8vd28Uz^X&7AFRD{p$}o#Q+FF+UoJrJNG`a#oq> z8$(K~`ZD_J%WA=sBU^IAB{T-9@&>)5zi&GBs{2Fg zRPUw=dPzj8iYL&N4~*( zDj?w}{A31g@NR=wLd3T@vtYq0)u%6KPZ`rPbaQL+>yd+7x@SD?or5zG)0Y4RYWA!U@!CGF|w;S^G z2@(1{oqm$ZT1h440irJmJC_%j9i`oV<*B^8lXvY->whA2`M@b#$!0A*1`U`pr|KKz z3of3yF=ol={&nwEe0^&hV7V6#spoKZcSXQ(a^+j%bq~xHJ@!qJ4O(VPkG)*bDA=zW z0N*vp$1C=JELok(D0qE#0@AqQWcS@3uU9{Ojy-kL{v3DN{`%qGj(D0G+vO3ZudU|z z_Fc5$TpQ$=@fKkEyp9GaystlESL6GfW4L7lZv#}+j|*h8J`l=M%3ofrKA%qFm%jB3 z5Dz~3GR@!bp?A>ch;8q@s83lYcaap`LKHAI|qJvwC-O${wmf zI@dUQJ4{gNqrUWlBYmrZ^B--X{HlJ;%C@sXbh*)*duo6}yM8<2g9-VMn4WRO@tbpk~k z#64a(U#3 zGxFZ5$)(!pCTETR7YP6HsrvNg`Eydv>I=3Rk4wTF`h9&C@RP6f^GM`@1s&z5bLF+F zPhd{_fH%IMJwN5+wCB&o@7WI*@yEd2z?f{mw8zk!hj){!w>j@o_3X*Vf`{6n`rv55 zWe;ce=r*W51K;#(w5o4Z4CmRFL)dTv$V*HFs=*pV6(|o4LH6PG8DKsSM=uldw&nZw zCVT7=F|2Ko*Ib>CO^_QTdfA5dy+LNM_IPoCa7a)B?gmNf6(IQB(*&O%TUipzUKR-3 zD%k=G9ut~%IUy5SIXGw|7YD+ukOX+;;?_f6oS zws;0k-t76U)fg|H{rhj}aKY}++3_DWE;gs!8$4U7v%y*rG&r)o*}(-8sz};hZDt|s zbbyY1TW};^gv)Pldkb&2Y(arI_@T)ud@SYgJbE^{BMJOpk8uB7ySvZtodr*iW>d7Q zbOevI0X*JgzBL;7CduiDw#!a9Cfn%~$(&>M{8neU2fUTZ4esOP<6f+D+L*Qou2mjY z*m3F0>JJNY&-c`3oTK%uj3fK9SBz___~d1L$gY5^KY*`^hYXC>OA8N{_g#<3{%BC| zt@fYnX=#&0v)9aTtN4RLR!SmRzY~x`%$i_bxeAt-faO1`mPbe)A zSYfQ}e==sDZY%vtT3g=>Gs0&R9@4^4KY<4~9$~;>L$l=b_$vBs{lq-+o2cL7_ z_Z~4#m|sl}#22=DIuQIgf8f;_z|(QQ(~jsk!QCr0IdAM1LoPJ;tN+(Uu&rLK^jB}2 zXV=7*;G!;LLqVM5%TzvN`_eeRf_rScJi5)J2@{jY?0p&t!d-N8Q;2?byVu z)q3~k^G0xXOrT8wt3~SB=w2vw_fWLsrH z`vP6rM$HP!2vBx%mDWMe_!EaJcl!$mA8CSXYg@JZm$esLAn5PERJWCP?T|5h`&Y(v z-L@6MbRe8RMZ~AdIQad1l<%$j_2@hP(91LNyewzsTC3spqk=}i*>A7@CXm@%`O8=R zNi~^=+c0?9oiiph3NSJFlY1N zG)AuV29WU7NO?E`kkK*-N#`=z04&*;>>V?ZV^j&04bmMciw3!9Hp5qA#sCft1yQfMe6PN)&#@c3CkU||BgmJJ z`;`gy0a7E)K~Vo~)texiO)~43pnOWD3}<#<;(;+(D(EoyGy`{@`%XwTid(=C&UmMD zF%5`}Jf!f8|yVj@~z38jp-kuzO4Al3c+!P$rLvyn2 zS|?ls72%gY*{q&;o)hZ{gfWY?O-M5+$>GJ$OIu^EAoPx8$dL^4yMF9ye9BoLBjk=!U|buT8>f*GoDUk4WP=yaV@n(!)F`|KRpG44WOIF<&1F$*FpIBA;Ms7!s}byoJ3C|jRfaDy#d zJFLHe>-H9_PLEQp^92xHzvvcwtyyZtM|V^Td)NJz{Ymc7VXI~rDpbBbzEiN`MN9m? zTg%_=kyaccAl zXZ6#8aaKgB=?pSAyB$t(p#HCZz7<#R+N|$$1NiL+R6V(n`96)Q2volQ{OW(7*Qi4G z1fi=^^Q1BlJvQ^bi?6+I&zlj^0b{6g+Fy2m1K)7fmd@ZGQv&Uv6xFvqbF0h$3NP=u zK001HMqbDCZTtvs4!XDHa`X+Vi(N*EcGqfyVB4I#QN**?wLy>JelNg^S_Ac@xIK<$ z`vbqndds&#PcZOL@b>73HcZ(|O`dxs(I9)a!Zo-7(FW1mIdV=~GLB(Z8BX20gP-Ry zu~UzMJiCETHsM*R;d;{1T6N+GPu!y>N%5C~spMZDdX%9l%5Rid^IW_s`Ln{>pV?&HNdgS+&ejtX6 zY90MLAB7b}r*HdE{?R_5WF$5v@P&fA2E<3N%Nf(z8!L^qPcJ-z9~;A!UONIGZb%@b z_@V}vn9HWT$+nT{k5;OxTYq!<6SN&2vbE885TNx@7oBu+{q%u2nb6hkON$=;PxWRI zgIU`R3_95LkJo@-yI_mi3gZWDh+Xyg^j(94vr;r3$M`P+@ODx9A`cCmeTrV?=%K;& ztMC%As8GX)a+h}Bqj|TZqT>nN7DO(8L$T3MzGyuC={OZnYvbuitm&MLYkTp=2e0P4 zkfZeURJubw4wp-lyvikB>EUn-{L*Q`r4{S`>EEKY^zDrZhuWrk007g9ydRCDRH7XG z=-TR>hH8t4KWqOxuN79$i~6l^e&eK7R93Kk?=knil&M1aY5c1#(<`gI>C+}JRR)dd zp)<2arSZL{VWl5@4xXn?#@EX5jcWD<%INmD_R=g!731M4U?%wPvC7dGKP!dYaPAXv z>@C>3C4|!d+l!~@#V2FO+9h6S6KsJ3WF@E-nHW;P-YTnjXK&fby>t7|y==Py0boz~ z!R6oHy=v88lS?&5l=@~%;Aa)wv*-426PT;*^*Q!fmD&qGu1|bU4RK1bv?B zuv%PTQk{Z!R(Kkf!dbs7$oAT{BrojmTdw4ZPM^hV(m(inQbC{!KeaPb_aplL z_HRub{i}&TPhAEkK2NM0>g$e33O?@jpPpBDX98h~`Sh=)<9#opzxr?cBtCogKYN@V zO@fO8x?s^aeH7f;D)wuF>$_Yfc3_}}foKTLrKld!QH+-@8an@3Lay6v`U(xoAdRARjKQX#6dDYVgP7R> z%U&=JE9W#6M)+kCVlbG5VUD84b{JXn*4g zqj}0~Rm!S|r?l!m%_*Lw2+<&F4>b<+P#vDtl|tefqLm4oJ}5?I_1Bp9f{YoB61zJ< z7*D&&S|f1{korLYASmjBO+Pzy)`uyjb-sqU%;g&Lr|uhDhX{D!sBa0C#T(`OJNiYA zJ~FQI%G}P&?-T}|fGx|alN5jrCRb@0`=@*-9SsLp#fN`o5AF&}{dxR)c^m_$*oxsU`@^s_YnRRyP)Yi#p^r%r46WEw3b*`T#w2yPQ1fg>xT#rsKQ53JeCk<@yN^{%m{T+Va*B->j`#t>XLMhVI9e(Gn#q~ zuwD00R3{}opK86qEZ;$A`QdcB7v*vsaw-gzwl9&%i_w`A+dVj)nyc2VV>ZG|5x(?j z*7G{G`o`rjuoxn{3T|Yo^YHA#W6*;;X>g5yX+RH>QrA(C)LAhpE@OTr4tv4A)N4MV~gassw__8UN@C zJmjg&kz)|5#NLJSy=kMC_wTJx zNp_P-FwukXe+mkq*Cy5*jD|G2u|t+OO(P3rk?DJVVESv|WS=mPdvVG+S-DK%7N5qy ztDegLJn$wQ;Zgcgu`^g^H|c=K#*LUgLTYs)ndfm9P)G;j&Gh6aK&jQq!4#;$Z;}qj z@H;CY1S4{$)f=uaY6SY{HwDc+2C~(H@xma z{PMLuU;2d;nis_Fn(sjt-Ym!o4May}`=DDtLZ?$fL{MRxDSN~1N_&I3YMCIrU z-}+R+Essl^kg$5>k5(Z3+aC|l{;z+12!Qsg#s*vQ8f_*M;Pt%#qSk#jCdbq4TmySS z7^~oB2W#*0;D>?tp4L!$dQJ-mJBEq`e3 zh#pV)JnwDLdpxR_!?0!V8g1RR!q4gl12MXx5m0fk=_g&2wzeNH48lC^Lbu4tApT2q zuMg#Oh95rDiBI|C)XDMx6m-n8*LDNfDpLW%ha&#pd)&kT7326go4lrf^)1ig9GpFN z6(F|Dz|2@ppol(LV)`xlm$Qq?yN5^N_M+e>J4V0G3)+$darPI-#y32xz}lF)rSrSB zTQu!$v!%_>b)QV&sU28}Q#GA8o(e{{rzZgzHgrf`2eVSUZ&3ZNfXB;hD}9B~YOUJ! zr|Fi*0twRNe%iwX0%nZ~PRG_FBsx?I&-fI<;a7+xh2eQF(2|{H6M72n+P5othtc|m z$|cEy1M!f~v~Sx9D$)Ar3yu|0R;k=3mFS5_D-pi&T))aJ;1vpj2yDh(D?ayDZ9;=5 z;;UD`!&y9g0Cz8(V`w@c-^4STlqpD%d1-oBP5 z$zHHm@@p^g1`hZv`whl}O%$us-hcP$gkZhZrw8TABscc**r~9^AF$O>`a?Xtt0~!nqE~fPpF1^m zUl_TB*rS{gfM`z1U7eqqS{0c&RYF~RTVI0?vuEyY_AA{Sv%_IV z9dZ}V>cF2LI-(oW>okvoEvu@lVI5?-*0z%9oB2zQ~1P5%V0iWZnbjhAiA5qyZDHLJx&Ad&Uu9VZ2s$x^=LZwBE21S-5TG>3;5 z+_DXPm-Od$-q}@+47VHSbk$4JZqZqS<;ht;3URPqvA%{sV10I+lW`89=(*im+Amd| zvbX#P6g>t~sp%1mkI(qG|I!s1KTp|8{-jMFbu5#Uu5a0P)z^~Gz1_dju!~i*LQj($ zSN=1Yuddp`$#ub3&H+w5yRx4&-%kuZNyPM2Ww>$p(KE;C5P2jr{^9>Y8C>#b(6dy* z&`DNbz*cJ+;ReH7z8ho4dwdAU+9M_{|4AIq;Xu8H8~(~prGmHneK|kWtD^*&Z*UbD zTqhmfvfrouJIpH1{^b-oU+`#IvJZpVAh=marlIST-8#Chywe#Qk)FeG))&f@0!qdL`D&KQLE zI%xINGj-t5ll;`-UZvSnIBvg^XkoWKE+WH^RtD|O^5ul@=%}x{$tn_~q4Gc>un(u_ z&RbN|GtT<%sjqsp9e|0zF}>J1i5))60w;2X?>SC?c$+CEQUgu+>nl03pL@Q=BYRc@ z8E|>@>dn1JKhF$g*u)hm9{b63jQ$e0@?&*!Zcji;u#sc*rA%xD0#LM9b&vRDoT{N(d z-jxVGXOI?KO=Gk9>2>)QoYDr8-^~dH34aZI7Nk-~3VD~ler~kQ3APsy`LDgEbo7;j z8RP~Q=Vb=ycvWLupGcR&fv@zcL6$o3LZEh!b%rB(@rS%2P#|VO#7ObzuR$vv;A6c? zCl-K&;A_+v67DB`AtB6#~ODcT=f7mDHBS4y+}ECWVIjA5+U z-AYpZP6LiES~1uQS(<%jt<+hX z8;mB;;yKx}i2^Q>9`6KpBQ#yK=V_|g(@xaAI zbd+44h`;E+?ThJ#GI%gKRmLA!{udmDq@pVyui2~q(68tzua?RUmNwPnc?JCLnq-;1 zUk!)8*_;Zq9qYFhbtEfoVdK<-Uvx<&^Hu7*j(!W|^Hmy`)%n@8t|pP~p!??+Q@0Aa z1bq*B*dP3)vx3l~Bvy)%1so1BkhuD(^h}Gtt=ZGjJd)h2*~kjh>7Wz$6ICm*Y+ z!kO)hZXsy4`(rlzp?=%Mi@^2A_D{t7_5b1V`yCtJOU0@ymnTZ_rV5Z>UHHT%`kQTp zmwd$Uw>tfaW8B48LD^5OcK#sRR{>(U#>;q5AdLp{Z>(PYFx#3es&DNm1h%zD z{2pCh>z`s*{A>ldljIJk-PZ{uF@67C{I{!Z*l#E=m{{g?hm5tuXe>#)`xd`J&>z!j z?YBFfCqEOw$-o}a|JKCOr`p4xAxoYntC~iM54{~Yzry~{^oq|-ujvYW0y$j*_0&CV zM<>5!`#DC0cEq>$l95er)zQ36zt9ku!o}7b)e-JicGDQ`%nLSbO9BpCy0%8(;i2NN z$@fV<*)>}=;7=Z7_{D?ru`hTbKYm!GCHx@(8Ml%}x`N=2O?Z@=h<4x?dXZ`Z`p({k z$5cQ2!8eKz+NUx*hb?5cxr9J3E1%IN4xol`#KyEhOq zgD~xPvPu#l$6~XMm8&*iGfX?dpvs_qTI3#P)S*)PR|F7e*1pT9jv0^YSTHONeBG)H z9q=&*TiP7J@ z?G#2m`Qhu8^q+WbC4u%~X0D{@!Qc!tft6u{QJ|(VolL-hqy*(zXGQSU<;^atKeg+y zI5L!~n+a`?JcKjSb+{ZLe0AUl!w+fs+%lMxv<~8;1uu4#fif}Xlx(j%uN*n*IKTpP z!B5Eb52HYqzb{t-JDnz72r!1o+7Bw=uujk==O6>S*NMY{o&d80-yOFE1(hvHUZ0CA z2md8pNi)e$d4~u2D;(ZBEJed+^cv8_jYq7aRrwP_Z7KtIP#Tp!5`u-%YRV(`FjfPdjx`~&TIo-D)eAASvu{)a>}87QPv@OYExN;==uAGhbbhua zd&2S9n-p7(bodwzO4sfTwg_7vQpNomOk6g9+>%dCPn^5Xf3|t{etHoIV~x+f+4s?g zEo@Z(FFnR!aD3^onhfwbjRIQ+2KXRA#ik1QnRI#ms?L`!j5=>k!(*7R$@EhIiMfVf zDSa=H)7lPD2i)rH^wdjwHyw^3yjg%GxO?GMykzIz_4uvFW}ll~ zk7pbg@;p$p|DA7enalIuL%2a`Hx7GQkslC?CLJ!wj?F)wC)c zbSaL(@0Tv~J*0aP#bbND3|O?HnZIBK{bX1Q$8EYFek5Zbl~*5IL9jloqUs7J9@+2a zM=J&4Ytrj|kCkv1*+l&${#%LqqE%8G6SazKdKI3B5A27t@P#+HVhVjp_Idoiyn`WzG~1_SST8-9E{<~{JsIus|H(q&c+U>-cYw-#I}2@2dvQ3*PZV4lx49Nc4owV}{s7?(aQg$LXj0-&(HV zt^?t9dI}Bv6><^K2NN4S8$9B$c`@^v;xuXLlrtFC|7#? zw>rk#Z>?O!>+?8l8?pyiDY|=tqFvQ~42u6~h358$jFDUESWazUo6!}$i-!MEp3fi7 zgvTZ+(x-7PcyC&jQ|4!{{%L4fJ$Lczc{*aALIA-kvprQ5UEZ4cyvZzF_ShHtjX4Av z^j%va6pee#%PORB+#}odoMk(_nKGg^esq72dXikk-SpkB{mj0PCm!*OPZ=x$53B39 zuM@=?ka$ymxC=6@9fhHLWd1og;BA#?eBTPZWJj(dd&-eH4aM)-(%{TyRc;eqG4iW^ ztjUGhgZd3`?uL&S&S)pfv5D(~$*Mnfz{l?beWlTEIPKl#`0XA&uy@?& z_~3C_RR}WvVfA(W`X4P%{9jT-R^8&E^=@`%V`P3v3`^RQlc=ez4Q6DJ|tfH4q6wtJielHZM3|$e} zBzXd$KRcy6o$@>QE!#>arn9l-EdRj=bPZ>5kxm7<`#!Sllz-YKLgeIMgUTnTYqXhPSMHLnzGE8&TKUL)v&6f2%4*!buKUF&F&8T-_lDtYA*9i0 zV$LKXJMlIC=m*G4zsJAz)Wb{dO@O;}fBX}V`D!1`?jFgm9{T}4By)7V>RMmvh@8GU zw`nE&rhW!!k;-bs*fDHI^)#}wjzD`0-DzMcR5Dwqb@40WK)y9gAb1j(0&Z2X0#~-JPA04D34i^IB|PJph0W*&Oo6Y-DBLs>I*WvL0$@jBRTspvOFyoB^!;8MxP{^~t(X80+^#$gya7%LU=dq0E^1=%*Wl0Rx z(plxFr{kae(l{(&mr-V4(|6~;9P;kIAM*KGhTa}p$`8&Ho>u{B9f$UAmn;iCSq{Ao za4zJX-W=RV!?}I#FRx58ADgj955f<$sY9LRRx+<)1PAU8#coAAm3~kSfBH~<*H5$r zZ$&GP#vM1DFCGGS6-rM8EXc8e87JtVScU`ukpK0pDp|>80YX+OsGbJE?YevL;W+Db zbGoX-;C8peD<3Ox*_+DG85kVSxPir~^PyE^`U4E&Xl>P0^r{yivUs{0-%75Et*RK! z<%|XS>a+F8SJ-1b&mS&Xt#Jm0Q<3enZ`ikOxL!uZqaA;kCH>fV8thHzRA<=L5pynt zqiUNae9K`u+I4IoDG-IGB4A_|+G-2IC)S4Z$S&hK8g=+=(FU67#nC5SKAu%~&dy^4 zbo)Aal+D1yVvUuJ&u21tw zK+q4CJ|0(J_1jMk4`j3g(cr)UA-^r`54JLv`j{fj_{WC|=z%=1nefek=jp0ZAvVD9w@G$)(@dX03Ux@J>MI&8c<9pWYE5o2MBcDpnZe;Mkaf7wsPK#i%xG+rB@y; z`_W^!XEA4TT^$AQ=ruf3=N6PyVTH*I?}ER85hpoX^+jI_KC|6|{u{j4CTrF`(k-CV zN{zn?Yz5m27b{fuSavB}{RUnvt?~oEJc6SyqV4T(1rWoNz6!w6(+K9~B;zZ1m2ri+ zYmdYIZ-3k;g93IjO8!53X~#e5pp}MJT4;+E7;oKw7mhCqZa?;7590!eXg_S%Rvni4 zYuCCX{IkF2=WK`-j0RFv?QM_y-`}wj0-Pa74&B(w%JSJGtSXThPt!I0EX5e2|J`HX zOfJ)3?dFxib+{Tl(qWI^d*RNv9*bM)%5|qNaC}TU^oeg)YssS>YHJNMcdcFUyVc2d z!gCVI(o)vhllByek^$i04_He@Cko!;;w^Qkg1 z$5PN|JQR2va21rpp^w91^TKSz< zR~U+eRjiCAQlt%^pu{Wa2yPVDnhZ@4;45^?w!FsOf;Lb7JvQ{=eFd$|V?X(!*^g|F2^`K_ z)r&8$uM=oer&dUY)NgvQTCcM!4Iek*QYNouxR@R7pM@Q*1KpZ0C5`0&rZvzTIGkGyMV;VTGlb=>duwSPA;^_?B0 zJn?Zsq?m+n`UHGC<9Pl?_xt;;Wp}m;d(S|EJv}^q%$MY@jYh(3HQS{P3nslxhrZP| zYdO)I&Q+H5t?KS}`zY!c@KsQ+AX}4Ia`I{E4*RJe`~3BD0jm3Cnf<9Qux^sJXv;Nz zd2G7uah7i3mFCq|8L*8nhfmt&V|&=zJG%;Zt=}SBa@G$1%+7vHZyw?sofC93@rqI4 z(VI>O&-m%G>DY-G1o^n*~3u=md!mKkfIY-FoA+ps=GFD>Mcv z9gUcQ#W8gH*8MqgrBW)jP#m9iQq^u{1Ys#Rr@LI3fLW)Sen}~SAZ+u@9BKI(7|8lc z|MrRe>pG_DXs>$VQ}&$k6d~i`QHvl1wogPbSPCB8uLe57)r<(G3alP9IP`Lf`pj@V z!lc}xJAVf{FYCBx*vEumc0VA8Cpw+dXUt`mC!FAN=yaA)YTyo}>xO}Vu|Z)!`{HQh z0fm*DF(U(Y?bA8s^asj*Qx3{y=8gvOHYMtDUpXHYd z#`1Lk*KCSOx_)=Tpp8%P>*x!AB(KWKZx$k?k1m(TjgF!GRL`j>P^Dv9dHO%8ec$q( zlKVaxFz@6A_2j=!FiPUSp6*CEM@jgJu6b;0+>gwAthzM3y?{_Wpr=&U9bkQ zFX^`=S-L(B!z}|C0h#{F2;li0UbCuQPp#a$TEZ{R002M$Nkll|ft)?R|~pfEZb`0r(6zN52)tsnJuxQ})#1-l-2B&Mz4` zr93wU0$lr2euZ44&2bn!JS9k9Jza#WqB^bBt9$DN9cK_(6=jo0(b)yMaNTEj9FwCQ zGVPFl-Mh{Pult8Bmu^&k9n9cVZ#T_y(RuW^rvRI(?>& z9cQU#;g?|ueN*0Q#!Z66 ztGoF3sZGQcW;?ZM`QPQ+meP4LjRsAGuj`TThk_0!$=}Do4?U``&7Og1WwfX0p?}&M zeKdI5s;1h)(n~%4z(II6yV~f206RSw)VVLnM7Q8T*$plo;?{y?;9H#}NT|)&wA~2u zKiXH(?f23LaCpqm!#ncdpriJ?K{0I0ySENT^D2i|{IL4Q>M?vW7%}F< zlly{SV0dJej|i?jd%7i@W}*6}`_PY74K~xGHqU?Pk);n->{ixZUj{Mkq(FrgbASK& zu@#EZl3uIZDij0p53O=ApcNSDS*HafUbNXh?yU7VnH&n(MJpR-Rm%5P*=l}nkCzea zk+=6B+vl)$E9k&?KMN0n6#TzF3V;blMpH0N8W>DkDMKH||75V$n*d12PlS{^ovk8IIw!qmNr_*z7 zs$L>K6zGg!-?I(#HLA}_0AoO$zpJ(B(zR>8_;jQT_3Qr_XODocwNcvAwxXS~gu|F- z343L=M}RHQcZ5 zGEl!?_?~$`v&3&mVU|N`^Hw}8RGIZ$Q&j392lSDLn($E(n?GQ zdYz64(bqj{fAbH@ zt)FEhH}Nr@s?K1HmvHEheSKSh{<4W8TgKrv8~h>M_+M|sM?mSJN(HI@3Rja5_JqSp zLA1Z~DFiVW6ssLr1?V~u*PeFc%8(9v)w6A@9c9=$TeU!Zy7@XBJYKwUbom7RneR2i*jmwzYC(4s` zbgMfewzpnvOCq!V@@WHtY~B(}-ty1>)n`0!qCrTwYJI1t=x>rQU(ogml!;8)JAKWY zCWPPAX8!6;^d`-}HF+T@M$a_9ANeaLLF9iM?e?>4p=tTOK#K3)`p5JK&F}N!`77-I zd0#^{RVDs?=|tbj-Ux54eRdE31?fITn1EnF#|KzD6)=8?xA@dF&n2<4E$a!aF)MZD z*^>H2IuMSTqr>0oU}Lb?q%ClF{w=w% zt>3@!RZH(+20{XpOQ{1poj+y%DhIjRv8l=`&MOmFG&>< zPpKrY%2j{xbbTAJxji(hoA923R6%{205Fh-oJYeLkLoUPNRT?lVXRXRNV&^by`^tp z5}rSUZEy?IU;(=G%D8`msog_}+sr}uIOljeZ2U?2bSxS|x27aB9tj5xWOi8cE3BjZ zgR8zkqlr;ahsN`x(Gl74gjQY32md|34ODr@8wjchFh8qIxm}b{Qp}ZK(vtf+E1SBx zI{I}3Uw2ggc7W%zf_}TP`mS^Nr1`4+980=7*MEd~|3(Oa9mDgSu9mCF>XX0X2iJb#v-}rN+`B%@zjI%^db+nuN#sl> zjwf6+z~H$DzDsR>bi}`m-gvG26EC_L9_5$rbN%eJud&00eAm5m-Zh!uGDg79_IJw7 z*B)WYUmrjQ>PmR3zgAgeJ1ZM*>?e0NbkcmXVW<3QGd0o%`!_t`)PEmldk*8ppW${2 zcE9!)57O-Op<6nlt6kz@{{Hk{ab@WrjCXWB8!?>>k9fV=deFLo)x+afqI^1$qr(Ts z@eQJA84>`*fe&W{S(l5oT>>qpC;sqd>k8*4LO(wh~bKD}f{fY5A6?lN~5= z-aXfSQJd*anUAC0W%|Rpm3=roc?G}6@##`p85n+(2eGt-~he-p_hkF(#YclLPR{4} zF$ca1@Y)L*IGi4FCi6%*pP@z9;F0do2Re+u_#Fh68{QukxvHn~e7#;CtTbhK|{G{+d z`T(SHY)q6L5Ue;_iqC^vh_(VtDhtz2S36IRts{IQLqGU?Blc53+WQv zPSY-bzK3Aty8uswNeDqpv(~Utc)9|apP>L3QWWXbS?p9RGjb^YqwMK2p@zk(|Lw1K9?l4~?q%s-b4s z6gSwP=#aNIT=h@KP4;wXHo8J&|Jnp>yt4X8UAQ;4lrQX){~1IJ_8ec+s)%e%vZOIK^jnV=tJ2S2?W~LBBc{T>lXMHBN0s8~9hN z2wy$4TD5vSYW*>t{oY`d-e4463zH`r$m>f3OuT*B3d}&S&qCvLr)#VK>>2f;mlOSC zKdA;?c&ChQ3jX=$aVt6mtI=q$Gg7EFxq?$0^umF7Ovm&sKN=jHgxlm#*V0j_U#AOR zNWz2};0n~mhV(4H)P}zm01edO?S(E~xE7py=&?UA0?}{hwTZ{{&+5KuMtm6W@S`!q z+DS6*Dj@h$GF z`ugAq+C%_tEI+-PkD?tarF{D1u~CNsu(l_7C4lU)W2E?EnJBQ_sN&d zBjdxDjXd7lPSOr)=TsIKU@J^c!ZuzK-argF-D}Zl8z^X_-jq&;LtQzfC z&f#ans3vAs}3`IE``Fm6TW@qJt|-}mwQKmK?ZoR9T4C6vB)5~Ws9vHybm z0w9kjN@6DxZ+j1DHXcvcI zE3`8Udn|mM&P78iiH)mEKOLx}a;57Rv|qs)^6sMZBioEz6wu{-gwE+U9Y<5#UVpGR z!)mATOkalveI?%hRv^;W8s5^Yfzlqet&LZem*2dst0!5dHxjwsvn&H>J9EDIjjhq>VlbE`Ez@bPBtGMNp<~i;K~<);YKaV zWxVUYeIviM-O69}k??y}Ke5M`(>4A6f4sYU_ILDnb1vNYlvadidJ2Axt;1E{K-aB6 zry&Bo?A_ul$pYUpGo_WDeBoqeUP;r{H_5m7>9&0P;AsRv$}_UVlYhE48IHya7LL&e zHVHFRsbw}kv3N;8yqIS)&^RYQIl`NT`8Z|qcIW6BZrW)&89Y{$ZpUG$rt>$9IPTF7Z55 zEJ=r(+F)4G)-hIbXve^6pCh(?Q&{7UuSI>oWdMS@#w>8;`R+LcrNP@Vr4GG0;6V~0 z=J=mIf6PFYRvmCWcveW+(W=~0tS`+Zf(^shrEOJ$3QC~V^~2+XM!|51F2exKDO<|R z2~>U?ZlZM={7UV>2c3Jl2n-IgOmlR+-TzX9`2MXNm|bNyxVJjx1UaK6KHCU#eLw)Z z{N*56mj*-eyG%MD@?I|oWHeH+?NOm6=#(-z;8W2v2n+&3Q>>%3fsKYEzbZ(+-8>&; z1P0~Pp`jhlvXvu3J8l=s+>Xu%r|V_><=(D+$#dn8AN~*{&>(qEG(L4TLl(W0u_EK2 zpY)u(yKz8)dGYBK-91HsA46|-R^}AF65K~5raQlt@AL^ziPE2rlj#QX<{%vXV}Ruk zx0UHP1=$NaT%*}9qegLLt$wg1ud{!`r4+>9j-7(5kWV)*WjVL{UVb+^R#9nd>vG)6 zUH9c#K_|bYxqLdVax#KFm`=-oYXjXA@Nlepy^#}2x{l-**p(l@roe%tl0cQ;=l}N@ zPcy~PkZE*RP+Lg$(x2ooAOl+Bh0|!iL9f!v%)uK1(zS}~xNyW90>7-CH<-4?lP&_;U{Zm3LA-*@V*y4y1Bl?SUO*OM+4TSaHZlw7mN| zg{~_p$DXLLD?g4KkNsu~1~|A>M48p2Ik1JxYi94NTlqR^!J@`m^#|F9db@A!x5v@n zvc9RoX|tzJ6(5J@*c)({bcpBzUsS$6gb)g*vBeyIPBK|_70t&Uv+L{1vvbr)(7@ht z_6{5<@B=uBMw`Hp$8y~qn(o!7SPh_FYD{G#d#1n`LNGIkv)}j#BU4BojHnD zKfgoXNVeV2i_YkO>s=fg2-5j-q9yicHZ zQS{#zJlYEjXiD{la4#L{(X>7bHiqYmuU-zIO`XS-U&Xt}&mTuWzs%z|1|D?63bh44 zQf`~V_Y&JZx@d5~{u)ej{OPU(jt6PBBFv|dxOnd2!(;r~q(O8T5Ty?BhMrb9n7U2_ z0=f&f$EnU%FB({KF9WcG8E2GI@TtnI#+iJFLs{WimU~a>h;hsw7W8a2@^k#|)7|Oy zCT#=HHYPG_1bQ6mF}~43!IlD|C3*uQExheHDmdTpVSck0Zrs^duu-8vx*?>;ne>~T z&My{Z^|+Kk!f*NQ9^oA=cv1SRR`I<{@9we*g7bnjR!S`BLl64bh7gChUjD*2x3BHS z3HX&v=qLGY&|aH_^9G-tImUndPOjR5d~=o24p#J{(W)UleA{Ej9(y!S_)vhp*x_VT z_N7gKwN*widnM?sjlxCXoG%WRG5>AFS}2Wn76a}JsCLdC;n}wN2@gElzEQ?k^QEdZ z9>fYD4iKz~Ckv*9|FKu;Wwh5Fgp15{{@5P2AHCX~Jw_{0Ja_}XJ^x8`sT$#hv@K+hVvHWs90%h{; z=(YpMzWc>v_s@;#8~&8;qrAY#{LOf;*mC;n0xjq33&x2ijPB#zRxi<|ZmV~=bn&`nSMO?Xe>^lfm-uY2U=K=x zBx80NJ!bpEvcL}X2-N+{)+izMp}g?73ec+O1w#g$Zz8x~AS%B@5Xb(z@LE3?VEQ&c zqw)eF1B^p~r{ud@F-Tls5deeLd5sa3M~I?PkWK zWTH>}(n|HJSRHr|jspn%qp$dnZb4&*aqnI{q+t3l54|TNTZh;x${uu9I4a{M8oevL zcAY~Jj)Hu359=e@Zou)$82epI=AUQttrqX3JLhkClx5$-B@GDwe4TCxN)2#7M7BIKxOd`AXL5lh+Lb;K zJWpbfvH&bz+c#So_mXugPPFIcS?31=Z51}(I&Tt+NGx`=(v}}SlRin zCavC7-oZ0G#&v^_b;qk1i)VDpC#s6u`LHPnG)fB~G8jsKQPrnL7gJ@K05ukdrcXBu z*ySv9SRh);*p7kN9wQW_O!*nZLF1lg`_1vffem^l(GaVl4OZ!x|1IasBMMO23}RXA zd4%CQ@Q*d@H`SHSk@TUnvha3z8{uZF;2IDeDWP#tkeJLTz|fx|{M=1EI0j9l?|%7x zKCNEHlT#9&a-vaHh?mJlxWUJY4UhKhkz_mzC;pXvOu*N;7#STjfBAcc@&E&)yaAnJ zcPZ~VR0KG<#{g_ru4K_=gS{ys;~-~-S80-+>@~vp0GGVC?x8WpO`fZ0X=C{G0`D2t zBZK9y4j!sUV5S)Al~;#7INk4mG6>blSweg{NBMSy;dlm9w`ESMbh9iPEG`XZNzUi= z$(}L82IWT!kYK4odDQDc`o{^kU2sB{-z9t~R=A%$C)X1UU>sMTQ(xC>JGYyV=+OA^ zRlV}#h5AbwOIBBxS21@40Y_>ewr?d+U|bCuIdh2U7?{5vzwqs6vOM9T*U_8xzjDeB z2{}8L%?DSOPsR?7U~oIX(RfHW@*P4exZ-X(=KQ3?n((TMpNum3&p8>4t}h;)QVO24 z^V9v{vnzYFfj+Sh0QSG*=~rGTCbdwXiUVNH=y7~?_e!w z?G7FqF}UzPLYxY82gun@jx-!kfM9^S#jvZVa`4BC(Uw*1_xAQQ_EG1=C@66Tbzm&J z?_bCdVzBJ%V(_J-GeC2#O>8fw2(XeOVy@;m=tCVEkiXb5UIqT}mf+w;4d%SYLup@4 zsFYqk#eU}O#gOrJ>Osc`_wZv1P~ETFr_19sU~+EB0TM?R>cqiQX10I4MPGH5wQ*t} zb+cvlKlKUsz4`UI$*6*6U$4Olez4!xE9ocTxjjz`Hco!=Lroi$hX-3MsAk4ZpXaX< zmp*XRMt-<~~Sy7Y?OAbfY0V#LTCa3j` zCFuw4F|y6E`(;n3@^r>QP{YFjN!i0gc?fFq>~v14i(tMakN%0yzEqQ4;0zo+lI!Ih z0)7TNd&D6bJ#VGUmz;8Gqh;HcPRrKdweu>pCs>t|0} zv;wO9Ib3+Bt&xR4k2oK?{2U$N*avw1)bt~G98D|Q>`H#uq)38LjRF_PI74`Db3`2RMKiukJo&KUuE7T7=sV~ z7+=Ap-`_nm|EtZ!t%l=hYcp6g=eA!1)WC0Gch^9tEOS6hI`Yd_n{jWca|w^t zk$$@;NJRbxF4xveTK^t!_*c>Tid$Qs@3K6rzFgWUJVIi}5y&=gXX{I|s!K5UV{gWU zV+=b&3ugg*dkA{(2L4&iLK*H_YT!+HAFS>iUuwTCL3rMtqc59Wuq};2*h8z-4Aktq zWOd#1f){Uc%wN9$vel9*jJ)JP!&UBcaAo)QA+OQ|U(tC6z_-a{ZHzeCbTV-t{^?SB zYc+{rr2`a$7s21>tq!KUNoDYUY_(urfBaTwAcLi^=sr7zC-`M#2K?mrssV8@;;nYN zU`*&6zzZO6Bk>v<+jD~E>0;@#qv7kZ@t3bN9O3%uZ#DktQKN#RX)YRT{Z&=l>zCc} zk|U2n-4$%LLHvu~YL5l<-cHc+$Q4wxa`ewu_E`11N1nqY(**VLi2rTldAjr= z8jPd2k~{pzm(mHwK7Akh7_h_JKv)w@v<*zP&-UVK<9o+PgZdh|w_`7k72X1k#!73q zuA{AmEiWF1SgK0~)+^`+M!)eTxg&M*75_YaiO#R$|6cdYL$e8{J`# z-X#Nr{D;cC|MdLXe`Ti)N;ftO>SKW*fj>co6JU)0)oD`3L=d{g2R26N+R8gCW34o$ zdvt{lbH)axWl%mn3W&rzq9Y`2YZ_icg(6R>&^HFW>3416YA5yjNg(@4w+npc6s3AG90Qn`5l=$S6>{MuHxAV zWW-R})n7sV1D|1>$CJ?&U)S%Y1PD$qR*5#L6C=MSS)@JBxGVlK{rC8)m1$&L$t_%A z8%%iI=Re^!TsL8)Y@Y@E*yZYF-%T<=qip3hwzk^(*b-ej)48X{k~>-#=*tG275C|C zrbV#teOozrJXG1Q@sa<=Kh`gKAq1X3R)3fCf7Z)|1Krfee+h;*%NEjAlLs3g)jqKL zeF0&8^kcRTJ_0NzKCEmvrv0lG!D0noWF)|)4e*cc+4?#f@dDjkF`f+X8Lg8B@r+1_L@Xdk|rjPyby0lTl2(H4%row~?@?pRTO z&!~lsNi>g%E^rx~DW1ABY;1ER?>ExYdiqrVPy@TySCvnH&QH9rEyF`lNE6}%Jj9p1 zEFvM=3-~dc`!Sx`yHG$=u#kTG^#=C4e(@v8ra$>4U7G+=)@taF`FnJOeBS3fysFRt z{NthhRlOb~IflNKbR5x|eDH!39#nTWKD_4thM+ANa1IS7KJh|3T%S`qzQL`3*si_o zaq8;!!U{%;{61yhV*8GyzIMSre@RCaJ`>!%%~>Y+(1}wRFDgO4=aT0Ebd{ zR^2%TV;F+~qkc0`6dWE5kbO3!i@a-)xsM2$K+ooiN1^hQ$2h`g>}&FK08n75rNOjg zbO#?VzDE>_>TSc_bLppXa>Bh0u%g2k*`vR@8L!Pcxal}x`|YIiw3?^}7%z63dZcI@ z0MvL+hjtp3nH?3abIFK(Yv$Dqs|JE^w`$Pj&p!jLF*7ccrL@3o=C2}nHEpgg&cpT) zDR0Pi5jQDj2ntpjM4yV}!;h;Te6PGR=_r=Zpue&nd>vc)suw=M{1?*sjmxs@A$D-XVg*Wu}*XVz&l=w9$PGY>8z3BR91Q*tbw9Lyfs{Bvpw zbO$*<;p+Uq9lu-;_uyW1_|c({rs{eEf^qOtbb0&5Q^$Df-r?Cv?OXcFbnoKP9IBGF z*|Bu+qNU5xwZguxGH@W5ll_ULQdi%8O2x{-rrbBYM)xWhY-b!Fe6kW~K*^b&Ro~H( z8_IYKC-*u6JL+z{ym&NQFh0rb{}fUeoaSKSLl+0s(bEH)uDZAXJ``9XuXRB7_|yD}4IZ#Q|h#V-wns1H8tNY7+J9kxCr7=rb-8&joVsSV2+peKGwaXXf${l+72+Uy@KZN?%3rWInU{S)9If)aY(?K)kCd?2U;B`a z72`I|-~N?l$6q*koak`*!sYlNr!I8{aysBVT-O&w^8#i4j)!!p`{(D_!1@2|3EUCa zQT90uX8kAAa25Z5+loB{Jf{0~P7=1`>-+(HpRASTh<87L`uIw;atdDYyH!tL3ue-f z1)GzVCrd0Kqep^tcMYPytT|;PJQkGX@GCyZfiN zh8iGoJlWN)vWm|8oV~~QpEuCZ);PuR@;K<1W`e=dZukeB=e2=kG5+LqT5YTLIn!1N zAt}W%GLKR*_;AT{04y}d$Jkk-ZiT7 z#%Dn$duMeL2DQ)Vrbl$(_cF||{E&cQ)idp-6 z+Y)9EUbZp$pS{i1glnd=K}7gf4>J2X^j^Q(mHmvona?UNt9v;}`a8woytY>xwOpbh zTmumsatFVBV3Ju`=g+=O7xox(e4qnXw!W@ykOf(>XL5f}7EG3HXclP2kjlFMB|H-O zctsw@0cW4f{QKykpX{{BJC72PpP;m$0{l;)r}WyNHhlstXG8jpBVzR1^!KxXQ+QjU zVF3H0frGaKduh=gVM1MP&*TLgz{j@I)?@_0kCx=k|9R9?8KfCaLvRwQ8RL_o^w>ria+&*O~zYe8Z%Joc*lSRQcNT62H)NBf{Y z6a+VbH8_1~pkMlL>HFV3%KItA)ORKd=v&vp9|`f@!9HnAYF|I8AHl!)U^R_NfIXTg z^9)fqlpl{Wua%>y{m0kiudttLILGX9h~xV$@VLCm%NxaUiR|dc0@&3}<{JDct?Xcw zZ#D=MI^1&{KHq*%svO!f`{e*n-xcG#I`G)j1s3U7Y2NP3rfvMPQgj)9cpF^RRrhVs z&dz{&UQ`f|!Pk~!%-8l#^8%BX1((K)cudE@7FZHc&^VI9ME7NH+`{3`#asr zw@oh4zw*#C@?JZgylN}i4m3>P@t)#!IK>q9+v>eN!GYtoO{-+tqWMs@-N$^fzuPP1 zGr3j<@37OD+Sg?2kud1?An@s^#z!aP5DS8YUkEK-tPo{B^&g*&;rBrLr09 zI{xWL(CH1(4^3cu5vR!!^4ZGiV2U-&&Jq^hY&`I`$?zr&UFy2zpJY z%a1}LyNwg@aBVT3m)hOncC0<`q;@d*>lf0UaBUmtXK#}uT-oJKd~~k-d_(1;Yc{Yt zx$Kk}@7bg8@tL0J-}PbI`w7yk-$76Cx%*@?)Xq5Lj_o8Ee9156PbD#c>(kK2$4poA zt=Z45GOf?>M8JJ|>BVQy;~5Yy1u4@F6Nmk*57e(1B`nb1xtDO*%l1?K7v8Buy^H-;Xt{t4l&H86qFc_oPK*FQL^-Er8#ms5yIJP z$unTbN>v#vb)jLJo1(UIa4+|_SJ4hZJOA3zjB zRqH79S|zMZX&#NTVYUpT1DqVnJ?KnfOE<8!$5m){6r8I9yn#1k>D-}w#jE?msrtu% z#;Q8u6iZ}`4dv~lGci!NQpex~Br`0N37{R-92|F6ala9??|voeMEyp`_v%s>&ATTp z8D&4FFM(QJiDmf`+ni$8JAVB=WR0%zSsgXR8~@f3mIrEskG{bz<1fb)AFLr2ADly& zD2C9fbTV#ww3^_@xrpgZZ6Rzh{$sGror*oK8^4vNNr1MfRV|fo;xNC$9e-X@W62}54Jb74%}T09vuCRuPUmYjOQ1> zmnoi)Z{0?Q&UAHlzF&>$7lP!S93;ou5l}&OtTuRce%zP?^LY)ima%#`D8NB9m5E}UoYWZL6Zmwao5 zsob%_<5!s4fO+<=ayL}R|I0KUS?Cu62hsAQk_mf}9W;yNB^~S##}aQ|H1MQ7-*dRu z?#Gc*Ml<;;kFU{|ICF6_C#S>>XsZpa zYGrrBT}N*~g^;b#0S=66ns_(|8D`x8_{Xjs+LfRELXUE*PuZZc|B5D?qlw4af70XS zMNJ3vu9MS#x(;S;cRcdZ&zw3v;yk&8mq$_sD&R|o+6kx0EFz3v*kYp0+Si=)AeuOX zH>}9TM-UMPTM3ZdJnDHz4{}!YQDlT?`d|UTttO8?ZS_U^VQ_8`G9)6J%shtNmQeMJ z&6?)${3x1Yz#0{EB+>99zAh*cP4+7G(g?Q-MnLMr z`!M|0j4O{h+L+-50Y-_OGxK%mn&FS!YUO9LXZ75LyxOAGX~fB)mm(idNxs*VrcyDK=d0aJOI zAn9N2gBC3&47Zv!`O@?5ZlGyZ#((xQ2DHu@Cp4;}GB)R;gD1Mbr3*IrVR-g>*Lr%g0cH^`}eD}E7f zWr7!dunp(2#a5}dQdQ8)ifAhr;duu2M^0?aoA&K`QGNfI$ccCQN^c1kz_6WwAhpE+ z4()O>z>k>!$8Yy-tRF8QKW)5#PJx3++CfHT++gzcUHgYMu)(4MtSt$qd>5@trs$+c z9!E{x*QZ(~YH$~;=eK**mT0vlE8HAMPqoP-Uv|n{p~2Gc(61VN=f~EpeOK4|&+day z$BzyH7!Ku4=}PZYg|ltlkQe^OYk0G^)_t<-d+ing&8V!|{Q^Vj!R%qmU=SZR+0d|A zIc?_DIk}{R-?fJV)mt4NAbYQEU@N1sSoI(Y{*a-QlXGPSQPv-=^Na?_lNF>xC{E57 zw_@?wf$A>H5Z+JalRw$w)B3>D(d`eP&f}1WFN((1+SQn{x>r}}gWJ#iJ#DiOzToqY ze$P4HIouyIPxYSkgWk!TWb`8m8!k8Bb+}fRocJ=J+@L}P?!L+5$W%WNt?_0&f{PJ7 zq0y^s)AXY;xW~!&B8YBnrRd-X&xAxcc)RqwCP?3;V}E{V6;}5AkL;rf8@BLO{q_gj zA0#({Wh>QNqE+Ch>jLK52^l!zv_Kx@64pPa{ieLXPS9hW% zM~-A?xVR;gTh}bo`@f%b&h&H@$xJ3U{ojQLt42;nh6fxl*am~au((y!JEo&&bboqW zou)+Sa4lBu{$HQ)r;qo^`7wR8Vz27*HOp5K0ab6L?*+5Fj9XQjdi8aJk$34A^&@+7 zs5ut!E1~+%#I-*0*e~+vNi3x^=`LHw_Sc8LDUxROv7Lif>A{f*(B-?L(QeiC*Mc(H ztm-N0BIno@!KsIW|0Y7LW)y5%uv_^^7Toz-9VRZ3x^pTADN=b_K)Poe+lyu zMBnUc3}WStF~<4XQ!p0jPMYgPt{p9R&Pb~c!8*sikx92nEQ+dApSbaTFxg3r+gCZ* zg0QTzGl#R0Z_yZ6k{ujC9+un>E zeY5%OSnW?9i`Dd3Rsj}gPnUw<^F>qhnFCw94OT$+vW>yZ-!f(@udVHS(N}eKkic(u z^&L(~6kOI<9UtPnwLa0Fm8jvT8KTEldj44(B}xn9+OoxRcQNu;u&?|fpg{((&(0^p z#5keTJZ2etF_{DCb;fLO0As9tc+?q?iCv`;ZAw$Isc6|NbIw!Ys3r8a@Ho zHbcPr1lxod3x?wxXCTN|H5vQE2u4ATU@+#eln1^#0+DJBS>$=j7e6*T(KA9e!)buP zxi)aLe0TgH#F!PxzhH+ye84Sx`OSps$ig+a>KXBsNdJ%GChu-1WM$l+Ktsl&XKQDp zH@G40;N~&Ee6!)<$e*_wVSCUsV&g%IG~P5*c-zVe`T`X&_86yVg&%xX`o7vRn1i&r`nN6?>-JUw&KRh6dmvh zgoVUKc4p+4JXR>8#*P5c0X7op?PgKoXds_jclFW2>;n4*UUV(^7|f7f+urJ>aGbqt z;I>iDc&BsIw=^&et`{_LSYMloX5#{(e#`G6s3vvY>=O!ma&V1MowMciCX}jtayd4z zKBHc-l=yV|DS;|mez&UcK&eya0HQs*;@S6{;%EJyDz0?As~i#jX0~j#1Up3QU)Qm2 z`(?~CXg2kB+DC9XiqWw^C;3L#K~l(xAPd;Da=`p ziwgucP@F1H!1wpyM-RZmK{v{W!nyBeb~zo{wv(%;n9L1Q>le8g*nyttS^BTI(l&lKnAWqTHT+p*Kd9+%8E9gf z@+oQ^yDf_POU|fmp5Q%I;Sai7K>KxpW$m7w5J>)Ba2w0%GbjF2GIoBSK-_$Ua65W& zB!rG>b@+inRxYBtT_o;|9;-%e4|(bgIjd^kbv_vS1(^NYz^X#Zt{)sK4V99KL5_B+ zJ&Yecd-(n^pHDk+w9CfA;=F3F)% z63x%!+t2twP|j^)f70;ra01Oc^wHS z7Z~}n?WTd#>Kf#}eA&rR>83XqzHU^DPsV;$w6oD$;fPn^q%OQrFT57y?@6KDU>KaX z<*ZeR|JH!){en(Ot28=IUhrNk3($i2u?G*~jc;h64*DK+*dELpvjzIJ!|$G1$yqtg zQdvO>O@NN_hpk9`)qs7?E8ZH=>i6(hyU}*pgTs@~FtQp*doR!YjGkNRc((1cq3JN4 z2*<5D>(;9D*IVLeaOqQ7I-DF0*sLD1{n2VrzUkKn?XTOLw}b!7FSy~%Kq@liqetL> ztvY7R$BaP1O?{OW9p1KlvpdkSN>K23t7dDgUS1$zF36s>fNpww6lCow_*Riu$@l=q zxrckqj5k&yo78}xz>)zi9$$}1YkG?r>?*#ztPcNf_%E=T4w9*STLcmiZ{nt3J(onp$nH0&-PT$Dh5lM?rBl!hgR!RV zyKKu^Uf)pi*~-KojX0$)p8Gx)0&}`XgPQ67!CilIbSODTm;UMEz{wtji?z!qFJA03 zkUjOgbpPnCcGb`LSs$e$8J4X--Om=4w6;1QB|T5xaw<6ap$8q3`m5w%ly=594i7m0_u&t+7AE9 z(FC;mz6SZfe}Dhm$D)TH8{b*Q_o4GQ*;DO+-`S?&Q%6X8{?Jx#!9HW0pFf?IN}pS) zRvH>iq>PrH(-HlLesnwB@M7d+;*rnf8W8RFbvEK(IT8YXVr}TKLeZIdR;z7mW2+MB z0W;-CHzbX0HihgTT;sTRlu-VC*f1nL{o9!9v>gQ@p<@wZVH7hmG zYOvA+;@@m}-`XRcW3Tib$`BxZ*D&#TD+05t=WX$qKBbx3BH7ci{-0HYP3+vpH(CbW zqDzdC$tAH*e!JaG^jn}8J_1^_-RfxeKLC-&Dq`*#yv+ zbj}u4#()V0?PG5Z7PzG=Z{qQG-cT3TPR?7^KchLOS2uHlPUCM@XE7kS5% zu#;B1+S!ri2ZPAq0_I+v8u5aq+R%&QGW`FP2UImo$I1Rh`I`zX(8q6UHFWqn-_cRJqKh`U_mm@uMX35Iez6J-=}OTit&{ zf$T?%%EwFiz)$|ZlI7KK`;E|^Ot3u!r_BG8)@3<=z>$safph)#P4?QzFMd?_CJ%B7 zHW;rUbXZiyd>^N&vS96!=U@-mO*S4WdMZ4X%BKyF+5ujM{ay`ZAKYzQ!oW*@zIHos z$zUufZ|S$do3=gOx#2vVqOUw2A%vW@i>6vynM2>D%X2E&x5>Zs5)2N|8w#cqLN?ZTHF#@8)JhocAqvn5cJCJ*ic7e8`xdq$7R$Dl`cl(@Jg z+B_S1u5!7($UFm^^d^2%O&#o3f{|(68x3J+s~ zIr){{8|~P_Hx`st2Yrcoef16Uz9;q3rys`mgImG- z7oE(1pVR)Vw|?ob9CbnN^fEsuoN>`W=E&0dvfF=#zVPvHgYeR=K4YffIk&Go>)#WS zt(|*8M(EOk=bXc4v;?C<>}un1PVOaRkw!+f*s zwSX9It-nd`#_Ia5#|9qyeSrx5$hbl0tI~=TaE~HacRG?77DV7!-lZdFU|f2%S)pnW z>i_^i07*naRAtC96|f!;IlJw8^XUr*t!Z@0>H0rjzy zi|Dx=1_MX7fBspJJU{AHjvyN}E~&eE=(T~I0fYb+T{4KWjoR5edDnx8?%5g*RxR3J zfIxfuu2mqNWBGM2II%@aJBYv0s6JZ-Z4KPOuL`vtFC&<9+$69*>F|fIK~LjT_~7Zw zmR>q4Mu0MPZzYI8tKeGlXa@NwJ!o*IogQB&^l%{AxD1Y6)Eu2-px@d>{Gn@XZDe;H zzMVWr#>(jjoPYEqJM4^}>&b9dVgupiHlMAhHH!^atxS4oi`+B8Ho=(e#i|MDd^LS^ zIP9FiIOzovTca4uZ3otG&2LjlR~(OL@mzc0ccqu$tv~8cU-P9Es%R6~CSn7aoj(>I zOfci^@tL)cqa){N9c{0QDl5;IcuNoQ1YHI{nY5lqedVkc5fF5C6Mxd={pbAOugT%h z0<^Ew`8;mS>l^>ii((#H8vUOi&anQUe?Dy0gY#EUpTw4#TsbT4(DNOCq7xmPc!{Uz zDOo&c0~P~5db2aNYA@`%masvv_S!wQ-AcEx`NJD>+2MF*<;+<%j5peNT<#kVCQ|tQ z+CQ6jN(8&I+V!(=`TZYvzkRS>IQf1mZId)X)?W5z@@x=%DWG=x=5;54_p%l%DYkNC zBkN=51+-0&>&wVJEm>gG)~;3sSx02rDJ0NQ$NHw|qN^lov=#ya}NS346j z*~7PXxCyEVS^rpmeJFjp`AQqOrduKX+pF59)jsrHT~_P}-m?#M{N{V$pMay4so)AI z<9#HL4-DJJLpUB>K@-}cZ9Wv}czxgY-j`3m{n4sEeVV{8Z#MQZ6X*u z!`qPwjlxDZ8Nq!rs=PBHy$SPY%=lr2XMCx;(Tf=PtbN5(ob!9<+g9`Kn!iJC0oB%g zqlrcvI^m6Nd+Iz;N|ZrLw>SR-e0mML>uGt);DfQAM<4xzJ zO)s4JiCf^nOX-bqeD_(sYY(2&vt-gAw35}ix{vQ)T0u;=t;%CRhj)2SAFS>JA3j#; zX@Abp+n6|Ck^TLnm1g%J(#P!Nf7Ks2Ym8a>6tDCH@MGIe6s_MWaBsDz7a6d5VCV88 zXZXSuCRW_p%KFNArpEIbGl6100}dYf*Ds(c|Ldjxs&sWjo11`7f-Ij~jcdZm^|ks< z#KfX)h5VT<^F~_1PV%55PwD;h>>pj+L_&bh3d<&F!rAy=DEhY0NzFdvRxnH;^5J=_ z{5p6$zmr{nJrl*3x(`XgQmgODQaV{^Gqv8~V|*?M&d26Mn4qyr{LeBA_>d7>s0nF5 z+wPlNgZ2~1N)LNzfszgt?amlv-|pYP?VQ-poo5)miAwzs$(6kcjV-tmuwPrQ9t*Kd z+BkFbdHwnOR#*!ftLsg{RFg@@p|^HM7vHp%|LwcZa&?w%@Zm(}&O}7h>}=^)m+kzz z=thi}tUdNpE*c&3(+Q$JzQPHXra_}wUoxLJIP-7A=h!zsN2?{1udUG2oY(+AeX|L4 zs~>-6FSv|+&inktM+fpk7A`)Mo7?0NAH3oE^r^D(rIJ@To;UUKWYg9DX)j)Kg1A>Utjoh_BfjR=07^GR(rEO*J8Jw zuN+^UIs3WQ@$C2eY_yf4Khk@?IXnI>ek6e3{%D1}e*%>Mna;YjSbCBXEhnW3p>Fnn zlEbhuTBRM3YkOyiWAw7d91ggKBI>PSY`=VEyqcb}hVS-~V-tgF=5gZ}L!_$Gh|LVG z)55=q;$*9bGpQ=vn@BIzqBXo^)+yFN2?YruOK1nVzAA;yjMs4>!=L77M4mdy@@a$M z3^W4*sTgY(30$2#95e`9WX^12ifdpVPMlgxm>&^9TQ@XSb@x85zRqA>2T?xETpj9+ z521SNNMz<1Sm9=X!l4`KDIzE7d-&l2iWm)XN6xdVxn@(y@MRG#NiY1E;*>Z1(5LEZ zth9ka<)I>_d;HW1?rfBlMPL-a)+s<6jbN7t9R?p7pV!VKnaroF=X>ALq+Np8)wAKYiYm9CRn(0< z>>Qf~k@4xm&+~)*xl!D6sj|%GrIY#vJ{to1wG0dsq8L$*fag( z4BFA%@le0jzws*gPZ?$Xm^1C@x;|yUL5?nOs5}!b^>IBDoW%28| zt2opYE_6;dm!iWnSi1stvt^ZDHu&ADPy*XH5O_AecEbgs1KS45X2%qV$&cLdJ};XH z-T>K_m~;9%XRFme0!?aPe;jt?&8czjm)U+>Z1V>@7vm775lfg+sq%RIgv%xnow1V6JM(TU9_iAY-qVISf%Izw z(e=%E#4j`3Ud8H49@KjmMn^B*ITMTF8H~n91rOUESCG_Hdbc_AS%-wm*%tV)i-G^N zGh@1kz#ty=VVzK`}-87pP^Mr2}O1y$QG?^>0s z&1u8xwE|60={X0cO!Sb>3((N7#t!kZ!DB(!SMip=fRF1Nf~n1}U&4rZ(4WcN9U7(G zRx|APWK8eN;N#j4S+y_EDhDng$?txvjv6S&U#mH!F`?UmNMGDnw6f>k3Yjx#Gr&88 zmDg4lRPST$#o_VfI{sB~gV7i!KwyQz6nFF$SZZKpfCo`}V8G-)WXp!OGWOW682aOF zzx-3WCunA(h&glAg)@@$J0Gq}vs5rc|`)FOzxq9G3toUaz zsJ+bRWv8nH4(s#FGd@pW*fXPm_&vlGy40gG`W6YZh27$hw>MK9!F@8c!s=U-KhwJj zKY2yt+a?fx&+b~)%rAwUe)DC4zJC+|`1sgLEB$Kl>8YB|_QdQ&xFyQqsy@21lX9K_ zZma*&)r}?9SJ_PtlV$kL4nc9a_+HV`)!pGw--j3JYy6Uh4VcfNovT=zOMnZg)|RcN zqTjB;4ltZ|DXXmw;a^GJlm|k6E5l}#H5|%HSY7j3_N?EfPiFmIFh02}ga7j}8iaX~ z20!K(eW3SyaQ1!Vr$5?}Ptn7E)3Gr}?-zf`OCQ`TgT`0qF}|!WO>e<3b@Y$@oPUv$~Be@FK7`%e*E}pK}QwC<7I6ku27Qm2H6C*_(gcZdy^`aFWY!@WSb7Cki3G)q_LDH!)*J1 zRlkoe?SY>!&yidC;(>_RV7#{UPz&hXQLReCS54Ztz}=C#Qad-smp$(63;{ zJpBw<+6_N>6LNH`It20gH6{e;!b7q&d7=MR$jWtW{%T@(ctlh3ePTPqV>G5!e>B1M zwclt#z7L%-@%JTv;IX&Wt{x$^$k}9B+1M?1;779gSlw_o0k%n$@F5>*zS*+a6-<*U z`76<*AA?p|FWS$&zVS9b*rY0y!iR#eGgj6)D;ngl&Tge-knS>xVU?+v1zwlwdXz4r zvC2#k#i{AI`q?6IE%Mq{ad0Zff4;B3#V2DRFFScx@bl$!K2k`VT%!X4!8?9Ynb)TH zY~L=Odz15l?|(Yq6|LQG>+WDMIULi;s=+frgBp*)+(>5f6Bs~RKxZ9`>z7A*y+#C{zC zk3glRt4JeDsG*L&^`tQrBXl;Rz-E_pxNuPNH1Y}$^yw6Jwr9m$G?g{|X@-w5Priz+ z9!k96Q+3^xbH-xN)7(SyO2T>2V%TAUH;zi5J07GGkU{Kjzhy%?yX4pP8dB(=jM3kMED*{ zZv6Fq@#x0$UzDzV&*2$Or~csG$`0pMeeveVf7o7m_C^?iVnfRU^9wM{+gMA~ayd&@; zJl>E)*(QF@nhsmAj}xz~voZEP5D}6yA<*z90u54Ux4H*0pK^BShdw3P`7s63&%J#3 z5oaLbhyQ&}S)DRO)?5mDY%8yP@f_Xw1dlU;0uOE4<0j8?^z;M%NwZq4uk~?eM!$Iz zY;|uNRO!wFsrZG)$$OK1AeIgnH{jebgfRSgcvM+`1^*{oD_4IxBh>8eyI#(LhHrTv z`g_jBR`q414+rQqhe^AsOoNmil3j)DIJgU<)IoAmoWtS_tPN@e|2RT3I5|nJ>gxEf z(MYH86(4@J$7GC>IcGg|zKOn%gM~UT!dTEqKU42Rzx9uT&7;3$E9|{YzzZ@$dv&Z` zm*cD?l~^4qyI_x%HK)$NTy619&XujrXyY``21E--&V1ok4u#jw14HxBi_V@2Y)&UD zE7|HPx*-;J5j$Mr01kc~M#TT|jvR7?EB!Vn9*~+i=}N zyyW3b#6#P0ct?Bit;YD!HtW_qj5b!F8cshS?~-2WJqsS)*+4dUsM*%32 zd{#cm0|wt!b8yzQw;aE0=ZU^`@Z-I=j-y=*k>)dh5kprWf4|ib4eG71B{MJH;Ja%R zCd9pjXLf?l$FtMd;#*h*gK+3IJ+RsgL5Kn&t z)WwecOfGK=p8m)C``*fXd-+N}Pq^%*a>iQOi&&7(Yv1uPz-yD$4_6rY-;cqy@{3_v z5KFWphVqLx30B=!xs;*L5IlFK-`f7#eLP|Vw~)f5MR}`rwk(rV+lqFnXh~-dtnv_E zXskZ%TNUB$26lWR{HIkg&}Sbk&fgyG_lkkv&5d7Rx<9trs`T(eS1{0c?3t>e*+Hm<6fQsa8JFEnIMV9x;S>PP6 zyfxJ1+151~E7oQ{v{LFH>8W7D=WN7}f=k-ARt-mELb~OgGwoHIdL3==nkcji?V(`I zj*7s)>A=B}ylQ>F{m56_L|1g!S~*(-I=cJrYr2?mNQ~}1 z-m%F7?c}e$>NB0=X(5w|B5(gigH_Z2$hSbt$K-VLqinq=!v!&WC{PYpM6Az9=h?Dt z|BhyLovpd$t%_^@fJ$Xz9i#4PKUz4dV)#zdO1X{PNBG|Kw)j}@+YBlGl+O6kc zYyvM?@Uy9wI{y`4|5vM#o%<+=cJuu{r_1jPHNSmbzy8mU@vFD5zqc@@Kye2`3QR3- zgg*6+KaK2g2TQ>J2oREg&M=aKG#vm0}C!Y{5w*{>F7sLoxhUhHQK8B%XG1oygbm3 z>ByYSP?#J;;h4{|ESF5-aM_SKN8r=p3=kdc>B$q^vHSWx8p>-xwt%8)hYV(C!8j+u zg$H~DRz_N74sW&X@Ene+l+Kn_01B!Nj`pB4+A2MuddRuiCB0kbWOAf$o=2qzE7x-= zV4JDezQ@1e#_;Q4IZ>Q19q`eK;fkhJg&*C}kKhON`v=#V6JtRz*xTE=Ao9?I z8_F9fgd0cD06a*uNh6?2bs~a6ubSw1zK9>3O3P+k$gG}YXF+C9biSxOb%BMA0$f%D z>fE+PLVd^&6mvHk`#D0t40! z2H~5W$nnPTqn~Q@3FGSUPY0jp(RXFjv0_~p4&_X*faw3kG9|0-3Iqd`^UUw1g&SVr z3uh&8(~a9v4QRg&USMHn-=rV8&5`c+!N1i$ZMn1}$`(K`TQF<;qt~Aamaf|jPr7tx zTTMJLkkHO-pP5X9Z;&gGzzccON1PO~m*PoN`%5}@nF+R>Qt?ysO zCl;d0YGf75|fKiDmKgw5iH$rB8YJ zKUNvIYy&npUq29@+KB$ncCm9EzVSUC)1&)rAUziduy8d{=yqmb3UFyO-Y5dHk495Lf=NWill$*W_ju4_j11c*{%9^%K!O zYu3G$t^JsM;li)@mTgPuTL?kG+Nc$_jXTi(-A@8o<W_RWB?_A*B+WpdJpQ^9E zH)9vz+1-+nB;=XpXpjBCQOc2J~@|hXIsKQoCW0GHc4rP*;rUyEO65adc1zM z2OrC)U8{qh{Qmx~U|)ITp?JUoCDmsYaS~iU6RdbFm}+I!`+^bjQy+@}cE;yF$1J~Pa;ldwM z8CpIyNo2c!s=gJV+qoG{`Za;Z1$*PO?ZfESveXxM(v!|JtS|WQkL^?`ueL(BwE-(! zeQU=8S+TM@vKI5G^DCkwYnh#r=AgBoh_JEH5Os1H{YFG{0qsiBcU<@hH zNVoSj(Uv*^T`kUG|JiRc6C-d#e zs@!v}*WXIDob>5j88Dw99lZRr0o{$M4AqQ|90{0XpcB-g&iF?W9x&b~c%#DHf$|FK zpkdoM5;Ed72A#R`>D@t!Jj2aw;#LJnjhh&{fp`#ypN=zt-(%Wd&m2=U$PHu?$bwK6 zbM~id#c*rUx?${? z4FN&}77*bM3xoM}6w7~#;R~Micltm-20N>LW{5ny;HVfqjN@h{l>MudUC#1=c|OWr zmz&BC)^IG-VS34>?<0@@{ZUt!FWLSAB=zst_3+Ano(#gdy#TC^Qhq%lO6a&Enr!A> zB?HLcXwZl3N6C0Q$KzJ+0x+1jv>W2TeyiZZ(e3|#sVF#uvAWW;^8CVczsU5u=wbg( z{!)jiXMe9yj`B<;N?$;tZwadpM$t_1`;Fuyiv#(fB)?iu&Hf%al&(x=Z-JLJUB=^N z9VR*_3GiGppjSC9eyJ5%8?Id~XhQj1zXWptN$9=2nR7nS}f7qqI!$5X2*p=1JIX?Tj`YX6g+o`TO9Myr(x96CK zuHol=B06Aa*SCY4j= zAcxlpxYQ4{qKEA6vMmc(H1Hyi*fAP({v5cf-=*Kd^1r6J)bH)o!@>#*I9VUp;*&niV zucGT354vaH;e;O~i7xh(Q>MROz#`h^-y!hhv3kS1bjMq8n5gc34w@IrsEcC>hJtX_ zH(2%ITvXGNYO4uMpEuajmvVx`$%;2;yIEQA(INcNRhN*{bNVAI{A9#CcAe}|JQ-F$ zJ`1RA1_9xU)u z*<0Q4CwJQh1ri?$8oa2Fd{MnEScu{2l|I+XwrbmUK(vG#o2|{+r7)*BeG7%IgL{w5 z=X2T{#Ua15Z8;vNuT_~dT#?z9+WG<=wY^5gf~;0G91*EB-o;~e*+yMLFxZdy5>NNG z*6=kD*c&p-t6%nF1S`9oKVvX}Zw4RhyXe^T2On?)*i#qVDKF>Nizx&aoG(Ln_#_Kn zR__Ma)f31tns+q5oj!bMhsV)T1A;1^&X6rVja~nPZ_*ZQ*)tChKbLp-)s79S=s8Uq z&o4MNte>4r=nOu7?(Axh_&^2?4)W%-Z`&~$M~FaCVu*+7FybPFEwo~ZF0*k~dyofs z@{lvx$Kl#?KSC}n`|Y}PI^N+QzVdHx0UGtpK2>HrVJe}2;d8S`+UMG0IOs=WYv+Gf zN52Js1!BSY*}xQwZv5FKLkI}Y*ea>7Q8yiPmR4)~YM((1hNk|l0nGF)IqNwM`~{#4 zz+Y##UOa#O+aLdG3sG&8?bs1M@q}%lcV~rOb|!u-*r?spt#ICXm+^{?piTy5Av%5< z7|uEsz@m(Wg5=eQg%8#JkqCv($9Z3IT8#5%t!^Me%y-~!n3xqv)SlcZ6;IN z%0w@4h%ePaM}6<{X7o(A!GsTfih9pp&k!dv80a)|-3L4ciR7zqOA5#w+d3 zGl4NV=(#qviODgY7>@oR9T065W5Dy5RnWJ3F7GC##=O-i^PY_zHDsFj*l zsB!tp=cxev34&RTN6*u^d=uw#YVWbHD}O-Ae)uhkeKAI6`vnQ_YZLDZnw-_u+C@6h zGi~cJf9|!TB?{KR%GPT0-jKXi${Jnu;u+ufdA<}n*c{KbxNB)g)jfYwsb4sy+wL{c(mw;-qas` z@e-NrtQDnR3Mk@jB7T#|>4^Rw^$S*qqjGnJI@w-w{kIS4L^As4ACC*>vgMA{z+cyb zeSRRzfM!N8h}bOH#}Tacvaw@!nKo$E#l0{Kqb0zrrxjlweeV;;rE*(F7z~{SeuI*5%;pJGIbX2yUQ~2ua!x-+M&3Li5&sw#S($)0B^+p?K zDM4KbOh;$9GDd!cAF4Kc9$-oGGKRhvFb%gaotLsfLwsPQ@gkkYs`7OoOimlaWt$kX zrxcjys*C}E#=6gOpRyFEvQZ>enfeONeMVil5*_I&tjh@=&*G4e&7(@?ONK zta8zm0gJHmrz7Nwrv5E2!A-m3BfvcyO?rj$j4v4?^$!OLtE0ymgECKF5>L<7hl~C5 zd;ioGnCO^;4eV0nEj|3oS_+`2yd27}a(M^a?;FGmH%ZsE?15NaG%)qoWk*pZq;#0qy!Wa9lloe{`6bImG<}VG9B>!RrccD zmHWVv3?Df!dJb=H@U*eur~~dU#zZ+dp9)S|_o=|C%S~*cvpSN4umZ_RdH>ye0*FRQ z-hM*|u2->ad+3*^bkCGyxPJvc=#|XiKx+Kx-UZfG-*90$_#yIpw#vGNuiwh96Y;$J zo^t?*TxYtZQ?RO%R|W(B*vAncaLs2I4<;kH?RMel?9a?%a^}7SH(--E9u1u%f7LH= z7<>-JjQ4mDK2X9uxb!vjby7pDhdpCUw$ix{a~)F1vr|JG$4BeQdq_#g$}|4tG;XB> zo@OTuEbUZ1+YLK2DM$6C!C|&!E5rkXnk->|zt#DiK+|-lIwy_{0ULT>famc`!-8lE za(+UvC$sMHxcfDo3XQkrVN+sQcefTCkIJVQo{z4+$CLgZh6J6#C{sCdn2ru}It>ui zo*5jBVd^_*vyvQO4uX+|NN<%ml>%U-2 z9yMGm2%lOBa%5896-a%He#BNefz{V{`qrF)+CNGh)1Ux2>73ibfdVZ53ju=qv7DVh6x7K!KGZ^V3-LdppsBjb z6#g95TwO`hztO9V} z8M*xazBhVSFFoRTlM{Y>JL(xUqM>tN;*WYlr;G1$1}2J>1?0L9uG9|pU!7*-3Cr`d@a2qrUnnliZ=-838C*YglPS*u9 zp7)m9Ka;r^K;VsuZDm*>!I`ZF@H-UnP#}3e&5x(aJ7TYZf%l0xErKK6IXnCoovWr6JFt}F71UL*&5CNbDoymR-SA}MQOHg!THCS84mSL zV6QK&{vE6y94piQNEQYfS+w{F*OiQKXF`IqR#hupl39<1LgQNgD!eL{U4Td6vh%I< zYG7E?Bb@o_^%}jcnSF`s^0Tk01qLn;y977GOEr0!gaG5-)*Fxgv+Z?y7_A12|IyY` zZ>R>#f$7LJ8K3%u3!6vI0!rDpY`;JYIexD#|LYGglu$K!!U4&LCU_WNu@TQ-)F;#_ zI3r7d&mh^GKiN+!cI4$3JbX!>Y^8d#*LK>FJvmK^J;M%)yaf+^>)Mjm`iPya6|XSa zd6*`-4FVUuqzAQmziZ~<6+Y35m--k3aDBB)zi;)YP7C>^I|B$||HI$S%~lcm z+F`oD-k$zCI`Cna=Qz~oZ=mEo3E`fc4dPGGSyts^qjKF$hpJbJa{YqS&*?0%`Y#?X ze{w;x__vAY9(s16KNtu1gUtN%gouZ%#E*WSF2x838h^FBX*j)LwVJ0nhj$}u!_{8={QDIfOtCj98@ z=X6XPvmKueduW-O;7zPa&D9^gaX$Bjy5lG2=S2oTp50g zm05zb@Fq^}-_F2K>E+k-olme`3F(w)AL>sWQ3a+|V^8(vCN0Qo69@4^%s?Ri1k>2p zVCD;{tCHzwxM3h06<+KlpF+Q<+0Y}CXAFnFL)$P}_PlSp^ga8J(4XP79W}{oeP++t z{VxJ_!k4G;AqOEwevP}@MufD4XoM=&(wrvt}_9Qa0Fg@$jGZ*QvIZb!YbLNw+_0pBR zuiu_}fuFuEQio&EkG|-1#-nI&aHr4u!Ttv~O`CncZ>NR!rXFpPg?#hot~K)MyJL0y zhhu#B(o5#($ZdiQKlmo_#;DJn65-vsvoM)<6#)8q7!> z_`w0Iyo2WFKs(TZYu_2P<>`;klw+<=69c!RhZ%VH_j(Rw9f3Be3~NgV z+`@qtoIxAlM<)&l_{%0^`S&9|txge8hhXeH@KwoQb`tHdyyg2A)4h`n5DllQRLiDFfH75%d zz893EM`NV{rK)mfOd6r}u0h#&!3OnPaHZGJ)t>sUZZG9Hdcx`El#xZwU;O+r9D)b0 z`k}@E2Va5A$-aSDc45w0*~W}8+quCN!8iScHsQ=5dbR;U?PGl|9Sq@}OUq7%AT``p zxV|^>RU0@fZpaQi73s$X1l)m(u|$xJJrS9AEz2qj=|b>#EF=T!q| zzKLzaAyvOxyE1qvKfa`j^}X5)uHX$kORG*c%wV1q>&>19SYMibG}|l~Y$pACay74J zmjZuAAlE?aeZLK&)$^{ppA`hPf^s_}5E9+v-*i9Ss-EY`;h}*Y90YXmmXkSz@UMRr z4A<)FZf68V(}Kbob^WNcv8#L=@Q1f^)*@-X7hA?wrvcI7yg~W!B8b5~lZ%4V`5y7` zWdQ|t#Q;Iw%peyTmNy#@s|iN~a9v-&`nIJn*Pb2z1}C|^dE1JnbQG&bUVk?5?;(ep z?mWvL7|?zA@UD74Z2+RW^Kx%i}XV}Xk9 z&$g^e2h%pnpU)Zqmk-~_){c(1|NiE;Z~yngX_~Sdf@kKzPw2mWBo`Ubu z29IE-;cF-QDRA|dbl|=fHuQXN;qKY`pm;&E5RW2$%vNGn#uKZNm3doP?U8@*xk0L+ zHC=&E-v8R%yZdy#f!|}>cYi!IK@|u(sJ`Rtk!@gm<2XHB+fB!;0@*pB$y#6;FKyMO z|KC#%t7!P%0_GEAybbN;WhcH|Z=L;6#P6TY%CKWwX=p-SbyX^uMc3E=mWH4 zhO(pOTaS^doI!VZ>3_qSi>Oz!5W*RkgB1aEZn{9;+I8^wQ)H`s(5HR0t*gzibTH{< z$?>T3v$VH#C-VWb`n>)|hX6%L99~r`8>)@7xoBed1mpw=`F79iD+PAR9j>r`QJ|bY zqnCg7R4|3?c`frN>rakP(?m=IX}t6D0{=D%+HYs}dFjE%R3kH8O#c?7fR`Ggcj86s z1f6EZ6ST=O`$SK}gO4(PDX4VxuX0#(jei)Vb2N z()br35i`3o440?7cu&UyIezZDXK*vI_9|VJ2Ize2UyxyT{-F78c;cfD~dr|PN zqXD+sD7hGWe$IEWQ-uqyZ#KU7a)>Y)EN9YvZN>XJZURC5F24Z9Ry;+kc8<%lozde3 z4eRqlOJ1zim)*veI2nfP&z%d3BMYkNGb;Ng-W59;-T(afwXONRkv9+oF&{tOs(4qy zBkdrbTM=b}k-qyZc&YLrFTN3gw7s0)((FWW}5pn7oVwTpiCC`iFguk`OG&2U0L2?rRk9WQEw z3ASTOT5(-Hcrx1@D68GoMJM#Dc#gqq%i&Y^(FA4d#VWU89sY#x#x`mQ0XF8t`*+!h zcwgDKIg4*g!`3hL51*`S>4?`2(+Cb!K1n(OE(0 zt%~CSb@8RRQ9E-oUVP^>L>FCq^ZDi89-r#;yh-eQUStUZI*(CX{MH-kU%q&g?;qUs zS>F(X{Xe#OyBWjDL?(44ODhkJCm?A;>MSOSzrlE&fStYfJv;CG!Kd0xT9nMIFW#+> zsmzz)2%?kU*KFNeLFgKbxC_##z(X(|yJ25TtsNczgU&$%;1;|RP$cBLI;*POHKPlUV9%)1%7`OO zgC$W{25EfAu{*F+fM_F>?-@c34R3IP;tY>8DM*94)h2$GhZz|@37^uc%eVfA0RVUW zDZc^!i?%*McKpzIC~3Hhr0cXIxQPvEWy* zwlq9hPZq%f4;nz8~Y!GB4|2e-tH* z$yPxn`}`dMVs`b7N%BbY(E#LCxBGsWDc(cn`Y*dI16=|T4D$?*L`qhfqfG;G{+t5c zU)KfiFWjUbnb50SC4;@ZJxhj%rzG5OIKn9;WO2Wb@`p)(Jp&M)l%W4t#>mv6K-n_o zl(UCe=vrOnm4`E6yXFFaE58i0Gk;Ngd*E3>^(@n+e)m%+tAjdtRtbw*eWzoi2SKXH zVO8`|)>}eI0!f!S>c%;Ezd#9q<5@7+hKj*`PHS1%8cX~)^J-?LG{J;yzUt?&(#s9_ z(O-V{=I}Ebxl6FX5Gh{QacpwcA53T6ktoB7KJlLec9<1o_ z4Ed@dkJ76-2z5R&;zf?XRc2PR82~(MD`prURJwzlL;p(&5aXGxQV|*SYiEFcJu6-4 z5qlVG;z@eYKoM_$$rZkc4Vt>)%E2E#a6sPhE=$*f{t|np4=Qh_>EMDX2}ZDrA>B(q)IBGd+>T8(aMlleuRoe?54Q~x<0n<7XFk*m zhWb>zLZboex%?&vc*>1#_EXu@FP^}hJn_S}kMP`z=?lW4u>2KJHW2ko)y4tIMslp> zd6VpxS6k_03(0J;is(`gop)$UCZx?0o6vzX-{`i@jQ(Kl&gqM3`kAe!fmb@b_5g?E zu&odQ<|jDm2@87g? zr7deOU*E4S7(@nQ`Q)uNhkNLhh)zPIPmU0AmLD4@kb(Bm5nuGZf-}c=0*mt*U!vPT ztAjX*I|3k(Um9_!moNmLUKh}RmTi6c{65$XhJ!7rOzKwH2C8VT%m3efos`!^2b*q@H z=p$?Tw7~`X!kZ8Iy1>qthllVu{>#otT*HsfkwJbW;U7)@*$n}e75#z2j&@mSEq z3d^mCB7yPp$XENZl4qE!qmQ5jT-I*}t!A`=3Y`{U*Geo1)7O<@>Y|yLy z@_}tHGiyKmbWZK~(zmQ2WgRwsFTwF?@H{B>l4*#j2J0 zJ=JoX=y2Yo6@hHBwx^9P=sQ{k6Oa@>IRguf#fu*e9(P|}zUAv+TP=8YQZgt}6>ZG8_v10RY;E9WaQGS%ty>reiWlQ$-XV3awadjGRY-~pN8&K}$ z12OqN+u>y%^i2@QY7;@c=h2~^(2?2HI20!)i|sV3eVqxz+IF`3XYGfM>}`Zt? zd&I1rG6!1t-|$)xYrl^l5?SLrJ&zsf$m3+D{8<1|VtMGAMHb8q`o=K#`0^_$ywN0I zTk5vmn{C+h;7w;hf}^sBzw>G7NGNHyWDE4sFT6}EvXe(f`muDmAl>U2xd6Qf?08@F zQ~8$#=#yqpuDYslW1h;=fFHG&nnG!{sV~{9%DpK7@<%URP-c@4eV2V>+0Rk&s___^ zm4O|G%y${U0KOm=o@giX2xm(z~el2G4@F1;%G(lP?yZq)&ZY7=u;;5j#!Z)DH3W zV=J7VwCC&wb-8V)XYaJ57u8|qwpGM*5_IFRjj^!zx=v7*UmriB`)7UB*IrDa|N8i; z$(0(+or$UN6g(9GHwgqycv_K9C(0ha=%S|^|7(N6 znD4&eQP{2><0)HFu<|ke=C5||jkK?tl=|w`ulOF0d_HacMLJ}=?p{_zaqD|a>TTgi z|M*HSwz3+t1sT&YvfcOuq@txs5R+!!#MAH9gudwZ`Cf8pJVr08PVc*GUeOA5#KZw1-Pb)>gRQLMo`jQs~9(T+`wL+gf z7k7w8fiLpbH(QDQCEd^(*|S&iV`r20TN~GIbEo1ZJ6Ar);u0TAjJLz-}P5u}us|pY~v~P(Sz~-?A#AYs%93u2y|IzcM+N&T^Va zGoaCLC$?VO4OA#9-94~$bZJz2i^ zI;SIjkJjUGsoOH#Dfe)sq)Jw%XPYI48>>$sdlLNe-hQA`z^}j6Q?x&Si)cQ#)r}Rt zQ&+q#L;vGQKx}n#7FH@-PO!p5!;0A_PzD}DlCxj>3`FHP>nirtj0~sLks}7`;M(Rz zejJ(67S0O_DqCHQ{hmbdf*WKWwnT}2ct?ZDZ6&~6Wxj1lL-NnTa` zi8#*N7*)otXo+u%58jHM`sk~|`|Eiy@l6(KhrfOuN>1*6c5Og)a$R}L2d7gI(Ter) z=dWwOq;jD!n@QEPI2N9_zHGldD}@)IMe?FS^p%9Nh&9a@?=# z<^XT2#xRNlWQcL-R>wt;s^`d$A3X|BxZxQ)dE^J~NtYiSdO3a#-_o?_IWunAv@@X4 z4*sh4k^x$DFqLJy7UY?NR8RK71meq$l*P!B_s< z`Vm`~>z~d5B6|t#lZ19KYDSzH7-hH+%CiKBi50|~a z6)edYr(@?$WlKA9XSy?C2G4-7xw^xrf`HquTS0afTGN?s3{>+`7UXEr+H5O)ZW9pO zN>%k7hfS%B#_Edx7!r!d!AmOB1Tr&-z(YZgpH@Ib!+f!-)gNe^`Ui5He#2*1H^4?5 zby{C$HCVELEFfiT%3Z7N#*Y5XfeBY>KXRr0O=Q@EOGO#M>sTXFb*g(nokIt84D)kxuy-EgedlRfdzBUYZ*N;Z)Rt`90 zh&>ks%n#f>$4^;~y}|ISW`rXM# zBYokOe8?T}piNg!Ko_sHHNl!Q5RA)#48J^flN@k!KHOG~?hLnN5ucP-?}B5|x);JE z%fM7e>6qk-9yZbUes+J|&PM!tCQtBEs|H8c;rb=fyXjDLf@^ZoXOj)#PSrhm|JD|? za1Ix;ebKfzdfWe=rYGI-Cpq5&?#hhm@to|}{6ld42;)T-wQc^3cA>36(V&su7^Kl1 zhr&}W=b52JPzjzcDqxE)y;gPsNVwOgUSz}g)LRA8vtuvO%jR31pr6h63)eTbLoZFC zV{Go54%2_g{!XOn;8_KW-T;LYpVqlSj=b1P#~SEX=~T(#cV+vh4!aY66!d|B!QEZ; zzbUG0B1xZMQ0v@lt56n@PQYxDz}aJb;QQh0T?6fB4PXWR^efLc(9cfPUOv~}w`Dy$ zD)2@bHd!B?_@esn4)U)o`^!e)9een$wqw=crv~q>0ohh9eDGGvS?C6fWDCD(78>KL zU_E_W1tgNZZ0EH?#i|p*8*tc`t>nf!l~%VEK2}YZW#fjIUS^aWyjaD|leSyy?|Fr) zZC8ZM-lQyS6+NOOXJV2LdBeNco0F}Ed&#`-BNOti!Y=*=u=I8V$;1Od?cu2x ziMy(E!4mzEawX2kNfs}n_hp~?S>bV?0BwDDyg^8ow?3tQ$tq*x40;6t{yy;P*lKhA zTQr-5eeBH=+oCyrWi!^wY7=nR2DCRcmcGtORpAz&N}4c9`YH>UpDR`HF)Msv^UYR?fQIDEqoR&=Bs8{xshi?e4%|4RLHV39KLc#15!Gf1ox?r+!_ut?; z-|lv73%`P%TKPx-lRw=kjjbLw;Wa*l96eqjEoPeh6ZD)PlRPHV_yKqLY^7STZYvG< za?t?(3~v{F1u^+YH$JOrs0M@HIuEsOXuhRDC>#ATUdZ&H*->XH{-0jXVJ8PY{+4X< z&CY{2wSRR}w%Y!6lfIkOh)(uwyAjkC?7q5^1$_#4ZH|xkklr|>)ar5p)=e^X@1;{F(ygAS ze-L9U*cB~`JrlGf&-t|d{W{Y ze8GzTqwHbC(F|m&H>ZhGT1F}oEUB$PKcn?M&-l>0_i_YO@u%F`VWL$z4o0$q0QLd97yp5?sE_%db2 zeN3qlZ2-_cN06Z;vjaFW!Y^2AwiKNsPKj=EL^E<~cV#qUEY3QN{oC++*5D-#uM+dK?TQTEGlE z^{e}QojRnKK*zP?XBo;vzqI0H^QZ^48G z?S@#-#%sI>=-_1yJ_B^St&`QkW`~D@ zd?(ZS>bIr<#{~%RtB#fZ9~!}9gI2XbU-|c}8y!C&+t%Np*R%O&*Q%hkJ^5>hc;Y-N zZ(B3-h+kV>Wz|N&4UE<6Vr#8>bew~}>72vo$*E7ZYl;L84`t8*Np@6{u=8>bXi5Fhff; z(Ty3Ubcz$BPYN5^QtOM~Y(WF2jGA#Ng$0XXx~&49RL2nFS9&XwLTnW?r_j zRTl-_P`>Atw?+%W-(wsHhF)%UUSz^WTfL9?^Rfy3ZO&az&f10Q;E{uGo6enWGTs=U zyf`Tsylr|Vkv0FcvGUG|6YOEnkIgxFBK!o6a4ifY$pqHURjEQY{w<=S?4dXQ<|CCS zM@Ut{nj@IL7+mawe*vM-e>{|*&PAtoti~O#4992~UpZF|usMz-Cr~30wR5ie4$>tY zGCqAQeBZrm_2=}2T#w8{z5JKWNS`^joKWc79tUR`z$VB0a8lnZ!VW##aEW>=A5z}6 zi)6uBr}H(VXz7pt0pkO?H?a8xhv?3|%^Ccw4Ns@r`YWjMte3;s&Wk7XNt5wr!M*jf zLDr|Dh*qq=>&?Y``*+#chGzvLoaJbMNN=Cl&^hZB-#0)8d@gNH-?oF?b65>7ZS@xv zAd>|sgTap6)1PP_ZJnjLRi(k$q~>7NzQ`4G%8xe-{w0!A5z&-5$%WhQ{VEMVAlM&Y za=F~wdT8b00v|n)wgG>K4^DmbW6ne5D;da<s(}y$R`a3{Sef z_L$var-C8K1dpAWS9vsUFcsf!=VXQ20@d1-6~N93^L9?{&(^SKZBzc#z?!|sgJ;ie zDG&enZY=XN9G!9a&2bK+VbWia3jdwMB(Si)tNQurnyx^>R_pYQ=LXzXi`YtqZ=BSP z3Buo{ozA}kv%Hge_Q*g^Uv1?iob>hJ&1{sW-0Fvam%%Ih$d0k)^i02H6|Fk==FiIX zV{JqG@R9@LH@vs%?cwWVGH>+=y{-(qYo#PPXwq=gCQd(uW^G$Nr#)_KB>7dRi56}5 zN4Oh~zm4BypvU2Y!#{A{rh=5me=DxOT}Zpy|HAfuO<(q#d~&eyIs?xvQwMzE`EjQ(1uu zHrT*hKD10UL+OQb;J~f&6XKONi@%F6v$;&J2Y+8B1ohZTZJO0yx7wM$Q zSZDd7ZNcUGniP4ub=S7ufBtDZVA+x#lGMlE(DCOQP1o9Ga!?T)OQ+JV>Nqz0sg+_J zq7z^|diJadywA0#Pu2JDO-xyV_qp~ITjGfTkpAtg^w!@Ueb(RW<6%!eYR8jgUt8JB zB~unb#WbZDz~RGeWGUhdarwO2w8GAbobS4RI=HogkIh=?@9eaREzy~;mag0JXZ$Ge zB*?NOF#0W^{585mVX+FqA+`oS?BN1*@n#E$q*X7vH2xh+hJuuIZ%&Um6B)KV&vr&8 znK+8$TjkhzPG~}l5lV?IkSCqsrs}5{cRPLM_XVALY5|6bx&O7(_h%7#kbpv zY${iz&IHM0FvVz2`zS!#$|Wz&0P9nM+)qv5Soy}@Rn_3LG0tSY?=8<_NZRHWkhzcM z;Z$BU>l^5ypd`O@zGqMb*_=yh(TB0a)AjK_2NQ+lzd&f;^jp7C;pskG8n*~xb*jT+Bb(m#$X6JZf9imH=bkj8+nLYT0! zcpaR4hY5I!)o*E3_jXY2&d;iT13IWr$x{XjDq%#C0f9^#;fK2Zgr6nh!!f}qB6&O@ zw3XK)JqWK7z+bQ`JhwuwCl02a(rF9~SByP$r0^9V&=GZDAGqZU{u&U(U040;*zItk z(D-ur5M?O?M=N2+vjtV7-wQSF11x~5DhiF?J2!FsNQMTY32f4f36#jcD37PA$G4v2 zOR(gWI)efzIhwh}RBJJ+N_2FoyB#(mY$)Rq1)R0rOn5+c)0`RR>1!&UYPMcw2! zIDN0M#OqREnSUj8Ga#3)NWb((RzF8KKoTxI{OsvKfq8z8&(p2=yVCLCELA5n#ghTU z68)z$Lq{J1zrc*B)%-WOZifuGUB7<+x+(4CzrF&Se2x;IGQ;+wA;Rics% zFS!06NH_YV(0|X)bGhk#^~p+pe$8;ueG8C|XUdRC9ey2@b49&;;(7Mz zbAcZNXW}2sR+nrWVDRn>BCvC0zf}|RjMkAbXDWsdk2%gmr%d5997AwLNr)_0#Y+qFj?{(UI2+l^CDh0Z_%5c@CE!f_B-&%i@ z`LNP2zU*8ZXRFz+eg?N)|y@Cx+$n{eUaaDr_6oGwg$VZc6A z{+Xbwi%mv%82U?Jz~e(c<}^Kp$5!8!&N2FCbxcA5pY9l_3PdS~EY3bX#(#o8PNmgr zR=U(LnJt8<$|_(mYH-f!we4%?QR8PeTFVTh_<(z8)2~H)GMX)u9zFa8hYN$J?F7BP zuD;fv@uYO+drqHho#mszacGuj1H9J}cNGP<-_d_`0Z$r8x2Oa^j6|>t}oXAe-7-c@?rv4UW#NKd~72yv|YNaGs!RdJ*8zUO6i$4Jh~vR!LC~ z`b<)ASP&4-2EYL{d#$ipc{beEEwIkYxY|&w62E3QY*Vxd=vx7y5KF%Jd~_5X?a`L3 z*`R25?XN%mJ}FDyA1OzpE_$#0`Z>I?^2)YnIMXd`WUnK#AMOuafa!%`){id@EtA3V ze-0e&-lXaJ>u~JxYSyQypZxhSUkq-?C;W<6bV*(1*#tl*G zZk1PswS}G46;kZ7?b#o)=meW`g7imUjS-%O(|rL4{e@k+CSGkTw}S0Q zM!~AuZ3iT^@x=F$hX9*)W0jg!JDX&QW!jdHF~wcD-KS%3TXA#mu(B=-Z3$5zQJ|T8 z-W7y;S04QjS!^|WLZcclv(IK`xQ4Px09t0npVwy+CW#+k}#hj?0z z@%~KY;74%iW$+D3r|)E&Obxo(KhF&M@m;`ZLp%x@+!Mq}f0B{13m9k*{R3C~WDjVW z`n8Xeqc^(}8}wuB5j^-YgG0t(1!95q?(tD@H!9LqItL#K`hzz`6u%{odYG?01*zrbQbSgif)v8ulJ;bNaB0gisv0L=#eex4z zTAMA;y4_%z9LSI-_u>az8*5&bWktzY$;#kiX=L##zw#k{ zn;%y$aZW45-n9z&kIpgsy5MuG#)E%X!?@%Bl<%Q{b|cMrACBsc-*0Tkt-O_7TY=W| zq+Gp?{ln#FlLG=jPxZgES*5X27-4b?ZeQc`IRlO#(bn4Z{3jH`GeWpPvvKeqU*>St@=dzb>t&3kJn8Pl2$ye z(bT`w0hI~zZkJ5S{NZPfiTF{k(zVys%^v87ys*ZE7ysTwnU_1+m9(>c zaASXUy3l{dTGiXVIFxwMy}?BE+3x#iM;&-8vLfO$>nq%saD!7-hbeQcLR#cepwCvJ z1s)XWU+@x4=?T%1t7fDrC?hf8vB}v-J98rGd23a^RE?+E_y!(2h*w1+hfECD`MMT3 zLTt{c4#1Lcjz|2e5ydPPiy+rw_q)Ev>yeFjyaMg=jax>4{(_o={H37-gowK={CyhA(~l6VuN%CQ1aQ?{f<) z13*fDqTn8t8s83#Q(9eVQfVnn#WiG0Wu1Z4YVs7v+p#JWz5E0pc#kQ;K5W2;Q`drQ z(%}M`GTiW=5=T!W>N@H87^%y%l_`~3;5Qk1BeP|;-tOyM$6folph9*EQakV=u-DCuJ7k&cM3?e||AQ9#7QSP9|M9qb)hc*GxXuUof9vxK*c* z_(*neGBAumvn9B&#nG2vU8fk)L97k<^^FYta%J*#FTb6y&*juf@dIX^)H=inxFj45 zQg^+}1|B*g_N*@fRzUJHKV@%Ek16Pg?ak46@3a?u`2Nc8!jrAyC-~!C?M*`mpTDfk zd@X@=Z#uS90RMK3x+4p;RhC{$=JDqvx@%qSgWAsZD?+dk*h+_d&{=61g8HV^4$s-o zYrS>#YhWGw_jn^gqN%P1UP1loDaLQPwiQkACS} zjf-$^gY3o$Z0}XGd~`PUB=h9g{UvuQZxAg3bm~{RLxKkkkC;jxZ-2e`c@jeW&%sNb zS2}g{MUVSgq3A?Nz4@G=p%M-;8)(|23=f}Y>#pe!=oUt7m1wkz9c}~v zO$r6VN(hPfvuea-d`Uj)7xyIY9@}GzuhITu^saBkU61baB{rSEYt%oVS1p4yiIvAP z!Tbt)6nkw_FTPoobDzDLH2KyltzW%O(snF1Xs2VbrXy{PH{gm7;mw96Io&?{W=|5+ zg9s*-?znrBS!kLsN?*b*r|7Y&>UYYw7?keC4#7qP{)29H58v@Tz4C++kxNY5yj?P! zPFcO}%!_F#6Cb&xS#$=tu?B_H#<|`_C^i6ROX1yM6Ro#FzcyxH`VJE<)n)gaJPN<9 z2Fyihi!ZHsc;S_D$txfB4X*=Er=}Ch!3zYC-jynJUL88bSBt4|?W^z?ZM z?P-bp$**i!GWM>-jg?DZO4fRdFTy>hj{CL)nv5F|du)vcpwYGkUV32P#iJ9|DgJoV zs+K(|t8x8z^=on8;GNTSwM+cYiA6~J{KKG?iznU|j?VED-Pf_$yz@YG3qH3`b{9?f zHaiHCtr;BlK;s|8LB@-z((vMArcO6pTn#yXVRoK=Y~>*x(CH_q8tgxw#?N$Z^shcY z(j)No<7ne!_tZoQ1vulER;@;(M_vX%-k*D!)HiksYb!5v| z(7W{|;cTMA8+zxz5T%X2B~{sxvX1$N+Btr_%d@@HPQSvtiOjtuLW~kF;Z6^?EmyzK zW55SD5JNMcP`knW-2Q&XkrH{-jSXs-zeFo5Iep;ik0fo$pFMw1Ctp5m>y)Z^(TCNy z5?l23Lr;(tt_;@p3zp~#ws`6>-GK)^SUeOSc*57=ADKOAUrl?|eJ7A~<(6ZKotXw6 zdCWDv&pupR#FCG+9h)TYyAp<0%4_p^xLDzxxO#LplqO$rC(zM|_Sq7CCz}()#`9o# zVrsE2eyCG}e7&Te$s0873D^1%_)9R0x!6aRTns1<%|FbRjdhMqzb!_U+~n(Q1LDx0 z1rid;R+zqy$04?U3eSvNqj)$*i5mU0C+g29|1JsNoO1T2KZ;N3pYgny&RECCq3hXk zRsf_(6=p;_2Rau{+5~%sFb0&VW`u+`r3kOh^j7GWY>WQ^$bnIy$g<~-j^4~%k@5&# zK%0ctb_ngY-Vww|xKK)qA+bDMQi$5C->5^+VMK@-i=WLJDb+}*@5v*9)Oq1vun+-9 zOD!n}K`FTnY%B9Cg{L^jpn@}FgKO>dp=^j3@L0*W!D|UR4$*^A=wAC|15OI1SxLVd zuX#U|>6d$*EkGN7(Wzc-aH>D`+=7*uzw#VF3bbS*VOJ+JDJaM*a{>n0LA3ep9KTw% zArRi%7rW=+toq-rU{_?at?XGm2?7B~!X%aD_raoDLv$ z7<_=>j_=x{kevok5M7Yec{L`B4d|lr48&9l7b{BeBwg8HK0eY9dm!k5bh4Xq3HF)c z=P0!o*4>Bm8Xg|q2>uYQ$YDPOy2dKpUS)0n$5D|Lz!1kO@1)ai?l(j=zQX(Kmt(Tl z#)ZeOpJL~}JIP&A^VAvFs~A1ILhk8A#=n79~Q#Y z`{3Dc*McFbz=S1Wddexi>l%cD0T!A@SLOMu+k`;f`x+s7ZC&8bk9fn^Og92`qXW)l zEI^Qqp;I`<_hBbkl0fW$EqWX_&lBn4v_VvL!gFPvGO|i2d*Fs+{M_I*USJ=;M0}f# z`mIYk9(4s2;n3;)ACxL=FmiMQ6XJOHl_pOhE!-ISHVK~O1xC-yNJLe zh4GmR=q1*HCp-N3{#`J1XsY?~SHeYG__6&5O9p@q7oBpTj>xA|t`C7=^ZlKpqpRqC zED2`sAc;!dAe?di&_fC(Sek)*)@IleAM6Ew5^lxF3phM#X|h~kA<$TBcu7+#t0Tv2 ze)`4-$tjZM3k6Ou!o%Y#znabF3D5%s9`KoLh+gRB2D&o(H!GlKzv0t(NLL%w+KoAM zP=96i(mptTlcQ?}u=+5oG2f&UuR{EDZ{4&S{Fac~WKw+`ySC5XV~suZ_^e5yqwBR5 zZ6P+E08*_;3ud^$vL>AXQf3X=YR>m>ynJam5S>1bHRf?2Kj zo2%Q~LfNC3M>1C>vgKD6vbP{(PbYU2Nzbx;Z+Y}xKvsFN%i2S9vmucb=}kWp{YYNp4CoejvnE8G))Hh zn$H(ARd0Js!E=nLkrIBJ=t`G~%|IFc{4;x6{N1H5^(&hwiz78NKJF35cwt}WXC-}} zQpS$QvVz~f+cU1gZM@yMDSN;Zk2#ltSzqZFmV`-Iefaq8$-jGibuWR6pSFtdX3r!&8tCYcWW$l7fb6F0(IZw! zbkjZiX@VWMD@UFZw(&>2(Byy#8TP)_Th-&&to*faoBdxUJ-tLK(T-R14JLVO2Nfn2 z|0q8AoKH077gL={LAs0I;Z;8*!SRO`Lw$d)9lRP><45jm{mxd^cXe;$CA}(}#InNq zYqIi^i>)rKj(%5pD{*n!Tynb6C^51VIK;v0uP2hTT_(w0i_*ueR z-sG9pr(Gu#cK$1VzKS;{A-b~9V|8qGz|PnA{`NHy75ji4Q`{7tQ^kLks41S|tOkkBC9p2L( zm6?rHpMNSUm~3D!PFsV?X~tv)21ga74BU*Y^COtsCfSb#{!_}73vvBdd4z9(Uvpju z+{NyjVKAeX5``(^1Q>bkQ8pz{DYo=D=EZ}Uv*uH%6scnCxDw!IIdDMLm5VHam4iT1 zzzrUUFUBx5PC@~Sj4216CASP%f)1_8{Yv

              n==p#)x>OS^s^#YzB!*CqJWfaF>& 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

              Ir6a4N{90tT*}oD(X3*lp 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 z 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 diff --git a/src/gui/static/src/assets/img/lock-grey.png b/src/gui/static/src/assets/img/lock-grey.png new file mode 100755 index 0000000000000000000000000000000000000000..3f835e7d9cf5de76ab44f9e05ab7f0b37a253c69 GIT binary patch literal 774 zcmV+h1Nr=kP)$Be)a9tlft`HJKnCA)TPf1hpqfJVDY4>P*nQ$1c?gq7nSq0*Tl=TP*cNT^_A@v`keRw&e(q7Krit6&e2p>y2kR&bu4x^9e1W9sz7f zLK-hJC6oB+O?@!NN@TUVsR3qS9EFMuW zbT#EqGW=}_<*Mgtk?bV6uUVg&LwXfLm_Y%x2;kYrvLSfMc!rED$=Fl6Y#KY?IiQ4^ z1H5x*&3g*9+n0?04LgB$fzeW5hZ88Fw+1A1vxX5ir1H35YH;otN~k#?W#LaVTWs3* zO$hf{QwK`4q62oBy?4MNT7tI3gdId&2XMkefyL_Y0)ntAq~&oatp`LMz{b}?rVAYk z)(MhM5MBd3Coo#ZV==ZDO_IbSpq8sX8?yZn#%`V{p=`GM3StS8m;+L#{Ho`4De3_^9iI5F#+8 zuux_~Otc2K5qhr^&+}&ITfKIx922I^hf+NXR)EAA6!MT24wu5C6prXB*mK|-7D6Ks z#;z2;EXr)kfi#p8hh$<|f)$ZUpk%pNB9kR2OXDFaB1wV~2`ouWkjNEDNeTpkMwgJy z=ETYrx!R1;Tx_Hi+8Bmbz_8ox7P}M0lyey@k;~;UB88>W1QwCts&X)>C&A$ojVWkx zm(@wo3_&@dfFfE-RWeE;Tj|Ruko35$!!_C_wqdXbrD2H}2|Q^GXfpjjlqAQ|E+!X$ zRquZayYj1O9L~jERHf6(4z5fTNJT3&P8?+@XFf$$jCC=`MlqDjM$wQ)GtxC^b|K-w zD7S0Q2*+en7#uDJby#tORw-mv!~}sU(&cJIqLyir5v@)l(WRtF)6-LQGKp3yO-wabEW=5W(8#kD#Kg6zC)69|ViVVrJ|P!o zi-7~feQnrdSFD2q$8qbj!MOQx2kUqzYi-rQ^{oJK+YDNDzQ_OTXM^NPgkNnM;PeHf zTnpDy`^BTiR)K2r{*e1%`y0)ft6^h~g2QmXQ7ct(vLYd0y1|$&yT^erE|XG*fVN#o}9j zKWBgO&E89ejnRG6ibKKh>80y}Lg@!v`#1MT+TK205bSHPTq?N-`qR@QZYLr+(aoyX z3rR@PH8SXK1P5)NHyzwK^rXD-sl`%a__?{USKz4!ck3UAUR(5j>3q&rF+b$V4?wH$ zDXQrzY~($z`?PKEPg7L2Eq{H#+a0GjHm&7WYqsr$%_%$xLUvuari-UJP{xWEgQsp+ zwyB5DcH22f|9mR7%;$}tUI$v+R+p^g9nx)U_jB(3=xJyfSbE@0tyfi=Ro3Yy)j8p2 zuj)=*@9`yo7s1=eog4GK`{Ph>^45-padvMFR&zrJMS+T6qyuwL9P_WU!$IBgJdn2I z%$}?b37jL5;P1V}{fM5O!$XIGSrpwI4mUw(>;f*R*>{}kBWE;-;^>%6K6dtrpSZYY z_f@`8-V$B@N2loa*Cm?Bw?N*-_S5ITJ-m>t?C1{mf&Qv@qGO`w&Fna`sL5QU{Agu8 zpVJcQq4b+`XVWFUs`k}sJa^$*!IckW7mE$6j>TL*B}Ox}Ti!KhRmV!gJI<||rYYZT zF6ycf?7N)WE&6?N*e<_6w&0jPx#1ZP1_ zK>z@;j|==^1poj8mq|oHRCodHo4-#KK@`WoGaSKS0foOJ#nAu>mq3LkCJ-9zEbX-P zzp~TL(oPzJiHXtxiA10Q5{Q7sQSiecyS_JYxHGqhcROz{B!4rXgyN3e?9O-Id-I*Q zck1-?G)2H@1WptHffEHl;6wosI8guuP80xv69quvL;(;u6?BWUbEu77=Id}BhC8tP{qdSef2eK-HJB*MkZXH+K!A&IO2tyZ3I{>9Yg#M?lxZb2`u z<&GmA3338Z&R5>fH{G`kju)B5(noy3&eZ?7rds)Pmf;~up&20 z+hFp1(u`q2*D%o`gp2^Z)j8GvdgVRgF_Nhf>pgR=x=eu;5x}f|779~|$u}@#4cK|# zlo|!`7l3n>idL3nrY4r721*AmqFKx}J1|zQ@D@Omy|v)gCl@D;*+H_RvhY9l;ER6* zZ2z)eCVyi?C=0GDS=7z}eDM~54NR7l4>Bd;`UpjbDqp-$gX-wmdYwM9otj?VhW@nN zdA^!LTC>tAbq$bn?IQT6fIBg#`02&(#fla0_w&p4dt{$2&Tc^w{4YK?*;jr~z+V98 zCY57Q*v+|nc)R18en1viOo66}cMV7>EY(4#5Px!BW^y%|7&d=Gi|VDi+qsN!e#oL~*vH0|vxCuiIv87Q@L2>o?4KVo?D)E39BZi_c) z6$wQtVdWc?`)Dk$t=%Do+v;sn{=-p)k#oggwYK+_4DOwe?KBoic^z!cB{k_qZg&~$<(6C{0Z3o$Q!_G1z96_gZ!xid~QAPHoyDl1tY9 zx36j2*F~jnh%*jb5H0`{-d5425#z-g(RHDYYTn(OZ~@rZenpP2h{sLqySISD1{^s( z-Xb1%XnXe-aJa$5xqhr%t*m|fdd<|rsnIpwL2r0>Z#XodIxyGxt*m`teDC19y=Pzq zHxu%a(Q^VE0;qoE?~e!0eG{>1Y}apEsqx)juz)yhfX2Ep`ZFKX@6-Ql>k_A4D|gM? zUEwBgx77_rDbzyF9p!Ud2!uE~$t`55AzQ*)0%I07N#_p1?FrjEhQ z&mu>VIJLnsN4Nlt+sonZ=en3Ct)A@lupWEYQ?5pLl5`_U{(GB{!AI|NPDYmb6Q=)rr215 zB)&+{evrxbYUhp_z(Z-oy78khq7SGa{0Zl&5&yY>Oof!j$VHk#C7)CpBXb?*J2SE1>o#+@uL+CA*)N@d1oZ&=Hh94EMknz4 zUc@e*&)5DwdCTsfCYArNV2fA$pGO2BmSei5v z2kbLl>?!_uY=G8#fC+$>(|Q4dZ8RJP6aF8r6Y!NTM!N)2bx;?;7d<+?3rS?431^0d z5UM$WssP^js3*zH5Mh`W`GlGXx_f}kd^qFb$IkDehMETysq90gTN0a(z|*wOtQBRn zE39OdTuWFDmusQt0iCouGm`rs$%EE)Sr`Agl`;HSB}lDEq9*`VTtCasHP)&h!+X&Z zQFIC=H1~j#0Dkt=c&cWSeJJrF0-;dlFu_7$v>X!vEyn~vAo4fC`;Vpo^K!GRmJ_Ub zJ+^a&c^i5HWZ7MLWH-_9f;_|Y`M^@=J_-O=jr=${>iw+ya#IYabM;OH;**7Bb9J{`1rWn948t%C!!QiPFpR&u@$Wkwz9YZ@0000 - diff --git a/src/gui/static/src/main.ts b/src/gui/static/src/main.ts index a9ca1ca..6b163a1 100755 --- a/src/gui/static/src/main.ts +++ b/src/gui/static/src/main.ts @@ -4,6 +4,8 @@ import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module'; import { environment } from './environments/environment'; +import 'hammerjs'; + if (environment.production) { enableProdMode(); } diff --git a/src/gui/static/src/styles.scss b/src/gui/static/src/styles.scss index 7d28ce9..63a158e 100755 --- a/src/gui/static/src/styles.scss +++ b/src/gui/static/src/styles.scss @@ -1,4 +1,5 @@ -@import 'theme/_variables'; +@import 'theme/variables'; +@import 'theme/tables'; @import '~bootstrap/scss/bootstrap-grid.scss'; /* You can add global styles to this file, and also import other style files */ @@ -130,11 +131,11 @@ mat-panel-title { min-height: 100%; &.sky-container-grey { - background-color: $grey-light; + background-color: $grey-lightest; } } -.flex-fill { +.flex-fill, .-flex-fill { flex: 1 1 auto; } @@ -168,7 +169,7 @@ mat-panel-title { line-height: 20px; padding: 10px 10px; width: 100%; - -webkit-appearance:none; + appearance: none; } textarea { @@ -300,3 +301,50 @@ On-boarding components color: black; } } + + +.-select { + position: relative; + + &::after { + content: ''; + display: block; + position: absolute; + top: 0; + right: 0; + background: url('/assets/img/chevron-right-grey.png') no-repeat; + background-size: 32px 32px; + width: 32px; + height: 32px; + margin: 6px; + pointer-events: none; + transform: rotate(90deg); + } +} + +.mat-menu-panel { + border-radius: 5px !important; + background-color: #fefefe; + + .mat-menu-item { + font-family: Skycoin; + line-height: 50px; + } + + &.compact { + .mat-menu-item { + font-size: 13px; + height: 35px; + line-height: 35px; + } + } +} + +.qr-code-button { + opacity: 0.6; + cursor: pointer; + + &:hover { + opacity: 1; + } +} diff --git a/src/gui/static/src/test.ts b/src/gui/static/src/test.ts index cd612ee..0c45c2e 100755 --- a/src/gui/static/src/test.ts +++ b/src/gui/static/src/test.ts @@ -9,7 +9,7 @@ import 'zone.js/dist/fake-async-test'; import { getTestBed } from '@angular/core/testing'; import { BrowserDynamicTestingModule, - platformBrowserDynamicTesting + platformBrowserDynamicTesting, } from '@angular/platform-browser-dynamic/testing'; // Unfortunately there's no typing for the `__karma__` variable. Just declare it as any. @@ -17,12 +17,12 @@ declare const __karma__: any; declare const require: any; // Prevent Karma from running prematurely. -__karma__.loaded = function () {}; +__karma__.loaded = function() {}; // First, initialize the Angular testing environment. getTestBed().initTestEnvironment( BrowserDynamicTestingModule, - platformBrowserDynamicTesting() + platformBrowserDynamicTesting(), ); // Then we find all the tests. const context = require.context('./', true, /\.spec\.ts$/); diff --git a/src/gui/static/src/theme/_tables.scss b/src/gui/static/src/theme/_tables.scss new file mode 100755 index 0000000..29971a8 --- /dev/null +++ b/src/gui/static/src/theme/_tables.scss @@ -0,0 +1,69 @@ +@import 'variables'; + +.-table { + &:last-of-type { + margin-bottom: 30px; + } + + .-headers { + color: $grey-light; + display: flex; + font-size: 12px; + font-weight: 700; + height: 50px; + line-height: 50px; + margin: 0 30px; + + > div { + padding: 0 20px; + } + } + + .-body { + border-radius: 15px; + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.01), 1px 1px 2px 2px rgba(0, 0, 0, 0.01); + margin: 0 30px; + + .-row { + font-size: $font-size-standard; + line-height: $row-height; + height: $row-height; + background: $white; + display: flex; + + &:not(:last-child) { + border-bottom: 1px solid #eff0f0; + } + + &:first-child { + border-top-left-radius: 15px; + border-top-right-radius: 15px; + } + + &:last-child { + border-bottom-left-radius: 15px; + border-bottom-right-radius: 15px; + } + + > div { + padding: 0 20px; + } + } + } + + .-width-70 { + width: 70px; + } + + .-width-150 { + width: 150px; + } + + .-width-200 { + width: 200px; + } + + .-width-250 { + width: 250px; + } +} diff --git a/src/gui/static/src/theme/_variables.scss b/src/gui/static/src/theme/_variables.scss index cbac2fa..4eef7fd 100755 --- a/src/gui/static/src/theme/_variables.scss +++ b/src/gui/static/src/theme/_variables.scss @@ -1,4 +1,3 @@ - // Backgrounds $gradient-blue-dark: #7a5917; $gradient-blue-dark-transparent: rgba(122, 89, 23, 0.7); @@ -7,18 +6,22 @@ $gradient-blue-light-transparent: rgba(158, 105, 36, 0.7); // Colors $black: #171a1d; -$grey-dark: rgba(30, 34, 39, 0.5); -$grey-light: #f7f7f7; -$grey-normal: #1e2227; + +$grey-lightest: #f7f7f7; +$grey-light: rgba(30, 34, 39, 0.2); +$grey: rgba(30, 34, 39, 0.5); +$grey-dark: #1e2227; + $white: #fafafa; $transparent: rgba(0,0,0,0); + $red: #ff004e; +$blue: #0072ff; // Grid $row-height: 60px; $row-detail-size: 32px; // Texts -$font-family: Montreal, sans-serif; $font-size-standard: 13px; $letter-spacing-wide: 1px; diff --git a/src/gui/static/src/typings.d.ts b/src/gui/static/src/typings.d.ts index ef5c7bd..bcc7cff 100755 --- a/src/gui/static/src/typings.d.ts +++ b/src/gui/static/src/typings.d.ts @@ -3,3 +3,8 @@ declare var module: NodeModule; interface NodeModule { id: string; } + +declare var System: System; +interface System { + import(request: string): Promise; +} diff --git a/src/gui/static/tslint.json b/src/gui/static/tslint.json index d6454c1..cd6c2c0 100755 --- a/src/gui/static/tslint.json +++ b/src/gui/static/tslint.json @@ -101,6 +101,13 @@ "parameter": "nospace", "property-declaration": "nospace", "variable-declaration": "nospace" + }, + { + "call-signature": "onespace", + "index-signature": "onespace", + "parameter": "onespace", + "property-declaration": "onespace", + "variable-declaration": "onespace" } ], "typeof-compare": true, @@ -111,8 +118,11 @@ "check-branch", "check-decl", "check-operator", + "check-module", "check-separator", - "check-type" + "check-type", + "check-typecast", + "check-preblock" ], "directive-selector": [ true, @@ -134,6 +144,16 @@ "use-life-cycle-interface": true, "use-pipe-transform-interface": true, "component-class-suffix": true, - "directive-class-suffix": true + "directive-class-suffix": true, + "trailing-comma": [ + true, + { + "multiline": "always", + "esSpecCompliant": true + } + ], + "newline-before-return": true, + "space-before-function-paren": [true, "never"], + "prefer-method-signature": true } } diff --git a/src/gui/transaction.go b/src/gui/transaction.go deleted file mode 100755 index 2cf4caa..0000000 --- a/src/gui/transaction.go +++ /dev/null @@ -1,250 +0,0 @@ -package gui - -import ( - "encoding/hex" - "encoding/json" - "fmt" - "net/http" - "strconv" - - "github.com/skycoin/skycoin/src/cipher" - "github.com/skycoin/skycoin/src/coin" - "github.com/skycoin/skycoin/src/daemon" - "github.com/skycoin/skycoin/src/visor" - - wh "github.com/skycoin/skycoin/src/util/http" //http,json helpers -) - -// Returns pending transactions -func getPendingTxs(gateway Gatewayer) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodGet { - wh.Error405(w) - return - } - - txns := gateway.GetAllUnconfirmedTxns() - ret := make([]*visor.ReadableUnconfirmedTxn, 0, len(txns)) - for _, unconfirmedTxn := range txns { - readable, err := visor.NewReadableUnconfirmedTxn(&unconfirmedTxn) - if err != nil { - wh.Error500(w, err.Error()) - return - } - ret = append(ret, readable) - } - - wh.SendJSONOr500(logger, w, &ret) - } -} - -func getTransactionByID(gate Gatewayer) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodGet { - wh.Error405(w) - return - } - txid := r.FormValue("txid") - if txid == "" { - wh.Error400(w, "txid is empty") - return - } - - h, err := cipher.SHA256FromHex(txid) - if err != nil { - wh.Error400(w, err.Error()) - return - } - - tx, err := gate.GetTransaction(h) - if err != nil { - wh.Error400(w, err.Error()) - return - } - if tx == nil { - wh.Error404(w, "") - return - } - - rbTx, err := visor.NewReadableTransaction(tx) - if err != nil { - wh.Error500(w, err.Error()) - return - } - - resTx := daemon.TransactionResult{ - Transaction: *rbTx, - Status: tx.Status, - } - wh.SendJSONOr500(logger, w, &resTx) - } -} - -// Returns transactions that match the filters. -// Method: GET -// URI: /transactions -// Args: -// addrs: Comma seperated addresses [optional, returns all transactions if no address provided] -// confirmed: Whether the transactions should be confirmed [optional, must be 0 or 1; if not provided, returns all] -func getTransactions(gateway Gatewayer) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodGet { - wh.Error405(w) - return - } - - // Gets 'addrs' parameter value - addrs, err := parseAddressesFromStr(r.FormValue("addrs")) - if err != nil { - wh.Error400(w, fmt.Sprintf("parse parameter: 'addrs' failed: %v", err)) - return - } - - // Initialize transaction filters - flts := []visor.TxFilter{visor.AddrsFilter(addrs)} - - // Gets the 'confirmed' parameter value - confirmedStr := r.FormValue("confirmed") - if confirmedStr != "" { - confirmed, err := strconv.ParseBool(confirmedStr) - if err != nil { - wh.Error400(w, fmt.Sprintf("invalid 'confirmed' value: %v", err)) - return - } - - flts = append(flts, visor.ConfirmedTxFilter(confirmed)) - } - - // Gets transactions - txns, err := gateway.GetTransactions(flts...) - if err != nil { - err = fmt.Errorf("gateway.GetTransactions failed: %v", err) - wh.Error500(w, err.Error()) - return - } - - // Converts visor.Transaction to daemon.TransactionResult - txRlts, err := daemon.NewTransactionResults(txns) - if err != nil { - err = fmt.Errorf("daemon.NewTransactionResults failed: %v", err) - wh.Error500(w, err.Error()) - return - } - - wh.SendJSONOr500(logger, w, txRlts.Txns) - } -} - -// parseAddressesFromStr parses comma seperated addresses string into []cipher.Address -func parseAddressesFromStr(s string) ([]cipher.Address, error) { - addrsStr := splitCommaString(s) - - var addrs []cipher.Address - for _, s := range addrsStr { - a, err := cipher.DecodeBase58Address(s) - if err != nil { - return nil, err - } - - addrs = append(addrs, a) - } - - return addrs, nil -} - -func injectTransaction(gateway Gatewayer) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodPost { - wh.Error405(w) - return - } - // get the rawtransaction - v := struct { - Rawtx string `json:"rawtx"` - }{} - - if err := json.NewDecoder(r.Body).Decode(&v); err != nil { - wh.Error400(w, err.Error()) - return - } - - b, err := hex.DecodeString(v.Rawtx) - if err != nil { - wh.Error400(w, err.Error()) - return - } - - txn, err := coin.TransactionDeserialize(b) - if err != nil { - wh.Error400(w, err.Error()) - return - } - - // TODO -- move this to a more general verification layer, see https://github.com/skycoin/skycoin/issues/1342 - // Check that the transaction does not send to an empty address, - // if this is happening, assume there is a bug in the code that generated the transaction - for _, o := range txn.Out { - if o.Address.Null() { - wh.Error400(w, "Transaction.Out contains an output sending to an empty address") - return - } - } - - if err := gateway.InjectBroadcastTransaction(txn); err != nil { - err = fmt.Errorf("inject tx failed: %v", err) - wh.Error503(w, err.Error()) - return - } - - wh.SendJSONOr500(logger, w, txn.Hash().Hex()) - } -} - -func resendUnconfirmedTxns(gateway Gatewayer) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodGet { - wh.Error405(w) - return - } - - rlt := gateway.ResendUnconfirmedTxns() - wh.SendJSONOr500(logger, w, rlt) - return - } -} - -func getRawTx(gateway Gatewayer) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodGet { - wh.Error405(w) - return - } - - txid := r.FormValue("txid") - if txid == "" { - wh.Error400(w, "txid is empty") - return - } - - h, err := cipher.SHA256FromHex(txid) - if err != nil { - wh.Error400(w, err.Error()) - return - } - - tx, err := gateway.GetTransaction(h) - if err != nil { - wh.Error400(w, err.Error()) - return - } - - if tx == nil { - wh.Error404(w, "") - return - } - - d := tx.Txn.Serialize() - wh.SendJSONOr500(logger, w, hex.EncodeToString(d)) - return - } -} diff --git a/src/skycoin/config.go b/src/skycoin/config.go new file mode 100755 index 0000000..1867c66 --- /dev/null +++ b/src/skycoin/config.go @@ -0,0 +1,410 @@ +package skycoin + +import ( + "flag" + "path/filepath" + "runtime" + "strings" + "time" + + "log" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/util/file" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/wallet" +) + +var ( + help = false +) + +// Config records skycoin node and build config +type Config struct { + Node NodeConfig + Build visor.BuildInfo +} + +// NodeConfig records the node's configuration +type NodeConfig struct { + // Disable peer exchange + DisablePEX bool + // Download peer list + DownloadPeerList bool + // Download the peers list from this URL + PeerListURL string + // Don't make any outgoing connections + DisableOutgoingConnections bool + // Don't allowing incoming connections + DisableIncomingConnections bool + // Disables networking altogether + DisableNetworking bool + // Enable wallet API + EnableWalletAPI bool + // Enable GUI + EnableGUI bool + // Disable CSRF check in the wallet API + DisableCSRF bool + // Enable /api/v1/wallet/seed API endpoint + EnableSeedAPI bool + // Enable unversioned API endpoints (without the /api/v1 prefix) + EnableUnversionedAPI bool + // Disable CSP disable content-security-policy in http response + DisableCSP bool + + // Only run on localhost and only connect to others on localhost + LocalhostOnly bool + // Which address to serve on. Leave blank to automatically assign to a + // public interface + Address string + // gnet uses this for TCP incoming and outgoing + Port int + // Maximum outgoing connections to maintain + MaxOutgoingConnections int + // Maximum default outgoing connections + MaxDefaultPeerOutgoingConnections int + // How often to make outgoing connections + OutgoingConnectionsRate time.Duration + // PeerlistSize represents the maximum number of peers that the pex would maintain + PeerlistSize int + // Wallet Address Version + //AddressVersion string + // Remote web interface + WebInterface bool + WebInterfacePort int + WebInterfaceAddr string + WebInterfaceCert string + WebInterfaceKey string + WebInterfaceHTTPS bool + + RPCInterface bool + + // Launch System Default Browser after client startup + LaunchBrowser bool + + // If true, print the configured client web interface address and exit + PrintWebInterfaceAddress bool + + // Data directory holds app data -- defaults to ~/.skycoin + DataDirectory string + // GUI directory contains assets for the HTML interface + GUIDirectory string + + ReadTimeout time.Duration + WriteTimeout time.Duration + IdleTimeout time.Duration + + // Logging + ColorLog bool + // This is the value registered with flag, it is converted to LogLevel after parsing + LogLevel string + // Disable "Reply to ping", "Received pong" log messages + DisablePingPong bool + + // Verify the database integrity after loading + VerifyDB bool + // Reset the database if integrity checks fail, and continue running + ResetCorruptDB bool + + // Wallets + // Defaults to ${DataDirectory}/wallets/ + WalletDirectory string + // Wallet crypto type + WalletCryptoType string + + RunMaster bool + + /* Developer options */ + + // Enable cpu profiling + ProfileCPU bool + // Where the file is written to + ProfileCPUFile string + // HTTP profiling interface (see http://golang.org/pkg/net/http/pprof/) + HTTPProf bool + + DBPath string + DBReadOnly bool + Arbitrating bool + LogToFile bool + Version bool // show node version + + GenesisSignatureStr string + GenesisAddressStr string + BlockchainPubkeyStr string + BlockchainSeckeyStr string + GenesisTimestamp uint64 + GenesisCoinVolume uint64 + DefaultConnections []string + + genesisSignature cipher.Sig + genesisAddress cipher.Address + + blockchainPubkey cipher.PubKey + blockchainSeckey cipher.SecKey +} + +// NewNodeConfig returns a new node config instance +func NewNodeConfig(mode string, node NodeParameters) *NodeConfig { + nodeConfig := &NodeConfig{ + GenesisSignatureStr: node.GenesisSignatureStr, + GenesisAddressStr: node.GenesisAddressStr, + GenesisCoinVolume: node.GenesisCoinVolume, + GenesisTimestamp: node.GenesisTimestamp, + BlockchainPubkeyStr: node.BlockchainPubkeyStr, + BlockchainSeckeyStr: node.BlockchainSeckeyStr, + DefaultConnections: node.DefaultConnections, + // Disable peer exchange + DisablePEX: true, + // Don't make any outgoing connections + DisableOutgoingConnections: false, + // Don't allowing incoming connections + DisableIncomingConnections: false, + // Disables networking altogether + DisableNetworking: false, + // Enable wallet API + EnableWalletAPI: true, + // Enable GUI + EnableGUI: true, + // Enable unversioned API + EnableUnversionedAPI: false, + // Enable seed API + EnableSeedAPI: false, + // Disable CSRF check in the wallet API + DisableCSRF: true, + // DisableCSP disable content-security-policy in http reponse + DisableCSP: true, + // Only run on localhost and only connect to others on localhost + LocalhostOnly: false, + // Which address to serve on. Leave blank to automatically assign to a + // public interface + Address: "", + //gnet uses this for TCP incoming and outgoing + Port: node.Port, + // MaxOutgoingConnections is the maximum outgoing connections allowed. + MaxOutgoingConnections: 8, + // MaxDefaultOutgoingConnections is the maximum default outgoing connections allowed. + MaxDefaultPeerOutgoingConnections: 8, + DownloadPeerList: true, + PeerListURL: node.PeerListURL, + // How often to make outgoing connections, in seconds + OutgoingConnectionsRate: time.Second * 5, + PeerlistSize: 65535, + // Wallet Address Version + //AddressVersion: "test", + // Remote web interface + WebInterface: true, + WebInterfacePort: node.WebInterfacePort, + WebInterfaceAddr: "127.0.0.1", + WebInterfaceCert: "", + WebInterfaceKey: "", + WebInterfaceHTTPS: false, + + RPCInterface: true, + + LaunchBrowser: false, + // Data directory holds app data + DataDirectory: node.DataDirectory, + // Web GUI static resources + GUIDirectory: "./src/gui/static/", + // Logging + ColorLog: true, + LogLevel: "INFO", + LogToFile: false, + DisablePingPong: false, + + VerifyDB: true, + ResetCorruptDB: false, + + // Wallets + WalletDirectory: "", + WalletCryptoType: string(wallet.CryptoTypeScryptChacha20poly1305), + + // Timeout settings for http.Server + // https://blog.cloudflare.com/the-complete-guide-to-golang-net-http-timeouts/ + ReadTimeout: time.Second * 10, + WriteTimeout: time.Second * 60, + IdleTimeout: time.Second * 120, + + // Centralized network configuration + RunMaster: false, + /* Developer options */ + + // Enable cpu profiling + ProfileCPU: false, + // Where the file is written to + ProfileCPUFile: node.ProfileCPUFile, + // HTTP profiling interface (see http://golang.org/pkg/net/http/pprof/) + HTTPProf: false, + } + + nodeConfig.applyConfigMode(mode) + + return nodeConfig +} + +func (c *Config) postProcess() { + var err error + if c.Node.GenesisSignatureStr != "" { + c.Node.genesisSignature, err = cipher.SigFromHex(c.Node.GenesisSignatureStr) + panicIfError(err, "Invalid Signature") + } + + if c.Node.GenesisAddressStr != "" { + c.Node.genesisAddress, err = cipher.DecodeBase58Address(c.Node.GenesisAddressStr) + panicIfError(err, "Invalid Address") + } + if c.Node.BlockchainPubkeyStr != "" { + c.Node.blockchainPubkey, err = cipher.PubKeyFromHex(c.Node.BlockchainPubkeyStr) + panicIfError(err, "Invalid Pubkey") + } + if c.Node.BlockchainSeckeyStr != "" { + c.Node.blockchainSeckey, err = cipher.SecKeyFromHex(c.Node.BlockchainSeckeyStr) + panicIfError(err, "Invalid Seckey") + c.Node.BlockchainSeckeyStr = "" + } + if c.Node.BlockchainSeckeyStr != "" { + c.Node.blockchainSeckey = cipher.SecKey{} + } + + home := file.UserHome() + c.Node.DataDirectory, err = file.InitDataDir(replaceHome(c.Node.DataDirectory, home)) + panicIfError(err, "Invalid DataDirectory") + + if c.Node.WebInterfaceCert == "" { + c.Node.WebInterfaceCert = filepath.Join(c.Node.DataDirectory, "cert.pem") + } else { + c.Node.WebInterfaceCert = replaceHome(c.Node.WebInterfaceCert, home) + } + + if c.Node.WebInterfaceKey == "" { + c.Node.WebInterfaceKey = filepath.Join(c.Node.DataDirectory, "key.pem") + } else { + c.Node.WebInterfaceKey = replaceHome(c.Node.WebInterfaceKey, home) + } + + if c.Node.WalletDirectory == "" { + c.Node.WalletDirectory = filepath.Join(c.Node.DataDirectory, "wallets") + } else { + c.Node.WalletDirectory = replaceHome(c.Node.WalletDirectory, home) + } + + if c.Node.DBPath == "" { + c.Node.DBPath = filepath.Join(c.Node.DataDirectory, "data.db") + } else { + c.Node.DBPath = replaceHome(c.Node.DBPath, home) + } + + if c.Node.RunMaster { + // Run in arbitrating mode if the node is master + c.Node.Arbitrating = true + } + + // Don't open browser to load wallets if wallet apis are disabled. + if !c.Node.EnableWalletAPI { + c.Node.EnableGUI = false + c.Node.LaunchBrowser = false + } + + if c.Node.EnableGUI { + c.Node.GUIDirectory = file.ResolveResourceDirectory(c.Node.GUIDirectory) + } +} + +func (c *Config) register() { + flag.BoolVar(&help, "help", false, "Show help") + flag.BoolVar(&c.Node.DisablePEX, "disable-pex", c.Node.DisablePEX, "disable PEX peer discovery") + flag.BoolVar(&c.Node.DownloadPeerList, "download-peerlist", c.Node.DownloadPeerList, "download a peers.txt from -peerlist-url") + flag.StringVar(&c.Node.PeerListURL, "peerlist-url", c.Node.PeerListURL, "with -download-peerlist=true, download a peers.txt file from this url") + flag.BoolVar(&c.Node.DisableOutgoingConnections, "disable-outgoing", c.Node.DisableOutgoingConnections, "Don't make outgoing connections") + flag.BoolVar(&c.Node.DisableIncomingConnections, "disable-incoming", c.Node.DisableIncomingConnections, "Don't make incoming connections") + flag.BoolVar(&c.Node.DisableNetworking, "disable-networking", c.Node.DisableNetworking, "Disable all network activity") + flag.BoolVar(&c.Node.EnableWalletAPI, "enable-wallet-api", c.Node.EnableWalletAPI, "Enable the wallet API") + flag.BoolVar(&c.Node.EnableGUI, "enable-gui", c.Node.EnableGUI, "Enable GUI") + flag.BoolVar(&c.Node.EnableUnversionedAPI, "enable-unversioned-api", c.Node.EnableUnversionedAPI, "Enable the deprecated unversioned API endpoints without /api/v1 prefix") + flag.BoolVar(&c.Node.DisableCSRF, "disable-csrf", c.Node.DisableCSRF, "disable CSRF check") + flag.BoolVar(&c.Node.EnableSeedAPI, "enable-seed-api", c.Node.EnableSeedAPI, "enable /api/v1/wallet/seed api") + flag.BoolVar(&c.Node.DisableCSP, "disable-csp", c.Node.DisableCSP, "disable content-security-policy in http response") + flag.StringVar(&c.Node.Address, "address", c.Node.Address, "IP Address to run application on. Leave empty to default to a public interface") + flag.IntVar(&c.Node.Port, "port", c.Node.Port, "Port to run application on") + + flag.BoolVar(&c.Node.WebInterface, "web-interface", c.Node.WebInterface, "enable the web interface") + flag.IntVar(&c.Node.WebInterfacePort, "web-interface-port", c.Node.WebInterfacePort, "port to serve web interface on") + flag.StringVar(&c.Node.WebInterfaceAddr, "web-interface-addr", c.Node.WebInterfaceAddr, "addr to serve web interface on") + flag.StringVar(&c.Node.WebInterfaceCert, "web-interface-cert", c.Node.WebInterfaceCert, "cert.pem file for web interface HTTPS. If not provided, will use cert.pem in -data-directory") + flag.StringVar(&c.Node.WebInterfaceKey, "web-interface-key", c.Node.WebInterfaceKey, "key.pem file for web interface HTTPS. If not provided, will use key.pem in -data-directory") + flag.BoolVar(&c.Node.WebInterfaceHTTPS, "web-interface-https", c.Node.WebInterfaceHTTPS, "enable HTTPS for web interface") + + flag.BoolVar(&c.Node.RPCInterface, "rpc-interface", c.Node.RPCInterface, "enable the rpc interface") + + flag.BoolVar(&c.Node.LaunchBrowser, "launch-browser", c.Node.LaunchBrowser, "launch system default webbrowser at client startup") + flag.BoolVar(&c.Node.PrintWebInterfaceAddress, "print-web-interface-address", c.Node.PrintWebInterfaceAddress, "print configured web interface address and exit") + flag.StringVar(&c.Node.DataDirectory, "data-dir", c.Node.DataDirectory, "directory to store app data (defaults to ~/.skycoin)") + flag.StringVar(&c.Node.DBPath, "db-path", c.Node.DBPath, "path of database file (defaults to ~/.skycoin/data.db)") + flag.BoolVar(&c.Node.DBReadOnly, "db-read-only", c.Node.DBReadOnly, "open bolt db read-only") + flag.BoolVar(&c.Node.ProfileCPU, "profile-cpu", c.Node.ProfileCPU, "enable cpu profiling") + flag.StringVar(&c.Node.ProfileCPUFile, "profile-cpu-file", c.Node.ProfileCPUFile, "where to write the cpu profile file") + flag.BoolVar(&c.Node.HTTPProf, "http-prof", c.Node.HTTPProf, "Run the http profiling interface") + flag.StringVar(&c.Node.LogLevel, "log-level", c.Node.LogLevel, "Choices are: debug, info, warn, error, fatal, panic") + flag.BoolVar(&c.Node.ColorLog, "color-log", c.Node.ColorLog, "Add terminal colors to log output") + flag.BoolVar(&c.Node.DisablePingPong, "no-ping-log", c.Node.DisablePingPong, `disable "reply to ping" and "received pong" debug log messages`) + flag.BoolVar(&c.Node.LogToFile, "logtofile", c.Node.LogToFile, "log to file") + flag.StringVar(&c.Node.GUIDirectory, "gui-dir", c.Node.GUIDirectory, "static content directory for the HTML interface") + + flag.BoolVar(&c.Node.VerifyDB, "verify-db", c.Node.VerifyDB, "check the database for corruption") + flag.BoolVar(&c.Node.ResetCorruptDB, "reset-corrupt-db", c.Node.ResetCorruptDB, "reset the database if corrupted, and continue running instead of exiting") + + // Key Configuration Data + flag.BoolVar(&c.Node.RunMaster, "master", c.Node.RunMaster, "run the daemon as blockchain master server") + + flag.StringVar(&c.Node.BlockchainPubkeyStr, "master-public-key", c.Node.BlockchainPubkeyStr, "public key of the master chain") + flag.StringVar(&c.Node.BlockchainSeckeyStr, "master-secret-key", c.Node.BlockchainSeckeyStr, "secret key, set for master") + + flag.StringVar(&c.Node.GenesisAddressStr, "genesis-address", c.Node.GenesisAddressStr, "genesis address") + flag.StringVar(&c.Node.GenesisSignatureStr, "genesis-signature", c.Node.GenesisSignatureStr, "genesis block signature") + flag.Uint64Var(&c.Node.GenesisTimestamp, "genesis-timestamp", c.Node.GenesisTimestamp, "genesis block timestamp") + + flag.StringVar(&c.Node.WalletDirectory, "wallet-dir", c.Node.WalletDirectory, "location of the wallet files. Defaults to ~/.skycoin/wallet/") + flag.IntVar(&c.Node.MaxOutgoingConnections, "max-outgoing-connections", c.Node.MaxOutgoingConnections, "The maximum outgoing connections allowed") + flag.IntVar(&c.Node.MaxDefaultPeerOutgoingConnections, "max-default-peer-outgoing-connections", c.Node.MaxDefaultPeerOutgoingConnections, "The maximum default peer outgoing connections allowed") + flag.IntVar(&c.Node.PeerlistSize, "peerlist-size", c.Node.PeerlistSize, "The peer list size") + flag.DurationVar(&c.Node.OutgoingConnectionsRate, "connection-rate", c.Node.OutgoingConnectionsRate, "How often to make an outgoing connection") + flag.BoolVar(&c.Node.LocalhostOnly, "localhost-only", c.Node.LocalhostOnly, "Run on localhost and only connect to localhost peers") + flag.BoolVar(&c.Node.Arbitrating, "arbitrating", c.Node.Arbitrating, "Run node in arbitrating mode") + flag.StringVar(&c.Node.WalletCryptoType, "wallet-crypto-type", c.Node.WalletCryptoType, "wallet crypto type. Can be sha256-xor or scrypt-chacha20poly1305") + flag.BoolVar(&c.Node.Version, "version", false, "show node version") +} + +func (n *NodeConfig) applyConfigMode(configMode string) { + if runtime.GOOS == "windows" { + n.ColorLog = false + } + switch configMode { + case "": + case "STANDALONE_CLIENT": + n.EnableWalletAPI = true + n.EnableGUI = true + n.EnableSeedAPI = true + n.LaunchBrowser = true + n.DisableCSRF = false + n.DisableCSP = false + n.DownloadPeerList = true + n.RPCInterface = false + n.WebInterface = true + n.LogToFile = false + n.ResetCorruptDB = true + n.WebInterfacePort = 0 // randomize web interface port + default: + panic("Invalid ConfigMode") + } +} + +func panicIfError(err error, msg string, args ...interface{}) { // nolint: unparam + if err != nil { + log.Panicf(msg+": %v", append(args, err)...) + } +} + +func replaceHome(path, home string) string { + return strings.Replace(path, "$HOME", home, 1) +} diff --git a/src/skycoin/parameters.go b/src/skycoin/parameters.go new file mode 100755 index 0000000..f060424 --- /dev/null +++ b/src/skycoin/parameters.go @@ -0,0 +1,127 @@ +package skycoin + +import ( + "fmt" + "strings" + + "github.com/spf13/viper" +) + +// Parameters records fiber coin parameters +type Parameters struct { + Node NodeParameters `mapstructure:"node"` + Build BuildParameters `mapstructure:"build"` + Visor VisorParameters `mapstructure:"visor"` +} + +// NodeParameters records the node's configurable parameters +type NodeParameters struct { + PeerListURL string `mapstructure:"peer_list_url"` + Port int `mapstructure:"port"` + WebInterfacePort int `mapstructure:"web_interface_port"` + GenesisSignatureStr string `mapstructure:"genesis_signature_str"` + GenesisAddressStr string `mapstructure:"genesis_address_str"` + BlockchainPubkeyStr string `mapstructure:"blockchain_pubkey_str"` + BlockchainSeckeyStr string `mapstructure:"blockchain_seckey_str"` + GenesisTimestamp uint64 `mapstructure:"genesis_timestamp"` + GenesisCoinVolume uint64 `mapstructure:"genesis_coin_volume"` + DefaultConnections []string `mapstructure:"default_connections"` + + DataDirectory string + ProfileCPUFile string +} + +// VisorParameters are the parameters used to generate parameters.go in visor +type VisorParameters struct { + // MaxCoinSupply is the maximum supply of coins + MaxCoinSupply uint64 `mapstructure:"max_coin_supply"` + + // DistributionAddressesTotal is the number of distribution addresses + DistributionAddressesTotal uint64 `mapstructure:"distribution_addresses_total"` + + // DistributionAddressInitialBalance is the initial balance of each distribution address + DistributionAddressInitialBalance uint64 + + // InitialUnlockedCount is the initial number of unlocked addresses + InitialUnlockedCount uint64 `mapstructure:"initial_unlocked_count"` + + // UnlockAddressRate is the number of addresses to unlock per unlock time interval + UnlockAddressRate uint64 `mapstructure:"unlock_address_rate"` + + // UnlockTimeInterval is the distribution address unlock time interval, measured in seconds + // Once the InitialUnlockedCount is exhausted, + // UnlockAddressRate addresses will be unlocked per UnlockTimeInterval + UnlockTimeInterval uint64 `mapstructure:"unlock_time_interval"` + + // MaxDropletPrecision represents the decimal precision of droplets + MaxDropletPrecision uint64 `mapstructure:"max_droplet_precision"` + + //DefaultMaxBlockSize is max block size + DefaultMaxBlockSize int `mapstructure:"default_max_block_size"` + + DistributionAddresses []string `mapstructure:"distribution_addresses"` +} + +// BuildParameters records build info +type BuildParameters struct { + Version string `mapstructure:"version"` // node version + Commit string `mapstructure:"commit"` // git commit id + Branch string `mapstructure:"branch"` // git branch name +} + +// NewParameters loads blockchain config parameters from a config file +// default file is: fiber.toml in the project root +// JSON, toml or yaml file can be used (toml preferred). +func NewParameters(configName, appDir string) (Parameters, error) { + // set viper parameters + // check that file is of supported type + confNameSplit := strings.Split(configName, ".") + fileType := confNameSplit[len(confNameSplit)-1] + switch fileType { + case "toml", "json", "yaml", "yml": + viper.SetConfigType(confNameSplit[len(confNameSplit)-1]) + default: + return Parameters{}, fmt.Errorf("invalid blockchain config file type: %s", fileType) + } + + configName = configName[:len(configName)-(len(fileType)+1)] + viper.SetConfigName(configName) + + viper.AddConfigPath(appDir) + viper.AddConfigPath(".") + + // set defaults + setDefaults() + + params := Parameters{} + + if err := viper.ReadInConfig(); err != nil { + return params, err + } + + if err := viper.Unmarshal(¶ms); err != nil { + return params, err + } + + return params, nil +} + +func setDefaults() { + // node defaults + viper.SetDefault("node.genesis_coin_volume", 300e12) + viper.SetDefault("node.port", 30000) + viper.SetDefault("node.web_interface_port", 7220) + + // build defaults + viper.SetDefault("build.commit", "") + viper.SetDefault("build.branch", "") + + // visor parameter defaults + viper.SetDefault("visor.max_coin_supply", 3e8) + viper.SetDefault("visor.distribution_addresses_total", 100) + viper.SetDefault("visor.initial_unlocked_count", 100) + viper.SetDefault("visor.unlock_address_rate", 0) + viper.SetDefault("visor.unlock_time_interval", 60*60*24*365) + viper.SetDefault("visor.max_droplet_precision", 3) + viper.SetDefault("visor.default_max_block_size", 32*1024) +} diff --git a/src/skycoin/parameters_test.go b/src/skycoin/parameters_test.go new file mode 100755 index 0000000..5a7e706 --- /dev/null +++ b/src/skycoin/parameters_test.go @@ -0,0 +1,50 @@ +package skycoin + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +// TODO(therealssj): write better tests +func TestNewParameters(t *testing.T) { + coinConfig, err := NewParameters("test.fiber.toml", "./testdata") + require.NoError(t, err) + require.Equal(t, Parameters{ + Node: NodeParameters{ + GenesisSignatureStr: "eb10468d10054d15f2b6f8946cd46797779aa20a7617ceb4be884189f219bc9a164e56a5b9f7bec392a804ff3740210348d73db77a37adb542a8e08d429ac92700", + GenesisAddressStr: "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + BlockchainPubkeyStr: "0328c576d3f420e7682058a981173a4b374c7cc5ff55bf394d3cf57059bbe6456a", + BlockchainSeckeyStr: "", + GenesisTimestamp: 1426562704, + GenesisCoinVolume: 100e12, + DefaultConnections: []string{ + "118.178.135.93:6000", + "47.88.33.156:6000", + "121.41.103.148:6000", + "120.77.69.188:6000", + "104.237.142.206:6000", + "176.58.126.224:6000", + "172.104.85.6:6000", + "139.162.7.132:6000", + }, + Port: 6000, + PeerListURL: "https://downloads.skycoin.net/blockchain/peers.txt", + WebInterfacePort: 6420, + }, + Build: BuildParameters{ + Version: "0.23.1-rc2", + Commit: "0aab9bf7730827d6fd11beb0d02096b40cea1872", + Branch: "test-branch", + }, + Visor: VisorParameters{ + MaxCoinSupply: 1e8, + DistributionAddressesTotal: 100, + InitialUnlockedCount: 25, + UnlockAddressRate: 5, + UnlockTimeInterval: 60 * 60 * 24 * 365, + MaxDropletPrecision: 3, + DefaultMaxBlockSize: 32 * 1024, + }, + }, coinConfig) +} diff --git a/src/skycoin/skycoin.go b/src/skycoin/skycoin.go new file mode 100755 index 0000000..3acc223 --- /dev/null +++ b/src/skycoin/skycoin.go @@ -0,0 +1,427 @@ +package skycoin + +import ( + "flag" + "fmt" + "log" + "net/http" + "os" + "path/filepath" + "runtime/debug" + "runtime/pprof" + "sync" + "time" + + "github.com/skycoin/skycoin/src/api" + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/util/apputil" + "github.com/skycoin/skycoin/src/util/browser" + "github.com/skycoin/skycoin/src/util/cert" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/dbutil" + "github.com/skycoin/skycoin/src/wallet" +) + +// Coin represents a fiber coin instance +type Coin struct { + config Config + logger *logging.Logger +} + +// Run starts the node +func (c *Coin) Run() { + defer func() { + // try catch panic in main thread + if r := recover(); r != nil { + c.logger.Errorf("recover: %v\nstack:%v", r, string(debug.Stack())) + } + }() + var db *dbutil.DB + var d *daemon.Daemon + var webInterface *api.Server + errC := make(chan error, 10) + + if c.config.Node.Version { + fmt.Println(c.config.Build.Version) + return + } + + logLevel, err := logging.LevelFromString(c.config.Node.LogLevel) + if err != nil { + c.logger.Error("Invalid -log-level:", err) + return + } + + logging.SetLevel(logLevel) + + if c.config.Node.ColorLog { + logging.EnableColors() + } else { + logging.DisableColors() + } + + var logFile *os.File + if c.config.Node.LogToFile { + var err error + logFile, err = c.initLogFile() + if err != nil { + c.logger.Error(err) + return + } + } + + var fullAddress string + scheme := "http" + if c.config.Node.WebInterfaceHTTPS { + scheme = "https" + } + host := fmt.Sprintf("%s:%d", c.config.Node.WebInterfaceAddr, c.config.Node.WebInterfacePort) + + c.initProfiling() + + var wg sync.WaitGroup + + quit := make(chan struct{}) + + // Catch SIGINT (CTRL-C) (closes the quit channel) + go apputil.CatchInterrupt(quit) + + // Catch SIGUSR1 (prints runtime stack to stdout) + go apputil.CatchDebug() + + // creates blockchain instance + dconf := c.ConfigureDaemon() + + c.logger.Infof("Opening database %s", dconf.Visor.DBPath) + db, err = visor.OpenDB(dconf.Visor.DBPath, c.config.Node.DBReadOnly) + if err != nil { + c.logger.Errorf("Database failed to open: %v. Is another skycoin instance running?", err) + return + } + + if c.config.Node.ResetCorruptDB { + // Check the database integrity and recreate it if necessary + c.logger.Info("Checking database and resetting if corrupted") + if newDB, err := visor.RepairCorruptDB(db, c.config.Node.blockchainPubkey, quit); err != nil { + if err != visor.ErrVerifyStopped { + c.logger.Errorf("visor.ResetCorruptDB failed: %v", err) + } + goto earlyShutdown + } else { + db = newDB + } + } else if c.config.Node.VerifyDB { + c.logger.Info("Checking database") + if err := visor.CheckDatabase(db, c.config.Node.blockchainPubkey, quit); err != nil { + if err != visor.ErrVerifyStopped { + c.logger.Errorf("visor.CheckDatabase failed: %v", err) + } + goto earlyShutdown + } + } + + d, err = daemon.NewDaemon(dconf, db, c.config.Node.DefaultConnections) + if err != nil { + c.logger.Error(err) + goto earlyShutdown + } + + if c.config.Node.WebInterface { + webInterface, err = c.createGUI(d, host) + if err != nil { + c.logger.Error(err) + goto earlyShutdown + } + } + + fullAddress = fmt.Sprintf("%s://%s", scheme, webInterface.Addr()) + c.logger.Critical().Infof("Full address: %s", fullAddress) + if c.config.Node.PrintWebInterfaceAddress { + fmt.Println(fullAddress) + } + + wg.Add(1) + go func() { + defer wg.Done() + + if err := d.Run(); err != nil { + c.logger.Error(err) + errC <- err + } + }() + + if c.config.Node.WebInterface { + cancelLaunchBrowser := make(chan struct{}) + + wg.Add(1) + go func() { + defer wg.Done() + + if err := webInterface.Serve(); err != nil { + close(cancelLaunchBrowser) + c.logger.Error(err) + errC <- err + } + }() + + if c.config.Node.LaunchBrowser { + go func() { + select { + case <-cancelLaunchBrowser: + c.logger.Warning("Browser launching cancelled") + + // Wait a moment just to make sure the http interface is up + case <-time.After(time.Millisecond * 100): + c.logger.Infof("Launching System Browser with %s", fullAddress) + if err := browser.Open(fullAddress); err != nil { + c.logger.Error(err) + } + } + }() + } + } + + select { + case <-quit: + case err := <-errC: + c.logger.Error(err) + } + + c.logger.Info("Shutting down...") + + if webInterface != nil { + c.logger.Info("Closing web interface") + webInterface.Shutdown() + } + + c.logger.Info("Closing daemon") + d.Shutdown() + + c.logger.Info("Waiting for goroutines to finish") + wg.Wait() + +earlyShutdown: + if db != nil { + c.logger.Info("Closing database") + if err := db.Close(); err != nil { + c.logger.WithError(err).Error("Failed to close DB") + } + } + + c.logger.Info("Goodbye") + + if logFile != nil { + if err := logFile.Close(); err != nil { + fmt.Println("Failed to close log file") + } + } +} + +// NewCoin returns a new fiber coin instance +func NewCoin(config Config, logger *logging.Logger) *Coin { + return &Coin{ + config: config, + logger: logger, + } +} + +func (c *Coin) initLogFile() (*os.File, error) { + logDir := filepath.Join(c.config.Node.DataDirectory, "logs") + if err := createDirIfNotExist(logDir); err != nil { + c.logger.Errorf("createDirIfNotExist(%s) failed: %v", logDir, err) + return nil, fmt.Errorf("createDirIfNotExist(%s) failed: %v", logDir, err) + } + + // open log file + tf := "2006-01-02-030405" + logfile := filepath.Join(logDir, fmt.Sprintf("%s-v%s.log", time.Now().Format(tf), c.config.Build.Version)) + + f, err := os.OpenFile(logfile, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0600) + if err != nil { + c.logger.Errorf("os.OpenFile(%s) failed: %v", logfile, err) + return nil, err + } + + hook := logging.NewWriteHook(f) + logging.AddHook(hook) + + return f, nil +} + +func (c *Coin) initProfiling() { + if c.config.Node.ProfileCPU { + f, err := os.Create(c.config.Node.ProfileCPUFile) + if err != nil { + log.Fatal(err) + } + pprof.StartCPUProfile(f) + defer pprof.StopCPUProfile() + } + if c.config.Node.HTTPProf { + go func() { + log.Println(http.ListenAndServe("localhost:6060", nil)) + }() + } +} + +// ConfigureDaemon sets the daemon config values +func (c *Coin) ConfigureDaemon() daemon.Config { + //cipher.SetAddressVersion(c.AddressVersion) + dc := daemon.NewConfig() + + for _, c := range c.config.Node.DefaultConnections { + dc.Pool.DefaultPeerConnections[c] = struct{}{} + } + + dc.Pool.MaxDefaultPeerOutgoingConnections = c.config.Node.MaxDefaultPeerOutgoingConnections + + dc.Pex.DataDirectory = c.config.Node.DataDirectory + dc.Pex.Disabled = c.config.Node.DisablePEX + dc.Pex.Max = c.config.Node.PeerlistSize + dc.Pex.DownloadPeerList = c.config.Node.DownloadPeerList + dc.Pex.PeerListURL = c.config.Node.PeerListURL + dc.Daemon.DisableOutgoingConnections = c.config.Node.DisableOutgoingConnections + dc.Daemon.DisableIncomingConnections = c.config.Node.DisableIncomingConnections + dc.Daemon.DisableNetworking = c.config.Node.DisableNetworking + dc.Daemon.Port = c.config.Node.Port + dc.Daemon.Address = c.config.Node.Address + dc.Daemon.LocalhostOnly = c.config.Node.LocalhostOnly + dc.Daemon.OutgoingMax = c.config.Node.MaxOutgoingConnections + dc.Daemon.DataDirectory = c.config.Node.DataDirectory + dc.Daemon.LogPings = !c.config.Node.DisablePingPong + dc.Daemon.BlockchainPubkey = c.config.Node.blockchainPubkey + + if c.config.Node.OutgoingConnectionsRate == 0 { + c.config.Node.OutgoingConnectionsRate = time.Millisecond + } + dc.Daemon.OutgoingRate = c.config.Node.OutgoingConnectionsRate + dc.Visor.IsMaster = c.config.Node.RunMaster + + dc.Visor.BlockchainPubkey = c.config.Node.blockchainPubkey + dc.Visor.BlockchainSeckey = c.config.Node.blockchainSeckey + + dc.Visor.GenesisAddress = c.config.Node.genesisAddress + dc.Visor.GenesisSignature = c.config.Node.genesisSignature + dc.Visor.GenesisTimestamp = c.config.Node.GenesisTimestamp + dc.Visor.GenesisCoinVolume = c.config.Node.GenesisCoinVolume + dc.Visor.DBPath = c.config.Node.DBPath + dc.Visor.Arbitrating = c.config.Node.Arbitrating + dc.Visor.EnableWalletAPI = c.config.Node.EnableWalletAPI + dc.Visor.WalletDirectory = c.config.Node.WalletDirectory + dc.Visor.BuildInfo = visor.BuildInfo{ + Version: c.config.Build.Version, + Commit: c.config.Build.Commit, + Branch: c.config.Build.Branch, + } + dc.Visor.EnableSeedAPI = c.config.Node.EnableSeedAPI + + dc.Gateway.EnableWalletAPI = c.config.Node.EnableWalletAPI + dc.Gateway.DisableCSP = c.config.Node.DisableCSP + + // Initialize wallet default crypto type + cryptoType, err := wallet.CryptoTypeFromString(c.config.Node.WalletCryptoType) + if err != nil { + log.Panic(err) + } + + dc.Visor.WalletCryptoType = cryptoType + + return dc +} + +func (c *Coin) createGUI(d *daemon.Daemon, host string) (*api.Server, error) { + var s *api.Server + var err error + + config := api.Config{ + StaticDir: c.config.Node.GUIDirectory, + DisableCSRF: c.config.Node.DisableCSRF, + EnableWalletAPI: c.config.Node.EnableWalletAPI, + EnableJSON20RPC: c.config.Node.RPCInterface, + EnableGUI: c.config.Node.EnableGUI, + EnableUnversionedAPI: c.config.Node.EnableUnversionedAPI, + ReadTimeout: c.config.Node.ReadTimeout, + WriteTimeout: c.config.Node.WriteTimeout, + IdleTimeout: c.config.Node.IdleTimeout, + } + + if c.config.Node.WebInterfaceHTTPS { + // Verify cert/key parameters, and if neither exist, create them + if err := cert.CreateCertIfNotExists(host, c.config.Node.WebInterfaceCert, c.config.Node.WebInterfaceKey, "Skycoind"); err != nil { + c.logger.Errorf("cert.CreateCertIfNotExists failure: %v", err) + return nil, err + } + + s, err = api.CreateHTTPS(host, config, d.Gateway, c.config.Node.WebInterfaceCert, c.config.Node.WebInterfaceKey) + } else { + s, err = api.Create(host, config, d.Gateway) + } + if err != nil { + c.logger.Errorf("Failed to start web GUI: %v", err) + return nil, err + } + + return s, nil +} + +// ParseConfig prepare the config +func (c *Coin) ParseConfig() { + c.config.register() + flag.Parse() + if help { + flag.Usage() + os.Exit(0) + } + c.config.postProcess() +} + +// InitTransaction creates the initialize transaction +func InitTransaction(UxID string, genesisSecKey cipher.SecKey) coin.Transaction { + var tx coin.Transaction + + output := cipher.MustSHA256FromHex(UxID) + tx.PushInput(output) + + addrs := visor.GetDistributionAddresses() + + if len(addrs) != 100 { + log.Panic("Should have 100 distribution addresses") + } + + // 1 million per address, measured in droplets + if visor.DistributionAddressInitialBalance != 1e6 { + log.Panic("visor.DistributionAddressInitialBalance expected to be 1e6*1e6") + } + + for i := range addrs { + addr := cipher.MustDecodeBase58Address(addrs[i]) + tx.PushOutput(addr, visor.DistributionAddressInitialBalance*1e6, 1) + } + + seckeys := make([]cipher.SecKey, 1) + seckey := genesisSecKey.Hex() + seckeys[0] = cipher.MustSecKeyFromHex(seckey) + tx.SignInputs(seckeys) + + tx.UpdateHeader() + + err := tx.Verify() + + if err != nil { + log.Panic(err) + } + + log.Printf("signature= %s", tx.Sigs[0].Hex()) + return tx +} + +func createDirIfNotExist(dir string) error { + if _, err := os.Stat(dir); !os.IsNotExist(err) { + return nil + } + + return os.Mkdir(dir, 0777) +} diff --git a/src/skycoin/testdata/test.fiber.toml b/src/skycoin/testdata/test.fiber.toml new file mode 100755 index 0000000..509e2a3 --- /dev/null +++ b/src/skycoin/testdata/test.fiber.toml @@ -0,0 +1,27 @@ +# fiber configuration +# Defaults are shown, commented out +# Some values have no defaults and must be filled in +[node] +genesis_signature_str = "eb10468d10054d15f2b6f8946cd46797779aa20a7617ceb4be884189f219bc9a164e56a5b9f7bec392a804ff3740210348d73db77a37adb542a8e08d429ac92700" +genesis_address_str = "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6" +blockchain_pubkey_str = "0328c576d3f420e7682058a981173a4b374c7cc5ff55bf394d3cf57059bbe6456a" +blockchain_seckey_str = "" +genesis_timestamp = 1426562704 +default_connections = [ + "118.178.135.93:6000", + "47.88.33.156:6000", + "121.41.103.148:6000", + "120.77.69.188:6000", + "104.237.142.206:6000", + "176.58.126.224:6000", + "172.104.85.6:6000", + "139.162.7.132:6000", +] +launch_browser = true +peer_list_url = "https://downloads.skycoin.net/blockchain/peers.txt" + +[build] +version = "0.23.1-rc2" +commit = "0aab9bf7730827d6fd11beb0d02096b40cea1872" +branch = "test-branch" + diff --git a/src/testutil/blockchain.go b/src/testutil/testutil.go similarity index 84% rename from src/testutil/blockchain.go rename to src/testutil/testutil.go index c8083b9..1c4f442 100755 --- a/src/testutil/blockchain.go +++ b/src/testutil/testutil.go @@ -11,6 +11,7 @@ import ( "github.com/stretchr/testify/require" "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/visor/dbutil" ) // set rand seed. @@ -21,15 +22,16 @@ var _ = func() int64 { }() // PrepareDB creates and opens a temporary test DB and returns it with a cleanup callback -func PrepareDB(t *testing.T) (*bolt.DB, func()) { +func PrepareDB(t *testing.T) (*dbutil.DB, func()) { f, err := ioutil.TempFile("", "testdb") require.NoError(t, err) db, err := bolt.Open(f.Name(), 0700, nil) require.NoError(t, err) - return db, func() { + return dbutil.WrapDB(db), func() { db.Close() + f.Close() os.Remove(f.Name()) } } @@ -66,3 +68,8 @@ func SHA256FromHex(t *testing.T, hex string) cipher.SHA256 { require.NoError(t, err) return sha } + +// RandSig returns a random cipher.Sig +func RandSig(t *testing.T) cipher.Sig { + return cipher.NewSig(RandBytes(t, 65)) +} diff --git a/src/util/apputil/apputil.go b/src/util/apputil/apputil.go new file mode 100755 index 0000000..2587adf --- /dev/null +++ b/src/util/apputil/apputil.go @@ -0,0 +1,56 @@ +package apputil + +import ( + "fmt" + "os" + "os/signal" + "runtime/pprof" + "syscall" +) + +// CatchInterrupt catches CTRL-C and closes the quit channel if it occurs. +// If CTRL-C is called again, the program stack is dumped and the process panics, +// so that shutdown hangs can be diagnosed. +func CatchInterrupt(quit chan<- struct{}) { + sigchan := make(chan os.Signal, 1) + signal.Notify(sigchan, os.Interrupt) + <-sigchan + signal.Stop(sigchan) + close(quit) + + // If ctrl-c is called again, panic so that the program state can be examined. + // Ctrl-c would be called again if program shutdown was stuck. + go CatchInterruptPanic() +} + +// CatchInterruptPanic catches os.Interrupt and panics +func CatchInterruptPanic() { + sigchan := make(chan os.Signal, 1) + signal.Notify(sigchan, os.Interrupt) + <-sigchan + signal.Stop(sigchan) + PrintProgramStatus() + panic("SIGINT") +} + +// CatchDebug catches SIGUSR1 and prints internal program state +func CatchDebug() { + sigchan := make(chan os.Signal, 1) + //signal.Notify(sigchan, syscall.SIGUSR1) + signal.Notify(sigchan, syscall.Signal(0xa)) // SIGUSR1 = Signal(0xa) + for { + select { + case <-sigchan: + PrintProgramStatus() + } + } +} + +// PrintProgramStatus prints all goroutine data to stdout +func PrintProgramStatus() { + p := pprof.Lookup("goroutine") + if err := p.WriteTo(os.Stdout, 2); err != nil { + fmt.Println("ERROR:", err) + return + } +} diff --git a/src/util/file/file.go b/src/util/file/file.go index 0d62066..67ed658 100755 --- a/src/util/file/file.go +++ b/src/util/file/file.go @@ -227,7 +227,6 @@ func ResolveResourceDirectory(path string) string { } // DetermineResourcePath DEPRECATE -// From src/gui/http.go and src/mesh/gui/http.go func DetermineResourcePath(staticDir string, resourceDir string, devDir string) (string, error) { //check "dev" directory first appLoc := filepath.Join(staticDir, devDir) diff --git a/src/util/file/file_test.go b/src/util/file/file_test.go index fe92141..7809229 100755 --- a/src/util/file/file_test.go +++ b/src/util/file/file_test.go @@ -31,7 +31,7 @@ func requireFileContentsBinary(t *testing.T, filename string, contents []byte) { require.True(t, bytes.Equal(b[:n], contents)) } -func requireFileContents(t *testing.T, filename, contents string) { +func requireFileContents(t *testing.T, filename, contents string) { // nolint: unparam requireFileContentsBinary(t, filename, []byte(contents)) } diff --git a/src/util/hexdump.go b/src/util/hexdump.go new file mode 100755 index 0000000..44ba337 --- /dev/null +++ b/src/util/hexdump.go @@ -0,0 +1,142 @@ +package util + +import ( + "bufio" + "io" + "strconv" + "strings" + + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +// Annotation : Denotes a chunk of data to be dumped +type Annotation struct { + Name string + Size int +} + +// IAnnotationsGenerator : Interface to implement by types to use HexDump +type IAnnotationsGenerator interface { + GenerateAnnotations() []Annotation +} + +// IAnnotationsIterator : Interface to implement by types to use HexDumpFromIterator +type IAnnotationsIterator interface { + Next() (Annotation, bool) +} + +func writeHexdumpMember(offset int, size int, writer io.Writer, buffer []byte, name string) { + var hexBuff = make([]string, size) + var j = 0 + if offset+size > len(buffer) { + panic(encoder.ErrBufferUnderflow) + } + for i := offset; i < offset+size; i++ { + hexBuff[j] = strconv.FormatInt(int64(buffer[i]), 16) + j++ + } + for i := 0; i < len(hexBuff); i++ { + if len(hexBuff[i]) == 1 { + hexBuff[i] = "0" + hexBuff[i] + } + } + + var sliceContents = getSliceContentsString(hexBuff, offset) + var serialized = encoder.Serialize(sliceContents + " " + name + "\n") + + f := bufio.NewWriter(writer) + defer f.Flush() + f.Write(serialized[4:]) + +} + +func getSliceContentsString(sl []string, offset int) string { + var res = "" + var counter = 0 + var currentOff = offset + if offset != -1 { + var hex = strconv.FormatInt(int64(offset), 16) + var l = len(hex) + for i := 0; i < 4-l; i++ { + hex = "0" + hex + } + hex = "0x" + hex + res += hex + " | " + } + for i := 0; i < len(sl); i++ { + counter++ + res += sl[i] + " " + if counter == 16 { + if i != len(sl)-1 { + res = strings.TrimRight(res, " ") + res += "\n" + currentOff += 16 + if offset != -1 { + //res += " " //9 spaces + var hex = strconv.FormatInt(int64(currentOff), 16) + var l = len(hex) + for i := 0; i < 4-l; i++ { + hex = "0" + hex + } + hex = "0x" + hex + res += hex + " | " + } + counter = 0 + } else { + res += "..." + return res + } + } + } + for i := 0; i < (16 - counter); i++ { + res += "..." + } + res += "..." + return res +} + +func printFinalHex(i int, writer io.Writer) { + var finalHex = strconv.FormatInt(int64(i), 16) + var l = len(finalHex) + for i := 0; i < 4-l; i++ { + finalHex = "0" + finalHex + } + finalHex = "0x" + finalHex + finalHex = finalHex + " | " + + var serialized = encoder.Serialize(finalHex) + + f := bufio.NewWriter(writer) + defer f.Flush() + f.Write(serialized[4:]) +} + +// HexDump : Returns hexdump of buffer according to annotations, via writer +func HexDump(buffer []byte, annotations []Annotation, writer io.Writer) { + var currentOffset = 0 + + for _, element := range annotations { + writeHexdumpMember(currentOffset, element.Size, writer, buffer, element.Name) + currentOffset += element.Size + } + + printFinalHex(currentOffset, writer) +} + +// HexDumpFromIterator : Returns hexdump of buffer according to annotationsIterator, via writer +func HexDumpFromIterator(buffer []byte, annotationsIterator IAnnotationsIterator, writer io.Writer) { + var currentOffset = 0 + + var current, valid = annotationsIterator.Next() + + for { + if !valid { + break + } + writeHexdumpMember(currentOffset, current.Size, writer, buffer, current.Name) + currentOffset += current.Size + current, valid = annotationsIterator.Next() + } + + printFinalHex(currentOffset, writer) +} diff --git a/src/util/http/error.go b/src/util/http/error.go index 9ae8da1..14e23d4 100755 --- a/src/util/http/error.go +++ b/src/util/http/error.go @@ -2,20 +2,16 @@ package httphelper import ( + "encoding/json" "fmt" "net/http" "github.com/skycoin/skycoin/src/util/logging" ) -var ( - logger = logging.MustGetLogger("gui") -) - // HTTPError wraps http.Error func HTTPError(w http.ResponseWriter, status int, httpMsg string) { msg := fmt.Sprintf("%d %s", status, httpMsg) - logger.Errorf(msg) http.Error(w, msg, status) } @@ -31,11 +27,30 @@ func errorXXXMsg(w http.ResponseWriter, status int, msg string) { HTTPError(w, status, httpMsg) } +func errorXXXJSONOr500(log *logging.Logger, w http.ResponseWriter, status int, m interface{}) { + out, err := json.MarshalIndent(m, "", " ") + if err != nil { + Error500(w, "json.MarshalIndent failed") + return + } + + w.Header().Add("Content-Type", "application/json") + w.WriteHeader(status) + if _, err := w.Write(out); err != nil { + log.WithError(err).Error("http write failed") + } +} + // Error400 respond with a 400 error and include a message func Error400(w http.ResponseWriter, msg string) { errorXXXMsg(w, http.StatusBadRequest, msg) } +// Error400JSONOr500 returns a 400 error with an object as JSON, writting a 500 error if it fails +func Error400JSONOr500(log *logging.Logger, w http.ResponseWriter, m interface{}) { + errorXXXJSONOr500(log, w, http.StatusBadRequest, m) +} + // Error401 respond with a 401 error func Error401(w http.ResponseWriter, auth, msg string) { w.Header().Set("WWW-Authenticate", auth) @@ -66,6 +81,16 @@ func Error415(w http.ResponseWriter) { httpError(w, http.StatusUnsupportedMediaType) } +// Error422 response with a 422 error and include a message +func Error422(w http.ResponseWriter, msg string) { + errorXXXMsg(w, http.StatusUnprocessableEntity, msg) +} + +// Error422JSONOr500 returns a 422 error with an object as JSON, writting a 500 error if it fails +func Error422JSONOr500(log *logging.Logger, w http.ResponseWriter, m interface{}) { + errorXXXJSONOr500(log, w, http.StatusUnprocessableEntity, m) +} + // Error501 respond with a 501 error func Error501(w http.ResponseWriter) { httpError(w, http.StatusNotImplemented) diff --git a/src/util/http/handler.go b/src/util/http/handler.go index b7ac7cb..222d47b 100755 --- a/src/util/http/handler.go +++ b/src/util/http/handler.go @@ -9,6 +9,10 @@ import ( "github.com/skycoin/skycoin/src/util/logging" ) +// ContentSecurityPolicy represents the value of content-security-policy +// header in http response +const ContentSecurityPolicy = "script-src 'self' 127.0.0.1" + // HostCheck checks that the request's Host header is 127.0.0.1:$port or localhost:$port // if the HTTP interface host is also a localhost address. // This prevents DNS rebinding attacks, where an attacker uses a DNS rebinding service @@ -46,3 +50,11 @@ func HostCheck(logger *logging.Logger, host string, handler http.Handler) http.H handler.ServeHTTP(w, r) }) } + +// CSPHandler enables CSP +func CSPHandler(handler http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Security-Policy", ContentSecurityPolicy) + handler.ServeHTTP(w, r) + }) +} diff --git a/src/util/http/json.go b/src/util/http/json.go index 97087ca..6ddedfd 100755 --- a/src/util/http/json.go +++ b/src/util/http/json.go @@ -93,6 +93,34 @@ func (a Address) MarshalJSON() ([]byte, error) { return []byte(`"` + a.Address.String() + `"`), nil } +// SHA256 is a wrapper around cipher.SHA256 which implements json.Unmarshaler and json.Marshaler. +// It marshals and unmarshals the address as a string +type SHA256 struct { + cipher.SHA256 +} + +// UnmarshalJSON unmarshals a string address to a cipher.SHA256 +func (a *SHA256) UnmarshalJSON(b []byte) error { + var s string + if err := json.Unmarshal(b, &s); err != nil { + return err + } + + tmp, err := cipher.SHA256FromHex(s) + if err != nil { + return fmt.Errorf("invalid SHA256 hash: %v", err) + } + + a.SHA256 = tmp + + return nil +} + +// MarshalJSON marshals a cipher.SHA256 in its string representation +func (a SHA256) MarshalJSON() ([]byte, error) { + return []byte(`"` + a.SHA256.Hex() + `"`), nil +} + // Coins is a wrapper around uint64 which implements json.Unmarshaler and json.Marshaler. // It unmarshals a fixed-point decimal string to droplets and vice versa type Coins uint64 diff --git a/src/util/http/json_test.go b/src/util/http/json_test.go index 61ec88d..b4d28c8 100755 --- a/src/util/http/json_test.go +++ b/src/util/http/json_test.go @@ -256,3 +256,64 @@ func TestHoursUnmarshalJSON(t *testing.T) { err := c.UnmarshalJSON([]byte("invalidjson")) testutil.RequireError(t, err, "invalid character 'i' looking for beginning of value") } + +func TestSHA256MarshalJSON(t *testing.T) { + hash := "97dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d" + + c := SHA256{cipher.MustSHA256FromHex(hash)} + + data, err := c.MarshalJSON() + require.NoError(t, err) + require.Equal(t, `"97dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d"`, string(data)) +} + +func TestSHA256UnmarshalJSON(t *testing.T) { + cases := []struct { + c string + expected cipher.SHA256 + err string + }{ + { + c: "", + err: "invalid SHA256 hash: Invalid hex length", + }, + + { + c: "foo", + err: "invalid SHA256 hash: encoding/hex: invalid byte: U+006F 'o'", + }, + + { + c: "97dd0628", + err: "invalid SHA256 hash: Invalid hex length", + }, + + { + c: "97dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d97", + err: "invalid SHA256 hash: Invalid hex length", + }, + + { + c: "97dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11Q", + err: "invalid SHA256 hash: encoding/hex: invalid byte: U+0051 'Q'", + }, + + { + c: "97dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d", + expected: cipher.MustSHA256FromHex("97dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d"), + }, + } + + for _, tc := range cases { + t.Run(tc.c, func(t *testing.T) { + var c SHA256 + err := c.UnmarshalJSON([]byte(fmt.Sprintf(`"%s"`, tc.c))) + if tc.err != "" { + require.Equal(t, errors.New(tc.err), err) + } else { + require.NoError(t, err) + require.Equal(t, tc.expected, c.SHA256) + } + }) + } +} diff --git a/src/util/iputil/iputil.go b/src/util/iputil/iputil.go index 8f84c4a..f367445 100755 --- a/src/util/iputil/iputil.go +++ b/src/util/iputil/iputil.go @@ -5,7 +5,6 @@ import ( "fmt" "net" "strconv" - "strings" ) // LocalhostIP returns the address for localhost on the machine @@ -29,19 +28,28 @@ func LocalhostIP() (string, error) { } // IsLocalhost returns true if addr is a localhost address +// Works for both ipv4 and ipv6 addresses. func IsLocalhost(addr string) bool { return net.ParseIP(addr).IsLoopback() || addr == "localhost" } -// SplitAddr splits an ip:port string to ip, port +// SplitAddr splits an ip:port string to ip, port. +// Works for both ipv4 and ipv6 addresses. +// If the IP is not specified, returns an error. func SplitAddr(addr string) (string, uint16, error) { - pts := strings.Split(addr, ":") - if len(pts) != 2 { - return pts[0], 0, fmt.Errorf("Invalid addr %s", addr) + ip, port, err := net.SplitHostPort(addr) + if err != nil { + return "", 0, err + } + + if ip == "" { + return "", 0, fmt.Errorf("IP missing from %s", addr) } - port64, err := strconv.ParseUint(pts[1], 10, 16) + + port64, err := strconv.ParseUint(port, 10, 16) if err != nil { - return pts[0], 0, fmt.Errorf("Invalid port in %s", addr) + return "", 0, fmt.Errorf("Invalid port in %s", addr) } - return pts[0], uint16(port64), nil + + return ip, uint16(port64), nil } diff --git a/src/util/iputil/iputil_test.go b/src/util/iputil/iputil_test.go index 0b79410..bc2280e 100755 --- a/src/util/iputil/iputil_test.go +++ b/src/util/iputil/iputil_test.go @@ -2,10 +2,13 @@ package iputil import ( "fmt" + "net" "testing" + + "github.com/stretchr/testify/require" ) -func TestSplitAddr(t *testing.T) { +func TestIsLocalhost(t *testing.T) { testData := []struct { host string expected bool @@ -30,19 +33,33 @@ func TestSplitAddr(t *testing.T) { host: "85.56.12.34", expected: false, }, + { + host: "::1", + expected: true, + }, + { + host: "::", + expected: false, + }, + { + host: "2001:0db8:85a3:0000:0000:8a2e:0370:7334", + expected: false, + }, + { + host: "", + expected: false, + }, } - for _, test := range testData { - actual := IsLocalhost(test.host) - - if test.expected != actual { - t.Errorf("Expected %t is not equal to actual %t for host %s", - test.expected, actual, test.host) - } + for _, tc := range testData { + t.Run(tc.host, func(t *testing.T) { + actual := IsLocalhost(tc.host) + require.Equal(t, tc.expected, actual) + }) } } -func TestIsLocalhost(t *testing.T) { +func TestSplitAddr(t *testing.T) { testData := []struct { input string host string @@ -53,46 +70,55 @@ func TestIsLocalhost(t *testing.T) { input: "0.0.0.0:8888", host: "0.0.0.0", port: 8888, - err: nil, }, { input: "0.0.0.0:", - host: "0.0.0.0", err: fmt.Errorf("Invalid port in %s", "0.0.0.0:"), }, + { + input: "0.0.0.0:x", + err: fmt.Errorf("Invalid port in %s", "0.0.0.0:x"), + }, { input: ":9999", - port: 9999, - err: fmt.Errorf("Invalid port in %s", ":9999"), + err: fmt.Errorf("IP missing from %s", ":9999"), }, { input: "127.0.0.1", - host: "127.0.0.1", - err: fmt.Errorf("Invalid addr %s", "127.0.0.1"), + err: &net.AddrError{ + Err: "missing port in address", + Addr: "127.0.0.1", + }, + }, + { + input: "[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:1234", + host: "2001:0db8:85a3:0000:0000:8a2e:0370:7334", + port: 1234, + }, + { + input: "[::]:1234", + host: "::", + port: 1234, + }, + { + input: "[::]:x", + err: fmt.Errorf("Invalid port in %s", "[::]:x"), }, } - for _, test := range testData { - addr, port, err := SplitAddr(test.input) - - if test.err == nil && err != nil { - t.Errorf("Unexpected error %v", err) - return - } + for _, tc := range testData { + t.Run(tc.input, func(t *testing.T) { + addr, port, err := SplitAddr(tc.input) - if test.err != nil && err != nil && err.Error() != test.err.Error() { - t.Errorf("Expected error %v, actual %v", test.err, err) - return - } + if tc.err != nil { + require.Equal(t, tc.err, err) + return + } - if addr != test.host { - t.Errorf("Wrong host, expected %s actual %s", test.host, addr) - return - } + require.NoError(t, err) - if port != test.port { - t.Errorf("Wrong port, expected %d actual %d", test.port, port) - return - } + require.Equal(t, tc.host, addr) + require.Equal(t, tc.port, port) + }) } } diff --git a/src/visor/blockchain.go b/src/visor/blockchain.go index b96b582..a01e332 100755 --- a/src/visor/blockchain.go +++ b/src/visor/blockchain.go @@ -5,12 +5,12 @@ import ( "errors" "sync" - "github.com/boltdb/bolt" - "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/util/fee" "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" + "github.com/skycoin/skycoin/src/visor/historydb" ) const ( @@ -18,9 +18,11 @@ const ( DebugLevel1 = true // DebugLevel2 enable checks for impossible conditions DebugLevel2 = true +) - // SigVerifyTheadNum signature verifycation goroutine number - SigVerifyTheadNum = 4 +var ( + // ErrVerifyStopped is returned when database verification is interrupted + ErrVerifyStopped = errors.New("database verification stopped") ) //Warning: 10e6 is 10 million, 1e6 is 1 million @@ -43,201 +45,232 @@ const ( // chainStore type chainStore interface { - Head() (*coin.SignedBlock, error) // returns head block - HeadSeq() uint64 // returns head block sequence - Len() uint64 // returns blockchain lenght - AddBlockWithTx(tx *bolt.Tx, b *coin.SignedBlock) error - GetBlockByHash(hash cipher.SHA256) (*coin.SignedBlock, error) - GetBlockBySeq(seq uint64) (*coin.SignedBlock, error) - UnspentPool() blockdb.UnspentPool - GetGenesisBlock() *coin.SignedBlock + Head(*dbutil.Tx) (*coin.SignedBlock, error) + HeadSeq(*dbutil.Tx) (uint64, bool, error) + Len(*dbutil.Tx) (uint64, error) + AddBlock(*dbutil.Tx, *coin.SignedBlock) error + GetBlockByHash(*dbutil.Tx, cipher.SHA256) (*coin.Block, error) + GetSignedBlockByHash(*dbutil.Tx, cipher.SHA256) (*coin.SignedBlock, error) + GetSignedBlockBySeq(*dbutil.Tx, uint64) (*coin.SignedBlock, error) + UnspentPool() blockdb.UnspentPooler + GetGenesisBlock(*dbutil.Tx) (*coin.SignedBlock, error) + GetBlockSignature(*dbutil.Tx, *coin.Block) (cipher.Sig, bool, error) + ForEachBlock(*dbutil.Tx, func(*coin.Block) error) error +} + +// DefaultWalker default blockchain walker +func DefaultWalker(tx *dbutil.Tx, hps []coin.HashPair) (cipher.SHA256, bool) { + if len(hps) == 0 { + return cipher.SHA256{}, false + } + return hps[0].Hash, true } -// BlockListener notify the register when new block is appended to the chain -type BlockListener func(b coin.Block) +// CreateBuckets creates the buckets used by the blockdb +func CreateBuckets(db *dbutil.DB) error { + return db.Update("CreateBuckets", func(tx *dbutil.Tx) error { + if err := historydb.CreateBuckets(tx); err != nil { + return err + } -// Blockchain maintains blockchain and provides apis for accessing the chain. -type Blockchain struct { - db *bolt.DB - pubkey cipher.PubKey - blkListener []BlockListener + if err := blockdb.CreateBuckets(tx); err != nil { + return err + } - // arbitrating mode, if in arbitrating mode, when master node execute blocks, + return dbutil.CreateBuckets(tx, [][]byte{ + UnconfirmedTxnsBkt, + UnconfirmedUnspentsBkt, + }) + }) +} + +// BlockchainConfig configures Blockchain options +type BlockchainConfig struct { + // Arbitrating mode: if in arbitrating mode, when master node execute blocks, // the invalid transaction will be skipped and continue the next; otherwise, // node will throw the error and return. - arbitrating bool - store chainStore + Arbitrating bool + Pubkey cipher.PubKey } -// Option represents the option when creating the blockchain -type Option func(*Blockchain) - -// DefaultWalker default blockchain walker -func DefaultWalker(hps []coin.HashPair) cipher.SHA256 { - return hps[0].Hash +// Blockchain maintains blockchain and provides apis for accessing the chain. +type Blockchain struct { + db *dbutil.DB + cfg BlockchainConfig + store chainStore } -// NewBlockchain use the walker go through the tree and update the head and unspent outputs. -func NewBlockchain(db *bolt.DB, pubkey cipher.PubKey, ops ...Option) (*Blockchain, error) { +// NewBlockchain creates a Blockchain +func NewBlockchain(db *dbutil.DB, cfg BlockchainConfig) (*Blockchain, error) { chainstore, err := blockdb.NewBlockchain(db, DefaultWalker) if err != nil { return nil, err } - bc := &Blockchain{ - db: db, - pubkey: pubkey, - store: chainstore, - } - - for _, op := range ops { - op(bc) - } - - // verify signature - if err := bc.verifySigs(); err != nil { - return nil, err - } - - return bc, nil -} - -// Arbitrating option to change the mode -func Arbitrating(enable bool) Option { - return func(bc *Blockchain) { - bc.arbitrating = enable - } + return &Blockchain{ + cfg: cfg, + db: db, + store: chainstore, + }, nil } // GetGenesisBlock returns genesis block -func (bc *Blockchain) GetGenesisBlock() *coin.SignedBlock { - return bc.store.GetGenesisBlock() +func (bc *Blockchain) GetGenesisBlock(tx *dbutil.Tx) (*coin.SignedBlock, error) { + return bc.store.GetGenesisBlock(tx) } -// GetBlockByHash returns block of given hash -func (bc *Blockchain) GetBlockByHash(hash cipher.SHA256) (*coin.SignedBlock, error) { - return bc.store.GetBlockByHash(hash) +// GetSignedBlockByHash returns block of given hash +func (bc *Blockchain) GetSignedBlockByHash(tx *dbutil.Tx, hash cipher.SHA256) (*coin.SignedBlock, error) { + return bc.store.GetSignedBlockByHash(tx, hash) } -// GetBlockBySeq returns block of given seq -func (bc *Blockchain) GetBlockBySeq(seq uint64) (*coin.SignedBlock, error) { - return bc.store.GetBlockBySeq(seq) +// GetSignedBlockBySeq returns block of given seq +func (bc *Blockchain) GetSignedBlockBySeq(tx *dbutil.Tx, seq uint64) (*coin.SignedBlock, error) { + return bc.store.GetSignedBlockBySeq(tx, seq) } -func (bc *Blockchain) processBlock(b coin.SignedBlock) (coin.SignedBlock, error) { - if bc.Len() > 0 { - if !bc.isGenesisBlock(b.Block) { - if err := bc.verifyBlockHeader(b.Block); err != nil { - return coin.SignedBlock{}, err - } - - txns, err := bc.processTransactions(b.Body.Transactions) - if err != nil { - return coin.SignedBlock{}, err - } - b.Body.Transactions = txns - - if err := bc.verifyUxHash(b.Block); err != nil { - return coin.SignedBlock{}, err - } - - } - } - - return b, nil +// Head returns the most recent confirmed block +func (bc Blockchain) Head(tx *dbutil.Tx) (*coin.SignedBlock, error) { + return bc.store.Head(tx) } // Unspent returns the unspent outputs pool -func (bc *Blockchain) Unspent() blockdb.UnspentPool { +func (bc *Blockchain) Unspent() blockdb.UnspentPooler { return bc.store.UnspentPool() } // Len returns the length of current blockchain. -func (bc Blockchain) Len() uint64 { - return bc.store.Len() -} - -// Head returns the most recent confirmed block -func (bc Blockchain) Head() (*coin.SignedBlock, error) { - return bc.store.Head() +func (bc Blockchain) Len(tx *dbutil.Tx) (uint64, error) { + return bc.store.Len(tx) } // HeadSeq returns the sequence of head block -func (bc *Blockchain) HeadSeq() uint64 { - return bc.store.HeadSeq() +func (bc *Blockchain) HeadSeq(tx *dbutil.Tx) (uint64, bool, error) { + return bc.store.HeadSeq(tx) } // Time returns time of last block // used as system clock indepedent clock for coin hour calculations // TODO: Deprecate -func (bc *Blockchain) Time() uint64 { - b, err := bc.Head() +func (bc *Blockchain) Time(tx *dbutil.Tx) (uint64, error) { + b, err := bc.Head(tx) if err != nil { - return 0 + if err == blockdb.ErrNoHeadBlock { + return 0, nil + } + return 0, err } - return b.Time() + return b.Time(), nil } // NewBlock creates a Block given an array of Transactions. // Only hard constraints are applied to transactions in the block. // The caller of this function should apply any additional soft constraints, // and choose which transactions to place into the block. -func (bc Blockchain) NewBlock(txns coin.Transactions, currentTime uint64) (*coin.Block, error) { - if currentTime <= bc.Time() { - return nil, errors.New("Time can only move forward") - } - +func (bc Blockchain) NewBlock(tx *dbutil.Tx, txns coin.Transactions, currentTime uint64) (*coin.Block, error) { if len(txns) == 0 { return nil, errors.New("No transactions") } - txns, err := bc.processTransactions(txns) + + head, err := bc.store.Head(tx) if err != nil { return nil, err } - uxHash := bc.Unspent().GetUxHash() - head, err := bc.Head() + if currentTime <= head.Time() { + return nil, errors.New("Time can only move forward") + } + + txns, err = bc.processTransactions(tx, txns) if err != nil { return nil, err } - b, err := coin.NewBlock(head.Block, currentTime, uxHash, txns, bc.TransactionFee) + uxHash, err := bc.Unspent().GetUxHash(tx) if err != nil { return nil, err } - //make sure block is valid + feeCalc := bc.TransactionFee(tx, head.Time()) + + b, err := coin.NewBlock(head.Block, currentTime, uxHash, txns, feeCalc) + if err != nil { + return nil, err + } + + // make sure block is valid if DebugLevel2 == true { - if err := bc.verifyBlockHeader(*b); err != nil { + if err := bc.verifyBlockHeader(tx, *b); err != nil { return nil, err } - txns, err := bc.processTransactions(b.Body.Transactions) + txns, err := bc.processTransactions(tx, b.Body.Transactions) if err != nil { - logger.Panic("Impossible Error: not allowed to fail") + logger.Panicf("bc.processTransactions second verification call failed: %v", err) } b.Body.Transactions = txns } return b, nil } -// ExecuteBlockWithTx attempts to append block to blockchain with *bolt.Tx -func (bc *Blockchain) ExecuteBlockWithTx(tx *bolt.Tx, sb *coin.SignedBlock) error { - if bc.Len() > 0 { - head, err := bc.Head() +func (bc *Blockchain) processBlock(tx *dbutil.Tx, b coin.SignedBlock) (coin.SignedBlock, error) { + length, err := bc.Len(tx) + if err != nil { + return coin.SignedBlock{}, err + } + + if length > 0 { + if isGenesis, err := bc.isGenesisBlock(tx, b.Block); err != nil { + return coin.SignedBlock{}, err + } else if isGenesis { + err := errors.New("Attempted to process genesis block after blockchain has genesis block") + logger.Warning(err.Error()) + return coin.SignedBlock{}, err + } else { + if err := bc.verifyBlockHeader(tx, b.Block); err != nil { + return coin.SignedBlock{}, err + } + + txns, err := bc.processTransactions(tx, b.Body.Transactions) + if err != nil { + return coin.SignedBlock{}, err + } + + b.Body.Transactions = txns + + if err := bc.verifyUxHash(tx, b.Block); err != nil { + return coin.SignedBlock{}, err + } + + } + } + + return b, nil +} + +// ExecuteBlock attempts to append block to blockchain with *dbutil.Tx +func (bc *Blockchain) ExecuteBlock(tx *dbutil.Tx, sb *coin.SignedBlock) error { + length, err := bc.Len(tx) + if err != nil { + return err + } + + if length > 0 { + head, err := bc.Head(tx) if err != nil { return err } + // TODO -- why do we modify the block here? sb.Head.PrevHash = head.HashHeader() } - nb, err := bc.processBlock(*sb) + nb, err := bc.processBlock(tx, *sb) if err != nil { return err } - if err := bc.store.AddBlockWithTx(tx, &nb); err != nil { + if err := bc.store.AddBlock(tx, &nb); err != nil { return err } @@ -245,32 +278,39 @@ func (bc *Blockchain) ExecuteBlockWithTx(tx *bolt.Tx, sb *coin.SignedBlock) erro } // isGenesisBlock checks if the block is genesis block -func (bc Blockchain) isGenesisBlock(b coin.Block) bool { - gb := bc.store.GetGenesisBlock() +func (bc Blockchain) isGenesisBlock(tx *dbutil.Tx, b coin.Block) (bool, error) { + gb, err := bc.store.GetGenesisBlock(tx) + if err != nil { + return false, err + } if gb == nil { - return false + return false, nil } - return gb.HashHeader() == b.HashHeader() + return gb.HashHeader() == b.HashHeader(), nil } // Compares the state of the current UxHash hash to state of unspent // output pool. -func (bc Blockchain) verifyUxHash(b coin.Block) error { - uxHash := bc.Unspent().GetUxHash() +func (bc Blockchain) verifyUxHash(tx *dbutil.Tx, b coin.Block) error { + uxHash, err := bc.Unspent().GetUxHash(tx) + if err != nil { + return err + } if !bytes.Equal(b.Head.UxHash[:], uxHash[:]) { return errors.New("UxHash does not match") } + return nil } // VerifyBlockTxnConstraints checks that the transaction does not violate hard constraints, // for transactions that are already included in a block. -func (bc Blockchain) VerifyBlockTxnConstraints(tx coin.Transaction) error { - // NOTE: Unspent().GetArray() returns an error if not all tx.In can be found +func (bc Blockchain) VerifyBlockTxnConstraints(tx *dbutil.Tx, txn coin.Transaction) error { + // NOTE: Unspent().GetArray() returns an error if not all txn.In can be found // This prevents double spends - uxIn, err := bc.Unspent().GetArray(tx.In) + uxIn, err := bc.Unspent().GetArray(tx, txn.In) if err != nil { switch err.(type) { case blockdb.ErrUnspentNotExist: @@ -280,16 +320,16 @@ func (bc Blockchain) VerifyBlockTxnConstraints(tx coin.Transaction) error { } } - head, err := bc.Head() + head, err := bc.Head(tx) if err != nil { return err } - return bc.verifyBlockTxnHardConstraints(tx, head, uxIn) + return bc.verifyBlockTxnHardConstraints(tx, txn, head, uxIn) } -func (bc Blockchain) verifyBlockTxnHardConstraints(tx coin.Transaction, head *coin.SignedBlock, uxIn coin.UxArray) error { - if err := VerifyBlockTxnConstraints(tx, head, uxIn); err != nil { +func (bc Blockchain) verifyBlockTxnHardConstraints(tx *dbutil.Tx, txn coin.Transaction, head *coin.SignedBlock, uxIn coin.UxArray) error { + if err := VerifyBlockTxnConstraints(txn, head, uxIn); err != nil { return err } @@ -300,9 +340,11 @@ func (bc Blockchain) verifyBlockTxnHardConstraints(tx coin.Transaction, head *co // because it relies on the unspent pool to check for existence. // For remote callers such as the CLI, they'd need to download the whole // unspent pool or make a separate API call to check for duplicate unspents. - uxOut := coin.CreateUnspents(head.Head, tx) + uxOut := coin.CreateUnspents(head.Head, txn) for i := range uxOut { - if bc.Unspent().Contains(uxOut[i].Hash()) { + if contains, err := bc.Unspent().Contains(tx, uxOut[i].Hash()); err != nil { + return err + } else if contains { err := errors.New("New unspent collides with existing unspent") return NewErrTxnViolatesHardConstraint(err) } @@ -314,10 +356,10 @@ func (bc Blockchain) verifyBlockTxnHardConstraints(tx coin.Transaction, head *co // VerifySingleTxnHardConstraints checks that the transaction does not violate hard constraints. // for transactions that are not included in a block. -func (bc Blockchain) VerifySingleTxnHardConstraints(tx coin.Transaction) error { - // NOTE: Unspent().GetArray() returns an error if not all tx.In can be found +func (bc Blockchain) VerifySingleTxnHardConstraints(tx *dbutil.Tx, txn coin.Transaction) error { + // NOTE: Unspent().GetArray() returns an error if not all txn.In can be found // This prevents double spends - uxIn, err := bc.Unspent().GetArray(tx.In) + uxIn, err := bc.Unspent().GetArray(tx, txn.In) if err != nil { switch err.(type) { case blockdb.ErrUnspentNotExist: @@ -327,40 +369,40 @@ func (bc Blockchain) VerifySingleTxnHardConstraints(tx coin.Transaction) error { } } - head, err := bc.Head() + head, err := bc.Head(tx) if err != nil { return err } - return bc.verifySingleTxnHardConstraints(tx, head, uxIn) + return bc.verifySingleTxnHardConstraints(tx, txn, head, uxIn) } -// VerifySingleTxnAllConstraints checks that the transaction does not violate hard or soft constraints, +// VerifySingleTxnSoftHardConstraints checks that the transaction does not violate hard or soft constraints, // for transactions that are not included in a block. // Hard constraints are checked before soft constraints. -func (bc Blockchain) VerifySingleTxnAllConstraints(tx coin.Transaction, maxSize int) error { - // NOTE: Unspent().GetArray() returns an error if not all tx.In can be found +func (bc Blockchain) VerifySingleTxnSoftHardConstraints(tx *dbutil.Tx, txn coin.Transaction, maxSize int) error { + // NOTE: Unspent().GetArray() returns an error if not all txn.In can be found // This prevents double spends - uxIn, err := bc.Unspent().GetArray(tx.In) + uxIn, err := bc.Unspent().GetArray(tx, txn.In) if err != nil { return NewErrTxnViolatesHardConstraint(err) } - head, err := bc.Head() + head, err := bc.Head(tx) if err != nil { return err } // Hard constraints must be checked before soft constraints - if err := bc.verifySingleTxnHardConstraints(tx, head, uxIn); err != nil { + if err := bc.verifySingleTxnHardConstraints(tx, txn, head, uxIn); err != nil { return err } - return VerifySingleTxnSoftConstraints(tx, head.Time(), uxIn, maxSize) + return VerifySingleTxnSoftConstraints(txn, head.Time(), uxIn, maxSize) } -func (bc Blockchain) verifySingleTxnHardConstraints(tx coin.Transaction, head *coin.SignedBlock, uxIn coin.UxArray) error { - if err := VerifySingleTxnHardConstraints(tx, head, uxIn); err != nil { +func (bc Blockchain) verifySingleTxnHardConstraints(tx *dbutil.Tx, txn coin.Transaction, head *coin.SignedBlock, uxIn coin.UxArray) error { + if err := VerifySingleTxnHardConstraints(txn, head, uxIn); err != nil { return err } @@ -371,9 +413,11 @@ func (bc Blockchain) verifySingleTxnHardConstraints(tx coin.Transaction, head *c // because it relies on the unspent pool to check for existence. // For remote callers such as the CLI, they'd need to download the whole // unspent pool or make a separate API call to check for duplicate unspents. - uxOut := coin.CreateUnspents(head.Head, tx) + uxOut := coin.CreateUnspents(head.Head, txn) for i := range uxOut { - if bc.Unspent().Contains(uxOut[i].Hash()) { + if contains, err := bc.Unspent().Contains(tx, uxOut[i].Hash()); err != nil { + return err + } else if contains { err := errors.New("New unspent collides with existing unspent") return NewErrTxnViolatesHardConstraint(err) } @@ -384,15 +428,16 @@ func (bc Blockchain) verifySingleTxnHardConstraints(tx coin.Transaction, head *c } // GetBlocks return blocks whose seq are in the range of start and end. -func (bc Blockchain) GetBlocks(start, end uint64) ([]coin.SignedBlock, error) { +func (bc Blockchain) GetBlocks(tx *dbutil.Tx, start, end uint64) ([]coin.SignedBlock, error) { if start > end { return nil, nil } var blocks []coin.SignedBlock for i := start; i <= end; i++ { - b, err := bc.store.GetBlockBySeq(i) + b, err := bc.store.GetSignedBlockBySeq(tx, i) if err != nil { + logger.WithError(err).Error("bc.store.GetBlockBySeq failed") return nil, err } @@ -407,17 +452,25 @@ func (bc Blockchain) GetBlocks(start, end uint64) ([]coin.SignedBlock, error) { } // GetLastBlocks return the latest N blocks. -func (bc Blockchain) GetLastBlocks(num uint64) ([]coin.SignedBlock, error) { +func (bc Blockchain) GetLastBlocks(tx *dbutil.Tx, num uint64) ([]coin.SignedBlock, error) { if num == 0 { return nil, nil } - end := bc.HeadSeq() + end, ok, err := bc.HeadSeq(tx) + if err != nil { + return nil, err + } + if !ok { + return nil, nil + } + start := int(end-num) + 1 if start < 0 { start = 0 } - return bc.GetBlocks(uint64(start), end) + + return bc.GetBlocks(tx, uint64(start), end) } /* Private */ @@ -432,71 +485,84 @@ func (bc Blockchain) GetLastBlocks(num uint64) ([]coin.SignedBlock, error) { // TODO: // - move arbitration to visor // - blockchain should have strict checking -func (bc Blockchain) processTransactions(txs coin.Transactions) (coin.Transactions, error) { - // copy txs so that the following code won't modify the origianl txs +func (bc Blockchain) processTransactions(tx *dbutil.Tx, txs coin.Transactions) (coin.Transactions, error) { + // copy txs so that the following code won't modify the original txns txns := make(coin.Transactions, len(txs)) copy(txns, txs) + head, err := bc.store.Head(tx) + if err != nil { + return nil, err + } + // Transactions need to be sorted by fee and hash before arbitrating - if bc.arbitrating { - txns = coin.SortTransactions(txns, bc.TransactionFee) + if bc.cfg.Arbitrating { + txns = coin.SortTransactions(txns, bc.TransactionFee(tx, head.Time())) } + //TODO: audit if len(txns) == 0 { - if bc.arbitrating { + if bc.cfg.Arbitrating { return txns, nil } + // If there are no transactions, a block should not be made return nil, errors.New("No transactions") } skip := make(map[int]struct{}) uxHashes := make(coin.UxHashSet, len(txns)) - for i, tx := range txns { + for i, txn := range txns { // Check the transaction against itself. This covers the hash, // signature indices and duplicate spends within itself - err := bc.VerifyBlockTxnConstraints(tx) - if err != nil { - if bc.arbitrating { - skip[i] = struct{}{} - continue - } else { - return nil, err + if err := bc.VerifyBlockTxnConstraints(tx, txn); err != nil { + switch err.(type) { + case ErrTxnViolatesHardConstraint, ErrTxnViolatesSoftConstraint: + if bc.cfg.Arbitrating { + skip[i] = struct{}{} + continue + } } + + return nil, err } // Check that each pending unspent will be unique uxb := coin.UxBody{ - SrcTransaction: tx.Hash(), + SrcTransaction: txn.Hash(), } - for _, to := range tx.Out { + + for _, to := range txn.Out { uxb.Coins = to.Coins uxb.Hours = to.Hours uxb.Address = to.Address + h := uxb.Hash() _, exists := uxHashes[h] if exists { - if bc.arbitrating { + if bc.cfg.Arbitrating { skip[i] = struct{}{} continue } else { - m := "Duplicate unspent output across transactions" - return nil, errors.New(m) + return nil, errors.New("Duplicate unspent output across transactions") } } + if DebugLevel1 { // Check that the expected unspent is not already in the pool. // This should never happen because its a hash collision - if bc.Unspent().Contains(h) { - if bc.arbitrating { + if contains, err := bc.Unspent().Contains(tx, h); err != nil { + return nil, err + } else if contains { + if bc.cfg.Arbitrating { skip[i] = struct{}{} continue } else { - m := "Output hash is in the UnspentPool" - return nil, errors.New(m) + return nil, errors.New("Output hash is in the UnspentPool") } } } + uxHashes[h] = struct{}{} } } @@ -536,15 +602,14 @@ func (bc Blockchain) processTransactions(txs coin.Transactions) (coin.Transactio for a := range s.In { for b := range t.In { if s.In[a] == t.In[b] { - if bc.arbitrating { + if bc.cfg.Arbitrating { // The txn with the highest fee and lowest hash // is chosen when attempting a double spend. // Since the txns are sorted, we skip the 2nd // iterable skip[j] = struct{}{} } else { - m := "Cannot spend output twice in the same block" - return nil, errors.New(m) + return nil, errors.New("Cannot spend output twice in the same block") } } } @@ -567,94 +632,155 @@ func (bc Blockchain) processTransactions(txs coin.Transactions) (coin.Transactio } // TransactionFee calculates the current transaction fee in coinhours of a Transaction -func (bc Blockchain) TransactionFee(t *coin.Transaction) (uint64, error) { - headTime := bc.Time() - inUxs, err := bc.Unspent().GetArray(t.In) - if err != nil { - return 0, err - } +func (bc Blockchain) TransactionFee(tx *dbutil.Tx, headTime uint64) coin.FeeCalculator { + return func(txn *coin.Transaction) (uint64, error) { + inUxs, err := bc.Unspent().GetArray(tx, txn.In) + if err != nil { + return 0, err + } - return fee.TransactionFee(t, headTime, inUxs) + return fee.TransactionFee(txn, headTime, inUxs) + } } -// verifySigs checks that BlockSigs state correspond with coin.Blockchain state +// VerifySignature checks that BlockSigs state correspond with coin.Blockchain state // and that all signatures are valid. -func (bc *Blockchain) verifySigs() error { - if bc.Len() == 0 { - return nil - } - - head, err := bc.Head() +func (bc *Blockchain) VerifySignature(block *coin.SignedBlock) error { + err := cipher.VerifySignature(bc.cfg.Pubkey, block.Sig, block.HashHeader()) if err != nil { - return err - } - - seqC := make(chan uint64) + logger.Errorf("Signature verification failed: %v", err) + } + return err +} + +// WalkChain walk through the blockchain concurrently +// The quit channel is optional and if closed, this method still stop. +func (bc *Blockchain) WalkChain(workers int, f func(*dbutil.Tx, *coin.SignedBlock) error, quit chan struct{}) error { + if quit == nil { + quit = make(chan struct{}) + } + + signedBlockC := make(chan *coin.SignedBlock, 100) + errC := make(chan error, 100) + interrupt := make(chan struct{}) + verifyDone := make(chan struct{}) + + // Verify block signatures in a worker pool + var workerWg sync.WaitGroup + workerWg.Add(workers) + for i := 0; i < workers; i++ { + go func() { + defer workerWg.Done() + bc.db.View("WalkChain verify blocks", func(tx *dbutil.Tx) error { + for { + select { + case b, ok := <-signedBlockC: + if !ok { + return nil + } - shutdown, errC := bc.sigVerifier(seqC) + if err := f(tx, b); err != nil { + // if err := cipher.VerifySignature(bc.cfg.Pubkey, sh.sig, sh.hash); err != nil { + // logger.Errorf("Signature verification failed: %v", err) + select { + case errC <- err: + default: + } + } + } + } + }) + }() + } + + // Wait for verification worker goroutines to finish + var wg sync.WaitGroup + wg.Add(1) + go func() { + defer wg.Done() + workerWg.Wait() + close(verifyDone) + }() + + // Iterate all blocks stored in the "blocks" bucket + // * Detect if a corresponding signature is missing from the signatures bucket + // * Verify the signature for the block + wg.Add(1) + go func() { + bc.db.View("WalkChain get blocks", func(tx *dbutil.Tx) error { + if length, err := bc.Len(tx); err != nil { + return err + } else if length == 0 { + return nil + } + defer wg.Done() + defer close(signedBlockC) - for i := uint64(0); i <= head.Seq(); i++ { - seqC <- i - } + errInterrupted := errors.New("goroutine was stopped") - shutdown() + if err := bc.store.ForEachBlock(tx, func(block *coin.Block) error { + sig, ok, err := bc.store.GetBlockSignature(tx, block) + if err != nil { + return err + } + if !ok { + return blockdb.NewErrMissingSignature(block) + } - return <-errC -} + signedBlock := &coin.SignedBlock{ + Sig: sig, + Block: *block, + } -// signature verifier will get block seq from seqC channel, -// and have multiple thread to do signature verification. -func (bc *Blockchain) sigVerifier(seqC chan uint64) (func(), <-chan error) { - quitC := make(chan struct{}) - wg := sync.WaitGroup{} - errC := make(chan error, 1) - for i := 0; i < SigVerifyTheadNum; i++ { - wg.Add(1) - go func(id int) { - defer wg.Done() - for { select { - case seq := <-seqC: - if err := bc.verifyBlockSig(seq); err != nil { - errC <- err - return - } - case <-quitC: - return + case signedBlockC <- signedBlock: + return nil + case <-quit: + return errInterrupted + case <-interrupt: + return errInterrupted + } + }); err != nil && err != errInterrupted { + switch err.(type) { + case blockdb.ErrMissingSignature: + default: + logger.Errorf("bc.store.ForEachBlock failed: %v", err) + } + select { + case errC <- err: + default: } } - }(i) - } + return nil + }) + }() - return func() { - close(quitC) - wg.Wait() - select { - case errC <- nil: - // no error - default: - // already has error in errC + var err error + select { + case err = <-errC: + if err != nil { + break } - }, errC -} - -func (bc *Blockchain) verifyBlockSig(seq uint64) error { - sb, err := bc.store.GetBlockBySeq(seq) - if err != nil { - return err + case <-quit: + err = ErrVerifyStopped + break + case <-verifyDone: + break } - return sb.VerifySignature(bc.pubkey) + close(interrupt) + wg.Wait() + return err } // VerifyBlockHeader Returns error if the BlockHeader is not valid -func (bc Blockchain) verifyBlockHeader(b coin.Block) error { - //check BkSeq - head, err := bc.Head() +func (bc Blockchain) verifyBlockHeader(tx *dbutil.Tx, b coin.Block) error { + head, err := bc.Head(tx) if err != nil { return err } + //check BkSeq if b.Head.BkSeq != head.Head.BkSeq+1 { return errors.New("BkSeq invalid") } @@ -671,20 +797,3 @@ func (bc Blockchain) verifyBlockHeader(b coin.Block) error { } return nil } - -// BindListener register the listener to blockchain, when new block appended, the listener will be invoked. -func (bc *Blockchain) BindListener(ls BlockListener) { - bc.blkListener = append(bc.blkListener, ls) -} - -// Notify notifies the listener the new block. -func (bc *Blockchain) Notify(b coin.Block) { - for _, l := range bc.blkListener { - l(b) - } -} - -// UpdateDB updates db with given func -func (bc *Blockchain) UpdateDB(f func(t *bolt.Tx) error) error { - return bc.db.Update(f) -} diff --git a/src/visor/blockchain_parser.go b/src/visor/blockchain_parser.go deleted file mode 100755 index 1249f3f..0000000 --- a/src/visor/blockchain_parser.go +++ /dev/null @@ -1,99 +0,0 @@ -package visor - -import ( - "fmt" - - "github.com/skycoin/skycoin/src/coin" - "github.com/skycoin/skycoin/src/visor/historydb" -) - -// ParserOption option type which will be used when creating parser instance -type ParserOption func(*BlockchainParser) - -// BlockchainParser parses the blockchain and stores the data into historydb. -type BlockchainParser struct { - historyDB historyer - blkC chan coin.Block - quit chan struct{} - done chan struct{} - bc Blockchainer - - isStart bool -} - -// NewBlockchainParser create and init the parser instance. -func NewBlockchainParser(hisDB *historydb.HistoryDB, bc *Blockchain, ops ...ParserOption) *BlockchainParser { - bp := &BlockchainParser{ - bc: bc, - historyDB: hisDB, - quit: make(chan struct{}), - done: make(chan struct{}), - blkC: make(chan coin.Block, 10), - } - - for _, op := range ops { - op(bp) - } - - return bp -} - -// FeedBlock feeds block to the parser -func (bcp *BlockchainParser) FeedBlock(b coin.Block) { - bcp.blkC <- b -} - -// Run starts blockchain parser -func (bcp *BlockchainParser) Run() error { - logger.Info("Blockchain parser start") - defer close(bcp.done) - defer logger.Info("Blockchain parser closed") - - if err := bcp.historyDB.ResetIfNeed(); err != nil { - return err - } - - // parse to the blockchain head - headSeq := bcp.bc.HeadSeq() - if err := bcp.parseTo(headSeq); err != nil { - return err - } - - for { - select { - case <-bcp.quit: - return nil - case b := <-bcp.blkC: - if err := bcp.historyDB.ParseBlock(&b); err != nil { - return err - } - } - } -} - -// Shutdown close the block parsing process. -func (bcp *BlockchainParser) Shutdown() { - close(bcp.quit) - <-bcp.done -} - -func (bcp *BlockchainParser) parseTo(bcHeight uint64) error { - parsedHeight := bcp.historyDB.ParsedHeight() - - for i := int64(0); i < int64(bcHeight)-parsedHeight; i++ { - b, err := bcp.bc.GetBlockBySeq(uint64(parsedHeight + i + 1)) - if err != nil { - return err - } - - if b == nil { - return fmt.Errorf("no block exist in depth:%d", parsedHeight+i+1) - } - - if err := bcp.historyDB.ParseBlock(&b.Block); err != nil { - return err - } - } - - return nil -} diff --git a/src/visor/blockchain_test.go b/src/visor/blockchain_test.go index 6b065e5..ad70683 100755 --- a/src/visor/blockchain_test.go +++ b/src/visor/blockchain_test.go @@ -6,13 +6,11 @@ import ( "github.com/stretchr/testify/require" - "github.com/boltdb/bolt" - "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/testutil" - "github.com/skycoin/skycoin/src/util/utc" "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" ) var ( @@ -23,36 +21,25 @@ var ( var genTime uint64 = 1000 var genCoins uint64 = 1000e6 -func tNow() uint64 { - return uint64(utc.UnixNow()) -} - func feeCalc(t *coin.Transaction) (uint64, error) { return 0, nil } -func makeFeeCalc(fee uint64) coin.FeeCalculator { - return func(t *coin.Transaction) (uint64, error) { - return fee, nil - } -} - -func addGenesisBlock(t *testing.T, bc Blockchainer) *coin.SignedBlock { +func addGenesisBlockToBlockchain(t *testing.T, bc *Blockchain) *coin.SignedBlock { // create genesis block gb, err := coin.NewGenesisBlock(genAddress, genCoins, genTime) require.NoError(t, err) gbSig := cipher.SignHash(gb.HashHeader(), genSecret) - bcc, ok := bc.(*Blockchain) - require.True(t, ok) - // add genesis block to blockchain - require.NoError(t, bcc.db.Update(func(tx *bolt.Tx) error { - return bcc.store.AddBlockWithTx(tx, &coin.SignedBlock{ + err = bc.db.Update("", func(tx *dbutil.Tx) error { + return bc.store.AddBlock(tx, &coin.SignedBlock{ Block: *gb, Sig: gbSig, }) - })) + }) + require.NoError(t, err) + return &coin.SignedBlock{ Block: *gb, Sig: gbSig, @@ -84,41 +71,50 @@ func makeSpendTx(t *testing.T, uxs coin.UxArray, keys []cipher.SecKey, toAddr ci /* Helpers */ type fakeChainStore struct { - len uint64 blocks []coin.SignedBlock - up blockdb.UnspentPool } -func (fcs fakeChainStore) Head() (*coin.SignedBlock, error) { +func (fcs *fakeChainStore) Head(tx *dbutil.Tx) (*coin.SignedBlock, error) { l := len(fcs.blocks) if l == 0 { - return nil, errors.New("no head block") + return nil, blockdb.ErrNoHeadBlock } return &fcs.blocks[l-1], nil } -func (fcs fakeChainStore) HeadSeq() uint64 { - h, err := fcs.Head() +func (fcs *fakeChainStore) HeadSeq(tx *dbutil.Tx) (uint64, bool, error) { + h, err := fcs.Head(tx) if err != nil { - return 0 + if err == blockdb.ErrNoHeadBlock { + return 0, false, nil + } + return 0, false, err } - return h.Seq() + return h.Seq(), true, nil } -func (fcs fakeChainStore) Len() uint64 { - return uint64(len(fcs.blocks)) +func (fcs *fakeChainStore) Len(tx *dbutil.Tx) (uint64, error) { + return uint64(len(fcs.blocks)), nil } -func (fcs fakeChainStore) AddBlockWithTx(tx *bolt.Tx, b *coin.SignedBlock) error { +func (fcs *fakeChainStore) AddBlock(tx *dbutil.Tx, b *coin.SignedBlock) error { return nil } -func (fcs fakeChainStore) GetBlockByHash(hash cipher.SHA256) (*coin.SignedBlock, error) { +func (fcs *fakeChainStore) GetBlockSignature(tx *dbutil.Tx, b *coin.Block) (cipher.Sig, bool, error) { + return cipher.Sig{}, false, nil +} + +func (fcs *fakeChainStore) GetBlockByHash(tx *dbutil.Tx, hash cipher.SHA256) (*coin.Block, error) { + return nil, nil +} + +func (fcs *fakeChainStore) GetSignedBlockByHash(tx *dbutil.Tx, hash cipher.SHA256) (*coin.SignedBlock, error) { return nil, nil } -func (fcs fakeChainStore) GetBlockBySeq(seq uint64) (*coin.SignedBlock, error) { +func (fcs *fakeChainStore) GetSignedBlockBySeq(tx *dbutil.Tx, seq uint64) (*coin.SignedBlock, error) { l := len(fcs.blocks) if seq >= uint64(l) { return nil, nil @@ -127,14 +123,18 @@ func (fcs fakeChainStore) GetBlockBySeq(seq uint64) (*coin.SignedBlock, error) { return &fcs.blocks[seq], nil } -func (fcs fakeChainStore) UnspentPool() blockdb.UnspentPool { +func (fcs *fakeChainStore) UnspentPool() blockdb.UnspentPooler { return nil } -func (fcs fakeChainStore) GetGenesisBlock() *coin.SignedBlock { +func (fcs *fakeChainStore) GetGenesisBlock(tx *dbutil.Tx) (*coin.SignedBlock, error) { if len(fcs.blocks) > 0 { - return &fcs.blocks[0] + return &fcs.blocks[0], nil } + return nil, nil +} + +func (fcs *fakeChainStore) ForEachBlock(tx *dbutil.Tx, f func(*coin.Block) error) error { return nil } @@ -188,11 +188,21 @@ func TestBlockchainTime(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + bc := Blockchain{ + db: db, store: tc.store, } - require.Equal(t, tc.time, bc.Time()) + err := db.View("", func(tx *dbutil.Tx) error { + tm, err := bc.Time(tx) + require.NoError(t, err) + require.Equal(t, tc.time, tm) + return nil + }) + require.NoError(t, err) }) } } @@ -235,7 +245,9 @@ func TestIsGenesisBlock(t *testing.T) { store: tc.store, } - require.Equal(t, tc.isGenesis, bc.isGenesisBlock(*tc.b)) + isGenesis, err := bc.isGenesisBlock(nil, *tc.b) + require.NoError(t, err) + require.Equal(t, tc.isGenesis, isGenesis) }) } } @@ -296,17 +308,26 @@ func TestVerifyBlockHeader(t *testing.T) { "empty blockchain", &fakeChainStore{}, coin.Block{}, - errors.New("no head block"), + blockdb.ErrNoHeadBlock, }, } for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - bc := Blockchain{ + db, closeDB := prepareDB(t) + defer closeDB() + + bc := &Blockchain{ + db: db, store: tc.store, } - err := bc.verifyBlockHeader(tc.b) - require.Equal(t, tc.err, err) + + err := db.View("", func(tx *dbutil.Tx) error { + err := bc.verifyBlockHeader(tx, tc.b) + require.Equal(t, tc.err, err) + return nil + }) + require.NoError(t, err) }) } } @@ -396,14 +417,22 @@ func TestGetBlocks(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + bc := Blockchain{ + db: db, store: tc.store, } - bs, err := bc.GetBlocks(tc.req.st, tc.req.ed) + err := db.View("", func(tx *dbutil.Tx) error { + bs, err := bc.GetBlocks(tx, tc.req.st, tc.req.ed) + require.NoError(t, err) + require.Equal(t, len(tc.expect), len(bs)) + require.Equal(t, tc.expect, bs) + return nil + }) require.NoError(t, err) - require.Equal(t, len(tc.expect), len(bs)) - require.Equal(t, tc.expect, bs) }) } } @@ -450,15 +479,37 @@ func TestGetLastBlocks(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + bc := Blockchain{ + db: db, store: tc.store, } - bs, err := bc.GetLastBlocks(tc.n) + err := db.View("", func(tx *dbutil.Tx) error { + bs, err := bc.GetLastBlocks(tx, tc.n) + require.NoError(t, err) + require.Equal(t, tc.expect, bs) + return nil + }) require.NoError(t, err) - require.Equal(t, tc.expect, bs) }) } + +} + +// newBlock calls bc.NewBlock in a dbutil.Tx +func newBlock(t *testing.T, bc *Blockchain, txn coin.Transaction, timestamp uint64) *coin.Block { + var b *coin.Block + err := bc.db.View("", func(tx *dbutil.Tx) error { + var err error + b, err = bc.NewBlock(tx, coin.Transactions{txn}, timestamp) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + return b } type spending struct { @@ -545,7 +596,7 @@ func TestProcessTransactions(t *testing.T) { errors.New("Cannot spend output twice in the same block"), }, { - "arbitratint no transactions", + "arbitrating no transactions", true, []spending{}, []spending{}, @@ -593,37 +644,42 @@ func TestProcessTransactions(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { // create test db - db, closeDB := testutil.PrepareDB(t) + db, closeDB := prepareDB(t) defer closeDB() + err := CreateBuckets(db) + require.NoError(t, err) + // create chain store store, err := blockdb.NewBlockchain(db, DefaultWalker) require.NoError(t, err) // create Blockchain bc := &Blockchain{ - arbitrating: tc.arbitrating, - db: db, - store: store, + cfg: BlockchainConfig{ + Arbitrating: tc.arbitrating, + }, + db: db, + store: store, } // init chain - head := addGenesisBlock(t, bc) + head := addGenesisBlockToBlockchain(t, bc) tm := head.Time() for i, spend := range tc.initChain { uxs := coin.CreateUnspents(head.Head, head.Body.Transactions[spend.TxIndex]) tx := makeSpendTx(t, coin.UxArray{uxs[spend.UxIndex]}, spend.Keys, spend.ToAddr, spend.Coins) - b, err := bc.NewBlock(coin.Transactions{tx}, tm+uint64(i*100)) - require.NoError(t, err) + b := newBlock(t, bc, tx, tm+uint64(i*100)) sb := &coin.SignedBlock{ Block: *b, Sig: cipher.SignHash(b.HashHeader(), genSecret), } - db.Update(func(tx *bolt.Tx) error { - return bc.store.AddBlockWithTx(tx, sb) + err = db.Update("", func(tx *dbutil.Tx) error { + return bc.store.AddBlock(tx, sb) }) + require.NoError(t, err) head = sb } @@ -635,17 +691,35 @@ func TestProcessTransactions(t *testing.T) { txs[i] = tx } - _, err = bc.processTransactions(txs) - require.EqualValues(t, tc.err, err) + err = db.View("", func(tx *dbutil.Tx) error { + _, err := bc.processTransactions(tx, txs) + require.EqualValues(t, tc.err, err) + return nil + }) + require.NoError(t, err) }) } } +func getUxHash(t *testing.T, db *dbutil.DB, bc *Blockchain) cipher.SHA256 { + var uxHash cipher.SHA256 + err := db.View("", func(tx *dbutil.Tx) error { + var err error + uxHash, err = bc.Unspent().GetUxHash(tx) + return err + }) + require.NoError(t, err) + return uxHash +} + func TestVerifyUxHash(t *testing.T) { - db, closeDB := testutil.PrepareDB(t) + db, closeDB := prepareDB(t) defer closeDB() + err := CreateBuckets(db) + require.NoError(t, err) + store, err := blockdb.NewBlockchain(db, DefaultWalker) require.NoError(t, err) @@ -654,26 +728,37 @@ func TestVerifyUxHash(t *testing.T) { store: store, } - gb := addGenesisBlock(t, bc) - uxHash := bc.Unspent().GetUxHash() - tx := coin.Transaction{} - b, err := coin.NewBlock(gb.Block, genTime+100, uxHash, coin.Transactions{tx}, feeCalc) + gb := addGenesisBlockToBlockchain(t, bc) + uxHash := getUxHash(t, db, bc) + txn := coin.Transaction{} + b, err := coin.NewBlock(gb.Block, genTime+100, uxHash, coin.Transactions{txn}, feeCalc) require.NoError(t, err) - err = bc.verifyUxHash(*b) + err = db.View("", func(tx *dbutil.Tx) error { + err = bc.verifyUxHash(tx, *b) + require.NoError(t, err) + return nil + }) require.NoError(t, err) - b2, err := coin.NewBlock(gb.Block, genTime+10, testutil.RandSHA256(t), coin.Transactions{tx}, feeCalc) + b2, err := coin.NewBlock(gb.Block, genTime+10, testutil.RandSHA256(t), coin.Transactions{txn}, feeCalc) require.NoError(t, err) - err = bc.verifyUxHash(*b2) - require.Equal(t, errors.New("UxHash does not match"), err) + err = db.View("", func(tx *dbutil.Tx) error { + err = bc.verifyUxHash(tx, *b2) + require.Equal(t, errors.New("UxHash does not match"), err) + return nil + }) + require.NoError(t, err) } -func TestProcessBlockWIthTx(t *testing.T) { - db, closeDB := testutil.PrepareDB(t) +func TestProcessBlock(t *testing.T) { + db, closeDB := prepareDB(t) defer closeDB() + err := CreateBuckets(db) + require.NoError(t, err) + store, err := blockdb.NewBlockchain(db, DefaultWalker) require.NoError(t, err) @@ -690,37 +775,48 @@ func TestProcessBlockWIthTx(t *testing.T) { Sig: cipher.SignHash(gb.HashHeader(), genSecret), } - // test with empty blockchain - _, err = bc.processBlock(sb) + // Test with empty blockchain + err = db.Update("", func(tx *dbutil.Tx) error { + _, err := bc.processBlock(tx, sb) + require.NoError(t, err) + return nil + }) require.NoError(t, err) // Add genesis block to chain store - db.Update(func(tx *bolt.Tx) error { - err := bc.store.AddBlockWithTx(tx, &sb) + err = db.Update("", func(tx *dbutil.Tx) error { + err := bc.store.AddBlock(tx, &sb) require.NoError(t, err) return nil }) + require.NoError(t, err) - // create new block + // Create new block uxs := coin.CreateUnspents(gb.Head, gb.Body.Transactions[0]) toAddr := testutil.MakeAddress() tx := makeSpendTx(t, uxs, []cipher.SecKey{genSecret}, toAddr, 10e6) - uxhash := bc.Unspent().GetUxHash() - b, err := coin.NewBlock(*gb, genTime+100, uxhash, coin.Transactions{tx}, feeCalc) + uxHash := getUxHash(t, db, bc) + b, err := coin.NewBlock(*gb, genTime+100, uxHash, coin.Transactions{tx}, feeCalc) require.NoError(t, err) - _, err = bc.processBlock(coin.SignedBlock{ - Block: *b, - Sig: cipher.SignHash(b.HashHeader(), genSecret), + err = db.Update("", func(tx *dbutil.Tx) error { + _, err := bc.processBlock(tx, coin.SignedBlock{ + Block: *b, + Sig: cipher.SignHash(b.HashHeader(), genSecret), + }) + require.NoError(t, err) + return nil }) require.NoError(t, err) - } -func TestExecuteBlockWithTx(t *testing.T) { - db, closeDB := testutil.PrepareDB(t) +func TestExecuteBlock(t *testing.T) { + db, closeDB := prepareDB(t) defer closeDB() + err := CreateBuckets(db) + require.NoError(t, err) + store, err := blockdb.NewBlockchain(db, DefaultWalker) require.NoError(t, err) @@ -738,26 +834,27 @@ func TestExecuteBlockWithTx(t *testing.T) { } // test with empty chain - db.Update(func(tx *bolt.Tx) error { - err := bc.ExecuteBlockWithTx(tx, &sb) + err = db.Update("", func(tx *dbutil.Tx) error { + err := bc.ExecuteBlock(tx, &sb) require.NoError(t, err) return nil }) + require.NoError(t, err) // new block uxs := coin.CreateUnspents(gb.Head, gb.Body.Transactions[0]) toAddr := testutil.MakeAddress() tx := makeSpendTx(t, uxs, []cipher.SecKey{genSecret}, toAddr, 10e6) - uxhash := bc.Unspent().GetUxHash() - - b, err := coin.NewBlock(*gb, genTime+100, uxhash, coin.Transactions{tx}, feeCalc) + uxHash := getUxHash(t, db, bc) + b, err := coin.NewBlock(*gb, genTime+100, uxHash, coin.Transactions{tx}, feeCalc) require.NoError(t, err) - db.Update(func(tx *bolt.Tx) error { - err := bc.ExecuteBlockWithTx(tx, &coin.SignedBlock{ + err = db.Update("", func(tx *dbutil.Tx) error { + err := bc.ExecuteBlock(tx, &coin.SignedBlock{ Block: *b, Sig: cipher.SignHash(b.HashHeader(), genSecret), }) require.NoError(t, err) return nil }) + require.NoError(t, err) } diff --git a/src/visor/blockchain_verify_test.go b/src/visor/blockchain_verify_test.go index 783c874..280c585 100755 --- a/src/visor/blockchain_verify_test.go +++ b/src/visor/blockchain_verify_test.go @@ -6,141 +6,212 @@ import ( "math" "testing" - "github.com/boltdb/bolt" "github.com/stretchr/testify/require" "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/testutil" "github.com/skycoin/skycoin/src/visor/blockdb" -) - -var ( - GenesisPublic, GenesisSecret = cipher.GenerateKeyPair() - GenesisAddress = cipher.AddressFromPubKey(GenesisPublic) + "github.com/skycoin/skycoin/src/visor/dbutil" ) const ( - TimeIncrement uint64 = 3600 * 1000 - GenesisTime uint64 = 1000 - GenesisCoins uint64 = 1000e6 + // GenesisTime is the time of the genesis block created in MakeBlockchain + GenesisTime uint64 = 1000 + // GenesisCoins is the amount of coins in the genesis block created in MakeBlockchain + GenesisCoins uint64 = 1000e6 + // GenesisCoinHours is the amount of coin hours in the genesis block created in MakeBlockchain GenesisCoinHours uint64 = 1000 * 1000 + // TimeIncrement is the default time increment used when creating a block with CreateGenesisSpendTransaction + TimeIncrement uint64 = 3600 * 1000 ) -func MakeTransactionForChain(t *testing.T, bc *Blockchain, ux coin.UxOut, sec cipher.SecKey, toAddr cipher.Address, amt, hours, fee uint64) coin.Transaction { - chrs, err := ux.CoinHours(bc.Time()) - require.NoError(t, err) +var ( + // GenesisPublic is the public key used in the genesis block created in MakeBlockchain + GenesisPublic cipher.PubKey + // GenesisSecret is the secret key used in the genesis block created in MakeBlockchain + GenesisSecret cipher.SecKey + // GenesisAddress is the address used in the genesis block created in MakeBlockchain + GenesisAddress cipher.Address +) - require.Equal(t, cipher.AddressFromPubKey(cipher.PubKeyFromSecKey(sec)), ux.Body.Address) +func init() { + GenesisPublic, GenesisSecret = cipher.GenerateKeyPair() + GenesisAddress = cipher.AddressFromPubKey(GenesisPublic) +} - knownUx, exists := bc.Unspent().Get(ux.Hash()) - require.True(t, exists) - require.Equal(t, knownUx, ux) +// MakeBlockchain creates a new blockchain with a genesis block +func MakeBlockchain(t *testing.T, db *dbutil.DB, seckey cipher.SecKey) *Blockchain { + pubkey := cipher.PubKeyFromSecKey(seckey) + b, err := NewBlockchain(db, BlockchainConfig{ + Pubkey: pubkey, + }) + require.NoError(t, err) + gb, err := coin.NewGenesisBlock(GenesisAddress, GenesisCoins, GenesisTime) + if err != nil { + panic(fmt.Errorf("create genesis block failed: %v", err)) + } - tx := coin.Transaction{} - tx.PushInput(ux.Hash()) + sig := cipher.SignHash(gb.HashHeader(), seckey) + db.Update("", func(tx *dbutil.Tx) error { + return b.ExecuteBlock(tx, &coin.SignedBlock{ + Block: *gb, + Sig: sig, + }) + }) + return b +} - tx.PushOutput(toAddr, amt, hours) +// CreateGenesisSpendTransaction creates the initial post-genesis transaction that moves genesis coins to another address +func CreateGenesisSpendTransaction(t *testing.T, db *dbutil.DB, bc *Blockchain, toAddr cipher.Address, coins, hours, fee uint64) coin.Transaction { + var txn coin.Transaction + err := db.View("", func(tx *dbutil.Tx) error { + uxOuts, err := bc.Unspent().GetAll(tx) + require.NoError(t, err) + require.Len(t, uxOuts, 1) - // Change output - coinsOut := ux.Body.Coins - amt - if coinsOut > 0 { - tx.PushOutput(GenesisAddress, coinsOut, chrs-hours-fee) - } + txn = makeTransactionForChain(t, tx, bc, uxOuts[0], GenesisSecret, toAddr, coins, hours, fee) + require.Equal(t, txn.Out[0].Address.String(), toAddr.String()) - tx.SignInputs([]cipher.SecKey{sec}) + if coins == GenesisCoins { + // No change output + require.Len(t, txn.Out, 1) + } else { + require.Len(t, txn.Out, 2) + require.Equal(t, txn.Out[1].Address.String(), GenesisAddress.String()) + } - require.Equal(t, len(tx.Sigs), 1) + return nil + }) + require.NoError(t, err) + return txn +} - err = cipher.ChkSig(ux.Body.Address, cipher.AddSHA256(tx.HashInner(), tx.In[0]), tx.Sigs[0]) +// ExecuteGenesisSpendTransaction executes a genesis block created with CreateGenesisSpendTransaction against a blockchain +// created with MakeBlockchain +func ExecuteGenesisSpendTransaction(t *testing.T, db *dbutil.DB, bc *Blockchain, txn coin.Transaction) coin.UxOut { + var block *coin.Block + err := db.View("", func(tx *dbutil.Tx) error { + var err error + block, err = bc.NewBlock(tx, coin.Transactions{txn}, GenesisTime+TimeIncrement) + require.NoError(t, err) + return nil + }) require.NoError(t, err) + require.NotNil(t, block) - tx.UpdateHeader() + sig := cipher.SignHash(block.HashHeader(), GenesisSecret) + sb := coin.SignedBlock{ + Block: *block, + Sig: sig, + } - err = tx.Verify() + err = db.Update("", func(tx *dbutil.Tx) error { + err = bc.ExecuteBlock(tx, &sb) + require.NoError(t, err) + return nil + }) require.NoError(t, err) - err = bc.VerifySingleTxnHardConstraints(tx) + uxOut, err := coin.CreateUnspent(block.Head, txn, 0) require.NoError(t, err) - return tx + return uxOut } -func MakeBlockchain(t *testing.T, db *bolt.DB, seckey cipher.SecKey) *Blockchain { - pubkey := cipher.PubKeyFromSecKey(seckey) - b, err := NewBlockchain(db, pubkey) +func makeTransactionForChain(t *testing.T, tx *dbutil.Tx, bc *Blockchain, ux coin.UxOut, sec cipher.SecKey, toAddr cipher.Address, amt, hours, fee uint64) coin.Transaction { + tim, err := bc.Time(tx) require.NoError(t, err) - gb, err := coin.NewGenesisBlock(GenesisAddress, GenesisCoins, GenesisTime) - if err != nil { - panic(fmt.Errorf("create genesis block failed: %v", err)) + + chrs, err := ux.CoinHours(tim) + require.NoError(t, err) + + require.Equal(t, cipher.AddressFromPubKey(cipher.PubKeyFromSecKey(sec)), ux.Body.Address) + + knownUx, err := bc.Unspent().Get(tx, ux.Hash()) + require.NoError(t, err) + require.NotNil(t, knownUx) + require.Equal(t, knownUx, &ux) + + txn := coin.Transaction{} + txn.PushInput(ux.Hash()) + + txn.PushOutput(toAddr, amt, hours) + + // Change output + coinsOut := ux.Body.Coins - amt + if coinsOut > 0 { + txn.PushOutput(GenesisAddress, coinsOut, chrs-hours-fee) } - sig := cipher.SignHash(gb.HashHeader(), seckey) - db.Update(func(tx *bolt.Tx) error { - return b.ExecuteBlockWithTx(tx, &coin.SignedBlock{ - Block: *gb, - Sig: sig, - }) - }) - return b -} + txn.SignInputs([]cipher.SecKey{sec}) + + require.Equal(t, len(txn.Sigs), 1) -func MakeAddress() (cipher.PubKey, cipher.SecKey, cipher.Address) { - p, s := cipher.GenerateKeyPair() - a := cipher.AddressFromPubKey(p) - return p, s, a + err = cipher.ChkSig(ux.Body.Address, cipher.AddSHA256(txn.HashInner(), txn.In[0]), txn.Sigs[0]) + require.NoError(t, err) + + txn.UpdateHeader() + + err = txn.Verify() + require.NoError(t, err) + + err = bc.VerifySingleTxnHardConstraints(tx, txn) + require.NoError(t, err) + + return txn } -func makeLostCoinTx(uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address, coins uint64) coin.Transaction { - tx := coin.Transaction{} +func makeLostCoinTx(uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address, coins uint64) coin.Transaction { // nolint: unparam + txn := coin.Transaction{} var totalCoins uint64 var totalHours uint64 for _, ux := range uxs { - tx.PushInput(ux.Hash()) + txn.PushInput(ux.Hash()) totalCoins += ux.Body.Coins totalHours += ux.Body.Hours } - tx.PushOutput(toAddr, coins, totalHours/4) + txn.PushOutput(toAddr, coins, totalHours/4) changeCoins := totalCoins - coins if changeCoins > 0 { - tx.PushOutput(uxs[0].Body.Address, changeCoins-1, totalHours/4) + txn.PushOutput(uxs[0].Body.Address, changeCoins-1, totalHours/4) } - tx.SignInputs(keys) - tx.UpdateHeader() - return tx + txn.SignInputs(keys) + txn.UpdateHeader() + return txn } -func makeDuplicateUxOutTx(uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address, coins uint64) coin.Transaction { - tx := coin.Transaction{} +func makeDuplicateUxOutTx(uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address, coins uint64) coin.Transaction { // nolint: unparam + txn := coin.Transaction{} var totalCoins uint64 var totalHours uint64 for _, ux := range uxs { - tx.PushInput(ux.Hash()) + txn.PushInput(ux.Hash()) totalCoins += ux.Body.Coins totalHours += ux.Body.Hours } - tx.PushOutput(toAddr, coins, totalHours/8) - tx.PushOutput(toAddr, coins, totalHours/8) + txn.PushOutput(toAddr, coins, totalHours/8) + txn.PushOutput(toAddr, coins, totalHours/8) changeCoins := totalCoins - coins if changeCoins > 0 { - tx.PushOutput(uxs[0].Body.Address, changeCoins, totalHours/4) + txn.PushOutput(uxs[0].Body.Address, changeCoins, totalHours/4) } - tx.SignInputs(keys) - tx.UpdateHeader() - return tx + txn.SignInputs(keys) + txn.UpdateHeader() + return txn } // makeUnspentsTx creates a transaction that has a configurable number of outputs sent to the same address. // The genesis block has only one unspent output, so only one transaction can be made from it. // This is useful for when multiple test transactions need to be made from the same block. // Coins and hours are distributed equally amongst all new outputs. -func makeUnspentsTx(t *testing.T, uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address, nUnspents int, maxDivisor uint64) coin.Transaction { +func makeUnspentsTx(t *testing.T, uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address, nUnspents int, maxDivisor uint64) coin.Transaction { // nolint: unparam // Add inputs to the transaction spendTx := coin.Transaction{} var totalHours uint64 @@ -213,7 +284,7 @@ func makeSpendTxWithFee(t *testing.T, uxs coin.UxArray, keys []cipher.SecKey, to } // makeSpendTxWithHoursBurned creates a txn specified with the total number of hours to burn -func makeSpendTxWithHoursBurned(t *testing.T, uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address, coins, hoursBurned uint64) coin.Transaction { +func makeSpendTxWithHoursBurned(t *testing.T, uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address, coins, hoursBurned uint64) coin.Transaction { // nolint: unparam spendTx := coin.Transaction{} var totalHours uint64 var totalCoins uint64 @@ -237,48 +308,6 @@ func makeSpendTxWithHoursBurned(t *testing.T, uxs coin.UxArray, keys []cipher.Se return spendTx } -func createGenesisSpendTransaction(t *testing.T, bc *Blockchain, toAddr cipher.Address, coins, hours, fee uint64) coin.Transaction { - uxOuts, err := bc.Unspent().GetAll() - require.NoError(t, err) - require.Len(t, uxOuts, 1) - - txn := MakeTransactionForChain(t, bc, uxOuts[0], GenesisSecret, toAddr, coins, hours, fee) - require.Equal(t, txn.Out[0].Address.String(), toAddr.String()) - - if coins == GenesisCoins { - // No change output - require.Len(t, txn.Out, 1) - } else { - require.Len(t, txn.Out, 2) - require.Equal(t, txn.Out[1].Address.String(), GenesisAddress.String()) - } - - return txn -} - -func executeGenesisSpendTransaction(t *testing.T, db *bolt.DB, bc *Blockchain, txn coin.Transaction) coin.UxOut { - block, err := bc.NewBlock(coin.Transactions{txn}, GenesisTime+TimeIncrement) - require.NoError(t, err) - - sig := cipher.SignHash(block.HashHeader(), GenesisSecret) - sb := coin.SignedBlock{ - Block: *block, - Sig: sig, - } - - err = db.Update(func(tx *bolt.Tx) error { - err = bc.ExecuteBlockWithTx(tx, &sb) - require.NoError(t, err) - return nil - }) - require.NoError(t, err) - - uxOut, err := coin.CreateUnspent(block.Head, txn, 0) - require.NoError(t, err) - - return uxOut -} - func requireSoftViolation(t *testing.T, msg string, err error) { require.Equal(t, NewErrTxnViolatesSoftConstraint(errors.New(msg)), err) } @@ -287,10 +316,13 @@ func requireHardViolation(t *testing.T, msg string, err error) { require.Equal(t, NewErrTxnViolatesHardConstraint(errors.New(msg)), err) } -func TestVerifyTransactionAllConstraints(t *testing.T) { - db, closeDB := testutil.PrepareDB(t) +func TestVerifyTransactionSoftHardConstraints(t *testing.T) { + db, closeDB := prepareDB(t) defer closeDB() + err := CreateBuckets(db) + require.NoError(t, err) + store, err := blockdb.NewBlockchain(db, DefaultWalker) require.NoError(t, err) @@ -299,19 +331,25 @@ func TestVerifyTransactionAllConstraints(t *testing.T) { store: store, } - gb := addGenesisBlock(t, bc) + gb := addGenesisBlockToBlockchain(t, bc) toAddr := testutil.MakeAddress() coins := uint64(10e6) - // create normal spending tx + verifySingleTxnSoftHardConstraints := func(txn coin.Transaction, maxBlockSize int) error { + return db.View("", func(tx *dbutil.Tx) error { + return bc.VerifySingleTxnSoftHardConstraints(tx, txn, maxBlockSize) + }) + } + + // create normal spending txn uxs := coin.CreateUnspents(gb.Head, gb.Body.Transactions[0]) - tx := makeSpendTx(t, uxs, []cipher.SecKey{genSecret}, toAddr, coins) - err = bc.VerifySingleTxnAllConstraints(tx, DefaultMaxBlockSize) + txn := makeSpendTx(t, uxs, []cipher.SecKey{genSecret}, toAddr, coins) + err = verifySingleTxnSoftHardConstraints(txn, DefaultMaxBlockSize) require.NoError(t, err) // Transaction size exceeds maxSize - err = bc.VerifySingleTxnAllConstraints(tx, tx.Size()-1) + err = verifySingleTxnSoftHardConstraints(txn, txn.Size()-1) requireSoftViolation(t, "Transaction size bigger than max block size", err) // Invalid transaction fee @@ -320,28 +358,40 @@ func TestVerifyTransactionAllConstraints(t *testing.T) { for _, ux := range uxs { hours += ux.Body.Hours } - tx = makeSpendTxWithHoursBurned(t, uxs, []cipher.SecKey{genSecret}, toAddr, coins, 0) - err = bc.VerifySingleTxnAllConstraints(tx, DefaultMaxBlockSize) + txn = makeSpendTxWithHoursBurned(t, uxs, []cipher.SecKey{genSecret}, toAddr, coins, 0) + err = verifySingleTxnSoftHardConstraints(txn, DefaultMaxBlockSize) requireSoftViolation(t, "Transaction has zero coinhour fee", err) + // Invalid transaction fee, part 2 + txn = makeSpendTxWithHoursBurned(t, uxs, []cipher.SecKey{genSecret}, toAddr, coins, 1) + err = verifySingleTxnSoftHardConstraints(txn, DefaultMaxBlockSize) + requireSoftViolation(t, "Transaction coinhour fee minimum not met", err) + // Transaction locking is tested by TestVerifyTransactionIsLocked // Test invalid header hash - originInnerHash := tx.InnerHash - tx.InnerHash = cipher.SHA256{} - err = bc.VerifySingleTxnAllConstraints(tx, DefaultMaxBlockSize) + originInnerHash := txn.InnerHash + txn.InnerHash = cipher.SHA256{} + err = verifySingleTxnSoftHardConstraints(txn, DefaultMaxBlockSize) requireHardViolation(t, "Invalid header hash", err) // Set back the originInnerHash - tx.InnerHash = originInnerHash + txn.InnerHash = originInnerHash // Create new block to spend the coins - b, err := bc.NewBlock(coin.Transactions{tx}, genTime+100) + var b *coin.Block + err = db.View("", func(tx *dbutil.Tx) error { + var err error + b, err = bc.NewBlock(tx, coin.Transactions{txn}, genTime+100) + require.NoError(t, err) + return nil + }) require.NoError(t, err) + require.NotNil(t, b) // Add the block to blockchain - err = bc.db.Update(func(tx *bolt.Tx) error { - return bc.store.AddBlockWithTx(tx, &coin.SignedBlock{ + err = bc.db.Update("", func(tx *dbutil.Tx) error { + return bc.store.AddBlock(tx, &coin.SignedBlock{ Block: *b, Sig: cipher.SignHash(b.HashHeader(), genSecret), }) @@ -349,30 +399,30 @@ func TestVerifyTransactionAllConstraints(t *testing.T) { require.NoError(t, err) // A UxOut does not exist, it was already spent - err = bc.VerifySingleTxnAllConstraints(tx, DefaultMaxBlockSize) - expectedErr := NewErrTxnViolatesHardConstraint(blockdb.NewErrUnspentNotExist(tx.In[0].Hex())) + err = verifySingleTxnSoftHardConstraints(txn, DefaultMaxBlockSize) + expectedErr := NewErrTxnViolatesHardConstraint(blockdb.NewErrUnspentNotExist(txn.In[0].Hex())) require.Equal(t, expectedErr, err) // Check invalid sig - uxs = coin.CreateUnspents(b.Head, tx) + uxs = coin.CreateUnspents(b.Head, txn) _, key := cipher.GenerateKeyPair() toAddr2 := testutil.MakeAddress() tx2 := makeSpendTx(t, uxs, []cipher.SecKey{key, key}, toAddr2, 5e6) - err = bc.VerifySingleTxnAllConstraints(tx2, DefaultMaxBlockSize) + err = verifySingleTxnSoftHardConstraints(tx2, DefaultMaxBlockSize) requireHardViolation(t, "Signature not valid for output being spent", err) // Create lost coin transaction - uxs2 := coin.CreateUnspents(b.Head, tx) + uxs2 := coin.CreateUnspents(b.Head, txn) toAddr3 := testutil.MakeAddress() lostCoinTx := makeLostCoinTx(coin.UxArray{uxs2[1]}, []cipher.SecKey{genSecret}, toAddr3, 10e5) - err = bc.VerifySingleTxnAllConstraints(lostCoinTx, DefaultMaxBlockSize) + err = verifySingleTxnSoftHardConstraints(lostCoinTx, DefaultMaxBlockSize) requireHardViolation(t, "Transactions may not destroy coins", err) // Create transaction with duplicate UxOuts - uxs = coin.CreateUnspents(b.Head, tx) + uxs = coin.CreateUnspents(b.Head, txn) toAddr4 := testutil.MakeAddress() dupUxOutTx := makeDuplicateUxOutTx(coin.UxArray{uxs[0]}, []cipher.SecKey{genSecret}, toAddr4, 1e6) - err = bc.VerifySingleTxnAllConstraints(dupUxOutTx, DefaultMaxBlockSize) + err = verifySingleTxnSoftHardConstraints(dupUxOutTx, DefaultMaxBlockSize) requireHardViolation(t, "Duplicate output in transaction", err) } @@ -380,9 +430,12 @@ func TestVerifyTxnFeeCoinHoursAdditionFails(t *testing.T) { // Test that VerifySingleTxnSoftConstraints fails if a uxIn.CoinHours() call fails. // This is a separate test on its own, because it's not possible to reach the line // that is being tested through the blockchain verify API wrappers - db, closeDB := testutil.PrepareDB(t) + db, closeDB := prepareDB(t) defer closeDB() + err := CreateBuckets(db) + require.NoError(t, err) + store, err := blockdb.NewBlockchain(db, DefaultWalker) require.NoError(t, err) @@ -391,20 +444,27 @@ func TestVerifyTxnFeeCoinHoursAdditionFails(t *testing.T) { store: store, } - gb := addGenesisBlock(t, bc) + gb := addGenesisBlockToBlockchain(t, bc) toAddr := testutil.MakeAddress() coins := uint64(10e6) - // create normal spending tx + // create normal spending txn uxs := coin.CreateUnspents(gb.Head, gb.Body.Transactions[0]) - tx := makeSpendTx(t, uxs, []cipher.SecKey{genSecret}, toAddr, coins) + txn := makeSpendTx(t, uxs, []cipher.SecKey{genSecret}, toAddr, coins) - uxIn, err := bc.Unspent().GetArray(tx.In) - require.NoError(t, err) - require.NotEmpty(t, uxIn) + var uxIn coin.UxArray + var head *coin.SignedBlock + err = db.View("", func(tx *dbutil.Tx) error { + var err error + uxIn, err = bc.Unspent().GetArray(tx, txn.In) + require.NoError(t, err) + require.NotEmpty(t, uxIn) - head, err := bc.Head() + head, err = bc.Head(tx) + require.NoError(t, err) + return nil + }) require.NoError(t, err) // Set the uxIn's hours high, so that uxIn.CoinHours() returns an error @@ -413,14 +473,14 @@ func TestVerifyTxnFeeCoinHoursAdditionFails(t *testing.T) { testutil.RequireError(t, coinHoursErr, "UxOut.CoinHours addition of earned coin hours overflow") // VerifySingleTxnSoftConstraints should fail on this, when trying to calculate the TransactionFee - err = VerifySingleTxnSoftConstraints(tx, head.Time()+1e6, uxIn, DefaultMaxBlockSize) + err = VerifySingleTxnSoftConstraints(txn, head.Time()+1e6, uxIn, DefaultMaxBlockSize) testutil.RequireError(t, err, NewErrTxnViolatesSoftConstraint(coinHoursErr).Error()) // VerifySingleTxnHardConstraints should fail on this, when performing the extra check of // uxIn.CoinHours() errors, which is ignored by VerifyTransactionHoursSpending if the error // is because of the earned hours addition overflow head.Block.Head.Time += 1e6 - err = VerifySingleTxnHardConstraints(tx, head, uxIn) + err = VerifySingleTxnHardConstraints(txn, head, uxIn) testutil.RequireError(t, err, NewErrTxnViolatesHardConstraint(coinHoursErr).Error()) } @@ -444,7 +504,7 @@ func testVerifyTransactionAddressLocking(t *testing.T, toAddr string, expectedEr addr, err := cipher.DecodeBase58Address(toAddr) require.NoError(t, err) - db, close := testutil.PrepareDB(t) + db, close := prepareDB(t) defer close() _, s := cipher.GenerateKeyPair() @@ -457,15 +517,15 @@ func testVerifyTransactionAddressLocking(t *testing.T, toAddr string, expectedEr var hours uint64 = 1e6 var fee uint64 = 5e8 - txn := createGenesisSpendTransaction(t, bc, addr, coins, hours, fee) - uxOut := executeGenesisSpendTransaction(t, db, bc, txn) + txn := CreateGenesisSpendTransaction(t, db, bc, addr, coins, hours, fee) + uxOut := ExecuteGenesisSpendTransaction(t, db, bc, txn) // Create a transaction that spends from the locked address // The secret key for the locked address is obviously unavailable here, // instead, forge an invalid transaction. // Transaction.Verify() is called after TransactionIsLocked(), // so for this test it doesn't matter if transaction signature is wrong - _, _, randomAddress := MakeAddress() + randomAddress := testutil.MakeAddress() txn = coin.Transaction{ In: []cipher.SHA256{uxOut.Hash()}, Out: []coin.TransactionOutput{ @@ -477,10 +537,18 @@ func testVerifyTransactionAddressLocking(t *testing.T, toAddr string, expectedEr }, } - uxIn, err := bc.Unspent().GetArray(txn.In) - require.NoError(t, err) + var uxIn coin.UxArray + var head *coin.SignedBlock + err = db.View("", func(tx *dbutil.Tx) error { + var err error + uxIn, err = bc.Unspent().GetArray(tx, txn.In) + require.NoError(t, err) + require.NotEmpty(t, uxIn) - head, err := bc.Head() + head, err = bc.Head(tx) + require.NoError(t, err) + return nil + }) require.NoError(t, err) err = VerifySingleTxnSoftConstraints(txn, head.Time(), uxIn, DefaultMaxBlockSize) diff --git a/src/visor/blockchainer_mock_test.go b/src/visor/blockchainer_mock_test.go index 76e759d..52e445c 100755 --- a/src/visor/blockchainer_mock_test.go +++ b/src/visor/blockchainer_mock_test.go @@ -10,11 +10,10 @@ import ( mock "github.com/stretchr/testify/mock" - bolt "github.com/boltdb/bolt" - cipher "github.com/skycoin/skycoin/src/cipher" coin "github.com/skycoin/skycoin/src/coin" blockdb "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" ) // BlockchainerMock mock @@ -26,15 +25,8 @@ func NewBlockchainerMock() *BlockchainerMock { return &BlockchainerMock{} } -// BindListener mocked method -func (m *BlockchainerMock) BindListener(p0 BlockListener) { - - m.Called(p0) - -} - -// ExecuteBlockWithTx mocked method -func (m *BlockchainerMock) ExecuteBlockWithTx(p0 *bolt.Tx, p1 *coin.SignedBlock) error { +// ExecuteBlock mocked method +func (m *BlockchainerMock) ExecuteBlock(p0 *dbutil.Tx, p1 *coin.SignedBlock) error { ret := m.Called(p0, p1) @@ -51,15 +43,15 @@ func (m *BlockchainerMock) ExecuteBlockWithTx(p0 *bolt.Tx, p1 *coin.SignedBlock) } -// GetBlockByHash mocked method -func (m *BlockchainerMock) GetBlockByHash(p0 cipher.SHA256) (*coin.SignedBlock, error) { +// GetBlocks mocked method +func (m *BlockchainerMock) GetBlocks(p0 *dbutil.Tx, p1 uint64, p2 uint64) ([]coin.SignedBlock, error) { - ret := m.Called(p0) + ret := m.Called(p0, p1, p2) - var r0 *coin.SignedBlock + var r0 []coin.SignedBlock switch res := ret.Get(0).(type) { case nil: - case *coin.SignedBlock: + case []coin.SignedBlock: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -78,8 +70,8 @@ func (m *BlockchainerMock) GetBlockByHash(p0 cipher.SHA256) (*coin.SignedBlock, } -// GetBlockBySeq mocked method -func (m *BlockchainerMock) GetBlockBySeq(p0 uint64) (*coin.SignedBlock, error) { +// GetGenesisBlock mocked method +func (m *BlockchainerMock) GetGenesisBlock(p0 *dbutil.Tx) (*coin.SignedBlock, error) { ret := m.Called(p0) @@ -105,8 +97,8 @@ func (m *BlockchainerMock) GetBlockBySeq(p0 uint64) (*coin.SignedBlock, error) { } -// GetBlocks mocked method -func (m *BlockchainerMock) GetBlocks(p0 uint64, p1 uint64) ([]coin.SignedBlock, error) { +// GetLastBlocks mocked method +func (m *BlockchainerMock) GetLastBlocks(p0 *dbutil.Tx, p1 uint64) ([]coin.SignedBlock, error) { ret := m.Called(p0, p1) @@ -132,10 +124,10 @@ func (m *BlockchainerMock) GetBlocks(p0 uint64, p1 uint64) ([]coin.SignedBlock, } -// GetGenesisBlock mocked method -func (m *BlockchainerMock) GetGenesisBlock() *coin.SignedBlock { +// GetSignedBlockByHash mocked method +func (m *BlockchainerMock) GetSignedBlockByHash(p0 *dbutil.Tx, p1 cipher.SHA256) (*coin.SignedBlock, error) { - ret := m.Called() + ret := m.Called(p0, p1) var r0 *coin.SignedBlock switch res := ret.Get(0).(type) { @@ -146,19 +138,28 @@ func (m *BlockchainerMock) GetGenesisBlock() *coin.SignedBlock { panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 } -// GetLastBlocks mocked method -func (m *BlockchainerMock) GetLastBlocks(p0 uint64) ([]coin.SignedBlock, error) { +// GetSignedBlockBySeq mocked method +func (m *BlockchainerMock) GetSignedBlockBySeq(p0 *dbutil.Tx, p1 uint64) (*coin.SignedBlock, error) { - ret := m.Called(p0) + ret := m.Called(p0, p1) - var r0 []coin.SignedBlock + var r0 *coin.SignedBlock switch res := ret.Get(0).(type) { case nil: - case []coin.SignedBlock: + case *coin.SignedBlock: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -178,9 +179,9 @@ func (m *BlockchainerMock) GetLastBlocks(p0 uint64) ([]coin.SignedBlock, error) } // Head mocked method -func (m *BlockchainerMock) Head() (*coin.SignedBlock, error) { +func (m *BlockchainerMock) Head(p0 *dbutil.Tx) (*coin.SignedBlock, error) { - ret := m.Called() + ret := m.Called(p0) var r0 *coin.SignedBlock switch res := ret.Get(0).(type) { @@ -205,9 +206,9 @@ func (m *BlockchainerMock) Head() (*coin.SignedBlock, error) { } // HeadSeq mocked method -func (m *BlockchainerMock) HeadSeq() uint64 { +func (m *BlockchainerMock) HeadSeq(p0 *dbutil.Tx) (uint64, bool, error) { - ret := m.Called() + ret := m.Called(p0) var r0 uint64 switch res := ret.Get(0).(type) { @@ -218,14 +219,32 @@ func (m *BlockchainerMock) HeadSeq() uint64 { panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 + var r1 bool + switch res := ret.Get(1).(type) { + case nil: + case bool: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r2 error + switch res := ret.Get(2).(type) { + case nil: + case error: + r2 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1, r2 } // Len mocked method -func (m *BlockchainerMock) Len() uint64 { +func (m *BlockchainerMock) Len(p0 *dbutil.Tx) (uint64, error) { - ret := m.Called() + ret := m.Called(p0) var r0 uint64 switch res := ret.Get(0).(type) { @@ -236,14 +255,23 @@ func (m *BlockchainerMock) Len() uint64 { panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 } // NewBlock mocked method -func (m *BlockchainerMock) NewBlock(p0 coin.Transactions, p1 uint64) (*coin.Block, error) { +func (m *BlockchainerMock) NewBlock(p0 *dbutil.Tx, p1 coin.Transactions, p2 uint64) (*coin.Block, error) { - ret := m.Called(p0, p1) + ret := m.Called(p0, p1, p2) var r0 *coin.Block switch res := ret.Get(0).(type) { @@ -267,33 +295,8 @@ func (m *BlockchainerMock) NewBlock(p0 coin.Transactions, p1 uint64) (*coin.Bloc } -// Notify mocked method -func (m *BlockchainerMock) Notify(p0 coin.Block) { - - m.Called(p0) - -} - // Time mocked method -func (m *BlockchainerMock) Time() uint64 { - - ret := m.Called() - - var r0 uint64 - switch res := ret.Get(0).(type) { - case nil: - case uint64: - r0 = res - default: - panic(fmt.Sprintf("unexpected type: %v", res)) - } - - return r0 - -} - -// TransactionFee mocked method -func (m *BlockchainerMock) TransactionFee(p0 *coin.Transaction) (uint64, error) { +func (m *BlockchainerMock) Time(p0 *dbutil.Tx) (uint64, error) { ret := m.Called(p0) @@ -319,15 +322,15 @@ func (m *BlockchainerMock) TransactionFee(p0 *coin.Transaction) (uint64, error) } -// Unspent mocked method -func (m *BlockchainerMock) Unspent() blockdb.UnspentPool { +// TransactionFee mocked method +func (m *BlockchainerMock) TransactionFee(p0 *dbutil.Tx, p1 uint64) coin.FeeCalculator { - ret := m.Called() + ret := m.Called(p0, p1) - var r0 blockdb.UnspentPool + var r0 coin.FeeCalculator switch res := ret.Get(0).(type) { case nil: - case blockdb.UnspentPool: + case coin.FeeCalculator: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -337,15 +340,15 @@ func (m *BlockchainerMock) Unspent() blockdb.UnspentPool { } -// UpdateDB mocked method -func (m *BlockchainerMock) UpdateDB(p0 func(tx *bolt.Tx) error) error { +// Unspent mocked method +func (m *BlockchainerMock) Unspent() blockdb.UnspentPooler { - ret := m.Called(p0) + ret := m.Called() - var r0 error + var r0 blockdb.UnspentPooler switch res := ret.Get(0).(type) { case nil: - case error: + case blockdb.UnspentPooler: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -355,8 +358,8 @@ func (m *BlockchainerMock) UpdateDB(p0 func(tx *bolt.Tx) error) error { } -// VerifySingleTxnAllConstraints mocked method -func (m *BlockchainerMock) VerifySingleTxnAllConstraints(p0 coin.Transaction, p1 int) error { +// VerifyBlockTxnConstraints mocked method +func (m *BlockchainerMock) VerifyBlockTxnConstraints(p0 *dbutil.Tx, p1 coin.Transaction) error { ret := m.Called(p0, p1) @@ -373,10 +376,10 @@ func (m *BlockchainerMock) VerifySingleTxnAllConstraints(p0 coin.Transaction, p1 } -// VerifySingleTxnHardConstraints mocked method -func (m *BlockchainerMock) VerifySingleTxnHardConstraints(p0 coin.Transaction) error { +// VerifySingleTxnSoftHardConstraints mocked method +func (m *BlockchainerMock) VerifySingleTxnSoftHardConstraints(p0 *dbutil.Tx, p1 coin.Transaction, p2 int) error { - ret := m.Called(p0) + ret := m.Called(p0, p1, p2) var r0 error switch res := ret.Get(0).(type) { @@ -391,10 +394,10 @@ func (m *BlockchainerMock) VerifySingleTxnHardConstraints(p0 coin.Transaction) e } -// VerifyBlockTxnConstraints mocked method -func (m *BlockchainerMock) VerifyBlockTxnConstraints(p0 coin.Transaction) error { +// VerifySingleTxnHardConstraints mocked method +func (m *BlockchainerMock) VerifySingleTxnHardConstraints(p0 *dbutil.Tx, p1 coin.Transaction) error { - ret := m.Called(p0) + ret := m.Called(p0, p1) var r0 error switch res := ret.Get(0).(type) { diff --git a/src/visor/blockdb/README.md b/src/visor/blockdb/README.md deleted file mode 100755 index de23653..0000000 --- a/src/visor/blockdb/README.md +++ /dev/null @@ -1,5 +0,0 @@ - -This stores blocks (and signatures) -- stores blocks by hash -- maintains an index of blocks -- maintains an index of the unspent output set (or allowed calculation of the unspent output set from snapshots) \ No newline at end of file diff --git a/src/visor/blockdb/block_tree.go b/src/visor/blockdb/block_tree.go index ff64c29..6397126 100755 --- a/src/visor/blockdb/block_tree.go +++ b/src/visor/blockdb/block_tree.go @@ -4,63 +4,33 @@ import ( "errors" "fmt" - "github.com/boltdb/bolt" - "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/cipher/encoder" "github.com/skycoin/skycoin/src/coin" - "github.com/skycoin/skycoin/src/visor/bucket" + "github.com/skycoin/skycoin/src/visor/dbutil" ) var ( emptyHash cipher.SHA256 - errBlockExist = errors.New("block already exist") - errNoParent = errors.New("block is not genesis and have no parent") + errBlockExist = errors.New("block already exists") + errNoParent = errors.New("block is not genesis and has no parent") errWrongParent = errors.New("wrong parent") errHasChild = errors.New("remove block failed, it has children") -) - -// blockTree use the blockdb store all blocks and maintains the block tree struct. -type blockTree struct { - db *bolt.DB - blocks *bucket.Bucket - tree *bucket.Bucket -} - -// newBlockTree create buckets in blockdb if does not exist. -func newBlockTree(db *bolt.DB) (*blockTree, error) { - blocks, err := bucket.New([]byte("blocks"), db) - if err != nil { - return nil, err - } - tree, err := bucket.New([]byte("block_tree"), db) - if err != nil { - return nil, err - } - - return &blockTree{ - blocks: blocks, - tree: tree, - db: db, - }, nil -} + // BlocksBkt holds coin.Blocks + BlocksBkt = []byte("blocks") + // TreeBkt maps block height to a (prev, hash) pair for a block + TreeBkt = []byte("block_tree") +) -// AddBlock write the block into blocks bucket, add the pair of block hash and pre block hash into -// tree in the block depth. -func (bt *blockTree) AddBlock(b *coin.Block) error { - return bt.db.Update(func(tx *bolt.Tx) error { - return bt.AddBlockWithTx(tx, b) - }) -} +// Walker function for go through blockchain +type Walker func(*dbutil.Tx, []coin.HashPair) (cipher.SHA256, bool) -// AddBlockWithTx adds block with *bolt.Tx -func (bt *blockTree) AddBlockWithTx(tx *bolt.Tx, b *coin.Block) error { - bkt := tx.Bucket(bt.blocks.Name) - if bkt == nil { - return fmt.Errorf("bucket %s doesn't eist", bt.blocks.Name) - } +// blockTree use the blockdb store all blocks and maintains the block tree struct. +type blockTree struct{} +// AddBlock adds block with *dbutil.Tx +func (bt *blockTree) AddBlock(tx *dbutil.Tx, b *coin.Block) error { // can't store block if it's not genesis block and has no parent. if b.Seq() > 0 && b.PreHashHeader() == emptyHash { return errNoParent @@ -68,22 +38,21 @@ func (bt *blockTree) AddBlockWithTx(tx *bolt.Tx, b *coin.Block) error { // check if the block already exist. hash := b.HashHeader() - if blk := bkt.Get(hash[:]); blk != nil { + if ok, err := dbutil.BucketHasKey(tx, BlocksBkt, hash[:]); err != nil { + return err + } else if ok { return errBlockExist } // write block into blocks bucket. - if err := setBlock(bkt, b); err != nil { + if err := dbutil.PutBucketValue(tx, BlocksBkt, hash[:], encoder.Serialize(b)); err != nil { return err } - // get tree bucket. - tree := tx.Bucket(bt.tree.Name) - // the pre hash must be in depth - 1. if b.Seq() > 0 { preHash := b.PreHashHeader() - parentHashPair, err := getHashPairInDepth(tree, b.Seq()-1, func(hp coin.HashPair) bool { + parentHashPair, err := getHashPairInDepth(tx, b.Seq()-1, func(hp coin.HashPair) bool { return hp.Hash == preHash }) if err != nil { @@ -94,10 +63,13 @@ func (bt *blockTree) AddBlockWithTx(tx *bolt.Tx, b *coin.Block) error { } } - hp := coin.HashPair{Hash: hash, PreHash: b.Head.PrevHash} + hp := coin.HashPair{ + Hash: hash, + PreHash: b.Head.PrevHash, + } // get block pairs in the depth - hashPairs, err := getHashPairInDepth(tree, b.Seq(), allPairs) + hashPairs, err := getHashPairInDepth(tx, b.Seq(), allPairs) if err != nil { return err } @@ -105,7 +77,7 @@ func (bt *blockTree) AddBlockWithTx(tx *bolt.Tx, b *coin.Block) error { if len(hashPairs) == 0 { // no hash pair exist in the depth. // write the hash pair into tree. - return setHashPairInDepth(tree, b.Seq(), []coin.HashPair{hp}) + return setHashPairInDepth(tx, b.Seq(), []coin.HashPair{hp}) } // check dup block @@ -114,90 +86,101 @@ func (bt *blockTree) AddBlockWithTx(tx *bolt.Tx, b *coin.Block) error { } hashPairs = append(hashPairs, hp) - return setHashPairInDepth(tree, b.Seq(), hashPairs) + return setHashPairInDepth(tx, b.Seq(), hashPairs) } // RemoveBlock remove block from blocks bucket and tree bucket. // can't remove block if it has children. -func (bt *blockTree) RemoveBlock(b *coin.Block) error { - return bt.db.Update(func(tx *bolt.Tx) error { - // delete block in blocks bucket. - blocks := tx.Bucket(bt.blocks.Name) - hash := b.HashHeader() - if err := blocks.Delete(hash[:]); err != nil { - return err - } +func (bt *blockTree) RemoveBlock(tx *dbutil.Tx, b *coin.Block) error { + // delete block in blocks bucket. + hash := b.HashHeader() + if err := dbutil.Delete(tx, BlocksBkt, hash[:]); err != nil { + return err + } - // get tree bucket. - tree := tx.Bucket(bt.tree.Name) + // check if this block has children + if has, err := hasChild(tx, *b); err != nil { + return err + } else if has { + return errHasChild + } - // check if this block has children - has, err := hasChild(tree, *b) - if err != nil { - return err - } - if has { - return errHasChild - } + // get block hash pairs in depth + hashPairs, err := getHashPairInDepth(tx, b.Seq(), allPairs) + if err != nil { + return err + } - // get block hash pairs in depth - hashPairs, err := getHashPairInDepth(tree, b.Seq(), func(hp coin.HashPair) bool { - return true - }) - if err != nil { - return err - } + // remove block hash pair in tree. + ps := removePairs(hashPairs, coin.HashPair{ + Hash: hash, + PreHash: b.PreHashHeader(), + }) - // remove block hash pair in tree. - ps := removePairs(hashPairs, coin.HashPair{Hash: hash, PreHash: b.PreHashHeader()}) - if len(ps) == 0 { - tree.Delete(bucket.Itob(b.Seq())) - return nil - } + if len(ps) == 0 { + return dbutil.Delete(tx, TreeBkt, dbutil.Itob(b.Seq())) + } - // update the hash pairs in tree. - return setHashPairInDepth(tree, b.Seq(), ps) - }) + // update the hash pairs in tree. + return setHashPairInDepth(tx, b.Seq(), ps) } // GetBlock get block by hash, return nil on not found -func (bt *blockTree) GetBlock(hash cipher.SHA256) *coin.Block { - return bt.getBlock(hash) +func (bt *blockTree) GetBlock(tx *dbutil.Tx, hash cipher.SHA256) (*coin.Block, error) { + var b coin.Block + + if ok, err := dbutil.GetBucketObjectDecoded(tx, BlocksBkt, hash[:], &b); err != nil { + return nil, err + } else if !ok { + return nil, nil + } + + if hash != b.HashHeader() { + return nil, fmt.Errorf("DB key %s does not match block hash header %s", hash, b.HashHeader()) + } + + return &b, nil } // GetBlockInDepth get block in depth, return nil on not found, // the filter is used to choose the appropriate block. -func (bt *blockTree) GetBlockInDepth(depth uint64, filter func(hps []coin.HashPair) cipher.SHA256) *coin.Block { - hash, err := bt.getHashInDepth(depth, filter) +func (bt *blockTree) GetBlockInDepth(tx *dbutil.Tx, depth uint64, filter Walker) (*coin.Block, error) { + hash, ok, err := bt.getHashInDepth(tx, depth, filter) if err != nil { - return nil + return nil, fmt.Errorf("BlockTree.getHashInDepth failed: %v", err) + } else if !ok { + return nil, nil } - return bt.getBlock(hash) + return bt.GetBlock(tx, hash) } -func (bt *blockTree) getBlock(hash cipher.SHA256) *coin.Block { - bin := bt.blocks.Get(hash[:]) - if bin == nil { - return nil - } - block := coin.Block{} - if err := encoder.DeserializeRaw(bin, &block); err != nil { - return nil - } - return &block +// ForEachBlock iterates all blocks and calls f on them +func (bt *blockTree) ForEachBlock(tx *dbutil.Tx, f func(b *coin.Block) error) error { + return dbutil.ForEach(tx, BlocksBkt, func(_, v []byte) error { + var b coin.Block + if err := encoder.DeserializeRaw(v, &b); err != nil { + return err + } + + return f(&b) + }) } -func (bt *blockTree) getHashInDepth(depth uint64, filter func(ps []coin.HashPair) cipher.SHA256) (cipher.SHA256, error) { - key := bucket.Itob(depth) - pairsBin := bt.tree.Get(key) - pairs := []coin.HashPair{} - if err := encoder.DeserializeRaw(pairsBin, &pairs); err != nil { - return cipher.SHA256{}, err +func (bt *blockTree) getHashInDepth(tx *dbutil.Tx, depth uint64, filter Walker) (cipher.SHA256, bool, error) { + var pairs []coin.HashPair + if ok, err := dbutil.GetBucketObjectDecoded(tx, TreeBkt, dbutil.Itob(depth), &pairs); err != nil { + return cipher.SHA256{}, false, err + } else if !ok { + return cipher.SHA256{}, false, nil } - hash := filter(pairs) - return hash, nil + hash, ok := filter(tx, pairs) + if !ok { + return cipher.SHA256{}, false, errors.New("No hash found in depth") + } + + return hash, true, nil } func containHash(hashPairs []coin.HashPair, pair coin.HashPair) bool { @@ -220,17 +203,15 @@ func removePairs(hps []coin.HashPair, pair coin.HashPair) []coin.HashPair { return pairs } -func getHashPairInDepth(tree *bolt.Bucket, dep uint64, fn func(hp coin.HashPair) bool) ([]coin.HashPair, error) { - v := tree.Get(bucket.Itob(dep)) - if v == nil { - return []coin.HashPair{}, nil - } - - hps := []coin.HashPair{} - if err := encoder.DeserializeRaw(v, &hps); err != nil { +func getHashPairInDepth(tx *dbutil.Tx, dep uint64, fn func(hp coin.HashPair) bool) ([]coin.HashPair, error) { + var hps []coin.HashPair + if ok, err := dbutil.GetBucketObjectDecoded(tx, TreeBkt, dbutil.Itob(dep), &hps); err != nil { return nil, err + } else if !ok { + return nil, nil } - pairs := []coin.HashPair{} + + var pairs []coin.HashPair for _, ps := range hps { if fn(ps) { pairs = append(pairs, ps) @@ -239,30 +220,22 @@ func getHashPairInDepth(tree *bolt.Bucket, dep uint64, fn func(hp coin.HashPair) return pairs, nil } -func setBlock(bkt *bolt.Bucket, b *coin.Block) error { - bin := encoder.Serialize(b) - key := b.HashHeader() - return bkt.Put(key[:], bin) -} - // check if this block has children -func hasChild(bkt *bolt.Bucket, b coin.Block) (bool, error) { +func hasChild(tx *dbutil.Tx, b coin.Block) (bool, error) { // get the child block hash pair, whose pre hash point to current block. - childHashPair, err := getHashPairInDepth(bkt, b.Head.BkSeq+1, func(hp coin.HashPair) bool { + childHashPair, err := getHashPairInDepth(tx, b.Head.BkSeq+1, func(hp coin.HashPair) bool { return hp.PreHash == b.HashHeader() }) if err != nil { - return false, nil + return false, err } return len(childHashPair) > 0, nil } -func setHashPairInDepth(bkt *bolt.Bucket, dep uint64, hps []coin.HashPair) error { - hpsBin := encoder.Serialize(hps) - key := bucket.Itob(dep) - return bkt.Put(key, hpsBin) +func setHashPairInDepth(tx *dbutil.Tx, dep uint64, hps []coin.HashPair) error { + return dbutil.PutBucketValue(tx, TreeBkt, dbutil.Itob(dep), encoder.Serialize(hps)) } func allPairs(hp coin.HashPair) bool { diff --git a/src/visor/blockdb/block_tree_test.go b/src/visor/blockdb/block_tree_test.go index 4cb8ac3..8e93227 100755 --- a/src/visor/blockdb/block_tree_test.go +++ b/src/visor/blockdb/block_tree_test.go @@ -1,14 +1,13 @@ package blockdb import ( - "fmt" "testing" - "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/coin" - "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor/dbutil" ) type blockInfo struct { @@ -25,11 +24,10 @@ type blockCase struct { } func testCase(t *testing.T, cases []blockCase) { - db, close := testutil.PrepareDB(t) + db, close := prepareDB(t) defer close() - btree, err := newBlockTree(db) - assert.Nil(t, err) + btree := &blockTree{} blocks := make([]coin.Block, len(cases)) for i, d := range cases { var preHash cipher.SHA256 @@ -47,27 +45,31 @@ func testCase(t *testing.T, cases []blockCase) { } blocks[i] = b - switch d.Action { - case "add": - err := btree.AddBlock(&b) - if err != d.Err { - t.Fatal(fmt.Sprintf("expect err:%v, but get err:%v", d.Err, err)) + err := db.Update("", func(tx *dbutil.Tx) error { + switch d.Action { + case "add": + err := btree.AddBlock(tx, &b) + require.Equal(t, d.Err, err, "expect err:%v, but get err:%v", d.Err, err) + + if err == nil { + b1, err := btree.GetBlock(tx, b.HashHeader()) + require.NoError(t, err) + require.Equal(t, b, *b1) + } + case "remove": + err := btree.RemoveBlock(tx, &b) + require.Equal(t, d.Err, err, "expect err:%v, but get err:%v", d.Err, err) + if err == nil { + b1, err := btree.GetBlock(tx, b.HashHeader()) + require.NoError(t, err) + require.Nil(t, b1) + } } - if err == nil { - b1 := btree.GetBlock(b.HashHeader()) - assert.Equal(t, *b1, b) - } - case "remove": - err := btree.RemoveBlock(&b) - if err != d.Err { - t.Fatal(fmt.Sprintf("expect err:%v, but get err:%v", d.Err, err)) - } - if err == nil { - b1 := btree.GetBlock(b.HashHeader()) - assert.Nil(t, b1) - } - } + return nil + }) + + require.NoError(t, err) } } @@ -159,11 +161,10 @@ func TestRemoveBlock(t *testing.T) { } func TestGetBlockInDepth(t *testing.T) { - db, teardown := testutil.PrepareDB(t) + db, teardown := prepareDB(t) defer teardown() - bc, err := newBlockTree(db) - assert.Nil(t, err) + bc := &blockTree{} blocks := []coin.Block{ coin.Block{ Head: coin.BlockHeader{ @@ -186,21 +187,42 @@ func TestGetBlockInDepth(t *testing.T) { }, } - assert.Nil(t, bc.AddBlock(&blocks[0])) - blocks[1].Head.PrevHash = blocks[0].HashHeader() - assert.Nil(t, bc.AddBlock(&blocks[1])) - blocks[2].Head.PrevHash = blocks[0].HashHeader() - assert.Nil(t, bc.AddBlock(&blocks[2])) - - block := bc.GetBlockInDepth(1, func(hps []coin.HashPair) cipher.SHA256 { - for _, hp := range hps { - b := bc.GetBlock(hp.Hash) - if b.Time() == 2 { - return b.HashHeader() + err := db.Update("", func(tx *dbutil.Tx) error { + err := bc.AddBlock(tx, &blocks[0]) + require.NoError(t, err) + + blocks[1].Head.PrevHash = blocks[0].HashHeader() + err = bc.AddBlock(tx, &blocks[1]) + require.NoError(t, err) + + blocks[2].Head.PrevHash = blocks[0].HashHeader() + err = bc.AddBlock(tx, &blocks[2]) + require.NoError(t, err) + + return nil + }) + + require.NoError(t, err) + + var block *coin.Block + err = db.View("", func(tx *dbutil.Tx) error { + var err error + block, err = bc.GetBlockInDepth(tx, 1, func(tx *dbutil.Tx, hps []coin.HashPair) (cipher.SHA256, bool) { + for _, hp := range hps { + b, err := bc.GetBlock(tx, hp.Hash) + require.NoError(t, err) + if b.Time() == 2 { + return b.HashHeader(), true + } } - } - return cipher.SHA256{} + return cipher.SHA256{}, false + }) + require.NoError(t, err) + return err }) - assert.Equal(t, *block, blocks[2]) + require.NoError(t, err) + + require.NotNil(t, block) + require.Equal(t, blocks[2], *block) } diff --git a/src/visor/blockdb/blockchain.go b/src/visor/blockdb/blockchain.go index ec19198..13f6a72 100755 --- a/src/visor/blockdb/blockchain.go +++ b/src/visor/blockdb/blockchain.go @@ -3,100 +3,96 @@ package blockdb import ( "errors" "fmt" - "sync" - - "github.com/boltdb/bolt" "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/coin" - "github.com/skycoin/skycoin/src/visor/bucket" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/visor/dbutil" ) var ( - // blockchain meta info bucket - blockchainMetaBkt = []byte("blockchain_meta") - // blockchain head sequence number - headSeqKey = []byte("head_seq") + logger = logging.MustGetLogger("blockdb") + + // ErrNoHeadBlock is returned when calling Blockchain.Head() when no head block exists + ErrNoHeadBlock = fmt.Errorf("found no head block") ) -// ErrMissingSignature is returned if no matching signature is found for a block in the db +// ErrMissingSignature is returned if a block in the db does not have a corresponding signature in the db type ErrMissingSignature struct { - Seq uint64 - Hash string + b *coin.Block } -func (e ErrMissingSignature) Error() string { - msg := "find no signature of block" - if e.Hash != "" { - return fmt.Sprintf("%s: hash=%s", msg, e.Hash) +// NewErrMissingSignature creates ErrMissingSignature from *coin.Block +func NewErrMissingSignature(b *coin.Block) error { + return ErrMissingSignature{ + b: b, } - return fmt.Sprintf("%s: seq=%d", msg, e.Seq) } -type chainMeta struct { - bucket.Bucket -} - -func newChainMeta(db *bolt.DB) (*chainMeta, error) { - bkt, err := bucket.New(blockchainMetaBkt, db) - if err != nil { - return nil, err - } - - return &chainMeta{ - Bucket: *bkt, - }, nil +func (e ErrMissingSignature) Error() string { + return fmt.Sprintf("Signature not found for block seq=%d hash=%s", e.b.Head.BkSeq, e.b.HashHeader().Hex()) } -func (m chainMeta) setHeadSeqWithTx(tx *bolt.Tx, seq uint64) error { - return m.PutWithTx(tx, headSeqKey, bucket.Itob(seq)) +// CreateBuckets creates bolt.DB buckets used by the blockdb +func CreateBuckets(tx *dbutil.Tx) error { + return dbutil.CreateBuckets(tx, [][]byte{ + BlockSigsBkt, + BlocksBkt, + TreeBkt, + BlockchainMetaBkt, + UnspentPoolBkt, + UnspentPoolAddrIndexBkt, + UnspentMetaBkt, + }) } // BlockTree block storage type BlockTree interface { - AddBlockWithTx(tx *bolt.Tx, b *coin.Block) error - GetBlock(hash cipher.SHA256) *coin.Block - GetBlockInDepth(dep uint64, filter func(hps []coin.HashPair) cipher.SHA256) *coin.Block + AddBlock(*dbutil.Tx, *coin.Block) error + GetBlock(*dbutil.Tx, cipher.SHA256) (*coin.Block, error) + GetBlockInDepth(*dbutil.Tx, uint64, Walker) (*coin.Block, error) + ForEachBlock(*dbutil.Tx, func(*coin.Block) error) error } // BlockSigs block signature storage type BlockSigs interface { - AddWithTx(*bolt.Tx, cipher.SHA256, cipher.Sig) error - Get(hash cipher.SHA256) (cipher.Sig, bool, error) + Add(*dbutil.Tx, cipher.SHA256, cipher.Sig) error + Get(*dbutil.Tx, cipher.SHA256) (cipher.Sig, bool, error) + ForEach(*dbutil.Tx, func(cipher.SHA256, cipher.Sig) error) error } -// UnspentPool unspent outputs pool -type UnspentPool interface { - Len() uint64 // Len returns the length of unspent outputs pool - Get(cipher.SHA256) (coin.UxOut, bool) // Get returns outpus - GetAll() (coin.UxArray, error) - GetArray(hashes []cipher.SHA256) (coin.UxArray, error) - GetUxHash() cipher.SHA256 - GetUnspentsOfAddrs(addrs []cipher.Address) coin.AddressUxOuts - ProcessBlock(*coin.SignedBlock) bucket.TxHandler - Contains(cipher.SHA256) bool +// UnspentPooler unspent outputs pool +type UnspentPooler interface { + MaybeBuildIndexes(*dbutil.Tx, uint64) error + Len(*dbutil.Tx) (uint64, error) + Contains(*dbutil.Tx, cipher.SHA256) (bool, error) + Get(*dbutil.Tx, cipher.SHA256) (*coin.UxOut, error) + GetAll(*dbutil.Tx) (coin.UxArray, error) + GetArray(*dbutil.Tx, []cipher.SHA256) (coin.UxArray, error) + GetUxHash(*dbutil.Tx) (cipher.SHA256, error) + GetUnspentsOfAddrs(*dbutil.Tx, []cipher.Address) (coin.AddressUxOuts, error) + ProcessBlock(*dbutil.Tx, *coin.SignedBlock) error + AddressCount(*dbutil.Tx) (uint64, error) } -// Walker function for go through blockchain -type Walker func(hps []coin.HashPair) cipher.SHA256 +// ChainMeta blockchain metadata +type ChainMeta interface { + GetHeadSeq(*dbutil.Tx) (uint64, bool, error) + SetHeadSeq(*dbutil.Tx, uint64) error +} // Blockchain maintain the buckets for blockchain type Blockchain struct { - db *bolt.DB - meta *chainMeta - unspent UnspentPool + db *dbutil.DB + meta ChainMeta + unspent UnspentPooler tree BlockTree sigs BlockSigs walker Walker - cache struct { - headSeq uint64 // head block seq - genesisBlock *coin.SignedBlock - } - sync.RWMutex // cache lock } // NewBlockchain creates a new blockchain instance -func NewBlockchain(db *bolt.DB, walker Walker) (*Blockchain, error) { +func NewBlockchain(db *dbutil.DB, walker Walker) (*Blockchain, error) { if db == nil { return nil, errors.New("db is nil") } @@ -105,127 +101,119 @@ func NewBlockchain(db *bolt.DB, walker Walker) (*Blockchain, error) { return nil, errors.New("blockchain walker is nil") } - unspent, err := NewUnspentPool(db) - if err != nil { - return nil, err - } - - tree, err := newBlockTree(db) - if err != nil { - return nil, err - } - - sigs, err := newBlockSigs(db) - if err != nil { - return nil, err - } - - return createBlockchain(db, walker, tree, sigs, unspent) -} - -func createBlockchain(db *bolt.DB, - walker Walker, - tree BlockTree, - sigs BlockSigs, - unspent UnspentPool, -) (*Blockchain, error) { - meta, err := newChainMeta(db) - if err != nil { - return nil, err - } - - bc := &Blockchain{ + return &Blockchain{ db: db, - unspent: unspent, - meta: meta, - tree: tree, - sigs: sigs, + unspent: NewUnspentPool(), + meta: &chainMeta{}, + tree: &blockTree{}, + sigs: &blockSigs{}, walker: walker, - } - - if err := bc.syncCache(); err != nil { - return nil, err - } + }, nil +} - return bc, nil +// UnspentPool returns the unspent pool +func (bc *Blockchain) UnspentPool() UnspentPooler { + return bc.unspent } -// AddBlockWithTx adds signed block -func (bc *Blockchain) AddBlockWithTx(tx *bolt.Tx, sb *coin.SignedBlock) error { - if err := bc.sigs.AddWithTx(tx, sb.HashHeader(), sb.Sig); err != nil { +// AddBlock adds signed block +func (bc *Blockchain) AddBlock(tx *dbutil.Tx, sb *coin.SignedBlock) error { + if err := bc.sigs.Add(tx, sb.HashHeader(), sb.Sig); err != nil { return fmt.Errorf("save signature failed: %v", err) } - if err := bc.tree.AddBlockWithTx(tx, &sb.Block); err != nil { + if err := bc.tree.AddBlock(tx, &sb.Block); err != nil { return fmt.Errorf("save block failed: %v", err) } // update block head seq and unspent pool - if err := bc.processBlockWithTx(tx, sb); err != nil { + if err := bc.processBlock(tx, sb); err != nil { return err } return nil } -// processBlockWithTx process block with *bolt.Tx -func (bc *Blockchain) processBlockWithTx(tx *bolt.Tx, b *coin.SignedBlock) error { - return bc.updateWithTx(tx, bc.updateHeadSeq(b), bc.unspent.ProcessBlock(b), bc.cacheGenesisBlock(b)) +// processBlock processes a block and updates the db +func (bc *Blockchain) processBlock(tx *dbutil.Tx, b *coin.SignedBlock) error { + if err := bc.unspent.ProcessBlock(tx, b); err != nil { + return err + } + + return bc.meta.SetHeadSeq(tx, b.Seq()) } -// Head returns head block, returns error if no block does exist -func (bc *Blockchain) Head() (*coin.SignedBlock, error) { - b, err := bc.GetBlockBySeq(bc.HeadSeq()) +// Head returns head block, returns error if no head block exists +func (bc *Blockchain) Head(tx *dbutil.Tx) (*coin.SignedBlock, error) { + seq, ok, err := bc.HeadSeq(tx) + if err != nil { + return nil, err + } else if !ok { + return nil, ErrNoHeadBlock + } + + b, err := bc.GetSignedBlockBySeq(tx, seq) if err != nil { return nil, err } if b == nil { - return nil, fmt.Errorf("found no head block: %v", bc.HeadSeq()) + return nil, ErrNoHeadBlock } return b, nil } // HeadSeq returns the head block sequence -func (bc *Blockchain) HeadSeq() uint64 { - bc.RLock() - defer bc.RUnlock() - return bc.cache.headSeq +func (bc *Blockchain) HeadSeq(tx *dbutil.Tx) (uint64, bool, error) { + return bc.meta.GetHeadSeq(tx) } -// UnspentPool returns the unspent pool -func (bc *Blockchain) UnspentPool() UnspentPool { - return bc.unspent +// Len returns blockchain length +func (bc *Blockchain) Len(tx *dbutil.Tx) (uint64, error) { + seq, ok, err := bc.meta.GetHeadSeq(tx) + if err != nil { + return 0, err + } else if !ok { + return 0, nil + } + + return seq + 1, nil } -// Len returns blockchain length -func (bc *Blockchain) Len() uint64 { - bc.RLock() - defer bc.RUnlock() - if bc.cache.genesisBlock == nil { - return 0 +// GetBlockSignature returns the signature of a block +func (bc *Blockchain) GetBlockSignature(tx *dbutil.Tx, b *coin.Block) (cipher.Sig, bool, error) { + return bc.sigs.Get(tx, b.HashHeader()) +} + +// GetBlockByHash returns block of given hash +func (bc *Blockchain) GetBlockByHash(tx *dbutil.Tx, hash cipher.SHA256) (*coin.Block, error) { + b, err := bc.tree.GetBlock(tx, hash) + if err != nil { + return nil, err } - return uint64(bc.cache.headSeq + 1) + + return b, nil } -// GetBlockByHash returns signed block of given hash -func (bc *Blockchain) GetBlockByHash(hash cipher.SHA256) (*coin.SignedBlock, error) { - b := bc.tree.GetBlock(hash) +// GetSignedBlockByHash returns signed block of given hash +func (bc *Blockchain) GetSignedBlockByHash(tx *dbutil.Tx, hash cipher.SHA256) (*coin.SignedBlock, error) { + b, err := bc.tree.GetBlock(tx, hash) + if err != nil { + return nil, err + } if b == nil { return nil, nil } // get signature - sig, ok, err := bc.sigs.Get(hash) + sig, ok, err := bc.sigs.Get(tx, hash) if err != nil { return nil, fmt.Errorf("find signature of block: %v failed: %v", hash.Hex(), err) } if !ok { - return nil, ErrMissingSignature{ - Hash: hash.Hex(), - } + return nil, NewErrMissingSignature(b) } return &coin.SignedBlock{ @@ -234,22 +222,23 @@ func (bc *Blockchain) GetBlockByHash(hash cipher.SHA256) (*coin.SignedBlock, err }, nil } -// GetBlockBySeq returns signed block of given seq -func (bc *Blockchain) GetBlockBySeq(seq uint64) (*coin.SignedBlock, error) { - b := bc.tree.GetBlockInDepth(seq, bc.walker) +// GetSignedBlockBySeq returns signed block of given seq +func (bc *Blockchain) GetSignedBlockBySeq(tx *dbutil.Tx, seq uint64) (*coin.SignedBlock, error) { + b, err := bc.tree.GetBlockInDepth(tx, seq, bc.walker) + if err != nil { + return nil, fmt.Errorf("bc.tree.GetBlockInDepth failed: %v", err) + } if b == nil { return nil, nil } - sig, ok, err := bc.sigs.Get(b.HashHeader()) + sig, ok, err := bc.sigs.Get(tx, b.HashHeader()) if err != nil { return nil, fmt.Errorf("find signature of block: %v failed: %v", seq, err) } if !ok { - return nil, ErrMissingSignature{ - Seq: seq, - } + return nil, NewErrMissingSignature(b) } return &coin.SignedBlock{ @@ -259,103 +248,11 @@ func (bc *Blockchain) GetBlockBySeq(seq uint64) (*coin.SignedBlock, error) { } // GetGenesisBlock returns genesis block -func (bc *Blockchain) GetGenesisBlock() *coin.SignedBlock { - bc.RLock() - defer bc.RUnlock() - return bc.cache.genesisBlock +func (bc *Blockchain) GetGenesisBlock(tx *dbutil.Tx) (*coin.SignedBlock, error) { + return bc.GetSignedBlockBySeq(tx, 0) } -func (bc *Blockchain) syncCache() error { - // update head seq cache - bc.Lock() - defer bc.Unlock() - bc.cache.headSeq = bc.getHeadSeqFromDB() - - // load genesis block - if bc.cache.genesisBlock == nil { - b, err := bc.GetBlockBySeq(0) - if err != nil { - return err - } - - bc.cache.genesisBlock = b - } - return nil -} - -func (bc *Blockchain) getHeadSeqFromDB() uint64 { - if v := bc.meta.Get(headSeqKey); v != nil { - return bucket.Btoi(v) - } - - return 0 -} - -// dbUpdate will execute all processors in sequence, return error will rollback all -// updates to the db -func (bc *Blockchain) dbUpdate(ps ...bucket.TxHandler) error { - return bc.db.Update(func(tx *bolt.Tx) error { - return bc.updateWithTx(tx, ps...) - }) -} - -func (bc *Blockchain) updateWithTx(tx *bolt.Tx, ps ...bucket.TxHandler) error { - rollbackFuncs := []bucket.Rollback{} - for _, p := range ps { - rb, err := p(tx) - if err != nil { - // rollback previous updates if any - for _, r := range rollbackFuncs { - r() - } - return err - } - rollbackFuncs = append(rollbackFuncs, rb) - } - - return nil -} - -func (bc *Blockchain) updateHeadSeq(b *coin.SignedBlock) bucket.TxHandler { - return func(tx *bolt.Tx) (bucket.Rollback, error) { - // meta := chainMeta{tx.Bucket(bc.meta.Name)} - if err := bc.meta.setHeadSeqWithTx(tx, b.Seq()); err != nil { - return func() {}, err - } - - bc.Lock() - // get current head seq - seq := bc.cache.headSeq - - // update the cache head seq - bc.cache.headSeq = b.Seq() - bc.Unlock() - - return func() { - // reset the cache head seq - bc.Lock() - bc.cache.headSeq = seq - bc.Unlock() - }, nil - } -} - -// cacheGenesisBlock will cache genesis block if the current block is genesis -func (bc *Blockchain) cacheGenesisBlock(b *coin.SignedBlock) bucket.TxHandler { - return func(tx *bolt.Tx) (bucket.Rollback, error) { - bc.Lock() - defer bc.Unlock() - - seq := bc.cache.headSeq - originGenesisBlock := bc.cache.genesisBlock - if seq == 0 { - bc.cache.genesisBlock = b - } - - return func() { - bc.Lock() - bc.cache.genesisBlock = originGenesisBlock - bc.Unlock() - }, nil - } +// ForEachBlock iterates all blocks and calls f on them +func (bc *Blockchain) ForEachBlock(tx *dbutil.Tx, f func(b *coin.Block) error) error { + return bc.tree.ForEachBlock(tx, f) } diff --git a/src/visor/blockdb/blockchain_test.go b/src/visor/blockdb/blockchain_test.go index fea996e..d115a35 100755 --- a/src/visor/blockdb/blockchain_test.go +++ b/src/visor/blockdb/blockchain_test.go @@ -7,86 +7,138 @@ import ( "github.com/stretchr/testify/require" - "github.com/boltdb/bolt" - "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/testutil" - "github.com/skycoin/skycoin/src/visor/bucket" + "github.com/skycoin/skycoin/src/visor/dbutil" ) +func prepareDB(t *testing.T) (*dbutil.DB, func()) { + db, shutdown := testutil.PrepareDB(t) + + err := db.Update("", func(tx *dbutil.Tx) error { + return CreateBuckets(tx) + }) + if err != nil { + shutdown() + t.Fatalf("CreateBuckets failed: %v", err) + } + + return db, shutdown +} + var ( - genPublic, genSecret = cipher.GenerateKeyPair() - genAddress = cipher.AddressFromPubKey(genPublic) - genTime uint64 = 1000 - genCoinHours uint64 = 1000 * 1000 - failedWhenSave bool + genPublic, genSecret = cipher.GenerateKeyPair() + genAddress = cipher.AddressFromPubKey(genPublic) + + genTime uint64 = 1000 + genCoinHours uint64 = 1000 * 1000 ) -func _feeCalc(t *coin.Transaction) (uint64, error) { +func feeCalc(t *coin.Transaction) (uint64, error) { return 0, nil } -func cleanState() { - failedWhenSave = false +type fakeStorage struct { + tree *fakeBlockTree + sigs *fakeSignatureStore + unspent *fakeUnspentPool + chainMeta *fakeChainMeta +} + +func newFakeStorage() *fakeStorage { + var failedWhenSaved bool + return &fakeStorage{ + tree: newFakeBlockTree(&failedWhenSaved), + sigs: newFakeSigStore(&failedWhenSaved), + unspent: newFakeUnspentPool(&failedWhenSaved), + chainMeta: newFakeChainMeta(), + } } type fakeBlockTree struct { blocks map[string]*coin.Block saveFailed bool + + // state tracking: do not configure directly + // set to true if saveFailed was true and certain operations were performed + failedWhenSaved *bool } -func newFakeBlockTree() *fakeBlockTree { +func newFakeBlockTree(failedWhenSaved *bool) *fakeBlockTree { return &fakeBlockTree{ - blocks: make(map[string]*coin.Block), + blocks: make(map[string]*coin.Block), + failedWhenSaved: failedWhenSaved, } } -func (bt fakeBlockTree) AddBlockWithTx(tx *bolt.Tx, b *coin.Block) error { +func (bt *fakeBlockTree) AddBlock(tx *dbutil.Tx, b *coin.Block) error { if bt.saveFailed { - failedWhenSave = true - return errors.New("intentional failed") + if bt.failedWhenSaved != nil { + *bt.failedWhenSaved = true + } + return errors.New("intentionally failed") } bt.blocks[b.HashHeader().Hex()] = b return nil } -func (bt fakeBlockTree) GetBlock(hash cipher.SHA256) *coin.Block { - if failedWhenSave { - return nil +func (bt *fakeBlockTree) GetBlock(tx *dbutil.Tx, hash cipher.SHA256) (*coin.Block, error) { + if bt.failedWhenSaved != nil && *bt.failedWhenSaved { + return nil, nil + } + return bt.blocks[hash.Hex()], nil +} + +func (bt *fakeBlockTree) GetBlockInDepth(tx *dbutil.Tx, dep uint64, filter Walker) (*coin.Block, error) { + if bt.failedWhenSaved != nil && *bt.failedWhenSaved { + return nil, nil + } + + for _, b := range bt.blocks { + if b.Head.BkSeq == dep { + return b, nil + } } - return bt.blocks[hash.Hex()] + + return nil, nil } -func (bt fakeBlockTree) GetBlockInDepth(dep uint64, filter func(hps []coin.HashPair) cipher.SHA256) *coin.Block { +func (bt *fakeBlockTree) ForEachBlock(tx *dbutil.Tx, f func(*coin.Block) error) error { return nil } type fakeSignatureStore struct { - db *bolt.DB sigs map[string]cipher.Sig saveFailed bool getSigErr error + + // state tracking: do not configure directly + // set to true if saveFailed was true and certain operations were performed + failedWhenSaved *bool } -func newFakeSigStore() *fakeSignatureStore { +func newFakeSigStore(failedWhenSaved *bool) *fakeSignatureStore { return &fakeSignatureStore{ - sigs: make(map[string]cipher.Sig), + sigs: make(map[string]cipher.Sig), + failedWhenSaved: failedWhenSaved, } } -func (ss fakeSignatureStore) AddWithTx(tx *bolt.Tx, hash cipher.SHA256, sig cipher.Sig) error { +func (ss *fakeSignatureStore) Add(tx *dbutil.Tx, hash cipher.SHA256, sig cipher.Sig) error { if ss.saveFailed { - failedWhenSave = true - return errors.New("intentional failed") + if ss.failedWhenSaved != nil { + *ss.failedWhenSaved = true + } + return errors.New("intentionally failed") } ss.sigs[hash.Hex()] = sig return nil } -func (ss fakeSignatureStore) Get(hash cipher.SHA256) (cipher.Sig, bool, error) { - if failedWhenSave { +func (ss *fakeSignatureStore) Get(tx *dbutil.Tx, hash cipher.SHA256) (cipher.Sig, bool, error) { + if ss.failedWhenSaved != nil && *ss.failedWhenSaved { return cipher.Sig{}, false, nil } @@ -98,28 +150,44 @@ func (ss fakeSignatureStore) Get(hash cipher.SHA256) (cipher.Sig, bool, error) { return sig, ok, nil } +func (ss *fakeSignatureStore) ForEach(tx *dbutil.Tx, f func(cipher.SHA256, cipher.Sig) error) error { + return nil +} + type fakeUnspentPool struct { outs map[cipher.SHA256]coin.UxOut uxHash cipher.SHA256 saveFailed bool + + // state tracking: do not configure directly + // set to true if saveFailed was true and certain operations were performed + failedWhenSaved *bool } -func newFakeUnspentsPool() *fakeUnspentPool { +func newFakeUnspentPool(failedWhenSaved *bool) *fakeUnspentPool { return &fakeUnspentPool{ - outs: make(map[cipher.SHA256]coin.UxOut), + outs: make(map[cipher.SHA256]coin.UxOut), + failedWhenSaved: failedWhenSaved, } } -func (fup fakeUnspentPool) Len() uint64 { - return uint64(len(fup.outs)) +func (fup *fakeUnspentPool) MaybeBuildIndexes(tx *dbutil.Tx, height uint64) error { + return nil } -func (fup fakeUnspentPool) Get(h cipher.SHA256) (coin.UxOut, bool) { +func (fup *fakeUnspentPool) Len(tx *dbutil.Tx) (uint64, error) { + return uint64(len(fup.outs)), nil +} + +func (fup *fakeUnspentPool) Get(tx *dbutil.Tx, h cipher.SHA256) (*coin.UxOut, error) { out, ok := fup.outs[h] - return out, ok + if !ok { + return nil, nil + } + return &out, nil } -func (fup fakeUnspentPool) GetAll() (coin.UxArray, error) { +func (fup *fakeUnspentPool) GetAll(tx *dbutil.Tx) (coin.UxArray, error) { outs := make(coin.UxArray, 0, len(fup.outs)) for _, out := range fup.outs { outs = append(outs, out) @@ -128,7 +196,7 @@ func (fup fakeUnspentPool) GetAll() (coin.UxArray, error) { return outs, nil } -func (fup fakeUnspentPool) GetArray(hashes []cipher.SHA256) (coin.UxArray, error) { +func (fup *fakeUnspentPool) GetArray(tx *dbutil.Tx, hashes []cipher.SHA256) (coin.UxArray, error) { outs := make(coin.UxArray, 0, len(hashes)) for _, h := range hashes { ux, ok := fup.outs[h] @@ -141,86 +209,74 @@ func (fup fakeUnspentPool) GetArray(hashes []cipher.SHA256) (coin.UxArray, error return outs, nil } -func (fup fakeUnspentPool) GetUxHash() cipher.SHA256 { - return fup.uxHash +func (fup *fakeUnspentPool) GetUxHash(tx *dbutil.Tx) (cipher.SHA256, error) { + return fup.uxHash, nil } -func (fup fakeUnspentPool) GetUnspentsOfAddrs(addrs []cipher.Address) coin.AddressUxOuts { - addrOutMap := map[cipher.Address]coin.UxArray{} +func (fup *fakeUnspentPool) GetUnspentsOfAddrs(tx *dbutil.Tx, addrs []cipher.Address) (coin.AddressUxOuts, error) { + addrm := make(map[cipher.Address]struct{}, len(addrs)) + for _, a := range addrs { + addrm[a] = struct{}{} + } + + addrOutMap := make(coin.AddressUxOuts) for _, out := range fup.outs { addr := out.Body.Address addrOutMap[addr] = append(addrOutMap[addr], out) } - return addrOutMap + return addrOutMap, nil } -func (fup fakeUnspentPool) ProcessBlock(b *coin.SignedBlock) bucket.TxHandler { - return func(tx *bolt.Tx) (bucket.Rollback, error) { - if fup.saveFailed { - failedWhenSave = true - return func() {}, errors.New("intentional failed") +func (fup *fakeUnspentPool) ProcessBlock(tx *dbutil.Tx, b *coin.SignedBlock) error { + if fup.saveFailed { + if fup.failedWhenSaved != nil { + *fup.failedWhenSaved = true } - return func() {}, nil + return errors.New("intentionally failed") } + return nil } -func (fup fakeUnspentPool) Contains(h cipher.SHA256) bool { +func (fup *fakeUnspentPool) Contains(tx *dbutil.Tx, h cipher.SHA256) (bool, error) { _, ok := fup.outs[h] - return ok -} - -func TestNewBlockchain(t *testing.T) { - // walker := func(hps []coin.HashPair) cipher.SHA256 { - // return hps[0].Hash - // } - - // tt := []struct { - // name string - // wlk func(hps []coin.HashPair) cipher.SHA256 - // tree blockTree - // sigs signatureStore - // err error - // }{ - // { - // "ok", - // false, - // walker, - // &fakeBlockTree{}, - // &fakeSignatureStore{}, - // nil, - // }, - // } - - // for _, tc := range tt { - // t.Run(tc.name, func(t *testing.T) { - // db, err := testutil.PrepareDB(t) - // require.NoError(t, err) - // bc, err := NewBlockchain(db, walker) - // require.Equal(t, , actual interface{}, msgAndArgs ...interface{}) - // }) - // } - - // bc, err := NewBlockchain(db, func(hps []coin.HashPair) cipher.SHA256 { - // return hps[0].Hash - // }) - - // assert.Nil(t, err) - // assert.NotNil(t, bc.db) - // assert.NotNil(t, bc.UnspentPool()) - // assert.NotNil(t, bc.meta) - - // // check the existence of buckets - // db.View(func(tx *bolt.Tx) error { - // assert.NotNil(t, tx.Bucket([]byte("unspent_pool"))) - // assert.NotNil(t, tx.Bucket([]byte("unspent_meta"))) - // assert.NotNil(t, tx.Bucket([]byte("blockchain_meta"))) - // return nil - // }) -} - -func DefaultWalker(hps []coin.HashPair) cipher.SHA256 { - return hps[0].Hash + return ok, nil +} + +func (fup *fakeUnspentPool) AddressCount(tx *dbutil.Tx) (uint64, error) { + addrs := make(map[cipher.Address]struct{}) + for _, out := range fup.outs { + addrs[out.Body.Address] = struct{}{} + } + + return uint64(len(addrs)), nil +} + +type fakeChainMeta struct { + headSeq uint64 + didSetSeq bool +} + +func newFakeChainMeta() *fakeChainMeta { + return &fakeChainMeta{} +} + +func (fcm *fakeChainMeta) GetHeadSeq(tx *dbutil.Tx) (uint64, bool, error) { + if !fcm.didSetSeq { + return 0, false, nil + } + + return fcm.headSeq, true, nil +} + +func (fcm *fakeChainMeta) SetHeadSeq(tx *dbutil.Tx, seq uint64) error { + fcm.headSeq = seq + fcm.didSetSeq = true + return nil +} + +func DefaultWalker(tx *dbutil.Tx, hps []coin.HashPair) (cipher.SHA256, bool) { + return hps[0].Hash, true } func makeGenesisBlock(t *testing.T) coin.SignedBlock { @@ -236,41 +292,43 @@ func makeGenesisBlock(t *testing.T) coin.SignedBlock { func TestBlockchainAddBlockWithTx(t *testing.T) { type expect struct { - err error - sigSaved bool - blockSaved bool - genesisCached bool - headSeq uint64 + err error + sigSaved bool + blockSaved bool + headSeq uint64 + } + + type failedSaves struct { + tree bool + sigs bool + unspent bool } tt := []struct { - name string - tree BlockTree - sigs BlockSigs - unspents UnspentPool - expect expect + name string + fakeStorage *fakeStorage + failedSaves failedSaves + expect expect }{ { "ok", - newFakeBlockTree(), - newFakeSigStore(), - newFakeUnspentsPool(), + newFakeStorage(), + failedSaves{}, expect{ nil, true, true, - true, uint64(0), }, }, { "save sig failed", - newFakeBlockTree(), - fakeSignatureStore{saveFailed: true}, - newFakeUnspentsPool(), + newFakeStorage(), + failedSaves{ + sigs: true, + }, expect{ - errors.New("save signature failed: intentional failed"), - false, + errors.New("save signature failed: intentionally failed"), false, false, uint64(0), @@ -278,12 +336,12 @@ func TestBlockchainAddBlockWithTx(t *testing.T) { }, { "save block failed", - fakeBlockTree{saveFailed: true}, - newFakeSigStore(), - newFakeUnspentsPool(), + newFakeStorage(), + failedSaves{ + tree: true, + }, expect{ - errors.New("save block failed: intentional failed"), - false, + errors.New("save block failed: intentionally failed"), false, false, uint64(0), @@ -291,12 +349,12 @@ func TestBlockchainAddBlockWithTx(t *testing.T) { }, { "unspent process block failed", - newFakeBlockTree(), - newFakeSigStore(), - fakeUnspentPool{saveFailed: true}, + newFakeStorage(), + failedSaves{ + unspent: true, + }, expect{ - errors.New("intentional failed"), - false, + errors.New("intentionally failed"), false, false, uint64(0), @@ -306,78 +364,137 @@ func TestBlockchainAddBlockWithTx(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - cleanState() - db, closeDB := testutil.PrepareDB(t) + db, closeDB := prepareDB(t) defer closeDB() - bc, err := createBlockchain(db, - DefaultWalker, - tc.tree, - tc.sigs, - tc.unspents) - require.NoError(t, err) + + tc.fakeStorage.tree.saveFailed = tc.failedSaves.tree + tc.fakeStorage.sigs.saveFailed = tc.failedSaves.sigs + tc.fakeStorage.unspent.saveFailed = tc.failedSaves.unspent + + bc := &Blockchain{ + db: db, + unspent: tc.fakeStorage.unspent, + meta: tc.fakeStorage.chainMeta, + tree: tc.fakeStorage.tree, + sigs: tc.fakeStorage.sigs, + walker: DefaultWalker, + } gb := makeGenesisBlock(t) - err = db.Update(func(tx *bolt.Tx) error { - return bc.AddBlockWithTx(tx, &gb) + err := db.Update("", func(tx *dbutil.Tx) error { + err := bc.AddBlock(tx, &gb) + require.Equal(t, tc.expect.err, err) + return nil }) - - require.Equal(t, tc.expect.err, err) + require.NoError(t, err) // check sig - _, ok, err := tc.sigs.Get(gb.HashHeader()) + err = db.View("", func(tx *dbutil.Tx) error { + _, ok, err := tc.fakeStorage.sigs.Get(tx, gb.HashHeader()) + require.NoError(t, err) + require.Equal(t, tc.expect.sigSaved, ok) + + // check block in tree + b, err := tc.fakeStorage.tree.GetBlock(tx, gb.HashHeader()) + require.NoError(t, err) + require.Equal(t, tc.expect.blockSaved, b != nil) + + // check head seq + headSeq, ok, err := bc.HeadSeq(tx) + require.NoError(t, err) + + if tc.expect.err == nil { + require.True(t, ok) + require.Equal(t, tc.expect.headSeq, headSeq) + } else { + require.False(t, ok) + } + + // check len + length, err := bc.Len(tx) + require.NoError(t, err) + + if tc.expect.err == nil { + require.Equal(t, uint64(1), length) + } else { + require.Equal(t, uint64(0), length) + } + + // check genesis block + genesisBlock, err := bc.GetGenesisBlock(tx) + require.NoError(t, err) + + if tc.expect.err == nil { + require.NotNil(t, genesisBlock) + require.Equal(t, gb, *genesisBlock) + } else { + require.Nil(t, genesisBlock) + } + + return nil + }) require.NoError(t, err) - require.Equal(t, tc.expect.sigSaved, ok) - - // check block in tree - b := tc.tree.GetBlock(gb.HashHeader()) - require.Equal(t, tc.expect.blockSaved, b != nil) - - // check cache of head seq - require.Equal(t, tc.expect.headSeq, bc.cache.headSeq) - - require.Equal(t, tc.expect.genesisCached, bc.cache.genesisBlock != nil) - if tc.expect.genesisCached { - require.Equal(t, gb.HashHeader().Hex(), bc.cache.genesisBlock.HashHeader().Hex()) - } }) } } func TestBlockchainHead(t *testing.T) { - cleanState() - db, closeDB := testutil.PrepareDB(t) + db, closeDB := prepareDB(t) defer closeDB() bc, err := NewBlockchain(db, DefaultWalker) require.NoError(t, err) - _, err = bc.Head() - require.EqualError(t, err, "found no head block: 0") + err = db.Update("", func(tx *dbutil.Tx) error { + _, err = bc.Head(tx) + require.Equal(t, err, ErrNoHeadBlock) - gb := makeGenesisBlock(t) - db.Update(func(tx *bolt.Tx) error { - err := bc.AddBlockWithTx(tx, &gb) + gb := makeGenesisBlock(t) + + err := bc.AddBlock(tx, &gb) + require.NoError(t, err) + + b, err := bc.Head(tx) require.NoError(t, err) + require.Equal(t, gb.HashHeader().Hex(), b.HashHeader().Hex()) + return nil }) - - b, err := bc.Head() require.NoError(t, err) - require.Equal(t, gb.HashHeader().Hex(), b.HashHeader().Hex()) } func TestBlockchainLen(t *testing.T) { - bc := Blockchain{} - require.Equal(t, uint64(0), bc.Len()) + db, closeDB := prepareDB(t) + defer closeDB() + + bc, err := NewBlockchain(db, DefaultWalker) + require.NoError(t, err) + + err = db.View("", func(tx *dbutil.Tx) error { + length, err := bc.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(0), length) + return nil + }) + require.NoError(t, err) gb := makeGenesisBlock(t) - bc.cache.genesisBlock = &gb - require.Equal(t, uint64(1), bc.Len()) + err = db.Update("", func(tx *dbutil.Tx) error { + err := bc.AddBlock(tx, &gb) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) - bc.cache.headSeq = 1 - require.Equal(t, uint64(2), bc.Len()) + err = db.View("", func(tx *dbutil.Tx) error { + length, err := bc.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(1), length) + return nil + }) + require.NoError(t, err) } func TestBlockchainGetBlockByHash(t *testing.T) { @@ -439,7 +556,7 @@ func TestBlockchainGetBlockByHash(t *testing.T) { }, gb.HashHeader(), expect{ - ErrMissingSignature{Hash: gb.HashHeader().Hex()}, + NewErrMissingSignature(&gb.Block), nil, }, }, @@ -464,16 +581,22 @@ func TestBlockchainGetBlockByHash(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - cleanState() + db, closeDB := prepareDB(t) + defer closeDB() - bc := Blockchain{ - tree: tc.tree, - sigs: tc.sigs, - } + bc, err := NewBlockchain(db, DefaultWalker) + require.NoError(t, err) - b, err := bc.GetBlockByHash(tc.hash) - require.Equal(t, tc.expect.err, err) - require.Equal(t, tc.expect.b, b) + bc.tree = tc.tree + bc.sigs = tc.sigs + + err = db.View("", func(tx *dbutil.Tx) error { + b, err := bc.GetSignedBlockByHash(tx, tc.hash) + require.Equal(t, tc.expect.err, err) + require.Equal(t, tc.expect.b, b) + return nil + }) + require.NoError(t, err) }) } } diff --git a/src/visor/blockdb/blockdb.go b/src/visor/blockdb/blockdb.go deleted file mode 100755 index 65db517..0000000 --- a/src/visor/blockdb/blockdb.go +++ /dev/null @@ -1,5 +0,0 @@ -package blockdb - -//https://github.com/boltdb/bolt -//https://github.com/abhigupta912/mbuckets -//https://github.com/asdine/storm diff --git a/src/visor/blockdb/blocksigs.go b/src/visor/blockdb/blocksigs.go index 2384258..502d9e1 100755 --- a/src/visor/blockdb/blocksigs.go +++ b/src/visor/blockdb/blocksigs.go @@ -1,11 +1,14 @@ package blockdb import ( - "github.com/boltdb/bolt" - "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/cipher/encoder" - "github.com/skycoin/skycoin/src/visor/bucket" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + // BlockSigsBkt holds block signatures + BlockSigsBkt = []byte("block_sigs") ) // blockSigs manages known blockSigs as received. @@ -18,40 +21,39 @@ import ( // blockSigs per BkSeq, or use hashes as keys. For now, this is not a // problem assuming the signed blocks created from master are valid blocks, // because we can check the signature independently of the blockchain. -type blockSigs struct { - Sigs *bucket.Bucket -} +type blockSigs struct{} -var ( - blockSigsBkt = []byte("block_sigs") -) +// Get returns the signature of a specific block +func (bs blockSigs) Get(tx *dbutil.Tx, hash cipher.SHA256) (cipher.Sig, bool, error) { + var sig cipher.Sig -// newBlockSigs create block signature buckets -func newBlockSigs(db *bolt.DB) (*blockSigs, error) { - sigs, err := bucket.New(blockSigsBkt, db) - if err != nil { - return nil, err + if ok, err := dbutil.GetBucketObjectDecoded(tx, BlockSigsBkt, hash[:], &sig); err != nil { + return cipher.Sig{}, false, err + } else if !ok { + return cipher.Sig{}, false, nil } - return &blockSigs{ - Sigs: sigs, - }, nil + return sig, true, nil } -// Get returns signature of specific block -func (bs blockSigs) Get(hash cipher.SHA256) (cipher.Sig, bool, error) { - bin := bs.Sigs.Get(hash[:]) - if bin == nil { - return cipher.Sig{}, false, nil - } - var sig cipher.Sig - if err := encoder.DeserializeRaw(bin, &sig); err != nil { - return cipher.Sig{}, false, err - } - return sig, true, nil +// Add adds a signed block to the db +func (bs *blockSigs) Add(tx *dbutil.Tx, hash cipher.SHA256, sig cipher.Sig) error { + return dbutil.PutBucketValue(tx, BlockSigsBkt, hash[:], encoder.Serialize(sig)) } -// AddWithTx add signed block with bolt.Tx -func (bs *blockSigs) AddWithTx(tx *bolt.Tx, hash cipher.SHA256, sig cipher.Sig) error { - return bs.Sigs.PutWithTx(tx, hash[:], encoder.Serialize(sig)) +// ForEach iterates all signatures and calls f on them +func (bs *blockSigs) ForEach(tx *dbutil.Tx, f func(cipher.SHA256, cipher.Sig) error) error { + return dbutil.ForEach(tx, BlockSigsBkt, func(k, v []byte) error { + hash, err := cipher.SHA256FromBytes(k) + if err != nil { + return err + } + + var sig cipher.Sig + if err := encoder.DeserializeRaw(v, &sig); err != nil { + return err + } + + return f(hash, sig) + }) } diff --git a/src/visor/blockdb/blocksigs_test.go b/src/visor/blockdb/blocksigs_test.go index cc3c570..09f7112 100755 --- a/src/visor/blockdb/blocksigs_test.go +++ b/src/visor/blockdb/blocksigs_test.go @@ -3,32 +3,14 @@ package blockdb import ( "testing" - "github.com/boltdb/bolt" "github.com/stretchr/testify/require" "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/cipher/encoder" "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor/dbutil" ) -func TestNewBlockSigs(t *testing.T) { - db, closeDB := testutil.PrepareDB(t) - defer closeDB() - - sigs, err := newBlockSigs(db) - require.NoError(t, err) - require.NotNil(t, sigs) - - // check the bucket - require.NotNil(t, sigs.Sigs) - - db.View(func(tx *bolt.Tx) error { - bkt := tx.Bucket(blockSigsBkt) - require.NotNil(t, bkt) - return nil - }) -} - func TestBlockSigsGet(t *testing.T) { type hashSig struct { hash cipher.SHA256 @@ -83,12 +65,12 @@ func TestBlockSigsGet(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - db, closeDB := testutil.PrepareDB(t) + db, closeDB := prepareDB(t) defer closeDB() // init db - db.Update(func(tx *bolt.Tx) error { - bkt, err := tx.CreateBucketIfNotExists(blockSigsBkt) + err := db.Update("", func(tx *dbutil.Tx) error { + bkt, err := tx.CreateBucketIfNotExists(BlockSigsBkt) require.NoError(t, err) for _, hs := range tc.init { err = bkt.Put(hs.hash[:], encoder.Serialize(hs.sig)) @@ -96,37 +78,43 @@ func TestBlockSigsGet(t *testing.T) { } return nil }) + require.NoError(t, err) + + sigs := &blockSigs{} - sigs, err := newBlockSigs(db) + err = db.View("", func(tx *dbutil.Tx) error { + sg, ok, err := sigs.Get(tx, tc.hash) + require.Equal(t, tc.expect.err, err) + require.Equal(t, tc.expect.exist, ok) + if ok { + require.Equal(t, tc.expect.sig, sg) + } + + return nil + }) require.NoError(t, err) - sg, ok, err := sigs.Get(tc.hash) - require.Equal(t, tc.expect.err, err) - require.Equal(t, tc.expect.exist, ok) - if ok { - require.Equal(t, tc.expect.sig, sg) - } }) } } func TestBlockSigsAddWithTx(t *testing.T) { - db, closeDB := testutil.PrepareDB(t) + db, closeDB := prepareDB(t) defer closeDB() _, s := cipher.GenerateKeyPair() h := testutil.RandSHA256(t) sig := cipher.SignHash(h, s) - sigs, err := newBlockSigs(db) - require.NoError(t, err) + sigs := &blockSigs{} - db.Update(func(tx *bolt.Tx) error { - return sigs.AddWithTx(tx, h, sig) + err := db.Update("", func(tx *dbutil.Tx) error { + return sigs.Add(tx, h, sig) }) + require.NoError(t, err) // check the db - db.View(func(tx *bolt.Tx) error { - bkt := tx.Bucket(blockSigsBkt) + err = db.View("", func(tx *dbutil.Tx) error { + bkt := tx.Bucket(BlockSigsBkt) v := bkt.Get(h[:]) require.NotNil(t, v) var s cipher.Sig @@ -135,4 +123,5 @@ func TestBlockSigsAddWithTx(t *testing.T) { require.Equal(t, sig, s) return nil }) + require.NoError(t, err) } diff --git a/src/visor/blockdb/chain_meta.go b/src/visor/blockdb/chain_meta.go new file mode 100755 index 0000000..fdfaf33 --- /dev/null +++ b/src/visor/blockdb/chain_meta.go @@ -0,0 +1,29 @@ +package blockdb + +import ( + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + // BlockchainMetaBkt holds blockchain metadata + BlockchainMetaBkt = []byte("blockchain_meta") + // blockchain head sequence number + headSeqKey = []byte("head_seq") +) + +type chainMeta struct{} + +func (m chainMeta) SetHeadSeq(tx *dbutil.Tx, seq uint64) error { + return dbutil.PutBucketValue(tx, BlockchainMetaBkt, headSeqKey, dbutil.Itob(seq)) +} + +func (m chainMeta) GetHeadSeq(tx *dbutil.Tx) (uint64, bool, error) { + v, err := dbutil.GetBucketValue(tx, BlockchainMetaBkt, headSeqKey) + if err != nil { + return 0, false, err + } else if v == nil { + return 0, false, nil + } + + return dbutil.Btoi(v), true, nil +} diff --git a/src/gui/integration/test-fixtures/blockchain-180.db b/src/visor/blockdb/testdata/blockchain-180.no-unspent-addr-index.db similarity index 97% rename from src/gui/integration/test-fixtures/blockchain-180.db rename to src/visor/blockdb/testdata/blockchain-180.no-unspent-addr-index.db index 4af6f0f76a111455e07eabb53e04094984d0d319..dcd9ede389d6d6f5c2ec4addb4749b1abe21ffaf 100755 GIT binary patch delta 3561 zcma)<4Qx|Y6vunt_sUqi(g&To^kJ)@M$!U7LCPsANK)&(3_P()RV`S-j-S3`r?|tw5 z@45Fh644_OeU%1vEuwR6Kv6tz*;0R1LhAd2Rcqcn%{_fIUcB8AyY3iFs$+wlUS}mW zhbuO&$vMCmn&y`4-hKhup6us@d4UYCQC+0eJ64xI(p;*Pf)XIknjAFyQ$yQcBQ{%K z{)BRf+J|uI_7a9yQZAtWhZy^1hKKUDnzRWYH4iQ!HW64|6wz`)szF)k7ygo86K*=HOYK!OCie&IB@?j{-( zRY)q7sN_Ak*p6)vPm?t0Y~)p=a3DEMjM|sw6;iy^%{6z}1BPA8IPZu$Ny5q51J9`R zZEUt8Do_(`xylH5Hxuw#4A(Inr(6JwcJN-(1g|;C_?iMb`T-_-7a6{j3C0YDBMfh4 z_y&8-kFs6>JOruKqSr^@#67HqKH#kZ={tKx2;qai!V_Q(YQX# zsPG2EZ4CcmsYLrfz+_21ZyS|ND{I0dOqy^)YL#2|>6AlouvPTd`02O<89gR29AsVRaxx+YBavR4LX~#Id0z0 zH1oL-4q{48YcaJvg))}6@ZZKJ57*$kJ!aEjMHTm7dg=%V8^;hI9N%enn~%$6hoKE|*_gKI@~gcWQW z<&BgJD4(Y6r+iB)YOdZac$kK<0HzYjn{D;WqR|Y&uqw#|+p|RlgbMBjT)2&!aN!QlR?;rbmN-*8E~@``sng z!l_5muY3UdH8x_~-T~5Gpq0pO$a70&urm)uc=b)}b}*mQ;>Dt}Q&a+=?BLxb1i4P> z#?o5KEa@hOI~l%4*?QSRCdkzczfalnKbzv3-XMB~^o@QB!^;@n%b@0Z}xBx(KkM2B^u?RwO_&K zm6%~2XXPux}Q-Zexe_<2ZhZ43G5>-4mE?7ulkp~5Q>4KbR zM2K{egQk;cUsj15*1<+}KPE`);>E+2Xjn{yB{Oqwwm|d$kA{{#pGm87hTmqmoue8S z&9giZKDbBJf%KSVM31-}_Qh~VyY(F6 zk6TdZ#^*#8iq45;koN`ZwaYZDo+PPa?YjpXco@5d_klhMH65j(cg1-zCs_!>pMQ&a z5UEC;pC664jy+g{th^xRn@7(&&SyMyQTzmpz0oAGLsBB3gh^(ZS%+uRs4TJXiw3DoGW#-G6je zto1ilFn23xs8Dji+0LuNqy|SMUfh|L&}F+`la(CREQe0uW&Yf7;$`x0c$x2D@p=5e zuibR&%XVZ3`sjF>{U_lKbFR1lbYye9iPXNz;L8vp~7hmH|j9RiC`B8Vr4{(&yN!z`cg_sjP^zWbhO z>ZYmND!Q6keqL35jVrDMU;I_x*M9g;+rQ1mA4M}O(U?~jQ|gpqNI%2(Z+0DQ@A1=f zD|ICr+CVF`@M-FpVTIYAs3x!T}Wpx|e~Tlr#x4ru64V(o!%1pFF20QJqn z`ucv)hu1c+0|ie5UJSTOgod_aCd?u@At}{X5{>n|xt8V1G*f z%7QD3L2cnRDL=Da(ha$Jhr4*{hZ;M%|{xD~8{kAZct1?~nP0vq7n-~_k< zY!>X@x+4&Djf30K2s`26dr{XB ziOEO;Hy|{?_ME|kJgTQnl&@zCqgdx>UOSXbhoBx*4I*Wpl~1eM2LC{mH@Mp^?3`6r*3LcQ*bzV(G-v! hashes index +// TODO -- if necessary, this can be optimized further to accept multiple addresses at once, +// so that all get queries can be performed before the set +func (p poolAddrIndex) adjust(tx *dbutil.Tx, addr cipher.Address, addHashes, rmHashes []cipher.SHA256) error { + if len(addHashes) == 0 && len(rmHashes) == 0 { + return nil + } + + existingHashes, err := p.get(tx, addr) + if err != nil { + return err + } + + rmHashesMap := make(map[cipher.SHA256]struct{}, len(rmHashes)) + for _, h := range rmHashes { + rmHashesMap[h] = struct{}{} + } + + if len(rmHashesMap) != len(rmHashes) { + return errors.New("poolAddrIndex.adjust: rmHashes contains duplicates") + } + + newHashesSize := len(existingHashes) - len(rmHashes) + if newHashesSize < 0 { + return errors.New("poolAddrIndex.adjust: rmHashes is longer than existingHashes") + } + + newHashes := make([]cipher.SHA256, 0, newHashesSize) + newHashesMap := make(map[cipher.SHA256]struct{}, newHashesSize) + + rmHashesCount := 0 + for _, h := range existingHashes { + if _, ok := rmHashesMap[h]; ok { + rmHashesCount++ + } else { + newHashes = append(newHashes, h) + newHashesMap[h] = struct{}{} + } + } + + if rmHashesCount != len(rmHashes) { + return fmt.Errorf("poolAddrIndex.adjust: rmHashes contains %d hashes not indexed for address %s", len(rmHashes)-rmHashesCount, addr.String()) + } + + for _, h := range addHashes { + if _, ok := rmHashesMap[h]; ok { + return errors.New("poolAddrIndex.adjust: hash appears in both addHashes and rmHashes") + } + + if _, ok := newHashesMap[h]; !ok { + newHashes = append(newHashes, h) + newHashesMap[h] = struct{}{} + } else { + return fmt.Errorf("poolAddrIndex.adjust: uxout hash %s is already indexed for address %s", h.Hex(), addr.String()) + } + } + + // Delete the row if hashes is empty, so that the length of the bucket can + // be used to determine the number of addresses with unspents + if len(newHashes) == 0 { + return dbutil.Delete(tx, UnspentPoolAddrIndexBkt, addr.Bytes()) + } + + return p.set(tx, addr, newHashes) } -func (pl *pool) deleteWithTx(tx *bolt.Tx, hash cipher.SHA256) error { - return pl.DeleteWithTx(tx, hash[:]) +// Unspents unspent outputs pool +type Unspents struct { + pool *pool + poolAddrIndex *poolAddrIndex + meta *unspentMeta } // NewUnspentPool creates new unspent pool instance -func NewUnspentPool(db *bolt.DB) (*Unspents, error) { - up := &Unspents{db: db} - up.cache.pool = make(map[string]coin.UxOut) +func NewUnspentPool() *Unspents { + return &Unspents{ + pool: &pool{}, + poolAddrIndex: &poolAddrIndex{}, + meta: &unspentMeta{}, + } +} + +// MaybeBuildIndexes builds indexes if necessary +func (up *Unspents) MaybeBuildIndexes(tx *dbutil.Tx, headSeq uint64) error { + logger.Info("Unspents.MaybeBuildIndexes") - pool, err := newPool(db) + // Compare the addrIndexHeight to the head block, + // if not equal, rebuild the address index + addrIndexHeight, ok, err := up.meta.getAddrIndexHeight(tx) if err != nil { - return nil, err + return err } - up.pool = pool - meta, err := newUnspentMeta(db) - if err != nil { - return nil, err + if ok && addrIndexHeight == headSeq { + return nil } - up.meta = meta - // load from db - if err := up.syncCache(); err != nil { - return nil, err + if addrIndexHeight > headSeq { + logger.Critical().Warningf("addrIndexHeight > headSeq (%d > %d)", addrIndexHeight, headSeq) } - return up, nil + logger.Infof("Rebuilding unspent_pool_addr_index (addrHeightIndexExists=%v, addrIndexHeight=%d, headSeq=%d)", ok, addrIndexHeight, headSeq) + + return up.buildAddrIndex(tx) } -func (up *Unspents) syncCache() error { - // load unspent outputs - if err := up.pool.ForEach(func(k, v []byte) error { - var hash cipher.SHA256 - copy(hash[:], k[:]) +func (up *Unspents) buildAddrIndex(tx *dbutil.Tx) error { + logger.Info("Building unspent address index") + if err := dbutil.Reset(tx, UnspentPoolAddrIndexBkt); err != nil { + return err + } + + addrHashes := make(map[cipher.Address][]cipher.SHA256) + + var maxBlockSeq uint64 + if err := dbutil.ForEach(tx, UnspentPoolBkt, func(k, v []byte) error { var ux coin.UxOut if err := encoder.DeserializeRaw(v, &ux); err != nil { - return fmt.Errorf("load unspent outputs from db failed: %v", err) + return err + } + + if ux.Head.BkSeq > maxBlockSeq { + maxBlockSeq = ux.Head.BkSeq } - up.cache.pool[hash.Hex()] = ux + h := ux.Hash() + + if bytes.Compare(k[:], h[:]) != 0 { + return errors.New("Unspent pool uxout.Hash() does not match its key") + } + + addrHashes[ux.Body.Address] = append(addrHashes[ux.Body.Address], h) + return nil }); err != nil { return err } - // load uxhash - uxhash, err := up.getUxHashFromDB() - if err != nil { + if len(addrHashes) == 0 { + logger.Infof("No unspents to index") + return nil + } + + for addr, hashes := range addrHashes { + if err := up.poolAddrIndex.set(tx, addr, hashes); err != nil { + return err + } + } + + if err := up.meta.setAddrIndexHeight(tx, maxBlockSeq); err != nil { return err } - up.cache.uxhash = uxhash + logger.Infof("Indexed unspents for %d addresses", len(addrHashes)) + return nil } -// ProcessBlock updates the unspent pool based upon the published block -func (up *Unspents) ProcessBlock(b *coin.SignedBlock) bucket.TxHandler { - return func(tx *bolt.Tx) (bucket.Rollback, error) { - var ( - delUxs []coin.UxOut - addUxs []coin.UxOut - uxHash cipher.SHA256 - oldUxHash = up.cache.uxhash - ) - - for _, txn := range b.Body.Transactions { - // get uxouts that need to be deleted - uxs, err := up.getArray(txn.In) - if err != nil { - return func() {}, err - } +// ProcessBlock adds unspents from a block to the unspent pool +func (up *Unspents) ProcessBlock(tx *dbutil.Tx, b *coin.SignedBlock) error { + // Gather all transaction inputs + var inputs []cipher.SHA256 + var txnUxs coin.UxArray + for _, txn := range b.Body.Transactions { + inputs = append(inputs, txn.In...) + txnUxs = append(txnUxs, coin.CreateUnspents(b.Head, txn)...) + } - delUxs = append(delUxs, uxs...) + uxs, err := up.GetArray(tx, inputs) + if err != nil { + return err + } - // Remove spent outputs - if _, err = up.deleteWithTx(tx, txn.In); err != nil { - return func() {}, err - } + xorHash, err := up.meta.getXorHash(tx) + if err != nil { + return err + } - // Create new outputs - txUxs := coin.CreateUnspents(b.Head, txn) - addUxs = append(addUxs, txUxs...) - for i := range txUxs { - uxHash, err = up.addWithTx(tx, txUxs[i]) - if err != nil { - return func() {}, err - } - } - } + // Remove spent outputs + rmAddrHashes := make(map[cipher.Address][]cipher.SHA256) + for _, ux := range uxs { + xorHash = xorHash.Xor(ux.SnapshotHash()) - // update caches - up.Lock() - up.deleteUxFromCache(delUxs) - up.addUxToCache(addUxs) - up.updateUxHashInCache(uxHash) - up.Unlock() - - return func() { - up.Lock() - // reverse the cache - up.deleteUxFromCache(addUxs) - up.addUxToCache(delUxs) - up.updateUxHashInCache(oldUxHash) - up.Unlock() - }, nil - } -} + h := ux.Hash() -func (up *Unspents) addWithTx(tx *bolt.Tx, ux coin.UxOut) (uxhash cipher.SHA256, err error) { - // will rollback all updates if return is not nil - // in case of unexpected panic, we must catch it and return error - defer func() { - if r := recover(); r != nil { - err = fmt.Errorf("unspent pool add uxout failed: %v", err) + if err := up.pool.delete(tx, h); err != nil { + return err } - }() - // check if the uxout does exist in the pool - h := ux.Hash() - if up.Contains(h) { - return cipher.SHA256{}, fmt.Errorf("attemps to insert uxout:%v twice into the unspent pool", h.Hex()) + rmAddrHashes[ux.Body.Address] = append(rmAddrHashes[ux.Body.Address], h) } - xorhash, err := up.meta.getXorHashWithTx(tx) - if err != nil { - return cipher.SHA256{}, err + // Create new outputs + txnUxHashes := make([]cipher.SHA256, len(txnUxs)) + addAddrHashes := make(map[cipher.Address][]cipher.SHA256) + for i, ux := range txnUxs { + h := ux.Hash() + txnUxHashes[i] = h + addAddrHashes[ux.Body.Address] = append(addAddrHashes[ux.Body.Address], h) } - xorhash = xorhash.Xor(ux.SnapshotHash()) - if err := up.meta.setXorHashWithTx(tx, xorhash); err != nil { - return cipher.SHA256{}, err - } - - err = up.pool.setWithTx(tx, h, ux) - if err != nil { - return cipher.SHA256{}, err + // Check that the uxout exists in the pool already, otherwise xorHash will be calculated wrong + for _, h := range txnUxHashes { + if hasKey, err := up.Contains(tx, h); err != nil { + return err + } else if hasKey { + return fmt.Errorf("attempted to insert uxout:%v twice into the unspent pool", h.Hex()) + } } - return xorhash, nil -} + for i, ux := range txnUxs { + // Add new outputs + if err := up.pool.set(tx, txnUxHashes[i], ux); err != nil { + return err + } -func (up *Unspents) deleteUxFromCache(uxs []coin.UxOut) { - for _, ux := range uxs { - delete(up.cache.pool, ux.Hash().Hex()) + // Recalculate xorHash + xorHash = xorHash.Xor(ux.SnapshotHash()) } -} -func (up *Unspents) addUxToCache(uxs []coin.UxOut) { - for i, ux := range uxs { - up.cache.pool[ux.Hash().Hex()] = uxs[i] + // Set xorHash + if err := up.meta.setXorHash(tx, xorHash); err != nil { + return err } -} - -func (up *Unspents) updateUxHashInCache(hash cipher.SHA256) { - up.cache.uxhash = hash -} -// GetArray returns UxOut by given hash array, will return error when -// if any of the hashes do not exist. -// It MUST return this error, to prevent double spend attacks. -func (up *Unspents) GetArray(hashes []cipher.SHA256) (coin.UxArray, error) { - up.Lock() - defer up.Unlock() - return up.getArray(hashes) -} + // Update indexes + for addr, rmHashes := range rmAddrHashes { + addHashes := addAddrHashes[addr] -func (up *Unspents) getArray(hashes []cipher.SHA256) (coin.UxArray, error) { - uxs := make(coin.UxArray, 0, len(hashes)) - for i := range hashes { - ux, ok := up.cache.pool[hashes[i].Hex()] - if !ok { - return nil, NewErrUnspentNotExist(hashes[i].Hex()) + if err := up.poolAddrIndex.adjust(tx, addr, addHashes, rmHashes); err != nil { + return err } - uxs = append(uxs, ux) + delete(addAddrHashes, addr) } - return uxs, nil -} -// Get returns the uxout value of given hash -func (up *Unspents) Get(h cipher.SHA256) (coin.UxOut, bool) { - up.Lock() - ux, ok := up.cache.pool[h.Hex()] - up.Unlock() + for addr, addHashes := range addAddrHashes { + if err := up.poolAddrIndex.adjust(tx, addr, addHashes, nil); err != nil { + return err + } + } - return ux, ok -} + // Check that the addrIndexHeight is incremental + addrIndexHeight, ok, err := up.meta.getAddrIndexHeight(tx) + if err != nil { + return err + } -// GetAll returns Pool as an array. Note: they are not in any particular order. -func (up *Unspents) GetAll() (coin.UxArray, error) { - up.Lock() - arr := make(coin.UxArray, 0, len(up.cache.pool)) - for _, ux := range up.cache.pool { - arr = append(arr, ux) + if b.Block.Head.BkSeq == 0 { + if ok { + err := errors.New("addrIndexHeight is set but no block has been indexed yet") + logger.Critical().Error(err.Error()) + return err + } + } else if b.Block.Head.BkSeq != addrIndexHeight+1 { + err := errors.New("unspent pool processing blocks out of order") + logger.Critical().Error(err.Error()) + return err } - up.Unlock() - return arr, nil + // Update the addrIndexHeight + return up.meta.setAddrIndexHeight(tx, b.Block.Head.BkSeq) } -// delete delete unspent of given hashes -func (up *Unspents) deleteWithTx(tx *bolt.Tx, hashes []cipher.SHA256) (cipher.SHA256, error) { - var uxHash cipher.SHA256 - for _, hash := range hashes { - ux, ok, err := up.pool.getWithTx(tx, hash) - if err != nil { - return cipher.SHA256{}, err - } - - if !ok { - continue - } +// GetArray returns UxOut for a set of hashes, will return error if any of the hashes do not exist in the pool. +func (up *Unspents) GetArray(tx *dbutil.Tx, hashes []cipher.SHA256) (coin.UxArray, error) { + var uxa coin.UxArray - uxHash, err = up.meta.getXorHashWithTx(tx) + for _, h := range hashes { + ux, err := up.pool.get(tx, h) if err != nil { - return cipher.SHA256{}, err + return nil, err + } else if ux == nil { + return nil, NewErrUnspentNotExist(h.Hex()) } - uxHash = uxHash.Xor(ux.SnapshotHash()) + uxa = append(uxa, *ux) + } - // update uxhash - if err = up.meta.setXorHashWithTx(tx, uxHash); err != nil { - return cipher.SHA256{}, err - } + return uxa, nil +} - if err := up.pool.deleteWithTx(tx, hash); err != nil { - return cipher.SHA256{}, err - } - } +// Get returns the uxout value of given hash +func (up *Unspents) Get(tx *dbutil.Tx, h cipher.SHA256) (*coin.UxOut, error) { + return up.pool.get(tx, h) +} - return uxHash, nil +// GetAll returns Pool as an array. Note: they are not in any particular order. +func (up *Unspents) GetAll(tx *dbutil.Tx) (coin.UxArray, error) { + return up.pool.getAll(tx) } // Len returns the unspent outputs num -func (up *Unspents) Len() uint64 { - up.Lock() - defer up.Unlock() - return uint64(len(up.cache.pool)) +func (up *Unspents) Len(tx *dbutil.Tx) (uint64, error) { + return dbutil.Len(tx, UnspentPoolBkt) } // Contains check if the hash of uxout does exist in the pool -func (up *Unspents) Contains(h cipher.SHA256) bool { - up.Lock() - _, ok := up.cache.pool[h.Hex()] - up.Unlock() - return ok +func (up *Unspents) Contains(tx *dbutil.Tx, h cipher.SHA256) (bool, error) { + return dbutil.BucketHasKey(tx, UnspentPoolBkt, h[:]) } -// GetUnspentsOfAddrs returns unspent outputs map of given addresses, -// the address as return map key, unspent outputs as value. -func (up *Unspents) GetUnspentsOfAddrs(addrs []cipher.Address) coin.AddressUxOuts { - up.Lock() - addrm := make(map[cipher.Address]struct{}, len(addrs)) - for _, a := range addrs { - addrm[a] = struct{}{} - } +// GetUnspentsOfAddrs returns a map of addresses to their unspent outputs +func (up *Unspents) GetUnspentsOfAddrs(tx *dbutil.Tx, addrs []cipher.Address) (coin.AddressUxOuts, error) { + addrUxs := make(coin.AddressUxOuts, len(addrs)) - addrUxs := coin.AddressUxOuts{} - for _, ux := range up.cache.pool { - if _, ok := addrm[ux.Body.Address]; ok { - addrUxs[ux.Body.Address] = append(addrUxs[ux.Body.Address], ux) + for _, addr := range addrs { + hashes, err := up.poolAddrIndex.get(tx, addr) + if err != nil { + return nil, err } + + uxa, err := up.GetArray(tx, hashes) + if err != nil { + switch e := err.(type) { + case ErrUnspentNotExist: + logger.Critical().Errorf("Unspent hash %s indexed under address %s does not exist in unspent pool", e.UxID, addr.String()) + } + return nil, err + } + + addrUxs[addr] = uxa } - up.Unlock() - return addrUxs + + return addrUxs, nil } // GetUxHash returns unspent output checksum for the Block. // Must be called after Block is fully initialized, // and before its outputs are added to the unspent pool -func (up *Unspents) GetUxHash() cipher.SHA256 { - up.Lock() - defer up.Unlock() - return up.cache.uxhash +func (up *Unspents) GetUxHash(tx *dbutil.Tx) (cipher.SHA256, error) { + return up.meta.getXorHash(tx) } -func (up *Unspents) getUxHashFromDB() (cipher.SHA256, error) { - if v := up.meta.Get(xorhashKey); v != nil { - var hash cipher.SHA256 - copy(hash[:], v[:]) - return hash, nil - } - return cipher.SHA256{}, nil +// AddressCount returns the total number of addresses with unspents +func (up *Unspents) AddressCount(tx *dbutil.Tx) (uint64, error) { + return dbutil.Len(tx, UnspentPoolAddrIndexBkt) } diff --git a/src/visor/blockdb/unspent_test.go b/src/visor/blockdb/unspent_test.go index c27d3d7..368b758 100755 --- a/src/visor/blockdb/unspent_test.go +++ b/src/visor/blockdb/unspent_test.go @@ -1,132 +1,75 @@ package blockdb import ( + "bytes" "errors" - "testing" - - "github.com/stretchr/testify/require" - "fmt" - + "io" + "io/ioutil" + "os" + "sort" + "testing" "time" "github.com/boltdb/bolt" - "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor/dbutil" ) -type spending struct { - ToAddr cipher.Address - Coins uint64 -} - func makeUxBody(t *testing.T) coin.UxBody { - body, _ := makeUxBodyWithSecret(t) - return body -} - -func makeUxOut(t *testing.T) coin.UxOut { - ux, _ := makeUxOutWithSecret(t) - return ux -} - -func makeUxBodyWithSecret(t *testing.T) (coin.UxBody, cipher.SecKey) { - p, s := cipher.GenerateKeyPair() + p, _ := cipher.GenerateKeyPair() return coin.UxBody{ SrcTransaction: testutil.RandSHA256(t), Address: cipher.AddressFromPubKey(p), Coins: 1e6, Hours: 100, - }, s + } } -func makeUxOutWithSecret(t *testing.T) (coin.UxOut, cipher.SecKey) { - body, sec := makeUxBodyWithSecret(t) +func makeUxOut(t *testing.T) coin.UxOut { + body := makeUxBody(t) return coin.UxOut{ Head: coin.UxHead{ Time: 100, BkSeq: 2, }, Body: body, - }, sec + } } func TestNewUnspentPool(t *testing.T) { - db, teardown := testutil.PrepareDB(t) + db, teardown := prepareDB(t) defer teardown() - up, err := NewUnspentPool(db) - assert.Nil(t, err) + up := NewUnspentPool() - assert.Equal(t, 0, up.pool.Len()) - v := up.meta.Get(xorhashKey) - assert.Nil(t, v) -} + err := db.View("", func(tx *dbutil.Tx) error { + length, err := dbutil.Len(tx, UnspentPoolBkt) + require.NoError(t, err) + require.Equal(t, uint64(0), length) -func addUxOut(up *Unspents, ux coin.UxOut) error { - var uxHash cipher.SHA256 - var err error - if err := up.db.Update(func(tx *bolt.Tx) error { - uxHash, err = up.addWithTx(tx, ux) - return err - }); err != nil { - return err - } - up.addUxToCache([]coin.UxOut{ux}) - up.updateUxHashInCache(uxHash) - - return nil -} + h, err := up.meta.getXorHash(tx) + require.NoError(t, err) + require.Equal(t, cipher.SHA256{}, h) + return nil -func TestUnspentPoolSyncCache(t *testing.T) { - var uxs coin.UxArray - for i := 0; i < 5; i++ { - ux := makeUxOut(t) - uxs = append(uxs, ux) - } - - db, closedb := testutil.PrepareDB(t) - defer closedb() - - up, err := NewUnspentPool(db) - assert.Nil(t, err) - - for _, ux := range uxs { - assert.Nil(t, addUxOut(up, ux)) - } - - up2, err := NewUnspentPool(db) + }) require.NoError(t, err) - for k, v := range up.cache.pool { - v2, ok := up2.cache.pool[k] - require.True(t, ok) - require.Equal(t, v, v2) - } } -func TestUnspentPoolRemoveUxFromCache(t *testing.T) { - var uxs coin.UxArray - for i := 0; i < 5; i++ { - ux := makeUxOut(t) - uxs = append(uxs, ux) - } - - db, closedb := testutil.PrepareDB(t) - defer closedb() - - up, err := NewUnspentPool(db) - assert.Nil(t, err) - - for _, ux := range uxs { - assert.Nil(t, addUxOut(up, ux)) - } +func addUxOut(db *dbutil.DB, up *Unspents, ux coin.UxOut) error { + return db.Update("", func(tx *dbutil.Tx) error { + if err := up.pool.set(tx, ux.Hash(), ux); err != nil { + return err + } - up.deleteUxFromCache(uxs[:1]) - _, ok := up.cache.pool[uxs[0].Hash().Hex()] - require.False(t, ok) + return up.poolAddrIndex.adjust(tx, ux.Body.Address, []cipher.SHA256{ux.Hash()}, nil) + }) } func TestUnspentPoolGet(t *testing.T) { @@ -140,43 +83,40 @@ func TestUnspentPoolGet(t *testing.T) { name string unspents coin.UxArray hash cipher.SHA256 - ux coin.UxOut - exist bool + ux *coin.UxOut }{ { "not exist", uxs[:2], uxs[2].Hash(), - coin.UxOut{}, - false, + nil, }, { "find one", uxs[:2], uxs[1].Hash(), - uxs[1], - true, + &uxs[1], }, } for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - db, teardown := testutil.PrepareDB(t) + db, teardown := prepareDB(t) defer teardown() - up, err := NewUnspentPool(db) - assert.Nil(t, err) + up := NewUnspentPool() for _, ux := range tc.unspents { - assert.Nil(t, addUxOut(up, ux)) + err := addUxOut(db, up, ux) + require.NoError(t, err) } - ux, ok := up.Get(tc.hash) - assert.Nil(t, err) - if err != nil { - return - } - assert.Equal(t, tc.ux, ux) - assert.Equal(t, tc.exist, ok) + err := db.View("", func(tx *dbutil.Tx) error { + ux, err := up.Get(tx, tc.hash) + require.NoError(t, err) + require.Equal(t, tc.ux, ux) + return nil + }) + require.NoError(t, err) }) } } @@ -188,17 +128,23 @@ func TestUnspentPoolLen(t *testing.T) { uxs = append(uxs, ux) } - db, closedb := testutil.PrepareDB(t) + db, closedb := prepareDB(t) defer closedb() - up, err := NewUnspentPool(db) - assert.Nil(t, err) + up := NewUnspentPool() for _, ux := range uxs { - assert.Nil(t, addUxOut(up, ux)) + err := addUxOut(db, up, ux) + require.NoError(t, err) } - require.Equal(t, uint64(5), up.Len()) + err := db.View("", func(tx *dbutil.Tx) error { + length, err := up.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(5), length) + return nil + }) + require.NoError(t, err) } func TestUnspentPoolGetUxHash(t *testing.T) { @@ -208,36 +154,38 @@ func TestUnspentPoolGetUxHash(t *testing.T) { uxs = append(uxs, ux) } - db, closedb := testutil.PrepareDB(t) + db, closedb := prepareDB(t) defer closedb() - up, err := NewUnspentPool(db) - assert.Nil(t, err) + up := NewUnspentPool() for _, ux := range uxs { - assert.Nil(t, addUxOut(up, ux)) - uxHash := up.GetUxHash() - db.Update(func(tx *bolt.Tx) error { - xorhash, err := up.meta.getXorHashWithTx(tx) + err := addUxOut(db, up, ux) + require.NoError(t, err) + err = db.Update("", func(tx *dbutil.Tx) error { + uxHash, err := up.GetUxHash(tx) require.NoError(t, err) - require.Equal(t, xorhash.Hex(), uxHash.Hex()) + + xorHash, err := up.meta.getXorHash(tx) + require.NoError(t, err) + require.Equal(t, xorHash.Hex(), uxHash.Hex()) return nil }) + require.NoError(t, err) } } func TestUnspentPoolGetArray(t *testing.T) { - db, teardown := testutil.PrepareDB(t) + db, teardown := prepareDB(t) defer teardown() - up, err := NewUnspentPool(db) - assert.Nil(t, err) + up := NewUnspentPool() var uxs coin.UxArray for i := 0; i < 5; i++ { ux := makeUxOut(t) - err = addUxOut(up, ux) - assert.Nil(t, err) + err := addUxOut(db, up, ux) + require.NoError(t, err) uxs = append(uxs, ux) } @@ -273,22 +221,19 @@ func TestUnspentPoolGetArray(t *testing.T) { NewErrUnspentNotExist(outsideUx.Hash().Hex()), coin.UxArray{}, }, - { - "get not exist with others that exist", - []cipher.SHA256{uxs[1].Hash(), outsideUx.Hash(), uxs[0].Hash()}, - NewErrUnspentNotExist(outsideUx.Hash().Hex()), - coin.UxArray{}, - }, } for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - uxs, err := up.GetArray(tc.hashes) - assert.Equal(t, tc.err, err) - if err != nil { - return - } - assert.Equal(t, tc.unspents, uxs) + err := db.View("", func(tx *dbutil.Tx) error { + uxs, err := up.GetArray(tx, tc.hashes) + require.Equal(t, tc.err, err) + if err == nil { + require.Equal(t, tc.unspents, uxs) + } + return nil + }) + require.NoError(t, err) }) } } @@ -324,50 +269,56 @@ func TestUnspentPoolGetAll(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - db, teardown := testutil.PrepareDB(t) + db, teardown := prepareDB(t) defer teardown() - up, err := NewUnspentPool(db) - assert.Nil(t, err) + up := NewUnspentPool() for _, ux := range tc.unspents { - assert.Nil(t, addUxOut(up, ux)) + err := addUxOut(db, up, ux) + require.NoError(t, err) } - unspents, err := up.GetAll() - assert.Nil(t, err) - uxm := make(map[cipher.SHA256]byte) - for _, ux := range unspents { - uxm[ux.Hash()] = byte(1) - } + err := db.View("", func(tx *dbutil.Tx) error { + unspents, err := up.GetAll(tx) + require.NoError(t, err) - for _, ux := range tc.expect { - _, ok := uxm[ux.Hash()] - assert.True(t, ok) - } + uxm := make(map[cipher.SHA256]struct{}) + for _, ux := range unspents { + uxm[ux.Hash()] = struct{}{} + } + + for _, ux := range tc.expect { + _, ok := uxm[ux.Hash()] + require.True(t, ok) + } + + return nil + }) + require.NoError(t, err) }) } } func BenchmarkUnspentPoolGetAll(b *testing.B) { var t testing.T - db, teardown := testutil.PrepareDB(&t) + db, teardown := prepareDB(&t) defer teardown() - up, err := NewUnspentPool(db) - if err != nil { - b.Fatal(err) - } + up := NewUnspentPool() for i := 0; i < 1000; i++ { ux := makeUxOut(&t) - if err := addUxOut(up, ux); err != nil { + if err := addUxOut(db, up, ux); err != nil { b.Fatal(err) } } start := time.Now() for i := 0; i < b.N; i++ { - _, err = up.GetAll() + err := db.View("", func(tx *dbutil.Tx) error { + _, err := up.GetAll(tx) + return err + }) if err != nil { b.Fatal(err) } @@ -375,97 +326,6 @@ func BenchmarkUnspentPoolGetAll(b *testing.B) { fmt.Println(time.Since(start)) } -func TestUnspentPoolDeleteWithTx(t *testing.T) { - var uxs coin.UxArray - for i := 0; i < 5; i++ { - ux := makeUxOut(t) - uxs = append(uxs, ux) - } - - testCases := []struct { - name string - unspents coin.UxArray - deleteHashes []cipher.SHA256 - error - xorhash cipher.SHA256 - }{ - { - "delete one ok", - uxs[:2], - []cipher.SHA256{uxs[0].Hash()}, - nil, - uxs[1].SnapshotHash(), - }, - { - "delete multilpe ok", - uxs[:3], - []cipher.SHA256{uxs[0].Hash(), uxs[1].Hash()}, - nil, - uxs[2].SnapshotHash(), - }, - { - "delete all ok", - uxs[:3], - []cipher.SHA256{uxs[0].Hash(), uxs[1].Hash(), uxs[2].Hash()}, - nil, - cipher.SHA256{}, - }, - { - "delete middle one", - uxs[:3], - []cipher.SHA256{uxs[1].Hash()}, - nil, - func() cipher.SHA256 { - h := uxs[0].SnapshotHash() - return h.Xor(uxs[2].SnapshotHash()) - }(), - }, - { - "delete unknow hash", - uxs[:2], - []cipher.SHA256{uxs[2].Hash()}, - nil, - func() cipher.SHA256 { - h := uxs[0].SnapshotHash() - return h.Xor(uxs[1].SnapshotHash()) - }(), - }, - } - - for _, tc := range testCases { - t.Run(tc.name, func(t *testing.T) { - db, teardown := testutil.PrepareDB(t) - defer teardown() - - up, err := NewUnspentPool(db) - assert.Nil(t, err) - for _, ux := range tc.unspents { - assert.Nil(t, addUxOut(up, ux)) - } - - err = up.db.Update(func(tx *bolt.Tx) error { - if _, err := up.deleteWithTx(tx, tc.deleteHashes); err != nil { - return err - } - - // meta := unspentMeta{tx.Bucket(up.meta.Name)} - xorhash, err := up.meta.getXorHashWithTx(tx) - assert.Nil(t, err) - - assert.Equal(t, tc.xorhash, xorhash) - - for _, hash := range tc.deleteHashes { - _, ok, err := up.pool.getWithTx(tx, hash) - assert.Nil(t, err) - assert.False(t, ok) - } - return nil - }) - assert.Equal(t, tc.error, err) - }) - } -} - func TestGetUnspentOfAddrs(t *testing.T) { var uxs coin.UxArray for i := 0; i < 5; i++ { @@ -482,35 +342,35 @@ func TestGetUnspentOfAddrs(t *testing.T) { expect coin.UxArray }{ { - "one one addr one unspent", - uxs[:], - []cipher.Address{uxs[1].Body.Address}, - uxs[1:2], + name: "one one addr one unspent", + unspents: uxs[:], + addrs: []cipher.Address{uxs[1].Body.Address}, + expect: uxs[1:2], }, { - "one addr two unspents", - uxs[:], - []cipher.Address{uxs[0].Body.Address}, - []coin.UxOut{ + name: "one addr two unspents", + unspents: uxs[:], + addrs: []cipher.Address{uxs[0].Body.Address}, + expect: []coin.UxOut{ uxs[0], uxs[4], }, }, { - "two addrs three unspents", - uxs[:], - []cipher.Address{uxs[0].Body.Address, uxs[1].Body.Address}, - []coin.UxOut{ + name: "two addrs three unspents", + unspents: uxs[:], + addrs: []cipher.Address{uxs[0].Body.Address, uxs[1].Body.Address}, + expect: []coin.UxOut{ uxs[0], uxs[1], uxs[4], }, }, { - "two addrs two unspents", - uxs[:], - []cipher.Address{uxs[2].Body.Address, uxs[1].Body.Address}, - []coin.UxOut{ + name: "two addrs two unspents", + unspents: uxs[:], + addrs: []cipher.Address{uxs[2].Body.Address, uxs[1].Body.Address}, + expect: []coin.UxOut{ uxs[1], uxs[2], }, @@ -519,29 +379,36 @@ func TestGetUnspentOfAddrs(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - db, teardown := testutil.PrepareDB(t) + db, teardown := prepareDB(t) defer teardown() - up, err := NewUnspentPool(db) - assert.Nil(t, err) + up := NewUnspentPool() for _, ux := range tc.unspents { - assert.Nil(t, addUxOut(up, ux)) + err := addUxOut(db, up, ux) + require.NoError(t, err) } - unspents := up.GetUnspentsOfAddrs(tc.addrs) - assert.Nil(t, err) - uxm := make(map[cipher.SHA256]byte, len(unspents)) + var unspents coin.AddressUxOuts + err := db.View("", func(tx *dbutil.Tx) error { + var err error + unspents, err = up.GetUnspentsOfAddrs(tx, tc.addrs) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + + uxm := make(map[cipher.SHA256]struct{}, len(unspents)) for _, uxs := range unspents { for _, ux := range uxs { - uxm[ux.Hash()] = byte(1) + uxm[ux.Hash()] = struct{}{} } } - assert.Equal(t, len(uxm), len(tc.expect)) + require.Equal(t, len(uxm), len(tc.expect)) for _, ux := range tc.expect { _, ok := uxm[ux.Hash()] - assert.True(t, ok) + require.True(t, ok) } }) } @@ -554,77 +421,136 @@ func TestUnspentProcessBlock(t *testing.T) { uxs = append(uxs, ux) } + type testOutputs struct { + addr cipher.Address + coins uint64 + hours uint64 + } + + addr := testutil.MakeAddress() + tt := []struct { - name string - init coin.UxArray - inputs coin.UxArray - // rollback bool - err error + name string + init coin.UxArray + inputs coin.UxArray + outputs []testOutputs + nIndexedAddrs uint64 }{ { - "ok", - uxs, - uxs[:1], - // false, - nil, + name: "spend one create one", + init: uxs, + inputs: uxs[:1], + outputs: []testOutputs{ + { + addr: testutil.MakeAddress(), + coins: 1e6, + hours: uxs[0].Body.Hours / 2, + }, + }, + nIndexedAddrs: 5, }, + { - "rollback", - uxs[1:], - uxs[:1], - // true, - errors.New("rollback"), + name: "spend one create two", + init: uxs, + inputs: uxs[:1], + outputs: []testOutputs{ + { + addr: testutil.MakeAddress(), + coins: 1e6 / 2, + hours: uxs[0].Body.Hours / 4, + }, + { + addr: testutil.MakeAddress(), + coins: 1e6 / 2, + hours: uxs[0].Body.Hours / 4, + }, + }, + nIndexedAddrs: 6, + }, + + { + name: "spend one create three - two to the same new address and one to the spending address ", + init: uxs, + inputs: uxs[:1], + outputs: []testOutputs{ + { + addr: addr, + coins: 1e6 / 4, + hours: uxs[0].Body.Hours / 16, + }, + { + addr: addr, + coins: 1e6 / 4, + hours: uxs[0].Body.Hours / 8, + }, + { + addr: uxs[0].Body.Address, + coins: 1e6 / 4, + hours: uxs[0].Body.Hours / 8, + }, + }, + nIndexedAddrs: 6, }, } for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - db, closedb := testutil.PrepareDB(t) + db, closedb := prepareDB(t) defer closedb() - up, err := NewUnspentPool(db) - assert.Nil(t, err) + up := NewUnspentPool() for _, ux := range tc.init { - assert.Nil(t, addUxOut(up, ux)) + err := addUxOut(db, up, ux) + require.NoError(t, err) } - tx := coin.Transaction{} + txn := coin.Transaction{} for _, in := range tc.inputs { - tx.PushInput(in.Hash()) + txn.PushInput(in.Hash()) } - a := testutil.MakeAddress() - tx.PushOutput(a, 1e6, uxs[0].Body.Hours/2) + for _, o := range tc.outputs { + txn.PushOutput(o.addr, o.coins, o.hours) + } - block, err := coin.NewBlock(coin.Block{}, - uint64(time.Now().Unix()), - up.GetUxHash(), - coin.Transactions{tx}, _feeCalc) + var block *coin.Block + var oldUxHash cipher.SHA256 + + err := db.Update("", func(tx *dbutil.Tx) error { + uxHash, err := up.GetUxHash(tx) + require.NoError(t, err) + + block, err = coin.NewBlock(coin.Block{}, uint64(time.Now().Unix()), uxHash, coin.Transactions{txn}, feeCalc) + require.NoError(t, err) + + oldUxHash, err = up.GetUxHash(tx) + require.NoError(t, err) + + err = up.ProcessBlock(tx, &coin.SignedBlock{ + Block: *block, + }) + require.NoError(t, err) + + return nil + }) require.NoError(t, err) - txOuts := coin.CreateUnspents(block.Head, tx) - err = db.Update(func(tx *bolt.Tx) error { - oldUxHash := up.GetUxHash() - txHandler := up.ProcessBlock(&coin.SignedBlock{Block: *block}) - rb, err := txHandler(tx) - if err != nil { - rb() - - // new created output should not exist - require.False(t, up.Contains(txOuts[0].Hash())) - require.Equal(t, oldUxHash.Hex(), up.GetUxHash().Hex()) - return errors.New("rollback") - } + txOuts := coin.CreateUnspents(block.Head, txn) + err = db.View("", func(tx *dbutil.Tx) error { // check that the inputs should already been deleted from unspent pool for _, in := range tc.inputs { - _, ok := up.Get(in.Hash()) - require.False(t, ok) + v, err := up.Get(tx, in.Hash()) + require.NoError(t, err) + require.Nil(t, v) } // check the new generate unspent - require.True(t, up.Contains(txOuts[0].Hash())) + hasKey, err := up.Contains(tx, txOuts[0].Hash()) + require.NoError(t, err) + require.True(t, hasKey) // check uxHash for _, in := range tc.inputs { @@ -632,13 +558,560 @@ func TestUnspentProcessBlock(t *testing.T) { } uxHash := oldUxHash.Xor(txOuts[0].SnapshotHash()) - require.Equal(t, uxHash.Hex(), up.GetUxHash().Hex()) + for _, o := range txOuts[1:] { + uxHash = uxHash.Xor(o.SnapshotHash()) + } + + newUxHash, err := up.GetUxHash(tx) + require.NoError(t, err) + require.Equal(t, uxHash.Hex(), newUxHash.Hex()) + + // addr index height should equal the number of blocks added + addrIndexHeight, ok, err := up.meta.getAddrIndexHeight(tx) + require.NoError(t, err) + require.True(t, ok) + require.Equal(t, uint64(1), addrIndexHeight) + + // addr index should have 5 rows (5 initial addrs, 1 removed as input, 1 added as output) + addrIndexLength, err := dbutil.Len(tx, UnspentPoolAddrIndexBkt) + require.NoError(t, err) + require.Equal(t, tc.nIndexedAddrs, addrIndexLength) + + // new outputs should be added to addr index cache + expectedAddrHashes := make(map[cipher.Address][]cipher.SHA256) + for _, o := range txOuts { + expectedAddrHashes[o.Body.Address] = append(expectedAddrHashes[o.Body.Address], o.Hash()) + } + + for addr, hashes := range expectedAddrHashes { + addrUxHashes, err := up.poolAddrIndex.get(tx, addr) + require.NoError(t, err) + + require.Equal(t, len(hashes), len(addrUxHashes)) + + sort.Slice(hashes, func(i, j int) bool { + return bytes.Compare(hashes[i][:], hashes[j][:]) < 1 + }) + + sort.Slice(addrUxHashes, func(i, j int) bool { + return bytes.Compare(addrUxHashes[i][:], addrUxHashes[j][:]) < 1 + }) + + require.Equal(t, hashes, addrUxHashes) + } + + // used up inputs should be removed from addr index cache + for _, o := range tc.inputs { + // input addresses that appear in outputs should not be removed + if _, ok := expectedAddrHashes[o.Body.Address]; ok { + continue + } + + addrUxHashes, err := up.poolAddrIndex.get(tx, o.Body.Address) + require.NoError(t, err) + require.Nil(t, addrUxHashes) + } + + // none of the rows in the addr index should have empty arrays of hashes + err = dbutil.ForEach(tx, UnspentPoolAddrIndexBkt, func(k, v []byte) error { + _, err := cipher.AddressFromBytes(k) + require.NoError(t, err) + + var uxHashes []cipher.SHA256 + err = encoder.DeserializeRaw(v, &uxHashes) + require.NoError(t, err) + require.NotEmpty(t, uxHashes) + + return nil + }) + require.NoError(t, err) return nil }) + require.NoError(t, err) + }) + } +} + +func TestUnspentPoolAddrIndex(t *testing.T) { + addrs := make([]cipher.Address, 10) + for i := range addrs { + addrs[i] = testutil.MakeAddress() + } + + hashes := make([]cipher.SHA256, 30) + hashesMap := make(map[cipher.SHA256]struct{}) + for i := range hashes { + hashes[i] = testutil.RandSHA256(t) + _, ok := hashesMap[hashes[i]] + require.False(t, ok) + hashesMap[hashes[i]] = struct{}{} + } + + type addrHashMap map[cipher.Address][]cipher.SHA256 + + copyHashMap := func(hm addrHashMap) addrHashMap { + out := make(addrHashMap, len(hm)) - require.Equal(t, tc.err, err) + for addr, hashes := range hm { + copiedHashes := make([]cipher.SHA256, len(hashes)) + copy(copiedHashes[:], hashes[:]) + out[addr] = copiedHashes + } + + return out + } + + dup := func(h []cipher.SHA256) []cipher.SHA256 { + i := make([]cipher.SHA256, len(h)) + copy(i[:], h[:]) + return i + } + + cases := []struct { + name string + init addrHashMap + add addrHashMap + remove addrHashMap + expect addrHashMap + setErr error + adjustErr error + }{ + { + name: "no initial, add only", + add: addrHashMap{ + addrs[0]: dup(hashes[0:3]), + addrs[1]: dup(hashes[3:6]), + }, + expect: addrHashMap{ + addrs[0]: dup(hashes[0:3]), + addrs[1]: dup(hashes[3:6]), + }, + }, + + { + name: "initial, add and remove", + init: addrHashMap{ + addrs[0]: dup(hashes[0:3]), // add one to here + addrs[1]: dup(hashes[3:6]), // remove one from here + addrs[2]: dup(hashes[6:9]), // add and remove one from here + addrs[3]: dup(hashes[9:12]), // remove all from here + addrs[4]: dup(hashes[12:15]), // remove all from here and add one + }, + add: addrHashMap{ + addrs[0]: dup(hashes[16:17]), + addrs[2]: dup(hashes[17:18]), + addrs[4]: dup(hashes[18:19]), + }, + remove: addrHashMap{ + addrs[1]: dup(hashes[4:5]), + addrs[2]: dup(hashes[6:7]), + addrs[3]: dup(hashes[9:12]), + addrs[4]: dup(hashes[12:15]), + }, + expect: addrHashMap{ + addrs[0]: append(dup(hashes[0:3]), dup(hashes[16:17])...), + addrs[1]: append(dup(hashes[3:4]), dup(hashes[5:6])...), + addrs[2]: append(dup(hashes[7:9]), dup(hashes[17:18])...), + addrs[4]: dup(hashes[18:19]), + }, + }, + + { + name: "set error duplicate", + init: addrHashMap{ + addrs[0]: []cipher.SHA256{hashes[0], hashes[0]}, + }, + setErr: errors.New("poolAddrIndex.set: hashes array contains duplicate"), + }, + + { + name: "set error empty array", + init: addrHashMap{ + addrs[0]: []cipher.SHA256{}, + }, + setErr: errors.New("poolAddrIndex.set cannot set to empty hash array"), + }, + + { + name: "adjust error removes have duplicates", + init: addrHashMap{ + addrs[0]: dup(hashes[0:1]), + }, + remove: addrHashMap{ + addrs[0]: []cipher.SHA256{hashes[0], hashes[0]}, + }, + adjustErr: errors.New("poolAddrIndex.adjust: rmHashes contains duplicates"), + }, + + { + name: "adjust error removing more than exists", + init: addrHashMap{ + addrs[0]: dup(hashes[0:1]), + }, + remove: addrHashMap{ + addrs[0]: dup(hashes[0:2]), + }, + adjustErr: errors.New("poolAddrIndex.adjust: rmHashes is longer than existingHashes"), + }, + + { + name: "adjust error removing hash that does not exist", + init: addrHashMap{ + addrs[0]: dup(hashes[0:2]), + }, + remove: addrHashMap{ + addrs[0]: []cipher.SHA256{hashes[0], hashes[11]}, + }, + adjustErr: fmt.Errorf("poolAddrIndex.adjust: rmHashes contains 1 hashes not indexed for address %s", addrs[0].String()), + }, + + { + name: "adjust error hash in both add and remove", + init: addrHashMap{ + addrs[0]: dup(hashes[0:10]), + }, + add: addrHashMap{ + addrs[0]: dup(hashes[4:5]), + }, + remove: addrHashMap{ + addrs[0]: dup(hashes[1:5]), + }, + adjustErr: errors.New("poolAddrIndex.adjust: hash appears in both addHashes and rmHashes"), + }, + + { + name: "adjust error adding hash already indexed", + init: addrHashMap{ + addrs[0]: dup(hashes[0:10]), + }, + add: addrHashMap{ + addrs[0]: dup(hashes[4:5]), + }, + adjustErr: fmt.Errorf("poolAddrIndex.adjust: uxout hash %s is already indexed for address %s", hashes[4].Hex(), addrs[0].String()), + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + db, shutdown := prepareDB(t) + defer shutdown() + + tc.init = copyHashMap(tc.init) + tc.add = copyHashMap(tc.add) + tc.remove = copyHashMap(tc.remove) + tc.expect = copyHashMap(tc.expect) + + p := &poolAddrIndex{} + m := &unspentMeta{} + + // Initialize the data, test that set() works + err := db.Update("", func(tx *dbutil.Tx) error { + for addr, hashes := range tc.init { + if err := p.set(tx, addr, hashes); err != nil { + return err + } + } + + return m.setAddrIndexHeight(tx, uint64(len(tc.init))) + }) + + if tc.setErr == nil { + require.NoError(t, err) + } else { + require.Equal(t, tc.setErr, err) + return + } + + // Check the initialized data, test that get() works + err = db.View("", func(tx *dbutil.Tx) error { + length, err := dbutil.Len(tx, UnspentPoolAddrIndexBkt) + require.NoError(t, err) + require.Equal(t, uint64(len(tc.init)), length) + + height, ok, err := m.getAddrIndexHeight(tx) + require.NoError(t, err) + require.True(t, ok) + require.Equal(t, length, height) + + for addr, expectHashes := range tc.init { + hashes, err := p.get(tx, addr) + require.NoError(t, err) + require.Equal(t, expectHashes, hashes) + } + return nil + }) + require.NoError(t, err) + + // Adjust the data, test that adjust() works + err = db.Update("", func(tx *dbutil.Tx) error { + for addr, addHashes := range tc.add { + rmHashes := tc.remove[addr] + delete(tc.remove, addr) + + err := p.adjust(tx, addr, addHashes, rmHashes) + if err != nil { + return err + } + } + + for addr, rmHashes := range tc.remove { + err := p.adjust(tx, addr, nil, rmHashes) + if err != nil { + return err + } + } + + return nil + }) + + if tc.adjustErr == nil { + require.NoError(t, err) + } else { + require.Equal(t, tc.adjustErr, err) + return + } + + addrHashes := make(addrHashMap) + err = db.View("", func(tx *dbutil.Tx) error { + return dbutil.ForEach(tx, UnspentPoolAddrIndexBkt, func(k, v []byte) error { + addr, err := cipher.AddressFromBytes(k) + require.NoError(t, err) + + var hashes []cipher.SHA256 + err = encoder.DeserializeRaw(v, &hashes) + require.NoError(t, err) + + sort.Slice(hashes, func(i, j int) bool { + return bytes.Compare(hashes[i][:], hashes[j][:]) < 1 + }) + + addrHashes[addr] = hashes + + return nil + }) + }) + require.NoError(t, err) + + for addr, hashes := range tc.expect { + sort.Slice(hashes, func(i, j int) bool { + return bytes.Compare(hashes[i][:], hashes[j][:]) < 1 + }) + + tc.expect[addr] = hashes + } + + require.Equal(t, len(tc.expect), len(addrHashes)) + require.Equal(t, tc.expect, addrHashes) }) } +} +func TestUnspentMaybeBuildIndexesNoIndexNoHead(t *testing.T) { + // Test with a database that has no unspent addr index + testUnspentMaybeBuildIndexes(t, 0, nil) +} + +func TestUnspentMaybeBuildIndexesNoIndexHaveHead(t *testing.T) { + // Test with a database that has no unspent addr index + testUnspentMaybeBuildIndexes(t, 10, nil) +} + +func TestUnspentMaybeBuildIndexesPartialIndex(t *testing.T) { + // Test with a database that has an unspent addr index but the height is wrong + headHeight := uint64(3) + testUnspentMaybeBuildIndexes(t, headHeight+1, func(db *dbutil.DB) { + up := NewUnspentPool() + + // Index the first few blocks + err := db.Update("", func(tx *dbutil.Tx) error { + if err := dbutil.CreateBuckets(tx, [][]byte{UnspentPoolAddrIndexBkt}); err != nil { + return err + } + + addrHashes := make(map[cipher.Address][]cipher.SHA256) + + if err := dbutil.ForEach(tx, UnspentPoolBkt, func(k, v []byte) error { + var ux coin.UxOut + if err := encoder.DeserializeRaw(v, &ux); err != nil { + return err + } + + if ux.Head.BkSeq > headHeight { + return nil + } + + h := ux.Hash() + addrHashes[ux.Body.Address] = append(addrHashes[ux.Body.Address], h) + + return nil + }); err != nil { + return err + } + + for addr, hashes := range addrHashes { + if err := up.poolAddrIndex.set(tx, addr, hashes); err != nil { + return err + } + } + + return up.meta.setAddrIndexHeight(tx, headHeight) + }) + require.NoError(t, err) + }) +} + +func testUnspentMaybeBuildIndexes(t *testing.T, headIndex uint64, setupDB func(*dbutil.DB)) { + db, shutdown := setupNoUnspentAddrIndexDB(t) + defer shutdown() + + if setupDB != nil { + setupDB(db) + } + + u := NewUnspentPool() + + // Create the indexes + err := db.Update("", func(tx *dbutil.Tx) error { + if _, err := tx.CreateBucketIfNotExists(UnspentPoolAddrIndexBkt); err != nil { + return err + } + + return u.MaybeBuildIndexes(tx, headIndex) + }) + require.NoError(t, err) + + // Check the address->hashes index + addrHashes := make(map[cipher.Address][]cipher.SHA256) + err = db.View("", func(tx *dbutil.Tx) error { + // Perform the unspent lookup the slow way, to confirm it matches the hashed data + err := dbutil.ForEach(tx, UnspentPoolBkt, func(k, v []byte) error { + hash, err := cipher.SHA256FromBytes(k) + require.NoError(t, err) + + var ux coin.UxOut + err = encoder.DeserializeRaw(v, &ux) + require.NoError(t, err) + + require.Equal(t, hash, ux.Hash()) + + addrHashes[ux.Body.Address] = append(addrHashes[ux.Body.Address], hash) + + return nil + }) + require.NoError(t, err) + + length, err := dbutil.Len(tx, UnspentPoolAddrIndexBkt) + require.NoError(t, err) + + require.Equal(t, uint64(len(addrHashes)), length) + + height, ok, err := u.meta.getAddrIndexHeight(tx) + require.NoError(t, err) + require.True(t, ok) + require.Equal(t, uint64(180), height) + + err = dbutil.ForEach(tx, UnspentPoolAddrIndexBkt, func(k, v []byte) error { + addr, err := cipher.AddressFromBytes(k) + require.NoError(t, err) + + var hashes []cipher.SHA256 + err = encoder.DeserializeRaw(v, &hashes) + require.NoError(t, err) + + expectedHashes, ok := addrHashes[addr] + require.True(t, ok) + + sort.Slice(expectedHashes, func(i, j int) bool { + return bytes.Compare(expectedHashes[i][:], expectedHashes[j][:]) < 1 + }) + + sort.Slice(hashes, func(i, j int) bool { + return bytes.Compare(hashes[i][:], hashes[j][:]) < 1 + }) + + require.Equal(t, expectedHashes, hashes) + + delete(addrHashes, addr) + + return nil + }) + require.NoError(t, err) + + require.Empty(t, addrHashes) + + return nil + }) + require.NoError(t, err) +} + +func TestUnspentMaybeBuildIndexesNoRebuild(t *testing.T) { + // Set addrIndexHeight to head block height, but don't populate the addr index + // Check that the addr index was not populated, so we know that the index did not get rebuilt if the height matches + db, shutdown := setupNoUnspentAddrIndexDB(t) + defer shutdown() + + u := NewUnspentPool() + + // Create the bucket and artifically set the indexed height, without indexing + headSeq := uint64(180) + err := db.Update("", func(tx *dbutil.Tx) error { + if _, err := tx.CreateBucketIfNotExists(UnspentPoolAddrIndexBkt); err != nil { + return err + } + + return u.meta.setAddrIndexHeight(tx, headSeq) + }) + require.NoError(t, err) + + // Attempt to build index based upon the headSeq that we set + err = db.Update("", func(tx *dbutil.Tx) error { + return u.MaybeBuildIndexes(tx, headSeq) + }) + require.NoError(t, err) + + // Check that the addr index is still empty, because the height was the same + err = db.View("", func(tx *dbutil.Tx) error { + height, ok, err := u.meta.getAddrIndexHeight(tx) + require.NoError(t, err) + require.True(t, ok) + require.Equal(t, headSeq, height) + + length, err := dbutil.Len(tx, UnspentPoolAddrIndexBkt) + require.NoError(t, err) + require.Equal(t, uint64(0), length) + return nil + }) + require.NoError(t, err) +} + +func setupNoUnspentAddrIndexDB(t *testing.T) (*dbutil.DB, func()) { + // Open a test database file that lacks UnspentPoolAddrIndexBkt, + // copy it to a temp file and open a database around the temp file + dbFilename := "./testdata/blockchain-180.no-unspent-addr-index.db" + dbFile, err := os.Open(dbFilename) + require.NoError(t, err) + + tmpFile, err := ioutil.TempFile("", "testdb") + require.NoError(t, err) + + _, err = io.Copy(tmpFile, dbFile) + require.NoError(t, err) + + err = dbFile.Close() + require.NoError(t, err) + + err = tmpFile.Sync() + require.NoError(t, err) + + boltDB, err := bolt.Open(tmpFile.Name(), 0700, nil) + require.NoError(t, err) + + db := dbutil.WrapDB(boltDB) + + return db, func() { + db.Close() + tmpFile.Close() + os.Remove(tmpFile.Name()) + } } diff --git a/src/visor/bucket/bucket.go b/src/visor/bucket/bucket.go deleted file mode 100755 index 1fe0d64..0000000 --- a/src/visor/bucket/bucket.go +++ /dev/null @@ -1,239 +0,0 @@ -package bucket - -import ( - "encoding/binary" - "fmt" - - "github.com/boltdb/bolt" -) - -// Bucket used for grouping the key values in boltdb. -// Also wrap some helper functions. -type Bucket struct { - Name []byte - db *bolt.DB -} - -// New create bucket of specific name. -func New(name []byte, db *bolt.DB) (*Bucket, error) { - if db.IsReadOnly() { - return &Bucket{name, db}, nil - } - - err := db.Update(func(tx *bolt.Tx) error { - if _, err := tx.CreateBucketIfNotExists(name); err != nil { - return err - } - return nil - }) - if err != nil { - return nil, err - } - return &Bucket{name, db}, nil -} - -// Reset resets the bucket -func (b *Bucket) Reset() error { - return b.db.Update(func(tx *bolt.Tx) error { - if err := tx.DeleteBucket(b.Name); err != nil { - return err - } - - _, err := tx.CreateBucketIfNotExists(b.Name) - return err - }) -} - -// Get value of specific key in the bucket. -func (b Bucket) Get(key []byte) []byte { - var value []byte - b.db.View(func(tx *bolt.Tx) error { - value = tx.Bucket(b.Name).Get(key) - return nil - }) - return value -} - -// GetWithTx gets value -func (b Bucket) GetWithTx(tx *bolt.Tx, key []byte) []byte { - return tx.Bucket(b.Name).Get(key) -} - -// GetAll returns all values -func (b *Bucket) GetAll() map[interface{}][]byte { - values := map[interface{}][]byte{} - b.db.View(func(tx *bolt.Tx) error { - bkt := tx.Bucket(b.Name) - bkt.ForEach(func(k, v []byte) error { - values[string(k)] = v - return nil - }) - return nil - }) - return values -} - -// GetSlice returns values by key slice -func (b *Bucket) GetSlice(keys [][]byte) [][]byte { - var values [][]byte - b.db.View(func(tx *bolt.Tx) error { - for _, k := range keys { - v := tx.Bucket(b.Name).Get(k) - if v != nil { - values = append(values, v) - } - } - return nil - }) - - return values -} - -// Put key value in the bucket. -func (b Bucket) Put(key []byte, value []byte) error { - return b.db.Update(func(tx *bolt.Tx) error { - return tx.Bucket(b.Name).Put(key, value) - }) -} - -// PutWithTx put key value with bolt.Tx -func (b Bucket) PutWithTx(tx *bolt.Tx, key []byte, value []byte) error { - bkt := tx.Bucket(b.Name) - if bkt == nil { - return fmt.Errorf("bucket %s does not exist", b.Name) - } - - return bkt.Put(key, value) -} - -// Find find value that match the filter in the bucket. -func (b Bucket) Find(filter func(key, value []byte) bool) []byte { - var value []byte - b.db.View(func(tx *bolt.Tx) error { - bt := tx.Bucket(b.Name) - - c := bt.Cursor() - for k, v := c.First(); k != nil; k, v = c.Next() { - if filter(k, v) { - value = v - break - } - } - return nil - }) - return value -} - -// Update use callback func to update the value of given key -func (b *Bucket) Update(key []byte, f func([]byte) ([]byte, error)) error { - return b.db.Update(func(tx *bolt.Tx) error { - // get the value of given key - bkt := tx.Bucket(b.Name) - v, err := f(bkt.Get(key)) - if err != nil { - return err - } - return bkt.Put(key, v) - }) -} - -// Delete removes value of given key -func (b *Bucket) Delete(key []byte) error { - return b.db.Update(func(tx *bolt.Tx) error { - return tx.Bucket(b.Name).Delete(key) - }) -} - -// DeleteWithTx remove from bucket with tx -func (b *Bucket) DeleteWithTx(tx *bolt.Tx, key []byte) error { - bkt := tx.Bucket(b.Name) - if bkt == nil { - return fmt.Errorf("bucket %s doesn't exist", b.Name) - } - - return bkt.Delete(key) -} - -// RangeUpdate updates range of the values -func (b *Bucket) RangeUpdate(f func(k, v []byte) ([]byte, error)) error { - return b.db.Update(func(tx *bolt.Tx) error { - bkt := tx.Bucket(b.Name) - c := bkt.Cursor() - for k, v := c.First(); k != nil; k, v = c.Next() { - v, err := f(k, v) - if err != nil { - return err - } - - if err := bkt.Put(k, v); err != nil { - return err - } - } - return nil - }) -} - -// IsExist check if the value exist of the given key -func (b *Bucket) IsExist(k []byte) bool { - var exist bool - b.db.View(func(tx *bolt.Tx) error { - v := tx.Bucket(b.Name).Get(k) - if v != nil { - exist = true - } - return nil - }) - return exist -} - -// IsEmpty check if the bucket is empty -func (b *Bucket) IsEmpty() bool { - var empty = true - b.db.View(func(tx *bolt.Tx) error { - c := tx.Bucket(b.Name).Cursor() - k, _ := c.First() - if k != nil { - empty = false - } - - return nil - }) - return empty -} - -// ForEach iterate the whole bucket -func (b *Bucket) ForEach(f func(k, v []byte) error) error { - return b.db.View(func(tx *bolt.Tx) error { - return tx.Bucket(b.Name).ForEach(f) - }) -} - -// Len returns the number of key value pairs -func (b *Bucket) Len() (len int) { - b.db.View(func(tx *bolt.Tx) error { - c := tx.Bucket(b.Name).Cursor() - for k, _ := c.First(); k != nil; k, _ = c.Next() { - len++ - } - return nil - }) - return -} - -// Itob converts uint64 to bytes -func Itob(v uint64) []byte { - b := make([]byte, 8) - binary.BigEndian.PutUint64(b, uint64(v)) - return b -} - -// Btoi converts bytes to uint64 -func Btoi(v []byte) uint64 { - return binary.BigEndian.Uint64(v) -} - -// Rollback callback function type -type Rollback func() - -// TxHandler function type for processing bolt transaction -type TxHandler func(tx *bolt.Tx) (Rollback, error) diff --git a/src/visor/bucket/bucket_test.go b/src/visor/bucket/bucket_test.go deleted file mode 100755 index 4c64b69..0000000 --- a/src/visor/bucket/bucket_test.go +++ /dev/null @@ -1,390 +0,0 @@ -package bucket - -import ( - "fmt" - "testing" - - "encoding/json" - - "bytes" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - - "github.com/skycoin/skycoin/src/testutil" -) - -type person struct { - Name string - Age int -} - -func TestBktUpdate(t *testing.T) { - testCases := []struct { - Init map[string]person - UpdateAge map[string]int - }{ - { - map[string]person{ - "1": person{"p1", 10}, - "2": person{"p2", 11}, - }, - map[string]int{ - "1": 20, - "2": 21, - }, - }, - } - - for _, tc := range testCases { - t.Run("", func(t *testing.T) { - db, close := testutil.PrepareDB(t) - defer close() - bkt, err := New([]byte("bkt"), db) - assert.Nil(t, err) - // init value - for k, v := range tc.Init { - d, err := json.Marshal(v) - assert.Nil(t, err) - bkt.Put([]byte(k), d) - } - - // update value - for k, v := range tc.UpdateAge { - err := bkt.Update([]byte(k), func(val []byte) ([]byte, error) { - var p person - if err := json.NewDecoder(bytes.NewReader(val)).Decode(&p); err != nil { - return nil, err - } - p.Age = v - d, err := json.Marshal(p) - if err != nil { - return nil, err - } - return d, nil - }) - assert.Nil(t, err) - } - - // check the updated value - for k, v := range tc.UpdateAge { - val := bkt.Get([]byte(k)) - var p person - err := json.NewDecoder(bytes.NewReader(val)).Decode(&p) - assert.Nil(t, err) - assert.Equal(t, v, p.Age) - } - }) - } -} - -func TestReset(t *testing.T) { - db, cancel := testutil.PrepareDB(t) - defer cancel() - - bkt, err := New([]byte("tete"), db) - assert.Nil(t, err) - - assert.Nil(t, bkt.Put([]byte("k1"), []byte("v1"))) - - assert.Nil(t, bkt.Put([]byte("k2"), []byte("v2"))) - - assert.Equal(t, []byte("v1"), bkt.Get([]byte("k1"))) - assert.Equal(t, []byte("v2"), bkt.Get([]byte("k2"))) - - assert.Nil(t, bkt.Reset()) - - v1 := bkt.Get([]byte("k1")) - if v1 != nil { - t.Fatal("bucket reset failed") - } - - v2 := bkt.Get([]byte("k2")) - if v2 != nil { - t.Fatal("bucket reset failed") - } - -} - -func TestDelete(t *testing.T) { - testCases := []struct { - Name string - Init map[string]string - Del string - Err error - }{ - { - "Delete exist", - map[string]string{ - "a": "1", - "b": "2", - }, - "a", - nil, - }, - { - "Delete none exist", - map[string]string{ - "a": "1", - }, - "b", - nil, - }, - } - for _, tc := range testCases { - t.Run(tc.Name, func(t *testing.T) { - db, close := testutil.PrepareDB(t) - defer close() - - bkt, err := New([]byte("bkt"), db) - assert.Nil(t, err) - for k, v := range tc.Init { - err := bkt.Put([]byte(k), []byte(v)) - assert.Nil(t, err) - } - - err = bkt.Delete([]byte(tc.Del)) - assert.Equal(t, tc.Err, err) - - // check if this value is deleted - v := bkt.Get([]byte(tc.Del)) - assert.Nil(t, v) - }) - } -} - -func TestGetAll(t *testing.T) { - testCases := []struct { - init map[string]string - }{ - { - map[string]string{ - "a": "1", - "b": "2", - "c": "3", - }, - }, - } - - for _, tc := range testCases { - name := fmt.Sprintf("with item num=%v", len(tc.init)) - t.Run(name, func(t *testing.T) { - db, close := testutil.PrepareDB(t) - defer close() - - bkt, err := New([]byte("bkt"), db) - assert.Nil(t, err) - // init bkt - for k, v := range tc.init { - bkt.Put([]byte(k), []byte(v)) - } - - // get all - vs := bkt.GetAll() - for k, v := range vs { - assert.Equal(t, string(v), tc.init[k.(string)]) - } - }) - } -} - -func TestRangeUpdate(t *testing.T) { - testCases := []struct { - init map[string]string - up map[string]string - }{ - { - map[string]string{ - "a": "1", - "b": "2", - "c": "3", - }, - map[string]string{ - "a": "10", - "b": "20", - "c": "30", - }, - }, - } - - for _, tc := range testCases { - name := fmt.Sprintf("with item num=%v", len(tc.up)) - t.Run(name, func(t *testing.T) { - db, close := testutil.PrepareDB(t) - defer close() - bkt, err := New([]byte("bkt"), db) - assert.Nil(t, err) - for k, v := range tc.init { - bkt.Put([]byte(k), []byte(v)) - } - - // range update - bkt.RangeUpdate(func(k, v []byte) ([]byte, error) { - return []byte(tc.up[string(k)]), nil - }) - - // check if the value has been updated - for k, v := range tc.up { - assert.Equal(t, []byte(v), bkt.Get([]byte(k))) - } - }) - } -} - -func TestIsExsit(t *testing.T) { - testCases := []struct { - init map[string]string - k string - exist bool - }{ - { - map[string]string{ - "a": "1", - "b": "2", - }, - "a", - true, - }, - { - map[string]string{ - "a": "1", - "b": "2", - }, - "b", - true, - }, - { - map[string]string{ - "a": "1", - "b": "2", - }, - "c", - false, - }, - { - map[string]string{}, - "c", - false, - }, - } - - for _, tc := range testCases { - name := fmt.Sprintf("exist=%v", tc.exist) - t.Run(name, func(t *testing.T) { - db, close := testutil.PrepareDB(t) - defer close() - - bkt, err := New([]byte("bkt"), db) - assert.Nil(t, err) - - // init the bucket - for k, v := range tc.init { - bkt.Put([]byte(k), []byte(v)) - } - - assert.Equal(t, tc.exist, bkt.IsExist([]byte(tc.k))) - }) - } -} - -func TestForEach(t *testing.T) { - testCases := []struct { - init map[string]string - }{ - { - map[string]string{ - "a": "1", - "b": "2", - "c": "3", - }, - }, - { - map[string]string{}, - }, - } - for _, tc := range testCases { - name := fmt.Sprintf("with item num=%v", len(tc.init)) - t.Run(name, func(t *testing.T) { - db, close := testutil.PrepareDB(t) - defer close() - - // Creates new bucket - bkt, err := New([]byte("bkt"), db) - assert.Nil(t, err) - - // Writes data into the bucket - for k, v := range tc.init { - bkt.Put([]byte(k), []byte(v)) - } - - var count int - bkt.ForEach(func(k, v []byte) error { - count++ - assert.Equal(t, string(v), tc.init[string(k)]) - return nil - }) - - assert.Equal(t, len(tc.init), count) - }) - } -} - -func TestLen(t *testing.T) { - testCases := []struct { - data map[string]string - len int - }{ - { - map[string]string{}, - 0, - }, - { - map[string]string{ - "a": "1", - }, - 1, - }, - { - map[string]string{ - "a": "1", - "b": "2", - "c": "3", - "d": "4", - }, - 4, - }, - } - - for _, tc := range testCases { - name := fmt.Sprintf("len=%v", tc.len) - t.Run(name, func(t *testing.T) { - db, close := testutil.PrepareDB(t) - defer close() - - bkt, err := New([]byte("bkt"), db) - assert.Nil(t, err) - for k, v := range tc.data { - bkt.Put([]byte(k), []byte(v)) - } - - assert.Equal(t, tc.len, bkt.Len()) - }) - } -} - -func TestBucketIsEmpty(t *testing.T) { - db, td := testutil.PrepareDB(t) - defer td() - - bkt, err := New([]byte("bkt1"), db) - require.Nil(t, err) - - require.True(t, bkt.IsEmpty()) - - require.Nil(t, bkt.Put([]byte("k1"), []byte("v1"))) - - require.False(t, bkt.IsEmpty()) - - bkt.Reset() - require.True(t, bkt.IsEmpty()) -} diff --git a/src/visor/daemon_visor_test.go b/src/visor/daemon_visor_test.go new file mode 100755 index 0000000..1e148fb --- /dev/null +++ b/src/visor/daemon_visor_test.go @@ -0,0 +1,168 @@ +package visor + +/* +These are tests that used to be in daemon/visor_test.go, +but belong in package visor instead. + +They have been moved here without checking if they duplicate any +existing test in visor_test.go. + +It is assumed that these tests may provide coverage not present in visor_test.go + +They could be merged into visor_test.go, but for simplicity they were only moved here +*/ + +import ( + "errors" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/util/fee" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +func setupSimpleVisor(t *testing.T, db *dbutil.DB, bc *Blockchain) *Visor { + cfg := NewVisorConfig() + cfg.DBPath = db.Path() + + pool, err := NewUnconfirmedTxnPool(db) + require.NoError(t, err) + + return &Visor{ + Config: cfg, + Unconfirmed: pool, + Blockchain: bc, + DB: db, + } +} + +func TestVerifyTransactionInvalidFee(t *testing.T) { + // Test that a soft constraint is enforced + // Full verification tests are in visor/blockchain_verify_test.go + db, close := prepareDB(t) + defer close() + + // Setup blockchain + _, s := cipher.GenerateKeyPair() + bc := MakeBlockchain(t, db, s) + + // Send coins to the initial address, with invalid fee + var coins = GenesisCoins + var hours = GenesisCoinHours * 1e3 + var f uint64 + addr := testutil.MakeAddress() + + txn := CreateGenesisSpendTransaction(t, db, bc, addr, coins, hours, f) + + // Setup a minimal visor + v := setupSimpleVisor(t, db, bc) + + _, softErr, err := v.InjectTransaction(txn) + require.NoError(t, err) + require.NotNil(t, softErr) + require.Equal(t, NewErrTxnViolatesSoftConstraint(fee.ErrTxnNoFee), *softErr) +} + +func TestVerifyTransactionInvalidSignature(t *testing.T) { + // Test that a hard constraint is enforced + // Full verification tests are in visor/blockchain_verify_test.go + db, close := prepareDB(t) + defer close() + + // Setup blockchain + _, s := cipher.GenerateKeyPair() + bc := MakeBlockchain(t, db, s) + + // Send coins to the initial address, with invalid fee + var coins = GenesisCoins + var hours uint64 + var fee uint64 + addr := testutil.MakeAddress() + + txn := CreateGenesisSpendTransaction(t, db, bc, addr, coins, hours, fee) + + // Invalidate signatures + txn.Sigs = nil + + // Setup a minimal visor + v := setupSimpleVisor(t, db, bc) + + _, softErr, err := v.InjectTransaction(txn) + require.Nil(t, softErr) + testutil.RequireError(t, err, NewErrTxnViolatesHardConstraint(errors.New("Invalid number of signatures")).Error()) +} + +func TestInjectValidTransaction(t *testing.T) { + db, close := prepareDB(t) + defer close() + + _, s := cipher.GenerateKeyPair() + // Setup blockchain + bc := MakeBlockchain(t, db, s) + + // Send coins to the initial address, with invalid fee + var coins = GenesisCoins + var hours uint64 + var fee uint64 + addr := testutil.MakeAddress() + + txn := CreateGenesisSpendTransaction(t, db, bc, addr, coins, hours, fee) + + // Setup a minimal visor + v := setupSimpleVisor(t, db, bc) + + // The unconfirmed pool should be empty + txns, err := v.GetAllUnconfirmedTxns() + require.NoError(t, err) + require.Len(t, txns, 0) + + // Call injectTransaction + _, softErr, err := v.InjectTransaction(txn) + require.Nil(t, softErr) + require.NoError(t, err) + + // The transaction should appear in the unconfirmed pool + txns, err = v.GetAllUnconfirmedTxns() + require.NoError(t, err) + require.Len(t, txns, 1) + require.Equal(t, txns[0].Txn, txn) +} + +func TestInjectTransactionSoftViolationNoFee(t *testing.T) { + db, close := prepareDB(t) + defer close() + + // Setup blockchain + _, s := cipher.GenerateKeyPair() + bc := MakeBlockchain(t, db, s) + + // Send coins to the initial address, with invalid fee + var coins = GenesisCoins + var hours = GenesisCoinHours * 1e3 + var f uint64 + addr := testutil.MakeAddress() + + txn := CreateGenesisSpendTransaction(t, db, bc, addr, coins, hours, f) + + // Setup a minimal visor + v := setupSimpleVisor(t, db, bc) + + // The unconfirmed pool should be empty + txns, err := v.GetAllUnconfirmedTxns() + require.NoError(t, err) + require.Len(t, txns, 0) + + // Call injectTransaction + _, softErr, err := v.InjectTransaction(txn) + require.NoError(t, err) + require.NotNil(t, softErr) + require.Equal(t, NewErrTxnViolatesSoftConstraint(fee.ErrTxnNoFee), *softErr) + + // The transaction should appear in the unconfirmed pool + txns, err = v.GetAllUnconfirmedTxns() + require.NoError(t, err) + require.Len(t, txns, 1) +} diff --git a/src/visor/db.go b/src/visor/db.go index ec52bfd..e4ad510 100755 --- a/src/visor/db.go +++ b/src/visor/db.go @@ -3,74 +3,215 @@ package visor import ( "crypto/sha1" "encoding/base64" + "errors" "fmt" "io" "os" "path/filepath" + "sync" "time" "github.com/boltdb/bolt" "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" + "github.com/skycoin/skycoin/src/visor/historydb" ) -// loadBlockchain loads blockchain from DB and if any error occurs then delete -// the db and create an empty blockchain. -func loadBlockchain(db *bolt.DB, pubkey cipher.PubKey, arbitrating bool) (*bolt.DB, *Blockchain, error) { - logger.Info("Loading blockchain") +var ( + // BlockchainVerifyTheadNum number of goroutines to use for signature and historydb verification + BlockchainVerifyTheadNum = 4 +) + +// ErrCorruptDB is returned if the database is corrupted +// The original corruption error is embedded +type ErrCorruptDB struct { + error +} + +// CheckDatabase checks the database for corruption, rebuild history if corrupted +func CheckDatabase(db *dbutil.DB, pubkey cipher.PubKey, quit chan struct{}) error { + var blocksBktExist bool + db.View("CheckDatabase", func(tx *dbutil.Tx) error { + blocksBktExist = dbutil.Exists(tx, blockdb.BlocksBkt) + return nil + }) - bc, err := NewBlockchain(db, pubkey, Arbitrating(arbitrating)) - if err == nil { - return db, bc, nil + // Don't verify the db if the blocks bucket does not exist + if !blocksBktExist { + return nil } + bc, err := NewBlockchain(db, BlockchainConfig{Pubkey: pubkey}) + if err != nil { + return err + } + + history := historydb.New() + indexesMap := historydb.NewIndexesMap() + + var historyVerifyErr error + var lock sync.Mutex + verifyFunc := func(tx *dbutil.Tx, b *coin.SignedBlock) error { + // Verify signature + if err := bc.VerifySignature(b); err != nil { + return err + } + + // Verify historydb, we don't return the error of history.Verify here, + // as we have to check all signature, if we return error early here, the + // potential bad signature won't be detected. + lock.Lock() + defer lock.Unlock() + if historyVerifyErr == nil { + historyVerifyErr = history.Verify(tx, b, indexesMap) + } + return nil + } + + err = bc.WalkChain(BlockchainVerifyTheadNum, verifyFunc, quit) switch err.(type) { - case blockdb.ErrMissingSignature: + case nil: + lock.Lock() + err = historyVerifyErr + lock.Unlock() + return err default: - return nil, nil, err + return err } +} - // Recreate the block database if ErrMissingSignature occurs - dbPath := db.Path() +// backup the corrypted db first, then rebuild the history DB. +func rebuildHistoryDB(db *dbutil.DB, history *historydb.HistoryDB, bc *Blockchain, quit chan struct{}) (*dbutil.DB, error) { + db, err := backupDB(db) + if err != nil { + return nil, err + } + + if err := db.Update("Rebuild history db", func(tx *dbutil.Tx) error { + if err := history.Erase(tx); err != nil { + return err + } + + headSeq, ok, err := bc.HeadSeq(tx) + if err != nil { + return err + } + + if !ok { + return errors.New("head block does not exist") + } + + for i := uint64(0); i <= headSeq; i++ { + select { + case <-quit: + return nil + default: + b, err := bc.GetSignedBlockBySeq(tx, i) + if err != nil { + return err + } + + if err := history.ParseBlock(tx, b.Block); err != nil { + return err + } + + if i%1000 == 0 { + logger.Critical().Infof("Parse block: %d", i) + } + } + } + return nil + }); err != nil { + return nil, err + } + return db, nil +} + +// backupDB makes a backup copy of the DB +func backupDB(db *dbutil.DB) (*dbutil.DB, error) { + // backup the corrupted database dbReadOnly := db.IsReadOnly() - logger.Critical().Errorf("Block database signature missing, recreating db: %v", err) + dbPath := db.Path() + if err := db.Close(); err != nil { - return nil, nil, fmt.Errorf("failed to close db: %v", err) + return nil, fmt.Errorf("Failed to close db: %v", err) } - corruptDBPath, err := moveCorruptDB(dbPath) + corruptDBPath, err := copyCorruptDB(dbPath) if err != nil { - return nil, nil, fmt.Errorf("Failed to copy corrupted db: %v", err) + return nil, fmt.Errorf("Failed to copy corrupted db: %v", err) } - logger.Critical().Errorf("Moved corrupted db to %s", corruptDBPath) + logger.Critical().Infof("Copy corrupted db to %s", corruptDBPath) - db, err = OpenDB(dbPath, dbReadOnly) + // Open the database again + return OpenDB(dbPath, dbReadOnly) +} + +// RepairCorruptDB checks the database for corruption and if corrupted and +// is ErrMissingSignature, then then it erases the db and starts over. +// If it's ErrHistoryDBCorrupted, then rebuild historydb from scratch. +// A copy of the corrupted database is saved. +func RepairCorruptDB(db *dbutil.DB, pubkey cipher.PubKey, quit chan struct{}) (*dbutil.DB, error) { + err := CheckDatabase(db, pubkey, quit) + switch err.(type) { + case nil: + return db, nil + case blockdb.ErrMissingSignature: + logger.Critical().Errorf("Database is corrupted, recreating db: %v", err) + return resetCorruptDB(db) + case historydb.ErrHistoryDBCorrupted: + logger.Critical().Errorf("Database is corrupted, rebuilding db: %v", err) + return rebuildCorruptDB(db, pubkey, quit) + default: + return nil, err + } +} + +func rebuildCorruptDB(db *dbutil.DB, pubkey cipher.PubKey, quit chan struct{}) (*dbutil.DB, error) { + history := historydb.New() + bc, err := NewBlockchain(db, BlockchainConfig{Pubkey: pubkey}) if err != nil { - return nil, nil, err + return nil, err + } + + return rebuildHistoryDB(db, history, bc, quit) +} + +// resetCorruptDB recreates the DB, making a backup copy marked as corrupted +func resetCorruptDB(db *dbutil.DB) (*dbutil.DB, error) { + dbReadOnly := db.IsReadOnly() + dbPath := db.Path() + + if err := db.Close(); err != nil { + return nil, fmt.Errorf("Failed to close db: %v", err) } - bc, err = NewBlockchain(db, pubkey, Arbitrating(arbitrating)) + corruptDBPath, err := moveCorruptDB(dbPath) if err != nil { - return nil, nil, err + return nil, fmt.Errorf("Failed to copy corrupted db: %v", err) } - return db, bc, nil + logger.Critical().Infof("Moved corrupted db to %s", corruptDBPath) + + return OpenDB(dbPath, dbReadOnly) } // OpenDB opens the blockdb -func OpenDB(dbFile string, readOnly bool) (*bolt.DB, error) { +func OpenDB(dbFile string, readOnly bool) (*dbutil.DB, error) { db, err := bolt.Open(dbFile, 0600, &bolt.Options{ - Timeout: 500 * time.Millisecond, + Timeout: 5000 * time.Millisecond, ReadOnly: readOnly, }) if err != nil { return nil, fmt.Errorf("Open boltdb failed, %v", err) } - return db, nil + return dbutil.WrapDB(db), nil } // moveCorruptDB moves a file to makeCorruptDBPath(dbPath) @@ -81,7 +222,39 @@ func moveCorruptDB(dbPath string) (string, error) { } if err := os.Rename(dbPath, newDBPath); err != nil { - logger.Infof("os.Rename(%s, %s) failed: %v", dbPath, newDBPath, err) + logger.Errorf("os.Rename(%s, %s) failed: %v", dbPath, newDBPath, err) + return "", err + } + + return newDBPath, nil +} + +// copyCorruptDB copy a file to makeCorruptDBPath(dbPath) +func copyCorruptDB(dbPath string) (string, error) { + newDBPath, err := makeCorruptDBPath(dbPath) + if err != nil { + return "", err + } + + in, err := os.Open(dbPath) + if err != nil { + return "", err + } + defer in.Close() + + out, err := os.Create(newDBPath) + if err != nil { + return "", err + } + defer out.Close() + logger.Critical().Info(out.Name()) + + _, err = io.Copy(in, out) + if err != nil { + return "", err + } + + if err := out.Close(); err != nil { return "", err } @@ -104,7 +277,7 @@ func makeCorruptDBPath(dbPath string) (string, error) { } // shaFileID return the first 8 bytes of the SHA1 hash of the file, -// base64-encoded +// hex-encoded func shaFileID(dbPath string) (string, error) { fi, err := os.Open(dbPath) if err != nil { @@ -118,7 +291,6 @@ func shaFileID(dbPath string) (string, error) { } sum := h.Sum(nil) - encodedSum := base64.RawStdEncoding.EncodeToString(sum[:8]) - + encodedSum := base64.RawURLEncoding.EncodeToString(sum[:8]) return encodedSum, nil } diff --git a/src/visor/dbutil/dbutil.go b/src/visor/dbutil/dbutil.go new file mode 100755 index 0000000..dbd7782 --- /dev/null +++ b/src/visor/dbutil/dbutil.go @@ -0,0 +1,355 @@ +package dbutil + +import ( + "encoding/binary" + "encoding/json" + "errors" + "fmt" + "runtime/debug" + "sync" + "time" + + "github.com/boltdb/bolt" + + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/util/logging" +) + +var ( + logger = logging.MustGetLogger("dbutil") + txViewLog = false + txViewTrace = false + txUpdateLog = false + txUpdateTrace = false + txDurationLog = true + txDurationReportingThreshold = time.Millisecond * 100 +) + +// Tx wraps a Tx +type Tx struct { + *bolt.Tx +} + +// String is implemented to prevent a panic when mocking methods with *Tx arguments. +// The mock library forces arguments to be printed with %s which causes Tx to panic. +// See https://github.com/stretchr/testify/pull/596 +func (tx *Tx) String() string { + return fmt.Sprintf("%v", tx.Tx) +} + +// DB wraps a bolt.DB to add logging +type DB struct { + ViewLog bool + ViewTrace bool + UpdateLog bool + UpdateTrace bool + DurationLog bool + DurationReportingThreshold time.Duration + + *bolt.DB + + // shutdownLock is added to prevent closing the database while a View transaction is in progress + // bolt.DB will block for Update transactions but not for View transactions, and if + // the database is closed while in a View transaction, it will panic + // This will be fixed in coreos's bbolt after this PR is merged: + // https://github.com/coreos/bbolt/pull/91 + // When coreos has this feature, we can switch to coreos's bbolt and remove this lock + shutdownLock sync.RWMutex +} + +// WrapDB returns WrapDB +func WrapDB(db *bolt.DB) *DB { + return &DB{ + ViewLog: txViewLog, + UpdateLog: txUpdateLog, + ViewTrace: txViewTrace, + UpdateTrace: txUpdateTrace, + DurationLog: txDurationLog, + DurationReportingThreshold: txDurationReportingThreshold, + DB: db, + } +} + +// View wraps *bolt.DB.View to add logging +func (db *DB) View(name string, f func(*Tx) error) error { + db.shutdownLock.RLock() + defer db.shutdownLock.RUnlock() + + if db.ViewLog { + logger.Debug("db.View [%s] starting", name) + defer logger.Debug("db.View [%s] done", name) + } + if db.ViewTrace { + debug.PrintStack() + } + + t0 := time.Now() + + err := db.DB.View(func(tx *bolt.Tx) error { + return f(&Tx{tx}) + }) + + t1 := time.Now() + delta := t1.Sub(t0) + if db.DurationLog && delta > db.DurationReportingThreshold { + logger.Debugf("db.View [%s] elapsed %s", name, delta) + } + + return err +} + +// Update wraps *bolt.DB.Update to add logging +func (db *DB) Update(name string, f func(*Tx) error) error { + db.shutdownLock.RLock() + defer db.shutdownLock.RUnlock() + + if db.UpdateLog { + logger.Debug("db.Update [%s] starting", name) + defer logger.Debug("db.Update [%s] done", name) + } + if db.UpdateTrace { + debug.PrintStack() + } + + t0 := time.Now() + + err := db.DB.Update(func(tx *bolt.Tx) error { + return f(&Tx{tx}) + }) + + t1 := time.Now() + delta := t1.Sub(t0) + if db.DurationLog && delta > db.DurationReportingThreshold { + logger.Debugf("db.Update [%s] elapsed %s", name, delta) + } + + return err +} + +// Close closes the underlying *bolt.DB +func (db *DB) Close() error { + db.shutdownLock.Lock() + defer db.shutdownLock.Unlock() + + return db.DB.Close() +} + +// ErrCreateBucketFailed is returned if creating a bolt.DB bucket fails +type ErrCreateBucketFailed struct { + Bucket string + Err error +} + +func (e ErrCreateBucketFailed) Error() string { + return fmt.Sprintf("Create bucket \"%s\" failed: %v", e.Bucket, e.Err) +} + +// NewErrCreateBucketFailed returns an ErrCreateBucketFailed +func NewErrCreateBucketFailed(bucket []byte, err error) error { + return ErrCreateBucketFailed{ + Bucket: string(bucket), + Err: err, + } +} + +// ErrBucketNotExist is returned if a bolt.DB bucket does not exist +type ErrBucketNotExist struct { + Bucket string +} + +func (e ErrBucketNotExist) Error() string { + return fmt.Sprintf("Bucket \"%s\" doesn't exist", e.Bucket) +} + +// NewErrBucketNotExist returns an ErrBucketNotExist +func NewErrBucketNotExist(bucket []byte) error { + return ErrBucketNotExist{ + Bucket: string(bucket), + } +} + +// CreateBuckets creates multiple buckets +func CreateBuckets(tx *Tx, buckets [][]byte) error { + for _, b := range buckets { + if _, err := tx.CreateBucketIfNotExists(b); err != nil { + return NewErrCreateBucketFailed(b, err) + } + } + + return nil +} + +// GetBucketObjectDecoded returns an encoder-serialized value from a bucket, decoded to an object +func GetBucketObjectDecoded(tx *Tx, bktName, key []byte, obj interface{}) (bool, error) { + v, err := getBucketValue(tx, bktName, key) + if err != nil { + return false, err + } else if v == nil { + return false, nil + } + + if err := encoder.DeserializeRaw(v, obj); err != nil { + return false, fmt.Errorf("encoder.DeserializeRaw failed: %v", err) + } + + return true, nil +} + +// GetBucketObjectJSON returns a JSON value from a bucket, unmarshaled to an object +func GetBucketObjectJSON(tx *Tx, bktName, key []byte, obj interface{}) (bool, error) { + v, err := getBucketValue(tx, bktName, key) + if err != nil { + return false, err + } else if v == nil { + return false, nil + } + + if err := json.Unmarshal(v, obj); err != nil { + return false, fmt.Errorf("json.Unmarshal failed: %v", err) + } + + return true, nil +} + +// GetBucketString returns a string value from a bucket +func GetBucketString(tx *Tx, bktName, key []byte) (string, bool, error) { + v, err := getBucketValue(tx, bktName, key) + if err != nil { + return "", false, err + } else if v == nil { + return "", false, nil + } + + return string(v), true, nil +} + +// GetBucketValue returns a []byte value from a bucket +func GetBucketValue(tx *Tx, bktName, key []byte) ([]byte, error) { + v, err := getBucketValue(tx, bktName, key) + if err != nil { + return nil, err + } else if v == nil { + return nil, nil + } + + // Bytes returned from boltdb are not valid outside of the transaction + // they are called in, make a copy + w := make([]byte, len(v)) + copy(w[:], v[:]) + + return w, nil +} + +// getBucketValue returns a value from a bucket. If the value does not exist, +// it returns an error of type ErrBucketNotExist +func getBucketValue(tx *Tx, bktName, key []byte) ([]byte, error) { + bkt := tx.Bucket(bktName) + if bkt == nil { + return nil, NewErrBucketNotExist(bktName) + } + + return bkt.Get(key), nil +} + +// PutBucketValue puts a value into a bucket under key. +func PutBucketValue(tx *Tx, bktName, key, val []byte) error { + bkt := tx.Bucket(bktName) + if bkt == nil { + return NewErrBucketNotExist(bktName) + } + + return bkt.Put(key, val) +} + +// BucketHasKey returns true if a bucket has a non-nil value for a key +func BucketHasKey(tx *Tx, bktName, key []byte) (bool, error) { + bkt := tx.Bucket(bktName) + if bkt == nil { + return false, NewErrBucketNotExist(bktName) + } + + v := bkt.Get(key) + return v != nil, nil +} + +// NextSequence returns the NextSequence() from the bucket +func NextSequence(tx *Tx, bktName []byte) (uint64, error) { + bkt := tx.Bucket(bktName) + if bkt == nil { + return 0, NewErrBucketNotExist(bktName) + } + + return bkt.NextSequence() +} + +// ForEach calls ForEach on the bucket +func ForEach(tx *Tx, bktName []byte, f func(k, v []byte) error) error { + bkt := tx.Bucket(bktName) + if bkt == nil { + return NewErrBucketNotExist(bktName) + } + + return bkt.ForEach(f) +} + +// Delete deletes from a bucket +func Delete(tx *Tx, bktName, key []byte) error { + bkt := tx.Bucket(bktName) + if bkt == nil { + return NewErrBucketNotExist(bktName) + } + + return bkt.Delete(key) +} + +// Len returns the number of keys in a bucket +func Len(tx *Tx, bktName []byte) (uint64, error) { + bkt := tx.Bucket(bktName) + if bkt == nil { + return 0, NewErrBucketNotExist(bktName) + } + + bstats := bkt.Stats() + + if bstats.KeyN < 0 { + return 0, errors.New("Negative length queried from db stats") + } + + return uint64(bstats.KeyN), nil +} + +// IsEmpty returns true if the bucket is empty +func IsEmpty(tx *Tx, bktName []byte) (bool, error) { + length, err := Len(tx, bktName) + if err != nil { + return false, err + } + return length == 0, nil +} + +// Exists returns true if the bucket exists +func Exists(tx *Tx, bktName []byte) bool { + return tx.Bucket(bktName) != nil +} + +// Reset resets the bucket +func Reset(tx *Tx, bktName []byte) error { + if err := tx.DeleteBucket(bktName); err != nil { + return err + } + + _, err := tx.CreateBucket(bktName) + return err +} + +// Itob converts uint64 to bytes +func Itob(v uint64) []byte { + b := make([]byte, 8) + binary.BigEndian.PutUint64(b, uint64(v)) + return b +} + +// Btoi converts bytes to uint64 +func Btoi(v []byte) uint64 { + return binary.BigEndian.Uint64(v) +} diff --git a/src/visor/distribution.go b/src/visor/distribution.go index 4541f10..f94c340 100755 --- a/src/visor/distribution.go +++ b/src/visor/distribution.go @@ -4,27 +4,8 @@ import ( "github.com/skycoin/skycoin/src/coin" ) -const ( - // MaxCoinSupply is the maximum supply of skycoins - MaxCoinSupply uint64 = 1e8 // 100,000,000 million - - // DistributionAddressesTotal is the number of distribution addresses - DistributionAddressesTotal uint64 = 100 - - // DistributionAddressInitialBalance is the initial balance of each distribution address - DistributionAddressInitialBalance uint64 = MaxCoinSupply / DistributionAddressesTotal - - // InitialUnlockedCount is the initial number of unlocked addresses - InitialUnlockedCount uint64 = 25 - - // UnlockAddressRate is the number of addresses to unlock per unlock time interval - UnlockAddressRate uint64 = 5 - - // UnlockTimeInterval is the distribution address unlock time interval, measured in seconds - // Once the InitialUnlockedCount is exhausted, - // UnlockAddressRate addresses will be unlocked per UnlockTimeInterval - UnlockTimeInterval uint64 = 60 * 60 * 24 * 365 // 1 year -) +// Note: parameters.go contains many constants used in this file +// they are the ones generated from the fiber config file. func init() { if MaxCoinSupply%DistributionAddressesTotal != 0 { @@ -91,106 +72,3 @@ func TransactionIsLocked(inUxs coin.UxArray) bool { return false } - -var distributionAddresses = [DistributionAddressesTotal]string{ - "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", - "2EYM4WFHe4Dgz6kjAdUkM6Etep7ruz2ia6h", - "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", - "ix44h3cojvN6nqGcdpy62X7Rw6Ahnr3Thk", - "AYV8KEBEAPCg8a59cHgqHMqYHP9nVgQDyW", - "2Nu5Jv5Wp3RYGJU1EkjWFFHnebxMx1GjfkF", - "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", - "tWZ11Nvor9parjg4FkwxNVcby59WVTw2iL", - "m2joQiJRZnj3jN6NsoKNxaxzUTijkdRoSR", - "8yf8PAQqU2cDj8Yzgz3LgBEyDqjvCh2xR7", - "sgB3n11ZPUYHToju6TWMpUZTUcKvQnoFMJ", - "2UYPbDBnHUEc67e7qD4eXtQQ6zfU2cyvAvk", - "wybwGC9rhm8ZssBuzpy5goXrAdE31MPdsj", - "JbM25o7kY7hqJZt3WGYu9pHZFCpA9TCR6t", - "2efrft5Lnwjtk7F1p9d7BnPd72zko2hQWNi", - "Syzmb3MiMoiNVpqFdQ38hWgffHg86D2J4e", - "2g3GUmTQooLrNHaRDhKtLU8rWLz36Beow7F", - "D3phtGr9iv6238b3zYXq6VgwrzwvfRzWZQ", - "gpqsFSuMCZmsjPc6Rtgy1FmLx424tH86My", - "2EUF3GPEUmfocnUc1w6YPtqXVCy3UZA4rAq", - "TtAaxB3qGz5zEAhhiGkBY9VPV7cekhvRYS", - "2fM5gVpi7XaiMPm4i29zddTNkmrKe6TzhVZ", - "ix3NDKgxfYYANKAb5kbmwBYXPrkAsha7uG", - "2RkPshpFFrkuaP98GprLtgHFTGvPY5e6wCK", - "Ak1qCDNudRxZVvcW6YDAdD9jpYNNStAVqm", - "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf", - "KPfqM6S96WtRLMuSy4XLfVwymVqivdcDoM", - "5B98bU1nsedGJBdRD5wLtq7Z8t8ZXio8u5", - "2iZWk5tmBynWxj2PpAFyiZzEws9qSnG3a6n", - "XUGdPaVnMh7jtzPe3zkrf9FKh5nztFnQU5", - "hSNgHgewJme8uaHrEuKubHYtYSDckD6hpf", - "2DeK765jLgnMweYrMp1NaYHfzxumfR1PaQN", - "orrAssY5V2HuQAbW9K6WktFrGieq2m23pr", - "4Ebf4PkG9QEnQTm4MVvaZvJV6Y9av3jhgb", - "7Uf5xJ3GkiEKaLxC2WmJ1t6SeekJeBdJfu", - "oz4ytDKbCqpgjW3LPc52pW2CaK2gxCcWmL", - "2ex5Z7TufQ5Z8xv5mXe53fSQRfUr35SSo7Q", - "WV2ap7ZubTxeDdmEZ1Xo7ufGMkekLWikJu", - "ckCTV4r1pNuz6j2VBRHhaJN9HsCLY7muLV", - "MXJx96ZJVSjktgeYZpVK8vn1H3xWP8ooq5", - "wyQVmno9aBJZmQ99nDSLoYWwp7YDJCWsrH", - "2cc9wKxCsFNRkoAQDAoHke3ZoyL1mSV14cj", - "29k9g3F5AYfVaa1joE1PpZjBED6hQXes8Mm", - "2XPLzz4ZLf1A9ykyTCjW5gEmVjnWa8CuatH", - "iH7DqqojTgUn2JxmY9hgFp165Nk7wKfan9", - "RJzzwUs3c9C8Y7NFYzNfFoqiUKeBhBfPki", - "2W2cGyiCRM4nwmmiGPgMuGaPGeBzEm7VZPn", - "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", - "tBaeg9zE2sgmw5ZQENaPPYd6jfwpVpGTzS", - "2hdTw5Hk3rsgpZjvk8TyKcCZoRVXU5QVrUt", - "A1QU6jKq8YgTP79M8fwZNHUZc7hConFKmy", - "q9RkXoty3X1fuaypDDRUi78rWgJWYJMmpJ", - "2Xvm6is5cAPA85xnSYXDuAqiRyoXiky5RaD", - "4CW2CPJEzxhn2PS4JoSLoWGL5QQ7dL2eji", - "24EG6uTzL7DHNzcwsygYGRR1nfu5kco7AZ1", - "KghGnWw5fppTrqHSERXZf61yf7GkuQdCnV", - "2WojewRA3LbpyXTP9ANy8CZqJMgmyNm3MDr", - "2BsMfywmGV3M2CoDA112Rs7ZBkiMHfy9X11", - "kK1Q4gPyYfVVMzQtAPRzL8qXMqJ67Y7tKs", - "28J4mx8xfUtM92DbQ6i2Jmqw5J7dNivfroN", - "gQvgyG1djgtftoCVrSZmsRxr7okD4LheKw", - "3iFGBKapAWWzbiGFSr5ScbhrEPm6Esyvia", - "NFW2akQH2vu7AqkQXxFz2P5vkXTWkSqrSm", - "2MQJjLnWRp9eHh6MpCwpiUeshhtmri12mci", - "2QjRQUMyL6iodtHP9zKmxCNYZ7k3jxtk49C", - "USdfKy7B6oFNoauHWMmoCA7ND9rHqYw2Mf", - "cA49et9WtptYHf6wA1F8qqVgH3kS5jJ9vK", - "qaJT9TjcMi46sTKcgwRQU8o5Lw2Ea1gC4N", - "22pyn5RyhqtTQu4obYjuWYRNNw4i54L8xVr", - "22dkmukC6iH4FFLBmHne6modJZZQ3MC9BAT", - "z6CJZfYLvmd41GRVE8HASjRcy5hqbpHZvE", - "GEBWJ2KpRQDBTCCtvnaAJV2cYurgXS8pta", - "oS8fbEm82cprmAeineBeDkaKd7QownDZQh", - "rQpAs1LVQdphyj9ipEAuukAoj9kNpSP8cM", - "6NSJKsPxmqipGAfFFhUKbkopjrvEESTX3j", - "cuC68ycVXmD2EBzYFNYQ6akhKGrh3FGjSf", - "bw4wtYU8toepomrhWP2p8UFYfHBbvEV425", - "HvgNmDz5jD39Gwmi9VfDY1iYMhZUpZ8GKz", - "SbApuZAYquWP3Q6iD51BcMBQjuApYEkRVf", - "2Ugii5yxJgLzC59jV1vF8GK7UBZdvxwobeJ", - "21N2iJ1qnQRiJWcEqNRxXwfNp8QcmiyhtPy", - "9TC4RGs6AtFUsbcVWnSoCdoCpSfM66ALAc", - "oQzn55UWG4iMcY9bTNb27aTnRdfiGHAwbD", - "2GCdwsRpQhcf8SQcynFrMVDM26Bbj6sgv9M", - "2NRFe7REtSmaM2qAgZeG45hC8EtVGV2QjeB", - "25RGnhN7VojHUTvQBJA9nBT5y1qTQGULMzR", - "26uCBDfF8E2PJU2Dzz2ysgKwv9m4BhodTz9", - "Wkvima5cF7DDFdmJQqcdq8Syaq9DuAJJRD", - "286hSoJYxvENFSHwG51ZbmKaochLJyq4ERQ", - "FEGxF3HPoM2HCWHn82tyeh9o7vEQq5ySGE", - "h38DxNxGhWGTq9p5tJnN5r4Fwnn85Krrb6", - "2c1UU8J6Y3kL4cmQh21Tj8wkzidCiZxwdwd", - "2bJ32KuGmjmwKyAtzWdLFpXNM6t83CCPLq5", - "2fi8oLC9zfVVGnzzQtu3Y3rffS65Hiz6QHo", - "TKD93RxFr2Am44TntLiJQus4qcEwTtvEEQ", - "zMDywYdGEDtTSvWnCyc3qsYHWwj9ogws74", - "25NbotTka7TwtbXUpSCQD8RMgHKspyDubXJ", - "2ayCELBERubQWH5QxUr3cTxrYpidvUAzsSw", - "RMTCwLiYDKEAiJu5ekHL1NQ8UKHi5ozCPg", - "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm", -} diff --git a/src/visor/historydb/address_txn.go b/src/visor/historydb/address_txn.go index 7388d3e..28f3161 100755 --- a/src/visor/historydb/address_txn.go +++ b/src/visor/historydb/address_txn.go @@ -1,70 +1,38 @@ package historydb import ( - "github.com/boltdb/bolt" - "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/cipher/encoder" - "github.com/skycoin/skycoin/src/visor/bucket" + "github.com/skycoin/skycoin/src/visor/dbutil" ) -var addressTxnsBktName = []byte("address_txns") +// AddressTxnsBkt maps addresses to transaction hashes +var AddressTxnsBkt = []byte("address_txns") // addressTxn buckets for storing address related transactions // address as key, transaction id slice as value -type addressTxns struct { - bkt *bucket.Bucket -} - -func newAddressTxnsBkt(db *bolt.DB) (*addressTxns, error) { - bkt, err := bucket.New(addressTxnsBktName, db) - if err != nil { - return nil, err - } - - return &addressTxns{bkt}, nil -} +type addressTxns struct{} // Get returns the transaction hashes of given address -func (atx *addressTxns) Get(address cipher.Address) ([]cipher.SHA256, error) { +func (atx *addressTxns) Get(tx *dbutil.Tx, address cipher.Address) ([]cipher.SHA256, error) { var txHashes []cipher.SHA256 - v := atx.bkt.Get(address.Bytes()) - if v == nil { - return []cipher.SHA256{}, nil - } - - if err := encoder.DeserializeRaw(v, &txHashes); err != nil { - return []cipher.SHA256{}, err + if ok, err := dbutil.GetBucketObjectDecoded(tx, AddressTxnsBkt, address.Bytes(), &txHashes); err != nil { + return nil, err + } else if !ok { + return nil, nil } return txHashes, nil } -// IsEmpty checks if address transactions bucket is empty -func (atx *addressTxns) IsEmpty() bool { - return atx.bkt.IsEmpty() -} - -// Reset resets the bucket -func (atx *addressTxns) Reset() error { - return atx.bkt.Reset() -} - -func setAddressTxns(bkt *bolt.Bucket, addr cipher.Address, hash cipher.SHA256) error { - // get hashes - addrBytes := addr.Bytes() - v := bkt.Get(addrBytes) - if v == nil { - bin := encoder.Serialize([]cipher.SHA256{hash}) - return bkt.Put(addrBytes, bin) - } - - var hashes []cipher.SHA256 - if err := encoder.DeserializeRaw(v, &hashes); err != nil { +// Add adds a hash to an address's hash list +func (atx *addressTxns) Add(tx *dbutil.Tx, addr cipher.Address, hash cipher.SHA256) error { + hashes, err := atx.Get(tx, addr) + if err != nil { return err } - // check dup + // check for duplicates for _, u := range hashes { if u == hash { return nil @@ -72,6 +40,15 @@ func setAddressTxns(bkt *bolt.Bucket, addr cipher.Address, hash cipher.SHA256) e } hashes = append(hashes, hash) - bin := encoder.Serialize(hashes) - return bkt.Put(addrBytes, bin) + return dbutil.PutBucketValue(tx, AddressTxnsBkt, addr.Bytes(), encoder.Serialize(hashes)) +} + +// IsEmpty checks if address transactions bucket is empty +func (atx *addressTxns) IsEmpty(tx *dbutil.Tx) (bool, error) { + return dbutil.IsEmpty(tx, AddressTxnsBkt) +} + +// Reset resets the bucket +func (atx *addressTxns) Reset(tx *dbutil.Tx) error { + return dbutil.Reset(tx, AddressTxnsBkt) } diff --git a/src/visor/historydb/address_txn_test.go b/src/visor/historydb/address_txn_test.go index a84cda8..6488d67 100755 --- a/src/visor/historydb/address_txn_test.go +++ b/src/visor/historydb/address_txn_test.go @@ -4,29 +4,12 @@ import ( "fmt" "testing" - "github.com/boltdb/bolt" "github.com/stretchr/testify/require" "github.com/skycoin/skycoin/src/cipher" - "github.com/skycoin/skycoin/src/cipher/encoder" - "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor/dbutil" ) -func TestNewAddressTxns(t *testing.T) { - db, td := testutil.PrepareDB(t) - defer td() - - _, err := newAddressTxnsBkt(db) - require.Nil(t, err) - - // the address_txns bucket must be exist - db.View(func(tx *bolt.Tx) error { - bkt := tx.Bucket([]byte("address_txns")) - require.NotNil(t, bkt) - return nil - }) -} - func TestAddAddressTxns(t *testing.T) { var preAddrs []cipher.Address var preTxHashes []cipher.SHA256 @@ -120,30 +103,28 @@ func TestAddAddressTxns(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - db, td := testutil.PrepareDB(t) + db, td := prepareDB(t) defer td() - _, err := newAddressTxnsBkt(db) - require.Nil(t, err) + addrTxns := &addressTxns{} - require.Nil(t, db.Update(func(tx *bolt.Tx) error { - bkt := tx.Bucket(addressTxnsBktName) + err := db.Update("", func(tx *dbutil.Tx) error { for _, pr := range tc.addPairs { - require.Nil(t, setAddressTxns(bkt, pr.addr, pr.txHash)) + err := addrTxns.Add(tx, pr.addr, pr.txHash) + require.NoError(t, err) } return nil - })) + }) + require.NoError(t, err) for _, e := range tc.expect { - db.View(func(tx *bolt.Tx) error { - bkt := tx.Bucket(addressTxnsBktName) - v := bkt.Get(e.addr.Bytes()) - require.NotNil(t, v) - var hashes []cipher.SHA256 - require.Nil(t, encoder.DeserializeRaw(v, &hashes)) + err := db.View("", func(tx *dbutil.Tx) error { + hashes, err := addrTxns.Get(tx, e.addr) + require.NoError(t, err) require.Equal(t, e.txs, hashes) return nil }) + require.NoError(t, err) } }) @@ -243,29 +224,30 @@ func TestGetAddressTxns(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - db, td := testutil.PrepareDB(t) + db, td := prepareDB(t) defer td() - addrTxnsBkt, err := newAddressTxnsBkt(db) - require.Nil(t, err) - - require.Nil(t, db.Update(func(tx *bolt.Tx) error { - bkt := tx.Bucket(addressTxnsBktName) + addrTxns := &addressTxns{} + err := db.Update("", func(tx *dbutil.Tx) error { for _, pr := range tc.addPairs { - if err := setAddressTxns(bkt, pr.addr, pr.txHash); err != nil { - return err - } + err := addrTxns.Add(tx, pr.addr, pr.txHash) + require.NoError(t, err) } return nil - })) + }) + require.NoError(t, err) - for _, e := range tc.expect { - hashes, err := addrTxnsBkt.Get(e.addr) - require.Nil(t, err) - require.Equal(t, e.txs, hashes) - } + err = db.View("", func(tx *dbutil.Tx) error { + for _, e := range tc.expect { + hashes, err := addrTxns.Get(tx, e.addr) + require.NoError(t, err) + require.Equal(t, e.txs, hashes) + } + return nil + }) + require.NoError(t, err) }) } diff --git a/src/visor/historydb/address_uxout.go b/src/visor/historydb/address_uxout.go index cb78c20..044d00d 100755 --- a/src/visor/historydb/address_uxout.go +++ b/src/visor/historydb/address_uxout.go @@ -1,53 +1,38 @@ package historydb import ( - "github.com/boltdb/bolt" - "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/cipher/encoder" - "github.com/skycoin/skycoin/src/visor/bucket" + "github.com/skycoin/skycoin/src/visor/dbutil" ) -// bucket for storing address with UxOut, key as address, value as UxOut. -type addressUx struct { - bkt *bucket.Bucket -} - -// create address affected UxOuts bucket. -func newAddressUxBkt(db *bolt.DB) (*addressUx, error) { - bkt, err := bucket.New([]byte("address_in"), db) - if err != nil { - return nil, err - } +// AddressUxBkt maps addresses to unspent outputs +var AddressUxBkt = []byte("address_in") - return &addressUx{bkt}, nil -} +// bucket for storing address with UxOut, key as address, value as UxOut. +type addressUx struct{} // Get return nil on not found. -func (au *addressUx) Get(address cipher.Address) ([]cipher.SHA256, error) { - uxHashes := []cipher.SHA256{} - bin := au.bkt.Get(address.Bytes()) - if bin == nil { - return nil, nil - } - if err := encoder.DeserializeRaw(bin, &uxHashes); err != nil { +func (au *addressUx) Get(tx *dbutil.Tx, address cipher.Address) ([]cipher.SHA256, error) { + var uxHashes []cipher.SHA256 + + if ok, err := dbutil.GetBucketObjectDecoded(tx, AddressUxBkt, address.Bytes(), &uxHashes); err != nil { return nil, err + } else if !ok { + return nil, nil } + return uxHashes, nil } -func (au *addressUx) Add(address cipher.Address, uxHash cipher.SHA256) error { - hashes, err := au.Get(address) +// Add adds a hash to an address's hash list +func (au *addressUx) Add(tx *dbutil.Tx, address cipher.Address, uxHash cipher.SHA256) error { + hashes, err := au.Get(tx, address) if err != nil { return err } - if hashes == nil { - bin := encoder.Serialize([]cipher.SHA256{uxHash}) - return au.bkt.Put(address.Bytes(), bin) - } - - // check dup + // check for duplicate hashes for _, u := range hashes { if u == uxHash { return nil @@ -55,38 +40,15 @@ func (au *addressUx) Add(address cipher.Address, uxHash cipher.SHA256) error { } hashes = append(hashes, uxHash) - bin := encoder.Serialize(hashes) - return au.bkt.Put(address.Bytes(), bin) + return dbutil.PutBucketValue(tx, AddressUxBkt, address.Bytes(), encoder.Serialize(hashes)) } // IsEmpty checks if the addressUx bucket is empty -func (au *addressUx) IsEmpty() bool { - return au.bkt.IsEmpty() +func (au *addressUx) IsEmpty(tx *dbutil.Tx) (bool, error) { + return dbutil.IsEmpty(tx, AddressUxBkt) } // Reset resets the bucket -func (au *addressUx) Reset() error { - return au.bkt.Reset() -} - -func setAddressUx(bkt *bolt.Bucket, addr cipher.Address, uxHash cipher.SHA256) error { - bin := bkt.Get(addr.Bytes()) - if bin == nil { - return bkt.Put(addr.Bytes(), encoder.Serialize([]cipher.SHA256{uxHash})) - } - - uxHashes := []cipher.SHA256{} - if err := encoder.DeserializeRaw(bin, &uxHashes); err != nil { - return err - } - - // check dup - for _, u := range uxHashes { - if u == uxHash { - return nil - } - } - - uxHashes = append(uxHashes, uxHash) - return bkt.Put(addr.Bytes(), encoder.Serialize(uxHashes)) +func (au *addressUx) Reset(tx *dbutil.Tx) error { + return dbutil.Reset(tx, AddressUxBkt) } diff --git a/src/visor/historydb/history_meta.go b/src/visor/historydb/history_meta.go index 0ea42a9..e6e3b39 100755 --- a/src/visor/historydb/history_meta.go +++ b/src/visor/historydb/history_meta.go @@ -1,60 +1,41 @@ package historydb import ( - "fmt" - - "github.com/boltdb/bolt" - - "github.com/skycoin/skycoin/src/visor/bucket" + "github.com/skycoin/skycoin/src/visor/dbutil" ) var ( - historyMetaBkt = []byte("history_meta") + // HistoryMetaBkt holds history metadata + HistoryMetaBkt = []byte("history_meta") parsedHeightKey = []byte("parsed_height") ) // historyMeta bucket for storing block history meta info -type historyMeta struct { - v *bucket.Bucket -} +type historyMeta struct{} -func newHistoryMeta(db *bolt.DB) (*historyMeta, error) { - bkt, err := bucket.New(historyMetaBkt, db) +// Height returns history parsed block seq +func (hm *historyMeta) ParsedBlockSeq(tx *dbutil.Tx) (uint64, bool, error) { + v, err := dbutil.GetBucketValue(tx, HistoryMetaBkt, parsedHeightKey) if err != nil { - return nil, err + return 0, false, err + } else if v == nil { + return 0, false, nil } - return &historyMeta{v: bkt}, nil -} -// Height returns history parsed height, if no block was parsed, return -1. -func (hm *historyMeta) ParsedHeight() int64 { - if v := hm.v.Get(parsedHeightKey); v != nil { - return int64(bucket.Btoi(v)) - } - return -1 + return dbutil.Btoi(v), true, nil } -// SetParsedHeight updates history parsed height -func (hm *historyMeta) SetParsedHeight(h uint64) error { - return hm.v.Put(parsedHeightKey, bucket.Itob(h)) -} - -// SetParsedHeightWithTx updates history parsed height with *bolt.Tx -func (hm *historyMeta) SetParsedHeightWithTx(tx *bolt.Tx, h uint64) error { - bkt := tx.Bucket(historyMetaBkt) - if bkt == nil { - return fmt.Errorf("set parsed height failed, bucket: %s does not exist", string(historyMetaBkt)) - } - - return bkt.Put(parsedHeightKey, bucket.Itob(h)) +// SetParsedHeight updates history parsed block seq +func (hm *historyMeta) SetParsedBlockSeq(tx *dbutil.Tx, h uint64) error { + return dbutil.PutBucketValue(tx, HistoryMetaBkt, parsedHeightKey, dbutil.Itob(h)) } // IsEmpty checks if history meta bucket is empty -func (hm *historyMeta) IsEmpty() bool { - return hm.v.IsEmpty() +func (hm *historyMeta) IsEmpty(tx *dbutil.Tx) (bool, error) { + return dbutil.IsEmpty(tx, HistoryMetaBkt) } // Reset resets the bucket -func (hm *historyMeta) Reset() error { - return hm.v.Reset() +func (hm *historyMeta) Reset(tx *dbutil.Tx) error { + return dbutil.Reset(tx, HistoryMetaBkt) } diff --git a/src/visor/historydb/history_meta_test.go b/src/visor/historydb/history_meta_test.go index 3116990..3f42c85 100755 --- a/src/visor/historydb/history_meta_test.go +++ b/src/visor/historydb/history_meta_test.go @@ -3,52 +3,56 @@ package historydb import ( "testing" - "github.com/boltdb/bolt" - "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" - "github.com/skycoin/skycoin/src/testutil" - "github.com/skycoin/skycoin/src/visor/bucket" + "github.com/skycoin/skycoin/src/visor/dbutil" ) -func TestNewHistoryMeta(t *testing.T) { - db, td := testutil.PrepareDB(t) +func TestHistoryMetaGetSetParsedHeight(t *testing.T) { + db, td := prepareDB(t) defer td() - hm, err := newHistoryMeta(db) - assert.Nil(t, err) - db.View(func(tx *bolt.Tx) error { - bkt := tx.Bucket([]byte("history_meta")) - assert.NotNil(t, bkt) - return nil - }) - - v := hm.v.Get(parsedHeightKey) - assert.Nil(t, v) -} - -func TestHistoryMetaGetParsedHeight(t *testing.T) { - db, td := testutil.PrepareDB(t) - defer td() - - hm, err := newHistoryMeta(db) - assert.Nil(t, err) - - assert.Equal(t, int64(-1), hm.ParsedHeight()) + hm := &historyMeta{} - assert.Nil(t, hm.v.Put(parsedHeightKey, bucket.Itob(10))) - assert.Equal(t, int64(10), hm.ParsedHeight()) -} + err := db.View("", func(tx *dbutil.Tx) error { + height, ok, err := hm.ParsedBlockSeq(tx) + require.NoError(t, err) + require.False(t, ok) + require.Equal(t, uint64(0), height) + return err + }) + require.NoError(t, err) -func TestHistoryMetaSetParsedHeight(t *testing.T) { - db, td := testutil.PrepareDB(t) - defer td() + err = db.Update("", func(tx *dbutil.Tx) error { + err := hm.SetParsedBlockSeq(tx, 10) + require.NoError(t, err) + return err + }) + require.NoError(t, err) + + err = db.View("", func(tx *dbutil.Tx) error { + height, ok, err := hm.ParsedBlockSeq(tx) + require.NoError(t, err) + require.True(t, ok) + require.Equal(t, uint64(10), height) + return err + }) + require.NoError(t, err) - hm, err := newHistoryMeta(db) - assert.Nil(t, err) - assert.Nil(t, hm.SetParsedHeight(0)) - assert.Equal(t, uint64(0), bucket.Btoi(hm.v.Get(parsedHeightKey))) + err = db.Update("", func(tx *dbutil.Tx) error { + err := hm.SetParsedBlockSeq(tx, 0) + require.NoError(t, err) + return err + }) + require.NoError(t, err) + + err = db.View("", func(tx *dbutil.Tx) error { + height, ok, err := hm.ParsedBlockSeq(tx) + require.NoError(t, err) + require.True(t, ok) + require.Equal(t, uint64(0), height) + return err + }) + require.NoError(t, err) - // set 10 - hm.SetParsedHeight(10) - assert.Equal(t, uint64(10), bucket.Btoi(hm.v.Get(parsedHeightKey))) } diff --git a/src/visor/historydb/historydb.go b/src/visor/historydb/historydb.go index 8448f53..c3061c6 100755 --- a/src/visor/historydb/historydb.go +++ b/src/visor/historydb/historydb.go @@ -4,225 +4,374 @@ package historydb import ( "errors" - - "github.com/boltdb/bolt" + "fmt" + "sync" "github.com/skycoin/skycoin/src/cipher" - "github.com/skycoin/skycoin/src/cipher/encoder" "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/visor/dbutil" ) var logger = logging.MustGetLogger("historydb") -// Blockchainer interface for isolating the detail of blockchain. -type Blockchainer interface { - Head() *coin.Block - GetBlockInDepth(dep uint64) *coin.Block - ExecuteBlock(b *coin.Block) (coin.UxArray, error) - CreateGenesisBlock(genAddress cipher.Address, genCoins, timestamp uint64) coin.Block - GetBlock(hash cipher.SHA256) *coin.Block +// CreateBuckets creates bolt.DB buckets used by the historydb +func CreateBuckets(tx *dbutil.Tx) error { + return dbutil.CreateBuckets(tx, [][]byte{ + AddressTxnsBkt, + AddressUxBkt, + HistoryMetaBkt, + UxOutsBkt, + TransactionsBkt, + }) } -// HistoryDB provides apis for blockchain explorer. +// HistoryDB provides APIs for blockchain explorer type HistoryDB struct { - db *bolt.DB // bolt db instance. - txns *transactions // transactions bucket. - outputs *UxOuts // outputs bucket. - addrUx *addressUx // bucket which stores all UxOuts that address recved. - addrTxns *addressTxns // address related transaction bucket + txns *transactions // transactions bucket + outputs *UxOuts // outputs bucket + addrUx *addressUx // bucket which stores all UxOuts that address received + addrTxns *addressTxns // address related transaction bucket *historyMeta // stores history meta info } -// New create historydb instance and create corresponding buckets if does not exist. -func New(db *bolt.DB) (*HistoryDB, error) { - hd := HistoryDB{db: db} - var err error - - hd.txns, err = newTransactionsBkt(db) - if err != nil { - return nil, err +// New create HistoryDB instance +func New() *HistoryDB { + return &HistoryDB{ + outputs: &UxOuts{}, + txns: &transactions{}, + addrUx: &addressUx{}, + addrTxns: &addressTxns{}, } +} - // create the output instance - hd.outputs, err = newOutputsBkt(db) +// NeedsReset checks if need to reset the parsed block history, +// If we have a new added bucket, we need to reset to parse +// blockchain again to get the new bucket filled. +func (hd *HistoryDB) NeedsReset(tx *dbutil.Tx) (bool, error) { + _, ok, err := hd.historyMeta.ParsedBlockSeq(tx) if err != nil { - return nil, err + return false, err + } else if !ok { + return true, nil } - // create the toAddressTx instance. - hd.addrUx, err = newAddressUxBkt(db) + // if any of the following buckets are empty, need to reset + addrTxnsEmpty, err := hd.addrTxns.IsEmpty(tx) if err != nil { - return nil, err + return false, err } - hd.historyMeta, err = newHistoryMeta(db) + addrUxEmpty, err := hd.addrUx.IsEmpty(tx) if err != nil { - return nil, err + return false, err } - hd.addrTxns, err = newAddressTxnsBkt(db) + txnsEmpty, err := hd.txns.IsEmpty(tx) if err != nil { - return nil, err + return false, err } - return &hd, nil -} - -// ResetIfNeed checks if need to reset the parsed block history, -// If we have a new added bucket, we need to reset to parse -// blockchain again to get the new bucket filled. -func (hd *HistoryDB) ResetIfNeed() error { - if hd.historyMeta.ParsedHeight() == 0 { - return nil + outputsEmpty, err := hd.outputs.IsEmpty(tx) + if err != nil { + return false, err } - // if any of the following buckets are empty, need to reset - if hd.addrTxns.IsEmpty() || - hd.addrUx.IsEmpty() || - hd.txns.IsEmpty() || - hd.outputs.IsEmpty() { - return hd.reset() + if addrTxnsEmpty || addrUxEmpty || txnsEmpty || outputsEmpty { + return true, nil } - return nil + return false, nil } -func (hd *HistoryDB) reset() error { - logger.Info("History db reset") - if err := hd.addrTxns.Reset(); err != nil { +// Erase erases the entire HistoryDB +func (hd *HistoryDB) Erase(tx *dbutil.Tx) error { + logger.Debug("HistoryDB.reset") + if err := hd.addrTxns.Reset(tx); err != nil { return err } - if err := hd.addrUx.Reset(); err != nil { + if err := hd.addrUx.Reset(tx); err != nil { return err } - if err := hd.outputs.Reset(); err != nil { + if err := hd.outputs.Reset(tx); err != nil { return err } - if err := hd.historyMeta.Reset(); err != nil { + if err := hd.historyMeta.Reset(tx); err != nil { return err } - return hd.txns.Reset() + return hd.txns.Reset(tx) } -// GetUxout get UxOut of specific uxID. -func (hd *HistoryDB) GetUxout(uxID cipher.SHA256) (*UxOut, error) { - return hd.outputs.Get(uxID) +// GetUxOuts get UxOut of specific uxIDs. +func (hd *HistoryDB) GetUxOuts(tx *dbutil.Tx, uxIDs []cipher.SHA256) ([]*UxOut, error) { + return hd.outputs.GetArray(tx, uxIDs) } -// ParseBlock will index the transaction, outputs,etc. -func (hd *HistoryDB) ParseBlock(b *coin.Block) error { - if b == nil { - return errors.New("process nil block") - } +// ParseBlock builds indexes out of the block data +func (hd *HistoryDB) ParseBlock(tx *dbutil.Tx, b coin.Block) error { + for _, t := range b.Body.Transactions { + txn := Transaction{ + Tx: t, + BlockSeq: b.Seq(), + } - // index the transactions - return hd.db.Update(func(tx *bolt.Tx) error { - // all updates will rollback if return error is not nil - for _, t := range b.Body.Transactions { - txn := Transaction{ - Tx: t, - BlockSeq: b.Seq(), + if err := hd.txns.Add(tx, &txn); err != nil { + return err + } + + for _, in := range t.In { + o, err := hd.outputs.Get(tx, in) + if err != nil { + return err } - txnsBkt := tx.Bucket(hd.txns.bkt.Name) - outputsBkt := tx.Bucket(hd.outputs.bkt.Name) - addrUxBkt := tx.Bucket(hd.addrUx.bkt.Name) - addrTxnsBkt := tx.Bucket(hd.addrTxns.bkt.Name) + if o == nil { + return errors.New("HistoryDB.ParseBlock: transaction input not found in outputs bucket") + } - if err := addTransaction(txnsBkt, &txn); err != nil { + // update the output's spent block seq and txid + o.SpentBlockSeq = b.Seq() + o.SpentTxID = t.Hash() + if err := hd.outputs.Set(tx, *o); err != nil { return err } - // handle tx in, genesis transaction's vin is empty, so should be ignored. - if b.Seq() > 0 { - for _, in := range t.In { - o, err := getOutput(outputsBkt, in) - if err != nil { - return err - } - // update output's spent block seq and txid. - o.SpentBlockSeq = b.Seq() - o.SpentTxID = t.Hash() - if err := setOutput(outputsBkt, *o); err != nil { - return err - } - - // store the IN address with txid - if err := setAddressTxns(addrTxnsBkt, o.Out.Body.Address, t.Hash()); err != nil { - return err - } - } + // store the IN address with txid + if err := hd.addrTxns.Add(tx, o.Out.Body.Address, t.Hash()); err != nil { + return err } + } - // handle the tx out - uxArray := coin.CreateUnspents(b.Head, t) - for _, ux := range uxArray { - uxOut := UxOut{ - Out: ux, - } - if err := setOutput(outputsBkt, uxOut); err != nil { - return err - } + // handle the tx out + uxArray := coin.CreateUnspents(b.Head, t) + for _, ux := range uxArray { + if err := hd.outputs.Set(tx, UxOut{ + Out: ux, + }); err != nil { + return err + } - if err := setAddressUx(addrUxBkt, ux.Body.Address, ux.Hash()); err != nil { - return err - } + if err := hd.addrUx.Add(tx, ux.Body.Address, ux.Hash()); err != nil { + return err + } - if err := setAddressTxns(addrTxnsBkt, ux.Body.Address, t.Hash()); err != nil { - return err - } + if err := hd.addrTxns.Add(tx, ux.Body.Address, t.Hash()); err != nil { + return err } } + } - return hd.SetParsedHeightWithTx(tx, b.Seq()) - }) + return hd.SetParsedBlockSeq(tx, b.Seq()) } // GetTransaction get transaction by hash. -func (hd HistoryDB) GetTransaction(hash cipher.SHA256) (*Transaction, error) { - return hd.txns.Get(hash) +func (hd HistoryDB) GetTransaction(tx *dbutil.Tx, hash cipher.SHA256) (*Transaction, error) { + return hd.txns.Get(tx, hash) } // GetAddrUxOuts get all uxout that the address affected. -func (hd HistoryDB) GetAddrUxOuts(address cipher.Address) ([]*UxOut, error) { - hashes, err := hd.addrUx.Get(address) +func (hd HistoryDB) GetAddrUxOuts(tx *dbutil.Tx, address cipher.Address) ([]*UxOut, error) { + hashes, err := hd.addrUx.Get(tx, address) if err != nil { - return []*UxOut{}, err - } - uxOuts := make([]*UxOut, len(hashes)) - for i, hash := range hashes { - ux, err := hd.outputs.Get(hash) - if err != nil { - return []*UxOut{}, err - } - uxOuts[i] = ux + return nil, err } - return uxOuts, nil + + return hd.outputs.GetArray(tx, hashes) } -// GetAddrTxns returns all the address related transactions -func (hd HistoryDB) GetAddrTxns(address cipher.Address) ([]Transaction, error) { - hashes, err := hd.addrTxns.Get(address) +// GetAddressTxns returns all the address related transactions +func (hd HistoryDB) GetAddressTxns(tx *dbutil.Tx, address cipher.Address) ([]Transaction, error) { + hashes, err := hd.addrTxns.Get(tx, address) if err != nil { - return []Transaction{}, err + return nil, err } - return hd.txns.GetSlice(hashes) + return hd.txns.GetSlice(tx, hashes) +} + +// ForEachTxn traverses the transactions bucket +func (hd HistoryDB) ForEachTxn(tx *dbutil.Tx, f func(cipher.SHA256, *Transaction) error) error { + return hd.txns.ForEach(tx, f) +} + +// IndexesMap is a goroutine safe address indexes map +type IndexesMap struct { + value map[cipher.Address]AddressIndexes + lock sync.RWMutex +} + +// NewIndexesMap creates a IndexesMap instance +func NewIndexesMap() *IndexesMap { + return &IndexesMap{ + value: make(map[cipher.Address]AddressIndexes), + } } -// ForEach traverses the transactions in db -func (hd HistoryDB) ForEach(f func(tx *Transaction) error) error { - return hd.txns.bkt.ForEach(func(k []byte, v []byte) error { - var tx Transaction - if err := encoder.DeserializeRaw(v, &tx); err != nil { +// Load returns value of given key +func (im *IndexesMap) Load(address cipher.Address) (AddressIndexes, bool) { + im.lock.RLock() + v, ok := im.value[address] + im.lock.RUnlock() + return v, ok +} + +// Store saves address with indexes +func (im *IndexesMap) Store(address cipher.Address, indexes AddressIndexes) { + im.lock.Lock() + im.value[address] = indexes + im.lock.Unlock() +} + +// AddressIndexes represents the address indexes struct +type AddressIndexes struct { + TxnHashes map[cipher.SHA256]struct{} + UxHashes map[cipher.SHA256]struct{} +} + +// Verify checks if the historydb is corrupted +func (hd HistoryDB) Verify(tx *dbutil.Tx, b *coin.SignedBlock, indexesMap *IndexesMap) error { + for _, t := range b.Body.Transactions { + txnHash := t.Hash() + txn, err := hd.txns.Get(tx, txnHash) + if err != nil { return err } - return f(&tx) - }) + if txn == nil { + err := fmt.Errorf("HistoryDB.Verify: transaction %v does not exist in historydb", txnHash.Hex()) + return ErrHistoryDBCorrupted{err} + } + + for _, in := range t.In { + // Checks the existence of transaction input + o, err := hd.outputs.Get(tx, in) + if err != nil { + return err + } + + if o == nil { + err := fmt.Errorf("HistoryDB.Verify: transaction input %v does not exist in historydb", in.Hex()) + return ErrHistoryDBCorrupted{err} + } + + // Checks the output's spend block seq + if o.SpentBlockSeq != b.Seq() { + err := fmt.Errorf("HistoryDB.Verify: spend block seq of transaction input %v is wrong, should be: %v, but is %v", + in.Hex(), b.Seq(), o.SpentBlockSeq) + return ErrHistoryDBCorrupted{err} + } + + addr := o.Out.Body.Address + txnHashesMap := map[cipher.SHA256]struct{}{} + uxHashesMap := map[cipher.SHA256]struct{}{} + + // Checks if the address indexes already loaded into memory + indexes, ok := indexesMap.Load(addr) + if ok { + txnHashesMap = indexes.TxnHashes + uxHashesMap = indexes.UxHashes + } else { + txnHashes, err := hd.addrTxns.Get(tx, addr) + if err != nil { + return err + } + for _, hash := range txnHashes { + txnHashesMap[hash] = struct{}{} + } + + uxHashes, err := hd.addrUx.Get(tx, addr) + if err != nil { + return err + } + for _, hash := range uxHashes { + uxHashesMap[hash] = struct{}{} + } + + indexesMap.Store(addr, AddressIndexes{ + TxnHashes: txnHashesMap, + UxHashes: uxHashesMap, + }) + } + + if _, ok := txnHashesMap[txnHash]; !ok { + err := fmt.Errorf("HistoryDB.Verify: index of address transaction [%s:%s] does not exist in historydb", + addr, txnHash.Hex()) + return ErrHistoryDBCorrupted{err} + } + + if _, ok := uxHashesMap[in]; !ok { + err := fmt.Errorf("HistoryDB.Verify: index of address uxout [%s:%s] does not exist in historydb", + addr, in.Hex()) + return ErrHistoryDBCorrupted{err} + } + } + + // Checks the transaction outs + uxArray := coin.CreateUnspents(b.Head, t) + for _, ux := range uxArray { + uxHash := ux.Hash() + out, err := hd.outputs.Get(tx, uxHash) + if err != nil { + return err + } + + if out == nil { + err := fmt.Errorf("HistoryDB.Verify: transaction output %s does not exist in historydb", uxHash.Hex()) + return ErrHistoryDBCorrupted{err} + } + + addr := ux.Body.Address + txnHashesMap := map[cipher.SHA256]struct{}{} + uxHashesMap := map[cipher.SHA256]struct{}{} + indexes, ok := indexesMap.Load(addr) + if ok { + txnHashesMap = indexes.TxnHashes + uxHashesMap = indexes.UxHashes + } else { + txnHashes, err := hd.addrTxns.Get(tx, addr) + if err != nil { + return err + } + for _, hash := range txnHashes { + txnHashesMap[hash] = struct{}{} + } + + uxHashes, err := hd.addrUx.Get(tx, addr) + if err != nil { + return err + } + + for _, hash := range uxHashes { + uxHashesMap[hash] = struct{}{} + } + + indexesMap.Store(addr, AddressIndexes{ + TxnHashes: txnHashesMap, + UxHashes: uxHashesMap, + }) + } + + if _, ok := txnHashesMap[txnHash]; !ok { + err := fmt.Errorf("HistoryDB.Verify: index of address transaction [%s:%s] does not exist in historydb", + addr, txnHash.Hex()) + return ErrHistoryDBCorrupted{err} + } + } + } + return nil +} + +// ErrHistoryDBCorrupted is returned when found the historydb is corrupted +type ErrHistoryDBCorrupted struct { + error +} + +// NewErrHistoryDBCorrupted is for user to be able to create ErrHistoryDBCorrupted instance +// outside of the package +func NewErrHistoryDBCorrupted(err error) ErrHistoryDBCorrupted { + return ErrHistoryDBCorrupted{err} } diff --git a/src/visor/historydb/historydb_test.go b/src/visor/historydb/historydb_test.go index 7360574..29940e4 100755 --- a/src/visor/historydb/historydb_test.go +++ b/src/visor/historydb/historydb_test.go @@ -3,44 +3,46 @@ package historydb import ( "errors" "fmt" + "log" "math/rand" "testing" "time" - "github.com/boltdb/bolt" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/skycoin/skycoin/src/cipher" - "github.com/skycoin/skycoin/src/cipher/encoder" "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/testutil" - "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/visor/dbutil" ) +func prepareDB(t *testing.T) (*dbutil.DB, func()) { + db, shutdown := testutil.PrepareDB(t) + + err := db.Update("", func(tx *dbutil.Tx) error { + return CreateBuckets(tx) + }) + if err != nil { + shutdown() + t.Fatalf("CreateBuckets failed: %v", err) + } + + return db, shutdown +} + var ( genPublic, genSecret = cipher.GenerateKeyPair() genAddress = cipher.AddressFromPubKey(genPublic) - transactionBkt = []byte("transactions") - outputBkt = []byte("uxouts") - addressInBkt = []byte("address_in") - log = logging.MustGetLogger("historydb_test") ) -var _genTime uint64 = 1000 -var _incTime uint64 = 3600 * 1000 -var _genCoins uint64 = 1000e6 +var genTime uint64 = 1000 +var incTime uint64 = 3600 * 1000 +var genCoins uint64 = 1000e6 -func _feeCalc(t *coin.Transaction) (uint64, error) { +func feeCalc(t *coin.Transaction) (uint64, error) { return 0, nil } -func _makeFeeCalc(fee uint64) coin.FeeCalculator { - return func(t *coin.Transaction) (uint64, error) { - return fee, nil - } -} - // set rand seed. var _ = func() int64 { t := time.Now().Unix() @@ -48,13 +50,23 @@ var _ = func() int64 { return t }() +// Blockchainer interface for isolating the detail of blockchain. +type Blockchainer interface { + Head() *coin.Block + GetBlockInDepth(dep uint64) *coin.Block + ExecuteBlock(b *coin.Block) (coin.UxArray, error) + CreateGenesisBlock(genAddress cipher.Address, genCoins, timestamp uint64) coin.Block + VerifyTransaction(tx coin.Transaction) error + GetBlock(hash cipher.SHA256) *coin.Block +} + type fakeBlockchain struct { blocks []coin.Block unspent map[string]coin.UxOut uxhash cipher.SHA256 } -func newBlockchain(db *bolt.DB) *fakeBlockchain { +func newBlockchain() *fakeBlockchain { return &fakeBlockchain{ unspent: make(map[string]coin.UxOut), } @@ -166,33 +178,29 @@ func (fbc fakeBlockchain) GetBlock(hash cipher.SHA256) *coin.Block { } func TestProcessGenesisBlock(t *testing.T) { - db, teardown := testutil.PrepareDB(t) + db, teardown := prepareDB(t) defer teardown() - bc := newBlockchain(db) - gb := bc.CreateGenesisBlock(genAddress, _genCoins, _genTime) - hisDB, err := New(db) - if err != nil { - t.Fatal(err) - } + bc := newBlockchain() + gb := bc.CreateGenesisBlock(genAddress, genCoins, genTime) + hisDB := New() - if err := hisDB.ParseBlock(&gb); err != nil { - t.Fatal(err) - } + err := db.Update("", func(tx *dbutil.Tx) error { + err := hisDB.ParseBlock(tx, gb) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) // check transactions bucket. var tx Transaction txHash := gb.Body.Transactions[0].Hash() - if err := getBucketValue(db, transactionBkt, txHash[:], &tx); err != nil { - t.Fatal(err) - } - assert.Equal(t, tx.Tx, gb.Body.Transactions[0]) + mustGetBucketValue(t, db, TransactionsBkt, txHash[:], &tx) + require.Equal(t, tx.Tx, gb.Body.Transactions[0]) // check address in outID := []cipher.SHA256{} - if err := getBucketValue(db, addressInBkt, genAddress.Bytes(), &outID); err != nil { - t.Fatal(err) - } + mustGetBucketValue(t, db, AddressUxBkt, genAddress.Bytes(), &outID) ux, ok := bc.unspent[outID[0].Hex()] require.True(t, ok) @@ -200,10 +208,9 @@ func TestProcessGenesisBlock(t *testing.T) { // check outputs output := UxOut{} - err = getBucketValue(db, outputBkt, outID[0][:], &output) - require.Nil(t, err) + mustGetBucketValue(t, db, UxOutsBkt, outID[0][:], &output) - assert.Equal(t, output.Out, ux) + require.Equal(t, output.Out, ux) } type testData struct { @@ -232,10 +239,12 @@ func getUx(bc Blockchainer, seq uint64, txID cipher.SHA256, addr string) (*coin. if b == nil { return nil, fmt.Errorf("no block in depth:%v", seq) } + tx, ok := b.GetTransaction(txID) if !ok { return nil, errors.New("found transaction failed") } + uxs := coin.CreateUnspents(b.Head, tx) for _, u := range uxs { if u.Body.Address.String() == addr { @@ -246,26 +255,26 @@ func getUx(bc Blockchainer, seq uint64, txID cipher.SHA256, addr string) (*coin. } func TestProcessBlock(t *testing.T) { - db, teardown := testutil.PrepareDB(t) + db, teardown := prepareDB(t) defer teardown() - bc := newBlockchain(db) - gb := bc.CreateGenesisBlock(genAddress, _genCoins, _genTime) + bc := newBlockchain() + gb := bc.CreateGenesisBlock(genAddress, genCoins, genTime) // create - hisDB, err := New(db) - if err != nil { - t.Fatal(err) - } + hisDB := New() - if err := hisDB.ParseBlock(&gb); err != nil { - t.Fatal(err) - } + err := db.Update("", func(tx *dbutil.Tx) error { + err := hisDB.ParseBlock(tx, gb) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) /* - |-2RxP5N26GhDqHrP6SK45ZzEMSmSpeUeWxsS - genesisAddr ==>| |-2RxP5N26GhDqHrP6SK45ZzEMSmSpeUeWxsS - |-222uMeCeL1PbkJGZJDgAz5sib2uisv9hYUm ==>| - |-222uMeCeL1PbkJGZJDgAz5sib2uisv9hYUm + |-2RxP5N26GhDqHrP6SK45ZzEMSmSpeUeWxsS + genesisAddr ==>| |-2RxP5N26GhDqHrP6SK45ZzEMSmSpeUeWxsS + |-222uMeCeL1PbkJGZJDgAz5sib2uisv9hYUm ==>| + |-222uMeCeL1PbkJGZJDgAz5sib2uisv9hYUm */ testData := []testData{ { @@ -284,7 +293,7 @@ func TestProcessBlock(t *testing.T) { }, { ToAddr: "222uMeCeL1PbkJGZJDgAz5sib2uisv9hYUm", - Coins: _genCoins - 10e6, + Coins: genCoins - 10e6, Hours: 400, }, }, @@ -327,12 +336,11 @@ func TestProcessBlock(t *testing.T) { testEngine(t, testData, bc, hisDB, db) } -func testEngine(t *testing.T, tds []testData, bc *fakeBlockchain, hdb *HistoryDB, db *bolt.DB) { +func testEngine(t *testing.T, tds []testData, bc *fakeBlockchain, hdb *HistoryDB, db *dbutil.DB) { for i, td := range tds { - b, tx, err := addBlock(bc, td, _incTime*(uint64(i)+1)) - if err != nil { - t.Fatal(err) - } + b, tx, err := addBlock(bc, td, incTime*(uint64(i)+1)) + require.NoError(t, err) + // update the next block test data. if i+1 < len(tds) { // update UxOut of next test data. @@ -340,47 +348,42 @@ func testEngine(t *testing.T, tds []testData, bc *fakeBlockchain, hdb *HistoryDB tds[i+1].PreBlockHash = b.HashHeader() } - if err := hdb.ParseBlock(b); err != nil { - t.Fatal(err) - } + err = db.Update("", func(tx *dbutil.Tx) error { + err := hdb.ParseBlock(tx, *b) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) // check tx txInBkt := Transaction{} k := tx.Hash() - if err := getBucketValue(db, transactionBkt, k[:], &txInBkt); err != nil { - t.Fatal(err) - } - assert.Equal(t, &txInBkt.Tx, tx) + mustGetBucketValue(t, db, TransactionsBkt, k[:], &txInBkt) + require.Equal(t, &txInBkt.Tx, tx) // check outputs for _, o := range td.Vouts { ux, err := getUx(bc, uint64(i+1), tx.Hash(), o.ToAddr) - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) uxInDB := UxOut{} uxKey := ux.Hash() - if err = getBucketValue(db, outputBkt, uxKey[:], &uxInDB); err != nil { - t.Fatal(err) - } - assert.Equal(t, &uxInDB.Out, ux) + mustGetBucketValue(t, db, UxOutsBkt, uxKey[:], &uxInDB) + require.Equal(t, &uxInDB.Out, ux) } // check addr in for _, o := range td.Vouts { addr := cipher.MustDecodeBase58Address(o.ToAddr) uxHashes := []cipher.SHA256{} - if err := getBucketValue(db, addressInBkt, addr.Bytes(), &uxHashes); err != nil { - t.Fatal(err) - } - assert.Equal(t, len(uxHashes), td.AddrInNum[o.ToAddr]) + mustGetBucketValue(t, db, AddressUxBkt, addr.Bytes(), &uxHashes) + require.Equal(t, len(uxHashes), td.AddrInNum[o.ToAddr]) } } } func addBlock(bc *fakeBlockchain, td testData, tm uint64) (*coin.Block, *coin.Transaction, error) { - tx := coin.Transaction{} + txn := coin.Transaction{} // get unspent output ux, err := getUx(bc, td.Vin.BlockSeq, td.Vin.TxID, td.Vin.Addr) if err != nil { @@ -390,42 +393,40 @@ func addBlock(bc *fakeBlockchain, td testData, tm uint64) (*coin.Block, *coin.Tr return nil, nil, errors.New("no unspent output") } - tx.PushInput(ux.Hash()) + txn.PushInput(ux.Hash()) for _, o := range td.Vouts { addr, err := cipher.DecodeBase58Address(o.ToAddr) if err != nil { return nil, nil, err } - tx.PushOutput(addr, o.Coins, o.Hours) + txn.PushOutput(addr, o.Coins, o.Hours) } sigKey := cipher.MustSecKeyFromHex(td.Vin.SigKey) - tx.SignInputs([]cipher.SecKey{sigKey}) - tx.UpdateHeader() - if err := bc.VerifyTransaction(tx); err != nil { + txn.SignInputs([]cipher.SecKey{sigKey}) + txn.UpdateHeader() + if err := bc.VerifyTransaction(txn); err != nil { return nil, nil, err } preBlock := bc.GetBlock(td.PreBlockHash) - b := newBlock(*preBlock, tm, bc.uxhash, coin.Transactions{tx}, _feeCalc) + b := newBlock(*preBlock, tm, bc.uxhash, coin.Transactions{txn}, feeCalc) // uxs, err := bc.ExecuteBlock(&b) _, err = bc.ExecuteBlock(&b) if err != nil { return nil, nil, err } - return &b, &tx, nil + return &b, &txn, nil } -func getBucketValue(db *bolt.DB, name []byte, key []byte, value interface{}) error { - return db.View(func(tx *bolt.Tx) error { - b := tx.Bucket(name) - bin := b.Get(key) - if bin == nil { - value = nil - return nil - } - return encoder.DeserializeRaw(bin, value) +func mustGetBucketValue(t *testing.T, db *dbutil.DB, name []byte, key []byte, value interface{}) { + err := db.View("", func(tx *dbutil.Tx) error { + ok, err := dbutil.GetBucketObjectDecoded(tx, name, key, value) + require.NoError(t, err) + require.True(t, ok) + return err }) + require.NoError(t, err) } func newBlock(prev coin.Block, currentTime uint64, uxHash cipher.SHA256, txns coin.Transactions, calc coin.FeeCalculator) coin.Block { diff --git a/src/visor/historydb/output.go b/src/visor/historydb/output.go index 69c5dd0..225bd41 100755 --- a/src/visor/historydb/output.go +++ b/src/visor/historydb/output.go @@ -1,14 +1,17 @@ package historydb import ( - "github.com/boltdb/bolt" + "fmt" "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/cipher/encoder" "github.com/skycoin/skycoin/src/coin" - "github.com/skycoin/skycoin/src/visor/bucket" + "github.com/skycoin/skycoin/src/visor/dbutil" ) +// UxOutsBkt holds unspent outputs +var UxOutsBkt = []byte("uxouts") + // UxOut expend coin.UxOut struct type UxOut struct { Out coin.UxOut @@ -54,64 +57,64 @@ func (o UxOut) Hash() cipher.SHA256 { } // UxOuts bucket stores outputs, UxOut hash as key and Output as value. -type UxOuts struct { - bkt *bucket.Bucket -} - -func newOutputsBkt(db *bolt.DB) (*UxOuts, error) { - bkt, err := bucket.New([]byte("uxouts"), db) - if err != nil { - return nil, err - } - return &UxOuts{bkt}, nil -} +type UxOuts struct{} // Set sets out value -func (ux *UxOuts) Set(out UxOut) error { - key := out.Hash() - bin := encoder.Serialize(out) - return ux.bkt.Put(key[:], bin) +func (ux *UxOuts) Set(tx *dbutil.Tx, out UxOut) error { + hash := out.Hash() + return dbutil.PutBucketValue(tx, UxOutsBkt, hash[:], encoder.Serialize(out)) } // Get gets UxOut of given id -func (ux *UxOuts) Get(uxID cipher.SHA256) (*UxOut, error) { - bin := ux.bkt.Get(uxID[:]) - if bin == nil { - return nil, nil - } +func (ux *UxOuts) Get(tx *dbutil.Tx, uxID cipher.SHA256) (*UxOut, error) { + var out UxOut - out := UxOut{} - if err := encoder.DeserializeRaw(bin, &out); err != nil { + if ok, err := dbutil.GetBucketObjectDecoded(tx, UxOutsBkt, uxID[:], &out); err != nil { return nil, err + } else if !ok { + return nil, nil } return &out, nil } +// GetArray returns UxOuts for a set of uxids, will return error if any of the uxids do not exist +func (ux *UxOuts) GetArray(tx *dbutil.Tx, uxIDs []cipher.SHA256) ([]*UxOut, error) { + var outs []*UxOut + for _, uxID := range uxIDs { + out, err := ux.Get(tx, uxID) + if err != nil { + return nil, err + } else if out == nil { + return nil, NewErrUxOutNotExist(uxID.Hex()) + } + + outs = append(outs, out) + } + + return outs, nil +} + // IsEmpty checks if the uxout bucekt is empty -func (ux *UxOuts) IsEmpty() bool { - return ux.bkt.IsEmpty() +func (ux *UxOuts) IsEmpty(tx *dbutil.Tx) (bool, error) { + return dbutil.IsEmpty(tx, UxOutsBkt) } // Reset resets the bucket -func (ux *UxOuts) Reset() error { - return ux.bkt.Reset() +func (ux *UxOuts) Reset(tx *dbutil.Tx) error { + return dbutil.Reset(tx, UxOutsBkt) } -func getOutput(bkt *bolt.Bucket, hash cipher.SHA256) (*UxOut, error) { - bin := bkt.Get(hash[:]) - if bin != nil { - var out UxOut - if err := encoder.DeserializeRaw(bin, &out); err != nil { - return nil, err - } - return &out, nil - } +// ErrUxOutNotExist is returned if an uxout is not found in historydb +type ErrUxOutNotExist struct { + UxID string +} - return nil, nil +// NewErrUxOutNotExist creates ErrUxOutNotExist from a UxID +func NewErrUxOutNotExist(uxID string) error { + return ErrUxOutNotExist{UxID: uxID} } -func setOutput(bkt *bolt.Bucket, ux UxOut) error { - hash := ux.Hash() - return bkt.Put(hash[:], encoder.Serialize(ux)) +func (e ErrUxOutNotExist) Error() string { + return fmt.Sprintf("uxout of %s does not exist", e.UxID) } diff --git a/src/visor/historydb/transaction.go b/src/visor/historydb/transaction.go index 3010ed7..addca18 100755 --- a/src/visor/historydb/transaction.go +++ b/src/visor/historydb/transaction.go @@ -6,18 +6,17 @@ package historydb // transaction hash, and get the tx value from transactions bucket. import ( - "github.com/boltdb/bolt" - "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/cipher/encoder" "github.com/skycoin/skycoin/src/coin" - "github.com/skycoin/skycoin/src/visor/bucket" + "github.com/skycoin/skycoin/src/visor/dbutil" ) +// TransactionsBkt holds Transactions +var TransactionsBkt = []byte("transactions") + // Transactions transaction bucket instance. -type transactions struct { - bkt *bucket.Bucket -} +type transactions struct{} // Transaction contains transaction info and the seq of block which executed this block. type Transaction struct { @@ -31,69 +30,70 @@ func (tx *Transaction) Hash() cipher.SHA256 { } // New create a transaction db instance. -func newTransactionsBkt(db *bolt.DB) (*transactions, error) { - txBkt, err := bucket.New([]byte("transactions"), db) - if err != nil { - return nil, nil - } - - return &transactions{bkt: txBkt}, nil -} - -func addTransaction(b *bolt.Bucket, tx *Transaction) error { - hash := tx.Hash() - return b.Put(hash[:], encoder.Serialize(tx)) +func newTransactions() *transactions { + return &transactions{} } // Add transaction to the db. -func (txs *transactions) Add(t *Transaction) error { - key := t.Hash() - v := encoder.Serialize(t) - return txs.bkt.Put(key[:], v) +func (txs *transactions) Add(tx *dbutil.Tx, txn *Transaction) error { + hash := txn.Hash() + return dbutil.PutBucketValue(tx, TransactionsBkt, hash[:], encoder.Serialize(txn)) } -// Get get transaction by tx hash, return nil on not found. -func (txs *transactions) Get(hash cipher.SHA256) (*Transaction, error) { - bin := txs.bkt.Get(hash[:]) - if bin == nil { - return nil, nil - } +// Get gets transaction by tx hash, return nil on not found. +func (txs *transactions) Get(tx *dbutil.Tx, hash cipher.SHA256) (*Transaction, error) { + var txn Transaction - // deserialize tx - var tx Transaction - if err := encoder.DeserializeRaw(bin, &tx); err != nil { + if ok, err := dbutil.GetBucketObjectDecoded(tx, TransactionsBkt, hash[:], &txn); err != nil { return nil, err + } else if !ok { + return nil, nil } - return &tx, nil + return &txn, nil } // GetSlice returns transactions slice of given hashes -func (txs *transactions) GetSlice(hashes []cipher.SHA256) ([]Transaction, error) { - keys := [][]byte{} - for i := range hashes { - keys = append(keys, hashes[i][:]) - } - - vs := txs.bkt.GetSlice(keys) - txns := make([]Transaction, 0, len(vs)) - for i := range vs { - var tx Transaction - if err := encoder.DeserializeRaw(vs[i], &tx); err != nil { - return []Transaction{}, err +func (txs *transactions) GetSlice(tx *dbutil.Tx, hashes []cipher.SHA256) ([]Transaction, error) { + var txns []Transaction + for _, h := range hashes { + var txn Transaction + + if ok, err := dbutil.GetBucketObjectDecoded(tx, TransactionsBkt, h[:], &txn); err != nil { + return nil, err + } else if !ok { + continue } - txns = append(txns, tx) + + txns = append(txns, txn) } return txns, nil } // IsEmpty checks if transaction bucket is empty -func (txs *transactions) IsEmpty() bool { - return txs.bkt.IsEmpty() +func (txs *transactions) IsEmpty(tx *dbutil.Tx) (bool, error) { + return dbutil.IsEmpty(tx, TransactionsBkt) } // Reset resets the bucket -func (txs *transactions) Reset() error { - return txs.bkt.Reset() +func (txs *transactions) Reset(tx *dbutil.Tx) error { + return dbutil.Reset(tx, TransactionsBkt) +} + +// ForEach traverses the transactions in db +func (txs *transactions) ForEach(tx *dbutil.Tx, f func(cipher.SHA256, *Transaction) error) error { + return dbutil.ForEach(tx, TransactionsBkt, func(k, v []byte) error { + hash, err := cipher.SHA256FromBytes(k) + if err != nil { + return err + } + + var txn Transaction + if err := encoder.DeserializeRaw(v, &txn); err != nil { + return err + } + + return f(hash, &txn) + }) } diff --git a/src/visor/historydb/transaction_test.go b/src/visor/historydb/transaction_test.go index b2c15f7..dc234d6 100755 --- a/src/visor/historydb/transaction_test.go +++ b/src/visor/historydb/transaction_test.go @@ -10,6 +10,7 @@ import ( "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor/dbutil" ) // set rand seed. @@ -20,9 +21,9 @@ var _ = func() int64 { }() func TestTransactionGet(t *testing.T) { - txs := make([]Transaction, 0, 3) + txns := make([]Transaction, 0, 3) for i := 0; i < 3; i++ { - txs = append(txs, makeTransaction()) + txns = append(txns, makeTransaction(t)) } testCases := []struct { @@ -32,45 +33,54 @@ func TestTransactionGet(t *testing.T) { }{ { "get first", - txs[0].Hash(), - &txs[0], + txns[0].Hash(), + &txns[0], }, { "get second", - txs[1].Hash(), - &txs[1], + txns[1].Hash(), + &txns[1], }, { "not exist", - txs[2].Hash(), + txns[2].Hash(), nil, }, } for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - db, td := testutil.PrepareDB(t) + db, td := prepareDB(t) defer td() - txsBkt, err := newTransactionsBkt(db) - require.Nil(t, err) + + txsBkt := newTransactions() // init the bkt - for _, tx := range txs[:2] { - require.Nil(t, txsBkt.Add(&tx)) - } + err := db.Update("", func(tx *dbutil.Tx) error { + for _, txn := range txns[:2] { + err := txsBkt.Add(tx, &txn) + require.NoError(t, err) + } + return nil + }) + require.NoError(t, err) // get slice - ts, err := txsBkt.Get(tc.hash) - require.Nil(t, err) - require.Equal(t, tc.expect, ts) + err = db.View("", func(tx *dbutil.Tx) error { + ts, err := txsBkt.Get(tx, tc.hash) + require.NoError(t, err) + require.Equal(t, tc.expect, ts) + return nil + }) + require.NoError(t, err) }) } } func TestTransactionGetSlice(t *testing.T) { - txs := make([]Transaction, 0, 4) + txns := make([]Transaction, 0, 4) for i := 0; i < 4; i++ { - txs = append(txs, makeTransaction()) + txns = append(txns, makeTransaction(t)) } testCases := []struct { @@ -81,59 +91,67 @@ func TestTransactionGetSlice(t *testing.T) { { "get one", []cipher.SHA256{ - txs[0].Hash(), + txns[0].Hash(), }, - txs[:1], + txns[:1], }, { "get two", []cipher.SHA256{ - txs[0].Hash(), - txs[1].Hash(), + txns[0].Hash(), + txns[1].Hash(), }, - txs[:2], + txns[:2], }, { "get all", []cipher.SHA256{ - txs[0].Hash(), - txs[1].Hash(), - txs[2].Hash(), + txns[0].Hash(), + txns[1].Hash(), + txns[2].Hash(), }, - txs[:3], + txns[:3], }, { "not exist", []cipher.SHA256{ - txs[3].Hash(), + txns[3].Hash(), }, - []Transaction{}, + nil, }, } for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - db, td := testutil.PrepareDB(t) + db, td := prepareDB(t) defer td() - txsBkt, err := newTransactionsBkt(db) - require.Nil(t, err) + txsBkt := newTransactions() // init the bkt - for _, tx := range txs[:3] { - require.Nil(t, txsBkt.Add(&tx)) - } + err := db.Update("", func(tx *dbutil.Tx) error { + for _, txn := range txns[:3] { + err := txsBkt.Add(tx, &txn) + require.NoError(t, err) + } + return nil + }) + require.NoError(t, err) // get slice - ts, err := txsBkt.GetSlice(tc.hashes) - require.Nil(t, err) - require.Equal(t, tc.expect, ts) + err = db.View("", func(tx *dbutil.Tx) error { + ts, err := txsBkt.GetSlice(tx, tc.hashes) + require.NoError(t, err) + require.Equal(t, tc.expect, ts) + return nil + }) + require.NoError(t, err) }) } } -func makeTransaction() Transaction { +func makeTransaction(t *testing.T) Transaction { tx := Transaction{} - ux, s := makeUxOutWithSecret() + ux, s := makeUxOutWithSecret(t) tx.Tx.PushInput(ux.Hash()) tx.Tx.SignInputs([]cipher.SecKey{s}) tx.Tx.PushOutput(makeAddress(), 1e6, 50) @@ -147,18 +165,18 @@ func makeAddress() cipher.Address { return cipher.AddressFromPubKey(p) } -func makeUxBodyWithSecret() (coin.UxBody, cipher.SecKey) { +func makeUxBodyWithSecret(t *testing.T) (coin.UxBody, cipher.SecKey) { p, s := cipher.GenerateKeyPair() return coin.UxBody{ - SrcTransaction: cipher.SumSHA256(randBytes(128)), + SrcTransaction: testutil.RandSHA256(t), Address: cipher.AddressFromPubKey(p), Coins: 1e6, Hours: 100, }, s } -func makeUxOutWithSecret() (coin.UxOut, cipher.SecKey) { - body, sec := makeUxBodyWithSecret() +func makeUxOutWithSecret(t *testing.T) (coin.UxOut, cipher.SecKey) { + body, sec := makeUxBodyWithSecret(t) return coin.UxOut{ Head: coin.UxHead{ Time: 100, @@ -167,9 +185,3 @@ func makeUxOutWithSecret() (coin.UxOut, cipher.SecKey) { Body: body, }, sec } - -func randBytes(n int) []byte { - b := make([]byte, n) - rand.Read(b) - return b -} diff --git a/src/visor/historyer_mock_test.go b/src/visor/historyer_mock_test.go index 6c1113d..6ecfaa8 100755 --- a/src/visor/historyer_mock_test.go +++ b/src/visor/historyer_mock_test.go @@ -12,20 +12,21 @@ import ( cipher "github.com/skycoin/skycoin/src/cipher" coin "github.com/skycoin/skycoin/src/coin" + dbutil "github.com/skycoin/skycoin/src/visor/dbutil" historydb "github.com/skycoin/skycoin/src/visor/historydb" ) -// historyerMock mock -type historyerMock struct { +// HistoryerMock mock +type HistoryerMock struct { mock.Mock } -func newHistoryerMock() *historyerMock { - return &historyerMock{} +func NewHistoryerMock() *HistoryerMock { + return &HistoryerMock{} } -// ForEach mocked method -func (m *historyerMock) ForEach(p0 func(tx *historydb.Transaction) error) error { +// Erase mocked method +func (m *HistoryerMock) Erase(p0 *dbutil.Tx) error { ret := m.Called(p0) @@ -42,15 +43,33 @@ func (m *historyerMock) ForEach(p0 func(tx *historydb.Transaction) error) error } -// GetAddrTxns mocked method -func (m *historyerMock) GetAddrTxns(p0 cipher.Address) ([]historydb.Transaction, error) { +// ForEachTxn mocked method +func (m *HistoryerMock) ForEachTxn(p0 *dbutil.Tx, p1 func(cipher.SHA256, *historydb.Transaction) error) error { - ret := m.Called(p0) + ret := m.Called(p0, p1) - var r0 []historydb.Transaction + var r0 error switch res := ret.Get(0).(type) { case nil: - case []historydb.Transaction: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// GetAddrUxOuts mocked method +func (m *HistoryerMock) GetAddrUxOuts(p0 *dbutil.Tx, p1 cipher.Address) ([]*historydb.UxOut, error) { + + ret := m.Called(p0, p1) + + var r0 []*historydb.UxOut + switch res := ret.Get(0).(type) { + case nil: + case []*historydb.UxOut: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -69,15 +88,15 @@ func (m *historyerMock) GetAddrTxns(p0 cipher.Address) ([]historydb.Transaction, } -// GetAddrUxOuts mocked method -func (m *historyerMock) GetAddrUxOuts(p0 cipher.Address) ([]*historydb.UxOut, error) { +// GetAddressTxns mocked method +func (m *HistoryerMock) GetAddressTxns(p0 *dbutil.Tx, p1 cipher.Address) ([]historydb.Transaction, error) { - ret := m.Called(p0) + ret := m.Called(p0, p1) - var r0 []*historydb.UxOut + var r0 []historydb.Transaction switch res := ret.Get(0).(type) { case nil: - case []*historydb.UxOut: + case []historydb.Transaction: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -97,9 +116,9 @@ func (m *historyerMock) GetAddrUxOuts(p0 cipher.Address) ([]*historydb.UxOut, er } // GetTransaction mocked method -func (m *historyerMock) GetTransaction(p0 cipher.SHA256) (*historydb.Transaction, error) { +func (m *HistoryerMock) GetTransaction(p0 *dbutil.Tx, p1 cipher.SHA256) (*historydb.Transaction, error) { - ret := m.Called(p0) + ret := m.Called(p0, p1) var r0 *historydb.Transaction switch res := ret.Get(0).(type) { @@ -123,15 +142,15 @@ func (m *historyerMock) GetTransaction(p0 cipher.SHA256) (*historydb.Transaction } -// GetUxout mocked method -func (m *historyerMock) GetUxout(p0 cipher.SHA256) (*historydb.UxOut, error) { +// GetUxOuts mocked method +func (m *HistoryerMock) GetUxOuts(p0 *dbutil.Tx, p1 []cipher.SHA256) ([]*historydb.UxOut, error) { - ret := m.Called(p0) + ret := m.Called(p0, p1) - var r0 *historydb.UxOut + var r0 []*historydb.UxOut switch res := ret.Get(0).(type) { case nil: - case *historydb.UxOut: + case []*historydb.UxOut: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -150,33 +169,42 @@ func (m *historyerMock) GetUxout(p0 cipher.SHA256) (*historydb.UxOut, error) { } -// ParseBlock mocked method -func (m *historyerMock) ParseBlock(p0 *coin.Block) error { +// NeedsReset mocked method +func (m *HistoryerMock) NeedsReset(p0 *dbutil.Tx) (bool, error) { ret := m.Called(p0) - var r0 error + var r0 bool switch res := ret.Get(0).(type) { case nil: - case error: + case bool: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 } -// ParsedHeight mocked method -func (m *historyerMock) ParsedHeight() int64 { +// ParseBlock mocked method +func (m *HistoryerMock) ParseBlock(p0 *dbutil.Tx, p1 coin.Block) error { - ret := m.Called() + ret := m.Called(p0, p1) - var r0 int64 + var r0 error switch res := ret.Get(0).(type) { case nil: - case int64: + case error: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -186,20 +214,38 @@ func (m *historyerMock) ParsedHeight() int64 { } -// ResetIfNeed mocked method -func (m *historyerMock) ResetIfNeed() error { +// ParsedBlockSeq mocked method +func (m *HistoryerMock) ParsedBlockSeq(p0 *dbutil.Tx) (uint64, bool, error) { - ret := m.Called() + ret := m.Called(p0) - var r0 error + var r0 uint64 switch res := ret.Get(0).(type) { case nil: - case error: + case uint64: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 + var r1 bool + switch res := ret.Get(1).(type) { + case nil: + case bool: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r2 error + switch res := ret.Get(2).(type) { + case nil: + case error: + r2 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1, r2 } diff --git a/src/visor/parameters.go b/src/visor/parameters.go new file mode 100755 index 0000000..3b589e9 --- /dev/null +++ b/src/visor/parameters.go @@ -0,0 +1,130 @@ +package visor + +/* +* CODE GENERATED AUTOMATICALLY WITH FIBER COIN CREATOR +* AVOID EDITING THIS MANUALLY + */ + +const ( + // MaxCoinSupply is the maximum supply of coins + MaxCoinSupply uint64 = 300000000 + // DistributionAddressesTotal is the number of distribution addresses + DistributionAddressesTotal uint64 = 100 + // DistributionAddressInitialBalance is the initial balance of each distribution address + DistributionAddressInitialBalance uint64 = MaxCoinSupply / DistributionAddressesTotal + // InitialUnlockedCount is the initial number of unlocked addresses + InitialUnlockedCount uint64 = 100 + // UnlockAddressRate is the number of addresses to unlock per unlock time interval + UnlockAddressRate uint64 = 0 + // UnlockTimeInterval is the distribution address unlock time interval, measured in seconds + // Once the InitialUnlockedCount is exhausted, + // UnlockAddressRate addresses will be unlocked per UnlockTimeInterval + UnlockTimeInterval uint64 = 31536000 // in seconds + // MaxDropletPrecision represents the decimal precision of droplets + MaxDropletPrecision uint64 = 3 + //DefaultMaxBlockSize is max block size + DefaultMaxBlockSize int = 32768 // in bytes +) + +var distributionAddresses = [DistributionAddressesTotal]string{ + "4EmJ5dfx3wsHwWKsMTfQ31p5uYJfJdkohh", +"QuoFvFwtkekMEYRhXyX6FLdZgYaepwHLrR", +"pUCFtuV98KHrTucKPRgjCGZge5ADGNWJKZ", +"vZjW1xFWefDdkjZjBirsBbLx4ShmqMLPXc", +"29kPNEyTUXbAQsfDBRYwvjxv7AUsEfkHF2W", +"2KFTykHNkeT2ab2rXR4trNgqbsnyGihXR5i", +"qMkYYXpHYxnQF82dGSU1NPZC5rnrcMKLuq", +"22upsW6afi8XeHbKGA6LXQRLuMQJxrbZNSC", +"2KfCbr4u41Kwwd9p2qFAYi8q846vuBhEdf7", +"2LUkM89FH73aDLNLYHeSAXznpMkfZYZworz", +"CeYwWAnzzHq2AKVjraYQHke1koewCaAtYi", +"HV3a26bJydKEyFo9KshRNKM93YXYZSnLeL", +"UwukfXR39CimFfDkBCyh2uE2j7DW45PNv5", +"2SkYKxbWU9PeWaXczT3wMNZAUuFt6hm97yp", +"2UKw1dPW8ih2ECSwhSbsvW2VS6KNGpktiw4", +"2KE3JCVhWpuKesiC1W8kzHXEMi3crwAVPVJ", +"2UzqsvDfesa4TEWpmEiDHVNDNXzrxEXhwGp", +"Ut6UTqYbcu8QVYB9qnh6Sgrq5ztKRKjXy7", +"2R7ukNJG2ELVUsX2GJwNvoy7FgQQE3yMVpv", +"DrxrNGUWUujcA5etb9fi2KtimkDmidBDry", +"2iYrEDYjMizGZxFgqb4msocd6yDYYzUH8UC", +"dS67qDfqTod2viEScxm57oCnGogD5sk1Wp", +"gr6RVkPzR8gB8w1a2fJ4f6Uv3hwa8WHKZm", +"aeHM9sEPzJ8nW5g9msXEb1DHoRgg7HD2Uo", +"kTxV9FvMXqRtSMRxA8BVnYbPnC1GGcGEwZ", +"jZ8365eMAMtjVTcvxATYh1Z13iSwE4DM1w", +"2NJGW1RbbRFh6Bqjf33cs4f1QHtBEZHSkK2", +"2EULQ7JMpfut1fCCieLa1QG3Emh1R3emJYV", +"wXnFqaJ5t4YKuYtts1vjNmn22yHrMDwHdL", +"yjczN2BwDA8DSjs1aDJ72vPm6mBp6YzwNB", +"gz6J6eaf7v5wWrBH6uA8rEwCeEtE6m4uTZ", +"2L3UoEFAkjSvw1xp2HX7EfLR7MmtmuKEF4K", +"2bUjBYtansT9j9qBGjoXf5NM818rs465L69", +"TQwgQFP5rhSfnDLXZvX2BvN76PbUw6TPw", +"2FR126USk7RHzTZFfneEsnXtfi2fA7rBrJg", +"pvo9qDEMgxJ8sVp823UGECvxyHepsYmGy5", +"dWqXe4cWjP8dpypTdo1WgBQWgkRge83RYx", +"2frwoqsfxnaEZUTQMSyt8zPRisk37AudWHZ", +"dU9ZF6ymfAzaX8JUwAPwysxf3e63t6aJvB", +"5XuNJ735yoM8pMptV8Xb86XeQTqDeLNhad", +"GCoLLGVccM55uqAydu2sEuTKTboPYcjLSq", +"gVqLaT3m25XSuCkTKL81oa6GQZtHEUghCv", +"2FL8aRBu6PkJtbUtrP2FrjA6RfMMuMGrogb", +"RNKy29dcpByB1vNzwS3MBSAVmLeNEL5r1u", +"FAtwXixRrwCof2Q8d1G9oRRL21Pu97QzYE", +"2jnFU4WhTspT5xF9xBmEGCyjBzGrpwV9KmU", +"2LPpaLNr1SGRANSjtrBNdyQ3CsLiuJrJ9vG", +"29CWC1Q5mwuvGkcUzNsUeKYpDGTYQwKHUz5", +"2VzVTqprsaxX83Ty3RDB8qxxj8okCsX1uZV", +"Pi5PEQWLzM6VAx3teH5njsfS3aRe8uM33d", +"2hkYymVJnTkFRNNaizTvTtCfZjnXUJdB4Vd", +"Bd8NgUn7M2AZ5DhJcptMSt18ktawytraRm", +"N1crujfwpmE5GYxiCyNNhNawr3WR5o8DEN", +"Qrmf84dw5qhWAFsCRE8jGwZNkdjtuD2tVs", +"CRofzyPh9trHsmE9Me5BZtDYFrZHbWeeiR", +"joMkrn1dDQ6HXijZ4N2c6w18B87mStsrYk", +"4hhUdCSnA8Am15GsuMxZH5UDcuTr224JEf", +"zFPE7UnL4D61XhocQTdd7aWU61qDcP1axo", +"6UEW22dRvEdXegvE9RvP86cjHQjfYMaBF3", +"2Ukg5PK8ur3ufhV728zh2w1giBTuhrudy7u", +"h3MmQzJyXRkkZQtcsqexp1fZEs1M2uPFAD", +"2MeTkW453oaHXZpQz1RXm9fT85VBxKxEVy6", +"29nCVWPwzGqJqyzbmiHmmmipm7vb7H3hv1m", +"2VLfYZauxkN3AiVxdCmRD2KTbrLCQyHQin4", +"YjmWMwGwkyMg1wFNRKWDwCwHf3Pb116PxC", +"yxocxuh2U7SdwfNGXD6ntsQVsQTpyLS56i", +"s4obnTHe4Kuokn3MdxW7o9whzeMycv7hr2", +"At5XWpAgdFBoYKadcVTfTqaZfHu57ozFHu", +"ySUjssfqfHW2dcV6MKj4K6gqWAc1BDZsGw", +"AY96pFVKHAK2WzjhP9UDkv4pG2j5bqBVmi", +"gnVeepuUGh31tcyWTK3Tz2FQJ14euVdKK8", +"pAJTiVpQzX14LEKMB8Bz1ExGaJ3jDY1VGf", +"BVDEFRqgEyVvFsFx6fgBHCE5Y5RWgfBA1n", +"29qvewmoSV6NHifFLA76pYbSM6QawE2adKC", +"2hTQQCkfzp55LvysLeFzps5yY8WBboEjZ9e", +"WS57hc5SpncSrFkFpfa72PcJdyCyeKh1P1", +"2K1MQ58KbvyC1BWh9ptwHkBN5PnPhdsizJH", +"22DFsFEDcEKzLC5wN9qGAJP39myGB7pNLf2", +"2QxWANHhQDEKX3KVFiJADFGWHLeptXmH6Bb", +"2aTnyKGwZTqVkfmf1wfSGDAmyatdY2meaS3", +"2G1dQFH7rwyDpgLkgxWqUnVJhEP5nRsqkgS", +"23gkEujwMYDq1NZMpyQ6rNmiAYpZNCroTSd", +"6HdUiFNTKZStZecVkC4VahcQ7wZ4MJattr", +"25RAFrzh85QEQBP54HN4gtpE6dUdNFKLH87", +"CFr84AHkbdL8CzFdHbbMGZLT5CFAiLSKaG", +"21fU9ALUcFrQNQ1CQZv7n3JJitZYUsnbPZR", +"hs6me1EvzJPSMnGZJVG3Ucn5x8xviJUgig", +"RV4TvVCbyvLfcuPPoXJjpGNNwBy7Nm5Pau", +"28wAXi74mQdfUKBVVS6TcdZ8qFJSnPhP5cz", +"zT7hSSsYf5erHMQRAENauNox3AfJ6dguKE", +"c3xiX4PyKiAJf9Kug4iuSD4iTKWfDpDdG", +"xFJocvPFCYP3EP2r2Nv1PjNuCwFeGRhKDp", +"kmoacFgosG6KJMHe9KDiR2tzRwWmgPmfsB", +"2DZrmXmMPUe43ZHnef35NZg9ktk35c7r3Ep", +"mHoGgj8ahJanEFMDpoxey2KKupqS81bucM", +"2iY6RrqftgfS4o66eg93yehmSWTvuzHTrF2", +"KBuWGafcLr4ht1BT8ykbgiCpQNj4Bore1g", +"F94opeQNavbkh7eZKsk4EJ3Lx38p3AYvCE", +"RA9VsokcqMgnRow5osuUV8zwQdrHntMxaZ", +"uN7JuRyBtbMvRfP26Ui3pnexch8WgoGfdf", +} diff --git a/src/visor/readable.go b/src/visor/readable.go index c26153b..9a7c0dc 100755 --- a/src/visor/readable.go +++ b/src/visor/readable.go @@ -25,16 +25,11 @@ type BlockchainMetadata struct { } // NewBlockchainMetadata creates blockchain meta data -func NewBlockchainMetadata(v *Visor) (*BlockchainMetadata, error) { - head, err := v.Blockchain.Head() - if err != nil { - return nil, err - } - +func NewBlockchainMetadata(head *coin.SignedBlock, unconfirmedLen, unspentsLen uint64) (*BlockchainMetadata, error) { return &BlockchainMetadata{ Head: NewReadableBlockHeader(&head.Head), - Unspents: v.Blockchain.Unspent().Len(), - Unconfirmed: uint64(v.Unconfirmed.Len()), + Unspents: unspentsLen, + Unconfirmed: unconfirmedLen, }, nil } @@ -44,7 +39,6 @@ type Transaction struct { Txn coin.Transaction //`json:"txn"` Status TransactionStatus //`json:"status"` Time uint64 //`json:"time"` - Size int } // TransactionStatus represents the transaction status @@ -108,13 +102,14 @@ type ReadableTransactionOutput struct { // ReadableTransactionInput readable transaction input type ReadableTransactionInput struct { - Hash string `json:"uxid"` - Address string `json:"owner"` - Coins string `json:"coins"` - Hours uint64 `json:"hours"` + Hash string `json:"uxid"` + Address string `json:"owner"` + Coins string `json:"coins"` + Hours uint64 `json:"hours"` + CalculatedHours uint64 `json:"calculated_hours"` } -// NewReadableTransactionOutput creates readable transaction outputs +// NewReadableTransactionOutput creates ReadableTransactionOutput func NewReadableTransactionOutput(t *coin.TransactionOutput, txid cipher.SHA256) (*ReadableTransactionOutput, error) { coinStr, err := droplet.ToString(t.Coins) if err != nil { @@ -123,25 +118,33 @@ func NewReadableTransactionOutput(t *coin.TransactionOutput, txid cipher.SHA256) return &ReadableTransactionOutput{ Hash: t.UxID(txid).Hex(), - Address: t.Address.String(), // Destination Address + Address: t.Address.String(), Coins: coinStr, Hours: t.Hours, }, nil } -// NewReadableTransactionInput creates readable transaction input -func NewReadableTransactionInput(uxID, ownerAddress string, coins, hours uint64) (*ReadableTransactionInput, error) { - coinVal, err := droplet.ToString(coins) +// NewReadableTransactionInput creates ReadableTransactionInput +func NewReadableTransactionInput(ux coin.UxOut, calculateHoursTime uint64) (*ReadableTransactionInput, error) { + coinVal, err := droplet.ToString(ux.Body.Coins) if err != nil { logger.Errorf("Failed to convert coins to string: %v", err) return nil, err } + // The overflow bug causes this to fail for some transactions, allow it to pass + calculatedHours, err := ux.CoinHours(calculateHoursTime) + if err != nil { + logger.Critical().Warningf("Ignoring NewReadableTransactionInput ux.CoinHours failed: %v", err) + calculatedHours = 0 + } + return &ReadableTransactionInput{ - Hash: uxID, - Address: ownerAddress, //Destination Address - Coins: coinVal, - Hours: hours, + Hash: ux.Hash().Hex(), + Address: ux.Body.Address.String(), + Coins: coinVal, + Hours: ux.Body.Hours, + CalculatedHours: calculatedHours, }, nil } @@ -180,8 +183,15 @@ func (ros ReadableOutputs) Balance() (wallet.Balance, error) { return wallet.Balance{}, err } - bal.Coins += coins - bal.Hours += out.CalculatedHours + bal.Coins, err = coin.AddUint64(bal.Coins, coins) + if err != nil { + return wallet.Balance{}, err + } + + bal.Hours, err = coin.AddUint64(bal.Hours, out.CalculatedHours) + if err != nil { + return wallet.Balance{}, err + } } return bal, nil @@ -248,7 +258,7 @@ func (os ReadableOutputSet) ExpectedOutputs() ReadableOutputs { return append(os.SpendableOutputs(), os.IncomingOutputs...) } -// AggregateUnspentOutputs aggregate unspent output +// AggregateUnspentOutputs builds a map from address to coins func (os ReadableOutputSet) AggregateUnspentOutputs() (map[string]uint64, error) { allAccounts := map[string]uint64{} for _, out := range os.HeadOutputs { @@ -257,7 +267,10 @@ func (os ReadableOutputSet) AggregateUnspentOutputs() (map[string]uint64, error) return nil, err } if _, ok := allAccounts[out.Address]; ok { - allAccounts[out.Address] += amt + allAccounts[out.Address], err = coin.AddUint64(allAccounts[out.Address], amt) + if err != nil { + return nil, err + } } else { allAccounts[out.Address] = amt } @@ -416,45 +429,14 @@ func NewReadableUnconfirmedTxns(txs []UnconfirmedTxn) ([]ReadableUnconfirmedTxn, return rut, nil } -// NewGenesisReadableTransaction creates genesis readable transaction -func NewGenesisReadableTransaction(t *Transaction) (*ReadableTransaction, error) { +// NewReadableTransaction creates readable transaction +func NewReadableTransaction(t *Transaction) (*ReadableTransaction, error) { + // Genesis transaction use empty SHA256 as txid txid := cipher.SHA256{} - sigs := make([]string, len(t.Txn.Sigs)) - for i := range t.Txn.Sigs { - sigs[i] = t.Txn.Sigs[i].Hex() + if t.Status.BlockSeq != 0 { + txid = t.Txn.Hash() } - in := make([]string, len(t.Txn.In)) - for i := range t.Txn.In { - in[i] = t.Txn.In[i].Hex() - } - - out := make([]ReadableTransactionOutput, len(t.Txn.Out)) - for i := range t.Txn.Out { - o, err := NewReadableTransactionOutput(&t.Txn.Out[i], txid) - if err != nil { - return nil, err - } - - out[i] = *o - } - - return &ReadableTransaction{ - Length: t.Txn.Length, - Type: t.Txn.Type, - Hash: t.Txn.TxIDHex(), - InnerHash: t.Txn.InnerHash.Hex(), - Timestamp: t.Time, - - Sigs: sigs, - In: in, - Out: out, - }, nil -} - -// NewReadableTransaction creates readable transaction -func NewReadableTransaction(t *Transaction) (*ReadableTransaction, error) { - txid := t.Txn.Hash() sigs := make([]string, len(t.Txn.Sigs)) for i := range t.Txn.Sigs { sigs[i] = t.Txn.Sigs[i].Hex() @@ -521,20 +503,16 @@ type ReadableBlockBody struct { func NewReadableBlockBody(b *coin.Block) (*ReadableBlockBody, error) { txns := make([]ReadableTransaction, len(b.Body.Transactions)) for i := range b.Body.Transactions { - if b.Seq() == uint64(0) { - // genesis block - tx, err := NewGenesisReadableTransaction(&Transaction{Txn: b.Body.Transactions[i]}) - if err != nil { - return nil, err - } - txns[i] = *tx - } else { - tx, err := NewReadableTransaction(&Transaction{Txn: b.Body.Transactions[i]}) - if err != nil { - return nil, err - } - txns[i] = *tx + t := Transaction{ + Txn: b.Body.Transactions[i], + Status: TransactionStatus{BlockSeq: b.Seq()}, + } + + tx, err := NewReadableTransaction(&t) + if err != nil { + return nil, err } + txns[i] = *tx } return &ReadableBlockBody{ Transactions: txns, diff --git a/src/visor/readable_test.go b/src/visor/readable_test.go index 4ea5606..eddef11 100755 --- a/src/visor/readable_test.go +++ b/src/visor/readable_test.go @@ -2,62 +2,47 @@ package visor import ( "encoding/json" - "fmt" "io/ioutil" "reflect" "testing" - "github.com/boltdb/bolt" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/visor/dbutil" "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/testutil" ) -func prepareWltDir() string { +func prepareWltDir(t *testing.T) string { dir, err := ioutil.TempDir("", "wallets") - if err != nil { - panic(err) - } - + require.NoError(t, err) return dir } -func createGenesisSignature(t *testing.T) cipher.Sig { - - _, s := cipher.GenerateKeyPair() - gb, err := coin.NewGenesisBlock(GenesisAddress, GenesisCoins, GenesisTime) - if err != nil { - panic(fmt.Errorf("create genesis block failed: %v", err)) - } - - sig := cipher.SignHash(gb.HashHeader(), s) - return sig -} - // Returns an appropriate VisorConfig and a master visor func setupVisorConfig(t *testing.T) Config { - wltDir := prepareWltDir() + wltDir := prepareWltDir(t) c := NewVisorConfig() c.WalletDirectory = wltDir - c.GenesisSignature = createGenesisSignature(t) + c.BlockchainSeckey = genSecret + c.BlockchainPubkey = genPublic + c.GenesisAddress = genAddress return c } -func setupVisor(t *testing.T) (v *Visor, close func()) { - db, close := testutil.PrepareDB(t) +func setupVisor(t *testing.T) (*Visor, func()) { + db, shutdown := prepareDB(t) vc := setupVisorConfig(t) v, err := NewVisor(vc, db) require.NoError(t, err) - return + return v, shutdown } -func transferCoins(t *testing.T, v *Visor) error { - head := addGenesisBlock(t, v.Blockchain) +func transferCoins(t *testing.T, v *Visor) { + head := addGenesisBlockToVisor(t, v) toAddrs := make([]cipher.Address, 10) keys := make([]cipher.SecKey, 10) for i := 0; i < 10; i++ { @@ -75,43 +60,51 @@ func transferCoins(t *testing.T, v *Visor) error { } // create normal spending tx uxs := coin.CreateUnspents(head.Head, head.Body.Transactions[0]) - tx := makeSpendTx(t, coin.UxArray{uxs[spend.UxIndex]}, spend.Keys, spend.ToAddr, spend.Coins) - b, err := v.Blockchain.NewBlock(coin.Transactions{tx}, head.Time()+uint64(100)) + txn := makeSpendTx(t, coin.UxArray{uxs[spend.UxIndex]}, spend.Keys, spend.ToAddr, spend.Coins) + + var b *coin.Block + err := v.DB.View("", func(tx *dbutil.Tx) error { + var err error + b, err = v.Blockchain.NewBlock(tx, coin.Transactions{txn}, head.Time()+uint64(100)) + require.NoError(t, err) + return nil + }) require.NoError(t, err) sb := &coin.SignedBlock{ Block: *b, Sig: cipher.SignHash(b.HashHeader(), genSecret), } - v.db.Update(func(tx *bolt.Tx) error { + v.DB.Update("", func(tx *dbutil.Tx) error { bcc, ok := v.Blockchain.(*Blockchain) require.True(t, ok) - return bcc.store.AddBlockWithTx(tx, sb) + return bcc.store.AddBlock(tx, sb) }) head = sb - return nil + } func assertJSONSerializability(t *testing.T, thing interface{}) { b, err := json.Marshal(thing) - assert.Nil(t, err) + require.NoError(t, err) rt := reflect.TypeOf(reflect.Indirect(reflect.ValueOf(thing)).Interface()) newThing := reflect.New(rt).Interface() err = json.Unmarshal(b, newThing) - assert.Nil(t, err) - assert.True(t, reflect.DeepEqual(thing, newThing)) + require.NoError(t, err) + require.True(t, reflect.DeepEqual(thing, newThing)) } func TestNewBlockchainMetadata(t *testing.T) { - v, close := setupVisor(t) - defer close() - assert.Nil(t, transferCoins(t, v)) + v, shutdown := setupVisor(t) + defer shutdown() + + transferCoins(t, v) - bcm, err := NewBlockchainMetadata(v) + bcm, err := v.GetBlockchainMetadata() require.NoError(t, err) - assert.Equal(t, uint64(2), bcm.Unspents) - assert.Equal(t, uint64(0), bcm.Unconfirmed) - b, err := v.Blockchain.Head() + require.Equal(t, uint64(2), bcm.Unspents) + require.Equal(t, uint64(0), bcm.Unconfirmed) + b, err := v.GetHeadBlock() require.NoError(t, err) assertReadableBlockHeader(t, bcm.Head, b.Block.Head) assertJSONSerializability(t, &bcm) @@ -119,47 +112,49 @@ func TestNewBlockchainMetadata(t *testing.T) { func TestNewTransactionStatus(t *testing.T) { ts := NewUnconfirmedTransactionStatus() - assert.True(t, ts.Unconfirmed) - assert.False(t, ts.Unknown) - assert.False(t, ts.Confirmed) - assert.Equal(t, ts.Height, uint64(0)) + require.True(t, ts.Unconfirmed) + require.False(t, ts.Unknown) + require.False(t, ts.Confirmed) + require.Equal(t, ts.Height, uint64(0)) assertJSONSerializability(t, &ts) ts = NewUnknownTransactionStatus() - assert.False(t, ts.Unconfirmed) - assert.True(t, ts.Unknown) - assert.False(t, ts.Confirmed) - assert.Equal(t, ts.Height, uint64(0)) + require.False(t, ts.Unconfirmed) + require.True(t, ts.Unknown) + require.False(t, ts.Confirmed) + require.Equal(t, ts.Height, uint64(0)) assertJSONSerializability(t, &ts) ts = NewConfirmedTransactionStatus(uint64(7), uint64(7)) - assert.False(t, ts.Unconfirmed) - assert.False(t, ts.Unknown) - assert.True(t, ts.Confirmed) - assert.Equal(t, ts.Height, uint64(7)) + require.False(t, ts.Unconfirmed) + require.False(t, ts.Unknown) + require.True(t, ts.Confirmed) + require.Equal(t, ts.Height, uint64(7)) assertJSONSerializability(t, &ts) - assert.Panics(t, func() { NewConfirmedTransactionStatus(uint64(0), uint64(0)) }) + require.Panics(t, func() { + NewConfirmedTransactionStatus(uint64(0), uint64(0)) + }) } func assertReadableTransactionOutput(t *testing.T, rto ReadableTransactionOutput, to coin.TransactionOutput) { - assert.NotPanics(t, func() { - assert.Equal(t, cipher.MustDecodeBase58Address(rto.Address), - to.Address) + require.NotPanics(t, func() { + require.Equal(t, cipher.MustDecodeBase58Address(rto.Address), to.Address) }) coins, err := droplet.ToString(to.Coins) require.NoError(t, err) - assert.Equal(t, rto.Coins, coins) - assert.Equal(t, rto.Hours, to.Hours) + require.Equal(t, rto.Coins, coins) + require.Equal(t, rto.Hours, to.Hours) assertJSONSerializability(t, &rto) } func TestReadableTransactionOutput(t *testing.T) { - v, close := setupVisor(t) - defer close() - assert.Nil(t, transferCoins(t, v)) - b, err := v.Blockchain.Head() + v, shutdown := setupVisor(t) + defer shutdown() + + transferCoins(t, v) + b, err := v.GetHeadBlock() require.NoError(t, err) to := b.Body.Transactions[0].Out[0] @@ -168,27 +163,27 @@ func TestReadableTransactionOutput(t *testing.T) { } func assertReadableTransactionInput(t *testing.T, rti string, ti cipher.SHA256) { - assert.NotPanics(t, func() { - assert.Equal(t, cipher.MustSHA256FromHex(rti), ti) + require.NotPanics(t, func() { + require.Equal(t, cipher.MustSHA256FromHex(rti), ti) }) assertJSONSerializability(t, &rti) } func TestReadableTransactionInput(t *testing.T) { - v, close := setupVisor(t) - defer close() - assert.Nil(t, transferCoins(t, v)) - b, err := v.Blockchain.Head() + v, shutdown := setupVisor(t) + defer shutdown() + + transferCoins(t, v) + b, err := v.GetHeadBlock() require.NoError(t, err) ti := b.Body.Transactions[0].In[0] rti := ti.Hex() assertReadableTransactionInput(t, rti, ti) } -func assertReadableTransaction(t *testing.T, rtx ReadableTransaction, - tx coin.Transaction) { - assert.Equal(t, len(tx.In), len(rtx.In)) - assert.Equal(t, len(tx.Out), len(rtx.Out)) +func assertReadableTransaction(t *testing.T, rtx ReadableTransaction, tx coin.Transaction) { + require.Equal(t, len(tx.In), len(rtx.In)) + require.Equal(t, len(tx.Out), len(rtx.Out)) for i, ti := range rtx.In { assertReadableTransactionInput(t, ti, tx.In[i]) } @@ -199,44 +194,47 @@ func assertReadableTransaction(t *testing.T, rtx ReadableTransaction, } func TestReadableTransaction(t *testing.T) { - v, close := setupVisor(t) - defer close() - assert.Nil(t, transferCoins(t, v)) - b, err := v.Blockchain.Head() + v, shutdown := setupVisor(t) + defer shutdown() + + transferCoins(t, v) + b, err := v.GetHeadBlock() require.NoError(t, err) tx := b.Body.Transactions[0] - rtx, err := NewReadableTransaction(&Transaction{Txn: tx}) + rtx, err := NewReadableTransaction(&Transaction{ + Txn: tx, + }) assertReadableTransaction(t, *rtx, tx) } -func assertReadableBlockHeader(t *testing.T, rb ReadableBlockHeader, - bh coin.BlockHeader) { - assert.Equal(t, rb.Version, bh.Version) - assert.Equal(t, rb.Time, bh.Time) - assert.Equal(t, rb.BkSeq, bh.BkSeq) - assert.Equal(t, rb.Fee, bh.Fee) - assert.NotPanics(t, func() { - assert.Equal(t, cipher.MustSHA256FromHex(rb.PreviousBlockHash), bh.PrevHash) - assert.Equal(t, cipher.MustSHA256FromHex(rb.BodyHash), bh.BodyHash) +func assertReadableBlockHeader(t *testing.T, rb ReadableBlockHeader, bh coin.BlockHeader) { + require.Equal(t, rb.Version, bh.Version) + require.Equal(t, rb.Time, bh.Time) + require.Equal(t, rb.BkSeq, bh.BkSeq) + require.Equal(t, rb.Fee, bh.Fee) + require.NotPanics(t, func() { + require.Equal(t, cipher.MustSHA256FromHex(rb.PreviousBlockHash), bh.PrevHash) + require.Equal(t, cipher.MustSHA256FromHex(rb.BodyHash), bh.BodyHash) }) assertJSONSerializability(t, &rb) } func TestNewReadableBlockHeader(t *testing.T) { - v, close := setupVisor(t) - defer close() - assert.Nil(t, transferCoins(t, v)) - bh, err := v.Blockchain.Head() + v, shutdown := setupVisor(t) + defer shutdown() + + transferCoins(t, v) + + bh, err := v.GetHeadBlock() require.NoError(t, err) - assert.Equal(t, bh.Head.BkSeq, uint64(1)) + require.Equal(t, bh.Head.BkSeq, uint64(1)) rb := NewReadableBlockHeader(&bh.Head) assertReadableBlockHeader(t, rb, bh.Head) } -func assertReadableBlockBody(t *testing.T, rbb ReadableBlockBody, - bb coin.BlockBody) { - assert.Equal(t, len(rbb.Transactions), len(bb.Transactions)) +func assertReadableBlockBody(t *testing.T, rbb ReadableBlockBody, bb coin.BlockBody) { + require.Equal(t, len(rbb.Transactions), len(bb.Transactions)) for i, rt := range rbb.Transactions { assertReadableTransaction(t, rt, bb.Transactions[i]) } @@ -250,12 +248,13 @@ func assertReadableBlock(t *testing.T, rb ReadableBlock, b coin.Block) { } func TestNewReadableBlock(t *testing.T) { - v, close := setupVisor(t) - defer close() - assert.Nil(t, transferCoins(t, v)) - sb, err := v.Blockchain.Head() + v, shutdown := setupVisor(t) + defer shutdown() + + transferCoins(t, v) + sb, err := v.GetHeadBlock() require.NoError(t, err) - assert.Equal(t, sb.Head.BkSeq, uint64(1)) + require.Equal(t, sb.Head.BkSeq, uint64(1)) rb, err := NewReadableBlock(&sb.Block) assertReadableBlock(t, *rb, sb.Block) } diff --git a/src/visor/testdata/data.db.no-addr-txn-index b/src/visor/testdata/data.db.no-addr-txn-index new file mode 100755 index 0000000000000000000000000000000000000000..11f547d0081911ae0913d3a06ab1cec8c1dd0c01 GIT binary patch literal 524288 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

              l)R*cjpp_YoA~sN-@4K~eYs#+CNx_}g^6@+K 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


              KSf^1@+>tlz(JX!m4lB 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

              n zG_<@5@ONsZL>CSYc8p7IiuI|m5Y=~Eq~tXdx_vNYcdC!x<6B`nMK)&quH0G&B3j0b zzmy5xqeG0BQ^GdC9KU9CRB+PA{F4v6czN>WSF%}2 z_IOWbz~zCgv`qV-E-RWFGyJGqDY5tanP?{s4xgAJR5$+-nyHzs_^{-`>l{Ck{Vx6U zJ#u&}XF1)|Udfu?v~0jn#xa`RO}|q?YX)m zzBjPdJ@r@454?T1#qyW8gld%>xemEz8PaVujPA%a1joElZ?@GP5{hrCT9y(XZXnU^ z4~1$SkEvX1UVu`C-5xK=h*69(c(}5!IEKMLf-40rL(bpIM}wBKeC-}U>+Z(;vYxnk z^+q}SOmRmPX?Tf4vL?PBm7cjIu<1n4td`T`UCO$*>17Tc3GZ!te3v@! zY*Gx~m9zGpYASgiouFm*=uOb;v9bKoG1Wh<-2Jb_jsfL~)0$>I`*H`#r0Mu=EpxNv zo*IQXDvL%EpToOyI0GX6;iDvH-ZEKOfhMCmz0<0sG@sz;u1K~Evc3&zuKul6Ec5Yr zSB|+@S2sRj+NNY5kH=*hSLH&sy%v9}99q&P>(ws={MNWq#CB|t_1EkVuHEF)%rKkH zQ2bi%c%VWIRhKBM(GVF+@Zb7{K>Jp$efx4_+fJp*ZWxStLd$yBYHGKHY_8{h$HXfy zSr(J}T90nPTRB>m2ki1c^f&e|ISLCH@VOMGvN-*za;t)1D@*}Q0Zf7a7Yfj?k`O}d zf6+aI+xzSDqa&H9*JD=r$-N$H0N4${$pCHz@J|5q!w>8A$2SD9KY()q+y!8AxGl2& zc#;6N252>@;a@OJ?7!VSIk$3F;Q-*x!k#$$x9A%qss z9Csl0e96a%FWNKysVwl`t6i<)7{>2A9|v7EFCc>o2TiZ4V!)StG~p6 z&NYtNc?5uA#wNposmTN+qv*OUi&0~H13c|%)b%(YvSy{g8oqfCcx|D%$ ze6(m}N%|fF=uVlYG-9lkv5CI&BtMsOd!*J4AF9iD8SKTHB}}dLZr%tFvmlVinYp26 zAw>@{Mw^_C^Hnk1V`(M5E82@GPFMLnos5-y^=~$u`)u{d;&#WzFK5U*_H9f`uczL& z?@Pg&V?M{!wR2C!&e7%Xm1=HiOndRk+NKclqTkq#RNFq;YJQR2I8?j-+mGU(+b&Iq zN-ITrL98u_QVfnv*9*2Cy~j1Jo%l`ogTi~w_wG}+=_iMwbE?Bqh%vEtjm!&cUaDGy zf(r7>8N^yTqa=O&2k24?8M5AWNkrr9v|A}MfZ3lEv< z+<0kGq-x~01@5vwvo-M_LeOw6O9*MPZ6V(EGcy zJ44+>VC?{ujPU_-h) zjb9+fXw7+?y^y38Ro;j(TA!yxTeR`v&+?Kg%RJm_w9n#&D`%M?Wl@n)#2C%H3zsiE zr1vdyCD${W=e^vgL%yLKB7b#t*L&)ROONhTh)RGMUKzhcn1AdvzP3$qKw^RHyV2{O zi^5soD9jqtTfNI)P^Wh2JSy6L@(9I=1{sK;*kI+}ezqZ% zp>;~2(yz1Gm0`MrmGPC@3wvqRHwv+%4c3f@0&(Uq_@yjGiZH99WJ^%Gapx#0Me+#~ z&$+OZ=SAv2$)-y{?^Pvy5#vW%HB?d*q#x-nJlxwzLNC)0*jD{0^PsnWG1RlGZc!QD z1uK{Wm;#srm;#srm;(QR0t~C1gpk-@?6g4pSpmTI0KN_2Y5-3Gm=kC}YXR63!1n?C z3c$+%76jVQ#sIzy;6ecR0+?!D`x+5R7QnUujskEcfF}UV29K?-Z{KSI_$+`^0Ne)P zMF0!H{toMpe;B}*0GtQlZU9rjgNEymCk5c+0KN|3asZD3m<67@y8ifT0Coj%B7mC# zya3?saQuYz$3FyMzjgTEW~)G6aA(5Fj=9HeCexFc-$-(&LYwV}13};LbGwWfXq+>r z(ZOfZkFTowg3#2s;(ICeXA5udFTR2L-6q5k{iOZ_2ToscdcSo2(flx_d(*v~#M@HYue^eoayE-2#+2K_{Acc!Pp}O=EIK}H zC_y}T!^h;Yyu$H#NkIZ~4}Y9_{C1rq*GG)evIbsBu)1mQuAR>)t7R0TqjSaS+}FL( z=!=A_h;dP^b?iPRLB2!Z<$a6Wms8EsbTpQxi!Vkhelul!5!-SlDb%T(E`(Jpdw?wV zlF;!@MNKM@xHC80Jpn-6eVVAe}DH6fn90jk;v?})Z=H3%igrs!+$q?g~35$U0Nx$eUH)`4Kl;ez* zeKCF8GY?+>LKe%<>Qha2eWOIiqD05Yz|)pfZUpD0Y@!}!K=HdRln~?P(=>dG3nFs+ zrCmx0p3|MwSkg%AFI~*;2s9%l;J%(6B|d7{B+AWG9@2CEMPd7X(0%eOtE<<7#+bm4}Al~>F_~nwBB+^4c%>)Do`=CA;MUMxpEj4{TS5vm4-sviDX5V5 zVvVbO%6y4|KbGrmNwu`@hrzM$*`u7hF1QWu(}Ql*+_{5P+uPkomb8=gS)X4*xj@?c zlh^n1CaUXS^7*W~?Nd+{aRkl)mLzY^4Isv7;W86ixm2#V>ji$hF1}}g2#29Vn+5L|<+8GP_#QE*LpAnrZk$fVpJqe}c zK3(Z_Go;#aO;n>Lhms_f{dv#cA*1|lsW&Z>Y}>P>EPSX+yB_e-D7c7kA0;j;wpTiQ zq2bY0nl31)HopX6uD{Km!4SKi^*vdoMh6!in+vk!?x`;7aoZT7=76Etm z7x7J%%pQuR5e`zkW1LVU=}URUc;n4L>JQ~_$*kP3R@xmk^W8?-oO!MH#F3VJg1M!V zQo1;kP&#ld9!HGPQeHN3zHGd6vFbB4P z5M#87l`q|xM@nTWimKU2yGrSo*t}l0euIp!jfWw|=DS&THb@BtUz;K=6F#r7B>pPQ zc!P-9=8p9J&j^I*uXo(aE_q5Z&vHIMWp7)NWT^vZ-!ci&7+VL7Z?>V5J|NI}KvpKXF;LIwN3ju^>8G9{~IpwGuyE0pigo%2N zbY87kP?~?u_Ocr)F7MV7WbT(wJR5h>L;rJJ$S}QUa@uAM9sR+lEZ<^c{!xh0&~BXFGY{+Z!cX zjr<3BL}weSf{$#v!|TJ>@rl*)*Uj3;ZpU$YQPvd_MzH~sq`K6|lv4W>s%IbBqd%Nn81`7T zLyxoI!7-z&PGe&=I3H%{97CM z$&dS-KWf+1^gdGP{?7xf4JL;yzG^}lU%HU7O6bI3U*ywgJ(G;T z^67Y_KG-Wkeo}tCsyz2GX__RrR9(s2+K?x&H=6N6)_lRmh_S|ivqSYe3g-gKD^c!0 zN%x7GL|#Q2E?7e`lUfx=9O2&W0hhxpwm)t4eE1~j!Q zC-Msm8cZjT%&?^mTD#kgJIe%9vCm9;zpsZLac2;&FfSjn3dndJBtW3*Jv-#GZ3-ozQ!t-Mxz z=!jwaaa4bd*@?fh@cRkNUfy#N=8j|yw?A%$bVzyj&pVQ8XUCXqZ7_=4QFoPkOAe7> zBV?2>z4H5fMpS)kzf9B!0q|<+kF813BVd~ zdwu=>SpcSk+uQ56yRXA&zo~fpgW>!I2i*M79yxfE;(WjXq-cY}c$4BBf(A&@+AnyM z;%qGeq-r(^j#o1l}&eX*2EBV8oE&0riwOf?advvmg3`12WOGETxoXqPk zdz;}+dQz$UsG8f@t6SP~0e{&JGQb6va;jZ&I9IDFErI-J)fY)Gs$a zIUwq8{otOI_Xbso=%kc3LOHe}5vi+vc$2z4|9Szk-&8txS9UJB!ZAvsOJ@nZdm*e~ z3SbIg3SbIg3SbIg3gA*;)9N1yAh;0@7g2aY#zxoX1<0&ocnEl$$qaq-YS2$*JRIb}dFHlCOAuzM0XN?zq|3AX-ytbgq3Y z4sYd7D#hK9sN4OM=hEwqi#e25cgr{A|LGS3ZNdfKmBZN?`G=PkE#3p(mBSfb;twmg zFm#W;W!Z1Uth4W}Q}dYx+oqWIOL;a442JcC+a`Bf&42tIwh?}Gt`xLzkdUUw5thbn zx(qJAN}Brm%4cqsQfB^X2tBmP@&CW%%33{9)D@b8Jl>ZTr#t>1URE^!Q@ksO)7$kA zEBBA&=t8}ot2?00>A_n$oHL02P`Tx&zbYj7Ug)YG6(6<@F#Wi zlj00>36i2r?8BQB=QKiq6m9M%-lRBZiUOo)k?HUz#Tf?=AgyNlHb^{?oskoEkU}Ls zd~?S(((UdEE?b}r1iPg~J$3OW^+;{;w{^U4SM}+ZR0ScU(sy|_W3YbkMsHJX%&Eo1duSF@s1W@g~sAu!`H@;9UqxXM*`MNBmXdPOan%RQtd96Xu$ zKKeVOcU%tH&mY#gXgOS;hWgZHc80#C4$1H>W;>eZ9ou&#Qb6>HftP3*xoK@3Ts^25 zAsV&s>1UzzjX(2pFw$ShjD2TmAgOO~`kCFPbuLMsKUNZNwT5?G;8q=HjtReE#Tl_H z(N@;&w4adeoJ`{eDU$BZiH`m1o{YDPly~jjw>9X7>buQ$TE;}=ik@oDHD&^`MY#kB z8(OMcWS_s4&so`AL*gpualwLq4roG;Ort&Lg}D8L<@vXl#+)UQL117=p2U-i{R zyCi5C*p2iP%egBXvqsw{M~nf+SIjk ziB!oAr(;hlcsd_{q&kwN(9s=mqDpX+M%(u|-h(PM=8L~Lv+`3$pRdSD`C7AA?xkGg zWsMewxzewcHou5Au#P!Aw=AInf7707M^R}Rp)XzgJNn;4-oW) z$SLnurZjcolJvV3jhqcuFa{H2Z4Bh9|3$C9vEM%FWUS8 zyk}mjv~~&m)lCSd1e%ckl1thYTQT_-obLITk|-aDr6tFl1Tx1$Vi$)sdc8NrxfYo8 z`3P|BqBr;5O#dkLQhCl^{_X=hqN|weBX8a*e zAvdZ!?@CwH7_r*9ou95 zHT#2WH@P%3%w{tbzm_{5s1QTdCCX|vM8*<~+iU3@We4J3v-XHU^DJ7EnGz-4Fy6}H zOm6&#%Fz>PRU5wWXJL3dc4z73IBWRkN7K>UzwReFzdxyH>lJ3aD|h_D_Y0?{>f=Sll014kfWW-j&0dM*a^kEB@ba%mPyYQvg!{Qvg%oe~kib z^Y{s&jenhU9{hXN?F5D|=V;wP@cCndI>`z~iq^Eao)+K&ta>~F|>Lcl9^PUntsptZM z?$Hc&f{S|3j^bT8vgu}nZVKPT#NY^b6DH_z|AD2We_A=2jn&W8ekAh894Y>CU!Wp8 z>sDGfnO57=_Pm4`WjTLByel^)@X|nVoU>cPkLu`7Pxj!mnNoazS~>Zw8zHEv=R#gX;9WV@UCYco@dL9Lxp%ot?^U3gGPbVzQ|0!?eS9I~`cv!S2LtZV z@8n@a{`}QJtqB2EiWZmpynIgLT{*LAs>xF^-~CiFUdY7sQ8L#%)pY)8>~eFmpn-n^wT_9?T;(h z=d1N9iZ0nw^$0UNDa#&7t+{2t6ats?LW^XYBV+w|S57fn(k6{Z@{~9J4@^WE562P?r}I& zZ!z|f(am+4=#MLBt@OY{{6T?ifp(C$tzvI*)tM=l4L_eciDz(R2#=h`yK+sOFB|V% ztUJvRaz>t`G{Sp&ZmZLuR!(EU*`fL!g>wPrl_>Y0qkUjk1>+xI{A$W~-uv&+7(+4pRP$d*JXYqD>NBwHm# zmXK^&B1IIDvM+@qk}XSQ7b5=WxVdll|6_w`Wz*P=C+B>sbR&BrPqm0@V{?8fcl!B zb=S(N%#!yPO>>S_k87j)k&Nn&1kUU1RXJTe_Anl$h8$dsRI1nAazpxg45?A3iRW6f zgiXEiio15L+`})oT8Q&|`B`neUZI^Y5_%z`KDk%rPFYW2KkcT^BdvW)FO%M_kv*gv zDmz&mq7`FrQgzkKc-P8VNtYTaIFG)+qb?rc*D)9xhd!|9d(K3V>`09;XK>gQW(k+4 z<=U0)ipi75a9mz^p0aa_V~vhO z{k&J@EC&N`5Z|g%kv+~KaL%CWz&Mv%qQL}i+4qw`m-#Mi>u$5xp4dDqHSwELWT&w5Oa?y)(lTV8(dL#lA~y(&kFjVp~!4aD16 zNz1jAa>eC!olZTQQPF=bmsaeef|J^=D~NC9o9(A+jJVi;H77P%ZZVuCQ?aN!-?fO( zN|$>`>OA^HAmPvu|0Zn2+!=9Y*Ba?{{y}Bt20GEA6Cuun-P)p-S&tMRxqtMo5v3zb zHC@^@b4k^~C{ql*ojg6X<}BJRF&|DiGVGN(vJ~+U>yjz<1eL)>H}PbBQ6GzQJQU*{ zBPdA&D;+C~yH+mN-%^$3=IVY&2@FkK|GQ6Hi%#+ERXK8*uk|J(pKr-t^2@c3rIpz~ zlz)H9TasX=S+T4bC$ntV%C%18nv6{!inUyv(T^*+>Y?H;oUm8rXfN;oOl6U+HSNox zln5N!=lZLdyVLD?du@M=VyR66|NixOfQ{Q=r`zRUTD6`bwlmrLQ5(0j)_nVMs(U`C zs-z=xr0f}#%cQgJ*%m(BHFFIQ3#t03Z2Vt(F}{`Po6NFK0bKXW9HY5wqENPu{EN0( zkD9NhV_t#F(r4A@BGJNxFm%$f=Xb4KG<#CZ9R;znL)9!3ev*>3DJ*`M_Np9H-;p8- z?Rm?SREu0yJUosy(UR5tH0#$79ySI0?9a4hF?X0f4X)`ez& z<14mT_sSf*x;eFR4Zf&%;FJL2yVQ2qu3Q6l{3CrsEb?MiYKCpQR!*Lu?yZ z7Ul0a5`+=POJH+- zWE>aL#)8soGQrd2FYb|O=skQsU;6r1I{K=xG(DQ~N6A7D;q0ff={;ex_i7Lx@uDhd z_&1hE-?Z0K#Tm@t@Mb#RBu079&Ukp>BqiEO6d8|uUXod}^*>Og+Zn`Wp2sHliVk{;n~laEA#>fGzT$)lJsS- zEA=d%q;}C%F*sNelc{lT`5JI+ni7}M-l?Ff`eHc6m!8WEVYEtjj)bX~C2Qz^nJ&5z z-g8iT5--kM+#0)nxt^Zg*}Lw(EWQ-}F}HbvXzf|GZ+B8;>`(;8PGlJ#8h-T_?cfg| zx=6CukK;`0GRyYKC7CS*n<)eYBvG9g!I3I*(92X#czlY9pUo*CVlc?GnGHC^L1#pkl7cR6k!``DMVfUsrgKzFN8=hbGt3cdKW))SCw%hi6C2-H=%7uH=W&$cnP-P53H<~3 zhK4iTeIFlUn4YyJsG>qiWWm*TWXh@PZ~U5b5NMHLv<$$(?!{jb7MjV-#&}lLZ1laM z8T)>~FPgV=$Ni17^O*_iD!hISrx*}vP$cTI-fosteQ-g93&6m^e{#X*xa8&QJt$IF zJh(qd9+?ak7U*0xm&{d;aC$Ri6_8>6$5#RT7iIuv0A>JY0A>JY0A>JY0A>JY;J=Xp zy7hDYr~3crf6__}(tE9raS#16qjnSDoq6$e-_TkSC9&#B?MJpWyS6!aPx`S`RQhmE zeV6JGR(!Si@!|4^z1kcK?#3{iFW!$q?arJHdW@;-51^r#WYFC_6QOE%eNc{{XlPuscb|~kt8&lO-rx!2V17B^^Hi=DByaadPx2GMGS1J za`O=#!5#&@Dm=c$H@j92=QJ6m_E-0V)oC^85+7acS2@DI>{&TeTI#OQe94(sZkkin zpW+3r6jvf~29(vx$Mc@#*BI_vxd}&dL5sTcGk z=6~^?x=1~(b*gb zFO{fqimlwQv)+klx|M?Xy+X5%i2Mi1*l#uF#3urGt(-*Q)idpRi;DQRoklz@Rwr>R zYxc}sCCS_%`gnFmPWW*g+4u}#Hd-O+~ z2nLORtMBX#ejSRr?Ov6u)}QWVr_0jgOe3oRd%KbO~(!-~M8Gspp8Gspp8Gspp8Tf+%`gI~u0W<(* z{eK?Bo({1Yt-lb5*dy^(0>mFg<2&%z@tq8v$o^o@aO7*qwv#1%floHzvNb^l*@yQr zioG|dtE*!fu4Q2Mype1iKkbmLHZJm$67@44IZ9AX!@Xior#n5Fp68>b%*x-b#Do&_ zS0UA3D_lP-{f5{z>Ts%v&*zNi9al^ND}pD)I(AE*H7@L=*JSjN9V15Ubx~RHHGbYX z!ai~2vb$-YO$6>e6%F>0szJtF1tS&FGY&Z(Oa;_(_uFj0#p~J-X|o;V?9F3QqhU9` zH2rO@aDBu=s?vZC_al@Zw=6|Zj{97u-d~Mf$5;+5JgOq=tD!_VIv~Oo#8124M^TgT zXksb9aIao!rZklV?Dr1IQF$jDF!E&Jr`tHGKdJ%jS@hE< zeI~D5Or=oQU=g};svXMehPN zxr5M8b2VQ3eNUc{uQu+ZNRbkMwsz<4R7~M4;zV0!HUI6|9g@Q?Bp-Z8f&HX~nws$e z(-uW4jILKjon)R+%9;MA6Qo3UkV5q#CAfqX)k4$)5EtGXk9A1M^QL3}c z$qCoj)TTA}nOi*hP4P2}BKoiCXy~HL43{ES1WRe~=kb5*l$XFpa>KdB`dKQCW2l4h zUEzWH`rkT1s!#%HRmVy??v_B6;1c7Nw*AXFxMv=e?)!ap1ya-knPAm1?izafk8;Ov zydchZs`^IsI|YzZ5rFYEesZ~QhAq&e^pu^ZXRhTrBHjOj$gJ9rk++2|rLP4_2QYbbFOSI2%tBPe|Z$>h*6rSw>wy8U1$BHRiW;;5fzbGFIjch;&W=)(KML5J)jEkczX+QM1^8h|_(O zbIHtEw{r!8~Y`VLpoFct$RfiRe z`djwrgGVHP|Gk5h*BH`@C8StUNQqe?r89;U+v8T4Ce~Esq+F2km{(ktDdH8AmD_J* zLQ0BtoBx|`9S!i`0ww%V)-B4!VBlGK}coIx&50 z$zDBVT-K9bLYz3!=(NBQapJd57cJtuY+l-0;HL@F`>+sje2EAr`mK{kT|JAqv-G8$ zPqvZcnYa&_)Z%~tR>9L3{yFvK(SbqNKyC^^-S|kR?9bmuG7!NpU1XRZQ?|PH_-%}y z?l}!~yx%%O3iVMRmVHXWp-jRGgZtQ#Ix?fYShD^!R zM!(+_e>!SYTxw2dv$7Izy%Ixz=I0@?-}4GVs&MDx?&=tA~48a^NAK^3jv zPM6R~D|@p=D{$^6|4|h$s<8uCmdSqW1SxGAq;O2WHaeR3 zZB+g@ogkUjzM7QCnl5rjcGp6A*B$HKLo27FlzbGihaxiKZI2rF+u|g2%nIE5xZ%rVw zklYiEP91c^<~!-s3L^q9Cew%>+`uO^3+ zzxy7hZ^SX_ZPMpW#b26q^}SeDqRl_9kbpxg0p7e-`cSo^lQ#jUEZqb9b)#Ezb*0sg z{Xrc37iIuv0A>JY0A>JY0A>JY0A>JY0A>JY0K@>pIz|O3|2*;-G20_YAjb7qK7%k0 zVv@G`xG)Hx1>u_@TnfUYAWVjc_uo9e0th>S@O==j2jN8!W=7=b**yLU5cUJ%Y!Lng z!dQrub(_Z%0AVu_4qwM9>->r%@)vHFw*uiP5U$vSw_N`{v-Fb|Ib+|+h`;qBd!Ep9 zD8gG>pwHOCz9x-S}3h%T^xuwMyv#i1k%9*#cZOQO(e}f_{-gm+`bYJAJ zuFutO+7Tk(R3vXF07UN%-XXrBcl*zVG@DIS*d~59P%;Lui-$sg z2#YK@H4S@2hUi1-=}&vVTs^3%kV3@qs!N2!idWPH<$sK0hj@p0hj@p zf&VH4jOzoS0?0?6KbjU|M~B!p{QqAdewmT@17btAWW;=(4zb@jj*plRBk@Z_KV<7f z3`K|7BaiQtuMgSZ+=)sTxkn89x3-gi`%VvFBx0(!`oA$KoeGpalzv&9&(}#qSbg>> zP9^bkjW?bWh`N63@d4_&(^qH>D}p?tQ)2PwO(P~L>jd|4x1xl)I(RQXAX7nhoK@z+ zy4=%oEL7>@ZG76x#28j&@)=zcrX|k8Abg*9+chOLFZd$gJ&*wtoSc;-KCzhcUfa#tA|oQ zcih%tgce9m)|z_`O;F5R!(%ADA>uNEGPs70v_gJ&qBjn&?RWC=M|QfAfVIZ`-vl9m zHofwyM^nRQBE08ANy&sPv^n3p@V`1XEtFn3!&j&Jd8Z-%d?Pz`+&I1_u(0@6-j(x> zuw-B_;q3vDFAg5EHGuRV5e*yrouW#R1D^lHw)UeJ+-(DIDF z&pd=dPGjPqut!?bE5jCN@aV-wJ~gK>ta?%zou;=AHM;ak;EV9{WgJ7?(=ST2hAoXS z36XDNEh1$gc45}&nWehWm^qj5%bR+(A+6uy`mhr-bosXJHw|0gFOcbN#=D&i3cvUuq>P8-FY#L zE77`kvviri^_$&SIjD%{Zb=q-%aPv5qab%VVHL|-2?B!9NU5(8$Kp^Nj06zNJ=Gyjmn zx2El6qfz>3^zn%wN!-O1wYlSHC81{a0bXV@R>1X4Up^d96q0y8(o}#DH{VNlpi!?u zK=-nyUi-kH;gDiaAHM79pj>-$A=>@H;a&6$4;NnwzSmeNvW!bNBxXiIYLQSFC2v-Y zs#k-d*&hnLwL2{vR=)_OaydU=5#`1CM&w}cUwQe4*}iLd?!xR(%b8oa>Z6;ayquf( z=YFNcH#z+C*GV)pHc>VdovRVr5IFHAE`^x1jj~Hj{9Rc$z z*)12Zc*|eE6fj}^;sUZ`k-;Y~ix0<-E8UfP%gG`qxAJ7g{-e#4TU|UK8{T544QP=S zFfDZ*bwBGP_dK4d?9l~=59m=}dm1Gs&tK@P4EA38VC_^6{_V&%k z%RyLUeZ62~{7w+ILOdUBmPbB@ZpQwIY1?K@0IK&F2f}QK@?e|$KLcSoM9rU#;{(!7 z$AZrZwy@m`qKytE(v;TB$26v;tM-bEee+YF3mY6yzmvHcfE3pYKx-pHZ1?CHvE+Yz zFD{6bk7QV+E9o_EVv{%jnw-^3z_R;1TU(kc2_OD_sR5d9z!=A25qC*PMhw*Mqh5+* z)P{>9RTeU2rc_d2@M1Esq72syEN#@8*r_%WAkbbm{H4s#b5*%#ysqlzMaL}W```&D zMBRY#w41}KCk8rh2WrO|bMPuYPR`zkyU2!~&pr$5*wm+6Ul&=9(CP( zwb=QW?k#zH5z~B5Mq< zNj#s?u9aw5m~2ufwrl1f#i~J6ZjvX6@znXVCDsl4mPyw5S9DE z)PycWA5(6JC0U|{Z&@L+VvR27R*>B8{(vp>jrrKFmD|!aW{+Pbi$f^~8&>^Bj5~Wj z+SgxPJXaUfa^%PpDHHYgd z_3n6;*M~mE6+xQ>@cPzH>sDLlB=G|;&_KMb%ksxMnWAT9u~TT0aemccnv`l6HkewJ zP!V`|%6bju?fSAp%31(XxnH&q$rFwT>kozxe+I;zywwA+biR4f;9?9+enqdz-+jhe zNSO&BD!1~^BoMQ?CpeIhmrSeZ>d_w^DKYe?hW*88q@Gt3Z@hQ6V;DdxhBO5F0gOL$+qbMu*r~5F4`fAT~P0hDaH>)+P~u>DITk z7f}Ad>}vp#6L1}GtV^JvU;pq>gvs_^=!H0Q`dSK$ZDQ(ZR!VIh!NoVagsz`X7{N_4EO~!77pvOS{PVSnoIBVs|R^(5~F z_3O`fs!vdTmnwrcoc@j852f3{#ZExVyG@_{tFgw5RMfWN5emDV)+5$wgLg0kFat0H zFat0HFat0HFat0HFat0HFat0H+cK~*Pe%pt{_M9ghu^Tz8?VpFH!w1^k`B>(1G|Fk z|L7ol|4k640onT>fv^b3-v0)KkAv+0UqJZ6Cj0+R^Y>jZPH!2Myhl6Nc|o3%Nc?yE zUmW9cF@KaI?6pr`AUZL*300hOh+Fu2@2-`Dl+XFk>%9Fxw!*I}pDh=ce-%@#spvA6 z5EtU*I5BN_B(vVlB+cW%?yb_0lHP8w)1OCo@_gQ(@rRQ+;?7!YJH^^=X@mp%FSa1P zq}}lU7-T0)9^y7#YZrMG5BH1Se!;2Q&GE?XeK@5BnaSyF2{)Rir*+kbZVK)CvO>yK zzJBtZcFrcbvw9D1yuKPFn=V%|WJfB+HG1i_QJZ)!ff>-P zm2)Y+BHggq#dF9b-)af$n!$1kH{JAV1v zu9bt7LL8!UUM}8Zn4J`_di@eg+0r_!Zpty;SJb}Z{Z*c!FQ@|j#;%ovlo}YKazQ8B zT#XJZd4$hvjF*{x?B*$T;Bq(+q03Qzy~BKUL~GZ|LCS*-QMqg410P8x7!3H?RExTD zLaQvXN$fJIXt73~QtMLPy}Nr~xh*pq?D4l1;(LI*!3@9*zzo0)zzqCfWPo-3O{4y4 z(MQT!1(}MSL{tWJ&qbb|FA5u@7BxDVuvvJzs#fA;;+E@09~ferCSXHa6Z6)zDfQs z<^$X+CMMk5%b~A z_$dg>BIdiBk2h_?JH-p^+F$~ynl=Ef?Np+E*U9*x_GApqOA5Vf!$jWx6Hu4M{5q&JV7gA`0V>%{Y5$loI+_mTapCd zV{)A0Nx4uRs3`2W>&v=j^@2Srw?8Tn|5NEltTQgx%dL%!eHn1;GsAi;Pd21*4ns*UCXEDGgP* zs58NxSaHDn1zZC>iO}Q=!kxs#&`;;VA4;jW%I6aIK4pj_Zt zXsH@yp%Vp0b|&A5c>HW|Mp}|f)2^9=RHzjqa|hAXDs`Lv$%sCV-dlP1og#w#*>p7X zger!oYGT3RYoxnY?yS#(&-tn9I9Ymuw=K32ck+DE8h@+(3Q;*CTCBMO0wL3}y^~$^5@(*wGeB0ZsX(aMmZmpsugXCr z814o$05bqH05bqH05kAEoPmwF`~NNT|DEFLcl`kMh=oAXk)Qb+dP$*;w4P7Rv+D$1 zdwqba4_FlI>a~pN7}l8K*5wyKm7~<}(kgcdcv193N`!m&ey|rU;=62K+FIbJ3DWzp z5O92n2q)UBat#;M+)Pei^3BG#Zw*p&N=S2%8XAu}-ODP;RY+TPf_~S`ZCUSbk5lZ1 zanpdxNx$eUXM8bc-0#HYy)nJana6LAVa2jicvoWWTDkD6%)L@*ky=#w?~T>URC{t$ zc%}Br-1{NM_M?IfMhve?NOEEwt{WChFyvi*Y^)Y~+WvgOlLNa}&aE&_tf|OJxgg^) zued5x#49E%w>>L2GpSWG!CPh|PF!9^5>q+*1M@fu zn@&B;@#x>DO|>G`Bo3ah9@0v)h_)7wLQ@p=!S^>TVa52~E%LaT5nl^qA6sGG=Utz) zqTT1zd)8xWbdSwZ-SYBtA5w*@gHK9&oqtf7xq(i!=tPL~V7IoYW!58wNA4fJYeebD zQcah3ebS`rV3a9_-cFt#T5}fdmY5GG92vkTB})+xu`ZcnPf!_LbQ4e37xl3?$3rpR zF@lmbu+p)zxa*U~`dg~9++5x7D1o7g>wouYYtbnl@JY#KzSf(Fe7+@n$uHMBmR4r} zQ2zZXZ%KlgX2r5%oXoOapR{!v*JNz^P^{(RjDB3nRSy++;RNtWX)o{pOl6U+HSNox zln5N!=lZLdyVLD?du@M=VyR66Ke%?|PBj_-rBxOF7d=wJZv|!mW&maYW&md3e>?*m z>l&g0e1Gan2a2Cp2VoBoP6Odq5Jo}F*Eh$rbAhlS2wwx?ry$%1!UTx<{^s!|K-e0D z?||@Y5S|2KYQ*}$=J8cQ*cF6RK=>U9uYm9oM83k!61Jd?gTe2H_+SZUo^a5N1V`2;4lrE(rUBaPB&;T)%_8_WxZz z1B5?-Fd8ECW%K!XK-hR4%Ol3$vId)`IR*_fjAExy3-3ukmWoOr&Z+NG9m0yQ7C$~* z{s8nlkMlwi-qP=$B!`?Iim)FV=RV~Di`6G`LKfyXX45X$qw)fL?%3K;gs&x>iL!A~ z&m$I7(+|> zqWNiXbRqj24WEzmpo$i7>&?A;kc79IGh=*kAAlmfWv0RjMk@*^!dos8_#e3)2}O9z zjHX#%^aG&?Km2m5g*d;LpVh|e725eCp%)_RlR$FrOD!nETY9Ahz0E6vBD`fyKWp1( zU!VwYS@`s2@y$UBaa~qHi+GIt6eA6wkf#gChLSnRKLB z45y%y60@uL;0mS3yT&=dAnbcM6yYtSPCmV_?SLe_)mqjPDdu@7!tKg-#pKCjI4&6%#e-d^~a^U>%(z(xfHp<-Oep^%Zb0FES_kW+=h~H}I2ncra1U?EhplliD<7c(3;?pb}01={kQkDUmf@IwP{C}$pGQa;7#FceBPqP$#i>DkvHm%KcH-7ync#cRjksx4#nI%}~Y zed&Mq_B67ttLup5e7JOsqUO{I(+OoDW31~Hlrw*?D9wG2nI=RhTvhb(ZODtZ{l-jy zIZJRM6yYt4j*e02t>uW>=?QR4FFVQF2QLs)0$`{7(mT1|?NkPLrv=^kppPX9dJptN zvI^X)bkF$ZhvKOG=!q|Ssv1y%ch!`8rvx|?jwn}dpZpg42I~eXZTs;TfYlvQ;I0BI z0EN~q;}4(FWuQV4o??5a!||Qwvw$C-(GfSQ;7ggpEP!ZIJS5>Q-7;P3dm%mcY?+!{ zKTibG^TU?m+rl}If)NIDpiQs5>e1A&nF#OsP*O4>3vJG~F8r^KO$((L&hXW#e%|R; zLkt0-ajy440T7dRMB_nh$hiHh>jwXrZ%)R-Fg3ziKe&J5 zYtLXSpE~LvXHdxD;RZ7RGXOIHGXOIHGXOIHGXOIHGXOIHGXOIHGw}a` z0j~8iVf#M-Fs^d}+yDP=5C2cG|EH{9KO>NRKNy6cfp9+v6N2pjlCb?Bw*TLLngPJ} z|9>tQuw~Ud*#7^|gu(WI*#5txjTE;3ug9{$_WytWCV}n$|M~WRgv;^&c>6zW-^ZuV zLF1?e{)6oM>r}~dU*6QS4Qc%r*N2^$q01+B`?K?!&m9ilJ*h+kmvc)ol%?ptixLJzL_g;Z zmdCi2h(cajp63^L3C=$5-5EY580`=x zBTqMD3dD?WGgbm&XAn*T;YJW%0%2BA{s3JN_6Oly5bgqDZ1lhDD+I#kAbbOaUxM&A z5GDoX3y=q4M-WZ`;ktF4vVH~JK=}b4g7A9~UfqQMF&+cCCL!^_BD2x4PYwOU^lF)- zqhhFuqnn6+6=CgH(KiD}aq+RH>vcZk_};%Ce8c4w382@1Y{dv5%oBQ!6c(92LavG4 ze(JoAq3{<>a+B^NE#c^Vw$I-(6j3f~y)xReqTUO&)9FazostdWoF=2x{_1|PI;{p> z;-icGDo5BC;MXICYNYTBX<>(hfP$qXclzle_2(Bcu&K(;M|1>x6!fa__!i&b=?njy z`ts<&plcvE1)y$xBvbY$utM0YhZGLeoj?Eh$>+ly3#S|r>HZ0%9SaoaY+q78(9Jtz z5XpCnkn9na#82)0{VR4{Y&tBCPg2S3fkBoL9i(t>Y}5Hvv3-LvF9<0foS7075X*IY zXm|hGJF?}(-bSN+L@fYu;l1%#hlD(DI`)sp-u^0T2kIgdejmNO?2sM?48?N1og? zcE8Ts^P+R?J@95Rc`fvqsqaXUg!a7UNvcJzDjpuknrRa;0U>)u_hcsW!7-r_(n3wm z_<(7PA{9p0tD;UaPblR~fo#{6wQ#ANd9x%gNrH^Z^v*Ly#d#=3e36tsV!kzLPX3J* zWb^S`=I4K`k+Bw^zEd>->ZvgIm%Q!=^5lf;YiiS)`^+t#03HYTw;>2Iwela?dgPiaaX+1fzWH$l##*(cVn2%7w^ZQc4y88J;v1a z2hdPVGU#reiBPq>KB}+7Wv_uf`Xf#RgT}wrcXkH94#nISNK3zzi4=a@_Em1xl!J-c zDNH{ipY%khp$|q;{-sQlSjP8}TDgyT^H%9Y)rwBu1e~&T5A4^CZq3yNG>;fGBZU)! z?|zl!GK(@!qb_+{Y>1Z@^DV1qR^K6I;IK>TubiL!Ky9^5O4ih`ODwZPHl#;GYO-|! z%(4nEq;SZIDzfl0b#ts6tL7|v?#0SL0&lLJX0JY`*)5XVG%bOqXal{k5<;@8jC2Zw zuj0ANXGs7V9`0{Q;cETqPIkI1Jx;!bC3dj`XwfRE1L{Y{cuJSJNCo*a9tgCT4Sy-~ z^ITQ#8Lz9ldC@V8`97dE7r7SOImU5V#9h*n5d*dRsF&gxwc(;jm4ytMDV5Y0yqFBE zsI8Vj0iyQ??+{<_z)p$%ad#*-`Cnb6{dvS7j6rHZU=eFUzpeW+SJoV^r_{USRbC(Z z6juao5+rPr)TbKrTRL!@Vt5%Va|T4ZrhzGJmIx$m*Te@tl1eZb@Uy8Fb>)OsSz?pe zWm3^%jXb5+rMi0;TO#o4nfAOzMSR;%Bc2wklQ@<&q5w*v&e~_|)xK1s#woUPzs`Cm zqUlx&;`a*8HX`yLBxAqTm=m7}l!_LzxJ^gnBGZaK{WM3k{_$`C0q{#k7!!GB`CebO z_qPuunaQ6drNSgTDx~&f)h`*v(UWr-OL=6pU;5TPBTSqm%TsPY!mT{HtNX;#1%M8D z0biu>GqpE(!Z?^;4){EktHn4dS`*k*`7HCemv$l0%~!Q7gXjV`m;smpm;smpn1TP3 z4DhbMYjFHO!}{x@h&^(y503xeh#UCF`6e9yzs?}MgBgGsfEj=pfEj=pfEj=pfEj=p zfEj=pfEoDrGq92M9~GedQ<=wz#q-Vf{m&qb1G3i(gYa1pz6rvmAUq1fWFY&!0th>S z@O==j2jN8!W(L{sPk^u=2xo)vClJO0+4BWJ*bIcj*Kx`^mVO zTz^3tKwx`6Z10Ed{gNHZ9WGPn(yfL8*xnD@`#0PBVUs;)N7MvZ{6+r)S%lp)G3CXkZLL4aAuKwHB{}Z}?I$;Di z$*|=8-CV4$a~MRVXO(PqN`J_p_%1hJGqKpV{$Igc^H>#W4we%O6265ktEt9m8cHkE zg_k3x<_w9OV;in*SO4#eImU&V9QuiLTShXMY?Rv~7fJPvYX+9vv2_Z(4W4>zTmNq& z8Sv7huA8qGJOA?i#HFG7wDTDJI3c$~5>|-}isRNh8fe2lW^6MSut0P*sx2ylB$@6WvG9lk;MMxvp zq{l5RweLrE#ezgT*PWEIk$^jM+t&YMGP^+?hHNfZgMz7cV5MVaaohTTZjXH;dWGyrrMN~fy*6qS&m}Mey0vl+7OW06e=L@b-nRZ9>2>}= zW#$Gt(V`O}&V$|BqLx{Y6dt*M^sW)5BTF@1+P40mt?;YLXUoOqU&Rz_D!Pm%#D#b{ zPD~pf$*gxXN%J@`zis|MT|D+M9;JpHT#Qtz*WGeM`gshgQKpIKTC#*qz43~>wypnH zeU~bOHk|&A-VdeQz{O5L%DYXU{j0IYi&WIM;SmbEZR`In%OC4xik_9lPN7N0`Bj5y zQmS3pU}{l9Md0Bn>ot_OZT-LTw41}KCk8rh2WrO|bMPuYPR`zkyU2!~-|mkvMUA z6-i9x?33$B0q!Rb+-#Mi>u z$5xp4dE5Gb`=bK!Kb3yOI^%M^+}g<4mjSmvGpxt*WJ3x^Zn2QC=C<|!X+gWSA{W#Sy zNR2ROaM%=P374nj3jh0XgMHk_;IVtd?&ZS6FJ7#c}z?+sWwnc|7W2-mSJD_kiq8!`^?^L>;FafF%0%G5=>m#$0?b4 zb-;Jhq;~CDz1V`HP8vc;EeTy%%QJ)K~`()?!vPJ3n zHp+L~*8lSi3i>7OQsIrI&aPx8>_L%yAwWWoOWfx?ei;qh@ypk?&HraD;d^(#K%>6@ zAS2IgO-1m@L-&}xSz7xj%zj0^eeQgA+xmZ@9Wf2$lDsCSRQAplJmp+ArB+I}H0^>r zuJy#F5Y2IITmP@rfM=v$(2tn^#e3=^^|aQh_96L|T9V|qOF%W%$WiTW>;K_KoeA#5 ziUZy+;2PjbgeG4Q{&Yg~>kkw6SW*ARS`~?H>;G8}2HqgPRih$%oI~K8LDhkAF1JL3 z2^J04)JJjx*j5tT*8fu)aImdx$8pHVy>{DW36rJP*6>r>joHRx`PASRO3wOi>;L_- zeMp{gJXn7)eE2gU?&Pf=fTi=ziv|~CVDc+^O@70c8L&3$|Lv5`EMg&5X+Vej5lW9+ zmZB%eeJ)e)ug0!pEC&`IRgv}8P?BQfN@G(4@itb{axJA?ad};*Q_p5p^k2)R6}zb5 zq!ttR#`fC~@zvyT@^|0E^o=+sy-oVOsrXBiuD%z`O0?k)`sl^(4Lnuqq?p6spQx7m z=JCk`1Ca>{6=!ki4|>1CHKw#Nd(9nNf2KuWtmfnsVNJYT3gTb;&c&`W>BvV*Z<`w$vkvId&YUSg3Px5OFx2^w&yL#eG_~Vg)a)D=|rD~Lg zP81l~nS3MS@w34hX-O_k+t&XR-Cy}i;pctUn3IKL582AHv+ksQ#!_o~+449cMn>Ep zb=&%XpIT!me;R3zlG?MDKUuIe>tS-gVPc0>bN9<(Km(Ieb=&%X7kLy9_lw?s!KvEK z@yP9cIHd)d$?0qfH=3rWb=8M%3jJgKKjdTrT|{Wqo-K1UBzAdNsmJS3oKya(UT-#9 zzJn&db!?UVsh%f8-w7WDy(EH(+Dk;2-VJu>U`jF1W!Azzo0) zzzo0)zzo0)zzo0)zzo0)zzo0){EuK@Bd#A6p#D=IWRj-M{{O!~m>uM=e{vnmuaA%d zI{prXS3vj($Uk2ngabi1AB4YvFfRJv^%n(UOAw9(;a4F19fT=B{`^WH>QrE2--!ZNarU0i-u;~dF>r!aqs zCmxC|oBRlz?zR|$A}r6hO3D~NFngJf&v9B#l3>cfyaJegHjtT zy58Q>nLEX}nZW!F8V$s)11#{#23)o#$RPXhK1Q+k=5%#+EW@=7%$_%rjpL^slGU8p zWVyv~mQ2N>?tIrGJ}X`BA*u7|6M=+7L;Rbt5p!o1g(oFK9bLg+?639ewlkrPn~uf- z4aE^oP&8ASCGRhq<{YaY*GBat8Py#LoYw*BxFn*X2&+B6*TdZ2==GhnfmgjwlrtZj zFCOs4pd5rEyj6(`fU7NO4k^4-T@Jlw+o79HS^d8b=AUVOCwnxHipB;weL33$%9&4^ z^h~|5eb7JG`z!x7LGP_#hw~zU0zu{rD8l+}=j_^-d439LE|&E%rYs)A4!Z7E}=y*Va2Q4y0X~)~wxDs#je9VHMY(}$aOfN2Jwf&n; zz&Y>CEhxff)7>rQ6zO%VI;>dK-?Bd+JR&Iz93ZjNfFgWmQAGbW9SvP{nc-5zieM=X z{yaX=T_KePMcCYTs;=mDbb^}kvkyUSqoaA>M&*HX`4UV}gwOgc_?(}rj+3Pqc-vwd zaVO6gtr6Hi9(5avuw~TslhJP{JuZz^7+ke>s_Nufi3E;nC+9#Bwvvv!B~T@}#CWA` z|8frQnFpo&@_-!C4=14sml`QJkG{X7E*{|5F&G+$K7ax|zg)AHcyFh#sq@KABFO^- zD)`fxHbgA~xjo@5YJg5j)q5ysw!LsukC~j=bn01-NB=%;suigwalodhiUNx8MFW<1 zBwvpk`(C;3*OaRvQ}VRY4>-bvaT=1aMSPddOIr*4G(mbF76Ohh5#dC@i%=6tcbKzt zu~~kqyRN0@SVcDh+4sZP%Naljw=fHoGdsVY@BwTN75{i3_9Lmx?zTXe#tL8>{Tb5t zx@&5K|2eyd))jqsgv(Hgr57Y94FGK018d3tcDhtqW&maYW&md3e+vUb>u&@V zK>mpS(U7)(I>fg2i;md4B7U5a*a-O}jcEOdNf;eskHmtnM@#L$jXz?^axHhH({}Ux ztXB54p<%R|_Ig%y^2`jfzpE3KE^`0Z8ITA7P@KdoyKYR?1$x|GF%f@?i#lj^zax5q z*efmvYw4$X?oL11FGIbnGCM;*;)i7T7E&6edByggjAY|^q2s|*f^GPA?U|wwd7^JN z-Th>^zVR2|4MzHN8dDu94#e~gPQNH##Q20=5b|^}7>|RP@g#W1=K*o#re@ zem^xZu7#!4lGDs@^JsPc<=v8k})M%W*E$zJW zp7hu(YE{1C-KMW5)N4zr9|gb*JRm$VGuIX$AT(wje7Iy5S>x zAlg=skYMhOOwJQn(mlx4dBAk*@I&T=)15A1zJ4ZM{WE>{neL_pA;&T7`Gb2LB-qqi zBp59NaIkyvSA>OTGP5zB6*U`uZ)nE8AMlIj?c8zy=uV#}_(Xw{k{y!9A<||Bw#KX> z_93?_TO}0V8r(m()TL%sgz3&#e)ATGm6lqiT&0=(#EoMIp91@yeDoNh82yv`+@C+6 zOIBlL@YvEy*pOq|)SjFU@YkVRLK*M}1nzq#BRe_*0cdY8bv*gC@G9Q+zF6pO6^54ufmX(a8!)fde)#J^d7;Kq5_LLqg{KBoUQ>n-J0OTM$Ifbop zzm;3tD=W8+JM#~Mwo0xJF0r|ZO88%x0hj@p0hj@p0hj@p0hj@p0hob*H3P!y1H$qD zaQr{x`n~XK-{1Ww{!`-rQ`Yr2+W&X`gF*Ni2={|9A@1MhB{yL>{$Jyoz59e5@U1!F zI&ysgj{k?_|Ka$5zXUlhY6ABQr1e177yUrw2Lq1(hvWa@_ZN8%Q%L}1{6E4482Fza{}0FaZ?gY@ z_T<~v~B$V;!w)LhE=~2pNJM~u7E(u z^r>)>`9P-0r)| zimWlbCh>emyH=uMVX{e`*tYTia&cdpMV*$^o_^Ay3thktAM$6d3~EdWI3s0xrPssT zYTNk#*oXZjgp)dYmQ$#TCO<z_RslbH18f1J$^Exr|J0v z{KuCPW44X|KZvGQsoU&NM)Yy?-paf06cOalrlXlBR53hN6AKPsBi%Os|31f+HzfMZ z-Gr{Qtl6Ti#25RyJ{)W3^=nP=4mW;&r+M4>|4E)8##86dmRL9FTP9ue_!^bbn{G#b zPA6Jf`rD6|(KsvVZQ}n=Sx;a;?WWHot$j-`lisb7J)|2dJ6Rl}6=QEwb=Avw+xY)4 zY5p7-b220~%if;qxf(uBDC1ok5OzX5_-8%( z#qHw%>jM_Wx_T{RI)*i7xOMpjP~|A~yR^z30$vn7krLs)wr%{sSr{W{RLfD$izH_3 zBEDUY`E zGA@%b=iTEWf~nqG&+mjE;r_2YM8UE!126+H126+H1OH(Rh^_033ZSor`~JW7?gYN3 zD-YoK4MCC;v4>cqjoL#9Vj4tZOHoTLRWyy{)r%#Myda^9+N!9f3|c{yGL~ARZKe#R zsa^C&FbME_olE^*h-t!mL z2z?LK_p|ygwov_Ehd{kF>-F^iZ$;g=tp1O_bt-rNxVvR|91o6n-;y`A*1&x;$1h#; zrti-&^R5LPY2nr6gvXq5qbA;Y%RgH0Pb=sWTxv>gcDFg5?TdVCO{rMI>fhlnIpI~q zfFqP$IvyN9^Fwg% zxPx0ix;b&(XFU&}oH_h>!K{3H_T8871TU%alWnZ{!$JAr_~g{mC&Yu};!GTy>TeJE z!Er}xdbGRs=Ntys+jFvqmuawQ>XfM)gYs>owYaI9kK3nC?C|QCX;%|=jSxL&4*2Rt z%a^@-cV5!&K;ybmQFk-$+OmdaEX-+|_2~icb!U6}@2GP-r)_HdOHqGKtFve0h{wM4 zTzoF~SopQ!BTnz1HPLbU?y`b7&RX>VcSNC|xGU-Yrn)GXAK=y>9dK;!7J@1%zIV!w zsyZZP#+12rJhu41`N7`TYG+;;Fsu5&x{u#nQNP8r={~|>_w%(Y+^sinjOMY?lGo?h zk0-Yd47j|%->S6@9=Yh3S+M0Gx zyyq}*mrEmFoU>|O2F-8nufGqJ8LZ?WWjZrCNO{R42UU5$M~}2=d6vxRpm8%=C$-NA zh>CGJCuN2yxg}*jCpk!&CQuGiUNOl*6^?5a-+$xEo1<22n;6(2tJ{HJGEcgkxH2E2 z+>$bvlpLhYGAIW%%uJZR=jyU9ZAU(RFy_*!ipfcZ#a+%xnHxxMDPrLpgG&0Ozwm6z zjn}LbnjAd+r}d#OEh&@I$Su{lJ~#DmA*toIMYTG5=s)I2gX<1?hG&hn6*iiC$|Xpd)<^D6IhrR2 zDF4n(lGz=akh155+YiZThd^y%ct}6-&j5TR2^AjJN%5EJZ>8SyS~2sg-c7ygtBr=%H&vbP~{=9Cvyw3sxD~NXHweI zrmttNZ|mXGopRhrZb_L3PYx=TceKwpK9g3ioHc*!vz4`eXS&@Tm8kjhiAe?dzDGRbM!K}5%nB&Cq)f;u2Pp?Ca<&rUmaUsO&SP_?Tv%!Fp4|02E3UeFEa_&Wc~85vq#XB^ zTT(t}DhHK$rq!+Mr#6=Re%$mX)wJ$|8*Yfa<uSXYHUtRuXyFWOLxj)dbuTKdRaM0nF&@7Ql>(dgOpi|EaeiDSgzMwydi3!82J_;jfO1%o_G#dJy?UV8QW z!=lR!uGx5?f8>*ntL5O;yLRj@HEPi3q5adw?Ymoc`GoChn|%|?hTUA9yVSFKYipnu zJ*NKLw3eMuU4C(AtY`1ji^2kC&8v4}Ugcr$tX=E4T6UKw^xuvcXgl_MiYw`RTgbM; z+H<;Q_FteSZR%U@k-ke$Z0ReH7?UmaRNr_*4BGc^gA()@=Uu;tJ1Q4QP0_$M;JsL_2a3idZ+B;! z^51*(TGY-nSG#ytu2ap@@$*Sl+73wg=Jb2vPnKUiGVGV%*jF)eUhdXNbk~=0zQsjb z?$%Ru*O$?jr)bMvl0kQU8EusiZI$cseTkXr&qTi3IrpFaYmDs?J)r!)WgDIvdgm3b zTV6ovAa{KkZIu*l`L&KN?mPd^rH@Y@uD*OgzE8-8(F-bie9<82(X;&niud<$*O$>& zDbbd@^(Ec)Wwhlb+6uk=^rnH8&VP8Ic=;PI1-|b8(bnb99oewQD=Izq=B(I`)71|I=9iPh z{9-Gn`8rCmHd(H|`{=u$zKi-reJ|})zoCEad|U*HdZxZEpNQYCCxH{`-6Ql})UWIH zl6q;j_p@FX?R7Mchv{kNo!jrA*F|igaXenHS9GesV#H52j(h5jJHOvguUFBJnf=w( z>t_G4@$pF(yFDf$(OmgJ4|Htik>r#_dx-g>Q4SeliyIzePZ(;ir96_HWU)vG?p2F9 zY>KL@^ul@NLXp?cx$duXIoJD0_4!i$s8sioR!Zz3)hA2!T~b|~rQRefDXz}XXC=kb zLE`&C-yZ6f6dga?an{&`#F&wm*5!S_%Ri`)e;*YW4DYhI-+?y znzL6ks%BwLuqWG+QvahK%II$vJ&cM?vRmR~td@kK)?}kW@8qP|M0;#pa)K?<-rnrR zD90qm*%Dt!NE)fXOZ+yI4&STlKm3l(Ietu{eUv3J`8T}B5$EOunLQN!E-$C|CO(kZ z>g#(ceGk-k@tarwg&c25kv?RKEy)^dx8`)UW|mBCws*n8M%JEP_ebrI?QnH|xAO05 zUKv^AFI2l^oO8@5n{9;nJ@33ZAB(x)k+5~%#-!NBB-{O+U*c;75I_I{1Q0;r;S`86 zK9-+W^v92W3GdkSOLWI3uB*i+uII%j{`3`F`JzIrV3d`NGQcR!)%@xh^~a5}o>4Y3 z%Em_7)F_)9WvEfMG|DieH1iNXVbsn1g=QWD<7Em25I_I{1Q0*~0R#|0009ILa1!WX zeElHi|IPV!k(A7N{y$o;oAdAbms$_~A2F`bQQt*f%xXK&-!IqeqOCyV_%6NfJpZ3- z#7{Pk57MWZoZoNN>(2B4lk~dTzd6gFkZ6uD=#4lw^N5%+Ge;%NWB2F(&GC_69})Ba z@(9F(omccJnpZT3LCo$S^t_^v^Sq)twqkbXJWu%lJg?|u%qw<25pk*SnfeL&F`YV= zY+ct?73`QhDcyPQ&>Z)=Z&5V=DdrrV<`vChuzO*Sc|~*Z%Y2m* z0R#|0009ILKmY**5cmTG#5K6s{2W>S#B%^eo48&Uo47|)Y~Dr1y?fcs8z_sO8ql=L z#&Po&N|7^AZ03!y=6&;z6}{}Z|5JR~(5MF+rFrMQnSapCGicteZ>~cSVZ^sL%1EO$ z?`JTo6bK-I00IagfB*srAb{lkAjChPkkhv!bQBM z{No>r$p3Ghjv!wsAQmE*CnRoZSfzOHJFx4csjudz?)RQe#}6N+@YK7~OG96b5cp!-H$+G3 z6L;zDXoMfXG1Gz4Kmwnj^h=^fwN8od-;+RnKucK1RW_w5+NiL*W-Q?c6Rf0MF8cCY zElD;IiQ|8wPp}_ScBg(=q;T-avAs9$Ds|D@s2S`amUBPqSYym9Rg{Z^=p=V1A5)#* z;|mu_2`1vbxrG&^BmH@kt3A)`PcPSxar8vA0i*{{`2-V1{OtWy=YAqg;>$7Fd-1*x zA`w;pDm##`s?_cV`Ct1nITC%;gOg56y@kceazMV}a?az@6`jf_mwOTIj(oD{Jg-^9 zemtC^Uh@=bd5`})TJ;6o+5+W=ts^GPV+gHBj(hGj)A}eW!<2bC>*0;1xJO-q8su-5 z63CM3FUDBQx;vhKrZkZy+wm#DvWjnyO6y82*GWYRleM2LS^3FdUTnhDuOQqjPEq?AGVwkjhZKEqT^5QIA&gRWUb$P(hrS@^q3U_jZy0 zt}WFG-rf8I`P^zO`;9Npec8MNVJoRB!#aXbaQfY|l&|n52$*`07`uJt-nH_imTs_~ zaq|v*lRoQ~fTJek*~(pcF}g`^zC4x2_qZ|sUno*_J5ATXp+)8Nv!rogpnU#8DQTv> zn)+Yb5dHJY0A>JY0A>JY0A>JY0A>JY0A>Iy2DS#axB&CN690<7WQ5ZsHzO5puaurNvubI}hP`gT4p zHQ81w=Z;MfPfg3k5Q@O_P;BWH z@U5NZOAa(7_$i&ZC#GWN18}y_Vsi!q2k+MV#}Zt2(ZLsE&Dk3ma0;0!h{m)!HYlhW zSFe_|C>`9O<%}C%xW;zSY3_(D#jJsO6|nGjz5t`rg^6X@pT0&u9tU!@l(5n3P zg}%JqA{ENZ&2_s~P>qIx$RPqm@Klj=Y0575`jHLZa+%}d)%LQH4H^5m)pi4I(D?MOsu;%=(EGk0o^XH z9n+?hu|RWam@~pMDptb9A__6nr{X2%!)*PI(OW)CtesXk0SI&^Eh2>7d{sYwCG}sq&z1T<=4>@# zTX-3br4u8Q9=Uz_cyIMdy*9hCJFQtmKX(_Hb-YzPoX^B!3!J@{y*UN8U&EZ)xSm|n zJ8)Kn@@;CDTW_wxe)0o@W86wowQ5G4r%n22U)VhwS{(RU@S0-aZjj>z3E(J2<_m;o zK60tVfW`G{)2PB(t`=|YHy=;hFVYw<&K*eILG2}1rQc~~-?b+6T|{fOVvsXsRh>BG zGVtw3STsU-68v>@Gt1NbKh}N#`GGPe1Cg1+Nf?j`{Ia-)M;sFq1R& zAMo_HJ~!9bUdfQ&xS_*C$owVy)9wSZioh-!drgFJ%;O;%${8I!%UN7ylkdTqs@ZZ+ zOP+M*_zE6(8d~m?Hd~d@f6d0i7Fl8RBWzu?oP~Uu9O$c(%R&eb%eSfrS&6puM&DqK z45reO*D4?|W@W4MijArHt}j4r?laq1@;WkJ&G^~-8=aGr`ClfL0ILESE`)GG=NE~2 zf8IToeG6(1&krhSJ=`sM@^n~#>+?tCd6yHT&R<=*dSSLMR*_xgO}ky#gM6PIEx^v{ z`}YvSyLYHn>$dsPQGJ+yOCl>9!No#rk*6GMMGoF{fRvBEk zajxwVT8{t@pGeNx)Xe8!L!-a1kJ4>{CtI?E`qGfVd-X11-;Q|iP~+zh+N|Yc?~2rl z{^0cQ+_{!RYWAp{C?Cj?e194tJR@|2)9}LiGMi?7%cPs0Blj}~((UQ3bRt#dzbv&+ z##+mlpE>F>`R;*+bbxR7XmBjvFb?qiTKy10*wE%1@zXx`eAtktD zwp#Gyzu~lg)83zNuS~C|pWVefdi&`2na)1T@f;#L!L%;dDh=57*D@f4sd5MO&+e)I zAS@X4mSfLBkKqR_d7V-kJFHbYyMs!@doLMqzoi*DY3$>F%eOUGQ=#l>i!X413;!%a z*u^AwLGMxc>+3fZ6D7y^_D5`lPE#s)mj{HLk`DUbgm=jzuGjXZodtQCDEn1z3ck-_ zp;W+&V3W;vSX02NRPTUgRQI^%yrAwO5!@q;`n}qfjsY)93gsjOZ@RdYo-0W8(6zks zwW^PTZfY;_S_W`iP@Ef~`CJGm|NZvE{Fi9X?WfTQ3XBPym z91|43HQ<)o>}O^F*rsamfp`Tjwfu?u=H`Ruvc8x?!d|^f?9;|yD`qL!=fB#I9`>} zx4$fJS)1S;UV5x~cxi!qL%=DX~2<-W8@oCtTJ@ zxs3TAp1duZ>aG3!LFfTNunV}r48RP)48RP)4E(z=01j<83obzNuS-q@U$KFQ0(c;E{)L!Sb26g^sn~MD!jQXs>hIh5PGz1NbMBMslMP#y1vum*$>`u&^BJ zxld*Cjq$*+)@UTvvH3|#a6F0E1g8%g?#w^aI9Pcyq}9W&Tn6_u%JwRRIw zpJOEDbZ{=Jt-BP;@VWmQM+mFRg99NN70H_VpXW+0hW784pCOC&mbM{oT5Dq8@8aE< zphzx9uI|1p5_w`l?aPA{1$!Kkucxw%_Kd%Jvt#$tRkjGa*LkrfjhPihN0QF11f4q? z5Rk-lL4riC#8EF(H9pUf>kzMVx@NPZr|j?)J57NQ%@y6SlGgLGR>v+-8H7oT3F=iw zW;=g;Unw}pLYq{@=?RFwo-B9xGW~=*%dOIh?S%W4PihrUo0})=SZ`%TCeP0kMt*X% zuMBZ_c9b9p2SY;n%Op$n$OrWdQ#B`R+h84n0K`$CY2dVT~MNL^*1pGc1y{Kpn7Yf?h z*pKJN>ALqw2`Rp@I8BTr1#Mq(1SqT{E4s@YP4&gI|M3ZTqjB z#3`MBws+=8+0ZvtJQ^+ri=%Bmw1*9BJ`FyTIllY8oy1SiT}(Uciu#JIW7-nOckE-$ zC6wy%@ntxt&?D5BbL6Q!rC-3ovGEKKpS(RBa|<>UwM;mP+@vR*xN>TTT1Ikq1MM=L zmH{Nh1LW)CV)L2V_|Hn(&P+A85hn!vWO=iA($6@%U>`+emDkdEiUE}-L!vIvy|yFA zA6=9X0Pso33oqK9l)ZMVA4ksLQ}Dg)ftg@&k)926*<95y=bCxzfDCi+`vfj9126+H z126+H126+H126+H126;svkZVs&zl7o*!eHTdEhG|@Ib5|Bg$9s*p7L?@%?su9)c4g zxEF%y!14Zec^wE2hu|g%CIaUJw#y@I1XZ9Nx+B_QP&OUA(T%UrO%ovX;3DioH)nxP z7qYJ%h`!JbjnU~s_JxP&3*9Ifoi1cw_=vvHO*){{h3ty}(HFWI5_GzdeGwx1LN^dc zrwiE^5uz`2^B(AQA^Rdm^o4GCjZPP`FA_vwXG|_oSh79J)p^8qckknU@n?HnLwtNq zdWYr*6Sy9x+(4%b*%y3*8Gspp8Gspp8Gspp8Gspp8Gsr1|C|BPReZBR$Ny~Lf4%>x z0%XBK#&+BQ!3h8V?e)VD?1Wsu-|BB2f^UOP2;1f9z)6Yi_%Q?@1dZOR7rS*feu6Z~ zsO;UtT*6)}d@9=WDt0>MOA0tXYi&18EZpswbOEs7ApU^mx}KUMQ+vm{gDJn~VdLlT z*F=c!zWgM$2mjFLwxbLej?Rji;cn~VixA%3u)JyaD@TN#~tIK@Kz_AJz?-i zV(tLF7G9U(1sx;t&jj=)eI?rBkp;Y;zGNulT+@Da25aL8=bCgrk@zGe1ckdA(g1ox z>g#8I*Eq?Y)vu0zPvD6)2-B=sWPb_$K2xUEyCNRGpX{!rC~wNHL3hY%Hz{9e8t3b0nMc z#sesR*EnUKh1QLquab=_EITrveNBY5aR*9l0xP~nsUEgF zRcAW+ncBs9W5;hBXD4<*3bU2j3oFOoA5o_ZbS>858 zU#q=Hb^DSGb7{EO+|pi$-!)EU*wL=Ki^Q>j^yWR+9|YVDc19o5!WUXfl~RM+8Tp&A zHg2k_Joh<4ni!jSZOMl>w_kMbH0JtU<1qLUft$b#zzo0)zzo0)zzo0){MRzD6;kZ~ z>iAzRW6$nNYaUjG_6W7R-elJwQP~PNi5Qt{-@h9cYKkL+_0t`V*}1O%g%9+1#C3e) zB84JK(huYO?$e!?(3kP*_yX&7G0j|)e)o{n!KLh~6`3x92PqX30S^|jHtt?7u@bIs z(K<29*&F$xWio9~neYFuap?A{V{IJDo$q0wGDn(LM%}CH&x_h0`^KHxG z?=pvOV=~spq1*=jo6MO9Own7ANvQMos7pyEH3Vwwe=pW2G#cz1Gx!wmkU4<0ab2qR zrS!>PNnBrCF|>D%<%x{N{q(!cS&jyVQ{SyWrg)N1#LA#{*R+6pqQN(AO}Er1M?{FN zvHzZ%^1gD$rm?X*g8%Ukb%uJwQ>Nckf7du08J~wcMOyUzMmdER>Z^iI?}_H}=I$6| zIQR4Zo98a)v1V>KoIF`ahycfI=SSQ5)YdVh=z;UUYn&}7m1)3(u}9vmPUqQg7iON? zK|fzmA>+vqTltdKpNa=-<6>}iWY!Hb&dmm%HW$vpvjqfit^aS;3nJJ1x9~j(UWH&2 zL1x^FSC@xlBl!kJv7=xN|MZ?T8o{e_x3F-lFrvIX8pEm$kfZ{%mCP|vxRS!#48 z>tdUqvA^AQs8V#{?XXsgGMFA@)QK)E9@a`x2H}G!6}<7mYri+}RHcVuk$h*OT5e6= z>0QGS@$psXN!WLLzhdp@-TV*`gP&?diM#QkEMD)C{_U(H_gY;u--2M0V@v&UB~OnB zRFPdb6$DVFE&z(E!4Ke{}H?v3 z`~!j!@&C5>uM5F`5S$Cay%0C?>E~|t<2x&O4*_&T3DnyQ^2MGbgwc(-h=`jVsIJ=5d73+< z4cW+x?s~ZYG4Mj|Y&t@iaG9cmGIZhH&!G~XUCzO*SK5>OIR7vR<5b}CGza{xxUCv*^+b7NXBq)HKuM!le9 zcw{y!Dk7EZ{@6a@=3Bb8#DSJGL{#knb#e4`jAMMhH{1RX>TiCQbODVK@!t``OI)pZ z3hYsp_Jp!!+T@m1GV3;YqV7e>T^^5kGi%Jh?!m#Q6wWQF>~>#CJ;8~JhB4CthJ}uQM#!_m#Io1gwZ+0pq#0x zSxweP2&0=9qAk|aiVK*tC^^RIc3sk0p^)*2DUj{9eiR{`vwSW|K$aq-I=#oNq%FKp5XjTaSU?EBC-N9EduIBu zW9QdP#2v?WCZ^Ysa~%6xFr;mmsr`jTg?To_qC3?#vbE}{`4~H z#BVLmD|}(6fFNbod4%TM;&F^&Gkavrr){c9oOGZ2r0jp{xD>Xc(s5e&qQmVP-CA^fIu z;1!aL&@*wNp2;BUcyD zI$(fEEd#^{Jsgo0ICtMTjk)YisS#OP)R(OO1%1bq;k~Y@KXbkx0vhTRQnF@$UglmH zv!y+JyFObNAgHMFLI~eJRZACIpQHbDT@~Y>D}1kPsP<1c*50|~l(jDb&|Zw#OhfRMZ?A-htP>|bZr@=q<*&>}s}i*q z3UsDSa-YefG6?UZOteb%&fqOV^Y;S=AslkUBCCWe`kj5(1hN)MugJYUS?l$FPn|0-{DwEswoDpibK22g-FA3lj>ukQaUlFBJwaoHX`t~$AQ_XcS zP`^9cW-FoeUN+`Sy*c%%K$N>wekzD>hGIcCQ6Yaf`V0X{lBJ>hQmFM6!MZ`IbP=Fi zNyGS$G0QD%N)8#N34xQ`Jnon z%%Pi)z}h&Jvmd`}oGB}FZ*YO^e1{;5A@j#LQETP(2$Eq{waV%I!h(7utd0BTgyVnj z^p}_#!f;yFu9GhS>j#p*dt1v5geICqeW?$kt`%K=Hgdx?KmT`)LpM;u+BlTMvfsR|XcMbp8|MUN8n@px4&7`3 z*36-td-zS`(2e=AHV)+s!*3dg>6bO!4rTym0A>JY0A>JY0A}F7jDfAF|G2>JfAz@* zPTsSDXv<$d5P}g)DckF{!1ep>xCnyj!S(p<^;aQy2!d6?_4V!TvmtmlxIVtU-VK6# zAy{FXe?I`0R0!S)20_@~pCbf!Zo_usud1J|l~#^ODc4u^8p}wF3GiUAH9(c3OJ9w(Qk2QEA0E?Odn^S1XpGZeiEX*;rvzlBk@FgdUeR^JQ=&R1fXk6KhFI&YrOug zyBNLYv&7nIg%k2>>PYcFPVO#bMhj6v5q82xOA7by9?Wdf7ueBvy60BKs{C>%<6Eq+ zv?rZ;cis6>_g5K|3vn!QloYOpuc7q1=UojO5VNP16PUdG`b?*EF2y;ZPdjIK(Z*QY zhf>8ztd+*MuqxhZ*A85~bLj9fFQ%`%{MYE9O0V3w@l)Ql%9~JQzsfmrPln`+0WwDf zq_18euVCRldF>|FN&W$u~r(x`lzH@LhIw`2_wXif8Du z=5)om4}C)AjslLm!gTp6Z*`k*OlV`R^xmN_x{X3?oaMLsu6$maKBuT1lmJzVZk-lu zr6^a0As-oZ?gv;aMd|DSRf=X69&4p2*Zd($gS(@e>1BmYOqm>9s)Q;9Y|E`x?rPZw zb>HldO`%#8z*^~uNtvSQs$iJ6{_4x)iHV<2o;mUzdQZ{$4`HnorMD8~O3@{&-5X|jL_;~Fqh~pbt8DT;I8!xS?rF)B&KzIC<4!}% zebQJfJvZ0aUdfQ&xS_*C$owVy)9wSZicqEK98j>{CWXq~1^O%V7p`FdGXOIHGXOIH zGw_cxK#J6k3kd(q4oZmsyetIULhwTfu7==Q2xfu!&#OVOI|M(5;CB$b0l|C_|9Jxl zz7D~K5Zn*JWZV4f5hO`LuoVQ~gWyUCo`zsXaDHLCf4?dOUxwgh2yTVoH3;SfgFI~S zUk`%)Avh0$KS3}FxM^g2f8r2)9)j;ca5)4|LNFcZl(N15qY&&2!3hxD1i`Biybql8 z+TQ;u2=?8EJsX?2rCsDN=X|t_n9d}9#HAMZ8qhMwXTbsA2=iftXI*3I3AII*cj8A^ zXfS@a!x!dEceE040SX0^s{6i$S@7+%PbgysX*mCIgeFJhkz&#!X?~K(dj`!!L2+IND zT7H{(Ae*O61FC0yBePt{rS_3dQCAK`4eZN2dFLx(3=e~MHQ}9|A{lEU9TUSZn=iQF zToJdp_cQ~D6E&4bXx_L;!M(OBD1BVQsRZZsE^C!_m9(MKwd{^SV*(tuJJ~4b212hy zt|5fc%|xJ#>1ir^8?oyOKo>z2WuOl(7RAl|6zIZ=pbTW!L?*DglLKAYJd~3#cWa`f z5oV*C@`>@YJkEV*W2ci0z80z9!>1i3hC%@Tdyip+FkOoDZJV;${qe^}SKXzP^(C)b zSP3yqcTeCX4X<~vucDmj`o?L^fDlGEt(H_5gfq)A&?D5(YR-M4J?i}_Cl0{xz`Y2B zFzu~FqpJIw*(6I&-F6x6J0WSA_2lRij}PAUl5BLTraw^5)n5uy(N`$piNf=WqSsh{empNtxJ$duvs4zRU`O$X;=@f%z{}D*qX^;Y zv^(R+PYrk93p^2P%qOgzmz+&Ry2^`}bA_j>J9Vf5WptK98I;!%!suebJe{;HEjMSg zU0;v0S&w2j`@To&JW$rsD1;DxH$S6Y|4q2!j5Kv+ElpJQLgB5X0FP6MPU76bA8Y^kt<* zgS06#q~G#%a|&N>shGGH%9JE_%xj1&$pE@&6DSj3(CMsDAcU3Cq}f0jYDn4Yl`ldV zU0@@WVO|YFra}?I=z_|2JjgD2NwQ3LB|z~=Ymr!~9m_xn@bO(kH$s@|43ABy?@&RS zcxNn4?Sp{VKMvQl)Fdd|N-ku{TzU}NF-L0hb#70L zu%dLg+wYV~i4aET+&7+782VhPLz|`G$yxndKzl~5WHQjxK)Cs(PkP@hsE05Xc(+1o zKqeEMd{O-4DXozu6OR~4zm|q$GAP5~iQ zM>m?rjZ@MFoSW`2hSLIH8T2;yg#EO8Odo$TNPjeR{1YJU?5z<%sPn~(g%p2yW(2Rk zpc!TSB-w^XFA$nZjTvpvy%vmVGHchDsy|&Qu0@v1K>d@*DrSRAM=4SsrRU|tqdWjY z_yrn2&zaNnjA^6ht~OJSl0jrl^D|!Eb-**WjLnSXq#LKqLh~j9Dn*_Jm#Z-rJ2T*C zXC9o8j#~)INK0~UMVZP=GAV9T7+n;kMP_b?_p!P)IhW75=$565x=!j!0Ip2~n~xPA zJE9oBpE)r}>%dc4xMF#(pUWfM#GbJJ;pe@8CIRPhlq-|^`4XGI&*;`cL0aH~9Rp;@ z<~RU2NC%4$cp%0`;E-&yNP>S6nD-9|C?fIJyup9C-(11MC^gJQKWOON`MA_%TdABo zHbFqyA?Ex4;fM;U0Y1SDzzo0)zzo0)zzo0)zzo0)zzo0)zzo0)zzqCXGeC~)5Esk< zuvOT=7l>mRJP?H%oNr8Me_xEB>QK;|Jx)zj3)xh~ozmw6WuwS?g&6e52Y!crtJfvA47dO zh)#ya1p3|T@?Niar?qM~bltenz7RBjse9dTP2eH(qJ!(^HKB^jpt8rnITg%U62J>OA>KA>-H_R}(T}?y|{&^^f503uOE6`Cs#Y z!a48Y1ep70w_o!2R=RaL;G4~hiwMmn1|PjF-k&_F@=)##KlhO%>xJtMA8ZTn_6mJy zenXr#tW8(M^`rN&$N8&Ap2u-jJh{m69`F80e~Zk_g^PpLLEf9@(-M=)6Eg#Gw$}1T z+RFuE^Lx*xp3kTnx|z!=b?Ks`FS{p|fkPV&xz;!(}MW*(Sbq7;^ z&%?&g->-=f-F^8n&Tqp7dvr|$QjO~(%(rSR0d z(o2KbssI<50hj@p0hj@p0hj@p0hj@p0hj@p0hj@p0hj>@16%9zxB$byY7%k&7}IaX z|HlUh_iSM87Pf`pRtOdWLkVne9|ghd5Nr-kJ#24Z2f_THoBH@#walKOCRS7d&On#4!u%z zQM<5KiZVtRcPPKLjrE^w~>LRAR8Qgm@{uvUsPst)8z(S=vUS}Dq4j!>m(eth_g3N-a=(tLd^ zjmlOFp8PkQ)^FPT^X--C)%3$!>4oH0iR9toW8`z0wp8sRx&5KsYEXKIrws1$eucx?(B)`My<^fKq zQgk8quvUsPpdaL(q6@W&wNjLUJ)uhbj>TS8QhIUrz?H=*?FmD=meBgd3mIM7iAKfA zCXG^9D>aZHFJI-D`>JYvGw)55p01T99vPJ08KE1Th8ND4*);20Cf)QLxt}qRZclHe z6R9fyWvP8K7Hg%}^09YCYDIr=`giVJ%ON#;R8I6uMpATfW3g6>GNuxQ-X*S9JO%cs zN_#@tGHr6pDw%Z~JW=M^DE%#^-yp?f;J(`Ox%)c{QPD1JX+5W*ohEV4?tqTktfO(1KL^orculeJ#& z2bI@FZR0Io{-Jbh_anZ?n6oQ)bL5`%^rr)#ukY46nnK0*s;7-ia2L6je2fi%atCQ7 zP0KiF^90g^7F`@otm#D=wG(nr(S@JGS}Dq4cMzrPZ%qOT+WLb6DTV2@ORgVY>Q0Gb zHyrnqVv&1ZM@>?IwNka`(f#|nTD+!cn}szRCHV`855_^?Na#ZFVyzTqz+cFfZoK?i zA;R6JrF7=dxK)7BSC-M^aqDCh={!eOs`fg3&cIr!ey5dv*P76G5v|pVLC%y_b>fiA z&?`lL65tce!2bXPTUq~b!S#O}q&|7@%myBa{r-p|0#>kr=Pk^G9Pg7OzxtHHNrbI> zbnE+Ye1LzC_yFkqI0z8$9STQ!GxzJ)Lbz~p>0(MNL)l9v41$=9xc9BZ^NJcKk$~?z zp!_U5)jChuWdP@i#hgydR9Bu6(2x%B?H&z|#RCK3LL1Q*YiY#=%vqEi z<8-?&>8w!5c*OLVMkpgrLwiCQ-x=BnW!eB}BfE=t^!Cy3Go5{w<2gihf@xi@Rr(j3 zFnKrxQ07N~szVuD8rlexfhusI#3r!fTa@ZyyHjc#qd;r()TBxmUuPmFl%u1l-OllkE4u)!Dd`Ikm0!w^H&Ve;Gx zoWHtq^}=jjtRlO}n|8af2l+lbT7FT7$+JG-;!=99Ak{*+)jn5bPm5Xa(VsjDqy>( zbm@`QQc{KeJ&|6`^+TKu>~M2Hw~K4XwCQB*FFj%OXpBjgNC0K} z66n1{8H^m-2xZC!Xd{$y;GvBy@83Ed`DVuR^4BVZ>o(4{Jwoddzfgclwod?MzL`gcB z?FHJCTWYhPmHlIzs=){16}Z&$D>94*zcfM_7a!Ua;aro>Cla58grIO&LmEJDNPYdx zFFm2mi~{XRz(JFEaw%28zGRX*39VS^W z0hF=1p*>-;{sW-QrUC5qOt9Uq{iN*F8#xa?$2IL~eEbg(fxGHqu%{|SLY|0xCp!lUH zlqo-;jAJrG17Nbg24IqT9Kd8L2|$?{25LCU)JV`qD6<$r8y#DqA1ayS|5`VF0@s&j zQg_CNVNu|tY`1E+>#S9}^)Ks?fVt0XW6A5tcs1i^?{9QY zPUe4^RQg37${Zk2bttopKpUY3A}FBmA|S? zZr5{0sNMQBiDkXyFFYAnlg(U+TJcrPXp@W@Af>HysOf<=LJV*bCGN(DvUt5m`nR)+ z+-r5sd<%j}jxF`al{`HjP(^m#RB&_FWQnZHb>m=m%^;z{!Wle5Q)Q0}q{+p$$HJfkk8h5a1(IJBl@mIiX%jge=T@~&5qqT|E}PtjLSiMkKN62g(wYr8c9}OMPE6(V zSFf^jcqa$%NiYV5@pOdI*ycQbyg6EqimkExGDdwpIh6kGREYi=z8P+&{o}l5^&UHJX^UdFGe@X&6lUr07ccH>&CW%NnT{oIRY*)126+H126+H z126+H126+H126+H126;s?F>*OHEhrS#|HjyYyZDI_!@z?`~9 z`9Tul0y6+J05bqH05bqH05bqH05bqH05bqH05kC4%)lOG|F{6zzcjUhuh_uD8~Gn& zaAkQr{sO^n$o&9Y?eUQN`?v5N2xb8niMRLn1cD`y`}w!zYasX}azFo8{bvZih}^%A zs7IG?0P8J07fn=awEGPq-Cx0bN&r)UT|*QF7z25tj`dpu9IM@!8Q+u^y23 zq?|Vd>yc-4p84R--7I(-HIi-STx4%_3Mz=NXW*%6e!(B$QQwtZNR`#qD-ww{a~Qdx zAeEy#5iV17P=+qN`#Dsiv&%V{^-6n^=sN;FL!p$5b%Dy_zE~TFk>4yjtC00O?+229 zEdM}g=6b8r=8Ulq2WeAgNWbOj<`ll%QZaEYtc}CS>j*>RNI63N=2Ob28ONR$ogdc~ z!CSiPZTMV9_I#We9}ck__S>~FawEmmIAccJbFT$sn#|hurRq-?iffVOGEn~{vWnT@ z(ou?(H|qam=O!31W3xo|TrDK03Y3-YmNmXDf6l-*7qSap{Uq<&(=>G?Q+eG7HU{2&fc!7F@2zSnSMzpPhMd zLOO0CC?hS&wH0gTF!CJ3kh$GE)T(vc{OG7YOh&K2oni>1e>NAn@7rhYM_F0tA2=ur(WaY>hp2k>mX>TnfRg$npPHeErw)*pi z;6VshfyDpIg5X_{_j^yWR+9|YVDc19o5!WUXf zl~RM+8Tp&AR*K1{WwnewyDP1ESQXkM)b4tdU4KMnE8HYvWUhVxZdj-(4)((rOm_Wg z34Ix_jxVrY7t_o&>30uF9bC$;T9N4zc#u*t5%6FU>np`%Lzgz?B-hfwl(Xq`oE(;W zCOU@W${)&aQJp&Uu45PO>q9(PE5&3RjxO2$5FwT398&yLrq_K(#`N+a-V@E`&D}A`aPH^*H_u(pV|}HV?4z>fq%sY7F!sp1)#*I@?ZV7c zJLu;NDr7tvVk=+L`cq;5ImKj$mu-^S@*1&0utweD_u?NM{&T?+@)4c@Lvw;Sl|9WJ z?4ws<62akus8Cr1`P-c@)P-ElpQMO;5h;m8CMLJyN;8fLir>QijfBzW{QvMrAFhBI zfEj=pfEj=pfEoC=W`GuX^|-)RhCcx42mi+g9$V|{cF6Jm7XA*wH<07|t$J$6dVdlG z3n0huTkXprSQWC~-wDBHkoEp=5bU*W{U5vxfEXFCAEA#bcR>H_p6U<6fL}! zFRBOvzQ>KhoBd~T=2aAwBKct|b^pPXHuZV=N>5pxCm$(f9Gl~6LMF^zz&pEHXm1@F zRo&OjCRuXow##VW2}#SWCr6)neDJQ9WTQ(p{ed-e7zNe%)6TzrMVBId+oo)GfBdo0 zRd?xReaWj9RzeKZ-4i%T!|UDat5_R{QGCI_HR;bvdWDfD6NyiE6)*ed+QhIb>>Mjd znDv&Wm~T_AC?(0Pz}h&BV!QmQ|8HNhUfcPJ$s${O&WBGW5!gfI_On#5$NhO%!%&oR zxo!NRok)Lxt+xTXw+lw$qyN^TZIv7`J;~lrIt5*{m%C0fMPD_nm5<1gbKp>|kk5*? zD}IbMa~MU-+h)Muz2r1^OBBo2QF_t2;8{On`qe9NP5!*bV#JORF?^kL;$^Ij!ziBC z-&wS+j%)BhiOh**%hOD&0<}UyPW5vpQX*mw${xvF^rK(JZewj6M)A(J8Sr;6_bmoC zKA1m6IFoA>Jq;Y^E%wm6zfe;rMyV-Sw!r(S1#9Cl3K{x$7HzBBuVKz?Tu(0P9XKmO z`8Ku7tvAdF>WQPS~a6itc}Ac@Y6N}{_Z6oxm04n;(E1dRN*XFi?{Zhk03C+v)^weDK=u4LnupVOS*JnW&aqlXrU8a7283)p-*3 z-QKTQkzXZS;b_o>i~qgU9>7%N#u3|6S(b@&4~J_rH3)kLk}G+zw^{W&maYW&md3-;e=% z(-``<#a31q#05`x_!>;3qU_5HgL%nDiW&w^md zZR`JtOMC;tr@%RXHt_#j{s{fs@NMxp#;}<^GUn4Z)g(^3&wWz%KXqIRTT$saEqqbq z)^n`aG%!jLg0K>Ua{E**U1)`dIbryQIk%oisVWdJoNKQ&pigk_E=@z4HrB>rlwS!0 z!w^k^yQ7-vWra;lnH*fIgenDW%dJ)JYS{;M-|UY~p;{Ec+Bl4IN?>SQi0<-*yuwd= z`Bn^_BD9$(AeDf#bm(9FB>_FLH%PQxh8k1q1cb|dA;S|=l6{Flw z7}|&~tp?W445%DvX#ylRPp`6jtvz*0MHu)Z$shTbKwB$)=j<4Wx zr=jIOX{?#UC_@#7%*6*i9FY|`ci%XTx$I4;5m{Q)m#qE;eaDpHy{@T0bG~D}c8f_~ z5)5qv;*0Mqoh!xFtH;+G3I^WTpH&QLS_M)CT%NB>3X^=HazjR50DlBG3)+acD6@@2 zJ`m_qmT$cW68QXUX!Q5>QMxVgWJ`8XUm6m4uiho>+Y#>_YW(~`8`ifKqeONXQkT&A zMPlBccaLS?f||qgg9=&?cT1i;9oFCa{1JKH<-{ngjl(E^5r)P+{)T5CP@XWSYTS1$ zca%_K7mwAs+$`yr`nT;Bgd*@fur>~(L`E1Im$Q5>NkEn&qdL9EtfVv_=gh$f#;a03 z^=Zz2Emd^OaabFNQJz^0jmzE1$5iL{_`*d}f{A!5{~!YlNL{!9<)2z1;o=2=;@F z|0y8j{a6U*g^c%~LGY1na!Gt#}ITQI+{}E zQgu5`*TA7g<@B?pabTc){y`~e=I?%$d_Q0i!XY;-vP!t3-`RIfAZwBIirm|iwO;QB zmDfdW<1JqPF#)zU1V=YiM;&P~lBQ)Gyp8Ob z6CmyEtr0+|^TmsW6n}VT1h2lJ8EfOFUGiKC7DqRl#*I_b2ArGjFox6qu5s&cO#%tp z`hx-~h3T|Qt{-0NPKjbS9QTuAk$YZ8O@e(~2({%ezp4H@!EUnQ&7>vsD0+E z2~oIxnF}}a2z32`9XKW#YeIJ0ZEdjq5D#( z^%cRoL8){RsL~hm;*Pt4qn1vB>1W3@o?pTzW~wxw&=KuFs#i;PaJ2?&r6gzR7*C9N z?5<0z$CLTs>af8V^7$8~rmW1p!3DDO9fB-|%pc=Kt(Dg!NQPC_DyQ=c3+j!qR{G5e z$N%2xFEKTQ;k2w>Ctm>84Ex#heXaK#^H=QF#Hca`r_Bn^>hZWGC z>M^>CUs7;6(+utvC>umf4X_8UdyN9`iy;k^C zwC7dqbjp_$aD3Lbq|>`SVP%s^p;fa0hf9JIqy#W{UgSj zFH&(k$0r!<(fK1FX@XBM126+H126+H126+H126+H126+H126+H1Aof^GqM&s{@;WA zeu~!G-cnEbxC61h8T?|ws=!<7fA>8HZ>jf%x6}i`bv-pjruL3?2UC8}!^Y3wuZa-d zefddh5B{Og%RB7I*8zA-J-nqJtFL6ZG0XtW0L%c)!2d}GSdmua0$Y&)03Z*1EJyh3 zb0X_LK`>(czr9`@g3m+n9SAOm;7JIk1Lq62_kR?Eogp{@f}0?C6@vGH^9|ekKLx?Q z5S$IcA0e0!oS)dgWymkPC@c34bER|m$!!C`w(2U4HLZRlWqQN@~J}1CT?VE z+BN6YH6p<5$9Go5&=Z%BRp3_zJL_8b#oBI0HTs;jni zp5_i|LpJiFyB_X;47^Y~n~sSv%8k%JpB$~jL>OhP{dLL#JxqjA#_JvBp3uQW7-f*N z#)$aumBc?#M+xk&Vgy}?U)dlO> z**_dP8UBL0z`6DdRUwe4nX!P0F!OAP$4g<4UHM1Eo9Y|V+6K)n3IWgEJKHf4<~WnW zI;WAaDDY9XTeaJD)+*h49Pm&Y7so^xWs;5{W!8C2gi!|7?0a9Ego*Hh5}Uw^Z&9j; z?M~I1PJX6#ao*SgMA%O>VCf!>IWnBoQ}+fm9_aRQYKG=PGT;1^7UQH9zEsNNa81;3%uetQb< z-xuSjIu!I~k5d!XLN--#r}X(i*(kDJAqM?1Lb@PyA<5BY#y}T1P{uY%W45KBy_>{2 zN|>`cXIP?l4wxn84#VWiQHDyuDb~U0;~^I*W^s>=#Z{pLZ|-T1WK-UF00r<nZ6Npo1iyyh83<~6y$sP%+9~c2SM;N2p)o9O47f|%ObH7*gwh`>{{md zESNmKq73Ob^#9oV5_qb*w(m`b$QYT&5Xwwu8ImEH3Ymw5C}T23Bq|wFhR6_-d8P;v zDf3WNMCJ?`GKPrn95>J7-tD_{+|T>H_xHZvUccWyyMKFK>stGN276uW8l0#3(Gm6* z-0zd7`87X8CV8%(0gEMt?)E!?B8OTK9bun6+!sG`8-0?Kg z5r)jq_q8ql4qCzqLH3_X18G#UhjC+WaGyU=)F=lCIxr#37pRw5kcA8cjmM%SNwz(uj{r=h0;kXsjyjy!9(h8%@<1K?Hyl?|znJnvMz!gxidg+6X@LOlf@ltX8q8eJ9p3?p6v>tC;76HBB zsStF8J0i17Uf?fLUG`JMVCh=X$uj<=5#d1W&Vtxj+3}VvJ5r(Yxn)+m593A2AH2VE@=SSRL zrjsnhF~pG&yXe0H*s}Zt&=LL&6jyv!;i4Rpd~_xDx~t}w1c@x*;K<=a=m-yo5+!Nz z;b5HG_sM2HrFGQc;lO!7IfNLk_ZhOPa%~}2C_0)Uv%DU5%pgHWcr39ne3FvOXMe9d@%Im73bz@^!826LaQ#AGZXH32+0qK)HFVWFFRb7$$94A$n zNu;*q^yDih`EdP zl!I6RA>I6pXICBYj42%x9pPEdw_03N44;L32n~<8(FI(|5Mc+z664SkUZiKY{}8MF zI_HX+vvyg^QI`pAQNX2X0IkQGB|99|>}dUi^}4Z#Ywr*-=j`EX0Ce+3(Rw~uUU?($ z%KchI%71_)d|0&4!9%Vd5Xs35Kx}ve?{%tbGiS%lMENfUQBnz8XmY=C5qx=SPB^W2 zUZC;hXH=WFh#~$98uQi|n80=>Kmb5~hjy;NkWZdFF|z*OPOJ#R&LEr!!Yv@Y3c?&9 z`++tH`+{&T2={<69>`uG48rCh916lOK=>;NQ-bUT@*wO8!to&7xP_Cq-U~O7ec%ZQ zzXM@p{KNM9@mqfY$;TEMEsldKSRdv#Djgjaf{Y#AM0IOP8or3V9zI4u^jm)b(YYhk z>R6rn7qtvT`f#X?drLG#q6#=ae@$1wxUTWi@VEW|xJ$$xBq0m$eh!srkvau2UTsf2 z`VNOnpD+1Roxg&J&u{$!P^Dr2tv^7p_R__?!p{e}mh~MGYe8Ze$0CJA+ZXhYwe!#E zg$d~Y)*k>>C4t}i1E4Cg_FI2|=1VGW#->-ivx)3GZmBrMr#eWFPDhvya7ghKGuEDA z{;fX%s-%{`^#@=ZJW?X5xny~kZiT0okI%7w&RASX*j~XsiH&+>QaBK@RP?q#0IGTq zzx4%^|e@= zIUC^{t%6Fto9S38YG1JjI8Ko!6_RCj_6SA&)*k>>3eeyB1E4DD`CESg1&)Q*?%4^? zrfMSvI)x_Aae|GfAK0%Ej>s-K(3`&6`&)kiRJ9|1>koh`q5W_D0pbH5e39ZYi!e&1 zFMCsJK$sf+HLHI?*CBcMpi9cnoFBjS2M9bQ(zP#zUXe+*S}6wp`<+kCb| zRp9iu&ICiFJpHb9d9RkeQd>0|I&WQUUkI4L+_mnz#`A!F(cXpNy;8r#TZx97ip^x- zOTQ6V{M@sbX2SNBwYKn=a#O0D_~Hn8vrDaoQI$a%7) zCnu=Z5|6?zgN_k*{3*RQ-Gc{szjY=+RpsHg&IIxU-YW0HNfXWF&r;IiP#qIi`M%+k zgyDFVdkt4mk{uFQWH^Kc#2;`{#@<#RmsgA z$R4Cd)!exoj0V-WJff0gh?Y$5&d@d<-OJm75#;LNwf2}w8F^m|N<6sN`@2pBDP9gI zV!Td{eSu0oy+@K-lvPM>pz*zelrbBXPiE!a*(v{`0*m+?(|j|RYF_t5lV#XM@~sZ_ zVju@W^%S_t0Mv7&k2}Gi1E$?`7;Z(sF*t=W5GWygRF=TNkx|$uG75P&|7zHpiC=P~ zAB}A+a(Ps;dqZ6Lb{<5_RS7DE6}Mj+V%AaAwD{Eg4T-kK4GJ?@rNVK<(Bc!ngakRtMto=^nd>%AUkQ>P>->{%^ItJ>n2QX`7EJ!T2>QWLmd@=$Z^2+(H9Wj zE665mtSEGc;XGHt5Ir!hfveb_(xv})|#uT%{Y0X+x)^Ug9G5zkkFZ{Xm&ThwnOz$P!HqIDg~h7|H;eZOS7R@#yL7Owhlu{s}~DJM7P8c>R<5dTck zoDvYYhNJ}Bu5IbK)he08$MKs15n?yGT7@Pot^L(0PShn{3hUIkV#(m8ZadRrm^Kl0 z`rG$J-qPxZ-03}KL1y-To@TNafIAu90{B-kDB=VtQvecz0#EJX7M*4x?d$3~ox>vr zqYC|lM6RZ{a_y;w8TSQ*^f0qLS$T2vo!WAVWo()O`5_GCEdJ9)-(UZnfMemIJ^{eM z;-5YNLX&5*3=WLFe6wf&_iIdHRIl=4jT6Z(P5T$vSWE2$DupNlG|~M7uP?#O`McSPU%FQ#%O%FjwKX-&^JtN-anXd9yxue_4O}lweq1n6~S4{Al+8Moi4~!7@lyR zco(TE;pfve5)_MtaBu>5g4|REcY^dJ1b2e;+XHukbO#4_vb}Uq=MeQFli6oE9z%OI z>DHxNC4QMWVkJi{}(& zGrwx173I!S=j>c+R*>SZZFzOF zx|f)0>LA`)`Y$6vdfR|Ug7j?xcXEF9?HXWnp!EA=@$ZS1cHu%jYU{tKgLHZXkEDE} zuuQnCC!o*%_JDRL+n#BYiP&F8(tU4b*SW^`Lr8t4a*#E79R#!kIf5P3!>Dc%-7h7x%%#gko_`o$aq5V zNRSSW;7)p?L=`J6bCXIJZs)y;*3q_7!y^1eolcwW=)Kmgp`ZH;&UL(%JC;w!VDn2S zNQX7BI!L!2aHkHaP!4b>$WS|QCrD>WaHq?9>~AT)oHp{lamS}MS53C;X^YPM}l;71a~s` zo^3376&0^y^z6f}_Y)KOUnk^$Q3n~@0Uil5dIa1F()AzQN!G$3<*u`Cz|gnzaVbeQ z;yL%M1AdtkWJo7?B*-vEa3{!^8E_{^zcz3uqZ-1Qi_yzIa_Mbi(E|jOb@s2j!4pR= zaFH#l`&uCpnZJ}&my}VUjG3OT5l5hX;Qg8oNrg9hkE~WV_Xcx+{CF-^hnvo4%P46> zjbqbrcFxaNi)j^O*cT9bbTtV%m?Pk~=gpO_!k^18W8XBSoVq~kR;qh<5Wh?(gg=-^ z=Bc6lS2MLWMMIeo2D<}IgiB{e+GkEZWyTG;bU#=><&?nYYMJ-eN6*7vz*EI;nnj|0 z2`ag-^UjhEhsDQNpT}q3@AdL8w=iB_a6@eQ?`Tkdli)23M3DAoLltGR$-#HRPL~aV z?AL?1dJBeFxF!nj7YUMzZIlU(7`P3nz>W{*r6T83!C|}_WjuTewoAfL*!#X_}E=n74m!sn@g-yKz-z zbq8oj-wUX?5=+mO}W7SGYo+LT)DlFT3+Tp;1>P+a=n+Z=C0!EvbVmKlcVqV$G2fO3WyxJDMaPqw zVB^fWki2ofDxqgV6)LpFPBhrr83N-HaSH+IsfjMFyH<*h>(>4~DmB_|zEor%Cmyc9 zouau*{cJAk(6^J=S5GDs9lTAsYo+M8(vvabE*23Bn>-aMF(1w_p83}7TKt1|p1F%? z!dbjV*lpKJ(Q#fUGvu%i@fj*e6?q>^Q5)&^YW3Lbme-FIY{V9_BrivX>{=;0F)w7f z1G=UMYCiJw2E1iCAmBb6$&mM6Ty@U{#rItSrJ+5$R*Fts&jF28izsV}h&>8o*NA)# z$~ds6dPVcvScx>S_i`5Jf8MoHbUceG?+A`49cpG0D>)PBJkqNvW|@_FBGdh&SG^b$ zRf@^#u9c$WF-esy5oldDdpKTsWW`M)NmuNeg%uyobk{gW;_!Oc`pT}Aq7xKGE&HX( zSoHIKxhp=o)-jB-`$h{M&3Z`@&$lU5mf~kr?pi52j<$@~_kE_b$kv$i=2A=m4(xUP zS<2h(_Pn!UC|aSyCSDMny8%^B1~_rS)-wQnf*F7rfEj=pfEoCo#sK@)gyH&s0KmG% z1zi8{-}MBLl>ASr|5vm1{&|Ax`K5#K2N2!^s`tkS!bUsrUwW?~4MOvGaZO!fsc|)g zmiA#ktW>4_VT&;^_R2av8kl0pX|RRNgRouyui%qL!Y!Rws@M;)uCr>k3PdhRq0UNupy_t~zguVC zyBZ!;^axo}o31qb*vnVpz~exASDUNqPM7({xCUe>>vsJ=b-u4-HSq-()`it_jr-k# zQwG0hS1(I;@SEZQU}0>n zG`uCqz`5=Ee>SXSCVr8lkG)zQ&oc)WW}MkWJzr2M=|K})^@8#S83$xAx(?g;H_$`P{=j&cKtt8D|E;R%kBDqZh6=44hY*( zO7l!yd1d%sBA3_<=+(&CU$imW_OVnh3erTdUH=c2K>{*_d%OOht;oxoXKSTZU&Iya zt9y(jC4~98&deDc$!KyjPW2#Nf=oKFUH?y;@Nh7nVsj1wb_(6A-s7XX`79|BCJ9#U zSt2H0grz-@Vd&fS|LPvlr89;wzt;J#7!F+S2Bf{->mL4Mq*k7S`F?Di#tt$I#diI_ zHThHBY*7nxc*zV&_&@7$j4L#Yn@udr=!iY8%6X3FL#7|uuKzckdT;FHnc=Q*f6Z7U zE`Ei)r0l%}E1Xz4S2?P?Qid8Jv+8Wu|2wqk-xxW626rac;NdiIlC#)dCt~4soiK?S zZ`lIp;}*!k-R=5+@8)MT>c8<<8cL8?)lx*)EEL{J^m9K$8vd5&oU5z_1*H9HyZ#?4 zYZs)EdAt4}Dw8&3)}HP9fAab=zMt3_6U~Mlj7UueF@h5HP415+MBs+WXpxLm?1zlC z->(0sU@nvCDwtUyUZ8r*(@MHOp!)JG)!x+?_JZm3={)0?AhWV4Y}Nl`iRn)A%6!l3 ztg+O2n(pB>{aTr@9BF$NrAnEshqlE}AoB=q*Z(sO8o7{UT&$3o5S`b{k4qJ&Pp-qMtKo5 z6!vEz^Mh>H|8sLDG+2lZ2(#rk_%0iMUm&AJmuFA!+3q`)D>6&(Y2QNT!`QC>clFk- zpE54hUbw1<70pCEXp%1ZNgn5sxOS1Kl7aK|_1loK%-i+=SCy^&Mg5Td1!N zID6nBn-_b>AdT72h&Ruj&qGFVZ`c0|>WXfrmf|-yp|f|c=BwhdskoqcU)?UC>vn%^ zGT9;zWQ_QB{l5x5zVW7`KIDSs@90ZZQ#)omN9ETWD3ac+0(Erb$21`~G`8#iq1rxy z%oDU-|Ic#7Ka~7_y|UbCE+H$uTGDAAw*}swlna73jE=WS=e%h}8r#S3jThoc} zP(W}y++`Jqy}{PtQ)=i!OR0QHKszmW6J#o!?fQQ|ZJ$ubpAOI+2^sqgNH}?^`r&GQ z^<*Hx9-jGvRbS8ynP(SS{|~VRi85F7-Q^U;VJ+TFjDEK)g{xeTcuc&$7`aZelP+i0 zQVrJAqDo1ND%KfQJUD?7t&Q0$-k7Fy?YiRiXA4Et33F-4f9|!4*kCK7RC$(K4 zu-t@^z9*tXoAN-9;;`Gp1b29P^V+w}oa?Q21%;M%SaD7LTW z<%u7UIHJ!MPd?$S%+88T{fw*9`l3BAK3Z177ZWn|&31jjPaV;;KMXY|DD63_3YRU- z`q|t=jqPyjAM_mr)Noi&LMD*ft`B&bPvPK@Sa>=2$zHBZw|6157F5Qj*^+Jytxp^4 z4%`!lOlOX)4~Se$pvq;pwb=O&PaIqFVE=#St^eQl|NkR8;NSlL+jaxk|NlRH17LBO z0hj@p0hj@p0hj@p0hj@p0hj@p0hj@pf&T^uIJb0Q0`&jV)`l=YAY=Tu_rrgJ@L_~M z|IX`Yx3K)y2+5%9Z$Wq+gpVMM3p>Zt1z~>>E&$;^5GKI-^LSz)Yze|)Ap8=9r$Cqn z5nr%#zKS6148n;Z+ycU@Ak2X<2JReR8-#s9I2VL_cHqBE!+ImoEMFLwJ7nyFX|Kg7QW#aF1Y`!_g}3tsNMRZJQv@WY6J;uo z3jJewid+L$WNt3>=Is}%R9I@R+ph>!6AM@hWl%$Wbbyu7mB*Bg42)2|DF{U-RZJ}ipmX5S^Iz)CAV?8ye zArt?aUeESG3LjQAr#Gr667%w(6(V_?(&^fht9O{_$lxfuym+mO!F$L&%_oR6kcB}3 zE+X*+zs2<$ljy=(wiYjqH=j=1Em9aQ&K*hFL+&YE4Vm!$+v?qiNa2kaKP!dU+tlR^ z1;?!X3?>;yPR6Yh5~p#TP^>;^-5;38QySy?R4pO( z2^Z5lH4+SplZ+e1Av3c&=byWe6h0o?*Cyt)s`B)c7E{nNUdX5~N6oF4c)xSfCN~B= zye>dy-X^86Q$q^JJQ<=OnbFd*oW)cy{t=X+lr8&$&H#iSi z_AaQ{KNpZyf3RQd^x3=pt}iuPJm7 z^^&+QaAb>hkY66+`EaU}-=`zqE5zt|WE*6mh#avGn-w=__-?W4Up!xC-K=Ywc-!Mk zMEXFQ9krEKl#@hWE6WIiIrO4YO=ouUht~c97gmX`n{5 zy>abLPb0{5>sn>C?~uZMslHs;i?S5;YZ6?&42=p_3m)9J9M^B#-QYSX*`wwQ84Y36 zUrU1&MiqMjnQ;0D8@4G@*x5LDLFaMktDCpv62wNi4u@@oOq0lZRrm#;kqG$Fgaw%& zygbNw^ApzOw<6v%U>V&trZ&&3EhvO}oL09-qsqaryrfWCl=n7dk%&NE5q6|zvtU;4 zi1uULmnqB+Q>X^`$N0~3coP~-sW$4+Ex0Y=K$d(kiTb?xyMFN~Us)K@+kNGy_*~30 zlSMrD$_qs$B(-8n(2nwo+!=t(?~i9oDuUEpL$Nr5HJzQF6LK0~F77UM2Mf+2mv~2J z;2OqJ5k5C{$Yk!zXK-qf!tX{|JC7Y@F=TmJMv)WaaL1rjk|qCUo{>tBsr|*GLQ<%j zw}5JB!6w^Lg(D*!Q^E&gyedujG@aK7*o?RzoDMvi;-&FCGUNy^Vtly448RP)48RP) z48RQh!NB1yA}|4jQ}kBLL!6lqhwK(cmagB4PlNDd5MBV`6Np9IPWea>9tB}h#Cm>b z{{RsFv;$)}N!0X&&Nljcgs&S*JSD&!x$vkfYMIjAYsjG zlcG^Y+*?225V5OZ(7w8zWs$LFr^4HMMGM=d;ITV@!II(ILWkOKLOPLp8td$~p*OU> z0Bp^~FS*f=#x@o?zt3d~F)#>rN01qRqdhXLJ`zQyJU>CA5KMxtdSLF^a`>eVs|T(R zlki zavK}kzA7bz_VeZ^1^`q=+3lT*YU?hC(De0RX9;Fhj64#oTA8G#+c#HoDWreD%nV_y zmxMK5(^?brVP~(#M{-2cM5o-AgrYPTRK7+g%i3X}Dh%$INOw^bU%JFWCqpSdPoGVY z(SQN(l4nR7GVwefm(vJI6qoSk3AI9DOxW zVgGeHlRe9|%8^Oa?doTh%BRiE6LpMtvZ9ja=W(MxJJ?kPyE!?C;`sS>j~a+7G$mNl z89P7k3DsU7S7owVI^QF4TS0aIRq2J_v!6HkkG)(C6?VlyReQcv_*D2S zui%vGJ&jR1|Low*@v@~(ZG!`e?yeW_AS$`gUCV6sy zgstdL4^p~)bw#~J7h>8H#`YXy%*7S&_V%GMlkMi~%{l&5hQ!xTV00|q-8=69%iMxB zaV;H20y}}GBU?`GP|KH`{Xn}UtEC@4-T=|Mi12(yHukfUHp8jrHoQlEKN;REp7u4$ zE;vNoSnc_JELo3CjV3{xBfRbS$;X#Oc>rvDqQXlyr=_mn>Bo@1;lcYs>c~uxh*0;2 zxm2#wU8mRc7yQ!Aw|>mv6U+e20L%c)0L%c)0L%c)0L;Mu#|#|Vx_3-~^j|EHY^~q7 z^Z#7|;ZGney|sSd?vLF6XF`m&jq$eD>)Y54gxf(_6tUmFQ$7xaF%kRaJFi=Ta1#jg zBlg30_KyVNRS-7C{da#gjgC#opAU4MEZWA;FwUR1$ayH*Mr8U|8|YHNGfN+CDWK}u2iitJh`q-P3PDV&55 zPC}@oB1hNWv2Jg|?QzWL`G+;3z4u>y7C(S3*tfLDmS`P-OsD|*AfXDS-u0&!GH@HD z6qRoloP-eZ-~>0A0hj@p0hj@pf&a@4aBYo`2_TZ3ZMBz(GZW(QLLA7Zit%T>z5d_6 zZnd@E-^L3de0^(uzkQu(Ydyb>V?dZ=YyG}`{V52`ZLQb0uea{N|Hyj%51LTFqDtuy z8jrheBSAeFvIk@W2^kNPd40situv|$1&B9yv;8ARhb`SGPya}<0+h4b>VPT()UF?- zA@fav9;DHo9IDKKyPh0m9>TvnxqqTa0@}>ISL&B|E75RMv6<|9={Ew4pL_PwOxV7% z))xL!Zc3G7?(|0~5X7(DX5&A6D8^T5DB#Tj$0o9cY_j6_66gJ;q6vHWXmm$$sR96r z!86`Ld&7SAe6DlTyes-uSt>l<$DN>K3?aV#Ev#0#A8_OP>cp3aC)`=7)K9fAI9d+K zG+fDfQo5{Fm3am6Q@Ppx5hKf%Zj`5g#2ABeR$CqZ5u**-llv!(JLpah?gujfGXOIH zGXOIHGw{EI0q(8azyxUjbwkMD+MV&|pFtQO@x;6Hx(EoL2jP1lTmixpAWVg@7wjDW z1PD8U@FNgz0^t=9K7@FP-Z}mm5cUD#Y!Lng!ng?g#Ln@AK-dg~LqNC;gvUVm0K&ep zb9|)zV;lcv{zc@1Lh`XiMvLR13f70YjY>yHg&<=`H&NYMl7=s0uZNEj5aG@>X?@1` ze)K3H)J2~H&>1?lZU~U%3qMB+i_RUPR>$hpzo=y((uYHB+*_g{5>>$Y`D?lY#&wOC zhLGj{%2iC$kiw|e>-eTrw3=Vs_t&M?V@ZB=vESed?gM^io~T0#m&=Ga><3O*I`XEO zj;cPtjEzTEWj?NTwEu)oEup~5YeHR-AG3X#q$95WyflES(UAo$il0GhUld9>BmR;m<9p z>T+975uneGOC+Bj1ERQB^O3^MmsH%0O|N)o6WMp%QgMn;b&wvNjxZhIkm4z3tUbd_ zan7u>f8itbJrOPMxG27`lC)zOz{4^nQKYa+`hopb7dRMY+rw1udlBAzOlHI1BxGQ& z5pn-+hzW)yC4WZK_*LSD@xpsX?sxe6%eyDv0k2n*G?2nU(yj2+^6@#= z&l!sg3EL~UC$UkFObQ257OShr`OR6BD6_iW6mya-q&;o|WV^1PKnmw9nI-Z_5vSLr zb)PFK&Brhl2&26w?p>eiBnwDuHlJu~yiKjtq2F)!B z0gwIr+L6LGiRYHq@brRI>lS|$ud>{j3lfzH^8jd?ABm9JQQRwlEP?4RKeidBjLO!< z_OU&C$%79kri(Cm(+5@cr(x zV#itjOR9ICA0|0bXA#KXQQ_kuA|%Fbf3|sm73lp?n}`%17v_A(%!(`jeX6u5Og@Zd zg{f@7sFhRR{7X{S05N;skrHeF%5Tw1$868knN0MNJ3DRc0mAIYn~}l_91E@8vlE_8 z)kX?*3Qe5j1RGC3uwNq_kzI12H+{92yC_6@bPgLstITPwGmS(i_J$`G5On*t5>mM6 zLG&T>l}FK-y%`I)@^G|$fjt<;=}h;|-92e{XF^wt$6gI@;(M$pHiK`6_rg3;BZj#x zkeYTS11bFG{g>k#CR}WXoPu@l7Eqq)Hn@geQg9{1IEM9Im_}|MfBpt@kV?tfdw^4x zHt9a?sE%B1K>dhb8&Wtv;K3Iu9{LJ|w2sG5m zCTGq5yu!XPYD0M}us&NGz^SbEL<$FUQ|6t2^q>psksrNb?-yn0xibWfCW%CPE@ zNxq6z9?GKv>5ri-G62~-y|+l=A4l|pS)_-BR&bYf-}heU$yy}1D*g6!t>=e9h4rI0 z@sc))s-{AC+UClTxb4@0+DUEAz%B2v-pfNY((WhNX2}uHzz;iFC8Up5zfTmBHMvA_cTYWDR0b=82BkGf`im7Kj5wME}S&c zO#Un-9S+qoVU_P2K1mpkSGm`4mBuHAWbQvS#KBLr)OY(Ha^Wg(-Jp1y5YQzrit`5o@Jc&)GP*i1!~u15nbR0GXOIHGXOIHGXOL2Kb--d ztsB4u`2Te)B%t-O6bRdZ@Be|Y@D&hF0^wE=UISsyy?-8G2ZV2c za2^PM24Q@>KaVE@!skKw9tc-}@B|1`A$;I>@^J!$oj~{z2seT73J4zp)&DyK!ah4N zT<=fqw!Qne;{aUm53ctI*ZY&8=h7S?0$)|34rVU!S()v`z_CIhpfT% z{)9_y83uv@xZWRJ?+>o`XX^S0Lq*b~mA&fH!zStZiWCX}S?>>NY(-UX53Z+2#GJE- zs{uf_o*r`X1h-u=u$>ndT>o#|FF*`28gebhxizZX7T&fS{N?`hUnZXa%N5m@2KWRs z05bqH05bqH05bqH05bqH05bqH05bqH05kAk%>dulfS3T`zlLr@{EG>3Y{%CdA&gZ! zG19eiCw4{n@9)G|i2eSZ_#Ox&_y2cZ&jevn#Qyuv>#srhG-CgJ=k-1izJ%ES-oB2? zO?cPg&yY^Ze>40URjH+2PY$xM)8Cw&t;oxoXKSTZU&Iyat9y(jC4~98&deDc$!Kyj zPW2#N+V$j;PC)FQ{msca*!$L84>j9+o6ue4@YAY8?L19UtufuYOoV+e6KqCW<~b{}^%KctTra!Z2zg0~ z)Ma9<5g*gdc9~D%;E-5&Irqt4u1vRgA+#1$#-`blZVatY8|x0-6W%p*OLjP_+0pt3 z>vdxf*WTGOivCUJP*o+{_2eLHp#9Csp{ind@zWn~E8+{k+4dA>`qF)x$qcGWAN-VyE`CkM=8xSapjfadx>0PGoV)^XMfSgXxqn9xu{)FF203P z?q0iw|KdHtW6GX%lcYD+sQ&KcuHL%!Q^uv*3s?29qM3*XP0}Sl$>Tf{*DexOGH{;0 zetXxG`wSFUd{*J29Flx=CHA_j=9dJCtiL-sPZuw7oNk(z13vK;oT*(G?j2`)q@a1j z>x(?g;H_$`&|Ob1hVgMpji~ykk%{H(uM7g$oJW*3{_f;%oq6wScu>(JWJzth((Gd| zUxfpY1L<9DuBtm-<{RT0yPjOQ;8*QNJ|@1#wGy)#|-N~VfaoF|bAR{XN z<`-gj-)*=z%mB;)%mB;)%)tLw3~YP-V*-dp{8nQ^oRP;c;y^ZXj6X0k;uqBucMnov zIA(dl@R_Bm@T579$cuYAwt*dAV+ZjP(zOM|!#_K#BgO&n2_H%)=($*}M$=Ycd9O(7 zk&*pa(p#J4RU`|1X?aml!X+U4v{!e??9qU$!z2_-+7sl%m)hCajPoPQ#|R`l0OTM& z=5Kr!_STFj>~XiG3cK;-J<%tj5zFd?T0?@1vl5PpoA(5nC_N&5d$op~Frrq04fPoN z+pMwrw{F7Jmd_Gur)4$43x(}f2dZ_T6mn|o`z6!0(vIY}aMgc{)%oyDIk_>{fKp6_ z_-Bgdlz_lB9KRV5A$FsyRcOM}+FzaGL|x*guuhFDmJD9%wlgh; zX%kVWzkN^SEv;_Io!(OxWM=Q@X(oFCxRc>6fPWQ(B2IuZ1t1|P@YEh|(PQY?l@~|fsV$dS#-hH9<7NitLXS- zETg-|)aH4$1%)t=)9UtUR5|#SmlR5i^6q{g?6O5%kIf5P3!>Dc%-7h7x%%#gkp11s zp~^tFYvv&H-TlqooaSj0znU4Js4Qn9@k0bt*e{M3r^xtLf-6(74v7;=8EHBF_a$+3r7?et~j=$eJXJBfboXGp`} z@|<&(wV>GbZW~DZ%&{-c=P-Xuvt^}n$;Jp5y-cZVR6o4diKkWM zrT5fh*Ua5c2(tf78c3s(J&YT3gZun}qDHyD%UoZoFBkTrEJgjA1XnLZqk`3f2lp+< z_1ktgxDHD8sQK=Cau<_YMU#eym5JsuY{=S$a{EKrRsQbehDLe%UF-5*EqkT5YBY4- zy4b!DFn_sg-FJ=W0sW%A%dRH}WtRm{4prfbO#|lPRPUHSi$xAaLMo||{(ySo6w5g=T>1OH|I1*8uGoc|xr{}1Q?m+DgL za+$SCyD$d8`Tybk|7hj^N19Dgt;GpY)Q9{}{i@*l191I;ttSNd1Tz3L05bqH05kAk z%Ye|ho zIj_1HwkKE^TPqE3_o4MshZEZ)Pl#6@sAK=;BPGR{%UWK}uPUhAPn z|HjDqGq^Lk1`nr!lbprwIuQ%6>x4lvj6SFZ==M)gEuUjDN}ByUqXU3+r%4ig<29A%dmuT?R4ziXvBZMLKLTC;|J?k_mk z@mB6wJ{^M%SSc5gc!J;JdW}hR;VfH=m&Thj(zC|>v*osr zhZYBZ7Q7-JxF6tf@t56V;X9`B;{=HYW$zy3;`Uf!lTn^mwAHHkE{oy4)^^+2V%JK2 z_Hgf28n)OdJT7cu9=ecvy$O>ae5a@iL+)BBbQ#Jg9mv=b48(zKV*6@dp7`;IBl>Ld z{_W&4dKki z=w%d)=G9t^^BJ20vW z*SmhQgsi6xdb0dSf-L@#;E8`EDB>RpcKAnv7~cI8!3qCJ(7`_vOz@BR;r}E4^}{l) zrvj{wwsStb#TXStrY@sifMdkSROcBR^ZJJ_58keS2G6aC>b_!PV2Y|VSiQS`w1R|9z^oC`>+#WreA1z^Ii|-uz2a)&Mbk-maA%COJ`O5y;NqU17(OL^xDib>CKEmj9+z5mIKLS4xe^WMF zRQI()A~Js|sV*s_Kp8VVTO*D@`@s7(9g+%f^d4EQ0z#dYV||rAS2vXUryFbUU3Sbm z^az~!W;*rW*vT`0UFUDtcbXs1NfGMYZv8BU!7<1|bIa zy!&=#v?=u>wjh3BcwoZk@ZNFd-CN0n2ULp2JSjcN`#!U_aWM@!S7Jx~qO?~z_L{tW zx#^Lsi&Glo`cy3;^$8c#J2esvij#~R#dm$DdZI)XD=c%9N*8YDy@}S*wo=0)1S_54 zyTz)1@qC$ev#w?0ZI3Sz=>utY)K*$iN-|%+w@<|GTImIu*!x1YM^{;Iyx+H$LvZeK z#om0d()qi%rY^D6xEexB`>-EYs?z?j#TXcSWt|=kOflp%*zQ^>WML=Jlf!qmRxDZO z=qfv0sWJ^B%WBDWYpkPgMM<6Rk2y15n@{dqDOo!}Ui@%6#vwl6i|O#kQ*VBjbb{}6 zWi)wz^M=p3QTM<{`=-k)R*li^H}Wjv$+YW6SZ0o#Tk8AcD}#6p+-%DNa(>sXiPNb* zyo**CxHnf<7sGNp9jE`bRLiufLy`)hfkmCn@n=cnz(B=(WGO)g_$!0TduP`H zT2PTZ;0#M^@~67lq88-vk{Oclf7as|S7;VDn^=_55qn&f^Bm3JHNCl^R-?~eSySCF zyBa)-P57d5NIMiv?@!w&)bXbSbVowQJ_8a?UaEe$T3VQ+zJ=#!8u+sIn#{M{M{Q>?Y{8SnxH;;YqN{(jMAM+JwkbYiAj$g2A zr7F)K_8;nO@tmS;=2vYL<1WAxhyyF#xJ1mpw({3?fOoC*-aeu9HKC62;TO#poiVP8 zScE@K|3&GGpOr%FZR+xdf@4;G29pdUC*#%$iPJbvC{`b|?@QmcQr-7fcAaZ{KZMj* zDhFAUS5Dyt|FT)Q^-X|J|JxZ5-nv0dU^^24V(p1oukZ9nR|R1Y5KaZ*4iLsbtmk)* z#{s2#102OAwv{VH$)zW9RsaAnXjn zi6Gnp!mA+6fp~V^IleXs`+{)p7Ea#!EE^*1BRk~-K=>I54}mZV!Jp-&c3{Yd9CdSS z1`LF9RF70%Gd}FqHP^Ujr=+_?6ke`;e6scd7;>KGM+z5w(nz?a^GX%_A=Y(P%~pZP zC5bfepaxMz@wyq!Oj`zT!TmmInqTunWRmCl8L(JV=x)CQC~~L;k-`KlA-?m;71Ok% zPm9ivX$xU}zwf30TvF-s;0O;SA0E8deMNqEv6YVbX(AY=@?QN z)dCgriCxfmOd2VSYJC8i;z2~+7Z)jv%EkiumpSgJi40O0)pG!3lJ$_QQENzHR4LuV zbMfRcwTssA7))>Fhm=XSJ*AHTOr!#*kizPGU&m_V3ofh+tK}N^y9K8Ve$TF6mh9w- zOs*XFi(G_s1Y%>5TR;kU z349+s?I_Xb1F%214ODTHo6nLGVUl3go+V=9MOfMcnU&_&oBR@_Fe>vbAex8Fe*C%r1zF!I>}9>Fe+a$$iyRMEscCgVN{mH>dtHW?>J7W zFy)zJy5$$-KA{Uy1zriSZ{{LCppj}3Wi1i0M?vfwk*`4+2liC2XkHsDkp}i&&f@&f zuT7{pUFh248mlN>rAtF?Mc5`7fCikml1R<_BK(OyReZ!f=W?gY+R(_Gg`g=TxZm<@ zb23+Msj!GTq*ID5{n~k?Fe(?AMuxWy53ko=A`84MNnaZ3IrsgbJwT!!l)b{-#Sx{mx|*T)zISf zl8Ek5V0}7vT;Fp2aESxhl0T_%1|mFRu}GN7~7k7~K2sbwp;D zyue?gy6Pu)ytPQU)Rti&82I$Ap$jQYX2@Y3;xkl`D)K&-qBhd+)#|a=Ew3Lb*oZA; zNnVZ&>6jxho}4=nW4SV~8(VhML)l#<9$2Nsxrh{|mi^LXEc*Gr+!dc(>ljAaeWL}B zX1%0{=i3x2OYt)*JC*E8sgox0UCOWO+d0K@M8#r$2DA)f(viaEepA#IgrcW7yHAOW zB{ukL=>90y#Wfi09o73BZ=W&nNyIVHf&0S?=Rxm<2y^2{?_2Ah1F262#*xBNgDfM1 zti<1L?B$lqxH)W3(qGFc?W`1&Zj={6Lt%dgvYHE9mY)Dp7**{U$bu#ZM-CrC3Zp8Y zG8{^jq{WAWacc=O!({1@XgIg=IMyI#60FHR;T^qn?5{sX8j#0o`f4(f_-rk3J2Hlee3uI8)a zv8lMAcwgNvpzC&jY%r`L)l0o@I_n?L#l z5$6KBabtmZ%LICal0iwAL_VES|MK0~Jx0v8r9oM8%Im73bz@^!826LaQ#AGZXH32+ z0qK)HFOixpNBl#{@7F8Ko#qm<(yJw%=5b5V`^K*3nv!{32=9XARCPt}bDUIRCXw2b zk8c9Y-|sVG1I*b2ijl&K!w$AJo%jv~1h>OoR&m%HYz;o8hAy;}%BKXh({eXKS|=uH zbcT?^sB9sS8L*`q9+xAQ94NDy-(5~o9M zEhQd-3?4lYXLCX3czXp;Y<`bv%K7x_q1(BP;+Ic2sYJ)Vw*5LvelsbA`t4M(t|8Zq zm+_z%onS@c&3EEi2{yd9K6)PZ0-h>%(<~D0OHj#uop+XWI4nNC`aC}Key^9`95HT$ zpZyy18aI@ZvGa5}a3N9*cyNLPK;C(|2_t<^P=VBZ2QPy@{inF27ZldR@Q0ODs;2V` z3+fGK&d$@Oj+nbxPdSJM5Yo-hcy`qR&zRCNk-`KUXU>J>jr&yzJqxN(p)Gcz!OqSQ z7?+4!2uM#&bZLcj))Y&O+Z0CS8VZ?q$)#yv^RWiiz6@mPE!}+4&F2GDg}#Ar2_*%EZPwbSq~7ocG}JhAhw17xC#JrTX@@U0O`?sZuJMFtc5|!U1!~Z zp>OBoQj%=MbM9FO0A+&o5r4UYLW~SIm;smpm;smpm;smpm;smpm;smpm;smpm;so9 z{~HX5ZVie7AU35D%@lDkA&w)61KAu92NUAh&J*CXg((ncWD7+cOo#)qg}T`i5U)&# zgBEchTOQ(ILLA$11{hd(K0Fa+vwawJDb}31fd-?Hu5$0FddCJaIqk}|k``2EX;e0E zRJ$&ZxNf|r&^^>k;<~_*E!IJPd5Gu3sZM^Mj(D#Sqvw%rsQl>>w*ohq0hj@p0hj@p z0hj@p0hj@p0hj@p0hj@pf&Xy~Aour?4HKaM;~$9EHjF>}KmP>b!-#nQo&MElx3K)y z2+5%9Z$Wq+gpYvY1$05!AA}1)xDSL0K=A=$AZ!W3VIcexgr`851{5EF%s;r34`&cg z1mPACUIk$eP<((k2>XI?E(rH*;q!?1<1gJX5br5)Q%6OPuDxU3-h|uZn9=hOYeIYP zzxXVE09&wcX^$<@x?D>Sk5BD1SCYRz&QFPi12L5|9|6-|i&1ohA=8d6yqzyVM;I!? z4p<6hP(yrl095gLPMmVQ;`pm3;t`Qk8sz6?syw8$GCvVZIyA?<4jwmmRz6W!CfwB% z&}V;pK)aJ|&$P)zEYMtf*9o1ODKAhDmCSKZ)=g_-`cO=0kNYoa0gXJ8QRoOm2AO$d z({4J?qIx&9ZK%iC-)4=~zjYI)wtSXQJ1wgT@Vrl4L~2G=nhi3Aq3QK(4|JvtnTqfP zaYi{h!jR!+-&XH#I)9_ zL)3>%W}oGF4DHpVTbFK?0BrheH=_qoX}+w-{+8m)X(R6&cYIoN)nv<_w)g-?*sx8} z(F|F5JI+~qdeY*zO94P(%Sp0ip zrCqpCkJ>t567?Ca-*wlNW?w72C)U-2ks_6tU^t5xm?+_=6v@#WzOcUCI(Q!NaRmIE>kS8|?|E^Ad~UO}jU8_WRA z0L%c)0L;Mu76!z(ZUhsc``0bKMEo({xt>Kvp6#-z1y4Y`U1@{3zGf&i^BTT3(@?*9ylXS$@pO*$uH9C?Z_XAib8PGvTn1m{m zPV$H5zM*wH9!@QG$HEjUdtiipTnimx$m~OnVevoE5k7!{O~RjBQq|?QoFYJ<9hXQx zJqAQ^ujZp8OmWVvvwz_u^*s?S@3<(wu#z-HK>foqB~f&QAuBh$UP;nGOSo8FJR2$4`frlNUJEekCge^3>8dS-wyAEd7?%Pb6X%a?MenZ!u#->)i9?ULI$T zd-8s!{k${n?|wc{&U2poKj-H8N*=lQp7TEkJM|j7VVZkjM(ToXn_ExVTX14Xt-6ks zLrs^ix&3Ic_r33#u$KntRyyu|vF%&MmQG#pVm&PAnSKVrj7&yU!jkSgVLfP?PzQ zjiMI4ar@YYlV{vx=hdmaZ`~#Tb9WrK^Lr;|hpo}O6MLQh>>n*X2AmD9eKMl6d!NG% z9Bx}XX6urGa{YuyO<&HFog+7y^>J_>_eFiWC1lKq7*Xp`+AAySInD&s8oG$tOL>INC zdJnT6VC;Kt_KNKM!D*ZSPj?P#oBvPO*f#&4uCZ%9 zW83_H+QxSI|8$LQ^Z)4@+vfk%HMY(Fr)zAR|4-N0HvgZlv2Ff8U1Qt)f4auD`Tul{ zZS((W8{6go(>1ou|EFvG-28vWEj)+r8m(@O=f68HR(D-qcLCfsKcG&=Hb0=Qv2A`p zU1Qt)fV#%E`2lr}pPL`hxFPQN`t3ajSKq!8>R+edw34O#!aLMFFr@D8ws-tiY`yDy zr1g1S=SCOV*czEJa{fPSTtEY3zqt1=O0hLF9-?ktH+b&-=I0JPf9@HS=$;J$1Q0*~ z0R#|0009ILKmY**eg%P7%|3IO`Ts>#tO4L%`_i=_&TSrB*P^6YUndz7ob{oOocrmTpo z-~HgAg$eha196Wfo*L~HaHHhB#96&OXZj}heI>sC*qVJa8l>cVIrsU}$q@H+oJSsQLNuufy8yuh@EKnZxbgDzNM9_^(Q~y_e(QhL&@_ z{H|wt=WNpEt%twRE9h?x8kJksdCidVZeDsMI`)brsZ&o!SdPXEHmTHx!~QyZRWm@=`|(PA0fZx#rDlrvwM zYXiQB?Bw^|&UZ?!6PL@Btd5IuC$AX$58F{RqivvJ^uxd$1nTcU9~p%mTkv_ZyY_I zKY79<&jUZcIZk&8^<0~XZFz?I?sIN13~m4x}t^ z8&Ni4dzZvC_Z@G~s5AYgCYyr;(nH%lY!%#OhG%q%zZCrGt;;8GwcT7X?~MMlrgvN3 z*4H6A(Jcz&v{zl$-W`!({bULmBZa79aJ9T@a#kc?5kLR|1Q0*~0R#|0;8ziN&FnRY zkpa-!yo@K}VV(c?HO>P>o%4Op_kV-u`^HZ;8v+O*fB*srAb9zw<`*y(asM z5B;#xa{tliSN{3T_z*`#p^e2mMn4#Fcu2L9lbbs8#3f#h>6F9Uquu?Fs#m*N{ZGR} z(xMUzd>q)W+SP-XE3a=69N3`Oz;(l`Y%1S8`Rf7c3pzy=>)=zg=7rC^+jv&%G5Aip z^G0=I=JHmTI@Vh4mYT4p<%k-|FNKWyuE)^p-bFH3A1sx2xa@OpmX2-RLu841x~UT2 z%Qs86-`!H_R`VSfZ@!-E4^_&9w>UngKz^;j+aOLyc8N(x>v%)KTWUVw!YN-?R#ca z+;+9=lycp@U(Ec(r+&9Z?jms4I~9vPu9`U5;kG*bPRC<6PJi0H?Dc(bFI-mbh4jMP zs(SdJX+OKcthK)37c$G29_V+!cbhsf`8IAW{qwPWWtKK>xW)OCo6FztT8z)CYg6Yx zywWOlWQnBM4c#t`@~PlkwC9-8Mbj3B83$4i5-7avlo%vn5jj3n%~F+v=BuVG%Rv!M z6lu-nppvSDdUB9*7O5PhoUlc_0TV=ZnfglU11n$wA7zg>sN`$pAS>Ir&-+Qm)z|2Px<3$wA7L{&J9Vma!b9 z%=;(@Dd%*`LCTzla*#5es2rr6x+e!ISL~33l#4FNLCRV8a*#5uzZ|5@v?>QF^P0** z%7p;rAmxNtIY_ytiX5a|3PcW4W`C4}lqpH%Ams#OIY^m?K@L*R?UsX-t7phT$~=p5 zka7~c9HdO*DhDZ(#>hd+39xdIGU2Qoq+A<94pPo_mxI))h^7CimDx_@o|Jh^q5*bVCkOE=D2;DHDgtLCO_qfhu9nzXa7y?{uWLSLIz(|32c|j2}XqwV#sgkb{)zhU6e+E?_xGxweZOq?`#Y z2PuRrGGFh=4q)gc=2c1%-@sNX*X_n+5Wuk03NVyb`9HdMkBL^w7 zy~siHRq2l8AZ2DEIY_ynm>i@`QzQo|Q(VhI%GIUhAZ1<;IY^l~L=IA>b&!LUxdP-M zWjZf8NSVS)4pQbzk%N>ujpZQa3S&}`Zb-N|Ev=B6b%i9qsJLwPuD`XWdxUm_<=lPm13eB7n+G2t(V@J^29_bx#y|dfr*tvw)-MeO_bX*Yh*CP`i zTo|d4(jS;OQYh`>x%embdG@;9Pk_S`O=1VDZ+dz=AzIYj!WythMtj z{iVe_H|@$hF!*@A&I^X_eOxGM#D)cHJt7PFXD&{io2y)d2rozAV4vv={91i`edLbN zTyLg*;9qu1V%1ZLe~4PQY?<=}dtTE10qNftpSXBN=@U1mcL}a>YgEs)QRV9HS~T&i zSJo_ydhQhx$EJPH4kuTo7?-b*xKQ#G0R#|0009ILKmY**5cr)7G&SG9YyLkkrIT(%XnDx1lpT*Yutct4!>?PdUnPS7>8s-009ILKmY**5I_I{1Q0*~fqz4wnb|gn zBP&IkxY3(xJlu^(VdEj{>BhrY0_{mX!+7qxUj&KzHY35Gh~Hq`s1-xMn-~vKzirgT z`W9AyKN)q=Ukh`;zcKXPwf_L4E@HjR{b5GExJ!Mq89&zCpUddnwS8fuUeefS9nagS zTgML#3yTepiwlX2e%Xj{-K;(F3DI#?Tz44Hd-ad$-7h3AvTxk8_n@sk@v-6IQj;gu z98R08>O!N)XFLM3s?K}wuJuv|mup=tLho9iDb@cX)$6H%^Ha=&a1^H{umXTl}KIu2`sh}S%ul!;V5I)%bR6Iv;3o3RyIp-v#e^C)y%TG zS=KYl`ex~Gme#t2*7}2u%-5}T49qG80tg_000IagfB*srAb-c@K-hk-K%Xk=19XpLLuH*kxjk<^*Ywiy=hMBsyk1*=4)A9e-IE82Ti1Gi{$cbn6{9@yZ-Lu9OTbFCB zgZ$Ftirrnu6bFXjFBKb$js+m4VW zC$8SQw`uyAMXqCqt??&MEwaWxi!sM8? zRm}25v#ep3HO=xRv$Q5?)-~&XW@*jZxAGA-HD7OLmeza*vr2&g0tg_000IagfB*sr zAbmYIpV$E?Y#Cm-TS}qz4y0QpM7>;dp+xU_V*meUh5ea0Q_z^>*uL1;wfz8|H*&< zKz{w_8z+VJ|0u4XiPz6(0`_QBUi`+e(GNbu48RP)48RP)48RP)48RP)48RP)48RP) z48RQh&tU*--IRZt|0{t^RbIy`>t~YnGxkiu`)lnF;@2U3f*F7rfEj=pfEj=pfEj=p zfEj=pfEj=pfEj=p_#ec;ny(*W4>sc8Mq@?%2YHCDFAi8D&PaR`aX$2Vveb5BI)gLQ zx!j&r$Hl!zz3gdI(_}5n&CH0z`FTV)z}bOO4|(2!eA(2n93(5d!)6---0rTJN#^5uJ_y^M`p(ath(N*i8+~B+q>ZD7wsiGm2M~ZrmeV)59tD=zX@lN2uyK z9&`}UAa9}@sY;>8;@w%zDz+nG^mUrYiAz8Fy`?$2fL)WP{GjENDbpyjqrwrlooBSV z#HAS1Ph>v0{w?NFM}P)t^|v^Zgu07S=cQfj&OTEd&y;TO@jq9=vs(qr7Wfrr0A>JY0A>JY0A>JY0A>JY0A>JY z0A>JY0A}Dn!@!0!85`J$tjKlaKuC=ZMoAYgQAwlRQf%3M?2&h z4R~_12<|fVrrR|b9~O(h=JAIdXrsg8QnjKpZqGN%#um9I;> zQ?=7+)-v_{*q<_o|DCLzJY?bRuc0Dc3Ws18_qK#XZ}E7H_>(Ty1}KaAU~C)#VUsPT zmo=@MxoygjmFyvk2m2rYsc}2+1(0@?e!xHDbhF&*q>1-l;>Pq_{pU_JCGq4Gi->Ar zY+RKYEw>Y6YfM8qjk8Q~n2jjMB=esdN4z)0cRs0fnql;5!PzlAVVrMwJdK`9NuP}o z;lUzw_QlvZZ=qd2sX7z6A+kwx{meLflNoQk{bS=y7_3jfJ{Z+_rp-X2?nJ(*7D*00 z)h`0es8tSK#RysB{@)=mMC%{;h>u?Rq?7^D(w)*KL9(X}ZA`d=Y=iDpwo55j8^&4w z1ina~a*o4NmvU?2EWh}$QD(k0nfldvmyK_|jo%xz&cyf51b)Pi2Hq|b89xZ6NBXC0F9Vea}Hf7H!Z>yn6gh$dhsZ za^YverRofY4)nNL>4M{uF$;ldDG5$37&A9>VxA#o#N5eh%1%6xgmHexqqFu;ncKBP zy;85$mzMIwxdxVp_I^nR}Q zj^;l#j*Q?E)2dOK)}YAie@s-$|Z zS>-Nu7-{ZWV7o@noF9vE#dWucq$twwW}!0-4TlI0wqpf5+j%ZOqE$n7Tu|l1zuMn< zG+5>GT~d~-RJiA971O$<=)~BCj-*Vt zzR&-2sCO-}eQ1=g-?{e5>qXC$7VY|u>lfM<0_QJxuJ|tVJz)B3>$LWCjw-O-2lV8P zR$x1>PQs_0$hfi9uiW3}GK86#g+AV+H2uPGU|4G;f>LcQR|DfE2IL!qXz%pPYcgiX zPKya#2&SPGvC!eIb`pAZbWS9-a9*(CNYC$H|NOfCQTgW%;45na=&Wy$i>vJ*4O^b9 z>ZoUoHk>CCNVmUDh4pqn`<~$w3_DJ&jdP*v_dF7@aP+rEp*4bgJ;6Z!rb_?P2_`2k zHN#yMk?ES2%Qt|da}31nJMuGp8M|gOg3Hqed-%z(JA9VxA{=i^t-Q4~Pr@cC*43J{ zch#No_|lNP$u5c$?|6;Ln)5;l9VAO<&W=%%byRbPzJp^cR@(f zDKP7p=f{xQLxJwYBy=d z#fU#-XN#A=x!)LlVLgonDg_4Db=1L$vngVCYUdOB^zaB zrx4ZeYVfKrE&RX_@>`x+tdBekvuz6ctpzz0rPXz>A}N(dzO3w$O4Cg}klV~t_a$2Y z{WG6LTHrl#zs?rn$#Yf#TGUFl2^YgV zw6C0F_SCYOX+D`c8FB2(w}gYm74t^M5u`~5$cghj z^oE=Dn}qeQYUy_jj~I_C_YaafpSqr7ODDpzGccr^ZSUiymxtbJE*71OPBo_5hlR8v zw(y?f>0)gCI$W)xV4(WaDfwHCOF%N8?J6qq%t6`@JZjiW&?tfaouZ^!U zqD98Tu|??XucVk3yMO*ViJ)#qE?AC}AzqLT)h7TL_`2~Pt@RQ9d_2>5_t>lI9lO4H zv4+#WeiCikkX}ZhkZ^i2@U)UYveVA>1)7cUur)!%3sjhw1GoG^38J5768G*;X;Yn* zEq9aF&FCVNvTKT|x;1X@C`@z2Vjy3G#Itpf?)&{%erY)xY;~%|AEu24712lKJpTH{ zI{!1c^8(5KyM9;wGT7&B?E!PYthUR3o{BfG_Di36;c{vpn zR`OSDKUnAA>E{2?R85#NtW8_M@w5A|>sc>_=P?{*85j4y$GP{ZzgcSL!o|VLK+m;b zEE+;$Swbct#`?UhLR%?cbZ+;l;WE&V2k<-Oc`!_)#}AB4{iUINu&i`9Gu5exIMg_Ns}*aCm*gAkiL zK&OS%VRS*)ShNq1&a}5kTQnk%yJsRz8SAR{tCJWThdUBYF`-VM|)UA z{oATfB9^^7?=rsX_~a1A#>qs8Slnf0c9LtynR}Wo-uPt9pX^VKQ|4M|`8Yf2(O6-k z%&6SRJx;v(^gX8+$%x!{JEl{w2{1P9K#^5I*_TMw!#2lj%_jS(93577{IPN7vKh`o z8F>gvF3-{u{CsIEl*W|CH+~Ug;~JRX)IYphbCELWvJ_Ksn8)0=J+^;p zoXW7BO=Sm>T^{j`yG}pxIO}bUyHdgynu`^a1KSvQ8!zp`+H8Gspp8Gspp8Gspp8TjvIVBPtK$nXE(IsaEr+r6v&JQs^xTe$ii zPm*hoD6It=g^kU%@7)OvF~h<5l$|4|KOhb-iOE_`{1*5pe>47~ikOKQUGr zn|FRiL^H><-{n^F;J2)bMX3(H`$=Wv{`bFP{OEZ%hfon)uV96c`PB8?kP@lZr%d<$ z)HrSONsey=Qx0a&v9g)(n(7*jDSs%vNqJo8Z94__YauR-jZ<5o8!DRP{aib(gY82- zsW%?*UH4Co(<9k`i(jQFn;18l@pZ4ls6p=DM9T$p3UWjST{Hbw9R$mC8_Oj*D)K{~~rS@uOjp_x<&lCq~N7|a!T=Ou&*tqku zr6-jfC*R)Jko5QI90`ub8UEwXoarIj19hUjfwyMyO8DHRSA^b%7!n*bp=(b)@(PQ0 z*KLfAd*etmUMxXWP|1MTUA$|B!R<}+*FR`LXs-dAXocHn1qx5w~$IZT|{;6?RQr-`C z3O5`0jz!%1=MOgKj>rOv;Tuy8I=LA0_7Bb5Yp3(#s=v_Xwq_P0w>G zof1z_D)>|5{(Jw}!`fg5UXy3n$R35lJS6dsk z_eL6Cf0cCe^eMYU^=Yvm4A?y+bXeExnjRMOI^6G1cfSxJbGrP^N@OsV(As_gYthyV zvQ<>h_x2=0bKjUgxx*=7yX;^2S5QZS}A@Ni~1mKd}GHfvc`& zgVv$M57jjHkJpT_=O~?26F*~@?Z#2Sq!9PcW+Fz=AUOs=8vs=$;B&Q&C0A@q&`A?cgVY(X8NbWP^ctF+B4I`q=}DXxW=Kl$ke?SaJGwJ2 z*RI~;z{;VGDlQLUD;hTpWHjd7w;0QP$S8pb*|GE#8|4aD=oJ7f!(vXid8*@yF~jFd z{rJcGcTSKOagmC3YKM#8$r7{}SY)EJ6Zv7TE?`TLpHH{iOhBI`Bl&FYlM7W$;VeQC z%BKaciKzgY7zTBc-mfM#J{Bz zS`&MkLM^Qr|2c~yHFoD~;tq283<_pjMncQcjn-5htpFFBi?{Xn(d{#veU|MuM4-dC zBGV$d#U{!&fU5A}bd+6et|#mM4@awi6?JUsNRSyAc5J3A%QDXRQx>BHmY_ggxl zmH2xjKG?R0B8Xl+YZyPukN52Ef(H35BcbKiM$3aMd*|UvJfehiMlRn%&buG19h68F z-l7hzm=~tmTdpq!Tq$xDL>uesQ(6bjE%LXFbY@A+;592VYebpx&(M`arOc$?Nw;*$ zjpe2eb8NGEmdtD)Y$y6abhxo`ODD7{lzg$r^1FLtBB}~MjE1G-*bCtNeeo?LotKTi zBV2RnC%fOfoy*z8XC9Rj%b@egbysal9gfro zC)-t?TYXzPeZPdKkripQr_LaHf6Yx&w(K1|^;7FZd(zTT!dq9ij3flq*UBYj&i=Z>xiD%?b2z9jOK(f38?k5Z zSvzUuQc0*A1ZisCuyy^Su%#1P^)=9182*^bw5#^)h|8-q@`V`Y7;-Wvqt{#1ox6AQ zL`3zB+m+81hS#hdYCiI>gm392Wu2fg+nm?dN#qbIz+Ra>EY>}@r4w2Uhcp7|jpOcQ z_2c=sOx9(5j?A*r}4(N~>yKE+FBZs~+pq+`VXgtq%i5@ow< zIluTwOS2?#`fU9?@!4t;PJW9P!)5ku_g6F1qCT%aYZvv;J&{|gCtM1uNvhFRNE+n>yB@Pd(ktS!@VI6WT!;RR|iQ_|C*6MDPvi{T(s`xL> z4vRdY$G3F4Y!TCK{nEyQH02PR7bh7{UuX#BmQHRBjhvE>vRAUZY{IA0i63#O$87yp zAu$mBG253xG2$F>kRH%5Igl>@W6MZ}Vx*-@d*?o@p1<*=I#OTHQWJ+{ODFwSo6*}X znM1#J<(+ANBY!xTk=c4nr~TwgwH84F?WI0$qQc_5wkMhf*tc{-E3mPBj@b0`-0rAz zOY;WNCD+{4Tt#EIjC6aaaN4qP`}pw7rVEZ(?xGfVpKkTv?8d?+7sx3p?{ryA7G%nb zNuZkES~%>oA?F+FPsdEW{cifSy3JZ<*bqVDOWb#bXVtM$rCjMYjc+nFD`CARt% z(5ki-#qy}AQcSCBWO6ZUf?3eZaYRjfi@Mlm7Wvz4+5um03msPTVEjzsw@kaG6IyQ5 zgxWx?*}VfF`TJSSId$41-ygT%yJaM_3apuX&o&gjj)+w^dG`MLyUEGiiAlvRBaL#X z8nN4r1~ZPUE*D&R_UXD)?$!stPo^dEW=jV{Jq?y#9*K|dJ9biG>n9VfN=t_M z27yCg&c-AsT1#Z#whG*0Q^>V_12Q|pwHfo?ny8l@>CZ_LklE4+E#C}U-X*DkYiBxg zmy}6uKAz-nJAZ=cT;0|OWOQPq+oagf`4bTikgkY|%%^AJJ}YWHIn~rk80Y_sx%%rd zU*xouWj$?{5D7LlsFd57>mN#D^&c4oWfr*9=$-M&3no(g)*n;!^oV~2$u+ZsTKc3D zx-+LjmP(LTfb=6J}mxTKOYuvvj`17X_vGb|+hfPsBJ^tdK>!=fz}^T9Jt@CiX|*Fp8gN z1=Ox^--;1Y>HF+aavJB@;9W6>z)-ICP-^S!$B)-$>5kN^dhh%}K+O(1ubEm*zi#BIPKQ;%Y&UPOD29-KD2i6HpD zFat0HFat0HFat0HFat0HFat0HFav*MV55@u|JL~bye{qd>-w)Xa3A7aW!GsDy#HM? z)jPOeOhux0Mkm9D8SMXt@@oTV`78fM;Xi|d2a)^Cm*OI^d(#)LKf%-U1$JPWrm@~W z6ME#*%}E1YjEzIf`Ss8C{Ow9XwRx19EDz`LMJeyXw$)^l6itA-XYfqDibRwMuaCm(sX{&OF7dj6mda=8$2@cjfnLFyWjTzEL(7}{&-VQ7 z$_rUhyIp|NIs1dDr$#lNU&bY5EH@w5J=CwHUqd3eRE4o|Xt^u@X2L&%7iKI>-NAX% z^X&(jjhMP(4xLwC2`3s>RWF~;&Cjbd#@INtJjMTP&)=?;8uE`f9`d0QdhwR2NF$|v zwqsOrrJg#m`X^A!IDS|MW8=_TsQjA={|sIcBvUrea+mvjY;>TUYp17rtJG>Orubeu zYNF1Z>UaRg#-X)@_|NwI?Mfx}*AblQthDTqV?^>Xp>*wg@%A~z+Oq*(ScgRUT`=EM z0xehF-%R*tQ2p+c!m1e$$3BN!2BCR0$3Gf-;TGjxNjHsRe;cly^8{n&(DK>+vps*i zQfn~xaX)LOKCj^7&;1ez(&?THbDB9RsD$nu_BI*dVDqr@9$>(1B9=G>itoH>iZ>tFdwMiUkM1S zg6jRf1K~59>i;3k1ipZ<$EN-Nkk<(jNe--tGxB~Ya|R4f?XLVFa4_)A-ra((!}pn= zypzz_abD$JXJBy{=85HKMM@(SqtkY4r&vT-N#5I`Ebc|>Yh1#GJJl=pq?Mgi8<&8) zFt-QeM^&_9y3nx<(FdyFH8{%yDtiNE&2exZ1XNw{jr0|on?fV1`@o-Jd$SG7zw^Px@QV~m+YE0P{f=Ge`h<3+M`6<@qtaI5=d_Sqv~ zS@x{P*YF*;L~wOe3BO}(99prqXd1^cc%Vp1=li)6j7xkq{QUNHbEXo)BDTt|i5zqz zpGAT&HV&;=Xf%!6_cfs5{`_(LnH=MX)4&n#LRbBJ3stouJY0A>JY;J=6g;`MQ` z0rLMC5j4NQ1;X^8`F;ur3xnqSR)lpM>k+=7`92wFz8?+3 z+?(eA$eVly!U~A6`;GC3Wm}F0S{`cSet4ZFBA8N3Rx1zBgoU-%BRZ<;hXEfU#?LTl z<@F-1LZgj~a6e>Y$5;F|Ra_9R7`}IjwPe7ggJaHbVJSU%l4W3 z;{G(ie>&y%*pcJIop%FtqD^=Nl%FJK5fCqN<7B&YRdgl~)noj&qLqn_CUajB0S|qq zhVQi!7hb;oa%HqJ_@2AH<7$}C)zHdgL)W-owP-Iz#TTazxPP6}9yg+G z4ylX3kk+9cZ(NvY+8}{3b7jEzGp;~h=o=0ovMIYraqYYTthiTkijgW-n_*1*_ntF%a9iaER924myU$`?e_ zxNjUSIC5-}<(KfKOSDPPRYea1~b z4t%g}yu4)D5ZUJU#3GhbuXbeb%z-l)FE##GZn5{{fZ?sZGQ+}4_=^Vbdav?jekFF7 zd2_7BGi{XIiRL*koo= z!bs-kF7Gj#i}BlvR@DMDjr(Qum@f8MputGUSPvlS;Hlw{uRGzvOpH4`^9iRe5A%pK zv?>#zY23;i(*V5I{=fio0b1>%YlpveCPlItjrmG2%RH~8BFe*%mB;)%m8WzNY;Oh4In1r>rEDMWg7YmHTLl?KN1l7facJ4FIL4Vn#j;Q zXPCnT<18f{FZ%FWeiN@J5XJ4Gi@P+W>_YXRKu%CWZO`>PiXC)T>V`WAWn7f(s!X^g z3Ub!!@#XB~VXXCieBmN7-gvAhr+}PfgdcZerQ6B+D!H=LY8`E6wm&x@TYn|{aq*&VdB&BsWO{`ji+5)=tJsc&(bs7n zCocWy_m<}90(MQF@`IL7rc9$qtqMoncAnAd5|?63Kau(1`nQ-z9RV7o)!*Vs66!8S zotJj8JNry=JX5;8$NyXf&u*2L#b}OW@?@sVznC*~6DMA;-5&8f)qcr0lJ(bAnkc^& ze<8N`wS$0u(&n|5p2(*cr)aYg?+fbN1BNcQjUleNYy^F{W;0)ptTsN1H4r2zcSw%d z*q%ki2gJd~2jrc8c}>Rb*l96=3&AwBA{IKl)lNdMj?Rgs7S0Pc9O*$SMZ2xN1B*-5 ziq5=MqS65aj2r`g$n;VuMY_oR`7qh;3K$zCfY2+9bpDw24DtY24DtY z24DtY24DtY24Dt&zoP!Jf&Yj_i$@T{ia6vD2eQo~4pzjmf#tFOj>AD1v3VJ=x&NW{ z^#M7=7|3=Fgg<~V*Lu9bMt|2$7|TJjvO8?HA;9hKimBvNV(gLgah(y1R36dU_&Ir*PvuklZ^=Kb&^BC(w}R~i5) zv_^2RCm6`zROw$j!Q`Z+X1J>&GF{Vh`37)wj)9on)}f%L_Hqb)U;ov;w^&r}AGoDa zmZ)jaH&=8qq<@#}3`w-7q!nS~awFS*N6&^hc~TkDqb}ctBXkzjC+;W7UBZH@O6Z@! zctMOvrpQh|T{ZTJ5r+`BL#k$zotyOV6dQFOKefAFXi>{qX-l;Wl!l>_A_w)$BeER2 z-j^SoW2Q-{V0Qx!y`C(!otVzx%ycfdXVr0W?@=#%+SD{z%W^X_B5{5mKcdI(Qu!?x z2Rku5fB%o8#$w8i@#h##9iMlH>8*@wuv&gU+bwxRS#CDWu;OcrnL(b0>P!D;zx)Ia zzxo*_;*2F{sv>-o`7BS~5EC%1jjz&{-6~|AvHJak-xQnjF`b%Xk)wBCd)`_)Fmmn@ zoq6H-6HKH>YLxtDh3$6rOXNW;@~~&b3sjHCvcHAaucu(ClKRx|q#}7jd#T zD*&i%F<6-SeESMsl(mHM2kva>$8lzN+M`fJjB6r(oAt?vOf<_I+tbIYDhA}P=I#AT zrSr5+GnG95RTsD5=im|Re)nToParQhVR zyq8;Vm|9>Q|B22Hg<^9D=(KP;j4tRJi}vBsnf4ZGi$>&e_e`WIV_nsLbrNHx=xjJ8 zzO(X`(vLW<$P&>zLXJpL$2HZT)W2_XN?O7C! zWPQ6hSQ1VT+nG?94Ppf+7@6G}i@%2-E~`sEQo0LcrReO`sW{-R{`M|K!fC}5G>mw( zheg!Ct@bmogJB!xfWVJ&Q5wXR+uO=DmQYE6R$pf&*?=nBKO^n z>C|fijFqCb*XDoYvka^XW&maYW&maYW&maYJq9+i{;`1Hd(VX-#8?r>MzDAMI^L)g z_+%X;rp#;Y72=f@acqPpx2|JB#2MN85eF;c;6WV7HiI}=5yxNA23WuGA;iy+jeH$% z)Fr^ex%vLF7>CWn;EU1bZ1wb5`HW=*qgw5&WK;}GUPaAN_57eFC+catca@*#Vv%bL zSHI&)a_teNwLqh=vAOoWJE0+FScvU<&wO7dGz`|L{raQu=U%_LU@_TnH-Nq=PL%Qz z_3gYM(HMr%ncY(6(^i#4_Il5~llDKg`xd&W(tbkVqQ=eVQ2P_qK445^31O?!|E6*m zxcm{2@qA~n|C5R4i)8F~W8?Ifpz0C)W(|IY8Gspp8Gspp8Gspp8Gspp8Gspp8Gspp z8Q7iyiuKFbz^=bKvaZj;H~i%RAUpxWS|I;^0SME9{QF)YJOsk3Apd?A2=4;<_nkqw z8-(RH`S+1GnGC`^*Xspt+^-!7zuSauL|;`tTP`mDB%xea(QP6nDI&mge9rhldZUYJ ziW>#ywb~MuB$;@0Mu#n&d}0;&n8;i&(li3(kK2*y`3RoZ+GT#_JwxJmU+^C3<;ie) z8^T~gYkDe6%7wY*X+!Pq+aefyZoXf_)5wZ6+EZr`y}#xrDO>gqo_erSN7I}I{YPQ1 zuU(gq7a!%>AHEtgO)lqI>VNCFWZ;iR9E_D-HspLm{ppyAx8F^lmK;sFlBdl+V5QDJ zs$HLn{TAmN9c5yLtm-r9D7lX^%P&&5%^w zmFTO^I-lYtGr>wdoIEA)KGMG$@QE$uPU$>lHX*7%Popc~n#> zrqwkvxtKMGpqNWX2dj0r2=aYL>+(N!f4)v(tQaTpMGh zcZDYO8u(e+OM`md`@T(|me&r911r5DIsAb}YOkRX_mQIR?BJSngw&VP8CmehpEBt& zK6rq6@leF_qsDA=URx)TL!}^uS7kJ0qLuqy0qd* z!P3hk@$r4fPAdEWE4`)n{lb&{o;^H^M)u*_jAXL*1%ROTlE@*_YQW68v zAG3WK6eG?72k8L~lLP7UTa-rRkBqcWiR_N@EHmTRaa<>E1UiZPFKy6d0Le5F5Bne5&NO< zy^awCCu7|H`cYEr(Aq126+H126+H1OEdU z*qHTW1N47c6Azl-Mo|Iu6SpW z+O}U;cZf}~lNp`9cWQu3ny-+h<~SS1ce)!3ms}vHsJzo#8Xt|1Cay!(vRK#j332C?^%hDvC@!h`vzooAZ9ChZ%x$8j`Zgw3CMtz zz8z)nIDBaD$-S>isI#N&ZW z`ikSc%NC{cGum}u1j704sWVAq%T=Dgc^ zD>p9r@$8Z6*7U_#>4n4=vBcqFHPX3sYsxm^oc<6_b?}`+g+*bk6rF8a{*~=l{*|3e z{*@g`zWf_Ijr=P+i2N%%gZwKye*7ytdHgFobo?tjZ~QAeYWyoZW&A5UV64JBTOg(> zaQi>Z0Ok6)GQ4rH@K9IS|AqfUU&I^I|<2wTS+aRl+}m=SSCwkL># z6>)5=GeE`jL*?Hqo6BZ63uWX<@u$1W!thhW&OYrlhtxy_M8sGRuDF1vMk6#tF z!Mi$9jgCJip%xHNQsO3fy1@UKlug1`w{;B&DT$?W5xCUNucX*KzId& z4%PR_~-yoP6d{$J9`){vb5*Cc~s(o-2~3R ziVuEtdEQY!6scTl9V?`!lwTs!*&Wztdt*SagJZ|E*<>`(R2=Gnw2YDk|7!u6h}l!o zBJ<&N)0r<#&V@e?&a-urPC80dinypP&w14)6&7+~O1HbZKlMUPn zw7Vb%D3PVVKx&36bck{{=Py4)A0maJR@e>2NK2RY&V5!rf8$AYq`sb|CJqS@>&Ef~ zDGcQ>L|OjLG55?Jq%c&mIh1k46x5eAk-|_>%P76cy%jQbm z(d)u&ZL~a_aCMta=>1&p9nHYb>3esP!n<~;SL(I;(o%kye7N#viawO?*<8fFFGq0Q zkHi=3xj}R8-pvyc)iZ8aK35oCvvR2U$iET}9M(z9UegS*a(Z4i`i^kTp`Yx2?{+R{ z6Q6lhN{|a=i@!gC6ozuMo|i2>spL5M_P&Oszfb2#a5N5L6Pf2%>xPiRMpj=4pZ2ol z($rV8$))ycW{v6v%g+=CX-C?c)?D*2K^ZWhTT=5DDGU{!U~}=d{yw^WX0y+--G&Hs z7*}LkBmwLG8hWHKRCO7YDNP4Ba8DtHp%SQ2#v{E5HeLIKK}A0~Iu@VKOLo;e=l;2( zmyC9558-ke5Oh$K6RG+1Eq2~}ZHIX;Q=i^Xtq~Xy6)?-?O=3Ky(V)+`;PM^M@%0xk zz4+2Hui1@@7Y)OXE zgQ7PFoRgb;EiXN`su;X4T82#}yC}tA2oTy(h$1ytQhy!6na)bf4mn079}`N~z87zw zQ>;B3;DvQal;1@QWsuO~al9I&FjPnqsw4(LBP?%?ZK#w9#Q1Q78Gspp8Gspp8Gsr1 z&A{$;BCr95zbHXITyLI#_JA-EX#Oq=!e>GFHVBu3@FWP+g68u|AnX9baUk3X!b>2$ z4>X@Y4#GYljI2MfnU5|I#s|&cg+cf<2#0`h2?&pY@a|3XdE}cUzX_u(=6&Yp4;JJD z6;$bP)HTm@MV=#tp(?Bs5H{ITdRf!DncJoeS;-!vc(DI5@Iw7mDpDB#J6St<$imxS zLq)n24#6z$Z3&0o;_(>qCta)!P!{zeIz`K%^T~BrZAu-E)CVWqRi0aYz^@FYTBPs` zSy8)PfYLepgQ=%RHJ)F_C1fl&AJ;w9ucTi?BDhqAGJ|%7d_W&543)1-PMg6f^+RXp z(8?t~Ze33M{A5~NV1#pA7b%<*)p8+Of?y=_1v&krGqZ<;C30LIUy8f&hIToAp!p;L zWg9?M_;5PPE;iSbb^nK>)xU~5fQIncA4p-S085mq01>=DbCJSOi3ikYPIvS#e4x86 zs_PvS!5?0fdKe3MSfVP16ox8dNh6TnIPOkXKc0Wv#Py~?|BH{G-vU)jiP}hEsC^)4 z3bnLi{O2r+)YzS`i95*UGboq=S@C-q0SCIKl76+@1)rh53L z@g}4&R0Vh5f)JU}Ib1B=5{KoERC4`jKMx!r_{I%Yq;SE5$bIHZago@)=?mAN;OY4S zJFraCSZ|*RJ#y*hq=7DovCxulr9*%tu zw+uq_XpVn0_QEa7yOM4i#r`&2JLd_i1ZY6(fMF|A7%JTwW$r&-S%n8uI0&NBfN)EM zq5dZ+5&2biRweRRF?{6<)PNlSL1d8{04kbGa`3o!FhTgQ?w(o~olvm}HR-#t0Oec5 zH%MWqFk+O&8DFD zAlw4N%OK2+s8_Ige0>o11K}qi+ylZyhWvDz( z&lw-iib^lu*(sS$QRP=lA098i2ZkJ{1(3o}J41L2?ea<0naB;1O`7Xx#@U<9c;hWV zolPf%6eivq;ya&II?XWpwBYQRo-oe0JDx_*rKHcsi11($I{TvBLQl|@PzNatwI{}n z*faO6oiuW(B-9OpG&OJ7x_(grCR$@}B83a8&7;(0c{qc|+}&Gg+iCRPrIp+JGVM5z9zn zs7i!)a|ji&^$J!9nNMBM4JnaoeadtXFq00NLJDi~PmEQ@=AB;=(abUJce#~3_${kq zQL2OQep1=E|NXBK`xDykD@l~?uI2pVBQ4F6#OZSd;9!WUCA0fu)kc8Cr#u@Z(?I#-rZ7P|bxetykk4^>t(p*9d}cJIJP{(cs7PMx;M_s8w` z0=@_Ch9fo8+!Pv7-Pgn_UUWRjaimvA{9I;+QikgX&pL5d+GMkzC~LK5_89~qg`qOf z9{1g8qski);mxb(T_SN)aWB1I9t-dCHHrD{5 zH1cam%}{&6qO9#v(%it06n+a)Nu;8~%jhlFQFYcQ=GZQ|c{z_6Lo|TbA}d-*;oaIP z779_jNooGtp$te~Q)k3-dqYcyYS)?%3Zj%kn zZ|Wajt+_}UbXkh2ILu@2+a6nhR(FvMDXa{U``Gljka3XF+V`agd$rWyOr}*5;0!2R zzVbl|LnT(eaike9mLMvqWWeh#-nGKu_NMtOV0ddP1SxEKi1t98C~x4cS-cWHcj*>hk@N_BmqH&vUz@&MnOwM3-E1Q*#xK1%A@tT|f%c z$$e@x73;Ypf5j)qDvCvJ=V)Hstfw^De5-O&(tB>-prCQR9aLX92YkvbFcw zO3M4ePT^()-w}5Hg}REs6T2UBcyhK6(x3iyull*;S(G(TYw~fzkeZ)iNMEt{IxHA;(KQTKjKFNZx@LTNu+`kFN$^@*ZTC$ z)HO=nx4B+TYRc37q*X&hXE^WUpGWEIjE@iat~ay?D3Ngaa_=3@k(ns|?%ORCW;A z+}RmfzhI6H!(8VKgiq$6f&E z?~4Nul(+z-*)Pmkn7V`Wr03fYG8-{<#T+`Xyb?|{tg2otaQO~$(V(}w3Gy=7L@xE zizmda2}A9IjIvUZQ{%weV+B-QB$SoO4RXcS{ysz1K}Xyf+%RK+X1zN$u#vG30Lb5| z&GRGVljvql5AxTmfUqM7CxCD>2>%3OF3@^`9tit_a1ID}gD@dzeLw_+k@W{R-(MIA zzXah45T*gG7bt?TJqX8waKk!IT7NHGKFu|RdJrcWdh5EklupwR9HXZ;SoQU*v%cS@TC$(}Z}G2sfb z4Z2g=E~Q*;7-#wOAA<=HU+(~vW`X_tqI^|{0;_l1H&QNSQ5L?FJR2Y#Nz%K&i8JOM-D5Ix#_!iQ`1510D$W{>fprL6tO!s_31$0 zwOv|DNt8UVKDLq^q#)Ijjk4M{m;uW8ZG#!0gtrZ5fD+y|m;p){vnM6EH_QOc0L%c) z0L;Mu9R_IEZw33W3V(=XO~lVw5r^mcHBZF+e=|nL|8K?*K$smd|K5B(7laQZ=Fgk2 zH-NAK;(=-N^-mz|fSB)YzK)##ZpOg~|MzB0hwxu-#>ty7R5I@WFNLH5G#gZ~FviBA zoQi-p8${DK0Lu4+v2iFpO@C+{l&=_L<4}60|J1mDqtG?FZ!1)$Hpa}M%nScR=AZ&D zFg6Zlc*h?a2bKSUv2iF@m;TT=sG1qy`+n~zhxqDTYm0*N{#UKY(rDkmjZ_}EJy%;B zwf9CEUVoKz^YkgZM0EgFg^oYn@(e1{-s0tN|L|>v@;_m097=E39~uW$&;(=SP?k^mL*t-gdN4K)WdzZm8V461 zhyKNcd%z6948RP)4E!e;K>EFr4I2>r{U5|DE69JY0m5z|oC3n_AdCg_m-B(JF$muP z;in)x2*PBD=fchYdnpjM0^$20{2GL3K$vNhe;rBE5fF9;;Uo}#1HvmHd;k=$Zvesp zAe;xneIQH>iq{th;d3Ay4#KZMcnXB+LGk)3AnXXj2_W1I!aqTn3ly)f2g1G}oU@KA z*FV7?o8tG8KS~4P_aMB3`0t+|eh@ZU$BKxtP)-;(@&TY6PTS@KKnZV~4*(^+Z9V{$ z@V5B?kiw|8klV-yfD%Tz>avj!042O_J^++3%BT5_d;lonZSw&jg}2KGfD+y|9{@^t z+k5~>VU|Zlm10_5Ba@3+6U>5Mjw5Q?z(zg*r0{n608ql)<^w~y z`2bMD+vWp638P$q*vJQf5=Oa7yO9q7DZE`i0F>~y`2bMD+vWp632&PZ042O_J^+;P zw)p^1!rSHpKnZV~4*(^+Z9V{`@OJqCP{P~h13(FHn-2gbylp-Jl<>Cs08ql)<^w

              ~y`2bMD+vWp63U8MW040oag>)ky0802D^8pZ30?1|U9r+o)j9oJs z!R2X#J^bX?9X?BT5stT|R^D2gCt;HmgIcq9;FdoqLG;s1;@+k6Em;cfF3poF*0SAY`UHeUfscyXy((V4eOR61aQ z{O+(=pPie09Uz*W5r}Z81Ml?9YcgiXPKya#2&SPGvC!eIb`pAZbWS9-a9*(CNDtKD zh#}Bu8~ga7^8at_Pp^md+kd`+i$R!W-T%LF-5-RM(Yf|NofGh(b1<)acvDOA=d#!68>lY*2&l^DQS zDar*5u+oGx-*PN}+1%W2_Wq z1%HrI0B$e?Fat0HFat0HFat0Hs2JF&`i})5CgF(2k2sLN^o_az;_FxlaYi6}c- zmj*$X2vQ1F&L3l?D3b+1N}=|2 z!&oWGig9425IX>1tQ2K_0Z1v-#$*^PMOirvq!el+N{p4FEOQA~3Q^b>W2Gp=@<2+V zYByu76lG*6NGa4dcNi;0S%(g!6mo}p8^*P`G_3VMwUA+U&dE)_mX{t|RSe!2EyJdg zU6f)l1VBomwok1eSFat0HFat0HFat0HFat0HFat0HFa!U$8DL(&J!}96 z*l>BsB7Vk-IEE1ivI!$Dup-VIm}@CY%H_MHELW*;&(kWVbxYBSu?x!& zG`v%mHszr8$tVk*oeC((vxxPZ=AXG(S=Aj$nQncb|L0II7IKiGQNDiX+9$6UJyTk= z>pQMrXj=%JzudXvyUh21>8q_1;zj_}#iCt_+s6>skb|r>*KFqNk=4dWu?B)9K9Gw3d+8y-u5g830kASG=5(8<4qe0h?*Nz?(*0Y?U-}C+mn}FXtS{w22^|*vMK(Ja;V4tqRsSJXZU~}n#m2i>LfN%*OfM7*wKzF$89*0iOitD}N zVB?4=G58g-u(z0va+-1#7c7E^5QNBdK<3#gP@mr!wzJFNN5-tG)5Kd_w zU=_%~KEdXM1S{bpVgTV1y#nD9g8{+H`hb1HNsj*1#hHuNV^z@#TSY3GY(j27^1`oQ z#W<`YALtGj#R>>E3oF$Gs;kD81`ucAQj z-D%sFIf0)d8nY!moJq5XNQ2I=ssx)E5_E@4I1vOZJ_fdgiv$Y`sLeynI-K!o z^DY^MRV~4;&4De!=1T=D!K!D1m2gqMf)s@o={aNiCNFUaIgIa@p&HXSD_zy`W5!)$ z&us4XPIb@cyrSy9>2Gf>zN(UIeu`v6ful-pYPO)%L9UP&TxVQYRl-Fs3WAmE1@8`4 ziWsZ}nW8 zu4Pw5>gt?6OhB>9oo=Jez>S9V-ucZrC!60W?0dw*X0@skPT9j?)476uYKD{e1S`Qx zFoTs~lW2pL&gpZ%q5FKq$m{ZT?}n_y@oBOycJR#B_g}Y>8tF@+rT&7^7H~W<;|rTgC7(v&Wl1B`0#NaOg=0UAAue^Q=!0`ZX2QUL_0ePjpHh@C` zTnk_lRH}lN_ULY+TtI|c37@kf;|3R}cz=vP6k%f%Zo5Te{Ec~6pGJQKjp_ut9u8$` z=Ro1alWpJk7xjKqA)w=8GC$DhMZZtq@>94TeZ*@(~M=xYPIUwDpEW$mG3ul?M^ z7mTIy$T#$#iEE9Rq4kK)B>wf&EDM`2OrP=5ZS8$EQfxOo`j9)_<)s6Mmg|L2Y9)Df zbt6^m*V7{sCnm7@!n8$zZcE-+S>!s~DZZRuR%ld{Sh*>)QP}F?;`E2hU$-h9(W=De z3)2=Mx~)wb{e)K&^c1cucg-GSb=FYT-&`7*cKGz%HR#YdGdU+VUzoOt&}~smsNz$G z&W)6})UZVBPml?wIozPdd%Kf!Ti-Ee{9}07d|}!mMz?h~pZQpI#C=f*ye?Li7k9qY zX&f&RWbuDi6Wl|i$G+DDn=edTB`ySA z@i#r-i_I6NEmCw_P12kezGS4`lnY{_6KNTQPYN0hzt%O9#`(^(RZJc6!R8Co*3uRU zLt|?y3yynP+V{9_Zo9uD_C%X=ke9b{d+$U~9M_$stJr*D+CokU0|)~M0|)~M0|)~M z0|)~M0|*2E;S6lU+}{QWHOR&k4%8WaEbsTHMGaWc_yFpRZM}afQoS!~X43G9g}Ue$ zGk&q>H*{?Rnunu%NaIs=ge1d1IccEUfygNC%Es$EpZ*oeTuk6KE3HpM^K)8%?#mu! znt&G;*1}TG{uxI++k(gT`d{dyrkmCoq3t`{#64&H==QTga_Q!!5r4Z`h4&;$S-%p# zn*~GI<@@g_KZ^8Ql*U&Yl3R~SIV3FI6WreR7q?RXzPDY+igA$pP5NN<8&^?Aizo4w zqw-o{q&g9*+vq~*HsI*YT^F(C!GpZ+&MTWW4kXd=y=ZHs*t3aJLoUiv27P}Eo265= zAMAQm&sY5|TKD}E)uh*12J{kYRP)JNUxkD&qPs?D+c>@d^e-Cw4?|b{Z%JHkZ4eo; zu=LZQJ5ZHyHmpVSyak)5hRyeS!v`Y~N51_?*i%?qlQoK86liMa>tQN?2D+Z+B}8@s zk1j@tJ{h7W&+*XdtJkd)(Yd6d+tSx>Frd`cL+NtjYL*?NDEmhL;P$QC@6SHp`}Xim zfkpHK1KJ&U=w8I;-%>O!+@M=csL>k;RoI?T2&$chlKGvUE=UNH4b#}$`IKD>H6^)5 z;U=~-@8ymr{@REJSr4ZM;i>tgmdK5273lVRRxOxK{$|p8DG>@i%}n zMhe0J!T`bm!T`bm!T`bm!T`bm!T`bm!oYtE1KTmJY=D^mY%d!%enkh~b7KDI6M)H3 zBfgc_#Q=N?z&8L~4B!y}GoaS@SGIouz>WZp18^;XX92tewMl(t`$qxn4d4s_e*`cw zYRtN_JrMw#0yr3hlQ8^Bp(Ykq+MfaNEdZCUz_1!GCx889N6$fE6XAmw(s?BM6c=My zrKx9XCm!Hp3@gGl|L{N+F2=C3Ckxcwy0{p_YG3tp4{76K46ADQIxO}lF2=A@B@w%S zJ;KEpR$}RHk%~Aj#;|fw<+F*JI2q?_XvFxAn-{2Zx?GWPlz+^;-vr8VSwPPQVtt3f zYP)40PMyTX7*-q4ee=d9T#R7_Puvs-#c(l()$#FHVxPdp7*-~y<9%fUF2=ALg<-Zs zb+{PA>fZ%kyQYGRF{~C=%7gQ1xER9;eLxz!^c&H}*wjs6Ro#e6N$6%bmkY*x==B)p(kh7h8(n!uF#BtDV`ZDB^`nw^1((QV<3Z z1`q}i1`q}i2L7uIaAF$R015rs6bCR~RtK;F@_b?9&U`ij*~H*GQY4r$39$)VMTX^jR$3MF@_Zd71Qup+82UtlmaV08?)C$ z4j0d`g2KTUBIa;1&LUOZpp&~m%68)Fqu?Ux#yr+rkcmvdS6qx?Rj;|&6mXhvffY!t zrQpYDrUzE^_GbCrySQ{4Hem+gd$&GZjA4~@zj2;n!o?U?JlAJeco;6muu|RWoqB$_ z7{iLoCuTjzX;KbWZv1M+qXJw!!)6<>w0Y8ri!p4PiRXnk`f)OTy_=otQ0AqyLW2wG zXB&NtF56szgj1=n;9?9b&|FmiS^yVgSOxP}q6 zdeJmV{h+VGxERCcZ29=MrWGe+IC1b_^hDOU z7{jJV&^Cxl#l;v_=|AOu_Yf||uz4W3(tU++F^0{1u&saR4qS|3HLF#Fsc?FoVU@Zo z9}|S);u%&8e5XSiH7>@mDLC3{h;jPThs_6*`lbB^E}mg?{Frh3=i_1woATrflWs3A z#;_5vGBx*}p@tk-mpg|Qdw;@_y0k+Y+ZQlwDkX`87@Uk@Q*yDOZ9 zUmO}2eULvP^!nf@Y@DE)_-`m&m^L;*s6jiX2%yd!sAFj@0Cjdjy}oE{h<=?>r5DwG z4%8WqaoHp8;>e$(NL@>x1hXK#AV*ZGIztB4~q4o?A@0Lgj;k1Qwid- zU4COK?-H%3*^s3ojhY5P7i=#Hwsj{xt+-;2mo+ijzi#d^5b_RTz5A6jdWYTagS0hV zcUnm3(KoTQ&13&3^LM8Xmv227%2a*$D0y+)<+t>QCO1^(DBWrJY|J`X97>mI{^V;>%C|+iVJ4dEhys=I z+&o+Qqr~A?OSF=|Q|Xd=BUN)nxsK*X;Wu*gd3+M45t~<*I-;MSonXjBf1Kdc_w}A@ z8bn=lr9{_26w#1mi_ zaI>sgTB$-m?)0yAwKD}oZbC0_+~hl>saCeX%vAAP=%LMd5Xs{Y?n6u?e{!Go^XF5U zD&kZD8+K_cMk1@4W8=O)+8n>|`g|afxC@EsiVl!3e#QCL$MZ8UqAO~W51nClEz}F? zAuG}i77XH-%QI9QHa$G2Y$zAZX1k@9V)|%*)AvJpTZx0u-V8dPd`M{NdwtK<4<0)` zp*-a_rYXve@oHJ+*~d2Zg~i5}o+8`2+4IE`_i#UJFV46wzcc@!NTj7?u(QPb!lFvo z=hH{^scfG~hCfG~hCfG~hCfG~hCfG~hCfG~hC zfH3eo3~*zNR*wJCvD4cz|1W_$qp>gsD_}4u2LH?b=kn$T$sta9{=MH$#Uv+MNoL-# z^oNRsS#SNz2x?4=$O&NpVE|zOVE|zOVE|zOVE|zOVE|zOVE|zOVc@@;0Uk_)8z7cH zn|^@`9$vYB8ol#$C1yg!{I0~x0CoZ}T84jR{dxfZ0x%DtAD{zZ9{^_oxE;Wxs5s=6 z{zU<72H;QtKL_wIfay`e5-ZzR1h4~uV*&gcz%u~m0`vlo0N85<{+IJH=zwtPd**5N z4n1lF@5dKQ92}GajU8OY^(v`rK1-DM?IWjLQx8yld>5kzLCbM#Z3D4RB1Yqm0!^`q z9NtgEsY-a4G+!95sRu|rP1Q^tJo$FMw?KQ7V<7v5ri8t3iTI8SB%Q7DQxfxDQxEW& zoS6M)=zxX8o(Cre)SsRsBxQMNHl)3`>ws=0h0tvIntFgiI@8wKk3VhWn>p?frpZDj z=a8#3W%Hc%p3b9_`e8!H*VF^difXVpq`?hh{-Z0F?ch?(| ztf>e1gR6l+erx1QTVk0aO-hSW=>cBcUH~S_{4dy3`)D^ zt7?w1DfY4hqqk0U^T_b$vsWJ7x~3kWTI!a~FVFC>%QuCo-Snima*xJJuvWytO!L;w zkYE!$={5BLxq5aLNNY`79AlZ~uM`k)s2(?#6cM#ka!cf5?EfMfK);qAVCJ-G0>2DZ zYT1LflLdv3@C=2*m@i6tRi`-m)R!_$$E>Lb_@2b=^T{VBcbYeTIY-*8x-tGi73Fr- zFFC!M$I~>2*_7AR1GGvwIXy?JAE;h6^)vt1_RHge;&Nf`5K~>87>zC6jhr?0014E~ zB^u4RC@QpbN=UDy5~v*>ChX=pv?=j1O?peaNW_|YfB|AL%pu>mNSlpXmXSH=JoQT2 znP>kaWJbC9nBZCU>rdCz0~`|Ny}Ol@SnwWHhDFh zNXG}l$1_glxN$P%pzZY$J?%C104v^o-oI$V$F;*TNG~LZ{%D)QMZ$ud^J&IWoNvQ4 zv$EIJ1B~^*^I3-9^p;TyYf(j^0YysWaC+CIo_$i^Hs|E|%%5xO0R|kcWC$)%HzN*R zG~?EFD^!7E1+#25y7h=mZ_?GIXs)RTSfw}Kwv!`Wcel{Yubq;c@FP@{`_y-R5h(t} zPrp|v^&Z?76-aX`Y-w-j7rt%cZZZy>gc~~cc_@8hHJBBzG?!;EVUg{mh)gBE1-Gwj zNlXy^)%$aoe$aN=K9O1C8NGKMm-y4C$S=sgIa2BIzDH?cuT|`tVt&`8`aaN0Z`T** zJy_758CYpSN@ttK!cIJt$Ew3}=ML$bVty}3l4QVt$IbddSKx|p{3pBsIxhMYXH0lHGW@NKODfb05(RA&sWxe1z;Z3_;O)& z4awK-6m|jtaJuo9ALYm555y;(ufMc3H1gU`UYi!wWpS)7i7%^AR7_*tPGO~)0H@^J zgMB8Fibt6T@^ViN>WC2hxaoQPskF?g7*RevQWu|fJB5|v1D)PF>EA{i4ZWQq*QbyU zOgt<0@u%or<4Lk8vE|sWBo>+ldUz+jvZ*?yDKle;*ZKWJ>k}MN- zUAI%!1CNVDTig9R?XGp}v~b~%nv6uRa%#w98SLGglOpymny&J;@2g+?%InMHl&mBs z)1}Yd4qmrYSe-0@UYe|Ky%Sr?J_zpdf3tmykXzqvw(NJ3>iB1r-?jP|hPJQUsm<9N zx;q$mn2bHibnhk6Vp))FkOJ>?i)M;>gr(Fid?ksCls*PUJcM66#IqYYDK!a6c=I29 zTDMbJ{WaiD>8}g-tL&)bkSI7B;MCutC1H{N@W4a251!Q$91O`Ozt-&(R@@J8%8(=# zU|BS_Ggh^K)>SG|PvWBaX#u9u)*-xvzJ=C>*>yXG)iMN}GRl9hH5UJLQ{lXKmSq&X z{KkQtxG_%|s)1v7qMwtolUlbG@P^7U^3_CN{Yt!$qZ^+dCb|Bh|JayyPH;A5; zT#l3#im^H)x4)^FKl)MoiR4qMrM=g(*d@;$a8#S_{6i8Cqe2K_QzM1oMB}^<8lhh7 zzY4Zz(B)^mM0ntlg!*uKpuKk-yxp{nx+skY#&RTcYQ~cYB;Pr(2G& z+`V|bQZ6i0)^58>iCp?!oBaFh9>l@wbpwOAwfXw%DyNxCyl95D;T43d0W)CDeXEI=$}B!Dbft&CX#9FjfV8z`OP^eo8Ktxd&I(K1x^P2^{!g`FFs1ic;BgoGLy*1V_fx~ zniU_9*iO+IO^xqL#;5g=EnRo#jv052J+ryjJJmg(^NOnbroX+l`0sWOn~o_vX7&S> zi)N`{6T^o6`GRuGP|q?*K^Q<7Ko~$6Kp6OUXJ8kmgBu{hKf6ke8n3U6XO{u66@c#m zxD3E!0A@q|My_mM4ZvvK@Rir^1Nbd~7Xi$N8bYqL*9Y(w06zwB7l0{H^9w86lLYW- z0EYwkC4ff(%#0c`uWVlhz~=#+2;c?)&jFYhHA-IDzAk_-12`MNp8!k-3ikDBpUbzi9y-X*xisnsBKds^y&S742}vSihF zt%o*jut5gP`TnqlG_0BLPxShU*dg)+gQB;0vWVMH6VlM1Qnt}9{vnU&HP?8}*nG`= zf4LQAQL1u$+(&1mz4DtDlZ{diD=&=aUka0*GN5gYs=KyUzQ0a0!m|^ZTfaT9;bd^m zzzY{YN3Um8-8a`ls-5eppXa`2zQ1pYkcTeo>**><>*sI3ogb)8u_hEI3kVO0{}kRa zq&mH3zQ4Lr6W_A$-Vy0el#)BhztXxCrenv!i95*u7%=dTo=sOp~ZOZP!(}zb(Oh0r86x;LLZwk@j zdwIRpY;j04e64(c8Un+EWwAMD7DNwc8F#q`CHMTuD4mgR;lG_!GUR)E3U*Y!obM0Y z9Kf3S{;W7@Onh$--1BU3IJGt4aoSOQ#)+H~X?LdRm(S@h)9|dB@6W^8QzNz-x#EEivk`ky_GGT`e6;2X(>@bzN6y? zyV7c1jZ@q=O|O~nPlsY>kbrVsCOKg;%d3w41A33PC*LxOKi!lrX5vXv*uG}Izp6Vd zsqDd9%XNP!hePMuAX(3MdOJTG9e$R);oaa6lkJ-M{^k@9wQ)sEDv&0zC6dio6B!q4 z<=2^*7qL*eUr_KEc(i7|ztNN%g9nfHwTAm?MH}%6DrF~TkdV*v5@cTBDQ!*et%05T zSkCu{ZK7q(e1C5zzH3&06D%>5qJ3FO7g;v>_~O3`%^NL zd*~wkFh?>+{i?@l*)IRmb7Kr7zn?8dsYcninCR?|u9@%8)rrDjGSWZHM$q7geE3bFw0b>${ElO7*Gp#Qrr$BYSu@|? zg{xQR<(x}BiPd*1n~J$JC7$(_-p?;}(VDV^jrYinm9eyid$$~QG^{adefMJLfr z@voWhuUKDTsCKV6t?;wAtOe>R&0{SCiVHP#i50(~Dwd&rTCf3(%lZDuv4l&mneWe{ z-!GK*X0@uq5k8UA`jwkT`Ca4nzi}USNq)Frg!GK`n)&{e`|NGXTFC5k$ghPv|03e9 zu`&3V5;|F5sF>{E#Jsz9&3u3JHuo80kNE5L2M>ONq#QlfeTlV)J=n+z`@VlBsLrW_ zTjPSz`To$4kK{(oR;I7^MAe>b(vz${_E=1VB8!Q3p5%1YBA2#egxs3>_MVxrv$hB3 z$V@cvVLQ(HF=p=>rG+rEJ{7f>qmLfvR2#rXZZ7BBBgYaax@NvTiH&714*ZPci9DA7 z<#j^TczGqh z31D{Acz5OXbO1}B#;+@{R{;1ZYW%tKde;h!ZFBFs*EC?a6949E5VpOr>+T%v&fDMY z9Jb$*b$1T-m+Ln>hfNh=-JOHgAo$JBh0G)?_i68Wh}Y$su5^Jfj^D)dvysae?oBff zD;avKnXNzm5ov+?7%UZRd0}Cfs$SemMSaZvD%ip`P@k!#67jgdzxk`^mMG5>69Fx! zIdU$e-FJ=z>`nI6e0n>0*B&q{CAMsnIHhF#tD9^8h3%Pb-7hQb6XI{atdY^>Hp2t7 zR}zC6-+T?yGvxd3Y24$!&y zwRJ7VHYgeY3`|qWkj*Q2_%73X&q0UY=?4JnH*)R>5{T5qR zTi8UVV18Iaw*g0I?z)IA4<6)ocV5}7aUh9???qc9#hy)+8gfyV%kP0WzRTrwdOJF( zT_$-lB${c@_42Y z?}o)EF7s}&=$KTqdnzQaac8r{kz*lU4Nvb;W}lCbTzBWpyvAM^yo!ibGkWs=>bsGV zN5dnEzuUR{-w14di{r*sj5<`a`iaFi@tiizN|$=B7ho$d5Jup(?#{sqBLC)B2{xIP zb$1R{)a5rjhb;-R873Vx>Zx(52=3ew<)hN;U$MoZmS!@8CjXt(DLdb*UPK zm9>YCz4mhtUoe)+Bj3<}CayJNhSnoGlla$9v#hVXGbIEAybSvTD9XxBatD-&ug+Ic za;xDnzq*!go;GKzwx{8|HlcIQJvYIeX~Q>(6C>10LDYomTgIQvgr99beaGc)BAGLNeQxnJ zdH-?7XLsoi>)wAlUHt0i1A;{{xvlsrA7t{~#WL~~9&`mM+^yz@s3lbKDMRN*%3Eq! zqV*@p1k)UD(Bi$_$+@lX7&HDcJbCxK9x~~ZwLkFWTDD70JdH~1%K9m$L@%VSZq9A4 zcj#iqgWTK~bw4+@Kj*#k{;IC;6raN4qK=PR0fpU!*@13olSV(`)dW3->&jiT$5@>; zRP{HPMy4G;J$DT{G|o)UY3G<*S#>U$sk7_S_8@lU+q;6)OA-(3b&eOD4er`3_njiz zQ_7OGcCL2oPAAXTaSD{Ol!siWMIy8&)rM~;$=l+Id^wtKux0Q?1^(tA7dgThUS&rc zzfLP5*`HuK<8OMv*EfO1TAWO_z+N{^B{uswmoTs6gTr<9?lOH}x6Fy?##^u$J3Va=)ma!)=Qurms$J@ulKfbx ze(6+$iC&Jn%5&c*^Optpz4#R>>VhY4tSoY!?G#^5FDo>vNvzzI*(hxFaB=#><*!?n zj%ZaDiXIAoO~H>R>X)lLX=i;TOEZasKWf@ii&V=OWiVm=<9LZ6i~qBl;2s)1_Pr+TZ2Uf* zxz9=(LIwOczV0G$;dI`%zkr<3Na6-ZcE4;i`x`scBju&t@|SY9Ptj`SH64CH{rJU4 zUZF36{Z?HUj^GteJlXbre^Ku@6#_agCi4T0UiAC)EkE@D<^UB_`eSFfAs*(jSo||0Dfh)7J zxBheHW~fP;)54dGw3~84OmreGgYZc~qv6-OM$$OndA5qFBR)nMIXkFcmwNmdOwy-0 z%oMM~6W+N0;Jvfr{171-<>RwfM`SKt@4}P4?7ru{%&zZ&Vj^veW-?hSA&%t}XM9u5 zFke2%31I+X0AT=O0AT=O0AT=O0Ab+&V+QtM?j0`ve_8+kJZ3zKL)@XF#7|Rub&2REr10v`vsQk-v;n60H46@A3)bf@&PQT z=v#MW9Fh-U5d8+ie88}6_AOX_l&iJcf+f}#j*A#XS9}w+`ZFAYWox*Nq1DqmB2#_QMSaY$!ZVCt9 zNZ2$0*8T2B__xJ_s|2R;`^7i0H3>HG2(WMJ@ zaG;K5oq_KdygbZ7kB`vT_o5DTS=Jt4_yb}ce`C}0$EJ0LEmbQ_aX?a2rsY*f=!rv-A-X;zyYWKNYX8A8qe## zQ&>f5;7bMh$|NAc2cj1rq z-Ck;M!#5?EDjuU}A!67ks`g{iI}y*}!tOa@m7$T|bvu=f5H%0yU~`slCK%7ll&H-f z^rZstREcM@p>1r$qqfvYiAAZFcZhs3?>+ZLihlWNd)5=LNY?FiSAnHp$+t+AeKtp{ zOh!6sog5eOL8pKIo+E!C3?K|33?K|33?K|346I~ed7XX(MDgc;FR$S*>;D^J#{0{7 z7{D%=@%{330?c@R8Q%afI{zOB%G>hwhX5AGjNg~9mjn0+X8gW)6)s z*Zt(hIu_*iT+nUPqy1vF)io)NJ!a;QfA`7DdapoH80DLd&khMVn>|bt^B_?aiHJ{Z z*dWC`ut)5A_qsdh^y=G1$ZAXBk9(3o5=v~tMcNN9{BGy4<+ECM=U}sE0Z-?Dz6Y`V zVQ=SCb}7`9+ak+eeO4OpN|-MUB2$!kabwTD6ii8ci(d^-YOrzkYAp;#g+U% z>O>iFV`vebg#$B-E~RbpV0+n-b!R@%v0@zLev>{}{l-<4(c(#b<*2;Y?+U$R%jvXk z=3p~O{pQPxE$`jBI|rL(?>9S#Euq!AI|rLS>o+@xEmz^XI|rK?@i#k%EqUa+I|rMp z@;5toO{(t$z4Uf{VcvrU?U{j<7Nm5xX)Nr-LwT$^EO+jZuDf&6Rtf53^*K$gWR8)7 zoMoAP;_c(V`&EMF2L!o{Fn}3to437f;+S zBu|5;L)i|a-Z~JrRCSKL3VS5Uewj$#y8Ts?_LSU9cNy)6AE~76>tf1-hRmE)4?Hds zZEg4Ow7b@=)53*6YBCZH)fI*~;?gtKNygrS@!emlMzuD0(~am1`Aus>ulc1Ta4}YU zdbevwOTEWe`Z_`N*AlyPNQGh`FGA*iT#VtyvJn5fgekN!wj6-EjWz=}8q#~`H|Lye zextDO5eu6YbmCHmJ1(A&8F!66v$@wh)jgl{imLmjzrD3Mbbu;tDT^((H<8}E)3z;h z0zXAGW=ncFlV%T*2Azk#{R+8@i)Vdt%HrAW<6l(HT+6PA)YUnCn1BL`b!X4U#Ta%C z+Ue2Bo46Rm=C9jCXL}eIl3Az2q3%?%PIC?7_7h~AuZu_(nGjTCKBNu&Bq;l^s&dcvM z&SjFHyjM)}2+EXre+)O{V#5PYBX4i3OZj@Y_6J52^x;8IFID&AVr-q*AfDLQr%E}V zW<}E^lGPQ=tp;fqRldc=*yijF-5rcOOvavMy7!W3u`I|oNI_Ozl}xx8!_Ix};vzhO zld*YByVY|WbIO#xTQ71`@pXm-(?HJxjd6O1IXM-Y<|Mo6SX}s0+CjzebsOniDip9s zj2jovu+zjQ5ub4SUUx~Z^EqvM-?FslwphsqTDci%W_^g%W|J5$o?Y`(BpV7GRdQ3a z1*Hyhg}mT8;|k3jC91^5*e#RoYGj4MA-wJYDfzwf{p30AT=O0AT=O;6H=`5zKvTfSCWhBlN>H2MR66`)@%Fx>jO$0Cxgd5%qh# zvVJOnDN*C;mDkS!xCOv6sPXa2`iTH0MvZq@UOx-qHvkr0q3;KwN)&)0lE1fS4&WL9 z??LUtU+F&_z_S20Mu{J+tp5tYJg8I*E3XFuczgw}(i?Bv$&s$RTWIFjPRUL95vs|3 z>bt%O6#wF<-z$`QZ{2G!A`KDxx}T**6&5);4p6^{;eRknsRzJB;)ebtX^_`V$@3x3+9Xvd-M@Lv>!+vJHcFmXezRwCC%Zl&0wr;2A z;GVyMrLelQYOcm7&UzOtiR z7C%grCFiY?TFJq#tRz8M(COO&&X#?9w;OJMQAC#+Wq;kEPC(@e0)8@*X`)0@HhM?UF6N_*6lQJ#Hz5^jKgYS zA;xkca_h;TTO?0`clw^h?eobeCU=@QemO_lthzD&K^5h8)h{`{n#a>LhuPL2V9&6( z^3a~@ty@3rKN9+kHpj7Ym}XT-(8uOT=AVXIBlLDWFCWiXn09fwg&NxuSKsN}1|25i zJh<*Vonqy-dmpV+o_XHXNv9}zuk(nGIC!U>W`t)aGPizvV8hAaoPifEevV$xsJd^i zg;YD&Q$Npr-A=E?2ikqw6u_jG(MKG0dH1O;xvv#gIZg55Bb<__tDckM>tK7Wbb8W# z_f?05Yqpp9wn?`i_F1=6*x^0!M#3hOvTmoaGdO_LAyMADTRDjpe|#;>4O0x;KFd+m zZPdW4X!bcVy_Y>PsFaw`SdU`Y4u{F4U>X@<}qAL!iCb9kIUJTJTQ4 zB|;v$tgol5B(0yn{dRt!HpQAym@FVXApTQ$$B^pux}64ftK|-Q(0kB!e&TH8`(szNYoX4$C z6zbR`;&zWWt=#O(x}DNALA3dIN2BaxA9-@@{BWpZzMutkIy;cGxo**W z$f&LRgI(>p+0(Bhn=WUY$I|Fj^>6>a>*RDN@6w|#>M?MsU|U~+;8rKVkIc_q`a#=e z`$T4mXY}56T;flkBEKN}=18T-`yQo*y;ia2&;M|WdX`-(*n$foxClk>2)cT7gyIlp z^X{DDp*F6FNd?j*wnVb|Y9ixet^7I@^CA{1_X`Rh1CQ2CZ&v8(fhVsl8EzI`2pS-y zc>cOqClsW2-sV1I>=A#x{@}q+kd&jRx-YTzum>ACVc+-91l2ip>vlTolkEpTB-;Y|5L9^h>z8|egkz0=s`be_LKCPl9%UQQm*rgfZ zBeQsxihFK$kJLeNhXTA;o6aaND5vxm&SfcYwdkr7HW?jAu%NW=+dg>!wNniF2(BK6CtcSf}iq*Zr^uH);T%FtIJ2qkhhj zf-rzEfG~hCfG~hC@E^p$vd;g1%J}~u$=8SL`+-1Qbi|G~Z6qLSZcw?)V@tGS&hc(f zUUs3)#$Jq@d*VZ5iI-z8aBFgAwnEWmce$91UpIAlpLnOeyFxW2=T1Fw9A%F=V~fv5 zP39~W0`+ozDK{vW1~GVq7C^ z;6ppEog?2K>@$&6Jjy(fmwReZM}*+VP0!;`rDaaVi1Oi)x~zXW)=PM^_XDlrN5OJQ z<6Ue7+ml(Yz5VUZ-8$*tMjQ>jogvq!kPb{dEB5iI#^)c#Zc!3G^);%}>t+s@{De3& z_fDlt>Wx&*73DgbABEq@&FAq+m_}?~S?Y*>es+Q()69`&>C?JAJi<1Nf?vULBX35p z;4FU%v4tU{rb?H}Kayk-;~VSgA4$fDwO5!5H0;Dvxm2Pid13`-eQCzuzty?q|J*aN zwUu(jNwQ4Tb=~hd*zH8Wxt>B}$YUAo-J6pl_AZ*P^0x1*U;E1I%j1;(N0U3^${bP; zVE|zOVE|zOVE|#^KZ5}=%x&O7e=OddKw%Elu?Kaai#_V#Kpo3@0=zMp33W!7P}ISJ zIyRvWbcshD9H@f@b)ZW&>fk^f%lizljnA>^@hh3hJ#-O%m?N2^e%0f&Y?puOxiJQk zU(fA?Q(05_ht6VCt&8KkTu!IAql4OIk|#r=nf6>S|NBENg5J%sp20>>Z#QC#r$^li zQV<3Z1`q}i1`q}i1`q}i1`q}i1`q}i1`r1R&oLm5=`o`J2SJ<|F8)*W{}fU8v!?#v z{ci-ezQu9lDn=cuS^dP~n|Mx}W~EC#*9)+f7YHM8TT}lJ+f2@y`hVDxoWbp|`&0i9 z+kQUwOB+A2m}h8?d+{m9Lt98(<_q_F>5Wt>wu%*oU9el$|HHOCxTgM}CiMu{ zkM6IICQtD)*}{#rj}Iz+D85c}RQPT4rVX!zd0;o0E$jbb+tRkC{vS5w{5AFeuq8}f zQ~wWJ;zQW&X3P42*fzJp?w(!N|NDkzukM=qf7mkKt*QSPb-$O6`n$HS#n=WVt&^z5B1-pBES^p2)UiCHg|Ki>ai%(qU-D1%(sb=?7NM7U4W{D%m zLb@8B-lNPuA0N4<{vWn=`8Dlhv(vVoTWv!9D(Owr>$~>$}aC z{Z3LH|BUjxR{z4#_BHkYuw~kS)gM{b|HHObY)$x0?3tK1XM|lTO{=FUoI> z$BV+?tNLqQmPyxXqBZsZuqCBgQ~$4wZmOSPG$S=L_z0OoObBE1cA_25u?}0Ii+Fp* z1Y9*>MM0MJ|FG?&`j`5D=m?ywjeIOsKKHH9k`oQZdU6ZOOGRAfO)PUa-1(qbFUsCM z;&Fd}^H{=wk0VcaK38)gCmd!cTmutMyQz^0{zI_Di&cXBZSy+oc)BIYkt@U%yk5G3H|M zepnJR_SG*p$2|7(sKEELW##RWG-+111%CB*;GrAAwq0`Rp5V4XdIMp%5Ztqc_w5Mu z-TYaW8N#M7zr?|rUxBUG6g$H&U%LE|bHdI6GP|77bnddJ;`Q^s-z=Y$5#&{+fk^f%ku;$FjyLOMwjLN0Th2gta-?=%^zUft&S~?52hQ)31I+X0AT=O z0AT=O0AT=O0AT=O0AT=O0AT=OUn*ZnCMxDOkJn(rxH=in9pBFoimSKB7si+`pJ$C4UoQPo>uSB zqek$4e6hsAK`GGK!Bt$ZlDg)zM0wvna!TUyTJ29{UU6~$q0YzYAl=?W3x*K&Bhja5 zWAX7_j2Z+j$E~#u#5#!>jXMf7#UgTeKMkiU;a$>vVMsz+XGe3wVj}Yi}6l;=Ah&Nno=Ly$*~0i8jWT+Xy!G zU&QWTkI=^0vMt;x>37#~)U|Q|a1*)2%$2W}Jt_yZOYy0vRDxXc%L>qJU>?)Af znzlH`GRt2nAmC6vZY(JxYNzCu$i>+IMKpjuUqd6tcig-{mDA;lgrodp=KUs6hRebM zv~lLNX#&3tRchITwvz>gkMInI!k8~gdR3=5`qY;)Ovk{c#>+mOI*B&MrvA@57UcF^ z&~4MB{bIG%H7SifX6BC}_stud(8g8?C#UB~^#j$brhexC+J1RFP+Ts|9b&4B6Qi-E zyO9H{KIx`7xRj4~l5xztua=@P!_| zwJalZ(0S^Wv@_5CN63tF^D)7*>ervbW^wCyUzvb5#+EZ~SAnHp$+t+AeKtp{Oh!6s zog5eOp)lK_I<&D8&tyZ}*oa4MsgV+kQZ4Tg`C{IC?u!)t^3(RLCti{4&JC6w7$?Nj zE^?e}c|ffjec6Km3cPkr1#O&rCvu0`Y+U4qjSkdnbsLs%Vh)PO5(8d8rD;a`I)Xj)P z7tOeJ-3nEpSivk?jcz?6)0=cPDVnhPO63Li45N*)sky*~hCwuM_1~brp|J*+kz>(^ zjLpBLXj-^Ix0+C+HxR0@J)sa(I}0WAJ3U>H5F{I>vA6RnyA*0la*e`GY-irf9ZmeT z5e>2)P7T6S^GPuc_SiCrNn0hTkJaZiwURkT3UZcZ_KCNTLt~`eA?Q25Ce`;F_RPRa3sO4UG!}N^p*&U{mOFPyrTwm)YsH2-K=5;)OPTqE=2JMn=@R>0;jg8p6#I)qV|SPtuNfXyrp4LX~s!s47T7 z7(f_67(f_67(f{KuQIT_j=urIUy3G2wrTuWAW)EDN>- zyKNk-giGpd2v)fPZ0VZ=-sSLP!%^kLq4ex6N1j1vZcD7{IPA7=u%){D`7AvwRzA-? zI4h)kzNcFzK`yIWf}INhTl(sG!O-&c>(;Q{_kSH?sy=?ymSD%ZU`w!5OkkyH zTO#$0$m83p^`duHUZ>oeiO*NF${nm~1K1Mm#(S_5F6opZ*sa}QOR%$VU?teOF0c~p zW^k|)E-9HISX~XUC0IEKuoCQy09ff-?8#eJ&gze7CDrr-4j;Z|=k{&?s@D#ugb?>T zZ#L29bPMxXdAz{4E)abtuKs;hOKlHWH&>nNcYTpcJsHCmLrvv;d{ugL2v$J>>^SVe z9jw%%Vq3_V_=U{**@fe_j?p|3(HlOk>J#k59@r922|K1(x$WLZ>y&4nH+9k}O5W={ zq9eY_9qc3|=nhsN0Ic*0$}j$;#z)^P9d|zZl8e^oc&YSN?%=1V@Bb}d1{AR~q3QMk z$&xKq+~2%qWZ09qz0a>|33hG^?9)dvhXniG@1HyMcun3iGmd-LQ1x_GOAooJWE_Nd z3=LRz9tPK67X9*!}#hRBmVKYge@dt3m>{1iJPM>$#dS%TG9_31U+o0_|qD$mjcoRelP4D}fQvCVE( zC0O+z&>gI<3|I+PG6Jj=o<*v-K__>Clu@t5%}Q5LfkdeKE! z+*RGgVpoxQW1~pwoJjLf-}5?aC%g+{=HYp%t17`Ro`CLPjGB8E4-zz8+*Z9~!GLtdPCUnuMUsZEeOR@Fr3OAZG{ibdR?^E?) z`LgNq9K)(gu%c36#}lgj@y51yw+VEyn{jJ3MZQ1kuzgiau*)7`ORx$rmE)ZD z1A#0A-+9Dv|IbyGz8{-lPU$yuw)|=@ z;ZMOb@!g}fYE>mzp)#;f!B=*4%i^P!^>W@Csg)e;%1RQHUDZ<525p(S{_t(Wsj8zB z+y_obBpk?HRjDtOGErNA2=C;^k5&`O4Fd*uyH~#pU?<7JKEbL?0hQ1LTy%+OyZD%r z#!p73RmLbl&Q#yVh$p}<;AUB~v{HqB-05FSJIAwr{(LG^MVu;N!!B*bNMu!WY~0sJ zo8uQ=pARGwcOenom;>aCUva+m@%+q-=!%-;LuZ&>3-v;J$cl7>1%vqI@(dM+O%Km0 z8_ET<*>0(&m_FLy^!-rYR^s5ZH-nBR9}-#`E$_Md!DFW;{&hZy#Tv1ElD~d=<$zW%R_k~53uF=<(H_kbv?}(FAJG7z( z1d(A-%+(J?vAXy40@8C`D|JqK=LC|e{^*J+$UEp;N^!+x&k_eeC|aBsg)+)}i1jB8 z35ZRU+^oqH^Q}}VjM#P?Fen^cnla!{e3n~GY;V{oaxBKBbb%`RLQYHur6ra4Ok!6A z0gJ>L4oLMpZ%~Y=a_1M1B2$7RJ>lZa{vkZgA#_%m_wO%p5E)%=Gdw_hB{7)s&DS73 zL%#2x#yy@a!o>+!-b$v&Tm4H8pxm;*a{#vl26909H%1VEFn}NJ8 z;I{x?T!CTN0+9Ux$bJB1KR^=uxO&_a|3{ftl~(7m(+|!JLdbpqWIurVt}g<`zxe6* z3Z>qIo5zMUr^0&C^UYuQwu!sRIB*hf=-B6>^o7-6R=m<&p237gwv!?b05}Q2Zveai;9bOjpP$eJupfYP z0Ne>+a+FB_%J~in09yb!48Sh{{1w1Vs4#|=?JEP=3BU;et_Sch0P~sr(s6Oh8`hIgb<%_j%Fm*6q(*gc(+8I z`KJwD_uwnb)JW(nTV{<7>^_KIr%^$)an480_^Z0F)CunrT;kMf5V}1r^}s8zMqF94 z>burM8#dT5Ub;+1VYD&%_F$ihq~cNLfxO&PgE}GvKW=&+e=03=Dn^tKkJQBncEg8| z8>trBSoHdd*dg)+gQB;0vWVMH6VlM1Qnt}9{vnU&HP?8}*c>*{dblz6I@&n5!YoQv zj*t83jI>vN(_*qw%3$e9soD9wx zc;Vvb==F@M`{r6mwR1i7^W0&BF@=o>Wzojp5+M&=*4NWjlGe}Pemg%V@P!xHdstd!-p7cTsLasTlU>MBHf8natHZW+Lzst-8<5b-1tHq#lz%TMhqL2 z7_-+z4sE=6mWq3Bc8}CSafbrDSDVf#FDR$<7S3ff`xz18aoos&4KxkD5HW`~zIybX zi{Un9_u%Qnqa~&vIs}UC`RzA_=T4 z3d0W)CDeXEIt?2*S4+Xar1W6LNn_%Bd*GgDgTtw<0guy;;xkU2{ zHW>0|`Q5wdZhJU;N)oj(z3BFiE#^&WJ#%9}SDcd8WzWxw+k38-5`@BTq#}Ip)`vD` zNRkS$EE?MxtJ**7DwU`wanby=0Mlse5MDyxLhHgTY=q@E&i~imod893tP30;+(3eg zJAxol4B~EWC>;hhwDRaU*5cmG{A^z`Y|-7`OmDSGDn&P14t!3o>u{Nt)a zblZXUccvW-JnOu*S%~J!=q)Y&`ReA$bGtp#Rf8($cS~I<2De?@r*h~!W!6r+eEuF^ zd1Z{##Jt=gxiilt7CTv+Wonx{H00PrM(}*0(5Stc_0Hb9Z62+fg%TOH z^LsJ)`QVWkJEvEBH2%_Rqw$O4M#1~W6qISh_q1;|YqrP7H@B;%AAP-hd8HV9KWq7| z;XW1TQx}X`7u3DC=eCWTjZA*FYp`W@mjmZBua~H1)%D3X{hJv4&QA-De_G{Z_;72$ zn){mJb_Fv(NUJ`4%)xY2&pp+4Uz|`4+}(5HcrP*dRMo@L#SeNH20FJYI@)ISq3Rur zGm>WdG*A83e!>j*@HVQE?FSuRdW*rWM`wknM>?m~_jH=mbbi2|E)DNp>A&ryP1Dg0 zjqD1xUsjCuv`}Z`G{5 zD9h(zV({ScZu2j6?vN2uF(s(E_L{+xjPcqPw>G31u5=q`TDh-S#62=IdiHfppKQx)``eRMv$8xV?Vl$GcUpUKV`A>vp7Eof zd^fiJnmOZ-x~<$YFs9ScLbtp%Q3ab+^9cQy-b)dKgZr6vD|YOWy!26{J@&I*U-mhb z;&0S5sNI?W9KPS6M~mgExqKH+m7EuYTLyNCOqq8*Kg;p#x;95YO*;7Oy~8ICulM}W zsXEUk?$Z?2pz&vI8+{}Ow{yQy8r=W#3Xf^?wnnb);QrRl{Pm9#U7J;%^eo(MoKvWp zHZv|@ZMGO3nsl#Sc$5Ak?JkZS;FM9aV6@*a1%8GB*RI_3zx;Vj&Q;Y6kgQEtZ;Qd{ z*E&^RvuXC=6QdrkIe)8&F)csZVPO2wwb?=2(#+e$_^9Rwb`s0 zn{(d1?fhAFa&}h6^lwyCaGf$f(+zfd>(KrozpU@F+PC2DCcDDTd7oxoHXQNI*Qd9A zzS`Y+em&LHx9O!g}{sL?5 z?~`k_ch+iOuhlly+wY4hUG>`R|K&t$_W$hv+5fAgaI^ns|Ihwk@pye0bG%3ba;kgoqHin#Wl z`0Q2rUH~V#-CwFj@sMt!-%YxS^1Jcos@HSa)5kLHcXv=V6Y>)Q1Q0*~0R#|0009IL zKmY**-nf9+&x=w|(^OZB$b)j}CWTaMq|5y4LN|VpYUv};U)ztR`}+OjB+=d_y@epg z=S%VV;7LH^21f7y0wzTx+>MOlr5%YcG<|pC|V> zkS5n3Zz{FhN`1HdVtF`*x6<02=; z)hNC0uIY)74G({P?6>#o{d(m?jb?+?B?Z%K2Fs_2YaQyh%_J`Uw)j#y{k90o(r=g6 zY8%!2ZU5j}?RmA@duz4D!;+@dG#rz0W9#bmw_g2Z_xQ)$zE)O!E~d2%eqhn9!n-oP z<*+Jo-XACiVy@j)J3BrcwCDPRp$*z}HV+?ia&FuA{39=4+vzgAMOsw<7k_XqT_}%1 ztn;Bu%N`wHFe~+Cu=7_Y^(rIQpHF|<>f?1=44?fHy0xyg<=C=U=zf+#hY|b$ZLm zJ|E`3dUEcQdvAM=9dophe|wr@Gp7tnjs{?`u%kTJl`F zi22C{7QV&ln;fPZlv@tnzv^z8_xQrz?UVPGq+Dz1*P)-buC?U3jKp*7d)Fr~p!Kc& zN9wnDJjZ&a*}-k=f{*7E8V$+_d72zDB&n{o}2EhNiVF9{4{ocU2Ez7fQZr~AXGIV@gS#Gj$KMTCch zY2(7D*7Rr^>!ypVc{5c$CeDhCi;sz&`M+ABi8M~EFeM~5E<8*d5gs`yB3_=daeQn@ zbX-Vid}K^?oV9#VsisAT#zaqyjE#~;iB~h_cV{{v%m=hg9q zloe`T%bQE9i6im)=r6uncPyEPrvB*X0X3CI`MyF|xvgBkP`QqQe3%LW z1Q0*~0R#|0009ILKmY**^aPYoqHD+hEBor-i~m>l+rwZ&Z4(oMRn z*(?3fkN+>1+T#3qa(|!{W~x6vLTc;B|Id}$%KA!_e`K`s&WALKt|&bsVpfT2Q2JiS z|0{6|zwHt6|8FaYGtU1XKkb4VkHlI6?OR?XVANBhOMw;xvjbLrd+{n%k89_6(~P5iTnIo69SR>E6; zJxv!^tOU;}N2w7&009ILKmY**5I_Kd{{sO}c}-I}qF>3_R1#Q~e0Q;*7o|l_rBU)M zTg&Y>a$S=}pwTD^mR9od4svZR*PZ0rMy{2Ndyy9^O4pi7cRfOJ*FkP8*Clk5+wOAh zA=gSigWRM-009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ T0R#|0009ILKmdV%LxKMWaY5>> literal 0 HcmV?d00001 diff --git a/src/visor/unconfirmed.go b/src/visor/unconfirmed.go index abc7dca..6bb9169 100755 --- a/src/visor/unconfirmed.go +++ b/src/visor/unconfirmed.go @@ -1,17 +1,23 @@ package visor import ( - "fmt" + "errors" "time" - "github.com/boltdb/bolt" - "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/cipher/encoder" "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/util/utc" - "github.com/skycoin/skycoin/src/visor/blockdb" - "github.com/skycoin/skycoin/src/visor/bucket" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + // UnconfirmedTxnsBkt holds unconfirmed transactions + UnconfirmedTxnsBkt = []byte("unconfirmed_txns") + // UnconfirmedUnspentsBkt holds unconfirmed unspent outputs + UnconfirmedUnspentsBkt = []byte("unconfirmed_unspents") + + errUpdateObjectDoesNotExist = errors.New("object does not exist in bucket") ) // TxnUnspents maps from coin.Transaction hash to its expected unspents. The unspents' @@ -50,164 +56,117 @@ func (ut *UnconfirmedTxn) Hash() cipher.SHA256 { } // unconfirmed transactions bucket -type uncfmTxnBkt struct { - txns *bucket.Bucket -} - -func newUncfmTxBkt(db *bolt.DB) *uncfmTxnBkt { - bkt, err := bucket.New([]byte("unconfirmed_txns"), db) - if err != nil { - panic(err) - } +type unconfirmedTxns struct{} - return &uncfmTxnBkt{txns: bkt} -} +func (utb *unconfirmedTxns) get(tx *dbutil.Tx, hash cipher.SHA256) (*UnconfirmedTxn, error) { + var txn UnconfirmedTxn -func (utb *uncfmTxnBkt) get(hash cipher.SHA256) (*UnconfirmedTxn, bool) { - v := utb.txns.Get([]byte(hash.Hex())) - if v == nil { - return nil, false - } - var tx UnconfirmedTxn - if err := encoder.DeserializeRaw(v, &tx); err != nil { - return nil, false + if ok, err := dbutil.GetBucketObjectDecoded(tx, UnconfirmedTxnsBkt, []byte(hash.Hex()), &txn); err != nil { + return nil, err + } else if !ok { + return nil, nil } - return &tx, true + + return &txn, nil } -func (utb *uncfmTxnBkt) putWithTx(tx *bolt.Tx, v *UnconfirmedTxn) error { - key := []byte(v.Hash().Hex()) - d := encoder.Serialize(v) - return utb.txns.PutWithTx(tx, key, d) +func (utb *unconfirmedTxns) put(tx *dbutil.Tx, v *UnconfirmedTxn) error { + return dbutil.PutBucketValue(tx, UnconfirmedTxnsBkt, []byte(v.Hash().Hex()), encoder.Serialize(v)) } -func (utb *uncfmTxnBkt) update(key cipher.SHA256, f func(v *UnconfirmedTxn)) error { - updateFun := func(v []byte) ([]byte, error) { - if v == nil { - return nil, fmt.Errorf("%s does not exist in bucket %s", key.Hex(), utb.txns.Name) - } +func (utb *unconfirmedTxns) update(tx *dbutil.Tx, hash cipher.SHA256, f func(v *UnconfirmedTxn) error) error { + txn, err := utb.get(tx, hash) + if err != nil { + return err + } - var tx UnconfirmedTxn - if err := encoder.DeserializeRaw(v, &tx); err != nil { - return nil, err - } + if txn == nil { + return errUpdateObjectDoesNotExist + } - f(&tx) - return encoder.Serialize(tx), nil + if err := f(txn); err != nil { + return err } - return utb.txns.Update([]byte(key.Hex()), updateFun) + return utb.put(tx, txn) } -func (utb *uncfmTxnBkt) delete(key cipher.SHA256) error { - return utb.txns.Delete([]byte(key.Hex())) +func (utb *unconfirmedTxns) delete(tx *dbutil.Tx, hash cipher.SHA256) error { + return dbutil.Delete(tx, UnconfirmedTxnsBkt, []byte(hash.Hex())) } -func (utb *uncfmTxnBkt) deleteWithTx(tx *bolt.Tx, key cipher.SHA256) error { - return utb.txns.DeleteWithTx(tx, []byte(key.Hex())) -} +func (utb *unconfirmedTxns) getAll(tx *dbutil.Tx) ([]UnconfirmedTxn, error) { + var txns []UnconfirmedTxn -func (utb *uncfmTxnBkt) getAll() ([]UnconfirmedTxn, error) { - vs := utb.txns.GetAll() - txns := make([]UnconfirmedTxn, 0, len(vs)) - for _, u := range vs { - var tx UnconfirmedTxn - if err := encoder.DeserializeRaw(u, &tx); err != nil { - return nil, err + if err := dbutil.ForEach(tx, UnconfirmedTxnsBkt, func(_, v []byte) error { + var txn UnconfirmedTxn + if err := encoder.DeserializeRaw(v, &txn); err != nil { + return err } - txns = append(txns, tx) + + txns = append(txns, txn) + return nil + }); err != nil { + return nil, err } return txns, nil } -func (utb *uncfmTxnBkt) rangeUpdate(f func(key cipher.SHA256, tx *UnconfirmedTxn) error) error { - return utb.txns.RangeUpdate(func(k, v []byte) ([]byte, error) { - key, err := cipher.SHA256FromHex(string(k)) - if err != nil { - return nil, err - } - - var tx UnconfirmedTxn - if err := encoder.DeserializeRaw(v, &tx); err != nil { - return nil, err - } - - if err := f(key, &tx); err != nil { - return nil, err - } - - // encode the tx - d := encoder.Serialize(tx) - return d, nil - }) -} - -func (utb *uncfmTxnBkt) isExist(key cipher.SHA256) bool { - return utb.txns.IsExist([]byte(key.Hex())) +func (utb *unconfirmedTxns) hasKey(tx *dbutil.Tx, hash cipher.SHA256) (bool, error) { + return dbutil.BucketHasKey(tx, UnconfirmedTxnsBkt, []byte(hash.Hex())) } -func (utb *uncfmTxnBkt) forEach(f func(key cipher.SHA256, tx *UnconfirmedTxn) error) error { - return utb.txns.ForEach(func(k, v []byte) error { - key, err := cipher.SHA256FromHex(string(k)) +func (utb *unconfirmedTxns) forEach(tx *dbutil.Tx, f func(hash cipher.SHA256, tx UnconfirmedTxn) error) error { + return dbutil.ForEach(tx, UnconfirmedTxnsBkt, func(k, v []byte) error { + hash, err := cipher.SHA256FromHex(string(k)) if err != nil { return err } - var tx UnconfirmedTxn - if err := encoder.DeserializeRaw(v, &tx); err != nil { + + var txn UnconfirmedTxn + if err := encoder.DeserializeRaw(v, &txn); err != nil { return err } - return f(key, &tx) + return f(hash, txn) }) } -func (utb *uncfmTxnBkt) len() int { - // exclude the index - return utb.txns.Len() +func (utb *unconfirmedTxns) length(tx *dbutil.Tx) (uint64, error) { + return dbutil.Len(tx, UnconfirmedTxnsBkt) } -type txUnspents struct { - bkt *bucket.Bucket -} - -func newTxUnspents(db *bolt.DB) *txUnspents { - bkt, err := bucket.New([]byte("unconfirmed_unspents"), db) - if err != nil { - panic(err) - } - - return &txUnspents{bkt: bkt} -} +type txUnspents struct{} -func (txus *txUnspents) putWithTx(tx *bolt.Tx, key cipher.SHA256, uxs coin.UxArray) error { - v := encoder.Serialize(uxs) - return txus.bkt.PutWithTx(tx, []byte(key.Hex()), v) +func (txus *txUnspents) put(tx *dbutil.Tx, hash cipher.SHA256, uxs coin.UxArray) error { + return dbutil.PutBucketValue(tx, UnconfirmedUnspentsBkt, []byte(hash.Hex()), encoder.Serialize(uxs)) } -func (txus *txUnspents) get(key cipher.SHA256) (coin.UxArray, error) { - v := txus.bkt.Get([]byte(key.Hex())) +func (txus *txUnspents) get(tx *dbutil.Tx, hash cipher.SHA256) (coin.UxArray, error) { var uxs coin.UxArray - if err := encoder.DeserializeRaw(v, &uxs); err != nil { - return coin.UxArray{}, err + + if ok, err := dbutil.GetBucketObjectDecoded(tx, UnconfirmedUnspentsBkt, []byte(hash.Hex()), &uxs); err != nil { + return nil, err + } else if !ok { + return nil, nil } + return uxs, nil } -func (txus *txUnspents) len() int { - return txus.bkt.Len() +func (txus *txUnspents) length(tx *dbutil.Tx) (uint64, error) { + return dbutil.Len(tx, UnconfirmedUnspentsBkt) } -func (txus *txUnspents) delete(key cipher.SHA256) error { - return txus.bkt.Delete([]byte(key.Hex())) +func (txus *txUnspents) delete(tx *dbutil.Tx, hash cipher.SHA256) error { + return dbutil.Delete(tx, UnconfirmedUnspentsBkt, []byte(hash.Hex())) } -func (txus *txUnspents) deleteWithTx(tx *bolt.Tx, key cipher.SHA256) error { - return txus.bkt.DeleteWithTx(tx, []byte(key.Hex())) -} +func (txus *txUnspents) getByAddr(tx *dbutil.Tx, a cipher.Address) (coin.UxArray, error) { + var uxo coin.UxArray -func (txus *txUnspents) getByAddr(a cipher.Address) (uxo coin.UxArray) { - txus.bkt.ForEach(func(k, v []byte) error { + if err := dbutil.ForEach(tx, UnconfirmedUnspentsBkt, func(_, v []byte) error { var uxa coin.UxArray if err := encoder.DeserializeRaw(v, &uxa); err != nil { return err @@ -218,13 +177,17 @@ func (txus *txUnspents) getByAddr(a cipher.Address) (uxo coin.UxArray) { uxo = append(uxo, uxa[i]) } } + return nil - }) - return + }); err != nil { + return nil, err + } + + return uxo, nil } -func (txus *txUnspents) forEach(f func(cipher.SHA256, coin.UxArray)) error { - return txus.bkt.ForEach(func(k, v []byte) error { +func (txus *txUnspents) forEach(tx *dbutil.Tx, f func(cipher.SHA256, coin.UxArray) error) error { + return dbutil.ForEach(tx, UnconfirmedUnspentsBkt, func(k, v []byte) error { hash, err := cipher.SHA256FromHex(string(k)) if err != nil { return err @@ -235,14 +198,14 @@ func (txus *txUnspents) forEach(f func(cipher.SHA256, coin.UxArray)) error { return err } - f(hash, uxa) - return nil + return f(hash, uxa) }) } // UnconfirmedTxnPool manages unconfirmed transactions type UnconfirmedTxnPool struct { - txns *uncfmTxnBkt + db *dbutil.DB + txns *unconfirmedTxns // Predicted unspents, assuming txns are valid. Needed to predict // our future balance and avoid double spending our own coins // Maps from Transaction.Hash() to UxArray. @@ -250,25 +213,59 @@ type UnconfirmedTxnPool struct { } // NewUnconfirmedTxnPool creates an UnconfirmedTxnPool instance -func NewUnconfirmedTxnPool(db *bolt.DB) *UnconfirmedTxnPool { - return &UnconfirmedTxnPool{ - txns: newUncfmTxBkt(db), - unspent: newTxUnspents(db), +func NewUnconfirmedTxnPool(db *dbutil.DB) (*UnconfirmedTxnPool, error) { + if err := db.View("Check unconfirmed txn pool size", func(tx *dbutil.Tx) error { + n, err := dbutil.Len(tx, UnconfirmedTxnsBkt) + if err != nil { + return err + } + + logger.Infof("Unconfirmed transaction pool size: %d", n) + return nil + }); err != nil { + return nil, err } + + return &UnconfirmedTxnPool{ + db: db, + txns: &unconfirmedTxns{}, + unspent: &txUnspents{}, + }, nil } -// SetAnnounced updates announced time of specific tx -func (utp *UnconfirmedTxnPool) SetAnnounced(h cipher.SHA256, t int64) error { - return utp.txns.update(h, func(tx *UnconfirmedTxn) { - tx.Announced = t - }) +// SetTxnsAnnounced updates announced time of specific tx +func (utp *UnconfirmedTxnPool) SetTxnsAnnounced(tx *dbutil.Tx, hashes map[cipher.SHA256]int64) error { + var txns []*UnconfirmedTxn + for h, t := range hashes { + txn, err := utp.txns.get(tx, h) + if err != nil { + return err + } + + if txn == nil { + logger.Warningf("UnconfirmedTxnPool.SetTxnsAnnounced: UnconfirmedTxn %s not found in DB", h.Hex()) + continue + } + + if t > txn.Announced { + txn.Announced = t + txns = append(txns, txn) + } + } + + for _, txn := range txns { + if err := utp.txns.put(tx, txn); err != nil { + return err + } + } + + return nil } -// Creates an unconfirmed transaction -func (utp *UnconfirmedTxnPool) createUnconfirmedTxn(t coin.Transaction) UnconfirmedTxn { +func createUnconfirmedTxn(txn coin.Transaction) UnconfirmedTxn { now := utc.Now() return UnconfirmedTxn{ - Txn: t, + Txn: txn, Received: now.UnixNano(), Checked: now.UnixNano(), Announced: time.Time{}.UnixNano(), @@ -280,11 +277,11 @@ func (utp *UnconfirmedTxnPool) createUnconfirmedTxn(t coin.Transaction) Unconfir // existed in the pool. // If the transaction violates hard constraints, it is rejected. // Soft constraints violations mark a txn as invalid, but the txn is inserted. The soft violation is returned. -func (utp *UnconfirmedTxnPool) InjectTransaction(bc Blockchainer, t coin.Transaction, maxSize int) (bool, *ErrTxnViolatesSoftConstraint, error) { +func (utp *UnconfirmedTxnPool) InjectTransaction(tx *dbutil.Tx, bc Blockchainer, txn coin.Transaction, maxSize int) (bool, *ErrTxnViolatesSoftConstraint, error) { var isValid int8 = 1 var softErr *ErrTxnViolatesSoftConstraint - if err := bc.VerifySingleTxnAllConstraints(t, maxSize); err != nil { - logger.Warningf("bc.VerifySingleTxnAllConstraints failed for txn %s: %v", t.TxIDHex(), err) + if err := bc.VerifySingleTxnSoftHardConstraints(tx, txn, maxSize); err != nil { + logger.Warningf("bc.VerifySingleTxnSoftHardConstraints failed for txn %s: %v", txn.TxIDHex(), err) switch err.(type) { case ErrTxnViolatesSoftConstraint: e := err.(ErrTxnViolatesSoftConstraint) @@ -297,38 +294,48 @@ func (utp *UnconfirmedTxnPool) InjectTransaction(bc Blockchainer, t coin.Transac } } - // Update if we already have this txn - h := t.Hash() - known := false - utp.txns.update(h, func(tx *UnconfirmedTxn) { - known = true - now := utc.Now().UnixNano() - tx.Received = now - tx.Checked = now - tx.IsValid = isValid - }) + hash := txn.Hash() + known, err := utp.txns.hasKey(tx, hash) + if err != nil { + logger.Errorf("InjectTransaction check txn exists failed: %v", err) + return false, nil, err + } + + // Update if we already have this txn if known { + if err := utp.txns.update(tx, hash, func(utxn *UnconfirmedTxn) error { + now := utc.Now().UnixNano() + utxn.Received = now + utxn.Checked = now + utxn.IsValid = isValid + return nil + }); err != nil { + logger.Errorf("InjectTransaction update known txn failed: %v", err) + return false, nil, err + } + return true, softErr, nil } - utx := utp.createUnconfirmedTxn(t) + utx := createUnconfirmedTxn(txn) utx.IsValid = isValid - if err := bc.UpdateDB(func(tx *bolt.Tx) error { - // add txn to index - if err := utp.txns.putWithTx(tx, &utx); err != nil { - return err - } + // add txn to index + if err := utp.txns.put(tx, &utx); err != nil { + logger.Errorf("InjectTransaction put new unconfirmed txn failed: %v", err) + return false, nil, err + } - // update unconfirmed unspent - head, err := bc.Head() - if err != nil { - return err - } + head, err := bc.Head(tx) + if err != nil { + logger.Errorf("InjectTransaction bc.Head() failed: %v", err) + return false, nil, err + } - return utp.unspent.putWithTx(tx, h, coin.CreateUnspents(head.Head, t)) - }); err != nil { + // update unconfirmed unspent + if err := utp.unspent.put(tx, hash, coin.CreateUnspents(head.Head, txn)); err != nil { + logger.Errorf("InjectTransaction put new unspent outputs: %v", err) return false, nil, err } @@ -336,34 +343,32 @@ func (utp *UnconfirmedTxnPool) InjectTransaction(bc Blockchainer, t coin.Transac } // RawTxns returns underlying coin.Transactions -func (utp *UnconfirmedTxnPool) RawTxns() coin.Transactions { - utxns, err := utp.txns.getAll() +func (utp *UnconfirmedTxnPool) RawTxns(tx *dbutil.Tx) (coin.Transactions, error) { + utxns, err := utp.txns.getAll(tx) if err != nil { - return coin.Transactions{} + return nil, err } txns := make(coin.Transactions, len(utxns)) for i := range utxns { txns[i] = utxns[i].Txn } - return txns + return txns, nil } // Remove a single txn by hash -func (utp *UnconfirmedTxnPool) removeTxn(bc *Blockchain, txHash cipher.SHA256) { - // delete(utp.Txns, txHash) - utp.txns.delete(txHash) - utp.unspent.delete(txHash) +func (utp *UnconfirmedTxnPool) removeTxn(tx *dbutil.Tx, txHash cipher.SHA256) error { + if err := utp.txns.delete(tx, txHash); err != nil { + return err + } + + return utp.unspent.delete(tx, txHash) } -// Removes multiple txns at once. Slightly more efficient than a series of -// single RemoveTxns. Hashes is an array of Transaction hashes. -func (utp *UnconfirmedTxnPool) removeTxns(hashes []cipher.SHA256) error { - for i := range hashes { - if err := utp.txns.delete(hashes[i]); err != nil { - return err - } - if err := utp.unspent.delete(hashes[i]); err != nil { +// RemoveTransactions remove transactions with dbutil.Tx +func (utp *UnconfirmedTxnPool) RemoveTransactions(tx *dbutil.Tx, txHashes []cipher.SHA256) error { + for i := range txHashes { + if err := utp.removeTxn(tx, txHashes[i]); err != nil { return err } } @@ -371,51 +376,38 @@ func (utp *UnconfirmedTxnPool) removeTxns(hashes []cipher.SHA256) error { return nil } -func (utp *UnconfirmedTxnPool) removeTxnsWithTx(tx *bolt.Tx, hashes []cipher.SHA256) { - for i := range hashes { - utp.txns.deleteWithTx(tx, hashes[i]) - utp.unspent.deleteWithTx(tx, hashes[i]) - } -} - -// RemoveTransactions removes confirmed txns from the pool -func (utp *UnconfirmedTxnPool) RemoveTransactions(txns []cipher.SHA256) error { - return utp.removeTxns(txns) -} - -// RemoveTransactionsWithTx remove transactions with bolt.Tx -func (utp *UnconfirmedTxnPool) RemoveTransactionsWithTx(tx *bolt.Tx, txns []cipher.SHA256) { - utp.removeTxnsWithTx(tx, txns) -} - // Refresh checks all unconfirmed txns against the blockchain. // If the transaction becomes invalid it is marked invalid. // If the transaction becomes valid it is marked valid and is returned to the caller. -func (utp *UnconfirmedTxnPool) Refresh(bc Blockchainer, maxBlockSize int) ([]cipher.SHA256, error) { - now := utc.Now() +func (utp *UnconfirmedTxnPool) Refresh(tx *dbutil.Tx, bc Blockchainer, maxBlockSize int) ([]cipher.SHA256, error) { + utxns, err := utp.txns.getAll(tx) + if err != nil { + return nil, err + } + now := utc.Now() var nowValid []cipher.SHA256 - if err := utp.txns.rangeUpdate(func(_ cipher.SHA256, tx *UnconfirmedTxn) error { - tx.Checked = now.UnixNano() + for _, utxn := range utxns { + utxn.Checked = now.UnixNano() - err := bc.VerifySingleTxnAllConstraints(tx.Txn, maxBlockSize) + err := bc.VerifySingleTxnSoftHardConstraints(tx, utxn.Txn, maxBlockSize) switch err.(type) { case ErrTxnViolatesSoftConstraint, ErrTxnViolatesHardConstraint: - tx.IsValid = 0 + utxn.IsValid = 0 case nil: - if tx.IsValid == 0 { - nowValid = append(nowValid, tx.Hash()) + if utxn.IsValid == 0 { + nowValid = append(nowValid, utxn.Hash()) } - tx.IsValid = 1 + utxn.IsValid = 1 default: - return err + return nil, err } - return nil - }); err != nil { - return nil, err + if err := utp.txns.put(tx, &utxn); err != nil { + return nil, err + } } return nowValid, nil @@ -424,65 +416,75 @@ func (utp *UnconfirmedTxnPool) Refresh(bc Blockchainer, maxBlockSize int) ([]cip // RemoveInvalid checks all unconfirmed txns against the blockchain. // If a transaction violates hard constraints it is removed from the pool. // The transactions that were removed are returned. -func (utp *UnconfirmedTxnPool) RemoveInvalid(bc Blockchainer) ([]cipher.SHA256, error) { - var removeTxs []cipher.SHA256 +func (utp *UnconfirmedTxnPool) RemoveInvalid(tx *dbutil.Tx, bc Blockchainer) ([]cipher.SHA256, error) { + var removeUtxns []cipher.SHA256 - if err := utp.txns.forEach(func(_ cipher.SHA256, tx *UnconfirmedTxn) error { - err := bc.VerifySingleTxnHardConstraints(tx.Txn) + utxns, err := utp.txns.getAll(tx) + if err != nil { + return nil, err + } - switch err.(type) { - case ErrTxnViolatesHardConstraint: - removeTxs = append(removeTxs, tx.Hash()) - default: - return err + for _, utxn := range utxns { + err := bc.VerifySingleTxnHardConstraints(tx, utxn.Txn) + if err != nil { + switch err.(type) { + case ErrTxnViolatesHardConstraint: + removeUtxns = append(removeUtxns, utxn.Hash()) + default: + return nil, err + } } - - return nil - }); err != nil { - return nil, err } - if err := utp.RemoveTransactions(removeTxs); err != nil { + if err := utp.RemoveTransactions(tx, removeUtxns); err != nil { return nil, err } - return removeTxs, nil + return removeUtxns, nil } -// FilterKnown returns txn hashes with known ones removed -func (utp *UnconfirmedTxnPool) FilterKnown(txns []cipher.SHA256) []cipher.SHA256 { +// GetUnknown returns txn hashes with known ones removed +func (utp *UnconfirmedTxnPool) GetUnknown(tx *dbutil.Tx, txns []cipher.SHA256) ([]cipher.SHA256, error) { var unknown []cipher.SHA256 + for _, h := range txns { - if !utp.txns.isExist(h) { + if hasKey, err := utp.txns.hasKey(tx, h); err != nil { + return nil, err + } else if !hasKey { unknown = append(unknown, h) } } - return unknown + + return unknown, nil } // GetKnown returns all known coin.Transactions from the pool, given hashes to select -func (utp *UnconfirmedTxnPool) GetKnown(txns []cipher.SHA256) coin.Transactions { +func (utp *UnconfirmedTxnPool) GetKnown(tx *dbutil.Tx, txns []cipher.SHA256) (coin.Transactions, error) { var known coin.Transactions + for _, h := range txns { - if tx, ok := utp.txns.get(h); ok { + if tx, err := utp.txns.get(tx, h); err != nil { + return nil, err + } else if tx != nil { known = append(known, tx.Txn) } } - return known + + return known, nil } // RecvOfAddresses returns unconfirmed receiving uxouts of addresses -func (utp *UnconfirmedTxnPool) RecvOfAddresses(bh coin.BlockHeader, - addrs []cipher.Address) (coin.AddressUxOuts, error) { +func (utp *UnconfirmedTxnPool) RecvOfAddresses(tx *dbutil.Tx, bh coin.BlockHeader, addrs []cipher.Address) (coin.AddressUxOuts, error) { addrm := make(map[cipher.Address]struct{}, len(addrs)) for _, addr := range addrs { addrm[addr] = struct{}{} } + auxs := make(coin.AddressUxOuts, len(addrs)) - if err := utp.txns.forEach(func(_ cipher.SHA256, tx *UnconfirmedTxn) error { - for i, o := range tx.Txn.Out { + if err := utp.txns.forEach(tx, func(_ cipher.SHA256, txn UnconfirmedTxn) error { + for i, o := range txn.Txn.Out { if _, ok := addrm[o.Address]; ok { - uxout, err := coin.CreateUnspent(bh, tx.Txn, i) + uxout, err := coin.CreateUnspent(bh, txn.Txn, i) if err != nil { return err } @@ -498,109 +500,97 @@ func (utp *UnconfirmedTxnPool) RecvOfAddresses(bh coin.BlockHeader, return auxs, nil } -// UnspentGetFunc callback function for querying unspent output of given hash -type UnspentGetFunc func(hash cipher.SHA256) (coin.UxOut, bool) +// txnOutputsForAddrs returns unspent outputs assigned to addresses in addrs, created by a set of transactions +func txnOutputsForAddrs(bh coin.BlockHeader, addrs []cipher.Address, txns []coin.Transaction) (coin.AddressUxOuts, error) { + if len(txns) == 0 || len(addrs) == 0 { + return nil, nil + } -// SpendsOfAddresses returns all unconfirmed coin.UxOut spends of addresses -// Looks at all inputs for unconfirmed txns, gets their source UxOut from the -// blockchain's unspent pool, and returns as coin.AddressUxOuts -func (utp *UnconfirmedTxnPool) SpendsOfAddresses(addrs []cipher.Address, - unspent blockdb.UnspentGetter) (coin.AddressUxOuts, error) { addrm := make(map[cipher.Address]struct{}, len(addrs)) for _, addr := range addrs { addrm[addr] = struct{}{} } auxs := make(coin.AddressUxOuts, len(addrs)) - if err := utp.txns.forEach(func(_ cipher.SHA256, tx *UnconfirmedTxn) error { - for _, h := range tx.Txn.In { - ux, ok := unspent.Get(h) - if !ok { - // unconfirm transaction's IN is not in the unspent pool, this should not happen - return fmt.Errorf("unconfirmed transaction's IN: %s is not in unspent pool", h.Hex()) - } - if _, ok := addrm[ux.Body.Address]; ok { - auxs[ux.Body.Address] = append(auxs[ux.Body.Address], ux) + for _, txn := range txns { + for i, o := range txn.Out { + if _, ok := addrm[o.Address]; ok { + uxout, err := coin.CreateUnspent(bh, txn, i) + if err != nil { + return nil, err + } + + auxs[o.Address] = append(auxs[o.Address], uxout) } } - return nil - }); err != nil { - return coin.AddressUxOuts{}, fmt.Errorf("get unconfirmed spend error:%v", err) } + return auxs, nil } -// GetSpendingOutputs returns all spending outputs in unconfirmed tx pool. -func (utp *UnconfirmedTxnPool) GetSpendingOutputs(bcUnspent blockdb.UnspentPool) (coin.UxArray, error) { - outs := coin.UxArray{} - err := utp.txns.forEach(func(_ cipher.SHA256, tx *UnconfirmedTxn) error { - uxs, err := bcUnspent.GetArray(tx.Txn.In) - if err != nil { - return err - } +// GetIncomingOutputs returns all predicted incoming outputs. +func (utp *UnconfirmedTxnPool) GetIncomingOutputs(tx *dbutil.Tx, bh coin.BlockHeader) (coin.UxArray, error) { + var outs coin.UxArray - outs = append(outs, uxs...) + if err := utp.txns.forEach(tx, func(_ cipher.SHA256, txn UnconfirmedTxn) error { + uxOuts := coin.CreateUnspents(bh, txn.Txn) + outs = append(outs, uxOuts...) return nil - }) - - if err != nil { - return coin.UxArray{}, fmt.Errorf("get unconfirmed spending outputs failed: %v", err) + }); err != nil { + return nil, err } return outs, nil } -// GetIncomingOutputs returns all predicted incoming outputs. -func (utp *UnconfirmedTxnPool) GetIncomingOutputs(bh coin.BlockHeader) coin.UxArray { - outs := coin.UxArray{} - utp.txns.forEach(func(_ cipher.SHA256, tx *UnconfirmedTxn) error { - uxOuts := coin.CreateUnspents(bh, tx.Txn) - outs = append(outs, uxOuts...) - return nil - }) - return outs -} - // Get returns the unconfirmed transaction of given tx hash. -func (utp *UnconfirmedTxnPool) Get(key cipher.SHA256) (*UnconfirmedTxn, bool) { - return utp.txns.get(key) +func (utp *UnconfirmedTxnPool) Get(tx *dbutil.Tx, hash cipher.SHA256) (*UnconfirmedTxn, error) { + return utp.txns.get(tx, hash) } // GetTxns returns all transactions that can pass the filter -func (utp *UnconfirmedTxnPool) GetTxns(filter func(tx UnconfirmedTxn) bool) (txns []UnconfirmedTxn) { - if err := utp.txns.forEach(func(hash cipher.SHA256, tx *UnconfirmedTxn) error { - if filter(*tx) { - txns = append(txns, *tx) +func (utp *UnconfirmedTxnPool) GetTxns(tx *dbutil.Tx, filter func(UnconfirmedTxn) bool) ([]UnconfirmedTxn, error) { + var txns []UnconfirmedTxn + + if err := utp.txns.forEach(tx, func(_ cipher.SHA256, txn UnconfirmedTxn) error { + if filter(txn) { + txns = append(txns, txn) } return nil }); err != nil { - logger.Debugf("GetTxns error:%v", err) + logger.Errorf("GetTxns error: %v", err) + return nil, err } - return + + return txns, nil } // GetTxHashes returns transaction hashes that can pass the filter -func (utp *UnconfirmedTxnPool) GetTxHashes(filter func(tx UnconfirmedTxn) bool) (hashes []cipher.SHA256) { - if err := utp.txns.forEach(func(hash cipher.SHA256, tx *UnconfirmedTxn) error { - if filter(*tx) { +func (utp *UnconfirmedTxnPool) GetTxHashes(tx *dbutil.Tx, filter func(UnconfirmedTxn) bool) ([]cipher.SHA256, error) { + var hashes []cipher.SHA256 + + if err := utp.txns.forEach(tx, func(hash cipher.SHA256, txn UnconfirmedTxn) error { + if filter(txn) { hashes = append(hashes, hash) } return nil }); err != nil { - logger.Debugf("GetTxHashes error:%v", err) + logger.Errorf("GetTxHashes error: %v", err) + return nil, err } - return + + return hashes, nil } -// ForEach iterate the pool with given callback function, -func (utp *UnconfirmedTxnPool) ForEach(f func(cipher.SHA256, *UnconfirmedTxn) error) error { - return utp.txns.forEach(f) +// ForEach iterate the pool with given callback function +func (utp *UnconfirmedTxnPool) ForEach(tx *dbutil.Tx, f func(cipher.SHA256, UnconfirmedTxn) error) error { + return utp.txns.forEach(tx, f) } // GetUnspentsOfAddr returns unspent outputs of given address in unspent tx pool -func (utp *UnconfirmedTxnPool) GetUnspentsOfAddr(addr cipher.Address) coin.UxArray { - return utp.unspent.getByAddr(addr) +func (utp *UnconfirmedTxnPool) GetUnspentsOfAddr(tx *dbutil.Tx, addr cipher.Address) (coin.UxArray, error) { + return utp.unspent.getByAddr(tx, addr) } // IsValid can be used as filter function @@ -614,8 +604,8 @@ func All(tx UnconfirmedTxn) bool { } // Len returns the number of unconfirmed transactions -func (utp *UnconfirmedTxnPool) Len() int { - return utp.txns.len() +func (utp *UnconfirmedTxnPool) Len(tx *dbutil.Tx) (uint64, error) { + return utp.txns.length(tx) } func nanoToTime(n int64) time.Time { diff --git a/src/visor/unconfirmed_txn_pooler_mock_test.go b/src/visor/unconfirmed_txn_pooler_mock_test.go index 1f5d823..ac7daed 100755 --- a/src/visor/unconfirmed_txn_pooler_mock_test.go +++ b/src/visor/unconfirmed_txn_pooler_mock_test.go @@ -10,11 +10,9 @@ import ( mock "github.com/stretchr/testify/mock" - bolt "github.com/boltdb/bolt" - cipher "github.com/skycoin/skycoin/src/cipher" coin "github.com/skycoin/skycoin/src/coin" - blockdb "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" ) // UnconfirmedTxnPoolerMock mock @@ -26,28 +24,10 @@ func NewUnconfirmedTxnPoolerMock() *UnconfirmedTxnPoolerMock { return &UnconfirmedTxnPoolerMock{} } -// FilterKnown mocked method -func (m *UnconfirmedTxnPoolerMock) FilterKnown(p0 []cipher.SHA256) []cipher.SHA256 { - - ret := m.Called(p0) - - var r0 []cipher.SHA256 - switch res := ret.Get(0).(type) { - case nil: - case []cipher.SHA256: - r0 = res - default: - panic(fmt.Sprintf("unexpected type: %v", res)) - } - - return r0 - -} - // ForEach mocked method -func (m *UnconfirmedTxnPoolerMock) ForEach(p0 func(cipher.SHA256, *UnconfirmedTxn) error) error { +func (m *UnconfirmedTxnPoolerMock) ForEach(p0 *dbutil.Tx, p1 func(cipher.SHA256, UnconfirmedTxn) error) error { - ret := m.Called(p0) + ret := m.Called(p0, p1) var r0 error switch res := ret.Get(0).(type) { @@ -63,9 +43,9 @@ func (m *UnconfirmedTxnPoolerMock) ForEach(p0 func(cipher.SHA256, *UnconfirmedTx } // Get mocked method -func (m *UnconfirmedTxnPoolerMock) Get(p0 cipher.SHA256) (*UnconfirmedTxn, bool) { +func (m *UnconfirmedTxnPoolerMock) Get(p0 *dbutil.Tx, p1 cipher.SHA256) (*UnconfirmedTxn, error) { - ret := m.Called(p0) + ret := m.Called(p0, p1) var r0 *UnconfirmedTxn switch res := ret.Get(0).(type) { @@ -76,10 +56,10 @@ func (m *UnconfirmedTxnPoolerMock) Get(p0 cipher.SHA256) (*UnconfirmedTxn, bool) panic(fmt.Sprintf("unexpected type: %v", res)) } - var r1 bool + var r1 error switch res := ret.Get(1).(type) { case nil: - case bool: + case error: r1 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -90,9 +70,9 @@ func (m *UnconfirmedTxnPoolerMock) Get(p0 cipher.SHA256) (*UnconfirmedTxn, bool) } // GetIncomingOutputs mocked method -func (m *UnconfirmedTxnPoolerMock) GetIncomingOutputs(p0 coin.BlockHeader) coin.UxArray { +func (m *UnconfirmedTxnPoolerMock) GetIncomingOutputs(p0 *dbutil.Tx, p1 coin.BlockHeader) (coin.UxArray, error) { - ret := m.Called(p0) + ret := m.Called(p0, p1) var r0 coin.UxArray switch res := ret.Get(0).(type) { @@ -103,37 +83,28 @@ func (m *UnconfirmedTxnPoolerMock) GetIncomingOutputs(p0 coin.BlockHeader) coin. panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 - -} - -// GetKnown mocked method -func (m *UnconfirmedTxnPoolerMock) GetKnown(p0 []cipher.SHA256) coin.Transactions { - - ret := m.Called(p0) - - var r0 coin.Transactions - switch res := ret.Get(0).(type) { + var r1 error + switch res := ret.Get(1).(type) { case nil: - case coin.Transactions: - r0 = res + case error: + r1 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 + return r0, r1 } -// GetSpendingOutputs mocked method -func (m *UnconfirmedTxnPoolerMock) GetSpendingOutputs(p0 blockdb.UnspentPool) (coin.UxArray, error) { +// GetKnown mocked method +func (m *UnconfirmedTxnPoolerMock) GetKnown(p0 *dbutil.Tx, p1 []cipher.SHA256) (coin.Transactions, error) { - ret := m.Called(p0) + ret := m.Called(p0, p1) - var r0 coin.UxArray + var r0 coin.Transactions switch res := ret.Get(0).(type) { case nil: - case coin.UxArray: + case coin.Transactions: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -153,9 +124,9 @@ func (m *UnconfirmedTxnPoolerMock) GetSpendingOutputs(p0 blockdb.UnspentPool) (c } // GetTxHashes mocked method -func (m *UnconfirmedTxnPoolerMock) GetTxHashes(p0 func(tx UnconfirmedTxn) bool) []cipher.SHA256 { +func (m *UnconfirmedTxnPoolerMock) GetTxHashes(p0 *dbutil.Tx, p1 func(tx UnconfirmedTxn) bool) ([]cipher.SHA256, error) { - ret := m.Called(p0) + ret := m.Called(p0, p1) var r0 []cipher.SHA256 switch res := ret.Get(0).(type) { @@ -166,14 +137,23 @@ func (m *UnconfirmedTxnPoolerMock) GetTxHashes(p0 func(tx UnconfirmedTxn) bool) panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 } // GetTxns mocked method -func (m *UnconfirmedTxnPoolerMock) GetTxns(p0 func(tx UnconfirmedTxn) bool) []UnconfirmedTxn { +func (m *UnconfirmedTxnPoolerMock) GetTxns(p0 *dbutil.Tx, p1 func(tx UnconfirmedTxn) bool) ([]UnconfirmedTxn, error) { - ret := m.Called(p0) + ret := m.Called(p0, p1) var r0 []UnconfirmedTxn switch res := ret.Get(0).(type) { @@ -184,37 +164,55 @@ func (m *UnconfirmedTxnPoolerMock) GetTxns(p0 func(tx UnconfirmedTxn) bool) []Un panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 } -// GetUnspentsOfAddr mocked method -func (m *UnconfirmedTxnPoolerMock) GetUnspentsOfAddr(p0 cipher.Address) coin.UxArray { +// GetUnknown mocked method +func (m *UnconfirmedTxnPoolerMock) GetUnknown(p0 *dbutil.Tx, p1 []cipher.SHA256) ([]cipher.SHA256, error) { - ret := m.Called(p0) + ret := m.Called(p0, p1) - var r0 coin.UxArray + var r0 []cipher.SHA256 switch res := ret.Get(0).(type) { case nil: - case coin.UxArray: + case []cipher.SHA256: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 } -// InjectTxn mocked method -func (m *UnconfirmedTxnPoolerMock) InjectTxn(p0 Blockchainer, p1 coin.Transaction) (bool, error) { +// GetUnspentsOfAddr mocked method +func (m *UnconfirmedTxnPoolerMock) GetUnspentsOfAddr(p0 *dbutil.Tx, p1 cipher.Address) (coin.UxArray, error) { ret := m.Called(p0, p1) - var r0 bool + var r0 coin.UxArray switch res := ret.Get(0).(type) { case nil: - case bool: + case coin.UxArray: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -233,51 +231,51 @@ func (m *UnconfirmedTxnPoolerMock) InjectTxn(p0 Blockchainer, p1 coin.Transactio } -// Len mocked method -func (m *UnconfirmedTxnPoolerMock) Len() int { +// InjectTransaction mocked method +func (m *UnconfirmedTxnPoolerMock) InjectTransaction(p0 *dbutil.Tx, p1 Blockchainer, p2 coin.Transaction, p3 int) (bool, *ErrTxnViolatesSoftConstraint, error) { - ret := m.Called() + ret := m.Called(p0, p1, p2, p3) - var r0 int + var r0 bool switch res := ret.Get(0).(type) { case nil: - case int: + case bool: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 - -} - -// RawTxns mocked method -func (m *UnconfirmedTxnPoolerMock) RawTxns() coin.Transactions { - - ret := m.Called() + var r1 *ErrTxnViolatesSoftConstraint + switch res := ret.Get(1).(type) { + case nil: + case *ErrTxnViolatesSoftConstraint: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } - var r0 coin.Transactions - switch res := ret.Get(0).(type) { + var r2 error + switch res := ret.Get(2).(type) { case nil: - case coin.Transactions: - r0 = res + case error: + r2 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 + return r0, r1, r2 } -// RecvOfAddresses mocked method -func (m *UnconfirmedTxnPoolerMock) RecvOfAddresses(p0 coin.BlockHeader, p1 []cipher.Address) (coin.AddressUxOuts, error) { +// Len mocked method +func (m *UnconfirmedTxnPoolerMock) Len(p0 *dbutil.Tx) (uint64, error) { - ret := m.Called(p0, p1) + ret := m.Called(p0) - var r0 coin.AddressUxOuts + var r0 uint64 switch res := ret.Get(0).(type) { case nil: - case coin.AddressUxOuts: + case uint64: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -296,15 +294,15 @@ func (m *UnconfirmedTxnPoolerMock) RecvOfAddresses(p0 coin.BlockHeader, p1 []cip } -// Refresh mocked method -func (m *UnconfirmedTxnPoolerMock) Refresh(p0 Blockchainer, p1 int) ([]cipher.SHA256, error) { +// RawTxns mocked method +func (m *UnconfirmedTxnPoolerMock) RawTxns(p0 *dbutil.Tx) (coin.Transactions, error) { - ret := m.Called(p0, p1) + ret := m.Called(p0) - var r0 []cipher.SHA256 + var r0 coin.Transactions switch res := ret.Get(0).(type) { case nil: - case []cipher.SHA256: + case coin.Transactions: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -323,15 +321,15 @@ func (m *UnconfirmedTxnPoolerMock) Refresh(p0 Blockchainer, p1 int) ([]cipher.SH } -// RemoveInvalid mocked method -func (m *UnconfirmedTxnPoolerMock) RemoveInvalid(p0 Blockchainer) ([]cipher.SHA256, error) { +// RecvOfAddresses mocked method +func (m *UnconfirmedTxnPoolerMock) RecvOfAddresses(p0 *dbutil.Tx, p1 coin.BlockHeader, p2 []cipher.Address) (coin.AddressUxOuts, error) { - ret := m.Called(p0) + ret := m.Called(p0, p1, p2) - var r0 []cipher.SHA256 + var r0 coin.AddressUxOuts switch res := ret.Get(0).(type) { case nil: - case []cipher.SHA256: + case coin.AddressUxOuts: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -350,58 +348,42 @@ func (m *UnconfirmedTxnPoolerMock) RemoveInvalid(p0 Blockchainer) ([]cipher.SHA2 } -// RemoveTransactions mocked method -func (m *UnconfirmedTxnPoolerMock) RemoveTransactions(p0 []cipher.SHA256) error { +// Refresh mocked method +func (m *UnconfirmedTxnPoolerMock) Refresh(p0 *dbutil.Tx, p1 Blockchainer, p2 int) ([]cipher.SHA256, error) { - ret := m.Called(p0) + ret := m.Called(p0, p1, p2) - var r0 error + var r0 []cipher.SHA256 switch res := ret.Get(0).(type) { case nil: - case error: + case []cipher.SHA256: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 - -} - -// RemoveTransactionsWithTx mocked method -func (m *UnconfirmedTxnPoolerMock) RemoveTransactionsWithTx(p0 *bolt.Tx, p1 []cipher.SHA256) { - - m.Called(p0, p1) - -} - -// SetAnnounced mocked method -func (m *UnconfirmedTxnPoolerMock) SetAnnounced(p0 cipher.SHA256, p1 int64) error { - - ret := m.Called(p0, p1) - - var r0 error - switch res := ret.Get(0).(type) { + var r1 error + switch res := ret.Get(1).(type) { case nil: case error: - r0 = res + r1 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0 + return r0, r1 } -// SpendsOfAddresses mocked method -func (m *UnconfirmedTxnPoolerMock) SpendsOfAddresses(p0 []cipher.Address, p1 blockdb.UnspentGetter) (coin.AddressUxOuts, error) { +// RemoveInvalid mocked method +func (m *UnconfirmedTxnPoolerMock) RemoveInvalid(p0 *dbutil.Tx, p1 Blockchainer) ([]cipher.SHA256, error) { ret := m.Called(p0, p1) - var r0 coin.AddressUxOuts + var r0 []cipher.SHA256 switch res := ret.Get(0).(type) { case nil: - case coin.AddressUxOuts: + case []cipher.SHA256: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) @@ -420,38 +402,38 @@ func (m *UnconfirmedTxnPoolerMock) SpendsOfAddresses(p0 []cipher.Address, p1 blo } -// InjectTransaction mocked method -func (m *UnconfirmedTxnPoolerMock) InjectTransaction(p0 Blockchainer, p1 coin.Transaction, p2 int) (bool, *ErrTxnViolatesSoftConstraint, error) { +// RemoveTransactions mocked method +func (m *UnconfirmedTxnPoolerMock) RemoveTransactions(p0 *dbutil.Tx, p1 []cipher.SHA256) error { - ret := m.Called(p0, p1, p2) + ret := m.Called(p0, p1) - var r0 bool + var r0 error switch res := ret.Get(0).(type) { case nil: - case bool: + case error: r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) } - var r1 *ErrTxnViolatesSoftConstraint - switch res := ret.Get(1).(type) { - case nil: - case *ErrTxnViolatesSoftConstraint: - r1 = res - default: - panic(fmt.Sprintf("unexpected type: %v", res)) - } + return r0 - var r2 error - switch res := ret.Get(2).(type) { +} + +// SetTxnsAnnounced mocked method +func (m *UnconfirmedTxnPoolerMock) SetTxnsAnnounced(p0 *dbutil.Tx, p1 map[cipher.SHA256]int64) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { case nil: case error: - r2 = res + r0 = res default: panic(fmt.Sprintf("unexpected type: %v", res)) } - return r0, r1, r2 + return r0 } diff --git a/src/visor/unspent_pooler_mock_test.go b/src/visor/unspent_pooler_mock_test.go new file mode 100755 index 0000000..0061373 --- /dev/null +++ b/src/visor/unspent_pooler_mock_test.go @@ -0,0 +1,277 @@ +/* +* CODE GENERATED AUTOMATICALLY WITH github.com/ernesto-jimenez/goautomock +* THIS FILE MUST NEVER BE EDITED MANUALLY + */ + +package visor + +import ( + "fmt" + + mock "github.com/stretchr/testify/mock" + + cipher "github.com/skycoin/skycoin/src/cipher" + coin "github.com/skycoin/skycoin/src/coin" + dbutil "github.com/skycoin/skycoin/src/visor/dbutil" +) + +// UnspentPoolerMock mock +type UnspentPoolerMock struct { + mock.Mock +} + +func NewUnspentPoolerMock() *UnspentPoolerMock { + return &UnspentPoolerMock{} +} + +// AddressCount mocked method +func (m *UnspentPoolerMock) AddressCount(p0 *dbutil.Tx) (uint64, error) { + + ret := m.Called(p0) + + var r0 uint64 + switch res := ret.Get(0).(type) { + case nil: + case uint64: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// Contains mocked method +func (m *UnspentPoolerMock) Contains(p0 *dbutil.Tx, p1 cipher.SHA256) (bool, error) { + + ret := m.Called(p0, p1) + + var r0 bool + switch res := ret.Get(0).(type) { + case nil: + case bool: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// Get mocked method +func (m *UnspentPoolerMock) Get(p0 *dbutil.Tx, p1 cipher.SHA256) (*coin.UxOut, error) { + + ret := m.Called(p0, p1) + + var r0 *coin.UxOut + switch res := ret.Get(0).(type) { + case nil: + case *coin.UxOut: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetAll mocked method +func (m *UnspentPoolerMock) GetAll(p0 *dbutil.Tx) (coin.UxArray, error) { + + ret := m.Called(p0) + + var r0 coin.UxArray + switch res := ret.Get(0).(type) { + case nil: + case coin.UxArray: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetArray mocked method +func (m *UnspentPoolerMock) GetArray(p0 *dbutil.Tx, p1 []cipher.SHA256) (coin.UxArray, error) { + + ret := m.Called(p0, p1) + + var r0 coin.UxArray + switch res := ret.Get(0).(type) { + case nil: + case coin.UxArray: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetUnspentsOfAddrs mocked method +func (m *UnspentPoolerMock) GetUnspentsOfAddrs(p0 *dbutil.Tx, p1 []cipher.Address) (coin.AddressUxOuts, error) { + + ret := m.Called(p0, p1) + + var r0 coin.AddressUxOuts + switch res := ret.Get(0).(type) { + case nil: + case coin.AddressUxOuts: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetUxHash mocked method +func (m *UnspentPoolerMock) GetUxHash(p0 *dbutil.Tx) (cipher.SHA256, error) { + + ret := m.Called(p0) + + var r0 cipher.SHA256 + switch res := ret.Get(0).(type) { + case nil: + case cipher.SHA256: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// Len mocked method +func (m *UnspentPoolerMock) Len(p0 *dbutil.Tx) (uint64, error) { + + ret := m.Called(p0) + + var r0 uint64 + switch res := ret.Get(0).(type) { + case nil: + case uint64: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// MaybeBuildIndexes mocked method +func (m *UnspentPoolerMock) MaybeBuildIndexes(p0 *dbutil.Tx, p1 uint64) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// ProcessBlock mocked method +func (m *UnspentPoolerMock) ProcessBlock(p0 *dbutil.Tx, p1 *coin.SignedBlock) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} diff --git a/src/visor/verify.go b/src/visor/verify.go index b1f991d..ddda6a9 100755 --- a/src/visor/verify.go +++ b/src/visor/verify.go @@ -61,7 +61,7 @@ NOTE: Due to a bug which allowed overflowing output coin hours to be included in When creating or receiving a single transaction from the network, it is treated as a HARD constraint. These methods should be called via the Blockchain object when possible, -using Blockchain.VerifyBlockTxnConstraints, Blockchain.VerifySingleTxnHardConstraints and Blockchain.VerifySingleTxnAllConstraints +using Blockchain.VerifyBlockTxnConstraints, Blockchain.VerifySingleTxnHardConstraints and Blockchain.VerifySingleTxnSoftHardConstraints since data from the blockchain and unspent output set are required to fully validate a transaction. */ @@ -109,6 +109,25 @@ func (e ErrTxnViolatesSoftConstraint) Error() string { return fmt.Sprintf("Transaction violates soft constraint: %v", e.Err) } +// ErrTxnViolatesUserConstraint is returned when a transaction violates user constraints +type ErrTxnViolatesUserConstraint struct { + Err error +} + +// NewErrTxnViolatesUserConstraint creates ErrTxnViolatesUserConstraint +func NewErrTxnViolatesUserConstraint(err error) error { + if err == nil { + return nil + } + return ErrTxnViolatesUserConstraint{ + Err: err, + } +} + +func (e ErrTxnViolatesUserConstraint) Error() string { + return fmt.Sprintf("Transaction violates user constraint: %v", e.Err) +} + // VerifySingleTxnSoftConstraints returns an error if any "soft" constraint are violated. // "soft" constaints are enforced at the network and block publication level, // but are not enforced at the blockchain level. @@ -269,3 +288,18 @@ func verifyTxnHardConstraints(txn coin.Transaction, head *coin.SignedBlock, uxIn // to allow existing blocks which violate the overflow rules to pass. return coin.VerifyTransactionHoursSpending(head.Time(), uxIn, uxOut) } + +// VerifySingleTxnUserConstraints applies additional verification for a +// transaction created by the user. +// This is distinct from transactions created by other users (i.e. received over the network), +// and from transactions included in blocks. +func VerifySingleTxnUserConstraints(txn coin.Transaction) error { + for _, o := range txn.Out { + if o.Address.Null() { + err := errors.New("Transaction output is sent to the null address") + return NewErrTxnViolatesUserConstraint(err) + } + } + + return nil +} diff --git a/src/visor/visor.go b/src/visor/visor.go index 3ed3633..423a5d1 100755 --- a/src/visor/visor.go +++ b/src/visor/visor.go @@ -7,27 +7,20 @@ import ( "time" - "github.com/boltdb/bolt" + "github.com/sirupsen/logrus" "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/util/droplet" "github.com/skycoin/skycoin/src/util/utc" "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" "github.com/skycoin/skycoin/src/visor/historydb" "github.com/skycoin/skycoin/src/wallet" "github.com/skycoin/skycoin/src/util/logging" ) -const ( - // MaxDropletPrecision represents the decimal precision of droplets - MaxDropletPrecision uint64 = 3 - - //DefaultMaxBlockSize is max block size - DefaultMaxBlockSize int = 32 * 1024 -) - var ( logger = logging.MustGetLogger("visor") @@ -46,10 +39,25 @@ func MaxDropletDivisor() uint64 { } func init() { + sanityCheck() // Compute maxDropletDivisor from precision maxDropletDivisor = calculateDivisor(MaxDropletPrecision) } +func sanityCheck() { + if InitialUnlockedCount > DistributionAddressesTotal { + logger.Panic("unlocked addresses > total distribution addresses") + } + + if uint64(len(distributionAddresses)) != DistributionAddressesTotal { + logger.Panic("available distribution addresses > total allowed distribution addresses") + } + + if DistributionAddressInitialBalance*DistributionAddressesTotal > MaxCoinSupply { + logger.Panic("total balance in distribution addresses > max coin supply") + } +} + func calculateDivisor(precision uint64) uint64 { if precision > droplet.Exponent { logger.Panic("precision must be <= droplet.Exponent") @@ -89,18 +97,6 @@ type Config struct { //Secret key of blockchain authority (if master) BlockchainSeckey cipher.SecKey - // How often new blocks are created by the master, in seconds - BlockCreationInterval uint64 - // How often an unconfirmed txn is checked against the blockchain - UnconfirmedCheckInterval time.Duration - // How long we'll hold onto an unconfirmed txn - UnconfirmedMaxAge time.Duration - // How often to check the unconfirmed pool for transactions that become valid - UnconfirmedRefreshRate time.Duration - // How often to remove transactions that become permanently invalid from the unconfirmed pool - UnconfirmedRemoveInvalidRate time.Duration - // How often to rebroadcast unconfirmed transactions - UnconfirmedResendPeriod time.Duration // Maximum size of a block, in bytes. MaxBlockSize int @@ -119,8 +115,6 @@ type Config struct { GenesisCoinVolume uint64 // bolt db file path DBPath string - // open bolt db read-only - DBReadOnly bool // enable arbitrating mode Arbitrating bool // wallet directory @@ -145,15 +139,7 @@ func NewVisorConfig() Config { BlockchainPubkey: cipher.PubKey{}, BlockchainSeckey: cipher.SecKey{}, - BlockCreationInterval: 10, - //BlockCreationForceInterval: 120, //create block if no block within this many seconds - - UnconfirmedCheckInterval: time.Hour * 2, - UnconfirmedMaxAge: time.Hour * 48, - UnconfirmedRefreshRate: time.Minute, - UnconfirmedRemoveInvalidRate: time.Minute, - UnconfirmedResendPeriod: time.Minute, - MaxBlockSize: DefaultMaxBlockSize, + MaxBlockSize: DefaultMaxBlockSize, GenesisAddress: cipher.Address{}, GenesisSignature: cipher.Sig{}, @@ -175,124 +161,145 @@ func (c Config) Verify() error { return nil } -// historyer is the interface that provides methods for accessing history data that are parsed from blockchain. -type historyer interface { - GetUxout(uxid cipher.SHA256) (*historydb.UxOut, error) - ParseBlock(b *coin.Block) error - GetTransaction(hash cipher.SHA256) (*historydb.Transaction, error) - GetAddrUxOuts(address cipher.Address) ([]*historydb.UxOut, error) - GetAddrTxns(address cipher.Address) ([]historydb.Transaction, error) - ForEach(f func(tx *historydb.Transaction) error) error - ResetIfNeed() error - ParsedHeight() int64 +//go:generate go install +//go:generate goautomock -template=testify Historyer + +// Historyer is the interface that provides methods for accessing history data that are parsed from blockchain. +type Historyer interface { + GetUxOuts(tx *dbutil.Tx, uxids []cipher.SHA256) ([]*historydb.UxOut, error) + ParseBlock(tx *dbutil.Tx, b coin.Block) error + GetTransaction(tx *dbutil.Tx, hash cipher.SHA256) (*historydb.Transaction, error) + GetAddrUxOuts(tx *dbutil.Tx, address cipher.Address) ([]*historydb.UxOut, error) + GetAddressTxns(tx *dbutil.Tx, address cipher.Address) ([]historydb.Transaction, error) + NeedsReset(tx *dbutil.Tx) (bool, error) + Erase(tx *dbutil.Tx) error + ParsedBlockSeq(tx *dbutil.Tx) (uint64, bool, error) + ForEachTxn(tx *dbutil.Tx, f func(cipher.SHA256, *historydb.Transaction) error) error } // Blockchainer is the interface that provides methods for accessing the blockchain data type Blockchainer interface { - GetGenesisBlock() *coin.SignedBlock - GetBlocks(start, end uint64) ([]coin.SignedBlock, error) - GetLastBlocks(n uint64) ([]coin.SignedBlock, error) - GetBlockByHash(hash cipher.SHA256) (*coin.SignedBlock, error) - GetBlockBySeq(seq uint64) (*coin.SignedBlock, error) - Unspent() blockdb.UnspentPool - Len() uint64 - Head() (*coin.SignedBlock, error) - HeadSeq() uint64 - Time() uint64 - NewBlock(txns coin.Transactions, currentTime uint64) (*coin.Block, error) - ExecuteBlockWithTx(tx *bolt.Tx, sb *coin.SignedBlock) error - VerifyBlockTxnConstraints(tx coin.Transaction) error - VerifySingleTxnHardConstraints(tx coin.Transaction) error - VerifySingleTxnAllConstraints(tx coin.Transaction, maxSize int) error - TransactionFee(t *coin.Transaction) (uint64, error) - Notify(b coin.Block) - BindListener(bl BlockListener) - UpdateDB(f func(tx *bolt.Tx) error) error + GetGenesisBlock(tx *dbutil.Tx) (*coin.SignedBlock, error) + GetBlocks(tx *dbutil.Tx, start, end uint64) ([]coin.SignedBlock, error) + GetLastBlocks(tx *dbutil.Tx, n uint64) ([]coin.SignedBlock, error) + GetSignedBlockByHash(tx *dbutil.Tx, hash cipher.SHA256) (*coin.SignedBlock, error) + GetSignedBlockBySeq(tx *dbutil.Tx, seq uint64) (*coin.SignedBlock, error) + Unspent() blockdb.UnspentPooler + Len(tx *dbutil.Tx) (uint64, error) + Head(tx *dbutil.Tx) (*coin.SignedBlock, error) + HeadSeq(tx *dbutil.Tx) (uint64, bool, error) + Time(tx *dbutil.Tx) (uint64, error) + NewBlock(tx *dbutil.Tx, txns coin.Transactions, currentTime uint64) (*coin.Block, error) + ExecuteBlock(tx *dbutil.Tx, sb *coin.SignedBlock) error + VerifyBlockTxnConstraints(tx *dbutil.Tx, txn coin.Transaction) error + VerifySingleTxnHardConstraints(tx *dbutil.Tx, txn coin.Transaction) error + VerifySingleTxnSoftHardConstraints(tx *dbutil.Tx, txn coin.Transaction, maxSize int) error + TransactionFee(tx *dbutil.Tx, hours uint64) coin.FeeCalculator } // UnconfirmedTxnPooler is the interface that provides methods for // accessing the unconfirmed transaction pool type UnconfirmedTxnPooler interface { - SetAnnounced(hash cipher.SHA256, t int64) error - InjectTransaction(bc Blockchainer, t coin.Transaction, maxSize int) (bool, *ErrTxnViolatesSoftConstraint, error) - RawTxns() coin.Transactions - RemoveTransactions(txns []cipher.SHA256) error - RemoveTransactionsWithTx(tx *bolt.Tx, txns []cipher.SHA256) - Refresh(bc Blockchainer, maxBlockSize int) ([]cipher.SHA256, error) - RemoveInvalid(bc Blockchainer) ([]cipher.SHA256, error) - FilterKnown(txns []cipher.SHA256) []cipher.SHA256 - GetKnown(txns []cipher.SHA256) coin.Transactions - RecvOfAddresses(bh coin.BlockHeader, addrs []cipher.Address) (coin.AddressUxOuts, error) - SpendsOfAddresses(addrs []cipher.Address, unspent blockdb.UnspentGetter) (coin.AddressUxOuts, error) - GetSpendingOutputs(unspent blockdb.UnspentPool) (coin.UxArray, error) - GetIncomingOutputs(bh coin.BlockHeader) coin.UxArray - Get(hash cipher.SHA256) (*UnconfirmedTxn, bool) - GetTxns(filter func(tx UnconfirmedTxn) bool) []UnconfirmedTxn - GetTxHashes(filter func(tx UnconfirmedTxn) bool) []cipher.SHA256 - ForEach(f func(cipher.SHA256, *UnconfirmedTxn) error) error - GetUnspentsOfAddr(addr cipher.Address) coin.UxArray - Len() int + SetTxnsAnnounced(tx *dbutil.Tx, hashes map[cipher.SHA256]int64) error + InjectTransaction(tx *dbutil.Tx, bc Blockchainer, t coin.Transaction, maxSize int) (bool, *ErrTxnViolatesSoftConstraint, error) + RawTxns(tx *dbutil.Tx) (coin.Transactions, error) + RemoveTransactions(tx *dbutil.Tx, txns []cipher.SHA256) error + Refresh(tx *dbutil.Tx, bc Blockchainer, maxBlockSize int) ([]cipher.SHA256, error) + RemoveInvalid(tx *dbutil.Tx, bc Blockchainer) ([]cipher.SHA256, error) + GetUnknown(tx *dbutil.Tx, txns []cipher.SHA256) ([]cipher.SHA256, error) + GetKnown(tx *dbutil.Tx, txns []cipher.SHA256) (coin.Transactions, error) + RecvOfAddresses(tx *dbutil.Tx, bh coin.BlockHeader, addrs []cipher.Address) (coin.AddressUxOuts, error) + GetIncomingOutputs(tx *dbutil.Tx, bh coin.BlockHeader) (coin.UxArray, error) + Get(tx *dbutil.Tx, hash cipher.SHA256) (*UnconfirmedTxn, error) + GetTxns(tx *dbutil.Tx, filter func(tx UnconfirmedTxn) bool) ([]UnconfirmedTxn, error) + GetTxHashes(tx *dbutil.Tx, filter func(tx UnconfirmedTxn) bool) ([]cipher.SHA256, error) + ForEach(tx *dbutil.Tx, f func(cipher.SHA256, UnconfirmedTxn) error) error + GetUnspentsOfAddr(tx *dbutil.Tx, addr cipher.Address) (coin.UxArray, error) + Len(tx *dbutil.Tx) (uint64, error) } // Visor manages the Blockchain as both a Master and a Normal type Visor struct { Config Config + DB *dbutil.DB // Unconfirmed transactions, held for relay until we get block confirmation Unconfirmed UnconfirmedTxnPooler Blockchain Blockchainer Wallets *wallet.Service StartedAt time.Time - history historyer - bcParser *BlockchainParser - db *bolt.DB + history Historyer } // NewVisor creates a Visor for managing the blockchain database -func NewVisor(c Config, db *bolt.DB) (*Visor, error) { - logger.Debug("Creating new visor") +func NewVisor(c Config, db *dbutil.DB) (*Visor, error) { + logger.Info("Creating new visor") if c.IsMaster { - logger.Debug("Visor is master") + logger.Info("Visor is master") } if err := c.Verify(); err != nil { return nil, err } - db, bc, err := loadBlockchain(db, c.BlockchainPubkey, c.Arbitrating) + // Loads wallet + wltServConfig := wallet.Config{ + WalletDir: c.WalletDirectory, + CryptoType: c.WalletCryptoType, + EnableWalletAPI: c.EnableWalletAPI, + EnableSeedAPI: c.EnableSeedAPI, + } + + wltServ, err := wallet.NewService(wltServConfig) if err != nil { return nil, err } - history, err := historydb.New(db) + if !db.IsReadOnly() { + if err := CreateBuckets(db); err != nil { + logger.WithError(err).Error("CreateBuckets failed") + return nil, err + } + } + + bc, err := NewBlockchain(db, BlockchainConfig{ + Pubkey: c.BlockchainPubkey, + Arbitrating: c.Arbitrating, + }) if err != nil { return nil, err } - // creates blockchain parser instance - bp := NewBlockchainParser(history, bc) + history := historydb.New() - bc.BindListener(bp.FeedBlock) + if !db.IsReadOnly() { + if err := db.Update("build unspent indexes and init history", func(tx *dbutil.Tx) error { + headSeq, _, err := bc.HeadSeq(tx) + if err != nil { + return err + } - wltServConfig := wallet.Config{ - WalletDir: c.WalletDirectory, - CryptoType: c.WalletCryptoType, - EnableWalletAPI: c.EnableWalletAPI, - EnableSeedAPI: c.EnableSeedAPI, + if err := bc.Unspent().MaybeBuildIndexes(tx, headSeq); err != nil { + return err + } + + return initHistory(tx, bc, history) + }); err != nil { + return nil, err + } } - wltServ, err := wallet.NewService(wltServConfig) + utp, err := NewUnconfirmedTxnPool(db) if err != nil { return nil, err } v := &Visor{ Config: c, - db: db, + DB: db, Blockchain: bc, - Unconfirmed: NewUnconfirmedTxnPool(db), + Unconfirmed: utp, history: history, - bcParser: bp, Wallets: wltServ, StartedAt: time.Now(), } @@ -300,39 +307,99 @@ func NewVisor(c Config, db *bolt.DB) (*Visor, error) { return v, nil } -// Run starts the visor -func (vs *Visor) Run() error { - if err := vs.maybeCreateGenesisBlock(); err != nil { +// Init initializes starts the visor +func (vs *Visor) Init() error { + logger.Info("Visor init") + + if vs.DB.IsReadOnly() { + return nil + } + + return vs.DB.Update("visor init", func(tx *dbutil.Tx) error { + if err := vs.maybeCreateGenesisBlock(tx); err != nil { + return err + } + + removed, err := vs.Unconfirmed.RemoveInvalid(tx, vs.Blockchain) + if err != nil { + return err + } + logger.Infof("Removed %d invalid txns from pool", len(removed)) + + return nil + }) +} + +func initHistory(tx *dbutil.Tx, bc *Blockchain, history *historydb.HistoryDB) error { + logger.Info("Visor initHistory") + + shouldReset, err := history.NeedsReset(tx) + if err != nil { + return err + } + + if !shouldReset { + return nil + } + + logger.Info("Resetting historyDB") + + if err := history.Erase(tx); err != nil { return err } - removed, err := vs.RemoveInvalidUnconfirmed() + // Reparse the history up to the blockchain head + headSeq, _, err := bc.HeadSeq(tx) if err != nil { return err } - logger.Infof("Removed %d invalid txns from pool", len(removed)) - return vs.bcParser.Run() + if err := parseHistoryTo(tx, history, bc, headSeq); err != nil { + logger.WithError(err).Error("parseHistoryTo failed") + return err + } + + return nil } -// Shutdown shuts down the visor -func (vs *Visor) Shutdown() { - defer logger.Info("DB and BlockchainParser closed") +func parseHistoryTo(tx *dbutil.Tx, history *historydb.HistoryDB, bc *Blockchain, height uint64) error { + logger.Info("Visor parseHistoryTo") - vs.bcParser.Shutdown() + parsedBlockSeq, _, err := history.ParsedBlockSeq(tx) + if err != nil { + return err + } + + for i := uint64(0); i < height-parsedBlockSeq; i++ { + b, err := bc.GetSignedBlockBySeq(tx, parsedBlockSeq+i+1) + if err != nil { + return err + } + + if b == nil { + return fmt.Errorf("no block exists in depth: %d", parsedBlockSeq+i+1) + } - if err := vs.db.Close(); err != nil { - logger.Errorf("db.Close() error: %v", err) + if err := history.ParseBlock(tx, b.Block); err != nil { + return err + } } + + return nil } // maybeCreateGenesisBlock creates a genesis block if necessary -func (vs *Visor) maybeCreateGenesisBlock() error { - if vs.Blockchain.GetGenesisBlock() != nil { +func (vs *Visor) maybeCreateGenesisBlock(tx *dbutil.Tx) error { + logger.Info("Visor maybeCreateGenesisBlock") + gb, err := vs.Blockchain.GetGenesisBlock(tx) + if err != nil { + return err + } + if gb != nil { return nil } - logger.Debug("Create genesis block") + logger.Info("Create genesis block") vs.GenesisPreconditions() b, err := coin.NewGenesisBlock(vs.Config.GenesisAddress, vs.Config.GenesisCoinVolume, vs.Config.GenesisTimestamp) if err != nil { @@ -342,7 +409,7 @@ func (vs *Visor) maybeCreateGenesisBlock() error { var sb coin.SignedBlock // record the signature of genesis block if vs.Config.IsMaster { - sb = vs.SignBlock(*b) + sb = vs.signBlock(*b) logger.Infof("Genesis block signature=%s", sb.Sig.Hex()) } else { sb = coin.SignedBlock{ @@ -351,7 +418,7 @@ func (vs *Visor) maybeCreateGenesisBlock() error { } } - return vs.ExecuteSignedBlock(sb) + return vs.executeSignedBlock(tx, sb) } // GenesisPreconditions panics if conditions for genesis block are not met @@ -366,29 +433,48 @@ func (vs *Visor) GenesisPreconditions() { // RefreshUnconfirmed checks unconfirmed txns against the blockchain and returns // all transaction that turn to valid. func (vs *Visor) RefreshUnconfirmed() ([]cipher.SHA256, error) { - return vs.Unconfirmed.Refresh(vs.Blockchain, vs.Config.MaxBlockSize) + var hashes []cipher.SHA256 + if err := vs.DB.Update("RefreshUnconfirmed", func(tx *dbutil.Tx) error { + var err error + hashes, err = vs.Unconfirmed.Refresh(tx, vs.Blockchain, vs.Config.MaxBlockSize) + return err + }); err != nil { + return nil, err + } + + return hashes, nil } // RemoveInvalidUnconfirmed removes transactions that become permanently invalid // (by violating hard constraints) from the pool. // Returns the transaction hashes that were removed. func (vs *Visor) RemoveInvalidUnconfirmed() ([]cipher.SHA256, error) { - return vs.Unconfirmed.RemoveInvalid(vs.Blockchain) + var hashes []cipher.SHA256 + if err := vs.DB.Update("RemoveInvalidUnconfirmed", func(tx *dbutil.Tx) error { + var err error + hashes, err = vs.Unconfirmed.RemoveInvalid(tx, vs.Blockchain) + return err + }); err != nil { + return nil, err + } + + return hashes, nil } // CreateBlock creates a SignedBlock from pending transactions -func (vs *Visor) CreateBlock(when uint64) (coin.SignedBlock, error) { +func (vs *Visor) createBlock(tx *dbutil.Tx, when uint64) (coin.SignedBlock, error) { if !vs.Config.IsMaster { logger.Panic("Only master chain can create blocks") } - var sb coin.SignedBlock - // Gather all unconfirmed transactions - txns := vs.Unconfirmed.RawTxns() + txns, err := vs.Unconfirmed.RawTxns(tx) + if err != nil { + return coin.SignedBlock{}, err + } if len(txns) == 0 { - return sb, errors.New("No transactions") + return coin.SignedBlock{}, errors.New("No transactions") } logger.Infof("Unconfirmed pool has %d transactions pending", len(txns)) @@ -396,8 +482,13 @@ func (vs *Visor) CreateBlock(when uint64) (coin.SignedBlock, error) { // Filter transactions that violate all constraints var filteredTxns coin.Transactions for _, txn := range txns { - if err := vs.Blockchain.VerifySingleTxnAllConstraints(txn, vs.Config.MaxBlockSize); err != nil { - logger.Warningf("Transaction %s violates constraints: %v", txn.TxIDHex(), err) + if err := vs.Blockchain.VerifySingleTxnSoftHardConstraints(tx, txn, vs.Config.MaxBlockSize); err != nil { + switch err.(type) { + case ErrTxnViolatesHardConstraint, ErrTxnViolatesSoftConstraint: + logger.Warningf("Transaction %s violates constraints: %v", txn.TxIDHex(), err) + default: + return coin.SignedBlock{}, err + } } else { filteredTxns = append(filteredTxns, txn) } @@ -412,11 +503,16 @@ func (vs *Visor) CreateBlock(when uint64) (coin.SignedBlock, error) { if len(txns) == 0 { logger.Info("No transactions after filtering for constraint violations") - return sb, errors.New("No transactions after filtering for constraint violations") + return coin.SignedBlock{}, errors.New("No transactions after filtering for constraint violations") + } + + head, err := vs.Blockchain.Head(tx) + if err != nil { + return coin.SignedBlock{}, err } // Sort them by highest fee per kilobyte - txns = coin.SortTransactions(txns, vs.Blockchain.TransactionFee) + txns = coin.SortTransactions(txns, vs.Blockchain.TransactionFee(tx, head.Time())) // Apply block size transaction limit txns = txns.TruncateBytesTo(vs.Config.MaxBlockSize) @@ -427,21 +523,28 @@ func (vs *Visor) CreateBlock(when uint64) (coin.SignedBlock, error) { logger.Infof("Creating new block with %d transactions, head time %d", len(txns), when) - b, err := vs.Blockchain.NewBlock(txns, when) + b, err := vs.Blockchain.NewBlock(tx, txns, when) if err != nil { logger.Warningf("Blockchain.NewBlock failed: %v", err) - return sb, err + return coin.SignedBlock{}, err } - return vs.SignBlock(*b), nil + return vs.signBlock(*b), nil } // CreateAndExecuteBlock creates a SignedBlock from pending transactions and executes it func (vs *Visor) CreateAndExecuteBlock() (coin.SignedBlock, error) { - sb, err := vs.CreateBlock(uint64(utc.UnixNow())) - if err == nil { - return sb, vs.ExecuteSignedBlock(sb) - } + var sb coin.SignedBlock + + err := vs.DB.Update("CreateAndExecuteBlock", func(tx *dbutil.Tx) error { + var err error + sb, err = vs.createBlock(tx, uint64(utc.UnixNow())) + if err != nil { + return err + } + + return vs.executeSignedBlock(tx, sb) + }) return sb, err } @@ -449,33 +552,38 @@ func (vs *Visor) CreateAndExecuteBlock() (coin.SignedBlock, error) { // ExecuteSignedBlock adds a block to the blockchain, or returns error. // Blocks must be executed in sequence, and be signed by the master server func (vs *Visor) ExecuteSignedBlock(b coin.SignedBlock) error { + return vs.DB.Update("ExecuteSignedBlock", func(tx *dbutil.Tx) error { + return vs.executeSignedBlock(tx, b) + }) +} + +// executeSignedBlock adds a block to the blockchain, or returns error. +// Blocks must be executed in sequence, and be signed by the master server +func (vs *Visor) executeSignedBlock(tx *dbutil.Tx, b coin.SignedBlock) error { if err := b.VerifySignature(vs.Config.BlockchainPubkey); err != nil { return err } - if err := vs.db.Update(func(tx *bolt.Tx) error { - if err := vs.Blockchain.ExecuteBlockWithTx(tx, &b); err != nil { - return err - } + if err := vs.Blockchain.ExecuteBlock(tx, &b); err != nil { + return err + } - // Remove the transactions in the Block from the unconfirmed pool - txHashes := make([]cipher.SHA256, 0, len(b.Block.Body.Transactions)) - for _, tx := range b.Block.Body.Transactions { - txHashes = append(txHashes, tx.Hash()) - } - vs.Unconfirmed.RemoveTransactionsWithTx(tx, txHashes) + // Remove the transactions in the Block from the unconfirmed pool + txHashes := make([]cipher.SHA256, 0, len(b.Block.Body.Transactions)) + for _, tx := range b.Block.Body.Transactions { + txHashes = append(txHashes, tx.Hash()) + } - return nil - }); err != nil { + if err := vs.Unconfirmed.RemoveTransactions(tx, txHashes); err != nil { return err } - vs.Blockchain.Notify(b.Block) - return nil + // Update the HistoryDB + return vs.history.ParseBlock(tx, b.Block) } -// SignBlock signs a block for master. Will panic if anything is invalid -func (vs *Visor) SignBlock(b coin.Block) coin.SignedBlock { +// signBlock signs a block for master. Will panic if anything is invalid +func (vs *Visor) signBlock(b coin.Block) coin.SignedBlock { if !vs.Config.IsMaster { logger.Panic("Only master chain can sign blocks") } @@ -492,85 +600,199 @@ func (vs *Visor) SignBlock(b coin.Block) coin.SignedBlock { Return Data */ -// GetUnspentOutputs makes local copy and update when block header changes -// update should lock -// isolate effect of threading -// call .Array() to get []UxOut array -func (vs *Visor) GetUnspentOutputs() ([]coin.UxOut, error) { - return vs.Blockchain.Unspent().GetAll() +// GetAllUnspentOutputs returns all unspent outputs +func (vs *Visor) GetAllUnspentOutputs() (coin.UxArray, error) { + var ux []coin.UxOut + if err := vs.DB.View("GetAllUnspentOutputs", func(tx *dbutil.Tx) error { + var err error + ux, err = vs.Blockchain.Unspent().GetAll(tx) + return err + }); err != nil { + return nil, err + } + + return ux, nil +} + +// GetUnspentOutputs returns unspent outputs from the pool, queried by hashes. +// If any do not exist, ErrUnspentNotExist is returned +func (vs *Visor) GetUnspentOutputs(hashes []cipher.SHA256) (coin.UxArray, error) { + var outputs coin.UxArray + if err := vs.DB.View("GetUnspentOutputs", func(tx *dbutil.Tx) error { + var err error + outputs, err = vs.Blockchain.Unspent().GetArray(tx, hashes) + return err + }); err != nil { + return nil, err + } + + return outputs, nil } // UnconfirmedSpendingOutputs returns all spending outputs in unconfirmed tx pool func (vs *Visor) UnconfirmedSpendingOutputs() (coin.UxArray, error) { - return vs.Unconfirmed.GetSpendingOutputs(vs.Blockchain.Unspent()) + var uxa coin.UxArray + + if err := vs.DB.View("UnconfirmedSpendingOutputs", func(tx *dbutil.Tx) error { + var inputs []cipher.SHA256 + txns, err := vs.Unconfirmed.RawTxns(tx) + if err != nil { + return err + } + + for _, txn := range txns { + inputs = append(inputs, txn.In...) + } + + uxa, err = vs.Blockchain.Unspent().GetArray(tx, inputs) + return err + }); err != nil { + return nil, err + } + + return uxa, nil } // UnconfirmedIncomingOutputs returns all predicted outputs that are in pending tx pool func (vs *Visor) UnconfirmedIncomingOutputs() (coin.UxArray, error) { - head, err := vs.Blockchain.Head() - if err != nil { - return coin.UxArray{}, err - } + var uxa coin.UxArray - return vs.Unconfirmed.GetIncomingOutputs(head.Head), nil -} + if err := vs.DB.View("UnconfirmedIncomingOutputs", func(tx *dbutil.Tx) error { + head, err := vs.Blockchain.Head(tx) + if err != nil { + return err + } -// GetSignedBlocksSince returns signed blocks in an inclusive range of [seq+1, seq+ct] -func (vs *Visor) GetSignedBlocksSince(seq, ct uint64) ([]coin.SignedBlock, error) { - avail := uint64(0) - head, err := vs.Blockchain.Head() - if err != nil { + uxa, err = vs.Unconfirmed.GetIncomingOutputs(tx, head.Head) + return err + }); err != nil { return nil, err } - headSeq := head.Seq() - if headSeq > seq { - avail = headSeq - seq - } - if avail < ct { - ct = avail - } - if ct == 0 { - return nil, nil - } + return uxa, nil +} + +// GetSignedBlocksSince returns N signed blocks more recent than Seq. Does not return nil. +func (vs *Visor) GetSignedBlocksSince(seq, ct uint64) ([]coin.SignedBlock, error) { + var blocks []coin.SignedBlock - blocks := make([]coin.SignedBlock, 0, ct) - for j := uint64(0); j < ct; j++ { - i := seq + 1 + j - b, err := vs.Blockchain.GetBlockBySeq(i) + if err := vs.DB.View("GetSignedBlocksSince", func(tx *dbutil.Tx) error { + avail := uint64(0) + head, err := vs.Blockchain.Head(tx) if err != nil { - return nil, err + return err + } + + headSeq := head.Seq() + if headSeq > seq { + avail = headSeq - seq + } + if avail < ct { + ct = avail + } + if ct == 0 { + return nil + } + + blocks = make([]coin.SignedBlock, 0, ct) + for j := uint64(0); j < ct; j++ { + i := seq + 1 + j + b, err := vs.Blockchain.GetSignedBlockBySeq(tx, i) + if err != nil { + return err + } + + blocks = append(blocks, *b) } - blocks = append(blocks, *b) + return nil + }); err != nil { + return nil, err } + return blocks, nil } -// HeadBkSeq returns the highest BkSeq we know, returns -1 if the chain is empty -func (vs *Visor) HeadBkSeq() uint64 { - return vs.Blockchain.HeadSeq() +// HeadBkSeq returns the highest BkSeq we know, returns false in the 2nd return value +// if the blockchain is empty +func (vs *Visor) HeadBkSeq() (uint64, bool, error) { + var headSeq uint64 + var ok bool + + if err := vs.DB.View("HeadBkSeq", func(tx *dbutil.Tx) error { + var err error + headSeq, ok, err = vs.Blockchain.HeadSeq(tx) + return err + }); err != nil { + return 0, false, err + } + + return headSeq, ok, nil } // GetBlockchainMetadata returns descriptive Blockchain information func (vs *Visor) GetBlockchainMetadata() (*BlockchainMetadata, error) { - return NewBlockchainMetadata(vs) + var head *coin.SignedBlock + var unconfirmedLen, unspentsLen uint64 + + if err := vs.DB.View("GetBlockchainMetadata", func(tx *dbutil.Tx) error { + var err error + head, err = vs.Blockchain.Head(tx) + if err != nil { + return err + } + + unconfirmedLen, err = vs.Unconfirmed.Len(tx) + if err != nil { + return err + } + + unspentsLen, err = vs.Blockchain.Unspent().Len(tx) + return err + }); err != nil { + return nil, err + } + + return NewBlockchainMetadata(head, unconfirmedLen, unspentsLen) } // GetBlock returns a copy of the block at seq. Returns error if seq out of range -// Move to blockdb func (vs *Visor) GetBlock(seq uint64) (*coin.SignedBlock, error) { - var b coin.SignedBlock - if seq > vs.Blockchain.HeadSeq() { - return &b, errors.New("Block seq out of range") + var b *coin.SignedBlock + + if err := vs.DB.View("GetBlock", func(tx *dbutil.Tx) error { + headSeq, ok, err := vs.Blockchain.HeadSeq(tx) + if err != nil { + return err + } + + if !ok || seq > headSeq { + return errors.New("Block seq out of range") + } + + b, err = vs.Blockchain.GetSignedBlockBySeq(tx, seq) + return err + }); err != nil { + return nil, err } - return vs.Blockchain.GetBlockBySeq(seq) + return b, nil } -// GetBlocks returns multiple blocks between start and end (not including end). +// GetBlocks returns multiple blocks between start and end (not including end). Returns +// empty slice if unable to fulfill request, it does not return nil. func (vs *Visor) GetBlocks(start, end uint64) ([]coin.SignedBlock, error) { - return vs.Blockchain.GetBlocks(start, end) + var blocks []coin.SignedBlock + + if err := vs.DB.View("GetBlocks", func(tx *dbutil.Tx) error { + var err error + blocks, err = vs.Blockchain.GetBlocks(tx, start, end) + return err + }); err != nil { + return nil, err + } + + return blocks, nil } // InjectTransaction records a coin.Transaction to the UnconfirmedTxnPool if the txn is not @@ -579,7 +801,18 @@ func (vs *Visor) GetBlocks(start, end uint64) ([]coin.SignedBlock, error) { // If the transaction violates hard constraints, it is rejected, and error will not be nil. // If the transaction only violates soft constraints, it is still injected, and the soft constraint violation is returned. func (vs *Visor) InjectTransaction(txn coin.Transaction) (bool, *ErrTxnViolatesSoftConstraint, error) { - return vs.Unconfirmed.InjectTransaction(vs.Blockchain, txn, vs.Config.MaxBlockSize) + var known bool + var softErr *ErrTxnViolatesSoftConstraint + + if err := vs.DB.Update("InjectTransaction", func(tx *dbutil.Tx) error { + var err error + known, softErr, err = vs.Unconfirmed.InjectTransaction(tx, vs.Blockchain, txn, vs.Config.MaxBlockSize) + return err + }); err != nil { + return false, nil, err + } + + return known, softErr, nil } // InjectTransactionStrict records a coin.Transaction to the UnconfirmedTxnPool if the txn is not @@ -587,12 +820,25 @@ func (vs *Visor) InjectTransaction(txn coin.Transaction) (bool, *ErrTxnViolatesS // The bool return value is whether or not the transaction was already in the pool. // If the transaction violates hard or soft constraints, it is rejected, and error will not be nil. func (vs *Visor) InjectTransactionStrict(txn coin.Transaction) (bool, error) { - if err := vs.Blockchain.VerifySingleTxnAllConstraints(txn, vs.Config.MaxBlockSize); err != nil { + if err := VerifySingleTxnUserConstraints(txn); err != nil { + return false, err + } + + var known bool + + if err := vs.DB.Update("InjectTransactionStrict", func(tx *dbutil.Tx) error { + err := vs.Blockchain.VerifySingleTxnSoftHardConstraints(tx, txn, vs.Config.MaxBlockSize) + if err != nil { + return err + } + + known, _, err = vs.Unconfirmed.InjectTransaction(tx, vs.Blockchain, txn, vs.Config.MaxBlockSize) + return err + }); err != nil { return false, err } - known, _, err := vs.Unconfirmed.InjectTransaction(vs.Blockchain, txn, vs.Config.MaxBlockSize) - return known, err + return known, nil } // GetAddressTxns returns the Transactions whose unspents give coins to a cipher.Address. @@ -600,87 +846,138 @@ func (vs *Visor) InjectTransactionStrict(txn coin.Transaction) (bool, error) { func (vs *Visor) GetAddressTxns(a cipher.Address) ([]Transaction, error) { var txns []Transaction - mxSeq := vs.HeadBkSeq() - txs, err := vs.history.GetAddrTxns(a) - if err != nil { - return []Transaction{}, err - } - - for _, tx := range txs { - h := mxSeq - tx.BlockSeq + 1 - - bk, err := vs.GetBlockBySeq(tx.BlockSeq) + if err := vs.DB.View("GetAddressTxns", func(tx *dbutil.Tx) error { + txs, err := vs.history.GetAddressTxns(tx, a) if err != nil { - return []Transaction{}, err + return err } - if bk == nil { - return []Transaction{}, fmt.Errorf("No block exsit in depth:%d", tx.BlockSeq) + mxSeq, ok, err := vs.Blockchain.HeadSeq(tx) + if err != nil { + return err + } else if !ok { + if len(txns) > 0 { + return fmt.Errorf("Found %d txns for addresses but block head seq is missing", len(txns)) + } + return nil } - txns = append(txns, Transaction{ - Txn: tx.Tx, - Status: NewConfirmedTransactionStatus(h, tx.BlockSeq), - Time: bk.Time(), - }) - } - - // Look in the unconfirmed pool - uxs := vs.Unconfirmed.GetUnspentsOfAddr(a) - for _, ux := range uxs { - tx, ok := vs.Unconfirmed.Get(ux.Body.SrcTransaction) - if !ok { - logger.Critical().Error("Unconfirmed unspent missing unconfirmed txn") - continue - } - txns = append(txns, Transaction{ - Txn: tx.Txn, - Status: NewUnconfirmedTransactionStatus(), - Time: uint64(nanoToTime(tx.Received).Unix()), - }) - } + for _, txn := range txs { + if mxSeq < txn.BlockSeq { + return fmt.Errorf("Blockchain head seq %d is earlier than history txn seq %d", mxSeq, txn.BlockSeq) + } + h := mxSeq - txn.BlockSeq + 1 - return txns, nil -} + bk, err := vs.Blockchain.GetSignedBlockBySeq(tx, txn.BlockSeq) + if err != nil { + return err + } -// GetTransaction returns a Transaction by hash. -func (vs *Visor) GetTransaction(txHash cipher.SHA256) (*Transaction, error) { - // Look in the unconfirmed pool - tx, ok := vs.Unconfirmed.Get(txHash) - if ok { - return &Transaction{ - Txn: tx.Txn, - Status: NewUnconfirmedTransactionStatus(), - Time: uint64(nanoToTime(tx.Received).Unix()), - }, nil - } + if bk == nil { + return fmt.Errorf("No block exists in depth: %d", txn.BlockSeq) + } - txn, err := vs.history.GetTransaction(txHash) - if err != nil { - return nil, err - } + txns = append(txns, Transaction{ + Txn: txn.Tx, + Status: NewConfirmedTransactionStatus(h, txn.BlockSeq), + Time: bk.Time(), + }) + } - if txn == nil { - return nil, nil - } + // Look in the unconfirmed pool + uxs, err := vs.Unconfirmed.GetUnspentsOfAddr(tx, a) + if err != nil { + return err + } - headSeq := vs.HeadBkSeq() + for _, ux := range uxs { + utxn, err := vs.Unconfirmed.Get(tx, ux.Body.SrcTransaction) + if err != nil { + return err + } - confirms := headSeq - txn.BlockSeq + 1 - b, err := vs.GetBlockBySeq(txn.BlockSeq) - if err != nil { + if utxn == nil { + logger.Critical().Error("Unconfirmed unspent missing unconfirmed txn") + continue + } + + txns = append(txns, Transaction{ + Txn: utxn.Txn, + Status: NewUnconfirmedTransactionStatus(), + Time: uint64(nanoToTime(utxn.Received).Unix()), + }) + } + + return nil + }); err != nil { return nil, err } - if b == nil { - return nil, fmt.Errorf("found no block in seq %v", txn.BlockSeq) + return txns, nil +} + +// GetTransaction returns a Transaction by hash. +func (vs *Visor) GetTransaction(txHash cipher.SHA256) (*Transaction, error) { + var txn *Transaction + + if err := vs.DB.View("GetTransaction", func(tx *dbutil.Tx) error { + // Look in the unconfirmed pool + utxn, err := vs.Unconfirmed.Get(tx, txHash) + if err != nil { + return err + } + + if utxn != nil { + txn = &Transaction{ + Txn: utxn.Txn, + Status: NewUnconfirmedTransactionStatus(), + Time: uint64(nanoToTime(utxn.Received).Unix()), + } + return nil + } + + htxn, err := vs.history.GetTransaction(tx, txHash) + if err != nil { + return err + } + + if htxn == nil { + return nil + } + + headSeq, ok, err := vs.Blockchain.HeadSeq(tx) + if err != nil { + return err + } else if !ok { + return errors.New("Blockchain is empty but history has transactions") + } + + b, err := vs.Blockchain.GetSignedBlockBySeq(tx, htxn.BlockSeq) + if err != nil { + return err + } + + if b == nil { + return fmt.Errorf("found no block in seq %v", htxn.BlockSeq) + } + + if headSeq < htxn.BlockSeq { + return fmt.Errorf("Blockchain head seq %d is earlier than history txn seq %d", headSeq, htxn.BlockSeq) + } + + confirms := headSeq - htxn.BlockSeq + 1 + txn = &Transaction{ + Txn: htxn.Tx, + Status: NewConfirmedTransactionStatus(confirms, htxn.BlockSeq), + Time: b.Time(), + } + + return nil + }); err != nil { + return nil, err } - return &Transaction{ - Txn: txn.Tx, - Status: NewConfirmedTransactionStatus(confirms, txn.BlockSeq), - Time: b.Time(), - }, nil + return txn, nil } // TxFilter transaction filter type @@ -740,15 +1037,41 @@ func (vs *Visor) GetTransactions(flts ...TxFilter) ([]Transaction, error) { // Traverses all transactions to do collection if there's no address filter. if len(addrs) == 0 { - return vs.traverseTxns(otherFlts...) + var txns []Transaction + if err := vs.DB.View("GetTransactions traverseTxns", func(tx *dbutil.Tx) error { + var err error + txns, err = vs.traverseTxns(tx, otherFlts...) + return err + }); err != nil { + return nil, err + } + return txns, nil } // Gets addresses related transactions - txns, err := getTransactionsOfAddrs(vs, addrs) - if err != nil { + var addrTxns map[cipher.Address][]Transaction + if err := vs.DB.View("GetTransactions getTransactionsOfAddrs", func(tx *dbutil.Tx) error { + var err error + addrTxns, err = vs.getTransactionsOfAddrs(tx, addrs) + return err + }); err != nil { return nil, err } + // Converts address transactions map into []Transaction, + // and remove duplicate txns + txnMap := make(map[cipher.SHA256]struct{}, 0) + var txns []Transaction + for _, txs := range addrTxns { + for _, tx := range txs { + if _, exist := txnMap[tx.Txn.Hash()]; exist { + continue + } + txnMap[tx.Txn.Hash()] = struct{}{} + txns = append(txns, tx) + } + } + // Checks other filters var retTxns []Transaction f := func(tx *Transaction, flts ...TxFilter) bool { @@ -786,74 +1109,77 @@ func accumulateAddressInFilter(afs []addrsFilter) []cipher.Address { return addrs } -func getTransactionsOfAddrs(vs *Visor, addrs []cipher.Address) ([]Transaction, error) { - addrTxns, err := vs.getTransactionsOfAddrs(addrs) - if err != nil { - return nil, err - } - - // Converts address transactions map into []Transaction, - // and remove duplicate txns - txnMap := make(map[cipher.SHA256]struct{}, 0) - var txns []Transaction - for _, txs := range addrTxns { - for _, tx := range txs { - if _, exist := txnMap[tx.Txn.Hash()]; exist { - continue - } - txnMap[tx.Txn.Hash()] = struct{}{} - txns = append(txns, tx) - } - } - return txns, nil -} - // getTransactionsOfAddrs returns all addresses related transactions. // Including both confirmed and unconfirmed transactions. -func (vs *Visor) getTransactionsOfAddrs(addrs []cipher.Address) (map[cipher.Address][]Transaction, error) { +func (vs *Visor) getTransactionsOfAddrs(tx *dbutil.Tx, addrs []cipher.Address) (map[cipher.Address][]Transaction, error) { // Initialize the address transactions map addrTxs := make(map[cipher.Address][]Transaction) - // Get the head block seq, for caculating the tx status - headBkSeq := vs.HeadBkSeq() + // Get the head block seq, for calculating the tx status + headBkSeq, ok, err := vs.Blockchain.HeadSeq(tx) + + if err != nil { + return nil, err + } + if !ok { + return nil, errors.New("No head block seq") + } + for _, a := range addrs { var txns []Transaction - txs, err := vs.history.GetAddrTxns(a) + addrTxns, err := vs.history.GetAddressTxns(tx, a) if err != nil { return nil, err } - for _, tx := range txs { - h := headBkSeq - tx.BlockSeq + 1 + for _, txn := range addrTxns { + if headBkSeq < txn.BlockSeq { + err := errors.New("Transaction block sequence is less than the head block sequence") + logger.Critical().WithError(err).WithFields(logrus.Fields{ + "headBkSeq": headBkSeq, + "txBlockSeq": txn.BlockSeq, + }).Error() + return nil, err + } + h := headBkSeq - txn.BlockSeq + 1 - bk, err := vs.GetBlockBySeq(tx.BlockSeq) + bk, err := vs.Blockchain.GetSignedBlockBySeq(tx, txn.BlockSeq) if err != nil { return nil, err } if bk == nil { - return nil, fmt.Errorf("block of seq: %d doesn't exist", tx.BlockSeq) + return nil, fmt.Errorf("block of seq: %d doesn't exist", txn.BlockSeq) } txns = append(txns, Transaction{ - Txn: tx.Tx, - Status: NewConfirmedTransactionStatus(h, tx.BlockSeq), + Txn: txn.Tx, + Status: NewConfirmedTransactionStatus(h, txn.BlockSeq), Time: bk.Time(), }) } // Look in the unconfirmed pool - uxs := vs.Unconfirmed.GetUnspentsOfAddr(a) + uxs, err := vs.Unconfirmed.GetUnspentsOfAddr(tx, a) + if err != nil { + return nil, err + } + for _, ux := range uxs { - tx, ok := vs.Unconfirmed.Get(ux.Body.SrcTransaction) - if !ok { + txn, err := vs.Unconfirmed.Get(tx, ux.Body.SrcTransaction) + if err != nil { + return nil, err + } + + if txn == nil { logger.Critical().Error("Unconfirmed unspent missing unconfirmed txn") continue } + txns = append(txns, Transaction{ - Txn: tx.Txn, + Txn: txn.Txn, Status: NewUnconfirmedTransactionStatus(), - Time: uint64(nanoToTime(tx.Received).Unix()), + Time: uint64(nanoToTime(txn.Received).Unix()), }) } @@ -865,23 +1191,42 @@ func (vs *Visor) getTransactionsOfAddrs(addrs []cipher.Address) (map[cipher.Addr // traverseTxns traverses transactions in historydb and unconfirmed tx pool in db, // returns transactions that can pass the filters. -func (vs *Visor) traverseTxns(flts ...TxFilter) ([]Transaction, error) { - headBkSeq := vs.HeadBkSeq() +func (vs *Visor) traverseTxns(tx *dbutil.Tx, flts ...TxFilter) ([]Transaction, error) { + // Get the head block seq, for calculating the tx status + headBkSeq, ok, err := vs.Blockchain.HeadSeq(tx) + if err != nil { + return nil, err + } + if !ok { + return nil, errors.New("No head block seq") + } + var txns []Transaction - err := vs.history.ForEach(func(tx *historydb.Transaction) error { - h := headBkSeq - tx.BlockSeq + 1 - bk, err := vs.GetBlockBySeq(tx.BlockSeq) + + if err := vs.history.ForEachTxn(tx, func(_ cipher.SHA256, hTxn *historydb.Transaction) error { + if headBkSeq < hTxn.BlockSeq { + err := errors.New("Transaction block sequence is less than the head block sequence") + logger.Critical().WithError(err).WithFields(logrus.Fields{ + "headBkSeq": headBkSeq, + "txBlockSeq": hTxn.BlockSeq, + }).Error() + return err + } + + h := headBkSeq - hTxn.BlockSeq + 1 + + bk, err := vs.Blockchain.GetSignedBlockBySeq(tx, hTxn.BlockSeq) if err != nil { - return fmt.Errorf("get block of seq: %v failed: %v", tx.BlockSeq, err) + return fmt.Errorf("get block of seq: %v failed: %v", hTxn.BlockSeq, err) } if bk == nil { - return fmt.Errorf("block of seq: %d doesn't exist", tx.BlockSeq) + return fmt.Errorf("block of seq: %d doesn't exist", hTxn.BlockSeq) } txn := Transaction{ - Txn: tx.Tx, - Status: NewConfirmedTransactionStatus(h, tx.BlockSeq), + Txn: hTxn.Tx, + Status: NewConfirmedTransactionStatus(h, hTxn.BlockSeq), Time: bk.Time(), } @@ -894,18 +1239,22 @@ func (vs *Visor) traverseTxns(flts ...TxFilter) ([]Transaction, error) { txns = append(txns, txn) return nil - }) - - if err != nil { + }); err != nil { return nil, err } txns = sortTxns(txns) // Gets all unconfirmed transactions - unconfirmedTxns := vs.Unconfirmed.GetTxns(func(tx UnconfirmedTxn) bool { return true }) + unconfirmedTxns, err := vs.Unconfirmed.GetTxns(tx, func(txn UnconfirmedTxn) bool { + return true + }) + if err != nil { + return nil, err + } + for _, ux := range unconfirmedTxns { - tx := Transaction{ + txn := Transaction{ Txn: ux.Txn, Status: NewUnconfirmedTransactionStatus(), Time: uint64(nanoToTime(ux.Received).Unix()), @@ -913,24 +1262,15 @@ func (vs *Visor) traverseTxns(flts ...TxFilter) ([]Transaction, error) { // Checks filters for _, f := range flts { - if !f.Match(&tx) { + if !f.Match(&txn) { continue } - txns = append(txns, tx) + txns = append(txns, txn) } } return txns, nil } -func txMatchFilters(tx *Transaction, flts ...TxFilter) bool { - for _, f := range flts { - if !f.Match(tx) { - return false - } - } - return true -} - // Sort transactions by block seq, if equal then compare hash func sortTxns(txns []Transaction) []Transaction { sort.Slice(txns, func(i, j int) bool { @@ -949,8 +1289,8 @@ func sortTxns(txns []Transaction) []Transaction { } // AddressBalance computes the total balance for cipher.Addresses and their coin.UxOuts -func (vs *Visor) AddressBalance(auxs coin.AddressUxOuts) (uint64, uint64, error) { - prevTime := vs.Blockchain.Time() +func (vs *Visor) AddressBalance(head *coin.SignedBlock, auxs coin.AddressUxOuts) (uint64, uint64, error) { + prevTime := head.Time() var coins uint64 var hours uint64 for _, uxs := range auxs { @@ -975,8 +1315,18 @@ func (vs *Visor) AddressBalance(auxs coin.AddressUxOuts) (uint64, uint64, error) } // GetUnconfirmedTxns gets all confirmed transactions of specific addresses -func (vs *Visor) GetUnconfirmedTxns(filter func(UnconfirmedTxn) bool) []UnconfirmedTxn { - return vs.Unconfirmed.GetTxns(filter) +func (vs *Visor) GetUnconfirmedTxns(filter func(UnconfirmedTxn) bool) ([]UnconfirmedTxn, error) { + var txns []UnconfirmedTxn + + if err := vs.DB.View("GetUnconfirmedTxns", func(tx *dbutil.Tx) error { + var err error + txns, err = vs.Unconfirmed.GetTxns(tx, filter) + return err + }); err != nil { + return nil, err + } + + return txns, nil } // ToAddresses represents a filter that check if tx has output to the given addresses @@ -995,69 +1345,354 @@ func ToAddresses(addresses []cipher.Address) func(UnconfirmedTxn) bool { } // GetAllUnconfirmedTxns returns all unconfirmed transactions -func (vs *Visor) GetAllUnconfirmedTxns() []UnconfirmedTxn { - return vs.Unconfirmed.GetTxns(All) +func (vs *Visor) GetAllUnconfirmedTxns() ([]UnconfirmedTxn, error) { + var txns []UnconfirmedTxn + + if err := vs.DB.View("GetAllUnconfirmedTxns", func(tx *dbutil.Tx) error { + var err error + txns, err = vs.Unconfirmed.GetTxns(tx, All) + return err + }); err != nil { + return nil, err + } + + return txns, nil } // GetAllValidUnconfirmedTxHashes returns all valid unconfirmed transaction hashes -func (vs *Visor) GetAllValidUnconfirmedTxHashes() []cipher.SHA256 { - return vs.Unconfirmed.GetTxHashes(IsValid) +func (vs *Visor) GetAllValidUnconfirmedTxHashes() ([]cipher.SHA256, error) { + var hashes []cipher.SHA256 + + if err := vs.DB.View("GetAllValidUnconfirmedTxHashes", func(tx *dbutil.Tx) error { + var err error + hashes, err = vs.Unconfirmed.GetTxHashes(tx, IsValid) + return err + }); err != nil { + return nil, err + } + + return hashes, nil } -// GetBlockByHash get block of specific hash header, return nil on not found. -func (vs *Visor) GetBlockByHash(hash cipher.SHA256) (*coin.SignedBlock, error) { - return vs.Blockchain.GetBlockByHash(hash) +// GetSignedBlockByHash get block of specific hash header, return nil on not found. +func (vs *Visor) GetSignedBlockByHash(hash cipher.SHA256) (*coin.SignedBlock, error) { + var sb *coin.SignedBlock + + if err := vs.DB.View("GetSignedBlockByHash", func(tx *dbutil.Tx) error { + var err error + sb, err = vs.Blockchain.GetSignedBlockByHash(tx, hash) + return err + }); err != nil { + return nil, err + } + + return sb, nil } -// GetBlockBySeq get block of speicific seq, return nil on not found. -func (vs *Visor) GetBlockBySeq(seq uint64) (*coin.SignedBlock, error) { - return vs.Blockchain.GetBlockBySeq(seq) +// GetSignedBlockBySeq get block of specific seq, return nil on not found. +func (vs *Visor) GetSignedBlockBySeq(seq uint64) (*coin.SignedBlock, error) { + var b *coin.SignedBlock + + if err := vs.DB.View("GetSignedBlockBySeq", func(tx *dbutil.Tx) error { + var err error + b, err = vs.Blockchain.GetSignedBlockBySeq(tx, seq) + return err + }); err != nil { + return nil, err + } + + return b, nil } // GetLastBlocks returns last N blocks func (vs *Visor) GetLastBlocks(num uint64) ([]coin.SignedBlock, error) { - return vs.Blockchain.GetLastBlocks(num) + var blocks []coin.SignedBlock + + if err := vs.DB.View("GetLastBlocks", func(tx *dbutil.Tx) error { + var err error + blocks, err = vs.Blockchain.GetLastBlocks(tx, num) + return err + }); err != nil { + return nil, err + } + + return blocks, nil } // GetHeadBlock gets head block. func (vs Visor) GetHeadBlock() (*coin.SignedBlock, error) { - return vs.Blockchain.Head() + var b *coin.SignedBlock + + if err := vs.DB.View("GetHeadBlock", func(tx *dbutil.Tx) error { + var err error + b, err = vs.Blockchain.Head(tx) + return err + }); err != nil { + return nil, err + } + + return b, nil +} + +// GetHeadBlockTime returns the time of the head block. +func (vs Visor) GetHeadBlockTime() (uint64, error) { + var t uint64 + + if err := vs.DB.View("GetHeadBlockTime", func(tx *dbutil.Tx) error { + var err error + t, err = vs.Blockchain.Time(tx) + return err + }); err != nil { + return 0, err + } + + return t, nil } // GetUxOutByID gets UxOut by hash id. func (vs Visor) GetUxOutByID(id cipher.SHA256) (*historydb.UxOut, error) { - return vs.history.GetUxout(id) + var outs []*historydb.UxOut + + if err := vs.DB.View("GetUxOutByID", func(tx *dbutil.Tx) error { + var err error + outs, err = vs.history.GetUxOuts(tx, []cipher.SHA256{id}) + return err + }); err != nil { + return nil, err + } + + if len(outs) == 0 { + return nil, nil + } + + return outs[0], nil } // GetAddrUxOuts gets all the address affected UxOuts. func (vs Visor) GetAddrUxOuts(address cipher.Address) ([]*historydb.UxOut, error) { - return vs.history.GetAddrUxOuts(address) + var out []*historydb.UxOut + + if err := vs.DB.View("GetAddrUxOuts", func(tx *dbutil.Tx) error { + var err error + out, err = vs.history.GetAddrUxOuts(tx, address) + return err + }); err != nil { + return nil, err + } + + return out, nil } -// CreateWallet creates wallet and scans ahead N addresses to look for a none-empty balance -func (vs *Visor) CreateWallet(wltName string, opts wallet.Options) (*wallet.Wallet, error) { - return vs.Wallets.CreateWallet(wltName, opts, vs) +// RecvOfAddresses returns unconfirmed receiving uxouts of addresses +func (vs *Visor) RecvOfAddresses(addrs []cipher.Address) (coin.AddressUxOuts, error) { + var uxouts coin.AddressUxOuts + + if err := vs.DB.View("RecvOfAddresses", func(tx *dbutil.Tx) error { + head, err := vs.Blockchain.Head(tx) + if err != nil { + return err + } + + uxouts, err = vs.Unconfirmed.RecvOfAddresses(tx, head.Head, addrs) + return err + }); err != nil { + return nil, err + } + + return uxouts, nil } -// GetBalanceOfAddrs returns balance pairs of given addreses -func (vs Visor) GetBalanceOfAddrs(addrs []cipher.Address) ([]wallet.BalancePair, error) { - var bps []wallet.BalancePair - auxs := vs.Blockchain.Unspent().GetUnspentsOfAddrs(addrs) - spendUxs, err := vs.Unconfirmed.SpendsOfAddresses(addrs, vs.Blockchain.Unspent()) - if err != nil { - return nil, fmt.Errorf("get unconfirmed spending failed when checking addresses balance: %v", err) +// GetIncomingOutputs returns all predicted outputs that are in pending tx pool +func (vs *Visor) GetIncomingOutputs() (coin.UxArray, error) { + var uxa coin.UxArray + + if err := vs.DB.View("GetIncomingOutputs", func(tx *dbutil.Tx) error { + head, err := vs.Blockchain.Head(tx) + if err != nil { + return err + } + + uxa, err = vs.Unconfirmed.GetIncomingOutputs(tx, head.Head) + return err + }); err != nil { + return nil, err } - head, err := vs.Blockchain.Head() + return uxa, nil +} + +// GetUnconfirmedTxn gets an unconfirmed transaction from the DB +func (vs *Visor) GetUnconfirmedTxn(hash cipher.SHA256) (*UnconfirmedTxn, error) { + var txn *UnconfirmedTxn + + if err := vs.DB.View("GetUnconfirmedTxn", func(tx *dbutil.Tx) error { + var err error + txn, err = vs.Unconfirmed.Get(tx, hash) + return err + }); err != nil { + return nil, err + } + + return txn, nil +} + +// GetUnconfirmedUnknown returns unconfirmed txn hashes with known ones removed +func (vs *Visor) GetUnconfirmedUnknown(txns []cipher.SHA256) ([]cipher.SHA256, error) { + var hashes []cipher.SHA256 + + if err := vs.DB.View("GetUnconfirmedUnknown", func(tx *dbutil.Tx) error { + var err error + hashes, err = vs.Unconfirmed.GetUnknown(tx, txns) + return err + }); err != nil { + return nil, err + } + + return hashes, nil +} + +// GetUnconfirmedKnown returns unconfirmed txn hashes with known ones removed +func (vs *Visor) GetUnconfirmedKnown(txns []cipher.SHA256) (coin.Transactions, error) { + var hashes coin.Transactions + + if err := vs.DB.View("GetUnconfirmedKnown", func(tx *dbutil.Tx) error { + var err error + hashes, err = vs.Unconfirmed.GetKnown(tx, txns) + return err + }); err != nil { + return nil, err + } + + return hashes, nil +} + +// UnconfirmedSpendsOfAddresses returns all unconfirmed coin.UxOut spends of addresses +func (vs *Visor) UnconfirmedSpendsOfAddresses(addrs []cipher.Address) (coin.AddressUxOuts, error) { + var outs coin.AddressUxOuts + + if err := vs.DB.View("UnconfirmedSpendsOfAddresses", func(tx *dbutil.Tx) error { + var err error + outs, err = vs.unconfirmedSpendsOfAddresses(tx, addrs) + return err + }); err != nil { + return nil, err + } + + return outs, nil +} + +// unconfirmedSpendsOfAddresses returns all unconfirmed coin.UxOut spends of addresses +func (vs *Visor) unconfirmedSpendsOfAddresses(tx *dbutil.Tx, addrs []cipher.Address) (coin.AddressUxOuts, error) { + txns, err := vs.Unconfirmed.RawTxns(tx) if err != nil { return nil, err } - recvUxs, err := vs.Unconfirmed.RecvOfAddresses(head.Head, addrs) + var inputs []cipher.SHA256 + for _, txn := range txns { + inputs = append(inputs, txn.In...) + } + + uxa, err := vs.Blockchain.Unspent().GetArray(tx, inputs) if err != nil { - return nil, fmt.Errorf("get unconfirmed receiving failed when checking addresses balance: %v", err) + return nil, err + } + + outs := make(coin.AddressUxOuts, len(addrs)) + + addrm := make(map[cipher.Address]struct{}, len(addrs)) + for _, addr := range addrs { + addrm[addr] = struct{}{} + } + + for _, ux := range uxa { + if _, ok := addrm[ux.Body.Address]; ok { + outs[ux.Body.Address] = append(outs[ux.Body.Address], ux) + } + } + + return outs, nil +} + +// SetTxnsAnnounced updates announced time of specific tx +func (vs *Visor) SetTxnsAnnounced(hashes map[cipher.SHA256]int64) error { + if len(hashes) == 0 { + return nil + } + + return vs.DB.Update("SetTxnsAnnounced", func(tx *dbutil.Tx) error { + return vs.Unconfirmed.SetTxnsAnnounced(tx, hashes) + }) +} + +// GetBalanceOfAddrs returns balance pairs of given addreses +func (vs Visor) GetBalanceOfAddrs(addrs []cipher.Address) ([]wallet.BalancePair, error) { + if len(addrs) == 0 { + return nil, nil + } + + auxs := make(coin.AddressUxOuts, len(addrs)) + recvUxs := make(coin.AddressUxOuts, len(addrs)) + var uxa coin.UxArray + var head *coin.SignedBlock + + if err := vs.DB.View("GetBalanceOfAddrs", func(tx *dbutil.Tx) error { + var err error + head, err = vs.Blockchain.Head(tx) + if err != nil { + return err + } + + // Get all transactions from the unconfirmed pool + txns, err := vs.Unconfirmed.RawTxns(tx) + if err != nil { + return err + } + + // Create predicted unspent outputs from the unconfirmed transactions + recvUxs, err = txnOutputsForAddrs(head.Head, addrs, txns) + if err != nil { + return err + } + + var inputs []cipher.SHA256 + for _, txn := range txns { + inputs = append(inputs, txn.In...) + } + + // Get unspents for the inputs being spent + uxa, err = vs.Blockchain.Unspent().GetArray(tx, inputs) + if err != nil { + return fmt.Errorf("GetArray failed when checking addresses balance: %v", err) + } + + // Get unspents owned by the addresses + auxs, err = vs.Blockchain.Unspent().GetUnspentsOfAddrs(tx, addrs) + if err != nil { + return fmt.Errorf("GetUnspentsOfAddrs failed when checking addresses balance: %v", err) + } + + return nil + }); err != nil { + return nil, err } + // Build all unconfirmed transaction inputs that are associated with the addresses + spendUxs := make(coin.AddressUxOuts, len(addrs)) + + addrm := make(map[cipher.Address]struct{}, len(addrs)) + for _, addr := range addrs { + addrm[addr] = struct{}{} + } + + for _, ux := range uxa { + if _, ok := addrm[ux.Body.Address]; ok { + spendUxs[ux.Body.Address] = append(spendUxs[ux.Body.Address], ux) + } + } + + var bps []wallet.BalancePair + headTime := head.Time() for _, addr := range addrs { uxs, ok := auxs[addr] @@ -1115,19 +1750,356 @@ func (vs Visor) GetBalanceOfAddrs(addrs []cipher.Address) ([]wallet.BalancePair, bps = append(bps, bp) } + return bps, nil } -// GetUnconfirmedSpends returns unspent outputs that are spent in unconfirmed transactions -func (vs *Visor) GetUnconfirmedSpends(addrs []cipher.Address) (coin.AddressUxOuts, error) { - return vs.Unconfirmed.SpendsOfAddresses(addrs, vs.Blockchain.Unspent()) +// GetUnspentsOfAddrs returns unspent outputs of multiple addresses +func (vs *Visor) GetUnspentsOfAddrs(addrs []cipher.Address) (coin.AddressUxOuts, error) { + var uxa coin.AddressUxOuts + + if err := vs.DB.View("GetUnspentsOfAddrs", func(tx *dbutil.Tx) error { + var err error + uxa, err = vs.Blockchain.Unspent().GetUnspentsOfAddrs(tx, addrs) + return err + }); err != nil { + return nil, err + } + + return uxa, nil +} + +// VerifyTxnVerbose verifies a transaction, it returns transaction's input uxouts, whether the +// transaction is confirmed, and error if any +func (vs *Visor) VerifyTxnVerbose(txn *coin.Transaction) ([]wallet.UxBalance, bool, error) { + var uxa coin.UxArray + var head *coin.SignedBlock + var isTxnConfirmed bool + err := vs.DB.View("VerifyTxnVerbose", func(tx *dbutil.Tx) error { + var err error + head, err = vs.Blockchain.Head(tx) + if err != nil { + return err + } + + uxa, err = vs.Blockchain.Unspent().GetArray(tx, txn.In) + switch err.(type) { + case nil: + case blockdb.ErrUnspentNotExist: + uxid := err.(blockdb.ErrUnspentNotExist).UxID + // Gets uxouts of txn.In from historydb + outs, err := vs.history.GetUxOuts(tx, txn.In) + if err != nil { + return err + } + + if len(outs) == 0 { + err = fmt.Errorf("transaction input of %s does not exist in either unspent pool or historydb", uxid) + return NewErrTxnViolatesHardConstraint(err) + } + + uxa = coin.UxArray{} + for _, out := range outs { + uxa = append(uxa, out.Out) + } + + // Checks if the transaction is confirmed + txnHash := txn.Hash() + historyTxn, err := vs.history.GetTransaction(tx, txnHash) + if err != nil { + return fmt.Errorf("get transaction of %v from historydb failed: %v", txnHash, err) + } + + if historyTxn != nil { + // Transaction is confirmed + isTxnConfirmed = true + } + + return nil + default: + return err + } + + if err := VerifySingleTxnUserConstraints(*txn); err != nil { + return err + } + + if err := VerifySingleTxnSoftConstraints(*txn, head.Time(), uxa, vs.Config.MaxBlockSize); err != nil { + return err + } + + return VerifySingleTxnHardConstraints(*txn, head, uxa) + }) + + // If we were able to query the inputs, return the verbose inputs to the caller + // even if the transaction failed validation + var uxs []wallet.UxBalance + if len(uxa) != 0 { + var otherErr error + uxs, otherErr = wallet.NewUxBalances(head.Time(), uxa) + if otherErr != nil { + return nil, isTxnConfirmed, otherErr + } + } + + return uxs, isTxnConfirmed, err +} + +// AddressCount returns the total number of addresses with unspents +func (vs *Visor) AddressCount() (uint64, error) { + var count uint64 + if err := vs.DB.View("AddressCount", func(tx *dbutil.Tx) error { + var err error + count, err = vs.Blockchain.Unspent().AddressCount(tx) + return err + }); err != nil { + return 0, err + } + + return count, nil +} + +// CreateTransactionDeprecated creates a transaction using an entire wallet, +// specifying only coins and one destination +func (vs *Visor) CreateTransactionDeprecated(wltID string, password []byte, coins uint64, dest cipher.Address) (*coin.Transaction, error) { + w, err := vs.Wallets.GetWallet(wltID) + if err != nil { + logger.WithError(err).Error("Wallets.GetWallet failed") + return nil, err + } + + // Get all addresses from the wallet for checking params against + addrs := w.GetAddresses() + + var auxs coin.AddressUxOuts + var head *coin.SignedBlock + + if err := vs.DB.View("CreateTransactionDeprecated", func(tx *dbutil.Tx) error { + head, err = vs.Blockchain.Head(tx) + if err != nil { + logger.Errorf("Blockchain.Head failed: %v", err) + return err + } + + // Get unspent outputs, while checking that there are no unconfirmed outputs + auxs, err = vs.getUnspentsForSpending(tx, addrs, false) + if err != nil { + if err != wallet.ErrSpendingUnconfirmed { + logger.WithError(err).Error("getUnspentsForSpending failed") + } + return err + } + + return nil + }); err != nil { + return nil, err + } + + // Create and sign transaction + var txn *coin.Transaction + if err := vs.Wallets.ViewWallet(w, password, func(w *wallet.Wallet) error { + var err error + txn, err = w.CreateAndSignTransaction(auxs, head.Time(), coins, dest) + return err + }); err != nil { + logger.WithError(err).Error("CreateAndSignTransaction failed") + return nil, err + } + + // The wallet can create transactions that would not pass all validation, such as the decimal restriction, + // because the wallet is not aware of visor-level constraints. + // Check that the transaction is valid before returning it to the caller. + // NOTE: this isn't inside the database transaction, but it's safe, + // if a racing database write caused this transaction to be invalid, it would be caught here + if err := VerifySingleTxnUserConstraints(*txn); err != nil { + logger.WithError(err).Error("Created transaction violates transaction constraints") + return nil, err + } + if err := vs.DB.View("VerifySingleTxnSoftHardConstraints", func(tx *dbutil.Tx) error { + return vs.Blockchain.VerifySingleTxnSoftHardConstraints(tx, *txn, vs.Config.MaxBlockSize) + }); err != nil { + logger.WithError(err).Error("Created transaction violates transaction constraints") + return nil, err + } + + return txn, nil +} + +// CreateTransaction creates a transaction based upon the parameters in wallet.CreateTransactionParams +func (vs *Visor) CreateTransaction(params wallet.CreateTransactionParams) (*coin.Transaction, []wallet.UxBalance, error) { + if err := params.Validate(); err != nil { + return nil, nil, err + } + + w, err := vs.Wallets.GetWallet(params.Wallet.ID) + if err != nil { + logger.WithError(err).Error("Wallets.GetWallet failed") + return nil, nil, err + } + + // Get all addresses from the wallet for checking params against + allAddrs := w.GetAddresses() + + var auxs coin.AddressUxOuts + var head *coin.SignedBlock + + if err := vs.DB.View("CreateTransaction", func(tx *dbutil.Tx) error { + var err error + head, err = vs.Blockchain.Head(tx) + if err != nil { + logger.WithError(err).Error("Blockchain.Head failed") + return err + } + + auxs, err = vs.getCreateTransactionAuxs(tx, params, allAddrs) + return err + }); err != nil { + return nil, nil, err + } + + // Create and sign transaction + var txn *coin.Transaction + var inputs []wallet.UxBalance + if err := vs.Wallets.ViewWallet(w, params.Wallet.Password, func(w *wallet.Wallet) error { + var err error + txn, inputs, err = w.CreateAndSignTransactionAdvanced(params, auxs, head.Time()) + return err + }); err != nil { + logger.WithError(err).Error("CreateAndSignTransactionAdvanced failed") + return nil, nil, err + } + + // The wallet can create transactions that would not pass all validation, such as the decimal restriction, + // because the wallet is not aware of visor-level constraints. + // Check that the transaction is valid before returning it to the caller. + // NOTE: this isn't inside the database transaction, but it's safe, + // if a racing database write caused this transaction to be invalid, it would be caught here + if err := VerifySingleTxnUserConstraints(*txn); err != nil { + logger.WithError(err).Error("Created transaction violates transaction constraints") + return nil, nil, err + } + if err := vs.DB.View("VerifySingleTxnSoftHardConstraints", func(tx *dbutil.Tx) error { + return vs.Blockchain.VerifySingleTxnSoftHardConstraints(tx, *txn, vs.Config.MaxBlockSize) + }); err != nil { + logger.WithError(err).Error("Created transaction violates transaction constraints") + return nil, nil, err + } + + return txn, inputs, nil +} + +func (vs *Visor) getCreateTransactionAuxs(tx *dbutil.Tx, params wallet.CreateTransactionParams, allAddrs []cipher.Address) (coin.AddressUxOuts, error) { + allAddrsMap := make(map[cipher.Address]struct{}, len(allAddrs)) + for _, a := range allAddrs { + allAddrsMap[a] = struct{}{} + } + + var auxs coin.AddressUxOuts + if len(params.Wallet.UxOuts) != 0 { + // Check if any of the outputs are in an unconfirmed spend + hashesMap := make(map[cipher.SHA256]struct{}, len(params.Wallet.UxOuts)) + for _, h := range params.Wallet.UxOuts { + hashesMap[h] = struct{}{} + } + + // Get all unconfirmed spending uxouts + unconfirmedTxns, err := vs.Unconfirmed.RawTxns(tx) + if err != nil { + return nil, err + } + + var unconfirmedSpends []cipher.SHA256 + for _, txn := range unconfirmedTxns { + unconfirmedSpends = append(unconfirmedSpends, txn.In...) + } + + if params.IgnoreUnconfirmed { + // Filter unconfirmed spends + prevLen := len(hashesMap) + for _, h := range unconfirmedSpends { + delete(hashesMap, h) + } + + if prevLen != len(hashesMap) { + params.Wallet.UxOuts = make([]cipher.SHA256, 0, len(hashesMap)) + for h := range hashesMap { + params.Wallet.UxOuts = append(params.Wallet.UxOuts, h) + } + } + } else { + for _, h := range unconfirmedSpends { + if _, ok := hashesMap[h]; ok { + return nil, wallet.ErrSpendingUnconfirmed + } + } + } + + // Retrieve the uxouts from the pool. + // An error is returned if any do not exist + uxouts, err := vs.Blockchain.Unspent().GetArray(tx, params.Wallet.UxOuts) + if err != nil { + return nil, err + } + + // Build coin.AddressUxOuts map, and check that the address is in the wallets + auxs = make(coin.AddressUxOuts) + for _, o := range uxouts { + if _, ok := allAddrsMap[o.Body.Address]; !ok { + return nil, wallet.ErrUnknownUxOut + } + auxs[o.Body.Address] = append(auxs[o.Body.Address], o) + } + + } else { + addrs := params.Wallet.Addresses + if len(addrs) == 0 { + addrs = allAddrs + } else { + // Check that requested addresses are in the wallet + for _, a := range addrs { + if _, ok := allAddrsMap[a]; !ok { + return nil, wallet.ErrUnknownAddress + } + } + } + + // Get unspent outputs, while checking that there are no unconfirmed outputs + var err error + auxs, err = vs.getUnspentsForSpending(tx, addrs, params.IgnoreUnconfirmed) + if err != nil { + return nil, err + } + } + + return auxs, nil } -// GetUnconfirmedReceiving returns unspents outputs that are created by unconfirmed transactions -func (vs *Visor) GetUnconfirmedReceiving(addrs []cipher.Address) (coin.AddressUxOuts, error) { - head, err := vs.Blockchain.Head() +// getUnspentsForSpending returns the unspent outputs for a set of addresses, +// but returns an error if any of the unspents are in the unconfirmed outputs pool +func (vs *Visor) getUnspentsForSpending(tx *dbutil.Tx, addrs []cipher.Address, ignoredUnconfirmed bool) (coin.AddressUxOuts, error) { + unconfirmedAuxs, err := vs.unconfirmedSpendsOfAddresses(tx, addrs) if err != nil { + err = fmt.Errorf("UnconfirmedSpendsOfAddresses failed: %v", err) return nil, err } - return vs.Unconfirmed.RecvOfAddresses(head.Head, addrs) + + if !ignoredUnconfirmed { + // Check that this is not trying to spend unconfirmed outputs + if len(unconfirmedAuxs) > 0 { + return nil, wallet.ErrSpendingUnconfirmed + } + } + + auxs, err := vs.Blockchain.Unspent().GetUnspentsOfAddrs(tx, addrs) + if err != nil { + err = fmt.Errorf("GetUnspentsOfAddrs failed: %v", err) + return nil, err + } + + // Filter unconfirmed + if ignoredUnconfirmed && len(unconfirmedAuxs) > 0 { + auxs = auxs.Sub(unconfirmedAuxs) + } + + return auxs, nil } diff --git a/src/visor/visor_test.go b/src/visor/visor_test.go index 39056bd..5035316 100755 --- a/src/visor/visor_test.go +++ b/src/visor/visor_test.go @@ -2,9 +2,11 @@ package visor import ( "bytes" + "errors" "fmt" "io" "io/ioutil" + "math" "os" "path/filepath" "sort" @@ -12,6 +14,7 @@ import ( "time" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" "github.com/skycoin/skycoin/src/cipher" @@ -21,13 +24,27 @@ import ( "github.com/skycoin/skycoin/src/util/fee" "github.com/skycoin/skycoin/src/util/utc" "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" "github.com/skycoin/skycoin/src/visor/historydb" + "github.com/skycoin/skycoin/src/wallet" ) const ( blockchainPubkeyStr = "0328c576d3f420e7682058a981173a4b374c7cc5ff55bf394d3cf57059bbe6456a" ) +func prepareDB(t *testing.T) (*dbutil.DB, func()) { + db, shutdown := testutil.PrepareDB(t) + + err := CreateBuckets(db) + if err != nil { + shutdown() + t.Fatalf("CreateBuckets failed: %v", err) + } + + return db, shutdown +} + func readAll(t *testing.T, f string) []byte { fi, err := os.Open(f) require.NoError(t, err) @@ -71,7 +88,28 @@ func removeCorruptDBFiles(t *testing.T, badDBFile string) { } } -func TestErrSignatureLostRecreateDB(t *testing.T) { +func addGenesisBlockToVisor(t *testing.T, vs *Visor) *coin.SignedBlock { + // create genesis block + gb, err := coin.NewGenesisBlock(genAddress, genCoins, genTime) + require.NoError(t, err) + gbSig := cipher.SignHash(gb.HashHeader(), genSecret) + vs.Config.GenesisSignature = gbSig + + sb := coin.SignedBlock{ + Block: *gb, + Sig: gbSig, + } + + // add genesis block to blockchain + err = vs.DB.Update("", func(tx *dbutil.Tx) error { + return vs.executeSignedBlock(tx, sb) + }) + require.NoError(t, err) + + return &sb +} + +func TestErrMissingSignatureRecreateDB(t *testing.T) { badDBFile := "./testdata/data.db.nosig" // about 8MB size badDBData := readAll(t, badDBFile) @@ -100,12 +138,24 @@ func TestErrSignatureLostRecreateDB(t *testing.T) { assert.NoError(t, err) }() - _, err = NewBlockchain(db, pubkey, Arbitrating(false)) + bc, err := NewBlockchain(db, BlockchainConfig{ + Pubkey: pubkey, + Arbitrating: false, + }) + require.NoError(t, err) + + // err = db.View("", func(tx *dbutil.Tx) error { + f := func(tx *dbutil.Tx, b *coin.SignedBlock) error { + return bc.VerifySignature(b) + } + + err = bc.WalkChain(BlockchainVerifyTheadNum, f, nil) + require.Error(t, err) require.IsType(t, blockdb.ErrMissingSignature{}, err) }() - // Loading this invalid db should cause loadBlockchain() to recreate the db + // Loading this invalid db should cause ResetCorruptDB() to recreate the db t.Logf("Loading the corrupted db from %s", badDBFile) badDB, err := OpenDB(badDBFile, false) require.NoError(t, err) @@ -113,14 +163,13 @@ func TestErrSignatureLostRecreateDB(t *testing.T) { require.NotEmpty(t, badDB.Path()) t.Logf("badDB.Path() == %s", badDB.Path()) - db, bc, err := loadBlockchain(badDB, pubkey, false) + db, err := RepairCorruptDB(badDB, pubkey, nil) require.NoError(t, err) err = db.Close() require.NoError(t, err) require.NotNil(t, db) - require.NotNil(t, bc) // A corrupted database file should exist corruptFiles = findCorruptDBFiles(t, badDBFile) @@ -137,22 +186,94 @@ func TestErrSignatureLostRecreateDB(t *testing.T) { }() // The new db is not corrupted and loads without error - bc, err := NewBlockchain(db, pubkey, Arbitrating(false)) + bc, err := NewBlockchain(db, BlockchainConfig{ + Pubkey: pubkey, + Arbitrating: false, + }) require.NoError(t, err) require.NotNil(t, bc) }() } +func TestHistorydbVerifier(t *testing.T) { + tt := []struct { + name string + dbPath string + expectErr error + }{ + { + name: "db is ok", + dbPath: "./testdata/data.db.ok", + }, + { + name: "missing transaction", + dbPath: "./testdata/data.db.notxn", + expectErr: historydb.NewErrHistoryDBCorrupted(errors.New("HistoryDB.Verify: transaction 98db7eb30e13853d3dd93d5d8b4061596d5d288b6f8b92c4d43c46c6599f67fb does not exist in historydb")), + }, + { + name: "missing uxout", + dbPath: "./testdata/data.db.nouxout", + expectErr: historydb.NewErrHistoryDBCorrupted(errors.New("HistoryDB.Verify: transaction (input|output) 2f87d77c2a7d00b547db1af50e0ba04bafc5b05711e4939e9ec2640a21127dc0 does not exist in historydb")), + }, + { + name: "missing addr transaction index", + dbPath: "./testdata/data.db.no-addr-txn-index", + expectErr: historydb.NewErrHistoryDBCorrupted(errors.New(`HistoryDB.Verify: index of address transaction \[2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF:98db7eb30e13853d3dd93d5d8b4061596d5d288b6f8b92c4d43c46c6599f67fb\] does not exist in historydb`)), + }, + { + name: "missing addr uxout index", + dbPath: "./testdata/data.db.no-addr-uxout-index", + expectErr: historydb.NewErrHistoryDBCorrupted(errors.New(`HistoryDB.Verify: index of address uxout \[2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF:2f87d77c2a7d00b547db1af50e0ba04bafc5b05711e4939e9ec2640a21127dc0\] does not exist in historydb`)), + }, + } + + pubKeyStr := "0328c576d3f420e7682058a981173a4b374c7cc5ff55bf394d3cf57059bbe6456a" + pubkey := cipher.MustPubKeyFromHex(pubKeyStr) + history := historydb.New() + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + db, err := OpenDB(tc.dbPath, true) + require.NoError(t, err) + bc, err := NewBlockchain(db, BlockchainConfig{ + Pubkey: pubkey, + }) + require.NoError(t, err) + + indexesMap := historydb.NewIndexesMap() + f := func(tx *dbutil.Tx, b *coin.SignedBlock) error { + return history.Verify(tx, b, indexesMap) + } + + err = bc.WalkChain(2, f, nil) + if tc.expectErr == nil { + require.Nil(t, err) + return + } + + // Confirms that the error type is matched + require.IsType(t, tc.expectErr, err) + // Confirms the error message is matched + require.Regexp(t, tc.expectErr.Error(), err.Error()) + }) + } + +} + func TestVisorCreateBlock(t *testing.T) { when := uint64(time.Now().UTC().Unix()) - db, shutdown := testutil.PrepareDB(t) + db, shutdown := prepareDB(t) defer shutdown() - db, bc, err := loadBlockchain(db, genPublic, false) + bc, err := NewBlockchain(db, BlockchainConfig{ + Pubkey: genPublic, + }) + + unconfirmed, err := NewUnconfirmedTxnPool(db) require.NoError(t, err) - unconfirmed := NewUnconfirmedTxnPool(db) + his := historydb.New() cfg := NewVisorConfig() cfg.DBPath = db.Path() @@ -164,40 +285,71 @@ func TestVisorCreateBlock(t *testing.T) { Config: cfg, Unconfirmed: unconfirmed, Blockchain: bc, - db: db, + DB: db, + history: his, } // CreateBlock panics if called when not master _require.PanicsWithLogMessage(t, "Only master chain can create blocks", func() { - v.CreateBlock(when) + err := db.Update("", func(tx *dbutil.Tx) error { + _, err := v.createBlock(tx, when) + return err + }) + require.NoError(t, err) }) v.Config.IsMaster = true v.Config.BlockchainSeckey = genSecret - addGenesisBlock(t, v.Blockchain) - gb := v.Blockchain.GetGenesisBlock() + addGenesisBlockToVisor(t, v) + var gb *coin.SignedBlock + err = db.View("", func(tx *dbutil.Tx) error { + var err error + gb, err = v.Blockchain.GetGenesisBlock(tx) + return err + }) + require.NoError(t, err) require.NotNil(t, gb) // If no transactions in the unconfirmed pool, return an error - _, err = v.CreateBlock(when) - testutil.RequireError(t, err, "No transactions") + err = db.Update("", func(tx *dbutil.Tx) error { + _, err = v.createBlock(tx, when) + testutil.RequireError(t, err, "No transactions") + return nil + }) + require.NoError(t, err) // Create enough unspent outputs to create all of these transactions uxs := coin.CreateUnspents(gb.Head, gb.Body.Transactions[0]) nUnspents := 100 txn := makeUnspentsTx(t, uxs, []cipher.SecKey{genSecret}, genAddress, nUnspents, maxDropletDivisor) - known, softErr, err := unconfirmed.InjectTransaction(bc, txn, v.Config.MaxBlockSize) + + var known bool + var softErr *ErrTxnViolatesSoftConstraint + err = db.Update("", func(tx *dbutil.Tx) error { + var err error + known, softErr, err = unconfirmed.InjectTransaction(tx, bc, txn, v.Config.MaxBlockSize) + return err + }) + require.NoError(t, err) require.False(t, known) require.Nil(t, softErr) - require.NoError(t, err) v.Config.MaxBlockSize = txn.Size() sb, err := v.CreateAndExecuteBlock() require.NoError(t, err) require.Equal(t, 1, len(sb.Body.Transactions)) - require.Equal(t, 0, unconfirmed.Len()) + + var length uint64 + err = db.View("", func(tx *dbutil.Tx) error { + var err error + length, err = unconfirmed.Len(tx) + return err + }) + require.NoError(t, err) + + require.Equal(t, uint64(0), length) v.Config.MaxBlockSize = 1024 * 4 // Create various transactions and add them to unconfirmed pool @@ -257,12 +409,21 @@ func TestVisorCreateBlock(t *testing.T) { // Inject transactions into the unconfirmed pool for _, txn := range txns { - known, _, err := unconfirmed.InjectTransaction(bc, txn, v.Config.MaxBlockSize) + var known bool + err = db.Update("", func(tx *dbutil.Tx) error { + var err error + known, _, err = unconfirmed.InjectTransaction(tx, bc, txn, v.Config.MaxBlockSize) + return err + }) require.False(t, known) require.NoError(t, err) } - sb, err = v.CreateBlock(when + 100) + err = db.Update("", func(tx *dbutil.Tx) error { + var err error + sb, err = v.createBlock(tx, when+100) + return err + }) require.NoError(t, err) require.Equal(t, when+100, sb.Block.Head.Time) @@ -271,19 +432,25 @@ func TestVisorCreateBlock(t *testing.T) { require.Equal(t, 18, len(blockTxns)) // Check fee ordering - inUxs, err := v.Blockchain.Unspent().GetArray(blockTxns[0].In) - require.NoError(t, err) - prevFee, err := fee.TransactionFee(&blockTxns[0], sb.Head.Time, inUxs) - require.NoError(t, err) - - for i := 1; i < len(blockTxns); i++ { - inUxs, err := v.Blockchain.Unspent().GetArray(blockTxns[i].In) + err = db.View("", func(tx *dbutil.Tx) error { + inUxs, err := v.Blockchain.Unspent().GetArray(tx, blockTxns[0].In) require.NoError(t, err) - f, err := fee.TransactionFee(&blockTxns[i], sb.Head.Time, inUxs) + prevFee, err := fee.TransactionFee(&blockTxns[0], sb.Head.Time, inUxs) require.NoError(t, err) - require.True(t, f <= prevFee) - prevFee = f - } + + for i := 1; i < len(blockTxns); i++ { + inUxs, err := v.Blockchain.Unspent().GetArray(tx, blockTxns[i].In) + require.NoError(t, err) + f, err := fee.TransactionFee(&blockTxns[i], sb.Head.Time, inUxs) + require.NoError(t, err) + require.True(t, f <= prevFee) + prevFee = f + } + + return nil + }) + + require.NoError(t, err) // Check that decimal rules are enforced for i, txn := range blockTxns { @@ -297,13 +464,18 @@ func TestVisorCreateBlock(t *testing.T) { func TestVisorInjectTransaction(t *testing.T) { when := uint64(time.Now().UTC().Unix()) - db, shutdown := testutil.PrepareDB(t) + db, shutdown := prepareDB(t) defer shutdown() - db, bc, err := loadBlockchain(db, genPublic, false) + bc, err := NewBlockchain(db, BlockchainConfig{ + Pubkey: genPublic, + }) require.NoError(t, err) - unconfirmed := NewUnconfirmedTxnPool(db) + unconfirmed, err := NewUnconfirmedTxnPool(db) + require.NoError(t, err) + + his := historydb.New() cfg := NewVisorConfig() cfg.DBPath = db.Path() @@ -315,23 +487,38 @@ func TestVisorInjectTransaction(t *testing.T) { Config: cfg, Unconfirmed: unconfirmed, Blockchain: bc, - db: db, + DB: db, + history: his, } // CreateBlock panics if called when not master _require.PanicsWithLogMessage(t, "Only master chain can create blocks", func() { - v.CreateBlock(when) + err := db.Update("", func(tx *dbutil.Tx) error { + _, err := v.createBlock(tx, when) + return err + }) + require.NoError(t, err) }) v.Config.IsMaster = true v.Config.BlockchainSeckey = genSecret - addGenesisBlock(t, v.Blockchain) - gb := v.Blockchain.GetGenesisBlock() + addGenesisBlockToVisor(t, v) + + var gb *coin.SignedBlock + err = db.View("", func(tx *dbutil.Tx) error { + var err error + gb, err = v.Blockchain.GetGenesisBlock(tx) + return err + }) + require.NoError(t, err) require.NotNil(t, gb) // If no transactions in the unconfirmed pool, return an error - _, err = v.CreateBlock(when) + err = db.Update("", func(tx *dbutil.Tx) error { + _, err := v.createBlock(tx, when) + return err + }) testutil.RequireError(t, err, "No transactions") uxs := coin.CreateUnspents(gb.Head, gb.Body.Transactions[0]) @@ -351,28 +538,53 @@ func TestVisorInjectTransaction(t *testing.T) { require.NoError(t, err) require.Equal(t, 1, len(sb.Body.Transactions)) require.Equal(t, 2, len(sb.Body.Transactions[0].Out)) - require.Equal(t, 0, unconfirmed.Len()) - require.Equal(t, uint64(2), bc.Len()) + + err = db.View("", func(tx *dbutil.Tx) error { + length, err := unconfirmed.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(0), length) + + length, err = bc.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(2), length) + + return nil + }) + require.NoError(t, err) uxs = coin.CreateUnspents(sb.Head, sb.Body.Transactions[0]) // Check transactions with overflowing output coins fail - txn = makeOverflowCoinsSpendTx(t, coin.UxArray{uxs[0]}, []cipher.SecKey{genSecret}, toAddr) + txn = makeOverflowCoinsSpendTx(coin.UxArray{uxs[0]}, []cipher.SecKey{genSecret}, toAddr) _, softErr, err = v.InjectTransaction(txn) require.IsType(t, ErrTxnViolatesHardConstraint{}, err) testutil.RequireError(t, err.(ErrTxnViolatesHardConstraint).Err, "Output coins overflow") require.Nil(t, softErr) - require.Equal(t, 0, unconfirmed.Len()) + + err = db.View("", func(tx *dbutil.Tx) error { + length, err := unconfirmed.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(0), length) + return nil + }) + require.NoError(t, err) // Check transactions with overflowing output hours fail // It should not be injected; when injecting a txn, the overflowing output hours is treated // as a hard constraint. It is only a soft constraint when the txn is included in a signed block. - txn = makeOverflowHoursSpendTx(t, coin.UxArray{uxs[0]}, []cipher.SecKey{genSecret}, toAddr) + txn = makeOverflowHoursSpendTx(coin.UxArray{uxs[0]}, []cipher.SecKey{genSecret}, toAddr) _, softErr, err = v.InjectTransaction(txn) require.Nil(t, softErr) require.IsType(t, ErrTxnViolatesHardConstraint{}, err) testutil.RequireError(t, err.(ErrTxnViolatesHardConstraint).Err, "Transaction output hours overflow") - require.Equal(t, 0, unconfirmed.Len()) + + err = db.View("", func(tx *dbutil.Tx) error { + length, err := unconfirmed.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(0), length) + return nil + }) + require.NoError(t, err) // Create a transaction with invalid decimal places // It's still injected, because this is considered a soft error @@ -381,10 +593,26 @@ func TestVisorInjectTransaction(t *testing.T) { _, softErr, err = v.InjectTransaction(txn) require.NoError(t, err) testutil.RequireError(t, softErr.Err, errInvalidDecimals.Error()) - require.Equal(t, 1, unconfirmed.Len()) + + err = db.View("", func(tx *dbutil.Tx) error { + length, err := unconfirmed.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(1), length) + return nil + }) + require.NoError(t, err) + + // Create a transaction with null address output + uxs = coin.CreateUnspents(gb.Head, gb.Body.Transactions[0]) + txn = makeSpendTx(t, uxs, []cipher.SecKey{genSecret}, genAddress, coins) + txn.Out[0].Address = cipher.Address{} + known, err = v.InjectTransactionStrict(txn) + require.False(t, known) + require.IsType(t, ErrTxnViolatesUserConstraint{}, err) + testutil.RequireError(t, err, "Transaction violates user constraint: Transaction output is sent to the null address") } -func makeOverflowCoinsSpendTx(t *testing.T, uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address) coin.Transaction { +func makeOverflowCoinsSpendTx(uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address) coin.Transaction { spendTx := coin.Transaction{} var totalHours uint64 var totalCoins uint64 @@ -405,7 +633,7 @@ func makeOverflowCoinsSpendTx(t *testing.T, uxs coin.UxArray, keys []cipher.SecK return spendTx } -func makeOverflowHoursSpendTx(t *testing.T, uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address) coin.Transaction { +func makeOverflowHoursSpendTx(uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address) coin.Transaction { spendTx := coin.Transaction{} var totalHours uint64 var totalCoins uint64 @@ -453,8 +681,7 @@ func TestVisorCalculatePrecision(t *testing.T) { }) } -func makeTestData(t *testing.T, n int) ([]historydb.Transaction, - []coin.SignedBlock, []UnconfirmedTxn, uint64) { +func makeTestData(t *testing.T, n int) ([]historydb.Transaction, []coin.SignedBlock, []UnconfirmedTxn, uint64) { // nolint: unparam var txs []historydb.Transaction var blocks []coin.SignedBlock var uncfmTxs []UnconfirmedTxn @@ -512,7 +739,7 @@ type expectTxResult struct { err error } -func TestGetTransctions(t *testing.T) { +func TestGetTransactions(t *testing.T) { // Generates test data txs, blocks, uncfmTxs, headSeq := makeTestData(t, 10) // Generates []Transaction @@ -1616,27 +1843,35 @@ func TestGetTransctions(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { + matchTx := mock.MatchedBy(func(tx *dbutil.Tx) bool { + return true + }) + his := newHistoryerMock2() uncfmTxPool := NewUnconfirmedTxnPoolerMock2() for addr, txs := range tc.addrTxns { - his.On("GetAddrTxns", addr).Return(txs.Txs, nil) + his.On("GetAddressTxns", matchTx, addr).Return(txs.Txs, nil) his.txs = append(his.txs, txs.Txs...) - uncfmTxPool.On("GetUnspentsOfAddr", addr).Return(makeUncfmUxs(txs.UncfmTxs)) + uncfmTxPool.On("GetUnspentsOfAddr", matchTx, addr).Return(makeUncfmUxs(txs.UncfmTxs), nil) for i, uncfmTx := range txs.UncfmTxs { - uncfmTxPool.On("Get", uncfmTx.Hash()).Return(&txs.UncfmTxs[i], true) + uncfmTxPool.On("Get", matchTx, uncfmTx.Hash()).Return(&txs.UncfmTxs[i], nil) } uncfmTxPool.txs = append(uncfmTxPool.txs, txs.UncfmTxs...) } bc := NewBlockchainerMock() for i, b := range tc.blocks { - bc.On("GetBlockBySeq", b.Seq()).Return(&tc.blocks[i], nil) + bc.On("GetSignedBlockBySeq", matchTx, b.Seq()).Return(&tc.blocks[i], nil) } - bc.On("HeadSeq").Return(tc.bcHeadSeq) + bc.On("HeadSeq", matchTx).Return(tc.bcHeadSeq, true, nil) + + db, shutdown := prepareDB(t) + defer shutdown() v := &Visor{ + DB: db, history: his, Unconfirmed: uncfmTxPool, Blockchain: bc, @@ -1679,13 +1914,18 @@ func TestGetTransctions(t *testing.T) { } func TestRefreshUnconfirmed(t *testing.T) { - db, shutdown := testutil.PrepareDB(t) + db, shutdown := prepareDB(t) defer shutdown() - db, bc, err := loadBlockchain(db, genPublic, false) + bc, err := NewBlockchain(db, BlockchainConfig{ + Pubkey: genPublic, + }) + require.NoError(t, err) + + unconfirmed, err := NewUnconfirmedTxnPool(db) require.NoError(t, err) - unconfirmed := NewUnconfirmedTxnPool(db) + his := historydb.New() cfg := NewVisorConfig() cfg.DBPath = db.Path() @@ -1698,11 +1938,18 @@ func TestRefreshUnconfirmed(t *testing.T) { Config: cfg, Unconfirmed: unconfirmed, Blockchain: bc, - db: db, + DB: db, + history: his, } - addGenesisBlock(t, v.Blockchain) - gb := v.Blockchain.GetGenesisBlock() + addGenesisBlockToVisor(t, v) + var gb *coin.SignedBlock + err = db.View("", func(tx *dbutil.Tx) error { + var err error + gb, err = v.Blockchain.GetGenesisBlock(tx) + return err + }) + require.NoError(t, err) require.NotNil(t, gb) uxs := coin.CreateUnspents(gb.Head, gb.Body.Transactions[0]) @@ -1716,7 +1963,14 @@ func TestRefreshUnconfirmed(t *testing.T) { require.False(t, known) require.Nil(t, softErr) require.NoError(t, err) - require.Equal(t, 1, unconfirmed.Len()) + + err = db.View("", func(tx *dbutil.Tx) error { + length, err := unconfirmed.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(1), length) + return nil + }) + require.NoError(t, err) // Create a transaction with invalid decimal places // It's still injected, because this is considered a soft error @@ -1726,7 +1980,14 @@ func TestRefreshUnconfirmed(t *testing.T) { _, softErr, err = v.InjectTransaction(alwaysInvalidTxn) require.NoError(t, err) testutil.RequireError(t, softErr.Err, errInvalidDecimals.Error()) - require.Equal(t, 2, unconfirmed.Len()) + + err = db.View("", func(tx *dbutil.Tx) error { + length, err := unconfirmed.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(2), length) + return nil + }) + require.NoError(t, err) // Create a transaction that exceeds MaxBlockSize // It's still injected, because this is considered a soft error @@ -1736,7 +1997,14 @@ func TestRefreshUnconfirmed(t *testing.T) { _, softErr, err = v.InjectTransaction(sometimesInvalidTxn) require.NoError(t, err) testutil.RequireError(t, softErr.Err, errTxnExceedsMaxBlockSize.Error()) - require.Equal(t, 3, unconfirmed.Len()) + + err = db.View("", func(tx *dbutil.Tx) error { + length, err := unconfirmed.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(3), length) + return nil + }) + require.NoError(t, err) // The first txn remains valid, // the second txn remains invalid, @@ -1775,17 +2043,24 @@ func TestRefreshUnconfirmed(t *testing.T) { } func TestRemoveInvalidUnconfirmedDoubleSpendArbitrating(t *testing.T) { - db, shutdown := testutil.PrepareDB(t) + db, shutdown := prepareDB(t) defer shutdown() - db, bc, err := loadBlockchain(db, genPublic, true) + bc, err := NewBlockchain(db, BlockchainConfig{ + Pubkey: genPublic, + Arbitrating: true, + }) + require.NoError(t, err) + + unconfirmed, err := NewUnconfirmedTxnPool(db) require.NoError(t, err) - unconfirmed := NewUnconfirmedTxnPool(db) + his := historydb.New() cfg := NewVisorConfig() cfg.DBPath = db.Path() cfg.IsMaster = true + cfg.Arbitrating = true cfg.BlockchainPubkey = genPublic cfg.GenesisAddress = genAddress cfg.BlockchainSeckey = genSecret @@ -1794,11 +2069,18 @@ func TestRemoveInvalidUnconfirmedDoubleSpendArbitrating(t *testing.T) { Config: cfg, Unconfirmed: unconfirmed, Blockchain: bc, - db: db, + DB: db, + history: his, } - addGenesisBlock(t, v.Blockchain) - gb := v.Blockchain.GetGenesisBlock() + addGenesisBlockToVisor(t, v) + var gb *coin.SignedBlock + err = db.View("", func(tx *dbutil.Tx) error { + var err error + gb, err = v.Blockchain.GetGenesisBlock(tx) + return err + }) + require.NoError(t, err) require.NotNil(t, gb) uxs := coin.CreateUnspents(gb.Head, gb.Body.Transactions[0]) @@ -1814,7 +2096,14 @@ func TestRemoveInvalidUnconfirmedDoubleSpendArbitrating(t *testing.T) { require.False(t, known) require.Nil(t, softErr) require.NoError(t, err) - require.Equal(t, 1, unconfirmed.Len()) + + err = db.View("", func(tx *dbutil.Tx) error { + length, err := unconfirmed.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(1), length) + return nil + }) + require.NoError(t, err) var fee uint64 = 1 txn2 := makeSpendTxWithFee(t, uxs, []cipher.SecKey{genSecret}, genAddress, coins, fee) @@ -1822,27 +2111,913 @@ func TestRemoveInvalidUnconfirmedDoubleSpendArbitrating(t *testing.T) { require.False(t, known) require.Nil(t, softErr) require.NoError(t, err) - require.Equal(t, 2, unconfirmed.Len()) + + err = db.View("", func(tx *dbutil.Tx) error { + length, err := unconfirmed.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(2), length) + return nil + }) + require.NoError(t, err) // Execute a block, txn2 should be included because it has a higher fee sb, err := v.CreateAndExecuteBlock() require.NoError(t, err) require.Equal(t, 1, len(sb.Body.Transactions)) require.Equal(t, 2, len(sb.Body.Transactions[0].Out)) - require.Equal(t, 1, unconfirmed.Len()) - require.Equal(t, uint64(2), bc.Len()) require.Equal(t, txn2.TxIDHex(), sb.Body.Transactions[0].TxIDHex()) + err = db.View("", func(tx *dbutil.Tx) error { + length, err := unconfirmed.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(1), length) + + length, err = bc.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(2), length) + + return nil + }) + require.NoError(t, err) + // Call RemoveInvalidUnconfirmed, the first txn will be removed because it is now a double-spend txn removed, err := v.RemoveInvalidUnconfirmed() require.NoError(t, err) require.Equal(t, []cipher.SHA256{txn1.Hash()}, removed) - require.Equal(t, 0, unconfirmed.Len()) + err = db.View("", func(tx *dbutil.Tx) error { + length, err := unconfirmed.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(0), length) + return nil + }) + require.NoError(t, err) +} + +func TestGetCreateTransactionAuxs(t *testing.T) { + allAddrs := make([]cipher.Address, 10) + for i := range allAddrs { + allAddrs[i] = testutil.MakeAddress() + } + + hashes := make([]cipher.SHA256, 20) + for i := range hashes { + hashes[i] = testutil.RandSHA256(t) + } + + srcTxns := make([]cipher.SHA256, 20) + for i := range srcTxns { + srcTxns[i] = testutil.RandSHA256(t) + } + + cases := []struct { + name string + params wallet.CreateTransactionParams + addrs []cipher.Address + expectedAuxs coin.AddressUxOuts + err error + + rawTxnsRet coin.Transactions + getArrayInputs []cipher.SHA256 + getArrayRet coin.UxArray + getUnspentsOfAddrsRet coin.AddressUxOuts + }{ + { + name: "all addresses, ok", + addrs: allAddrs, + rawTxnsRet: coin.Transactions{ + coin.Transaction{ + In: hashes[0:2], + }, + coin.Transaction{ + In: hashes[2:4], + }, + }, + getArrayInputs: hashes[0:4], + getArrayRet: coin.UxArray{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[4], + Address: testutil.MakeAddress(), + }, + }, + }, + getUnspentsOfAddrsRet: coin.AddressUxOuts{ + allAddrs[1]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + }, + allAddrs[3]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[6], + Address: allAddrs[3], + }, + }, + }, + }, + expectedAuxs: coin.AddressUxOuts{ + allAddrs[1]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + }, + allAddrs[3]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[6], + Address: allAddrs[3], + }, + }, + }, + }, + }, + + { + name: "all addresses, unconfirmed spends", + addrs: allAddrs, + err: wallet.ErrSpendingUnconfirmed, + rawTxnsRet: coin.Transactions{ + coin.Transaction{ + In: hashes[0:2], + }, + coin.Transaction{ + In: hashes[2:4], + }, + }, + getArrayInputs: hashes[0:4], + getArrayRet: coin.UxArray{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[0], + Address: allAddrs[1], + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[0], + Address: allAddrs[1], + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[4], + Address: allAddrs[3], + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[4], + Address: testutil.MakeAddress(), + }, + }, + }, + }, + + { + name: "some addresses, ok", + params: wallet.CreateTransactionParams{ + Wallet: wallet.CreateTransactionWalletParams{ + Addresses: allAddrs[0:4], + }, + }, + addrs: allAddrs[0:4], + rawTxnsRet: coin.Transactions{ + coin.Transaction{ + In: hashes[0:2], + }, + coin.Transaction{ + In: hashes[2:4], + }, + }, + getArrayInputs: hashes[0:4], + getArrayRet: coin.UxArray{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[4], + Address: testutil.MakeAddress(), + }, + }, + }, + getUnspentsOfAddrsRet: coin.AddressUxOuts{ + allAddrs[1]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + }, + allAddrs[3]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[6], + Address: allAddrs[3], + }, + }, + }, + }, + expectedAuxs: coin.AddressUxOuts{ + allAddrs[1]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + }, + allAddrs[3]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[6], + Address: allAddrs[3], + }, + }, + }, + }, + }, + + { + name: "some addresses, unconfirmed spends", + params: wallet.CreateTransactionParams{ + Wallet: wallet.CreateTransactionWalletParams{ + Addresses: allAddrs[0:4], + }, + }, + addrs: allAddrs[0:4], + err: wallet.ErrSpendingUnconfirmed, + rawTxnsRet: coin.Transactions{ + coin.Transaction{ + In: hashes[0:2], + }, + coin.Transaction{ + In: hashes[2:4], + }, + }, + getArrayInputs: hashes[0:4], + getArrayRet: coin.UxArray{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[0], + Address: allAddrs[1], + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[0], + Address: allAddrs[1], + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[4], + Address: allAddrs[3], + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[4], + Address: testutil.MakeAddress(), + }, + }, + }, + }, + + { + name: "some addresses, unconfirmed spends ignored", + params: wallet.CreateTransactionParams{ + IgnoreUnconfirmed: true, + Wallet: wallet.CreateTransactionWalletParams{ + Addresses: allAddrs[0:5], + }, + }, + addrs: allAddrs[0:5], + rawTxnsRet: coin.Transactions{ + coin.Transaction{ + In: hashes[0:2], + }, + }, + getArrayInputs: hashes[0:2], + getArrayRet: coin.UxArray{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[4], + Address: testutil.MakeAddress(), + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[7], + Address: allAddrs[4], + }, + }, + }, + getUnspentsOfAddrsRet: coin.AddressUxOuts{ + allAddrs[1]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + }, + allAddrs[3]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[6], + Address: allAddrs[3], + }, + }, + }, + allAddrs[4]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[7], + Address: allAddrs[4], + }, + }, + }, + }, + expectedAuxs: coin.AddressUxOuts{ + allAddrs[1]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + }, + allAddrs[3]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[6], + Address: allAddrs[3], + }, + }, + }, + }, + }, + + { + name: "some addresses, unknown address", + params: wallet.CreateTransactionParams{ + Wallet: wallet.CreateTransactionWalletParams{ + Addresses: []cipher.Address{testutil.MakeAddress()}, + }, + }, + addrs: allAddrs, + err: wallet.ErrUnknownAddress, + }, + + { + name: "uxouts specified, ok", + params: wallet.CreateTransactionParams{ + Wallet: wallet.CreateTransactionWalletParams{ + UxOuts: hashes[5:10], + }, + }, + rawTxnsRet: coin.Transactions{ + coin.Transaction{ + In: hashes[0:2], + }, + coin.Transaction{ + In: hashes[2:4], + }, + }, + getArrayInputs: hashes[5:10], + getArrayRet: coin.UxArray{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[6], + Address: allAddrs[3], + }, + }, + }, + expectedAuxs: coin.AddressUxOuts{ + allAddrs[1]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + }, + allAddrs[3]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[6], + Address: allAddrs[3], + }, + }, + }, + }, + }, + + { + name: "uxouts specified, unconfirmed spend", + params: wallet.CreateTransactionParams{ + Wallet: wallet.CreateTransactionWalletParams{ + UxOuts: hashes[0:4], + }, + }, + err: wallet.ErrSpendingUnconfirmed, + rawTxnsRet: coin.Transactions{ + coin.Transaction{ + In: hashes[6:10], + }, + coin.Transaction{ + In: hashes[3:6], + }, + }, + }, + + { + name: "uxouts specified, unconfirmed spend ignored", + params: wallet.CreateTransactionParams{ + IgnoreUnconfirmed: true, + Wallet: wallet.CreateTransactionWalletParams{ + UxOuts: hashes[5:10], + }, + }, + rawTxnsRet: coin.Transactions{ + coin.Transaction{ + In: hashes[0:2], + }, + coin.Transaction{ + In: hashes[2:4], + }, + coin.Transaction{ + In: hashes[8:10], + }, + }, + getArrayInputs: hashes[5:8], // the 8th & 9th hash are filtered because it is an unconfirmed spend + getArrayRet: coin.UxArray{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + }, + expectedAuxs: coin.AddressUxOuts{ + allAddrs[1]: []coin.UxOut{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[5], + Address: allAddrs[1], + }, + }, + }, + }, + }, + + { + name: "uxouts specified, unknown uxout", + params: wallet.CreateTransactionParams{ + Wallet: wallet.CreateTransactionWalletParams{ + UxOuts: hashes[5:10], + }, + }, + err: wallet.ErrUnknownUxOut, + rawTxnsRet: coin.Transactions{ + coin.Transaction{ + In: hashes[0:2], + }, + coin.Transaction{ + In: hashes[2:4], + }, + }, + getArrayInputs: hashes[5:10], + getArrayRet: coin.UxArray{ + coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTxns[4], + Address: testutil.MakeAddress(), + }, + }, + }, + }, + } + + matchTx := mock.MatchedBy(func(tx *dbutil.Tx) bool { + return true + }) + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + db, shutdown := testutil.PrepareDB(t) + defer shutdown() + + unconfirmed := NewUnconfirmedTxnPoolerMock() + bc := NewBlockchainerMock() + unspent := NewUnspentPoolerMock() + require.Implements(t, (*blockdb.UnspentPooler)(nil), unspent) + + v := &Visor{ + Unconfirmed: unconfirmed, + Blockchain: bc, + DB: db, + } + + unconfirmed.On("RawTxns", matchTx).Return(tc.rawTxnsRet, nil) + unspent.On("GetArray", matchTx, mock.MatchedBy(func(args []cipher.SHA256) bool { + // Compares two []coin.UxOuts for equality, ignoring the order of elements in the slice + if len(args) != len(tc.getArrayInputs) { + return false + } + + inputsMap := make(map[cipher.SHA256]struct{}, len(tc.getArrayInputs)) + for _, h := range tc.getArrayInputs { + _, ok := inputsMap[h] + require.False(t, ok) + inputsMap[h] = struct{}{} + } + + for _, h := range args { + _, ok := inputsMap[h] + if !ok { + return false + } + } + + return true + })).Return(tc.getArrayRet, nil) + if tc.getUnspentsOfAddrsRet != nil { + unspent.On("GetUnspentsOfAddrs", matchTx, tc.addrs).Return(tc.getUnspentsOfAddrsRet, nil) + } + bc.On("Unspent").Return(unspent) + + var auxs coin.AddressUxOuts + err := v.DB.View("", func(tx *dbutil.Tx) error { + var err error + auxs, err = v.getCreateTransactionAuxs(tx, tc.params, allAddrs) + return err + }) + + if tc.err != nil { + require.Equal(t, tc.err, err) + return + } + + require.NoError(t, err) + + require.Equal(t, tc.expectedAuxs, auxs) + }) + } +} + +func makeTxn(t *testing.T, headTime uint64, in, out []coin.UxOut, keys []cipher.SecKey) (coin.Transaction, []wallet.UxBalance) { + inputs := make([]cipher.SHA256, len(in)) + for i, input := range in { + inputs[i] = input.Hash() + } + + outputs := make([]coin.TransactionOutput, len(out)) + for i, output := range out { + outputs[i] = coin.TransactionOutput{ + Address: output.Body.Address, + Coins: output.Body.Coins, + Hours: output.Body.Hours, + } + } + + txn := coin.Transaction{ + In: inputs, + Out: outputs, + } + + txn.SignInputs(keys) + txn.UpdateHeader() + + inbalances, err := wallet.NewUxBalances(headTime, in) + require.NoError(t, err) + return txn, inbalances +} + +func TestVerifyTxnVerbose(t *testing.T) { + head := coin.SignedBlock{ + Block: coin.Block{ + Head: coin.BlockHeader{ + Time: uint64(utc.UnixNow()), + }, + }, + } + + hashes := make([]cipher.SHA256, 20) + for i := 0; i < 20; i++ { + hashes[i] = testutil.RandSHA256(t) + } + + keys := make([]cipher.SecKey, 5) + for i := 0; i < 5; i++ { + _, keys[i] = cipher.GenerateKeyPair() + } + + addrs := make([]cipher.Address, 5) + for i := 0; i < 5; i++ { + addrs[i] = cipher.AddressFromSecKey(keys[i]) + } + + srcTxnHashes := make([]cipher.SHA256, 5) + inputs := make([]coin.UxOut, 5) + historyOutputs := make([]*historydb.UxOut, 5) + // intputHashes := make([]cipher.SHA256, 5) + for i := 0; i < 5; i++ { + srcTxnHashes[i] = testutil.RandSHA256(t) + inputs[i] = coin.UxOut{ + Head: coin.UxHead{ + Time: head.Time(), + }, + Body: coin.UxBody{ + SrcTransaction: srcTxnHashes[i], + Address: addrs[i], + Coins: 10e6, + Hours: 1000, + }, + } + + historyOutputs[i] = &historydb.UxOut{ + Out: inputs[i], + } + } + + outputs := make([]coin.UxOut, 5) + for i := 0; i < 5; i++ { + outputs[i] = coin.UxOut{ + Head: coin.UxHead{ + Time: head.Time(), + }, + Body: coin.UxBody{ + Address: testutil.MakeAddress(), + Coins: 10e6, + Hours: 400 + uint64(i)*200, + }, + } + } + + // add uxout with math.MaxUint64 hours + outputs = append(outputs, coin.UxOut{ + Head: coin.UxHead{ + Time: head.Time(), + }, + Body: coin.UxBody{ + Address: testutil.MakeAddress(), + Coins: 10e6, + Hours: math.MaxUint64, + }, + }) + + // add output which has 11e6 coins + outputs = append(outputs, coin.UxOut{ + Head: coin.UxHead{ + Time: head.Time(), + }, + Body: coin.UxBody{ + Address: testutil.MakeAddress(), + Coins: 11e6, + Hours: 500, + }, + }) + + // create a transaction + txn, spentUxBalances := makeTxn(t, head.Time(), inputs[:1], outputs[:1], keys[:1]) + + // create a transaction which sends coin to null address + toNullAddrTxn, toNullAddrSpentUxBalances := makeTxn(t, head.Time(), inputs[:1], outputs[:1], keys[:1]) + toNullAddrTxn.Out[0].Address = cipher.Address{} + + // create a transaction with insufficient coin hours + inSufficientCoinHoursTxn, _ := makeTxn(t, head.Time(), inputs[:1], outputs[4:5], keys[:1]) + + // create a transaction with zero fee + zeroFeeTxn, _ := makeTxn(t, head.Time(), inputs[:1], outputs[3:4], keys[:1]) + + // create a transaction with output coin hours overflow + coinHourOverflowTxn, _ := makeTxn(t, head.Time(), inputs[:1], outputs[4:], keys[:1]) + + // create a transaction with insufficient fee + insufficientFeeTxn, _ := makeTxn(t, head.Time(), inputs[:1], outputs[2:3], keys[:1]) + + // create a transaction with insufficient coins + insufficientCoinsTxn, _ := makeTxn(t, head.Time(), inputs[:1], outputs[6:], keys[:1]) + + // create a transaction with invalid signature + badSigTxn, _ := makeTxn(t, head.Time(), inputs[:1], outputs[:1], keys[1:2]) + + cases := []struct { + name string + txn coin.Transaction + isConfirmed bool + balances []wallet.UxBalance + err error + + maxBlockSize int + + getArrayRet coin.UxArray + getArrayErr error + + getHistoryTxnRet *historydb.Transaction + getHistoryTxnErr error + + getHistoryUxOutsRet []*historydb.UxOut + getHistoryUxOutsErr error + }{ + { + name: "transaction has been spent", + txn: txn, + isConfirmed: true, + balances: spentUxBalances[:], + + getArrayErr: blockdb.ErrUnspentNotExist{UxID: inputs[0].Hash().Hex()}, + getHistoryTxnRet: &historydb.Transaction{Tx: txn}, + getHistoryUxOutsRet: historyOutputs[:1], + }, + { + name: "transaction does not exist in either unspents or historydb", + txn: txn, + isConfirmed: false, + err: ErrTxnViolatesHardConstraint{fmt.Errorf("transaction input of %s does not exist in either unspent pool or historydb", inputs[0].Hash().Hex())}, + + getArrayErr: blockdb.ErrUnspentNotExist{UxID: inputs[0].Hash().Hex()}, + }, + { + name: "transaction violate user constratins, send to null address", + txn: toNullAddrTxn, + isConfirmed: false, + err: ErrTxnViolatesUserConstraint{errors.New("Transaction output is sent to the null address")}, + balances: toNullAddrSpentUxBalances[:], + + getArrayRet: inputs[:1], + }, + { + name: "transaction violate soft constraints, transaction size bigger than max block size", + maxBlockSize: 1, + txn: txn, + err: ErrTxnViolatesSoftConstraint{errors.New("Transaction size bigger than max block size")}, + + getArrayRet: inputs[:1], + }, + { + name: "transaction violate soft constraints, Insufficient coinhours for transaction outputs", + txn: inSufficientCoinHoursTxn, + err: ErrTxnViolatesSoftConstraint{fee.ErrTxnInsufficientCoinHours}, + getArrayRet: inputs[:1], + }, + { + name: "transaction violate soft constraints, zero fee", + txn: zeroFeeTxn, + err: ErrTxnViolatesSoftConstraint{fee.ErrTxnNoFee}, + getArrayRet: inputs[:1], + }, + { + name: "transaction violate soft constraints, coin hour overflow", + txn: coinHourOverflowTxn, + err: ErrTxnViolatesSoftConstraint{errors.New("Transaction output hours overflow")}, + getArrayRet: inputs[:1], + }, + { + name: "transaction violate soft constraints, insufficient fee", + txn: insufficientFeeTxn, + err: ErrTxnViolatesSoftConstraint{fee.ErrTxnInsufficientFee}, + getArrayRet: inputs[:1], + }, + { + name: "transaction violate hard constraints, insufficient coin", + txn: insufficientCoinsTxn, + err: ErrTxnViolatesHardConstraint{errors.New("Insufficient coins")}, + getArrayRet: inputs[:1], + }, + { + name: "transaction violate hard constraints, bad signature", + txn: badSigTxn, + err: ErrTxnViolatesHardConstraint{errors.New("Signature not valid for output being spent")}, + getArrayRet: inputs[:1], + }, + { + name: "ok", + txn: txn, + balances: spentUxBalances, + getArrayRet: inputs[:1], + }, + } + + matchTx := mock.MatchedBy(func(tx *dbutil.Tx) bool { + return true + }) + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + db, shutdown := testutil.PrepareDB(t) + defer shutdown() + + history := NewHistoryerMock() + bc := NewBlockchainerMock() + unspent := NewUnspentPoolerMock() + + bc.On("Unspent").Return(unspent) + bc.On("Head", matchTx).Return(&head, nil) + + unspent.On("GetArray", matchTx, tc.txn.In).Return(tc.getArrayRet, tc.getArrayErr) + + history.On("GetTransaction", matchTx, tc.txn.Hash()).Return(tc.getHistoryTxnRet, tc.getHistoryTxnErr) + history.On("GetUxOuts", matchTx, tc.txn.In).Return(tc.getHistoryUxOutsRet, tc.getHistoryUxOutsErr) + + v := &Visor{ + Blockchain: bc, + DB: db, + history: history, + Config: Config{ + MaxBlockSize: tc.maxBlockSize, + }, + } + + if v.Config.MaxBlockSize == 0 { + v.Config.MaxBlockSize = DefaultMaxBlockSize + } + + var isConfirmed bool + var balances []wallet.UxBalance + err := v.DB.View("VerifyTxnVerbose", func(tx *dbutil.Tx) error { + var err error + balances, isConfirmed, err = v.VerifyTxnVerbose(&tc.txn) + return err + }) + + require.Equal(t, tc.err, err) + if tc.err != nil { + return + } + + require.NoError(t, err) + require.Equal(t, tc.isConfirmed, isConfirmed) + require.Equal(t, tc.balances, balances) + }) + } } // historyerMock2 embeds historyerMock, and rewrite the ForEach method type historyerMock2 struct { - historyerMock + HistoryerMock txs []historydb.Transaction } @@ -1850,9 +3025,9 @@ func newHistoryerMock2() *historyerMock2 { return &historyerMock2{} } -func (h *historyerMock2) ForEach(f func(tx *historydb.Transaction) error) error { +func (h *historyerMock2) ForEachTxn(tx *dbutil.Tx, f func(cipher.SHA256, *historydb.Transaction) error) error { for i := range h.txs { - if err := f(&h.txs[i]); err != nil { + if err := f(h.txs[i].Hash(), &h.txs[i]); err != nil { return err } } @@ -1869,12 +3044,12 @@ func NewUnconfirmedTxnPoolerMock2() *UnconfirmedTxnPoolerMock2 { return &UnconfirmedTxnPoolerMock2{} } -func (m *UnconfirmedTxnPoolerMock2) GetTxns(f func(tx UnconfirmedTxn) bool) []UnconfirmedTxn { +func (m *UnconfirmedTxnPoolerMock2) GetTxns(tx *dbutil.Tx, f func(tx UnconfirmedTxn) bool) ([]UnconfirmedTxn, error) { var txs []UnconfirmedTxn for i := range m.txs { if f(m.txs[i]) { txs = append(txs, m.txs[i]) } } - return txs + return txs, nil } diff --git a/src/wallet/balance.go b/src/wallet/balance.go index 40d13bb..397631f 100755 --- a/src/wallet/balance.go +++ b/src/wallet/balance.go @@ -15,6 +15,9 @@ type BalancePair struct { Predicted Balance `json:"predicted"` //do "pending" } +// AddressBalance represents a map of address balances +type AddressBalance map[string]BalancePair + // Balance is consisted of Coins and Hours type Balance struct { Coins uint64 `json:"coins"` diff --git a/src/wallet/readable.go b/src/wallet/readable.go index cc128d8..fd39582 100755 --- a/src/wallet/readable.go +++ b/src/wallet/readable.go @@ -145,8 +145,10 @@ func NewReadableWallet(w *Wallet) *ReadableWallet { // LoadReadableWallet loads a ReadableWallet from disk func LoadReadableWallet(filename string) (*ReadableWallet, error) { w := &ReadableWallet{} - err := w.Load(filename) - return w, err + if err := w.Load(filename); err != nil { + return nil, fmt.Errorf("load wallet %s failed: %v", filename, err) + } + return w, nil } // ToWallet convert readable wallet to Wallet diff --git a/src/wallet/service.go b/src/wallet/service.go index acba838..fc4d22e 100755 --- a/src/wallet/service.go +++ b/src/wallet/service.go @@ -7,7 +7,6 @@ import ( "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/coin" - "github.com/skycoin/skycoin/src/visor/blockdb" ) // BalanceGetter interface for getting the balance of given addresses @@ -304,10 +303,24 @@ func (serv *Service) ReloadWallets() error { return nil } +// ViewWallet will unlock a wallet for viewing if necessary, and call f +func (serv *Service) ViewWallet(w *Wallet, password []byte, f func(w *Wallet) error) error { + // NOTE: Does not need to use the mutex, because we are not accessing the wallets storage + + if w.IsEncrypted() { + return w.GuardView(password, f) + } + + if len(password) != 0 { + return ErrWalletNotEncrypted + } + + return f(w) +} + // CreateAndSignTransaction creates and signs a transaction from wallet. // Set the password as nil if the wallet is not encrypted, otherwise the password must be provided -func (serv *Service) CreateAndSignTransaction(wltID string, password []byte, vld Validator, unspent blockdb.UnspentGetter, - headTime, coins uint64, dest cipher.Address) (*coin.Transaction, error) { +func (serv *Service) CreateAndSignTransaction(wltID string, password []byte, auxs coin.AddressUxOuts, headTime, coins uint64, dest cipher.Address) (*coin.Transaction, error) { serv.RLock() defer serv.RUnlock() if !serv.enableWalletAPI { @@ -322,7 +335,7 @@ func (serv *Service) CreateAndSignTransaction(wltID string, password []byte, vld var tx *coin.Transaction f := func(wlt *Wallet) error { var err error - tx, err = wlt.CreateAndSignTransaction(vld, unspent, headTime, coins, dest) + tx, err = wlt.CreateAndSignTransaction(auxs, headTime, coins, dest) return err } @@ -340,8 +353,7 @@ func (serv *Service) CreateAndSignTransaction(wltID string, password []byte, vld // CreateAndSignTransactionAdvanced creates and signs a transaction based upon CreateTransactionParams. // Set the password as nil if the wallet is not encrypted, otherwise the password must be provided -func (serv *Service) CreateAndSignTransactionAdvanced(params CreateTransactionParams, vld Validator, - unspent blockdb.UnspentGetter, headTime uint64) (*coin.Transaction, []UxBalance, error) { +func (serv *Service) CreateAndSignTransactionAdvanced(params CreateTransactionParams, auxs coin.AddressUxOuts, headTime uint64) (*coin.Transaction, []UxBalance, error) { serv.RLock() defer serv.RUnlock() @@ -374,11 +386,11 @@ func (serv *Service) CreateAndSignTransactionAdvanced(params CreateTransactionPa if w.IsEncrypted() { err = w.GuardView(params.Wallet.Password, func(wlt *Wallet) error { var err error - tx, inputs, err = wlt.CreateAndSignTransactionAdvanced(params, vld, unspent, headTime) + tx, inputs, err = wlt.CreateAndSignTransactionAdvanced(params, auxs, headTime) return err }) } else { - tx, inputs, err = w.CreateAndSignTransactionAdvanced(params, vld, unspent, headTime) + tx, inputs, err = w.CreateAndSignTransactionAdvanced(params, auxs, headTime) } if err != nil { return nil, nil, err diff --git a/src/wallet/service_test.go b/src/wallet/service_test.go index 8b0916a..576a19d 100755 --- a/src/wallet/service_test.go +++ b/src/wallet/service_test.go @@ -693,7 +693,6 @@ func TestServiceCreateAndSignTransaction(t *testing.T) { opts Options pwd []byte unspents []coin.UxOut - vld Validator coins uint64 dest cipher.Address disableWalletAPI bool @@ -705,11 +704,8 @@ func TestServiceCreateAndSignTransaction(t *testing.T) { Seed: string(seed), }, unspents: uxouts[:], - vld: &dummyValidator{ - ok: false, - }, - coins: 2e6, - dest: addrs[0], + coins: 2e6, + dest: addrs[0], }, { name: "encrypted=true has change=no", @@ -720,11 +716,8 @@ func TestServiceCreateAndSignTransaction(t *testing.T) { }, pwd: []byte("pwd"), unspents: uxouts[:], - vld: &dummyValidator{ - ok: false, - }, - coins: 2e6, - dest: addrs[0], + coins: 2e6, + dest: addrs[0], }, { name: "encrypted=false has change=yes", @@ -732,38 +725,8 @@ func TestServiceCreateAndSignTransaction(t *testing.T) { Seed: string(seed), }, unspents: uxouts[:], - vld: &dummyValidator{ - ok: false, - }, - coins: 1e6, - dest: addrs[0], - }, - { - name: "encrypted=false has unconfirmed spending transaction", - opts: Options{ - Seed: string(seed), - }, - unspents: uxouts[:], - vld: &dummyValidator{ - ok: true, - }, - coins: 2e6, - dest: addrs[0], - err: ErrSpendingUnconfirmed, - }, - { - name: "encrypted=false unconfirmed spend failed", - opts: Options{ - Seed: string(seed), - }, - unspents: uxouts[:], - vld: &dummyValidator{ - ok: false, - err: errors.New("fail intentionally"), - }, - coins: 2e6, - dest: addrs[0], - err: errors.New("checking unconfirmed spending failed: fail intentionally"), + coins: 1e6, + dest: addrs[0], }, { name: "encrypted=false spend zero", @@ -771,11 +734,8 @@ func TestServiceCreateAndSignTransaction(t *testing.T) { Seed: string(seed), }, unspents: uxouts[:], - vld: &dummyValidator{ - ok: false, - }, - dest: addrs[0], - err: ErrZeroSpend, + dest: addrs[0], + err: ErrZeroSpend, }, { name: "encrypted=false spend fractional coins", @@ -783,11 +743,8 @@ func TestServiceCreateAndSignTransaction(t *testing.T) { Seed: string(seed), }, unspents: uxouts[:], - vld: &dummyValidator{ - ok: false, - }, - coins: 1e3, - dest: addrs[0], + coins: 1e3, + dest: addrs[0], }, { name: "encrypted=false not enough confirmed coins", @@ -795,12 +752,9 @@ func TestServiceCreateAndSignTransaction(t *testing.T) { Seed: string(seed), }, unspents: uxouts[:], - vld: &dummyValidator{ - ok: false, - }, - coins: 100e6, - dest: addrs[0], - err: ErrInsufficientBalance, + coins: 100e6, + dest: addrs[0], + err: ErrInsufficientBalance, }, { name: "encrypted=false no coin hours in inputs", @@ -808,12 +762,9 @@ func TestServiceCreateAndSignTransaction(t *testing.T) { Seed: string(seed), }, unspents: uxoutsNoHours[:], - vld: &dummyValidator{ - ok: false, - }, - coins: 1e6, - dest: addrsNoHours[0], - err: fee.ErrTxnNoFee, + coins: 1e6, + dest: addrsNoHours[0], + err: fee.ErrTxnNoFee, }, { name: "disable wallet api=true", @@ -821,7 +772,6 @@ func TestServiceCreateAndSignTransaction(t *testing.T) { Seed: string(seed), Label: "label", }, - vld: &dummyValidator{}, disableWalletAPI: true, err: ErrWalletAPIDisabled, }, @@ -831,15 +781,16 @@ func TestServiceCreateAndSignTransaction(t *testing.T) { for ct := range cryptoTable { name := fmt.Sprintf("crypto=%v %v", ct, tc.name) t.Run(name, func(t *testing.T) { - unspents := &dummyUnspentGetter{ - addrUnspents: coin.AddressUxOuts{ - addr: tc.unspents, - }, - unspents: map[cipher.SHA256]coin.UxOut{}, + addrUxOuts := coin.AddressUxOuts{ + addr: tc.unspents, } - for _, ux := range tc.unspents { - unspents.unspents[ux.Hash()] = ux + unspents := make(map[cipher.SHA256]coin.UxOut) + + for _, uxs := range addrUxOuts { + for _, ux := range uxs { + unspents[ux.Hash()] = ux + } } dir := prepareWltDir() @@ -851,7 +802,7 @@ func TestServiceCreateAndSignTransaction(t *testing.T) { require.NoError(t, err) if tc.disableWalletAPI { - _, err = s.CreateAndSignTransaction("", tc.pwd, tc.vld, unspents, uint64(headTime), tc.coins, tc.dest) + _, err = s.CreateAndSignTransaction("", tc.pwd, addrUxOuts, uint64(headTime), tc.coins, tc.dest) require.Equal(t, tc.err, err) return } @@ -861,9 +812,10 @@ func TestServiceCreateAndSignTransaction(t *testing.T) { w, err := s.CreateWallet(wltName, tc.opts, nil) require.NoError(t, err) - tx, err := s.CreateAndSignTransaction(w.Filename(), tc.pwd, tc.vld, unspents, uint64(headTime), tc.coins, tc.dest) + tx, err := s.CreateAndSignTransaction(w.Filename(), tc.pwd, addrUxOuts, uint64(headTime), tc.coins, tc.dest) if tc.err != nil { + require.Error(t, err) require.Equal(t, tc.err, err, err.Error()) return } @@ -872,7 +824,7 @@ func TestServiceCreateAndSignTransaction(t *testing.T) { // check the IN of tx for _, inUxid := range tx.In { - _, ok := unspents.unspents[inUxid] + _, ok := unspents[inUxid] require.True(t, ok) } @@ -912,10 +864,9 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { } // shuffle the uxouts to test that the uxout sorting during spend selection is working - for i := range uxouts { - j := rand.Intn(i + 1) + rand.Shuffle(len(uxouts), func(i, j int) { uxouts[i], uxouts[j] = uxouts[j], uxouts[i] - } + }) // Create extra unspent outputs. These have the same value as uxouts, but are spendable by // keys held in extraWalletAddrs @@ -942,10 +893,9 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { } // shuffle the uxouts to test that the uxout sorting during spend selection is working - for i := range uxoutsNoHours { - j := rand.Intn(i + 1) + rand.Shuffle(len(uxoutsNoHours), func(i, j int) { uxoutsNoHours[i], uxoutsNoHours[j] = uxoutsNoHours[j], uxoutsNoHours[i] - } + }) changeAddress := testutil.MakeAddress() @@ -953,7 +903,7 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { HoursSelection: HoursSelection{ Type: HoursSelectionTypeManual, }, - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: []coin.TransactionOutput{ { Address: addrs[0], @@ -972,6 +922,23 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { return &d } + firstAddress := func(uxa coin.UxArray) cipher.Address { + require.NotEmpty(t, uxa) + + addresses := make([]cipher.Address, len(uxa)) + for i, a := range uxa { + addresses[i] = a.Body.Address + } + + sort.Slice(addresses, func(i, j int) bool { + x := addresses[i].Bytes() + y := addresses[j].Bytes() + return bytes.Compare(x, y) < 0 + }) + + return addresses[0] + } + cases := []struct { name string err error @@ -998,7 +965,7 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { { name: "params invalid", params: CreateTransactionParams{}, - err: NewError(errors.New("ChangeAddress is required")), + err: NewError(errors.New("To is required")), }, { @@ -1026,28 +993,10 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { err: ErrWalletNotEncrypted, }, - { - name: "unconfirmed validator failed", - params: validParams, - vld: &dummyValidator{ - err: errors.New("validator failed"), - }, - err: errors.New("checking unconfirmed spending failed: validator failed"), - }, - - { - name: "has unconfirmed transactions", - params: validParams, - vld: &dummyValidator{ - ok: true, - }, - err: ErrSpendingUnconfirmed, - }, - { name: "overflowing coin hours in params", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeManual, }, @@ -1070,7 +1019,7 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { { name: "overflowing coins in params", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeManual, }, @@ -1093,7 +1042,7 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { { name: "no unspents", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeManual, }, @@ -1111,7 +1060,7 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { { name: "insufficient coins", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeManual, }, @@ -1130,7 +1079,7 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { { name: "insufficient hours", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeManual, }, @@ -1146,10 +1095,62 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { err: ErrInsufficientHours, }, + { + name: "insufficient coins for specified uxouts", + params: CreateTransactionParams{ + ChangeAddress: &changeAddress, + HoursSelection: HoursSelection{ + Type: HoursSelectionTypeManual, + }, + Wallet: CreateTransactionWalletParams{ + UxOuts: []cipher.SHA256{ + extraUxouts[0][0].Hash(), + }, + }, + To: []coin.TransactionOutput{ + { + Address: addrs[0], + Hours: 1, + Coins: 3e6, + }, + }, + }, + addressUnspents: coin.AddressUxOuts{ + extraWalletAddrs[0]: []coin.UxOut{extraUxouts[0][0]}, + }, + err: ErrInsufficientBalance, + }, + + { + name: "insufficient hours for specified uxouts", + params: CreateTransactionParams{ + ChangeAddress: &changeAddress, + HoursSelection: HoursSelection{ + Type: HoursSelectionTypeManual, + }, + Wallet: CreateTransactionWalletParams{ + UxOuts: []cipher.SHA256{ + extraUxouts[0][0].Hash(), + }, + }, + To: []coin.TransactionOutput{ + { + Address: addrs[0], + Hours: 200, + Coins: 1e6, + }, + }, + }, + addressUnspents: coin.AddressUxOuts{ + extraWalletAddrs[0]: []coin.UxOut{extraUxouts[0][0]}, + }, + err: ErrInsufficientHours, + }, + { name: "manual, 1 output, no change", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeManual, }, @@ -1166,15 +1167,13 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { }, { - name: "manual, 1 output, no change, unknown address", + name: "manual, 1 output, no change, unknown address in auxs", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeManual, }, - Wallet: CreateTransactionWalletParams{ - Addresses: append(extraWalletAddrs, testutil.MakeAddress()), - }, + Wallet: CreateTransactionWalletParams{}, To: []coin.TransactionOutput{ { Address: addrs[0], @@ -1183,13 +1182,16 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { }, }, }, + addressUnspents: coin.AddressUxOuts{ + testutil.MakeAddress(): []coin.UxOut{extraUxouts[0][0]}, + }, err: ErrUnknownAddress, }, { name: "manual, 1 output, change", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeManual, }, @@ -1210,12 +1212,35 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { }, }, + { + name: "manual, 1 output, change, unspecified change address", + params: CreateTransactionParams{ + HoursSelection: HoursSelection{ + Type: HoursSelectionTypeManual, + }, + To: []coin.TransactionOutput{ + { + Address: addrs[0], + Hours: 50, + Coins: 2e6 + 1, + }, + }, + }, + unspents: uxouts, + chosenUnspents: []coin.UxOut{originalUxouts[0], originalUxouts[1]}, + changeOutput: &coin.TransactionOutput{ + Address: firstAddress([]coin.UxOut{originalUxouts[0], originalUxouts[1]}), + Hours: 50, + Coins: 2e6 - 1, + }, + }, + { // there are leftover coin hours and an additional input is added // to force change to save the leftover coin hours name: "manual, 1 output, forced change", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeManual, }, @@ -1241,7 +1266,7 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { // but there are no more unspents to use to force a change output name: "manual, 1 output, forced change rejected no more unspents", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeManual, }, @@ -1263,7 +1288,7 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { // but the hours cost of saving them with an additional input is less than is leftover name: "manual, 1 output, forced change rejected", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeManual, }, @@ -1283,7 +1308,7 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { { name: "manual, multiple outputs", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeManual, }, @@ -1315,15 +1340,13 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { }, { - name: "manual, multiple outputs, specific spend addresses", + name: "manual, multiple outputs, varied addressUnspents", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeManual, }, - Wallet: CreateTransactionWalletParams{ - Addresses: extraWalletAddrs, - }, + Wallet: CreateTransactionWalletParams{}, To: []coin.TransactionOutput{ { Address: addrs[0], @@ -1345,7 +1368,6 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { addressUnspents: coin.AddressUxOuts{ extraWalletAddrs[0]: []coin.UxOut{extraUxouts[0][0]}, extraWalletAddrs[3]: []coin.UxOut{extraUxouts[3][1], extraUxouts[3][2]}, - addr: []coin.UxOut{originalUxouts[3], originalUxouts[4], originalUxouts[5]}, extraWalletAddrs[5]: []coin.UxOut{extraUxouts[5][6]}, }, chosenUnspents: []coin.UxOut{extraUxouts[0][0], extraUxouts[3][1], extraUxouts[3][2], extraUxouts[5][6]}, @@ -1357,9 +1379,65 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { }, { - name: "auto, multiple outputs, split even, share factor 0.5", + name: "manual, multiple uxouts, varied addressUnspents, wallet outputs specified", + params: CreateTransactionParams{ + ChangeAddress: &changeAddress, + HoursSelection: HoursSelection{ + Type: HoursSelectionTypeManual, + }, + Wallet: CreateTransactionWalletParams{ + UxOuts: []cipher.SHA256{ + extraUxouts[0][0].Hash(), + extraUxouts[3][1].Hash(), + extraUxouts[3][2].Hash(), + extraUxouts[5][6].Hash(), + + // this extra output is not necessary to satisfy the spend, + // it is included to test that when UxOuts are specified, + // only a subset is used + extraUxouts[0][8].Hash(), + }, + }, + To: []coin.TransactionOutput{ + { + Address: addrs[0], + Hours: 50, + Coins: 1e6, + }, + { + Address: addrs[0], + Hours: 50, + Coins: 1e6 + 1, + }, + { + Address: addrs[1], + Hours: 70, + Coins: 2e6, + }, + }, + }, + addressUnspents: coin.AddressUxOuts{ + extraWalletAddrs[0]: []coin.UxOut{extraUxouts[0][0], extraUxouts[0][8]}, + extraWalletAddrs[3]: []coin.UxOut{extraUxouts[3][1], extraUxouts[3][2]}, + extraWalletAddrs[5]: []coin.UxOut{extraUxouts[5][6]}, + }, + chosenUnspents: []coin.UxOut{ + extraUxouts[0][0], + extraUxouts[3][1], + extraUxouts[3][2], + extraUxouts[5][6], + }, + changeOutput: &coin.TransactionOutput{ + Address: changeAddress, + Hours: 34, + Coins: 4e6 - 1, + }, + }, + + { + name: "auto, multiple outputs, share factor 0.5", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeAuto, Mode: HoursSelectionModeShare, @@ -1395,13 +1473,50 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { }, { - name: "encrypted, auto, multiple outputs, split even, share factor 0.5", + name: "auto, multiple outputs, share factor 0.5, switch to 1.0 because no change could be made", + params: CreateTransactionParams{ + ChangeAddress: &changeAddress, + HoursSelection: HoursSelection{ + Type: HoursSelectionTypeAuto, + Mode: HoursSelectionModeShare, + ShareFactor: newShareFactor("0.5"), + }, + To: []coin.TransactionOutput{ + { + Address: addrs[0], + Coins: 1e6, + }, + { + Address: addrs[0], + Coins: 2e6, + }, + { + Address: addrs[1], + Coins: 2e6, + }, + { + Address: addrs[4], + Coins: 1e6 - 1e3, + }, + { + Address: addrs[4], + Coins: 1e3, + }, + }, + }, + unspents: []coin.UxOut{originalUxouts[0], originalUxouts[1], originalUxouts[2]}, + chosenUnspents: []coin.UxOut{originalUxouts[0], originalUxouts[1], originalUxouts[2]}, + toExpectedHours: []uint64{25, 50, 50, 25, 1}, + }, + + { + name: "encrypted, auto, multiple outputs, share factor 0.5", opts: Options{ Encrypt: true, Password: []byte("password"), }, params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeAuto, Mode: HoursSelectionModeShare, @@ -1440,9 +1555,9 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { }, { - name: "auto, multiple outputs, split even, share factor 0", + name: "auto, multiple outputs, share factor 0", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeAuto, Mode: HoursSelectionModeShare, @@ -1478,9 +1593,9 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { }, { - name: "auto, multiple outputs, split even, share factor 1", + name: "auto, multiple outputs, share factor 1", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, HoursSelection: HoursSelection{ Type: HoursSelectionTypeAuto, Mode: HoursSelectionModeShare, @@ -1522,7 +1637,7 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { HoursSelection: HoursSelection{ Type: HoursSelectionTypeManual, }, - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: []coin.TransactionOutput{ { Address: addrs[0], @@ -1550,28 +1665,22 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { name := fmt.Sprintf("crypto=%v %v", ct, tc.name) fmt.Println(name) t.Run(name, func(t *testing.T) { - if tc.vld == nil { - tc.vld = &dummyValidator{} - } - if tc.headTime == 0 { tc.headTime = headTime } - unspents := &dummyUnspentGetter{ - addrUnspents: coin.AddressUxOuts{ - addr: tc.unspents, - }, - unspents: map[cipher.SHA256]coin.UxOut{}, + addrUxOuts := coin.AddressUxOuts{ + addr: tc.unspents, } if tc.addressUnspents != nil { - unspents.addrUnspents = tc.addressUnspents + addrUxOuts = tc.addressUnspents } - for _, uxs := range unspents.addrUnspents { + unspents := make(map[cipher.SHA256]coin.UxOut) + for _, uxs := range addrUxOuts { for _, ux := range uxs { - unspents.unspents[ux.Hash()] = ux + unspents[ux.Hash()] = ux } } @@ -1601,6 +1710,15 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { if !w.IsEncrypted() { _, err := s.NewAddresses(w.Filename(), nil, 10) require.NoError(t, err) + + w, err = s.GetWallet(wltName) + require.NoError(t, err) + + require.Equal(t, 11, len(w.Entries)) + require.Equal(t, w.Entries[0].Address, addr) + for i, e := range w.Entries[1:] { + require.Equal(t, e.Address, extraWalletAddrs[i]) + } } tc.params.Wallet.ID = wltName @@ -1608,7 +1726,7 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { s.enableWalletAPI = !tc.disableWalletAPI - txn, inputs, err := s.CreateAndSignTransactionAdvanced(tc.params, tc.vld, unspents, tc.headTime) + txn, inputs, err := s.CreateAndSignTransactionAdvanced(tc.params, addrUxOuts, tc.headTime) if tc.err != nil { require.Equal(t, tc.err, err) return @@ -1630,7 +1748,7 @@ func TestServiceCreateAndSignTransactionAdvanced(t *testing.T) { } for i, inUxid := range txn.In { - _, ok := unspents.unspents[inUxid] + _, ok := unspents[inUxid] require.True(t, ok) require.Equal(t, inUxid, inputs[i].Hash) @@ -2437,36 +2555,7 @@ func TestGetWalletSeed(t *testing.T) { } } -type dummyValidator struct { - ok bool - err error -} - -func (dvld dummyValidator) HasUnconfirmedSpendTx(addr []cipher.Address) (bool, error) { - return dvld.ok, dvld.err -} - -type dummyUnspentGetter struct { - addrUnspents coin.AddressUxOuts - unspents map[cipher.SHA256]coin.UxOut -} - -func (dug dummyUnspentGetter) GetUnspentsOfAddrs(addrs []cipher.Address) coin.AddressUxOuts { - out := coin.AddressUxOuts{} - for _, a := range addrs { - if x, ok := dug.addrUnspents[a]; ok { - out[a] = x - } - } - return out -} - -func (dug dummyUnspentGetter) Get(uxid cipher.SHA256) (coin.UxOut, bool) { - uxout, ok := dug.unspents[uxid] - return uxout, ok -} - -func makeUxOut(t *testing.T, s cipher.SecKey, coins, hours uint64) coin.UxOut { +func makeUxOut(t *testing.T, s cipher.SecKey, coins, hours uint64) coin.UxOut { // nolint: unparam body := makeUxBody(t, s, coins, hours) tm := rand.Int31n(1000) seq := rand.Int31n(100) diff --git a/src/wallet/wallet.go b/src/wallet/wallet.go index af6dc9d..7d944ff 100755 --- a/src/wallet/wallet.go +++ b/src/wallet/wallet.go @@ -17,7 +17,6 @@ import ( "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/coin" - "github.com/skycoin/skycoin/src/visor/blockdb" "github.com/shopspring/decimal" @@ -85,7 +84,9 @@ var ( // ErrInvalidHoursSelectionType for invalid HoursSelection type values ErrInvalidHoursSelectionType = NewError(errors.New("invalid hours selection type")) // ErrUnknownAddress is returned if an address is not found in a wallet - ErrUnknownAddress = NewError(errors.New("Address not found in wallet")) + ErrUnknownAddress = NewError(errors.New("address not found in wallet")) + // ErrUnknownUxOut is returned if a uxout is not owned by any address in a wallet + ErrUnknownUxOut = NewError(errors.New("uxout is not owned by any address in the wallet")) // ErrNoUnspents is returned if a wallet has no unspents to spend ErrNoUnspents = NewError(errors.New("no unspents to spend")) ) @@ -98,7 +99,7 @@ const ( WalletTimestampFormat = "2006_01_02" // CoinTypeSkycoin skycoin type - CoinTypeSkycoin CoinType = "solarbankerscoin" + CoinTypeSkycoin CoinType = "skycoin" // CoinTypeBitcoin bitcoin type CoinTypeBitcoin CoinType = "bitcoin" ) @@ -152,22 +153,24 @@ type HoursSelection struct { // CreateTransactionWalletParams defines a wallet to spend from and optionally which addresses in the wallet type CreateTransactionWalletParams struct { ID string + UxOuts []cipher.SHA256 Addresses []cipher.Address Password []byte } // CreateTransactionParams defines control parameters for transaction construction type CreateTransactionParams struct { - HoursSelection HoursSelection - Wallet CreateTransactionWalletParams - ChangeAddress cipher.Address - To []coin.TransactionOutput + IgnoreUnconfirmed bool + HoursSelection HoursSelection + Wallet CreateTransactionWalletParams + ChangeAddress *cipher.Address + To []coin.TransactionOutput } // Validate validates CreateTransactionParams func (c CreateTransactionParams) Validate() error { - if c.ChangeAddress.Null() { - return NewError(errors.New("ChangeAddress is required")) + if c.ChangeAddress != nil && c.ChangeAddress.Null() { + return NewError(errors.New("ChangeAddress must not be the null address")) } if len(c.To) == 0 { @@ -202,10 +205,17 @@ func (c CreateTransactionParams) Validate() error { return NewError(errors.New("Wallet.ID is required")) } + addressMap := make(map[cipher.Address]struct{}, len(c.Wallet.Addresses)) for _, a := range c.Wallet.Addresses { if a.Null() { return NewError(errors.New("Wallet.Addresses must not contain the null address")) } + + addressMap[a] = struct{}{} + } + + if len(addressMap) != len(c.Wallet.Addresses) { + return NewError(errors.New("Wallet.Addresses contains duplicate values")) } switch c.HoursSelection.Type { @@ -249,6 +259,20 @@ func (c CreateTransactionParams) Validate() error { } } + if len(c.Wallet.UxOuts) != 0 && len(c.Wallet.Addresses) != 0 { + return NewError(errors.New("Wallet.UxOuts and Wallet.Addresses cannot be combined")) + } + + // Check for duplicate spending uxouts + uxouts := make(map[cipher.SHA256]struct{}, len(c.Wallet.UxOuts)) + for _, o := range c.Wallet.UxOuts { + uxouts[o] = struct{}{} + } + + if len(uxouts) != len(c.Wallet.UxOuts) { + return NewError(errors.New("Wallet.UxOuts contains duplicate values")) + } + return nil } @@ -584,10 +608,7 @@ func (w *Wallet) GuardView(password []byte, f func(w *Wallet) error) error { defer wlt.erase() - if err := f(wlt); err != nil { - return err - } - return nil + return f(wlt) } // Load loads wallet from a given file @@ -939,25 +960,21 @@ type Validator interface { // CreateAndSignTransaction Creates a Transaction // spending coins and hours from wallet -func (w *Wallet) CreateAndSignTransaction(vld Validator, unspent blockdb.UnspentGetter, - headTime, coins uint64, dest cipher.Address) (*coin.Transaction, error) { +func (w *Wallet) CreateAndSignTransaction(auxs coin.AddressUxOuts, headTime, coins uint64, dest cipher.Address) (*coin.Transaction, error) { if w.IsEncrypted() { return nil, ErrWalletEncrypted } - addrs := w.GetAddresses() - ok, err := vld.HasUnconfirmedSpendTx(addrs) - if err != nil { - return nil, fmt.Errorf("checking unconfirmed spending failed: %v", err) - } - - if ok { - return nil, ErrSpendingUnconfirmed + entriesMap := make(map[cipher.Address]Entry) + for a := range auxs { + e, ok := w.GetEntry(a) + // Check that auxs does not contain addresses that are not known to this wallet + if !ok { + return nil, ErrUnknownAddress + } + entriesMap[e.Address] = e } - txn := coin.Transaction{} - auxs := unspent.GetUnspentsOfAddrs(addrs) - // Determine which unspents to spend. // Use the MaximizeUxOuts strategy, this will keep the uxout pool smaller uxa := auxs.Flatten() @@ -972,20 +989,17 @@ func (w *Wallet) CreateAndSignTransaction(vld Validator, unspent blockdb.Unspent } // Add these unspents as tx inputs + var txn coin.Transaction toSign := make([]cipher.SecKey, len(spends)) spending := Balance{Coins: 0, Hours: 0} for i, au := range spends { - entry, exists := w.GetEntry(au.Address) - if !exists { - return nil, NewError(fmt.Errorf("address:%v does not exist in wallet: %v", au.Address, w.Filename())) + entry, ok := entriesMap[au.Address] + if !ok { + return nil, NewError(fmt.Errorf("address %v does not exist in wallet %v", au.Address, w.Filename())) } txn.PushInput(au.Hash) - if w.IsEncrypted() { - return nil, ErrWalletEncrypted - } - toSign[i] = entry.Secret spending.Coins += au.Coins @@ -1021,9 +1035,9 @@ func (w *Wallet) CreateAndSignTransaction(vld Validator, unspent blockdb.Unspent } // CreateAndSignTransactionAdvanced creates and signs a transaction based upon CreateTransactionParams. -// Set the password as nil if the wallet is not encrypted, otherwise the password must be provided -func (w *Wallet) CreateAndSignTransactionAdvanced(params CreateTransactionParams, vld Validator, - unspent blockdb.UnspentGetter, headTime uint64) (*coin.Transaction, []UxBalance, error) { +// Set the password as nil if the wallet is not encrypted, otherwise the password must be provided. +// NOTE: Caller must ensure that auxs correspond to params.Wallet.Addresses and params.Wallet.UxOuts options +func (w *Wallet) CreateAndSignTransactionAdvanced(params CreateTransactionParams, auxs coin.AddressUxOuts, headTime uint64) (*coin.Transaction, []UxBalance, error) { if err := params.Validate(); err != nil { return nil, nil, err } @@ -1036,37 +1050,17 @@ func (w *Wallet) CreateAndSignTransactionAdvanced(params CreateTransactionParams return nil, nil, ErrWalletEncrypted } - addrList := make([]cipher.Address, 0) entriesMap := make(map[cipher.Address]Entry) - if len(params.Wallet.Addresses) == 0 { - for _, e := range w.Entries { - addrList = append(addrList, e.Address) - entriesMap[e.Address] = e - } - } else { - for _, a := range params.Wallet.Addresses { - e, ok := w.GetEntry(a) - if !ok { - return nil, nil, ErrUnknownAddress - } - addrList = append(addrList, e.Address) - entriesMap[e.Address] = e + for a := range auxs { + // Check that auxs does not contain addresses that are not known to this wallet + e, ok := w.GetEntry(a) + if !ok { + return nil, nil, ErrUnknownAddress } - } - - ok, err := vld.HasUnconfirmedSpendTx(addrList) - if err != nil { - // The error from HasUnconfirmedSpendTx isn't wrapped with wallet.Error because - // it is from outside the wallet package and is likely some database or other - // unexpected failure - return nil, nil, fmt.Errorf("checking unconfirmed spending failed: %v", err) - } - if ok { - return nil, nil, ErrSpendingUnconfirmed + entriesMap[e.Address] = e } txn := &coin.Transaction{} - auxs := unspent.GetUnspentsOfAddrs(addrList) // Determine which unspents to spend uxa := auxs.Flatten() @@ -1103,7 +1097,6 @@ func (w *Wallet) CreateAndSignTransactionAdvanced(params CreateTransactionParams // Use the MinimizeUxOuts strategy, to use least possible uxouts // this will allow more frequent spending // we don't need to check whether we have sufficient balance beforehand as ChooseSpends already checks that - spends, err := ChooseSpendsMinimizeUxOuts(uxb, totalOutCoins, requestedHours) if err != nil { return nil, nil, err @@ -1124,7 +1117,12 @@ func (w *Wallet) CreateAndSignTransactionAdvanced(params CreateTransactionParams return nil, nil, err } - toSign[i] = entriesMap[spend.Address].Secret + entry, ok := entriesMap[spend.Address] + if !ok { + return nil, nil, fmt.Errorf("spend address %s not found in entriesMap", spend.Address.String()) + } + + toSign[i] = entry.Secret txn.PushInput(spend.Hash) } @@ -1184,18 +1182,18 @@ func (w *Wallet) CreateAndSignTransactionAdvanced(params CreateTransactionParams return nil, nil, err } - // Make sure we have enough coinhours - // If we don't at this point, then ChooseSpends has a bug, it should have returned this error already - if totalOutHours > remainingHours { - logger.WithError(fee.ErrTxnInsufficientCoinHours).Error("Insufficient hours after choosing spends or distributing hours, this should not occur") - return nil, nil, fee.ErrTxnInsufficientCoinHours - } - + // Make sure we have enough coins and coin hours + // If we don't, and we called ChooseSpends, then ChooseSpends has a bug, as it should have returned this error already if totalOutCoins > totalInputCoins { logger.WithError(ErrInsufficientBalance).Error("Insufficient coins after choosing spends, this should not occur") return nil, nil, ErrInsufficientBalance } + if totalOutHours > remainingHours { + logger.WithError(fee.ErrTxnInsufficientCoinHours).Error("Insufficient hours after choosing spends or distributing hours, this should not occur") + return nil, nil, fee.ErrTxnInsufficientCoinHours + } + // create change output changeCoins := totalInputCoins - totalOutCoins changeHours := remainingHours - totalOutHours @@ -1246,14 +1244,58 @@ func (w *Wallet) CreateAndSignTransactionAdvanced(params CreateTransactionParams return nil, nil, err } - toSign = append(toSign, entriesMap[extra.Address].Secret) + entry, ok := entriesMap[extra.Address] + if !ok { + return nil, nil, fmt.Errorf("extra spend address %s not found in entriesMap", extra.Address.String()) + } + + toSign = append(toSign, entry.Secret) txn.PushInput(extra.Hash) } } } + // With auto share mode, if there are leftover hours and change couldn't be force-added, + // recalculate that share ratio at 100% + if changeCoins == 0 && changeHours > 0 && params.HoursSelection.Type == HoursSelectionTypeAuto && params.HoursSelection.Mode == HoursSelectionModeShare { + oneDecimal := decimal.New(1, 0) + if params.HoursSelection.ShareFactor.Equal(oneDecimal) { + return nil, nil, errors.New("share factor is 1.0 but changeHours > 0 unexpectedly") + } + params.HoursSelection.ShareFactor = &oneDecimal + return w.CreateAndSignTransactionAdvanced(params, auxs, headTime) + } + if changeCoins > 0 { - txn.PushOutput(params.ChangeAddress, changeCoins, changeHours) + var changeAddress cipher.Address + if params.ChangeAddress != nil { + changeAddress = *params.ChangeAddress + } else { + // Choose a change address from the unspent outputs + // Sort spends by address, comparing bytes, and use the first + // This provides deterministic change address selection from a set of unspent outputs + if len(spends) == 0 { + return nil, nil, errors.New("spends is unexpectedly empty when choosing an automatic change address") + } + + addressBytes := make([][]byte, len(spends)) + for i, s := range spends { + addressBytes[i] = s.Address.Bytes() + } + + sort.Slice(addressBytes, func(i, j int) bool { + return bytes.Compare(addressBytes[i], addressBytes[j]) < 0 + }) + + var err error + changeAddress, err = cipher.AddressFromBytes(addressBytes[0]) + if err != nil { + logger.Critical().Errorf("cipher.AddressFromBytes failed for change address converted to bytes: %v", err) + return nil, nil, err + } + } + + txn.PushOutput(changeAddress, changeCoins, changeHours) } txn.SignInputs(toSign) diff --git a/src/wallet/wallet_test.go b/src/wallet/wallet_test.go index 29fe464..065b833 100755 --- a/src/wallet/wallet_test.go +++ b/src/wallet/wallet_test.go @@ -506,7 +506,7 @@ func TestLockAndUnLock(t *testing.T) { } } -func makeWallet(t *testing.T, opts Options, addrNum uint64) *Wallet { +func makeWallet(t *testing.T, opts Options, addrNum uint64) *Wallet { // nolint: unparam // Create an unlocked wallet, then generate addresses, lock if the options.Encrypt is true. preOpts := opts opts.Encrypt = false @@ -1364,10 +1364,9 @@ func TestWalletSortSpendsHighToLow(t *testing.T) { uxb := make([]UxBalance, len(orderedUxb)) copy(uxb, orderedUxb) - for i := range uxb { - j := rand.Intn(i + 1) + rand.Shuffle(len(uxb), func(i, j int) { uxb[i], uxb[j] = uxb[j], uxb[i] - } + }) if !uxBalancesEqual(uxb, orderedUxb) { shuffleWorked = true @@ -1405,7 +1404,7 @@ func TestWalletChooseSpendsMaximizeUxOuts(t *testing.T) { } } -func TestWalletChooseSpendsMinimizeUxOuts(t *testing.T) { +func TestWalletChooseSpendsMinimizeUxOutsRandom(t *testing.T) { nRand := 10000 for i := 0; i < nRand; i++ { coins := uint64((rand.Intn(3)+1)*10 + rand.Intn(3)) // 10,20,30 + 0,1,2 @@ -1899,6 +1898,7 @@ func verifySortedCoinsHighToLow(t *testing.T, uxb []UxBalance) { func TestCreateWalletParamsVerify(t *testing.T) { changeAddress := testutil.MakeAddress() + toManual := []coin.TransactionOutput{ { Address: testutil.MakeAddress(), @@ -1928,20 +1928,25 @@ func TestCreateWalletParamsVerify(t *testing.T) { onePointOne := decimal.New(11, -1) pointOneOne := decimal.New(11, -2) + uxoutHash := testutil.RandSHA256(t) + cases := []struct { name string params CreateTransactionParams err string }{ { - name: "no change address", - err: "ChangeAddress is required", + name: "null change address", + params: CreateTransactionParams{ + ChangeAddress: &cipher.Address{}, + }, + err: "ChangeAddress must not be the null address", }, { name: "no to destinations", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, }, err: "To is required", }, @@ -1949,7 +1954,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "missing to coins", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: []coin.TransactionOutput{ { Address: testutil.MakeAddress(), @@ -1963,7 +1968,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "missing to address", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: []coin.TransactionOutput{ { Coins: 5, @@ -1977,7 +1982,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "missing wallet id", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: toManual, }, err: "Wallet.ID is required", @@ -1986,7 +1991,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "wallet addresses contains empty value", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: toManual, Wallet: CreateTransactionWalletParams{ ID: "foo.wlt", @@ -1999,7 +2004,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "nonzero to hours for auto selection", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: toManual, Wallet: CreateTransactionWalletParams{ ID: "foo.wlt", @@ -2015,7 +2020,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "mode missing for auto selection", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: toAuto, Wallet: CreateTransactionWalletParams{ ID: "foo.wlt", @@ -2031,7 +2036,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "mode set for manual selection", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: toManual, Wallet: CreateTransactionWalletParams{ ID: "foo.wlt", @@ -2048,7 +2053,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "missing hours selection type", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: toAuto, Wallet: CreateTransactionWalletParams{ ID: "foo.wlt", @@ -2064,7 +2069,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "invalid hours selection type", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: toAuto, Wallet: CreateTransactionWalletParams{ ID: "foo.wlt", @@ -2080,7 +2085,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "invalid hours selection mode", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: toAuto, Wallet: CreateTransactionWalletParams{ ID: "foo.wlt", @@ -2097,7 +2102,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "share factor not set for split even mode", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: toAuto, Wallet: CreateTransactionWalletParams{ ID: "foo.wlt", @@ -2114,7 +2119,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "share factor set but not split even mode", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: toManual, Wallet: CreateTransactionWalletParams{ ID: "foo.wlt", @@ -2131,7 +2136,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "share factor less than 0", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: toAuto, Wallet: CreateTransactionWalletParams{ ID: "foo.wlt", @@ -2149,7 +2154,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "share factor greater than 1", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: toAuto, Wallet: CreateTransactionWalletParams{ ID: "foo.wlt", @@ -2167,7 +2172,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "duplicate output when manual", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: []coin.TransactionOutput{toManual[0], toManual[0]}, Wallet: CreateTransactionWalletParams{ ID: "foo.wlt", @@ -2182,7 +2187,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "duplicate output when auto", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: []coin.TransactionOutput{toAuto[0], toAuto[0]}, Wallet: CreateTransactionWalletParams{ ID: "foo.wlt", @@ -2196,10 +2201,59 @@ func TestCreateWalletParamsVerify(t *testing.T) { err: "To contains duplicate values", }, + { + name: "both uxouts and addresses specified", + params: CreateTransactionParams{ + ChangeAddress: &changeAddress, + To: toManual, + Wallet: CreateTransactionWalletParams{ + ID: "foo.wlt", + Addresses: []cipher.Address{changeAddress}, + UxOuts: []cipher.SHA256{uxoutHash}, + }, + HoursSelection: HoursSelection{ + Type: HoursSelectionTypeManual, + }, + }, + err: "Wallet.UxOuts and Wallet.Addresses cannot be combined", + }, + + { + name: "duplicate uxouts", + params: CreateTransactionParams{ + ChangeAddress: &changeAddress, + To: toManual, + Wallet: CreateTransactionWalletParams{ + ID: "foo.wlt", + UxOuts: []cipher.SHA256{uxoutHash, uxoutHash}, + }, + HoursSelection: HoursSelection{ + Type: HoursSelectionTypeManual, + }, + }, + err: "Wallet.UxOuts contains duplicate values", + }, + + { + name: "duplicate addresses", + params: CreateTransactionParams{ + ChangeAddress: &changeAddress, + To: toManual, + Wallet: CreateTransactionWalletParams{ + ID: "foo.wlt", + Addresses: []cipher.Address{changeAddress, changeAddress}, + }, + HoursSelection: HoursSelection{ + Type: HoursSelectionTypeManual, + }, + }, + err: "Wallet.Addresses contains duplicate values", + }, + { name: "valid auto split even share factor", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: toAuto, Wallet: CreateTransactionWalletParams{ ID: "foo.wlt", @@ -2216,7 +2270,7 @@ func TestCreateWalletParamsVerify(t *testing.T) { { name: "valid manual", params: CreateTransactionParams{ - ChangeAddress: changeAddress, + ChangeAddress: &changeAddress, To: toManual, Wallet: CreateTransactionWalletParams{ ID: "foo.wlt", diff --git a/src/wallet/wallets.go b/src/wallet/wallets.go index 21bbc72..1b28d60 100755 --- a/src/wallet/wallets.go +++ b/src/wallet/wallets.go @@ -52,7 +52,7 @@ func LoadWallets(dir string) (Wallets, error) { return wallets, nil } -func backupWltFile(src, dst string) error { +func backupWltFile(src, dst string) error { //nolint: deadcode if _, err := os.Stat(dst); err == nil { return fmt.Errorf("%v file already exist", dst) } diff --git a/template/coin.template b/template/coin.template new file mode 100755 index 0000000..a21a9c9 --- /dev/null +++ b/template/coin.template @@ -0,0 +1,82 @@ +package main + +import ( + _ "net/http/pprof" + "github.com/skycoin/skycoin/src/skycoin" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/visor" +) + + +var ( + // Version of the node. Can be set by -ldflags + Version = "{{.Version}}" + // Commit ID. Can be set by -ldflags + Commit = "" + // Branch name. Can be set by -ldflags + Branch = "" + // ConfigMode (possible values are "", "STANDALONE_CLIENT"). + // This is used to change the default configuration. + // Can be set by -ldflags + ConfigMode = "" + + logger = logging.MustGetLogger("main") + + // GenesisSignatureStr hex string of genesis signature + GenesisSignatureStr = "{{.GenesisSignatureStr}}" + // GenesisAddressStr genesis address string + GenesisAddressStr = "{{.GenesisAddressStr}}" + // BlockchainPubkeyStr pubic key string + BlockchainPubkeyStr = "{{.BlockchainPubkeyStr}}" + // BlockchainSeckeyStr empty private key string + BlockchainSeckeyStr = "{{.BlockchainSeckeyStr}}" + + // GenesisTimestamp genesis block create unix time + GenesisTimestamp uint64 = {{.GenesisTimestamp}} + // GenesisCoinVolume represents the coin capacity + GenesisCoinVolume uint64 = {{.GenesisCoinVolume}} + + // DefaultConnections the default trust node addresses + DefaultConnections = []string{ + {{- range $index, $address := .DefaultConnections}} + "{{$address -}}", + {{- end}} + } +) + +func main() { + // get node config + nodeConfig := skycoin.NewNodeConfig(ConfigMode, skycoin.NodeParameters{ + GenesisSignatureStr: GenesisSignatureStr, + GenesisAddressStr: GenesisAddressStr, + GenesisCoinVolume: GenesisCoinVolume, + GenesisTimestamp: GenesisTimestamp, + BlockchainPubkeyStr: BlockchainPubkeyStr, + BlockchainSeckeyStr: BlockchainSeckeyStr, + DefaultConnections: DefaultConnections, + PeerListURL: "{{.PeerListURL}}", + Port: {{.Port}}, + WebInterfacePort: {{.WebInterfacePort}}, + DataDirectory: "{{.DataDirectory}}", + ProfileCPUFile: "{{.ProfileCPUFile}}", + }) + + // create a new fiber coin instance + coin := skycoin.NewCoin( + skycoin.Config{ + Node: *nodeConfig, + Build: visor.BuildInfo{ + Version: Version, + Commit: Commit, + Branch: Branch, + }, + }, + logger, + ) + + // parse config values + coin.ParseConfig() + + // run fiber coin node + coin.Run() +} diff --git a/template/visor.template b/template/visor.template new file mode 100755 index 0000000..6c9a2fe --- /dev/null +++ b/template/visor.template @@ -0,0 +1,33 @@ +package visor + +/* +* CODE GENERATED AUTOMATICALLY WITH FIBER COIN CREATOR +* AVOID EDITING THIS MANUALLY +*/ + +const ( + // MaxCoinSupply is the maximum supply of coins + MaxCoinSupply uint64 = {{.MaxCoinSupply}} + // DistributionAddressesTotal is the number of distribution addresses + DistributionAddressesTotal uint64 = {{.DistributionAddressesTotal}} + // DistributionAddressInitialBalance is the initial balance of each distribution address + DistributionAddressInitialBalance uint64 = MaxCoinSupply / DistributionAddressesTotal + // InitialUnlockedCount is the initial number of unlocked addresses + InitialUnlockedCount uint64 = {{.InitialUnlockedCount}} + // UnlockAddressRate is the number of addresses to unlock per unlock time interval + UnlockAddressRate uint64 = {{.UnlockAddressRate}} + // UnlockTimeInterval is the distribution address unlock time interval, measured in seconds + // Once the InitialUnlockedCount is exhausted, + // UnlockAddressRate addresses will be unlocked per UnlockTimeInterval + UnlockTimeInterval uint64 = {{.UnlockTimeInterval}} // in seconds + // MaxDropletPrecision represents the decimal precision of droplets + MaxDropletPrecision uint64 = {{.MaxDropletPrecision}} + //DefaultMaxBlockSize is max block size + DefaultMaxBlockSize int = {{.DefaultMaxBlockSize}} // in bytes +) + +var distributionAddresses = [DistributionAddressesTotal]string{ +{{- range $index, $address := .DistributionAddresses}} + "{{$address -}}", +{{- end}} +} diff --git a/vendor/github.com/NYTimes/gziphandler/.gitignore b/vendor/github.com/NYTimes/gziphandler/.gitignore new file mode 100755 index 0000000..1377554 --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/.gitignore @@ -0,0 +1 @@ +*.swp diff --git a/vendor/github.com/NYTimes/gziphandler/.travis.yml b/vendor/github.com/NYTimes/gziphandler/.travis.yml new file mode 100755 index 0000000..d2b67f6 --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/.travis.yml @@ -0,0 +1,6 @@ +language: go + +go: + - 1.7 + - 1.8 + - tip diff --git a/vendor/github.com/NYTimes/gziphandler/CODE_OF_CONDUCT.md b/vendor/github.com/NYTimes/gziphandler/CODE_OF_CONDUCT.md new file mode 100755 index 0000000..cdbca19 --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/CODE_OF_CONDUCT.md @@ -0,0 +1,75 @@ +--- +layout: code-of-conduct +version: v1.0 +--- + +This code of conduct outlines our expectations for participants within the **NYTimes/gziphandler** community, as well as steps to reporting unacceptable behavior. We are committed to providing a welcoming and inspiring community for all and expect our code of conduct to be honored. Anyone who violates this code of conduct may be banned from the community. + +Our open source community strives to: + +* **Be friendly and patient.** +* **Be welcoming**: We strive to be a community that welcomes and supports people of all backgrounds and identities. This includes, but is not limited to members of any race, ethnicity, culture, national origin, colour, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, age, size, family status, political belief, religion, and mental and physical ability. +* **Be considerate**: Your work will be used by other people, and you in turn will depend on the work of others. Any decision you take will affect users and colleagues, and you should take those consequences into account when making decisions. Remember that we're a world-wide community, so you might not be communicating in someone else's primary language. +* **Be respectful**: Not all of us will agree all the time, but disagreement is no excuse for poor behavior and poor manners. We might all experience some frustration now and then, but we cannot allow that frustration to turn into a personal attack. It’s important to remember that a community where people feel uncomfortable or threatened is not a productive one. +* **Be careful in the words that we choose**: we are a community of professionals, and we conduct ourselves professionally. Be kind to others. Do not insult or put down other participants. Harassment and other exclusionary behavior aren't acceptable. +* **Try to understand why we disagree**: Disagreements, both social and technical, happen all the time. It is important that we resolve disagreements and differing views constructively. Remember that we’re different. The strength of our community comes from its diversity, people from a wide range of backgrounds. Different people have different perspectives on issues. Being unable to understand why someone holds a viewpoint doesn’t mean that they’re wrong. Don’t forget that it is human to err and blaming each other doesn’t get us anywhere. Instead, focus on helping to resolve issues and learning from mistakes. + +## Definitions + +Harassment includes, but is not limited to: + +- Offensive comments related to gender, gender identity and expression, sexual orientation, disability, mental illness, neuro(a)typicality, physical appearance, body size, race, age, regional discrimination, political or religious affiliation +- Unwelcome comments regarding a person’s lifestyle choices and practices, including those related to food, health, parenting, drugs, and employment +- Deliberate misgendering. This includes deadnaming or persistently using a pronoun that does not correctly reflect a person's gender identity. You must address people by the name they give you when not addressing them by their username or handle +- Physical contact and simulated physical contact (eg, textual descriptions like “*hug*” or “*backrub*”) without consent or after a request to stop +- Threats of violence, both physical and psychological +- Incitement of violence towards any individual, including encouraging a person to commit suicide or to engage in self-harm +- Deliberate intimidation +- Stalking or following +- Harassing photography or recording, including logging online activity for harassment purposes +- Sustained disruption of discussion +- Unwelcome sexual attention, including gratuitous or off-topic sexual images or behaviour +- Pattern of inappropriate social contact, such as requesting/assuming inappropriate levels of intimacy with others +- Continued one-on-one communication after requests to cease +- Deliberate “outing” of any aspect of a person’s identity without their consent except as necessary to protect others from intentional abuse +- Publication of non-harassing private communication + +Our open source community prioritizes marginalized people’s safety over privileged people’s comfort. We will not act on complaints regarding: + +- ‘Reverse’ -isms, including ‘reverse racism,’ ‘reverse sexism,’ and ‘cisphobia’ +- Reasonable communication of boundaries, such as “leave me alone,” “go away,” or “I’m not discussing this with you” +- Refusal to explain or debate social justice concepts +- Communicating in a ‘tone’ you don’t find congenial +- Criticizing racist, sexist, cissexist, or otherwise oppressive behavior or assumptions + + +### Diversity Statement + +We encourage everyone to participate and are committed to building a community for all. Although we will fail at times, we seek to treat everyone both as fairly and equally as possible. Whenever a participant has made a mistake, we expect them to take responsibility for it. If someone has been harmed or offended, it is our responsibility to listen carefully and respectfully, and do our best to right the wrong. + +Although this list cannot be exhaustive, we explicitly honor diversity in age, gender, gender identity or expression, culture, ethnicity, language, national origin, political beliefs, profession, race, religion, sexual orientation, socioeconomic status, and technical ability. We will not tolerate discrimination based on any of the protected +characteristics above, including participants with disabilities. + +### Reporting Issues + +If you experience or witness unacceptable behavior—or have any other concerns—please report it by contacting us via **code@nytimes.com**. All reports will be handled with discretion. In your report please include: + +- Your contact information. +- Names (real, nicknames, or pseudonyms) of any individuals involved. If there are additional witnesses, please +include them as well. Your account of what occurred, and if you believe the incident is ongoing. If there is a publicly available record (e.g. a mailing list archive or a public IRC logger), please include a link. +- Any additional information that may be helpful. + +After filing a report, a representative will contact you personally, review the incident, follow up with any additional questions, and make a decision as to how to respond. If the person who is harassing you is part of the response team, they will recuse themselves from handling your incident. If the complaint originates from a member of the response team, it will be handled by a different member of the response team. We will respect confidentiality requests for the purpose of protecting victims of abuse. + +### Attribution & Acknowledgements + +We all stand on the shoulders of giants across many open source communities. We'd like to thank the communities and projects that established code of conducts and diversity statements as our inspiration: + +* [Django](https://www.djangoproject.com/conduct/reporting/) +* [Python](https://www.python.org/community/diversity/) +* [Ubuntu](http://www.ubuntu.com/about/about-ubuntu/conduct) +* [Contributor Covenant](http://contributor-covenant.org/) +* [Geek Feminism](http://geekfeminism.org/about/code-of-conduct/) +* [Citizen Code of Conduct](http://citizencodeofconduct.org/) + +This Code of Conduct was based on https://github.com/todogroup/opencodeofconduct diff --git a/vendor/github.com/NYTimes/gziphandler/CONTRIBUTING.md b/vendor/github.com/NYTimes/gziphandler/CONTRIBUTING.md new file mode 100755 index 0000000..b89a9eb --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/CONTRIBUTING.md @@ -0,0 +1,30 @@ +# Contributing to NYTimes/gziphandler + +This is an open source project started by handful of developers at The New York Times and open to the entire Go community. + +We really appreciate your help! + +## Filing issues + +When filing an issue, make sure to answer these five questions: + +1. What version of Go are you using (`go version`)? +2. What operating system and processor architecture are you using? +3. What did you do? +4. What did you expect to see? +5. What did you see instead? + +## Contributing code + +Before submitting changes, please follow these guidelines: + +1. Check the open issues and pull requests for existing discussions. +2. Open an issue to discuss a new feature. +3. Write tests. +4. Make sure code follows the ['Go Code Review Comments'](https://github.com/golang/go/wiki/CodeReviewComments). +5. Make sure your changes pass `go test`. +6. Make sure the entire test suite passes locally and on Travis CI. +7. Open a Pull Request. +8. [Squash your commits](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html) after receiving feedback and add a [great commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). + +Unless otherwise noted, the gziphandler source files are distributed under the Apache 2.0-style license found in the LICENSE.md file. diff --git a/vendor/github.com/NYTimes/gziphandler/LICENSE b/vendor/github.com/NYTimes/gziphandler/LICENSE new file mode 100755 index 0000000..df6192d --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2016-2017 The New York Times Company + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/NYTimes/gziphandler/README.md b/vendor/github.com/NYTimes/gziphandler/README.md new file mode 100755 index 0000000..6d72460 --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/README.md @@ -0,0 +1,52 @@ +Gzip Handler +============ + +This is a tiny Go package which wraps HTTP handlers to transparently gzip the +response body, for clients which support it. Although it's usually simpler to +leave that to a reverse proxy (like nginx or Varnish), this package is useful +when that's undesirable. + + +## Usage + +Call `GzipHandler` with any handler (an object which implements the +`http.Handler` interface), and it'll return a new handler which gzips the +response. For example: + +```go +package main + +import ( + "io" + "net/http" + "github.com/NYTimes/gziphandler" +) + +func main() { + withoutGz := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + io.WriteString(w, "Hello, World") + }) + + withGz := gziphandler.GzipHandler(withoutGz) + + http.Handle("/", withGz) + http.ListenAndServe("0.0.0.0:8000", nil) +} +``` + + +## Documentation + +The docs can be found at [godoc.org][docs], as usual. + + +## License + +[Apache 2.0][license]. + + + + +[docs]: https://godoc.org/github.com/nytimes/gziphandler +[license]: https://github.com/nytimes/gziphandler/blob/master/LICENSE.md diff --git a/vendor/github.com/NYTimes/gziphandler/gzip.go b/vendor/github.com/NYTimes/gziphandler/gzip.go new file mode 100755 index 0000000..f91dcfa --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/gzip.go @@ -0,0 +1,429 @@ +package gziphandler + +import ( + "bufio" + "compress/gzip" + "fmt" + "io" + "net" + "net/http" + "strconv" + "strings" + "sync" +) + +const ( + vary = "Vary" + acceptEncoding = "Accept-Encoding" + contentEncoding = "Content-Encoding" + contentType = "Content-Type" + contentLength = "Content-Length" +) + +type codings map[string]float64 + +const ( + // DefaultQValue is the default qvalue to assign to an encoding if no explicit qvalue is set. + // This is actually kind of ambiguous in RFC 2616, so hopefully it's correct. + // The examples seem to indicate that it is. + DefaultQValue = 1.0 + + // 1500 bytes is the MTU size for the internet since that is the largest size allowed at the network layer. + // If you take a file that is 1300 bytes and compress it to 800 bytes, it’s still transmitted in that same 1500 byte packet regardless, so you’ve gained nothing. + // That being the case, you should restrict the gzip compression to files with a size greater than a single packet, 1400 bytes (1.4KB) is a safe value. + DefaultMinSize = 1400 +) + +// gzipWriterPools stores a sync.Pool for each compression level for reuse of +// gzip.Writers. Use poolIndex to covert a compression level to an index into +// gzipWriterPools. +var gzipWriterPools [gzip.BestCompression - gzip.BestSpeed + 2]*sync.Pool + +func init() { + for i := gzip.BestSpeed; i <= gzip.BestCompression; i++ { + addLevelPool(i) + } + addLevelPool(gzip.DefaultCompression) +} + +// poolIndex maps a compression level to its index into gzipWriterPools. It +// assumes that level is a valid gzip compression level. +func poolIndex(level int) int { + // gzip.DefaultCompression == -1, so we need to treat it special. + if level == gzip.DefaultCompression { + return gzip.BestCompression - gzip.BestSpeed + 1 + } + return level - gzip.BestSpeed +} + +func addLevelPool(level int) { + gzipWriterPools[poolIndex(level)] = &sync.Pool{ + New: func() interface{} { + // NewWriterLevel only returns error on a bad level, we are guaranteeing + // that this will be a valid level so it is okay to ignore the returned + // error. + w, _ := gzip.NewWriterLevel(nil, level) + return w + }, + } +} + +// GzipResponseWriter provides an http.ResponseWriter interface, which gzips +// bytes before writing them to the underlying response. This doesn't close the +// writers, so don't forget to do that. +// It can be configured to skip response smaller than minSize. +type GzipResponseWriter struct { + http.ResponseWriter + index int // Index for gzipWriterPools. + gw *gzip.Writer + + code int // Saves the WriteHeader value. + + minSize int // Specifed the minimum response size to gzip. If the response length is bigger than this value, it is compressed. + buf []byte // Holds the first part of the write before reaching the minSize or the end of the write. + + contentTypes []string // Only compress if the response is one of these content-types. All are accepted if empty. +} + +type GzipResponseWriterWithCloseNotify struct { + *GzipResponseWriter +} + +func (w GzipResponseWriterWithCloseNotify) CloseNotify() <-chan bool { + return w.ResponseWriter.(http.CloseNotifier).CloseNotify() +} + +// Write appends data to the gzip writer. +func (w *GzipResponseWriter) Write(b []byte) (int, error) { + // If content type is not set. + if _, ok := w.Header()[contentType]; !ok { + // It infer it from the uncompressed body. + w.Header().Set(contentType, http.DetectContentType(b)) + } + + // GZIP responseWriter is initialized. Use the GZIP responseWriter. + if w.gw != nil { + n, err := w.gw.Write(b) + return n, err + } + + // Save the write into a buffer for later use in GZIP responseWriter (if content is long enough) or at close with regular responseWriter. + // On the first write, w.buf changes from nil to a valid slice + w.buf = append(w.buf, b...) + + // If the global writes are bigger than the minSize and we're about to write + // a response containing a content type we want to handle, enable + // compression. + if len(w.buf) >= w.minSize && handleContentType(w.contentTypes, w) && w.Header().Get(contentEncoding) == "" { + err := w.startGzip() + if err != nil { + return 0, err + } + } + + return len(b), nil +} + +// startGzip initialize any GZIP specific informations. +func (w *GzipResponseWriter) startGzip() error { + + // Set the GZIP header. + w.Header().Set(contentEncoding, "gzip") + + // if the Content-Length is already set, then calls to Write on gzip + // will fail to set the Content-Length header since its already set + // See: https://github.com/golang/go/issues/14975. + w.Header().Del(contentLength) + + // Write the header to gzip response. + if w.code != 0 { + w.ResponseWriter.WriteHeader(w.code) + } + + // Initialize the GZIP response. + w.init() + + // Flush the buffer into the gzip response. + n, err := w.gw.Write(w.buf) + + // This should never happen (per io.Writer docs), but if the write didn't + // accept the entire buffer but returned no specific error, we have no clue + // what's going on, so abort just to be safe. + if err == nil && n < len(w.buf) { + return io.ErrShortWrite + } + + w.buf = nil + return err +} + +// WriteHeader just saves the response code until close or GZIP effective writes. +func (w *GzipResponseWriter) WriteHeader(code int) { + if w.code == 0 { + w.code = code + } +} + +// init graps a new gzip writer from the gzipWriterPool and writes the correct +// content encoding header. +func (w *GzipResponseWriter) init() { + // Bytes written during ServeHTTP are redirected to this gzip writer + // before being written to the underlying response. + gzw := gzipWriterPools[w.index].Get().(*gzip.Writer) + gzw.Reset(w.ResponseWriter) + w.gw = gzw +} + +// Close will close the gzip.Writer and will put it back in the gzipWriterPool. +func (w *GzipResponseWriter) Close() error { + if w.gw == nil { + // Gzip not trigged yet, write out regular response. + if w.code != 0 { + w.ResponseWriter.WriteHeader(w.code) + } + if w.buf != nil { + _, writeErr := w.ResponseWriter.Write(w.buf) + // Returns the error if any at write. + if writeErr != nil { + return fmt.Errorf("gziphandler: write to regular responseWriter at close gets error: %q", writeErr.Error()) + } + } + return nil + } + + err := w.gw.Close() + gzipWriterPools[w.index].Put(w.gw) + w.gw = nil + return err +} + +// Flush flushes the underlying *gzip.Writer and then the underlying +// http.ResponseWriter if it is an http.Flusher. This makes GzipResponseWriter +// an http.Flusher. +func (w *GzipResponseWriter) Flush() { + if w.gw == nil { + // Only flush once startGzip has been called. + // + // Flush is thus a no-op until the written body + // exceeds minSize. + return + } + + w.gw.Flush() + + if fw, ok := w.ResponseWriter.(http.Flusher); ok { + fw.Flush() + } +} + +// Hijack implements http.Hijacker. If the underlying ResponseWriter is a +// Hijacker, its Hijack method is returned. Otherwise an error is returned. +func (w *GzipResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { + if hj, ok := w.ResponseWriter.(http.Hijacker); ok { + return hj.Hijack() + } + return nil, nil, fmt.Errorf("http.Hijacker interface is not supported") +} + +// verify Hijacker interface implementation +var _ http.Hijacker = &GzipResponseWriter{} + +// MustNewGzipLevelHandler behaves just like NewGzipLevelHandler except that in +// an error case it panics rather than returning an error. +func MustNewGzipLevelHandler(level int) func(http.Handler) http.Handler { + wrap, err := NewGzipLevelHandler(level) + if err != nil { + panic(err) + } + return wrap +} + +// NewGzipLevelHandler returns a wrapper function (often known as middleware) +// which can be used to wrap an HTTP handler to transparently gzip the response +// body if the client supports it (via the Accept-Encoding header). Responses will +// be encoded at the given gzip compression level. An error will be returned only +// if an invalid gzip compression level is given, so if one can ensure the level +// is valid, the returned error can be safely ignored. +func NewGzipLevelHandler(level int) (func(http.Handler) http.Handler, error) { + return NewGzipLevelAndMinSize(level, DefaultMinSize) +} + +// NewGzipLevelAndMinSize behave as NewGzipLevelHandler except it let the caller +// specify the minimum size before compression. +func NewGzipLevelAndMinSize(level, minSize int) (func(http.Handler) http.Handler, error) { + return GzipHandlerWithOpts(CompressionLevel(level), MinSize(minSize)) +} + +func GzipHandlerWithOpts(opts ...option) (func(http.Handler) http.Handler, error) { + c := &config{ + level: gzip.DefaultCompression, + minSize: DefaultMinSize, + } + + for _, o := range opts { + o(c) + } + + if err := c.validate(); err != nil { + return nil, err + } + + return func(h http.Handler) http.Handler { + index := poolIndex(c.level) + + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Add(vary, acceptEncoding) + if acceptsGzip(r) { + gw := &GzipResponseWriter{ + ResponseWriter: w, + index: index, + minSize: c.minSize, + contentTypes: c.contentTypes, + } + defer gw.Close() + + if _, ok := w.(http.CloseNotifier); ok { + gwcn := GzipResponseWriterWithCloseNotify{gw} + h.ServeHTTP(gwcn, r) + } else { + h.ServeHTTP(gw, r) + } + + } else { + h.ServeHTTP(w, r) + } + }) + }, nil +} + +// Used for functional configuration. +type config struct { + minSize int + level int + contentTypes []string +} + +func (c *config) validate() error { + if c.level != gzip.DefaultCompression && (c.level < gzip.BestSpeed || c.level > gzip.BestCompression) { + return fmt.Errorf("invalid compression level requested: %d", c.level) + } + + if c.minSize < 0 { + return fmt.Errorf("minimum size must be more than zero") + } + + return nil +} + +type option func(c *config) + +func MinSize(size int) option { + return func(c *config) { + c.minSize = size + } +} + +func CompressionLevel(level int) option { + return func(c *config) { + c.level = level + } +} + +func ContentTypes(types []string) option { + return func(c *config) { + c.contentTypes = []string{} + for _, v := range types { + c.contentTypes = append(c.contentTypes, strings.ToLower(v)) + } + } +} + +// GzipHandler wraps an HTTP handler, to transparently gzip the response body if +// the client supports it (via the Accept-Encoding header). This will compress at +// the default compression level. +func GzipHandler(h http.Handler) http.Handler { + wrapper, _ := NewGzipLevelHandler(gzip.DefaultCompression) + return wrapper(h) +} + +// acceptsGzip returns true if the given HTTP request indicates that it will +// accept a gzipped response. +func acceptsGzip(r *http.Request) bool { + acceptedEncodings, _ := parseEncodings(r.Header.Get(acceptEncoding)) + return acceptedEncodings["gzip"] > 0.0 +} + +// returns true if we've been configured to compress the specific content type. +func handleContentType(contentTypes []string, w http.ResponseWriter) bool { + // If contentTypes is empty we handle all content types. + if len(contentTypes) == 0 { + return true + } + + ct := strings.ToLower(w.Header().Get(contentType)) + for _, c := range contentTypes { + if c == ct { + return true + } + } + + return false +} + +// parseEncodings attempts to parse a list of codings, per RFC 2616, as might +// appear in an Accept-Encoding header. It returns a map of content-codings to +// quality values, and an error containing the errors encountered. It's probably +// safe to ignore those, because silently ignoring errors is how the internet +// works. +// +// See: http://tools.ietf.org/html/rfc2616#section-14.3. +func parseEncodings(s string) (codings, error) { + c := make(codings) + var e []string + + for _, ss := range strings.Split(s, ",") { + coding, qvalue, err := parseCoding(ss) + + if err != nil { + e = append(e, err.Error()) + } else { + c[coding] = qvalue + } + } + + // TODO (adammck): Use a proper multi-error struct, so the individual errors + // can be extracted if anyone cares. + if len(e) > 0 { + return c, fmt.Errorf("errors while parsing encodings: %s", strings.Join(e, ", ")) + } + + return c, nil +} + +// parseCoding parses a single conding (content-coding with an optional qvalue), +// as might appear in an Accept-Encoding header. It attempts to forgive minor +// formatting errors. +func parseCoding(s string) (coding string, qvalue float64, err error) { + for n, part := range strings.Split(s, ";") { + part = strings.TrimSpace(part) + qvalue = DefaultQValue + + if n == 0 { + coding = strings.ToLower(part) + } else if strings.HasPrefix(part, "q=") { + qvalue, err = strconv.ParseFloat(strings.TrimPrefix(part, "q="), 64) + + if qvalue < 0.0 { + qvalue = 0.0 + } else if qvalue > 1.0 { + qvalue = 1.0 + } + } + } + + if coding == "" { + err = fmt.Errorf("empty content-coding") + } + + return +} diff --git a/vendor/github.com/NYTimes/gziphandler/gzip_go18.go b/vendor/github.com/NYTimes/gziphandler/gzip_go18.go new file mode 100755 index 0000000..fa9665b --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/gzip_go18.go @@ -0,0 +1,43 @@ +// +build go1.8 + +package gziphandler + +import "net/http" + +// Push initiates an HTTP/2 server push. +// Push returns ErrNotSupported if the client has disabled push or if push +// is not supported on the underlying connection. +func (w *GzipResponseWriter) Push(target string, opts *http.PushOptions) error { + pusher, ok := w.ResponseWriter.(http.Pusher) + if ok && pusher != nil { + return pusher.Push(target, setAcceptEncodingForPushOptions(opts)) + } + return http.ErrNotSupported +} + +// setAcceptEncodingForPushOptions sets "Accept-Encoding" : "gzip" for PushOptions without overriding existing headers. +func setAcceptEncodingForPushOptions(opts *http.PushOptions) *http.PushOptions { + + if opts == nil { + opts = &http.PushOptions{ + Header: http.Header{ + acceptEncoding: []string{"gzip"}, + }, + } + return opts + } + + if opts.Header == nil { + opts.Header = http.Header{ + acceptEncoding: []string{"gzip"}, + } + return opts + } + + if encoding := opts.Header.Get(acceptEncoding); encoding == "" { + opts.Header.Add(acceptEncoding, "gzip") + return opts + } + + return opts +} diff --git a/vendor/github.com/boltdb/bolt/README.md b/vendor/github.com/boltdb/bolt/README.md index 8523e33..7d43a15 100755 --- a/vendor/github.com/boltdb/bolt/README.md +++ b/vendor/github.com/boltdb/bolt/README.md @@ -15,11 +15,11 @@ and setting values. That's it. ## Project Status -Bolt is stable and the API is fixed. Full unit test coverage and randomized -black box testing are used to ensure database consistency and thread safety. -Bolt is currently in high-load production environments serving databases as -large as 1TB. Many companies such as Shopify and Heroku use Bolt-backed -services every day. +Bolt is stable, the API is fixed, and the file format is fixed. Full unit +test coverage and randomized black box testing are used to ensure database +consistency and thread safety. Bolt is currently used in high-load production +environments serving databases as large as 1TB. Many companies such as +Shopify and Heroku use Bolt-backed services every day. ## Table of Contents @@ -209,7 +209,7 @@ and then safely close your transaction if an error is returned. This is the recommended way to use Bolt transactions. However, sometimes you may want to manually start and end your transactions. -You can use the `Tx.Begin()` function directly but **please** be sure to close +You can use the `DB.Begin()` function directly but **please** be sure to close the transaction. ```go @@ -395,7 +395,7 @@ db.View(func(tx *bolt.Tx) error { c := tx.Bucket([]byte("MyBucket")).Cursor() prefix := []byte("1234") - for k, v := c.Seek(prefix); bytes.HasPrefix(k, prefix); k, v = c.Next() { + for k, v := c.Seek(prefix); k != nil && bytes.HasPrefix(k, prefix); k, v = c.Next() { fmt.Printf("key=%s, value=%s\n", k, v) } @@ -448,6 +448,10 @@ db.View(func(tx *bolt.Tx) error { }) ``` +Please note that keys and values in `ForEach()` are only valid while +the transaction is open. If you need to use a key or value outside of +the transaction, you must use `copy()` to copy it to another byte +slice. ### Nested buckets @@ -460,6 +464,55 @@ func (*Bucket) CreateBucketIfNotExists(key []byte) (*Bucket, error) func (*Bucket) DeleteBucket(key []byte) error ``` +Say you had a multi-tenant application where the root level bucket was the account bucket. Inside of this bucket was a sequence of accounts which themselves are buckets. And inside the sequence bucket you could have many buckets pertaining to the Account itself (Users, Notes, etc) isolating the information into logical groupings. + +```go + +// createUser creates a new user in the given account. +func createUser(accountID int, u *User) error { + // Start the transaction. + tx, err := db.Begin(true) + if err != nil { + return err + } + defer tx.Rollback() + + // Retrieve the root bucket for the account. + // Assume this has already been created when the account was set up. + root := tx.Bucket([]byte(strconv.FormatUint(accountID, 10))) + + // Setup the users bucket. + bkt, err := root.CreateBucketIfNotExists([]byte("USERS")) + if err != nil { + return err + } + + // Generate an ID for the new user. + userID, err := bkt.NextSequence() + if err != nil { + return err + } + u.ID = userID + + // Marshal and save the encoded user. + if buf, err := json.Marshal(u); err != nil { + return err + } else if err := bkt.Put([]byte(strconv.FormatUint(u.ID, 10)), buf); err != nil { + return err + } + + // Commit the transaction. + if err := tx.Commit(); err != nil { + return err + } + + return nil +} + +``` + + + ### Database backups @@ -715,6 +768,9 @@ Here are a few things to note when evaluating and using Bolt: can be reused by a new page or can be unmapped from virtual memory and you'll see an `unexpected fault address` panic when accessing it. +* Bolt uses an exclusive write lock on the database file so it cannot be + shared by multiple processes. + * Be careful when using `Bucket.FillPercent`. Setting a high fill percent for buckets that have random inserts will cause your database to have very poor page utilization. @@ -848,5 +904,13 @@ Below is a list of public, open source projects that use Bolt: * [Algernon](https://github.com/xyproto/algernon) - A HTTP/2 web server with built-in support for Lua. Uses BoltDB as the default database backend. * [MuLiFS](https://github.com/dankomiocevic/mulifs) - Music Library Filesystem creates a filesystem to organise your music files. * [GoShort](https://github.com/pankajkhairnar/goShort) - GoShort is a URL shortener written in Golang and BoltDB for persistent key/value storage and for routing it's using high performent HTTPRouter. +* [torrent](https://github.com/anacrolix/torrent) - Full-featured BitTorrent client package and utilities in Go. BoltDB is a storage backend in development. +* [gopherpit](https://github.com/gopherpit/gopherpit) - A web service to manage Go remote import paths with custom domains +* [bolter](https://github.com/hasit/bolter) - Command-line app for viewing BoltDB file in your terminal. +* [btcwallet](https://github.com/btcsuite/btcwallet) - A bitcoin wallet. +* [dcrwallet](https://github.com/decred/dcrwallet) - A wallet for the Decred cryptocurrency. +* [Ironsmith](https://github.com/timshannon/ironsmith) - A simple, script-driven continuous integration (build - > test -> release) tool, with no external dependencies +* [BoltHold](https://github.com/timshannon/bolthold) - An embeddable NoSQL store for Go types built on BoltDB +* [Ponzu CMS](https://ponzu-cms.org) - Headless CMS + automatic JSON API with auto-HTTPS, HTTP/2 Server Push, and flexible server framework. If you are using Bolt in a project please send a pull request to add it to the list. diff --git a/vendor/github.com/boltdb/bolt/bolt_386.go b/vendor/github.com/boltdb/bolt/bolt_386.go index e659bfb..820d533 100755 --- a/vendor/github.com/boltdb/bolt/bolt_386.go +++ b/vendor/github.com/boltdb/bolt/bolt_386.go @@ -5,3 +5,6 @@ const maxMapSize = 0x7FFFFFFF // 2GB // maxAllocSize is the size used when creating array pointers. const maxAllocSize = 0xFFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/github.com/boltdb/bolt/bolt_amd64.go b/vendor/github.com/boltdb/bolt/bolt_amd64.go index cca6b7e..98fafdb 100755 --- a/vendor/github.com/boltdb/bolt/bolt_amd64.go +++ b/vendor/github.com/boltdb/bolt/bolt_amd64.go @@ -5,3 +5,6 @@ const maxMapSize = 0xFFFFFFFFFFFF // 256TB // maxAllocSize is the size used when creating array pointers. const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/github.com/boltdb/bolt/bolt_arm.go b/vendor/github.com/boltdb/bolt/bolt_arm.go index e659bfb..7e5cb4b 100755 --- a/vendor/github.com/boltdb/bolt/bolt_arm.go +++ b/vendor/github.com/boltdb/bolt/bolt_arm.go @@ -1,7 +1,28 @@ package bolt +import "unsafe" + // maxMapSize represents the largest mmap size supported by Bolt. const maxMapSize = 0x7FFFFFFF // 2GB // maxAllocSize is the size used when creating array pointers. const maxAllocSize = 0xFFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned bool + +func init() { + // Simple check to see whether this arch handles unaligned load/stores + // correctly. + + // ARM9 and older devices require load/stores to be from/to aligned + // addresses. If not, the lower 2 bits are cleared and that address is + // read in a jumbled up order. + + // See http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka15414.html + + raw := [6]byte{0xfe, 0xef, 0x11, 0x22, 0x22, 0x11} + val := *(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&raw)) + 2)) + + brokenUnaligned = val != 0x11222211 +} diff --git a/vendor/github.com/boltdb/bolt/bolt_arm64.go b/vendor/github.com/boltdb/bolt/bolt_arm64.go index 6d23093..b26d84f 100755 --- a/vendor/github.com/boltdb/bolt/bolt_arm64.go +++ b/vendor/github.com/boltdb/bolt/bolt_arm64.go @@ -7,3 +7,6 @@ const maxMapSize = 0xFFFFFFFFFFFF // 256TB // maxAllocSize is the size used when creating array pointers. const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/github.com/boltdb/bolt/bolt_ppc64.go b/vendor/github.com/boltdb/bolt/bolt_ppc64.go index 2dc6be0..9331d97 100755 --- a/vendor/github.com/boltdb/bolt/bolt_ppc64.go +++ b/vendor/github.com/boltdb/bolt/bolt_ppc64.go @@ -7,3 +7,6 @@ const maxMapSize = 0xFFFFFFFFFFFF // 256TB // maxAllocSize is the size used when creating array pointers. const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/github.com/boltdb/bolt/bolt_ppc64le.go b/vendor/github.com/boltdb/bolt/bolt_ppc64le.go index 8351e12..8c143bc 100755 --- a/vendor/github.com/boltdb/bolt/bolt_ppc64le.go +++ b/vendor/github.com/boltdb/bolt/bolt_ppc64le.go @@ -7,3 +7,6 @@ const maxMapSize = 0xFFFFFFFFFFFF // 256TB // maxAllocSize is the size used when creating array pointers. const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/github.com/boltdb/bolt/bolt_s390x.go b/vendor/github.com/boltdb/bolt/bolt_s390x.go index f4dd26b..d7c39af 100755 --- a/vendor/github.com/boltdb/bolt/bolt_s390x.go +++ b/vendor/github.com/boltdb/bolt/bolt_s390x.go @@ -7,3 +7,6 @@ const maxMapSize = 0xFFFFFFFFFFFF // 256TB // maxAllocSize is the size used when creating array pointers. const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/github.com/boltdb/bolt/bolt_windows.go b/vendor/github.com/boltdb/bolt/bolt_windows.go index d538e6a..b00fb07 100755 --- a/vendor/github.com/boltdb/bolt/bolt_windows.go +++ b/vendor/github.com/boltdb/bolt/bolt_windows.go @@ -89,7 +89,7 @@ func flock(db *DB, mode os.FileMode, exclusive bool, timeout time.Duration) erro func funlock(db *DB) error { err := unlockFileEx(syscall.Handle(db.lockfile.Fd()), 0, 1, 0, &syscall.Overlapped{}) db.lockfile.Close() - os.Remove(db.path+lockExt) + os.Remove(db.path + lockExt) return err } diff --git a/vendor/github.com/boltdb/bolt/bucket.go b/vendor/github.com/boltdb/bolt/bucket.go index d2f8c52..0c5bf27 100755 --- a/vendor/github.com/boltdb/bolt/bucket.go +++ b/vendor/github.com/boltdb/bolt/bucket.go @@ -130,9 +130,17 @@ func (b *Bucket) Bucket(name []byte) *Bucket { func (b *Bucket) openBucket(value []byte) *Bucket { var child = newBucket(b.tx) + // If unaligned load/stores are broken on this arch and value is + // unaligned simply clone to an aligned byte array. + unaligned := brokenUnaligned && uintptr(unsafe.Pointer(&value[0]))&3 != 0 + + if unaligned { + value = cloneBytes(value) + } + // If this is a writable transaction then we need to copy the bucket entry. // Read-only transactions can point directly at the mmap entry. - if b.tx.writable { + if b.tx.writable && !unaligned { child.bucket = &bucket{} *child.bucket = *(*bucket)(unsafe.Pointer(&value[0])) } else { @@ -167,9 +175,8 @@ func (b *Bucket) CreateBucket(key []byte) (*Bucket, error) { if bytes.Equal(key, k) { if (flags & bucketLeafFlag) != 0 { return nil, ErrBucketExists - } else { - return nil, ErrIncompatibleValue } + return nil, ErrIncompatibleValue } // Create empty, inline bucket. @@ -329,6 +336,28 @@ func (b *Bucket) Delete(key []byte) error { return nil } +// Sequence returns the current integer for the bucket without incrementing it. +func (b *Bucket) Sequence() uint64 { return b.bucket.sequence } + +// SetSequence updates the sequence number for the bucket. +func (b *Bucket) SetSequence(v uint64) error { + if b.tx.db == nil { + return ErrTxClosed + } else if !b.Writable() { + return ErrTxNotWritable + } + + // Materialize the root node if it hasn't been already so that the + // bucket will be saved during commit. + if b.rootNode == nil { + _ = b.node(b.root, nil) + } + + // Increment and return the sequence. + b.bucket.sequence = v + return nil +} + // NextSequence returns an autoincrementing integer for the bucket. func (b *Bucket) NextSequence() (uint64, error) { if b.tx.db == nil { diff --git a/vendor/github.com/boltdb/bolt/db.go b/vendor/github.com/boltdb/bolt/db.go index 1223493..f352ff1 100755 --- a/vendor/github.com/boltdb/bolt/db.go +++ b/vendor/github.com/boltdb/bolt/db.go @@ -552,7 +552,10 @@ func (db *DB) removeTx(tx *Tx) { // Remove the transaction. for i, t := range db.txs { if t == tx { - db.txs = append(db.txs[:i], db.txs[i+1:]...) + last := len(db.txs) - 1 + db.txs[i] = db.txs[last] + db.txs[last] = nil + db.txs = db.txs[:last] break } } @@ -952,7 +955,7 @@ func (s *Stats) Sub(other *Stats) Stats { diff.PendingPageN = s.PendingPageN diff.FreeAlloc = s.FreeAlloc diff.FreelistInuse = s.FreelistInuse - diff.TxN = other.TxN - s.TxN + diff.TxN = s.TxN - other.TxN diff.TxStats = s.TxStats.Sub(&other.TxStats) return diff } diff --git a/vendor/github.com/boltdb/bolt/freelist.go b/vendor/github.com/boltdb/bolt/freelist.go index 1b7ba91..aba48f5 100755 --- a/vendor/github.com/boltdb/bolt/freelist.go +++ b/vendor/github.com/boltdb/bolt/freelist.go @@ -24,7 +24,12 @@ func newFreelist() *freelist { // size returns the size of the page after serialization. func (f *freelist) size() int { - return pageHeaderSize + (int(unsafe.Sizeof(pgid(0))) * f.count()) + n := f.count() + if n >= 0xFFFF { + // The first element will be used to store the count. See freelist.write. + n++ + } + return pageHeaderSize + (int(unsafe.Sizeof(pgid(0))) * n) } // count returns count of pages on the freelist @@ -46,16 +51,15 @@ func (f *freelist) pending_count() int { return count } -// all returns a list of all free ids and all pending ids in one sorted list. -func (f *freelist) all() []pgid { - m := make(pgids, 0) - +// copyall copies into dst a list of all free ids and all pending ids in one sorted list. +// f.count returns the minimum length required for dst. +func (f *freelist) copyall(dst []pgid) { + m := make(pgids, 0, f.pending_count()) for _, list := range f.pending { m = append(m, list...) } - sort.Sort(m) - return pgids(f.ids).merge(m) + mergepgids(dst, f.ids, m) } // allocate returns the starting page id of a contiguous list of pages of a given size. @@ -186,22 +190,22 @@ func (f *freelist) read(p *page) { // become free. func (f *freelist) write(p *page) error { // Combine the old free pgids and pgids waiting on an open transaction. - ids := f.all() // Update the header flag. p.flags |= freelistPageFlag // The page.count can only hold up to 64k elements so if we overflow that // number then we handle it by putting the size in the first element. - if len(ids) == 0 { - p.count = uint16(len(ids)) - } else if len(ids) < 0xFFFF { - p.count = uint16(len(ids)) - copy(((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[:], ids) + lenids := f.count() + if lenids == 0 { + p.count = uint16(lenids) + } else if lenids < 0xFFFF { + p.count = uint16(lenids) + f.copyall(((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[:]) } else { p.count = 0xFFFF - ((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[0] = pgid(len(ids)) - copy(((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[1:], ids) + ((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[0] = pgid(lenids) + f.copyall(((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[1:]) } return nil @@ -236,7 +240,7 @@ func (f *freelist) reload(p *page) { // reindex rebuilds the free cache based on available and pending free lists. func (f *freelist) reindex() { - f.cache = make(map[pgid]bool) + f.cache = make(map[pgid]bool, len(f.ids)) for _, id := range f.ids { f.cache[id] = true } diff --git a/vendor/github.com/boltdb/bolt/page.go b/vendor/github.com/boltdb/bolt/page.go index 7651a6b..cde403a 100755 --- a/vendor/github.com/boltdb/bolt/page.go +++ b/vendor/github.com/boltdb/bolt/page.go @@ -145,12 +145,33 @@ func (a pgids) merge(b pgids) pgids { // Return the opposite slice if one is nil. if len(a) == 0 { return b - } else if len(b) == 0 { + } + if len(b) == 0 { return a } + merged := make(pgids, len(a)+len(b)) + mergepgids(merged, a, b) + return merged +} + +// mergepgids copies the sorted union of a and b into dst. +// If dst is too small, it panics. +func mergepgids(dst, a, b pgids) { + if len(dst) < len(a)+len(b) { + panic(fmt.Errorf("mergepgids bad len %d < %d + %d", len(dst), len(a), len(b))) + } + // Copy in the opposite slice if one is nil. + if len(a) == 0 { + copy(dst, b) + return + } + if len(b) == 0 { + copy(dst, a) + return + } - // Create a list to hold all elements from both lists. - merged := make(pgids, 0, len(a)+len(b)) + // Merged will hold all elements from both lists. + merged := dst[:0] // Assign lead to the slice with a lower starting value, follow to the higher value. lead, follow := a, b @@ -172,7 +193,5 @@ func (a pgids) merge(b pgids) pgids { } // Append what's left in follow. - merged = append(merged, follow...) - - return merged + _ = append(merged, follow...) } diff --git a/vendor/github.com/boltdb/bolt/tx.go b/vendor/github.com/boltdb/bolt/tx.go index 1cfb4cd..6700308 100755 --- a/vendor/github.com/boltdb/bolt/tx.go +++ b/vendor/github.com/boltdb/bolt/tx.go @@ -381,7 +381,9 @@ func (tx *Tx) Check() <-chan error { func (tx *Tx) check(ch chan error) { // Check if any pages are double freed. freed := make(map[pgid]bool) - for _, id := range tx.db.freelist.all() { + all := make([]pgid, tx.db.freelist.count()) + tx.db.freelist.copyall(all) + for _, id := range all { if freed[id] { ch <- fmt.Errorf("page %d: already freed", id) } diff --git a/vendor/github.com/fsnotify/fsnotify/.editorconfig b/vendor/github.com/fsnotify/fsnotify/.editorconfig new file mode 100755 index 0000000..ba49e3c --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/.editorconfig @@ -0,0 +1,5 @@ +root = true + +[*] +indent_style = tab +indent_size = 4 diff --git a/vendor/github.com/fsnotify/fsnotify/.gitignore b/vendor/github.com/fsnotify/fsnotify/.gitignore new file mode 100755 index 0000000..4cd0cba --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/.gitignore @@ -0,0 +1,6 @@ +# Setup a Global .gitignore for OS and editor generated files: +# https://help.github.com/articles/ignoring-files +# git config --global core.excludesfile ~/.gitignore_global + +.vagrant +*.sublime-project diff --git a/vendor/github.com/fsnotify/fsnotify/.travis.yml b/vendor/github.com/fsnotify/fsnotify/.travis.yml new file mode 100755 index 0000000..981d1bb --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/.travis.yml @@ -0,0 +1,30 @@ +sudo: false +language: go + +go: + - 1.8.x + - 1.9.x + - tip + +matrix: + allow_failures: + - go: tip + fast_finish: true + +before_script: + - go get -u github.com/golang/lint/golint + +script: + - go test -v --race ./... + +after_script: + - test -z "$(gofmt -s -l -w . | tee /dev/stderr)" + - test -z "$(golint ./... | tee /dev/stderr)" + - go vet ./... + +os: + - linux + - osx + +notifications: + email: false diff --git a/vendor/github.com/fsnotify/fsnotify/AUTHORS b/vendor/github.com/fsnotify/fsnotify/AUTHORS new file mode 100755 index 0000000..5ab5d41 --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/AUTHORS @@ -0,0 +1,52 @@ +# Names should be added to this file as +# Name or Organization +# The email address is not required for organizations. + +# You can update this list using the following command: +# +# $ git shortlog -se | awk '{print $2 " " $3 " " $4}' + +# Please keep the list sorted. + +Aaron L +Adrien Bustany +Amit Krishnan +Anmol Sethi +Bjørn Erik Pedersen +Bruno Bigras +Caleb Spare +Case Nelson +Chris Howey +Christoffer Buchholz +Daniel Wagner-Hall +Dave Cheney +Evan Phoenix +Francisco Souza +Hari haran +John C Barstow +Kelvin Fo +Ken-ichirou MATSUZAWA +Matt Layher +Nathan Youngman +Nickolai Zeldovich +Patrick +Paul Hammond +Pawel Knap +Pieter Droogendijk +Pursuit92 +Riku Voipio +Rob Figueiredo +Rodrigo Chiossi +Slawek Ligus +Soge Zhang +Tiffany Jernigan +Tilak Sharma +Tom Payne +Travis Cline +Tudor Golubenco +Vahe Khachikyan +Yukang +bronze1man +debrando +henrikedwards +铁哥 diff --git a/vendor/github.com/fsnotify/fsnotify/CHANGELOG.md b/vendor/github.com/fsnotify/fsnotify/CHANGELOG.md new file mode 100755 index 0000000..be4d7ea --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/CHANGELOG.md @@ -0,0 +1,317 @@ +# Changelog + +## v1.4.7 / 2018-01-09 + +* BSD/macOS: Fix possible deadlock on closing the watcher on kqueue (thanks @nhooyr and @glycerine) +* Tests: Fix missing verb on format string (thanks @rchiossi) +* Linux: Fix deadlock in Remove (thanks @aarondl) +* Linux: Watch.Add improvements (avoid race, fix consistency, reduce garbage) (thanks @twpayne) +* Docs: Moved FAQ into the README (thanks @vahe) +* Linux: Properly handle inotify's IN_Q_OVERFLOW event (thanks @zeldovich) +* Docs: replace references to OS X with macOS + +## v1.4.2 / 2016-10-10 + +* Linux: use InotifyInit1 with IN_CLOEXEC to stop leaking a file descriptor to a child process when using fork/exec [#178](https://github.com/fsnotify/fsnotify/pull/178) (thanks @pattyshack) + +## v1.4.1 / 2016-10-04 + +* Fix flaky inotify stress test on Linux [#177](https://github.com/fsnotify/fsnotify/pull/177) (thanks @pattyshack) + +## v1.4.0 / 2016-10-01 + +* add a String() method to Event.Op [#165](https://github.com/fsnotify/fsnotify/pull/165) (thanks @oozie) + +## v1.3.1 / 2016-06-28 + +* Windows: fix for double backslash when watching the root of a drive [#151](https://github.com/fsnotify/fsnotify/issues/151) (thanks @brunoqc) + +## v1.3.0 / 2016-04-19 + +* Support linux/arm64 by [patching](https://go-review.googlesource.com/#/c/21971/) x/sys/unix and switching to to it from syscall (thanks @suihkulokki) [#135](https://github.com/fsnotify/fsnotify/pull/135) + +## v1.2.10 / 2016-03-02 + +* Fix golint errors in windows.go [#121](https://github.com/fsnotify/fsnotify/pull/121) (thanks @tiffanyfj) + +## v1.2.9 / 2016-01-13 + +kqueue: Fix logic for CREATE after REMOVE [#111](https://github.com/fsnotify/fsnotify/pull/111) (thanks @bep) + +## v1.2.8 / 2015-12-17 + +* kqueue: fix race condition in Close [#105](https://github.com/fsnotify/fsnotify/pull/105) (thanks @djui for reporting the issue and @ppknap for writing a failing test) +* inotify: fix race in test +* enable race detection for continuous integration (Linux, Mac, Windows) + +## v1.2.5 / 2015-10-17 + +* inotify: use epoll_create1 for arm64 support (requires Linux 2.6.27 or later) [#100](https://github.com/fsnotify/fsnotify/pull/100) (thanks @suihkulokki) +* inotify: fix path leaks [#73](https://github.com/fsnotify/fsnotify/pull/73) (thanks @chamaken) +* kqueue: watch for rename events on subdirectories [#83](https://github.com/fsnotify/fsnotify/pull/83) (thanks @guotie) +* kqueue: avoid infinite loops from symlinks cycles [#101](https://github.com/fsnotify/fsnotify/pull/101) (thanks @illicitonion) + +## v1.2.1 / 2015-10-14 + +* kqueue: don't watch named pipes [#98](https://github.com/fsnotify/fsnotify/pull/98) (thanks @evanphx) + +## v1.2.0 / 2015-02-08 + +* inotify: use epoll to wake up readEvents [#66](https://github.com/fsnotify/fsnotify/pull/66) (thanks @PieterD) +* inotify: closing watcher should now always shut down goroutine [#63](https://github.com/fsnotify/fsnotify/pull/63) (thanks @PieterD) +* kqueue: close kqueue after removing watches, fixes [#59](https://github.com/fsnotify/fsnotify/issues/59) + +## v1.1.1 / 2015-02-05 + +* inotify: Retry read on EINTR [#61](https://github.com/fsnotify/fsnotify/issues/61) (thanks @PieterD) + +## v1.1.0 / 2014-12-12 + +* kqueue: rework internals [#43](https://github.com/fsnotify/fsnotify/pull/43) + * add low-level functions + * only need to store flags on directories + * less mutexes [#13](https://github.com/fsnotify/fsnotify/issues/13) + * done can be an unbuffered channel + * remove calls to os.NewSyscallError +* More efficient string concatenation for Event.String() [#52](https://github.com/fsnotify/fsnotify/pull/52) (thanks @mdlayher) +* kqueue: fix regression in rework causing subdirectories to be watched [#48](https://github.com/fsnotify/fsnotify/issues/48) +* kqueue: cleanup internal watch before sending remove event [#51](https://github.com/fsnotify/fsnotify/issues/51) + +## v1.0.4 / 2014-09-07 + +* kqueue: add dragonfly to the build tags. +* Rename source code files, rearrange code so exported APIs are at the top. +* Add done channel to example code. [#37](https://github.com/fsnotify/fsnotify/pull/37) (thanks @chenyukang) + +## v1.0.3 / 2014-08-19 + +* [Fix] Windows MOVED_TO now translates to Create like on BSD and Linux. [#36](https://github.com/fsnotify/fsnotify/issues/36) + +## v1.0.2 / 2014-08-17 + +* [Fix] Missing create events on macOS. [#14](https://github.com/fsnotify/fsnotify/issues/14) (thanks @zhsso) +* [Fix] Make ./path and path equivalent. (thanks @zhsso) + +## v1.0.0 / 2014-08-15 + +* [API] Remove AddWatch on Windows, use Add. +* Improve documentation for exported identifiers. [#30](https://github.com/fsnotify/fsnotify/issues/30) +* Minor updates based on feedback from golint. + +## dev / 2014-07-09 + +* Moved to [github.com/fsnotify/fsnotify](https://github.com/fsnotify/fsnotify). +* Use os.NewSyscallError instead of returning errno (thanks @hariharan-uno) + +## dev / 2014-07-04 + +* kqueue: fix incorrect mutex used in Close() +* Update example to demonstrate usage of Op. + +## dev / 2014-06-28 + +* [API] Don't set the Write Op for attribute notifications [#4](https://github.com/fsnotify/fsnotify/issues/4) +* Fix for String() method on Event (thanks Alex Brainman) +* Don't build on Plan 9 or Solaris (thanks @4ad) + +## dev / 2014-06-21 + +* Events channel of type Event rather than *Event. +* [internal] use syscall constants directly for inotify and kqueue. +* [internal] kqueue: rename events to kevents and fileEvent to event. + +## dev / 2014-06-19 + +* Go 1.3+ required on Windows (uses syscall.ERROR_MORE_DATA internally). +* [internal] remove cookie from Event struct (unused). +* [internal] Event struct has the same definition across every OS. +* [internal] remove internal watch and removeWatch methods. + +## dev / 2014-06-12 + +* [API] Renamed Watch() to Add() and RemoveWatch() to Remove(). +* [API] Pluralized channel names: Events and Errors. +* [API] Renamed FileEvent struct to Event. +* [API] Op constants replace methods like IsCreate(). + +## dev / 2014-06-12 + +* Fix data race on kevent buffer (thanks @tilaks) [#98](https://github.com/howeyc/fsnotify/pull/98) + +## dev / 2014-05-23 + +* [API] Remove current implementation of WatchFlags. + * current implementation doesn't take advantage of OS for efficiency + * provides little benefit over filtering events as they are received, but has extra bookkeeping and mutexes + * no tests for the current implementation + * not fully implemented on Windows [#93](https://github.com/howeyc/fsnotify/issues/93#issuecomment-39285195) + +## v0.9.3 / 2014-12-31 + +* kqueue: cleanup internal watch before sending remove event [#51](https://github.com/fsnotify/fsnotify/issues/51) + +## v0.9.2 / 2014-08-17 + +* [Backport] Fix missing create events on macOS. [#14](https://github.com/fsnotify/fsnotify/issues/14) (thanks @zhsso) + +## v0.9.1 / 2014-06-12 + +* Fix data race on kevent buffer (thanks @tilaks) [#98](https://github.com/howeyc/fsnotify/pull/98) + +## v0.9.0 / 2014-01-17 + +* IsAttrib() for events that only concern a file's metadata [#79][] (thanks @abustany) +* [Fix] kqueue: fix deadlock [#77][] (thanks @cespare) +* [NOTICE] Development has moved to `code.google.com/p/go.exp/fsnotify` in preparation for inclusion in the Go standard library. + +## v0.8.12 / 2013-11-13 + +* [API] Remove FD_SET and friends from Linux adapter + +## v0.8.11 / 2013-11-02 + +* [Doc] Add Changelog [#72][] (thanks @nathany) +* [Doc] Spotlight and double modify events on macOS [#62][] (reported by @paulhammond) + +## v0.8.10 / 2013-10-19 + +* [Fix] kqueue: remove file watches when parent directory is removed [#71][] (reported by @mdwhatcott) +* [Fix] kqueue: race between Close and readEvents [#70][] (reported by @bernerdschaefer) +* [Doc] specify OS-specific limits in README (thanks @debrando) + +## v0.8.9 / 2013-09-08 + +* [Doc] Contributing (thanks @nathany) +* [Doc] update package path in example code [#63][] (thanks @paulhammond) +* [Doc] GoCI badge in README (Linux only) [#60][] +* [Doc] Cross-platform testing with Vagrant [#59][] (thanks @nathany) + +## v0.8.8 / 2013-06-17 + +* [Fix] Windows: handle `ERROR_MORE_DATA` on Windows [#49][] (thanks @jbowtie) + +## v0.8.7 / 2013-06-03 + +* [API] Make syscall flags internal +* [Fix] inotify: ignore event changes +* [Fix] race in symlink test [#45][] (reported by @srid) +* [Fix] tests on Windows +* lower case error messages + +## v0.8.6 / 2013-05-23 + +* kqueue: Use EVT_ONLY flag on Darwin +* [Doc] Update README with full example + +## v0.8.5 / 2013-05-09 + +* [Fix] inotify: allow monitoring of "broken" symlinks (thanks @tsg) + +## v0.8.4 / 2013-04-07 + +* [Fix] kqueue: watch all file events [#40][] (thanks @ChrisBuchholz) + +## v0.8.3 / 2013-03-13 + +* [Fix] inoitfy/kqueue memory leak [#36][] (reported by @nbkolchin) +* [Fix] kqueue: use fsnFlags for watching a directory [#33][] (reported by @nbkolchin) + +## v0.8.2 / 2013-02-07 + +* [Doc] add Authors +* [Fix] fix data races for map access [#29][] (thanks @fsouza) + +## v0.8.1 / 2013-01-09 + +* [Fix] Windows path separators +* [Doc] BSD License + +## v0.8.0 / 2012-11-09 + +* kqueue: directory watching improvements (thanks @vmirage) +* inotify: add `IN_MOVED_TO` [#25][] (requested by @cpisto) +* [Fix] kqueue: deleting watched directory [#24][] (reported by @jakerr) + +## v0.7.4 / 2012-10-09 + +* [Fix] inotify: fixes from https://codereview.appspot.com/5418045/ (ugorji) +* [Fix] kqueue: preserve watch flags when watching for delete [#21][] (reported by @robfig) +* [Fix] kqueue: watch the directory even if it isn't a new watch (thanks @robfig) +* [Fix] kqueue: modify after recreation of file + +## v0.7.3 / 2012-09-27 + +* [Fix] kqueue: watch with an existing folder inside the watched folder (thanks @vmirage) +* [Fix] kqueue: no longer get duplicate CREATE events + +## v0.7.2 / 2012-09-01 + +* kqueue: events for created directories + +## v0.7.1 / 2012-07-14 + +* [Fix] for renaming files + +## v0.7.0 / 2012-07-02 + +* [Feature] FSNotify flags +* [Fix] inotify: Added file name back to event path + +## v0.6.0 / 2012-06-06 + +* kqueue: watch files after directory created (thanks @tmc) + +## v0.5.1 / 2012-05-22 + +* [Fix] inotify: remove all watches before Close() + +## v0.5.0 / 2012-05-03 + +* [API] kqueue: return errors during watch instead of sending over channel +* kqueue: match symlink behavior on Linux +* inotify: add `DELETE_SELF` (requested by @taralx) +* [Fix] kqueue: handle EINTR (reported by @robfig) +* [Doc] Godoc example [#1][] (thanks @davecheney) + +## v0.4.0 / 2012-03-30 + +* Go 1 released: build with go tool +* [Feature] Windows support using winfsnotify +* Windows does not have attribute change notifications +* Roll attribute notifications into IsModify + +## v0.3.0 / 2012-02-19 + +* kqueue: add files when watch directory + +## v0.2.0 / 2011-12-30 + +* update to latest Go weekly code + +## v0.1.0 / 2011-10-19 + +* kqueue: add watch on file creation to match inotify +* kqueue: create file event +* inotify: ignore `IN_IGNORED` events +* event String() +* linux: common FileEvent functions +* initial commit + +[#79]: https://github.com/howeyc/fsnotify/pull/79 +[#77]: https://github.com/howeyc/fsnotify/pull/77 +[#72]: https://github.com/howeyc/fsnotify/issues/72 +[#71]: https://github.com/howeyc/fsnotify/issues/71 +[#70]: https://github.com/howeyc/fsnotify/issues/70 +[#63]: https://github.com/howeyc/fsnotify/issues/63 +[#62]: https://github.com/howeyc/fsnotify/issues/62 +[#60]: https://github.com/howeyc/fsnotify/issues/60 +[#59]: https://github.com/howeyc/fsnotify/issues/59 +[#49]: https://github.com/howeyc/fsnotify/issues/49 +[#45]: https://github.com/howeyc/fsnotify/issues/45 +[#40]: https://github.com/howeyc/fsnotify/issues/40 +[#36]: https://github.com/howeyc/fsnotify/issues/36 +[#33]: https://github.com/howeyc/fsnotify/issues/33 +[#29]: https://github.com/howeyc/fsnotify/issues/29 +[#25]: https://github.com/howeyc/fsnotify/issues/25 +[#24]: https://github.com/howeyc/fsnotify/issues/24 +[#21]: https://github.com/howeyc/fsnotify/issues/21 diff --git a/vendor/github.com/fsnotify/fsnotify/CONTRIBUTING.md b/vendor/github.com/fsnotify/fsnotify/CONTRIBUTING.md new file mode 100755 index 0000000..828a60b --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/CONTRIBUTING.md @@ -0,0 +1,77 @@ +# Contributing + +## Issues + +* Request features and report bugs using the [GitHub Issue Tracker](https://github.com/fsnotify/fsnotify/issues). +* Please indicate the platform you are using fsnotify on. +* A code example to reproduce the problem is appreciated. + +## Pull Requests + +### Contributor License Agreement + +fsnotify is derived from code in the [golang.org/x/exp](https://godoc.org/golang.org/x/exp) package and it may be included [in the standard library](https://github.com/fsnotify/fsnotify/issues/1) in the future. Therefore fsnotify carries the same [LICENSE](https://github.com/fsnotify/fsnotify/blob/master/LICENSE) as Go. Contributors retain their copyright, so you need to fill out a short form before we can accept your contribution: [Google Individual Contributor License Agreement](https://developers.google.com/open-source/cla/individual). + +Please indicate that you have signed the CLA in your pull request. + +### How fsnotify is Developed + +* Development is done on feature branches. +* Tests are run on BSD, Linux, macOS and Windows. +* Pull requests are reviewed and [applied to master][am] using [hub][]. + * Maintainers may modify or squash commits rather than asking contributors to. +* To issue a new release, the maintainers will: + * Update the CHANGELOG + * Tag a version, which will become available through gopkg.in. + +### How to Fork + +For smooth sailing, always use the original import path. Installing with `go get` makes this easy. + +1. Install from GitHub (`go get -u github.com/fsnotify/fsnotify`) +2. Create your feature branch (`git checkout -b my-new-feature`) +3. Ensure everything works and the tests pass (see below) +4. Commit your changes (`git commit -am 'Add some feature'`) + +Contribute upstream: + +1. Fork fsnotify on GitHub +2. Add your remote (`git remote add fork git@github.com:mycompany/repo.git`) +3. Push to the branch (`git push fork my-new-feature`) +4. Create a new Pull Request on GitHub + +This workflow is [thoroughly explained by Katrina Owen](https://splice.com/blog/contributing-open-source-git-repositories-go/). + +### Testing + +fsnotify uses build tags to compile different code on Linux, BSD, macOS, and Windows. + +Before doing a pull request, please do your best to test your changes on multiple platforms, and list which platforms you were able/unable to test on. + +To aid in cross-platform testing there is a Vagrantfile for Linux and BSD. + +* Install [Vagrant](http://www.vagrantup.com/) and [VirtualBox](https://www.virtualbox.org/) +* Setup [Vagrant Gopher](https://github.com/nathany/vagrant-gopher) in your `src` folder. +* Run `vagrant up` from the project folder. You can also setup just one box with `vagrant up linux` or `vagrant up bsd` (note: the BSD box doesn't support Windows hosts at this time, and NFS may prompt for your host OS password) +* Once setup, you can run the test suite on a given OS with a single command `vagrant ssh linux -c 'cd fsnotify/fsnotify; go test'`. +* When you're done, you will want to halt or destroy the Vagrant boxes. + +Notice: fsnotify file system events won't trigger in shared folders. The tests get around this limitation by using the /tmp directory. + +Right now there is no equivalent solution for Windows and macOS, but there are Windows VMs [freely available from Microsoft](http://www.modern.ie/en-us/virtualization-tools#downloads). + +### Maintainers + +Help maintaining fsnotify is welcome. To be a maintainer: + +* Submit a pull request and sign the CLA as above. +* You must be able to run the test suite on Mac, Windows, Linux and BSD. + +To keep master clean, the fsnotify project uses the "apply mail" workflow outlined in Nathaniel Talbott's post ["Merge pull request" Considered Harmful][am]. This requires installing [hub][]. + +All code changes should be internal pull requests. + +Releases are tagged using [Semantic Versioning](http://semver.org/). + +[hub]: https://github.com/github/hub +[am]: http://blog.spreedly.com/2014/06/24/merge-pull-request-considered-harmful/#.VGa5yZPF_Zs diff --git a/vendor/github.com/fsnotify/fsnotify/LICENSE b/vendor/github.com/fsnotify/fsnotify/LICENSE new file mode 100755 index 0000000..f21e540 --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/LICENSE @@ -0,0 +1,28 @@ +Copyright (c) 2012 The Go Authors. All rights reserved. +Copyright (c) 2012 fsnotify Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/fsnotify/fsnotify/README.md b/vendor/github.com/fsnotify/fsnotify/README.md new file mode 100755 index 0000000..3993207 --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/README.md @@ -0,0 +1,79 @@ +# File system notifications for Go + +[![GoDoc](https://godoc.org/github.com/fsnotify/fsnotify?status.svg)](https://godoc.org/github.com/fsnotify/fsnotify) [![Go Report Card](https://goreportcard.com/badge/github.com/fsnotify/fsnotify)](https://goreportcard.com/report/github.com/fsnotify/fsnotify) + +fsnotify utilizes [golang.org/x/sys](https://godoc.org/golang.org/x/sys) rather than `syscall` from the standard library. Ensure you have the latest version installed by running: + +```console +go get -u golang.org/x/sys/... +``` + +Cross platform: Windows, Linux, BSD and macOS. + +|Adapter |OS |Status | +|----------|----------|----------| +|inotify |Linux 2.6.27 or later, Android\*|Supported [![Build Status](https://travis-ci.org/fsnotify/fsnotify.svg?branch=master)](https://travis-ci.org/fsnotify/fsnotify)| +|kqueue |BSD, macOS, iOS\*|Supported [![Build Status](https://travis-ci.org/fsnotify/fsnotify.svg?branch=master)](https://travis-ci.org/fsnotify/fsnotify)| +|ReadDirectoryChangesW|Windows|Supported [![Build status](https://ci.appveyor.com/api/projects/status/ivwjubaih4r0udeh/branch/master?svg=true)](https://ci.appveyor.com/project/NathanYoungman/fsnotify/branch/master)| +|FSEvents |macOS |[Planned](https://github.com/fsnotify/fsnotify/issues/11)| +|FEN |Solaris 11 |[In Progress](https://github.com/fsnotify/fsnotify/issues/12)| +|fanotify |Linux 2.6.37+ | | +|USN Journals |Windows |[Maybe](https://github.com/fsnotify/fsnotify/issues/53)| +|Polling |*All* |[Maybe](https://github.com/fsnotify/fsnotify/issues/9)| + +\* Android and iOS are untested. + +Please see [the documentation](https://godoc.org/github.com/fsnotify/fsnotify) and consult the [FAQ](#faq) for usage information. + +## API stability + +fsnotify is a fork of [howeyc/fsnotify](https://godoc.org/github.com/howeyc/fsnotify) with a new API as of v1.0. The API is based on [this design document](http://goo.gl/MrYxyA). + +All [releases](https://github.com/fsnotify/fsnotify/releases) are tagged based on [Semantic Versioning](http://semver.org/). Further API changes are [planned](https://github.com/fsnotify/fsnotify/milestones), and will be tagged with a new major revision number. + +Go 1.6 supports dependencies located in the `vendor/` folder. Unless you are creating a library, it is recommended that you copy fsnotify into `vendor/github.com/fsnotify/fsnotify` within your project, and likewise for `golang.org/x/sys`. + +## Contributing + +Please refer to [CONTRIBUTING][] before opening an issue or pull request. + +## Example + +See [example_test.go](https://github.com/fsnotify/fsnotify/blob/master/example_test.go). + +## FAQ + +**When a file is moved to another directory is it still being watched?** + +No (it shouldn't be, unless you are watching where it was moved to). + +**When I watch a directory, are all subdirectories watched as well?** + +No, you must add watches for any directory you want to watch (a recursive watcher is on the roadmap [#18][]). + +**Do I have to watch the Error and Event channels in a separate goroutine?** + +As of now, yes. Looking into making this single-thread friendly (see [howeyc #7][#7]) + +**Why am I receiving multiple events for the same file on OS X?** + +Spotlight indexing on OS X can result in multiple events (see [howeyc #62][#62]). A temporary workaround is to add your folder(s) to the *Spotlight Privacy settings* until we have a native FSEvents implementation (see [#11][]). + +**How many files can be watched at once?** + +There are OS-specific limits as to how many watches can be created: +* Linux: /proc/sys/fs/inotify/max_user_watches contains the limit, reaching this limit results in a "no space left on device" error. +* BSD / OSX: sysctl variables "kern.maxfiles" and "kern.maxfilesperproc", reaching these limits results in a "too many open files" error. + +[#62]: https://github.com/howeyc/fsnotify/issues/62 +[#18]: https://github.com/fsnotify/fsnotify/issues/18 +[#11]: https://github.com/fsnotify/fsnotify/issues/11 +[#7]: https://github.com/howeyc/fsnotify/issues/7 + +[contributing]: https://github.com/fsnotify/fsnotify/blob/master/CONTRIBUTING.md + +## Related Projects + +* [notify](https://github.com/rjeczalik/notify) +* [fsevents](https://github.com/fsnotify/fsevents) + diff --git a/vendor/github.com/fsnotify/fsnotify/fen.go b/vendor/github.com/fsnotify/fsnotify/fen.go new file mode 100755 index 0000000..ced39cb --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/fen.go @@ -0,0 +1,37 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build solaris + +package fsnotify + +import ( + "errors" +) + +// Watcher watches a set of files, delivering events to a channel. +type Watcher struct { + Events chan Event + Errors chan error +} + +// NewWatcher establishes a new watcher with the underlying OS and begins waiting for events. +func NewWatcher() (*Watcher, error) { + return nil, errors.New("FEN based watcher not yet supported for fsnotify\n") +} + +// Close removes all watches and closes the events channel. +func (w *Watcher) Close() error { + return nil +} + +// Add starts watching the named file or directory (non-recursively). +func (w *Watcher) Add(name string) error { + return nil +} + +// Remove stops watching the the named file or directory (non-recursively). +func (w *Watcher) Remove(name string) error { + return nil +} diff --git a/vendor/github.com/fsnotify/fsnotify/fsnotify.go b/vendor/github.com/fsnotify/fsnotify/fsnotify.go new file mode 100755 index 0000000..190bf0d --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/fsnotify.go @@ -0,0 +1,66 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !plan9 + +// Package fsnotify provides a platform-independent interface for file system notifications. +package fsnotify + +import ( + "bytes" + "errors" + "fmt" +) + +// Event represents a single file system notification. +type Event struct { + Name string // Relative path to the file or directory. + Op Op // File operation that triggered the event. +} + +// Op describes a set of file operations. +type Op uint32 + +// These are the generalized file operations that can trigger a notification. +const ( + Create Op = 1 << iota + Write + Remove + Rename + Chmod +) + +func (op Op) String() string { + // Use a buffer for efficient string concatenation + var buffer bytes.Buffer + + if op&Create == Create { + buffer.WriteString("|CREATE") + } + if op&Remove == Remove { + buffer.WriteString("|REMOVE") + } + if op&Write == Write { + buffer.WriteString("|WRITE") + } + if op&Rename == Rename { + buffer.WriteString("|RENAME") + } + if op&Chmod == Chmod { + buffer.WriteString("|CHMOD") + } + if buffer.Len() == 0 { + return "" + } + return buffer.String()[1:] // Strip leading pipe +} + +// String returns a string representation of the event in the form +// "file: REMOVE|WRITE|..." +func (e Event) String() string { + return fmt.Sprintf("%q: %s", e.Name, e.Op.String()) +} + +// Common errors that can be reported by a watcher +var ErrEventOverflow = errors.New("fsnotify queue overflow") diff --git a/vendor/github.com/fsnotify/fsnotify/inotify.go b/vendor/github.com/fsnotify/fsnotify/inotify.go new file mode 100755 index 0000000..d9fd1b8 --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/inotify.go @@ -0,0 +1,337 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux + +package fsnotify + +import ( + "errors" + "fmt" + "io" + "os" + "path/filepath" + "strings" + "sync" + "unsafe" + + "golang.org/x/sys/unix" +) + +// Watcher watches a set of files, delivering events to a channel. +type Watcher struct { + Events chan Event + Errors chan error + mu sync.Mutex // Map access + fd int + poller *fdPoller + watches map[string]*watch // Map of inotify watches (key: path) + paths map[int]string // Map of watched paths (key: watch descriptor) + done chan struct{} // Channel for sending a "quit message" to the reader goroutine + doneResp chan struct{} // Channel to respond to Close +} + +// NewWatcher establishes a new watcher with the underlying OS and begins waiting for events. +func NewWatcher() (*Watcher, error) { + // Create inotify fd + fd, errno := unix.InotifyInit1(unix.IN_CLOEXEC) + if fd == -1 { + return nil, errno + } + // Create epoll + poller, err := newFdPoller(fd) + if err != nil { + unix.Close(fd) + return nil, err + } + w := &Watcher{ + fd: fd, + poller: poller, + watches: make(map[string]*watch), + paths: make(map[int]string), + Events: make(chan Event), + Errors: make(chan error), + done: make(chan struct{}), + doneResp: make(chan struct{}), + } + + go w.readEvents() + return w, nil +} + +func (w *Watcher) isClosed() bool { + select { + case <-w.done: + return true + default: + return false + } +} + +// Close removes all watches and closes the events channel. +func (w *Watcher) Close() error { + if w.isClosed() { + return nil + } + + // Send 'close' signal to goroutine, and set the Watcher to closed. + close(w.done) + + // Wake up goroutine + w.poller.wake() + + // Wait for goroutine to close + <-w.doneResp + + return nil +} + +// Add starts watching the named file or directory (non-recursively). +func (w *Watcher) Add(name string) error { + name = filepath.Clean(name) + if w.isClosed() { + return errors.New("inotify instance already closed") + } + + const agnosticEvents = unix.IN_MOVED_TO | unix.IN_MOVED_FROM | + unix.IN_CREATE | unix.IN_ATTRIB | unix.IN_MODIFY | + unix.IN_MOVE_SELF | unix.IN_DELETE | unix.IN_DELETE_SELF + + var flags uint32 = agnosticEvents + + w.mu.Lock() + defer w.mu.Unlock() + watchEntry := w.watches[name] + if watchEntry != nil { + flags |= watchEntry.flags | unix.IN_MASK_ADD + } + wd, errno := unix.InotifyAddWatch(w.fd, name, flags) + if wd == -1 { + return errno + } + + if watchEntry == nil { + w.watches[name] = &watch{wd: uint32(wd), flags: flags} + w.paths[wd] = name + } else { + watchEntry.wd = uint32(wd) + watchEntry.flags = flags + } + + return nil +} + +// Remove stops watching the named file or directory (non-recursively). +func (w *Watcher) Remove(name string) error { + name = filepath.Clean(name) + + // Fetch the watch. + w.mu.Lock() + defer w.mu.Unlock() + watch, ok := w.watches[name] + + // Remove it from inotify. + if !ok { + return fmt.Errorf("can't remove non-existent inotify watch for: %s", name) + } + + // We successfully removed the watch if InotifyRmWatch doesn't return an + // error, we need to clean up our internal state to ensure it matches + // inotify's kernel state. + delete(w.paths, int(watch.wd)) + delete(w.watches, name) + + // inotify_rm_watch will return EINVAL if the file has been deleted; + // the inotify will already have been removed. + // watches and pathes are deleted in ignoreLinux() implicitly and asynchronously + // by calling inotify_rm_watch() below. e.g. readEvents() goroutine receives IN_IGNORE + // so that EINVAL means that the wd is being rm_watch()ed or its file removed + // by another thread and we have not received IN_IGNORE event. + success, errno := unix.InotifyRmWatch(w.fd, watch.wd) + if success == -1 { + // TODO: Perhaps it's not helpful to return an error here in every case. + // the only two possible errors are: + // EBADF, which happens when w.fd is not a valid file descriptor of any kind. + // EINVAL, which is when fd is not an inotify descriptor or wd is not a valid watch descriptor. + // Watch descriptors are invalidated when they are removed explicitly or implicitly; + // explicitly by inotify_rm_watch, implicitly when the file they are watching is deleted. + return errno + } + + return nil +} + +type watch struct { + wd uint32 // Watch descriptor (as returned by the inotify_add_watch() syscall) + flags uint32 // inotify flags of this watch (see inotify(7) for the list of valid flags) +} + +// readEvents reads from the inotify file descriptor, converts the +// received events into Event objects and sends them via the Events channel +func (w *Watcher) readEvents() { + var ( + buf [unix.SizeofInotifyEvent * 4096]byte // Buffer for a maximum of 4096 raw events + n int // Number of bytes read with read() + errno error // Syscall errno + ok bool // For poller.wait + ) + + defer close(w.doneResp) + defer close(w.Errors) + defer close(w.Events) + defer unix.Close(w.fd) + defer w.poller.close() + + for { + // See if we have been closed. + if w.isClosed() { + return + } + + ok, errno = w.poller.wait() + if errno != nil { + select { + case w.Errors <- errno: + case <-w.done: + return + } + continue + } + + if !ok { + continue + } + + n, errno = unix.Read(w.fd, buf[:]) + // If a signal interrupted execution, see if we've been asked to close, and try again. + // http://man7.org/linux/man-pages/man7/signal.7.html : + // "Before Linux 3.8, reads from an inotify(7) file descriptor were not restartable" + if errno == unix.EINTR { + continue + } + + // unix.Read might have been woken up by Close. If so, we're done. + if w.isClosed() { + return + } + + if n < unix.SizeofInotifyEvent { + var err error + if n == 0 { + // If EOF is received. This should really never happen. + err = io.EOF + } else if n < 0 { + // If an error occurred while reading. + err = errno + } else { + // Read was too short. + err = errors.New("notify: short read in readEvents()") + } + select { + case w.Errors <- err: + case <-w.done: + return + } + continue + } + + var offset uint32 + // We don't know how many events we just read into the buffer + // While the offset points to at least one whole event... + for offset <= uint32(n-unix.SizeofInotifyEvent) { + // Point "raw" to the event in the buffer + raw := (*unix.InotifyEvent)(unsafe.Pointer(&buf[offset])) + + mask := uint32(raw.Mask) + nameLen := uint32(raw.Len) + + if mask&unix.IN_Q_OVERFLOW != 0 { + select { + case w.Errors <- ErrEventOverflow: + case <-w.done: + return + } + } + + // If the event happened to the watched directory or the watched file, the kernel + // doesn't append the filename to the event, but we would like to always fill the + // the "Name" field with a valid filename. We retrieve the path of the watch from + // the "paths" map. + w.mu.Lock() + name, ok := w.paths[int(raw.Wd)] + // IN_DELETE_SELF occurs when the file/directory being watched is removed. + // This is a sign to clean up the maps, otherwise we are no longer in sync + // with the inotify kernel state which has already deleted the watch + // automatically. + if ok && mask&unix.IN_DELETE_SELF == unix.IN_DELETE_SELF { + delete(w.paths, int(raw.Wd)) + delete(w.watches, name) + } + w.mu.Unlock() + + if nameLen > 0 { + // Point "bytes" at the first byte of the filename + bytes := (*[unix.PathMax]byte)(unsafe.Pointer(&buf[offset+unix.SizeofInotifyEvent])) + // The filename is padded with NULL bytes. TrimRight() gets rid of those. + name += "/" + strings.TrimRight(string(bytes[0:nameLen]), "\000") + } + + event := newEvent(name, mask) + + // Send the events that are not ignored on the events channel + if !event.ignoreLinux(mask) { + select { + case w.Events <- event: + case <-w.done: + return + } + } + + // Move to the next event in the buffer + offset += unix.SizeofInotifyEvent + nameLen + } + } +} + +// Certain types of events can be "ignored" and not sent over the Events +// channel. Such as events marked ignore by the kernel, or MODIFY events +// against files that do not exist. +func (e *Event) ignoreLinux(mask uint32) bool { + // Ignore anything the inotify API says to ignore + if mask&unix.IN_IGNORED == unix.IN_IGNORED { + return true + } + + // If the event is not a DELETE or RENAME, the file must exist. + // Otherwise the event is ignored. + // *Note*: this was put in place because it was seen that a MODIFY + // event was sent after the DELETE. This ignores that MODIFY and + // assumes a DELETE will come or has come if the file doesn't exist. + if !(e.Op&Remove == Remove || e.Op&Rename == Rename) { + _, statErr := os.Lstat(e.Name) + return os.IsNotExist(statErr) + } + return false +} + +// newEvent returns an platform-independent Event based on an inotify mask. +func newEvent(name string, mask uint32) Event { + e := Event{Name: name} + if mask&unix.IN_CREATE == unix.IN_CREATE || mask&unix.IN_MOVED_TO == unix.IN_MOVED_TO { + e.Op |= Create + } + if mask&unix.IN_DELETE_SELF == unix.IN_DELETE_SELF || mask&unix.IN_DELETE == unix.IN_DELETE { + e.Op |= Remove + } + if mask&unix.IN_MODIFY == unix.IN_MODIFY { + e.Op |= Write + } + if mask&unix.IN_MOVE_SELF == unix.IN_MOVE_SELF || mask&unix.IN_MOVED_FROM == unix.IN_MOVED_FROM { + e.Op |= Rename + } + if mask&unix.IN_ATTRIB == unix.IN_ATTRIB { + e.Op |= Chmod + } + return e +} diff --git a/vendor/github.com/fsnotify/fsnotify/inotify_poller.go b/vendor/github.com/fsnotify/fsnotify/inotify_poller.go new file mode 100755 index 0000000..cc7db4b --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/inotify_poller.go @@ -0,0 +1,187 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux + +package fsnotify + +import ( + "errors" + + "golang.org/x/sys/unix" +) + +type fdPoller struct { + fd int // File descriptor (as returned by the inotify_init() syscall) + epfd int // Epoll file descriptor + pipe [2]int // Pipe for waking up +} + +func emptyPoller(fd int) *fdPoller { + poller := new(fdPoller) + poller.fd = fd + poller.epfd = -1 + poller.pipe[0] = -1 + poller.pipe[1] = -1 + return poller +} + +// Create a new inotify poller. +// This creates an inotify handler, and an epoll handler. +func newFdPoller(fd int) (*fdPoller, error) { + var errno error + poller := emptyPoller(fd) + defer func() { + if errno != nil { + poller.close() + } + }() + poller.fd = fd + + // Create epoll fd + poller.epfd, errno = unix.EpollCreate1(0) + if poller.epfd == -1 { + return nil, errno + } + // Create pipe; pipe[0] is the read end, pipe[1] the write end. + errno = unix.Pipe2(poller.pipe[:], unix.O_NONBLOCK) + if errno != nil { + return nil, errno + } + + // Register inotify fd with epoll + event := unix.EpollEvent{ + Fd: int32(poller.fd), + Events: unix.EPOLLIN, + } + errno = unix.EpollCtl(poller.epfd, unix.EPOLL_CTL_ADD, poller.fd, &event) + if errno != nil { + return nil, errno + } + + // Register pipe fd with epoll + event = unix.EpollEvent{ + Fd: int32(poller.pipe[0]), + Events: unix.EPOLLIN, + } + errno = unix.EpollCtl(poller.epfd, unix.EPOLL_CTL_ADD, poller.pipe[0], &event) + if errno != nil { + return nil, errno + } + + return poller, nil +} + +// Wait using epoll. +// Returns true if something is ready to be read, +// false if there is not. +func (poller *fdPoller) wait() (bool, error) { + // 3 possible events per fd, and 2 fds, makes a maximum of 6 events. + // I don't know whether epoll_wait returns the number of events returned, + // or the total number of events ready. + // I decided to catch both by making the buffer one larger than the maximum. + events := make([]unix.EpollEvent, 7) + for { + n, errno := unix.EpollWait(poller.epfd, events, -1) + if n == -1 { + if errno == unix.EINTR { + continue + } + return false, errno + } + if n == 0 { + // If there are no events, try again. + continue + } + if n > 6 { + // This should never happen. More events were returned than should be possible. + return false, errors.New("epoll_wait returned more events than I know what to do with") + } + ready := events[:n] + epollhup := false + epollerr := false + epollin := false + for _, event := range ready { + if event.Fd == int32(poller.fd) { + if event.Events&unix.EPOLLHUP != 0 { + // This should not happen, but if it does, treat it as a wakeup. + epollhup = true + } + if event.Events&unix.EPOLLERR != 0 { + // If an error is waiting on the file descriptor, we should pretend + // something is ready to read, and let unix.Read pick up the error. + epollerr = true + } + if event.Events&unix.EPOLLIN != 0 { + // There is data to read. + epollin = true + } + } + if event.Fd == int32(poller.pipe[0]) { + if event.Events&unix.EPOLLHUP != 0 { + // Write pipe descriptor was closed, by us. This means we're closing down the + // watcher, and we should wake up. + } + if event.Events&unix.EPOLLERR != 0 { + // If an error is waiting on the pipe file descriptor. + // This is an absolute mystery, and should never ever happen. + return false, errors.New("Error on the pipe descriptor.") + } + if event.Events&unix.EPOLLIN != 0 { + // This is a regular wakeup, so we have to clear the buffer. + err := poller.clearWake() + if err != nil { + return false, err + } + } + } + } + + if epollhup || epollerr || epollin { + return true, nil + } + return false, nil + } +} + +// Close the write end of the poller. +func (poller *fdPoller) wake() error { + buf := make([]byte, 1) + n, errno := unix.Write(poller.pipe[1], buf) + if n == -1 { + if errno == unix.EAGAIN { + // Buffer is full, poller will wake. + return nil + } + return errno + } + return nil +} + +func (poller *fdPoller) clearWake() error { + // You have to be woken up a LOT in order to get to 100! + buf := make([]byte, 100) + n, errno := unix.Read(poller.pipe[0], buf) + if n == -1 { + if errno == unix.EAGAIN { + // Buffer is empty, someone else cleared our wake. + return nil + } + return errno + } + return nil +} + +// Close all poller file descriptors, but not the one passed to it. +func (poller *fdPoller) close() { + if poller.pipe[1] != -1 { + unix.Close(poller.pipe[1]) + } + if poller.pipe[0] != -1 { + unix.Close(poller.pipe[0]) + } + if poller.epfd != -1 { + unix.Close(poller.epfd) + } +} diff --git a/vendor/github.com/fsnotify/fsnotify/kqueue.go b/vendor/github.com/fsnotify/fsnotify/kqueue.go new file mode 100755 index 0000000..86e76a3 --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/kqueue.go @@ -0,0 +1,521 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build freebsd openbsd netbsd dragonfly darwin + +package fsnotify + +import ( + "errors" + "fmt" + "io/ioutil" + "os" + "path/filepath" + "sync" + "time" + + "golang.org/x/sys/unix" +) + +// Watcher watches a set of files, delivering events to a channel. +type Watcher struct { + Events chan Event + Errors chan error + done chan struct{} // Channel for sending a "quit message" to the reader goroutine + + kq int // File descriptor (as returned by the kqueue() syscall). + + mu sync.Mutex // Protects access to watcher data + watches map[string]int // Map of watched file descriptors (key: path). + externalWatches map[string]bool // Map of watches added by user of the library. + dirFlags map[string]uint32 // Map of watched directories to fflags used in kqueue. + paths map[int]pathInfo // Map file descriptors to path names for processing kqueue events. + fileExists map[string]bool // Keep track of if we know this file exists (to stop duplicate create events). + isClosed bool // Set to true when Close() is first called +} + +type pathInfo struct { + name string + isDir bool +} + +// NewWatcher establishes a new watcher with the underlying OS and begins waiting for events. +func NewWatcher() (*Watcher, error) { + kq, err := kqueue() + if err != nil { + return nil, err + } + + w := &Watcher{ + kq: kq, + watches: make(map[string]int), + dirFlags: make(map[string]uint32), + paths: make(map[int]pathInfo), + fileExists: make(map[string]bool), + externalWatches: make(map[string]bool), + Events: make(chan Event), + Errors: make(chan error), + done: make(chan struct{}), + } + + go w.readEvents() + return w, nil +} + +// Close removes all watches and closes the events channel. +func (w *Watcher) Close() error { + w.mu.Lock() + if w.isClosed { + w.mu.Unlock() + return nil + } + w.isClosed = true + + // copy paths to remove while locked + var pathsToRemove = make([]string, 0, len(w.watches)) + for name := range w.watches { + pathsToRemove = append(pathsToRemove, name) + } + w.mu.Unlock() + // unlock before calling Remove, which also locks + + for _, name := range pathsToRemove { + w.Remove(name) + } + + // send a "quit" message to the reader goroutine + close(w.done) + + return nil +} + +// Add starts watching the named file or directory (non-recursively). +func (w *Watcher) Add(name string) error { + w.mu.Lock() + w.externalWatches[name] = true + w.mu.Unlock() + _, err := w.addWatch(name, noteAllEvents) + return err +} + +// Remove stops watching the the named file or directory (non-recursively). +func (w *Watcher) Remove(name string) error { + name = filepath.Clean(name) + w.mu.Lock() + watchfd, ok := w.watches[name] + w.mu.Unlock() + if !ok { + return fmt.Errorf("can't remove non-existent kevent watch for: %s", name) + } + + const registerRemove = unix.EV_DELETE + if err := register(w.kq, []int{watchfd}, registerRemove, 0); err != nil { + return err + } + + unix.Close(watchfd) + + w.mu.Lock() + isDir := w.paths[watchfd].isDir + delete(w.watches, name) + delete(w.paths, watchfd) + delete(w.dirFlags, name) + w.mu.Unlock() + + // Find all watched paths that are in this directory that are not external. + if isDir { + var pathsToRemove []string + w.mu.Lock() + for _, path := range w.paths { + wdir, _ := filepath.Split(path.name) + if filepath.Clean(wdir) == name { + if !w.externalWatches[path.name] { + pathsToRemove = append(pathsToRemove, path.name) + } + } + } + w.mu.Unlock() + for _, name := range pathsToRemove { + // Since these are internal, not much sense in propagating error + // to the user, as that will just confuse them with an error about + // a path they did not explicitly watch themselves. + w.Remove(name) + } + } + + return nil +} + +// Watch all events (except NOTE_EXTEND, NOTE_LINK, NOTE_REVOKE) +const noteAllEvents = unix.NOTE_DELETE | unix.NOTE_WRITE | unix.NOTE_ATTRIB | unix.NOTE_RENAME + +// keventWaitTime to block on each read from kevent +var keventWaitTime = durationToTimespec(100 * time.Millisecond) + +// addWatch adds name to the watched file set. +// The flags are interpreted as described in kevent(2). +// Returns the real path to the file which was added, if any, which may be different from the one passed in the case of symlinks. +func (w *Watcher) addWatch(name string, flags uint32) (string, error) { + var isDir bool + // Make ./name and name equivalent + name = filepath.Clean(name) + + w.mu.Lock() + if w.isClosed { + w.mu.Unlock() + return "", errors.New("kevent instance already closed") + } + watchfd, alreadyWatching := w.watches[name] + // We already have a watch, but we can still override flags. + if alreadyWatching { + isDir = w.paths[watchfd].isDir + } + w.mu.Unlock() + + if !alreadyWatching { + fi, err := os.Lstat(name) + if err != nil { + return "", err + } + + // Don't watch sockets. + if fi.Mode()&os.ModeSocket == os.ModeSocket { + return "", nil + } + + // Don't watch named pipes. + if fi.Mode()&os.ModeNamedPipe == os.ModeNamedPipe { + return "", nil + } + + // Follow Symlinks + // Unfortunately, Linux can add bogus symlinks to watch list without + // issue, and Windows can't do symlinks period (AFAIK). To maintain + // consistency, we will act like everything is fine. There will simply + // be no file events for broken symlinks. + // Hence the returns of nil on errors. + if fi.Mode()&os.ModeSymlink == os.ModeSymlink { + name, err = filepath.EvalSymlinks(name) + if err != nil { + return "", nil + } + + w.mu.Lock() + _, alreadyWatching = w.watches[name] + w.mu.Unlock() + + if alreadyWatching { + return name, nil + } + + fi, err = os.Lstat(name) + if err != nil { + return "", nil + } + } + + watchfd, err = unix.Open(name, openMode, 0700) + if watchfd == -1 { + return "", err + } + + isDir = fi.IsDir() + } + + const registerAdd = unix.EV_ADD | unix.EV_CLEAR | unix.EV_ENABLE + if err := register(w.kq, []int{watchfd}, registerAdd, flags); err != nil { + unix.Close(watchfd) + return "", err + } + + if !alreadyWatching { + w.mu.Lock() + w.watches[name] = watchfd + w.paths[watchfd] = pathInfo{name: name, isDir: isDir} + w.mu.Unlock() + } + + if isDir { + // Watch the directory if it has not been watched before, + // or if it was watched before, but perhaps only a NOTE_DELETE (watchDirectoryFiles) + w.mu.Lock() + + watchDir := (flags&unix.NOTE_WRITE) == unix.NOTE_WRITE && + (!alreadyWatching || (w.dirFlags[name]&unix.NOTE_WRITE) != unix.NOTE_WRITE) + // Store flags so this watch can be updated later + w.dirFlags[name] = flags + w.mu.Unlock() + + if watchDir { + if err := w.watchDirectoryFiles(name); err != nil { + return "", err + } + } + } + return name, nil +} + +// readEvents reads from kqueue and converts the received kevents into +// Event values that it sends down the Events channel. +func (w *Watcher) readEvents() { + eventBuffer := make([]unix.Kevent_t, 10) + +loop: + for { + // See if there is a message on the "done" channel + select { + case <-w.done: + break loop + default: + } + + // Get new events + kevents, err := read(w.kq, eventBuffer, &keventWaitTime) + // EINTR is okay, the syscall was interrupted before timeout expired. + if err != nil && err != unix.EINTR { + select { + case w.Errors <- err: + case <-w.done: + break loop + } + continue + } + + // Flush the events we received to the Events channel + for len(kevents) > 0 { + kevent := &kevents[0] + watchfd := int(kevent.Ident) + mask := uint32(kevent.Fflags) + w.mu.Lock() + path := w.paths[watchfd] + w.mu.Unlock() + event := newEvent(path.name, mask) + + if path.isDir && !(event.Op&Remove == Remove) { + // Double check to make sure the directory exists. This can happen when + // we do a rm -fr on a recursively watched folders and we receive a + // modification event first but the folder has been deleted and later + // receive the delete event + if _, err := os.Lstat(event.Name); os.IsNotExist(err) { + // mark is as delete event + event.Op |= Remove + } + } + + if event.Op&Rename == Rename || event.Op&Remove == Remove { + w.Remove(event.Name) + w.mu.Lock() + delete(w.fileExists, event.Name) + w.mu.Unlock() + } + + if path.isDir && event.Op&Write == Write && !(event.Op&Remove == Remove) { + w.sendDirectoryChangeEvents(event.Name) + } else { + // Send the event on the Events channel. + select { + case w.Events <- event: + case <-w.done: + break loop + } + } + + if event.Op&Remove == Remove { + // Look for a file that may have overwritten this. + // For example, mv f1 f2 will delete f2, then create f2. + if path.isDir { + fileDir := filepath.Clean(event.Name) + w.mu.Lock() + _, found := w.watches[fileDir] + w.mu.Unlock() + if found { + // make sure the directory exists before we watch for changes. When we + // do a recursive watch and perform rm -fr, the parent directory might + // have gone missing, ignore the missing directory and let the + // upcoming delete event remove the watch from the parent directory. + if _, err := os.Lstat(fileDir); err == nil { + w.sendDirectoryChangeEvents(fileDir) + } + } + } else { + filePath := filepath.Clean(event.Name) + if fileInfo, err := os.Lstat(filePath); err == nil { + w.sendFileCreatedEventIfNew(filePath, fileInfo) + } + } + } + + // Move to next event + kevents = kevents[1:] + } + } + + // cleanup + err := unix.Close(w.kq) + if err != nil { + // only way the previous loop breaks is if w.done was closed so we need to async send to w.Errors. + select { + case w.Errors <- err: + default: + } + } + close(w.Events) + close(w.Errors) +} + +// newEvent returns an platform-independent Event based on kqueue Fflags. +func newEvent(name string, mask uint32) Event { + e := Event{Name: name} + if mask&unix.NOTE_DELETE == unix.NOTE_DELETE { + e.Op |= Remove + } + if mask&unix.NOTE_WRITE == unix.NOTE_WRITE { + e.Op |= Write + } + if mask&unix.NOTE_RENAME == unix.NOTE_RENAME { + e.Op |= Rename + } + if mask&unix.NOTE_ATTRIB == unix.NOTE_ATTRIB { + e.Op |= Chmod + } + return e +} + +func newCreateEvent(name string) Event { + return Event{Name: name, Op: Create} +} + +// watchDirectoryFiles to mimic inotify when adding a watch on a directory +func (w *Watcher) watchDirectoryFiles(dirPath string) error { + // Get all files + files, err := ioutil.ReadDir(dirPath) + if err != nil { + return err + } + + for _, fileInfo := range files { + filePath := filepath.Join(dirPath, fileInfo.Name()) + filePath, err = w.internalWatch(filePath, fileInfo) + if err != nil { + return err + } + + w.mu.Lock() + w.fileExists[filePath] = true + w.mu.Unlock() + } + + return nil +} + +// sendDirectoryEvents searches the directory for newly created files +// and sends them over the event channel. This functionality is to have +// the BSD version of fsnotify match Linux inotify which provides a +// create event for files created in a watched directory. +func (w *Watcher) sendDirectoryChangeEvents(dirPath string) { + // Get all files + files, err := ioutil.ReadDir(dirPath) + if err != nil { + select { + case w.Errors <- err: + case <-w.done: + return + } + } + + // Search for new files + for _, fileInfo := range files { + filePath := filepath.Join(dirPath, fileInfo.Name()) + err := w.sendFileCreatedEventIfNew(filePath, fileInfo) + + if err != nil { + return + } + } +} + +// sendFileCreatedEvent sends a create event if the file isn't already being tracked. +func (w *Watcher) sendFileCreatedEventIfNew(filePath string, fileInfo os.FileInfo) (err error) { + w.mu.Lock() + _, doesExist := w.fileExists[filePath] + w.mu.Unlock() + if !doesExist { + // Send create event + select { + case w.Events <- newCreateEvent(filePath): + case <-w.done: + return + } + } + + // like watchDirectoryFiles (but without doing another ReadDir) + filePath, err = w.internalWatch(filePath, fileInfo) + if err != nil { + return err + } + + w.mu.Lock() + w.fileExists[filePath] = true + w.mu.Unlock() + + return nil +} + +func (w *Watcher) internalWatch(name string, fileInfo os.FileInfo) (string, error) { + if fileInfo.IsDir() { + // mimic Linux providing delete events for subdirectories + // but preserve the flags used if currently watching subdirectory + w.mu.Lock() + flags := w.dirFlags[name] + w.mu.Unlock() + + flags |= unix.NOTE_DELETE | unix.NOTE_RENAME + return w.addWatch(name, flags) + } + + // watch file to mimic Linux inotify + return w.addWatch(name, noteAllEvents) +} + +// kqueue creates a new kernel event queue and returns a descriptor. +func kqueue() (kq int, err error) { + kq, err = unix.Kqueue() + if kq == -1 { + return kq, err + } + return kq, nil +} + +// register events with the queue +func register(kq int, fds []int, flags int, fflags uint32) error { + changes := make([]unix.Kevent_t, len(fds)) + + for i, fd := range fds { + // SetKevent converts int to the platform-specific types: + unix.SetKevent(&changes[i], fd, unix.EVFILT_VNODE, flags) + changes[i].Fflags = fflags + } + + // register the events + success, err := unix.Kevent(kq, changes, nil, nil) + if success == -1 { + return err + } + return nil +} + +// read retrieves pending events, or waits until an event occurs. +// A timeout of nil blocks indefinitely, while 0 polls the queue. +func read(kq int, events []unix.Kevent_t, timeout *unix.Timespec) ([]unix.Kevent_t, error) { + n, err := unix.Kevent(kq, nil, events, timeout) + if err != nil { + return nil, err + } + return events[0:n], nil +} + +// durationToTimespec prepares a timeout value +func durationToTimespec(d time.Duration) unix.Timespec { + return unix.NsecToTimespec(d.Nanoseconds()) +} diff --git a/vendor/github.com/fsnotify/fsnotify/open_mode_bsd.go b/vendor/github.com/fsnotify/fsnotify/open_mode_bsd.go new file mode 100755 index 0000000..7d8de14 --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/open_mode_bsd.go @@ -0,0 +1,11 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build freebsd openbsd netbsd dragonfly + +package fsnotify + +import "golang.org/x/sys/unix" + +const openMode = unix.O_NONBLOCK | unix.O_RDONLY diff --git a/vendor/github.com/fsnotify/fsnotify/open_mode_darwin.go b/vendor/github.com/fsnotify/fsnotify/open_mode_darwin.go new file mode 100755 index 0000000..9139e17 --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/open_mode_darwin.go @@ -0,0 +1,12 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin + +package fsnotify + +import "golang.org/x/sys/unix" + +// note: this constant is not defined on BSD +const openMode = unix.O_EVTONLY diff --git a/vendor/github.com/fsnotify/fsnotify/windows.go b/vendor/github.com/fsnotify/fsnotify/windows.go new file mode 100755 index 0000000..09436f3 --- /dev/null +++ b/vendor/github.com/fsnotify/fsnotify/windows.go @@ -0,0 +1,561 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows + +package fsnotify + +import ( + "errors" + "fmt" + "os" + "path/filepath" + "runtime" + "sync" + "syscall" + "unsafe" +) + +// Watcher watches a set of files, delivering events to a channel. +type Watcher struct { + Events chan Event + Errors chan error + isClosed bool // Set to true when Close() is first called + mu sync.Mutex // Map access + port syscall.Handle // Handle to completion port + watches watchMap // Map of watches (key: i-number) + input chan *input // Inputs to the reader are sent on this channel + quit chan chan<- error +} + +// NewWatcher establishes a new watcher with the underlying OS and begins waiting for events. +func NewWatcher() (*Watcher, error) { + port, e := syscall.CreateIoCompletionPort(syscall.InvalidHandle, 0, 0, 0) + if e != nil { + return nil, os.NewSyscallError("CreateIoCompletionPort", e) + } + w := &Watcher{ + port: port, + watches: make(watchMap), + input: make(chan *input, 1), + Events: make(chan Event, 50), + Errors: make(chan error), + quit: make(chan chan<- error, 1), + } + go w.readEvents() + return w, nil +} + +// Close removes all watches and closes the events channel. +func (w *Watcher) Close() error { + if w.isClosed { + return nil + } + w.isClosed = true + + // Send "quit" message to the reader goroutine + ch := make(chan error) + w.quit <- ch + if err := w.wakeupReader(); err != nil { + return err + } + return <-ch +} + +// Add starts watching the named file or directory (non-recursively). +func (w *Watcher) Add(name string) error { + if w.isClosed { + return errors.New("watcher already closed") + } + in := &input{ + op: opAddWatch, + path: filepath.Clean(name), + flags: sysFSALLEVENTS, + reply: make(chan error), + } + w.input <- in + if err := w.wakeupReader(); err != nil { + return err + } + return <-in.reply +} + +// Remove stops watching the the named file or directory (non-recursively). +func (w *Watcher) Remove(name string) error { + in := &input{ + op: opRemoveWatch, + path: filepath.Clean(name), + reply: make(chan error), + } + w.input <- in + if err := w.wakeupReader(); err != nil { + return err + } + return <-in.reply +} + +const ( + // Options for AddWatch + sysFSONESHOT = 0x80000000 + sysFSONLYDIR = 0x1000000 + + // Events + sysFSACCESS = 0x1 + sysFSALLEVENTS = 0xfff + sysFSATTRIB = 0x4 + sysFSCLOSE = 0x18 + sysFSCREATE = 0x100 + sysFSDELETE = 0x200 + sysFSDELETESELF = 0x400 + sysFSMODIFY = 0x2 + sysFSMOVE = 0xc0 + sysFSMOVEDFROM = 0x40 + sysFSMOVEDTO = 0x80 + sysFSMOVESELF = 0x800 + + // Special events + sysFSIGNORED = 0x8000 + sysFSQOVERFLOW = 0x4000 +) + +func newEvent(name string, mask uint32) Event { + e := Event{Name: name} + if mask&sysFSCREATE == sysFSCREATE || mask&sysFSMOVEDTO == sysFSMOVEDTO { + e.Op |= Create + } + if mask&sysFSDELETE == sysFSDELETE || mask&sysFSDELETESELF == sysFSDELETESELF { + e.Op |= Remove + } + if mask&sysFSMODIFY == sysFSMODIFY { + e.Op |= Write + } + if mask&sysFSMOVE == sysFSMOVE || mask&sysFSMOVESELF == sysFSMOVESELF || mask&sysFSMOVEDFROM == sysFSMOVEDFROM { + e.Op |= Rename + } + if mask&sysFSATTRIB == sysFSATTRIB { + e.Op |= Chmod + } + return e +} + +const ( + opAddWatch = iota + opRemoveWatch +) + +const ( + provisional uint64 = 1 << (32 + iota) +) + +type input struct { + op int + path string + flags uint32 + reply chan error +} + +type inode struct { + handle syscall.Handle + volume uint32 + index uint64 +} + +type watch struct { + ov syscall.Overlapped + ino *inode // i-number + path string // Directory path + mask uint64 // Directory itself is being watched with these notify flags + names map[string]uint64 // Map of names being watched and their notify flags + rename string // Remembers the old name while renaming a file + buf [4096]byte +} + +type indexMap map[uint64]*watch +type watchMap map[uint32]indexMap + +func (w *Watcher) wakeupReader() error { + e := syscall.PostQueuedCompletionStatus(w.port, 0, 0, nil) + if e != nil { + return os.NewSyscallError("PostQueuedCompletionStatus", e) + } + return nil +} + +func getDir(pathname string) (dir string, err error) { + attr, e := syscall.GetFileAttributes(syscall.StringToUTF16Ptr(pathname)) + if e != nil { + return "", os.NewSyscallError("GetFileAttributes", e) + } + if attr&syscall.FILE_ATTRIBUTE_DIRECTORY != 0 { + dir = pathname + } else { + dir, _ = filepath.Split(pathname) + dir = filepath.Clean(dir) + } + return +} + +func getIno(path string) (ino *inode, err error) { + h, e := syscall.CreateFile(syscall.StringToUTF16Ptr(path), + syscall.FILE_LIST_DIRECTORY, + syscall.FILE_SHARE_READ|syscall.FILE_SHARE_WRITE|syscall.FILE_SHARE_DELETE, + nil, syscall.OPEN_EXISTING, + syscall.FILE_FLAG_BACKUP_SEMANTICS|syscall.FILE_FLAG_OVERLAPPED, 0) + if e != nil { + return nil, os.NewSyscallError("CreateFile", e) + } + var fi syscall.ByHandleFileInformation + if e = syscall.GetFileInformationByHandle(h, &fi); e != nil { + syscall.CloseHandle(h) + return nil, os.NewSyscallError("GetFileInformationByHandle", e) + } + ino = &inode{ + handle: h, + volume: fi.VolumeSerialNumber, + index: uint64(fi.FileIndexHigh)<<32 | uint64(fi.FileIndexLow), + } + return ino, nil +} + +// Must run within the I/O thread. +func (m watchMap) get(ino *inode) *watch { + if i := m[ino.volume]; i != nil { + return i[ino.index] + } + return nil +} + +// Must run within the I/O thread. +func (m watchMap) set(ino *inode, watch *watch) { + i := m[ino.volume] + if i == nil { + i = make(indexMap) + m[ino.volume] = i + } + i[ino.index] = watch +} + +// Must run within the I/O thread. +func (w *Watcher) addWatch(pathname string, flags uint64) error { + dir, err := getDir(pathname) + if err != nil { + return err + } + if flags&sysFSONLYDIR != 0 && pathname != dir { + return nil + } + ino, err := getIno(dir) + if err != nil { + return err + } + w.mu.Lock() + watchEntry := w.watches.get(ino) + w.mu.Unlock() + if watchEntry == nil { + if _, e := syscall.CreateIoCompletionPort(ino.handle, w.port, 0, 0); e != nil { + syscall.CloseHandle(ino.handle) + return os.NewSyscallError("CreateIoCompletionPort", e) + } + watchEntry = &watch{ + ino: ino, + path: dir, + names: make(map[string]uint64), + } + w.mu.Lock() + w.watches.set(ino, watchEntry) + w.mu.Unlock() + flags |= provisional + } else { + syscall.CloseHandle(ino.handle) + } + if pathname == dir { + watchEntry.mask |= flags + } else { + watchEntry.names[filepath.Base(pathname)] |= flags + } + if err = w.startRead(watchEntry); err != nil { + return err + } + if pathname == dir { + watchEntry.mask &= ^provisional + } else { + watchEntry.names[filepath.Base(pathname)] &= ^provisional + } + return nil +} + +// Must run within the I/O thread. +func (w *Watcher) remWatch(pathname string) error { + dir, err := getDir(pathname) + if err != nil { + return err + } + ino, err := getIno(dir) + if err != nil { + return err + } + w.mu.Lock() + watch := w.watches.get(ino) + w.mu.Unlock() + if watch == nil { + return fmt.Errorf("can't remove non-existent watch for: %s", pathname) + } + if pathname == dir { + w.sendEvent(watch.path, watch.mask&sysFSIGNORED) + watch.mask = 0 + } else { + name := filepath.Base(pathname) + w.sendEvent(filepath.Join(watch.path, name), watch.names[name]&sysFSIGNORED) + delete(watch.names, name) + } + return w.startRead(watch) +} + +// Must run within the I/O thread. +func (w *Watcher) deleteWatch(watch *watch) { + for name, mask := range watch.names { + if mask&provisional == 0 { + w.sendEvent(filepath.Join(watch.path, name), mask&sysFSIGNORED) + } + delete(watch.names, name) + } + if watch.mask != 0 { + if watch.mask&provisional == 0 { + w.sendEvent(watch.path, watch.mask&sysFSIGNORED) + } + watch.mask = 0 + } +} + +// Must run within the I/O thread. +func (w *Watcher) startRead(watch *watch) error { + if e := syscall.CancelIo(watch.ino.handle); e != nil { + w.Errors <- os.NewSyscallError("CancelIo", e) + w.deleteWatch(watch) + } + mask := toWindowsFlags(watch.mask) + for _, m := range watch.names { + mask |= toWindowsFlags(m) + } + if mask == 0 { + if e := syscall.CloseHandle(watch.ino.handle); e != nil { + w.Errors <- os.NewSyscallError("CloseHandle", e) + } + w.mu.Lock() + delete(w.watches[watch.ino.volume], watch.ino.index) + w.mu.Unlock() + return nil + } + e := syscall.ReadDirectoryChanges(watch.ino.handle, &watch.buf[0], + uint32(unsafe.Sizeof(watch.buf)), false, mask, nil, &watch.ov, 0) + if e != nil { + err := os.NewSyscallError("ReadDirectoryChanges", e) + if e == syscall.ERROR_ACCESS_DENIED && watch.mask&provisional == 0 { + // Watched directory was probably removed + if w.sendEvent(watch.path, watch.mask&sysFSDELETESELF) { + if watch.mask&sysFSONESHOT != 0 { + watch.mask = 0 + } + } + err = nil + } + w.deleteWatch(watch) + w.startRead(watch) + return err + } + return nil +} + +// readEvents reads from the I/O completion port, converts the +// received events into Event objects and sends them via the Events channel. +// Entry point to the I/O thread. +func (w *Watcher) readEvents() { + var ( + n, key uint32 + ov *syscall.Overlapped + ) + runtime.LockOSThread() + + for { + e := syscall.GetQueuedCompletionStatus(w.port, &n, &key, &ov, syscall.INFINITE) + watch := (*watch)(unsafe.Pointer(ov)) + + if watch == nil { + select { + case ch := <-w.quit: + w.mu.Lock() + var indexes []indexMap + for _, index := range w.watches { + indexes = append(indexes, index) + } + w.mu.Unlock() + for _, index := range indexes { + for _, watch := range index { + w.deleteWatch(watch) + w.startRead(watch) + } + } + var err error + if e := syscall.CloseHandle(w.port); e != nil { + err = os.NewSyscallError("CloseHandle", e) + } + close(w.Events) + close(w.Errors) + ch <- err + return + case in := <-w.input: + switch in.op { + case opAddWatch: + in.reply <- w.addWatch(in.path, uint64(in.flags)) + case opRemoveWatch: + in.reply <- w.remWatch(in.path) + } + default: + } + continue + } + + switch e { + case syscall.ERROR_MORE_DATA: + if watch == nil { + w.Errors <- errors.New("ERROR_MORE_DATA has unexpectedly null lpOverlapped buffer") + } else { + // The i/o succeeded but the buffer is full. + // In theory we should be building up a full packet. + // In practice we can get away with just carrying on. + n = uint32(unsafe.Sizeof(watch.buf)) + } + case syscall.ERROR_ACCESS_DENIED: + // Watched directory was probably removed + w.sendEvent(watch.path, watch.mask&sysFSDELETESELF) + w.deleteWatch(watch) + w.startRead(watch) + continue + case syscall.ERROR_OPERATION_ABORTED: + // CancelIo was called on this handle + continue + default: + w.Errors <- os.NewSyscallError("GetQueuedCompletionPort", e) + continue + case nil: + } + + var offset uint32 + for { + if n == 0 { + w.Events <- newEvent("", sysFSQOVERFLOW) + w.Errors <- errors.New("short read in readEvents()") + break + } + + // Point "raw" to the event in the buffer + raw := (*syscall.FileNotifyInformation)(unsafe.Pointer(&watch.buf[offset])) + buf := (*[syscall.MAX_PATH]uint16)(unsafe.Pointer(&raw.FileName)) + name := syscall.UTF16ToString(buf[:raw.FileNameLength/2]) + fullname := filepath.Join(watch.path, name) + + var mask uint64 + switch raw.Action { + case syscall.FILE_ACTION_REMOVED: + mask = sysFSDELETESELF + case syscall.FILE_ACTION_MODIFIED: + mask = sysFSMODIFY + case syscall.FILE_ACTION_RENAMED_OLD_NAME: + watch.rename = name + case syscall.FILE_ACTION_RENAMED_NEW_NAME: + if watch.names[watch.rename] != 0 { + watch.names[name] |= watch.names[watch.rename] + delete(watch.names, watch.rename) + mask = sysFSMOVESELF + } + } + + sendNameEvent := func() { + if w.sendEvent(fullname, watch.names[name]&mask) { + if watch.names[name]&sysFSONESHOT != 0 { + delete(watch.names, name) + } + } + } + if raw.Action != syscall.FILE_ACTION_RENAMED_NEW_NAME { + sendNameEvent() + } + if raw.Action == syscall.FILE_ACTION_REMOVED { + w.sendEvent(fullname, watch.names[name]&sysFSIGNORED) + delete(watch.names, name) + } + if w.sendEvent(fullname, watch.mask&toFSnotifyFlags(raw.Action)) { + if watch.mask&sysFSONESHOT != 0 { + watch.mask = 0 + } + } + if raw.Action == syscall.FILE_ACTION_RENAMED_NEW_NAME { + fullname = filepath.Join(watch.path, watch.rename) + sendNameEvent() + } + + // Move to the next event in the buffer + if raw.NextEntryOffset == 0 { + break + } + offset += raw.NextEntryOffset + + // Error! + if offset >= n { + w.Errors <- errors.New("Windows system assumed buffer larger than it is, events have likely been missed.") + break + } + } + + if err := w.startRead(watch); err != nil { + w.Errors <- err + } + } +} + +func (w *Watcher) sendEvent(name string, mask uint64) bool { + if mask == 0 { + return false + } + event := newEvent(name, uint32(mask)) + select { + case ch := <-w.quit: + w.quit <- ch + case w.Events <- event: + } + return true +} + +func toWindowsFlags(mask uint64) uint32 { + var m uint32 + if mask&sysFSACCESS != 0 { + m |= syscall.FILE_NOTIFY_CHANGE_LAST_ACCESS + } + if mask&sysFSMODIFY != 0 { + m |= syscall.FILE_NOTIFY_CHANGE_LAST_WRITE + } + if mask&sysFSATTRIB != 0 { + m |= syscall.FILE_NOTIFY_CHANGE_ATTRIBUTES + } + if mask&(sysFSMOVE|sysFSCREATE|sysFSDELETE) != 0 { + m |= syscall.FILE_NOTIFY_CHANGE_FILE_NAME | syscall.FILE_NOTIFY_CHANGE_DIR_NAME + } + return m +} + +func toFSnotifyFlags(action uint32) uint64 { + switch action { + case syscall.FILE_ACTION_ADDED: + return sysFSCREATE + case syscall.FILE_ACTION_REMOVED: + return sysFSDELETE + case syscall.FILE_ACTION_MODIFIED: + return sysFSMODIFY + case syscall.FILE_ACTION_RENAMED_OLD_NAME: + return sysFSMOVEDFROM + case syscall.FILE_ACTION_RENAMED_NEW_NAME: + return sysFSMOVEDTO + } + return 0 +} diff --git a/vendor/github.com/hashicorp/hcl/.gitignore b/vendor/github.com/hashicorp/hcl/.gitignore new file mode 100755 index 0000000..822fa09 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/.gitignore @@ -0,0 +1,9 @@ +y.output + +# ignore intellij files +.idea +*.iml +*.ipr +*.iws + +*.test diff --git a/vendor/github.com/hashicorp/hcl/.travis.yml b/vendor/github.com/hashicorp/hcl/.travis.yml new file mode 100755 index 0000000..cb63a32 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/.travis.yml @@ -0,0 +1,13 @@ +sudo: false + +language: go + +go: + - 1.x + - tip + +branches: + only: + - master + +script: make test diff --git a/vendor/github.com/hashicorp/hcl/LICENSE b/vendor/github.com/hashicorp/hcl/LICENSE new file mode 100755 index 0000000..c33dcc7 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/LICENSE @@ -0,0 +1,354 @@ +Mozilla Public License, version 2.0 + +1. Definitions + +1.1. “Contributor” + + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. + +1.2. “Contributor Version” + + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor’s Contribution. + +1.3. “Contribution” + + means Covered Software of a particular Contributor. + +1.4. “Covered Software” + + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. “Incompatible With Secondary Licenses” + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of version + 1.1 or earlier of the License, but not also under the terms of a + Secondary License. + +1.6. “Executable Form” + + means any form of the work other than Source Code Form. + +1.7. “Larger Work” + + means a work that combines Covered Software with other material, in a separate + file or files, that is not Covered Software. + +1.8. “License” + + means this document. + +1.9. “Licensable” + + means having the right to grant, to the maximum extent possible, whether at the + time of the initial grant or subsequently, any and all of the rights conveyed by + this License. + +1.10. “Modifications” + + means any of the following: + + a. any file in Source Code Form that results from an addition to, deletion + from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. “Patent Claims” of a Contributor + + means any patent claim(s), including without limitation, method, process, + and apparatus claims, in any patent Licensable by such Contributor that + would be infringed, but for the grant of the License, by the making, + using, selling, offering for sale, having made, import, or transfer of + either its Contributions or its Contributor Version. + +1.12. “Secondary License” + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. “Source Code Form” + + means the form of the work preferred for making modifications. + +1.14. “You” (or “Your”) + + means an individual or a legal entity exercising rights under this + License. For legal entities, “You” includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, “control” means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants + + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or as + part of a Larger Work; and + + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its Contributions + or its Contributor Version. + +2.2. Effective Date + + The licenses granted in Section 2.1 with respect to any Contribution become + effective for each Contribution on the date the Contributor first distributes + such Contribution. + +2.3. Limitations on Grant Scope + + The licenses granted in this Section 2 are the only rights granted under this + License. No additional rights or licenses will be implied from the distribution + or licensing of Covered Software under this License. Notwithstanding Section + 2.1(b) above, no patent license is granted by a Contributor: + + a. for any code that a Contributor has removed from Covered Software; or + + b. for infringements caused by: (i) Your and any other third party’s + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + + c. under Patent Claims infringed by Covered Software in the absence of its + Contributions. + + This License does not grant any rights in the trademarks, service marks, or + logos of any Contributor (except as may be necessary to comply with the + notice requirements in Section 3.4). + +2.4. Subsequent Licenses + + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this License + (see Section 10.2) or under the terms of a Secondary License (if permitted + under the terms of Section 3.3). + +2.5. Representation + + Each Contributor represents that the Contributor believes its Contributions + are its original creation(s) or it has sufficient rights to grant the + rights to its Contributions conveyed by this License. + +2.6. Fair Use + + This License is not intended to limit any rights You have under applicable + copyright doctrines of fair use, fair dealing, or other equivalents. + +2.7. Conditions + + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. + + +3. Responsibilities + +3.1. Distribution of Source Form + + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under the + terms of this License. You must inform recipients that the Source Code Form + of the Covered Software is governed by the terms of this License, and how + they can obtain a copy of this License. You may not attempt to alter or + restrict the recipients’ rights in the Source Code Form. + +3.2. Distribution of Executable Form + + If You distribute Covered Software in Executable Form then: + + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this License, + or sublicense it under different terms, provided that the license for + the Executable Form does not attempt to limit or alter the recipients’ + rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for the + Covered Software. If the Larger Work is a combination of Covered Software + with a work governed by one or more Secondary Licenses, and the Covered + Software is not Incompatible With Secondary Licenses, this License permits + You to additionally distribute such Covered Software under the terms of + such Secondary License(s), so that the recipient of the Larger Work may, at + their option, further distribute the Covered Software under the terms of + either this License or such Secondary License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices (including + copyright notices, patent notices, disclaimers of warranty, or limitations + of liability) contained within the Source Code Form of the Covered + Software, except that You may alter any license notices to the extent + required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on behalf + of any Contributor. You must make it absolutely clear that any such + warranty, support, indemnity, or liability obligation is offered by You + alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, judicial + order, or regulation then You must: (a) comply with the terms of this License + to the maximum extent possible; and (b) describe the limitations and the code + they affect. Such description must be placed in a text file included with all + distributions of the Covered Software under this License. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing basis, + if such Contributor fails to notify You of the non-compliance by some + reasonable means prior to 60 days after You have come back into compliance. + Moreover, Your grants from a particular Contributor are reinstated on an + ongoing basis if such Contributor notifies You of the non-compliance by + some reasonable means, this is the first time You have received notice of + non-compliance with this License from such Contributor, and You become + compliant prior to 30 days after Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, counter-claims, + and cross-claims) alleging that a Contributor Version directly or + indirectly infringes any patent, then the rights granted to You by any and + all Contributors for the Covered Software under Section 2.1 of this License + shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an “as is” basis, without + warranty of any kind, either expressed, implied, or statutory, including, + without limitation, warranties that the Covered Software is free of defects, + merchantable, fit for a particular purpose or non-infringing. The entire + risk as to the quality and performance of the Covered Software is with You. + Should any Covered Software prove defective in any respect, You (not any + Contributor) assume the cost of any necessary servicing, repair, or + correction. This disclaimer of warranty constitutes an essential part of this + License. No use of any Covered Software is authorized under this License + except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from such + party’s negligence to the extent applicable law prohibits such limitation. + Some jurisdictions do not allow the exclusion or limitation of incidental or + consequential damages, so this exclusion and limitation may not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts of + a jurisdiction where the defendant maintains its principal place of business + and such litigation shall be governed by laws of that jurisdiction, without + reference to its conflict-of-law provisions. Nothing in this Section shall + prevent a party’s ability to bring cross-claims or counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject matter + hereof. If any provision of this License is held to be unenforceable, such + provision shall be reformed only to the extent necessary to make it + enforceable. Any law or regulation which provides that the language of a + contract shall be construed against the drafter shall not be used to construe + this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version of + the License under which You originally received the Covered Software, or + under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a modified + version of this License if you rename the license and remove any + references to the name of the license steward (except to note that such + modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + If You choose to distribute Source Code Form that is Incompatible With + Secondary Licenses under the terms of this version of the License, the + notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular file, then +You may include the notice in a location (such as a LICENSE file in a relevant +directory) where a recipient would be likely to look for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - “Incompatible With Secondary Licenses” Notice + + This Source Code Form is “Incompatible + With Secondary Licenses”, as defined by + the Mozilla Public License, v. 2.0. + diff --git a/vendor/github.com/hashicorp/hcl/Makefile b/vendor/github.com/hashicorp/hcl/Makefile new file mode 100755 index 0000000..9fafd50 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/Makefile @@ -0,0 +1,18 @@ +TEST?=./... + +default: test + +fmt: generate + go fmt ./... + +test: generate + go get -t ./... + go test $(TEST) $(TESTARGS) + +generate: + go generate ./... + +updatedeps: + go get -u golang.org/x/tools/cmd/stringer + +.PHONY: default generate test updatedeps diff --git a/vendor/github.com/hashicorp/hcl/README.md b/vendor/github.com/hashicorp/hcl/README.md new file mode 100755 index 0000000..c822332 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/README.md @@ -0,0 +1,125 @@ +# HCL + +[![GoDoc](https://godoc.org/github.com/hashicorp/hcl?status.png)](https://godoc.org/github.com/hashicorp/hcl) [![Build Status](https://travis-ci.org/hashicorp/hcl.svg?branch=master)](https://travis-ci.org/hashicorp/hcl) + +HCL (HashiCorp Configuration Language) is a configuration language built +by HashiCorp. The goal of HCL is to build a structured configuration language +that is both human and machine friendly for use with command-line tools, but +specifically targeted towards DevOps tools, servers, etc. + +HCL is also fully JSON compatible. That is, JSON can be used as completely +valid input to a system expecting HCL. This helps makes systems +interoperable with other systems. + +HCL is heavily inspired by +[libucl](https://github.com/vstakhov/libucl), +nginx configuration, and others similar. + +## Why? + +A common question when viewing HCL is to ask the question: why not +JSON, YAML, etc.? + +Prior to HCL, the tools we built at [HashiCorp](http://www.hashicorp.com) +used a variety of configuration languages from full programming languages +such as Ruby to complete data structure languages such as JSON. What we +learned is that some people wanted human-friendly configuration languages +and some people wanted machine-friendly languages. + +JSON fits a nice balance in this, but is fairly verbose and most +importantly doesn't support comments. With YAML, we found that beginners +had a really hard time determining what the actual structure was, and +ended up guessing more often than not whether to use a hyphen, colon, etc. +in order to represent some configuration key. + +Full programming languages such as Ruby enable complex behavior +a configuration language shouldn't usually allow, and also forces +people to learn some set of Ruby. + +Because of this, we decided to create our own configuration language +that is JSON-compatible. Our configuration language (HCL) is designed +to be written and modified by humans. The API for HCL allows JSON +as an input so that it is also machine-friendly (machines can generate +JSON instead of trying to generate HCL). + +Our goal with HCL is not to alienate other configuration languages. +It is instead to provide HCL as a specialized language for our tools, +and JSON as the interoperability layer. + +## Syntax + +For a complete grammar, please see the parser itself. A high-level overview +of the syntax and grammar is listed here. + + * Single line comments start with `#` or `//` + + * Multi-line comments are wrapped in `/*` and `*/`. Nested block comments + are not allowed. A multi-line comment (also known as a block comment) + terminates at the first `*/` found. + + * Values are assigned with the syntax `key = value` (whitespace doesn't + matter). The value can be any primitive: a string, number, boolean, + object, or list. + + * Strings are double-quoted and can contain any UTF-8 characters. + Example: `"Hello, World"` + + * Multi-line strings start with `<- + echo %Path% + + go version + + go env + + go get -t ./... + +build_script: +- cmd: go test -v ./... diff --git a/vendor/github.com/hashicorp/hcl/decoder.go b/vendor/github.com/hashicorp/hcl/decoder.go new file mode 100755 index 0000000..bed9ebb --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/decoder.go @@ -0,0 +1,729 @@ +package hcl + +import ( + "errors" + "fmt" + "reflect" + "sort" + "strconv" + "strings" + + "github.com/hashicorp/hcl/hcl/ast" + "github.com/hashicorp/hcl/hcl/parser" + "github.com/hashicorp/hcl/hcl/token" +) + +// This is the tag to use with structures to have settings for HCL +const tagName = "hcl" + +var ( + // nodeType holds a reference to the type of ast.Node + nodeType reflect.Type = findNodeType() +) + +// Unmarshal accepts a byte slice as input and writes the +// data to the value pointed to by v. +func Unmarshal(bs []byte, v interface{}) error { + root, err := parse(bs) + if err != nil { + return err + } + + return DecodeObject(v, root) +} + +// Decode reads the given input and decodes it into the structure +// given by `out`. +func Decode(out interface{}, in string) error { + obj, err := Parse(in) + if err != nil { + return err + } + + return DecodeObject(out, obj) +} + +// DecodeObject is a lower-level version of Decode. It decodes a +// raw Object into the given output. +func DecodeObject(out interface{}, n ast.Node) error { + val := reflect.ValueOf(out) + if val.Kind() != reflect.Ptr { + return errors.New("result must be a pointer") + } + + // If we have the file, we really decode the root node + if f, ok := n.(*ast.File); ok { + n = f.Node + } + + var d decoder + return d.decode("root", n, val.Elem()) +} + +type decoder struct { + stack []reflect.Kind +} + +func (d *decoder) decode(name string, node ast.Node, result reflect.Value) error { + k := result + + // If we have an interface with a valid value, we use that + // for the check. + if result.Kind() == reflect.Interface { + elem := result.Elem() + if elem.IsValid() { + k = elem + } + } + + // Push current onto stack unless it is an interface. + if k.Kind() != reflect.Interface { + d.stack = append(d.stack, k.Kind()) + + // Schedule a pop + defer func() { + d.stack = d.stack[:len(d.stack)-1] + }() + } + + switch k.Kind() { + case reflect.Bool: + return d.decodeBool(name, node, result) + case reflect.Float32, reflect.Float64: + return d.decodeFloat(name, node, result) + case reflect.Int, reflect.Int32, reflect.Int64: + return d.decodeInt(name, node, result) + case reflect.Interface: + // When we see an interface, we make our own thing + return d.decodeInterface(name, node, result) + case reflect.Map: + return d.decodeMap(name, node, result) + case reflect.Ptr: + return d.decodePtr(name, node, result) + case reflect.Slice: + return d.decodeSlice(name, node, result) + case reflect.String: + return d.decodeString(name, node, result) + case reflect.Struct: + return d.decodeStruct(name, node, result) + default: + return &parser.PosError{ + Pos: node.Pos(), + Err: fmt.Errorf("%s: unknown kind to decode into: %s", name, k.Kind()), + } + } +} + +func (d *decoder) decodeBool(name string, node ast.Node, result reflect.Value) error { + switch n := node.(type) { + case *ast.LiteralType: + if n.Token.Type == token.BOOL { + v, err := strconv.ParseBool(n.Token.Text) + if err != nil { + return err + } + + result.Set(reflect.ValueOf(v)) + return nil + } + } + + return &parser.PosError{ + Pos: node.Pos(), + Err: fmt.Errorf("%s: unknown type %T", name, node), + } +} + +func (d *decoder) decodeFloat(name string, node ast.Node, result reflect.Value) error { + switch n := node.(type) { + case *ast.LiteralType: + if n.Token.Type == token.FLOAT || n.Token.Type == token.NUMBER { + v, err := strconv.ParseFloat(n.Token.Text, 64) + if err != nil { + return err + } + + result.Set(reflect.ValueOf(v).Convert(result.Type())) + return nil + } + } + + return &parser.PosError{ + Pos: node.Pos(), + Err: fmt.Errorf("%s: unknown type %T", name, node), + } +} + +func (d *decoder) decodeInt(name string, node ast.Node, result reflect.Value) error { + switch n := node.(type) { + case *ast.LiteralType: + switch n.Token.Type { + case token.NUMBER: + v, err := strconv.ParseInt(n.Token.Text, 0, 0) + if err != nil { + return err + } + + if result.Kind() == reflect.Interface { + result.Set(reflect.ValueOf(int(v))) + } else { + result.SetInt(v) + } + return nil + case token.STRING: + v, err := strconv.ParseInt(n.Token.Value().(string), 0, 0) + if err != nil { + return err + } + + if result.Kind() == reflect.Interface { + result.Set(reflect.ValueOf(int(v))) + } else { + result.SetInt(v) + } + return nil + } + } + + return &parser.PosError{ + Pos: node.Pos(), + Err: fmt.Errorf("%s: unknown type %T", name, node), + } +} + +func (d *decoder) decodeInterface(name string, node ast.Node, result reflect.Value) error { + // When we see an ast.Node, we retain the value to enable deferred decoding. + // Very useful in situations where we want to preserve ast.Node information + // like Pos + if result.Type() == nodeType && result.CanSet() { + result.Set(reflect.ValueOf(node)) + return nil + } + + var set reflect.Value + redecode := true + + // For testing types, ObjectType should just be treated as a list. We + // set this to a temporary var because we want to pass in the real node. + testNode := node + if ot, ok := node.(*ast.ObjectType); ok { + testNode = ot.List + } + + switch n := testNode.(type) { + case *ast.ObjectList: + // If we're at the root or we're directly within a slice, then we + // decode objects into map[string]interface{}, otherwise we decode + // them into lists. + if len(d.stack) == 0 || d.stack[len(d.stack)-1] == reflect.Slice { + var temp map[string]interface{} + tempVal := reflect.ValueOf(temp) + result := reflect.MakeMap( + reflect.MapOf( + reflect.TypeOf(""), + tempVal.Type().Elem())) + + set = result + } else { + var temp []map[string]interface{} + tempVal := reflect.ValueOf(temp) + result := reflect.MakeSlice( + reflect.SliceOf(tempVal.Type().Elem()), 0, len(n.Items)) + set = result + } + case *ast.ObjectType: + // If we're at the root or we're directly within a slice, then we + // decode objects into map[string]interface{}, otherwise we decode + // them into lists. + if len(d.stack) == 0 || d.stack[len(d.stack)-1] == reflect.Slice { + var temp map[string]interface{} + tempVal := reflect.ValueOf(temp) + result := reflect.MakeMap( + reflect.MapOf( + reflect.TypeOf(""), + tempVal.Type().Elem())) + + set = result + } else { + var temp []map[string]interface{} + tempVal := reflect.ValueOf(temp) + result := reflect.MakeSlice( + reflect.SliceOf(tempVal.Type().Elem()), 0, 1) + set = result + } + case *ast.ListType: + var temp []interface{} + tempVal := reflect.ValueOf(temp) + result := reflect.MakeSlice( + reflect.SliceOf(tempVal.Type().Elem()), 0, 0) + set = result + case *ast.LiteralType: + switch n.Token.Type { + case token.BOOL: + var result bool + set = reflect.Indirect(reflect.New(reflect.TypeOf(result))) + case token.FLOAT: + var result float64 + set = reflect.Indirect(reflect.New(reflect.TypeOf(result))) + case token.NUMBER: + var result int + set = reflect.Indirect(reflect.New(reflect.TypeOf(result))) + case token.STRING, token.HEREDOC: + set = reflect.Indirect(reflect.New(reflect.TypeOf(""))) + default: + return &parser.PosError{ + Pos: node.Pos(), + Err: fmt.Errorf("%s: cannot decode into interface: %T", name, node), + } + } + default: + return fmt.Errorf( + "%s: cannot decode into interface: %T", + name, node) + } + + // Set the result to what its supposed to be, then reset + // result so we don't reflect into this method anymore. + result.Set(set) + + if redecode { + // Revisit the node so that we can use the newly instantiated + // thing and populate it. + if err := d.decode(name, node, result); err != nil { + return err + } + } + + return nil +} + +func (d *decoder) decodeMap(name string, node ast.Node, result reflect.Value) error { + if item, ok := node.(*ast.ObjectItem); ok { + node = &ast.ObjectList{Items: []*ast.ObjectItem{item}} + } + + if ot, ok := node.(*ast.ObjectType); ok { + node = ot.List + } + + n, ok := node.(*ast.ObjectList) + if !ok { + return &parser.PosError{ + Pos: node.Pos(), + Err: fmt.Errorf("%s: not an object type for map (%T)", name, node), + } + } + + // If we have an interface, then we can address the interface, + // but not the slice itself, so get the element but set the interface + set := result + if result.Kind() == reflect.Interface { + result = result.Elem() + } + + resultType := result.Type() + resultElemType := resultType.Elem() + resultKeyType := resultType.Key() + if resultKeyType.Kind() != reflect.String { + return &parser.PosError{ + Pos: node.Pos(), + Err: fmt.Errorf("%s: map must have string keys", name), + } + } + + // Make a map if it is nil + resultMap := result + if result.IsNil() { + resultMap = reflect.MakeMap( + reflect.MapOf(resultKeyType, resultElemType)) + } + + // Go through each element and decode it. + done := make(map[string]struct{}) + for _, item := range n.Items { + if item.Val == nil { + continue + } + + // github.com/hashicorp/terraform/issue/5740 + if len(item.Keys) == 0 { + return &parser.PosError{ + Pos: node.Pos(), + Err: fmt.Errorf("%s: map must have string keys", name), + } + } + + // Get the key we're dealing with, which is the first item + keyStr := item.Keys[0].Token.Value().(string) + + // If we've already processed this key, then ignore it + if _, ok := done[keyStr]; ok { + continue + } + + // Determine the value. If we have more than one key, then we + // get the objectlist of only these keys. + itemVal := item.Val + if len(item.Keys) > 1 { + itemVal = n.Filter(keyStr) + done[keyStr] = struct{}{} + } + + // Make the field name + fieldName := fmt.Sprintf("%s.%s", name, keyStr) + + // Get the key/value as reflection values + key := reflect.ValueOf(keyStr) + val := reflect.Indirect(reflect.New(resultElemType)) + + // If we have a pre-existing value in the map, use that + oldVal := resultMap.MapIndex(key) + if oldVal.IsValid() { + val.Set(oldVal) + } + + // Decode! + if err := d.decode(fieldName, itemVal, val); err != nil { + return err + } + + // Set the value on the map + resultMap.SetMapIndex(key, val) + } + + // Set the final map if we can + set.Set(resultMap) + return nil +} + +func (d *decoder) decodePtr(name string, node ast.Node, result reflect.Value) error { + // Create an element of the concrete (non pointer) type and decode + // into that. Then set the value of the pointer to this type. + resultType := result.Type() + resultElemType := resultType.Elem() + val := reflect.New(resultElemType) + if err := d.decode(name, node, reflect.Indirect(val)); err != nil { + return err + } + + result.Set(val) + return nil +} + +func (d *decoder) decodeSlice(name string, node ast.Node, result reflect.Value) error { + // If we have an interface, then we can address the interface, + // but not the slice itself, so get the element but set the interface + set := result + if result.Kind() == reflect.Interface { + result = result.Elem() + } + // Create the slice if it isn't nil + resultType := result.Type() + resultElemType := resultType.Elem() + if result.IsNil() { + resultSliceType := reflect.SliceOf(resultElemType) + result = reflect.MakeSlice( + resultSliceType, 0, 0) + } + + // Figure out the items we'll be copying into the slice + var items []ast.Node + switch n := node.(type) { + case *ast.ObjectList: + items = make([]ast.Node, len(n.Items)) + for i, item := range n.Items { + items[i] = item + } + case *ast.ObjectType: + items = []ast.Node{n} + case *ast.ListType: + items = n.List + default: + return &parser.PosError{ + Pos: node.Pos(), + Err: fmt.Errorf("unknown slice type: %T", node), + } + } + + for i, item := range items { + fieldName := fmt.Sprintf("%s[%d]", name, i) + + // Decode + val := reflect.Indirect(reflect.New(resultElemType)) + + // if item is an object that was decoded from ambiguous JSON and + // flattened, make sure it's expanded if it needs to decode into a + // defined structure. + item := expandObject(item, val) + + if err := d.decode(fieldName, item, val); err != nil { + return err + } + + // Append it onto the slice + result = reflect.Append(result, val) + } + + set.Set(result) + return nil +} + +// expandObject detects if an ambiguous JSON object was flattened to a List which +// should be decoded into a struct, and expands the ast to properly deocode. +func expandObject(node ast.Node, result reflect.Value) ast.Node { + item, ok := node.(*ast.ObjectItem) + if !ok { + return node + } + + elemType := result.Type() + + // our target type must be a struct + switch elemType.Kind() { + case reflect.Ptr: + switch elemType.Elem().Kind() { + case reflect.Struct: + //OK + default: + return node + } + case reflect.Struct: + //OK + default: + return node + } + + // A list value will have a key and field name. If it had more fields, + // it wouldn't have been flattened. + if len(item.Keys) != 2 { + return node + } + + keyToken := item.Keys[0].Token + item.Keys = item.Keys[1:] + + // we need to un-flatten the ast enough to decode + newNode := &ast.ObjectItem{ + Keys: []*ast.ObjectKey{ + &ast.ObjectKey{ + Token: keyToken, + }, + }, + Val: &ast.ObjectType{ + List: &ast.ObjectList{ + Items: []*ast.ObjectItem{item}, + }, + }, + } + + return newNode +} + +func (d *decoder) decodeString(name string, node ast.Node, result reflect.Value) error { + switch n := node.(type) { + case *ast.LiteralType: + switch n.Token.Type { + case token.NUMBER: + result.Set(reflect.ValueOf(n.Token.Text).Convert(result.Type())) + return nil + case token.STRING, token.HEREDOC: + result.Set(reflect.ValueOf(n.Token.Value()).Convert(result.Type())) + return nil + } + } + + return &parser.PosError{ + Pos: node.Pos(), + Err: fmt.Errorf("%s: unknown type for string %T", name, node), + } +} + +func (d *decoder) decodeStruct(name string, node ast.Node, result reflect.Value) error { + var item *ast.ObjectItem + if it, ok := node.(*ast.ObjectItem); ok { + item = it + node = it.Val + } + + if ot, ok := node.(*ast.ObjectType); ok { + node = ot.List + } + + // Handle the special case where the object itself is a literal. Previously + // the yacc parser would always ensure top-level elements were arrays. The new + // parser does not make the same guarantees, thus we need to convert any + // top-level literal elements into a list. + if _, ok := node.(*ast.LiteralType); ok && item != nil { + node = &ast.ObjectList{Items: []*ast.ObjectItem{item}} + } + + list, ok := node.(*ast.ObjectList) + if !ok { + return &parser.PosError{ + Pos: node.Pos(), + Err: fmt.Errorf("%s: not an object type for struct (%T)", name, node), + } + } + + // This slice will keep track of all the structs we'll be decoding. + // There can be more than one struct if there are embedded structs + // that are squashed. + structs := make([]reflect.Value, 1, 5) + structs[0] = result + + // Compile the list of all the fields that we're going to be decoding + // from all the structs. + type field struct { + field reflect.StructField + val reflect.Value + } + fields := []field{} + for len(structs) > 0 { + structVal := structs[0] + structs = structs[1:] + + structType := structVal.Type() + for i := 0; i < structType.NumField(); i++ { + fieldType := structType.Field(i) + tagParts := strings.Split(fieldType.Tag.Get(tagName), ",") + + // Ignore fields with tag name "-" + if tagParts[0] == "-" { + continue + } + + if fieldType.Anonymous { + fieldKind := fieldType.Type.Kind() + if fieldKind != reflect.Struct { + return &parser.PosError{ + Pos: node.Pos(), + Err: fmt.Errorf("%s: unsupported type to struct: %s", + fieldType.Name, fieldKind), + } + } + + // We have an embedded field. We "squash" the fields down + // if specified in the tag. + squash := false + for _, tag := range tagParts[1:] { + if tag == "squash" { + squash = true + break + } + } + + if squash { + structs = append( + structs, result.FieldByName(fieldType.Name)) + continue + } + } + + // Normal struct field, store it away + fields = append(fields, field{fieldType, structVal.Field(i)}) + } + } + + usedKeys := make(map[string]struct{}) + decodedFields := make([]string, 0, len(fields)) + decodedFieldsVal := make([]reflect.Value, 0) + unusedKeysVal := make([]reflect.Value, 0) + for _, f := range fields { + field, fieldValue := f.field, f.val + if !fieldValue.IsValid() { + // This should never happen + panic("field is not valid") + } + + // If we can't set the field, then it is unexported or something, + // and we just continue onwards. + if !fieldValue.CanSet() { + continue + } + + fieldName := field.Name + + tagValue := field.Tag.Get(tagName) + tagParts := strings.SplitN(tagValue, ",", 2) + if len(tagParts) >= 2 { + switch tagParts[1] { + case "decodedFields": + decodedFieldsVal = append(decodedFieldsVal, fieldValue) + continue + case "key": + if item == nil { + return &parser.PosError{ + Pos: node.Pos(), + Err: fmt.Errorf("%s: %s asked for 'key', impossible", + name, fieldName), + } + } + + fieldValue.SetString(item.Keys[0].Token.Value().(string)) + continue + case "unusedKeys": + unusedKeysVal = append(unusedKeysVal, fieldValue) + continue + } + } + + if tagParts[0] != "" { + fieldName = tagParts[0] + } + + // Determine the element we'll use to decode. If it is a single + // match (only object with the field), then we decode it exactly. + // If it is a prefix match, then we decode the matches. + filter := list.Filter(fieldName) + + prefixMatches := filter.Children() + matches := filter.Elem() + if len(matches.Items) == 0 && len(prefixMatches.Items) == 0 { + continue + } + + // Track the used key + usedKeys[fieldName] = struct{}{} + + // Create the field name and decode. We range over the elements + // because we actually want the value. + fieldName = fmt.Sprintf("%s.%s", name, fieldName) + if len(prefixMatches.Items) > 0 { + if err := d.decode(fieldName, prefixMatches, fieldValue); err != nil { + return err + } + } + for _, match := range matches.Items { + var decodeNode ast.Node = match.Val + if ot, ok := decodeNode.(*ast.ObjectType); ok { + decodeNode = &ast.ObjectList{Items: ot.List.Items} + } + + if err := d.decode(fieldName, decodeNode, fieldValue); err != nil { + return err + } + } + + decodedFields = append(decodedFields, field.Name) + } + + if len(decodedFieldsVal) > 0 { + // Sort it so that it is deterministic + sort.Strings(decodedFields) + + for _, v := range decodedFieldsVal { + v.Set(reflect.ValueOf(decodedFields)) + } + } + + return nil +} + +// findNodeType returns the type of ast.Node +func findNodeType() reflect.Type { + var nodeContainer struct { + Node ast.Node + } + value := reflect.ValueOf(nodeContainer).FieldByName("Node") + return value.Type() +} diff --git a/vendor/github.com/hashicorp/hcl/hcl.go b/vendor/github.com/hashicorp/hcl/hcl.go new file mode 100755 index 0000000..575a20b --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/hcl.go @@ -0,0 +1,11 @@ +// Package hcl decodes HCL into usable Go structures. +// +// hcl input can come in either pure HCL format or JSON format. +// It can be parsed into an AST, and then decoded into a structure, +// or it can be decoded directly from a string into a structure. +// +// If you choose to parse HCL into a raw AST, the benefit is that you +// can write custom visitor implementations to implement custom +// semantic checks. By default, HCL does not perform any semantic +// checks. +package hcl diff --git a/vendor/github.com/hashicorp/hcl/hcl/ast/ast.go b/vendor/github.com/hashicorp/hcl/hcl/ast/ast.go new file mode 100755 index 0000000..6e5ef65 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/hcl/ast/ast.go @@ -0,0 +1,219 @@ +// Package ast declares the types used to represent syntax trees for HCL +// (HashiCorp Configuration Language) +package ast + +import ( + "fmt" + "strings" + + "github.com/hashicorp/hcl/hcl/token" +) + +// Node is an element in the abstract syntax tree. +type Node interface { + node() + Pos() token.Pos +} + +func (File) node() {} +func (ObjectList) node() {} +func (ObjectKey) node() {} +func (ObjectItem) node() {} +func (Comment) node() {} +func (CommentGroup) node() {} +func (ObjectType) node() {} +func (LiteralType) node() {} +func (ListType) node() {} + +// File represents a single HCL file +type File struct { + Node Node // usually a *ObjectList + Comments []*CommentGroup // list of all comments in the source +} + +func (f *File) Pos() token.Pos { + return f.Node.Pos() +} + +// ObjectList represents a list of ObjectItems. An HCL file itself is an +// ObjectList. +type ObjectList struct { + Items []*ObjectItem +} + +func (o *ObjectList) Add(item *ObjectItem) { + o.Items = append(o.Items, item) +} + +// Filter filters out the objects with the given key list as a prefix. +// +// The returned list of objects contain ObjectItems where the keys have +// this prefix already stripped off. This might result in objects with +// zero-length key lists if they have no children. +// +// If no matches are found, an empty ObjectList (non-nil) is returned. +func (o *ObjectList) Filter(keys ...string) *ObjectList { + var result ObjectList + for _, item := range o.Items { + // If there aren't enough keys, then ignore this + if len(item.Keys) < len(keys) { + continue + } + + match := true + for i, key := range item.Keys[:len(keys)] { + key := key.Token.Value().(string) + if key != keys[i] && !strings.EqualFold(key, keys[i]) { + match = false + break + } + } + if !match { + continue + } + + // Strip off the prefix from the children + newItem := *item + newItem.Keys = newItem.Keys[len(keys):] + result.Add(&newItem) + } + + return &result +} + +// Children returns further nested objects (key length > 0) within this +// ObjectList. This should be used with Filter to get at child items. +func (o *ObjectList) Children() *ObjectList { + var result ObjectList + for _, item := range o.Items { + if len(item.Keys) > 0 { + result.Add(item) + } + } + + return &result +} + +// Elem returns items in the list that are direct element assignments +// (key length == 0). This should be used with Filter to get at elements. +func (o *ObjectList) Elem() *ObjectList { + var result ObjectList + for _, item := range o.Items { + if len(item.Keys) == 0 { + result.Add(item) + } + } + + return &result +} + +func (o *ObjectList) Pos() token.Pos { + // always returns the uninitiliazed position + return o.Items[0].Pos() +} + +// ObjectItem represents a HCL Object Item. An item is represented with a key +// (or keys). It can be an assignment or an object (both normal and nested) +type ObjectItem struct { + // keys is only one length long if it's of type assignment. If it's a + // nested object it can be larger than one. In that case "assign" is + // invalid as there is no assignments for a nested object. + Keys []*ObjectKey + + // assign contains the position of "=", if any + Assign token.Pos + + // val is the item itself. It can be an object,list, number, bool or a + // string. If key length is larger than one, val can be only of type + // Object. + Val Node + + LeadComment *CommentGroup // associated lead comment + LineComment *CommentGroup // associated line comment +} + +func (o *ObjectItem) Pos() token.Pos { + // I'm not entirely sure what causes this, but removing this causes + // a test failure. We should investigate at some point. + if len(o.Keys) == 0 { + return token.Pos{} + } + + return o.Keys[0].Pos() +} + +// ObjectKeys are either an identifier or of type string. +type ObjectKey struct { + Token token.Token +} + +func (o *ObjectKey) Pos() token.Pos { + return o.Token.Pos +} + +// LiteralType represents a literal of basic type. Valid types are: +// token.NUMBER, token.FLOAT, token.BOOL and token.STRING +type LiteralType struct { + Token token.Token + + // comment types, only used when in a list + LeadComment *CommentGroup + LineComment *CommentGroup +} + +func (l *LiteralType) Pos() token.Pos { + return l.Token.Pos +} + +// ListStatement represents a HCL List type +type ListType struct { + Lbrack token.Pos // position of "[" + Rbrack token.Pos // position of "]" + List []Node // the elements in lexical order +} + +func (l *ListType) Pos() token.Pos { + return l.Lbrack +} + +func (l *ListType) Add(node Node) { + l.List = append(l.List, node) +} + +// ObjectType represents a HCL Object Type +type ObjectType struct { + Lbrace token.Pos // position of "{" + Rbrace token.Pos // position of "}" + List *ObjectList // the nodes in lexical order +} + +func (o *ObjectType) Pos() token.Pos { + return o.Lbrace +} + +// Comment node represents a single //, # style or /*- style commment +type Comment struct { + Start token.Pos // position of / or # + Text string +} + +func (c *Comment) Pos() token.Pos { + return c.Start +} + +// CommentGroup node represents a sequence of comments with no other tokens and +// no empty lines between. +type CommentGroup struct { + List []*Comment // len(List) > 0 +} + +func (c *CommentGroup) Pos() token.Pos { + return c.List[0].Pos() +} + +//------------------------------------------------------------------- +// GoStringer +//------------------------------------------------------------------- + +func (o *ObjectKey) GoString() string { return fmt.Sprintf("*%#v", *o) } +func (o *ObjectList) GoString() string { return fmt.Sprintf("*%#v", *o) } diff --git a/vendor/github.com/hashicorp/hcl/hcl/ast/walk.go b/vendor/github.com/hashicorp/hcl/hcl/ast/walk.go new file mode 100755 index 0000000..ba07ad4 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/hcl/ast/walk.go @@ -0,0 +1,52 @@ +package ast + +import "fmt" + +// WalkFunc describes a function to be called for each node during a Walk. The +// returned node can be used to rewrite the AST. Walking stops the returned +// bool is false. +type WalkFunc func(Node) (Node, bool) + +// Walk traverses an AST in depth-first order: It starts by calling fn(node); +// node must not be nil. If fn returns true, Walk invokes fn recursively for +// each of the non-nil children of node, followed by a call of fn(nil). The +// returned node of fn can be used to rewrite the passed node to fn. +func Walk(node Node, fn WalkFunc) Node { + rewritten, ok := fn(node) + if !ok { + return rewritten + } + + switch n := node.(type) { + case *File: + n.Node = Walk(n.Node, fn) + case *ObjectList: + for i, item := range n.Items { + n.Items[i] = Walk(item, fn).(*ObjectItem) + } + case *ObjectKey: + // nothing to do + case *ObjectItem: + for i, k := range n.Keys { + n.Keys[i] = Walk(k, fn).(*ObjectKey) + } + + if n.Val != nil { + n.Val = Walk(n.Val, fn) + } + case *LiteralType: + // nothing to do + case *ListType: + for i, l := range n.List { + n.List[i] = Walk(l, fn) + } + case *ObjectType: + n.List = Walk(n.List, fn).(*ObjectList) + default: + // should we panic here? + fmt.Printf("unknown type: %T\n", n) + } + + fn(nil) + return rewritten +} diff --git a/vendor/github.com/hashicorp/hcl/hcl/parser/error.go b/vendor/github.com/hashicorp/hcl/hcl/parser/error.go new file mode 100755 index 0000000..5c99381 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/hcl/parser/error.go @@ -0,0 +1,17 @@ +package parser + +import ( + "fmt" + + "github.com/hashicorp/hcl/hcl/token" +) + +// PosError is a parse error that contains a position. +type PosError struct { + Pos token.Pos + Err error +} + +func (e *PosError) Error() string { + return fmt.Sprintf("At %s: %s", e.Pos, e.Err) +} diff --git a/vendor/github.com/hashicorp/hcl/hcl/parser/parser.go b/vendor/github.com/hashicorp/hcl/hcl/parser/parser.go new file mode 100755 index 0000000..64c83bc --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/hcl/parser/parser.go @@ -0,0 +1,532 @@ +// Package parser implements a parser for HCL (HashiCorp Configuration +// Language) +package parser + +import ( + "bytes" + "errors" + "fmt" + "strings" + + "github.com/hashicorp/hcl/hcl/ast" + "github.com/hashicorp/hcl/hcl/scanner" + "github.com/hashicorp/hcl/hcl/token" +) + +type Parser struct { + sc *scanner.Scanner + + // Last read token + tok token.Token + commaPrev token.Token + + comments []*ast.CommentGroup + leadComment *ast.CommentGroup // last lead comment + lineComment *ast.CommentGroup // last line comment + + enableTrace bool + indent int + n int // buffer size (max = 1) +} + +func newParser(src []byte) *Parser { + return &Parser{ + sc: scanner.New(src), + } +} + +// Parse returns the fully parsed source and returns the abstract syntax tree. +func Parse(src []byte) (*ast.File, error) { + // normalize all line endings + // since the scanner and output only work with "\n" line endings, we may + // end up with dangling "\r" characters in the parsed data. + src = bytes.Replace(src, []byte("\r\n"), []byte("\n"), -1) + + p := newParser(src) + return p.Parse() +} + +var errEofToken = errors.New("EOF token found") + +// Parse returns the fully parsed source and returns the abstract syntax tree. +func (p *Parser) Parse() (*ast.File, error) { + f := &ast.File{} + var err, scerr error + p.sc.Error = func(pos token.Pos, msg string) { + scerr = &PosError{Pos: pos, Err: errors.New(msg)} + } + + f.Node, err = p.objectList(false) + if scerr != nil { + return nil, scerr + } + if err != nil { + return nil, err + } + + f.Comments = p.comments + return f, nil +} + +// objectList parses a list of items within an object (generally k/v pairs). +// The parameter" obj" tells this whether to we are within an object (braces: +// '{', '}') or just at the top level. If we're within an object, we end +// at an RBRACE. +func (p *Parser) objectList(obj bool) (*ast.ObjectList, error) { + defer un(trace(p, "ParseObjectList")) + node := &ast.ObjectList{} + + for { + if obj { + tok := p.scan() + p.unscan() + if tok.Type == token.RBRACE { + break + } + } + + n, err := p.objectItem() + if err == errEofToken { + break // we are finished + } + + // we don't return a nil node, because might want to use already + // collected items. + if err != nil { + return node, err + } + + node.Add(n) + + // object lists can be optionally comma-delimited e.g. when a list of maps + // is being expressed, so a comma is allowed here - it's simply consumed + tok := p.scan() + if tok.Type != token.COMMA { + p.unscan() + } + } + return node, nil +} + +func (p *Parser) consumeComment() (comment *ast.Comment, endline int) { + endline = p.tok.Pos.Line + + // count the endline if it's multiline comment, ie starting with /* + if len(p.tok.Text) > 1 && p.tok.Text[1] == '*' { + // don't use range here - no need to decode Unicode code points + for i := 0; i < len(p.tok.Text); i++ { + if p.tok.Text[i] == '\n' { + endline++ + } + } + } + + comment = &ast.Comment{Start: p.tok.Pos, Text: p.tok.Text} + p.tok = p.sc.Scan() + return +} + +func (p *Parser) consumeCommentGroup(n int) (comments *ast.CommentGroup, endline int) { + var list []*ast.Comment + endline = p.tok.Pos.Line + + for p.tok.Type == token.COMMENT && p.tok.Pos.Line <= endline+n { + var comment *ast.Comment + comment, endline = p.consumeComment() + list = append(list, comment) + } + + // add comment group to the comments list + comments = &ast.CommentGroup{List: list} + p.comments = append(p.comments, comments) + + return +} + +// objectItem parses a single object item +func (p *Parser) objectItem() (*ast.ObjectItem, error) { + defer un(trace(p, "ParseObjectItem")) + + keys, err := p.objectKey() + if len(keys) > 0 && err == errEofToken { + // We ignore eof token here since it is an error if we didn't + // receive a value (but we did receive a key) for the item. + err = nil + } + if len(keys) > 0 && err != nil && p.tok.Type == token.RBRACE { + // This is a strange boolean statement, but what it means is: + // We have keys with no value, and we're likely in an object + // (since RBrace ends an object). For this, we set err to nil so + // we continue and get the error below of having the wrong value + // type. + err = nil + + // Reset the token type so we don't think it completed fine. See + // objectType which uses p.tok.Type to check if we're done with + // the object. + p.tok.Type = token.EOF + } + if err != nil { + return nil, err + } + + o := &ast.ObjectItem{ + Keys: keys, + } + + if p.leadComment != nil { + o.LeadComment = p.leadComment + p.leadComment = nil + } + + switch p.tok.Type { + case token.ASSIGN: + o.Assign = p.tok.Pos + o.Val, err = p.object() + if err != nil { + return nil, err + } + case token.LBRACE: + o.Val, err = p.objectType() + if err != nil { + return nil, err + } + default: + keyStr := make([]string, 0, len(keys)) + for _, k := range keys { + keyStr = append(keyStr, k.Token.Text) + } + + return nil, &PosError{ + Pos: p.tok.Pos, + Err: fmt.Errorf( + "key '%s' expected start of object ('{') or assignment ('=')", + strings.Join(keyStr, " ")), + } + } + + // key=#comment + // val + if p.lineComment != nil { + o.LineComment, p.lineComment = p.lineComment, nil + } + + // do a look-ahead for line comment + p.scan() + if len(keys) > 0 && o.Val.Pos().Line == keys[0].Pos().Line && p.lineComment != nil { + o.LineComment = p.lineComment + p.lineComment = nil + } + p.unscan() + return o, nil +} + +// objectKey parses an object key and returns a ObjectKey AST +func (p *Parser) objectKey() ([]*ast.ObjectKey, error) { + keyCount := 0 + keys := make([]*ast.ObjectKey, 0) + + for { + tok := p.scan() + switch tok.Type { + case token.EOF: + // It is very important to also return the keys here as well as + // the error. This is because we need to be able to tell if we + // did parse keys prior to finding the EOF, or if we just found + // a bare EOF. + return keys, errEofToken + case token.ASSIGN: + // assignment or object only, but not nested objects. this is not + // allowed: `foo bar = {}` + if keyCount > 1 { + return nil, &PosError{ + Pos: p.tok.Pos, + Err: fmt.Errorf("nested object expected: LBRACE got: %s", p.tok.Type), + } + } + + if keyCount == 0 { + return nil, &PosError{ + Pos: p.tok.Pos, + Err: errors.New("no object keys found!"), + } + } + + return keys, nil + case token.LBRACE: + var err error + + // If we have no keys, then it is a syntax error. i.e. {{}} is not + // allowed. + if len(keys) == 0 { + err = &PosError{ + Pos: p.tok.Pos, + Err: fmt.Errorf("expected: IDENT | STRING got: %s", p.tok.Type), + } + } + + // object + return keys, err + case token.IDENT, token.STRING: + keyCount++ + keys = append(keys, &ast.ObjectKey{Token: p.tok}) + case token.ILLEGAL: + return keys, &PosError{ + Pos: p.tok.Pos, + Err: fmt.Errorf("illegal character"), + } + default: + return keys, &PosError{ + Pos: p.tok.Pos, + Err: fmt.Errorf("expected: IDENT | STRING | ASSIGN | LBRACE got: %s", p.tok.Type), + } + } + } +} + +// object parses any type of object, such as number, bool, string, object or +// list. +func (p *Parser) object() (ast.Node, error) { + defer un(trace(p, "ParseType")) + tok := p.scan() + + switch tok.Type { + case token.NUMBER, token.FLOAT, token.BOOL, token.STRING, token.HEREDOC: + return p.literalType() + case token.LBRACE: + return p.objectType() + case token.LBRACK: + return p.listType() + case token.COMMENT: + // implement comment + case token.EOF: + return nil, errEofToken + } + + return nil, &PosError{ + Pos: tok.Pos, + Err: fmt.Errorf("Unknown token: %+v", tok), + } +} + +// objectType parses an object type and returns a ObjectType AST +func (p *Parser) objectType() (*ast.ObjectType, error) { + defer un(trace(p, "ParseObjectType")) + + // we assume that the currently scanned token is a LBRACE + o := &ast.ObjectType{ + Lbrace: p.tok.Pos, + } + + l, err := p.objectList(true) + + // if we hit RBRACE, we are good to go (means we parsed all Items), if it's + // not a RBRACE, it's an syntax error and we just return it. + if err != nil && p.tok.Type != token.RBRACE { + return nil, err + } + + // No error, scan and expect the ending to be a brace + if tok := p.scan(); tok.Type != token.RBRACE { + return nil, &PosError{ + Pos: tok.Pos, + Err: fmt.Errorf("object expected closing RBRACE got: %s", tok.Type), + } + } + + o.List = l + o.Rbrace = p.tok.Pos // advanced via parseObjectList + return o, nil +} + +// listType parses a list type and returns a ListType AST +func (p *Parser) listType() (*ast.ListType, error) { + defer un(trace(p, "ParseListType")) + + // we assume that the currently scanned token is a LBRACK + l := &ast.ListType{ + Lbrack: p.tok.Pos, + } + + needComma := false + for { + tok := p.scan() + if needComma { + switch tok.Type { + case token.COMMA, token.RBRACK: + default: + return nil, &PosError{ + Pos: tok.Pos, + Err: fmt.Errorf( + "error parsing list, expected comma or list end, got: %s", + tok.Type), + } + } + } + switch tok.Type { + case token.BOOL, token.NUMBER, token.FLOAT, token.STRING, token.HEREDOC: + node, err := p.literalType() + if err != nil { + return nil, err + } + + // If there is a lead comment, apply it + if p.leadComment != nil { + node.LeadComment = p.leadComment + p.leadComment = nil + } + + l.Add(node) + needComma = true + case token.COMMA: + // get next list item or we are at the end + // do a look-ahead for line comment + p.scan() + if p.lineComment != nil && len(l.List) > 0 { + lit, ok := l.List[len(l.List)-1].(*ast.LiteralType) + if ok { + lit.LineComment = p.lineComment + l.List[len(l.List)-1] = lit + p.lineComment = nil + } + } + p.unscan() + + needComma = false + continue + case token.LBRACE: + // Looks like a nested object, so parse it out + node, err := p.objectType() + if err != nil { + return nil, &PosError{ + Pos: tok.Pos, + Err: fmt.Errorf( + "error while trying to parse object within list: %s", err), + } + } + l.Add(node) + needComma = true + case token.LBRACK: + node, err := p.listType() + if err != nil { + return nil, &PosError{ + Pos: tok.Pos, + Err: fmt.Errorf( + "error while trying to parse list within list: %s", err), + } + } + l.Add(node) + case token.RBRACK: + // finished + l.Rbrack = p.tok.Pos + return l, nil + default: + return nil, &PosError{ + Pos: tok.Pos, + Err: fmt.Errorf("unexpected token while parsing list: %s", tok.Type), + } + } + } +} + +// literalType parses a literal type and returns a LiteralType AST +func (p *Parser) literalType() (*ast.LiteralType, error) { + defer un(trace(p, "ParseLiteral")) + + return &ast.LiteralType{ + Token: p.tok, + }, nil +} + +// scan returns the next token from the underlying scanner. If a token has +// been unscanned then read that instead. In the process, it collects any +// comment groups encountered, and remembers the last lead and line comments. +func (p *Parser) scan() token.Token { + // If we have a token on the buffer, then return it. + if p.n != 0 { + p.n = 0 + return p.tok + } + + // Otherwise read the next token from the scanner and Save it to the buffer + // in case we unscan later. + prev := p.tok + p.tok = p.sc.Scan() + + if p.tok.Type == token.COMMENT { + var comment *ast.CommentGroup + var endline int + + // fmt.Printf("p.tok.Pos.Line = %+v prev: %d endline %d \n", + // p.tok.Pos.Line, prev.Pos.Line, endline) + if p.tok.Pos.Line == prev.Pos.Line { + // The comment is on same line as the previous token; it + // cannot be a lead comment but may be a line comment. + comment, endline = p.consumeCommentGroup(0) + if p.tok.Pos.Line != endline { + // The next token is on a different line, thus + // the last comment group is a line comment. + p.lineComment = comment + } + } + + // consume successor comments, if any + endline = -1 + for p.tok.Type == token.COMMENT { + comment, endline = p.consumeCommentGroup(1) + } + + if endline+1 == p.tok.Pos.Line && p.tok.Type != token.RBRACE { + switch p.tok.Type { + case token.RBRACE, token.RBRACK: + // Do not count for these cases + default: + // The next token is following on the line immediately after the + // comment group, thus the last comment group is a lead comment. + p.leadComment = comment + } + } + + } + + return p.tok +} + +// unscan pushes the previously read token back onto the buffer. +func (p *Parser) unscan() { + p.n = 1 +} + +// ---------------------------------------------------------------------------- +// Parsing support + +func (p *Parser) printTrace(a ...interface{}) { + if !p.enableTrace { + return + } + + const dots = ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " + const n = len(dots) + fmt.Printf("%5d:%3d: ", p.tok.Pos.Line, p.tok.Pos.Column) + + i := 2 * p.indent + for i > n { + fmt.Print(dots) + i -= n + } + // i <= n + fmt.Print(dots[0:i]) + fmt.Println(a...) +} + +func trace(p *Parser, msg string) *Parser { + p.printTrace(msg, "(") + p.indent++ + return p +} + +// Usage pattern: defer un(trace(p, "...")) +func un(p *Parser) { + p.indent-- + p.printTrace(")") +} diff --git a/vendor/github.com/hashicorp/hcl/hcl/printer/nodes.go b/vendor/github.com/hashicorp/hcl/hcl/printer/nodes.go new file mode 100755 index 0000000..7c038d1 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/hcl/printer/nodes.go @@ -0,0 +1,789 @@ +package printer + +import ( + "bytes" + "fmt" + "sort" + + "github.com/hashicorp/hcl/hcl/ast" + "github.com/hashicorp/hcl/hcl/token" +) + +const ( + blank = byte(' ') + newline = byte('\n') + tab = byte('\t') + infinity = 1 << 30 // offset or line +) + +var ( + unindent = []byte("\uE123") // in the private use space +) + +type printer struct { + cfg Config + prev token.Pos + + comments []*ast.CommentGroup // may be nil, contains all comments + standaloneComments []*ast.CommentGroup // contains all standalone comments (not assigned to any node) + + enableTrace bool + indentTrace int +} + +type ByPosition []*ast.CommentGroup + +func (b ByPosition) Len() int { return len(b) } +func (b ByPosition) Swap(i, j int) { b[i], b[j] = b[j], b[i] } +func (b ByPosition) Less(i, j int) bool { return b[i].Pos().Before(b[j].Pos()) } + +// collectComments comments all standalone comments which are not lead or line +// comment +func (p *printer) collectComments(node ast.Node) { + // first collect all comments. This is already stored in + // ast.File.(comments) + ast.Walk(node, func(nn ast.Node) (ast.Node, bool) { + switch t := nn.(type) { + case *ast.File: + p.comments = t.Comments + return nn, false + } + return nn, true + }) + + standaloneComments := make(map[token.Pos]*ast.CommentGroup, 0) + for _, c := range p.comments { + standaloneComments[c.Pos()] = c + } + + // next remove all lead and line comments from the overall comment map. + // This will give us comments which are standalone, comments which are not + // assigned to any kind of node. + ast.Walk(node, func(nn ast.Node) (ast.Node, bool) { + switch t := nn.(type) { + case *ast.LiteralType: + if t.LeadComment != nil { + for _, comment := range t.LeadComment.List { + if _, ok := standaloneComments[comment.Pos()]; ok { + delete(standaloneComments, comment.Pos()) + } + } + } + + if t.LineComment != nil { + for _, comment := range t.LineComment.List { + if _, ok := standaloneComments[comment.Pos()]; ok { + delete(standaloneComments, comment.Pos()) + } + } + } + case *ast.ObjectItem: + if t.LeadComment != nil { + for _, comment := range t.LeadComment.List { + if _, ok := standaloneComments[comment.Pos()]; ok { + delete(standaloneComments, comment.Pos()) + } + } + } + + if t.LineComment != nil { + for _, comment := range t.LineComment.List { + if _, ok := standaloneComments[comment.Pos()]; ok { + delete(standaloneComments, comment.Pos()) + } + } + } + } + + return nn, true + }) + + for _, c := range standaloneComments { + p.standaloneComments = append(p.standaloneComments, c) + } + + sort.Sort(ByPosition(p.standaloneComments)) +} + +// output prints creates b printable HCL output and returns it. +func (p *printer) output(n interface{}) []byte { + var buf bytes.Buffer + + switch t := n.(type) { + case *ast.File: + // File doesn't trace so we add the tracing here + defer un(trace(p, "File")) + return p.output(t.Node) + case *ast.ObjectList: + defer un(trace(p, "ObjectList")) + + var index int + for { + // Determine the location of the next actual non-comment + // item. If we're at the end, the next item is at "infinity" + var nextItem token.Pos + if index != len(t.Items) { + nextItem = t.Items[index].Pos() + } else { + nextItem = token.Pos{Offset: infinity, Line: infinity} + } + + // Go through the standalone comments in the file and print out + // the comments that we should be for this object item. + for _, c := range p.standaloneComments { + // Go through all the comments in the group. The group + // should be printed together, not separated by double newlines. + printed := false + newlinePrinted := false + for _, comment := range c.List { + // We only care about comments after the previous item + // we've printed so that comments are printed in the + // correct locations (between two objects for example). + // And before the next item. + if comment.Pos().After(p.prev) && comment.Pos().Before(nextItem) { + // if we hit the end add newlines so we can print the comment + // we don't do this if prev is invalid which means the + // beginning of the file since the first comment should + // be at the first line. + if !newlinePrinted && p.prev.IsValid() && index == len(t.Items) { + buf.Write([]byte{newline, newline}) + newlinePrinted = true + } + + // Write the actual comment. + buf.WriteString(comment.Text) + buf.WriteByte(newline) + + // Set printed to true to note that we printed something + printed = true + } + } + + // If we're not at the last item, write a new line so + // that there is a newline separating this comment from + // the next object. + if printed && index != len(t.Items) { + buf.WriteByte(newline) + } + } + + if index == len(t.Items) { + break + } + + buf.Write(p.output(t.Items[index])) + if index != len(t.Items)-1 { + // Always write a newline to separate us from the next item + buf.WriteByte(newline) + + // Need to determine if we're going to separate the next item + // with a blank line. The logic here is simple, though there + // are a few conditions: + // + // 1. The next object is more than one line away anyways, + // so we need an empty line. + // + // 2. The next object is not a "single line" object, so + // we need an empty line. + // + // 3. This current object is not a single line object, + // so we need an empty line. + current := t.Items[index] + next := t.Items[index+1] + if next.Pos().Line != t.Items[index].Pos().Line+1 || + !p.isSingleLineObject(next) || + !p.isSingleLineObject(current) { + buf.WriteByte(newline) + } + } + index++ + } + case *ast.ObjectKey: + buf.WriteString(t.Token.Text) + case *ast.ObjectItem: + p.prev = t.Pos() + buf.Write(p.objectItem(t)) + case *ast.LiteralType: + buf.Write(p.literalType(t)) + case *ast.ListType: + buf.Write(p.list(t)) + case *ast.ObjectType: + buf.Write(p.objectType(t)) + default: + fmt.Printf(" unknown type: %T\n", n) + } + + return buf.Bytes() +} + +func (p *printer) literalType(lit *ast.LiteralType) []byte { + result := []byte(lit.Token.Text) + switch lit.Token.Type { + case token.HEREDOC: + // Clear the trailing newline from heredocs + if result[len(result)-1] == '\n' { + result = result[:len(result)-1] + } + + // Poison lines 2+ so that we don't indent them + result = p.heredocIndent(result) + case token.STRING: + // If this is a multiline string, poison lines 2+ so we don't + // indent them. + if bytes.IndexRune(result, '\n') >= 0 { + result = p.heredocIndent(result) + } + } + + return result +} + +// objectItem returns the printable HCL form of an object item. An object type +// starts with one/multiple keys and has a value. The value might be of any +// type. +func (p *printer) objectItem(o *ast.ObjectItem) []byte { + defer un(trace(p, fmt.Sprintf("ObjectItem: %s", o.Keys[0].Token.Text))) + var buf bytes.Buffer + + if o.LeadComment != nil { + for _, comment := range o.LeadComment.List { + buf.WriteString(comment.Text) + buf.WriteByte(newline) + } + } + + // If key and val are on different lines, treat line comments like lead comments. + if o.LineComment != nil && o.Val.Pos().Line != o.Keys[0].Pos().Line { + for _, comment := range o.LineComment.List { + buf.WriteString(comment.Text) + buf.WriteByte(newline) + } + } + + for i, k := range o.Keys { + buf.WriteString(k.Token.Text) + buf.WriteByte(blank) + + // reach end of key + if o.Assign.IsValid() && i == len(o.Keys)-1 && len(o.Keys) == 1 { + buf.WriteString("=") + buf.WriteByte(blank) + } + } + + buf.Write(p.output(o.Val)) + + if o.LineComment != nil && o.Val.Pos().Line == o.Keys[0].Pos().Line { + buf.WriteByte(blank) + for _, comment := range o.LineComment.List { + buf.WriteString(comment.Text) + } + } + + return buf.Bytes() +} + +// objectType returns the printable HCL form of an object type. An object type +// begins with a brace and ends with a brace. +func (p *printer) objectType(o *ast.ObjectType) []byte { + defer un(trace(p, "ObjectType")) + var buf bytes.Buffer + buf.WriteString("{") + + var index int + var nextItem token.Pos + var commented, newlinePrinted bool + for { + // Determine the location of the next actual non-comment + // item. If we're at the end, the next item is the closing brace + if index != len(o.List.Items) { + nextItem = o.List.Items[index].Pos() + } else { + nextItem = o.Rbrace + } + + // Go through the standalone comments in the file and print out + // the comments that we should be for this object item. + for _, c := range p.standaloneComments { + printed := false + var lastCommentPos token.Pos + for _, comment := range c.List { + // We only care about comments after the previous item + // we've printed so that comments are printed in the + // correct locations (between two objects for example). + // And before the next item. + if comment.Pos().After(p.prev) && comment.Pos().Before(nextItem) { + // If there are standalone comments and the initial newline has not + // been printed yet, do it now. + if !newlinePrinted { + newlinePrinted = true + buf.WriteByte(newline) + } + + // add newline if it's between other printed nodes + if index > 0 { + commented = true + buf.WriteByte(newline) + } + + // Store this position + lastCommentPos = comment.Pos() + + // output the comment itself + buf.Write(p.indent(p.heredocIndent([]byte(comment.Text)))) + + // Set printed to true to note that we printed something + printed = true + + /* + if index != len(o.List.Items) { + buf.WriteByte(newline) // do not print on the end + } + */ + } + } + + // Stuff to do if we had comments + if printed { + // Always write a newline + buf.WriteByte(newline) + + // If there is another item in the object and our comment + // didn't hug it directly, then make sure there is a blank + // line separating them. + if nextItem != o.Rbrace && nextItem.Line != lastCommentPos.Line+1 { + buf.WriteByte(newline) + } + } + } + + if index == len(o.List.Items) { + p.prev = o.Rbrace + break + } + + // At this point we are sure that it's not a totally empty block: print + // the initial newline if it hasn't been printed yet by the previous + // block about standalone comments. + if !newlinePrinted { + buf.WriteByte(newline) + newlinePrinted = true + } + + // check if we have adjacent one liner items. If yes we'll going to align + // the comments. + var aligned []*ast.ObjectItem + for _, item := range o.List.Items[index:] { + // we don't group one line lists + if len(o.List.Items) == 1 { + break + } + + // one means a oneliner with out any lead comment + // two means a oneliner with lead comment + // anything else might be something else + cur := lines(string(p.objectItem(item))) + if cur > 2 { + break + } + + curPos := item.Pos() + + nextPos := token.Pos{} + if index != len(o.List.Items)-1 { + nextPos = o.List.Items[index+1].Pos() + } + + prevPos := token.Pos{} + if index != 0 { + prevPos = o.List.Items[index-1].Pos() + } + + // fmt.Println("DEBUG ----------------") + // fmt.Printf("prev = %+v prevPos: %s\n", prev, prevPos) + // fmt.Printf("cur = %+v curPos: %s\n", cur, curPos) + // fmt.Printf("next = %+v nextPos: %s\n", next, nextPos) + + if curPos.Line+1 == nextPos.Line { + aligned = append(aligned, item) + index++ + continue + } + + if curPos.Line-1 == prevPos.Line { + aligned = append(aligned, item) + index++ + + // finish if we have a new line or comment next. This happens + // if the next item is not adjacent + if curPos.Line+1 != nextPos.Line { + break + } + continue + } + + break + } + + // put newlines if the items are between other non aligned items. + // newlines are also added if there is a standalone comment already, so + // check it too + if !commented && index != len(aligned) { + buf.WriteByte(newline) + } + + if len(aligned) >= 1 { + p.prev = aligned[len(aligned)-1].Pos() + + items := p.alignedItems(aligned) + buf.Write(p.indent(items)) + } else { + p.prev = o.List.Items[index].Pos() + + buf.Write(p.indent(p.objectItem(o.List.Items[index]))) + index++ + } + + buf.WriteByte(newline) + } + + buf.WriteString("}") + return buf.Bytes() +} + +func (p *printer) alignedItems(items []*ast.ObjectItem) []byte { + var buf bytes.Buffer + + // find the longest key and value length, needed for alignment + var longestKeyLen int // longest key length + var longestValLen int // longest value length + for _, item := range items { + key := len(item.Keys[0].Token.Text) + val := len(p.output(item.Val)) + + if key > longestKeyLen { + longestKeyLen = key + } + + if val > longestValLen { + longestValLen = val + } + } + + for i, item := range items { + if item.LeadComment != nil { + for _, comment := range item.LeadComment.List { + buf.WriteString(comment.Text) + buf.WriteByte(newline) + } + } + + for i, k := range item.Keys { + keyLen := len(k.Token.Text) + buf.WriteString(k.Token.Text) + for i := 0; i < longestKeyLen-keyLen+1; i++ { + buf.WriteByte(blank) + } + + // reach end of key + if i == len(item.Keys)-1 && len(item.Keys) == 1 { + buf.WriteString("=") + buf.WriteByte(blank) + } + } + + val := p.output(item.Val) + valLen := len(val) + buf.Write(val) + + if item.Val.Pos().Line == item.Keys[0].Pos().Line && item.LineComment != nil { + for i := 0; i < longestValLen-valLen+1; i++ { + buf.WriteByte(blank) + } + + for _, comment := range item.LineComment.List { + buf.WriteString(comment.Text) + } + } + + // do not print for the last item + if i != len(items)-1 { + buf.WriteByte(newline) + } + } + + return buf.Bytes() +} + +// list returns the printable HCL form of an list type. +func (p *printer) list(l *ast.ListType) []byte { + if p.isSingleLineList(l) { + return p.singleLineList(l) + } + + var buf bytes.Buffer + buf.WriteString("[") + buf.WriteByte(newline) + + var longestLine int + for _, item := range l.List { + // for now we assume that the list only contains literal types + if lit, ok := item.(*ast.LiteralType); ok { + lineLen := len(lit.Token.Text) + if lineLen > longestLine { + longestLine = lineLen + } + } + } + + haveEmptyLine := false + for i, item := range l.List { + // If we have a lead comment, then we want to write that first + leadComment := false + if lit, ok := item.(*ast.LiteralType); ok && lit.LeadComment != nil { + leadComment = true + + // Ensure an empty line before every element with a + // lead comment (except the first item in a list). + if !haveEmptyLine && i != 0 { + buf.WriteByte(newline) + } + + for _, comment := range lit.LeadComment.List { + buf.Write(p.indent([]byte(comment.Text))) + buf.WriteByte(newline) + } + } + + // also indent each line + val := p.output(item) + curLen := len(val) + buf.Write(p.indent(val)) + + // if this item is a heredoc, then we output the comma on + // the next line. This is the only case this happens. + comma := []byte{','} + if lit, ok := item.(*ast.LiteralType); ok && lit.Token.Type == token.HEREDOC { + buf.WriteByte(newline) + comma = p.indent(comma) + } + + buf.Write(comma) + + if lit, ok := item.(*ast.LiteralType); ok && lit.LineComment != nil { + // if the next item doesn't have any comments, do not align + buf.WriteByte(blank) // align one space + for i := 0; i < longestLine-curLen; i++ { + buf.WriteByte(blank) + } + + for _, comment := range lit.LineComment.List { + buf.WriteString(comment.Text) + } + } + + buf.WriteByte(newline) + + // Ensure an empty line after every element with a + // lead comment (except the first item in a list). + haveEmptyLine = leadComment && i != len(l.List)-1 + if haveEmptyLine { + buf.WriteByte(newline) + } + } + + buf.WriteString("]") + return buf.Bytes() +} + +// isSingleLineList returns true if: +// * they were previously formatted entirely on one line +// * they consist entirely of literals +// * there are either no heredoc strings or the list has exactly one element +// * there are no line comments +func (printer) isSingleLineList(l *ast.ListType) bool { + for _, item := range l.List { + if item.Pos().Line != l.Lbrack.Line { + return false + } + + lit, ok := item.(*ast.LiteralType) + if !ok { + return false + } + + if lit.Token.Type == token.HEREDOC && len(l.List) != 1 { + return false + } + + if lit.LineComment != nil { + return false + } + } + + return true +} + +// singleLineList prints a simple single line list. +// For a definition of "simple", see isSingleLineList above. +func (p *printer) singleLineList(l *ast.ListType) []byte { + buf := &bytes.Buffer{} + + buf.WriteString("[") + for i, item := range l.List { + if i != 0 { + buf.WriteString(", ") + } + + // Output the item itself + buf.Write(p.output(item)) + + // The heredoc marker needs to be at the end of line. + if lit, ok := item.(*ast.LiteralType); ok && lit.Token.Type == token.HEREDOC { + buf.WriteByte(newline) + } + } + + buf.WriteString("]") + return buf.Bytes() +} + +// indent indents the lines of the given buffer for each non-empty line +func (p *printer) indent(buf []byte) []byte { + var prefix []byte + if p.cfg.SpacesWidth != 0 { + for i := 0; i < p.cfg.SpacesWidth; i++ { + prefix = append(prefix, blank) + } + } else { + prefix = []byte{tab} + } + + var res []byte + bol := true + for _, c := range buf { + if bol && c != '\n' { + res = append(res, prefix...) + } + + res = append(res, c) + bol = c == '\n' + } + return res +} + +// unindent removes all the indentation from the tombstoned lines +func (p *printer) unindent(buf []byte) []byte { + var res []byte + for i := 0; i < len(buf); i++ { + skip := len(buf)-i <= len(unindent) + if !skip { + skip = !bytes.Equal(unindent, buf[i:i+len(unindent)]) + } + if skip { + res = append(res, buf[i]) + continue + } + + // We have a marker. we have to backtrace here and clean out + // any whitespace ahead of our tombstone up to a \n + for j := len(res) - 1; j >= 0; j-- { + if res[j] == '\n' { + break + } + + res = res[:j] + } + + // Skip the entire unindent marker + i += len(unindent) - 1 + } + + return res +} + +// heredocIndent marks all the 2nd and further lines as unindentable +func (p *printer) heredocIndent(buf []byte) []byte { + var res []byte + bol := false + for _, c := range buf { + if bol && c != '\n' { + res = append(res, unindent...) + } + res = append(res, c) + bol = c == '\n' + } + return res +} + +// isSingleLineObject tells whether the given object item is a single +// line object such as "obj {}". +// +// A single line object: +// +// * has no lead comments (hence multi-line) +// * has no assignment +// * has no values in the stanza (within {}) +// +func (p *printer) isSingleLineObject(val *ast.ObjectItem) bool { + // If there is a lead comment, can't be one line + if val.LeadComment != nil { + return false + } + + // If there is assignment, we always break by line + if val.Assign.IsValid() { + return false + } + + // If it isn't an object type, then its not a single line object + ot, ok := val.Val.(*ast.ObjectType) + if !ok { + return false + } + + // If the object has no items, it is single line! + return len(ot.List.Items) == 0 +} + +func lines(txt string) int { + endline := 1 + for i := 0; i < len(txt); i++ { + if txt[i] == '\n' { + endline++ + } + } + return endline +} + +// ---------------------------------------------------------------------------- +// Tracing support + +func (p *printer) printTrace(a ...interface{}) { + if !p.enableTrace { + return + } + + const dots = ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " + const n = len(dots) + i := 2 * p.indentTrace + for i > n { + fmt.Print(dots) + i -= n + } + // i <= n + fmt.Print(dots[0:i]) + fmt.Println(a...) +} + +func trace(p *printer, msg string) *printer { + p.printTrace(msg, "(") + p.indentTrace++ + return p +} + +// Usage pattern: defer un(trace(p, "...")) +func un(p *printer) { + p.indentTrace-- + p.printTrace(")") +} diff --git a/vendor/github.com/hashicorp/hcl/hcl/printer/printer.go b/vendor/github.com/hashicorp/hcl/hcl/printer/printer.go new file mode 100755 index 0000000..6617ab8 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/hcl/printer/printer.go @@ -0,0 +1,66 @@ +// Package printer implements printing of AST nodes to HCL format. +package printer + +import ( + "bytes" + "io" + "text/tabwriter" + + "github.com/hashicorp/hcl/hcl/ast" + "github.com/hashicorp/hcl/hcl/parser" +) + +var DefaultConfig = Config{ + SpacesWidth: 2, +} + +// A Config node controls the output of Fprint. +type Config struct { + SpacesWidth int // if set, it will use spaces instead of tabs for alignment +} + +func (c *Config) Fprint(output io.Writer, node ast.Node) error { + p := &printer{ + cfg: *c, + comments: make([]*ast.CommentGroup, 0), + standaloneComments: make([]*ast.CommentGroup, 0), + // enableTrace: true, + } + + p.collectComments(node) + + if _, err := output.Write(p.unindent(p.output(node))); err != nil { + return err + } + + // flush tabwriter, if any + var err error + if tw, _ := output.(*tabwriter.Writer); tw != nil { + err = tw.Flush() + } + + return err +} + +// Fprint "pretty-prints" an HCL node to output +// It calls Config.Fprint with default settings. +func Fprint(output io.Writer, node ast.Node) error { + return DefaultConfig.Fprint(output, node) +} + +// Format formats src HCL and returns the result. +func Format(src []byte) ([]byte, error) { + node, err := parser.Parse(src) + if err != nil { + return nil, err + } + + var buf bytes.Buffer + if err := DefaultConfig.Fprint(&buf, node); err != nil { + return nil, err + } + + // Add trailing newline to result + buf.WriteString("\n") + return buf.Bytes(), nil +} diff --git a/vendor/github.com/hashicorp/hcl/hcl/scanner/scanner.go b/vendor/github.com/hashicorp/hcl/hcl/scanner/scanner.go new file mode 100755 index 0000000..624a18f --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/hcl/scanner/scanner.go @@ -0,0 +1,652 @@ +// Package scanner implements a scanner for HCL (HashiCorp Configuration +// Language) source text. +package scanner + +import ( + "bytes" + "fmt" + "os" + "regexp" + "unicode" + "unicode/utf8" + + "github.com/hashicorp/hcl/hcl/token" +) + +// eof represents a marker rune for the end of the reader. +const eof = rune(0) + +// Scanner defines a lexical scanner +type Scanner struct { + buf *bytes.Buffer // Source buffer for advancing and scanning + src []byte // Source buffer for immutable access + + // Source Position + srcPos token.Pos // current position + prevPos token.Pos // previous position, used for peek() method + + lastCharLen int // length of last character in bytes + lastLineLen int // length of last line in characters (for correct column reporting) + + tokStart int // token text start position + tokEnd int // token text end position + + // Error is called for each error encountered. If no Error + // function is set, the error is reported to os.Stderr. + Error func(pos token.Pos, msg string) + + // ErrorCount is incremented by one for each error encountered. + ErrorCount int + + // tokPos is the start position of most recently scanned token; set by + // Scan. The Filename field is always left untouched by the Scanner. If + // an error is reported (via Error) and Position is invalid, the scanner is + // not inside a token. + tokPos token.Pos +} + +// New creates and initializes a new instance of Scanner using src as +// its source content. +func New(src []byte) *Scanner { + // even though we accept a src, we read from a io.Reader compatible type + // (*bytes.Buffer). So in the future we might easily change it to streaming + // read. + b := bytes.NewBuffer(src) + s := &Scanner{ + buf: b, + src: src, + } + + // srcPosition always starts with 1 + s.srcPos.Line = 1 + return s +} + +// next reads the next rune from the bufferred reader. Returns the rune(0) if +// an error occurs (or io.EOF is returned). +func (s *Scanner) next() rune { + ch, size, err := s.buf.ReadRune() + if err != nil { + // advance for error reporting + s.srcPos.Column++ + s.srcPos.Offset += size + s.lastCharLen = size + return eof + } + + // remember last position + s.prevPos = s.srcPos + + s.srcPos.Column++ + s.lastCharLen = size + s.srcPos.Offset += size + + if ch == utf8.RuneError && size == 1 { + s.err("illegal UTF-8 encoding") + return ch + } + + if ch == '\n' { + s.srcPos.Line++ + s.lastLineLen = s.srcPos.Column + s.srcPos.Column = 0 + } + + if ch == '\x00' { + s.err("unexpected null character (0x00)") + return eof + } + + if ch == '\uE123' { + s.err("unicode code point U+E123 reserved for internal use") + return utf8.RuneError + } + + // debug + // fmt.Printf("ch: %q, offset:column: %d:%d\n", ch, s.srcPos.Offset, s.srcPos.Column) + return ch +} + +// unread unreads the previous read Rune and updates the source position +func (s *Scanner) unread() { + if err := s.buf.UnreadRune(); err != nil { + panic(err) // this is user fault, we should catch it + } + s.srcPos = s.prevPos // put back last position +} + +// peek returns the next rune without advancing the reader. +func (s *Scanner) peek() rune { + peek, _, err := s.buf.ReadRune() + if err != nil { + return eof + } + + s.buf.UnreadRune() + return peek +} + +// Scan scans the next token and returns the token. +func (s *Scanner) Scan() token.Token { + ch := s.next() + + // skip white space + for isWhitespace(ch) { + ch = s.next() + } + + var tok token.Type + + // token text markings + s.tokStart = s.srcPos.Offset - s.lastCharLen + + // token position, initial next() is moving the offset by one(size of rune + // actually), though we are interested with the starting point + s.tokPos.Offset = s.srcPos.Offset - s.lastCharLen + if s.srcPos.Column > 0 { + // common case: last character was not a '\n' + s.tokPos.Line = s.srcPos.Line + s.tokPos.Column = s.srcPos.Column + } else { + // last character was a '\n' + // (we cannot be at the beginning of the source + // since we have called next() at least once) + s.tokPos.Line = s.srcPos.Line - 1 + s.tokPos.Column = s.lastLineLen + } + + switch { + case isLetter(ch): + tok = token.IDENT + lit := s.scanIdentifier() + if lit == "true" || lit == "false" { + tok = token.BOOL + } + case isDecimal(ch): + tok = s.scanNumber(ch) + default: + switch ch { + case eof: + tok = token.EOF + case '"': + tok = token.STRING + s.scanString() + case '#', '/': + tok = token.COMMENT + s.scanComment(ch) + case '.': + tok = token.PERIOD + ch = s.peek() + if isDecimal(ch) { + tok = token.FLOAT + ch = s.scanMantissa(ch) + ch = s.scanExponent(ch) + } + case '<': + tok = token.HEREDOC + s.scanHeredoc() + case '[': + tok = token.LBRACK + case ']': + tok = token.RBRACK + case '{': + tok = token.LBRACE + case '}': + tok = token.RBRACE + case ',': + tok = token.COMMA + case '=': + tok = token.ASSIGN + case '+': + tok = token.ADD + case '-': + if isDecimal(s.peek()) { + ch := s.next() + tok = s.scanNumber(ch) + } else { + tok = token.SUB + } + default: + s.err("illegal char") + } + } + + // finish token ending + s.tokEnd = s.srcPos.Offset + + // create token literal + var tokenText string + if s.tokStart >= 0 { + tokenText = string(s.src[s.tokStart:s.tokEnd]) + } + s.tokStart = s.tokEnd // ensure idempotency of tokenText() call + + return token.Token{ + Type: tok, + Pos: s.tokPos, + Text: tokenText, + } +} + +func (s *Scanner) scanComment(ch rune) { + // single line comments + if ch == '#' || (ch == '/' && s.peek() != '*') { + if ch == '/' && s.peek() != '/' { + s.err("expected '/' for comment") + return + } + + ch = s.next() + for ch != '\n' && ch >= 0 && ch != eof { + ch = s.next() + } + if ch != eof && ch >= 0 { + s.unread() + } + return + } + + // be sure we get the character after /* This allows us to find comment's + // that are not erminated + if ch == '/' { + s.next() + ch = s.next() // read character after "/*" + } + + // look for /* - style comments + for { + if ch < 0 || ch == eof { + s.err("comment not terminated") + break + } + + ch0 := ch + ch = s.next() + if ch0 == '*' && ch == '/' { + break + } + } +} + +// scanNumber scans a HCL number definition starting with the given rune +func (s *Scanner) scanNumber(ch rune) token.Type { + if ch == '0' { + // check for hexadecimal, octal or float + ch = s.next() + if ch == 'x' || ch == 'X' { + // hexadecimal + ch = s.next() + found := false + for isHexadecimal(ch) { + ch = s.next() + found = true + } + + if !found { + s.err("illegal hexadecimal number") + } + + if ch != eof { + s.unread() + } + + return token.NUMBER + } + + // now it's either something like: 0421(octal) or 0.1231(float) + illegalOctal := false + for isDecimal(ch) { + ch = s.next() + if ch == '8' || ch == '9' { + // this is just a possibility. For example 0159 is illegal, but + // 0159.23 is valid. So we mark a possible illegal octal. If + // the next character is not a period, we'll print the error. + illegalOctal = true + } + } + + if ch == 'e' || ch == 'E' { + ch = s.scanExponent(ch) + return token.FLOAT + } + + if ch == '.' { + ch = s.scanFraction(ch) + + if ch == 'e' || ch == 'E' { + ch = s.next() + ch = s.scanExponent(ch) + } + return token.FLOAT + } + + if illegalOctal { + s.err("illegal octal number") + } + + if ch != eof { + s.unread() + } + return token.NUMBER + } + + s.scanMantissa(ch) + ch = s.next() // seek forward + if ch == 'e' || ch == 'E' { + ch = s.scanExponent(ch) + return token.FLOAT + } + + if ch == '.' { + ch = s.scanFraction(ch) + if ch == 'e' || ch == 'E' { + ch = s.next() + ch = s.scanExponent(ch) + } + return token.FLOAT + } + + if ch != eof { + s.unread() + } + return token.NUMBER +} + +// scanMantissa scans the mantissa beginning from the rune. It returns the next +// non decimal rune. It's used to determine wheter it's a fraction or exponent. +func (s *Scanner) scanMantissa(ch rune) rune { + scanned := false + for isDecimal(ch) { + ch = s.next() + scanned = true + } + + if scanned && ch != eof { + s.unread() + } + return ch +} + +// scanFraction scans the fraction after the '.' rune +func (s *Scanner) scanFraction(ch rune) rune { + if ch == '.' { + ch = s.peek() // we peek just to see if we can move forward + ch = s.scanMantissa(ch) + } + return ch +} + +// scanExponent scans the remaining parts of an exponent after the 'e' or 'E' +// rune. +func (s *Scanner) scanExponent(ch rune) rune { + if ch == 'e' || ch == 'E' { + ch = s.next() + if ch == '-' || ch == '+' { + ch = s.next() + } + ch = s.scanMantissa(ch) + } + return ch +} + +// scanHeredoc scans a heredoc string +func (s *Scanner) scanHeredoc() { + // Scan the second '<' in example: '<= len(identBytes) && identRegexp.Match(s.src[lineStart:s.srcPos.Offset-s.lastCharLen]) { + break + } + + // Not an anchor match, record the start of a new line + lineStart = s.srcPos.Offset + } + + if ch == eof { + s.err("heredoc not terminated") + return + } + } + + return +} + +// scanString scans a quoted string +func (s *Scanner) scanString() { + braces := 0 + for { + // '"' opening already consumed + // read character after quote + ch := s.next() + + if (ch == '\n' && braces == 0) || ch < 0 || ch == eof { + s.err("literal not terminated") + return + } + + if ch == '"' && braces == 0 { + break + } + + // If we're going into a ${} then we can ignore quotes for awhile + if braces == 0 && ch == '$' && s.peek() == '{' { + braces++ + s.next() + } else if braces > 0 && ch == '{' { + braces++ + } + if braces > 0 && ch == '}' { + braces-- + } + + if ch == '\\' { + s.scanEscape() + } + } + + return +} + +// scanEscape scans an escape sequence +func (s *Scanner) scanEscape() rune { + // http://en.cppreference.com/w/cpp/language/escape + ch := s.next() // read character after '/' + switch ch { + case 'a', 'b', 'f', 'n', 'r', 't', 'v', '\\', '"': + // nothing to do + case '0', '1', '2', '3', '4', '5', '6', '7': + // octal notation + ch = s.scanDigits(ch, 8, 3) + case 'x': + // hexademical notation + ch = s.scanDigits(s.next(), 16, 2) + case 'u': + // universal character name + ch = s.scanDigits(s.next(), 16, 4) + case 'U': + // universal character name + ch = s.scanDigits(s.next(), 16, 8) + default: + s.err("illegal char escape") + } + return ch +} + +// scanDigits scans a rune with the given base for n times. For example an +// octal notation \184 would yield in scanDigits(ch, 8, 3) +func (s *Scanner) scanDigits(ch rune, base, n int) rune { + start := n + for n > 0 && digitVal(ch) < base { + ch = s.next() + if ch == eof { + // If we see an EOF, we halt any more scanning of digits + // immediately. + break + } + + n-- + } + if n > 0 { + s.err("illegal char escape") + } + + if n != start && ch != eof { + // we scanned all digits, put the last non digit char back, + // only if we read anything at all + s.unread() + } + + return ch +} + +// scanIdentifier scans an identifier and returns the literal string +func (s *Scanner) scanIdentifier() string { + offs := s.srcPos.Offset - s.lastCharLen + ch := s.next() + for isLetter(ch) || isDigit(ch) || ch == '-' || ch == '.' { + ch = s.next() + } + + if ch != eof { + s.unread() // we got identifier, put back latest char + } + + return string(s.src[offs:s.srcPos.Offset]) +} + +// recentPosition returns the position of the character immediately after the +// character or token returned by the last call to Scan. +func (s *Scanner) recentPosition() (pos token.Pos) { + pos.Offset = s.srcPos.Offset - s.lastCharLen + switch { + case s.srcPos.Column > 0: + // common case: last character was not a '\n' + pos.Line = s.srcPos.Line + pos.Column = s.srcPos.Column + case s.lastLineLen > 0: + // last character was a '\n' + // (we cannot be at the beginning of the source + // since we have called next() at least once) + pos.Line = s.srcPos.Line - 1 + pos.Column = s.lastLineLen + default: + // at the beginning of the source + pos.Line = 1 + pos.Column = 1 + } + return +} + +// err prints the error of any scanning to s.Error function. If the function is +// not defined, by default it prints them to os.Stderr +func (s *Scanner) err(msg string) { + s.ErrorCount++ + pos := s.recentPosition() + + if s.Error != nil { + s.Error(pos, msg) + return + } + + fmt.Fprintf(os.Stderr, "%s: %s\n", pos, msg) +} + +// isHexadecimal returns true if the given rune is a letter +func isLetter(ch rune) bool { + return 'a' <= ch && ch <= 'z' || 'A' <= ch && ch <= 'Z' || ch == '_' || ch >= 0x80 && unicode.IsLetter(ch) +} + +// isDigit returns true if the given rune is a decimal digit +func isDigit(ch rune) bool { + return '0' <= ch && ch <= '9' || ch >= 0x80 && unicode.IsDigit(ch) +} + +// isDecimal returns true if the given rune is a decimal number +func isDecimal(ch rune) bool { + return '0' <= ch && ch <= '9' +} + +// isHexadecimal returns true if the given rune is an hexadecimal number +func isHexadecimal(ch rune) bool { + return '0' <= ch && ch <= '9' || 'a' <= ch && ch <= 'f' || 'A' <= ch && ch <= 'F' +} + +// isWhitespace returns true if the rune is a space, tab, newline or carriage return +func isWhitespace(ch rune) bool { + return ch == ' ' || ch == '\t' || ch == '\n' || ch == '\r' +} + +// digitVal returns the integer value of a given octal,decimal or hexadecimal rune +func digitVal(ch rune) int { + switch { + case '0' <= ch && ch <= '9': + return int(ch - '0') + case 'a' <= ch && ch <= 'f': + return int(ch - 'a' + 10) + case 'A' <= ch && ch <= 'F': + return int(ch - 'A' + 10) + } + return 16 // larger than any legal digit val +} diff --git a/vendor/github.com/hashicorp/hcl/hcl/strconv/quote.go b/vendor/github.com/hashicorp/hcl/hcl/strconv/quote.go new file mode 100755 index 0000000..5f981ea --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/hcl/strconv/quote.go @@ -0,0 +1,241 @@ +package strconv + +import ( + "errors" + "unicode/utf8" +) + +// ErrSyntax indicates that a value does not have the right syntax for the target type. +var ErrSyntax = errors.New("invalid syntax") + +// Unquote interprets s as a single-quoted, double-quoted, +// or backquoted Go string literal, returning the string value +// that s quotes. (If s is single-quoted, it would be a Go +// character literal; Unquote returns the corresponding +// one-character string.) +func Unquote(s string) (t string, err error) { + n := len(s) + if n < 2 { + return "", ErrSyntax + } + quote := s[0] + if quote != s[n-1] { + return "", ErrSyntax + } + s = s[1 : n-1] + + if quote != '"' { + return "", ErrSyntax + } + if !contains(s, '$') && !contains(s, '{') && contains(s, '\n') { + return "", ErrSyntax + } + + // Is it trivial? Avoid allocation. + if !contains(s, '\\') && !contains(s, quote) && !contains(s, '$') { + switch quote { + case '"': + return s, nil + case '\'': + r, size := utf8.DecodeRuneInString(s) + if size == len(s) && (r != utf8.RuneError || size != 1) { + return s, nil + } + } + } + + var runeTmp [utf8.UTFMax]byte + buf := make([]byte, 0, 3*len(s)/2) // Try to avoid more allocations. + for len(s) > 0 { + // If we're starting a '${}' then let it through un-unquoted. + // Specifically: we don't unquote any characters within the `${}` + // section. + if s[0] == '$' && len(s) > 1 && s[1] == '{' { + buf = append(buf, '$', '{') + s = s[2:] + + // Continue reading until we find the closing brace, copying as-is + braces := 1 + for len(s) > 0 && braces > 0 { + r, size := utf8.DecodeRuneInString(s) + if r == utf8.RuneError { + return "", ErrSyntax + } + + s = s[size:] + + n := utf8.EncodeRune(runeTmp[:], r) + buf = append(buf, runeTmp[:n]...) + + switch r { + case '{': + braces++ + case '}': + braces-- + } + } + if braces != 0 { + return "", ErrSyntax + } + if len(s) == 0 { + // If there's no string left, we're done! + break + } else { + // If there's more left, we need to pop back up to the top of the loop + // in case there's another interpolation in this string. + continue + } + } + + if s[0] == '\n' { + return "", ErrSyntax + } + + c, multibyte, ss, err := unquoteChar(s, quote) + if err != nil { + return "", err + } + s = ss + if c < utf8.RuneSelf || !multibyte { + buf = append(buf, byte(c)) + } else { + n := utf8.EncodeRune(runeTmp[:], c) + buf = append(buf, runeTmp[:n]...) + } + if quote == '\'' && len(s) != 0 { + // single-quoted must be single character + return "", ErrSyntax + } + } + return string(buf), nil +} + +// contains reports whether the string contains the byte c. +func contains(s string, c byte) bool { + for i := 0; i < len(s); i++ { + if s[i] == c { + return true + } + } + return false +} + +func unhex(b byte) (v rune, ok bool) { + c := rune(b) + switch { + case '0' <= c && c <= '9': + return c - '0', true + case 'a' <= c && c <= 'f': + return c - 'a' + 10, true + case 'A' <= c && c <= 'F': + return c - 'A' + 10, true + } + return +} + +func unquoteChar(s string, quote byte) (value rune, multibyte bool, tail string, err error) { + // easy cases + switch c := s[0]; { + case c == quote && (quote == '\'' || quote == '"'): + err = ErrSyntax + return + case c >= utf8.RuneSelf: + r, size := utf8.DecodeRuneInString(s) + return r, true, s[size:], nil + case c != '\\': + return rune(s[0]), false, s[1:], nil + } + + // hard case: c is backslash + if len(s) <= 1 { + err = ErrSyntax + return + } + c := s[1] + s = s[2:] + + switch c { + case 'a': + value = '\a' + case 'b': + value = '\b' + case 'f': + value = '\f' + case 'n': + value = '\n' + case 'r': + value = '\r' + case 't': + value = '\t' + case 'v': + value = '\v' + case 'x', 'u', 'U': + n := 0 + switch c { + case 'x': + n = 2 + case 'u': + n = 4 + case 'U': + n = 8 + } + var v rune + if len(s) < n { + err = ErrSyntax + return + } + for j := 0; j < n; j++ { + x, ok := unhex(s[j]) + if !ok { + err = ErrSyntax + return + } + v = v<<4 | x + } + s = s[n:] + if c == 'x' { + // single-byte string, possibly not UTF-8 + value = v + break + } + if v > utf8.MaxRune { + err = ErrSyntax + return + } + value = v + multibyte = true + case '0', '1', '2', '3', '4', '5', '6', '7': + v := rune(c) - '0' + if len(s) < 2 { + err = ErrSyntax + return + } + for j := 0; j < 2; j++ { // one digit already; two more + x := rune(s[j]) - '0' + if x < 0 || x > 7 { + err = ErrSyntax + return + } + v = (v << 3) | x + } + s = s[2:] + if v > 255 { + err = ErrSyntax + return + } + value = v + case '\\': + value = '\\' + case '\'', '"': + if c != quote { + err = ErrSyntax + return + } + value = rune(c) + default: + err = ErrSyntax + return + } + tail = s + return +} diff --git a/vendor/github.com/hashicorp/hcl/hcl/token/position.go b/vendor/github.com/hashicorp/hcl/hcl/token/position.go new file mode 100755 index 0000000..59c1bb7 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/hcl/token/position.go @@ -0,0 +1,46 @@ +package token + +import "fmt" + +// Pos describes an arbitrary source position +// including the file, line, and column location. +// A Position is valid if the line number is > 0. +type Pos struct { + Filename string // filename, if any + Offset int // offset, starting at 0 + Line int // line number, starting at 1 + Column int // column number, starting at 1 (character count) +} + +// IsValid returns true if the position is valid. +func (p *Pos) IsValid() bool { return p.Line > 0 } + +// String returns a string in one of several forms: +// +// file:line:column valid position with file name +// line:column valid position without file name +// file invalid position with file name +// - invalid position without file name +func (p Pos) String() string { + s := p.Filename + if p.IsValid() { + if s != "" { + s += ":" + } + s += fmt.Sprintf("%d:%d", p.Line, p.Column) + } + if s == "" { + s = "-" + } + return s +} + +// Before reports whether the position p is before u. +func (p Pos) Before(u Pos) bool { + return u.Offset > p.Offset || u.Line > p.Line +} + +// After reports whether the position p is after u. +func (p Pos) After(u Pos) bool { + return u.Offset < p.Offset || u.Line < p.Line +} diff --git a/vendor/github.com/hashicorp/hcl/hcl/token/token.go b/vendor/github.com/hashicorp/hcl/hcl/token/token.go new file mode 100755 index 0000000..e37c066 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/hcl/token/token.go @@ -0,0 +1,219 @@ +// Package token defines constants representing the lexical tokens for HCL +// (HashiCorp Configuration Language) +package token + +import ( + "fmt" + "strconv" + "strings" + + hclstrconv "github.com/hashicorp/hcl/hcl/strconv" +) + +// Token defines a single HCL token which can be obtained via the Scanner +type Token struct { + Type Type + Pos Pos + Text string + JSON bool +} + +// Type is the set of lexical tokens of the HCL (HashiCorp Configuration Language) +type Type int + +const ( + // Special tokens + ILLEGAL Type = iota + EOF + COMMENT + + identifier_beg + IDENT // literals + literal_beg + NUMBER // 12345 + FLOAT // 123.45 + BOOL // true,false + STRING // "abc" + HEREDOC // < 0 { + // Pop the current item + n := len(frontier) + item := frontier[n-1] + frontier = frontier[:n-1] + + switch v := item.Val.(type) { + case *ast.ObjectType: + items, frontier = flattenObjectType(v, item, items, frontier) + case *ast.ListType: + items, frontier = flattenListType(v, item, items, frontier) + default: + items = append(items, item) + } + } + + // Reverse the list since the frontier model runs things backwards + for i := len(items)/2 - 1; i >= 0; i-- { + opp := len(items) - 1 - i + items[i], items[opp] = items[opp], items[i] + } + + // Done! Set the original items + list.Items = items + return n, true + }) +} + +func flattenListType( + ot *ast.ListType, + item *ast.ObjectItem, + items []*ast.ObjectItem, + frontier []*ast.ObjectItem) ([]*ast.ObjectItem, []*ast.ObjectItem) { + // If the list is empty, keep the original list + if len(ot.List) == 0 { + items = append(items, item) + return items, frontier + } + + // All the elements of this object must also be objects! + for _, subitem := range ot.List { + if _, ok := subitem.(*ast.ObjectType); !ok { + items = append(items, item) + return items, frontier + } + } + + // Great! We have a match go through all the items and flatten + for _, elem := range ot.List { + // Add it to the frontier so that we can recurse + frontier = append(frontier, &ast.ObjectItem{ + Keys: item.Keys, + Assign: item.Assign, + Val: elem, + LeadComment: item.LeadComment, + LineComment: item.LineComment, + }) + } + + return items, frontier +} + +func flattenObjectType( + ot *ast.ObjectType, + item *ast.ObjectItem, + items []*ast.ObjectItem, + frontier []*ast.ObjectItem) ([]*ast.ObjectItem, []*ast.ObjectItem) { + // If the list has no items we do not have to flatten anything + if ot.List.Items == nil { + items = append(items, item) + return items, frontier + } + + // All the elements of this object must also be objects! + for _, subitem := range ot.List.Items { + if _, ok := subitem.Val.(*ast.ObjectType); !ok { + items = append(items, item) + return items, frontier + } + } + + // Great! We have a match go through all the items and flatten + for _, subitem := range ot.List.Items { + // Copy the new key + keys := make([]*ast.ObjectKey, len(item.Keys)+len(subitem.Keys)) + copy(keys, item.Keys) + copy(keys[len(item.Keys):], subitem.Keys) + + // Add it to the frontier so that we can recurse + frontier = append(frontier, &ast.ObjectItem{ + Keys: keys, + Assign: item.Assign, + Val: subitem.Val, + LeadComment: item.LeadComment, + LineComment: item.LineComment, + }) + } + + return items, frontier +} diff --git a/vendor/github.com/hashicorp/hcl/json/parser/parser.go b/vendor/github.com/hashicorp/hcl/json/parser/parser.go new file mode 100755 index 0000000..125a5f0 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/json/parser/parser.go @@ -0,0 +1,313 @@ +package parser + +import ( + "errors" + "fmt" + + "github.com/hashicorp/hcl/hcl/ast" + hcltoken "github.com/hashicorp/hcl/hcl/token" + "github.com/hashicorp/hcl/json/scanner" + "github.com/hashicorp/hcl/json/token" +) + +type Parser struct { + sc *scanner.Scanner + + // Last read token + tok token.Token + commaPrev token.Token + + enableTrace bool + indent int + n int // buffer size (max = 1) +} + +func newParser(src []byte) *Parser { + return &Parser{ + sc: scanner.New(src), + } +} + +// Parse returns the fully parsed source and returns the abstract syntax tree. +func Parse(src []byte) (*ast.File, error) { + p := newParser(src) + return p.Parse() +} + +var errEofToken = errors.New("EOF token found") + +// Parse returns the fully parsed source and returns the abstract syntax tree. +func (p *Parser) Parse() (*ast.File, error) { + f := &ast.File{} + var err, scerr error + p.sc.Error = func(pos token.Pos, msg string) { + scerr = fmt.Errorf("%s: %s", pos, msg) + } + + // The root must be an object in JSON + object, err := p.object() + if scerr != nil { + return nil, scerr + } + if err != nil { + return nil, err + } + + // We make our final node an object list so it is more HCL compatible + f.Node = object.List + + // Flatten it, which finds patterns and turns them into more HCL-like + // AST trees. + flattenObjects(f.Node) + + return f, nil +} + +func (p *Parser) objectList() (*ast.ObjectList, error) { + defer un(trace(p, "ParseObjectList")) + node := &ast.ObjectList{} + + for { + n, err := p.objectItem() + if err == errEofToken { + break // we are finished + } + + // we don't return a nil node, because might want to use already + // collected items. + if err != nil { + return node, err + } + + node.Add(n) + + // Check for a followup comma. If it isn't a comma, then we're done + if tok := p.scan(); tok.Type != token.COMMA { + break + } + } + + return node, nil +} + +// objectItem parses a single object item +func (p *Parser) objectItem() (*ast.ObjectItem, error) { + defer un(trace(p, "ParseObjectItem")) + + keys, err := p.objectKey() + if err != nil { + return nil, err + } + + o := &ast.ObjectItem{ + Keys: keys, + } + + switch p.tok.Type { + case token.COLON: + pos := p.tok.Pos + o.Assign = hcltoken.Pos{ + Filename: pos.Filename, + Offset: pos.Offset, + Line: pos.Line, + Column: pos.Column, + } + + o.Val, err = p.objectValue() + if err != nil { + return nil, err + } + } + + return o, nil +} + +// objectKey parses an object key and returns a ObjectKey AST +func (p *Parser) objectKey() ([]*ast.ObjectKey, error) { + keyCount := 0 + keys := make([]*ast.ObjectKey, 0) + + for { + tok := p.scan() + switch tok.Type { + case token.EOF: + return nil, errEofToken + case token.STRING: + keyCount++ + keys = append(keys, &ast.ObjectKey{ + Token: p.tok.HCLToken(), + }) + case token.COLON: + // If we have a zero keycount it means that we never got + // an object key, i.e. `{ :`. This is a syntax error. + if keyCount == 0 { + return nil, fmt.Errorf("expected: STRING got: %s", p.tok.Type) + } + + // Done + return keys, nil + case token.ILLEGAL: + return nil, errors.New("illegal") + default: + return nil, fmt.Errorf("expected: STRING got: %s", p.tok.Type) + } + } +} + +// object parses any type of object, such as number, bool, string, object or +// list. +func (p *Parser) objectValue() (ast.Node, error) { + defer un(trace(p, "ParseObjectValue")) + tok := p.scan() + + switch tok.Type { + case token.NUMBER, token.FLOAT, token.BOOL, token.NULL, token.STRING: + return p.literalType() + case token.LBRACE: + return p.objectType() + case token.LBRACK: + return p.listType() + case token.EOF: + return nil, errEofToken + } + + return nil, fmt.Errorf("Expected object value, got unknown token: %+v", tok) +} + +// object parses any type of object, such as number, bool, string, object or +// list. +func (p *Parser) object() (*ast.ObjectType, error) { + defer un(trace(p, "ParseType")) + tok := p.scan() + + switch tok.Type { + case token.LBRACE: + return p.objectType() + case token.EOF: + return nil, errEofToken + } + + return nil, fmt.Errorf("Expected object, got unknown token: %+v", tok) +} + +// objectType parses an object type and returns a ObjectType AST +func (p *Parser) objectType() (*ast.ObjectType, error) { + defer un(trace(p, "ParseObjectType")) + + // we assume that the currently scanned token is a LBRACE + o := &ast.ObjectType{} + + l, err := p.objectList() + + // if we hit RBRACE, we are good to go (means we parsed all Items), if it's + // not a RBRACE, it's an syntax error and we just return it. + if err != nil && p.tok.Type != token.RBRACE { + return nil, err + } + + o.List = l + return o, nil +} + +// listType parses a list type and returns a ListType AST +func (p *Parser) listType() (*ast.ListType, error) { + defer un(trace(p, "ParseListType")) + + // we assume that the currently scanned token is a LBRACK + l := &ast.ListType{} + + for { + tok := p.scan() + switch tok.Type { + case token.NUMBER, token.FLOAT, token.STRING: + node, err := p.literalType() + if err != nil { + return nil, err + } + + l.Add(node) + case token.COMMA: + continue + case token.LBRACE: + node, err := p.objectType() + if err != nil { + return nil, err + } + + l.Add(node) + case token.BOOL: + // TODO(arslan) should we support? not supported by HCL yet + case token.LBRACK: + // TODO(arslan) should we support nested lists? Even though it's + // written in README of HCL, it's not a part of the grammar + // (not defined in parse.y) + case token.RBRACK: + // finished + return l, nil + default: + return nil, fmt.Errorf("unexpected token while parsing list: %s", tok.Type) + } + + } +} + +// literalType parses a literal type and returns a LiteralType AST +func (p *Parser) literalType() (*ast.LiteralType, error) { + defer un(trace(p, "ParseLiteral")) + + return &ast.LiteralType{ + Token: p.tok.HCLToken(), + }, nil +} + +// scan returns the next token from the underlying scanner. If a token has +// been unscanned then read that instead. +func (p *Parser) scan() token.Token { + // If we have a token on the buffer, then return it. + if p.n != 0 { + p.n = 0 + return p.tok + } + + p.tok = p.sc.Scan() + return p.tok +} + +// unscan pushes the previously read token back onto the buffer. +func (p *Parser) unscan() { + p.n = 1 +} + +// ---------------------------------------------------------------------------- +// Parsing support + +func (p *Parser) printTrace(a ...interface{}) { + if !p.enableTrace { + return + } + + const dots = ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " + const n = len(dots) + fmt.Printf("%5d:%3d: ", p.tok.Pos.Line, p.tok.Pos.Column) + + i := 2 * p.indent + for i > n { + fmt.Print(dots) + i -= n + } + // i <= n + fmt.Print(dots[0:i]) + fmt.Println(a...) +} + +func trace(p *Parser, msg string) *Parser { + p.printTrace(msg, "(") + p.indent++ + return p +} + +// Usage pattern: defer un(trace(p, "...")) +func un(p *Parser) { + p.indent-- + p.printTrace(")") +} diff --git a/vendor/github.com/hashicorp/hcl/json/scanner/scanner.go b/vendor/github.com/hashicorp/hcl/json/scanner/scanner.go new file mode 100755 index 0000000..fe3f0f0 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/json/scanner/scanner.go @@ -0,0 +1,451 @@ +package scanner + +import ( + "bytes" + "fmt" + "os" + "unicode" + "unicode/utf8" + + "github.com/hashicorp/hcl/json/token" +) + +// eof represents a marker rune for the end of the reader. +const eof = rune(0) + +// Scanner defines a lexical scanner +type Scanner struct { + buf *bytes.Buffer // Source buffer for advancing and scanning + src []byte // Source buffer for immutable access + + // Source Position + srcPos token.Pos // current position + prevPos token.Pos // previous position, used for peek() method + + lastCharLen int // length of last character in bytes + lastLineLen int // length of last line in characters (for correct column reporting) + + tokStart int // token text start position + tokEnd int // token text end position + + // Error is called for each error encountered. If no Error + // function is set, the error is reported to os.Stderr. + Error func(pos token.Pos, msg string) + + // ErrorCount is incremented by one for each error encountered. + ErrorCount int + + // tokPos is the start position of most recently scanned token; set by + // Scan. The Filename field is always left untouched by the Scanner. If + // an error is reported (via Error) and Position is invalid, the scanner is + // not inside a token. + tokPos token.Pos +} + +// New creates and initializes a new instance of Scanner using src as +// its source content. +func New(src []byte) *Scanner { + // even though we accept a src, we read from a io.Reader compatible type + // (*bytes.Buffer). So in the future we might easily change it to streaming + // read. + b := bytes.NewBuffer(src) + s := &Scanner{ + buf: b, + src: src, + } + + // srcPosition always starts with 1 + s.srcPos.Line = 1 + return s +} + +// next reads the next rune from the bufferred reader. Returns the rune(0) if +// an error occurs (or io.EOF is returned). +func (s *Scanner) next() rune { + ch, size, err := s.buf.ReadRune() + if err != nil { + // advance for error reporting + s.srcPos.Column++ + s.srcPos.Offset += size + s.lastCharLen = size + return eof + } + + if ch == utf8.RuneError && size == 1 { + s.srcPos.Column++ + s.srcPos.Offset += size + s.lastCharLen = size + s.err("illegal UTF-8 encoding") + return ch + } + + // remember last position + s.prevPos = s.srcPos + + s.srcPos.Column++ + s.lastCharLen = size + s.srcPos.Offset += size + + if ch == '\n' { + s.srcPos.Line++ + s.lastLineLen = s.srcPos.Column + s.srcPos.Column = 0 + } + + // debug + // fmt.Printf("ch: %q, offset:column: %d:%d\n", ch, s.srcPos.Offset, s.srcPos.Column) + return ch +} + +// unread unreads the previous read Rune and updates the source position +func (s *Scanner) unread() { + if err := s.buf.UnreadRune(); err != nil { + panic(err) // this is user fault, we should catch it + } + s.srcPos = s.prevPos // put back last position +} + +// peek returns the next rune without advancing the reader. +func (s *Scanner) peek() rune { + peek, _, err := s.buf.ReadRune() + if err != nil { + return eof + } + + s.buf.UnreadRune() + return peek +} + +// Scan scans the next token and returns the token. +func (s *Scanner) Scan() token.Token { + ch := s.next() + + // skip white space + for isWhitespace(ch) { + ch = s.next() + } + + var tok token.Type + + // token text markings + s.tokStart = s.srcPos.Offset - s.lastCharLen + + // token position, initial next() is moving the offset by one(size of rune + // actually), though we are interested with the starting point + s.tokPos.Offset = s.srcPos.Offset - s.lastCharLen + if s.srcPos.Column > 0 { + // common case: last character was not a '\n' + s.tokPos.Line = s.srcPos.Line + s.tokPos.Column = s.srcPos.Column + } else { + // last character was a '\n' + // (we cannot be at the beginning of the source + // since we have called next() at least once) + s.tokPos.Line = s.srcPos.Line - 1 + s.tokPos.Column = s.lastLineLen + } + + switch { + case isLetter(ch): + lit := s.scanIdentifier() + if lit == "true" || lit == "false" { + tok = token.BOOL + } else if lit == "null" { + tok = token.NULL + } else { + s.err("illegal char") + } + case isDecimal(ch): + tok = s.scanNumber(ch) + default: + switch ch { + case eof: + tok = token.EOF + case '"': + tok = token.STRING + s.scanString() + case '.': + tok = token.PERIOD + ch = s.peek() + if isDecimal(ch) { + tok = token.FLOAT + ch = s.scanMantissa(ch) + ch = s.scanExponent(ch) + } + case '[': + tok = token.LBRACK + case ']': + tok = token.RBRACK + case '{': + tok = token.LBRACE + case '}': + tok = token.RBRACE + case ',': + tok = token.COMMA + case ':': + tok = token.COLON + case '-': + if isDecimal(s.peek()) { + ch := s.next() + tok = s.scanNumber(ch) + } else { + s.err("illegal char") + } + default: + s.err("illegal char: " + string(ch)) + } + } + + // finish token ending + s.tokEnd = s.srcPos.Offset + + // create token literal + var tokenText string + if s.tokStart >= 0 { + tokenText = string(s.src[s.tokStart:s.tokEnd]) + } + s.tokStart = s.tokEnd // ensure idempotency of tokenText() call + + return token.Token{ + Type: tok, + Pos: s.tokPos, + Text: tokenText, + } +} + +// scanNumber scans a HCL number definition starting with the given rune +func (s *Scanner) scanNumber(ch rune) token.Type { + zero := ch == '0' + pos := s.srcPos + + s.scanMantissa(ch) + ch = s.next() // seek forward + if ch == 'e' || ch == 'E' { + ch = s.scanExponent(ch) + return token.FLOAT + } + + if ch == '.' { + ch = s.scanFraction(ch) + if ch == 'e' || ch == 'E' { + ch = s.next() + ch = s.scanExponent(ch) + } + return token.FLOAT + } + + if ch != eof { + s.unread() + } + + // If we have a larger number and this is zero, error + if zero && pos != s.srcPos { + s.err("numbers cannot start with 0") + } + + return token.NUMBER +} + +// scanMantissa scans the mantissa beginning from the rune. It returns the next +// non decimal rune. It's used to determine wheter it's a fraction or exponent. +func (s *Scanner) scanMantissa(ch rune) rune { + scanned := false + for isDecimal(ch) { + ch = s.next() + scanned = true + } + + if scanned && ch != eof { + s.unread() + } + return ch +} + +// scanFraction scans the fraction after the '.' rune +func (s *Scanner) scanFraction(ch rune) rune { + if ch == '.' { + ch = s.peek() // we peek just to see if we can move forward + ch = s.scanMantissa(ch) + } + return ch +} + +// scanExponent scans the remaining parts of an exponent after the 'e' or 'E' +// rune. +func (s *Scanner) scanExponent(ch rune) rune { + if ch == 'e' || ch == 'E' { + ch = s.next() + if ch == '-' || ch == '+' { + ch = s.next() + } + ch = s.scanMantissa(ch) + } + return ch +} + +// scanString scans a quoted string +func (s *Scanner) scanString() { + braces := 0 + for { + // '"' opening already consumed + // read character after quote + ch := s.next() + + if ch == '\n' || ch < 0 || ch == eof { + s.err("literal not terminated") + return + } + + if ch == '"' { + break + } + + // If we're going into a ${} then we can ignore quotes for awhile + if braces == 0 && ch == '$' && s.peek() == '{' { + braces++ + s.next() + } else if braces > 0 && ch == '{' { + braces++ + } + if braces > 0 && ch == '}' { + braces-- + } + + if ch == '\\' { + s.scanEscape() + } + } + + return +} + +// scanEscape scans an escape sequence +func (s *Scanner) scanEscape() rune { + // http://en.cppreference.com/w/cpp/language/escape + ch := s.next() // read character after '/' + switch ch { + case 'a', 'b', 'f', 'n', 'r', 't', 'v', '\\', '"': + // nothing to do + case '0', '1', '2', '3', '4', '5', '6', '7': + // octal notation + ch = s.scanDigits(ch, 8, 3) + case 'x': + // hexademical notation + ch = s.scanDigits(s.next(), 16, 2) + case 'u': + // universal character name + ch = s.scanDigits(s.next(), 16, 4) + case 'U': + // universal character name + ch = s.scanDigits(s.next(), 16, 8) + default: + s.err("illegal char escape") + } + return ch +} + +// scanDigits scans a rune with the given base for n times. For example an +// octal notation \184 would yield in scanDigits(ch, 8, 3) +func (s *Scanner) scanDigits(ch rune, base, n int) rune { + for n > 0 && digitVal(ch) < base { + ch = s.next() + n-- + } + if n > 0 { + s.err("illegal char escape") + } + + // we scanned all digits, put the last non digit char back + s.unread() + return ch +} + +// scanIdentifier scans an identifier and returns the literal string +func (s *Scanner) scanIdentifier() string { + offs := s.srcPos.Offset - s.lastCharLen + ch := s.next() + for isLetter(ch) || isDigit(ch) || ch == '-' { + ch = s.next() + } + + if ch != eof { + s.unread() // we got identifier, put back latest char + } + + return string(s.src[offs:s.srcPos.Offset]) +} + +// recentPosition returns the position of the character immediately after the +// character or token returned by the last call to Scan. +func (s *Scanner) recentPosition() (pos token.Pos) { + pos.Offset = s.srcPos.Offset - s.lastCharLen + switch { + case s.srcPos.Column > 0: + // common case: last character was not a '\n' + pos.Line = s.srcPos.Line + pos.Column = s.srcPos.Column + case s.lastLineLen > 0: + // last character was a '\n' + // (we cannot be at the beginning of the source + // since we have called next() at least once) + pos.Line = s.srcPos.Line - 1 + pos.Column = s.lastLineLen + default: + // at the beginning of the source + pos.Line = 1 + pos.Column = 1 + } + return +} + +// err prints the error of any scanning to s.Error function. If the function is +// not defined, by default it prints them to os.Stderr +func (s *Scanner) err(msg string) { + s.ErrorCount++ + pos := s.recentPosition() + + if s.Error != nil { + s.Error(pos, msg) + return + } + + fmt.Fprintf(os.Stderr, "%s: %s\n", pos, msg) +} + +// isHexadecimal returns true if the given rune is a letter +func isLetter(ch rune) bool { + return 'a' <= ch && ch <= 'z' || 'A' <= ch && ch <= 'Z' || ch == '_' || ch >= 0x80 && unicode.IsLetter(ch) +} + +// isHexadecimal returns true if the given rune is a decimal digit +func isDigit(ch rune) bool { + return '0' <= ch && ch <= '9' || ch >= 0x80 && unicode.IsDigit(ch) +} + +// isHexadecimal returns true if the given rune is a decimal number +func isDecimal(ch rune) bool { + return '0' <= ch && ch <= '9' +} + +// isHexadecimal returns true if the given rune is an hexadecimal number +func isHexadecimal(ch rune) bool { + return '0' <= ch && ch <= '9' || 'a' <= ch && ch <= 'f' || 'A' <= ch && ch <= 'F' +} + +// isWhitespace returns true if the rune is a space, tab, newline or carriage return +func isWhitespace(ch rune) bool { + return ch == ' ' || ch == '\t' || ch == '\n' || ch == '\r' +} + +// digitVal returns the integer value of a given octal,decimal or hexadecimal rune +func digitVal(ch rune) int { + switch { + case '0' <= ch && ch <= '9': + return int(ch - '0') + case 'a' <= ch && ch <= 'f': + return int(ch - 'a' + 10) + case 'A' <= ch && ch <= 'F': + return int(ch - 'A' + 10) + } + return 16 // larger than any legal digit val +} diff --git a/vendor/github.com/hashicorp/hcl/json/token/position.go b/vendor/github.com/hashicorp/hcl/json/token/position.go new file mode 100755 index 0000000..59c1bb7 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/json/token/position.go @@ -0,0 +1,46 @@ +package token + +import "fmt" + +// Pos describes an arbitrary source position +// including the file, line, and column location. +// A Position is valid if the line number is > 0. +type Pos struct { + Filename string // filename, if any + Offset int // offset, starting at 0 + Line int // line number, starting at 1 + Column int // column number, starting at 1 (character count) +} + +// IsValid returns true if the position is valid. +func (p *Pos) IsValid() bool { return p.Line > 0 } + +// String returns a string in one of several forms: +// +// file:line:column valid position with file name +// line:column valid position without file name +// file invalid position with file name +// - invalid position without file name +func (p Pos) String() string { + s := p.Filename + if p.IsValid() { + if s != "" { + s += ":" + } + s += fmt.Sprintf("%d:%d", p.Line, p.Column) + } + if s == "" { + s = "-" + } + return s +} + +// Before reports whether the position p is before u. +func (p Pos) Before(u Pos) bool { + return u.Offset > p.Offset || u.Line > p.Line +} + +// After reports whether the position p is after u. +func (p Pos) After(u Pos) bool { + return u.Offset < p.Offset || u.Line < p.Line +} diff --git a/vendor/github.com/hashicorp/hcl/json/token/token.go b/vendor/github.com/hashicorp/hcl/json/token/token.go new file mode 100755 index 0000000..95a0c3e --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/json/token/token.go @@ -0,0 +1,118 @@ +package token + +import ( + "fmt" + "strconv" + + hcltoken "github.com/hashicorp/hcl/hcl/token" +) + +// Token defines a single HCL token which can be obtained via the Scanner +type Token struct { + Type Type + Pos Pos + Text string +} + +// Type is the set of lexical tokens of the HCL (HashiCorp Configuration Language) +type Type int + +const ( + // Special tokens + ILLEGAL Type = iota + EOF + + identifier_beg + literal_beg + NUMBER // 12345 + FLOAT // 123.45 + BOOL // true,false + STRING // "abc" + NULL // null + literal_end + identifier_end + + operator_beg + LBRACK // [ + LBRACE // { + COMMA // , + PERIOD // . + COLON // : + + RBRACK // ] + RBRACE // } + + operator_end +) + +var tokens = [...]string{ + ILLEGAL: "ILLEGAL", + + EOF: "EOF", + + NUMBER: "NUMBER", + FLOAT: "FLOAT", + BOOL: "BOOL", + STRING: "STRING", + NULL: "NULL", + + LBRACK: "LBRACK", + LBRACE: "LBRACE", + COMMA: "COMMA", + PERIOD: "PERIOD", + COLON: "COLON", + + RBRACK: "RBRACK", + RBRACE: "RBRACE", +} + +// String returns the string corresponding to the token tok. +func (t Type) String() string { + s := "" + if 0 <= t && t < Type(len(tokens)) { + s = tokens[t] + } + if s == "" { + s = "token(" + strconv.Itoa(int(t)) + ")" + } + return s +} + +// IsIdentifier returns true for tokens corresponding to identifiers and basic +// type literals; it returns false otherwise. +func (t Type) IsIdentifier() bool { return identifier_beg < t && t < identifier_end } + +// IsLiteral returns true for tokens corresponding to basic type literals; it +// returns false otherwise. +func (t Type) IsLiteral() bool { return literal_beg < t && t < literal_end } + +// IsOperator returns true for tokens corresponding to operators and +// delimiters; it returns false otherwise. +func (t Type) IsOperator() bool { return operator_beg < t && t < operator_end } + +// String returns the token's literal text. Note that this is only +// applicable for certain token types, such as token.IDENT, +// token.STRING, etc.. +func (t Token) String() string { + return fmt.Sprintf("%s %s %s", t.Pos.String(), t.Type.String(), t.Text) +} + +// HCLToken converts this token to an HCL token. +// +// The token type must be a literal type or this will panic. +func (t Token) HCLToken() hcltoken.Token { + switch t.Type { + case BOOL: + return hcltoken.Token{Type: hcltoken.BOOL, Text: t.Text} + case FLOAT: + return hcltoken.Token{Type: hcltoken.FLOAT, Text: t.Text} + case NULL: + return hcltoken.Token{Type: hcltoken.STRING, Text: ""} + case NUMBER: + return hcltoken.Token{Type: hcltoken.NUMBER, Text: t.Text} + case STRING: + return hcltoken.Token{Type: hcltoken.STRING, Text: t.Text, JSON: true} + default: + panic(fmt.Sprintf("unimplemented HCLToken for type: %s", t.Type)) + } +} diff --git a/vendor/github.com/hashicorp/hcl/lex.go b/vendor/github.com/hashicorp/hcl/lex.go new file mode 100755 index 0000000..d9993c2 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/lex.go @@ -0,0 +1,38 @@ +package hcl + +import ( + "unicode" + "unicode/utf8" +) + +type lexModeValue byte + +const ( + lexModeUnknown lexModeValue = iota + lexModeHcl + lexModeJson +) + +// lexMode returns whether we're going to be parsing in JSON +// mode or HCL mode. +func lexMode(v []byte) lexModeValue { + var ( + r rune + w int + offset int + ) + + for { + r, w = utf8.DecodeRune(v[offset:]) + offset += w + if unicode.IsSpace(r) { + continue + } + if r == '{' { + return lexModeJson + } + break + } + + return lexModeHcl +} diff --git a/vendor/github.com/hashicorp/hcl/parse.go b/vendor/github.com/hashicorp/hcl/parse.go new file mode 100755 index 0000000..1fca53c --- /dev/null +++ b/vendor/github.com/hashicorp/hcl/parse.go @@ -0,0 +1,39 @@ +package hcl + +import ( + "fmt" + + "github.com/hashicorp/hcl/hcl/ast" + hclParser "github.com/hashicorp/hcl/hcl/parser" + jsonParser "github.com/hashicorp/hcl/json/parser" +) + +// ParseBytes accepts as input byte slice and returns ast tree. +// +// Input can be either JSON or HCL +func ParseBytes(in []byte) (*ast.File, error) { + return parse(in) +} + +// ParseString accepts input as a string and returns ast tree. +func ParseString(input string) (*ast.File, error) { + return parse([]byte(input)) +} + +func parse(in []byte) (*ast.File, error) { + switch lexMode(in) { + case lexModeHcl: + return hclParser.Parse(in) + case lexModeJson: + return jsonParser.Parse(in) + } + + return nil, fmt.Errorf("unknown config format") +} + +// Parse parses the given input and returns the root object. +// +// The input format can be either HCL or JSON. +func Parse(input string) (*ast.File, error) { + return parse([]byte(input)) +} diff --git a/vendor/github.com/magiconair/properties/.gitignore b/vendor/github.com/magiconair/properties/.gitignore new file mode 100755 index 0000000..e7081ff --- /dev/null +++ b/vendor/github.com/magiconair/properties/.gitignore @@ -0,0 +1,6 @@ +*.sublime-project +*.sublime-workspace +*.un~ +*.swp +.idea/ +*.iml diff --git a/vendor/github.com/magiconair/properties/.travis.yml b/vendor/github.com/magiconair/properties/.travis.yml new file mode 100755 index 0000000..3e7c3d2 --- /dev/null +++ b/vendor/github.com/magiconair/properties/.travis.yml @@ -0,0 +1,10 @@ +language: go +go: + - 1.4.x + - 1.5.x + - 1.6.x + - 1.7.x + - 1.8.x + - 1.9.x + - "1.10.x" + - tip diff --git a/vendor/github.com/magiconair/properties/CHANGELOG.md b/vendor/github.com/magiconair/properties/CHANGELOG.md new file mode 100755 index 0000000..f83adc2 --- /dev/null +++ b/vendor/github.com/magiconair/properties/CHANGELOG.md @@ -0,0 +1,131 @@ +## Changelog + +### [1.8](https://github.com/magiconair/properties/tree/v1.8) - 15 May 2018 + + * [PR #26](https://github.com/magiconair/properties/pull/26): Disable expansion during loading + + This adds the option to disable property expansion during loading. + + Thanks to [@kmala](https://github.com/kmala) for the patch. + +### [1.7.6](https://github.com/magiconair/properties/tree/v1.7.6) - 14 Feb 2018 + + * [PR #29](https://github.com/magiconair/properties/pull/29): Reworked expansion logic to handle more complex cases. + + See PR for an example. + + Thanks to [@yobert](https://github.com/yobert) for the fix. + +### [1.7.5](https://github.com/magiconair/properties/tree/v1.7.5) - 13 Feb 2018 + + * [PR #28](https://github.com/magiconair/properties/pull/28): Support duplicate expansions in the same value + + Values which expand the same key multiple times (e.g. `key=${a} ${a}`) will no longer fail + with a `circular reference error`. + + Thanks to [@yobert](https://github.com/yobert) for the fix. + +### [1.7.4](https://github.com/magiconair/properties/tree/v1.7.4) - 31 Oct 2017 + + * [Issue #23](https://github.com/magiconair/properties/issues/23): Ignore blank lines with whitespaces + + * [PR #24](https://github.com/magiconair/properties/pull/24): Update keys when DisableExpansion is enabled + + Thanks to [@mgurov](https://github.com/mgurov) for the fix. + +### [1.7.3](https://github.com/magiconair/properties/tree/v1.7.3) - 10 Jul 2017 + + * [Issue #17](https://github.com/magiconair/properties/issues/17): Add [SetValue()](http://godoc.org/github.com/magiconair/properties#Properties.SetValue) method to set values generically + * [Issue #22](https://github.com/magiconair/properties/issues/22): Add [LoadMap()](http://godoc.org/github.com/magiconair/properties#LoadMap) function to load properties from a string map + +### [1.7.2](https://github.com/magiconair/properties/tree/v1.7.2) - 20 Mar 2017 + + * [Issue #15](https://github.com/magiconair/properties/issues/15): Drop gocheck dependency + * [PR #21](https://github.com/magiconair/properties/pull/21): Add [Map()](http://godoc.org/github.com/magiconair/properties#Properties.Map) and [FilterFunc()](http://godoc.org/github.com/magiconair/properties#Properties.FilterFunc) + +### [1.7.1](https://github.com/magiconair/properties/tree/v1.7.1) - 13 Jan 2017 + + * [Issue #14](https://github.com/magiconair/properties/issues/14): Decouple TestLoadExpandedFile from `$USER` + * [PR #12](https://github.com/magiconair/properties/pull/12): Load from files and URLs + * [PR #16](https://github.com/magiconair/properties/pull/16): Keep gofmt happy + * [PR #18](https://github.com/magiconair/properties/pull/18): Fix Delete() function + +### [1.7.0](https://github.com/magiconair/properties/tree/v1.7.0) - 20 Mar 2016 + + * [Issue #10](https://github.com/magiconair/properties/issues/10): Add [LoadURL,LoadURLs,MustLoadURL,MustLoadURLs](http://godoc.org/github.com/magiconair/properties#LoadURL) method to load properties from a URL. + * [Issue #11](https://github.com/magiconair/properties/issues/11): Add [LoadString,MustLoadString](http://godoc.org/github.com/magiconair/properties#LoadString) method to load properties from an UTF8 string. + * [PR #8](https://github.com/magiconair/properties/pull/8): Add [MustFlag](http://godoc.org/github.com/magiconair/properties#Properties.MustFlag) method to provide overrides via command line flags. (@pascaldekloe) + +### [1.6.0](https://github.com/magiconair/properties/tree/v1.6.0) - 11 Dec 2015 + + * Add [Decode](http://godoc.org/github.com/magiconair/properties#Properties.Decode) method to populate struct from properties via tags. + +### [1.5.6](https://github.com/magiconair/properties/tree/v1.5.6) - 18 Oct 2015 + + * Vendored in gopkg.in/check.v1 + +### [1.5.5](https://github.com/magiconair/properties/tree/v1.5.5) - 31 Jul 2015 + + * [PR #6](https://github.com/magiconair/properties/pull/6): Add [Delete](http://godoc.org/github.com/magiconair/properties#Properties.Delete) method to remove keys including comments. (@gerbenjacobs) + +### [1.5.4](https://github.com/magiconair/properties/tree/v1.5.4) - 23 Jun 2015 + + * [Issue #5](https://github.com/magiconair/properties/issues/5): Allow disabling of property expansion [DisableExpansion](http://godoc.org/github.com/magiconair/properties#Properties.DisableExpansion). When property expansion is disabled Properties become a simple key/value store and don't check for circular references. + +### [1.5.3](https://github.com/magiconair/properties/tree/v1.5.3) - 02 Jun 2015 + + * [Issue #4](https://github.com/magiconair/properties/issues/4): Maintain key order in [Filter()](http://godoc.org/github.com/magiconair/properties#Properties.Filter), [FilterPrefix()](http://godoc.org/github.com/magiconair/properties#Properties.FilterPrefix) and [FilterRegexp()](http://godoc.org/github.com/magiconair/properties#Properties.FilterRegexp) + +### [1.5.2](https://github.com/magiconair/properties/tree/v1.5.2) - 10 Apr 2015 + + * [Issue #3](https://github.com/magiconair/properties/issues/3): Don't print comments in [WriteComment()](http://godoc.org/github.com/magiconair/properties#Properties.WriteComment) if they are all empty + * Add clickable links to README + +### [1.5.1](https://github.com/magiconair/properties/tree/v1.5.1) - 08 Dec 2014 + + * Added [GetParsedDuration()](http://godoc.org/github.com/magiconair/properties#Properties.GetParsedDuration) and [MustGetParsedDuration()](http://godoc.org/github.com/magiconair/properties#Properties.MustGetParsedDuration) for values specified compatible with + [time.ParseDuration()](http://golang.org/pkg/time/#ParseDuration). + +### [1.5.0](https://github.com/magiconair/properties/tree/v1.5.0) - 18 Nov 2014 + + * Added support for single and multi-line comments (reading, writing and updating) + * The order of keys is now preserved + * Calling [Set()](http://godoc.org/github.com/magiconair/properties#Properties.Set) with an empty key now silently ignores the call and does not create a new entry + * Added a [MustSet()](http://godoc.org/github.com/magiconair/properties#Properties.MustSet) method + * Migrated test library from launchpad.net/gocheck to [gopkg.in/check.v1](http://gopkg.in/check.v1) + +### [1.4.2](https://github.com/magiconair/properties/tree/v1.4.2) - 15 Nov 2014 + + * [Issue #2](https://github.com/magiconair/properties/issues/2): Fixed goroutine leak in parser which created two lexers but cleaned up only one + +### [1.4.1](https://github.com/magiconair/properties/tree/v1.4.1) - 13 Nov 2014 + + * [Issue #1](https://github.com/magiconair/properties/issues/1): Fixed bug in Keys() method which returned an empty string + +### [1.4.0](https://github.com/magiconair/properties/tree/v1.4.0) - 23 Sep 2014 + + * Added [Keys()](http://godoc.org/github.com/magiconair/properties#Properties.Keys) to get the keys + * Added [Filter()](http://godoc.org/github.com/magiconair/properties#Properties.Filter), [FilterRegexp()](http://godoc.org/github.com/magiconair/properties#Properties.FilterRegexp) and [FilterPrefix()](http://godoc.org/github.com/magiconair/properties#Properties.FilterPrefix) to get a subset of the properties + +### [1.3.0](https://github.com/magiconair/properties/tree/v1.3.0) - 18 Mar 2014 + +* Added support for time.Duration +* Made MustXXX() failure beha[ior configurable (log.Fatal, panic](https://github.com/magiconair/properties/tree/vior configurable (log.Fatal, panic) - custom) +* Changed default of MustXXX() failure from panic to log.Fatal + +### [1.2.0](https://github.com/magiconair/properties/tree/v1.2.0) - 05 Mar 2014 + +* Added MustGet... functions +* Added support for int and uint with range checks on 32 bit platforms + +### [1.1.0](https://github.com/magiconair/properties/tree/v1.1.0) - 20 Jan 2014 + +* Renamed from goproperties to properties +* Added support for expansion of environment vars in + filenames and value expressions +* Fixed bug where value expressions were not at the + start of the string + +### [1.0.0](https://github.com/magiconair/properties/tree/v1.0.0) - 7 Jan 2014 + +* Initial release diff --git a/vendor/github.com/magiconair/properties/LICENSE b/vendor/github.com/magiconair/properties/LICENSE new file mode 100755 index 0000000..b387087 --- /dev/null +++ b/vendor/github.com/magiconair/properties/LICENSE @@ -0,0 +1,25 @@ +goproperties - properties file decoder for Go + +Copyright (c) 2013-2018 - Frank Schroeder + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/magiconair/properties/README.md b/vendor/github.com/magiconair/properties/README.md new file mode 100755 index 0000000..2c05f29 --- /dev/null +++ b/vendor/github.com/magiconair/properties/README.md @@ -0,0 +1,129 @@ +[![](https://img.shields.io/github/tag/magiconair/properties.svg?style=flat-square&label=release)](https://github.com/magiconair/properties/releases) +[![Travis CI Status](https://img.shields.io/travis/magiconair/properties.svg?branch=master&style=flat-square&label=travis)](https://travis-ci.org/magiconair/properties) +[![Codeship CI Status](https://img.shields.io/codeship/16aaf660-f615-0135-b8f0-7e33b70920c0/master.svg?label=codeship&style=flat-square)](https://app.codeship.com/projects/274177") +[![License](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg?style=flat-square)](https://raw.githubusercontent.com/magiconair/properties/master/LICENSE) +[![GoDoc](http://img.shields.io/badge/godoc-reference-5272B4.svg?style=flat-square)](http://godoc.org/github.com/magiconair/properties) + +# Overview + +#### Please run `git pull --tags` to update the tags. See [below](#updated-git-tags) why. + +properties is a Go library for reading and writing properties files. + +It supports reading from multiple files or URLs and Spring style recursive +property expansion of expressions like `${key}` to their corresponding value. +Value expressions can refer to other keys like in `${key}` or to environment +variables like in `${USER}`. Filenames can also contain environment variables +like in `/home/${USER}/myapp.properties`. + +Properties can be decoded into structs, maps, arrays and values through +struct tags. + +Comments and the order of keys are preserved. Comments can be modified +and can be written to the output. + +The properties library supports both ISO-8859-1 and UTF-8 encoded data. + +Starting from version 1.3.0 the behavior of the MustXXX() functions is +configurable by providing a custom `ErrorHandler` function. The default has +changed from `panic` to `log.Fatal` but this is configurable and custom +error handling functions can be provided. See the package documentation for +details. + +Read the full documentation on [GoDoc](https://godoc.org/github.com/magiconair/properties) [![GoDoc](https://godoc.org/github.com/magiconair/properties?status.png)](https://godoc.org/github.com/magiconair/properties) + +## Getting Started + +```go +import ( + "flag" + "github.com/magiconair/properties" +) + +func main() { + // init from a file + p := properties.MustLoadFile("${HOME}/config.properties", properties.UTF8) + + // or multiple files + p = properties.MustLoadFiles([]string{ + "${HOME}/config.properties", + "${HOME}/config-${USER}.properties", + }, properties.UTF8, true) + + // or from a map + p = properties.LoadMap(map[string]string{"key": "value", "abc": "def"}) + + // or from a string + p = properties.MustLoadString("key=value\nabc=def") + + // or from a URL + p = properties.MustLoadURL("http://host/path") + + // or from multiple URLs + p = properties.MustLoadURL([]string{ + "http://host/config", + "http://host/config-${USER}", + }, true) + + // or from flags + p.MustFlag(flag.CommandLine) + + // get values through getters + host := p.MustGetString("host") + port := p.GetInt("port", 8080) + + // or through Decode + type Config struct { + Host string `properties:"host"` + Port int `properties:"port,default=9000"` + Accept []string `properties:"accept,default=image/png;image;gif"` + Timeout time.Duration `properties:"timeout,default=5s"` + } + var cfg Config + if err := p.Decode(&cfg); err != nil { + log.Fatal(err) + } +} + +``` + +## Installation and Upgrade + +``` +$ go get -u github.com/magiconair/properties +``` + +## License + +2 clause BSD license. See [LICENSE](https://github.com/magiconair/properties/blob/master/LICENSE) file for details. + +## ToDo + +* Dump contents with passwords and secrets obscured + +## Updated Git tags + +#### 13 Feb 2018 + +I realized that all of the git tags I had pushed before v1.7.5 were lightweight tags +and I've only recently learned that this doesn't play well with `git describe` 😞 + +I have replaced all lightweight tags with signed tags using this script which should +retain the commit date, name and email address. Please run `git pull --tags` to update them. + +Worst case you have to reclone the repo. + +```shell +#!/bin/bash +tag=$1 +echo "Updating $tag" +date=$(git show ${tag}^0 --format=%aD | head -1) +email=$(git show ${tag}^0 --format=%aE | head -1) +name=$(git show ${tag}^0 --format=%aN | head -1) +GIT_COMMITTER_DATE="$date" GIT_COMMITTER_NAME="$name" GIT_COMMITTER_EMAIL="$email" git tag -s -f ${tag} ${tag}^0 -m ${tag} +``` + +I apologize for the inconvenience. + +Frank + diff --git a/vendor/github.com/magiconair/properties/decode.go b/vendor/github.com/magiconair/properties/decode.go new file mode 100755 index 0000000..3ebf804 --- /dev/null +++ b/vendor/github.com/magiconair/properties/decode.go @@ -0,0 +1,289 @@ +// Copyright 2018 Frank Schroeder. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package properties + +import ( + "fmt" + "reflect" + "strconv" + "strings" + "time" +) + +// Decode assigns property values to exported fields of a struct. +// +// Decode traverses v recursively and returns an error if a value cannot be +// converted to the field type or a required value is missing for a field. +// +// The following type dependent decodings are used: +// +// String, boolean, numeric fields have the value of the property key assigned. +// The property key name is the name of the field. A different key and a default +// value can be set in the field's tag. Fields without default value are +// required. If the value cannot be converted to the field type an error is +// returned. +// +// time.Duration fields have the result of time.ParseDuration() assigned. +// +// time.Time fields have the vaule of time.Parse() assigned. The default layout +// is time.RFC3339 but can be set in the field's tag. +// +// Arrays and slices of string, boolean, numeric, time.Duration and time.Time +// fields have the value interpreted as a comma separated list of values. The +// individual values are trimmed of whitespace and empty values are ignored. A +// default value can be provided as a semicolon separated list in the field's +// tag. +// +// Struct fields are decoded recursively using the field name plus "." as +// prefix. The prefix (without dot) can be overridden in the field's tag. +// Default values are not supported in the field's tag. Specify them on the +// fields of the inner struct instead. +// +// Map fields must have a key of type string and are decoded recursively by +// using the field's name plus ".' as prefix and the next element of the key +// name as map key. The prefix (without dot) can be overridden in the field's +// tag. Default values are not supported. +// +// Examples: +// +// // Field is ignored. +// Field int `properties:"-"` +// +// // Field is assigned value of 'Field'. +// Field int +// +// // Field is assigned value of 'myName'. +// Field int `properties:"myName"` +// +// // Field is assigned value of key 'myName' and has a default +// // value 15 if the key does not exist. +// Field int `properties:"myName,default=15"` +// +// // Field is assigned value of key 'Field' and has a default +// // value 15 if the key does not exist. +// Field int `properties:",default=15"` +// +// // Field is assigned value of key 'date' and the date +// // is in format 2006-01-02 +// Field time.Time `properties:"date,layout=2006-01-02"` +// +// // Field is assigned the non-empty and whitespace trimmed +// // values of key 'Field' split by commas. +// Field []string +// +// // Field is assigned the non-empty and whitespace trimmed +// // values of key 'Field' split by commas and has a default +// // value ["a", "b", "c"] if the key does not exist. +// Field []string `properties:",default=a;b;c"` +// +// // Field is decoded recursively with "Field." as key prefix. +// Field SomeStruct +// +// // Field is decoded recursively with "myName." as key prefix. +// Field SomeStruct `properties:"myName"` +// +// // Field is decoded recursively with "Field." as key prefix +// // and the next dotted element of the key as map key. +// Field map[string]string +// +// // Field is decoded recursively with "myName." as key prefix +// // and the next dotted element of the key as map key. +// Field map[string]string `properties:"myName"` +func (p *Properties) Decode(x interface{}) error { + t, v := reflect.TypeOf(x), reflect.ValueOf(x) + if t.Kind() != reflect.Ptr || v.Elem().Type().Kind() != reflect.Struct { + return fmt.Errorf("not a pointer to struct: %s", t) + } + if err := dec(p, "", nil, nil, v); err != nil { + return err + } + return nil +} + +func dec(p *Properties, key string, def *string, opts map[string]string, v reflect.Value) error { + t := v.Type() + + // value returns the property value for key or the default if provided. + value := func() (string, error) { + if val, ok := p.Get(key); ok { + return val, nil + } + if def != nil { + return *def, nil + } + return "", fmt.Errorf("missing required key %s", key) + } + + // conv converts a string to a value of the given type. + conv := func(s string, t reflect.Type) (val reflect.Value, err error) { + var v interface{} + + switch { + case isDuration(t): + v, err = time.ParseDuration(s) + + case isTime(t): + layout := opts["layout"] + if layout == "" { + layout = time.RFC3339 + } + v, err = time.Parse(layout, s) + + case isBool(t): + v, err = boolVal(s), nil + + case isString(t): + v, err = s, nil + + case isFloat(t): + v, err = strconv.ParseFloat(s, 64) + + case isInt(t): + v, err = strconv.ParseInt(s, 10, 64) + + case isUint(t): + v, err = strconv.ParseUint(s, 10, 64) + + default: + return reflect.Zero(t), fmt.Errorf("unsupported type %s", t) + } + if err != nil { + return reflect.Zero(t), err + } + return reflect.ValueOf(v).Convert(t), nil + } + + // keydef returns the property key and the default value based on the + // name of the struct field and the options in the tag. + keydef := func(f reflect.StructField) (string, *string, map[string]string) { + _key, _opts := parseTag(f.Tag.Get("properties")) + + var _def *string + if d, ok := _opts["default"]; ok { + _def = &d + } + if _key != "" { + return _key, _def, _opts + } + return f.Name, _def, _opts + } + + switch { + case isDuration(t) || isTime(t) || isBool(t) || isString(t) || isFloat(t) || isInt(t) || isUint(t): + s, err := value() + if err != nil { + return err + } + val, err := conv(s, t) + if err != nil { + return err + } + v.Set(val) + + case isPtr(t): + return dec(p, key, def, opts, v.Elem()) + + case isStruct(t): + for i := 0; i < v.NumField(); i++ { + fv := v.Field(i) + fk, def, opts := keydef(t.Field(i)) + if !fv.CanSet() { + return fmt.Errorf("cannot set %s", t.Field(i).Name) + } + if fk == "-" { + continue + } + if key != "" { + fk = key + "." + fk + } + if err := dec(p, fk, def, opts, fv); err != nil { + return err + } + } + return nil + + case isArray(t): + val, err := value() + if err != nil { + return err + } + vals := split(val, ";") + a := reflect.MakeSlice(t, 0, len(vals)) + for _, s := range vals { + val, err := conv(s, t.Elem()) + if err != nil { + return err + } + a = reflect.Append(a, val) + } + v.Set(a) + + case isMap(t): + valT := t.Elem() + m := reflect.MakeMap(t) + for postfix := range p.FilterStripPrefix(key + ".").m { + pp := strings.SplitN(postfix, ".", 2) + mk, mv := pp[0], reflect.New(valT) + if err := dec(p, key+"."+mk, nil, nil, mv); err != nil { + return err + } + m.SetMapIndex(reflect.ValueOf(mk), mv.Elem()) + } + v.Set(m) + + default: + return fmt.Errorf("unsupported type %s", t) + } + return nil +} + +// split splits a string on sep, trims whitespace of elements +// and omits empty elements +func split(s string, sep string) []string { + var a []string + for _, v := range strings.Split(s, sep) { + if v = strings.TrimSpace(v); v != "" { + a = append(a, v) + } + } + return a +} + +// parseTag parses a "key,k=v,k=v,..." +func parseTag(tag string) (key string, opts map[string]string) { + opts = map[string]string{} + for i, s := range strings.Split(tag, ",") { + if i == 0 { + key = s + continue + } + + pp := strings.SplitN(s, "=", 2) + if len(pp) == 1 { + opts[pp[0]] = "" + } else { + opts[pp[0]] = pp[1] + } + } + return key, opts +} + +func isArray(t reflect.Type) bool { return t.Kind() == reflect.Array || t.Kind() == reflect.Slice } +func isBool(t reflect.Type) bool { return t.Kind() == reflect.Bool } +func isDuration(t reflect.Type) bool { return t == reflect.TypeOf(time.Second) } +func isMap(t reflect.Type) bool { return t.Kind() == reflect.Map } +func isPtr(t reflect.Type) bool { return t.Kind() == reflect.Ptr } +func isString(t reflect.Type) bool { return t.Kind() == reflect.String } +func isStruct(t reflect.Type) bool { return t.Kind() == reflect.Struct } +func isTime(t reflect.Type) bool { return t == reflect.TypeOf(time.Time{}) } +func isFloat(t reflect.Type) bool { + return t.Kind() == reflect.Float32 || t.Kind() == reflect.Float64 +} +func isInt(t reflect.Type) bool { + return t.Kind() == reflect.Int || t.Kind() == reflect.Int8 || t.Kind() == reflect.Int16 || t.Kind() == reflect.Int32 || t.Kind() == reflect.Int64 +} +func isUint(t reflect.Type) bool { + return t.Kind() == reflect.Uint || t.Kind() == reflect.Uint8 || t.Kind() == reflect.Uint16 || t.Kind() == reflect.Uint32 || t.Kind() == reflect.Uint64 +} diff --git a/vendor/github.com/magiconair/properties/doc.go b/vendor/github.com/magiconair/properties/doc.go new file mode 100755 index 0000000..f8822da --- /dev/null +++ b/vendor/github.com/magiconair/properties/doc.go @@ -0,0 +1,156 @@ +// Copyright 2018 Frank Schroeder. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package properties provides functions for reading and writing +// ISO-8859-1 and UTF-8 encoded .properties files and has +// support for recursive property expansion. +// +// Java properties files are ISO-8859-1 encoded and use Unicode +// literals for characters outside the ISO character set. Unicode +// literals can be used in UTF-8 encoded properties files but +// aren't necessary. +// +// To load a single properties file use MustLoadFile(): +// +// p := properties.MustLoadFile(filename, properties.UTF8) +// +// To load multiple properties files use MustLoadFiles() +// which loads the files in the given order and merges the +// result. Missing properties files can be ignored if the +// 'ignoreMissing' flag is set to true. +// +// Filenames can contain environment variables which are expanded +// before loading. +// +// f1 := "/etc/myapp/myapp.conf" +// f2 := "/home/${USER}/myapp.conf" +// p := MustLoadFiles([]string{f1, f2}, properties.UTF8, true) +// +// All of the different key/value delimiters ' ', ':' and '=' are +// supported as well as the comment characters '!' and '#' and +// multi-line values. +// +// ! this is a comment +// # and so is this +// +// # the following expressions are equal +// key value +// key=value +// key:value +// key = value +// key : value +// key = val\ +// ue +// +// Properties stores all comments preceding a key and provides +// GetComments() and SetComments() methods to retrieve and +// update them. The convenience functions GetComment() and +// SetComment() allow access to the last comment. The +// WriteComment() method writes properties files including +// the comments and with the keys in the original order. +// This can be used for sanitizing properties files. +// +// Property expansion is recursive and circular references +// and malformed expressions are not allowed and cause an +// error. Expansion of environment variables is supported. +// +// # standard property +// key = value +// +// # property expansion: key2 = value +// key2 = ${key} +// +// # recursive expansion: key3 = value +// key3 = ${key2} +// +// # circular reference (error) +// key = ${key} +// +// # malformed expression (error) +// key = ${ke +// +// # refers to the users' home dir +// home = ${HOME} +// +// # local key takes precedence over env var: u = foo +// USER = foo +// u = ${USER} +// +// The default property expansion format is ${key} but can be +// changed by setting different pre- and postfix values on the +// Properties object. +// +// p := properties.NewProperties() +// p.Prefix = "#[" +// p.Postfix = "]#" +// +// Properties provides convenience functions for getting typed +// values with default values if the key does not exist or the +// type conversion failed. +// +// # Returns true if the value is either "1", "on", "yes" or "true" +// # Returns false for every other value and the default value if +// # the key does not exist. +// v = p.GetBool("key", false) +// +// # Returns the value if the key exists and the format conversion +// # was successful. Otherwise, the default value is returned. +// v = p.GetInt64("key", 999) +// v = p.GetUint64("key", 999) +// v = p.GetFloat64("key", 123.0) +// v = p.GetString("key", "def") +// v = p.GetDuration("key", 999) +// +// As an alternative properties may be applied with the standard +// library's flag implementation at any time. +// +// # Standard configuration +// v = flag.Int("key", 999, "help message") +// flag.Parse() +// +// # Merge p into the flag set +// p.MustFlag(flag.CommandLine) +// +// Properties provides several MustXXX() convenience functions +// which will terminate the app if an error occurs. The behavior +// of the failure is configurable and the default is to call +// log.Fatal(err). To have the MustXXX() functions panic instead +// of logging the error set a different ErrorHandler before +// you use the Properties package. +// +// properties.ErrorHandler = properties.PanicHandler +// +// # Will panic instead of logging an error +// p := properties.MustLoadFile("config.properties") +// +// You can also provide your own ErrorHandler function. The only requirement +// is that the error handler function must exit after handling the error. +// +// properties.ErrorHandler = func(err error) { +// fmt.Println(err) +// os.Exit(1) +// } +// +// # Will write to stdout and then exit +// p := properties.MustLoadFile("config.properties") +// +// Properties can also be loaded into a struct via the `Decode` +// method, e.g. +// +// type S struct { +// A string `properties:"a,default=foo"` +// D time.Duration `properties:"timeout,default=5s"` +// E time.Time `properties:"expires,layout=2006-01-02,default=2015-01-01"` +// } +// +// See `Decode()` method for the full documentation. +// +// The following documents provide a description of the properties +// file format. +// +// http://en.wikipedia.org/wiki/.properties +// +// http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html#load%28java.io.Reader%29 +// +package properties diff --git a/vendor/github.com/magiconair/properties/integrate.go b/vendor/github.com/magiconair/properties/integrate.go new file mode 100755 index 0000000..74d38dc --- /dev/null +++ b/vendor/github.com/magiconair/properties/integrate.go @@ -0,0 +1,34 @@ +// Copyright 2018 Frank Schroeder. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package properties + +import "flag" + +// MustFlag sets flags that are skipped by dst.Parse when p contains +// the respective key for flag.Flag.Name. +// +// It's use is recommended with command line arguments as in: +// flag.Parse() +// p.MustFlag(flag.CommandLine) +func (p *Properties) MustFlag(dst *flag.FlagSet) { + m := make(map[string]*flag.Flag) + dst.VisitAll(func(f *flag.Flag) { + m[f.Name] = f + }) + dst.Visit(func(f *flag.Flag) { + delete(m, f.Name) // overridden + }) + + for name, f := range m { + v, ok := p.Get(name) + if !ok { + continue + } + + if err := f.Value.Set(v); err != nil { + ErrorHandler(err) + } + } +} diff --git a/vendor/github.com/magiconair/properties/lex.go b/vendor/github.com/magiconair/properties/lex.go new file mode 100755 index 0000000..367166d --- /dev/null +++ b/vendor/github.com/magiconair/properties/lex.go @@ -0,0 +1,407 @@ +// Copyright 2018 Frank Schroeder. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. +// +// Parts of the lexer are from the template/text/parser package +// For these parts the following applies: +// +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file of the go 1.2 +// distribution. + +package properties + +import ( + "fmt" + "strconv" + "strings" + "unicode/utf8" +) + +// item represents a token or text string returned from the scanner. +type item struct { + typ itemType // The type of this item. + pos int // The starting position, in bytes, of this item in the input string. + val string // The value of this item. +} + +func (i item) String() string { + switch { + case i.typ == itemEOF: + return "EOF" + case i.typ == itemError: + return i.val + case len(i.val) > 10: + return fmt.Sprintf("%.10q...", i.val) + } + return fmt.Sprintf("%q", i.val) +} + +// itemType identifies the type of lex items. +type itemType int + +const ( + itemError itemType = iota // error occurred; value is text of error + itemEOF + itemKey // a key + itemValue // a value + itemComment // a comment +) + +// defines a constant for EOF +const eof = -1 + +// permitted whitespace characters space, FF and TAB +const whitespace = " \f\t" + +// stateFn represents the state of the scanner as a function that returns the next state. +type stateFn func(*lexer) stateFn + +// lexer holds the state of the scanner. +type lexer struct { + input string // the string being scanned + state stateFn // the next lexing function to enter + pos int // current position in the input + start int // start position of this item + width int // width of last rune read from input + lastPos int // position of most recent item returned by nextItem + runes []rune // scanned runes for this item + items chan item // channel of scanned items +} + +// next returns the next rune in the input. +func (l *lexer) next() rune { + if l.pos >= len(l.input) { + l.width = 0 + return eof + } + r, w := utf8.DecodeRuneInString(l.input[l.pos:]) + l.width = w + l.pos += l.width + return r +} + +// peek returns but does not consume the next rune in the input. +func (l *lexer) peek() rune { + r := l.next() + l.backup() + return r +} + +// backup steps back one rune. Can only be called once per call of next. +func (l *lexer) backup() { + l.pos -= l.width +} + +// emit passes an item back to the client. +func (l *lexer) emit(t itemType) { + i := item{t, l.start, string(l.runes)} + l.items <- i + l.start = l.pos + l.runes = l.runes[:0] +} + +// ignore skips over the pending input before this point. +func (l *lexer) ignore() { + l.start = l.pos +} + +// appends the rune to the current value +func (l *lexer) appendRune(r rune) { + l.runes = append(l.runes, r) +} + +// accept consumes the next rune if it's from the valid set. +func (l *lexer) accept(valid string) bool { + if strings.ContainsRune(valid, l.next()) { + return true + } + l.backup() + return false +} + +// acceptRun consumes a run of runes from the valid set. +func (l *lexer) acceptRun(valid string) { + for strings.ContainsRune(valid, l.next()) { + } + l.backup() +} + +// acceptRunUntil consumes a run of runes up to a terminator. +func (l *lexer) acceptRunUntil(term rune) { + for term != l.next() { + } + l.backup() +} + +// hasText returns true if the current parsed text is not empty. +func (l *lexer) isNotEmpty() bool { + return l.pos > l.start +} + +// lineNumber reports which line we're on, based on the position of +// the previous item returned by nextItem. Doing it this way +// means we don't have to worry about peek double counting. +func (l *lexer) lineNumber() int { + return 1 + strings.Count(l.input[:l.lastPos], "\n") +} + +// errorf returns an error token and terminates the scan by passing +// back a nil pointer that will be the next state, terminating l.nextItem. +func (l *lexer) errorf(format string, args ...interface{}) stateFn { + l.items <- item{itemError, l.start, fmt.Sprintf(format, args...)} + return nil +} + +// nextItem returns the next item from the input. +func (l *lexer) nextItem() item { + i := <-l.items + l.lastPos = i.pos + return i +} + +// lex creates a new scanner for the input string. +func lex(input string) *lexer { + l := &lexer{ + input: input, + items: make(chan item), + runes: make([]rune, 0, 32), + } + go l.run() + return l +} + +// run runs the state machine for the lexer. +func (l *lexer) run() { + for l.state = lexBeforeKey(l); l.state != nil; { + l.state = l.state(l) + } +} + +// state functions + +// lexBeforeKey scans until a key begins. +func lexBeforeKey(l *lexer) stateFn { + switch r := l.next(); { + case isEOF(r): + l.emit(itemEOF) + return nil + + case isEOL(r): + l.ignore() + return lexBeforeKey + + case isComment(r): + return lexComment + + case isWhitespace(r): + l.ignore() + return lexBeforeKey + + default: + l.backup() + return lexKey + } +} + +// lexComment scans a comment line. The comment character has already been scanned. +func lexComment(l *lexer) stateFn { + l.acceptRun(whitespace) + l.ignore() + for { + switch r := l.next(); { + case isEOF(r): + l.ignore() + l.emit(itemEOF) + return nil + case isEOL(r): + l.emit(itemComment) + return lexBeforeKey + default: + l.appendRune(r) + } + } +} + +// lexKey scans the key up to a delimiter +func lexKey(l *lexer) stateFn { + var r rune + +Loop: + for { + switch r = l.next(); { + + case isEscape(r): + err := l.scanEscapeSequence() + if err != nil { + return l.errorf(err.Error()) + } + + case isEndOfKey(r): + l.backup() + break Loop + + case isEOF(r): + break Loop + + default: + l.appendRune(r) + } + } + + if len(l.runes) > 0 { + l.emit(itemKey) + } + + if isEOF(r) { + l.emit(itemEOF) + return nil + } + + return lexBeforeValue +} + +// lexBeforeValue scans the delimiter between key and value. +// Leading and trailing whitespace is ignored. +// We expect to be just after the key. +func lexBeforeValue(l *lexer) stateFn { + l.acceptRun(whitespace) + l.accept(":=") + l.acceptRun(whitespace) + l.ignore() + return lexValue +} + +// lexValue scans text until the end of the line. We expect to be just after the delimiter. +func lexValue(l *lexer) stateFn { + for { + switch r := l.next(); { + case isEscape(r): + if isEOL(l.peek()) { + l.next() + l.acceptRun(whitespace) + } else { + err := l.scanEscapeSequence() + if err != nil { + return l.errorf(err.Error()) + } + } + + case isEOL(r): + l.emit(itemValue) + l.ignore() + return lexBeforeKey + + case isEOF(r): + l.emit(itemValue) + l.emit(itemEOF) + return nil + + default: + l.appendRune(r) + } + } +} + +// scanEscapeSequence scans either one of the escaped characters +// or a unicode literal. We expect to be after the escape character. +func (l *lexer) scanEscapeSequence() error { + switch r := l.next(); { + + case isEscapedCharacter(r): + l.appendRune(decodeEscapedCharacter(r)) + return nil + + case atUnicodeLiteral(r): + return l.scanUnicodeLiteral() + + case isEOF(r): + return fmt.Errorf("premature EOF") + + // silently drop the escape character and append the rune as is + default: + l.appendRune(r) + return nil + } +} + +// scans a unicode literal in the form \uXXXX. We expect to be after the \u. +func (l *lexer) scanUnicodeLiteral() error { + // scan the digits + d := make([]rune, 4) + for i := 0; i < 4; i++ { + d[i] = l.next() + if d[i] == eof || !strings.ContainsRune("0123456789abcdefABCDEF", d[i]) { + return fmt.Errorf("invalid unicode literal") + } + } + + // decode the digits into a rune + r, err := strconv.ParseInt(string(d), 16, 0) + if err != nil { + return err + } + + l.appendRune(rune(r)) + return nil +} + +// decodeEscapedCharacter returns the unescaped rune. We expect to be after the escape character. +func decodeEscapedCharacter(r rune) rune { + switch r { + case 'f': + return '\f' + case 'n': + return '\n' + case 'r': + return '\r' + case 't': + return '\t' + default: + return r + } +} + +// atUnicodeLiteral reports whether we are at a unicode literal. +// The escape character has already been consumed. +func atUnicodeLiteral(r rune) bool { + return r == 'u' +} + +// isComment reports whether we are at the start of a comment. +func isComment(r rune) bool { + return r == '#' || r == '!' +} + +// isEndOfKey reports whether the rune terminates the current key. +func isEndOfKey(r rune) bool { + return strings.ContainsRune(" \f\t\r\n:=", r) +} + +// isEOF reports whether we are at EOF. +func isEOF(r rune) bool { + return r == eof +} + +// isEOL reports whether we are at a new line character. +func isEOL(r rune) bool { + return r == '\n' || r == '\r' +} + +// isEscape reports whether the rune is the escape character which +// prefixes unicode literals and other escaped characters. +func isEscape(r rune) bool { + return r == '\\' +} + +// isEscapedCharacter reports whether we are at one of the characters that need escaping. +// The escape character has already been consumed. +func isEscapedCharacter(r rune) bool { + return strings.ContainsRune(" :=fnrt", r) +} + +// isWhitespace reports whether the rune is a whitespace character. +func isWhitespace(r rune) bool { + return strings.ContainsRune(whitespace, r) +} diff --git a/vendor/github.com/magiconair/properties/load.go b/vendor/github.com/magiconair/properties/load.go new file mode 100755 index 0000000..c8e1b58 --- /dev/null +++ b/vendor/github.com/magiconair/properties/load.go @@ -0,0 +1,292 @@ +// Copyright 2018 Frank Schroeder. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package properties + +import ( + "fmt" + "io/ioutil" + "net/http" + "os" + "strings" +) + +// Encoding specifies encoding of the input data. +type Encoding uint + +const ( + // utf8Default is a private placeholder for the zero value of Encoding to + // ensure that it has the correct meaning. UTF8 is the default encoding but + // was assigned a non-zero value which cannot be changed without breaking + // existing code. Clients should continue to use the public constants. + utf8Default Encoding = iota + + // UTF8 interprets the input data as UTF-8. + UTF8 + + // ISO_8859_1 interprets the input data as ISO-8859-1. + ISO_8859_1 +) + +type Loader struct { + // Encoding determines how the data from files and byte buffers + // is interpreted. For URLs the Content-Type header is used + // to determine the encoding of the data. + Encoding Encoding + + // DisableExpansion configures the property expansion of the + // returned property object. When set to true, the property values + // will not be expanded and the Property object will not be checked + // for invalid expansion expressions. + DisableExpansion bool + + // IgnoreMissing configures whether missing files or URLs which return + // 404 are reported as errors. When set to true, missing files and 404 + // status codes are not reported as errors. + IgnoreMissing bool +} + +// Load reads a buffer into a Properties struct. +func (l *Loader) LoadBytes(buf []byte) (*Properties, error) { + return l.loadBytes(buf, l.Encoding) +} + +// LoadAll reads the content of multiple URLs or files in the given order into +// a Properties struct. If IgnoreMissing is true then a 404 status code or +// missing file will not be reported as error. Encoding sets the encoding for +// files. For the URLs see LoadURL for the Content-Type header and the +// encoding. +func (l *Loader) LoadAll(names []string) (*Properties, error) { + all := NewProperties() + for _, name := range names { + n, err := expandName(name) + if err != nil { + return nil, err + } + + var p *Properties + switch { + case strings.HasPrefix(n, "http://"): + p, err = l.LoadURL(n) + case strings.HasPrefix(n, "https://"): + p, err = l.LoadURL(n) + default: + p, err = l.LoadFile(n) + } + if err != nil { + return nil, err + } + all.Merge(p) + } + + all.DisableExpansion = l.DisableExpansion + if all.DisableExpansion { + return all, nil + } + return all, all.check() +} + +// LoadFile reads a file into a Properties struct. +// If IgnoreMissing is true then a missing file will not be +// reported as error. +func (l *Loader) LoadFile(filename string) (*Properties, error) { + data, err := ioutil.ReadFile(filename) + if err != nil { + if l.IgnoreMissing && os.IsNotExist(err) { + LogPrintf("properties: %s not found. skipping", filename) + return NewProperties(), nil + } + return nil, err + } + return l.loadBytes(data, l.Encoding) +} + +// LoadURL reads the content of the URL into a Properties struct. +// +// The encoding is determined via the Content-Type header which +// should be set to 'text/plain'. If the 'charset' parameter is +// missing, 'iso-8859-1' or 'latin1' the encoding is set to +// ISO-8859-1. If the 'charset' parameter is set to 'utf-8' the +// encoding is set to UTF-8. A missing content type header is +// interpreted as 'text/plain; charset=utf-8'. +func (l *Loader) LoadURL(url string) (*Properties, error) { + resp, err := http.Get(url) + if err != nil { + return nil, fmt.Errorf("properties: error fetching %q. %s", url, err) + } + + if resp.StatusCode == 404 && l.IgnoreMissing { + LogPrintf("properties: %s returned %d. skipping", url, resp.StatusCode) + return NewProperties(), nil + } + + if resp.StatusCode != 200 { + return nil, fmt.Errorf("properties: %s returned %d", url, resp.StatusCode) + } + + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return nil, fmt.Errorf("properties: %s error reading response. %s", url, err) + } + defer resp.Body.Close() + + ct := resp.Header.Get("Content-Type") + var enc Encoding + switch strings.ToLower(ct) { + case "text/plain", "text/plain; charset=iso-8859-1", "text/plain; charset=latin1": + enc = ISO_8859_1 + case "", "text/plain; charset=utf-8": + enc = UTF8 + default: + return nil, fmt.Errorf("properties: invalid content type %s", ct) + } + + return l.loadBytes(body, enc) +} + +func (l *Loader) loadBytes(buf []byte, enc Encoding) (*Properties, error) { + p, err := parse(convert(buf, enc)) + if err != nil { + return nil, err + } + p.DisableExpansion = l.DisableExpansion + if p.DisableExpansion { + return p, nil + } + return p, p.check() +} + +// Load reads a buffer into a Properties struct. +func Load(buf []byte, enc Encoding) (*Properties, error) { + l := &Loader{Encoding: enc} + return l.LoadBytes(buf) +} + +// LoadString reads an UTF8 string into a properties struct. +func LoadString(s string) (*Properties, error) { + l := &Loader{Encoding: UTF8} + return l.LoadBytes([]byte(s)) +} + +// LoadMap creates a new Properties struct from a string map. +func LoadMap(m map[string]string) *Properties { + p := NewProperties() + for k, v := range m { + p.Set(k, v) + } + return p +} + +// LoadFile reads a file into a Properties struct. +func LoadFile(filename string, enc Encoding) (*Properties, error) { + l := &Loader{Encoding: enc} + return l.LoadAll([]string{filename}) +} + +// LoadFiles reads multiple files in the given order into +// a Properties struct. If 'ignoreMissing' is true then +// non-existent files will not be reported as error. +func LoadFiles(filenames []string, enc Encoding, ignoreMissing bool) (*Properties, error) { + l := &Loader{Encoding: enc, IgnoreMissing: ignoreMissing} + return l.LoadAll(filenames) +} + +// LoadURL reads the content of the URL into a Properties struct. +// See Loader#LoadURL for details. +func LoadURL(url string) (*Properties, error) { + l := &Loader{Encoding: UTF8} + return l.LoadAll([]string{url}) +} + +// LoadURLs reads the content of multiple URLs in the given order into a +// Properties struct. If IgnoreMissing is true then a 404 status code will +// not be reported as error. See Loader#LoadURL for the Content-Type header +// and the encoding. +func LoadURLs(urls []string, ignoreMissing bool) (*Properties, error) { + l := &Loader{Encoding: UTF8, IgnoreMissing: ignoreMissing} + return l.LoadAll(urls) +} + +// LoadAll reads the content of multiple URLs or files in the given order into a +// Properties struct. If 'ignoreMissing' is true then a 404 status code or missing file will +// not be reported as error. Encoding sets the encoding for files. For the URLs please see +// LoadURL for the Content-Type header and the encoding. +func LoadAll(names []string, enc Encoding, ignoreMissing bool) (*Properties, error) { + l := &Loader{Encoding: enc, IgnoreMissing: ignoreMissing} + return l.LoadAll(names) +} + +// MustLoadString reads an UTF8 string into a Properties struct and +// panics on error. +func MustLoadString(s string) *Properties { + return must(LoadString(s)) +} + +// MustLoadFile reads a file into a Properties struct and +// panics on error. +func MustLoadFile(filename string, enc Encoding) *Properties { + return must(LoadFile(filename, enc)) +} + +// MustLoadFiles reads multiple files in the given order into +// a Properties struct and panics on error. If 'ignoreMissing' +// is true then non-existent files will not be reported as error. +func MustLoadFiles(filenames []string, enc Encoding, ignoreMissing bool) *Properties { + return must(LoadFiles(filenames, enc, ignoreMissing)) +} + +// MustLoadURL reads the content of a URL into a Properties struct and +// panics on error. +func MustLoadURL(url string) *Properties { + return must(LoadURL(url)) +} + +// MustLoadURLs reads the content of multiple URLs in the given order into a +// Properties struct and panics on error. If 'ignoreMissing' is true then a 404 +// status code will not be reported as error. +func MustLoadURLs(urls []string, ignoreMissing bool) *Properties { + return must(LoadURLs(urls, ignoreMissing)) +} + +// MustLoadAll reads the content of multiple URLs or files in the given order into a +// Properties struct. If 'ignoreMissing' is true then a 404 status code or missing file will +// not be reported as error. Encoding sets the encoding for files. For the URLs please see +// LoadURL for the Content-Type header and the encoding. It panics on error. +func MustLoadAll(names []string, enc Encoding, ignoreMissing bool) *Properties { + return must(LoadAll(names, enc, ignoreMissing)) +} + +func must(p *Properties, err error) *Properties { + if err != nil { + ErrorHandler(err) + } + return p +} + +// expandName expands ${ENV_VAR} expressions in a name. +// If the environment variable does not exist then it will be replaced +// with an empty string. Malformed expressions like "${ENV_VAR" will +// be reported as error. +func expandName(name string) (string, error) { + return expand(name, []string{}, "${", "}", make(map[string]string)) +} + +// Interprets a byte buffer either as an ISO-8859-1 or UTF-8 encoded string. +// For ISO-8859-1 we can convert each byte straight into a rune since the +// first 256 unicode code points cover ISO-8859-1. +func convert(buf []byte, enc Encoding) string { + switch enc { + case utf8Default, UTF8: + return string(buf) + case ISO_8859_1: + runes := make([]rune, len(buf)) + for i, b := range buf { + runes[i] = rune(b) + } + return string(runes) + default: + ErrorHandler(fmt.Errorf("unsupported encoding %v", enc)) + } + panic("ErrorHandler should exit") +} diff --git a/vendor/github.com/magiconair/properties/parser.go b/vendor/github.com/magiconair/properties/parser.go new file mode 100755 index 0000000..cdc4a80 --- /dev/null +++ b/vendor/github.com/magiconair/properties/parser.go @@ -0,0 +1,95 @@ +// Copyright 2018 Frank Schroeder. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package properties + +import ( + "fmt" + "runtime" +) + +type parser struct { + lex *lexer +} + +func parse(input string) (properties *Properties, err error) { + p := &parser{lex: lex(input)} + defer p.recover(&err) + + properties = NewProperties() + key := "" + comments := []string{} + + for { + token := p.expectOneOf(itemComment, itemKey, itemEOF) + switch token.typ { + case itemEOF: + goto done + case itemComment: + comments = append(comments, token.val) + continue + case itemKey: + key = token.val + if _, ok := properties.m[key]; !ok { + properties.k = append(properties.k, key) + } + } + + token = p.expectOneOf(itemValue, itemEOF) + if len(comments) > 0 { + properties.c[key] = comments + comments = []string{} + } + switch token.typ { + case itemEOF: + properties.m[key] = "" + goto done + case itemValue: + properties.m[key] = token.val + } + } + +done: + return properties, nil +} + +func (p *parser) errorf(format string, args ...interface{}) { + format = fmt.Sprintf("properties: Line %d: %s", p.lex.lineNumber(), format) + panic(fmt.Errorf(format, args...)) +} + +func (p *parser) expect(expected itemType) (token item) { + token = p.lex.nextItem() + if token.typ != expected { + p.unexpected(token) + } + return token +} + +func (p *parser) expectOneOf(expected ...itemType) (token item) { + token = p.lex.nextItem() + for _, v := range expected { + if token.typ == v { + return token + } + } + p.unexpected(token) + panic("unexpected token") +} + +func (p *parser) unexpected(token item) { + p.errorf(token.String()) +} + +// recover is the handler that turns panics into returns from the top level of Parse. +func (p *parser) recover(errp *error) { + e := recover() + if e != nil { + if _, ok := e.(runtime.Error); ok { + panic(e) + } + *errp = e.(error) + } + return +} diff --git a/vendor/github.com/magiconair/properties/properties.go b/vendor/github.com/magiconair/properties/properties.go new file mode 100755 index 0000000..cb3d1a3 --- /dev/null +++ b/vendor/github.com/magiconair/properties/properties.go @@ -0,0 +1,833 @@ +// Copyright 2018 Frank Schroeder. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package properties + +// BUG(frank): Set() does not check for invalid unicode literals since this is currently handled by the lexer. +// BUG(frank): Write() does not allow to configure the newline character. Therefore, on Windows LF is used. + +import ( + "fmt" + "io" + "log" + "os" + "regexp" + "strconv" + "strings" + "time" + "unicode/utf8" +) + +const maxExpansionDepth = 64 + +// ErrorHandlerFunc defines the type of function which handles failures +// of the MustXXX() functions. An error handler function must exit +// the application after handling the error. +type ErrorHandlerFunc func(error) + +// ErrorHandler is the function which handles failures of the MustXXX() +// functions. The default is LogFatalHandler. +var ErrorHandler ErrorHandlerFunc = LogFatalHandler + +// LogHandlerFunc defines the function prototype for logging errors. +type LogHandlerFunc func(fmt string, args ...interface{}) + +// LogPrintf defines a log handler which uses log.Printf. +var LogPrintf LogHandlerFunc = log.Printf + +// LogFatalHandler handles the error by logging a fatal error and exiting. +func LogFatalHandler(err error) { + log.Fatal(err) +} + +// PanicHandler handles the error by panicking. +func PanicHandler(err error) { + panic(err) +} + +// ----------------------------------------------------------------------------- + +// A Properties contains the key/value pairs from the properties input. +// All values are stored in unexpanded form and are expanded at runtime +type Properties struct { + // Pre-/Postfix for property expansion. + Prefix string + Postfix string + + // DisableExpansion controls the expansion of properties on Get() + // and the check for circular references on Set(). When set to + // true Properties behaves like a simple key/value store and does + // not check for circular references on Get() or on Set(). + DisableExpansion bool + + // Stores the key/value pairs + m map[string]string + + // Stores the comments per key. + c map[string][]string + + // Stores the keys in order of appearance. + k []string +} + +// NewProperties creates a new Properties struct with the default +// configuration for "${key}" expressions. +func NewProperties() *Properties { + return &Properties{ + Prefix: "${", + Postfix: "}", + m: map[string]string{}, + c: map[string][]string{}, + k: []string{}, + } +} + +// Load reads a buffer into the given Properties struct. +func (p *Properties) Load(buf []byte, enc Encoding) error { + l := &Loader{Encoding: enc, DisableExpansion: p.DisableExpansion} + newProperties, err := l.LoadBytes(buf) + if err != nil { + return err + } + p.Merge(newProperties) + return nil +} + +// Get returns the expanded value for the given key if exists. +// Otherwise, ok is false. +func (p *Properties) Get(key string) (value string, ok bool) { + v, ok := p.m[key] + if p.DisableExpansion { + return v, ok + } + if !ok { + return "", false + } + + expanded, err := p.expand(key, v) + + // we guarantee that the expanded value is free of + // circular references and malformed expressions + // so we panic if we still get an error here. + if err != nil { + ErrorHandler(fmt.Errorf("%s in %q", err, key+" = "+v)) + } + + return expanded, true +} + +// MustGet returns the expanded value for the given key if exists. +// Otherwise, it panics. +func (p *Properties) MustGet(key string) string { + if v, ok := p.Get(key); ok { + return v + } + ErrorHandler(invalidKeyError(key)) + panic("ErrorHandler should exit") +} + +// ---------------------------------------------------------------------------- + +// ClearComments removes the comments for all keys. +func (p *Properties) ClearComments() { + p.c = map[string][]string{} +} + +// ---------------------------------------------------------------------------- + +// GetComment returns the last comment before the given key or an empty string. +func (p *Properties) GetComment(key string) string { + comments, ok := p.c[key] + if !ok || len(comments) == 0 { + return "" + } + return comments[len(comments)-1] +} + +// ---------------------------------------------------------------------------- + +// GetComments returns all comments that appeared before the given key or nil. +func (p *Properties) GetComments(key string) []string { + if comments, ok := p.c[key]; ok { + return comments + } + return nil +} + +// ---------------------------------------------------------------------------- + +// SetComment sets the comment for the key. +func (p *Properties) SetComment(key, comment string) { + p.c[key] = []string{comment} +} + +// ---------------------------------------------------------------------------- + +// SetComments sets the comments for the key. If the comments are nil then +// all comments for this key are deleted. +func (p *Properties) SetComments(key string, comments []string) { + if comments == nil { + delete(p.c, key) + return + } + p.c[key] = comments +} + +// ---------------------------------------------------------------------------- + +// GetBool checks if the expanded value is one of '1', 'yes', +// 'true' or 'on' if the key exists. The comparison is case-insensitive. +// If the key does not exist the default value is returned. +func (p *Properties) GetBool(key string, def bool) bool { + v, err := p.getBool(key) + if err != nil { + return def + } + return v +} + +// MustGetBool checks if the expanded value is one of '1', 'yes', +// 'true' or 'on' if the key exists. The comparison is case-insensitive. +// If the key does not exist the function panics. +func (p *Properties) MustGetBool(key string) bool { + v, err := p.getBool(key) + if err != nil { + ErrorHandler(err) + } + return v +} + +func (p *Properties) getBool(key string) (value bool, err error) { + if v, ok := p.Get(key); ok { + return boolVal(v), nil + } + return false, invalidKeyError(key) +} + +func boolVal(v string) bool { + v = strings.ToLower(v) + return v == "1" || v == "true" || v == "yes" || v == "on" +} + +// ---------------------------------------------------------------------------- + +// GetDuration parses the expanded value as an time.Duration (in ns) if the +// key exists. If key does not exist or the value cannot be parsed the default +// value is returned. In almost all cases you want to use GetParsedDuration(). +func (p *Properties) GetDuration(key string, def time.Duration) time.Duration { + v, err := p.getInt64(key) + if err != nil { + return def + } + return time.Duration(v) +} + +// MustGetDuration parses the expanded value as an time.Duration (in ns) if +// the key exists. If key does not exist or the value cannot be parsed the +// function panics. In almost all cases you want to use MustGetParsedDuration(). +func (p *Properties) MustGetDuration(key string) time.Duration { + v, err := p.getInt64(key) + if err != nil { + ErrorHandler(err) + } + return time.Duration(v) +} + +// ---------------------------------------------------------------------------- + +// GetParsedDuration parses the expanded value with time.ParseDuration() if the key exists. +// If key does not exist or the value cannot be parsed the default +// value is returned. +func (p *Properties) GetParsedDuration(key string, def time.Duration) time.Duration { + s, ok := p.Get(key) + if !ok { + return def + } + v, err := time.ParseDuration(s) + if err != nil { + return def + } + return v +} + +// MustGetParsedDuration parses the expanded value with time.ParseDuration() if the key exists. +// If key does not exist or the value cannot be parsed the function panics. +func (p *Properties) MustGetParsedDuration(key string) time.Duration { + s, ok := p.Get(key) + if !ok { + ErrorHandler(invalidKeyError(key)) + } + v, err := time.ParseDuration(s) + if err != nil { + ErrorHandler(err) + } + return v +} + +// ---------------------------------------------------------------------------- + +// GetFloat64 parses the expanded value as a float64 if the key exists. +// If key does not exist or the value cannot be parsed the default +// value is returned. +func (p *Properties) GetFloat64(key string, def float64) float64 { + v, err := p.getFloat64(key) + if err != nil { + return def + } + return v +} + +// MustGetFloat64 parses the expanded value as a float64 if the key exists. +// If key does not exist or the value cannot be parsed the function panics. +func (p *Properties) MustGetFloat64(key string) float64 { + v, err := p.getFloat64(key) + if err != nil { + ErrorHandler(err) + } + return v +} + +func (p *Properties) getFloat64(key string) (value float64, err error) { + if v, ok := p.Get(key); ok { + value, err = strconv.ParseFloat(v, 64) + if err != nil { + return 0, err + } + return value, nil + } + return 0, invalidKeyError(key) +} + +// ---------------------------------------------------------------------------- + +// GetInt parses the expanded value as an int if the key exists. +// If key does not exist or the value cannot be parsed the default +// value is returned. If the value does not fit into an int the +// function panics with an out of range error. +func (p *Properties) GetInt(key string, def int) int { + v, err := p.getInt64(key) + if err != nil { + return def + } + return intRangeCheck(key, v) +} + +// MustGetInt parses the expanded value as an int if the key exists. +// If key does not exist or the value cannot be parsed the function panics. +// If the value does not fit into an int the function panics with +// an out of range error. +func (p *Properties) MustGetInt(key string) int { + v, err := p.getInt64(key) + if err != nil { + ErrorHandler(err) + } + return intRangeCheck(key, v) +} + +// ---------------------------------------------------------------------------- + +// GetInt64 parses the expanded value as an int64 if the key exists. +// If key does not exist or the value cannot be parsed the default +// value is returned. +func (p *Properties) GetInt64(key string, def int64) int64 { + v, err := p.getInt64(key) + if err != nil { + return def + } + return v +} + +// MustGetInt64 parses the expanded value as an int if the key exists. +// If key does not exist or the value cannot be parsed the function panics. +func (p *Properties) MustGetInt64(key string) int64 { + v, err := p.getInt64(key) + if err != nil { + ErrorHandler(err) + } + return v +} + +func (p *Properties) getInt64(key string) (value int64, err error) { + if v, ok := p.Get(key); ok { + value, err = strconv.ParseInt(v, 10, 64) + if err != nil { + return 0, err + } + return value, nil + } + return 0, invalidKeyError(key) +} + +// ---------------------------------------------------------------------------- + +// GetUint parses the expanded value as an uint if the key exists. +// If key does not exist or the value cannot be parsed the default +// value is returned. If the value does not fit into an int the +// function panics with an out of range error. +func (p *Properties) GetUint(key string, def uint) uint { + v, err := p.getUint64(key) + if err != nil { + return def + } + return uintRangeCheck(key, v) +} + +// MustGetUint parses the expanded value as an int if the key exists. +// If key does not exist or the value cannot be parsed the function panics. +// If the value does not fit into an int the function panics with +// an out of range error. +func (p *Properties) MustGetUint(key string) uint { + v, err := p.getUint64(key) + if err != nil { + ErrorHandler(err) + } + return uintRangeCheck(key, v) +} + +// ---------------------------------------------------------------------------- + +// GetUint64 parses the expanded value as an uint64 if the key exists. +// If key does not exist or the value cannot be parsed the default +// value is returned. +func (p *Properties) GetUint64(key string, def uint64) uint64 { + v, err := p.getUint64(key) + if err != nil { + return def + } + return v +} + +// MustGetUint64 parses the expanded value as an int if the key exists. +// If key does not exist or the value cannot be parsed the function panics. +func (p *Properties) MustGetUint64(key string) uint64 { + v, err := p.getUint64(key) + if err != nil { + ErrorHandler(err) + } + return v +} + +func (p *Properties) getUint64(key string) (value uint64, err error) { + if v, ok := p.Get(key); ok { + value, err = strconv.ParseUint(v, 10, 64) + if err != nil { + return 0, err + } + return value, nil + } + return 0, invalidKeyError(key) +} + +// ---------------------------------------------------------------------------- + +// GetString returns the expanded value for the given key if exists or +// the default value otherwise. +func (p *Properties) GetString(key, def string) string { + if v, ok := p.Get(key); ok { + return v + } + return def +} + +// MustGetString returns the expanded value for the given key if exists or +// panics otherwise. +func (p *Properties) MustGetString(key string) string { + if v, ok := p.Get(key); ok { + return v + } + ErrorHandler(invalidKeyError(key)) + panic("ErrorHandler should exit") +} + +// ---------------------------------------------------------------------------- + +// Filter returns a new properties object which contains all properties +// for which the key matches the pattern. +func (p *Properties) Filter(pattern string) (*Properties, error) { + re, err := regexp.Compile(pattern) + if err != nil { + return nil, err + } + + return p.FilterRegexp(re), nil +} + +// FilterRegexp returns a new properties object which contains all properties +// for which the key matches the regular expression. +func (p *Properties) FilterRegexp(re *regexp.Regexp) *Properties { + pp := NewProperties() + for _, k := range p.k { + if re.MatchString(k) { + // TODO(fs): we are ignoring the error which flags a circular reference. + // TODO(fs): since we are just copying a subset of keys this cannot happen (fingers crossed) + pp.Set(k, p.m[k]) + } + } + return pp +} + +// FilterPrefix returns a new properties object with a subset of all keys +// with the given prefix. +func (p *Properties) FilterPrefix(prefix string) *Properties { + pp := NewProperties() + for _, k := range p.k { + if strings.HasPrefix(k, prefix) { + // TODO(fs): we are ignoring the error which flags a circular reference. + // TODO(fs): since we are just copying a subset of keys this cannot happen (fingers crossed) + pp.Set(k, p.m[k]) + } + } + return pp +} + +// FilterStripPrefix returns a new properties object with a subset of all keys +// with the given prefix and the prefix removed from the keys. +func (p *Properties) FilterStripPrefix(prefix string) *Properties { + pp := NewProperties() + n := len(prefix) + for _, k := range p.k { + if len(k) > len(prefix) && strings.HasPrefix(k, prefix) { + // TODO(fs): we are ignoring the error which flags a circular reference. + // TODO(fs): since we are modifying keys I am not entirely sure whether we can create a circular reference + // TODO(fs): this function should probably return an error but the signature is fixed + pp.Set(k[n:], p.m[k]) + } + } + return pp +} + +// Len returns the number of keys. +func (p *Properties) Len() int { + return len(p.m) +} + +// Keys returns all keys in the same order as in the input. +func (p *Properties) Keys() []string { + keys := make([]string, len(p.k)) + copy(keys, p.k) + return keys +} + +// Set sets the property key to the corresponding value. +// If a value for key existed before then ok is true and prev +// contains the previous value. If the value contains a +// circular reference or a malformed expression then +// an error is returned. +// An empty key is silently ignored. +func (p *Properties) Set(key, value string) (prev string, ok bool, err error) { + if key == "" { + return "", false, nil + } + + // if expansion is disabled we allow circular references + if p.DisableExpansion { + prev, ok = p.Get(key) + p.m[key] = value + if !ok { + p.k = append(p.k, key) + } + return prev, ok, nil + } + + // to check for a circular reference we temporarily need + // to set the new value. If there is an error then revert + // to the previous state. Only if all tests are successful + // then we add the key to the p.k list. + prev, ok = p.Get(key) + p.m[key] = value + + // now check for a circular reference + _, err = p.expand(key, value) + if err != nil { + + // revert to the previous state + if ok { + p.m[key] = prev + } else { + delete(p.m, key) + } + + return "", false, err + } + + if !ok { + p.k = append(p.k, key) + } + + return prev, ok, nil +} + +// SetValue sets property key to the default string value +// as defined by fmt.Sprintf("%v"). +func (p *Properties) SetValue(key string, value interface{}) error { + _, _, err := p.Set(key, fmt.Sprintf("%v", value)) + return err +} + +// MustSet sets the property key to the corresponding value. +// If a value for key existed before then ok is true and prev +// contains the previous value. An empty key is silently ignored. +func (p *Properties) MustSet(key, value string) (prev string, ok bool) { + prev, ok, err := p.Set(key, value) + if err != nil { + ErrorHandler(err) + } + return prev, ok +} + +// String returns a string of all expanded 'key = value' pairs. +func (p *Properties) String() string { + var s string + for _, key := range p.k { + value, _ := p.Get(key) + s = fmt.Sprintf("%s%s = %s\n", s, key, value) + } + return s +} + +// Write writes all unexpanded 'key = value' pairs to the given writer. +// Write returns the number of bytes written and any write error encountered. +func (p *Properties) Write(w io.Writer, enc Encoding) (n int, err error) { + return p.WriteComment(w, "", enc) +} + +// WriteComment writes all unexpanced 'key = value' pairs to the given writer. +// If prefix is not empty then comments are written with a blank line and the +// given prefix. The prefix should be either "# " or "! " to be compatible with +// the properties file format. Otherwise, the properties parser will not be +// able to read the file back in. It returns the number of bytes written and +// any write error encountered. +func (p *Properties) WriteComment(w io.Writer, prefix string, enc Encoding) (n int, err error) { + var x int + + for _, key := range p.k { + value := p.m[key] + + if prefix != "" { + if comments, ok := p.c[key]; ok { + // don't print comments if they are all empty + allEmpty := true + for _, c := range comments { + if c != "" { + allEmpty = false + break + } + } + + if !allEmpty { + // add a blank line between entries but not at the top + if len(comments) > 0 && n > 0 { + x, err = fmt.Fprintln(w) + if err != nil { + return + } + n += x + } + + for _, c := range comments { + x, err = fmt.Fprintf(w, "%s%s\n", prefix, encode(c, "", enc)) + if err != nil { + return + } + n += x + } + } + } + } + + x, err = fmt.Fprintf(w, "%s = %s\n", encode(key, " :", enc), encode(value, "", enc)) + if err != nil { + return + } + n += x + } + return +} + +// Map returns a copy of the properties as a map. +func (p *Properties) Map() map[string]string { + m := make(map[string]string) + for k, v := range p.m { + m[k] = v + } + return m +} + +// FilterFunc returns a copy of the properties which includes the values which passed all filters. +func (p *Properties) FilterFunc(filters ...func(k, v string) bool) *Properties { + pp := NewProperties() +outer: + for k, v := range p.m { + for _, f := range filters { + if !f(k, v) { + continue outer + } + pp.Set(k, v) + } + } + return pp +} + +// ---------------------------------------------------------------------------- + +// Delete removes the key and its comments. +func (p *Properties) Delete(key string) { + delete(p.m, key) + delete(p.c, key) + newKeys := []string{} + for _, k := range p.k { + if k != key { + newKeys = append(newKeys, k) + } + } + p.k = newKeys +} + +// Merge merges properties, comments and keys from other *Properties into p +func (p *Properties) Merge(other *Properties) { + for k, v := range other.m { + p.m[k] = v + } + for k, v := range other.c { + p.c[k] = v + } + +outer: + for _, otherKey := range other.k { + for _, key := range p.k { + if otherKey == key { + continue outer + } + } + p.k = append(p.k, otherKey) + } +} + +// ---------------------------------------------------------------------------- + +// check expands all values and returns an error if a circular reference or +// a malformed expression was found. +func (p *Properties) check() error { + for key, value := range p.m { + if _, err := p.expand(key, value); err != nil { + return err + } + } + return nil +} + +func (p *Properties) expand(key, input string) (string, error) { + // no pre/postfix -> nothing to expand + if p.Prefix == "" && p.Postfix == "" { + return input, nil + } + + return expand(input, []string{key}, p.Prefix, p.Postfix, p.m) +} + +// expand recursively expands expressions of '(prefix)key(postfix)' to their corresponding values. +// The function keeps track of the keys that were already expanded and stops if it +// detects a circular reference or a malformed expression of the form '(prefix)key'. +func expand(s string, keys []string, prefix, postfix string, values map[string]string) (string, error) { + if len(keys) > maxExpansionDepth { + return "", fmt.Errorf("expansion too deep") + } + + for { + start := strings.Index(s, prefix) + if start == -1 { + return s, nil + } + + keyStart := start + len(prefix) + keyLen := strings.Index(s[keyStart:], postfix) + if keyLen == -1 { + return "", fmt.Errorf("malformed expression") + } + + end := keyStart + keyLen + len(postfix) - 1 + key := s[keyStart : keyStart+keyLen] + + // fmt.Printf("s:%q pp:%q start:%d end:%d keyStart:%d keyLen:%d key:%q\n", s, prefix + "..." + postfix, start, end, keyStart, keyLen, key) + + for _, k := range keys { + if key == k { + return "", fmt.Errorf("circular reference") + } + } + + val, ok := values[key] + if !ok { + val = os.Getenv(key) + } + new_val, err := expand(val, append(keys, key), prefix, postfix, values) + if err != nil { + return "", err + } + s = s[:start] + new_val + s[end+1:] + } + return s, nil +} + +// encode encodes a UTF-8 string to ISO-8859-1 and escapes some characters. +func encode(s string, special string, enc Encoding) string { + switch enc { + case UTF8: + return encodeUtf8(s, special) + case ISO_8859_1: + return encodeIso(s, special) + default: + panic(fmt.Sprintf("unsupported encoding %v", enc)) + } +} + +func encodeUtf8(s string, special string) string { + v := "" + for pos := 0; pos < len(s); { + r, w := utf8.DecodeRuneInString(s[pos:]) + pos += w + v += escape(r, special) + } + return v +} + +func encodeIso(s string, special string) string { + var r rune + var w int + var v string + for pos := 0; pos < len(s); { + switch r, w = utf8.DecodeRuneInString(s[pos:]); { + case r < 1<<8: // single byte rune -> escape special chars only + v += escape(r, special) + case r < 1<<16: // two byte rune -> unicode literal + v += fmt.Sprintf("\\u%04x", r) + default: // more than two bytes per rune -> can't encode + v += "?" + } + pos += w + } + return v +} + +func escape(r rune, special string) string { + switch r { + case '\f': + return "\\f" + case '\n': + return "\\n" + case '\r': + return "\\r" + case '\t': + return "\\t" + default: + if strings.ContainsRune(special, r) { + return "\\" + string(r) + } + return string(r) + } +} + +func invalidKeyError(key string) error { + return fmt.Errorf("unknown property: %s", key) +} diff --git a/vendor/github.com/magiconair/properties/rangecheck.go b/vendor/github.com/magiconair/properties/rangecheck.go new file mode 100755 index 0000000..b013a2e --- /dev/null +++ b/vendor/github.com/magiconair/properties/rangecheck.go @@ -0,0 +1,31 @@ +// Copyright 2018 Frank Schroeder. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package properties + +import ( + "fmt" + "math" +) + +// make this a var to overwrite it in a test +var is32Bit = ^uint(0) == math.MaxUint32 + +// intRangeCheck checks if the value fits into the int type and +// panics if it does not. +func intRangeCheck(key string, v int64) int { + if is32Bit && (v < math.MinInt32 || v > math.MaxInt32) { + panic(fmt.Sprintf("Value %d for key %s out of range", v, key)) + } + return int(v) +} + +// uintRangeCheck checks if the value fits into the uint type and +// panics if it does not. +func uintRangeCheck(key string, v uint64) uint { + if is32Bit && v > math.MaxUint32 { + panic(fmt.Sprintf("Value %d for key %s out of range", v, key)) + } + return uint(v) +} diff --git a/vendor/github.com/mitchellh/mapstructure/.travis.yml b/vendor/github.com/mitchellh/mapstructure/.travis.yml new file mode 100755 index 0000000..d9deadb --- /dev/null +++ b/vendor/github.com/mitchellh/mapstructure/.travis.yml @@ -0,0 +1,8 @@ +language: go + +go: + - 1.9.x + - tip + +script: + - go test diff --git a/electron/src/node_modules/mime-db/LICENSE b/vendor/github.com/mitchellh/mapstructure/LICENSE similarity index 95% rename from electron/src/node_modules/mime-db/LICENSE rename to vendor/github.com/mitchellh/mapstructure/LICENSE index a7ae8ee..f9c841a 100755 --- a/electron/src/node_modules/mime-db/LICENSE +++ b/vendor/github.com/mitchellh/mapstructure/LICENSE @@ -1,7 +1,6 @@ - The MIT License (MIT) -Copyright (c) 2014 Jonathan Ong me@jongleberry.com +Copyright (c) 2013 Mitchell Hashimoto Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/vendor/github.com/mitchellh/mapstructure/README.md b/vendor/github.com/mitchellh/mapstructure/README.md new file mode 100755 index 0000000..0018dc7 --- /dev/null +++ b/vendor/github.com/mitchellh/mapstructure/README.md @@ -0,0 +1,46 @@ +# mapstructure [![Godoc](https://godoc.org/github.com/mitchellh/mapstructure?status.svg)](https://godoc.org/github.com/mitchellh/mapstructure) + +mapstructure is a Go library for decoding generic map values to structures +and vice versa, while providing helpful error handling. + +This library is most useful when decoding values from some data stream (JSON, +Gob, etc.) where you don't _quite_ know the structure of the underlying data +until you read a part of it. You can therefore read a `map[string]interface{}` +and use this library to decode it into the proper underlying native Go +structure. + +## Installation + +Standard `go get`: + +``` +$ go get github.com/mitchellh/mapstructure +``` + +## Usage & Example + +For usage and examples see the [Godoc](http://godoc.org/github.com/mitchellh/mapstructure). + +The `Decode` function has examples associated with it there. + +## But Why?! + +Go offers fantastic standard libraries for decoding formats such as JSON. +The standard method is to have a struct pre-created, and populate that struct +from the bytes of the encoded format. This is great, but the problem is if +you have configuration or an encoding that changes slightly depending on +specific fields. For example, consider this JSON: + +```json +{ + "type": "person", + "name": "Mitchell" +} +``` + +Perhaps we can't populate a specific structure without first reading +the "type" field from the JSON. We could always do two passes over the +decoding of the JSON (reading the "type" first, and the rest later). +However, it is much simpler to just decode this into a `map[string]interface{}` +structure, read the "type" key, then use something like this library +to decode it into the proper structure. diff --git a/vendor/github.com/mitchellh/mapstructure/decode_hooks.go b/vendor/github.com/mitchellh/mapstructure/decode_hooks.go new file mode 100755 index 0000000..2a72757 --- /dev/null +++ b/vendor/github.com/mitchellh/mapstructure/decode_hooks.go @@ -0,0 +1,171 @@ +package mapstructure + +import ( + "errors" + "reflect" + "strconv" + "strings" + "time" +) + +// typedDecodeHook takes a raw DecodeHookFunc (an interface{}) and turns +// it into the proper DecodeHookFunc type, such as DecodeHookFuncType. +func typedDecodeHook(h DecodeHookFunc) DecodeHookFunc { + // Create variables here so we can reference them with the reflect pkg + var f1 DecodeHookFuncType + var f2 DecodeHookFuncKind + + // Fill in the variables into this interface and the rest is done + // automatically using the reflect package. + potential := []interface{}{f1, f2} + + v := reflect.ValueOf(h) + vt := v.Type() + for _, raw := range potential { + pt := reflect.ValueOf(raw).Type() + if vt.ConvertibleTo(pt) { + return v.Convert(pt).Interface() + } + } + + return nil +} + +// DecodeHookExec executes the given decode hook. This should be used +// since it'll naturally degrade to the older backwards compatible DecodeHookFunc +// that took reflect.Kind instead of reflect.Type. +func DecodeHookExec( + raw DecodeHookFunc, + from reflect.Type, to reflect.Type, + data interface{}) (interface{}, error) { + switch f := typedDecodeHook(raw).(type) { + case DecodeHookFuncType: + return f(from, to, data) + case DecodeHookFuncKind: + return f(from.Kind(), to.Kind(), data) + default: + return nil, errors.New("invalid decode hook signature") + } +} + +// ComposeDecodeHookFunc creates a single DecodeHookFunc that +// automatically composes multiple DecodeHookFuncs. +// +// The composed funcs are called in order, with the result of the +// previous transformation. +func ComposeDecodeHookFunc(fs ...DecodeHookFunc) DecodeHookFunc { + return func( + f reflect.Type, + t reflect.Type, + data interface{}) (interface{}, error) { + var err error + for _, f1 := range fs { + data, err = DecodeHookExec(f1, f, t, data) + if err != nil { + return nil, err + } + + // Modify the from kind to be correct with the new data + f = nil + if val := reflect.ValueOf(data); val.IsValid() { + f = val.Type() + } + } + + return data, nil + } +} + +// StringToSliceHookFunc returns a DecodeHookFunc that converts +// string to []string by splitting on the given sep. +func StringToSliceHookFunc(sep string) DecodeHookFunc { + return func( + f reflect.Kind, + t reflect.Kind, + data interface{}) (interface{}, error) { + if f != reflect.String || t != reflect.Slice { + return data, nil + } + + raw := data.(string) + if raw == "" { + return []string{}, nil + } + + return strings.Split(raw, sep), nil + } +} + +// StringToTimeDurationHookFunc returns a DecodeHookFunc that converts +// strings to time.Duration. +func StringToTimeDurationHookFunc() DecodeHookFunc { + return func( + f reflect.Type, + t reflect.Type, + data interface{}) (interface{}, error) { + if f.Kind() != reflect.String { + return data, nil + } + if t != reflect.TypeOf(time.Duration(5)) { + return data, nil + } + + // Convert it by parsing + return time.ParseDuration(data.(string)) + } +} + +// StringToTimeHookFunc returns a DecodeHookFunc that converts +// strings to time.Time. +func StringToTimeHookFunc(layout string) DecodeHookFunc { + return func( + f reflect.Type, + t reflect.Type, + data interface{}) (interface{}, error) { + if f.Kind() != reflect.String { + return data, nil + } + if t != reflect.TypeOf(time.Time{}) { + return data, nil + } + + // Convert it by parsing + return time.Parse(layout, data.(string)) + } +} + +// WeaklyTypedHook is a DecodeHookFunc which adds support for weak typing to +// the decoder. +// +// Note that this is significantly different from the WeaklyTypedInput option +// of the DecoderConfig. +func WeaklyTypedHook( + f reflect.Kind, + t reflect.Kind, + data interface{}) (interface{}, error) { + dataVal := reflect.ValueOf(data) + switch t { + case reflect.String: + switch f { + case reflect.Bool: + if dataVal.Bool() { + return "1", nil + } + return "0", nil + case reflect.Float32: + return strconv.FormatFloat(dataVal.Float(), 'f', -1, 64), nil + case reflect.Int: + return strconv.FormatInt(dataVal.Int(), 10), nil + case reflect.Slice: + dataType := dataVal.Type() + elemKind := dataType.Elem().Kind() + if elemKind == reflect.Uint8 { + return string(dataVal.Interface().([]uint8)), nil + } + case reflect.Uint: + return strconv.FormatUint(dataVal.Uint(), 10), nil + } + } + + return data, nil +} diff --git a/vendor/github.com/mitchellh/mapstructure/error.go b/vendor/github.com/mitchellh/mapstructure/error.go new file mode 100755 index 0000000..47a99e5 --- /dev/null +++ b/vendor/github.com/mitchellh/mapstructure/error.go @@ -0,0 +1,50 @@ +package mapstructure + +import ( + "errors" + "fmt" + "sort" + "strings" +) + +// Error implements the error interface and can represents multiple +// errors that occur in the course of a single decode. +type Error struct { + Errors []string +} + +func (e *Error) Error() string { + points := make([]string, len(e.Errors)) + for i, err := range e.Errors { + points[i] = fmt.Sprintf("* %s", err) + } + + sort.Strings(points) + return fmt.Sprintf( + "%d error(s) decoding:\n\n%s", + len(e.Errors), strings.Join(points, "\n")) +} + +// WrappedErrors implements the errwrap.Wrapper interface to make this +// return value more useful with the errwrap and go-multierror libraries. +func (e *Error) WrappedErrors() []error { + if e == nil { + return nil + } + + result := make([]error, len(e.Errors)) + for i, e := range e.Errors { + result[i] = errors.New(e) + } + + return result +} + +func appendErrors(errors []string, err error) []string { + switch e := err.(type) { + case *Error: + return append(errors, e.Errors...) + default: + return append(errors, e.Error()) + } +} diff --git a/vendor/github.com/mitchellh/mapstructure/mapstructure.go b/vendor/github.com/mitchellh/mapstructure/mapstructure.go new file mode 100755 index 0000000..13cc5e3 --- /dev/null +++ b/vendor/github.com/mitchellh/mapstructure/mapstructure.go @@ -0,0 +1,1061 @@ +// Package mapstructure exposes functionality to convert an arbitrary +// map[string]interface{} into a native Go structure. +// +// The Go structure can be arbitrarily complex, containing slices, +// other structs, etc. and the decoder will properly decode nested +// maps and so on into the proper structures in the native Go struct. +// See the examples to see what the decoder is capable of. +package mapstructure + +import ( + "encoding/json" + "errors" + "fmt" + "reflect" + "sort" + "strconv" + "strings" +) + +// DecodeHookFunc is the callback function that can be used for +// data transformations. See "DecodeHook" in the DecoderConfig +// struct. +// +// The type should be DecodeHookFuncType or DecodeHookFuncKind. +// Either is accepted. Types are a superset of Kinds (Types can return +// Kinds) and are generally a richer thing to use, but Kinds are simpler +// if you only need those. +// +// The reason DecodeHookFunc is multi-typed is for backwards compatibility: +// we started with Kinds and then realized Types were the better solution, +// but have a promise to not break backwards compat so we now support +// both. +type DecodeHookFunc interface{} + +// DecodeHookFuncType is a DecodeHookFunc which has complete information about +// the source and target types. +type DecodeHookFuncType func(reflect.Type, reflect.Type, interface{}) (interface{}, error) + +// DecodeHookFuncKind is a DecodeHookFunc which knows only the Kinds of the +// source and target types. +type DecodeHookFuncKind func(reflect.Kind, reflect.Kind, interface{}) (interface{}, error) + +// DecoderConfig is the configuration that is used to create a new decoder +// and allows customization of various aspects of decoding. +type DecoderConfig struct { + // DecodeHook, if set, will be called before any decoding and any + // type conversion (if WeaklyTypedInput is on). This lets you modify + // the values before they're set down onto the resulting struct. + // + // If an error is returned, the entire decode will fail with that + // error. + DecodeHook DecodeHookFunc + + // If ErrorUnused is true, then it is an error for there to exist + // keys in the original map that were unused in the decoding process + // (extra keys). + ErrorUnused bool + + // ZeroFields, if set to true, will zero fields before writing them. + // For example, a map will be emptied before decoded values are put in + // it. If this is false, a map will be merged. + ZeroFields bool + + // If WeaklyTypedInput is true, the decoder will make the following + // "weak" conversions: + // + // - bools to string (true = "1", false = "0") + // - numbers to string (base 10) + // - bools to int/uint (true = 1, false = 0) + // - strings to int/uint (base implied by prefix) + // - int to bool (true if value != 0) + // - string to bool (accepts: 1, t, T, TRUE, true, True, 0, f, F, + // FALSE, false, False. Anything else is an error) + // - empty array = empty map and vice versa + // - negative numbers to overflowed uint values (base 10) + // - slice of maps to a merged map + // - single values are converted to slices if required. Each + // element is weakly decoded. For example: "4" can become []int{4} + // if the target type is an int slice. + // + WeaklyTypedInput bool + + // Metadata is the struct that will contain extra metadata about + // the decoding. If this is nil, then no metadata will be tracked. + Metadata *Metadata + + // Result is a pointer to the struct that will contain the decoded + // value. + Result interface{} + + // The tag name that mapstructure reads for field names. This + // defaults to "mapstructure" + TagName string +} + +// A Decoder takes a raw interface value and turns it into structured +// data, keeping track of rich error information along the way in case +// anything goes wrong. Unlike the basic top-level Decode method, you can +// more finely control how the Decoder behaves using the DecoderConfig +// structure. The top-level Decode method is just a convenience that sets +// up the most basic Decoder. +type Decoder struct { + config *DecoderConfig +} + +// Metadata contains information about decoding a structure that +// is tedious or difficult to get otherwise. +type Metadata struct { + // Keys are the keys of the structure which were successfully decoded + Keys []string + + // Unused is a slice of keys that were found in the raw value but + // weren't decoded since there was no matching field in the result interface + Unused []string +} + +// Decode takes an input structure and uses reflection to translate it to +// the output structure. output must be a pointer to a map or struct. +func Decode(input interface{}, output interface{}) error { + config := &DecoderConfig{ + Metadata: nil, + Result: output, + } + + decoder, err := NewDecoder(config) + if err != nil { + return err + } + + return decoder.Decode(input) +} + +// WeakDecode is the same as Decode but is shorthand to enable +// WeaklyTypedInput. See DecoderConfig for more info. +func WeakDecode(input, output interface{}) error { + config := &DecoderConfig{ + Metadata: nil, + Result: output, + WeaklyTypedInput: true, + } + + decoder, err := NewDecoder(config) + if err != nil { + return err + } + + return decoder.Decode(input) +} + +// DecodeMetadata is the same as Decode, but is shorthand to +// enable metadata collection. See DecoderConfig for more info. +func DecodeMetadata(input interface{}, output interface{}, metadata *Metadata) error { + config := &DecoderConfig{ + Metadata: metadata, + Result: output, + } + + decoder, err := NewDecoder(config) + if err != nil { + return err + } + + return decoder.Decode(input) +} + +// WeakDecodeMetadata is the same as Decode, but is shorthand to +// enable both WeaklyTypedInput and metadata collection. See +// DecoderConfig for more info. +func WeakDecodeMetadata(input interface{}, output interface{}, metadata *Metadata) error { + config := &DecoderConfig{ + Metadata: metadata, + Result: output, + WeaklyTypedInput: true, + } + + decoder, err := NewDecoder(config) + if err != nil { + return err + } + + return decoder.Decode(input) +} + +// NewDecoder returns a new decoder for the given configuration. Once +// a decoder has been returned, the same configuration must not be used +// again. +func NewDecoder(config *DecoderConfig) (*Decoder, error) { + val := reflect.ValueOf(config.Result) + if val.Kind() != reflect.Ptr { + return nil, errors.New("result must be a pointer") + } + + val = val.Elem() + if !val.CanAddr() { + return nil, errors.New("result must be addressable (a pointer)") + } + + if config.Metadata != nil { + if config.Metadata.Keys == nil { + config.Metadata.Keys = make([]string, 0) + } + + if config.Metadata.Unused == nil { + config.Metadata.Unused = make([]string, 0) + } + } + + if config.TagName == "" { + config.TagName = "mapstructure" + } + + result := &Decoder{ + config: config, + } + + return result, nil +} + +// Decode decodes the given raw interface to the target pointer specified +// by the configuration. +func (d *Decoder) Decode(input interface{}) error { + return d.decode("", input, reflect.ValueOf(d.config.Result).Elem()) +} + +// Decodes an unknown data type into a specific reflection value. +func (d *Decoder) decode(name string, input interface{}, outVal reflect.Value) error { + if input == nil { + // If the data is nil, then we don't set anything, unless ZeroFields is set + // to true. + if d.config.ZeroFields { + outVal.Set(reflect.Zero(outVal.Type())) + + if d.config.Metadata != nil && name != "" { + d.config.Metadata.Keys = append(d.config.Metadata.Keys, name) + } + } + return nil + } + + inputVal := reflect.ValueOf(input) + if !inputVal.IsValid() { + // If the input value is invalid, then we just set the value + // to be the zero value. + outVal.Set(reflect.Zero(outVal.Type())) + if d.config.Metadata != nil && name != "" { + d.config.Metadata.Keys = append(d.config.Metadata.Keys, name) + } + return nil + } + + if d.config.DecodeHook != nil { + // We have a DecodeHook, so let's pre-process the input. + var err error + input, err = DecodeHookExec( + d.config.DecodeHook, + inputVal.Type(), outVal.Type(), input) + if err != nil { + return fmt.Errorf("error decoding '%s': %s", name, err) + } + } + + var err error + inputKind := getKind(outVal) + switch inputKind { + case reflect.Bool: + err = d.decodeBool(name, input, outVal) + case reflect.Interface: + err = d.decodeBasic(name, input, outVal) + case reflect.String: + err = d.decodeString(name, input, outVal) + case reflect.Int: + err = d.decodeInt(name, input, outVal) + case reflect.Uint: + err = d.decodeUint(name, input, outVal) + case reflect.Float32: + err = d.decodeFloat(name, input, outVal) + case reflect.Struct: + err = d.decodeStruct(name, input, outVal) + case reflect.Map: + err = d.decodeMap(name, input, outVal) + case reflect.Ptr: + err = d.decodePtr(name, input, outVal) + case reflect.Slice: + err = d.decodeSlice(name, input, outVal) + case reflect.Array: + err = d.decodeArray(name, input, outVal) + case reflect.Func: + err = d.decodeFunc(name, input, outVal) + default: + // If we reached this point then we weren't able to decode it + return fmt.Errorf("%s: unsupported type: %s", name, inputKind) + } + + // If we reached here, then we successfully decoded SOMETHING, so + // mark the key as used if we're tracking metainput. + if d.config.Metadata != nil && name != "" { + d.config.Metadata.Keys = append(d.config.Metadata.Keys, name) + } + + return err +} + +// This decodes a basic type (bool, int, string, etc.) and sets the +// value to "data" of that type. +func (d *Decoder) decodeBasic(name string, data interface{}, val reflect.Value) error { + if val.IsValid() && val.Elem().IsValid() { + return d.decode(name, data, val.Elem()) + } + dataVal := reflect.ValueOf(data) + if !dataVal.IsValid() { + dataVal = reflect.Zero(val.Type()) + } + + dataValType := dataVal.Type() + if !dataValType.AssignableTo(val.Type()) { + return fmt.Errorf( + "'%s' expected type '%s', got '%s'", + name, val.Type(), dataValType) + } + + val.Set(dataVal) + return nil +} + +func (d *Decoder) decodeString(name string, data interface{}, val reflect.Value) error { + dataVal := reflect.ValueOf(data) + dataKind := getKind(dataVal) + + converted := true + switch { + case dataKind == reflect.String: + val.SetString(dataVal.String()) + case dataKind == reflect.Bool && d.config.WeaklyTypedInput: + if dataVal.Bool() { + val.SetString("1") + } else { + val.SetString("0") + } + case dataKind == reflect.Int && d.config.WeaklyTypedInput: + val.SetString(strconv.FormatInt(dataVal.Int(), 10)) + case dataKind == reflect.Uint && d.config.WeaklyTypedInput: + val.SetString(strconv.FormatUint(dataVal.Uint(), 10)) + case dataKind == reflect.Float32 && d.config.WeaklyTypedInput: + val.SetString(strconv.FormatFloat(dataVal.Float(), 'f', -1, 64)) + case dataKind == reflect.Slice && d.config.WeaklyTypedInput, + dataKind == reflect.Array && d.config.WeaklyTypedInput: + dataType := dataVal.Type() + elemKind := dataType.Elem().Kind() + switch elemKind { + case reflect.Uint8: + var uints []uint8 + if dataKind == reflect.Array { + uints = make([]uint8, dataVal.Len(), dataVal.Len()) + for i := range uints { + uints[i] = dataVal.Index(i).Interface().(uint8) + } + } else { + uints = dataVal.Interface().([]uint8) + } + val.SetString(string(uints)) + default: + converted = false + } + default: + converted = false + } + + if !converted { + return fmt.Errorf( + "'%s' expected type '%s', got unconvertible type '%s'", + name, val.Type(), dataVal.Type()) + } + + return nil +} + +func (d *Decoder) decodeInt(name string, data interface{}, val reflect.Value) error { + dataVal := reflect.ValueOf(data) + dataKind := getKind(dataVal) + dataType := dataVal.Type() + + switch { + case dataKind == reflect.Int: + val.SetInt(dataVal.Int()) + case dataKind == reflect.Uint: + val.SetInt(int64(dataVal.Uint())) + case dataKind == reflect.Float32: + val.SetInt(int64(dataVal.Float())) + case dataKind == reflect.Bool && d.config.WeaklyTypedInput: + if dataVal.Bool() { + val.SetInt(1) + } else { + val.SetInt(0) + } + case dataKind == reflect.String && d.config.WeaklyTypedInput: + i, err := strconv.ParseInt(dataVal.String(), 0, val.Type().Bits()) + if err == nil { + val.SetInt(i) + } else { + return fmt.Errorf("cannot parse '%s' as int: %s", name, err) + } + case dataType.PkgPath() == "encoding/json" && dataType.Name() == "Number": + jn := data.(json.Number) + i, err := jn.Int64() + if err != nil { + return fmt.Errorf( + "error decoding json.Number into %s: %s", name, err) + } + val.SetInt(i) + default: + return fmt.Errorf( + "'%s' expected type '%s', got unconvertible type '%s'", + name, val.Type(), dataVal.Type()) + } + + return nil +} + +func (d *Decoder) decodeUint(name string, data interface{}, val reflect.Value) error { + dataVal := reflect.ValueOf(data) + dataKind := getKind(dataVal) + + switch { + case dataKind == reflect.Int: + i := dataVal.Int() + if i < 0 && !d.config.WeaklyTypedInput { + return fmt.Errorf("cannot parse '%s', %d overflows uint", + name, i) + } + val.SetUint(uint64(i)) + case dataKind == reflect.Uint: + val.SetUint(dataVal.Uint()) + case dataKind == reflect.Float32: + f := dataVal.Float() + if f < 0 && !d.config.WeaklyTypedInput { + return fmt.Errorf("cannot parse '%s', %f overflows uint", + name, f) + } + val.SetUint(uint64(f)) + case dataKind == reflect.Bool && d.config.WeaklyTypedInput: + if dataVal.Bool() { + val.SetUint(1) + } else { + val.SetUint(0) + } + case dataKind == reflect.String && d.config.WeaklyTypedInput: + i, err := strconv.ParseUint(dataVal.String(), 0, val.Type().Bits()) + if err == nil { + val.SetUint(i) + } else { + return fmt.Errorf("cannot parse '%s' as uint: %s", name, err) + } + default: + return fmt.Errorf( + "'%s' expected type '%s', got unconvertible type '%s'", + name, val.Type(), dataVal.Type()) + } + + return nil +} + +func (d *Decoder) decodeBool(name string, data interface{}, val reflect.Value) error { + dataVal := reflect.ValueOf(data) + dataKind := getKind(dataVal) + + switch { + case dataKind == reflect.Bool: + val.SetBool(dataVal.Bool()) + case dataKind == reflect.Int && d.config.WeaklyTypedInput: + val.SetBool(dataVal.Int() != 0) + case dataKind == reflect.Uint && d.config.WeaklyTypedInput: + val.SetBool(dataVal.Uint() != 0) + case dataKind == reflect.Float32 && d.config.WeaklyTypedInput: + val.SetBool(dataVal.Float() != 0) + case dataKind == reflect.String && d.config.WeaklyTypedInput: + b, err := strconv.ParseBool(dataVal.String()) + if err == nil { + val.SetBool(b) + } else if dataVal.String() == "" { + val.SetBool(false) + } else { + return fmt.Errorf("cannot parse '%s' as bool: %s", name, err) + } + default: + return fmt.Errorf( + "'%s' expected type '%s', got unconvertible type '%s'", + name, val.Type(), dataVal.Type()) + } + + return nil +} + +func (d *Decoder) decodeFloat(name string, data interface{}, val reflect.Value) error { + dataVal := reflect.ValueOf(data) + dataKind := getKind(dataVal) + dataType := dataVal.Type() + + switch { + case dataKind == reflect.Int: + val.SetFloat(float64(dataVal.Int())) + case dataKind == reflect.Uint: + val.SetFloat(float64(dataVal.Uint())) + case dataKind == reflect.Float32: + val.SetFloat(dataVal.Float()) + case dataKind == reflect.Bool && d.config.WeaklyTypedInput: + if dataVal.Bool() { + val.SetFloat(1) + } else { + val.SetFloat(0) + } + case dataKind == reflect.String && d.config.WeaklyTypedInput: + f, err := strconv.ParseFloat(dataVal.String(), val.Type().Bits()) + if err == nil { + val.SetFloat(f) + } else { + return fmt.Errorf("cannot parse '%s' as float: %s", name, err) + } + case dataType.PkgPath() == "encoding/json" && dataType.Name() == "Number": + jn := data.(json.Number) + i, err := jn.Float64() + if err != nil { + return fmt.Errorf( + "error decoding json.Number into %s: %s", name, err) + } + val.SetFloat(i) + default: + return fmt.Errorf( + "'%s' expected type '%s', got unconvertible type '%s'", + name, val.Type(), dataVal.Type()) + } + + return nil +} + +func (d *Decoder) decodeMap(name string, data interface{}, val reflect.Value) error { + valType := val.Type() + valKeyType := valType.Key() + valElemType := valType.Elem() + + // By default we overwrite keys in the current map + valMap := val + + // If the map is nil or we're purposely zeroing fields, make a new map + if valMap.IsNil() || d.config.ZeroFields { + // Make a new map to hold our result + mapType := reflect.MapOf(valKeyType, valElemType) + valMap = reflect.MakeMap(mapType) + } + + // Check input type and based on the input type jump to the proper func + dataVal := reflect.Indirect(reflect.ValueOf(data)) + switch dataVal.Kind() { + case reflect.Map: + return d.decodeMapFromMap(name, dataVal, val, valMap) + + case reflect.Struct: + return d.decodeMapFromStruct(name, dataVal, val, valMap) + + case reflect.Array, reflect.Slice: + if d.config.WeaklyTypedInput { + return d.decodeMapFromSlice(name, dataVal, val, valMap) + } + + fallthrough + + default: + return fmt.Errorf("'%s' expected a map, got '%s'", name, dataVal.Kind()) + } +} + +func (d *Decoder) decodeMapFromSlice(name string, dataVal reflect.Value, val reflect.Value, valMap reflect.Value) error { + // Special case for BC reasons (covered by tests) + if dataVal.Len() == 0 { + val.Set(valMap) + return nil + } + + for i := 0; i < dataVal.Len(); i++ { + err := d.decode( + fmt.Sprintf("%s[%d]", name, i), + dataVal.Index(i).Interface(), val) + if err != nil { + return err + } + } + + return nil +} + +func (d *Decoder) decodeMapFromMap(name string, dataVal reflect.Value, val reflect.Value, valMap reflect.Value) error { + valType := val.Type() + valKeyType := valType.Key() + valElemType := valType.Elem() + + // Accumulate errors + errors := make([]string, 0) + + for _, k := range dataVal.MapKeys() { + fieldName := fmt.Sprintf("%s[%s]", name, k) + + // First decode the key into the proper type + currentKey := reflect.Indirect(reflect.New(valKeyType)) + if err := d.decode(fieldName, k.Interface(), currentKey); err != nil { + errors = appendErrors(errors, err) + continue + } + + // Next decode the data into the proper type + v := dataVal.MapIndex(k).Interface() + currentVal := reflect.Indirect(reflect.New(valElemType)) + if err := d.decode(fieldName, v, currentVal); err != nil { + errors = appendErrors(errors, err) + continue + } + + valMap.SetMapIndex(currentKey, currentVal) + } + + // Set the built up map to the value + val.Set(valMap) + + // If we had errors, return those + if len(errors) > 0 { + return &Error{errors} + } + + return nil +} + +func (d *Decoder) decodeMapFromStruct(name string, dataVal reflect.Value, val reflect.Value, valMap reflect.Value) error { + typ := dataVal.Type() + for i := 0; i < typ.NumField(); i++ { + // Get the StructField first since this is a cheap operation. If the + // field is unexported, then ignore it. + f := typ.Field(i) + if f.PkgPath != "" { + continue + } + + // Next get the actual value of this field and verify it is assignable + // to the map value. + v := dataVal.Field(i) + if !v.Type().AssignableTo(valMap.Type().Elem()) { + return fmt.Errorf("cannot assign type '%s' to map value field of type '%s'", v.Type(), valMap.Type().Elem()) + } + + tagValue := f.Tag.Get(d.config.TagName) + tagParts := strings.Split(tagValue, ",") + + // Determine the name of the key in the map + keyName := f.Name + if tagParts[0] != "" { + if tagParts[0] == "-" { + continue + } + keyName = tagParts[0] + } + + // If "squash" is specified in the tag, we squash the field down. + squash := false + for _, tag := range tagParts[1:] { + if tag == "squash" { + squash = true + break + } + } + if squash && v.Kind() != reflect.Struct { + return fmt.Errorf("cannot squash non-struct type '%s'", v.Type()) + } + + switch v.Kind() { + // this is an embedded struct, so handle it differently + case reflect.Struct: + x := reflect.New(v.Type()) + x.Elem().Set(v) + + vType := valMap.Type() + vKeyType := vType.Key() + vElemType := vType.Elem() + mType := reflect.MapOf(vKeyType, vElemType) + vMap := reflect.MakeMap(mType) + + err := d.decode(keyName, x.Interface(), vMap) + if err != nil { + return err + } + + if squash { + for _, k := range vMap.MapKeys() { + valMap.SetMapIndex(k, vMap.MapIndex(k)) + } + } else { + valMap.SetMapIndex(reflect.ValueOf(keyName), vMap) + } + + default: + valMap.SetMapIndex(reflect.ValueOf(keyName), v) + } + } + + if val.CanAddr() { + val.Set(valMap) + } + + return nil +} + +func (d *Decoder) decodePtr(name string, data interface{}, val reflect.Value) error { + // Create an element of the concrete (non pointer) type and decode + // into that. Then set the value of the pointer to this type. + valType := val.Type() + valElemType := valType.Elem() + + if val.CanSet() { + realVal := val + if realVal.IsNil() || d.config.ZeroFields { + realVal = reflect.New(valElemType) + } + + if err := d.decode(name, data, reflect.Indirect(realVal)); err != nil { + return err + } + + val.Set(realVal) + } else { + if err := d.decode(name, data, reflect.Indirect(val)); err != nil { + return err + } + } + return nil +} + +func (d *Decoder) decodeFunc(name string, data interface{}, val reflect.Value) error { + // Create an element of the concrete (non pointer) type and decode + // into that. Then set the value of the pointer to this type. + dataVal := reflect.Indirect(reflect.ValueOf(data)) + if val.Type() != dataVal.Type() { + return fmt.Errorf( + "'%s' expected type '%s', got unconvertible type '%s'", + name, val.Type(), dataVal.Type()) + } + val.Set(dataVal) + return nil +} + +func (d *Decoder) decodeSlice(name string, data interface{}, val reflect.Value) error { + dataVal := reflect.Indirect(reflect.ValueOf(data)) + dataValKind := dataVal.Kind() + valType := val.Type() + valElemType := valType.Elem() + sliceType := reflect.SliceOf(valElemType) + + valSlice := val + if valSlice.IsNil() || d.config.ZeroFields { + // Check input type + if dataValKind != reflect.Array && dataValKind != reflect.Slice { + if d.config.WeaklyTypedInput { + switch { + // Empty maps turn into empty slices + case dataValKind == reflect.Map: + if dataVal.Len() == 0 { + val.Set(reflect.MakeSlice(sliceType, 0, 0)) + return nil + } + case dataValKind == reflect.String && valElemType.Kind() == reflect.Uint8: + return d.decodeSlice(name, []byte(dataVal.String()), val) + // All other types we try to convert to the slice type + // and "lift" it into it. i.e. a string becomes a string slice. + default: + // Just re-try this function with data as a slice. + return d.decodeSlice(name, []interface{}{data}, val) + } + } + return fmt.Errorf( + "'%s': source data must be an array or slice, got %s", name, dataValKind) + + } + + // Make a new slice to hold our result, same size as the original data. + valSlice = reflect.MakeSlice(sliceType, dataVal.Len(), dataVal.Len()) + } + + // Accumulate any errors + errors := make([]string, 0) + + for i := 0; i < dataVal.Len(); i++ { + currentData := dataVal.Index(i).Interface() + for valSlice.Len() <= i { + valSlice = reflect.Append(valSlice, reflect.Zero(valElemType)) + } + currentField := valSlice.Index(i) + + fieldName := fmt.Sprintf("%s[%d]", name, i) + if err := d.decode(fieldName, currentData, currentField); err != nil { + errors = appendErrors(errors, err) + } + } + + // Finally, set the value to the slice we built up + val.Set(valSlice) + + // If there were errors, we return those + if len(errors) > 0 { + return &Error{errors} + } + + return nil +} + +func (d *Decoder) decodeArray(name string, data interface{}, val reflect.Value) error { + dataVal := reflect.Indirect(reflect.ValueOf(data)) + dataValKind := dataVal.Kind() + valType := val.Type() + valElemType := valType.Elem() + arrayType := reflect.ArrayOf(valType.Len(), valElemType) + + valArray := val + + if valArray.Interface() == reflect.Zero(valArray.Type()).Interface() || d.config.ZeroFields { + // Check input type + if dataValKind != reflect.Array && dataValKind != reflect.Slice { + if d.config.WeaklyTypedInput { + switch { + // Empty maps turn into empty arrays + case dataValKind == reflect.Map: + if dataVal.Len() == 0 { + val.Set(reflect.Zero(arrayType)) + return nil + } + + // All other types we try to convert to the array type + // and "lift" it into it. i.e. a string becomes a string array. + default: + // Just re-try this function with data as a slice. + return d.decodeArray(name, []interface{}{data}, val) + } + } + + return fmt.Errorf( + "'%s': source data must be an array or slice, got %s", name, dataValKind) + + } + if dataVal.Len() > arrayType.Len() { + return fmt.Errorf( + "'%s': expected source data to have length less or equal to %d, got %d", name, arrayType.Len(), dataVal.Len()) + + } + + // Make a new array to hold our result, same size as the original data. + valArray = reflect.New(arrayType).Elem() + } + + // Accumulate any errors + errors := make([]string, 0) + + for i := 0; i < dataVal.Len(); i++ { + currentData := dataVal.Index(i).Interface() + currentField := valArray.Index(i) + + fieldName := fmt.Sprintf("%s[%d]", name, i) + if err := d.decode(fieldName, currentData, currentField); err != nil { + errors = appendErrors(errors, err) + } + } + + // Finally, set the value to the array we built up + val.Set(valArray) + + // If there were errors, we return those + if len(errors) > 0 { + return &Error{errors} + } + + return nil +} + +func (d *Decoder) decodeStruct(name string, data interface{}, val reflect.Value) error { + dataVal := reflect.Indirect(reflect.ValueOf(data)) + + // If the type of the value to write to and the data match directly, + // then we just set it directly instead of recursing into the structure. + if dataVal.Type() == val.Type() { + val.Set(dataVal) + return nil + } + + dataValKind := dataVal.Kind() + if dataValKind != reflect.Map { + return fmt.Errorf("'%s' expected a map, got '%s'", name, dataValKind) + } + + dataValType := dataVal.Type() + if kind := dataValType.Key().Kind(); kind != reflect.String && kind != reflect.Interface { + return fmt.Errorf( + "'%s' needs a map with string keys, has '%s' keys", + name, dataValType.Key().Kind()) + } + + dataValKeys := make(map[reflect.Value]struct{}) + dataValKeysUnused := make(map[interface{}]struct{}) + for _, dataValKey := range dataVal.MapKeys() { + dataValKeys[dataValKey] = struct{}{} + dataValKeysUnused[dataValKey.Interface()] = struct{}{} + } + + errors := make([]string, 0) + + // This slice will keep track of all the structs we'll be decoding. + // There can be more than one struct if there are embedded structs + // that are squashed. + structs := make([]reflect.Value, 1, 5) + structs[0] = val + + // Compile the list of all the fields that we're going to be decoding + // from all the structs. + type field struct { + field reflect.StructField + val reflect.Value + } + fields := []field{} + for len(structs) > 0 { + structVal := structs[0] + structs = structs[1:] + + structType := structVal.Type() + + for i := 0; i < structType.NumField(); i++ { + fieldType := structType.Field(i) + fieldKind := fieldType.Type.Kind() + + // If "squash" is specified in the tag, we squash the field down. + squash := false + tagParts := strings.Split(fieldType.Tag.Get(d.config.TagName), ",") + for _, tag := range tagParts[1:] { + if tag == "squash" { + squash = true + break + } + } + + if squash { + if fieldKind != reflect.Struct { + errors = appendErrors(errors, + fmt.Errorf("%s: unsupported type for squash: %s", fieldType.Name, fieldKind)) + } else { + structs = append(structs, structVal.FieldByName(fieldType.Name)) + } + continue + } + + // Normal struct field, store it away + fields = append(fields, field{fieldType, structVal.Field(i)}) + } + } + + // for fieldType, field := range fields { + for _, f := range fields { + field, fieldValue := f.field, f.val + fieldName := field.Name + + tagValue := field.Tag.Get(d.config.TagName) + tagValue = strings.SplitN(tagValue, ",", 2)[0] + if tagValue != "" { + fieldName = tagValue + } + + rawMapKey := reflect.ValueOf(fieldName) + rawMapVal := dataVal.MapIndex(rawMapKey) + if !rawMapVal.IsValid() { + // Do a slower search by iterating over each key and + // doing case-insensitive search. + for dataValKey := range dataValKeys { + mK, ok := dataValKey.Interface().(string) + if !ok { + // Not a string key + continue + } + + if strings.EqualFold(mK, fieldName) { + rawMapKey = dataValKey + rawMapVal = dataVal.MapIndex(dataValKey) + break + } + } + + if !rawMapVal.IsValid() { + // There was no matching key in the map for the value in + // the struct. Just ignore. + continue + } + } + + // Delete the key we're using from the unused map so we stop tracking + delete(dataValKeysUnused, rawMapKey.Interface()) + + if !fieldValue.IsValid() { + // This should never happen + panic("field is not valid") + } + + // If we can't set the field, then it is unexported or something, + // and we just continue onwards. + if !fieldValue.CanSet() { + continue + } + + // If the name is empty string, then we're at the root, and we + // don't dot-join the fields. + if name != "" { + fieldName = fmt.Sprintf("%s.%s", name, fieldName) + } + + if err := d.decode(fieldName, rawMapVal.Interface(), fieldValue); err != nil { + errors = appendErrors(errors, err) + } + } + + if d.config.ErrorUnused && len(dataValKeysUnused) > 0 { + keys := make([]string, 0, len(dataValKeysUnused)) + for rawKey := range dataValKeysUnused { + keys = append(keys, rawKey.(string)) + } + sort.Strings(keys) + + err := fmt.Errorf("'%s' has invalid keys: %s", name, strings.Join(keys, ", ")) + errors = appendErrors(errors, err) + } + + if len(errors) > 0 { + return &Error{errors} + } + + // Add the unused keys to the list of unused keys if we're tracking metadata + if d.config.Metadata != nil { + for rawKey := range dataValKeysUnused { + key := rawKey.(string) + if name != "" { + key = fmt.Sprintf("%s.%s", name, key) + } + + d.config.Metadata.Unused = append(d.config.Metadata.Unused, key) + } + } + + return nil +} + +func getKind(val reflect.Value) reflect.Kind { + kind := val.Kind() + + switch { + case kind >= reflect.Int && kind <= reflect.Int64: + return reflect.Int + case kind >= reflect.Uint && kind <= reflect.Uint64: + return reflect.Uint + case kind >= reflect.Float32 && kind <= reflect.Float64: + return reflect.Float32 + default: + return kind + } +} diff --git a/vendor/github.com/pelletier/go-toml/.gitignore b/vendor/github.com/pelletier/go-toml/.gitignore new file mode 100755 index 0000000..99e38bb --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/.gitignore @@ -0,0 +1,2 @@ +test_program/test_program_bin +fuzz/ diff --git a/vendor/github.com/pelletier/go-toml/.travis.yml b/vendor/github.com/pelletier/go-toml/.travis.yml new file mode 100755 index 0000000..ab2775d --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/.travis.yml @@ -0,0 +1,22 @@ +sudo: false +language: go +go: + - 1.8.5 + - 1.9.2 + - tip +matrix: + allow_failures: + - go: tip + fast_finish: true +script: + - if [ -n "$(go fmt ./...)" ]; then exit 1; fi + - ./test.sh + - ./benchmark.sh $TRAVIS_BRANCH https://github.com/$TRAVIS_REPO_SLUG.git +before_install: + - go get github.com/axw/gocov/gocov + - go get github.com/mattn/goveralls + - if ! go get code.google.com/p/go.tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi +branches: + only: [master] +after_success: + - $HOME/gopath/bin/goveralls -service=travis-ci -coverprofile=coverage.out -repotoken $COVERALLS_TOKEN diff --git a/vendor/github.com/pelletier/go-toml/LICENSE b/vendor/github.com/pelletier/go-toml/LICENSE new file mode 100755 index 0000000..583bdae --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2013 - 2017 Thomas Pelletier, Eric Anderton + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/pelletier/go-toml/README.md b/vendor/github.com/pelletier/go-toml/README.md new file mode 100755 index 0000000..0d357ac --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/README.md @@ -0,0 +1,131 @@ +# go-toml + +Go library for the [TOML](https://github.com/mojombo/toml) format. + +This library supports TOML version +[v0.4.0](https://github.com/toml-lang/toml/blob/master/versions/en/toml-v0.4.0.md) + +[![GoDoc](https://godoc.org/github.com/pelletier/go-toml?status.svg)](http://godoc.org/github.com/pelletier/go-toml) +[![license](https://img.shields.io/github/license/pelletier/go-toml.svg)](https://github.com/pelletier/go-toml/blob/master/LICENSE) +[![Build Status](https://travis-ci.org/pelletier/go-toml.svg?branch=master)](https://travis-ci.org/pelletier/go-toml) +[![Coverage Status](https://coveralls.io/repos/github/pelletier/go-toml/badge.svg?branch=master)](https://coveralls.io/github/pelletier/go-toml?branch=master) +[![Go Report Card](https://goreportcard.com/badge/github.com/pelletier/go-toml)](https://goreportcard.com/report/github.com/pelletier/go-toml) + +## Features + +Go-toml provides the following features for using data parsed from TOML documents: + +* Load TOML documents from files and string data +* Easily navigate TOML structure using Tree +* Mashaling and unmarshaling to and from data structures +* Line & column position data for all parsed elements +* [Query support similar to JSON-Path](query/) +* Syntax errors contain line and column numbers + +## Import + +```go +import "github.com/pelletier/go-toml" +``` + +## Usage example + +Read a TOML document: + +```go +config, _ := toml.Load(` +[postgres] +user = "pelletier" +password = "mypassword"`) +// retrieve data directly +user := config.Get("postgres.user").(string) + +// or using an intermediate object +postgresConfig := config.Get("postgres").(*toml.Tree) +password := postgresConfig.Get("password").(string) +``` + +Or use Unmarshal: + +```go +type Postgres struct { + User string + Password string +} +type Config struct { + Postgres Postgres +} + +doc := []byte(` +[Postgres] +User = "pelletier" +Password = "mypassword"`) + +config := Config{} +toml.Unmarshal(doc, &config) +fmt.Println("user=", config.Postgres.User) +``` + +Or use a query: + +```go +// use a query to gather elements without walking the tree +q, _ := query.Compile("$..[user,password]") +results := q.Execute(config) +for ii, item := range results.Values() { + fmt.Println("Query result %d: %v", ii, item) +} +``` + +## Documentation + +The documentation and additional examples are available at +[godoc.org](http://godoc.org/github.com/pelletier/go-toml). + +## Tools + +Go-toml provides two handy command line tools: + +* `tomll`: Reads TOML files and lint them. + + ``` + go install github.com/pelletier/go-toml/cmd/tomll + tomll --help + ``` +* `tomljson`: Reads a TOML file and outputs its JSON representation. + + ``` + go install github.com/pelletier/go-toml/cmd/tomljson + tomljson --help + ``` + +## Contribute + +Feel free to report bugs and patches using GitHub's pull requests system on +[pelletier/go-toml](https://github.com/pelletier/go-toml). Any feedback would be +much appreciated! + +### Run tests + +You have to make sure two kind of tests run: + +1. The Go unit tests +2. The TOML examples base + +You can run both of them using `./test.sh`. + +### Fuzzing + +The script `./fuzz.sh` is available to +run [go-fuzz](https://github.com/dvyukov/go-fuzz) on go-toml. + +## Versioning + +Go-toml follows [Semantic Versioning](http://semver.org/). The supported version +of [TOML](https://github.com/toml-lang/toml) is indicated at the beginning of +this document. The last two major versions of Go are supported +(see [Go Release Policy](https://golang.org/doc/devel/release.html#policy)). + +## License + +The MIT License (MIT). Read [LICENSE](LICENSE). diff --git a/vendor/github.com/pelletier/go-toml/benchmark.json b/vendor/github.com/pelletier/go-toml/benchmark.json new file mode 100755 index 0000000..86f99c6 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/benchmark.json @@ -0,0 +1,164 @@ +{ + "array": { + "key1": [ + 1, + 2, + 3 + ], + "key2": [ + "red", + "yellow", + "green" + ], + "key3": [ + [ + 1, + 2 + ], + [ + 3, + 4, + 5 + ] + ], + "key4": [ + [ + 1, + 2 + ], + [ + "a", + "b", + "c" + ] + ], + "key5": [ + 1, + 2, + 3 + ], + "key6": [ + 1, + 2 + ] + }, + "boolean": { + "False": false, + "True": true + }, + "datetime": { + "key1": "1979-05-27T07:32:00Z", + "key2": "1979-05-27T00:32:00-07:00", + "key3": "1979-05-27T00:32:00.999999-07:00" + }, + "float": { + "both": { + "key": 6.626e-34 + }, + "exponent": { + "key1": 5e+22, + "key2": 1000000, + "key3": -0.02 + }, + "fractional": { + "key1": 1, + "key2": 3.1415, + "key3": -0.01 + }, + "underscores": { + "key1": 9224617.445991227, + "key2": 1e+100 + } + }, + "fruit": [{ + "name": "apple", + "physical": { + "color": "red", + "shape": "round" + }, + "variety": [{ + "name": "red delicious" + }, + { + "name": "granny smith" + } + ] + }, + { + "name": "banana", + "variety": [{ + "name": "plantain" + }] + } + ], + "integer": { + "key1": 99, + "key2": 42, + "key3": 0, + "key4": -17, + "underscores": { + "key1": 1000, + "key2": 5349221, + "key3": 12345 + } + }, + "products": [{ + "name": "Hammer", + "sku": 738594937 + }, + {}, + { + "color": "gray", + "name": "Nail", + "sku": 284758393 + } + ], + "string": { + "basic": { + "basic": "I'm a string. \"You can quote me\". Name\tJosé\nLocation\tSF." + }, + "literal": { + "multiline": { + "lines": "The first newline is\ntrimmed in raw strings.\n All other whitespace\n is preserved.\n", + "regex2": "I [dw]on't need \\d{2} apples" + }, + "quoted": "Tom \"Dubs\" Preston-Werner", + "regex": "\u003c\\i\\c*\\s*\u003e", + "winpath": "C:\\Users\\nodejs\\templates", + "winpath2": "\\\\ServerX\\admin$\\system32\\" + }, + "multiline": { + "continued": { + "key1": "The quick brown fox jumps over the lazy dog.", + "key2": "The quick brown fox jumps over the lazy dog.", + "key3": "The quick brown fox jumps over the lazy dog." + }, + "key1": "One\nTwo", + "key2": "One\nTwo", + "key3": "One\nTwo" + } + }, + "table": { + "inline": { + "name": { + "first": "Tom", + "last": "Preston-Werner" + }, + "point": { + "x": 1, + "y": 2 + } + }, + "key": "value", + "subtable": { + "key": "another value" + } + }, + "x": { + "y": { + "z": { + "w": {} + } + } + } +} diff --git a/vendor/github.com/pelletier/go-toml/benchmark.sh b/vendor/github.com/pelletier/go-toml/benchmark.sh new file mode 100755 index 0000000..8b8bb52 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/benchmark.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +set -e + +reference_ref=${1:-master} +reference_git=${2:-.} + +if ! `hash benchstat 2>/dev/null`; then + echo "Installing benchstat" + go get golang.org/x/perf/cmd/benchstat + go install golang.org/x/perf/cmd/benchstat +fi + +tempdir=`mktemp -d /tmp/go-toml-benchmark-XXXXXX` +ref_tempdir="${tempdir}/ref" +ref_benchmark="${ref_tempdir}/benchmark-`echo -n ${reference_ref}|tr -s '/' '-'`.txt" +local_benchmark="`pwd`/benchmark-local.txt" + +echo "=== ${reference_ref} (${ref_tempdir})" +git clone ${reference_git} ${ref_tempdir} >/dev/null 2>/dev/null +pushd ${ref_tempdir} >/dev/null +git checkout ${reference_ref} >/dev/null 2>/dev/null +go test -bench=. -benchmem | tee ${ref_benchmark} +popd >/dev/null + +echo "" +echo "=== local" +go test -bench=. -benchmem | tee ${local_benchmark} + +echo "" +echo "=== diff" +benchstat -delta-test=none ${ref_benchmark} ${local_benchmark} \ No newline at end of file diff --git a/vendor/github.com/pelletier/go-toml/benchmark.toml b/vendor/github.com/pelletier/go-toml/benchmark.toml new file mode 100755 index 0000000..dfd77e0 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/benchmark.toml @@ -0,0 +1,244 @@ +################################################################################ +## Comment + +# Speak your mind with the hash symbol. They go from the symbol to the end of +# the line. + + +################################################################################ +## Table + +# Tables (also known as hash tables or dictionaries) are collections of +# key/value pairs. They appear in square brackets on a line by themselves. + +[table] + +key = "value" # Yeah, you can do this. + +# Nested tables are denoted by table names with dots in them. Name your tables +# whatever crap you please, just don't use #, ., [ or ]. + +[table.subtable] + +key = "another value" + +# You don't need to specify all the super-tables if you don't want to. TOML +# knows how to do it for you. + +# [x] you +# [x.y] don't +# [x.y.z] need these +[x.y.z.w] # for this to work + + +################################################################################ +## Inline Table + +# Inline tables provide a more compact syntax for expressing tables. They are +# especially useful for grouped data that can otherwise quickly become verbose. +# Inline tables are enclosed in curly braces `{` and `}`. No newlines are +# allowed between the curly braces unless they are valid within a value. + +[table.inline] + +name = { first = "Tom", last = "Preston-Werner" } +point = { x = 1, y = 2 } + + +################################################################################ +## String + +# There are four ways to express strings: basic, multi-line basic, literal, and +# multi-line literal. All strings must contain only valid UTF-8 characters. + +[string.basic] + +basic = "I'm a string. \"You can quote me\". Name\tJos\u00E9\nLocation\tSF." + +[string.multiline] + +# The following strings are byte-for-byte equivalent: +key1 = "One\nTwo" +key2 = """One\nTwo""" +key3 = """ +One +Two""" + +[string.multiline.continued] + +# The following strings are byte-for-byte equivalent: +key1 = "The quick brown fox jumps over the lazy dog." + +key2 = """ +The quick brown \ + + + fox jumps over \ + the lazy dog.""" + +key3 = """\ + The quick brown \ + fox jumps over \ + the lazy dog.\ + """ + +[string.literal] + +# What you see is what you get. +winpath = 'C:\Users\nodejs\templates' +winpath2 = '\\ServerX\admin$\system32\' +quoted = 'Tom "Dubs" Preston-Werner' +regex = '<\i\c*\s*>' + + +[string.literal.multiline] + +regex2 = '''I [dw]on't need \d{2} apples''' +lines = ''' +The first newline is +trimmed in raw strings. + All other whitespace + is preserved. +''' + + +################################################################################ +## Integer + +# Integers are whole numbers. Positive numbers may be prefixed with a plus sign. +# Negative numbers are prefixed with a minus sign. + +[integer] + +key1 = +99 +key2 = 42 +key3 = 0 +key4 = -17 + +[integer.underscores] + +# For large numbers, you may use underscores to enhance readability. Each +# underscore must be surrounded by at least one digit. +key1 = 1_000 +key2 = 5_349_221 +key3 = 1_2_3_4_5 # valid but inadvisable + + +################################################################################ +## Float + +# A float consists of an integer part (which may be prefixed with a plus or +# minus sign) followed by a fractional part and/or an exponent part. + +[float.fractional] + +key1 = +1.0 +key2 = 3.1415 +key3 = -0.01 + +[float.exponent] + +key1 = 5e+22 +key2 = 1e6 +key3 = -2E-2 + +[float.both] + +key = 6.626e-34 + +[float.underscores] + +key1 = 9_224_617.445_991_228_313 +key2 = 1e1_00 + + +################################################################################ +## Boolean + +# Booleans are just the tokens you're used to. Always lowercase. + +[boolean] + +True = true +False = false + + +################################################################################ +## Datetime + +# Datetimes are RFC 3339 dates. + +[datetime] + +key1 = 1979-05-27T07:32:00Z +key2 = 1979-05-27T00:32:00-07:00 +key3 = 1979-05-27T00:32:00.999999-07:00 + + +################################################################################ +## Array + +# Arrays are square brackets with other primitives inside. Whitespace is +# ignored. Elements are separated by commas. Data types may not be mixed. + +[array] + +key1 = [ 1, 2, 3 ] +key2 = [ "red", "yellow", "green" ] +key3 = [ [ 1, 2 ], [3, 4, 5] ] +#key4 = [ [ 1, 2 ], ["a", "b", "c"] ] # this is ok + +# Arrays can also be multiline. So in addition to ignoring whitespace, arrays +# also ignore newlines between the brackets. Terminating commas are ok before +# the closing bracket. + +key5 = [ + 1, 2, 3 +] +key6 = [ + 1, + 2, # this is ok +] + + +################################################################################ +## Array of Tables + +# These can be expressed by using a table name in double brackets. Each table +# with the same double bracketed name will be an element in the array. The +# tables are inserted in the order encountered. + +[[products]] + +name = "Hammer" +sku = 738594937 + +[[products]] + +[[products]] + +name = "Nail" +sku = 284758393 +color = "gray" + + +# You can create nested arrays of tables as well. + +[[fruit]] + name = "apple" + + [fruit.physical] + color = "red" + shape = "round" + + [[fruit.variety]] + name = "red delicious" + + [[fruit.variety]] + name = "granny smith" + +[[fruit]] + name = "banana" + + [[fruit.variety]] + name = "plantain" diff --git a/vendor/github.com/pelletier/go-toml/benchmark.yml b/vendor/github.com/pelletier/go-toml/benchmark.yml new file mode 100755 index 0000000..0bd19f0 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/benchmark.yml @@ -0,0 +1,121 @@ +--- +array: + key1: + - 1 + - 2 + - 3 + key2: + - red + - yellow + - green + key3: + - - 1 + - 2 + - - 3 + - 4 + - 5 + key4: + - - 1 + - 2 + - - a + - b + - c + key5: + - 1 + - 2 + - 3 + key6: + - 1 + - 2 +boolean: + 'False': false + 'True': true +datetime: + key1: '1979-05-27T07:32:00Z' + key2: '1979-05-27T00:32:00-07:00' + key3: '1979-05-27T00:32:00.999999-07:00' +float: + both: + key: 6.626e-34 + exponent: + key1: 5.0e+22 + key2: 1000000 + key3: -0.02 + fractional: + key1: 1 + key2: 3.1415 + key3: -0.01 + underscores: + key1: 9224617.445991227 + key2: 1.0e+100 +fruit: +- name: apple + physical: + color: red + shape: round + variety: + - name: red delicious + - name: granny smith +- name: banana + variety: + - name: plantain +integer: + key1: 99 + key2: 42 + key3: 0 + key4: -17 + underscores: + key1: 1000 + key2: 5349221 + key3: 12345 +products: +- name: Hammer + sku: 738594937 +- {} +- color: gray + name: Nail + sku: 284758393 +string: + basic: + basic: "I'm a string. \"You can quote me\". Name\tJosé\nLocation\tSF." + literal: + multiline: + lines: | + The first newline is + trimmed in raw strings. + All other whitespace + is preserved. + regex2: I [dw]on't need \d{2} apples + quoted: Tom "Dubs" Preston-Werner + regex: "<\\i\\c*\\s*>" + winpath: C:\Users\nodejs\templates + winpath2: "\\\\ServerX\\admin$\\system32\\" + multiline: + continued: + key1: The quick brown fox jumps over the lazy dog. + key2: The quick brown fox jumps over the lazy dog. + key3: The quick brown fox jumps over the lazy dog. + key1: |- + One + Two + key2: |- + One + Two + key3: |- + One + Two +table: + inline: + name: + first: Tom + last: Preston-Werner + point: + x: 1 + y: 2 + key: value + subtable: + key: another value +x: + y: + z: + w: {} diff --git a/vendor/github.com/pelletier/go-toml/doc.go b/vendor/github.com/pelletier/go-toml/doc.go new file mode 100755 index 0000000..d5fd98c --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/doc.go @@ -0,0 +1,23 @@ +// Package toml is a TOML parser and manipulation library. +// +// This version supports the specification as described in +// https://github.com/toml-lang/toml/blob/master/versions/en/toml-v0.4.0.md +// +// Marshaling +// +// Go-toml can marshal and unmarshal TOML documents from and to data +// structures. +// +// TOML document as a tree +// +// Go-toml can operate on a TOML document as a tree. Use one of the Load* +// functions to parse TOML data and obtain a Tree instance, then one of its +// methods to manipulate the tree. +// +// JSONPath-like queries +// +// The package github.com/pelletier/go-toml/query implements a system +// similar to JSONPath to quickly retrieve elements of a TOML document using a +// single expression. See the package documentation for more information. +// +package toml diff --git a/vendor/github.com/pelletier/go-toml/example-crlf.toml b/vendor/github.com/pelletier/go-toml/example-crlf.toml new file mode 100755 index 0000000..3d902f2 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/example-crlf.toml @@ -0,0 +1,29 @@ +# This is a TOML document. Boom. + +title = "TOML Example" + +[owner] +name = "Tom Preston-Werner" +organization = "GitHub" +bio = "GitHub Cofounder & CEO\nLikes tater tots and beer." +dob = 1979-05-27T07:32:00Z # First class dates? Why not? + +[database] +server = "192.168.1.1" +ports = [ 8001, 8001, 8002 ] +connection_max = 5000 +enabled = true + +[servers] + + # You can indent as you please. Tabs or spaces. TOML don't care. + [servers.alpha] + ip = "10.0.0.1" + dc = "eqdc10" + + [servers.beta] + ip = "10.0.0.2" + dc = "eqdc10" + +[clients] +data = [ ["gamma", "delta"], [1, 2] ] # just an update to make sure parsers support it diff --git a/vendor/github.com/pelletier/go-toml/example.toml b/vendor/github.com/pelletier/go-toml/example.toml new file mode 100755 index 0000000..3d902f2 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/example.toml @@ -0,0 +1,29 @@ +# This is a TOML document. Boom. + +title = "TOML Example" + +[owner] +name = "Tom Preston-Werner" +organization = "GitHub" +bio = "GitHub Cofounder & CEO\nLikes tater tots and beer." +dob = 1979-05-27T07:32:00Z # First class dates? Why not? + +[database] +server = "192.168.1.1" +ports = [ 8001, 8001, 8002 ] +connection_max = 5000 +enabled = true + +[servers] + + # You can indent as you please. Tabs or spaces. TOML don't care. + [servers.alpha] + ip = "10.0.0.1" + dc = "eqdc10" + + [servers.beta] + ip = "10.0.0.2" + dc = "eqdc10" + +[clients] +data = [ ["gamma", "delta"], [1, 2] ] # just an update to make sure parsers support it diff --git a/vendor/github.com/pelletier/go-toml/fuzz.go b/vendor/github.com/pelletier/go-toml/fuzz.go new file mode 100755 index 0000000..14570c8 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/fuzz.go @@ -0,0 +1,31 @@ +// +build gofuzz + +package toml + +func Fuzz(data []byte) int { + tree, err := LoadBytes(data) + if err != nil { + if tree != nil { + panic("tree must be nil if there is an error") + } + return 0 + } + + str, err := tree.ToTomlString() + if err != nil { + if str != "" { + panic(`str must be "" if there is an error`) + } + panic(err) + } + + tree, err = Load(str) + if err != nil { + if tree != nil { + panic("tree must be nil if there is an error") + } + return 0 + } + + return 1 +} diff --git a/vendor/github.com/pelletier/go-toml/fuzz.sh b/vendor/github.com/pelletier/go-toml/fuzz.sh new file mode 100755 index 0000000..3204b4c --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/fuzz.sh @@ -0,0 +1,15 @@ +#! /bin/sh +set -eu + +go get github.com/dvyukov/go-fuzz/go-fuzz +go get github.com/dvyukov/go-fuzz/go-fuzz-build + +if [ ! -e toml-fuzz.zip ]; then + go-fuzz-build github.com/pelletier/go-toml +fi + +rm -fr fuzz +mkdir -p fuzz/corpus +cp *.toml fuzz/corpus + +go-fuzz -bin=toml-fuzz.zip -workdir=fuzz diff --git a/vendor/github.com/pelletier/go-toml/keysparsing.go b/vendor/github.com/pelletier/go-toml/keysparsing.go new file mode 100755 index 0000000..284db64 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/keysparsing.go @@ -0,0 +1,85 @@ +// Parsing keys handling both bare and quoted keys. + +package toml + +import ( + "bytes" + "errors" + "fmt" + "unicode" +) + +// Convert the bare key group string to an array. +// The input supports double quotation to allow "." inside the key name, +// but escape sequences are not supported. Lexers must unescape them beforehand. +func parseKey(key string) ([]string, error) { + groups := []string{} + var buffer bytes.Buffer + inQuotes := false + wasInQuotes := false + ignoreSpace := true + expectDot := false + + for _, char := range key { + if ignoreSpace { + if char == ' ' { + continue + } + ignoreSpace = false + } + switch char { + case '"': + if inQuotes { + groups = append(groups, buffer.String()) + buffer.Reset() + wasInQuotes = true + } + inQuotes = !inQuotes + expectDot = false + case '.': + if inQuotes { + buffer.WriteRune(char) + } else { + if !wasInQuotes { + if buffer.Len() == 0 { + return nil, errors.New("empty table key") + } + groups = append(groups, buffer.String()) + buffer.Reset() + } + ignoreSpace = true + expectDot = false + wasInQuotes = false + } + case ' ': + if inQuotes { + buffer.WriteRune(char) + } else { + expectDot = true + } + default: + if !inQuotes && !isValidBareChar(char) { + return nil, fmt.Errorf("invalid bare character: %c", char) + } + if !inQuotes && expectDot { + return nil, errors.New("what?") + } + buffer.WriteRune(char) + expectDot = false + } + } + if inQuotes { + return nil, errors.New("mismatched quotes") + } + if buffer.Len() > 0 { + groups = append(groups, buffer.String()) + } + if len(groups) == 0 { + return nil, errors.New("empty key") + } + return groups, nil +} + +func isValidBareChar(r rune) bool { + return isAlphanumeric(r) || r == '-' || unicode.IsNumber(r) +} diff --git a/vendor/github.com/pelletier/go-toml/lexer.go b/vendor/github.com/pelletier/go-toml/lexer.go new file mode 100755 index 0000000..d11de42 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/lexer.go @@ -0,0 +1,750 @@ +// TOML lexer. +// +// Written using the principles developed by Rob Pike in +// http://www.youtube.com/watch?v=HxaD_trXwRE + +package toml + +import ( + "bytes" + "errors" + "fmt" + "regexp" + "strconv" + "strings" +) + +var dateRegexp *regexp.Regexp + +// Define state functions +type tomlLexStateFn func() tomlLexStateFn + +// Define lexer +type tomlLexer struct { + inputIdx int + input []rune // Textual source + currentTokenStart int + currentTokenStop int + tokens []token + depth int + line int + col int + endbufferLine int + endbufferCol int +} + +// Basic read operations on input + +func (l *tomlLexer) read() rune { + r := l.peek() + if r == '\n' { + l.endbufferLine++ + l.endbufferCol = 1 + } else { + l.endbufferCol++ + } + l.inputIdx++ + return r +} + +func (l *tomlLexer) next() rune { + r := l.read() + + if r != eof { + l.currentTokenStop++ + } + return r +} + +func (l *tomlLexer) ignore() { + l.currentTokenStart = l.currentTokenStop + l.line = l.endbufferLine + l.col = l.endbufferCol +} + +func (l *tomlLexer) skip() { + l.next() + l.ignore() +} + +func (l *tomlLexer) fastForward(n int) { + for i := 0; i < n; i++ { + l.next() + } +} + +func (l *tomlLexer) emitWithValue(t tokenType, value string) { + l.tokens = append(l.tokens, token{ + Position: Position{l.line, l.col}, + typ: t, + val: value, + }) + l.ignore() +} + +func (l *tomlLexer) emit(t tokenType) { + l.emitWithValue(t, string(l.input[l.currentTokenStart:l.currentTokenStop])) +} + +func (l *tomlLexer) peek() rune { + if l.inputIdx >= len(l.input) { + return eof + } + return l.input[l.inputIdx] +} + +func (l *tomlLexer) peekString(size int) string { + maxIdx := len(l.input) + upperIdx := l.inputIdx + size // FIXME: potential overflow + if upperIdx > maxIdx { + upperIdx = maxIdx + } + return string(l.input[l.inputIdx:upperIdx]) +} + +func (l *tomlLexer) follow(next string) bool { + return next == l.peekString(len(next)) +} + +// Error management + +func (l *tomlLexer) errorf(format string, args ...interface{}) tomlLexStateFn { + l.tokens = append(l.tokens, token{ + Position: Position{l.line, l.col}, + typ: tokenError, + val: fmt.Sprintf(format, args...), + }) + return nil +} + +// State functions + +func (l *tomlLexer) lexVoid() tomlLexStateFn { + for { + next := l.peek() + switch next { + case '[': + return l.lexTableKey + case '#': + return l.lexComment(l.lexVoid) + case '=': + return l.lexEqual + case '\r': + fallthrough + case '\n': + l.skip() + continue + } + + if isSpace(next) { + l.skip() + } + + if l.depth > 0 { + return l.lexRvalue + } + + if isKeyStartChar(next) { + return l.lexKey + } + + if next == eof { + l.next() + break + } + } + + l.emit(tokenEOF) + return nil +} + +func (l *tomlLexer) lexRvalue() tomlLexStateFn { + for { + next := l.peek() + switch next { + case '.': + return l.errorf("cannot start float with a dot") + case '=': + return l.lexEqual + case '[': + l.depth++ + return l.lexLeftBracket + case ']': + l.depth-- + return l.lexRightBracket + case '{': + return l.lexLeftCurlyBrace + case '}': + return l.lexRightCurlyBrace + case '#': + return l.lexComment(l.lexRvalue) + case '"': + return l.lexString + case '\'': + return l.lexLiteralString + case ',': + return l.lexComma + case '\r': + fallthrough + case '\n': + l.skip() + if l.depth == 0 { + return l.lexVoid + } + return l.lexRvalue + case '_': + return l.errorf("cannot start number with underscore") + } + + if l.follow("true") { + return l.lexTrue + } + + if l.follow("false") { + return l.lexFalse + } + + if l.follow("inf") { + return l.lexInf + } + + if l.follow("nan") { + return l.lexNan + } + + if isSpace(next) { + l.skip() + continue + } + + if next == eof { + l.next() + break + } + + possibleDate := l.peekString(35) + dateMatch := dateRegexp.FindString(possibleDate) + if dateMatch != "" { + l.fastForward(len(dateMatch)) + return l.lexDate + } + + if next == '+' || next == '-' || isDigit(next) { + return l.lexNumber + } + + if isAlphanumeric(next) { + return l.lexKey + } + + return l.errorf("no value can start with %c", next) + } + + l.emit(tokenEOF) + return nil +} + +func (l *tomlLexer) lexLeftCurlyBrace() tomlLexStateFn { + l.next() + l.emit(tokenLeftCurlyBrace) + return l.lexRvalue +} + +func (l *tomlLexer) lexRightCurlyBrace() tomlLexStateFn { + l.next() + l.emit(tokenRightCurlyBrace) + return l.lexRvalue +} + +func (l *tomlLexer) lexDate() tomlLexStateFn { + l.emit(tokenDate) + return l.lexRvalue +} + +func (l *tomlLexer) lexTrue() tomlLexStateFn { + l.fastForward(4) + l.emit(tokenTrue) + return l.lexRvalue +} + +func (l *tomlLexer) lexFalse() tomlLexStateFn { + l.fastForward(5) + l.emit(tokenFalse) + return l.lexRvalue +} + +func (l *tomlLexer) lexInf() tomlLexStateFn { + l.fastForward(3) + l.emit(tokenInf) + return l.lexRvalue +} + +func (l *tomlLexer) lexNan() tomlLexStateFn { + l.fastForward(3) + l.emit(tokenNan) + return l.lexRvalue +} + +func (l *tomlLexer) lexEqual() tomlLexStateFn { + l.next() + l.emit(tokenEqual) + return l.lexRvalue +} + +func (l *tomlLexer) lexComma() tomlLexStateFn { + l.next() + l.emit(tokenComma) + return l.lexRvalue +} + +// Parse the key and emits its value without escape sequences. +// bare keys, basic string keys and literal string keys are supported. +func (l *tomlLexer) lexKey() tomlLexStateFn { + growingString := "" + + for r := l.peek(); isKeyChar(r) || r == '\n' || r == '\r'; r = l.peek() { + if r == '"' { + l.next() + str, err := l.lexStringAsString(`"`, false, true) + if err != nil { + return l.errorf(err.Error()) + } + growingString += str + l.next() + continue + } else if r == '\'' { + l.next() + str, err := l.lexLiteralStringAsString(`'`, false) + if err != nil { + return l.errorf(err.Error()) + } + growingString += str + l.next() + continue + } else if r == '\n' { + return l.errorf("keys cannot contain new lines") + } else if isSpace(r) { + break + } else if !isValidBareChar(r) { + return l.errorf("keys cannot contain %c character", r) + } + growingString += string(r) + l.next() + } + l.emitWithValue(tokenKey, growingString) + return l.lexVoid +} + +func (l *tomlLexer) lexComment(previousState tomlLexStateFn) tomlLexStateFn { + return func() tomlLexStateFn { + for next := l.peek(); next != '\n' && next != eof; next = l.peek() { + if next == '\r' && l.follow("\r\n") { + break + } + l.next() + } + l.ignore() + return previousState + } +} + +func (l *tomlLexer) lexLeftBracket() tomlLexStateFn { + l.next() + l.emit(tokenLeftBracket) + return l.lexRvalue +} + +func (l *tomlLexer) lexLiteralStringAsString(terminator string, discardLeadingNewLine bool) (string, error) { + growingString := "" + + if discardLeadingNewLine { + if l.follow("\r\n") { + l.skip() + l.skip() + } else if l.peek() == '\n' { + l.skip() + } + } + + // find end of string + for { + if l.follow(terminator) { + return growingString, nil + } + + next := l.peek() + if next == eof { + break + } + growingString += string(l.next()) + } + + return "", errors.New("unclosed string") +} + +func (l *tomlLexer) lexLiteralString() tomlLexStateFn { + l.skip() + + // handle special case for triple-quote + terminator := "'" + discardLeadingNewLine := false + if l.follow("''") { + l.skip() + l.skip() + terminator = "'''" + discardLeadingNewLine = true + } + + str, err := l.lexLiteralStringAsString(terminator, discardLeadingNewLine) + if err != nil { + return l.errorf(err.Error()) + } + + l.emitWithValue(tokenString, str) + l.fastForward(len(terminator)) + l.ignore() + return l.lexRvalue +} + +// Lex a string and return the results as a string. +// Terminator is the substring indicating the end of the token. +// The resulting string does not include the terminator. +func (l *tomlLexer) lexStringAsString(terminator string, discardLeadingNewLine, acceptNewLines bool) (string, error) { + growingString := "" + + if discardLeadingNewLine { + if l.follow("\r\n") { + l.skip() + l.skip() + } else if l.peek() == '\n' { + l.skip() + } + } + + for { + if l.follow(terminator) { + return growingString, nil + } + + if l.follow("\\") { + l.next() + switch l.peek() { + case '\r': + fallthrough + case '\n': + fallthrough + case '\t': + fallthrough + case ' ': + // skip all whitespace chars following backslash + for strings.ContainsRune("\r\n\t ", l.peek()) { + l.next() + } + case '"': + growingString += "\"" + l.next() + case 'n': + growingString += "\n" + l.next() + case 'b': + growingString += "\b" + l.next() + case 'f': + growingString += "\f" + l.next() + case '/': + growingString += "/" + l.next() + case 't': + growingString += "\t" + l.next() + case 'r': + growingString += "\r" + l.next() + case '\\': + growingString += "\\" + l.next() + case 'u': + l.next() + code := "" + for i := 0; i < 4; i++ { + c := l.peek() + if !isHexDigit(c) { + return "", errors.New("unfinished unicode escape") + } + l.next() + code = code + string(c) + } + intcode, err := strconv.ParseInt(code, 16, 32) + if err != nil { + return "", errors.New("invalid unicode escape: \\u" + code) + } + growingString += string(rune(intcode)) + case 'U': + l.next() + code := "" + for i := 0; i < 8; i++ { + c := l.peek() + if !isHexDigit(c) { + return "", errors.New("unfinished unicode escape") + } + l.next() + code = code + string(c) + } + intcode, err := strconv.ParseInt(code, 16, 64) + if err != nil { + return "", errors.New("invalid unicode escape: \\U" + code) + } + growingString += string(rune(intcode)) + default: + return "", errors.New("invalid escape sequence: \\" + string(l.peek())) + } + } else { + r := l.peek() + + if 0x00 <= r && r <= 0x1F && !(acceptNewLines && (r == '\n' || r == '\r')) { + return "", fmt.Errorf("unescaped control character %U", r) + } + l.next() + growingString += string(r) + } + + if l.peek() == eof { + break + } + } + + return "", errors.New("unclosed string") +} + +func (l *tomlLexer) lexString() tomlLexStateFn { + l.skip() + + // handle special case for triple-quote + terminator := `"` + discardLeadingNewLine := false + acceptNewLines := false + if l.follow(`""`) { + l.skip() + l.skip() + terminator = `"""` + discardLeadingNewLine = true + acceptNewLines = true + } + + str, err := l.lexStringAsString(terminator, discardLeadingNewLine, acceptNewLines) + + if err != nil { + return l.errorf(err.Error()) + } + + l.emitWithValue(tokenString, str) + l.fastForward(len(terminator)) + l.ignore() + return l.lexRvalue +} + +func (l *tomlLexer) lexTableKey() tomlLexStateFn { + l.next() + + if l.peek() == '[' { + // token '[[' signifies an array of tables + l.next() + l.emit(tokenDoubleLeftBracket) + return l.lexInsideTableArrayKey + } + // vanilla table key + l.emit(tokenLeftBracket) + return l.lexInsideTableKey +} + +// Parse the key till "]]", but only bare keys are supported +func (l *tomlLexer) lexInsideTableArrayKey() tomlLexStateFn { + for r := l.peek(); r != eof; r = l.peek() { + switch r { + case ']': + if l.currentTokenStop > l.currentTokenStart { + l.emit(tokenKeyGroupArray) + } + l.next() + if l.peek() != ']' { + break + } + l.next() + l.emit(tokenDoubleRightBracket) + return l.lexVoid + case '[': + return l.errorf("table array key cannot contain ']'") + default: + l.next() + } + } + return l.errorf("unclosed table array key") +} + +// Parse the key till "]" but only bare keys are supported +func (l *tomlLexer) lexInsideTableKey() tomlLexStateFn { + for r := l.peek(); r != eof; r = l.peek() { + switch r { + case ']': + if l.currentTokenStop > l.currentTokenStart { + l.emit(tokenKeyGroup) + } + l.next() + l.emit(tokenRightBracket) + return l.lexVoid + case '[': + return l.errorf("table key cannot contain ']'") + default: + l.next() + } + } + return l.errorf("unclosed table key") +} + +func (l *tomlLexer) lexRightBracket() tomlLexStateFn { + l.next() + l.emit(tokenRightBracket) + return l.lexRvalue +} + +type validRuneFn func(r rune) bool + +func isValidHexRune(r rune) bool { + return r >= 'a' && r <= 'f' || + r >= 'A' && r <= 'F' || + r >= '0' && r <= '9' || + r == '_' +} + +func isValidOctalRune(r rune) bool { + return r >= '0' && r <= '7' || r == '_' +} + +func isValidBinaryRune(r rune) bool { + return r == '0' || r == '1' || r == '_' +} + +func (l *tomlLexer) lexNumber() tomlLexStateFn { + r := l.peek() + + if r == '0' { + follow := l.peekString(2) + if len(follow) == 2 { + var isValidRune validRuneFn + switch follow[1] { + case 'x': + isValidRune = isValidHexRune + case 'o': + isValidRune = isValidOctalRune + case 'b': + isValidRune = isValidBinaryRune + default: + if follow[1] >= 'a' && follow[1] <= 'z' || follow[1] >= 'A' && follow[1] <= 'Z' { + return l.errorf("unknown number base: %s. possible options are x (hex) o (octal) b (binary)", string(follow[1])) + } + } + + if isValidRune != nil { + l.next() + l.next() + digitSeen := false + for { + next := l.peek() + if !isValidRune(next) { + break + } + digitSeen = true + l.next() + } + + if !digitSeen { + return l.errorf("number needs at least one digit") + } + + l.emit(tokenInteger) + + return l.lexRvalue + } + } + } + + if r == '+' || r == '-' { + l.next() + if l.follow("inf") { + return l.lexInf + } + if l.follow("nan") { + return l.lexNan + } + } + + pointSeen := false + expSeen := false + digitSeen := false + for { + next := l.peek() + if next == '.' { + if pointSeen { + return l.errorf("cannot have two dots in one float") + } + l.next() + if !isDigit(l.peek()) { + return l.errorf("float cannot end with a dot") + } + pointSeen = true + } else if next == 'e' || next == 'E' { + expSeen = true + l.next() + r := l.peek() + if r == '+' || r == '-' { + l.next() + } + } else if isDigit(next) { + digitSeen = true + l.next() + } else if next == '_' { + l.next() + } else { + break + } + if pointSeen && !digitSeen { + return l.errorf("cannot start float with a dot") + } + } + + if !digitSeen { + return l.errorf("no digit in that number") + } + if pointSeen || expSeen { + l.emit(tokenFloat) + } else { + l.emit(tokenInteger) + } + return l.lexRvalue +} + +func (l *tomlLexer) run() { + for state := l.lexVoid; state != nil; { + state = state() + } +} + +func init() { + dateRegexp = regexp.MustCompile(`^\d{1,4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,9})?(Z|[+-]\d{2}:\d{2})`) +} + +// Entry point +func lexToml(inputBytes []byte) []token { + runes := bytes.Runes(inputBytes) + l := &tomlLexer{ + input: runes, + tokens: make([]token, 0, 256), + line: 1, + col: 1, + endbufferLine: 1, + endbufferCol: 1, + } + l.run() + return l.tokens +} diff --git a/vendor/github.com/pelletier/go-toml/marshal.go b/vendor/github.com/pelletier/go-toml/marshal.go new file mode 100755 index 0000000..b5a2415 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/marshal.go @@ -0,0 +1,600 @@ +package toml + +import ( + "bytes" + "errors" + "fmt" + "io" + "reflect" + "strconv" + "strings" + "time" +) + +type tomlOpts struct { + name string + comment string + commented bool + include bool + omitempty bool +} + +type encOpts struct { + quoteMapKeys bool + arraysOneElementPerLine bool +} + +var encOptsDefaults = encOpts{ + quoteMapKeys: false, +} + +var timeType = reflect.TypeOf(time.Time{}) +var marshalerType = reflect.TypeOf(new(Marshaler)).Elem() + +// Check if the given marshall type maps to a Tree primitive +func isPrimitive(mtype reflect.Type) bool { + switch mtype.Kind() { + case reflect.Ptr: + return isPrimitive(mtype.Elem()) + case reflect.Bool: + return true + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return true + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + return true + case reflect.Float32, reflect.Float64: + return true + case reflect.String: + return true + case reflect.Struct: + return mtype == timeType || isCustomMarshaler(mtype) + default: + return false + } +} + +// Check if the given marshall type maps to a Tree slice +func isTreeSlice(mtype reflect.Type) bool { + switch mtype.Kind() { + case reflect.Slice: + return !isOtherSlice(mtype) + default: + return false + } +} + +// Check if the given marshall type maps to a non-Tree slice +func isOtherSlice(mtype reflect.Type) bool { + switch mtype.Kind() { + case reflect.Ptr: + return isOtherSlice(mtype.Elem()) + case reflect.Slice: + return isPrimitive(mtype.Elem()) || isOtherSlice(mtype.Elem()) + default: + return false + } +} + +// Check if the given marshall type maps to a Tree +func isTree(mtype reflect.Type) bool { + switch mtype.Kind() { + case reflect.Map: + return true + case reflect.Struct: + return !isPrimitive(mtype) + default: + return false + } +} + +func isCustomMarshaler(mtype reflect.Type) bool { + return mtype.Implements(marshalerType) +} + +func callCustomMarshaler(mval reflect.Value) ([]byte, error) { + return mval.Interface().(Marshaler).MarshalTOML() +} + +// Marshaler is the interface implemented by types that +// can marshal themselves into valid TOML. +type Marshaler interface { + MarshalTOML() ([]byte, error) +} + +/* +Marshal returns the TOML encoding of v. Behavior is similar to the Go json +encoder, except that there is no concept of a Marshaler interface or MarshalTOML +function for sub-structs, and currently only definite types can be marshaled +(i.e. no `interface{}`). + +The following struct annotations are supported: + + toml:"Field" Overrides the field's name to output. + omitempty When set, empty values and groups are not emitted. + comment:"comment" Emits a # comment on the same line. This supports new lines. + commented:"true" Emits the value as commented. + +Note that pointers are automatically assigned the "omitempty" option, as TOML +explicitly does not handle null values (saying instead the label should be +dropped). + +Tree structural types and corresponding marshal types: + + *Tree (*)struct, (*)map[string]interface{} + []*Tree (*)[](*)struct, (*)[](*)map[string]interface{} + []interface{} (as interface{}) (*)[]primitive, (*)[]([]interface{}) + interface{} (*)primitive + +Tree primitive types and corresponding marshal types: + + uint64 uint, uint8-uint64, pointers to same + int64 int, int8-uint64, pointers to same + float64 float32, float64, pointers to same + string string, pointers to same + bool bool, pointers to same + time.Time time.Time{}, pointers to same +*/ +func Marshal(v interface{}) ([]byte, error) { + return NewEncoder(nil).marshal(v) +} + +// Encoder writes TOML values to an output stream. +type Encoder struct { + w io.Writer + encOpts +} + +// NewEncoder returns a new encoder that writes to w. +func NewEncoder(w io.Writer) *Encoder { + return &Encoder{ + w: w, + encOpts: encOptsDefaults, + } +} + +// Encode writes the TOML encoding of v to the stream. +// +// See the documentation for Marshal for details. +func (e *Encoder) Encode(v interface{}) error { + b, err := e.marshal(v) + if err != nil { + return err + } + if _, err := e.w.Write(b); err != nil { + return err + } + return nil +} + +// QuoteMapKeys sets up the encoder to encode +// maps with string type keys with quoted TOML keys. +// +// This relieves the character limitations on map keys. +func (e *Encoder) QuoteMapKeys(v bool) *Encoder { + e.quoteMapKeys = v + return e +} + +// ArraysWithOneElementPerLine sets up the encoder to encode arrays +// with more than one element on multiple lines instead of one. +// +// For example: +// +// A = [1,2,3] +// +// Becomes +// +// A = [ +// 1, +// 2, +// 3 +// ] +func (e *Encoder) ArraysWithOneElementPerLine(v bool) *Encoder { + e.arraysOneElementPerLine = v + return e +} + +func (e *Encoder) marshal(v interface{}) ([]byte, error) { + mtype := reflect.TypeOf(v) + if mtype.Kind() != reflect.Struct { + return []byte{}, errors.New("Only a struct can be marshaled to TOML") + } + sval := reflect.ValueOf(v) + if isCustomMarshaler(mtype) { + return callCustomMarshaler(sval) + } + t, err := e.valueToTree(mtype, sval) + if err != nil { + return []byte{}, err + } + + var buf bytes.Buffer + _, err = t.writeTo(&buf, "", "", 0, e.arraysOneElementPerLine) + + return buf.Bytes(), err +} + +// Convert given marshal struct or map value to toml tree +func (e *Encoder) valueToTree(mtype reflect.Type, mval reflect.Value) (*Tree, error) { + if mtype.Kind() == reflect.Ptr { + return e.valueToTree(mtype.Elem(), mval.Elem()) + } + tval := newTree() + switch mtype.Kind() { + case reflect.Struct: + for i := 0; i < mtype.NumField(); i++ { + mtypef, mvalf := mtype.Field(i), mval.Field(i) + opts := tomlOptions(mtypef) + if opts.include && (!opts.omitempty || !isZero(mvalf)) { + val, err := e.valueToToml(mtypef.Type, mvalf) + if err != nil { + return nil, err + } + tval.SetWithComment(opts.name, opts.comment, opts.commented, val) + } + } + case reflect.Map: + for _, key := range mval.MapKeys() { + mvalf := mval.MapIndex(key) + val, err := e.valueToToml(mtype.Elem(), mvalf) + if err != nil { + return nil, err + } + if e.quoteMapKeys { + keyStr, err := tomlValueStringRepresentation(key.String(), "", e.arraysOneElementPerLine) + if err != nil { + return nil, err + } + tval.SetPath([]string{keyStr}, val) + } else { + tval.Set(key.String(), val) + } + } + } + return tval, nil +} + +// Convert given marshal slice to slice of Toml trees +func (e *Encoder) valueToTreeSlice(mtype reflect.Type, mval reflect.Value) ([]*Tree, error) { + tval := make([]*Tree, mval.Len(), mval.Len()) + for i := 0; i < mval.Len(); i++ { + val, err := e.valueToTree(mtype.Elem(), mval.Index(i)) + if err != nil { + return nil, err + } + tval[i] = val + } + return tval, nil +} + +// Convert given marshal slice to slice of toml values +func (e *Encoder) valueToOtherSlice(mtype reflect.Type, mval reflect.Value) (interface{}, error) { + tval := make([]interface{}, mval.Len(), mval.Len()) + for i := 0; i < mval.Len(); i++ { + val, err := e.valueToToml(mtype.Elem(), mval.Index(i)) + if err != nil { + return nil, err + } + tval[i] = val + } + return tval, nil +} + +// Convert given marshal value to toml value +func (e *Encoder) valueToToml(mtype reflect.Type, mval reflect.Value) (interface{}, error) { + if mtype.Kind() == reflect.Ptr { + return e.valueToToml(mtype.Elem(), mval.Elem()) + } + switch { + case isCustomMarshaler(mtype): + return callCustomMarshaler(mval) + case isTree(mtype): + return e.valueToTree(mtype, mval) + case isTreeSlice(mtype): + return e.valueToTreeSlice(mtype, mval) + case isOtherSlice(mtype): + return e.valueToOtherSlice(mtype, mval) + default: + switch mtype.Kind() { + case reflect.Bool: + return mval.Bool(), nil + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return mval.Int(), nil + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + return mval.Uint(), nil + case reflect.Float32, reflect.Float64: + return mval.Float(), nil + case reflect.String: + return mval.String(), nil + case reflect.Struct: + return mval.Interface().(time.Time), nil + default: + return nil, fmt.Errorf("Marshal can't handle %v(%v)", mtype, mtype.Kind()) + } + } +} + +// Unmarshal attempts to unmarshal the Tree into a Go struct pointed by v. +// Neither Unmarshaler interfaces nor UnmarshalTOML functions are supported for +// sub-structs, and only definite types can be unmarshaled. +func (t *Tree) Unmarshal(v interface{}) error { + d := Decoder{tval: t} + return d.unmarshal(v) +} + +// Marshal returns the TOML encoding of Tree. +// See Marshal() documentation for types mapping table. +func (t *Tree) Marshal() ([]byte, error) { + var buf bytes.Buffer + err := NewEncoder(&buf).Encode(t) + return buf.Bytes(), err +} + +// Unmarshal parses the TOML-encoded data and stores the result in the value +// pointed to by v. Behavior is similar to the Go json encoder, except that there +// is no concept of an Unmarshaler interface or UnmarshalTOML function for +// sub-structs, and currently only definite types can be unmarshaled to (i.e. no +// `interface{}`). +// +// The following struct annotations are supported: +// +// toml:"Field" Overrides the field's name to map to. +// +// See Marshal() documentation for types mapping table. +func Unmarshal(data []byte, v interface{}) error { + t, err := LoadReader(bytes.NewReader(data)) + if err != nil { + return err + } + return t.Unmarshal(v) +} + +// Decoder reads and decodes TOML values from an input stream. +type Decoder struct { + r io.Reader + tval *Tree + encOpts +} + +// NewDecoder returns a new decoder that reads from r. +func NewDecoder(r io.Reader) *Decoder { + return &Decoder{ + r: r, + encOpts: encOptsDefaults, + } +} + +// Decode reads a TOML-encoded value from it's input +// and unmarshals it in the value pointed at by v. +// +// See the documentation for Marshal for details. +func (d *Decoder) Decode(v interface{}) error { + var err error + d.tval, err = LoadReader(d.r) + if err != nil { + return err + } + return d.unmarshal(v) +} + +func (d *Decoder) unmarshal(v interface{}) error { + mtype := reflect.TypeOf(v) + if mtype.Kind() != reflect.Ptr || mtype.Elem().Kind() != reflect.Struct { + return errors.New("Only a pointer to struct can be unmarshaled from TOML") + } + + sval, err := d.valueFromTree(mtype.Elem(), d.tval) + if err != nil { + return err + } + reflect.ValueOf(v).Elem().Set(sval) + return nil +} + +// Convert toml tree to marshal struct or map, using marshal type +func (d *Decoder) valueFromTree(mtype reflect.Type, tval *Tree) (reflect.Value, error) { + if mtype.Kind() == reflect.Ptr { + return d.unwrapPointer(mtype, tval) + } + var mval reflect.Value + switch mtype.Kind() { + case reflect.Struct: + mval = reflect.New(mtype).Elem() + for i := 0; i < mtype.NumField(); i++ { + mtypef := mtype.Field(i) + opts := tomlOptions(mtypef) + if opts.include { + baseKey := opts.name + keysToTry := []string{baseKey, strings.ToLower(baseKey), strings.ToTitle(baseKey)} + for _, key := range keysToTry { + exists := tval.Has(key) + if !exists { + continue + } + val := tval.Get(key) + mvalf, err := d.valueFromToml(mtypef.Type, val) + if err != nil { + return mval, formatError(err, tval.GetPosition(key)) + } + mval.Field(i).Set(mvalf) + break + } + } + } + case reflect.Map: + mval = reflect.MakeMap(mtype) + for _, key := range tval.Keys() { + // TODO: path splits key + val := tval.GetPath([]string{key}) + mvalf, err := d.valueFromToml(mtype.Elem(), val) + if err != nil { + return mval, formatError(err, tval.GetPosition(key)) + } + mval.SetMapIndex(reflect.ValueOf(key), mvalf) + } + } + return mval, nil +} + +// Convert toml value to marshal struct/map slice, using marshal type +func (d *Decoder) valueFromTreeSlice(mtype reflect.Type, tval []*Tree) (reflect.Value, error) { + mval := reflect.MakeSlice(mtype, len(tval), len(tval)) + for i := 0; i < len(tval); i++ { + val, err := d.valueFromTree(mtype.Elem(), tval[i]) + if err != nil { + return mval, err + } + mval.Index(i).Set(val) + } + return mval, nil +} + +// Convert toml value to marshal primitive slice, using marshal type +func (d *Decoder) valueFromOtherSlice(mtype reflect.Type, tval []interface{}) (reflect.Value, error) { + mval := reflect.MakeSlice(mtype, len(tval), len(tval)) + for i := 0; i < len(tval); i++ { + val, err := d.valueFromToml(mtype.Elem(), tval[i]) + if err != nil { + return mval, err + } + mval.Index(i).Set(val) + } + return mval, nil +} + +// Convert toml value to marshal value, using marshal type +func (d *Decoder) valueFromToml(mtype reflect.Type, tval interface{}) (reflect.Value, error) { + if mtype.Kind() == reflect.Ptr { + return d.unwrapPointer(mtype, tval) + } + + switch tval.(type) { + case *Tree: + if isTree(mtype) { + return d.valueFromTree(mtype, tval.(*Tree)) + } + return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to a tree", tval, tval) + case []*Tree: + if isTreeSlice(mtype) { + return d.valueFromTreeSlice(mtype, tval.([]*Tree)) + } + return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to trees", tval, tval) + case []interface{}: + if isOtherSlice(mtype) { + return d.valueFromOtherSlice(mtype, tval.([]interface{})) + } + return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to a slice", tval, tval) + default: + switch mtype.Kind() { + case reflect.Bool, reflect.Struct: + val := reflect.ValueOf(tval) + // if this passes for when mtype is reflect.Struct, tval is a time.Time + if !val.Type().ConvertibleTo(mtype) { + return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to %v", tval, tval, mtype.String()) + } + + return val.Convert(mtype), nil + case reflect.String: + val := reflect.ValueOf(tval) + // stupidly, int64 is convertible to string. So special case this. + if !val.Type().ConvertibleTo(mtype) || val.Kind() == reflect.Int64 { + return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to %v", tval, tval, mtype.String()) + } + + return val.Convert(mtype), nil + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + val := reflect.ValueOf(tval) + if !val.Type().ConvertibleTo(mtype) { + return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to %v", tval, tval, mtype.String()) + } + if reflect.Indirect(reflect.New(mtype)).OverflowInt(val.Int()) { + return reflect.ValueOf(nil), fmt.Errorf("%v(%T) would overflow %v", tval, tval, mtype.String()) + } + + return val.Convert(mtype), nil + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + val := reflect.ValueOf(tval) + if !val.Type().ConvertibleTo(mtype) { + return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to %v", tval, tval, mtype.String()) + } + if val.Int() < 0 { + return reflect.ValueOf(nil), fmt.Errorf("%v(%T) is negative so does not fit in %v", tval, tval, mtype.String()) + } + if reflect.Indirect(reflect.New(mtype)).OverflowUint(uint64(val.Int())) { + return reflect.ValueOf(nil), fmt.Errorf("%v(%T) would overflow %v", tval, tval, mtype.String()) + } + + return val.Convert(mtype), nil + case reflect.Float32, reflect.Float64: + val := reflect.ValueOf(tval) + if !val.Type().ConvertibleTo(mtype) { + return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to %v", tval, tval, mtype.String()) + } + if reflect.Indirect(reflect.New(mtype)).OverflowFloat(val.Float()) { + return reflect.ValueOf(nil), fmt.Errorf("%v(%T) would overflow %v", tval, tval, mtype.String()) + } + + return val.Convert(mtype), nil + default: + return reflect.ValueOf(nil), fmt.Errorf("Can't convert %v(%T) to %v(%v)", tval, tval, mtype, mtype.Kind()) + } + } +} + +func (d *Decoder) unwrapPointer(mtype reflect.Type, tval interface{}) (reflect.Value, error) { + val, err := d.valueFromToml(mtype.Elem(), tval) + if err != nil { + return reflect.ValueOf(nil), err + } + mval := reflect.New(mtype.Elem()) + mval.Elem().Set(val) + return mval, nil +} + +func tomlOptions(vf reflect.StructField) tomlOpts { + tag := vf.Tag.Get("toml") + parse := strings.Split(tag, ",") + var comment string + if c := vf.Tag.Get("comment"); c != "" { + comment = c + } + commented, _ := strconv.ParseBool(vf.Tag.Get("commented")) + result := tomlOpts{name: vf.Name, comment: comment, commented: commented, include: true, omitempty: false} + if parse[0] != "" { + if parse[0] == "-" && len(parse) == 1 { + result.include = false + } else { + result.name = strings.Trim(parse[0], " ") + } + } + if vf.PkgPath != "" { + result.include = false + } + if len(parse) > 1 && strings.Trim(parse[1], " ") == "omitempty" { + result.omitempty = true + } + if vf.Type.Kind() == reflect.Ptr { + result.omitempty = true + } + return result +} + +func isZero(val reflect.Value) bool { + switch val.Type().Kind() { + case reflect.Map: + fallthrough + case reflect.Array: + fallthrough + case reflect.Slice: + return val.Len() == 0 + default: + return reflect.DeepEqual(val.Interface(), reflect.Zero(val.Type()).Interface()) + } +} + +func formatError(err error, pos Position) error { + if err.Error()[0] == '(' { // Error already contains position information + return err + } + return fmt.Errorf("%s: %s", pos, err) +} diff --git a/vendor/github.com/pelletier/go-toml/marshal_test.toml b/vendor/github.com/pelletier/go-toml/marshal_test.toml new file mode 100755 index 0000000..1c5f98e --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/marshal_test.toml @@ -0,0 +1,38 @@ +title = "TOML Marshal Testing" + +[basic] + bool = true + date = 1979-05-27T07:32:00Z + float = 123.4 + int = 5000 + string = "Bite me" + uint = 5001 + +[basic_lists] + bools = [true,false,true] + dates = [1979-05-27T07:32:00Z,1980-05-27T07:32:00Z] + floats = [12.3,45.6,78.9] + ints = [8001,8001,8002] + strings = ["One","Two","Three"] + uints = [5002,5003] + +[basic_map] + one = "one" + two = "two" + +[subdoc] + + [subdoc.first] + name = "First" + + [subdoc.second] + name = "Second" + +[[subdoclist]] + name = "List.First" + +[[subdoclist]] + name = "List.Second" + +[[subdocptrs]] + name = "Second" diff --git a/vendor/github.com/pelletier/go-toml/parser.go b/vendor/github.com/pelletier/go-toml/parser.go new file mode 100755 index 0000000..2d27599 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/parser.go @@ -0,0 +1,430 @@ +// TOML Parser. + +package toml + +import ( + "errors" + "fmt" + "math" + "reflect" + "regexp" + "strconv" + "strings" + "time" +) + +type tomlParser struct { + flowIdx int + flow []token + tree *Tree + currentTable []string + seenTableKeys []string +} + +type tomlParserStateFn func() tomlParserStateFn + +// Formats and panics an error message based on a token +func (p *tomlParser) raiseError(tok *token, msg string, args ...interface{}) { + panic(tok.Position.String() + ": " + fmt.Sprintf(msg, args...)) +} + +func (p *tomlParser) run() { + for state := p.parseStart; state != nil; { + state = state() + } +} + +func (p *tomlParser) peek() *token { + if p.flowIdx >= len(p.flow) { + return nil + } + return &p.flow[p.flowIdx] +} + +func (p *tomlParser) assume(typ tokenType) { + tok := p.getToken() + if tok == nil { + p.raiseError(tok, "was expecting token %s, but token stream is empty", tok) + } + if tok.typ != typ { + p.raiseError(tok, "was expecting token %s, but got %s instead", typ, tok) + } +} + +func (p *tomlParser) getToken() *token { + tok := p.peek() + if tok == nil { + return nil + } + p.flowIdx++ + return tok +} + +func (p *tomlParser) parseStart() tomlParserStateFn { + tok := p.peek() + + // end of stream, parsing is finished + if tok == nil { + return nil + } + + switch tok.typ { + case tokenDoubleLeftBracket: + return p.parseGroupArray + case tokenLeftBracket: + return p.parseGroup + case tokenKey: + return p.parseAssign + case tokenEOF: + return nil + default: + p.raiseError(tok, "unexpected token") + } + return nil +} + +func (p *tomlParser) parseGroupArray() tomlParserStateFn { + startToken := p.getToken() // discard the [[ + key := p.getToken() + if key.typ != tokenKeyGroupArray { + p.raiseError(key, "unexpected token %s, was expecting a table array key", key) + } + + // get or create table array element at the indicated part in the path + keys, err := parseKey(key.val) + if err != nil { + p.raiseError(key, "invalid table array key: %s", err) + } + p.tree.createSubTree(keys[:len(keys)-1], startToken.Position) // create parent entries + destTree := p.tree.GetPath(keys) + var array []*Tree + if destTree == nil { + array = make([]*Tree, 0) + } else if target, ok := destTree.([]*Tree); ok && target != nil { + array = destTree.([]*Tree) + } else { + p.raiseError(key, "key %s is already assigned and not of type table array", key) + } + p.currentTable = keys + + // add a new tree to the end of the table array + newTree := newTree() + newTree.position = startToken.Position + array = append(array, newTree) + p.tree.SetPath(p.currentTable, array) + + // remove all keys that were children of this table array + prefix := key.val + "." + found := false + for ii := 0; ii < len(p.seenTableKeys); { + tableKey := p.seenTableKeys[ii] + if strings.HasPrefix(tableKey, prefix) { + p.seenTableKeys = append(p.seenTableKeys[:ii], p.seenTableKeys[ii+1:]...) + } else { + found = (tableKey == key.val) + ii++ + } + } + + // keep this key name from use by other kinds of assignments + if !found { + p.seenTableKeys = append(p.seenTableKeys, key.val) + } + + // move to next parser state + p.assume(tokenDoubleRightBracket) + return p.parseStart +} + +func (p *tomlParser) parseGroup() tomlParserStateFn { + startToken := p.getToken() // discard the [ + key := p.getToken() + if key.typ != tokenKeyGroup { + p.raiseError(key, "unexpected token %s, was expecting a table key", key) + } + for _, item := range p.seenTableKeys { + if item == key.val { + p.raiseError(key, "duplicated tables") + } + } + + p.seenTableKeys = append(p.seenTableKeys, key.val) + keys, err := parseKey(key.val) + if err != nil { + p.raiseError(key, "invalid table array key: %s", err) + } + if err := p.tree.createSubTree(keys, startToken.Position); err != nil { + p.raiseError(key, "%s", err) + } + p.assume(tokenRightBracket) + p.currentTable = keys + return p.parseStart +} + +func (p *tomlParser) parseAssign() tomlParserStateFn { + key := p.getToken() + p.assume(tokenEqual) + + value := p.parseRvalue() + var tableKey []string + if len(p.currentTable) > 0 { + tableKey = p.currentTable + } else { + tableKey = []string{} + } + + // find the table to assign, looking out for arrays of tables + var targetNode *Tree + switch node := p.tree.GetPath(tableKey).(type) { + case []*Tree: + targetNode = node[len(node)-1] + case *Tree: + targetNode = node + default: + p.raiseError(key, "Unknown table type for path: %s", + strings.Join(tableKey, ".")) + } + + // assign value to the found table + keyVals := []string{key.val} + if len(keyVals) != 1 { + p.raiseError(key, "Invalid key") + } + keyVal := keyVals[0] + localKey := []string{keyVal} + finalKey := append(tableKey, keyVal) + if targetNode.GetPath(localKey) != nil { + p.raiseError(key, "The following key was defined twice: %s", + strings.Join(finalKey, ".")) + } + var toInsert interface{} + + switch value.(type) { + case *Tree, []*Tree: + toInsert = value + default: + toInsert = &tomlValue{value: value, position: key.Position} + } + targetNode.values[keyVal] = toInsert + return p.parseStart +} + +var numberUnderscoreInvalidRegexp *regexp.Regexp +var hexNumberUnderscoreInvalidRegexp *regexp.Regexp + +func numberContainsInvalidUnderscore(value string) error { + if numberUnderscoreInvalidRegexp.MatchString(value) { + return errors.New("invalid use of _ in number") + } + return nil +} + +func hexNumberContainsInvalidUnderscore(value string) error { + if hexNumberUnderscoreInvalidRegexp.MatchString(value) { + return errors.New("invalid use of _ in hex number") + } + return nil +} + +func cleanupNumberToken(value string) string { + cleanedVal := strings.Replace(value, "_", "", -1) + return cleanedVal +} + +func (p *tomlParser) parseRvalue() interface{} { + tok := p.getToken() + if tok == nil || tok.typ == tokenEOF { + p.raiseError(tok, "expecting a value") + } + + switch tok.typ { + case tokenString: + return tok.val + case tokenTrue: + return true + case tokenFalse: + return false + case tokenInf: + if tok.val[0] == '-' { + return math.Inf(-1) + } + return math.Inf(1) + case tokenNan: + return math.NaN() + case tokenInteger: + cleanedVal := cleanupNumberToken(tok.val) + var err error + var val int64 + if len(cleanedVal) >= 3 && cleanedVal[0] == '0' { + switch cleanedVal[1] { + case 'x': + err = hexNumberContainsInvalidUnderscore(tok.val) + if err != nil { + p.raiseError(tok, "%s", err) + } + val, err = strconv.ParseInt(cleanedVal[2:], 16, 64) + case 'o': + err = numberContainsInvalidUnderscore(tok.val) + if err != nil { + p.raiseError(tok, "%s", err) + } + val, err = strconv.ParseInt(cleanedVal[2:], 8, 64) + case 'b': + err = numberContainsInvalidUnderscore(tok.val) + if err != nil { + p.raiseError(tok, "%s", err) + } + val, err = strconv.ParseInt(cleanedVal[2:], 2, 64) + default: + panic("invalid base") // the lexer should catch this first + } + } else { + err = numberContainsInvalidUnderscore(tok.val) + if err != nil { + p.raiseError(tok, "%s", err) + } + val, err = strconv.ParseInt(cleanedVal, 10, 64) + } + if err != nil { + p.raiseError(tok, "%s", err) + } + return val + case tokenFloat: + err := numberContainsInvalidUnderscore(tok.val) + if err != nil { + p.raiseError(tok, "%s", err) + } + cleanedVal := cleanupNumberToken(tok.val) + val, err := strconv.ParseFloat(cleanedVal, 64) + if err != nil { + p.raiseError(tok, "%s", err) + } + return val + case tokenDate: + val, err := time.ParseInLocation(time.RFC3339Nano, tok.val, time.UTC) + if err != nil { + p.raiseError(tok, "%s", err) + } + return val + case tokenLeftBracket: + return p.parseArray() + case tokenLeftCurlyBrace: + return p.parseInlineTable() + case tokenEqual: + p.raiseError(tok, "cannot have multiple equals for the same key") + case tokenError: + p.raiseError(tok, "%s", tok) + } + + p.raiseError(tok, "never reached") + + return nil +} + +func tokenIsComma(t *token) bool { + return t != nil && t.typ == tokenComma +} + +func (p *tomlParser) parseInlineTable() *Tree { + tree := newTree() + var previous *token +Loop: + for { + follow := p.peek() + if follow == nil || follow.typ == tokenEOF { + p.raiseError(follow, "unterminated inline table") + } + switch follow.typ { + case tokenRightCurlyBrace: + p.getToken() + break Loop + case tokenKey: + if !tokenIsComma(previous) && previous != nil { + p.raiseError(follow, "comma expected between fields in inline table") + } + key := p.getToken() + p.assume(tokenEqual) + value := p.parseRvalue() + tree.Set(key.val, value) + case tokenComma: + if previous == nil { + p.raiseError(follow, "inline table cannot start with a comma") + } + if tokenIsComma(previous) { + p.raiseError(follow, "need field between two commas in inline table") + } + p.getToken() + default: + p.raiseError(follow, "unexpected token type in inline table: %s", follow.String()) + } + previous = follow + } + if tokenIsComma(previous) { + p.raiseError(previous, "trailing comma at the end of inline table") + } + return tree +} + +func (p *tomlParser) parseArray() interface{} { + var array []interface{} + arrayType := reflect.TypeOf(nil) + for { + follow := p.peek() + if follow == nil || follow.typ == tokenEOF { + p.raiseError(follow, "unterminated array") + } + if follow.typ == tokenRightBracket { + p.getToken() + break + } + val := p.parseRvalue() + if arrayType == nil { + arrayType = reflect.TypeOf(val) + } + if reflect.TypeOf(val) != arrayType { + p.raiseError(follow, "mixed types in array") + } + array = append(array, val) + follow = p.peek() + if follow == nil || follow.typ == tokenEOF { + p.raiseError(follow, "unterminated array") + } + if follow.typ != tokenRightBracket && follow.typ != tokenComma { + p.raiseError(follow, "missing comma") + } + if follow.typ == tokenComma { + p.getToken() + } + } + // An array of Trees is actually an array of inline + // tables, which is a shorthand for a table array. If the + // array was not converted from []interface{} to []*Tree, + // the two notations would not be equivalent. + if arrayType == reflect.TypeOf(newTree()) { + tomlArray := make([]*Tree, len(array)) + for i, v := range array { + tomlArray[i] = v.(*Tree) + } + return tomlArray + } + return array +} + +func parseToml(flow []token) *Tree { + result := newTree() + result.position = Position{1, 1} + parser := &tomlParser{ + flowIdx: 0, + flow: flow, + tree: result, + currentTable: make([]string, 0), + seenTableKeys: make([]string, 0), + } + parser.run() + return result +} + +func init() { + numberUnderscoreInvalidRegexp = regexp.MustCompile(`([^\d]_|_[^\d])|_$|^_`) + hexNumberUnderscoreInvalidRegexp = regexp.MustCompile(`(^0x_)|([^\da-f]_|_[^\da-f])|_$|^_`) +} diff --git a/vendor/github.com/pelletier/go-toml/position.go b/vendor/github.com/pelletier/go-toml/position.go new file mode 100755 index 0000000..c17bff8 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/position.go @@ -0,0 +1,29 @@ +// Position support for go-toml + +package toml + +import ( + "fmt" +) + +// Position of a document element within a TOML document. +// +// Line and Col are both 1-indexed positions for the element's line number and +// column number, respectively. Values of zero or less will cause Invalid(), +// to return true. +type Position struct { + Line int // line within the document + Col int // column within the line +} + +// String representation of the position. +// Displays 1-indexed line and column numbers. +func (p Position) String() string { + return fmt.Sprintf("(%d, %d)", p.Line, p.Col) +} + +// Invalid returns whether or not the position is valid (i.e. with negative or +// null values) +func (p Position) Invalid() bool { + return p.Line <= 0 || p.Col <= 0 +} diff --git a/vendor/github.com/pelletier/go-toml/test.sh b/vendor/github.com/pelletier/go-toml/test.sh new file mode 100755 index 0000000..a70a8b0 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/test.sh @@ -0,0 +1,91 @@ +#!/bin/bash +# fail out of the script if anything here fails +set -e +set -o pipefail + +# set the path to the present working directory +export GOPATH=`pwd` + +function git_clone() { + path=$1 + branch=$2 + version=$3 + if [ ! -d "src/$path" ]; then + mkdir -p src/$path + git clone https://$path.git src/$path + fi + pushd src/$path + git checkout "$branch" + git reset --hard "$version" + popd +} + +# Remove potential previous runs +rm -rf src test_program_bin toml-test + +# Run go vet +go vet ./... + +go get github.com/pelletier/go-buffruneio +go get github.com/davecgh/go-spew/spew +go get gopkg.in/yaml.v2 +go get github.com/BurntSushi/toml + +# get code for BurntSushi TOML validation +# pinning all to 'HEAD' for version 0.3.x work (TODO: pin to commit hash when tests stabilize) +git_clone github.com/BurntSushi/toml master HEAD +git_clone github.com/BurntSushi/toml-test master HEAD #was: 0.2.0 HEAD + +# build the BurntSushi test application +go build -o toml-test github.com/BurntSushi/toml-test + +# vendorize the current lib for testing +# NOTE: this basically mocks an install without having to go back out to github for code +mkdir -p src/github.com/pelletier/go-toml/cmd +mkdir -p src/github.com/pelletier/go-toml/query +cp *.go *.toml src/github.com/pelletier/go-toml +cp -R cmd/* src/github.com/pelletier/go-toml/cmd +cp -R query/* src/github.com/pelletier/go-toml/query +go build -o test_program_bin src/github.com/pelletier/go-toml/cmd/test_program.go + +# Run basic unit tests +go test github.com/pelletier/go-toml -covermode=count -coverprofile=coverage.out +go test github.com/pelletier/go-toml/cmd/tomljson +go test github.com/pelletier/go-toml/query + +# run the entire BurntSushi test suite +if [[ $# -eq 0 ]] ; then + echo "Running all BurntSushi tests" + ./toml-test ./test_program_bin | tee test_out +else + # run a specific test + test=$1 + test_path='src/github.com/BurntSushi/toml-test/tests' + valid_test="$test_path/valid/$test" + invalid_test="$test_path/invalid/$test" + + if [ -e "$valid_test.toml" ]; then + echo "Valid Test TOML for $test:" + echo "====" + cat "$valid_test.toml" + + echo "Valid Test JSON for $test:" + echo "====" + cat "$valid_test.json" + + echo "Go-TOML Output for $test:" + echo "====" + cat "$valid_test.toml" | ./test_program_bin + fi + + if [ -e "$invalid_test.toml" ]; then + echo "Invalid Test TOML for $test:" + echo "====" + cat "$invalid_test.toml" + + echo "Go-TOML Output for $test:" + echo "====" + echo "go-toml Output:" + cat "$invalid_test.toml" | ./test_program_bin + fi +fi diff --git a/vendor/github.com/pelletier/go-toml/token.go b/vendor/github.com/pelletier/go-toml/token.go new file mode 100755 index 0000000..1a90813 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/token.go @@ -0,0 +1,144 @@ +package toml + +import ( + "fmt" + "strconv" + "unicode" +) + +// Define tokens +type tokenType int + +const ( + eof = -(iota + 1) +) + +const ( + tokenError tokenType = iota + tokenEOF + tokenComment + tokenKey + tokenString + tokenInteger + tokenTrue + tokenFalse + tokenFloat + tokenInf + tokenNan + tokenEqual + tokenLeftBracket + tokenRightBracket + tokenLeftCurlyBrace + tokenRightCurlyBrace + tokenLeftParen + tokenRightParen + tokenDoubleLeftBracket + tokenDoubleRightBracket + tokenDate + tokenKeyGroup + tokenKeyGroupArray + tokenComma + tokenColon + tokenDollar + tokenStar + tokenQuestion + tokenDot + tokenDotDot + tokenEOL +) + +var tokenTypeNames = []string{ + "Error", + "EOF", + "Comment", + "Key", + "String", + "Integer", + "True", + "False", + "Float", + "Inf", + "NaN", + "=", + "[", + "]", + "{", + "}", + "(", + ")", + "]]", + "[[", + "Date", + "KeyGroup", + "KeyGroupArray", + ",", + ":", + "$", + "*", + "?", + ".", + "..", + "EOL", +} + +type token struct { + Position + typ tokenType + val string +} + +func (tt tokenType) String() string { + idx := int(tt) + if idx < len(tokenTypeNames) { + return tokenTypeNames[idx] + } + return "Unknown" +} + +func (t token) Int() int { + if result, err := strconv.Atoi(t.val); err != nil { + panic(err) + } else { + return result + } +} + +func (t token) String() string { + switch t.typ { + case tokenEOF: + return "EOF" + case tokenError: + return t.val + } + + return fmt.Sprintf("%q", t.val) +} + +func isSpace(r rune) bool { + return r == ' ' || r == '\t' +} + +func isAlphanumeric(r rune) bool { + return unicode.IsLetter(r) || r == '_' +} + +func isKeyChar(r rune) bool { + // Keys start with the first character that isn't whitespace or [ and end + // with the last non-whitespace character before the equals sign. Keys + // cannot contain a # character." + return !(r == '\r' || r == '\n' || r == eof || r == '=') +} + +func isKeyStartChar(r rune) bool { + return !(isSpace(r) || r == '\r' || r == '\n' || r == eof || r == '[') +} + +func isDigit(r rune) bool { + return unicode.IsNumber(r) +} + +func isHexDigit(r rune) bool { + return isDigit(r) || + (r >= 'a' && r <= 'f') || + (r >= 'A' && r <= 'F') +} diff --git a/vendor/github.com/pelletier/go-toml/toml.go b/vendor/github.com/pelletier/go-toml/toml.go new file mode 100755 index 0000000..05493a4 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/toml.go @@ -0,0 +1,309 @@ +package toml + +import ( + "errors" + "fmt" + "io" + "io/ioutil" + "os" + "runtime" + "strings" +) + +type tomlValue struct { + value interface{} // string, int64, uint64, float64, bool, time.Time, [] of any of this list + comment string + commented bool + position Position +} + +// Tree is the result of the parsing of a TOML file. +type Tree struct { + values map[string]interface{} // string -> *tomlValue, *Tree, []*Tree + comment string + commented bool + position Position +} + +func newTree() *Tree { + return &Tree{ + values: make(map[string]interface{}), + position: Position{}, + } +} + +// TreeFromMap initializes a new Tree object using the given map. +func TreeFromMap(m map[string]interface{}) (*Tree, error) { + result, err := toTree(m) + if err != nil { + return nil, err + } + return result.(*Tree), nil +} + +// Position returns the position of the tree. +func (t *Tree) Position() Position { + return t.position +} + +// Has returns a boolean indicating if the given key exists. +func (t *Tree) Has(key string) bool { + if key == "" { + return false + } + return t.HasPath(strings.Split(key, ".")) +} + +// HasPath returns true if the given path of keys exists, false otherwise. +func (t *Tree) HasPath(keys []string) bool { + return t.GetPath(keys) != nil +} + +// Keys returns the keys of the toplevel tree (does not recurse). +func (t *Tree) Keys() []string { + keys := make([]string, len(t.values)) + i := 0 + for k := range t.values { + keys[i] = k + i++ + } + return keys +} + +// Get the value at key in the Tree. +// Key is a dot-separated path (e.g. a.b.c) without single/double quoted strings. +// If you need to retrieve non-bare keys, use GetPath. +// Returns nil if the path does not exist in the tree. +// If keys is of length zero, the current tree is returned. +func (t *Tree) Get(key string) interface{} { + if key == "" { + return t + } + return t.GetPath(strings.Split(key, ".")) +} + +// GetPath returns the element in the tree indicated by 'keys'. +// If keys is of length zero, the current tree is returned. +func (t *Tree) GetPath(keys []string) interface{} { + if len(keys) == 0 { + return t + } + subtree := t + for _, intermediateKey := range keys[:len(keys)-1] { + value, exists := subtree.values[intermediateKey] + if !exists { + return nil + } + switch node := value.(type) { + case *Tree: + subtree = node + case []*Tree: + // go to most recent element + if len(node) == 0 { + return nil + } + subtree = node[len(node)-1] + default: + return nil // cannot navigate through other node types + } + } + // branch based on final node type + switch node := subtree.values[keys[len(keys)-1]].(type) { + case *tomlValue: + return node.value + default: + return node + } +} + +// GetPosition returns the position of the given key. +func (t *Tree) GetPosition(key string) Position { + if key == "" { + return t.position + } + return t.GetPositionPath(strings.Split(key, ".")) +} + +// GetPositionPath returns the element in the tree indicated by 'keys'. +// If keys is of length zero, the current tree is returned. +func (t *Tree) GetPositionPath(keys []string) Position { + if len(keys) == 0 { + return t.position + } + subtree := t + for _, intermediateKey := range keys[:len(keys)-1] { + value, exists := subtree.values[intermediateKey] + if !exists { + return Position{0, 0} + } + switch node := value.(type) { + case *Tree: + subtree = node + case []*Tree: + // go to most recent element + if len(node) == 0 { + return Position{0, 0} + } + subtree = node[len(node)-1] + default: + return Position{0, 0} + } + } + // branch based on final node type + switch node := subtree.values[keys[len(keys)-1]].(type) { + case *tomlValue: + return node.position + case *Tree: + return node.position + case []*Tree: + // go to most recent element + if len(node) == 0 { + return Position{0, 0} + } + return node[len(node)-1].position + default: + return Position{0, 0} + } +} + +// GetDefault works like Get but with a default value +func (t *Tree) GetDefault(key string, def interface{}) interface{} { + val := t.Get(key) + if val == nil { + return def + } + return val +} + +// Set an element in the tree. +// Key is a dot-separated path (e.g. a.b.c). +// Creates all necessary intermediate trees, if needed. +func (t *Tree) Set(key string, value interface{}) { + t.SetWithComment(key, "", false, value) +} + +// SetWithComment is the same as Set, but allows you to provide comment +// information to the key, that will be reused by Marshal(). +func (t *Tree) SetWithComment(key string, comment string, commented bool, value interface{}) { + t.SetPathWithComment(strings.Split(key, "."), comment, commented, value) +} + +// SetPath sets an element in the tree. +// Keys is an array of path elements (e.g. {"a","b","c"}). +// Creates all necessary intermediate trees, if needed. +func (t *Tree) SetPath(keys []string, value interface{}) { + t.SetPathWithComment(keys, "", false, value) +} + +// SetPathWithComment is the same as SetPath, but allows you to provide comment +// information to the key, that will be reused by Marshal(). +func (t *Tree) SetPathWithComment(keys []string, comment string, commented bool, value interface{}) { + subtree := t + for _, intermediateKey := range keys[:len(keys)-1] { + nextTree, exists := subtree.values[intermediateKey] + if !exists { + nextTree = newTree() + subtree.values[intermediateKey] = nextTree // add new element here + } + switch node := nextTree.(type) { + case *Tree: + subtree = node + case []*Tree: + // go to most recent element + if len(node) == 0 { + // create element if it does not exist + subtree.values[intermediateKey] = append(node, newTree()) + } + subtree = node[len(node)-1] + } + } + + var toInsert interface{} + + switch value.(type) { + case *Tree: + tt := value.(*Tree) + tt.comment = comment + toInsert = value + case []*Tree: + toInsert = value + case *tomlValue: + tt := value.(*tomlValue) + tt.comment = comment + toInsert = tt + default: + toInsert = &tomlValue{value: value, comment: comment, commented: commented} + } + + subtree.values[keys[len(keys)-1]] = toInsert +} + +// createSubTree takes a tree and a key and create the necessary intermediate +// subtrees to create a subtree at that point. In-place. +// +// e.g. passing a.b.c will create (assuming tree is empty) tree[a], tree[a][b] +// and tree[a][b][c] +// +// Returns nil on success, error object on failure +func (t *Tree) createSubTree(keys []string, pos Position) error { + subtree := t + for _, intermediateKey := range keys { + nextTree, exists := subtree.values[intermediateKey] + if !exists { + tree := newTree() + tree.position = pos + subtree.values[intermediateKey] = tree + nextTree = tree + } + + switch node := nextTree.(type) { + case []*Tree: + subtree = node[len(node)-1] + case *Tree: + subtree = node + default: + return fmt.Errorf("unknown type for path %s (%s): %T (%#v)", + strings.Join(keys, "."), intermediateKey, nextTree, nextTree) + } + } + return nil +} + +// LoadBytes creates a Tree from a []byte. +func LoadBytes(b []byte) (tree *Tree, err error) { + defer func() { + if r := recover(); r != nil { + if _, ok := r.(runtime.Error); ok { + panic(r) + } + err = errors.New(r.(string)) + } + }() + tree = parseToml(lexToml(b)) + return +} + +// LoadReader creates a Tree from any io.Reader. +func LoadReader(reader io.Reader) (tree *Tree, err error) { + inputBytes, err := ioutil.ReadAll(reader) + if err != nil { + return + } + tree, err = LoadBytes(inputBytes) + return +} + +// Load creates a Tree from a string. +func Load(content string) (tree *Tree, err error) { + return LoadBytes([]byte(content)) +} + +// LoadFile creates a Tree from a file. +func LoadFile(path string) (tree *Tree, err error) { + file, err := os.Open(path) + if err != nil { + return nil, err + } + defer file.Close() + return LoadReader(file) +} diff --git a/vendor/github.com/pelletier/go-toml/tomltree_create.go b/vendor/github.com/pelletier/go-toml/tomltree_create.go new file mode 100755 index 0000000..79610e9 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/tomltree_create.go @@ -0,0 +1,142 @@ +package toml + +import ( + "fmt" + "reflect" + "time" +) + +var kindToType = [reflect.String + 1]reflect.Type{ + reflect.Bool: reflect.TypeOf(true), + reflect.String: reflect.TypeOf(""), + reflect.Float32: reflect.TypeOf(float64(1)), + reflect.Float64: reflect.TypeOf(float64(1)), + reflect.Int: reflect.TypeOf(int64(1)), + reflect.Int8: reflect.TypeOf(int64(1)), + reflect.Int16: reflect.TypeOf(int64(1)), + reflect.Int32: reflect.TypeOf(int64(1)), + reflect.Int64: reflect.TypeOf(int64(1)), + reflect.Uint: reflect.TypeOf(uint64(1)), + reflect.Uint8: reflect.TypeOf(uint64(1)), + reflect.Uint16: reflect.TypeOf(uint64(1)), + reflect.Uint32: reflect.TypeOf(uint64(1)), + reflect.Uint64: reflect.TypeOf(uint64(1)), +} + +// typeFor returns a reflect.Type for a reflect.Kind, or nil if none is found. +// supported values: +// string, bool, int64, uint64, float64, time.Time, int, int8, int16, int32, uint, uint8, uint16, uint32, float32 +func typeFor(k reflect.Kind) reflect.Type { + if k > 0 && int(k) < len(kindToType) { + return kindToType[k] + } + return nil +} + +func simpleValueCoercion(object interface{}) (interface{}, error) { + switch original := object.(type) { + case string, bool, int64, uint64, float64, time.Time: + return original, nil + case int: + return int64(original), nil + case int8: + return int64(original), nil + case int16: + return int64(original), nil + case int32: + return int64(original), nil + case uint: + return uint64(original), nil + case uint8: + return uint64(original), nil + case uint16: + return uint64(original), nil + case uint32: + return uint64(original), nil + case float32: + return float64(original), nil + case fmt.Stringer: + return original.String(), nil + default: + return nil, fmt.Errorf("cannot convert type %T to Tree", object) + } +} + +func sliceToTree(object interface{}) (interface{}, error) { + // arrays are a bit tricky, since they can represent either a + // collection of simple values, which is represented by one + // *tomlValue, or an array of tables, which is represented by an + // array of *Tree. + + // holding the assumption that this function is called from toTree only when value.Kind() is Array or Slice + value := reflect.ValueOf(object) + insideType := value.Type().Elem() + length := value.Len() + if length > 0 { + insideType = reflect.ValueOf(value.Index(0).Interface()).Type() + } + if insideType.Kind() == reflect.Map { + // this is considered as an array of tables + tablesArray := make([]*Tree, 0, length) + for i := 0; i < length; i++ { + table := value.Index(i) + tree, err := toTree(table.Interface()) + if err != nil { + return nil, err + } + tablesArray = append(tablesArray, tree.(*Tree)) + } + return tablesArray, nil + } + + sliceType := typeFor(insideType.Kind()) + if sliceType == nil { + sliceType = insideType + } + + arrayValue := reflect.MakeSlice(reflect.SliceOf(sliceType), 0, length) + + for i := 0; i < length; i++ { + val := value.Index(i).Interface() + simpleValue, err := simpleValueCoercion(val) + if err != nil { + return nil, err + } + arrayValue = reflect.Append(arrayValue, reflect.ValueOf(simpleValue)) + } + return &tomlValue{value: arrayValue.Interface(), position: Position{}}, nil +} + +func toTree(object interface{}) (interface{}, error) { + value := reflect.ValueOf(object) + + if value.Kind() == reflect.Map { + values := map[string]interface{}{} + keys := value.MapKeys() + for _, key := range keys { + if key.Kind() != reflect.String { + if _, ok := key.Interface().(string); !ok { + return nil, fmt.Errorf("map key needs to be a string, not %T (%v)", key.Interface(), key.Kind()) + } + } + + v := value.MapIndex(key) + newValue, err := toTree(v.Interface()) + if err != nil { + return nil, err + } + values[key.String()] = newValue + } + return &Tree{values: values, position: Position{}}, nil + } + + if value.Kind() == reflect.Array || value.Kind() == reflect.Slice { + return sliceToTree(object) + } + + simpleValue, err := simpleValueCoercion(object) + if err != nil { + return nil, err + } + return &tomlValue{value: simpleValue, position: Position{}}, nil +} diff --git a/vendor/github.com/pelletier/go-toml/tomltree_write.go b/vendor/github.com/pelletier/go-toml/tomltree_write.go new file mode 100755 index 0000000..d322a97 --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/tomltree_write.go @@ -0,0 +1,289 @@ +package toml + +import ( + "bytes" + "fmt" + "io" + "math" + "reflect" + "sort" + "strconv" + "strings" + "time" +) + +// encodes a string to a TOML-compliant string value +func encodeTomlString(value string) string { + var b bytes.Buffer + + for _, rr := range value { + switch rr { + case '\b': + b.WriteString(`\b`) + case '\t': + b.WriteString(`\t`) + case '\n': + b.WriteString(`\n`) + case '\f': + b.WriteString(`\f`) + case '\r': + b.WriteString(`\r`) + case '"': + b.WriteString(`\"`) + case '\\': + b.WriteString(`\\`) + default: + intRr := uint16(rr) + if intRr < 0x001F { + b.WriteString(fmt.Sprintf("\\u%0.4X", intRr)) + } else { + b.WriteRune(rr) + } + } + } + return b.String() +} + +func tomlValueStringRepresentation(v interface{}, indent string, arraysOneElementPerLine bool) (string, error) { + switch value := v.(type) { + case uint64: + return strconv.FormatUint(value, 10), nil + case int64: + return strconv.FormatInt(value, 10), nil + case float64: + // Ensure a round float does contain a decimal point. Otherwise feeding + // the output back to the parser would convert to an integer. + if math.Trunc(value) == value { + return strings.ToLower(strconv.FormatFloat(value, 'f', 1, 32)), nil + } + return strings.ToLower(strconv.FormatFloat(value, 'f', -1, 32)), nil + case string: + return "\"" + encodeTomlString(value) + "\"", nil + case []byte: + b, _ := v.([]byte) + return tomlValueStringRepresentation(string(b), indent, arraysOneElementPerLine) + case bool: + if value { + return "true", nil + } + return "false", nil + case time.Time: + return value.Format(time.RFC3339), nil + case nil: + return "", nil + } + + rv := reflect.ValueOf(v) + + if rv.Kind() == reflect.Slice { + var values []string + for i := 0; i < rv.Len(); i++ { + item := rv.Index(i).Interface() + itemRepr, err := tomlValueStringRepresentation(item, indent, arraysOneElementPerLine) + if err != nil { + return "", err + } + values = append(values, itemRepr) + } + if arraysOneElementPerLine && len(values) > 1 { + stringBuffer := bytes.Buffer{} + valueIndent := indent + ` ` // TODO: move that to a shared encoder state + + stringBuffer.WriteString("[\n") + + for i, value := range values { + stringBuffer.WriteString(valueIndent) + stringBuffer.WriteString(value) + if i != len(values)-1 { + stringBuffer.WriteString(`,`) + } + stringBuffer.WriteString("\n") + } + + stringBuffer.WriteString(indent + "]") + + return stringBuffer.String(), nil + } + return "[" + strings.Join(values, ",") + "]", nil + } + return "", fmt.Errorf("unsupported value type %T: %v", v, v) +} + +func (t *Tree) writeTo(w io.Writer, indent, keyspace string, bytesCount int64, arraysOneElementPerLine bool) (int64, error) { + simpleValuesKeys := make([]string, 0) + complexValuesKeys := make([]string, 0) + + for k := range t.values { + v := t.values[k] + switch v.(type) { + case *Tree, []*Tree: + complexValuesKeys = append(complexValuesKeys, k) + default: + simpleValuesKeys = append(simpleValuesKeys, k) + } + } + + sort.Strings(simpleValuesKeys) + sort.Strings(complexValuesKeys) + + for _, k := range simpleValuesKeys { + v, ok := t.values[k].(*tomlValue) + if !ok { + return bytesCount, fmt.Errorf("invalid value type at %s: %T", k, t.values[k]) + } + + repr, err := tomlValueStringRepresentation(v.value, indent, arraysOneElementPerLine) + if err != nil { + return bytesCount, err + } + + if v.comment != "" { + comment := strings.Replace(v.comment, "\n", "\n"+indent+"#", -1) + start := "# " + if strings.HasPrefix(comment, "#") { + start = "" + } + writtenBytesCountComment, errc := writeStrings(w, "\n", indent, start, comment, "\n") + bytesCount += int64(writtenBytesCountComment) + if errc != nil { + return bytesCount, errc + } + } + + var commented string + if v.commented { + commented = "# " + } + writtenBytesCount, err := writeStrings(w, indent, commented, k, " = ", repr, "\n") + bytesCount += int64(writtenBytesCount) + if err != nil { + return bytesCount, err + } + } + + for _, k := range complexValuesKeys { + v := t.values[k] + + combinedKey := k + if keyspace != "" { + combinedKey = keyspace + "." + combinedKey + } + var commented string + if t.commented { + commented = "# " + } + + switch node := v.(type) { + // node has to be of those two types given how keys are sorted above + case *Tree: + tv, ok := t.values[k].(*Tree) + if !ok { + return bytesCount, fmt.Errorf("invalid value type at %s: %T", k, t.values[k]) + } + if tv.comment != "" { + comment := strings.Replace(tv.comment, "\n", "\n"+indent+"#", -1) + start := "# " + if strings.HasPrefix(comment, "#") { + start = "" + } + writtenBytesCountComment, errc := writeStrings(w, "\n", indent, start, comment) + bytesCount += int64(writtenBytesCountComment) + if errc != nil { + return bytesCount, errc + } + } + writtenBytesCount, err := writeStrings(w, "\n", indent, commented, "[", combinedKey, "]\n") + bytesCount += int64(writtenBytesCount) + if err != nil { + return bytesCount, err + } + bytesCount, err = node.writeTo(w, indent+" ", combinedKey, bytesCount, arraysOneElementPerLine) + if err != nil { + return bytesCount, err + } + case []*Tree: + for _, subTree := range node { + writtenBytesCount, err := writeStrings(w, "\n", indent, commented, "[[", combinedKey, "]]\n") + bytesCount += int64(writtenBytesCount) + if err != nil { + return bytesCount, err + } + + bytesCount, err = subTree.writeTo(w, indent+" ", combinedKey, bytesCount, arraysOneElementPerLine) + if err != nil { + return bytesCount, err + } + } + } + } + + return bytesCount, nil +} + +func writeStrings(w io.Writer, s ...string) (int, error) { + var n int + for i := range s { + b, err := io.WriteString(w, s[i]) + n += b + if err != nil { + return n, err + } + } + return n, nil +} + +// WriteTo encode the Tree as Toml and writes it to the writer w. +// Returns the number of bytes written in case of success, or an error if anything happened. +func (t *Tree) WriteTo(w io.Writer) (int64, error) { + return t.writeTo(w, "", "", 0, false) +} + +// ToTomlString generates a human-readable representation of the current tree. +// Output spans multiple lines, and is suitable for ingest by a TOML parser. +// If the conversion cannot be performed, ToString returns a non-nil error. +func (t *Tree) ToTomlString() (string, error) { + var buf bytes.Buffer + _, err := t.WriteTo(&buf) + if err != nil { + return "", err + } + return buf.String(), nil +} + +// String generates a human-readable representation of the current tree. +// Alias of ToString. Present to implement the fmt.Stringer interface. +func (t *Tree) String() string { + result, _ := t.ToTomlString() + return result +} + +// ToMap recursively generates a representation of the tree using Go built-in structures. +// The following types are used: +// +// * bool +// * float64 +// * int64 +// * string +// * uint64 +// * time.Time +// * map[string]interface{} (where interface{} is any of this list) +// * []interface{} (where interface{} is any of this list) +func (t *Tree) ToMap() map[string]interface{} { + result := map[string]interface{}{} + + for k, v := range t.values { + switch node := v.(type) { + case []*Tree: + var array []interface{} + for _, item := range node { + array = append(array, item.ToMap()) + } + result[k] = array + case *Tree: + result[k] = node.ToMap() + case *tomlValue: + result[k] = node.value + } + } + return result +} diff --git a/vendor/github.com/shopspring/decimal/README.md b/vendor/github.com/shopspring/decimal/README.md index be9cb5e..54c1a6b 100755 --- a/vendor/github.com/shopspring/decimal/README.md +++ b/vendor/github.com/shopspring/decimal/README.md @@ -24,30 +24,30 @@ Run `go get github.com/shopspring/decimal` package main import ( - "fmt" - "github.com/shopspring/decimal" + "fmt" + "github.com/shopspring/decimal" ) func main() { price, err := decimal.NewFromString("136.02") - if err != nil { - panic(err) - } + if err != nil { + panic(err) + } quantity := decimal.NewFromFloat(3) fee, _ := decimal.NewFromString(".035") taxRate, _ := decimal.NewFromString(".08875") - subtotal := price.Mul(quantity) + subtotal := price.Mul(quantity) - preTax := subtotal.Mul(fee.Add(decimal.NewFromFloat(1))) + preTax := subtotal.Mul(fee.Add(decimal.NewFromFloat(1))) - total := preTax.Mul(taxRate.Add(decimal.NewFromFloat(1))) + total := preTax.Mul(taxRate.Add(decimal.NewFromFloat(1))) fmt.Println("Subtotal:", subtotal) // Subtotal: 408.06 fmt.Println("Pre-tax:", preTax) // Pre-tax: 422.3421 - fmt.Println("Taxes:", total.Sub(preTax)) // Taxes: 37.482861375 + fmt.Println("Taxes:", total.Sub(preTax)) // Taxes: 37.482861375 fmt.Println("Total:", total) // Total: 459.824961375 fmt.Println("Tax rate:", total.Sub(preTax).Div(preTax)) // Tax rate: 0.08875 } diff --git a/vendor/github.com/shopspring/decimal/decimal.go b/vendor/github.com/shopspring/decimal/decimal.go index 1729b61..20aa608 100755 --- a/vendor/github.com/shopspring/decimal/decimal.go +++ b/vendor/github.com/shopspring/decimal/decimal.go @@ -55,10 +55,16 @@ var MarshalJSONWithoutQuotes = false // Zero constant, to make computations faster. var Zero = New(0, 1) +// fiveDec used in Cash Rounding +var fiveDec = New(5, 0) + var zeroInt = big.NewInt(0) var oneInt = big.NewInt(1) +var twoInt = big.NewInt(2) +var fourInt = big.NewInt(4) var fiveInt = big.NewInt(5) var tenInt = big.NewInt(10) +var twentyInt = big.NewInt(20) // Decimal represents a fixed-point decimal. It is immutable. // number = value * 10 ^ exp @@ -147,6 +153,22 @@ func NewFromString(value string) (Decimal, error) { }, nil } +// RequireFromString returns a new Decimal from a string representation +// or panics if NewFromString would have returned an error. +// +// Example: +// +// d := RequireFromString("-123.45") +// d2 := RequireFromString(".0001") +// +func RequireFromString(value string) Decimal { + dec, err := NewFromString(value) + if err != nil { + panic(err) + } + return dec +} + // NewFromFloat converts a float64 to Decimal. // // Example: @@ -154,24 +176,12 @@ func NewFromString(value string) (Decimal, error) { // NewFromFloat(123.45678901234567).String() // output: "123.4567890123456" // NewFromFloat(.00000000000000001).String() // output: "0.00000000000000001" // +// NOTE: some float64 numbers can take up about 300 bytes of memory in decimal representation. +// Consider using NewFromFloatWithExponent if space is more important than precision. +// // NOTE: this will panic on NaN, +/-inf func NewFromFloat(value float64) Decimal { - floor := math.Floor(value) - - // fast path, where float is an int - if floor == value && value <= math.MaxInt64 && value >= math.MinInt64 { - return New(int64(value), 0) - } - - // slow path: float is a decimal - // HACK(vadim): do this the slow hacky way for now because the logic to - // convert a base-2 float to base-10 properly is not trivial - str := strconv.FormatFloat(value, 'f', -1, 64) - dec, err := NewFromString(str) - if err != nil { - panic(err) - } - return dec + return NewFromFloatWithExponent(value, math.MinInt32) } // NewFromFloatWithExponent converts a float64 to Decimal, with an arbitrary @@ -182,15 +192,82 @@ func NewFromFloat(value float64) Decimal { // NewFromFloatWithExponent(123.456, -2).String() // output: "123.46" // func NewFromFloatWithExponent(value float64, exp int32) Decimal { - mul := math.Pow(10, -float64(exp)) - floatValue := value * mul - if math.IsNaN(floatValue) || math.IsInf(floatValue, 0) { - panic(fmt.Sprintf("Cannot create a Decimal from %v", floatValue)) + if math.IsNaN(value) || math.IsInf(value, 0) { + panic(fmt.Sprintf("Cannot create a Decimal from %v", value)) + } + + bits := math.Float64bits(value) + mant := bits & (1<<52 - 1) + exp2 := int32((bits >> 52) & (1<<11 - 1)) + sign := bits >> 63 + + if exp2 == 0 { + // specials + if mant == 0 { + return Decimal{} + } else { + // subnormal + exp2++ + } + } else { + // normal + mant |= 1 << 52 + } + + exp2 -= 1023 + 52 + + // normalizing base-2 values + for mant&1 == 0 { + mant = mant >> 1 + exp2++ + } + + // maximum number of fractional base-10 digits to represent 2^N exactly cannot be more than -N if N<0 + if exp < 0 && exp < exp2 { + if exp2 < 0 { + exp = exp2 + } else { + exp = 0 + } + } + + // representing 10^M * 2^N as 5^M * 2^(M+N) + exp2 -= exp + + temp := big.NewInt(1) + dMant := big.NewInt(int64(mant)) + + // applying 5^M + if exp > 0 { + temp = temp.SetInt64(int64(exp)) + temp = temp.Exp(fiveInt, temp, nil) + } else if exp < 0 { + temp = temp.SetInt64(-int64(exp)) + temp = temp.Exp(fiveInt, temp, nil) + dMant = dMant.Mul(dMant, temp) + temp = temp.SetUint64(1) + } + + // applying 2^(M+N) + if exp2 > 0 { + dMant = dMant.Lsh(dMant, uint(exp2)) + } else if exp2 < 0 { + temp = temp.Lsh(temp, uint(-exp2)) + } + + // rounding and downscaling + if exp > 0 || exp2 < 0 { + halfDown := new(big.Int).Rsh(temp, 1) + dMant = dMant.Add(dMant, halfDown) + dMant = dMant.Quo(dMant, temp) + } + + if sign == 1 { + dMant = dMant.Neg(dMant) } - dValue := big.NewInt(round(floatValue)) return Decimal{ - value: dValue, + value: dMant, exp: exp, } } @@ -272,6 +349,7 @@ func (d Decimal) Sub(d2 Decimal) Decimal { // Neg returns -d. func (d Decimal) Neg() Decimal { + d.ensureInitialized() val := new(big.Int).Neg(d.value) return Decimal{ value: val, @@ -557,6 +635,13 @@ func (d Decimal) StringFixedBank(places int32) string { return rounded.string(false) } +// StringFixedCash returns a Swedish/Cash rounded fixed-point string. For +// more details see the documentation at function RoundCash. +func (d Decimal) StringFixedCash(interval uint8) string { + rounded := d.RoundCash(interval) + return rounded.string(false) +} + // Round rounds the decimal to places decimal places. // If places < 0, it will round the integer part to the nearest 10^(-places). // @@ -606,7 +691,8 @@ func (d Decimal) RoundBank(places int32) Decimal { round := d.Round(places) remainder := d.Sub(round).Abs() - if remainder.value.Cmp(fiveInt) == 0 && round.value.Bit(0) != 0 { + half := New(5, -places-1) + if remainder.Cmp(half) == 0 && round.value.Bit(0) != 0 { if round.value.Sign() < 0 { round.value.Add(round.value, oneInt) } else { @@ -617,10 +703,62 @@ func (d Decimal) RoundBank(places int32) Decimal { return round } +// RoundCash aka Cash/Penny/öre rounding rounds decimal to a specific +// interval. The amount payable for a cash transaction is rounded to the nearest +// multiple of the minimum currency unit available. The following intervals are +// available: 5, 10, 15, 25, 50 and 100; any other number throws a panic. +// 5: 5 cent rounding 3.43 => 3.45 +// 10: 10 cent rounding 3.45 => 3.50 (5 gets rounded up) +// 15: 10 cent rounding 3.45 => 3.40 (5 gets rounded down) +// 25: 25 cent rounding 3.41 => 3.50 +// 50: 50 cent rounding 3.75 => 4.00 +// 100: 100 cent rounding 3.50 => 4.00 +// For more details: https://en.wikipedia.org/wiki/Cash_rounding +func (d Decimal) RoundCash(interval uint8) Decimal { + var iVal *big.Int + switch interval { + case 5: + iVal = twentyInt + case 10: + iVal = tenInt + case 15: + if d.exp < 0 { + // TODO: optimize and reduce allocations + orgExp := d.exp + dOne := New(10^-int64(orgExp), orgExp) + d2 := d + d2.exp = 0 + if d2.Mod(fiveDec).Equal(Zero) { + d2.exp = orgExp + d2 = d2.Sub(dOne) + d = d2 + } + } + iVal = tenInt + case 25: + iVal = fourInt + case 50: + iVal = twoInt + case 100: + iVal = oneInt + default: + panic(fmt.Sprintf("Decimal does not support this Cash rounding interval `%d`. Supported: 5, 10, 15, 25, 50, 100", interval)) + } + dVal := Decimal{ + value: iVal, + } + // TODO: optimize those calculations to reduce the high allocations (~29 allocs). + return d.Mul(dVal).Round(0).Div(dVal).Truncate(2) +} + // Floor returns the nearest integer value less than or equal to d. func (d Decimal) Floor() Decimal { d.ensureInitialized() + if d.exp >= 0 { + return d + } + exp := big.NewInt(10) // NOTE(vadim): must negate after casting to prevent int32 overflow @@ -634,6 +772,10 @@ func (d Decimal) Floor() Decimal { func (d Decimal) Ceil() Decimal { d.ensureInitialized() + if d.exp >= 0 { + return d + } + exp := big.NewInt(10) // NOTE(vadim): must negate after casting to prevent int32 overflow @@ -901,13 +1043,6 @@ func min(x, y int32) int32 { return x } -func round(n float64) int64 { - if n < 0 { - return int64(n - 0.5) - } - return int64(n + 0.5) -} - func unquoteIfQuoted(value interface{}) (string, error) { var bytes []byte @@ -928,8 +1063,8 @@ func unquoteIfQuoted(value interface{}) (string, error) { return string(bytes), nil } -// NullDecimal represents a fixed-point decimal. It is immutable. -// number = value * 10 ^ exp +// NullDecimal represents a nullable decimal with compatibility for +// scanning null values from the database. type NullDecimal struct { Decimal Decimal Valid bool @@ -952,3 +1087,21 @@ func (d NullDecimal) Value() (driver.Value, error) { } return d.Decimal.Value() } + +// UnmarshalJSON implements the json.Unmarshaler interface. +func (d *NullDecimal) UnmarshalJSON(decimalBytes []byte) error { + if string(decimalBytes) == "null" { + d.Valid = false + return nil + } + d.Valid = true + return d.Decimal.UnmarshalJSON(decimalBytes) +} + +// MarshalJSON implements the json.Marshaler interface. +func (d NullDecimal) MarshalJSON() ([]byte, error) { + if !d.Valid { + return []byte("null"), nil + } + return d.Decimal.MarshalJSON() +} diff --git a/vendor/github.com/skycoin/skycoin/ci-scripts/add-key.sh b/vendor/github.com/skycoin/skycoin/ci-scripts/add-key.sh new file mode 100755 index 0000000..b051270 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/ci-scripts/add-key.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +KEY_CHAIN=login.keychain +echo "security create keychain" +security create-keychain -p travis $KEY_CHAIN +# Make the keychain the default so identities are found +echo "security default-keychain" +security default-keychain -s $KEY_CHAIN +# Unlock the keychain +echo "unlock the keychain" +security unlock-keychain -p travis $KEY_CHAIN +# Set keychain locking timeout to 3600 seconds +echo "set keychain locking timeout to 3600" +security set-keychain-settings -t 3600 -u $KEY_CHAIN + +# Add certificates to keychain and allow codesign to access them +# security import ./electron/ci-scripts/certs/dist.cer -k $KEY_CHAIN -T /usr/bin/codesign +# security import ./electron/ci-scripts/certs/dev.cer -k $KEY_CHAIN -T /usr/bin/codesign +echo "import distp12" +security import $GOPATH/src/github.com/skycoin/skycoin/ci-scripts/certs/dist.p12 -k $KEY_CHAIN -P $CERT_PWD -A /usr/bin/codesign +# security import ./scripts/certs/dev.p12 -k $KEY_CHAIN -P DEVELOPMENT_KEY_PASSWORD -T /usr/bin/codesign +echo "set key partition list" +security set-key-partition-list -S apple-tool:,apple: -s -k travis $KEY_CHAIN + +echo "list keychains: " +security list-keychains +echo " ****** " + +echo "find indentities keychains: " +security find-identity -p codesigning ~/Library/Keychains/$KEY_CHAIN +echo " ****** " diff --git a/vendor/github.com/skycoin/skycoin/ci-scripts/build-wallet.sh b/vendor/github.com/skycoin/skycoin/ci-scripts/build-wallet.sh new file mode 100755 index 0000000..8c1210d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/ci-scripts/build-wallet.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +echo "start to build wallets..." +pushd "electron" +if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./build.sh 'linux/amd64 linux/arm' ;fi +if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./build.sh 'darwin/amd64' ;fi +ls release/ +popd \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/ci-scripts/certs/dist.p12 b/vendor/github.com/skycoin/skycoin/ci-scripts/certs/dist.p12 new file mode 100755 index 0000000000000000000000000000000000000000..03e1889ef6e0d12bad4246228edeb1ec2d209715 GIT binary patch literal 3139 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 WDkOox`GcX{H8jP+8v9KkAn;%9QTZ_d literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-disable-gui.sh b/vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-disable-gui.sh new file mode 100755 index 0000000..9c80af3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-disable-gui.sh @@ -0,0 +1,105 @@ +#!/bin/bash +# Runs "disable-gui"-mode tests against a skycoin node configured with -enable-gui=false +# and /api/v1/api endpoint should return 404 Not Found error + +# Set Script Name variable +SCRIPT=`basename ${BASH_SOURCE[0]}` + +# Find unused port +PORT="1024" +while $(lsof -Pi :$PORT -sTCP:LISTEN -t >/dev/null) ; do + PORT=$((PORT+1)) +done + +RPC_PORT="$PORT" +HOST="http://127.0.0.1:$PORT" +RPC_ADDR="http://127.0.0.1:$RPC_PORT" +MODE="disable-gui" +BINARY="skycoin-integration" +TEST="" +RUN_TESTS="" +# run go test with -v flag +VERBOSE="" + +usage () { + echo "Usage: $SCRIPT" + echo "Optional command line arguments" + echo "-t -- Test to run, api or cli; empty runs both tests" + echo "-v -- Run test with -v flag" + exit 1 +} + +while getopts "h?t:r:v" args; do + case $args in + h|\?) + usage; + exit;; + t ) TEST=${OPTARG};; + v ) VERBOSE="-v";; + r ) RUN_TESTS="-run ${OPTARG}";; + esac +done + +set -euxo pipefail + +DATA_DIR=$(mktemp -d -t skycoin-data-dir.XXXXXX) +WALLET_DIR="${DATA_DIR}/wallets" + +if [[ ! "$DATA_DIR" ]]; then + echo "Could not create temp dir" + exit 1 +fi + +# Compile the skycoin node +# We can't use "go run" because this creates two processes which doesn't allow us to kill it at the end +echo "compiling skycoin" +go build -o "$BINARY" cmd/skycoin/skycoin.go + +# Run skycoin node with pinned blockchain database +echo "starting skycoin node in background with http listener on $HOST" + +./skycoin-integration -disable-networking=true \ + -web-interface-port=$PORT \ + -download-peerlist=false \ + -db-path=./src/api/integration/testdata/blockchain-180.db \ + -db-read-only=true \ + -rpc-interface=true \ + -launch-browser=false \ + -data-dir="$DATA_DIR" \ + -wallet-dir="$WALLET_DIR" \ + -enable-wallet-api=true \ + -enable-seed-api=true \ + -enable-gui=false& +SKYCOIN_PID=$! + +echo "skycoin node pid=$SKYCOIN_PID" + +echo "sleeping for startup" +sleep 3 +echo "done sleeping" + +set +e + +if [[ -z $TEST || $TEST = "api" ]]; then + +SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE SKYCOIN_NODE_HOST=$HOST WALLET_DIR=$WALLET_DIR \ + go test ./src/api/integration/... -timeout=30s $VERBOSE $RUN_TESTS + +API_FAIL=$? + +fi + +echo "shutting down skycoin node" + +# Shutdown skycoin node +kill -s SIGINT $SKYCOIN_PID +wait $SKYCOIN_PID + +rm "$BINARY" + + +if [[ (-z $TEST || $TEST = "api") && $API_FAIL -ne 0 ]]; then + exit $API_FAIL +else + exit 0 +fi \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-disable-wallet-api.sh b/vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-disable-wallet-api.sh new file mode 100755 index 0000000..d49c697 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-disable-wallet-api.sh @@ -0,0 +1,105 @@ +#!/bin/bash +# Runs "disable-wallet-api"-mode tests against a skycoin node configured with -enable-wallet-api=false +# "disable-wallet-api"-mode confirms that no wallet related apis work, that the main index.html page +# does not load, and that a new wallet file is not created. + +# Set Script Name variable +SCRIPT=`basename ${BASH_SOURCE[0]}` + +# Find unused port +PORT="1024" +while $(lsof -Pi :$PORT -sTCP:LISTEN -t >/dev/null) ; do + PORT=$((PORT+1)) +done + +RPC_PORT="$PORT" +HOST="http://127.0.0.1:$PORT" +RPC_ADDR="http://127.0.0.1:$RPC_PORT" +MODE="disable-wallet-api" +BINARY="skycoin-integration" +UPDATE="" +# run go test with -v flag +VERBOSE="" +# run go test with -run flag +RUN_TESTS="" +FAILFAST="" + +COMMIT=$(git rev-parse HEAD) +BRANCH=$(git rev-parse --abbrev-ref HEAD) +GOLDFLAGS="-X main.Commit=${COMMIT} -X main.Branch=${BRANCH}" + +usage () { + echo "Usage: $SCRIPT" + echo "Optional command line arguments" + echo "-r -- Run test with -run flag" + echo "-u -- Update stable testdata" + echo "-v -- Run test with -v flag" + echo "-f -- Run test with -failfast flag" + exit 1 +} + +while getopts "h?t:r:uvf" args; do + case $args in + h|\?) + usage; + exit;; + r ) RUN_TESTS="-run ${OPTARG}";; + u ) UPDATE="--update";; + v ) VERBOSE="-v";; + f ) FAILFAST="-failfast" + esac +done + +set -euxo pipefail + +DATA_DIR=$(mktemp -d -t skycoin-data-dir.XXXXXX) +WALLET_DIR="${DATA_DIR}/wallets" + +if [[ ! "$DATA_DIR" ]]; then + echo "Could not create temp dir" + exit 1 +fi + +# Compile the skycoin node +# We can't use "go run" because this creates two processes which doesn't allow us to kill it at the end +echo "compiling skycoin" +go build -o "$BINARY" -ldflags "${GOLDFLAGS}" cmd/skycoin/skycoin.go + +# Run skycoin node with pinned blockchain database +echo "starting skycoin node in background with http listener on $HOST" + +./skycoin-integration -disable-networking=true \ + -web-interface-port=$PORT \ + -download-peerlist=false \ + -db-path=./src/api/integration/testdata/blockchain-180.db \ + -db-read-only=true \ + -rpc-interface=true \ + -launch-browser=false \ + -data-dir="$DATA_DIR" \ + -wallet-dir="$WALLET_DIR" \ + -enable-unversioned-api=true \ + -enable-wallet-api=false & +SKYCOIN_PID=$! + +echo "skycoin node pid=$SKYCOIN_PID" + +echo "sleeping for startup" +sleep 3 +echo "done sleeping" + +set +e + +SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE SKYCOIN_NODE_HOST=$HOST WALLET_DIR=$WALLET_DIR \ + go test ./src/api/integration/... $FAILFAST $UPDATE -timeout=30s $VERBOSE $RUN_TESTS + +FAIL=$? + +echo "shutting down skycoin node" + +# Shutdown skycoin node +kill -s SIGINT $SKYCOIN_PID +wait $SKYCOIN_PID + +rm "$BINARY" + +exit $FAIL diff --git a/vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-enable-seed-api.sh b/vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-enable-seed-api.sh new file mode 100755 index 0000000..3614699 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-enable-seed-api.sh @@ -0,0 +1,117 @@ +#!/bin/bash +# Runs "enable-seed-api"-mode tests against a skycoin node configured with -enable-seed-api=true +# and /api/v1/wallet/seed api endpoint should return coresponding seed + +# Set Script Name variable +SCRIPT=`basename ${BASH_SOURCE[0]}` + +# Find unused port +PORT="1024" +while $(lsof -Pi :$PORT -sTCP:LISTEN -t >/dev/null) ; do + PORT=$((PORT+1)) +done + +RPC_PORT="$PORT" +HOST="http://127.0.0.1:$PORT" +RPC_ADDR="http://127.0.0.1:$RPC_PORT" +MODE="enable-seed-api" +BINARY="skycoin-integration" +TEST="" +RUN_TESTS="" +# run go test with -v flag +VERBOSE="" + +usage () { + echo "Usage: $SCRIPT" + echo "Optional command line arguments" + echo "-t -- Test to run, api or cli; empty runs both tests" + echo "-v -- Run test with -v flag" + exit 1 +} + +while getopts "h?t:r:v" args; do + case $args in + h|\?) + usage; + exit;; + t ) TEST=${OPTARG};; + v ) VERBOSE="-v";; + r ) RUN_TESTS="-run ${OPTARG}";; + esac +done + +set -euxo pipefail + +DATA_DIR=$(mktemp -d -t skycoin-data-dir.XXXXXX) +WALLET_DIR="${DATA_DIR}/wallets" + +if [[ ! "$DATA_DIR" ]]; then + echo "Could not create temp dir" + exit 1 +fi + +# Compile the skycoin node +# We can't use "go run" because this creates two processes which doesn't allow us to kill it at the end +echo "compiling skycoin" +go build -o "$BINARY" cmd/skycoin/skycoin.go + +# Run skycoin node with pinned blockchain database +echo "starting skycoin node in background with http listener on $HOST" + +./skycoin-integration -disable-networking=true \ + -web-interface-port=$PORT \ + -download-peerlist=false \ + -db-path=./src/api/integration/testdata/blockchain-180.db \ + -db-read-only=true \ + -rpc-interface=true \ + -launch-browser=false \ + -data-dir="$DATA_DIR" \ + -wallet-dir="$WALLET_DIR" \ + -enable-wallet-api=true \ + -enable-seed-api=true & +SKYCOIN_PID=$! + +echo "skycoin node pid=$SKYCOIN_PID" + +echo "sleeping for startup" +sleep 3 +echo "done sleeping" + +set +e + +if [[ -z $TEST || $TEST = "api" ]]; then + +SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE SKYCOIN_NODE_HOST=$HOST WALLET_DIR=$WALLET_DIR \ + go test ./src/api/integration/... -timeout=30s $VERBOSE $RUN_TESTS + +API_FAIL=$? + +fi + +if [[ -z $TEST || $TEST = "cli" ]]; then + +# SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE RPC_ADDR=$RPC_ADDR \ +# go test ./src/cli/integration/... -timeout=30s $VERBOSE $RUN_TESTS + +CLI_FAIL=$? + +fi + + +echo "shutting down skycoin node" + +# Shutdown skycoin node +kill -s SIGINT $SKYCOIN_PID +wait $SKYCOIN_PID + +rm "$BINARY" + + +if [[ (-z $TEST || $TEST = "api") && $API_FAIL -ne 0 ]]; then + exit $API_FAIL +elif [[ (-z $TEST || $TEST = "cli") && $CLI_FAIL -ne 0 ]]; then + exit $CLI_FAIL +else + exit 0 +fi +# exit $FAIL diff --git a/vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-live.sh b/vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-live.sh new file mode 100755 index 0000000..525f975 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-live.sh @@ -0,0 +1,81 @@ +#!/bin/bash + +# Runs "live"-mode tests against a skycoin node that is already running +# "live" mode tests assume the blockchain data is active and may change at any time +# Data is checked for the appearance of correctness but the values themselves are not verified +# The skycoin node must be run with -enable-wallet-api=true + +#Set Script Name variable +SCRIPT=`basename ${BASH_SOURCE[0]}` +PORT="6420" +RPC_PORT="$PORT" +HOST="http://127.0.0.1:$PORT" +RPC_ADDR="http://127.0.0.1:$RPC_PORT" +MODE="live" +TEST="" +UPDATE="" +TIMEOUT="10m" +# run go test with -v flag +VERBOSE="" +# run go test with -run flag +RUN_TESTS="" +# run wallet tests +TEST_LIVE_WALLET="" +# run tests with csrf enabled +USE_CSRF="" +FAILFAST="" + +usage () { + echo "Usage: $SCRIPT" + echo "Optional command line arguments" + echo "-t -- Test to run, api or cli; empty runs both tests" + echo "-r -- Run test with -run flag" + echo "-u -- Update stable testdata" + echo "-v -- Run test with -v flag" + echo "-w -- Run wallet tests." + echo "-f -- Run test with -failfast flag" + echo "-c -- Run tests with CSRF enabled. If not set, node must be run with -disable-csrf" + exit 1 +} + +while getopts "h?t:r:uvwfc" args; do +case $args in + h|\?) + usage; + exit;; + t ) TEST=${OPTARG};; + r ) RUN_TESTS="-run ${OPTARG}";; + u ) UPDATE="--update";; + v ) VERBOSE="-v";; + w ) TEST_LIVE_WALLET="--test-live-wallet";; + f ) FAILFAST="-failfast";; + c ) USE_CSRF="1" + esac +done + +set -euxo pipefail + +echo "checking if skycoin node is running" + +HEALTH="$HOST/api/v1/health" + +http_proxy="" https_proxy="" wget -O- $HEALTH 2>&1 >/dev/null + +if [ ! $? -eq 0 ]; then + echo "Skycoin node is not running on $HOST" + exit 1 +fi + +if [[ -z $TEST || $TEST = "api" ]]; then + +SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE SKYCOIN_NODE_HOST=$HOST \ + go test ./src/api/integration/... $FAILFAST $UPDATE -timeout=$TIMEOUT $VERBOSE $RUN_TESTS $TEST_LIVE_WALLET + +fi + +if [[ -z $TEST || $TEST = "cli" ]]; then + +SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE RPC_ADDR=$RPC_ADDR SKYCOIN_NODE_HOST=$HOST USE_CSRF=$USE_CSRF \ + go test ./src/cli/integration/... $FAILFAST $UPDATE -timeout=$TIMEOUT $VERBOSE $RUN_TESTS $TEST_LIVE_WALLET + +fi diff --git a/vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-stable.sh b/vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-stable.sh new file mode 100755 index 0000000..20ff4e4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/ci-scripts/integration-test-stable.sh @@ -0,0 +1,132 @@ +#!/bin/bash +# Runs "stable"-mode tests against a skycoin node configured with a pinned database +# "stable" mode tests assume the blockchain data is static, in order to check API responses more precisely +# $TEST defines which test to run i.e, cli or api; If empty both are run + +# Set Script Name variable +SCRIPT=`basename ${BASH_SOURCE[0]}` + +# Find unused port +PORT="1024" +while $(lsof -Pi :$PORT -sTCP:LISTEN -t >/dev/null) ; do + PORT=$((PORT+1)) +done + +RPC_PORT="$PORT" +HOST="http://127.0.0.1:$PORT" +RPC_ADDR="http://127.0.0.1:$RPC_PORT" +MODE="stable" +BINARY="skycoin-integration" +TEST="" +UPDATE="" +# run go test with -v flag +VERBOSE="" +# run go test with -run flag +RUN_TESTS="" +# run tests with csrf enabled +USE_CSRF="" +DISABLE_CSRF="-disable-csrf" + +COMMIT=$(git rev-parse HEAD) +BRANCH=$(git rev-parse --abbrev-ref HEAD) +GOLDFLAGS="-X main.Commit=${COMMIT} -X main.Branch=${BRANCH}" + +usage () { + echo "Usage: $SCRIPT" + echo "Optional command line arguments" + echo "-t -- Test to run, api or cli; empty runs both tests" + echo "-r -- Run test with -run flag" + echo "-u -- Update stable testdata" + echo "-v -- Run test with -v flag" + echo "-c -- Run tests with CSRF enabled" + exit 1 +} + +while getopts "h?t:r:uvc" args; do + case $args in + h|\?) + usage; + exit;; + t ) TEST=${OPTARG};; + r ) RUN_TESTS="-run ${OPTARG}";; + u ) UPDATE="--update";; + v ) VERBOSE="-v";; + c ) USE_CSRF="1"; DISABLE_CSRF=""; + esac +done + +set -euxo pipefail + +DATA_DIR=$(mktemp -d -t skycoin-data-dir.XXXXXX) +WALLET_DIR="${DATA_DIR}/wallets" + +if [[ ! "$DATA_DIR" ]]; then + echo "Could not create temp dir" + exit 1 +fi + +# Compile the skycoin node +# We can't use "go run" because this creates two processes which doesn't allow us to kill it at the end +echo "compiling skycoin" +go build -o "$BINARY" -ldflags "${GOLDFLAGS}" cmd/skycoin/skycoin.go + +# Run skycoin node with pinned blockchain database +echo "starting skycoin node in background with http listener on $HOST" + +./skycoin-integration -disable-networking=true \ + -web-interface-port=$PORT \ + -download-peerlist=false \ + -db-path=./src/api/integration/testdata/blockchain-180.db \ + -db-read-only=true \ + -rpc-interface=true \ + -launch-browser=false \ + -data-dir="$DATA_DIR" \ + -enable-wallet-api=true \ + -wallet-dir="$WALLET_DIR" \ + $DISABLE_CSRF & +SKYCOIN_PID=$! + +echo "skycoin node pid=$SKYCOIN_PID" + +echo "sleeping for startup" +sleep 3 +echo "done sleeping" + +set +e + +if [[ -z $TEST || $TEST = "api" ]]; then + +SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE SKYCOIN_NODE_HOST=$HOST \ + go test ./src/api/integration/... $UPDATE -timeout=3m $VERBOSE $RUN_TESTS + +API_FAIL=$? + +fi + +if [[ -z $TEST || $TEST = "cli" ]]; then + +SKYCOIN_INTEGRATION_TESTS=1 SKYCOIN_INTEGRATION_TEST_MODE=$MODE RPC_ADDR=$RPC_ADDR USE_CSRF=$USE_CSRF \ + go test ./src/cli/integration/... $UPDATE -timeout=3m $VERBOSE $RUN_TESTS + +CLI_FAIL=$? + +fi + + +echo "shutting down skycoin node" + +# Shutdown skycoin node +kill -s SIGINT $SKYCOIN_PID +wait $SKYCOIN_PID + +rm "$BINARY" + + +if [[ (-z $TEST || $TEST = "api") && $API_FAIL -ne 0 ]]; then + exit $API_FAIL +elif [[ (-z $TEST || $TEST = "cli") && $CLI_FAIL -ne 0 ]]; then + exit $CLI_FAIL +else + exit 0 +fi +# exit $FAIL diff --git a/vendor/github.com/skycoin/skycoin/ci-scripts/ui-e2e.sh b/vendor/github.com/skycoin/skycoin/ci-scripts/ui-e2e.sh new file mode 100755 index 0000000..b5878b8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/ci-scripts/ui-e2e.sh @@ -0,0 +1,122 @@ +#!/bin/bash +# Runs UI e2e tests against a skycoin node configured with a pinned database + +# Set Script Name variable +SCRIPT=`basename ${BASH_SOURCE[0]}` + +# Find unused port +PORT="1024" +while $(lsof -Pi :$PORT -sTCP:LISTEN -t >/dev/null) ; do + PORT=$((PORT+1)) +done + +RPC_ADDR="127.0.0.1:$PORT" +HOST="http://127.0.0.1:$PORT" +BINARY="skycoin-integration" +E2E_PROXY_CONFIG=$(mktemp -t e2e-proxy.config.XXXXXX.js) + +COMMIT=$(git rev-parse HEAD) +BRANCH=$(git rev-parse --abbrev-ref HEAD) +GOLDFLAGS="-X main.Commit=${COMMIT} -X main.Branch=${BRANCH}" + +set -euxo pipefail + +DATA_DIR=$(mktemp -d -t skycoin-data-dir.XXXXXX) +WALLET_DIR="${DATA_DIR}/wallets" + +if [[ ! "$DATA_DIR" ]]; then + echo "Could not create temp dir" + exit 1 +fi + +# Create a dummy wallet with an address existing in the blockchain-180.db dataset +mkdir "$WALLET_DIR" +cat >"${WALLET_DIR}/test_wallet.wlt" <$E2E_PROXY_CONFIG < + +//Base64 char table function - used internally for decoding +unsigned int b64_int(unsigned int ch); + +// in_size : the number bytes to be encoded. +// Returns the recommended memory size to be allocated for the output buffer excluding the null byte +unsigned int b64e_size(unsigned int in_size); + +// in_size : the number bytes to be decoded. +// Returns the recommended memory size to be allocated for the output buffer +unsigned int b64d_size(unsigned int in_size); + +// in : buffer of "raw" binary to be encoded. +// in_len : number of bytes to be encoded. +// out : pointer to buffer with enough memory, user is responsible for memory allocation, receives null-terminated string +// returns size of output including null byte +unsigned int b64_encode(const unsigned char* in, unsigned int in_len, unsigned char* out); + +// in : buffer of base64 string to be decoded. +// in_len : number of bytes to be decoded. +// out : pointer to buffer with enough memory, user is responsible for memory allocation, receives "raw" binary +// returns size of output excluding null byte +unsigned int b64_decode(const unsigned char* in, unsigned int in_len, unsigned char* out); + +// file-version b64_encode +// Input : filenames +// returns size of output +unsigned int b64_encodef(char *InFile, char *OutFile); + +// file-version b64_decode +// Input : filenames +// returns size of output +unsigned int b64_decodef(char *InFile, char *OutFile); + diff --git a/vendor/github.com/skycoin/skycoin/include/cipher.address.go.h b/vendor/github.com/skycoin/skycoin/include/cipher.address.go.h new file mode 100755 index 0000000..462feb9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/include/cipher.address.go.h @@ -0,0 +1,14 @@ +/** + * Integrity checksum, 4-bytes long. + */ +typedef unsigned char cipher__Checksum[4]; + +/** + * Addresses of SKY accounts + */ +typedef struct { + unsigned char Version; ///< Address version identifier. + ///< Used to differentiate testnet + ///< vs mainnet addresses, for instance. + cipher__Ripemd160 Key; ///< Address hash identifier. +} cipher__Address; diff --git a/vendor/github.com/skycoin/skycoin/include/cipher.crypto.go.h b/vendor/github.com/skycoin/skycoin/include/cipher.crypto.go.h new file mode 100755 index 0000000..17f3923 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/include/cipher.crypto.go.h @@ -0,0 +1,20 @@ +/** + * Hash signed using a secret key, 65 bytes long. + */ +typedef unsigned char cipher__Sig[65]; + +/** + * Public key, 33-bytes long. + */ +typedef unsigned char cipher__PubKey[33]; + +/** + * Container type suitable for storing a variable number of + * public keys. + */ +typedef GoSlice_ cipher__PubKeySlice; + +/** + * Secret key, 32 bytes long. + */ +typedef unsigned char cipher__SecKey[32]; diff --git a/vendor/github.com/skycoin/skycoin/include/cipher.hash.go.h b/vendor/github.com/skycoin/skycoin/include/cipher.hash.go.h new file mode 100755 index 0000000..8746569 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/include/cipher.hash.go.h @@ -0,0 +1,9 @@ +/** + * Hash obtained using SHA256 algorithm, 32 bytes long. + */ +typedef unsigned char cipher__SHA256[32]; + +/** + * RIPEMD-160 hash. + */ +typedef unsigned char cipher__Ripemd160[20]; diff --git a/vendor/github.com/skycoin/skycoin/include/cipher.testsuite.testsuite.go.h b/vendor/github.com/skycoin/skycoin/include/cipher.testsuite.testsuite.go.h new file mode 100755 index 0000000..0802f98 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/include/cipher.testsuite.testsuite.go.h @@ -0,0 +1,99 @@ + +#ifndef CIPHER_TESTSUITE_TESTSUITE +#define CIPHER_TESTSUITE_TESTSUITE + +#include +#include + +#include "base64.h" +#include "json.h" +#include "libskycoin.h" +#include "skyerrors.h" +#include "skystring.h" +#include "skytest.h" + +#define BUFFER_SIZE 1024 +#define STRING_SIZE 128 +#define JSON_FILE_SIZE 4096 +#define JSON_BIG_FILE_SIZE 32768 + +// FIXME: Does not work on e.g. Windowa +#define FILEPATH_SEPARATOR "/" +#define TEST_DATA_DIR "src/cipher/testsuite/testdata/" +#define MANY_ADDRESSES_FILENAME "many-addresses.golden" +#define INPUT_HASHES_FILENAME "input-hashes.golden" +#define SEED_FILE_REGEX "seed-\d+.golden" + +//------------------------------------------------------------------------------ +// Data types +//------------------------------------------------------------------------------ + +// InputTestData contains hashes to be signed +typedef struct { + // Slice data is an array of cipher.SHA256's + GoSlice Hashes; +} InputTestData; + +// InputTestDataJSON contains hashes to be signed +typedef struct { + // Slice data is an array of GoString's + GoSlice Hashes; +} InputTestDataJSON; + +// KeysTestData contains address, public key, secret key and list of signatures +typedef struct { + cipher__Address Address; + cipher__SecKey Secret; + cipher__PubKey Public; + // Slice data is an array of cipher.Sig's + GoSlice Signatures; +} KeysTestData; + +// KeysTestDataJSON contains address, public key, secret key and list of signatures +typedef struct { + GoString Address; + GoString Secret; + GoString Public; + // Slice data is an array of GoString's + GoSlice Signatures; +} KeysTestDataJSON; + +// SeedTestDataJSON contains data generated by Seed +typedef struct { + GoString Seed; + // Slice data is an array of KeysTestDataJSON's + GoSlice Keys; +} SeedTestDataJSON; + +// SeedTestData contains data generated by Seed +typedef struct { + // Slice data is a bytes array buffer + GoSlice Seed; + // Slice data is an array of KeysTestData + GoSlice Keys; +} SeedTestData; + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +json_value* loadGoldenFile(const char* file); +InputTestDataJSON* jsonToInputTestData(json_value* json, InputTestDataJSON* input_data); +InputTestData* registerInputTestDataCleanup(InputTestData* input_data); +InputTestDataJSON* registerInputTestDataJSONCleanup(InputTestDataJSON* input_data); +void InputTestDataToJSON(InputTestData* input_data, InputTestDataJSON* json_data); +GoUint32 InputTestDataFromJSON(InputTestDataJSON* json_data, InputTestData* input_data); +KeysTestDataJSON* jsonToKeysTestData(json_value* json, KeysTestDataJSON* input_data); +KeysTestData* registerKeysTestDataCleanup(KeysTestData* input_data); +KeysTestDataJSON* registerKeysTestDataJSONCleanup(KeysTestDataJSON* input_data); +void KeysTestDataToJson(KeysTestData* input_data, KeysTestDataJSON* json_data); +GoUint32 KeysTestDataFromJSON(KeysTestDataJSON* json_data, KeysTestData* input_data); +SeedTestDataJSON* jsonToSeedTestData(json_value* json, SeedTestDataJSON* input_data); +SeedTestData* registerSeedTestDataCleanup(SeedTestData* input_data); +SeedTestDataJSON* registerSeedTestDataJSONCleanup(SeedTestDataJSON* input_data); +void SeedTestDataToJson(SeedTestData* input_data, SeedTestDataJSON* json_data); +GoUint32 SeedTestDataFromJSON(SeedTestDataJSON* json_data, SeedTestData* input_data); +void ValidateSeedData(SeedTestData* seedData, InputTestData* inputData); + +#endif + diff --git a/vendor/github.com/skycoin/skycoin/include/cli.create_rawtx.go.h b/vendor/github.com/skycoin/skycoin/include/cli.create_rawtx.go.h new file mode 100755 index 0000000..48dfa5c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/include/cli.create_rawtx.go.h @@ -0,0 +1,7 @@ +/** + * Structure used to specify amounts transferred in a transaction. + */ +typedef struct { + GoString_ Addr; ///< Sender / receipient address. + GoInt64_ Coins; ///< Amount transferred (e.g. measured in SKY) +} cli__SendAmount; diff --git a/vendor/github.com/skycoin/skycoin/include/coin.outputs.go.h b/vendor/github.com/skycoin/skycoin/include/coin.outputs.go.h new file mode 100755 index 0000000..2893219 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/include/coin.outputs.go.h @@ -0,0 +1,18 @@ +typedef struct{ + GoUint64_ Time; + GoUint64_ BkSeq; +} coin__UxHead; + +typedef GoSlice_ coin__UxArray; + +typedef struct{ + cipher__SHA256 SrcTransaction; + cipher__Address Address; + GoUint64_ Coins; + GoUint64_ Hours; +} coin__UxBody; + +typedef struct{ + coin__UxHead Head; + coin__UxBody Body; +} coin__UxOut; diff --git a/vendor/github.com/skycoin/skycoin/include/coin.transactions.go.h b/vendor/github.com/skycoin/skycoin/include/coin.transactions.go.h new file mode 100755 index 0000000..0fa66ca --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/include/coin.transactions.go.h @@ -0,0 +1,25 @@ +/** + * Skycoin transaction output. + * + * Instances are integral part of transactions included in blocks. + */ +typedef struct { + cipher__Address Address; ///< Receipient address. + GoInt64_ Coins; ///< Amount sent to the receipient address. + GoInt64_ Hours; ///< Amount of Coin Hours sent to the receipient address. +} coin__TransactionOutput; + +/** + * Skycoin transaction. + * + * Instances of this struct are included in blocks. + */ +typedef struct { + GoInt32_ Length; ///< Current transaction's length expressed in bytes. + GoInt8_ Type; ///< Transaction's version. When a node tries to process a transaction, it must verify whether it supports the transaction's type. This is intended to provide a way to update skycoin clients and servers without crashing the network. If the transaction is not compatible with the node, it should not process it. + cipher__SHA256 InnerHash; ///< It's a SHA256 hash of the inputs and outputs of the transaction. It is used to protect against transaction mutability. This means that the transaction cannot be altered after its creation. + + GoSlice_ Sigs; ///< A list of digital signiatures generated by the skycoin client using the private key. It is used by Skycoin servers to verify the authenticy of the transaction. Each input requires a different signature. + GoSlice_ In; ///< A list of references to unspent transaction outputs. Unlike other cryptocurrencies, such as Bitcoin, Skycoin unspent transaction outputs (UX) and Skycoin transactions (TX) are separated in the blockchain protocol, allowing for lighter transactions, thus reducing the broadcasting costs across the network. + GoSlice_ Out; ///< Outputs: A list of outputs created by the client, that will be recorded in the blockchain if transactions are confirmed. An output consists of a data structure representing an UTXT, which is composed by a Skycoin address to be sent to, the amount in Skycoin to be sent, and the amount of Coin Hours to be sent, and the SHA256 hash of the previous fields. +} coin__Transaction; diff --git a/vendor/github.com/skycoin/skycoin/include/json.h b/vendor/github.com/skycoin/skycoin/include/json.h new file mode 100755 index 0000000..c00193a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/include/json.h @@ -0,0 +1,283 @@ + +/* vim: set et ts=3 sw=3 sts=3 ft=c: + * + * Copyright (C) 2012, 2013, 2014 James McLaughlin et al. All rights reserved. + * https://github.com/udp/json-parser + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _JSON_H +#define _JSON_H + +#ifndef json_char + #define json_char char +#endif + +#ifndef json_int_t + #ifndef _MSC_VER + #include + #define json_int_t int64_t + #else + #define json_int_t __int64 + #endif +#endif + +#include + +#ifdef __cplusplus + + #include + + extern "C" + { + +#endif + +typedef struct +{ + unsigned long max_memory; + int settings; + + /* Custom allocator support (leave null to use malloc/free) + */ + + void * (* mem_alloc) (size_t, int zero, void * user_data); + void (* mem_free) (void *, void * user_data); + + void * user_data; /* will be passed to mem_alloc and mem_free */ + + size_t value_extra; /* how much extra space to allocate for values? */ + +} json_settings; + +#define json_enable_comments 0x01 + +typedef enum +{ + json_none, + json_object, + json_array, + json_integer, + json_double, + json_string, + json_boolean, + json_null + +} json_type; + +extern const struct _json_value json_value_none; + +typedef struct _json_object_entry +{ + json_char * name; + unsigned int name_length; + + struct _json_value * value; + +} json_object_entry; + +typedef struct _json_value +{ + struct _json_value * parent; + + json_type type; + + union + { + int boolean; + json_int_t integer; + double dbl; + + struct + { + unsigned int length; + json_char * ptr; /* null terminated */ + + } string; + + struct + { + unsigned int length; + + json_object_entry * values; + + #if defined(__cplusplus) && __cplusplus >= 201103L + decltype(values) begin () const + { return values; + } + decltype(values) end () const + { return values + length; + } + #endif + + } object; + + struct + { + unsigned int length; + struct _json_value ** values; + + #if defined(__cplusplus) && __cplusplus >= 201103L + decltype(values) begin () const + { return values; + } + decltype(values) end () const + { return values + length; + } + #endif + + } array; + + } u; + + union + { + struct _json_value * next_alloc; + void * object_mem; + + } _reserved; + + #ifdef JSON_TRACK_SOURCE + + /* Location of the value in the source JSON + */ + unsigned int line, col; + + #endif + + + /* Some C++ operator sugar */ + + #ifdef __cplusplus + + public: + + inline _json_value () + { memset (this, 0, sizeof (_json_value)); + } + + inline const struct _json_value &operator [] (int index) const + { + if (type != json_array || index < 0 + || ((unsigned int) index) >= u.array.length) + { + return json_value_none; + } + + return *u.array.values [index]; + } + + inline const struct _json_value &operator [] (const char * index) const + { + if (type != json_object) + return json_value_none; + + for (unsigned int i = 0; i < u.object.length; ++ i) + if (!strcmp (u.object.values [i].name, index)) + return *u.object.values [i].value; + + return json_value_none; + } + + inline operator const char * () const + { + switch (type) + { + case json_string: + return u.string.ptr; + + default: + return ""; + }; + } + + inline operator json_int_t () const + { + switch (type) + { + case json_integer: + return u.integer; + + case json_double: + return (json_int_t) u.dbl; + + default: + return 0; + }; + } + + inline operator BOOL () const + { + if (type != json_boolean) + return false; + + return u.boolean != 0; + } + + inline operator double () const + { + switch (type) + { + case json_integer: + return (double) u.integer; + + case json_double: + return u.dbl; + + default: + return 0; + }; + } + + #endif + +} json_value; + +json_value * json_parse (const json_char * json, + size_t length); + +#define json_error_max 128 +json_value * json_parse_ex (json_settings * settings, + const json_char * json, + size_t length, + char * error); + +void json_value_free (json_value *); + + +/* Not usually necessary, unless you used a custom mem_alloc and now want to + * use a custom mem_free. + */ +void json_value_free_ex (json_settings * settings, + json_value *); + + +#ifdef __cplusplus + } /* extern "C" */ +#endif + +#endif + + diff --git a/vendor/github.com/skycoin/skycoin/include/skycriterion.h b/vendor/github.com/skycoin/skycoin/include/skycriterion.h new file mode 100755 index 0000000..ecdf227 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/include/skycriterion.h @@ -0,0 +1,36 @@ +#ifndef LIBCRITERION_H +#define LIBCRITERION_H + +#include +#include + +#include "libskycoin.h" +#include "skyerrors.h" + +extern int cr_user_cipher__Address_eq(cipher__Address *addr1, cipher__Address *addr2); +extern char *cr_user_cipher__Address_tostr(cipher__Address *addr1); +extern int cr_user_cipher__Address_noteq(cipher__Address *addr1, cipher__Address *addr2); + +extern int cr_user_GoString_eq(GoString *string1, GoString *string2); +extern int cr_user_GoString__eq(GoString_ *string1, GoString_ *string2); + +extern char *cr_user_GoString_tostr(GoString *string); +extern char *cr_user_GoString__tostr(GoString_ *string) ; + +extern int cr_user_cipher__SecKey_eq(cipher__SecKey *seckey1, cipher__SecKey *seckey2); +extern char *cr_user_cipher__SecKey_tostr(cipher__SecKey *seckey1); + +extern int cr_user_cipher__Ripemd160_noteq(cipher__Ripemd160 *rp1, cipher__Ripemd160 *rp2); +extern int cr_user_cipher__Ripemd160_eq(cipher__Ripemd160 *rp1, cipher__Ripemd160 *rp2); +extern char *cr_user_cipher__Ripemd160_tostr(cipher__Ripemd160 *rp1); + +extern int cr_user_GoSlice_eq(GoSlice *slice1, GoSlice *slice2); +extern char *cr_user_GoSlice_tostr(GoSlice *slice1); +extern int cr_user_GoSlice_noteq(GoSlice *slice1, GoSlice *slice2); + +extern int cr_user_cipher__SHA256_noteq(cipher__SHA256 *sh1, cipher__SHA256 *sh2); +extern int cr_user_cipher__SHA256_eq(cipher__SHA256 *sh1, cipher__SHA256 *sh2); +extern char *cr_user_cipher__SHA256_tostr(cipher__SHA256 *sh1); + + +#endif //LIBCRITERION_H diff --git a/vendor/github.com/skycoin/skycoin/include/skyerrors.h b/vendor/github.com/skycoin/skycoin/include/skyerrors.h new file mode 100755 index 0000000..181de4b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/include/skyerrors.h @@ -0,0 +1,9 @@ + +#ifndef SKY_ERRORS_H +#define SKY_ERRORS_H + +#define SKY_OK 0 +#define SKY_ERROR 0xFFFFFFFF + +#endif + diff --git a/vendor/github.com/skycoin/skycoin/include/skystring.h b/vendor/github.com/skycoin/skycoin/include/skystring.h new file mode 100755 index 0000000..b49114a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/include/skystring.h @@ -0,0 +1,15 @@ +#ifndef LIBSKY_STRING_H +#define LIBSKY_STRING_H + +#include +#include +#include "libskycoin.h" + +extern void randBytes(GoSlice *bytes, size_t n); + +extern void strnhex(unsigned char* buf, char *str, int n); + +extern void strhex(unsigned char* buf, char *str); + + +#endif //LIBSKY_STRING_H diff --git a/vendor/github.com/skycoin/skycoin/include/skytest.h b/vendor/github.com/skycoin/skycoin/include/skytest.h new file mode 100755 index 0000000..ebd25d9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/include/skytest.h @@ -0,0 +1,48 @@ + +#include + +#include "json.h" +#include "skycriterion.h" + +#ifndef LIBSKY_TESTING_H +#define LIBSKY_TESTING_H + +/*---------------------------------------------------------------------- + * I/O + *---------------------------------------------------------------------- + */ +void fprintbuff(FILE *f, void *buff, size_t n); +json_value* loadJsonFile(const char* filename); + +/*---------------------------------------------------------------------- + * Memory handling + *---------------------------------------------------------------------- + */ +void * registerMemCleanup(void *p); +extern void toGoString(GoString_ *s, GoString *r); + +/*---------------------------------------------------------------------- + * JSON helpers + *---------------------------------------------------------------------- + */ +json_value* json_get_string(json_value* value, const char* key); +int json_set_string(json_value* value, const char* new_string_value); +int registerJsonFree(void *p); +void freeRegisteredJson(void *p); + +json_value* loadJsonFile(const char* filename); +int compareJsonValues(json_value* value1, json_value* value2); +json_value* get_json_value(json_value* node, const char* path, + json_type type); +json_value* get_json_value_not_strict(json_value* node, const char* path, + json_type type, int allow_null); + +/*---------------------------------------------------------------------- + * JSON helpers + *---------------------------------------------------------------------- + */ +void setup(void); +void teardown(void); + +#endif + diff --git a/vendor/github.com/skycoin/skycoin/include/skytypes.h b/vendor/github.com/skycoin/skycoin/include/skytypes.h new file mode 100755 index 0000000..b15d846 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/include/skytypes.h @@ -0,0 +1,155 @@ + +#ifndef SKYTYPES_H +#define SKYTYPES_H + +/** + * Go 8-bit signed integer values. + */ +typedef signed char GoInt8_; +/** + * Go 8-bit unsigned integer values. + */ +typedef unsigned char GoUint8_; +/** + * Go 16-bit signed integer values. + */ +typedef short GoInt16_; +/** + * Go 16-bit unsigned integer values. + */ +typedef unsigned short GoUint16_; +/** + * Go 32-bit signed integer values. + */ +typedef int GoInt32_; +/** + * Go 32-bit unsigned integer values. + */ +typedef unsigned int GoUint32_; +/** + * Go 64-bit signed integer values. + */ +typedef long long GoInt64_; +/** + * Go 64-bit unsigned integer values. + */ +typedef unsigned long long GoUint64_; +/** + * Go integer values aligned to the word size of the underlying architecture. + */ +typedef GoInt64_ GoInt_; +/** + * Go unsigned integer values aligned to the word size of the underlying + * architecture. + */ +typedef GoUint64_ GoUint_; +/** + * Architecture-dependent type representing instances Go `uintptr` type. + * Used as a generic representation of pointer types. + */ +typedef __SIZE_TYPE__ GoUintptr_; +/** + * Go single precision 32-bits floating point values. + */ +typedef float GoFloat32_; +/** + * Go double precision 64-bits floating point values. + */ +typedef double GoFloat64_; +/** + * Instances of Go `complex` type. + */ +typedef float _Complex GoComplex64_; +/** + * Instances of Go `complex` type. + */ +typedef double _Complex GoComplex128_; + +/* + static assertion to make sure the file is being used on architecture + at least with matching size of GoInt._ +*/ +typedef char _check_for_64_bit_pointer_matchingGoInt[sizeof(void*)==64/8 ? 1:-1]; + +/** + * Instances of Go `string` type. + */ +typedef struct { + const char *p; ///< Pointer to string characters buffer. + GoInt_ n; ///< String size not counting trailing `\0` char + ///< if at all included. +} GoString_; +/** + * Instances of Go `map` type. + */ +typedef void *GoMap_; +/** + * Instances of Go `chan` channel types. + */ +typedef void *GoChan_; +/** + * Instances of Go interface types. + */ +typedef struct { + void *t; ///< Pointer to the information of the concrete Go type + ///< bound to this interface reference. + void *v; ///< Pointer to the data corresponding to the value + ///< bound to this interface type. +} GoInterface_; +/** + * Instances of Go slices + */ +typedef struct { + void *data; ///< Pointer to buffer containing slice data. + GoInt_ len; ///< Number of items stored in slice buffer + GoInt_ cap; ///< Maximum number of items that fits in this slice + ///< considering allocated memory and item type's + ///< size. +} GoSlice_; + + +/** + * Memory handles returned back to the caller and manipulated + * internally by API functions. Usually used to avoid type dependencies + * with internal implementation types. + */ +typedef GoInt64_ Handle; + +/** + * Memory handle for internal object retrieving password to read + * encrypted wallets. + */ +typedef Handle PasswordReader__Handle; + +/** + * Memory handle to perform Skycoin RPC API calls + * encrypted wallets. + */ +typedef Handle WebRpcClient__Handle; + +/** + * Memory handle providing access to wallet data + */ +typedef Handle Wallet__Handle; + +/** + * Memory handle Options Handle +*/ +typedef Handle Options__Handle; + +/** + * Memory handle to access to Skycoin CLI configuration + */ +typedef Handle Config__Handle; + +#include "cipher.hash.go.h" +#include "cipher.crypto.go.h" +#include "cipher.address.go.h" +#include "cli.create_rawtx.go.h" +#include "coin.outputs.go.h" +#include "coin.transactions.go.h" +#include "wallet.entry.go.h" +#include "wallet.wallet.go.h" + +#endif + diff --git a/vendor/github.com/skycoin/skycoin/include/wallet.entry.go.h b/vendor/github.com/skycoin/skycoin/include/wallet.entry.go.h new file mode 100755 index 0000000..362bb76 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/include/wallet.entry.go.h @@ -0,0 +1,8 @@ +/** + * Wallet entry. + */ +typedef struct { + cipher__Address Address; ///< Wallet address. + cipher__PubKey Public; ///< Public key used to generate address. + cipher__SecKey Secret; ///< Secret key used to generate address. +} wallet__Entry; diff --git a/vendor/github.com/skycoin/skycoin/include/wallet.wallet.go.h b/vendor/github.com/skycoin/skycoin/include/wallet.wallet.go.h new file mode 100755 index 0000000..2605cde --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/include/wallet.wallet.go.h @@ -0,0 +1,19 @@ +/** + * Intermediate representation of a UxOut for sorting and spend choosing. + */ +typedef struct { + cipher__SHA256 Hash; ///< Hash of underlying UxOut. + GoInt64_ BkSeq; ///< Block height corresponding to the + ///< moment balance calculation is performed at. + cipher__Address Address; ///< Account holder address. + GoInt64_ Coins; ///< Coins amount (e.g. in SKY). + GoInt64_ Hours; ///< Balance of Coin Hours generated by underlying UxOut, depending on UxOut's head time. +} wallet__UxBalance; + +/** + * Internal representation of a Skycoin wallet. + */ +typedef struct { + GoMap_ Meta; ///< Records items that are not deterministic, like filename, lable, wallet type, secrets, etc. + GoSlice_ Entries; ///< Entries field stores the address entries that are deterministically generated from seed. +} wallet__Wallet; diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/README.md b/vendor/github.com/skycoin/skycoin/lib/cgo/README.md new file mode 100755 index 0000000..0acc28e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/README.md @@ -0,0 +1,101 @@ + +# Skycoin C client library + +[![Build Status](https://travis-ci.org/skycoin/skycoin.svg)](https://travis-ci.org/skycoin/skycoin) +[![GoDoc](https://godoc.org/github.com/skycoin/skycoin?status.svg)](https://godoc.org/github.com/skycoin/skycoin) +[![Go Report Card](https://goreportcard.com/badge/github.com/skycoin/skycoin)](https://goreportcard.com/report/github.com/skycoin/skycoin) + +Skycoin C client library (a.k.a libskycoin) provides access to Skycoin Core +internal and API functions for implementing third-party applications. + +## API Interface + +The API interface is defined in the [libskycoin header file](/include/libskycoin.h). + +## Building + +```sh +$ make build-libc +``` + +This command compiles wrappers partially generated by [cgogen](https://github.com/simelo/cgogen) tool. + +**Important** : `libskycoin.so` shared library +[can not be compiled on Windows 64 bit systems](t.me/skycoindev/925) due to +[lack of support for c-shared buildmode in golang 1.9](https://github.com/golang/go/issues/23582). +Make sure you have installed a go version higher than `1.10`. + +## Testing + +In order to test the C client libraries follow these steps + +- Install [Criterion](https://github.com/Snaipe/Criterion) + * locally by executing `make instal-deps-libc` command + * or by [installing Criterion system-wide](https://github.com/Snaipe/Criterion#packages) +- Run `make test-libc` command + +## Binary distribution + +The following files will be generated + +- `include/libskycoin.h` - Platform-specific header file for including libskycoin symbols in your app code +- `build/libskycoin.a` - Static library. +- `build/libskycoin.so` - Shared library object. + +In Mac OS X the linker will need extra `-framework CoreFoundation -framework Security` +options. + +In GNU/Linux distributions it will be necessary to load symbols in `pthread` +library e.g. by supplying extra `-lpthread` to the linker toolchain. + + +## API usage + +The C API (a.k.a libskycoin) exposes the internals of Skycoin core +classes and objects. This makes it suitable for writing third-party +applications and integrations. The notable differences between go lang +and C languages have consequences for the consumers of the API. + +### Data types + +Skycoin core objects may not be passed across API boundaries. Therefore +equivalent C types are defined for each Skycoin core struct that +might be needed by developers. The result of this translation is +available in [skytpes.h](../../include/skytypes.h). + +### Memory management + +Caller is responsible for allocating memory for objects meant to be +created by libskycoin API. Different approaches are chosen to avoid +segmentation faults and memory corruption. + +API functions perform memory allocation for output `GoString *` arguments. +In that case new memory is allocated dynamically by `libskycoin` code. +The caller C code is responsible for releasing that memory by passing the pointer +in `p` field in to [free()](http://en.cppreference.com/w/c/memory/free). + +The parameters corresponding to slices returned by `libskycoin` are +of `GoSlice *` type. Aforementioned approach is also implemented for slices +with `cap` field set to `0` prior to function invocation. +Otherwise their `data` field must always be +set consistently to point at the buffer memory address whereas +`cap` must always be set to the number of items of the +target element type that will fit in the memory +area reserved in advance for that buffer. If the size of the data +to be returned by a given libskycoin function exceeds the value +set in `cap` then libskycoin will copy `cap` items in available +memory space and will set `len` to a negative value representing +the number of extra items that could not be copied due to +overflow. + +For instance if `100` bytes have been allocated in advance +by the caller for a struct type that occupies `25` bytes then only +`4` items fit in that memory and `cap` should be set accordingly. +In the hypothetical situation that `libskycoin` result occupies +`125` bytes (e.g. a slice of same type including `5` items) then +the first `100` bytes will be copied onto C-allocated `data` buffer +and `len` field will be set to `-1` as a side-effect of function +invocation. The caller will be responsible for +[reallocating another memory buffer](http://en.cppreference.com/w/c/memory/realloc) +using a higher `cap` and retry. + diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/api.webrpc.client.go b/vendor/github.com/skycoin/skycoin/lib/cgo/api.webrpc.client.go new file mode 100755 index 0000000..a185aa0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/api.webrpc.client.go @@ -0,0 +1,47 @@ +package main + +import ( + webrpc "github.com/skycoin/skycoin/src/api/webrpc" +) + +/* + #include + #include + + #include "skytypes.h" +*/ +import "C" + +//export SKY_webrpc_NewClient +func SKY_webrpc_NewClient(_addr string, _arg1 *C.WebRpcClient__Handle) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + addr := _addr + __arg1, ____return_err := webrpc.NewClient(addr) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg1 = registerWebRpcClientHandle(__arg1) + } + return +} + +//export SKY_webrpc_Client_CSRF +func SKY_webrpc_Client_CSRF(_c C.WebRpcClient__Handle, _arg0 *C.GoString_) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + c, okc := lookupWebRpcClientHandle(_c) + if !okc { + ____error_code = SKY_ERROR + return + } + __arg0, ____return_err := c.CSRF() + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + copyString(__arg0, _arg0) + } + return +} diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/cipher.address.go b/vendor/github.com/skycoin/skycoin/lib/cgo/cipher.address.go new file mode 100755 index 0000000..8c1abeb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/cipher.address.go @@ -0,0 +1,145 @@ +package main + +/* +#include +#include + +#include "skytypes.h" + +*/ +import "C" + +import ( + "reflect" + "unsafe" + + "github.com/skycoin/skycoin/src/cipher" +) + +/** + * Functions in github.com/skycoin/skycoin/src/cipher/address.go + */ + +//export SKY_cipher_DecodeBase58Address +func SKY_cipher_DecodeBase58Address(_addr string, _arg1 *C.cipher__Address) uint32 { + addr, err := cipher.DecodeBase58Address(_addr) + errcode := libErrorCode(err) + if err == nil { + *_arg1 = *(*C.cipher__Address)(unsafe.Pointer(&addr)) + } + return errcode +} + +//export SKY_cipher_AddressFromPubKey +func SKY_cipher_AddressFromPubKey(_pubKey *C.cipher__PubKey, _arg1 *C.cipher__Address) { + pubKey := (*cipher.PubKey)(unsafe.Pointer(_pubKey)) + + addr := cipher.AddressFromPubKey(*pubKey) + *_arg1 = *(*C.cipher__Address)(unsafe.Pointer(&addr)) +} + +//export SKY_cipher_AddressFromSecKey +func SKY_cipher_AddressFromSecKey(_secKey *C.cipher__SecKey, _arg1 *C.cipher__Address) { + var secKey cipher.SecKey + secKey = *(*cipher.SecKey)(unsafe.Pointer(_secKey)) + addr := cipher.AddressFromSecKey(secKey) + *_arg1 = *(*C.cipher__Address)(unsafe.Pointer(&addr)) +} + +//export SKY_cipher_BitcoinDecodeBase58Address +func SKY_cipher_BitcoinDecodeBase58Address(_addr string, _arg1 *C.cipher__Address) uint32 { + addr, err := cipher.BitcoinDecodeBase58Address(_addr) + errcode := libErrorCode(err) + if err == nil { + *_arg1 = *(*C.cipher__Address)(unsafe.Pointer(&addr)) + } + return errcode +} + +//export SKY_cipher_Address_Bytes +func SKY_cipher_Address_Bytes(_addr *C.cipher__Address, _arg0 *C.GoSlice_) { + addr := (*cipher.Address)(unsafe.Pointer(_addr)) + bytes := addr.Bytes() + copyToGoSlice(reflect.ValueOf(bytes), _arg0) +} + +//export SKY_cipher_Address_BitcoinBytes +func SKY_cipher_Address_BitcoinBytes(_addr *C.cipher__Address, _arg0 *C.GoSlice_) { + addr := (*cipher.Address)(unsafe.Pointer(_addr)) + bytes := addr.BitcoinBytes() + copyToGoSlice(reflect.ValueOf(bytes), _arg0) +} + +//export SKY_cipher_Address_Verify +func SKY_cipher_Address_Verify(_addr *C.cipher__Address, _key *C.cipher__PubKey) uint32 { + addr := (*cipher.Address)(unsafe.Pointer(_addr)) + key := (*cipher.PubKey)(unsafe.Pointer(_key)) + err := addr.Verify(*key) + return libErrorCode(err) +} + +//export SKY_cipher_Address_String +func SKY_cipher_Address_String(_addr *C.cipher__Address, _arg1 *C.GoString_) { + addr := (*cipher.Address)(unsafe.Pointer(_addr)) + s := addr.String() + copyString(s, _arg1) +} + +//export SKY_cipher_Address_BitcoinString +func SKY_cipher_Address_BitcoinString(_addr *C.cipher__Address, _arg1 *C.GoString_) { + addr := (*cipher.Address)(unsafe.Pointer(_addr)) + s := addr.BitcoinString() + copyString(s, _arg1) +} + +//export SKY_cipher_Address_Checksum +func SKY_cipher_Address_Checksum(_addr *C.cipher__Address, _arg0 *C.cipher__Checksum) { + addr := (*cipher.Address)(unsafe.Pointer(_addr)) + cs := addr.Checksum() + C.memcpy(unsafe.Pointer(_arg0), unsafe.Pointer(&cs[0]), C.size_t(len(cs))) +} + +//export SKY_cipher_Address_BitcoinChecksum +func SKY_cipher_Address_BitcoinChecksum(_addr *C.cipher__Address, _arg0 *C.cipher__Checksum) { + addr := (*cipher.Address)(unsafe.Pointer(_addr)) + cs := addr.BitcoinChecksum() + C.memcpy(unsafe.Pointer(_arg0), unsafe.Pointer(&cs[0]), C.size_t(len(cs))) +} + +/* +Bitcoin Functions +*/ + +//export SKY_cipher_BitcoinAddressFromPubkey +func SKY_cipher_BitcoinAddressFromPubkey(_pubkey *C.cipher__PubKey, _arg1 *C.GoString_) { + pubkey := (*cipher.PubKey)(unsafe.Pointer(_pubkey)) + s := cipher.BitcoinAddressFromPubkey(*pubkey) + copyString(s, _arg1) +} + +//export SKY_cipher_BitcoinWalletImportFormatFromSeckey +func SKY_cipher_BitcoinWalletImportFormatFromSeckey(_seckey *C.cipher__SecKey, _arg1 *C.GoString_) { + seckey := (*cipher.SecKey)(unsafe.Pointer(_seckey)) + s := cipher.BitcoinWalletImportFormatFromSeckey(*seckey) + copyString(s, _arg1) +} + +//export SKY_cipher_BitcoinAddressFromBytes +func SKY_cipher_BitcoinAddressFromBytes(_b []byte, _arg1 *C.cipher__Address) uint32 { + addr, err := cipher.BitcoinAddressFromBytes(_b) + errcode := libErrorCode(err) + if err == nil { + *_arg1 = *(*C.cipher__Address)(unsafe.Pointer(&addr)) + } + return errcode +} + +//export SKY_cipher_SecKeyFromWalletImportFormat +func SKY_cipher_SecKeyFromWalletImportFormat(_input string, _arg1 *C.cipher__SecKey) uint32 { + seckey, err := cipher.SecKeyFromWalletImportFormat(_input) + errcode := libErrorCode(err) + if err == nil { + *_arg1 = *(*C.cipher__SecKey)(unsafe.Pointer(&seckey)) + } + return errcode +} diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/cipher.crypto.go b/vendor/github.com/skycoin/skycoin/lib/cgo/cipher.crypto.go new file mode 100755 index 0000000..15910e0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/cipher.crypto.go @@ -0,0 +1,278 @@ +package main + +import ( + cipher "github.com/skycoin/skycoin/src/cipher" + + "reflect" + "unsafe" +) + +/* + + #include + #include + + #include "skytypes.h" +*/ +import "C" + +//export SKY_cipher_PubKeySlice_Len +func SKY_cipher_PubKeySlice_Len(_slice *C.cipher__PubKeySlice) int { + slice := inplacePubKeySlice(_slice) + return slice.Len() +} + +//export SKY_cipher_PubKeySlice_Less +func SKY_cipher_PubKeySlice_Less(_slice *C.cipher__PubKeySlice, _i, _j int) bool { + slice := inplacePubKeySlice(_slice) + return slice.Less(_i, _j) +} + +//export SKY_cipher_PubKeySlice_Swap +func SKY_cipher_PubKeySlice_Swap(_slice *C.cipher__PubKeySlice, _i, _j int) { + slice := inplacePubKeySlice(_slice) + slice.Swap(_i, _j) +} + +//export SKY_cipher_RandByte +func SKY_cipher_RandByte(_n int, _arg1 *C.GoSlice_) { + b := cipher.RandByte(_n) + copyToGoSlice(reflect.ValueOf(b), _arg1) +} + +//export SKY_cipher_NewPubKey +func SKY_cipher_NewPubKey(_b []byte, _arg1 *C.cipher__PubKey) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + pubkey := cipher.NewPubKey(_b) + copyToBuffer(reflect.ValueOf(pubkey[:]), unsafe.Pointer(_arg1), uint(SizeofPubKey)) + return libErrorCode(nil) +} + +//export SKY_cipher_PubKeyFromHex +func SKY_cipher_PubKeyFromHex(_s string, _arg1 *C.cipher__PubKey) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + pubkey, err := cipher.PubKeyFromHex(_s) + errcode = libErrorCode(err) + if err == nil { + copyToBuffer(reflect.ValueOf(pubkey[:]), unsafe.Pointer(_arg1), uint(SizeofPubKey)) + } + return errcode +} + +//export SKY_cipher_PubKeyFromSecKey +func SKY_cipher_PubKeyFromSecKey(_seckey *C.cipher__SecKey, _arg1 *C.cipher__PubKey) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + seckey := (*cipher.SecKey)(unsafe.Pointer(_seckey)) + + pubkey := cipher.PubKeyFromSecKey(*seckey) + + copyToBuffer(reflect.ValueOf(pubkey[:]), unsafe.Pointer(_arg1), uint(SizeofPubKey)) + return libErrorCode(nil) +} + +//export SKY_cipher_PubKeyFromSig +func SKY_cipher_PubKeyFromSig(_sig *C.cipher__Sig, _hash *C.cipher__SHA256, _arg2 *C.cipher__PubKey) uint32 { + sig := (*cipher.Sig)(unsafe.Pointer(_sig)) + hash := (*cipher.SHA256)(unsafe.Pointer(_hash)) + + pubkey, err := cipher.PubKeyFromSig(*sig, *hash) + + errcode := libErrorCode(err) + if err == nil { + copyToBuffer(reflect.ValueOf(pubkey[:]), unsafe.Pointer(_arg2), uint(SizeofPubKey)) + } + return errcode +} + +//export SKY_cipher_PubKey_Verify +func SKY_cipher_PubKey_Verify(_pk *C.cipher__PubKey) uint32 { + pk := (*cipher.PubKey)(unsafe.Pointer(_pk)) + + err := pk.Verify() + errcode := libErrorCode(err) + return errcode +} + +//export SKY_cipher_PubKey_Hex +func SKY_cipher_PubKey_Hex(_pk *C.cipher__PubKey, _arg1 *C.GoString_) { + pk := (*cipher.PubKey)(unsafe.Pointer(_pk)) + s := pk.Hex() + copyString(s, _arg1) +} + +//export SKY_cipher_PubKey_ToAddressHash +func SKY_cipher_PubKey_ToAddressHash(_pk *C.cipher__PubKey, _arg0 *C.cipher__Ripemd160) { + pk := (*cipher.PubKey)(unsafe.Pointer(_pk)) + h := pk.ToAddressHash() + copyToBuffer(reflect.ValueOf(h[:]), unsafe.Pointer(_arg0), uint(SizeofRipemd160)) +} + +//export SKY_cipher_NewSecKey +func SKY_cipher_NewSecKey(_b []byte, _arg1 *C.cipher__SecKey) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + sk := cipher.NewSecKey(_b) + copyToBuffer(reflect.ValueOf(sk[:]), unsafe.Pointer(_arg1), uint(SizeofSecKey)) + return SKY_OK +} + +//export SKY_cipher_SecKeyFromHex +func SKY_cipher_SecKeyFromHex(_s string, _arg1 *C.cipher__SecKey) uint32 { + sk, err := cipher.SecKeyFromHex(_s) + errcode := libErrorCode(err) + if err == nil { + copyToBuffer(reflect.ValueOf(sk[:]), unsafe.Pointer(_arg1), uint(SizeofSecKey)) + } + return errcode +} + +//export SKY_cipher_SecKey_Verify +func SKY_cipher_SecKey_Verify(_sk *C.cipher__SecKey) uint32 { + sk := (*cipher.SecKey)(unsafe.Pointer(_sk)) + err := sk.Verify() + return libErrorCode(err) +} + +//export SKY_cipher_SecKey_Hex +func SKY_cipher_SecKey_Hex(_sk *C.cipher__SecKey, _arg1 *C.GoString_) { + sk := (*cipher.SecKey)(unsafe.Pointer(_sk)) + s := sk.Hex() + copyString(s, _arg1) +} + +//export SKY_cipher_ECDH +func SKY_cipher_ECDH(_pub *C.cipher__PubKey, _sec *C.cipher__SecKey, _arg2 *C.GoSlice_) { + pub := (*cipher.PubKey)(unsafe.Pointer(_pub)) + sec := (*cipher.SecKey)(unsafe.Pointer(_sec)) + b := cipher.ECDH(*pub, *sec) + copyToGoSlice(reflect.ValueOf(b), _arg2) +} + +//export SKY_cipher_NewSig +func SKY_cipher_NewSig(_b []byte, _arg1 *C.cipher__Sig) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + s := cipher.NewSig(_b) + copyToBuffer(reflect.ValueOf(s[:]), unsafe.Pointer(_arg1), uint(SizeofSig)) + + return SKY_OK +} + +//export SKY_cipher_SigFromHex +func SKY_cipher_SigFromHex(_s string, _arg1 *C.cipher__Sig) uint32 { + s, err := cipher.SigFromHex(_s) + errcode := libErrorCode(err) + if err == nil { + copyToBuffer(reflect.ValueOf(s[:]), unsafe.Pointer(_arg1), uint(SizeofSig)) + } + return errcode +} + +//export SKY_cipher_Sig_Hex +func SKY_cipher_Sig_Hex(_s *C.cipher__Sig, _arg1 *C.GoString_) { + s := (*cipher.Sig)(unsafe.Pointer(_s)) + copyString(s.Hex(), _arg1) +} + +//export SKY_cipher_SignHash +func SKY_cipher_SignHash(_hash *C.cipher__SHA256, _sec *C.cipher__SecKey, _arg2 *C.cipher__Sig) { + hash := (*cipher.SHA256)(unsafe.Pointer(_hash)) + sec := (*cipher.SecKey)(unsafe.Pointer(_sec)) + s := cipher.SignHash(*hash, *sec) + copyToBuffer(reflect.ValueOf(s[:]), unsafe.Pointer(_arg2), uint(SizeofSig)) +} + +//export SKY_cipher_ChkSig +func SKY_cipher_ChkSig(_address *C.cipher__Address, _hash *C.cipher__SHA256, _sig *C.cipher__Sig) uint32 { + address := inplaceAddress(_address) + hash := (*cipher.SHA256)(unsafe.Pointer(_hash)) + sig := (*cipher.Sig)(unsafe.Pointer(_sig)) + + err := cipher.ChkSig(*address, *hash, *sig) + return libErrorCode(err) +} + +//export SKY_cipher_VerifySignedHash +func SKY_cipher_VerifySignedHash(_sig *C.cipher__Sig, _hash *C.cipher__SHA256) uint32 { + hash := (*cipher.SHA256)(unsafe.Pointer(_hash)) + sig := (*cipher.Sig)(unsafe.Pointer(_sig)) + + err := cipher.VerifySignedHash(*sig, *hash) + return libErrorCode(err) +} + +//export SKY_cipher_VerifySignature +func SKY_cipher_VerifySignature(_pubkey *C.cipher__PubKey, _sig *C.cipher__Sig, _hash *C.cipher__SHA256) uint32 { + pubkey := (*cipher.PubKey)(unsafe.Pointer(_pubkey)) + sig := (*cipher.Sig)(unsafe.Pointer(_sig)) + hash := (*cipher.SHA256)(unsafe.Pointer(_hash)) + + err := cipher.VerifySignature(*pubkey, *sig, *hash) + return libErrorCode(err) +} + +//export SKY_cipher_GenerateKeyPair +func SKY_cipher_GenerateKeyPair(_arg0 *C.cipher__PubKey, _arg1 *C.cipher__SecKey) { + p, s := cipher.GenerateKeyPair() + copyToBuffer(reflect.ValueOf(p[:]), unsafe.Pointer(_arg0), uint(SizeofPubKey)) + copyToBuffer(reflect.ValueOf(s[:]), unsafe.Pointer(_arg1), uint(SizeofSecKey)) +} + +//export SKY_cipher_GenerateDeterministicKeyPair +func SKY_cipher_GenerateDeterministicKeyPair(_seed []byte, _arg1 *C.cipher__PubKey, _arg2 *C.cipher__SecKey) { + p, s := cipher.GenerateDeterministicKeyPair(_seed) + copyToBuffer(reflect.ValueOf(p[:]), unsafe.Pointer(_arg1), uint(SizeofPubKey)) + copyToBuffer(reflect.ValueOf(s[:]), unsafe.Pointer(_arg2), uint(SizeofSecKey)) +} + +//export SKY_cipher_DeterministicKeyPairIterator +func SKY_cipher_DeterministicKeyPairIterator(_seed []byte, _arg1 *C.GoSlice_, _arg2 *C.cipher__PubKey, _arg3 *C.cipher__SecKey) { + h, p, s := cipher.DeterministicKeyPairIterator(_seed) + + copyToGoSlice(reflect.ValueOf(h), _arg1) + copyToBuffer(reflect.ValueOf(p[:]), unsafe.Pointer(_arg2), uint(SizeofPubKey)) + copyToBuffer(reflect.ValueOf(s[:]), unsafe.Pointer(_arg3), uint(SizeofSecKey)) +} + +//export SKY_cipher_GenerateDeterministicKeyPairs +func SKY_cipher_GenerateDeterministicKeyPairs(_seed []byte, _n int, _arg2 *C.GoSlice_) { + sks := cipher.GenerateDeterministicKeyPairs(_seed, _n) + copyToGoSlice(reflect.ValueOf(sks), _arg2) +} + +//export SKY_cipher_GenerateDeterministicKeyPairsSeed +func SKY_cipher_GenerateDeterministicKeyPairsSeed(_seed []byte, _n int, _arg2 *C.GoSlice_, _arg3 *C.GoSlice_) { + h, sks := cipher.GenerateDeterministicKeyPairsSeed(_seed, _n) + copyToGoSlice(reflect.ValueOf(h), _arg2) + copyToGoSlice(reflect.ValueOf(sks), _arg3) +} + +//export SKY_cipher_TestSecKey +func SKY_cipher_TestSecKey(_seckey *C.cipher__SecKey) uint32 { + seckey := (*cipher.SecKey)(unsafe.Pointer(_seckey)) + + err := cipher.TestSecKey(*seckey) + return libErrorCode(err) +} + +//export SKY_cipher_TestSecKeyHash +func SKY_cipher_TestSecKeyHash(_seckey *C.cipher__SecKey, _hash *C.cipher__SHA256) uint32 { + seckey := (*cipher.SecKey)(unsafe.Pointer(_seckey)) + hash := (*cipher.SHA256)(unsafe.Pointer(_hash)) + + err := cipher.TestSecKeyHash(*seckey, *hash) + return libErrorCode(err) +} diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/cipher.hash.go b/vendor/github.com/skycoin/skycoin/lib/cgo/cipher.hash.go new file mode 100755 index 0000000..59ab70e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/cipher.hash.go @@ -0,0 +1,107 @@ +package main + +import ( + cipher "github.com/skycoin/skycoin/src/cipher" + + "reflect" + "unsafe" +) + +/* + + #include + #include + + #include "skytypes.h" +*/ +import "C" + +//export SKY_cipher_Ripemd160_Set +func SKY_cipher_Ripemd160_Set(_rd *C.cipher__Ripemd160, _b []byte) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + rd := (*cipher.Ripemd160)(unsafe.Pointer(_rd)) + + rd.Set(_b) + return libErrorCode(nil) +} + +//export SKY_cipher_HashRipemd160 +func SKY_cipher_HashRipemd160(_data []byte, _arg1 *C.cipher__Ripemd160) { + rd := cipher.HashRipemd160(_data) + + copyToBuffer(reflect.ValueOf(rd[:]), unsafe.Pointer(_arg1), uint(SizeofRipemd160)) +} + +//export SKY_cipher_SHA256_Set +func SKY_cipher_SHA256_Set(_g *C.cipher__SHA256, _b []byte) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + g := (*cipher.SHA256)(unsafe.Pointer(_g)) + + g.Set(_b) + return libErrorCode(nil) +} + +//export SKY_cipher_SHA256_Hex +func SKY_cipher_SHA256_Hex(_g *C.cipher__SHA256, _arg1 *C.GoString_) { + g := (*cipher.SHA256)(unsafe.Pointer(_g)) + copyString(g.Hex(), _arg1) +} + +//export SKY_cipher_SHA256_Xor +func SKY_cipher_SHA256_Xor(_g *C.cipher__SHA256, _b *C.cipher__SHA256, _arg1 *C.cipher__SHA256) { + g := (*cipher.SHA256)(unsafe.Pointer(_g)) + b := (*cipher.SHA256)(unsafe.Pointer(_b)) + + x := g.Xor(*b) + copyToBuffer(reflect.ValueOf(x[:]), unsafe.Pointer(_arg1), uint(SizeofSHA256)) +} + +//export SKY_cipher_SumSHA256 +func SKY_cipher_SumSHA256(_b []byte, _arg1 *C.cipher__SHA256) (errcode uint32) { + defer func() { + errcode = catchApiPanic(errcode, recover()) + }() + + h := cipher.SumSHA256(_b) + + copyToBuffer(reflect.ValueOf(h[:]), unsafe.Pointer(_arg1), uint(SizeofSHA256)) + return libErrorCode(nil) +} + +//export SKY_cipher_SHA256FromHex +func SKY_cipher_SHA256FromHex(_hs string, _arg1 *C.cipher__SHA256) uint32 { + h, err := cipher.SHA256FromHex(_hs) + errcode := libErrorCode(err) + if err == nil { + copyToBuffer(reflect.ValueOf(h[:]), unsafe.Pointer(_arg1), uint(SizeofSHA256)) + } + return errcode +} + +//export SKY_cipher_DoubleSHA256 +func SKY_cipher_DoubleSHA256(_b []byte, _arg1 *C.cipher__SHA256) { + h := cipher.DoubleSHA256(_b) + copyToBuffer(reflect.ValueOf(h[:]), unsafe.Pointer(_arg1), uint(SizeofSHA256)) +} + +//export SKY_cipher_AddSHA256 +func SKY_cipher_AddSHA256(_a *C.cipher__SHA256, _b *C.cipher__SHA256, _arg2 *C.cipher__SHA256) { + a := (*cipher.SHA256)(unsafe.Pointer(_a)) + b := (*cipher.SHA256)(unsafe.Pointer(_b)) + + h := cipher.AddSHA256(*a, *b) + copyToBuffer(reflect.ValueOf(h[:]), unsafe.Pointer(_arg2), uint(SizeofSHA256)) +} + +//export SKY_cipher_Merkle +func SKY_cipher_Merkle(_h0 *[]C.cipher__SHA256, _arg1 *C.cipher__SHA256) { + h0 := (*[]cipher.SHA256)(unsafe.Pointer(_h0)) + h := cipher.Merkle(*h0) + copyToBuffer(reflect.ValueOf(h[:]), unsafe.Pointer(_arg1), uint(SizeofSHA256)) +} diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/cli.create_rawtx.go b/vendor/github.com/skycoin/skycoin/lib/cgo/cli.create_rawtx.go new file mode 100755 index 0000000..fe416fb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/cli.create_rawtx.go @@ -0,0 +1,108 @@ +package main + +import ( + "unsafe" + + cipher "github.com/skycoin/skycoin/src/cipher" + cli "github.com/skycoin/skycoin/src/cli" + coin "github.com/skycoin/skycoin/src/coin" + wallet "github.com/skycoin/skycoin/src/wallet" +) + +/* + + #include + #include + + #include "../../include/skytypes.h" +*/ +import "C" + +//export SKY_cli_CreateRawTxFromWallet +func SKY_cli_CreateRawTxFromWallet(_c C.WebRpcClient__Handle, _walletFile, _chgAddr string, _toAddrs []C.cli__SendAmount, pwd string, _arg4 *C.coin__Transaction) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + c, okc := lookupWebRpcClientHandle(_c) + if !okc { + ____error_code = SKY_ERROR + return + } + walletFile := _walletFile + chgAddr := _chgAddr + toAddrs := *(*[]cli.SendAmount)(unsafe.Pointer(&_toAddrs)) + pr := cli.NewPasswordReader([]byte(pwd)) + __arg4, ____return_err := cli.CreateRawTxFromWallet(c, walletFile, chgAddr, toAddrs, pr) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg4 = *(*C.coin__Transaction)(unsafe.Pointer(__arg4)) + } + return +} + +//export SKY_cli_CreateRawTxFromAddress +func SKY_cli_CreateRawTxFromAddress(_c C.WebRpcClient__Handle, _addr, _walletFile, _chgAddr string, _toAddrs []C.cli__SendAmount, pwd string, _arg4 *C.coin__Transaction) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + c, okc := lookupWebRpcClientHandle(_c) + if !okc { + ____error_code = SKY_ERROR + return + } + addr := _addr + walletFile := _walletFile + chgAddr := _chgAddr + toAddrs := *(*[]cli.SendAmount)(unsafe.Pointer(&_toAddrs)) + pr := cli.NewPasswordReader([]byte(pwd)) + __arg4, ____return_err := cli.CreateRawTxFromAddress(c, addr, walletFile, chgAddr, toAddrs, pr) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg4 = *(*C.coin__Transaction)(unsafe.Pointer(__arg4)) + } + return +} + +//export SKY_cli_CreateRawTx +func SKY_cli_CreateRawTx(_c C.WebRpcClient__Handle, _wlt C.Wallet__Handle, _inAddrs []string, _chgAddr string, _toAddrs []C.cli__SendAmount, _password []byte, _arg6 *C.coin__Transaction) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + c, okc := lookupWebRpcClientHandle(_c) + if !okc { + ____error_code = SKY_ERROR + return + } + wlt, okwlt := lookupWalletHandle(_wlt) + if !okwlt { + ____error_code = SKY_ERROR + return + } + inAddrs := *(*[]string)(unsafe.Pointer(&_inAddrs)) + chgAddr := _chgAddr + toAddrs := *(*[]cli.SendAmount)(unsafe.Pointer(&_toAddrs)) + password := *(*[]byte)(unsafe.Pointer(&_password)) + __arg6, ____return_err := cli.CreateRawTx(c, wlt, inAddrs, chgAddr, toAddrs, password) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg6 = *(*C.coin__Transaction)(unsafe.Pointer(__arg6)) + } + return +} + +//export SKY_cli_NewTransaction +func SKY_cli_NewTransaction(_utxos []C.wallet__UxBalance, _keys []C.cipher__SecKey, _outs []C.coin__TransactionOutput, _arg3 *C.coin__Transaction) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + utxos := *(*[]wallet.UxBalance)(unsafe.Pointer(&_utxos)) + keys := *(*[]cipher.SecKey)(unsafe.Pointer(&_keys)) + outs := *(*[]coin.TransactionOutput)(unsafe.Pointer(&_outs)) + __arg3 := cli.NewTransaction(utxos, keys, outs) + *_arg3 = *(*C.coin__Transaction)(unsafe.Pointer(__arg3)) + return +} diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/coin.outputs.go b/vendor/github.com/skycoin/skycoin/lib/cgo/coin.outputs.go new file mode 100755 index 0000000..66aac97 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/coin.outputs.go @@ -0,0 +1,157 @@ +package main + +import ( + "reflect" + "unsafe" + + coin "github.com/skycoin/skycoin/src/coin" +) + +/* + #include + #include + + #include "skytypes.h" +*/ +import "C" + +//export SKY_coin_UxOut_Hash +func SKY_coin_UxOut_Hash(_uo *C.coin__UxOut, _arg0 *C.cipher__SHA256) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + uo := (*coin.UxOut)(unsafe.Pointer(_uo)) + __arg0 := uo.Hash() + *_arg0 = *(*C.cipher__SHA256)(unsafe.Pointer(&__arg0)) + return +} + +//export SKY_coin_UxOut_SnapshotHash +func SKY_coin_UxOut_SnapshotHash(_uo *C.coin__UxOut, _arg0 *C.cipher__SHA256) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + uo := (*coin.UxOut)(unsafe.Pointer(_uo)) + __arg0 := uo.SnapshotHash() + *_arg0 = *(*C.cipher__SHA256)(unsafe.Pointer(&__arg0)) + return +} + +//export SKY_coin_UxBody_Hash +func SKY_coin_UxBody_Hash(_ub *C.coin__UxBody, _arg0 *C.cipher__SHA256) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + ub := (*coin.UxBody)(unsafe.Pointer(_ub)) + __arg0 := ub.Hash() + *_arg0 = *(*C.cipher__SHA256)(unsafe.Pointer(&__arg0)) + return +} + +//export SKY_coin_UxOut_CoinHours +func SKY_coin_UxOut_CoinHours(_uo *C.coin__UxOut, _t uint64, _arg1 *uint64) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + uo := (*coin.UxOut)(unsafe.Pointer(_uo)) + t := _t + __arg1, ____return_err := uo.CoinHours(t) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg1 = __arg1 + } + return +} + +//export SKY_coin_UxArray_Hashes +func SKY_coin_UxArray_Hashes(_ua *C.coin__UxArray, _arg0 *C.GoSlice_) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + __arg0 := ua.Hashes() + copyToGoSlice(reflect.ValueOf(__arg0), _arg0) + return +} + +//export SKY_coin_UxArray_HasDupes +func SKY_coin_UxArray_HasDupes(_ua *C.coin__UxArray) bool { + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + return ua.HasDupes() +} + +//export SKY_coin_UxArray_Sort +func SKY_coin_UxArray_Sort(_ua *C.coin__UxArray) { + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + ua.Sort() +} + +//export SKY_coin_UxArray_Len +func SKY_coin_UxArray_Len(_ua *C.coin__UxArray) int { + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + return ua.Len() +} + +//export SKY_coin_UxArray_Less +func SKY_coin_UxArray_Less(_ua *C.coin__UxArray, _i, _j int) bool { + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + return ua.Less(_i, _j) +} + +//export SKY_coin_UxArray_Swap +func SKY_coin_UxArray_Swap(_ua *C.coin__UxArray, _i, _j int) { + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + ua.Swap(_i, _j) +} + +//export SKY_coin_UxArray_Coins +func SKY_coin_UxArray_Coins(_ua *C.coin__UxArray, _arg0 *uint64) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + __arg0, ____return_err := ua.Coins() + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg0 = __arg0 + } + return +} + +//export SKY_coin_UxArray_CoinHours +func SKY_coin_UxArray_CoinHours(_ua *C.coin__UxArray, _headTime uint64, _arg1 *uint64) (____error_code uint32) { + ____error_code = 0 + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + headTime := _headTime + __arg1, ____return_err := ua.CoinHours(headTime) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg1 = __arg1 + } + return +} + +//export SKY_coin_UxArray_Sub +func SKY_coin_UxArray_Sub(_ua *C.coin__UxArray, _other *C.coin__UxArray, _arg1 *C.coin__UxArray) { + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + other := *(*coin.UxArray)(unsafe.Pointer(_other)) + __arg1 := ua.Sub(other) + *_arg1 = *(*C.coin__UxArray)(unsafe.Pointer(&__arg1)) +} + +//export SKY_coin_UxArray_Add +func SKY_coin_UxArray_Add(_ua *C.coin__UxArray, _other *C.coin__UxArray, _arg1 *C.coin__UxArray) { + ua := *(*coin.UxArray)(unsafe.Pointer(_ua)) + other := *(*coin.UxArray)(unsafe.Pointer(_other)) + __arg1 := ua.Add(other) + *_arg1 = *(*C.coin__UxArray)(unsafe.Pointer(&__arg1)) +} diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/libsky_error.go b/vendor/github.com/skycoin/skycoin/lib/cgo/libsky_error.go new file mode 100755 index 0000000..b0aa4c0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/libsky_error.go @@ -0,0 +1,34 @@ +package main + +const ( + SKY_ERROR = 0xFFFFFFFF + SKY_OK = 0 +) + +func libErrorCode(err error) uint32 { + if err == nil { + return SKY_OK + } + // TODO: Implement error codes + return SKY_ERROR +} + +// Catch panic signals emitted by internal implementation +// of API methods. This function is mainly used in defer statements +// exceuted immediately before returning from API calls. +// +// @param errcode error status in function body +// @param err `recover()` result +// +func catchApiPanic(errcode uint32, err interface{}) uint32 { + if errcode != SKY_OK { + // Error already detected in function body + // Return right away + return errcode + } + if err != nil { + // TODO: Fix to be like retVal = libErrorCode(err) + return SKY_ERROR + } + return SKY_OK +} diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/libsky_handle.go b/vendor/github.com/skycoin/skycoin/lib/cgo/libsky_handle.go new file mode 100755 index 0000000..698bce7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/libsky_handle.go @@ -0,0 +1,115 @@ +package main + +/* + + #include + #include + + #include "skytypes.h" +*/ +import "C" + +import ( + "unsafe" + + webrpc "github.com/skycoin/skycoin/src/api/webrpc" + cli "github.com/skycoin/skycoin/src/cli" + wallet "github.com/skycoin/skycoin/src/wallet" +) + +type Handle uint64 + +var ( + handleMap = make(map[Handle]interface{}) +) + +func registerHandle(obj interface{}) Handle { + ptr := &obj + handle := *(*Handle)(unsafe.Pointer(&ptr)) + handleMap[handle] = obj + return handle +} + +func lookupHandle(handle Handle) (interface{}, bool) { + obj, ok := handleMap[handle] + return obj, ok +} + +func registerWebRpcClientHandle(obj *webrpc.Client) C.WebRpcClient__Handle { + return (C.WebRpcClient__Handle)(registerHandle(obj)) +} + +func lookupWebRpcClientHandle(handle C.WebRpcClient__Handle) (*webrpc.Client, bool) { + obj, ok := lookupHandle(Handle(handle)) + if ok { + if obj, isOK := (obj).(*webrpc.Client); isOK { + return obj, true + } + } + return nil, false +} + +func registerWalletHandle(obj *wallet.Wallet) C.Wallet__Handle { + return (C.Wallet__Handle)(registerHandle(obj)) +} + +func lookupWalletHandle(handle C.Wallet__Handle) (*wallet.Wallet, bool) { + obj, ok := lookupHandle(Handle(handle)) + if ok { + if obj, isOK := (obj).(*wallet.Wallet); isOK { + return obj, true + } + } + return nil, false +} + +func registerOptionsHandle(obj *wallet.Options) C.Options__Handle { + return (C.Options__Handle)(registerHandle(obj)) +} + +func lookupOptionsHandle(handle C.Options__Handle) (*wallet.Options, bool) { + obj, ok := lookupHandle(Handle(handle)) + if ok { + if obj, isOK := (obj).(*wallet.Options); isOK { + return obj, true + } + } + return nil, false +} + +func registerConfigHandle(obj *cli.Config) C.Config__Handle { + return (C.Config__Handle)(registerHandle(obj)) +} + +func lookupConfigHandle(handle C.Config__Handle) (*cli.Config, bool) { + obj, ok := lookupHandle(Handle(handle)) + if ok { + if obj, isOK := (obj).(*cli.Config); isOK { + return obj, true + } + } + return nil, false +} + +func registerPasswordReaderHandle(obj cli.PasswordReader) C.PasswordReader__Handle { + return (C.PasswordReader__Handle)(registerHandle(obj)) +} + +func lookupPasswordReaderHandle(handle C.PasswordReader__Handle) (cli.PasswordReader, bool) { + obj, ok := lookupHandle(Handle(handle)) + if ok { + if obj, isOK := (obj).(cli.PasswordReader); isOK { + return obj, true + } + } + return nil, false +} + +func closeHandle(handle Handle) { + delete(handleMap, handle) +} + +//export SKY_handle_close +func SKY_handle_close(handle C.Handle) { + closeHandle(Handle(handle)) +} diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/libsky_mem.go b/vendor/github.com/skycoin/skycoin/lib/cgo/libsky_mem.go new file mode 100755 index 0000000..74eca3f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/libsky_mem.go @@ -0,0 +1,123 @@ +package main + +import ( + "reflect" + "unsafe" + + "github.com/skycoin/skycoin/src/cipher" +) + +/* + #include + + #include "skytypes.h" + + void eos(char *str, int len) { + str[len] = 0; + } + +*/ +import "C" + +const ( + SizeofRipemd160 = unsafe.Sizeof(C.cipher__Ripemd160{}) + SizeOfAddress = unsafe.Sizeof(C.cipher__Address{}) + SizeofPubKey = unsafe.Sizeof(C.cipher__PubKey{}) + SizeofPubKeySlice = unsafe.Sizeof(C.cipher__PubKeySlice{}) + SizeofSecKey = unsafe.Sizeof(C.cipher__SecKey{}) + SizeofSig = unsafe.Sizeof(C.cipher__Sig{}) + SizeofChecksum = unsafe.Sizeof(C.cipher__Checksum{}) + SizeofSendAmount = unsafe.Sizeof(C.cli__SendAmount{}) + SizeofSHA256 = unsafe.Sizeof(C.cipher__SHA256{}) + SizeofTransactionOutput = unsafe.Sizeof(C.coin__TransactionOutput{}) + SizeofTransaction = unsafe.Sizeof(C.coin__Transaction{}) + SizeofWallet = unsafe.Sizeof(C.wallet__Wallet{}) + SizeofEntry = unsafe.Sizeof(C.wallet__Entry{}) + SizeofUxBalance = unsafe.Sizeof(C.wallet__UxBalance{}) +) + +/** + * Inplace memory references + */ + +func inplacePubKeySlice(p *C.cipher__PubKeySlice) *cipher.PubKeySlice { + return (*cipher.PubKeySlice)(unsafe.Pointer(p)) +} + +func inplaceAddress(p *C.cipher__Address) *cipher.Address { + return (*cipher.Address)(unsafe.Pointer(p)) +} + +func nop(p unsafe.Pointer) { + // Do nothing +} + +/** + * Copy helpers + */ + +func copyString(src string, dest *C.GoString_) { + strAddr := (*C.GoString_)(unsafe.Pointer(&src)) + srcLen := len(src) + dest.p = (*C.char)(C.memcpy( + C.malloc(C.size_t(srcLen+1)), + unsafe.Pointer(strAddr.p), + C.size_t(srcLen), + )) + C.eos(dest.p, C.int(srcLen)) + dest.n = C.GoInt_(srcLen) +} + +// Determine the memory address of a slice buffer and the +// size of its underlaying element type +func getBufferData(src reflect.Value) (bufferAddr unsafe.Pointer, elemSize C.size_t) { + firstElem := src.Index(0) + elemSize = C.size_t(firstElem.Type().Size()) + bufferAddr = unsafe.Pointer(src.Pointer()) + return +} + +// Copy n items in source slice/array/string onto C-managed memory buffer +// +// This function takes for granted that all values in src +// will be instances of the same type, and that src and dest +// element types will be aligned exactly the same +// in memory of the same size +func copyToBuffer(src reflect.Value, dest unsafe.Pointer, n uint) { + srcLen := src.Len() + if srcLen == 0 { + return + } + srcAddr, elemSize := getBufferData(src) + nop(C.memcpy(dest, srcAddr, C.size_t(n)*elemSize)) +} + +// Copy source slice/array/string onto instance of C.GSlice struct +// +// This function takes for granted that all values in src +// will be instances of the same type, and that src and dest +// element types will be aligned exactly the same +// in memory of the same size +func copyToGoSlice(src reflect.Value, dest *C.GoSlice_) { + srcLen := src.Len() + if srcLen == 0 { + dest.len = 0 + return + } + srcAddr, elemSize := getBufferData(src) + if dest.cap == 0 { + dest.data = C.malloc(C.size_t(srcLen) * elemSize) + dest.cap = C.GoInt_(srcLen) + } + n, overflow := srcLen, srcLen > int(dest.cap) + if overflow { + n = int(dest.cap) + } + nop(C.memcpy(dest.data, srcAddr, C.size_t(n)*elemSize)) + // Do not modify slice metadata until memory is actually copied + if overflow { + dest.len = dest.cap - C.GoInt_(srcLen) + } else { + dest.len = C.GoInt_(srcLen) + } +} diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/main.go b/vendor/github.com/skycoin/skycoin/lib/cgo/main.go new file mode 100755 index 0000000..8c04e9f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/main.go @@ -0,0 +1,6 @@ +package main + +// #cgo CFLAGS: -I../../include +import "C" + +func main() {} diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.address.c b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.address.c new file mode 100755 index 0000000..6d5d5f5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.address.c @@ -0,0 +1,337 @@ + +#include +#include + +#include +#include + +#include "libskycoin.h" +#include "skyerrors.h" +#include "skystring.h" +#include "skytest.h" + +#define SKYCOIN_ADDRESS_VALID "2GgFvqoyk9RjwVzj8tqfcXVXB4orBwoc9qv" + +TestSuite(cipher_address, .init = setup, .fini = teardown); + +// buffer big enough to hold all kind of data needed by test cases +unsigned char buff[1024]; + +Test(cipher_address, TestDecodeBase58Address) { + + GoString strAddr = { + SKYCOIN_ADDRESS_VALID, + 35 + }; + cipher__Address addr; + + cr_assert( SKY_cipher_DecodeBase58Address(strAddr, &addr) == SKY_OK, "accept valid address"); + + char tempStr[50]; + + // preceding whitespace is invalid + strcpy(tempStr, " "); + strcat(tempStr, SKYCOIN_ADDRESS_VALID); + strAddr.p = tempStr; + strAddr.n = strlen(tempStr); + cr_assert( SKY_cipher_DecodeBase58Address(strAddr, &addr) == SKY_ERROR, "preceding whitespace is invalid"); + + // preceding zeroes are invalid + strcpy(tempStr, "000"); + strcat(tempStr, SKYCOIN_ADDRESS_VALID); + strAddr.p = tempStr; + strAddr.n = strlen(tempStr); + cr_assert( SKY_cipher_DecodeBase58Address(strAddr, &addr) == SKY_ERROR, "leading zeroes prefix are invalid"); + + // trailing whitespace is invalid + strcpy(tempStr, SKYCOIN_ADDRESS_VALID); + strcat(tempStr, " "); + strAddr.p = tempStr; + strAddr.n = strlen(tempStr); + cr_assert( SKY_cipher_DecodeBase58Address(strAddr, &addr) == SKY_ERROR, " trailing whitespace is invalid"); + + // trailing zeroes are invalid + strcpy(tempStr, SKYCOIN_ADDRESS_VALID); + strcat(tempStr, "000"); + strAddr.p = tempStr; + strAddr.n = strlen(tempStr); + cr_assert( SKY_cipher_DecodeBase58Address(strAddr, &addr) == SKY_ERROR, " trailing zeroes suffix are invalid"); + +} + +Test(cipher_address, TestAddressFromBytes){ + GoString strAddr = { + SKYCOIN_ADDRESS_VALID, + 35 + }; + cipher__Address addr, addr2; + GoSlice bytes; + + bytes.data = buff; + bytes.len = 0; + bytes.cap = sizeof(buff); + + SKY_cipher_DecodeBase58Address(strAddr, &addr); + SKY_cipher_Address_BitcoinBytes(&addr, (GoSlice_ *)&bytes); + cr_assert(bytes.len > 0, "address bytes written"); + cr_assert(SKY_cipher_BitcoinAddressFromBytes(bytes, &addr2) == SKY_OK, "convert bytes to SKY address"); + + cr_assert(eq(type(cipher__Address), addr, addr2)); + + int bytes_len = bytes.len; + + bytes.len = bytes.len - 2; + cr_assert(SKY_cipher_BitcoinAddressFromBytes(bytes, &addr2) == SKY_ERROR, "no SKY address due to short bytes length"); + + bytes.len = bytes_len; + ((char *) bytes.data)[bytes.len - 1] = '2'; + cr_assert(SKY_cipher_BitcoinAddressFromBytes(bytes, &addr2) == SKY_ERROR, "no SKY address due to corrupted bytes"); +} + +Test(cipher_address, TestAddressVerify){ + + cipher__PubKey pubkey; + cipher__SecKey seckey; + cipher__PubKey pubkey2; + cipher__SecKey seckey2; + cipher__Address addr; + + SKY_cipher_GenerateKeyPair(&pubkey,&seckey); + SKY_cipher_AddressFromPubKey(&pubkey,&addr); + + // Valid pubkey+address + cr_assert( SKY_cipher_Address_Verify(&addr,&pubkey) == SKY_OK ,"Valid pubkey + address"); + + SKY_cipher_GenerateKeyPair(&pubkey,&seckey2); + // // Invalid pubkey + cr_assert( SKY_cipher_Address_Verify(&addr,&pubkey) == SKY_ERROR," Invalid pubkey"); + + // Bad version + addr.Version = 0x01; + cr_assert( SKY_cipher_Address_Verify(&addr,&pubkey) == SKY_ERROR," Bad version"); +} + +Test(cipher_address,TestAddressString){ + +} + +Test (cipher, TestBitcoinAddress1){ + + cipher__SecKey seckey; + cipher__PubKey pubkey; + + GoString str = { + "1111111111111111111111111111111111111111111111111111111111111111", + 64 + }, s1, s2; + + unsigned int error; + error = SKY_cipher_SecKeyFromHex(str, &seckey); + cr_assert(error == SKY_OK, "Create SecKey from Hex"); + error = SKY_cipher_PubKeyFromSecKey(&seckey,&pubkey); + cr_assert(error == SKY_OK, "Create PubKey from SecKey"); + + GoString pubkeyStr = { "034f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa", 66 }; + + SKY_cipher_PubKey_Hex(&pubkey, (GoString_ *) &s1); + registerMemCleanup((void *) s1.p); + cr_assert(eq(type(GoString), pubkeyStr, s1)); + + GoString bitcoinStr = {"1Q1pE5vPGEEMqRcVRMbtBK842Y6Pzo6nK9",34}; + SKY_cipher_BitcoinAddressFromPubkey(&pubkey, (GoString_ *) &s2); + registerMemCleanup((void *) s2.p); + cr_assert(eq(type(GoString), bitcoinStr, s2)); +} + +Test (cipher, TestBitcoinAddress2){ + + cipher__SecKey seckey; + cipher__PubKey pubkey ; + GoString str = { + "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", + 64 + }, s1, s2; + + unsigned int error; + error = SKY_cipher_SecKeyFromHex(str, &seckey); + cr_assert(error == SKY_OK, "Create SecKey from Hex"); + error = SKY_cipher_PubKeyFromSecKey(&seckey,&pubkey); + cr_assert(error == SKY_OK, "Create PubKey from SecKey"); + + char strBuff[101]; + GoString pubkeyStr = { + "02ed83704c95d829046f1ac27806211132102c34e9ac7ffa1b71110658e5b9d1bd", + 66 + }; + SKY_cipher_PubKey_Hex(&pubkey, (GoString_ *) &s1); + registerMemCleanup((void *) s1.p); + cr_assert(eq(type(GoString), pubkeyStr, s1)); + + GoString bitcoinStr = {"1NKRhS7iYUGTaAfaR5z8BueAJesqaTyc4a",34}; + SKY_cipher_BitcoinAddressFromPubkey(&pubkey, (GoString_ *) &s2); + registerMemCleanup((void *) s2.p); + cr_assert(eq(type(GoString), bitcoinStr, s2)); + +} + +Test (cipher, TestBitcoinAddress3){ + + cipher__SecKey seckey; + cipher__PubKey pubkey; + GoString str = { + "47f7616ea6f9b923076625b4488115de1ef1187f760e65f89eb6f4f7ff04b012", + 64 + }; + + unsigned int error; + error = SKY_cipher_SecKeyFromHex(str, &seckey); + cr_assert(error == SKY_OK, "Create SecKey from Hex"); + error = SKY_cipher_PubKeyFromSecKey(&seckey,&pubkey); + cr_assert(error == SKY_OK, "Create PubKey from SecKey"); + + char strBuff[101]; + GoString pubkeyStr = { + "032596957532fc37e40486b910802ff45eeaa924548c0e1c080ef804e523ec3ed3", + 66 + }, s1, s2; + + SKY_cipher_PubKey_Hex(&pubkey, (GoString_ *)&s1); + registerMemCleanup((void *) s1.p); + cr_assert(eq(type(GoString), pubkeyStr, s1)); + + GoString bitcoinStr = {"19ck9VKC6KjGxR9LJg4DNMRc45qFrJguvV",34}; + SKY_cipher_BitcoinAddressFromPubkey(&pubkey, (GoString_ *)&s2); + registerMemCleanup((void *) s2.p); + cr_assert(eq(type(GoString), bitcoinStr, s2)); + +} + +Test(cipher_address, TestBitcoinWIPRoundTrio){ + + cipher__SecKey seckey; + cipher__PubKey pubkey; + GoSlice slice; + slice.data = buff; + slice.cap = sizeof(buff); + slice.len = 33; + + SKY_cipher_GenerateKeyPair(&pubkey,&seckey); + + GoString_ wip1; + + SKY_cipher_BitcoinWalletImportFormatFromSeckey(&seckey,&wip1); + + cipher__SecKey seckey2; + + unsigned int err; + + err = SKY_cipher_SecKeyFromWalletImportFormat( (*((GoString *) &wip1)) ,&seckey2); + + GoString_ wip2; + + SKY_cipher_BitcoinWalletImportFormatFromSeckey(&seckey2,&wip2); + + cr_assert(err == SKY_OK); + + cr_assert(eq(u8[sizeof(cipher__SecKey)],seckey,seckey2)); + + GoString_ seckeyhex1; + GoString_ seckeyhex2; + + SKY_cipher_SecKey_Hex(&seckey,&seckeyhex1); + SKY_cipher_SecKey_Hex(&seckey2,&seckeyhex2); + cr_assert(eq(type(GoString), (*(GoString*)&seckeyhex1),(*(GoString*)&seckeyhex2) )); + cr_assert(eq(type(GoString), (*(GoString*)&wip1),(*(GoString*)&wip2) )); + +} + + +Test(cipher_address, TestBitcoinWIP ){ + + //wallet input format string + GoString wip[3]; + + wip[0].p = "KwntMbt59tTsj8xqpqYqRRWufyjGunvhSyeMo3NTYpFYzZbXJ5Hp"; + wip[1].p = "L4ezQvyC6QoBhxB4GVs9fAPhUKtbaXYUn8YTqoeXwbevQq4U92vN"; + wip[2].p = "KydbzBtk6uc7M6dXwEgTEH2sphZxSPbmDSz6kUUHi4eUpSQuhEbq"; + wip[0].n = 52; + wip[1].n = 52; + wip[2].n = 52; + + // // //the expected pubkey to generate + GoString_ pub[3]; + + pub[0].p="034f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa"; + pub[1].p="02ed83704c95d829046f1ac27806211132102c34e9ac7ffa1b71110658e5b9d1bd"; + pub[2].p="032596957532fc37e40486b910802ff45eeaa924548c0e1c080ef804e523ec3ed3"; + + pub[0].n = 66; + pub[1].n = 66; + pub[2].n = 66; + + + // //the expected addrss to generate + + GoString addr[3]; + + addr[0].p="1Q1pE5vPGEEMqRcVRMbtBK842Y6Pzo6nK9"; + addr[1].p="1NKRhS7iYUGTaAfaR5z8BueAJesqaTyc4a"; + addr[2].p="19ck9VKC6KjGxR9LJg4DNMRc45qFrJguvV"; + + addr[0].n =34; + addr[1].n=34; + addr[2].n=34; + + + for (int i = 0; i < 3; i++) + { + cipher__SecKey seckey; + unsigned int err; + + err = SKY_cipher_SecKeyFromWalletImportFormat(wip[i],&seckey); + cr_assert(err==SKY_OK); + + cipher__PubKey pubkey; + + SKY_cipher_PubKeyFromSecKey(&seckey,&pubkey); + + unsigned char * pubkeyhextmp; + GoString_ string; + + SKY_cipher_PubKey_Hex(&pubkey,&string); + cr_assert(eq(type(GoString), (*(GoString*)&string),(*(GoString*)&pub[i]) )); + GoString bitcoinAddr; + SKY_cipher_BitcoinAddressFromPubkey(&pubkey, (GoString_ *)&bitcoinAddr); + cr_assert(eq(type(GoString),addr[i],bitcoinAddr)); + + } +} + +Test(cipher_address, TestAddressBulk){ + + unsigned char buff[50]; + GoSlice slice = { buff, 0, 50 }; + + for (int i = 0; i < 1024; ++i) + { + randBytes(&slice,32); + cipher__PubKey pubkey; + cipher__SecKey seckey; + SKY_cipher_GenerateDeterministicKeyPair( slice,&pubkey,&seckey); + cipher__Address addr; + SKY_cipher_AddressFromPubKey(&pubkey,&addr); + unsigned int err; + err = SKY_cipher_Address_Verify(&addr,&pubkey); + cr_assert(err == SKY_OK); + GoString strAddr; + SKY_cipher_Address_String(&addr, (GoString_ *)&strAddr); + registerMemCleanup((void *) strAddr.p); + cipher__Address addr2; + + err = SKY_cipher_DecodeBase58Address(strAddr,&addr2); + cr_assert(err == SKY_OK); + cr_assert(eq(type(cipher__Address),addr,addr2)); + } + +} + diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.crypto.c b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.crypto.c new file mode 100755 index 0000000..b8e2b1d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.crypto.c @@ -0,0 +1,734 @@ + +#include +#include + +#include +#include + +#include "libskycoin.h" +#include "skyerrors.h" +#include "skystring.h" +#include "skytest.h" + +TestSuite(cipher_crypto, .init = setup, .fini = teardown); + +Test(cipher_crypto, TestNewPubKey) { + unsigned char buff[101]; + GoSlice slice; + cipher__PubKey pk; + + slice.data = buff; + slice.cap = 101; + + randBytes(&slice, 31); + slice.len = 31; + unsigned int errcode = SKY_cipher_NewPubKey(slice, &pk); + cr_assert(errcode == SKY_ERROR, "31 random bytes"); + + randBytes(&slice, 32); + errcode = SKY_cipher_NewPubKey(slice, &pk); + cr_assert(errcode == SKY_ERROR, "32 random bytes"); + + randBytes(&slice, 34); + errcode = SKY_cipher_NewPubKey(slice, &pk); + cr_assert(errcode == SKY_ERROR, "34 random bytes"); + + slice.len = 0; + errcode = SKY_cipher_NewPubKey(slice, &pk); + cr_assert(errcode == SKY_ERROR, "0 random bytes"); + + randBytes(&slice, 100); + errcode = SKY_cipher_NewPubKey(slice, &pk); + cr_assert(errcode == SKY_ERROR, "100 random bytes"); + + randBytes(&slice, 33); + errcode = SKY_cipher_NewPubKey(slice, &pk); + cr_assert(errcode == SKY_OK, "33 random bytes"); + + cr_assert(eq(u8[33], pk, buff)); +} + +Test(cipher_crypto, TestPubKeyFromHex) { + cipher__PubKey p, p1; + GoString s; + unsigned char buff[51]; + char sbuff[101]; + GoSlice slice = { (void *)buff, 0, 51 }; + unsigned int errcode; + + // Invalid hex + s.n = 0; + errcode = SKY_cipher_PubKeyFromHex(s, &p1); + cr_assert(errcode == SKY_ERROR, "TestPubKeyFromHex: Invalid hex. Empty string"); + + s.p = "cascs"; + s.n = strlen(s.p); + errcode = SKY_cipher_PubKeyFromHex(s, &p1); + cr_assert(errcode == SKY_ERROR, "TestPubKeyFromHex: Invalid hex. Bad chars"); + + // Invalid hex length + randBytes(&slice, 33); + errcode = SKY_cipher_NewPubKey(slice, &p); + cr_assert(errcode == SKY_OK); + strnhex(&p[0], sbuff, slice.len / 2); + s.p = sbuff; + s.n = strlen(s.p); + errcode = SKY_cipher_PubKeyFromHex(s, &p1); + cr_assert(errcode == SKY_ERROR, "TestPubKeyFromHex: Invalid hex length"); + + // Valid + strnhex(p, sbuff, sizeof(p)); + s.p = sbuff; + s.n = strlen(s.p); + errcode = SKY_cipher_PubKeyFromHex(s, &p1); + cr_assert(errcode == SKY_OK, "TestPubKeyFromHex: Valid. No panic."); + cr_assert(eq(u8[33], p, p1)); +} + +Test(cipher_crypto, TestPubKeyHex) { + cipher__PubKey p, p2; + GoString s3, s4; + unsigned char buff[50]; + GoSlice slice = { buff, 0, 50}; + unsigned int errcode; + + randBytes(&slice, 33); + errcode = SKY_cipher_NewPubKey(slice, &p); + cr_assert(errcode == SKY_OK); + SKY_cipher_PubKey_Hex(&p, (GoString_ *) &s3); + registerMemCleanup((void *) s3.p); + errcode = SKY_cipher_PubKeyFromHex(s3, &p2); + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[33], p, p2)); + + SKY_cipher_PubKey_Hex(&p2, (GoString_ *)&s4); + registerMemCleanup((void *) s4.p); + // TODO: Translate into cr_assert(eq(type(GoString), s3, s4)); + cr_assert(s3.n == s4.n); + cr_assert(eq(str, ((char *) s3.p), ((char *) s4.p))); +} + +Test(cipher_crypto, TestPubKeyVerify) { + cipher__PubKey p; + unsigned char buff[50]; + GoSlice slice = { buff, 0, 50 }; + unsigned int errcode; + + int i = 0; + for (; i < 10; i++) { + randBytes(&slice, 33); + errcode = SKY_cipher_NewPubKey(slice, &p); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_PubKey_Verify(&p); + cr_assert(errcode == SKY_ERROR); + } +} + +Test(cipher_crypto, TestPubKeyVerifyNil) { + cipher__PubKey p = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0 + }; + unsigned int errcode; + + errcode = SKY_cipher_PubKey_Verify(&p); + cr_assert(errcode == SKY_ERROR); +} + +Test(cipher_crypto, TestPubKeyVerifyDefault1) { + cipher__PubKey p; + cipher__SecKey s; + + SKY_cipher_GenerateKeyPair(&p, &s); + unsigned int errcode = SKY_cipher_PubKey_Verify(&p); + cr_assert(errcode == SKY_OK); +} + +Test(cipher_crypto, TestPubKeyVerifyDefault2) { + cipher__PubKey p; + cipher__SecKey s; + int i; + + for (i = 0; i < 1024; ++i) { + SKY_cipher_GenerateKeyPair(&p, &s); + unsigned int errcode = SKY_cipher_PubKey_Verify(&p); + cr_assert(errcode == SKY_OK); + } +} + +Test(cipher_crypto, TestPubKeyToAddressHash) { + cipher__PubKey p; + cipher__SecKey s; + cipher__Ripemd160 h; + + SKY_cipher_GenerateKeyPair(&p, &s); + SKY_cipher_PubKey_ToAddressHash(&p, &h); + // TODO: Translate code snippet + // + // x := sha256.Sum256(p[:]) + // x = sha256.Sum256(x[:]) + // rh := ripemd160.New() + // rh.Write(x[:]) + // y := rh.Sum(nil) + // assert.True(t, bytes.Equal(h[:], y)) + // + // +} + +Test(cipher_crypto, TestPubKeyToAddress) { + cipher__PubKey p; + cipher__SecKey s; + cipher__Address addr; + cipher__Ripemd160 h; + int errcode; + + SKY_cipher_GenerateKeyPair(&p, &s); + SKY_cipher_AddressFromPubKey(&p, &addr); + errcode = SKY_cipher_Address_Verify(&addr, &p); + cr_assert(errcode == SKY_OK); +} + +Test(cipher_crypto, TestPubKeyToAddress2) { + cipher__PubKey p; + cipher__SecKey s; + cipher__Address addr; + GoString_ addrStr; + int i, errcode; + + for (i = 0; i < 1024; i++) { + SKY_cipher_GenerateKeyPair(&p, &s); + SKY_cipher_AddressFromPubKey(&p, &addr); + //func (self Address) Verify(key PubKey) error + errcode = SKY_cipher_Address_Verify(&addr, &p); + cr_assert(errcode == SKY_OK); + SKY_cipher_Address_String(&addr, &addrStr); + registerMemCleanup((void *) addrStr.p); + errcode = SKY_cipher_DecodeBase58Address( + *((GoString*)&addrStr), &addr); + //func DecodeBase58Address(addr string) (Address, error) + cr_assert(errcode == SKY_OK); + } +} + +Test(cipher_crypto, TestMustNewSecKey) { + unsigned char buff[101]; + GoSlice b; + cipher__SecKey sk; + int errcode; + + b.data = buff; + b.cap = 101; + + randBytes(&b, 31); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 33); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 34); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 0); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 100); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 32); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[32], sk, buff)); +} + +Test(cipher_crypto, TestMustSecKeyFromHex) { + GoString str; + cipher__SecKey sk, sk1; + unsigned int buff[50]; + GoSlice b; + char strBuff[101]; + GoString s; + int errcode; + + // Invalid hex + s.p = ""; + s.n = strlen(s.p); + errcode = SKY_cipher_SecKeyFromHex(s, &sk); + cr_assert(errcode == SKY_ERROR); + + s.p = "cascs"; + s.n = strlen(s.p); + errcode = SKY_cipher_SecKeyFromHex(s, &sk); + cr_assert(errcode == SKY_ERROR); + + // Invalid hex length + b.data = buff; + b.cap = 50; + randBytes(&b, 32); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_OK); + strnhex(sk, strBuff, 16); + s.p = strBuff; + s.n = strlen(strBuff); + errcode = SKY_cipher_SecKeyFromHex(s, &sk1); + cr_assert(errcode == SKY_ERROR); + + // Valid + strnhex(sk, strBuff, 32); + s.p = strBuff; + s.n = strlen(strBuff); + errcode = SKY_cipher_SecKeyFromHex(s, &sk1); + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[32], sk, sk1)); +} + +Test(cipher_crypto, TestSecKeyHex) { + cipher__SecKey sk, sk2; + unsigned char buff[101]; + char strBuff[50]; + GoSlice b; + GoString str, h; + int errcode; + + b.data = buff; + b.cap = 50; + h.p = strBuff; + h.n = 0; + + randBytes(&b, 32); + SKY_cipher_NewSecKey(b, &sk); + SKY_cipher_SecKey_Hex(&sk, (GoString_ *)&str); + registerMemCleanup((void *) str.p); + + // Copy early to ensure memory is released + strncpy((char *) h.p, str.p, str.n); + h.n = str.n; + + errcode = SKY_cipher_SecKeyFromHex(h, &sk2); + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[32], sk, sk2)); +} + +Test(cipher_crypto, TestSecKeyVerify) { + cipher__SecKey sk; + cipher__PubKey pk; + int errcode; + + // Empty secret key should not be valid + memset(sk, 0, 32); + errcode = SKY_cipher_SecKey_Verify(&sk); + cr_assert(errcode == SKY_ERROR); + + // Generated sec key should be valid + SKY_cipher_GenerateKeyPair(&pk, &sk); + errcode = SKY_cipher_SecKey_Verify(&sk); + cr_assert(errcode == SKY_OK); + + // Random bytes are usually valid +} + +Test(cipher_crypto, TestECDHonce) { + cipher__PubKey pub1, pub2; + cipher__SecKey sec1, sec2; + unsigned char buff1[50], buff2[50]; + GoSlice_ buf1, buf2; + + buf1.data = buff1; + buf1.len = 0; + buf1.cap = 50; + buf2.data = buff2; + buf2.len = 0; + buf2.cap = 50; + + SKY_cipher_GenerateKeyPair(&pub1, &sec1); + SKY_cipher_GenerateKeyPair(&pub2, &sec2); + + SKY_cipher_ECDH(&pub2, &sec1, &buf1); + SKY_cipher_ECDH(&pub1, &sec2, &buf2); + + // ECDH shared secrets are 32 bytes SHA256 hashes in the end + cr_assert(eq(u8[32], buff1, buff2)); +} + +Test(cipher_crypto, TestECDHloop) { + int i; + cipher__PubKey pub1, pub2; + cipher__SecKey sec1, sec2; + unsigned char buff1[50], buff2[50]; + GoSlice_ buf1, buf2; + + buf1.data = buff1; + buf1.len = 0; + buf1.cap = 50; + buf2.data = buff2; + buf2.len = 0; + buf2.cap = 50; + + for (i = 0; i < 128; i++) { + SKY_cipher_GenerateKeyPair(&pub1, &sec1); + SKY_cipher_GenerateKeyPair(&pub2, &sec2); + SKY_cipher_ECDH(&pub2, &sec1, &buf1); + SKY_cipher_ECDH(&pub1, &sec2, &buf2); + cr_assert(eq(u8[32], buff1, buff2)); + } +} + +Test(cipher_crypto, TestNewSig) { + unsigned char buff[101]; + GoSlice b; + cipher__Sig s; + int errcode; + + b.data = buff; + b.len = 0; + b.cap = 101; + + randBytes(&b, 64); + errcode = SKY_cipher_NewSig(b, &s); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 66); + errcode = SKY_cipher_NewSig(b, &s); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 67); + errcode = SKY_cipher_NewSig(b, &s); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 0); + errcode = SKY_cipher_NewSig(b, &s); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 100); + errcode = SKY_cipher_NewSig(b, &s); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 65); + errcode = SKY_cipher_NewSig(b, &s); + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[65], buff, s)); +} + +Test(cipher_crypto, TestMustSigFromHex) { + unsigned char buff[101]; + char strBuff[257]; + GoSlice b = { buff, 0, 101 }; + GoString str; + cipher__Sig s, s2; + int errcode; + + // Invalid hex + str.p = ""; + str.n = strlen(str.p); + errcode = SKY_cipher_SigFromHex(str, &s2); + cr_assert(errcode == SKY_ERROR); + + str.p = "cascs"; + str.n = strlen(str.p); + errcode = SKY_cipher_SigFromHex(str, &s2); + cr_assert(errcode == SKY_ERROR); + + // Invalid hex length + randBytes(&b, 65); + errcode = SKY_cipher_NewSig(b, &s); + cr_assert(errcode == SKY_OK); + str.p = strBuff; + str.n = 0; + strnhex(s, (char *) str.p, 32); + str.n = strlen(str.p); + errcode = SKY_cipher_SigFromHex(str, &s2); + cr_assert(errcode == SKY_ERROR); + + // Valid + strnhex(s, (char *) str.p, 65); + str.n = strlen(str.p); + errcode = SKY_cipher_SigFromHex(str, &s2); + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[65], s2, s)); +} + +Test(cipher_crypto, TestSigHex) { + unsigned char buff[66]; + GoSlice b = {buff, 0, 66}; + char strBuff[150], + strBuff2[150]; + GoString str = {NULL, 0}, + str2 = {NULL, 0}; + cipher__Sig s, s2; + int errcode; + + randBytes(&b, 65); + errcode = SKY_cipher_NewSig(b, &s); + + cr_assert(errcode == SKY_OK); + SKY_cipher_Sig_Hex(&s, (GoString_ *) &str); + registerMemCleanup((void *) str.p); + errcode = SKY_cipher_SigFromHex(str, &s2); + + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[65], s, s2)); + + SKY_cipher_Sig_Hex(&s2, (GoString_ *) &str2); + registerMemCleanup((void *) str2.p); + cr_assert(eq(type(GoString), str, str2)); +} + +Test(cipher_crypto, TestChkSig) { + cipher__PubKey pk, pk2; + cipher__SecKey sk, sk2; + cipher__Address addr, addr2; + unsigned char buff[257]; + GoSlice b = { buff, 0, 257 }; + cipher__SHA256 h, h2; + cipher__Sig sig, sig2; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + errcode = SKY_cipher_PubKey_Verify(&pk); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_SecKey_Verify(&sk); + cr_assert(errcode == SKY_OK); + + SKY_cipher_AddressFromPubKey(&pk, &addr); + errcode = SKY_cipher_Address_Verify(&addr, &pk); + cr_assert(errcode == SKY_OK); + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h); + SKY_cipher_SignHash(&h, &sk, &sig); + errcode = SKY_cipher_ChkSig(&addr, &h, &sig); + cr_assert(errcode == SKY_OK); + + // Empty sig should be invalid + memset(&sig, 0, sizeof(sig)); + errcode = SKY_cipher_ChkSig(&addr, &h, &sig); + cr_assert(errcode == SKY_ERROR); + + // Random sigs should not pass + int i; + for (i = 0; i < 100; i++) { + randBytes(&b, 65); + SKY_cipher_NewSig(b, &sig); + errcode = SKY_cipher_ChkSig(&addr, &h, &sig); + cr_assert(errcode == SKY_ERROR); + } + + // Sig for one hash does not work for another hash + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h2); + SKY_cipher_SignHash(&h2, &sk, &sig2); + errcode = SKY_cipher_ChkSig(&addr, &h2, &sig2); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_ChkSig(&addr, &h, &sig2); + cr_assert(errcode == SKY_ERROR); + errcode = SKY_cipher_ChkSig(&addr, &h2, &sig); + cr_assert(errcode == SKY_ERROR); + + // Different secret keys should not create same sig + SKY_cipher_GenerateKeyPair(&pk2, &sk2); + SKY_cipher_AddressFromPubKey(&pk2, &addr2); + memset(&h, 0, sizeof(h)); + SKY_cipher_SignHash(&h, &sk, &sig); + SKY_cipher_SignHash(&h, &sk2, &sig2); + errcode = SKY_cipher_ChkSig(&addr, &h, &sig); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_ChkSig(&addr2, &h, &sig2); + cr_assert(errcode == SKY_OK); + cr_assert(not(eq(u8[65], sig, sig2))); + + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h); + SKY_cipher_SignHash(&h, &sk, &sig); + SKY_cipher_SignHash(&h, &sk2, &sig2); + errcode = SKY_cipher_ChkSig(&addr, &h, &sig); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_ChkSig(&addr2, &h, &sig2); + cr_assert(errcode == SKY_OK); + cr_assert(not(eq(u8[65], sig, sig2))); + + // Bad address should be invalid + errcode = SKY_cipher_ChkSig(&addr, &h, &sig2); + cr_assert(errcode == SKY_ERROR); + errcode = SKY_cipher_ChkSig(&addr2, &h, &sig); + cr_assert(errcode == SKY_ERROR); +} + +Test(cipher_crypto, TestSignHash) { + cipher__PubKey pk; + cipher__SecKey sk; + cipher__Address addr; + unsigned char buff[257]; + GoSlice b = { buff, 0, 101 }; + cipher__SHA256 h; + cipher__Sig sig, sig2; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + SKY_cipher_AddressFromPubKey(&pk, &addr); + + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h); + SKY_cipher_SignHash(&h, &sk, &sig); + memset((void *) &sig2, 0, 65); + cr_assert(not(eq(u8[65], sig2, sig))); + errcode = SKY_cipher_ChkSig(&addr, &h, &sig); + cr_assert(errcode == SKY_OK); +} + +Test(cipher_crypto, TestPubKeyFromSecKey) { + cipher__PubKey pk, pk2; + cipher__SecKey sk; + unsigned char buff[101]; + GoSlice b = { buff, 0, 101 }; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + errcode = SKY_cipher_PubKeyFromSecKey(&sk, &pk2); + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[33], pk, pk2)); + + memset(&sk, 0, sizeof(sk)); + errcode = SKY_cipher_PubKeyFromSecKey(&sk, &pk); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 99); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_ERROR); + + randBytes(&b, 31); + errcode = SKY_cipher_NewSecKey(b, &sk); + cr_assert(errcode == SKY_ERROR); +} + +Test(cipher_crypto, TestPubKeyFromSig) { + cipher__PubKey pk, pk2; + cipher__SecKey sk; + cipher__SHA256 h; + cipher__Sig sig; + unsigned char buff[257]; + GoSlice b = { buff, 0, 257 }; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h); + SKY_cipher_SignHash(&h, &sk, &sig); + errcode = SKY_cipher_PubKeyFromSig(&sig, &h, &pk2); + + cr_assert(errcode == SKY_OK); + cr_assert(eq(u8[33], pk, pk2)); + + memset(&sig, 0, sizeof(sig)); + errcode = SKY_cipher_PubKeyFromSig(&sig, &h, &pk2); + cr_assert(errcode == SKY_ERROR); +} + +Test(cipher_crypto, TestVerifySignature) { + cipher__PubKey pk, pk2; + cipher__SecKey sk, sk2; + cipher__SHA256 h, h2; + cipher__Sig sig, sig2; + unsigned char buff[257]; + GoSlice b = { buff, 0, 257 }; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h); + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h2); + SKY_cipher_SignHash(&h, &sk, &sig); + errcode = SKY_cipher_VerifySignature(&pk, &sig, &h); + cr_assert(errcode == SKY_OK); + + memset(&sig2, 0, sizeof(sig2)); + errcode = SKY_cipher_VerifySignature(&pk, &sig2, &h); + cr_assert(errcode == SKY_ERROR); + + errcode = SKY_cipher_VerifySignature(&pk, &sig, &h2); + cr_assert(errcode == SKY_ERROR); + + SKY_cipher_GenerateKeyPair(&pk2, &sk2); + errcode = SKY_cipher_VerifySignature(&pk2, &sig, &h); + cr_assert(errcode == SKY_ERROR); + + memset(&pk2, 0, sizeof(pk2)); + errcode = SKY_cipher_VerifySignature(&pk2, &sig, &h); + cr_assert(errcode == SKY_ERROR); +} + +Test(cipher_crypto, TestGenerateKeyPair) { + cipher__PubKey pk; + cipher__SecKey sk; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + errcode = SKY_cipher_PubKey_Verify(&pk); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_SecKey_Verify(&sk); + cr_assert(errcode == SKY_OK); +} + +Test(cipher_crypto, TestGenerateDeterministicKeyPair) { + cipher__PubKey pk; + cipher__SecKey sk; + unsigned char buff[33]; + GoSlice seed = { buff, 0, 33 }; + int errcode; + + // TODO -- deterministic key pairs are useless as is because we can't + // generate pair n+1, only pair 0 + randBytes(&seed, 32); + SKY_cipher_GenerateDeterministicKeyPair(seed, &pk, &sk); + errcode = SKY_cipher_PubKey_Verify(&pk); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_SecKey_Verify(&sk); + cr_assert(errcode == SKY_OK); + + SKY_cipher_GenerateDeterministicKeyPair(seed, &pk, &sk); + errcode = SKY_cipher_PubKey_Verify(&pk); + cr_assert(errcode == SKY_OK); + errcode = SKY_cipher_SecKey_Verify(&sk); + cr_assert(errcode == SKY_OK); +} + +Test(cipher_crypto, TestSecKeTest) { + cipher__PubKey pk; + cipher__SecKey sk; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + errcode = SKY_cipher_TestSecKey(&sk); + cr_assert(errcode == SKY_OK); + + memset(&sk, 0, sizeof(sk)); + errcode = SKY_cipher_TestSecKey(&sk); + cr_assert(errcode == SKY_ERROR); +} + +Test(cipher_crypto, TestSecKeyHashTest) { + cipher__PubKey pk; + cipher__SecKey sk; + cipher__SHA256 h; + unsigned char buff[257]; + GoSlice b = { buff, 0, 257}; + int errcode; + + SKY_cipher_GenerateKeyPair(&pk, &sk); + randBytes(&b, 256); + SKY_cipher_SumSHA256(b, &h); + errcode = SKY_cipher_TestSecKeyHash(&sk, &h); + cr_assert(errcode == SKY_OK); + + + memset(&sk, 0, sizeof(sk)); + errcode = SKY_cipher_TestSecKeyHash(&sk, &h); + cr_assert(errcode == SKY_ERROR); +} + diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.hash.c b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.hash.c new file mode 100755 index 0000000..0021920 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.hash.c @@ -0,0 +1,345 @@ +#include +#include + +#include +#include + +#include "libskycoin.h" +#include "skyerrors.h" +#include "skystring.h" +#include "skytest.h" + +TestSuite(cipher_hash, .init = setup, .fini = teardown); + +void freshSumRipemd160(GoSlice bytes, cipher__Ripemd160 *rp160){ + + SKY_cipher_HashRipemd160(bytes, rp160); +} + +void freshSumSHA256(GoSlice bytes, cipher__SHA256 *sha256){ + + SKY_cipher_SumSHA256(bytes, sha256); +} + +Test(cipher,TestHashRipemd160){ + cipher__Ripemd160 tmp; + cipher__Ripemd160 r; + cipher__Ripemd160 r2; + unsigned char buff[257]; + GoSlice slice = { buff, 0, 257 }; + + randBytes(&slice,128); + SKY_cipher_HashRipemd160(slice,&tmp); + randBytes(&slice,160); + SKY_cipher_HashRipemd160(slice,&r); + cr_assert(not(eq(u8[sizeof(cipher__Ripemd160)],tmp,r))); + + unsigned char buff1[257]; + GoSlice b = { buff1, 0, 257 }; + randBytes(&b,256); + SKY_cipher_HashRipemd160(b,&r2); + cr_assert(not(eq(u8[sizeof(cipher__Ripemd160)],r2,tmp))); + freshSumRipemd160(b,&tmp); + cr_assert(eq(u8[20],tmp,r2)); +} + +Test(cipher_hash,TestRipemd160Set){ + + cipher__Ripemd160 h; + unsigned char buff[101]; + GoSlice slice = { buff, 0, 101 }; + int error; + + memset(h, 0, sizeof(cipher__Ripemd160)); + randBytes(&slice,21); + + error = SKY_cipher_Ripemd160_Set(&h,slice); + cr_assert( error == SKY_ERROR); + + randBytes(&slice,100); + error = SKY_cipher_Ripemd160_Set(&h,slice); + cr_assert(error == SKY_ERROR); + + randBytes(&slice,19); + error = SKY_cipher_Ripemd160_Set(&h,slice); + cr_assert(error == SKY_ERROR); + + randBytes(&slice,0); + error = SKY_cipher_Ripemd160_Set(&h,slice); + cr_assert(error == SKY_ERROR); + + randBytes(&slice,20); + error = SKY_cipher_Ripemd160_Set(&h,slice); + cr_assert(error == SKY_OK); + cr_assert(eq(u8[20], h, buff)); +} + +Test(cipher_hash,TestSHA256Set){ + + cipher__SHA256 h; + unsigned char buff[101]; + GoSlice slice = { buff, 0, 101 }; + int error; + + randBytes(&slice,33); + error=SKY_cipher_SHA256_Set(&h,slice); + cr_assert(error == SKY_ERROR); + + randBytes(&slice,100); + error=SKY_cipher_SHA256_Set(&h,slice); + cr_assert(error == SKY_ERROR); + + randBytes(&slice,31); + error=SKY_cipher_SHA256_Set(&h,slice); + cr_assert(error == SKY_ERROR); + + randBytes(&slice,0); + error=SKY_cipher_SHA256_Set(&h,slice); + cr_assert(error == SKY_ERROR); + + randBytes(&slice,32); + error=SKY_cipher_SHA256_Set(&h,slice); + cr_assert(error == SKY_OK); + + cr_assert(eq(u8[32], h, slice.data)); +} + +Test(cipher_hash,TestSHA256Hex){ + + cipher__SHA256 h; + unsigned char buff[101]; + GoSlice slice = { buff, 0, 101 }; + int error; + + memset(&h, 0, sizeof(h)); + randBytes(&slice,32); + SKY_cipher_SHA256_Set(&h,slice); + GoString s; + + SKY_cipher_SHA256_Hex(&h, (GoString_ *)&s); + registerMemCleanup((void*) s.p); + + cipher__SHA256 h2; + + error = SKY_cipher_SHA256FromHex(s, &h2 ); + cr_assert(error == SKY_OK); + cr_assert(eq(u8[32],h,h2)); + + GoString s2; + + SKY_cipher_SHA256_Hex(&h2, (GoString_ *) &s2); + registerMemCleanup((void*) s2.p); + cr_assert(eq(type(GoString),s,s2)); +} + +Test(cipher_hash,TestSHA256KnownValue){ + + + typedef struct + { + char *input; + char *output; + } tmpstruct; + + tmpstruct vals[3]; + + vals[0].input = "skycoin"; + vals[0].output = "5a42c0643bdb465d90bf673b99c14f5fa02db71513249d904573d2b8b63d353d"; + + vals[1].input = "hello world"; + vals[1].output = "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"; + + vals[2].input = "hello world asd awd awd awdapodawpokawpod "; + vals[2].output = "99d71f95cafe05ea2dddebc35b6083bd5af0e44850c9dc5139b4476c99950be4"; + + for (int i = 0; i < 3; ++i) + { + GoSlice slice_input; + GoSlice slice_output; + + slice_input.data = vals[i].input; + slice_input.len = strlen(vals[i].input); + slice_input.cap = strlen(vals[i].input)+1; + + cipher__SHA256 sha; + + SKY_cipher_SumSHA256(slice_input,&sha); + + GoString_ tmp_output; + + SKY_cipher_SHA256_Hex(&sha,&tmp_output); + registerMemCleanup((void*) tmp_output.p); + + cr_assert(strcmp(tmp_output.p,vals[i].output)== SKY_OK); + } +} + +Test(cipher_hash,TestSumSHA256){ + + unsigned char bbuff[257], + cbuff[257]; + GoSlice b = { bbuff, 0, 257 }; + cipher__SHA256 h1; + randBytes(&b,256); + SKY_cipher_SumSHA256(b,&h1); + cipher__SHA256 tmp; + cr_assert(not(eq(u8[32],h1,tmp))); + GoSlice c = { cbuff, 0, 257 }; + randBytes(&c,256); + cipher__SHA256 h2; + SKY_cipher_SumSHA256(c,&h2); + cr_assert(not(eq(u8[32],h2,tmp))); + cipher__SHA256 tmp_h2; + freshSumSHA256(c,&tmp_h2); + cr_assert(eq(u8[32],h2,tmp_h2)); +} + +Test(cipher_hash,TestSHA256FromHex){ + unsigned int error; + cipher__SHA256 tmp; + // Invalid hex hash + GoString tmp_string = {"cawcd",5}; + error = SKY_cipher_SHA256FromHex(tmp_string,&tmp); + cr_assert(error == SKY_ERROR); + // Truncated hex hash + cipher__SHA256 h; + unsigned char buff[130]; + char sbuff[300]; + GoSlice slice = { buff,0,130 }; + randBytes(&slice,128); + SKY_cipher_SumSHA256(slice,&h); + strnhex(h,sbuff,sizeof(h) >> 1); + GoString s1 = { sbuff, strlen(sbuff) }; + error = SKY_cipher_SHA256FromHex(s1,&h); + cr_assert(error == SKY_ERROR); + + // Valid hex hash + // char sbuff1[300]; + GoString_ s2; + // strnhex(h,sbuff1,sizeof(h)); + SKY_cipher_SHA256_Hex(&h, &s2 ); + cipher__SHA256 h2; + error = SKY_cipher_SHA256FromHex((*((GoString *) &s2)),&h2); + cr_assert(error == SKY_OK); + cr_assert(eq(u8[32],h,h2)); +} + + +Test(cipher_hash,TestDoubleSHA256){ + unsigned char bbuff[130]; + GoSlice b = { bbuff, 0, 130 }; + randBytes(&b,128); + cipher__SHA256 h; + cipher__SHA256 tmp; + SKY_cipher_DoubleSHA256(b,&h); + cr_assert(not(eq(u8[32],tmp,h))); + freshSumSHA256(b,&tmp); + cr_assert(not(eq(u8[32],tmp,h))); +} + +Test(cipher_hash,TestAddSHA256){ + + unsigned char bbuff[130]; + GoSlice b = { bbuff, 0, 130 }; + randBytes(&b,128); + cipher__SHA256 h; + SKY_cipher_SumSHA256(b,&h); + + unsigned char cbuff[130]; + GoSlice c = { cbuff, 0, 130 }; + randBytes(&c,64); + cipher__SHA256 i; + SKY_cipher_SumSHA256(c,&i); + + cipher__SHA256 add; + cipher__SHA256 tmp; + + SKY_cipher_AddSHA256(&h,&i,&add); + + cr_assert(not(eq(u8[32],add,tmp))); + cr_assert(not(eq(u8[32],add,h))); + cr_assert(not(eq(u8[32],add,i))); +} + +Test(cipher_hash,TestXorSHA256){ + + unsigned char bbuff[129], + cbuff[129]; + GoSlice b = { bbuff, 0, 129 } ; + GoSlice c = { cbuff, 0, 129 }; + cipher__SHA256 h, i; + + randBytes(&b,128); + SKY_cipher_SumSHA256(b,&h); + randBytes(&c,128); + SKY_cipher_SumSHA256(c,&i); + + cipher__SHA256 tmp_xor1; + cipher__SHA256 tmp_xor2; + cipher__SHA256 tmp; + + SKY_cipher_SHA256_Xor(&h,&i,&tmp_xor1); + SKY_cipher_SHA256_Xor(&i,&h,&tmp_xor2); + + cr_assert(not(eq(u8[32],tmp_xor1,h))); + cr_assert(not(eq(u8[32],tmp_xor1,i))); + cr_assert(not(eq(u8[32],tmp_xor1,tmp))); + cr_assert(eq(u8[32],tmp_xor1,tmp_xor2)); + +} + +Test(cipher_hash,TestMerkle){ + unsigned char buff[129]; + cipher__SHA256 hashlist[5]; + GoSlice b = { buff, 0, 129 }, + hashes = { hashlist, 0, 5 }; + cipher__SHA256 h, zero, out, out1, out2, out3, out4; + int i; + + memset(zero, 0, sizeof(zero)); + + for (i = 0; i < 5; i++) { + randBytes(&b, 128); + SKY_cipher_SumSHA256(b, &hashlist[i]); + } + + // Single hash input returns hash + hashes.len = 1; + SKY_cipher_Merkle(&hashes, &h); + cr_assert(eq(u8[32], hashlist[0], h)); + + // 2 hashes should be Addcipher__SHA256 of them + hashes.len = 2; + SKY_cipher_AddSHA256(&hashlist[0], &hashlist[1], &out); + SKY_cipher_Merkle(&hashes, &h); + cr_assert(eq(u8[32], out, h)); + + // 3 hashes should be Add(Add()) + hashes.len = 3; + SKY_cipher_AddSHA256(&hashlist[0], &hashlist[1], &out1); + SKY_cipher_AddSHA256(&hashlist[2], &zero, &out2); + SKY_cipher_AddSHA256(&out1, &out2, &out); + SKY_cipher_Merkle(&hashes, &h); + cr_assert(eq(u8[32], out, h)); + + // 4 hashes should be Add(Add()) + hashes.len = 4; + SKY_cipher_AddSHA256(&hashlist[0], &hashlist[1], &out1); + SKY_cipher_AddSHA256(&hashlist[2], &hashlist[3], &out2); + SKY_cipher_AddSHA256(&out1, &out2, &out); + SKY_cipher_Merkle(&hashes, &h); + cr_assert(eq(u8[32], out, h)); + + // 5 hashes + hashes.len = 5; + SKY_cipher_AddSHA256(&hashlist[0], &hashlist[1], &out1); + SKY_cipher_AddSHA256(&hashlist[2], &hashlist[3], &out2); + SKY_cipher_AddSHA256(&out1, &out2, &out3); + SKY_cipher_AddSHA256(&hashlist[4], &zero, &out1); + SKY_cipher_AddSHA256(&zero, &zero, &out2); + SKY_cipher_AddSHA256(&out1, &out2, &out4); + SKY_cipher_AddSHA256(&out3, &out4, &out); + SKY_cipher_Merkle(&hashes, &h); + cr_assert(eq(u8[32], out, h)); +} + diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.testsuite.c b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.testsuite.c new file mode 100755 index 0000000..d6b635d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/check_cipher.testsuite.c @@ -0,0 +1,83 @@ + +#include +#include + +#include "cipher.testsuite.testsuite.go.h" + +// TODO: File path utils. Move elsewhere. + +// Determine if a file name matches pattern for golden dataset +// i.e. matches 'seed-\d+.golden' regex +bool isGoldenFile(const char* filename) { + if (strncmp(filename, "seed-", 5) != 0) + return false; + char* ptr = (char*) filename + 5; + if (*ptr < '0' || *ptr > '9') + return false; + while (*++ptr >= '0' && *ptr <='9') {} + return strcmp(ptr, ".golden") == 0; +} + +TestSuite(cipher_testsuite, .init = setup, .fini = teardown); + +Test(cipher_testsuite, TestManyAddresses) { + SeedTestDataJSON dataJSON; + SeedTestData data; + GoUint32 err; + + json_value* json = loadGoldenFile(MANY_ADDRESSES_FILENAME); + cr_assert(json != NULL, "Error loading file %s", MANY_ADDRESSES_FILENAME); + registerJsonFree(json); + SeedTestDataJSON* dataset = jsonToSeedTestData(json, &dataJSON); + cr_assert(dataset != NULL, "Loaded JSON golden dataset must not be NULL"); + registerSeedTestDataJSONCleanup(&dataJSON); + err = SeedTestDataFromJSON(&dataJSON, &data); + registerSeedTestDataCleanup(&data); + cr_assert(err == SKY_OK, "Deserializing seed test data from JSON ... %d", err); + ValidateSeedData(&data, NULL); +} + +GoUint32 traverseGoldenFiles(const char *path, InputTestData* inputData) { + char* _path[2]; + _path[0] = (char *) path; + _path[1] = NULL; + size_t i = 0; + FTS* tree = fts_open(_path, FTS_NOCHDIR, NULL); + + if (!tree) + return 1; + FTSENT* node; + while ((node = fts_read(tree))) { + if ((node->fts_info & FTS_F) && isGoldenFile(node->fts_name)) { + char fn[FILENAME_MAX]; + fprintf(stderr, "Golden data set %s\n", node->fts_path); + SeedTestDataJSON seedDataJSON; + SeedTestData seedData; + + json_value* json = loadGoldenFile(node->fts_name); + cr_assert(json != NULL, "Error loading file %s", node->fts_name); + SeedTestDataJSON* dataset = jsonToSeedTestData(json, &seedDataJSON); + cr_assert(dataset != NULL, "Loaded JSON seed golden dataset must not be NULL"); + GoUint32 err = SeedTestDataFromJSON(&seedDataJSON, &seedData); + cr_assert(err == SKY_OK, "Deserializing seed test data from JSON ... %d", err); + ValidateSeedData(&seedData, inputData); + } + } + return 0; +} + +Test(cipher_testsuite, TestSeedSignatures) { + InputTestDataJSON inputDataJSON; + InputTestData inputData; + GoUint32 err; + + json_value* json = loadGoldenFile(INPUT_HASHES_FILENAME); + cr_assert(json != NULL, "Error loading file %s", INPUT_HASHES_FILENAME); + InputTestDataJSON* dataset = jsonToInputTestData(json, &inputDataJSON); + cr_assert(dataset != NULL, "Loaded JSON input golden dataset must not be NULL"); + err = InputTestDataFromJSON(&inputDataJSON, &inputData); + cr_assert(err == SKY_OK, "Deserializing seed test data from JSON ... %d", err); + err = traverseGoldenFiles(TEST_DATA_DIR, &inputData); + cr_assert(err == 0); +} + diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/tests/cipher.testsuite.c b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/cipher.testsuite.c new file mode 100755 index 0000000..7a4bae2 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/cipher.testsuite.c @@ -0,0 +1,493 @@ + +#include "cipher.testsuite.testsuite.go.h" + +void empty_gostring(GoString *s) { + s->n = 0; + // FIXME: this satisfies 'all buffers allocated' contract + s->p = calloc(1, sizeof(char)); +} + +void empty_keysdataJSON(KeysTestDataJSON* kdj) { + empty_gostring(&kdj->Address); + empty_gostring(&kdj->Secret); + empty_gostring(&kdj->Public); + kdj->Signatures.len = 0; + kdj->Signatures.cap = 1; + kdj->Signatures.data = calloc(1, sizeof(GoString)); +} + +void json_get_gostring(json_value* value, GoString* s) { + if (value == NULL || value->type != json_string) { + empty_gostring(s); + } else { + s->n = value->u.string.length; + s->p = (const char *) calloc(s->n + 1, sizeof(char)); + memcpy((void *) s->p, (void *)value->u.string.ptr, s->n); + // Append NULL char , just in case + ((char *) s->p)[s->n] = 0; + } +} + +// FIXME: Move elsewhere +json_value* loadGoldenFile(const char* file) { + char path[FILENAME_MAX]; + if(strlen(TEST_DATA_DIR) + strlen(file) < FILENAME_MAX){ + strcat( strcpy(path, TEST_DATA_DIR) , file ); + return loadJsonFile(path); + } + return NULL; +} + +// Deserialize InputTestData JSON representation +InputTestDataJSON* jsonToInputTestData(json_value* json, InputTestDataJSON* input_data) { + if (!json || json->type != json_object) { + return NULL; + } + json_value* hashes = get_json_value(json, "hashes", json_array); + if (hashes == NULL) { + return NULL; + } + int i = 0, + length = hashes->u.array.length; + json_value** hashstr_value = hashes->u.array.values; + input_data->Hashes.len = input_data->Hashes.cap = length; + input_data->Hashes.data = calloc(length, sizeof(GoString)); + GoString* s = (GoString *) input_data->Hashes.data; + for (; i < length; i++, hashstr_value++, s++) { + if ((*hashstr_value)->type != json_string) { + // String value expected. Replace with empty string. + empty_gostring(s); + } else { + json_get_gostring(*hashstr_value, s); + } + } + return input_data; +} + +// Mark all elements of input data for disposal +// +// Cleanup is consistent with InputTestDataToJSON +InputTestData* registerInputTestDataCleanup(InputTestData* input_data) { + registerMemCleanup(input_data->Hashes.data); + return input_data; +} + +// Mark all elements of input data for disposal +// +// Cleanup is consistent with InputTestDataFromJSON +InputTestDataJSON* registerInputTestDataJSONCleanup(InputTestDataJSON* input_data) { + int i = 0, + length = input_data->Hashes.len; + GoString* s = input_data->Hashes.data; + for (; i < length; ++i, s++) { + registerMemCleanup((void *) s->p); + } + registerMemCleanup(input_data->Hashes.data); + return input_data; +} + +// InputTestDataToJSON converts InputTestData to InputTestDataJSON +// +// Allocated memory has to be disposed for: +// +// - input_data.len * sizeof(GoString_) bytes for the strings slice data +// - Buffers to store individual string data +void InputTestDataToJSON(InputTestData* input_data, InputTestDataJSON* json_data) { + GoSlice* hashes = &input_data->Hashes; + GoSlice* hexstrings = &json_data->Hashes; + GoString_* s = hexstrings->data = calloc(hashes->len, sizeof(GoString_)); + hexstrings->len = hexstrings->cap = hashes->len; + + cipher__SHA256* hash = hashes->data; + + int i; + for (i = 0; i < hashes->len; i++, hash++, s++) { + SKY_cipher_SHA256_Hex(hash, s); + } +} + +// InputTestDataFromJSON converts InputTestDataJSON to InputTestData +// +// Allocated memory has to be disposed for: +// +// - json_data.len * sizeof(cipher_SHA256) bytes for the strings slice data +GoUint32 InputTestDataFromJSON(InputTestDataJSON* json_data, InputTestData* input_data) { + GoSlice *hexstrings = &json_data->Hashes; + GoSlice* hashes = &input_data->Hashes; + cipher__SHA256* hash = hashes->data = calloc(hexstrings->len, sizeof(cipher__SHA256)); + hashes->len = hashes->cap = hexstrings->len; + + GoString* s = hexstrings->data; + + int i; + GoUint32 err = SKY_OK; + for (i = 0; i < hexstrings->len && err == SKY_OK; i++, s++, hash++) { + err = SKY_cipher_SHA256FromHex(*s, hash); + } + if (err != SKY_OK) + free(hashes->data); + return err; +} + +// Deserialize KeysTestData JSON representation +KeysTestDataJSON* jsonToKeysTestData(json_value* json, KeysTestDataJSON* input_data) { + if (json->type != json_object) { + return NULL; + } + json_value* value = json_get_string(json, "address"); + json_get_gostring(value, &input_data->Address); + value = json_get_string(json, "secret"); + json_get_gostring(value, &input_data->Secret); + value = json_get_string(json, "public"); + json_get_gostring(value, &input_data->Public); + + value = get_json_value(json, "signatures", json_array); + if (value == NULL) { + return input_data; + } + int i = 0, + length = value->u.array.length; + json_value** array_value = value->u.array.values; + input_data->Signatures.len = input_data->Signatures.cap = length; + input_data->Signatures.data = calloc(length, sizeof(GoString)); + GoString* s = (GoString *) input_data->Signatures.data; + for (; i < length; i++, array_value++, s++) { + if ((*array_value)->type != json_string) { + // String value expected. Replace with empty string + empty_gostring(s); + } else { + json_get_gostring(*array_value, s); + } + } + return input_data; +} + +// Mark all elements of input data for disposal +// +// Cleanup is consistent with KeysTestDataFromJSON +KeysTestData* registerKeysTestDataCleanup(KeysTestData* input_data) { + registerMemCleanup(input_data->Signatures.data); + return input_data; +} + +// Mark all elements of input data for disposal +// +// Cleanup is consistent with KeysTestDataFromJSON +KeysTestDataJSON* registerKeysTestDataJSONCleanup(KeysTestDataJSON* input_data) { + registerMemCleanup((void*) input_data->Address.p); + registerMemCleanup((void*) input_data->Secret.p); + registerMemCleanup((void*) input_data->Public.p); + + int i = 0, + length = input_data->Signatures.len; + GoString* s = input_data->Signatures.data; + for (; i < length; ++i, s++) { + registerMemCleanup((void *) s->p); + } + registerMemCleanup(input_data->Signatures.data); + return input_data; +} + +// KeysTestDataToJSON converts KeysTestData to KeysTestDataJSON +// +// Allocated memory has to be disposed for: +// +// - input_data.Signatures.len * sizeof(GoString_) bytes for the strings slice data +// - Buffers to store individual string data +// - Buffer to store address hex string data +// - Buffer to store pubkey hex string data +// - Buffer to store seckey secret hex string data +void KeysTestDataToJson(KeysTestData* input_data, KeysTestDataJSON* json_data) { + SKY_cipher_Address_String(&input_data->Address, (GoString_*) &json_data->Address); + SKY_cipher_SecKey_Hex(&input_data->Secret, (GoString_*) &json_data->Secret); + SKY_cipher_PubKey_Hex(&input_data->Public, (GoString_*) &json_data->Public); + + json_data->Signatures.len = json_data->Signatures.cap = input_data->Signatures.len; + GoString* s = json_data->Signatures.data = calloc(input_data->Signatures.len, sizeof(GoString)); + + cipher__Sig* sig = (cipher__Sig*) input_data->Signatures.data; + int i; + + for (i = 0; i < input_data->Signatures.len; i++, sig++, s++) { + SKY_cipher_Sig_Hex(sig, (GoString_*) s); + } +} + +// KeysTestDataFromJSON converts KeysTestDataJSON to KeysTestData +// +// +// Allocated memory has to be disposed for: +// +// - json_data.Signatures.len * sizeof(cipher__Sig) bytes for sigs slice data +GoUint32 KeysTestDataFromJSON(KeysTestDataJSON* json_data, KeysTestData* input_data) { + GoUint32 err = SKY_cipher_DecodeBase58Address(json_data->Address, &input_data->Address); + if (err != SKY_OK) + return err; + err = SKY_cipher_SecKeyFromHex(json_data->Secret, &input_data->Secret); + if (err != SKY_OK) + return err; + err = SKY_cipher_PubKeyFromHex(json_data->Public, &input_data->Public); + if (err != SKY_OK) + return err; + + input_data->Signatures.len = input_data->Signatures.cap = json_data->Signatures.len; + input_data->Signatures.data = calloc(input_data->Signatures.cap, sizeof(cipher__Sig)); + cipher__Sig* sig = (cipher__Sig*) input_data->Signatures.data; + + GoString* s = (GoString*) json_data->Signatures.data; + int i; + err = SKY_OK; + + for (i = 0; i < json_data->Signatures.len && err == SKY_OK; i++, sig++, s++) { + SKY_cipher_SigFromHex(*s, sig); + } + if (err != SKY_OK) + free(input_data->Signatures.data); + return err; +} + +// Deserialize SeedTestData JSON representation +SeedTestDataJSON* jsonToSeedTestData(json_value* json, SeedTestDataJSON* input_data) { + if (json->type != json_object) { + return NULL; + } + json_value* value = json_get_string(json, "seed"); + json_get_gostring(value, &(input_data->Seed)); + + value = get_json_value(json, "keys", json_array); + int i = 0, + length = value->u.array.length; + json_value** array_value = value->u.array.values; + input_data->Keys.len = input_data->Keys.cap = length; + input_data->Keys.data = calloc(length, sizeof(KeysTestDataJSON)); + KeysTestDataJSON* kd = (KeysTestDataJSON*) input_data->Keys.data; + for (; i < length; i++, array_value++, kd++) { + if ((*array_value)->type != json_object) { + // String value expected. Replace with empty string + empty_keysdataJSON(kd); + } else { + jsonToKeysTestData(*array_value, kd); + } + } + return input_data; +} + +// Mark all elements of input data for disposal +// +// Cleanup is consistent with SeedTestDataFromJSON +SeedTestData* registerSeedTestDataCleanup(SeedTestData* input_data) { + registerMemCleanup(input_data->Seed.data); + + int i = 0, + length = input_data->Keys.len; + KeysTestData* kd = input_data->Keys.data; + for (; i < length; ++i, kd++) { + registerKeysTestDataCleanup(kd); + } + registerMemCleanup(input_data->Keys.data); + return input_data; +} + +// Mark all elements of input data for disposal +// +// Cleanup is consistent with SeedTestDataFromJSON +SeedTestDataJSON* registerSeedTestDataJSONCleanup(SeedTestDataJSON* input_data) { + registerMemCleanup((void*) input_data->Seed.p); + + int i = 0, + length = input_data->Keys.len; + KeysTestDataJSON* kd = input_data->Keys.data; + for (; i < length; ++i, kd++) { + registerKeysTestDataJSONCleanup((void*) kd); + } + registerMemCleanup(input_data->Keys.data); + return input_data; +} + +// SeedTestDataToJSON converts SeedTestData to SeedTestDataJSON +// +// Allocated memory has to be disposed for: +// +// - Buffer to store seed hex data +// - input_data.Keys.len * sizeof(KeysTestDataJSON) bytes for keys test data slice +// - Memory requirements to allocate JSON data for instances of KeysTestDataJSON in Keys +// see KeysTestDataToJSON +void SeedTestDataToJson(SeedTestData* input_data, SeedTestDataJSON* json_data) { + json_data->Keys.len = json_data->Keys.cap = input_data->Keys.len; + json_data->Keys.data = calloc(input_data->Keys.len, sizeof(KeysTestDataJSON)); + KeysTestDataJSON* kj = (KeysTestDataJSON*) json_data->Keys.data; + + KeysTestData* k = (KeysTestData*) input_data->Keys.data; + int i; + + for (i = 0; i < input_data->Keys.len; i++, k++, kj++) { + KeysTestDataToJson(k, kj); + } + + unsigned int b64seed_size = b64e_size(input_data->Seed.len + 1) + 1; + json_data->Seed.p = malloc(b64seed_size); + json_data->Seed.n = b64_encode((const unsigned char*) input_data->Seed.data, + input_data->Seed.len, input_data->Seed.data); +} + +// SeedTestDataFromJSON converts SeedTestDataJSON to SeedTestData +// +// +// Allocated memory has to be disposed for: +// +// - Seed slice bytes buffer +// - json_data.Keys.len * sizeof(cipher__KeysTestData) bytes for keys test slice data +// - Memory requirements to allocate individual instances of KeyTestData in Keys +// see KeysTestDataFromJSON +GoUint32 SeedTestDataFromJSON(SeedTestDataJSON* json_data, SeedTestData* input_data) { + input_data->Seed.cap = b64d_size(json_data->Seed.n); + input_data->Seed.data = malloc(input_data->Seed.cap); + input_data->Seed.len = b64_decode((const unsigned char *)json_data->Seed.p, + json_data->Seed.n, input_data->Seed.data); + + input_data->Keys.len = input_data->Keys.cap = json_data->Keys.len; + input_data->Keys.data = calloc(input_data->Keys.cap, sizeof(KeysTestData)); + KeysTestData* k = (KeysTestData*) input_data->Keys.data; + + KeysTestDataJSON* kj = (KeysTestDataJSON*) json_data->Keys.data; + int i; + GoUint32 err = SKY_OK; + + for (i = 0; i < json_data->Keys.len && err == SKY_OK; i++, k++, kj++) { + err = KeysTestDataFromJSON(kj, k); + } + if (err != SKY_OK) + free(input_data->Keys.data); + return err; +} + +// ValidateSeedData validates the provided SeedTestData against the current cipher library. +// inputData is required if SeedTestData contains signatures +void ValidateSeedData(SeedTestData* seedData, InputTestData* inputData) { + cipher__PubKey pubkey; + cipher__SecKey seckey; + GoSlice keys; + + // Force allocation of memory for slice buffer + keys.len = keys.cap = 0; + keys.data = NULL; + + SKY_cipher_GenerateDeterministicKeyPairs(seedData->Seed, seedData->Keys.len, (GoSlice_*) &keys); + + cr_assert(keys.data != NULL, + "SKY_cipher_GenerateDeterministicKeyPairs must allocate memory slice with zero cap"); + // Ensure buffer allocated for generated keys is disposed after testing + registerMemCleanup(keys.data); + cr_assert(seedData->Keys.len - keys.len == 0, + "SKY_cipher_GenerateDeterministicKeyPairs must generate expected number of keys"); + + cipher__SecKey skNull; + cipher__PubKey pkNull; + cipher__Address addrNull; + cipher__Sig sigNull; + + struct cr_mem mem_actual; + struct cr_mem mem_expect; + + memset((void *)&skNull, 0, sizeof(cipher__SecKey)); + memset((void *)&pkNull, 0, sizeof(cipher__PubKey)); + memset((void *)&addrNull, 0, sizeof(cipher__Address)); + memset((void *)&sigNull, 0, sizeof(cipher__Sig)); + + int i = 0; + KeysTestData* expected = (KeysTestData*) seedData->Keys.data; + cipher__SecKey *s = (cipher__SecKey*) keys.data; + for (; i < keys.len; i++, s++, expected++) { + mem_expect.data = skNull; + mem_actual.data = *s; + mem_actual.size = mem_expect.size = sizeof(cipher__SecKey); + cr_assert(ne(mem, mem_actual, mem_expect), + "%d-th secret key must not be null", i); + cr_assert(eq(u8[32], (*s), expected->Secret), + "%d-th generated secret key must match provided secret key", i); + + cipher__PubKey p; + SKY_cipher_PubKeyFromSecKey(s, &p); + mem_expect.data = pkNull; + mem_actual.data = p; + mem_actual.size = mem_expect.size = sizeof(cipher__PubKey); + cr_assert(ne(mem, mem_actual, mem_expect), + "%d-th public key must not be null", i); + cr_assert(eq(u8[33], expected->Public, p), + "%d-th derived public key must match provided public key", i); + + cipher__Address addr1; + SKY_cipher_AddressFromPubKey(&p, &addr1); + cr_assert(ne(type(cipher__Address), addrNull, addr1), + "%d-th address from pubkey must not be null", i); + cr_assert(eq(type(cipher__Address), expected->Address, addr1), + "%d-th derived address must match provided address", i); + + cipher__Address addr2; + SKY_cipher_AddressFromSecKey(s, &addr2); + cr_assert(ne(type(cipher__Address), addrNull, addr1), + "%d-th address from sec key must not be null", i); + cr_assert(eq(type(cipher__Address), addr1, addr2), + "%d-th SKY_cipher_AddressFromPubKey and SKY_cipher_AddressFromSecKey must generate same addresses", i); + + // TODO : Translate once secp256k1 be part of libskycoin + /* + validSec := secp256k1.VerifySeckey(s[:]) + if validSec != 1 { + return errors.New("secp256k1.VerifySeckey failed") + } + + validPub := secp256k1.VerifyPubkey(p[:]) + if validPub != 1 { + return errors.New("secp256k1.VerifyPubkey failed") + } + */ + + // FIXME: without cond : 'not give a valid preprocessing token' + bool cond = (!(inputData == NULL && expected->Signatures.len != 0)); + cr_assert(cond, "%d seed data contains signatures but input data was not provided", i); + + if (inputData != NULL) { + cr_assert(expected->Signatures.len == inputData->Hashes.len, + "Number of signatures in %d-th seed data does not match number of hashes in input data", i); + + cipher__SHA256* h = (cipher__SHA256*) inputData->Hashes.data; + cipher__Sig* sig = (cipher__Sig*) expected->Signatures.data; + int j = 0; + for (; j < inputData->Hashes.len; j++, h++, sig++) { + mem_expect.data = sigNull; + mem_actual.data = *sig; + mem_actual.size = mem_expect.size = sizeof(cipher__Sig); + cr_assert(ne(mem, mem_actual, mem_expect), + "%d-th provided signature for %d-th data set must not be null", j, i); + GoUint32 err = SKY_cipher_VerifySignature(&p, sig, h); + cr_assert(err == SKY_OK, + "SKY_cipher_VerifySignature failed: error=%d dataset=%d hashidx=%d", err, i, j); + err = SKY_cipher_ChkSig(&addr1, h, sig); + cr_assert(err == SKY_OK, "SKY_cipher_ChkSig failed: error=%d dataset=%d hashidx=%d", err, i, j); + err = SKY_cipher_VerifySignedHash(sig, h); + cr_assert(err == SKY_OK, + "SKY_cipher_VerifySignedHash failed: error=%d dataset=%d hashidx=%d", err, i, j); + + cipher__PubKey p2; + err = SKY_cipher_PubKeyFromSig(sig, h, &p2); + cr_assert(err == SKY_OK, + "SKY_cipher_PubKeyFromSig failed: error=%d dataset=%d hashidx=%d", err, i, j); + cr_assert(eq(u8[32], p, p2), + "public key derived from %d-th signature in %d-th dataset must match public key derived from secret", + j, i); + + cipher__Sig sig2; + SKY_cipher_SignHash(h, s, &sig2); + mem_expect.data = sigNull; + mem_actual.data = sig2; + mem_actual.size = mem_expect.size = sizeof(cipher__Sig); + cr_assert(ne(mem, mem_actual, mem_expect), + "created signature for %d-th hash in %d-th dataset is null", j, i); + + // NOTE: signatures are not deterministic, they use a nonce, + // so we don't compare the generated sig to the provided sig + } + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/tests/libsky_criterion.c b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/libsky_criterion.c new file mode 100755 index 0000000..80e7bcf --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/libsky_criterion.c @@ -0,0 +1,104 @@ + +#include +#include "skycriterion.h" +#include "skystring.h" + +int cr_user_cipher__Address_eq(cipher__Address *addr1, cipher__Address *addr2){ + if(addr1->Version != addr2->Version) + return 0; + for (int i = 0; i < sizeof(cipher__Ripemd160); ++i) { + if(addr1->Key[i] != addr2->Key[i]) + return 0; + } + return 1; +} + +char *cr_user_cipher__Address_tostr(cipher__Address *addr1) +{ + char *out; + + cr_asprintf(&out, "(cipher__Address) { .Key = %s, .Version = %llu }", addr1->Key, (unsigned long long) addr1->Version); + return out; +} + +int cr_user_cipher__Address_noteq(cipher__Address *addr1, cipher__Address *addr2){ + if(addr1->Version != addr2->Version) + return 0; + for (int i = 0; i < sizeof(cipher__Ripemd160); ++i) { + if(addr1->Key[i] != addr2->Key[i]) + return 0; + } + return 1; +} + +int cr_user_GoString_eq(GoString *string1, GoString *string2){ + return (string1->n == string2->n) && + (strcmp( (char *) string1->p, (char *) string2->p) == 0); +} + +char *cr_user_GoString_tostr(GoString *string) +{ + char *out; + cr_asprintf(&out, "(GoString) { .Data = %s, .Length = %llu }", + string->p, (unsigned long long) string->n); + return out; +} + +int cr_user_GoString__eq(GoString_ *string1, GoString_ *string2){ + return cr_user_GoString_eq((GoString *) &string1, (GoString *) &string2); +} + +char *cr_user_GoString__tostr(GoString_ *string) { + return cr_user_GoString_tostr((GoString *)string); +} + +int cr_user_cipher__SecKey_eq(cipher__SecKey *seckey1, cipher__SecKey *seckey2){ + return memcmp((void *)seckey1,(void *)seckey2, sizeof(cipher__SecKey)) == 0; +} + +char *cr_user_cipher__SecKey_tostr(cipher__SecKey *seckey1) +{ + char *out; + char hexdump[101]; + + strnhex((unsigned char *)seckey1, hexdump, sizeof(cipher__SecKey)); + cr_asprintf(&out, "(cipher__SecKey) { %s }", hexdump); + return out; +} + + +int cr_user_cipher__Ripemd160_noteq(cipher__Ripemd160 *rp1, cipher__Ripemd160 *rp2){ + return memcmp((void *)rp1,(void *)rp2, sizeof(cipher__Ripemd160)) != 0; +} + +int cr_user_cipher__Ripemd160_eq(cipher__Ripemd160 *rp1, cipher__Ripemd160 *rp2){ + return memcmp((void *)rp1,(void *)rp2, sizeof(cipher__Ripemd160)) == 0; +} + +char *cr_user_cipher__Ripemd160_tostr(cipher__Ripemd160 *rp1) +{ + char *out; + char hexdump[101]; + + strnhex((unsigned char *)rp1, hexdump, sizeof(cipher__Ripemd160)); + cr_asprintf(&out, "(cipher__Ripemd160) { %s }", hexdump ); + return out; +} + +int cr_user_cipher__SHA256_noteq(cipher__SHA256 *sh1, cipher__SHA256 *sh2){ + return memcmp((void *)sh1,(void *)sh1, sizeof(cipher__SHA256)) != 0; +} + +int cr_user_cipher__SHA256_eq(cipher__SHA256 *sh1, cipher__SHA256 *sh2){ + return memcmp((void *)sh1,(void *)sh1, sizeof(cipher__SHA256)) == 0; +} + +char *cr_user_cipher__SHA256_tostr(cipher__SHA256 *sh1) { + char *out; + char hexdump[101]; + + strnhex((unsigned char *)sh1, hexdump, sizeof(cipher__SHA256)); + cr_asprintf(&out, "(cipher__SHA256) { %s }", hexdump); + return out; +} + diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/tests/libsky_string.c b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/libsky_string.c new file mode 100755 index 0000000..5cf44ff --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/libsky_string.c @@ -0,0 +1,30 @@ + +#include "skystring.h" + +#define ALPHANUM "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" +#define ALPHANUM_LEN 62 +#define SIZE_ALL -1 + +void randBytes(GoSlice *bytes, size_t n) { + size_t i = 0; + unsigned char *ptr = (unsigned char *) bytes->data; + for (; i < n; ++i, ++ptr) { + *ptr = ALPHANUM[rand() % ALPHANUM_LEN]; + } + bytes->len = (GoInt) n; +} + +void strnhex(unsigned char* buf, char *str, int n){ + unsigned char * pin = buf; + const char * hex = "0123456789ABCDEF"; + char * pout = str; + for(; *pin && n; --n){ + *pout++ = hex[(*pin>>4)&0xF]; + *pout++ = hex[(*pin++)&0xF]; + } + *pout = 0; +} + +void strhex(unsigned char* buf, char *str){ + strnhex(buf, str, SIZE_ALL); +} diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/tests/libsky_testutil.c b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/libsky_testutil.c new file mode 100755 index 0000000..b38a03b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/libsky_testutil.c @@ -0,0 +1,121 @@ + +#include +#include +#include +#include +#include + +#include "json.h" +#include "skytest.h" +#include "skytypes.h" + +int MEMPOOLIDX = 0; +void *MEMPOOL[1024 * 256]; + +int JSONPOOLIDX = 0; +json_value* JSON_POOL[128]; + +void* registerMemCleanup(void* p) { + int i; + for (i = 0; i < MEMPOOLIDX; i++) { + if(MEMPOOL[i] == NULL){ + MEMPOOL[i] = p; + return p; + } + } + MEMPOOL[MEMPOOLIDX++] = p; + return p; +} + +int registerJsonFree(void *p){ + int i; + for (i = 0; i < JSONPOOLIDX; i++) { + if(JSON_POOL[i] == NULL){ + JSON_POOL[i] = p; + return i; + } + } + JSON_POOL[JSONPOOLIDX++] = p; + return JSONPOOLIDX-1; +} + +void cleanupMem() { + int i; + void **ptr; + + for (i = MEMPOOLIDX, ptr = MEMPOOL; i; --i) { + if( *ptr ) { + free(*ptr); + *ptr = NULL; + } + ptr++; + } + MEMPOOLIDX = 0; + for (i = JSONPOOLIDX, ptr = (void*)JSON_POOL; i; --i) { + if( *ptr ) { + json_value_free(*ptr); + *ptr = NULL; + } + ptr++; + } + JSONPOOLIDX = 0; +} + +json_value* loadJsonFile(const char* filename){ + FILE *fp; + struct stat filestatus; + int file_size; + char* file_contents; + json_char* json; + json_value* value; + + if ( stat(filename, &filestatus) != 0) { + return NULL; + } + file_size = filestatus.st_size; + file_contents = (char*)malloc(filestatus.st_size); + if ( file_contents == NULL) { + return NULL; + } + fp = fopen(filename, "rt"); + if (fp == NULL) { + free(file_contents); + return NULL; + } + if ( fread(file_contents, file_size, 1, fp) != 1 ) { + fclose(fp); + free(file_contents); + return NULL; + } + fclose(fp); + + json = (json_char*)file_contents; + value = json_parse(json, file_size); + free(file_contents); + return value; +} + +void setup(void) { + srand ((unsigned int) time (NULL)); +} + +void teardown(void) { + cleanupMem(); +} + +// TODO: Move to libsky_io.c +void fprintbuff(FILE *f, void *buff, size_t n) { + unsigned char *ptr = (unsigned char *) buff; + fprintf(f, "[ "); + for (; n; --n, ptr++) { + fprintf(f, "%02d ", *ptr); + } + fprintf(f, "]"); +} + + +void toGoString(GoString_ *s, GoString *r){ +GoString * tmp = r; + + *tmp = (*(GoString *) s); +} diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/tests/testutils/base64.c b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/testutils/base64.c new file mode 100755 index 0000000..fa9585b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/testutils/base64.c @@ -0,0 +1,187 @@ +/* +base64.c - by Joe DF (joedf@ahkscript.org) +Released under the MIT License + +See "base64.h", for more information. + +Thank you for inspiration: +http://www.codeproject.com/Tips/813146/Fast-base-functions-for-encode-decode +*/ + +#include "base64.h" +#include + +//Base64 char table - used internally for encoding +unsigned char b64_chr[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + +unsigned int b64_int(unsigned int ch) { + // ASCII to base64_int + // 65-90 Upper Case >> 0-25 + // 97-122 Lower Case >> 26-51 + // 48-57 Numbers >> 52-61 + // 43 Plus (+) >> 62 + // 47 Slash (/) >> 63 + // 61 Equal (=) >> 64~ + if (ch==43) + return 62; + if (ch==47) + return 63; + if (ch==61) + return 64; + if ((ch>47) && (ch<58)) + return ch + 4; + if ((ch>64) && (ch<91)) + return ch - 'A'; + if ((ch>96) && (ch<123)) + return (ch - 'a') + 26; + return 0; +} + +unsigned int b64e_size(unsigned int in_size) { + // size equals 4*floor((1/3)*(in_size+2)); + int i, j = 0; + for (i=0;i>2 ]; + out[k+1] = b64_chr[ ((s[0]&0x03)<<4)+((s[1]&0xF0)>>4) ]; + out[k+2] = b64_chr[ ((s[1]&0x0F)<<2)+((s[2]&0xC0)>>6) ]; + out[k+3] = b64_chr[ s[2]&0x3F ]; + j=0; k+=4; + } + } + + if (j) { + if (j==1) + s[1] = 0; + out[k+0] = b64_chr[ (s[0]&255)>>2 ]; + out[k+1] = b64_chr[ ((s[0]&0x03)<<4)+((s[1]&0xF0)>>4) ]; + if (j==2) + out[k+2] = b64_chr[ ((s[1]&0x0F)<<2) ]; + else + out[k+2] = '='; + out[k+3] = '='; + k+=4; + } + + out[k] = '\0'; + + return k; +} + +unsigned int b64_decode(const unsigned char* in, unsigned int in_len, unsigned char* out) { + + unsigned int i=0, j=0, k=0, s[4]; + for (i=0;i>4); + if (s[2]!=64) { + out[k+1] = ((s[1]&0x0F)<<4)+((s[2]&0x3C)>>2); + if ((s[3]!=64)) { + out[k+2] = ((s[2]&0x03)<<6)+(s[3]); k+=3; + } else { + k+=2; + } + } else { + k+=1; + } + j=0; + } + } + + return k; +} + +unsigned int b64_encodef(char *InFile, char *OutFile) { + + FILE *pInFile = fopen(InFile,"rb"); + FILE *pOutFile = fopen(OutFile,"wb"); + if ( (pInFile==NULL) || (pOutFile==NULL) ) + return 0; + + unsigned int i=0, j=0, c=0, s[3]; + + while(c!=EOF) { + c=fgetc(pInFile); + if (c==EOF) + break; + s[j++]=c; + if (j==3) { + fputc(b64_chr[ (s[0]&255)>>2 ],pOutFile); + fputc(b64_chr[ ((s[0]&0x03)<<4)+((s[1]&0xF0)>>4) ],pOutFile); + fputc(b64_chr[ ((s[1]&0x0F)<<2)+((s[2]&0xC0)>>6) ],pOutFile); + fputc(b64_chr[ s[2]&0x3F ],pOutFile); + j=0; i+=4; + } + } + + if (j) { + if (j==1) + s[1] = 0; + fputc(b64_chr[ (s[0]&255)>>2 ],pOutFile); + fputc(b64_chr[ ((s[0]&0x03)<<4)+((s[1]&0xF0)>>4) ],pOutFile); + if (j==2) + fputc(b64_chr[ ((s[1]&0x0F)<<2) ],pOutFile); + else + fputc('=',pOutFile); + fputc('=',pOutFile); + i+=4; + } + + fclose(pInFile); + fclose(pOutFile); + + return i; +} + +unsigned int b64_decodef(char *InFile, char *OutFile) { + + FILE *pInFile = fopen(InFile,"rb"); + FILE *pOutFile = fopen(OutFile,"wb"); + if ( (pInFile==NULL) || (pOutFile==NULL) ) + return 0; + + unsigned int c=0, j=0, k=0, s[4]; + + while(c!=EOF) { + c=fgetc(pInFile); + if (c==EOF) + break; + s[j++]=b64_int(c); + if (j==4) { + fputc(((s[0]&255)<<2)+((s[1]&0x30)>>4),pOutFile); + if (s[2]!=64) { + fputc(((s[1]&0x0F)<<4)+((s[2]&0x3C)>>2),pOutFile); + if ((s[3]!=64)) { + fputc(((s[2]&0x03)<<6)+(s[3]),pOutFile); k+=3; + } else { + k+=2; + } + } else { + k+=1; + } + j=0; + } + } + + fclose(pInFile); + fclose(pOutFile); + + return k; +} + diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/tests/testutils/json.c b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/testutils/json.c new file mode 100755 index 0000000..bae4b35 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/testutils/json.c @@ -0,0 +1,1012 @@ + +/* vim: set et ts=3 sw=3 sts=3 ft=c: + * + * Copyright (C) 2012, 2013, 2014 James McLaughlin et al. All rights reserved. + * https://github.com/udp/json-parser + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "json.h" + +#ifdef _MSC_VER + #ifndef _CRT_SECURE_NO_WARNINGS + #define _CRT_SECURE_NO_WARNINGS + #endif +#endif + +const struct _json_value json_value_none; + +#include +#include +#include +#include + +typedef unsigned int json_uchar; + +static unsigned char hex_value (json_char c) +{ + if (isdigit(c)) + return c - '0'; + + switch (c) { + case 'a': case 'A': return 0x0A; + case 'b': case 'B': return 0x0B; + case 'c': case 'C': return 0x0C; + case 'd': case 'D': return 0x0D; + case 'e': case 'E': return 0x0E; + case 'f': case 'F': return 0x0F; + default: return 0xFF; + } +} + +typedef struct +{ + unsigned long used_memory; + + unsigned int uint_max; + unsigned long ulong_max; + + json_settings settings; + int first_pass; + + const json_char * ptr; + unsigned int cur_line, cur_col; + +} json_state; + +static void * default_alloc (size_t size, int zero, void * user_data) +{ + return zero ? calloc (1, size) : malloc (size); +} + +static void default_free (void * ptr, void * user_data) +{ + free (ptr); +} + +static void * json_alloc (json_state * state, unsigned long size, int zero) +{ + if ((state->ulong_max - state->used_memory) < size) + return 0; + + if (state->settings.max_memory + && (state->used_memory += size) > state->settings.max_memory) + { + return 0; + } + + return state->settings.mem_alloc (size, zero, state->settings.user_data); +} + +static int new_value (json_state * state, + json_value ** top, json_value ** root, json_value ** alloc, + json_type type) +{ + json_value * value; + int values_size; + + if (!state->first_pass) + { + value = *top = *alloc; + *alloc = (*alloc)->_reserved.next_alloc; + + if (!*root) + *root = value; + + switch (value->type) + { + case json_array: + + if (value->u.array.length == 0) + break; + + if (! (value->u.array.values = (json_value **) json_alloc + (state, value->u.array.length * sizeof (json_value *), 0)) ) + { + return 0; + } + + value->u.array.length = 0; + break; + + case json_object: + + if (value->u.object.length == 0) + break; + + values_size = sizeof (*value->u.object.values) * value->u.object.length; + + if (! (value->u.object.values = (json_object_entry *) json_alloc + (state, values_size + ((unsigned long) value->u.object.values), 0)) ) + { + return 0; + } + + value->_reserved.object_mem = (*(char **) &value->u.object.values) + values_size; + + value->u.object.length = 0; + break; + + case json_string: + + if (! (value->u.string.ptr = (json_char *) json_alloc + (state, (value->u.string.length + 1) * sizeof (json_char), 0)) ) + { + return 0; + } + + value->u.string.length = 0; + break; + + default: + break; + }; + + return 1; + } + + if (! (value = (json_value *) json_alloc + (state, sizeof (json_value) + state->settings.value_extra, 1))) + { + return 0; + } + + if (!*root) + *root = value; + + value->type = type; + value->parent = *top; + + #ifdef JSON_TRACK_SOURCE + value->line = state->cur_line; + value->col = state->cur_col; + #endif + + if (*alloc) + (*alloc)->_reserved.next_alloc = value; + + *alloc = *top = value; + + return 1; +} + +#define whitespace \ + case '\n': ++ state.cur_line; state.cur_col = 0; \ + case ' ': case '\t': case '\r' + +#define string_add(b) \ + do { if (!state.first_pass) string [string_length] = b; ++ string_length; } while (0); + +#define line_and_col \ + state.cur_line, state.cur_col + +static const long + flag_next = 1 << 0, + flag_reproc = 1 << 1, + flag_need_comma = 1 << 2, + flag_seek_value = 1 << 3, + flag_escaped = 1 << 4, + flag_string = 1 << 5, + flag_need_colon = 1 << 6, + flag_done = 1 << 7, + flag_num_negative = 1 << 8, + flag_num_zero = 1 << 9, + flag_num_e = 1 << 10, + flag_num_e_got_sign = 1 << 11, + flag_num_e_negative = 1 << 12, + flag_line_comment = 1 << 13, + flag_block_comment = 1 << 14; + +json_value * json_parse_ex (json_settings * settings, + const json_char * json, + size_t length, + char * error_buf) +{ + json_char error [json_error_max]; + const json_char * end; + json_value * top, * root, * alloc = 0; + json_state state = { 0 }; + long flags; + long num_digits = 0, num_e = 0; + json_int_t num_fraction = 0; + + /* Skip UTF-8 BOM + */ + if (length >= 3 && ((unsigned char) json [0]) == 0xEF + && ((unsigned char) json [1]) == 0xBB + && ((unsigned char) json [2]) == 0xBF) + { + json += 3; + length -= 3; + } + + error[0] = '\0'; + end = (json + length); + + memcpy (&state.settings, settings, sizeof (json_settings)); + + if (!state.settings.mem_alloc) + state.settings.mem_alloc = default_alloc; + + if (!state.settings.mem_free) + state.settings.mem_free = default_free; + + memset (&state.uint_max, 0xFF, sizeof (state.uint_max)); + memset (&state.ulong_max, 0xFF, sizeof (state.ulong_max)); + + state.uint_max -= 8; /* limit of how much can be added before next check */ + state.ulong_max -= 8; + + for (state.first_pass = 1; state.first_pass >= 0; -- state.first_pass) + { + json_uchar uchar; + unsigned char uc_b1, uc_b2, uc_b3, uc_b4; + json_char * string = 0; + unsigned int string_length = 0; + + top = root = 0; + flags = flag_seek_value; + + state.cur_line = 1; + + for (state.ptr = json ;; ++ state.ptr) + { + json_char b = (state.ptr == end ? 0 : *state.ptr); + + if (flags & flag_string) + { + if (!b) + { sprintf (error, "Unexpected EOF in string (at %d:%d)", line_and_col); + goto e_failed; + } + + if (string_length > state.uint_max) + goto e_overflow; + + if (flags & flag_escaped) + { + flags &= ~ flag_escaped; + + switch (b) + { + case 'b': string_add ('\b'); break; + case 'f': string_add ('\f'); break; + case 'n': string_add ('\n'); break; + case 'r': string_add ('\r'); break; + case 't': string_add ('\t'); break; + case 'u': + + if (end - state.ptr <= 4 || + (uc_b1 = hex_value (*++ state.ptr)) == 0xFF || + (uc_b2 = hex_value (*++ state.ptr)) == 0xFF || + (uc_b3 = hex_value (*++ state.ptr)) == 0xFF || + (uc_b4 = hex_value (*++ state.ptr)) == 0xFF) + { + sprintf (error, "Invalid character value `%c` (at %d:%d)", b, line_and_col); + goto e_failed; + } + + uc_b1 = (uc_b1 << 4) | uc_b2; + uc_b2 = (uc_b3 << 4) | uc_b4; + uchar = (uc_b1 << 8) | uc_b2; + + if ((uchar & 0xF800) == 0xD800) { + json_uchar uchar2; + + if (end - state.ptr <= 6 || (*++ state.ptr) != '\\' || (*++ state.ptr) != 'u' || + (uc_b1 = hex_value (*++ state.ptr)) == 0xFF || + (uc_b2 = hex_value (*++ state.ptr)) == 0xFF || + (uc_b3 = hex_value (*++ state.ptr)) == 0xFF || + (uc_b4 = hex_value (*++ state.ptr)) == 0xFF) + { + sprintf (error, "Invalid character value `%c` (at %d:%d)", b, line_and_col); + goto e_failed; + } + + uc_b1 = (uc_b1 << 4) | uc_b2; + uc_b2 = (uc_b3 << 4) | uc_b4; + uchar2 = (uc_b1 << 8) | uc_b2; + + uchar = 0x010000 | ((uchar & 0x3FF) << 10) | (uchar2 & 0x3FF); + } + + if (sizeof (json_char) >= sizeof (json_uchar) || (uchar <= 0x7F)) + { + string_add ((json_char) uchar); + break; + } + + if (uchar <= 0x7FF) + { + if (state.first_pass) + string_length += 2; + else + { string [string_length ++] = 0xC0 | (uchar >> 6); + string [string_length ++] = 0x80 | (uchar & 0x3F); + } + + break; + } + + if (uchar <= 0xFFFF) { + if (state.first_pass) + string_length += 3; + else + { string [string_length ++] = 0xE0 | (uchar >> 12); + string [string_length ++] = 0x80 | ((uchar >> 6) & 0x3F); + string [string_length ++] = 0x80 | (uchar & 0x3F); + } + + break; + } + + if (state.first_pass) + string_length += 4; + else + { string [string_length ++] = 0xF0 | (uchar >> 18); + string [string_length ++] = 0x80 | ((uchar >> 12) & 0x3F); + string [string_length ++] = 0x80 | ((uchar >> 6) & 0x3F); + string [string_length ++] = 0x80 | (uchar & 0x3F); + } + + break; + + default: + string_add (b); + }; + + continue; + } + + if (b == '\\') + { + flags |= flag_escaped; + continue; + } + + if (b == '"') + { + if (!state.first_pass) + string [string_length] = 0; + + flags &= ~ flag_string; + string = 0; + + switch (top->type) + { + case json_string: + + top->u.string.length = string_length; + flags |= flag_next; + + break; + + case json_object: + + if (state.first_pass) + (*(json_char **) &top->u.object.values) += string_length + 1; + else + { + top->u.object.values [top->u.object.length].name + = (json_char *) top->_reserved.object_mem; + + top->u.object.values [top->u.object.length].name_length + = string_length; + + (*(json_char **) &top->_reserved.object_mem) += string_length + 1; + } + + flags |= flag_seek_value | flag_need_colon; + continue; + + default: + break; + }; + } + else + { + string_add (b); + continue; + } + } + + if (state.settings.settings & json_enable_comments) + { + if (flags & (flag_line_comment | flag_block_comment)) + { + if (flags & flag_line_comment) + { + if (b == '\r' || b == '\n' || !b) + { + flags &= ~ flag_line_comment; + -- state.ptr; /* so null can be reproc'd */ + } + + continue; + } + + if (flags & flag_block_comment) + { + if (!b) + { sprintf (error, "%d:%d: Unexpected EOF in block comment", line_and_col); + goto e_failed; + } + + if (b == '*' && state.ptr < (end - 1) && state.ptr [1] == '/') + { + flags &= ~ flag_block_comment; + ++ state.ptr; /* skip closing sequence */ + } + + continue; + } + } + else if (b == '/') + { + if (! (flags & (flag_seek_value | flag_done)) && top->type != json_object) + { sprintf (error, "%d:%d: Comment not allowed here", line_and_col); + goto e_failed; + } + + if (++ state.ptr == end) + { sprintf (error, "%d:%d: EOF unexpected", line_and_col); + goto e_failed; + } + + switch (b = *state.ptr) + { + case '/': + flags |= flag_line_comment; + continue; + + case '*': + flags |= flag_block_comment; + continue; + + default: + sprintf (error, "%d:%d: Unexpected `%c` in comment opening sequence", line_and_col, b); + goto e_failed; + }; + } + } + + if (flags & flag_done) + { + if (!b) + break; + + switch (b) + { + whitespace: + continue; + + default: + + sprintf (error, "%d:%d: Trailing garbage: `%c`", + state.cur_line, state.cur_col, b); + + goto e_failed; + }; + } + + if (flags & flag_seek_value) + { + switch (b) + { + whitespace: + continue; + + case ']': + + if (top && top->type == json_array) + flags = (flags & ~ (flag_need_comma | flag_seek_value)) | flag_next; + else + { sprintf (error, "%d:%d: Unexpected ]", line_and_col); + goto e_failed; + } + + break; + + default: + + if (flags & flag_need_comma) + { + if (b == ',') + { flags &= ~ flag_need_comma; + continue; + } + else + { + sprintf (error, "%d:%d: Expected , before %c", + state.cur_line, state.cur_col, b); + + goto e_failed; + } + } + + if (flags & flag_need_colon) + { + if (b == ':') + { flags &= ~ flag_need_colon; + continue; + } + else + { + sprintf (error, "%d:%d: Expected : before %c", + state.cur_line, state.cur_col, b); + + goto e_failed; + } + } + + flags &= ~ flag_seek_value; + + switch (b) + { + case '{': + + if (!new_value (&state, &top, &root, &alloc, json_object)) + goto e_alloc_failure; + + continue; + + case '[': + + if (!new_value (&state, &top, &root, &alloc, json_array)) + goto e_alloc_failure; + + flags |= flag_seek_value; + continue; + + case '"': + + if (!new_value (&state, &top, &root, &alloc, json_string)) + goto e_alloc_failure; + + flags |= flag_string; + + string = top->u.string.ptr; + string_length = 0; + + continue; + + case 't': + + if ((end - state.ptr) < 3 || *(++ state.ptr) != 'r' || + *(++ state.ptr) != 'u' || *(++ state.ptr) != 'e') + { + goto e_unknown_value; + } + + if (!new_value (&state, &top, &root, &alloc, json_boolean)) + goto e_alloc_failure; + + top->u.boolean = 1; + + flags |= flag_next; + break; + + case 'f': + + if ((end - state.ptr) < 4 || *(++ state.ptr) != 'a' || + *(++ state.ptr) != 'l' || *(++ state.ptr) != 's' || + *(++ state.ptr) != 'e') + { + goto e_unknown_value; + } + + if (!new_value (&state, &top, &root, &alloc, json_boolean)) + goto e_alloc_failure; + + flags |= flag_next; + break; + + case 'n': + + if ((end - state.ptr) < 3 || *(++ state.ptr) != 'u' || + *(++ state.ptr) != 'l' || *(++ state.ptr) != 'l') + { + goto e_unknown_value; + } + + if (!new_value (&state, &top, &root, &alloc, json_null)) + goto e_alloc_failure; + + flags |= flag_next; + break; + + default: + + if (isdigit (b) || b == '-') + { + if (!new_value (&state, &top, &root, &alloc, json_integer)) + goto e_alloc_failure; + + if (!state.first_pass) + { + while (isdigit (b) || b == '+' || b == '-' + || b == 'e' || b == 'E' || b == '.') + { + if ( (++ state.ptr) == end) + { + b = 0; + break; + } + + b = *state.ptr; + } + + flags |= flag_next | flag_reproc; + break; + } + + flags &= ~ (flag_num_negative | flag_num_e | + flag_num_e_got_sign | flag_num_e_negative | + flag_num_zero); + + num_digits = 0; + num_fraction = 0; + num_e = 0; + + if (b != '-') + { + flags |= flag_reproc; + break; + } + + flags |= flag_num_negative; + continue; + } + else + { sprintf (error, "%d:%d: Unexpected %c when seeking value", line_and_col, b); + goto e_failed; + } + }; + }; + } + else + { + switch (top->type) + { + case json_object: + + switch (b) + { + whitespace: + continue; + + case '"': + + if (flags & flag_need_comma) + { sprintf (error, "%d:%d: Expected , before \"", line_and_col); + goto e_failed; + } + + flags |= flag_string; + + string = (json_char *) top->_reserved.object_mem; + string_length = 0; + + break; + + case '}': + + flags = (flags & ~ flag_need_comma) | flag_next; + break; + + case ',': + + if (flags & flag_need_comma) + { + flags &= ~ flag_need_comma; + break; + } + + default: + sprintf (error, "%d:%d: Unexpected `%c` in object", line_and_col, b); + goto e_failed; + }; + + break; + + case json_integer: + case json_double: + + if (isdigit (b)) + { + ++ num_digits; + + if (top->type == json_integer || flags & flag_num_e) + { + if (! (flags & flag_num_e)) + { + if (flags & flag_num_zero) + { sprintf (error, "%d:%d: Unexpected `0` before `%c`", line_and_col, b); + goto e_failed; + } + + if (num_digits == 1 && b == '0') + flags |= flag_num_zero; + } + else + { + flags |= flag_num_e_got_sign; + num_e = (num_e * 10) + (b - '0'); + continue; + } + + top->u.integer = (top->u.integer * 10) + (b - '0'); + continue; + } + + num_fraction = (num_fraction * 10) + (b - '0'); + continue; + } + + if (b == '+' || b == '-') + { + if ( (flags & flag_num_e) && !(flags & flag_num_e_got_sign)) + { + flags |= flag_num_e_got_sign; + + if (b == '-') + flags |= flag_num_e_negative; + + continue; + } + } + else if (b == '.' && top->type == json_integer) + { + if (!num_digits) + { sprintf (error, "%d:%d: Expected digit before `.`", line_and_col); + goto e_failed; + } + + top->type = json_double; + top->u.dbl = (double) top->u.integer; + + num_digits = 0; + continue; + } + + if (! (flags & flag_num_e)) + { + if (top->type == json_double) + { + if (!num_digits) + { sprintf (error, "%d:%d: Expected digit after `.`", line_and_col); + goto e_failed; + } + + //top->u.dbl += ((double) num_fraction) / (pow (10.0, (double) num_digits)); + } + + if (b == 'e' || b == 'E') + { + flags |= flag_num_e; + + if (top->type == json_integer) + { + top->type = json_double; + top->u.dbl = (double) top->u.integer; + } + + num_digits = 0; + flags &= ~ flag_num_zero; + + continue; + } + } + else + { + if (!num_digits) + { sprintf (error, "%d:%d: Expected digit after `e`", line_and_col); + goto e_failed; + } + + /*top->u.dbl *= pow (10.0, (double) + (flags & flag_num_e_negative ? - num_e : num_e));*/ + } + + if (flags & flag_num_negative) + { + if (top->type == json_integer) + top->u.integer = - top->u.integer; + else + top->u.dbl = - top->u.dbl; + } + + flags |= flag_next | flag_reproc; + break; + + default: + break; + }; + } + + if (flags & flag_reproc) + { + flags &= ~ flag_reproc; + -- state.ptr; + } + + if (flags & flag_next) + { + flags = (flags & ~ flag_next) | flag_need_comma; + + if (!top->parent) + { + /* root value done */ + + flags |= flag_done; + continue; + } + + if (top->parent->type == json_array) + flags |= flag_seek_value; + + if (!state.first_pass) + { + json_value * parent = top->parent; + + switch (parent->type) + { + case json_object: + + parent->u.object.values + [parent->u.object.length].value = top; + + break; + + case json_array: + + parent->u.array.values + [parent->u.array.length] = top; + + break; + + default: + break; + }; + } + + if ( (++ top->parent->u.array.length) > state.uint_max) + goto e_overflow; + + top = top->parent; + + continue; + } + } + + alloc = root; + } + + return root; + +e_unknown_value: + + sprintf (error, "%d:%d: Unknown value", line_and_col); + goto e_failed; + +e_alloc_failure: + + strcpy (error, "Memory allocation failure"); + goto e_failed; + +e_overflow: + + sprintf (error, "%d:%d: Too long (caught overflow)", line_and_col); + goto e_failed; + +e_failed: + + if (error_buf) + { + if (*error) + strcpy (error_buf, error); + else + strcpy (error_buf, "Unknown error"); + } + + if (state.first_pass) + alloc = root; + + while (alloc) + { + top = alloc->_reserved.next_alloc; + state.settings.mem_free (alloc, state.settings.user_data); + alloc = top; + } + + if (!state.first_pass) + json_value_free_ex (&state.settings, root); + + return 0; +} + +json_value * json_parse (const json_char * json, size_t length) +{ + json_settings settings = { 0 }; + return json_parse_ex (&settings, json, length, 0); +} + +void json_value_free_ex (json_settings * settings, json_value * value) +{ + json_value * cur_value; + + if (!value) + return; + + value->parent = 0; + + while (value) + { + switch (value->type) + { + case json_array: + + if (!value->u.array.length) + { + settings->mem_free (value->u.array.values, settings->user_data); + break; + } + + value = value->u.array.values [-- value->u.array.length]; + continue; + + case json_object: + + if (!value->u.object.length) + { + settings->mem_free (value->u.object.values, settings->user_data); + break; + } + + value = value->u.object.values [-- value->u.object.length].value; + continue; + + case json_string: + + settings->mem_free (value->u.string.ptr, settings->user_data); + break; + + default: + break; + }; + + cur_value = value; + value = value->parent; + settings->mem_free (cur_value, settings->user_data); + } +} + +void json_value_free (json_value * value) +{ + json_settings settings = { 0 }; + settings.mem_free = default_free; + json_value_free_ex (&settings, value); +} + diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/tests/testutils/json_util.c b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/testutils/json_util.c new file mode 100755 index 0000000..f617cd1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/tests/testutils/json_util.c @@ -0,0 +1,137 @@ +#include "json.h" +#include +#include + +json_value* json_get_string(json_value* value, const char* key){ + int length, x; + if (value == NULL) { + return NULL; + } + if (value->type != json_object) { + return NULL; + } + length = value->u.object.length; + for (x = 0; x < length; x++) { + if( strcmp( value->u.object.values[x].name, key) == 0){ + if( value->u.object.values[x].value->type == json_string){ + return value->u.object.values[x].value; + } + } + } + return NULL; +} + +int json_set_string(json_value* value, const char* new_string_value){ + if( value->type == json_string){ + int length = strlen(new_string_value); + if( length > value->u.string.length ){ + value->u.string.ptr = malloc(length + 1); + } + strcpy( value->u.string.ptr, new_string_value ); + value->u.string.length = length; + } + return 0; +} + +int compareJsonValues(json_value* value1, json_value* value2); + +int compareJsonObjects(json_value* value1, json_value* value2){ + int length1 = value1->u.object.length; + int length2 = value2->u.object.length; + if( length1 != length2 ) + return 0; + for (int x = 0; x < length1; x++) { + char* name = value1->u.object.values[x].name; + int found = 0; + for( int y = 0; y < length2; y++){ + if( strcmp( value2->u.object.values[y].name, name ) == 0){ + if( !compareJsonValues( value1->u.object.values[x].value, + value2->u.object.values[y].value ) ) + return 0; + found = 1; + break; + } + } + if( !found ) + return 0; + } + return 1; +} + +int compareJsonArrays(json_value* value1, json_value* value2){ + int length1 = value1->u.array.length; + int length2 = value2->u.array.length; + if( length1 != length2 ) + return 0; + for (int x = 0; x < length1; x++) { + if( !compareJsonValues(value1->u.array.values[x], value2->u.array.values[x]) ) + return 0; + } + return 1; +} + +int compareJsonValues(json_value* value1, json_value* value2){ + if( value1 == NULL && value2 == NULL) + return 1; + if( value1 == NULL || value2 == NULL) + return 0; + if( value1->type != value2->type) + return 0; + switch (value1->type) { + case json_null: + return value2->type == json_null; + case json_none: + return 1; + case json_object: + return compareJsonObjects(value1, value2); + case json_array: + return compareJsonArrays(value1, value2); + case json_integer: + return value1->u.integer == value2->u.integer; + case json_double: + return fabs(value1->u.dbl - value2->u.dbl) < 0.000001; + case json_string: + return strcmp(value1->u.string.ptr, value2->u.string.ptr) == 0; + case json_boolean: + return value1->u.boolean == value2->u.boolean; + } + return 1; +} + + +json_value* get_json_value_not_strict(json_value* node, const char* path, + json_type type, int allow_null){ + int n; + const char* p = strchr(path, '/'); + if( p == NULL ) + n = strlen(path); + else + n = p - path; + if( n > 0 ) { + if( node->type == json_object){ + for (int x = 0; x < node->u.object.length; x++) { + json_object_entry * entry = &node->u.object.values[x]; + char* name = entry->name; + json_value* value = entry->value; + if( strncmp( path, name, n ) == 0){ + if( p == NULL){ + if( value->type == type || + (allow_null && value->type == json_null)) + return value; + }else + return get_json_value_not_strict( + value, p + 1, type, allow_null); + } + } + } else { + return NULL; + } + } + return NULL; +} + +json_value* get_json_value(json_value* node, const char* path, + json_type type){ + return get_json_value_not_strict(node, path, type, 1); +} + diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/wallet.wallet.go b/vendor/github.com/skycoin/skycoin/lib/cgo/wallet.wallet.go new file mode 100755 index 0000000..22b1a3c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/wallet.wallet.go @@ -0,0 +1,382 @@ +package main + +import ( + "reflect" + "unsafe" + + cipher "github.com/skycoin/skycoin/src/cipher" + coin "github.com/skycoin/skycoin/src/coin" + wallet "github.com/skycoin/skycoin/src/wallet" +) + +/* + #include + #include + + #include "skytypes.h" +*/ +import "C" + +//export SKY_wallet_NewWallet +func SKY_wallet_NewWallet(_wltName string, _opts C.Options__Handle, _arg2 *C.Wallet__Handle) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + wltName := _wltName + __opts, okopts := lookupOptionsHandle(_opts) + if !okopts { + ____error_code = SKY_ERROR + return + } + opts := *__opts + __arg2, ____return_err := wallet.NewWallet(wltName, opts) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg2 = registerWalletHandle(__arg2) + } + return +} + +//export SKY_wallet_Wallet_Lock +func SKY_wallet_Wallet_Lock(_w C.Wallet__Handle, _password []byte, _cryptoType string) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + password := *(*[]byte)(unsafe.Pointer(&_password)) + cryptoType := wallet.CryptoType(_cryptoType) + ____return_err := w.Lock(password, cryptoType) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + } + return +} + +//export SKY_wallet_Wallet_Unlock +func SKY_wallet_Wallet_Unlock(_w C.Wallet__Handle, _password []byte, _arg1 *C.Wallet__Handle) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + password := *(*[]byte)(unsafe.Pointer(&_password)) + __arg1, ____return_err := w.Unlock(password) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg1 = registerWalletHandle(__arg1) + } + return +} + +//export SKY_wallet_Load +func SKY_wallet_Load(_wltFile string, _arg1 *C.Wallet__Handle) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + wltFile := _wltFile + __arg1, ____return_err := wallet.Load(wltFile) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg1 = registerWalletHandle(__arg1) + } + return +} + +//export SKY_wallet_Wallet_Save +func SKY_wallet_Wallet_Save(_w C.Wallet__Handle, _dir string) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + dir := _dir + ____return_err := w.Save(dir) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + } + return +} + +//export SKY_wallet_Wallet_Validate +func SKY_wallet_Wallet_Validate(_w C.Wallet__Handle) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + ____return_err := w.Validate() + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + } + return +} + +//export SKY_wallet_Wallet_Type +func SKY_wallet_Wallet_Type(_w C.Wallet__Handle, _argSKY_OK *C.GoString_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + __argSKY_OK := w.Type() + copyString(__argSKY_OK, _argSKY_OK) + return +} + +//export SKY_wallet_Wallet_Version +func SKY_wallet_Wallet_Version(_w C.Wallet__Handle, _argSKY_OK *C.GoString_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + __argSKY_OK := w.Version() + copyString(__argSKY_OK, _argSKY_OK) + return +} + +//export SKY_wallet_Wallet_Filename +func SKY_wallet_Wallet_Filename(_w C.Wallet__Handle, _argSKY_OK *C.GoString_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + __argSKY_OK := w.Filename() + copyString(__argSKY_OK, _argSKY_OK) + return +} + +//export SKY_wallet_Wallet_Label +func SKY_wallet_Wallet_Label(_w C.Wallet__Handle, _argSKY_OK *C.GoString_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + __argSKY_OK := w.Label() + copyString(__argSKY_OK, _argSKY_OK) + return +} + +//export SKY_wallet_Wallet_IsEncrypted +func SKY_wallet_Wallet_IsEncrypted(_w C.Wallet__Handle, _argSKY_OK *bool) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + __argSKY_OK := w.IsEncrypted() + *_argSKY_OK = __argSKY_OK + return +} + +//export SKY_wallet_Wallet_GenerateAddresses +func SKY_wallet_Wallet_GenerateAddresses(_w C.Wallet__Handle, _num uint64, _arg1 *C.GoSlice_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + num := _num + __arg1, ____return_err := w.GenerateAddresses(num) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + copyToGoSlice(reflect.ValueOf(__arg1), _arg1) + } + return +} + +//export SKY_wallet_Wallet_GetAddresses +func SKY_wallet_Wallet_GetAddresses(_w C.Wallet__Handle, _argSKY_OK *C.GoSlice_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + __argSKY_OK := w.GetAddresses() + copyToGoSlice(reflect.ValueOf(__argSKY_OK), _argSKY_OK) + return +} + +//export SKY_wallet_Wallet_GetEntry +func SKY_wallet_Wallet_GetEntry(_w C.Wallet__Handle, _a *C.cipher__Address, _arg1 *C.wallet__Entry, _arg2 *bool) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + a := *(*cipher.Address)(unsafe.Pointer(_a)) + __arg1, __arg2 := w.GetEntry(a) + *_arg1 = *(*C.wallet__Entry)(unsafe.Pointer(&__arg1)) + *_arg2 = __arg2 + return +} + +//export SKY_wallet_Wallet_AddEntry +func SKY_wallet_Wallet_AddEntry(_w C.Wallet__Handle, _entry *C.wallet__Entry) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + w, okw := lookupWalletHandle(_w) + if !okw { + ____error_code = SKY_ERROR + return + } + entry := *(*wallet.Entry)(unsafe.Pointer(_entry)) + ____return_err := w.AddEntry(entry) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + } + return +} + +//export SKY_wallet_DistributeSpendHours +func SKY_wallet_DistributeSpendHours(_inputHours, _nAddrs uint64, _haveChange bool, _arg2 *uint64, _arg3 *C.GoSlice_, _arg4 *uint64) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + inputHours := _inputHours + nAddrs := _nAddrs + haveChange := _haveChange + __arg2, __arg3, __arg4 := wallet.DistributeSpendHours(inputHours, nAddrs, haveChange) + *_arg2 = __arg2 + copyToGoSlice(reflect.ValueOf(__arg3), _arg3) + *_arg4 = __arg4 + return +} + +//export SKY_wallet_DistributeCoinHoursProportional +func SKY_wallet_DistributeCoinHoursProportional(_coins []uint64, _hours uint64, _arg2 *C.GoSlice_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + coins := *(*[]uint64)(unsafe.Pointer(&_coins)) + hours := _hours + __arg2, ____return_err := wallet.DistributeCoinHoursProportional(coins, hours) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + copyToGoSlice(reflect.ValueOf(__arg2), _arg2) + } + return +} + +//export SKY_wallet_NewUxBalances +func SKY_wallet_NewUxBalances(_headTime uint64, _uxa *C.coin__UxArray, _arg2 *C.GoSlice_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + headTime := _headTime + uxa := *(*coin.UxArray)(unsafe.Pointer(_uxa)) + __arg2, ____return_err := wallet.NewUxBalances(headTime, uxa) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + copyToGoSlice(reflect.ValueOf(__arg2), _arg2) + } + return +} + +//export SKY_wallet_NewUxBalance +func SKY_wallet_NewUxBalance(_headTime uint64, _ux *C.coin__UxOut, _arg2 *C.wallet__UxBalance) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + headTime := _headTime + ux := *(*coin.UxOut)(unsafe.Pointer(_ux)) + __arg2, ____return_err := wallet.NewUxBalance(headTime, ux) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + *_arg2 = *(*C.wallet__UxBalance)(unsafe.Pointer(&__arg2)) + } + return +} + +//export SKY_wallet_ChooseSpendsMinimizeUxOuts +func SKY_wallet_ChooseSpendsMinimizeUxOuts(_uxa []C.wallet__UxBalance, _coins, _hours uint64, _arg2 *C.GoSlice_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + uxa := *(*[]wallet.UxBalance)(unsafe.Pointer(&_uxa)) + coins := _coins + hours := _hours + __arg2, ____return_err := wallet.ChooseSpendsMinimizeUxOuts(uxa, coins, hours) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + copyToGoSlice(reflect.ValueOf(__arg2), _arg2) + } + return +} + +//export SKY_wallet_ChooseSpendsMaximizeUxOuts +func SKY_wallet_ChooseSpendsMaximizeUxOuts(_uxa []C.wallet__UxBalance, _coins, _hours uint64, _arg2 *C.GoSlice_) (____error_code uint32) { + ____error_code = SKY_OK + defer func() { + ____error_code = catchApiPanic(____error_code, recover()) + }() + uxa := *(*[]wallet.UxBalance)(unsafe.Pointer(&_uxa)) + coins := _coins + hours := _hours + __arg2, ____return_err := wallet.ChooseSpendsMaximizeUxOuts(uxa, coins, hours) + ____error_code = libErrorCode(____return_err) + if ____return_err == nil { + copyToGoSlice(reflect.ValueOf(__arg2), _arg2) + } + return +} diff --git a/vendor/github.com/skycoin/skycoin/lib/cgo/wallet_option.go b/vendor/github.com/skycoin/skycoin/lib/cgo/wallet_option.go new file mode 100755 index 0000000..f5db19c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/lib/cgo/wallet_option.go @@ -0,0 +1,27 @@ +package main + +import ( + wallet "github.com/skycoin/skycoin/src/wallet" +) + +/* + #include + #include + + #include "skytypes.h" +*/ +import "C" + +//export SKY_wallet_CreateOptionsHandle +func SKY_wallet_CreateOptionsHandle(coin string, label string, seed string, encrypt bool, pwd string, cryptoType string, scanN uint64, _opts *C.Options__Handle) uint32 { + var walletOptions wallet.Options + walletOptions.Coin = (wallet.CoinType)(coin) + walletOptions.Label = label + walletOptions.Seed = seed + walletOptions.Encrypt = encrypt + walletOptions.Password = []byte(pwd) + walletOptions.CryptoType = (wallet.CryptoType)(cryptoType) + walletOptions.ScanN = scanN + *_opts = registerOptionsHandle(&walletOptions) + return SKY_OK +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/address.go b/vendor/github.com/skycoin/skycoin/src/api/address.go new file mode 100755 index 0000000..8b61544 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/address.go @@ -0,0 +1,63 @@ +package api + +import ( + "encoding/json" + "net/http" + + "github.com/skycoin/skycoin/src/cipher" + //http,json helpers +) + +// VerifyAddressRequest is the request data for POST /api/v2/address/verify +type VerifyAddressRequest struct { + Address string `json:"address"` +} + +// VerifyAddressResponse is returned by POST /api/v2/address/verify +type VerifyAddressResponse struct { + Version byte `json:"version"` +} + +// addressVerify verifies a Skycoin address +// Method: POST +// URI: /api/v2/address/verify +func addressVerify(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + resp := NewHTTPErrorResponse(http.StatusMethodNotAllowed, "") + writeHTTPResponse(w, resp) + return + } + + if r.Header.Get("Content-Type") != "application/json" { + resp := NewHTTPErrorResponse(http.StatusUnsupportedMediaType, "") + writeHTTPResponse(w, resp) + return + } + + var req VerifyAddressRequest + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + writeHTTPResponse(w, resp) + return + } + + if req.Address == "" { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "address is required") + writeHTTPResponse(w, resp) + return + } + + addr, err := cipher.DecodeBase58Address(req.Address) + + if err != nil { + resp := NewHTTPErrorResponse(http.StatusUnprocessableEntity, err.Error()) + writeHTTPResponse(w, resp) + return + } + + writeHTTPResponse(w, HTTPResponse{ + Data: VerifyAddressResponse{ + Version: addr.Version, + }, + }) +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/address_test.go b/vendor/github.com/skycoin/skycoin/src/api/address_test.go new file mode 100755 index 0000000..9bff220 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/address_test.go @@ -0,0 +1,153 @@ +package api + +import ( + "bytes" + "encoding/json" + "net/http" + "net/http/httptest" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestVerifyAddress(t *testing.T) { + toJSON := func(r VerifyAddressRequest) string { + b, err := json.Marshal(r) + require.NoError(t, err) + return string(b) + } + + cases := []struct { + name string + method string + status int + contentType string + csrfDisabled bool + httpBody string + httpResponse HTTPResponse + }{ + { + name: "405", + method: http.MethodGet, + status: http.StatusMethodNotAllowed, + httpResponse: NewHTTPErrorResponse(http.StatusMethodNotAllowed, ""), + }, + + { + name: "415 - Unsupported Media Type", + method: http.MethodPost, + contentType: "application/x-www-form-urlencoded", + status: http.StatusUnsupportedMediaType, + httpResponse: NewHTTPErrorResponse(http.StatusUnsupportedMediaType, ""), + }, + + { + name: "400 - EOF", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusBadRequest, + httpResponse: NewHTTPErrorResponse(http.StatusBadRequest, "EOF"), + }, + + { + name: "400 - Missing address", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusBadRequest, + httpBody: "{}", + httpResponse: NewHTTPErrorResponse(http.StatusBadRequest, "address is required"), + }, + + { + name: "422 - Invalid checksum", + method: http.MethodPost, + status: http.StatusUnprocessableEntity, + httpBody: toJSON(VerifyAddressRequest{ + Address: "7apQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + }), + httpResponse: NewHTTPErrorResponse(http.StatusUnprocessableEntity, "Invalid checksum"), + }, + { + name: "200", + method: http.MethodPost, + status: http.StatusOK, + httpBody: toJSON(VerifyAddressRequest{ + Address: "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + }), + httpResponse: HTTPResponse{ + Data: VerifyAddressResponse{ + Version: 0, + }, + }, + }, + { + name: "200 - csrf disabled", + method: http.MethodPost, + status: http.StatusOK, + httpBody: toJSON(VerifyAddressRequest{ + Address: "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + }), + httpResponse: HTTPResponse{ + Data: VerifyAddressResponse{ + Version: 0, + }, + }, + csrfDisabled: true, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v2/address/verify" + gateway := NewGatewayerMock() + gateway.On("IsCSPEnabled").Return(false) + + req, err := http.NewRequest(tc.method, endpoint, bytes.NewBufferString(tc.httpBody)) + require.NoError(t, err) + + contentType := tc.contentType + if contentType == "" { + contentType = "application/json" + } + + req.Header.Set("Content-Type", contentType) + + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + + rr := httptest.NewRecorder() + cfg := muxConfig{host: configuredHost, appLoc: "."} + handler := newServerMux(cfg, gateway, csrfStore, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + var rsp ReceivedHTTPResponse + err = json.NewDecoder(rr.Body).Decode(&rsp) + require.NoError(t, err) + + require.Equal(t, tc.httpResponse.Error, rsp.Error) + + if rsp.Data == nil { + require.Nil(t, tc.httpResponse.Data) + } else { + require.NotNil(t, tc.httpResponse.Data) + + var addrRsp VerifyAddressResponse + err := json.Unmarshal(rsp.Data, &addrRsp) + require.NoError(t, err) + + require.Equal(t, tc.httpResponse.Data.(VerifyAddressResponse), addrRsp) + } + + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/blockchain.go b/vendor/github.com/skycoin/skycoin/src/api/blockchain.go new file mode 100755 index 0000000..8f640f7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/blockchain.go @@ -0,0 +1,160 @@ +package api + +// APIs for blockchain related information + +import ( + "fmt" + "net/http" + "strconv" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + wh "github.com/skycoin/skycoin/src/util/http" + "github.com/skycoin/skycoin/src/visor" //http,json helpers +) + +func blockchainHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + metadata, err := gateway.GetBlockchainMetadata() + if err != nil { + err = fmt.Errorf("gateway.GetBlockchainMetadata failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, metadata) + } +} + +func blockchainProgressHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + progress, err := gateway.GetBlockchainProgress() + if err != nil { + err = fmt.Errorf("gateway.GetBlockchainProgress failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, progress) + } +} + +// get block by hash or seq +// method: GET +// url: /block?hash=[:hash] or /block?seq[:seq] +// params: hash or seq, should only specify one filter. +func getBlock(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + hash := r.FormValue("hash") + seq := r.FormValue("seq") + var b *coin.SignedBlock + switch { + case hash == "" && seq == "": + wh.Error400(w, "should specify one filter, hash or seq") + return + case hash != "" && seq != "": + wh.Error400(w, "should only specify one filter, hash or seq") + return + case hash != "": + h, err := cipher.SHA256FromHex(hash) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + b, err = gateway.GetSignedBlockByHash(h) + if err != nil { + wh.Error500(w, err.Error()) + return + } + case seq != "": + uSeq, err := strconv.ParseUint(seq, 10, 64) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + b, err = gateway.GetSignedBlockBySeq(uSeq) + if err != nil { + wh.Error500(w, err.Error()) + return + } + } + + if b == nil { + wh.Error404(w, "") + return + } + + rb, err := visor.NewReadableBlock(&b.Block) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, rb) + } +} + +func getBlocks(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + sstart := r.FormValue("start") + start, err := strconv.ParseUint(sstart, 10, 64) + if err != nil { + wh.Error400(w, fmt.Sprintf("Invalid start value \"%s\"", sstart)) + return + } + + send := r.FormValue("end") + end, err := strconv.ParseUint(send, 10, 64) + if err != nil { + wh.Error400(w, fmt.Sprintf("Invalid end value \"%s\"", send)) + return + } + rb, err := gateway.GetBlocks(start, end) + if err != nil { + wh.Error400(w, fmt.Sprintf("Get blocks failed: %v", err)) + return + } + wh.SendJSONOr500(logger, w, rb) + } +} + +// get last N blocks +func getLastBlocks(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + num := r.FormValue("num") + if num == "" { + wh.Error400(w, "Param: num is empty") + return + } + + n, err := strconv.ParseUint(num, 10, 64) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + rb, err := gateway.GetLastBlocks(n) + if err != nil { + wh.Error400(w, fmt.Sprintf("Get last %v blocks failed: %v", n, err)) + return + } + + wh.SendJSONOr500(logger, w, rb) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/blockchain_test.go b/vendor/github.com/skycoin/skycoin/src/api/blockchain_test.go new file mode 100755 index 0000000..ae0d4e4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/blockchain_test.go @@ -0,0 +1,491 @@ +package api + +import ( + "net/http" + "net/http/httptest" + "net/url" + "strings" + "testing" + + "encoding/json" + + "math" + + "github.com/stretchr/testify/require" + + "errors" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor" +) + +func makeBadBlock(t *testing.T) *coin.Block { + genPublic, _ := cipher.GenerateKeyPair() + genAddress := cipher.AddressFromPubKey(genPublic) + var genCoins uint64 = 1000e6 + var genTime uint64 = 1000 + now := genTime + 100 + preBlock, err := coin.NewGenesisBlock(genAddress, genCoins, genTime) + require.NoError(t, err) + uxHash := testutil.RandSHA256(t) + tx := coin.Transaction{} + tx.PushOutput(genAddress, math.MaxInt64+1, 255) + b, err := coin.NewBlock(*preBlock, now, uxHash, coin.Transactions{tx}, func(t *coin.Transaction) (uint64, error) { + return 0, nil + }) + require.NoError(t, err) + return b +} + +func TestGetBlock(t *testing.T) { + + badBlock := makeBadBlock(t) + validHashString := testutil.RandSHA256(t).Hex() + validSHA256, err := cipher.SHA256FromHex(validHashString) + require.NoError(t, err) + + tt := []struct { + name string + method string + status int + err string + hash string + sha256 cipher.SHA256 + seqStr string + seq uint64 + gatewayGetBlockByHashResult *coin.SignedBlock + gatewayGetBlockByHashErr error + gatewayGetBlockBySeqResult *coin.SignedBlock + gatewayGetBlockBySeqErr error + response *visor.ReadableBlock + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "400 - no seq and hash", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - should specify one filter, hash or seq", + }, + { + name: "400 - seq and hash simultaneously", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - should only specify one filter, hash or seq", + hash: "hash", + seqStr: "seq", + }, + { + name: "400 - hash error: encoding/hex err invalid byte: U+0068 'h'", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - encoding/hex: invalid byte: U+0068 'h'", + hash: "hash", + }, + { + name: "400 - hash error: encoding/hex: odd length hex string", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - encoding/hex: odd length hex string", + hash: "1234abc", + }, + { + name: "400 - hash error: Invalid hex length", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - Invalid hex length", + hash: "1234abcd", + }, + { + name: "404 - block by hash does not exist", + method: http.MethodGet, + status: http.StatusNotFound, + err: "404 Not Found", + hash: validHashString, + sha256: validSHA256, + }, + { + name: "400 - seq error: invalid syntax", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - strconv.ParseUint: parsing \"seq\": invalid syntax", + seqStr: "seq", + }, + { + name: "404 - block by seq does not exist", + method: http.MethodGet, + status: http.StatusNotFound, + err: "404 Not Found", + seqStr: "1", + seq: 1, + }, + { + name: "500 - NewReadableBlock error", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - Droplet string conversion failed: Value is too large", + seqStr: "1", + seq: 1, + gatewayGetBlockBySeqResult: &coin.SignedBlock{ + Block: *badBlock, + }, + }, + { + name: "500 - get block by hash error", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - GetSignedBlockByHash failed", + hash: validHashString, + sha256: validSHA256, + gatewayGetBlockByHashErr: errors.New("GetSignedBlockByHash failed"), + }, + { + name: "500 - get block by seq error", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - GetSignedBlockBySeq failed", + seqStr: "1", + seq: 1, + gatewayGetBlockBySeqErr: errors.New("GetSignedBlockBySeq failed"), + }, + { + name: "200 - got block by seq", + method: http.MethodGet, + status: http.StatusOK, + seqStr: "1", + seq: 1, + gatewayGetBlockBySeqResult: &coin.SignedBlock{}, + response: &visor.ReadableBlock{ + Head: visor.ReadableBlockHeader{ + BkSeq: 0x0, + BlockHash: "7b8ec8dd836b564f0c85ad088fc744de820345204e154bc1503e04e9d6fdd9f1", + PreviousBlockHash: "0000000000000000000000000000000000000000000000000000000000000000", + Time: 0x0, + Fee: 0x0, + Version: 0x0, + BodyHash: "0000000000000000000000000000000000000000000000000000000000000000", + }, + Body: visor.ReadableBlockBody{ + Transactions: []visor.ReadableTransaction{}, + }, + }, + }, + { + name: "200 - got block by hash", + method: http.MethodGet, + status: http.StatusOK, + hash: validHashString, + sha256: validSHA256, + gatewayGetBlockByHashResult: &coin.SignedBlock{}, + response: &visor.ReadableBlock{ + Head: visor.ReadableBlockHeader{ + BkSeq: 0x0, + BlockHash: "7b8ec8dd836b564f0c85ad088fc744de820345204e154bc1503e04e9d6fdd9f1", + PreviousBlockHash: "0000000000000000000000000000000000000000000000000000000000000000", + Time: 0x0, + Fee: 0x0, + Version: 0x0, + BodyHash: "0000000000000000000000000000000000000000000000000000000000000000", + }, + Body: visor.ReadableBlockBody{ + Transactions: []visor.ReadableTransaction{}, + }, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := &GatewayerMock{} + + gateway.On("GetSignedBlockByHash", tc.sha256).Return(tc.gatewayGetBlockByHashResult, tc.gatewayGetBlockByHashErr) + gateway.On("GetSignedBlockBySeq", tc.seq).Return(tc.gatewayGetBlockBySeqResult, tc.gatewayGetBlockBySeqErr) + gateway.On("IsCSPEnabled").Return(false) + + endpoint := "/api/v1/block" + + v := url.Values{} + if tc.hash != "" { + v.Add("hash", tc.hash) + } + if tc.seqStr != "" { + v.Add("seq", tc.seqStr) + } + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + req.Header.Add("Content-Type", "application/x-www-form-urlencoded") + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg *visor.ReadableBlock + err := json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.response, msg) + } + }) + } +} + +func TestGetBlocks(t *testing.T) { + type httpBody struct { + Start string + End string + } + + tt := []struct { + name string + method string + status int + err string + body *httpBody + start uint64 + end uint64 + gatewayGetBlocksResult *visor.ReadableBlocks + gatewayGetBlocksError error + response *visor.ReadableBlocks + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "400 - empty start/end", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - Invalid start value \"\"", + }, + { + name: "400 - bad start", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - Invalid start value \"badStart\"", + body: &httpBody{ + Start: "badStart", + }, + }, + { + name: "400 - bad end", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - Invalid end value \"badEnd\"", + body: &httpBody{ + Start: "1", + End: "badEnd", + }, + start: 1, + }, + { + name: "400 - gatewayGetBlocksError", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - Get blocks failed: gatewayGetBlocksError", + body: &httpBody{ + Start: "1", + End: "3", + }, + start: 1, + end: 3, + gatewayGetBlocksError: errors.New("gatewayGetBlocksError"), + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + body: &httpBody{ + Start: "1", + End: "3", + }, + start: 1, + end: 3, + gatewayGetBlocksResult: &visor.ReadableBlocks{Blocks: []visor.ReadableBlock{visor.ReadableBlock{}}}, + response: &visor.ReadableBlocks{Blocks: []visor.ReadableBlock{visor.ReadableBlock{}}}, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := &GatewayerMock{} + gateway.On("GetBlocks", tc.start, tc.end).Return(tc.gatewayGetBlocksResult, tc.gatewayGetBlocksError) + gateway.On("IsCSPEnabled").Return(false) + + endpoint := "/api/v1/blocks" + + v := url.Values{} + if tc.body != nil { + if tc.body.Start != "" { + v.Add("start", tc.body.Start) + } + if tc.body.End != "" { + v.Add("end", tc.body.End) + } + } + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "wrong status code: got `%v` want `%v`", status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg *visor.ReadableBlocks + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.response, msg) + } + }) + } +} + +func TestGetLastBlocks(t *testing.T) { + type httpBody struct { + Num string + } + tt := []struct { + name string + method string + url string + status int + err string + body httpBody + num uint64 + gatewayGetLastBlocksResult *visor.ReadableBlocks + gatewayGetLastBlocksError error + response *visor.ReadableBlocks + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + body: httpBody{ + Num: "1", + }, + num: 1, + }, + { + name: "400 - empty num value", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - Param: num is empty", + num: 1, + }, + { + name: "400 - bad num value", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - strconv.ParseUint: parsing \"badNumValue\": invalid syntax", + body: httpBody{ + Num: "badNumValue", + }, + num: 1, + }, + { + name: "400 - gatewayGetLastBlocksError", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - Get last 1 blocks failed: gatewayGetLastBlocksError", + body: httpBody{ + Num: "1", + }, + num: 1, + gatewayGetLastBlocksError: errors.New("gatewayGetLastBlocksError"), + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + body: httpBody{ + Num: "1", + }, + num: 1, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/last_blocks" + gateway := NewGatewayerMock() + + gateway.On("GetLastBlocks", tc.num).Return(tc.gatewayGetLastBlocksResult, tc.gatewayGetLastBlocksError) + gateway.On("IsCSPEnabled").Return(false) + + v := url.Values{} + if tc.body.Num != "" { + v.Add("num", tc.body.Num) + } + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg *visor.ReadableBlocks + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.response, msg) + } + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/client.go b/vendor/github.com/skycoin/skycoin/src/api/client.go new file mode 100755 index 0000000..fc196fb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/client.go @@ -0,0 +1,956 @@ +package api + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + "io" + "io/ioutil" + "net" + "net/http" + "net/url" + "strings" + "time" + + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/historydb" + "github.com/skycoin/skycoin/src/wallet" +) + +const ( + dialTimeout = 60 * time.Second + httpClientTimeout = 120 * time.Second + tlsHandshakeTimeout = 60 * time.Second +) + +// ClientError is used for non-200 API responses +type ClientError struct { + Status string + StatusCode int + Message string +} + +func (e ClientError) Error() string { + return e.Message +} + +// ReceivedHTTPResponse parsed a HTTPResponse received by the Client, for the V2 API +type ReceivedHTTPResponse struct { + Error *HTTPError `json:"error,omitempty"` + Data json.RawMessage `json:"data"` +} + +// Client provides an interface to a remote node's HTTP API +type Client struct { + HTTPClient *http.Client + Addr string +} + +// NewClient creates a Client +func NewClient(addr string) *Client { + transport := &http.Transport{ + Dial: (&net.Dialer{ + Timeout: dialTimeout, + }).Dial, + TLSHandshakeTimeout: tlsHandshakeTimeout, + } + httpClient := &http.Client{ + Transport: transport, + Timeout: httpClientTimeout, + } + addr = strings.TrimRight(addr, "/") + addr += "/" + + return &Client{ + Addr: addr, + HTTPClient: httpClient, + } +} + +// Get makes a GET request to an endpoint and unmarshals the response to obj. +// If the response is not 200 OK, returns an error +func (c *Client) Get(endpoint string, obj interface{}) error { + resp, err := c.get(endpoint) + if err != nil { + return err + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return err + } + + return ClientError{ + Status: resp.Status, + StatusCode: resp.StatusCode, + Message: string(body), + } + } + + if obj == nil { + return nil + } + return json.NewDecoder(resp.Body).Decode(obj) +} + +// get makes a GET request to an endpoint. Caller must close response body. +func (c *Client) get(endpoint string) (*http.Response, error) { + endpoint = strings.TrimLeft(endpoint, "/") + endpoint = c.Addr + endpoint + + req, err := http.NewRequest(http.MethodGet, endpoint, nil) + if err != nil { + return nil, err + } + + return c.HTTPClient.Do(req) +} + +// PostForm makes a POST request to an endpoint with body of "application/x-www-form-urlencoded" formated data. +func (c *Client) PostForm(endpoint string, body io.Reader, obj interface{}) error { + return c.post(endpoint, "application/x-www-form-urlencoded", body, obj) +} + +// PostJSON makes a POST request to an endpoint with body of json data. +func (c *Client) PostJSON(endpoint string, reqObj, respObj interface{}) error { + body, err := json.Marshal(reqObj) + if err != nil { + return err + } + + return c.post(endpoint, "application/json", bytes.NewReader(body), respObj) +} + +// post makes a POST request to an endpoint. +func (c *Client) post(endpoint string, contentType string, body io.Reader, obj interface{}) error { + csrf, err := c.CSRF() + if err != nil { + return err + } + + endpoint = strings.TrimLeft(endpoint, "/") + endpoint = c.Addr + endpoint + + req, err := http.NewRequest(http.MethodPost, endpoint, body) + if err != nil { + return err + } + + if csrf != "" { + req.Header.Set(CSRFHeaderName, csrf) + } + + req.Header.Set("Content-Type", contentType) + + resp, err := c.HTTPClient.Do(req) + if err != nil { + return err + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return err + } + + return ClientError{ + Status: resp.Status, + StatusCode: resp.StatusCode, + Message: string(body), + } + } + + if obj == nil { + return nil + } + + decoder := json.NewDecoder(resp.Body) + decoder.DisallowUnknownFields() + return decoder.Decode(obj) +} + +// PostJSONV2 makes a POST request to an endpoint with body of json data, +// and parses the standard JSON response. +func (c *Client) PostJSONV2(endpoint string, reqObj, respObj interface{}) (bool, error) { + body, err := json.Marshal(reqObj) + if err != nil { + return false, err + } + + csrf, err := c.CSRF() + if err != nil { + return false, err + } + + endpoint = strings.TrimLeft(endpoint, "/") + endpoint = c.Addr + endpoint + + req, err := http.NewRequest(http.MethodPost, endpoint, bytes.NewReader(body)) + if err != nil { + return false, err + } + + if csrf != "" { + req.Header.Set(CSRFHeaderName, csrf) + } + + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Accept", "application/json") + + resp, err := c.HTTPClient.Do(req) + if err != nil { + return false, err + } + + defer resp.Body.Close() + + respBody, err := ioutil.ReadAll(resp.Body) + if err != nil { + return false, err + } + + decoder := json.NewDecoder(bytes.NewReader(respBody)) + decoder.DisallowUnknownFields() + + var wrapObj ReceivedHTTPResponse + if err := decoder.Decode(&wrapObj); err != nil { + // In some cases, the server can send an error response in a non-JSON format, + // such as a 404 when the endpoint is not registered, or if a 500 error + // occurs in the go HTTP stack, outside of the application's control. + // If this happens, treat the entire response body as the error message. + if resp.StatusCode != http.StatusOK { + return false, ClientError{ + Status: resp.Status, + StatusCode: resp.StatusCode, + Message: string(body), + } + } + + return false, err + } + + var rspErr error + if resp.StatusCode != http.StatusOK { + rspErr = ClientError{ + Status: resp.Status, + StatusCode: resp.StatusCode, + Message: wrapObj.Error.Message, + } + } + + if wrapObj.Data == nil { + return false, rspErr + } + + decoder = json.NewDecoder(bytes.NewReader(wrapObj.Data)) + decoder.DisallowUnknownFields() + + if err := decoder.Decode(respObj); err != nil { + return false, err + } + + return true, rspErr +} + +// CSRF returns a CSRF token. If CSRF is disabled on the node, returns an empty string and nil error. +func (c *Client) CSRF() (string, error) { + resp, err := c.get("/api/v1/csrf") + if err != nil { + return "", err + } + + defer resp.Body.Close() + + switch resp.StatusCode { + case http.StatusOK: + case http.StatusNotFound: + // CSRF is disabled on the node + return "", nil + default: + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return "", err + } + + return "", ClientError{ + Status: resp.Status, + StatusCode: resp.StatusCode, + Message: string(body), + } + } + + var m map[string]string + if err := json.NewDecoder(resp.Body).Decode(&m); err != nil { + return "", err + } + + token, ok := m["csrf_token"] + if !ok { + return "", errors.New("csrf_token not found in response") + } + + return token, nil +} + +// Version makes a request to GET /api/v1/version +func (c *Client) Version() (*visor.BuildInfo, error) { + var bi visor.BuildInfo + if err := c.Get("/api/v1/version", &bi); err != nil { + return nil, err + } + return &bi, nil +} + +// Outputs makes a request to GET /api/v1/outputs +func (c *Client) Outputs() (*visor.ReadableOutputSet, error) { + var o visor.ReadableOutputSet + if err := c.Get("/api/v1/outputs", &o); err != nil { + return nil, err + } + return &o, nil +} + +// OutputsForAddresses makes a request to GET /api/v1/outputs?addrs=xxx +func (c *Client) OutputsForAddresses(addrs []string) (*visor.ReadableOutputSet, error) { + v := url.Values{} + v.Add("addrs", strings.Join(addrs, ",")) + endpoint := "/api/v1/outputs?" + v.Encode() + + var o visor.ReadableOutputSet + if err := c.Get(endpoint, &o); err != nil { + return nil, err + } + return &o, nil +} + +// OutputsForHashes makes a request to GET /api/v1/outputs?hashes=zzz +func (c *Client) OutputsForHashes(hashes []string) (*visor.ReadableOutputSet, error) { + v := url.Values{} + v.Add("hashes", strings.Join(hashes, ",")) + endpoint := "/api/v1/outputs?" + v.Encode() + + var o visor.ReadableOutputSet + if err := c.Get(endpoint, &o); err != nil { + return nil, err + } + return &o, nil +} + +// CoinSupply makes a request to GET /api/v1/coinSupply +func (c *Client) CoinSupply() (*CoinSupply, error) { + var cs CoinSupply + if err := c.Get("/api/v1/coinSupply", &cs); err != nil { + return nil, err + } + return &cs, nil +} + +// BlockByHash makes a request to GET /api/v1/block?hash=xxx +func (c *Client) BlockByHash(hash string) (*visor.ReadableBlock, error) { + v := url.Values{} + v.Add("hash", hash) + endpoint := "/api/v1/block?" + v.Encode() + + var b visor.ReadableBlock + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// BlockBySeq makes a request to GET /api/v1/block?seq=xxx +func (c *Client) BlockBySeq(seq uint64) (*visor.ReadableBlock, error) { + v := url.Values{} + v.Add("seq", fmt.Sprint(seq)) + endpoint := "/api/v1/block?" + v.Encode() + + var b visor.ReadableBlock + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// Blocks makes a request to GET /api/v1/blocks +func (c *Client) Blocks(start, end int) (*visor.ReadableBlocks, error) { + v := url.Values{} + v.Add("start", fmt.Sprint(start)) + v.Add("end", fmt.Sprint(end)) + endpoint := "/api/v1/blocks?" + v.Encode() + + var b visor.ReadableBlocks + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// LastBlocks makes a request to GET /api/v1/last_blocks +func (c *Client) LastBlocks(n int) (*visor.ReadableBlocks, error) { + v := url.Values{} + v.Add("num", fmt.Sprint(n)) + endpoint := "/api/v1/last_blocks?" + v.Encode() + + var b visor.ReadableBlocks + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// BlockchainMetadata makes a request to GET /api/v1/blockchain/metadata +func (c *Client) BlockchainMetadata() (*visor.BlockchainMetadata, error) { + var b visor.BlockchainMetadata + if err := c.Get("/api/v1/blockchain/metadata", &b); err != nil { + return nil, err + } + return &b, nil +} + +// BlockchainProgress makes a request to GET /api/v1/blockchain/progress +func (c *Client) BlockchainProgress() (*daemon.BlockchainProgress, error) { + var b daemon.BlockchainProgress + if err := c.Get("/api/v1/blockchain/progress", &b); err != nil { + return nil, err + } + return &b, nil +} + +// Balance makes a request to GET /api/v1/balance?addrs=xxx +func (c *Client) Balance(addrs []string) (*wallet.BalancePair, error) { + v := url.Values{} + v.Add("addrs", strings.Join(addrs, ",")) + endpoint := "/api/v1/balance?" + v.Encode() + + var b wallet.BalancePair + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// UxOut makes a request to GET /api/v1/uxout?uxid=xxx +func (c *Client) UxOut(uxID string) (*historydb.UxOutJSON, error) { + v := url.Values{} + v.Add("uxid", uxID) + endpoint := "/api/v1/uxout?" + v.Encode() + + var b historydb.UxOutJSON + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// AddressUxOuts makes a request to GET /api/v1/address_uxouts +func (c *Client) AddressUxOuts(addr string) ([]*historydb.UxOutJSON, error) { + v := url.Values{} + v.Add("address", addr) + endpoint := "/api/v1/address_uxouts?" + v.Encode() + + var b []*historydb.UxOutJSON + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return b, nil +} + +// Wallet makes a request to GET /api/v1/wallet +func (c *Client) Wallet(id string) (*WalletResponse, error) { + v := url.Values{} + v.Add("id", id) + endpoint := "/api/v1/wallet?" + v.Encode() + + var wr WalletResponse + if err := c.Get(endpoint, &wr); err != nil { + return nil, err + } + + return &wr, nil +} + +// Wallets makes a request to GET /api/v1/wallets +func (c *Client) Wallets() ([]*WalletResponse, error) { + var wrs []*WalletResponse + if err := c.Get("/api/v1/wallets", &wrs); err != nil { + return nil, err + } + + return wrs, nil +} + +// CreateUnencryptedWallet makes a request to POST /api/v1/wallet/create and creates +// a wallet without encryption. +// If scanN is <= 0, the scan number defaults to 1 +func (c *Client) CreateUnencryptedWallet(seed, label string, scanN int) (*WalletResponse, error) { + v := url.Values{} + v.Add("seed", seed) + v.Add("label", label) + v.Add("encrypt", "false") + + if scanN > 0 { + v.Add("scan", fmt.Sprint(scanN)) + } + + var w WalletResponse + if err := c.PostForm("/api/v1/wallet/create", strings.NewReader(v.Encode()), &w); err != nil { + return nil, err + } + return &w, nil +} + +// CreateEncryptedWallet makes a request to POST /api/v1/wallet/create and try to create +// a wallet with encryption. +// If scanN is <= 0, the scan number defaults to 1 +func (c *Client) CreateEncryptedWallet(seed, label, password string, scanN int) (*WalletResponse, error) { + v := url.Values{} + v.Add("seed", seed) + v.Add("label", label) + v.Add("encrypt", "true") + v.Add("password", password) + + if scanN > 0 { + v.Add("scan", fmt.Sprint(scanN)) + } + + var w WalletResponse + if err := c.PostForm("/api/v1/wallet/create", strings.NewReader(v.Encode()), &w); err != nil { + return nil, err + } + return &w, nil +} + +// NewWalletAddress makes a request to POST /api/v1/wallet/newAddress +// if n is <= 0, defaults to 1 +func (c *Client) NewWalletAddress(id string, n int, password string) ([]string, error) { + v := url.Values{} + v.Add("id", id) + if n > 0 { + v.Add("num", fmt.Sprint(n)) + } + + v.Add("password", password) + + var obj struct { + Addresses []string `json:"addresses"` + } + if err := c.PostForm("/api/v1/wallet/newAddress", strings.NewReader(v.Encode()), &obj); err != nil { + return nil, err + } + return obj.Addresses, nil +} + +// WalletBalance makes a request to GET /api/v1/wallet/balance +func (c *Client) WalletBalance(id string) (*BalanceResponse, error) { + v := url.Values{} + v.Add("id", id) + endpoint := "/api/v1/wallet/balance?" + v.Encode() + + var b BalanceResponse + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// Spend makes a request to POST /api/v1/wallet/spend +func (c *Client) Spend(id, dst string, coins uint64, password string) (*SpendResult, error) { + v := url.Values{} + v.Add("id", id) + v.Add("dst", dst) + v.Add("coins", fmt.Sprint(coins)) + v.Add("password", password) + + var r SpendResult + endpoint := "/api/v1/wallet/spend" + if err := c.PostForm(endpoint, strings.NewReader(v.Encode()), &r); err != nil { + return nil, err + } + + return &r, nil +} + +// CreateTransactionRequest is sent to /wallet/transaction +type CreateTransactionRequest struct { + IgnoreUnconfirmed bool `json:"ignore_unconfirmed"` + HoursSelection HoursSelection `json:"hours_selection"` + Wallet CreateTransactionRequestWallet `json:"wallet"` + ChangeAddress *string `json:"change_address,omitempty"` + To []Receiver `json:"to"` +} + +// CreateTransactionRequestWallet defines a wallet to spend from and optionally which addresses in the wallet +type CreateTransactionRequestWallet struct { + ID string `json:"id"` + UxOuts []string `json:"unspents,omitempty"` + Addresses []string `json:"addresses,omitempty"` + Password string `json:"password"` +} + +// HoursSelection defines options for hours distribution +type HoursSelection struct { + Type string `json:"type"` + Mode string `json:"mode"` + ShareFactor string `json:"share_factor,omitempty"` +} + +// Receiver specifies a spend destination +type Receiver struct { + Address string `json:"address"` + Coins string `json:"coins"` + Hours string `json:"hours,omitempty"` +} + +// CreateTransaction makes a request to POST /api/v1/wallet/transaction +func (c *Client) CreateTransaction(req CreateTransactionRequest) (*CreateTransactionResponse, error) { + var r CreateTransactionResponse + endpoint := "/api/v1/wallet/transaction" + if err := c.PostJSON(endpoint, req, &r); err != nil { + return nil, err + } + + return &r, nil +} + +// WalletTransactions makes a request to GET /api/v1/wallet/transactions +func (c *Client) WalletTransactions(id string) (*UnconfirmedTxnsResponse, error) { + v := url.Values{} + v.Add("id", id) + endpoint := "/api/v1/wallet/transactions?" + v.Encode() + + var utx *UnconfirmedTxnsResponse + if err := c.Get(endpoint, &utx); err != nil { + return nil, err + } + return utx, nil +} + +// UpdateWallet makes a request to POST /api/v1/wallet/update +func (c *Client) UpdateWallet(id, label string) error { + v := url.Values{} + v.Add("id", id) + v.Add("label", label) + + return c.PostForm("/api/v1/wallet/update", strings.NewReader(v.Encode()), nil) +} + +// WalletFolderName makes a request to GET /api/v1/wallets/folderName +func (c *Client) WalletFolderName() (*WalletFolder, error) { + var w WalletFolder + if err := c.Get("/api/v1/wallets/folderName", &w); err != nil { + return nil, err + } + return &w, nil +} + +// NewSeed makes a request to GET /api/v1/wallet/newSeed +// entropy must be 128 or 256 +func (c *Client) NewSeed(entropy int) (string, error) { + v := url.Values{} + v.Add("entropy", fmt.Sprint(entropy)) + endpoint := "/api/v1/wallet/newSeed?" + v.Encode() + + var r struct { + Seed string `json:"seed"` + } + if err := c.Get(endpoint, &r); err != nil { + return "", err + } + return r.Seed, nil +} + +// GetWalletSeed makes a request to POST /api/v1/wallet/seed +func (c *Client) GetWalletSeed(id string, password string) (string, error) { + v := url.Values{} + v.Add("id", id) + v.Add("password", password) + + var r struct { + Seed string `json:"seed"` + } + if err := c.PostForm("/api/v1/wallet/seed", strings.NewReader(v.Encode()), &r); err != nil { + return "", err + } + + return r.Seed, nil +} + +// NetworkConnection makes a request to GET /api/v1/network/connection +func (c *Client) NetworkConnection(addr string) (*daemon.Connection, error) { + v := url.Values{} + v.Add("addr", addr) + endpoint := "/api/v1/network/connection?" + v.Encode() + + var dc daemon.Connection + if err := c.Get(endpoint, &dc); err != nil { + return nil, err + } + return &dc, nil +} + +// NetworkConnections makes a request to GET /api/v1/network/connections +func (c *Client) NetworkConnections() (*Connections, error) { + var dc Connections + if err := c.Get("/api/v1/network/connections", &dc); err != nil { + return nil, err + } + return &dc, nil +} + +// NetworkDefaultConnections makes a request to GET /api/v1/network/defaultConnections +func (c *Client) NetworkDefaultConnections() ([]string, error) { + var dc []string + if err := c.Get("/api/v1/network/defaultConnections", &dc); err != nil { + return nil, err + } + return dc, nil +} + +// NetworkTrustedConnections makes a request to GET /api/v1/network/connections/trust +func (c *Client) NetworkTrustedConnections() ([]string, error) { + var dc []string + if err := c.Get("/api/v1/network/connections/trust", &dc); err != nil { + return nil, err + } + return dc, nil +} + +// NetworkExchangeableConnections makes a request to GET /api/v1/network/connections/exchange +func (c *Client) NetworkExchangeableConnections() ([]string, error) { + var dc []string + if err := c.Get("/api/v1/network/connections/exchange", &dc); err != nil { + return nil, err + } + return dc, nil +} + +// PendingTransactions makes a request to GET /api/v1/pendingTxs +func (c *Client) PendingTransactions() ([]*visor.ReadableUnconfirmedTxn, error) { + var v []*visor.ReadableUnconfirmedTxn + if err := c.Get("/api/v1/pendingTxs", &v); err != nil { + return nil, err + } + return v, nil +} + +// Transaction makes a request to GET /api/v1/transaction +func (c *Client) Transaction(txid string) (*daemon.TransactionResult, error) { + v := url.Values{} + v.Add("txid", txid) + endpoint := "/api/v1/transaction?" + v.Encode() + + var r daemon.TransactionResult + if err := c.Get(endpoint, &r); err != nil { + return nil, err + } + return &r, nil +} + +// Transactions makes a request to GET /api/v1/transactions +func (c *Client) Transactions(addrs []string) (*[]daemon.TransactionResult, error) { + v := url.Values{} + v.Add("addrs", strings.Join(addrs, ",")) + endpoint := "/api/v1/transactions?" + v.Encode() + + var r []daemon.TransactionResult + if err := c.Get(endpoint, &r); err != nil { + return nil, err + } + return &r, nil +} + +// ConfirmedTransactions makes a request to GET /api/v1/transactions?confirmed=true +func (c *Client) ConfirmedTransactions(addrs []string) (*[]daemon.TransactionResult, error) { + v := url.Values{} + v.Add("addrs", strings.Join(addrs, ",")) + v.Add("confirmed", "true") + endpoint := "/api/v1/transactions?" + v.Encode() + + var r []daemon.TransactionResult + if err := c.Get(endpoint, &r); err != nil { + return nil, err + } + return &r, nil +} + +// UnconfirmedTransactions makes a request to GET /api/v1/transactions?confirmed=false +func (c *Client) UnconfirmedTransactions(addrs []string) (*[]daemon.TransactionResult, error) { + v := url.Values{} + v.Add("addrs", strings.Join(addrs, ",")) + v.Add("confirmed", "false") + endpoint := "/api/v1/transactions?" + v.Encode() + + var r []daemon.TransactionResult + if err := c.Get(endpoint, &r); err != nil { + return nil, err + } + return &r, nil +} + +// InjectTransaction makes a request to POST /api/v1/injectTransaction +func (c *Client) InjectTransaction(rawTx string) (string, error) { + v := struct { + Rawtx string `json:"rawtx"` + }{ + Rawtx: rawTx, + } + + var txid string + if err := c.PostJSON("/api/v1/injectTransaction", v, &txid); err != nil { + return "", err + } + return txid, nil +} + +// ResendUnconfirmedTransactions makes a request to GET /api/v1/resendUnconfirmedTxns +func (c *Client) ResendUnconfirmedTransactions() (*daemon.ResendResult, error) { + var r daemon.ResendResult + if err := c.Get("/api/v1/resendUnconfirmedTxns", &r); err != nil { + return nil, err + } + return &r, nil +} + +// RawTransaction makes a request to GET /api/v1/rawtx +func (c *Client) RawTransaction(txid string) (string, error) { + v := url.Values{} + v.Add("txid", txid) + endpoint := "/api/v1/rawtx?" + v.Encode() + + var rawTx string + if err := c.Get(endpoint, &rawTx); err != nil { + return "", err + } + return rawTx, nil +} + +// VerifyTransaction makes a request to POST /api/v2/transaction/verify. +func (c *Client) VerifyTransaction(encodedTxn string) (*VerifyTxnResponse, error) { + req := VerifyTxnRequest{ + EncodedTransaction: encodedTxn, + } + + var rsp VerifyTxnResponse + ok, err := c.PostJSONV2("/api/v2/transaction/verify", req, &rsp) + if ok { + return &rsp, err + } + + return nil, err +} + +// VerifyAddress makes a request to POST /api/v2/address/verify +// The API may respond with an error but include data useful for processing, +// so both return values may be non-nil. +func (c *Client) VerifyAddress(addr string) (*VerifyAddressResponse, error) { + req := VerifyAddressRequest{ + Address: addr, + } + + var rsp VerifyAddressResponse + ok, err := c.PostJSONV2("/api/v2/address/verify", req, &rsp) + if ok { + return &rsp, err + } + + return nil, err +} + +// AddressTransactions makes a request to GET /api/v1/explorer/address +func (c *Client) AddressTransactions(addr string) ([]daemon.ReadableTransaction, error) { + v := url.Values{} + v.Add("address", addr) + endpoint := "/api/v1/explorer/address?" + v.Encode() + + var b []daemon.ReadableTransaction + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return b, nil +} + +// RichlistParams are arguments to the /richlist endpoint +type RichlistParams struct { + N int + IncludeDistribution bool +} + +// Richlist makes a request to GET /api/v1/richlist +func (c *Client) Richlist(params *RichlistParams) (*Richlist, error) { + endpoint := "/api/v1/richlist" + + if params != nil { + v := url.Values{} + v.Add("n", fmt.Sprint(params.N)) + v.Add("include-distribution", fmt.Sprint(params.IncludeDistribution)) + endpoint = "/api/v1/richlist?" + v.Encode() + } + + var r Richlist + if err := c.Get(endpoint, &r); err != nil { + return nil, err + } + return &r, nil +} + +// AddressCount makes a request to GET /api/v1/addresscount +func (c *Client) AddressCount() (uint64, error) { + var r struct { + Count uint64 `json:"count"` + } + if err := c.Get("/api/v1/addresscount", &r); err != nil { + return 0, err + } + return r.Count, nil + +} + +// UnloadWallet makes a request to POST /api/v1/wallet/unload +func (c *Client) UnloadWallet(id string) error { + v := url.Values{} + v.Add("id", id) + return c.PostForm("/api/v1/wallet/unload", strings.NewReader(v.Encode()), nil) +} + +// Health makes a request to GET /api/v1/health +func (c *Client) Health() (*HealthResponse, error) { + var r HealthResponse + if err := c.Get("/api/v1/health", &r); err != nil { + return nil, err + } + + return &r, nil +} + +// EncryptWallet makes a request to POST /api/v1/wallet/encrypt to encrypt a specific wallet with the given password +func (c *Client) EncryptWallet(id string, password string) (*WalletResponse, error) { + v := url.Values{} + v.Add("id", id) + v.Add("password", password) + var wlt WalletResponse + if err := c.PostForm("/api/v1/wallet/encrypt", strings.NewReader(v.Encode()), &wlt); err != nil { + return nil, err + } + + return &wlt, nil +} + +// DecryptWallet makes a request to POST /api/v1/wallet/decrypt to decrypt a wallet +func (c *Client) DecryptWallet(id string, password string) (*WalletResponse, error) { + v := url.Values{} + v.Add("id", id) + v.Add("password", password) + var wlt WalletResponse + if err := c.PostForm("/api/v1/wallet/decrypt", strings.NewReader(v.Encode()), &wlt); err != nil { + return nil, err + } + + return &wlt, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/csrf.go b/vendor/github.com/skycoin/skycoin/src/api/csrf.go new file mode 100755 index 0000000..e35f443 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/csrf.go @@ -0,0 +1,177 @@ +package api + +import ( + "crypto/subtle" + "encoding/base64" + "errors" + "net/http" + "net/url" + "sync" + "time" + + "github.com/skycoin/skycoin/src/cipher" + wh "github.com/skycoin/skycoin/src/util/http" //http,json helpers +) + +const ( + // CSRFHeaderName is the name of the CSRF header + CSRFHeaderName = "X-CSRF-Token" + + // CSRFMaxAge is the lifetime of a CSRF token in seconds + CSRFMaxAge = time.Second * 30 + + csrfTokenLength = 64 +) + +// CSRFToken csrf token +type CSRFToken struct { + Value []byte + ExpiresAt time.Time +} + +// newCSRFToken generates a new CSRF Token +func newCSRFToken() CSRFToken { + return CSRFToken{ + Value: cipher.RandByte(csrfTokenLength), + ExpiresAt: time.Now().Add(CSRFMaxAge), + } +} + +// String returns the token in base64 URL-safe encoded format +func (c *CSRFToken) String() string { + return base64.RawURLEncoding.EncodeToString(c.Value) +} + +// CSRFStore encapsulates a single CSRFToken +type CSRFStore struct { + token *CSRFToken + Enabled bool + sync.RWMutex +} + +// getTokenValue returns a url safe base64 encoded token +func (c *CSRFStore) getTokenValue() string { + c.RLock() + defer c.RUnlock() + return c.token.String() +} + +// setToken sets a new CSRF token +// if the value is changing the expire time should also change +// so there is no explicit method to just set the value of the token +func (c *CSRFStore) setToken(token CSRFToken) { + c.Lock() + defer c.Unlock() + c.token = &token +} + +// expired checks if token expiry time is greater than current time +func (c *CSRFStore) expired() bool { + return c.token == nil || time.Now().After(c.token.ExpiresAt) +} + +// verifyToken checks that the given token is same as the internal token +func (c *CSRFStore) verifyToken(headerToken string) error { + c.RLock() + defer c.RUnlock() + + // check if token is initialized + if c.token == nil || len(c.token.Value) == 0 { + return errors.New("token not initialized") + } + + a, err := base64.RawURLEncoding.DecodeString(headerToken) + if err != nil { + return err + } + + // check if token values are same, using a constant time comparison + if subtle.ConstantTimeCompare(a, c.token.Value) != 1 { + return errors.New("invalid token") + } + + // make sure token is still valid + if c.expired() { + return errors.New("token has expired") + } + + return nil +} + +// Creates a new CSRF token. Previous CSRF tokens are invalidated by this call. +// URI: /api/v1/csrf +// Method: GET +// Response: +// csrf_token: CSRF token to use in POST requests +func getCSRFToken(store *CSRFStore) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + if !store.Enabled { + logger.Warning("CSRF check disabled") + wh.Error404(w, "") + return + } + + // generate a new token + store.setToken(newCSRFToken()) + + wh.SendJSONOr500(logger, w, &map[string]string{"csrf_token": store.getTokenValue()}) + } +} + +// CSRFCheck verifies X-CSRF-Token header value +func CSRFCheck(store *CSRFStore, handler http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if store.Enabled { + switch r.Method { + case http.MethodPost, http.MethodPut, http.MethodDelete: + token := r.Header.Get(CSRFHeaderName) + if err := store.verifyToken(token); err != nil { + logger.Errorf("CSRF token invalid: %v", err) + wh.Error403(w, "invalid CSRF token") + return + } + } + } + + handler.ServeHTTP(w, r) + }) +} + +// OriginRefererCheck checks the Origin header if present, falling back on Referer. +// The Origin or Referer hostname must match the configured host. +// If neither are present, the request is allowed. All major browsers will set +// at least one of these values. If neither are set, assume it is a request +// from curl/wget. +func OriginRefererCheck(host string, handler http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + origin := r.Header.Get("Origin") + referer := r.Header.Get("Referer") + + toCheck := origin + if toCheck == "" { + toCheck = referer + } + + if toCheck != "" { + u, err := url.Parse(toCheck) + if err != nil { + logger.Critical().Errorf("Invalid URL in Origin or Referer header: %s %v", toCheck, err) + wh.Error403(w, "") + return + } + + if u.Host != host { + //logger.Critical().Errorf("Origin or Referer header value %s does not match host", toCheck) + //wh.Error403(w, "") + //return + } + } + + handler.ServeHTTP(w, r) + }) +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/csrf_test.go b/vendor/github.com/skycoin/skycoin/src/api/csrf_test.go new file mode 100755 index 0000000..29ce447 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/csrf_test.go @@ -0,0 +1,379 @@ +package api + +import ( + "bytes" + "encoding/json" + "fmt" + "net/http" + "net/http/httptest" + "net/url" + "testing" + "time" + + "github.com/stretchr/testify/require" +) + +const ( + tokenValid = "token_valid" + tokenInvalid = "token_invalid" + tokenExpired = "token_expired" + tokenEmpty = "token_empty" + tokenNotGenerated = "token_not_generated" +) + +func setCSRFParameters(csrfStore *CSRFStore, tokenType string, req *http.Request) { + token := newCSRFToken() + // token check + switch tokenType { + case tokenValid: + csrfStore.setToken(token) + req.Header.Set("X-CSRF-Token", token.String()) + case tokenInvalid: + // set invalid token value + csrfStore.setToken(token) + req.Header.Set("X-CSRF-Token", "xcasadsadsa") + case tokenExpired: + csrfStore.setToken(token) + csrfStore.token.ExpiresAt = time.Unix(1517509381, 10) + req.Header.Set("X-CSRF-Token", token.String()) + // set some old unix time + case tokenEmpty: + // set empty token + csrfStore.setToken(token) + req.Header.Set("X-CSRF-Token", "") + case tokenNotGenerated: + // don't set token + csrfStore.token = nil + req.Header.Set("X-CSRF-Token", token.String()) + } +} + +var endpoints = []string{ + "/address_uxouts", + "/addresscount", + "/balance", + "/block", + "/blockchain/metadata", + "/blockchain/progress", + "/blocks", + "/coinSupply", + "/explorer/address", + "/health", + "/injectTransaction", + "/last_blocks", + "/version", + "/network/connection", + "/network/connections", + "/network/connections/exchange", + "/network/connections/trust", + "/network/defaultConnections", + "/outputs", + "/pendingTxs", + "/rawtx", + "/richlist", + "/resendUnconfirmedTxns", + "/transaction", + "/transactions", + "/uxout", + "/wallet", + "/wallet/balance", + "/wallet/create", + "/wallet/newAddress", + "/wallet/newSeed", + "/wallet/seed", + "/wallet/spend", + "/wallet/transaction", + "/wallet/transactions", + "/wallet/unload", + "/wallet/update", + "/wallets", + "/wallets/folderName", + "/webrpc", + + "/api/v1/address_uxouts", + "/api/v1/addresscount", + "/api/v1/balance", + "/api/v1/block", + "/api/v1/blockchain/metadata", + "/api/v1/blockchain/progress", + "/api/v1/blocks", + "/api/v1/coinSupply", + "/api/v1/explorer/address", + "/api/v1/health", + "/api/v1/injectTransaction", + "/api/v1/last_blocks", + "/api/v1/version", + "/api/v1/network/connection", + "/api/v1/network/connections", + "/api/v1/network/connections/exchange", + "/api/v1/network/connections/trust", + "/api/v1/network/defaultConnections", + "/api/v1/outputs", + "/api/v1/pendingTxs", + "/api/v1/rawtx", + "/api/v1/richlist", + "/api/v1/resendUnconfirmedTxns", + "/api/v1/transaction", + "/api/v1/transactions", + "/api/v1/uxout", + "/api/v1/wallet", + "/api/v1/wallet/balance", + "/api/v1/wallet/create", + "/api/v1/wallet/newAddress", + "/api/v1/wallet/newSeed", + "/api/v1/wallet/seed", + "/api/v1/wallet/spend", + "/api/v1/wallet/transaction", + "/api/v1/wallet/transactions", + "/api/v1/wallet/unload", + "/api/v1/wallet/update", + "/api/v1/wallets", + "/api/v1/wallets/folderName", + "/api/v1/webrpc", + + "/api/v2/transaction/verify", + "/api/v2/address/verify", +} + +func TestCSRFWrapper(t *testing.T) { + methods := []string{http.MethodPost, http.MethodPut, http.MethodDelete} + cases := []string{tokenInvalid, tokenExpired, tokenEmpty, tokenNotGenerated} + + for _, endpoint := range endpoints { + for _, method := range methods { + for _, c := range cases { + name := fmt.Sprintf("%s %s %s", method, endpoint, c) + t.Run(name, func(t *testing.T) { + gateway := &GatewayerMock{} + gateway.On("IsCSPEnabled").Return(false) + + req, err := http.NewRequest(method, endpoint, nil) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, c, req) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{ + host: configuredHost, + appLoc: ".", + enableJSON20RPC: true, + enableUnversionedAPI: true, + }, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, http.StatusForbidden, status, "wrong status code: got `%v` want `%v`", status, http.StatusForbidden) + require.Equal(t, "403 Forbidden - invalid CSRF token\n", rr.Body.String()) + }) + } + } + } +} + +func TestOriginRefererCheck(t *testing.T) { + cases := []struct { + name string + origin string + referer string + }{ + { + name: "mismatched origin header", + origin: "http://example.com/", + }, + { + name: "mismatched referer header", + referer: "http://example.com/", + }, + } + + for _, endpoint := range endpoints { + for _, tc := range cases { + name := fmt.Sprintf("%s %s", tc.name, endpoint) + t.Run(name, func(t *testing.T) { + gateway := &GatewayerMock{} + gateway.On("IsCSPEnabled").Return(false) + + req, err := http.NewRequest(http.MethodGet, endpoint, nil) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + if tc.origin != "" { + req.Header.Set("Origin", tc.origin) + } + if tc.referer != "" { + req.Header.Set("Referer", tc.referer) + } + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{ + host: configuredHost, + appLoc: ".", + enableJSON20RPC: true, + }, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, http.StatusForbidden, status, "wrong status code: got `%v` want `%v`", status, http.StatusForbidden) + require.Equal(t, "403 Forbidden\n", rr.Body.String()) + }) + } + } +} + +func TestHostCheck(t *testing.T) { + for _, endpoint := range endpoints { + t.Run(endpoint, func(t *testing.T) { + gateway := &GatewayerMock{} + gateway.On("IsCSPEnabled").Return(false) + + req, err := http.NewRequest(http.MethodGet, endpoint, nil) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + req.Host = "example.com" + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{ + host: configuredHost, + appLoc: ".", + enableJSON20RPC: true, + }, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, http.StatusForbidden, status, "wrong status code: got `%v` want `%v`", status, http.StatusForbidden) + require.Equal(t, "403 Forbidden\n", rr.Body.String()) + }) + } +} + +func TestCSRF(t *testing.T) { + csrfStore := &CSRFStore{ + Enabled: true, + } + + updateWalletLabel := func(csrfToken string) *httptest.ResponseRecorder { + gateway := &GatewayerMock{} + gateway.On("UpdateWalletLabel", "fooid", "foolabel").Return(nil) + gateway.On("IsCSPEnabled").Return(false) + + endpoint := "/api/v1/wallet/update" + + v := url.Values{} + v.Add("id", "fooid") + v.Add("label", "foolabel") + + req, err := http.NewRequest(http.MethodPost, endpoint, bytes.NewBufferString(v.Encode())) + require.NoError(t, err) + req.Header.Add("Content-Type", "application/x-www-form-urlencoded") + + if csrfToken != "" { + req.Header.Set("X-CSRF-Token", csrfToken) + } + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{ + host: configuredHost, + appLoc: ".", + enableJSON20RPC: true, + }, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + return rr + } + + // First request to POST /wallet/update is rejected because of missing CSRF + rr := updateWalletLabel("") + require.Equal(t, http.StatusForbidden, rr.Code) + require.Equal(t, "403 Forbidden - invalid CSRF token\n", rr.Body.String()) + + // Make a request to /csrf to get a token + gateway := &GatewayerMock{} + gateway.On("IsCSPEnabled").Return(false) + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + + // non-GET request to /csrf is invalid + req, err := http.NewRequest(http.MethodPost, "/api/v1/csrf", nil) + require.NoError(t, err) + + rr = httptest.NewRecorder() + handler.ServeHTTP(rr, req) + + require.Equal(t, http.StatusMethodNotAllowed, rr.Code) + require.Nil(t, csrfStore.token, "csrfStore.token should not be set yet") + + // CSRF disabled 404s + csrfStore.Enabled = false + + req, err = http.NewRequest(http.MethodGet, "/api/v1/csrf", nil) + require.NoError(t, err) + + rr = httptest.NewRecorder() + handler.ServeHTTP(rr, req) + + require.Equal(t, http.StatusNotFound, rr.Code) + require.Nil(t, csrfStore.token, "csrfStore.token should not be set yet") + + csrfStore.Enabled = true + + // Request a CSRF token, use it in a request + req, err = http.NewRequest(http.MethodGet, "/api/v1/csrf", nil) + require.NoError(t, err) + + rr = httptest.NewRecorder() + handler.ServeHTTP(rr, req) + + require.Equal(t, http.StatusOK, rr.Code) + + var msg map[string]string + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + + token := msg["csrf_token"] + require.NotEmpty(t, token) + + req, err = http.NewRequest(http.MethodPost, "/api/v1/version", nil) + require.NoError(t, err) + + rr = httptest.NewRecorder() + handler.ServeHTTP(rr, req) + + // Make a request to POST /wallet/update again, using the CSRF token + rr = updateWalletLabel(token) + require.Equal(t, http.StatusOK, rr.Code) + + // Make another call to /csrf, this will invalidate the first token + // Request a CSRF token, use it in a request + req, err = http.NewRequest(http.MethodGet, "/api/v1/csrf", nil) + require.NoError(t, err) + + rr = httptest.NewRecorder() + handler.ServeHTTP(rr, req) + + require.Equal(t, http.StatusOK, rr.Code) + + var msg2 map[string]string + err = json.Unmarshal(rr.Body.Bytes(), &msg2) + require.NoError(t, err) + require.NotEmpty(t, msg2["csrf_token"]) + require.NotEqual(t, msg["csrf_token"], msg2["csrf_token"]) + + rr = updateWalletLabel(token) + require.Equal(t, http.StatusForbidden, rr.Code) + require.Equal(t, "403 Forbidden - invalid CSRF token\n", rr.Body.String()) +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/explorer.go b/vendor/github.com/skycoin/skycoin/src/api/explorer.go new file mode 100755 index 0000000..a0fb19d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/explorer.go @@ -0,0 +1,252 @@ +package api + +import ( + "fmt" + "net/http" + "strconv" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/util/droplet" + wh "github.com/skycoin/skycoin/src/util/http" //http,json helpers + "github.com/skycoin/skycoin/src/visor" +) + +// CoinSupply records the coin supply info +type CoinSupply struct { + // Coins distributed beyond the project: + CurrentSupply string `json:"current_supply"` + // TotalSupply is CurrentSupply plus coins held by the distribution addresses that are spendable + TotalSupply string `json:"total_supply"` + // MaxSupply is the maximum number of coins to be distributed ever + MaxSupply string `json:"max_supply"` + // CurrentCoinHourSupply is coins hours in non distribution addresses + CurrentCoinHourSupply string `json:"current_coinhour_supply"` + // TotalCoinHourSupply is coin hours in all addresses including unlocked distribution addresses + TotalCoinHourSupply string `json:"total_coinhour_supply"` + // Distribution addresses which count towards total supply + UnlockedAddresses []string `json:"unlocked_distribution_addresses"` + // Distribution addresses which are locked and do not count towards total supply + LockedAddresses []string `json:"locked_distribution_addresses"` +} + +func getCoinSupply(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + supply := coinSupply(gateway, w, r) + if supply != nil { + wh.SendJSONOr500(logger, w, supply) + } + } +} + +func coinSupply(gateway Gatewayer, w http.ResponseWriter, r *http.Request) *CoinSupply { + if r.Method != http.MethodGet { + wh.Error405(w) + return nil + } + + allUnspents, err := gateway.GetUnspentOutputs() + if err != nil { + err = fmt.Errorf("gateway.GetUnspentOutputs failed: %v", err) + wh.Error500(w, err.Error()) + return nil + } + + unlockedAddrs := visor.GetUnlockedDistributionAddresses() + // Search map of unlocked addresses + // used to filter unspents + unlockedAddrMap := daemon.MakeSearchMap(unlockedAddrs) + + var unlockedSupply uint64 + // check confirmed unspents only + for _, u := range allUnspents.HeadOutputs { + // check if address is an unlocked distribution address + if _, ok := unlockedAddrMap[u.Address]; ok { + coins, err := droplet.FromString(u.Coins) + if err != nil { + err = fmt.Errorf("Invalid unlocked output balance string %s: %v", u.Coins, err) + wh.Error500(w, err.Error()) + return nil + } + unlockedSupply += coins + } + } + + // "total supply" is the number of coins unlocked. + // Each distribution address was allocated visor.DistributionAddressInitialBalance coins. + totalSupply := uint64(len(unlockedAddrs)) * visor.DistributionAddressInitialBalance + totalSupply *= droplet.Multiplier + + // "current supply" is the number of coins distributed from the unlocked pool + currentSupply := totalSupply - unlockedSupply + + currentSupplyStr, err := droplet.ToString(currentSupply) + if err != nil { + err = fmt.Errorf("Failed to convert coins to string: %v", err) + wh.Error500(w, err.Error()) + return nil + } + + totalSupplyStr, err := droplet.ToString(totalSupply) + if err != nil { + err = fmt.Errorf("Failed to convert coins to string: %v", err) + wh.Error500(w, err.Error()) + return nil + } + + maxSupplyStr, err := droplet.ToString(visor.MaxCoinSupply * droplet.Multiplier) + if err != nil { + err = fmt.Errorf("Failed to convert coins to string: %v", err) + wh.Error500(w, err.Error()) + return nil + } + + // locked distribution addresses + lockedAddrs := visor.GetLockedDistributionAddresses() + lockedAddrMap := daemon.MakeSearchMap(lockedAddrs) + + // get total coins hours which excludes locked distribution addresses + var totalCoinHours uint64 + for _, out := range allUnspents.HeadOutputs { + if _, ok := lockedAddrMap[out.Address]; !ok { + totalCoinHours += out.CalculatedHours + } + } + + // get current coin hours which excludes all distribution addresses + var currentCoinHours uint64 + for _, out := range allUnspents.HeadOutputs { + // check if address not in locked distribution addresses + if _, ok := lockedAddrMap[out.Address]; !ok { + // check if address not in unlocked distribution addresses + if _, ok := unlockedAddrMap[out.Address]; !ok { + currentCoinHours += out.CalculatedHours + } + } + } + + if err != nil { + err = fmt.Errorf("Failed to get total coinhours: %v", err) + wh.Error500(w, err.Error()) + return nil + } + + cs := CoinSupply{ + CurrentSupply: currentSupplyStr, + TotalSupply: totalSupplyStr, + MaxSupply: maxSupplyStr, + CurrentCoinHourSupply: strconv.FormatUint(currentCoinHours, 10), + TotalCoinHourSupply: strconv.FormatUint(totalCoinHours, 10), + UnlockedAddresses: unlockedAddrs, + LockedAddresses: visor.GetLockedDistributionAddresses(), + } + + return &cs +} + +// method: GET +// url: /explorer/address?address=${address} +func getTransactionsForAddress(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + addr := r.FormValue("address") + if addr == "" { + wh.Error400(w, "address is empty") + return + } + + cipherAddr, err := cipher.DecodeBase58Address(addr) + if err != nil { + wh.Error400(w, "invalid address") + return + } + + txns, err := gateway.GetTransactionsForAddress(cipherAddr) + if err != nil { + err = fmt.Errorf("gateway.GetTransactionsForAddress failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, txns) + } +} + +// Richlist is the API response for /richlist, contains top address balances +type Richlist struct { + Richlist visor.Richlist `json:"richlist"` +} + +// method: GET +// url: /richlist?n=${number}&include-distribution=${bool} +func getRichlist(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + var topn int + topnStr := r.FormValue("n") + if topnStr == "" { + topn = 20 + } else { + var err error + topn, err = strconv.Atoi(topnStr) + if err != nil { + wh.Error400(w, "invalid n") + return + } + } + + var includeDistribution bool + includeDistributionStr := r.FormValue("include-distribution") + if includeDistributionStr == "" { + includeDistribution = false + } else { + var err error + includeDistribution, err = strconv.ParseBool(includeDistributionStr) + if err != nil { + wh.Error400(w, "invalid include-distribution") + return + } + } + + richlist, err := gateway.GetRichlist(includeDistribution) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + if topn > 0 && topn < len(richlist) { + richlist = richlist[:topn] + } + + wh.SendJSONOr500(logger, w, Richlist{ + Richlist: richlist, + }) + } +} + +// method: GET +// url: /addresscount +func getAddressCount(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + addrCount, err := gateway.GetAddressCount() + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, &map[string]uint64{"count": addrCount}) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/explorer_test.go b/vendor/github.com/skycoin/skycoin/src/api/explorer_test.go new file mode 100755 index 0000000..2ba3aac --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/explorer_test.go @@ -0,0 +1,625 @@ +package api + +import ( + "errors" + "net/http" + "testing" + + "encoding/json" + "net/http/httptest" + "net/url" + "strings" + + "github.com/stretchr/testify/require" + + "github.com/stretchr/testify/mock" + + "strconv" + + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/visor" +) + +func makeSuccessCoinSupplyResult(t *testing.T, allUnspents visor.ReadableOutputSet) *CoinSupply { + unlockedAddrs := visor.GetUnlockedDistributionAddresses() + var unlockedSupply uint64 + // check confirmed unspents only + // Search map of unlocked addresses + // used to filter unspents + unlockedAddrMap := daemon.MakeSearchMap(unlockedAddrs) + for _, u := range allUnspents.HeadOutputs { + // check if address is an unlocked distribution address + if _, ok := unlockedAddrMap[u.Address]; ok { + coins, err := droplet.FromString(u.Coins) + require.NoError(t, err) + unlockedSupply += coins + } + } + // "total supply" is the number of coins unlocked. + // Each distribution address was allocated visor.DistributionAddressInitialBalance coins. + totalSupply := uint64(len(unlockedAddrs)) * visor.DistributionAddressInitialBalance + totalSupply *= droplet.Multiplier + + // "current supply" is the number of coins distribution from the unlocked pool + currentSupply := totalSupply - unlockedSupply + + currentSupplyStr, err := droplet.ToString(currentSupply) + require.NoError(t, err) + + totalSupplyStr, err := droplet.ToString(totalSupply) + require.NoError(t, err) + + maxSupplyStr, err := droplet.ToString(visor.MaxCoinSupply * droplet.Multiplier) + require.NoError(t, err) + + // locked distribution addresses + lockedAddrs := visor.GetLockedDistributionAddresses() + lockedAddrMap := daemon.MakeSearchMap(lockedAddrs) + + // get total coins hours which excludes locked distribution addresses + var totalCoinHours uint64 + for _, out := range allUnspents.HeadOutputs { + if _, ok := lockedAddrMap[out.Address]; !ok { + totalCoinHours += out.Hours + } + } + + // get current coin hours which excludes all distribution addresses + var currentCoinHours uint64 + for _, out := range allUnspents.HeadOutputs { + // check if address not in locked distribution addresses + if _, ok := lockedAddrMap[out.Address]; !ok { + // check if address not in unlocked distribution addresses + if _, ok := unlockedAddrMap[out.Address]; !ok { + currentCoinHours += out.Hours + } + } + } + + cs := CoinSupply{ + CurrentSupply: currentSupplyStr, + TotalSupply: totalSupplyStr, + MaxSupply: maxSupplyStr, + CurrentCoinHourSupply: strconv.FormatUint(currentCoinHours, 10), + TotalCoinHourSupply: strconv.FormatUint(totalCoinHours, 10), + UnlockedAddresses: unlockedAddrs, + LockedAddresses: visor.GetLockedDistributionAddresses(), + } + return &cs +} + +func TestGetTransactionsForAddress(t *testing.T) { + address := testutil.MakeAddress() + successAddress := "111111111111111111111691FSP" + validHash := "79216473e8f2c17095c6887cc9edca6c023afedfac2e0c5460e8b6f359684f8b" + tt := []struct { + name string + method string + status int + err string + addressParam string + gatewayGetTransactionsForAddressErr error + result []daemon.ReadableTransaction + csrfDisabled bool + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + addressParam: "0", + }, + { + name: "400 - address is empty", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - address is empty", + addressParam: "", + }, + { + name: "400 - invalid address", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid address", + addressParam: "badAddress", + }, + { + name: "500 - gw GetTransactionsForAddress error", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - gateway.GetTransactionsForAddress failed: gatewayGetTransactionsForAddressErr", + addressParam: address.String(), + gatewayGetTransactionsForAddressErr: errors.New("gatewayGetTransactionsForAddressErr"), + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + addressParam: address.String(), + result: []daemon.ReadableTransaction{ + { + In: []visor.ReadableTransactionInput{ + { + Hash: validHash, + Address: successAddress, + Coins: "0.000000", + Hours: 0, + }, + }, + }, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/explorer/address" + gateway := NewGatewayerMock() + gateway.On("GetTransactionsForAddress", address).Return(tc.result, tc.gatewayGetTransactionsForAddressErr) + gateway.On("IsCSPEnabled").Return(false) + + v := url.Values{} + if tc.addressParam != "" { + v.Add("address", tc.addressParam) + } + + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + rr := httptest.NewRecorder() + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg []daemon.ReadableTransaction + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.result, msg) + } + }) + } +} + +func TestCoinSupply(t *testing.T) { + unlockedAddrs := visor.GetUnlockedDistributionAddresses() + successGatewayGetUnspentOutputsResult := visor.ReadableOutputSet{ + HeadOutputs: visor.ReadableOutputs{ + visor.ReadableOutput{ + Coins: "0", + }, + visor.ReadableOutput{ + Coins: "0", + }, + }, + } + var filterInUnlocked []daemon.OutputsFilter + filterInUnlocked = append(filterInUnlocked, daemon.FbyAddresses(unlockedAddrs)) + tt := []struct { + name string + method string + status int + err string + gatewayGetUnspentOutputsArg []daemon.OutputsFilter + gatewayGetUnspentOutputsResult *visor.ReadableOutputSet + gatewayGetUnspentOutputsErr error + result *CoinSupply + csrfDisabled bool + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "500 - gatewayGetUnspentOutputsErr", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - gateway.GetUnspentOutputs failed: gatewayGetUnspentOutputsErr", + gatewayGetUnspentOutputsArg: filterInUnlocked, + gatewayGetUnspentOutputsErr: errors.New("gatewayGetUnspentOutputsErr"), + }, + { + name: "500 - gatewayGetUnspentOutputsErr", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - gateway.GetUnspentOutputs failed: gatewayGetUnspentOutputsErr", + gatewayGetUnspentOutputsArg: filterInUnlocked, + gatewayGetUnspentOutputsErr: errors.New("gatewayGetUnspentOutputsErr"), + }, + { + name: "500 - too large HeadOutputs item", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - Invalid unlocked output balance string 9223372036854775807: Droplet string conversion failed: Value is too large", + gatewayGetUnspentOutputsArg: filterInUnlocked, + gatewayGetUnspentOutputsResult: &visor.ReadableOutputSet{ + HeadOutputs: visor.ReadableOutputs{ + visor.ReadableOutput{ + Coins: "9223372036854775807", + Address: unlockedAddrs[0], + }, + visor.ReadableOutput{ + Coins: "1", + }, + }, + }, + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + + gatewayGetUnspentOutputsArg: filterInUnlocked, + gatewayGetUnspentOutputsResult: &visor.ReadableOutputSet{ + HeadOutputs: visor.ReadableOutputs{ + visor.ReadableOutput{ + Coins: "0", + }, + visor.ReadableOutput{ + Coins: "0", + }, + }, + }, + result: makeSuccessCoinSupplyResult(t, successGatewayGetUnspentOutputsResult), + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/coinSupply" + gateway := NewGatewayerMock() + gateway.On("GetUnspentOutputs", mock.Anything).Return(tc.gatewayGetUnspentOutputsResult, tc.gatewayGetUnspentOutputsErr) + gateway.On("IsCSPEnabled").Return(false) + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + rr := httptest.NewRecorder() + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg *CoinSupply + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.result, msg) + } + }) + } +} + +func TestGetRichlist(t *testing.T) { + type httpParams struct { + topn string + includeDistribution string + } + tt := []struct { + name string + method string + status int + err string + httpParams *httpParams + includeDistribution bool + gatewayGetRichlistResult visor.Richlist + gatewayGetRichlistErr error + result Richlist + csrfDisabled bool + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "400 - bad topn param", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid n", + httpParams: &httpParams{ + topn: "bad topn", + }, + }, + { + name: "400 - include-distribution", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid include-distribution", + httpParams: &httpParams{ + topn: "1", + includeDistribution: "bad include-distribution", + }, + }, + { + name: "500 - gw GetRichlist error", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - gatewayGetRichlistErr", + httpParams: &httpParams{ + topn: "1", + includeDistribution: "false", + }, + gatewayGetRichlistErr: errors.New("gatewayGetRichlistErr"), + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + httpParams: &httpParams{ + topn: "3", + includeDistribution: "false", + }, + gatewayGetRichlistResult: visor.Richlist{ + { + Address: "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + Coins: "1000000.000000", + Locked: false, + }, + { + Address: "27jg25DZX21MXMypVbKJMmgCJ5SPuEunMF1", + Coins: "500000.000000", + Locked: false, + }, + { + Address: "2fGi2jhvp6ppHg3DecguZgzqvpJj2Gd4KHW", + Coins: "500000.000000", + Locked: false, + }, + { + Address: "2TmvdBWJgxMwGs84R4drS9p5fYkva4dGdfs", + Coins: "244458.000000", + Locked: false, + }, + { + Address: "24gvUHXHtSg5drKiFsMw7iMgoN2PbLub53C", + Coins: "195503.000000", + Locked: false, + }, + }, + result: Richlist{ + Richlist: visor.Richlist{ + { + Address: "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + Coins: "1000000.000000", + Locked: false, + }, + { + Address: "27jg25DZX21MXMypVbKJMmgCJ5SPuEunMF1", + Coins: "500000.000000", + Locked: false, + }, + { + Address: "2fGi2jhvp6ppHg3DecguZgzqvpJj2Gd4KHW", + Coins: "500000.000000", + Locked: false, + }, + }, + }, + }, + { + name: "200 no limit", + method: http.MethodGet, + status: http.StatusOK, + httpParams: &httpParams{ + topn: "0", + includeDistribution: "false", + }, + gatewayGetRichlistResult: visor.Richlist{ + { + Address: "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + Coins: "1000000.000000", + Locked: false, + }, + { + Address: "27jg25DZX21MXMypVbKJMmgCJ5SPuEunMF1", + Coins: "500000.000000", + Locked: false, + }, + { + Address: "2fGi2jhvp6ppHg3DecguZgzqvpJj2Gd4KHW", + Coins: "500000.000000", + Locked: false, + }, + { + Address: "2TmvdBWJgxMwGs84R4drS9p5fYkva4dGdfs", + Coins: "244458.000000", + Locked: false, + }, + { + Address: "24gvUHXHtSg5drKiFsMw7iMgoN2PbLub53C", + Coins: "195503.000000", + Locked: false, + }, + }, + result: Richlist{ + Richlist: visor.Richlist{ + { + Address: "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + Coins: "1000000.000000", + Locked: false, + }, + { + Address: "27jg25DZX21MXMypVbKJMmgCJ5SPuEunMF1", + Coins: "500000.000000", + Locked: false, + }, + { + Address: "2fGi2jhvp6ppHg3DecguZgzqvpJj2Gd4KHW", + Coins: "500000.000000", + Locked: false, + }, + { + Address: "2TmvdBWJgxMwGs84R4drS9p5fYkva4dGdfs", + Coins: "244458.000000", + Locked: false, + }, + { + Address: "24gvUHXHtSg5drKiFsMw7iMgoN2PbLub53C", + Coins: "195503.000000", + Locked: false, + }, + }, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/richlist" + gateway := NewGatewayerMock() + gateway.On("GetRichlist", tc.includeDistribution).Return(tc.gatewayGetRichlistResult, tc.gatewayGetRichlistErr) + gateway.On("IsCSPEnabled").Return(false) + + v := url.Values{} + if tc.httpParams != nil { + if tc.httpParams.topn != "" { + v.Add("n", tc.httpParams.topn) + } + if tc.httpParams.includeDistribution != "" { + v.Add("include-distribution", tc.httpParams.includeDistribution) + } + } + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + rr := httptest.NewRecorder() + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg Richlist + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.result, msg) + } + }) + } +} + +func TestGetAddressCount(t *testing.T) { + type Result struct { + Count uint64 + } + tt := []struct { + name string + method string + status int + err string + gatewayGetAddressCountResult uint64 + gatewayGetAddressCountErr error + result Result + csrfDisabled bool + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "500 - gw GetAddressCount error", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - gatewayGetAddressCountErr", + gatewayGetAddressCountErr: errors.New("gatewayGetAddressCountErr"), + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + gatewayGetAddressCountResult: 1, + result: Result{ + Count: 1, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/addresscount" + gateway := NewGatewayerMock() + gateway.On("GetAddressCount").Return(tc.gatewayGetAddressCountResult, tc.gatewayGetAddressCountErr) + gateway.On("IsCSPEnabled").Return(false) + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + rr := httptest.NewRecorder() + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg Result + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.result, msg) + } + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/gateway.go b/vendor/github.com/skycoin/skycoin/src/api/gateway.go new file mode 100755 index 0000000..ab634cf --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/gateway.go @@ -0,0 +1,59 @@ +package api + +import ( + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/historydb" + "github.com/skycoin/skycoin/src/wallet" +) + +//go:generate go install +//go:generate goautomock -template=testify Gatewayer + +// Gatewayer interface for Gateway methods +type Gatewayer interface { + Spend(wltID string, password []byte, coins uint64, dest cipher.Address) (*coin.Transaction, error) + CreateTransaction(w wallet.CreateTransactionParams) (*coin.Transaction, []wallet.UxBalance, error) + GetWalletBalance(wltID string) (wallet.BalancePair, wallet.AddressBalance, error) + GetWallet(wltID string) (*wallet.Wallet, error) + GetWallets() (wallet.Wallets, error) + UpdateWalletLabel(wltID, label string) error + GetWalletUnconfirmedTxns(wltID string) ([]visor.UnconfirmedTxn, error) + CreateWallet(wltName string, options wallet.Options) (*wallet.Wallet, error) + NewAddresses(wltID string, password []byte, n uint64) ([]cipher.Address, error) + GetWalletDir() (string, error) + IsWalletAPIEnabled() bool + EncryptWallet(wltID string, password []byte) (*wallet.Wallet, error) + DecryptWallet(wltID string, password []byte) (*wallet.Wallet, error) + GetWalletSeed(wltID string, password []byte) (string, error) + GetSignedBlockByHash(hash cipher.SHA256) (*coin.SignedBlock, error) + GetSignedBlockBySeq(seq uint64) (*coin.SignedBlock, error) + GetBlocks(start, end uint64) (*visor.ReadableBlocks, error) + GetLastBlocks(num uint64) (*visor.ReadableBlocks, error) + GetBuildInfo() visor.BuildInfo + GetUnspentOutputs(filters ...daemon.OutputsFilter) (*visor.ReadableOutputSet, error) + GetBalanceOfAddrs(addrs []cipher.Address) ([]wallet.BalancePair, error) + GetBlockchainMetadata() (*visor.BlockchainMetadata, error) + GetBlockchainProgress() (*daemon.BlockchainProgress, error) + GetConnection(addr string) *daemon.Connection + GetConnections() *daemon.Connections + GetDefaultConnections() []string + GetTrustConnections() []string + GetExchgConnection() []string + GetAllUnconfirmedTxns() ([]visor.UnconfirmedTxn, error) + GetTransaction(txid cipher.SHA256) (*visor.Transaction, error) + GetTransactions(flts ...visor.TxFilter) ([]visor.Transaction, error) + InjectBroadcastTransaction(txn coin.Transaction) error + ResendUnconfirmedTxns() (*daemon.ResendResult, error) + GetUxOutByID(id cipher.SHA256) (*historydb.UxOut, error) + GetAddrUxOuts(addr []cipher.Address) ([]*historydb.UxOut, error) + GetTransactionsForAddress(a cipher.Address) ([]daemon.ReadableTransaction, error) + GetRichlist(includeDistribution bool) (visor.Richlist, error) + GetAddressCount() (uint64, error) + GetHealth() (*daemon.Health, error) + UnloadWallet(id string) error + VerifyTxnVerbose(txn *coin.Transaction) ([]wallet.UxBalance, bool, error) + IsCSPEnabled() bool +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/gatewayer_mock_test.go b/vendor/github.com/skycoin/skycoin/src/api/gatewayer_mock_test.go new file mode 100755 index 0000000..ce81229 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/gatewayer_mock_test.go @@ -0,0 +1,1090 @@ +/* +* CODE GENERATED AUTOMATICALLY WITH github.com/ernesto-jimenez/goautomock +* THIS FILE MUST NEVER BE EDITED MANUALLY + */ + +package api + +import ( + "fmt" + + mock "github.com/stretchr/testify/mock" + + cipher "github.com/skycoin/skycoin/src/cipher" + coin "github.com/skycoin/skycoin/src/coin" + daemon "github.com/skycoin/skycoin/src/daemon" + visor "github.com/skycoin/skycoin/src/visor" + historydb "github.com/skycoin/skycoin/src/visor/historydb" + wallet "github.com/skycoin/skycoin/src/wallet" +) + +// GatewayerMock mock +type GatewayerMock struct { + mock.Mock +} + +func NewGatewayerMock() *GatewayerMock { + return &GatewayerMock{} +} + +// CreateTransaction mocked method +func (m *GatewayerMock) CreateTransaction(p0 wallet.CreateTransactionParams) (*coin.Transaction, []wallet.UxBalance, error) { + + ret := m.Called(p0) + + var r0 *coin.Transaction + switch res := ret.Get(0).(type) { + case nil: + case *coin.Transaction: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 []wallet.UxBalance + switch res := ret.Get(1).(type) { + case nil: + case []wallet.UxBalance: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r2 error + switch res := ret.Get(2).(type) { + case nil: + case error: + r2 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1, r2 + +} + +// CreateWallet mocked method +func (m *GatewayerMock) CreateWallet(p0 string, p1 wallet.Options) (*wallet.Wallet, error) { + + ret := m.Called(p0, p1) + + var r0 *wallet.Wallet + switch res := ret.Get(0).(type) { + case nil: + case *wallet.Wallet: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// DecryptWallet mocked method +func (m *GatewayerMock) DecryptWallet(p0 string, p1 []byte) (*wallet.Wallet, error) { + + ret := m.Called(p0, p1) + + var r0 *wallet.Wallet + switch res := ret.Get(0).(type) { + case nil: + case *wallet.Wallet: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// EncryptWallet mocked method +func (m *GatewayerMock) EncryptWallet(p0 string, p1 []byte) (*wallet.Wallet, error) { + + ret := m.Called(p0, p1) + + var r0 *wallet.Wallet + switch res := ret.Get(0).(type) { + case nil: + case *wallet.Wallet: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetAddrUxOuts mocked method +func (m *GatewayerMock) GetAddrUxOuts(p0 []cipher.Address) ([]*historydb.UxOut, error) { + + ret := m.Called(p0) + + var r0 []*historydb.UxOut + switch res := ret.Get(0).(type) { + case nil: + case []*historydb.UxOut: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetAddressCount mocked method +func (m *GatewayerMock) GetAddressCount() (uint64, error) { + + ret := m.Called() + + var r0 uint64 + switch res := ret.Get(0).(type) { + case nil: + case uint64: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetAllUnconfirmedTxns mocked method +func (m *GatewayerMock) GetAllUnconfirmedTxns() ([]visor.UnconfirmedTxn, error) { + + ret := m.Called() + + var r0 []visor.UnconfirmedTxn + switch res := ret.Get(0).(type) { + case nil: + case []visor.UnconfirmedTxn: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetBalanceOfAddrs mocked method +func (m *GatewayerMock) GetBalanceOfAddrs(p0 []cipher.Address) ([]wallet.BalancePair, error) { + + ret := m.Called(p0) + + var r0 []wallet.BalancePair + switch res := ret.Get(0).(type) { + case nil: + case []wallet.BalancePair: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetBlockchainMetadata mocked method +func (m *GatewayerMock) GetBlockchainMetadata() (*visor.BlockchainMetadata, error) { + + ret := m.Called() + + var r0 *visor.BlockchainMetadata + switch res := ret.Get(0).(type) { + case nil: + case *visor.BlockchainMetadata: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetBlockchainProgress mocked method +func (m *GatewayerMock) GetBlockchainProgress() (*daemon.BlockchainProgress, error) { + + ret := m.Called() + + var r0 *daemon.BlockchainProgress + switch res := ret.Get(0).(type) { + case nil: + case *daemon.BlockchainProgress: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetBlocks mocked method +func (m *GatewayerMock) GetBlocks(p0 uint64, p1 uint64) (*visor.ReadableBlocks, error) { + + ret := m.Called(p0, p1) + + var r0 *visor.ReadableBlocks + switch res := ret.Get(0).(type) { + case nil: + case *visor.ReadableBlocks: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetBuildInfo mocked method +func (m *GatewayerMock) GetBuildInfo() visor.BuildInfo { + + ret := m.Called() + + var r0 visor.BuildInfo + switch res := ret.Get(0).(type) { + case nil: + case visor.BuildInfo: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// GetConnection mocked method +func (m *GatewayerMock) GetConnection(p0 string) *daemon.Connection { + + ret := m.Called(p0) + + var r0 *daemon.Connection + switch res := ret.Get(0).(type) { + case nil: + case *daemon.Connection: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// GetConnections mocked method +func (m *GatewayerMock) GetConnections() *daemon.Connections { + + ret := m.Called() + + var r0 *daemon.Connections + switch res := ret.Get(0).(type) { + case nil: + case *daemon.Connections: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// GetDefaultConnections mocked method +func (m *GatewayerMock) GetDefaultConnections() []string { + + ret := m.Called() + + var r0 []string + switch res := ret.Get(0).(type) { + case nil: + case []string: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// GetExchgConnection mocked method +func (m *GatewayerMock) GetExchgConnection() []string { + + ret := m.Called() + + var r0 []string + switch res := ret.Get(0).(type) { + case nil: + case []string: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// GetHealth mocked method +func (m *GatewayerMock) GetHealth() (*daemon.Health, error) { + + ret := m.Called() + + var r0 *daemon.Health + switch res := ret.Get(0).(type) { + case nil: + case *daemon.Health: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetLastBlocks mocked method +func (m *GatewayerMock) GetLastBlocks(p0 uint64) (*visor.ReadableBlocks, error) { + + ret := m.Called(p0) + + var r0 *visor.ReadableBlocks + switch res := ret.Get(0).(type) { + case nil: + case *visor.ReadableBlocks: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetRichlist mocked method +func (m *GatewayerMock) GetRichlist(p0 bool) (visor.Richlist, error) { + + ret := m.Called(p0) + + var r0 visor.Richlist + switch res := ret.Get(0).(type) { + case nil: + case visor.Richlist: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetSignedBlockByHash mocked method +func (m *GatewayerMock) GetSignedBlockByHash(p0 cipher.SHA256) (*coin.SignedBlock, error) { + + ret := m.Called(p0) + + var r0 *coin.SignedBlock + switch res := ret.Get(0).(type) { + case nil: + case *coin.SignedBlock: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetSignedBlockBySeq mocked method +func (m *GatewayerMock) GetSignedBlockBySeq(p0 uint64) (*coin.SignedBlock, error) { + + ret := m.Called(p0) + + var r0 *coin.SignedBlock + switch res := ret.Get(0).(type) { + case nil: + case *coin.SignedBlock: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetTransaction mocked method +func (m *GatewayerMock) GetTransaction(p0 cipher.SHA256) (*visor.Transaction, error) { + + ret := m.Called(p0) + + var r0 *visor.Transaction + switch res := ret.Get(0).(type) { + case nil: + case *visor.Transaction: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetTransactions mocked method +func (m *GatewayerMock) GetTransactions(p0 ...visor.TxFilter) ([]visor.Transaction, error) { + + ret := m.Called(p0) + + var r0 []visor.Transaction + switch res := ret.Get(0).(type) { + case nil: + case []visor.Transaction: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetTransactionsForAddress mocked method +func (m *GatewayerMock) GetTransactionsForAddress(p0 cipher.Address) ([]daemon.ReadableTransaction, error) { + + ret := m.Called(p0) + + var r0 []daemon.ReadableTransaction + switch res := ret.Get(0).(type) { + case nil: + case []daemon.ReadableTransaction: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetTrustConnections mocked method +func (m *GatewayerMock) GetTrustConnections() []string { + + ret := m.Called() + + var r0 []string + switch res := ret.Get(0).(type) { + case nil: + case []string: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// GetUnspentOutputs mocked method +func (m *GatewayerMock) GetUnspentOutputs(p0 ...daemon.OutputsFilter) (*visor.ReadableOutputSet, error) { + + ret := m.Called(p0) + + var r0 *visor.ReadableOutputSet + switch res := ret.Get(0).(type) { + case nil: + case *visor.ReadableOutputSet: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetUxOutByID mocked method +func (m *GatewayerMock) GetUxOutByID(p0 cipher.SHA256) (*historydb.UxOut, error) { + + ret := m.Called(p0) + + var r0 *historydb.UxOut + switch res := ret.Get(0).(type) { + case nil: + case *historydb.UxOut: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetWallet mocked method +func (m *GatewayerMock) GetWallet(p0 string) (*wallet.Wallet, error) { + + ret := m.Called(p0) + + var r0 *wallet.Wallet + switch res := ret.Get(0).(type) { + case nil: + case *wallet.Wallet: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetWalletBalance mocked method +func (m *GatewayerMock) GetWalletBalance(p0 string) (wallet.BalancePair, wallet.AddressBalance, error) { + + ret := m.Called(p0) + + var r0 wallet.BalancePair + switch res := ret.Get(0).(type) { + case nil: + case wallet.BalancePair: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 wallet.AddressBalance + switch res := ret.Get(1).(type) { + case nil: + case wallet.AddressBalance: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r2 error + switch res := ret.Get(2).(type) { + case nil: + case error: + r2 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1, r2 + +} + +// GetWalletDir mocked method +func (m *GatewayerMock) GetWalletDir() (string, error) { + + ret := m.Called() + + var r0 string + switch res := ret.Get(0).(type) { + case nil: + case string: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetWalletSeed mocked method +func (m *GatewayerMock) GetWalletSeed(p0 string, p1 []byte) (string, error) { + + ret := m.Called(p0, p1) + + var r0 string + switch res := ret.Get(0).(type) { + case nil: + case string: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetWalletUnconfirmedTxns mocked method +func (m *GatewayerMock) GetWalletUnconfirmedTxns(p0 string) ([]visor.UnconfirmedTxn, error) { + + ret := m.Called(p0) + + var r0 []visor.UnconfirmedTxn + switch res := ret.Get(0).(type) { + case nil: + case []visor.UnconfirmedTxn: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetWallets mocked method +func (m *GatewayerMock) GetWallets() (wallet.Wallets, error) { + + ret := m.Called() + + var r0 wallet.Wallets + switch res := ret.Get(0).(type) { + case nil: + case wallet.Wallets: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// InjectBroadcastTransaction mocked method +func (m *GatewayerMock) InjectBroadcastTransaction(p0 coin.Transaction) error { + + ret := m.Called(p0) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// IsCSPEnabled mocked method +func (m *GatewayerMock) IsCSPEnabled() bool { + + ret := m.Called() + + var r0 bool + switch res := ret.Get(0).(type) { + case nil: + case bool: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// IsWalletAPIEnabled mocked method +func (m *GatewayerMock) IsWalletAPIEnabled() bool { + + ret := m.Called() + + var r0 bool + switch res := ret.Get(0).(type) { + case nil: + case bool: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// NewAddresses mocked method +func (m *GatewayerMock) NewAddresses(p0 string, p1 []byte, p2 uint64) ([]cipher.Address, error) { + + ret := m.Called(p0, p1, p2) + + var r0 []cipher.Address + switch res := ret.Get(0).(type) { + case nil: + case []cipher.Address: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// ResendUnconfirmedTxns mocked method +func (m *GatewayerMock) ResendUnconfirmedTxns() (*daemon.ResendResult, error) { + + ret := m.Called() + + var r0 *daemon.ResendResult + switch res := ret.Get(0).(type) { + case nil: + case *daemon.ResendResult: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// Spend mocked method +func (m *GatewayerMock) Spend(p0 string, p1 []byte, p2 uint64, p3 cipher.Address) (*coin.Transaction, error) { + + ret := m.Called(p0, p1, p2, p3) + + var r0 *coin.Transaction + switch res := ret.Get(0).(type) { + case nil: + case *coin.Transaction: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// UnloadWallet mocked method +func (m *GatewayerMock) UnloadWallet(p0 string) error { + + ret := m.Called(p0) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// UpdateWalletLabel mocked method +func (m *GatewayerMock) UpdateWalletLabel(p0 string, p1 string) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// VerifyTxnVerbose mocked method +func (m *GatewayerMock) VerifyTxnVerbose(p0 *coin.Transaction) ([]wallet.UxBalance, bool, error) { + + ret := m.Called(p0) + + var r0 []wallet.UxBalance + switch res := ret.Get(0).(type) { + case nil: + case []wallet.UxBalance: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 bool + switch res := ret.Get(1).(type) { + case nil: + case bool: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r2 error + switch res := ret.Get(2).(type) { + case nil: + case error: + r2 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1, r2 + +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/health.go b/vendor/github.com/skycoin/skycoin/src/api/health.go new file mode 100755 index 0000000..90cfacb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/health.go @@ -0,0 +1,56 @@ +package api + +import ( + "fmt" + "net/http" + "time" + + wh "github.com/skycoin/skycoin/src/util/http" + "github.com/skycoin/skycoin/src/visor" +) + +// BlockchainMetadata extends visor.BlockchainMetadata to include the time since the last block +type BlockchainMetadata struct { + *visor.BlockchainMetadata + TimeSinceLastBlock wh.Duration `json:"time_since_last_block"` +} + +// HealthResponse is returned by the /health endpoint +type HealthResponse struct { + BlockchainMetadata BlockchainMetadata `json:"blockchain"` + Version visor.BuildInfo `json:"version"` + OpenConnections int `json:"open_connections"` + Uptime wh.Duration `json:"uptime"` +} + +// Returns node health data. +// URI: /api/v1/health +// Method: GET +func healthCheck(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + health, err := gateway.GetHealth() + if err != nil { + err = fmt.Errorf("gateway.GetHealth failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + elapsedBlockTime := time.Now().UTC().Unix() - int64(health.BlockchainMetadata.Head.Time) + timeSinceLastBlock := time.Second * time.Duration(elapsedBlockTime) + + wh.SendJSONOr500(logger, w, HealthResponse{ + BlockchainMetadata: BlockchainMetadata{ + BlockchainMetadata: health.BlockchainMetadata, + TimeSinceLastBlock: wh.FromDuration(timeSinceLastBlock), + }, + Version: health.Version, + OpenConnections: health.OpenConnections, + Uptime: wh.FromDuration(health.Uptime), + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/health_test.go b/vendor/github.com/skycoin/skycoin/src/api/health_test.go new file mode 100755 index 0000000..3970890 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/health_test.go @@ -0,0 +1,120 @@ +package api + +import ( + "errors" + "net/http" + "testing" + "time" + + "github.com/stretchr/testify/require" + + "encoding/json" + "net/http/httptest" + + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/visor" +) + +func TestHealthCheckHandler(t *testing.T) { + + cases := []struct { + name string + method string + code int + getHealthErr error + }{ + { + name: "valid response", + method: http.MethodGet, + code: http.StatusOK, + }, + { + name: "403 method not allowed", + method: http.MethodPost, + code: http.StatusMethodNotAllowed, + }, + { + name: "gateway.GetHealth error", + method: http.MethodGet, + code: http.StatusInternalServerError, + getHealthErr: errors.New("GetHealth failed"), + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + unspents := uint64(10) + unconfirmed := uint64(20) + + metadata := &visor.BlockchainMetadata{ + Head: visor.ReadableBlockHeader{ + BkSeq: 21175, + BlockHash: "8a3e0aac619551ae009cfb28c2b36bb1300925f74da770d1512072314f6a4c80", + PreviousBlockHash: "001eb7911b6a6ab7c75feb88726dd2bc8b87133aebc82201c4404537eb74f7ac", + Time: 1523168686, + Fee: 2, + Version: 0, + BodyHash: "36be8d70d1e9f70b340ea7ecf0b247c27086bad10568044c1196fe150f6cea1b", + }, + Unspents: unspents, + Unconfirmed: unconfirmed, + } + + buildInfo := visor.BuildInfo{ + Version: "1.0.0", + Commit: "abcdef", + Branch: "develop", + } + + health := &daemon.Health{ + BlockchainMetadata: metadata, + OpenConnections: 3, + Version: buildInfo, + Uptime: time.Second * 4, + } + + gateway := NewGatewayerMock() + gateway.On("IsCSPEnabled").Return(false) + + if tc.getHealthErr != nil { + gateway.On("GetHealth").Return(nil, tc.getHealthErr) + } else { + gateway.On("GetHealth").Return(health, nil) + } + + endpoint := "/api/v1/health" + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + rr := httptest.NewRecorder() + cfg := muxConfig{ + host: configuredHost, + appLoc: ".", + } + handler := newServerMux(cfg, gateway, &CSRFStore{}, nil) + handler.ServeHTTP(rr, req) + if tc.code != http.StatusOK { + require.Equal(t, tc.code, rr.Code) + return + } + + require.Equal(t, http.StatusOK, rr.Code) + + r := &HealthResponse{} + err = json.Unmarshal(rr.Body.Bytes(), r) + require.NoError(t, err) + + require.Equal(t, buildInfo.Version, r.Version.Version) + require.Equal(t, buildInfo.Commit, r.Version.Commit) + require.Equal(t, buildInfo.Branch, r.Version.Branch) + require.Equal(t, health.Uptime, r.Uptime.Duration) + + require.Equal(t, health.OpenConnections, r.OpenConnections) + + require.Equal(t, unconfirmed, r.BlockchainMetadata.Unconfirmed) + require.Equal(t, unspents, r.BlockchainMetadata.Unspents) + require.True(t, r.BlockchainMetadata.TimeSinceLastBlock.Duration > time.Duration(0)) + require.Equal(t, metadata.Head, r.BlockchainMetadata.Head) + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/http.go b/vendor/github.com/skycoin/skycoin/src/api/http.go new file mode 100755 index 0000000..75512ce --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/http.go @@ -0,0 +1,573 @@ +package api + +import ( + "crypto/tls" + "fmt" + "io/ioutil" + "net" + "net/http" + "path/filepath" + "strings" + "time" + "unicode" + + "github.com/NYTimes/gziphandler" + + "github.com/skycoin/skycoin/src/api/webrpc" + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/util/file" + wh "github.com/skycoin/skycoin/src/util/http" + "github.com/skycoin/skycoin/src/util/logging" +) + +var ( + logger = logging.MustGetLogger("api") +) + +const ( + resourceDir = "dist/" + devDir = "dev/" + indexPage = "index.html" + + defaultReadTimeout = time.Second * 10 + defaultWriteTimeout = time.Second * 60 + defaultIdleTimeout = time.Second * 120 +) + +// Server exposes an HTTP API +type Server struct { + server *http.Server + listener net.Listener + done chan struct{} +} + +// Config configures Server +type Config struct { + StaticDir string + DisableCSRF bool + EnableWalletAPI bool + EnableJSON20RPC bool + EnableGUI bool + EnableUnversionedAPI bool + ReadTimeout time.Duration + WriteTimeout time.Duration + IdleTimeout time.Duration +} + +type muxConfig struct { + host string + appLoc string + enableGUI bool + enableJSON20RPC bool + enableUnversionedAPI bool +} + +// HTTPResponse represents the http response struct +type HTTPResponse struct { + Error *HTTPError `json:"error,omitempty"` + Data interface{} `json:"data,omitempty"` +} + +// HTTPError is included in an HTTPResponse +type HTTPError struct { + Message string `json:"message"` + Code int `json:"code"` +} + +// NewHTTPErrorResponse returns an HTTPResponse with the Error field populated +func NewHTTPErrorResponse(code int, msg string) HTTPResponse { + if msg == "" { + msg = http.StatusText(code) + } + + return HTTPResponse{ + Error: &HTTPError{ + Code: code, + Message: msg, + }, + } +} + +func create(host string, c Config, gateway Gatewayer) (*Server, error) { + var appLoc string + if c.EnableGUI { + var err error + appLoc, err = file.DetermineResourcePath(c.StaticDir, resourceDir, devDir) + if err != nil { + return nil, err + } + logger.Infof("Web resources directory: %s", appLoc) + } + + csrfStore := &CSRFStore{ + Enabled: !c.DisableCSRF, + } + if c.DisableCSRF { + logger.Warning("CSRF check disabled") + } + + var rpc *webrpc.WebRPC + if c.EnableJSON20RPC { + logger.Info("JSON 2.0 RPC enabled") + var err error + // TODO: change webprc to use http.Gatewayer + rpc, err = webrpc.New(gateway.(*daemon.Gateway)) + if err != nil { + return nil, err + } + } + + if c.ReadTimeout == 0 { + c.ReadTimeout = defaultReadTimeout + } + if c.WriteTimeout == 0 { + c.WriteTimeout = defaultWriteTimeout + } + if c.IdleTimeout == 0 { + c.IdleTimeout = defaultIdleTimeout + } + + mc := muxConfig{ + host: host, + appLoc: appLoc, + enableGUI: c.EnableGUI, + enableJSON20RPC: c.EnableJSON20RPC, + enableUnversionedAPI: c.EnableUnversionedAPI, + } + + srvMux := newServerMux(mc, gateway, csrfStore, rpc) + srv := &http.Server{ + Handler: srvMux, + ReadTimeout: c.ReadTimeout, + WriteTimeout: c.WriteTimeout, + IdleTimeout: c.IdleTimeout, + } + + return &Server{ + server: srv, + done: make(chan struct{}), + }, nil +} + +// Create creates a new Server instance that listens on HTTP +func Create(host string, c Config, gateway Gatewayer) (*Server, error) { + logger.Warning("HTTPS not in use!") + + listener, err := net.Listen("tcp", host) + if err != nil { + return nil, err + } + + // If the host did not specify a port, allowing the kernel to assign one, + // we need to get the assigned address to know the full hostname + host = listener.Addr().String() + + s, err := create(host, c, gateway) + if err != nil { + s.listener.Close() + return nil, err + } + + s.listener = listener + + return s, nil +} + +// CreateHTTPS creates a new Server instance that listens on HTTPS +func CreateHTTPS(host string, c Config, gateway Gatewayer, certFile, keyFile string) (*Server, error) { + cert, err := tls.LoadX509KeyPair(certFile, keyFile) + if err != nil { + return nil, err + } + + logger.Infof("Using %s for the certificate", certFile) + logger.Infof("Using %s for the key", keyFile) + + listener, err := tls.Listen("tcp", host, &tls.Config{ + Certificates: []tls.Certificate{cert}, + }) + if err != nil { + return nil, err + } + + // If the host did not specify a port, allowing the kernel to assign one, + // we need to get the assigned address to know the full hostname + host = listener.Addr().String() + + s, err := create(host, c, gateway) + if err != nil { + s.listener.Close() + return nil, err + } + + s.listener = listener + + return s, nil +} + +// Addr returns the listening address of the Server +func (s *Server) Addr() string { + return s.listener.Addr().String() +} + +// Serve serves the web interface on the configured host +func (s *Server) Serve() error { + logger.Infof("Starting web interface on %s", s.listener.Addr()) + defer logger.Info("Web interface closed") + defer close(s.done) + + if err := s.server.Serve(s.listener); err != nil { + if err != http.ErrServerClosed { + return err + } + } + return nil +} + +// Shutdown closes the HTTP service. This can only be called after Serve or ServeHTTPS has been called. +func (s *Server) Shutdown() { + if s == nil { + return + } + + logger.Info("Shutting down web interface") + defer logger.Info("Web interface shut down") + s.listener.Close() + <-s.done +} + +// newServerMux creates an http.ServeMux with handlers registered +func newServerMux(c muxConfig, gateway Gatewayer, csrfStore *CSRFStore, rpc *webrpc.WebRPC) *http.ServeMux { + mux := http.NewServeMux() + + headerCheck := func(host string, handler http.Handler) http.Handler { + handler = OriginRefererCheck(host, handler) + handler = wh.HostCheck(logger, host, handler) + return handler + } + + webHandler := func(endpoint string, handler http.Handler) { + handler = wh.ElapsedHandler(logger, handler) + handler = CSRFCheck(csrfStore, handler) + handler = headerCheck(c.host, handler) + handler = gziphandler.GzipHandler(handler) + mux.Handle(endpoint, handler) + } + + webHandlerV1 := func(endpoint string, handler http.Handler) { + if c.enableUnversionedAPI { + webHandler(endpoint, handler) + } + webHandler("/api/v1"+endpoint, handler) + } + + webHandlerV2 := func(endpoint string, handler http.Handler) { + webHandler("/api/v2"+endpoint, handler) + } + + indexHandler := newIndexHandler(c.appLoc, c.enableGUI) + if gateway.IsCSPEnabled() { + indexHandler = wh.CSPHandler(indexHandler) + } + webHandler("/", indexHandler) + + if c.enableGUI { + fileInfos, _ := ioutil.ReadDir(c.appLoc) + + fs := http.FileServer(http.Dir(c.appLoc)) + if gateway.IsCSPEnabled() { + fs = wh.CSPHandler(fs) + } + + for _, fileInfo := range fileInfos { + route := fmt.Sprintf("/%s", fileInfo.Name()) + if fileInfo.IsDir() { + route = route + "/" + } + + webHandler(route, fs) + } + } + + if c.enableJSON20RPC { + webHandlerV1("/webrpc", http.HandlerFunc(rpc.Handler)) + } + + // get the current CSRF token + csrfHandler := headerCheck(c.host, getCSRFToken(csrfStore)) + mux.Handle("/csrf", csrfHandler) + mux.Handle("/api/v1/csrf", csrfHandler) + + webHandlerV1("/version", versionHandler(gateway)) + + // get set of unspent outputs + webHandlerV1("/outputs", getOutputsHandler(gateway)) + + // get balance of addresses + webHandlerV1("/balance", getBalanceHandler(gateway)) + + // Wallet interface + + // Returns wallet info + // Method: GET + // Args: + // id - Wallet ID [required] + webHandlerV1("/wallet", walletGet(gateway)) + + // Loads wallet from seed, will scan ahead N address and + // load addresses till the last one that have coins. + // Method: POST + // Args: + // seed: wallet seed [required] + // label: wallet label [required] + // scan: the number of addresses to scan ahead for balances [optional, must be > 0] + webHandlerV1("/wallet/create", walletCreate(gateway)) + + webHandlerV1("/wallet/newAddress", walletNewAddresses(gateway)) + + // Returns the confirmed and predicted balance for a specific wallet. + // The predicted balance is the confirmed balance minus any pending + // spent amount. + // GET arguments: + // id: Wallet ID + webHandlerV1("/wallet/balance", walletBalanceHandler(gateway)) + + // Sends coins&hours to another address. + // POST arguments: + // id: Wallet ID + // coins: Number of coins to spend + // dst: Destination address + // Returns total amount spent if successful, otherwise error describing + // failure status. + webHandlerV1("/wallet/spend", walletSpendHandler(gateway)) + + // Creates a transaction from a wallet + webHandlerV1("/wallet/transaction", createTransactionHandler(gateway)) + + // GET Arguments: + // id: Wallet ID + // Returns all pending transanction for all addresses by selected Wallet + webHandlerV1("/wallet/transactions", walletTransactionsHandler(gateway)) + + // Update wallet label + // POST Arguments: + // id: wallet id + // label: wallet label + webHandlerV1("/wallet/update", walletUpdateHandler(gateway)) + + // Returns all loaded wallets + // returns sensitive information + webHandlerV1("/wallets", walletsHandler(gateway)) + + // Returns wallets directory path + webHandlerV1("/wallets/folderName", getWalletFolder(gateway)) + + // Generate wallet seed + // GET Arguments: + // entropy: entropy bitsize. + webHandlerV1("/wallet/newSeed", newWalletSeed(gateway)) + + // Gets seed of wallet of given id + // GET Arguments: + // id: wallet id + // password: wallet password + webHandlerV1("/wallet/seed", walletSeedHandler(gateway)) + + // unload wallet + // POST Argument: + // id: wallet id + webHandlerV1("/wallet/unload", walletUnloadHandler(gateway)) + + // Encrypts wallet + // POST arguments: + // id: wallet id + // password: wallet password + // Returns an encrypted wallet json without sensitive data + webHandlerV1("/wallet/encrypt", walletEncryptHandler(gateway)) + + // Decrypts wallet + // POST arguments: + // id: wallet id + // password: wallet password + webHandlerV1("/wallet/decrypt", walletDecryptHandler(gateway)) + + // Blockchain interface + + webHandlerV1("/blockchain/metadata", blockchainHandler(gateway)) + webHandlerV1("/blockchain/progress", blockchainProgressHandler(gateway)) + + // get block by hash or seq + webHandlerV1("/block", getBlock(gateway)) + // get blocks in specific range + webHandlerV1("/blocks", getBlocks(gateway)) + // get last N blocks + webHandlerV1("/last_blocks", getLastBlocks(gateway)) + + // Network stats interface + webHandlerV1("/network/connection", connectionHandler(gateway)) + webHandlerV1("/network/connections", connectionsHandler(gateway)) + webHandlerV1("/network/defaultConnections", defaultConnectionsHandler(gateway)) + webHandlerV1("/network/connections/trust", trustConnectionsHandler(gateway)) + webHandlerV1("/network/connections/exchange", exchgConnectionsHandler(gateway)) + + // Transaction handler + + // get set of pending transactions + webHandlerV1("/pendingTxs", getPendingTxns(gateway)) + // get txn by txid + webHandlerV1("/transaction", getTransactionByID(gateway)) + + // parse and verify transaction + webHandlerV2("/transaction/verify", verifyTxnHandler(gateway)) + + // Health check handler + webHandlerV1("/health", healthCheck(gateway)) + + // Returns transactions that match the filters. + // Method: GET + // Args: + // addrs: Comma seperated addresses [optional, returns all transactions if no address is provided] + // confirmed: Whether the transactions should be confirmed [optional, must be 0 or 1; if not provided, returns all] + webHandlerV1("/transactions", getTransactions(gateway)) + // inject a transaction into network + webHandlerV1("/injectTransaction", injectTransaction(gateway)) + webHandlerV1("/resendUnconfirmedTxns", resendUnconfirmedTxns(gateway)) + // get raw tx by txid. + webHandlerV1("/rawtx", getRawTxn(gateway)) + + // UxOut api handler + + // get uxout by id. + webHandlerV1("/uxout", getUxOutByID(gateway)) + // get all the address affected uxouts. + webHandlerV1("/address_uxouts", getAddrUxOuts(gateway)) + + webHandlerV2("/address/verify", http.HandlerFunc(addressVerify)) + + // Explorer handler + + // get set of pending transactions + webHandlerV1("/explorer/address", getTransactionsForAddress(gateway)) + + webHandlerV1("/coinSupply", getCoinSupply(gateway)) + + webHandlerV1("/richlist", getRichlist(gateway)) + + webHandlerV1("/addresscount", getAddressCount(gateway)) + + return mux +} + +// Returns a http.HandlerFunc for index.html, where index.html is in appLoc +func newIndexHandler(appLoc string, enableGUI bool) http.Handler { + // Serves the main page + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if !enableGUI { + wh.Error404(w, "") + return + } + + if r.URL.Path != "/" { + wh.Error404(w, "") + return + } + + if r.URL.Path == "/" { + page := filepath.Join(appLoc, indexPage) + logger.Debugf("Serving index page: %s", page) + http.ServeFile(w, r, page) + } + }) +} + +func splitCommaString(s string) []string { + words := strings.FieldsFunc(s, func(r rune) bool { + return r == ',' || unicode.IsSpace(r) + }) + + // Deduplicate + var dedupWords []string + wordsMap := make(map[string]struct{}) + for _, w := range words { + if _, ok := wordsMap[w]; !ok { + dedupWords = append(dedupWords, w) + } + wordsMap[w] = struct{}{} + } + + return dedupWords +} + +// getOutputsHandler returns UxOuts filtered by a set of addresses or a set of hashes +// URI: /api/v1/outputs +// Method: GET +// Args: +// addrs: comma-separated list of addresses +// hashes: comma-separated list of uxout hashes +// If neither addrs nor hashes are specificed, return all unspent outputs. +// If only one filter is specified, then return outputs match the filter. +// Both filters cannot be specified. +func getOutputsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + var addrs []string + var hashes []string + + addrStr := r.FormValue("addrs") + hashStr := r.FormValue("hashes") + + if addrStr != "" && hashStr != "" { + wh.Error400(w, "addrs and hashes cannot be specified together") + return + } + + filters := []daemon.OutputsFilter{} + + if addrStr != "" { + addrs = splitCommaString(addrStr) + + for _, a := range addrs { + if _, err := cipher.DecodeBase58Address(a); err != nil { + wh.Error400(w, "addrs contains invalid address") + return + } + } + + if len(addrs) > 0 { + filters = append(filters, daemon.FbyAddresses(addrs)) + } + } + + if hashStr != "" { + hashes = splitCommaString(hashStr) + if len(hashes) > 0 { + filters = append(filters, daemon.FbyHashes(hashes)) + } + } + + outs, err := gateway.GetUnspentOutputs(filters...) + if err != nil { + err = fmt.Errorf("get unspent outputs failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, outs) + } +} + +func versionHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + wh.SendJSONOr500(logger, w, gateway.GetBuildInfo()) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/http_test.go b/vendor/github.com/skycoin/skycoin/src/api/http_test.go new file mode 100755 index 0000000..35a0afc --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/http_test.go @@ -0,0 +1,446 @@ +package api + +import ( + "encoding/json" + "fmt" + "io/ioutil" + "math" + "net/http" + "net/http/httptest" + "net/url" + "strings" + "sync" + "testing" + + "errors" + + "github.com/stretchr/testify/mock" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/wallet" +) + +func TestGetOutputsHandler(t *testing.T) { + validAddr := "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf" + invalidAddr := "invalidAddr" + validHash := "79216473e8f2c17095c6887cc9edca6c023afedfac2e0c5460e8b6f359684f8b" + + type httpBody struct { + addrs string + hashStr string + } + tt := []struct { + name string + method string + url string + status int + err string + httpBody *httpBody + uxid string + getUnspentOutputsResponse *visor.ReadableOutputSet + getUnspentOutputsError error + httpResponse *visor.ReadableOutputSet + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "400 - addrs and hashes together", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - addrs and hashes cannot be specified together", + httpBody: &httpBody{ + addrs: validAddr, + hashStr: validHash, + }, + }, + { + name: "400 - invalid address", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - addrs contains invalid address", + httpBody: &httpBody{ + addrs: invalidAddr, + }, + }, + { + name: "500 - getUnspentOutputsError", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - get unspent outputs failed: getUnspentOutputsError", + getUnspentOutputsResponse: nil, + getUnspentOutputsError: errors.New("getUnspentOutputsError"), + }, + { + name: "200 - OK", + method: http.MethodGet, + status: http.StatusOK, + getUnspentOutputsResponse: &visor.ReadableOutputSet{}, + httpResponse: &visor.ReadableOutputSet{}, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := NewGatewayerMock() + endpoint := "/api/v1/outputs" + gateway.On("GetUnspentOutputs", mock.Anything).Return(tc.getUnspentOutputsResponse, tc.getUnspentOutputsError) + gateway.On("IsCSPEnabled").Return(false) + + v := url.Values{} + if tc.httpBody != nil { + if tc.httpBody.hashStr != "" { + v.Add("hashes", tc.httpBody.hashStr) + } + if tc.httpBody.addrs != "" { + v.Add("addrs", tc.httpBody.addrs) + } + } + + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, &CSRFStore{}, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg *visor.ReadableOutputSet + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.httpResponse, msg, tc.name) + } + }) + } +} + +func TestGetBalanceHandler(t *testing.T) { + type httpBody struct { + addrs string + } + invalidAddr := "invalidAddr" + validAddr := "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf" + address, err := cipher.DecodeBase58Address(validAddr) + require.NoError(t, err) + tt := []struct { + name string + method string + url string + status int + err string + httpBody *httpBody + uxid string + getBalanceOfAddrsArg []cipher.Address + getBalanceOfAddrsResponse []wallet.BalancePair + getBalanceOfAddrsError error + httpResponse wallet.BalancePair + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "400 - invalid address", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - address invalidAddr is invalid: Invalid base58 character", + httpBody: &httpBody{ + addrs: invalidAddr, + }, + }, + { + name: "400 - no addresses", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - addrs is required", + httpBody: &httpBody{}, + }, + { + name: "500 - GetBalanceOfAddrsError", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - gateway.GetBalanceOfAddrs failed: GetBalanceOfAddrsError", + httpBody: &httpBody{ + addrs: validAddr, + }, + getBalanceOfAddrsArg: []cipher.Address{address}, + getBalanceOfAddrsError: errors.New("GetBalanceOfAddrsError"), + }, + { + name: "500 - balance Confirmed coins uint64 addition overflow", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - uint64 addition overflow", + httpBody: &httpBody{ + addrs: validAddr, + }, + getBalanceOfAddrsArg: []cipher.Address{address}, + getBalanceOfAddrsResponse: []wallet.BalancePair{ + { + Confirmed: wallet.Balance{Coins: math.MaxInt64 + 1, Hours: 0}, + Predicted: wallet.Balance{Coins: 0, Hours: 0}, + }, + { + Confirmed: wallet.Balance{Coins: math.MaxInt64 + 1, Hours: 0}, + Predicted: wallet.Balance{Coins: 0, Hours: 0}, + }, + }, + }, + { + name: "500 - balance Predicted coins uint64 addition overflow", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - uint64 addition overflow", + httpBody: &httpBody{ + addrs: validAddr, + }, + getBalanceOfAddrsArg: []cipher.Address{address}, + getBalanceOfAddrsResponse: []wallet.BalancePair{ + { + Confirmed: wallet.Balance{Coins: 0, Hours: 0}, + Predicted: wallet.Balance{Coins: math.MaxInt64 + 1, Hours: 0}, + }, + { + Confirmed: wallet.Balance{Coins: 0, Hours: 0}, + Predicted: wallet.Balance{Coins: math.MaxInt64 + 1, Hours: 0}, + }, + }, + }, + { + name: "200 - OK", + method: http.MethodGet, + status: http.StatusOK, + err: "200 - OK", + httpBody: &httpBody{ + addrs: validAddr, + }, + getBalanceOfAddrsArg: []cipher.Address{address}, + getBalanceOfAddrsResponse: []wallet.BalancePair{ + { + Confirmed: wallet.Balance{Coins: 0, Hours: 0}, + Predicted: wallet.Balance{Coins: 0, Hours: 0}, + }, + { + Confirmed: wallet.Balance{Coins: 0, Hours: 0}, + Predicted: wallet.Balance{Coins: 0, Hours: 0}, + }, + }, + httpResponse: wallet.BalancePair{}, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := NewGatewayerMock() + endpoint := "/api/v1/balance" + gateway.On("GetBalanceOfAddrs", tc.getBalanceOfAddrsArg).Return(tc.getBalanceOfAddrsResponse, tc.getBalanceOfAddrsError) + gateway.On("IsCSPEnabled").Return(false) + + v := url.Values{} + if tc.httpBody != nil { + if tc.httpBody.addrs != "" { + v.Add("addrs", tc.httpBody.addrs) + } + } + + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, &CSRFStore{}, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg wallet.BalancePair + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.httpResponse, msg, tc.name) + } + }) + } +} + +// TestEnableGUI tests enable gui option, EnableGUI isn't part of Gateway API, +// we can't control the output by mocking the Gateway like other tests. Instead, +// we create a full webserver for each test case. +func TestEnableGUI(t *testing.T) { + tt := []struct { + name string + enableGUI bool + endpoint string + appLoc string + expectCode int + expectBody string + }{ + { + name: "disable gui GET /", + enableGUI: false, + endpoint: "/", + appLoc: "", + expectCode: http.StatusNotFound, + expectBody: "404 Not Found\n", + }, + { + name: "disable gui GET /invalid-path", + enableGUI: false, + endpoint: "/invalid-path", + appLoc: "", + expectCode: http.StatusNotFound, + expectBody: "404 Not Found\n", + }, + { + name: "enable gui GET /", + enableGUI: true, + endpoint: "/", + appLoc: "../gui/static", + expectCode: http.StatusOK, + expectBody: "", + }, + { + name: "enable gui GET /invalid-path", + enableGUI: true, + endpoint: "/invalid-path", + appLoc: "../gui/static", + expectCode: http.StatusNotFound, + expectBody: "404 Not Found\n", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + req, err := http.NewRequest(http.MethodGet, tc.endpoint, nil) + require.NoError(t, err) + + gateway := NewGatewayerMock() + gateway.On("IsCSPEnabled").Return(false) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: tc.appLoc}, gateway, &CSRFStore{}, nil) + handler.ServeHTTP(rr, req) + + c := Config{ + EnableGUI: tc.enableGUI, + DisableCSRF: true, + StaticDir: tc.appLoc, + } + + host := "127.0.0.1:6423" + s, err := Create(host, c, gateway) + require.NoError(t, err) + + wg := sync.WaitGroup{} + wg.Add(1) + go func() { + defer wg.Done() + s.Serve() + }() + + defer func() { + s.listener.Close() + wg.Wait() + }() + + url := fmt.Sprintf("http://%s/%s", host, tc.endpoint) + rsp, err := http.Get(url) + require.NoError(t, err) + + defer rsp.Body.Close() + require.Equal(t, tc.expectCode, rsp.StatusCode) + + body, err := ioutil.ReadAll(rr.Body) + require.NoError(t, err) + + if rsp.StatusCode != http.StatusOK { + require.Equal(t, tc.expectBody, string(body)) + } + }) + } +} + +func TestContentSecurityPolicy(t *testing.T) { + tt := []struct { + name string + endpoint string + enableCSP bool + appLoc string + expectCSPHeader string + }{ + { + name: "enable CSP GET /", + endpoint: "/", + enableCSP: true, + appLoc: "../gui/static/dist", + expectCSPHeader: "script-src 'self' 127.0.0.1", + }, + { + name: "disable CSP GET /", + endpoint: "/", + enableCSP: false, + appLoc: "../gui/static/dist", + expectCSPHeader: "", + }, + { + // Confirms that the /csrf api won't be affected by the csp setting + name: "enable CSP GET /csrf", + endpoint: "/api/v1/csrf", + enableCSP: true, + appLoc: "", + expectCSPHeader: "", + }, + { + // Confirms that the /version api won't be affected by the csp setting + name: "enable CSP GET /version", + endpoint: "/api/v1/version", + enableCSP: true, + appLoc: "", + expectCSPHeader: "", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + req, err := http.NewRequest(http.MethodGet, tc.endpoint, nil) + require.NoError(t, err) + + gateway := NewGatewayerMock() + gateway.On("IsCSPEnabled").Return(tc.enableCSP) + gateway.On("GetBuildInfo").Return(visor.BuildInfo{}) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: tc.appLoc, enableGUI: true}, gateway, &CSRFStore{}, nil) + handler.ServeHTTP(rr, req) + + csp := rr.Header().Get("Content-Security-Policy") + require.Equal(t, tc.expectCSPHeader, csp) + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/empty.go b/vendor/github.com/skycoin/skycoin/src/api/integration/empty.go new file mode 100755 index 0000000..76ab1b7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/empty.go @@ -0,0 +1 @@ +package integration diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/integration_test.go b/vendor/github.com/skycoin/skycoin/src/api/integration/integration_test.go new file mode 100755 index 0000000..4464146 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/integration_test.go @@ -0,0 +1,4019 @@ +// package integration_test implements API integration tests +package integration_test + +import ( + "encoding/hex" + "encoding/json" + "flag" + "fmt" + "io" + "io/ioutil" + "math" + "math/rand" + "net/http" + "net/url" + "os" + "path/filepath" + "reflect" + "sort" + "strconv" + "strings" + "testing" + "time" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/api" + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/util/droplet" //http,json helpers + "github.com/skycoin/skycoin/src/util/fee" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/historydb" + "github.com/skycoin/skycoin/src/wallet" +) + +/* Runs HTTP API tests against a running skycoin node + +Set envvar SKYCOIN_INTEGRATION_TESTS=1 to enable them +Set SKYCOIN_NODE_HOST to the node's address (defaults to http://127.0.0.1:6420) +Set SKYCOIN_INTEGRATION_TEST_MODE to either "stable" or "live" (defaults to "stable") + +Each test has two modes: + 1. against a stable, pinned blockchain + 2. against a live, active blockchain + +When running mode 1, API responses do not change. The exact responses are compared to saved responses on disk. +Make sure the skycoin node is running against the pinned blockchain data provided in this package's folder. + +When running mode 2, API responses may change (such as /coinSupply). The exact responses are not compared, +but the response is checked to be unmarshallable to a known JSON object. + +When update flag is set to true all tests pass +*/ + +const ( + testModeStable = "stable" + testModeLive = "live" + testModeDisableWalletAPI = "disable-wallet-api" + testModeEnableSeedAPI = "enable-seed-api" + testModeDisableGUI = "disable-gui" + + testFixturesDir = "testdata" +) + +type TestData struct { + actual interface{} + expected interface{} +} + +var update = flag.Bool("update", false, "update golden files") +var testLiveWallet = flag.Bool("test-live-wallet", false, "run live wallet tests, requires wallet envvars set") + +func nodeAddress() string { + addr := os.Getenv("SKYCOIN_NODE_HOST") + if addr == "" { + return "http://127.0.0.1:6420" + } + return addr +} + +func mode(t *testing.T) string { + mode := os.Getenv("SKYCOIN_INTEGRATION_TEST_MODE") + switch mode { + case "": + mode = testModeStable + case testModeLive, + testModeStable, + testModeDisableWalletAPI, + testModeEnableSeedAPI, + testModeDisableGUI: + default: + t.Fatal("Invalid test mode, must be stable, live or disable-wallet-api") + } + return mode +} + +func enabled() bool { + return os.Getenv("SKYCOIN_INTEGRATION_TESTS") == "1" +} + +func doStable(t *testing.T) bool { + if enabled() && mode(t) == testModeStable { + return true + } + + t.Skip("Stable tests disabled") + return false +} + +func doLive(t *testing.T) bool { + if enabled() && mode(t) == testModeLive { + return true + } + + t.Skip("Live tests disabled") + return false +} + +func doDisableWalletAPI(t *testing.T) bool { + if enabled() && mode(t) == testModeDisableWalletAPI { + return true + } + + t.Skip("DisableWalletApi tests disabled") + return false +} + +func doEnableSeedAPI(t *testing.T) bool { + if enabled() && mode(t) == testModeEnableSeedAPI { + return true + } + + t.Skip("EnableSeedAPI tests disabled") + return false +} + +func doDisableGUI(t *testing.T) bool { + if enabled() && mode(t) == testModeDisableGUI { + return true + } + + t.Skip("DisableGUIAPI tests disabled") + return false +} + +func doLiveOrStable(t *testing.T) bool { + if enabled() { + switch mode(t) { + case testModeStable, testModeLive: + return true + } + } + + t.Skip("Live and stable tests disabled") + return false +} + +func doLiveWallet(t *testing.T) bool { + if *testLiveWallet { + return true + } + + t.Skip("Tests requiring wallet envvars are disabled") + return false +} + +func loadGoldenFile(t *testing.T, filename string, testData TestData) { + require.NotEmpty(t, filename, "loadGoldenFile golden filename missing") + + goldenFile := filepath.Join(testFixturesDir, filename) + + if *update { + updateGoldenFile(t, goldenFile, testData.actual) + } + + f, err := os.Open(goldenFile) + require.NoError(t, err) + defer f.Close() + + d := json.NewDecoder(f) + d.DisallowUnknownFields() + + err = d.Decode(testData.expected) + require.NoError(t, err, filename) +} + +func updateGoldenFile(t *testing.T, filename string, content interface{}) { + contentJSON, err := json.MarshalIndent(content, "", "\t") + require.NoError(t, err) + contentJSON = append(contentJSON, '\n') + err = ioutil.WriteFile(filename, contentJSON, 0644) + require.NoError(t, err) +} + +func checkGoldenFile(t *testing.T, goldenFile string, td TestData) { + loadGoldenFile(t, goldenFile, td) + require.Equal(t, reflect.Indirect(reflect.ValueOf(td.expected)).Interface(), td.actual) + + // Serialize expected to JSON and compare to the goldenFile's contents + // This will detect field changes that could be missed otherwise + b, err := json.MarshalIndent(td.expected, "", "\t") + require.NoError(t, err) + + goldenFile = filepath.Join(testFixturesDir, goldenFile) + + f, err := os.Open(goldenFile) + require.NoError(t, err) + defer f.Close() + + c, err := ioutil.ReadAll(f) + require.NoError(t, err) + + require.Equal(t, string(c), string(b)+"\n", "json struct output differs from golden file, was a field added to the struct?") +} + +func assertResponseError(t *testing.T, err error, errCode int, errMsg string) { + require.Error(t, err) + require.IsType(t, api.ClientError{}, err) + require.Equal(t, errCode, err.(api.ClientError).StatusCode) + require.Equal(t, errMsg, err.(api.ClientError).Message) +} + +func TestStableCoinSupply(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + cs, err := c.CoinSupply() + require.NoError(t, err) + + var expected api.CoinSupply + checkGoldenFile(t, "coinsupply.golden", TestData{*cs, &expected}) +} + +func TestLiveCoinSupply(t *testing.T) { + if !doLive(t) { + return + } + + c := api.NewClient(nodeAddress()) + + cs, err := c.CoinSupply() + require.NoError(t, err) + + require.NotEmpty(t, cs.CurrentSupply) + require.NotEmpty(t, cs.TotalSupply) + require.NotEmpty(t, cs.MaxSupply) + require.Equal(t, "100000000.000000", cs.MaxSupply) + require.NotEmpty(t, cs.CurrentCoinHourSupply) + require.NotEmpty(t, cs.TotalCoinHourSupply) + require.Equal(t, 100, len(cs.UnlockedAddresses)+len(cs.LockedAddresses)) +} + +func TestVersion(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + v, err := c.Version() + require.NoError(t, err) + + require.NotEmpty(t, v.Version) +} + +func TestVerifyAddress(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + cases := []struct { + name string + golden string + addr string + errCode int + errMsg string + }{ + { + name: "valid address", + golden: "verify-address.golden", + addr: "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + }, + + { + name: "invalid address", + addr: "7apQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + errCode: http.StatusUnprocessableEntity, + errMsg: "Invalid checksum", + }, + + { + name: "missing address", + addr: "", + errCode: http.StatusBadRequest, + errMsg: "address is required", + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + resp, err := c.VerifyAddress(tc.addr) + + if tc.errCode != 0 && tc.errCode != http.StatusOK { + assertResponseError(t, err, tc.errCode, tc.errMsg) + return + } + + require.NoError(t, err) + + var expected api.VerifyAddressResponse + checkGoldenFile(t, tc.golden, TestData{*resp, &expected}) + }) + } +} + +func TestStableVerifyTransaction(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + badSigStr := "71f2c01516fe696328e79bcf464eb0db374b63d494f7a307d1e77114f18581d7a81eed5275a9e04a336292dd2fd16977d9bef2a54ea3161d0876603d00c53bc9dd" + badSigBytes, err := hex.DecodeString(badSigStr) + require.NoError(t, err) + badSig := cipher.NewSig(badSigBytes) + + inputHash := "75692aeff988ce0da734c474dbef3a1ce19a5a6823bbcd36acb856c83262261e" + input := testutil.SHA256FromHex(t, inputHash) + + destAddrStr := "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD" + destAddr, err := cipher.DecodeBase58Address(destAddrStr) + require.NoError(t, err) + + inputAddrStr := "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5" + inputAddr, err := cipher.DecodeBase58Address(inputAddrStr) + require.NoError(t, err) + + badSignatureTxn := coin.Transaction{ + Sigs: []cipher.Sig{badSig}, + In: []cipher.SHA256{input}, + Out: []coin.TransactionOutput{ + { + Address: destAddr, + Coins: 1e3, + Hours: 10, + }, + { + Address: inputAddr, + Coins: 22100e6 - 1e3, + Hours: 188761, + }, + }, + } + badSignatureTxn.UpdateHeader() + + cases := []struct { + name string + golden string + txn coin.Transaction + errCode int + errMsg string + }{ + { + name: "invalid transaction empty", + txn: coin.Transaction{}, + golden: "verify-transaction-invalid-empty.golden", + errCode: http.StatusUnprocessableEntity, + errMsg: "Transaction violates soft constraint: Transaction has zero coinhour fee", + }, + + { + name: "invalid transaction bad signature", + txn: badSignatureTxn, + golden: "verify-transaction-invalid-bad-sig.golden", + errCode: http.StatusUnprocessableEntity, + errMsg: "Transaction violates hard constraint: Signature invalid for hash", + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + encodedTxn := hex.EncodeToString(tc.txn.Serialize()) + + resp, err := c.VerifyTransaction(encodedTxn) + + if tc.errCode != 0 && tc.errCode != http.StatusOK { + assertResponseError(t, err, tc.errCode, tc.errMsg) + if tc.errCode != http.StatusUnprocessableEntity { + return + } + } + + if tc.errCode != http.StatusUnprocessableEntity { + require.NoError(t, err) + } + + var expected api.VerifyTxnResponse + checkGoldenFile(t, tc.golden, TestData{*resp, &expected}) + }) + } + +} + +func TestStableOutputs(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + cases := []struct { + name string + golden string + addrs []string + hashes []string + errCode int + errMsg string + }{ + { + name: "no addrs or hashes", + golden: "outputs-noargs.golden", + }, + { + name: "only addrs", + addrs: []string{ + "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + }, + golden: "outputs-addrs.golden", + }, + { + name: "only hashes", + hashes: []string{ + "9e53268a18f8d32a44b4fb183033b49bebfe9d0da3bf3ef2ad1d560500aa54c6", + "d91e07318227651129b715d2db448ae245b442acd08c8b4525a934f0e87efce9", + "01f9c1d6c83dbc1c993357436cdf7f214acd0bfa107ff7f1466d1b18ec03563e", + "fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f20", + }, + golden: "outputs-hashes.golden", + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + require.False(t, tc.addrs != nil && tc.hashes != nil) + + var outputs *visor.ReadableOutputSet + var err error + switch { + case tc.addrs == nil && tc.hashes == nil: + outputs, err = c.Outputs() + case tc.addrs != nil: + outputs, err = c.OutputsForAddresses(tc.addrs) + case tc.hashes != nil: + outputs, err = c.OutputsForHashes(tc.hashes) + } + + if tc.errCode != 0 && tc.errCode != http.StatusOK { + assertResponseError(t, err, tc.errCode, tc.errMsg) + return + } + + require.NoError(t, err) + + var expected visor.ReadableOutputSet + checkGoldenFile(t, tc.golden, TestData{*outputs, &expected}) + + require.Equal(t, len(expected.HeadOutputs), len(outputs.HeadOutputs)) + require.Equal(t, len(expected.OutgoingOutputs), len(outputs.OutgoingOutputs)) + require.Equal(t, len(expected.IncomingOutputs), len(outputs.IncomingOutputs)) + + for i, o := range expected.HeadOutputs { + require.Equal(t, o, outputs.HeadOutputs[i], "mismatch at index %d", i) + } + }) + } +} + +func TestLiveOutputs(t *testing.T) { + if !doLive(t) { + return + } + + c := api.NewClient(nodeAddress()) + + // Request all outputs and check that HeadOutputs is not empty + // OutgoingOutputs and IncomingOutputs are variable and could be empty + outputs, err := c.Outputs() + require.NoError(t, err) + require.NotEmpty(t, outputs.HeadOutputs) + + outputs, err = c.OutputsForAddresses(nil) + require.NoError(t, err) + require.NotEmpty(t, outputs.HeadOutputs) + + outputs, err = c.OutputsForHashes(nil) + require.NoError(t, err) + require.NotEmpty(t, outputs.HeadOutputs) +} + +func TestStableBlock(t *testing.T) { + if !doStable(t) { + return + } + + testKnownBlocks(t) +} + +func TestLiveBlock(t *testing.T) { + if !doLive(t) { + return + } + + testKnownBlocks(t) + + // These blocks were affected by the coinhour overflow issue, make sure that they can be queried + blockSeqs := []uint64{11685, 11707, 11710, 11709, 11705, 11708, 11711, 11706, 11699} + + c := api.NewClient(nodeAddress()) + for _, seq := range blockSeqs { + b, err := c.BlockBySeq(seq) + require.NoError(t, err) + require.Equal(t, seq, b.Head.BkSeq) + } +} + +func testKnownBlocks(t *testing.T) { + c := api.NewClient(nodeAddress()) + + cases := []struct { + name string + golden string + hash string + seq uint64 + errCode int + errMsg string + }{ + { + name: "unknown hash", + hash: "80744ec25e6233f40074d35bf0bfdbddfac777869b954a96833cb89f44204444", + errCode: http.StatusNotFound, + errMsg: "404 Not Found\n", + }, + { + name: "valid hash", + golden: "block-hash.golden", + hash: "70584db7fb8ab88b8dbcfed72ddc42a1aeb8c4882266dbb78439ba3efcd0458d", + }, + { + name: "genesis hash", + golden: "block-hash-genesis.golden", + hash: "0551a1e5af999fe8fff529f6f2ab341e1e33db95135eef1b2be44fe6981349f3", + }, + { + name: "genesis seq", + golden: "block-seq-0.golden", + seq: 0, + }, + { + name: "seq 100", + golden: "block-seq-100.golden", + seq: 100, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + var b *visor.ReadableBlock + var err error + + if tc.hash != "" { + b, err = c.BlockByHash(tc.hash) + } else { + b, err = c.BlockBySeq(tc.seq) + } + + if tc.errCode != 0 && tc.errCode != http.StatusOK { + assertResponseError(t, err, tc.errCode, tc.errMsg) + return + } + + require.NotNil(t, b) + + var expected visor.ReadableBlock + checkGoldenFile(t, tc.golden, TestData{*b, &expected}) + }) + } + + t.Logf("Querying every block in the blockchain") + + // Scan every block by seq + progress, err := c.BlockchainProgress() + require.NoError(t, err) + + var prevBlock *visor.ReadableBlock + for i := uint64(0); i < progress.Current; i++ { + t.Run(fmt.Sprintf("block-seq-%d", i), func(t *testing.T) { + b, err := c.BlockBySeq(i) + require.NoError(t, err) + require.NotNil(t, b) + require.Equal(t, i, b.Head.BkSeq) + + if prevBlock != nil { + require.Equal(t, prevBlock.Head.BlockHash, b.Head.PreviousBlockHash) + } + + bHash, err := c.BlockByHash(b.Head.BlockHash) + require.NoError(t, err) + require.NotNil(t, bHash) + require.Equal(t, b, bHash) + + prevBlock = b + }) + } +} + +func TestStableBlockchainMetadata(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + metadata, err := c.BlockchainMetadata() + require.NoError(t, err) + + var expected visor.BlockchainMetadata + checkGoldenFile(t, "blockchain-metadata.golden", TestData{*metadata, &expected}) +} + +func TestLiveBlockchainMetadata(t *testing.T) { + if !doLive(t) { + return + } + + c := api.NewClient(nodeAddress()) + + metadata, err := c.BlockchainMetadata() + require.NoError(t, err) + + require.NotEqual(t, uint64(0), metadata.Head.BkSeq) +} + +func TestStableBlockchainProgress(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + progress, err := c.BlockchainProgress() + require.NoError(t, err) + + var expected daemon.BlockchainProgress + checkGoldenFile(t, "blockchain-progress.golden", TestData{*progress, &expected}) +} + +func TestLiveBlockchainProgress(t *testing.T) { + if !doLive(t) { + return + } + + c := api.NewClient(nodeAddress()) + + progress, err := c.BlockchainProgress() + require.NoError(t, err) + + require.NotEqual(t, uint64(0), progress.Current) + require.True(t, progress.Current <= progress.Highest) + require.NotEmpty(t, progress.Peers) +} + +func TestStableBalance(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + cases := []struct { + name string + golden string + addrs []string + }{ + { + name: "unknown address", + addrs: []string{"prRXwTcDK24hs6AFxj69UuWae3LzhrsPW9"}, + golden: "balance-noaddrs.golden", + }, + { + name: "one address", + addrs: []string{"2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf"}, + golden: "balance-2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf.golden", + }, + { + name: "duplicate addresses", + addrs: []string{"2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf"}, + golden: "balance-2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf.golden", + }, + { + name: "two addresses", + addrs: []string{"2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5"}, + golden: "balance-two-addrs.golden", + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + balance, err := c.Balance(tc.addrs) + require.NoError(t, err) + + var expected wallet.BalancePair + checkGoldenFile(t, tc.golden, TestData{*balance, &expected}) + }) + } +} + +func TestLiveBalance(t *testing.T) { + if !doLive(t) { + return + } + + c := api.NewClient(nodeAddress()) + + // Genesis address check, should not have a balance + b, err := c.Balance([]string{"2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6"}) + require.NoError(t, err) + require.Equal(t, wallet.BalancePair{}, *b) + + // Balance of final distribution address. Should have the same coins balance + // for the next 15-20 years. + b, err = c.Balance([]string{"ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm"}) + require.NoError(t, err) + require.Equal(t, b.Confirmed, b.Predicted) + require.NotEmpty(t, b.Confirmed.Hours) + require.Equal(t, uint64(1e6*1e6), b.Confirmed.Coins) + + // Check that the balance is queryable for addresses known to be affected + // by the coinhour overflow problem + addrs := []string{ + "n7AR1VMW1pK7F9TxhYdnr3HoXEQ3g9iTNP", + "2aTzmXi9jyiq45oTRFCP9Y7dcvnT6Rsp7u", + "FjFLnus2ePxuaPTXFXfpw6cVAE5owT1t3P", + "KT9vosieyWhn9yWdY8w7UZ6tk31KH4NAQK", + } + for _, a := range addrs { + _, err := c.Balance([]string{a}) + require.NoError(t, err, "Failed to get balance of address %s", a) + } + _, err = c.Balance(addrs) + require.NoError(t, err) +} + +func TestStableUxOut(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + cases := []struct { + name string + golden string + uxID string + }{ + { + name: "valid uxID", + golden: "uxout.golden", + uxID: "fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f20", + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + ux, err := c.UxOut(tc.uxID) + require.NoError(t, err) + + var expected historydb.UxOutJSON + checkGoldenFile(t, tc.golden, TestData{*ux, &expected}) + }) + } + + // Scan all uxouts from the result of /outputs + scanUxOuts(t) +} + +func TestLiveUxOut(t *testing.T) { + if !doLive(t) { + return + } + + c := api.NewClient(nodeAddress()) + + // A spent uxout should never change + ux, err := c.UxOut("fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f20") + require.NoError(t, err) + + var expected historydb.UxOutJSON + checkGoldenFile(t, "uxout-spent.golden", TestData{*ux, &expected}) + require.NotEqual(t, uint64(0), ux.SpentBlockSeq) + + // Scan all uxouts from the result of /outputs + scanUxOuts(t) +} + +func scanUxOuts(t *testing.T) { + c := api.NewClient(nodeAddress()) + + outputs, err := c.Outputs() + require.NoError(t, err) + + for _, ux := range outputs.HeadOutputs { + t.Run(ux.Hash, func(t *testing.T) { + foundUx, err := c.UxOut(ux.Hash) + require.NoError(t, err) + + require.Equal(t, ux.Hash, foundUx.Uxid) + require.Equal(t, ux.Time, foundUx.Time) + require.Equal(t, ux.BkSeq, foundUx.SrcBkSeq) + require.Equal(t, ux.SourceTransaction, foundUx.SrcTx) + require.Equal(t, ux.Address, foundUx.OwnerAddress) + require.Equal(t, ux.Hours, foundUx.Hours) + coinsStr, err := droplet.ToString(foundUx.Coins) + require.NoError(t, err) + require.Equal(t, ux.Coins, coinsStr) + + if foundUx.SpentBlockSeq == 0 { + require.Equal(t, "0000000000000000000000000000000000000000000000000000000000000000", foundUx.SpentTxID) + } else { + require.NotEqual(t, "0000000000000000000000000000000000000000000000000000000000000000", foundUx.SpentTxID) + } + }) + } +} + +func TestStableAddressUxOuts(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + cases := []struct { + name string + errCode int + errMsg string + golden string + addr string + }{ + { + name: "no addresses", + errCode: http.StatusBadRequest, + errMsg: "400 Bad Request - address is empty\n", + }, + { + name: "unknown address", + addr: "prRXwTcDK24hs6AFxj69UuWae3LzhrsPW9", + golden: "uxout-noaddr.golden", + }, + { + name: "one address", + addr: "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + golden: "uxout-addr.golden", + }, + } + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + ux, err := c.AddressUxOuts(tc.addr) + if tc.errCode != 0 && tc.errCode != http.StatusOK { + assertResponseError(t, err, tc.errCode, tc.errMsg) + return + } + require.NoError(t, err) + var expected []*historydb.UxOutJSON + checkGoldenFile(t, tc.golden, TestData{ux, &expected}) + }) + } +} + +func TestLiveAddressUxOuts(t *testing.T) { + if !doLive(t) { + return + } + + c := api.NewClient(nodeAddress()) + + cases := []struct { + name string + errCode int + errMsg string + addr string + moreThanZero bool + }{ + { + name: "no addresses", + errCode: http.StatusBadRequest, + errMsg: "400 Bad Request - address is empty\n", + }, + { + name: "invalid address length", + errCode: http.StatusBadRequest, + errMsg: "400 Bad Request - Invalid address length\n", + addr: "prRXwTcDK24hs6AFxj", + }, + { + name: "unknown address", + addr: "prRXwTcDK24hs6AFxj69UuWae3LzhrsPW9", + }, + { + name: "one address", + addr: "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + }, + } + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + ux, err := c.AddressUxOuts(tc.addr) + if tc.errCode != 0 && tc.errCode != http.StatusOK { + assertResponseError(t, err, tc.errCode, tc.errMsg) + return + } + require.NoError(t, err) + if tc.moreThanZero { + require.NotEqual(t, 0, len(ux)) + } + }) + } +} + +func TestStableBlocks(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + progress, err := c.BlockchainProgress() + require.NoError(t, err) + + lastNBlocks := 10 + require.True(t, int(progress.Current) > lastNBlocks+1) + + cases := []struct { + name string + golden string + start int + end int + errCode int + errMsg string + }{ + { + name: "first 10", + golden: "blocks-first-10.golden", + start: 1, + end: 10, + }, + { + name: "last 10", + golden: "blocks-last-10.golden", + start: int(progress.Current) - lastNBlocks, + end: int(progress.Current), + }, + { + name: "first block", + golden: "blocks-first-1.golden", + start: 1, + end: 1, + }, + { + name: "all blocks", + golden: "blocks-all.golden", + start: 0, + end: int(progress.Current), + }, + { + name: "start > end", + golden: "blocks-end-less-than-start.golden", + start: 10, + end: 9, + }, + { + name: "start negative", + start: -10, + end: 9, + errCode: http.StatusBadRequest, + errMsg: "400 Bad Request - Invalid start value \"-10\"\n", + }, + { + name: "end negative", + start: 10, + end: -9, + errCode: http.StatusBadRequest, + errMsg: "400 Bad Request - Invalid end value \"-9\"\n", + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + if tc.errMsg == "" { + resp := testBlocks(t, tc.start, tc.end) + + var expected visor.ReadableBlocks + checkGoldenFile(t, tc.golden, TestData{*resp, &expected}) + } else { + _, err := c.Blocks(tc.start, tc.end) + assertResponseError(t, err, tc.errCode, tc.errMsg) + } + }) + } +} + +func TestLiveBlocks(t *testing.T) { + if !doLive(t) { + return + } + + testBlocks(t, 1, 10) +} + +func testBlocks(t *testing.T, start, end int) *visor.ReadableBlocks { + c := api.NewClient(nodeAddress()) + + blocks, err := c.Blocks(start, end) + require.NoError(t, err) + + if start > end { + require.Empty(t, blocks.Blocks) + } else { + require.Len(t, blocks.Blocks, end-start+1) + } + + var prevBlock *visor.ReadableBlock + for idx, b := range blocks.Blocks { + if prevBlock != nil { + require.Equal(t, prevBlock.Head.BlockHash, b.Head.PreviousBlockHash) + } + + bHash, err := c.BlockByHash(b.Head.BlockHash) + require.Equal(t, uint64(idx+start), b.Head.BkSeq) + require.NoError(t, err) + require.NotNil(t, bHash) + require.Equal(t, b, *bHash) + + prevBlock = &blocks.Blocks[idx] + } + + return blocks +} + +func TestStableLastBlocks(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + blocks, err := c.LastBlocks(1) + require.NoError(t, err) + + var expected *visor.ReadableBlocks + checkGoldenFile(t, "block-last.golden", TestData{blocks, &expected}) + + var prevBlock *visor.ReadableBlock + blocks, err = c.LastBlocks(10) + require.NoError(t, err) + require.Equal(t, 10, len(blocks.Blocks)) + for idx, b := range blocks.Blocks { + if prevBlock != nil { + require.Equal(t, prevBlock.Head.BlockHash, b.Head.PreviousBlockHash) + } + + bHash, err := c.BlockByHash(b.Head.BlockHash) + require.NoError(t, err) + require.NotNil(t, bHash) + require.Equal(t, b, *bHash) + + prevBlock = &blocks.Blocks[idx] + } + +} + +func TestLiveLastBlocks(t *testing.T) { + if !doLive(t) { + return + } + c := api.NewClient(nodeAddress()) + var prevBlock *visor.ReadableBlock + blocks, err := c.LastBlocks(10) + require.NoError(t, err) + require.Equal(t, 10, len(blocks.Blocks)) + for idx, b := range blocks.Blocks { + if prevBlock != nil { + require.Equal(t, prevBlock.Head.BlockHash, b.Head.PreviousBlockHash) + } + + bHash, err := c.BlockByHash(b.Head.BlockHash) + require.NoError(t, err) + require.NotNil(t, bHash) + require.Equal(t, b, *bHash) + + prevBlock = &blocks.Blocks[idx] + } +} + +func TestStableNetworkConnections(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + connections, err := c.NetworkConnections() + require.NoError(t, err) + require.Empty(t, connections.Connections) + + connection, err := c.NetworkConnection("127.0.0.1:4444") + assertResponseError(t, err, http.StatusNotFound, "404 Not Found\n") + require.Nil(t, connection) +} + +func TestLiveNetworkConnections(t *testing.T) { + if !doLive(t) { + return + } + + c := api.NewClient(nodeAddress()) + connections, err := c.NetworkConnections() + require.NoError(t, err) + require.NotEmpty(t, connections.Connections) + + for _, cc := range connections.Connections { + connection, err := c.NetworkConnection(cc.Addr) + require.NoError(t, err) + require.NotEmpty(t, cc.Addr) + require.Equal(t, cc.Addr, connection.Addr) + require.Equal(t, cc.ID, connection.ID) + require.Equal(t, cc.ListenPort, connection.ListenPort) + require.Equal(t, cc.Mirror, connection.Mirror) + require.Equal(t, cc.Introduced, connection.Introduced) + require.Equal(t, cc.Outgoing, connection.Outgoing) + require.True(t, cc.LastReceived <= connection.LastReceived) + require.True(t, cc.LastSent <= connection.LastSent) + require.True(t, cc.Height >= 0) + } +} + +func TestNetworkDefaultConnections(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + connections, err := c.NetworkDefaultConnections() + require.NoError(t, err) + require.NotEmpty(t, connections) + sort.Strings(connections) + + var expected []string + checkGoldenFile(t, "network-default-connections.golden", TestData{connections, &expected}) +} + +func TestNetworkTrustedConnections(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + connections, err := c.NetworkTrustedConnections() + require.NoError(t, err) + require.NotEmpty(t, connections) + sort.Strings(connections) + + var expected []string + checkGoldenFile(t, "network-trusted-connections.golden", TestData{connections, &expected}) +} + +func TestStableNetworkExchangeableConnections(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + connections, err := c.NetworkExchangeableConnections() + require.NoError(t, err) + + var expected []string + checkGoldenFile(t, "network-exchangeable-connections.golden", TestData{connections, &expected}) +} + +func TestLiveNetworkExchangeableConnections(t *testing.T) { + if !doLive(t) { + return + } + + c := api.NewClient(nodeAddress()) + _, err := c.NetworkExchangeableConnections() + require.NoError(t, err) +} + +func TestLiveTransaction(t *testing.T) { + if !doLive(t) { + return + } + + cases := []struct { + name string + txID string + err api.ClientError + goldenFile string + }{ + { + name: "invalid txID", + txID: "abcd", + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - Invalid hex length\n", + }, + }, + { + name: "empty txID", + txID: "", + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - txID is empty\n", + }, + }, + { + name: "OK", + txID: "76ecbabc53ea2a3be46983058433dda6a3cf7ea0b86ba14d90b932fa97385de7", + goldenFile: "./transaction.golden", + }, + } + + c := api.NewClient(nodeAddress()) + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + tx, err := c.Transaction(tc.txID) + if err != nil { + require.Equal(t, tc.err, err) + return + } + var expected *visor.ReadableTransaction + loadGoldenFile(t, tc.goldenFile, TestData{tx, &expected}) + require.Equal(t, expected, &tx.Transaction) + }) + } +} + +func TestStableTransaction(t *testing.T) { + if !doStable(t) { + return + } + + cases := []struct { + name string + txID string + err api.ClientError + goldenFile string + }{ + { + name: "invalid txId", + txID: "abcd", + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - Invalid hex length\n", + }, + goldenFile: "", + }, + { + name: "not exist", + txID: "701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947", + err: api.ClientError{ + Status: "404 Not Found", + StatusCode: http.StatusNotFound, + Message: "404 Not Found\n", + }, + goldenFile: "", + }, + { + name: "empty txId", + txID: "", + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - txid is empty\n", + }, + goldenFile: "", + }, + { + name: "genesis transaction", + txID: "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", + goldenFile: "genesis-transaction.golden", + }, + } + + c := api.NewClient(nodeAddress()) + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + tx, err := c.Transaction(tc.txID) + if err != nil { + require.Equal(t, tc.err, err) + return + } + + var expected *visor.ReadableTransaction + loadGoldenFile(t, tc.goldenFile, TestData{tx, &expected}) + require.Equal(t, expected, &tx.Transaction) + }) + } +} + +func TestLiveTransactions(t *testing.T) { + if !doLive(t) { + return + } + + c := api.NewClient(nodeAddress()) + addrs := []string{ + "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + } + txns, err := c.Transactions(addrs) + require.NoError(t, err) + require.True(t, len(*txns) > 0) +} + +func TestStableTransactions(t *testing.T) { + if !doStable(t) { + return + } + + cases := []struct { + name string + addrs []string + err api.ClientError + goldenFile string + }{ + { + name: "invalid addr length", + addrs: []string{"abcd"}, + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid address length\n", + }, + }, + { + name: "invalid addr character", + addrs: []string{"701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947"}, + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid base58 character\n", + }, + }, + { + name: "invalid checksum", + addrs: []string{"2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKk"}, + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid checksum\n", + }, + }, + { + name: "empty addrs", + addrs: []string{}, + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - txId is empty\n", + }, + goldenFile: "./empty-addrs.golden", + }, + { + name: "single addr", + addrs: []string{"2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt"}, + goldenFile: "./single-addr.golden", + }, + } + + c := api.NewClient(nodeAddress()) + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + txResult, err := c.Transactions(tc.addrs) + if err != nil { + require.Equal(t, tc.err, err, "case: "+tc.name) + return + } + + var expected *[]daemon.TransactionResult + checkGoldenFile(t, tc.goldenFile, TestData{txResult, &expected}) + }) + } +} + +func TestLiveConfirmedTransactions(t *testing.T) { + if !doLive(t) { + return + } + c := api.NewClient(nodeAddress()) + + ctxsSingle, err := c.ConfirmedTransactions([]string{"2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt"}) + require.NoError(t, err) + require.True(t, len(*ctxsSingle) > 0) + + ctxsAll, err := c.ConfirmedTransactions([]string{}) + require.NoError(t, err) + require.True(t, len(*ctxsAll) > 0) + require.True(t, len(*ctxsAll) > len(*ctxsSingle)) +} + +func TestStableConfirmedTransactions(t *testing.T) { + if !doStable(t) { + return + } + cases := []struct { + name string + addrs []string + err api.ClientError + goldenFile string + }{ + { + name: "invalid addr length", + addrs: []string{"abcd"}, + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid address length\n", + }, + }, + { + name: "invalid addr character", + addrs: []string{"701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947"}, + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid base58 character\n", + }, + }, + { + name: "invalid checksum", + addrs: []string{"2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKk"}, + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid checksum\n", + }, + }, + { + name: "empty addrs", + addrs: []string{}, + goldenFile: "./empty-addrs.golden", + }, + { + name: "single addr", + addrs: []string{"2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt"}, + goldenFile: "./single-addr.golden", + }, + } + + c := api.NewClient(nodeAddress()) + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + txResult, err := c.ConfirmedTransactions(tc.addrs) + if err != nil { + require.Equal(t, tc.err, err, "case: "+tc.name) + return + } + + var expected *[]daemon.TransactionResult + checkGoldenFile(t, tc.goldenFile, TestData{txResult, &expected}) + }) + } +} + +func TestStableUnconfirmedTransactions(t *testing.T) { + if !doStable(t) { + return + } + cases := []struct { + name string + addrs []string + err api.ClientError + goldenFile string + }{ + { + name: "invalid addr length", + addrs: []string{"abcd"}, + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid address length\n", + }, + }, + { + name: "invalid addr character", + addrs: []string{"701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947"}, + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid base58 character\n", + }, + }, + { + name: "invalid checksum", + addrs: []string{"2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKk"}, + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - parse parameter: 'addrs' failed: Invalid checksum\n", + }, + }, + { + name: "empty addrs", + addrs: []string{}, + goldenFile: "./empty-addrs-unconfirmed-txs.golden", + }, + } + + c := api.NewClient(nodeAddress()) + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + txResult, err := c.UnconfirmedTransactions(tc.addrs) + if err != nil { + require.Equal(t, tc.err, err, "case: "+tc.name) + return + } + + var expected *[]daemon.TransactionResult + checkGoldenFile(t, tc.goldenFile, TestData{txResult, &expected}) + }) + } +} + +func TestLiveUnconfirmedTransactions(t *testing.T) { + if !doLive(t) { + return + } + c := api.NewClient(nodeAddress()) + + cTxsSingle, err := c.UnconfirmedTransactions([]string{"2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt"}) + require.NoError(t, err) + require.True(t, len(*cTxsSingle) >= 0) + + cTxsAll, err := c.UnconfirmedTransactions([]string{}) + require.NoError(t, err) + require.True(t, len(*cTxsAll) >= 0) + require.True(t, len(*cTxsAll) >= len(*cTxsSingle)) +} + +func TestStableResendUnconfirmedTransactions(t *testing.T) { + if !doStable(t) { + return + } + c := api.NewClient(nodeAddress()) + res, err := c.ResendUnconfirmedTransactions() + require.NoError(t, err) + require.True(t, len(res.Txids) == 0) +} + +func TestLiveResendUnconfirmedTransactions(t *testing.T) { + if !doLive(t) { + return + } + c := api.NewClient(nodeAddress()) + _, err := c.ResendUnconfirmedTransactions() + require.NoError(t, err) +} + +func TestStableRawTransaction(t *testing.T) { + if !doStable(t) { + return + } + + cases := []struct { + name string + txID string + err api.ClientError + rawTx string + }{ + { + name: "invalid hex length", + txID: "abcd", + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - Invalid hex length\n", + }, + }, + { + name: "not found", + txID: "701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947", + err: api.ClientError{ + Status: "404 Not Found", + StatusCode: http.StatusNotFound, + Message: "404 Not Found\n", + }, + }, + { + name: "odd length hex string", + txID: "abcdeffedca", + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - encoding/hex: odd length hex string\n", + }, + }, + { + name: "OK", + txID: "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", + rawTx: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000f8f9c644772dc5373d85e11094e438df707a42c900407a10f35a000000407a10f35a0000", + }, + } + + c := api.NewClient(nodeAddress()) + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + txResult, err := c.RawTransaction(tc.txID) + if err != nil { + require.Equal(t, tc.err, err, "case: "+tc.name) + return + } + require.Equal(t, tc.rawTx, txResult, "case: "+tc.name) + }) + } +} + +func TestLiveRawTransaction(t *testing.T) { + if !doLive(t) { + return + } + + cases := []struct { + name string + txID string + err api.ClientError + rawTx string + }{ + { + name: "invalid hex length", + txID: "abcd", + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - Invalid hex length\n", + }, + }, + { + name: "odd length hex string", + txID: "abcdeffedca", + err: api.ClientError{ + Status: "400 Bad Request", + StatusCode: http.StatusBadRequest, + Message: "400 Bad Request - encoding/hex: odd length hex string\n", + }, + }, + { + name: "OK - genesis tx", + txID: "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", + rawTx: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000f8f9c644772dc5373d85e11094e438df707a42c900407a10f35a000000407a10f35a0000", + }, + { + name: "OK", + txID: "701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947", + rawTx: "dc00000000f8293dbfdddcc56a97664655ceee650715d35a0dda32a9f0ce0e2e99d4899124010000003981061c7275ae9cc936e902a5367fdd87ef779bbdb31e1e10d325d17a129abb34f6e597ceeaf67bb051774b41c58276004f6a63cb81de61d4693bc7a5536f320001000000fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f2002000000003be2537f8c0893fddcddc878518f38ea493d949e008988068d0000002739570000000000009037ff169fbec6db95e2537e4ff79396c050aeeb00e40b54020000002739570000000000", + }, + } + + c := api.NewClient(nodeAddress()) + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + txResult, err := c.RawTransaction(tc.txID) + if err != nil { + require.Equal(t, tc.err, err, "case: "+tc.name) + return + } + require.Equal(t, tc.rawTx, txResult, "case: "+tc.name) + }) + } +} + +func TestWalletNewSeed(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + cases := []struct { + name string + entropy int + numWords int + errCode int + errMsg string + }{ + { + name: "entropy 128", + entropy: 128, + numWords: 12, + }, + { + name: "entropy 256", + entropy: 256, + numWords: 24, + }, + { + name: "entropy 100", + entropy: 100, + errCode: http.StatusBadRequest, + errMsg: "400 Bad Request - entropy length must be 128 or 256\n", + }, + } + + c := api.NewClient(nodeAddress()) + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + seed, err := c.NewSeed(tc.entropy) + if tc.errMsg != "" { + assertResponseError(t, err, tc.errCode, tc.errMsg) + return + } + + require.NoError(t, err) + words := strings.Split(seed, " ") + require.Len(t, words, tc.numWords) + + // no extra whitespace on the seed + require.Equal(t, seed, strings.TrimSpace(seed)) + + // should generate a different seed each time + seed2, err := c.NewSeed(tc.entropy) + require.NoError(t, err) + require.NotEqual(t, seed, seed2) + }) + } +} + +type addressTransactionsTestCase struct { + name string + address string + golden string + errCode int + errMsg string +} + +func TestStableAddressTransactions(t *testing.T) { + if !doStable(t) { + return + } + + cases := []addressTransactionsTestCase{ + { + name: "address with transactions", + address: "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + golden: "address-transactions-ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od.golden", + }, + { + name: "address without transactions", + address: "2b8ourW8fbTkC1yQBSLseVt6srhXvNMHvn9", + golden: "address-transactions-2b8ourW8fbTkC1yQBSLseVt6srhXvNMHvn9.golden", + }, + { + name: "invalid address", + address: "prRXwTcDK24hs6AFxj", + errCode: http.StatusBadRequest, + errMsg: "400 Bad Request - invalid address\n", + }, + } + + c := api.NewClient(nodeAddress()) + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + txns, err := c.AddressTransactions(tc.address) + if tc.errMsg != "" { + assertResponseError(t, err, tc.errCode, tc.errMsg) + return + } + + require.NoError(t, err) + + var expected []daemon.ReadableTransaction + checkGoldenFile(t, tc.golden, TestData{txns, &expected}) + }) + } +} + +func TestLiveAddressTransactions(t *testing.T) { + if !doLive(t) { + return + } + + cases := []addressTransactionsTestCase{ + { + name: "address with transactions", + // This is the first distribution address which has spent all of its coins + // It's transactions list should not change, unless someone sends coins to it + address: "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + golden: "address-transactions-R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ.golden", + }, + { + name: "address without transactions", + // This is a randomly generated address, never used + // It should never see new transactions + // (if it ever does, somebody managed to generate this address for use and there is a serious bug) + address: "2RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D", + golden: "address-transactions-2RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D.golden", + }, + { + name: "invalid address", + address: "prRXwTcDK24hs6AFxj", + errCode: http.StatusBadRequest, + errMsg: "400 Bad Request - invalid address\n", + }, + } + + c := api.NewClient(nodeAddress()) + // Get current blockchain height + bp, err := c.BlockchainProgress() + require.NoError(t, err) + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + txns, err := c.AddressTransactions(tc.address) + if tc.errMsg != "" { + assertResponseError(t, err, tc.errCode, tc.errMsg) + return + } + + require.NoError(t, err) + + var expected []daemon.ReadableTransaction + loadGoldenFile(t, tc.golden, TestData{txns, &expected}) + + // Recaculate the height if it's live test + for i := range expected { + expected[i].Status.Height = bp.Current - expected[i].Status.BlockSeq + 1 + } + + require.Equal(t, expected, txns) + }) + } +} + +func TestStableRichlist(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + richlist, err := c.Richlist(nil) + require.NoError(t, err) + + var expected api.Richlist + checkGoldenFile(t, "richlist-default.golden", TestData{*richlist, &expected}) + + richlist, err = c.Richlist(&api.RichlistParams{ + N: 0, + IncludeDistribution: false, + }) + require.NoError(t, err) + + expected = api.Richlist{} + checkGoldenFile(t, "richlist-all.golden", TestData{*richlist, &expected}) + + richlist, err = c.Richlist(&api.RichlistParams{ + N: 0, + IncludeDistribution: true, + }) + require.NoError(t, err) + + expected = api.Richlist{} + checkGoldenFile(t, "richlist-all-include-distribution.golden", TestData{*richlist, &expected}) + + richlist, err = c.Richlist(&api.RichlistParams{ + N: 8, + IncludeDistribution: false, + }) + require.NoError(t, err) + + expected = api.Richlist{} + checkGoldenFile(t, "richlist-8.golden", TestData{*richlist, &expected}) + + richlist, err = c.Richlist(&api.RichlistParams{ + N: 150, + IncludeDistribution: true, + }) + require.NoError(t, err) + + expected = api.Richlist{} + checkGoldenFile(t, "richlist-150-include-distribution.golden", TestData{*richlist, &expected}) +} + +func TestLiveRichlist(t *testing.T) { + if !doLive(t) { + return + } + + c := api.NewClient(nodeAddress()) + + richlist, err := c.Richlist(nil) + require.NoError(t, err) + + require.NotEmpty(t, richlist.Richlist) + require.Len(t, richlist.Richlist, 20) + + richlist, err = c.Richlist(&api.RichlistParams{ + N: 150, + IncludeDistribution: true, + }) + require.NoError(t, err) + + require.Len(t, richlist.Richlist, 150) +} + +func TestStableAddressCount(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + count, err := c.AddressCount() + require.NoError(t, err) + + require.Equal(t, uint64(155), count) +} + +func TestLiveAddressCount(t *testing.T) { + if !doLive(t) { + return + } + + c := api.NewClient(nodeAddress()) + + count, err := c.AddressCount() + require.NoError(t, err) + + // 5296 addresses as of 2018-03-06, the count could decrease but is unlikely to + require.True(t, count > 5000) +} + +func TestStablePendingTransactions(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + txns, err := c.PendingTransactions() + require.NoError(t, err) + require.Empty(t, txns) +} + +func TestLivePendingTransactions(t *testing.T) { + if !doLive(t) { + return + } + + c := api.NewClient(nodeAddress()) + + _, err := c.PendingTransactions() + require.NoError(t, err) +} + +func TestLiveWalletSpend(t *testing.T) { + if !doLive(t) { + return + } + + requireWalletEnv(t) + + c := api.NewClient(nodeAddress()) + w, totalCoins, _, password := prepareAndCheckWallet(t, c, 2e6, 2) + + tt := []struct { + name string + to string + coins uint64 + errMsg []byte + checkTx func(t *testing.T, tx *daemon.TransactionResult) + }{ + { + name: "send all coins to the first address", + to: w.Entries[0].Address.String(), + coins: totalCoins, + checkTx: func(t *testing.T, tx *daemon.TransactionResult) { + // Confirms the total output coins are equal to the totalCoins + var coins uint64 + for _, o := range tx.Transaction.Out { + c, err := droplet.FromString(o.Coins) + require.NoError(t, err) + coins, err = coin.AddUint64(coins, c) + require.NoError(t, err) + } + + // Confirms the address balance are equal to the totalCoins + coins, _ = getAddressBalance(t, c, w.Entries[0].Address.String()) + require.Equal(t, totalCoins, coins) + }, + }, + { + // send 0.003 coin to the second address, + // this amount is chosen to not interfere with TestLiveWalletCreateTransaction + name: "send 0.003 coin to second address", + to: w.Entries[1].Address.String(), + coins: 3e3, + checkTx: func(t *testing.T, tx *daemon.TransactionResult) { + // Confirms there're two outputs, one to the second address, one as change output to the first address. + require.Len(t, tx.Transaction.Out, 2) + + // Gets the output of the second address in the transaction + getAddrOutputInTx := func(t *testing.T, tx *daemon.TransactionResult, addr string) *visor.ReadableTransactionOutput { + for _, output := range tx.Transaction.Out { + if output.Address == addr { + return &output + } + } + t.Fatalf("transaction doesn't have output to address: %v", addr) + return nil + } + + out := getAddrOutputInTx(t, tx, w.Entries[1].Address.String()) + + // Confirms the second address has 0.003 coin + require.Equal(t, out.Coins, "0.003000") + require.Equal(t, out.Address, w.Entries[1].Address.String()) + + coin, err := droplet.FromString(out.Coins) + require.NoError(t, err) + + // Gets the expected change coins + expectChangeCoins := totalCoins - coin + + // Gets the real change coins + changeOut := getAddrOutputInTx(t, tx, w.Entries[0].Address.String()) + changeCoins, err := droplet.FromString(changeOut.Coins) + require.NoError(t, err) + // Confirms the change coins are matched. + require.Equal(t, expectChangeCoins, changeCoins) + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + result, err := c.Spend(w.Filename(), tc.to, tc.coins, password) + if err != nil { + t.Fatalf("spend failed: %v", err) + } + + tk := time.NewTicker(time.Second) + var tx *daemon.TransactionResult + loop: + for { + select { + case <-time.After(30 * time.Second): + t.Fatal("Waiting for transaction to be confirmed timeout") + case <-tk.C: + tx = getTransaction(t, c, result.Transaction.Hash) + if tx.Status.Confirmed { + break loop + } + } + } + tc.checkTx(t, tx) + }) + } + + // Return if wallet is encrypted, cause the rest of the tests will spend a lot of time. + if w.IsEncrypted() { + return + } + + // Confirms sending coins less than 0.001 is not allowed + errMsg := "500 Internal Server Error - Transaction violates soft constraint: invalid amount, too many decimal places\n" + for i := uint64(1); i < uint64(1000); i++ { + cs, err := droplet.ToString(i) + require.NoError(t, err) + name := fmt.Sprintf("send invalid coin %v", cs) + t.Run(name, func(t *testing.T) { + result, err := c.Spend(w.Filename(), w.Entries[0].Address.String(), i, password) + if w.IsEncrypted() && len(password) == 0 { + assertResponseError(t, err, http.StatusBadRequest, "400 Bad Request - missing password\n") + return + } + assertResponseError(t, err, http.StatusInternalServerError, errMsg) + require.Nil(t, result) + }) + } +} + +func TestLiveWalletCreateTransactionSpecific(t *testing.T) { + if !doLive(t) { + return + } + + requireWalletEnv(t) + + c := api.NewClient(nodeAddress()) + + w, totalCoins, totalHours, password := prepareAndCheckWallet(t, c, 2e6, 20) + + remainingHours := fee.RemainingHours(totalHours) + require.True(t, remainingHours > 1) + + addresses := make([]string, len(w.Entries)) + addressMap := make(map[string]struct{}, len(w.Entries)) + for i, e := range w.Entries { + addresses[i] = e.Address.String() + addressMap[e.Address.String()] = struct{}{} + } + + // Get all outputs + outputs, err := c.Outputs() + require.NoError(t, err) + + // Split outputs into those held by the wallet and those not + var walletOutputHashes []string + var walletOutputs visor.ReadableOutputs + walletAuxs := make(map[string][]string) + var nonWalletOutputs visor.ReadableOutputs + for _, o := range outputs.HeadOutputs { + if _, ok := addressMap[o.Address]; ok { + walletOutputs = append(walletOutputs, o) + walletOutputHashes = append(walletOutputHashes, o.Hash) + walletAuxs[o.Address] = append(walletAuxs[o.Address], o.Hash) + } else { + nonWalletOutputs = append(nonWalletOutputs, o) + } + } + + require.NotEmpty(t, walletOutputs) + require.NotEmpty(t, nonWalletOutputs) + + unknownOutput := testutil.RandSHA256(t) + + toDropletString := func(i uint64) string { + x, err := droplet.ToString(i) + require.NoError(t, err) + return x + } + + defaultChangeAddress := w.Entries[0].Address.String() + + type testCase struct { + name string + req api.CreateTransactionRequest + outputs []coin.TransactionOutput + outputsSubset []coin.TransactionOutput + err string + code int + ignoreHours bool + additionalRespVerify func(t *testing.T, r *api.CreateTransactionResponse) + } + + cases := []testCase{ + { + name: "invalid decimals", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[0].Address.String(), + Coins: "0.0001", + Hours: "1", + }, + }, + }, + err: "400 Bad Request - to[0].coins has too many decimal places\n", + code: http.StatusBadRequest, + }, + + { + name: "overflowing hours", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[0].Address.String(), + Coins: "0.001", + Hours: "1", + }, + { + Address: w.Entries[0].Address.String(), + Coins: "0.001", + Hours: fmt.Sprint(uint64(math.MaxUint64)), + }, + { + Address: w.Entries[0].Address.String(), + Coins: "0.001", + Hours: fmt.Sprint(uint64(math.MaxUint64) - 1), + }, + }, + }, + err: "400 Bad Request - total output hours error: uint64 addition overflow\n", + code: http.StatusBadRequest, + }, + + { + name: "insufficient coins", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[0].Address.String(), + Coins: fmt.Sprint(totalCoins + 1), + Hours: "1", + }, + }, + }, + err: "400 Bad Request - balance is not sufficient\n", + code: http.StatusBadRequest, + }, + + { + name: "insufficient hours", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[0].Address.String(), + Coins: toDropletString(totalCoins), + Hours: fmt.Sprint(totalHours + 1), + }, + }, + }, + err: "400 Bad Request - hours are not sufficient\n", + code: http.StatusBadRequest, + }, + + { + // NOTE: this test will fail if "totalCoins - 1e3" does not require + // all of the outputs to be spent, e.g. if there is an output with + // "totalCoins - 1e3" coins in it. + // TODO -- Check that the wallet does not have an output of 0.001, + // because then this test cannot be performed, since there is no + // way to use all outputs and produce change in that case. + name: "valid request, manual one output with change, spend all", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins - 1e3), + Hours: "1", + }, + }, + }, + outputs: []coin.TransactionOutput{ + { + Address: w.Entries[1].Address, + Coins: totalCoins - 1e3, + Hours: 1, + }, + { + Address: w.Entries[0].Address, + Coins: 1e3, + Hours: remainingHours - 1, + }, + }, + }, + + { + // NOTE: this test will fail if "totalCoins - 1e3" does not require + // all of the outputs to be spent, e.g. if there is an output with + // "totalCoins - 1e3" coins in it. + // TODO -- Check that the wallet does not have an output of 0.001, + // because then this test cannot be performed, since there is no + // way to use all outputs and produce change in that case. + name: "valid request, manual one output with change, spend all, unspecified change address", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins - 1e3), + Hours: "1", + }, + }, + }, + outputs: []coin.TransactionOutput{ + { + Address: w.Entries[1].Address, + Coins: totalCoins - 1e3, + Hours: 1, + }, + { + // Address omitted -- will be check later in the test body + Coins: 1e3, + Hours: remainingHours - 1, + }, + }, + }, + + { + name: "valid request, manual one output with change, don't spend all", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(1e3), + Hours: "1", + }, + }, + }, + outputsSubset: []coin.TransactionOutput{ + { + Address: w.Entries[1].Address, + Coins: 1e3, + Hours: 1, + }, + // NOTE: change omitted, + // change is too difficult to predict in this case, we are + // just checking that not all uxouts get spent in the transaction + }, + }, + + { + name: "valid request, manual one output no change", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins), + Hours: "1", + }, + }, + }, + outputs: []coin.TransactionOutput{ + { + Address: w.Entries[1].Address, + Coins: totalCoins, + Hours: 1, + }, + }, + }, + + { + // NOTE: no reliable way to test the ignore unconfirmed behavior, + // this test only checks that if IgnoreUnconfirmed is specified, + // the API doesn't throw up some parsing error + name: "valid request, manual one output no change, ignore unconfirmed", + req: api.CreateTransactionRequest{ + IgnoreUnconfirmed: true, + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins), + Hours: "1", + }, + }, + }, + outputs: []coin.TransactionOutput{ + { + Address: w.Entries[1].Address, + Coins: totalCoins, + Hours: 1, + }, + }, + }, + + { + name: "valid request, auto one output no change, share factor recalculates to 1.0", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: "0.5", + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins), + }, + }, + }, + outputs: []coin.TransactionOutput{ + { + Address: w.Entries[1].Address, + Coins: totalCoins, + Hours: remainingHours, + }, + }, + }, + + { + name: "valid request, auto two outputs with change", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: "0.5", + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(1e3), + }, + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins - 2e3), + }, + }, + }, + outputs: []coin.TransactionOutput{ + { + Address: w.Entries[1].Address, + Coins: 1e3, + }, + { + Address: w.Entries[1].Address, + Coins: totalCoins - 2e3, + }, + { + Address: w.Entries[0].Address, + Coins: 1e3, + }, + }, + ignoreHours: true, // the hours are too unpredictable + }, + + { + name: "uxout does not exist", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + UxOuts: []string{unknownOutput.Hex()}, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins), + Hours: "1", + }, + }, + }, + err: fmt.Sprintf("400 Bad Request - unspent output of %s does not exist\n", unknownOutput.Hex()), + code: http.StatusBadRequest, + }, + + { + name: "uxout not held by the wallet", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + UxOuts: []string{nonWalletOutputs[0].Hash}, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins), + Hours: "1", + }, + }, + }, + err: "400 Bad Request - uxout is not owned by any address in the wallet\n", + code: http.StatusBadRequest, + }, + + { + name: "insufficient balance with uxouts", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + UxOuts: []string{walletOutputs[0].Hash}, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins + 1e3), + Hours: "1", + }, + }, + }, + err: "400 Bad Request - balance is not sufficient\n", + code: http.StatusBadRequest, + }, + + { + // NOTE: expects wallet to have multiple outputs with non-zero coins + name: "insufficient hours with uxouts", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + UxOuts: []string{walletOutputs[0].Hash}, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(1e3), + Hours: fmt.Sprint(totalHours + 1), + }, + }, + }, + err: "400 Bad Request - hours are not sufficient\n", + code: http.StatusBadRequest, + }, + + { + name: "valid request, uxouts specified", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + // NOTE: all uxouts are provided, which has the same behavior as + // not providing any uxouts or addresses. + // Using a subset of uxouts makes the wallet setup very + // difficult, especially to make deterministic, in the live test + // More complex cases should be covered by unit tests + UxOuts: walletOutputHashes, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins - 1e3), + Hours: "1", + }, + }, + }, + outputs: []coin.TransactionOutput{ + { + Address: w.Entries[1].Address, + Coins: totalCoins - 1e3, + Hours: 1, + }, + { + Address: w.Entries[0].Address, + Coins: 1e3, + Hours: remainingHours - 1, + }, + }, + additionalRespVerify: func(t *testing.T, r *api.CreateTransactionResponse) { + require.Equal(t, len(walletOutputHashes), len(r.Transaction.In)) + }, + }, + + { + name: "specified addresses not in wallet", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + Addresses: []string{testutil.MakeAddress().String()}, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins), + Hours: "1", + }, + }, + }, + err: "400 Bad Request - address not found in wallet\n", + code: http.StatusBadRequest, + }, + + { + name: "valid request, addresses specified", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + // NOTE: all addresses are provided, which has the same behavior as + // not providing any addresses. + // Using a subset of addresses makes the wallet setup very + // difficult, especially to make deterministic, in the live test + // More complex cases should be covered by unit tests + Addresses: addresses, + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[1].Address.String(), + Coins: toDropletString(totalCoins - 1e3), + Hours: "1", + }, + }, + }, + outputs: []coin.TransactionOutput{ + { + Address: w.Entries[1].Address, + Coins: totalCoins - 1e3, + Hours: 1, + }, + { + Address: w.Entries[0].Address, + Coins: 1e3, + Hours: remainingHours - 1, + }, + }, + }, + } + + if w.IsEncrypted() { + cases = append(cases, testCase{ + name: "invalid password", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password + "foo", + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[0].Address.String(), + Coins: "1000", + Hours: "1", + }, + }, + }, + err: "401 Unauthorized - invalid password\n", + code: http.StatusUnauthorized, + }) + + cases = append(cases, testCase{ + name: "password not provided", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: "", + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[0].Address.String(), + Coins: "1000", + Hours: "1", + }, + }, + }, + err: "400 Bad Request - missing password\n", + code: http.StatusBadRequest, + }) + + } else { + cases = append(cases, testCase{ + name: "password provided for unencrypted wallet", + req: api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password + "foo", + }, + ChangeAddress: &defaultChangeAddress, + To: []api.Receiver{ + { + Address: w.Entries[0].Address.String(), + Coins: "1000", + Hours: "1", + }, + }, + }, + err: "400 Bad Request - wallet is not encrypted\n", + code: http.StatusBadRequest, + }) + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + require.False(t, len(tc.outputs) != 0 && len(tc.outputsSubset) != 0, "outputs and outputsSubset can't both be set") + + result, err := c.CreateTransaction(tc.req) + if tc.err != "" { + assertResponseError(t, err, tc.code, tc.err) + return + } + + require.NoError(t, err) + + d, err := json.MarshalIndent(result, "", " ") + require.NoError(t, err) + fmt.Println(string(d)) + + if len(tc.outputsSubset) == 0 { + require.Equal(t, len(tc.outputs), len(result.Transaction.Out)) + } + + for i, o := range tc.outputs { + // The final change output may not have the address specified, + // if the ChangeAddress was not specified in the wallet params. + // Calculate it automatically based upon the transaction inputs + if o.Address.Null() { + require.Equal(t, i, len(tc.outputs)-1) + require.Nil(t, tc.req.ChangeAddress) + + changeAddr := result.Transaction.Out[i].Address + // The changeAddr must be associated with one of the transaction inputs + changeAddrFound := false + for _, x := range result.Transaction.In { + require.NotNil(t, x.Address) + if changeAddr == x.Address { + changeAddrFound = true + break + } + } + + require.True(t, changeAddrFound) + } else { + require.Equal(t, o.Address.String(), result.Transaction.Out[i].Address) + } + + coins, err := droplet.FromString(result.Transaction.Out[i].Coins) + require.NoError(t, err) + require.Equal(t, o.Coins, coins, "[%d] %d != %d", i, o.Coins, coins) + + if !tc.ignoreHours { + hours, err := strconv.ParseUint(result.Transaction.Out[i].Hours, 10, 64) + require.NoError(t, err) + require.Equal(t, o.Hours, hours, "[%d] %d != %d", i, o.Hours, hours) + } + } + + assertEncodeTxnMatchesTxn(t, result) + assertRequestedCoins(t, tc.req.To, result.Transaction.Out) + assertCreatedTransactionValid(t, result.Transaction) + + if tc.req.HoursSelection.Type == wallet.HoursSelectionTypeManual { + assertRequestedHours(t, tc.req.To, result.Transaction.Out) + } + + if tc.additionalRespVerify != nil { + tc.additionalRespVerify(t, result) + } + }) + } +} + +func TestLiveWalletCreateTransactionRandom(t *testing.T) { + if !doLive(t) { + return + } + + requireWalletEnv(t) + + c := api.NewClient(nodeAddress()) + + w, totalCoins, totalHours, password := prepareAndCheckWallet(t, c, 2e6, 20) + + if w.IsEncrypted() { + t.Skip("Skipping TestLiveWalletCreateTransactionRandom tests with encrypted wallet") + return + } + + remainingHours := fee.RemainingHours(totalHours) + require.True(t, remainingHours > 1) + + assertTxnOutputCount := func(t *testing.T, changeAddress string, nOutputs int, result *api.CreateTransactionResponse) { + nResultOutputs := len(result.Transaction.Out) + require.True(t, nResultOutputs == nOutputs || nResultOutputs == nOutputs+1) + hasChange := nResultOutputs == nOutputs+1 + changeOutput := result.Transaction.Out[nResultOutputs-1] + if hasChange { + require.Equal(t, changeOutput.Address, changeAddress) + } + + t.Log("hasChange", hasChange) + if hasChange { + t.Log("changeCoins", changeOutput.Coins) + t.Log("changeHours", changeOutput.Hours) + } + } + + iterations := 250 + maxOutputs := 10 + destAddrs := make([]cipher.Address, maxOutputs) + for i := range destAddrs { + destAddrs[i] = testutil.MakeAddress() + } + + for i := 0; i < iterations; i++ { + t.Log("iteration", i) + t.Log("totalCoins", totalCoins) + t.Log("totalHours", totalHours) + + spendableHours := fee.RemainingHours(totalHours) + t.Log("spendableHours", spendableHours) + + coins := rand.Intn(int(totalCoins)) + 1 + coins -= coins % int(visor.MaxDropletDivisor()) + if coins == 0 { + coins = int(visor.MaxDropletDivisor()) + } + hours := rand.Intn(int(spendableHours + 1)) + nOutputs := rand.Intn(maxOutputs) + 1 + + t.Log("sendCoins", coins) + t.Log("sendHours", hours) + + changeAddress := w.Entries[0].Address.String() + + shareFactor := strconv.FormatFloat(rand.Float64(), 'f', 8, 64) + + t.Log("shareFactor", shareFactor) + + to := make([]api.Receiver, 0, nOutputs) + remainingHours := hours + remainingCoins := coins + for i := 0; i < nOutputs; i++ { + if remainingCoins == 0 { + break + } + + receiver := api.Receiver{} + receiver.Address = destAddrs[rand.Intn(len(destAddrs))].String() + + if i == nOutputs-1 { + var err error + receiver.Coins, err = droplet.ToString(uint64(remainingCoins)) + require.NoError(t, err) + receiver.Hours = fmt.Sprint(remainingHours) + + remainingCoins = 0 + remainingHours = 0 + } else { + receiverCoins := rand.Intn(remainingCoins) + 1 + receiverCoins -= receiverCoins % int(visor.MaxDropletDivisor()) + if receiverCoins == 0 { + receiverCoins = int(visor.MaxDropletDivisor()) + } + + var err error + receiver.Coins, err = droplet.ToString(uint64(receiverCoins)) + require.NoError(t, err) + remainingCoins -= receiverCoins + + receiverHours := rand.Intn(remainingHours + 1) + receiver.Hours = fmt.Sprint(receiverHours) + remainingHours -= receiverHours + } + + to = append(to, receiver) + } + + // Remove duplicate outputs + dup := make(map[api.Receiver]struct{}, len(to)) + newTo := make([]api.Receiver, 0, len(dup)) + for _, o := range to { + if _, ok := dup[o]; !ok { + dup[o] = struct{}{} + newTo = append(newTo, o) + } + } + to = newTo + + nOutputs = len(to) + t.Log("nOutputs", nOutputs) + + rand.Shuffle(len(to), func(i, j int) { + to[i], to[j] = to[j], to[i] + }) + + for i, o := range to { + t.Logf("to[%d].Hours %s\n", i, o.Hours) + } + + autoTo := make([]api.Receiver, len(to)) + for i, o := range to { + autoTo[i] = api.Receiver{ + Address: o.Address, + Coins: o.Coins, + Hours: "", + } + } + + // Remove duplicate outputs + dup = make(map[api.Receiver]struct{}, len(autoTo)) + newAutoTo := make([]api.Receiver, 0, len(dup)) + for _, o := range autoTo { + if _, ok := dup[o]; !ok { + dup[o] = struct{}{} + newAutoTo = append(newAutoTo, o) + } + } + autoTo = newAutoTo + + nAutoOutputs := len(autoTo) + t.Log("nAutoOutputs", nAutoOutputs) + + for i, o := range autoTo { + t.Logf("autoTo[%d].Coins %s\n", i, o.Coins) + } + + // Auto, random share factor + + result, err := c.CreateTransaction(api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: shareFactor, + }, + ChangeAddress: &changeAddress, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + To: autoTo, + }) + require.NoError(t, err) + + assertEncodeTxnMatchesTxn(t, result) + assertTxnOutputCount(t, changeAddress, nAutoOutputs, result) + assertRequestedCoins(t, autoTo, result.Transaction.Out) + assertCreatedTransactionValid(t, result.Transaction) + + // Auto, share factor 0 + + result, err = c.CreateTransaction(api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: "0", + }, + ChangeAddress: &changeAddress, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + To: autoTo, + }) + require.NoError(t, err) + + assertEncodeTxnMatchesTxn(t, result) + assertTxnOutputCount(t, changeAddress, nAutoOutputs, result) + assertRequestedCoins(t, autoTo, result.Transaction.Out) + assertCreatedTransactionValid(t, result.Transaction) + + // Check that the non-change outputs have 0 hours + for _, o := range result.Transaction.Out[:nAutoOutputs] { + require.Equal(t, "0", o.Hours) + } + + // Auto, share factor 1 + + result, err = c.CreateTransaction(api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: "1", + }, + ChangeAddress: &changeAddress, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + To: autoTo, + }) + require.NoError(t, err) + + assertEncodeTxnMatchesTxn(t, result) + assertTxnOutputCount(t, changeAddress, nAutoOutputs, result) + assertRequestedCoins(t, autoTo, result.Transaction.Out) + assertCreatedTransactionValid(t, result.Transaction) + + // Check that the change output has 0 hours + if len(result.Transaction.Out) > nAutoOutputs { + require.Equal(t, "0", result.Transaction.Out[nAutoOutputs].Hours) + } + + // Manual + + result, err = c.CreateTransaction(api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + ChangeAddress: &changeAddress, + Wallet: api.CreateTransactionRequestWallet{ + ID: w.Filename(), + Password: password, + }, + To: to, + }) + require.NoError(t, err) + + assertEncodeTxnMatchesTxn(t, result) + assertTxnOutputCount(t, changeAddress, nOutputs, result) + assertRequestedCoins(t, to, result.Transaction.Out) + assertRequestedHours(t, to, result.Transaction.Out) + assertCreatedTransactionValid(t, result.Transaction) + } +} + +func assertEncodeTxnMatchesTxn(t *testing.T, result *api.CreateTransactionResponse) { + require.NotEmpty(t, result.EncodedTransaction) + emptyTxn := &coin.Transaction{} + require.NotEqual(t, hex.EncodeToString(emptyTxn.Serialize()), result.EncodedTransaction) + txn, err := result.Transaction.ToTransaction() + require.NoError(t, err) + + serializedTxn := txn.Serialize() + require.Equal(t, hex.EncodeToString(serializedTxn), result.EncodedTransaction) + + require.Equal(t, int(txn.Length), len(serializedTxn)) +} + +func assertRequestedCoins(t *testing.T, to []api.Receiver, out []api.CreatedTransactionOutput) { + var requestedCoins uint64 + for _, o := range to { + c, err := droplet.FromString(o.Coins) + require.NoError(t, err) + requestedCoins += c + } + + var sentCoins uint64 + for _, o := range out[:len(to)] { // exclude change output + c, err := droplet.FromString(o.Coins) + require.NoError(t, err) + sentCoins += c + } + + require.Equal(t, requestedCoins, sentCoins) +} + +func assertRequestedHours(t *testing.T, to []api.Receiver, out []api.CreatedTransactionOutput) { + for i, o := range out[:len(to)] { // exclude change output + toHours, err := strconv.ParseUint(to[i].Hours, 10, 64) + require.NoError(t, err) + + outHours, err := strconv.ParseUint(o.Hours, 10, 64) + + require.Equal(t, toHours, outHours) + } +} + +func assertCreatedTransactionValid(t *testing.T, r api.CreatedTransaction) { + require.NotEmpty(t, r.In) + require.NotEmpty(t, r.Out) + + fee, err := strconv.ParseUint(r.Fee, 10, 64) + require.NoError(t, err) + + require.NotEqual(t, uint64(0), fee) + + var inputHours uint64 + var inputCoins uint64 + for _, in := range r.In { + require.NotNil(t, in.CalculatedHours) + calculatedHours, err := strconv.ParseUint(in.CalculatedHours, 10, 64) + require.NoError(t, err) + inputHours, err = coin.AddUint64(inputHours, calculatedHours) + require.NoError(t, err) + + require.NotNil(t, in.Hours) + hours, err := strconv.ParseUint(in.Hours, 10, 64) + require.NoError(t, err) + + require.True(t, hours <= calculatedHours) + + require.NotNil(t, in.Coins) + coins, err := droplet.FromString(in.Coins) + require.NoError(t, err) + inputCoins, err = coin.AddUint64(inputCoins, coins) + require.NoError(t, err) + } + + var outputHours uint64 + var outputCoins uint64 + for _, out := range r.Out { + hours, err := strconv.ParseUint(out.Hours, 10, 64) + require.NoError(t, err) + outputHours, err = coin.AddUint64(outputHours, hours) + require.NoError(t, err) + + coins, err := droplet.FromString(out.Coins) + require.NoError(t, err) + outputCoins, err = coin.AddUint64(outputCoins, coins) + require.NoError(t, err) + } + + require.True(t, inputHours > outputHours) + require.Equal(t, inputHours-outputHours, fee) + + require.Equal(t, inputCoins, outputCoins) + + require.Equal(t, uint8(0), r.Type) + require.NotEmpty(t, r.Length) +} + +func TestCreateWallet(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + w, seed, clean := createWallet(t, c, false, "", "") + defer clean() + require.False(t, w.Meta.Encrypted) + + walletDir := getWalletDir(t, c) + + // Confirms the wallet does exist + walletPath := filepath.Join(walletDir, w.Meta.Filename) + _, err := os.Stat(walletPath) + require.NoError(t, err) + + // Loads the wallet and confirms that the wallet has the same seed + lw, err := wallet.Load(walletPath) + require.NoError(t, err) + require.False(t, lw.IsEncrypted()) + require.Equal(t, seed, lw.Meta["seed"]) + require.Equal(t, len(w.Entries), len(lw.Entries)) + + for i := range w.Entries { + require.Equal(t, w.Entries[i].Address, lw.Entries[i].Address.String()) + require.Equal(t, w.Entries[i].Public, lw.Entries[i].Public.Hex()) + } + + // Creates wallet with encryption + encW, _, encWClean := createWallet(t, c, true, "pwd", "") + defer encWClean() + require.True(t, encW.Meta.Encrypted) + + walletPath = filepath.Join(walletDir, encW.Meta.Filename) + encLW, err := wallet.Load(walletPath) + require.NoError(t, err) + + // Confirms the loaded wallet is encrypted and has the same address entries + require.True(t, encLW.IsEncrypted()) + require.Equal(t, len(encW.Entries), len(encLW.Entries)) + + for i := range encW.Entries { + require.Equal(t, encW.Entries[i].Address, encLW.Entries[i].Address.String()) + require.Equal(t, encW.Entries[i].Public, encLW.Entries[i].Public.Hex()) + } +} + +func TestGetWallet(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + // Create a wallet + w, _, clean := createWallet(t, c, false, "", "") + defer clean() + + // Confirms the wallet can be acquired + w1, err := c.Wallet(w.Meta.Filename) + require.NoError(t, err) + require.Equal(t, *w, *w1) +} + +func TestGetWallets(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + // Creates 2 new wallets + var ws []api.WalletResponse + for i := 0; i < 2; i++ { + w, _, clean := createWallet(t, c, false, "", "") + defer clean() + // cleaners = append(cleaners, clean) + ws = append(ws, *w) + } + + // Gets wallet from node + wlts, err := c.Wallets() + require.NoError(t, err) + + // Create the wallet map + walletMap := make(map[string]api.WalletResponse) + for _, w := range wlts { + walletMap[w.Meta.Filename] = *w + } + + // Confirms the returned wallets contains the wallet we created. + for _, w := range ws { + retW, ok := walletMap[w.Meta.Filename] + require.True(t, ok) + require.Equal(t, w, retW) + } +} + +// TestWalletNewAddress will generate 30 wallets for testing, and they will +// be removed automatically after testing. +func TestWalletNewAddress(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + // We only test 30 cases, cause the more addresses we generate, the longer + // it takes, we don't want to spend much time here. + for i := 1; i <= 30; i++ { + name := fmt.Sprintf("generate %v addresses", i) + t.Run(name, func(t *testing.T) { + c := api.NewClient(nodeAddress()) + var encrypt bool + var password string + // Test wallet with encryption only when i == 2, so that + // the tests won't time out. + if i == 2 { + encrypt = true + password = "pwd" + } + + w, seed, clean := createWallet(t, c, encrypt, password, "") + defer clean() + + addrs, err := c.NewWalletAddress(w.Meta.Filename, i, password) + if err != nil { + t.Fatalf("%v", err) + return + } + require.NoError(t, err) + + seckeys := cipher.GenerateDeterministicKeyPairs([]byte(seed), i+1) + var as []string + for _, k := range seckeys { + as = append(as, cipher.AddressFromSecKey(k).String()) + } + + // Confirms thoses new generated addresses are the same. + require.Equal(t, len(addrs), len(as)-1) + for i := range addrs { + require.Equal(t, as[i+1], addrs[i]) + } + }) + } +} + +func TestStableWalletBalance(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + w, _, clean := createWallet(t, c, false, "", "casino away claim road artist where blossom warrior demise royal still palm") + defer clean() + + bp, err := c.WalletBalance(w.Meta.Filename) + require.NoError(t, err) + + var expect api.BalanceResponse + checkGoldenFile(t, "wallet-balance.golden", TestData{*bp, &expect}) +} + +func TestLiveWalletBalance(t *testing.T) { + if !doLive(t) { + return + } + + requireWalletEnv(t) + + c := api.NewClient(nodeAddress()) + _, walletName, _ := getWalletFromEnv(t, c) + bp, err := c.WalletBalance(walletName) + require.NoError(t, err) + require.NotNil(t, bp) + require.NotNil(t, bp.Addresses) +} + +func TestWalletUpdate(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + w, _, clean := createWallet(t, c, false, "", "") + defer clean() + + err := c.UpdateWallet(w.Meta.Filename, "new wallet") + require.NoError(t, err) + + // Confirms the wallet has label of "new wallet" + w1, err := c.Wallet(w.Meta.Filename) + require.NoError(t, err) + require.Equal(t, w1.Meta.Label, "new wallet") +} + +func TestStableWalletTransactions(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + w, _, clean := createWallet(t, c, false, "", "") + defer clean() + + txns, err := c.WalletTransactions(w.Meta.Filename) + require.NoError(t, err) + + var expect api.UnconfirmedTxnsResponse + checkGoldenFile(t, "wallet-transactions.golden", TestData{*txns, &expect}) +} + +func TestLiveWalletTransactions(t *testing.T) { + if !doLive(t) { + return + } + + requireWalletEnv(t) + + c := api.NewClient(nodeAddress()) + w, _, _, _ := prepareAndCheckWallet(t, c, 1e6, 1) + txns, err := c.WalletTransactions(w.Filename()) + require.NoError(t, err) + + bp, err := c.WalletBalance(w.Filename()) + require.NoError(t, err) + // There's pending transactions if predicted coins are not the same as confirmed coins + if bp.Predicted.Coins != bp.Confirmed.Coins { + require.NotEmpty(t, txns.Transactions) + return + } + + require.Empty(t, txns.Transactions) +} + +func TestWalletFolderName(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + folderName, err := c.WalletFolderName() + require.NoError(t, err) + + require.NotNil(t, folderName) + require.NotEmpty(t, folderName.Address) +} + +func TestEncryptWallet(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + // Create a unencrypted wallet + w, _, clean := createWallet(t, c, false, "", "") + defer clean() + + // Encrypts the wallet + rlt, err := c.EncryptWallet(w.Meta.Filename, "pwd") + require.NoError(t, err) + require.NotEmpty(t, rlt.Meta.CryptoType) + require.True(t, rlt.Meta.Encrypted) + + // Encrypt the wallet again, should returns error + _, err = c.EncryptWallet(w.Meta.Filename, "pwd") + assertResponseError(t, err, http.StatusBadRequest, "400 Bad Request - wallet is encrypted\n") + + // Confirms that no sensitive data do exist in wallet file + wf, err := c.WalletFolderName() + require.NoError(t, err) + wltPath := filepath.Join(wf.Address, w.Meta.Filename) + lw, err := wallet.Load(wltPath) + require.NoError(t, err) + require.Empty(t, lw.Meta["seed"]) + require.Empty(t, lw.Meta["lastSeed"]) + require.NotEmpty(t, lw.Meta["secrets"]) + + // Decrypts the wallet, and confirms that the + // seed and address entries are the same as it was before being encrypted. + dw, err := c.DecryptWallet(w.Meta.Filename, "pwd") + require.NoError(t, err) + require.Equal(t, w, dw) +} + +func TestDecryptWallet(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + w, seed, clean := createWallet(t, c, true, "pwd", "") + defer clean() + + // Decrypt wallet with different password, must fail + _, err := c.DecryptWallet(w.Meta.Filename, "pwd1") + assertResponseError(t, err, http.StatusUnauthorized, "401 Unauthorized - invalid password\n") + + // Decrypt wallet with no password, must fail + _, err = c.DecryptWallet(w.Meta.Filename, "") + assertResponseError(t, err, http.StatusBadRequest, "400 Bad Request - missing password\n") + + // Decrypts wallet with correct password + dw, err := c.DecryptWallet(w.Meta.Filename, "pwd") + require.NoError(t, err) + + // Confirms that no sensitive data are returned + require.Empty(t, dw.Meta.CryptoType) + require.False(t, dw.Meta.Encrypted) + + // Loads wallet from file + wf, err := c.WalletFolderName() + require.NoError(t, err) + wltPath := filepath.Join(wf.Address, w.Meta.Filename) + lw, err := wallet.Load(wltPath) + require.NoError(t, err) + + require.Equal(t, lw.Meta["seed"], seed) + require.Len(t, lw.Entries, 1) + + // Confirms the last seed is matched + lseed, seckeys := cipher.GenerateDeterministicKeyPairsSeed([]byte(seed), 1) + require.Equal(t, hex.EncodeToString(lseed), lw.Meta["lastSeed"]) + + // Confirms that the first address is derivied from the private key + pubkey := cipher.PubKeyFromSecKey(seckeys[0]) + require.Equal(t, w.Entries[0].Address, cipher.AddressFromPubKey(pubkey).String()) + require.Equal(t, lw.Entries[0].Address.String(), w.Entries[0].Address) +} + +func TestGetWalletSeedDisabledAPI(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + // Create an encrypted wallet + w, _, clean := createWallet(t, c, true, "pwd", "") + defer clean() + + _, err := c.GetWalletSeed(w.Meta.Filename, "pwd") + assertResponseError(t, err, http.StatusForbidden, "403 Forbidden\n") +} + +func TestGetWalletSeedEnabledAPI(t *testing.T) { + if !doEnableSeedAPI(t) { + return + } + + c := api.NewClient(nodeAddress()) + + // Create an encrypted wallet + w, seed, clean := createWallet(t, c, true, "pwd", "") + defer clean() + + require.NotEmpty(t, seed) + + sd, err := c.GetWalletSeed(w.Meta.Filename, "pwd") + require.NoError(t, err) + + // Confirms the seed are matched + require.Equal(t, seed, sd) + + // Get seed of wrong wallet id + _, err = c.GetWalletSeed("w.wlt", "pwd") + assertResponseError(t, err, http.StatusNotFound, "404 Not Found\n") + + // Check with invalid password + _, err = c.GetWalletSeed(w.Meta.Filename, "wrong password") + assertResponseError(t, err, http.StatusUnauthorized, "401 Unauthorized - invalid password\n") + + // Check with missing password + _, err = c.GetWalletSeed(w.Meta.Filename, "") + assertResponseError(t, err, http.StatusBadRequest, "400 Bad Request - missing password\n") + + // Create unencrypted wallet to check against + nw, _, nclean := createWallet(t, c, false, "", "") + defer nclean() + _, err = c.GetWalletSeed(nw.Meta.Filename, "pwd") + assertResponseError(t, err, http.StatusBadRequest, "400 Bad Request - wallet is not encrypted\n") +} + +// prepareAndCheckWallet gets wallet from environment, and confirms: +// 1. The minimal coins and coin hours requirements are met. +// 2. The wallet has at least two address entry. +// Returns the loaded wallet, total coins, total coin hours and password of the wallet. +func prepareAndCheckWallet(t *testing.T, c *api.Client, miniCoins, miniCoinHours uint64) (*wallet.Wallet, uint64, uint64, string) { + walletDir, walletName, password := getWalletFromEnv(t, c) + walletPath := filepath.Join(walletDir, walletName) + + // Checks if the wallet does exist + if _, err := os.Stat(walletPath); os.IsNotExist(err) { + t.Fatalf("Wallet %v doesn't exist", walletPath) + } + + w, err := wallet.Load(walletPath) + if err != nil { + t.Fatalf("Load wallet %v failed: %v", walletPath, err) + } + + if w.IsEncrypted() && password == "" { + t.Fatalf("Wallet is encrypted, must set WALLET_PASSWORD env var") + } + + // Generate more addresses if address entries less than 2. + if len(w.Entries) < 2 { + _, err := c.NewWalletAddress(w.Filename(), 2-len(w.Entries), password) + if err != nil { + t.Fatalf("New wallet address failed: %v", err) + } + + w, err = wallet.Load(walletPath) + if err != nil { + t.Fatalf("Reload wallet %v failed: %v", walletPath, err) + } + } + + coins, hours := getWalletBalance(t, c, walletName) + if coins < miniCoins { + t.Fatalf("Wallet must have at least %d coins", miniCoins) + } + + if hours < miniCoinHours { + t.Fatalf("Wallet must have at least %d coin hours", miniCoinHours) + } + + if err := w.Save(walletDir); err != nil { + t.Fatalf("%v", err) + } + + return w, coins, hours, password +} + +// getWalletFromEnv loads wallet from envrionment variables. +// Returns wallet dir, wallet name and wallet password is any. +func getWalletFromEnv(t *testing.T, c *api.Client) (string, string, string) { + walletDir := getWalletDir(t, c) + + walletName := os.Getenv("WALLET_NAME") + if walletName == "" { + t.Fatal("Missing WALLET_NAME environment value") + } + + walletPassword := os.Getenv("WALLET_PASSWORD") + return walletDir, walletName, walletPassword +} + +func requireWalletEnv(t *testing.T) { + if !doLiveWallet(t) { + return + } + + walletName := os.Getenv("WALLET_NAME") + if walletName == "" { + t.Fatal("missing WALLET_NAME environment value") + } +} + +// getWalletBalance gets wallet balance. +// Returns coins and hours +func getWalletBalance(t *testing.T, c *api.Client, walletName string) (uint64, uint64) { + wp, err := c.WalletBalance(walletName) + if err != nil { + t.Fatalf("Get wallet balance of %v failed: %v", walletName, err) + } + + return wp.Confirmed.Coins, wp.Confirmed.Hours +} + +func getTransaction(t *testing.T, c *api.Client, txid string) *daemon.TransactionResult { + tx, err := c.Transaction(txid) + if err != nil { + t.Fatalf("%v", err) + } + + return tx +} + +// getAddressBalance gets balance of given address. +// Returns coins and coin hours. +func getAddressBalance(t *testing.T, c *api.Client, addr string) (uint64, uint64) { // nolint: unparam + bp, err := c.Balance([]string{addr}) + if err != nil { + t.Fatalf("%v", err) + } + return bp.Confirmed.Coins, bp.Confirmed.Hours +} + +// createWallet creates a wallet with rand seed. +// Returns the generated wallet, seed and clean up function. +func createWallet(t *testing.T, c *api.Client, encrypt bool, password string, seed string) (*api.WalletResponse, string, func()) { + if seed == "" { + seed = hex.EncodeToString(cipher.RandByte(32)) + } + // Use the first 6 letter of the seed as label. + var w *api.WalletResponse + var err error + if encrypt { + w, err = c.CreateEncryptedWallet(seed, seed[:6], password, 0) + } else { + w, err = c.CreateUnencryptedWallet(seed, seed[:6], 0) + } + + require.NoError(t, err) + + walletDir := getWalletDir(t, c) + + return w, seed, func() { + // Cleaner function to delete the wallet and bak wallet + walletPath := filepath.Join(walletDir, w.Meta.Filename) + err = os.Remove(walletPath) + require.NoError(t, err) + + bakWalletPath := walletPath + ".bak" + if _, err := os.Stat(bakWalletPath); !os.IsNotExist(err) { + // Return directly if no .bak file does exist + err = os.Remove(bakWalletPath) + } + + require.NoError(t, err) + + // Removes the wallet from memory + c.UnloadWallet(w.Meta.Filename) + } +} + +func getWalletDir(t *testing.T, c *api.Client) string { + wf, err := c.WalletFolderName() + if err != nil { + t.Fatalf("%v", err) + } + return wf.Address +} + +func TestDisableWalletApi(t *testing.T) { + if !doDisableWalletAPI(t) { + return + } + + changeAddress := testutil.MakeAddress().String() + + type testCase struct { + name string + method string + endpoint string + contentType string + body func() io.Reader + json func() interface{} + expectErr string + code int + } + + tt := []testCase{ + { + name: "get wallet", + method: http.MethodGet, + endpoint: "/api/v1/wallet?id=test.wlt", + expectErr: "403 Forbidden\n", + code: http.StatusForbidden, + }, + { + name: "create wallet", + method: http.MethodPost, + endpoint: "/api/v1/wallet/create", + body: func() io.Reader { + v := url.Values{} + v.Add("seed", "seed") + v.Add("label", "label") + v.Add("scan", "1") + return strings.NewReader(v.Encode()) + }, + expectErr: "403 Forbidden\n", + code: http.StatusForbidden, + }, + { + name: "generate new address", + method: http.MethodPost, + endpoint: "/api/v1/wallet/newAddress", + body: func() io.Reader { + v := url.Values{} + v.Add("id", "test.wlt") + return strings.NewReader(v.Encode()) + }, + expectErr: "403 Forbidden\n", + code: http.StatusForbidden, + }, + { + name: "get wallet balance", + method: http.MethodGet, + endpoint: "/api/v1/wallet/balance?id=test.wlt", + expectErr: "403 Forbidden\n", + code: http.StatusForbidden, + }, + { + name: "wallet spending", + method: http.MethodPost, + endpoint: "/api/v1/wallet/spend", + body: func() io.Reader { + v := url.Values{} + v.Add("id", "test.wlt") + v.Add("coins", "100000") // 1e5 + v.Add("dst", "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6") + return strings.NewReader(v.Encode()) + }, + expectErr: "403 Forbidden\n", + code: http.StatusForbidden, + }, + { + name: "get wallet unconfirmed transactions", + method: http.MethodGet, + endpoint: "/api/v1/wallet/transactions?id=test.wlt", + expectErr: "403 Forbidden\n", + code: http.StatusForbidden, + }, + { + name: "update wallet label", + method: http.MethodPost, + endpoint: "/api/v1/wallet/update", + body: func() io.Reader { + v := url.Values{} + v.Add("id", "test.wlt") + v.Add("label", "label") + return strings.NewReader(v.Encode()) + }, + expectErr: "403 Forbidden\n", + code: http.StatusForbidden, + }, + { + name: "new seed", + method: http.MethodGet, + endpoint: "/api/v1/wallet/newSeed", + expectErr: "403 Forbidden\n", + code: http.StatusForbidden, + }, + { + name: "get wallets", + method: http.MethodGet, + endpoint: "/api/v1/wallets", + expectErr: "403 Forbidden\n", + code: http.StatusForbidden, + }, + { + name: "get wallets folder name", + method: http.MethodGet, + endpoint: "/api/v1/wallets/folderName", + expectErr: "403 Forbidden\n", + code: http.StatusForbidden, + }, + { + name: "main index.html 404 not found", + method: http.MethodGet, + endpoint: "/api/v1/", + expectErr: "404 Not Found\n", + code: http.StatusNotFound, + }, + { + name: "encrypt wallet", + method: http.MethodPost, + endpoint: "/api/v1/wallet/encrypt", + body: func() io.Reader { + v := url.Values{} + v.Add("id", "test.wlt") + v.Add("password", "pwd") + return strings.NewReader(v.Encode()) + }, + expectErr: "403 Forbidden\n", + code: http.StatusForbidden, + }, + { + name: "decrypt wallet", + method: http.MethodPost, + endpoint: "/api/v1/wallet/decrypt", + body: func() io.Reader { + v := url.Values{} + v.Add("id", "test.wlt") + v.Add("password", "pwd") + return strings.NewReader(v.Encode()) + }, + expectErr: "403 Forbidden\n", + code: http.StatusForbidden, + }, + { + name: "get wallet seed", + method: http.MethodPost, + endpoint: "/api/v1/wallet/seed", + body: func() io.Reader { + v := url.Values{} + v.Add("id", "test.wlt") + v.Add("password", "pwd") + return strings.NewReader(v.Encode()) + }, + expectErr: "403 Forbidden\n", + code: http.StatusForbidden, + }, + { + name: "create transaction", + method: http.MethodPost, + endpoint: "/api/v1/wallet/transaction", + contentType: "application/json", + json: func() interface{} { + return api.CreateTransactionRequest{ + HoursSelection: api.HoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: api.CreateTransactionRequestWallet{ + ID: "test.wlt", + }, + ChangeAddress: &changeAddress, + To: []api.Receiver{ + { + Address: changeAddress, + Coins: "0.001", + Hours: "1", + }, + }, + } + }, + expectErr: "403 Forbidden\n", + code: http.StatusForbidden, + }, + } + + c := api.NewClient(nodeAddress()) + for _, tc := range tt { + f := func(tc testCase) func(t *testing.T) { + return func(t *testing.T) { + var err error + switch tc.method { + case http.MethodGet: + err = c.Get(tc.endpoint, nil) + case http.MethodPost: + switch tc.contentType { + case "application/json": + err = c.PostJSON(tc.endpoint, tc.json(), nil) + default: + err = c.PostForm(tc.endpoint, tc.body(), nil) + } + } + assertResponseError(t, err, tc.code, tc.expectErr) + } + } + + t.Run(tc.name, f(tc)) + + if strings.HasPrefix(tc.endpoint, "/api/v1") { + tc.endpoint = strings.TrimPrefix(tc.endpoint, "/api/v1") + t.Run(tc.name, f(tc)) + } + } + + // Confirms that no new wallet is created + // WALLET_DIR environment variable is set in ci-script/integration-test-disable-wallet-api.sh + walletDir := os.Getenv("WALLET_DIR") + if walletDir == "" { + t.Fatal("WALLET_DIR is not set") + } + + // Confirms that the wallet directory does not exist + _, err := os.Stat(walletDir) + require.True(t, os.IsNotExist(err)) +} + +func checkHealthResponse(t *testing.T, r *api.HealthResponse) { + require.NotEmpty(t, r.BlockchainMetadata.Unspents) + require.NotEmpty(t, r.BlockchainMetadata.Head.BkSeq) + require.NotEmpty(t, r.BlockchainMetadata.Head.Time) + require.NotEmpty(t, r.Version.Version) + require.True(t, r.Uptime.Duration > time.Duration(0)) +} + +func TestStableHealth(t *testing.T) { + if !doStable(t) { + return + } + + c := api.NewClient(nodeAddress()) + + r, err := c.Health() + require.NoError(t, err) + + checkHealthResponse(t, r) + + require.Equal(t, 0, r.OpenConnections) + + require.True(t, r.BlockchainMetadata.TimeSinceLastBlock.Duration > time.Duration(0)) + + // The stable node is always run with the commit and branch ldflags, so they should appear + require.NotEmpty(t, r.Version.Commit) + require.NotEmpty(t, r.Version.Branch) +} + +func TestLiveHealth(t *testing.T) { + if !doLive(t) { + return + } + + c := api.NewClient(nodeAddress()) + + r, err := c.Health() + require.NoError(t, err) + + checkHealthResponse(t, r) + + require.NotEqual(t, 0, r.OpenConnections) + + // The TimeSinceLastBlock can be any value, including negative values, due to clock skew + // The live node is not necessarily run with the commit and branch ldflags, so don't check them +} + +func TestDisableGUIAPI(t *testing.T) { + if !doDisableGUI(t) { + return + } + + c := api.NewClient(nodeAddress()) + err := c.Get("/", nil) + assertResponseError(t, err, http.StatusNotFound, "404 Not Found\n") +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-2RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-2RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D.golden new file mode 100755 index 0000000..fe51488 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-2RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D.golden @@ -0,0 +1 @@ +[] diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-2b8ourW8fbTkC1yQBSLseVt6srhXvNMHvn9.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-2b8ourW8fbTkC1yQBSLseVt6srhXvNMHvn9.golden new file mode 100755 index 0000000..fe51488 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-2b8ourW8fbTkC1yQBSLseVt6srhXvNMHvn9.golden @@ -0,0 +1 @@ +[] diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od.golden new file mode 100755 index 0000000..f563060 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od.golden @@ -0,0 +1,631 @@ +[ + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 180, + "block_seq": 1, + "unknown": false + }, + "length": 3846, + "type": 0, + "txid": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "inner_hash": "0f7019627886818d2501af189bbac18e21b8e959891c5b2726f89e29355aa10a", + "timestamp": 1427926392, + "fee": 100037880222122, + "sigs": [ + "be602113fe288f750001ab65f254ceedd8b05b1becc456a0a52a0bea10b8280e38d950933992ad3265e1f81d197036fa634b316f08b3b319ffce081aa43f3bb600" + ], + "inputs": [ + { + "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", + "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "100000000.000000", + "hours": 100000000000000, + "calculated_hours": 100037880222222 + } + ], + "outputs": [ + { + "uxid": "e3e72ee077c8b0c3f87da7cf50cad8876bd3f489f373d9fe82fc2e971df56f76", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "26f585cb96f35307f0af5b9aee004a29b7795695f4c5c836104e2fbbf429a3ce", + "dst": "2EYM4WFHe4Dgz6kjAdUkM6Etep7ruz2ia6h", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "18a43b8b69bbf12a9e49e6f9783ba258397e6567301aeed9e901a1e4fed9fef9", + "dst": "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5a69ef09b5de21b117cac62141a8de4eade7558c42f0ba8b50996f5ec7867c5d", + "dst": "ix44h3cojvN6nqGcdpy62X7Rw6Ahnr3Thk", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "aef761a12e3d0fa9c4a8db62b8bab1015c32931b7e3a7fc9a77282cec218f79d", + "dst": "AYV8KEBEAPCg8a59cHgqHMqYHP9nVgQDyW", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "445a4082da251fa161e4705d115fe2018ca15a5f92e8a0950793405410e6be12", + "dst": "2Nu5Jv5Wp3RYGJU1EkjWFFHnebxMx1GjfkF", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5e35182bc9372d898df106bb2e7b3dfe33d28e59082f5d19d4a84ac0012d1291", + "dst": "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "368a609ee90ca15bbbd297af07dc6705131764476d54bef641017ffcd0885e65", + "dst": "tWZ11Nvor9parjg4FkwxNVcby59WVTw2iL", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "13afe1586015c4d7312f89d123153279e4961eb0d53a4d036847d5d989ba90dc", + "dst": "m2joQiJRZnj3jN6NsoKNxaxzUTijkdRoSR", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f625cf04412199c16e073dbb500e66c23cfe69043578b4a2d879a329aac563ec", + "dst": "8yf8PAQqU2cDj8Yzgz3LgBEyDqjvCh2xR7", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b2da50a08756c34d059a04812451cf3296f73ba87f8cca38473ac8f051ab6d1e", + "dst": "sgB3n11ZPUYHToju6TWMpUZTUcKvQnoFMJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "135c28698e80e3b2a737d59c16c79684c3fb3ec5cec59f466a39f4ac3c73968e", + "dst": "2UYPbDBnHUEc67e7qD4eXtQQ6zfU2cyvAvk", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "df63056cf3ae21efa86d241876ad0194387317585dc9e4fcd80954b47d59b57a", + "dst": "wybwGC9rhm8ZssBuzpy5goXrAdE31MPdsj", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4628f4cfdbf1eb7cccc25d461c46cc29e90cffb5d6277e0de641f7701d60c308", + "dst": "JbM25o7kY7hqJZt3WGYu9pHZFCpA9TCR6t", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "47e4706dc4d80a70b20c889476fb0627ca6d5bdaa790f4ceba44a689d31b2dcc", + "dst": "2efrft5Lnwjtk7F1p9d7BnPd72zko2hQWNi", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b64bc50d370a06df117eb543ca051239c985cfc4b6aa527c51b700de32c7fc41", + "dst": "Syzmb3MiMoiNVpqFdQ38hWgffHg86D2J4e", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "390bc4c045fa9f289957b7eca529bfadac96a7dd074bcfbdd3b09e99413b8202", + "dst": "2g3GUmTQooLrNHaRDhKtLU8rWLz36Beow7F", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6aa162f7fc09598c4dc8f5fab7fb2383f28c3840937a001acd9f37136e1691b2", + "dst": "D3phtGr9iv6238b3zYXq6VgwrzwvfRzWZQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "e440cf4c896735d3299a871f988c134f404fb2065d1f20c87c9c9bc5fa582e09", + "dst": "gpqsFSuMCZmsjPc6Rtgy1FmLx424tH86My", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "eea791e84a53e4d99485519c5d2c3146b0a2ad080cf92904ae7b28c2d9a6e3ca", + "dst": "2EUF3GPEUmfocnUc1w6YPtqXVCy3UZA4rAq", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "01048ad6a538256d9a8c6c9c6321ca1a01b31cbf08e74fd4ff0f141bf97eb8ce", + "dst": "TtAaxB3qGz5zEAhhiGkBY9VPV7cekhvRYS", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "bc5f1f1ddc8cb23df3d42f1e5a1dda9d356846fe930ae4484bc1eeb1b3b2c95b", + "dst": "2fM5gVpi7XaiMPm4i29zddTNkmrKe6TzhVZ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f03087245a6b64bb69cd5866a1887ae595a9e1a86e196754984840eaf6d3eb9c", + "dst": "ix3NDKgxfYYANKAb5kbmwBYXPrkAsha7uG", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "239bdba27dabd52f7450f7d8521c9a7e5ac74093ae3f6f2348bf40ac9a6db7a5", + "dst": "2RkPshpFFrkuaP98GprLtgHFTGvPY5e6wCK", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d60879e562b65f97d40bec7309d4490ba0a8c80e2349ecb2e3505aaa50ea1e47", + "dst": "Ak1qCDNudRxZVvcW6YDAdD9jpYNNStAVqm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "66e685901492c94942522c346759c711ee2e78a059ef274e77a6ab433409683c", + "dst": "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b497992663f99f9902deaaf487b00655820003015ea92091628f4a6e8aeb5854", + "dst": "KPfqM6S96WtRLMuSy4XLfVwymVqivdcDoM", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "bc40377012004566712fa860e74db97305091cc163e95435e04556c70d32f9c5", + "dst": "5B98bU1nsedGJBdRD5wLtq7Z8t8ZXio8u5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "73304622e33994bc2d4ade2cab78d28e1b65185e60ad3c781ecfb5cbc8159136", + "dst": "2iZWk5tmBynWxj2PpAFyiZzEws9qSnG3a6n", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fed15e8506d0e0898510311850b8863ef6d9a499215ae8823a1e3fb9c8140ab2", + "dst": "XUGdPaVnMh7jtzPe3zkrf9FKh5nztFnQU5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "12034bc455d0821813d7eb9afed1ed1a8f19b6f29826ef4a057b4aa0b4228817", + "dst": "hSNgHgewJme8uaHrEuKubHYtYSDckD6hpf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fc444cdb2598f44209a41ea20afdc9065ebe51b7cd5f65bb1c0f7a7b427ce7b1", + "dst": "2DeK765jLgnMweYrMp1NaYHfzxumfR1PaQN", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "618d242d95d33e2d7316612a164d89859b85f1287f0d5bed4dcb561cf478f706", + "dst": "orrAssY5V2HuQAbW9K6WktFrGieq2m23pr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "07f70fd4108ef4d2fde3b85411728c1f7bd3a135d2062c5a30a46cc885463780", + "dst": "4Ebf4PkG9QEnQTm4MVvaZvJV6Y9av3jhgb", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "af9bcf6ba63a08e699bc101aa362f135343aaf78a56e9f88d118fca0e1ce5c08", + "dst": "7Uf5xJ3GkiEKaLxC2WmJ1t6SeekJeBdJfu", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6b3530bb930ed10bbc4c307663aba4377c08443498a0a2cf023b1be72f378ae1", + "dst": "oz4ytDKbCqpgjW3LPc52pW2CaK2gxCcWmL", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fd6da5199e528958e68ee8dd003b727d4d840754ea7c1e0c05e4f0e504c9b2cd", + "dst": "2ex5Z7TufQ5Z8xv5mXe53fSQRfUr35SSo7Q", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "131f07f5b40f365fb537b863e4aa5ef0efcd77b7fa2ff321d90eeb743ac43678", + "dst": "WV2ap7ZubTxeDdmEZ1Xo7ufGMkekLWikJu", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "ffbdfdbf3427d04f445c33e867845bec1ee64a9dfe0d0fa8284547c2226fdfa9", + "dst": "ckCTV4r1pNuz6j2VBRHhaJN9HsCLY7muLV", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8b53c7188ebf4d630790ff63275679ba48009e31af6e4fe15806619216caa750", + "dst": "MXJx96ZJVSjktgeYZpVK8vn1H3xWP8ooq5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b4c6639b49402c2753f83c7fb7d3ffa65da74e47fef2b781933ff55b14d09bcd", + "dst": "wyQVmno9aBJZmQ99nDSLoYWwp7YDJCWsrH", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0c956289db079c00d2f80c590d3c8ca26c37da534fe5f65e799b3982ceca493c", + "dst": "2cc9wKxCsFNRkoAQDAoHke3ZoyL1mSV14cj", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "550d2a8d3047cdae0c05a61cc3de43e758b123a6955fa067d3ac375f7d0dbadc", + "dst": "29k9g3F5AYfVaa1joE1PpZjBED6hQXes8Mm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "78740d5bf49989936d315bf641949232aace582e03de57db8abff940f7d51bd1", + "dst": "2XPLzz4ZLf1A9ykyTCjW5gEmVjnWa8CuatH", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9f2c83c5165826de1077f428ad39d41473e32ed64cd83180d49e7d8e5db996d0", + "dst": "iH7DqqojTgUn2JxmY9hgFp165Nk7wKfan9", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "883be4d7173c235933294ab8dcae8cc76609166eaa1c1f07e9b51d551c979709", + "dst": "RJzzwUs3c9C8Y7NFYzNfFoqiUKeBhBfPki", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6384ed19650d384c29db4c3a39a1ca855058fab758075be2dee759dd9e6faae1", + "dst": "2W2cGyiCRM4nwmmiGPgMuGaPGeBzEm7VZPn", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "25e22bb83c51f766571cf92ec7303071c9f25e3a34366f4679a22519e6ec368b", + "dst": "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0c238e82f3a4beee1be7b5b464e8553404f6927d5ab93c3d649d362c01097782", + "dst": "tBaeg9zE2sgmw5ZQENaPPYd6jfwpVpGTzS", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "dad4991bfa5c51eb176f28c1b3f86661e02579905e6e07c997df22004e06244a", + "dst": "2hdTw5Hk3rsgpZjvk8TyKcCZoRVXU5QVrUt", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4ba91512c168281f41d3934b927d0d86a3136a31cc345b635095928f8e5f013c", + "dst": "A1QU6jKq8YgTP79M8fwZNHUZc7hConFKmy", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c416f5e604eeada9ae8e520a429d8f19d4230626769e7121007e01353730784f", + "dst": "q9RkXoty3X1fuaypDDRUi78rWgJWYJMmpJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "7b8787fd4076c27d074d2a4761377a1aa26c843c432e3b7e6b0ebf1e29528188", + "dst": "2Xvm6is5cAPA85xnSYXDuAqiRyoXiky5RaD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "38f22b194f04d85a6b545b37df06195edeb8503798b229ddeaa946018150c05c", + "dst": "4CW2CPJEzxhn2PS4JoSLoWGL5QQ7dL2eji", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "246377a036ad5444bcd5f47ac9e55fec7c85fc40644df593038d360554a809f7", + "dst": "24EG6uTzL7DHNzcwsygYGRR1nfu5kco7AZ1", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c6d5e543ff5f2c2526728d588fb21753db5b7e05b8b275aa5e9b24d29350afb0", + "dst": "KghGnWw5fppTrqHSERXZf61yf7GkuQdCnV", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "98e223e6e2240fef83082d3daa86e46f10e0c71f3f74489ba95db0951a166f53", + "dst": "2WojewRA3LbpyXTP9ANy8CZqJMgmyNm3MDr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c8971ca91f8e21c556f647940073db003f7dd5582ae55d4ebca602d5e8e91a6e", + "dst": "2BsMfywmGV3M2CoDA112Rs7ZBkiMHfy9X11", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "dfa7822c05f54116c9fc3b2cde1ecb4667f47a2d8771fe886e832c223cdc4e82", + "dst": "kK1Q4gPyYfVVMzQtAPRzL8qXMqJ67Y7tKs", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6d37c0c4b6fcbac1e53a46c9c2dc5d3c3b36312c53f25b2baacc785ea77a11f7", + "dst": "28J4mx8xfUtM92DbQ6i2Jmqw5J7dNivfroN", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9ba5e31610f0545666f102465efa8caa48ad3fb5b8abd5ae802f4a71e3f7de3b", + "dst": "gQvgyG1djgtftoCVrSZmsRxr7okD4LheKw", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "3ca365aace71e24b04d6f2ffbf7171468c5e71783858c710cae539c5e43e0c0e", + "dst": "3iFGBKapAWWzbiGFSr5ScbhrEPm6Esyvia", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c858f2db2a20ac562d32f8fb2a3a11039849a6e44d2bec30befb2e173532a9a3", + "dst": "NFW2akQH2vu7AqkQXxFz2P5vkXTWkSqrSm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "1550a76598693b950346397e0e825bbb2805edde38b0d0240e50050829b7b1dd", + "dst": "2MQJjLnWRp9eHh6MpCwpiUeshhtmri12mci", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "466340ab7733abb23ab24d877c673fe089c273f11808fbbd6f33a91da92ee96c", + "dst": "2QjRQUMyL6iodtHP9zKmxCNYZ7k3jxtk49C", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "401d4c0c1060ebbb4b9fb3859c2eb47789f94086f4deb01234bf46f7cdc81247", + "dst": "USdfKy7B6oFNoauHWMmoCA7ND9rHqYw2Mf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "2c0e3aa084f5fec45f99b3f125ce7d50c6da526ef5165df5f22ba603147c3fc2", + "dst": "cA49et9WtptYHf6wA1F8qqVgH3kS5jJ9vK", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d2e724d83e35235c23c0bb16ae9b708a5bba3c23b186b05d4b8c606f6bb4b311", + "dst": "qaJT9TjcMi46sTKcgwRQU8o5Lw2Ea1gC4N", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4f30eae8c49eb268fe364eaf5ee0788da6e2f6adc2f83cd82e96a4bfe98496f5", + "dst": "22pyn5RyhqtTQu4obYjuWYRNNw4i54L8xVr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8753d5775c22477a8ef74eeebf61d7de30be702e70118f552cc18ad963ffe950", + "dst": "22dkmukC6iH4FFLBmHne6modJZZQ3MC9BAT", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "efa2007c561dcbf7c83a6bbdd2ef75e7cca76b05330a8b948ba0dd94dee949f7", + "dst": "z6CJZfYLvmd41GRVE8HASjRcy5hqbpHZvE", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8b379d1b8ff0153c63ee69c40a7155b97fa42ab570f68ff847d457316c4d8ab9", + "dst": "GEBWJ2KpRQDBTCCtvnaAJV2cYurgXS8pta", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cc84f93adce16699d9e84ef32f55333402431b58dc50c17084bcb8b33f382f88", + "dst": "oS8fbEm82cprmAeineBeDkaKd7QownDZQh", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f38f0760769c19075034f70b059abf4d1bfa6d01e1e8c369a99900ed1eaeca6d", + "dst": "rQpAs1LVQdphyj9ipEAuukAoj9kNpSP8cM", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8d55f76bb0b3dd222cf85a7193501c0f4071b446f56dbd1da355b1625993325a", + "dst": "6NSJKsPxmqipGAfFFhUKbkopjrvEESTX3j", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "efde499c7e4444bc602b7bf5ed50e95a18ce8ec9a06ba9d850a05bb7a25ecb3a", + "dst": "cuC68ycVXmD2EBzYFNYQ6akhKGrh3FGjSf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "2a4d631d5dc90e397d85f13410d1a6d877dcaf592a0e2be2e727443ac74b5bd5", + "dst": "bw4wtYU8toepomrhWP2p8UFYfHBbvEV425", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "e936299a21240744f6edbab493449323f920bbe15dcf294463e5a2ace10f27b0", + "dst": "HvgNmDz5jD39Gwmi9VfDY1iYMhZUpZ8GKz", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "44e17f4bd29411a1614457171c06183e364bf6ff80a201717b2dfc0748e9ebe3", + "dst": "SbApuZAYquWP3Q6iD51BcMBQjuApYEkRVf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "1941e5cc5e38dd92427580af699b1f410be7b29ff17d3d0ff3d046bfba0aaabf", + "dst": "2Ugii5yxJgLzC59jV1vF8GK7UBZdvxwobeJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "ff6c0f27fcf92f3b4a3871b801c3116847fe47a7e3bafcadd4855d06012091ad", + "dst": "21N2iJ1qnQRiJWcEqNRxXwfNp8QcmiyhtPy", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cd6c4b785e60757fad0e6fd4874b729ea7703fe7ee9560e1283d2eb71fc75321", + "dst": "9TC4RGs6AtFUsbcVWnSoCdoCpSfM66ALAc", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "745eaff456a390c3868742a039e72c2a93ff8eee10417dbe848d533b89facc04", + "dst": "oQzn55UWG4iMcY9bTNb27aTnRdfiGHAwbD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d2f3f050c9ef31bf5c3b14c1c71699c4f4b38aa18479531194d12e6277416516", + "dst": "2GCdwsRpQhcf8SQcynFrMVDM26Bbj6sgv9M", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0b95850edabed70762768ac1695c5d7f230cccaa8de06657cda42cafba36374f", + "dst": "2NRFe7REtSmaM2qAgZeG45hC8EtVGV2QjeB", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "7c767d3a06db1ac0e1809ebe29a7d9689143259f4651837de54423e287c20490", + "dst": "25RGnhN7VojHUTvQBJA9nBT5y1qTQGULMzR", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "78b07e8fe1366e173f2eeb75c35cd53baf0f6100de50ae12b4ffe7d0d7ba4298", + "dst": "26uCBDfF8E2PJU2Dzz2ysgKwv9m4BhodTz9", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5010eb25f6e1ed725fb901ae1e945e545ae846d7be8a135333d2d41102c33328", + "dst": "Wkvima5cF7DDFdmJQqcdq8Syaq9DuAJJRD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "178a33e64826cd2039b8538b74e6de513966acab45ab79d77dc9392018a65ffb", + "dst": "286hSoJYxvENFSHwG51ZbmKaochLJyq4ERQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "044dc539d063250dc654b2bf0986a9044b4eea05e1284c11a2b313acd8dc3498", + "dst": "FEGxF3HPoM2HCWHn82tyeh9o7vEQq5ySGE", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9fd5ea38f383291566def44b6fb932414f97123952578fe0cfb9a30eb075a099", + "dst": "h38DxNxGhWGTq9p5tJnN5r4Fwnn85Krrb6", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "be5930e9cc35801433bcd21db84da7d4f1d8e744feca16a2c6fb00c81ce93e51", + "dst": "2c1UU8J6Y3kL4cmQh21Tj8wkzidCiZxwdwd", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8cd999cd193d315e5f1c6f74c230c12e6abe6847924f6e89d988e09ca413f52e", + "dst": "2bJ32KuGmjmwKyAtzWdLFpXNM6t83CCPLq5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0cff53628eb0e984c134b68cbe4b1bb7721a05adaa32e93b9df489a9a7a176cf", + "dst": "2fi8oLC9zfVVGnzzQtu3Y3rffS65Hiz6QHo", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "a5ef046e84be9ff2485dde49afe6073811286761afac3bbd588b6e4130930479", + "dst": "TKD93RxFr2Am44TntLiJQus4qcEwTtvEEQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cdee5f84c4f08098ac740e3a260ced14c1e199e126aa5291ec079b281a7dc407", + "dst": "zMDywYdGEDtTSvWnCyc3qsYHWwj9ogws74", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6a24135f8496e7a37dcf7164218bb3aa530319f3b2bf3c7a1a9cc1bd17831328", + "dst": "25NbotTka7TwtbXUpSCQD8RMgHKspyDubXJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "693c7f970b34ce5882e62430f4c9c28957159a257d27d4e21a61fd95c6b97464", + "dst": "2ayCELBERubQWH5QxUr3cTxrYpidvUAzsSw", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c008a613cef129c180dbcc7213f2d41a14d245d06a3844d63d9beac963145385", + "dst": "RMTCwLiYDKEAiJu5ekHL1NQ8UKHi5ozCPg", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "439cdfd03972fb4bb5da54208cf8098ee78228c487ce9e84623f5f83e17a7d68", + "dst": "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm", + "coins": "1000000.000000", + "hours": 1 + } + ] + } +] diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ.golden new file mode 100755 index 0000000..ff5a323 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/address-transactions-R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ.golden @@ -0,0 +1,6892 @@ +[ + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46450, + "block_seq": 1, + "unknown": false + }, + "length": 3846, + "type": 0, + "txid": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "inner_hash": "0f7019627886818d2501af189bbac18e21b8e959891c5b2726f89e29355aa10a", + "timestamp": 1427926392, + "fee": 100037880222122, + "sigs": [ + "be602113fe288f750001ab65f254ceedd8b05b1becc456a0a52a0bea10b8280e38d950933992ad3265e1f81d197036fa634b316f08b3b319ffce081aa43f3bb600" + ], + "inputs": [ + { + "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", + "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "100000000.000000", + "hours": 100000000000000, + "calculated_hours": 100037880222222 + } + ], + "outputs": [ + { + "uxid": "e3e72ee077c8b0c3f87da7cf50cad8876bd3f489f373d9fe82fc2e971df56f76", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "26f585cb96f35307f0af5b9aee004a29b7795695f4c5c836104e2fbbf429a3ce", + "dst": "2EYM4WFHe4Dgz6kjAdUkM6Etep7ruz2ia6h", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "18a43b8b69bbf12a9e49e6f9783ba258397e6567301aeed9e901a1e4fed9fef9", + "dst": "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5a69ef09b5de21b117cac62141a8de4eade7558c42f0ba8b50996f5ec7867c5d", + "dst": "ix44h3cojvN6nqGcdpy62X7Rw6Ahnr3Thk", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "aef761a12e3d0fa9c4a8db62b8bab1015c32931b7e3a7fc9a77282cec218f79d", + "dst": "AYV8KEBEAPCg8a59cHgqHMqYHP9nVgQDyW", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "445a4082da251fa161e4705d115fe2018ca15a5f92e8a0950793405410e6be12", + "dst": "2Nu5Jv5Wp3RYGJU1EkjWFFHnebxMx1GjfkF", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5e35182bc9372d898df106bb2e7b3dfe33d28e59082f5d19d4a84ac0012d1291", + "dst": "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "368a609ee90ca15bbbd297af07dc6705131764476d54bef641017ffcd0885e65", + "dst": "tWZ11Nvor9parjg4FkwxNVcby59WVTw2iL", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "13afe1586015c4d7312f89d123153279e4961eb0d53a4d036847d5d989ba90dc", + "dst": "m2joQiJRZnj3jN6NsoKNxaxzUTijkdRoSR", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f625cf04412199c16e073dbb500e66c23cfe69043578b4a2d879a329aac563ec", + "dst": "8yf8PAQqU2cDj8Yzgz3LgBEyDqjvCh2xR7", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b2da50a08756c34d059a04812451cf3296f73ba87f8cca38473ac8f051ab6d1e", + "dst": "sgB3n11ZPUYHToju6TWMpUZTUcKvQnoFMJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "135c28698e80e3b2a737d59c16c79684c3fb3ec5cec59f466a39f4ac3c73968e", + "dst": "2UYPbDBnHUEc67e7qD4eXtQQ6zfU2cyvAvk", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "df63056cf3ae21efa86d241876ad0194387317585dc9e4fcd80954b47d59b57a", + "dst": "wybwGC9rhm8ZssBuzpy5goXrAdE31MPdsj", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4628f4cfdbf1eb7cccc25d461c46cc29e90cffb5d6277e0de641f7701d60c308", + "dst": "JbM25o7kY7hqJZt3WGYu9pHZFCpA9TCR6t", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "47e4706dc4d80a70b20c889476fb0627ca6d5bdaa790f4ceba44a689d31b2dcc", + "dst": "2efrft5Lnwjtk7F1p9d7BnPd72zko2hQWNi", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b64bc50d370a06df117eb543ca051239c985cfc4b6aa527c51b700de32c7fc41", + "dst": "Syzmb3MiMoiNVpqFdQ38hWgffHg86D2J4e", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "390bc4c045fa9f289957b7eca529bfadac96a7dd074bcfbdd3b09e99413b8202", + "dst": "2g3GUmTQooLrNHaRDhKtLU8rWLz36Beow7F", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6aa162f7fc09598c4dc8f5fab7fb2383f28c3840937a001acd9f37136e1691b2", + "dst": "D3phtGr9iv6238b3zYXq6VgwrzwvfRzWZQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "e440cf4c896735d3299a871f988c134f404fb2065d1f20c87c9c9bc5fa582e09", + "dst": "gpqsFSuMCZmsjPc6Rtgy1FmLx424tH86My", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "eea791e84a53e4d99485519c5d2c3146b0a2ad080cf92904ae7b28c2d9a6e3ca", + "dst": "2EUF3GPEUmfocnUc1w6YPtqXVCy3UZA4rAq", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "01048ad6a538256d9a8c6c9c6321ca1a01b31cbf08e74fd4ff0f141bf97eb8ce", + "dst": "TtAaxB3qGz5zEAhhiGkBY9VPV7cekhvRYS", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "bc5f1f1ddc8cb23df3d42f1e5a1dda9d356846fe930ae4484bc1eeb1b3b2c95b", + "dst": "2fM5gVpi7XaiMPm4i29zddTNkmrKe6TzhVZ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f03087245a6b64bb69cd5866a1887ae595a9e1a86e196754984840eaf6d3eb9c", + "dst": "ix3NDKgxfYYANKAb5kbmwBYXPrkAsha7uG", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "239bdba27dabd52f7450f7d8521c9a7e5ac74093ae3f6f2348bf40ac9a6db7a5", + "dst": "2RkPshpFFrkuaP98GprLtgHFTGvPY5e6wCK", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d60879e562b65f97d40bec7309d4490ba0a8c80e2349ecb2e3505aaa50ea1e47", + "dst": "Ak1qCDNudRxZVvcW6YDAdD9jpYNNStAVqm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "66e685901492c94942522c346759c711ee2e78a059ef274e77a6ab433409683c", + "dst": "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b497992663f99f9902deaaf487b00655820003015ea92091628f4a6e8aeb5854", + "dst": "KPfqM6S96WtRLMuSy4XLfVwymVqivdcDoM", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "bc40377012004566712fa860e74db97305091cc163e95435e04556c70d32f9c5", + "dst": "5B98bU1nsedGJBdRD5wLtq7Z8t8ZXio8u5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "73304622e33994bc2d4ade2cab78d28e1b65185e60ad3c781ecfb5cbc8159136", + "dst": "2iZWk5tmBynWxj2PpAFyiZzEws9qSnG3a6n", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fed15e8506d0e0898510311850b8863ef6d9a499215ae8823a1e3fb9c8140ab2", + "dst": "XUGdPaVnMh7jtzPe3zkrf9FKh5nztFnQU5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "12034bc455d0821813d7eb9afed1ed1a8f19b6f29826ef4a057b4aa0b4228817", + "dst": "hSNgHgewJme8uaHrEuKubHYtYSDckD6hpf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fc444cdb2598f44209a41ea20afdc9065ebe51b7cd5f65bb1c0f7a7b427ce7b1", + "dst": "2DeK765jLgnMweYrMp1NaYHfzxumfR1PaQN", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "618d242d95d33e2d7316612a164d89859b85f1287f0d5bed4dcb561cf478f706", + "dst": "orrAssY5V2HuQAbW9K6WktFrGieq2m23pr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "07f70fd4108ef4d2fde3b85411728c1f7bd3a135d2062c5a30a46cc885463780", + "dst": "4Ebf4PkG9QEnQTm4MVvaZvJV6Y9av3jhgb", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "af9bcf6ba63a08e699bc101aa362f135343aaf78a56e9f88d118fca0e1ce5c08", + "dst": "7Uf5xJ3GkiEKaLxC2WmJ1t6SeekJeBdJfu", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6b3530bb930ed10bbc4c307663aba4377c08443498a0a2cf023b1be72f378ae1", + "dst": "oz4ytDKbCqpgjW3LPc52pW2CaK2gxCcWmL", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fd6da5199e528958e68ee8dd003b727d4d840754ea7c1e0c05e4f0e504c9b2cd", + "dst": "2ex5Z7TufQ5Z8xv5mXe53fSQRfUr35SSo7Q", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "131f07f5b40f365fb537b863e4aa5ef0efcd77b7fa2ff321d90eeb743ac43678", + "dst": "WV2ap7ZubTxeDdmEZ1Xo7ufGMkekLWikJu", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "ffbdfdbf3427d04f445c33e867845bec1ee64a9dfe0d0fa8284547c2226fdfa9", + "dst": "ckCTV4r1pNuz6j2VBRHhaJN9HsCLY7muLV", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8b53c7188ebf4d630790ff63275679ba48009e31af6e4fe15806619216caa750", + "dst": "MXJx96ZJVSjktgeYZpVK8vn1H3xWP8ooq5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b4c6639b49402c2753f83c7fb7d3ffa65da74e47fef2b781933ff55b14d09bcd", + "dst": "wyQVmno9aBJZmQ99nDSLoYWwp7YDJCWsrH", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0c956289db079c00d2f80c590d3c8ca26c37da534fe5f65e799b3982ceca493c", + "dst": "2cc9wKxCsFNRkoAQDAoHke3ZoyL1mSV14cj", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "550d2a8d3047cdae0c05a61cc3de43e758b123a6955fa067d3ac375f7d0dbadc", + "dst": "29k9g3F5AYfVaa1joE1PpZjBED6hQXes8Mm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "78740d5bf49989936d315bf641949232aace582e03de57db8abff940f7d51bd1", + "dst": "2XPLzz4ZLf1A9ykyTCjW5gEmVjnWa8CuatH", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9f2c83c5165826de1077f428ad39d41473e32ed64cd83180d49e7d8e5db996d0", + "dst": "iH7DqqojTgUn2JxmY9hgFp165Nk7wKfan9", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "883be4d7173c235933294ab8dcae8cc76609166eaa1c1f07e9b51d551c979709", + "dst": "RJzzwUs3c9C8Y7NFYzNfFoqiUKeBhBfPki", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6384ed19650d384c29db4c3a39a1ca855058fab758075be2dee759dd9e6faae1", + "dst": "2W2cGyiCRM4nwmmiGPgMuGaPGeBzEm7VZPn", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "25e22bb83c51f766571cf92ec7303071c9f25e3a34366f4679a22519e6ec368b", + "dst": "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0c238e82f3a4beee1be7b5b464e8553404f6927d5ab93c3d649d362c01097782", + "dst": "tBaeg9zE2sgmw5ZQENaPPYd6jfwpVpGTzS", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "dad4991bfa5c51eb176f28c1b3f86661e02579905e6e07c997df22004e06244a", + "dst": "2hdTw5Hk3rsgpZjvk8TyKcCZoRVXU5QVrUt", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4ba91512c168281f41d3934b927d0d86a3136a31cc345b635095928f8e5f013c", + "dst": "A1QU6jKq8YgTP79M8fwZNHUZc7hConFKmy", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c416f5e604eeada9ae8e520a429d8f19d4230626769e7121007e01353730784f", + "dst": "q9RkXoty3X1fuaypDDRUi78rWgJWYJMmpJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "7b8787fd4076c27d074d2a4761377a1aa26c843c432e3b7e6b0ebf1e29528188", + "dst": "2Xvm6is5cAPA85xnSYXDuAqiRyoXiky5RaD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "38f22b194f04d85a6b545b37df06195edeb8503798b229ddeaa946018150c05c", + "dst": "4CW2CPJEzxhn2PS4JoSLoWGL5QQ7dL2eji", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "246377a036ad5444bcd5f47ac9e55fec7c85fc40644df593038d360554a809f7", + "dst": "24EG6uTzL7DHNzcwsygYGRR1nfu5kco7AZ1", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c6d5e543ff5f2c2526728d588fb21753db5b7e05b8b275aa5e9b24d29350afb0", + "dst": "KghGnWw5fppTrqHSERXZf61yf7GkuQdCnV", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "98e223e6e2240fef83082d3daa86e46f10e0c71f3f74489ba95db0951a166f53", + "dst": "2WojewRA3LbpyXTP9ANy8CZqJMgmyNm3MDr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c8971ca91f8e21c556f647940073db003f7dd5582ae55d4ebca602d5e8e91a6e", + "dst": "2BsMfywmGV3M2CoDA112Rs7ZBkiMHfy9X11", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "dfa7822c05f54116c9fc3b2cde1ecb4667f47a2d8771fe886e832c223cdc4e82", + "dst": "kK1Q4gPyYfVVMzQtAPRzL8qXMqJ67Y7tKs", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6d37c0c4b6fcbac1e53a46c9c2dc5d3c3b36312c53f25b2baacc785ea77a11f7", + "dst": "28J4mx8xfUtM92DbQ6i2Jmqw5J7dNivfroN", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9ba5e31610f0545666f102465efa8caa48ad3fb5b8abd5ae802f4a71e3f7de3b", + "dst": "gQvgyG1djgtftoCVrSZmsRxr7okD4LheKw", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "3ca365aace71e24b04d6f2ffbf7171468c5e71783858c710cae539c5e43e0c0e", + "dst": "3iFGBKapAWWzbiGFSr5ScbhrEPm6Esyvia", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c858f2db2a20ac562d32f8fb2a3a11039849a6e44d2bec30befb2e173532a9a3", + "dst": "NFW2akQH2vu7AqkQXxFz2P5vkXTWkSqrSm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "1550a76598693b950346397e0e825bbb2805edde38b0d0240e50050829b7b1dd", + "dst": "2MQJjLnWRp9eHh6MpCwpiUeshhtmri12mci", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "466340ab7733abb23ab24d877c673fe089c273f11808fbbd6f33a91da92ee96c", + "dst": "2QjRQUMyL6iodtHP9zKmxCNYZ7k3jxtk49C", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "401d4c0c1060ebbb4b9fb3859c2eb47789f94086f4deb01234bf46f7cdc81247", + "dst": "USdfKy7B6oFNoauHWMmoCA7ND9rHqYw2Mf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "2c0e3aa084f5fec45f99b3f125ce7d50c6da526ef5165df5f22ba603147c3fc2", + "dst": "cA49et9WtptYHf6wA1F8qqVgH3kS5jJ9vK", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d2e724d83e35235c23c0bb16ae9b708a5bba3c23b186b05d4b8c606f6bb4b311", + "dst": "qaJT9TjcMi46sTKcgwRQU8o5Lw2Ea1gC4N", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4f30eae8c49eb268fe364eaf5ee0788da6e2f6adc2f83cd82e96a4bfe98496f5", + "dst": "22pyn5RyhqtTQu4obYjuWYRNNw4i54L8xVr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8753d5775c22477a8ef74eeebf61d7de30be702e70118f552cc18ad963ffe950", + "dst": "22dkmukC6iH4FFLBmHne6modJZZQ3MC9BAT", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "efa2007c561dcbf7c83a6bbdd2ef75e7cca76b05330a8b948ba0dd94dee949f7", + "dst": "z6CJZfYLvmd41GRVE8HASjRcy5hqbpHZvE", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8b379d1b8ff0153c63ee69c40a7155b97fa42ab570f68ff847d457316c4d8ab9", + "dst": "GEBWJ2KpRQDBTCCtvnaAJV2cYurgXS8pta", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cc84f93adce16699d9e84ef32f55333402431b58dc50c17084bcb8b33f382f88", + "dst": "oS8fbEm82cprmAeineBeDkaKd7QownDZQh", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f38f0760769c19075034f70b059abf4d1bfa6d01e1e8c369a99900ed1eaeca6d", + "dst": "rQpAs1LVQdphyj9ipEAuukAoj9kNpSP8cM", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8d55f76bb0b3dd222cf85a7193501c0f4071b446f56dbd1da355b1625993325a", + "dst": "6NSJKsPxmqipGAfFFhUKbkopjrvEESTX3j", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "efde499c7e4444bc602b7bf5ed50e95a18ce8ec9a06ba9d850a05bb7a25ecb3a", + "dst": "cuC68ycVXmD2EBzYFNYQ6akhKGrh3FGjSf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "2a4d631d5dc90e397d85f13410d1a6d877dcaf592a0e2be2e727443ac74b5bd5", + "dst": "bw4wtYU8toepomrhWP2p8UFYfHBbvEV425", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "e936299a21240744f6edbab493449323f920bbe15dcf294463e5a2ace10f27b0", + "dst": "HvgNmDz5jD39Gwmi9VfDY1iYMhZUpZ8GKz", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "44e17f4bd29411a1614457171c06183e364bf6ff80a201717b2dfc0748e9ebe3", + "dst": "SbApuZAYquWP3Q6iD51BcMBQjuApYEkRVf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "1941e5cc5e38dd92427580af699b1f410be7b29ff17d3d0ff3d046bfba0aaabf", + "dst": "2Ugii5yxJgLzC59jV1vF8GK7UBZdvxwobeJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "ff6c0f27fcf92f3b4a3871b801c3116847fe47a7e3bafcadd4855d06012091ad", + "dst": "21N2iJ1qnQRiJWcEqNRxXwfNp8QcmiyhtPy", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cd6c4b785e60757fad0e6fd4874b729ea7703fe7ee9560e1283d2eb71fc75321", + "dst": "9TC4RGs6AtFUsbcVWnSoCdoCpSfM66ALAc", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "745eaff456a390c3868742a039e72c2a93ff8eee10417dbe848d533b89facc04", + "dst": "oQzn55UWG4iMcY9bTNb27aTnRdfiGHAwbD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d2f3f050c9ef31bf5c3b14c1c71699c4f4b38aa18479531194d12e6277416516", + "dst": "2GCdwsRpQhcf8SQcynFrMVDM26Bbj6sgv9M", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0b95850edabed70762768ac1695c5d7f230cccaa8de06657cda42cafba36374f", + "dst": "2NRFe7REtSmaM2qAgZeG45hC8EtVGV2QjeB", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "7c767d3a06db1ac0e1809ebe29a7d9689143259f4651837de54423e287c20490", + "dst": "25RGnhN7VojHUTvQBJA9nBT5y1qTQGULMzR", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "78b07e8fe1366e173f2eeb75c35cd53baf0f6100de50ae12b4ffe7d0d7ba4298", + "dst": "26uCBDfF8E2PJU2Dzz2ysgKwv9m4BhodTz9", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5010eb25f6e1ed725fb901ae1e945e545ae846d7be8a135333d2d41102c33328", + "dst": "Wkvima5cF7DDFdmJQqcdq8Syaq9DuAJJRD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "178a33e64826cd2039b8538b74e6de513966acab45ab79d77dc9392018a65ffb", + "dst": "286hSoJYxvENFSHwG51ZbmKaochLJyq4ERQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "044dc539d063250dc654b2bf0986a9044b4eea05e1284c11a2b313acd8dc3498", + "dst": "FEGxF3HPoM2HCWHn82tyeh9o7vEQq5ySGE", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9fd5ea38f383291566def44b6fb932414f97123952578fe0cfb9a30eb075a099", + "dst": "h38DxNxGhWGTq9p5tJnN5r4Fwnn85Krrb6", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "be5930e9cc35801433bcd21db84da7d4f1d8e744feca16a2c6fb00c81ce93e51", + "dst": "2c1UU8J6Y3kL4cmQh21Tj8wkzidCiZxwdwd", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8cd999cd193d315e5f1c6f74c230c12e6abe6847924f6e89d988e09ca413f52e", + "dst": "2bJ32KuGmjmwKyAtzWdLFpXNM6t83CCPLq5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0cff53628eb0e984c134b68cbe4b1bb7721a05adaa32e93b9df489a9a7a176cf", + "dst": "2fi8oLC9zfVVGnzzQtu3Y3rffS65Hiz6QHo", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "a5ef046e84be9ff2485dde49afe6073811286761afac3bbd588b6e4130930479", + "dst": "TKD93RxFr2Am44TntLiJQus4qcEwTtvEEQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cdee5f84c4f08098ac740e3a260ced14c1e199e126aa5291ec079b281a7dc407", + "dst": "zMDywYdGEDtTSvWnCyc3qsYHWwj9ogws74", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6a24135f8496e7a37dcf7164218bb3aa530319f3b2bf3c7a1a9cc1bd17831328", + "dst": "25NbotTka7TwtbXUpSCQD8RMgHKspyDubXJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "693c7f970b34ce5882e62430f4c9c28957159a257d27d4e21a61fd95c6b97464", + "dst": "2ayCELBERubQWH5QxUr3cTxrYpidvUAzsSw", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c008a613cef129c180dbcc7213f2d41a14d245d06a3844d63d9beac963145385", + "dst": "RMTCwLiYDKEAiJu5ekHL1NQ8UKHi5ozCPg", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "439cdfd03972fb4bb5da54208cf8098ee78228c487ce9e84623f5f83e17a7d68", + "dst": "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm", + "coins": "1000000.000000", + "hours": 1 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46449, + "block_seq": 2, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "312a269b8248e389c61571cc13f4ad13b7d53b64853d990ddc301a58e7071889", + "inner_hash": "4daff2831f5bc2877a98a49b0ef75f8ff01bcb35082fd4018c77707dfca31849", + "timestamp": 1427927651, + "fee": 349722, + "sigs": [ + "f4482e0781e0d94c8c4773940e1f811405681844a9dc3c1938243442e1cbd5463d5e251880abbf8ff1ed85b4b2659e83ee30f06cc4c5dc9913aa6a9630fbe3de01" + ], + "inputs": [ + { + "uxid": "e3e72ee077c8b0c3f87da7cf50cad8876bd3f489f373d9fe82fc2e971df56f76", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 349723 + } + ], + "outputs": [ + { + "uxid": "0cd548e03bd13bca8647cd13f6baef0c65fd03081aeb6dc3695536e5bc6018ae", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999990.000000", + "hours": 1 + }, + { + "uxid": "af0b2c1cc882a56b6c0c06e99e7d2731413b988329a2c47a5c2aa8be589b707a", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46448, + "block_seq": 3, + "unknown": false + }, + "length": 183, + "type": 0, + "txid": "a6a709e9388a4d67a47d262b11da5f804eddd9d67acc4a3e450f7a567bdc1619", + "inner_hash": "ea6adee3180c7f9d73d1e693822d5d1c2bba85067f89a873355bc771a078faa1", + "timestamp": 1427927671, + "fee": 0, + "sigs": [ + "ce8fd47e2044ed17998f92621e90329f673a746c802d67f639ca083705dd199f6ee346781497b44132434922879244d819694b5903093f784570c55d293ab4af01" + ], + "inputs": [ + { + "uxid": "af0b2c1cc882a56b6c0c06e99e7d2731413b988329a2c47a5c2aa8be589b707a", + "owner": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 0, + "calculated_hours": 0 + } + ], + "outputs": [ + { + "uxid": "9eb7954461ba0256c9054fe38c00c66e60428dccf900a62e74b9fe39310aea13", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46447, + "block_seq": 4, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "c24b92898381fbebe59a457924184f4cce1e7166e140ca75aea5baf854c1ab75", + "inner_hash": "43dd65d5644ec5214a901ac94e530cbedb83d2174cf402c7b24697cfe55e1de7", + "timestamp": 1428793611, + "fee": 240538336, + "sigs": [ + "434a7a0b624fda393c1caa57ac9787f69da3d8854d0ec6f69f0da1c96c9b683d787064b644e9ac3dd4dd8466c22c1547cff89c2552420f5efcfd1eacb1a2eac301" + ], + "inputs": [ + { + "uxid": "0cd548e03bd13bca8647cd13f6baef0c65fd03081aeb6dc3695536e5bc6018ae", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999990.000000", + "hours": 1, + "calculated_hours": 240542040 + } + ], + "outputs": [ + { + "uxid": "706f82c481906108880d79372ab5c126d32ecc98cf3f7c74cf33f5fda49dcf70", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999980.000000", + "hours": 3704 + }, + { + "uxid": "98b3e6e6d4ed36159b7dbf5f305174fc0c255d2d97528b35a67d50b9968e2b2f", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46446, + "block_seq": 5, + "unknown": false + }, + "length": 317, + "type": 0, + "txid": "0579e7727627cd9815a8a8b5e1df86124f45a4132cc0dbd00d2f110e4f409b69", + "inner_hash": "fe123ca954a82bb1ce2cc9ef9c56d6b649a4cbaf5b17394b0ffda651ed32327e", + "timestamp": 1428798821, + "fee": 1449243, + "sigs": [ + "056ed0f74367fb1370d7e98689953983d9cf34eb6669854f1645c8a16c93d85075661e7d4f6df0ce5ca8eb9852eff6a12fbac2caafee03bb8c616f847c61416800", + "8aaa7f320a7b01169d3217a600100cb27c55e4ce56cd3455814f56d8e4e65be746e0e20e776087af6f19361f0b898edc2123a5f9bd35d24ef8b8669ca85b142601" + ], + "inputs": [ + { + "uxid": "9eb7954461ba0256c9054fe38c00c66e60428dccf900a62e74b9fe39310aea13", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10.000000", + "hours": 0, + "calculated_hours": 2419 + }, + { + "uxid": "706f82c481906108880d79372ab5c126d32ecc98cf3f7c74cf33f5fda49dcf70", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999980.000000", + "hours": 3704, + "calculated_hours": 1450897 + } + ], + "outputs": [ + { + "uxid": "fa2b598d233fe434f907f858d5de812eacf50c7b3fd152c77cd6e246fe356a9e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999890.000000", + "hours": 4073 + }, + { + "uxid": "dc63c680f408c4e646037966189383a5d50eda34e666c2a0c75c0c6bf13b71a1", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "100.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46434, + "block_seq": 17, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "d952ef4cc45a89c14230ba0f7e30b782fad83cb6506ac0f503a242c568c1287a", + "inner_hash": "8fc48920982066fd4c69e2d2c0c5239cca7c296f0e3ad30e9b976c1230967478", + "timestamp": 1428989855, + "fee": 49022445, + "sigs": [ + "b7eb93bcebb6df3dcad48afd66dd60bd42b1fbcdf52aa5e0c7e455e791f64a976fa416534b4e08bf3e62a2df83e13754119634c4255dd1e2e08be447d4d5b47201" + ], + "inputs": [ + { + "uxid": "fa2b598d233fe434f907f858d5de812eacf50c7b3fd152c77cd6e246fe356a9e", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999890.000000", + "hours": 4073, + "calculated_hours": 53063235 + } + ], + "outputs": [ + { + "uxid": "4168b9378363cd81939e667cf78055d35a60d3101f5f9e3d2ae709e3981e29fc", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999880.000000", + "hours": 4040790 + }, + { + "uxid": "c603e99ceae4d15c20360714ee07ba6e3a944a97ea9285d164c23252e93958b6", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46433, + "block_seq": 18, + "unknown": false + }, + "length": 183, + "type": 0, + "txid": "686db0a8cd429970bb91163033703410d4750c86ba485709fe1a3faabbbb42f6", + "inner_hash": "76732ac6a9936242193011d78a0f2849529aee767a569c9c6bb25b3bbae15cee", + "timestamp": 1428989925, + "fee": 0, + "sigs": [ + "d74dcfdc8401a29b1dccc728b40b6b79faea147c65b4a859063ad77cc63aa9a62417c63b91b94678b6656fdba2f242d836b6914e77d244fbd16aaab014ddb44300" + ], + "inputs": [ + { + "uxid": "c603e99ceae4d15c20360714ee07ba6e3a944a97ea9285d164c23252e93958b6", + "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 0, + "calculated_hours": 0 + } + ], + "outputs": [ + { + "uxid": "d9dae1f82177f979b07016a341ed5c281ed6ed8eaa785a8a107ec16efbe541ef", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46425, + "block_seq": 26, + "unknown": false + }, + "length": 317, + "type": 0, + "txid": "56e7bd13dc4c6e1cd80aba66a0a9fed650d0646659ac774e3f1b415848755d85", + "inner_hash": "2894cfa31c21eb04c33f89263aa1e4caae625ceaf30539b82b39ccf79dffa816", + "timestamp": 1429011077, + "fee": 8799264, + "sigs": [ + "6aedcd617e69aab9724b6a52e0e71f4f087a2fa84a283ac685c17e274b49cf617e58dbbd6c45a8e2c1c31832a1193ba119f0cb238fd83b9d7eb029dcedbeba0800", + "f1f26b84f247c409d308bf0992c2a044ce649fc09169d5fe4843f22b855f911d6c73b92f679346d30ec6663aa5d0387189935ce8e2f2256dd13e59cbdae7b89e00" + ], + "inputs": [ + { + "uxid": "4168b9378363cd81939e667cf78055d35a60d3101f5f9e3d2ae709e3981e29fc", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999880.000000", + "hours": 4040790, + "calculated_hours": 9935082 + }, + { + "uxid": "d9dae1f82177f979b07016a341ed5c281ed6ed8eaa785a8a107ec16efbe541ef", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10.000000", + "hours": 0, + "calculated_hours": 58 + } + ], + "outputs": [ + { + "uxid": "8793a3782bf673393a8f909f267f3bfcc713b600460893b571fd55f675ac65ba", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999880.000000", + "hours": 567938 + }, + { + "uxid": "339aeec109a26bab65e618d73ebba16e5b8fc18f7dc1fe502ca891ad5b0f4d5f", + "dst": "bFTFUB3zdwZcwWQTewXZnVS7UykkTb7zqa", + "coins": "10.000000", + "hours": 567938 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46424, + "block_seq": 27, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "cff53a059d55f2c90f6dd7ce7de2cc07cbdbd50b25867cba0f41cd0192614d0d", + "inner_hash": "09382455a4e78c62bd0c254e106d349f648944c3747b066a23cc64d9392c6c05", + "timestamp": 1429011137, + "fee": 442618, + "sigs": [ + "ade8874855f58653ef198e005a7ec82de992cddb50a4bb5ce8a0ec1cfa7b44086883ad1c85c63128dad5426b8b22873c349e0535191b80b3e92035b120cada7a01" + ], + "inputs": [ + { + "uxid": "8793a3782bf673393a8f909f267f3bfcc713b600460893b571fd55f675ac65ba", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999880.000000", + "hours": 567938, + "calculated_hours": 584602 + } + ], + "outputs": [ + { + "uxid": "ad742bbc7420c08881e6ccf35e34e8472c0dd6386792359aedcfb752ca618c33", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999790.000000", + "hours": 70992 + }, + { + "uxid": "3e475e76c226a70c87d030d8fc6b8b1c2cc654ba9eaf3bed08be5bd603aec0b7", + "dst": "bFTFUB3zdwZcwWQTewXZnVS7UykkTb7zqa", + "coins": "90.000000", + "hours": 70992 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46413, + "block_seq": 38, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "a76cd63b71f1f5425941cd567627e1dcdc8c34306a7945ea48755f5a46efb6f5", + "inner_hash": "39c3ed7f2dfb26d02c9fcbbe853db5c3031644b4a66844a717d8795c6d954d65", + "timestamp": 1429058484, + "fee": 12441684, + "sigs": [ + "844af158e935a38f034778a78b646a167b5758df65212546f2eb1c7e838216ad7aa6e7571d1e81d8836808d4315846fe97489bdf2e6d2159a2af77a15a9a2bcb00" + ], + "inputs": [ + { + "uxid": "ad742bbc7420c08881e6ccf35e34e8472c0dd6386792359aedcfb752ca618c33", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999790.000000", + "hours": 70992, + "calculated_hours": 13220174 + } + ], + "outputs": [ + { + "uxid": "108520145179c00f581d91e273714811fe6e82ee059d65218eea91154ebd8205", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "998790.000000", + "hours": 389245 + }, + { + "uxid": "f48432d381a10abecbd1357d81705ea922246e92170fe405d1a4a35c5ceef6a4", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "1000.000000", + "hours": 389245 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46412, + "block_seq": 39, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "c38b47bd576e3bced2a9309c3df7622064e71177f54020d77193d5cac310719c", + "inner_hash": "7f02ba6476946668f3adcbb35e113531e6788cee4fe94bf8d8da4803e3baa7e3", + "timestamp": 1429058494, + "fee": 294709, + "sigs": [ + "2a31eb55da895c59654ad3f1a11efa11b04787ab78dcf8221aeeccf137adec543765f761363390c97f429310fcb39db305494a94b30af906a2d43d5de1effbb701" + ], + "inputs": [ + { + "uxid": "108520145179c00f581d91e273714811fe6e82ee059d65218eea91154ebd8205", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "998790.000000", + "hours": 389245, + "calculated_hours": 392019 + } + ], + "outputs": [ + { + "uxid": "e79c94aa7013c7611901839236b8a1cdf70e8ef7c40b9e33f99359136de981d6", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "988790.000000", + "hours": 48655 + }, + { + "uxid": "df5d6e09da2585a6ac1a37aea2370fa25e9049b549049202d5417138bf033cfa", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "10000.000000", + "hours": 48655 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46411, + "block_seq": 40, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "b56f3e9239da5c5f9bb5ca80226b8454ba36ce6012f8e323a50c9d9c4eb4a834", + "inner_hash": "bdcf8f2f2b960cfee6b3b1124a554ef4747fe43ac9452d897bd8dedcd643e1ae", + "timestamp": 1429058514, + "fee": 41986, + "sigs": [ + "809029f12d5f38906306610feae26c0623bffe63218c8019060ae2d164cc29352066efd20567e3c37837230e74b481730b0fc71bcafe3b3b9f5eb4a7fb42f69101" + ], + "inputs": [ + { + "uxid": "e79c94aa7013c7611901839236b8a1cdf70e8ef7c40b9e33f99359136de981d6", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "988790.000000", + "hours": 48655, + "calculated_hours": 54148 + } + ], + "outputs": [ + { + "uxid": "c65a9e6aa33244958e9595e9eceed678f9f17761753bf77000c5474f7696da53", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "978790.000000", + "hours": 6081 + }, + { + "uxid": "f8ad5c72e7822c7ac9a1dce8de583e34f6f830052bc0a02d749e9e81790dae86", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "10000.000000", + "hours": 6081 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46410, + "block_seq": 41, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "cf4fe76a08e3296b6f6abdb949604409be66574f211d9d14fde39103c4cfe1d6", + "inner_hash": "2f5942207104d52dbd6191684b2a97392e616b7fa51dde314dbddd58d34b8027", + "timestamp": 1429058524, + "fee": 7279, + "sigs": [ + "b2b8c8ec1e1dfdeac4690e88d4ef9fcc4b52fcb771153f391cbcb58d651505a94c6263b6dc15a948c0396c0d8be20d9e0d1993b494bd9189c778d3673363bfc401" + ], + "inputs": [ + { + "uxid": "c65a9e6aa33244958e9595e9eceed678f9f17761753bf77000c5474f7696da53", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "978790.000000", + "hours": 6081, + "calculated_hours": 8799 + } + ], + "outputs": [ + { + "uxid": "195f5e50b4eed1ec7ff968feca90356285437adc8ccfcf6623b55a4eebf7bbb5", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "969790.000000", + "hours": 760 + }, + { + "uxid": "6bbf13da052e1baade111ae8bb85548732532c8f5286eba8345d436d315d1c93", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "9000.000000", + "hours": 760 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46406, + "block_seq": 45, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "df622e8c9dfaed1d7dca83ad7f6d8946bb86b81398bad521d858cbefef8e4688", + "inner_hash": "91ab4f29d84e9ffba56a108e01984e7b483729da4e61b6976c018fa11ace36a8", + "timestamp": 1429071074, + "fee": 2580615, + "sigs": [ + "d0726d81cb1cdce6028668d0d95ceccf39cc9d655a7bff143573b9f52d0586232bbb7bd494df8b9bb5155a271446cfaff1550d5ccf314dd35f044226f98d14e201" + ], + "inputs": [ + { + "uxid": "195f5e50b4eed1ec7ff968feca90356285437adc8ccfcf6623b55a4eebf7bbb5", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "969790.000000", + "hours": 760, + "calculated_hours": 3381555 + } + ], + "outputs": [ + { + "uxid": "cb8efc0b1082c39258cb6efd59f64d88b36fcb60143c826829fc5f0ed5c0d668", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944790.000000", + "hours": 400470 + }, + { + "uxid": "4aca4c715985da352bd9aa84787868dac4f4e305c420fe79e6f05acee3bba14a", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "25000.000000", + "hours": 400470 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46405, + "block_seq": 46, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "0a2da0489b14156fad8fb863d051a4dac1f645f144c1e5bb65a44478623b8e4b", + "inner_hash": "787ae7cb222a23641bb33751d1428dc8e07a2f2cf11ee6293a54100836209d09", + "timestamp": 1429077374, + "fee": 1953736, + "sigs": [ + "9bc3b6d7cb1d66d52fc993d0799baafa1056992049fa86ce76d5909690e88c4a19920b69e2463cf34d1dddb545b61ee38fb2f9b33f92626da8afdd934c353c8e00" + ], + "inputs": [ + { + "uxid": "cb8efc0b1082c39258cb6efd59f64d88b36fcb60143c826829fc5f0ed5c0d668", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944790.000000", + "hours": 400470, + "calculated_hours": 2053852 + } + ], + "outputs": [ + { + "uxid": "a6061defc41a8a55e37eaf56ebaa1177446f61719b1d5126698e79a6023f5367", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944780.000000", + "hours": 50058 + }, + { + "uxid": "a52408daa8ce7026c70b61d4df4212fb577462060f340bfce779225b3e18193d", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 50058 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46404, + "block_seq": 47, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "a4a202bc4431d95c307d151dea764bfc6d9ceb7e82b3eb50dc8604050622a22c", + "inner_hash": "836145a3e62a7e055acc3404c1fd6ecb237e3251e6f8b39fd526a7f48f21daa8", + "timestamp": 1429077384, + "fee": 40168, + "sigs": [ + "f826793e63a3b0b837070e8876461c47af6be7a6898c370c70430b1491457cda76fc3b34e08bff41a336277ec1e93cc008f9c08ca295b418488b1ac92a5f5a4000" + ], + "inputs": [ + { + "uxid": "a6061defc41a8a55e37eaf56ebaa1177446f61719b1d5126698e79a6023f5367", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944780.000000", + "hours": 50058, + "calculated_hours": 52682 + } + ], + "outputs": [ + { + "uxid": "3b5f72e772ea886dd872b9087395398133576a6561072d5294fbcd04b49e1d95", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944770.000000", + "hours": 6257 + }, + { + "uxid": "dc73aac74348dd285a1456c1fae2204d7c2039d50a765bdaae0c31f7c7e059db", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 6257 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46403, + "block_seq": 48, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "4e6b363423633ad51114b250478ee7645fbd184066fa41c29e5b14d0728cdfec", + "inner_hash": "8cf88a9e5140d5e01af412c956b3de7c93bfebbb4c5993b9b0285812208f5b33", + "timestamp": 1429077394, + "fee": 7317, + "sigs": [ + "670abb369c25a655b0f22c069a9523d439b8a03d122bc9f0861aff796ab965fd5e1b79812b6f458ebc0a1cd4cc223d0137eb22e1bf1cbb40265ac7301018897000" + ], + "inputs": [ + { + "uxid": "3b5f72e772ea886dd872b9087395398133576a6561072d5294fbcd04b49e1d95", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944770.000000", + "hours": 6257, + "calculated_hours": 8881 + } + ], + "outputs": [ + { + "uxid": "f265bea876ffcfb8cf64df3aca4dae4a8d7f424ff495d91fb322feddb3a7e505", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944760.000000", + "hours": 782 + }, + { + "uxid": "e4e375b9dc55ff53d6de9120f1a87ff00e00a779835f8320f2c6b3090d0466e6", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 782 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46402, + "block_seq": 49, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "edc27c6ecc1f76d0f23489ad7bbbdb8c653af37cc4b8f18197400aea2011ed83", + "inner_hash": "5432e686f984075091a8d3686d959b63ef620382fcb2b86794ba8dc0fb9656e7", + "timestamp": 1429077404, + "fee": 3212, + "sigs": [ + "c1902b37a95c5327b0e5a1f05de551d4135831b787c86562867344ee7f06235374dc1618c6b4a8e077041723bc731db72dab5554a808b1ba77d305309144bf5e01" + ], + "inputs": [ + { + "uxid": "f265bea876ffcfb8cf64df3aca4dae4a8d7f424ff495d91fb322feddb3a7e505", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944760.000000", + "hours": 782, + "calculated_hours": 3406 + } + ], + "outputs": [ + { + "uxid": "e6d9b56e075a6adf520d1ae7fbab9ae06353ae0b93dc8cb17d82cc3628009a50", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944750.000000", + "hours": 97 + }, + { + "uxid": "d11b05345917d171f60c31bd2634041b73b97eae364724369ddb8d53369397fb", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 97 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46398, + "block_seq": 53, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "d154d8262abbf517c67d529b0fea7cdf097433bd296d5795b17c6379cb1b1430", + "inner_hash": "b69070b10e6bbc276bf155361d7f3238fec46b9d865075c1dc0fc20d81ab0a42", + "timestamp": 1429077514, + "fee": 23036, + "sigs": [ + "0a4b7f385a164f5718794382d49c14a6623e7af5f1ddbefe4871c756b754457a7075e822603bd3b22b313278abebe756be92367ef7a81a8c4adf992842c2058601" + ], + "inputs": [ + { + "uxid": "e6d9b56e075a6adf520d1ae7fbab9ae06353ae0b93dc8cb17d82cc3628009a50", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944750.000000", + "hours": 97, + "calculated_hours": 28964 + } + ], + "outputs": [ + { + "uxid": "2df1e88589be43c55d7c6c3dbcbd663fb759b3245eb8d86b0b9cdaa989556aea", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "943750.000000", + "hours": 2964 + }, + { + "uxid": "c7919b892eeb751456d456b37ccde7350a3fca0dda03b17ec426a56f12dcf192", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "1000.000000", + "hours": 2964 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46394, + "block_seq": 57, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "61a33b49e97bfe2d5f026bf45fae43a1b9bdf08c60ec8db017da720a69790c7f", + "inner_hash": "32d2dce8e8043e544b3cb2145b0bfb9d4cfdb7ae8e20437d075f76b75d8e088e", + "timestamp": 1429077584, + "fee": 17952, + "sigs": [ + "990bf0a8c74b0b4c4d05f463a0a50e311a6ae27b5d327dcb906bb6e42330709d48998eed6e7cbdf35caeab6d90fac3e56fb222032aefa7b1d4d9c7653aca9fe600" + ], + "inputs": [ + { + "uxid": "2df1e88589be43c55d7c6c3dbcbd663fb759b3245eb8d86b0b9cdaa989556aea", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "943750.000000", + "hours": 2964, + "calculated_hours": 21314 + } + ], + "outputs": [ + { + "uxid": "c5150380691c542b9bdf4cf2280ac612e0576c349f99d47d0a03c77eedc48731", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "942750.000000", + "hours": 1681 + }, + { + "uxid": "3b9059ec909faf64d652dae78944f4a2737df95a3215bf98e2ff33e02e2b377f", + "dst": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "1000.000000", + "hours": 1681 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46390, + "block_seq": 61, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "4aeafd20b9df56ec852a2c257ff1630b9530d8375a4e72f20238ea36835f76d5", + "inner_hash": "bc6119c006f7c54c8608cc8050f47c43e6c079397f607f8c9e90d3072a10eca5", + "timestamp": 1429077654, + "fee": 16974, + "sigs": [ + "0309322d16d48a35bd42c2ae6a76b240b21974d073f81f440e04431941fc9d550de92dcbcb226ad3baae2b3cbae51db28b2dc8d3e1b51cdd559cbbb6e4b71eda00" + ], + "inputs": [ + { + "uxid": "c5150380691c542b9bdf4cf2280ac612e0576c349f99d47d0a03c77eedc48731", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "942750.000000", + "hours": 1681, + "calculated_hours": 20012 + } + ], + "outputs": [ + { + "uxid": "9bbb8d620aae3efc7c21bb7d6a7159eda441a83e0fef2cd98f8240b38857d648", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "941750.000000", + "hours": 1519 + }, + { + "uxid": "2480aeed2dc47c692e4bce61fb3ee44c4992ea39b0a167235e501330d7ddac62", + "dst": "3iEkvqSQCNrm8tMVf5ABAx2Bp6EGL9wyMP", + "coins": "1000.000000", + "hours": 1519 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46387, + "block_seq": 64, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "29c229c97d27bcaf842a367520e1916fb855921906bddf4a3b0413ad3f11517b", + "inner_hash": "bc02dde29d200fa6bc0497f2ddd5e52007aef9b6482d40953fbd44ed88e3cf78", + "timestamp": 1429077694, + "fee": 9642, + "sigs": [ + "0674c0617c9e6109ca9af404d446777943bb6aaa5dcb223da63bff1a305498972735e0b2a601cc9c6ee2231ad5fdd025fb92cbb00e200860a2ebde924f76499400" + ], + "inputs": [ + { + "uxid": "9bbb8d620aae3efc7c21bb7d6a7159eda441a83e0fef2cd98f8240b38857d648", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "941750.000000", + "hours": 1519, + "calculated_hours": 11982 + } + ], + "outputs": [ + { + "uxid": "25ad0d5ae6a1a9bc61c6b9099fb7829111977a59e1183de4227a0a5352555639", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "940750.000000", + "hours": 1170 + }, + { + "uxid": "47c74a6d7f1f54cf0a7ac45ec00277539079810068dd95a29a202c43780d65a0", + "dst": "PCAtFnGVujpALXB1Gqb9CEMRMVXfVGu6iM", + "coins": "1000.000000", + "hours": 1170 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46384, + "block_seq": 67, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "42227683dd9c149859d0578ab300d8509d513afadf7834fd8ae7a321cc07d833", + "inner_hash": "a7a9ea6466bef6cd63f671ae5dd1aafbeb251a717c7da331d40ec376ad0e89ec", + "timestamp": 1429077874, + "fee": 45303, + "sigs": [ + "b4a141eb037a4debd99c347f337f67662a3feeb96112d7b05fc035a3556419dc3a9b35028327d925ca5eb9da018371bc333b7365f06ea22366169af6f066524701" + ], + "inputs": [ + { + "uxid": "25ad0d5ae6a1a9bc61c6b9099fb7829111977a59e1183de4227a0a5352555639", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "940750.000000", + "hours": 1170, + "calculated_hours": 48207 + } + ], + "outputs": [ + { + "uxid": "acc75d51ff9f18a224d1ca0481917e2a67298de40955711cd97a08f6733b5b6a", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "939750.000000", + "hours": 1452 + }, + { + "uxid": "8bdd2662d7ed495ff82daef9198ee23ac0c75417607675a8da3dd673952c0e39", + "dst": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "1000.000000", + "hours": 1452 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46383, + "block_seq": 68, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "d803ab903f68f7861cd8eff93b3c097c5b8f6a697ca67bb01e7e645060839fd0", + "inner_hash": "611f096c50da1d98c29b8c9bdc6b7f7c98d96061ab126c66716f17a2fc495166", + "timestamp": 1429077914, + "fee": 11531, + "sigs": [ + "d264a023bc6986c1bf16e2e697f4df8b6e33ae2d4b1ddd4e207cb5f902fed54c1234c3ef2429d82507f5c10c0fb4320d753f3bf6b5e155fa3ec03bc91dd8206a00" + ], + "inputs": [ + { + "uxid": "acc75d51ff9f18a224d1ca0481917e2a67298de40955711cd97a08f6733b5b6a", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "939750.000000", + "hours": 1452, + "calculated_hours": 11893 + } + ], + "outputs": [ + { + "uxid": "5c1069a3aa6628ed7f9bdb300bec1a7e7ca6fb4645528a8c6a27c167e7dfe698", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "938750.000000", + "hours": 181 + }, + { + "uxid": "3c56fa9d161783d6fe5c8b055c6d20bae27097e7bcc44d9ece5c94df182ee5bf", + "dst": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "1000.000000", + "hours": 181 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46382, + "block_seq": 69, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "3bf485890e91268452dc3136c0b294dc9909b3aaa10b9c936743e6e9b1a56f61", + "inner_hash": "e952e5d86f3cff105dab78a455691c871f3b0fd09558e367833c4743339b94d3", + "timestamp": 1429077944, + "fee": 7959, + "sigs": [ + "632771f1bdae7454911dcb6462aee56827f949dae18e8a98168b57864a62333f4251e17efa15a53ec12ab6980ea72838e9bb0e64aad82ad9e6a0a2a33b3006cd00" + ], + "inputs": [ + { + "uxid": "5c1069a3aa6628ed7f9bdb300bec1a7e7ca6fb4645528a8c6a27c167e7dfe698", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "938750.000000", + "hours": 181, + "calculated_hours": 8003 + } + ], + "outputs": [ + { + "uxid": "8190fd31c005510d550c8a241b127fad2558c82aed9483fb4423193d5f4429e3", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "913750.000000", + "hours": 22 + }, + { + "uxid": "5a7b2b6568cfa4ff5d44e98446aed92438ede0103b9994cfa3389bd02a35239b", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "25000.000000", + "hours": 22 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46381, + "block_seq": 70, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "f51e2ce31961b0186e04cc9d78857c3c21d3e2afb25c050d8c1d67d3320fcc07", + "inner_hash": "4a8b13ea0c8a993b3455a374e847bcbea7e7a20392c7cc169cbc41778e65d6e3", + "timestamp": 1429077964, + "fee": 5094, + "sigs": [ + "74f886780a9df8f6987c8c60bf5d9ad0fc25a502ba8f681188923d3a85f74bb87d57b067e53ed0f423ee7fbb352f3260e65c38e44cc7eec8fe8224374fd77cc800" + ], + "inputs": [ + { + "uxid": "8190fd31c005510d550c8a241b127fad2558c82aed9483fb4423193d5f4429e3", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "913750.000000", + "hours": 22, + "calculated_hours": 5098 + } + ], + "outputs": [ + { + "uxid": "450cd7795bb3625daa99d6b64b9a8786d593bf1cad986d6c2933dae04b74a593", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "888750.000000", + "hours": 2 + }, + { + "uxid": "9639a86df8da288fb0fc6a92fa086f3cd5a8387705a14ddd2aa5e30c6c3fc3fb", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "25000.000000", + "hours": 2 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46380, + "block_seq": 71, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "abed13c2a552633d26b5b51c3ac5abf9808756c0203869ed185a7cd673702ba2", + "inner_hash": "c176a1a85f716055a9e8060c2a4245db0d7f71f4ac5387d4a51d173db467150a", + "timestamp": 1429077974, + "fee": 2470, + "sigs": [ + "40e8340047f08afd483b2867166e15ae751bb7272a2c24f68ae8561d3619ea021363e987118a2fe516cacff1946d4d6c4c249038581ee2f58f8feea4bcffc3b100" + ], + "inputs": [ + { + "uxid": "450cd7795bb3625daa99d6b64b9a8786d593bf1cad986d6c2933dae04b74a593", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "888750.000000", + "hours": 2, + "calculated_hours": 2470 + } + ], + "outputs": [ + { + "uxid": "b44ee00208690c2123989f40edaff0224825afb20ca0952fbd90bddfd3213642", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "863750.000000", + "hours": 0 + }, + { + "uxid": "22edb5931e1c54382f18e41ef774931efb08c278209a1fe8a34100147b707220", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "25000.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46374, + "block_seq": 77, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "29798149e90f6442489bcc3294f455441a5a401e81491ed06bdc2c850756f0d9", + "inner_hash": "23ab44d59346b369d258cce6d5142ca7e1b52dd09a1512d8a618e08ae7346004", + "timestamp": 1429147880, + "fee": 14818951, + "sigs": [ + "6e0bd761d2d9eeb207f0c4cf9f13d1407f33b5f50e72c3462225c8041882ddcd078a02720d533801a433d917674e3d68a98bb997e9b06664a73a9bdeae46404601" + ], + "inputs": [ + { + "uxid": "b44ee00208690c2123989f40edaff0224825afb20ca0952fbd90bddfd3213642", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "863750.000000", + "hours": 0, + "calculated_hours": 16772585 + } + ], + "outputs": [ + { + "uxid": "6060c983054614b8801e405de697c443a1edebd3236582f89f01c6cf6a165c3f", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "862750.000000", + "hours": 976817 + }, + { + "uxid": "08723ed501e11c2053bab6b500f820dd7ae2aeb4a3c9d5109845bb46afebde97", + "dst": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "1000.000000", + "hours": 976817 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46370, + "block_seq": 81, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "0cded82aa3ac92d78e23d2d0d7faf93c675fc9a321ad55105f65b6fca444b1e7", + "inner_hash": "0ca2ed02f9155bf69af2fd27b40b0300e0c9804cbd2507389d930ef186f48794", + "timestamp": 1429164440, + "fee": 4694075, + "sigs": [ + "68a82ec4421a37b8116c8bad98d2568802973dbce6f0166b3a9504110ee4873239953c3e8baf3a20d599e300c8b2c524d672c46ed593e126adc908f1decbbf5100" + ], + "inputs": [ + { + "uxid": "6060c983054614b8801e405de697c443a1edebd3236582f89f01c6cf6a165c3f", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "862750.000000", + "hours": 976817, + "calculated_hours": 4945467 + } + ], + "outputs": [ + { + "uxid": "129726406b3101d51ffd5bfca59a501184d6c8ca363be4ef1b8d8bf48a6c70e0", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "861750.000000", + "hours": 125696 + }, + { + "uxid": "3fe7d61ffa993e00200ce6be7ba347c603032ac3f8c4ace07767e630fe94d76c", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 125696 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46366, + "block_seq": 85, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "b7b42b1b29acab0a2328aaf368ec74be49b4d4caf827e82b439ef4d8be976a55", + "inner_hash": "8b5eec10f63b31e72d4dba2c71fb0f7bc230e58f497e255352f02eee965d3595", + "timestamp": 1429164620, + "fee": 128383, + "sigs": [ + "82587c832f0c74f185603b934a32a28624712373d188caad0355314ea621a4af3e96dbd1c37e889f630d90047c79b39c495b49964eca20172bb900db1df48b3a01" + ], + "inputs": [ + { + "uxid": "129726406b3101d51ffd5bfca59a501184d6c8ca363be4ef1b8d8bf48a6c70e0", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "861750.000000", + "hours": 125696, + "calculated_hours": 168783 + } + ], + "outputs": [ + { + "uxid": "05f42f22f5fea4b5cac8182dc2b4f280149c686434c6d4195a119a8d02ab24b2", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "861050.000000", + "hours": 20200 + }, + { + "uxid": "6e2abc4bc7820178358a603b7d99c4b39735dd1685d0c5a778ab63f29c9e93d9", + "dst": "YLT4buWf3kYDV9QddnC5iXTj881Eniuvrx", + "coins": "700.000000", + "hours": 20200 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46365, + "block_seq": 86, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "ca51f9d0a19bf326d6dd39a1e4dd240adaaae279411093d4a5b20f54cddabb95", + "inner_hash": "47500bd3c5f74835a01b0f696e15780baec2ca3723f45355c9e8cd1c71564d18", + "timestamp": 1429164720, + "fee": 39068, + "sigs": [ + "fdbc112b10354be2b85b2f9131a3927e7b4e87ff8ddef91b849a71e0b1445ebc410b61d85ff7af1834b54febf89d903e3151f5a74ccef4e9607851c9005454d001" + ], + "inputs": [ + { + "uxid": "05f42f22f5fea4b5cac8182dc2b4f280149c686434c6d4195a119a8d02ab24b2", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "861050.000000", + "hours": 20200, + "calculated_hours": 44118 + } + ], + "outputs": [ + { + "uxid": "4e1a98a72639efa6253a7cbea0f3b499fa24fb88612ad81414d20e46d2b5784e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "860050.000000", + "hours": 2525 + }, + { + "uxid": "ee69cfd4f15d16ded96745a35ef150f679b5b79cc0fd4009a2d02cdccd81ca3e", + "dst": "tG8F6fuw3KEUStpa85EFQDMHVw9piTzZ2g", + "coins": "1000.000000", + "hours": 2525 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46361, + "block_seq": 90, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "bd617ec27c2bea642fad8c153178e11ca08456d752249324e3011f27c845f87a", + "inner_hash": "f8ce5c9cc22005d7f63c0400132b0e70a6a8af574f1a5c1ffb0404f228a02949", + "timestamp": 1429164810, + "fee": 18618, + "sigs": [ + "b471a7bdde8b1427f8081d9e91250fd89cdd4dd23062796fe2ee973c612eb28b76f6c7ab4f3fbb7c7f9627c52158066d13d9fbe34dfdb6e77c02d84ff4d45d7d01" + ], + "inputs": [ + { + "uxid": "4e1a98a72639efa6253a7cbea0f3b499fa24fb88612ad81414d20e46d2b5784e", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "860050.000000", + "hours": 2525, + "calculated_hours": 24026 + } + ], + "outputs": [ + { + "uxid": "33e0c4c9536afffd491fef6294f22ffb0d16902493946a051db0b218728a1c44", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "859050.000000", + "hours": 2704 + }, + { + "uxid": "2a09e97f7725a35af1357842206875a023252da4ebfce129eaf4cb87119cfd41", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 2704 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46357, + "block_seq": 94, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "0f4958d590ed4ac9aca79d848731b358b1c01fab9717775cf6515f2bf2706dc8", + "inner_hash": "89c71b68262f8e3acddcec032b4209220ac7b794d1cefa62b45c71b94e017cad", + "timestamp": 1429164870, + "fee": 13363, + "sigs": [ + "ede880d4422a1102280918227157997bb7a36d26a358a71bf016963d29e8403d2298754039d8dd14c0b05d776d05bebadb919a620e87439c93008e292086c94d01" + ], + "inputs": [ + { + "uxid": "33e0c4c9536afffd491fef6294f22ffb0d16902493946a051db0b218728a1c44", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "859050.000000", + "hours": 2704, + "calculated_hours": 17021 + } + ], + "outputs": [ + { + "uxid": "f32f03f28eece9ddcdc488a85100c94a7c924c185ae560363518dae5e2aacccb", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "858050.000000", + "hours": 1829 + }, + { + "uxid": "24c4cfc628a0f77ce2e878c6ffa9d4dbd85325f8a5e0b5df970a3a2c36033519", + "dst": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "1000.000000", + "hours": 1829 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46353, + "block_seq": 98, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "fe01250cfdf84eb0182c033c216891e7e6971cc85976c4c46d9e3c608974d233", + "inner_hash": "2400f3951d454f663d5097060267f8e31e86e1c3f10391c8a06ed79fd72fe49b", + "timestamp": 1429274566, + "fee": 26123869, + "sigs": [ + "6ecee1ca0e86de9bf6da9a21e49b1cfade8f1a279f7fc58834c15184bec1de634c82faf30bdab34083bc1f32f87d27daa1987a525db83100f88b9103efbc007701" + ], + "inputs": [ + { + "uxid": "f32f03f28eece9ddcdc488a85100c94a7c924c185ae560363518dae5e2aacccb", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "858050.000000", + "hours": 1829, + "calculated_hours": 26147565 + } + ], + "outputs": [ + { + "uxid": "99b4e51e1afd04813656e6202c7e462d88ce87ba980da7a62591190d72d1073c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "858000.000000", + "hours": 11848 + }, + { + "uxid": "f12164a6ea6ce65ff2ca1f2be7251bece8f7c5747ba8ec68e1ec3b27d45d7b9c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "50.000000", + "hours": 11848 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46352, + "block_seq": 99, + "unknown": false + }, + "length": 571, + "type": 0, + "txid": "819106dc50373e5293a7e79f179693e85536e8206d82272930ec08410d92402a", + "inner_hash": "02e9a06b0ca7f91255107993e00f09e9ef983559088c5febff264c17952033c4", + "timestamp": 1429274616, + "fee": 52573, + "sigs": [ + "efb713e6a1e5d328e94a51fbeb0f73e2a3b7a54e15db75797f0b709f698b16eb26e522f187a98144807e0e6cd294686ff19037975abb6d44b20b2899968954f400", + "b5d011c60020ce591a21db15823c06188515a63ca95d573c36b3af83d634fc6f1c1125db197f6283510ee33890ac168513254ad37524c77294bb5a12e8ff23f300", + "00d87b91eda33f627f6cd28cc673daf929fbec36e7bcfdf894f7491618a68b5755b5baadedc106d53d2da924fcbedbd106eadc50ec611d426720f67426c7286500", + "e64cf7e74363cfd381a3aa6fd17d7c415d6034b26b93017acaf9cf3475ccdffc53c3714d1d13409323cf77ccc81596f6e6edcec11d890979a436ef960bcb5f6900", + "fc2eb05241afdd15cdbd28cc7158d7eb4442f21a678c52332762b23ac6c2fcc76b0f79731987df0ba84d82044cd474d4cda9afda778a21b78a0659c5b588664301" + ], + "inputs": [ + { + "uxid": "2987e7c89d353ad5d63cea2bf2724dc5f7a5ef5fb81f5ea160a307f0726ac2f5", + "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 0, + "calculated_hours": 701 + }, + { + "uxid": "a52408daa8ce7026c70b61d4df4212fb577462060f340bfce779225b3e18193d", + "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 50058, + "calculated_hours": 50605 + }, + { + "uxid": "dc73aac74348dd285a1456c1fae2204d7c2039d50a765bdaae0c31f7c7e059db", + "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 6257, + "calculated_hours": 6804 + }, + { + "uxid": "e4e375b9dc55ff53d6de9120f1a87ff00e00a779835f8320f2c6b3090d0466e6", + "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 782, + "calculated_hours": 1329 + }, + { + "uxid": "d11b05345917d171f60c31bd2634041b73b97eae364724369ddb8d53369397fb", + "owner": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 97, + "calculated_hours": 644 + } + ], + "outputs": [ + { + "uxid": "427462efeb07a6803f013c789ea43d93240f74f886bf9afd63dc1936a7574a37", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "50.000000", + "hours": 7510 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46350, + "block_seq": 101, + "unknown": false + }, + "length": 183, + "type": 0, + "txid": "e8fe5290afba3933389fd5860dca2cbcc81821028be9c65d0bb7cf4e8d2c4c18", + "inner_hash": "45da31b68748eafdb08ef8bf1ebd1c07c0f14fcb0d66759d6cf4642adc956d06", + "timestamp": 1429274666, + "fee": 720560, + "sigs": [ + "09bce2c888ceceeb19999005cceb1efdee254cacb60edee118b51ffd740ff6503a8f9cbd60a16c7581bfd64f7529b649d0ecc8adbe913686da97fe8c6543189001" + ], + "inputs": [ + { + "uxid": "6002f3afc7054c0e1161bcf2b4c1d4d1009440751bc1fe806e0eae33291399f4", + "owner": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "27000.000000", + "hours": 220, + "calculated_hours": 823465 + } + ], + "outputs": [ + { + "uxid": "f9bffdcbe252acb1c3a8a1e8c99829342ba1963860d5692eebaeb9bcfbcaf274", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "27000.000000", + "hours": 102905 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46345, + "block_seq": 106, + "unknown": false + }, + "length": 511, + "type": 0, + "txid": "8de17dff34a8798f2ac89584f5c559e3bb82c280a3f6890386b4dbc5fef0e8cf", + "inner_hash": "2ab03a15a9f312d27919ec42a27dfefc5fc5e0b8bf451eb81ef545bf4497f524", + "timestamp": 1429279796, + "fee": 1140626, + "sigs": [ + "9dd44c7d76d454c7c658649d94e08f75354ba568aae069b38da012f07eacbcfe2a5bbe9b4444f566336c23a03f3625eb4306791437e1bfe69f43efa0c109ec2d01", + "211d2607cef832c989563a3475daf6aa1fec6d73893a72666b5428c6bd93217605990bc3b45f4cf4863a648708ca3bf3526eb1644679f313a297daf82b1865bf01", + "f7e77964485e36b15ade78aacc17407af265c7144767e3f39bfd9765869f90cd0f33120ca996154db82d5462d626f3ae299c8f3b8cc862284432919cfeb6613d01", + "3a1e491d35ad5daa1af54872b5ec1d02c6654cad8f2bcd94c2a624c1a3cd5c9163c373f06a931b5de526654bdbc5cdd221b7fcf7b77329d452562080216ca8fe00" + ], + "inputs": [ + { + "uxid": "99b4e51e1afd04813656e6202c7e462d88ce87ba980da7a62591190d72d1073c", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "858000.000000", + "hours": 11848, + "calculated_hours": 1258331 + }, + { + "uxid": "f12164a6ea6ce65ff2ca1f2be7251bece8f7c5747ba8ec68e1ec3b27d45d7b9c", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "50.000000", + "hours": 11848, + "calculated_hours": 11920 + }, + { + "uxid": "427462efeb07a6803f013c789ea43d93240f74f886bf9afd63dc1936a7574a37", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "50.000000", + "hours": 7510, + "calculated_hours": 7581 + }, + { + "uxid": "f9bffdcbe252acb1c3a8a1e8c99829342ba1963860d5692eebaeb9bcfbcaf274", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "27000.000000", + "hours": 102905, + "calculated_hours": 141380 + } + ], + "outputs": [ + { + "uxid": "dfd2834342f3a7caf183472c17801aafacd1775378eb843509d17ad858456cb0", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "885000.000000", + "hours": 139293 + }, + { + "uxid": "3bfbe4e80894862d60a053ffb47b8f1749e281603cd6376c8fc6b5e2cec0c843", + "dst": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "100.000000", + "hours": 139293 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46344, + "block_seq": 107, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "6546dfbe6e61e81f3e9f6c9afdfee1c07758f2e486d731ae4d19b40602367656", + "inner_hash": "9566ef1826b7f518c043395c2b7a37014f77f8e23796c1c78e55d1fc443a02da", + "timestamp": 1429280596, + "fee": 301137, + "sigs": [ + "2773830af5e34a3de4a3ce935ee08c189feaa30ab41ced8f78f9a6434198d9775c58a0b9bcc2931f3d0dfde541ef7f5d3c1cfcf5415776dbd9d871ce036ec42900" + ], + "inputs": [ + { + "uxid": "dfd2834342f3a7caf183472c17801aafacd1775378eb843509d17ad858456cb0", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "885000.000000", + "hours": 139293, + "calculated_hours": 335959 + } + ], + "outputs": [ + { + "uxid": "8ac39d41ec014ca6625e5f17e1fbe62db7a4ac154e0e42a017efa037935ae968", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "884900.000000", + "hours": 17411 + }, + { + "uxid": "ec4b791f2fa22a986d6035e34f5025c3da0398cb2acc59a54d495d4eaacdee8a", + "dst": "2acnXsnJ2k8jxiUahtBe8h4xouPAnpbwwjc", + "coins": "100.000000", + "hours": 17411 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46342, + "block_seq": 109, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "a4c15ae4743246709ec335d33c289576c8893e71f5c3dcee1db6e43eec9242ee", + "inner_hash": "1d2404a84798154867ab461179a2b4300d65e4886cbb0220f0d5d0b16bbb7628", + "timestamp": 1429302756, + "fee": 5450278, + "sigs": [ + "3fcfe6d7fe59b9998ac4260c3b788384b2ebb7137e08e3ffc8d8b6efa23490e71f94f381c61af4966ba6a4fb4173079d5a7f31518030900f6c10d64ceb0b774f00" + ], + "inputs": [ + { + "uxid": "8ac39d41ec014ca6625e5f17e1fbe62db7a4ac154e0e42a017efa037935ae968", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "884900.000000", + "hours": 17411, + "calculated_hours": 5464462 + } + ], + "outputs": [ + { + "uxid": "bae0e928b795e2a80c88161afcbc102dcad6644386f6f44050dde8d586750140", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "881900.000000", + "hours": 7092 + }, + { + "uxid": "4ca22a0fa2acbd0c9e90c4ae83496d05e122deb1a17c670e9c785479d115e824", + "dst": "Vq7DUM8vGL81QS8S4SXBNTBvLHpkLf9Eaj", + "coins": "3000.000000", + "hours": 7092 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46340, + "block_seq": 111, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "6ce27da2ddbc15f03330960b4201dbb3a066ad2e9bbd5366a9564f6befdcae2e", + "inner_hash": "2db237d697bd17aab9121cdfc4d72fa1cbfe7fd37d7f71b1a857833bb56b7dd7", + "timestamp": 1429348072, + "fee": 150348, + "sigs": [ + "c50715bd2e53ed971b7559ccaf8a930dae335dc45cad18a25ccfea3209ea2c971e0dc6cc57ff1dbcde49ddfdc612e71e923adcd21b68eaa0eb239bc83a50ff2b01" + ], + "inputs": [ + { + "uxid": "f9bf35f993452b3d490668bb579fd272da969a1bcca8de0c25000ee57b5d7f54", + "owner": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22700.000000", + "hours": 17848, + "calculated_hours": 154810 + } + ], + "outputs": [ + { + "uxid": "c5df36ce47f6f183475317ab1c53eaa65428c142cb3e3906bf162d80519a203f", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "12700.000000", + "hours": 2231 + }, + { + "uxid": "94889dbe1c20eb942b7932c5301737537ac33abd9c81d72e1642ddc70ce320e0", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10000.000000", + "hours": 2231 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46339, + "block_seq": 112, + "unknown": false + }, + "length": 317, + "type": 0, + "txid": "f8a24a25a8e3b206db7ea8a0bd8eeb0f8087f50d230c81a538316bcc5152da3d", + "inner_hash": "cfca9a1aa2ab7ea4d643700ac89e9544f1d4e9ef85e28d1cedeece11469fb885", + "timestamp": 1429348102, + "fee": 8340296, + "sigs": [ + "5b68d315f4e84cdae4936db6bb7c8466977e784851b605d1fbc1e0bb65fe259d58d6be37228c96bccb1a1c1e9d316d9102fcfaefeda614e67af20464bc877f2101", + "fdd919590553d428d9b8121644127651c68b5207af9798aaaa6ed18134c5835b5311bb547e07e47157a4fd89867c88a48700255610efd2a3e3f77dc82f5fb3ba01" + ], + "inputs": [ + { + "uxid": "bae0e928b795e2a80c88161afcbc102dcad6644386f6f44050dde8d586750140", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "881900.000000", + "hours": 7092, + "calculated_hours": 11115602 + }, + { + "uxid": "94889dbe1c20eb942b7932c5301737537ac33abd9c81d72e1642ddc70ce320e0", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10000.000000", + "hours": 2231, + "calculated_hours": 2314 + } + ], + "outputs": [ + { + "uxid": "1d4595b9fa1c6c3d64f48b6ae5f8f861b1c08a022cbcb04b279df448da3db660", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873900.000000", + "hours": 1388810 + }, + { + "uxid": "53b376413d550663ab51b229df8b0f55e4055d6577c2d8b5cec8ff748fe0e958", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "18000.000000", + "hours": 1388810 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46338, + "block_seq": 113, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "1f27afc41896d2c7fdbd2620e606440ad12557e9a4bdd6808dcc2c23d4e32978", + "inner_hash": "4d53c05c731409feef7606cf9514904f4c7704537efb453ac2c439fcfe77a455", + "timestamp": 1429348172, + "fee": 1058600, + "sigs": [ + "e36cef84c1c6f999dba462f3134131c105da2255eaf21550ce30ee52a14a33d529a7cd0c37b3883d0d57429b163b4905271c7b1a4d951b4a521f245c7857dd5c01" + ], + "inputs": [ + { + "uxid": "1d4595b9fa1c6c3d64f48b6ae5f8f861b1c08a022cbcb04b279df448da3db660", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873900.000000", + "hours": 1388810, + "calculated_hours": 1405802 + } + ], + "outputs": [ + { + "uxid": "412eff3eef889c682da8db3608fce37d1c5ee2cc297bc88d901648e6ccd418f9", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873800.000000", + "hours": 173601 + }, + { + "uxid": "c961ba554ae30b0edcdf71e834ab2b26d7dff5bcf5955d4874cdba89170392bf", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "100.000000", + "hours": 173601 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46337, + "block_seq": 114, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "e8765b4e6fbca87144df59a6f66815b175e81999509504b117636edc34cbe2af", + "inner_hash": "b62f9938b195211810976e1719b152fe6c381879adba6061f4ca36d74c06bea2", + "timestamp": 1429348502, + "fee": 210299, + "sigs": [ + "9d40ed257bb7586c7d72e90bd99c6883fb836d400107686ba477850c2b63a86b5ad885aa37f352d334d930ea3814844e67a6ac438c36b919daff273a66f21e5201" + ], + "inputs": [ + { + "uxid": "412eff3eef889c682da8db3608fce37d1c5ee2cc297bc88d901648e6ccd418f9", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873800.000000", + "hours": 173601, + "calculated_hours": 253699 + } + ], + "outputs": [ + { + "uxid": "6ad7993fb2728c2c53ac2c8395a6c62d03c5ef9298ca467e7998fb64fd0c90b4", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873700.000000", + "hours": 21700 + }, + { + "uxid": "5b0801ec545b132eeafa61bee8f645df7e1e358321ef830a4247fe541c211139", + "dst": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "100.000000", + "hours": 21700 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46336, + "block_seq": 115, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "bb700553c3e1a32346912ab311fa38793d929f311daeee0b167fa81c1369717e", + "inner_hash": "253c14d68558b09c034d4945284f5cc3025b9e05723c6e4fa7d95f1e68edb211", + "timestamp": 1429348712, + "fee": 67241, + "sigs": [ + "4920f49d47105801fab73c2398bee61ce56bb0b58dd69ab35ec1f959a3b8a8003c2821510d3a97d09f7a4a9f943b04d888b1327539ff48216f148fca693dde5d01" + ], + "inputs": [ + { + "uxid": "6ad7993fb2728c2c53ac2c8395a6c62d03c5ef9298ca467e7998fb64fd0c90b4", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873700.000000", + "hours": 21700, + "calculated_hours": 72665 + } + ], + "outputs": [ + { + "uxid": "0976005ab4540e8211cd929f19634bfaa2f5d8e24177ddb5b803b447ea91f8c3", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873600.000000", + "hours": 2712 + }, + { + "uxid": "de995d2361e810cfba1b9b1141413367a722f51c7555b1685f6e68129dfb2679", + "dst": "VD98Qt2f2UeUbUKcCJEaKxqEewExgCyiVh", + "coins": "100.000000", + "hours": 2712 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46334, + "block_seq": 117, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "345488861ad3f0d93024c367990e64ef0f7a95bd8b8589f554172f9439808263", + "inner_hash": "258acd45e194051214c9783184c2a9157558e595c4e4da814258f0ffd0e9dd64", + "timestamp": 1429351912, + "fee": 737315, + "sigs": [ + "9f44be793a0cb218b6836dfa52e5b8c38fe2b1257d27fcea49f4c6a6ed910f446e8a96a987fc06c6b6ae13ea8ea0290e91ea40b6f8eeaf8054e8efd17306573201" + ], + "inputs": [ + { + "uxid": "0976005ab4540e8211cd929f19634bfaa2f5d8e24177ddb5b803b447ea91f8c3", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873600.000000", + "hours": 2712, + "calculated_hours": 779245 + } + ], + "outputs": [ + { + "uxid": "6beca9fb58a327580c614d7fb5622916849756790b661bcabc880666364fdf47", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "863600.000000", + "hours": 20965 + }, + { + "uxid": "2010952c33c83599fa14bfa5982d59865f2a362c97270dacb4c180a485ee5096", + "dst": "8MQsjc5HYbSjPTZikFZYeHHDtLungBEHYS", + "coins": "10000.000000", + "hours": 20965 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46330, + "block_seq": 121, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "da82deafc15c36e7dc9cd95663e0dc910ae626ee543147ac7bd8682be00f7baf", + "inner_hash": "c98f858a27e76b0b565baaa3dffc6cfc7b0ffe9dd7d2d71f4bb0ad4d1c439ca2", + "timestamp": 1429382678, + "fee": 6644094, + "sigs": [ + "15fccdc36c966a9571196a3f727ebda47162441df2d9965ac27109ac56d22cb41638b404e84b5b388d809b814ade18022cba0a6e021140c6b7d0144a6facd6d501" + ], + "inputs": [ + { + "uxid": "6beca9fb58a327580c614d7fb5622916849756790b661bcabc880666364fdf47", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "863600.000000", + "hours": 20965, + "calculated_hours": 7401386 + } + ], + "outputs": [ + { + "uxid": "f8a1990492f970227ec29e6e095fa724d66fa2d6883bd8723773098d08ca8b3c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "801600.000000", + "hours": 378646 + }, + { + "uxid": "e5596ef0ba04ad9e0adbe0355a24c6bef249654906f917b68f8f0cf072508674", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "62000.000000", + "hours": 378646 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46329, + "block_seq": 122, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "211f5fc97ba1797d78f84d4e4db78415b5ff4121f78369535fe3f8015571c6df", + "inner_hash": "586a8297d8d148f79d8529fbc3e356f5de9570a3c34bc1ba8494b8269b03d0f2", + "timestamp": 1429382898, + "fee": 332972, + "sigs": [ + "cccee00def7817ec1b36ba5b02066f82eae188afc3e05e61524c62d19fe095e0363db085da6591841314da5f836f2f0068eae522e3d3937d2f96de99f924af6a01" + ], + "inputs": [ + { + "uxid": "f8a1990492f970227ec29e6e095fa724d66fa2d6883bd8723773098d08ca8b3c", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "801600.000000", + "hours": 378646, + "calculated_hours": 427632 + } + ], + "outputs": [ + { + "uxid": "998487775c0e58420673b70204b83c1d6bb5b70e34b1aa0f8169c85ecec2438e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "765600.000000", + "hours": 47330 + }, + { + "uxid": "1e0cf4e3ed49b52944f533a212e6412291e369ac3e7a8c4440424f475f2983b3", + "dst": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "36000.000000", + "hours": 47330 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46328, + "block_seq": 123, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "9003d3caba9587d46d000cc614bb52bed34adcc5ea404c560c986eb6dd756e6b", + "inner_hash": "2a87bcb0049b9971713a2e46b75b348785adca751b151290a411bfa5a0ed2287", + "timestamp": 1429451746, + "fee": 14677172, + "sigs": [ + "0da91c351fb050c243c7b587005bee14ccc2951897ffdf720ad9c757c5946e516a20ca0d92c5f84957161d10a74deab05a2b530ab5bbcd7ad01266213b5eb38401" + ], + "inputs": [ + { + "uxid": "998487775c0e58420673b70204b83c1d6bb5b70e34b1aa0f8169c85ecec2438e", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "765600.000000", + "hours": 47330, + "calculated_hours": 14689004 + } + ], + "outputs": [ + { + "uxid": "6fb116c110fe391448a1dcb985b67439c2e9a71d8bb2fd1cf345ac73ada6166a", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "755600.000000", + "hours": 5916 + }, + { + "uxid": "8e764a87cee9f26b902f748c28a5a49de5c383e5f155129eec84474a3d0349cc", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10000.000000", + "hours": 5916 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46327, + "block_seq": 124, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "e9a6dd585b564b19c55d9f56188a45bfad32fa75703fa6336830035f6fa92e3d", + "inner_hash": "9cdad9a848f5b2993d1e5d0593e952b39ccdf7ae56bd13851449797cccdced5f", + "timestamp": 1429522086, + "fee": 14768022, + "sigs": [ + "1f3d02abe6811c83b4f4b2e270366e8d4c591866b6e984cb8bdea5d80ca1edbb04d651449070bbca22a8c7cfb3d23a6f85c0a5a7e3226e2d0520330faf16291401" + ], + "inputs": [ + { + "uxid": "6fb116c110fe391448a1dcb985b67439c2e9a71d8bb2fd1cf345ac73ada6166a", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "755600.000000", + "hours": 5916, + "calculated_hours": 14769500 + } + ], + "outputs": [ + { + "uxid": "04471fb0797bb931e883f7b95cfff6ee4fea5e19a352ca5425fcd353c4f6aba4", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "750600.000000", + "hours": 739 + }, + { + "uxid": "a4fdfce34725eb63941ac576651fa406272565a344ffb21435d285111efbc4db", + "dst": "v7Bma8dYdBMx7RQ2NohXXDUo7eR5TWBscF", + "coins": "5000.000000", + "hours": 739 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46326, + "block_seq": 125, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "1ca0a2d44b6439b91eb839e0f99405abdcafe2c1a49c8b49b1739498129bd1a6", + "inner_hash": "1090d10a5a2210dc205d6f8447918670f9351feed057c76423629b4699777dcb", + "timestamp": 1429578056, + "fee": 11670300, + "sigs": [ + "39817412c5edb4cd928aa3b79a022d4b3276af74eb377d3821c1e95e4d6c6acd61ebbf5eb5d32f87686b6cb4f09c2660e1f148192873208fc963d67a6945fe0101" + ], + "inputs": [ + { + "uxid": "04471fb0797bb931e883f7b95cfff6ee4fea5e19a352ca5425fcd353c4f6aba4", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "750600.000000", + "hours": 739, + "calculated_hours": 11670484 + } + ], + "outputs": [ + { + "uxid": "6b616ad99a946538c3ab101f245bcab211ab39507848425e80cbfc8ec5bdbc67", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "738100.000000", + "hours": 92 + }, + { + "uxid": "a08089cd67896683d5dcb2d50256354e0d086b9854eb22bb6022cc459d447211", + "dst": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "12500.000000", + "hours": 92 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46324, + "block_seq": 127, + "unknown": false + }, + "length": 317, + "type": 0, + "txid": "243e1baa955c3f0af42d7acc4c920437dd0a99c754d6c5c2b7defcd143ff288d", + "inner_hash": "e7e030478e5828f44ec15b734638e8c2828f015b2fa5ca2823d24af3ad111ae6", + "timestamp": 1429848410, + "fee": 4600910, + "sigs": [ + "1519c5c730648e7be553b2738aaeff38266735276e640c8f8d455f33c4fc07283ae5a7da47742df118337ff0548efebb1c75d0350a4e578ff95269182779db2201", + "ee099f6f42c813d13f097e9b3a8604067d6afd3718e6eeacd88fb25050d42b8603a42c4f7d24058483f70328a24fc91cd6ef190286c4a678e28b757143e23dc701" + ], + "inputs": [ + { + "uxid": "c5df36ce47f6f183475317ab1c53eaa65428c142cb3e3906bf162d80519a203f", + "owner": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "12700.000000", + "hours": 2231, + "calculated_hours": 1767312 + }, + { + "uxid": "53b376413d550663ab51b229df8b0f55e4055d6577c2d8b5cec8ff748fe0e958", + "owner": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "18000.000000", + "hours": 1388810, + "calculated_hours": 3890350 + } + ], + "outputs": [ + { + "uxid": "8169bf7f8fa21dc6400b60678b302946cf2765f44893ec8466262fc69b710591", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "30600.000000", + "hours": 528376 + }, + { + "uxid": "ef488d5f4a019502115d3b6b50bd364692315c3954d7e93c3ca22e11b92fc528", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "100.000000", + "hours": 528376 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46323, + "block_seq": 128, + "unknown": false + }, + "length": 317, + "type": 0, + "txid": "c2c9fe882df3b44fbb125b251a7604a7a4f4195dddff6e5396b7f130744e2b27", + "inner_hash": "e23ed05dee949be1aabf237db1fd81be8d73c838eb0ee3026104807053269431", + "timestamp": 1429849170, + "fee": 42124753, + "sigs": [ + "8e9b1733227a841009881663a50e1e01ac2790f16416c6f973c89e15a8fc216044e156cc8fee84d3e3cc6371e4da340f5312726bfd66f16a635542d63c869c7101", + "d1f6b7078a9032159a165ffbfb1e0665bf9ced2c3d5db795fd5bd11fc53d790f56589cbbffd117eec50aa0dc8c0e65eccb13c5ccb5d39dc9bae739a49dda03b201" + ], + "inputs": [ + { + "uxid": "6b616ad99a946538c3ab101f245bcab211ab39507848425e80cbfc8ec5bdbc67", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "738100.000000", + "hours": 92, + "calculated_hours": 55585992 + }, + { + "uxid": "ef488d5f4a019502115d3b6b50bd364692315c3954d7e93c3ca22e11b92fc528", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "100.000000", + "hours": 528376, + "calculated_hours": 528397 + } + ], + "outputs": [ + { + "uxid": "ecb92dc2f43d4c6ca124575d8456d8894f3cb137875287beaa73180fcae2b3ca", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "737200.000000", + "hours": 6994818 + }, + { + "uxid": "6143275de37a2b5ec802eeeb8d38a3dfb2db6629128e44c4f9ffc0ce8ddad629", + "dst": "VD98Qt2f2UeUbUKcCJEaKxqEewExgCyiVh", + "coins": "1000.000000", + "hours": 6994818 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46320, + "block_seq": 131, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "6538399868cf772fcfa96e68c51aa6aa66faa95d7c685432e4005880932be134", + "inner_hash": "4854d5689f4c2b770d887ebf7f7d3fb975b295b0180d9354d69f2e322ae8b7b7", + "timestamp": 1430330041, + "fee": 80047494, + "sigs": [ + "d213d50e53ceffd053571431b78fa6417abae8a7c5080dd3f8cece59dc61ad2444dd541540f5734d34dca94b3b975b613da0800121af8ec83b6f20d81cd53ffd01" + ], + "inputs": [ + { + "uxid": "ecb92dc2f43d4c6ca124575d8456d8894f3cb137875287beaa73180fcae2b3ca", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "737200.000000", + "hours": 6994818, + "calculated_hours": 105466512 + } + ], + "outputs": [ + { + "uxid": "6b4ca83b3f73b62161c90c6da03dff460ca9a5a3ccd6fafca140137416dedc58", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "736000.000000", + "hours": 12709509 + }, + { + "uxid": "e7756fa7a5c067d595f7300828bc4c70152653700844130d88174ba37237e2a3", + "dst": "2iwB1VmUWbCoVd4gNstB9LKctw3htFhVmuV", + "coins": "1200.000000", + "hours": 12709509 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46319, + "block_seq": 132, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "3dfdfea4614d05c2f5eddf5773ef0afc745f1afe585141659df8e03e82897606", + "inner_hash": "3a4ac407aeec6233d3edf787d5b1f4d8257b594e9ee9d0ad3c32781053579b36", + "timestamp": 1430330311, + "fee": 9587333, + "sigs": [ + "f37f3398240cee8e38c41945db72d4feda20f88a2250528fe1165533acdc7dfc0f99c7db0fc965847a100d0a2f598537cdd8c73a96c5fbb4e5e85dbfd9a4384701" + ], + "inputs": [ + { + "uxid": "6b4ca83b3f73b62161c90c6da03dff460ca9a5a3ccd6fafca140137416dedc58", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "736000.000000", + "hours": 12709509, + "calculated_hours": 12764709 + } + ], + "outputs": [ + { + "uxid": "2cd58783beb8a9f6278f7a097151531091b5f15afd7735e1facf02aa720c1191", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "735000.000000", + "hours": 1588688 + }, + { + "uxid": "333156ed20ba6937d3720af3a81939362b9f4ad1e9591bc676945ff0d202131e", + "dst": "vdLGAnCfbBkxabcVk6tEsa6RH99JTxdzbt", + "coins": "1000.000000", + "hours": 1588688 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46318, + "block_seq": 133, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "d30cec3ad3a66562d2513a3656b366ea7da583e6ba45214ac12b9c2219b4c5ea", + "inner_hash": "58e355edef48ff22e9a83952130c1bd8fe9a7f9bec7b2e0535c103c0146604c6", + "timestamp": 1430330421, + "fee": 1213974, + "sigs": [ + "09baa4739816e5a86a46ecc30df8c00a5f046ad687f0674250640b6df2361dfe3723667872e0f6deb1d3447948e30b06f02b056a62da9dbaaef4db000eab747e01" + ], + "inputs": [ + { + "uxid": "2cd58783beb8a9f6278f7a097151531091b5f15afd7735e1facf02aa720c1191", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "735000.000000", + "hours": 1588688, + "calculated_hours": 1611146 + } + ], + "outputs": [ + { + "uxid": "52288a441c70260f6a3eab0e271969d54492377615a6fba8ec3ad26f11dc9768", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "734500.000000", + "hours": 198586 + }, + { + "uxid": "8b3d335360effd00cabcae13c2495f26f81743b82958629378b7bc78a7e460fe", + "dst": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "500.000000", + "hours": 198586 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46317, + "block_seq": 134, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "44d05abc2637d9cd2047984023eb5cfa0a146e58821117de30f9c81703189cde", + "inner_hash": "44886be6952cd483b9425d314836714af65037b58923aa2432ea946131ae10f6", + "timestamp": 1430330481, + "fee": 161181, + "sigs": [ + "7990cb04634a5e0de397917e56480805915c73d265fe466757a9e677067483787d457c7e9931a89daa6260c7a262f49ef1503cc88008809c193f1f949badcfbb01" + ], + "inputs": [ + { + "uxid": "52288a441c70260f6a3eab0e271969d54492377615a6fba8ec3ad26f11dc9768", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "734500.000000", + "hours": 198586, + "calculated_hours": 210827 + } + ], + "outputs": [ + { + "uxid": "e29ec214f4afd79e6465d03e4d88e552dc69654750a725d74873ee366c58e552", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "734400.000000", + "hours": 24823 + }, + { + "uxid": "d95d422fb8fe4ad9ce1052e566ec8a5ad7953ceb253366814b3d32e9a1da1f13", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "100.000000", + "hours": 24823 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46316, + "block_seq": 135, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "072f0738f834db0030d777e6ec0e0443627c51cecffcc55e41d43b0b8edd40d1", + "inner_hash": "e87dc97ec672bb45a3417f307e6f6a1cd75b26f508f188c0554484740ffea8cd", + "timestamp": 1430330591, + "fee": 41059, + "sigs": [ + "da4e898bdf324ab50d8f007ee4c65ab832ba64cf86fd0a601e7007a4c3ac2eaa6f1304a3fc8088b108e3f417e5b7c90cbc7d80c059885d397ae978da89c92d5f00" + ], + "inputs": [ + { + "uxid": "e29ec214f4afd79e6465d03e4d88e552dc69654750a725d74873ee366c58e552", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "734400.000000", + "hours": 24823, + "calculated_hours": 47263 + } + ], + "outputs": [ + { + "uxid": "8ea58a3736b35f0e3781e94198e8b73bba2536704b84b15900fb32701db8893e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "733400.000000", + "hours": 3102 + }, + { + "uxid": "617b584bb9e6b1d80daac915fb3079b22a326777d1515a40e7b7eddf427f4099", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 3102 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46315, + "block_seq": 136, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "b9a795552bec1a722718b44a08ad152656242b1d23afb53d2247b3016d920b7e", + "inner_hash": "8096fec4a2738f5b79df5359724f6cd7597c0d8c5bc18419f5825c5312e1dac0", + "timestamp": 1430330851, + "fee": 55295, + "sigs": [ + "315cc1de04ad6d1d68e9d63027cff2abc74d5b11a376623d70211ac0e8b9feed4c7f7952634d60b57604edfbe63f02bef172486320e9790d0bb6e44099d6473500" + ], + "inputs": [ + { + "uxid": "8ea58a3736b35f0e3781e94198e8b73bba2536704b84b15900fb32701db8893e", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "733400.000000", + "hours": 3102, + "calculated_hours": 56069 + } + ], + "outputs": [ + { + "uxid": "a1ed39cded6d9a0605b52f25cbedb363e57a168d1ad1d1db437816a401c061ab", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "732400.000000", + "hours": 387 + }, + { + "uxid": "e00c292e151fdafd24984b2dc08a4a328150006f95afaac9909dbffae1f07eaf", + "dst": "3iEkvqSQCNrm8tMVf5ABAx2Bp6EGL9wyMP", + "coins": "1000.000000", + "hours": 387 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46314, + "block_seq": 137, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "fc02772662176c282c2b6538732d3d6eb1399f006a0b52e64d07fc104038f638", + "inner_hash": "a7ef2323ca6ef0a15173dcc2ef44c0abd10933be70337360408ffb4087affb80", + "timestamp": 1430504186, + "fee": 35264333, + "sigs": [ + "9a30550db56d9c9ae901d835f856761b9c4298d56ffa94bf41eff5550ac180851189f2adf2e184b6f23485a1405eacb2d4cc937ff05490fb0bc609e654effd7900" + ], + "inputs": [ + { + "uxid": "a1ed39cded6d9a0605b52f25cbedb363e57a168d1ad1d1db437816a401c061ab", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "732400.000000", + "hours": 387, + "calculated_hours": 35264429 + } + ], + "outputs": [ + { + "uxid": "f89c968840831d03abaf3c41cf8a405e4b4ddbfb19f5ba300a8ea8e4dcb1d9a4", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "731400.000000", + "hours": 48 + }, + { + "uxid": "b6b6188973b600af774ad8a7b6d454f77713a51463b9a9a70c901ec5280a9789", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "1000.000000", + "hours": 48 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46313, + "block_seq": 138, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "9880bebc51471e0b3c520920db836d674f652503314cd74069a59ccad0d0967a", + "inner_hash": "feeb2f638e91dd685e6fe179edc7622ef3fcc8a5a7e795c07be12e03f221f67f", + "timestamp": 1430504236, + "fee": 10194, + "sigs": [ + "a0c15d7d5f36afc4c78045aae19c8d41a8652f0cb6d633622a1e55b4e54cd5a33113b02c24b02cca10797043d992aaac98bdbb33addd038611ac324795733c0b00" + ], + "inputs": [ + { + "uxid": "f89c968840831d03abaf3c41cf8a405e4b4ddbfb19f5ba300a8ea8e4dcb1d9a4", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "731400.000000", + "hours": 48, + "calculated_hours": 10206 + } + ], + "outputs": [ + { + "uxid": "36972dc046829caa340eaecbfeb42f4174bcdecfb87296d56503e5fb10e9de8d", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "730200.000000", + "hours": 6 + }, + { + "uxid": "bceafc261a2250f1bfb8154aea88370acfe6a41a4216bcb76c2016451cbcffd1", + "dst": "2iwB1VmUWbCoVd4gNstB9LKctw3htFhVmuV", + "coins": "1200.000000", + "hours": 6 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46312, + "block_seq": 139, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "578075959959db70ae86f4f60d2ae3ff245727d086eef86ed80db5e1c7c9fbaf", + "inner_hash": "eead8ec3c5e86e73f1e7add274fdbe0cecd5cd68c4fcd3cf17c1c7af9c5ee43d", + "timestamp": 1430504536, + "fee": 60856, + "sigs": [ + "d6331b6d3270100b8b009bbd343d6b82208d622b27ca3a4b371492b9c792f8433c981c57dfc760a3974f13acd86bbb24555b958e0c67e247c5a39d97295022d601" + ], + "inputs": [ + { + "uxid": "36972dc046829caa340eaecbfeb42f4174bcdecfb87296d56503e5fb10e9de8d", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "730200.000000", + "hours": 6, + "calculated_hours": 60856 + } + ], + "outputs": [ + { + "uxid": "6962c7c1fcc98f532a9003990163bb251811a4700257968a641b1fe975cfc51d", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "729200.000000", + "hours": 0 + }, + { + "uxid": "278b0caa6dddf4ce74772471b15fb9a8c364362b0ae3eeb9379e980504d8d512", + "dst": "vdLGAnCfbBkxabcVk6tEsa6RH99JTxdzbt", + "coins": "1000.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46311, + "block_seq": 140, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "de45a24c9c32f808a3d928f30ba8e1b6ef8117a7c0b7a5d616734d9b121d0c30", + "inner_hash": "efeb898fd032831cdd6d7c311f496f4c2622ee11bedc2831b6411cab51d44736", + "timestamp": 1430504746, + "fee": 42536, + "sigs": [ + "1646b02579d23e2350e2bc47340e027ad5f74bf55aba41fc1244631ba1e0577b681d364c3802017b5cc5d5fda972d23ac9bffabd6159384223a26aba5f08406401" + ], + "inputs": [ + { + "uxid": "6962c7c1fcc98f532a9003990163bb251811a4700257968a641b1fe975cfc51d", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "729200.000000", + "hours": 0, + "calculated_hours": 42536 + } + ], + "outputs": [ + { + "uxid": "d53fae3b48bde2d1328964a2e7f42e8e833983db159ba30f627926dea0db7df0", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "728200.000000", + "hours": 0 + }, + { + "uxid": "cfdefd8d167947190a223882d20c8ac7880e550ad1a3494bb05bff4b1df4e3ff", + "dst": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "1000.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46310, + "block_seq": 141, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "16f8b9369f76ef6a0c1ecf82e1c18d5bc8ae5ef8b01b6530096cb1ff70bbd3fd", + "inner_hash": "529b1fd21087bf52cb3ebcf02dbe1e3ce5de9daefa9754e5b6cde7be2d8ab0c7", + "timestamp": 1430504846, + "fee": 20227, + "sigs": [ + "8612c9e160f3e0d7cdcb2adf3611bde867dcb766c63ec4312a9251ba9b6ea6997c0d9a6ce26beaae01e82c22d2b61e5ae7f87aeaf0679fde395888aebafde94500" + ], + "inputs": [ + { + "uxid": "d53fae3b48bde2d1328964a2e7f42e8e833983db159ba30f627926dea0db7df0", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "728200.000000", + "hours": 0, + "calculated_hours": 20227 + } + ], + "outputs": [ + { + "uxid": "228794e6b3eb69aecc5334e140afbad22883326dcf229bd3092f238ed9ec800f", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "725700.000000", + "hours": 0 + }, + { + "uxid": "908fe94bd28886547f1b7b4fc98d0990a08a216b70877341f566b6b4685de364", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "2500.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46309, + "block_seq": 142, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "030177271beee04f1a0974d0c5042f07c7ca1db1c5d496fbee3c441b1b7c5bee", + "inner_hash": "d954f0ee1a437cf3809961063145bb205633ac66d9a29e1386eddb13503ddac1", + "timestamp": 1430504966, + "fee": 24190, + "sigs": [ + "6e5661f0212dfa0800df968dac30f931335d7fe99d23932878d7d2c06bf69691328d66897c3a5c023535035ed95de3b396ea162e4482e70cda5ec9d4c8e36d4b01" + ], + "inputs": [ + { + "uxid": "228794e6b3eb69aecc5334e140afbad22883326dcf229bd3092f238ed9ec800f", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "725700.000000", + "hours": 0, + "calculated_hours": 24190 + } + ], + "outputs": [ + { + "uxid": "6efc30b4c943ba4de8d2c89901a0b2a4d9a0ecf34713917eae37c6debca616ed", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "724700.000000", + "hours": 0 + }, + { + "uxid": "18293d947aadf89d9e57d18fa01408867a9abe267504edbdabf8c2a57d9a6323", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46308, + "block_seq": 143, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "57150aecde96bde972183b9b0d7d27dda2c0179fb71630e92c27856d211335cd", + "inner_hash": "8fa5487fbcb62adb17287cc80ea02f113f036035e486fe7a37a96a98d32582b8", + "timestamp": 1430505086, + "fee": 24156, + "sigs": [ + "ba2442a6f68ef825f2921dc135eca398904426f8d225eb122b210670d1b3bf1b2279abcd5cce5c18533dd8ca0286b23e2be9605f1cb6a5820bc1c783e95b833401" + ], + "inputs": [ + { + "uxid": "6efc30b4c943ba4de8d2c89901a0b2a4d9a0ecf34713917eae37c6debca616ed", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "724700.000000", + "hours": 0, + "calculated_hours": 24156 + } + ], + "outputs": [ + { + "uxid": "6c8b1ba9dc7e8900b42d55e9fbe6ea0e00d7eaccf67a7b66c0a2b771cf88ea05", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "724200.000000", + "hours": 0 + }, + { + "uxid": "456bcb0a2e57a5c20f2757c8fc7669af1f969bb5a57f89965210daf7107993aa", + "dst": "2jNYhHCuqQtU8kKkLf8ZZmKj6fywTL7fw2e", + "coins": "500.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46307, + "block_seq": 144, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "3bb9fc516dc2c522e28f99e6833253863c550547ce0e0a2dd963a0118b7a44a7", + "inner_hash": "111d56ae43b76740e905717e1e440f7611e922c50e83cf84b9edc51efa0271f2", + "timestamp": 1430505176, + "fee": 18105, + "sigs": [ + "18f2b86a6b51999f0fdc73d411c1db827730652ba2c098f1ff3f3dc0d409d6cf745d18d66bf25dae7e5a975e33f32e8d2b352c025a8e20ff15a68aaa60b1bbb700" + ], + "inputs": [ + { + "uxid": "6c8b1ba9dc7e8900b42d55e9fbe6ea0e00d7eaccf67a7b66c0a2b771cf88ea05", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "724200.000000", + "hours": 0, + "calculated_hours": 18105 + } + ], + "outputs": [ + { + "uxid": "59d44fefbe86ebae4118dee90609d6a1c08c36f259c65e3fad63b9e41c37bf0c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "723200.000000", + "hours": 0 + }, + { + "uxid": "d8ee5dc5cabcf179365345167d39977ae38a71e55cf357881258be32a45732bc", + "dst": "PCAtFnGVujpALXB1Gqb9CEMRMVXfVGu6iM", + "coins": "1000.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46305, + "block_seq": 146, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "5701965d326520f86335da87c6d1781fd49f1e66520b94e1783711eba724f482", + "inner_hash": "b792056beaf4a864c92e40ad63f9117fae52f4bfda9f88aa74f1255490c28ef6", + "timestamp": 1430641376, + "fee": 25062898, + "sigs": [ + "1d98fdd17853e4265c17644a993fdbe5047418b7be96258fdf3c2b3e9c739b1d72c5acc23981dac2d478966834fafa1f98aab2402ce37fe818d3919cf490a5e900" + ], + "inputs": [ + { + "uxid": "59d44fefbe86ebae4118dee90609d6a1c08c36f259c65e3fad63b9e41c37bf0c", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "723200.000000", + "hours": 0, + "calculated_hours": 27361066 + } + ], + "outputs": [ + { + "uxid": "5baf8c8ab1a01d80a6f496144815cf6bda5289b34055010e21324ea3950d3299", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "722200.000000", + "hours": 1149084 + }, + { + "uxid": "3dd82b00ef4d1e3b1c71be5f13c0c82b3e2b17af4a6b3eb4c966490f47866ccd", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "1000.000000", + "hours": 1149084 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46304, + "block_seq": 147, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "3fae944ef07d9bcba1bcbc8bde87da50a1232132074803f8442deb563ed2da51", + "inner_hash": "aeceb514529fcf9de954599318d804301689818b8d5c90cdbd3bdf6ce3768c47", + "timestamp": 1430641536, + "fee": 893911, + "sigs": [ + "b6b837c14a65c31150c24f93ac60a9b49baeb963cf49a8d97e817883ca46a3763168988b69542c5a52b7501674271ded3888bccda558aad004902ab7b7010f5501" + ], + "inputs": [ + { + "uxid": "5baf8c8ab1a01d80a6f496144815cf6bda5289b34055010e21324ea3950d3299", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "722200.000000", + "hours": 1149084, + "calculated_hours": 1181181 + } + ], + "outputs": [ + { + "uxid": "dd07d759d92e3d628a35c467dcd919dcae825a9fa79a14855714270dae08c0ce", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "721200.000000", + "hours": 143635 + }, + { + "uxid": "3ec30639c24acce65054bdb0d7ab0539199b64cabfcad83c2ed7f266fb8849a6", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "1000.000000", + "hours": 143635 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46303, + "block_seq": 148, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "79681167a7681edecb998e4a6dccdd0b7be45f163c8f6db23436517936269fb8", + "inner_hash": "b06c37ee520387277d5c174e0fefb11dbbbee9c7ffe53715b7b5bab8f4693dfe", + "timestamp": 1430642006, + "fee": 201883, + "sigs": [ + "150ffd203e65dac9dbfcaffb384a9233a274e0ced5a0c2fc9a3127e7a85df894124a5c1f0501c60640dce7d7c09cd1783ed61461f285fa89e6227ba1b427e81d00" + ], + "inputs": [ + { + "uxid": "dd07d759d92e3d628a35c467dcd919dcae825a9fa79a14855714270dae08c0ce", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "721200.000000", + "hours": 143635, + "calculated_hours": 237791 + } + ], + "outputs": [ + { + "uxid": "c739b518f3f700e810f81523d81b15f968fbf202f389ceaa9d9f303319a00275", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "720200.000000", + "hours": 17954 + }, + { + "uxid": "5233e499bd3e38ec4d4fa4d750290f25271c91b4903630d461be51f3c2c02ebd", + "dst": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "1000.000000", + "hours": 17954 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46302, + "block_seq": 149, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "b69536fbec9911da41e9d0c5ca73459f5e692ba155f8b72c0972792e9937a0fe", + "inner_hash": "a6d1d92496583cefdf9a9d4e278cdeac9d8e7c31eec3061f0a91bc0116ced8e4", + "timestamp": 1430642106, + "fee": 33471, + "sigs": [ + "d98168e1f19fbabcf0ec9fdf21d36486a2d70b13624bd2ec765bc773a08c7f5c09c7df2664e3205c7555bd3c5cb64ca78f5f0a81613ef4a7d740348e0132caf901" + ], + "inputs": [ + { + "uxid": "c739b518f3f700e810f81523d81b15f968fbf202f389ceaa9d9f303319a00275", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "720200.000000", + "hours": 17954, + "calculated_hours": 37959 + } + ], + "outputs": [ + { + "uxid": "95694746f813d018be7988aec666b52924a7815adabe9cbdac3f6ab0f51bd1ab", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "719200.000000", + "hours": 2244 + }, + { + "uxid": "eb57ec196fe95a09be19b62b6837d5d12f99568ad0e5e198f70f55083acd656e", + "dst": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "1000.000000", + "hours": 2244 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46301, + "block_seq": 150, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "3e228564e3c187e22bd489857fdb1db7036021e19f688aad56cfee57d5e13ac5", + "inner_hash": "9b4783f4cd11a81e945a2d09b699f76254caa3bbf22ce8533f3b9f179c207702", + "timestamp": 1430642306, + "fee": 41639, + "sigs": [ + "8bd5632a52c39ef9e9ce90ebabd119c8f93e32a5a5b6e8fe80c58163b4adcc040725f18321894b59c3546c8ce9fb182e1a4dd6a3b4405229635e3ac3d80213a700" + ], + "inputs": [ + { + "uxid": "95694746f813d018be7988aec666b52924a7815adabe9cbdac3f6ab0f51bd1ab", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "719200.000000", + "hours": 2244, + "calculated_hours": 42199 + } + ], + "outputs": [ + { + "uxid": "be958e5c47415291a781648335db24e448e1f4f09aa5e9c3f055fbc906b574d7", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "719100.000000", + "hours": 280 + }, + { + "uxid": "0fa23085def7c1dbc95587d3f0f58cbc30b09e099ee1afa42d9120452777740a", + "dst": "sV8sVBgs11uHQtZK5MPbYem2iJ6Hehghv7", + "coins": "100.000000", + "hours": 280 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46300, + "block_seq": 151, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "18607765c3fbd45eafa15d2d62ab3cbc7ba7bd80c42931aae4db75aa02898671", + "inner_hash": "dbbf7608b67e82363ced90b364a9b8c91029b336ef2b68182d986e399eacb41a", + "timestamp": 1430642426, + "fee": 24180, + "sigs": [ + "1972310d45a5baf10a8d929a132c725c51cdd19daae3baa640570aeadbb08ea700fbe46e6649289bec61065b05250b84872002f93634e6be81bae042cf80854b01" + ], + "inputs": [ + { + "uxid": "be958e5c47415291a781648335db24e448e1f4f09aa5e9c3f055fbc906b574d7", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "719100.000000", + "hours": 280, + "calculated_hours": 24250 + } + ], + "outputs": [ + { + "uxid": "68165429853e18e4414ec6c15630262ebcaa802ff1d83b6cbe116db51cb32066", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "718100.000000", + "hours": 35 + }, + { + "uxid": "efcb1b5f54bceb2d0124d2f89c47d071c2943fb228c2eee62bfddf6e1418cfc8", + "dst": "pMub1Pz3SLVaSwHoomgp5oDVxdkVxLkW6L", + "coins": "1000.000000", + "hours": 35 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46299, + "block_seq": 152, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "dc10e0565a14dfecda066577581f3e2d073de34ed3e911ed94413d38fc0a33d2", + "inner_hash": "821dfa6422bb093a528a2ec2bedd0566599cef3e2f4f91441f3073888e092832", + "timestamp": 1430642546, + "fee": 23963, + "sigs": [ + "1bb9e5e58a4a7dfc9a29bb22eabb2ee4dc6e40dd71b35962adf95d1c1208309727f070257b4591e959a4965cb8d22710233dd1f65c3b58ec47bb71e3d7ebd3e700" + ], + "inputs": [ + { + "uxid": "68165429853e18e4414ec6c15630262ebcaa802ff1d83b6cbe116db51cb32066", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "718100.000000", + "hours": 35, + "calculated_hours": 23971 + } + ], + "outputs": [ + { + "uxid": "46aeb9ea01bb04e28c55ef11f8e75434dbeee546f7e06bdef332c604590c48a1", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "717100.000000", + "hours": 4 + }, + { + "uxid": "c0548bf35c950a74c206d2c565e3bcac1f2abe170ebabdb7b74e439b642dd9fd", + "dst": "22WGCstVJGVyqnBuvGHt17L5aNNMpURvckd", + "coins": "1000.000000", + "hours": 4 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46298, + "block_seq": 153, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "b0d7ff47658b3e32d8457eb62f6df0c7caaf7feadcbf8cc0c713976026f0404c", + "inner_hash": "5154559a3393277ed8db279bf27a9572c9aeebe81f321d9fb07a5e4313005a90", + "timestamp": 1430642816, + "fee": 53786, + "sigs": [ + "a3edf9a3203fc696aefde6180d6c28fbaf3f4ee662ea90d82a93c3a8485593465f956713abfea8322b952d61969b29267f3826775638da77a1bf8567a40564e500" + ], + "inputs": [ + { + "uxid": "46aeb9ea01bb04e28c55ef11f8e75434dbeee546f7e06bdef332c604590c48a1", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "717100.000000", + "hours": 4, + "calculated_hours": 53786 + } + ], + "outputs": [ + { + "uxid": "598503902d2e6cb62d6f6478f09d8da05af6fd2da92b50825da3b7f74b2df34c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "716100.000000", + "hours": 0 + }, + { + "uxid": "045dc2e76321e37884588093083ce1b21be12f20ba1fa36f2a755b894229e3cf", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46297, + "block_seq": 154, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "be0957035ed2ac444f67273fc5c1c6a39ee373f6f83d1604d0023742a8cd7e42", + "inner_hash": "957140523c9acc14a4f6b6a2fd05e70c58d2ed51f43b4e88b1406b398f4e7b2e", + "timestamp": 1430643706, + "fee": 177035, + "sigs": [ + "ee25ac881aa867780086df4716864a9ec524deeecc140faa60b9f9b87805816c22659836b5169f8eab0977a2337638b6ed7cd7c4a5d4ee3664e7ad28e91dd5b901" + ], + "inputs": [ + { + "uxid": "598503902d2e6cb62d6f6478f09d8da05af6fd2da92b50825da3b7f74b2df34c", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "716100.000000", + "hours": 0, + "calculated_hours": 177035 + } + ], + "outputs": [ + { + "uxid": "4b917e7bd3409c43f9f670f2846ce74f9288708df5aa1d9ae142f2411ce426da", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "715100.000000", + "hours": 0 + }, + { + "uxid": "dbc58940c2457359501c9906589c3d0a0ab7695b983ad79f2bcc087a675671f6", + "dst": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "1000.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46296, + "block_seq": 155, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "c9582c8134fa64fdf08cd93d42035adcced3f16aa8ee1a1393e3fcd7c07aa40c", + "inner_hash": "ecd6b0cab28125e3ec1fe23a046c259a7d608802da7d6397dbd8b410de03b94d", + "timestamp": 1430643906, + "fee": 39727, + "sigs": [ + "95e5d5d0856bf5387de8fbdae05f5953510fd85ec346e65fa5fb68984bdb1ab83aa7807e57f00354d934f84a0034ecf8aa74fe3b8e9e480021873f62827770ab01" + ], + "inputs": [ + { + "uxid": "4b917e7bd3409c43f9f670f2846ce74f9288708df5aa1d9ae142f2411ce426da", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "715100.000000", + "hours": 0, + "calculated_hours": 39727 + } + ], + "outputs": [ + { + "uxid": "d50a372f8f8cd1e0b10d847613b68ee760f195f5f212d6c59e86312c84dd07ac", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "714800.000000", + "hours": 0 + }, + { + "uxid": "25a72cc385c1cdabd0ffd7c141ae205d767f3d016c281f835b9f58f9325bd2a5", + "dst": "YLT4buWf3kYDV9QddnC5iXTj881Eniuvrx", + "coins": "300.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46295, + "block_seq": 156, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "29a883ef9dc67bc683014187b9865c827b5e2f8afd7bf6f3787483318063789e", + "inner_hash": "bf3a81668fb27c0f55d9ec33490cb4c91ec7636ec1f85761fadbfebc020a618a", + "timestamp": 1430644036, + "fee": 25812, + "sigs": [ + "970a22ba9a849caf00fc787a182dd67a3be794db9d66c691e9d904a78f90397542dee63e801c8b7f4077060fda76f0ac56a67b30865cc4634679f118abe04fc101" + ], + "inputs": [ + { + "uxid": "d50a372f8f8cd1e0b10d847613b68ee760f195f5f212d6c59e86312c84dd07ac", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "714800.000000", + "hours": 0, + "calculated_hours": 25812 + } + ], + "outputs": [ + { + "uxid": "896865f9b610f9fb69a741596b3ecb9fff3790d40476a9f7852831bdf477aaee", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "713800.000000", + "hours": 0 + }, + { + "uxid": "a34cfb6f175323917dfda72d58ddcfb86363cc43d22a0c6c3141810f5cac5aa6", + "dst": "tG8F6fuw3KEUStpa85EFQDMHVw9piTzZ2g", + "coins": "1000.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46294, + "block_seq": 157, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "c3fd04cd27ea311b1a67d40cd3dbb2ea8ae2c6f6139620cb86be29f33ed99171", + "inner_hash": "5a975ee4a0f95c51a0a847b1d082bc4859a4b7904acbaece151c58e01f26a870", + "timestamp": 1430673946, + "fee": 5930488, + "sigs": [ + "06c22eb6cb03468010ffbd2b54faa5835ea44cf552779b0adb09817db7e5494d49031d2e4b8994b670857b193766a1f430857955edd627f290f71f970407139b01" + ], + "inputs": [ + { + "uxid": "896865f9b610f9fb69a741596b3ecb9fff3790d40476a9f7852831bdf477aaee", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "713800.000000", + "hours": 0, + "calculated_hours": 5930488 + } + ], + "outputs": [ + { + "uxid": "272d5bbd86a87796a20e3e4debc46a2076718800343bee4f72fc0217a98a10a3", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "695800.000000", + "hours": 0 + }, + { + "uxid": "25130a18aca13a37e4f4c08733cdda6a8629759f27ecba775999486c9deffa5e", + "dst": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "18000.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46293, + "block_seq": 158, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "3d9f1aa1b6206275081cb9c26155f6261be1ef9c94b4eaadb1a7e8277a2099fa", + "inner_hash": "ef7915c2cc32cfd043bf60533a563a89ee68a7b2f88e9e1e55e6a54494bde805", + "timestamp": 1430674696, + "fee": 144958, + "sigs": [ + "6d2993d471d4b27d4b0c2beef286dab7e38013853926fef032a8a10d9161fbff59b4eba58d7578182f9f1e79ee763ab409aec46748351b0a7d1a020a3fe3824100" + ], + "inputs": [ + { + "uxid": "272d5bbd86a87796a20e3e4debc46a2076718800343bee4f72fc0217a98a10a3", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "695800.000000", + "hours": 0, + "calculated_hours": 144958 + } + ], + "outputs": [ + { + "uxid": "60906201d3e7c67ddb976972460b2b8ed093e1f6720a784cbaea376ca13e6cef", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "670800.000000", + "hours": 0 + }, + { + "uxid": "c61f27a2247831679d8df293bf9351b16e8429778c875be2cb64224bcb842ed4", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "25000.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46292, + "block_seq": 159, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "d720ca0efb19b964f481724e5d3f932841e9e75a69b998baf4b575cf3298cb87", + "inner_hash": "b35da2487dfd396bc01b5296fab691557760886b23ba5bd18e52808549dbfef2", + "timestamp": 1430715196, + "fee": 7546500, + "sigs": [ + "9cb0a128d17a9c42f3e4e44f4da9106ef11407da8d9a434745add4c5f7a8e379325976d8c2222c3328acdc2c6ca597fab4fae292c5529e07c55919ce0e0320ca01" + ], + "inputs": [ + { + "uxid": "60906201d3e7c67ddb976972460b2b8ed093e1f6720a784cbaea376ca13e6cef", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "670800.000000", + "hours": 0, + "calculated_hours": 7546500 + } + ], + "outputs": [ + { + "uxid": "4912e9dbbb5a4cc7472c27b0212ab443e7b5499207b10666a66257005e182714", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "664464.000000", + "hours": 0 + }, + { + "uxid": "b1e5c694c30326cda3df2e634723999befbcbb141415e9a36bdbf18d7bea9870", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "6336.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46291, + "block_seq": 160, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "0e8e352b1f2cd419bca619918ce6d5ec1eac0ba7252d76eef5d9d8f8186f737a", + "inner_hash": "49571d7e7c6b3e473b938f1cf4748c67f9301ca710f26ee56d0d8e231cb4515f", + "timestamp": 1430784172, + "fee": 12731130, + "sigs": [ + "8d4556a22c5fb84792cc88bfb47f795e6ba9fc211933776acd89b6da9aff71ea7803bf5b0e1d9afef2f3f77bbc4a7633c459ab9cb11a06723c4cad570717edfd00" + ], + "inputs": [ + { + "uxid": "4912e9dbbb5a4cc7472c27b0212ab443e7b5499207b10666a66257005e182714", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "664464.000000", + "hours": 0, + "calculated_hours": 12731130 + } + ], + "outputs": [ + { + "uxid": "659bac1636b64087ad5d3cb0ae78c52f28ad920016ec67e08415a537e0343072", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "663464.000000", + "hours": 0 + }, + { + "uxid": "ea18f151bbdb611f73596b61ebb0546b9e91281ccb0bbe07a18e7fa69142bb5b", + "dst": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "1000.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46290, + "block_seq": 161, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "d5091ca65ff61998dfb4535a7927fb736abf2a81140a11322dcf8226de27cf92", + "inner_hash": "7a000aaa5751b65d3bccd4d307b7b8602aae539971de3af3baa3e126d52a54f2", + "timestamp": 1430784312, + "fee": 25801, + "sigs": [ + "693d3153218a69e2ef1e676d6c124dd7fab7ee312d41fd9dbe005a0e681a8b052708a9559fc08e8173e1ef83e45f838742e4a1af765ea7f0fddb38cee2cced8000" + ], + "inputs": [ + { + "uxid": "659bac1636b64087ad5d3cb0ae78c52f28ad920016ec67e08415a537e0343072", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "663464.000000", + "hours": 0, + "calculated_hours": 25801 + } + ], + "outputs": [ + { + "uxid": "97f64c3c636e5fc997e277cd48644055ef51045ed9c473c05dd6e699872a6c3d", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "662464.000000", + "hours": 0 + }, + { + "uxid": "0c19e689e0e34639c71b0136ce336121b042b6d4ac185ac1f9e94ec7535e781f", + "dst": "XnKU1htBL5wFSMX8oytZBsBMeaBSbVNivT", + "coins": "1000.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46289, + "block_seq": 162, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "30e66ff45cfb145eb465e2ebdef0bb10005138bc1727c83888785b04d548e85b", + "inner_hash": "c87fb6e81fc1d99b16958d4626aa0e5ec4033443230bbc8b35e2882c078bf868", + "timestamp": 1430784372, + "fee": 11041, + "sigs": [ + "b4feadec09b450b99795044931a94f7b8549bf876db7c62132df60056dd0c88e3821d1656407b1572fbb04eb71f6de57db43c997501989f44042d04fc3afdf4201" + ], + "inputs": [ + { + "uxid": "97f64c3c636e5fc997e277cd48644055ef51045ed9c473c05dd6e699872a6c3d", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "662464.000000", + "hours": 0, + "calculated_hours": 11041 + } + ], + "outputs": [ + { + "uxid": "122b7a9a61ee04e071002d74ffb26b12ed7952ff9a138b5437f990f4678cc2e5", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "662314.000000", + "hours": 0 + }, + { + "uxid": "db7a63750db787959a9e0d2d6be9a1ba8bb3d6015bae2353a27ae9eb55b39d22", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "150.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46288, + "block_seq": 163, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "ec79854fade530d84099d5619864a8e1e8ec9d27a086917a239500cada43c6e8", + "inner_hash": "ed6a317c8ea3624337463c1cca78bdcf87bf80dace1bccad050d27a49d3ea1d2", + "timestamp": 1430784932, + "fee": 103026, + "sigs": [ + "c0548625b3bc88308155f598c3304a124632c0faef8005b8f9306b229b632b253c5e163a02409ba40b01560f77a6acde2ccc48cb0efedd4feb68ecbd925917fa00" + ], + "inputs": [ + { + "uxid": "122b7a9a61ee04e071002d74ffb26b12ed7952ff9a138b5437f990f4678cc2e5", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "662314.000000", + "hours": 0, + "calculated_hours": 103026 + } + ], + "outputs": [ + { + "uxid": "c07593d4329f82da243e4bbd7430e4b10e7b35f9ce0a3718d0e6d25d20b4939b", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "661314.000000", + "hours": 0 + }, + { + "uxid": "250543215c71a1a9ab7740fff25c3bf9695fcde10bceba3717aef9d0f6dd40d8", + "dst": "2iJPqYVuQvFoG1pim4bjoyxWK8uwGmznWaV", + "coins": "1000.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46287, + "block_seq": 164, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "743bf1eede313145824db1c4f8d683b74ab5e0bc825082d986308b73fd52f1d7", + "inner_hash": "a0427c37a8ca9f8205630cc8d4c6d95200413d3397a0de9bf015763107b8fc80", + "timestamp": 1430790052, + "fee": 940535, + "sigs": [ + "dc400e921f7f94da5f353846f1340e039b4527fff121a56579390fb4fa4154634e3b3aad44ddf0aaebea5abc1dc5ba2a00540fd2888ed5c4ab7b20c51255086a01" + ], + "inputs": [ + { + "uxid": "c07593d4329f82da243e4bbd7430e4b10e7b35f9ce0a3718d0e6d25d20b4939b", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "661314.000000", + "hours": 0, + "calculated_hours": 940535 + } + ], + "outputs": [ + { + "uxid": "4d52106e41dba0099549fd81fb8feb6915225b0125c53faa0f7c578ea78f213a", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "660314.000000", + "hours": 0 + }, + { + "uxid": "bc513a68461d5c401e65a500baf7dfa163735ef63b817bb7b73c4139d5c29d18", + "dst": "212mwY3Dmey6vwnWpiph99zzCmopXTqeVEN", + "coins": "1000.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46286, + "block_seq": 165, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "3991a257eee265481e713917a3a9c15756f61175bcfc7acfdbe84158e43fd5e6", + "inner_hash": "dea502923be2dd8b4c48eb7ed2b146793ef840e9749d129bf7f6bda0fdcc43de", + "timestamp": 1430790152, + "fee": 18342, + "sigs": [ + "dbb23f6d22438c10b98b437fe2ee4d7c5513aba7b0b6141648ac22f07e3768fc5d8d80f9dbcaa95edf925668b6018793a01ca70cf7b48d7c7deac106557ebf7f00" + ], + "inputs": [ + { + "uxid": "4d52106e41dba0099549fd81fb8feb6915225b0125c53faa0f7c578ea78f213a", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "660314.000000", + "hours": 0, + "calculated_hours": 18342 + } + ], + "outputs": [ + { + "uxid": "fef9dd3b633274743099e607d9229717a001d6de6a4031479cc30d31d65e8396", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "659314.000000", + "hours": 0 + }, + { + "uxid": "5954742a6ca4e3e872d12d4a93436451ad52e6d25e5ac28371e308b2d7ce75a3", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 0 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46284, + "block_seq": 167, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "b29222c08f10b8bc4ea18981519a3b0e02b9c9cec63ee28d9ffa2efcaf2a8e5a", + "inner_hash": "61c38575be160010335d96cf7c6ef0608cdb7b85079f2518532d00b6f42f13d0", + "timestamp": 1430791902, + "fee": 253195, + "sigs": [ + "cb5c75671164755516cbf4d94e2288d56985b4d3113538bc818d1aa1c944a76b1beae28964c8e596ab0cd252cda6cf2a5468cbd0dbeff21e35609b5a6577eb0a01" + ], + "inputs": [ + { + "uxid": "fef9dd3b633274743099e607d9229717a001d6de6a4031479cc30d31d65e8396", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "659314.000000", + "hours": 0, + "calculated_hours": 320499 + } + ], + "outputs": [ + { + "uxid": "21f0fb666dca05d7a43ab26a378f7f7eaedfacde22fa047ca72857e9509cc748", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "659214.000000", + "hours": 33652 + }, + { + "uxid": "0b5e5259c276ac949de97062492ea6dc93ae6215c8dd1615862907e3c3ae9cf0", + "dst": "2A2YC8kxWnUDbscpzZ6UPfNAmx5ddKBeYNs", + "coins": "100.000000", + "hours": 33652 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46283, + "block_seq": 168, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "50fc81b0ba25669105a169a969459ccdb10278051b604a3f91467c2528c83652", + "inner_hash": "c356824e25deeecd3f531eb56a26d5875b7b81743e9c8f3d6beff5f634bf5e3f", + "timestamp": 1430792072, + "fee": 56369, + "sigs": [ + "ac3b968f82649fac3822db1af5c0be17fc20cf86e091362b1584a2b66c033b10541f70fb6f55d8e1b3c57161ce37412a52d2009dd8abc9ef7ab038b19d8d644401" + ], + "inputs": [ + { + "uxid": "21f0fb666dca05d7a43ab26a378f7f7eaedfacde22fa047ca72857e9509cc748", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "659214.000000", + "hours": 33652, + "calculated_hours": 64781 + } + ], + "outputs": [ + { + "uxid": "6b3a0cab1d9ad6fd011a3bac5e6ff4e3f7903bce911dc7fe83926eae557c34c3", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "658214.000000", + "hours": 4206 + }, + { + "uxid": "a02148f770788851a35fb90567510044e37f8db930deab7a2b584af67c8efb2f", + "dst": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "1000.000000", + "hours": 4206 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46280, + "block_seq": 171, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "fb495093f2f4e5c6555c50150ea60c0a6f430e53aa971ebb3e2b5412866a1f06", + "inner_hash": "05596340e51ad628080101c8e92a60f27e0f5ab509e892f9b65a0988b1575ddb", + "timestamp": 1430870562, + "fee": 12326841, + "sigs": [ + "068a56e916267a1756d9348bb965f3ed2dcba956fe4c626cd4836921dd836f7c0fa923d6451d5c87aa2eab528ff19ec332434bd12e197eeafbf0896e84940c4401" + ], + "inputs": [ + { + "uxid": "6b3a0cab1d9ad6fd011a3bac5e6ff4e3f7903bce911dc7fe83926eae557c34c3", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "658214.000000", + "hours": 4206, + "calculated_hours": 14355099 + } + ], + "outputs": [ + { + "uxid": "372703f8109295f0f58fbee58795979e10dd887869f4fc1da4881ce8a3c0aeb4", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "647750.000000", + "hours": 1014129 + }, + { + "uxid": "a35044035cce79cb988c757dcaf5d9a065957c0fbc1a3559d08ed46831504fc2", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "10464.000000", + "hours": 1014129 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46278, + "block_seq": 173, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "a7665cec98224150968ec1ef9ef2d6b3175c9de8f9f8c7bc786b30cc74997c57", + "inner_hash": "5bd2503c4ff78e7c9d182bfe5e62e54f1bfb944bb526d97b272021d8ccfa9359", + "timestamp": 1430871512, + "fee": 930183, + "sigs": [ + "dbd1e8763cb9681aeb96edc0c8483decee30b670778bec88da249f9d4f2201c330d2a16349608ba51eb8a387805dce9618810c4e6fd7af548cccee7d2c9c5dd201" + ], + "inputs": [ + { + "uxid": "372703f8109295f0f58fbee58795979e10dd887869f4fc1da4881ce8a3c0aeb4", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "647750.000000", + "hours": 1014129, + "calculated_hours": 1185063 + } + ], + "outputs": [ + { + "uxid": "14027340f6e1d98bba3f7f5f3b50e3588f8a19e4d021db944e7a28b2643640e1", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "635750.000000", + "hours": 127440 + }, + { + "uxid": "793f3f0e41c9d1de391d864792b79ed8c24dde5ff84a73c161d660a73ed70c90", + "dst": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "12000.000000", + "hours": 127440 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46276, + "block_seq": 175, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "9364ed6cfcc289df74dc6bac1993f7ab3441b898cb3f06918198d2476c83dbac", + "inner_hash": "a55922b0495d39c8e9db70ac9aca99266d5a7f3644106b4b5468345d955acf41", + "timestamp": 1430908702, + "fee": 6658374, + "sigs": [ + "cecae09b7925e9f6db1ccf5ef9a93687a43bbeaefe2888abcc07411c71f850c80c05ed573abd67bf9f0e8a096a1aba8187547e3d062e5ed147ac51961cc3559701" + ], + "inputs": [ + { + "uxid": "14027340f6e1d98bba3f7f5f3b50e3588f8a19e4d021db944e7a28b2643640e1", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "635750.000000", + "hours": 127440, + "calculated_hours": 6695090 + } + ], + "outputs": [ + { + "uxid": "8e55f10a0615a0737e6906132e09ac08a206971ba4b656f004acc7f4b7889bc8", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "625750.000000", + "hours": 18358 + }, + { + "uxid": "d91e07318227651129b715d2db448ae245b442acd08c8b4525a934f0e87efce9", + "dst": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "10000.000000", + "hours": 18358 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46272, + "block_seq": 179, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "f58f664eea258100126636a4111838e489ef5aec848ca8498319c290fa2a0805", + "inner_hash": "db98f515ce6c3d99fd7c39a6ac59ab498b1a2cc8fc6a13377ac7d3d463898e7c", + "timestamp": 1431339429, + "fee": 63843789, + "sigs": [ + "1ca18424c9a313e9c253aecaec3c532c35c60e454f026a3d2794c772bc74a19809d53f8862962e865dd822dd054cd7f32b89b810968d95c9db6a9a0c1095390601" + ], + "inputs": [ + { + "uxid": "8e55f10a0615a0737e6906132e09ac08a206971ba4b656f004acc7f4b7889bc8", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "625750.000000", + "hours": 18358, + "calculated_hours": 74887085 + } + ], + "outputs": [ + { + "uxid": "fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f20", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "615700.000000", + "hours": 5521648 + }, + { + "uxid": "01f9c1d6c83dbc1c993357436cdf7f214acd0bfa107ff7f1466d1b18ec03563e", + "dst": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "10050.000000", + "hours": 5521648 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46270, + "block_seq": 181, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947", + "inner_hash": "f8293dbfdddcc56a97664655ceee650715d35a0dda32a9f0ce0e2e99d4899124", + "timestamp": 1431757585, + "fee": 65605413, + "sigs": [ + "3981061c7275ae9cc936e902a5367fdd87ef779bbdb31e1e10d325d17a129abb34f6e597ceeaf67bb051774b41c58276004f6a63cb81de61d4693bc7a5536f3200" + ], + "inputs": [ + { + "uxid": "fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f20", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "615700.000000", + "hours": 5521648, + "calculated_hours": 77037939 + } + ], + "outputs": [ + { + "uxid": "8f9c09c37e0c636178e4229e2e8212c067ef0a8c501be9e2757a97b980d7a98a", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "605700.000000", + "hours": 5716263 + }, + { + "uxid": "32a060b2e2025cceb40f3f982c887952d3358d468db1719dd892eab575c14c14", + "dst": "212mwY3Dmey6vwnWpiph99zzCmopXTqeVEN", + "coins": "10000.000000", + "hours": 5716263 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46267, + "block_seq": 184, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "a230d5b5b745bb51d40e86b11e6508dc84a486f5ffd3584b0d45818ab8520802", + "inner_hash": "e6acee381aaefcd94f28b3a7ef5e6c34232fd5e78e96816d71c9c60248d6c5c6", + "timestamp": 1432327272, + "fee": 93088328, + "sigs": [ + "2e70883dc210920e639b5f22efd820a5f04b5290bc65b6ef4c52cd6283ef7a2e580fec499d33a71700a61dcab9200ee09a08a695affa9c12ef00d6d07cb0164001" + ], + "inputs": [ + { + "uxid": "8f9c09c37e0c636178e4229e2e8212c067ef0a8c501be9e2757a97b980d7a98a", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "605700.000000", + "hours": 5716263, + "calculated_hours": 101566100 + } + ], + "outputs": [ + { + "uxid": "d620b98b74f27e2afc0fcd750037de5d157666d2dae15817348059d23ec97f52", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "565700.000000", + "hours": 4238886 + }, + { + "uxid": "d66dad2d285942e38e13fd5d921cd142e86489a16b0f83ece7249e72704f6536", + "dst": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "40000.000000", + "hours": 4238886 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46261, + "block_seq": 190, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "655651b51d288fae2ca80dd8231fbc8927e7f0203d698bdf0dc47e1e9c63652d", + "inner_hash": "472ae342c5dcb47ec7cf0b63fba1414d5e4a32c63e974ce390d55fb668972151", + "timestamp": 1433229543, + "fee": 109516348, + "sigs": [ + "7dfbaddfb6b73fd84f23644a755c025b8480ab8754ad2e1a1c95d53ff52ed87e45030465ead44995235678e6e53ead91926da4af940367bef53ba7ae229edb7901" + ], + "inputs": [ + { + "uxid": "d620b98b74f27e2afc0fcd750037de5d157666d2dae15817348059d23ec97f52", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "565700.000000", + "hours": 4238886, + "calculated_hours": 146020748 + } + ], + "outputs": [ + { + "uxid": "30e062105d7ef8c4981932d80d904bee2270c238bc36a6532a8917cce05f17b4", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "565100.000000", + "hours": 18252200 + }, + { + "uxid": "8cb546636d5039df6d4bda41a10322ea6dcd0fa0c766d3e2f45a6f30040765e0", + "dst": "9vNYwzpjSgw4dRyTc7SAP4z9Jh8bhwURnu", + "coins": "600.000000", + "hours": 18252200 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46259, + "block_seq": 192, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "cff22d57daf828015489bba3b01538369f5627cc89ad0f139261bb0be0dac4a8", + "inner_hash": "4fd9cd0aab064ef8cf67e2b6b0102aa1cd4df52cf60b00206cc7b5619bcf5acc", + "timestamp": 1433331745, + "fee": 28712805, + "sigs": [ + "36a79d8ce7050bf1df11c9e839ecbb75f889161c7f3a81539a5da630953dad30159d0db804123c48f3bcabe2314887614bd57be64f951f7162ffc08f5810d23101" + ], + "inputs": [ + { + "uxid": "30e062105d7ef8c4981932d80d904bee2270c238bc36a6532a8917cce05f17b4", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "565100.000000", + "hours": 18252200, + "calculated_hours": 34295075 + } + ], + "outputs": [ + { + "uxid": "32463caca7ea96e2fb3fb03502b29513bb9e6385cb6097c4ba411ea808b6e5e1", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "564100.000000", + "hours": 2791135 + }, + { + "uxid": "79fc203078f4a201ed7bfb09977a75a5b22794645606aef22824d3fda9285932", + "dst": "2fcUG6oQSsaWZK9Crqkh6LzGfZexqUqtHWg", + "coins": "1000.000000", + "hours": 2791135 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46258, + "block_seq": 193, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "1b83454b4e61348b9c643815c26350b4e34796170593895961f329a759cbadf8", + "inner_hash": "d551018fa96bcf1df6ae0136f75bfb5db002e6e41723fa80ab4fb5a1857bfcde", + "timestamp": 1433334775, + "fee": 2568137, + "sigs": [ + "9c02e3b3c6cc517badf9a4408bb9bf9d8d72fad0e2cc3f04f2e176bcfc2a7fee1b4740c4bc4eaa4ae008a9a18eda3f0cace91199613b14d2c34178cca1ac8ac500" + ], + "inputs": [ + { + "uxid": "32463caca7ea96e2fb3fb03502b29513bb9e6385cb6097c4ba411ea808b6e5e1", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "564100.000000", + "hours": 2791135, + "calculated_hours": 3265919 + } + ], + "outputs": [ + { + "uxid": "3fa8d60e34b1195ee24fde2c4594b8c0eaf06cb114b395bbce6bebeeccf709b6", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "561700.000000", + "hours": 348891 + }, + { + "uxid": "6a349ba12c5d2827de6c24773d3dd8f6572e86adba4c8954a6d6e68df9e165e2", + "dst": "PRXLNyB64cqaiG4pCoFZZ8Tuv7LWYPpa7m", + "coins": "2400.000000", + "hours": 348891 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46256, + "block_seq": 195, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "fa7a60f6d4a22404e28ce9d1600442c19237552d8678bd610793cb8e6b3353d4", + "inner_hash": "cc33e2831789b20ec4eb187a6b44a9f772aa243f3f5f6262cb46087a0a6ac3f5", + "timestamp": 1437050608, + "fee": 495228940, + "sigs": [ + "9b8e90365377deb3da537fdda4653f117c1c7de525b611d9d07f23139b5d4c642af80ad70779aa012b6399e73af8e08e87952f085edf8060f0832635e3244cb400" + ], + "inputs": [ + { + "uxid": "3fa8d60e34b1195ee24fde2c4594b8c0eaf06cb114b395bbce6bebeeccf709b6", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "561700.000000", + "hours": 348891, + "calculated_hours": 580122056 + } + ], + "outputs": [ + { + "uxid": "ac638ce4f15f749b3ef4168fed59a9ae0e8b5f8894b27b151fae31af102d245a", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "561600.000000", + "hours": 42446558 + }, + { + "uxid": "054e39b1d37f10a4e1ee6598d66bd7cdd8f97b5ef0de2666120ef710c053af98", + "dst": "2Rjx22U3oDAv1sK5kNRGbr8ohLZPf7tY5Qa", + "coins": "100.000000", + "hours": 42446558 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46254, + "block_seq": 197, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "b18ed75097ed7910315e3be9042c0ca0b734d30a1afb8f9346bbe18acddd3a8a", + "inner_hash": "847e1acbed683214ad9e0fe164204db0ae8f2ce1cc420cb25aa63c76a4739580", + "timestamp": 1437051128, + "fee": 31904730, + "sigs": [ + "523ef82bcc586c5c885ca0fc7f2ffe5057573556a8bfaa3d9eb30b6316e698e93ac11a9e0d8a3c2a8ace763d80edd8e059153b61a4a35fa6f0b214d8ba0c485d00" + ], + "inputs": [ + { + "uxid": "ac638ce4f15f749b3ef4168fed59a9ae0e8b5f8894b27b151fae31af102d245a", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "561600.000000", + "hours": 42446558, + "calculated_hours": 42527678 + } + ], + "outputs": [ + { + "uxid": "6d453ceff872a65be937598159fac754390c00e7731cc73c72169c476d1625c5", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "527520.000000", + "hours": 5311474 + }, + { + "uxid": "bd55382fd8ca5b623b167dd7180ee0165eca5e74a6b2be453536ce8b5e1231e0", + "dst": "2Rjx22U3oDAv1sK5kNRGbr8ohLZPf7tY5Qa", + "coins": "34080.000000", + "hours": 5311474 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46253, + "block_seq": 198, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "cd6fae6c021e64768cbb2e0a17ec6853db94b5dde52b417f872371dc3c24a27f", + "inner_hash": "8dde5734f617c1313288ac9d1b762a7d1e88b68846945b83c35935bcce1fdd8a", + "timestamp": 1437139506, + "fee": 16933928, + "sigs": [ + "1221df811e418338ca156c42fc881d1cd7384b819a6683d4a54ab6e78521e32761452bcbb7ad856fa345a8f80c6206b19bd178c09975b87180f86448994ba07c00" + ], + "inputs": [ + { + "uxid": "6d453ceff872a65be937598159fac754390c00e7731cc73c72169c476d1625c5", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "527520.000000", + "hours": 5311474, + "calculated_hours": 18261796 + } + ], + "outputs": [ + { + "uxid": "bd9c90d1c11fd00392db236d4c7fc06da07806c1676e4cc6df25c9df35e75d9d", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "527220.000000", + "hours": 663934 + }, + { + "uxid": "42ec7e7302b1464d94e99c7b842e477d10e55328257aa5d1987052a3bdcc8690", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "300.000000", + "hours": 663934 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46251, + "block_seq": 200, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "2e05ca5b53cdaf3d65102aa6a4a707a324e5bfa7fa46e9b3b7328d1e0363822a", + "inner_hash": "08832259284fe4965625e2ef97d1ff3b40d7832b159b3d5369fc086ebb95479f", + "timestamp": 1438939186, + "fee": 54694521, + "sigs": [ + "820dc5d47540b0978818356b512731ae47517c061a1b660e7fd47e8f3d6420700377fd2ec04b618504cd3dadf642111df2f6c1f6edf2a4067fd460c69e8eb07301" + ], + "inputs": [ + { + "uxid": "6c34016037cd17622846e71bc635914d4d8f256c147aa5a0b84a896e83229480", + "owner": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26400.000000", + "hours": 64785, + "calculated_hours": 70389941 + } + ], + "outputs": [ + { + "uxid": "6e4110a8ed6f2b8b8772516466032a99b4851de65cf9ce1b5c5673946b7408a9", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "25400.000000", + "hours": 7847710 + }, + { + "uxid": "50e534ebc9c3f0b99461ad70b01d415eabfc046e824a5d1ba46854c913928612", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000.000000", + "hours": 7847710 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46226, + "block_seq": 225, + "unknown": false + }, + "length": 317, + "type": 0, + "txid": "5a348a2f9d4e70f1f0d68fa9abc66d8eb4adcd45942c89d79a4121033e7dfc39", + "inner_hash": "a282319ed05751e5df08ece9dfe9fdcc73ee03b3efa2227c78ed1fd65a072c23", + "timestamp": 1440298886, + "fee": 356772925, + "sigs": [ + "c2e5060c13dbcbe8bd76cbe8d7fa2aab8a8738bc6b1c1acf50366f211cbda18611feb1e218df129d1e6a6f957310ad08a139c03555d6ba2b99f52fd988e0a96800", + "90ed23dacf21e05817442155cf7ae9867a9531ee0e1c4b575caaec7c65ede2f73344e1b12e093b4d1ebb11e457f066560d1a280cf8cb48fbf7e937202c329fa001" + ], + "inputs": [ + { + "uxid": "bd9c90d1c11fd00392db236d4c7fc06da07806c1676e4cc6df25c9df35e75d9d", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "527220.000000", + "hours": 663934, + "calculated_hours": 463355135 + }, + { + "uxid": "50e534ebc9c3f0b99461ad70b01d415eabfc046e824a5d1ba46854c913928612", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000.000000", + "hours": 7847710, + "calculated_hours": 8225404 + } + ], + "outputs": [ + { + "uxid": "75323e65eec723bb62819835a2e9ae9d7aff770fcf076dd0325e03abec471bb9", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "518220.000000", + "hours": 57403807 + }, + { + "uxid": "44233d76c4cfcf6d45efd339ea004c41a3c21f5e9b1919484f4256c53e8aa5a7", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10000.000000", + "hours": 57403807 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46225, + "block_seq": 226, + "unknown": false + }, + "length": 317, + "type": 0, + "txid": "e91d2553c18538d90847e7d432c75978abb0f6f84edeea2f942d018e7306074b", + "inner_hash": "e16c45b163f87caefb9d231d4608e6a9b67b5d379a7bff3aebd6587cfa349df6", + "timestamp": 1440299046, + "fee": 86129188, + "sigs": [ + "cdcc51cad962fa4c6da30a44222c1a7d91501d07ba358c5a017b1105ec6f95091ba4ed430a95220492b228cd1b48a74f19c08ef550108cb639a7451e6d80cb1100", + "6969d30799e0687d3c80ce026bc510f920171ed4fb592ce3bf7ba1c142ec515230856a3c5b618495b449f264dd4ca1c1cea6e0e95756b2d0201d280571ba41e301" + ], + "inputs": [ + { + "uxid": "44233d76c4cfcf6d45efd339ea004c41a3c21f5e9b1919484f4256c53e8aa5a7", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10000.000000", + "hours": 57403807, + "calculated_hours": 57404251 + }, + { + "uxid": "75323e65eec723bb62819835a2e9ae9d7aff770fcf076dd0325e03abec471bb9", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "518220.000000", + "hours": 57403807, + "calculated_hours": 57426839 + } + ], + "outputs": [ + { + "uxid": "7d9bc531b7a990d565c3f8d64de6861a2c619c80ad5014685548261fa13c4b78", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "528170.000000", + "hours": 14350951 + }, + { + "uxid": "dfb90c1854bbf56bb87452a2870b4270214ca163df7d77f37c6bbf9d4ee2878a", + "dst": "2F4uJss1tkD7LNUp5RmxF1DPqgyzKVJm5tb", + "coins": "50.000000", + "hours": 14350951 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46224, + "block_seq": 227, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "71f762590ff2ca5e0591405ca5bb81aa2540981ea6e5cb71da1b30e4f91124a0", + "inner_hash": "024a7d284281f46931f4068a7dc377064aaf51b1c841e8d43a9f80f19aa52a8e", + "timestamp": 1440299156, + "fee": 10779353, + "sigs": [ + "dac9b5146b34a81f1c167cb54a15584e4323cb1910bf8de6c3b999f903a88b25473df3474c5ebce317dc40b121c632a79ecc8e9081406cc5d4b7a9848bd13d0f01" + ], + "inputs": [ + { + "uxid": "7d9bc531b7a990d565c3f8d64de6861a2c619c80ad5014685548261fa13c4b78", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "528170.000000", + "hours": 14350951, + "calculated_hours": 14367089 + } + ], + "outputs": [ + { + "uxid": "e07733e150eee8faacba13e00b2719618f44c57311881b450eff03a8a7fad882", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "528120.000000", + "hours": 1793868 + }, + { + "uxid": "b79723cfa4ff5c819de20392e8f73e16d353dc4af31eb0c7857735d74f0b1469", + "dst": "ywucfMPRof9HqQPXM9xaY865THKsK2bgsS", + "coins": "50.000000", + "hours": 1793868 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46223, + "block_seq": 228, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "8ca1a46e2ea862c0886adccc211140ff394315c580a8f2da711eeed39d6326eb", + "inner_hash": "e026ab911b2370df6ef3cf8ee91e2005ab9fa978efd4074a8415aa272b0c19a9", + "timestamp": 1440299256, + "fee": 1360072, + "sigs": [ + "2805ab4816da23f9e1fc26c8940b5b5b27f90c910201229e239fa2b8f3cb4f9a5d1b57a62c48d5fc21ed11ccc121d22a8269af51a9de1359dd897a78a068d9a300" + ], + "inputs": [ + { + "uxid": "e07733e150eee8faacba13e00b2719618f44c57311881b450eff03a8a7fad882", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "528120.000000", + "hours": 1793868, + "calculated_hours": 1808538 + } + ], + "outputs": [ + { + "uxid": "ad55899c8170d5a577e2a501698002d83dcbf46a72ee351c1f45b366e91ec29c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "528070.000000", + "hours": 224233 + }, + { + "uxid": "03db7662bf54eadcf812dc76fad91d4022dc55b895ce8be3a4f13bda048bd281", + "dst": "23t2jE6DAMUUan6bgqQZchHtwtZo5sRUgR7", + "coins": "50.000000", + "hours": 224233 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46222, + "block_seq": 229, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "ac0737f4a51a7274f6a32f337d21af0681eff77276f6365c1809a1a73564e850", + "inner_hash": "b0faed6dd74071ff4e4083f9e5f73ff5af90fda24b4e52a00962bae7eaadf5f8", + "timestamp": 1440339226, + "fee": 6031218, + "sigs": [ + "34abcaa9a093713d2a19323e234d216169d3f75336b3170c1ab7c281386d42da0e97cf5e444a7473a0b1806d3d887e9622a329770c57f27c7532f3b69e3a6b9100" + ], + "inputs": [ + { + "uxid": "ad55899c8170d5a577e2a501698002d83dcbf46a72ee351c1f45b366e91ec29c", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "528070.000000", + "hours": 224233, + "calculated_hours": 6087276 + } + ], + "outputs": [ + { + "uxid": "daf47014d9191ccfe8bc920aed20088f40c404dbf1836596f021bdd65bdf3467", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "526970.000000", + "hours": 28029 + }, + { + "uxid": "db47ae0c8f6fb640a199a01ceb12c63c26303fd866840f964b634b2f1a7490ab", + "dst": "2bJVVKi3UU9FKEAnZpvNQRWMom9Pp1SYp8k", + "coins": "1100.000000", + "hours": 28029 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46221, + "block_seq": 230, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "26746e5734590a1ef50f6d8ec6f58c25ed4b2bc57324f9e321f5543807f8830a", + "inner_hash": "66744475146d04a7d95866e1e19b97e1d903e95bc5e8ea96223b281b7b95dbf7", + "timestamp": 1440400166, + "fee": 8941454, + "sigs": [ + "199134f5ee986ec6a7a86d01920a98c8930be6f224dfeddece5c94155c9b4cea59b78c855887769f00aa6aeb76eb8e632f25b58bd5409fd481fb6663c30db67201" + ], + "inputs": [ + { + "uxid": "daf47014d9191ccfe8bc920aed20088f40c404dbf1836596f021bdd65bdf3467", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "526970.000000", + "hours": 28029, + "calculated_hours": 8948460 + } + ], + "outputs": [ + { + "uxid": "8421f4591fa459bba5bb36d8e3465253ae6fa8ce66682a50bbab92bfeb0eac5f", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "526920.000000", + "hours": 3503 + }, + { + "uxid": "10c9fb1e6e6eb1a70af6e6714c1c0edb9588478cddfdbccb9ac5b2194abcbbfd", + "dst": "Vq7DUM8vGL81QS8S4SXBNTBvLHpkLf9Eaj", + "coins": "50.000000", + "hours": 3503 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46220, + "block_seq": 231, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "4553ac3bd00bc61bb9deb8a2bf3c606ecf78b857da710728f5b86fdd20434958", + "inner_hash": "0a23fd3f113c52b6b36d397256fe0161a3d7edc77f128ac974173fac90927fb9", + "timestamp": 1440400256, + "fee": 15802, + "sigs": [ + "883145c4d76b5032ab0489407e991b247edeac0f89334c0588b8ede6d4ea052a2c330a94598fc9953cf9d25afeee7cf00ecea4d14744657ec9d888fe39b0d55c01" + ], + "inputs": [ + { + "uxid": "8421f4591fa459bba5bb36d8e3465253ae6fa8ce66682a50bbab92bfeb0eac5f", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "526920.000000", + "hours": 3503, + "calculated_hours": 16676 + } + ], + "outputs": [ + { + "uxid": "fa71bd8cc9a8ec39da2b9eb1d6f50d1c79f3c527e0feb4a121c87a82a337106c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "526870.000000", + "hours": 437 + }, + { + "uxid": "e161482d33d132611f343987fc55f400d83de9ce3e51b1e5bd47e2b526c1c567", + "dst": "mkzYUmbUSnBAvweQ3QqqHZM3esy97ubWwQ", + "coins": "50.000000", + "hours": 437 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46219, + "block_seq": 232, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "ca448d0b9f00c3f779acd75ea6e5d09cb93b4dee8ae417e43cecc58b121155f2", + "inner_hash": "bdcb4cfeae31a07ac42547510c4763b26b139ae2b61d411d7d4a78678a89f4e4", + "timestamp": 1440412792, + "fee": 1835007, + "sigs": [ + "8d5c007633116141c43ff4c87e1394052c4b6832c250ebf5f49781c7b0879ab12261bfd92f41fa6963c4b74e96c2bf8c96e8708f5dd04d4781fdb780c8307bb001" + ], + "inputs": [ + { + "uxid": "fa71bd8cc9a8ec39da2b9eb1d6f50d1c79f3c527e0feb4a121c87a82a337106c", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "526870.000000", + "hours": 437, + "calculated_hours": 1835115 + } + ], + "outputs": [ + { + "uxid": "61d2b0b56b48f446cde90400e87ecd005c555ccc376bbc08208b682c4bafe937", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "511870.000000", + "hours": 54 + }, + { + "uxid": "bc2efd372485b52b954f4bde244c776af12529ba1382ee3e343087754365c3fc", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "15000.000000", + "hours": 54 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46218, + "block_seq": 233, + "unknown": false + }, + "length": 317, + "type": 0, + "txid": "688395456432e777e9bcef2482950d047259da990199d26d88f113ba37e870e6", + "inner_hash": "97a6db93329382d3a23dad5caf203056e6747dca4722c7e8e8d1f316b5f79503", + "timestamp": 1440510872, + "fee": 14354361, + "sigs": [ + "b3a6984d1440aeceb4dac0304215a1bf8d017ab581f19c550b4d8f859f9a15270b54a8e599bff4f4a3a5fb3fcbe2f5bb95b7d61d4d48735696d7dd3c16f8fa7a01", + "5209b5d255a1308f3e25ad6115ed005e34479f4b9155c16c27b40b28da08332b646cc7fb29d82e07f6e8f0de780a4e6a6980ccf4c80214c9fbd0a3fe7eadf84900" + ], + "inputs": [ + { + "uxid": "61d2b0b56b48f446cde90400e87ecd005c555ccc376bbc08208b682c4bafe937", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "511870.000000", + "hours": 54, + "calculated_hours": 13945667 + }, + { + "uxid": "bc2efd372485b52b954f4bde244c776af12529ba1382ee3e343087754365c3fc", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "15000.000000", + "hours": 54, + "calculated_hours": 408720 + } + ], + "outputs": [ + { + "uxid": "f0521d23d6178c3bcf37bbf9755c5e6fc286ae286908fd970bba69fd44cd4f1a", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "526093.000000", + "hours": 13 + }, + { + "uxid": "121d93a2019c2bdcd69d58ca47cd4087c5ccc56c5ddc2486885dff8a6febcfb7", + "dst": "2N1izdmWPnPLUSvkRH8Q7aKES7crLYxBo5k", + "coins": "777.000000", + "hours": 13 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46217, + "block_seq": 234, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "036ad7678b828002f9f75645cd66e8c4a2d2ef66d4866bf7cfe5797be691a648", + "inner_hash": "0751142c1e40396fb2ea4e03cc64f8a7fabc12c1466d44726fa0dd9b2fab4b9e", + "timestamp": 1440543822, + "fee": 4006005, + "sigs": [ + "9093c6beef08fc75a1341830aa8da696a9a1f6e043ab8abc48c63f8527c186b26e7f5e802e1743e095031a94b1fee4876245285de8bc76133ea78b403b34b38800" + ], + "inputs": [ + { + "uxid": "18ffebf7d8410a48f00b6bbfa5272ba374c0b70c6c31172975b4c503542d4193", + "owner": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "25390.000000", + "hours": 980963, + "calculated_hours": 5263875 + } + ], + "outputs": [ + { + "uxid": "a715e01bf641734804ed64e468ec35aa43658dc618784e6aed2f67d10c811f5d", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "24390.000000", + "hours": 628935 + }, + { + "uxid": "b20f489859a7f5236c3cdb5ed9ed7b49fb086622e251c9c73bced00d4de84648", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000.000000", + "hours": 628935 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46213, + "block_seq": 238, + "unknown": false + }, + "length": 317, + "type": 0, + "txid": "768dc6803457ca6ba774e251f0a8f482d8f7134a5a8347831ae1d84ff39040b3", + "inner_hash": "63020c4af6f170888d1ed626be016d895568d3a0aead892b979e55e5d0bd8800", + "timestamp": 1440675932, + "fee": 18591357, + "sigs": [ + "442db1af0d6925a01bf9510a5b8ba1dc1787373ba0851b99825533c2bc02f5246cdd56ac98ca2c1039d010f52e7a153c4118fe00dce63692b63dd04cefcce0f701", + "9d3c03789af3832c7cae849eed9ac2b1d5b1c3f89daee13ad46f10d256cd8774431d60b98ab3803709430cceefe1cdb55543064843240af9123ab9ffbb2ffccf01" + ], + "inputs": [ + { + "uxid": "f0521d23d6178c3bcf37bbf9755c5e6fc286ae286908fd970bba69fd44cd4f1a", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "526093.000000", + "hours": 13, + "calculated_hours": 24121377 + }, + { + "uxid": "b20f489859a7f5236c3cdb5ed9ed7b49fb086622e251c9c73bced00d4de84648", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000.000000", + "hours": 628935, + "calculated_hours": 665632 + } + ], + "outputs": [ + { + "uxid": "cfe2c8e49c9de33d4a589a1413f125c6e297aa4c65c220cf3cb14d77ad399950", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "514593.000000", + "hours": 3097826 + }, + { + "uxid": "2b724147fb8daced3ad03b0a94e291410ab70df7f22346ed836bb864904a24ab", + "dst": "23HBeFsA4E7g4pwJpbmQjtmDSHhhi47is1B", + "coins": "12500.000000", + "hours": 3097826 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46212, + "block_seq": 239, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "60ba5bab66295f08c5c96411f53bdf38bdf2b985b6dec3989b7754a8e2919ef8", + "inner_hash": "e765990d43208cc3e4f2168abd1139b36eeb280d18d8f98b13c14708371a5109", + "timestamp": 1440676112, + "fee": 2349099, + "sigs": [ + "91a610f22d4aec320cb9a39a831eea7ff8b5fe5e18d402fda01bf732ccce2ad801d3709a073d0a95d18c8424ea8cb69cce38194a5b12ab11f6bb5278f9a7941d01" + ], + "inputs": [ + { + "uxid": "cfe2c8e49c9de33d4a589a1413f125c6e297aa4c65c220cf3cb14d77ad399950", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "514593.000000", + "hours": 3097826, + "calculated_hours": 3123555 + } + ], + "outputs": [ + { + "uxid": "621e724988e58bf27ec29a910b7a53ed028ee2185a77e727f5612be31886b658", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "514093.000000", + "hours": 387228 + }, + { + "uxid": "52d2c4bda60fcd5e144d1c229a4d31c559a3d1f060b689737148918d4c04e128", + "dst": "Zu5GRV7HcKu1zV4ymwXUBCNogbwFW1sbhA", + "coins": "500.000000", + "hours": 387228 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46211, + "block_seq": 240, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "8839c0de129a84bb3025f8e314dae4d331b0da6a446a9893ad11225eec650e5e", + "inner_hash": "dd8ca4280d163c57c12c9792b544df85a2535e06b20b2c661d91b6aec80ba8fc", + "timestamp": 1440677762, + "fee": 526047, + "sigs": [ + "7ab23848784fdf05602660e838be997277a7c33b2907ba81ae324d735b39864a2235ed3a0bfff86fa3cd7dcec7c6ab519d78e5f42b39443ee3aa4a1e44b9e26400" + ], + "inputs": [ + { + "uxid": "621e724988e58bf27ec29a910b7a53ed028ee2185a77e727f5612be31886b658", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "514093.000000", + "hours": 387228, + "calculated_hours": 622853 + } + ], + "outputs": [ + { + "uxid": "4e421d6b25d84e7bfb4561465e15867cc751cd2527e99901f5afc538a344ee57", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "513793.000000", + "hours": 48403 + }, + { + "uxid": "3e2b813ec4bdb29dd5bc232e00722c00beabf7cbbc2ca8b4e348f2f083978bd3", + "dst": "X7y5AqjNaLEuBGPxF2Rpip7d1AByHWWaXz", + "coins": "300.000000", + "hours": 48403 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46210, + "block_seq": 241, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "6cf290b9b63988d6126b6101c10992f6d9340988731e67867f011790f1fdf8de", + "inner_hash": "7e4018b41a6906ddfd84f67d271d79ae89ade34ed5de0ae609a6eeddb37f5991", + "timestamp": 1440677792, + "fee": 40584, + "sigs": [ + "da30c4a5cd8670d84a8f7f8b7c7cf9ae0da0f5bf806720824ad2d59716b200d349070158bbac66723c1a434747a8c438dec3e40c9e199cf8a2ee6d5622eb6b5901" + ], + "inputs": [ + { + "uxid": "4e421d6b25d84e7bfb4561465e15867cc751cd2527e99901f5afc538a344ee57", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "513793.000000", + "hours": 48403, + "calculated_hours": 52684 + } + ], + "outputs": [ + { + "uxid": "899150e09c28e157df0548f505d6ede097274c9ed69b269085d03c0582141d81", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "512793.000000", + "hours": 6050 + }, + { + "uxid": "3a87d255b1d892d58d606d622196b75e818690e55e74db6e0173b1e28b58e2a9", + "dst": "vneQ7V3nuPwRbSRqvFXhWkXaVou11ynXfC", + "coins": "1000.000000", + "hours": 6050 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46209, + "block_seq": 242, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "8ca9114947a591d12c8bcb3aed6c2b6f6f50c13ebea44fe62fcfd783b4716166", + "inner_hash": "0aa4f96969cccacc1c03e2d7f8a1719ffb6de7c85ee563f6d55f3da14a377502", + "timestamp": 1440679322, + "fee": 222475, + "sigs": [ + "2373f45b0d10eb272c0304af8b75bac0570fc265ae3a446ec74b0bea87e494d86101e9b0c042a84fb20bd2061e694f2791cc76c734e8dcba0f3a601651cd405601" + ], + "inputs": [ + { + "uxid": "899150e09c28e157df0548f505d6ede097274c9ed69b269085d03c0582141d81", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "512793.000000", + "hours": 6050, + "calculated_hours": 223987 + } + ], + "outputs": [ + { + "uxid": "1df6bca39e9eb5491a5cc5c5960277e5da2d3eb7dcba02346a88b8097e9f85cb", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "512743.000000", + "hours": 756 + }, + { + "uxid": "051a357d1fe7f7b417a5892531f1e8b25b5bb78011ed4b440a5af47cfe241605", + "dst": "26AzDqDncyr5VKg5PfAxfTVdDtJf9AnMvoV", + "coins": "50.000000", + "hours": 756 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46208, + "block_seq": 243, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "6b056847543ff37d8dbb7506d85514b3e18001ce973b7aac2a1a198a7f3be318", + "inner_hash": "583525d962728c33c80c1a511f3f407df0b09f0b22d571b9b857dba3488c0b13", + "timestamp": 1440682532, + "fee": 457763, + "sigs": [ + "b625dcc6040f599b04f00e9812f93f6e087a68b8277a03efcb49a2e88cf86ea4314ac1d50e5299b9ec48921fed1b56e0221bbb8df5a3df386d524fbcb9fe9aa100" + ], + "inputs": [ + { + "uxid": "1df6bca39e9eb5491a5cc5c5960277e5da2d3eb7dcba02346a88b8097e9f85cb", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "512743.000000", + "hours": 756, + "calculated_hours": 457951 + } + ], + "outputs": [ + { + "uxid": "7d72885b66c4b55fa019a084fe867ec0133ccf69a47dc007a6063a98235f2c0c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "500243.000000", + "hours": 94 + }, + { + "uxid": "e7a20c799176f6567f3ad37f67ef0bfe5dd957404bd436d12f378eb35e624430", + "dst": "23HBeFsA4E7g4pwJpbmQjtmDSHhhi47is1B", + "coins": "12500.000000", + "hours": 94 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46207, + "block_seq": 244, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "7732aba0b8f9773c975158578159f5f6e98e9864d1cd2b0cef23cac03783cb99", + "inner_hash": "0337a9c8ebc9c389166e782b1da8777b01c29894b19d2c34290d9a3b81cd2ee1", + "timestamp": 1440911542, + "fee": 31822474, + "sigs": [ + "c185a7bac79fa042884330bf37c97ad27d9b4726ced145d91aec91dfb1cd9bf71e2c2e0de33837b43b241eddff2ac7067144ab3859859bef3e926b99aab4e5da01" + ], + "inputs": [ + { + "uxid": "7d72885b66c4b55fa019a084fe867ec0133ccf69a47dc007a6063a98235f2c0c", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "500243.000000", + "hours": 94, + "calculated_hours": 31822496 + } + ], + "outputs": [ + { + "uxid": "273800d205c2cde0dd2bdd7d942a394108479e1d0fe7c2d665044f078ee654eb", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "497843.000000", + "hours": 11 + }, + { + "uxid": "5b9ecc773b66edd04478a15c82f019986b973fbc24be45c933e1e8ef62e0b223", + "dst": "2jNYhHCuqQtU8kKkLf8ZZmKj6fywTL7fw2e", + "coins": "2400.000000", + "hours": 11 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46203, + "block_seq": 248, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "c8cbf96c9875e5a7f9f20cc301e9541f41182ac02747953f299d97a971e861e8", + "inner_hash": "f2c27d1b408cdd4796f628bff892e43cdfaeb8725b3a83bd0eddc374d9ce3ad1", + "timestamp": 1441590662, + "fee": 81345481, + "sigs": [ + "314620c86df48d65a6fcfeb82d028f48660f01b78004a01c0b5e8d5ba5e38e297331862b3f2786cf682e03e81fab3a413068f4eb72991d574b90d6a857b32d6201" + ], + "inputs": [ + { + "uxid": "273800d205c2cde0dd2bdd7d942a394108479e1d0fe7c2d665044f078ee654eb", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "497843.000000", + "hours": 11, + "calculated_hours": 93915327 + } + ], + "outputs": [ + { + "uxid": "a7ae18a9ac1e1787fc13d28cfb6de19711ba19a6737a66aaf29d1577e967c4f3", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "492843.000000", + "hours": 6284923 + }, + { + "uxid": "6ade5ea7988126cda24ab050d714172ce41b0ba33359e0d06d319be60e83db9d", + "dst": "SiS1P3maLEzpscmggF6yvBHQ3yn7tA5ZdJ", + "coins": "5000.000000", + "hours": 6284923 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46200, + "block_seq": 251, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "7c2da40e69c1ab57129cda200cbc4916fc67673436209b549c0496a4991f73be", + "inner_hash": "2d2c7b9c7e9e7c2dac513d277e2ed378a4ccdc5263560e2173b6507e4d70670d", + "timestamp": 1441735522, + "fee": 19597209, + "sigs": [ + "9de55cef7a0e80984d48ecfd30acf98d220bb5556d456af477c6879e80ba1bf143e75d6b64a018c1023f1854e538f1b72df3efe932db13d0eb20adf31c38ff9f01" + ], + "inputs": [ + { + "uxid": "a7ae18a9ac1e1787fc13d28cfb6de19711ba19a6737a66aaf29d1577e967c4f3", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "492843.000000", + "hours": 6284923, + "calculated_hours": 26116377 + } + ], + "outputs": [ + { + "uxid": "78523dd46614ec8b6aead939096a0dc77580475ff4ef6029cf15cc6af6121b4c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "491843.000000", + "hours": 3259584 + }, + { + "uxid": "5e41c4784a2ed9b538d07c20c2cadc89e3566ea17653b965715dd8db2015b986", + "dst": "KXSR2KLsButg6ndwUDYoyJ4FE9vGPLvtAj", + "coins": "1000.000000", + "hours": 3259584 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46199, + "block_seq": 252, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "6638eac25e01cb7aabc20e0bd8fff66267bfa88ef4d3b021cda4248f6c8538a3", + "inner_hash": "ce2201218b3d8b5c734bc18666e409174b77ae022c0e48c30c5a9949edff6b0d", + "timestamp": 1441735692, + "fee": 2467913, + "sigs": [ + "94a8d11ba959af4d2160d141989d9a3e21f875b829d07969d1be040b54317c901c47ebcc9431f3cc0af88d4fbc0ac924785de50d27a3af4e4e4dc31a9980e0eb01" + ], + "inputs": [ + { + "uxid": "78523dd46614ec8b6aead939096a0dc77580475ff4ef6029cf15cc6af6121b4c", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "491843.000000", + "hours": 3259584, + "calculated_hours": 3282809 + } + ], + "outputs": [ + { + "uxid": "92b97e2593356de140619f723ff1dceeb586ddc074c6d28b638ee21a6c545558", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "491743.000000", + "hours": 407448 + }, + { + "uxid": "4ce358e15868adaf6c5ca420f900d3dd0f737510b5412646e10548fa3d37653d", + "dst": "29vxf99tti4sFPZpg8ghEWV9fhoHSbjeRYd", + "coins": "100.000000", + "hours": 407448 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46191, + "block_seq": 260, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "22b65c63f88e188f8da71f42e41102cde030d9550cfc990b4391e0339a4cb2dd", + "inner_hash": "0f2f563f1fdf52d53dcc414228d347dc677c4143cb3be4471945709fed3d29f0", + "timestamp": 1444883250, + "fee": 331657183, + "sigs": [ + "f0ace9ccccb936a5b46073085d83ca357692dfe0de9635d36292289f6d3a6e4505bd42c7de08dc8642823b8ee2b986c0b926c62df834f694a4d44695ced6690000" + ], + "inputs": [ + { + "uxid": "92b97e2593356de140619f723ff1dceeb586ddc074c6d28b638ee21a6c545558", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "491743.000000", + "hours": 407448, + "calculated_hours": 430349007 + } + ], + "outputs": [ + { + "uxid": "ad23f4d4cfba4a4f531a072bac6b7f3b5002ca97f3bc8a6064d556f404df197c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "479243.000000", + "hours": 49345912 + }, + { + "uxid": "d79a747561a4ae09c22e5ec0baf0eb861b56b1d9b1411868c474d32e9ef392dc", + "dst": "6QpWfvS8PxrWVJLKLFtQVUHvAwUg2oX6GW", + "coins": "12500.000000", + "hours": 49345912 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46189, + "block_seq": 262, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "bc35493562cbe89797ce21a6202c8b43fc8514910ccb197c2f971c624b1fa5dd", + "inner_hash": "ff7c2bc8682df6f1a080061ca6d646c47636474b9e291dbf9d549fe5e63fddfe", + "timestamp": 1447060608, + "fee": 302141105, + "sigs": [ + "d1ffeea69fb213eaa7aea1e5f0d5a09e414247ba07a3860fb66c3af0b7ed611e2e630bfd292b4013e0d1bd9234290f068d49f5922ce895785c18cc4ada578a0e00" + ], + "inputs": [ + { + "uxid": "ad23f4d4cfba4a4f531a072bac6b7f3b5002ca97f3bc8a6064d556f404df197c", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "479243.000000", + "hours": 49345912, + "calculated_hours": 339202461 + } + ], + "outputs": [ + { + "uxid": "5405881c286f02327718b8124e1b421123dfe3905fe60b2272ffe7632f4102e9", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "478743.000000", + "hours": 18530678 + }, + { + "uxid": "1a736e8db443d47be27b5772d3d7ef80afd09c5f44bffe2390056e2ba0378679", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "500.000000", + "hours": 18530678 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46188, + "block_seq": 263, + "unknown": false + }, + "length": 317, + "type": 0, + "txid": "32c585c56c5879158e3075f299998f6cf922b06b9620f272ebb4cb4a2353d4eb", + "inner_hash": "e0dcb3b201be487c7feaf513b3f245b08e0f86335fd2bd9a9dba7ca70684e8a7", + "timestamp": 1448245188, + "fee": 185490927, + "sigs": [ + "2b0585dc3ac3d497e9b139be51a0e5f6e0520c54e244678459169a82d386f5050f23dd92685efee03bad45f7e166992fb34c3fc036c1fd9204bc0280decb7c8000", + "adcd4b6cb6dc7816416f44649ce1dc4ce3489e9dbac70f4de610d0663e12ed556f3d1fda1781ecb6237652358cd6d1118ec9c2b5795dde594d92c47830c493f500" + ], + "inputs": [ + { + "uxid": "1a736e8db443d47be27b5772d3d7ef80afd09c5f44bffe2390056e2ba0378679", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "500.000000", + "hours": 18530678, + "calculated_hours": 18695203 + }, + { + "uxid": "5405881c286f02327718b8124e1b421123dfe3905fe60b2272ffe7632f4102e9", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "478743.000000", + "hours": 18530678, + "calculated_hours": 176061062 + } + ], + "outputs": [ + { + "uxid": "f98bd5645556fc85678355430dcae91b13bb48a257e51fe4c94565bb450aab3a", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "478243.000000", + "hours": 4632669 + }, + { + "uxid": "08c0b08d114154a06a39cf418dd39eb018a55c1c4ee7a96257b33bc6f413d577", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "1000.000000", + "hours": 4632669 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46187, + "block_seq": 264, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "97ed144d626d0ff6fca09745735aec22a103d182971a45989500a3aa757358d4", + "inner_hash": "4bafee81f542c63b988af48da3250dd56215a42b520892b1ebbb8e9c5271588b", + "timestamp": 1450942022, + "fee": 361736164, + "sigs": [ + "c4047afd7722520fea778426868ef461a602a3954b82051c2245107491efdfff54d701d18f5408ef20a7dcea37ae4c1c3555bfe1bc387b1f3a516d076420139e00" + ], + "inputs": [ + { + "uxid": "f98bd5645556fc85678355430dcae91b13bb48a257e51fe4c94565bb450aab3a", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "478243.000000", + "hours": 4632669, + "calculated_hours": 362894330 + } + ], + "outputs": [ + { + "uxid": "019d3c48e4f48ae4c7d2c60ba8ba3d6a821cd1f34cc8d7dcae0e99e448aea268", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "476243.000000", + "hours": 579083 + }, + { + "uxid": "8745efaccbb21edd35d337233d7d1ae0e2c75723e72767c9b42cd27c46146abc", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "2000.000000", + "hours": 579083 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46186, + "block_seq": 265, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "b5ffbbb48c9900feb663f79c3b3e1c89328a08b592f96071fd4d3171197a5ff7", + "inner_hash": "b6d4ab02e9b05a532402a1b65185e098d4c730854c6f34d20e71da1262524195", + "timestamp": 1450942402, + "fee": 484583, + "sigs": [ + "b116c94fd9e32cc371bba4f9a88ad672112d53be861aaa5c77cd335d1553fe0a24fc334d79c61aed344b618a3de49e791cc8aebe83bead076ed2f38dccd9aaee00" + ], + "inputs": [ + { + "uxid": "019d3c48e4f48ae4c7d2c60ba8ba3d6a821cd1f34cc8d7dcae0e99e448aea268", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "476243.000000", + "hours": 579083, + "calculated_hours": 629353 + } + ], + "outputs": [ + { + "uxid": "4cac2776f179bf3b38d862158871a117bde8ca8bd3185490861138b4862ba997", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "456263.000000", + "hours": 72385 + }, + { + "uxid": "c33a3ad731a1375220c0701da00a462e13a11bab4cff684061ce173982227a2d", + "dst": "PCAtFnGVujpALXB1Gqb9CEMRMVXfVGu6iM", + "coins": "19980.000000", + "hours": 72385 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46185, + "block_seq": 266, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "981c2bb64f9e6717353cad40e21f3e97bd188381fde77862298488a516c31252", + "inner_hash": "cae5fc5f829da5ccb165c97b1140ed161e22e4ba290b1bee703b31a986c3c45c", + "timestamp": 1453191853, + "fee": 285149083, + "sigs": [ + "e3fb8400221770861288bcb1018a495548af5cd617724aa22efd219f350047086ea0ed5aa7f95e488045d5c31d8551a6cffcdf796d91ebbf573c1ef6492bb25701" + ], + "inputs": [ + { + "uxid": "4cac2776f179bf3b38d862158871a117bde8ca8bd3185490861138b4862ba997", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "456263.000000", + "hours": 72385, + "calculated_hours": 285167179 + } + ], + "outputs": [ + { + "uxid": "9eb9840cfe5e9c546b2db592420d4651433a6913eb46a50500834fcde4989af2", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "455263.000000", + "hours": 9048 + }, + { + "uxid": "d7eb0e6bd0ccbf9fd59e314999c37e8f97c652001e1ac1834f9b3c95665a746d", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "1000.000000", + "hours": 9048 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46184, + "block_seq": 267, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "4edf7e4859bd537481164719a563af45b2603d2caf1b676d6fe1e08713b0d6f3", + "inner_hash": "ac615d16f9c8be45bc50359496bdd6d489b374846f11586c19dc865c3217c1b9", + "timestamp": 1461084047, + "fee": 998068985, + "sigs": [ + "7ae17fdc81bb3b71304db642c6af046e67ca00e8499d8f3d19f7489cd13ca4b75f2415d1e9639e0a7a26791852331189f5e2bfdde574ccf6c0adbca2fb0c933100" + ], + "inputs": [ + { + "uxid": "9eb9840cfe5e9c546b2db592420d4651433a6913eb46a50500834fcde4989af2", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "455263.000000", + "hours": 9048, + "calculated_hours": 998071247 + } + ], + "outputs": [ + { + "uxid": "a6624db7b164d43f52d38f9584a7e79377e46077ee23823b61a53948678e28e7", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "450263.000000", + "hours": 1131 + }, + { + "uxid": "fd99ca48c87575437fcbedd1bf05cf5c4f6a2d199616119ec99dfe61eb085ee5", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "5000.000000", + "hours": 1131 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46183, + "block_seq": 268, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "76b704d474896c5a3179b45a48c3ad327d5ebc27a6681ea7f514a90ba625bac3", + "inner_hash": "a60b2257f963b247a98f083828bf58d88aa3f327839c599bf1eaf0ee55a325a1", + "timestamp": 1461280957, + "fee": 24628984, + "sigs": [ + "15e30848b1d0aaf92e13f8927115314341ab4452a31f0a61f665c986c952ef6838753688759e98f393b5af088ad0fa4e9aa4e83695afe5734c45e4eb6c15b76f01" + ], + "inputs": [ + { + "uxid": "a6624db7b164d43f52d38f9584a7e79377e46077ee23823b61a53948678e28e7", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "450263.000000", + "hours": 1131, + "calculated_hours": 24629266 + } + ], + "outputs": [ + { + "uxid": "36a9b21493d059479a71e7f0cffc8b9a920d572eca50b73483e64dc7facf087a", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "437332.000000", + "hours": 141 + }, + { + "uxid": "c85d1d533bf13c0725af9a30bb101670505ed192f6987d55c1db5dd70fb2e4b3", + "dst": "PCAtFnGVujpALXB1Gqb9CEMRMVXfVGu6iM", + "coins": "12931.000000", + "hours": 141 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46182, + "block_seq": 269, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "8ecc2fb1efa47e6ad0c4670281b364a2828bfe86d59fbc14105c5b3a3c34fd17", + "inner_hash": "0600d27b083aea0d64ba83749b3bb60cbde6dd2cdaa4ec2101adb8de668cdeec", + "timestamp": 1461296767, + "fee": 1920723, + "sigs": [ + "aaa9847aead8e1e43fdeb1548317046c252ddc8b61e9447c18006b8af5805f5c1dbf81b898f25ecbbd0bb97c2d6d89da0e25f7da979932b2a774c7c5e6f2281d01" + ], + "inputs": [ + { + "uxid": "36a9b21493d059479a71e7f0cffc8b9a920d572eca50b73483e64dc7facf087a", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "437332.000000", + "hours": 141, + "calculated_hours": 1920757 + } + ], + "outputs": [ + { + "uxid": "23bdbe3b210b25da017917ea4345d589adea792ad156dcfd875a55d9509bbe5b", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "434832.000000", + "hours": 17 + }, + { + "uxid": "7bb51af714bcae27ed5c092c6e721f10ca1ac167a61add8bd2989f15c968bab8", + "dst": "28nWDjroTJGr3rmZj9iiiVQK1wEVURcvsSc", + "coins": "2500.000000", + "hours": 17 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46177, + "block_seq": 274, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "2c97923aba19d8846f8f90db6dc89da7d433ead3ea8dc3155294ab4c9e7e61a4", + "inner_hash": "7d3af96a796daba12cbb863731c09e148f21302064d65945316473ad522e8ca8", + "timestamp": 1461749167, + "fee": 40993499, + "sigs": [ + "6f3c6fb3e971ec8b4eb3a352c94b2abcb347a3f476d1b5e3097ce239a32467bd0703a4436ce7c9b4beb1668a9056f6d93055b53aa7a36374c2b3d12793a6ea3900" + ], + "inputs": [ + { + "uxid": "23bdbe3b210b25da017917ea4345d589adea792ad156dcfd875a55d9509bbe5b", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "434832.000000", + "hours": 17, + "calculated_hours": 54643905 + } + ], + "outputs": [ + { + "uxid": "5ec2fea3fa7c2b44b2c2b0dfc8b3085d091eb6b6a9bb2d3330a7c6ff57bd61de", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "433832.000000", + "hours": 6825203 + }, + { + "uxid": "df7cae650d11e13a5308ea9f10662060c57ad749538d5ea1f476556de3257270", + "dst": "A19fNE1BNGAELCJ5bCVgo8t5Y9UPtoxy2F", + "coins": "1000.000000", + "hours": 6825203 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46167, + "block_seq": 284, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "7c3f991c9cb5098648da480666613a048267678dcf7033c6138b0ac619003bcb", + "inner_hash": "35e2f253fd5936f6086464b4f3bae2a39770f91b2d846533bdd677554a760bbf", + "timestamp": 1462264727, + "fee": 65048877, + "sigs": [ + "bd5e540c58e54ccc58d1f7021657665d1f7a1770cc575b47a46bc16f5e3f3c86338f61be266c851201e8441ea5aa3ac91fa1cbf3b77365826c3b76f8f6441b0700" + ], + "inputs": [ + { + "uxid": "5ec2fea3fa7c2b44b2c2b0dfc8b3085d091eb6b6a9bb2d3330a7c6ff57bd61de", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "433832.000000", + "hours": 6825203, + "calculated_hours": 68954765 + } + ], + "outputs": [ + { + "uxid": "8ed671db62d7a541aebcfcbdf4e677d9d5c49979e3dfbc94e532b32b9273b4cd", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "333832.000000", + "hours": 1952944 + }, + { + "uxid": "fba32b8a7e10d7aad23bb8511dd61b9ad67b844142b5acd7ef22d03e540888fb", + "dst": "PCAtFnGVujpALXB1Gqb9CEMRMVXfVGu6iM", + "coins": "100000.000000", + "hours": 1952944 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46163, + "block_seq": 288, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "4c41f200b398abbba12cb9ad5b935a5dad3bb6283093f062c82ae7c7904747a5", + "inner_hash": "5263bdcff23761f158c7286664908839983135936f1e53bdd2513e7fa317d05f", + "timestamp": 1462711117, + "fee": 37342376, + "sigs": [ + "39c94d70cedadb426004bea6137aa774ba757b78c44aad072143eb55cb9207aa7f02be91cd67c27f39f898a2303791665bfb5414a18df62a304c9cbdd4ffb5ff00" + ], + "inputs": [ + { + "uxid": "8ed671db62d7a541aebcfcbdf4e677d9d5c49979e3dfbc94e532b32b9273b4cd", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "333832.000000", + "hours": 1952944, + "calculated_hours": 43347184 + } + ], + "outputs": [ + { + "uxid": "af7420cde3eec0f8ca1b1aa5bc6c47c89055877be61863a50e0665ee4fd2d737", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "333732.000000", + "hours": 3002404 + }, + { + "uxid": "111b2d823bc70d9e8f42063eca3a457abe385b994d59f602d35bafe3e1402233", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "100.000000", + "hours": 3002404 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46162, + "block_seq": 289, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "6778a6900cf26b0ad69d2ead927663bd2bbaccd9b97d0dffb74655a08757ee5a", + "inner_hash": "53e042fba89ab6233f73a2bd08df87d84d5979b7a1bed5705156b8badc44f5b3", + "timestamp": 1462711187, + "fee": 2258293, + "sigs": [ + "006025e5067252a8e37eb4c911d7e2c5283b137f0be2c8ffae27cac8f5a21f723d25745c157e49783354751f3e0bf4ce25fe6271748bd78d31487e826685a59801" + ], + "inputs": [ + { + "uxid": "af7420cde3eec0f8ca1b1aa5bc6c47c89055877be61863a50e0665ee4fd2d737", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "333732.000000", + "hours": 3002404, + "calculated_hours": 3008893 + } + ], + "outputs": [ + { + "uxid": "621e418133fa0e18013978ea4cb8d8de33d00174d5f41ef11c8750a178b20cd3", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "283732.000000", + "hours": 375300 + }, + { + "uxid": "4729461061ba3e308d1fea8846b8326bb8300d3dcc8b66b242323ba0aa5a3ccb", + "dst": "2Rjx22U3oDAv1sK5kNRGbr8ohLZPf7tY5Qa", + "coins": "50000.000000", + "hours": 375300 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46161, + "block_seq": 290, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "99988a504cb60473ad8b5047a9be9049dff3dd2ee13879707a12736ed52ea9a5", + "inner_hash": "13285dd910aca69020333f17bc6d0a9ad3424bba2610acbd062712a3b4b46b6b", + "timestamp": 1462715237, + "fee": 600674, + "sigs": [ + "cc4df545eddf94086f0aaf2bb28321d8e3822f835bb3a71ab51674a3a7dc305c57df3609b6dc3a434fa8e2a4c36b5406cdf2fe6833c74049b4b77cf098ca664c01" + ], + "inputs": [ + { + "uxid": "621e418133fa0e18013978ea4cb8d8de33d00174d5f41ef11c8750a178b20cd3", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "283732.000000", + "hours": 375300, + "calculated_hours": 694498 + } + ], + "outputs": [ + { + "uxid": "eacaf7455ea2fb2a028fe670f7bb578c4c1ca767cea247ebfc7e3fecd8f1d5e8", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "278732.000000", + "hours": 46912 + }, + { + "uxid": "a0e76e9cfd75deeb37f2db7bd67c95c95c3896c635ef104a548b77cafa65dd04", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "5000.000000", + "hours": 46912 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46160, + "block_seq": 291, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "714a3b2ba4479d0a95ad0ebae11bc1198eabc6392dabe776c15e7a68e0d82cf8", + "inner_hash": "32aa300316d5aff19a3aa0a99bfbca6398eef9462cc6c975fe7f41d1ecb9f6d5", + "timestamp": 1462715257, + "fee": 36732, + "sigs": [ + "a886ba759476985a6aec555b7acb5b3f7ea7d14201b66bd043bc172206bf4b7c0269959f3f8aac5c7a06a376a628221c67ae89cbd141c96987f852c2e2f4e73400" + ], + "inputs": [ + { + "uxid": "eacaf7455ea2fb2a028fe670f7bb578c4c1ca767cea247ebfc7e3fecd8f1d5e8", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "278732.000000", + "hours": 46912, + "calculated_hours": 48460 + } + ], + "outputs": [ + { + "uxid": "7802f51a5010ce9397a73aabe79ebc1c4ad4bb79f1352cf01064f7657d392079", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "278232.000000", + "hours": 5864 + }, + { + "uxid": "0637e5ea11dba513d8839c02e4d564ec31a8377e5aca51fdef4c854cb5eaa332", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "500.000000", + "hours": 5864 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46159, + "block_seq": 292, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "7e8d02180c5e49cd36b545c8986ffaadc7e90840259d3fe10ceaff3e4cd931c4", + "inner_hash": "8e1d9f79f43372290c3d497314271a711c33474fdec555b4be6f3f0d7c608d76", + "timestamp": 1462715267, + "fee": 5170, + "sigs": [ + "61f0c36e996c391c61daaddd6dced605e79cdabc643d994d99c7a6a479aad25c4030619f1cf7420dbe2d673a2e124f2bae744277b246173342d7fdbddea78bc200" + ], + "inputs": [ + { + "uxid": "7802f51a5010ce9397a73aabe79ebc1c4ad4bb79f1352cf01064f7657d392079", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "278232.000000", + "hours": 5864, + "calculated_hours": 6636 + } + ], + "outputs": [ + { + "uxid": "bb95e005de46b18783350e39ab6f0f969db253445c99e5b97d172dee6f81a4db", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "277732.000000", + "hours": 733 + }, + { + "uxid": "9ab52d70129ef181bbd69a630a3fa929bb12357c5c31bc70173388b71327dab7", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "500.000000", + "hours": 733 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46130, + "block_seq": 321, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "7388dab349f2d2a59ab071fc592c0173acfa357f23fd17dae1561089da55e74f", + "inner_hash": "a0f3bfacdee3107342adb96e8dcb38a265af8054624dadc0b27d71c55854e6b5", + "timestamp": 1467090951, + "fee": 282914895, + "sigs": [ + "dda5202c4c44a5ab8eceb8cf8a7acc1c2714529eee0a69bd396cb74a98706dfe1c7686c1b0f2bf760b5d211ce535c21077944bd1d89bc0baade9606cd561147800" + ], + "inputs": [ + { + "uxid": "bb95e005de46b18783350e39ab6f0f969db253445c99e5b97d172dee6f81a4db", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "277732.000000", + "hours": 733, + "calculated_hours": 337575029 + } + ], + "outputs": [ + { + "uxid": "d187d4cd730f2634e9f8bbd9e5a87eb37d1e319dbcc3d8bd9fe07cbf36f04438", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "277632.000000", + "hours": 27330067 + }, + { + "uxid": "f16b87d2e0ea2e7f43434d058fb4435705cb15f4d01de6c6aa242ab7fcd9a80b", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "100.000000", + "hours": 27330067 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46129, + "block_seq": 322, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "5733f006dda42be6198d3fb035170c9160428ad321c8255b851574776e03c34f", + "inner_hash": "993a366ebfc7210951eeda4c459389f396a2038f41025f4b729edab75d1dc9c5", + "timestamp": 1469074433, + "fee": 173463682, + "sigs": [ + "0612105a7d427841f1f9038bbb778c8c1db52e0dfe5fd7c9409b44bb03fc72a74d60913ad46fef4a525d3314a48e1ee49d4a5da69941075fe816c02ef691979001" + ], + "inputs": [ + { + "uxid": "d187d4cd730f2634e9f8bbd9e5a87eb37d1e319dbcc3d8bd9fe07cbf36f04438", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "277632.000000", + "hours": 27330067, + "calculated_hours": 180296198 + } + ], + "outputs": [ + { + "uxid": "d75874d45892d08632c1b9ee89f2137c21491a70f95bf7c04b4f0d65e465c3f1", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "276632.000000", + "hours": 3416258 + }, + { + "uxid": "02b48571a1a1f628a0e78b5b158a682262a88610cd0614697e17201f35c9ee98", + "dst": "22cmbaPHWozJRJfbxTUbfoy2FfM3oFvFs7k", + "coins": "1000.000000", + "hours": 3416258 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46128, + "block_seq": 323, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "725698203caf11e909360449956f0285735d44f4573c81413852d25b220e61b0", + "inner_hash": "ef1dc1d55aa04aa6a240a796f6f9c47af2317fdfa7f4843f3884e71cdb79c442", + "timestamp": 1469074773, + "fee": 2588320, + "sigs": [ + "77fd6d8da8b2efd32dd50ca558e44fde0f62d8cd15ab084650759ff61d51e3200b7c025488908a7d0f784de819764506ab8a67f9d5c384ab7962c30908695d3700" + ], + "inputs": [ + { + "uxid": "d75874d45892d08632c1b9ee89f2137c21491a70f95bf7c04b4f0d65e465c3f1", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "276632.000000", + "hours": 3416258, + "calculated_hours": 3442384 + } + ], + "outputs": [ + { + "uxid": "92bc1ce78fd98223f4c27438e22214117952de08798c2c5557f3e3350deee45f", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "275632.000000", + "hours": 427032 + }, + { + "uxid": "f575c8f632e92d9e3c7335f68e4e6c24d69d20fddbd05f794016b4d18d4d9c66", + "dst": "8CHWZqQEnBj9dTdZ78iqs1MVy83qgCuTs4", + "coins": "1000.000000", + "hours": 427032 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46124, + "block_seq": 327, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "823a284da9b7e49180e599552e824c60c23d28cc9fd4915e57037ac6ba5e364f", + "inner_hash": "83da271ca66c1da0f8ba30224552791e51f5334fb2868c01a95aa09aa5d8f8c4", + "timestamp": 1469463291, + "fee": 22630464, + "sigs": [ + "bd8a3cfd554c7fcf06c2fbdb0efe399f31d30373c96a0846edd52a3163dca1b43060014bda1db9abbacda35addcd3cd89625fe8e4753067aaf9a2de226fd692c01" + ], + "inputs": [ + { + "uxid": "92bc1ce78fd98223f4c27438e22214117952de08798c2c5557f3e3350deee45f", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "275632.000000", + "hours": 427032, + "calculated_hours": 30173696 + } + ], + "outputs": [ + { + "uxid": "e4cd8349646afcc6fca01e94e0e247a22d447d0a3e6bef728854ebf3fe0a1507", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "275631.000000", + "hours": 3771616 + }, + { + "uxid": "f809efa66df51ff86023c6a514e91274a93dc303c34a191c37deb7e3467b9944", + "dst": "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "coins": "1.000000", + "hours": 3771616 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46101, + "block_seq": 350, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "ccf809db24bde3af9083bb6ba590e91f71cd93335c945ccae3f815ef68994843", + "inner_hash": "18e96e61845c7f9134eec568476ae5f8909417230382a261384a4116cb6ea980", + "timestamp": 1471358102, + "fee": 120495261, + "sigs": [ + "07220c9f545b585905db91d51aa1b00bd3c3c4ad251bd88c48cc1377c2ea86702ac6fb8354188abdf228cd9c05c8d8c0c8185e337f60fb824b06ca5c3893757f00" + ], + "inputs": [ + { + "uxid": "e4cd8349646afcc6fca01e94e0e247a22d447d0a3e6bef728854ebf3fe0a1507", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "275631.000000", + "hours": 3771616, + "calculated_hours": 148846241 + } + ], + "outputs": [ + { + "uxid": "46eec2ffbdaa24e27231765678002ee7c9ac4aeea7bb6df14f66bfa957e58d1a", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "274631.000000", + "hours": 14175490 + }, + { + "uxid": "6e269a47dc13704da1058890e839f246fe6f57c52718687c863e0d16adbfbb3e", + "dst": "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "coins": "1000.000000", + "hours": 14175490 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46097, + "block_seq": 354, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "e348450f03f57e10e3cb1227b6874186d72f090c1cb6468b400b4906807cef02", + "inner_hash": "79e866fddd91dea1ba6c8bdb88bc880216d25c812145bb476e91590396146b3f", + "timestamp": 1472066732, + "fee": 62149533, + "sigs": [ + "67d3293742ce7cd95612d1a01c0b307a94166fc0b7bdc01efcd312606f88a5a474affc18a56adf6fece4f9b6b593dd1479a70fac8d92d4d285e1af579eafb90b01" + ], + "inputs": [ + { + "uxid": "46eec2ffbdaa24e27231765678002ee7c9ac4aeea7bb6df14f66bfa957e58d1a", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "274631.000000", + "hours": 14175490, + "calculated_hours": 68234313 + } + ], + "outputs": [ + { + "uxid": "d13c10539700b17635d5ca63adb79f7da7faaab1d1c415fdf68e9a70ed5c633e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "273631.000000", + "hours": 3042390 + }, + { + "uxid": "26974a5d7ccd20eebd9c832b5fd40d62fb6bae48227fffa65dd4e5be26d12f84", + "dst": "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "coins": "1000.000000", + "hours": 3042390 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46096, + "block_seq": 355, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "c97bf2e161844d70686539eaec694b32678b130539946af8c3ec36f905e47d9a", + "inner_hash": "1e1f7265be9a1806a23a7f490fbd2f5c179e910102509dc4667e631115cad927", + "timestamp": 1472069152, + "fee": 22968235, + "sigs": [ + "085b5436b72b9ccd1b0e8001c42408ff90ecb544a027da4e18dd550933a7ef8f7a9b5a44939856f9f8d47a8805091696148ba86cc174cfe73604f0b34e43290400" + ], + "inputs": [ + { + "uxid": "a0ba6219e79ab6470430b6b387602b58c96ef57a850e9dc94af8da0dfedfcad1", + "owner": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "25314.000000", + "hours": 10499712, + "calculated_hours": 30618639 + } + ], + "outputs": [ + { + "uxid": "207fcc6aa056e56256b21b73410f679d7e1e1af414e95891e23cd689affdefb9", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "24314.000000", + "hours": 3825202 + }, + { + "uxid": "059f33c1a1a9e33c2518a6ea915534d5093f8aaec9b1c69a82e5348dcac52f6e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000.000000", + "hours": 3825202 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46095, + "block_seq": 356, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "7ca2667f49dc21f893f2273c592618b0238959ec9aecc881150d6507c6a1755e", + "inner_hash": "06516c42bb9cd1d9584281fc41497afbcdbcf50d227e33d56016d003f426e262", + "timestamp": 1472069172, + "fee": 2869037, + "sigs": [ + "8172d96cbb9f33bbe1a2852745015abd99c4702af53aa10a0124efe0a3e1a32766ec459367d62f21dce3b08361feda40eef78dc273577ee4c8f7a0ee5551bc6d00" + ], + "inputs": [ + { + "uxid": "207fcc6aa056e56256b21b73410f679d7e1e1af414e95891e23cd689affdefb9", + "owner": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "24314.000000", + "hours": 3825202, + "calculated_hours": 3825337 + } + ], + "outputs": [ + { + "uxid": "b636238d9d3c0eba57aeb47daa7a23bef5aac4021b636568d56c8428f62c6827", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "23314.000000", + "hours": 478150 + }, + { + "uxid": "c91cd337ffa1a0e7d09ecd3c2f74c2932a5b7d9266b2e85205f64e5a7e8c5426", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000.000000", + "hours": 478150 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46094, + "block_seq": 357, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "ccf714517563cfb8a9d694a7a0ac534da01cb74e18d8a9cd0d410081970d8015", + "inner_hash": "0470dddb1c719ccb518dc8df7d0150373c61e19e3bbe0d2ced04a6ca66d71215", + "timestamp": 1472069232, + "fee": 359002, + "sigs": [ + "8d29d25b00cd13891c3af52b6481d173d186ac4281afdf5a9c0646a55664addd0edbde30ce3d51c3952571ba37f056f289adefc1dedb1dde3465d2a16de6a02c01" + ], + "inputs": [ + { + "uxid": "b636238d9d3c0eba57aeb47daa7a23bef5aac4021b636568d56c8428f62c6827", + "owner": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "23314.000000", + "hours": 478150, + "calculated_hours": 478538 + } + ], + "outputs": [ + { + "uxid": "7e527dff560de74654aada4257259085486ea81716b577f7d8519a44beff78da", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22314.000000", + "hours": 59768 + }, + { + "uxid": "886eaf65af6434d07ca20fd4789825bbe87a61ff633fe1df15b69b9024b3cb99", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000.000000", + "hours": 59768 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46077, + "block_seq": 374, + "unknown": false + }, + "length": 511, + "type": 0, + "txid": "7a05ca15c9860700b34642339e91427ce0b211a8fe14805751d730f8ca0e5363", + "inner_hash": "34ef2b9ef8af1fb8d76b9ea9690356f2e0c20d1f672598020fa4e65aff25a9f5", + "timestamp": 1473696472, + "fee": 103067908, + "sigs": [ + "a45592c587087f22e42bbf5ea9061e0668bd7e8fb3daa9c8bde6a1f2644c2a373c91d0b874a2fa95a4ce94284cf663035f83bba786c0c356ae055b89cedd623301", + "d422b1658a5a49642bd1126a269eaa1c939849dd9ca179db7992f0c274a16d313c4b2c9bb8dba458895ad7f12590da944af0880cb75592c0f4185c9b510747c900", + "a4250a03285edf63270784bc3e0d655b709622dfdfdd99af0b6f85060d3f540e36eeba0ed719a415f67d3c542e2efdc93c0fcfd9b0c946cca5c0fa5abc9837d901", + "e89be88a2dfd2beb052d0b628a2b4c09c38c3d19751e0551a65a22b6d9b4ed305974e673c7cb5d7c0259eeea76f2044f708c1ea2abf8cf5d92c84c81eed30b4201" + ], + "inputs": [ + { + "uxid": "d13c10539700b17635d5ca63adb79f7da7faaab1d1c415fdf68e9a70ed5c633e", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "273631.000000", + "hours": 3042390, + "calculated_hours": 126916663 + }, + { + "uxid": "059f33c1a1a9e33c2518a6ea915534d5093f8aaec9b1c69a82e5348dcac52f6e", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000.000000", + "hours": 3825202, + "calculated_hours": 4277235 + }, + { + "uxid": "c91cd337ffa1a0e7d09ecd3c2f74c2932a5b7d9266b2e85205f64e5a7e8c5426", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000.000000", + "hours": 478150, + "calculated_hours": 930177 + }, + { + "uxid": "886eaf65af6434d07ca20fd4789825bbe87a61ff633fe1df15b69b9024b3cb99", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000.000000", + "hours": 59768, + "calculated_hours": 511779 + } + ], + "outputs": [ + { + "uxid": "7cf5efd1f59555771e82dfbf11047cd856e554daac323e8224c174796b58cef1", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "275631.000000", + "hours": 14783973 + }, + { + "uxid": "aa975eb226edc45f46bc54bbbf08143ae1cc0cfedea598c536e1810b36d26258", + "dst": "2UXZTg4ZHF6715b6tRhtaqceuQQ3G79GiZg", + "coins": "1000.000000", + "hours": 14783973 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46076, + "block_seq": 375, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "9da07bf85e25c466daeb9e4bb8825161e2f2eb60ce470fecff30a557d8ab8d58", + "inner_hash": "2bf9ee9274c70c66f52d81df6b1f56bdbba9b17d3a67371ee45c94c0d91ffdad", + "timestamp": 1473696502, + "fee": 11090277, + "sigs": [ + "13d93765e882705c482307678fc2d7d4d10ec733626066d59a6ee0d83be0c3840f66e43dec32bc09b2dea074675e8cf1fb0e768891191657ff1e8895f6d24edc01" + ], + "inputs": [ + { + "uxid": "7cf5efd1f59555771e82dfbf11047cd856e554daac323e8224c174796b58cef1", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "275631.000000", + "hours": 14783973, + "calculated_hours": 14786269 + } + ], + "outputs": [ + { + "uxid": "00813b3eebc56b3269dc82324b708ed031f816276eef23d2ec4dbaed0fe6be68", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "265631.000000", + "hours": 1847996 + }, + { + "uxid": "cb7e5dd3539b632b7c8de80bdd2bede4890d306ddde001854b21003546bdeb4a", + "dst": "bVMBhye4BsMtB9bC6t6VnQoYkbLH5JEb5A", + "coins": "10000.000000", + "hours": 1847996 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46028, + "block_seq": 423, + "unknown": false + }, + "length": 220, + "type": 0, + "txid": "c0b00aa1fac000b225f3d59983d7be04b41dded7e70549cd118648c0f4120622", + "inner_hash": "409996e4103fb8a6d0a508cd1b4b3f3c0145f255461ed590e013a4a1cec87f53", + "timestamp": 1474976262, + "fee": 72562563, + "sigs": [ + "f11babcb58c0526909ab684968566c79f015a35eb5e800382847c58c12cd198b53cd8f5513139ba289ee547cbbbda6313516a8d18e10ee5497805d135020171c01" + ], + "inputs": [ + { + "uxid": "00813b3eebc56b3269dc82324b708ed031f816276eef23d2ec4dbaed0fe6be68", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "265631.000000", + "hours": 1847996, + "calculated_hours": 96276865 + } + ], + "outputs": [ + { + "uxid": "b220185a9f0f1a6af34e4b1ad882b7634d2fe9db3d1f8d7fdbc0815856abc06e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "244831.000000", + "hours": 11857151 + }, + { + "uxid": "9e5bd56c83575b8628dc1c497b7987bccd3cea12267782be95bf7cc9b47d6364", + "dst": "kW69Hh12ng6hqD6GsScVq6Bo6VDGTgq7Gx", + "coins": "20800.000000", + "hours": 11857151 + } + ] + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 45960, + "block_seq": 491, + "unknown": false + }, + "length": 414, + "type": 0, + "txid": "127cae7ab2e851738fc4c9894dade853173c658317e5e551c0618f3c14de0c6e", + "inner_hash": "ae44ad68c8a6f83d22436a19ff274d5eeeceb7c515348c910cf09abea87b4449", + "timestamp": 1478603012, + "fee": 258641221, + "sigs": [ + "0a332a5c2c501b5fcf6d8ce21ef1aa6c82324dcaf5a4162a0ab8f6cada1ae56b19be195564263ace98db8a0b0b4c37a5ac080c5a55c76b2c9315980a025307b001", + "b2a3d81f2a2bd12ed1fc0d5bb9daa781a2553410902a25cfcf4c179165ef52936b86c4774ad3e9a4fbc2188f8fe7e5ad1949715c307ab4499b4d2bc2536bb2b600", + "e660d1823b2d2637c2da6080443410dadf90c8559e17b37b17fe51d553e2f26c0b71ee1b3a652b522b0f1cc17baef65f63457259b06fd6126fe4e2b1bf101e7d01" + ], + "inputs": [ + { + "uxid": "22f6cbb46c9d8566f6cdb3882dbd77bc473432c097b704c14457babd66da993d", + "owner": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "400.000000", + "hours": 3128290, + "calculated_hours": 3397718 + }, + { + "uxid": "d0e6c3ff06b1125d70a707f57b4888a96aa56fe26fbf0fc80ce7d560acc77f63", + "owner": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "400.000000", + "hours": 27225, + "calculated_hours": 489288 + }, + { + "uxid": "b220185a9f0f1a6af34e4b1ad882b7634d2fe9db3d1f8d7fdbc0815856abc06e", + "owner": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "244831.000000", + "hours": 11857151, + "calculated_hours": 258507381 + } + ], + "outputs": [ + { + "uxid": "4594bb2382ac97aa0cf3ae0eeeae2d2a0dbe96a6293d0bd715e2ce7165080977", + "dst": "2X6eRFh6pp6rUHj74NJXLcmTg1TnDaPyYCw", + "coins": "1000.000000", + "hours": 1876583 + }, + { + "uxid": "931267f628963f9faccfaaa4973cb20a4d28a02a8c97a89f83f91d3413af7af7", + "dst": "Qq7dG2S5jwNgpayJzBf7kTtfWmpfSQPCQ6", + "coins": "244631.000000", + "hours": 1876583 + } + ] + } +] diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/balance-2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/balance-2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf.golden new file mode 100755 index 0000000..d5d5327 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/balance-2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf.golden @@ -0,0 +1,10 @@ +{ + "confirmed": { + "coins": 1000000000000, + "hours": 1013371112 + }, + "predicted": { + "coins": 1000000000000, + "hours": 1013371112 + } +} diff --git a/src/gui/integration/test-fixtures/wallet-balance.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/balance-noaddrs.golden similarity index 100% rename from src/gui/integration/test-fixtures/wallet-balance.golden rename to vendor/github.com/skycoin/skycoin/src/api/integration/testdata/balance-noaddrs.golden diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/balance-two-addrs.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/balance-two-addrs.golden new file mode 100755 index 0000000..9e35c7b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/balance-two-addrs.golden @@ -0,0 +1,10 @@ +{ + "confirmed": { + "coins": 1022100000000, + "hours": 1013748655 + }, + "predicted": { + "coins": 1022100000000, + "hours": 1013748655 + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-hash-genesis.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-hash-genesis.golden new file mode 100755 index 0000000..096c42b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-hash-genesis.golden @@ -0,0 +1,32 @@ +{ + "header": { + "seq": 0, + "block_hash": "0551a1e5af999fe8fff529f6f2ab341e1e33db95135eef1b2be44fe6981349f3", + "previous_block_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "timestamp": 1426562704, + "fee": 0, + "version": 0, + "tx_body_hash": "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add" + }, + "body": { + "txns": [ + { + "length": 0, + "type": 0, + "txid": "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", + "inner_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "sigs": [], + "inputs": [], + "outputs": [ + { + "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "100000000.000000", + "hours": 100000000000000 + } + ] + } + ] + }, + "size": 86 +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-hash.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-hash.golden new file mode 100755 index 0000000..498bc72 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-hash.golden @@ -0,0 +1,42 @@ +{ + "header": { + "seq": 11, + "block_hash": "70584db7fb8ab88b8dbcfed72ddc42a1aeb8c4882266dbb78439ba3efcd0458d", + "previous_block_hash": "5c5e6b0f6620a3af54a3259222a5269e60db768d7f805edce3f3e29f2597a487", + "timestamp": 1428808851, + "fee": 0, + "version": 0, + "tx_body_hash": "4a87de6869c974099e3f5522404fbc7b23f90a8f8dec958bf725317454036cdc" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "4a87de6869c974099e3f5522404fbc7b23f90a8f8dec958bf725317454036cdc", + "inner_hash": "53ecc82b426d4b806eb1c743e892edbc7eb7051c88f3fa8afc74a6a5b80cc57a", + "sigs": [ + "dbbb5acf0130c39a6b2fd760dda1df5aaefd94d8a0904e6faf959feade87d17a5c754459b635e0048e1019dadb9815a54d8bca4cf234f6876b19b5a0df5e494a00" + ], + "inputs": [ + "ec2c2238793d71240502de3e7c46ec1d5bf938c76541185f1c3fdf0d99a90795" + ], + "outputs": [ + { + "uxid": "9c7d3674d7a6b28a559a052e6d354ec13d2e0396739973c9f0dce08f8c7d157c", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "4.000000", + "hours": 0 + }, + { + "uxid": "3f8c01eefca28ec6d89d34b899fecb5c97f9348b412c61e7c863310b8a85b953", + "dst": "2M2VC93aQv5asdcNKt7pzJdkxeL6xLw9JPp", + "coins": "1.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-last.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-last.golden new file mode 100755 index 0000000..ef9a824 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-last.golden @@ -0,0 +1,46 @@ +{ + "blocks": [ + { + "header": { + "seq": 180, + "block_hash": "63614fdf08b67fcfc99d7b43d115fb9f57eb5c6833acdbdc712ee361f391f292", + "previous_block_hash": "93fce3f520d9ec5b5c29226ad39fb61e3b9a92464fdec87d6805cf8e8e782959", + "timestamp": 1431574528, + "fee": 2265261, + "version": 0, + "tx_body_hash": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d", + "inner_hash": "d5b18a0c0c454e56fe1f7d0c64236d633f65717c04f08cd943f5669b4cc34667", + "sigs": [ + "2fac42571bb301783e46e804069c73c8226b637ae6385fec793e3a3860feaa6918058c55f461cef38341670c5c2da230d2241f267dbde6fc0528a6fb24362b3b00" + ], + "inputs": [ + "c39acd3494113650c1a6a7809287af7b12a78bbd97126d4585dd1715e2cb5a66" + ], + "outputs": [ + { + "uxid": "75692aeff988ce0da734c474dbef3a1ce19a5a6823bbcd36acb856c83262261e", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "hours": 377543 + }, + { + "uxid": "a4b70476ea1e079ebd3503b52eee32d490515457fce6a5aa075770b598a9d14f", + "dst": "CDD8GoJUHEvBm1pD3BQ3hEC2KcJNhvUzpu", + "coins": "1000.000000", + "hours": 377543 + } + ] + } + ] + }, + "size": 220 + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-seq-0.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-seq-0.golden new file mode 100755 index 0000000..096c42b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-seq-0.golden @@ -0,0 +1,32 @@ +{ + "header": { + "seq": 0, + "block_hash": "0551a1e5af999fe8fff529f6f2ab341e1e33db95135eef1b2be44fe6981349f3", + "previous_block_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "timestamp": 1426562704, + "fee": 0, + "version": 0, + "tx_body_hash": "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add" + }, + "body": { + "txns": [ + { + "length": 0, + "type": 0, + "txid": "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", + "inner_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "sigs": [], + "inputs": [], + "outputs": [ + { + "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "100000000.000000", + "hours": 100000000000000 + } + ] + } + ] + }, + "size": 86 +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-seq-100.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-seq-100.golden new file mode 100755 index 0000000..59fbc97 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/block-seq-100.golden @@ -0,0 +1,36 @@ +{ + "header": { + "seq": 100, + "block_hash": "725e76907998485d367a847b0fb49f08536c592247762279fcdbd9907fee5607", + "previous_block_hash": "5c06896760ace71b02edab01700ff9ca8c32ef1d647e14c3e0d5fa751e47867e", + "timestamp": 1429274636, + "fee": 613712, + "version": 0, + "tx_body_hash": "9f20b52befed2cbaaa4a066de7119b7fdbff09a83d8e2a82628671f51f3f6551" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "9f20b52befed2cbaaa4a066de7119b7fdbff09a83d8e2a82628671f51f3f6551", + "inner_hash": "c2e60dbb6ad5095985d21391cbeb679fd0787c4a20471340d63f8de437d915df", + "sigs": [ + "2fefd2da9d3b4af87c4157f87da0b1bf82e3d6c9f6427572bd768cf85900d15d36971ffa17eb3b486f7692584102a7a58d9fb3ef57fa24d9a4ab02eba811ef4f00" + ], + "inputs": [ + "aee4af7e06c24bccc2f87b16d0708bfea68ac1b420f97914965f4a23ad9e11d6" + ], + "outputs": [ + { + "uxid": "194cc596d2beda803d8142ddc455872082f84b09a5edd8085082b60d314c1e29", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "23000.000000", + "hours": 87673 + } + ] + } + ] + }, + "size": 183 +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blockchain-180.db b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blockchain-180.db new file mode 100755 index 0000000000000000000000000000000000000000..f0908f2d660d25a917a2e8fbcfe6c4068d6e01c4 GIT binary patch literal 1048576 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

              {aJN*~&Y;Uhpy#V1IGW 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

              13< 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%0ARxn;R zDAxwbPeK&y0JalyLm`TF0mXv#7Q%EpA&wB@1R?qgF-(Xvg*aP?f3IGkSg%m5TOiC% zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ p1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILK;XYc;BPnEIxPSI literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blockchain-metadata.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blockchain-metadata.golden new file mode 100755 index 0000000..38272ed --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blockchain-metadata.golden @@ -0,0 +1,13 @@ +{ + "head": { + "seq": 180, + "block_hash": "63614fdf08b67fcfc99d7b43d115fb9f57eb5c6833acdbdc712ee361f391f292", + "previous_block_hash": "93fce3f520d9ec5b5c29226ad39fb61e3b9a92464fdec87d6805cf8e8e782959", + "timestamp": 1431574528, + "fee": 2265261, + "version": 0, + "tx_body_hash": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d" + }, + "unspents": 218, + "unconfirmed": 0 +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blockchain-progress.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blockchain-progress.golden new file mode 100755 index 0000000..68f9318 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blockchain-progress.golden @@ -0,0 +1,5 @@ +{ + "current": 180, + "highest": 180, + "peers": null +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-all.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-all.golden new file mode 100755 index 0000000..faba6e2 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-all.golden @@ -0,0 +1,8146 @@ +{ + "blocks": [ + { + "header": { + "seq": 0, + "block_hash": "0551a1e5af999fe8fff529f6f2ab341e1e33db95135eef1b2be44fe6981349f3", + "previous_block_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "timestamp": 1426562704, + "fee": 0, + "version": 0, + "tx_body_hash": "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add" + }, + "body": { + "txns": [ + { + "length": 0, + "type": 0, + "txid": "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", + "inner_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "sigs": [], + "inputs": [], + "outputs": [ + { + "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "100000000.000000", + "hours": 100000000000000 + } + ] + } + ] + }, + "size": 86 + }, + { + "header": { + "seq": 1, + "block_hash": "baf3b622f043bbe3ef480416251a6545d07f173e5969dde2b63c4a12956d38fd", + "previous_block_hash": "0551a1e5af999fe8fff529f6f2ab341e1e33db95135eef1b2be44fe6981349f3", + "timestamp": 1427926392, + "fee": 99999999999900, + "version": 0, + "tx_body_hash": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe" + }, + "body": { + "txns": [ + { + "length": 3846, + "type": 0, + "txid": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "inner_hash": "0f7019627886818d2501af189bbac18e21b8e959891c5b2726f89e29355aa10a", + "sigs": [ + "be602113fe288f750001ab65f254ceedd8b05b1becc456a0a52a0bea10b8280e38d950933992ad3265e1f81d197036fa634b316f08b3b319ffce081aa43f3bb600" + ], + "inputs": [ + "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0" + ], + "outputs": [ + { + "uxid": "e3e72ee077c8b0c3f87da7cf50cad8876bd3f489f373d9fe82fc2e971df56f76", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "26f585cb96f35307f0af5b9aee004a29b7795695f4c5c836104e2fbbf429a3ce", + "dst": "2EYM4WFHe4Dgz6kjAdUkM6Etep7ruz2ia6h", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "18a43b8b69bbf12a9e49e6f9783ba258397e6567301aeed9e901a1e4fed9fef9", + "dst": "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5a69ef09b5de21b117cac62141a8de4eade7558c42f0ba8b50996f5ec7867c5d", + "dst": "ix44h3cojvN6nqGcdpy62X7Rw6Ahnr3Thk", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "aef761a12e3d0fa9c4a8db62b8bab1015c32931b7e3a7fc9a77282cec218f79d", + "dst": "AYV8KEBEAPCg8a59cHgqHMqYHP9nVgQDyW", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "445a4082da251fa161e4705d115fe2018ca15a5f92e8a0950793405410e6be12", + "dst": "2Nu5Jv5Wp3RYGJU1EkjWFFHnebxMx1GjfkF", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5e35182bc9372d898df106bb2e7b3dfe33d28e59082f5d19d4a84ac0012d1291", + "dst": "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "368a609ee90ca15bbbd297af07dc6705131764476d54bef641017ffcd0885e65", + "dst": "tWZ11Nvor9parjg4FkwxNVcby59WVTw2iL", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "13afe1586015c4d7312f89d123153279e4961eb0d53a4d036847d5d989ba90dc", + "dst": "m2joQiJRZnj3jN6NsoKNxaxzUTijkdRoSR", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f625cf04412199c16e073dbb500e66c23cfe69043578b4a2d879a329aac563ec", + "dst": "8yf8PAQqU2cDj8Yzgz3LgBEyDqjvCh2xR7", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b2da50a08756c34d059a04812451cf3296f73ba87f8cca38473ac8f051ab6d1e", + "dst": "sgB3n11ZPUYHToju6TWMpUZTUcKvQnoFMJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "135c28698e80e3b2a737d59c16c79684c3fb3ec5cec59f466a39f4ac3c73968e", + "dst": "2UYPbDBnHUEc67e7qD4eXtQQ6zfU2cyvAvk", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "df63056cf3ae21efa86d241876ad0194387317585dc9e4fcd80954b47d59b57a", + "dst": "wybwGC9rhm8ZssBuzpy5goXrAdE31MPdsj", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4628f4cfdbf1eb7cccc25d461c46cc29e90cffb5d6277e0de641f7701d60c308", + "dst": "JbM25o7kY7hqJZt3WGYu9pHZFCpA9TCR6t", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "47e4706dc4d80a70b20c889476fb0627ca6d5bdaa790f4ceba44a689d31b2dcc", + "dst": "2efrft5Lnwjtk7F1p9d7BnPd72zko2hQWNi", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b64bc50d370a06df117eb543ca051239c985cfc4b6aa527c51b700de32c7fc41", + "dst": "Syzmb3MiMoiNVpqFdQ38hWgffHg86D2J4e", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "390bc4c045fa9f289957b7eca529bfadac96a7dd074bcfbdd3b09e99413b8202", + "dst": "2g3GUmTQooLrNHaRDhKtLU8rWLz36Beow7F", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6aa162f7fc09598c4dc8f5fab7fb2383f28c3840937a001acd9f37136e1691b2", + "dst": "D3phtGr9iv6238b3zYXq6VgwrzwvfRzWZQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "e440cf4c896735d3299a871f988c134f404fb2065d1f20c87c9c9bc5fa582e09", + "dst": "gpqsFSuMCZmsjPc6Rtgy1FmLx424tH86My", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "eea791e84a53e4d99485519c5d2c3146b0a2ad080cf92904ae7b28c2d9a6e3ca", + "dst": "2EUF3GPEUmfocnUc1w6YPtqXVCy3UZA4rAq", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "01048ad6a538256d9a8c6c9c6321ca1a01b31cbf08e74fd4ff0f141bf97eb8ce", + "dst": "TtAaxB3qGz5zEAhhiGkBY9VPV7cekhvRYS", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "bc5f1f1ddc8cb23df3d42f1e5a1dda9d356846fe930ae4484bc1eeb1b3b2c95b", + "dst": "2fM5gVpi7XaiMPm4i29zddTNkmrKe6TzhVZ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f03087245a6b64bb69cd5866a1887ae595a9e1a86e196754984840eaf6d3eb9c", + "dst": "ix3NDKgxfYYANKAb5kbmwBYXPrkAsha7uG", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "239bdba27dabd52f7450f7d8521c9a7e5ac74093ae3f6f2348bf40ac9a6db7a5", + "dst": "2RkPshpFFrkuaP98GprLtgHFTGvPY5e6wCK", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d60879e562b65f97d40bec7309d4490ba0a8c80e2349ecb2e3505aaa50ea1e47", + "dst": "Ak1qCDNudRxZVvcW6YDAdD9jpYNNStAVqm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "66e685901492c94942522c346759c711ee2e78a059ef274e77a6ab433409683c", + "dst": "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b497992663f99f9902deaaf487b00655820003015ea92091628f4a6e8aeb5854", + "dst": "KPfqM6S96WtRLMuSy4XLfVwymVqivdcDoM", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "bc40377012004566712fa860e74db97305091cc163e95435e04556c70d32f9c5", + "dst": "5B98bU1nsedGJBdRD5wLtq7Z8t8ZXio8u5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "73304622e33994bc2d4ade2cab78d28e1b65185e60ad3c781ecfb5cbc8159136", + "dst": "2iZWk5tmBynWxj2PpAFyiZzEws9qSnG3a6n", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fed15e8506d0e0898510311850b8863ef6d9a499215ae8823a1e3fb9c8140ab2", + "dst": "XUGdPaVnMh7jtzPe3zkrf9FKh5nztFnQU5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "12034bc455d0821813d7eb9afed1ed1a8f19b6f29826ef4a057b4aa0b4228817", + "dst": "hSNgHgewJme8uaHrEuKubHYtYSDckD6hpf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fc444cdb2598f44209a41ea20afdc9065ebe51b7cd5f65bb1c0f7a7b427ce7b1", + "dst": "2DeK765jLgnMweYrMp1NaYHfzxumfR1PaQN", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "618d242d95d33e2d7316612a164d89859b85f1287f0d5bed4dcb561cf478f706", + "dst": "orrAssY5V2HuQAbW9K6WktFrGieq2m23pr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "07f70fd4108ef4d2fde3b85411728c1f7bd3a135d2062c5a30a46cc885463780", + "dst": "4Ebf4PkG9QEnQTm4MVvaZvJV6Y9av3jhgb", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "af9bcf6ba63a08e699bc101aa362f135343aaf78a56e9f88d118fca0e1ce5c08", + "dst": "7Uf5xJ3GkiEKaLxC2WmJ1t6SeekJeBdJfu", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6b3530bb930ed10bbc4c307663aba4377c08443498a0a2cf023b1be72f378ae1", + "dst": "oz4ytDKbCqpgjW3LPc52pW2CaK2gxCcWmL", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fd6da5199e528958e68ee8dd003b727d4d840754ea7c1e0c05e4f0e504c9b2cd", + "dst": "2ex5Z7TufQ5Z8xv5mXe53fSQRfUr35SSo7Q", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "131f07f5b40f365fb537b863e4aa5ef0efcd77b7fa2ff321d90eeb743ac43678", + "dst": "WV2ap7ZubTxeDdmEZ1Xo7ufGMkekLWikJu", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "ffbdfdbf3427d04f445c33e867845bec1ee64a9dfe0d0fa8284547c2226fdfa9", + "dst": "ckCTV4r1pNuz6j2VBRHhaJN9HsCLY7muLV", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8b53c7188ebf4d630790ff63275679ba48009e31af6e4fe15806619216caa750", + "dst": "MXJx96ZJVSjktgeYZpVK8vn1H3xWP8ooq5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b4c6639b49402c2753f83c7fb7d3ffa65da74e47fef2b781933ff55b14d09bcd", + "dst": "wyQVmno9aBJZmQ99nDSLoYWwp7YDJCWsrH", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0c956289db079c00d2f80c590d3c8ca26c37da534fe5f65e799b3982ceca493c", + "dst": "2cc9wKxCsFNRkoAQDAoHke3ZoyL1mSV14cj", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "550d2a8d3047cdae0c05a61cc3de43e758b123a6955fa067d3ac375f7d0dbadc", + "dst": "29k9g3F5AYfVaa1joE1PpZjBED6hQXes8Mm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "78740d5bf49989936d315bf641949232aace582e03de57db8abff940f7d51bd1", + "dst": "2XPLzz4ZLf1A9ykyTCjW5gEmVjnWa8CuatH", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9f2c83c5165826de1077f428ad39d41473e32ed64cd83180d49e7d8e5db996d0", + "dst": "iH7DqqojTgUn2JxmY9hgFp165Nk7wKfan9", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "883be4d7173c235933294ab8dcae8cc76609166eaa1c1f07e9b51d551c979709", + "dst": "RJzzwUs3c9C8Y7NFYzNfFoqiUKeBhBfPki", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6384ed19650d384c29db4c3a39a1ca855058fab758075be2dee759dd9e6faae1", + "dst": "2W2cGyiCRM4nwmmiGPgMuGaPGeBzEm7VZPn", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "25e22bb83c51f766571cf92ec7303071c9f25e3a34366f4679a22519e6ec368b", + "dst": "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0c238e82f3a4beee1be7b5b464e8553404f6927d5ab93c3d649d362c01097782", + "dst": "tBaeg9zE2sgmw5ZQENaPPYd6jfwpVpGTzS", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "dad4991bfa5c51eb176f28c1b3f86661e02579905e6e07c997df22004e06244a", + "dst": "2hdTw5Hk3rsgpZjvk8TyKcCZoRVXU5QVrUt", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4ba91512c168281f41d3934b927d0d86a3136a31cc345b635095928f8e5f013c", + "dst": "A1QU6jKq8YgTP79M8fwZNHUZc7hConFKmy", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c416f5e604eeada9ae8e520a429d8f19d4230626769e7121007e01353730784f", + "dst": "q9RkXoty3X1fuaypDDRUi78rWgJWYJMmpJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "7b8787fd4076c27d074d2a4761377a1aa26c843c432e3b7e6b0ebf1e29528188", + "dst": "2Xvm6is5cAPA85xnSYXDuAqiRyoXiky5RaD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "38f22b194f04d85a6b545b37df06195edeb8503798b229ddeaa946018150c05c", + "dst": "4CW2CPJEzxhn2PS4JoSLoWGL5QQ7dL2eji", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "246377a036ad5444bcd5f47ac9e55fec7c85fc40644df593038d360554a809f7", + "dst": "24EG6uTzL7DHNzcwsygYGRR1nfu5kco7AZ1", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c6d5e543ff5f2c2526728d588fb21753db5b7e05b8b275aa5e9b24d29350afb0", + "dst": "KghGnWw5fppTrqHSERXZf61yf7GkuQdCnV", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "98e223e6e2240fef83082d3daa86e46f10e0c71f3f74489ba95db0951a166f53", + "dst": "2WojewRA3LbpyXTP9ANy8CZqJMgmyNm3MDr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c8971ca91f8e21c556f647940073db003f7dd5582ae55d4ebca602d5e8e91a6e", + "dst": "2BsMfywmGV3M2CoDA112Rs7ZBkiMHfy9X11", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "dfa7822c05f54116c9fc3b2cde1ecb4667f47a2d8771fe886e832c223cdc4e82", + "dst": "kK1Q4gPyYfVVMzQtAPRzL8qXMqJ67Y7tKs", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6d37c0c4b6fcbac1e53a46c9c2dc5d3c3b36312c53f25b2baacc785ea77a11f7", + "dst": "28J4mx8xfUtM92DbQ6i2Jmqw5J7dNivfroN", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9ba5e31610f0545666f102465efa8caa48ad3fb5b8abd5ae802f4a71e3f7de3b", + "dst": "gQvgyG1djgtftoCVrSZmsRxr7okD4LheKw", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "3ca365aace71e24b04d6f2ffbf7171468c5e71783858c710cae539c5e43e0c0e", + "dst": "3iFGBKapAWWzbiGFSr5ScbhrEPm6Esyvia", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c858f2db2a20ac562d32f8fb2a3a11039849a6e44d2bec30befb2e173532a9a3", + "dst": "NFW2akQH2vu7AqkQXxFz2P5vkXTWkSqrSm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "1550a76598693b950346397e0e825bbb2805edde38b0d0240e50050829b7b1dd", + "dst": "2MQJjLnWRp9eHh6MpCwpiUeshhtmri12mci", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "466340ab7733abb23ab24d877c673fe089c273f11808fbbd6f33a91da92ee96c", + "dst": "2QjRQUMyL6iodtHP9zKmxCNYZ7k3jxtk49C", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "401d4c0c1060ebbb4b9fb3859c2eb47789f94086f4deb01234bf46f7cdc81247", + "dst": "USdfKy7B6oFNoauHWMmoCA7ND9rHqYw2Mf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "2c0e3aa084f5fec45f99b3f125ce7d50c6da526ef5165df5f22ba603147c3fc2", + "dst": "cA49et9WtptYHf6wA1F8qqVgH3kS5jJ9vK", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d2e724d83e35235c23c0bb16ae9b708a5bba3c23b186b05d4b8c606f6bb4b311", + "dst": "qaJT9TjcMi46sTKcgwRQU8o5Lw2Ea1gC4N", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4f30eae8c49eb268fe364eaf5ee0788da6e2f6adc2f83cd82e96a4bfe98496f5", + "dst": "22pyn5RyhqtTQu4obYjuWYRNNw4i54L8xVr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8753d5775c22477a8ef74eeebf61d7de30be702e70118f552cc18ad963ffe950", + "dst": "22dkmukC6iH4FFLBmHne6modJZZQ3MC9BAT", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "efa2007c561dcbf7c83a6bbdd2ef75e7cca76b05330a8b948ba0dd94dee949f7", + "dst": "z6CJZfYLvmd41GRVE8HASjRcy5hqbpHZvE", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8b379d1b8ff0153c63ee69c40a7155b97fa42ab570f68ff847d457316c4d8ab9", + "dst": "GEBWJ2KpRQDBTCCtvnaAJV2cYurgXS8pta", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cc84f93adce16699d9e84ef32f55333402431b58dc50c17084bcb8b33f382f88", + "dst": "oS8fbEm82cprmAeineBeDkaKd7QownDZQh", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f38f0760769c19075034f70b059abf4d1bfa6d01e1e8c369a99900ed1eaeca6d", + "dst": "rQpAs1LVQdphyj9ipEAuukAoj9kNpSP8cM", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8d55f76bb0b3dd222cf85a7193501c0f4071b446f56dbd1da355b1625993325a", + "dst": "6NSJKsPxmqipGAfFFhUKbkopjrvEESTX3j", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "efde499c7e4444bc602b7bf5ed50e95a18ce8ec9a06ba9d850a05bb7a25ecb3a", + "dst": "cuC68ycVXmD2EBzYFNYQ6akhKGrh3FGjSf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "2a4d631d5dc90e397d85f13410d1a6d877dcaf592a0e2be2e727443ac74b5bd5", + "dst": "bw4wtYU8toepomrhWP2p8UFYfHBbvEV425", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "e936299a21240744f6edbab493449323f920bbe15dcf294463e5a2ace10f27b0", + "dst": "HvgNmDz5jD39Gwmi9VfDY1iYMhZUpZ8GKz", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "44e17f4bd29411a1614457171c06183e364bf6ff80a201717b2dfc0748e9ebe3", + "dst": "SbApuZAYquWP3Q6iD51BcMBQjuApYEkRVf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "1941e5cc5e38dd92427580af699b1f410be7b29ff17d3d0ff3d046bfba0aaabf", + "dst": "2Ugii5yxJgLzC59jV1vF8GK7UBZdvxwobeJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "ff6c0f27fcf92f3b4a3871b801c3116847fe47a7e3bafcadd4855d06012091ad", + "dst": "21N2iJ1qnQRiJWcEqNRxXwfNp8QcmiyhtPy", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cd6c4b785e60757fad0e6fd4874b729ea7703fe7ee9560e1283d2eb71fc75321", + "dst": "9TC4RGs6AtFUsbcVWnSoCdoCpSfM66ALAc", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "745eaff456a390c3868742a039e72c2a93ff8eee10417dbe848d533b89facc04", + "dst": "oQzn55UWG4iMcY9bTNb27aTnRdfiGHAwbD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d2f3f050c9ef31bf5c3b14c1c71699c4f4b38aa18479531194d12e6277416516", + "dst": "2GCdwsRpQhcf8SQcynFrMVDM26Bbj6sgv9M", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0b95850edabed70762768ac1695c5d7f230cccaa8de06657cda42cafba36374f", + "dst": "2NRFe7REtSmaM2qAgZeG45hC8EtVGV2QjeB", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "7c767d3a06db1ac0e1809ebe29a7d9689143259f4651837de54423e287c20490", + "dst": "25RGnhN7VojHUTvQBJA9nBT5y1qTQGULMzR", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "78b07e8fe1366e173f2eeb75c35cd53baf0f6100de50ae12b4ffe7d0d7ba4298", + "dst": "26uCBDfF8E2PJU2Dzz2ysgKwv9m4BhodTz9", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5010eb25f6e1ed725fb901ae1e945e545ae846d7be8a135333d2d41102c33328", + "dst": "Wkvima5cF7DDFdmJQqcdq8Syaq9DuAJJRD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "178a33e64826cd2039b8538b74e6de513966acab45ab79d77dc9392018a65ffb", + "dst": "286hSoJYxvENFSHwG51ZbmKaochLJyq4ERQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "044dc539d063250dc654b2bf0986a9044b4eea05e1284c11a2b313acd8dc3498", + "dst": "FEGxF3HPoM2HCWHn82tyeh9o7vEQq5ySGE", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9fd5ea38f383291566def44b6fb932414f97123952578fe0cfb9a30eb075a099", + "dst": "h38DxNxGhWGTq9p5tJnN5r4Fwnn85Krrb6", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "be5930e9cc35801433bcd21db84da7d4f1d8e744feca16a2c6fb00c81ce93e51", + "dst": "2c1UU8J6Y3kL4cmQh21Tj8wkzidCiZxwdwd", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8cd999cd193d315e5f1c6f74c230c12e6abe6847924f6e89d988e09ca413f52e", + "dst": "2bJ32KuGmjmwKyAtzWdLFpXNM6t83CCPLq5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0cff53628eb0e984c134b68cbe4b1bb7721a05adaa32e93b9df489a9a7a176cf", + "dst": "2fi8oLC9zfVVGnzzQtu3Y3rffS65Hiz6QHo", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "a5ef046e84be9ff2485dde49afe6073811286761afac3bbd588b6e4130930479", + "dst": "TKD93RxFr2Am44TntLiJQus4qcEwTtvEEQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cdee5f84c4f08098ac740e3a260ced14c1e199e126aa5291ec079b281a7dc407", + "dst": "zMDywYdGEDtTSvWnCyc3qsYHWwj9ogws74", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6a24135f8496e7a37dcf7164218bb3aa530319f3b2bf3c7a1a9cc1bd17831328", + "dst": "25NbotTka7TwtbXUpSCQD8RMgHKspyDubXJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "693c7f970b34ce5882e62430f4c9c28957159a257d27d4e21a61fd95c6b97464", + "dst": "2ayCELBERubQWH5QxUr3cTxrYpidvUAzsSw", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c008a613cef129c180dbcc7213f2d41a14d245d06a3844d63d9beac963145385", + "dst": "RMTCwLiYDKEAiJu5ekHL1NQ8UKHi5ozCPg", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "439cdfd03972fb4bb5da54208cf8098ee78228c487ce9e84623f5f83e17a7d68", + "dst": "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm", + "coins": "1000000.000000", + "hours": 1 + } + ] + } + ] + }, + "size": 3846 + }, + { + "header": { + "seq": 2, + "block_hash": "01723bc4dc90f1cb857a94fe5e3bb50c02e6689fd998f8147c9cae07fbfa63af", + "previous_block_hash": "baf3b622f043bbe3ef480416251a6545d07f173e5969dde2b63c4a12956d38fd", + "timestamp": 1427927651, + "fee": 0, + "version": 0, + "tx_body_hash": "312a269b8248e389c61571cc13f4ad13b7d53b64853d990ddc301a58e7071889" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "312a269b8248e389c61571cc13f4ad13b7d53b64853d990ddc301a58e7071889", + "inner_hash": "4daff2831f5bc2877a98a49b0ef75f8ff01bcb35082fd4018c77707dfca31849", + "sigs": [ + "f4482e0781e0d94c8c4773940e1f811405681844a9dc3c1938243442e1cbd5463d5e251880abbf8ff1ed85b4b2659e83ee30f06cc4c5dc9913aa6a9630fbe3de01" + ], + "inputs": [ + "e3e72ee077c8b0c3f87da7cf50cad8876bd3f489f373d9fe82fc2e971df56f76" + ], + "outputs": [ + { + "uxid": "0cd548e03bd13bca8647cd13f6baef0c65fd03081aeb6dc3695536e5bc6018ae", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999990.000000", + "hours": 1 + }, + { + "uxid": "af0b2c1cc882a56b6c0c06e99e7d2731413b988329a2c47a5c2aa8be589b707a", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 3, + "block_hash": "35c3ebbe6feaeeab27ac77c1712051787bdd4bbfb5cdcdebc81f8aac98a2f3f3", + "previous_block_hash": "01723bc4dc90f1cb857a94fe5e3bb50c02e6689fd998f8147c9cae07fbfa63af", + "timestamp": 1427927671, + "fee": 0, + "version": 0, + "tx_body_hash": "a6a709e9388a4d67a47d262b11da5f804eddd9d67acc4a3e450f7a567bdc1619" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "a6a709e9388a4d67a47d262b11da5f804eddd9d67acc4a3e450f7a567bdc1619", + "inner_hash": "ea6adee3180c7f9d73d1e693822d5d1c2bba85067f89a873355bc771a078faa1", + "sigs": [ + "ce8fd47e2044ed17998f92621e90329f673a746c802d67f639ca083705dd199f6ee346781497b44132434922879244d819694b5903093f784570c55d293ab4af01" + ], + "inputs": [ + "af0b2c1cc882a56b6c0c06e99e7d2731413b988329a2c47a5c2aa8be589b707a" + ], + "outputs": [ + { + "uxid": "9eb7954461ba0256c9054fe38c00c66e60428dccf900a62e74b9fe39310aea13", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 4, + "block_hash": "415e47348a1e642cb2e31d00ee500747d3aed0336aabfff7d783ed21465251c7", + "previous_block_hash": "35c3ebbe6feaeeab27ac77c1712051787bdd4bbfb5cdcdebc81f8aac98a2f3f3", + "timestamp": 1428793611, + "fee": 1852, + "version": 0, + "tx_body_hash": "c24b92898381fbebe59a457924184f4cce1e7166e140ca75aea5baf854c1ab75" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "c24b92898381fbebe59a457924184f4cce1e7166e140ca75aea5baf854c1ab75", + "inner_hash": "43dd65d5644ec5214a901ac94e530cbedb83d2174cf402c7b24697cfe55e1de7", + "sigs": [ + "434a7a0b624fda393c1caa57ac9787f69da3d8854d0ec6f69f0da1c96c9b683d787064b644e9ac3dd4dd8466c22c1547cff89c2552420f5efcfd1eacb1a2eac301" + ], + "inputs": [ + "0cd548e03bd13bca8647cd13f6baef0c65fd03081aeb6dc3695536e5bc6018ae" + ], + "outputs": [ + { + "uxid": "706f82c481906108880d79372ab5c126d32ecc98cf3f7c74cf33f5fda49dcf70", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999980.000000", + "hours": 3704 + }, + { + "uxid": "98b3e6e6d4ed36159b7dbf5f305174fc0c255d2d97528b35a67d50b9968e2b2f", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 5, + "block_hash": "114fe60587a158428a47e0f9571d764f495912c299aa4e67fc88004cf21b0c24", + "previous_block_hash": "415e47348a1e642cb2e31d00ee500747d3aed0336aabfff7d783ed21465251c7", + "timestamp": 1428798821, + "fee": 2036, + "version": 0, + "tx_body_hash": "0579e7727627cd9815a8a8b5e1df86124f45a4132cc0dbd00d2f110e4f409b69" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "0579e7727627cd9815a8a8b5e1df86124f45a4132cc0dbd00d2f110e4f409b69", + "inner_hash": "fe123ca954a82bb1ce2cc9ef9c56d6b649a4cbaf5b17394b0ffda651ed32327e", + "sigs": [ + "056ed0f74367fb1370d7e98689953983d9cf34eb6669854f1645c8a16c93d85075661e7d4f6df0ce5ca8eb9852eff6a12fbac2caafee03bb8c616f847c61416800", + "8aaa7f320a7b01169d3217a600100cb27c55e4ce56cd3455814f56d8e4e65be746e0e20e776087af6f19361f0b898edc2123a5f9bd35d24ef8b8669ca85b142601" + ], + "inputs": [ + "9eb7954461ba0256c9054fe38c00c66e60428dccf900a62e74b9fe39310aea13", + "706f82c481906108880d79372ab5c126d32ecc98cf3f7c74cf33f5fda49dcf70" + ], + "outputs": [ + { + "uxid": "fa2b598d233fe434f907f858d5de812eacf50c7b3fd152c77cd6e246fe356a9e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999890.000000", + "hours": 4073 + }, + { + "uxid": "dc63c680f408c4e646037966189383a5d50eda34e666c2a0c75c0c6bf13b71a1", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "100.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 317 + }, + { + "header": { + "seq": 6, + "block_hash": "103949030e90fcebc5d8ca1c9c59f30a31aa71911401d22a2422e4571b035701", + "previous_block_hash": "114fe60587a158428a47e0f9571d764f495912c299aa4e67fc88004cf21b0c24", + "timestamp": 1428806251, + "fee": 0, + "version": 0, + "tx_body_hash": "03b3ab821cdaf0ab8cc1a9e2dd30108772ec3bda09e9d3a8c48df9f30d213b38" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "03b3ab821cdaf0ab8cc1a9e2dd30108772ec3bda09e9d3a8c48df9f30d213b38", + "inner_hash": "e49bf8f45cb6664d36ec632e37bd91566d8bd4ea9ce209a0a955323a94dd744f", + "sigs": [ + "0a0d9a3fa0597667fb991bbe047ff93c591313faf759fcec2f47138bc0666b333b7689ad527ddb8ef135897be41016f755eb14e46cd327fc5eb196bce80c3cd400" + ], + "inputs": [ + "dc63c680f408c4e646037966189383a5d50eda34e666c2a0c75c0c6bf13b71a1" + ], + "outputs": [ + { + "uxid": "8ff8a647e4542fab01e078ac467b2c9f2e5f7de55d77ec2711f8abc718e2c91b", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "95.000000", + "hours": 0 + }, + { + "uxid": "778048daec0c83f89525a6d69b60c407d090bb1666711b1c560e6ebee8dcc452", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "5.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 7, + "block_hash": "6cb71b57c998a5367101e01d48c097eccd4f5abf311c89bcca8ee213581f355f", + "previous_block_hash": "103949030e90fcebc5d8ca1c9c59f30a31aa71911401d22a2422e4571b035701", + "timestamp": 1428807671, + "fee": 0, + "version": 0, + "tx_body_hash": "f832428481690fa918d6d29946e191f2c8c89b2388a906e0c53dceee6070a24b" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "f832428481690fa918d6d29946e191f2c8c89b2388a906e0c53dceee6070a24b", + "inner_hash": "f440c514779522a6387edda9b9d9835f00680fb314546efb7bc9762a17884156", + "sigs": [ + "8fe96f5502270e4efa962b2aef2b81795fe26a8f0c9a494e2ae9c7e624af455c49396270ae7a25b41d439fd56dea9d556a135129122de1b1274b1e2a5d75f2ea01" + ], + "inputs": [ + "8ff8a647e4542fab01e078ac467b2c9f2e5f7de55d77ec2711f8abc718e2c91b" + ], + "outputs": [ + { + "uxid": "17090c40091d009d6a684043d3be2e9cb1dc60a664a9c2e388af1f3a7345724b", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "90.000000", + "hours": 0 + }, + { + "uxid": "f9e7a412cdff80e95ddbe1d76fcc73f967cb99d383b0659e1355c8e623f02b62", + "dst": "WADSeEwEQVbtUy8CfcVimyxX1KjTRkvfoK", + "coins": "5.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 8, + "block_hash": "34ec53ac5b15e8c0c60312f67e209318c3b09c5ecbaabf0843a161f889614584", + "previous_block_hash": "6cb71b57c998a5367101e01d48c097eccd4f5abf311c89bcca8ee213581f355f", + "timestamp": 1428807691, + "fee": 0, + "version": 0, + "tx_body_hash": "7229422f3a0afb5f3a9596ed50146440c17a3d54abda0f3c70cd9dc58de96374" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "7229422f3a0afb5f3a9596ed50146440c17a3d54abda0f3c70cd9dc58de96374", + "inner_hash": "68fb8cd96b0d2a94838183ab24f36f71006383add373837d448a7584ef69bc6c", + "sigs": [ + "b859da7c65d6525247973fc62d274343feb3fe6fd76ab392dc30d7cdc609a7e45018b425fbdc3e79647e43b99d25bfab6c23d60495e5e0ce3cf06b6ce2c4897d00" + ], + "inputs": [ + "17090c40091d009d6a684043d3be2e9cb1dc60a664a9c2e388af1f3a7345724b" + ], + "outputs": [ + { + "uxid": "999cc56deae71486a28e19d1ed8d585c2cf07d5ee27d1c33bea186d23aaca06a", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "85.000000", + "hours": 0 + }, + { + "uxid": "1f810bdd1c65ad50f27f2c47a000150877fdba2fdb78b9d8cae39946be6a9e33", + "dst": "WADSeEwEQVbtUy8CfcVimyxX1KjTRkvfoK", + "coins": "5.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 9, + "block_hash": "d33c2466840a09e10efe3736f3aaad05b6b8d05cedcdd0099f84fd1ec6f55282", + "previous_block_hash": "34ec53ac5b15e8c0c60312f67e209318c3b09c5ecbaabf0843a161f889614584", + "timestamp": 1428807711, + "fee": 0, + "version": 0, + "tx_body_hash": "9d87d7bb9e56a3588bacb478c7556280b28c0a49f6e09db8b54a84c20d865f2f" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "9d87d7bb9e56a3588bacb478c7556280b28c0a49f6e09db8b54a84c20d865f2f", + "inner_hash": "f60dd876ff32adc5e20759f45c04075f46796b0ca2b76a490d5d1e2d5b18424a", + "sigs": [ + "be2ea2bcb4be07705cd034579d77c2fe0f9c7bb29dad0e690f38f8a2e098041c396820004975298d9d3647dfec7cbb610452e294381b898f28d48f166aaea5a500" + ], + "inputs": [ + "999cc56deae71486a28e19d1ed8d585c2cf07d5ee27d1c33bea186d23aaca06a" + ], + "outputs": [ + { + "uxid": "2f87d77c2a7d00b547db1af50e0ba04bafc5b05711e4939e9ec2640a21127dc0", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "80.000000", + "hours": 0 + }, + { + "uxid": "9e8997e53d2e61955da71dbbc6ba5b0da799eaace0f45870a4e42276a6fdaefa", + "dst": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "5.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 10, + "block_hash": "5c5e6b0f6620a3af54a3259222a5269e60db768d7f805edce3f3e29f2597a487", + "previous_block_hash": "d33c2466840a09e10efe3736f3aaad05b6b8d05cedcdd0099f84fd1ec6f55282", + "timestamp": 1428807771, + "fee": 0, + "version": 0, + "tx_body_hash": "98db7eb30e13853d3dd93d5d8b4061596d5d288b6f8b92c4d43c46c6599f67fb" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "98db7eb30e13853d3dd93d5d8b4061596d5d288b6f8b92c4d43c46c6599f67fb", + "inner_hash": "affafab93dc807a9306d1f3c6a19066aca57f284825420fb01e48200349f7ba2", + "sigs": [ + "71008403c675d9b3fdf8c09cc6caa64c681b78ba588fe20abb568e318d2e40b55c44ea614efc475c408e1e6e15cc0df753e6d3f04cb521078e6c928d5aa64c3200" + ], + "inputs": [ + "2f87d77c2a7d00b547db1af50e0ba04bafc5b05711e4939e9ec2640a21127dc0" + ], + "outputs": [ + { + "uxid": "0c5d1b6a61c32f9bcc62d3583ac957b3374f0daf1a14fd08679bff2554449840", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "75.000000", + "hours": 0 + }, + { + "uxid": "ec2c2238793d71240502de3e7c46ec1d5bf938c76541185f1c3fdf0d99a90795", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "5.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 11, + "block_hash": "70584db7fb8ab88b8dbcfed72ddc42a1aeb8c4882266dbb78439ba3efcd0458d", + "previous_block_hash": "5c5e6b0f6620a3af54a3259222a5269e60db768d7f805edce3f3e29f2597a487", + "timestamp": 1428808851, + "fee": 0, + "version": 0, + "tx_body_hash": "4a87de6869c974099e3f5522404fbc7b23f90a8f8dec958bf725317454036cdc" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "4a87de6869c974099e3f5522404fbc7b23f90a8f8dec958bf725317454036cdc", + "inner_hash": "53ecc82b426d4b806eb1c743e892edbc7eb7051c88f3fa8afc74a6a5b80cc57a", + "sigs": [ + "dbbb5acf0130c39a6b2fd760dda1df5aaefd94d8a0904e6faf959feade87d17a5c754459b635e0048e1019dadb9815a54d8bca4cf234f6876b19b5a0df5e494a00" + ], + "inputs": [ + "ec2c2238793d71240502de3e7c46ec1d5bf938c76541185f1c3fdf0d99a90795" + ], + "outputs": [ + { + "uxid": "9c7d3674d7a6b28a559a052e6d354ec13d2e0396739973c9f0dce08f8c7d157c", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "4.000000", + "hours": 0 + }, + { + "uxid": "3f8c01eefca28ec6d89d34b899fecb5c97f9348b412c61e7c863310b8a85b953", + "dst": "2M2VC93aQv5asdcNKt7pzJdkxeL6xLw9JPp", + "coins": "1.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 12, + "block_hash": "f8da14563b2fe7d532125e5c29be7f544d31d900e4703400cbcbf303f8703a04", + "previous_block_hash": "70584db7fb8ab88b8dbcfed72ddc42a1aeb8c4882266dbb78439ba3efcd0458d", + "timestamp": 1428814821, + "fee": 0, + "version": 0, + "tx_body_hash": "9ea7b912cbfca157ef5fe9c59dd2407302d1b4d95414829d93c45bde6c2d42c8" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "9ea7b912cbfca157ef5fe9c59dd2407302d1b4d95414829d93c45bde6c2d42c8", + "inner_hash": "8a294b39558a38da2c996a7ce12eb6e045b44ce3b3a153bcfdc664a246b1a46d", + "sigs": [ + "81d65e0a176c322059776922be59a385f3d5f430502e51b94dba78662a42161805bea61e646fdd9cad314fcfea00d6f790f758c4e3c8b22ec3bfcf73c79033c100" + ], + "inputs": [ + "3f8c01eefca28ec6d89d34b899fecb5c97f9348b412c61e7c863310b8a85b953" + ], + "outputs": [ + { + "uxid": "34de4a6d093e880f813b4dc466b51f6814923e157ffbba0e9abbc4bfbd938de8", + "dst": "2AsyTLyWNR3FGhaMbLckaJyAZN46mrqFfXA", + "coins": "1.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 13, + "block_hash": "3351bc6352bf9272c62d72869659d0013786485ef076e8727e03f561f819a06c", + "previous_block_hash": "f8da14563b2fe7d532125e5c29be7f544d31d900e4703400cbcbf303f8703a04", + "timestamp": 1428814891, + "fee": 2, + "version": 0, + "tx_body_hash": "fa33df7c4316cea05095e6c7ce86f361847893d26fe2255af118593a33686c52" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "fa33df7c4316cea05095e6c7ce86f361847893d26fe2255af118593a33686c52", + "inner_hash": "2e88fb3c0f9eaa317794e966e4275cfe62949eed43fa2987729b877178fb9951", + "sigs": [ + "25df6c1b4ae2c0cfac2f3ac608b108e5a83ef07c19a125dd098729734bdd6a1f65ca8a3f34878b07f6cd3e7d3e21ab432b1dec68f273dbb52a0ff90b253b6f9201" + ], + "inputs": [ + "9c7d3674d7a6b28a559a052e6d354ec13d2e0396739973c9f0dce08f8c7d157c" + ], + "outputs": [ + { + "uxid": "04c0cd4cbee1e5414791d9e0b9ae4f889bc52d253b5f70b09fbc32c88fb415ae", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "3.000000", + "hours": 4 + }, + { + "uxid": "f3034ffe54e869315f8e11801d3e755352fb75b878b24313302273c1b7ea62cb", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 14, + "block_hash": "89ab3029eaf4fb979e29dfba29b41ed1b8734f2991098879ac239b2ee4d61c04", + "previous_block_hash": "3351bc6352bf9272c62d72869659d0013786485ef076e8727e03f561f819a06c", + "timestamp": 1428815131, + "fee": 0, + "version": 0, + "tx_body_hash": "b68d78c9a4610b540933eaa550fbb1c473f5cf749eb522882f8154d495453e7d" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "b68d78c9a4610b540933eaa550fbb1c473f5cf749eb522882f8154d495453e7d", + "inner_hash": "aeb75b736b0467e49884795158dfc6ea5c6cfe2b4f696d9d5b29c1fcac503834", + "sigs": [ + "dc926994a9bdd69aca5887edab30fbcbe9fc008328424ca0a38a258bd8c78b543af0e8aaa4195ef9e7c4fb7009f1dbdbb322894be8a319f4dff3809a3592a81400" + ], + "inputs": [ + "34de4a6d093e880f813b4dc466b51f6814923e157ffbba0e9abbc4bfbd938de8" + ], + "outputs": [ + { + "uxid": "3538af0016ec0f4d0e943c5d49daf280b416701fde4040fa72710c0ca1b5b559", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 15, + "block_hash": "3b452626e9d6ee1e10e8619fcfd546623ff42bea2053f3b413b719c501edd195", + "previous_block_hash": "89ab3029eaf4fb979e29dfba29b41ed1b8734f2991098879ac239b2ee4d61c04", + "timestamp": 1428820169, + "fee": 51, + "version": 0, + "tx_body_hash": "70dd5840d7260cf584457c76d3226312f4d033c023caf8c0ab3a65f9b831e9e0" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "70dd5840d7260cf584457c76d3226312f4d033c023caf8c0ab3a65f9b831e9e0", + "inner_hash": "4357c427cbc4b55139089389858dd8245464f674d4fff82e5daba9e18384a0b3", + "sigs": [ + "964c4b0c6cde6625863adebd74910851a440a636823dab9d0cf0fbc4581e3dcb486be22ba19d0c6d6eb17db22d1b1389589ec4b6cff8e8a9b231c66fe40c565500" + ], + "inputs": [ + "0c5d1b6a61c32f9bcc62d3583ac957b3374f0daf1a14fd08679bff2554449840" + ], + "outputs": [ + { + "uxid": "acd35cec566de86b4ed464b6cf3c3ec561140c070134d1e03094775454da2159", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "70.000000", + "hours": 102 + }, + { + "uxid": "4a06f4b59bc5626e6a92704b4e4441096e909b884eab84505699a3136abb69b3", + "dst": "PRXLNyB64cqaiG4pCoFZZ8Tuv7LWYPpa7m", + "coins": "5.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 16, + "block_hash": "4281345d031e0698c18e51f97aa78bbf05672b024209a296acb82ef62c15cf26", + "previous_block_hash": "3b452626e9d6ee1e10e8619fcfd546623ff42bea2053f3b413b719c501edd195", + "timestamp": 1428820629, + "fee": 0, + "version": 0, + "tx_body_hash": "e96e157b685c28847d6758e2ba326ad59cf2661c926fb08000d4b40d78a9eee3" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "e96e157b685c28847d6758e2ba326ad59cf2661c926fb08000d4b40d78a9eee3", + "inner_hash": "3153d35c8b133bc76ea6bef8799c9fbfd36a3cd3e8e42e170ab131eb309acea8", + "sigs": [ + "11813ce8ce2db73c23a8167696621443e0d80ec878d964d5164da33f259f55d17e5f1fc2292709542015c7bd86874ed855c0c80406a53a35759722d014a8c31300" + ], + "inputs": [ + "4a06f4b59bc5626e6a92704b4e4441096e909b884eab84505699a3136abb69b3" + ], + "outputs": [ + { + "uxid": "e72d8ba4ce2d3b37aeb71df2e3bed80ee07204b3fa633f56cbce7bca836bd39c", + "dst": "PRXLNyB64cqaiG4pCoFZZ8Tuv7LWYPpa7m", + "coins": "3.000000", + "hours": 0 + }, + { + "uxid": "0b720d05d44354ff0c6c75d55f1cd4e5945bc2ca80f2ba840545205362202925", + "dst": "ZWhZtjwXMS46cpDxfRwQyxxKPhqwsQu8oN", + "coins": "2.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 17, + "block_hash": "eba02044b893c04609b8a6486a5cbc58bf98dbe8bb970ff9bc23c8cde95576da", + "previous_block_hash": "4281345d031e0698c18e51f97aa78bbf05672b024209a296acb82ef62c15cf26", + "timestamp": 1428989855, + "fee": 2020394, + "version": 0, + "tx_body_hash": "d952ef4cc45a89c14230ba0f7e30b782fad83cb6506ac0f503a242c568c1287a" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "d952ef4cc45a89c14230ba0f7e30b782fad83cb6506ac0f503a242c568c1287a", + "inner_hash": "8fc48920982066fd4c69e2d2c0c5239cca7c296f0e3ad30e9b976c1230967478", + "sigs": [ + "b7eb93bcebb6df3dcad48afd66dd60bd42b1fbcdf52aa5e0c7e455e791f64a976fa416534b4e08bf3e62a2df83e13754119634c4255dd1e2e08be447d4d5b47201" + ], + "inputs": [ + "fa2b598d233fe434f907f858d5de812eacf50c7b3fd152c77cd6e246fe356a9e" + ], + "outputs": [ + { + "uxid": "4168b9378363cd81939e667cf78055d35a60d3101f5f9e3d2ae709e3981e29fc", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999880.000000", + "hours": 4040790 + }, + { + "uxid": "c603e99ceae4d15c20360714ee07ba6e3a944a97ea9285d164c23252e93958b6", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 18, + "block_hash": "b2b1eb77b4bd3876b2cb33e97e436f2e66a9bc60e7221b6f2bfec19c0ca0fa63", + "previous_block_hash": "eba02044b893c04609b8a6486a5cbc58bf98dbe8bb970ff9bc23c8cde95576da", + "timestamp": 1428989925, + "fee": 0, + "version": 0, + "tx_body_hash": "686db0a8cd429970bb91163033703410d4750c86ba485709fe1a3faabbbb42f6" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "686db0a8cd429970bb91163033703410d4750c86ba485709fe1a3faabbbb42f6", + "inner_hash": "76732ac6a9936242193011d78a0f2849529aee767a569c9c6bb25b3bbae15cee", + "sigs": [ + "d74dcfdc8401a29b1dccc728b40b6b79faea147c65b4a859063ad77cc63aa9a62417c63b91b94678b6656fdba2f242d836b6914e77d244fbd16aaab014ddb44300" + ], + "inputs": [ + "c603e99ceae4d15c20360714ee07ba6e3a944a97ea9285d164c23252e93958b6" + ], + "outputs": [ + { + "uxid": "d9dae1f82177f979b07016a341ed5c281ed6ed8eaa785a8a107ec16efbe541ef", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 19, + "block_hash": "68d19da9e71cbe45ac65906d399e3be68591b26d05a4dff39e696ecec36f81f0", + "previous_block_hash": "b2b1eb77b4bd3876b2cb33e97e436f2e66a9bc60e7221b6f2bfec19c0ca0fa63", + "timestamp": 1428990115, + "fee": 1134, + "version": 0, + "tx_body_hash": "c6eccf17b4b952f19548b1924126c9dc409b45f9e6fcc0954a3494e7399f5fd4" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "c6eccf17b4b952f19548b1924126c9dc409b45f9e6fcc0954a3494e7399f5fd4", + "inner_hash": "736a1b4f415c1b0968470fac4d123ec52943b9d2ea7d2ce376307b2477a29acd", + "sigs": [ + "3660a24958b1b20beabb7f77d2ee1ddd91f1e40e8393b48d5ed4722d97bd1430150c5ea0f8ea1a2688a0d9f336c9c1f78a214150cc1ca3d895a694edde65ac0700" + ], + "inputs": [ + "acd35cec566de86b4ed464b6cf3c3ec561140c070134d1e03094775454da2159" + ], + "outputs": [ + { + "uxid": "af7deecc9b45c4696ad50246c8aa06b17aa8280b2574f295697a4210fc45f57d", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "65.000000", + "hours": 2268 + }, + { + "uxid": "b56517b7803a4b2cca522e1cca5f75894db174c97d0e127826f5414544eccb72", + "dst": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "5.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 20, + "block_hash": "ff403326d2bd8a047f65ffb4aff00e155d58aebf7feddcd91e290d694c0c5773", + "previous_block_hash": "68d19da9e71cbe45ac65906d399e3be68591b26d05a4dff39e696ecec36f81f0", + "timestamp": 1428990135, + "fee": 756, + "version": 0, + "tx_body_hash": "22766105d0f93d01fed7bed2dcabedfd89fe846621c912b0af845d8ba5d265f8" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "22766105d0f93d01fed7bed2dcabedfd89fe846621c912b0af845d8ba5d265f8", + "inner_hash": "3d516c76b1f147942f2237a2c07f9626624385fb858199ba63ec2d39112b6dfd", + "sigs": [ + "94e1b26e60d075536abd602ae88015f73ce638e49ec4e6be358cea8950853d0b4174aeeb0391ea05a9c62a6d37164c1fbab1d1ab53c9e2efd80ca4738ec3480e00" + ], + "inputs": [ + "af7deecc9b45c4696ad50246c8aa06b17aa8280b2574f295697a4210fc45f57d" + ], + "outputs": [ + { + "uxid": "ec9bbaf9309772ade9860f145705b9e9ee4a70ed1eeed1983d058ccaafd6c02c", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "60.000000", + "hours": 1512 + }, + { + "uxid": "e55a8d2ebe0f48f17a175fdd67d47deb5015b2ee8e91de16b2b121c8ad830e40", + "dst": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "5.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 21, + "block_hash": "7f3053b91f6e33a53f9bf7e908f8872b109462d1e2ee394f575bff805a31890a", + "previous_block_hash": "ff403326d2bd8a047f65ffb4aff00e155d58aebf7feddcd91e290d694c0c5773", + "timestamp": 1428991365, + "fee": 504, + "version": 0, + "tx_body_hash": "67f180076fed1599152c62337a12deee7e1a468b19f7e720df51415c28bfb986" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "67f180076fed1599152c62337a12deee7e1a468b19f7e720df51415c28bfb986", + "inner_hash": "1d676e397e50442c001f98385b525f8df39ef7189ebb0744cb3f868d8c96f00c", + "sigs": [ + "797c7987aab5c7a6a63eb06d514063a31b27beed8bfe22f15fbdf7b08c65702903d778d48e8cd027a9569c9973d0e52234977df7e0b9391967c913985ef860a700" + ], + "inputs": [ + "ec9bbaf9309772ade9860f145705b9e9ee4a70ed1eeed1983d058ccaafd6c02c" + ], + "outputs": [ + { + "uxid": "e3e95cd390c42d2f08e2c173135620e09c7a2ec1cf80ff75fbc3940fa5712b3c", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "55.000000", + "hours": 1008 + }, + { + "uxid": "1f4f952c6304e3991cf33519f1084921d50ecfd845edc48bd3b7b7229e28f2a6", + "dst": "Kb9SqqTVA3XyQjZYb4wYrBVUeZWRKEQyzZ", + "coins": "5.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 22, + "block_hash": "357e1da88c19175600e9f071a6b4984f7ed2c0532f3678122fd8547e441cac74", + "previous_block_hash": "7f3053b91f6e33a53f9bf7e908f8872b109462d1e2ee394f575bff805a31890a", + "timestamp": 1428991585, + "fee": 0, + "version": 0, + "tx_body_hash": "c820bf59805b4889e59ce5fa320dcccfce5180de5f0f8baef7b391049ea8e286" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "c820bf59805b4889e59ce5fa320dcccfce5180de5f0f8baef7b391049ea8e286", + "inner_hash": "6fab8afaec00c1604f67fa7ecdfc968fa870662a46b714a88865e6b83ca555c3", + "sigs": [ + "0fafbcb51bcdf3e797059c26ec09574b9b02672453e31fdc5b8b5debc507dfe917208b33632e7905c9b02252a675b7bd22578686e2882277ac077af86fcaa49a00" + ], + "inputs": [ + "1f4f952c6304e3991cf33519f1084921d50ecfd845edc48bd3b7b7229e28f2a6" + ], + "outputs": [ + { + "uxid": "4c84a4bf9a1b1a3a53d8bf78e8823ca3135321089968068ac60da32083027846", + "dst": "Kb9SqqTVA3XyQjZYb4wYrBVUeZWRKEQyzZ", + "coins": "4.000000", + "hours": 0 + }, + { + "uxid": "182b4c32bb5fe0e6809a19db63eecbeefde97a6c043b9248da94d428ab5a94c2", + "dst": "2bvEzLx4mgyQkYL5bkSc2rD9V1nqWBqn8vp", + "coins": "1.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 23, + "block_hash": "4e0f335204906a11c17ac9837ac911b33309e5c8466e9b05fd3c6010990da342", + "previous_block_hash": "357e1da88c19175600e9f071a6b4984f7ed2c0532f3678122fd8547e441cac74", + "timestamp": 1428991605, + "fee": 0, + "version": 0, + "tx_body_hash": "eb0a48072c5da37962c07d205a1843311f98e886cfcbdb2813359677f36bebc2" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "eb0a48072c5da37962c07d205a1843311f98e886cfcbdb2813359677f36bebc2", + "inner_hash": "104c51c380f54913954c2e16a8cf35dd585666a6e7b67116c05f490e06e5e1e1", + "sigs": [ + "6615ef5540b366a45895feeb91f16a5226d5022737e59ab1b9825843ff54dd7e281f2f014fc95641e3bc6ddda433b86e0c79d87a5b9b8b23fa5e234e5a41da1601" + ], + "inputs": [ + "4c84a4bf9a1b1a3a53d8bf78e8823ca3135321089968068ac60da32083027846" + ], + "outputs": [ + { + "uxid": "f3ce12886e74d6407f9580b47e72156a917083b66ebaa46263c7fde2df35116e", + "dst": "Kb9SqqTVA3XyQjZYb4wYrBVUeZWRKEQyzZ", + "coins": "3.000000", + "hours": 0 + }, + { + "uxid": "20900f1d317e0b10ebab7190a34265f52783ff4f85675398b497ab8eb3723a3c", + "dst": "2bvEzLx4mgyQkYL5bkSc2rD9V1nqWBqn8vp", + "coins": "1.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 24, + "block_hash": "1de41dd34dac9a54143fdfb8cb59957cb0865bf2d7e17e4d7b44523ee87a2f54", + "previous_block_hash": "4e0f335204906a11c17ac9837ac911b33309e5c8466e9b05fd3c6010990da342", + "timestamp": 1428991635, + "fee": 0, + "version": 0, + "tx_body_hash": "f935cd91736604989c08448a2d83d6b044c3198ac1a7483a3b9846f8848a7d84" + }, + "body": { + "txns": [ + { + "length": 280, + "type": 0, + "txid": "f935cd91736604989c08448a2d83d6b044c3198ac1a7483a3b9846f8848a7d84", + "inner_hash": "02b721422fcadeb8c3217d9b972c81fe9042a32871a180fb1237e213a543cc9d", + "sigs": [ + "fa3ccaecf3a01525fd617fe74971ff2f7270e88f92f17a0f7748c1b258e007fd0fd10a582cc406d7806fd7794e20c4a3178b71cc1cb9f59c3c7d36a4e34d962100", + "23530a4d36d65cb37fc366a8c4a61d47dfd4fbf3b268bd66fd960bcff1b91db419d039049b8f816bedbd73d6baeaea77c5907c0df5b47724ad07420dd225cdaf01" + ], + "inputs": [ + "182b4c32bb5fe0e6809a19db63eecbeefde97a6c043b9248da94d428ab5a94c2", + "20900f1d317e0b10ebab7190a34265f52783ff4f85675398b497ab8eb3723a3c" + ], + "outputs": [ + { + "uxid": "fbe00b341f3e798c3e7e5eea04ffd8f3e70f0e78bc38f9a4927bae7eed6a1411", + "dst": "Kb9SqqTVA3XyQjZYb4wYrBVUeZWRKEQyzZ", + "coins": "2.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 280 + }, + { + "header": { + "seq": 25, + "block_hash": "fadde28e30972cab6974572e6d19b6ecf367c126b3cff677731e33ceafde6c28", + "previous_block_hash": "1de41dd34dac9a54143fdfb8cb59957cb0865bf2d7e17e4d7b44523ee87a2f54", + "timestamp": 1428991665, + "fee": 0, + "version": 0, + "tx_body_hash": "917510897f5d8a018ad8d447876a15e2e1f68d42e71b6f75d89b02c4a599c537" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "917510897f5d8a018ad8d447876a15e2e1f68d42e71b6f75d89b02c4a599c537", + "inner_hash": "be34076fd999f7030f2a51866d641f8a783deb2204a9a93a8b64377a95546916", + "sigs": [ + "880b044ee5559510010d6d5cb4d7b50cb3e5323e5037daf3a048f3fab70254d34ff258aea85ec8ce264679bfb35df4590cd4dcaa527d89f9fb65fa50234dfc2e01" + ], + "inputs": [ + "f3ce12886e74d6407f9580b47e72156a917083b66ebaa46263c7fde2df35116e" + ], + "outputs": [ + { + "uxid": "f910d0e633735df5f041fdb7ffcb9cc8988b71c9375c52ababb54238be4d6852", + "dst": "Kb9SqqTVA3XyQjZYb4wYrBVUeZWRKEQyzZ", + "coins": "1.000000", + "hours": 0 + }, + { + "uxid": "ebedac42a639f0d0a196b47676cb757b95046f0403f74baa5b15e98753ee2d58", + "dst": "2bvEzLx4mgyQkYL5bkSc2rD9V1nqWBqn8vp", + "coins": "2.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 26, + "block_hash": "5bba72f7f8eedda5ac16ee86f344e396172d57e0f32d8f90af68d05790590727", + "previous_block_hash": "fadde28e30972cab6974572e6d19b6ecf367c126b3cff677731e33ceafde6c28", + "timestamp": 1429011077, + "fee": 3407635, + "version": 0, + "tx_body_hash": "56e7bd13dc4c6e1cd80aba66a0a9fed650d0646659ac774e3f1b415848755d85" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "56e7bd13dc4c6e1cd80aba66a0a9fed650d0646659ac774e3f1b415848755d85", + "inner_hash": "2894cfa31c21eb04c33f89263aa1e4caae625ceaf30539b82b39ccf79dffa816", + "sigs": [ + "6aedcd617e69aab9724b6a52e0e71f4f087a2fa84a283ac685c17e274b49cf617e58dbbd6c45a8e2c1c31832a1193ba119f0cb238fd83b9d7eb029dcedbeba0800", + "f1f26b84f247c409d308bf0992c2a044ce649fc09169d5fe4843f22b855f911d6c73b92f679346d30ec6663aa5d0387189935ce8e2f2256dd13e59cbdae7b89e00" + ], + "inputs": [ + "4168b9378363cd81939e667cf78055d35a60d3101f5f9e3d2ae709e3981e29fc", + "d9dae1f82177f979b07016a341ed5c281ed6ed8eaa785a8a107ec16efbe541ef" + ], + "outputs": [ + { + "uxid": "8793a3782bf673393a8f909f267f3bfcc713b600460893b571fd55f675ac65ba", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999880.000000", + "hours": 567938 + }, + { + "uxid": "339aeec109a26bab65e618d73ebba16e5b8fc18f7dc1fe502ca891ad5b0f4d5f", + "dst": "bFTFUB3zdwZcwWQTewXZnVS7UykkTb7zqa", + "coins": "10.000000", + "hours": 567938 + } + ] + } + ] + }, + "size": 317 + }, + { + "header": { + "seq": 27, + "block_hash": "ad03a81878334d1340e7304524bfda3eda386016170543605218cb7e580da2cc", + "previous_block_hash": "5bba72f7f8eedda5ac16ee86f344e396172d57e0f32d8f90af68d05790590727", + "timestamp": 1429011137, + "fee": 425954, + "version": 0, + "tx_body_hash": "cff53a059d55f2c90f6dd7ce7de2cc07cbdbd50b25867cba0f41cd0192614d0d" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "cff53a059d55f2c90f6dd7ce7de2cc07cbdbd50b25867cba0f41cd0192614d0d", + "inner_hash": "09382455a4e78c62bd0c254e106d349f648944c3747b066a23cc64d9392c6c05", + "sigs": [ + "ade8874855f58653ef198e005a7ec82de992cddb50a4bb5ce8a0ec1cfa7b44086883ad1c85c63128dad5426b8b22873c349e0535191b80b3e92035b120cada7a01" + ], + "inputs": [ + "8793a3782bf673393a8f909f267f3bfcc713b600460893b571fd55f675ac65ba" + ], + "outputs": [ + { + "uxid": "ad742bbc7420c08881e6ccf35e34e8472c0dd6386792359aedcfb752ca618c33", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999790.000000", + "hours": 70992 + }, + { + "uxid": "3e475e76c226a70c87d030d8fc6b8b1c2cc654ba9eaf3bed08be5bd603aec0b7", + "dst": "bFTFUB3zdwZcwWQTewXZnVS7UykkTb7zqa", + "coins": "90.000000", + "hours": 70992 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 28, + "block_hash": "1a6309d7463f89b08b1e89d6688a13e4901eb457aa48450fd4f5d85d93d4c2b3", + "previous_block_hash": "ad03a81878334d1340e7304524bfda3eda386016170543605218cb7e580da2cc", + "timestamp": 1429020387, + "fee": 214, + "version": 0, + "tx_body_hash": "f2f9926afcd29405327ddb772988a73dc13a67b1fcaa42ad98a416060e96adce" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "f2f9926afcd29405327ddb772988a73dc13a67b1fcaa42ad98a416060e96adce", + "inner_hash": "1e46ec99a425796960a928a95b64be87b568d160c9533a5399d25141b60f74af", + "sigs": [ + "1b59327011b10a2896962898bafd8d587710fb6d99b1b565777e0713a8e5fa072f7f60043c9823d2bcfc589b283e99da90d0649c472199a683428b14bd75374301" + ], + "inputs": [ + "778048daec0c83f89525a6d69b60c407d090bb1666711b1c560e6ebee8dcc452" + ], + "outputs": [ + { + "uxid": "92ae7cf57ad1363a60ce019818f7304040959329b6513f9a2d0f6b464bacafea", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "3.000000", + "hours": 35 + }, + { + "uxid": "7f44d7ef014419278137cbaa344cb550fc3c07355ec619d917bea3bc15fb8817", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "2.000000", + "hours": 35 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 29, + "block_hash": "75b035753c6099f478cdda4f3ac0001d2a3627280df12dd20207e229eac4daee", + "previous_block_hash": "1a6309d7463f89b08b1e89d6688a13e4901eb457aa48450fd4f5d85d93d4c2b3", + "timestamp": 1429020687, + "fee": 551, + "version": 0, + "tx_body_hash": "260d249883165aa9e59e17fb2bd8ba8995d2c3644993530985f8b813ed378650" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "260d249883165aa9e59e17fb2bd8ba8995d2c3644993530985f8b813ed378650", + "inner_hash": "c5a9b2a4d2100d45a97a0131f3ffa79fbc4bb37b8969e8a1d5059055ca169c6c", + "sigs": [ + "661c14759218ac72f4b06ac96bce6db7e20cfae5f23643cc4dae2641893ca3686682cb1e3cc3f384afe549a87209e4104ed7d163af8af3be4762686719541e8900" + ], + "inputs": [ + "98b3e6e6d4ed36159b7dbf5f305174fc0c255d2d97528b35a67d50b9968e2b2f" + ], + "outputs": [ + { + "uxid": "18ea1b3cceb2ca40c01efc8f3cfd7d1d0dd69430ecdf655515aa4f8b21bd2644", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 78 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 30, + "block_hash": "47695088da9067532b6733366f5b3379c9946721a0bba7dae98d697391a4546b", + "previous_block_hash": "75b035753c6099f478cdda4f3ac0001d2a3627280df12dd20207e229eac4daee", + "timestamp": 1429021044, + "fee": 31, + "version": 0, + "tx_body_hash": "044a75b1d3d273cae560ca43f9351d9acde206b0ad5578eb3adc2598886b5134" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "044a75b1d3d273cae560ca43f9351d9acde206b0ad5578eb3adc2598886b5134", + "inner_hash": "61a1297a213a7642daf445350b49b2df9ccade45cc1498b91f80fceefcad5adf", + "sigs": [ + "ef33f4e1a053728e779296e912df149ad7e20167bd79ae88db24c52da558c6cc0dffaa3aeb9b4aa507865855f7172bb7ac72040dafb56bc2612d152d51e8008000" + ], + "inputs": [ + "92ae7cf57ad1363a60ce019818f7304040959329b6513f9a2d0f6b464bacafea" + ], + "outputs": [ + { + "uxid": "61c61dfe5b82fde557a698b402c82ac0205929478e705cbadec7f5d47a51d403", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "3.000000", + "hours": 4 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 31, + "block_hash": "59770eade7313701b4470c4128cc418ecb5958675d71b7fbfb3cac38b3668741", + "previous_block_hash": "47695088da9067532b6733366f5b3379c9946721a0bba7dae98d697391a4546b", + "timestamp": 1429021184, + "fee": 60, + "version": 0, + "tx_body_hash": "9004c779cff67b3895500ec14b2c2e566127bb11a8af3358fe8a63dcfae9badc" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "9004c779cff67b3895500ec14b2c2e566127bb11a8af3358fe8a63dcfae9badc", + "inner_hash": "9e1eed08b004316812f4ad574f3d0f96959b2a335cdda77113abfd1673a8859d", + "sigs": [ + "6b3a3b3374c641ca252ee32cceab1b37c4c395b411e4d2515bc51f2a8ec12b9c440d25dee1b94a0231dd9492ab3e07c7a5dc054a0da987d6bf0ba6fc8de6f42000" + ], + "inputs": [ + "18ea1b3cceb2ca40c01efc8f3cfd7d1d0dd69430ecdf655515aa4f8b21bd2644" + ], + "outputs": [ + { + "uxid": "64194899d317e2a007f89df14538795547e927c242a92f83180e6cc952304964", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "5.000000", + "hours": 9 + }, + { + "uxid": "569aa1260e734017c4eee06d84ab4a6285e2ca2041940b2915d9141527caf179", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "5.000000", + "hours": 9 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 32, + "block_hash": "cf47f574509b704cf4fc7ed787de91cfd14e8e7fed745fab27db54311cd4a9d2", + "previous_block_hash": "59770eade7313701b4470c4128cc418ecb5958675d71b7fbfb3cac38b3668741", + "timestamp": 1429021214, + "fee": 8, + "version": 0, + "tx_body_hash": "327375203f20cb68847351c30a48597c0588a8c14319a4eb47bf440207fd045a" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "327375203f20cb68847351c30a48597c0588a8c14319a4eb47bf440207fd045a", + "inner_hash": "217a070c0edd70fc0eaa7f858308444f32bbfe4b48e128b6fa876f60c4639bfb", + "sigs": [ + "de82c42e2523b512c0ffea3c91244dc905f59264f3c59e2f82efc3fdb7f446c728afb08bbc3478462cf25b96848da9dc4dd6b87cab569715ebd33e8102c552d101" + ], + "inputs": [ + "64194899d317e2a007f89df14538795547e927c242a92f83180e6cc952304964" + ], + "outputs": [ + { + "uxid": "eb446b8372559249c8e269b6cd028588e2e9e4f8fe9357719da9d1c22aa29911", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "5.000000", + "hours": 1 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 33, + "block_hash": "ab7c5b8eefedea15e05e0fcd52a01b3b87f009c4c9f53127272b8804d00bfd74", + "previous_block_hash": "cf47f574509b704cf4fc7ed787de91cfd14e8e7fed745fab27db54311cd4a9d2", + "timestamp": 1429021674, + "fee": 9, + "version": 0, + "tx_body_hash": "e89ee3e90e72108e4cd6ccb95c9f8d2b18ccfaa7ce61a7d297454debd69cebbf" + }, + "body": { + "txns": [ + { + "length": 280, + "type": 0, + "txid": "e89ee3e90e72108e4cd6ccb95c9f8d2b18ccfaa7ce61a7d297454debd69cebbf", + "inner_hash": "dac67377dd9d8247db41f3380288730de2e51514ec3a2986072719553b9f9e27", + "sigs": [ + "7df848876a507f4b2855818f059e62e6d2f5924af148607a0c6004b7231fdce920ac80e800a833e55cbce9938b5d8cb755b0dc434c22b03a5037972ff2d6444801", + "6499aeee3ba19247d1ef2d3ec13e46031adf0dd6a383785272776a93621f21696cf217b7375e5721e51133fc3d9806200d2aded757118fbe27a719ebf4ceaea001" + ], + "inputs": [ + "569aa1260e734017c4eee06d84ab4a6285e2ca2041940b2915d9141527caf179", + "eb446b8372559249c8e269b6cd028588e2e9e4f8fe9357719da9d1c22aa29911" + ], + "outputs": [ + { + "uxid": "e702df2703c3de180f3e4a0e9a503bd534037c2d68e858e97a317575c5a97d95", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 1 + } + ] + } + ] + }, + "size": 280 + }, + { + "header": { + "seq": 34, + "block_hash": "ffc59d36008eb3bae90c37e4942a884ab8a51c87370243ecab2f6ce4a45cbc87", + "previous_block_hash": "ab7c5b8eefedea15e05e0fcd52a01b3b87f009c4c9f53127272b8804d00bfd74", + "timestamp": 1429021994, + "fee": 1, + "version": 0, + "tx_body_hash": "08bf0f8f4a8547bcab1fef035adac2a66c80369b4485a736bdd676e782bbb037" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "08bf0f8f4a8547bcab1fef035adac2a66c80369b4485a736bdd676e782bbb037", + "inner_hash": "8fd6f4e5428c170dede16e8c02596ab0c490dd5c418d003d9232d8c2caedec9c", + "sigs": [ + "f68d819dbda0bbf7cd5e2de8088267c5b3a744bbe2d7737c7dc52060b6344a25180cc1081e5c7dadab94763d158e303f697d1d275685b32bfd1de123a376697501" + ], + "inputs": [ + "e702df2703c3de180f3e4a0e9a503bd534037c2d68e858e97a317575c5a97d95" + ], + "outputs": [ + { + "uxid": "10998e83dc5dfe3c3f5f28ef3e5e2fced4dbd1da389678b0ea3ddb552851b6bf", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "6.000000", + "hours": 0 + }, + { + "uxid": "41c6d29aa5de770de684ab19b40bd75b99ec7f1a5ff7d15288ae4bfff568eabd", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "4.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 35, + "block_hash": "18d0cf1ff691931a24fcf4b7870d68da6487f3f4595cbf68df854da2972d919f", + "previous_block_hash": "ffc59d36008eb3bae90c37e4942a884ab8a51c87370243ecab2f6ce4a45cbc87", + "timestamp": 1429022034, + "fee": 0, + "version": 0, + "tx_body_hash": "3170f0635cc40aded3a38f84f2ae07bd2238550ea4ee867328d0f891ea9abf14" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "3170f0635cc40aded3a38f84f2ae07bd2238550ea4ee867328d0f891ea9abf14", + "inner_hash": "1cebcd96c2847d219b658733012921d6e10a6c55439736833dd0ae97b898f72a", + "sigs": [ + "179826a9f244005b2b34d145948b178533805953adff8ab924a6fd67538daaa4384d67a24473de6bb01d441e4d979e520b055cd9304188d00255eab7c04bf45701" + ], + "inputs": [ + "10998e83dc5dfe3c3f5f28ef3e5e2fced4dbd1da389678b0ea3ddb552851b6bf" + ], + "outputs": [ + { + "uxid": "9e5779445f60d62b471862339d7a83dd8355c7a89d5fc3b751f98e9414628ec2", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "6.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 36, + "block_hash": "e2fb290dd1103f2fa0ed51279d0a1d4631c0535a6e9abf95d94cabab485f8d2b", + "previous_block_hash": "18d0cf1ff691931a24fcf4b7870d68da6487f3f4595cbf68df854da2972d919f", + "timestamp": 1429022064, + "fee": 0, + "version": 0, + "tx_body_hash": "fba515a9eeaedb891c4dca862bd06108e0452270890b362f0b353b4c86845618" + }, + "body": { + "txns": [ + { + "length": 280, + "type": 0, + "txid": "fba515a9eeaedb891c4dca862bd06108e0452270890b362f0b353b4c86845618", + "inner_hash": "3c24f665a7a02308fe6938ef3ce7e38dfe72644b1d71c5aefbe3d6844c609d58", + "sigs": [ + "faf14290ac158576f0dd4311ee4835a2542ae8b52d9ec7ab36d1af938a117f382c42855dec9b980f282e7ff8d7e19d469b084a7d44e38022e246c365368cc07d00", + "52cfd88d334818382413dfa45dd8e00a2136c352b7547dcf97894bf3eaa152cc5b10bf9f35c4dc8c75e7bb62543bd244a7c1de588b2a606aa1eb0b32c9c4ca1501" + ], + "inputs": [ + "41c6d29aa5de770de684ab19b40bd75b99ec7f1a5ff7d15288ae4bfff568eabd", + "9e5779445f60d62b471862339d7a83dd8355c7a89d5fc3b751f98e9414628ec2" + ], + "outputs": [ + { + "uxid": "d46e91fea3c8a6428885f941e5152dbc7f9abd356ad4d054bf20e0e806f1ec99", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 280 + }, + { + "header": { + "seq": 37, + "block_hash": "87ea823bf69a2e24b92fda4b8150d1318df8fde8f4443354df604e76b497d7a0", + "previous_block_hash": "e2fb290dd1103f2fa0ed51279d0a1d4631c0535a6e9abf95d94cabab485f8d2b", + "timestamp": 1429022094, + "fee": 0, + "version": 0, + "tx_body_hash": "9fb039cd90a4e9b85669bd6ef878b98a9e84eec7d4804e2bff6f0dc9c2739c44" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "9fb039cd90a4e9b85669bd6ef878b98a9e84eec7d4804e2bff6f0dc9c2739c44", + "inner_hash": "5bc5636489d4ba7d36b4429cd3ec71491c9fa6f442fede1ea696428b574e0d13", + "sigs": [ + "3127749c2123db967563b9726cf5d6daa3ae755ec74f5e5fbc3dcfb10ececc231f5d61de693355aa5c8ade13c4c31ddc3bf9864e87139fdcd64c513702f7425600" + ], + "inputs": [ + "d46e91fea3c8a6428885f941e5152dbc7f9abd356ad4d054bf20e0e806f1ec99" + ], + "outputs": [ + { + "uxid": "2987e7c89d353ad5d63cea2bf2724dc5f7a5ef5fb81f5ea160a307f0726ac2f5", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 38, + "block_hash": "812d40f14869b362f41859db216ade292a60db6f3d567e308e08fbd07b032892", + "previous_block_hash": "87ea823bf69a2e24b92fda4b8150d1318df8fde8f4443354df604e76b497d7a0", + "timestamp": 1429058484, + "fee": 2335473, + "version": 0, + "tx_body_hash": "a76cd63b71f1f5425941cd567627e1dcdc8c34306a7945ea48755f5a46efb6f5" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "a76cd63b71f1f5425941cd567627e1dcdc8c34306a7945ea48755f5a46efb6f5", + "inner_hash": "39c3ed7f2dfb26d02c9fcbbe853db5c3031644b4a66844a717d8795c6d954d65", + "sigs": [ + "844af158e935a38f034778a78b646a167b5758df65212546f2eb1c7e838216ad7aa6e7571d1e81d8836808d4315846fe97489bdf2e6d2159a2af77a15a9a2bcb00" + ], + "inputs": [ + "ad742bbc7420c08881e6ccf35e34e8472c0dd6386792359aedcfb752ca618c33" + ], + "outputs": [ + { + "uxid": "108520145179c00f581d91e273714811fe6e82ee059d65218eea91154ebd8205", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "998790.000000", + "hours": 389245 + }, + { + "uxid": "f48432d381a10abecbd1357d81705ea922246e92170fe405d1a4a35c5ceef6a4", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "1000.000000", + "hours": 389245 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 39, + "block_hash": "08a109060182ac50db40931ddfbafe8733a0817f1b0dcd83ac692d466c48a1e1", + "previous_block_hash": "812d40f14869b362f41859db216ade292a60db6f3d567e308e08fbd07b032892", + "timestamp": 1429058494, + "fee": 291935, + "version": 0, + "tx_body_hash": "c38b47bd576e3bced2a9309c3df7622064e71177f54020d77193d5cac310719c" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "c38b47bd576e3bced2a9309c3df7622064e71177f54020d77193d5cac310719c", + "inner_hash": "7f02ba6476946668f3adcbb35e113531e6788cee4fe94bf8d8da4803e3baa7e3", + "sigs": [ + "2a31eb55da895c59654ad3f1a11efa11b04787ab78dcf8221aeeccf137adec543765f761363390c97f429310fcb39db305494a94b30af906a2d43d5de1effbb701" + ], + "inputs": [ + "108520145179c00f581d91e273714811fe6e82ee059d65218eea91154ebd8205" + ], + "outputs": [ + { + "uxid": "e79c94aa7013c7611901839236b8a1cdf70e8ef7c40b9e33f99359136de981d6", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "988790.000000", + "hours": 48655 + }, + { + "uxid": "df5d6e09da2585a6ac1a37aea2370fa25e9049b549049202d5417138bf033cfa", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "10000.000000", + "hours": 48655 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 40, + "block_hash": "fad5aca57144cbc86ad916492e814ec84c825d9870a86beac81980de30b0ae60", + "previous_block_hash": "08a109060182ac50db40931ddfbafe8733a0817f1b0dcd83ac692d466c48a1e1", + "timestamp": 1429058514, + "fee": 36493, + "version": 0, + "tx_body_hash": "b56f3e9239da5c5f9bb5ca80226b8454ba36ce6012f8e323a50c9d9c4eb4a834" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "b56f3e9239da5c5f9bb5ca80226b8454ba36ce6012f8e323a50c9d9c4eb4a834", + "inner_hash": "bdcf8f2f2b960cfee6b3b1124a554ef4747fe43ac9452d897bd8dedcd643e1ae", + "sigs": [ + "809029f12d5f38906306610feae26c0623bffe63218c8019060ae2d164cc29352066efd20567e3c37837230e74b481730b0fc71bcafe3b3b9f5eb4a7fb42f69101" + ], + "inputs": [ + "e79c94aa7013c7611901839236b8a1cdf70e8ef7c40b9e33f99359136de981d6" + ], + "outputs": [ + { + "uxid": "c65a9e6aa33244958e9595e9eceed678f9f17761753bf77000c5474f7696da53", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "978790.000000", + "hours": 6081 + }, + { + "uxid": "f8ad5c72e7822c7ac9a1dce8de583e34f6f830052bc0a02d749e9e81790dae86", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "10000.000000", + "hours": 6081 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 41, + "block_hash": "08f89cfe92be09e9848ba4d77c300908761354933f80401c107644feab1f4c9e", + "previous_block_hash": "fad5aca57144cbc86ad916492e814ec84c825d9870a86beac81980de30b0ae60", + "timestamp": 1429058524, + "fee": 4561, + "version": 0, + "tx_body_hash": "cf4fe76a08e3296b6f6abdb949604409be66574f211d9d14fde39103c4cfe1d6" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "cf4fe76a08e3296b6f6abdb949604409be66574f211d9d14fde39103c4cfe1d6", + "inner_hash": "2f5942207104d52dbd6191684b2a97392e616b7fa51dde314dbddd58d34b8027", + "sigs": [ + "b2b8c8ec1e1dfdeac4690e88d4ef9fcc4b52fcb771153f391cbcb58d651505a94c6263b6dc15a948c0396c0d8be20d9e0d1993b494bd9189c778d3673363bfc401" + ], + "inputs": [ + "c65a9e6aa33244958e9595e9eceed678f9f17761753bf77000c5474f7696da53" + ], + "outputs": [ + { + "uxid": "195f5e50b4eed1ec7ff968feca90356285437adc8ccfcf6623b55a4eebf7bbb5", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "969790.000000", + "hours": 760 + }, + { + "uxid": "6bbf13da052e1baade111ae8bb85548732532c8f5286eba8345d436d315d1c93", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "9000.000000", + "hours": 760 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 42, + "block_hash": "60a17e0cf411e5db7150272e597d343beaa5fbce5d61f6f647a14288262593b1", + "previous_block_hash": "08f89cfe92be09e9848ba4d77c300908761354933f80401c107644feab1f4c9e", + "timestamp": 1429058594, + "fee": 292512, + "version": 0, + "tx_body_hash": "0e91a08561e85a36ddf44e77b9228f7d561c18c0b46d19083d4af511085b697e" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "0e91a08561e85a36ddf44e77b9228f7d561c18c0b46d19083d4af511085b697e", + "inner_hash": "d78230e22b358d7cc8d491adb3c0ec1e77a5170602a4ec92d700c4b4bb101f98", + "sigs": [ + "17ba9c495e4d396a37eaf062e1806a13b3bdc91a83151c2455cf948a7e6d91882dc02ec6443970517f0f7daf59ce9b89658a17f5d51c0cbc18056811d0f3006501", + "e4e8f28801fe461cc8097b29cfe1307739bdfbdd6b20c31e04eef89aede641a6407fa0c41b0ad5ef167e3255e1916c0bbd358ffd70f34dc7944ffe67514bc5f501" + ], + "inputs": [ + "f48432d381a10abecbd1357d81705ea922246e92170fe405d1a4a35c5ceef6a4", + "6bbf13da052e1baade111ae8bb85548732532c8f5286eba8345d436d315d1c93" + ], + "outputs": [ + { + "uxid": "19efa2bd8c59623a092612c511fb66333e2049a57d546269c19255852056fead", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "9000.000000", + "hours": 48752 + }, + { + "uxid": "9953e00abe05db134510693a44b8928ca9b29d0009b38d9c4f8dcdedee7edc35", + "dst": "4EHiTjCsxQmt4wRy5yJxBMcxsM5yGqtuqu", + "coins": "1000.000000", + "hours": 48752 + } + ] + } + ] + }, + "size": 317 + }, + { + "header": { + "seq": 43, + "block_hash": "b98060fcb099ad4dcb6c5f7654bcad99be31375a72a2d30b4e90af4597091149", + "previous_block_hash": "60a17e0cf411e5db7150272e597d343beaa5fbce5d61f6f647a14288262593b1", + "timestamp": 1429070374, + "fee": 1596, + "version": 0, + "tx_body_hash": "d368fc3112b522c52a5b191981ca52678cc7db29bdc3493cf551be88d109ef9c" + }, + "body": { + "txns": [ + { + "length": 414, + "type": 0, + "txid": "d368fc3112b522c52a5b191981ca52678cc7db29bdc3493cf551be88d109ef9c", + "inner_hash": "acb0cc7def6ebcfd45b1490aa60d6cb84fc3621bf34be5ab84910a1929efccf5", + "sigs": [ + "9d1fcf32769b70f2eeb88b70434010c5ac5844031d85c515f7854b0aa5b91de7035f4fa3802ebcc6a7e064b4ebf16be5b1ed9a85b31bbb46ceb11694e14648eb00", + "40303be55ccfaef337b8810405d522c2a32a4d86acc5e474626666f3999533b55a33c546b04472e3d10a7870e0435968ce88ac7fbea6fecb8617a680957752ce01", + "3c1d5a5e076cb1274fb478c6c3bd4e0f724106f71edbd16eed7e2b13aabb69a53f7e91df5af8c611ffd2ca9114cd4d4be7df70ccf541606c781af41f986ea51700" + ], + "inputs": [ + "e3e95cd390c42d2f08e2c173135620e09c7a2ec1cf80ff75fbc3940fa5712b3c", + "7f44d7ef014419278137cbaa344cb550fc3c07355ec619d917bea3bc15fb8817", + "61c61dfe5b82fde557a698b402c82ac0205929478e705cbadec7f5d47a51d403" + ], + "outputs": [ + { + "uxid": "88162721a552b1422546024772fc822faa187e897754e0a579e5e4a92a7cf4c9", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "55.000000", + "hours": 265 + }, + { + "uxid": "e64fa1f60e905f1d7b7a8f0ca134ab2b7a467f7363ec9c03628d559e1230eb68", + "dst": "2apVG7f24ezDK13yCDTqBWYrTZpuj94KnCN", + "coins": "5.000000", + "hours": 265 + } + ] + } + ] + }, + "size": 414 + }, + { + "header": { + "seq": 44, + "block_hash": "9fd770857cc65c7d7865a318ea1f6df00a9b589937e2c583188f9301c96f2f7f", + "previous_block_hash": "b98060fcb099ad4dcb6c5f7654bcad99be31375a72a2d30b4e90af4597091149", + "timestamp": 1429070414, + "fee": 199, + "version": 0, + "tx_body_hash": "ced30c4ac3107997efa90faa40c8baed47dafc8ddb4feae3ba21275401c36280" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "ced30c4ac3107997efa90faa40c8baed47dafc8ddb4feae3ba21275401c36280", + "inner_hash": "f3a57ef9c95bf41b758b317169e29596448640aad207b88a21b45b1ea46e9a99", + "sigs": [ + "fa16091cb778d496199d0b59f934d38891ff0b3aad42be78565a4f5a9880b9063a8e423fa7dacc624e0ffb01931bbdf4bed0fef8044f9280c8cd562b2f3bb0bd00" + ], + "inputs": [ + "88162721a552b1422546024772fc822faa187e897754e0a579e5e4a92a7cf4c9" + ], + "outputs": [ + { + "uxid": "73ad63090201c13e6fb55d2e51ec5606fe49a40640bea995e347e7389fcea6c6", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "50.000000", + "hours": 33 + }, + { + "uxid": "85fcb22c416b7d430076bb80a324734cb97483cb4544192df252b89ba8f7fd61", + "dst": "9vNYwzpjSgw4dRyTc7SAP4z9Jh8bhwURnu", + "coins": "5.000000", + "hours": 33 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 45, + "block_hash": "90a6673c7f7c70884c2ff52a40f6b1de2d0e5e9f763787c7467d6f27d968f187", + "previous_block_hash": "9fd770857cc65c7d7865a318ea1f6df00a9b589937e2c583188f9301c96f2f7f", + "timestamp": 1429071074, + "fee": 2402820, + "version": 0, + "tx_body_hash": "df622e8c9dfaed1d7dca83ad7f6d8946bb86b81398bad521d858cbefef8e4688" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "df622e8c9dfaed1d7dca83ad7f6d8946bb86b81398bad521d858cbefef8e4688", + "inner_hash": "91ab4f29d84e9ffba56a108e01984e7b483729da4e61b6976c018fa11ace36a8", + "sigs": [ + "d0726d81cb1cdce6028668d0d95ceccf39cc9d655a7bff143573b9f52d0586232bbb7bd494df8b9bb5155a271446cfaff1550d5ccf314dd35f044226f98d14e201" + ], + "inputs": [ + "195f5e50b4eed1ec7ff968feca90356285437adc8ccfcf6623b55a4eebf7bbb5" + ], + "outputs": [ + { + "uxid": "cb8efc0b1082c39258cb6efd59f64d88b36fcb60143c826829fc5f0ed5c0d668", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944790.000000", + "hours": 400470 + }, + { + "uxid": "4aca4c715985da352bd9aa84787868dac4f4e305c420fe79e6f05acee3bba14a", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "25000.000000", + "hours": 400470 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 46, + "block_hash": "9ac2b1b1d2a7ea6bbc6049f174ba1d82e7bc381438fddad5868d0b2554389aa6", + "previous_block_hash": "90a6673c7f7c70884c2ff52a40f6b1de2d0e5e9f763787c7467d6f27d968f187", + "timestamp": 1429077374, + "fee": 300354, + "version": 0, + "tx_body_hash": "0a2da0489b14156fad8fb863d051a4dac1f645f144c1e5bb65a44478623b8e4b" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "0a2da0489b14156fad8fb863d051a4dac1f645f144c1e5bb65a44478623b8e4b", + "inner_hash": "787ae7cb222a23641bb33751d1428dc8e07a2f2cf11ee6293a54100836209d09", + "sigs": [ + "9bc3b6d7cb1d66d52fc993d0799baafa1056992049fa86ce76d5909690e88c4a19920b69e2463cf34d1dddb545b61ee38fb2f9b33f92626da8afdd934c353c8e00" + ], + "inputs": [ + "cb8efc0b1082c39258cb6efd59f64d88b36fcb60143c826829fc5f0ed5c0d668" + ], + "outputs": [ + { + "uxid": "a6061defc41a8a55e37eaf56ebaa1177446f61719b1d5126698e79a6023f5367", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944780.000000", + "hours": 50058 + }, + { + "uxid": "a52408daa8ce7026c70b61d4df4212fb577462060f340bfce779225b3e18193d", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 50058 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 47, + "block_hash": "5709133095b892fee42c20c0b1264e923a0abf75f752768824d86f76d08d9280", + "previous_block_hash": "9ac2b1b1d2a7ea6bbc6049f174ba1d82e7bc381438fddad5868d0b2554389aa6", + "timestamp": 1429077384, + "fee": 37544, + "version": 0, + "tx_body_hash": "a4a202bc4431d95c307d151dea764bfc6d9ceb7e82b3eb50dc8604050622a22c" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "a4a202bc4431d95c307d151dea764bfc6d9ceb7e82b3eb50dc8604050622a22c", + "inner_hash": "836145a3e62a7e055acc3404c1fd6ecb237e3251e6f8b39fd526a7f48f21daa8", + "sigs": [ + "f826793e63a3b0b837070e8876461c47af6be7a6898c370c70430b1491457cda76fc3b34e08bff41a336277ec1e93cc008f9c08ca295b418488b1ac92a5f5a4000" + ], + "inputs": [ + "a6061defc41a8a55e37eaf56ebaa1177446f61719b1d5126698e79a6023f5367" + ], + "outputs": [ + { + "uxid": "3b5f72e772ea886dd872b9087395398133576a6561072d5294fbcd04b49e1d95", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944770.000000", + "hours": 6257 + }, + { + "uxid": "dc73aac74348dd285a1456c1fae2204d7c2039d50a765bdaae0c31f7c7e059db", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 6257 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 48, + "block_hash": "aced5a17671fa788542d5c6d5bd1ff8b65714c77a463eeb788e2eb459d710aaf", + "previous_block_hash": "5709133095b892fee42c20c0b1264e923a0abf75f752768824d86f76d08d9280", + "timestamp": 1429077394, + "fee": 4693, + "version": 0, + "tx_body_hash": "4e6b363423633ad51114b250478ee7645fbd184066fa41c29e5b14d0728cdfec" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "4e6b363423633ad51114b250478ee7645fbd184066fa41c29e5b14d0728cdfec", + "inner_hash": "8cf88a9e5140d5e01af412c956b3de7c93bfebbb4c5993b9b0285812208f5b33", + "sigs": [ + "670abb369c25a655b0f22c069a9523d439b8a03d122bc9f0861aff796ab965fd5e1b79812b6f458ebc0a1cd4cc223d0137eb22e1bf1cbb40265ac7301018897000" + ], + "inputs": [ + "3b5f72e772ea886dd872b9087395398133576a6561072d5294fbcd04b49e1d95" + ], + "outputs": [ + { + "uxid": "f265bea876ffcfb8cf64df3aca4dae4a8d7f424ff495d91fb322feddb3a7e505", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944760.000000", + "hours": 782 + }, + { + "uxid": "e4e375b9dc55ff53d6de9120f1a87ff00e00a779835f8320f2c6b3090d0466e6", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 782 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 49, + "block_hash": "e74d6630120b2c1f57a7176ef763246609165c33b8974fa29fad95c9654d894f", + "previous_block_hash": "aced5a17671fa788542d5c6d5bd1ff8b65714c77a463eeb788e2eb459d710aaf", + "timestamp": 1429077404, + "fee": 588, + "version": 0, + "tx_body_hash": "edc27c6ecc1f76d0f23489ad7bbbdb8c653af37cc4b8f18197400aea2011ed83" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "edc27c6ecc1f76d0f23489ad7bbbdb8c653af37cc4b8f18197400aea2011ed83", + "inner_hash": "5432e686f984075091a8d3686d959b63ef620382fcb2b86794ba8dc0fb9656e7", + "sigs": [ + "c1902b37a95c5327b0e5a1f05de551d4135831b787c86562867344ee7f06235374dc1618c6b4a8e077041723bc731db72dab5554a808b1ba77d305309144bf5e01" + ], + "inputs": [ + "f265bea876ffcfb8cf64df3aca4dae4a8d7f424ff495d91fb322feddb3a7e505" + ], + "outputs": [ + { + "uxid": "e6d9b56e075a6adf520d1ae7fbab9ae06353ae0b93dc8cb17d82cc3628009a50", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944750.000000", + "hours": 97 + }, + { + "uxid": "d11b05345917d171f60c31bd2634041b73b97eae364724369ddb8d53369397fb", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 97 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 50, + "block_hash": "96d249272364547bf1bb6626b99568415384db2bffa0a45c721a62cae6e76ceb", + "previous_block_hash": "e74d6630120b2c1f57a7176ef763246609165c33b8974fa29fad95c9654d894f", + "timestamp": 1429077474, + "fee": 71833, + "version": 0, + "tx_body_hash": "be27621ad46680b343cc1406f5c6a1717704ce169e988ed7afb586f8112ae6f0" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "be27621ad46680b343cc1406f5c6a1717704ce169e988ed7afb586f8112ae6f0", + "inner_hash": "158b0ca1e5055c4abb6729eeb187d9fc592c425c8f1eaf07c3d64e17e1d1615d", + "sigs": [ + "3624a41ca94d80e7f13ea09f3acdfd701b9425af1a43c62e08a98744f31c651b1f9d2183c35f64aea01431e1c0c3a12d2f63d2c88ff9bd1a124b895a4bfabc6b01" + ], + "inputs": [ + "19efa2bd8c59623a092612c511fb66333e2049a57d546269c19255852056fead" + ], + "outputs": [ + { + "uxid": "5fa90c22a26ecec8c03696a018b590a5e1679efa9cb5e8263facf9bcc6628db6", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "8000.000000", + "hours": 11972 + }, + { + "uxid": "5afa88b6a9ef9168d15d9a0bbc87dd5ab30badc01773460f92703a9c829358c0", + "dst": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "1000.000000", + "hours": 11972 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 51, + "block_hash": "616d09296fd9dfa108d859a8fc5042252e1a9b88277df2e5adef2336559b52f5", + "previous_block_hash": "96d249272364547bf1bb6626b99568415384db2bffa0a45c721a62cae6e76ceb", + "timestamp": 1429077484, + "fee": 44061, + "version": 0, + "tx_body_hash": "814694a8e32f1c81b627f8eb704622c8893d197bf32bbd7e1bf73bec9a831d7d" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "814694a8e32f1c81b627f8eb704622c8893d197bf32bbd7e1bf73bec9a831d7d", + "inner_hash": "10daee0ac47006149435adf9655dbc8796eece3d075f93af9810b204f90003ab", + "sigs": [ + "9cfad1cc126d0b33d6e44b5cf99672c0bbb088dd2ed01090365292d4ba1c188f18772aacbc7931e81202c11d7eb977a8f00bae86ce5b40479482bbbd883dfcaf01" + ], + "inputs": [ + "f8ad5c72e7822c7ac9a1dce8de583e34f6f830052bc0a02d749e9e81790dae86" + ], + "outputs": [ + { + "uxid": "f37efd851f76854852fdb8b8ba9afa2c5b7859315cc1fd12c12bf6831c59beb2", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "9000.000000", + "hours": 7343 + }, + { + "uxid": "2f4daff744e7fd81ceea34ecfb0e383a65ecda1c55f32a0bef313d29b0795eab", + "dst": "2acnXsnJ2k8jxiUahtBe8h4xouPAnpbwwjc", + "coins": "1000.000000", + "hours": 7343 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 52, + "block_hash": "8536b8ff98e646a4a56c5a1a6a8ab72a41a48b72dea6fb35748e5dd4ee8e2e0d", + "previous_block_hash": "616d09296fd9dfa108d859a8fc5042252e1a9b88277df2e5adef2336559b52f5", + "timestamp": 1429077494, + "fee": 8996, + "version": 0, + "tx_body_hash": "231254039042675300dbdd61a6ca54941214e383b5f6380323f848482b4f4628" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "231254039042675300dbdd61a6ca54941214e383b5f6380323f848482b4f4628", + "inner_hash": "ddddc962f9ad468e32f141dcf8479e2ec2293d42a32b2085fbaa0b5e9f80a267", + "sigs": [ + "7cb704180d085d04db6816852111cf3dad3c911337af4e22596c42efe77a45983539abe92b0f08993559f87ac2e4ddb907e46c36c6a746920f2fd0c89b0b7fc201" + ], + "inputs": [ + "5fa90c22a26ecec8c03696a018b590a5e1679efa9cb5e8263facf9bcc6628db6" + ], + "outputs": [ + { + "uxid": "e4fa8fe06d04bb438323f295eea23535856be08b369be71a2ce3e9e7bc0b1e09", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "7000.000000", + "hours": 1499 + }, + { + "uxid": "cec910b5d672e216db306389dc9ebb08f9d37485fbc3ac6aa7a8c37f60be844c", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "1000.000000", + "hours": 1499 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 53, + "block_hash": "a8f4e293af2cec10febbd7b632c8ed15477cae6dfd98060d007fc2538a4d2b39", + "previous_block_hash": "8536b8ff98e646a4a56c5a1a6a8ab72a41a48b72dea6fb35748e5dd4ee8e2e0d", + "timestamp": 1429077514, + "fee": 17787, + "version": 0, + "tx_body_hash": "d154d8262abbf517c67d529b0fea7cdf097433bd296d5795b17c6379cb1b1430" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "d154d8262abbf517c67d529b0fea7cdf097433bd296d5795b17c6379cb1b1430", + "inner_hash": "b69070b10e6bbc276bf155361d7f3238fec46b9d865075c1dc0fc20d81ab0a42", + "sigs": [ + "0a4b7f385a164f5718794382d49c14a6623e7af5f1ddbefe4871c756b754457a7075e822603bd3b22b313278abebe756be92367ef7a81a8c4adf992842c2058601" + ], + "inputs": [ + "e6d9b56e075a6adf520d1ae7fbab9ae06353ae0b93dc8cb17d82cc3628009a50" + ], + "outputs": [ + { + "uxid": "2df1e88589be43c55d7c6c3dbcbd663fb759b3245eb8d86b0b9cdaa989556aea", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "943750.000000", + "hours": 2964 + }, + { + "uxid": "c7919b892eeb751456d456b37ccde7350a3fca0dda03b17ec426a56f12dcf192", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "1000.000000", + "hours": 2964 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 54, + "block_hash": "a6f4b95091450f21961f12aabd6ff7791aec37b775a9728a0fd970124aa82e85", + "previous_block_hash": "a8f4e293af2cec10febbd7b632c8ed15477cae6dfd98060d007fc2538a4d2b39", + "timestamp": 1429077524, + "fee": 1153, + "version": 0, + "tx_body_hash": "88d239f2584c78b73a1905fd0dcce3beabfdfc5a9c54518862b009e22e972c68" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "88d239f2584c78b73a1905fd0dcce3beabfdfc5a9c54518862b009e22e972c68", + "inner_hash": "bbb61ff8c3b3361e77eae47d4a65c4073e45ded96994efbe605fa7639486b2ba", + "sigs": [ + "c627aa6233c7bc436f7569399554ead829bd21244cb1f938cecde96b493d1ac84099844dc91bbdcf72593285c33f124dba2d3aa1b7807532d647484492b8760900" + ], + "inputs": [ + "e4fa8fe06d04bb438323f295eea23535856be08b369be71a2ce3e9e7bc0b1e09" + ], + "outputs": [ + { + "uxid": "f5beae016bda8260218fc05468c300fa71ddd46f4c6337fffac8d83229461f5f", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "6000.000000", + "hours": 192 + }, + { + "uxid": "470b293870b663b84e1f677e1bc0e486d0b5f412b0562b078a7a1045f7785d7a", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "1000.000000", + "hours": 192 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 55, + "block_hash": "62cdb4edf2a82b894ee0540a494979007ea32ada552321c3daf00700659652b3", + "previous_block_hash": "a6f4b95091450f21961f12aabd6ff7791aec37b775a9728a0fd970124aa82e85", + "timestamp": 1429077544, + "fee": 5583, + "version": 0, + "tx_body_hash": "374f01de8274656147be0a23ccc5677773da6f32b071ee796bda0851b6dcd2ac" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "374f01de8274656147be0a23ccc5677773da6f32b071ee796bda0851b6dcd2ac", + "inner_hash": "1789978d61189b7e49bea67d8a1d1f0341da0242cb0b801c4d8bc346ec2fd618", + "sigs": [ + "f706829ee37d3f4467aae6341bd20c0455ae172a947ca372028db7f9b1dd2d7a4123b109eba8d4add2f695f6a7aa5806840551096f5357ce09be55e1877fb70c00" + ], + "inputs": [ + "f37efd851f76854852fdb8b8ba9afa2c5b7859315cc1fd12c12bf6831c59beb2" + ], + "outputs": [ + { + "uxid": "298fabb8217a2b0322f104b0cb295383bfdbc599d6a81e07610e0922eb99f89a", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "8000.000000", + "hours": 930 + }, + { + "uxid": "2f1de81eaa83eda52d8eaf44b12599b23134a38b7d55f67de8881ddafbec278b", + "dst": "2iwB1VmUWbCoVd4gNstB9LKctw3htFhVmuV", + "coins": "1000.000000", + "hours": 930 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 56, + "block_hash": "8ffb8910411fee24ddbed4b8775a2d9254f644b12c48f05b3edc6aaf5c0161b1", + "previous_block_hash": "62cdb4edf2a82b894ee0540a494979007ea32ada552321c3daf00700659652b3", + "timestamp": 1429077554, + "fee": 76179, + "version": 0, + "tx_body_hash": "8fba29db2e3e8cad785e723f95aa5fa46ae0dd8b2bb62586977f20e698642cfb" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "8fba29db2e3e8cad785e723f95aa5fa46ae0dd8b2bb62586977f20e698642cfb", + "inner_hash": "dc25f33c3b93678ccc3449a318d55782a274c17cd2f45089018bd7c55b21dd96", + "sigs": [ + "6fbe79a6f32b242f97f7e7662e6f7eb5aff065e8063864fc52159071005ffb2570c26a2d8b21a7826cf18c15f4f4ed9b718a7a9fdf1b4d5ac63bdb632452c82401" + ], + "inputs": [ + "df5d6e09da2585a6ac1a37aea2370fa25e9049b549049202d5417138bf033cfa" + ], + "outputs": [ + { + "uxid": "3d7dd4d41e613fe8153f5e5f62b79494e9db9ed98f875d929ca1f90ecfe2d50b", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "9000.000000", + "hours": 12696 + }, + { + "uxid": "9e53268a18f8d32a44b4fb183033b49bebfe9d0da3bf3ef2ad1d560500aa54c6", + "dst": "vdLGAnCfbBkxabcVk6tEsa6RH99JTxdzbt", + "coins": "1000.000000", + "hours": 12696 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 57, + "block_hash": "371e2ba60743ca0c07e2fd88b3b53ba39fb0cb9e6aad12a7761e6821903ed25c", + "previous_block_hash": "8ffb8910411fee24ddbed4b8775a2d9254f644b12c48f05b3edc6aaf5c0161b1", + "timestamp": 1429077584, + "fee": 10088, + "version": 0, + "tx_body_hash": "61a33b49e97bfe2d5f026bf45fae43a1b9bdf08c60ec8db017da720a69790c7f" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "61a33b49e97bfe2d5f026bf45fae43a1b9bdf08c60ec8db017da720a69790c7f", + "inner_hash": "32d2dce8e8043e544b3cb2145b0bfb9d4cfdb7ae8e20437d075f76b75d8e088e", + "sigs": [ + "990bf0a8c74b0b4c4d05f463a0a50e311a6ae27b5d327dcb906bb6e42330709d48998eed6e7cbdf35caeab6d90fac3e56fb222032aefa7b1d4d9c7653aca9fe600" + ], + "inputs": [ + "2df1e88589be43c55d7c6c3dbcbd663fb759b3245eb8d86b0b9cdaa989556aea" + ], + "outputs": [ + { + "uxid": "c5150380691c542b9bdf4cf2280ac612e0576c349f99d47d0a03c77eedc48731", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "942750.000000", + "hours": 1681 + }, + { + "uxid": "3b9059ec909faf64d652dae78944f4a2737df95a3215bf98e2ff33e02e2b377f", + "dst": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "1000.000000", + "hours": 1681 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 58, + "block_hash": "f1ac8e75dc1d735737bd0d6f7bbecec46283352f100a70b5b8d26835640c210e", + "previous_block_hash": "371e2ba60743ca0c07e2fd88b3b53ba39fb0cb9e6aad12a7761e6821903ed25c", + "timestamp": 1429077604, + "fee": 220, + "version": 0, + "tx_body_hash": "5d1cb86b48c8834c8c12fc36a83259609300f2f6a148faa1492a473cee21bc02" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "5d1cb86b48c8834c8c12fc36a83259609300f2f6a148faa1492a473cee21bc02", + "inner_hash": "34ee80da7f19e17ab8b49569ad514135f6e6120c67288c8f613b758b9db8658c", + "sigs": [ + "228340c209abeb45fe25b93bfccbf08cc4faa1abcd89c95bf0332de0f9846f642c68fb68f49f4dfe6ed556c2e8b86bab6127d47de518179ad467af637e264c7d00" + ], + "inputs": [ + "f5beae016bda8260218fc05468c300fa71ddd46f4c6337fffac8d83229461f5f" + ], + "outputs": [ + { + "uxid": "53ea8733d94ae54bade0b55df03a03b3c0f6e6683b9260c36b14e3fc311d6f49", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "5000.000000", + "hours": 36 + }, + { + "uxid": "d58f3facfb4c9c9459e6fae3000886acb2b1f81322725cdc32cc09a49bb81e43", + "dst": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "1000.000000", + "hours": 36 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 59, + "block_hash": "439660598874b2e404075928f537ae474b5239ce650f24507429f47f292d3dff", + "previous_block_hash": "f1ac8e75dc1d735737bd0d6f7bbecec46283352f100a70b5b8d26835640c210e", + "timestamp": 1429077614, + "fee": 799, + "version": 0, + "tx_body_hash": "4ce860140dbb5f90f39086b0c51323005145a95b365204bd33e3d90fbdc35f51" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "4ce860140dbb5f90f39086b0c51323005145a95b365204bd33e3d90fbdc35f51", + "inner_hash": "d81940dc03cf3fa1fd3eeadb84ae46e472bf3e281754a79eade7029b5ae1f639", + "sigs": [ + "dbc7327f85a323193b59dde59d2656c8dfeb2b94c40dd01ca70f379d14a7b9123473b7cdf38df1196b55f2c01c4a31ed1c9ba7d75f6670deef3b9816656add2d01" + ], + "inputs": [ + "298fabb8217a2b0322f104b0cb295383bfdbc599d6a81e07610e0922eb99f89a" + ], + "outputs": [ + { + "uxid": "1efc8693845733061e1407a74e86976a52a69c63a14d6a79e1f3e45277662900", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "7000.000000", + "hours": 132 + }, + { + "uxid": "53d7b4778ee9b9537c0439666ca124d81bcaf4195d080ef61fade8c3eae6322e", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "1000.000000", + "hours": 132 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 60, + "block_hash": "5461cd2134a695ade2c7bdf53f7ad18bbc6635d4241e609e7612ac2a7387ba37", + "previous_block_hash": "439660598874b2e404075928f537ae474b5239ce650f24507429f47f292d3dff", + "timestamp": 1429077624, + "fee": 9636, + "version": 0, + "tx_body_hash": "77a69f4c8afd858a2f6767bb9980d4af6520e02b076bf2a78b935021e1147c71" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "77a69f4c8afd858a2f6767bb9980d4af6520e02b076bf2a78b935021e1147c71", + "inner_hash": "65f97c460ed99ea47ea2cdfd0780af2338f78d80bff93b92dc2ccc8f2411abec", + "sigs": [ + "7c32e34864bc9659222cb26f10058df5cf2fe0c7b78b1d067a7b5af80f4a2b146f8914f4424d9e80a3303d3d2531ddf9d60489011c607ecd5f92cefa5105eee501" + ], + "inputs": [ + "3d7dd4d41e613fe8153f5e5f62b79494e9db9ed98f875d929ca1f90ecfe2d50b" + ], + "outputs": [ + { + "uxid": "77769e6a01cf3dca201ade501767d0abf20dea19d694f3272b647a9a651fdee9", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "8000.000000", + "hours": 1605 + }, + { + "uxid": "0560bae3917bca7581af9b6c5a58e395c701ce9ed0241dac2de8a3e93c0b839b", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 1605 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 61, + "block_hash": "bd5ecd0a7a96b94b93406a27ddcf4155db32ae7434e19d1210412f86d62401cc", + "previous_block_hash": "5461cd2134a695ade2c7bdf53f7ad18bbc6635d4241e609e7612ac2a7387ba37", + "timestamp": 1429077654, + "fee": 9118, + "version": 0, + "tx_body_hash": "4aeafd20b9df56ec852a2c257ff1630b9530d8375a4e72f20238ea36835f76d5" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "4aeafd20b9df56ec852a2c257ff1630b9530d8375a4e72f20238ea36835f76d5", + "inner_hash": "bc6119c006f7c54c8608cc8050f47c43e6c079397f607f8c9e90d3072a10eca5", + "sigs": [ + "0309322d16d48a35bd42c2ae6a76b240b21974d073f81f440e04431941fc9d550de92dcbcb226ad3baae2b3cbae51db28b2dc8d3e1b51cdd559cbbb6e4b71eda00" + ], + "inputs": [ + "c5150380691c542b9bdf4cf2280ac612e0576c349f99d47d0a03c77eedc48731" + ], + "outputs": [ + { + "uxid": "9bbb8d620aae3efc7c21bb7d6a7159eda441a83e0fef2cd98f8240b38857d648", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "941750.000000", + "hours": 1519 + }, + { + "uxid": "2480aeed2dc47c692e4bce61fb3ee44c4992ea39b0a167235e501330d7ddac62", + "dst": "3iEkvqSQCNrm8tMVf5ABAx2Bp6EGL9wyMP", + "coins": "1000.000000", + "hours": 1519 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 62, + "block_hash": "e103dbe63feed4fab951dd5de742ace3fd72750f7d48c4940f55f65bd7dca7b1", + "previous_block_hash": "bd5ecd0a7a96b94b93406a27ddcf4155db32ae7434e19d1210412f86d62401cc", + "timestamp": 1429077664, + "fee": 79, + "version": 0, + "tx_body_hash": "057ae2bee6e1fc2c9997d48aab3e348a7f17ad0305d6e6a14f4f663404b4a00a" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "057ae2bee6e1fc2c9997d48aab3e348a7f17ad0305d6e6a14f4f663404b4a00a", + "inner_hash": "7b253041d4c467262bd144354f1584fc37b1b3a2934b0230919838e60a4320dc", + "sigs": [ + "7587f95e4036b310ce3bafbd1248ae62210120c14c2569d358f0f1363120626060e0797c9728a2cf3cef7839fa6e9d42d31ca899cfab82fa3eb8a0401c3cb8e301" + ], + "inputs": [ + "53ea8733d94ae54bade0b55df03a03b3c0f6e6683b9260c36b14e3fc311d6f49" + ], + "outputs": [ + { + "uxid": "83b5fa4051dbfd50ba903374e5e583a9345c6a980505ee56963de9bd8e539e36", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "4000.000000", + "hours": 13 + }, + { + "uxid": "b9853ab091bdb295de20d765e9bce2d86870791a6a15b8ef9e9dddb71c4cba95", + "dst": "3iEkvqSQCNrm8tMVf5ABAx2Bp6EGL9wyMP", + "coins": "1000.000000", + "hours": 13 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 63, + "block_hash": "cf9cdcc235d2bb70cf8ef1420d42f35893fe0c2645540bde77694a000f63c274", + "previous_block_hash": "e103dbe63feed4fab951dd5de742ace3fd72750f7d48c4940f55f65bd7dca7b1", + "timestamp": 1429077684, + "fee": 1271, + "version": 0, + "tx_body_hash": "8d10b0ba11d9dd63d3a3522bc35bd260e8da9109298aa488355ea7201eb961b7" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "8d10b0ba11d9dd63d3a3522bc35bd260e8da9109298aa488355ea7201eb961b7", + "inner_hash": "929218d56de3e94d277827c857a657ef8b1352f75e6938ff5cf10ac4c54d4039", + "sigs": [ + "6c8892c3277b90f5ca71a42515706de993c459f094282fa99168359f00c5cb862811c4225cc1448e99ba2755e9f9eb241ad0df25b20f1a6ec035a673cf42ab2f00" + ], + "inputs": [ + "77769e6a01cf3dca201ade501767d0abf20dea19d694f3272b647a9a651fdee9" + ], + "outputs": [ + { + "uxid": "f5867b05823c81fc53de36b140415b3b98e4f4cec5883512f8553f70c550d8e7", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "7000.000000", + "hours": 211 + }, + { + "uxid": "9011fbc6e82dce0656e7ffc76afb014d2ad70aa4663e7b687d3212e12f8965e2", + "dst": "2jNYhHCuqQtU8kKkLf8ZZmKj6fywTL7fw2e", + "coins": "1000.000000", + "hours": 211 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 64, + "block_hash": "b6692c358b6642ca1321509e032a479086ff3ebeb596957e12c4c2e5b68c24be", + "previous_block_hash": "cf9cdcc235d2bb70cf8ef1420d42f35893fe0c2645540bde77694a000f63c274", + "timestamp": 1429077694, + "fee": 7026, + "version": 0, + "tx_body_hash": "29c229c97d27bcaf842a367520e1916fb855921906bddf4a3b0413ad3f11517b" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "29c229c97d27bcaf842a367520e1916fb855921906bddf4a3b0413ad3f11517b", + "inner_hash": "bc02dde29d200fa6bc0497f2ddd5e52007aef9b6482d40953fbd44ed88e3cf78", + "sigs": [ + "0674c0617c9e6109ca9af404d446777943bb6aaa5dcb223da63bff1a305498972735e0b2a601cc9c6ee2231ad5fdd025fb92cbb00e200860a2ebde924f76499400" + ], + "inputs": [ + "9bbb8d620aae3efc7c21bb7d6a7159eda441a83e0fef2cd98f8240b38857d648" + ], + "outputs": [ + { + "uxid": "25ad0d5ae6a1a9bc61c6b9099fb7829111977a59e1183de4227a0a5352555639", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "940750.000000", + "hours": 1170 + }, + { + "uxid": "47c74a6d7f1f54cf0a7ac45ec00277539079810068dd95a29a202c43780d65a0", + "dst": "PCAtFnGVujpALXB1Gqb9CEMRMVXfVGu6iM", + "coins": "1000.000000", + "hours": 1170 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 65, + "block_hash": "a8dd413f76f33d5cc1abd6d429098a75805137a02d8100fbd98f1b2fca62af70", + "previous_block_hash": "b6692c358b6642ca1321509e032a479086ff3ebeb596957e12c4c2e5b68c24be", + "timestamp": 1429077724, + "fee": 36, + "version": 0, + "tx_body_hash": "e3b7236ad4b209d664ee1e2549f2a0d34a3ba58b12ee46f98fba73c01574e484" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "e3b7236ad4b209d664ee1e2549f2a0d34a3ba58b12ee46f98fba73c01574e484", + "inner_hash": "30b5c520717641fa7a5b11c5340e6f239d1502d90809e919003004048582e8de", + "sigs": [ + "3c90ea0882c24e0e17f9f453f7777eba42aa5fea386f21f8f873969a0118d12f0a81169e3600d68026cbbe300b63568db468cbd931087eb0de8635a8453efe3201" + ], + "inputs": [ + "83b5fa4051dbfd50ba903374e5e583a9345c6a980505ee56963de9bd8e539e36" + ], + "outputs": [ + { + "uxid": "70dfcdd1a8a321ffd22c4ce313763464f78c2f85a97bb369ac8b82f76d2ea961", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "3000.000000", + "hours": 5 + }, + { + "uxid": "c2fcd55cf6b73e863c96f7c2d6251069199bfd43688d2515f5c6631688aadcbc", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "1000.000000", + "hours": 5 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 66, + "block_hash": "0816061820617c7318004eb8893b7b7c49fcac1fda0c655d6f75c57edcf5a1a5", + "previous_block_hash": "a8dd413f76f33d5cc1abd6d429098a75805137a02d8100fbd98f1b2fca62af70", + "timestamp": 1429077734, + "fee": 259, + "version": 0, + "tx_body_hash": "bbd1d4b6fe89a5986efbea9f7996cca2a515c3f0788cedccc21990dc78d83509" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "bbd1d4b6fe89a5986efbea9f7996cca2a515c3f0788cedccc21990dc78d83509", + "inner_hash": "f5b418d7156e6ad70bbde6d90be61d4ab2fce406890a3fe764ae2a43da12440d", + "sigs": [ + "1fd3e13f0e55364107d6916ab5002bcc434889e5f5355751f1f688ac469f336d09161f516770cc78f1ece3cb790a1ded56e25948a46546c8d521dea6b3141fad00" + ], + "inputs": [ + "1efc8693845733061e1407a74e86976a52a69c63a14d6a79e1f3e45277662900" + ], + "outputs": [ + { + "uxid": "3fe6b13824f28d69588c309278420069bc0efae95367d0d6f93cb40af15eeaa6", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "6000.000000", + "hours": 43 + }, + { + "uxid": "06292fe8a2036c38f28c4d2f355d9e86e2b55b9d85f84613a64cf5c35d192b28", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "1000.000000", + "hours": 43 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 67, + "block_hash": "7b9a543120ed5b65c8b988b763e09b4ddc9c36eabe1c56d0fd7b26072eaf9fe9", + "previous_block_hash": "0816061820617c7318004eb8893b7b7c49fcac1fda0c655d6f75c57edcf5a1a5", + "timestamp": 1429077874, + "fee": 8718, + "version": 0, + "tx_body_hash": "42227683dd9c149859d0578ab300d8509d513afadf7834fd8ae7a321cc07d833" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "42227683dd9c149859d0578ab300d8509d513afadf7834fd8ae7a321cc07d833", + "inner_hash": "a7a9ea6466bef6cd63f671ae5dd1aafbeb251a717c7da331d40ec376ad0e89ec", + "sigs": [ + "b4a141eb037a4debd99c347f337f67662a3feeb96112d7b05fc035a3556419dc3a9b35028327d925ca5eb9da018371bc333b7365f06ea22366169af6f066524701" + ], + "inputs": [ + "25ad0d5ae6a1a9bc61c6b9099fb7829111977a59e1183de4227a0a5352555639" + ], + "outputs": [ + { + "uxid": "acc75d51ff9f18a224d1ca0481917e2a67298de40955711cd97a08f6733b5b6a", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "939750.000000", + "hours": 1452 + }, + { + "uxid": "8bdd2662d7ed495ff82daef9198ee23ac0c75417607675a8da3dd673952c0e39", + "dst": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "1000.000000", + "hours": 1452 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 68, + "block_hash": "0916d93411a574d88a89d8b7646b1876b036e10905cb8fc04d81e1f09a1c3459", + "previous_block_hash": "7b9a543120ed5b65c8b988b763e09b4ddc9c36eabe1c56d0fd7b26072eaf9fe9", + "timestamp": 1429077914, + "fee": 1090, + "version": 0, + "tx_body_hash": "d803ab903f68f7861cd8eff93b3c097c5b8f6a697ca67bb01e7e645060839fd0" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "d803ab903f68f7861cd8eff93b3c097c5b8f6a697ca67bb01e7e645060839fd0", + "inner_hash": "611f096c50da1d98c29b8c9bdc6b7f7c98d96061ab126c66716f17a2fc495166", + "sigs": [ + "d264a023bc6986c1bf16e2e697f4df8b6e33ae2d4b1ddd4e207cb5f902fed54c1234c3ef2429d82507f5c10c0fb4320d753f3bf6b5e155fa3ec03bc91dd8206a00" + ], + "inputs": [ + "acc75d51ff9f18a224d1ca0481917e2a67298de40955711cd97a08f6733b5b6a" + ], + "outputs": [ + { + "uxid": "5c1069a3aa6628ed7f9bdb300bec1a7e7ca6fb4645528a8c6a27c167e7dfe698", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "938750.000000", + "hours": 181 + }, + { + "uxid": "3c56fa9d161783d6fe5c8b055c6d20bae27097e7bcc44d9ece5c94df182ee5bf", + "dst": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "1000.000000", + "hours": 181 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 69, + "block_hash": "8a65ad3031102e032275f0c24bcda248a5af548eef4cff5570f9530ced70ce5a", + "previous_block_hash": "0916d93411a574d88a89d8b7646b1876b036e10905cb8fc04d81e1f09a1c3459", + "timestamp": 1429077944, + "fee": 137, + "version": 0, + "tx_body_hash": "3bf485890e91268452dc3136c0b294dc9909b3aaa10b9c936743e6e9b1a56f61" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "3bf485890e91268452dc3136c0b294dc9909b3aaa10b9c936743e6e9b1a56f61", + "inner_hash": "e952e5d86f3cff105dab78a455691c871f3b0fd09558e367833c4743339b94d3", + "sigs": [ + "632771f1bdae7454911dcb6462aee56827f949dae18e8a98168b57864a62333f4251e17efa15a53ec12ab6980ea72838e9bb0e64aad82ad9e6a0a2a33b3006cd00" + ], + "inputs": [ + "5c1069a3aa6628ed7f9bdb300bec1a7e7ca6fb4645528a8c6a27c167e7dfe698" + ], + "outputs": [ + { + "uxid": "8190fd31c005510d550c8a241b127fad2558c82aed9483fb4423193d5f4429e3", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "913750.000000", + "hours": 22 + }, + { + "uxid": "5a7b2b6568cfa4ff5d44e98446aed92438ede0103b9994cfa3389bd02a35239b", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "25000.000000", + "hours": 22 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 70, + "block_hash": "3ef495620acbcd39eb8a0ecbcac390b72be620c81c2e5c8730bd7457bd1ecb3e", + "previous_block_hash": "8a65ad3031102e032275f0c24bcda248a5af548eef4cff5570f9530ced70ce5a", + "timestamp": 1429077964, + "fee": 18, + "version": 0, + "tx_body_hash": "f51e2ce31961b0186e04cc9d78857c3c21d3e2afb25c050d8c1d67d3320fcc07" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "f51e2ce31961b0186e04cc9d78857c3c21d3e2afb25c050d8c1d67d3320fcc07", + "inner_hash": "4a8b13ea0c8a993b3455a374e847bcbea7e7a20392c7cc169cbc41778e65d6e3", + "sigs": [ + "74f886780a9df8f6987c8c60bf5d9ad0fc25a502ba8f681188923d3a85f74bb87d57b067e53ed0f423ee7fbb352f3260e65c38e44cc7eec8fe8224374fd77cc800" + ], + "inputs": [ + "8190fd31c005510d550c8a241b127fad2558c82aed9483fb4423193d5f4429e3" + ], + "outputs": [ + { + "uxid": "450cd7795bb3625daa99d6b64b9a8786d593bf1cad986d6c2933dae04b74a593", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "888750.000000", + "hours": 2 + }, + { + "uxid": "9639a86df8da288fb0fc6a92fa086f3cd5a8387705a14ddd2aa5e30c6c3fc3fb", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "25000.000000", + "hours": 2 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 71, + "block_hash": "1ce626f7ffc4affe11bcbac9b0eea5d23383803c714be1af8f97b1e58aef1138", + "previous_block_hash": "3ef495620acbcd39eb8a0ecbcac390b72be620c81c2e5c8730bd7457bd1ecb3e", + "timestamp": 1429077974, + "fee": 2, + "version": 0, + "tx_body_hash": "abed13c2a552633d26b5b51c3ac5abf9808756c0203869ed185a7cd673702ba2" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "abed13c2a552633d26b5b51c3ac5abf9808756c0203869ed185a7cd673702ba2", + "inner_hash": "c176a1a85f716055a9e8060c2a4245db0d7f71f4ac5387d4a51d173db467150a", + "sigs": [ + "40e8340047f08afd483b2867166e15ae751bb7272a2c24f68ae8561d3619ea021363e987118a2fe516cacff1946d4d6c4c249038581ee2f58f8feea4bcffc3b100" + ], + "inputs": [ + "450cd7795bb3625daa99d6b64b9a8786d593bf1cad986d6c2933dae04b74a593" + ], + "outputs": [ + { + "uxid": "b44ee00208690c2123989f40edaff0224825afb20ca0952fbd90bddfd3213642", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "863750.000000", + "hours": 0 + }, + { + "uxid": "22edb5931e1c54382f18e41ef774931efb08c278209a1fe8a34100147b707220", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "25000.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 72, + "block_hash": "8daa2e02f6154135a2ecb309ab14a1a3af7101d53ee1a35c15335e463b21c883", + "previous_block_hash": "1ce626f7ffc4affe11bcbac9b0eea5d23383803c714be1af8f97b1e58aef1138", + "timestamp": 1429078004, + "fee": 558, + "version": 0, + "tx_body_hash": "3872797c8f9964e6ad19552b9b88d2af07be32866bdb9b9c60aa7086f253af43" + }, + "body": { + "txns": [ + { + "length": 414, + "type": 0, + "txid": "3872797c8f9964e6ad19552b9b88d2af07be32866bdb9b9c60aa7086f253af43", + "inner_hash": "5784542f1b1f9284f25c8d3995429e77b1c0cbdf4b1eeb6a1737f5f19b0b576f", + "sigs": [ + "cf51ea4b5631baaa43dcf258cf08f6f87fe4fa9afb2d081e7eeacf6be3b1239058e30d931d22d3befcbde12b51399b438cd8726670f10c0da3889bc08917fb5601", + "bfa55b86721bd2d92144e2108123cc33b62ef50da580fed9d6787cbcc1674f63761ef4d39592f060e98b415c22d272066c36f6499ceb5571b19b4eae1c3110be00", + "3b50522194013cf9ea2dfc387be85c79c7e2379c1936d654c14921cdcbbbaab047a2ab1e09f3a190a09d12f70b41d6428b2e171732630b6a74eeb269853a404500" + ], + "inputs": [ + "3fe6b13824f28d69588c309278420069bc0efae95367d0d6f93cb40af15eeaa6", + "5a7b2b6568cfa4ff5d44e98446aed92438ede0103b9994cfa3389bd02a35239b", + "9639a86df8da288fb0fc6a92fa086f3cd5a8387705a14ddd2aa5e30c6c3fc3fb" + ], + "outputs": [ + { + "uxid": "3a7e60306a5fc882d0c4edcb2990d14be6b80dad1a41b06f8ae5e0308078bafa", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "31000.000000", + "hours": 93 + }, + { + "uxid": "a96ca17d6af858af8c6f24f607a742ae2979ab8f660b8363b7fbe18625c8a048", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "25000.000000", + "hours": 93 + } + ] + } + ] + }, + "size": 414 + }, + { + "header": { + "seq": 73, + "block_hash": "21ac5c256658c7758d4f6dccc34e209bc9ef1433f4036cdd7eff722c9f29a83e", + "previous_block_hash": "8daa2e02f6154135a2ecb309ab14a1a3af7101d53ee1a35c15335e463b21c883", + "timestamp": 1429091164, + "fee": 2326, + "version": 0, + "tx_body_hash": "a95317361364e8cc08a150840bac8a97ea1f56278f8834ca2a2f16c24c4a7f0f" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "a95317361364e8cc08a150840bac8a97ea1f56278f8834ca2a2f16c24c4a7f0f", + "inner_hash": "90c166e92a7883037f9634704923d986976ac814f28e4761309bf86d77cdb755", + "sigs": [ + "27ee3b614e5362462bc20c23e873e380b5bcc880053436a640286ead5fe2dcd00094e0eade532ffbfc8ba95d5e3540968b2fff64e19e0e772342aceb3c5d3ce100" + ], + "inputs": [ + "c7919b892eeb751456d456b37ccde7350a3fca0dda03b17ec426a56f12dcf192" + ], + "outputs": [ + { + "uxid": "7b132c07322babefa83ab64971b7bfb29bf2cb9ffe9c42dc7e2975a185dcd8b8", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "995.000000", + "hours": 387 + }, + { + "uxid": "8f52e126bbc359bc3bfd230d82649c3d1c622e8f9c20dae7ccd73bd0b4ee2bad", + "dst": "4EHiTjCsxQmt4wRy5yJxBMcxsM5yGqtuqu", + "coins": "5.000000", + "hours": 387 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 74, + "block_hash": "bc712ef025d1281c3fc4922d64f1afdcf1bc6750b15239239a19d02c11284842", + "previous_block_hash": "21ac5c256658c7758d4f6dccc34e209bc9ef1433f4036cdd7eff722c9f29a83e", + "timestamp": 1429091944, + "fee": 43640, + "version": 0, + "tx_body_hash": "edca397ceedb5fb4462b0aff8fe7f9da5091a4e68f11a34c79daf2c5ae7dd748" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "edca397ceedb5fb4462b0aff8fe7f9da5091a4e68f11a34c79daf2c5ae7dd748", + "inner_hash": "873d38a9ff804dab8d83013a6e6b4132d0b0dde6439de24f2190ecd1d31f9ab6", + "sigs": [ + "0c3ca0de3f369e03859d710b18656c92c96b11b8c0e15e31b337293e59776b905f6ce7f91f7b3c9c268b6cb1673b8ef2ffe2dd7f059f7833b62284168bf2065601", + "7755689ff9c10e672b3311b1b69ed69ff82dbcc168683b75e77491c9d36f7a7f1ddd0801b5acbafb467baca8ab9f28cf7189be701bdf169749290ad4cb58e2a801" + ], + "inputs": [ + "9953e00abe05db134510693a44b8928ca9b29d0009b38d9c4f8dcdedee7edc35", + "8f52e126bbc359bc3bfd230d82649c3d1c622e8f9c20dae7ccd73bd0b4ee2bad" + ], + "outputs": [ + { + "uxid": "5f75082377566cf140c8f158e160ab6ecd1cdf02224c66865106fa1a75b39dc2", + "dst": "4EHiTjCsxQmt4wRy5yJxBMcxsM5yGqtuqu", + "coins": "955.000000", + "hours": 7273 + }, + { + "uxid": "e2807345a3e76b7050038a9ec40d5a62bd4dcc6b1ed79f186213a32caf7008a1", + "dst": "j6pa8kdKqHbxRm2VXJVbzigQDFzqTVfvfq", + "coins": "50.000000", + "hours": 7273 + } + ] + } + ] + }, + "size": 317 + }, + { + "header": { + "seq": 75, + "block_hash": "ef4a2e771d88df1deea69cd55f952bc5e9e6f32424e6f4b5ff35ba05602a9584", + "previous_block_hash": "bc712ef025d1281c3fc4922d64f1afdcf1bc6750b15239239a19d02c11284842", + "timestamp": 1429096344, + "fee": 5455, + "version": 0, + "tx_body_hash": "3122b6b29ac470bfa18fbd1ef6d5ff76717e18ba25374215a5003557b4524f22" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "3122b6b29ac470bfa18fbd1ef6d5ff76717e18ba25374215a5003557b4524f22", + "inner_hash": "f752c579e2f7663b3e13371c7bb94b09cb047f1cdb597bd52b79c8c81f557b9c", + "sigs": [ + "d12daa336401481611bf15edf07cfa0b181a1f3e2e8d062c6e8b04d690242cd87db5fd5aebda3bb06c49e8450c18c5c0360d6c4b14686cbb361feb394b5c26f501" + ], + "inputs": [ + "e2807345a3e76b7050038a9ec40d5a62bd4dcc6b1ed79f186213a32caf7008a1" + ], + "outputs": [ + { + "uxid": "ec41341d4c9d69e150079550a9051c4cb7cc3e2da49deb2c0faaa632cb1958f8", + "dst": "j6pa8kdKqHbxRm2VXJVbzigQDFzqTVfvfq", + "coins": "5.000000", + "hours": 909 + }, + { + "uxid": "ead07056919be961a9e812a7832356d806d551096284648756b3642a3d4a5570", + "dst": "4EHiTjCsxQmt4wRy5yJxBMcxsM5yGqtuqu", + "coins": "45.000000", + "hours": 909 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 76, + "block_hash": "bc51c3788411589efac68dcaef915a14d83aecdbeb250cc48073774997e6cb28", + "previous_block_hash": "ef4a2e771d88df1deea69cd55f952bc5e9e6f32424e6f4b5ff35ba05602a9584", + "timestamp": 1429110544, + "fee": 432263, + "version": 0, + "tx_body_hash": "5369348d67b2dd30dd9164657e372304f81ea10dfe1914ba874d46cd659f52c5" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "5369348d67b2dd30dd9164657e372304f81ea10dfe1914ba874d46cd659f52c5", + "inner_hash": "08a8ae61257645c212216e63a96673001fa581c286eaa4ddcb81f6ffaaff8c1a", + "sigs": [ + "75489dbb081962833ce1fffbc393f0040e5c75bf45564a3757573eba816b71bd63e8178eef8add2277864d6d251013b6197bd80efdc069b7c5adf27b0372703c01", + "4587b09d2e08de8379fd1505748ea21db3995f2dd18b04ca729f2ebf76c2645a21acc2e5ca5f4b79f6381b91ef21fe4bb72d2415b74f38fc1569b90233211c8d01" + ], + "inputs": [ + "73ad63090201c13e6fb55d2e51ec5606fe49a40640bea995e347e7389fcea6c6", + "4aca4c715985da352bd9aa84787868dac4f4e305c420fe79e6f05acee3bba14a" + ], + "outputs": [ + { + "uxid": "50386f195b367f8261e66e3fdfbc942fbacfe25e117e554ca1c1caf899345476", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "25045.000000", + "hours": 72043 + }, + { + "uxid": "9c3119ad3edbd17a2135cac6d24ef43c6d7e599710b2aab4e97e731e64c13acb", + "dst": "9vNYwzpjSgw4dRyTc7SAP4z9Jh8bhwURnu", + "coins": "5.000000", + "hours": 72043 + } + ] + } + ] + }, + "size": 317 + }, + { + "header": { + "seq": 77, + "block_hash": "fc15f0118c4aafe443e8bd919355a89d61c88d22cc63b024ebb7872dbdb60497", + "previous_block_hash": "bc51c3788411589efac68dcaef915a14d83aecdbeb250cc48073774997e6cb28", + "timestamp": 1429147880, + "fee": 5860904, + "version": 0, + "tx_body_hash": "29798149e90f6442489bcc3294f455441a5a401e81491ed06bdc2c850756f0d9" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "29798149e90f6442489bcc3294f455441a5a401e81491ed06bdc2c850756f0d9", + "inner_hash": "23ab44d59346b369d258cce6d5142ca7e1b52dd09a1512d8a618e08ae7346004", + "sigs": [ + "6e0bd761d2d9eeb207f0c4cf9f13d1407f33b5f50e72c3462225c8041882ddcd078a02720d533801a433d917674e3d68a98bb997e9b06664a73a9bdeae46404601" + ], + "inputs": [ + "b44ee00208690c2123989f40edaff0224825afb20ca0952fbd90bddfd3213642" + ], + "outputs": [ + { + "uxid": "6060c983054614b8801e405de697c443a1edebd3236582f89f01c6cf6a165c3f", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "862750.000000", + "hours": 976817 + }, + { + "uxid": "08723ed501e11c2053bab6b500f820dd7ae2aeb4a3c9d5109845bb46afebde97", + "dst": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "1000.000000", + "hours": 976817 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 78, + "block_hash": "6b8644bdfe7c2542fdcc03e15cf453d9d66604b728014fa4999797a89909bd0c", + "previous_block_hash": "fc15f0118c4aafe443e8bd919355a89d61c88d22cc63b024ebb7872dbdb60497", + "timestamp": 1429147900, + "fee": 407859, + "version": 0, + "tx_body_hash": "c1fb9372439d7f43d17809afc2d1bc9b2aa81fa9fccc1d837c79e649ec4843db" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "c1fb9372439d7f43d17809afc2d1bc9b2aa81fa9fccc1d837c79e649ec4843db", + "inner_hash": "283b6b1141f7b09348804d18171ec9b0d20446725df1265932a4064385c9c295", + "sigs": [ + "d16d6a7cd11064a91a6ca4917efe946cc38cb4e7dd59281a4b4098e39bdc151036b72fbf9db4f3ca2b97bdb56a861e8fbe010e52926b176172d3e68b85c7b04501", + "5cd9b19556656a6914d2f8a3daf556220e34eb567a741f015a9de0d53920bfff0e0cb3513551ed7ad95301ac8852487b76a3509832379c57572b46e75f0946cc00" + ], + "inputs": [ + "70dfcdd1a8a321ffd22c4ce313763464f78c2f85a97bb369ac8b82f76d2ea961", + "a96ca17d6af858af8c6f24f607a742ae2979ab8f660b8363b7fbe18625c8a048" + ], + "outputs": [ + { + "uxid": "dbe677fec72761ed99467a4d45871aafe173d7dc133e8db0346e3f262ae2598a", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "27000.000000", + "hours": 67976 + }, + { + "uxid": "ce4ca78d810564568c936554d0b6c1a50d91b273648314ffa3fcc1b2d72ac334", + "dst": "sV8sVBgs11uHQtZK5MPbYem2iJ6Hehghv7", + "coins": "1000.000000", + "hours": 67976 + } + ] + } + ] + }, + "size": 317 + }, + { + "header": { + "seq": 79, + "block_hash": "1313f73aa897ea032ac1de0741d0b026617933f863f59c4cfd0a3c7cf764f02e", + "previous_block_hash": "6b8644bdfe7c2542fdcc03e15cf453d9d66604b728014fa4999797a89909bd0c", + "timestamp": 1429147950, + "fee": 466755, + "version": 0, + "tx_body_hash": "2558a7cd524acdb58f822a56bd51e8905182b2b35fbfdb1246ce6dc9930d14eb" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "2558a7cd524acdb58f822a56bd51e8905182b2b35fbfdb1246ce6dc9930d14eb", + "inner_hash": "37931a3c0b9fe54ebfd93e70c5e872ea8f68669bcd38176bc223be01f7e43aa0", + "sigs": [ + "1d2fa9d76a29f3ce2eda062afe42f3718db434863955ed4f43a83f79dd372a922fd2774d7f5227fa253c65537418b30309932f404e788db91fac1d580d83b28101", + "471ae24bbebd78b5d298edb81e07cc282ce8c1517a2d7426f91f177f111c93873c594e04a215bcd982220b0e6967bd328ec494811cf5eb854091e1d4552545e700" + ], + "inputs": [ + "f5867b05823c81fc53de36b140415b3b98e4f4cec5883512f8553f70c550d8e7", + "22edb5931e1c54382f18e41ef774931efb08c278209a1fe8a34100147b707220" + ], + "outputs": [ + { + "uxid": "09661724179523e8aec95862a5fd12dd1aa50f39f193f81eece0d7aea6197103", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "31000.000000", + "hours": 77792 + }, + { + "uxid": "2a886bcedf8862c351cc4087b89e902202b08b164363567a9be47908e938f280", + "dst": "pMub1Pz3SLVaSwHoomgp5oDVxdkVxLkW6L", + "coins": "1000.000000", + "hours": 77792 + } + ] + } + ] + }, + "size": 317 + }, + { + "header": { + "seq": 80, + "block_hash": "c3979d6a8c7b58e677c39350f3aea483ee4ca197d5e76d4a91f1abfdec9e4dc7", + "previous_block_hash": "1313f73aa897ea032ac1de0741d0b026617933f863f59c4cfd0a3c7cf764f02e", + "timestamp": 1429148000, + "fee": 51265, + "version": 0, + "tx_body_hash": "5db4378f5abcbb48774fc3731a164fb7bbdccf410c3ff829c5706e4d9ef1b1c6" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "5db4378f5abcbb48774fc3731a164fb7bbdccf410c3ff829c5706e4d9ef1b1c6", + "inner_hash": "3e77cc0080eaa29331c9206044e731992369bf84c89262c80d68b39b68ce77e9", + "sigs": [ + "94e4ecd0016b2c5b10f55941cc0355a2c248eaa04566dedcf84e83cfee959d50578cb85ca0ee6170060e97a6fc766fa79a4f6e0942605681178d4bb8009b31e501" + ], + "inputs": [ + "dbe677fec72761ed99467a4d45871aafe173d7dc133e8db0346e3f262ae2598a" + ], + "outputs": [ + { + "uxid": "fa761f3b902ced1ad8e94231af3447315a8c8bcdbbdcfcd69bb74ca5ae66f6e9", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "26000.000000", + "hours": 8543 + }, + { + "uxid": "e16c0ebbfba61c49b0e98bf8336bc4d8a33ca30386c4d875bba2ec4bf4a59147", + "dst": "22WGCstVJGVyqnBuvGHt17L5aNNMpURvckd", + "coins": "1000.000000", + "hours": 8543 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 81, + "block_hash": "44462e4f9906885068ab6e00e4d84ecfc2c17dfa599e41fb75805e035cb7b60d", + "previous_block_hash": "c3979d6a8c7b58e677c39350f3aea483ee4ca197d5e76d4a91f1abfdec9e4dc7", + "timestamp": 1429164440, + "fee": 754183, + "version": 0, + "tx_body_hash": "0cded82aa3ac92d78e23d2d0d7faf93c675fc9a321ad55105f65b6fca444b1e7" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "0cded82aa3ac92d78e23d2d0d7faf93c675fc9a321ad55105f65b6fca444b1e7", + "inner_hash": "0ca2ed02f9155bf69af2fd27b40b0300e0c9804cbd2507389d930ef186f48794", + "sigs": [ + "68a82ec4421a37b8116c8bad98d2568802973dbce6f0166b3a9504110ee4873239953c3e8baf3a20d599e300c8b2c524d672c46ed593e126adc908f1decbbf5100" + ], + "inputs": [ + "6060c983054614b8801e405de697c443a1edebd3236582f89f01c6cf6a165c3f" + ], + "outputs": [ + { + "uxid": "129726406b3101d51ffd5bfca59a501184d6c8ca363be4ef1b8d8bf48a6c70e0", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "861750.000000", + "hours": 125696 + }, + { + "uxid": "3fe7d61ffa993e00200ce6be7ba347c603032ac3f8c4ace07767e630fe94d76c", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 125696 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 82, + "block_hash": "d85c2e5a18844748cf354231f22106bf82ff6f860414d5b7d5e2afd52ea7c221", + "previous_block_hash": "44462e4f9906885068ab6e00e4d84ecfc2c17dfa599e41fb75805e035cb7b60d", + "timestamp": 1429164460, + "fee": 558303, + "version": 0, + "tx_body_hash": "0ad2691de38a15ec31b0fbe9a0c1175138c9d7b7558db2f016a23619f3dbbc6d" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "0ad2691de38a15ec31b0fbe9a0c1175138c9d7b7558db2f016a23619f3dbbc6d", + "inner_hash": "3b3cc2ad41e6248b46bd71e14f91eb2296b730426a8f0481c440271920ddbe27", + "sigs": [ + "e5711c06db00c26d91126e9d024189c1a494ae1357b55247955a4b3bda219e8905dfa03875c1224e754e5e8b4d475d1ce335f2699cd9d490583cd6a0d1e1338c01" + ], + "inputs": [ + "3a7e60306a5fc882d0c4edcb2990d14be6b80dad1a41b06f8ae5e0308078bafa" + ], + "outputs": [ + { + "uxid": "dc8162cf85ce1a434adebab2d13abffb587c0e50b86fd1a997bca67f07a66ebd", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "30000.000000", + "hours": 93050 + }, + { + "uxid": "9bfa6dd7ff610b2e8ba036594244e70d427398eab8607d39be0e45303d45d4d8", + "dst": "9vNYwzpjSgw4dRyTc7SAP4z9Jh8bhwURnu", + "coins": "1000.000000", + "hours": 93050 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 83, + "block_hash": "af3db7055c27674d622fe70a3037e704900cdc4ec250972896df53da5f3d8755", + "previous_block_hash": "d85c2e5a18844748cf354231f22106bf82ff6f860414d5b7d5e2afd52ea7c221", + "timestamp": 1429164480, + "fee": 164971, + "version": 0, + "tx_body_hash": "d80d49958166fd7b35cee63cfc4a4fdd434484f9bfd9444f62a1b856da36e9c7" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "d80d49958166fd7b35cee63cfc4a4fdd434484f9bfd9444f62a1b856da36e9c7", + "inner_hash": "ddf70f29cbcb9ab5d04848c77bb605849c5d831c80afed10f64ea2bde710b7bd", + "sigs": [ + "21ccec8663f52b64e6d1983c5c715fc360ef1a01a0f4fce857fe7151e59b4cc87a5b6cc18f770eac98ef640eb15d572ea96b81e90a793bb01ac905778c10f0da00" + ], + "inputs": [ + "09661724179523e8aec95862a5fd12dd1aa50f39f193f81eece0d7aea6197103" + ], + "outputs": [ + { + "uxid": "6a8bc7ef9e8e7b67fd270cf37022edadb13f1fc2ba4e7a026f7ce2ab30cc4572", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "30000.000000", + "hours": 27495 + }, + { + "uxid": "a733e89023ccc12587d0849f9baeda0d2fad640c1cbe97e24ffc531859fd83fd", + "dst": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "1000.000000", + "hours": 27495 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 84, + "block_hash": "65d91ebf581ddf3b620d960d20130e6ef881530b64030648330896b8a0bc0c29", + "previous_block_hash": "af3db7055c27674d622fe70a3037e704900cdc4ec250972896df53da5f3d8755", + "timestamp": 1429164590, + "fee": 20623, + "version": 0, + "tx_body_hash": "8374d85130bbcf496bff138cd040f91fa362eb1b6b6a1c7c9285523437d5589c" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "8374d85130bbcf496bff138cd040f91fa362eb1b6b6a1c7c9285523437d5589c", + "inner_hash": "3188ba9148add7f2811180f130de2c0668fc21c031a7329993b61bfe35f860f1", + "sigs": [ + "93edab2b508cd33cd76c50a5aeabcbcf35472d25ba2b3f268d1cc0a4a813fbe907f4c0e645893b4efd524d30fabb6ba62d65c2ee050057885eea2ca0d2d1c21500" + ], + "inputs": [ + "6a8bc7ef9e8e7b67fd270cf37022edadb13f1fc2ba4e7a026f7ce2ab30cc4572" + ], + "outputs": [ + { + "uxid": "15700b88043b3c08a46c3c4e36e7f431291a26aef1ef26c44ee413feee14b950", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "29700.000000", + "hours": 3436 + }, + { + "uxid": "e2512ec90800147d0d9ddbd0778511ee5a45a25efcb354c50a101738a65462c5", + "dst": "YLT4buWf3kYDV9QddnC5iXTj881Eniuvrx", + "coins": "300.000000", + "hours": 3436 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 85, + "block_hash": "fcd2ae4cba80370929bc573a2ddeedc6b57750e4b58e5c063c5f17bb66e938ff", + "previous_block_hash": "65d91ebf581ddf3b620d960d20130e6ef881530b64030648330896b8a0bc0c29", + "timestamp": 1429164620, + "fee": 121202, + "version": 0, + "tx_body_hash": "b7b42b1b29acab0a2328aaf368ec74be49b4d4caf827e82b439ef4d8be976a55" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "b7b42b1b29acab0a2328aaf368ec74be49b4d4caf827e82b439ef4d8be976a55", + "inner_hash": "8b5eec10f63b31e72d4dba2c71fb0f7bc230e58f497e255352f02eee965d3595", + "sigs": [ + "82587c832f0c74f185603b934a32a28624712373d188caad0355314ea621a4af3e96dbd1c37e889f630d90047c79b39c495b49964eca20172bb900db1df48b3a01" + ], + "inputs": [ + "129726406b3101d51ffd5bfca59a501184d6c8ca363be4ef1b8d8bf48a6c70e0" + ], + "outputs": [ + { + "uxid": "05f42f22f5fea4b5cac8182dc2b4f280149c686434c6d4195a119a8d02ab24b2", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "861050.000000", + "hours": 20200 + }, + { + "uxid": "6e2abc4bc7820178358a603b7d99c4b39735dd1685d0c5a778ab63f29c9e93d9", + "dst": "YLT4buWf3kYDV9QddnC5iXTj881Eniuvrx", + "coins": "700.000000", + "hours": 20200 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 86, + "block_hash": "21213b77aac2c84f332a43cbb89d7dbbb56e4de7c294fa50573d5f4165504d57", + "previous_block_hash": "fcd2ae4cba80370929bc573a2ddeedc6b57750e4b58e5c063c5f17bb66e938ff", + "timestamp": 1429164720, + "fee": 15150, + "version": 0, + "tx_body_hash": "ca51f9d0a19bf326d6dd39a1e4dd240adaaae279411093d4a5b20f54cddabb95" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "ca51f9d0a19bf326d6dd39a1e4dd240adaaae279411093d4a5b20f54cddabb95", + "inner_hash": "47500bd3c5f74835a01b0f696e15780baec2ca3723f45355c9e8cd1c71564d18", + "sigs": [ + "fdbc112b10354be2b85b2f9131a3927e7b4e87ff8ddef91b849a71e0b1445ebc410b61d85ff7af1834b54febf89d903e3151f5a74ccef4e9607851c9005454d001" + ], + "inputs": [ + "05f42f22f5fea4b5cac8182dc2b4f280149c686434c6d4195a119a8d02ab24b2" + ], + "outputs": [ + { + "uxid": "4e1a98a72639efa6253a7cbea0f3b499fa24fb88612ad81414d20e46d2b5784e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "860050.000000", + "hours": 2525 + }, + { + "uxid": "ee69cfd4f15d16ded96745a35ef150f679b5b79cc0fd4009a2d02cdccd81ca3e", + "dst": "tG8F6fuw3KEUStpa85EFQDMHVw9piTzZ2g", + "coins": "1000.000000", + "hours": 2525 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 87, + "block_hash": "60279d08fadb94691ae4a32b29f69688dcc5e7b6f8e8d03fb3ff398d2c6f8456", + "previous_block_hash": "21213b77aac2c84f332a43cbb89d7dbbb56e4de7c294fa50573d5f4165504d57", + "timestamp": 1429164730, + "fee": 96974, + "version": 0, + "tx_body_hash": "cf5a1fad27f8f874f67d3162ae6347154c980ebd97c668d610280418f0f53ce7" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "cf5a1fad27f8f874f67d3162ae6347154c980ebd97c668d610280418f0f53ce7", + "inner_hash": "937bb1627381dc0e982b5b33a119a458db7605a5ff11df1b7a81957460157bad", + "sigs": [ + "53f091d0b653d50c32aa9bd24c09aa1671b2a8686f744a769a9568d3ea28f7852370d83429dfff6b16b9a721f2ecdf40fe799006229d575cec6e73174e7b84b500" + ], + "inputs": [ + "fa761f3b902ced1ad8e94231af3447315a8c8bcdbbdcfcd69bb74ca5ae66f6e9" + ], + "outputs": [ + { + "uxid": "a68c6c646b6bd42f509a82d0218c8ee648b4a40da20eb0599449a7249b10fee9", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "25000.000000", + "hours": 16162 + }, + { + "uxid": "f98e302e74d8972254b1cdc4de3ca78ff1e60f3f1b7083af397f3bcb219e9454", + "dst": "FtdApqw416skWtXM7ExanZWFmiHNPZ1Ft6", + "coins": "1000.000000", + "hours": 16162 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 88, + "block_hash": "5a708b4af0e1db02adb4016fb035b1df8bb3fe968b5de2c5c98178c4f3a209f9", + "previous_block_hash": "60279d08fadb94691ae4a32b29f69688dcc5e7b6f8e8d03fb3ff398d2c6f8456", + "timestamp": 1429164790, + "fee": 71476, + "version": 0, + "tx_body_hash": "efc98a4f94ffda2f1d6575048d75728f228a0bef0467c331f085a0f41f97ae45" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "efc98a4f94ffda2f1d6575048d75728f228a0bef0467c331f085a0f41f97ae45", + "inner_hash": "0134889df5d1e5c7a545f1cd6239ea51513534ed08acd503cc77e0b9d74ebcc2", + "sigs": [ + "9a2582b47df81a77ab148fabe81fa6b1c490b213e0cd79aba779be1c56c225d5591bc6674a08bce27103ce7e1e85756d31c96635ecc07ae40c53ccabb20d254d01" + ], + "inputs": [ + "dc8162cf85ce1a434adebab2d13abffb587c0e50b86fd1a997bca67f07a66ebd" + ], + "outputs": [ + { + "uxid": "b187246f68a768f65663b8a208ab107a9bc24af6a062acf3ad41aeb899315a49", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "29000.000000", + "hours": 11912 + }, + { + "uxid": "f713b6bde2e1956615b23021d20aeb829611d231e2e85b8204c01e5719ac8639", + "dst": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "1000.000000", + "hours": 11912 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 89, + "block_hash": "4fc95139dde67484d9613adb8d235ae42f8e6ec690377daf5f7e6afd375d3624", + "previous_block_hash": "5a708b4af0e1db02adb4016fb035b1df8bb3fe968b5de2c5c98178c4f3a209f9", + "timestamp": 1429164800, + "fee": 3816, + "version": 0, + "tx_body_hash": "a0956843d442bd4b592d0c1323d153c3c1b2d7d52a86629444de6d1d1b6a4c33" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "a0956843d442bd4b592d0c1323d153c3c1b2d7d52a86629444de6d1d1b6a4c33", + "inner_hash": "0fd405b4d4a74b417a27d0bfd2f0d1acf4ed0499a000e94c64a1443c5bb440bd", + "sigs": [ + "9bd640adcf2e1870dd4cdd93f007759626ed9fd87dd8e0485888612ea660435a3104889820e6dab8d692efc3e4afb892de622c46b5f5c25718dfb78d4882d2ec01" + ], + "inputs": [ + "15700b88043b3c08a46c3c4e36e7f431291a26aef1ef26c44ee413feee14b950" + ], + "outputs": [ + { + "uxid": "24c49699aab32caf9456a6b4dacd4d820c853c7639e5500b3be6326660312917", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "28700.000000", + "hours": 635 + }, + { + "uxid": "63154895637eb000146996ffaeb7cc1a547e409d0a2038650e990e7cc9b36826", + "dst": "XnKU1htBL5wFSMX8oytZBsBMeaBSbVNivT", + "coins": "1000.000000", + "hours": 635 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 90, + "block_hash": "67d69d26e52c111625cb26629f53fb9d1fc350e584b14a42749a50a26bd0bb47", + "previous_block_hash": "4fc95139dde67484d9613adb8d235ae42f8e6ec690377daf5f7e6afd375d3624", + "timestamp": 1429164810, + "fee": 16229, + "version": 0, + "tx_body_hash": "bd617ec27c2bea642fad8c153178e11ca08456d752249324e3011f27c845f87a" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "bd617ec27c2bea642fad8c153178e11ca08456d752249324e3011f27c845f87a", + "inner_hash": "f8ce5c9cc22005d7f63c0400132b0e70a6a8af574f1a5c1ffb0404f228a02949", + "sigs": [ + "b471a7bdde8b1427f8081d9e91250fd89cdd4dd23062796fe2ee973c612eb28b76f6c7ab4f3fbb7c7f9627c52158066d13d9fbe34dfdb6e77c02d84ff4d45d7d01" + ], + "inputs": [ + "4e1a98a72639efa6253a7cbea0f3b499fa24fb88612ad81414d20e46d2b5784e" + ], + "outputs": [ + { + "uxid": "33e0c4c9536afffd491fef6294f22ffb0d16902493946a051db0b218728a1c44", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "859050.000000", + "hours": 2704 + }, + { + "uxid": "2a09e97f7725a35af1357842206875a023252da4ebfce129eaf4cb87119cfd41", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 2704 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 91, + "block_hash": "b3d041858a5865ead4edad6acb81406ee59c8b32013e4de96405bb40929f24e0", + "previous_block_hash": "67d69d26e52c111625cb26629f53fb9d1fc350e584b14a42749a50a26bd0bb47", + "timestamp": 1429164830, + "fee": 12539, + "version": 0, + "tx_body_hash": "98baeb9799902593d0f61ee22947089a798c6adafd05dc6a5ea918d982a19857" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "98baeb9799902593d0f61ee22947089a798c6adafd05dc6a5ea918d982a19857", + "inner_hash": "8fdb3ac7731310281c5e67ca521d5b925aee8c7dd34b7b8249ae522ccd450943", + "sigs": [ + "c1f82dfa176134077c4512421b01bec50360dae178e43ec9ceb70d24ff38301a33c6780db5b80afb49b08d15b303217ce206601c1a29bfef4f3bbdf6ccdf779200" + ], + "inputs": [ + "a68c6c646b6bd42f509a82d0218c8ee648b4a40da20eb0599449a7249b10fee9" + ], + "outputs": [ + { + "uxid": "d45d0597c7d41fdc69ed09a139925327142589f1e4fb877285fa63c6fa126d38", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "24000.000000", + "hours": 2089 + }, + { + "uxid": "535987a7896501a8a69c1904c0bf98e2ef1fc493bf998c78ee420ef154868731", + "dst": "2iJPqYVuQvFoG1pim4bjoyxWK8uwGmznWaV", + "coins": "1000.000000", + "hours": 2089 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 92, + "block_hash": "32487462ed6177eadb936cc788ecd6be103f4ee7f2fc16082b99132343ef8fc3", + "previous_block_hash": "b3d041858a5865ead4edad6acb81406ee59c8b32013e4de96405bb40929f24e0", + "timestamp": 1429164850, + "fee": 9176, + "version": 0, + "tx_body_hash": "54e65c445d0af9dda82085ca4bfe0f326ae54ea2a03bd37e07f81d937de97777" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "54e65c445d0af9dda82085ca4bfe0f326ae54ea2a03bd37e07f81d937de97777", + "inner_hash": "d8f2215fee34a1104826266582d525f9c267d3a726732ed532fb6572d09b82b6", + "sigs": [ + "9d5aa480261d4d2dfbb8264ccb2bf8944b6abb5267ad89dda83760273abb8c0116f172e257a661a4d3d89c9c2caf237a13519545173c0df741a7dd18770176a401" + ], + "inputs": [ + "b187246f68a768f65663b8a208ab107a9bc24af6a062acf3ad41aeb899315a49" + ], + "outputs": [ + { + "uxid": "74f7dcc6e516634b5d5722d8664ffabaca3b708a53497bb420ced7c300c39806", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "28000.000000", + "hours": 1529 + }, + { + "uxid": "3109e04b5baef2423f4d6d2d639464286c24ef9defa612d3b598802d761b670a", + "dst": "ZWhZtjwXMS46cpDxfRwQyxxKPhqwsQu8oN", + "coins": "1000.000000", + "hours": 1529 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 93, + "block_hash": "2721f47fc405131d29c5eddcca1a1d13e508444b9b24e999d1d67e1ddd4ecabb", + "previous_block_hash": "32487462ed6177eadb936cc788ecd6be103f4ee7f2fc16082b99132343ef8fc3", + "timestamp": 1429164860, + "fee": 775, + "version": 0, + "tx_body_hash": "e2d9da9342b21659da0a679536f9d6f533a4ce7dc33a7f768c3441ca3640458d" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "e2d9da9342b21659da0a679536f9d6f533a4ce7dc33a7f768c3441ca3640458d", + "inner_hash": "72974683d8244d927c63440a169a438611ef88b250f20df2711d83a9f61a75c9", + "sigs": [ + "1c72245ae55779445ae5a6c030ea7f01cee7c29dd6189d0dcb383ec8438297e635b314c44bb0c4173c9e30d225774ee0334cee186e603a61c171af4db3eb961e01" + ], + "inputs": [ + "24c49699aab32caf9456a6b4dacd4d820c853c7639e5500b3be6326660312917" + ], + "outputs": [ + { + "uxid": "fb4d5dcc1c3ac97444e96aa7da392b0d7faf7b7373504c70e497228a4695a7f1", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "27700.000000", + "hours": 129 + }, + { + "uxid": "4a5c1b09ef2216ba2fdae735ec8c6ad404bb61bfbeb7407dee9d6e3578762ffb", + "dst": "2LZzgdFYNhsBBSLATkV6PA1zk6DvWNghP2", + "coins": "1000.000000", + "hours": 129 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 94, + "block_hash": "05e3a9d7a0ddbc08fb514ab0d8033a71540b16a317170bd2a3db762ea1a1928d", + "previous_block_hash": "2721f47fc405131d29c5eddcca1a1d13e508444b9b24e999d1d67e1ddd4ecabb", + "timestamp": 1429164870, + "fee": 10977, + "version": 0, + "tx_body_hash": "0f4958d590ed4ac9aca79d848731b358b1c01fab9717775cf6515f2bf2706dc8" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "0f4958d590ed4ac9aca79d848731b358b1c01fab9717775cf6515f2bf2706dc8", + "inner_hash": "89c71b68262f8e3acddcec032b4209220ac7b794d1cefa62b45c71b94e017cad", + "sigs": [ + "ede880d4422a1102280918227157997bb7a36d26a358a71bf016963d29e8403d2298754039d8dd14c0b05d776d05bebadb919a620e87439c93008e292086c94d01" + ], + "inputs": [ + "33e0c4c9536afffd491fef6294f22ffb0d16902493946a051db0b218728a1c44" + ], + "outputs": [ + { + "uxid": "f32f03f28eece9ddcdc488a85100c94a7c924c185ae560363518dae5e2aacccb", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "858050.000000", + "hours": 1829 + }, + { + "uxid": "24c4cfc628a0f77ce2e878c6ffa9d4dbd85325f8a5e0b5df970a3a2c36033519", + "dst": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "1000.000000", + "hours": 1829 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 95, + "block_hash": "a054e14b9c7b9e298b04ba7f3a68270fe9e5fd8184b992917519bd7c038bc53c", + "previous_block_hash": "05e3a9d7a0ddbc08fb514ab0d8033a71540b16a317170bd2a3db762ea1a1928d", + "timestamp": 1429164880, + "fee": 1767, + "version": 0, + "tx_body_hash": "c93f8bb30e75ffbc0075a4baf57a0f536e4a9123395b13ce67af5cd2dd0f8cd4" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "c93f8bb30e75ffbc0075a4baf57a0f536e4a9123395b13ce67af5cd2dd0f8cd4", + "inner_hash": "20a707a3ccfe4ab0884697e4d9013da5c15f062b0a6f1395086503f2c4d6efb2", + "sigs": [ + "5fa7614080d2b044f1edce8bc42961d311db3fa4596fa14973261272980c37b0776099a37d758c20a2d45ee73aaed7d007e58f9f15191233f4f27b266fb2866c01" + ], + "inputs": [ + "d45d0597c7d41fdc69ed09a139925327142589f1e4fb877285fa63c6fa126d38" + ], + "outputs": [ + { + "uxid": "aee4af7e06c24bccc2f87b16d0708bfea68ac1b420f97914965f4a23ad9e11d6", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "23000.000000", + "hours": 294 + }, + { + "uxid": "f9653d496ee2e6499a68a1172e5d60b60758b1edcd02d95a3388b29e113a9041", + "dst": "2U1B6EE5ZCXWJJSyEndouuCk434xpvYqYDF", + "coins": "1000.000000", + "hours": 294 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 96, + "block_hash": "2e30e4dc35301e6f227149d29acbcd9d3f6847963cd4ef8ec31a7bad8b57c534", + "previous_block_hash": "a054e14b9c7b9e298b04ba7f3a68270fe9e5fd8184b992917519bd7c038bc53c", + "timestamp": 1429164900, + "fee": 1322, + "version": 0, + "tx_body_hash": "0301358c2db5314ca43c442bac3c1daf31f4b39f9ac9e22dc157687212cab703" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "0301358c2db5314ca43c442bac3c1daf31f4b39f9ac9e22dc157687212cab703", + "inner_hash": "3a68e8622eaf49013554114c0dac32c444998ef6c65ff1afc399bc772787f502", + "sigs": [ + "8925bcbda7785c7a83a77bd5ce16542e91a8f046163d429fcf9c466ca6a9b1fa5f6b693a19b7d8127717821ae247ba30401068d447d0fde4136c0e49f5e7e57900" + ], + "inputs": [ + "74f7dcc6e516634b5d5722d8664ffabaca3b708a53497bb420ced7c300c39806" + ], + "outputs": [ + { + "uxid": "6002f3afc7054c0e1161bcf2b4c1d4d1009440751bc1fe806e0eae33291399f4", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "27000.000000", + "hours": 220 + }, + { + "uxid": "63768bd1402317f7d3f0a38c9897e609bb72b7d334e54bd4c609292487264c22", + "dst": "22Piwuzo8ZfoXfpMghhbzGz3ptmTeiDhLbg", + "coins": "1000.000000", + "hours": 220 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 97, + "block_hash": "fcc06bfe75b62dcb87e2dcb31f6c1a58d5ba2f2b85576938a9dc49b971b60a75", + "previous_block_hash": "2e30e4dc35301e6f227149d29acbcd9d3f6847963cd4ef8ec31a7bad8b57c534", + "timestamp": 1429165260, + "fee": 328, + "version": 0, + "tx_body_hash": "a689a3589730a351f880176b2c15b395967b38a90950e0491e7a1e5531f020a9" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "a689a3589730a351f880176b2c15b395967b38a90950e0491e7a1e5531f020a9", + "inner_hash": "d6cfcef60d17c03b68b94c4284746bc70e8ef66cb6d2bd370094a7e4b19dbaed", + "sigs": [ + "de36c5fac7db61c7a47827e1a9ad1b717d5fa904b69283598eab6003ba1b1e264856f30a6afe0881675e8f11a86e666cec09b789f3971a6ec4ba25183684a18900" + ], + "inputs": [ + "fb4d5dcc1c3ac97444e96aa7da392b0d7faf7b7373504c70e497228a4695a7f1" + ], + "outputs": [ + { + "uxid": "4e75b4bced3404590d38ca06440c275d7fd86618a84966a0a1053fb18164e898", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26700.000000", + "hours": 54 + }, + { + "uxid": "1f9fb89f5b7c41d3df6d72b1f02c998196bc79ec20c3949693b4f5a2c1aae44f", + "dst": "2H7mA88ireMKHqP9LYWK5opnU176v7eYqrn", + "coins": "1000.000000", + "hours": 54 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 98, + "block_hash": "0f4c792700593207a217101aa6349e2737a519de1d5f9f670aa1f550d52cc615", + "previous_block_hash": "fcc06bfe75b62dcb87e2dcb31f6c1a58d5ba2f2b85576938a9dc49b971b60a75", + "timestamp": 1429274566, + "fee": 71088, + "version": 0, + "tx_body_hash": "fe01250cfdf84eb0182c033c216891e7e6971cc85976c4c46d9e3c608974d233" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "fe01250cfdf84eb0182c033c216891e7e6971cc85976c4c46d9e3c608974d233", + "inner_hash": "2400f3951d454f663d5097060267f8e31e86e1c3f10391c8a06ed79fd72fe49b", + "sigs": [ + "6ecee1ca0e86de9bf6da9a21e49b1cfade8f1a279f7fc58834c15184bec1de634c82faf30bdab34083bc1f32f87d27daa1987a525db83100f88b9103efbc007701" + ], + "inputs": [ + "f32f03f28eece9ddcdc488a85100c94a7c924c185ae560363518dae5e2aacccb" + ], + "outputs": [ + { + "uxid": "99b4e51e1afd04813656e6202c7e462d88ce87ba980da7a62591190d72d1073c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "858000.000000", + "hours": 11848 + }, + { + "uxid": "f12164a6ea6ce65ff2ca1f2be7251bece8f7c5747ba8ec68e1ec3b27d45d7b9c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "50.000000", + "hours": 11848 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 99, + "block_hash": "5c06896760ace71b02edab01700ff9ca8c32ef1d647e14c3e0d5fa751e47867e", + "previous_block_hash": "0f4c792700593207a217101aa6349e2737a519de1d5f9f670aa1f550d52cc615", + "timestamp": 1429274616, + "fee": 52573, + "version": 0, + "tx_body_hash": "819106dc50373e5293a7e79f179693e85536e8206d82272930ec08410d92402a" + }, + "body": { + "txns": [ + { + "length": 571, + "type": 0, + "txid": "819106dc50373e5293a7e79f179693e85536e8206d82272930ec08410d92402a", + "inner_hash": "02e9a06b0ca7f91255107993e00f09e9ef983559088c5febff264c17952033c4", + "sigs": [ + "efb713e6a1e5d328e94a51fbeb0f73e2a3b7a54e15db75797f0b709f698b16eb26e522f187a98144807e0e6cd294686ff19037975abb6d44b20b2899968954f400", + "b5d011c60020ce591a21db15823c06188515a63ca95d573c36b3af83d634fc6f1c1125db197f6283510ee33890ac168513254ad37524c77294bb5a12e8ff23f300", + "00d87b91eda33f627f6cd28cc673daf929fbec36e7bcfdf894f7491618a68b5755b5baadedc106d53d2da924fcbedbd106eadc50ec611d426720f67426c7286500", + "e64cf7e74363cfd381a3aa6fd17d7c415d6034b26b93017acaf9cf3475ccdffc53c3714d1d13409323cf77ccc81596f6e6edcec11d890979a436ef960bcb5f6900", + "fc2eb05241afdd15cdbd28cc7158d7eb4442f21a678c52332762b23ac6c2fcc76b0f79731987df0ba84d82044cd474d4cda9afda778a21b78a0659c5b588664301" + ], + "inputs": [ + "2987e7c89d353ad5d63cea2bf2724dc5f7a5ef5fb81f5ea160a307f0726ac2f5", + "a52408daa8ce7026c70b61d4df4212fb577462060f340bfce779225b3e18193d", + "dc73aac74348dd285a1456c1fae2204d7c2039d50a765bdaae0c31f7c7e059db", + "e4e375b9dc55ff53d6de9120f1a87ff00e00a779835f8320f2c6b3090d0466e6", + "d11b05345917d171f60c31bd2634041b73b97eae364724369ddb8d53369397fb" + ], + "outputs": [ + { + "uxid": "427462efeb07a6803f013c789ea43d93240f74f886bf9afd63dc1936a7574a37", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "50.000000", + "hours": 7510 + } + ] + } + ] + }, + "size": 571 + }, + { + "header": { + "seq": 100, + "block_hash": "725e76907998485d367a847b0fb49f08536c592247762279fcdbd9907fee5607", + "previous_block_hash": "5c06896760ace71b02edab01700ff9ca8c32ef1d647e14c3e0d5fa751e47867e", + "timestamp": 1429274636, + "fee": 613712, + "version": 0, + "tx_body_hash": "9f20b52befed2cbaaa4a066de7119b7fdbff09a83d8e2a82628671f51f3f6551" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "9f20b52befed2cbaaa4a066de7119b7fdbff09a83d8e2a82628671f51f3f6551", + "inner_hash": "c2e60dbb6ad5095985d21391cbeb679fd0787c4a20471340d63f8de437d915df", + "sigs": [ + "2fefd2da9d3b4af87c4157f87da0b1bf82e3d6c9f6427572bd768cf85900d15d36971ffa17eb3b486f7692584102a7a58d9fb3ef57fa24d9a4ab02eba811ef4f00" + ], + "inputs": [ + "aee4af7e06c24bccc2f87b16d0708bfea68ac1b420f97914965f4a23ad9e11d6" + ], + "outputs": [ + { + "uxid": "194cc596d2beda803d8142ddc455872082f84b09a5edd8085082b60d314c1e29", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "23000.000000", + "hours": 87673 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 101, + "block_hash": "8156057fc823589288f66c91edb60c11ff004465bcbe3a402b1328be7f0d6ce0", + "previous_block_hash": "725e76907998485d367a847b0fb49f08536c592247762279fcdbd9907fee5607", + "timestamp": 1429274666, + "fee": 720335, + "version": 0, + "tx_body_hash": "e8fe5290afba3933389fd5860dca2cbcc81821028be9c65d0bb7cf4e8d2c4c18" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "e8fe5290afba3933389fd5860dca2cbcc81821028be9c65d0bb7cf4e8d2c4c18", + "inner_hash": "45da31b68748eafdb08ef8bf1ebd1c07c0f14fcb0d66759d6cf4642adc956d06", + "sigs": [ + "09bce2c888ceceeb19999005cceb1efdee254cacb60edee118b51ffd740ff6503a8f9cbd60a16c7581bfd64f7529b649d0ecc8adbe913686da97fe8c6543189001" + ], + "inputs": [ + "6002f3afc7054c0e1161bcf2b4c1d4d1009440751bc1fe806e0eae33291399f4" + ], + "outputs": [ + { + "uxid": "f9bffdcbe252acb1c3a8a1e8c99829342ba1963860d5692eebaeb9bcfbcaf274", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "27000.000000", + "hours": 102905 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 102, + "block_hash": "311f4b83b4fdb9fd1d45648115969cf4b3aab2d1acad9e2aa735829245c525f3", + "previous_block_hash": "8156057fc823589288f66c91edb60c11ff004465bcbe3a402b1328be7f0d6ce0", + "timestamp": 1429274686, + "fee": 710046, + "version": 0, + "tx_body_hash": "7b13cab45b52dd2df291ec97cf000bf6ea1b647d6fdf0261a7527578d8b71b9d" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "7b13cab45b52dd2df291ec97cf000bf6ea1b647d6fdf0261a7527578d8b71b9d", + "inner_hash": "73bfee3a7c8d4f8a68657ebcaf69a59639f762bfc1a6f4468f3ca4724bc5b9f8", + "sigs": [ + "c4bcada17604a4a62baf50f929655027f2913639c27b773871f2135b72553c1959737e39d50e8349ffa5a7679de845aa6370999dbaaff4c7f9fd01260818683901" + ], + "inputs": [ + "4e75b4bced3404590d38ca06440c275d7fd86618a84966a0a1053fb18164e898" + ], + "outputs": [ + { + "uxid": "0a5603a1a5aeda575aa498cdaec5a4c893a28669dba84163eba2e90db3d9f39d", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26700.000000", + "hours": 101435 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 103, + "block_hash": "db1e858f66b595214807404728ec4b608d208f1c1f211d1785213b6a09091106", + "previous_block_hash": "311f4b83b4fdb9fd1d45648115969cf4b3aab2d1acad9e2aa735829245c525f3", + "timestamp": 1429278106, + "fee": 76077, + "version": 0, + "tx_body_hash": "9150311508851ca989efb5f82b5a7201724514b6b9f84ec1620c18673462126b" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "9150311508851ca989efb5f82b5a7201724514b6b9f84ec1620c18673462126b", + "inner_hash": "83e206eb05ce5708efd174bb9df2c0bc0741c1775e50d139aebf37ed6c46381d", + "sigs": [ + "a6206409a077ec30fe7f0b0ad5162805dffbff743afbc9e8e926d72ae38d15f80ab8183150caa4d745125c1c6e733428e299742d10e07a64ba5bd21d4e5ee06f00" + ], + "inputs": [ + "0a5603a1a5aeda575aa498cdaec5a4c893a28669dba84163eba2e90db3d9f39d" + ], + "outputs": [ + { + "uxid": "1e30e9dfe00e055404063e52a4154a72492b13de6acf4871ec5ea6d7c0fcc968", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26600.000000", + "hours": 12679 + }, + { + "uxid": "435c7095e2531b88feb76f32fc34fac3406882cdf71e17fecdba196aa5bc059a", + "dst": "WADSeEwEQVbtUy8CfcVimyxX1KjTRkvfoK", + "coins": "100.000000", + "hours": 12679 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 104, + "block_hash": "a67dbd55b75c2613280d3bda4b84d33bc3df5105012a345009a96589d1429374", + "previous_block_hash": "db1e858f66b595214807404728ec4b608d208f1c1f211d1785213b6a09091106", + "timestamp": 1429278406, + "fee": 82382, + "version": 0, + "tx_body_hash": "44d56cfa9f83d874ee10fb32f0d40458f6bf3e86528592c9a9abf3c960fcb278" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "44d56cfa9f83d874ee10fb32f0d40458f6bf3e86528592c9a9abf3c960fcb278", + "inner_hash": "4a9c25a15fe166d87b3fb6474360b39aa52703b70b961212f9494393a3c71c80", + "sigs": [ + "0c8c4e941af19993051d5e7d0aba7414e066d15dcee9bd3eb1f7fab3259fe0345dff7ed1fa68eb243883a3793f3febc7b7eeb7a619601ec9248ec5c063707e2b01" + ], + "inputs": [ + "194cc596d2beda803d8142ddc455872082f84b09a5edd8085082b60d314c1e29" + ], + "outputs": [ + { + "uxid": "aa1133a42417332af8b58e71cc14a651e2731563eaea35f0feacc1e97fac6eef", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22900.000000", + "hours": 13730 + }, + { + "uxid": "52088c63431b6109537bce1e582775f319c9833990c94cc2e8e0dbb8b48b9c27", + "dst": "Vq7DUM8vGL81QS8S4SXBNTBvLHpkLf9Eaj", + "coins": "100.000000", + "hours": 13730 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 105, + "block_hash": "08622b79bb7e9b79e043152dd8ef759cf9ee8871449d80cc31343736b5aa16c0", + "previous_block_hash": "a67dbd55b75c2613280d3bda4b84d33bc3df5105012a345009a96589d1429374", + "timestamp": 1429278556, + "fee": 11173, + "version": 0, + "tx_body_hash": "41ec724bd40c852096379d1ae57d3f27606877fa95ac9c082fbf63900e6c5cb5" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "41ec724bd40c852096379d1ae57d3f27606877fa95ac9c082fbf63900e6c5cb5", + "inner_hash": "614d7754fa0633e1a701eea3b3a2ce1c2815360f311cd1cb6cf46d5ae94304ba", + "sigs": [ + "bd20e6b6754308d192ba734a573ec4363dae5326b9b21a7203904c076b067bf9313df1df8ac8960f12d9d8b642deb411a504512990181bc2e53264cf661b868f00" + ], + "inputs": [ + "1e30e9dfe00e055404063e52a4154a72492b13de6acf4871ec5ea6d7c0fcc968" + ], + "outputs": [ + { + "uxid": "2426f768e00345b641f5b4b4b058c308d528e22437bc6e552f0a9d5bd665e14a", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26500.000000", + "hours": 1861 + }, + { + "uxid": "8f4435cc1cb45453f1ee8e836a74bdec313a6d3aa1879be24e2ba261d474bf36", + "dst": "v7Bma8dYdBMx7RQ2NohXXDUo7eR5TWBscF", + "coins": "100.000000", + "hours": 1861 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 106, + "block_hash": "6a6db10e08b05f6ccb228ab7fee8b2e3ea10e47c126a43ec8bb6ecf13595329f", + "previous_block_hash": "08622b79bb7e9b79e043152dd8ef759cf9ee8871449d80cc31343736b5aa16c0", + "timestamp": 1429279796, + "fee": 835759, + "version": 0, + "tx_body_hash": "8de17dff34a8798f2ac89584f5c559e3bb82c280a3f6890386b4dbc5fef0e8cf" + }, + "body": { + "txns": [ + { + "length": 511, + "type": 0, + "txid": "8de17dff34a8798f2ac89584f5c559e3bb82c280a3f6890386b4dbc5fef0e8cf", + "inner_hash": "2ab03a15a9f312d27919ec42a27dfefc5fc5e0b8bf451eb81ef545bf4497f524", + "sigs": [ + "9dd44c7d76d454c7c658649d94e08f75354ba568aae069b38da012f07eacbcfe2a5bbe9b4444f566336c23a03f3625eb4306791437e1bfe69f43efa0c109ec2d01", + "211d2607cef832c989563a3475daf6aa1fec6d73893a72666b5428c6bd93217605990bc3b45f4cf4863a648708ca3bf3526eb1644679f313a297daf82b1865bf01", + "f7e77964485e36b15ade78aacc17407af265c7144767e3f39bfd9765869f90cd0f33120ca996154db82d5462d626f3ae299c8f3b8cc862284432919cfeb6613d01", + "3a1e491d35ad5daa1af54872b5ec1d02c6654cad8f2bcd94c2a624c1a3cd5c9163c373f06a931b5de526654bdbc5cdd221b7fcf7b77329d452562080216ca8fe00" + ], + "inputs": [ + "99b4e51e1afd04813656e6202c7e462d88ce87ba980da7a62591190d72d1073c", + "f12164a6ea6ce65ff2ca1f2be7251bece8f7c5747ba8ec68e1ec3b27d45d7b9c", + "427462efeb07a6803f013c789ea43d93240f74f886bf9afd63dc1936a7574a37", + "f9bffdcbe252acb1c3a8a1e8c99829342ba1963860d5692eebaeb9bcfbcaf274" + ], + "outputs": [ + { + "uxid": "dfd2834342f3a7caf183472c17801aafacd1775378eb843509d17ad858456cb0", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "885000.000000", + "hours": 139293 + }, + { + "uxid": "3bfbe4e80894862d60a053ffb47b8f1749e281603cd6376c8fc6b5e2cec0c843", + "dst": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "100.000000", + "hours": 139293 + } + ] + } + ] + }, + "size": 511 + }, + { + "header": { + "seq": 107, + "block_hash": "c3e1ef118832446f245de2abcfeb0ef1569f1d4861f6571a63b9d969b275e118", + "previous_block_hash": "6a6db10e08b05f6ccb228ab7fee8b2e3ea10e47c126a43ec8bb6ecf13595329f", + "timestamp": 1429280596, + "fee": 104471, + "version": 0, + "tx_body_hash": "6546dfbe6e61e81f3e9f6c9afdfee1c07758f2e486d731ae4d19b40602367656" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "6546dfbe6e61e81f3e9f6c9afdfee1c07758f2e486d731ae4d19b40602367656", + "inner_hash": "9566ef1826b7f518c043395c2b7a37014f77f8e23796c1c78e55d1fc443a02da", + "sigs": [ + "2773830af5e34a3de4a3ce935ee08c189feaa30ab41ced8f78f9a6434198d9775c58a0b9bcc2931f3d0dfde541ef7f5d3c1cfcf5415776dbd9d871ce036ec42900" + ], + "inputs": [ + "dfd2834342f3a7caf183472c17801aafacd1775378eb843509d17ad858456cb0" + ], + "outputs": [ + { + "uxid": "8ac39d41ec014ca6625e5f17e1fbe62db7a4ac154e0e42a017efa037935ae968", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "884900.000000", + "hours": 17411 + }, + { + "uxid": "ec4b791f2fa22a986d6035e34f5025c3da0398cb2acc59a54d495d4eaacdee8a", + "dst": "2acnXsnJ2k8jxiUahtBe8h4xouPAnpbwwjc", + "coins": "100.000000", + "hours": 17411 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 108, + "block_hash": "19daeb3b8c9a1c1c30c4c190eec4496c729c7a32e90245b106e252c908fc5053", + "previous_block_hash": "c3e1ef118832446f245de2abcfeb0ef1569f1d4861f6571a63b9d969b275e118", + "timestamp": 1429280756, + "fee": 20746, + "version": 0, + "tx_body_hash": "a8d6420d4f64fad1b698bd77cae5a92aa125f806fb184389edcc278e5cb460fa" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "a8d6420d4f64fad1b698bd77cae5a92aa125f806fb184389edcc278e5cb460fa", + "inner_hash": "6daf17a44251b984449effe21e605ab556ef565940043cff6cc75cb042028783", + "sigs": [ + "dd67813bd08a88b24f695ac10d4390598b25cf19e4edad19091f3b723c4780653a62639153b9bbb53331b66b46dc8c84e719178a96bcd001eb7f2e147268bb2e00" + ], + "inputs": [ + "aa1133a42417332af8b58e71cc14a651e2731563eaea35f0feacc1e97fac6eef" + ], + "outputs": [ + { + "uxid": "4326c936322df6d59b3b539ea340eb9630c7f8484eba2aeba1a0ed4d431ab614", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22800.000000", + "hours": 3457 + }, + { + "uxid": "9404837ee44bc6aaa8c1ad963c8fa7a050e497f89f941fdc7248930ed4e0d5a6", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "100.000000", + "hours": 3457 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 109, + "block_hash": "387c3847ecb312cc873beacaa6cc6e4b71b9fc11532c6b6683e80707a99a0bb5", + "previous_block_hash": "19daeb3b8c9a1c1c30c4c190eec4496c729c7a32e90245b106e252c908fc5053", + "timestamp": 1429302756, + "fee": 42555, + "version": 0, + "tx_body_hash": "a4c15ae4743246709ec335d33c289576c8893e71f5c3dcee1db6e43eec9242ee" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "a4c15ae4743246709ec335d33c289576c8893e71f5c3dcee1db6e43eec9242ee", + "inner_hash": "1d2404a84798154867ab461179a2b4300d65e4886cbb0220f0d5d0b16bbb7628", + "sigs": [ + "3fcfe6d7fe59b9998ac4260c3b788384b2ebb7137e08e3ffc8d8b6efa23490e71f94f381c61af4966ba6a4fb4173079d5a7f31518030900f6c10d64ceb0b774f00" + ], + "inputs": [ + "8ac39d41ec014ca6625e5f17e1fbe62db7a4ac154e0e42a017efa037935ae968" + ], + "outputs": [ + { + "uxid": "bae0e928b795e2a80c88161afcbc102dcad6644386f6f44050dde8d586750140", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "881900.000000", + "hours": 7092 + }, + { + "uxid": "4ca22a0fa2acbd0c9e90c4ae83496d05e122deb1a17c670e9c785479d115e824", + "dst": "Vq7DUM8vGL81QS8S4SXBNTBvLHpkLf9Eaj", + "coins": "3000.000000", + "hours": 7092 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 110, + "block_hash": "9ba608780f4f2a6652b689e61d2d522059e93c0a0bd25c1b40502d127d824c33", + "previous_block_hash": "387c3847ecb312cc873beacaa6cc6e4b71b9fc11532c6b6683e80707a99a0bb5", + "timestamp": 1429326351, + "fee": 107094, + "version": 0, + "tx_body_hash": "552a4b194478325ee9f3e4a8648d94bc8eb26432be6fecc881bf71ff9ca15356" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "552a4b194478325ee9f3e4a8648d94bc8eb26432be6fecc881bf71ff9ca15356", + "inner_hash": "bcc319504908b93f4418244049157875514fed19ce76977435d00b7ab712254a", + "sigs": [ + "41b8178ba19326c7f61b5327846c8057bef05c47f2068ff3eaef80bb26bde18642d444647f8c623ca8a3abb040f3527c28737534bc2d1b8c5d53bf71f4c1628c00" + ], + "inputs": [ + "4326c936322df6d59b3b539ea340eb9630c7f8484eba2aeba1a0ed4d431ab614" + ], + "outputs": [ + { + "uxid": "f9bf35f993452b3d490668bb579fd272da969a1bcca8de0c25000ee57b5d7f54", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22700.000000", + "hours": 17848 + }, + { + "uxid": "a7dc3318a975546b7662f0a867c60a4d7e9b4d1d89ab87be8c78b09ffe8852ff", + "dst": "aPF9pL9sVEiyEVhynp3s1dmqLetP1BJrW6", + "coins": "100.000000", + "hours": 17848 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 111, + "block_hash": "8be6b19ea7791d7fe43c49191cd3d73f182dc11cef660046e5450d2b56d0843c", + "previous_block_hash": "9ba608780f4f2a6652b689e61d2d522059e93c0a0bd25c1b40502d127d824c33", + "timestamp": 1429348072, + "fee": 13386, + "version": 0, + "tx_body_hash": "6ce27da2ddbc15f03330960b4201dbb3a066ad2e9bbd5366a9564f6befdcae2e" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "6ce27da2ddbc15f03330960b4201dbb3a066ad2e9bbd5366a9564f6befdcae2e", + "inner_hash": "2db237d697bd17aab9121cdfc4d72fa1cbfe7fd37d7f71b1a857833bb56b7dd7", + "sigs": [ + "c50715bd2e53ed971b7559ccaf8a930dae335dc45cad18a25ccfea3209ea2c971e0dc6cc57ff1dbcde49ddfdc612e71e923adcd21b68eaa0eb239bc83a50ff2b01" + ], + "inputs": [ + "f9bf35f993452b3d490668bb579fd272da969a1bcca8de0c25000ee57b5d7f54" + ], + "outputs": [ + { + "uxid": "c5df36ce47f6f183475317ab1c53eaa65428c142cb3e3906bf162d80519a203f", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "12700.000000", + "hours": 2231 + }, + { + "uxid": "94889dbe1c20eb942b7932c5301737537ac33abd9c81d72e1642ddc70ce320e0", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10000.000000", + "hours": 2231 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 112, + "block_hash": "e824946623309bf11d149b257ccd65d66dda02a693e83ecc0cd4429f53b472d7", + "previous_block_hash": "8be6b19ea7791d7fe43c49191cd3d73f182dc11cef660046e5450d2b56d0843c", + "timestamp": 1429348102, + "fee": 8332864, + "version": 0, + "tx_body_hash": "f8a24a25a8e3b206db7ea8a0bd8eeb0f8087f50d230c81a538316bcc5152da3d" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "f8a24a25a8e3b206db7ea8a0bd8eeb0f8087f50d230c81a538316bcc5152da3d", + "inner_hash": "cfca9a1aa2ab7ea4d643700ac89e9544f1d4e9ef85e28d1cedeece11469fb885", + "sigs": [ + "5b68d315f4e84cdae4936db6bb7c8466977e784851b605d1fbc1e0bb65fe259d58d6be37228c96bccb1a1c1e9d316d9102fcfaefeda614e67af20464bc877f2101", + "fdd919590553d428d9b8121644127651c68b5207af9798aaaa6ed18134c5835b5311bb547e07e47157a4fd89867c88a48700255610efd2a3e3f77dc82f5fb3ba01" + ], + "inputs": [ + "bae0e928b795e2a80c88161afcbc102dcad6644386f6f44050dde8d586750140", + "94889dbe1c20eb942b7932c5301737537ac33abd9c81d72e1642ddc70ce320e0" + ], + "outputs": [ + { + "uxid": "1d4595b9fa1c6c3d64f48b6ae5f8f861b1c08a022cbcb04b279df448da3db660", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873900.000000", + "hours": 1388810 + }, + { + "uxid": "53b376413d550663ab51b229df8b0f55e4055d6577c2d8b5cec8ff748fe0e958", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "18000.000000", + "hours": 1388810 + } + ] + } + ] + }, + "size": 317 + }, + { + "header": { + "seq": 113, + "block_hash": "46c2b611585a58ba3cb400970c3ff156fb62b7ca40bd9f8ab37979ebbc69e27d", + "previous_block_hash": "e824946623309bf11d149b257ccd65d66dda02a693e83ecc0cd4429f53b472d7", + "timestamp": 1429348172, + "fee": 1041608, + "version": 0, + "tx_body_hash": "1f27afc41896d2c7fdbd2620e606440ad12557e9a4bdd6808dcc2c23d4e32978" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "1f27afc41896d2c7fdbd2620e606440ad12557e9a4bdd6808dcc2c23d4e32978", + "inner_hash": "4d53c05c731409feef7606cf9514904f4c7704537efb453ac2c439fcfe77a455", + "sigs": [ + "e36cef84c1c6f999dba462f3134131c105da2255eaf21550ce30ee52a14a33d529a7cd0c37b3883d0d57429b163b4905271c7b1a4d951b4a521f245c7857dd5c01" + ], + "inputs": [ + "1d4595b9fa1c6c3d64f48b6ae5f8f861b1c08a022cbcb04b279df448da3db660" + ], + "outputs": [ + { + "uxid": "412eff3eef889c682da8db3608fce37d1c5ee2cc297bc88d901648e6ccd418f9", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873800.000000", + "hours": 173601 + }, + { + "uxid": "c961ba554ae30b0edcdf71e834ab2b26d7dff5bcf5955d4874cdba89170392bf", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "100.000000", + "hours": 173601 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 114, + "block_hash": "559fbe3f6619596631de1c1ea3e81b170cfe73fcc3ea08588897da22baab8e19", + "previous_block_hash": "46c2b611585a58ba3cb400970c3ff156fb62b7ca40bd9f8ab37979ebbc69e27d", + "timestamp": 1429348502, + "fee": 130201, + "version": 0, + "tx_body_hash": "e8765b4e6fbca87144df59a6f66815b175e81999509504b117636edc34cbe2af" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "e8765b4e6fbca87144df59a6f66815b175e81999509504b117636edc34cbe2af", + "inner_hash": "b62f9938b195211810976e1719b152fe6c381879adba6061f4ca36d74c06bea2", + "sigs": [ + "9d40ed257bb7586c7d72e90bd99c6883fb836d400107686ba477850c2b63a86b5ad885aa37f352d334d930ea3814844e67a6ac438c36b919daff273a66f21e5201" + ], + "inputs": [ + "412eff3eef889c682da8db3608fce37d1c5ee2cc297bc88d901648e6ccd418f9" + ], + "outputs": [ + { + "uxid": "6ad7993fb2728c2c53ac2c8395a6c62d03c5ef9298ca467e7998fb64fd0c90b4", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873700.000000", + "hours": 21700 + }, + { + "uxid": "5b0801ec545b132eeafa61bee8f645df7e1e358321ef830a4247fe541c211139", + "dst": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "100.000000", + "hours": 21700 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 115, + "block_hash": "504fd4a569f4b3ee5182b12fb082dba7d4853fa40977a4a2dad43143ee616db3", + "previous_block_hash": "559fbe3f6619596631de1c1ea3e81b170cfe73fcc3ea08588897da22baab8e19", + "timestamp": 1429348712, + "fee": 16276, + "version": 0, + "tx_body_hash": "bb700553c3e1a32346912ab311fa38793d929f311daeee0b167fa81c1369717e" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "bb700553c3e1a32346912ab311fa38793d929f311daeee0b167fa81c1369717e", + "inner_hash": "253c14d68558b09c034d4945284f5cc3025b9e05723c6e4fa7d95f1e68edb211", + "sigs": [ + "4920f49d47105801fab73c2398bee61ce56bb0b58dd69ab35ec1f959a3b8a8003c2821510d3a97d09f7a4a9f943b04d888b1327539ff48216f148fca693dde5d01" + ], + "inputs": [ + "6ad7993fb2728c2c53ac2c8395a6c62d03c5ef9298ca467e7998fb64fd0c90b4" + ], + "outputs": [ + { + "uxid": "0976005ab4540e8211cd929f19634bfaa2f5d8e24177ddb5b803b447ea91f8c3", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873600.000000", + "hours": 2712 + }, + { + "uxid": "de995d2361e810cfba1b9b1141413367a722f51c7555b1685f6e68129dfb2679", + "dst": "VD98Qt2f2UeUbUKcCJEaKxqEewExgCyiVh", + "coins": "100.000000", + "hours": 2712 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 116, + "block_hash": "87ac9b17ffc3169eb0ac6e758e62a37f9034c294a8fe5b223d9b127fbb7a9f25", + "previous_block_hash": "504fd4a569f4b3ee5182b12fb082dba7d4853fa40977a4a2dad43143ee616db3", + "timestamp": 1429349392, + "fee": 388717, + "version": 0, + "tx_body_hash": "491130fc9f69d101df220116356e82e2ff21dac1167e6da81c95dd4cc417b3d9" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "491130fc9f69d101df220116356e82e2ff21dac1167e6da81c95dd4cc417b3d9", + "inner_hash": "d78596837a36ece9a8bc3a8eed424612651039f4f229969c42ec3d7fd1aceff2", + "sigs": [ + "e22e89ecb303d5eee59eca8a75e0d5b4fdfa3a256576d7ac91264b4c3bf882ce7186572ab68fd1ad4dc837039ef4d7063ead72365506aed71cfe4de0b0449b4900" + ], + "inputs": [ + "2426f768e00345b641f5b4b4b058c308d528e22437bc6e552f0a9d5bd665e14a" + ], + "outputs": [ + { + "uxid": "6c34016037cd17622846e71bc635914d4d8f256c147aa5a0b84a896e83229480", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26400.000000", + "hours": 64785 + }, + { + "uxid": "ab12f4eadaf956be371ff8f239956e33d1cd2fd4b497ca04c9501baf6f241618", + "dst": "8MQsjc5HYbSjPTZikFZYeHHDtLungBEHYS", + "coins": "100.000000", + "hours": 64785 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 117, + "block_hash": "0c20262e8f6a28d63f1b7f9a8b0e4bc6801ffb0c6a3676c06a5b2903f865416a", + "previous_block_hash": "87ac9b17ffc3169eb0ac6e758e62a37f9034c294a8fe5b223d9b127fbb7a9f25", + "timestamp": 1429351912, + "fee": 125795, + "version": 0, + "tx_body_hash": "345488861ad3f0d93024c367990e64ef0f7a95bd8b8589f554172f9439808263" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "345488861ad3f0d93024c367990e64ef0f7a95bd8b8589f554172f9439808263", + "inner_hash": "258acd45e194051214c9783184c2a9157558e595c4e4da814258f0ffd0e9dd64", + "sigs": [ + "9f44be793a0cb218b6836dfa52e5b8c38fe2b1257d27fcea49f4c6a6ed910f446e8a96a987fc06c6b6ae13ea8ea0290e91ea40b6f8eeaf8054e8efd17306573201" + ], + "inputs": [ + "0976005ab4540e8211cd929f19634bfaa2f5d8e24177ddb5b803b447ea91f8c3" + ], + "outputs": [ + { + "uxid": "6beca9fb58a327580c614d7fb5622916849756790b661bcabc880666364fdf47", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "863600.000000", + "hours": 20965 + }, + { + "uxid": "2010952c33c83599fa14bfa5982d59865f2a362c97270dacb4c180a485ee5096", + "dst": "8MQsjc5HYbSjPTZikFZYeHHDtLungBEHYS", + "coins": "10000.000000", + "hours": 20965 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 118, + "block_hash": "d041c16ee3e7ea54503cddfc4ade9b21b3dce9cb17ebd531a2d52fa122aaee69", + "previous_block_hash": "0c20262e8f6a28d63f1b7f9a8b0e4bc6801ffb0c6a3676c06a5b2903f865416a", + "timestamp": 1429364072, + "fee": 184620, + "version": 0, + "tx_body_hash": "a83e09e976b038d86491d8c029aec84a6313dc33e692da6ce50a2858e50c4666" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "a83e09e976b038d86491d8c029aec84a6313dc33e692da6ce50a2858e50c4666", + "inner_hash": "86b47008bbeb60335762ba70b5bdf8128f09b3f8fff6ec6e5d9553763a5b5cef", + "sigs": [ + "48312c1abe5617609f70a882689f194e8d18c0b56d153adfae4be08bf00d723c6cda6dbd885e7ed7f92c7b7065d583adfd5f18bb37da9b796a394f4a388e978d01", + "4826477aed0387ca448b8225a5d27ebe6824b460d0581fb8ccb5078a865cd8171e7f5c860091a99cc85b1571dce8a550659cb3d02902a77cd1f6d0d27277bdee01" + ], + "inputs": [ + "7b132c07322babefa83ab64971b7bfb29bf2cb9ffe9c42dc7e2975a185dcd8b8", + "c961ba554ae30b0edcdf71e834ab2b26d7dff5bcf5955d4874cdba89170392bf" + ], + "outputs": [ + { + "uxid": "3408638af298419b14a49e8e9dd69e97c9a06827d74edf9f410a870662360b31", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "1045.000000", + "hours": 30769 + }, + { + "uxid": "ba0a94662846565969d361b1b7c248847a48e69f2b9eefb4ffb0bc2efc56a8fd", + "dst": "38cVLswijqC2ANV5HxTroeapQzqeoBR88C", + "coins": "50.000000", + "hours": 30769 + } + ] + } + ] + }, + "size": 317 + }, + { + "header": { + "seq": 119, + "block_hash": "47c5bf33a544cb4f0a8e7ecfea9db40f43467ae8b8c80ba1d1cc8a39063ea05c", + "previous_block_hash": "d041c16ee3e7ea54503cddfc4ade9b21b3dce9cb17ebd531a2d52fa122aaee69", + "timestamp": 1429364282, + "fee": 23077, + "version": 0, + "tx_body_hash": "4d080ff1f8ac21d8c09a2dca99d28ae88e9441d7a4757dca68469ad64838cb55" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "4d080ff1f8ac21d8c09a2dca99d28ae88e9441d7a4757dca68469ad64838cb55", + "inner_hash": "bd2066b342e0af8c4bfecd15d3a87f168cac47d1f900642b69b23fbf18bfed05", + "sigs": [ + "ea1adfe309f30a15691fc3e267b19d7b765983694245adbebd92924db1adb67668d4dc8a6467e54323d245a35c0ed822593e10de2fd6c4674d3040b53099a6aa01" + ], + "inputs": [ + "ba0a94662846565969d361b1b7c248847a48e69f2b9eefb4ffb0bc2efc56a8fd" + ], + "outputs": [ + { + "uxid": "cbe8b620c1468dbb1e69e6da63831bde5828db313879a36f783a1f16f2b86541", + "dst": "38cVLswijqC2ANV5HxTroeapQzqeoBR88C", + "coins": "12.000000", + "hours": 3846 + }, + { + "uxid": "f480c6097568036b90a2e019f9ee68c0812b2da8828be33a005a7427caf14a2b", + "dst": "f38daJDg8rpwL5xWgMY78fBHncQ1N5gQZ7", + "coins": "38.000000", + "hours": 3846 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 120, + "block_hash": "644bd4cc468983f429fc64e2ed43338eb0c5def9e12c6b7a0784c4fa928abff6", + "previous_block_hash": "47c5bf33a544cb4f0a8e7ecfea9db40f43467ae8b8c80ba1d1cc8a39063ea05c", + "timestamp": 1429364452, + "fee": 3366, + "version": 0, + "tx_body_hash": "d1569ca879f98450a920a2b427ab0e1d21342308fb6b4ea5031ee6e718217183" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "d1569ca879f98450a920a2b427ab0e1d21342308fb6b4ea5031ee6e718217183", + "inner_hash": "12d27fdba804c648b8f72d9740d4021b05c88c95d3595af4afab2150092c5eee", + "sigs": [ + "2baa243ca1b82bd9fc1a31a0b53c9f7eb0ad62b19d6a4d3af62579cc2dc455d81d8ed82ba342dc650d4ae38718d81a8df6a93a9a809749a2f5391894bbaf298400" + ], + "inputs": [ + "f480c6097568036b90a2e019f9ee68c0812b2da8828be33a005a7427caf14a2b" + ], + "outputs": [ + { + "uxid": "3f9712cab0d3aeb217f1751fa19e53d75f814b4218866d4e70d63f32271d2023", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "38.000000", + "hours": 480 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 121, + "block_hash": "48a34e6f6371d5e93cea488f9615bc64b305b47d82cd813218bfc92e5fad2a3e", + "previous_block_hash": "644bd4cc468983f429fc64e2ed43338eb0c5def9e12c6b7a0784c4fa928abff6", + "timestamp": 1429382678, + "fee": 2271879, + "version": 0, + "tx_body_hash": "da82deafc15c36e7dc9cd95663e0dc910ae626ee543147ac7bd8682be00f7baf" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "da82deafc15c36e7dc9cd95663e0dc910ae626ee543147ac7bd8682be00f7baf", + "inner_hash": "c98f858a27e76b0b565baaa3dffc6cfc7b0ffe9dd7d2d71f4bb0ad4d1c439ca2", + "sigs": [ + "15fccdc36c966a9571196a3f727ebda47162441df2d9965ac27109ac56d22cb41638b404e84b5b388d809b814ade18022cba0a6e021140c6b7d0144a6facd6d501" + ], + "inputs": [ + "6beca9fb58a327580c614d7fb5622916849756790b661bcabc880666364fdf47" + ], + "outputs": [ + { + "uxid": "f8a1990492f970227ec29e6e095fa724d66fa2d6883bd8723773098d08ca8b3c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "801600.000000", + "hours": 378646 + }, + { + "uxid": "e5596ef0ba04ad9e0adbe0355a24c6bef249654906f917b68f8f0cf072508674", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "62000.000000", + "hours": 378646 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 122, + "block_hash": "42a88e86cb431b2464cd40554a46374775854e588df3c0ec3164b55290c95fec", + "previous_block_hash": "48a34e6f6371d5e93cea488f9615bc64b305b47d82cd813218bfc92e5fad2a3e", + "timestamp": 1429382898, + "fee": 283986, + "version": 0, + "tx_body_hash": "211f5fc97ba1797d78f84d4e4db78415b5ff4121f78369535fe3f8015571c6df" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "211f5fc97ba1797d78f84d4e4db78415b5ff4121f78369535fe3f8015571c6df", + "inner_hash": "586a8297d8d148f79d8529fbc3e356f5de9570a3c34bc1ba8494b8269b03d0f2", + "sigs": [ + "cccee00def7817ec1b36ba5b02066f82eae188afc3e05e61524c62d19fe095e0363db085da6591841314da5f836f2f0068eae522e3d3937d2f96de99f924af6a01" + ], + "inputs": [ + "f8a1990492f970227ec29e6e095fa724d66fa2d6883bd8723773098d08ca8b3c" + ], + "outputs": [ + { + "uxid": "998487775c0e58420673b70204b83c1d6bb5b70e34b1aa0f8169c85ecec2438e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "765600.000000", + "hours": 47330 + }, + { + "uxid": "1e0cf4e3ed49b52944f533a212e6412291e369ac3e7a8c4440424f475f2983b3", + "dst": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "36000.000000", + "hours": 47330 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 123, + "block_hash": "d6be10dec288c68139841963f3bca742ed29a1a042658ed699bbfad206cb3f4d", + "previous_block_hash": "42a88e86cb431b2464cd40554a46374775854e588df3c0ec3164b55290c95fec", + "timestamp": 1429451746, + "fee": 35498, + "version": 0, + "tx_body_hash": "9003d3caba9587d46d000cc614bb52bed34adcc5ea404c560c986eb6dd756e6b" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "9003d3caba9587d46d000cc614bb52bed34adcc5ea404c560c986eb6dd756e6b", + "inner_hash": "2a87bcb0049b9971713a2e46b75b348785adca751b151290a411bfa5a0ed2287", + "sigs": [ + "0da91c351fb050c243c7b587005bee14ccc2951897ffdf720ad9c757c5946e516a20ca0d92c5f84957161d10a74deab05a2b530ab5bbcd7ad01266213b5eb38401" + ], + "inputs": [ + "998487775c0e58420673b70204b83c1d6bb5b70e34b1aa0f8169c85ecec2438e" + ], + "outputs": [ + { + "uxid": "6fb116c110fe391448a1dcb985b67439c2e9a71d8bb2fd1cf345ac73ada6166a", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "755600.000000", + "hours": 5916 + }, + { + "uxid": "8e764a87cee9f26b902f748c28a5a49de5c383e5f155129eec84474a3d0349cc", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10000.000000", + "hours": 5916 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 124, + "block_hash": "d01a6811cc796d32d915257986177c5cf12dbd5f010bfff736457a114f9b6eb2", + "previous_block_hash": "d6be10dec288c68139841963f3bca742ed29a1a042658ed699bbfad206cb3f4d", + "timestamp": 1429522086, + "fee": 4438, + "version": 0, + "tx_body_hash": "e9a6dd585b564b19c55d9f56188a45bfad32fa75703fa6336830035f6fa92e3d" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "e9a6dd585b564b19c55d9f56188a45bfad32fa75703fa6336830035f6fa92e3d", + "inner_hash": "9cdad9a848f5b2993d1e5d0593e952b39ccdf7ae56bd13851449797cccdced5f", + "sigs": [ + "1f3d02abe6811c83b4f4b2e270366e8d4c591866b6e984cb8bdea5d80ca1edbb04d651449070bbca22a8c7cfb3d23a6f85c0a5a7e3226e2d0520330faf16291401" + ], + "inputs": [ + "6fb116c110fe391448a1dcb985b67439c2e9a71d8bb2fd1cf345ac73ada6166a" + ], + "outputs": [ + { + "uxid": "04471fb0797bb931e883f7b95cfff6ee4fea5e19a352ca5425fcd353c4f6aba4", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "750600.000000", + "hours": 739 + }, + { + "uxid": "a4fdfce34725eb63941ac576651fa406272565a344ffb21435d285111efbc4db", + "dst": "v7Bma8dYdBMx7RQ2NohXXDUo7eR5TWBscF", + "coins": "5000.000000", + "hours": 739 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 125, + "block_hash": "7f18db3c23f1c460e331749b92b08495b33f9da515e821f6faba239dfc1aaf9d", + "previous_block_hash": "d01a6811cc796d32d915257986177c5cf12dbd5f010bfff736457a114f9b6eb2", + "timestamp": 1429578056, + "fee": 555, + "version": 0, + "tx_body_hash": "1ca0a2d44b6439b91eb839e0f99405abdcafe2c1a49c8b49b1739498129bd1a6" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "1ca0a2d44b6439b91eb839e0f99405abdcafe2c1a49c8b49b1739498129bd1a6", + "inner_hash": "1090d10a5a2210dc205d6f8447918670f9351feed057c76423629b4699777dcb", + "sigs": [ + "39817412c5edb4cd928aa3b79a022d4b3276af74eb377d3821c1e95e4d6c6acd61ebbf5eb5d32f87686b6cb4f09c2660e1f148192873208fc963d67a6945fe0101" + ], + "inputs": [ + "04471fb0797bb931e883f7b95cfff6ee4fea5e19a352ca5425fcd353c4f6aba4" + ], + "outputs": [ + { + "uxid": "6b616ad99a946538c3ab101f245bcab211ab39507848425e80cbfc8ec5bdbc67", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "738100.000000", + "hours": 92 + }, + { + "uxid": "a08089cd67896683d5dcb2d50256354e0d086b9854eb22bb6022cc459d447211", + "dst": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "12500.000000", + "hours": 92 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 126, + "block_hash": "c25b843a329012e23094468a8485c6d989645478307e717db2b17c265d38646a", + "previous_block_hash": "7f18db3c23f1c460e331749b92b08495b33f9da515e821f6faba239dfc1aaf9d", + "timestamp": 1429680646, + "fee": 103861, + "version": 0, + "tx_body_hash": "a67ed00f815a2fd20d0efd18ac04663f0ee3d5621fbfdcdc6af250f19e3cfc53" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "a67ed00f815a2fd20d0efd18ac04663f0ee3d5621fbfdcdc6af250f19e3cfc53", + "inner_hash": "3587ee0a091f047bce0dc6f3a45ba08a0c95db33790c53185f6dfd626040b306", + "sigs": [ + "7753de16df3b46c78529de293ed45ab7d566f3a2fdeeff381aa8bc903111e62c117ce54623e582dceab853fd4d9431e05bd003ae0f470db915e555d3d6dea80500", + "414a1f765e1f437799d095f76a3e0ce23ab9ebe150be93e4f3d0abd72eb403ed32ddb15d36956fc9142cd4b5875d5769803e197bab3ecf91f6b72e75087f40b000" + ], + "inputs": [ + "e2512ec90800147d0d9ddbd0778511ee5a45a25efcb354c50a101738a65462c5", + "6e2abc4bc7820178358a603b7d99c4b39735dd1685d0c5a778ab63f29c9e93d9" + ], + "outputs": [ + { + "uxid": "bca6e6b24cdabecd77186a61168dd3e2290b2fda1b7a79eb3856ca4cc9f589e2", + "dst": "YLT4buWf3kYDV9QddnC5iXTj881Eniuvrx", + "coins": "990.000000", + "hours": 17310 + }, + { + "uxid": "e4a83076c2ce1bd83953c1c0443054d7f5b0843c551d35b3fc3c116e9a9134d7", + "dst": "odhAMxHhXoBdx1RHNmfu7dTZ1LZivfsbiH", + "coins": "10.000000", + "hours": 17310 + } + ] + } + ] + }, + "size": 317 + }, + { + "header": { + "seq": 127, + "block_hash": "a5bea6636befe12f8eaef92076d54e95c00c83724d6a00a78027c0b656cf0e0e", + "previous_block_hash": "c25b843a329012e23094468a8485c6d989645478307e717db2b17c265d38646a", + "timestamp": 1429848410, + "fee": 3170256, + "version": 0, + "tx_body_hash": "243e1baa955c3f0af42d7acc4c920437dd0a99c754d6c5c2b7defcd143ff288d" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "243e1baa955c3f0af42d7acc4c920437dd0a99c754d6c5c2b7defcd143ff288d", + "inner_hash": "e7e030478e5828f44ec15b734638e8c2828f015b2fa5ca2823d24af3ad111ae6", + "sigs": [ + "1519c5c730648e7be553b2738aaeff38266735276e640c8f8d455f33c4fc07283ae5a7da47742df118337ff0548efebb1c75d0350a4e578ff95269182779db2201", + "ee099f6f42c813d13f097e9b3a8604067d6afd3718e6eeacd88fb25050d42b8603a42c4f7d24058483f70328a24fc91cd6ef190286c4a678e28b757143e23dc701" + ], + "inputs": [ + "c5df36ce47f6f183475317ab1c53eaa65428c142cb3e3906bf162d80519a203f", + "53b376413d550663ab51b229df8b0f55e4055d6577c2d8b5cec8ff748fe0e958" + ], + "outputs": [ + { + "uxid": "8169bf7f8fa21dc6400b60678b302946cf2765f44893ec8466262fc69b710591", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "30600.000000", + "hours": 528376 + }, + { + "uxid": "ef488d5f4a019502115d3b6b50bd364692315c3954d7e93c3ca22e11b92fc528", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "100.000000", + "hours": 528376 + } + ] + } + ] + }, + "size": 317 + }, + { + "header": { + "seq": 128, + "block_hash": "c55baca575f3902afc4865ccd856eae4833c7484524483df172a175c3e1a7d3c", + "previous_block_hash": "a5bea6636befe12f8eaef92076d54e95c00c83724d6a00a78027c0b656cf0e0e", + "timestamp": 1429849170, + "fee": 41968911, + "version": 0, + "tx_body_hash": "c2c9fe882df3b44fbb125b251a7604a7a4f4195dddff6e5396b7f130744e2b27" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "c2c9fe882df3b44fbb125b251a7604a7a4f4195dddff6e5396b7f130744e2b27", + "inner_hash": "e23ed05dee949be1aabf237db1fd81be8d73c838eb0ee3026104807053269431", + "sigs": [ + "8e9b1733227a841009881663a50e1e01ac2790f16416c6f973c89e15a8fc216044e156cc8fee84d3e3cc6371e4da340f5312726bfd66f16a635542d63c869c7101", + "d1f6b7078a9032159a165ffbfb1e0665bf9ced2c3d5db795fd5bd11fc53d790f56589cbbffd117eec50aa0dc8c0e65eccb13c5ccb5d39dc9bae739a49dda03b201" + ], + "inputs": [ + "6b616ad99a946538c3ab101f245bcab211ab39507848425e80cbfc8ec5bdbc67", + "ef488d5f4a019502115d3b6b50bd364692315c3954d7e93c3ca22e11b92fc528" + ], + "outputs": [ + { + "uxid": "ecb92dc2f43d4c6ca124575d8456d8894f3cb137875287beaa73180fcae2b3ca", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "737200.000000", + "hours": 6994818 + }, + { + "uxid": "6143275de37a2b5ec802eeeb8d38a3dfb2db6629128e44c4f9ffc0ce8ddad629", + "dst": "VD98Qt2f2UeUbUKcCJEaKxqEewExgCyiVh", + "coins": "1000.000000", + "hours": 6994818 + } + ] + } + ] + }, + "size": 317 + }, + { + "header": { + "seq": 129, + "block_hash": "41bf956d514a87cff4231377b2d3487eb40ef2d804be347237caf75884f4cb4b", + "previous_block_hash": "c55baca575f3902afc4865ccd856eae4833c7484524483df172a175c3e1a7d3c", + "timestamp": 1429849180, + "fee": 401128, + "version": 0, + "tx_body_hash": "66d415598af081f8a7bd7f292468e67f380d06bf5896eb8152d4d9e8bcdf289e" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "66d415598af081f8a7bd7f292468e67f380d06bf5896eb8152d4d9e8bcdf289e", + "inner_hash": "3381919a36bb294377845155efa9f6ebb9314abbe5f9904b20ece45eb0960dc6", + "sigs": [ + "0a7f9eb68798320106f652933bd07181c80571a6f66215a5b10531f1205e0f300c702324cf9c368e67fef67dc42fbfee5bb13377c435873e549d9fd6962bad9501" + ], + "inputs": [ + "8169bf7f8fa21dc6400b60678b302946cf2765f44893ec8466262fc69b710591" + ], + "outputs": [ + { + "uxid": "78126a08c4dd4ea7ca2d6c9f9d4614fa58896ec4ea301cb9b450104b00bc1b94", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "29600.000000", + "hours": 66854 + }, + { + "uxid": "169e9a77557283e0d158fe6e35c439d729d73acfd00e2969147dacbdd599817e", + "dst": "2iJPqYVuQvFoG1pim4bjoyxWK8uwGmznWaV", + "coins": "1000.000000", + "hours": 66854 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 130, + "block_hash": "b591d8741ee1c0996048ec1abf04fee1f46beac77636169f1e2399d275391bd4", + "previous_block_hash": "41bf956d514a87cff4231377b2d3487eb40ef2d804be347237caf75884f4cb4b", + "timestamp": 1430311531, + "fee": 50142, + "version": 0, + "tx_body_hash": "2df67e974b03b46be4e59fcf2f8b751d501f17f8610d5adf94551a7ecc6a58af" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "2df67e974b03b46be4e59fcf2f8b751d501f17f8610d5adf94551a7ecc6a58af", + "inner_hash": "be6b1ad4d9985314d2bc6434f8a49cef708e7461f047154c7283e2a4ed13aae4", + "sigs": [ + "abbfcf7922d466e79c976809cf58932a7030db6b54465a2166168617e6acdafd3d7d62391c626e9c150155c63bee7cc887d84fb5f017298a0ce7c33859b21a4500" + ], + "inputs": [ + "78126a08c4dd4ea7ca2d6c9f9d4614fa58896ec4ea301cb9b450104b00bc1b94" + ], + "outputs": [ + { + "uxid": "903a1bca9b81ed76179cbcffe6e3c8eff269c94826148286f7be0b6038ee4ccb", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "28600.000000", + "hours": 8356 + }, + { + "uxid": "37cc43693a024f9122f5e1fcabeab5d53a4d58590df30a934fc7bc545936e049", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "1000.000000", + "hours": 8356 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 131, + "block_hash": "c81304abb915e3332344b876e675628dd3af311f03e975013d45fef36724bf7b", + "previous_block_hash": "b591d8741ee1c0996048ec1abf04fee1f46beac77636169f1e2399d275391bd4", + "timestamp": 1430330041, + "fee": 76257058, + "version": 0, + "tx_body_hash": "6538399868cf772fcfa96e68c51aa6aa66faa95d7c685432e4005880932be134" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "6538399868cf772fcfa96e68c51aa6aa66faa95d7c685432e4005880932be134", + "inner_hash": "4854d5689f4c2b770d887ebf7f7d3fb975b295b0180d9354d69f2e322ae8b7b7", + "sigs": [ + "d213d50e53ceffd053571431b78fa6417abae8a7c5080dd3f8cece59dc61ad2444dd541540f5734d34dca94b3b975b613da0800121af8ec83b6f20d81cd53ffd01" + ], + "inputs": [ + "ecb92dc2f43d4c6ca124575d8456d8894f3cb137875287beaa73180fcae2b3ca" + ], + "outputs": [ + { + "uxid": "6b4ca83b3f73b62161c90c6da03dff460ca9a5a3ccd6fafca140137416dedc58", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "736000.000000", + "hours": 12709509 + }, + { + "uxid": "e7756fa7a5c067d595f7300828bc4c70152653700844130d88174ba37237e2a3", + "dst": "2iwB1VmUWbCoVd4gNstB9LKctw3htFhVmuV", + "coins": "1200.000000", + "hours": 12709509 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 132, + "block_hash": "cdfc8bac020e63a5735750e39bc23e4a309cdc4014e025268020a8019fa33c99", + "previous_block_hash": "c81304abb915e3332344b876e675628dd3af311f03e975013d45fef36724bf7b", + "timestamp": 1430330311, + "fee": 9532133, + "version": 0, + "tx_body_hash": "3dfdfea4614d05c2f5eddf5773ef0afc745f1afe585141659df8e03e82897606" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "3dfdfea4614d05c2f5eddf5773ef0afc745f1afe585141659df8e03e82897606", + "inner_hash": "3a4ac407aeec6233d3edf787d5b1f4d8257b594e9ee9d0ad3c32781053579b36", + "sigs": [ + "f37f3398240cee8e38c41945db72d4feda20f88a2250528fe1165533acdc7dfc0f99c7db0fc965847a100d0a2f598537cdd8c73a96c5fbb4e5e85dbfd9a4384701" + ], + "inputs": [ + "6b4ca83b3f73b62161c90c6da03dff460ca9a5a3ccd6fafca140137416dedc58" + ], + "outputs": [ + { + "uxid": "2cd58783beb8a9f6278f7a097151531091b5f15afd7735e1facf02aa720c1191", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "735000.000000", + "hours": 1588688 + }, + { + "uxid": "333156ed20ba6937d3720af3a81939362b9f4ad1e9591bc676945ff0d202131e", + "dst": "vdLGAnCfbBkxabcVk6tEsa6RH99JTxdzbt", + "coins": "1000.000000", + "hours": 1588688 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 133, + "block_hash": "5377b5ef4c36dffa9e699a532e927898084d1a101cf557880bbc50b51a733de5", + "previous_block_hash": "cdfc8bac020e63a5735750e39bc23e4a309cdc4014e025268020a8019fa33c99", + "timestamp": 1430330421, + "fee": 1191516, + "version": 0, + "tx_body_hash": "d30cec3ad3a66562d2513a3656b366ea7da583e6ba45214ac12b9c2219b4c5ea" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "d30cec3ad3a66562d2513a3656b366ea7da583e6ba45214ac12b9c2219b4c5ea", + "inner_hash": "58e355edef48ff22e9a83952130c1bd8fe9a7f9bec7b2e0535c103c0146604c6", + "sigs": [ + "09baa4739816e5a86a46ecc30df8c00a5f046ad687f0674250640b6df2361dfe3723667872e0f6deb1d3447948e30b06f02b056a62da9dbaaef4db000eab747e01" + ], + "inputs": [ + "2cd58783beb8a9f6278f7a097151531091b5f15afd7735e1facf02aa720c1191" + ], + "outputs": [ + { + "uxid": "52288a441c70260f6a3eab0e271969d54492377615a6fba8ec3ad26f11dc9768", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "734500.000000", + "hours": 198586 + }, + { + "uxid": "8b3d335360effd00cabcae13c2495f26f81743b82958629378b7bc78a7e460fe", + "dst": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "500.000000", + "hours": 198586 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 134, + "block_hash": "d42fdd801ccc75cb92fcf63cddbe05adfe6e8d580ea65de0f94332db3f2fd79f", + "previous_block_hash": "5377b5ef4c36dffa9e699a532e927898084d1a101cf557880bbc50b51a733de5", + "timestamp": 1430330481, + "fee": 148940, + "version": 0, + "tx_body_hash": "44d05abc2637d9cd2047984023eb5cfa0a146e58821117de30f9c81703189cde" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "44d05abc2637d9cd2047984023eb5cfa0a146e58821117de30f9c81703189cde", + "inner_hash": "44886be6952cd483b9425d314836714af65037b58923aa2432ea946131ae10f6", + "sigs": [ + "7990cb04634a5e0de397917e56480805915c73d265fe466757a9e677067483787d457c7e9931a89daa6260c7a262f49ef1503cc88008809c193f1f949badcfbb01" + ], + "inputs": [ + "52288a441c70260f6a3eab0e271969d54492377615a6fba8ec3ad26f11dc9768" + ], + "outputs": [ + { + "uxid": "e29ec214f4afd79e6465d03e4d88e552dc69654750a725d74873ee366c58e552", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "734400.000000", + "hours": 24823 + }, + { + "uxid": "d95d422fb8fe4ad9ce1052e566ec8a5ad7953ceb253366814b3d32e9a1da1f13", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "100.000000", + "hours": 24823 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 135, + "block_hash": "6ff9e724f389a79b0f36dbda6c527a77a5ea848c514c5f96b67c659b57146750", + "previous_block_hash": "d42fdd801ccc75cb92fcf63cddbe05adfe6e8d580ea65de0f94332db3f2fd79f", + "timestamp": 1430330591, + "fee": 18619, + "version": 0, + "tx_body_hash": "072f0738f834db0030d777e6ec0e0443627c51cecffcc55e41d43b0b8edd40d1" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "072f0738f834db0030d777e6ec0e0443627c51cecffcc55e41d43b0b8edd40d1", + "inner_hash": "e87dc97ec672bb45a3417f307e6f6a1cd75b26f508f188c0554484740ffea8cd", + "sigs": [ + "da4e898bdf324ab50d8f007ee4c65ab832ba64cf86fd0a601e7007a4c3ac2eaa6f1304a3fc8088b108e3f417e5b7c90cbc7d80c059885d397ae978da89c92d5f00" + ], + "inputs": [ + "e29ec214f4afd79e6465d03e4d88e552dc69654750a725d74873ee366c58e552" + ], + "outputs": [ + { + "uxid": "8ea58a3736b35f0e3781e94198e8b73bba2536704b84b15900fb32701db8893e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "733400.000000", + "hours": 3102 + }, + { + "uxid": "617b584bb9e6b1d80daac915fb3079b22a326777d1515a40e7b7eddf427f4099", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 3102 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 136, + "block_hash": "227f82c4b9f509c3f346f0222855b3311924dc8bbcfca3e2e7431592373df2d5", + "previous_block_hash": "6ff9e724f389a79b0f36dbda6c527a77a5ea848c514c5f96b67c659b57146750", + "timestamp": 1430330851, + "fee": 2328, + "version": 0, + "tx_body_hash": "b9a795552bec1a722718b44a08ad152656242b1d23afb53d2247b3016d920b7e" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "b9a795552bec1a722718b44a08ad152656242b1d23afb53d2247b3016d920b7e", + "inner_hash": "8096fec4a2738f5b79df5359724f6cd7597c0d8c5bc18419f5825c5312e1dac0", + "sigs": [ + "315cc1de04ad6d1d68e9d63027cff2abc74d5b11a376623d70211ac0e8b9feed4c7f7952634d60b57604edfbe63f02bef172486320e9790d0bb6e44099d6473500" + ], + "inputs": [ + "8ea58a3736b35f0e3781e94198e8b73bba2536704b84b15900fb32701db8893e" + ], + "outputs": [ + { + "uxid": "a1ed39cded6d9a0605b52f25cbedb363e57a168d1ad1d1db437816a401c061ab", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "732400.000000", + "hours": 387 + }, + { + "uxid": "e00c292e151fdafd24984b2dc08a4a328150006f95afaac9909dbffae1f07eaf", + "dst": "3iEkvqSQCNrm8tMVf5ABAx2Bp6EGL9wyMP", + "coins": "1000.000000", + "hours": 387 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 137, + "block_hash": "7597c9f66417a8899eda6964240907092e878cc192b235b6e1a06a288de2d733", + "previous_block_hash": "227f82c4b9f509c3f346f0222855b3311924dc8bbcfca3e2e7431592373df2d5", + "timestamp": 1430504186, + "fee": 291, + "version": 0, + "tx_body_hash": "fc02772662176c282c2b6538732d3d6eb1399f006a0b52e64d07fc104038f638" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "fc02772662176c282c2b6538732d3d6eb1399f006a0b52e64d07fc104038f638", + "inner_hash": "a7ef2323ca6ef0a15173dcc2ef44c0abd10933be70337360408ffb4087affb80", + "sigs": [ + "9a30550db56d9c9ae901d835f856761b9c4298d56ffa94bf41eff5550ac180851189f2adf2e184b6f23485a1405eacb2d4cc937ff05490fb0bc609e654effd7900" + ], + "inputs": [ + "a1ed39cded6d9a0605b52f25cbedb363e57a168d1ad1d1db437816a401c061ab" + ], + "outputs": [ + { + "uxid": "f89c968840831d03abaf3c41cf8a405e4b4ddbfb19f5ba300a8ea8e4dcb1d9a4", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "731400.000000", + "hours": 48 + }, + { + "uxid": "b6b6188973b600af774ad8a7b6d454f77713a51463b9a9a70c901ec5280a9789", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "1000.000000", + "hours": 48 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 138, + "block_hash": "205b52696e2ddc66a276041abeaff192865672a34678046e7b88c4c8d64543b1", + "previous_block_hash": "7597c9f66417a8899eda6964240907092e878cc192b235b6e1a06a288de2d733", + "timestamp": 1430504236, + "fee": 36, + "version": 0, + "tx_body_hash": "9880bebc51471e0b3c520920db836d674f652503314cd74069a59ccad0d0967a" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "9880bebc51471e0b3c520920db836d674f652503314cd74069a59ccad0d0967a", + "inner_hash": "feeb2f638e91dd685e6fe179edc7622ef3fcc8a5a7e795c07be12e03f221f67f", + "sigs": [ + "a0c15d7d5f36afc4c78045aae19c8d41a8652f0cb6d633622a1e55b4e54cd5a33113b02c24b02cca10797043d992aaac98bdbb33addd038611ac324795733c0b00" + ], + "inputs": [ + "f89c968840831d03abaf3c41cf8a405e4b4ddbfb19f5ba300a8ea8e4dcb1d9a4" + ], + "outputs": [ + { + "uxid": "36972dc046829caa340eaecbfeb42f4174bcdecfb87296d56503e5fb10e9de8d", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "730200.000000", + "hours": 6 + }, + { + "uxid": "bceafc261a2250f1bfb8154aea88370acfe6a41a4216bcb76c2016451cbcffd1", + "dst": "2iwB1VmUWbCoVd4gNstB9LKctw3htFhVmuV", + "coins": "1200.000000", + "hours": 6 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 139, + "block_hash": "9c31d9340bc0aab07837b78625468101d643044d4b38d3a63ec3af92007ae9d7", + "previous_block_hash": "205b52696e2ddc66a276041abeaff192865672a34678046e7b88c4c8d64543b1", + "timestamp": 1430504536, + "fee": 6, + "version": 0, + "tx_body_hash": "578075959959db70ae86f4f60d2ae3ff245727d086eef86ed80db5e1c7c9fbaf" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "578075959959db70ae86f4f60d2ae3ff245727d086eef86ed80db5e1c7c9fbaf", + "inner_hash": "eead8ec3c5e86e73f1e7add274fdbe0cecd5cd68c4fcd3cf17c1c7af9c5ee43d", + "sigs": [ + "d6331b6d3270100b8b009bbd343d6b82208d622b27ca3a4b371492b9c792f8433c981c57dfc760a3974f13acd86bbb24555b958e0c67e247c5a39d97295022d601" + ], + "inputs": [ + "36972dc046829caa340eaecbfeb42f4174bcdecfb87296d56503e5fb10e9de8d" + ], + "outputs": [ + { + "uxid": "6962c7c1fcc98f532a9003990163bb251811a4700257968a641b1fe975cfc51d", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "729200.000000", + "hours": 0 + }, + { + "uxid": "278b0caa6dddf4ce74772471b15fb9a8c364362b0ae3eeb9379e980504d8d512", + "dst": "vdLGAnCfbBkxabcVk6tEsa6RH99JTxdzbt", + "coins": "1000.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 140, + "block_hash": "939d45a9e5f77daf83af0dd2346f69d92a2ee7cc118038bd20d16ccf848ad344", + "previous_block_hash": "9c31d9340bc0aab07837b78625468101d643044d4b38d3a63ec3af92007ae9d7", + "timestamp": 1430504746, + "fee": 0, + "version": 0, + "tx_body_hash": "de45a24c9c32f808a3d928f30ba8e1b6ef8117a7c0b7a5d616734d9b121d0c30" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "de45a24c9c32f808a3d928f30ba8e1b6ef8117a7c0b7a5d616734d9b121d0c30", + "inner_hash": "efeb898fd032831cdd6d7c311f496f4c2622ee11bedc2831b6411cab51d44736", + "sigs": [ + "1646b02579d23e2350e2bc47340e027ad5f74bf55aba41fc1244631ba1e0577b681d364c3802017b5cc5d5fda972d23ac9bffabd6159384223a26aba5f08406401" + ], + "inputs": [ + "6962c7c1fcc98f532a9003990163bb251811a4700257968a641b1fe975cfc51d" + ], + "outputs": [ + { + "uxid": "d53fae3b48bde2d1328964a2e7f42e8e833983db159ba30f627926dea0db7df0", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "728200.000000", + "hours": 0 + }, + { + "uxid": "cfdefd8d167947190a223882d20c8ac7880e550ad1a3494bb05bff4b1df4e3ff", + "dst": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "1000.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 141, + "block_hash": "71ad597d194d7090c1b3bbb8b37dc281fede373eaa81dab6d07226460f36e7b5", + "previous_block_hash": "939d45a9e5f77daf83af0dd2346f69d92a2ee7cc118038bd20d16ccf848ad344", + "timestamp": 1430504846, + "fee": 0, + "version": 0, + "tx_body_hash": "16f8b9369f76ef6a0c1ecf82e1c18d5bc8ae5ef8b01b6530096cb1ff70bbd3fd" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "16f8b9369f76ef6a0c1ecf82e1c18d5bc8ae5ef8b01b6530096cb1ff70bbd3fd", + "inner_hash": "529b1fd21087bf52cb3ebcf02dbe1e3ce5de9daefa9754e5b6cde7be2d8ab0c7", + "sigs": [ + "8612c9e160f3e0d7cdcb2adf3611bde867dcb766c63ec4312a9251ba9b6ea6997c0d9a6ce26beaae01e82c22d2b61e5ae7f87aeaf0679fde395888aebafde94500" + ], + "inputs": [ + "d53fae3b48bde2d1328964a2e7f42e8e833983db159ba30f627926dea0db7df0" + ], + "outputs": [ + { + "uxid": "228794e6b3eb69aecc5334e140afbad22883326dcf229bd3092f238ed9ec800f", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "725700.000000", + "hours": 0 + }, + { + "uxid": "908fe94bd28886547f1b7b4fc98d0990a08a216b70877341f566b6b4685de364", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "2500.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 142, + "block_hash": "5415760993e68334d9c577322e1c0b81f16ca724417174193c243ad8acef5765", + "previous_block_hash": "71ad597d194d7090c1b3bbb8b37dc281fede373eaa81dab6d07226460f36e7b5", + "timestamp": 1430504966, + "fee": 0, + "version": 0, + "tx_body_hash": "030177271beee04f1a0974d0c5042f07c7ca1db1c5d496fbee3c441b1b7c5bee" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "030177271beee04f1a0974d0c5042f07c7ca1db1c5d496fbee3c441b1b7c5bee", + "inner_hash": "d954f0ee1a437cf3809961063145bb205633ac66d9a29e1386eddb13503ddac1", + "sigs": [ + "6e5661f0212dfa0800df968dac30f931335d7fe99d23932878d7d2c06bf69691328d66897c3a5c023535035ed95de3b396ea162e4482e70cda5ec9d4c8e36d4b01" + ], + "inputs": [ + "228794e6b3eb69aecc5334e140afbad22883326dcf229bd3092f238ed9ec800f" + ], + "outputs": [ + { + "uxid": "6efc30b4c943ba4de8d2c89901a0b2a4d9a0ecf34713917eae37c6debca616ed", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "724700.000000", + "hours": 0 + }, + { + "uxid": "18293d947aadf89d9e57d18fa01408867a9abe267504edbdabf8c2a57d9a6323", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 143, + "block_hash": "a6f2d5edeea837fd64c910f9dd0f09cb28f689e014a4f602376aeb7bd36ebc37", + "previous_block_hash": "5415760993e68334d9c577322e1c0b81f16ca724417174193c243ad8acef5765", + "timestamp": 1430505086, + "fee": 0, + "version": 0, + "tx_body_hash": "57150aecde96bde972183b9b0d7d27dda2c0179fb71630e92c27856d211335cd" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "57150aecde96bde972183b9b0d7d27dda2c0179fb71630e92c27856d211335cd", + "inner_hash": "8fa5487fbcb62adb17287cc80ea02f113f036035e486fe7a37a96a98d32582b8", + "sigs": [ + "ba2442a6f68ef825f2921dc135eca398904426f8d225eb122b210670d1b3bf1b2279abcd5cce5c18533dd8ca0286b23e2be9605f1cb6a5820bc1c783e95b833401" + ], + "inputs": [ + "6efc30b4c943ba4de8d2c89901a0b2a4d9a0ecf34713917eae37c6debca616ed" + ], + "outputs": [ + { + "uxid": "6c8b1ba9dc7e8900b42d55e9fbe6ea0e00d7eaccf67a7b66c0a2b771cf88ea05", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "724200.000000", + "hours": 0 + }, + { + "uxid": "456bcb0a2e57a5c20f2757c8fc7669af1f969bb5a57f89965210daf7107993aa", + "dst": "2jNYhHCuqQtU8kKkLf8ZZmKj6fywTL7fw2e", + "coins": "500.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 144, + "block_hash": "ad7799389d51ded0047284b4ab00fef54496c30b7ec21c5d22bb93431f5601a6", + "previous_block_hash": "a6f2d5edeea837fd64c910f9dd0f09cb28f689e014a4f602376aeb7bd36ebc37", + "timestamp": 1430505176, + "fee": 0, + "version": 0, + "tx_body_hash": "3bb9fc516dc2c522e28f99e6833253863c550547ce0e0a2dd963a0118b7a44a7" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "3bb9fc516dc2c522e28f99e6833253863c550547ce0e0a2dd963a0118b7a44a7", + "inner_hash": "111d56ae43b76740e905717e1e440f7611e922c50e83cf84b9edc51efa0271f2", + "sigs": [ + "18f2b86a6b51999f0fdc73d411c1db827730652ba2c098f1ff3f3dc0d409d6cf745d18d66bf25dae7e5a975e33f32e8d2b352c025a8e20ff15a68aaa60b1bbb700" + ], + "inputs": [ + "6c8b1ba9dc7e8900b42d55e9fbe6ea0e00d7eaccf67a7b66c0a2b771cf88ea05" + ], + "outputs": [ + { + "uxid": "59d44fefbe86ebae4118dee90609d6a1c08c36f259c65e3fad63b9e41c37bf0c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "723200.000000", + "hours": 0 + }, + { + "uxid": "d8ee5dc5cabcf179365345167d39977ae38a71e55cf357881258be32a45732bc", + "dst": "PCAtFnGVujpALXB1Gqb9CEMRMVXfVGu6iM", + "coins": "1000.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 145, + "block_hash": "cb389e98bed24ef05313da0275c4b8e4d8038442b06d49fafa6217531fbc9963", + "previous_block_hash": "ad7799389d51ded0047284b4ab00fef54496c30b7ec21c5d22bb93431f5601a6", + "timestamp": 1430550936, + "fee": 693939, + "version": 0, + "tx_body_hash": "f25c1a8a4ae37e8e2b4a0ec6f2553cf11c57fa77de9556cd227857ca270a0275" + }, + "body": { + "txns": [ + { + "length": 280, + "type": 0, + "txid": "f25c1a8a4ae37e8e2b4a0ec6f2553cf11c57fa77de9556cd227857ca270a0275", + "inner_hash": "c41100ec46608d1982d52cce518abf64c3853a0fff71349c001accff2204de2a", + "sigs": [ + "f5521c2b488dbbd7bd856275b903e176f61a5cc940855d502493b834755fa9037cdf484fef8b3c7950ee166fa1db7bacc5ed18f96b48e13f849c96d76463dd6800", + "f324406fc1ad817ad53cd6d7718b914172ed80828650a6c7a4bd69143dd6be5e681ad4cc897ba5f237bb40836368c580e3fc8231c80ad0f91bf1fd17df28f3b800" + ], + "inputs": [ + "c2fcd55cf6b73e863c96f7c2d6251069199bfd43688d2515f5c6631688aadcbc", + "06292fe8a2036c38f28c4d2f355d9e86e2b55b9d85f84613a64cf5c35d192b28" + ], + "outputs": [ + { + "uxid": "7afab03c823346ff8b00c29df6acc05841583d90dfd451ba09e66884a48e83f7", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "2000.000000", + "hours": 99134 + } + ] + } + ] + }, + "size": 280 + }, + { + "header": { + "seq": 146, + "block_hash": "2e2d340c74deff80c804908b46a355605fdad219e70839d2288dfaffd5d8ff3b", + "previous_block_hash": "cb389e98bed24ef05313da0275c4b8e4d8038442b06d49fafa6217531fbc9963", + "timestamp": 1430641376, + "fee": 6894507, + "version": 0, + "tx_body_hash": "5701965d326520f86335da87c6d1781fd49f1e66520b94e1783711eba724f482" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "5701965d326520f86335da87c6d1781fd49f1e66520b94e1783711eba724f482", + "inner_hash": "b792056beaf4a864c92e40ad63f9117fae52f4bfda9f88aa74f1255490c28ef6", + "sigs": [ + "1d98fdd17853e4265c17644a993fdbe5047418b7be96258fdf3c2b3e9c739b1d72c5acc23981dac2d478966834fafa1f98aab2402ce37fe818d3919cf490a5e900" + ], + "inputs": [ + "59d44fefbe86ebae4118dee90609d6a1c08c36f259c65e3fad63b9e41c37bf0c" + ], + "outputs": [ + { + "uxid": "5baf8c8ab1a01d80a6f496144815cf6bda5289b34055010e21324ea3950d3299", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "722200.000000", + "hours": 1149084 + }, + { + "uxid": "3dd82b00ef4d1e3b1c71be5f13c0c82b3e2b17af4a6b3eb4c966490f47866ccd", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "1000.000000", + "hours": 1149084 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 147, + "block_hash": "cf865cf260b6cf99c38563043300120213ddd03e385210e26c8b5ce8de212834", + "previous_block_hash": "2e2d340c74deff80c804908b46a355605fdad219e70839d2288dfaffd5d8ff3b", + "timestamp": 1430641536, + "fee": 861814, + "version": 0, + "tx_body_hash": "3fae944ef07d9bcba1bcbc8bde87da50a1232132074803f8442deb563ed2da51" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "3fae944ef07d9bcba1bcbc8bde87da50a1232132074803f8442deb563ed2da51", + "inner_hash": "aeceb514529fcf9de954599318d804301689818b8d5c90cdbd3bdf6ce3768c47", + "sigs": [ + "b6b837c14a65c31150c24f93ac60a9b49baeb963cf49a8d97e817883ca46a3763168988b69542c5a52b7501674271ded3888bccda558aad004902ab7b7010f5501" + ], + "inputs": [ + "5baf8c8ab1a01d80a6f496144815cf6bda5289b34055010e21324ea3950d3299" + ], + "outputs": [ + { + "uxid": "dd07d759d92e3d628a35c467dcd919dcae825a9fa79a14855714270dae08c0ce", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "721200.000000", + "hours": 143635 + }, + { + "uxid": "3ec30639c24acce65054bdb0d7ab0539199b64cabfcad83c2ed7f266fb8849a6", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "1000.000000", + "hours": 143635 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 148, + "block_hash": "89f6c33a3c65eadc28e5f84fb25422d21fd06f98ae60b824b8eccfddaaa24fb9", + "previous_block_hash": "cf865cf260b6cf99c38563043300120213ddd03e385210e26c8b5ce8de212834", + "timestamp": 1430642006, + "fee": 107727, + "version": 0, + "tx_body_hash": "79681167a7681edecb998e4a6dccdd0b7be45f163c8f6db23436517936269fb8" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "79681167a7681edecb998e4a6dccdd0b7be45f163c8f6db23436517936269fb8", + "inner_hash": "b06c37ee520387277d5c174e0fefb11dbbbee9c7ffe53715b7b5bab8f4693dfe", + "sigs": [ + "150ffd203e65dac9dbfcaffb384a9233a274e0ced5a0c2fc9a3127e7a85df894124a5c1f0501c60640dce7d7c09cd1783ed61461f285fa89e6227ba1b427e81d00" + ], + "inputs": [ + "dd07d759d92e3d628a35c467dcd919dcae825a9fa79a14855714270dae08c0ce" + ], + "outputs": [ + { + "uxid": "c739b518f3f700e810f81523d81b15f968fbf202f389ceaa9d9f303319a00275", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "720200.000000", + "hours": 17954 + }, + { + "uxid": "5233e499bd3e38ec4d4fa4d750290f25271c91b4903630d461be51f3c2c02ebd", + "dst": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "1000.000000", + "hours": 17954 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 149, + "block_hash": "4756bf71efc974ffaa99a1e06a9ca9cbe57784979cf270e72cd0e1955e777db5", + "previous_block_hash": "89f6c33a3c65eadc28e5f84fb25422d21fd06f98ae60b824b8eccfddaaa24fb9", + "timestamp": 1430642106, + "fee": 13466, + "version": 0, + "tx_body_hash": "b69536fbec9911da41e9d0c5ca73459f5e692ba155f8b72c0972792e9937a0fe" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "b69536fbec9911da41e9d0c5ca73459f5e692ba155f8b72c0972792e9937a0fe", + "inner_hash": "a6d1d92496583cefdf9a9d4e278cdeac9d8e7c31eec3061f0a91bc0116ced8e4", + "sigs": [ + "d98168e1f19fbabcf0ec9fdf21d36486a2d70b13624bd2ec765bc773a08c7f5c09c7df2664e3205c7555bd3c5cb64ca78f5f0a81613ef4a7d740348e0132caf901" + ], + "inputs": [ + "c739b518f3f700e810f81523d81b15f968fbf202f389ceaa9d9f303319a00275" + ], + "outputs": [ + { + "uxid": "95694746f813d018be7988aec666b52924a7815adabe9cbdac3f6ab0f51bd1ab", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "719200.000000", + "hours": 2244 + }, + { + "uxid": "eb57ec196fe95a09be19b62b6837d5d12f99568ad0e5e198f70f55083acd656e", + "dst": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "1000.000000", + "hours": 2244 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 150, + "block_hash": "746494f2e6aaa279cabea4cc0d46b1d95044e3f778fa26d39d21f5bf505cf2dc", + "previous_block_hash": "4756bf71efc974ffaa99a1e06a9ca9cbe57784979cf270e72cd0e1955e777db5", + "timestamp": 1430642306, + "fee": 1684, + "version": 0, + "tx_body_hash": "3e228564e3c187e22bd489857fdb1db7036021e19f688aad56cfee57d5e13ac5" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "3e228564e3c187e22bd489857fdb1db7036021e19f688aad56cfee57d5e13ac5", + "inner_hash": "9b4783f4cd11a81e945a2d09b699f76254caa3bbf22ce8533f3b9f179c207702", + "sigs": [ + "8bd5632a52c39ef9e9ce90ebabd119c8f93e32a5a5b6e8fe80c58163b4adcc040725f18321894b59c3546c8ce9fb182e1a4dd6a3b4405229635e3ac3d80213a700" + ], + "inputs": [ + "95694746f813d018be7988aec666b52924a7815adabe9cbdac3f6ab0f51bd1ab" + ], + "outputs": [ + { + "uxid": "be958e5c47415291a781648335db24e448e1f4f09aa5e9c3f055fbc906b574d7", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "719100.000000", + "hours": 280 + }, + { + "uxid": "0fa23085def7c1dbc95587d3f0f58cbc30b09e099ee1afa42d9120452777740a", + "dst": "sV8sVBgs11uHQtZK5MPbYem2iJ6Hehghv7", + "coins": "100.000000", + "hours": 280 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 151, + "block_hash": "8fe743db56634fe05a28ac3479ff4b35c2324f8fde1115b582f85e42eda95482", + "previous_block_hash": "746494f2e6aaa279cabea4cc0d46b1d95044e3f778fa26d39d21f5bf505cf2dc", + "timestamp": 1430642426, + "fee": 210, + "version": 0, + "tx_body_hash": "18607765c3fbd45eafa15d2d62ab3cbc7ba7bd80c42931aae4db75aa02898671" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "18607765c3fbd45eafa15d2d62ab3cbc7ba7bd80c42931aae4db75aa02898671", + "inner_hash": "dbbf7608b67e82363ced90b364a9b8c91029b336ef2b68182d986e399eacb41a", + "sigs": [ + "1972310d45a5baf10a8d929a132c725c51cdd19daae3baa640570aeadbb08ea700fbe46e6649289bec61065b05250b84872002f93634e6be81bae042cf80854b01" + ], + "inputs": [ + "be958e5c47415291a781648335db24e448e1f4f09aa5e9c3f055fbc906b574d7" + ], + "outputs": [ + { + "uxid": "68165429853e18e4414ec6c15630262ebcaa802ff1d83b6cbe116db51cb32066", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "718100.000000", + "hours": 35 + }, + { + "uxid": "efcb1b5f54bceb2d0124d2f89c47d071c2943fb228c2eee62bfddf6e1418cfc8", + "dst": "pMub1Pz3SLVaSwHoomgp5oDVxdkVxLkW6L", + "coins": "1000.000000", + "hours": 35 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 152, + "block_hash": "febfd5d251995c214b17c3d71972f7048a171982fe7f4f7abb6998b485b95cd1", + "previous_block_hash": "8fe743db56634fe05a28ac3479ff4b35c2324f8fde1115b582f85e42eda95482", + "timestamp": 1430642546, + "fee": 27, + "version": 0, + "tx_body_hash": "dc10e0565a14dfecda066577581f3e2d073de34ed3e911ed94413d38fc0a33d2" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "dc10e0565a14dfecda066577581f3e2d073de34ed3e911ed94413d38fc0a33d2", + "inner_hash": "821dfa6422bb093a528a2ec2bedd0566599cef3e2f4f91441f3073888e092832", + "sigs": [ + "1bb9e5e58a4a7dfc9a29bb22eabb2ee4dc6e40dd71b35962adf95d1c1208309727f070257b4591e959a4965cb8d22710233dd1f65c3b58ec47bb71e3d7ebd3e700" + ], + "inputs": [ + "68165429853e18e4414ec6c15630262ebcaa802ff1d83b6cbe116db51cb32066" + ], + "outputs": [ + { + "uxid": "46aeb9ea01bb04e28c55ef11f8e75434dbeee546f7e06bdef332c604590c48a1", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "717100.000000", + "hours": 4 + }, + { + "uxid": "c0548bf35c950a74c206d2c565e3bcac1f2abe170ebabdb7b74e439b642dd9fd", + "dst": "22WGCstVJGVyqnBuvGHt17L5aNNMpURvckd", + "coins": "1000.000000", + "hours": 4 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 153, + "block_hash": "84dbe57c5d58b0b412d23e66e47578df7be40779c3dfb55178e08d1aa7921df5", + "previous_block_hash": "febfd5d251995c214b17c3d71972f7048a171982fe7f4f7abb6998b485b95cd1", + "timestamp": 1430642816, + "fee": 4, + "version": 0, + "tx_body_hash": "b0d7ff47658b3e32d8457eb62f6df0c7caaf7feadcbf8cc0c713976026f0404c" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "b0d7ff47658b3e32d8457eb62f6df0c7caaf7feadcbf8cc0c713976026f0404c", + "inner_hash": "5154559a3393277ed8db279bf27a9572c9aeebe81f321d9fb07a5e4313005a90", + "sigs": [ + "a3edf9a3203fc696aefde6180d6c28fbaf3f4ee662ea90d82a93c3a8485593465f956713abfea8322b952d61969b29267f3826775638da77a1bf8567a40564e500" + ], + "inputs": [ + "46aeb9ea01bb04e28c55ef11f8e75434dbeee546f7e06bdef332c604590c48a1" + ], + "outputs": [ + { + "uxid": "598503902d2e6cb62d6f6478f09d8da05af6fd2da92b50825da3b7f74b2df34c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "716100.000000", + "hours": 0 + }, + { + "uxid": "045dc2e76321e37884588093083ce1b21be12f20ba1fa36f2a755b894229e3cf", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 154, + "block_hash": "54c4a6402aa7074c6857844f64e185401d674c4e6f15627b5c1a8fd3e0e568f1", + "previous_block_hash": "84dbe57c5d58b0b412d23e66e47578df7be40779c3dfb55178e08d1aa7921df5", + "timestamp": 1430643706, + "fee": 0, + "version": 0, + "tx_body_hash": "be0957035ed2ac444f67273fc5c1c6a39ee373f6f83d1604d0023742a8cd7e42" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "be0957035ed2ac444f67273fc5c1c6a39ee373f6f83d1604d0023742a8cd7e42", + "inner_hash": "957140523c9acc14a4f6b6a2fd05e70c58d2ed51f43b4e88b1406b398f4e7b2e", + "sigs": [ + "ee25ac881aa867780086df4716864a9ec524deeecc140faa60b9f9b87805816c22659836b5169f8eab0977a2337638b6ed7cd7c4a5d4ee3664e7ad28e91dd5b901" + ], + "inputs": [ + "598503902d2e6cb62d6f6478f09d8da05af6fd2da92b50825da3b7f74b2df34c" + ], + "outputs": [ + { + "uxid": "4b917e7bd3409c43f9f670f2846ce74f9288708df5aa1d9ae142f2411ce426da", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "715100.000000", + "hours": 0 + }, + { + "uxid": "dbc58940c2457359501c9906589c3d0a0ab7695b983ad79f2bcc087a675671f6", + "dst": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "1000.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 155, + "block_hash": "04d1b2a0a9e6ab9035cb8265cb2f75af6a5c31bb9a6f927f545be08a9b1379cf", + "previous_block_hash": "54c4a6402aa7074c6857844f64e185401d674c4e6f15627b5c1a8fd3e0e568f1", + "timestamp": 1430643906, + "fee": 0, + "version": 0, + "tx_body_hash": "c9582c8134fa64fdf08cd93d42035adcced3f16aa8ee1a1393e3fcd7c07aa40c" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "c9582c8134fa64fdf08cd93d42035adcced3f16aa8ee1a1393e3fcd7c07aa40c", + "inner_hash": "ecd6b0cab28125e3ec1fe23a046c259a7d608802da7d6397dbd8b410de03b94d", + "sigs": [ + "95e5d5d0856bf5387de8fbdae05f5953510fd85ec346e65fa5fb68984bdb1ab83aa7807e57f00354d934f84a0034ecf8aa74fe3b8e9e480021873f62827770ab01" + ], + "inputs": [ + "4b917e7bd3409c43f9f670f2846ce74f9288708df5aa1d9ae142f2411ce426da" + ], + "outputs": [ + { + "uxid": "d50a372f8f8cd1e0b10d847613b68ee760f195f5f212d6c59e86312c84dd07ac", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "714800.000000", + "hours": 0 + }, + { + "uxid": "25a72cc385c1cdabd0ffd7c141ae205d767f3d016c281f835b9f58f9325bd2a5", + "dst": "YLT4buWf3kYDV9QddnC5iXTj881Eniuvrx", + "coins": "300.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 156, + "block_hash": "ce3bfce7158586ef1c9080fd8e8dd2017ebb7ec2a9634b03cc2c359fa4cefba6", + "previous_block_hash": "04d1b2a0a9e6ab9035cb8265cb2f75af6a5c31bb9a6f927f545be08a9b1379cf", + "timestamp": 1430644036, + "fee": 0, + "version": 0, + "tx_body_hash": "29a883ef9dc67bc683014187b9865c827b5e2f8afd7bf6f3787483318063789e" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "29a883ef9dc67bc683014187b9865c827b5e2f8afd7bf6f3787483318063789e", + "inner_hash": "bf3a81668fb27c0f55d9ec33490cb4c91ec7636ec1f85761fadbfebc020a618a", + "sigs": [ + "970a22ba9a849caf00fc787a182dd67a3be794db9d66c691e9d904a78f90397542dee63e801c8b7f4077060fda76f0ac56a67b30865cc4634679f118abe04fc101" + ], + "inputs": [ + "d50a372f8f8cd1e0b10d847613b68ee760f195f5f212d6c59e86312c84dd07ac" + ], + "outputs": [ + { + "uxid": "896865f9b610f9fb69a741596b3ecb9fff3790d40476a9f7852831bdf477aaee", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "713800.000000", + "hours": 0 + }, + { + "uxid": "a34cfb6f175323917dfda72d58ddcfb86363cc43d22a0c6c3141810f5cac5aa6", + "dst": "tG8F6fuw3KEUStpa85EFQDMHVw9piTzZ2g", + "coins": "1000.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 157, + "block_hash": "05187ea3b0ba876a138a518ac4d1ff1100251701481d348e8c94864bb2b00435", + "previous_block_hash": "ce3bfce7158586ef1c9080fd8e8dd2017ebb7ec2a9634b03cc2c359fa4cefba6", + "timestamp": 1430673946, + "fee": 0, + "version": 0, + "tx_body_hash": "c3fd04cd27ea311b1a67d40cd3dbb2ea8ae2c6f6139620cb86be29f33ed99171" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "c3fd04cd27ea311b1a67d40cd3dbb2ea8ae2c6f6139620cb86be29f33ed99171", + "inner_hash": "5a975ee4a0f95c51a0a847b1d082bc4859a4b7904acbaece151c58e01f26a870", + "sigs": [ + "06c22eb6cb03468010ffbd2b54faa5835ea44cf552779b0adb09817db7e5494d49031d2e4b8994b670857b193766a1f430857955edd627f290f71f970407139b01" + ], + "inputs": [ + "896865f9b610f9fb69a741596b3ecb9fff3790d40476a9f7852831bdf477aaee" + ], + "outputs": [ + { + "uxid": "272d5bbd86a87796a20e3e4debc46a2076718800343bee4f72fc0217a98a10a3", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "695800.000000", + "hours": 0 + }, + { + "uxid": "25130a18aca13a37e4f4c08733cdda6a8629759f27ecba775999486c9deffa5e", + "dst": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "18000.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 158, + "block_hash": "3437e493d6e8a8a970b549eca7592ae46da9e243c75694de0e214f82740a0199", + "previous_block_hash": "05187ea3b0ba876a138a518ac4d1ff1100251701481d348e8c94864bb2b00435", + "timestamp": 1430674696, + "fee": 0, + "version": 0, + "tx_body_hash": "3d9f1aa1b6206275081cb9c26155f6261be1ef9c94b4eaadb1a7e8277a2099fa" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "3d9f1aa1b6206275081cb9c26155f6261be1ef9c94b4eaadb1a7e8277a2099fa", + "inner_hash": "ef7915c2cc32cfd043bf60533a563a89ee68a7b2f88e9e1e55e6a54494bde805", + "sigs": [ + "6d2993d471d4b27d4b0c2beef286dab7e38013853926fef032a8a10d9161fbff59b4eba58d7578182f9f1e79ee763ab409aec46748351b0a7d1a020a3fe3824100" + ], + "inputs": [ + "272d5bbd86a87796a20e3e4debc46a2076718800343bee4f72fc0217a98a10a3" + ], + "outputs": [ + { + "uxid": "60906201d3e7c67ddb976972460b2b8ed093e1f6720a784cbaea376ca13e6cef", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "670800.000000", + "hours": 0 + }, + { + "uxid": "c61f27a2247831679d8df293bf9351b16e8429778c875be2cb64224bcb842ed4", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "25000.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 159, + "block_hash": "ff9538e4db5d5e121eca8a500c56842ce413d9a28187afeea2057bc16daf1eee", + "previous_block_hash": "3437e493d6e8a8a970b549eca7592ae46da9e243c75694de0e214f82740a0199", + "timestamp": 1430715196, + "fee": 0, + "version": 0, + "tx_body_hash": "d720ca0efb19b964f481724e5d3f932841e9e75a69b998baf4b575cf3298cb87" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "d720ca0efb19b964f481724e5d3f932841e9e75a69b998baf4b575cf3298cb87", + "inner_hash": "b35da2487dfd396bc01b5296fab691557760886b23ba5bd18e52808549dbfef2", + "sigs": [ + "9cb0a128d17a9c42f3e4e44f4da9106ef11407da8d9a434745add4c5f7a8e379325976d8c2222c3328acdc2c6ca597fab4fae292c5529e07c55919ce0e0320ca01" + ], + "inputs": [ + "60906201d3e7c67ddb976972460b2b8ed093e1f6720a784cbaea376ca13e6cef" + ], + "outputs": [ + { + "uxid": "4912e9dbbb5a4cc7472c27b0212ab443e7b5499207b10666a66257005e182714", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "664464.000000", + "hours": 0 + }, + { + "uxid": "b1e5c694c30326cda3df2e634723999befbcbb141415e9a36bdbf18d7bea9870", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "6336.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 160, + "block_hash": "a1c8c6cb45bb12cb563b9554d71c9fb8fe9c4d6e902b664d2a5ca6007256d75a", + "previous_block_hash": "ff9538e4db5d5e121eca8a500c56842ce413d9a28187afeea2057bc16daf1eee", + "timestamp": 1430784172, + "fee": 0, + "version": 0, + "tx_body_hash": "0e8e352b1f2cd419bca619918ce6d5ec1eac0ba7252d76eef5d9d8f8186f737a" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "0e8e352b1f2cd419bca619918ce6d5ec1eac0ba7252d76eef5d9d8f8186f737a", + "inner_hash": "49571d7e7c6b3e473b938f1cf4748c67f9301ca710f26ee56d0d8e231cb4515f", + "sigs": [ + "8d4556a22c5fb84792cc88bfb47f795e6ba9fc211933776acd89b6da9aff71ea7803bf5b0e1d9afef2f3f77bbc4a7633c459ab9cb11a06723c4cad570717edfd00" + ], + "inputs": [ + "4912e9dbbb5a4cc7472c27b0212ab443e7b5499207b10666a66257005e182714" + ], + "outputs": [ + { + "uxid": "659bac1636b64087ad5d3cb0ae78c52f28ad920016ec67e08415a537e0343072", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "663464.000000", + "hours": 0 + }, + { + "uxid": "ea18f151bbdb611f73596b61ebb0546b9e91281ccb0bbe07a18e7fa69142bb5b", + "dst": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "1000.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 161, + "block_hash": "fe3bc8a9bd17eb6583d9f4e806c20c8d8f89382df32f6a3b6bb8de6a2faf1ee6", + "previous_block_hash": "a1c8c6cb45bb12cb563b9554d71c9fb8fe9c4d6e902b664d2a5ca6007256d75a", + "timestamp": 1430784312, + "fee": 0, + "version": 0, + "tx_body_hash": "d5091ca65ff61998dfb4535a7927fb736abf2a81140a11322dcf8226de27cf92" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "d5091ca65ff61998dfb4535a7927fb736abf2a81140a11322dcf8226de27cf92", + "inner_hash": "7a000aaa5751b65d3bccd4d307b7b8602aae539971de3af3baa3e126d52a54f2", + "sigs": [ + "693d3153218a69e2ef1e676d6c124dd7fab7ee312d41fd9dbe005a0e681a8b052708a9559fc08e8173e1ef83e45f838742e4a1af765ea7f0fddb38cee2cced8000" + ], + "inputs": [ + "659bac1636b64087ad5d3cb0ae78c52f28ad920016ec67e08415a537e0343072" + ], + "outputs": [ + { + "uxid": "97f64c3c636e5fc997e277cd48644055ef51045ed9c473c05dd6e699872a6c3d", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "662464.000000", + "hours": 0 + }, + { + "uxid": "0c19e689e0e34639c71b0136ce336121b042b6d4ac185ac1f9e94ec7535e781f", + "dst": "XnKU1htBL5wFSMX8oytZBsBMeaBSbVNivT", + "coins": "1000.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 162, + "block_hash": "2aaa458d90b3377fd219aef75821b4c8dbd61dafea93deb70ec6282adb08cf7c", + "previous_block_hash": "fe3bc8a9bd17eb6583d9f4e806c20c8d8f89382df32f6a3b6bb8de6a2faf1ee6", + "timestamp": 1430784372, + "fee": 0, + "version": 0, + "tx_body_hash": "30e66ff45cfb145eb465e2ebdef0bb10005138bc1727c83888785b04d548e85b" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "30e66ff45cfb145eb465e2ebdef0bb10005138bc1727c83888785b04d548e85b", + "inner_hash": "c87fb6e81fc1d99b16958d4626aa0e5ec4033443230bbc8b35e2882c078bf868", + "sigs": [ + "b4feadec09b450b99795044931a94f7b8549bf876db7c62132df60056dd0c88e3821d1656407b1572fbb04eb71f6de57db43c997501989f44042d04fc3afdf4201" + ], + "inputs": [ + "97f64c3c636e5fc997e277cd48644055ef51045ed9c473c05dd6e699872a6c3d" + ], + "outputs": [ + { + "uxid": "122b7a9a61ee04e071002d74ffb26b12ed7952ff9a138b5437f990f4678cc2e5", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "662314.000000", + "hours": 0 + }, + { + "uxid": "db7a63750db787959a9e0d2d6be9a1ba8bb3d6015bae2353a27ae9eb55b39d22", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "150.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 163, + "block_hash": "64a69161afc94dc8abf04dae5e1db3dd37a1bc6d92721301262e3b5b97b2ed7e", + "previous_block_hash": "2aaa458d90b3377fd219aef75821b4c8dbd61dafea93deb70ec6282adb08cf7c", + "timestamp": 1430784932, + "fee": 0, + "version": 0, + "tx_body_hash": "ec79854fade530d84099d5619864a8e1e8ec9d27a086917a239500cada43c6e8" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "ec79854fade530d84099d5619864a8e1e8ec9d27a086917a239500cada43c6e8", + "inner_hash": "ed6a317c8ea3624337463c1cca78bdcf87bf80dace1bccad050d27a49d3ea1d2", + "sigs": [ + "c0548625b3bc88308155f598c3304a124632c0faef8005b8f9306b229b632b253c5e163a02409ba40b01560f77a6acde2ccc48cb0efedd4feb68ecbd925917fa00" + ], + "inputs": [ + "122b7a9a61ee04e071002d74ffb26b12ed7952ff9a138b5437f990f4678cc2e5" + ], + "outputs": [ + { + "uxid": "c07593d4329f82da243e4bbd7430e4b10e7b35f9ce0a3718d0e6d25d20b4939b", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "661314.000000", + "hours": 0 + }, + { + "uxid": "250543215c71a1a9ab7740fff25c3bf9695fcde10bceba3717aef9d0f6dd40d8", + "dst": "2iJPqYVuQvFoG1pim4bjoyxWK8uwGmznWaV", + "coins": "1000.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 164, + "block_hash": "da48eaee8f9f968a7a13d3a480eba216342593079cc3877bd08b7121589d1e09", + "previous_block_hash": "64a69161afc94dc8abf04dae5e1db3dd37a1bc6d92721301262e3b5b97b2ed7e", + "timestamp": 1430790052, + "fee": 0, + "version": 0, + "tx_body_hash": "743bf1eede313145824db1c4f8d683b74ab5e0bc825082d986308b73fd52f1d7" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "743bf1eede313145824db1c4f8d683b74ab5e0bc825082d986308b73fd52f1d7", + "inner_hash": "a0427c37a8ca9f8205630cc8d4c6d95200413d3397a0de9bf015763107b8fc80", + "sigs": [ + "dc400e921f7f94da5f353846f1340e039b4527fff121a56579390fb4fa4154634e3b3aad44ddf0aaebea5abc1dc5ba2a00540fd2888ed5c4ab7b20c51255086a01" + ], + "inputs": [ + "c07593d4329f82da243e4bbd7430e4b10e7b35f9ce0a3718d0e6d25d20b4939b" + ], + "outputs": [ + { + "uxid": "4d52106e41dba0099549fd81fb8feb6915225b0125c53faa0f7c578ea78f213a", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "660314.000000", + "hours": 0 + }, + { + "uxid": "bc513a68461d5c401e65a500baf7dfa163735ef63b817bb7b73c4139d5c29d18", + "dst": "212mwY3Dmey6vwnWpiph99zzCmopXTqeVEN", + "coins": "1000.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 165, + "block_hash": "f2df5ef2ee10bb6c302f205d97bde35caa2527db769d87ea02d3892259f3daf2", + "previous_block_hash": "da48eaee8f9f968a7a13d3a480eba216342593079cc3877bd08b7121589d1e09", + "timestamp": 1430790152, + "fee": 0, + "version": 0, + "tx_body_hash": "3991a257eee265481e713917a3a9c15756f61175bcfc7acfdbe84158e43fd5e6" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "3991a257eee265481e713917a3a9c15756f61175bcfc7acfdbe84158e43fd5e6", + "inner_hash": "dea502923be2dd8b4c48eb7ed2b146793ef840e9749d129bf7f6bda0fdcc43de", + "sigs": [ + "dbb23f6d22438c10b98b437fe2ee4d7c5513aba7b0b6141648ac22f07e3768fc5d8d80f9dbcaa95edf925668b6018793a01ca70cf7b48d7c7deac106557ebf7f00" + ], + "inputs": [ + "4d52106e41dba0099549fd81fb8feb6915225b0125c53faa0f7c578ea78f213a" + ], + "outputs": [ + { + "uxid": "fef9dd3b633274743099e607d9229717a001d6de6a4031479cc30d31d65e8396", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "659314.000000", + "hours": 0 + }, + { + "uxid": "5954742a6ca4e3e872d12d4a93436451ad52e6d25e5ac28371e308b2d7ce75a3", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 166, + "block_hash": "7b56941017940ca11f48cb71f0830f3aa06489942d118e9e2782ea040568c1c3", + "previous_block_hash": "f2df5ef2ee10bb6c302f205d97bde35caa2527db769d87ea02d3892259f3daf2", + "timestamp": 1430791622, + "fee": 2964031, + "version": 0, + "tx_body_hash": "41589644ea3a344fc616bec0058cf916b8efa5da7c3539241244827bd7e19811" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "41589644ea3a344fc616bec0058cf916b8efa5da7c3539241244827bd7e19811", + "inner_hash": "140c70de73812b1da58d3df6c62696a0ced32ac1ea0818c3c53da4968407eae4", + "sigs": [ + "c9198240191df5c8b107cb7b6fcb5f4a572d8ae2ac85dd0def832df2f9cd7d806594c1ad2bf2279507de1b9f1e7cb067a4c5562dedf3e40c29fb23387e28277c00", + "cd4e83142b6592dae1d61f92a82b0e17ae43a34207c69e1970cc5e8e8badc06f4067f36da90a142e963d5e35228c0f405482e38064c69eb5d882b6d619109baf00" + ], + "inputs": [ + "37cc43693a024f9122f5e1fcabeab5d53a4d58590df30a934fc7bc545936e049", + "903a1bca9b81ed76179cbcffe6e3c8eff269c94826148286f7be0b6038ee4ccb" + ], + "outputs": [ + { + "uxid": "074645413ab2aae818e657f6f36420447a872e7cdd2ff64324b486be4d4d1edd", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "29100.000000", + "hours": 494004 + }, + { + "uxid": "b945bacb354173c33bc41503f50c29ad5d1d333ecab66b0c70d0ed9e6eec7f3a", + "dst": "2kN23viEG7Kn3Utuwz9voM4Z8ohLR9Y8L2v", + "coins": "500.000000", + "hours": 494004 + } + ] + } + ] + }, + "size": 317 + }, + { + "header": { + "seq": 167, + "block_hash": "0f3d6d37388d2a11c7f3532b279d73e01b84987a6a270e920d8f4c30e15ad4c4", + "previous_block_hash": "7b56941017940ca11f48cb71f0830f3aa06489942d118e9e2782ea040568c1c3", + "timestamp": 1430791902, + "fee": 201915, + "version": 0, + "tx_body_hash": "b29222c08f10b8bc4ea18981519a3b0e02b9c9cec63ee28d9ffa2efcaf2a8e5a" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "b29222c08f10b8bc4ea18981519a3b0e02b9c9cec63ee28d9ffa2efcaf2a8e5a", + "inner_hash": "61c38575be160010335d96cf7c6ef0608cdb7b85079f2518532d00b6f42f13d0", + "sigs": [ + "cb5c75671164755516cbf4d94e2288d56985b4d3113538bc818d1aa1c944a76b1beae28964c8e596ab0cd252cda6cf2a5468cbd0dbeff21e35609b5a6577eb0a01" + ], + "inputs": [ + "fef9dd3b633274743099e607d9229717a001d6de6a4031479cc30d31d65e8396" + ], + "outputs": [ + { + "uxid": "21f0fb666dca05d7a43ab26a378f7f7eaedfacde22fa047ca72857e9509cc748", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "659214.000000", + "hours": 33652 + }, + { + "uxid": "0b5e5259c276ac949de97062492ea6dc93ae6215c8dd1615862907e3c3ae9cf0", + "dst": "2A2YC8kxWnUDbscpzZ6UPfNAmx5ddKBeYNs", + "coins": "100.000000", + "hours": 33652 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 168, + "block_hash": "28b685d4f92a59a055f2e8154da0650a81e912616e90ca21d6949a3cd75634e4", + "previous_block_hash": "0f3d6d37388d2a11c7f3532b279d73e01b84987a6a270e920d8f4c30e15ad4c4", + "timestamp": 1430792072, + "fee": 25240, + "version": 0, + "tx_body_hash": "50fc81b0ba25669105a169a969459ccdb10278051b604a3f91467c2528c83652" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "50fc81b0ba25669105a169a969459ccdb10278051b604a3f91467c2528c83652", + "inner_hash": "c356824e25deeecd3f531eb56a26d5875b7b81743e9c8f3d6beff5f634bf5e3f", + "sigs": [ + "ac3b968f82649fac3822db1af5c0be17fc20cf86e091362b1584a2b66c033b10541f70fb6f55d8e1b3c57161ce37412a52d2009dd8abc9ef7ab038b19d8d644401" + ], + "inputs": [ + "21f0fb666dca05d7a43ab26a378f7f7eaedfacde22fa047ca72857e9509cc748" + ], + "outputs": [ + { + "uxid": "6b3a0cab1d9ad6fd011a3bac5e6ff4e3f7903bce911dc7fe83926eae557c34c3", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "658214.000000", + "hours": 4206 + }, + { + "uxid": "a02148f770788851a35fb90567510044e37f8db930deab7a2b584af67c8efb2f", + "dst": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "1000.000000", + "hours": 4206 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 169, + "block_hash": "e266c8beae9f650a3f1cdfa611d9016d99e2ba4b4a67b5d6c4629bc6e66f5f9e", + "previous_block_hash": "28b685d4f92a59a055f2e8154da0650a81e912616e90ca21d6949a3cd75634e4", + "timestamp": 1430836392, + "fee": 421, + "version": 0, + "tx_body_hash": "acfb61f7ca39d5dfe33e8ed66f73ab181da0a3206d457bf055dcc4b9731a3ec8" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "acfb61f7ca39d5dfe33e8ed66f73ab181da0a3206d457bf055dcc4b9731a3ec8", + "inner_hash": "85c5d3963f2dce44e99500967e8b8b1943839537fb198186131459a3022d161a", + "sigs": [ + "473114dcb42e2091f3d0396ecd16ee2685e0a6074c7de218cbd7e7c4335d89146455bc6c259c77f40d4af769e241aba1e3a102c5755946b1783c817ffafa67d101" + ], + "inputs": [ + "bc513a68461d5c401e65a500baf7dfa163735ef63b817bb7b73c4139d5c29d18" + ], + "outputs": [ + { + "uxid": "639e69c4a223b5082b9274caf3e56ecff2ab55cd90cac94fdb4c383a1013ba1f", + "dst": "212mwY3Dmey6vwnWpiph99zzCmopXTqeVEN", + "coins": "990.000000", + "hours": 70 + }, + { + "uxid": "bffea1990d71311b695b2d343b9f09a216b7a8257c1cdcb01b2ab9459e1490e3", + "dst": "jtuSERvfzN3kUYekg8LemCQ5kF5g97N8ZL", + "coins": "10.000000", + "hours": 70 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 170, + "block_hash": "e854e12b5ed0bcb26b2348448fa2af1cd30cf371763fa91019d62a950bf36c95", + "previous_block_hash": "e266c8beae9f650a3f1cdfa611d9016d99e2ba4b4a67b5d6c4629bc6e66f5f9e", + "timestamp": 1430836422, + "fee": 62, + "version": 0, + "tx_body_hash": "95d847102c01d071982e67b8e7dfae50715b0fc0179d33f4b050974e634905e1" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "95d847102c01d071982e67b8e7dfae50715b0fc0179d33f4b050974e634905e1", + "inner_hash": "c13b7e1722f3616f61948ed42382d4ed41164e7e2110d2d60bf86725f32531de", + "sigs": [ + "cb7da0e16b83f1717614c7f160580ac0048a4276682ac4046c3324ba6f4e24901d162f7ec81a8e5cdf3676df6ace9a73c77e4d3ab7f03a4f0272c75f3715665001" + ], + "inputs": [ + "bffea1990d71311b695b2d343b9f09a216b7a8257c1cdcb01b2ab9459e1490e3" + ], + "outputs": [ + { + "uxid": "be081639ea8da63d8542707e9ea9625f6afc97da132f43ed061645c359bb1e65", + "dst": "212mwY3Dmey6vwnWpiph99zzCmopXTqeVEN", + "coins": "10.000000", + "hours": 8 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 171, + "block_hash": "a58ab1c90b6564043f375c48413800c33ff05c9eef017250672ea5a0dd11bf17", + "previous_block_hash": "e854e12b5ed0bcb26b2348448fa2af1cd30cf371763fa91019d62a950bf36c95", + "timestamp": 1430870562, + "fee": 6084778, + "version": 0, + "tx_body_hash": "fb495093f2f4e5c6555c50150ea60c0a6f430e53aa971ebb3e2b5412866a1f06" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "fb495093f2f4e5c6555c50150ea60c0a6f430e53aa971ebb3e2b5412866a1f06", + "inner_hash": "05596340e51ad628080101c8e92a60f27e0f5ab509e892f9b65a0988b1575ddb", + "sigs": [ + "068a56e916267a1756d9348bb965f3ed2dcba956fe4c626cd4836921dd836f7c0fa923d6451d5c87aa2eab528ff19ec332434bd12e197eeafbf0896e84940c4401" + ], + "inputs": [ + "6b3a0cab1d9ad6fd011a3bac5e6ff4e3f7903bce911dc7fe83926eae557c34c3" + ], + "outputs": [ + { + "uxid": "372703f8109295f0f58fbee58795979e10dd887869f4fc1da4881ce8a3c0aeb4", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "647750.000000", + "hours": 1014129 + }, + { + "uxid": "a35044035cce79cb988c757dcaf5d9a065957c0fbc1a3559d08ed46831504fc2", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "10464.000000", + "hours": 1014129 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 172, + "block_hash": "78ae70c3a0f403b6b5d14dab13e3d29f151a0e279a8a4818fa0fe9becb639dc2", + "previous_block_hash": "a58ab1c90b6564043f375c48413800c33ff05c9eef017250672ea5a0dd11bf17", + "timestamp": 1430870592, + "fee": 849078, + "version": 0, + "tx_body_hash": "7abef7e4080bf2cbe9f147d7c9cbe4c950b38f8477d304466c938b937cd379ba" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "7abef7e4080bf2cbe9f147d7c9cbe4c950b38f8477d304466c938b937cd379ba", + "inner_hash": "f28366f7590220cd42faaf9ea041c8ca4460707e0dbfe1d3ac67da8d9dda268c", + "sigs": [ + "e9ff8a0ce6c5e8b09936e031ef8cc6a0f3f3ed0a5360dcf2f649db3a2da958441c20916b27d1ad2ea8415679755b36967074e20feab7271528cb6b3266268ec201" + ], + "inputs": [ + "074645413ab2aae818e657f6f36420447a872e7cdd2ff64324b486be4d4d1edd" + ], + "outputs": [ + { + "uxid": "b1b832a911d45aeaab73676caad794fe2ab99d423f80c4ff58cfb269656b03dd", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "28100.000000", + "hours": 141512 + }, + { + "uxid": "c31c199a54ecbea5e57bf7f5e73d231a09e11713dd0ee70e340e4b0a9c9f9fdc", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 141512 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 173, + "block_hash": "55b1be7e73d1ec35d71c8bc6f62e1788ded35752b39188c98cab6c9347f77ead", + "previous_block_hash": "78ae70c3a0f403b6b5d14dab13e3d29f151a0e279a8a4818fa0fe9becb639dc2", + "timestamp": 1430871512, + "fee": 764646, + "version": 0, + "tx_body_hash": "a7665cec98224150968ec1ef9ef2d6b3175c9de8f9f8c7bc786b30cc74997c57" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "a7665cec98224150968ec1ef9ef2d6b3175c9de8f9f8c7bc786b30cc74997c57", + "inner_hash": "5bd2503c4ff78e7c9d182bfe5e62e54f1bfb944bb526d97b272021d8ccfa9359", + "sigs": [ + "dbd1e8763cb9681aeb96edc0c8483decee30b670778bec88da249f9d4f2201c330d2a16349608ba51eb8a387805dce9618810c4e6fd7af548cccee7d2c9c5dd201" + ], + "inputs": [ + "372703f8109295f0f58fbee58795979e10dd887869f4fc1da4881ce8a3c0aeb4" + ], + "outputs": [ + { + "uxid": "14027340f6e1d98bba3f7f5f3b50e3588f8a19e4d021db944e7a28b2643640e1", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "635750.000000", + "hours": 127440 + }, + { + "uxid": "793f3f0e41c9d1de391d864792b79ed8c24dde5ff84a73c161d660a73ed70c90", + "dst": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "12000.000000", + "hours": 127440 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 174, + "block_hash": "0a4f2c0ea33c75ae7af4eb743935f53f0953e26fec3bf7128f0a88fdb879f497", + "previous_block_hash": "55b1be7e73d1ec35d71c8bc6f62e1788ded35752b39188c98cab6c9347f77ead", + "timestamp": 1430871622, + "fee": 111521, + "version": 0, + "tx_body_hash": "ad44a8027a825e82a20cdd910d9bd41d74025601b7668c80655e9b45afb8bb93" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "ad44a8027a825e82a20cdd910d9bd41d74025601b7668c80655e9b45afb8bb93", + "inner_hash": "af11c711190f9b52114dd31dcc4dbcdff3f169c6ce2559ff5baf14032e057145", + "sigs": [ + "fd019f0cc492d5b6ba1bab0e3c77659b0e4773ea9b7dbe9808ea1392bfcd41e20aec3438076cb6ae4104bb6730b47ad1f1cfe878155f984ee380da10991b2a5601" + ], + "inputs": [ + "b1b832a911d45aeaab73676caad794fe2ab99d423f80c4ff58cfb269656b03dd" + ], + "outputs": [ + { + "uxid": "c39acd3494113650c1a6a7809287af7b12a78bbd97126d4585dd1715e2cb5a66", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "23100.000000", + "hours": 18586 + }, + { + "uxid": "2d3f7890d11efedd4cee3a7ab4a5cbc56d2c8df4f02124bdad9ec839400053ba", + "dst": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "5000.000000", + "hours": 18586 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 175, + "block_hash": "218d3fadc712eec96e1ca2f68adbb468092c597f269fb3a3702b77c2b80665af", + "previous_block_hash": "0a4f2c0ea33c75ae7af4eb743935f53f0953e26fec3bf7128f0a88fdb879f497", + "timestamp": 1430908702, + "fee": 110149, + "version": 0, + "tx_body_hash": "9364ed6cfcc289df74dc6bac1993f7ab3441b898cb3f06918198d2476c83dbac" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "9364ed6cfcc289df74dc6bac1993f7ab3441b898cb3f06918198d2476c83dbac", + "inner_hash": "a55922b0495d39c8e9db70ac9aca99266d5a7f3644106b4b5468345d955acf41", + "sigs": [ + "cecae09b7925e9f6db1ccf5ef9a93687a43bbeaefe2888abcc07411c71f850c80c05ed573abd67bf9f0e8a096a1aba8187547e3d062e5ed147ac51961cc3559701" + ], + "inputs": [ + "14027340f6e1d98bba3f7f5f3b50e3588f8a19e4d021db944e7a28b2643640e1" + ], + "outputs": [ + { + "uxid": "8e55f10a0615a0737e6906132e09ac08a206971ba4b656f004acc7f4b7889bc8", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "625750.000000", + "hours": 18358 + }, + { + "uxid": "d91e07318227651129b715d2db448ae245b442acd08c8b4525a934f0e87efce9", + "dst": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "10000.000000", + "hours": 18358 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 176, + "block_hash": "7ca9af9ed16449652da34d3ab49f3d6fc6be8cc1af3d31be81043e684f14de37", + "previous_block_hash": "218d3fadc712eec96e1ca2f68adbb468092c597f269fb3a3702b77c2b80665af", + "timestamp": 1431162639, + "fee": 2711954, + "version": 0, + "tx_body_hash": "a17cf54c20ac7ec6e1362acf24c5e5589ed8b49bdba791a87430de160a473913" + }, + "body": { + "txns": [ + { + "length": 1481, + "type": 0, + "txid": "a17cf54c20ac7ec6e1362acf24c5e5589ed8b49bdba791a87430de160a473913", + "inner_hash": "71127fa12d9ca390715586fe313b4e130b24614e0eaec276dc2dd25b7228c39f", + "sigs": [ + "95855ae7d279d4797bafe542fd1803eb6a89533f29ae0d89d3f51256feeacc343dbd3da0d8d104e436c04643c72b5dab7a74634befc942ef9d96ded3e235ab4b01", + "55222337fce2733e7a3f92bf808da32759f33327c616828bdb0a350e5d3567b34fdef1a55340d7f857c4daed9735ad64394697ad941fc883f9365693991299a500", + "950281f4acb6cb8176929740aa90fa8729ac5687ef6500bc087429c43f5414e319c26142fca51c0ed9e5d434a6c83d2e3c837d7c9213398ae2104429d03f35dc01", + "c41f7425ecb51359a1da6ccf090a565beed72c891c49a8c81939a46f914c55de5766e99f1519302bfeef2224f856c859391d1f531004ee088083259fca82b17400", + "ed7085f8ceb26060851a71f665387d7c44774c6b9ddfc8d3a06e1fe50168d48510f63f5b6a0998c2a30d24bf37f1c6030035ef8df6efe6dfdcae38beeaf3a5a701", + "a88fefcc8f2809a288a275aac579f340c5138f8bfedf02964d4e3ed0492ee54e696de7e6f7f0b3f315461fb5df4f8e5e5fc7a5339ca6899c6ca7b122c54c90db00", + "ad9b245807ab8c5c5a713ab7e3bfbbba8af032bc4915c1824d95e95827d95be473eb1f6952ee489ddad59049364220bab124182251142b849235ed552404ba3d01", + "7a403c671ec5a6a6622ff63e4d482d51fda747cbe85cf8ef642aa840154be435409df707aa81a3c4e553e0c2c250a452e8416dc38697c35f830de27924a052fc01", + "06b5966aa7c7dfd425e773aafd46fdf29b41734b73f84ef1cd8941e617e0d6245e99f6d8be8b9609686b0faee4923b8bc149078ebb18c1b2e8f6318c846675e801", + "c5634bef581b26d600ed6f4cea47f402633e74ab8f5497b2c2ca69a01e3dfeda0a38308a4a96cfe58857e4c0c2311ecf4e3f4eef69aa771a1db89c360892492200", + "4807a114ffe9e44797843f76c74e81d72324885a67d560c4e1d6e4cadd271b637176a932dc045844b52a4c92f6892ebb0265838366827fd0e0b6b7e20e4e1ff501", + "bc1ca4e3d0afd920bad8c4ef8a6b847c71f75ae8ca913ddb5d976dca42af12ea3ec3a2e59ec8f57fe4fb41af3f439387272ea847240ee89468c4d808303cf9be00", + "366f0f68a36bccd22e829eb05f960a8015466bb5eeb8e553dd37b52ab624d1756f68501db2a8d14fda04d1adf3239a9785ec142c14c5bb34cb8d47629c191dc901", + "146eed504f7acbbece951bfea4eb426e80852e3dc6ae9c8a68480fdf4e07ddd73a5709e2f9df0154380d837a5ff66582c07a0fc27d0df4e7d6d28bbcb90e3c8d00" + ], + "inputs": [ + "04c0cd4cbee1e5414791d9e0b9ae4f889bc52d253b5f70b09fbc32c88fb415ae", + "f3034ffe54e869315f8e11801d3e755352fb75b878b24313302273c1b7ea62cb", + "3538af0016ec0f4d0e943c5d49daf280b416701fde4040fa72710c0ca1b5b559", + "0560bae3917bca7581af9b6c5a58e395c701ce9ed0241dac2de8a3e93c0b839b", + "3fe7d61ffa993e00200ce6be7ba347c603032ac3f8c4ace07767e630fe94d76c", + "2a09e97f7725a35af1357842206875a023252da4ebfce129eaf4cb87119cfd41", + "617b584bb9e6b1d80daac915fb3079b22a326777d1515a40e7b7eddf427f4099", + "18293d947aadf89d9e57d18fa01408867a9abe267504edbdabf8c2a57d9a6323", + "045dc2e76321e37884588093083ce1b21be12f20ba1fa36f2a755b894229e3cf", + "b1e5c694c30326cda3df2e634723999befbcbb141415e9a36bdbf18d7bea9870", + "db7a63750db787959a9e0d2d6be9a1ba8bb3d6015bae2353a27ae9eb55b39d22", + "5954742a6ca4e3e872d12d4a93436451ad52e6d25e5ac28371e308b2d7ce75a3", + "a35044035cce79cb988c757dcaf5d9a065957c0fbc1a3559d08ed46831504fc2", + "c31c199a54ecbea5e57bf7f5e73d231a09e11713dd0ee70e340e4b0a9c9f9fdc" + ], + "outputs": [ + { + "uxid": "d6735d3ad70dbf553048faf1c529d047ab12282d04e320bd67c915779fc4e3fd", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "24950.000000", + "hours": 451992 + }, + { + "uxid": "a5f3c513b5a01dc5e943a5cae91f54b54cde55e984a9480d68d690f40dfb7914", + "dst": "v4qF7Ceq276tZpTS3HKsZbDguMAcAGAG1q", + "coins": "5.000000", + "hours": 451992 + } + ] + } + ] + }, + "size": 1481 + }, + { + "header": { + "seq": 177, + "block_hash": "3e8ac6b4c715bd92db824163770e28ee1b5362d449241f77719f13614b3c320a", + "previous_block_hash": "7ca9af9ed16449652da34d3ab49f3d6fc6be8cc1af3d31be81043e684f14de37", + "timestamp": 1431162689, + "fee": 338994, + "version": 0, + "tx_body_hash": "e4850021fb706f2b7a94fec9ade3c166823dcd980dc3954437471d98fb9d2280" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "e4850021fb706f2b7a94fec9ade3c166823dcd980dc3954437471d98fb9d2280", + "inner_hash": "1a07c8a17c429aec5c0725dc6e4891f4e304a483211f99b847a6820e410b56ef", + "sigs": [ + "e7d92fbcc6716645c2c28a66ac289453b2967c620e105c7699cee251aa6916227057789d10889689a3f3c743dadfea09e1cf747cc7b7ccb5381fe1af1069e06201" + ], + "inputs": [ + "d6735d3ad70dbf553048faf1c529d047ab12282d04e320bd67c915779fc4e3fd" + ], + "outputs": [ + { + "uxid": "ec439e7c7d8517824885ae1520fa5b19f991d7ade3a12209c0e87f6ad1d30229", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "4950.000000", + "hours": 56499 + }, + { + "uxid": "f5e7796297b7201b1ea87736fadddc7b451f9ed7d4529cfe9f03082e80917628", + "dst": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "20000.000000", + "hours": 56499 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 178, + "block_hash": "bb943b37f989326b057903ccc6eb1fa58a5d35e38706ae1ba81e0a6100bacf26", + "previous_block_hash": "3e8ac6b4c715bd92db824163770e28ee1b5362d449241f77719f13614b3c320a", + "timestamp": 1431162729, + "fee": 395493, + "version": 0, + "tx_body_hash": "ecd101a6af263973ab75f87a3116231e6fe84a2281d0001c9aa2d7195545e78e" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "ecd101a6af263973ab75f87a3116231e6fe84a2281d0001c9aa2d7195545e78e", + "inner_hash": "41bc4ea9ec8214b461a5377d0ae0da38831bc972b8dd54becaf195b5943dd55e", + "sigs": [ + "4a604f9845e202871ac8741962280bb5db6f1295353042922a6f46671f27cc1d6cd4085aec390205aa5ba08f2c841295b4c86d2fab81d6e29fc958dfe9712e2301" + ], + "inputs": [ + "a5f3c513b5a01dc5e943a5cae91f54b54cde55e984a9480d68d690f40dfb7914" + ], + "outputs": [ + { + "uxid": "ba1adbf3006a239fb7ef6efb1f9390a25951a5185dc312dd81bf88025f838456", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "5.000000", + "hours": 56499 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 179, + "block_hash": "93fce3f520d9ec5b5c29226ad39fb61e3b9a92464fdec87d6805cf8e8e782959", + "previous_block_hash": "bb943b37f989326b057903ccc6eb1fa58a5d35e38706ae1ba81e0a6100bacf26", + "timestamp": 1431339429, + "fee": 33129894, + "version": 0, + "tx_body_hash": "f58f664eea258100126636a4111838e489ef5aec848ca8498319c290fa2a0805" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "f58f664eea258100126636a4111838e489ef5aec848ca8498319c290fa2a0805", + "inner_hash": "db98f515ce6c3d99fd7c39a6ac59ab498b1a2cc8fc6a13377ac7d3d463898e7c", + "sigs": [ + "1ca18424c9a313e9c253aecaec3c532c35c60e454f026a3d2794c772bc74a19809d53f8862962e865dd822dd054cd7f32b89b810968d95c9db6a9a0c1095390601" + ], + "inputs": [ + "8e55f10a0615a0737e6906132e09ac08a206971ba4b656f004acc7f4b7889bc8" + ], + "outputs": [ + { + "uxid": "fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f20", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "615700.000000", + "hours": 5521648 + }, + { + "uxid": "01f9c1d6c83dbc1c993357436cdf7f214acd0bfa107ff7f1466d1b18ec03563e", + "dst": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "10050.000000", + "hours": 5521648 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 180, + "block_hash": "63614fdf08b67fcfc99d7b43d115fb9f57eb5c6833acdbdc712ee361f391f292", + "previous_block_hash": "93fce3f520d9ec5b5c29226ad39fb61e3b9a92464fdec87d6805cf8e8e782959", + "timestamp": 1431574528, + "fee": 2265261, + "version": 0, + "tx_body_hash": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d", + "inner_hash": "d5b18a0c0c454e56fe1f7d0c64236d633f65717c04f08cd943f5669b4cc34667", + "sigs": [ + "2fac42571bb301783e46e804069c73c8226b637ae6385fec793e3a3860feaa6918058c55f461cef38341670c5c2da230d2241f267dbde6fc0528a6fb24362b3b00" + ], + "inputs": [ + "c39acd3494113650c1a6a7809287af7b12a78bbd97126d4585dd1715e2cb5a66" + ], + "outputs": [ + { + "uxid": "75692aeff988ce0da734c474dbef3a1ce19a5a6823bbcd36acb856c83262261e", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "hours": 377543 + }, + { + "uxid": "a4b70476ea1e079ebd3503b52eee32d490515457fce6a5aa075770b598a9d14f", + "dst": "CDD8GoJUHEvBm1pD3BQ3hEC2KcJNhvUzpu", + "coins": "1000.000000", + "hours": 377543 + } + ] + } + ] + }, + "size": 220 + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-end-less-than-start.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-end-less-than-start.golden new file mode 100755 index 0000000..b5b27b9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-end-less-than-start.golden @@ -0,0 +1,3 @@ +{ + "blocks": [] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-first-1.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-first-1.golden new file mode 100755 index 0000000..c7676fb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-first-1.golden @@ -0,0 +1,634 @@ +{ + "blocks": [ + { + "header": { + "seq": 1, + "block_hash": "baf3b622f043bbe3ef480416251a6545d07f173e5969dde2b63c4a12956d38fd", + "previous_block_hash": "0551a1e5af999fe8fff529f6f2ab341e1e33db95135eef1b2be44fe6981349f3", + "timestamp": 1427926392, + "fee": 99999999999900, + "version": 0, + "tx_body_hash": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe" + }, + "body": { + "txns": [ + { + "length": 3846, + "type": 0, + "txid": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "inner_hash": "0f7019627886818d2501af189bbac18e21b8e959891c5b2726f89e29355aa10a", + "sigs": [ + "be602113fe288f750001ab65f254ceedd8b05b1becc456a0a52a0bea10b8280e38d950933992ad3265e1f81d197036fa634b316f08b3b319ffce081aa43f3bb600" + ], + "inputs": [ + "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0" + ], + "outputs": [ + { + "uxid": "e3e72ee077c8b0c3f87da7cf50cad8876bd3f489f373d9fe82fc2e971df56f76", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "26f585cb96f35307f0af5b9aee004a29b7795695f4c5c836104e2fbbf429a3ce", + "dst": "2EYM4WFHe4Dgz6kjAdUkM6Etep7ruz2ia6h", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "18a43b8b69bbf12a9e49e6f9783ba258397e6567301aeed9e901a1e4fed9fef9", + "dst": "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5a69ef09b5de21b117cac62141a8de4eade7558c42f0ba8b50996f5ec7867c5d", + "dst": "ix44h3cojvN6nqGcdpy62X7Rw6Ahnr3Thk", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "aef761a12e3d0fa9c4a8db62b8bab1015c32931b7e3a7fc9a77282cec218f79d", + "dst": "AYV8KEBEAPCg8a59cHgqHMqYHP9nVgQDyW", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "445a4082da251fa161e4705d115fe2018ca15a5f92e8a0950793405410e6be12", + "dst": "2Nu5Jv5Wp3RYGJU1EkjWFFHnebxMx1GjfkF", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5e35182bc9372d898df106bb2e7b3dfe33d28e59082f5d19d4a84ac0012d1291", + "dst": "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "368a609ee90ca15bbbd297af07dc6705131764476d54bef641017ffcd0885e65", + "dst": "tWZ11Nvor9parjg4FkwxNVcby59WVTw2iL", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "13afe1586015c4d7312f89d123153279e4961eb0d53a4d036847d5d989ba90dc", + "dst": "m2joQiJRZnj3jN6NsoKNxaxzUTijkdRoSR", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f625cf04412199c16e073dbb500e66c23cfe69043578b4a2d879a329aac563ec", + "dst": "8yf8PAQqU2cDj8Yzgz3LgBEyDqjvCh2xR7", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b2da50a08756c34d059a04812451cf3296f73ba87f8cca38473ac8f051ab6d1e", + "dst": "sgB3n11ZPUYHToju6TWMpUZTUcKvQnoFMJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "135c28698e80e3b2a737d59c16c79684c3fb3ec5cec59f466a39f4ac3c73968e", + "dst": "2UYPbDBnHUEc67e7qD4eXtQQ6zfU2cyvAvk", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "df63056cf3ae21efa86d241876ad0194387317585dc9e4fcd80954b47d59b57a", + "dst": "wybwGC9rhm8ZssBuzpy5goXrAdE31MPdsj", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4628f4cfdbf1eb7cccc25d461c46cc29e90cffb5d6277e0de641f7701d60c308", + "dst": "JbM25o7kY7hqJZt3WGYu9pHZFCpA9TCR6t", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "47e4706dc4d80a70b20c889476fb0627ca6d5bdaa790f4ceba44a689d31b2dcc", + "dst": "2efrft5Lnwjtk7F1p9d7BnPd72zko2hQWNi", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b64bc50d370a06df117eb543ca051239c985cfc4b6aa527c51b700de32c7fc41", + "dst": "Syzmb3MiMoiNVpqFdQ38hWgffHg86D2J4e", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "390bc4c045fa9f289957b7eca529bfadac96a7dd074bcfbdd3b09e99413b8202", + "dst": "2g3GUmTQooLrNHaRDhKtLU8rWLz36Beow7F", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6aa162f7fc09598c4dc8f5fab7fb2383f28c3840937a001acd9f37136e1691b2", + "dst": "D3phtGr9iv6238b3zYXq6VgwrzwvfRzWZQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "e440cf4c896735d3299a871f988c134f404fb2065d1f20c87c9c9bc5fa582e09", + "dst": "gpqsFSuMCZmsjPc6Rtgy1FmLx424tH86My", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "eea791e84a53e4d99485519c5d2c3146b0a2ad080cf92904ae7b28c2d9a6e3ca", + "dst": "2EUF3GPEUmfocnUc1w6YPtqXVCy3UZA4rAq", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "01048ad6a538256d9a8c6c9c6321ca1a01b31cbf08e74fd4ff0f141bf97eb8ce", + "dst": "TtAaxB3qGz5zEAhhiGkBY9VPV7cekhvRYS", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "bc5f1f1ddc8cb23df3d42f1e5a1dda9d356846fe930ae4484bc1eeb1b3b2c95b", + "dst": "2fM5gVpi7XaiMPm4i29zddTNkmrKe6TzhVZ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f03087245a6b64bb69cd5866a1887ae595a9e1a86e196754984840eaf6d3eb9c", + "dst": "ix3NDKgxfYYANKAb5kbmwBYXPrkAsha7uG", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "239bdba27dabd52f7450f7d8521c9a7e5ac74093ae3f6f2348bf40ac9a6db7a5", + "dst": "2RkPshpFFrkuaP98GprLtgHFTGvPY5e6wCK", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d60879e562b65f97d40bec7309d4490ba0a8c80e2349ecb2e3505aaa50ea1e47", + "dst": "Ak1qCDNudRxZVvcW6YDAdD9jpYNNStAVqm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "66e685901492c94942522c346759c711ee2e78a059ef274e77a6ab433409683c", + "dst": "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b497992663f99f9902deaaf487b00655820003015ea92091628f4a6e8aeb5854", + "dst": "KPfqM6S96WtRLMuSy4XLfVwymVqivdcDoM", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "bc40377012004566712fa860e74db97305091cc163e95435e04556c70d32f9c5", + "dst": "5B98bU1nsedGJBdRD5wLtq7Z8t8ZXio8u5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "73304622e33994bc2d4ade2cab78d28e1b65185e60ad3c781ecfb5cbc8159136", + "dst": "2iZWk5tmBynWxj2PpAFyiZzEws9qSnG3a6n", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fed15e8506d0e0898510311850b8863ef6d9a499215ae8823a1e3fb9c8140ab2", + "dst": "XUGdPaVnMh7jtzPe3zkrf9FKh5nztFnQU5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "12034bc455d0821813d7eb9afed1ed1a8f19b6f29826ef4a057b4aa0b4228817", + "dst": "hSNgHgewJme8uaHrEuKubHYtYSDckD6hpf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fc444cdb2598f44209a41ea20afdc9065ebe51b7cd5f65bb1c0f7a7b427ce7b1", + "dst": "2DeK765jLgnMweYrMp1NaYHfzxumfR1PaQN", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "618d242d95d33e2d7316612a164d89859b85f1287f0d5bed4dcb561cf478f706", + "dst": "orrAssY5V2HuQAbW9K6WktFrGieq2m23pr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "07f70fd4108ef4d2fde3b85411728c1f7bd3a135d2062c5a30a46cc885463780", + "dst": "4Ebf4PkG9QEnQTm4MVvaZvJV6Y9av3jhgb", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "af9bcf6ba63a08e699bc101aa362f135343aaf78a56e9f88d118fca0e1ce5c08", + "dst": "7Uf5xJ3GkiEKaLxC2WmJ1t6SeekJeBdJfu", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6b3530bb930ed10bbc4c307663aba4377c08443498a0a2cf023b1be72f378ae1", + "dst": "oz4ytDKbCqpgjW3LPc52pW2CaK2gxCcWmL", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fd6da5199e528958e68ee8dd003b727d4d840754ea7c1e0c05e4f0e504c9b2cd", + "dst": "2ex5Z7TufQ5Z8xv5mXe53fSQRfUr35SSo7Q", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "131f07f5b40f365fb537b863e4aa5ef0efcd77b7fa2ff321d90eeb743ac43678", + "dst": "WV2ap7ZubTxeDdmEZ1Xo7ufGMkekLWikJu", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "ffbdfdbf3427d04f445c33e867845bec1ee64a9dfe0d0fa8284547c2226fdfa9", + "dst": "ckCTV4r1pNuz6j2VBRHhaJN9HsCLY7muLV", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8b53c7188ebf4d630790ff63275679ba48009e31af6e4fe15806619216caa750", + "dst": "MXJx96ZJVSjktgeYZpVK8vn1H3xWP8ooq5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b4c6639b49402c2753f83c7fb7d3ffa65da74e47fef2b781933ff55b14d09bcd", + "dst": "wyQVmno9aBJZmQ99nDSLoYWwp7YDJCWsrH", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0c956289db079c00d2f80c590d3c8ca26c37da534fe5f65e799b3982ceca493c", + "dst": "2cc9wKxCsFNRkoAQDAoHke3ZoyL1mSV14cj", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "550d2a8d3047cdae0c05a61cc3de43e758b123a6955fa067d3ac375f7d0dbadc", + "dst": "29k9g3F5AYfVaa1joE1PpZjBED6hQXes8Mm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "78740d5bf49989936d315bf641949232aace582e03de57db8abff940f7d51bd1", + "dst": "2XPLzz4ZLf1A9ykyTCjW5gEmVjnWa8CuatH", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9f2c83c5165826de1077f428ad39d41473e32ed64cd83180d49e7d8e5db996d0", + "dst": "iH7DqqojTgUn2JxmY9hgFp165Nk7wKfan9", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "883be4d7173c235933294ab8dcae8cc76609166eaa1c1f07e9b51d551c979709", + "dst": "RJzzwUs3c9C8Y7NFYzNfFoqiUKeBhBfPki", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6384ed19650d384c29db4c3a39a1ca855058fab758075be2dee759dd9e6faae1", + "dst": "2W2cGyiCRM4nwmmiGPgMuGaPGeBzEm7VZPn", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "25e22bb83c51f766571cf92ec7303071c9f25e3a34366f4679a22519e6ec368b", + "dst": "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0c238e82f3a4beee1be7b5b464e8553404f6927d5ab93c3d649d362c01097782", + "dst": "tBaeg9zE2sgmw5ZQENaPPYd6jfwpVpGTzS", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "dad4991bfa5c51eb176f28c1b3f86661e02579905e6e07c997df22004e06244a", + "dst": "2hdTw5Hk3rsgpZjvk8TyKcCZoRVXU5QVrUt", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4ba91512c168281f41d3934b927d0d86a3136a31cc345b635095928f8e5f013c", + "dst": "A1QU6jKq8YgTP79M8fwZNHUZc7hConFKmy", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c416f5e604eeada9ae8e520a429d8f19d4230626769e7121007e01353730784f", + "dst": "q9RkXoty3X1fuaypDDRUi78rWgJWYJMmpJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "7b8787fd4076c27d074d2a4761377a1aa26c843c432e3b7e6b0ebf1e29528188", + "dst": "2Xvm6is5cAPA85xnSYXDuAqiRyoXiky5RaD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "38f22b194f04d85a6b545b37df06195edeb8503798b229ddeaa946018150c05c", + "dst": "4CW2CPJEzxhn2PS4JoSLoWGL5QQ7dL2eji", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "246377a036ad5444bcd5f47ac9e55fec7c85fc40644df593038d360554a809f7", + "dst": "24EG6uTzL7DHNzcwsygYGRR1nfu5kco7AZ1", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c6d5e543ff5f2c2526728d588fb21753db5b7e05b8b275aa5e9b24d29350afb0", + "dst": "KghGnWw5fppTrqHSERXZf61yf7GkuQdCnV", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "98e223e6e2240fef83082d3daa86e46f10e0c71f3f74489ba95db0951a166f53", + "dst": "2WojewRA3LbpyXTP9ANy8CZqJMgmyNm3MDr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c8971ca91f8e21c556f647940073db003f7dd5582ae55d4ebca602d5e8e91a6e", + "dst": "2BsMfywmGV3M2CoDA112Rs7ZBkiMHfy9X11", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "dfa7822c05f54116c9fc3b2cde1ecb4667f47a2d8771fe886e832c223cdc4e82", + "dst": "kK1Q4gPyYfVVMzQtAPRzL8qXMqJ67Y7tKs", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6d37c0c4b6fcbac1e53a46c9c2dc5d3c3b36312c53f25b2baacc785ea77a11f7", + "dst": "28J4mx8xfUtM92DbQ6i2Jmqw5J7dNivfroN", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9ba5e31610f0545666f102465efa8caa48ad3fb5b8abd5ae802f4a71e3f7de3b", + "dst": "gQvgyG1djgtftoCVrSZmsRxr7okD4LheKw", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "3ca365aace71e24b04d6f2ffbf7171468c5e71783858c710cae539c5e43e0c0e", + "dst": "3iFGBKapAWWzbiGFSr5ScbhrEPm6Esyvia", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c858f2db2a20ac562d32f8fb2a3a11039849a6e44d2bec30befb2e173532a9a3", + "dst": "NFW2akQH2vu7AqkQXxFz2P5vkXTWkSqrSm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "1550a76598693b950346397e0e825bbb2805edde38b0d0240e50050829b7b1dd", + "dst": "2MQJjLnWRp9eHh6MpCwpiUeshhtmri12mci", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "466340ab7733abb23ab24d877c673fe089c273f11808fbbd6f33a91da92ee96c", + "dst": "2QjRQUMyL6iodtHP9zKmxCNYZ7k3jxtk49C", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "401d4c0c1060ebbb4b9fb3859c2eb47789f94086f4deb01234bf46f7cdc81247", + "dst": "USdfKy7B6oFNoauHWMmoCA7ND9rHqYw2Mf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "2c0e3aa084f5fec45f99b3f125ce7d50c6da526ef5165df5f22ba603147c3fc2", + "dst": "cA49et9WtptYHf6wA1F8qqVgH3kS5jJ9vK", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d2e724d83e35235c23c0bb16ae9b708a5bba3c23b186b05d4b8c606f6bb4b311", + "dst": "qaJT9TjcMi46sTKcgwRQU8o5Lw2Ea1gC4N", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4f30eae8c49eb268fe364eaf5ee0788da6e2f6adc2f83cd82e96a4bfe98496f5", + "dst": "22pyn5RyhqtTQu4obYjuWYRNNw4i54L8xVr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8753d5775c22477a8ef74eeebf61d7de30be702e70118f552cc18ad963ffe950", + "dst": "22dkmukC6iH4FFLBmHne6modJZZQ3MC9BAT", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "efa2007c561dcbf7c83a6bbdd2ef75e7cca76b05330a8b948ba0dd94dee949f7", + "dst": "z6CJZfYLvmd41GRVE8HASjRcy5hqbpHZvE", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8b379d1b8ff0153c63ee69c40a7155b97fa42ab570f68ff847d457316c4d8ab9", + "dst": "GEBWJ2KpRQDBTCCtvnaAJV2cYurgXS8pta", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cc84f93adce16699d9e84ef32f55333402431b58dc50c17084bcb8b33f382f88", + "dst": "oS8fbEm82cprmAeineBeDkaKd7QownDZQh", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f38f0760769c19075034f70b059abf4d1bfa6d01e1e8c369a99900ed1eaeca6d", + "dst": "rQpAs1LVQdphyj9ipEAuukAoj9kNpSP8cM", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8d55f76bb0b3dd222cf85a7193501c0f4071b446f56dbd1da355b1625993325a", + "dst": "6NSJKsPxmqipGAfFFhUKbkopjrvEESTX3j", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "efde499c7e4444bc602b7bf5ed50e95a18ce8ec9a06ba9d850a05bb7a25ecb3a", + "dst": "cuC68ycVXmD2EBzYFNYQ6akhKGrh3FGjSf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "2a4d631d5dc90e397d85f13410d1a6d877dcaf592a0e2be2e727443ac74b5bd5", + "dst": "bw4wtYU8toepomrhWP2p8UFYfHBbvEV425", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "e936299a21240744f6edbab493449323f920bbe15dcf294463e5a2ace10f27b0", + "dst": "HvgNmDz5jD39Gwmi9VfDY1iYMhZUpZ8GKz", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "44e17f4bd29411a1614457171c06183e364bf6ff80a201717b2dfc0748e9ebe3", + "dst": "SbApuZAYquWP3Q6iD51BcMBQjuApYEkRVf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "1941e5cc5e38dd92427580af699b1f410be7b29ff17d3d0ff3d046bfba0aaabf", + "dst": "2Ugii5yxJgLzC59jV1vF8GK7UBZdvxwobeJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "ff6c0f27fcf92f3b4a3871b801c3116847fe47a7e3bafcadd4855d06012091ad", + "dst": "21N2iJ1qnQRiJWcEqNRxXwfNp8QcmiyhtPy", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cd6c4b785e60757fad0e6fd4874b729ea7703fe7ee9560e1283d2eb71fc75321", + "dst": "9TC4RGs6AtFUsbcVWnSoCdoCpSfM66ALAc", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "745eaff456a390c3868742a039e72c2a93ff8eee10417dbe848d533b89facc04", + "dst": "oQzn55UWG4iMcY9bTNb27aTnRdfiGHAwbD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d2f3f050c9ef31bf5c3b14c1c71699c4f4b38aa18479531194d12e6277416516", + "dst": "2GCdwsRpQhcf8SQcynFrMVDM26Bbj6sgv9M", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0b95850edabed70762768ac1695c5d7f230cccaa8de06657cda42cafba36374f", + "dst": "2NRFe7REtSmaM2qAgZeG45hC8EtVGV2QjeB", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "7c767d3a06db1ac0e1809ebe29a7d9689143259f4651837de54423e287c20490", + "dst": "25RGnhN7VojHUTvQBJA9nBT5y1qTQGULMzR", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "78b07e8fe1366e173f2eeb75c35cd53baf0f6100de50ae12b4ffe7d0d7ba4298", + "dst": "26uCBDfF8E2PJU2Dzz2ysgKwv9m4BhodTz9", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5010eb25f6e1ed725fb901ae1e945e545ae846d7be8a135333d2d41102c33328", + "dst": "Wkvima5cF7DDFdmJQqcdq8Syaq9DuAJJRD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "178a33e64826cd2039b8538b74e6de513966acab45ab79d77dc9392018a65ffb", + "dst": "286hSoJYxvENFSHwG51ZbmKaochLJyq4ERQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "044dc539d063250dc654b2bf0986a9044b4eea05e1284c11a2b313acd8dc3498", + "dst": "FEGxF3HPoM2HCWHn82tyeh9o7vEQq5ySGE", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9fd5ea38f383291566def44b6fb932414f97123952578fe0cfb9a30eb075a099", + "dst": "h38DxNxGhWGTq9p5tJnN5r4Fwnn85Krrb6", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "be5930e9cc35801433bcd21db84da7d4f1d8e744feca16a2c6fb00c81ce93e51", + "dst": "2c1UU8J6Y3kL4cmQh21Tj8wkzidCiZxwdwd", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8cd999cd193d315e5f1c6f74c230c12e6abe6847924f6e89d988e09ca413f52e", + "dst": "2bJ32KuGmjmwKyAtzWdLFpXNM6t83CCPLq5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0cff53628eb0e984c134b68cbe4b1bb7721a05adaa32e93b9df489a9a7a176cf", + "dst": "2fi8oLC9zfVVGnzzQtu3Y3rffS65Hiz6QHo", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "a5ef046e84be9ff2485dde49afe6073811286761afac3bbd588b6e4130930479", + "dst": "TKD93RxFr2Am44TntLiJQus4qcEwTtvEEQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cdee5f84c4f08098ac740e3a260ced14c1e199e126aa5291ec079b281a7dc407", + "dst": "zMDywYdGEDtTSvWnCyc3qsYHWwj9ogws74", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6a24135f8496e7a37dcf7164218bb3aa530319f3b2bf3c7a1a9cc1bd17831328", + "dst": "25NbotTka7TwtbXUpSCQD8RMgHKspyDubXJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "693c7f970b34ce5882e62430f4c9c28957159a257d27d4e21a61fd95c6b97464", + "dst": "2ayCELBERubQWH5QxUr3cTxrYpidvUAzsSw", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c008a613cef129c180dbcc7213f2d41a14d245d06a3844d63d9beac963145385", + "dst": "RMTCwLiYDKEAiJu5ekHL1NQ8UKHi5ozCPg", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "439cdfd03972fb4bb5da54208cf8098ee78228c487ce9e84623f5f83e17a7d68", + "dst": "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm", + "coins": "1000000.000000", + "hours": 1 + } + ] + } + ] + }, + "size": 3846 + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-first-10.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-first-10.golden new file mode 100755 index 0000000..ab74d67 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-first-10.golden @@ -0,0 +1,1008 @@ +{ + "blocks": [ + { + "header": { + "seq": 1, + "block_hash": "baf3b622f043bbe3ef480416251a6545d07f173e5969dde2b63c4a12956d38fd", + "previous_block_hash": "0551a1e5af999fe8fff529f6f2ab341e1e33db95135eef1b2be44fe6981349f3", + "timestamp": 1427926392, + "fee": 99999999999900, + "version": 0, + "tx_body_hash": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe" + }, + "body": { + "txns": [ + { + "length": 3846, + "type": 0, + "txid": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "inner_hash": "0f7019627886818d2501af189bbac18e21b8e959891c5b2726f89e29355aa10a", + "sigs": [ + "be602113fe288f750001ab65f254ceedd8b05b1becc456a0a52a0bea10b8280e38d950933992ad3265e1f81d197036fa634b316f08b3b319ffce081aa43f3bb600" + ], + "inputs": [ + "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0" + ], + "outputs": [ + { + "uxid": "e3e72ee077c8b0c3f87da7cf50cad8876bd3f489f373d9fe82fc2e971df56f76", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "26f585cb96f35307f0af5b9aee004a29b7795695f4c5c836104e2fbbf429a3ce", + "dst": "2EYM4WFHe4Dgz6kjAdUkM6Etep7ruz2ia6h", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "18a43b8b69bbf12a9e49e6f9783ba258397e6567301aeed9e901a1e4fed9fef9", + "dst": "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5a69ef09b5de21b117cac62141a8de4eade7558c42f0ba8b50996f5ec7867c5d", + "dst": "ix44h3cojvN6nqGcdpy62X7Rw6Ahnr3Thk", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "aef761a12e3d0fa9c4a8db62b8bab1015c32931b7e3a7fc9a77282cec218f79d", + "dst": "AYV8KEBEAPCg8a59cHgqHMqYHP9nVgQDyW", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "445a4082da251fa161e4705d115fe2018ca15a5f92e8a0950793405410e6be12", + "dst": "2Nu5Jv5Wp3RYGJU1EkjWFFHnebxMx1GjfkF", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5e35182bc9372d898df106bb2e7b3dfe33d28e59082f5d19d4a84ac0012d1291", + "dst": "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "368a609ee90ca15bbbd297af07dc6705131764476d54bef641017ffcd0885e65", + "dst": "tWZ11Nvor9parjg4FkwxNVcby59WVTw2iL", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "13afe1586015c4d7312f89d123153279e4961eb0d53a4d036847d5d989ba90dc", + "dst": "m2joQiJRZnj3jN6NsoKNxaxzUTijkdRoSR", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f625cf04412199c16e073dbb500e66c23cfe69043578b4a2d879a329aac563ec", + "dst": "8yf8PAQqU2cDj8Yzgz3LgBEyDqjvCh2xR7", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b2da50a08756c34d059a04812451cf3296f73ba87f8cca38473ac8f051ab6d1e", + "dst": "sgB3n11ZPUYHToju6TWMpUZTUcKvQnoFMJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "135c28698e80e3b2a737d59c16c79684c3fb3ec5cec59f466a39f4ac3c73968e", + "dst": "2UYPbDBnHUEc67e7qD4eXtQQ6zfU2cyvAvk", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "df63056cf3ae21efa86d241876ad0194387317585dc9e4fcd80954b47d59b57a", + "dst": "wybwGC9rhm8ZssBuzpy5goXrAdE31MPdsj", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4628f4cfdbf1eb7cccc25d461c46cc29e90cffb5d6277e0de641f7701d60c308", + "dst": "JbM25o7kY7hqJZt3WGYu9pHZFCpA9TCR6t", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "47e4706dc4d80a70b20c889476fb0627ca6d5bdaa790f4ceba44a689d31b2dcc", + "dst": "2efrft5Lnwjtk7F1p9d7BnPd72zko2hQWNi", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b64bc50d370a06df117eb543ca051239c985cfc4b6aa527c51b700de32c7fc41", + "dst": "Syzmb3MiMoiNVpqFdQ38hWgffHg86D2J4e", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "390bc4c045fa9f289957b7eca529bfadac96a7dd074bcfbdd3b09e99413b8202", + "dst": "2g3GUmTQooLrNHaRDhKtLU8rWLz36Beow7F", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6aa162f7fc09598c4dc8f5fab7fb2383f28c3840937a001acd9f37136e1691b2", + "dst": "D3phtGr9iv6238b3zYXq6VgwrzwvfRzWZQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "e440cf4c896735d3299a871f988c134f404fb2065d1f20c87c9c9bc5fa582e09", + "dst": "gpqsFSuMCZmsjPc6Rtgy1FmLx424tH86My", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "eea791e84a53e4d99485519c5d2c3146b0a2ad080cf92904ae7b28c2d9a6e3ca", + "dst": "2EUF3GPEUmfocnUc1w6YPtqXVCy3UZA4rAq", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "01048ad6a538256d9a8c6c9c6321ca1a01b31cbf08e74fd4ff0f141bf97eb8ce", + "dst": "TtAaxB3qGz5zEAhhiGkBY9VPV7cekhvRYS", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "bc5f1f1ddc8cb23df3d42f1e5a1dda9d356846fe930ae4484bc1eeb1b3b2c95b", + "dst": "2fM5gVpi7XaiMPm4i29zddTNkmrKe6TzhVZ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f03087245a6b64bb69cd5866a1887ae595a9e1a86e196754984840eaf6d3eb9c", + "dst": "ix3NDKgxfYYANKAb5kbmwBYXPrkAsha7uG", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "239bdba27dabd52f7450f7d8521c9a7e5ac74093ae3f6f2348bf40ac9a6db7a5", + "dst": "2RkPshpFFrkuaP98GprLtgHFTGvPY5e6wCK", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d60879e562b65f97d40bec7309d4490ba0a8c80e2349ecb2e3505aaa50ea1e47", + "dst": "Ak1qCDNudRxZVvcW6YDAdD9jpYNNStAVqm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "66e685901492c94942522c346759c711ee2e78a059ef274e77a6ab433409683c", + "dst": "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b497992663f99f9902deaaf487b00655820003015ea92091628f4a6e8aeb5854", + "dst": "KPfqM6S96WtRLMuSy4XLfVwymVqivdcDoM", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "bc40377012004566712fa860e74db97305091cc163e95435e04556c70d32f9c5", + "dst": "5B98bU1nsedGJBdRD5wLtq7Z8t8ZXio8u5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "73304622e33994bc2d4ade2cab78d28e1b65185e60ad3c781ecfb5cbc8159136", + "dst": "2iZWk5tmBynWxj2PpAFyiZzEws9qSnG3a6n", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fed15e8506d0e0898510311850b8863ef6d9a499215ae8823a1e3fb9c8140ab2", + "dst": "XUGdPaVnMh7jtzPe3zkrf9FKh5nztFnQU5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "12034bc455d0821813d7eb9afed1ed1a8f19b6f29826ef4a057b4aa0b4228817", + "dst": "hSNgHgewJme8uaHrEuKubHYtYSDckD6hpf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fc444cdb2598f44209a41ea20afdc9065ebe51b7cd5f65bb1c0f7a7b427ce7b1", + "dst": "2DeK765jLgnMweYrMp1NaYHfzxumfR1PaQN", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "618d242d95d33e2d7316612a164d89859b85f1287f0d5bed4dcb561cf478f706", + "dst": "orrAssY5V2HuQAbW9K6WktFrGieq2m23pr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "07f70fd4108ef4d2fde3b85411728c1f7bd3a135d2062c5a30a46cc885463780", + "dst": "4Ebf4PkG9QEnQTm4MVvaZvJV6Y9av3jhgb", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "af9bcf6ba63a08e699bc101aa362f135343aaf78a56e9f88d118fca0e1ce5c08", + "dst": "7Uf5xJ3GkiEKaLxC2WmJ1t6SeekJeBdJfu", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6b3530bb930ed10bbc4c307663aba4377c08443498a0a2cf023b1be72f378ae1", + "dst": "oz4ytDKbCqpgjW3LPc52pW2CaK2gxCcWmL", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fd6da5199e528958e68ee8dd003b727d4d840754ea7c1e0c05e4f0e504c9b2cd", + "dst": "2ex5Z7TufQ5Z8xv5mXe53fSQRfUr35SSo7Q", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "131f07f5b40f365fb537b863e4aa5ef0efcd77b7fa2ff321d90eeb743ac43678", + "dst": "WV2ap7ZubTxeDdmEZ1Xo7ufGMkekLWikJu", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "ffbdfdbf3427d04f445c33e867845bec1ee64a9dfe0d0fa8284547c2226fdfa9", + "dst": "ckCTV4r1pNuz6j2VBRHhaJN9HsCLY7muLV", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8b53c7188ebf4d630790ff63275679ba48009e31af6e4fe15806619216caa750", + "dst": "MXJx96ZJVSjktgeYZpVK8vn1H3xWP8ooq5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b4c6639b49402c2753f83c7fb7d3ffa65da74e47fef2b781933ff55b14d09bcd", + "dst": "wyQVmno9aBJZmQ99nDSLoYWwp7YDJCWsrH", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0c956289db079c00d2f80c590d3c8ca26c37da534fe5f65e799b3982ceca493c", + "dst": "2cc9wKxCsFNRkoAQDAoHke3ZoyL1mSV14cj", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "550d2a8d3047cdae0c05a61cc3de43e758b123a6955fa067d3ac375f7d0dbadc", + "dst": "29k9g3F5AYfVaa1joE1PpZjBED6hQXes8Mm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "78740d5bf49989936d315bf641949232aace582e03de57db8abff940f7d51bd1", + "dst": "2XPLzz4ZLf1A9ykyTCjW5gEmVjnWa8CuatH", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9f2c83c5165826de1077f428ad39d41473e32ed64cd83180d49e7d8e5db996d0", + "dst": "iH7DqqojTgUn2JxmY9hgFp165Nk7wKfan9", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "883be4d7173c235933294ab8dcae8cc76609166eaa1c1f07e9b51d551c979709", + "dst": "RJzzwUs3c9C8Y7NFYzNfFoqiUKeBhBfPki", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6384ed19650d384c29db4c3a39a1ca855058fab758075be2dee759dd9e6faae1", + "dst": "2W2cGyiCRM4nwmmiGPgMuGaPGeBzEm7VZPn", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "25e22bb83c51f766571cf92ec7303071c9f25e3a34366f4679a22519e6ec368b", + "dst": "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0c238e82f3a4beee1be7b5b464e8553404f6927d5ab93c3d649d362c01097782", + "dst": "tBaeg9zE2sgmw5ZQENaPPYd6jfwpVpGTzS", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "dad4991bfa5c51eb176f28c1b3f86661e02579905e6e07c997df22004e06244a", + "dst": "2hdTw5Hk3rsgpZjvk8TyKcCZoRVXU5QVrUt", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4ba91512c168281f41d3934b927d0d86a3136a31cc345b635095928f8e5f013c", + "dst": "A1QU6jKq8YgTP79M8fwZNHUZc7hConFKmy", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c416f5e604eeada9ae8e520a429d8f19d4230626769e7121007e01353730784f", + "dst": "q9RkXoty3X1fuaypDDRUi78rWgJWYJMmpJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "7b8787fd4076c27d074d2a4761377a1aa26c843c432e3b7e6b0ebf1e29528188", + "dst": "2Xvm6is5cAPA85xnSYXDuAqiRyoXiky5RaD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "38f22b194f04d85a6b545b37df06195edeb8503798b229ddeaa946018150c05c", + "dst": "4CW2CPJEzxhn2PS4JoSLoWGL5QQ7dL2eji", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "246377a036ad5444bcd5f47ac9e55fec7c85fc40644df593038d360554a809f7", + "dst": "24EG6uTzL7DHNzcwsygYGRR1nfu5kco7AZ1", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c6d5e543ff5f2c2526728d588fb21753db5b7e05b8b275aa5e9b24d29350afb0", + "dst": "KghGnWw5fppTrqHSERXZf61yf7GkuQdCnV", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "98e223e6e2240fef83082d3daa86e46f10e0c71f3f74489ba95db0951a166f53", + "dst": "2WojewRA3LbpyXTP9ANy8CZqJMgmyNm3MDr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c8971ca91f8e21c556f647940073db003f7dd5582ae55d4ebca602d5e8e91a6e", + "dst": "2BsMfywmGV3M2CoDA112Rs7ZBkiMHfy9X11", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "dfa7822c05f54116c9fc3b2cde1ecb4667f47a2d8771fe886e832c223cdc4e82", + "dst": "kK1Q4gPyYfVVMzQtAPRzL8qXMqJ67Y7tKs", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6d37c0c4b6fcbac1e53a46c9c2dc5d3c3b36312c53f25b2baacc785ea77a11f7", + "dst": "28J4mx8xfUtM92DbQ6i2Jmqw5J7dNivfroN", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9ba5e31610f0545666f102465efa8caa48ad3fb5b8abd5ae802f4a71e3f7de3b", + "dst": "gQvgyG1djgtftoCVrSZmsRxr7okD4LheKw", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "3ca365aace71e24b04d6f2ffbf7171468c5e71783858c710cae539c5e43e0c0e", + "dst": "3iFGBKapAWWzbiGFSr5ScbhrEPm6Esyvia", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c858f2db2a20ac562d32f8fb2a3a11039849a6e44d2bec30befb2e173532a9a3", + "dst": "NFW2akQH2vu7AqkQXxFz2P5vkXTWkSqrSm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "1550a76598693b950346397e0e825bbb2805edde38b0d0240e50050829b7b1dd", + "dst": "2MQJjLnWRp9eHh6MpCwpiUeshhtmri12mci", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "466340ab7733abb23ab24d877c673fe089c273f11808fbbd6f33a91da92ee96c", + "dst": "2QjRQUMyL6iodtHP9zKmxCNYZ7k3jxtk49C", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "401d4c0c1060ebbb4b9fb3859c2eb47789f94086f4deb01234bf46f7cdc81247", + "dst": "USdfKy7B6oFNoauHWMmoCA7ND9rHqYw2Mf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "2c0e3aa084f5fec45f99b3f125ce7d50c6da526ef5165df5f22ba603147c3fc2", + "dst": "cA49et9WtptYHf6wA1F8qqVgH3kS5jJ9vK", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d2e724d83e35235c23c0bb16ae9b708a5bba3c23b186b05d4b8c606f6bb4b311", + "dst": "qaJT9TjcMi46sTKcgwRQU8o5Lw2Ea1gC4N", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4f30eae8c49eb268fe364eaf5ee0788da6e2f6adc2f83cd82e96a4bfe98496f5", + "dst": "22pyn5RyhqtTQu4obYjuWYRNNw4i54L8xVr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8753d5775c22477a8ef74eeebf61d7de30be702e70118f552cc18ad963ffe950", + "dst": "22dkmukC6iH4FFLBmHne6modJZZQ3MC9BAT", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "efa2007c561dcbf7c83a6bbdd2ef75e7cca76b05330a8b948ba0dd94dee949f7", + "dst": "z6CJZfYLvmd41GRVE8HASjRcy5hqbpHZvE", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8b379d1b8ff0153c63ee69c40a7155b97fa42ab570f68ff847d457316c4d8ab9", + "dst": "GEBWJ2KpRQDBTCCtvnaAJV2cYurgXS8pta", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cc84f93adce16699d9e84ef32f55333402431b58dc50c17084bcb8b33f382f88", + "dst": "oS8fbEm82cprmAeineBeDkaKd7QownDZQh", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f38f0760769c19075034f70b059abf4d1bfa6d01e1e8c369a99900ed1eaeca6d", + "dst": "rQpAs1LVQdphyj9ipEAuukAoj9kNpSP8cM", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8d55f76bb0b3dd222cf85a7193501c0f4071b446f56dbd1da355b1625993325a", + "dst": "6NSJKsPxmqipGAfFFhUKbkopjrvEESTX3j", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "efde499c7e4444bc602b7bf5ed50e95a18ce8ec9a06ba9d850a05bb7a25ecb3a", + "dst": "cuC68ycVXmD2EBzYFNYQ6akhKGrh3FGjSf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "2a4d631d5dc90e397d85f13410d1a6d877dcaf592a0e2be2e727443ac74b5bd5", + "dst": "bw4wtYU8toepomrhWP2p8UFYfHBbvEV425", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "e936299a21240744f6edbab493449323f920bbe15dcf294463e5a2ace10f27b0", + "dst": "HvgNmDz5jD39Gwmi9VfDY1iYMhZUpZ8GKz", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "44e17f4bd29411a1614457171c06183e364bf6ff80a201717b2dfc0748e9ebe3", + "dst": "SbApuZAYquWP3Q6iD51BcMBQjuApYEkRVf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "1941e5cc5e38dd92427580af699b1f410be7b29ff17d3d0ff3d046bfba0aaabf", + "dst": "2Ugii5yxJgLzC59jV1vF8GK7UBZdvxwobeJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "ff6c0f27fcf92f3b4a3871b801c3116847fe47a7e3bafcadd4855d06012091ad", + "dst": "21N2iJ1qnQRiJWcEqNRxXwfNp8QcmiyhtPy", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cd6c4b785e60757fad0e6fd4874b729ea7703fe7ee9560e1283d2eb71fc75321", + "dst": "9TC4RGs6AtFUsbcVWnSoCdoCpSfM66ALAc", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "745eaff456a390c3868742a039e72c2a93ff8eee10417dbe848d533b89facc04", + "dst": "oQzn55UWG4iMcY9bTNb27aTnRdfiGHAwbD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d2f3f050c9ef31bf5c3b14c1c71699c4f4b38aa18479531194d12e6277416516", + "dst": "2GCdwsRpQhcf8SQcynFrMVDM26Bbj6sgv9M", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0b95850edabed70762768ac1695c5d7f230cccaa8de06657cda42cafba36374f", + "dst": "2NRFe7REtSmaM2qAgZeG45hC8EtVGV2QjeB", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "7c767d3a06db1ac0e1809ebe29a7d9689143259f4651837de54423e287c20490", + "dst": "25RGnhN7VojHUTvQBJA9nBT5y1qTQGULMzR", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "78b07e8fe1366e173f2eeb75c35cd53baf0f6100de50ae12b4ffe7d0d7ba4298", + "dst": "26uCBDfF8E2PJU2Dzz2ysgKwv9m4BhodTz9", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5010eb25f6e1ed725fb901ae1e945e545ae846d7be8a135333d2d41102c33328", + "dst": "Wkvima5cF7DDFdmJQqcdq8Syaq9DuAJJRD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "178a33e64826cd2039b8538b74e6de513966acab45ab79d77dc9392018a65ffb", + "dst": "286hSoJYxvENFSHwG51ZbmKaochLJyq4ERQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "044dc539d063250dc654b2bf0986a9044b4eea05e1284c11a2b313acd8dc3498", + "dst": "FEGxF3HPoM2HCWHn82tyeh9o7vEQq5ySGE", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9fd5ea38f383291566def44b6fb932414f97123952578fe0cfb9a30eb075a099", + "dst": "h38DxNxGhWGTq9p5tJnN5r4Fwnn85Krrb6", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "be5930e9cc35801433bcd21db84da7d4f1d8e744feca16a2c6fb00c81ce93e51", + "dst": "2c1UU8J6Y3kL4cmQh21Tj8wkzidCiZxwdwd", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8cd999cd193d315e5f1c6f74c230c12e6abe6847924f6e89d988e09ca413f52e", + "dst": "2bJ32KuGmjmwKyAtzWdLFpXNM6t83CCPLq5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0cff53628eb0e984c134b68cbe4b1bb7721a05adaa32e93b9df489a9a7a176cf", + "dst": "2fi8oLC9zfVVGnzzQtu3Y3rffS65Hiz6QHo", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "a5ef046e84be9ff2485dde49afe6073811286761afac3bbd588b6e4130930479", + "dst": "TKD93RxFr2Am44TntLiJQus4qcEwTtvEEQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cdee5f84c4f08098ac740e3a260ced14c1e199e126aa5291ec079b281a7dc407", + "dst": "zMDywYdGEDtTSvWnCyc3qsYHWwj9ogws74", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6a24135f8496e7a37dcf7164218bb3aa530319f3b2bf3c7a1a9cc1bd17831328", + "dst": "25NbotTka7TwtbXUpSCQD8RMgHKspyDubXJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "693c7f970b34ce5882e62430f4c9c28957159a257d27d4e21a61fd95c6b97464", + "dst": "2ayCELBERubQWH5QxUr3cTxrYpidvUAzsSw", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c008a613cef129c180dbcc7213f2d41a14d245d06a3844d63d9beac963145385", + "dst": "RMTCwLiYDKEAiJu5ekHL1NQ8UKHi5ozCPg", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "439cdfd03972fb4bb5da54208cf8098ee78228c487ce9e84623f5f83e17a7d68", + "dst": "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm", + "coins": "1000000.000000", + "hours": 1 + } + ] + } + ] + }, + "size": 3846 + }, + { + "header": { + "seq": 2, + "block_hash": "01723bc4dc90f1cb857a94fe5e3bb50c02e6689fd998f8147c9cae07fbfa63af", + "previous_block_hash": "baf3b622f043bbe3ef480416251a6545d07f173e5969dde2b63c4a12956d38fd", + "timestamp": 1427927651, + "fee": 0, + "version": 0, + "tx_body_hash": "312a269b8248e389c61571cc13f4ad13b7d53b64853d990ddc301a58e7071889" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "312a269b8248e389c61571cc13f4ad13b7d53b64853d990ddc301a58e7071889", + "inner_hash": "4daff2831f5bc2877a98a49b0ef75f8ff01bcb35082fd4018c77707dfca31849", + "sigs": [ + "f4482e0781e0d94c8c4773940e1f811405681844a9dc3c1938243442e1cbd5463d5e251880abbf8ff1ed85b4b2659e83ee30f06cc4c5dc9913aa6a9630fbe3de01" + ], + "inputs": [ + "e3e72ee077c8b0c3f87da7cf50cad8876bd3f489f373d9fe82fc2e971df56f76" + ], + "outputs": [ + { + "uxid": "0cd548e03bd13bca8647cd13f6baef0c65fd03081aeb6dc3695536e5bc6018ae", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999990.000000", + "hours": 1 + }, + { + "uxid": "af0b2c1cc882a56b6c0c06e99e7d2731413b988329a2c47a5c2aa8be589b707a", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 3, + "block_hash": "35c3ebbe6feaeeab27ac77c1712051787bdd4bbfb5cdcdebc81f8aac98a2f3f3", + "previous_block_hash": "01723bc4dc90f1cb857a94fe5e3bb50c02e6689fd998f8147c9cae07fbfa63af", + "timestamp": 1427927671, + "fee": 0, + "version": 0, + "tx_body_hash": "a6a709e9388a4d67a47d262b11da5f804eddd9d67acc4a3e450f7a567bdc1619" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "a6a709e9388a4d67a47d262b11da5f804eddd9d67acc4a3e450f7a567bdc1619", + "inner_hash": "ea6adee3180c7f9d73d1e693822d5d1c2bba85067f89a873355bc771a078faa1", + "sigs": [ + "ce8fd47e2044ed17998f92621e90329f673a746c802d67f639ca083705dd199f6ee346781497b44132434922879244d819694b5903093f784570c55d293ab4af01" + ], + "inputs": [ + "af0b2c1cc882a56b6c0c06e99e7d2731413b988329a2c47a5c2aa8be589b707a" + ], + "outputs": [ + { + "uxid": "9eb7954461ba0256c9054fe38c00c66e60428dccf900a62e74b9fe39310aea13", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 4, + "block_hash": "415e47348a1e642cb2e31d00ee500747d3aed0336aabfff7d783ed21465251c7", + "previous_block_hash": "35c3ebbe6feaeeab27ac77c1712051787bdd4bbfb5cdcdebc81f8aac98a2f3f3", + "timestamp": 1428793611, + "fee": 1852, + "version": 0, + "tx_body_hash": "c24b92898381fbebe59a457924184f4cce1e7166e140ca75aea5baf854c1ab75" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "c24b92898381fbebe59a457924184f4cce1e7166e140ca75aea5baf854c1ab75", + "inner_hash": "43dd65d5644ec5214a901ac94e530cbedb83d2174cf402c7b24697cfe55e1de7", + "sigs": [ + "434a7a0b624fda393c1caa57ac9787f69da3d8854d0ec6f69f0da1c96c9b683d787064b644e9ac3dd4dd8466c22c1547cff89c2552420f5efcfd1eacb1a2eac301" + ], + "inputs": [ + "0cd548e03bd13bca8647cd13f6baef0c65fd03081aeb6dc3695536e5bc6018ae" + ], + "outputs": [ + { + "uxid": "706f82c481906108880d79372ab5c126d32ecc98cf3f7c74cf33f5fda49dcf70", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999980.000000", + "hours": 3704 + }, + { + "uxid": "98b3e6e6d4ed36159b7dbf5f305174fc0c255d2d97528b35a67d50b9968e2b2f", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 5, + "block_hash": "114fe60587a158428a47e0f9571d764f495912c299aa4e67fc88004cf21b0c24", + "previous_block_hash": "415e47348a1e642cb2e31d00ee500747d3aed0336aabfff7d783ed21465251c7", + "timestamp": 1428798821, + "fee": 2036, + "version": 0, + "tx_body_hash": "0579e7727627cd9815a8a8b5e1df86124f45a4132cc0dbd00d2f110e4f409b69" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "0579e7727627cd9815a8a8b5e1df86124f45a4132cc0dbd00d2f110e4f409b69", + "inner_hash": "fe123ca954a82bb1ce2cc9ef9c56d6b649a4cbaf5b17394b0ffda651ed32327e", + "sigs": [ + "056ed0f74367fb1370d7e98689953983d9cf34eb6669854f1645c8a16c93d85075661e7d4f6df0ce5ca8eb9852eff6a12fbac2caafee03bb8c616f847c61416800", + "8aaa7f320a7b01169d3217a600100cb27c55e4ce56cd3455814f56d8e4e65be746e0e20e776087af6f19361f0b898edc2123a5f9bd35d24ef8b8669ca85b142601" + ], + "inputs": [ + "9eb7954461ba0256c9054fe38c00c66e60428dccf900a62e74b9fe39310aea13", + "706f82c481906108880d79372ab5c126d32ecc98cf3f7c74cf33f5fda49dcf70" + ], + "outputs": [ + { + "uxid": "fa2b598d233fe434f907f858d5de812eacf50c7b3fd152c77cd6e246fe356a9e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999890.000000", + "hours": 4073 + }, + { + "uxid": "dc63c680f408c4e646037966189383a5d50eda34e666c2a0c75c0c6bf13b71a1", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "100.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 317 + }, + { + "header": { + "seq": 6, + "block_hash": "103949030e90fcebc5d8ca1c9c59f30a31aa71911401d22a2422e4571b035701", + "previous_block_hash": "114fe60587a158428a47e0f9571d764f495912c299aa4e67fc88004cf21b0c24", + "timestamp": 1428806251, + "fee": 0, + "version": 0, + "tx_body_hash": "03b3ab821cdaf0ab8cc1a9e2dd30108772ec3bda09e9d3a8c48df9f30d213b38" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "03b3ab821cdaf0ab8cc1a9e2dd30108772ec3bda09e9d3a8c48df9f30d213b38", + "inner_hash": "e49bf8f45cb6664d36ec632e37bd91566d8bd4ea9ce209a0a955323a94dd744f", + "sigs": [ + "0a0d9a3fa0597667fb991bbe047ff93c591313faf759fcec2f47138bc0666b333b7689ad527ddb8ef135897be41016f755eb14e46cd327fc5eb196bce80c3cd400" + ], + "inputs": [ + "dc63c680f408c4e646037966189383a5d50eda34e666c2a0c75c0c6bf13b71a1" + ], + "outputs": [ + { + "uxid": "8ff8a647e4542fab01e078ac467b2c9f2e5f7de55d77ec2711f8abc718e2c91b", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "95.000000", + "hours": 0 + }, + { + "uxid": "778048daec0c83f89525a6d69b60c407d090bb1666711b1c560e6ebee8dcc452", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "5.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 7, + "block_hash": "6cb71b57c998a5367101e01d48c097eccd4f5abf311c89bcca8ee213581f355f", + "previous_block_hash": "103949030e90fcebc5d8ca1c9c59f30a31aa71911401d22a2422e4571b035701", + "timestamp": 1428807671, + "fee": 0, + "version": 0, + "tx_body_hash": "f832428481690fa918d6d29946e191f2c8c89b2388a906e0c53dceee6070a24b" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "f832428481690fa918d6d29946e191f2c8c89b2388a906e0c53dceee6070a24b", + "inner_hash": "f440c514779522a6387edda9b9d9835f00680fb314546efb7bc9762a17884156", + "sigs": [ + "8fe96f5502270e4efa962b2aef2b81795fe26a8f0c9a494e2ae9c7e624af455c49396270ae7a25b41d439fd56dea9d556a135129122de1b1274b1e2a5d75f2ea01" + ], + "inputs": [ + "8ff8a647e4542fab01e078ac467b2c9f2e5f7de55d77ec2711f8abc718e2c91b" + ], + "outputs": [ + { + "uxid": "17090c40091d009d6a684043d3be2e9cb1dc60a664a9c2e388af1f3a7345724b", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "90.000000", + "hours": 0 + }, + { + "uxid": "f9e7a412cdff80e95ddbe1d76fcc73f967cb99d383b0659e1355c8e623f02b62", + "dst": "WADSeEwEQVbtUy8CfcVimyxX1KjTRkvfoK", + "coins": "5.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 8, + "block_hash": "34ec53ac5b15e8c0c60312f67e209318c3b09c5ecbaabf0843a161f889614584", + "previous_block_hash": "6cb71b57c998a5367101e01d48c097eccd4f5abf311c89bcca8ee213581f355f", + "timestamp": 1428807691, + "fee": 0, + "version": 0, + "tx_body_hash": "7229422f3a0afb5f3a9596ed50146440c17a3d54abda0f3c70cd9dc58de96374" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "7229422f3a0afb5f3a9596ed50146440c17a3d54abda0f3c70cd9dc58de96374", + "inner_hash": "68fb8cd96b0d2a94838183ab24f36f71006383add373837d448a7584ef69bc6c", + "sigs": [ + "b859da7c65d6525247973fc62d274343feb3fe6fd76ab392dc30d7cdc609a7e45018b425fbdc3e79647e43b99d25bfab6c23d60495e5e0ce3cf06b6ce2c4897d00" + ], + "inputs": [ + "17090c40091d009d6a684043d3be2e9cb1dc60a664a9c2e388af1f3a7345724b" + ], + "outputs": [ + { + "uxid": "999cc56deae71486a28e19d1ed8d585c2cf07d5ee27d1c33bea186d23aaca06a", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "85.000000", + "hours": 0 + }, + { + "uxid": "1f810bdd1c65ad50f27f2c47a000150877fdba2fdb78b9d8cae39946be6a9e33", + "dst": "WADSeEwEQVbtUy8CfcVimyxX1KjTRkvfoK", + "coins": "5.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 9, + "block_hash": "d33c2466840a09e10efe3736f3aaad05b6b8d05cedcdd0099f84fd1ec6f55282", + "previous_block_hash": "34ec53ac5b15e8c0c60312f67e209318c3b09c5ecbaabf0843a161f889614584", + "timestamp": 1428807711, + "fee": 0, + "version": 0, + "tx_body_hash": "9d87d7bb9e56a3588bacb478c7556280b28c0a49f6e09db8b54a84c20d865f2f" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "9d87d7bb9e56a3588bacb478c7556280b28c0a49f6e09db8b54a84c20d865f2f", + "inner_hash": "f60dd876ff32adc5e20759f45c04075f46796b0ca2b76a490d5d1e2d5b18424a", + "sigs": [ + "be2ea2bcb4be07705cd034579d77c2fe0f9c7bb29dad0e690f38f8a2e098041c396820004975298d9d3647dfec7cbb610452e294381b898f28d48f166aaea5a500" + ], + "inputs": [ + "999cc56deae71486a28e19d1ed8d585c2cf07d5ee27d1c33bea186d23aaca06a" + ], + "outputs": [ + { + "uxid": "2f87d77c2a7d00b547db1af50e0ba04bafc5b05711e4939e9ec2640a21127dc0", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "80.000000", + "hours": 0 + }, + { + "uxid": "9e8997e53d2e61955da71dbbc6ba5b0da799eaace0f45870a4e42276a6fdaefa", + "dst": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "5.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 10, + "block_hash": "5c5e6b0f6620a3af54a3259222a5269e60db768d7f805edce3f3e29f2597a487", + "previous_block_hash": "d33c2466840a09e10efe3736f3aaad05b6b8d05cedcdd0099f84fd1ec6f55282", + "timestamp": 1428807771, + "fee": 0, + "version": 0, + "tx_body_hash": "98db7eb30e13853d3dd93d5d8b4061596d5d288b6f8b92c4d43c46c6599f67fb" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "98db7eb30e13853d3dd93d5d8b4061596d5d288b6f8b92c4d43c46c6599f67fb", + "inner_hash": "affafab93dc807a9306d1f3c6a19066aca57f284825420fb01e48200349f7ba2", + "sigs": [ + "71008403c675d9b3fdf8c09cc6caa64c681b78ba588fe20abb568e318d2e40b55c44ea614efc475c408e1e6e15cc0df753e6d3f04cb521078e6c928d5aa64c3200" + ], + "inputs": [ + "2f87d77c2a7d00b547db1af50e0ba04bafc5b05711e4939e9ec2640a21127dc0" + ], + "outputs": [ + { + "uxid": "0c5d1b6a61c32f9bcc62d3583ac957b3374f0daf1a14fd08679bff2554449840", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "75.000000", + "hours": 0 + }, + { + "uxid": "ec2c2238793d71240502de3e7c46ec1d5bf938c76541185f1c3fdf0d99a90795", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "5.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-last-10.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-last-10.golden new file mode 100755 index 0000000..f0eff68 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/blocks-last-10.golden @@ -0,0 +1,480 @@ +{ + "blocks": [ + { + "header": { + "seq": 170, + "block_hash": "e854e12b5ed0bcb26b2348448fa2af1cd30cf371763fa91019d62a950bf36c95", + "previous_block_hash": "e266c8beae9f650a3f1cdfa611d9016d99e2ba4b4a67b5d6c4629bc6e66f5f9e", + "timestamp": 1430836422, + "fee": 62, + "version": 0, + "tx_body_hash": "95d847102c01d071982e67b8e7dfae50715b0fc0179d33f4b050974e634905e1" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "95d847102c01d071982e67b8e7dfae50715b0fc0179d33f4b050974e634905e1", + "inner_hash": "c13b7e1722f3616f61948ed42382d4ed41164e7e2110d2d60bf86725f32531de", + "sigs": [ + "cb7da0e16b83f1717614c7f160580ac0048a4276682ac4046c3324ba6f4e24901d162f7ec81a8e5cdf3676df6ace9a73c77e4d3ab7f03a4f0272c75f3715665001" + ], + "inputs": [ + "bffea1990d71311b695b2d343b9f09a216b7a8257c1cdcb01b2ab9459e1490e3" + ], + "outputs": [ + { + "uxid": "be081639ea8da63d8542707e9ea9625f6afc97da132f43ed061645c359bb1e65", + "dst": "212mwY3Dmey6vwnWpiph99zzCmopXTqeVEN", + "coins": "10.000000", + "hours": 8 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 171, + "block_hash": "a58ab1c90b6564043f375c48413800c33ff05c9eef017250672ea5a0dd11bf17", + "previous_block_hash": "e854e12b5ed0bcb26b2348448fa2af1cd30cf371763fa91019d62a950bf36c95", + "timestamp": 1430870562, + "fee": 6084778, + "version": 0, + "tx_body_hash": "fb495093f2f4e5c6555c50150ea60c0a6f430e53aa971ebb3e2b5412866a1f06" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "fb495093f2f4e5c6555c50150ea60c0a6f430e53aa971ebb3e2b5412866a1f06", + "inner_hash": "05596340e51ad628080101c8e92a60f27e0f5ab509e892f9b65a0988b1575ddb", + "sigs": [ + "068a56e916267a1756d9348bb965f3ed2dcba956fe4c626cd4836921dd836f7c0fa923d6451d5c87aa2eab528ff19ec332434bd12e197eeafbf0896e84940c4401" + ], + "inputs": [ + "6b3a0cab1d9ad6fd011a3bac5e6ff4e3f7903bce911dc7fe83926eae557c34c3" + ], + "outputs": [ + { + "uxid": "372703f8109295f0f58fbee58795979e10dd887869f4fc1da4881ce8a3c0aeb4", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "647750.000000", + "hours": 1014129 + }, + { + "uxid": "a35044035cce79cb988c757dcaf5d9a065957c0fbc1a3559d08ed46831504fc2", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "10464.000000", + "hours": 1014129 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 172, + "block_hash": "78ae70c3a0f403b6b5d14dab13e3d29f151a0e279a8a4818fa0fe9becb639dc2", + "previous_block_hash": "a58ab1c90b6564043f375c48413800c33ff05c9eef017250672ea5a0dd11bf17", + "timestamp": 1430870592, + "fee": 849078, + "version": 0, + "tx_body_hash": "7abef7e4080bf2cbe9f147d7c9cbe4c950b38f8477d304466c938b937cd379ba" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "7abef7e4080bf2cbe9f147d7c9cbe4c950b38f8477d304466c938b937cd379ba", + "inner_hash": "f28366f7590220cd42faaf9ea041c8ca4460707e0dbfe1d3ac67da8d9dda268c", + "sigs": [ + "e9ff8a0ce6c5e8b09936e031ef8cc6a0f3f3ed0a5360dcf2f649db3a2da958441c20916b27d1ad2ea8415679755b36967074e20feab7271528cb6b3266268ec201" + ], + "inputs": [ + "074645413ab2aae818e657f6f36420447a872e7cdd2ff64324b486be4d4d1edd" + ], + "outputs": [ + { + "uxid": "b1b832a911d45aeaab73676caad794fe2ab99d423f80c4ff58cfb269656b03dd", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "28100.000000", + "hours": 141512 + }, + { + "uxid": "c31c199a54ecbea5e57bf7f5e73d231a09e11713dd0ee70e340e4b0a9c9f9fdc", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 141512 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 173, + "block_hash": "55b1be7e73d1ec35d71c8bc6f62e1788ded35752b39188c98cab6c9347f77ead", + "previous_block_hash": "78ae70c3a0f403b6b5d14dab13e3d29f151a0e279a8a4818fa0fe9becb639dc2", + "timestamp": 1430871512, + "fee": 764646, + "version": 0, + "tx_body_hash": "a7665cec98224150968ec1ef9ef2d6b3175c9de8f9f8c7bc786b30cc74997c57" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "a7665cec98224150968ec1ef9ef2d6b3175c9de8f9f8c7bc786b30cc74997c57", + "inner_hash": "5bd2503c4ff78e7c9d182bfe5e62e54f1bfb944bb526d97b272021d8ccfa9359", + "sigs": [ + "dbd1e8763cb9681aeb96edc0c8483decee30b670778bec88da249f9d4f2201c330d2a16349608ba51eb8a387805dce9618810c4e6fd7af548cccee7d2c9c5dd201" + ], + "inputs": [ + "372703f8109295f0f58fbee58795979e10dd887869f4fc1da4881ce8a3c0aeb4" + ], + "outputs": [ + { + "uxid": "14027340f6e1d98bba3f7f5f3b50e3588f8a19e4d021db944e7a28b2643640e1", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "635750.000000", + "hours": 127440 + }, + { + "uxid": "793f3f0e41c9d1de391d864792b79ed8c24dde5ff84a73c161d660a73ed70c90", + "dst": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "12000.000000", + "hours": 127440 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 174, + "block_hash": "0a4f2c0ea33c75ae7af4eb743935f53f0953e26fec3bf7128f0a88fdb879f497", + "previous_block_hash": "55b1be7e73d1ec35d71c8bc6f62e1788ded35752b39188c98cab6c9347f77ead", + "timestamp": 1430871622, + "fee": 111521, + "version": 0, + "tx_body_hash": "ad44a8027a825e82a20cdd910d9bd41d74025601b7668c80655e9b45afb8bb93" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "ad44a8027a825e82a20cdd910d9bd41d74025601b7668c80655e9b45afb8bb93", + "inner_hash": "af11c711190f9b52114dd31dcc4dbcdff3f169c6ce2559ff5baf14032e057145", + "sigs": [ + "fd019f0cc492d5b6ba1bab0e3c77659b0e4773ea9b7dbe9808ea1392bfcd41e20aec3438076cb6ae4104bb6730b47ad1f1cfe878155f984ee380da10991b2a5601" + ], + "inputs": [ + "b1b832a911d45aeaab73676caad794fe2ab99d423f80c4ff58cfb269656b03dd" + ], + "outputs": [ + { + "uxid": "c39acd3494113650c1a6a7809287af7b12a78bbd97126d4585dd1715e2cb5a66", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "23100.000000", + "hours": 18586 + }, + { + "uxid": "2d3f7890d11efedd4cee3a7ab4a5cbc56d2c8df4f02124bdad9ec839400053ba", + "dst": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "5000.000000", + "hours": 18586 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 175, + "block_hash": "218d3fadc712eec96e1ca2f68adbb468092c597f269fb3a3702b77c2b80665af", + "previous_block_hash": "0a4f2c0ea33c75ae7af4eb743935f53f0953e26fec3bf7128f0a88fdb879f497", + "timestamp": 1430908702, + "fee": 110149, + "version": 0, + "tx_body_hash": "9364ed6cfcc289df74dc6bac1993f7ab3441b898cb3f06918198d2476c83dbac" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "9364ed6cfcc289df74dc6bac1993f7ab3441b898cb3f06918198d2476c83dbac", + "inner_hash": "a55922b0495d39c8e9db70ac9aca99266d5a7f3644106b4b5468345d955acf41", + "sigs": [ + "cecae09b7925e9f6db1ccf5ef9a93687a43bbeaefe2888abcc07411c71f850c80c05ed573abd67bf9f0e8a096a1aba8187547e3d062e5ed147ac51961cc3559701" + ], + "inputs": [ + "14027340f6e1d98bba3f7f5f3b50e3588f8a19e4d021db944e7a28b2643640e1" + ], + "outputs": [ + { + "uxid": "8e55f10a0615a0737e6906132e09ac08a206971ba4b656f004acc7f4b7889bc8", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "625750.000000", + "hours": 18358 + }, + { + "uxid": "d91e07318227651129b715d2db448ae245b442acd08c8b4525a934f0e87efce9", + "dst": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "10000.000000", + "hours": 18358 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 176, + "block_hash": "7ca9af9ed16449652da34d3ab49f3d6fc6be8cc1af3d31be81043e684f14de37", + "previous_block_hash": "218d3fadc712eec96e1ca2f68adbb468092c597f269fb3a3702b77c2b80665af", + "timestamp": 1431162639, + "fee": 2711954, + "version": 0, + "tx_body_hash": "a17cf54c20ac7ec6e1362acf24c5e5589ed8b49bdba791a87430de160a473913" + }, + "body": { + "txns": [ + { + "length": 1481, + "type": 0, + "txid": "a17cf54c20ac7ec6e1362acf24c5e5589ed8b49bdba791a87430de160a473913", + "inner_hash": "71127fa12d9ca390715586fe313b4e130b24614e0eaec276dc2dd25b7228c39f", + "sigs": [ + "95855ae7d279d4797bafe542fd1803eb6a89533f29ae0d89d3f51256feeacc343dbd3da0d8d104e436c04643c72b5dab7a74634befc942ef9d96ded3e235ab4b01", + "55222337fce2733e7a3f92bf808da32759f33327c616828bdb0a350e5d3567b34fdef1a55340d7f857c4daed9735ad64394697ad941fc883f9365693991299a500", + "950281f4acb6cb8176929740aa90fa8729ac5687ef6500bc087429c43f5414e319c26142fca51c0ed9e5d434a6c83d2e3c837d7c9213398ae2104429d03f35dc01", + "c41f7425ecb51359a1da6ccf090a565beed72c891c49a8c81939a46f914c55de5766e99f1519302bfeef2224f856c859391d1f531004ee088083259fca82b17400", + "ed7085f8ceb26060851a71f665387d7c44774c6b9ddfc8d3a06e1fe50168d48510f63f5b6a0998c2a30d24bf37f1c6030035ef8df6efe6dfdcae38beeaf3a5a701", + "a88fefcc8f2809a288a275aac579f340c5138f8bfedf02964d4e3ed0492ee54e696de7e6f7f0b3f315461fb5df4f8e5e5fc7a5339ca6899c6ca7b122c54c90db00", + "ad9b245807ab8c5c5a713ab7e3bfbbba8af032bc4915c1824d95e95827d95be473eb1f6952ee489ddad59049364220bab124182251142b849235ed552404ba3d01", + "7a403c671ec5a6a6622ff63e4d482d51fda747cbe85cf8ef642aa840154be435409df707aa81a3c4e553e0c2c250a452e8416dc38697c35f830de27924a052fc01", + "06b5966aa7c7dfd425e773aafd46fdf29b41734b73f84ef1cd8941e617e0d6245e99f6d8be8b9609686b0faee4923b8bc149078ebb18c1b2e8f6318c846675e801", + "c5634bef581b26d600ed6f4cea47f402633e74ab8f5497b2c2ca69a01e3dfeda0a38308a4a96cfe58857e4c0c2311ecf4e3f4eef69aa771a1db89c360892492200", + "4807a114ffe9e44797843f76c74e81d72324885a67d560c4e1d6e4cadd271b637176a932dc045844b52a4c92f6892ebb0265838366827fd0e0b6b7e20e4e1ff501", + "bc1ca4e3d0afd920bad8c4ef8a6b847c71f75ae8ca913ddb5d976dca42af12ea3ec3a2e59ec8f57fe4fb41af3f439387272ea847240ee89468c4d808303cf9be00", + "366f0f68a36bccd22e829eb05f960a8015466bb5eeb8e553dd37b52ab624d1756f68501db2a8d14fda04d1adf3239a9785ec142c14c5bb34cb8d47629c191dc901", + "146eed504f7acbbece951bfea4eb426e80852e3dc6ae9c8a68480fdf4e07ddd73a5709e2f9df0154380d837a5ff66582c07a0fc27d0df4e7d6d28bbcb90e3c8d00" + ], + "inputs": [ + "04c0cd4cbee1e5414791d9e0b9ae4f889bc52d253b5f70b09fbc32c88fb415ae", + "f3034ffe54e869315f8e11801d3e755352fb75b878b24313302273c1b7ea62cb", + "3538af0016ec0f4d0e943c5d49daf280b416701fde4040fa72710c0ca1b5b559", + "0560bae3917bca7581af9b6c5a58e395c701ce9ed0241dac2de8a3e93c0b839b", + "3fe7d61ffa993e00200ce6be7ba347c603032ac3f8c4ace07767e630fe94d76c", + "2a09e97f7725a35af1357842206875a023252da4ebfce129eaf4cb87119cfd41", + "617b584bb9e6b1d80daac915fb3079b22a326777d1515a40e7b7eddf427f4099", + "18293d947aadf89d9e57d18fa01408867a9abe267504edbdabf8c2a57d9a6323", + "045dc2e76321e37884588093083ce1b21be12f20ba1fa36f2a755b894229e3cf", + "b1e5c694c30326cda3df2e634723999befbcbb141415e9a36bdbf18d7bea9870", + "db7a63750db787959a9e0d2d6be9a1ba8bb3d6015bae2353a27ae9eb55b39d22", + "5954742a6ca4e3e872d12d4a93436451ad52e6d25e5ac28371e308b2d7ce75a3", + "a35044035cce79cb988c757dcaf5d9a065957c0fbc1a3559d08ed46831504fc2", + "c31c199a54ecbea5e57bf7f5e73d231a09e11713dd0ee70e340e4b0a9c9f9fdc" + ], + "outputs": [ + { + "uxid": "d6735d3ad70dbf553048faf1c529d047ab12282d04e320bd67c915779fc4e3fd", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "24950.000000", + "hours": 451992 + }, + { + "uxid": "a5f3c513b5a01dc5e943a5cae91f54b54cde55e984a9480d68d690f40dfb7914", + "dst": "v4qF7Ceq276tZpTS3HKsZbDguMAcAGAG1q", + "coins": "5.000000", + "hours": 451992 + } + ] + } + ] + }, + "size": 1481 + }, + { + "header": { + "seq": 177, + "block_hash": "3e8ac6b4c715bd92db824163770e28ee1b5362d449241f77719f13614b3c320a", + "previous_block_hash": "7ca9af9ed16449652da34d3ab49f3d6fc6be8cc1af3d31be81043e684f14de37", + "timestamp": 1431162689, + "fee": 338994, + "version": 0, + "tx_body_hash": "e4850021fb706f2b7a94fec9ade3c166823dcd980dc3954437471d98fb9d2280" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "e4850021fb706f2b7a94fec9ade3c166823dcd980dc3954437471d98fb9d2280", + "inner_hash": "1a07c8a17c429aec5c0725dc6e4891f4e304a483211f99b847a6820e410b56ef", + "sigs": [ + "e7d92fbcc6716645c2c28a66ac289453b2967c620e105c7699cee251aa6916227057789d10889689a3f3c743dadfea09e1cf747cc7b7ccb5381fe1af1069e06201" + ], + "inputs": [ + "d6735d3ad70dbf553048faf1c529d047ab12282d04e320bd67c915779fc4e3fd" + ], + "outputs": [ + { + "uxid": "ec439e7c7d8517824885ae1520fa5b19f991d7ade3a12209c0e87f6ad1d30229", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "4950.000000", + "hours": 56499 + }, + { + "uxid": "f5e7796297b7201b1ea87736fadddc7b451f9ed7d4529cfe9f03082e80917628", + "dst": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "20000.000000", + "hours": 56499 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 178, + "block_hash": "bb943b37f989326b057903ccc6eb1fa58a5d35e38706ae1ba81e0a6100bacf26", + "previous_block_hash": "3e8ac6b4c715bd92db824163770e28ee1b5362d449241f77719f13614b3c320a", + "timestamp": 1431162729, + "fee": 395493, + "version": 0, + "tx_body_hash": "ecd101a6af263973ab75f87a3116231e6fe84a2281d0001c9aa2d7195545e78e" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "ecd101a6af263973ab75f87a3116231e6fe84a2281d0001c9aa2d7195545e78e", + "inner_hash": "41bc4ea9ec8214b461a5377d0ae0da38831bc972b8dd54becaf195b5943dd55e", + "sigs": [ + "4a604f9845e202871ac8741962280bb5db6f1295353042922a6f46671f27cc1d6cd4085aec390205aa5ba08f2c841295b4c86d2fab81d6e29fc958dfe9712e2301" + ], + "inputs": [ + "a5f3c513b5a01dc5e943a5cae91f54b54cde55e984a9480d68d690f40dfb7914" + ], + "outputs": [ + { + "uxid": "ba1adbf3006a239fb7ef6efb1f9390a25951a5185dc312dd81bf88025f838456", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "5.000000", + "hours": 56499 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 179, + "block_hash": "93fce3f520d9ec5b5c29226ad39fb61e3b9a92464fdec87d6805cf8e8e782959", + "previous_block_hash": "bb943b37f989326b057903ccc6eb1fa58a5d35e38706ae1ba81e0a6100bacf26", + "timestamp": 1431339429, + "fee": 33129894, + "version": 0, + "tx_body_hash": "f58f664eea258100126636a4111838e489ef5aec848ca8498319c290fa2a0805" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "f58f664eea258100126636a4111838e489ef5aec848ca8498319c290fa2a0805", + "inner_hash": "db98f515ce6c3d99fd7c39a6ac59ab498b1a2cc8fc6a13377ac7d3d463898e7c", + "sigs": [ + "1ca18424c9a313e9c253aecaec3c532c35c60e454f026a3d2794c772bc74a19809d53f8862962e865dd822dd054cd7f32b89b810968d95c9db6a9a0c1095390601" + ], + "inputs": [ + "8e55f10a0615a0737e6906132e09ac08a206971ba4b656f004acc7f4b7889bc8" + ], + "outputs": [ + { + "uxid": "fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f20", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "615700.000000", + "hours": 5521648 + }, + { + "uxid": "01f9c1d6c83dbc1c993357436cdf7f214acd0bfa107ff7f1466d1b18ec03563e", + "dst": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "10050.000000", + "hours": 5521648 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 180, + "block_hash": "63614fdf08b67fcfc99d7b43d115fb9f57eb5c6833acdbdc712ee361f391f292", + "previous_block_hash": "93fce3f520d9ec5b5c29226ad39fb61e3b9a92464fdec87d6805cf8e8e782959", + "timestamp": 1431574528, + "fee": 2265261, + "version": 0, + "tx_body_hash": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d", + "inner_hash": "d5b18a0c0c454e56fe1f7d0c64236d633f65717c04f08cd943f5669b4cc34667", + "sigs": [ + "2fac42571bb301783e46e804069c73c8226b637ae6385fec793e3a3860feaa6918058c55f461cef38341670c5c2da230d2241f267dbde6fc0528a6fb24362b3b00" + ], + "inputs": [ + "c39acd3494113650c1a6a7809287af7b12a78bbd97126d4585dd1715e2cb5a66" + ], + "outputs": [ + { + "uxid": "75692aeff988ce0da734c474dbef3a1ce19a5a6823bbcd36acb856c83262261e", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "hours": 377543 + }, + { + "uxid": "a4b70476ea1e079ebd3503b52eee32d490515457fce6a5aa075770b598a9d14f", + "dst": "CDD8GoJUHEvBm1pD3BQ3hEC2KcJNhvUzpu", + "coins": "1000.000000", + "hours": 377543 + } + ] + } + ] + }, + "size": 220 + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/coinsupply.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/coinsupply.golden new file mode 100755 index 0000000..2ac17eb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/coinsupply.golden @@ -0,0 +1,111 @@ +{ + "current_supply": "384300.000000", + "total_supply": "25000000.000000", + "max_supply": "100000000.000000", + "current_coinhour_supply": "202549286", + "total_coinhour_supply": "24569186081", + "unlocked_distribution_addresses": [ + "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "2EYM4WFHe4Dgz6kjAdUkM6Etep7ruz2ia6h", + "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "ix44h3cojvN6nqGcdpy62X7Rw6Ahnr3Thk", + "AYV8KEBEAPCg8a59cHgqHMqYHP9nVgQDyW", + "2Nu5Jv5Wp3RYGJU1EkjWFFHnebxMx1GjfkF", + "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "tWZ11Nvor9parjg4FkwxNVcby59WVTw2iL", + "m2joQiJRZnj3jN6NsoKNxaxzUTijkdRoSR", + "8yf8PAQqU2cDj8Yzgz3LgBEyDqjvCh2xR7", + "sgB3n11ZPUYHToju6TWMpUZTUcKvQnoFMJ", + "2UYPbDBnHUEc67e7qD4eXtQQ6zfU2cyvAvk", + "wybwGC9rhm8ZssBuzpy5goXrAdE31MPdsj", + "JbM25o7kY7hqJZt3WGYu9pHZFCpA9TCR6t", + "2efrft5Lnwjtk7F1p9d7BnPd72zko2hQWNi", + "Syzmb3MiMoiNVpqFdQ38hWgffHg86D2J4e", + "2g3GUmTQooLrNHaRDhKtLU8rWLz36Beow7F", + "D3phtGr9iv6238b3zYXq6VgwrzwvfRzWZQ", + "gpqsFSuMCZmsjPc6Rtgy1FmLx424tH86My", + "2EUF3GPEUmfocnUc1w6YPtqXVCy3UZA4rAq", + "TtAaxB3qGz5zEAhhiGkBY9VPV7cekhvRYS", + "2fM5gVpi7XaiMPm4i29zddTNkmrKe6TzhVZ", + "ix3NDKgxfYYANKAb5kbmwBYXPrkAsha7uG", + "2RkPshpFFrkuaP98GprLtgHFTGvPY5e6wCK", + "Ak1qCDNudRxZVvcW6YDAdD9jpYNNStAVqm" + ], + "locked_distribution_addresses": [ + "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf", + "KPfqM6S96WtRLMuSy4XLfVwymVqivdcDoM", + "5B98bU1nsedGJBdRD5wLtq7Z8t8ZXio8u5", + "2iZWk5tmBynWxj2PpAFyiZzEws9qSnG3a6n", + "XUGdPaVnMh7jtzPe3zkrf9FKh5nztFnQU5", + "hSNgHgewJme8uaHrEuKubHYtYSDckD6hpf", + "2DeK765jLgnMweYrMp1NaYHfzxumfR1PaQN", + "orrAssY5V2HuQAbW9K6WktFrGieq2m23pr", + "4Ebf4PkG9QEnQTm4MVvaZvJV6Y9av3jhgb", + "7Uf5xJ3GkiEKaLxC2WmJ1t6SeekJeBdJfu", + "oz4ytDKbCqpgjW3LPc52pW2CaK2gxCcWmL", + "2ex5Z7TufQ5Z8xv5mXe53fSQRfUr35SSo7Q", + "WV2ap7ZubTxeDdmEZ1Xo7ufGMkekLWikJu", + "ckCTV4r1pNuz6j2VBRHhaJN9HsCLY7muLV", + "MXJx96ZJVSjktgeYZpVK8vn1H3xWP8ooq5", + "wyQVmno9aBJZmQ99nDSLoYWwp7YDJCWsrH", + "2cc9wKxCsFNRkoAQDAoHke3ZoyL1mSV14cj", + "29k9g3F5AYfVaa1joE1PpZjBED6hQXes8Mm", + "2XPLzz4ZLf1A9ykyTCjW5gEmVjnWa8CuatH", + "iH7DqqojTgUn2JxmY9hgFp165Nk7wKfan9", + "RJzzwUs3c9C8Y7NFYzNfFoqiUKeBhBfPki", + "2W2cGyiCRM4nwmmiGPgMuGaPGeBzEm7VZPn", + "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + "tBaeg9zE2sgmw5ZQENaPPYd6jfwpVpGTzS", + "2hdTw5Hk3rsgpZjvk8TyKcCZoRVXU5QVrUt", + "A1QU6jKq8YgTP79M8fwZNHUZc7hConFKmy", + "q9RkXoty3X1fuaypDDRUi78rWgJWYJMmpJ", + "2Xvm6is5cAPA85xnSYXDuAqiRyoXiky5RaD", + "4CW2CPJEzxhn2PS4JoSLoWGL5QQ7dL2eji", + "24EG6uTzL7DHNzcwsygYGRR1nfu5kco7AZ1", + "KghGnWw5fppTrqHSERXZf61yf7GkuQdCnV", + "2WojewRA3LbpyXTP9ANy8CZqJMgmyNm3MDr", + "2BsMfywmGV3M2CoDA112Rs7ZBkiMHfy9X11", + "kK1Q4gPyYfVVMzQtAPRzL8qXMqJ67Y7tKs", + "28J4mx8xfUtM92DbQ6i2Jmqw5J7dNivfroN", + "gQvgyG1djgtftoCVrSZmsRxr7okD4LheKw", + "3iFGBKapAWWzbiGFSr5ScbhrEPm6Esyvia", + "NFW2akQH2vu7AqkQXxFz2P5vkXTWkSqrSm", + "2MQJjLnWRp9eHh6MpCwpiUeshhtmri12mci", + "2QjRQUMyL6iodtHP9zKmxCNYZ7k3jxtk49C", + "USdfKy7B6oFNoauHWMmoCA7ND9rHqYw2Mf", + "cA49et9WtptYHf6wA1F8qqVgH3kS5jJ9vK", + "qaJT9TjcMi46sTKcgwRQU8o5Lw2Ea1gC4N", + "22pyn5RyhqtTQu4obYjuWYRNNw4i54L8xVr", + "22dkmukC6iH4FFLBmHne6modJZZQ3MC9BAT", + "z6CJZfYLvmd41GRVE8HASjRcy5hqbpHZvE", + "GEBWJ2KpRQDBTCCtvnaAJV2cYurgXS8pta", + "oS8fbEm82cprmAeineBeDkaKd7QownDZQh", + "rQpAs1LVQdphyj9ipEAuukAoj9kNpSP8cM", + "6NSJKsPxmqipGAfFFhUKbkopjrvEESTX3j", + "cuC68ycVXmD2EBzYFNYQ6akhKGrh3FGjSf", + "bw4wtYU8toepomrhWP2p8UFYfHBbvEV425", + "HvgNmDz5jD39Gwmi9VfDY1iYMhZUpZ8GKz", + "SbApuZAYquWP3Q6iD51BcMBQjuApYEkRVf", + "2Ugii5yxJgLzC59jV1vF8GK7UBZdvxwobeJ", + "21N2iJ1qnQRiJWcEqNRxXwfNp8QcmiyhtPy", + "9TC4RGs6AtFUsbcVWnSoCdoCpSfM66ALAc", + "oQzn55UWG4iMcY9bTNb27aTnRdfiGHAwbD", + "2GCdwsRpQhcf8SQcynFrMVDM26Bbj6sgv9M", + "2NRFe7REtSmaM2qAgZeG45hC8EtVGV2QjeB", + "25RGnhN7VojHUTvQBJA9nBT5y1qTQGULMzR", + "26uCBDfF8E2PJU2Dzz2ysgKwv9m4BhodTz9", + "Wkvima5cF7DDFdmJQqcdq8Syaq9DuAJJRD", + "286hSoJYxvENFSHwG51ZbmKaochLJyq4ERQ", + "FEGxF3HPoM2HCWHn82tyeh9o7vEQq5ySGE", + "h38DxNxGhWGTq9p5tJnN5r4Fwnn85Krrb6", + "2c1UU8J6Y3kL4cmQh21Tj8wkzidCiZxwdwd", + "2bJ32KuGmjmwKyAtzWdLFpXNM6t83CCPLq5", + "2fi8oLC9zfVVGnzzQtu3Y3rffS65Hiz6QHo", + "TKD93RxFr2Am44TntLiJQus4qcEwTtvEEQ", + "zMDywYdGEDtTSvWnCyc3qsYHWwj9ogws74", + "25NbotTka7TwtbXUpSCQD8RMgHKspyDubXJ", + "2ayCELBERubQWH5QxUr3cTxrYpidvUAzsSw", + "RMTCwLiYDKEAiJu5ekHL1NQ8UKHi5ozCPg", + "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm" + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/empty-addrs-unconfirmed-txs.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/empty-addrs-unconfirmed-txs.golden new file mode 100755 index 0000000..fe51488 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/empty-addrs-unconfirmed-txs.golden @@ -0,0 +1 @@ +[] diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/empty-addrs.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/empty-addrs.golden new file mode 100755 index 0000000..30dc011 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/empty-addrs.golden @@ -0,0 +1,7239 @@ +[ + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 181, + "block_seq": 0, + "unknown": false + }, + "time": 1426562704, + "txn": { + "length": 0, + "type": 0, + "txid": "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", + "inner_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "timestamp": 1426562704, + "sigs": [], + "inputs": [], + "outputs": [ + { + "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "100000000.000000", + "hours": 100000000000000 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 180, + "block_seq": 1, + "unknown": false + }, + "time": 1427926392, + "txn": { + "length": 3846, + "type": 0, + "txid": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "inner_hash": "0f7019627886818d2501af189bbac18e21b8e959891c5b2726f89e29355aa10a", + "timestamp": 1427926392, + "sigs": [ + "be602113fe288f750001ab65f254ceedd8b05b1becc456a0a52a0bea10b8280e38d950933992ad3265e1f81d197036fa634b316f08b3b319ffce081aa43f3bb600" + ], + "inputs": [ + "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0" + ], + "outputs": [ + { + "uxid": "e3e72ee077c8b0c3f87da7cf50cad8876bd3f489f373d9fe82fc2e971df56f76", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "26f585cb96f35307f0af5b9aee004a29b7795695f4c5c836104e2fbbf429a3ce", + "dst": "2EYM4WFHe4Dgz6kjAdUkM6Etep7ruz2ia6h", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "18a43b8b69bbf12a9e49e6f9783ba258397e6567301aeed9e901a1e4fed9fef9", + "dst": "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5a69ef09b5de21b117cac62141a8de4eade7558c42f0ba8b50996f5ec7867c5d", + "dst": "ix44h3cojvN6nqGcdpy62X7Rw6Ahnr3Thk", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "aef761a12e3d0fa9c4a8db62b8bab1015c32931b7e3a7fc9a77282cec218f79d", + "dst": "AYV8KEBEAPCg8a59cHgqHMqYHP9nVgQDyW", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "445a4082da251fa161e4705d115fe2018ca15a5f92e8a0950793405410e6be12", + "dst": "2Nu5Jv5Wp3RYGJU1EkjWFFHnebxMx1GjfkF", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5e35182bc9372d898df106bb2e7b3dfe33d28e59082f5d19d4a84ac0012d1291", + "dst": "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "368a609ee90ca15bbbd297af07dc6705131764476d54bef641017ffcd0885e65", + "dst": "tWZ11Nvor9parjg4FkwxNVcby59WVTw2iL", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "13afe1586015c4d7312f89d123153279e4961eb0d53a4d036847d5d989ba90dc", + "dst": "m2joQiJRZnj3jN6NsoKNxaxzUTijkdRoSR", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f625cf04412199c16e073dbb500e66c23cfe69043578b4a2d879a329aac563ec", + "dst": "8yf8PAQqU2cDj8Yzgz3LgBEyDqjvCh2xR7", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b2da50a08756c34d059a04812451cf3296f73ba87f8cca38473ac8f051ab6d1e", + "dst": "sgB3n11ZPUYHToju6TWMpUZTUcKvQnoFMJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "135c28698e80e3b2a737d59c16c79684c3fb3ec5cec59f466a39f4ac3c73968e", + "dst": "2UYPbDBnHUEc67e7qD4eXtQQ6zfU2cyvAvk", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "df63056cf3ae21efa86d241876ad0194387317585dc9e4fcd80954b47d59b57a", + "dst": "wybwGC9rhm8ZssBuzpy5goXrAdE31MPdsj", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4628f4cfdbf1eb7cccc25d461c46cc29e90cffb5d6277e0de641f7701d60c308", + "dst": "JbM25o7kY7hqJZt3WGYu9pHZFCpA9TCR6t", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "47e4706dc4d80a70b20c889476fb0627ca6d5bdaa790f4ceba44a689d31b2dcc", + "dst": "2efrft5Lnwjtk7F1p9d7BnPd72zko2hQWNi", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b64bc50d370a06df117eb543ca051239c985cfc4b6aa527c51b700de32c7fc41", + "dst": "Syzmb3MiMoiNVpqFdQ38hWgffHg86D2J4e", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "390bc4c045fa9f289957b7eca529bfadac96a7dd074bcfbdd3b09e99413b8202", + "dst": "2g3GUmTQooLrNHaRDhKtLU8rWLz36Beow7F", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6aa162f7fc09598c4dc8f5fab7fb2383f28c3840937a001acd9f37136e1691b2", + "dst": "D3phtGr9iv6238b3zYXq6VgwrzwvfRzWZQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "e440cf4c896735d3299a871f988c134f404fb2065d1f20c87c9c9bc5fa582e09", + "dst": "gpqsFSuMCZmsjPc6Rtgy1FmLx424tH86My", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "eea791e84a53e4d99485519c5d2c3146b0a2ad080cf92904ae7b28c2d9a6e3ca", + "dst": "2EUF3GPEUmfocnUc1w6YPtqXVCy3UZA4rAq", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "01048ad6a538256d9a8c6c9c6321ca1a01b31cbf08e74fd4ff0f141bf97eb8ce", + "dst": "TtAaxB3qGz5zEAhhiGkBY9VPV7cekhvRYS", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "bc5f1f1ddc8cb23df3d42f1e5a1dda9d356846fe930ae4484bc1eeb1b3b2c95b", + "dst": "2fM5gVpi7XaiMPm4i29zddTNkmrKe6TzhVZ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f03087245a6b64bb69cd5866a1887ae595a9e1a86e196754984840eaf6d3eb9c", + "dst": "ix3NDKgxfYYANKAb5kbmwBYXPrkAsha7uG", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "239bdba27dabd52f7450f7d8521c9a7e5ac74093ae3f6f2348bf40ac9a6db7a5", + "dst": "2RkPshpFFrkuaP98GprLtgHFTGvPY5e6wCK", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d60879e562b65f97d40bec7309d4490ba0a8c80e2349ecb2e3505aaa50ea1e47", + "dst": "Ak1qCDNudRxZVvcW6YDAdD9jpYNNStAVqm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "66e685901492c94942522c346759c711ee2e78a059ef274e77a6ab433409683c", + "dst": "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b497992663f99f9902deaaf487b00655820003015ea92091628f4a6e8aeb5854", + "dst": "KPfqM6S96WtRLMuSy4XLfVwymVqivdcDoM", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "bc40377012004566712fa860e74db97305091cc163e95435e04556c70d32f9c5", + "dst": "5B98bU1nsedGJBdRD5wLtq7Z8t8ZXio8u5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "73304622e33994bc2d4ade2cab78d28e1b65185e60ad3c781ecfb5cbc8159136", + "dst": "2iZWk5tmBynWxj2PpAFyiZzEws9qSnG3a6n", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fed15e8506d0e0898510311850b8863ef6d9a499215ae8823a1e3fb9c8140ab2", + "dst": "XUGdPaVnMh7jtzPe3zkrf9FKh5nztFnQU5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "12034bc455d0821813d7eb9afed1ed1a8f19b6f29826ef4a057b4aa0b4228817", + "dst": "hSNgHgewJme8uaHrEuKubHYtYSDckD6hpf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fc444cdb2598f44209a41ea20afdc9065ebe51b7cd5f65bb1c0f7a7b427ce7b1", + "dst": "2DeK765jLgnMweYrMp1NaYHfzxumfR1PaQN", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "618d242d95d33e2d7316612a164d89859b85f1287f0d5bed4dcb561cf478f706", + "dst": "orrAssY5V2HuQAbW9K6WktFrGieq2m23pr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "07f70fd4108ef4d2fde3b85411728c1f7bd3a135d2062c5a30a46cc885463780", + "dst": "4Ebf4PkG9QEnQTm4MVvaZvJV6Y9av3jhgb", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "af9bcf6ba63a08e699bc101aa362f135343aaf78a56e9f88d118fca0e1ce5c08", + "dst": "7Uf5xJ3GkiEKaLxC2WmJ1t6SeekJeBdJfu", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6b3530bb930ed10bbc4c307663aba4377c08443498a0a2cf023b1be72f378ae1", + "dst": "oz4ytDKbCqpgjW3LPc52pW2CaK2gxCcWmL", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fd6da5199e528958e68ee8dd003b727d4d840754ea7c1e0c05e4f0e504c9b2cd", + "dst": "2ex5Z7TufQ5Z8xv5mXe53fSQRfUr35SSo7Q", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "131f07f5b40f365fb537b863e4aa5ef0efcd77b7fa2ff321d90eeb743ac43678", + "dst": "WV2ap7ZubTxeDdmEZ1Xo7ufGMkekLWikJu", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "ffbdfdbf3427d04f445c33e867845bec1ee64a9dfe0d0fa8284547c2226fdfa9", + "dst": "ckCTV4r1pNuz6j2VBRHhaJN9HsCLY7muLV", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8b53c7188ebf4d630790ff63275679ba48009e31af6e4fe15806619216caa750", + "dst": "MXJx96ZJVSjktgeYZpVK8vn1H3xWP8ooq5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b4c6639b49402c2753f83c7fb7d3ffa65da74e47fef2b781933ff55b14d09bcd", + "dst": "wyQVmno9aBJZmQ99nDSLoYWwp7YDJCWsrH", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0c956289db079c00d2f80c590d3c8ca26c37da534fe5f65e799b3982ceca493c", + "dst": "2cc9wKxCsFNRkoAQDAoHke3ZoyL1mSV14cj", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "550d2a8d3047cdae0c05a61cc3de43e758b123a6955fa067d3ac375f7d0dbadc", + "dst": "29k9g3F5AYfVaa1joE1PpZjBED6hQXes8Mm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "78740d5bf49989936d315bf641949232aace582e03de57db8abff940f7d51bd1", + "dst": "2XPLzz4ZLf1A9ykyTCjW5gEmVjnWa8CuatH", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9f2c83c5165826de1077f428ad39d41473e32ed64cd83180d49e7d8e5db996d0", + "dst": "iH7DqqojTgUn2JxmY9hgFp165Nk7wKfan9", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "883be4d7173c235933294ab8dcae8cc76609166eaa1c1f07e9b51d551c979709", + "dst": "RJzzwUs3c9C8Y7NFYzNfFoqiUKeBhBfPki", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6384ed19650d384c29db4c3a39a1ca855058fab758075be2dee759dd9e6faae1", + "dst": "2W2cGyiCRM4nwmmiGPgMuGaPGeBzEm7VZPn", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "25e22bb83c51f766571cf92ec7303071c9f25e3a34366f4679a22519e6ec368b", + "dst": "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0c238e82f3a4beee1be7b5b464e8553404f6927d5ab93c3d649d362c01097782", + "dst": "tBaeg9zE2sgmw5ZQENaPPYd6jfwpVpGTzS", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "dad4991bfa5c51eb176f28c1b3f86661e02579905e6e07c997df22004e06244a", + "dst": "2hdTw5Hk3rsgpZjvk8TyKcCZoRVXU5QVrUt", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4ba91512c168281f41d3934b927d0d86a3136a31cc345b635095928f8e5f013c", + "dst": "A1QU6jKq8YgTP79M8fwZNHUZc7hConFKmy", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c416f5e604eeada9ae8e520a429d8f19d4230626769e7121007e01353730784f", + "dst": "q9RkXoty3X1fuaypDDRUi78rWgJWYJMmpJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "7b8787fd4076c27d074d2a4761377a1aa26c843c432e3b7e6b0ebf1e29528188", + "dst": "2Xvm6is5cAPA85xnSYXDuAqiRyoXiky5RaD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "38f22b194f04d85a6b545b37df06195edeb8503798b229ddeaa946018150c05c", + "dst": "4CW2CPJEzxhn2PS4JoSLoWGL5QQ7dL2eji", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "246377a036ad5444bcd5f47ac9e55fec7c85fc40644df593038d360554a809f7", + "dst": "24EG6uTzL7DHNzcwsygYGRR1nfu5kco7AZ1", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c6d5e543ff5f2c2526728d588fb21753db5b7e05b8b275aa5e9b24d29350afb0", + "dst": "KghGnWw5fppTrqHSERXZf61yf7GkuQdCnV", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "98e223e6e2240fef83082d3daa86e46f10e0c71f3f74489ba95db0951a166f53", + "dst": "2WojewRA3LbpyXTP9ANy8CZqJMgmyNm3MDr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c8971ca91f8e21c556f647940073db003f7dd5582ae55d4ebca602d5e8e91a6e", + "dst": "2BsMfywmGV3M2CoDA112Rs7ZBkiMHfy9X11", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "dfa7822c05f54116c9fc3b2cde1ecb4667f47a2d8771fe886e832c223cdc4e82", + "dst": "kK1Q4gPyYfVVMzQtAPRzL8qXMqJ67Y7tKs", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6d37c0c4b6fcbac1e53a46c9c2dc5d3c3b36312c53f25b2baacc785ea77a11f7", + "dst": "28J4mx8xfUtM92DbQ6i2Jmqw5J7dNivfroN", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9ba5e31610f0545666f102465efa8caa48ad3fb5b8abd5ae802f4a71e3f7de3b", + "dst": "gQvgyG1djgtftoCVrSZmsRxr7okD4LheKw", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "3ca365aace71e24b04d6f2ffbf7171468c5e71783858c710cae539c5e43e0c0e", + "dst": "3iFGBKapAWWzbiGFSr5ScbhrEPm6Esyvia", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c858f2db2a20ac562d32f8fb2a3a11039849a6e44d2bec30befb2e173532a9a3", + "dst": "NFW2akQH2vu7AqkQXxFz2P5vkXTWkSqrSm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "1550a76598693b950346397e0e825bbb2805edde38b0d0240e50050829b7b1dd", + "dst": "2MQJjLnWRp9eHh6MpCwpiUeshhtmri12mci", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "466340ab7733abb23ab24d877c673fe089c273f11808fbbd6f33a91da92ee96c", + "dst": "2QjRQUMyL6iodtHP9zKmxCNYZ7k3jxtk49C", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "401d4c0c1060ebbb4b9fb3859c2eb47789f94086f4deb01234bf46f7cdc81247", + "dst": "USdfKy7B6oFNoauHWMmoCA7ND9rHqYw2Mf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "2c0e3aa084f5fec45f99b3f125ce7d50c6da526ef5165df5f22ba603147c3fc2", + "dst": "cA49et9WtptYHf6wA1F8qqVgH3kS5jJ9vK", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d2e724d83e35235c23c0bb16ae9b708a5bba3c23b186b05d4b8c606f6bb4b311", + "dst": "qaJT9TjcMi46sTKcgwRQU8o5Lw2Ea1gC4N", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4f30eae8c49eb268fe364eaf5ee0788da6e2f6adc2f83cd82e96a4bfe98496f5", + "dst": "22pyn5RyhqtTQu4obYjuWYRNNw4i54L8xVr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8753d5775c22477a8ef74eeebf61d7de30be702e70118f552cc18ad963ffe950", + "dst": "22dkmukC6iH4FFLBmHne6modJZZQ3MC9BAT", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "efa2007c561dcbf7c83a6bbdd2ef75e7cca76b05330a8b948ba0dd94dee949f7", + "dst": "z6CJZfYLvmd41GRVE8HASjRcy5hqbpHZvE", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8b379d1b8ff0153c63ee69c40a7155b97fa42ab570f68ff847d457316c4d8ab9", + "dst": "GEBWJ2KpRQDBTCCtvnaAJV2cYurgXS8pta", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cc84f93adce16699d9e84ef32f55333402431b58dc50c17084bcb8b33f382f88", + "dst": "oS8fbEm82cprmAeineBeDkaKd7QownDZQh", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f38f0760769c19075034f70b059abf4d1bfa6d01e1e8c369a99900ed1eaeca6d", + "dst": "rQpAs1LVQdphyj9ipEAuukAoj9kNpSP8cM", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8d55f76bb0b3dd222cf85a7193501c0f4071b446f56dbd1da355b1625993325a", + "dst": "6NSJKsPxmqipGAfFFhUKbkopjrvEESTX3j", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "efde499c7e4444bc602b7bf5ed50e95a18ce8ec9a06ba9d850a05bb7a25ecb3a", + "dst": "cuC68ycVXmD2EBzYFNYQ6akhKGrh3FGjSf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "2a4d631d5dc90e397d85f13410d1a6d877dcaf592a0e2be2e727443ac74b5bd5", + "dst": "bw4wtYU8toepomrhWP2p8UFYfHBbvEV425", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "e936299a21240744f6edbab493449323f920bbe15dcf294463e5a2ace10f27b0", + "dst": "HvgNmDz5jD39Gwmi9VfDY1iYMhZUpZ8GKz", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "44e17f4bd29411a1614457171c06183e364bf6ff80a201717b2dfc0748e9ebe3", + "dst": "SbApuZAYquWP3Q6iD51BcMBQjuApYEkRVf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "1941e5cc5e38dd92427580af699b1f410be7b29ff17d3d0ff3d046bfba0aaabf", + "dst": "2Ugii5yxJgLzC59jV1vF8GK7UBZdvxwobeJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "ff6c0f27fcf92f3b4a3871b801c3116847fe47a7e3bafcadd4855d06012091ad", + "dst": "21N2iJ1qnQRiJWcEqNRxXwfNp8QcmiyhtPy", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cd6c4b785e60757fad0e6fd4874b729ea7703fe7ee9560e1283d2eb71fc75321", + "dst": "9TC4RGs6AtFUsbcVWnSoCdoCpSfM66ALAc", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "745eaff456a390c3868742a039e72c2a93ff8eee10417dbe848d533b89facc04", + "dst": "oQzn55UWG4iMcY9bTNb27aTnRdfiGHAwbD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d2f3f050c9ef31bf5c3b14c1c71699c4f4b38aa18479531194d12e6277416516", + "dst": "2GCdwsRpQhcf8SQcynFrMVDM26Bbj6sgv9M", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0b95850edabed70762768ac1695c5d7f230cccaa8de06657cda42cafba36374f", + "dst": "2NRFe7REtSmaM2qAgZeG45hC8EtVGV2QjeB", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "7c767d3a06db1ac0e1809ebe29a7d9689143259f4651837de54423e287c20490", + "dst": "25RGnhN7VojHUTvQBJA9nBT5y1qTQGULMzR", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "78b07e8fe1366e173f2eeb75c35cd53baf0f6100de50ae12b4ffe7d0d7ba4298", + "dst": "26uCBDfF8E2PJU2Dzz2ysgKwv9m4BhodTz9", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5010eb25f6e1ed725fb901ae1e945e545ae846d7be8a135333d2d41102c33328", + "dst": "Wkvima5cF7DDFdmJQqcdq8Syaq9DuAJJRD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "178a33e64826cd2039b8538b74e6de513966acab45ab79d77dc9392018a65ffb", + "dst": "286hSoJYxvENFSHwG51ZbmKaochLJyq4ERQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "044dc539d063250dc654b2bf0986a9044b4eea05e1284c11a2b313acd8dc3498", + "dst": "FEGxF3HPoM2HCWHn82tyeh9o7vEQq5ySGE", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9fd5ea38f383291566def44b6fb932414f97123952578fe0cfb9a30eb075a099", + "dst": "h38DxNxGhWGTq9p5tJnN5r4Fwnn85Krrb6", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "be5930e9cc35801433bcd21db84da7d4f1d8e744feca16a2c6fb00c81ce93e51", + "dst": "2c1UU8J6Y3kL4cmQh21Tj8wkzidCiZxwdwd", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8cd999cd193d315e5f1c6f74c230c12e6abe6847924f6e89d988e09ca413f52e", + "dst": "2bJ32KuGmjmwKyAtzWdLFpXNM6t83CCPLq5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0cff53628eb0e984c134b68cbe4b1bb7721a05adaa32e93b9df489a9a7a176cf", + "dst": "2fi8oLC9zfVVGnzzQtu3Y3rffS65Hiz6QHo", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "a5ef046e84be9ff2485dde49afe6073811286761afac3bbd588b6e4130930479", + "dst": "TKD93RxFr2Am44TntLiJQus4qcEwTtvEEQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cdee5f84c4f08098ac740e3a260ced14c1e199e126aa5291ec079b281a7dc407", + "dst": "zMDywYdGEDtTSvWnCyc3qsYHWwj9ogws74", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6a24135f8496e7a37dcf7164218bb3aa530319f3b2bf3c7a1a9cc1bd17831328", + "dst": "25NbotTka7TwtbXUpSCQD8RMgHKspyDubXJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "693c7f970b34ce5882e62430f4c9c28957159a257d27d4e21a61fd95c6b97464", + "dst": "2ayCELBERubQWH5QxUr3cTxrYpidvUAzsSw", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c008a613cef129c180dbcc7213f2d41a14d245d06a3844d63d9beac963145385", + "dst": "RMTCwLiYDKEAiJu5ekHL1NQ8UKHi5ozCPg", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "439cdfd03972fb4bb5da54208cf8098ee78228c487ce9e84623f5f83e17a7d68", + "dst": "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm", + "coins": "1000000.000000", + "hours": 1 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 179, + "block_seq": 2, + "unknown": false + }, + "time": 1427927651, + "txn": { + "length": 220, + "type": 0, + "txid": "312a269b8248e389c61571cc13f4ad13b7d53b64853d990ddc301a58e7071889", + "inner_hash": "4daff2831f5bc2877a98a49b0ef75f8ff01bcb35082fd4018c77707dfca31849", + "timestamp": 1427927651, + "sigs": [ + "f4482e0781e0d94c8c4773940e1f811405681844a9dc3c1938243442e1cbd5463d5e251880abbf8ff1ed85b4b2659e83ee30f06cc4c5dc9913aa6a9630fbe3de01" + ], + "inputs": [ + "e3e72ee077c8b0c3f87da7cf50cad8876bd3f489f373d9fe82fc2e971df56f76" + ], + "outputs": [ + { + "uxid": "0cd548e03bd13bca8647cd13f6baef0c65fd03081aeb6dc3695536e5bc6018ae", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999990.000000", + "hours": 1 + }, + { + "uxid": "af0b2c1cc882a56b6c0c06e99e7d2731413b988329a2c47a5c2aa8be589b707a", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 178, + "block_seq": 3, + "unknown": false + }, + "time": 1427927671, + "txn": { + "length": 183, + "type": 0, + "txid": "a6a709e9388a4d67a47d262b11da5f804eddd9d67acc4a3e450f7a567bdc1619", + "inner_hash": "ea6adee3180c7f9d73d1e693822d5d1c2bba85067f89a873355bc771a078faa1", + "timestamp": 1427927671, + "sigs": [ + "ce8fd47e2044ed17998f92621e90329f673a746c802d67f639ca083705dd199f6ee346781497b44132434922879244d819694b5903093f784570c55d293ab4af01" + ], + "inputs": [ + "af0b2c1cc882a56b6c0c06e99e7d2731413b988329a2c47a5c2aa8be589b707a" + ], + "outputs": [ + { + "uxid": "9eb7954461ba0256c9054fe38c00c66e60428dccf900a62e74b9fe39310aea13", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 177, + "block_seq": 4, + "unknown": false + }, + "time": 1428793611, + "txn": { + "length": 220, + "type": 0, + "txid": "c24b92898381fbebe59a457924184f4cce1e7166e140ca75aea5baf854c1ab75", + "inner_hash": "43dd65d5644ec5214a901ac94e530cbedb83d2174cf402c7b24697cfe55e1de7", + "timestamp": 1428793611, + "sigs": [ + "434a7a0b624fda393c1caa57ac9787f69da3d8854d0ec6f69f0da1c96c9b683d787064b644e9ac3dd4dd8466c22c1547cff89c2552420f5efcfd1eacb1a2eac301" + ], + "inputs": [ + "0cd548e03bd13bca8647cd13f6baef0c65fd03081aeb6dc3695536e5bc6018ae" + ], + "outputs": [ + { + "uxid": "706f82c481906108880d79372ab5c126d32ecc98cf3f7c74cf33f5fda49dcf70", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999980.000000", + "hours": 3704 + }, + { + "uxid": "98b3e6e6d4ed36159b7dbf5f305174fc0c255d2d97528b35a67d50b9968e2b2f", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 176, + "block_seq": 5, + "unknown": false + }, + "time": 1428798821, + "txn": { + "length": 317, + "type": 0, + "txid": "0579e7727627cd9815a8a8b5e1df86124f45a4132cc0dbd00d2f110e4f409b69", + "inner_hash": "fe123ca954a82bb1ce2cc9ef9c56d6b649a4cbaf5b17394b0ffda651ed32327e", + "timestamp": 1428798821, + "sigs": [ + "056ed0f74367fb1370d7e98689953983d9cf34eb6669854f1645c8a16c93d85075661e7d4f6df0ce5ca8eb9852eff6a12fbac2caafee03bb8c616f847c61416800", + "8aaa7f320a7b01169d3217a600100cb27c55e4ce56cd3455814f56d8e4e65be746e0e20e776087af6f19361f0b898edc2123a5f9bd35d24ef8b8669ca85b142601" + ], + "inputs": [ + "9eb7954461ba0256c9054fe38c00c66e60428dccf900a62e74b9fe39310aea13", + "706f82c481906108880d79372ab5c126d32ecc98cf3f7c74cf33f5fda49dcf70" + ], + "outputs": [ + { + "uxid": "fa2b598d233fe434f907f858d5de812eacf50c7b3fd152c77cd6e246fe356a9e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999890.000000", + "hours": 4073 + }, + { + "uxid": "dc63c680f408c4e646037966189383a5d50eda34e666c2a0c75c0c6bf13b71a1", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "100.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 175, + "block_seq": 6, + "unknown": false + }, + "time": 1428806251, + "txn": { + "length": 220, + "type": 0, + "txid": "03b3ab821cdaf0ab8cc1a9e2dd30108772ec3bda09e9d3a8c48df9f30d213b38", + "inner_hash": "e49bf8f45cb6664d36ec632e37bd91566d8bd4ea9ce209a0a955323a94dd744f", + "timestamp": 1428806251, + "sigs": [ + "0a0d9a3fa0597667fb991bbe047ff93c591313faf759fcec2f47138bc0666b333b7689ad527ddb8ef135897be41016f755eb14e46cd327fc5eb196bce80c3cd400" + ], + "inputs": [ + "dc63c680f408c4e646037966189383a5d50eda34e666c2a0c75c0c6bf13b71a1" + ], + "outputs": [ + { + "uxid": "8ff8a647e4542fab01e078ac467b2c9f2e5f7de55d77ec2711f8abc718e2c91b", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "95.000000", + "hours": 0 + }, + { + "uxid": "778048daec0c83f89525a6d69b60c407d090bb1666711b1c560e6ebee8dcc452", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "5.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 174, + "block_seq": 7, + "unknown": false + }, + "time": 1428807671, + "txn": { + "length": 220, + "type": 0, + "txid": "f832428481690fa918d6d29946e191f2c8c89b2388a906e0c53dceee6070a24b", + "inner_hash": "f440c514779522a6387edda9b9d9835f00680fb314546efb7bc9762a17884156", + "timestamp": 1428807671, + "sigs": [ + "8fe96f5502270e4efa962b2aef2b81795fe26a8f0c9a494e2ae9c7e624af455c49396270ae7a25b41d439fd56dea9d556a135129122de1b1274b1e2a5d75f2ea01" + ], + "inputs": [ + "8ff8a647e4542fab01e078ac467b2c9f2e5f7de55d77ec2711f8abc718e2c91b" + ], + "outputs": [ + { + "uxid": "17090c40091d009d6a684043d3be2e9cb1dc60a664a9c2e388af1f3a7345724b", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "90.000000", + "hours": 0 + }, + { + "uxid": "f9e7a412cdff80e95ddbe1d76fcc73f967cb99d383b0659e1355c8e623f02b62", + "dst": "WADSeEwEQVbtUy8CfcVimyxX1KjTRkvfoK", + "coins": "5.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 173, + "block_seq": 8, + "unknown": false + }, + "time": 1428807691, + "txn": { + "length": 220, + "type": 0, + "txid": "7229422f3a0afb5f3a9596ed50146440c17a3d54abda0f3c70cd9dc58de96374", + "inner_hash": "68fb8cd96b0d2a94838183ab24f36f71006383add373837d448a7584ef69bc6c", + "timestamp": 1428807691, + "sigs": [ + "b859da7c65d6525247973fc62d274343feb3fe6fd76ab392dc30d7cdc609a7e45018b425fbdc3e79647e43b99d25bfab6c23d60495e5e0ce3cf06b6ce2c4897d00" + ], + "inputs": [ + "17090c40091d009d6a684043d3be2e9cb1dc60a664a9c2e388af1f3a7345724b" + ], + "outputs": [ + { + "uxid": "999cc56deae71486a28e19d1ed8d585c2cf07d5ee27d1c33bea186d23aaca06a", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "85.000000", + "hours": 0 + }, + { + "uxid": "1f810bdd1c65ad50f27f2c47a000150877fdba2fdb78b9d8cae39946be6a9e33", + "dst": "WADSeEwEQVbtUy8CfcVimyxX1KjTRkvfoK", + "coins": "5.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 172, + "block_seq": 9, + "unknown": false + }, + "time": 1428807711, + "txn": { + "length": 220, + "type": 0, + "txid": "9d87d7bb9e56a3588bacb478c7556280b28c0a49f6e09db8b54a84c20d865f2f", + "inner_hash": "f60dd876ff32adc5e20759f45c04075f46796b0ca2b76a490d5d1e2d5b18424a", + "timestamp": 1428807711, + "sigs": [ + "be2ea2bcb4be07705cd034579d77c2fe0f9c7bb29dad0e690f38f8a2e098041c396820004975298d9d3647dfec7cbb610452e294381b898f28d48f166aaea5a500" + ], + "inputs": [ + "999cc56deae71486a28e19d1ed8d585c2cf07d5ee27d1c33bea186d23aaca06a" + ], + "outputs": [ + { + "uxid": "2f87d77c2a7d00b547db1af50e0ba04bafc5b05711e4939e9ec2640a21127dc0", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "80.000000", + "hours": 0 + }, + { + "uxid": "9e8997e53d2e61955da71dbbc6ba5b0da799eaace0f45870a4e42276a6fdaefa", + "dst": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "5.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 171, + "block_seq": 10, + "unknown": false + }, + "time": 1428807771, + "txn": { + "length": 220, + "type": 0, + "txid": "98db7eb30e13853d3dd93d5d8b4061596d5d288b6f8b92c4d43c46c6599f67fb", + "inner_hash": "affafab93dc807a9306d1f3c6a19066aca57f284825420fb01e48200349f7ba2", + "timestamp": 1428807771, + "sigs": [ + "71008403c675d9b3fdf8c09cc6caa64c681b78ba588fe20abb568e318d2e40b55c44ea614efc475c408e1e6e15cc0df753e6d3f04cb521078e6c928d5aa64c3200" + ], + "inputs": [ + "2f87d77c2a7d00b547db1af50e0ba04bafc5b05711e4939e9ec2640a21127dc0" + ], + "outputs": [ + { + "uxid": "0c5d1b6a61c32f9bcc62d3583ac957b3374f0daf1a14fd08679bff2554449840", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "75.000000", + "hours": 0 + }, + { + "uxid": "ec2c2238793d71240502de3e7c46ec1d5bf938c76541185f1c3fdf0d99a90795", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "5.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 170, + "block_seq": 11, + "unknown": false + }, + "time": 1428808851, + "txn": { + "length": 220, + "type": 0, + "txid": "4a87de6869c974099e3f5522404fbc7b23f90a8f8dec958bf725317454036cdc", + "inner_hash": "53ecc82b426d4b806eb1c743e892edbc7eb7051c88f3fa8afc74a6a5b80cc57a", + "timestamp": 1428808851, + "sigs": [ + "dbbb5acf0130c39a6b2fd760dda1df5aaefd94d8a0904e6faf959feade87d17a5c754459b635e0048e1019dadb9815a54d8bca4cf234f6876b19b5a0df5e494a00" + ], + "inputs": [ + "ec2c2238793d71240502de3e7c46ec1d5bf938c76541185f1c3fdf0d99a90795" + ], + "outputs": [ + { + "uxid": "9c7d3674d7a6b28a559a052e6d354ec13d2e0396739973c9f0dce08f8c7d157c", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "4.000000", + "hours": 0 + }, + { + "uxid": "3f8c01eefca28ec6d89d34b899fecb5c97f9348b412c61e7c863310b8a85b953", + "dst": "2M2VC93aQv5asdcNKt7pzJdkxeL6xLw9JPp", + "coins": "1.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 169, + "block_seq": 12, + "unknown": false + }, + "time": 1428814821, + "txn": { + "length": 183, + "type": 0, + "txid": "9ea7b912cbfca157ef5fe9c59dd2407302d1b4d95414829d93c45bde6c2d42c8", + "inner_hash": "8a294b39558a38da2c996a7ce12eb6e045b44ce3b3a153bcfdc664a246b1a46d", + "timestamp": 1428814821, + "sigs": [ + "81d65e0a176c322059776922be59a385f3d5f430502e51b94dba78662a42161805bea61e646fdd9cad314fcfea00d6f790f758c4e3c8b22ec3bfcf73c79033c100" + ], + "inputs": [ + "3f8c01eefca28ec6d89d34b899fecb5c97f9348b412c61e7c863310b8a85b953" + ], + "outputs": [ + { + "uxid": "34de4a6d093e880f813b4dc466b51f6814923e157ffbba0e9abbc4bfbd938de8", + "dst": "2AsyTLyWNR3FGhaMbLckaJyAZN46mrqFfXA", + "coins": "1.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 168, + "block_seq": 13, + "unknown": false + }, + "time": 1428814891, + "txn": { + "length": 220, + "type": 0, + "txid": "fa33df7c4316cea05095e6c7ce86f361847893d26fe2255af118593a33686c52", + "inner_hash": "2e88fb3c0f9eaa317794e966e4275cfe62949eed43fa2987729b877178fb9951", + "timestamp": 1428814891, + "sigs": [ + "25df6c1b4ae2c0cfac2f3ac608b108e5a83ef07c19a125dd098729734bdd6a1f65ca8a3f34878b07f6cd3e7d3e21ab432b1dec68f273dbb52a0ff90b253b6f9201" + ], + "inputs": [ + "9c7d3674d7a6b28a559a052e6d354ec13d2e0396739973c9f0dce08f8c7d157c" + ], + "outputs": [ + { + "uxid": "04c0cd4cbee1e5414791d9e0b9ae4f889bc52d253b5f70b09fbc32c88fb415ae", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "3.000000", + "hours": 4 + }, + { + "uxid": "f3034ffe54e869315f8e11801d3e755352fb75b878b24313302273c1b7ea62cb", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 167, + "block_seq": 14, + "unknown": false + }, + "time": 1428815131, + "txn": { + "length": 183, + "type": 0, + "txid": "b68d78c9a4610b540933eaa550fbb1c473f5cf749eb522882f8154d495453e7d", + "inner_hash": "aeb75b736b0467e49884795158dfc6ea5c6cfe2b4f696d9d5b29c1fcac503834", + "timestamp": 1428815131, + "sigs": [ + "dc926994a9bdd69aca5887edab30fbcbe9fc008328424ca0a38a258bd8c78b543af0e8aaa4195ef9e7c4fb7009f1dbdbb322894be8a319f4dff3809a3592a81400" + ], + "inputs": [ + "34de4a6d093e880f813b4dc466b51f6814923e157ffbba0e9abbc4bfbd938de8" + ], + "outputs": [ + { + "uxid": "3538af0016ec0f4d0e943c5d49daf280b416701fde4040fa72710c0ca1b5b559", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 166, + "block_seq": 15, + "unknown": false + }, + "time": 1428820169, + "txn": { + "length": 220, + "type": 0, + "txid": "70dd5840d7260cf584457c76d3226312f4d033c023caf8c0ab3a65f9b831e9e0", + "inner_hash": "4357c427cbc4b55139089389858dd8245464f674d4fff82e5daba9e18384a0b3", + "timestamp": 1428820169, + "sigs": [ + "964c4b0c6cde6625863adebd74910851a440a636823dab9d0cf0fbc4581e3dcb486be22ba19d0c6d6eb17db22d1b1389589ec4b6cff8e8a9b231c66fe40c565500" + ], + "inputs": [ + "0c5d1b6a61c32f9bcc62d3583ac957b3374f0daf1a14fd08679bff2554449840" + ], + "outputs": [ + { + "uxid": "acd35cec566de86b4ed464b6cf3c3ec561140c070134d1e03094775454da2159", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "70.000000", + "hours": 102 + }, + { + "uxid": "4a06f4b59bc5626e6a92704b4e4441096e909b884eab84505699a3136abb69b3", + "dst": "PRXLNyB64cqaiG4pCoFZZ8Tuv7LWYPpa7m", + "coins": "5.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 165, + "block_seq": 16, + "unknown": false + }, + "time": 1428820629, + "txn": { + "length": 220, + "type": 0, + "txid": "e96e157b685c28847d6758e2ba326ad59cf2661c926fb08000d4b40d78a9eee3", + "inner_hash": "3153d35c8b133bc76ea6bef8799c9fbfd36a3cd3e8e42e170ab131eb309acea8", + "timestamp": 1428820629, + "sigs": [ + "11813ce8ce2db73c23a8167696621443e0d80ec878d964d5164da33f259f55d17e5f1fc2292709542015c7bd86874ed855c0c80406a53a35759722d014a8c31300" + ], + "inputs": [ + "4a06f4b59bc5626e6a92704b4e4441096e909b884eab84505699a3136abb69b3" + ], + "outputs": [ + { + "uxid": "e72d8ba4ce2d3b37aeb71df2e3bed80ee07204b3fa633f56cbce7bca836bd39c", + "dst": "PRXLNyB64cqaiG4pCoFZZ8Tuv7LWYPpa7m", + "coins": "3.000000", + "hours": 0 + }, + { + "uxid": "0b720d05d44354ff0c6c75d55f1cd4e5945bc2ca80f2ba840545205362202925", + "dst": "ZWhZtjwXMS46cpDxfRwQyxxKPhqwsQu8oN", + "coins": "2.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 164, + "block_seq": 17, + "unknown": false + }, + "time": 1428989855, + "txn": { + "length": 220, + "type": 0, + "txid": "d952ef4cc45a89c14230ba0f7e30b782fad83cb6506ac0f503a242c568c1287a", + "inner_hash": "8fc48920982066fd4c69e2d2c0c5239cca7c296f0e3ad30e9b976c1230967478", + "timestamp": 1428989855, + "sigs": [ + "b7eb93bcebb6df3dcad48afd66dd60bd42b1fbcdf52aa5e0c7e455e791f64a976fa416534b4e08bf3e62a2df83e13754119634c4255dd1e2e08be447d4d5b47201" + ], + "inputs": [ + "fa2b598d233fe434f907f858d5de812eacf50c7b3fd152c77cd6e246fe356a9e" + ], + "outputs": [ + { + "uxid": "4168b9378363cd81939e667cf78055d35a60d3101f5f9e3d2ae709e3981e29fc", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999880.000000", + "hours": 4040790 + }, + { + "uxid": "c603e99ceae4d15c20360714ee07ba6e3a944a97ea9285d164c23252e93958b6", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 163, + "block_seq": 18, + "unknown": false + }, + "time": 1428989925, + "txn": { + "length": 183, + "type": 0, + "txid": "686db0a8cd429970bb91163033703410d4750c86ba485709fe1a3faabbbb42f6", + "inner_hash": "76732ac6a9936242193011d78a0f2849529aee767a569c9c6bb25b3bbae15cee", + "timestamp": 1428989925, + "sigs": [ + "d74dcfdc8401a29b1dccc728b40b6b79faea147c65b4a859063ad77cc63aa9a62417c63b91b94678b6656fdba2f242d836b6914e77d244fbd16aaab014ddb44300" + ], + "inputs": [ + "c603e99ceae4d15c20360714ee07ba6e3a944a97ea9285d164c23252e93958b6" + ], + "outputs": [ + { + "uxid": "d9dae1f82177f979b07016a341ed5c281ed6ed8eaa785a8a107ec16efbe541ef", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 162, + "block_seq": 19, + "unknown": false + }, + "time": 1428990115, + "txn": { + "length": 220, + "type": 0, + "txid": "c6eccf17b4b952f19548b1924126c9dc409b45f9e6fcc0954a3494e7399f5fd4", + "inner_hash": "736a1b4f415c1b0968470fac4d123ec52943b9d2ea7d2ce376307b2477a29acd", + "timestamp": 1428990115, + "sigs": [ + "3660a24958b1b20beabb7f77d2ee1ddd91f1e40e8393b48d5ed4722d97bd1430150c5ea0f8ea1a2688a0d9f336c9c1f78a214150cc1ca3d895a694edde65ac0700" + ], + "inputs": [ + "acd35cec566de86b4ed464b6cf3c3ec561140c070134d1e03094775454da2159" + ], + "outputs": [ + { + "uxid": "af7deecc9b45c4696ad50246c8aa06b17aa8280b2574f295697a4210fc45f57d", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "65.000000", + "hours": 2268 + }, + { + "uxid": "b56517b7803a4b2cca522e1cca5f75894db174c97d0e127826f5414544eccb72", + "dst": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "5.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 161, + "block_seq": 20, + "unknown": false + }, + "time": 1428990135, + "txn": { + "length": 220, + "type": 0, + "txid": "22766105d0f93d01fed7bed2dcabedfd89fe846621c912b0af845d8ba5d265f8", + "inner_hash": "3d516c76b1f147942f2237a2c07f9626624385fb858199ba63ec2d39112b6dfd", + "timestamp": 1428990135, + "sigs": [ + "94e1b26e60d075536abd602ae88015f73ce638e49ec4e6be358cea8950853d0b4174aeeb0391ea05a9c62a6d37164c1fbab1d1ab53c9e2efd80ca4738ec3480e00" + ], + "inputs": [ + "af7deecc9b45c4696ad50246c8aa06b17aa8280b2574f295697a4210fc45f57d" + ], + "outputs": [ + { + "uxid": "ec9bbaf9309772ade9860f145705b9e9ee4a70ed1eeed1983d058ccaafd6c02c", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "60.000000", + "hours": 1512 + }, + { + "uxid": "e55a8d2ebe0f48f17a175fdd67d47deb5015b2ee8e91de16b2b121c8ad830e40", + "dst": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "5.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 160, + "block_seq": 21, + "unknown": false + }, + "time": 1428991365, + "txn": { + "length": 220, + "type": 0, + "txid": "67f180076fed1599152c62337a12deee7e1a468b19f7e720df51415c28bfb986", + "inner_hash": "1d676e397e50442c001f98385b525f8df39ef7189ebb0744cb3f868d8c96f00c", + "timestamp": 1428991365, + "sigs": [ + "797c7987aab5c7a6a63eb06d514063a31b27beed8bfe22f15fbdf7b08c65702903d778d48e8cd027a9569c9973d0e52234977df7e0b9391967c913985ef860a700" + ], + "inputs": [ + "ec9bbaf9309772ade9860f145705b9e9ee4a70ed1eeed1983d058ccaafd6c02c" + ], + "outputs": [ + { + "uxid": "e3e95cd390c42d2f08e2c173135620e09c7a2ec1cf80ff75fbc3940fa5712b3c", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "55.000000", + "hours": 1008 + }, + { + "uxid": "1f4f952c6304e3991cf33519f1084921d50ecfd845edc48bd3b7b7229e28f2a6", + "dst": "Kb9SqqTVA3XyQjZYb4wYrBVUeZWRKEQyzZ", + "coins": "5.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 159, + "block_seq": 22, + "unknown": false + }, + "time": 1428991585, + "txn": { + "length": 220, + "type": 0, + "txid": "c820bf59805b4889e59ce5fa320dcccfce5180de5f0f8baef7b391049ea8e286", + "inner_hash": "6fab8afaec00c1604f67fa7ecdfc968fa870662a46b714a88865e6b83ca555c3", + "timestamp": 1428991585, + "sigs": [ + "0fafbcb51bcdf3e797059c26ec09574b9b02672453e31fdc5b8b5debc507dfe917208b33632e7905c9b02252a675b7bd22578686e2882277ac077af86fcaa49a00" + ], + "inputs": [ + "1f4f952c6304e3991cf33519f1084921d50ecfd845edc48bd3b7b7229e28f2a6" + ], + "outputs": [ + { + "uxid": "4c84a4bf9a1b1a3a53d8bf78e8823ca3135321089968068ac60da32083027846", + "dst": "Kb9SqqTVA3XyQjZYb4wYrBVUeZWRKEQyzZ", + "coins": "4.000000", + "hours": 0 + }, + { + "uxid": "182b4c32bb5fe0e6809a19db63eecbeefde97a6c043b9248da94d428ab5a94c2", + "dst": "2bvEzLx4mgyQkYL5bkSc2rD9V1nqWBqn8vp", + "coins": "1.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 158, + "block_seq": 23, + "unknown": false + }, + "time": 1428991605, + "txn": { + "length": 220, + "type": 0, + "txid": "eb0a48072c5da37962c07d205a1843311f98e886cfcbdb2813359677f36bebc2", + "inner_hash": "104c51c380f54913954c2e16a8cf35dd585666a6e7b67116c05f490e06e5e1e1", + "timestamp": 1428991605, + "sigs": [ + "6615ef5540b366a45895feeb91f16a5226d5022737e59ab1b9825843ff54dd7e281f2f014fc95641e3bc6ddda433b86e0c79d87a5b9b8b23fa5e234e5a41da1601" + ], + "inputs": [ + "4c84a4bf9a1b1a3a53d8bf78e8823ca3135321089968068ac60da32083027846" + ], + "outputs": [ + { + "uxid": "f3ce12886e74d6407f9580b47e72156a917083b66ebaa46263c7fde2df35116e", + "dst": "Kb9SqqTVA3XyQjZYb4wYrBVUeZWRKEQyzZ", + "coins": "3.000000", + "hours": 0 + }, + { + "uxid": "20900f1d317e0b10ebab7190a34265f52783ff4f85675398b497ab8eb3723a3c", + "dst": "2bvEzLx4mgyQkYL5bkSc2rD9V1nqWBqn8vp", + "coins": "1.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 157, + "block_seq": 24, + "unknown": false + }, + "time": 1428991635, + "txn": { + "length": 280, + "type": 0, + "txid": "f935cd91736604989c08448a2d83d6b044c3198ac1a7483a3b9846f8848a7d84", + "inner_hash": "02b721422fcadeb8c3217d9b972c81fe9042a32871a180fb1237e213a543cc9d", + "timestamp": 1428991635, + "sigs": [ + "fa3ccaecf3a01525fd617fe74971ff2f7270e88f92f17a0f7748c1b258e007fd0fd10a582cc406d7806fd7794e20c4a3178b71cc1cb9f59c3c7d36a4e34d962100", + "23530a4d36d65cb37fc366a8c4a61d47dfd4fbf3b268bd66fd960bcff1b91db419d039049b8f816bedbd73d6baeaea77c5907c0df5b47724ad07420dd225cdaf01" + ], + "inputs": [ + "182b4c32bb5fe0e6809a19db63eecbeefde97a6c043b9248da94d428ab5a94c2", + "20900f1d317e0b10ebab7190a34265f52783ff4f85675398b497ab8eb3723a3c" + ], + "outputs": [ + { + "uxid": "fbe00b341f3e798c3e7e5eea04ffd8f3e70f0e78bc38f9a4927bae7eed6a1411", + "dst": "Kb9SqqTVA3XyQjZYb4wYrBVUeZWRKEQyzZ", + "coins": "2.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 156, + "block_seq": 25, + "unknown": false + }, + "time": 1428991665, + "txn": { + "length": 220, + "type": 0, + "txid": "917510897f5d8a018ad8d447876a15e2e1f68d42e71b6f75d89b02c4a599c537", + "inner_hash": "be34076fd999f7030f2a51866d641f8a783deb2204a9a93a8b64377a95546916", + "timestamp": 1428991665, + "sigs": [ + "880b044ee5559510010d6d5cb4d7b50cb3e5323e5037daf3a048f3fab70254d34ff258aea85ec8ce264679bfb35df4590cd4dcaa527d89f9fb65fa50234dfc2e01" + ], + "inputs": [ + "f3ce12886e74d6407f9580b47e72156a917083b66ebaa46263c7fde2df35116e" + ], + "outputs": [ + { + "uxid": "f910d0e633735df5f041fdb7ffcb9cc8988b71c9375c52ababb54238be4d6852", + "dst": "Kb9SqqTVA3XyQjZYb4wYrBVUeZWRKEQyzZ", + "coins": "1.000000", + "hours": 0 + }, + { + "uxid": "ebedac42a639f0d0a196b47676cb757b95046f0403f74baa5b15e98753ee2d58", + "dst": "2bvEzLx4mgyQkYL5bkSc2rD9V1nqWBqn8vp", + "coins": "2.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 155, + "block_seq": 26, + "unknown": false + }, + "time": 1429011077, + "txn": { + "length": 317, + "type": 0, + "txid": "56e7bd13dc4c6e1cd80aba66a0a9fed650d0646659ac774e3f1b415848755d85", + "inner_hash": "2894cfa31c21eb04c33f89263aa1e4caae625ceaf30539b82b39ccf79dffa816", + "timestamp": 1429011077, + "sigs": [ + "6aedcd617e69aab9724b6a52e0e71f4f087a2fa84a283ac685c17e274b49cf617e58dbbd6c45a8e2c1c31832a1193ba119f0cb238fd83b9d7eb029dcedbeba0800", + "f1f26b84f247c409d308bf0992c2a044ce649fc09169d5fe4843f22b855f911d6c73b92f679346d30ec6663aa5d0387189935ce8e2f2256dd13e59cbdae7b89e00" + ], + "inputs": [ + "4168b9378363cd81939e667cf78055d35a60d3101f5f9e3d2ae709e3981e29fc", + "d9dae1f82177f979b07016a341ed5c281ed6ed8eaa785a8a107ec16efbe541ef" + ], + "outputs": [ + { + "uxid": "8793a3782bf673393a8f909f267f3bfcc713b600460893b571fd55f675ac65ba", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999880.000000", + "hours": 567938 + }, + { + "uxid": "339aeec109a26bab65e618d73ebba16e5b8fc18f7dc1fe502ca891ad5b0f4d5f", + "dst": "bFTFUB3zdwZcwWQTewXZnVS7UykkTb7zqa", + "coins": "10.000000", + "hours": 567938 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 154, + "block_seq": 27, + "unknown": false + }, + "time": 1429011137, + "txn": { + "length": 220, + "type": 0, + "txid": "cff53a059d55f2c90f6dd7ce7de2cc07cbdbd50b25867cba0f41cd0192614d0d", + "inner_hash": "09382455a4e78c62bd0c254e106d349f648944c3747b066a23cc64d9392c6c05", + "timestamp": 1429011137, + "sigs": [ + "ade8874855f58653ef198e005a7ec82de992cddb50a4bb5ce8a0ec1cfa7b44086883ad1c85c63128dad5426b8b22873c349e0535191b80b3e92035b120cada7a01" + ], + "inputs": [ + "8793a3782bf673393a8f909f267f3bfcc713b600460893b571fd55f675ac65ba" + ], + "outputs": [ + { + "uxid": "ad742bbc7420c08881e6ccf35e34e8472c0dd6386792359aedcfb752ca618c33", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999790.000000", + "hours": 70992 + }, + { + "uxid": "3e475e76c226a70c87d030d8fc6b8b1c2cc654ba9eaf3bed08be5bd603aec0b7", + "dst": "bFTFUB3zdwZcwWQTewXZnVS7UykkTb7zqa", + "coins": "90.000000", + "hours": 70992 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 153, + "block_seq": 28, + "unknown": false + }, + "time": 1429020387, + "txn": { + "length": 220, + "type": 0, + "txid": "f2f9926afcd29405327ddb772988a73dc13a67b1fcaa42ad98a416060e96adce", + "inner_hash": "1e46ec99a425796960a928a95b64be87b568d160c9533a5399d25141b60f74af", + "timestamp": 1429020387, + "sigs": [ + "1b59327011b10a2896962898bafd8d587710fb6d99b1b565777e0713a8e5fa072f7f60043c9823d2bcfc589b283e99da90d0649c472199a683428b14bd75374301" + ], + "inputs": [ + "778048daec0c83f89525a6d69b60c407d090bb1666711b1c560e6ebee8dcc452" + ], + "outputs": [ + { + "uxid": "92ae7cf57ad1363a60ce019818f7304040959329b6513f9a2d0f6b464bacafea", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "3.000000", + "hours": 35 + }, + { + "uxid": "7f44d7ef014419278137cbaa344cb550fc3c07355ec619d917bea3bc15fb8817", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "2.000000", + "hours": 35 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 152, + "block_seq": 29, + "unknown": false + }, + "time": 1429020687, + "txn": { + "length": 183, + "type": 0, + "txid": "260d249883165aa9e59e17fb2bd8ba8995d2c3644993530985f8b813ed378650", + "inner_hash": "c5a9b2a4d2100d45a97a0131f3ffa79fbc4bb37b8969e8a1d5059055ca169c6c", + "timestamp": 1429020687, + "sigs": [ + "661c14759218ac72f4b06ac96bce6db7e20cfae5f23643cc4dae2641893ca3686682cb1e3cc3f384afe549a87209e4104ed7d163af8af3be4762686719541e8900" + ], + "inputs": [ + "98b3e6e6d4ed36159b7dbf5f305174fc0c255d2d97528b35a67d50b9968e2b2f" + ], + "outputs": [ + { + "uxid": "18ea1b3cceb2ca40c01efc8f3cfd7d1d0dd69430ecdf655515aa4f8b21bd2644", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 78 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 151, + "block_seq": 30, + "unknown": false + }, + "time": 1429021044, + "txn": { + "length": 183, + "type": 0, + "txid": "044a75b1d3d273cae560ca43f9351d9acde206b0ad5578eb3adc2598886b5134", + "inner_hash": "61a1297a213a7642daf445350b49b2df9ccade45cc1498b91f80fceefcad5adf", + "timestamp": 1429021044, + "sigs": [ + "ef33f4e1a053728e779296e912df149ad7e20167bd79ae88db24c52da558c6cc0dffaa3aeb9b4aa507865855f7172bb7ac72040dafb56bc2612d152d51e8008000" + ], + "inputs": [ + "92ae7cf57ad1363a60ce019818f7304040959329b6513f9a2d0f6b464bacafea" + ], + "outputs": [ + { + "uxid": "61c61dfe5b82fde557a698b402c82ac0205929478e705cbadec7f5d47a51d403", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "3.000000", + "hours": 4 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 150, + "block_seq": 31, + "unknown": false + }, + "time": 1429021184, + "txn": { + "length": 220, + "type": 0, + "txid": "9004c779cff67b3895500ec14b2c2e566127bb11a8af3358fe8a63dcfae9badc", + "inner_hash": "9e1eed08b004316812f4ad574f3d0f96959b2a335cdda77113abfd1673a8859d", + "timestamp": 1429021184, + "sigs": [ + "6b3a3b3374c641ca252ee32cceab1b37c4c395b411e4d2515bc51f2a8ec12b9c440d25dee1b94a0231dd9492ab3e07c7a5dc054a0da987d6bf0ba6fc8de6f42000" + ], + "inputs": [ + "18ea1b3cceb2ca40c01efc8f3cfd7d1d0dd69430ecdf655515aa4f8b21bd2644" + ], + "outputs": [ + { + "uxid": "64194899d317e2a007f89df14538795547e927c242a92f83180e6cc952304964", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "5.000000", + "hours": 9 + }, + { + "uxid": "569aa1260e734017c4eee06d84ab4a6285e2ca2041940b2915d9141527caf179", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "5.000000", + "hours": 9 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 149, + "block_seq": 32, + "unknown": false + }, + "time": 1429021214, + "txn": { + "length": 183, + "type": 0, + "txid": "327375203f20cb68847351c30a48597c0588a8c14319a4eb47bf440207fd045a", + "inner_hash": "217a070c0edd70fc0eaa7f858308444f32bbfe4b48e128b6fa876f60c4639bfb", + "timestamp": 1429021214, + "sigs": [ + "de82c42e2523b512c0ffea3c91244dc905f59264f3c59e2f82efc3fdb7f446c728afb08bbc3478462cf25b96848da9dc4dd6b87cab569715ebd33e8102c552d101" + ], + "inputs": [ + "64194899d317e2a007f89df14538795547e927c242a92f83180e6cc952304964" + ], + "outputs": [ + { + "uxid": "eb446b8372559249c8e269b6cd028588e2e9e4f8fe9357719da9d1c22aa29911", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "5.000000", + "hours": 1 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 148, + "block_seq": 33, + "unknown": false + }, + "time": 1429021674, + "txn": { + "length": 280, + "type": 0, + "txid": "e89ee3e90e72108e4cd6ccb95c9f8d2b18ccfaa7ce61a7d297454debd69cebbf", + "inner_hash": "dac67377dd9d8247db41f3380288730de2e51514ec3a2986072719553b9f9e27", + "timestamp": 1429021674, + "sigs": [ + "7df848876a507f4b2855818f059e62e6d2f5924af148607a0c6004b7231fdce920ac80e800a833e55cbce9938b5d8cb755b0dc434c22b03a5037972ff2d6444801", + "6499aeee3ba19247d1ef2d3ec13e46031adf0dd6a383785272776a93621f21696cf217b7375e5721e51133fc3d9806200d2aded757118fbe27a719ebf4ceaea001" + ], + "inputs": [ + "569aa1260e734017c4eee06d84ab4a6285e2ca2041940b2915d9141527caf179", + "eb446b8372559249c8e269b6cd028588e2e9e4f8fe9357719da9d1c22aa29911" + ], + "outputs": [ + { + "uxid": "e702df2703c3de180f3e4a0e9a503bd534037c2d68e858e97a317575c5a97d95", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 1 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 147, + "block_seq": 34, + "unknown": false + }, + "time": 1429021994, + "txn": { + "length": 220, + "type": 0, + "txid": "08bf0f8f4a8547bcab1fef035adac2a66c80369b4485a736bdd676e782bbb037", + "inner_hash": "8fd6f4e5428c170dede16e8c02596ab0c490dd5c418d003d9232d8c2caedec9c", + "timestamp": 1429021994, + "sigs": [ + "f68d819dbda0bbf7cd5e2de8088267c5b3a744bbe2d7737c7dc52060b6344a25180cc1081e5c7dadab94763d158e303f697d1d275685b32bfd1de123a376697501" + ], + "inputs": [ + "e702df2703c3de180f3e4a0e9a503bd534037c2d68e858e97a317575c5a97d95" + ], + "outputs": [ + { + "uxid": "10998e83dc5dfe3c3f5f28ef3e5e2fced4dbd1da389678b0ea3ddb552851b6bf", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "6.000000", + "hours": 0 + }, + { + "uxid": "41c6d29aa5de770de684ab19b40bd75b99ec7f1a5ff7d15288ae4bfff568eabd", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "4.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 146, + "block_seq": 35, + "unknown": false + }, + "time": 1429022034, + "txn": { + "length": 183, + "type": 0, + "txid": "3170f0635cc40aded3a38f84f2ae07bd2238550ea4ee867328d0f891ea9abf14", + "inner_hash": "1cebcd96c2847d219b658733012921d6e10a6c55439736833dd0ae97b898f72a", + "timestamp": 1429022034, + "sigs": [ + "179826a9f244005b2b34d145948b178533805953adff8ab924a6fd67538daaa4384d67a24473de6bb01d441e4d979e520b055cd9304188d00255eab7c04bf45701" + ], + "inputs": [ + "10998e83dc5dfe3c3f5f28ef3e5e2fced4dbd1da389678b0ea3ddb552851b6bf" + ], + "outputs": [ + { + "uxid": "9e5779445f60d62b471862339d7a83dd8355c7a89d5fc3b751f98e9414628ec2", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "6.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 145, + "block_seq": 36, + "unknown": false + }, + "time": 1429022064, + "txn": { + "length": 280, + "type": 0, + "txid": "fba515a9eeaedb891c4dca862bd06108e0452270890b362f0b353b4c86845618", + "inner_hash": "3c24f665a7a02308fe6938ef3ce7e38dfe72644b1d71c5aefbe3d6844c609d58", + "timestamp": 1429022064, + "sigs": [ + "faf14290ac158576f0dd4311ee4835a2542ae8b52d9ec7ab36d1af938a117f382c42855dec9b980f282e7ff8d7e19d469b084a7d44e38022e246c365368cc07d00", + "52cfd88d334818382413dfa45dd8e00a2136c352b7547dcf97894bf3eaa152cc5b10bf9f35c4dc8c75e7bb62543bd244a7c1de588b2a606aa1eb0b32c9c4ca1501" + ], + "inputs": [ + "41c6d29aa5de770de684ab19b40bd75b99ec7f1a5ff7d15288ae4bfff568eabd", + "9e5779445f60d62b471862339d7a83dd8355c7a89d5fc3b751f98e9414628ec2" + ], + "outputs": [ + { + "uxid": "d46e91fea3c8a6428885f941e5152dbc7f9abd356ad4d054bf20e0e806f1ec99", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 144, + "block_seq": 37, + "unknown": false + }, + "time": 1429022094, + "txn": { + "length": 183, + "type": 0, + "txid": "9fb039cd90a4e9b85669bd6ef878b98a9e84eec7d4804e2bff6f0dc9c2739c44", + "inner_hash": "5bc5636489d4ba7d36b4429cd3ec71491c9fa6f442fede1ea696428b574e0d13", + "timestamp": 1429022094, + "sigs": [ + "3127749c2123db967563b9726cf5d6daa3ae755ec74f5e5fbc3dcfb10ececc231f5d61de693355aa5c8ade13c4c31ddc3bf9864e87139fdcd64c513702f7425600" + ], + "inputs": [ + "d46e91fea3c8a6428885f941e5152dbc7f9abd356ad4d054bf20e0e806f1ec99" + ], + "outputs": [ + { + "uxid": "2987e7c89d353ad5d63cea2bf2724dc5f7a5ef5fb81f5ea160a307f0726ac2f5", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 143, + "block_seq": 38, + "unknown": false + }, + "time": 1429058484, + "txn": { + "length": 220, + "type": 0, + "txid": "a76cd63b71f1f5425941cd567627e1dcdc8c34306a7945ea48755f5a46efb6f5", + "inner_hash": "39c3ed7f2dfb26d02c9fcbbe853db5c3031644b4a66844a717d8795c6d954d65", + "timestamp": 1429058484, + "sigs": [ + "844af158e935a38f034778a78b646a167b5758df65212546f2eb1c7e838216ad7aa6e7571d1e81d8836808d4315846fe97489bdf2e6d2159a2af77a15a9a2bcb00" + ], + "inputs": [ + "ad742bbc7420c08881e6ccf35e34e8472c0dd6386792359aedcfb752ca618c33" + ], + "outputs": [ + { + "uxid": "108520145179c00f581d91e273714811fe6e82ee059d65218eea91154ebd8205", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "998790.000000", + "hours": 389245 + }, + { + "uxid": "f48432d381a10abecbd1357d81705ea922246e92170fe405d1a4a35c5ceef6a4", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "1000.000000", + "hours": 389245 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 142, + "block_seq": 39, + "unknown": false + }, + "time": 1429058494, + "txn": { + "length": 220, + "type": 0, + "txid": "c38b47bd576e3bced2a9309c3df7622064e71177f54020d77193d5cac310719c", + "inner_hash": "7f02ba6476946668f3adcbb35e113531e6788cee4fe94bf8d8da4803e3baa7e3", + "timestamp": 1429058494, + "sigs": [ + "2a31eb55da895c59654ad3f1a11efa11b04787ab78dcf8221aeeccf137adec543765f761363390c97f429310fcb39db305494a94b30af906a2d43d5de1effbb701" + ], + "inputs": [ + "108520145179c00f581d91e273714811fe6e82ee059d65218eea91154ebd8205" + ], + "outputs": [ + { + "uxid": "e79c94aa7013c7611901839236b8a1cdf70e8ef7c40b9e33f99359136de981d6", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "988790.000000", + "hours": 48655 + }, + { + "uxid": "df5d6e09da2585a6ac1a37aea2370fa25e9049b549049202d5417138bf033cfa", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "10000.000000", + "hours": 48655 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 141, + "block_seq": 40, + "unknown": false + }, + "time": 1429058514, + "txn": { + "length": 220, + "type": 0, + "txid": "b56f3e9239da5c5f9bb5ca80226b8454ba36ce6012f8e323a50c9d9c4eb4a834", + "inner_hash": "bdcf8f2f2b960cfee6b3b1124a554ef4747fe43ac9452d897bd8dedcd643e1ae", + "timestamp": 1429058514, + "sigs": [ + "809029f12d5f38906306610feae26c0623bffe63218c8019060ae2d164cc29352066efd20567e3c37837230e74b481730b0fc71bcafe3b3b9f5eb4a7fb42f69101" + ], + "inputs": [ + "e79c94aa7013c7611901839236b8a1cdf70e8ef7c40b9e33f99359136de981d6" + ], + "outputs": [ + { + "uxid": "c65a9e6aa33244958e9595e9eceed678f9f17761753bf77000c5474f7696da53", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "978790.000000", + "hours": 6081 + }, + { + "uxid": "f8ad5c72e7822c7ac9a1dce8de583e34f6f830052bc0a02d749e9e81790dae86", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "10000.000000", + "hours": 6081 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 140, + "block_seq": 41, + "unknown": false + }, + "time": 1429058524, + "txn": { + "length": 220, + "type": 0, + "txid": "cf4fe76a08e3296b6f6abdb949604409be66574f211d9d14fde39103c4cfe1d6", + "inner_hash": "2f5942207104d52dbd6191684b2a97392e616b7fa51dde314dbddd58d34b8027", + "timestamp": 1429058524, + "sigs": [ + "b2b8c8ec1e1dfdeac4690e88d4ef9fcc4b52fcb771153f391cbcb58d651505a94c6263b6dc15a948c0396c0d8be20d9e0d1993b494bd9189c778d3673363bfc401" + ], + "inputs": [ + "c65a9e6aa33244958e9595e9eceed678f9f17761753bf77000c5474f7696da53" + ], + "outputs": [ + { + "uxid": "195f5e50b4eed1ec7ff968feca90356285437adc8ccfcf6623b55a4eebf7bbb5", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "969790.000000", + "hours": 760 + }, + { + "uxid": "6bbf13da052e1baade111ae8bb85548732532c8f5286eba8345d436d315d1c93", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "9000.000000", + "hours": 760 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 139, + "block_seq": 42, + "unknown": false + }, + "time": 1429058594, + "txn": { + "length": 317, + "type": 0, + "txid": "0e91a08561e85a36ddf44e77b9228f7d561c18c0b46d19083d4af511085b697e", + "inner_hash": "d78230e22b358d7cc8d491adb3c0ec1e77a5170602a4ec92d700c4b4bb101f98", + "timestamp": 1429058594, + "sigs": [ + "17ba9c495e4d396a37eaf062e1806a13b3bdc91a83151c2455cf948a7e6d91882dc02ec6443970517f0f7daf59ce9b89658a17f5d51c0cbc18056811d0f3006501", + "e4e8f28801fe461cc8097b29cfe1307739bdfbdd6b20c31e04eef89aede641a6407fa0c41b0ad5ef167e3255e1916c0bbd358ffd70f34dc7944ffe67514bc5f501" + ], + "inputs": [ + "f48432d381a10abecbd1357d81705ea922246e92170fe405d1a4a35c5ceef6a4", + "6bbf13da052e1baade111ae8bb85548732532c8f5286eba8345d436d315d1c93" + ], + "outputs": [ + { + "uxid": "19efa2bd8c59623a092612c511fb66333e2049a57d546269c19255852056fead", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "9000.000000", + "hours": 48752 + }, + { + "uxid": "9953e00abe05db134510693a44b8928ca9b29d0009b38d9c4f8dcdedee7edc35", + "dst": "4EHiTjCsxQmt4wRy5yJxBMcxsM5yGqtuqu", + "coins": "1000.000000", + "hours": 48752 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 138, + "block_seq": 43, + "unknown": false + }, + "time": 1429070374, + "txn": { + "length": 414, + "type": 0, + "txid": "d368fc3112b522c52a5b191981ca52678cc7db29bdc3493cf551be88d109ef9c", + "inner_hash": "acb0cc7def6ebcfd45b1490aa60d6cb84fc3621bf34be5ab84910a1929efccf5", + "timestamp": 1429070374, + "sigs": [ + "9d1fcf32769b70f2eeb88b70434010c5ac5844031d85c515f7854b0aa5b91de7035f4fa3802ebcc6a7e064b4ebf16be5b1ed9a85b31bbb46ceb11694e14648eb00", + "40303be55ccfaef337b8810405d522c2a32a4d86acc5e474626666f3999533b55a33c546b04472e3d10a7870e0435968ce88ac7fbea6fecb8617a680957752ce01", + "3c1d5a5e076cb1274fb478c6c3bd4e0f724106f71edbd16eed7e2b13aabb69a53f7e91df5af8c611ffd2ca9114cd4d4be7df70ccf541606c781af41f986ea51700" + ], + "inputs": [ + "e3e95cd390c42d2f08e2c173135620e09c7a2ec1cf80ff75fbc3940fa5712b3c", + "7f44d7ef014419278137cbaa344cb550fc3c07355ec619d917bea3bc15fb8817", + "61c61dfe5b82fde557a698b402c82ac0205929478e705cbadec7f5d47a51d403" + ], + "outputs": [ + { + "uxid": "88162721a552b1422546024772fc822faa187e897754e0a579e5e4a92a7cf4c9", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "55.000000", + "hours": 265 + }, + { + "uxid": "e64fa1f60e905f1d7b7a8f0ca134ab2b7a467f7363ec9c03628d559e1230eb68", + "dst": "2apVG7f24ezDK13yCDTqBWYrTZpuj94KnCN", + "coins": "5.000000", + "hours": 265 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 137, + "block_seq": 44, + "unknown": false + }, + "time": 1429070414, + "txn": { + "length": 220, + "type": 0, + "txid": "ced30c4ac3107997efa90faa40c8baed47dafc8ddb4feae3ba21275401c36280", + "inner_hash": "f3a57ef9c95bf41b758b317169e29596448640aad207b88a21b45b1ea46e9a99", + "timestamp": 1429070414, + "sigs": [ + "fa16091cb778d496199d0b59f934d38891ff0b3aad42be78565a4f5a9880b9063a8e423fa7dacc624e0ffb01931bbdf4bed0fef8044f9280c8cd562b2f3bb0bd00" + ], + "inputs": [ + "88162721a552b1422546024772fc822faa187e897754e0a579e5e4a92a7cf4c9" + ], + "outputs": [ + { + "uxid": "73ad63090201c13e6fb55d2e51ec5606fe49a40640bea995e347e7389fcea6c6", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "50.000000", + "hours": 33 + }, + { + "uxid": "85fcb22c416b7d430076bb80a324734cb97483cb4544192df252b89ba8f7fd61", + "dst": "9vNYwzpjSgw4dRyTc7SAP4z9Jh8bhwURnu", + "coins": "5.000000", + "hours": 33 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 136, + "block_seq": 45, + "unknown": false + }, + "time": 1429071074, + "txn": { + "length": 220, + "type": 0, + "txid": "df622e8c9dfaed1d7dca83ad7f6d8946bb86b81398bad521d858cbefef8e4688", + "inner_hash": "91ab4f29d84e9ffba56a108e01984e7b483729da4e61b6976c018fa11ace36a8", + "timestamp": 1429071074, + "sigs": [ + "d0726d81cb1cdce6028668d0d95ceccf39cc9d655a7bff143573b9f52d0586232bbb7bd494df8b9bb5155a271446cfaff1550d5ccf314dd35f044226f98d14e201" + ], + "inputs": [ + "195f5e50b4eed1ec7ff968feca90356285437adc8ccfcf6623b55a4eebf7bbb5" + ], + "outputs": [ + { + "uxid": "cb8efc0b1082c39258cb6efd59f64d88b36fcb60143c826829fc5f0ed5c0d668", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944790.000000", + "hours": 400470 + }, + { + "uxid": "4aca4c715985da352bd9aa84787868dac4f4e305c420fe79e6f05acee3bba14a", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "25000.000000", + "hours": 400470 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 135, + "block_seq": 46, + "unknown": false + }, + "time": 1429077374, + "txn": { + "length": 220, + "type": 0, + "txid": "0a2da0489b14156fad8fb863d051a4dac1f645f144c1e5bb65a44478623b8e4b", + "inner_hash": "787ae7cb222a23641bb33751d1428dc8e07a2f2cf11ee6293a54100836209d09", + "timestamp": 1429077374, + "sigs": [ + "9bc3b6d7cb1d66d52fc993d0799baafa1056992049fa86ce76d5909690e88c4a19920b69e2463cf34d1dddb545b61ee38fb2f9b33f92626da8afdd934c353c8e00" + ], + "inputs": [ + "cb8efc0b1082c39258cb6efd59f64d88b36fcb60143c826829fc5f0ed5c0d668" + ], + "outputs": [ + { + "uxid": "a6061defc41a8a55e37eaf56ebaa1177446f61719b1d5126698e79a6023f5367", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944780.000000", + "hours": 50058 + }, + { + "uxid": "a52408daa8ce7026c70b61d4df4212fb577462060f340bfce779225b3e18193d", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 50058 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 134, + "block_seq": 47, + "unknown": false + }, + "time": 1429077384, + "txn": { + "length": 220, + "type": 0, + "txid": "a4a202bc4431d95c307d151dea764bfc6d9ceb7e82b3eb50dc8604050622a22c", + "inner_hash": "836145a3e62a7e055acc3404c1fd6ecb237e3251e6f8b39fd526a7f48f21daa8", + "timestamp": 1429077384, + "sigs": [ + "f826793e63a3b0b837070e8876461c47af6be7a6898c370c70430b1491457cda76fc3b34e08bff41a336277ec1e93cc008f9c08ca295b418488b1ac92a5f5a4000" + ], + "inputs": [ + "a6061defc41a8a55e37eaf56ebaa1177446f61719b1d5126698e79a6023f5367" + ], + "outputs": [ + { + "uxid": "3b5f72e772ea886dd872b9087395398133576a6561072d5294fbcd04b49e1d95", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944770.000000", + "hours": 6257 + }, + { + "uxid": "dc73aac74348dd285a1456c1fae2204d7c2039d50a765bdaae0c31f7c7e059db", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 6257 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 133, + "block_seq": 48, + "unknown": false + }, + "time": 1429077394, + "txn": { + "length": 220, + "type": 0, + "txid": "4e6b363423633ad51114b250478ee7645fbd184066fa41c29e5b14d0728cdfec", + "inner_hash": "8cf88a9e5140d5e01af412c956b3de7c93bfebbb4c5993b9b0285812208f5b33", + "timestamp": 1429077394, + "sigs": [ + "670abb369c25a655b0f22c069a9523d439b8a03d122bc9f0861aff796ab965fd5e1b79812b6f458ebc0a1cd4cc223d0137eb22e1bf1cbb40265ac7301018897000" + ], + "inputs": [ + "3b5f72e772ea886dd872b9087395398133576a6561072d5294fbcd04b49e1d95" + ], + "outputs": [ + { + "uxid": "f265bea876ffcfb8cf64df3aca4dae4a8d7f424ff495d91fb322feddb3a7e505", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944760.000000", + "hours": 782 + }, + { + "uxid": "e4e375b9dc55ff53d6de9120f1a87ff00e00a779835f8320f2c6b3090d0466e6", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 782 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 132, + "block_seq": 49, + "unknown": false + }, + "time": 1429077404, + "txn": { + "length": 220, + "type": 0, + "txid": "edc27c6ecc1f76d0f23489ad7bbbdb8c653af37cc4b8f18197400aea2011ed83", + "inner_hash": "5432e686f984075091a8d3686d959b63ef620382fcb2b86794ba8dc0fb9656e7", + "timestamp": 1429077404, + "sigs": [ + "c1902b37a95c5327b0e5a1f05de551d4135831b787c86562867344ee7f06235374dc1618c6b4a8e077041723bc731db72dab5554a808b1ba77d305309144bf5e01" + ], + "inputs": [ + "f265bea876ffcfb8cf64df3aca4dae4a8d7f424ff495d91fb322feddb3a7e505" + ], + "outputs": [ + { + "uxid": "e6d9b56e075a6adf520d1ae7fbab9ae06353ae0b93dc8cb17d82cc3628009a50", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "944750.000000", + "hours": 97 + }, + { + "uxid": "d11b05345917d171f60c31bd2634041b73b97eae364724369ddb8d53369397fb", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10.000000", + "hours": 97 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 131, + "block_seq": 50, + "unknown": false + }, + "time": 1429077474, + "txn": { + "length": 220, + "type": 0, + "txid": "be27621ad46680b343cc1406f5c6a1717704ce169e988ed7afb586f8112ae6f0", + "inner_hash": "158b0ca1e5055c4abb6729eeb187d9fc592c425c8f1eaf07c3d64e17e1d1615d", + "timestamp": 1429077474, + "sigs": [ + "3624a41ca94d80e7f13ea09f3acdfd701b9425af1a43c62e08a98744f31c651b1f9d2183c35f64aea01431e1c0c3a12d2f63d2c88ff9bd1a124b895a4bfabc6b01" + ], + "inputs": [ + "19efa2bd8c59623a092612c511fb66333e2049a57d546269c19255852056fead" + ], + "outputs": [ + { + "uxid": "5fa90c22a26ecec8c03696a018b590a5e1679efa9cb5e8263facf9bcc6628db6", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "8000.000000", + "hours": 11972 + }, + { + "uxid": "5afa88b6a9ef9168d15d9a0bbc87dd5ab30badc01773460f92703a9c829358c0", + "dst": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "1000.000000", + "hours": 11972 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 130, + "block_seq": 51, + "unknown": false + }, + "time": 1429077484, + "txn": { + "length": 220, + "type": 0, + "txid": "814694a8e32f1c81b627f8eb704622c8893d197bf32bbd7e1bf73bec9a831d7d", + "inner_hash": "10daee0ac47006149435adf9655dbc8796eece3d075f93af9810b204f90003ab", + "timestamp": 1429077484, + "sigs": [ + "9cfad1cc126d0b33d6e44b5cf99672c0bbb088dd2ed01090365292d4ba1c188f18772aacbc7931e81202c11d7eb977a8f00bae86ce5b40479482bbbd883dfcaf01" + ], + "inputs": [ + "f8ad5c72e7822c7ac9a1dce8de583e34f6f830052bc0a02d749e9e81790dae86" + ], + "outputs": [ + { + "uxid": "f37efd851f76854852fdb8b8ba9afa2c5b7859315cc1fd12c12bf6831c59beb2", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "9000.000000", + "hours": 7343 + }, + { + "uxid": "2f4daff744e7fd81ceea34ecfb0e383a65ecda1c55f32a0bef313d29b0795eab", + "dst": "2acnXsnJ2k8jxiUahtBe8h4xouPAnpbwwjc", + "coins": "1000.000000", + "hours": 7343 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 129, + "block_seq": 52, + "unknown": false + }, + "time": 1429077494, + "txn": { + "length": 220, + "type": 0, + "txid": "231254039042675300dbdd61a6ca54941214e383b5f6380323f848482b4f4628", + "inner_hash": "ddddc962f9ad468e32f141dcf8479e2ec2293d42a32b2085fbaa0b5e9f80a267", + "timestamp": 1429077494, + "sigs": [ + "7cb704180d085d04db6816852111cf3dad3c911337af4e22596c42efe77a45983539abe92b0f08993559f87ac2e4ddb907e46c36c6a746920f2fd0c89b0b7fc201" + ], + "inputs": [ + "5fa90c22a26ecec8c03696a018b590a5e1679efa9cb5e8263facf9bcc6628db6" + ], + "outputs": [ + { + "uxid": "e4fa8fe06d04bb438323f295eea23535856be08b369be71a2ce3e9e7bc0b1e09", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "7000.000000", + "hours": 1499 + }, + { + "uxid": "cec910b5d672e216db306389dc9ebb08f9d37485fbc3ac6aa7a8c37f60be844c", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "1000.000000", + "hours": 1499 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 128, + "block_seq": 53, + "unknown": false + }, + "time": 1429077514, + "txn": { + "length": 220, + "type": 0, + "txid": "d154d8262abbf517c67d529b0fea7cdf097433bd296d5795b17c6379cb1b1430", + "inner_hash": "b69070b10e6bbc276bf155361d7f3238fec46b9d865075c1dc0fc20d81ab0a42", + "timestamp": 1429077514, + "sigs": [ + "0a4b7f385a164f5718794382d49c14a6623e7af5f1ddbefe4871c756b754457a7075e822603bd3b22b313278abebe756be92367ef7a81a8c4adf992842c2058601" + ], + "inputs": [ + "e6d9b56e075a6adf520d1ae7fbab9ae06353ae0b93dc8cb17d82cc3628009a50" + ], + "outputs": [ + { + "uxid": "2df1e88589be43c55d7c6c3dbcbd663fb759b3245eb8d86b0b9cdaa989556aea", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "943750.000000", + "hours": 2964 + }, + { + "uxid": "c7919b892eeb751456d456b37ccde7350a3fca0dda03b17ec426a56f12dcf192", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "1000.000000", + "hours": 2964 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 127, + "block_seq": 54, + "unknown": false + }, + "time": 1429077524, + "txn": { + "length": 220, + "type": 0, + "txid": "88d239f2584c78b73a1905fd0dcce3beabfdfc5a9c54518862b009e22e972c68", + "inner_hash": "bbb61ff8c3b3361e77eae47d4a65c4073e45ded96994efbe605fa7639486b2ba", + "timestamp": 1429077524, + "sigs": [ + "c627aa6233c7bc436f7569399554ead829bd21244cb1f938cecde96b493d1ac84099844dc91bbdcf72593285c33f124dba2d3aa1b7807532d647484492b8760900" + ], + "inputs": [ + "e4fa8fe06d04bb438323f295eea23535856be08b369be71a2ce3e9e7bc0b1e09" + ], + "outputs": [ + { + "uxid": "f5beae016bda8260218fc05468c300fa71ddd46f4c6337fffac8d83229461f5f", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "6000.000000", + "hours": 192 + }, + { + "uxid": "470b293870b663b84e1f677e1bc0e486d0b5f412b0562b078a7a1045f7785d7a", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "1000.000000", + "hours": 192 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 126, + "block_seq": 55, + "unknown": false + }, + "time": 1429077544, + "txn": { + "length": 220, + "type": 0, + "txid": "374f01de8274656147be0a23ccc5677773da6f32b071ee796bda0851b6dcd2ac", + "inner_hash": "1789978d61189b7e49bea67d8a1d1f0341da0242cb0b801c4d8bc346ec2fd618", + "timestamp": 1429077544, + "sigs": [ + "f706829ee37d3f4467aae6341bd20c0455ae172a947ca372028db7f9b1dd2d7a4123b109eba8d4add2f695f6a7aa5806840551096f5357ce09be55e1877fb70c00" + ], + "inputs": [ + "f37efd851f76854852fdb8b8ba9afa2c5b7859315cc1fd12c12bf6831c59beb2" + ], + "outputs": [ + { + "uxid": "298fabb8217a2b0322f104b0cb295383bfdbc599d6a81e07610e0922eb99f89a", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "8000.000000", + "hours": 930 + }, + { + "uxid": "2f1de81eaa83eda52d8eaf44b12599b23134a38b7d55f67de8881ddafbec278b", + "dst": "2iwB1VmUWbCoVd4gNstB9LKctw3htFhVmuV", + "coins": "1000.000000", + "hours": 930 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 125, + "block_seq": 56, + "unknown": false + }, + "time": 1429077554, + "txn": { + "length": 220, + "type": 0, + "txid": "8fba29db2e3e8cad785e723f95aa5fa46ae0dd8b2bb62586977f20e698642cfb", + "inner_hash": "dc25f33c3b93678ccc3449a318d55782a274c17cd2f45089018bd7c55b21dd96", + "timestamp": 1429077554, + "sigs": [ + "6fbe79a6f32b242f97f7e7662e6f7eb5aff065e8063864fc52159071005ffb2570c26a2d8b21a7826cf18c15f4f4ed9b718a7a9fdf1b4d5ac63bdb632452c82401" + ], + "inputs": [ + "df5d6e09da2585a6ac1a37aea2370fa25e9049b549049202d5417138bf033cfa" + ], + "outputs": [ + { + "uxid": "3d7dd4d41e613fe8153f5e5f62b79494e9db9ed98f875d929ca1f90ecfe2d50b", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "9000.000000", + "hours": 12696 + }, + { + "uxid": "9e53268a18f8d32a44b4fb183033b49bebfe9d0da3bf3ef2ad1d560500aa54c6", + "dst": "vdLGAnCfbBkxabcVk6tEsa6RH99JTxdzbt", + "coins": "1000.000000", + "hours": 12696 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 124, + "block_seq": 57, + "unknown": false + }, + "time": 1429077584, + "txn": { + "length": 220, + "type": 0, + "txid": "61a33b49e97bfe2d5f026bf45fae43a1b9bdf08c60ec8db017da720a69790c7f", + "inner_hash": "32d2dce8e8043e544b3cb2145b0bfb9d4cfdb7ae8e20437d075f76b75d8e088e", + "timestamp": 1429077584, + "sigs": [ + "990bf0a8c74b0b4c4d05f463a0a50e311a6ae27b5d327dcb906bb6e42330709d48998eed6e7cbdf35caeab6d90fac3e56fb222032aefa7b1d4d9c7653aca9fe600" + ], + "inputs": [ + "2df1e88589be43c55d7c6c3dbcbd663fb759b3245eb8d86b0b9cdaa989556aea" + ], + "outputs": [ + { + "uxid": "c5150380691c542b9bdf4cf2280ac612e0576c349f99d47d0a03c77eedc48731", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "942750.000000", + "hours": 1681 + }, + { + "uxid": "3b9059ec909faf64d652dae78944f4a2737df95a3215bf98e2ff33e02e2b377f", + "dst": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "1000.000000", + "hours": 1681 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 123, + "block_seq": 58, + "unknown": false + }, + "time": 1429077604, + "txn": { + "length": 220, + "type": 0, + "txid": "5d1cb86b48c8834c8c12fc36a83259609300f2f6a148faa1492a473cee21bc02", + "inner_hash": "34ee80da7f19e17ab8b49569ad514135f6e6120c67288c8f613b758b9db8658c", + "timestamp": 1429077604, + "sigs": [ + "228340c209abeb45fe25b93bfccbf08cc4faa1abcd89c95bf0332de0f9846f642c68fb68f49f4dfe6ed556c2e8b86bab6127d47de518179ad467af637e264c7d00" + ], + "inputs": [ + "f5beae016bda8260218fc05468c300fa71ddd46f4c6337fffac8d83229461f5f" + ], + "outputs": [ + { + "uxid": "53ea8733d94ae54bade0b55df03a03b3c0f6e6683b9260c36b14e3fc311d6f49", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "5000.000000", + "hours": 36 + }, + { + "uxid": "d58f3facfb4c9c9459e6fae3000886acb2b1f81322725cdc32cc09a49bb81e43", + "dst": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "1000.000000", + "hours": 36 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 122, + "block_seq": 59, + "unknown": false + }, + "time": 1429077614, + "txn": { + "length": 220, + "type": 0, + "txid": "4ce860140dbb5f90f39086b0c51323005145a95b365204bd33e3d90fbdc35f51", + "inner_hash": "d81940dc03cf3fa1fd3eeadb84ae46e472bf3e281754a79eade7029b5ae1f639", + "timestamp": 1429077614, + "sigs": [ + "dbc7327f85a323193b59dde59d2656c8dfeb2b94c40dd01ca70f379d14a7b9123473b7cdf38df1196b55f2c01c4a31ed1c9ba7d75f6670deef3b9816656add2d01" + ], + "inputs": [ + "298fabb8217a2b0322f104b0cb295383bfdbc599d6a81e07610e0922eb99f89a" + ], + "outputs": [ + { + "uxid": "1efc8693845733061e1407a74e86976a52a69c63a14d6a79e1f3e45277662900", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "7000.000000", + "hours": 132 + }, + { + "uxid": "53d7b4778ee9b9537c0439666ca124d81bcaf4195d080ef61fade8c3eae6322e", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "1000.000000", + "hours": 132 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 121, + "block_seq": 60, + "unknown": false + }, + "time": 1429077624, + "txn": { + "length": 220, + "type": 0, + "txid": "77a69f4c8afd858a2f6767bb9980d4af6520e02b076bf2a78b935021e1147c71", + "inner_hash": "65f97c460ed99ea47ea2cdfd0780af2338f78d80bff93b92dc2ccc8f2411abec", + "timestamp": 1429077624, + "sigs": [ + "7c32e34864bc9659222cb26f10058df5cf2fe0c7b78b1d067a7b5af80f4a2b146f8914f4424d9e80a3303d3d2531ddf9d60489011c607ecd5f92cefa5105eee501" + ], + "inputs": [ + "3d7dd4d41e613fe8153f5e5f62b79494e9db9ed98f875d929ca1f90ecfe2d50b" + ], + "outputs": [ + { + "uxid": "77769e6a01cf3dca201ade501767d0abf20dea19d694f3272b647a9a651fdee9", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "8000.000000", + "hours": 1605 + }, + { + "uxid": "0560bae3917bca7581af9b6c5a58e395c701ce9ed0241dac2de8a3e93c0b839b", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 1605 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 120, + "block_seq": 61, + "unknown": false + }, + "time": 1429077654, + "txn": { + "length": 220, + "type": 0, + "txid": "4aeafd20b9df56ec852a2c257ff1630b9530d8375a4e72f20238ea36835f76d5", + "inner_hash": "bc6119c006f7c54c8608cc8050f47c43e6c079397f607f8c9e90d3072a10eca5", + "timestamp": 1429077654, + "sigs": [ + "0309322d16d48a35bd42c2ae6a76b240b21974d073f81f440e04431941fc9d550de92dcbcb226ad3baae2b3cbae51db28b2dc8d3e1b51cdd559cbbb6e4b71eda00" + ], + "inputs": [ + "c5150380691c542b9bdf4cf2280ac612e0576c349f99d47d0a03c77eedc48731" + ], + "outputs": [ + { + "uxid": "9bbb8d620aae3efc7c21bb7d6a7159eda441a83e0fef2cd98f8240b38857d648", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "941750.000000", + "hours": 1519 + }, + { + "uxid": "2480aeed2dc47c692e4bce61fb3ee44c4992ea39b0a167235e501330d7ddac62", + "dst": "3iEkvqSQCNrm8tMVf5ABAx2Bp6EGL9wyMP", + "coins": "1000.000000", + "hours": 1519 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 119, + "block_seq": 62, + "unknown": false + }, + "time": 1429077664, + "txn": { + "length": 220, + "type": 0, + "txid": "057ae2bee6e1fc2c9997d48aab3e348a7f17ad0305d6e6a14f4f663404b4a00a", + "inner_hash": "7b253041d4c467262bd144354f1584fc37b1b3a2934b0230919838e60a4320dc", + "timestamp": 1429077664, + "sigs": [ + "7587f95e4036b310ce3bafbd1248ae62210120c14c2569d358f0f1363120626060e0797c9728a2cf3cef7839fa6e9d42d31ca899cfab82fa3eb8a0401c3cb8e301" + ], + "inputs": [ + "53ea8733d94ae54bade0b55df03a03b3c0f6e6683b9260c36b14e3fc311d6f49" + ], + "outputs": [ + { + "uxid": "83b5fa4051dbfd50ba903374e5e583a9345c6a980505ee56963de9bd8e539e36", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "4000.000000", + "hours": 13 + }, + { + "uxid": "b9853ab091bdb295de20d765e9bce2d86870791a6a15b8ef9e9dddb71c4cba95", + "dst": "3iEkvqSQCNrm8tMVf5ABAx2Bp6EGL9wyMP", + "coins": "1000.000000", + "hours": 13 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 118, + "block_seq": 63, + "unknown": false + }, + "time": 1429077684, + "txn": { + "length": 220, + "type": 0, + "txid": "8d10b0ba11d9dd63d3a3522bc35bd260e8da9109298aa488355ea7201eb961b7", + "inner_hash": "929218d56de3e94d277827c857a657ef8b1352f75e6938ff5cf10ac4c54d4039", + "timestamp": 1429077684, + "sigs": [ + "6c8892c3277b90f5ca71a42515706de993c459f094282fa99168359f00c5cb862811c4225cc1448e99ba2755e9f9eb241ad0df25b20f1a6ec035a673cf42ab2f00" + ], + "inputs": [ + "77769e6a01cf3dca201ade501767d0abf20dea19d694f3272b647a9a651fdee9" + ], + "outputs": [ + { + "uxid": "f5867b05823c81fc53de36b140415b3b98e4f4cec5883512f8553f70c550d8e7", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "7000.000000", + "hours": 211 + }, + { + "uxid": "9011fbc6e82dce0656e7ffc76afb014d2ad70aa4663e7b687d3212e12f8965e2", + "dst": "2jNYhHCuqQtU8kKkLf8ZZmKj6fywTL7fw2e", + "coins": "1000.000000", + "hours": 211 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 117, + "block_seq": 64, + "unknown": false + }, + "time": 1429077694, + "txn": { + "length": 220, + "type": 0, + "txid": "29c229c97d27bcaf842a367520e1916fb855921906bddf4a3b0413ad3f11517b", + "inner_hash": "bc02dde29d200fa6bc0497f2ddd5e52007aef9b6482d40953fbd44ed88e3cf78", + "timestamp": 1429077694, + "sigs": [ + "0674c0617c9e6109ca9af404d446777943bb6aaa5dcb223da63bff1a305498972735e0b2a601cc9c6ee2231ad5fdd025fb92cbb00e200860a2ebde924f76499400" + ], + "inputs": [ + "9bbb8d620aae3efc7c21bb7d6a7159eda441a83e0fef2cd98f8240b38857d648" + ], + "outputs": [ + { + "uxid": "25ad0d5ae6a1a9bc61c6b9099fb7829111977a59e1183de4227a0a5352555639", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "940750.000000", + "hours": 1170 + }, + { + "uxid": "47c74a6d7f1f54cf0a7ac45ec00277539079810068dd95a29a202c43780d65a0", + "dst": "PCAtFnGVujpALXB1Gqb9CEMRMVXfVGu6iM", + "coins": "1000.000000", + "hours": 1170 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 116, + "block_seq": 65, + "unknown": false + }, + "time": 1429077724, + "txn": { + "length": 220, + "type": 0, + "txid": "e3b7236ad4b209d664ee1e2549f2a0d34a3ba58b12ee46f98fba73c01574e484", + "inner_hash": "30b5c520717641fa7a5b11c5340e6f239d1502d90809e919003004048582e8de", + "timestamp": 1429077724, + "sigs": [ + "3c90ea0882c24e0e17f9f453f7777eba42aa5fea386f21f8f873969a0118d12f0a81169e3600d68026cbbe300b63568db468cbd931087eb0de8635a8453efe3201" + ], + "inputs": [ + "83b5fa4051dbfd50ba903374e5e583a9345c6a980505ee56963de9bd8e539e36" + ], + "outputs": [ + { + "uxid": "70dfcdd1a8a321ffd22c4ce313763464f78c2f85a97bb369ac8b82f76d2ea961", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "3000.000000", + "hours": 5 + }, + { + "uxid": "c2fcd55cf6b73e863c96f7c2d6251069199bfd43688d2515f5c6631688aadcbc", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "1000.000000", + "hours": 5 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 115, + "block_seq": 66, + "unknown": false + }, + "time": 1429077734, + "txn": { + "length": 220, + "type": 0, + "txid": "bbd1d4b6fe89a5986efbea9f7996cca2a515c3f0788cedccc21990dc78d83509", + "inner_hash": "f5b418d7156e6ad70bbde6d90be61d4ab2fce406890a3fe764ae2a43da12440d", + "timestamp": 1429077734, + "sigs": [ + "1fd3e13f0e55364107d6916ab5002bcc434889e5f5355751f1f688ac469f336d09161f516770cc78f1ece3cb790a1ded56e25948a46546c8d521dea6b3141fad00" + ], + "inputs": [ + "1efc8693845733061e1407a74e86976a52a69c63a14d6a79e1f3e45277662900" + ], + "outputs": [ + { + "uxid": "3fe6b13824f28d69588c309278420069bc0efae95367d0d6f93cb40af15eeaa6", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "6000.000000", + "hours": 43 + }, + { + "uxid": "06292fe8a2036c38f28c4d2f355d9e86e2b55b9d85f84613a64cf5c35d192b28", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "1000.000000", + "hours": 43 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 114, + "block_seq": 67, + "unknown": false + }, + "time": 1429077874, + "txn": { + "length": 220, + "type": 0, + "txid": "42227683dd9c149859d0578ab300d8509d513afadf7834fd8ae7a321cc07d833", + "inner_hash": "a7a9ea6466bef6cd63f671ae5dd1aafbeb251a717c7da331d40ec376ad0e89ec", + "timestamp": 1429077874, + "sigs": [ + "b4a141eb037a4debd99c347f337f67662a3feeb96112d7b05fc035a3556419dc3a9b35028327d925ca5eb9da018371bc333b7365f06ea22366169af6f066524701" + ], + "inputs": [ + "25ad0d5ae6a1a9bc61c6b9099fb7829111977a59e1183de4227a0a5352555639" + ], + "outputs": [ + { + "uxid": "acc75d51ff9f18a224d1ca0481917e2a67298de40955711cd97a08f6733b5b6a", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "939750.000000", + "hours": 1452 + }, + { + "uxid": "8bdd2662d7ed495ff82daef9198ee23ac0c75417607675a8da3dd673952c0e39", + "dst": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "1000.000000", + "hours": 1452 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 113, + "block_seq": 68, + "unknown": false + }, + "time": 1429077914, + "txn": { + "length": 220, + "type": 0, + "txid": "d803ab903f68f7861cd8eff93b3c097c5b8f6a697ca67bb01e7e645060839fd0", + "inner_hash": "611f096c50da1d98c29b8c9bdc6b7f7c98d96061ab126c66716f17a2fc495166", + "timestamp": 1429077914, + "sigs": [ + "d264a023bc6986c1bf16e2e697f4df8b6e33ae2d4b1ddd4e207cb5f902fed54c1234c3ef2429d82507f5c10c0fb4320d753f3bf6b5e155fa3ec03bc91dd8206a00" + ], + "inputs": [ + "acc75d51ff9f18a224d1ca0481917e2a67298de40955711cd97a08f6733b5b6a" + ], + "outputs": [ + { + "uxid": "5c1069a3aa6628ed7f9bdb300bec1a7e7ca6fb4645528a8c6a27c167e7dfe698", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "938750.000000", + "hours": 181 + }, + { + "uxid": "3c56fa9d161783d6fe5c8b055c6d20bae27097e7bcc44d9ece5c94df182ee5bf", + "dst": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "1000.000000", + "hours": 181 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 112, + "block_seq": 69, + "unknown": false + }, + "time": 1429077944, + "txn": { + "length": 220, + "type": 0, + "txid": "3bf485890e91268452dc3136c0b294dc9909b3aaa10b9c936743e6e9b1a56f61", + "inner_hash": "e952e5d86f3cff105dab78a455691c871f3b0fd09558e367833c4743339b94d3", + "timestamp": 1429077944, + "sigs": [ + "632771f1bdae7454911dcb6462aee56827f949dae18e8a98168b57864a62333f4251e17efa15a53ec12ab6980ea72838e9bb0e64aad82ad9e6a0a2a33b3006cd00" + ], + "inputs": [ + "5c1069a3aa6628ed7f9bdb300bec1a7e7ca6fb4645528a8c6a27c167e7dfe698" + ], + "outputs": [ + { + "uxid": "8190fd31c005510d550c8a241b127fad2558c82aed9483fb4423193d5f4429e3", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "913750.000000", + "hours": 22 + }, + { + "uxid": "5a7b2b6568cfa4ff5d44e98446aed92438ede0103b9994cfa3389bd02a35239b", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "25000.000000", + "hours": 22 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 111, + "block_seq": 70, + "unknown": false + }, + "time": 1429077964, + "txn": { + "length": 220, + "type": 0, + "txid": "f51e2ce31961b0186e04cc9d78857c3c21d3e2afb25c050d8c1d67d3320fcc07", + "inner_hash": "4a8b13ea0c8a993b3455a374e847bcbea7e7a20392c7cc169cbc41778e65d6e3", + "timestamp": 1429077964, + "sigs": [ + "74f886780a9df8f6987c8c60bf5d9ad0fc25a502ba8f681188923d3a85f74bb87d57b067e53ed0f423ee7fbb352f3260e65c38e44cc7eec8fe8224374fd77cc800" + ], + "inputs": [ + "8190fd31c005510d550c8a241b127fad2558c82aed9483fb4423193d5f4429e3" + ], + "outputs": [ + { + "uxid": "450cd7795bb3625daa99d6b64b9a8786d593bf1cad986d6c2933dae04b74a593", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "888750.000000", + "hours": 2 + }, + { + "uxid": "9639a86df8da288fb0fc6a92fa086f3cd5a8387705a14ddd2aa5e30c6c3fc3fb", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "25000.000000", + "hours": 2 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 110, + "block_seq": 71, + "unknown": false + }, + "time": 1429077974, + "txn": { + "length": 220, + "type": 0, + "txid": "abed13c2a552633d26b5b51c3ac5abf9808756c0203869ed185a7cd673702ba2", + "inner_hash": "c176a1a85f716055a9e8060c2a4245db0d7f71f4ac5387d4a51d173db467150a", + "timestamp": 1429077974, + "sigs": [ + "40e8340047f08afd483b2867166e15ae751bb7272a2c24f68ae8561d3619ea021363e987118a2fe516cacff1946d4d6c4c249038581ee2f58f8feea4bcffc3b100" + ], + "inputs": [ + "450cd7795bb3625daa99d6b64b9a8786d593bf1cad986d6c2933dae04b74a593" + ], + "outputs": [ + { + "uxid": "b44ee00208690c2123989f40edaff0224825afb20ca0952fbd90bddfd3213642", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "863750.000000", + "hours": 0 + }, + { + "uxid": "22edb5931e1c54382f18e41ef774931efb08c278209a1fe8a34100147b707220", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "25000.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 109, + "block_seq": 72, + "unknown": false + }, + "time": 1429078004, + "txn": { + "length": 414, + "type": 0, + "txid": "3872797c8f9964e6ad19552b9b88d2af07be32866bdb9b9c60aa7086f253af43", + "inner_hash": "5784542f1b1f9284f25c8d3995429e77b1c0cbdf4b1eeb6a1737f5f19b0b576f", + "timestamp": 1429078004, + "sigs": [ + "cf51ea4b5631baaa43dcf258cf08f6f87fe4fa9afb2d081e7eeacf6be3b1239058e30d931d22d3befcbde12b51399b438cd8726670f10c0da3889bc08917fb5601", + "bfa55b86721bd2d92144e2108123cc33b62ef50da580fed9d6787cbcc1674f63761ef4d39592f060e98b415c22d272066c36f6499ceb5571b19b4eae1c3110be00", + "3b50522194013cf9ea2dfc387be85c79c7e2379c1936d654c14921cdcbbbaab047a2ab1e09f3a190a09d12f70b41d6428b2e171732630b6a74eeb269853a404500" + ], + "inputs": [ + "3fe6b13824f28d69588c309278420069bc0efae95367d0d6f93cb40af15eeaa6", + "5a7b2b6568cfa4ff5d44e98446aed92438ede0103b9994cfa3389bd02a35239b", + "9639a86df8da288fb0fc6a92fa086f3cd5a8387705a14ddd2aa5e30c6c3fc3fb" + ], + "outputs": [ + { + "uxid": "3a7e60306a5fc882d0c4edcb2990d14be6b80dad1a41b06f8ae5e0308078bafa", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "31000.000000", + "hours": 93 + }, + { + "uxid": "a96ca17d6af858af8c6f24f607a742ae2979ab8f660b8363b7fbe18625c8a048", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "25000.000000", + "hours": 93 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 108, + "block_seq": 73, + "unknown": false + }, + "time": 1429091164, + "txn": { + "length": 220, + "type": 0, + "txid": "a95317361364e8cc08a150840bac8a97ea1f56278f8834ca2a2f16c24c4a7f0f", + "inner_hash": "90c166e92a7883037f9634704923d986976ac814f28e4761309bf86d77cdb755", + "timestamp": 1429091164, + "sigs": [ + "27ee3b614e5362462bc20c23e873e380b5bcc880053436a640286ead5fe2dcd00094e0eade532ffbfc8ba95d5e3540968b2fff64e19e0e772342aceb3c5d3ce100" + ], + "inputs": [ + "c7919b892eeb751456d456b37ccde7350a3fca0dda03b17ec426a56f12dcf192" + ], + "outputs": [ + { + "uxid": "7b132c07322babefa83ab64971b7bfb29bf2cb9ffe9c42dc7e2975a185dcd8b8", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "995.000000", + "hours": 387 + }, + { + "uxid": "8f52e126bbc359bc3bfd230d82649c3d1c622e8f9c20dae7ccd73bd0b4ee2bad", + "dst": "4EHiTjCsxQmt4wRy5yJxBMcxsM5yGqtuqu", + "coins": "5.000000", + "hours": 387 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 107, + "block_seq": 74, + "unknown": false + }, + "time": 1429091944, + "txn": { + "length": 317, + "type": 0, + "txid": "edca397ceedb5fb4462b0aff8fe7f9da5091a4e68f11a34c79daf2c5ae7dd748", + "inner_hash": "873d38a9ff804dab8d83013a6e6b4132d0b0dde6439de24f2190ecd1d31f9ab6", + "timestamp": 1429091944, + "sigs": [ + "0c3ca0de3f369e03859d710b18656c92c96b11b8c0e15e31b337293e59776b905f6ce7f91f7b3c9c268b6cb1673b8ef2ffe2dd7f059f7833b62284168bf2065601", + "7755689ff9c10e672b3311b1b69ed69ff82dbcc168683b75e77491c9d36f7a7f1ddd0801b5acbafb467baca8ab9f28cf7189be701bdf169749290ad4cb58e2a801" + ], + "inputs": [ + "9953e00abe05db134510693a44b8928ca9b29d0009b38d9c4f8dcdedee7edc35", + "8f52e126bbc359bc3bfd230d82649c3d1c622e8f9c20dae7ccd73bd0b4ee2bad" + ], + "outputs": [ + { + "uxid": "5f75082377566cf140c8f158e160ab6ecd1cdf02224c66865106fa1a75b39dc2", + "dst": "4EHiTjCsxQmt4wRy5yJxBMcxsM5yGqtuqu", + "coins": "955.000000", + "hours": 7273 + }, + { + "uxid": "e2807345a3e76b7050038a9ec40d5a62bd4dcc6b1ed79f186213a32caf7008a1", + "dst": "j6pa8kdKqHbxRm2VXJVbzigQDFzqTVfvfq", + "coins": "50.000000", + "hours": 7273 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 106, + "block_seq": 75, + "unknown": false + }, + "time": 1429096344, + "txn": { + "length": 220, + "type": 0, + "txid": "3122b6b29ac470bfa18fbd1ef6d5ff76717e18ba25374215a5003557b4524f22", + "inner_hash": "f752c579e2f7663b3e13371c7bb94b09cb047f1cdb597bd52b79c8c81f557b9c", + "timestamp": 1429096344, + "sigs": [ + "d12daa336401481611bf15edf07cfa0b181a1f3e2e8d062c6e8b04d690242cd87db5fd5aebda3bb06c49e8450c18c5c0360d6c4b14686cbb361feb394b5c26f501" + ], + "inputs": [ + "e2807345a3e76b7050038a9ec40d5a62bd4dcc6b1ed79f186213a32caf7008a1" + ], + "outputs": [ + { + "uxid": "ec41341d4c9d69e150079550a9051c4cb7cc3e2da49deb2c0faaa632cb1958f8", + "dst": "j6pa8kdKqHbxRm2VXJVbzigQDFzqTVfvfq", + "coins": "5.000000", + "hours": 909 + }, + { + "uxid": "ead07056919be961a9e812a7832356d806d551096284648756b3642a3d4a5570", + "dst": "4EHiTjCsxQmt4wRy5yJxBMcxsM5yGqtuqu", + "coins": "45.000000", + "hours": 909 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 105, + "block_seq": 76, + "unknown": false + }, + "time": 1429110544, + "txn": { + "length": 317, + "type": 0, + "txid": "5369348d67b2dd30dd9164657e372304f81ea10dfe1914ba874d46cd659f52c5", + "inner_hash": "08a8ae61257645c212216e63a96673001fa581c286eaa4ddcb81f6ffaaff8c1a", + "timestamp": 1429110544, + "sigs": [ + "75489dbb081962833ce1fffbc393f0040e5c75bf45564a3757573eba816b71bd63e8178eef8add2277864d6d251013b6197bd80efdc069b7c5adf27b0372703c01", + "4587b09d2e08de8379fd1505748ea21db3995f2dd18b04ca729f2ebf76c2645a21acc2e5ca5f4b79f6381b91ef21fe4bb72d2415b74f38fc1569b90233211c8d01" + ], + "inputs": [ + "73ad63090201c13e6fb55d2e51ec5606fe49a40640bea995e347e7389fcea6c6", + "4aca4c715985da352bd9aa84787868dac4f4e305c420fe79e6f05acee3bba14a" + ], + "outputs": [ + { + "uxid": "50386f195b367f8261e66e3fdfbc942fbacfe25e117e554ca1c1caf899345476", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "25045.000000", + "hours": 72043 + }, + { + "uxid": "9c3119ad3edbd17a2135cac6d24ef43c6d7e599710b2aab4e97e731e64c13acb", + "dst": "9vNYwzpjSgw4dRyTc7SAP4z9Jh8bhwURnu", + "coins": "5.000000", + "hours": 72043 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 104, + "block_seq": 77, + "unknown": false + }, + "time": 1429147880, + "txn": { + "length": 220, + "type": 0, + "txid": "29798149e90f6442489bcc3294f455441a5a401e81491ed06bdc2c850756f0d9", + "inner_hash": "23ab44d59346b369d258cce6d5142ca7e1b52dd09a1512d8a618e08ae7346004", + "timestamp": 1429147880, + "sigs": [ + "6e0bd761d2d9eeb207f0c4cf9f13d1407f33b5f50e72c3462225c8041882ddcd078a02720d533801a433d917674e3d68a98bb997e9b06664a73a9bdeae46404601" + ], + "inputs": [ + "b44ee00208690c2123989f40edaff0224825afb20ca0952fbd90bddfd3213642" + ], + "outputs": [ + { + "uxid": "6060c983054614b8801e405de697c443a1edebd3236582f89f01c6cf6a165c3f", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "862750.000000", + "hours": 976817 + }, + { + "uxid": "08723ed501e11c2053bab6b500f820dd7ae2aeb4a3c9d5109845bb46afebde97", + "dst": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "1000.000000", + "hours": 976817 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 103, + "block_seq": 78, + "unknown": false + }, + "time": 1429147900, + "txn": { + "length": 317, + "type": 0, + "txid": "c1fb9372439d7f43d17809afc2d1bc9b2aa81fa9fccc1d837c79e649ec4843db", + "inner_hash": "283b6b1141f7b09348804d18171ec9b0d20446725df1265932a4064385c9c295", + "timestamp": 1429147900, + "sigs": [ + "d16d6a7cd11064a91a6ca4917efe946cc38cb4e7dd59281a4b4098e39bdc151036b72fbf9db4f3ca2b97bdb56a861e8fbe010e52926b176172d3e68b85c7b04501", + "5cd9b19556656a6914d2f8a3daf556220e34eb567a741f015a9de0d53920bfff0e0cb3513551ed7ad95301ac8852487b76a3509832379c57572b46e75f0946cc00" + ], + "inputs": [ + "70dfcdd1a8a321ffd22c4ce313763464f78c2f85a97bb369ac8b82f76d2ea961", + "a96ca17d6af858af8c6f24f607a742ae2979ab8f660b8363b7fbe18625c8a048" + ], + "outputs": [ + { + "uxid": "dbe677fec72761ed99467a4d45871aafe173d7dc133e8db0346e3f262ae2598a", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "27000.000000", + "hours": 67976 + }, + { + "uxid": "ce4ca78d810564568c936554d0b6c1a50d91b273648314ffa3fcc1b2d72ac334", + "dst": "sV8sVBgs11uHQtZK5MPbYem2iJ6Hehghv7", + "coins": "1000.000000", + "hours": 67976 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 102, + "block_seq": 79, + "unknown": false + }, + "time": 1429147950, + "txn": { + "length": 317, + "type": 0, + "txid": "2558a7cd524acdb58f822a56bd51e8905182b2b35fbfdb1246ce6dc9930d14eb", + "inner_hash": "37931a3c0b9fe54ebfd93e70c5e872ea8f68669bcd38176bc223be01f7e43aa0", + "timestamp": 1429147950, + "sigs": [ + "1d2fa9d76a29f3ce2eda062afe42f3718db434863955ed4f43a83f79dd372a922fd2774d7f5227fa253c65537418b30309932f404e788db91fac1d580d83b28101", + "471ae24bbebd78b5d298edb81e07cc282ce8c1517a2d7426f91f177f111c93873c594e04a215bcd982220b0e6967bd328ec494811cf5eb854091e1d4552545e700" + ], + "inputs": [ + "f5867b05823c81fc53de36b140415b3b98e4f4cec5883512f8553f70c550d8e7", + "22edb5931e1c54382f18e41ef774931efb08c278209a1fe8a34100147b707220" + ], + "outputs": [ + { + "uxid": "09661724179523e8aec95862a5fd12dd1aa50f39f193f81eece0d7aea6197103", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "31000.000000", + "hours": 77792 + }, + { + "uxid": "2a886bcedf8862c351cc4087b89e902202b08b164363567a9be47908e938f280", + "dst": "pMub1Pz3SLVaSwHoomgp5oDVxdkVxLkW6L", + "coins": "1000.000000", + "hours": 77792 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 101, + "block_seq": 80, + "unknown": false + }, + "time": 1429148000, + "txn": { + "length": 220, + "type": 0, + "txid": "5db4378f5abcbb48774fc3731a164fb7bbdccf410c3ff829c5706e4d9ef1b1c6", + "inner_hash": "3e77cc0080eaa29331c9206044e731992369bf84c89262c80d68b39b68ce77e9", + "timestamp": 1429148000, + "sigs": [ + "94e4ecd0016b2c5b10f55941cc0355a2c248eaa04566dedcf84e83cfee959d50578cb85ca0ee6170060e97a6fc766fa79a4f6e0942605681178d4bb8009b31e501" + ], + "inputs": [ + "dbe677fec72761ed99467a4d45871aafe173d7dc133e8db0346e3f262ae2598a" + ], + "outputs": [ + { + "uxid": "fa761f3b902ced1ad8e94231af3447315a8c8bcdbbdcfcd69bb74ca5ae66f6e9", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "26000.000000", + "hours": 8543 + }, + { + "uxid": "e16c0ebbfba61c49b0e98bf8336bc4d8a33ca30386c4d875bba2ec4bf4a59147", + "dst": "22WGCstVJGVyqnBuvGHt17L5aNNMpURvckd", + "coins": "1000.000000", + "hours": 8543 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 100, + "block_seq": 81, + "unknown": false + }, + "time": 1429164440, + "txn": { + "length": 220, + "type": 0, + "txid": "0cded82aa3ac92d78e23d2d0d7faf93c675fc9a321ad55105f65b6fca444b1e7", + "inner_hash": "0ca2ed02f9155bf69af2fd27b40b0300e0c9804cbd2507389d930ef186f48794", + "timestamp": 1429164440, + "sigs": [ + "68a82ec4421a37b8116c8bad98d2568802973dbce6f0166b3a9504110ee4873239953c3e8baf3a20d599e300c8b2c524d672c46ed593e126adc908f1decbbf5100" + ], + "inputs": [ + "6060c983054614b8801e405de697c443a1edebd3236582f89f01c6cf6a165c3f" + ], + "outputs": [ + { + "uxid": "129726406b3101d51ffd5bfca59a501184d6c8ca363be4ef1b8d8bf48a6c70e0", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "861750.000000", + "hours": 125696 + }, + { + "uxid": "3fe7d61ffa993e00200ce6be7ba347c603032ac3f8c4ace07767e630fe94d76c", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 125696 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 99, + "block_seq": 82, + "unknown": false + }, + "time": 1429164460, + "txn": { + "length": 220, + "type": 0, + "txid": "0ad2691de38a15ec31b0fbe9a0c1175138c9d7b7558db2f016a23619f3dbbc6d", + "inner_hash": "3b3cc2ad41e6248b46bd71e14f91eb2296b730426a8f0481c440271920ddbe27", + "timestamp": 1429164460, + "sigs": [ + "e5711c06db00c26d91126e9d024189c1a494ae1357b55247955a4b3bda219e8905dfa03875c1224e754e5e8b4d475d1ce335f2699cd9d490583cd6a0d1e1338c01" + ], + "inputs": [ + "3a7e60306a5fc882d0c4edcb2990d14be6b80dad1a41b06f8ae5e0308078bafa" + ], + "outputs": [ + { + "uxid": "dc8162cf85ce1a434adebab2d13abffb587c0e50b86fd1a997bca67f07a66ebd", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "30000.000000", + "hours": 93050 + }, + { + "uxid": "9bfa6dd7ff610b2e8ba036594244e70d427398eab8607d39be0e45303d45d4d8", + "dst": "9vNYwzpjSgw4dRyTc7SAP4z9Jh8bhwURnu", + "coins": "1000.000000", + "hours": 93050 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 98, + "block_seq": 83, + "unknown": false + }, + "time": 1429164480, + "txn": { + "length": 220, + "type": 0, + "txid": "d80d49958166fd7b35cee63cfc4a4fdd434484f9bfd9444f62a1b856da36e9c7", + "inner_hash": "ddf70f29cbcb9ab5d04848c77bb605849c5d831c80afed10f64ea2bde710b7bd", + "timestamp": 1429164480, + "sigs": [ + "21ccec8663f52b64e6d1983c5c715fc360ef1a01a0f4fce857fe7151e59b4cc87a5b6cc18f770eac98ef640eb15d572ea96b81e90a793bb01ac905778c10f0da00" + ], + "inputs": [ + "09661724179523e8aec95862a5fd12dd1aa50f39f193f81eece0d7aea6197103" + ], + "outputs": [ + { + "uxid": "6a8bc7ef9e8e7b67fd270cf37022edadb13f1fc2ba4e7a026f7ce2ab30cc4572", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "30000.000000", + "hours": 27495 + }, + { + "uxid": "a733e89023ccc12587d0849f9baeda0d2fad640c1cbe97e24ffc531859fd83fd", + "dst": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "1000.000000", + "hours": 27495 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 97, + "block_seq": 84, + "unknown": false + }, + "time": 1429164590, + "txn": { + "length": 220, + "type": 0, + "txid": "8374d85130bbcf496bff138cd040f91fa362eb1b6b6a1c7c9285523437d5589c", + "inner_hash": "3188ba9148add7f2811180f130de2c0668fc21c031a7329993b61bfe35f860f1", + "timestamp": 1429164590, + "sigs": [ + "93edab2b508cd33cd76c50a5aeabcbcf35472d25ba2b3f268d1cc0a4a813fbe907f4c0e645893b4efd524d30fabb6ba62d65c2ee050057885eea2ca0d2d1c21500" + ], + "inputs": [ + "6a8bc7ef9e8e7b67fd270cf37022edadb13f1fc2ba4e7a026f7ce2ab30cc4572" + ], + "outputs": [ + { + "uxid": "15700b88043b3c08a46c3c4e36e7f431291a26aef1ef26c44ee413feee14b950", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "29700.000000", + "hours": 3436 + }, + { + "uxid": "e2512ec90800147d0d9ddbd0778511ee5a45a25efcb354c50a101738a65462c5", + "dst": "YLT4buWf3kYDV9QddnC5iXTj881Eniuvrx", + "coins": "300.000000", + "hours": 3436 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 96, + "block_seq": 85, + "unknown": false + }, + "time": 1429164620, + "txn": { + "length": 220, + "type": 0, + "txid": "b7b42b1b29acab0a2328aaf368ec74be49b4d4caf827e82b439ef4d8be976a55", + "inner_hash": "8b5eec10f63b31e72d4dba2c71fb0f7bc230e58f497e255352f02eee965d3595", + "timestamp": 1429164620, + "sigs": [ + "82587c832f0c74f185603b934a32a28624712373d188caad0355314ea621a4af3e96dbd1c37e889f630d90047c79b39c495b49964eca20172bb900db1df48b3a01" + ], + "inputs": [ + "129726406b3101d51ffd5bfca59a501184d6c8ca363be4ef1b8d8bf48a6c70e0" + ], + "outputs": [ + { + "uxid": "05f42f22f5fea4b5cac8182dc2b4f280149c686434c6d4195a119a8d02ab24b2", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "861050.000000", + "hours": 20200 + }, + { + "uxid": "6e2abc4bc7820178358a603b7d99c4b39735dd1685d0c5a778ab63f29c9e93d9", + "dst": "YLT4buWf3kYDV9QddnC5iXTj881Eniuvrx", + "coins": "700.000000", + "hours": 20200 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 95, + "block_seq": 86, + "unknown": false + }, + "time": 1429164720, + "txn": { + "length": 220, + "type": 0, + "txid": "ca51f9d0a19bf326d6dd39a1e4dd240adaaae279411093d4a5b20f54cddabb95", + "inner_hash": "47500bd3c5f74835a01b0f696e15780baec2ca3723f45355c9e8cd1c71564d18", + "timestamp": 1429164720, + "sigs": [ + "fdbc112b10354be2b85b2f9131a3927e7b4e87ff8ddef91b849a71e0b1445ebc410b61d85ff7af1834b54febf89d903e3151f5a74ccef4e9607851c9005454d001" + ], + "inputs": [ + "05f42f22f5fea4b5cac8182dc2b4f280149c686434c6d4195a119a8d02ab24b2" + ], + "outputs": [ + { + "uxid": "4e1a98a72639efa6253a7cbea0f3b499fa24fb88612ad81414d20e46d2b5784e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "860050.000000", + "hours": 2525 + }, + { + "uxid": "ee69cfd4f15d16ded96745a35ef150f679b5b79cc0fd4009a2d02cdccd81ca3e", + "dst": "tG8F6fuw3KEUStpa85EFQDMHVw9piTzZ2g", + "coins": "1000.000000", + "hours": 2525 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 94, + "block_seq": 87, + "unknown": false + }, + "time": 1429164730, + "txn": { + "length": 220, + "type": 0, + "txid": "cf5a1fad27f8f874f67d3162ae6347154c980ebd97c668d610280418f0f53ce7", + "inner_hash": "937bb1627381dc0e982b5b33a119a458db7605a5ff11df1b7a81957460157bad", + "timestamp": 1429164730, + "sigs": [ + "53f091d0b653d50c32aa9bd24c09aa1671b2a8686f744a769a9568d3ea28f7852370d83429dfff6b16b9a721f2ecdf40fe799006229d575cec6e73174e7b84b500" + ], + "inputs": [ + "fa761f3b902ced1ad8e94231af3447315a8c8bcdbbdcfcd69bb74ca5ae66f6e9" + ], + "outputs": [ + { + "uxid": "a68c6c646b6bd42f509a82d0218c8ee648b4a40da20eb0599449a7249b10fee9", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "25000.000000", + "hours": 16162 + }, + { + "uxid": "f98e302e74d8972254b1cdc4de3ca78ff1e60f3f1b7083af397f3bcb219e9454", + "dst": "FtdApqw416skWtXM7ExanZWFmiHNPZ1Ft6", + "coins": "1000.000000", + "hours": 16162 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 93, + "block_seq": 88, + "unknown": false + }, + "time": 1429164790, + "txn": { + "length": 220, + "type": 0, + "txid": "efc98a4f94ffda2f1d6575048d75728f228a0bef0467c331f085a0f41f97ae45", + "inner_hash": "0134889df5d1e5c7a545f1cd6239ea51513534ed08acd503cc77e0b9d74ebcc2", + "timestamp": 1429164790, + "sigs": [ + "9a2582b47df81a77ab148fabe81fa6b1c490b213e0cd79aba779be1c56c225d5591bc6674a08bce27103ce7e1e85756d31c96635ecc07ae40c53ccabb20d254d01" + ], + "inputs": [ + "dc8162cf85ce1a434adebab2d13abffb587c0e50b86fd1a997bca67f07a66ebd" + ], + "outputs": [ + { + "uxid": "b187246f68a768f65663b8a208ab107a9bc24af6a062acf3ad41aeb899315a49", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "29000.000000", + "hours": 11912 + }, + { + "uxid": "f713b6bde2e1956615b23021d20aeb829611d231e2e85b8204c01e5719ac8639", + "dst": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "1000.000000", + "hours": 11912 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 92, + "block_seq": 89, + "unknown": false + }, + "time": 1429164800, + "txn": { + "length": 220, + "type": 0, + "txid": "a0956843d442bd4b592d0c1323d153c3c1b2d7d52a86629444de6d1d1b6a4c33", + "inner_hash": "0fd405b4d4a74b417a27d0bfd2f0d1acf4ed0499a000e94c64a1443c5bb440bd", + "timestamp": 1429164800, + "sigs": [ + "9bd640adcf2e1870dd4cdd93f007759626ed9fd87dd8e0485888612ea660435a3104889820e6dab8d692efc3e4afb892de622c46b5f5c25718dfb78d4882d2ec01" + ], + "inputs": [ + "15700b88043b3c08a46c3c4e36e7f431291a26aef1ef26c44ee413feee14b950" + ], + "outputs": [ + { + "uxid": "24c49699aab32caf9456a6b4dacd4d820c853c7639e5500b3be6326660312917", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "28700.000000", + "hours": 635 + }, + { + "uxid": "63154895637eb000146996ffaeb7cc1a547e409d0a2038650e990e7cc9b36826", + "dst": "XnKU1htBL5wFSMX8oytZBsBMeaBSbVNivT", + "coins": "1000.000000", + "hours": 635 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 91, + "block_seq": 90, + "unknown": false + }, + "time": 1429164810, + "txn": { + "length": 220, + "type": 0, + "txid": "bd617ec27c2bea642fad8c153178e11ca08456d752249324e3011f27c845f87a", + "inner_hash": "f8ce5c9cc22005d7f63c0400132b0e70a6a8af574f1a5c1ffb0404f228a02949", + "timestamp": 1429164810, + "sigs": [ + "b471a7bdde8b1427f8081d9e91250fd89cdd4dd23062796fe2ee973c612eb28b76f6c7ab4f3fbb7c7f9627c52158066d13d9fbe34dfdb6e77c02d84ff4d45d7d01" + ], + "inputs": [ + "4e1a98a72639efa6253a7cbea0f3b499fa24fb88612ad81414d20e46d2b5784e" + ], + "outputs": [ + { + "uxid": "33e0c4c9536afffd491fef6294f22ffb0d16902493946a051db0b218728a1c44", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "859050.000000", + "hours": 2704 + }, + { + "uxid": "2a09e97f7725a35af1357842206875a023252da4ebfce129eaf4cb87119cfd41", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 2704 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 90, + "block_seq": 91, + "unknown": false + }, + "time": 1429164830, + "txn": { + "length": 220, + "type": 0, + "txid": "98baeb9799902593d0f61ee22947089a798c6adafd05dc6a5ea918d982a19857", + "inner_hash": "8fdb3ac7731310281c5e67ca521d5b925aee8c7dd34b7b8249ae522ccd450943", + "timestamp": 1429164830, + "sigs": [ + "c1f82dfa176134077c4512421b01bec50360dae178e43ec9ceb70d24ff38301a33c6780db5b80afb49b08d15b303217ce206601c1a29bfef4f3bbdf6ccdf779200" + ], + "inputs": [ + "a68c6c646b6bd42f509a82d0218c8ee648b4a40da20eb0599449a7249b10fee9" + ], + "outputs": [ + { + "uxid": "d45d0597c7d41fdc69ed09a139925327142589f1e4fb877285fa63c6fa126d38", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "24000.000000", + "hours": 2089 + }, + { + "uxid": "535987a7896501a8a69c1904c0bf98e2ef1fc493bf998c78ee420ef154868731", + "dst": "2iJPqYVuQvFoG1pim4bjoyxWK8uwGmznWaV", + "coins": "1000.000000", + "hours": 2089 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 89, + "block_seq": 92, + "unknown": false + }, + "time": 1429164850, + "txn": { + "length": 220, + "type": 0, + "txid": "54e65c445d0af9dda82085ca4bfe0f326ae54ea2a03bd37e07f81d937de97777", + "inner_hash": "d8f2215fee34a1104826266582d525f9c267d3a726732ed532fb6572d09b82b6", + "timestamp": 1429164850, + "sigs": [ + "9d5aa480261d4d2dfbb8264ccb2bf8944b6abb5267ad89dda83760273abb8c0116f172e257a661a4d3d89c9c2caf237a13519545173c0df741a7dd18770176a401" + ], + "inputs": [ + "b187246f68a768f65663b8a208ab107a9bc24af6a062acf3ad41aeb899315a49" + ], + "outputs": [ + { + "uxid": "74f7dcc6e516634b5d5722d8664ffabaca3b708a53497bb420ced7c300c39806", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "28000.000000", + "hours": 1529 + }, + { + "uxid": "3109e04b5baef2423f4d6d2d639464286c24ef9defa612d3b598802d761b670a", + "dst": "ZWhZtjwXMS46cpDxfRwQyxxKPhqwsQu8oN", + "coins": "1000.000000", + "hours": 1529 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 88, + "block_seq": 93, + "unknown": false + }, + "time": 1429164860, + "txn": { + "length": 220, + "type": 0, + "txid": "e2d9da9342b21659da0a679536f9d6f533a4ce7dc33a7f768c3441ca3640458d", + "inner_hash": "72974683d8244d927c63440a169a438611ef88b250f20df2711d83a9f61a75c9", + "timestamp": 1429164860, + "sigs": [ + "1c72245ae55779445ae5a6c030ea7f01cee7c29dd6189d0dcb383ec8438297e635b314c44bb0c4173c9e30d225774ee0334cee186e603a61c171af4db3eb961e01" + ], + "inputs": [ + "24c49699aab32caf9456a6b4dacd4d820c853c7639e5500b3be6326660312917" + ], + "outputs": [ + { + "uxid": "fb4d5dcc1c3ac97444e96aa7da392b0d7faf7b7373504c70e497228a4695a7f1", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "27700.000000", + "hours": 129 + }, + { + "uxid": "4a5c1b09ef2216ba2fdae735ec8c6ad404bb61bfbeb7407dee9d6e3578762ffb", + "dst": "2LZzgdFYNhsBBSLATkV6PA1zk6DvWNghP2", + "coins": "1000.000000", + "hours": 129 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 87, + "block_seq": 94, + "unknown": false + }, + "time": 1429164870, + "txn": { + "length": 220, + "type": 0, + "txid": "0f4958d590ed4ac9aca79d848731b358b1c01fab9717775cf6515f2bf2706dc8", + "inner_hash": "89c71b68262f8e3acddcec032b4209220ac7b794d1cefa62b45c71b94e017cad", + "timestamp": 1429164870, + "sigs": [ + "ede880d4422a1102280918227157997bb7a36d26a358a71bf016963d29e8403d2298754039d8dd14c0b05d776d05bebadb919a620e87439c93008e292086c94d01" + ], + "inputs": [ + "33e0c4c9536afffd491fef6294f22ffb0d16902493946a051db0b218728a1c44" + ], + "outputs": [ + { + "uxid": "f32f03f28eece9ddcdc488a85100c94a7c924c185ae560363518dae5e2aacccb", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "858050.000000", + "hours": 1829 + }, + { + "uxid": "24c4cfc628a0f77ce2e878c6ffa9d4dbd85325f8a5e0b5df970a3a2c36033519", + "dst": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "1000.000000", + "hours": 1829 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 86, + "block_seq": 95, + "unknown": false + }, + "time": 1429164880, + "txn": { + "length": 220, + "type": 0, + "txid": "c93f8bb30e75ffbc0075a4baf57a0f536e4a9123395b13ce67af5cd2dd0f8cd4", + "inner_hash": "20a707a3ccfe4ab0884697e4d9013da5c15f062b0a6f1395086503f2c4d6efb2", + "timestamp": 1429164880, + "sigs": [ + "5fa7614080d2b044f1edce8bc42961d311db3fa4596fa14973261272980c37b0776099a37d758c20a2d45ee73aaed7d007e58f9f15191233f4f27b266fb2866c01" + ], + "inputs": [ + "d45d0597c7d41fdc69ed09a139925327142589f1e4fb877285fa63c6fa126d38" + ], + "outputs": [ + { + "uxid": "aee4af7e06c24bccc2f87b16d0708bfea68ac1b420f97914965f4a23ad9e11d6", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "23000.000000", + "hours": 294 + }, + { + "uxid": "f9653d496ee2e6499a68a1172e5d60b60758b1edcd02d95a3388b29e113a9041", + "dst": "2U1B6EE5ZCXWJJSyEndouuCk434xpvYqYDF", + "coins": "1000.000000", + "hours": 294 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 85, + "block_seq": 96, + "unknown": false + }, + "time": 1429164900, + "txn": { + "length": 220, + "type": 0, + "txid": "0301358c2db5314ca43c442bac3c1daf31f4b39f9ac9e22dc157687212cab703", + "inner_hash": "3a68e8622eaf49013554114c0dac32c444998ef6c65ff1afc399bc772787f502", + "timestamp": 1429164900, + "sigs": [ + "8925bcbda7785c7a83a77bd5ce16542e91a8f046163d429fcf9c466ca6a9b1fa5f6b693a19b7d8127717821ae247ba30401068d447d0fde4136c0e49f5e7e57900" + ], + "inputs": [ + "74f7dcc6e516634b5d5722d8664ffabaca3b708a53497bb420ced7c300c39806" + ], + "outputs": [ + { + "uxid": "6002f3afc7054c0e1161bcf2b4c1d4d1009440751bc1fe806e0eae33291399f4", + "dst": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "27000.000000", + "hours": 220 + }, + { + "uxid": "63768bd1402317f7d3f0a38c9897e609bb72b7d334e54bd4c609292487264c22", + "dst": "22Piwuzo8ZfoXfpMghhbzGz3ptmTeiDhLbg", + "coins": "1000.000000", + "hours": 220 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 84, + "block_seq": 97, + "unknown": false + }, + "time": 1429165260, + "txn": { + "length": 220, + "type": 0, + "txid": "a689a3589730a351f880176b2c15b395967b38a90950e0491e7a1e5531f020a9", + "inner_hash": "d6cfcef60d17c03b68b94c4284746bc70e8ef66cb6d2bd370094a7e4b19dbaed", + "timestamp": 1429165260, + "sigs": [ + "de36c5fac7db61c7a47827e1a9ad1b717d5fa904b69283598eab6003ba1b1e264856f30a6afe0881675e8f11a86e666cec09b789f3971a6ec4ba25183684a18900" + ], + "inputs": [ + "fb4d5dcc1c3ac97444e96aa7da392b0d7faf7b7373504c70e497228a4695a7f1" + ], + "outputs": [ + { + "uxid": "4e75b4bced3404590d38ca06440c275d7fd86618a84966a0a1053fb18164e898", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26700.000000", + "hours": 54 + }, + { + "uxid": "1f9fb89f5b7c41d3df6d72b1f02c998196bc79ec20c3949693b4f5a2c1aae44f", + "dst": "2H7mA88ireMKHqP9LYWK5opnU176v7eYqrn", + "coins": "1000.000000", + "hours": 54 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 83, + "block_seq": 98, + "unknown": false + }, + "time": 1429274566, + "txn": { + "length": 220, + "type": 0, + "txid": "fe01250cfdf84eb0182c033c216891e7e6971cc85976c4c46d9e3c608974d233", + "inner_hash": "2400f3951d454f663d5097060267f8e31e86e1c3f10391c8a06ed79fd72fe49b", + "timestamp": 1429274566, + "sigs": [ + "6ecee1ca0e86de9bf6da9a21e49b1cfade8f1a279f7fc58834c15184bec1de634c82faf30bdab34083bc1f32f87d27daa1987a525db83100f88b9103efbc007701" + ], + "inputs": [ + "f32f03f28eece9ddcdc488a85100c94a7c924c185ae560363518dae5e2aacccb" + ], + "outputs": [ + { + "uxid": "99b4e51e1afd04813656e6202c7e462d88ce87ba980da7a62591190d72d1073c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "858000.000000", + "hours": 11848 + }, + { + "uxid": "f12164a6ea6ce65ff2ca1f2be7251bece8f7c5747ba8ec68e1ec3b27d45d7b9c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "50.000000", + "hours": 11848 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 82, + "block_seq": 99, + "unknown": false + }, + "time": 1429274616, + "txn": { + "length": 571, + "type": 0, + "txid": "819106dc50373e5293a7e79f179693e85536e8206d82272930ec08410d92402a", + "inner_hash": "02e9a06b0ca7f91255107993e00f09e9ef983559088c5febff264c17952033c4", + "timestamp": 1429274616, + "sigs": [ + "efb713e6a1e5d328e94a51fbeb0f73e2a3b7a54e15db75797f0b709f698b16eb26e522f187a98144807e0e6cd294686ff19037975abb6d44b20b2899968954f400", + "b5d011c60020ce591a21db15823c06188515a63ca95d573c36b3af83d634fc6f1c1125db197f6283510ee33890ac168513254ad37524c77294bb5a12e8ff23f300", + "00d87b91eda33f627f6cd28cc673daf929fbec36e7bcfdf894f7491618a68b5755b5baadedc106d53d2da924fcbedbd106eadc50ec611d426720f67426c7286500", + "e64cf7e74363cfd381a3aa6fd17d7c415d6034b26b93017acaf9cf3475ccdffc53c3714d1d13409323cf77ccc81596f6e6edcec11d890979a436ef960bcb5f6900", + "fc2eb05241afdd15cdbd28cc7158d7eb4442f21a678c52332762b23ac6c2fcc76b0f79731987df0ba84d82044cd474d4cda9afda778a21b78a0659c5b588664301" + ], + "inputs": [ + "2987e7c89d353ad5d63cea2bf2724dc5f7a5ef5fb81f5ea160a307f0726ac2f5", + "a52408daa8ce7026c70b61d4df4212fb577462060f340bfce779225b3e18193d", + "dc73aac74348dd285a1456c1fae2204d7c2039d50a765bdaae0c31f7c7e059db", + "e4e375b9dc55ff53d6de9120f1a87ff00e00a779835f8320f2c6b3090d0466e6", + "d11b05345917d171f60c31bd2634041b73b97eae364724369ddb8d53369397fb" + ], + "outputs": [ + { + "uxid": "427462efeb07a6803f013c789ea43d93240f74f886bf9afd63dc1936a7574a37", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "50.000000", + "hours": 7510 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 81, + "block_seq": 100, + "unknown": false + }, + "time": 1429274636, + "txn": { + "length": 183, + "type": 0, + "txid": "9f20b52befed2cbaaa4a066de7119b7fdbff09a83d8e2a82628671f51f3f6551", + "inner_hash": "c2e60dbb6ad5095985d21391cbeb679fd0787c4a20471340d63f8de437d915df", + "timestamp": 1429274636, + "sigs": [ + "2fefd2da9d3b4af87c4157f87da0b1bf82e3d6c9f6427572bd768cf85900d15d36971ffa17eb3b486f7692584102a7a58d9fb3ef57fa24d9a4ab02eba811ef4f00" + ], + "inputs": [ + "aee4af7e06c24bccc2f87b16d0708bfea68ac1b420f97914965f4a23ad9e11d6" + ], + "outputs": [ + { + "uxid": "194cc596d2beda803d8142ddc455872082f84b09a5edd8085082b60d314c1e29", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "23000.000000", + "hours": 87673 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 80, + "block_seq": 101, + "unknown": false + }, + "time": 1429274666, + "txn": { + "length": 183, + "type": 0, + "txid": "e8fe5290afba3933389fd5860dca2cbcc81821028be9c65d0bb7cf4e8d2c4c18", + "inner_hash": "45da31b68748eafdb08ef8bf1ebd1c07c0f14fcb0d66759d6cf4642adc956d06", + "timestamp": 1429274666, + "sigs": [ + "09bce2c888ceceeb19999005cceb1efdee254cacb60edee118b51ffd740ff6503a8f9cbd60a16c7581bfd64f7529b649d0ecc8adbe913686da97fe8c6543189001" + ], + "inputs": [ + "6002f3afc7054c0e1161bcf2b4c1d4d1009440751bc1fe806e0eae33291399f4" + ], + "outputs": [ + { + "uxid": "f9bffdcbe252acb1c3a8a1e8c99829342ba1963860d5692eebaeb9bcfbcaf274", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "27000.000000", + "hours": 102905 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 79, + "block_seq": 102, + "unknown": false + }, + "time": 1429274686, + "txn": { + "length": 183, + "type": 0, + "txid": "7b13cab45b52dd2df291ec97cf000bf6ea1b647d6fdf0261a7527578d8b71b9d", + "inner_hash": "73bfee3a7c8d4f8a68657ebcaf69a59639f762bfc1a6f4468f3ca4724bc5b9f8", + "timestamp": 1429274686, + "sigs": [ + "c4bcada17604a4a62baf50f929655027f2913639c27b773871f2135b72553c1959737e39d50e8349ffa5a7679de845aa6370999dbaaff4c7f9fd01260818683901" + ], + "inputs": [ + "4e75b4bced3404590d38ca06440c275d7fd86618a84966a0a1053fb18164e898" + ], + "outputs": [ + { + "uxid": "0a5603a1a5aeda575aa498cdaec5a4c893a28669dba84163eba2e90db3d9f39d", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26700.000000", + "hours": 101435 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 78, + "block_seq": 103, + "unknown": false + }, + "time": 1429278106, + "txn": { + "length": 220, + "type": 0, + "txid": "9150311508851ca989efb5f82b5a7201724514b6b9f84ec1620c18673462126b", + "inner_hash": "83e206eb05ce5708efd174bb9df2c0bc0741c1775e50d139aebf37ed6c46381d", + "timestamp": 1429278106, + "sigs": [ + "a6206409a077ec30fe7f0b0ad5162805dffbff743afbc9e8e926d72ae38d15f80ab8183150caa4d745125c1c6e733428e299742d10e07a64ba5bd21d4e5ee06f00" + ], + "inputs": [ + "0a5603a1a5aeda575aa498cdaec5a4c893a28669dba84163eba2e90db3d9f39d" + ], + "outputs": [ + { + "uxid": "1e30e9dfe00e055404063e52a4154a72492b13de6acf4871ec5ea6d7c0fcc968", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26600.000000", + "hours": 12679 + }, + { + "uxid": "435c7095e2531b88feb76f32fc34fac3406882cdf71e17fecdba196aa5bc059a", + "dst": "WADSeEwEQVbtUy8CfcVimyxX1KjTRkvfoK", + "coins": "100.000000", + "hours": 12679 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 77, + "block_seq": 104, + "unknown": false + }, + "time": 1429278406, + "txn": { + "length": 220, + "type": 0, + "txid": "44d56cfa9f83d874ee10fb32f0d40458f6bf3e86528592c9a9abf3c960fcb278", + "inner_hash": "4a9c25a15fe166d87b3fb6474360b39aa52703b70b961212f9494393a3c71c80", + "timestamp": 1429278406, + "sigs": [ + "0c8c4e941af19993051d5e7d0aba7414e066d15dcee9bd3eb1f7fab3259fe0345dff7ed1fa68eb243883a3793f3febc7b7eeb7a619601ec9248ec5c063707e2b01" + ], + "inputs": [ + "194cc596d2beda803d8142ddc455872082f84b09a5edd8085082b60d314c1e29" + ], + "outputs": [ + { + "uxid": "aa1133a42417332af8b58e71cc14a651e2731563eaea35f0feacc1e97fac6eef", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22900.000000", + "hours": 13730 + }, + { + "uxid": "52088c63431b6109537bce1e582775f319c9833990c94cc2e8e0dbb8b48b9c27", + "dst": "Vq7DUM8vGL81QS8S4SXBNTBvLHpkLf9Eaj", + "coins": "100.000000", + "hours": 13730 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 76, + "block_seq": 105, + "unknown": false + }, + "time": 1429278556, + "txn": { + "length": 220, + "type": 0, + "txid": "41ec724bd40c852096379d1ae57d3f27606877fa95ac9c082fbf63900e6c5cb5", + "inner_hash": "614d7754fa0633e1a701eea3b3a2ce1c2815360f311cd1cb6cf46d5ae94304ba", + "timestamp": 1429278556, + "sigs": [ + "bd20e6b6754308d192ba734a573ec4363dae5326b9b21a7203904c076b067bf9313df1df8ac8960f12d9d8b642deb411a504512990181bc2e53264cf661b868f00" + ], + "inputs": [ + "1e30e9dfe00e055404063e52a4154a72492b13de6acf4871ec5ea6d7c0fcc968" + ], + "outputs": [ + { + "uxid": "2426f768e00345b641f5b4b4b058c308d528e22437bc6e552f0a9d5bd665e14a", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26500.000000", + "hours": 1861 + }, + { + "uxid": "8f4435cc1cb45453f1ee8e836a74bdec313a6d3aa1879be24e2ba261d474bf36", + "dst": "v7Bma8dYdBMx7RQ2NohXXDUo7eR5TWBscF", + "coins": "100.000000", + "hours": 1861 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 75, + "block_seq": 106, + "unknown": false + }, + "time": 1429279796, + "txn": { + "length": 511, + "type": 0, + "txid": "8de17dff34a8798f2ac89584f5c559e3bb82c280a3f6890386b4dbc5fef0e8cf", + "inner_hash": "2ab03a15a9f312d27919ec42a27dfefc5fc5e0b8bf451eb81ef545bf4497f524", + "timestamp": 1429279796, + "sigs": [ + "9dd44c7d76d454c7c658649d94e08f75354ba568aae069b38da012f07eacbcfe2a5bbe9b4444f566336c23a03f3625eb4306791437e1bfe69f43efa0c109ec2d01", + "211d2607cef832c989563a3475daf6aa1fec6d73893a72666b5428c6bd93217605990bc3b45f4cf4863a648708ca3bf3526eb1644679f313a297daf82b1865bf01", + "f7e77964485e36b15ade78aacc17407af265c7144767e3f39bfd9765869f90cd0f33120ca996154db82d5462d626f3ae299c8f3b8cc862284432919cfeb6613d01", + "3a1e491d35ad5daa1af54872b5ec1d02c6654cad8f2bcd94c2a624c1a3cd5c9163c373f06a931b5de526654bdbc5cdd221b7fcf7b77329d452562080216ca8fe00" + ], + "inputs": [ + "99b4e51e1afd04813656e6202c7e462d88ce87ba980da7a62591190d72d1073c", + "f12164a6ea6ce65ff2ca1f2be7251bece8f7c5747ba8ec68e1ec3b27d45d7b9c", + "427462efeb07a6803f013c789ea43d93240f74f886bf9afd63dc1936a7574a37", + "f9bffdcbe252acb1c3a8a1e8c99829342ba1963860d5692eebaeb9bcfbcaf274" + ], + "outputs": [ + { + "uxid": "dfd2834342f3a7caf183472c17801aafacd1775378eb843509d17ad858456cb0", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "885000.000000", + "hours": 139293 + }, + { + "uxid": "3bfbe4e80894862d60a053ffb47b8f1749e281603cd6376c8fc6b5e2cec0c843", + "dst": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "100.000000", + "hours": 139293 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 74, + "block_seq": 107, + "unknown": false + }, + "time": 1429280596, + "txn": { + "length": 220, + "type": 0, + "txid": "6546dfbe6e61e81f3e9f6c9afdfee1c07758f2e486d731ae4d19b40602367656", + "inner_hash": "9566ef1826b7f518c043395c2b7a37014f77f8e23796c1c78e55d1fc443a02da", + "timestamp": 1429280596, + "sigs": [ + "2773830af5e34a3de4a3ce935ee08c189feaa30ab41ced8f78f9a6434198d9775c58a0b9bcc2931f3d0dfde541ef7f5d3c1cfcf5415776dbd9d871ce036ec42900" + ], + "inputs": [ + "dfd2834342f3a7caf183472c17801aafacd1775378eb843509d17ad858456cb0" + ], + "outputs": [ + { + "uxid": "8ac39d41ec014ca6625e5f17e1fbe62db7a4ac154e0e42a017efa037935ae968", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "884900.000000", + "hours": 17411 + }, + { + "uxid": "ec4b791f2fa22a986d6035e34f5025c3da0398cb2acc59a54d495d4eaacdee8a", + "dst": "2acnXsnJ2k8jxiUahtBe8h4xouPAnpbwwjc", + "coins": "100.000000", + "hours": 17411 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 73, + "block_seq": 108, + "unknown": false + }, + "time": 1429280756, + "txn": { + "length": 220, + "type": 0, + "txid": "a8d6420d4f64fad1b698bd77cae5a92aa125f806fb184389edcc278e5cb460fa", + "inner_hash": "6daf17a44251b984449effe21e605ab556ef565940043cff6cc75cb042028783", + "timestamp": 1429280756, + "sigs": [ + "dd67813bd08a88b24f695ac10d4390598b25cf19e4edad19091f3b723c4780653a62639153b9bbb53331b66b46dc8c84e719178a96bcd001eb7f2e147268bb2e00" + ], + "inputs": [ + "aa1133a42417332af8b58e71cc14a651e2731563eaea35f0feacc1e97fac6eef" + ], + "outputs": [ + { + "uxid": "4326c936322df6d59b3b539ea340eb9630c7f8484eba2aeba1a0ed4d431ab614", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22800.000000", + "hours": 3457 + }, + { + "uxid": "9404837ee44bc6aaa8c1ad963c8fa7a050e497f89f941fdc7248930ed4e0d5a6", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "100.000000", + "hours": 3457 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 72, + "block_seq": 109, + "unknown": false + }, + "time": 1429302756, + "txn": { + "length": 220, + "type": 0, + "txid": "a4c15ae4743246709ec335d33c289576c8893e71f5c3dcee1db6e43eec9242ee", + "inner_hash": "1d2404a84798154867ab461179a2b4300d65e4886cbb0220f0d5d0b16bbb7628", + "timestamp": 1429302756, + "sigs": [ + "3fcfe6d7fe59b9998ac4260c3b788384b2ebb7137e08e3ffc8d8b6efa23490e71f94f381c61af4966ba6a4fb4173079d5a7f31518030900f6c10d64ceb0b774f00" + ], + "inputs": [ + "8ac39d41ec014ca6625e5f17e1fbe62db7a4ac154e0e42a017efa037935ae968" + ], + "outputs": [ + { + "uxid": "bae0e928b795e2a80c88161afcbc102dcad6644386f6f44050dde8d586750140", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "881900.000000", + "hours": 7092 + }, + { + "uxid": "4ca22a0fa2acbd0c9e90c4ae83496d05e122deb1a17c670e9c785479d115e824", + "dst": "Vq7DUM8vGL81QS8S4SXBNTBvLHpkLf9Eaj", + "coins": "3000.000000", + "hours": 7092 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 71, + "block_seq": 110, + "unknown": false + }, + "time": 1429326351, + "txn": { + "length": 220, + "type": 0, + "txid": "552a4b194478325ee9f3e4a8648d94bc8eb26432be6fecc881bf71ff9ca15356", + "inner_hash": "bcc319504908b93f4418244049157875514fed19ce76977435d00b7ab712254a", + "timestamp": 1429326351, + "sigs": [ + "41b8178ba19326c7f61b5327846c8057bef05c47f2068ff3eaef80bb26bde18642d444647f8c623ca8a3abb040f3527c28737534bc2d1b8c5d53bf71f4c1628c00" + ], + "inputs": [ + "4326c936322df6d59b3b539ea340eb9630c7f8484eba2aeba1a0ed4d431ab614" + ], + "outputs": [ + { + "uxid": "f9bf35f993452b3d490668bb579fd272da969a1bcca8de0c25000ee57b5d7f54", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22700.000000", + "hours": 17848 + }, + { + "uxid": "a7dc3318a975546b7662f0a867c60a4d7e9b4d1d89ab87be8c78b09ffe8852ff", + "dst": "aPF9pL9sVEiyEVhynp3s1dmqLetP1BJrW6", + "coins": "100.000000", + "hours": 17848 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 70, + "block_seq": 111, + "unknown": false + }, + "time": 1429348072, + "txn": { + "length": 220, + "type": 0, + "txid": "6ce27da2ddbc15f03330960b4201dbb3a066ad2e9bbd5366a9564f6befdcae2e", + "inner_hash": "2db237d697bd17aab9121cdfc4d72fa1cbfe7fd37d7f71b1a857833bb56b7dd7", + "timestamp": 1429348072, + "sigs": [ + "c50715bd2e53ed971b7559ccaf8a930dae335dc45cad18a25ccfea3209ea2c971e0dc6cc57ff1dbcde49ddfdc612e71e923adcd21b68eaa0eb239bc83a50ff2b01" + ], + "inputs": [ + "f9bf35f993452b3d490668bb579fd272da969a1bcca8de0c25000ee57b5d7f54" + ], + "outputs": [ + { + "uxid": "c5df36ce47f6f183475317ab1c53eaa65428c142cb3e3906bf162d80519a203f", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "12700.000000", + "hours": 2231 + }, + { + "uxid": "94889dbe1c20eb942b7932c5301737537ac33abd9c81d72e1642ddc70ce320e0", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10000.000000", + "hours": 2231 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 69, + "block_seq": 112, + "unknown": false + }, + "time": 1429348102, + "txn": { + "length": 317, + "type": 0, + "txid": "f8a24a25a8e3b206db7ea8a0bd8eeb0f8087f50d230c81a538316bcc5152da3d", + "inner_hash": "cfca9a1aa2ab7ea4d643700ac89e9544f1d4e9ef85e28d1cedeece11469fb885", + "timestamp": 1429348102, + "sigs": [ + "5b68d315f4e84cdae4936db6bb7c8466977e784851b605d1fbc1e0bb65fe259d58d6be37228c96bccb1a1c1e9d316d9102fcfaefeda614e67af20464bc877f2101", + "fdd919590553d428d9b8121644127651c68b5207af9798aaaa6ed18134c5835b5311bb547e07e47157a4fd89867c88a48700255610efd2a3e3f77dc82f5fb3ba01" + ], + "inputs": [ + "bae0e928b795e2a80c88161afcbc102dcad6644386f6f44050dde8d586750140", + "94889dbe1c20eb942b7932c5301737537ac33abd9c81d72e1642ddc70ce320e0" + ], + "outputs": [ + { + "uxid": "1d4595b9fa1c6c3d64f48b6ae5f8f861b1c08a022cbcb04b279df448da3db660", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873900.000000", + "hours": 1388810 + }, + { + "uxid": "53b376413d550663ab51b229df8b0f55e4055d6577c2d8b5cec8ff748fe0e958", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "18000.000000", + "hours": 1388810 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 68, + "block_seq": 113, + "unknown": false + }, + "time": 1429348172, + "txn": { + "length": 220, + "type": 0, + "txid": "1f27afc41896d2c7fdbd2620e606440ad12557e9a4bdd6808dcc2c23d4e32978", + "inner_hash": "4d53c05c731409feef7606cf9514904f4c7704537efb453ac2c439fcfe77a455", + "timestamp": 1429348172, + "sigs": [ + "e36cef84c1c6f999dba462f3134131c105da2255eaf21550ce30ee52a14a33d529a7cd0c37b3883d0d57429b163b4905271c7b1a4d951b4a521f245c7857dd5c01" + ], + "inputs": [ + "1d4595b9fa1c6c3d64f48b6ae5f8f861b1c08a022cbcb04b279df448da3db660" + ], + "outputs": [ + { + "uxid": "412eff3eef889c682da8db3608fce37d1c5ee2cc297bc88d901648e6ccd418f9", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873800.000000", + "hours": 173601 + }, + { + "uxid": "c961ba554ae30b0edcdf71e834ab2b26d7dff5bcf5955d4874cdba89170392bf", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "100.000000", + "hours": 173601 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 67, + "block_seq": 114, + "unknown": false + }, + "time": 1429348502, + "txn": { + "length": 220, + "type": 0, + "txid": "e8765b4e6fbca87144df59a6f66815b175e81999509504b117636edc34cbe2af", + "inner_hash": "b62f9938b195211810976e1719b152fe6c381879adba6061f4ca36d74c06bea2", + "timestamp": 1429348502, + "sigs": [ + "9d40ed257bb7586c7d72e90bd99c6883fb836d400107686ba477850c2b63a86b5ad885aa37f352d334d930ea3814844e67a6ac438c36b919daff273a66f21e5201" + ], + "inputs": [ + "412eff3eef889c682da8db3608fce37d1c5ee2cc297bc88d901648e6ccd418f9" + ], + "outputs": [ + { + "uxid": "6ad7993fb2728c2c53ac2c8395a6c62d03c5ef9298ca467e7998fb64fd0c90b4", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873700.000000", + "hours": 21700 + }, + { + "uxid": "5b0801ec545b132eeafa61bee8f645df7e1e358321ef830a4247fe541c211139", + "dst": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "100.000000", + "hours": 21700 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 66, + "block_seq": 115, + "unknown": false + }, + "time": 1429348712, + "txn": { + "length": 220, + "type": 0, + "txid": "bb700553c3e1a32346912ab311fa38793d929f311daeee0b167fa81c1369717e", + "inner_hash": "253c14d68558b09c034d4945284f5cc3025b9e05723c6e4fa7d95f1e68edb211", + "timestamp": 1429348712, + "sigs": [ + "4920f49d47105801fab73c2398bee61ce56bb0b58dd69ab35ec1f959a3b8a8003c2821510d3a97d09f7a4a9f943b04d888b1327539ff48216f148fca693dde5d01" + ], + "inputs": [ + "6ad7993fb2728c2c53ac2c8395a6c62d03c5ef9298ca467e7998fb64fd0c90b4" + ], + "outputs": [ + { + "uxid": "0976005ab4540e8211cd929f19634bfaa2f5d8e24177ddb5b803b447ea91f8c3", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873600.000000", + "hours": 2712 + }, + { + "uxid": "de995d2361e810cfba1b9b1141413367a722f51c7555b1685f6e68129dfb2679", + "dst": "VD98Qt2f2UeUbUKcCJEaKxqEewExgCyiVh", + "coins": "100.000000", + "hours": 2712 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 65, + "block_seq": 116, + "unknown": false + }, + "time": 1429349392, + "txn": { + "length": 220, + "type": 0, + "txid": "491130fc9f69d101df220116356e82e2ff21dac1167e6da81c95dd4cc417b3d9", + "inner_hash": "d78596837a36ece9a8bc3a8eed424612651039f4f229969c42ec3d7fd1aceff2", + "timestamp": 1429349392, + "sigs": [ + "e22e89ecb303d5eee59eca8a75e0d5b4fdfa3a256576d7ac91264b4c3bf882ce7186572ab68fd1ad4dc837039ef4d7063ead72365506aed71cfe4de0b0449b4900" + ], + "inputs": [ + "2426f768e00345b641f5b4b4b058c308d528e22437bc6e552f0a9d5bd665e14a" + ], + "outputs": [ + { + "uxid": "6c34016037cd17622846e71bc635914d4d8f256c147aa5a0b84a896e83229480", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26400.000000", + "hours": 64785 + }, + { + "uxid": "ab12f4eadaf956be371ff8f239956e33d1cd2fd4b497ca04c9501baf6f241618", + "dst": "8MQsjc5HYbSjPTZikFZYeHHDtLungBEHYS", + "coins": "100.000000", + "hours": 64785 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 64, + "block_seq": 117, + "unknown": false + }, + "time": 1429351912, + "txn": { + "length": 220, + "type": 0, + "txid": "345488861ad3f0d93024c367990e64ef0f7a95bd8b8589f554172f9439808263", + "inner_hash": "258acd45e194051214c9783184c2a9157558e595c4e4da814258f0ffd0e9dd64", + "timestamp": 1429351912, + "sigs": [ + "9f44be793a0cb218b6836dfa52e5b8c38fe2b1257d27fcea49f4c6a6ed910f446e8a96a987fc06c6b6ae13ea8ea0290e91ea40b6f8eeaf8054e8efd17306573201" + ], + "inputs": [ + "0976005ab4540e8211cd929f19634bfaa2f5d8e24177ddb5b803b447ea91f8c3" + ], + "outputs": [ + { + "uxid": "6beca9fb58a327580c614d7fb5622916849756790b661bcabc880666364fdf47", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "863600.000000", + "hours": 20965 + }, + { + "uxid": "2010952c33c83599fa14bfa5982d59865f2a362c97270dacb4c180a485ee5096", + "dst": "8MQsjc5HYbSjPTZikFZYeHHDtLungBEHYS", + "coins": "10000.000000", + "hours": 20965 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 63, + "block_seq": 118, + "unknown": false + }, + "time": 1429364072, + "txn": { + "length": 317, + "type": 0, + "txid": "a83e09e976b038d86491d8c029aec84a6313dc33e692da6ce50a2858e50c4666", + "inner_hash": "86b47008bbeb60335762ba70b5bdf8128f09b3f8fff6ec6e5d9553763a5b5cef", + "timestamp": 1429364072, + "sigs": [ + "48312c1abe5617609f70a882689f194e8d18c0b56d153adfae4be08bf00d723c6cda6dbd885e7ed7f92c7b7065d583adfd5f18bb37da9b796a394f4a388e978d01", + "4826477aed0387ca448b8225a5d27ebe6824b460d0581fb8ccb5078a865cd8171e7f5c860091a99cc85b1571dce8a550659cb3d02902a77cd1f6d0d27277bdee01" + ], + "inputs": [ + "7b132c07322babefa83ab64971b7bfb29bf2cb9ffe9c42dc7e2975a185dcd8b8", + "c961ba554ae30b0edcdf71e834ab2b26d7dff5bcf5955d4874cdba89170392bf" + ], + "outputs": [ + { + "uxid": "3408638af298419b14a49e8e9dd69e97c9a06827d74edf9f410a870662360b31", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "1045.000000", + "hours": 30769 + }, + { + "uxid": "ba0a94662846565969d361b1b7c248847a48e69f2b9eefb4ffb0bc2efc56a8fd", + "dst": "38cVLswijqC2ANV5HxTroeapQzqeoBR88C", + "coins": "50.000000", + "hours": 30769 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 62, + "block_seq": 119, + "unknown": false + }, + "time": 1429364282, + "txn": { + "length": 220, + "type": 0, + "txid": "4d080ff1f8ac21d8c09a2dca99d28ae88e9441d7a4757dca68469ad64838cb55", + "inner_hash": "bd2066b342e0af8c4bfecd15d3a87f168cac47d1f900642b69b23fbf18bfed05", + "timestamp": 1429364282, + "sigs": [ + "ea1adfe309f30a15691fc3e267b19d7b765983694245adbebd92924db1adb67668d4dc8a6467e54323d245a35c0ed822593e10de2fd6c4674d3040b53099a6aa01" + ], + "inputs": [ + "ba0a94662846565969d361b1b7c248847a48e69f2b9eefb4ffb0bc2efc56a8fd" + ], + "outputs": [ + { + "uxid": "cbe8b620c1468dbb1e69e6da63831bde5828db313879a36f783a1f16f2b86541", + "dst": "38cVLswijqC2ANV5HxTroeapQzqeoBR88C", + "coins": "12.000000", + "hours": 3846 + }, + { + "uxid": "f480c6097568036b90a2e019f9ee68c0812b2da8828be33a005a7427caf14a2b", + "dst": "f38daJDg8rpwL5xWgMY78fBHncQ1N5gQZ7", + "coins": "38.000000", + "hours": 3846 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 61, + "block_seq": 120, + "unknown": false + }, + "time": 1429364452, + "txn": { + "length": 183, + "type": 0, + "txid": "d1569ca879f98450a920a2b427ab0e1d21342308fb6b4ea5031ee6e718217183", + "inner_hash": "12d27fdba804c648b8f72d9740d4021b05c88c95d3595af4afab2150092c5eee", + "timestamp": 1429364452, + "sigs": [ + "2baa243ca1b82bd9fc1a31a0b53c9f7eb0ad62b19d6a4d3af62579cc2dc455d81d8ed82ba342dc650d4ae38718d81a8df6a93a9a809749a2f5391894bbaf298400" + ], + "inputs": [ + "f480c6097568036b90a2e019f9ee68c0812b2da8828be33a005a7427caf14a2b" + ], + "outputs": [ + { + "uxid": "3f9712cab0d3aeb217f1751fa19e53d75f814b4218866d4e70d63f32271d2023", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "38.000000", + "hours": 480 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 60, + "block_seq": 121, + "unknown": false + }, + "time": 1429382678, + "txn": { + "length": 220, + "type": 0, + "txid": "da82deafc15c36e7dc9cd95663e0dc910ae626ee543147ac7bd8682be00f7baf", + "inner_hash": "c98f858a27e76b0b565baaa3dffc6cfc7b0ffe9dd7d2d71f4bb0ad4d1c439ca2", + "timestamp": 1429382678, + "sigs": [ + "15fccdc36c966a9571196a3f727ebda47162441df2d9965ac27109ac56d22cb41638b404e84b5b388d809b814ade18022cba0a6e021140c6b7d0144a6facd6d501" + ], + "inputs": [ + "6beca9fb58a327580c614d7fb5622916849756790b661bcabc880666364fdf47" + ], + "outputs": [ + { + "uxid": "f8a1990492f970227ec29e6e095fa724d66fa2d6883bd8723773098d08ca8b3c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "801600.000000", + "hours": 378646 + }, + { + "uxid": "e5596ef0ba04ad9e0adbe0355a24c6bef249654906f917b68f8f0cf072508674", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "62000.000000", + "hours": 378646 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 59, + "block_seq": 122, + "unknown": false + }, + "time": 1429382898, + "txn": { + "length": 220, + "type": 0, + "txid": "211f5fc97ba1797d78f84d4e4db78415b5ff4121f78369535fe3f8015571c6df", + "inner_hash": "586a8297d8d148f79d8529fbc3e356f5de9570a3c34bc1ba8494b8269b03d0f2", + "timestamp": 1429382898, + "sigs": [ + "cccee00def7817ec1b36ba5b02066f82eae188afc3e05e61524c62d19fe095e0363db085da6591841314da5f836f2f0068eae522e3d3937d2f96de99f924af6a01" + ], + "inputs": [ + "f8a1990492f970227ec29e6e095fa724d66fa2d6883bd8723773098d08ca8b3c" + ], + "outputs": [ + { + "uxid": "998487775c0e58420673b70204b83c1d6bb5b70e34b1aa0f8169c85ecec2438e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "765600.000000", + "hours": 47330 + }, + { + "uxid": "1e0cf4e3ed49b52944f533a212e6412291e369ac3e7a8c4440424f475f2983b3", + "dst": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "36000.000000", + "hours": 47330 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 58, + "block_seq": 123, + "unknown": false + }, + "time": 1429451746, + "txn": { + "length": 220, + "type": 0, + "txid": "9003d3caba9587d46d000cc614bb52bed34adcc5ea404c560c986eb6dd756e6b", + "inner_hash": "2a87bcb0049b9971713a2e46b75b348785adca751b151290a411bfa5a0ed2287", + "timestamp": 1429451746, + "sigs": [ + "0da91c351fb050c243c7b587005bee14ccc2951897ffdf720ad9c757c5946e516a20ca0d92c5f84957161d10a74deab05a2b530ab5bbcd7ad01266213b5eb38401" + ], + "inputs": [ + "998487775c0e58420673b70204b83c1d6bb5b70e34b1aa0f8169c85ecec2438e" + ], + "outputs": [ + { + "uxid": "6fb116c110fe391448a1dcb985b67439c2e9a71d8bb2fd1cf345ac73ada6166a", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "755600.000000", + "hours": 5916 + }, + { + "uxid": "8e764a87cee9f26b902f748c28a5a49de5c383e5f155129eec84474a3d0349cc", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10000.000000", + "hours": 5916 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 57, + "block_seq": 124, + "unknown": false + }, + "time": 1429522086, + "txn": { + "length": 220, + "type": 0, + "txid": "e9a6dd585b564b19c55d9f56188a45bfad32fa75703fa6336830035f6fa92e3d", + "inner_hash": "9cdad9a848f5b2993d1e5d0593e952b39ccdf7ae56bd13851449797cccdced5f", + "timestamp": 1429522086, + "sigs": [ + "1f3d02abe6811c83b4f4b2e270366e8d4c591866b6e984cb8bdea5d80ca1edbb04d651449070bbca22a8c7cfb3d23a6f85c0a5a7e3226e2d0520330faf16291401" + ], + "inputs": [ + "6fb116c110fe391448a1dcb985b67439c2e9a71d8bb2fd1cf345ac73ada6166a" + ], + "outputs": [ + { + "uxid": "04471fb0797bb931e883f7b95cfff6ee4fea5e19a352ca5425fcd353c4f6aba4", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "750600.000000", + "hours": 739 + }, + { + "uxid": "a4fdfce34725eb63941ac576651fa406272565a344ffb21435d285111efbc4db", + "dst": "v7Bma8dYdBMx7RQ2NohXXDUo7eR5TWBscF", + "coins": "5000.000000", + "hours": 739 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 56, + "block_seq": 125, + "unknown": false + }, + "time": 1429578056, + "txn": { + "length": 220, + "type": 0, + "txid": "1ca0a2d44b6439b91eb839e0f99405abdcafe2c1a49c8b49b1739498129bd1a6", + "inner_hash": "1090d10a5a2210dc205d6f8447918670f9351feed057c76423629b4699777dcb", + "timestamp": 1429578056, + "sigs": [ + "39817412c5edb4cd928aa3b79a022d4b3276af74eb377d3821c1e95e4d6c6acd61ebbf5eb5d32f87686b6cb4f09c2660e1f148192873208fc963d67a6945fe0101" + ], + "inputs": [ + "04471fb0797bb931e883f7b95cfff6ee4fea5e19a352ca5425fcd353c4f6aba4" + ], + "outputs": [ + { + "uxid": "6b616ad99a946538c3ab101f245bcab211ab39507848425e80cbfc8ec5bdbc67", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "738100.000000", + "hours": 92 + }, + { + "uxid": "a08089cd67896683d5dcb2d50256354e0d086b9854eb22bb6022cc459d447211", + "dst": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "12500.000000", + "hours": 92 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 55, + "block_seq": 126, + "unknown": false + }, + "time": 1429680646, + "txn": { + "length": 317, + "type": 0, + "txid": "a67ed00f815a2fd20d0efd18ac04663f0ee3d5621fbfdcdc6af250f19e3cfc53", + "inner_hash": "3587ee0a091f047bce0dc6f3a45ba08a0c95db33790c53185f6dfd626040b306", + "timestamp": 1429680646, + "sigs": [ + "7753de16df3b46c78529de293ed45ab7d566f3a2fdeeff381aa8bc903111e62c117ce54623e582dceab853fd4d9431e05bd003ae0f470db915e555d3d6dea80500", + "414a1f765e1f437799d095f76a3e0ce23ab9ebe150be93e4f3d0abd72eb403ed32ddb15d36956fc9142cd4b5875d5769803e197bab3ecf91f6b72e75087f40b000" + ], + "inputs": [ + "e2512ec90800147d0d9ddbd0778511ee5a45a25efcb354c50a101738a65462c5", + "6e2abc4bc7820178358a603b7d99c4b39735dd1685d0c5a778ab63f29c9e93d9" + ], + "outputs": [ + { + "uxid": "bca6e6b24cdabecd77186a61168dd3e2290b2fda1b7a79eb3856ca4cc9f589e2", + "dst": "YLT4buWf3kYDV9QddnC5iXTj881Eniuvrx", + "coins": "990.000000", + "hours": 17310 + }, + { + "uxid": "e4a83076c2ce1bd83953c1c0443054d7f5b0843c551d35b3fc3c116e9a9134d7", + "dst": "odhAMxHhXoBdx1RHNmfu7dTZ1LZivfsbiH", + "coins": "10.000000", + "hours": 17310 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 54, + "block_seq": 127, + "unknown": false + }, + "time": 1429848410, + "txn": { + "length": 317, + "type": 0, + "txid": "243e1baa955c3f0af42d7acc4c920437dd0a99c754d6c5c2b7defcd143ff288d", + "inner_hash": "e7e030478e5828f44ec15b734638e8c2828f015b2fa5ca2823d24af3ad111ae6", + "timestamp": 1429848410, + "sigs": [ + "1519c5c730648e7be553b2738aaeff38266735276e640c8f8d455f33c4fc07283ae5a7da47742df118337ff0548efebb1c75d0350a4e578ff95269182779db2201", + "ee099f6f42c813d13f097e9b3a8604067d6afd3718e6eeacd88fb25050d42b8603a42c4f7d24058483f70328a24fc91cd6ef190286c4a678e28b757143e23dc701" + ], + "inputs": [ + "c5df36ce47f6f183475317ab1c53eaa65428c142cb3e3906bf162d80519a203f", + "53b376413d550663ab51b229df8b0f55e4055d6577c2d8b5cec8ff748fe0e958" + ], + "outputs": [ + { + "uxid": "8169bf7f8fa21dc6400b60678b302946cf2765f44893ec8466262fc69b710591", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "30600.000000", + "hours": 528376 + }, + { + "uxid": "ef488d5f4a019502115d3b6b50bd364692315c3954d7e93c3ca22e11b92fc528", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "100.000000", + "hours": 528376 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 53, + "block_seq": 128, + "unknown": false + }, + "time": 1429849170, + "txn": { + "length": 317, + "type": 0, + "txid": "c2c9fe882df3b44fbb125b251a7604a7a4f4195dddff6e5396b7f130744e2b27", + "inner_hash": "e23ed05dee949be1aabf237db1fd81be8d73c838eb0ee3026104807053269431", + "timestamp": 1429849170, + "sigs": [ + "8e9b1733227a841009881663a50e1e01ac2790f16416c6f973c89e15a8fc216044e156cc8fee84d3e3cc6371e4da340f5312726bfd66f16a635542d63c869c7101", + "d1f6b7078a9032159a165ffbfb1e0665bf9ced2c3d5db795fd5bd11fc53d790f56589cbbffd117eec50aa0dc8c0e65eccb13c5ccb5d39dc9bae739a49dda03b201" + ], + "inputs": [ + "6b616ad99a946538c3ab101f245bcab211ab39507848425e80cbfc8ec5bdbc67", + "ef488d5f4a019502115d3b6b50bd364692315c3954d7e93c3ca22e11b92fc528" + ], + "outputs": [ + { + "uxid": "ecb92dc2f43d4c6ca124575d8456d8894f3cb137875287beaa73180fcae2b3ca", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "737200.000000", + "hours": 6994818 + }, + { + "uxid": "6143275de37a2b5ec802eeeb8d38a3dfb2db6629128e44c4f9ffc0ce8ddad629", + "dst": "VD98Qt2f2UeUbUKcCJEaKxqEewExgCyiVh", + "coins": "1000.000000", + "hours": 6994818 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 52, + "block_seq": 129, + "unknown": false + }, + "time": 1429849180, + "txn": { + "length": 220, + "type": 0, + "txid": "66d415598af081f8a7bd7f292468e67f380d06bf5896eb8152d4d9e8bcdf289e", + "inner_hash": "3381919a36bb294377845155efa9f6ebb9314abbe5f9904b20ece45eb0960dc6", + "timestamp": 1429849180, + "sigs": [ + "0a7f9eb68798320106f652933bd07181c80571a6f66215a5b10531f1205e0f300c702324cf9c368e67fef67dc42fbfee5bb13377c435873e549d9fd6962bad9501" + ], + "inputs": [ + "8169bf7f8fa21dc6400b60678b302946cf2765f44893ec8466262fc69b710591" + ], + "outputs": [ + { + "uxid": "78126a08c4dd4ea7ca2d6c9f9d4614fa58896ec4ea301cb9b450104b00bc1b94", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "29600.000000", + "hours": 66854 + }, + { + "uxid": "169e9a77557283e0d158fe6e35c439d729d73acfd00e2969147dacbdd599817e", + "dst": "2iJPqYVuQvFoG1pim4bjoyxWK8uwGmznWaV", + "coins": "1000.000000", + "hours": 66854 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 51, + "block_seq": 130, + "unknown": false + }, + "time": 1430311531, + "txn": { + "length": 220, + "type": 0, + "txid": "2df67e974b03b46be4e59fcf2f8b751d501f17f8610d5adf94551a7ecc6a58af", + "inner_hash": "be6b1ad4d9985314d2bc6434f8a49cef708e7461f047154c7283e2a4ed13aae4", + "timestamp": 1430311531, + "sigs": [ + "abbfcf7922d466e79c976809cf58932a7030db6b54465a2166168617e6acdafd3d7d62391c626e9c150155c63bee7cc887d84fb5f017298a0ce7c33859b21a4500" + ], + "inputs": [ + "78126a08c4dd4ea7ca2d6c9f9d4614fa58896ec4ea301cb9b450104b00bc1b94" + ], + "outputs": [ + { + "uxid": "903a1bca9b81ed76179cbcffe6e3c8eff269c94826148286f7be0b6038ee4ccb", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "28600.000000", + "hours": 8356 + }, + { + "uxid": "37cc43693a024f9122f5e1fcabeab5d53a4d58590df30a934fc7bc545936e049", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "1000.000000", + "hours": 8356 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 50, + "block_seq": 131, + "unknown": false + }, + "time": 1430330041, + "txn": { + "length": 220, + "type": 0, + "txid": "6538399868cf772fcfa96e68c51aa6aa66faa95d7c685432e4005880932be134", + "inner_hash": "4854d5689f4c2b770d887ebf7f7d3fb975b295b0180d9354d69f2e322ae8b7b7", + "timestamp": 1430330041, + "sigs": [ + "d213d50e53ceffd053571431b78fa6417abae8a7c5080dd3f8cece59dc61ad2444dd541540f5734d34dca94b3b975b613da0800121af8ec83b6f20d81cd53ffd01" + ], + "inputs": [ + "ecb92dc2f43d4c6ca124575d8456d8894f3cb137875287beaa73180fcae2b3ca" + ], + "outputs": [ + { + "uxid": "6b4ca83b3f73b62161c90c6da03dff460ca9a5a3ccd6fafca140137416dedc58", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "736000.000000", + "hours": 12709509 + }, + { + "uxid": "e7756fa7a5c067d595f7300828bc4c70152653700844130d88174ba37237e2a3", + "dst": "2iwB1VmUWbCoVd4gNstB9LKctw3htFhVmuV", + "coins": "1200.000000", + "hours": 12709509 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 49, + "block_seq": 132, + "unknown": false + }, + "time": 1430330311, + "txn": { + "length": 220, + "type": 0, + "txid": "3dfdfea4614d05c2f5eddf5773ef0afc745f1afe585141659df8e03e82897606", + "inner_hash": "3a4ac407aeec6233d3edf787d5b1f4d8257b594e9ee9d0ad3c32781053579b36", + "timestamp": 1430330311, + "sigs": [ + "f37f3398240cee8e38c41945db72d4feda20f88a2250528fe1165533acdc7dfc0f99c7db0fc965847a100d0a2f598537cdd8c73a96c5fbb4e5e85dbfd9a4384701" + ], + "inputs": [ + "6b4ca83b3f73b62161c90c6da03dff460ca9a5a3ccd6fafca140137416dedc58" + ], + "outputs": [ + { + "uxid": "2cd58783beb8a9f6278f7a097151531091b5f15afd7735e1facf02aa720c1191", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "735000.000000", + "hours": 1588688 + }, + { + "uxid": "333156ed20ba6937d3720af3a81939362b9f4ad1e9591bc676945ff0d202131e", + "dst": "vdLGAnCfbBkxabcVk6tEsa6RH99JTxdzbt", + "coins": "1000.000000", + "hours": 1588688 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 48, + "block_seq": 133, + "unknown": false + }, + "time": 1430330421, + "txn": { + "length": 220, + "type": 0, + "txid": "d30cec3ad3a66562d2513a3656b366ea7da583e6ba45214ac12b9c2219b4c5ea", + "inner_hash": "58e355edef48ff22e9a83952130c1bd8fe9a7f9bec7b2e0535c103c0146604c6", + "timestamp": 1430330421, + "sigs": [ + "09baa4739816e5a86a46ecc30df8c00a5f046ad687f0674250640b6df2361dfe3723667872e0f6deb1d3447948e30b06f02b056a62da9dbaaef4db000eab747e01" + ], + "inputs": [ + "2cd58783beb8a9f6278f7a097151531091b5f15afd7735e1facf02aa720c1191" + ], + "outputs": [ + { + "uxid": "52288a441c70260f6a3eab0e271969d54492377615a6fba8ec3ad26f11dc9768", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "734500.000000", + "hours": 198586 + }, + { + "uxid": "8b3d335360effd00cabcae13c2495f26f81743b82958629378b7bc78a7e460fe", + "dst": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "500.000000", + "hours": 198586 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 47, + "block_seq": 134, + "unknown": false + }, + "time": 1430330481, + "txn": { + "length": 220, + "type": 0, + "txid": "44d05abc2637d9cd2047984023eb5cfa0a146e58821117de30f9c81703189cde", + "inner_hash": "44886be6952cd483b9425d314836714af65037b58923aa2432ea946131ae10f6", + "timestamp": 1430330481, + "sigs": [ + "7990cb04634a5e0de397917e56480805915c73d265fe466757a9e677067483787d457c7e9931a89daa6260c7a262f49ef1503cc88008809c193f1f949badcfbb01" + ], + "inputs": [ + "52288a441c70260f6a3eab0e271969d54492377615a6fba8ec3ad26f11dc9768" + ], + "outputs": [ + { + "uxid": "e29ec214f4afd79e6465d03e4d88e552dc69654750a725d74873ee366c58e552", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "734400.000000", + "hours": 24823 + }, + { + "uxid": "d95d422fb8fe4ad9ce1052e566ec8a5ad7953ceb253366814b3d32e9a1da1f13", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "100.000000", + "hours": 24823 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 46, + "block_seq": 135, + "unknown": false + }, + "time": 1430330591, + "txn": { + "length": 220, + "type": 0, + "txid": "072f0738f834db0030d777e6ec0e0443627c51cecffcc55e41d43b0b8edd40d1", + "inner_hash": "e87dc97ec672bb45a3417f307e6f6a1cd75b26f508f188c0554484740ffea8cd", + "timestamp": 1430330591, + "sigs": [ + "da4e898bdf324ab50d8f007ee4c65ab832ba64cf86fd0a601e7007a4c3ac2eaa6f1304a3fc8088b108e3f417e5b7c90cbc7d80c059885d397ae978da89c92d5f00" + ], + "inputs": [ + "e29ec214f4afd79e6465d03e4d88e552dc69654750a725d74873ee366c58e552" + ], + "outputs": [ + { + "uxid": "8ea58a3736b35f0e3781e94198e8b73bba2536704b84b15900fb32701db8893e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "733400.000000", + "hours": 3102 + }, + { + "uxid": "617b584bb9e6b1d80daac915fb3079b22a326777d1515a40e7b7eddf427f4099", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 3102 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 45, + "block_seq": 136, + "unknown": false + }, + "time": 1430330851, + "txn": { + "length": 220, + "type": 0, + "txid": "b9a795552bec1a722718b44a08ad152656242b1d23afb53d2247b3016d920b7e", + "inner_hash": "8096fec4a2738f5b79df5359724f6cd7597c0d8c5bc18419f5825c5312e1dac0", + "timestamp": 1430330851, + "sigs": [ + "315cc1de04ad6d1d68e9d63027cff2abc74d5b11a376623d70211ac0e8b9feed4c7f7952634d60b57604edfbe63f02bef172486320e9790d0bb6e44099d6473500" + ], + "inputs": [ + "8ea58a3736b35f0e3781e94198e8b73bba2536704b84b15900fb32701db8893e" + ], + "outputs": [ + { + "uxid": "a1ed39cded6d9a0605b52f25cbedb363e57a168d1ad1d1db437816a401c061ab", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "732400.000000", + "hours": 387 + }, + { + "uxid": "e00c292e151fdafd24984b2dc08a4a328150006f95afaac9909dbffae1f07eaf", + "dst": "3iEkvqSQCNrm8tMVf5ABAx2Bp6EGL9wyMP", + "coins": "1000.000000", + "hours": 387 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 44, + "block_seq": 137, + "unknown": false + }, + "time": 1430504186, + "txn": { + "length": 220, + "type": 0, + "txid": "fc02772662176c282c2b6538732d3d6eb1399f006a0b52e64d07fc104038f638", + "inner_hash": "a7ef2323ca6ef0a15173dcc2ef44c0abd10933be70337360408ffb4087affb80", + "timestamp": 1430504186, + "sigs": [ + "9a30550db56d9c9ae901d835f856761b9c4298d56ffa94bf41eff5550ac180851189f2adf2e184b6f23485a1405eacb2d4cc937ff05490fb0bc609e654effd7900" + ], + "inputs": [ + "a1ed39cded6d9a0605b52f25cbedb363e57a168d1ad1d1db437816a401c061ab" + ], + "outputs": [ + { + "uxid": "f89c968840831d03abaf3c41cf8a405e4b4ddbfb19f5ba300a8ea8e4dcb1d9a4", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "731400.000000", + "hours": 48 + }, + { + "uxid": "b6b6188973b600af774ad8a7b6d454f77713a51463b9a9a70c901ec5280a9789", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "1000.000000", + "hours": 48 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 43, + "block_seq": 138, + "unknown": false + }, + "time": 1430504236, + "txn": { + "length": 220, + "type": 0, + "txid": "9880bebc51471e0b3c520920db836d674f652503314cd74069a59ccad0d0967a", + "inner_hash": "feeb2f638e91dd685e6fe179edc7622ef3fcc8a5a7e795c07be12e03f221f67f", + "timestamp": 1430504236, + "sigs": [ + "a0c15d7d5f36afc4c78045aae19c8d41a8652f0cb6d633622a1e55b4e54cd5a33113b02c24b02cca10797043d992aaac98bdbb33addd038611ac324795733c0b00" + ], + "inputs": [ + "f89c968840831d03abaf3c41cf8a405e4b4ddbfb19f5ba300a8ea8e4dcb1d9a4" + ], + "outputs": [ + { + "uxid": "36972dc046829caa340eaecbfeb42f4174bcdecfb87296d56503e5fb10e9de8d", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "730200.000000", + "hours": 6 + }, + { + "uxid": "bceafc261a2250f1bfb8154aea88370acfe6a41a4216bcb76c2016451cbcffd1", + "dst": "2iwB1VmUWbCoVd4gNstB9LKctw3htFhVmuV", + "coins": "1200.000000", + "hours": 6 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 42, + "block_seq": 139, + "unknown": false + }, + "time": 1430504536, + "txn": { + "length": 220, + "type": 0, + "txid": "578075959959db70ae86f4f60d2ae3ff245727d086eef86ed80db5e1c7c9fbaf", + "inner_hash": "eead8ec3c5e86e73f1e7add274fdbe0cecd5cd68c4fcd3cf17c1c7af9c5ee43d", + "timestamp": 1430504536, + "sigs": [ + "d6331b6d3270100b8b009bbd343d6b82208d622b27ca3a4b371492b9c792f8433c981c57dfc760a3974f13acd86bbb24555b958e0c67e247c5a39d97295022d601" + ], + "inputs": [ + "36972dc046829caa340eaecbfeb42f4174bcdecfb87296d56503e5fb10e9de8d" + ], + "outputs": [ + { + "uxid": "6962c7c1fcc98f532a9003990163bb251811a4700257968a641b1fe975cfc51d", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "729200.000000", + "hours": 0 + }, + { + "uxid": "278b0caa6dddf4ce74772471b15fb9a8c364362b0ae3eeb9379e980504d8d512", + "dst": "vdLGAnCfbBkxabcVk6tEsa6RH99JTxdzbt", + "coins": "1000.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 41, + "block_seq": 140, + "unknown": false + }, + "time": 1430504746, + "txn": { + "length": 220, + "type": 0, + "txid": "de45a24c9c32f808a3d928f30ba8e1b6ef8117a7c0b7a5d616734d9b121d0c30", + "inner_hash": "efeb898fd032831cdd6d7c311f496f4c2622ee11bedc2831b6411cab51d44736", + "timestamp": 1430504746, + "sigs": [ + "1646b02579d23e2350e2bc47340e027ad5f74bf55aba41fc1244631ba1e0577b681d364c3802017b5cc5d5fda972d23ac9bffabd6159384223a26aba5f08406401" + ], + "inputs": [ + "6962c7c1fcc98f532a9003990163bb251811a4700257968a641b1fe975cfc51d" + ], + "outputs": [ + { + "uxid": "d53fae3b48bde2d1328964a2e7f42e8e833983db159ba30f627926dea0db7df0", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "728200.000000", + "hours": 0 + }, + { + "uxid": "cfdefd8d167947190a223882d20c8ac7880e550ad1a3494bb05bff4b1df4e3ff", + "dst": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "1000.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 40, + "block_seq": 141, + "unknown": false + }, + "time": 1430504846, + "txn": { + "length": 220, + "type": 0, + "txid": "16f8b9369f76ef6a0c1ecf82e1c18d5bc8ae5ef8b01b6530096cb1ff70bbd3fd", + "inner_hash": "529b1fd21087bf52cb3ebcf02dbe1e3ce5de9daefa9754e5b6cde7be2d8ab0c7", + "timestamp": 1430504846, + "sigs": [ + "8612c9e160f3e0d7cdcb2adf3611bde867dcb766c63ec4312a9251ba9b6ea6997c0d9a6ce26beaae01e82c22d2b61e5ae7f87aeaf0679fde395888aebafde94500" + ], + "inputs": [ + "d53fae3b48bde2d1328964a2e7f42e8e833983db159ba30f627926dea0db7df0" + ], + "outputs": [ + { + "uxid": "228794e6b3eb69aecc5334e140afbad22883326dcf229bd3092f238ed9ec800f", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "725700.000000", + "hours": 0 + }, + { + "uxid": "908fe94bd28886547f1b7b4fc98d0990a08a216b70877341f566b6b4685de364", + "dst": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "2500.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 39, + "block_seq": 142, + "unknown": false + }, + "time": 1430504966, + "txn": { + "length": 220, + "type": 0, + "txid": "030177271beee04f1a0974d0c5042f07c7ca1db1c5d496fbee3c441b1b7c5bee", + "inner_hash": "d954f0ee1a437cf3809961063145bb205633ac66d9a29e1386eddb13503ddac1", + "timestamp": 1430504966, + "sigs": [ + "6e5661f0212dfa0800df968dac30f931335d7fe99d23932878d7d2c06bf69691328d66897c3a5c023535035ed95de3b396ea162e4482e70cda5ec9d4c8e36d4b01" + ], + "inputs": [ + "228794e6b3eb69aecc5334e140afbad22883326dcf229bd3092f238ed9ec800f" + ], + "outputs": [ + { + "uxid": "6efc30b4c943ba4de8d2c89901a0b2a4d9a0ecf34713917eae37c6debca616ed", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "724700.000000", + "hours": 0 + }, + { + "uxid": "18293d947aadf89d9e57d18fa01408867a9abe267504edbdabf8c2a57d9a6323", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 38, + "block_seq": 143, + "unknown": false + }, + "time": 1430505086, + "txn": { + "length": 220, + "type": 0, + "txid": "57150aecde96bde972183b9b0d7d27dda2c0179fb71630e92c27856d211335cd", + "inner_hash": "8fa5487fbcb62adb17287cc80ea02f113f036035e486fe7a37a96a98d32582b8", + "timestamp": 1430505086, + "sigs": [ + "ba2442a6f68ef825f2921dc135eca398904426f8d225eb122b210670d1b3bf1b2279abcd5cce5c18533dd8ca0286b23e2be9605f1cb6a5820bc1c783e95b833401" + ], + "inputs": [ + "6efc30b4c943ba4de8d2c89901a0b2a4d9a0ecf34713917eae37c6debca616ed" + ], + "outputs": [ + { + "uxid": "6c8b1ba9dc7e8900b42d55e9fbe6ea0e00d7eaccf67a7b66c0a2b771cf88ea05", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "724200.000000", + "hours": 0 + }, + { + "uxid": "456bcb0a2e57a5c20f2757c8fc7669af1f969bb5a57f89965210daf7107993aa", + "dst": "2jNYhHCuqQtU8kKkLf8ZZmKj6fywTL7fw2e", + "coins": "500.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 37, + "block_seq": 144, + "unknown": false + }, + "time": 1430505176, + "txn": { + "length": 220, + "type": 0, + "txid": "3bb9fc516dc2c522e28f99e6833253863c550547ce0e0a2dd963a0118b7a44a7", + "inner_hash": "111d56ae43b76740e905717e1e440f7611e922c50e83cf84b9edc51efa0271f2", + "timestamp": 1430505176, + "sigs": [ + "18f2b86a6b51999f0fdc73d411c1db827730652ba2c098f1ff3f3dc0d409d6cf745d18d66bf25dae7e5a975e33f32e8d2b352c025a8e20ff15a68aaa60b1bbb700" + ], + "inputs": [ + "6c8b1ba9dc7e8900b42d55e9fbe6ea0e00d7eaccf67a7b66c0a2b771cf88ea05" + ], + "outputs": [ + { + "uxid": "59d44fefbe86ebae4118dee90609d6a1c08c36f259c65e3fad63b9e41c37bf0c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "723200.000000", + "hours": 0 + }, + { + "uxid": "d8ee5dc5cabcf179365345167d39977ae38a71e55cf357881258be32a45732bc", + "dst": "PCAtFnGVujpALXB1Gqb9CEMRMVXfVGu6iM", + "coins": "1000.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 36, + "block_seq": 145, + "unknown": false + }, + "time": 1430550936, + "txn": { + "length": 280, + "type": 0, + "txid": "f25c1a8a4ae37e8e2b4a0ec6f2553cf11c57fa77de9556cd227857ca270a0275", + "inner_hash": "c41100ec46608d1982d52cce518abf64c3853a0fff71349c001accff2204de2a", + "timestamp": 1430550936, + "sigs": [ + "f5521c2b488dbbd7bd856275b903e176f61a5cc940855d502493b834755fa9037cdf484fef8b3c7950ee166fa1db7bacc5ed18f96b48e13f849c96d76463dd6800", + "f324406fc1ad817ad53cd6d7718b914172ed80828650a6c7a4bd69143dd6be5e681ad4cc897ba5f237bb40836368c580e3fc8231c80ad0f91bf1fd17df28f3b800" + ], + "inputs": [ + "c2fcd55cf6b73e863c96f7c2d6251069199bfd43688d2515f5c6631688aadcbc", + "06292fe8a2036c38f28c4d2f355d9e86e2b55b9d85f84613a64cf5c35d192b28" + ], + "outputs": [ + { + "uxid": "7afab03c823346ff8b00c29df6acc05841583d90dfd451ba09e66884a48e83f7", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "2000.000000", + "hours": 99134 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 35, + "block_seq": 146, + "unknown": false + }, + "time": 1430641376, + "txn": { + "length": 220, + "type": 0, + "txid": "5701965d326520f86335da87c6d1781fd49f1e66520b94e1783711eba724f482", + "inner_hash": "b792056beaf4a864c92e40ad63f9117fae52f4bfda9f88aa74f1255490c28ef6", + "timestamp": 1430641376, + "sigs": [ + "1d98fdd17853e4265c17644a993fdbe5047418b7be96258fdf3c2b3e9c739b1d72c5acc23981dac2d478966834fafa1f98aab2402ce37fe818d3919cf490a5e900" + ], + "inputs": [ + "59d44fefbe86ebae4118dee90609d6a1c08c36f259c65e3fad63b9e41c37bf0c" + ], + "outputs": [ + { + "uxid": "5baf8c8ab1a01d80a6f496144815cf6bda5289b34055010e21324ea3950d3299", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "722200.000000", + "hours": 1149084 + }, + { + "uxid": "3dd82b00ef4d1e3b1c71be5f13c0c82b3e2b17af4a6b3eb4c966490f47866ccd", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "1000.000000", + "hours": 1149084 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 34, + "block_seq": 147, + "unknown": false + }, + "time": 1430641536, + "txn": { + "length": 220, + "type": 0, + "txid": "3fae944ef07d9bcba1bcbc8bde87da50a1232132074803f8442deb563ed2da51", + "inner_hash": "aeceb514529fcf9de954599318d804301689818b8d5c90cdbd3bdf6ce3768c47", + "timestamp": 1430641536, + "sigs": [ + "b6b837c14a65c31150c24f93ac60a9b49baeb963cf49a8d97e817883ca46a3763168988b69542c5a52b7501674271ded3888bccda558aad004902ab7b7010f5501" + ], + "inputs": [ + "5baf8c8ab1a01d80a6f496144815cf6bda5289b34055010e21324ea3950d3299" + ], + "outputs": [ + { + "uxid": "dd07d759d92e3d628a35c467dcd919dcae825a9fa79a14855714270dae08c0ce", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "721200.000000", + "hours": 143635 + }, + { + "uxid": "3ec30639c24acce65054bdb0d7ab0539199b64cabfcad83c2ed7f266fb8849a6", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "1000.000000", + "hours": 143635 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 33, + "block_seq": 148, + "unknown": false + }, + "time": 1430642006, + "txn": { + "length": 220, + "type": 0, + "txid": "79681167a7681edecb998e4a6dccdd0b7be45f163c8f6db23436517936269fb8", + "inner_hash": "b06c37ee520387277d5c174e0fefb11dbbbee9c7ffe53715b7b5bab8f4693dfe", + "timestamp": 1430642006, + "sigs": [ + "150ffd203e65dac9dbfcaffb384a9233a274e0ced5a0c2fc9a3127e7a85df894124a5c1f0501c60640dce7d7c09cd1783ed61461f285fa89e6227ba1b427e81d00" + ], + "inputs": [ + "dd07d759d92e3d628a35c467dcd919dcae825a9fa79a14855714270dae08c0ce" + ], + "outputs": [ + { + "uxid": "c739b518f3f700e810f81523d81b15f968fbf202f389ceaa9d9f303319a00275", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "720200.000000", + "hours": 17954 + }, + { + "uxid": "5233e499bd3e38ec4d4fa4d750290f25271c91b4903630d461be51f3c2c02ebd", + "dst": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "1000.000000", + "hours": 17954 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 32, + "block_seq": 149, + "unknown": false + }, + "time": 1430642106, + "txn": { + "length": 220, + "type": 0, + "txid": "b69536fbec9911da41e9d0c5ca73459f5e692ba155f8b72c0972792e9937a0fe", + "inner_hash": "a6d1d92496583cefdf9a9d4e278cdeac9d8e7c31eec3061f0a91bc0116ced8e4", + "timestamp": 1430642106, + "sigs": [ + "d98168e1f19fbabcf0ec9fdf21d36486a2d70b13624bd2ec765bc773a08c7f5c09c7df2664e3205c7555bd3c5cb64ca78f5f0a81613ef4a7d740348e0132caf901" + ], + "inputs": [ + "c739b518f3f700e810f81523d81b15f968fbf202f389ceaa9d9f303319a00275" + ], + "outputs": [ + { + "uxid": "95694746f813d018be7988aec666b52924a7815adabe9cbdac3f6ab0f51bd1ab", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "719200.000000", + "hours": 2244 + }, + { + "uxid": "eb57ec196fe95a09be19b62b6837d5d12f99568ad0e5e198f70f55083acd656e", + "dst": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "1000.000000", + "hours": 2244 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 31, + "block_seq": 150, + "unknown": false + }, + "time": 1430642306, + "txn": { + "length": 220, + "type": 0, + "txid": "3e228564e3c187e22bd489857fdb1db7036021e19f688aad56cfee57d5e13ac5", + "inner_hash": "9b4783f4cd11a81e945a2d09b699f76254caa3bbf22ce8533f3b9f179c207702", + "timestamp": 1430642306, + "sigs": [ + "8bd5632a52c39ef9e9ce90ebabd119c8f93e32a5a5b6e8fe80c58163b4adcc040725f18321894b59c3546c8ce9fb182e1a4dd6a3b4405229635e3ac3d80213a700" + ], + "inputs": [ + "95694746f813d018be7988aec666b52924a7815adabe9cbdac3f6ab0f51bd1ab" + ], + "outputs": [ + { + "uxid": "be958e5c47415291a781648335db24e448e1f4f09aa5e9c3f055fbc906b574d7", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "719100.000000", + "hours": 280 + }, + { + "uxid": "0fa23085def7c1dbc95587d3f0f58cbc30b09e099ee1afa42d9120452777740a", + "dst": "sV8sVBgs11uHQtZK5MPbYem2iJ6Hehghv7", + "coins": "100.000000", + "hours": 280 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 30, + "block_seq": 151, + "unknown": false + }, + "time": 1430642426, + "txn": { + "length": 220, + "type": 0, + "txid": "18607765c3fbd45eafa15d2d62ab3cbc7ba7bd80c42931aae4db75aa02898671", + "inner_hash": "dbbf7608b67e82363ced90b364a9b8c91029b336ef2b68182d986e399eacb41a", + "timestamp": 1430642426, + "sigs": [ + "1972310d45a5baf10a8d929a132c725c51cdd19daae3baa640570aeadbb08ea700fbe46e6649289bec61065b05250b84872002f93634e6be81bae042cf80854b01" + ], + "inputs": [ + "be958e5c47415291a781648335db24e448e1f4f09aa5e9c3f055fbc906b574d7" + ], + "outputs": [ + { + "uxid": "68165429853e18e4414ec6c15630262ebcaa802ff1d83b6cbe116db51cb32066", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "718100.000000", + "hours": 35 + }, + { + "uxid": "efcb1b5f54bceb2d0124d2f89c47d071c2943fb228c2eee62bfddf6e1418cfc8", + "dst": "pMub1Pz3SLVaSwHoomgp5oDVxdkVxLkW6L", + "coins": "1000.000000", + "hours": 35 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 29, + "block_seq": 152, + "unknown": false + }, + "time": 1430642546, + "txn": { + "length": 220, + "type": 0, + "txid": "dc10e0565a14dfecda066577581f3e2d073de34ed3e911ed94413d38fc0a33d2", + "inner_hash": "821dfa6422bb093a528a2ec2bedd0566599cef3e2f4f91441f3073888e092832", + "timestamp": 1430642546, + "sigs": [ + "1bb9e5e58a4a7dfc9a29bb22eabb2ee4dc6e40dd71b35962adf95d1c1208309727f070257b4591e959a4965cb8d22710233dd1f65c3b58ec47bb71e3d7ebd3e700" + ], + "inputs": [ + "68165429853e18e4414ec6c15630262ebcaa802ff1d83b6cbe116db51cb32066" + ], + "outputs": [ + { + "uxid": "46aeb9ea01bb04e28c55ef11f8e75434dbeee546f7e06bdef332c604590c48a1", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "717100.000000", + "hours": 4 + }, + { + "uxid": "c0548bf35c950a74c206d2c565e3bcac1f2abe170ebabdb7b74e439b642dd9fd", + "dst": "22WGCstVJGVyqnBuvGHt17L5aNNMpURvckd", + "coins": "1000.000000", + "hours": 4 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 28, + "block_seq": 153, + "unknown": false + }, + "time": 1430642816, + "txn": { + "length": 220, + "type": 0, + "txid": "b0d7ff47658b3e32d8457eb62f6df0c7caaf7feadcbf8cc0c713976026f0404c", + "inner_hash": "5154559a3393277ed8db279bf27a9572c9aeebe81f321d9fb07a5e4313005a90", + "timestamp": 1430642816, + "sigs": [ + "a3edf9a3203fc696aefde6180d6c28fbaf3f4ee662ea90d82a93c3a8485593465f956713abfea8322b952d61969b29267f3826775638da77a1bf8567a40564e500" + ], + "inputs": [ + "46aeb9ea01bb04e28c55ef11f8e75434dbeee546f7e06bdef332c604590c48a1" + ], + "outputs": [ + { + "uxid": "598503902d2e6cb62d6f6478f09d8da05af6fd2da92b50825da3b7f74b2df34c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "716100.000000", + "hours": 0 + }, + { + "uxid": "045dc2e76321e37884588093083ce1b21be12f20ba1fa36f2a755b894229e3cf", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 27, + "block_seq": 154, + "unknown": false + }, + "time": 1430643706, + "txn": { + "length": 220, + "type": 0, + "txid": "be0957035ed2ac444f67273fc5c1c6a39ee373f6f83d1604d0023742a8cd7e42", + "inner_hash": "957140523c9acc14a4f6b6a2fd05e70c58d2ed51f43b4e88b1406b398f4e7b2e", + "timestamp": 1430643706, + "sigs": [ + "ee25ac881aa867780086df4716864a9ec524deeecc140faa60b9f9b87805816c22659836b5169f8eab0977a2337638b6ed7cd7c4a5d4ee3664e7ad28e91dd5b901" + ], + "inputs": [ + "598503902d2e6cb62d6f6478f09d8da05af6fd2da92b50825da3b7f74b2df34c" + ], + "outputs": [ + { + "uxid": "4b917e7bd3409c43f9f670f2846ce74f9288708df5aa1d9ae142f2411ce426da", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "715100.000000", + "hours": 0 + }, + { + "uxid": "dbc58940c2457359501c9906589c3d0a0ab7695b983ad79f2bcc087a675671f6", + "dst": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "1000.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 26, + "block_seq": 155, + "unknown": false + }, + "time": 1430643906, + "txn": { + "length": 220, + "type": 0, + "txid": "c9582c8134fa64fdf08cd93d42035adcced3f16aa8ee1a1393e3fcd7c07aa40c", + "inner_hash": "ecd6b0cab28125e3ec1fe23a046c259a7d608802da7d6397dbd8b410de03b94d", + "timestamp": 1430643906, + "sigs": [ + "95e5d5d0856bf5387de8fbdae05f5953510fd85ec346e65fa5fb68984bdb1ab83aa7807e57f00354d934f84a0034ecf8aa74fe3b8e9e480021873f62827770ab01" + ], + "inputs": [ + "4b917e7bd3409c43f9f670f2846ce74f9288708df5aa1d9ae142f2411ce426da" + ], + "outputs": [ + { + "uxid": "d50a372f8f8cd1e0b10d847613b68ee760f195f5f212d6c59e86312c84dd07ac", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "714800.000000", + "hours": 0 + }, + { + "uxid": "25a72cc385c1cdabd0ffd7c141ae205d767f3d016c281f835b9f58f9325bd2a5", + "dst": "YLT4buWf3kYDV9QddnC5iXTj881Eniuvrx", + "coins": "300.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 25, + "block_seq": 156, + "unknown": false + }, + "time": 1430644036, + "txn": { + "length": 220, + "type": 0, + "txid": "29a883ef9dc67bc683014187b9865c827b5e2f8afd7bf6f3787483318063789e", + "inner_hash": "bf3a81668fb27c0f55d9ec33490cb4c91ec7636ec1f85761fadbfebc020a618a", + "timestamp": 1430644036, + "sigs": [ + "970a22ba9a849caf00fc787a182dd67a3be794db9d66c691e9d904a78f90397542dee63e801c8b7f4077060fda76f0ac56a67b30865cc4634679f118abe04fc101" + ], + "inputs": [ + "d50a372f8f8cd1e0b10d847613b68ee760f195f5f212d6c59e86312c84dd07ac" + ], + "outputs": [ + { + "uxid": "896865f9b610f9fb69a741596b3ecb9fff3790d40476a9f7852831bdf477aaee", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "713800.000000", + "hours": 0 + }, + { + "uxid": "a34cfb6f175323917dfda72d58ddcfb86363cc43d22a0c6c3141810f5cac5aa6", + "dst": "tG8F6fuw3KEUStpa85EFQDMHVw9piTzZ2g", + "coins": "1000.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 24, + "block_seq": 157, + "unknown": false + }, + "time": 1430673946, + "txn": { + "length": 220, + "type": 0, + "txid": "c3fd04cd27ea311b1a67d40cd3dbb2ea8ae2c6f6139620cb86be29f33ed99171", + "inner_hash": "5a975ee4a0f95c51a0a847b1d082bc4859a4b7904acbaece151c58e01f26a870", + "timestamp": 1430673946, + "sigs": [ + "06c22eb6cb03468010ffbd2b54faa5835ea44cf552779b0adb09817db7e5494d49031d2e4b8994b670857b193766a1f430857955edd627f290f71f970407139b01" + ], + "inputs": [ + "896865f9b610f9fb69a741596b3ecb9fff3790d40476a9f7852831bdf477aaee" + ], + "outputs": [ + { + "uxid": "272d5bbd86a87796a20e3e4debc46a2076718800343bee4f72fc0217a98a10a3", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "695800.000000", + "hours": 0 + }, + { + "uxid": "25130a18aca13a37e4f4c08733cdda6a8629759f27ecba775999486c9deffa5e", + "dst": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "18000.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 23, + "block_seq": 158, + "unknown": false + }, + "time": 1430674696, + "txn": { + "length": 220, + "type": 0, + "txid": "3d9f1aa1b6206275081cb9c26155f6261be1ef9c94b4eaadb1a7e8277a2099fa", + "inner_hash": "ef7915c2cc32cfd043bf60533a563a89ee68a7b2f88e9e1e55e6a54494bde805", + "timestamp": 1430674696, + "sigs": [ + "6d2993d471d4b27d4b0c2beef286dab7e38013853926fef032a8a10d9161fbff59b4eba58d7578182f9f1e79ee763ab409aec46748351b0a7d1a020a3fe3824100" + ], + "inputs": [ + "272d5bbd86a87796a20e3e4debc46a2076718800343bee4f72fc0217a98a10a3" + ], + "outputs": [ + { + "uxid": "60906201d3e7c67ddb976972460b2b8ed093e1f6720a784cbaea376ca13e6cef", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "670800.000000", + "hours": 0 + }, + { + "uxid": "c61f27a2247831679d8df293bf9351b16e8429778c875be2cb64224bcb842ed4", + "dst": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "25000.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 22, + "block_seq": 159, + "unknown": false + }, + "time": 1430715196, + "txn": { + "length": 220, + "type": 0, + "txid": "d720ca0efb19b964f481724e5d3f932841e9e75a69b998baf4b575cf3298cb87", + "inner_hash": "b35da2487dfd396bc01b5296fab691557760886b23ba5bd18e52808549dbfef2", + "timestamp": 1430715196, + "sigs": [ + "9cb0a128d17a9c42f3e4e44f4da9106ef11407da8d9a434745add4c5f7a8e379325976d8c2222c3328acdc2c6ca597fab4fae292c5529e07c55919ce0e0320ca01" + ], + "inputs": [ + "60906201d3e7c67ddb976972460b2b8ed093e1f6720a784cbaea376ca13e6cef" + ], + "outputs": [ + { + "uxid": "4912e9dbbb5a4cc7472c27b0212ab443e7b5499207b10666a66257005e182714", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "664464.000000", + "hours": 0 + }, + { + "uxid": "b1e5c694c30326cda3df2e634723999befbcbb141415e9a36bdbf18d7bea9870", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "6336.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 21, + "block_seq": 160, + "unknown": false + }, + "time": 1430784172, + "txn": { + "length": 220, + "type": 0, + "txid": "0e8e352b1f2cd419bca619918ce6d5ec1eac0ba7252d76eef5d9d8f8186f737a", + "inner_hash": "49571d7e7c6b3e473b938f1cf4748c67f9301ca710f26ee56d0d8e231cb4515f", + "timestamp": 1430784172, + "sigs": [ + "8d4556a22c5fb84792cc88bfb47f795e6ba9fc211933776acd89b6da9aff71ea7803bf5b0e1d9afef2f3f77bbc4a7633c459ab9cb11a06723c4cad570717edfd00" + ], + "inputs": [ + "4912e9dbbb5a4cc7472c27b0212ab443e7b5499207b10666a66257005e182714" + ], + "outputs": [ + { + "uxid": "659bac1636b64087ad5d3cb0ae78c52f28ad920016ec67e08415a537e0343072", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "663464.000000", + "hours": 0 + }, + { + "uxid": "ea18f151bbdb611f73596b61ebb0546b9e91281ccb0bbe07a18e7fa69142bb5b", + "dst": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "1000.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 20, + "block_seq": 161, + "unknown": false + }, + "time": 1430784312, + "txn": { + "length": 220, + "type": 0, + "txid": "d5091ca65ff61998dfb4535a7927fb736abf2a81140a11322dcf8226de27cf92", + "inner_hash": "7a000aaa5751b65d3bccd4d307b7b8602aae539971de3af3baa3e126d52a54f2", + "timestamp": 1430784312, + "sigs": [ + "693d3153218a69e2ef1e676d6c124dd7fab7ee312d41fd9dbe005a0e681a8b052708a9559fc08e8173e1ef83e45f838742e4a1af765ea7f0fddb38cee2cced8000" + ], + "inputs": [ + "659bac1636b64087ad5d3cb0ae78c52f28ad920016ec67e08415a537e0343072" + ], + "outputs": [ + { + "uxid": "97f64c3c636e5fc997e277cd48644055ef51045ed9c473c05dd6e699872a6c3d", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "662464.000000", + "hours": 0 + }, + { + "uxid": "0c19e689e0e34639c71b0136ce336121b042b6d4ac185ac1f9e94ec7535e781f", + "dst": "XnKU1htBL5wFSMX8oytZBsBMeaBSbVNivT", + "coins": "1000.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 19, + "block_seq": 162, + "unknown": false + }, + "time": 1430784372, + "txn": { + "length": 220, + "type": 0, + "txid": "30e66ff45cfb145eb465e2ebdef0bb10005138bc1727c83888785b04d548e85b", + "inner_hash": "c87fb6e81fc1d99b16958d4626aa0e5ec4033443230bbc8b35e2882c078bf868", + "timestamp": 1430784372, + "sigs": [ + "b4feadec09b450b99795044931a94f7b8549bf876db7c62132df60056dd0c88e3821d1656407b1572fbb04eb71f6de57db43c997501989f44042d04fc3afdf4201" + ], + "inputs": [ + "97f64c3c636e5fc997e277cd48644055ef51045ed9c473c05dd6e699872a6c3d" + ], + "outputs": [ + { + "uxid": "122b7a9a61ee04e071002d74ffb26b12ed7952ff9a138b5437f990f4678cc2e5", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "662314.000000", + "hours": 0 + }, + { + "uxid": "db7a63750db787959a9e0d2d6be9a1ba8bb3d6015bae2353a27ae9eb55b39d22", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "150.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 18, + "block_seq": 163, + "unknown": false + }, + "time": 1430784932, + "txn": { + "length": 220, + "type": 0, + "txid": "ec79854fade530d84099d5619864a8e1e8ec9d27a086917a239500cada43c6e8", + "inner_hash": "ed6a317c8ea3624337463c1cca78bdcf87bf80dace1bccad050d27a49d3ea1d2", + "timestamp": 1430784932, + "sigs": [ + "c0548625b3bc88308155f598c3304a124632c0faef8005b8f9306b229b632b253c5e163a02409ba40b01560f77a6acde2ccc48cb0efedd4feb68ecbd925917fa00" + ], + "inputs": [ + "122b7a9a61ee04e071002d74ffb26b12ed7952ff9a138b5437f990f4678cc2e5" + ], + "outputs": [ + { + "uxid": "c07593d4329f82da243e4bbd7430e4b10e7b35f9ce0a3718d0e6d25d20b4939b", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "661314.000000", + "hours": 0 + }, + { + "uxid": "250543215c71a1a9ab7740fff25c3bf9695fcde10bceba3717aef9d0f6dd40d8", + "dst": "2iJPqYVuQvFoG1pim4bjoyxWK8uwGmznWaV", + "coins": "1000.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 17, + "block_seq": 164, + "unknown": false + }, + "time": 1430790052, + "txn": { + "length": 220, + "type": 0, + "txid": "743bf1eede313145824db1c4f8d683b74ab5e0bc825082d986308b73fd52f1d7", + "inner_hash": "a0427c37a8ca9f8205630cc8d4c6d95200413d3397a0de9bf015763107b8fc80", + "timestamp": 1430790052, + "sigs": [ + "dc400e921f7f94da5f353846f1340e039b4527fff121a56579390fb4fa4154634e3b3aad44ddf0aaebea5abc1dc5ba2a00540fd2888ed5c4ab7b20c51255086a01" + ], + "inputs": [ + "c07593d4329f82da243e4bbd7430e4b10e7b35f9ce0a3718d0e6d25d20b4939b" + ], + "outputs": [ + { + "uxid": "4d52106e41dba0099549fd81fb8feb6915225b0125c53faa0f7c578ea78f213a", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "660314.000000", + "hours": 0 + }, + { + "uxid": "bc513a68461d5c401e65a500baf7dfa163735ef63b817bb7b73c4139d5c29d18", + "dst": "212mwY3Dmey6vwnWpiph99zzCmopXTqeVEN", + "coins": "1000.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 16, + "block_seq": 165, + "unknown": false + }, + "time": 1430790152, + "txn": { + "length": 220, + "type": 0, + "txid": "3991a257eee265481e713917a3a9c15756f61175bcfc7acfdbe84158e43fd5e6", + "inner_hash": "dea502923be2dd8b4c48eb7ed2b146793ef840e9749d129bf7f6bda0fdcc43de", + "timestamp": 1430790152, + "sigs": [ + "dbb23f6d22438c10b98b437fe2ee4d7c5513aba7b0b6141648ac22f07e3768fc5d8d80f9dbcaa95edf925668b6018793a01ca70cf7b48d7c7deac106557ebf7f00" + ], + "inputs": [ + "4d52106e41dba0099549fd81fb8feb6915225b0125c53faa0f7c578ea78f213a" + ], + "outputs": [ + { + "uxid": "fef9dd3b633274743099e607d9229717a001d6de6a4031479cc30d31d65e8396", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "659314.000000", + "hours": 0 + }, + { + "uxid": "5954742a6ca4e3e872d12d4a93436451ad52e6d25e5ac28371e308b2d7ce75a3", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 0 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 15, + "block_seq": 166, + "unknown": false + }, + "time": 1430791622, + "txn": { + "length": 317, + "type": 0, + "txid": "41589644ea3a344fc616bec0058cf916b8efa5da7c3539241244827bd7e19811", + "inner_hash": "140c70de73812b1da58d3df6c62696a0ced32ac1ea0818c3c53da4968407eae4", + "timestamp": 1430791622, + "sigs": [ + "c9198240191df5c8b107cb7b6fcb5f4a572d8ae2ac85dd0def832df2f9cd7d806594c1ad2bf2279507de1b9f1e7cb067a4c5562dedf3e40c29fb23387e28277c00", + "cd4e83142b6592dae1d61f92a82b0e17ae43a34207c69e1970cc5e8e8badc06f4067f36da90a142e963d5e35228c0f405482e38064c69eb5d882b6d619109baf00" + ], + "inputs": [ + "37cc43693a024f9122f5e1fcabeab5d53a4d58590df30a934fc7bc545936e049", + "903a1bca9b81ed76179cbcffe6e3c8eff269c94826148286f7be0b6038ee4ccb" + ], + "outputs": [ + { + "uxid": "074645413ab2aae818e657f6f36420447a872e7cdd2ff64324b486be4d4d1edd", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "29100.000000", + "hours": 494004 + }, + { + "uxid": "b945bacb354173c33bc41503f50c29ad5d1d333ecab66b0c70d0ed9e6eec7f3a", + "dst": "2kN23viEG7Kn3Utuwz9voM4Z8ohLR9Y8L2v", + "coins": "500.000000", + "hours": 494004 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 14, + "block_seq": 167, + "unknown": false + }, + "time": 1430791902, + "txn": { + "length": 220, + "type": 0, + "txid": "b29222c08f10b8bc4ea18981519a3b0e02b9c9cec63ee28d9ffa2efcaf2a8e5a", + "inner_hash": "61c38575be160010335d96cf7c6ef0608cdb7b85079f2518532d00b6f42f13d0", + "timestamp": 1430791902, + "sigs": [ + "cb5c75671164755516cbf4d94e2288d56985b4d3113538bc818d1aa1c944a76b1beae28964c8e596ab0cd252cda6cf2a5468cbd0dbeff21e35609b5a6577eb0a01" + ], + "inputs": [ + "fef9dd3b633274743099e607d9229717a001d6de6a4031479cc30d31d65e8396" + ], + "outputs": [ + { + "uxid": "21f0fb666dca05d7a43ab26a378f7f7eaedfacde22fa047ca72857e9509cc748", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "659214.000000", + "hours": 33652 + }, + { + "uxid": "0b5e5259c276ac949de97062492ea6dc93ae6215c8dd1615862907e3c3ae9cf0", + "dst": "2A2YC8kxWnUDbscpzZ6UPfNAmx5ddKBeYNs", + "coins": "100.000000", + "hours": 33652 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 13, + "block_seq": 168, + "unknown": false + }, + "time": 1430792072, + "txn": { + "length": 220, + "type": 0, + "txid": "50fc81b0ba25669105a169a969459ccdb10278051b604a3f91467c2528c83652", + "inner_hash": "c356824e25deeecd3f531eb56a26d5875b7b81743e9c8f3d6beff5f634bf5e3f", + "timestamp": 1430792072, + "sigs": [ + "ac3b968f82649fac3822db1af5c0be17fc20cf86e091362b1584a2b66c033b10541f70fb6f55d8e1b3c57161ce37412a52d2009dd8abc9ef7ab038b19d8d644401" + ], + "inputs": [ + "21f0fb666dca05d7a43ab26a378f7f7eaedfacde22fa047ca72857e9509cc748" + ], + "outputs": [ + { + "uxid": "6b3a0cab1d9ad6fd011a3bac5e6ff4e3f7903bce911dc7fe83926eae557c34c3", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "658214.000000", + "hours": 4206 + }, + { + "uxid": "a02148f770788851a35fb90567510044e37f8db930deab7a2b584af67c8efb2f", + "dst": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "1000.000000", + "hours": 4206 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 12, + "block_seq": 169, + "unknown": false + }, + "time": 1430836392, + "txn": { + "length": 220, + "type": 0, + "txid": "acfb61f7ca39d5dfe33e8ed66f73ab181da0a3206d457bf055dcc4b9731a3ec8", + "inner_hash": "85c5d3963f2dce44e99500967e8b8b1943839537fb198186131459a3022d161a", + "timestamp": 1430836392, + "sigs": [ + "473114dcb42e2091f3d0396ecd16ee2685e0a6074c7de218cbd7e7c4335d89146455bc6c259c77f40d4af769e241aba1e3a102c5755946b1783c817ffafa67d101" + ], + "inputs": [ + "bc513a68461d5c401e65a500baf7dfa163735ef63b817bb7b73c4139d5c29d18" + ], + "outputs": [ + { + "uxid": "639e69c4a223b5082b9274caf3e56ecff2ab55cd90cac94fdb4c383a1013ba1f", + "dst": "212mwY3Dmey6vwnWpiph99zzCmopXTqeVEN", + "coins": "990.000000", + "hours": 70 + }, + { + "uxid": "bffea1990d71311b695b2d343b9f09a216b7a8257c1cdcb01b2ab9459e1490e3", + "dst": "jtuSERvfzN3kUYekg8LemCQ5kF5g97N8ZL", + "coins": "10.000000", + "hours": 70 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 11, + "block_seq": 170, + "unknown": false + }, + "time": 1430836422, + "txn": { + "length": 183, + "type": 0, + "txid": "95d847102c01d071982e67b8e7dfae50715b0fc0179d33f4b050974e634905e1", + "inner_hash": "c13b7e1722f3616f61948ed42382d4ed41164e7e2110d2d60bf86725f32531de", + "timestamp": 1430836422, + "sigs": [ + "cb7da0e16b83f1717614c7f160580ac0048a4276682ac4046c3324ba6f4e24901d162f7ec81a8e5cdf3676df6ace9a73c77e4d3ab7f03a4f0272c75f3715665001" + ], + "inputs": [ + "bffea1990d71311b695b2d343b9f09a216b7a8257c1cdcb01b2ab9459e1490e3" + ], + "outputs": [ + { + "uxid": "be081639ea8da63d8542707e9ea9625f6afc97da132f43ed061645c359bb1e65", + "dst": "212mwY3Dmey6vwnWpiph99zzCmopXTqeVEN", + "coins": "10.000000", + "hours": 8 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 10, + "block_seq": 171, + "unknown": false + }, + "time": 1430870562, + "txn": { + "length": 220, + "type": 0, + "txid": "fb495093f2f4e5c6555c50150ea60c0a6f430e53aa971ebb3e2b5412866a1f06", + "inner_hash": "05596340e51ad628080101c8e92a60f27e0f5ab509e892f9b65a0988b1575ddb", + "timestamp": 1430870562, + "sigs": [ + "068a56e916267a1756d9348bb965f3ed2dcba956fe4c626cd4836921dd836f7c0fa923d6451d5c87aa2eab528ff19ec332434bd12e197eeafbf0896e84940c4401" + ], + "inputs": [ + "6b3a0cab1d9ad6fd011a3bac5e6ff4e3f7903bce911dc7fe83926eae557c34c3" + ], + "outputs": [ + { + "uxid": "372703f8109295f0f58fbee58795979e10dd887869f4fc1da4881ce8a3c0aeb4", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "647750.000000", + "hours": 1014129 + }, + { + "uxid": "a35044035cce79cb988c757dcaf5d9a065957c0fbc1a3559d08ed46831504fc2", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "10464.000000", + "hours": 1014129 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 9, + "block_seq": 172, + "unknown": false + }, + "time": 1430870592, + "txn": { + "length": 220, + "type": 0, + "txid": "7abef7e4080bf2cbe9f147d7c9cbe4c950b38f8477d304466c938b937cd379ba", + "inner_hash": "f28366f7590220cd42faaf9ea041c8ca4460707e0dbfe1d3ac67da8d9dda268c", + "timestamp": 1430870592, + "sigs": [ + "e9ff8a0ce6c5e8b09936e031ef8cc6a0f3f3ed0a5360dcf2f649db3a2da958441c20916b27d1ad2ea8415679755b36967074e20feab7271528cb6b3266268ec201" + ], + "inputs": [ + "074645413ab2aae818e657f6f36420447a872e7cdd2ff64324b486be4d4d1edd" + ], + "outputs": [ + { + "uxid": "b1b832a911d45aeaab73676caad794fe2ab99d423f80c4ff58cfb269656b03dd", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "28100.000000", + "hours": 141512 + }, + { + "uxid": "c31c199a54ecbea5e57bf7f5e73d231a09e11713dd0ee70e340e4b0a9c9f9fdc", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "1000.000000", + "hours": 141512 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 8, + "block_seq": 173, + "unknown": false + }, + "time": 1430871512, + "txn": { + "length": 220, + "type": 0, + "txid": "a7665cec98224150968ec1ef9ef2d6b3175c9de8f9f8c7bc786b30cc74997c57", + "inner_hash": "5bd2503c4ff78e7c9d182bfe5e62e54f1bfb944bb526d97b272021d8ccfa9359", + "timestamp": 1430871512, + "sigs": [ + "dbd1e8763cb9681aeb96edc0c8483decee30b670778bec88da249f9d4f2201c330d2a16349608ba51eb8a387805dce9618810c4e6fd7af548cccee7d2c9c5dd201" + ], + "inputs": [ + "372703f8109295f0f58fbee58795979e10dd887869f4fc1da4881ce8a3c0aeb4" + ], + "outputs": [ + { + "uxid": "14027340f6e1d98bba3f7f5f3b50e3588f8a19e4d021db944e7a28b2643640e1", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "635750.000000", + "hours": 127440 + }, + { + "uxid": "793f3f0e41c9d1de391d864792b79ed8c24dde5ff84a73c161d660a73ed70c90", + "dst": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "12000.000000", + "hours": 127440 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 7, + "block_seq": 174, + "unknown": false + }, + "time": 1430871622, + "txn": { + "length": 220, + "type": 0, + "txid": "ad44a8027a825e82a20cdd910d9bd41d74025601b7668c80655e9b45afb8bb93", + "inner_hash": "af11c711190f9b52114dd31dcc4dbcdff3f169c6ce2559ff5baf14032e057145", + "timestamp": 1430871622, + "sigs": [ + "fd019f0cc492d5b6ba1bab0e3c77659b0e4773ea9b7dbe9808ea1392bfcd41e20aec3438076cb6ae4104bb6730b47ad1f1cfe878155f984ee380da10991b2a5601" + ], + "inputs": [ + "b1b832a911d45aeaab73676caad794fe2ab99d423f80c4ff58cfb269656b03dd" + ], + "outputs": [ + { + "uxid": "c39acd3494113650c1a6a7809287af7b12a78bbd97126d4585dd1715e2cb5a66", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "23100.000000", + "hours": 18586 + }, + { + "uxid": "2d3f7890d11efedd4cee3a7ab4a5cbc56d2c8df4f02124bdad9ec839400053ba", + "dst": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "5000.000000", + "hours": 18586 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 6, + "block_seq": 175, + "unknown": false + }, + "time": 1430908702, + "txn": { + "length": 220, + "type": 0, + "txid": "9364ed6cfcc289df74dc6bac1993f7ab3441b898cb3f06918198d2476c83dbac", + "inner_hash": "a55922b0495d39c8e9db70ac9aca99266d5a7f3644106b4b5468345d955acf41", + "timestamp": 1430908702, + "sigs": [ + "cecae09b7925e9f6db1ccf5ef9a93687a43bbeaefe2888abcc07411c71f850c80c05ed573abd67bf9f0e8a096a1aba8187547e3d062e5ed147ac51961cc3559701" + ], + "inputs": [ + "14027340f6e1d98bba3f7f5f3b50e3588f8a19e4d021db944e7a28b2643640e1" + ], + "outputs": [ + { + "uxid": "8e55f10a0615a0737e6906132e09ac08a206971ba4b656f004acc7f4b7889bc8", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "625750.000000", + "hours": 18358 + }, + { + "uxid": "d91e07318227651129b715d2db448ae245b442acd08c8b4525a934f0e87efce9", + "dst": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "10000.000000", + "hours": 18358 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 5, + "block_seq": 176, + "unknown": false + }, + "time": 1431162639, + "txn": { + "length": 1481, + "type": 0, + "txid": "a17cf54c20ac7ec6e1362acf24c5e5589ed8b49bdba791a87430de160a473913", + "inner_hash": "71127fa12d9ca390715586fe313b4e130b24614e0eaec276dc2dd25b7228c39f", + "timestamp": 1431162639, + "sigs": [ + "95855ae7d279d4797bafe542fd1803eb6a89533f29ae0d89d3f51256feeacc343dbd3da0d8d104e436c04643c72b5dab7a74634befc942ef9d96ded3e235ab4b01", + "55222337fce2733e7a3f92bf808da32759f33327c616828bdb0a350e5d3567b34fdef1a55340d7f857c4daed9735ad64394697ad941fc883f9365693991299a500", + "950281f4acb6cb8176929740aa90fa8729ac5687ef6500bc087429c43f5414e319c26142fca51c0ed9e5d434a6c83d2e3c837d7c9213398ae2104429d03f35dc01", + "c41f7425ecb51359a1da6ccf090a565beed72c891c49a8c81939a46f914c55de5766e99f1519302bfeef2224f856c859391d1f531004ee088083259fca82b17400", + "ed7085f8ceb26060851a71f665387d7c44774c6b9ddfc8d3a06e1fe50168d48510f63f5b6a0998c2a30d24bf37f1c6030035ef8df6efe6dfdcae38beeaf3a5a701", + "a88fefcc8f2809a288a275aac579f340c5138f8bfedf02964d4e3ed0492ee54e696de7e6f7f0b3f315461fb5df4f8e5e5fc7a5339ca6899c6ca7b122c54c90db00", + "ad9b245807ab8c5c5a713ab7e3bfbbba8af032bc4915c1824d95e95827d95be473eb1f6952ee489ddad59049364220bab124182251142b849235ed552404ba3d01", + "7a403c671ec5a6a6622ff63e4d482d51fda747cbe85cf8ef642aa840154be435409df707aa81a3c4e553e0c2c250a452e8416dc38697c35f830de27924a052fc01", + "06b5966aa7c7dfd425e773aafd46fdf29b41734b73f84ef1cd8941e617e0d6245e99f6d8be8b9609686b0faee4923b8bc149078ebb18c1b2e8f6318c846675e801", + "c5634bef581b26d600ed6f4cea47f402633e74ab8f5497b2c2ca69a01e3dfeda0a38308a4a96cfe58857e4c0c2311ecf4e3f4eef69aa771a1db89c360892492200", + "4807a114ffe9e44797843f76c74e81d72324885a67d560c4e1d6e4cadd271b637176a932dc045844b52a4c92f6892ebb0265838366827fd0e0b6b7e20e4e1ff501", + "bc1ca4e3d0afd920bad8c4ef8a6b847c71f75ae8ca913ddb5d976dca42af12ea3ec3a2e59ec8f57fe4fb41af3f439387272ea847240ee89468c4d808303cf9be00", + "366f0f68a36bccd22e829eb05f960a8015466bb5eeb8e553dd37b52ab624d1756f68501db2a8d14fda04d1adf3239a9785ec142c14c5bb34cb8d47629c191dc901", + "146eed504f7acbbece951bfea4eb426e80852e3dc6ae9c8a68480fdf4e07ddd73a5709e2f9df0154380d837a5ff66582c07a0fc27d0df4e7d6d28bbcb90e3c8d00" + ], + "inputs": [ + "04c0cd4cbee1e5414791d9e0b9ae4f889bc52d253b5f70b09fbc32c88fb415ae", + "f3034ffe54e869315f8e11801d3e755352fb75b878b24313302273c1b7ea62cb", + "3538af0016ec0f4d0e943c5d49daf280b416701fde4040fa72710c0ca1b5b559", + "0560bae3917bca7581af9b6c5a58e395c701ce9ed0241dac2de8a3e93c0b839b", + "3fe7d61ffa993e00200ce6be7ba347c603032ac3f8c4ace07767e630fe94d76c", + "2a09e97f7725a35af1357842206875a023252da4ebfce129eaf4cb87119cfd41", + "617b584bb9e6b1d80daac915fb3079b22a326777d1515a40e7b7eddf427f4099", + "18293d947aadf89d9e57d18fa01408867a9abe267504edbdabf8c2a57d9a6323", + "045dc2e76321e37884588093083ce1b21be12f20ba1fa36f2a755b894229e3cf", + "b1e5c694c30326cda3df2e634723999befbcbb141415e9a36bdbf18d7bea9870", + "db7a63750db787959a9e0d2d6be9a1ba8bb3d6015bae2353a27ae9eb55b39d22", + "5954742a6ca4e3e872d12d4a93436451ad52e6d25e5ac28371e308b2d7ce75a3", + "a35044035cce79cb988c757dcaf5d9a065957c0fbc1a3559d08ed46831504fc2", + "c31c199a54ecbea5e57bf7f5e73d231a09e11713dd0ee70e340e4b0a9c9f9fdc" + ], + "outputs": [ + { + "uxid": "d6735d3ad70dbf553048faf1c529d047ab12282d04e320bd67c915779fc4e3fd", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "24950.000000", + "hours": 451992 + }, + { + "uxid": "a5f3c513b5a01dc5e943a5cae91f54b54cde55e984a9480d68d690f40dfb7914", + "dst": "v4qF7Ceq276tZpTS3HKsZbDguMAcAGAG1q", + "coins": "5.000000", + "hours": 451992 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 4, + "block_seq": 177, + "unknown": false + }, + "time": 1431162689, + "txn": { + "length": 220, + "type": 0, + "txid": "e4850021fb706f2b7a94fec9ade3c166823dcd980dc3954437471d98fb9d2280", + "inner_hash": "1a07c8a17c429aec5c0725dc6e4891f4e304a483211f99b847a6820e410b56ef", + "timestamp": 1431162689, + "sigs": [ + "e7d92fbcc6716645c2c28a66ac289453b2967c620e105c7699cee251aa6916227057789d10889689a3f3c743dadfea09e1cf747cc7b7ccb5381fe1af1069e06201" + ], + "inputs": [ + "d6735d3ad70dbf553048faf1c529d047ab12282d04e320bd67c915779fc4e3fd" + ], + "outputs": [ + { + "uxid": "ec439e7c7d8517824885ae1520fa5b19f991d7ade3a12209c0e87f6ad1d30229", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "4950.000000", + "hours": 56499 + }, + { + "uxid": "f5e7796297b7201b1ea87736fadddc7b451f9ed7d4529cfe9f03082e80917628", + "dst": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "20000.000000", + "hours": 56499 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 3, + "block_seq": 178, + "unknown": false + }, + "time": 1431162729, + "txn": { + "length": 183, + "type": 0, + "txid": "ecd101a6af263973ab75f87a3116231e6fe84a2281d0001c9aa2d7195545e78e", + "inner_hash": "41bc4ea9ec8214b461a5377d0ae0da38831bc972b8dd54becaf195b5943dd55e", + "timestamp": 1431162729, + "sigs": [ + "4a604f9845e202871ac8741962280bb5db6f1295353042922a6f46671f27cc1d6cd4085aec390205aa5ba08f2c841295b4c86d2fab81d6e29fc958dfe9712e2301" + ], + "inputs": [ + "a5f3c513b5a01dc5e943a5cae91f54b54cde55e984a9480d68d690f40dfb7914" + ], + "outputs": [ + { + "uxid": "ba1adbf3006a239fb7ef6efb1f9390a25951a5185dc312dd81bf88025f838456", + "dst": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "5.000000", + "hours": 56499 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 2, + "block_seq": 179, + "unknown": false + }, + "time": 1431339429, + "txn": { + "length": 220, + "type": 0, + "txid": "f58f664eea258100126636a4111838e489ef5aec848ca8498319c290fa2a0805", + "inner_hash": "db98f515ce6c3d99fd7c39a6ac59ab498b1a2cc8fc6a13377ac7d3d463898e7c", + "timestamp": 1431339429, + "sigs": [ + "1ca18424c9a313e9c253aecaec3c532c35c60e454f026a3d2794c772bc74a19809d53f8862962e865dd822dd054cd7f32b89b810968d95c9db6a9a0c1095390601" + ], + "inputs": [ + "8e55f10a0615a0737e6906132e09ac08a206971ba4b656f004acc7f4b7889bc8" + ], + "outputs": [ + { + "uxid": "fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f20", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "615700.000000", + "hours": 5521648 + }, + { + "uxid": "01f9c1d6c83dbc1c993357436cdf7f214acd0bfa107ff7f1466d1b18ec03563e", + "dst": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "10050.000000", + "hours": 5521648 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 1, + "block_seq": 180, + "unknown": false + }, + "time": 1431574528, + "txn": { + "length": 220, + "type": 0, + "txid": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d", + "inner_hash": "d5b18a0c0c454e56fe1f7d0c64236d633f65717c04f08cd943f5669b4cc34667", + "timestamp": 1431574528, + "sigs": [ + "2fac42571bb301783e46e804069c73c8226b637ae6385fec793e3a3860feaa6918058c55f461cef38341670c5c2da230d2241f267dbde6fc0528a6fb24362b3b00" + ], + "inputs": [ + "c39acd3494113650c1a6a7809287af7b12a78bbd97126d4585dd1715e2cb5a66" + ], + "outputs": [ + { + "uxid": "75692aeff988ce0da734c474dbef3a1ce19a5a6823bbcd36acb856c83262261e", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "hours": 377543 + }, + { + "uxid": "a4b70476ea1e079ebd3503b52eee32d490515457fce6a5aa075770b598a9d14f", + "dst": "CDD8GoJUHEvBm1pD3BQ3hEC2KcJNhvUzpu", + "coins": "1000.000000", + "hours": 377543 + } + ] + } + } +] diff --git a/src/gui/static/src/app/components/pages/explorer/explorer.component.css b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/genesis-raw-tx.golden similarity index 100% rename from src/gui/static/src/app/components/pages/explorer/explorer.component.css rename to vendor/github.com/skycoin/skycoin/src/api/integration/testdata/genesis-raw-tx.golden diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/genesis-transaction.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/genesis-transaction.golden new file mode 100755 index 0000000..38d8c07 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/genesis-transaction.golden @@ -0,0 +1,17 @@ +{ + "length": 0, + "type": 0, + "txid": "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", + "inner_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "timestamp": 1426562704, + "sigs": [], + "inputs": [], + "outputs": [ + { + "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "100000000.000000", + "hours": 100000000000000 + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/network-default-connections.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/network-default-connections.golden new file mode 100755 index 0000000..2e4248e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/network-default-connections.golden @@ -0,0 +1,10 @@ +[ + "104.237.142.206:6000", + "118.178.135.93:6000", + "120.77.69.188:6000", + "121.41.103.148:6000", + "139.162.7.132:6000", + "172.104.85.6:6000", + "176.58.126.224:6000", + "47.88.33.156:6000" +] diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/network-exchangeable-connections.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/network-exchangeable-connections.golden new file mode 100755 index 0000000..fe51488 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/network-exchangeable-connections.golden @@ -0,0 +1 @@ +[] diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/network-trusted-connections.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/network-trusted-connections.golden new file mode 100755 index 0000000..2e4248e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/network-trusted-connections.golden @@ -0,0 +1,10 @@ +[ + "104.237.142.206:6000", + "118.178.135.93:6000", + "120.77.69.188:6000", + "121.41.103.148:6000", + "139.162.7.132:6000", + "172.104.85.6:6000", + "176.58.126.224:6000", + "47.88.33.156:6000" +] diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/outputs-addrs.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/outputs-addrs.golden new file mode 100755 index 0000000..08bbd0e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/outputs-addrs.golden @@ -0,0 +1,36 @@ +{ + "head_outputs": [ + { + "hash": "75692aeff988ce0da734c474dbef3a1ce19a5a6823bbcd36acb856c83262261e", + "time": 1431574528, + "block_seq": 180, + "src_tx": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d", + "address": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "hours": 377543, + "calculated_hours": 377543 + }, + { + "hash": "25e22bb83c51f766571cf92ec7303071c9f25e3a34366f4679a22519e6ec368b", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "5e35182bc9372d898df106bb2e7b3dfe33d28e59082f5d19d4a84ac0012d1291", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + } + ], + "outgoing_outputs": [], + "incoming_outputs": [] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/outputs-hashes.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/outputs-hashes.golden new file mode 100755 index 0000000..d853018 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/outputs-hashes.golden @@ -0,0 +1,46 @@ +{ + "head_outputs": [ + { + "hash": "01f9c1d6c83dbc1c993357436cdf7f214acd0bfa107ff7f1466d1b18ec03563e", + "time": 1431339429, + "block_seq": 179, + "src_tx": "f58f664eea258100126636a4111838e489ef5aec848ca8498319c290fa2a0805", + "address": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "10050.000000", + "hours": 5521648, + "calculated_hours": 6177966 + }, + { + "hash": "fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f20", + "time": 1431339429, + "block_seq": 179, + "src_tx": "f58f664eea258100126636a4111838e489ef5aec848ca8498319c290fa2a0805", + "address": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "615700.000000", + "hours": 5521648, + "calculated_hours": 45730107 + }, + { + "hash": "d91e07318227651129b715d2db448ae245b442acd08c8b4525a934f0e87efce9", + "time": 1430908702, + "block_seq": 175, + "src_tx": "9364ed6cfcc289df74dc6bac1993f7ab3441b898cb3f06918198d2476c83dbac", + "address": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "10000.000000", + "hours": 18358, + "calculated_hours": 1867874 + }, + { + "hash": "9e53268a18f8d32a44b4fb183033b49bebfe9d0da3bf3ef2ad1d560500aa54c6", + "time": 1429077554, + "block_seq": 56, + "src_tx": "8fba29db2e3e8cad785e723f95aa5fa46ae0dd8b2bb62586977f20e698642cfb", + "address": "vdLGAnCfbBkxabcVk6tEsa6RH99JTxdzbt", + "coins": "1000.000000", + "hours": 12696, + "calculated_hours": 706299 + } + ], + "outgoing_outputs": [], + "incoming_outputs": [] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/outputs-noargs.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/outputs-noargs.golden new file mode 100755 index 0000000..94ebc39 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/outputs-noargs.golden @@ -0,0 +1,2186 @@ +{ + "head_outputs": [ + { + "hash": "75692aeff988ce0da734c474dbef3a1ce19a5a6823bbcd36acb856c83262261e", + "time": 1431574528, + "block_seq": 180, + "src_tx": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d", + "address": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "hours": 377543, + "calculated_hours": 377543 + }, + { + "hash": "a4b70476ea1e079ebd3503b52eee32d490515457fce6a5aa075770b598a9d14f", + "time": 1431574528, + "block_seq": 180, + "src_tx": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d", + "address": "CDD8GoJUHEvBm1pD3BQ3hEC2KcJNhvUzpu", + "coins": "1000.000000", + "hours": 377543, + "calculated_hours": 377543 + }, + { + "hash": "01f9c1d6c83dbc1c993357436cdf7f214acd0bfa107ff7f1466d1b18ec03563e", + "time": 1431339429, + "block_seq": 179, + "src_tx": "f58f664eea258100126636a4111838e489ef5aec848ca8498319c290fa2a0805", + "address": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "10050.000000", + "hours": 5521648, + "calculated_hours": 6177966 + }, + { + "hash": "fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f20", + "time": 1431339429, + "block_seq": 179, + "src_tx": "f58f664eea258100126636a4111838e489ef5aec848ca8498319c290fa2a0805", + "address": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "615700.000000", + "hours": 5521648, + "calculated_hours": 45730107 + }, + { + "hash": "ba1adbf3006a239fb7ef6efb1f9390a25951a5185dc312dd81bf88025f838456", + "time": 1431162729, + "block_seq": 178, + "src_tx": "ecd101a6af263973ab75f87a3116231e6fe84a2281d0001c9aa2d7195545e78e", + "address": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "5.000000", + "hours": 56499, + "calculated_hours": 57070 + }, + { + "hash": "ec439e7c7d8517824885ae1520fa5b19f991d7ade3a12209c0e87f6ad1d30229", + "time": 1431162689, + "block_seq": 177, + "src_tx": "e4850021fb706f2b7a94fec9ade3c166823dcd980dc3954437471d98fb9d2280", + "address": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "4950.000000", + "hours": 56499, + "calculated_hours": 622777 + }, + { + "hash": "f5e7796297b7201b1ea87736fadddc7b451f9ed7d4529cfe9f03082e80917628", + "time": 1431162689, + "block_seq": 177, + "src_tx": "e4850021fb706f2b7a94fec9ade3c166823dcd980dc3954437471d98fb9d2280", + "address": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "20000.000000", + "hours": 56499, + "calculated_hours": 2344493 + }, + { + "hash": "d91e07318227651129b715d2db448ae245b442acd08c8b4525a934f0e87efce9", + "time": 1430908702, + "block_seq": 175, + "src_tx": "9364ed6cfcc289df74dc6bac1993f7ab3441b898cb3f06918198d2476c83dbac", + "address": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "10000.000000", + "hours": 18358, + "calculated_hours": 1867874 + }, + { + "hash": "2d3f7890d11efedd4cee3a7ab4a5cbc56d2c8df4f02124bdad9ec839400053ba", + "time": 1430871622, + "block_seq": 174, + "src_tx": "ad44a8027a825e82a20cdd910d9bd41d74025601b7668c80655e9b45afb8bb93", + "address": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "5000.000000", + "hours": 18586, + "calculated_hours": 994844 + }, + { + "hash": "793f3f0e41c9d1de391d864792b79ed8c24dde5ff84a73c161d660a73ed70c90", + "time": 1430871512, + "block_seq": 173, + "src_tx": "a7665cec98224150968ec1ef9ef2d6b3175c9de8f9f8c7bc786b30cc74997c57", + "address": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "12000.000000", + "hours": 127440, + "calculated_hours": 2470826 + }, + { + "hash": "be081639ea8da63d8542707e9ea9625f6afc97da132f43ed061645c359bb1e65", + "time": 1430836422, + "block_seq": 170, + "src_tx": "95d847102c01d071982e67b8e7dfae50715b0fc0179d33f4b050974e634905e1", + "address": "212mwY3Dmey6vwnWpiph99zzCmopXTqeVEN", + "coins": "10.000000", + "hours": 8, + "calculated_hours": 2058 + }, + { + "hash": "639e69c4a223b5082b9274caf3e56ecff2ab55cd90cac94fdb4c383a1013ba1f", + "time": 1430836392, + "block_seq": 169, + "src_tx": "acfb61f7ca39d5dfe33e8ed66f73ab181da0a3206d457bf055dcc4b9731a3ec8", + "address": "212mwY3Dmey6vwnWpiph99zzCmopXTqeVEN", + "coins": "990.000000", + "hours": 70, + "calculated_hours": 203057 + }, + { + "hash": "a02148f770788851a35fb90567510044e37f8db930deab7a2b584af67c8efb2f", + "time": 1430792072, + "block_seq": 168, + "src_tx": "50fc81b0ba25669105a169a969459ccdb10278051b604a3f91467c2528c83652", + "address": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "1000.000000", + "hours": 4206, + "calculated_hours": 221554 + }, + { + "hash": "0b5e5259c276ac949de97062492ea6dc93ae6215c8dd1615862907e3c3ae9cf0", + "time": 1430791902, + "block_seq": 167, + "src_tx": "b29222c08f10b8bc4ea18981519a3b0e02b9c9cec63ee28d9ffa2efcaf2a8e5a", + "address": "2A2YC8kxWnUDbscpzZ6UPfNAmx5ddKBeYNs", + "coins": "100.000000", + "hours": 33652, + "calculated_hours": 55391 + }, + { + "hash": "b945bacb354173c33bc41503f50c29ad5d1d333ecab66b0c70d0ed9e6eec7f3a", + "time": 1430791622, + "block_seq": 166, + "src_tx": "41589644ea3a344fc616bec0058cf916b8efa5da7c3539241244827bd7e19811", + "address": "2kN23viEG7Kn3Utuwz9voM4Z8ohLR9Y8L2v", + "coins": "500.000000", + "hours": 494004, + "calculated_hours": 602740 + }, + { + "hash": "250543215c71a1a9ab7740fff25c3bf9695fcde10bceba3717aef9d0f6dd40d8", + "time": 1430784932, + "block_seq": 163, + "src_tx": "ec79854fade530d84099d5619864a8e1e8ec9d27a086917a239500cada43c6e8", + "address": "2iJPqYVuQvFoG1pim4bjoyxWK8uwGmznWaV", + "coins": "1000.000000", + "hours": 0, + "calculated_hours": 219332 + }, + { + "hash": "0c19e689e0e34639c71b0136ce336121b042b6d4ac185ac1f9e94ec7535e781f", + "time": 1430784312, + "block_seq": 161, + "src_tx": "d5091ca65ff61998dfb4535a7927fb736abf2a81140a11322dcf8226de27cf92", + "address": "XnKU1htBL5wFSMX8oytZBsBMeaBSbVNivT", + "coins": "1000.000000", + "hours": 0, + "calculated_hours": 219504 + }, + { + "hash": "ea18f151bbdb611f73596b61ebb0546b9e91281ccb0bbe07a18e7fa69142bb5b", + "time": 1430784172, + "block_seq": 160, + "src_tx": "0e8e352b1f2cd419bca619918ce6d5ec1eac0ba7252d76eef5d9d8f8186f737a", + "address": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "1000.000000", + "hours": 0, + "calculated_hours": 219543 + }, + { + "hash": "c61f27a2247831679d8df293bf9351b16e8429778c875be2cb64224bcb842ed4", + "time": 1430674696, + "block_seq": 158, + "src_tx": "3d9f1aa1b6206275081cb9c26155f6261be1ef9c94b4eaadb1a7e8277a2099fa", + "address": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "25000.000000", + "hours": 0, + "calculated_hours": 6248833 + }, + { + "hash": "25130a18aca13a37e4f4c08733cdda6a8629759f27ecba775999486c9deffa5e", + "time": 1430673946, + "block_seq": 157, + "src_tx": "c3fd04cd27ea311b1a67d40cd3dbb2ea8ae2c6f6139620cb86be29f33ed99171", + "address": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "18000.000000", + "hours": 0, + "calculated_hours": 4502910 + }, + { + "hash": "a34cfb6f175323917dfda72d58ddcfb86363cc43d22a0c6c3141810f5cac5aa6", + "time": 1430644036, + "block_seq": 156, + "src_tx": "29a883ef9dc67bc683014187b9865c827b5e2f8afd7bf6f3787483318063789e", + "address": "tG8F6fuw3KEUStpa85EFQDMHVw9piTzZ2g", + "coins": "1000.000000", + "hours": 0, + "calculated_hours": 258470 + }, + { + "hash": "25a72cc385c1cdabd0ffd7c141ae205d767f3d016c281f835b9f58f9325bd2a5", + "time": 1430643906, + "block_seq": 155, + "src_tx": "c9582c8134fa64fdf08cd93d42035adcced3f16aa8ee1a1393e3fcd7c07aa40c", + "address": "YLT4buWf3kYDV9QddnC5iXTj881Eniuvrx", + "coins": "300.000000", + "hours": 0, + "calculated_hours": 77551 + }, + { + "hash": "dbc58940c2457359501c9906589c3d0a0ab7695b983ad79f2bcc087a675671f6", + "time": 1430643706, + "block_seq": 154, + "src_tx": "be0957035ed2ac444f67273fc5c1c6a39ee373f6f83d1604d0023742a8cd7e42", + "address": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "1000.000000", + "hours": 0, + "calculated_hours": 258561 + }, + { + "hash": "c0548bf35c950a74c206d2c565e3bcac1f2abe170ebabdb7b74e439b642dd9fd", + "time": 1430642546, + "block_seq": 152, + "src_tx": "dc10e0565a14dfecda066577581f3e2d073de34ed3e911ed94413d38fc0a33d2", + "address": "22WGCstVJGVyqnBuvGHt17L5aNNMpURvckd", + "coins": "1000.000000", + "hours": 4, + "calculated_hours": 258887 + }, + { + "hash": "efcb1b5f54bceb2d0124d2f89c47d071c2943fb228c2eee62bfddf6e1418cfc8", + "time": 1430642426, + "block_seq": 151, + "src_tx": "18607765c3fbd45eafa15d2d62ab3cbc7ba7bd80c42931aae4db75aa02898671", + "address": "pMub1Pz3SLVaSwHoomgp5oDVxdkVxLkW6L", + "coins": "1000.000000", + "hours": 35, + "calculated_hours": 258952 + }, + { + "hash": "0fa23085def7c1dbc95587d3f0f58cbc30b09e099ee1afa42d9120452777740a", + "time": 1430642306, + "block_seq": 150, + "src_tx": "3e228564e3c187e22bd489857fdb1db7036021e19f688aad56cfee57d5e13ac5", + "address": "sV8sVBgs11uHQtZK5MPbYem2iJ6Hehghv7", + "coins": "100.000000", + "hours": 280, + "calculated_hours": 26175 + }, + { + "hash": "eb57ec196fe95a09be19b62b6837d5d12f99568ad0e5e198f70f55083acd656e", + "time": 1430642106, + "block_seq": 149, + "src_tx": "b69536fbec9911da41e9d0c5ca73459f5e692ba155f8b72c0972792e9937a0fe", + "address": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "1000.000000", + "hours": 2244, + "calculated_hours": 261250 + }, + { + "hash": "5233e499bd3e38ec4d4fa4d750290f25271c91b4903630d461be51f3c2c02ebd", + "time": 1430642006, + "block_seq": 148, + "src_tx": "79681167a7681edecb998e4a6dccdd0b7be45f163c8f6db23436517936269fb8", + "address": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "1000.000000", + "hours": 17954, + "calculated_hours": 276987 + }, + { + "hash": "3ec30639c24acce65054bdb0d7ab0539199b64cabfcad83c2ed7f266fb8849a6", + "time": 1430641536, + "block_seq": 147, + "src_tx": "3fae944ef07d9bcba1bcbc8bde87da50a1232132074803f8442deb563ed2da51", + "address": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "1000.000000", + "hours": 143635, + "calculated_hours": 402799 + }, + { + "hash": "3dd82b00ef4d1e3b1c71be5f13c0c82b3e2b17af4a6b3eb4c966490f47866ccd", + "time": 1430641376, + "block_seq": 146, + "src_tx": "5701965d326520f86335da87c6d1781fd49f1e66520b94e1783711eba724f482", + "address": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "1000.000000", + "hours": 1149084, + "calculated_hours": 1408292 + }, + { + "hash": "7afab03c823346ff8b00c29df6acc05841583d90dfd451ba09e66884a48e83f7", + "time": 1430550936, + "block_seq": 145, + "src_tx": "f25c1a8a4ae37e8e2b4a0ec6f2553cf11c57fa77de9556cd227857ca270a0275", + "address": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "2000.000000", + "hours": 99134, + "calculated_hours": 667796 + }, + { + "hash": "d8ee5dc5cabcf179365345167d39977ae38a71e55cf357881258be32a45732bc", + "time": 1430505176, + "block_seq": 144, + "src_tx": "3bb9fc516dc2c522e28f99e6833253863c550547ce0e0a2dd963a0118b7a44a7", + "address": "PCAtFnGVujpALXB1Gqb9CEMRMVXfVGu6iM", + "coins": "1000.000000", + "hours": 0, + "calculated_hours": 297042 + }, + { + "hash": "456bcb0a2e57a5c20f2757c8fc7669af1f969bb5a57f89965210daf7107993aa", + "time": 1430505086, + "block_seq": 143, + "src_tx": "57150aecde96bde972183b9b0d7d27dda2c0179fb71630e92c27856d211335cd", + "address": "2jNYhHCuqQtU8kKkLf8ZZmKj6fywTL7fw2e", + "coins": "500.000000", + "hours": 0, + "calculated_hours": 148533 + }, + { + "hash": "908fe94bd28886547f1b7b4fc98d0990a08a216b70877341f566b6b4685de364", + "time": 1430504846, + "block_seq": 141, + "src_tx": "16f8b9369f76ef6a0c1ecf82e1c18d5bc8ae5ef8b01b6530096cb1ff70bbd3fd", + "address": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "2500.000000", + "hours": 0, + "calculated_hours": 742834 + }, + { + "hash": "cfdefd8d167947190a223882d20c8ac7880e550ad1a3494bb05bff4b1df4e3ff", + "time": 1430504746, + "block_seq": 140, + "src_tx": "de45a24c9c32f808a3d928f30ba8e1b6ef8117a7c0b7a5d616734d9b121d0c30", + "address": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "1000.000000", + "hours": 0, + "calculated_hours": 297161 + }, + { + "hash": "278b0caa6dddf4ce74772471b15fb9a8c364362b0ae3eeb9379e980504d8d512", + "time": 1430504536, + "block_seq": 139, + "src_tx": "578075959959db70ae86f4f60d2ae3ff245727d086eef86ed80db5e1c7c9fbaf", + "address": "vdLGAnCfbBkxabcVk6tEsa6RH99JTxdzbt", + "coins": "1000.000000", + "hours": 0, + "calculated_hours": 297220 + }, + { + "hash": "bceafc261a2250f1bfb8154aea88370acfe6a41a4216bcb76c2016451cbcffd1", + "time": 1430504236, + "block_seq": 138, + "src_tx": "9880bebc51471e0b3c520920db836d674f652503314cd74069a59ccad0d0967a", + "address": "2iwB1VmUWbCoVd4gNstB9LKctw3htFhVmuV", + "coins": "1200.000000", + "hours": 6, + "calculated_hours": 356770 + }, + { + "hash": "b6b6188973b600af774ad8a7b6d454f77713a51463b9a9a70c901ec5280a9789", + "time": 1430504186, + "block_seq": 137, + "src_tx": "fc02772662176c282c2b6538732d3d6eb1399f006a0b52e64d07fc104038f638", + "address": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "1000.000000", + "hours": 48, + "calculated_hours": 297365 + }, + { + "hash": "e00c292e151fdafd24984b2dc08a4a328150006f95afaac9909dbffae1f07eaf", + "time": 1430330851, + "block_seq": 136, + "src_tx": "b9a795552bec1a722718b44a08ad152656242b1d23afb53d2247b3016d920b7e", + "address": "3iEkvqSQCNrm8tMVf5ABAx2Bp6EGL9wyMP", + "coins": "1000.000000", + "hours": 387, + "calculated_hours": 345852 + }, + { + "hash": "d95d422fb8fe4ad9ce1052e566ec8a5ad7953ceb253366814b3d32e9a1da1f13", + "time": 1430330481, + "block_seq": 134, + "src_tx": "44d05abc2637d9cd2047984023eb5cfa0a146e58821117de30f9c81703189cde", + "address": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "100.000000", + "hours": 24823, + "calculated_hours": 59379 + }, + { + "hash": "8b3d335360effd00cabcae13c2495f26f81743b82958629378b7bc78a7e460fe", + "time": 1430330421, + "block_seq": 133, + "src_tx": "d30cec3ad3a66562d2513a3656b366ea7da583e6ba45214ac12b9c2219b4c5ea", + "address": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "500.000000", + "hours": 198586, + "calculated_hours": 371378 + }, + { + "hash": "333156ed20ba6937d3720af3a81939362b9f4ad1e9591bc676945ff0d202131e", + "time": 1430330311, + "block_seq": 132, + "src_tx": "3dfdfea4614d05c2f5eddf5773ef0afc745f1afe585141659df8e03e82897606", + "address": "vdLGAnCfbBkxabcVk6tEsa6RH99JTxdzbt", + "coins": "1000.000000", + "hours": 1588688, + "calculated_hours": 1934303 + }, + { + "hash": "e7756fa7a5c067d595f7300828bc4c70152653700844130d88174ba37237e2a3", + "time": 1430330041, + "block_seq": 131, + "src_tx": "6538399868cf772fcfa96e68c51aa6aa66faa95d7c685432e4005880932be134", + "address": "2iwB1VmUWbCoVd4gNstB9LKctw3htFhVmuV", + "coins": "1200.000000", + "hours": 12709509, + "calculated_hours": 13124338 + }, + { + "hash": "169e9a77557283e0d158fe6e35c439d729d73acfd00e2969147dacbdd599817e", + "time": 1429849180, + "block_seq": 129, + "src_tx": "66d415598af081f8a7bd7f292468e67f380d06bf5896eb8152d4d9e8bcdf289e", + "address": "2iJPqYVuQvFoG1pim4bjoyxWK8uwGmznWaV", + "coins": "1000.000000", + "hours": 66854, + "calculated_hours": 546117 + }, + { + "hash": "6143275de37a2b5ec802eeeb8d38a3dfb2db6629128e44c4f9ffc0ce8ddad629", + "time": 1429849170, + "block_seq": 128, + "src_tx": "c2c9fe882df3b44fbb125b251a7604a7a4f4195dddff6e5396b7f130744e2b27", + "address": "VD98Qt2f2UeUbUKcCJEaKxqEewExgCyiVh", + "coins": "1000.000000", + "hours": 6994818, + "calculated_hours": 7474084 + }, + { + "hash": "bca6e6b24cdabecd77186a61168dd3e2290b2fda1b7a79eb3856ca4cc9f589e2", + "time": 1429680646, + "block_seq": 126, + "src_tx": "a67ed00f815a2fd20d0efd18ac04663f0ee3d5621fbfdcdc6af250f19e3cfc53", + "address": "YLT4buWf3kYDV9QddnC5iXTj881Eniuvrx", + "coins": "990.000000", + "hours": 17310, + "calculated_hours": 538127 + }, + { + "hash": "e4a83076c2ce1bd83953c1c0443054d7f5b0843c551d35b3fc3c116e9a9134d7", + "time": 1429680646, + "block_seq": 126, + "src_tx": "a67ed00f815a2fd20d0efd18ac04663f0ee3d5621fbfdcdc6af250f19e3cfc53", + "address": "odhAMxHhXoBdx1RHNmfu7dTZ1LZivfsbiH", + "coins": "10.000000", + "hours": 17310, + "calculated_hours": 22570 + }, + { + "hash": "a08089cd67896683d5dcb2d50256354e0d086b9854eb22bb6022cc459d447211", + "time": 1429578056, + "block_seq": 125, + "src_tx": "1ca0a2d44b6439b91eb839e0f99405abdcafe2c1a49c8b49b1739498129bd1a6", + "address": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "12500.000000", + "hours": 92, + "calculated_hours": 6932286 + }, + { + "hash": "a4fdfce34725eb63941ac576651fa406272565a344ffb21435d285111efbc4db", + "time": 1429522086, + "block_seq": 124, + "src_tx": "e9a6dd585b564b19c55d9f56188a45bfad32fa75703fa6336830035f6fa92e3d", + "address": "v7Bma8dYdBMx7RQ2NohXXDUo7eR5TWBscF", + "coins": "5000.000000", + "hours": 739, + "calculated_hours": 2851352 + }, + { + "hash": "8e764a87cee9f26b902f748c28a5a49de5c383e5f155129eec84474a3d0349cc", + "time": 1429451746, + "block_seq": 123, + "src_tx": "9003d3caba9587d46d000cc614bb52bed34adcc5ea404c560c986eb6dd756e6b", + "address": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10000.000000", + "hours": 5916, + "calculated_hours": 5902532 + }, + { + "hash": "1e0cf4e3ed49b52944f533a212e6412291e369ac3e7a8c4440424f475f2983b3", + "time": 1429382898, + "block_seq": 122, + "src_tx": "211f5fc97ba1797d78f84d4e4db78415b5ff4121f78369535fe3f8015571c6df", + "address": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "36000.000000", + "hours": 47330, + "calculated_hours": 21963630 + }, + { + "hash": "e5596ef0ba04ad9e0adbe0355a24c6bef249654906f917b68f8f0cf072508674", + "time": 1429382678, + "block_seq": 121, + "src_tx": "da82deafc15c36e7dc9cd95663e0dc910ae626ee543147ac7bd8682be00f7baf", + "address": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "62000.000000", + "hours": 378646, + "calculated_hours": 38127173 + }, + { + "hash": "3f9712cab0d3aeb217f1751fa19e53d75f814b4218866d4e70d63f32271d2023", + "time": 1429364452, + "block_seq": 120, + "src_tx": "d1569ca879f98450a920a2b427ab0e1d21342308fb6b4ea5031ee6e718217183", + "address": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "38.000000", + "hours": 480, + "calculated_hours": 23808 + }, + { + "hash": "cbe8b620c1468dbb1e69e6da63831bde5828db313879a36f783a1f16f2b86541", + "time": 1429364282, + "block_seq": 119, + "src_tx": "4d080ff1f8ac21d8c09a2dca99d28ae88e9441d7a4757dca68469ad64838cb55", + "address": "38cVLswijqC2ANV5HxTroeapQzqeoBR88C", + "coins": "12.000000", + "hours": 3846, + "calculated_hours": 11213 + }, + { + "hash": "3408638af298419b14a49e8e9dd69e97c9a06827d74edf9f410a870662360b31", + "time": 1429364072, + "block_seq": 118, + "src_tx": "a83e09e976b038d86491d8c029aec84a6313dc33e692da6ce50a2858e50c4666", + "address": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "1045.000000", + "hours": 30769, + "calculated_hours": 672415 + }, + { + "hash": "2010952c33c83599fa14bfa5982d59865f2a362c97270dacb4c180a485ee5096", + "time": 1429351912, + "block_seq": 117, + "src_tx": "345488861ad3f0d93024c367990e64ef0f7a95bd8b8589f554172f9439808263", + "address": "8MQsjc5HYbSjPTZikFZYeHHDtLungBEHYS", + "coins": "10000.000000", + "hours": 20965, + "calculated_hours": 6194898 + }, + { + "hash": "6c34016037cd17622846e71bc635914d4d8f256c147aa5a0b84a896e83229480", + "time": 1429349392, + "block_seq": 116, + "src_tx": "491130fc9f69d101df220116356e82e2ff21dac1167e6da81c95dd4cc417b3d9", + "address": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26400.000000", + "hours": 64785, + "calculated_hours": 16382449 + }, + { + "hash": "ab12f4eadaf956be371ff8f239956e33d1cd2fd4b497ca04c9501baf6f241618", + "time": 1429349392, + "block_seq": 116, + "src_tx": "491130fc9f69d101df220116356e82e2ff21dac1167e6da81c95dd4cc417b3d9", + "address": "8MQsjc5HYbSjPTZikFZYeHHDtLungBEHYS", + "coins": "100.000000", + "hours": 64785, + "calculated_hours": 126594 + }, + { + "hash": "de995d2361e810cfba1b9b1141413367a722f51c7555b1685f6e68129dfb2679", + "time": 1429348712, + "block_seq": 115, + "src_tx": "bb700553c3e1a32346912ab311fa38793d929f311daeee0b167fa81c1369717e", + "address": "VD98Qt2f2UeUbUKcCJEaKxqEewExgCyiVh", + "coins": "100.000000", + "hours": 2712, + "calculated_hours": 64540 + }, + { + "hash": "5b0801ec545b132eeafa61bee8f645df7e1e358321ef830a4247fe541c211139", + "time": 1429348502, + "block_seq": 114, + "src_tx": "e8765b4e6fbca87144df59a6f66815b175e81999509504b117636edc34cbe2af", + "address": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "100.000000", + "hours": 21700, + "calculated_hours": 83534 + }, + { + "hash": "a7dc3318a975546b7662f0a867c60a4d7e9b4d1d89ab87be8c78b09ffe8852ff", + "time": 1429326351, + "block_seq": 110, + "src_tx": "552a4b194478325ee9f3e4a8648d94bc8eb26432be6fecc881bf71ff9ca15356", + "address": "aPF9pL9sVEiyEVhynp3s1dmqLetP1BJrW6", + "coins": "100.000000", + "hours": 17848, + "calculated_hours": 80297 + }, + { + "hash": "4ca22a0fa2acbd0c9e90c4ae83496d05e122deb1a17c670e9c785479d115e824", + "time": 1429302756, + "block_seq": 109, + "src_tx": "a4c15ae4743246709ec335d33c289576c8893e71f5c3dcee1db6e43eec9242ee", + "address": "Vq7DUM8vGL81QS8S4SXBNTBvLHpkLf9Eaj", + "coins": "3000.000000", + "hours": 7092, + "calculated_hours": 1900235 + }, + { + "hash": "9404837ee44bc6aaa8c1ad963c8fa7a050e497f89f941fdc7248930ed4e0d5a6", + "time": 1429280756, + "block_seq": 108, + "src_tx": "a8d6420d4f64fad1b698bd77cae5a92aa125f806fb184389edcc278e5cb460fa", + "address": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "100.000000", + "hours": 3457, + "calculated_hours": 67172 + }, + { + "hash": "ec4b791f2fa22a986d6035e34f5025c3da0398cb2acc59a54d495d4eaacdee8a", + "time": 1429280596, + "block_seq": 107, + "src_tx": "6546dfbe6e61e81f3e9f6c9afdfee1c07758f2e486d731ae4d19b40602367656", + "address": "2acnXsnJ2k8jxiUahtBe8h4xouPAnpbwwjc", + "coins": "100.000000", + "hours": 17411, + "calculated_hours": 81131 + }, + { + "hash": "3bfbe4e80894862d60a053ffb47b8f1749e281603cd6376c8fc6b5e2cec0c843", + "time": 1429279796, + "block_seq": 106, + "src_tx": "8de17dff34a8798f2ac89584f5c559e3bb82c280a3f6890386b4dbc5fef0e8cf", + "address": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "100.000000", + "hours": 139293, + "calculated_hours": 203035 + }, + { + "hash": "8f4435cc1cb45453f1ee8e836a74bdec313a6d3aa1879be24e2ba261d474bf36", + "time": 1429278556, + "block_seq": 105, + "src_tx": "41ec724bd40c852096379d1ae57d3f27606877fa95ac9c082fbf63900e6c5cb5", + "address": "v7Bma8dYdBMx7RQ2NohXXDUo7eR5TWBscF", + "coins": "100.000000", + "hours": 1861, + "calculated_hours": 65638 + }, + { + "hash": "52088c63431b6109537bce1e582775f319c9833990c94cc2e8e0dbb8b48b9c27", + "time": 1429278406, + "block_seq": 104, + "src_tx": "44d56cfa9f83d874ee10fb32f0d40458f6bf3e86528592c9a9abf3c960fcb278", + "address": "Vq7DUM8vGL81QS8S4SXBNTBvLHpkLf9Eaj", + "coins": "100.000000", + "hours": 13730, + "calculated_hours": 77511 + }, + { + "hash": "435c7095e2531b88feb76f32fc34fac3406882cdf71e17fecdba196aa5bc059a", + "time": 1429278106, + "block_seq": 103, + "src_tx": "9150311508851ca989efb5f82b5a7201724514b6b9f84ec1620c18673462126b", + "address": "WADSeEwEQVbtUy8CfcVimyxX1KjTRkvfoK", + "coins": "100.000000", + "hours": 12679, + "calculated_hours": 76468 + }, + { + "hash": "1f9fb89f5b7c41d3df6d72b1f02c998196bc79ec20c3949693b4f5a2c1aae44f", + "time": 1429165260, + "block_seq": 97, + "src_tx": "a689a3589730a351f880176b2c15b395967b38a90950e0491e7a1e5531f020a9", + "address": "2H7mA88ireMKHqP9LYWK5opnU176v7eYqrn", + "coins": "1000.000000", + "hours": 54, + "calculated_hours": 669295 + }, + { + "hash": "63768bd1402317f7d3f0a38c9897e609bb72b7d334e54bd4c609292487264c22", + "time": 1429164900, + "block_seq": 96, + "src_tx": "0301358c2db5314ca43c442bac3c1daf31f4b39f9ac9e22dc157687212cab703", + "address": "22Piwuzo8ZfoXfpMghhbzGz3ptmTeiDhLbg", + "coins": "1000.000000", + "hours": 220, + "calculated_hours": 669561 + }, + { + "hash": "f9653d496ee2e6499a68a1172e5d60b60758b1edcd02d95a3388b29e113a9041", + "time": 1429164880, + "block_seq": 95, + "src_tx": "c93f8bb30e75ffbc0075a4baf57a0f536e4a9123395b13ce67af5cd2dd0f8cd4", + "address": "2U1B6EE5ZCXWJJSyEndouuCk434xpvYqYDF", + "coins": "1000.000000", + "hours": 294, + "calculated_hours": 669640 + }, + { + "hash": "24c4cfc628a0f77ce2e878c6ffa9d4dbd85325f8a5e0b5df970a3a2c36033519", + "time": 1429164870, + "block_seq": 94, + "src_tx": "0f4958d590ed4ac9aca79d848731b358b1c01fab9717775cf6515f2bf2706dc8", + "address": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "1000.000000", + "hours": 1829, + "calculated_hours": 671178 + }, + { + "hash": "4a5c1b09ef2216ba2fdae735ec8c6ad404bb61bfbeb7407dee9d6e3578762ffb", + "time": 1429164860, + "block_seq": 93, + "src_tx": "e2d9da9342b21659da0a679536f9d6f533a4ce7dc33a7f768c3441ca3640458d", + "address": "2LZzgdFYNhsBBSLATkV6PA1zk6DvWNghP2", + "coins": "1000.000000", + "hours": 129, + "calculated_hours": 669481 + }, + { + "hash": "3109e04b5baef2423f4d6d2d639464286c24ef9defa612d3b598802d761b670a", + "time": 1429164850, + "block_seq": 92, + "src_tx": "54e65c445d0af9dda82085ca4bfe0f326ae54ea2a03bd37e07f81d937de97777", + "address": "ZWhZtjwXMS46cpDxfRwQyxxKPhqwsQu8oN", + "coins": "1000.000000", + "hours": 1529, + "calculated_hours": 670884 + }, + { + "hash": "535987a7896501a8a69c1904c0bf98e2ef1fc493bf998c78ee420ef154868731", + "time": 1429164830, + "block_seq": 91, + "src_tx": "98baeb9799902593d0f61ee22947089a798c6adafd05dc6a5ea918d982a19857", + "address": "2iJPqYVuQvFoG1pim4bjoyxWK8uwGmznWaV", + "coins": "1000.000000", + "hours": 2089, + "calculated_hours": 671449 + }, + { + "hash": "63154895637eb000146996ffaeb7cc1a547e409d0a2038650e990e7cc9b36826", + "time": 1429164800, + "block_seq": 89, + "src_tx": "a0956843d442bd4b592d0c1323d153c3c1b2d7d52a86629444de6d1d1b6a4c33", + "address": "XnKU1htBL5wFSMX8oytZBsBMeaBSbVNivT", + "coins": "1000.000000", + "hours": 635, + "calculated_hours": 670003 + }, + { + "hash": "f713b6bde2e1956615b23021d20aeb829611d231e2e85b8204c01e5719ac8639", + "time": 1429164790, + "block_seq": 88, + "src_tx": "efc98a4f94ffda2f1d6575048d75728f228a0bef0467c331f085a0f41f97ae45", + "address": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "1000.000000", + "hours": 11912, + "calculated_hours": 681283 + }, + { + "hash": "f98e302e74d8972254b1cdc4de3ca78ff1e60f3f1b7083af397f3bcb219e9454", + "time": 1429164730, + "block_seq": 87, + "src_tx": "cf5a1fad27f8f874f67d3162ae6347154c980ebd97c668d610280418f0f53ce7", + "address": "FtdApqw416skWtXM7ExanZWFmiHNPZ1Ft6", + "coins": "1000.000000", + "hours": 16162, + "calculated_hours": 685550 + }, + { + "hash": "ee69cfd4f15d16ded96745a35ef150f679b5b79cc0fd4009a2d02cdccd81ca3e", + "time": 1429164720, + "block_seq": 86, + "src_tx": "ca51f9d0a19bf326d6dd39a1e4dd240adaaae279411093d4a5b20f54cddabb95", + "address": "tG8F6fuw3KEUStpa85EFQDMHVw9piTzZ2g", + "coins": "1000.000000", + "hours": 2525, + "calculated_hours": 671916 + }, + { + "hash": "a733e89023ccc12587d0849f9baeda0d2fad640c1cbe97e24ffc531859fd83fd", + "time": 1429164480, + "block_seq": 83, + "src_tx": "d80d49958166fd7b35cee63cfc4a4fdd434484f9bfd9444f62a1b856da36e9c7", + "address": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "1000.000000", + "hours": 27495, + "calculated_hours": 696952 + }, + { + "hash": "9bfa6dd7ff610b2e8ba036594244e70d427398eab8607d39be0e45303d45d4d8", + "time": 1429164460, + "block_seq": 82, + "src_tx": "0ad2691de38a15ec31b0fbe9a0c1175138c9d7b7558db2f016a23619f3dbbc6d", + "address": "9vNYwzpjSgw4dRyTc7SAP4z9Jh8bhwURnu", + "coins": "1000.000000", + "hours": 93050, + "calculated_hours": 762513 + }, + { + "hash": "e16c0ebbfba61c49b0e98bf8336bc4d8a33ca30386c4d875bba2ec4bf4a59147", + "time": 1429148000, + "block_seq": 80, + "src_tx": "5db4378f5abcbb48774fc3731a164fb7bbdccf410c3ff829c5706e4d9ef1b1c6", + "address": "22WGCstVJGVyqnBuvGHt17L5aNNMpURvckd", + "coins": "1000.000000", + "hours": 8543, + "calculated_hours": 682578 + }, + { + "hash": "2a886bcedf8862c351cc4087b89e902202b08b164363567a9be47908e938f280", + "time": 1429147950, + "block_seq": 79, + "src_tx": "2558a7cd524acdb58f822a56bd51e8905182b2b35fbfdb1246ce6dc9930d14eb", + "address": "pMub1Pz3SLVaSwHoomgp5oDVxdkVxLkW6L", + "coins": "1000.000000", + "hours": 77792, + "calculated_hours": 751841 + }, + { + "hash": "ce4ca78d810564568c936554d0b6c1a50d91b273648314ffa3fcc1b2d72ac334", + "time": 1429147900, + "block_seq": 78, + "src_tx": "c1fb9372439d7f43d17809afc2d1bc9b2aa81fa9fccc1d837c79e649ec4843db", + "address": "sV8sVBgs11uHQtZK5MPbYem2iJ6Hehghv7", + "coins": "1000.000000", + "hours": 67976, + "calculated_hours": 742039 + }, + { + "hash": "08723ed501e11c2053bab6b500f820dd7ae2aeb4a3c9d5109845bb46afebde97", + "time": 1429147880, + "block_seq": 77, + "src_tx": "29798149e90f6442489bcc3294f455441a5a401e81491ed06bdc2c850756f0d9", + "address": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "1000.000000", + "hours": 976817, + "calculated_hours": 1650885 + }, + { + "hash": "50386f195b367f8261e66e3fdfbc942fbacfe25e117e554ca1c1caf899345476", + "time": 1429110544, + "block_seq": 76, + "src_tx": "5369348d67b2dd30dd9164657e372304f81ea10dfe1914ba874d46cd659f52c5", + "address": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "25045.000000", + "hours": 72043, + "calculated_hours": 17213842 + }, + { + "hash": "9c3119ad3edbd17a2135cac6d24ef43c6d7e599710b2aab4e97e731e64c13acb", + "time": 1429110544, + "block_seq": 76, + "src_tx": "5369348d67b2dd30dd9164657e372304f81ea10dfe1914ba874d46cd659f52c5", + "address": "9vNYwzpjSgw4dRyTc7SAP4z9Jh8bhwURnu", + "coins": "5.000000", + "hours": 72043, + "calculated_hours": 75465 + }, + { + "hash": "ead07056919be961a9e812a7832356d806d551096284648756b3642a3d4a5570", + "time": 1429096344, + "block_seq": 75, + "src_tx": "3122b6b29ac470bfa18fbd1ef6d5ff76717e18ba25374215a5003557b4524f22", + "address": "4EHiTjCsxQmt4wRy5yJxBMcxsM5yGqtuqu", + "coins": "45.000000", + "hours": 909, + "calculated_hours": 31886 + }, + { + "hash": "ec41341d4c9d69e150079550a9051c4cb7cc3e2da49deb2c0faaa632cb1958f8", + "time": 1429096344, + "block_seq": 75, + "src_tx": "3122b6b29ac470bfa18fbd1ef6d5ff76717e18ba25374215a5003557b4524f22", + "address": "j6pa8kdKqHbxRm2VXJVbzigQDFzqTVfvfq", + "coins": "5.000000", + "hours": 909, + "calculated_hours": 4350 + }, + { + "hash": "5f75082377566cf140c8f158e160ab6ecd1cdf02224c66865106fa1a75b39dc2", + "time": 1429091944, + "block_seq": 74, + "src_tx": "edca397ceedb5fb4462b0aff8fe7f9da5091a4e68f11a34c79daf2c5ae7dd748", + "address": "4EHiTjCsxQmt4wRy5yJxBMcxsM5yGqtuqu", + "coins": "955.000000", + "hours": 7273, + "calculated_hours": 665847 + }, + { + "hash": "3c56fa9d161783d6fe5c8b055c6d20bae27097e7bcc44d9ece5c94df182ee5bf", + "time": 1429077914, + "block_seq": 68, + "src_tx": "d803ab903f68f7861cd8eff93b3c097c5b8f6a697ca67bb01e7e645060839fd0", + "address": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "1000.000000", + "hours": 181, + "calculated_hours": 693684 + }, + { + "hash": "8bdd2662d7ed495ff82daef9198ee23ac0c75417607675a8da3dd673952c0e39", + "time": 1429077874, + "block_seq": 67, + "src_tx": "42227683dd9c149859d0578ab300d8509d513afadf7834fd8ae7a321cc07d833", + "address": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "1000.000000", + "hours": 1452, + "calculated_hours": 694967 + }, + { + "hash": "47c74a6d7f1f54cf0a7ac45ec00277539079810068dd95a29a202c43780d65a0", + "time": 1429077694, + "block_seq": 64, + "src_tx": "29c229c97d27bcaf842a367520e1916fb855921906bddf4a3b0413ad3f11517b", + "address": "PCAtFnGVujpALXB1Gqb9CEMRMVXfVGu6iM", + "coins": "1000.000000", + "hours": 1170, + "calculated_hours": 694735 + }, + { + "hash": "9011fbc6e82dce0656e7ffc76afb014d2ad70aa4663e7b687d3212e12f8965e2", + "time": 1429077684, + "block_seq": 63, + "src_tx": "8d10b0ba11d9dd63d3a3522bc35bd260e8da9109298aa488355ea7201eb961b7", + "address": "2jNYhHCuqQtU8kKkLf8ZZmKj6fywTL7fw2e", + "coins": "1000.000000", + "hours": 211, + "calculated_hours": 693778 + }, + { + "hash": "b9853ab091bdb295de20d765e9bce2d86870791a6a15b8ef9e9dddb71c4cba95", + "time": 1429077664, + "block_seq": 62, + "src_tx": "057ae2bee6e1fc2c9997d48aab3e348a7f17ad0305d6e6a14f4f663404b4a00a", + "address": "3iEkvqSQCNrm8tMVf5ABAx2Bp6EGL9wyMP", + "coins": "1000.000000", + "hours": 13, + "calculated_hours": 693586 + }, + { + "hash": "2480aeed2dc47c692e4bce61fb3ee44c4992ea39b0a167235e501330d7ddac62", + "time": 1429077654, + "block_seq": 61, + "src_tx": "4aeafd20b9df56ec852a2c257ff1630b9530d8375a4e72f20238ea36835f76d5", + "address": "3iEkvqSQCNrm8tMVf5ABAx2Bp6EGL9wyMP", + "coins": "1000.000000", + "hours": 1519, + "calculated_hours": 695095 + }, + { + "hash": "53d7b4778ee9b9537c0439666ca124d81bcaf4195d080ef61fade8c3eae6322e", + "time": 1429077614, + "block_seq": 59, + "src_tx": "4ce860140dbb5f90f39086b0c51323005145a95b365204bd33e3d90fbdc35f51", + "address": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "1000.000000", + "hours": 132, + "calculated_hours": 693719 + }, + { + "hash": "d58f3facfb4c9c9459e6fae3000886acb2b1f81322725cdc32cc09a49bb81e43", + "time": 1429077604, + "block_seq": 58, + "src_tx": "5d1cb86b48c8834c8c12fc36a83259609300f2f6a148faa1492a473cee21bc02", + "address": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "1000.000000", + "hours": 36, + "calculated_hours": 693626 + }, + { + "hash": "3b9059ec909faf64d652dae78944f4a2737df95a3215bf98e2ff33e02e2b377f", + "time": 1429077584, + "block_seq": 57, + "src_tx": "61a33b49e97bfe2d5f026bf45fae43a1b9bdf08c60ec8db017da720a69790c7f", + "address": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "1000.000000", + "hours": 1681, + "calculated_hours": 695276 + }, + { + "hash": "9e53268a18f8d32a44b4fb183033b49bebfe9d0da3bf3ef2ad1d560500aa54c6", + "time": 1429077554, + "block_seq": 56, + "src_tx": "8fba29db2e3e8cad785e723f95aa5fa46ae0dd8b2bb62586977f20e698642cfb", + "address": "vdLGAnCfbBkxabcVk6tEsa6RH99JTxdzbt", + "coins": "1000.000000", + "hours": 12696, + "calculated_hours": 706299 + }, + { + "hash": "2f1de81eaa83eda52d8eaf44b12599b23134a38b7d55f67de8881ddafbec278b", + "time": 1429077544, + "block_seq": 55, + "src_tx": "374f01de8274656147be0a23ccc5677773da6f32b071ee796bda0851b6dcd2ac", + "address": "2iwB1VmUWbCoVd4gNstB9LKctw3htFhVmuV", + "coins": "1000.000000", + "hours": 930, + "calculated_hours": 694536 + }, + { + "hash": "470b293870b663b84e1f677e1bc0e486d0b5f412b0562b078a7a1045f7785d7a", + "time": 1429077524, + "block_seq": 54, + "src_tx": "88d239f2584c78b73a1905fd0dcce3beabfdfc5a9c54518862b009e22e972c68", + "address": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "1000.000000", + "hours": 192, + "calculated_hours": 693804 + }, + { + "hash": "cec910b5d672e216db306389dc9ebb08f9d37485fbc3ac6aa7a8c37f60be844c", + "time": 1429077494, + "block_seq": 52, + "src_tx": "231254039042675300dbdd61a6ca54941214e383b5f6380323f848482b4f4628", + "address": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "1000.000000", + "hours": 1499, + "calculated_hours": 695119 + }, + { + "hash": "2f4daff744e7fd81ceea34ecfb0e383a65ecda1c55f32a0bef313d29b0795eab", + "time": 1429077484, + "block_seq": 51, + "src_tx": "814694a8e32f1c81b627f8eb704622c8893d197bf32bbd7e1bf73bec9a831d7d", + "address": "2acnXsnJ2k8jxiUahtBe8h4xouPAnpbwwjc", + "coins": "1000.000000", + "hours": 7343, + "calculated_hours": 700966 + }, + { + "hash": "5afa88b6a9ef9168d15d9a0bbc87dd5ab30badc01773460f92703a9c829358c0", + "time": 1429077474, + "block_seq": 50, + "src_tx": "be27621ad46680b343cc1406f5c6a1717704ce169e988ed7afb586f8112ae6f0", + "address": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "1000.000000", + "hours": 11972, + "calculated_hours": 705598 + }, + { + "hash": "85fcb22c416b7d430076bb80a324734cb97483cb4544192df252b89ba8f7fd61", + "time": 1429070414, + "block_seq": 44, + "src_tx": "ced30c4ac3107997efa90faa40c8baed47dafc8ddb4feae3ba21275401c36280", + "address": "9vNYwzpjSgw4dRyTc7SAP4z9Jh8bhwURnu", + "coins": "5.000000", + "hours": 33, + "calculated_hours": 3510 + }, + { + "hash": "e64fa1f60e905f1d7b7a8f0ca134ab2b7a467f7363ec9c03628d559e1230eb68", + "time": 1429070374, + "block_seq": 43, + "src_tx": "d368fc3112b522c52a5b191981ca52678cc7db29bdc3493cf551be88d109ef9c", + "address": "2apVG7f24ezDK13yCDTqBWYrTZpuj94KnCN", + "coins": "5.000000", + "hours": 265, + "calculated_hours": 3742 + }, + { + "hash": "3e475e76c226a70c87d030d8fc6b8b1c2cc654ba9eaf3bed08be5bd603aec0b7", + "time": 1429011137, + "block_seq": 27, + "src_tx": "cff53a059d55f2c90f6dd7ce7de2cc07cbdbd50b25867cba0f41cd0192614d0d", + "address": "bFTFUB3zdwZcwWQTewXZnVS7UykkTb7zqa", + "coins": "90.000000", + "hours": 70992, + "calculated_hours": 135076 + }, + { + "hash": "339aeec109a26bab65e618d73ebba16e5b8fc18f7dc1fe502ca891ad5b0f4d5f", + "time": 1429011077, + "block_seq": 26, + "src_tx": "56e7bd13dc4c6e1cd80aba66a0a9fed650d0646659ac774e3f1b415848755d85", + "address": "bFTFUB3zdwZcwWQTewXZnVS7UykkTb7zqa", + "coins": "10.000000", + "hours": 567938, + "calculated_hours": 575058 + }, + { + "hash": "ebedac42a639f0d0a196b47676cb757b95046f0403f74baa5b15e98753ee2d58", + "time": 1428991665, + "block_seq": 25, + "src_tx": "917510897f5d8a018ad8d447876a15e2e1f68d42e71b6f75d89b02c4a599c537", + "address": "2bvEzLx4mgyQkYL5bkSc2rD9V1nqWBqn8vp", + "coins": "2.000000", + "hours": 0, + "calculated_hours": 1434 + }, + { + "hash": "f910d0e633735df5f041fdb7ffcb9cc8988b71c9375c52ababb54238be4d6852", + "time": 1428991665, + "block_seq": 25, + "src_tx": "917510897f5d8a018ad8d447876a15e2e1f68d42e71b6f75d89b02c4a599c537", + "address": "Kb9SqqTVA3XyQjZYb4wYrBVUeZWRKEQyzZ", + "coins": "1.000000", + "hours": 0, + "calculated_hours": 717 + }, + { + "hash": "fbe00b341f3e798c3e7e5eea04ffd8f3e70f0e78bc38f9a4927bae7eed6a1411", + "time": 1428991635, + "block_seq": 24, + "src_tx": "f935cd91736604989c08448a2d83d6b044c3198ac1a7483a3b9846f8848a7d84", + "address": "Kb9SqqTVA3XyQjZYb4wYrBVUeZWRKEQyzZ", + "coins": "2.000000", + "hours": 0, + "calculated_hours": 1434 + }, + { + "hash": "e55a8d2ebe0f48f17a175fdd67d47deb5015b2ee8e91de16b2b121c8ad830e40", + "time": 1428990135, + "block_seq": 20, + "src_tx": "22766105d0f93d01fed7bed2dcabedfd89fe846621c912b0af845d8ba5d265f8", + "address": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "5.000000", + "hours": 0, + "calculated_hours": 3589 + }, + { + "hash": "b56517b7803a4b2cca522e1cca5f75894db174c97d0e127826f5414544eccb72", + "time": 1428990115, + "block_seq": 19, + "src_tx": "c6eccf17b4b952f19548b1924126c9dc409b45f9e6fcc0954a3494e7399f5fd4", + "address": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "5.000000", + "hours": 0, + "calculated_hours": 3589 + }, + { + "hash": "0b720d05d44354ff0c6c75d55f1cd4e5945bc2ca80f2ba840545205362202925", + "time": 1428820629, + "block_seq": 16, + "src_tx": "e96e157b685c28847d6758e2ba326ad59cf2661c926fb08000d4b40d78a9eee3", + "address": "ZWhZtjwXMS46cpDxfRwQyxxKPhqwsQu8oN", + "coins": "2.000000", + "hours": 0, + "calculated_hours": 1529 + }, + { + "hash": "e72d8ba4ce2d3b37aeb71df2e3bed80ee07204b3fa633f56cbce7bca836bd39c", + "time": 1428820629, + "block_seq": 16, + "src_tx": "e96e157b685c28847d6758e2ba326ad59cf2661c926fb08000d4b40d78a9eee3", + "address": "PRXLNyB64cqaiG4pCoFZZ8Tuv7LWYPpa7m", + "coins": "3.000000", + "hours": 0, + "calculated_hours": 2294 + }, + { + "hash": "9e8997e53d2e61955da71dbbc6ba5b0da799eaace0f45870a4e42276a6fdaefa", + "time": 1428807711, + "block_seq": 9, + "src_tx": "9d87d7bb9e56a3588bacb478c7556280b28c0a49f6e09db8b54a84c20d865f2f", + "address": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "5.000000", + "hours": 0, + "calculated_hours": 3842 + }, + { + "hash": "1f810bdd1c65ad50f27f2c47a000150877fdba2fdb78b9d8cae39946be6a9e33", + "time": 1428807691, + "block_seq": 8, + "src_tx": "7229422f3a0afb5f3a9596ed50146440c17a3d54abda0f3c70cd9dc58de96374", + "address": "WADSeEwEQVbtUy8CfcVimyxX1KjTRkvfoK", + "coins": "5.000000", + "hours": 0, + "calculated_hours": 3842 + }, + { + "hash": "f9e7a412cdff80e95ddbe1d76fcc73f967cb99d383b0659e1355c8e623f02b62", + "time": 1428807671, + "block_seq": 7, + "src_tx": "f832428481690fa918d6d29946e191f2c8c89b2388a906e0c53dceee6070a24b", + "address": "WADSeEwEQVbtUy8CfcVimyxX1KjTRkvfoK", + "coins": "5.000000", + "hours": 0, + "calculated_hours": 3842 + }, + { + "hash": "01048ad6a538256d9a8c6c9c6321ca1a01b31cbf08e74fd4ff0f141bf97eb8ce", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "TtAaxB3qGz5zEAhhiGkBY9VPV7cekhvRYS", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "044dc539d063250dc654b2bf0986a9044b4eea05e1284c11a2b313acd8dc3498", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "FEGxF3HPoM2HCWHn82tyeh9o7vEQq5ySGE", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "07f70fd4108ef4d2fde3b85411728c1f7bd3a135d2062c5a30a46cc885463780", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "4Ebf4PkG9QEnQTm4MVvaZvJV6Y9av3jhgb", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "0b95850edabed70762768ac1695c5d7f230cccaa8de06657cda42cafba36374f", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2NRFe7REtSmaM2qAgZeG45hC8EtVGV2QjeB", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "0c238e82f3a4beee1be7b5b464e8553404f6927d5ab93c3d649d362c01097782", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "tBaeg9zE2sgmw5ZQENaPPYd6jfwpVpGTzS", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "0c956289db079c00d2f80c590d3c8ca26c37da534fe5f65e799b3982ceca493c", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2cc9wKxCsFNRkoAQDAoHke3ZoyL1mSV14cj", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "0cff53628eb0e984c134b68cbe4b1bb7721a05adaa32e93b9df489a9a7a176cf", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2fi8oLC9zfVVGnzzQtu3Y3rffS65Hiz6QHo", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "12034bc455d0821813d7eb9afed1ed1a8f19b6f29826ef4a057b4aa0b4228817", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "hSNgHgewJme8uaHrEuKubHYtYSDckD6hpf", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "131f07f5b40f365fb537b863e4aa5ef0efcd77b7fa2ff321d90eeb743ac43678", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "WV2ap7ZubTxeDdmEZ1Xo7ufGMkekLWikJu", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "135c28698e80e3b2a737d59c16c79684c3fb3ec5cec59f466a39f4ac3c73968e", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2UYPbDBnHUEc67e7qD4eXtQQ6zfU2cyvAvk", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "13afe1586015c4d7312f89d123153279e4961eb0d53a4d036847d5d989ba90dc", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "m2joQiJRZnj3jN6NsoKNxaxzUTijkdRoSR", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "1550a76598693b950346397e0e825bbb2805edde38b0d0240e50050829b7b1dd", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2MQJjLnWRp9eHh6MpCwpiUeshhtmri12mci", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "178a33e64826cd2039b8538b74e6de513966acab45ab79d77dc9392018a65ffb", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "286hSoJYxvENFSHwG51ZbmKaochLJyq4ERQ", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "18a43b8b69bbf12a9e49e6f9783ba258397e6567301aeed9e901a1e4fed9fef9", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "1941e5cc5e38dd92427580af699b1f410be7b29ff17d3d0ff3d046bfba0aaabf", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2Ugii5yxJgLzC59jV1vF8GK7UBZdvxwobeJ", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "239bdba27dabd52f7450f7d8521c9a7e5ac74093ae3f6f2348bf40ac9a6db7a5", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2RkPshpFFrkuaP98GprLtgHFTGvPY5e6wCK", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "246377a036ad5444bcd5f47ac9e55fec7c85fc40644df593038d360554a809f7", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "24EG6uTzL7DHNzcwsygYGRR1nfu5kco7AZ1", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "25e22bb83c51f766571cf92ec7303071c9f25e3a34366f4679a22519e6ec368b", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "26f585cb96f35307f0af5b9aee004a29b7795695f4c5c836104e2fbbf429a3ce", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2EYM4WFHe4Dgz6kjAdUkM6Etep7ruz2ia6h", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "2a4d631d5dc90e397d85f13410d1a6d877dcaf592a0e2be2e727443ac74b5bd5", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "bw4wtYU8toepomrhWP2p8UFYfHBbvEV425", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "2c0e3aa084f5fec45f99b3f125ce7d50c6da526ef5165df5f22ba603147c3fc2", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "cA49et9WtptYHf6wA1F8qqVgH3kS5jJ9vK", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "368a609ee90ca15bbbd297af07dc6705131764476d54bef641017ffcd0885e65", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "tWZ11Nvor9parjg4FkwxNVcby59WVTw2iL", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "38f22b194f04d85a6b545b37df06195edeb8503798b229ddeaa946018150c05c", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "4CW2CPJEzxhn2PS4JoSLoWGL5QQ7dL2eji", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "390bc4c045fa9f289957b7eca529bfadac96a7dd074bcfbdd3b09e99413b8202", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2g3GUmTQooLrNHaRDhKtLU8rWLz36Beow7F", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "3ca365aace71e24b04d6f2ffbf7171468c5e71783858c710cae539c5e43e0c0e", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "3iFGBKapAWWzbiGFSr5ScbhrEPm6Esyvia", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "401d4c0c1060ebbb4b9fb3859c2eb47789f94086f4deb01234bf46f7cdc81247", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "USdfKy7B6oFNoauHWMmoCA7ND9rHqYw2Mf", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "439cdfd03972fb4bb5da54208cf8098ee78228c487ce9e84623f5f83e17a7d68", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "445a4082da251fa161e4705d115fe2018ca15a5f92e8a0950793405410e6be12", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2Nu5Jv5Wp3RYGJU1EkjWFFHnebxMx1GjfkF", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "44e17f4bd29411a1614457171c06183e364bf6ff80a201717b2dfc0748e9ebe3", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "SbApuZAYquWP3Q6iD51BcMBQjuApYEkRVf", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "4628f4cfdbf1eb7cccc25d461c46cc29e90cffb5d6277e0de641f7701d60c308", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "JbM25o7kY7hqJZt3WGYu9pHZFCpA9TCR6t", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "466340ab7733abb23ab24d877c673fe089c273f11808fbbd6f33a91da92ee96c", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2QjRQUMyL6iodtHP9zKmxCNYZ7k3jxtk49C", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "47e4706dc4d80a70b20c889476fb0627ca6d5bdaa790f4ceba44a689d31b2dcc", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2efrft5Lnwjtk7F1p9d7BnPd72zko2hQWNi", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "4ba91512c168281f41d3934b927d0d86a3136a31cc345b635095928f8e5f013c", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "A1QU6jKq8YgTP79M8fwZNHUZc7hConFKmy", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "4f30eae8c49eb268fe364eaf5ee0788da6e2f6adc2f83cd82e96a4bfe98496f5", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "22pyn5RyhqtTQu4obYjuWYRNNw4i54L8xVr", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "5010eb25f6e1ed725fb901ae1e945e545ae846d7be8a135333d2d41102c33328", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "Wkvima5cF7DDFdmJQqcdq8Syaq9DuAJJRD", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "550d2a8d3047cdae0c05a61cc3de43e758b123a6955fa067d3ac375f7d0dbadc", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "29k9g3F5AYfVaa1joE1PpZjBED6hQXes8Mm", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "5a69ef09b5de21b117cac62141a8de4eade7558c42f0ba8b50996f5ec7867c5d", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "ix44h3cojvN6nqGcdpy62X7Rw6Ahnr3Thk", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "5e35182bc9372d898df106bb2e7b3dfe33d28e59082f5d19d4a84ac0012d1291", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "618d242d95d33e2d7316612a164d89859b85f1287f0d5bed4dcb561cf478f706", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "orrAssY5V2HuQAbW9K6WktFrGieq2m23pr", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "6384ed19650d384c29db4c3a39a1ca855058fab758075be2dee759dd9e6faae1", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2W2cGyiCRM4nwmmiGPgMuGaPGeBzEm7VZPn", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "66e685901492c94942522c346759c711ee2e78a059ef274e77a6ab433409683c", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "693c7f970b34ce5882e62430f4c9c28957159a257d27d4e21a61fd95c6b97464", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2ayCELBERubQWH5QxUr3cTxrYpidvUAzsSw", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "6a24135f8496e7a37dcf7164218bb3aa530319f3b2bf3c7a1a9cc1bd17831328", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "25NbotTka7TwtbXUpSCQD8RMgHKspyDubXJ", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "6aa162f7fc09598c4dc8f5fab7fb2383f28c3840937a001acd9f37136e1691b2", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "D3phtGr9iv6238b3zYXq6VgwrzwvfRzWZQ", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "6b3530bb930ed10bbc4c307663aba4377c08443498a0a2cf023b1be72f378ae1", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "oz4ytDKbCqpgjW3LPc52pW2CaK2gxCcWmL", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "6d37c0c4b6fcbac1e53a46c9c2dc5d3c3b36312c53f25b2baacc785ea77a11f7", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "28J4mx8xfUtM92DbQ6i2Jmqw5J7dNivfroN", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "73304622e33994bc2d4ade2cab78d28e1b65185e60ad3c781ecfb5cbc8159136", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2iZWk5tmBynWxj2PpAFyiZzEws9qSnG3a6n", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "745eaff456a390c3868742a039e72c2a93ff8eee10417dbe848d533b89facc04", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "oQzn55UWG4iMcY9bTNb27aTnRdfiGHAwbD", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "78740d5bf49989936d315bf641949232aace582e03de57db8abff940f7d51bd1", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2XPLzz4ZLf1A9ykyTCjW5gEmVjnWa8CuatH", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "78b07e8fe1366e173f2eeb75c35cd53baf0f6100de50ae12b4ffe7d0d7ba4298", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "26uCBDfF8E2PJU2Dzz2ysgKwv9m4BhodTz9", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "7b8787fd4076c27d074d2a4761377a1aa26c843c432e3b7e6b0ebf1e29528188", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2Xvm6is5cAPA85xnSYXDuAqiRyoXiky5RaD", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "7c767d3a06db1ac0e1809ebe29a7d9689143259f4651837de54423e287c20490", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "25RGnhN7VojHUTvQBJA9nBT5y1qTQGULMzR", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "8753d5775c22477a8ef74eeebf61d7de30be702e70118f552cc18ad963ffe950", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "22dkmukC6iH4FFLBmHne6modJZZQ3MC9BAT", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "883be4d7173c235933294ab8dcae8cc76609166eaa1c1f07e9b51d551c979709", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "RJzzwUs3c9C8Y7NFYzNfFoqiUKeBhBfPki", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "8b379d1b8ff0153c63ee69c40a7155b97fa42ab570f68ff847d457316c4d8ab9", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "GEBWJ2KpRQDBTCCtvnaAJV2cYurgXS8pta", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "8b53c7188ebf4d630790ff63275679ba48009e31af6e4fe15806619216caa750", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "MXJx96ZJVSjktgeYZpVK8vn1H3xWP8ooq5", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "8cd999cd193d315e5f1c6f74c230c12e6abe6847924f6e89d988e09ca413f52e", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2bJ32KuGmjmwKyAtzWdLFpXNM6t83CCPLq5", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "8d55f76bb0b3dd222cf85a7193501c0f4071b446f56dbd1da355b1625993325a", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "6NSJKsPxmqipGAfFFhUKbkopjrvEESTX3j", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "98e223e6e2240fef83082d3daa86e46f10e0c71f3f74489ba95db0951a166f53", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2WojewRA3LbpyXTP9ANy8CZqJMgmyNm3MDr", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "9ba5e31610f0545666f102465efa8caa48ad3fb5b8abd5ae802f4a71e3f7de3b", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "gQvgyG1djgtftoCVrSZmsRxr7okD4LheKw", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "9f2c83c5165826de1077f428ad39d41473e32ed64cd83180d49e7d8e5db996d0", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "iH7DqqojTgUn2JxmY9hgFp165Nk7wKfan9", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "9fd5ea38f383291566def44b6fb932414f97123952578fe0cfb9a30eb075a099", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "h38DxNxGhWGTq9p5tJnN5r4Fwnn85Krrb6", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "a5ef046e84be9ff2485dde49afe6073811286761afac3bbd588b6e4130930479", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "TKD93RxFr2Am44TntLiJQus4qcEwTtvEEQ", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "aef761a12e3d0fa9c4a8db62b8bab1015c32931b7e3a7fc9a77282cec218f79d", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "AYV8KEBEAPCg8a59cHgqHMqYHP9nVgQDyW", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "af9bcf6ba63a08e699bc101aa362f135343aaf78a56e9f88d118fca0e1ce5c08", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "7Uf5xJ3GkiEKaLxC2WmJ1t6SeekJeBdJfu", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "b2da50a08756c34d059a04812451cf3296f73ba87f8cca38473ac8f051ab6d1e", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "sgB3n11ZPUYHToju6TWMpUZTUcKvQnoFMJ", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "b497992663f99f9902deaaf487b00655820003015ea92091628f4a6e8aeb5854", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "KPfqM6S96WtRLMuSy4XLfVwymVqivdcDoM", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "b4c6639b49402c2753f83c7fb7d3ffa65da74e47fef2b781933ff55b14d09bcd", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "wyQVmno9aBJZmQ99nDSLoYWwp7YDJCWsrH", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "b64bc50d370a06df117eb543ca051239c985cfc4b6aa527c51b700de32c7fc41", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "Syzmb3MiMoiNVpqFdQ38hWgffHg86D2J4e", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "bc40377012004566712fa860e74db97305091cc163e95435e04556c70d32f9c5", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "5B98bU1nsedGJBdRD5wLtq7Z8t8ZXio8u5", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "bc5f1f1ddc8cb23df3d42f1e5a1dda9d356846fe930ae4484bc1eeb1b3b2c95b", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2fM5gVpi7XaiMPm4i29zddTNkmrKe6TzhVZ", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "be5930e9cc35801433bcd21db84da7d4f1d8e744feca16a2c6fb00c81ce93e51", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2c1UU8J6Y3kL4cmQh21Tj8wkzidCiZxwdwd", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "c008a613cef129c180dbcc7213f2d41a14d245d06a3844d63d9beac963145385", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "RMTCwLiYDKEAiJu5ekHL1NQ8UKHi5ozCPg", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "c416f5e604eeada9ae8e520a429d8f19d4230626769e7121007e01353730784f", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "q9RkXoty3X1fuaypDDRUi78rWgJWYJMmpJ", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "c6d5e543ff5f2c2526728d588fb21753db5b7e05b8b275aa5e9b24d29350afb0", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "KghGnWw5fppTrqHSERXZf61yf7GkuQdCnV", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "c858f2db2a20ac562d32f8fb2a3a11039849a6e44d2bec30befb2e173532a9a3", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "NFW2akQH2vu7AqkQXxFz2P5vkXTWkSqrSm", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "c8971ca91f8e21c556f647940073db003f7dd5582ae55d4ebca602d5e8e91a6e", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2BsMfywmGV3M2CoDA112Rs7ZBkiMHfy9X11", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "cc84f93adce16699d9e84ef32f55333402431b58dc50c17084bcb8b33f382f88", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "oS8fbEm82cprmAeineBeDkaKd7QownDZQh", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "cd6c4b785e60757fad0e6fd4874b729ea7703fe7ee9560e1283d2eb71fc75321", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "9TC4RGs6AtFUsbcVWnSoCdoCpSfM66ALAc", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "cdee5f84c4f08098ac740e3a260ced14c1e199e126aa5291ec079b281a7dc407", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "zMDywYdGEDtTSvWnCyc3qsYHWwj9ogws74", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "d2e724d83e35235c23c0bb16ae9b708a5bba3c23b186b05d4b8c606f6bb4b311", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "qaJT9TjcMi46sTKcgwRQU8o5Lw2Ea1gC4N", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "d2f3f050c9ef31bf5c3b14c1c71699c4f4b38aa18479531194d12e6277416516", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2GCdwsRpQhcf8SQcynFrMVDM26Bbj6sgv9M", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "d60879e562b65f97d40bec7309d4490ba0a8c80e2349ecb2e3505aaa50ea1e47", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "Ak1qCDNudRxZVvcW6YDAdD9jpYNNStAVqm", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "dad4991bfa5c51eb176f28c1b3f86661e02579905e6e07c997df22004e06244a", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2hdTw5Hk3rsgpZjvk8TyKcCZoRVXU5QVrUt", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "df63056cf3ae21efa86d241876ad0194387317585dc9e4fcd80954b47d59b57a", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "wybwGC9rhm8ZssBuzpy5goXrAdE31MPdsj", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "dfa7822c05f54116c9fc3b2cde1ecb4667f47a2d8771fe886e832c223cdc4e82", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "kK1Q4gPyYfVVMzQtAPRzL8qXMqJ67Y7tKs", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "e440cf4c896735d3299a871f988c134f404fb2065d1f20c87c9c9bc5fa582e09", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "gpqsFSuMCZmsjPc6Rtgy1FmLx424tH86My", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "e936299a21240744f6edbab493449323f920bbe15dcf294463e5a2ace10f27b0", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "HvgNmDz5jD39Gwmi9VfDY1iYMhZUpZ8GKz", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "eea791e84a53e4d99485519c5d2c3146b0a2ad080cf92904ae7b28c2d9a6e3ca", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2EUF3GPEUmfocnUc1w6YPtqXVCy3UZA4rAq", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "efa2007c561dcbf7c83a6bbdd2ef75e7cca76b05330a8b948ba0dd94dee949f7", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "z6CJZfYLvmd41GRVE8HASjRcy5hqbpHZvE", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "efde499c7e4444bc602b7bf5ed50e95a18ce8ec9a06ba9d850a05bb7a25ecb3a", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "cuC68ycVXmD2EBzYFNYQ6akhKGrh3FGjSf", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "f03087245a6b64bb69cd5866a1887ae595a9e1a86e196754984840eaf6d3eb9c", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "ix3NDKgxfYYANKAb5kbmwBYXPrkAsha7uG", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "f38f0760769c19075034f70b059abf4d1bfa6d01e1e8c369a99900ed1eaeca6d", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "rQpAs1LVQdphyj9ipEAuukAoj9kNpSP8cM", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "f625cf04412199c16e073dbb500e66c23cfe69043578b4a2d879a329aac563ec", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "8yf8PAQqU2cDj8Yzgz3LgBEyDqjvCh2xR7", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "fc444cdb2598f44209a41ea20afdc9065ebe51b7cd5f65bb1c0f7a7b427ce7b1", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2DeK765jLgnMweYrMp1NaYHfzxumfR1PaQN", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "fd6da5199e528958e68ee8dd003b727d4d840754ea7c1e0c05e4f0e504c9b2cd", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "2ex5Z7TufQ5Z8xv5mXe53fSQRfUr35SSo7Q", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "fed15e8506d0e0898510311850b8863ef6d9a499215ae8823a1e3fb9c8140ab2", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "XUGdPaVnMh7jtzPe3zkrf9FKh5nztFnQU5", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "ff6c0f27fcf92f3b4a3871b801c3116847fe47a7e3bafcadd4855d06012091ad", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "21N2iJ1qnQRiJWcEqNRxXwfNp8QcmiyhtPy", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + }, + { + "hash": "ffbdfdbf3427d04f445c33e867845bec1ee64a9dfe0d0fa8284547c2226fdfa9", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "ckCTV4r1pNuz6j2VBRHhaJN9HsCLY7muLV", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + } + ], + "outgoing_outputs": [], + "incoming_outputs": [] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-150-include-distribution.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-150-include-distribution.golden new file mode 100755 index 0000000..87d270c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-150-include-distribution.golden @@ -0,0 +1,754 @@ +{ + "richlist": [ + { + "address": "21N2iJ1qnQRiJWcEqNRxXwfNp8QcmiyhtPy", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "22dkmukC6iH4FFLBmHne6modJZZQ3MC9BAT", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "22pyn5RyhqtTQu4obYjuWYRNNw4i54L8xVr", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "24EG6uTzL7DHNzcwsygYGRR1nfu5kco7AZ1", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "25NbotTka7TwtbXUpSCQD8RMgHKspyDubXJ", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "25RGnhN7VojHUTvQBJA9nBT5y1qTQGULMzR", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "26uCBDfF8E2PJU2Dzz2ysgKwv9m4BhodTz9", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "286hSoJYxvENFSHwG51ZbmKaochLJyq4ERQ", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "28J4mx8xfUtM92DbQ6i2Jmqw5J7dNivfroN", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "29k9g3F5AYfVaa1joE1PpZjBED6hQXes8Mm", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2BsMfywmGV3M2CoDA112Rs7ZBkiMHfy9X11", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2DeK765jLgnMweYrMp1NaYHfzxumfR1PaQN", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2GCdwsRpQhcf8SQcynFrMVDM26Bbj6sgv9M", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2MQJjLnWRp9eHh6MpCwpiUeshhtmri12mci", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2NRFe7REtSmaM2qAgZeG45hC8EtVGV2QjeB", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2QjRQUMyL6iodtHP9zKmxCNYZ7k3jxtk49C", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2Ugii5yxJgLzC59jV1vF8GK7UBZdvxwobeJ", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2W2cGyiCRM4nwmmiGPgMuGaPGeBzEm7VZPn", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2WojewRA3LbpyXTP9ANy8CZqJMgmyNm3MDr", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2XPLzz4ZLf1A9ykyTCjW5gEmVjnWa8CuatH", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2Xvm6is5cAPA85xnSYXDuAqiRyoXiky5RaD", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2ayCELBERubQWH5QxUr3cTxrYpidvUAzsSw", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2bJ32KuGmjmwKyAtzWdLFpXNM6t83CCPLq5", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2c1UU8J6Y3kL4cmQh21Tj8wkzidCiZxwdwd", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2cc9wKxCsFNRkoAQDAoHke3ZoyL1mSV14cj", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2ex5Z7TufQ5Z8xv5mXe53fSQRfUr35SSo7Q", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2fi8oLC9zfVVGnzzQtu3Y3rffS65Hiz6QHo", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2hdTw5Hk3rsgpZjvk8TyKcCZoRVXU5QVrUt", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2iZWk5tmBynWxj2PpAFyiZzEws9qSnG3a6n", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "3iFGBKapAWWzbiGFSr5ScbhrEPm6Esyvia", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "4CW2CPJEzxhn2PS4JoSLoWGL5QQ7dL2eji", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "4Ebf4PkG9QEnQTm4MVvaZvJV6Y9av3jhgb", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "5B98bU1nsedGJBdRD5wLtq7Z8t8ZXio8u5", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "6NSJKsPxmqipGAfFFhUKbkopjrvEESTX3j", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "7Uf5xJ3GkiEKaLxC2WmJ1t6SeekJeBdJfu", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "9TC4RGs6AtFUsbcVWnSoCdoCpSfM66ALAc", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "A1QU6jKq8YgTP79M8fwZNHUZc7hConFKmy", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "FEGxF3HPoM2HCWHn82tyeh9o7vEQq5ySGE", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "GEBWJ2KpRQDBTCCtvnaAJV2cYurgXS8pta", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "HvgNmDz5jD39Gwmi9VfDY1iYMhZUpZ8GKz", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "KPfqM6S96WtRLMuSy4XLfVwymVqivdcDoM", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "KghGnWw5fppTrqHSERXZf61yf7GkuQdCnV", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "MXJx96ZJVSjktgeYZpVK8vn1H3xWP8ooq5", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "NFW2akQH2vu7AqkQXxFz2P5vkXTWkSqrSm", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "RJzzwUs3c9C8Y7NFYzNfFoqiUKeBhBfPki", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "RMTCwLiYDKEAiJu5ekHL1NQ8UKHi5ozCPg", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "SbApuZAYquWP3Q6iD51BcMBQjuApYEkRVf", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "TKD93RxFr2Am44TntLiJQus4qcEwTtvEEQ", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "USdfKy7B6oFNoauHWMmoCA7ND9rHqYw2Mf", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "WV2ap7ZubTxeDdmEZ1Xo7ufGMkekLWikJu", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "Wkvima5cF7DDFdmJQqcdq8Syaq9DuAJJRD", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "XUGdPaVnMh7jtzPe3zkrf9FKh5nztFnQU5", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "bw4wtYU8toepomrhWP2p8UFYfHBbvEV425", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "cA49et9WtptYHf6wA1F8qqVgH3kS5jJ9vK", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "ckCTV4r1pNuz6j2VBRHhaJN9HsCLY7muLV", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "cuC68ycVXmD2EBzYFNYQ6akhKGrh3FGjSf", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "gQvgyG1djgtftoCVrSZmsRxr7okD4LheKw", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "h38DxNxGhWGTq9p5tJnN5r4Fwnn85Krrb6", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "hSNgHgewJme8uaHrEuKubHYtYSDckD6hpf", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "iH7DqqojTgUn2JxmY9hgFp165Nk7wKfan9", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "kK1Q4gPyYfVVMzQtAPRzL8qXMqJ67Y7tKs", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "oQzn55UWG4iMcY9bTNb27aTnRdfiGHAwbD", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "oS8fbEm82cprmAeineBeDkaKd7QownDZQh", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "orrAssY5V2HuQAbW9K6WktFrGieq2m23pr", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "oz4ytDKbCqpgjW3LPc52pW2CaK2gxCcWmL", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "q9RkXoty3X1fuaypDDRUi78rWgJWYJMmpJ", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "qaJT9TjcMi46sTKcgwRQU8o5Lw2Ea1gC4N", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "rQpAs1LVQdphyj9ipEAuukAoj9kNpSP8cM", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "tBaeg9zE2sgmw5ZQENaPPYd6jfwpVpGTzS", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "wyQVmno9aBJZmQ99nDSLoYWwp7YDJCWsrH", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "z6CJZfYLvmd41GRVE8HASjRcy5hqbpHZvE", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "zMDywYdGEDtTSvWnCyc3qsYHWwj9ogws74", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2EUF3GPEUmfocnUc1w6YPtqXVCy3UZA4rAq", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2EYM4WFHe4Dgz6kjAdUkM6Etep7ruz2ia6h", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2Nu5Jv5Wp3RYGJU1EkjWFFHnebxMx1GjfkF", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2RkPshpFFrkuaP98GprLtgHFTGvPY5e6wCK", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2UYPbDBnHUEc67e7qD4eXtQQ6zfU2cyvAvk", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2efrft5Lnwjtk7F1p9d7BnPd72zko2hQWNi", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2fM5gVpi7XaiMPm4i29zddTNkmrKe6TzhVZ", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2g3GUmTQooLrNHaRDhKtLU8rWLz36Beow7F", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "8yf8PAQqU2cDj8Yzgz3LgBEyDqjvCh2xR7", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "AYV8KEBEAPCg8a59cHgqHMqYHP9nVgQDyW", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "Ak1qCDNudRxZVvcW6YDAdD9jpYNNStAVqm", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "D3phtGr9iv6238b3zYXq6VgwrzwvfRzWZQ", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "JbM25o7kY7hqJZt3WGYu9pHZFCpA9TCR6t", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "Syzmb3MiMoiNVpqFdQ38hWgffHg86D2J4e", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "TtAaxB3qGz5zEAhhiGkBY9VPV7cekhvRYS", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "gpqsFSuMCZmsjPc6Rtgy1FmLx424tH86My", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "ix3NDKgxfYYANKAb5kbmwBYXPrkAsha7uG", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "ix44h3cojvN6nqGcdpy62X7Rw6Ahnr3Thk", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "m2joQiJRZnj3jN6NsoKNxaxzUTijkdRoSR", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "sgB3n11ZPUYHToju6TWMpUZTUcKvQnoFMJ", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "tWZ11Nvor9parjg4FkwxNVcby59WVTw2iL", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "wybwGC9rhm8ZssBuzpy5goXrAdE31MPdsj", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "615700.000000", + "locked": false + }, + { + "address": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "63083.000000", + "locked": false + }, + { + "address": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "38105.000000", + "locked": false + }, + { + "address": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "27045.000000", + "locked": false + }, + { + "address": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "27000.000000", + "locked": false + }, + { + "address": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26400.000000", + "locked": false + }, + { + "address": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "locked": false + }, + { + "address": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "22000.000000", + "locked": false + }, + { + "address": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "21500.000000", + "locked": false + }, + { + "address": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "18000.000000", + "locked": false + }, + { + "address": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "14600.000000", + "locked": false + }, + { + "address": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "12000.000000", + "locked": false + }, + { + "address": "8MQsjc5HYbSjPTZikFZYeHHDtLungBEHYS", + "coins": "10100.000000", + "locked": false + }, + { + "address": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "10060.000000", + "locked": false + }, + { + "address": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10000.000000", + "locked": false + }, + { + "address": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "6700.000000", + "locked": false + }, + { + "address": "v7Bma8dYdBMx7RQ2NohXXDUo7eR5TWBscF", + "coins": "5100.000000", + "locked": false + }, + { + "address": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "4955.000000", + "locked": false + }, + { + "address": "2iwB1VmUWbCoVd4gNstB9LKctw3htFhVmuV", + "coins": "3400.000000", + "locked": false + }, + { + "address": "Vq7DUM8vGL81QS8S4SXBNTBvLHpkLf9Eaj", + "coins": "3100.000000", + "locked": false + }, + { + "address": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "3000.000000", + "locked": false + }, + { + "address": "2iJPqYVuQvFoG1pim4bjoyxWK8uwGmznWaV", + "coins": "3000.000000", + "locked": false + }, + { + "address": "3iEkvqSQCNrm8tMVf5ABAx2Bp6EGL9wyMP", + "coins": "3000.000000", + "locked": false + }, + { + "address": "vdLGAnCfbBkxabcVk6tEsa6RH99JTxdzbt", + "coins": "3000.000000", + "locked": false + }, + { + "address": "22WGCstVJGVyqnBuvGHt17L5aNNMpURvckd", + "coins": "2000.000000", + "locked": false + }, + { + "address": "PCAtFnGVujpALXB1Gqb9CEMRMVXfVGu6iM", + "coins": "2000.000000", + "locked": false + }, + { + "address": "XnKU1htBL5wFSMX8oytZBsBMeaBSbVNivT", + "coins": "2000.000000", + "locked": false + }, + { + "address": "pMub1Pz3SLVaSwHoomgp5oDVxdkVxLkW6L", + "coins": "2000.000000", + "locked": false + }, + { + "address": "tG8F6fuw3KEUStpa85EFQDMHVw9piTzZ2g", + "coins": "2000.000000", + "locked": false + }, + { + "address": "2jNYhHCuqQtU8kKkLf8ZZmKj6fywTL7fw2e", + "coins": "1500.000000", + "locked": false + }, + { + "address": "YLT4buWf3kYDV9QddnC5iXTj881Eniuvrx", + "coins": "1290.000000", + "locked": false + }, + { + "address": "2acnXsnJ2k8jxiUahtBe8h4xouPAnpbwwjc", + "coins": "1100.000000", + "locked": false + }, + { + "address": "VD98Qt2f2UeUbUKcCJEaKxqEewExgCyiVh", + "coins": "1100.000000", + "locked": false + }, + { + "address": "sV8sVBgs11uHQtZK5MPbYem2iJ6Hehghv7", + "coins": "1100.000000", + "locked": false + }, + { + "address": "9vNYwzpjSgw4dRyTc7SAP4z9Jh8bhwURnu", + "coins": "1010.000000", + "locked": false + }, + { + "address": "ZWhZtjwXMS46cpDxfRwQyxxKPhqwsQu8oN", + "coins": "1002.000000", + "locked": false + }, + { + "address": "212mwY3Dmey6vwnWpiph99zzCmopXTqeVEN", + "coins": "1000.000000", + "locked": false + }, + { + "address": "22Piwuzo8ZfoXfpMghhbzGz3ptmTeiDhLbg", + "coins": "1000.000000", + "locked": false + }, + { + "address": "2H7mA88ireMKHqP9LYWK5opnU176v7eYqrn", + "coins": "1000.000000", + "locked": false + }, + { + "address": "2LZzgdFYNhsBBSLATkV6PA1zk6DvWNghP2", + "coins": "1000.000000", + "locked": false + }, + { + "address": "2U1B6EE5ZCXWJJSyEndouuCk434xpvYqYDF", + "coins": "1000.000000", + "locked": false + }, + { + "address": "4EHiTjCsxQmt4wRy5yJxBMcxsM5yGqtuqu", + "coins": "1000.000000", + "locked": false + }, + { + "address": "CDD8GoJUHEvBm1pD3BQ3hEC2KcJNhvUzpu", + "coins": "1000.000000", + "locked": false + }, + { + "address": "FtdApqw416skWtXM7ExanZWFmiHNPZ1Ft6", + "coins": "1000.000000", + "locked": false + }, + { + "address": "2kN23viEG7Kn3Utuwz9voM4Z8ohLR9Y8L2v", + "coins": "500.000000", + "locked": false + }, + { + "address": "WADSeEwEQVbtUy8CfcVimyxX1KjTRkvfoK", + "coins": "110.000000", + "locked": false + }, + { + "address": "2A2YC8kxWnUDbscpzZ6UPfNAmx5ddKBeYNs", + "coins": "100.000000", + "locked": false + }, + { + "address": "aPF9pL9sVEiyEVhynp3s1dmqLetP1BJrW6", + "coins": "100.000000", + "locked": false + }, + { + "address": "bFTFUB3zdwZcwWQTewXZnVS7UykkTb7zqa", + "coins": "100.000000", + "locked": false + }, + { + "address": "38cVLswijqC2ANV5HxTroeapQzqeoBR88C", + "coins": "12.000000", + "locked": false + }, + { + "address": "odhAMxHhXoBdx1RHNmfu7dTZ1LZivfsbiH", + "coins": "10.000000", + "locked": false + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-8.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-8.golden new file mode 100755 index 0000000..7aade80 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-8.golden @@ -0,0 +1,44 @@ +{ + "richlist": [ + { + "address": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "63083.000000", + "locked": false + }, + { + "address": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "38105.000000", + "locked": false + }, + { + "address": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "27045.000000", + "locked": false + }, + { + "address": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "27000.000000", + "locked": false + }, + { + "address": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26400.000000", + "locked": false + }, + { + "address": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "locked": false + }, + { + "address": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "22000.000000", + "locked": false + }, + { + "address": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "21500.000000", + "locked": false + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-all-include-distribution.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-all-include-distribution.golden new file mode 100755 index 0000000..24d5177 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-all-include-distribution.golden @@ -0,0 +1,779 @@ +{ + "richlist": [ + { + "address": "21N2iJ1qnQRiJWcEqNRxXwfNp8QcmiyhtPy", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "22dkmukC6iH4FFLBmHne6modJZZQ3MC9BAT", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "22pyn5RyhqtTQu4obYjuWYRNNw4i54L8xVr", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "24EG6uTzL7DHNzcwsygYGRR1nfu5kco7AZ1", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "25NbotTka7TwtbXUpSCQD8RMgHKspyDubXJ", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "25RGnhN7VojHUTvQBJA9nBT5y1qTQGULMzR", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "26uCBDfF8E2PJU2Dzz2ysgKwv9m4BhodTz9", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "286hSoJYxvENFSHwG51ZbmKaochLJyq4ERQ", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "28J4mx8xfUtM92DbQ6i2Jmqw5J7dNivfroN", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "29k9g3F5AYfVaa1joE1PpZjBED6hQXes8Mm", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2BsMfywmGV3M2CoDA112Rs7ZBkiMHfy9X11", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2DeK765jLgnMweYrMp1NaYHfzxumfR1PaQN", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2GCdwsRpQhcf8SQcynFrMVDM26Bbj6sgv9M", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2MQJjLnWRp9eHh6MpCwpiUeshhtmri12mci", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2NRFe7REtSmaM2qAgZeG45hC8EtVGV2QjeB", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2QjRQUMyL6iodtHP9zKmxCNYZ7k3jxtk49C", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2Ugii5yxJgLzC59jV1vF8GK7UBZdvxwobeJ", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2W2cGyiCRM4nwmmiGPgMuGaPGeBzEm7VZPn", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2WojewRA3LbpyXTP9ANy8CZqJMgmyNm3MDr", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2XPLzz4ZLf1A9ykyTCjW5gEmVjnWa8CuatH", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2Xvm6is5cAPA85xnSYXDuAqiRyoXiky5RaD", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2ayCELBERubQWH5QxUr3cTxrYpidvUAzsSw", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2bJ32KuGmjmwKyAtzWdLFpXNM6t83CCPLq5", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2c1UU8J6Y3kL4cmQh21Tj8wkzidCiZxwdwd", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2cc9wKxCsFNRkoAQDAoHke3ZoyL1mSV14cj", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2ex5Z7TufQ5Z8xv5mXe53fSQRfUr35SSo7Q", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2fi8oLC9zfVVGnzzQtu3Y3rffS65Hiz6QHo", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2hdTw5Hk3rsgpZjvk8TyKcCZoRVXU5QVrUt", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "2iZWk5tmBynWxj2PpAFyiZzEws9qSnG3a6n", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "3iFGBKapAWWzbiGFSr5ScbhrEPm6Esyvia", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "4CW2CPJEzxhn2PS4JoSLoWGL5QQ7dL2eji", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "4Ebf4PkG9QEnQTm4MVvaZvJV6Y9av3jhgb", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "5B98bU1nsedGJBdRD5wLtq7Z8t8ZXio8u5", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "6NSJKsPxmqipGAfFFhUKbkopjrvEESTX3j", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "7Uf5xJ3GkiEKaLxC2WmJ1t6SeekJeBdJfu", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "9TC4RGs6AtFUsbcVWnSoCdoCpSfM66ALAc", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "A1QU6jKq8YgTP79M8fwZNHUZc7hConFKmy", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "FEGxF3HPoM2HCWHn82tyeh9o7vEQq5ySGE", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "GEBWJ2KpRQDBTCCtvnaAJV2cYurgXS8pta", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "HvgNmDz5jD39Gwmi9VfDY1iYMhZUpZ8GKz", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "KPfqM6S96WtRLMuSy4XLfVwymVqivdcDoM", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "KghGnWw5fppTrqHSERXZf61yf7GkuQdCnV", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "MXJx96ZJVSjktgeYZpVK8vn1H3xWP8ooq5", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "NFW2akQH2vu7AqkQXxFz2P5vkXTWkSqrSm", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "RJzzwUs3c9C8Y7NFYzNfFoqiUKeBhBfPki", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "RMTCwLiYDKEAiJu5ekHL1NQ8UKHi5ozCPg", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "SbApuZAYquWP3Q6iD51BcMBQjuApYEkRVf", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "TKD93RxFr2Am44TntLiJQus4qcEwTtvEEQ", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "USdfKy7B6oFNoauHWMmoCA7ND9rHqYw2Mf", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "WV2ap7ZubTxeDdmEZ1Xo7ufGMkekLWikJu", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "Wkvima5cF7DDFdmJQqcdq8Syaq9DuAJJRD", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "XUGdPaVnMh7jtzPe3zkrf9FKh5nztFnQU5", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "bw4wtYU8toepomrhWP2p8UFYfHBbvEV425", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "cA49et9WtptYHf6wA1F8qqVgH3kS5jJ9vK", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "ckCTV4r1pNuz6j2VBRHhaJN9HsCLY7muLV", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "cuC68ycVXmD2EBzYFNYQ6akhKGrh3FGjSf", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "gQvgyG1djgtftoCVrSZmsRxr7okD4LheKw", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "h38DxNxGhWGTq9p5tJnN5r4Fwnn85Krrb6", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "hSNgHgewJme8uaHrEuKubHYtYSDckD6hpf", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "iH7DqqojTgUn2JxmY9hgFp165Nk7wKfan9", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "kK1Q4gPyYfVVMzQtAPRzL8qXMqJ67Y7tKs", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "oQzn55UWG4iMcY9bTNb27aTnRdfiGHAwbD", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "oS8fbEm82cprmAeineBeDkaKd7QownDZQh", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "orrAssY5V2HuQAbW9K6WktFrGieq2m23pr", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "oz4ytDKbCqpgjW3LPc52pW2CaK2gxCcWmL", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "q9RkXoty3X1fuaypDDRUi78rWgJWYJMmpJ", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "qaJT9TjcMi46sTKcgwRQU8o5Lw2Ea1gC4N", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "rQpAs1LVQdphyj9ipEAuukAoj9kNpSP8cM", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "tBaeg9zE2sgmw5ZQENaPPYd6jfwpVpGTzS", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "wyQVmno9aBJZmQ99nDSLoYWwp7YDJCWsrH", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "z6CJZfYLvmd41GRVE8HASjRcy5hqbpHZvE", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "zMDywYdGEDtTSvWnCyc3qsYHWwj9ogws74", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2EUF3GPEUmfocnUc1w6YPtqXVCy3UZA4rAq", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2EYM4WFHe4Dgz6kjAdUkM6Etep7ruz2ia6h", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2Nu5Jv5Wp3RYGJU1EkjWFFHnebxMx1GjfkF", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2RkPshpFFrkuaP98GprLtgHFTGvPY5e6wCK", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2UYPbDBnHUEc67e7qD4eXtQQ6zfU2cyvAvk", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2efrft5Lnwjtk7F1p9d7BnPd72zko2hQWNi", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2fM5gVpi7XaiMPm4i29zddTNkmrKe6TzhVZ", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "2g3GUmTQooLrNHaRDhKtLU8rWLz36Beow7F", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "8yf8PAQqU2cDj8Yzgz3LgBEyDqjvCh2xR7", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "AYV8KEBEAPCg8a59cHgqHMqYHP9nVgQDyW", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "Ak1qCDNudRxZVvcW6YDAdD9jpYNNStAVqm", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "D3phtGr9iv6238b3zYXq6VgwrzwvfRzWZQ", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "JbM25o7kY7hqJZt3WGYu9pHZFCpA9TCR6t", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "Syzmb3MiMoiNVpqFdQ38hWgffHg86D2J4e", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "TtAaxB3qGz5zEAhhiGkBY9VPV7cekhvRYS", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "gpqsFSuMCZmsjPc6Rtgy1FmLx424tH86My", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "ix3NDKgxfYYANKAb5kbmwBYXPrkAsha7uG", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "ix44h3cojvN6nqGcdpy62X7Rw6Ahnr3Thk", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "m2joQiJRZnj3jN6NsoKNxaxzUTijkdRoSR", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "sgB3n11ZPUYHToju6TWMpUZTUcKvQnoFMJ", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "tWZ11Nvor9parjg4FkwxNVcby59WVTw2iL", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "wybwGC9rhm8ZssBuzpy5goXrAdE31MPdsj", + "coins": "1000000.000000", + "locked": false + }, + { + "address": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "615700.000000", + "locked": false + }, + { + "address": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "63083.000000", + "locked": false + }, + { + "address": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "38105.000000", + "locked": false + }, + { + "address": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "27045.000000", + "locked": false + }, + { + "address": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "27000.000000", + "locked": false + }, + { + "address": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26400.000000", + "locked": false + }, + { + "address": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "locked": false + }, + { + "address": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "22000.000000", + "locked": false + }, + { + "address": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "21500.000000", + "locked": false + }, + { + "address": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "18000.000000", + "locked": false + }, + { + "address": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "14600.000000", + "locked": false + }, + { + "address": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "12000.000000", + "locked": false + }, + { + "address": "8MQsjc5HYbSjPTZikFZYeHHDtLungBEHYS", + "coins": "10100.000000", + "locked": false + }, + { + "address": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "10060.000000", + "locked": false + }, + { + "address": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10000.000000", + "locked": false + }, + { + "address": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "6700.000000", + "locked": false + }, + { + "address": "v7Bma8dYdBMx7RQ2NohXXDUo7eR5TWBscF", + "coins": "5100.000000", + "locked": false + }, + { + "address": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "4955.000000", + "locked": false + }, + { + "address": "2iwB1VmUWbCoVd4gNstB9LKctw3htFhVmuV", + "coins": "3400.000000", + "locked": false + }, + { + "address": "Vq7DUM8vGL81QS8S4SXBNTBvLHpkLf9Eaj", + "coins": "3100.000000", + "locked": false + }, + { + "address": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "3000.000000", + "locked": false + }, + { + "address": "2iJPqYVuQvFoG1pim4bjoyxWK8uwGmznWaV", + "coins": "3000.000000", + "locked": false + }, + { + "address": "3iEkvqSQCNrm8tMVf5ABAx2Bp6EGL9wyMP", + "coins": "3000.000000", + "locked": false + }, + { + "address": "vdLGAnCfbBkxabcVk6tEsa6RH99JTxdzbt", + "coins": "3000.000000", + "locked": false + }, + { + "address": "22WGCstVJGVyqnBuvGHt17L5aNNMpURvckd", + "coins": "2000.000000", + "locked": false + }, + { + "address": "PCAtFnGVujpALXB1Gqb9CEMRMVXfVGu6iM", + "coins": "2000.000000", + "locked": false + }, + { + "address": "XnKU1htBL5wFSMX8oytZBsBMeaBSbVNivT", + "coins": "2000.000000", + "locked": false + }, + { + "address": "pMub1Pz3SLVaSwHoomgp5oDVxdkVxLkW6L", + "coins": "2000.000000", + "locked": false + }, + { + "address": "tG8F6fuw3KEUStpa85EFQDMHVw9piTzZ2g", + "coins": "2000.000000", + "locked": false + }, + { + "address": "2jNYhHCuqQtU8kKkLf8ZZmKj6fywTL7fw2e", + "coins": "1500.000000", + "locked": false + }, + { + "address": "YLT4buWf3kYDV9QddnC5iXTj881Eniuvrx", + "coins": "1290.000000", + "locked": false + }, + { + "address": "2acnXsnJ2k8jxiUahtBe8h4xouPAnpbwwjc", + "coins": "1100.000000", + "locked": false + }, + { + "address": "VD98Qt2f2UeUbUKcCJEaKxqEewExgCyiVh", + "coins": "1100.000000", + "locked": false + }, + { + "address": "sV8sVBgs11uHQtZK5MPbYem2iJ6Hehghv7", + "coins": "1100.000000", + "locked": false + }, + { + "address": "9vNYwzpjSgw4dRyTc7SAP4z9Jh8bhwURnu", + "coins": "1010.000000", + "locked": false + }, + { + "address": "ZWhZtjwXMS46cpDxfRwQyxxKPhqwsQu8oN", + "coins": "1002.000000", + "locked": false + }, + { + "address": "212mwY3Dmey6vwnWpiph99zzCmopXTqeVEN", + "coins": "1000.000000", + "locked": false + }, + { + "address": "22Piwuzo8ZfoXfpMghhbzGz3ptmTeiDhLbg", + "coins": "1000.000000", + "locked": false + }, + { + "address": "2H7mA88ireMKHqP9LYWK5opnU176v7eYqrn", + "coins": "1000.000000", + "locked": false + }, + { + "address": "2LZzgdFYNhsBBSLATkV6PA1zk6DvWNghP2", + "coins": "1000.000000", + "locked": false + }, + { + "address": "2U1B6EE5ZCXWJJSyEndouuCk434xpvYqYDF", + "coins": "1000.000000", + "locked": false + }, + { + "address": "4EHiTjCsxQmt4wRy5yJxBMcxsM5yGqtuqu", + "coins": "1000.000000", + "locked": false + }, + { + "address": "CDD8GoJUHEvBm1pD3BQ3hEC2KcJNhvUzpu", + "coins": "1000.000000", + "locked": false + }, + { + "address": "FtdApqw416skWtXM7ExanZWFmiHNPZ1Ft6", + "coins": "1000.000000", + "locked": false + }, + { + "address": "2kN23viEG7Kn3Utuwz9voM4Z8ohLR9Y8L2v", + "coins": "500.000000", + "locked": false + }, + { + "address": "WADSeEwEQVbtUy8CfcVimyxX1KjTRkvfoK", + "coins": "110.000000", + "locked": false + }, + { + "address": "2A2YC8kxWnUDbscpzZ6UPfNAmx5ddKBeYNs", + "coins": "100.000000", + "locked": false + }, + { + "address": "aPF9pL9sVEiyEVhynp3s1dmqLetP1BJrW6", + "coins": "100.000000", + "locked": false + }, + { + "address": "bFTFUB3zdwZcwWQTewXZnVS7UykkTb7zqa", + "coins": "100.000000", + "locked": false + }, + { + "address": "38cVLswijqC2ANV5HxTroeapQzqeoBR88C", + "coins": "12.000000", + "locked": false + }, + { + "address": "odhAMxHhXoBdx1RHNmfu7dTZ1LZivfsbiH", + "coins": "10.000000", + "locked": false + }, + { + "address": "2apVG7f24ezDK13yCDTqBWYrTZpuj94KnCN", + "coins": "5.000000", + "locked": false + }, + { + "address": "j6pa8kdKqHbxRm2VXJVbzigQDFzqTVfvfq", + "coins": "5.000000", + "locked": false + }, + { + "address": "Kb9SqqTVA3XyQjZYb4wYrBVUeZWRKEQyzZ", + "coins": "3.000000", + "locked": false + }, + { + "address": "PRXLNyB64cqaiG4pCoFZZ8Tuv7LWYPpa7m", + "coins": "3.000000", + "locked": false + }, + { + "address": "2bvEzLx4mgyQkYL5bkSc2rD9V1nqWBqn8vp", + "coins": "2.000000", + "locked": false + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-all.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-all.golden new file mode 100755 index 0000000..c6bb6a9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-all.golden @@ -0,0 +1,279 @@ +{ + "richlist": [ + { + "address": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "63083.000000", + "locked": false + }, + { + "address": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "38105.000000", + "locked": false + }, + { + "address": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "27045.000000", + "locked": false + }, + { + "address": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "27000.000000", + "locked": false + }, + { + "address": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26400.000000", + "locked": false + }, + { + "address": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "locked": false + }, + { + "address": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "22000.000000", + "locked": false + }, + { + "address": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "21500.000000", + "locked": false + }, + { + "address": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "18000.000000", + "locked": false + }, + { + "address": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "14600.000000", + "locked": false + }, + { + "address": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "12000.000000", + "locked": false + }, + { + "address": "8MQsjc5HYbSjPTZikFZYeHHDtLungBEHYS", + "coins": "10100.000000", + "locked": false + }, + { + "address": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "10060.000000", + "locked": false + }, + { + "address": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10000.000000", + "locked": false + }, + { + "address": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "6700.000000", + "locked": false + }, + { + "address": "v7Bma8dYdBMx7RQ2NohXXDUo7eR5TWBscF", + "coins": "5100.000000", + "locked": false + }, + { + "address": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "4955.000000", + "locked": false + }, + { + "address": "2iwB1VmUWbCoVd4gNstB9LKctw3htFhVmuV", + "coins": "3400.000000", + "locked": false + }, + { + "address": "Vq7DUM8vGL81QS8S4SXBNTBvLHpkLf9Eaj", + "coins": "3100.000000", + "locked": false + }, + { + "address": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "3000.000000", + "locked": false + }, + { + "address": "2iJPqYVuQvFoG1pim4bjoyxWK8uwGmznWaV", + "coins": "3000.000000", + "locked": false + }, + { + "address": "3iEkvqSQCNrm8tMVf5ABAx2Bp6EGL9wyMP", + "coins": "3000.000000", + "locked": false + }, + { + "address": "vdLGAnCfbBkxabcVk6tEsa6RH99JTxdzbt", + "coins": "3000.000000", + "locked": false + }, + { + "address": "22WGCstVJGVyqnBuvGHt17L5aNNMpURvckd", + "coins": "2000.000000", + "locked": false + }, + { + "address": "PCAtFnGVujpALXB1Gqb9CEMRMVXfVGu6iM", + "coins": "2000.000000", + "locked": false + }, + { + "address": "XnKU1htBL5wFSMX8oytZBsBMeaBSbVNivT", + "coins": "2000.000000", + "locked": false + }, + { + "address": "pMub1Pz3SLVaSwHoomgp5oDVxdkVxLkW6L", + "coins": "2000.000000", + "locked": false + }, + { + "address": "tG8F6fuw3KEUStpa85EFQDMHVw9piTzZ2g", + "coins": "2000.000000", + "locked": false + }, + { + "address": "2jNYhHCuqQtU8kKkLf8ZZmKj6fywTL7fw2e", + "coins": "1500.000000", + "locked": false + }, + { + "address": "YLT4buWf3kYDV9QddnC5iXTj881Eniuvrx", + "coins": "1290.000000", + "locked": false + }, + { + "address": "2acnXsnJ2k8jxiUahtBe8h4xouPAnpbwwjc", + "coins": "1100.000000", + "locked": false + }, + { + "address": "VD98Qt2f2UeUbUKcCJEaKxqEewExgCyiVh", + "coins": "1100.000000", + "locked": false + }, + { + "address": "sV8sVBgs11uHQtZK5MPbYem2iJ6Hehghv7", + "coins": "1100.000000", + "locked": false + }, + { + "address": "9vNYwzpjSgw4dRyTc7SAP4z9Jh8bhwURnu", + "coins": "1010.000000", + "locked": false + }, + { + "address": "ZWhZtjwXMS46cpDxfRwQyxxKPhqwsQu8oN", + "coins": "1002.000000", + "locked": false + }, + { + "address": "212mwY3Dmey6vwnWpiph99zzCmopXTqeVEN", + "coins": "1000.000000", + "locked": false + }, + { + "address": "22Piwuzo8ZfoXfpMghhbzGz3ptmTeiDhLbg", + "coins": "1000.000000", + "locked": false + }, + { + "address": "2H7mA88ireMKHqP9LYWK5opnU176v7eYqrn", + "coins": "1000.000000", + "locked": false + }, + { + "address": "2LZzgdFYNhsBBSLATkV6PA1zk6DvWNghP2", + "coins": "1000.000000", + "locked": false + }, + { + "address": "2U1B6EE5ZCXWJJSyEndouuCk434xpvYqYDF", + "coins": "1000.000000", + "locked": false + }, + { + "address": "4EHiTjCsxQmt4wRy5yJxBMcxsM5yGqtuqu", + "coins": "1000.000000", + "locked": false + }, + { + "address": "CDD8GoJUHEvBm1pD3BQ3hEC2KcJNhvUzpu", + "coins": "1000.000000", + "locked": false + }, + { + "address": "FtdApqw416skWtXM7ExanZWFmiHNPZ1Ft6", + "coins": "1000.000000", + "locked": false + }, + { + "address": "2kN23viEG7Kn3Utuwz9voM4Z8ohLR9Y8L2v", + "coins": "500.000000", + "locked": false + }, + { + "address": "WADSeEwEQVbtUy8CfcVimyxX1KjTRkvfoK", + "coins": "110.000000", + "locked": false + }, + { + "address": "2A2YC8kxWnUDbscpzZ6UPfNAmx5ddKBeYNs", + "coins": "100.000000", + "locked": false + }, + { + "address": "aPF9pL9sVEiyEVhynp3s1dmqLetP1BJrW6", + "coins": "100.000000", + "locked": false + }, + { + "address": "bFTFUB3zdwZcwWQTewXZnVS7UykkTb7zqa", + "coins": "100.000000", + "locked": false + }, + { + "address": "38cVLswijqC2ANV5HxTroeapQzqeoBR88C", + "coins": "12.000000", + "locked": false + }, + { + "address": "odhAMxHhXoBdx1RHNmfu7dTZ1LZivfsbiH", + "coins": "10.000000", + "locked": false + }, + { + "address": "2apVG7f24ezDK13yCDTqBWYrTZpuj94KnCN", + "coins": "5.000000", + "locked": false + }, + { + "address": "j6pa8kdKqHbxRm2VXJVbzigQDFzqTVfvfq", + "coins": "5.000000", + "locked": false + }, + { + "address": "Kb9SqqTVA3XyQjZYb4wYrBVUeZWRKEQyzZ", + "coins": "3.000000", + "locked": false + }, + { + "address": "PRXLNyB64cqaiG4pCoFZZ8Tuv7LWYPpa7m", + "coins": "3.000000", + "locked": false + }, + { + "address": "2bvEzLx4mgyQkYL5bkSc2rD9V1nqWBqn8vp", + "coins": "2.000000", + "locked": false + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-default.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-default.golden new file mode 100755 index 0000000..b4f4a1d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/richlist-default.golden @@ -0,0 +1,104 @@ +{ + "richlist": [ + { + "address": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "63083.000000", + "locked": false + }, + { + "address": "LzniV6G4nVVvRBNo7NcCUvAz1Tzo5MajqZ", + "coins": "38105.000000", + "locked": false + }, + { + "address": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "27045.000000", + "locked": false + }, + { + "address": "bNQHMc2nM8x2fssmyUp6QWY1ow6LzB7kZz", + "coins": "27000.000000", + "locked": false + }, + { + "address": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26400.000000", + "locked": false + }, + { + "address": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "locked": false + }, + { + "address": "wLhHnBXzdhzFcuWRmfLCG5DTnPVEtHdhzB", + "coins": "22000.000000", + "locked": false + }, + { + "address": "G5XZCdcjcnKqPkeLjZShMz112avsgSo8EW", + "coins": "21500.000000", + "locked": false + }, + { + "address": "wYRMGKCkEpWD3v9Pz3Lqvk3u5HJpp4YaGK", + "coins": "18000.000000", + "locked": false + }, + { + "address": "2hVtXZWjGWsTfrV1Tj4KLaxCfiAoBzqw1Vw", + "coins": "14600.000000", + "locked": false + }, + { + "address": "2j7twMgd2kfeU2Jww37cWH7GY79hX73MSVs", + "coins": "12000.000000", + "locked": false + }, + { + "address": "8MQsjc5HYbSjPTZikFZYeHHDtLungBEHYS", + "coins": "10100.000000", + "locked": false + }, + { + "address": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "10060.000000", + "locked": false + }, + { + "address": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "10000.000000", + "locked": false + }, + { + "address": "2J3rWX7pciQwmvcATSnxEeCHRs1mSkWmt4L", + "coins": "6700.000000", + "locked": false + }, + { + "address": "v7Bma8dYdBMx7RQ2NohXXDUo7eR5TWBscF", + "coins": "5100.000000", + "locked": false + }, + { + "address": "NGLS4CYvBdV9HXJDpeY8jrdQDqLeBvfAwc", + "coins": "4955.000000", + "locked": false + }, + { + "address": "2iwB1VmUWbCoVd4gNstB9LKctw3htFhVmuV", + "coins": "3400.000000", + "locked": false + }, + { + "address": "Vq7DUM8vGL81QS8S4SXBNTBvLHpkLf9Eaj", + "coins": "3100.000000", + "locked": false + }, + { + "address": "2ZZHJVrHvkSrUL4bDpjaqnfq6oHYzbgxghD", + "coins": "3000.000000", + "locked": false + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/single-addr.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/single-addr.golden new file mode 100755 index 0000000..f93e7b5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/single-addr.golden @@ -0,0 +1,220 @@ +[ + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 128, + "block_seq": 53, + "unknown": false + }, + "time": 1429077514, + "txn": { + "length": 220, + "type": 0, + "txid": "d154d8262abbf517c67d529b0fea7cdf097433bd296d5795b17c6379cb1b1430", + "inner_hash": "b69070b10e6bbc276bf155361d7f3238fec46b9d865075c1dc0fc20d81ab0a42", + "timestamp": 1429077514, + "sigs": [ + "0a4b7f385a164f5718794382d49c14a6623e7af5f1ddbefe4871c756b754457a7075e822603bd3b22b313278abebe756be92367ef7a81a8c4adf992842c2058601" + ], + "inputs": [ + "e6d9b56e075a6adf520d1ae7fbab9ae06353ae0b93dc8cb17d82cc3628009a50" + ], + "outputs": [ + { + "uxid": "2df1e88589be43c55d7c6c3dbcbd663fb759b3245eb8d86b0b9cdaa989556aea", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "943750.000000", + "hours": 2964 + }, + { + "uxid": "c7919b892eeb751456d456b37ccde7350a3fca0dda03b17ec426a56f12dcf192", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "1000.000000", + "hours": 2964 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 108, + "block_seq": 73, + "unknown": false + }, + "time": 1429091164, + "txn": { + "length": 220, + "type": 0, + "txid": "a95317361364e8cc08a150840bac8a97ea1f56278f8834ca2a2f16c24c4a7f0f", + "inner_hash": "90c166e92a7883037f9634704923d986976ac814f28e4761309bf86d77cdb755", + "timestamp": 1429091164, + "sigs": [ + "27ee3b614e5362462bc20c23e873e380b5bcc880053436a640286ead5fe2dcd00094e0eade532ffbfc8ba95d5e3540968b2fff64e19e0e772342aceb3c5d3ce100" + ], + "inputs": [ + "c7919b892eeb751456d456b37ccde7350a3fca0dda03b17ec426a56f12dcf192" + ], + "outputs": [ + { + "uxid": "7b132c07322babefa83ab64971b7bfb29bf2cb9ffe9c42dc7e2975a185dcd8b8", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "995.000000", + "hours": 387 + }, + { + "uxid": "8f52e126bbc359bc3bfd230d82649c3d1c622e8f9c20dae7ccd73bd0b4ee2bad", + "dst": "4EHiTjCsxQmt4wRy5yJxBMcxsM5yGqtuqu", + "coins": "5.000000", + "hours": 387 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 68, + "block_seq": 113, + "unknown": false + }, + "time": 1429348172, + "txn": { + "length": 220, + "type": 0, + "txid": "1f27afc41896d2c7fdbd2620e606440ad12557e9a4bdd6808dcc2c23d4e32978", + "inner_hash": "4d53c05c731409feef7606cf9514904f4c7704537efb453ac2c439fcfe77a455", + "timestamp": 1429348172, + "sigs": [ + "e36cef84c1c6f999dba462f3134131c105da2255eaf21550ce30ee52a14a33d529a7cd0c37b3883d0d57429b163b4905271c7b1a4d951b4a521f245c7857dd5c01" + ], + "inputs": [ + "1d4595b9fa1c6c3d64f48b6ae5f8f861b1c08a022cbcb04b279df448da3db660" + ], + "outputs": [ + { + "uxid": "412eff3eef889c682da8db3608fce37d1c5ee2cc297bc88d901648e6ccd418f9", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "873800.000000", + "hours": 173601 + }, + { + "uxid": "c961ba554ae30b0edcdf71e834ab2b26d7dff5bcf5955d4874cdba89170392bf", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "100.000000", + "hours": 173601 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 63, + "block_seq": 118, + "unknown": false + }, + "time": 1429364072, + "txn": { + "length": 317, + "type": 0, + "txid": "a83e09e976b038d86491d8c029aec84a6313dc33e692da6ce50a2858e50c4666", + "inner_hash": "86b47008bbeb60335762ba70b5bdf8128f09b3f8fff6ec6e5d9553763a5b5cef", + "timestamp": 1429364072, + "sigs": [ + "48312c1abe5617609f70a882689f194e8d18c0b56d153adfae4be08bf00d723c6cda6dbd885e7ed7f92c7b7065d583adfd5f18bb37da9b796a394f4a388e978d01", + "4826477aed0387ca448b8225a5d27ebe6824b460d0581fb8ccb5078a865cd8171e7f5c860091a99cc85b1571dce8a550659cb3d02902a77cd1f6d0d27277bdee01" + ], + "inputs": [ + "7b132c07322babefa83ab64971b7bfb29bf2cb9ffe9c42dc7e2975a185dcd8b8", + "c961ba554ae30b0edcdf71e834ab2b26d7dff5bcf5955d4874cdba89170392bf" + ], + "outputs": [ + { + "uxid": "3408638af298419b14a49e8e9dd69e97c9a06827d74edf9f410a870662360b31", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "1045.000000", + "hours": 30769 + }, + { + "uxid": "ba0a94662846565969d361b1b7c248847a48e69f2b9eefb4ffb0bc2efc56a8fd", + "dst": "38cVLswijqC2ANV5HxTroeapQzqeoBR88C", + "coins": "50.000000", + "hours": 30769 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 61, + "block_seq": 120, + "unknown": false + }, + "time": 1429364452, + "txn": { + "length": 183, + "type": 0, + "txid": "d1569ca879f98450a920a2b427ab0e1d21342308fb6b4ea5031ee6e718217183", + "inner_hash": "12d27fdba804c648b8f72d9740d4021b05c88c95d3595af4afab2150092c5eee", + "timestamp": 1429364452, + "sigs": [ + "2baa243ca1b82bd9fc1a31a0b53c9f7eb0ad62b19d6a4d3af62579cc2dc455d81d8ed82ba342dc650d4ae38718d81a8df6a93a9a809749a2f5391894bbaf298400" + ], + "inputs": [ + "f480c6097568036b90a2e019f9ee68c0812b2da8828be33a005a7427caf14a2b" + ], + "outputs": [ + { + "uxid": "3f9712cab0d3aeb217f1751fa19e53d75f814b4218866d4e70d63f32271d2023", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "38.000000", + "hours": 480 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 60, + "block_seq": 121, + "unknown": false + }, + "time": 1429382678, + "txn": { + "length": 220, + "type": 0, + "txid": "da82deafc15c36e7dc9cd95663e0dc910ae626ee543147ac7bd8682be00f7baf", + "inner_hash": "c98f858a27e76b0b565baaa3dffc6cfc7b0ffe9dd7d2d71f4bb0ad4d1c439ca2", + "timestamp": 1429382678, + "sigs": [ + "15fccdc36c966a9571196a3f727ebda47162441df2d9965ac27109ac56d22cb41638b404e84b5b388d809b814ade18022cba0a6e021140c6b7d0144a6facd6d501" + ], + "inputs": [ + "6beca9fb58a327580c614d7fb5622916849756790b661bcabc880666364fdf47" + ], + "outputs": [ + { + "uxid": "f8a1990492f970227ec29e6e095fa724d66fa2d6883bd8723773098d08ca8b3c", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "801600.000000", + "hours": 378646 + }, + { + "uxid": "e5596ef0ba04ad9e0adbe0355a24c6bef249654906f917b68f8f0cf072508674", + "dst": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "62000.000000", + "hours": 378646 + } + ] + } + } +] diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/transaction.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/transaction.golden new file mode 100755 index 0000000..6fa6d58 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/transaction.golden @@ -0,0 +1,29 @@ +{ + "length": 317, + "type": 0, + "txid": "76ecbabc53ea2a3be46983058433dda6a3cf7ea0b86ba14d90b932fa97385de7", + "inner_hash": "5d55837bb0cbda9c9323ff9aafd7c3d31d0d38638346172fbe2d9078ebaa892a", + "timestamp": 1479100522, + "sigs": [ + "464b7724302178c1cfeacadaaf3556a3b7e5259adf51919476c3acc695747ed244b5ce2187ce7bedb6ad65c71f7f7ff3fa6805e64fe5da3aaa00ad563c7424f600", + "1155537b0391d4a6ee5eac07dee5798e953dca3a7c30643403dd2d326582c7d35080a16dc22644782ce1087bfc3bd06c2bf68e9a98e3989d90831646a9be2c9101" + ], + "inputs": [ + "782a8662efb0e933cab7d3ae9429ab53c4208cf44d8cdc07c2fbd7204b6b5cad", + "2f6b61a44086588c4eaa56a5dd9f1e0be2528861a6731608fcec38891b95db91" + ], + "outputs": [ + { + "uxid": "bd302ef776efa8548183b89f21e90649f21b90fe2d2e90ecc1b880f2d995f226", + "dst": "2UXZTg4ZHF6715b6tRhtaqceuQQ3G79GiZg", + "coins": "998.000000", + "hours": 247538 + }, + { + "uxid": "31058b6bfb30bfd441aec00929e75782bce47c8a75787ba519dbb268f89d2c4b", + "dst": "2awsJ2CR5H6QXCF2hwDjcvcAH9SgyfxCxgz", + "coins": "1.000000", + "hours": 247538 + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout-addr.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout-addr.golden new file mode 100755 index 0000000..c9d3596 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout-addr.golden @@ -0,0 +1,13 @@ +[ + { + "uxid": "5e35182bc9372d898df106bb2e7b3dfe33d28e59082f5d19d4a84ac0012d1291", + "time": 1427926392, + "src_block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "owner_address": "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "coins": 1000000000000, + "hours": 1, + "spent_block_seq": 0, + "spent_tx": "0000000000000000000000000000000000000000000000000000000000000000" + } +] diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout-noaddr.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout-noaddr.golden new file mode 100755 index 0000000..fe51488 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout-noaddr.golden @@ -0,0 +1 @@ +[] diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout-spent.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout-spent.golden new file mode 100755 index 0000000..4ed814e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout-spent.golden @@ -0,0 +1,11 @@ +{ + "uxid": "fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f20", + "time": 1431339429, + "src_block_seq": 179, + "src_tx": "f58f664eea258100126636a4111838e489ef5aec848ca8498319c290fa2a0805", + "owner_address": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": 615700000000, + "hours": 5521648, + "spent_block_seq": 181, + "spent_tx": "701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947" +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout.golden new file mode 100755 index 0000000..b45c139 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/uxout.golden @@ -0,0 +1,11 @@ +{ + "uxid": "fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f20", + "time": 1431339429, + "src_block_seq": 179, + "src_tx": "f58f664eea258100126636a4111838e489ef5aec848ca8498319c290fa2a0805", + "owner_address": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": 615700000000, + "hours": 5521648, + "spent_block_seq": 0, + "spent_tx": "0000000000000000000000000000000000000000000000000000000000000000" +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/verify-address.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/verify-address.golden new file mode 100755 index 0000000..268bb84 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/verify-address.golden @@ -0,0 +1,3 @@ +{ + "version": 0 +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/verify-transaction-invalid-bad-sig.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/verify-transaction-invalid-bad-sig.golden new file mode 100755 index 0000000..5295a26 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/verify-transaction-invalid-bad-sig.golden @@ -0,0 +1,39 @@ +{ + "confirmed": false, + "transaction": { + "length": 220, + "type": 0, + "txid": "de977ea93c0090ebe6e0c2dea002ffaf4fc314d08d06534120d96b96cc0042ce", + "inner_hash": "c30ba73f9422e909c601777ace12c777db329e06875cc6b29383bac3766acdc7", + "fee": "188772", + "sigs": [ + "71f2c01516fe696328e79bcf464eb0db374b63d494f7a307d1e77114f18581d7a81eed5275a9e04a336292dd2fd16977d9bef2a54ea3161d0876603d00c53bc9dd" + ], + "inputs": [ + { + "uxid": "75692aeff988ce0da734c474dbef3a1ce19a5a6823bbcd36acb856c83262261e", + "address": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "hours": "377543", + "calculated_hours": "377543", + "timestamp": 1431574528, + "block": 180, + "txid": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d" + } + ], + "outputs": [ + { + "uxid": "4ac148c444b86560bde4005fcf5d9f53ae18226b35a60911ab777dfe00e4cb89", + "address": "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + "coins": "0.001000", + "hours": "10" + }, + { + "uxid": "a7369917d622df48d8f205e0935144a825df4d8318d82c8bd9492ab3ee11f102", + "address": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22099.999000", + "hours": "188761" + } + ] + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/verify-transaction-invalid-empty.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/verify-transaction-invalid-empty.golden new file mode 100755 index 0000000..24a0f4c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/verify-transaction-invalid-empty.golden @@ -0,0 +1,13 @@ +{ + "confirmed": false, + "transaction": { + "length": 0, + "type": 0, + "txid": "78877fa898f0b4c45c9c33ae941e40617ad7c8657a307db62bc5691f92f4f60e", + "inner_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "fee": "0", + "sigs": [], + "inputs": [], + "outputs": [] + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/wallet-balance.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/wallet-balance.golden new file mode 100755 index 0000000..3b86145 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/wallet-balance.golden @@ -0,0 +1,22 @@ +{ + "confirmed": { + "coins": 0, + "hours": 0 + }, + "predicted": { + "coins": 0, + "hours": 0 + }, + "addresses": { + "27nAhbBjHLcvD3UdbrH1YouKWYwmG94K9cw": { + "confirmed": { + "coins": 0, + "hours": 0 + }, + "predicted": { + "coins": 0, + "hours": 0 + } + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/wallet-transactions.golden b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/wallet-transactions.golden new file mode 100755 index 0000000..f3d2101 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/integration/testdata/wallet-transactions.golden @@ -0,0 +1,3 @@ +{ + "transactions": [] +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/network.go b/vendor/github.com/skycoin/skycoin/src/api/network.go new file mode 100755 index 0000000..a42db7a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/network.go @@ -0,0 +1,136 @@ +package api + +// APIs for network-related information + +import ( + "net/http" + "sort" + + daemon "github.com/skycoin/skycoin/src/daemon" //http,json helpers + wh "github.com/skycoin/skycoin/src/util/http" //http,json helpers +) + +// Connection wrapper around daemon connection with info about block height added +type Connection struct { + *daemon.Connection + Height uint64 `json:"height"` +} + +// Connections an array of connections +// Arrays must be wrapped in structs to avoid certain javascript exploits +type Connections struct { + Connections []Connection `json:"connections"` +} + +func connectionHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + addr := r.FormValue("addr") + if addr == "" { + wh.Error400(w, "addr is required") + return + } + + c := gateway.GetConnection(addr) + if c == nil { + wh.Error404(w, "") + return + } + cnx := Connection{ + Connection: c, + Height: 0, + } + bcp, err := gateway.GetBlockchainProgress() + if err != nil { + wh.Error500(w, err.Error()) + return + } + for _, ph := range bcp.Peers { + if ph.Address == c.Addr { + cnx.Height = ph.Height + break + } + } + + wh.SendJSONOr500(logger, w, cnx) + } +} + +func connectionsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + dcnxs := gateway.GetConnections() + bcp, err := gateway.GetBlockchainProgress() + if err != nil { + wh.Error500(w, err.Error()) + return + } + + peerHeights := bcp.Peers + index := make(map[string]uint64, len(peerHeights)) + + for i := 0; i < len(peerHeights); i++ { + index[peerHeights[i].Address] = peerHeights[i].Height + } + + cnxs := Connections{} + for _, c := range dcnxs.Connections { + cnx := Connection{ + Connection: c, + Height: index[c.Addr], + } + cnxs.Connections = append(cnxs.Connections, cnx) + } + wh.SendJSONOr500(logger, w, cnxs) + } +} + +func defaultConnectionsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + conns := gateway.GetDefaultConnections() + sort.Strings(conns) + + wh.SendJSONOr500(logger, w, conns) + } +} + +func trustConnectionsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + conns := gateway.GetTrustConnections() + sort.Strings(conns) + + wh.SendJSONOr500(logger, w, conns) + } +} + +func exchgConnectionsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + conns := gateway.GetExchgConnection() + sort.Strings(conns) + + wh.SendJSONOr500(logger, w, conns) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/network_test.go b/vendor/github.com/skycoin/skycoin/src/api/network_test.go new file mode 100755 index 0000000..e21c863 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/network_test.go @@ -0,0 +1,453 @@ +package api + +import ( + "encoding/json" + "errors" + "net/http" + "net/http/httptest" + "net/url" + "strings" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/daemon" +) + +func TestConnection(t *testing.T) { + bp := daemon.BlockchainProgress{ + Current: 35, + Highest: 39, + Peers: nil} + bp.Peers = append(bp.Peers, struct { + Address string `json:"address"` + Height uint64 `json:"height"` + }{ + Address: "127.3.5.1", + Height: 39, + }) + bp.Peers = append(bp.Peers, struct { + Address string `json:"address"` + Height uint64 `json:"height"` + }{ + Address: "127.0.0.1", + Height: 12, + }) + bp.Peers = append(bp.Peers, struct { + Address string `json:"address"` + Height uint64 `json:"height"` + }{ + Address: "127.0.5.1", + Height: 13, + }) + + tt := []struct { + name string + method string + status int + err string + addr string + gatewayGetConnectionResult *daemon.Connection + gatewayGetBlockchainProgressResult *daemon.BlockchainProgress + gatewayGetBlockchainProgressError error + result *daemon.Connection + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "400 - empty addr", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - addr is required", + addr: "", + gatewayGetConnectionResult: nil, + result: nil, + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + err: "", + addr: "addr", + gatewayGetBlockchainProgressResult: &bp, + gatewayGetBlockchainProgressError: nil, + gatewayGetConnectionResult: &daemon.Connection{ + ID: 1, + Addr: "127.0.0.1", + LastSent: 99999, + LastReceived: 1111111, + Outgoing: true, + Introduced: true, + Mirror: 9876, + ListenPort: 9877, + }, + result: &daemon.Connection{ + ID: 1, + Addr: "127.0.0.1", + LastSent: 99999, + LastReceived: 1111111, + Outgoing: true, + Introduced: true, + Mirror: 9876, + ListenPort: 9877, + }, + }, + { + name: "500 - blockchain progress failed", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - some error", + addr: "addr", + gatewayGetBlockchainProgressResult: nil, + gatewayGetBlockchainProgressError: errors.New("some error"), + gatewayGetConnectionResult: &daemon.Connection{ + ID: 1, + Addr: "127.0.0.1", + LastSent: 99999, + LastReceived: 1111111, + Outgoing: true, + Introduced: true, + Mirror: 9876, + ListenPort: 9877, + }, + }, + } + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/network/connection" + gateway := NewGatewayerMock() + gateway.On("GetConnection", tc.addr).Return(tc.gatewayGetConnectionResult) + gateway.On("GetBlockchainProgress").Return( + tc.gatewayGetBlockchainProgressResult, + tc.gatewayGetBlockchainProgressError, + ) + gateway.On("IsCSPEnabled").Return(false) + + v := url.Values{} + if tc.addr != "" { + v.Add("addr", tc.addr) + } + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, &CSRFStore{}, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %d, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg *daemon.Connection + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.result, msg) + } + }) + } +} + +func TestConnections(t *testing.T) { + bp := daemon.BlockchainProgress{ + Current: 35, + Highest: 39, + Peers: nil} + bp.Peers = append(bp.Peers, struct { + Address string `json:"address"` + Height uint64 `json:"height"` + }{ + Address: "127.3.5.1", + Height: 39, + }) + bp.Peers = append(bp.Peers, struct { + Address string `json:"address"` + Height uint64 `json:"height"` + }{ + Address: "127.0.0.1", + Height: 12, + }) + bp.Peers = append(bp.Peers, struct { + Address string `json:"address"` + Height uint64 `json:"height"` + }{ + Address: "127.0.5.1", + Height: 13, + }) + + tt := []struct { + name string + method string + status int + err string + gatewayGetConnectionsResult *daemon.Connections + gatewayGetBlockchainProgressResult *daemon.BlockchainProgress + gatewayGetBlockchainProgressError error + result *daemon.Connections + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + err: "", + gatewayGetBlockchainProgressResult: &bp, + gatewayGetBlockchainProgressError: nil, + gatewayGetConnectionsResult: &daemon.Connections{ + Connections: []*daemon.Connection{ + &daemon.Connection{ + ID: 1, + Addr: "127.0.0.1", + LastSent: 99999, + LastReceived: 1111111, + Outgoing: true, + Introduced: true, + Mirror: 9876, + ListenPort: 9877, + }, + }, + }, + result: &daemon.Connections{ + Connections: []*daemon.Connection{ + &daemon.Connection{ + ID: 1, + Addr: "127.0.0.1", + LastSent: 99999, + LastReceived: 1111111, + Outgoing: true, + Introduced: true, + Mirror: 9876, + ListenPort: 9877, + }, + }, + }, + }, + { + name: "500 - blockchain progress failed", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - some error", + gatewayGetBlockchainProgressResult: nil, + gatewayGetBlockchainProgressError: errors.New("some error"), + gatewayGetConnectionsResult: &daemon.Connections{ + Connections: []*daemon.Connection{ + &daemon.Connection{ + ID: 1, + Addr: "127.0.0.1", + LastSent: 99999, + LastReceived: 1111111, + Outgoing: true, + Introduced: true, + Mirror: 9876, + ListenPort: 9877, + }, + }, + }, + }, + } + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/network/connections" + gateway := NewGatewayerMock() + gateway.On("GetConnections").Return(tc.gatewayGetConnectionsResult) + gateway.On("GetBlockchainProgress").Return( + tc.gatewayGetBlockchainProgressResult, + tc.gatewayGetBlockchainProgressError, + ) + gateway.On("IsCSPEnabled").Return(false) + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, &CSRFStore{}, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %d, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg *daemon.Connections + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.result, msg) + } + }) + } +} + +func TestDefaultConnections(t *testing.T) { + tt := []struct { + name string + method string + status int + err string + gatewayGetDefaultConnectionsResult []string + result []string + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + err: "", + gatewayGetDefaultConnectionsResult: []string{"44.33.22.11", "11.44.66.88"}, + result: []string{"11.44.66.88", "44.33.22.11"}, + }, + } + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/network/defaultConnections" + gateway := NewGatewayerMock() + gateway.On("GetDefaultConnections").Return(tc.gatewayGetDefaultConnectionsResult) + gateway.On("IsCSPEnabled").Return(false) + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, &CSRFStore{}, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %d, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg []string + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.result, msg) + } + }) + } +} + +func TestGetTrustConnections(t *testing.T) { + tt := []struct { + name string + method string + status int + err string + gatewayGetTrustConnectionsResult []string + result []string + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + err: "", + gatewayGetTrustConnectionsResult: []string{"44.33.22.11", "11.44.66.88"}, + result: []string{"11.44.66.88", "44.33.22.11"}, + }, + } + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/network/connections/trust" + gateway := NewGatewayerMock() + gateway.On("GetTrustConnections").Return(tc.gatewayGetTrustConnectionsResult) + gateway.On("IsCSPEnabled").Return(false) + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, &CSRFStore{}, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %d, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg []string + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.result, msg) + } + }) + } +} + +func TestGetExchgConnection(t *testing.T) { + tt := []struct { + name string + method string + status int + err string + gatewayGetExchgConnectionResult []string + result []string + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + err: "", + gatewayGetExchgConnectionResult: []string{"44.33.22.11", "11.44.66.88"}, + result: []string{"11.44.66.88", "44.33.22.11"}, + }, + } + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/network/connections/exchange" + gateway := NewGatewayerMock() + gateway.On("GetExchgConnection").Return(tc.gatewayGetExchgConnectionResult) + gateway.On("IsCSPEnabled").Return(false) + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, &CSRFStore{}, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %d, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg []string + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.result, msg) + } + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/notes.go b/vendor/github.com/skycoin/skycoin/src/api/notes.go new file mode 100755 index 0000000..ff2c684 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/notes.go @@ -0,0 +1,65 @@ +package api + +// NotesRPC note rpc +// type NotesRPC struct { +// Notes wallet.Notes +// WalletDirectory string +// } + +// // Ng global note +// var Ng *NotesRPC + +// // InitWalletRPC init wallet rpc +// func InitWalletRPC(walletDir string, options ...wallet.Option) { +// Ng = NewNotesRPC(walletDir) +// } + +// // NewNotesRPC new notes rpc +// func NewNotesRPC(walletDir string) *NotesRPC { +// rpc := &NotesRPC{} +// if err := os.MkdirAll(walletDir, os.FileMode(0700)); err != nil { +// logger.Panicf("Failed to create notes directory %s: %v", walletDir, err) +// } +// rpc.WalletDirectory = walletDir +// w, err := wallet.LoadNotes(rpc.WalletDirectory) +// if err != nil { +// logger.Panicf("Failed to load all notes: %v", err) +// } +// wallet.CreateNoteFileIfNotExist(walletDir) +// rpc.Notes = w +// return rpc +// } + +// GetNotesReadable returns readable notes +// func (nt *NotesRPC) GetNotesReadable() wallet.ReadableNotes { +// return nt.Notes.ToReadable() +// } + +// // Create a wallet Name is set by creation date +// func notesCreate(gateway *daemon.Gateway) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// logger.Info("API request made to create a note") +// note := r.FormValue("note") +// transactionID := r.FormValue("transaction_id") +// newNote := wallet.Note{ +// TxID: transactionID, +// Value: note, +// } +// Ng.Notes.SaveNote(Ng.WalletDirectory, newNote) +// rlt := Ng.GetNotesReadable() +// wh.SendOr500(w, rlt) +// } +// } + +// // Returns a wallet by ID if GET. Creates or updates a wallet if POST. +// func notesHandler(gateway *daemon.Gateway) http.HandlerFunc { +// return func(w http.ResponseWriter, r *http.Request) { +// //ret := wallet.Wallets.ToPublicReadable() +// ret := Ng.GetNotesReadable() +// wh.SendOr404(w, ret) +// } +// } + +// mux.Handle("/notes", notesHandler(gateway)) + +// mux.Handle("/notes/create", notesCreate(gateway)) diff --git a/vendor/github.com/skycoin/skycoin/src/api/spend.go b/vendor/github.com/skycoin/skycoin/src/api/spend.go new file mode 100755 index 0000000..8aaf04d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/spend.go @@ -0,0 +1,530 @@ +package api + +import ( + "encoding/hex" + "encoding/json" + "errors" + "fmt" + "net/http" + "strconv" + + "github.com/shopspring/decimal" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/util/fee" + wh "github.com/skycoin/skycoin/src/util/http" //http,json helpers + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/wallet" +) + +// CreateTransactionResponse is returned by /wallet/transaction +type CreateTransactionResponse struct { + Transaction CreatedTransaction `json:"transaction"` + EncodedTransaction string `json:"encoded_transaction"` +} + +// NewCreateTransactionResponse creates a CreateTransactionResponse +func NewCreateTransactionResponse(txn *coin.Transaction, inputs []wallet.UxBalance) (*CreateTransactionResponse, error) { + cTxn, err := NewCreatedTransaction(txn, inputs) + if err != nil { + return nil, err + } + + return &CreateTransactionResponse{ + Transaction: *cTxn, + EncodedTransaction: hex.EncodeToString(txn.Serialize()), + }, nil +} + +// CreatedTransaction represents a transaction created by /wallet/transaction +type CreatedTransaction struct { + Length uint32 `json:"length"` + Type uint8 `json:"type"` + TxID string `json:"txid"` + InnerHash string `json:"inner_hash"` + Fee string `json:"fee"` + + Sigs []string `json:"sigs"` + In []CreatedTransactionInput `json:"inputs"` + Out []CreatedTransactionOutput `json:"outputs"` +} + +// NewCreatedTransaction returns a CreatedTransaction +func NewCreatedTransaction(txn *coin.Transaction, inputs []wallet.UxBalance) (*CreatedTransaction, error) { + if len(txn.In) != len(inputs) { + return nil, errors.New("len(txn.In) != len(inputs)") + } + + var outputHours uint64 + for _, o := range txn.Out { + var err error + outputHours, err = coin.AddUint64(outputHours, o.Hours) + if err != nil { + return nil, err + } + } + + var inputHours uint64 + for _, i := range inputs { + var err error + inputHours, err = coin.AddUint64(inputHours, i.Hours) + if err != nil { + return nil, err + } + } + + if inputHours < outputHours { + return nil, errors.New("inputHours unexpectedly less than output hours") + } + + fee := inputHours - outputHours + + sigs := make([]string, len(txn.Sigs)) + for i, s := range txn.Sigs { + sigs[i] = s.Hex() + } + + txid := txn.Hash() + out := make([]CreatedTransactionOutput, len(txn.Out)) + for i, o := range txn.Out { + co, err := NewCreatedTransactionOutput(o, txid) + if err != nil { + return nil, err + } + out[i] = *co + } + + in := make([]CreatedTransactionInput, len(inputs)) + for i, o := range inputs { + ci, err := NewCreatedTransactionInput(o) + if err != nil { + return nil, err + } + in[i] = *ci + } + + return &CreatedTransaction{ + Length: txn.Length, + Type: txn.Type, + TxID: txid.Hex(), + InnerHash: txn.InnerHash.Hex(), + Fee: fmt.Sprint(fee), + + Sigs: sigs, + In: in, + Out: out, + }, nil +} + +// ToTransaction converts a CreatedTransaction back to a coin.Transaction +func (r *CreatedTransaction) ToTransaction() (*coin.Transaction, error) { + t := coin.Transaction{} + + t.Length = r.Length + t.Type = r.Type + + var err error + t.InnerHash, err = cipher.SHA256FromHex(r.InnerHash) + if err != nil { + return nil, err + } + + sigs := make([]cipher.Sig, len(r.Sigs)) + for i, s := range r.Sigs { + sigs[i], err = cipher.SigFromHex(s) + if err != nil { + return nil, err + } + } + + t.Sigs = sigs + + in := make([]cipher.SHA256, len(r.In)) + for i, n := range r.In { + in[i], err = cipher.SHA256FromHex(n.UxID) + if err != nil { + return nil, err + } + } + + t.In = in + + out := make([]coin.TransactionOutput, len(r.Out)) + for i, o := range r.Out { + addr, err := cipher.DecodeBase58Address(o.Address) + if err != nil { + return nil, err + } + + coins, err := droplet.FromString(o.Coins) + if err != nil { + return nil, err + } + + hours, err := strconv.ParseUint(o.Hours, 10, 64) + if err != nil { + return nil, err + } + + out[i] = coin.TransactionOutput{ + Address: addr, + Coins: coins, + Hours: hours, + } + } + + t.Out = out + + hash, err := cipher.SHA256FromHex(r.TxID) + if err != nil { + return nil, err + } + if t.Hash() != hash { + return nil, errors.New("ReadableTransaction.Hash does not match parsed transaction hash") + } + + return &t, nil +} + +// CreatedTransactionOutput is a transaction output +type CreatedTransactionOutput struct { + UxID string `json:"uxid"` + Address string `json:"address"` + Coins string `json:"coins"` + Hours string `json:"hours"` +} + +// NewCreatedTransactionOutput creates CreatedTransactionOutput +func NewCreatedTransactionOutput(out coin.TransactionOutput, txid cipher.SHA256) (*CreatedTransactionOutput, error) { + coins, err := droplet.ToString(out.Coins) + if err != nil { + return nil, err + } + + return &CreatedTransactionOutput{ + UxID: out.UxID(txid).Hex(), + Address: out.Address.String(), + Coins: coins, + Hours: fmt.Sprint(out.Hours), + }, nil +} + +// CreatedTransactionInput is a verbose transaction input +type CreatedTransactionInput struct { + UxID string `json:"uxid"` + Address string `json:"address,omitempty"` + Coins string `json:"coins,omitempty"` + Hours string `json:"hours,omitempty"` + CalculatedHours string `json:"calculated_hours,omitempty"` + Time uint64 `json:"timestamp,omitempty"` + Block uint64 `json:"block,omitempty"` + TxID string `json:"txid,omitempty"` +} + +// NewCreatedTransactionInput creates CreatedTransactionInput +func NewCreatedTransactionInput(out wallet.UxBalance) (*CreatedTransactionInput, error) { + coins, err := droplet.ToString(out.Coins) + if err != nil { + return nil, err + } + + if out.SrcTransaction.Null() { + return nil, errors.New("NewCreatedTransactionInput UxOut.SrcTransaction is not initialized") + } + + addr := out.Address.String() + hours := fmt.Sprint(out.InitialHours) + calculatedHours := fmt.Sprint(out.Hours) + txID := out.SrcTransaction.Hex() + + return &CreatedTransactionInput{ + UxID: out.Hash.Hex(), + Address: addr, + Coins: coins, + Hours: hours, + CalculatedHours: calculatedHours, + Time: out.Time, + Block: out.BkSeq, + TxID: txID, + }, nil +} + +// createTransactionRequest is sent to /wallet/transaction +type createTransactionRequest struct { + IgnoreUnconfirmed bool `json:"ignore_unconfirmed"` + HoursSelection hoursSelection `json:"hours_selection"` + Wallet createTransactionRequestWallet `json:"wallet"` + ChangeAddress *wh.Address `json:"change_address,omitempty"` + To []receiver `json:"to"` +} + +// createTransactionRequestWallet defines a wallet to spend from and optionally which addresses in the wallet +type createTransactionRequestWallet struct { + ID string `json:"id"` + UxOuts []wh.SHA256 `json:"unspents,omitempty"` + Addresses []wh.Address `json:"addresses,omitempty"` + Password string `json:"password"` +} + +// hoursSelection defines options for hours distribution +type hoursSelection struct { + Type string `json:"type"` + Mode string `json:"mode"` + ShareFactor *decimal.Decimal `json:"share_factor,omitempty"` +} + +// receiver specifies a spend destination +type receiver struct { + Address wh.Address `json:"address"` + Coins wh.Coins `json:"coins"` + Hours *wh.Hours `json:"hours,omitempty"` +} + +// Validate validates createTransactionRequest data +func (r createTransactionRequest) Validate() error { + switch r.HoursSelection.Type { + case wallet.HoursSelectionTypeAuto: + for i, to := range r.To { + if to.Hours != nil { + return fmt.Errorf("to[%d].hours must not be specified for auto hours_selection.mode", i) + } + } + + switch r.HoursSelection.Mode { + case wallet.HoursSelectionModeShare: + case "": + return errors.New("missing hours_selection.mode") + default: + return errors.New("invalid hours_selection.mode") + } + + case wallet.HoursSelectionTypeManual: + for i, to := range r.To { + if to.Hours == nil { + return fmt.Errorf("to[%d].hours must be specified for manual hours_selection.mode", i) + } + } + + if r.HoursSelection.Mode != "" { + return errors.New("hours_selection.mode cannot be used for manual hours_selection.type") + } + + case "": + return errors.New("missing hours_selection.type") + default: + return errors.New("invalid hours_selection.type") + } + + if r.HoursSelection.ShareFactor == nil { + if r.HoursSelection.Mode == wallet.HoursSelectionModeShare { + return errors.New("missing hours_selection.share_factor when hours_selection.mode is share") + } + } else { + if r.HoursSelection.Mode != wallet.HoursSelectionModeShare { + return errors.New("hours_selection.share_factor can only be used when hours_selection.mode is share") + } + + switch { + case r.HoursSelection.ShareFactor.LessThan(decimal.New(0, 0)): + return errors.New("hours_selection.share_factor cannot be negative") + case r.HoursSelection.ShareFactor.GreaterThan(decimal.New(1, 0)): + return errors.New("hours_selection.share_factor cannot be more than 1") + } + } + + if r.ChangeAddress != nil && r.ChangeAddress.Null() { + return errors.New("change_address must not be the null address") + } + + if r.Wallet.ID == "" { + return errors.New("missing wallet.id") + } + + addressMap := make(map[cipher.Address]struct{}, len(r.Wallet.Addresses)) + for i, a := range r.Wallet.Addresses { + if a.Null() { + return fmt.Errorf("wallet.addresses[%d] is empty", i) + } + + addressMap[a.Address] = struct{}{} + } + + if len(addressMap) != len(r.Wallet.Addresses) { + return errors.New("wallet.addresses contains duplicate values") + } + + if len(r.To) == 0 { + return errors.New("to is empty") + } + + for i, to := range r.To { + if to.Address.Null() { + return fmt.Errorf("to[%d].address is empty", i) + } + + if to.Coins == 0 { + return fmt.Errorf("to[%d].coins must not be zero", i) + } + + if to.Coins.Value()%visor.MaxDropletDivisor() != 0 { + return fmt.Errorf("to[%d].coins has too many decimal places", i) + } + } + + // Check for duplicate created outputs, a transaction can't have outputs with + // the same (address, coins, hours) + // Auto mode would distribute hours to the outputs and could hypothetically + // avoid assigning duplicate hours in many cases, but the complexity for doing + // so is very high, so also reject duplicate (address, coins) for auto mode. + outputs := make(map[coin.TransactionOutput]struct{}, len(r.To)) + for _, to := range r.To { + var hours uint64 + if to.Hours != nil { + hours = to.Hours.Value() + } + + outputs[coin.TransactionOutput{ + Address: to.Address.Address, + Coins: to.Coins.Value(), + Hours: hours, + }] = struct{}{} + } + + if len(outputs) != len(r.To) { + return errors.New("to contains duplicate values") + } + + if len(r.Wallet.UxOuts) != 0 && len(r.Wallet.Addresses) != 0 { + return errors.New("wallet.unspents and wallet.addresses cannot be combined") + } + + // Check for duplicate spending uxouts + uxouts := make(map[cipher.SHA256]struct{}, len(r.Wallet.UxOuts)) + for _, o := range r.Wallet.UxOuts { + uxouts[o.SHA256] = struct{}{} + } + + if len(uxouts) != len(r.Wallet.UxOuts) { + return errors.New("wallet.unspents contains duplicate values") + } + + return nil +} + +// ToWalletParams converts createTransactionRequest to wallet.CreateTransactionParams +func (r createTransactionRequest) ToWalletParams() wallet.CreateTransactionParams { + addresses := make([]cipher.Address, len(r.Wallet.Addresses)) + for i, a := range r.Wallet.Addresses { + addresses[i] = a.Address + } + + uxouts := make([]cipher.SHA256, len(r.Wallet.UxOuts)) + for i, o := range r.Wallet.UxOuts { + uxouts[i] = o.SHA256 + } + + walletParams := wallet.CreateTransactionWalletParams{ + ID: r.Wallet.ID, + Addresses: addresses, + UxOuts: uxouts, + Password: []byte(r.Wallet.Password), + } + + to := make([]coin.TransactionOutput, len(r.To)) + for i, t := range r.To { + var hours uint64 + if t.Hours != nil { + hours = t.Hours.Value() + } + + to[i] = coin.TransactionOutput{ + Address: t.Address.Address, + Coins: t.Coins.Value(), + Hours: hours, + } + } + + var changeAddress *cipher.Address + if r.ChangeAddress != nil { + changeAddress = &r.ChangeAddress.Address + } + + return wallet.CreateTransactionParams{ + IgnoreUnconfirmed: r.IgnoreUnconfirmed, + HoursSelection: wallet.HoursSelection{ + Type: r.HoursSelection.Type, + Mode: r.HoursSelection.Mode, + ShareFactor: r.HoursSelection.ShareFactor, + }, + Wallet: walletParams, + ChangeAddress: changeAddress, + To: to, + } +} + +func createTransactionHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + if r.Header.Get("Content-Type") != "application/json" { + wh.Error415(w) + return + } + + var params createTransactionRequest + err := json.NewDecoder(r.Body).Decode(¶ms) + if err != nil { + logger.WithError(err).Error("Invalid create transaction request") + wh.Error400(w, err.Error()) + return + } + + if err := params.Validate(); err != nil { + logger.WithError(err).Error("Invalid create transaction request") + wh.Error400(w, err.Error()) + return + } + + txn, inputs, err := gateway.CreateTransaction(params.ToWalletParams()) + if err != nil { + switch err.(type) { + case wallet.Error: + switch err { + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + case wallet.ErrWalletNotExist: + wh.Error404(w, err.Error()) + default: + wh.Error400(w, err.Error()) + } + case blockdb.ErrUnspentNotExist: + wh.Error400(w, err.Error()) + default: + switch err { + case fee.ErrTxnNoFee, + fee.ErrTxnInsufficientCoinHours, + wallet.ErrSpendingUnconfirmed: + wh.Error400(w, err.Error()) + default: + wh.Error500(w, err.Error()) + } + } + return + } + + txnResp, err := NewCreateTransactionResponse(txn, inputs) + if err != nil { + err = fmt.Errorf("NewCreateTransactionResponse failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, txnResp) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/spend_test.go b/vendor/github.com/skycoin/skycoin/src/api/spend_test.go new file mode 100755 index 0000000..50f08ce --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/spend_test.go @@ -0,0 +1,904 @@ +package api + +import ( + "bytes" + "encoding/hex" + "encoding/json" + "errors" + "net/http" + "net/http/httptest" + "strings" + "testing" + "time" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/testutil" //http,json helpers + "github.com/skycoin/skycoin/src/util/fee" + "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/wallet" +) + +func TestCreateTransaction(t *testing.T) { + type rawRequestWallet struct { + ID string `json:"id"` + UxOuts []string `json:"unspents,omitempty"` + Addresses []string `json:"addresses,omitempty"` + Password string `json:"password"` + } + + type rawHoursSelection struct { + Type string `json:"type"` + Mode string `json:"mode"` + ShareFactor *string `json:"share_factor,omitempty"` + } + + type rawReceiver struct { + Address string `json:"address"` + Coins string `json:"coins"` + Hours string `json:"hours,omitempty"` + } + + type rawRequest struct { + HoursSelection rawHoursSelection `json:"hours_selection"` + Wallet rawRequestWallet `json:"wallet"` + ChangeAddress string `json:"change_address,omitempty"` + To []rawReceiver `json:"to"` + Password string `json:"password"` + } + + changeAddress := testutil.MakeAddress() + destinationAddress := testutil.MakeAddress() + emptyAddress := cipher.Address{} + + txn := &coin.Transaction{ + Length: 100, + Type: 0, + InnerHash: testutil.RandSHA256(t), + In: []cipher.SHA256{testutil.RandSHA256(t)}, + Out: []coin.TransactionOutput{ + { + Address: destinationAddress, + Coins: 1e6, + Hours: 100, + }, + }, + } + + inputs := []wallet.UxBalance{ + { + Hash: testutil.RandSHA256(t), + Time: uint64(time.Now().UTC().Unix()), + BkSeq: 9999, + SrcTransaction: testutil.RandSHA256(t), + Address: testutil.MakeAddress(), + Coins: 1e6, + Hours: 200, + InitialHours: 100, + }, + } + + createdTxn, err := NewCreatedTransaction(txn, inputs) + require.NoError(t, err) + + createTxnResponse := &CreateTransactionResponse{ + Transaction: *createdTxn, + EncodedTransaction: hex.EncodeToString(txn.Serialize()), + } + + validBody := &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "100", + Hours: "10", + }, + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + }, + } + + walletInput := testutil.RandSHA256(t) + + tt := []struct { + name string + method string + body *rawRequest + status int + err string + gatewayCreateTransactionResult *coin.Transaction + gatewayCreateTransactionInputs []wallet.UxBalance + gatewayCreateTransactionErr error + createTransactionResponse *CreateTransactionResponse + csrfDisabled bool + contentType string + }{ + { + name: "405", + method: http.MethodGet, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + + { + name: "415", + method: http.MethodPost, + status: http.StatusUnsupportedMediaType, + contentType: "application/x-www-form-urlencoded", + err: "415 Unsupported Media Type", + }, + + { + name: "400 - missing hours selection type", + method: http.MethodPost, + body: &rawRequest{}, + status: http.StatusBadRequest, + err: "400 Bad Request - missing hours_selection.type", + }, + + { + name: "400 - invalid hours selection type", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: "foo", + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid hours_selection.type", + }, + + { + name: "400 - missing hours selection mode", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - missing hours_selection.mode", + }, + + { + name: "400 - invalid hours selection mode", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: "foo", + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid hours_selection.mode", + }, + + { + name: "400 - missing hours selection share factor", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - missing hours_selection.share_factor when hours_selection.mode is share", + }, + + { + name: "400 - share factor set but mode is not share", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + ShareFactor: newStrPtr("0.5"), + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - hours_selection.share_factor can only be used when hours_selection.mode is share", + }, + + { + name: "400 - negative share factor", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: newStrPtr("-1"), + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - hours_selection.share_factor cannot be negative", + }, + + { + name: "400 - share factor greater than 1", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: newStrPtr("1.1"), + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - hours_selection.share_factor cannot be more than 1", + }, + + { + name: "400 - empty sender address", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: rawRequestWallet{ + Addresses: []string{""}, + }, + ChangeAddress: changeAddress.String(), + }, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid address: Invalid base58 string", + }, + + { + name: "400 - invalid sender address", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + Wallet: rawRequestWallet{ + Addresses: []string{"xxx"}, + }, + ChangeAddress: changeAddress.String(), + }, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid address: Invalid address length", + }, + + { + name: "400 - invalid change address", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + ChangeAddress: "xxx", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid address: Invalid address length", + }, + + { + name: "400 - empty change address", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + ChangeAddress: emptyAddress.String(), + }, + status: http.StatusBadRequest, + err: "400 Bad Request - change_address must not be the null address", + }, + + { + name: "400 - auto type destination has hours", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: newStrPtr("0.5"), + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Hours: "100", + Coins: "1.01", + }, + }, + ChangeAddress: changeAddress.String(), + }, + status: http.StatusBadRequest, + err: "400 Bad Request - to[0].hours must not be specified for auto hours_selection.mode", + }, + + { + name: "400 - manual type destination missing hours", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "1.01", + }, + }, + ChangeAddress: changeAddress.String(), + }, + status: http.StatusBadRequest, + err: "400 Bad Request - to[0].hours must be specified for manual hours_selection.mode", + }, + + { + name: "400 - manual type has mode set", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + Mode: wallet.HoursSelectionModeShare, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "1.01", + Hours: "100", + }, + }, + ChangeAddress: changeAddress.String(), + }, + status: http.StatusBadRequest, + err: "400 Bad Request - hours_selection.mode cannot be used for manual hours_selection.type", + }, + + { + name: "400 - missing wallet ID", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "1.01", + Hours: "100", + }, + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{}, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - missing wallet.id", + }, + + { + name: "400 - wallet address is empty", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "1.01", + Hours: "100", + }, + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + Addresses: []string{emptyAddress.String()}, + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - wallet.addresses[0] is empty", + }, + + { + name: "400 - to address is empty", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + To: []rawReceiver{ + { + Address: emptyAddress.String(), + Coins: "1.01", + Hours: "100", + }, + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - to[0].address is empty", + }, + + { + name: "400 - to coins is zero", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "0", + Hours: "100", + }, + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - to[0].coins must not be zero", + }, + + { + name: "400 - invalid to coins", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "0.1a", + Hours: "100", + }, + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - can't convert 0.1a to decimal", + }, + + { + name: "400 - invalid to hours", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "0.1", + Hours: "100.1", + }, + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid hours value: strconv.ParseUint: parsing \"100.1\": invalid syntax", + }, + + { + name: "400 - empty string to coins", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: newStrPtr("0.5"), + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "", + Hours: "", + }, + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - can't convert to decimal", + }, + + { + name: "400 - coins has too many decimals", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: newStrPtr("0.5"), + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "1.1234", + }, + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - to[0].coins has too many decimal places", + }, + + { + name: "400 - empty to", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - to is empty", + }, + + { + name: "400 - manual duplicate outputs", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "1.2", + Hours: "100", + }, + { + Address: destinationAddress.String(), + Coins: "1.2", + Hours: "100", + }, + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - to contains duplicate values", + }, + + { + name: "400 - auto duplicate outputs", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: newStrPtr("0.5"), + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "1.2", + }, + { + Address: destinationAddress.String(), + Coins: "1.2", + }, + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - to contains duplicate values", + }, + + { + name: "400 - both wallet uxouts and wallet addresses specified", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: newStrPtr("0.5"), + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + Addresses: []string{destinationAddress.String()}, + UxOuts: []string{walletInput.Hex()}, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "1.2", + }, + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - wallet.unspents and wallet.addresses cannot be combined", + }, + + { + name: "400 - duplicate wallet uxouts", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: newStrPtr("0.5"), + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + UxOuts: []string{walletInput.Hex(), walletInput.Hex()}, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "1.2", + }, + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - wallet.unspents contains duplicate values", + }, + + { + name: "400 - duplicate wallet addresses", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: newStrPtr("0.5"), + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + Addresses: []string{destinationAddress.String(), destinationAddress.String()}, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "1.2", + }, + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - wallet.addresses contains duplicate values", + }, + + { + name: "200 - auto type split even", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: newStrPtr("0.5"), + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "100", + }, + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + }, + }, + status: http.StatusOK, + gatewayCreateTransactionResult: txn, + gatewayCreateTransactionInputs: inputs, + createTransactionResponse: createTxnResponse, + }, + + { + name: "200 - manual type zero hours", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "100", + Hours: "0", + }, + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + }, + }, + status: http.StatusOK, + gatewayCreateTransactionResult: txn, + gatewayCreateTransactionInputs: inputs, + createTransactionResponse: createTxnResponse, + }, + + { + name: "200 - manual type nonzero hours", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeManual, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "100", + Hours: "10", + }, + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + }, + }, + status: http.StatusOK, + gatewayCreateTransactionResult: txn, + gatewayCreateTransactionInputs: inputs, + createTransactionResponse: createTxnResponse, + }, + + { + name: "200 - manual type nonzero hours - csrf disabled", + method: http.MethodPost, + body: validBody, + status: http.StatusOK, + gatewayCreateTransactionResult: txn, + gatewayCreateTransactionInputs: inputs, + createTransactionResponse: createTxnResponse, + csrfDisabled: true, + }, + + { + name: "500 - misc error", + method: http.MethodPost, + body: validBody, + status: http.StatusInternalServerError, + gatewayCreateTransactionErr: errors.New("unhandled error"), + err: "500 Internal Server Error - unhandled error", + }, + + { + name: "400 - no fee", + method: http.MethodPost, + body: validBody, + status: http.StatusBadRequest, + gatewayCreateTransactionErr: fee.ErrTxnNoFee, + err: "400 Bad Request - Transaction has zero coinhour fee", + }, + + { + name: "400 - insufficient coin hours", + method: http.MethodPost, + body: validBody, + status: http.StatusBadRequest, + gatewayCreateTransactionErr: fee.ErrTxnInsufficientCoinHours, + err: "400 Bad Request - Insufficient coinhours for transaction outputs", + }, + + { + name: "400 - uxout doesn't exist", + method: http.MethodPost, + body: validBody, + status: http.StatusBadRequest, + gatewayCreateTransactionErr: blockdb.NewErrUnspentNotExist("foo"), + err: "400 Bad Request - unspent output of foo does not exist", + }, + + { + name: "400 - other wallet error", + method: http.MethodPost, + body: validBody, + status: http.StatusBadRequest, + gatewayCreateTransactionErr: wallet.ErrWalletEncrypted, + err: "400 Bad Request - wallet is encrypted", + }, + + { + name: "404 - wallet not found", + method: http.MethodPost, + body: validBody, + status: http.StatusNotFound, + gatewayCreateTransactionErr: wallet.ErrWalletNotExist, + err: "404 Not Found - wallet doesn't exist", + }, + + { + name: "403 - wallet API disabled", + method: http.MethodPost, + body: validBody, + status: http.StatusForbidden, + gatewayCreateTransactionErr: wallet.ErrWalletAPIDisabled, + err: "403 Forbidden", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := &GatewayerMock{} + gateway.On("IsCSPEnabled").Return(false) + + // If the rawRequestBody can be deserialized to CreateTransactionRequest, use it to mock gateway.CreateTransaction + serializedBody, err := json.Marshal(tc.body) + require.NoError(t, err) + var body createTransactionRequest + err = json.Unmarshal(serializedBody, &body) + if err == nil { + gateway.On("CreateTransaction", body.ToWalletParams()).Return(tc.gatewayCreateTransactionResult, tc.gatewayCreateTransactionInputs, tc.gatewayCreateTransactionErr) + } + + endpoint := "/api/v1/wallet/transaction" + + requestJSON, err := json.Marshal(tc.body) + require.NoError(t, err) + + req, err := http.NewRequest(tc.method, endpoint, bytes.NewBuffer(requestJSON)) + require.NoError(t, err) + + contentType := tc.contentType + if contentType == "" { + contentType = "application/json" + } + + req.Header.Add("Content-Type", contentType) + + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String())) + } else { + var msg CreateTransactionResponse + err := json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.NotNil(t, tc.createTransactionResponse) + require.Equal(t, *tc.createTransactionResponse, msg) + } + }) + } +} + +func newStrPtr(s string) *string { + return &s +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/transaction.go b/vendor/github.com/skycoin/skycoin/src/api/transaction.go new file mode 100755 index 0000000..da578c0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/transaction.go @@ -0,0 +1,471 @@ +package api + +import ( + "encoding/hex" + "encoding/json" + "errors" + "fmt" + "net/http" + "strconv" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/wallet" + + wh "github.com/skycoin/skycoin/src/util/http" //http,json helpers +) + +// Returns pending transactions +func getPendingTxns(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + txns, err := gateway.GetAllUnconfirmedTxns() + if err != nil { + wh.Error500(w, err.Error()) + return + } + + ret := make([]*visor.ReadableUnconfirmedTxn, 0, len(txns)) + for _, unconfirmedTxn := range txns { + readable, err := visor.NewReadableUnconfirmedTxn(&unconfirmedTxn) + if err != nil { + wh.Error500(w, err.Error()) + return + } + ret = append(ret, readable) + } + + wh.SendJSONOr500(logger, w, &ret) + } +} + +func getTransactionByID(gate Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + txid := r.FormValue("txid") + if txid == "" { + wh.Error400(w, "txid is empty") + return + } + + h, err := cipher.SHA256FromHex(txid) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + txn, err := gate.GetTransaction(h) + if err != nil { + wh.Error400(w, err.Error()) + return + } + if txn == nil { + wh.Error404(w, "") + return + } + + rbTxn, err := visor.NewReadableTransaction(txn) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + resTxn := daemon.TransactionResult{ + Transaction: *rbTxn, + Status: txn.Status, + Time: txn.Time, + } + wh.SendJSONOr500(logger, w, &resTxn) + } +} + +// Returns transactions that match the filters. +// Method: GET +// URI: /api/v1/transactions +// Args: +// addrs: Comma seperated addresses [optional, returns all transactions if no address provided] +// confirmed: Whether the transactions should be confirmed [optional, must be 0 or 1; if not provided, returns all] +func getTransactions(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + // Gets 'addrs' parameter value + addrs, err := parseAddressesFromStr(r.FormValue("addrs")) + if err != nil { + wh.Error400(w, fmt.Sprintf("parse parameter: 'addrs' failed: %v", err)) + return + } + + // Initialize transaction filters + flts := []visor.TxFilter{visor.AddrsFilter(addrs)} + + // Gets the 'confirmed' parameter value + confirmedStr := r.FormValue("confirmed") + if confirmedStr != "" { + confirmed, err := strconv.ParseBool(confirmedStr) + if err != nil { + wh.Error400(w, fmt.Sprintf("invalid 'confirmed' value: %v", err)) + return + } + + flts = append(flts, visor.ConfirmedTxFilter(confirmed)) + } + + // Gets transactions + txns, err := gateway.GetTransactions(flts...) + if err != nil { + err = fmt.Errorf("gateway.GetTransactions failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + // Converts visor.Transaction to daemon.TransactionResult + txnRlts, err := daemon.NewTransactionResults(txns) + if err != nil { + err = fmt.Errorf("daemon.NewTransactionResults failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, txnRlts.Txns) + } +} + +// parseAddressesFromStr parses comma seperated addresses string into []cipher.Address +func parseAddressesFromStr(s string) ([]cipher.Address, error) { + addrsStr := splitCommaString(s) + + var addrs []cipher.Address + for _, s := range addrsStr { + a, err := cipher.DecodeBase58Address(s) + if err != nil { + return nil, err + } + + addrs = append(addrs, a) + } + + return addrs, nil +} + +// URI: /api/v1/injectTransaction +// Method: POST +// Content-Type: application/json +// Body: {"rawtx": ""} +// Response: +// 400 - bad transaction +// 503 - network unavailable for broadcasting transaction +// 200 - ok, returns the transaction hash in hex as string +func injectTransaction(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + // get the rawtransaction + v := struct { + Rawtx string `json:"rawtx"` + }{} + + if err := json.NewDecoder(r.Body).Decode(&v); err != nil { + wh.Error400(w, err.Error()) + return + } + + b, err := hex.DecodeString(v.Rawtx) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + txn, err := coin.TransactionDeserialize(b) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + if err := gateway.InjectBroadcastTransaction(txn); err != nil { + err = fmt.Errorf("inject tx failed: %v", err) + wh.Error503(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, txn.Hash().Hex()) + } +} + +func resendUnconfirmedTxns(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + rlt, err := gateway.ResendUnconfirmedTxns() + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, rlt) + return + } +} + +func getRawTxn(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + txid := r.FormValue("txid") + if txid == "" { + wh.Error400(w, "txid is empty") + return + } + + h, err := cipher.SHA256FromHex(txid) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + txn, err := gateway.GetTransaction(h) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + if txn == nil { + wh.Error404(w, "") + return + } + + d := txn.Txn.Serialize() + wh.SendJSONOr500(logger, w, hex.EncodeToString(d)) + return + } +} + +// VerifyTxnRequest represents the data struct of the request for /api/v2/transaction/verify +type VerifyTxnRequest struct { + EncodedTransaction string `json:"encoded_transaction"` +} + +// VerifyTxnResponse the response data struct for /api/v2/transaction/verify +type VerifyTxnResponse struct { + Confirmed bool `json:"confirmed"` + Transaction CreatedTransaction `json:"transaction"` +} + +func writeHTTPResponse(w http.ResponseWriter, resp HTTPResponse) { + out, err := json.MarshalIndent(resp, "", " ") + if err != nil { + wh.Error500(w, "json.MarshalIndent failed") + return + } + + w.Header().Add("Content-Type", "application/json") + + if resp.Error == nil { + w.WriteHeader(http.StatusOK) + } else { + if resp.Error.Code < 400 || resp.Error.Code >= 600 { + logger.Critical().Errorf("writeHTTPResponse invalid error status code: %d", resp.Error.Code) + w.WriteHeader(http.StatusInternalServerError) + } else { + w.WriteHeader(resp.Error.Code) + } + } + + if _, err := w.Write(out); err != nil { + logger.WithError(err).Error("http Write failed") + } +} + +// Decode and verify an encoded transaction +// Method: POST +// URI: /api/v2/transaction/verify +func verifyTxnHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + resp := NewHTTPErrorResponse(http.StatusMethodNotAllowed, "") + writeHTTPResponse(w, resp) + return + } + + if r.Header.Get("Content-Type") != "application/json" { + resp := NewHTTPErrorResponse(http.StatusUnsupportedMediaType, "") + writeHTTPResponse(w, resp) + return + } + + var req VerifyTxnRequest + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + writeHTTPResponse(w, resp) + return + } + + txn, err := decodeTxn(req.EncodedTransaction) + if err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, fmt.Sprintf("decode transaction failed: %v", err)) + writeHTTPResponse(w, resp) + return + } + + var resp HTTPResponse + inputs, isTxnConfirmed, err := gateway.VerifyTxnVerbose(txn) + if err != nil { + switch err.(type) { + case visor.ErrTxnViolatesSoftConstraint, + visor.ErrTxnViolatesHardConstraint, + visor.ErrTxnViolatesUserConstraint: + resp.Error = &HTTPError{ + Code: http.StatusUnprocessableEntity, + Message: err.Error(), + } + default: + resp := NewHTTPErrorResponse(http.StatusInternalServerError, err.Error()) + writeHTTPResponse(w, resp) + return + } + } + + verifyTxnResp := VerifyTxnResponse{ + Confirmed: isTxnConfirmed, + } + + if len(inputs) != len(txn.In) { + inputs = nil + } + verboseTxn, err := newCreatedTransactionFuzzy(txn, inputs) + if err != nil { + resp := NewHTTPErrorResponse(http.StatusInternalServerError, err.Error()) + writeHTTPResponse(w, resp) + return + } + + verifyTxnResp.Transaction = *verboseTxn + + resp.Data = verifyTxnResp + + if isTxnConfirmed && resp.Error == nil { + resp.Error = &HTTPError{ + Code: http.StatusUnprocessableEntity, + Message: "transaction has been spent", + } + } + + writeHTTPResponse(w, resp) + } +} + +func decodeTxn(encodedTxn string) (*coin.Transaction, error) { + var txn coin.Transaction + b, err := hex.DecodeString(encodedTxn) + if err != nil { + return nil, err + } + + txn, err = coin.TransactionDeserialize(b) + if err != nil { + return nil, err + } + + return &txn, nil +} + +// newCreatedTransactionFuzzy creates a CreatedTransaction but accomodates possibly invalid txn input +func newCreatedTransactionFuzzy(txn *coin.Transaction, inputs []wallet.UxBalance) (*CreatedTransaction, error) { + if len(txn.In) != len(inputs) && len(inputs) != 0 { + return nil, errors.New("len(txn.In) != len(inputs)") + } + + var outputHours uint64 + var feeInvalid bool + for _, o := range txn.Out { + var err error + outputHours, err = coin.AddUint64(outputHours, o.Hours) + if err != nil { + feeInvalid = true + } + } + + var inputHours uint64 + for _, i := range inputs { + var err error + inputHours, err = coin.AddUint64(inputHours, i.Hours) + if err != nil { + feeInvalid = true + } + } + + if inputHours < outputHours { + feeInvalid = true + } + + var fee uint64 + if !feeInvalid { + fee = inputHours - outputHours + } + + sigs := make([]string, len(txn.Sigs)) + for i, s := range txn.Sigs { + sigs[i] = s.Hex() + } + + txid := txn.Hash() + out := make([]CreatedTransactionOutput, len(txn.Out)) + for i, o := range txn.Out { + co, err := NewCreatedTransactionOutput(o, txid) + if err != nil { + logger.WithError(err).Error("NewCreatedTransactionOutput failed") + continue + } + out[i] = *co + } + + in := make([]CreatedTransactionInput, len(txn.In)) + if len(inputs) == 0 { + for i, h := range txn.In { + in[i] = CreatedTransactionInput{ + UxID: h.Hex(), + } + } + } else { + for i, o := range inputs { + ci, err := NewCreatedTransactionInput(o) + if err != nil { + logger.WithError(err).Error("NewCreatedTransactionInput failed") + continue + } + in[i] = *ci + } + } + + return &CreatedTransaction{ + Length: txn.Length, + Type: txn.Type, + TxID: txid.Hex(), + InnerHash: txn.InnerHash.Hex(), + Fee: fmt.Sprint(fee), + + Sigs: sigs, + In: in, + Out: out, + }, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/transaction_test.go b/vendor/github.com/skycoin/skycoin/src/api/transaction_test.go new file mode 100755 index 0000000..284db49 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/transaction_test.go @@ -0,0 +1,1045 @@ +package api + +import ( + "encoding/json" + "net/http" + "net/http/httptest" + "strings" + "testing" + + "github.com/stretchr/testify/require" + + "math" + + "time" + + "net/url" + + "errors" + + "bytes" + "encoding/hex" + + "github.com/stretchr/testify/mock" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/util/utc" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/wallet" +) + +func createUnconfirmedTxn(t *testing.T) visor.UnconfirmedTxn { + ut := visor.UnconfirmedTxn{} + ut.Txn = coin.Transaction{} + ut.Txn.InnerHash = testutil.RandSHA256(t) + ut.Received = utc.Now().UnixNano() + ut.Checked = ut.Received + ut.Announced = time.Time{}.UnixNano() + return ut +} + +func makeUxOutWithSecret(t *testing.T) (coin.UxOut, cipher.SecKey) { + body, sec := makeUxBodyWithSecret(t) + return coin.UxOut{ + Head: coin.UxHead{ + Time: 100, + BkSeq: 2, + }, + Body: body, + }, sec +} + +func makeUxBodyWithSecret(t *testing.T) (coin.UxBody, cipher.SecKey) { + p, s := cipher.GenerateKeyPair() + return coin.UxBody{ + SrcTransaction: testutil.RandSHA256(t), + Address: cipher.AddressFromPubKey(p), + Coins: 1e6, + Hours: 100, + }, s +} + +func makeAddress() cipher.Address { + p, _ := cipher.GenerateKeyPair() + return cipher.AddressFromPubKey(p) +} + +func makeTransaction(t *testing.T) coin.Transaction { + txn := coin.Transaction{} + ux, s := makeUxOutWithSecret(t) + + txn.PushInput(ux.Hash()) + txn.SignInputs([]cipher.SecKey{s}) + txn.PushOutput(makeAddress(), 1e6, 50) + txn.PushOutput(makeAddress(), 5e6, 50) + txn.UpdateHeader() + return txn +} + +func TestGetPendingTxs(t *testing.T) { + invalidTxn := createUnconfirmedTxn(t) + invalidTxn.Txn.Out = append(invalidTxn.Txn.Out, coin.TransactionOutput{ + Coins: math.MaxInt64 + 1, + }) + + tt := []struct { + name string + method string + url string + status int + err string + getAllUnconfirmedTxnsResponse []visor.UnconfirmedTxn + getAllUnconfirmedTxnsErr error + httpResponse []*visor.ReadableUnconfirmedTxn + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + getAllUnconfirmedTxnsResponse: []visor.UnconfirmedTxn{}, + }, + { + name: "500 - bad unconfirmedTxn", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - Droplet string conversion failed: Value is too large", + getAllUnconfirmedTxnsResponse: []visor.UnconfirmedTxn{ + invalidTxn, + }, + }, + { + name: "500 - get unconfirmedTxn error", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - GetAllUnconfirmedTxns failed", + getAllUnconfirmedTxnsErr: errors.New("GetAllUnconfirmedTxns failed"), + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + getAllUnconfirmedTxnsResponse: []visor.UnconfirmedTxn{}, + httpResponse: []*visor.ReadableUnconfirmedTxn{}, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/pendingTxs" + gateway := NewGatewayerMock() + gateway.On("GetAllUnconfirmedTxns").Return(tc.getAllUnconfirmedTxnsResponse, tc.getAllUnconfirmedTxnsErr) + gateway.On("IsCSPEnabled").Return(false) + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + rr := httptest.NewRecorder() + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg []*visor.ReadableUnconfirmedTxn + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.httpResponse, msg, tc.name) + } + }) + } +} + +func TestGetTransactionByID(t *testing.T) { + oddHash := "cafcb" + invalidHash := "cabrca" + validHash := "79216473e8f2c17095c6887cc9edca6c023afedfac2e0c5460e8b6f359684f8b" + type httpBody struct { + txid string + } + + tt := []struct { + name string + method string + status int + err string + httpBody *httpBody + getTransactionArg cipher.SHA256 + getTransactionReponse *visor.Transaction + getTransactionError error + httpResponse daemon.TransactionResult + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + getTransactionArg: testutil.RandSHA256(t), + }, + { + name: "400 - empty txid", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - txid is empty", + httpBody: &httpBody{ + txid: "", + }, + getTransactionArg: testutil.RandSHA256(t), + }, + { + name: "400 - invalid hash: odd length hex string", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - encoding/hex: odd length hex string", + httpBody: &httpBody{ + txid: oddHash, + }, + getTransactionArg: testutil.RandSHA256(t), + }, + { + name: "400 - invalid hash: invalid byte: U+0072 'r'", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - encoding/hex: invalid byte: U+0072 'r'", + httpBody: &httpBody{ + txid: invalidHash, + }, + getTransactionArg: testutil.RandSHA256(t), + }, + { + name: "400 - getTransactionError", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - getTransactionError", + httpBody: &httpBody{ + txid: validHash, + }, + getTransactionArg: testutil.SHA256FromHex(t, validHash), + getTransactionError: errors.New("getTransactionError"), + }, + { + name: "404", + method: http.MethodGet, + status: http.StatusNotFound, + err: "404 Not Found", + httpBody: &httpBody{ + txid: validHash, + }, + getTransactionArg: testutil.SHA256FromHex(t, validHash), + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + httpBody: &httpBody{ + txid: validHash, + }, + getTransactionArg: testutil.SHA256FromHex(t, validHash), + getTransactionReponse: &visor.Transaction{}, + httpResponse: daemon.TransactionResult{ + Transaction: visor.ReadableTransaction{ + Sigs: []string{}, + In: []string{}, + Out: []visor.ReadableTransactionOutput{}, + Hash: "78877fa898f0b4c45c9c33ae941e40617ad7c8657a307db62bc5691f92f4f60e", + InnerHash: "0000000000000000000000000000000000000000000000000000000000000000", + }, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/transaction" + gateway := NewGatewayerMock() + gateway.On("GetTransaction", tc.getTransactionArg).Return(tc.getTransactionReponse, tc.getTransactionError) + gateway.On("IsCSPEnabled").Return(false) + + v := url.Values{} + if tc.httpBody != nil { + if tc.httpBody.txid != "" { + v.Add("txid", tc.httpBody.txid) + } + } + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg daemon.TransactionResult + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.httpResponse, msg, tc.name) + } + }) + } +} + +func TestInjectTransaction(t *testing.T) { + validTransaction := makeTransaction(t) + type httpBody struct { + Rawtx string `json:"rawtx"` + } + + validTxnBody := &httpBody{Rawtx: hex.EncodeToString(validTransaction.Serialize())} + validTxnBodyJSON, err := json.Marshal(validTxnBody) + require.NoError(t, err) + + b := &httpBody{Rawtx: hex.EncodeToString(testutil.RandBytes(t, 128))} + invalidTxnBodyJSON, err := json.Marshal(b) + require.NoError(t, err) + + tt := []struct { + name string + method string + status int + err string + httpBody string + injectTransactionArg coin.Transaction + injectTransactionError error + httpResponse string + csrfDisabled bool + }{ + { + name: "405", + method: http.MethodGet, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + injectTransactionArg: validTransaction, + }, + { + name: "400 - EOF", + method: http.MethodPost, + status: http.StatusBadRequest, + err: "400 Bad Request - EOF", + }, + { + name: "400 - Invalid transaction: Deserialization failed", + method: http.MethodPost, + status: http.StatusBadRequest, + err: "400 Bad Request - Invalid transaction: Deserialization failed", + httpBody: `{"wrongKey":"wrongValue"}`, + }, + { + name: "400 - encoding/hex: odd length hex string", + method: http.MethodPost, + status: http.StatusBadRequest, + err: "400 Bad Request - encoding/hex: odd length hex string", + httpBody: `{"rawtx":"aab"}`, + }, + { + name: "400 - rawtx deserialization error", + method: http.MethodPost, + status: http.StatusBadRequest, + err: "400 Bad Request - Invalid transaction: Deserialization failed", + httpBody: string(invalidTxnBodyJSON), + }, + { + name: "503 - injectTransactionError", + method: http.MethodPost, + status: http.StatusServiceUnavailable, + err: "503 Service Unavailable - inject tx failed: injectTransactionError", + httpBody: string(validTxnBodyJSON), + injectTransactionArg: validTransaction, + injectTransactionError: errors.New("injectTransactionError"), + }, + { + name: "200", + method: http.MethodPost, + status: http.StatusOK, + httpBody: string(validTxnBodyJSON), + injectTransactionArg: validTransaction, + httpResponse: validTransaction.Hash().Hex(), + }, + { + name: "200 - csrf disabled", + method: http.MethodPost, + status: http.StatusOK, + httpBody: string(validTxnBodyJSON), + injectTransactionArg: validTransaction, + httpResponse: validTransaction.Hash().Hex(), + csrfDisabled: true, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/injectTransaction" + gateway := NewGatewayerMock() + gateway.On("InjectBroadcastTransaction", tc.injectTransactionArg).Return(tc.injectTransactionError) + gateway.On("IsCSPEnabled").Return(false) + + req, err := http.NewRequest(tc.method, endpoint, bytes.NewBufferString(tc.httpBody)) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + expectedResponse, err := json.MarshalIndent(tc.httpResponse, "", " ") + require.NoError(t, err) + require.Equal(t, string(expectedResponse), rr.Body.String(), tc.name) + } + }) + } +} + +func TestResendUnconfirmedTxns(t *testing.T) { + tt := []struct { + name string + method string + status int + err string + httpBody string + resendUnconfirmedTxnsResponse *daemon.ResendResult + resendUnconfirmedTxnsErr error + httpResponse *daemon.ResendResult + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "500 resend failed", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - ResendUnconfirmedTxns failed", + resendUnconfirmedTxnsErr: errors.New("ResendUnconfirmedTxns failed"), + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + resendUnconfirmedTxnsResponse: &daemon.ResendResult{}, + httpResponse: &daemon.ResendResult{}, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/resendUnconfirmedTxns" + gateway := NewGatewayerMock() + gateway.On("ResendUnconfirmedTxns").Return(tc.resendUnconfirmedTxnsResponse, tc.resendUnconfirmedTxnsErr) + gateway.On("IsCSPEnabled").Return(false) + + req, err := http.NewRequest(tc.method, endpoint, bytes.NewBufferString(tc.httpBody)) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg *daemon.ResendResult + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.httpResponse, msg, tc.name) + } + }) + } +} + +func TestGetRawTx(t *testing.T) { + oddHash := "cafcb" + invalidHash := "cabrca" + validHash := "79216473e8f2c17095c6887cc9edca6c023afedfac2e0c5460e8b6f359684f8b" + type httpBody struct { + txid string + } + + tt := []struct { + name string + method string + url string + status int + err string + httpBody *httpBody + getTransactionArg cipher.SHA256 + getTransactionResponse *visor.Transaction + getTransactionError error + httpResponse string + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + getTransactionArg: testutil.RandSHA256(t), + }, + { + name: "400 - txid is empty", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - txid is empty", + httpBody: &httpBody{}, + getTransactionArg: testutil.RandSHA256(t), + }, + { + name: "400 - invalid hash: odd length hex string", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - encoding/hex: odd length hex string", + httpBody: &httpBody{ + txid: oddHash, + }, + getTransactionArg: testutil.RandSHA256(t), + }, + { + name: "400 - invalid hash: invalid byte: U+0072 'r'", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - encoding/hex: invalid byte: U+0072 'r'", + httpBody: &httpBody{ + txid: invalidHash, + }, + getTransactionArg: testutil.RandSHA256(t), + }, + { + name: "400 - getTransactionError", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - getTransactionError", + httpBody: &httpBody{ + txid: validHash, + }, + getTransactionArg: testutil.SHA256FromHex(t, validHash), + getTransactionError: errors.New("getTransactionError"), + }, + { + name: "404", + method: http.MethodGet, + status: http.StatusNotFound, + err: "404 Not Found", + httpBody: &httpBody{ + txid: validHash, + }, + getTransactionArg: testutil.SHA256FromHex(t, validHash), + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + httpBody: &httpBody{ + txid: validHash, + }, + getTransactionArg: testutil.SHA256FromHex(t, validHash), + getTransactionResponse: &visor.Transaction{}, + httpResponse: "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/rawtx" + gateway := NewGatewayerMock() + gateway.On("GetTransaction", tc.getTransactionArg).Return(tc.getTransactionResponse, tc.getTransactionError) + gateway.On("IsCSPEnabled").Return(false) + v := url.Values{} + if tc.httpBody != nil { + if tc.httpBody.txid != "" { + v.Add("txid", tc.httpBody.txid) + } + } + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + expectedResponse, err := json.MarshalIndent(tc.httpResponse, "", " ") + require.NoError(t, err) + require.Equal(t, string(expectedResponse), rr.Body.String(), tc.name) + } + }) + } +} + +func TestGetTransactions(t *testing.T) { + invalidAddrsStr := "invalid,addrs" + addrsStr := "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ,2PBmUva7J8WFsyWg979cREZkU3z2pkYjNkE" + var addrs []cipher.Address + for _, item := range []string{"2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", "2PBmUva7J8WFsyWg979cREZkU3z2pkYjNkE"} { + addr, err := cipher.DecodeBase58Address(item) + require.NoError(t, err) + addrs = append(addrs, addr) + } + invalidTxn := makeTransaction(t) + invalidTxn.Out = append(invalidTxn.Out, coin.TransactionOutput{ + Coins: math.MaxInt64 + 1, + }) + type httpBody struct { + addrs string + confirmed string + } + + tt := []struct { + name string + method string + status int + err string + httpBody *httpBody + getTransactionsArg []visor.TxFilter + getTransactionsResponse []visor.Transaction + getTransactionsError error + httpResponse []visor.Transaction + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "400 - invalid `addrs` param", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - parse parameter: 'addrs' failed: Invalid base58 character", + httpBody: &httpBody{ + addrs: invalidAddrsStr, + }, + getTransactionsArg: []visor.TxFilter{ + visor.AddrsFilter(addrs), + }, + }, + { + name: "400 - invalid `confirmed` param", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid 'confirmed' value: strconv.ParseBool: parsing \"invalidConfirmed\": invalid syntax", + httpBody: &httpBody{ + addrs: addrsStr, + confirmed: "invalidConfirmed", + }, + getTransactionsArg: []visor.TxFilter{ + visor.AddrsFilter(addrs), + }, + }, + { + name: "500 - getTransactionsError", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - gateway.GetTransactions failed: getTransactionsError", + httpBody: &httpBody{ + addrs: addrsStr, + confirmed: "true", + }, + getTransactionsArg: []visor.TxFilter{ + visor.AddrsFilter(addrs), + visor.ConfirmedTxFilter(true), + }, + getTransactionsError: errors.New("getTransactionsError"), + }, + { + name: "500 - daemon.NewTransactionResults error", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - daemon.NewTransactionResults failed: Droplet string conversion failed: Value is too large", + httpBody: &httpBody{ + addrs: addrsStr, + confirmed: "true", + }, + getTransactionsArg: []visor.TxFilter{ + visor.AddrsFilter(addrs), + visor.ConfirmedTxFilter(true), + }, + getTransactionsResponse: []visor.Transaction{ + { + Txn: invalidTxn, + Status: visor.TransactionStatus{ + Confirmed: true, + Height: 103, + }, + }, + }, + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + httpBody: &httpBody{ + addrs: addrsStr, + confirmed: "true", + }, + getTransactionsArg: []visor.TxFilter{ + visor.AddrsFilter(addrs), + visor.ConfirmedTxFilter(true), + }, + getTransactionsResponse: []visor.Transaction{}, + httpResponse: []visor.Transaction{}, + }, + } + + for _, tc := range tt { + endpoint := "/api/v1/transactions" + t.Run(tc.name, func(t *testing.T) { + gateway := NewGatewayerMock() + gateway.On("GetTransactions", mock.Anything).Return(tc.getTransactionsResponse, tc.getTransactionsError) + gateway.On("IsCSPEnabled").Return(false) + + v := url.Values{} + if tc.httpBody != nil { + if tc.httpBody.addrs != "" { + v.Add("addrs", tc.httpBody.addrs) + } + if tc.httpBody.confirmed != "" { + v.Add("confirmed", tc.httpBody.confirmed) + } + } + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %d, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg []visor.Transaction + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.httpResponse, msg, tc.name) + } + }) + } +} + +type transactionAndInputs struct { + txn coin.Transaction + inputs []wallet.UxBalance +} + +func newVerifyTxnResponseJSON(t *testing.T, txn *coin.Transaction, inputs []wallet.UxBalance, isTxnConfirmed bool) VerifyTxnResponse { + ctxn, err := newCreatedTransactionFuzzy(txn, inputs) + require.NoError(t, err) + return VerifyTxnResponse{ + Transaction: *ctxn, + Confirmed: isTxnConfirmed, + } +} + +func prepareTxnAndInputs(t *testing.T) transactionAndInputs { + txn := coin.Transaction{} + ux, s := makeUxOutWithSecret(t) + + txn.PushInput(ux.Hash()) + txn.SignInputs([]cipher.SecKey{s}) + txn.PushOutput(makeAddress(), 1e6, 50) + txn.PushOutput(makeAddress(), 5e6, 50) + txn.UpdateHeader() + + input, err := wallet.NewUxBalance(uint64(utc.UnixNow()), ux) + require.NoError(t, err) + + return transactionAndInputs{txn: txn, inputs: []wallet.UxBalance{input}} +} + +func makeTransactionWithEmptyAddressOutput(t *testing.T) transactionAndInputs { + txn := coin.Transaction{} + ux, s := makeUxOutWithSecret(t) + + txn.PushInput(ux.Hash()) + txn.SignInputs([]cipher.SecKey{s}) + txn.PushOutput(makeAddress(), 1e6, 50) + txn.PushOutput(cipher.Address{}, 5e6, 50) + txn.UpdateHeader() + + input, err := wallet.NewUxBalance(uint64(utc.UnixNow()), ux) + require.NoError(t, err) + + return transactionAndInputs{txn: txn, inputs: []wallet.UxBalance{input}} +} + +func TestVerifyTransaction(t *testing.T) { + txnAndInputs := prepareTxnAndInputs(t) + type httpBody struct { + EncodedTransaction string `json:"encoded_transaction"` + } + + validTxnBody := &httpBody{EncodedTransaction: hex.EncodeToString(txnAndInputs.txn.Serialize())} + validTxnBodyJSON, err := json.Marshal(validTxnBody) + require.NoError(t, err) + + b := &httpBody{EncodedTransaction: hex.EncodeToString(testutil.RandBytes(t, 128))} + invalidTxnBodyJSON, err := json.Marshal(b) + require.NoError(t, err) + + invalidTxnEmptyAddress := makeTransactionWithEmptyAddressOutput(t) + invalidTxnEmptyAddressBody := &httpBody{ + EncodedTransaction: hex.EncodeToString(invalidTxnEmptyAddress.txn.Serialize()), + } + invalidTxnEmptyAddressBodyJSON, err := json.Marshal(invalidTxnEmptyAddressBody) + require.NoError(t, err) + + type verifyTxnVerboseResult struct { + Uxouts []wallet.UxBalance + IsTxnConfirmed bool + Err error + } + + tt := []struct { + name string + method string + contentType string + status int + err string + httpBody string + gatewayVerifyTxnVerboseArg coin.Transaction + gatewayVerifyTxnVerboseResult verifyTxnVerboseResult + httpResponse HTTPResponse + csrfDisabled bool + }{ + { + name: "405", + method: http.MethodGet, + status: http.StatusMethodNotAllowed, + gatewayVerifyTxnVerboseArg: txnAndInputs.txn, + httpResponse: NewHTTPErrorResponse(http.StatusMethodNotAllowed, ""), + }, + { + name: "400 - EOF", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusBadRequest, + httpResponse: NewHTTPErrorResponse(http.StatusBadRequest, "EOF"), + }, + { + name: "415 - Unsupported Media Type", + method: http.MethodPost, + contentType: "", + status: http.StatusUnsupportedMediaType, + httpResponse: NewHTTPErrorResponse(http.StatusUnsupportedMediaType, ""), + }, + { + name: "400 - Invalid transaction: Deserialization failed", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusBadRequest, + httpBody: `{"wrongKey":"wrongValue"}`, + httpResponse: NewHTTPErrorResponse(http.StatusBadRequest, "decode transaction failed: Invalid transaction: Deserialization failed"), + }, + { + name: "400 - encoding/hex: odd length hex string", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusBadRequest, + httpBody: `{"encoded_transaction":"aab"}`, + httpResponse: NewHTTPErrorResponse(http.StatusBadRequest, "decode transaction failed: encoding/hex: odd length hex string"), + }, + { + name: "400 - deserialization error", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusBadRequest, + httpBody: string(invalidTxnBodyJSON), + httpResponse: NewHTTPErrorResponse(http.StatusBadRequest, "decode transaction failed: Invalid transaction: Deserialization failed"), + }, + { + name: "422 - txn sends to empty address", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusUnprocessableEntity, + httpBody: string(invalidTxnEmptyAddressBodyJSON), + gatewayVerifyTxnVerboseArg: invalidTxnEmptyAddress.txn, + gatewayVerifyTxnVerboseResult: verifyTxnVerboseResult{ + Uxouts: invalidTxnEmptyAddress.inputs, + Err: visor.NewErrTxnViolatesUserConstraint(errors.New("Transaction.Out contains an output sending to an empty address")), + }, + httpResponse: HTTPResponse{ + Data: newVerifyTxnResponseJSON(t, &invalidTxnEmptyAddress.txn, invalidTxnEmptyAddress.inputs, false), + Error: &HTTPError{ + Code: http.StatusUnprocessableEntity, + Message: "Transaction violates user constraint: Transaction.Out contains an output sending to an empty address", + }, + }, + }, + { + name: "500 - internal server error", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusInternalServerError, + httpBody: string(validTxnBodyJSON), + gatewayVerifyTxnVerboseArg: txnAndInputs.txn, + gatewayVerifyTxnVerboseResult: verifyTxnVerboseResult{ + Err: errors.New("verify transaction failed"), + }, + httpResponse: NewHTTPErrorResponse(http.StatusInternalServerError, "verify transaction failed"), + }, + { + name: "422 - txn is confirmed", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusUnprocessableEntity, + httpBody: string(validTxnBodyJSON), + gatewayVerifyTxnVerboseArg: txnAndInputs.txn, + gatewayVerifyTxnVerboseResult: verifyTxnVerboseResult{ + Uxouts: txnAndInputs.inputs, + IsTxnConfirmed: true, + }, + httpResponse: HTTPResponse{ + Error: &HTTPError{ + Message: "transaction has been spent", + Code: http.StatusUnprocessableEntity, + }, + Data: newVerifyTxnResponseJSON(t, &txnAndInputs.txn, txnAndInputs.inputs, true), + }, + }, + { + name: "200", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusOK, + httpBody: string(validTxnBodyJSON), + gatewayVerifyTxnVerboseArg: txnAndInputs.txn, + gatewayVerifyTxnVerboseResult: verifyTxnVerboseResult{ + Uxouts: txnAndInputs.inputs, + }, + httpResponse: HTTPResponse{ + Data: newVerifyTxnResponseJSON(t, &txnAndInputs.txn, txnAndInputs.inputs, false), + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v2/transaction/verify" + gateway := NewGatewayerMock() + gateway.On("VerifyTxnVerbose", &tc.gatewayVerifyTxnVerboseArg).Return(tc.gatewayVerifyTxnVerboseResult.Uxouts, + tc.gatewayVerifyTxnVerboseResult.IsTxnConfirmed, tc.gatewayVerifyTxnVerboseResult.Err) + gateway.On("IsCSPEnabled").Return(false) + + req, err := http.NewRequest(tc.method, endpoint, bytes.NewBufferString(tc.httpBody)) + require.NoError(t, err) + req.Header.Set("Content-Type", tc.contentType) + + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + var rsp ReceivedHTTPResponse + err = json.NewDecoder(rr.Body).Decode(&rsp) + require.NoError(t, err) + + require.Equal(t, tc.httpResponse.Error, rsp.Error) + + if rsp.Data == nil { + require.Nil(t, tc.httpResponse.Data) + } else { + require.NotNil(t, tc.httpResponse.Data) + + var txnRsp VerifyTxnResponse + err := json.Unmarshal(rsp.Data, &txnRsp) + require.NoError(t, err) + + require.Equal(t, tc.httpResponse.Data.(VerifyTxnResponse), txnRsp) + } + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/uxout.go b/vendor/github.com/skycoin/skycoin/src/api/uxout.go new file mode 100755 index 0000000..e6819f9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/uxout.go @@ -0,0 +1,77 @@ +package api + +import ( + "net/http" + + "github.com/skycoin/skycoin/src/cipher" + wh "github.com/skycoin/skycoin/src/util/http" //http,json helpers + "github.com/skycoin/skycoin/src/visor/historydb" +) + +func getUxOutByID(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + uxid := r.FormValue("uxid") + if uxid == "" { + wh.Error400(w, "uxid is empty") + return + } + + id, err := cipher.SHA256FromHex(uxid) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + uxout, err := gateway.GetUxOutByID(id) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + if uxout == nil { + wh.Error404(w, "") + return + } + + wh.SendJSONOr500(logger, w, historydb.NewUxOutJSON(uxout)) + } +} + +func getAddrUxOuts(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + addr := r.FormValue("address") + if addr == "" { + wh.Error400(w, "address is empty") + return + } + + cipherAddr, err := cipher.DecodeBase58Address(addr) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + uxs, err := gateway.GetAddrUxOuts([]cipher.Address{cipherAddr}) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + //Convert slice UxOut to slice of UxOutJson + uxsJSON := make([]*historydb.UxOutJSON, len(uxs)) + for i, ux := range uxs { + uxsJSON[i] = historydb.NewUxOutJSON(ux) + } + + wh.SendJSONOr500(logger, w, uxsJSON) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/uxout_test.go b/vendor/github.com/skycoin/skycoin/src/api/uxout_test.go new file mode 100755 index 0000000..3c8bd26 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/uxout_test.go @@ -0,0 +1,282 @@ +package api + +import ( + "encoding/json" + "net/http" + "net/http/httptest" + "net/url" + "strings" + "testing" + + "errors" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor/historydb" +) + +func TestGetUxOutByID(t *testing.T) { + invalidHash := "carccb" + oddHash := "caccb" + validHash := "79216473e8f2c17095c6887cc9edca6c023afedfac2e0c5460e8b6f359684f8b" + + type httpBody struct { + uxid string + } + + tt := []struct { + name string + method string + url string + status int + err string + httpBody *httpBody + uxid string + getGetUxOutByIDArg cipher.SHA256 + getGetUxOutByIDResponse *historydb.UxOut + getGetUxOutByIDError error + httpResponse *historydb.UxOutJSON + csrfDisabled bool + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "400 - empty uxin value", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - uxid is empty", + httpBody: &httpBody{ + uxid: "", + }, + }, + { + name: "400 - odd length uxin value", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - encoding/hex: odd length hex string", + httpBody: &httpBody{ + uxid: oddHash, + }, + uxid: oddHash, + }, + { + name: "400 - invalid uxin value", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - encoding/hex: invalid byte: U+0072 'r'", + httpBody: &httpBody{ + uxid: invalidHash, + }, + uxid: invalidHash, + }, + { + name: "400 - getGetUxOutByIDError", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - getGetUxOutByIDError", + httpBody: &httpBody{ + uxid: validHash, + }, + uxid: validHash, + getGetUxOutByIDArg: testutil.SHA256FromHex(t, validHash), + getGetUxOutByIDError: errors.New("getGetUxOutByIDError"), + }, + { + name: "404 - uxout == nil", + method: http.MethodGet, + status: http.StatusNotFound, + err: "404 Not Found", + httpBody: &httpBody{ + uxid: validHash, + }, + uxid: validHash, + getGetUxOutByIDArg: testutil.SHA256FromHex(t, validHash), + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + err: "404 Not Found", + httpBody: &httpBody{ + uxid: validHash, + }, + uxid: validHash, + getGetUxOutByIDArg: testutil.SHA256FromHex(t, validHash), + getGetUxOutByIDResponse: &historydb.UxOut{}, + httpResponse: historydb.NewUxOutJSON(&historydb.UxOut{}), + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := NewGatewayerMock() + endpoint := "/api/v1/uxout" + gateway.On("GetUxOutByID", tc.getGetUxOutByIDArg).Return(tc.getGetUxOutByIDResponse, tc.getGetUxOutByIDError) + gateway.On("IsCSPEnabled").Return(false) + + v := url.Values{} + if tc.httpBody != nil { + if tc.httpBody.uxid != "" { + v.Add("uxid", tc.httpBody.uxid) + } + } + + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg *historydb.UxOutJSON + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.httpResponse, msg, tc.name) + } + }) + } +} + +func TestGetAddrUxOuts(t *testing.T) { + addressForGwError := testutil.MakeAddress() + addressForGwResponse := testutil.MakeAddress() + type httpBody struct { + address string + } + + tt := []struct { + name string + method string + url string + status int + err string + httpBody *httpBody + getAddrUxOutsArg []cipher.Address + getAddrUxOutsResponse []*historydb.UxOut + getAddrUxOutsError error + httpResponse []*historydb.UxOutJSON + csrfDisabled bool + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "400 - address is empty", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - address is empty", + httpBody: &httpBody{ + address: "", + }, + }, + { + name: "400 - cipher.DecodeBase58Address error", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - Invalid address length", + httpBody: &httpBody{ + address: "abcd", + }, + }, + { + name: "400 - gateway.GetAddrUxOuts error", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - getAddrUxOutsError", + httpBody: &httpBody{ + address: addressForGwError.String(), + }, + getAddrUxOutsArg: []cipher.Address{addressForGwError}, + getAddrUxOutsError: errors.New("getAddrUxOutsError"), + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + httpBody: &httpBody{ + address: addressForGwResponse.String(), + }, + getAddrUxOutsArg: []cipher.Address{addressForGwResponse}, + getAddrUxOutsResponse: []*historydb.UxOut{}, + httpResponse: []*historydb.UxOutJSON{}, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v1/address_uxouts" + gateway := NewGatewayerMock() + gateway.On("GetAddrUxOuts", tc.getAddrUxOutsArg).Return(tc.getAddrUxOutsResponse, tc.getAddrUxOutsError) + gateway.On("IsCSPEnabled").Return(false) + + v := url.Values{} + if tc.httpBody != nil { + if tc.httpBody.address != "" { + v.Add("address", tc.httpBody.address) + } + } + + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg []*historydb.UxOutJSON + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.httpResponse, msg, tc.name) + } + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/wallet.go b/vendor/github.com/skycoin/skycoin/src/api/wallet.go new file mode 100755 index 0000000..5bd16e7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/wallet.go @@ -0,0 +1,919 @@ +package api + +// APIs for wallet-related information + +import ( + "fmt" + "net/http" + "sort" + "strconv" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/go-bip39" + + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/wallet" + + "github.com/skycoin/skycoin/src/util/fee" + wh "github.com/skycoin/skycoin/src/util/http" //http,json helpers +) + +// HTTP401AuthHeader WWW-Authenticate value +const HTTP401AuthHeader = "SkycoinWallet" + +// SpendResult represents the result of spending +type SpendResult struct { + Balance *wallet.BalancePair `json:"balance,omitempty"` + Transaction *visor.ReadableTransaction `json:"txn,omitempty"` + Error string `json:"error,omitempty"` +} + +// UnconfirmedTxnsResponse contains unconfirmed transaction data +type UnconfirmedTxnsResponse struct { + Transactions []visor.ReadableUnconfirmedTxn `json:"transactions"` +} + +// WalletEntry the wallet entry struct +type WalletEntry struct { + Address string `json:"address"` + Public string `json:"public_key"` +} + +// WalletMeta the wallet meta struct +type WalletMeta struct { + Coin string `json:"coin"` + Filename string `json:"filename"` + Label string `json:"label"` + Type string `json:"type"` + Version string `json:"version"` + CryptoType string `json:"crypto_type"` + Timestamp int64 `json:"timestamp"` + Encrypted bool `json:"encrypted"` +} + +// WalletResponse wallet response struct for http apis +type WalletResponse struct { + Meta WalletMeta `json:"meta"` + Entries []WalletEntry `json:"entries"` +} + +// BalanceResponse address balance summary struct +type BalanceResponse struct { + wallet.BalancePair + Addresses wallet.AddressBalance `json:"addresses"` +} + +// NewWalletResponse creates WalletResponse struct from *wallet.Wallet +func NewWalletResponse(w *wallet.Wallet) (*WalletResponse, error) { + var wr WalletResponse + + wr.Meta.Coin = w.Meta["coin"] + wr.Meta.Filename = w.Meta["filename"] + wr.Meta.Label = w.Meta["label"] + wr.Meta.Type = w.Meta["type"] + wr.Meta.Version = w.Meta["version"] + wr.Meta.CryptoType = w.Meta["cryptoType"] + + // Converts "encrypted" string to boolean if any + if encryptedStr, ok := w.Meta["encrypted"]; ok { + encrypted, err := strconv.ParseBool(encryptedStr) + if err != nil { + return nil, err + } + wr.Meta.Encrypted = encrypted + } + + if tmStr, ok := w.Meta["tm"]; ok { + // Converts "tm" string to integer timestamp. + tm, err := strconv.ParseInt(tmStr, 10, 64) + if err != nil { + return nil, err + } + wr.Meta.Timestamp = tm + } + + for _, e := range w.Entries { + wr.Entries = append(wr.Entries, WalletEntry{ + Address: e.Address.String(), + Public: e.Public.Hex(), + }) + } + + return &wr, nil +} + +// Returns the wallet's balance, both confirmed and predicted. The predicted +// balance is the confirmed balance minus the pending spends. +// URI: /api/v1/wallet/balance +// Method: GET +// Args: +// id: wallet id [required] +func walletBalanceHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + wltID := r.FormValue("id") + if wltID == "" { + wh.Error400(w, "missing wallet id") + return + } + + walletBalance, addressBalances, err := gateway.GetWalletBalance(wltID) + if err != nil { + logger.Errorf("Get wallet balance failed: %v", err) + switch err { + case wallet.ErrWalletNotExist: + wh.Error404(w, "") + break + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + break + default: + wh.Error500(w, err.Error()) + } + return + } + + wh.SendJSONOr500(logger, w, BalanceResponse{ + BalancePair: walletBalance, + Addresses: addressBalances, + }) + } +} + +// Returns the balance of one or more addresses, both confirmed and predicted. The predicted +// balance is the confirmed balance minus the pending spends. +// URI: /api/v1/balance +// Method: GET +// Args: +// addrs: command separated list of addresses [required] +func getBalanceHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + addrsParam := r.FormValue("addrs") + addrsStr := splitCommaString(addrsParam) + + addrs := make([]cipher.Address, 0, len(addrsStr)) + for _, addr := range addrsStr { + a, err := cipher.DecodeBase58Address(addr) + if err != nil { + wh.Error400(w, fmt.Sprintf("address %s is invalid: %v", addr, err)) + return + } + addrs = append(addrs, a) + } + + if len(addrs) == 0 { + wh.Error400(w, "addrs is required") + return + } + + bals, err := gateway.GetBalanceOfAddrs(addrs) + if err != nil { + err = fmt.Errorf("gateway.GetBalanceOfAddrs failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + // create map of address to balance + addressBalances := make(wallet.AddressBalance, len(addrs)) + for idx, addr := range addrs { + addressBalances[addr.String()] = bals[idx] + } + + var balance wallet.BalancePair + for _, bal := range bals { + var err error + balance.Confirmed, err = balance.Confirmed.Add(bal.Confirmed) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + balance.Predicted, err = balance.Predicted.Add(bal.Predicted) + if err != nil { + wh.Error500(w, err.Error()) + return + } + } + + wh.SendJSONOr500(logger, w, BalanceResponse{ + BalancePair: balance, + Addresses: addressBalances, + }) + } +} + +// Creates and broadcasts a transaction sending money from one of our wallets +// to destination address. +// URI: /api/v1/wallet/spend +// Method: POST +// Args: +// id: wallet id +// dst: recipient address +// coins: the number of droplet you will send +// password: wallet password +// Response: +// balance: new balance of the wallet +// txn: spent transaction +// error: an error that may have occured after broadcast the transaction to the network +// if this field is not empty, the spend succeeded, but the response data could not be prepared +func walletSpendHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + wltID := r.FormValue("id") + if wltID == "" { + wh.Error400(w, "missing wallet id") + return + } + + sdst := r.FormValue("dst") + if sdst == "" { + wh.Error400(w, "missing destination address \"dst\"") + return + } + dst, err := cipher.DecodeBase58Address(sdst) + if err != nil { + wh.Error400(w, fmt.Sprintf("invalid destination address: %v", err)) + return + } + + scoins := r.FormValue("coins") + coins, err := strconv.ParseUint(scoins, 10, 64) + if err != nil { + wh.Error400(w, `invalid "coins" value`) + return + } + + if coins <= 0 { + wh.Error400(w, `invalid "coins" value, must > 0`) + return + } + + tx, err := gateway.Spend(wltID, []byte(r.FormValue("password")), coins, dst) + switch err { + case nil: + case fee.ErrTxnNoFee, + wallet.ErrSpendingUnconfirmed, + wallet.ErrInsufficientBalance, + wallet.ErrWalletNotEncrypted, + wallet.ErrMissingPassword, + wallet.ErrWalletEncrypted: + wh.Error400(w, err.Error()) + return + case wallet.ErrInvalidPassword: + wh.Error401(w, HTTP401AuthHeader, err.Error()) + return + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + return + case wallet.ErrWalletNotExist: + wh.Error404(w, "") + return + default: + wh.Error500(w, err.Error()) + return + } + + txStr, err := visor.TransactionToJSON(*tx) + if err != nil { + logger.Error(err) + wh.SendJSONOr500(logger, w, SpendResult{ + Error: err.Error(), + }) + return + } + + logger.Infof("Spend: \ntx= \n %s \n", txStr) + + var ret SpendResult + + ret.Transaction, err = visor.NewReadableTransaction(&visor.Transaction{Txn: *tx}) + if err != nil { + err = fmt.Errorf("Creation of new readable transaction failed: %v", err) + logger.Error(err) + ret.Error = err.Error() + wh.SendJSONOr500(logger, w, ret) + return + } + + // Get the new wallet balance + walletBalance, _, err := gateway.GetWalletBalance(wltID) + if err != nil { + err = fmt.Errorf("Get wallet balance failed: %v", err) + logger.Error(err) + ret.Error = err.Error() + wh.SendJSONOr500(logger, w, ret) + return + } + ret.Balance = &walletBalance + + wh.SendJSONOr500(logger, w, ret) + } +} + +// Loads wallet from seed, will scan ahead N address and +// load addresses till the last one that have coins. +// Method: POST +// Args: +// seed: wallet seed [required] +// label: wallet label [required] +// scan: the number of addresses to scan ahead for balances [optional, must be > 0] +// encrypt: bool value, whether encrypt the wallet [optional] +// password: password for encrypting wallet [optional, must be provided if "encrypt" is set] +func walletCreate(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + seed := r.FormValue("seed") + if seed == "" { + wh.Error400(w, "missing seed") + return + } + + label := r.FormValue("label") + if label == "" { + wh.Error400(w, "missing label") + return + } + + password := r.FormValue("password") + defer func() { + password = "" + }() + + var encrypt bool + encryptStr := r.FormValue("encrypt") + if encryptStr != "" { + var err error + encrypt, err = strconv.ParseBool(encryptStr) + if err != nil { + wh.Error400(w, fmt.Sprintf("invalid encrypt value: %v", err)) + return + } + } + + if encrypt && len(password) == 0 { + wh.Error400(w, "missing password") + return + } + + if !encrypt && len(password) > 0 { + wh.Error400(w, "encrypt must be true as password is provided") + return + } + + scanNStr := r.FormValue("scan") + var scanN uint64 = 1 + if scanNStr != "" { + var err error + scanN, err = strconv.ParseUint(scanNStr, 10, 64) + if err != nil { + wh.Error400(w, "invalid scan value") + return + } + } + + if scanN == 0 { + wh.Error400(w, "scan must be > 0") + return + } + + wlt, err := gateway.CreateWallet("", wallet.Options{ + Seed: seed, + Label: label, + Encrypt: encrypt, + Password: []byte(password), + ScanN: scanN, + }) + if err != nil { + switch err { + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + return + default: + wh.Error400(w, err.Error()) + return + } + } + + rlt, err := NewWalletResponse(wlt) + if err != nil { + wh.Error500(w, err.Error()) + return + } + wh.SendJSONOr500(logger, w, rlt) + } +} + +// Genreates new addresses +// URI: /api/v1/wallet/newAddress +// Method: POST +// Args: +// id: wallet id [required] +// num: number of address need to create [optional, if not set the default value is 1] +// password: wallet password [optional, must be provided if the wallet is encrypted] +func walletNewAddresses(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + wltID := r.FormValue("id") + if wltID == "" { + wh.Error400(w, "missing wallet id") + return + } + + // the number of address that need to create, default is 1 + var n uint64 = 1 + var err error + num := r.FormValue("num") + if num != "" { + n, err = strconv.ParseUint(num, 10, 64) + if err != nil { + wh.Error400(w, "invalid num value") + return + } + } + + password := r.FormValue("password") + defer func() { + password = "" + }() + + addrs, err := gateway.NewAddresses(wltID, []byte(password), n) + if err != nil { + switch err { + case wallet.ErrInvalidPassword: + wh.Error401(w, HTTP401AuthHeader, err.Error()) + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + default: + wh.Error400(w, err.Error()) + } + return + } + + var rlt = struct { + Addresses []string `json:"addresses"` + }{} + + for _, a := range addrs { + rlt.Addresses = append(rlt.Addresses, a.String()) + } + + wh.SendJSONOr500(logger, w, rlt) + return + } +} + +// Update wallet label +// URI: /api/v1/wallet/update +// Method: POST +// Args: +// id: wallet id [required] +// label: the label the wallet will be updated to [required] +func walletUpdateHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + // Update wallet + wltID := r.FormValue("id") + if wltID == "" { + wh.Error400(w, "missing wallet id") + return + } + + label := r.FormValue("label") + if label == "" { + wh.Error400(w, "missing label") + return + } + + if err := gateway.UpdateWalletLabel(wltID, label); err != nil { + logger.Errorf("update wallet label failed: %v", err) + + switch err { + case wallet.ErrWalletNotExist: + wh.Error404(w, "") + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + default: + wh.Error500(w, err.Error()) + } + return + } + + wh.SendJSONOr500(logger, w, "success") + } +} + +// Returns a wallet by id +// URI: /api/v1/wallet +// Method: GET +// Args: +// id: wallet id [required] +func walletGet(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + wltID := r.FormValue("id") + if wltID == "" { + wh.Error400(w, fmt.Sprintf("missing wallet id")) + return + } + + wlt, err := gateway.GetWallet(wltID) + if err != nil { + switch err { + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + default: + wh.Error400(w, err.Error()) + } + return + } + rlt, err := NewWalletResponse(wlt) + if err != nil { + wh.Error500(w, err.Error()) + return + } + wh.SendJSONOr500(logger, w, rlt) + } +} + +// Returns JSON of unconfirmed transactions for user's wallet +// URI: /api/v1/wallet/transactions +// Method: GET +// Args: +// id: wallet id [required] +func walletTransactionsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + wltID := r.FormValue("id") + if wltID == "" { + wh.Error400(w, "missing wallet id") + return + } + + txns, err := gateway.GetWalletUnconfirmedTxns(wltID) + if err != nil { + logger.Errorf("get wallet unconfirmed transactions failed: %v", err) + switch err { + case wallet.ErrWalletNotExist: + wh.Error404(w, "") + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + default: + wh.Error500(w, err.Error()) + } + return + } + + unconfirmedTxns, err := visor.NewReadableUnconfirmedTxns(txns) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + unconfirmedTxnResp := UnconfirmedTxnsResponse{ + Transactions: unconfirmedTxns, + } + wh.SendJSONOr500(logger, w, unconfirmedTxnResp) + } +} + +// Returns all loaded wallets +// URI: /api/v1/wallets +// Method: GET +func walletsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + wlts, err := gateway.GetWallets() + if err != nil { + switch err { + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + default: + wh.Error500(w, err.Error()) + } + return + } + + wrs := make([]*WalletResponse, 0, len(wlts)) + for _, wlt := range wlts { + wr, err := NewWalletResponse(wlt) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wrs = append(wrs, wr) + } + + sort.Slice(wrs, func(i, j int) bool { + return wrs[i].Meta.Timestamp < wrs[j].Meta.Timestamp + }) + + wh.SendJSONOr500(logger, w, wrs) + } +} + +// WalletFolder struct +type WalletFolder struct { + Address string `json:"address"` +} + +// Returns the wallet directory path +// URI: /api/v1/wallets/folderName +// Method: GET +func getWalletFolder(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + addr, err := gateway.GetWalletDir() + if err != nil { + switch err { + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + default: + wh.Error500(w, err.Error()) + } + return + } + ret := WalletFolder{ + Address: addr, + } + wh.SendJSONOr500(logger, w, ret) + } +} + +// Generates wallet seed +// URI: /api/v1/wallet/newSeed +// Method: GET +// Args: +// entropy: entropy bitsize [optional, default value of 128 will be used if not set] +func newWalletSeed(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + if !gateway.IsWalletAPIEnabled() { + wh.Error403(w, "") + return + } + + entropyValue := r.FormValue("entropy") + if entropyValue == "" { + entropyValue = "128" + } + + entropyBits, err := strconv.Atoi(entropyValue) + if err != nil { + wh.Error400(w, "invalid entropy") + return + } + + // Entropy bit size can either be 128 or 256 + if entropyBits != 128 && entropyBits != 256 { + wh.Error400(w, "entropy length must be 128 or 256") + return + } + + entropy, err := bip39.NewEntropy(entropyBits) + if err != nil { + err = fmt.Errorf("bip39.NewEntropy failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + mnemonic, err := bip39.NewMnemonic(entropy) + if err != nil { + err = fmt.Errorf("bip39.NewDefaultMnemonic failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + var rlt = struct { + Seed string `json:"seed"` + }{ + mnemonic, + } + wh.SendJSONOr500(logger, w, rlt) + } +} + +// Returns seed of wallet of given id +// URI: /api/v1/wallet/seed +// Method: POST +// Args: +// id: wallet id +// password: wallet password +func walletSeedHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + id := r.FormValue("id") + if id == "" { + wh.Error400(w, "missing wallet id") + return + } + + password := r.FormValue("password") + defer func() { + password = "" + }() + + seed, err := gateway.GetWalletSeed(id, []byte(password)) + if err != nil { + switch err { + case wallet.ErrMissingPassword, wallet.ErrWalletNotEncrypted: + wh.Error400(w, err.Error()) + case wallet.ErrInvalidPassword: + wh.Error401(w, HTTP401AuthHeader, err.Error()) + case wallet.ErrWalletAPIDisabled, wallet.ErrSeedAPIDisabled: + wh.Error403(w, "") + case wallet.ErrWalletNotExist: + wh.Error404(w, "") + default: + wh.Error500(w, err.Error()) + } + return + } + + v := struct { + Seed string `json:"seed"` + }{ + Seed: seed, + } + + wh.SendJSONOr500(logger, w, v) + } +} + +// Unloads wallet from the wallet service +// URI: /api/v1/wallet/unload +// Method: POST +// Args: +// id: wallet id +func walletUnloadHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + id := r.FormValue("id") + if id == "" { + wh.Error400(w, "missing wallet id") + return + } + + if err := gateway.UnloadWallet(id); err != nil { + switch err { + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + default: + wh.Error500(w, err.Error()) + } + } + } +} + +// Encrypts wallet +// URI: /api/v1/wallet/encrypt +// Method: POST +// Args: +// id: wallet id +// password: wallet password +func walletEncryptHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + id := r.FormValue("id") + if id == "" { + wh.Error400(w, "missing wallet id") + return + } + + password := r.FormValue("password") + defer func() { + password = "" + }() + + wlt, err := gateway.EncryptWallet(id, []byte(password)) + if err != nil { + switch err { + case wallet.ErrWalletEncrypted, wallet.ErrMissingPassword: + wh.Error400(w, err.Error()) + case wallet.ErrInvalidPassword: + wh.Error401(w, HTTP401AuthHeader, err.Error()) + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + case wallet.ErrWalletNotExist: + wh.Error404(w, "") + default: + wh.Error500(w, err.Error()) + } + return + } + + // Make sure the sensitive data are wiped + rlt, err := NewWalletResponse(wlt) + if err != nil { + wh.Error500(w, err.Error()) + return + } + wh.SendJSONOr500(logger, w, rlt) + } +} + +// Decrypts wallet +// URI: /api/v1/wallet/decrypt +// Method: POST +// Args: +// id: wallet id +// password: wallet password +func walletDecryptHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + id := r.FormValue("id") + if id == "" { + wh.Error400(w, "missing wallet id") + return + } + + password := r.FormValue("password") + defer func() { + password = "" + }() + + wlt, err := gateway.DecryptWallet(id, []byte(password)) + if err != nil { + switch err { + case wallet.ErrMissingPassword, wallet.ErrWalletNotEncrypted: + wh.Error400(w, err.Error()) + case wallet.ErrInvalidPassword: + wh.Error401(w, HTTP401AuthHeader, err.Error()) + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + case wallet.ErrWalletNotExist: + wh.Error404(w, "") + default: + wh.Error500(w, err.Error()) + } + return + } + + rlt, err := NewWalletResponse(wlt) + if err != nil { + wh.Error500(w, err.Error()) + return + } + wh.SendJSONOr500(logger, w, rlt) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/wallet_test.go b/vendor/github.com/skycoin/skycoin/src/api/wallet_test.go new file mode 100755 index 0000000..fde88df --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/wallet_test.go @@ -0,0 +1,2558 @@ +package api + +import ( + "bytes" + "errors" + "net/http" + "net/http/httptest" + "net/url" + "strconv" + "strings" + "testing" + + "encoding/json" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/util/fee" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/wallet" +) + +const configuredHost = "127.0.0.1:6420" + +var mxConfig = muxConfig{host: configuredHost, appLoc: "."} + +func TestWalletSpendHandler(t *testing.T) { + type httpBody struct { + WalletID string + Dst string + Coins string + Password string + } + + tt := []struct { + name string + method string + body *httpBody + status int + err string + walletID string + coins uint64 + dst string + password string + gatewaySpendResult *coin.Transaction + gatewaySpendErr error + gatewayGetWalletBalanceResult BalanceResponse + gatewayBalanceErr error + spendResult *SpendResult + csrfDisabled bool + }{ + { + name: "405", + method: http.MethodGet, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + walletID: "0", + }, + { + name: "400 - no walletID", + method: http.MethodPost, + body: &httpBody{}, + status: http.StatusBadRequest, + err: "400 Bad Request - missing wallet id", + walletID: "0", + }, + { + name: "400 - no dst", + method: http.MethodPost, + body: &httpBody{ + WalletID: "123", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - missing destination address \"dst\"", + walletID: "0", + }, + { + name: "400 - bad dst addr", + method: http.MethodPost, + body: &httpBody{ + WalletID: "123", + Dst: " 2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid destination address: Invalid base58 character", + walletID: "0", + }, + { + name: "400 - no coins", + method: http.MethodPost, + body: &httpBody{ + WalletID: "123", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid \"coins\" value", + walletID: "0", + }, + { + name: "400 - coins is string", + method: http.MethodPost, + body: &httpBody{ + WalletID: "123", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "foo", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid \"coins\" value", + walletID: "0", + }, + { + name: "400 - coins is negative value", + method: http.MethodPost, + body: &httpBody{ + WalletID: "123", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "-123", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid \"coins\" value", + walletID: "0", + }, + { + name: "400 - zero coins", + method: http.MethodPost, + body: &httpBody{ + WalletID: "123", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "0", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid \"coins\" value, must > 0", + walletID: "0", + }, + { + name: "400 - gw spend error txn no fee", + method: http.MethodPost, + body: &httpBody{ + WalletID: "123", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "12", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - Transaction has zero coinhour fee", + walletID: "123", + coins: 12, + dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + gatewaySpendErr: fee.ErrTxnNoFee, + spendResult: &SpendResult{ + Error: fee.ErrTxnNoFee.Error(), + }, + }, + { + name: "400 - gw spend error spending unconfirmed", + method: http.MethodPost, + body: &httpBody{ + WalletID: "123", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "12", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - please spend after your pending transaction is confirmed", + walletID: "123", + coins: 12, + dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + gatewaySpendErr: wallet.ErrSpendingUnconfirmed, + spendResult: &SpendResult{ + Error: wallet.ErrSpendingUnconfirmed.Error(), + }, + }, + { + name: "400 - gw spend error insufficient balance", + method: http.MethodPost, + body: &httpBody{ + WalletID: "123", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "12", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - balance is not sufficient", + walletID: "123", + coins: 12, + dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + gatewaySpendErr: wallet.ErrInsufficientBalance, + spendResult: &SpendResult{ + Error: wallet.ErrInsufficientBalance.Error(), + }, + }, + { + name: "404 - gw spend error wallet not exist", + method: http.MethodPost, + body: &httpBody{ + WalletID: "123", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "12", + }, + status: http.StatusNotFound, + err: "404 Not Found", + walletID: "123", + coins: 12, + dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + gatewaySpendErr: wallet.ErrWalletNotExist, + spendResult: &SpendResult{ + Error: wallet.ErrWalletNotExist.Error(), + }, + }, + { + name: "500 - gw spend error", + method: http.MethodPost, + body: &httpBody{ + WalletID: "123", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "12", + }, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - Spend error", + walletID: "123", + coins: 12, + dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + gatewaySpendErr: errors.New("Spend error"), + spendResult: &SpendResult{ + Error: "Spend error", + }, + }, + { + name: "200 - gw GetWalletBalance error", + method: http.MethodPost, + body: &httpBody{ + WalletID: "1234", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "12", + }, + status: http.StatusOK, + walletID: "1234", + coins: 12, + dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + gatewaySpendResult: &coin.Transaction{}, + gatewayBalanceErr: errors.New("GetWalletBalance error"), + spendResult: &SpendResult{ + Error: "Get wallet balance failed: GetWalletBalance error", + Transaction: &visor.ReadableTransaction{ + Sigs: []string{}, + In: []string{}, + Out: []visor.ReadableTransactionOutput{}, + Hash: "78877fa898f0b4c45c9c33ae941e40617ad7c8657a307db62bc5691f92f4f60e", + InnerHash: "0000000000000000000000000000000000000000000000000000000000000000", + }, + }, + }, + { + name: "403 - Forbidden - wallet API disabled", + method: http.MethodPost, + body: &httpBody{ + WalletID: "123", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "12", + }, + status: http.StatusForbidden, + err: "403 Forbidden", + walletID: "123", + coins: 12, + dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + gatewaySpendErr: wallet.ErrWalletAPIDisabled, + spendResult: &SpendResult{ + Error: wallet.ErrWalletAPIDisabled.Error(), + }, + }, + { + name: "200 - OK", + method: http.MethodPost, + body: &httpBody{ + WalletID: "1234", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "12", + }, + status: http.StatusOK, + walletID: "1234", + coins: 12, + dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + gatewaySpendResult: &coin.Transaction{}, + spendResult: &SpendResult{ + Balance: &wallet.BalancePair{}, + Transaction: &visor.ReadableTransaction{ + Length: 0, + Type: 0, + Hash: "78877fa898f0b4c45c9c33ae941e40617ad7c8657a307db62bc5691f92f4f60e", + InnerHash: "0000000000000000000000000000000000000000000000000000000000000000", + Timestamp: 0, + Sigs: []string{}, + In: []string{}, + Out: []visor.ReadableTransactionOutput{}, + }, + }, + }, + { + name: "200 - OK - CSRF disabled", + method: http.MethodPost, + body: &httpBody{ + WalletID: "1234", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "12", + }, + status: http.StatusOK, + walletID: "1234", + coins: 12, + dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + gatewaySpendResult: &coin.Transaction{}, + spendResult: &SpendResult{ + Balance: &wallet.BalancePair{}, + Transaction: &visor.ReadableTransaction{ + Length: 0, + Type: 0, + Hash: "78877fa898f0b4c45c9c33ae941e40617ad7c8657a307db62bc5691f92f4f60e", + InnerHash: "0000000000000000000000000000000000000000000000000000000000000000", + Timestamp: 0, + Sigs: []string{}, + In: []string{}, + Out: []visor.ReadableTransactionOutput{}, + }, + }, + csrfDisabled: true, + }, + { + name: "400 - missing password", + method: http.MethodPost, + body: &httpBody{ + WalletID: "wallet.wlt", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "1", + }, + status: http.StatusBadRequest, + gatewaySpendErr: wallet.ErrMissingPassword, + err: "400 Bad Request - missing password", + walletID: "wallet.wlt", + coins: 1, + dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + spendResult: &SpendResult{ + Error: wallet.ErrMissingPassword.Error(), + }, + }, + { + name: "401 Unauthorized - invalid password", + method: http.MethodPost, + body: &httpBody{ + WalletID: "wallet.wlt", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "1", + Password: "pwd", + }, + password: "pwd", + status: http.StatusUnauthorized, + gatewaySpendErr: wallet.ErrInvalidPassword, + err: "401 Unauthorized - invalid password", + walletID: "wallet.wlt", + coins: 1, + dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + spendResult: &SpendResult{ + Error: wallet.ErrInvalidPassword.Error(), + }, + }, + { + name: "400 - wallet is encrypted", + method: http.MethodPost, + body: &httpBody{ + WalletID: "wallet.wlt", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "1", + }, + status: http.StatusBadRequest, + gatewaySpendErr: wallet.ErrWalletEncrypted, + err: "400 Bad Request - wallet is encrypted", + walletID: "wallet.wlt", + coins: 1, + dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + spendResult: &SpendResult{ + Error: wallet.ErrWalletEncrypted.Error(), + }, + }, + { + name: "400 - wallet is not encrypted", + method: http.MethodPost, + body: &httpBody{ + WalletID: "wallet.wlt", + Dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + Coins: "1", + Password: "pwd", + }, + password: "pwd", + status: http.StatusBadRequest, + gatewaySpendErr: wallet.ErrWalletNotEncrypted, + err: "400 Bad Request - wallet is not encrypted", + walletID: "wallet.wlt", + coins: 1, + dst: "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ", + spendResult: &SpendResult{ + Error: wallet.ErrWalletNotEncrypted.Error(), + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + if tc.gatewaySpendResult == nil { + tc.gatewaySpendResult = &coin.Transaction{} + } + + gateway := &GatewayerMock{} + addr, _ := cipher.DecodeBase58Address(tc.dst) + gateway.On("Spend", tc.walletID, []byte(tc.password), tc.coins, addr).Return(tc.gatewaySpendResult, tc.gatewaySpendErr) + gateway.On("GetWalletBalance", tc.walletID).Return(tc.gatewayGetWalletBalanceResult.BalancePair, + tc.gatewayGetWalletBalanceResult.Addresses, tc.gatewayBalanceErr) + gateway.On("IsCSPEnabled").Return(false) + + endpoint := "/api/v1/wallet/spend" + + v := url.Values{} + if tc.body != nil { + if tc.body.WalletID != "" { + v.Add("id", tc.body.WalletID) + } + if tc.body.Dst != "" { + v.Add("dst", tc.body.Dst) + } + if tc.body.Coins != "" { + v.Add("coins", tc.body.Coins) + } + if tc.body.Password != "" { + v.Add("password", tc.body.Password) + } + } + + req, err := http.NewRequest(tc.method, endpoint, bytes.NewBufferString(v.Encode())) + require.NoError(t, err) + req.Header.Add("Content-Type", "application/x-www-form-urlencoded") + + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + + rr := httptest.NewRecorder() + handler := newServerMux(mxConfig, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String())) + if status == http.StatusUnauthorized { + require.Equal(t, HTTP401AuthHeader, rr.Header().Get("WWW-Authenticate")) + } + } else { + var msg SpendResult + err := json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, *tc.spendResult, msg) + } + }) + } +} + +func TestWalletGet(t *testing.T) { + entries, resEntries := makeEntries([]byte("seed"), 5) + type httpBody struct { + WalletID string + Dst string + Coins string + } + + tt := []struct { + name string + method string + url string + body *httpBody + status int + err string + walletID string + gatewayGetWalletResult wallet.Wallet + responseBody WalletResponse + gatewayGetWalletErr error + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + walletID: "0", + }, + { + name: "400 - no walletID", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - missing wallet id", + walletID: "", + }, + { + name: "400 - error from the `gateway.GetWallet(wltID)`", + method: http.MethodGet, + body: &httpBody{ + WalletID: "123", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - wallet 123 doesn't exist", + walletID: "123", + gatewayGetWalletErr: errors.New("wallet 123 doesn't exist"), + }, + { + name: "403 - Forbidden - wallet API disabled", + method: http.MethodGet, + body: &httpBody{ + WalletID: "1234", + }, + status: http.StatusForbidden, + err: "403 Forbidden", + walletID: "1234", + gatewayGetWalletResult: wallet.Wallet{ + Meta: map[string]string{"seed": "seed", "lastSeed": "seed"}, + Entries: []wallet.Entry{}, + }, + gatewayGetWalletErr: wallet.ErrWalletAPIDisabled, + }, + { + name: "200 - OK", + method: http.MethodGet, + body: &httpBody{ + WalletID: "1234", + }, + status: http.StatusOK, + walletID: "1234", + gatewayGetWalletResult: wallet.Wallet{ + Meta: map[string]string{"seed": "seed", "lastSeed": "seed"}, + Entries: cloneEntries(entries), + }, + responseBody: WalletResponse{Entries: resEntries[:]}, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := &GatewayerMock{} + gateway.On("GetWallet", tc.walletID).Return(&tc.gatewayGetWalletResult, tc.gatewayGetWalletErr) + gateway.On("IsCSPEnabled").Return(false) + v := url.Values{} + + endpoint := "/api/v1/wallet" + + if tc.body != nil { + if tc.body.WalletID != "" { + v.Add("id", tc.body.WalletID) + } + } + + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(mxConfig, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), + "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var rlt WalletResponse + err = json.Unmarshal(rr.Body.Bytes(), &rlt) + require.NoError(t, err) + require.Equal(t, tc.responseBody, rlt) + } + }) + } +} + +func TestWalletBalanceHandler(t *testing.T) { + type httpBody struct { + WalletID string + Dst string + Coins string + } + + tt := []struct { + name string + method string + body *httpBody + status int + err string + walletID string + gatewayGetWalletBalanceResult BalanceResponse + gatewayBalanceErr error + result *wallet.BalancePair + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + walletID: "0", + }, + { + name: "400 - no walletID", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - missing wallet id", + walletID: "0", + }, + { + name: "404 - gw `wallet doesn't exist` error", + method: http.MethodGet, + body: &httpBody{ + WalletID: "notFoundId", + }, + status: http.StatusNotFound, + err: "404 Not Found", + walletID: "notFoundId", + gatewayGetWalletBalanceResult: BalanceResponse{}, + gatewayBalanceErr: wallet.ErrWalletNotExist, + result: &wallet.BalancePair{ + Confirmed: wallet.Balance{Coins: 0, Hours: 0}, + Predicted: wallet.Balance{Coins: 0, Hours: 0}, + }, + }, + { + name: "500 - gw other error", + method: http.MethodGet, + body: &httpBody{ + WalletID: "someId", + }, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - gatewayBalanceError", + walletID: "someId", + gatewayGetWalletBalanceResult: BalanceResponse{}, + gatewayBalanceErr: errors.New("gatewayBalanceError"), + result: &wallet.BalancePair{ + Confirmed: wallet.Balance{Coins: 0, Hours: 0}, + Predicted: wallet.Balance{Coins: 0, Hours: 0}, + }, + }, + { + name: "403 - Forbidden - wallet API disabled", + method: http.MethodGet, + body: &httpBody{ + WalletID: "foo", + }, + status: http.StatusForbidden, + err: "403 Forbidden", + walletID: "foo", + gatewayGetWalletBalanceResult: BalanceResponse{}, + gatewayBalanceErr: wallet.ErrWalletAPIDisabled, + }, + { + name: "200 - OK", + method: http.MethodGet, + body: &httpBody{ + WalletID: "foo", + }, + status: http.StatusOK, + err: "", + walletID: "foo", + result: &wallet.BalancePair{}, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := &GatewayerMock{} + gateway.On("GetWalletBalance", tc.walletID).Return(tc.gatewayGetWalletBalanceResult.BalancePair, + tc.gatewayGetWalletBalanceResult.Addresses, tc.gatewayBalanceErr) + gateway.On("IsCSPEnabled").Return(false) + + endpoint := "/api/v1/wallet/balance" + + v := url.Values{} + if tc.body != nil { + if tc.body.WalletID != "" { + v.Add("id", tc.body.WalletID) + } + } + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + req, err := http.NewRequest(tc.method, endpoint, bytes.NewBufferString(v.Encode())) + require.NoError(t, err) + req.Header.Add("Content-Type", "application/x-www-form-urlencoded") + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(mxConfig, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + if status != tc.status { + t.Errorf("case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + } + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg wallet.BalancePair + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.result, &msg, tc.name) + } + }) + } +} + +func TestUpdateWalletLabelHandler(t *testing.T) { + type httpBody struct { + WalletID string + Label string + } + + tt := []struct { + name string + method string + url string + body *httpBody + status int + err string + walletID string + label string + gatewayUpdateWalletLabelErr error + responseBody string + }{ + { + name: "405", + method: http.MethodGet, + body: &httpBody{}, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "400 - missing wallet id", + method: http.MethodPost, + body: &httpBody{}, + status: http.StatusBadRequest, + err: "400 Bad Request - missing wallet id", + }, + { + name: "400 - missing label", + method: http.MethodPost, + body: &httpBody{ + WalletID: "foo", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - missing label", + walletID: "foo", + }, + { + name: "404 - gateway.UpdateWalletLabel ErrWalletNotExist", + method: http.MethodPost, + body: &httpBody{ + WalletID: "foo", + Label: "label", + }, + status: http.StatusNotFound, + err: "404 Not Found", + walletID: "foo", + label: "label", + gatewayUpdateWalletLabelErr: wallet.ErrWalletNotExist, + }, + { + name: "500 - gateway.UpdateWalletLabel error", + method: http.MethodPost, + body: &httpBody{ + WalletID: "foo", + Label: "label", + }, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - gateway.UpdateWalletLabel error", + walletID: "foo", + label: "label", + gatewayUpdateWalletLabelErr: errors.New("gateway.UpdateWalletLabel error"), + }, + { + name: "403 Forbidden - wallet API disabled", + method: http.MethodPost, + body: &httpBody{ + WalletID: "foo", + Label: "label", + }, + status: http.StatusForbidden, + err: "403 Forbidden", + walletID: "foo", + label: "label", + gatewayUpdateWalletLabelErr: wallet.ErrWalletAPIDisabled, + }, + { + name: "200 OK", + method: http.MethodPost, + body: &httpBody{ + WalletID: "foo", + Label: "label", + }, + status: http.StatusOK, + err: "", + walletID: "foo", + label: "label", + gatewayUpdateWalletLabelErr: nil, + responseBody: "\"success\"", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := &GatewayerMock{} + gateway.On("UpdateWalletLabel", tc.walletID, tc.label).Return(tc.gatewayUpdateWalletLabelErr) + gateway.On("IsCSPEnabled").Return(false) + + endpoint := "/api/v1/wallet/update" + + v := url.Values{} + if tc.body != nil { + if tc.body.WalletID != "" { + v.Add("id", tc.body.WalletID) + } + if tc.body.Label != "" { + v.Add("label", tc.body.Label) + } + } + + req, err := http.NewRequest(tc.method, endpoint, bytes.NewBufferString(v.Encode())) + require.NoError(t, err) + req.Header.Add("Content-Type", "application/x-www-form-urlencoded") + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(mxConfig, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + require.Equal(t, tc.responseBody, rr.Body.String(), tc.name) + } + }) + } +} + +func TestWalletTransactionsHandler(t *testing.T) { + type httpBody struct { + WalletID string + } + + unconfirmedTxn, _ := visor.NewReadableUnconfirmedTxn(&visor.UnconfirmedTxn{}) + tt := []struct { + name string + method string + body *httpBody + status int + err string + walletID string + gatewayGetWalletUnconfirmedTxnsResult []visor.UnconfirmedTxn + gatewayGetWalletUnconfirmedTxnsErr error + responseBody UnconfirmedTxnsResponse + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "400 - missing wallet id", + method: http.MethodGet, + status: http.StatusBadRequest, + err: "400 Bad Request - missing wallet id", + }, + { + name: "500 - gateway.GetWalletUnconfirmedTxns error", + method: http.MethodGet, + body: &httpBody{ + WalletID: "foo", + }, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - gateway.GetWalletUnconfirmedTxns error", + walletID: "foo", + gatewayGetWalletUnconfirmedTxnsErr: errors.New("gateway.GetWalletUnconfirmedTxns error"), + }, + { + name: "404 - wallet doesn't exist", + method: http.MethodGet, + body: &httpBody{ + WalletID: "foo", + }, + status: http.StatusNotFound, + err: "404 Not Found", + walletID: "foo", + gatewayGetWalletUnconfirmedTxnsErr: wallet.ErrWalletNotExist, + }, + { + name: "403 - Forbidden - wallet API disabled", + method: http.MethodGet, + body: &httpBody{ + WalletID: "foo", + }, + status: http.StatusForbidden, + err: "403 Forbidden", + walletID: "foo", + gatewayGetWalletUnconfirmedTxnsErr: wallet.ErrWalletAPIDisabled, + }, + { + name: "200 - OK", + method: http.MethodGet, + body: &httpBody{ + WalletID: "foo", + }, + status: http.StatusOK, + err: "", + walletID: "foo", + gatewayGetWalletUnconfirmedTxnsResult: make([]visor.UnconfirmedTxn, 1), + responseBody: UnconfirmedTxnsResponse{Transactions: []visor.ReadableUnconfirmedTxn{*unconfirmedTxn}}, + }, + } + + for _, tc := range tt { + gateway := &GatewayerMock{} + gateway.On("GetWalletUnconfirmedTxns", tc.walletID).Return(tc.gatewayGetWalletUnconfirmedTxnsResult, tc.gatewayGetWalletUnconfirmedTxnsErr) + gateway.On("IsCSPEnabled").Return(false) + + endpoint := "/api/v1/wallet/transactions" + + v := url.Values{} + if tc.body != nil { + if tc.body.WalletID != "" { + v.Add("id", tc.body.WalletID) + } + } + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(mxConfig, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg UnconfirmedTxnsResponse + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + // require.Equal on whole response might result in flaky tests as there is a time field attached to unconfirmed txn response + require.IsType(t, msg, tc.responseBody) + require.Len(t, msg.Transactions, 1) + require.Equal(t, msg.Transactions[0].Txn, tc.responseBody.Transactions[0].Txn) + } + } +} + +func TestWalletCreateHandler(t *testing.T) { + entries, responseEntries := makeEntries([]byte("seed"), 5) + type httpBody struct { + Seed string + Label string + ScanN string + Encrypt bool + Password string + } + tt := []struct { + name string + method string + body *httpBody + status int + err string + wltName string + options wallet.Options + gatewayCreateWalletResult wallet.Wallet + gatewayCreateWalletErr error + scanWalletAddressesResult wallet.Wallet + scanWalletAddressesError error + responseBody WalletResponse + csrfDisabled bool + }{ + { + name: "405", + method: http.MethodGet, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + wltName: "foo", + }, + { + name: "400 - missing seed", + method: http.MethodPost, + body: &httpBody{}, + status: http.StatusBadRequest, + err: "400 Bad Request - missing seed", + wltName: "foo", + }, + { + name: "400 - missing label", + method: http.MethodPost, + body: &httpBody{ + Seed: "foo", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - missing label", + wltName: "foo", + }, + { + name: "400 - invalid scan value", + method: http.MethodPost, + body: &httpBody{ + Seed: "foo", + Label: "bar", + ScanN: "bad scanN", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid scan value", + wltName: "foo", + }, + { + name: "400 - scan must be > 0", + method: http.MethodPost, + body: &httpBody{ + Seed: "foo", + Label: "bar", + ScanN: "0", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - scan must be > 0", + wltName: "foo", + }, + { + name: "400 - gateway.CreateWallet error", + method: http.MethodPost, + body: &httpBody{ + Seed: "foo", + Label: "bar", + ScanN: "1", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - gateway.CreateWallet error", + options: wallet.Options{ + Label: "bar", + Seed: "foo", + Password: []byte{}, + }, + gatewayCreateWalletErr: errors.New("gateway.CreateWallet error"), + }, + { + name: "403 - Forbidden - wallet API disabled", + method: http.MethodPost, + body: &httpBody{ + Seed: "foo", + Label: "bar", + ScanN: "2", + }, + status: http.StatusForbidden, + err: "403 Forbidden", + wltName: "filename", + options: wallet.Options{ + Label: "bar", + Seed: "foo", + Password: []byte{}, + ScanN: 2, + }, + gatewayCreateWalletErr: wallet.ErrWalletAPIDisabled, + }, + { + name: "200 - OK", + method: http.MethodPost, + body: &httpBody{ + Seed: "foo", + Label: "bar", + ScanN: "2", + }, + status: http.StatusOK, + err: "", + wltName: "filename", + options: wallet.Options{ + Label: "bar", + Seed: "foo", + Password: []byte{}, + ScanN: 2, + }, + gatewayCreateWalletResult: wallet.Wallet{ + Meta: map[string]string{ + "filename": "filename", + }, + Entries: cloneEntries(entries), + }, + scanWalletAddressesResult: wallet.Wallet{ + Meta: map[string]string{ + "filename": "filename", + }, + Entries: cloneEntries(entries), + }, + responseBody: WalletResponse{ + Meta: WalletMeta{ + Filename: "filename", + }, + Entries: responseEntries[:], + }, + }, + // CSRF Tests + { + name: "200 - OK - CSRF disabled", + method: http.MethodPost, + body: &httpBody{ + Seed: "foo", + Label: "bar", + ScanN: "2", + }, + status: http.StatusOK, + err: "", + wltName: "filename", + options: wallet.Options{ + Label: "bar", + Seed: "foo", + Password: []byte{}, + ScanN: 2, + }, + gatewayCreateWalletResult: wallet.Wallet{ + Meta: map[string]string{ + "filename": "filename", + }, + }, + scanWalletAddressesResult: wallet.Wallet{ + Meta: map[string]string{ + "filename": "filename", + }, + }, + responseBody: WalletResponse{ + Meta: WalletMeta{ + Filename: "filename", + }, + }, + csrfDisabled: true, + }, + { + name: "200 - OK - Encrypted", + method: http.MethodPost, + body: &httpBody{ + Seed: "foo", + Label: "bar", + Encrypt: true, + Password: "pwd", + ScanN: "2", + }, + status: http.StatusOK, + err: "", + wltName: "filename", + options: wallet.Options{ + Label: "bar", + Seed: "foo", + Encrypt: true, + Password: []byte("pwd"), + ScanN: 2, + }, + gatewayCreateWalletResult: wallet.Wallet{ + Meta: map[string]string{ + "filename": "filename", + "label": "bar", + "encrypted": "true", + "secrets": "secrets", + }, + }, + scanWalletAddressesResult: wallet.Wallet{ + Meta: map[string]string{ + "filename": "filename", + "label": "bar", + "encrypted": "true", + "secrets": "secrets", + }, + }, + responseBody: WalletResponse{ + Meta: WalletMeta{ + Filename: "filename", + Label: "bar", + Encrypted: true, + }, + }, + }, + { + name: "400 Bad request - encrypt without password", + method: http.MethodPost, + body: &httpBody{ + Seed: "foo", + Label: "bar", + Encrypt: true, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - missing password", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := &GatewayerMock{} + if tc.options.ScanN == 0 { + tc.options.ScanN = 1 + } + gateway.On("CreateWallet", "", tc.options).Return(&tc.gatewayCreateWalletResult, tc.gatewayCreateWalletErr) + // gateway.On("ScanAheadWalletAddresses", tc.wltName, tc.options.Password, tc.scnN-1).Return(&tc.scanWalletAddressesResult, tc.scanWalletAddressesError) + gateway.On("IsCSPEnabled").Return(false) + + endpoint := "/api/v1/wallet/create" + + v := url.Values{} + if tc.body != nil { + if tc.body.Seed != "" { + v.Add("seed", tc.body.Seed) + } + if tc.body.Label != "" { + v.Add("label", tc.body.Label) + } + if tc.body.ScanN != "" { + v.Add("scan", tc.body.ScanN) + } + + if tc.body.Encrypt { + v.Add("encrypt", strconv.FormatBool(tc.body.Encrypt)) + } + + if tc.body.Password != "" { + v.Add("password", tc.body.Password) + } + } + + req, err := http.NewRequest(tc.method, endpoint, bytes.NewBufferString(v.Encode())) + req.Header.Add("Content-Type", "application/x-www-form-urlencoded") + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + + rr := httptest.NewRecorder() + handler := newServerMux(mxConfig, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), + "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg WalletResponse + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.responseBody, msg, tc.name) + } + + }) + } +} + +func TestWalletNewSeed(t *testing.T) { + type httpBody struct { + Entropy string + } + tt := []struct { + name string + method string + body *httpBody + status int + err string + entropy string + resultLen int + }{ + { + name: "405", + method: http.MethodPut, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "400 - invalid entropy type", + method: http.MethodGet, + body: &httpBody{ + Entropy: "xx", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid entropy", + entropy: "xx", + }, + { + name: "400 - `wrong entropy length` error", + method: http.MethodGet, + body: &httpBody{ + Entropy: "200", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - entropy length must be 128 or 256", + entropy: "200", + }, + { + name: "200 - OK with no entropy", + method: http.MethodGet, + body: &httpBody{}, + status: http.StatusOK, + entropy: "128", + resultLen: 12, + }, + { + name: "200 - OK | 12 word seed", + method: http.MethodGet, + body: &httpBody{ + Entropy: "128", + }, + status: http.StatusOK, + entropy: "128", + resultLen: 12, + }, + { + name: "200 - OK | 24 word seed", + method: http.MethodGet, + body: &httpBody{ + Entropy: "256", + }, + status: http.StatusOK, + entropy: "256", + resultLen: 24, + }, + } + + // Loop over each test case + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := &GatewayerMock{} + gateway.On("IsWalletAPIEnabled").Return(true) + gateway.On("IsCSPEnabled").Return(false) + + endpoint := "/api/v1/wallet/newSeed" + + // Add request parameters to url + v := url.Values{} + if tc.body != nil { + if tc.body.Entropy != "" { + v.Add("entropy", tc.body.Entropy) + } + } + if len(v) > 0 { + endpoint += "?" + v.Encode() + } + + req, err := http.NewRequest(tc.method, endpoint, bytes.NewBufferString(v.Encode())) + require.NoError(t, err) + req.Header.Add("Content-Type", "application/x-www-form-urlencoded") + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(mxConfig, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` expected `%v`", tc.name, status, tc.status) + if status != tc.status { + t.Errorf("case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) + } + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, expected `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg struct { + Seed string `json:"seed"` + } + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + // check that expected length is equal to response length + require.Equal(t, tc.resultLen, len(strings.Fields(msg.Seed)), tc.name) + } + }) + } +} + +func TestGetWalletSeed(t *testing.T) { + + tt := []struct { + name string + method string + wltID string + password string + gatewayReturnArgs []interface{} + expectStatus int + expectSeed string + expectErr string + csrfDisabled bool + }{ + { + name: "200 - OK", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturnArgs: []interface{}{ + "seed", + nil, + }, + expectStatus: http.StatusOK, + expectSeed: "seed", + }, + { + name: "200 - OK - CSRF disabled", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturnArgs: []interface{}{ + "seed", + nil, + }, + expectStatus: http.StatusOK, + expectSeed: "seed", + csrfDisabled: true, + }, + { + name: "400 - missing wallet id ", + method: http.MethodPost, + wltID: "", + password: "pwd", + gatewayReturnArgs: []interface{}{}, + expectStatus: http.StatusBadRequest, + expectErr: "400 Bad Request - missing wallet id", + }, + { + name: "400 - missing password", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "", + gatewayReturnArgs: []interface{}{ + nil, + wallet.ErrMissingPassword, + }, + expectStatus: http.StatusBadRequest, + expectErr: "400 Bad Request - missing password", + }, + { + name: "401 Unauthorized - Invalid password", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturnArgs: []interface{}{ + nil, + wallet.ErrInvalidPassword, + }, + expectStatus: http.StatusUnauthorized, + expectErr: "401 Unauthorized - invalid password", + }, + { + name: "400 - wallet not encrypted", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturnArgs: []interface{}{ + nil, + wallet.ErrWalletNotEncrypted, + }, + expectStatus: http.StatusBadRequest, + expectErr: "400 Bad Request - wallet is not encrypted", + }, + { + name: "404 - wallet does not exist", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturnArgs: []interface{}{ + nil, + wallet.ErrWalletNotExist, + }, + expectStatus: http.StatusNotFound, + expectErr: "404 Not Found", + }, + { + name: "405 - Method Not Allowed", + method: http.MethodGet, + expectStatus: http.StatusMethodNotAllowed, + expectErr: "405 Method Not Allowed", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := NewGatewayerMock() + gateway.On("GetWalletSeed", tc.wltID, []byte(tc.password)).Return(tc.gatewayReturnArgs...) + gateway.On("IsCSPEnabled").Return(false) + + endpoint := "/api/v1/wallet/seed" + + v := url.Values{} + v.Add("id", tc.wltID) + if len(tc.password) > 0 { + v.Add("password", tc.password) + } + + req, err := http.NewRequest(tc.method, endpoint, bytes.NewBufferString(v.Encode())) + require.NoError(t, err) + req.Header.Add("Content-Type", "application/x-www-form-urlencoded") + + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(mxConfig, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.expectStatus, status) + + if status != http.StatusOK { + require.Equal(t, tc.expectErr, strings.TrimSpace(rr.Body.String())) + if status == http.StatusUnauthorized { + require.Equal(t, HTTP401AuthHeader, rr.Header().Get("WWW-Authenticate")) + } + } else { + var r struct { + Seed string `json:"seed"` + } + err := json.Unmarshal(rr.Body.Bytes(), &r) + require.NoError(t, err) + require.Equal(t, tc.expectSeed, r.Seed) + } + }) + } +} + +func TestWalletNewAddressesHandler(t *testing.T) { + type httpBody struct { + ID string + Num string + Password string + } + type Addresses struct { + Address []string `json:"addresses"` + } + + var responseAddresses = Addresses{} + var responseEmptyAddresses = Addresses{} + + var emptyAddrs = make([]cipher.Address, 0) + var addrs = make([]cipher.Address, 3) + + for i := 0; i < 3; i++ { + pub, _ := cipher.GenerateDeterministicKeyPair(cipher.RandByte(32)) + addrs[i] = cipher.AddressFromPubKey(pub) + responseAddresses.Address = append(responseAddresses.Address, addrs[i].String()) + } + + tt := []struct { + name string + method string + body *httpBody + status int + err string + walletID string + n uint64 + password string + gatewayNewAddressesResult []cipher.Address + gatewayNewAddressesErr error + responseBody Addresses + csrfDisabled bool + }{ + { + name: "405", + method: http.MethodGet, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "400 - missing wallet id", + method: http.MethodPost, + status: http.StatusBadRequest, + err: "400 Bad Request - missing wallet id", + }, + { + name: "400 - invalid num value", + method: http.MethodPost, + body: &httpBody{ + ID: "foo", + Num: "bar", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - invalid num value", + }, + { + name: "400 - gateway.NewAddresses error", + method: http.MethodPost, + body: &httpBody{ + ID: "foo", + Num: "1", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - gateway.NewAddresses error", + walletID: "foo", + n: 1, + gatewayNewAddressesErr: errors.New("gateway.NewAddresses error"), + }, + { + name: "403 - Forbidden - wallet API disabled", + method: http.MethodPost, + body: &httpBody{ + ID: "foo", + Num: "1", + }, + status: http.StatusForbidden, + err: "403 Forbidden", + walletID: "foo", + n: 1, + gatewayNewAddressesErr: wallet.ErrWalletAPIDisabled, + }, + { + name: "400 Bad Request - missing password", + method: http.MethodPost, + body: &httpBody{ + ID: "foo", + Num: "1", + }, + status: http.StatusBadRequest, + err: "400 Bad Request - missing password", + walletID: "foo", + n: 1, + gatewayNewAddressesErr: wallet.ErrMissingPassword, + }, + { + name: "401 Unauthorized - Invalid password", + method: http.MethodPost, + body: &httpBody{ + ID: "foo", + Num: "1", + }, + status: http.StatusUnauthorized, + err: "401 Unauthorized - invalid password", + walletID: "foo", + n: 1, + gatewayNewAddressesErr: wallet.ErrInvalidPassword, + }, + { + name: "200 - OK", + method: http.MethodPost, + body: &httpBody{ + ID: "foo", + Num: "1", + }, + status: http.StatusOK, + walletID: "foo", + n: 1, + gatewayNewAddressesResult: addrs, + responseBody: responseAddresses, + }, + { + name: "200 - OK with password", + method: http.MethodPost, + body: &httpBody{ + ID: "foo", + Num: "1", + Password: "pwd", + }, + status: http.StatusOK, + walletID: "foo", + n: 1, + gatewayNewAddressesResult: addrs, + responseBody: responseAddresses, + }, + { + name: "200 - OK empty addresses", + method: http.MethodPost, + body: &httpBody{ + ID: "foo", + Num: "0", + }, + status: http.StatusOK, + walletID: "foo", + n: 0, + gatewayNewAddressesResult: emptyAddrs, + responseBody: responseEmptyAddresses, + }, + { + name: "200 - OK - CSRF disabled", + method: http.MethodPost, + body: &httpBody{ + ID: "foo", + Num: "1", + }, + status: http.StatusOK, + walletID: "foo", + n: 1, + gatewayNewAddressesResult: addrs, + responseBody: responseAddresses, + csrfDisabled: true, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := &GatewayerMock{} + gateway.On("NewAddresses", tc.walletID, []byte(tc.password), tc.n).Return(tc.gatewayNewAddressesResult, tc.gatewayNewAddressesErr) + gateway.On("IsCSPEnabled").Return(false) + + endpoint := "/api/v1/wallet/newAddress" + + v := url.Values{} + if tc.body != nil { + if tc.body.ID != "" { + v.Add("id", tc.body.ID) + } + if tc.body.Num != "" { + v.Add("num", tc.body.Num) + } + } + + req, err := http.NewRequest(tc.method, endpoint, bytes.NewBufferString(v.Encode())) + require.NoError(t, err) + req.Header.Add("Content-Type", "application/x-www-form-urlencoded") + + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + + rr := httptest.NewRecorder() + handler := newServerMux(mxConfig, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "wrong status code: got `%v` want `%v`", status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %d, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + if status == http.StatusUnauthorized { + require.Equal(t, HTTP401AuthHeader, rr.Header().Get("WWW-Authenticate")) + } + } else { + var msg Addresses + err = json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.responseBody, msg, tc.name) + } + }) + } +} + +func TestGetWalletFolderHandler(t *testing.T) { + tt := []struct { + name string + method string + status int + err string + getWalletDirResponse string + getWalletDirErr error + httpResponse WalletFolder + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + getWalletDirResponse: "/wallet/folder/address", + httpResponse: WalletFolder{ + Address: "/wallet/folder/address", + }, + }, + { + name: "403 - wallet API disabled", + method: http.MethodGet, + status: http.StatusForbidden, + err: "403 Forbidden", + getWalletDirErr: wallet.ErrWalletAPIDisabled, + }, + } + + for _, tc := range tt { + gateway := &GatewayerMock{} + gateway.On("GetWalletDir").Return(tc.getWalletDirResponse, tc.getWalletDirErr) + gateway.On("IsCSPEnabled").Return(false) + endpoint := "/api/v1/wallets/folderName" + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(mxConfig, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg WalletFolder + json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.Equal(t, tc.httpResponse, msg, tc.name) + } + } +} + +func TestGetWallets(t *testing.T) { + var pubkeys []cipher.PubKey + var seckeys []cipher.SecKey + var addrs []cipher.Address + + for i := 0; i < 4; i++ { + pubkey, seckey := cipher.GenerateKeyPair() + addr := cipher.AddressFromPubKey(pubkey) + pubkeys = append(pubkeys, pubkey) + seckeys = append(seckeys, seckey) + addrs = append(addrs, addr) + } + + cases := []struct { + name string + method string + status int + err string + getWalletsResponse wallet.Wallets + getWalletsErr error + httpResponse []*WalletResponse + }{ + { + name: "405", + method: http.MethodPost, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + }, + { + name: "403 - wallet API disabled", + method: http.MethodGet, + status: http.StatusForbidden, + err: "403 Forbidden", + getWalletsErr: wallet.ErrWalletAPIDisabled, + }, + { + name: "200 no wallets", + method: http.MethodGet, + status: http.StatusOK, + getWalletsResponse: nil, + httpResponse: []*WalletResponse{}, + }, + { + name: "200 no wallets 2", + method: http.MethodGet, + status: http.StatusOK, + getWalletsResponse: wallet.Wallets{}, + httpResponse: []*WalletResponse{}, + }, + { + name: "200", + method: http.MethodGet, + status: http.StatusOK, + getWalletsResponse: wallet.Wallets{ + "foofilename": { + Meta: map[string]string{ + "foo": "bar", + "seed": "fooseed", + "lastSeed": "foolastseed", + "coin": "foocoin", + "filename": "foofilename", + "label": "foolabel", + "type": "footype", + "version": "fooversion", + "cryptoType": "foocryptotype", + "tm": "345678", + "encrypted": "true", + }, + Entries: []wallet.Entry{ + { + Address: addrs[0], + Public: pubkeys[0], + Secret: seckeys[0], + }, + }, + }, + "foofilename2": { + Meta: map[string]string{ + "foo": "bar2", + "seed": "fooseed2", + "lastSeed": "foolastseed2", + "coin": "foocoin", + "filename": "foofilename2", + "label": "foolabel2", + "type": "footype", + "version": "fooversion", + "cryptoType": "foocryptotype", + "tm": "123456", + "encrypted": "false", + }, + Entries: []wallet.Entry{ + { + Address: addrs[1], + Public: pubkeys[1], + Secret: seckeys[1], + }, + }, + }, + "foofilename3": { + Meta: map[string]string{ + "foo": "bar3", + "seed": "fooseed3", + "lastSeed": "foolastseed3", + "coin": "foocoin", + "filename": "foofilename3", + "label": "foolabel3", + "type": "footype", + "version": "fooversion", + "cryptoType": "foocryptotype", + "tm": "234567", + "encrypted": "true", + }, + Entries: []wallet.Entry{ + { + Address: addrs[2], + Public: pubkeys[2], + Secret: seckeys[2], + }, + { + Address: addrs[3], + Public: pubkeys[3], + Secret: seckeys[3], + }, + }, + }, + }, + httpResponse: []*WalletResponse{ + { + Meta: WalletMeta{ + Coin: "foocoin", + Filename: "foofilename2", + Label: "foolabel2", + Type: "footype", + Version: "fooversion", + CryptoType: "foocryptotype", + Timestamp: 123456, + Encrypted: false, + }, + Entries: []WalletEntry{ + { + Address: addrs[1].String(), + Public: pubkeys[1].Hex(), + }, + }, + }, + { + Meta: WalletMeta{ + Coin: "foocoin", + Filename: "foofilename3", + Label: "foolabel3", + Type: "footype", + Version: "fooversion", + CryptoType: "foocryptotype", + Timestamp: 234567, + Encrypted: true, + }, + Entries: []WalletEntry{ + { + Address: addrs[2].String(), + Public: pubkeys[2].Hex(), + }, + { + Address: addrs[3].String(), + Public: pubkeys[3].Hex(), + }, + }, + }, + { + Meta: WalletMeta{ + Coin: "foocoin", + Filename: "foofilename", + Label: "foolabel", + Type: "footype", + Version: "fooversion", + CryptoType: "foocryptotype", + Timestamp: 345678, + Encrypted: true, + }, + Entries: []WalletEntry{ + { + Address: addrs[0].String(), + Public: pubkeys[0].Hex(), + }, + }, + }, + }, + }, + } + + for _, tc := range cases { + gateway := &GatewayerMock{} + gateway.On("GetWallets").Return(tc.getWalletsResponse, tc.getWalletsErr) + gateway.On("IsCSPEnabled").Return(false) + + endpoint := "/api/v1/wallets" + + req, err := http.NewRequest(tc.method, endpoint, nil) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(mxConfig, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %s, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } else { + var msg []*WalletResponse + json.Unmarshal(rr.Body.Bytes(), &msg) + require.NoError(t, err) + require.NotNil(t, msg) + require.Equal(t, tc.httpResponse, msg, tc.name) + } + } +} + +func TestWalletUnloadHandler(t *testing.T) { + tt := []struct { + name string + method string + status int + err string + walletID string + unloadWalletErr error + csrfDisabled bool + }{ + { + name: "405", + method: http.MethodGet, + status: http.StatusMethodNotAllowed, + err: "405 Method Not Allowed", + walletID: "wallet.wlt", + }, + { + name: "400 - missing wallet id", + method: http.MethodPost, + status: http.StatusBadRequest, + err: "400 Bad Request - missing wallet id", + }, + { + name: "403 - Forbidden - wallet API disabled", + method: http.MethodPost, + status: http.StatusForbidden, + err: "403 Forbidden", + walletID: "wallet.wlt", + unloadWalletErr: wallet.ErrWalletAPIDisabled, + }, + { + name: "200 - ok", + method: http.MethodPost, + status: http.StatusOK, + walletID: "wallet.wlt", + }, + { + name: "200 - ok, csrf disabled", + method: http.MethodPost, + status: http.StatusOK, + walletID: "wallet.wlt", + csrfDisabled: true, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := &GatewayerMock{} + gateway.On("UnloadWallet", tc.walletID).Return(tc.unloadWalletErr) + gateway.On("IsCSPEnabled").Return(false) + + endpoint := "/api/v1/wallet/unload" + v := url.Values{} + v.Add("id", tc.walletID) + + req, err := http.NewRequest(tc.method, endpoint, strings.NewReader(v.Encode())) + require.NoError(t, err) + req.Header.Add("Content-Type", "application/x-www-form-urlencoded") + + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + + rr := httptest.NewRecorder() + handler := newServerMux(mxConfig, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "wrong status code: got `%v` want `%v`", status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.err, strings.TrimSpace(rr.Body.String()), "case: %s, handler returned wrong error message: got `%v`| %d, want `%v`", + tc.name, strings.TrimSpace(rr.Body.String()), status, tc.err) + } + }) + } +} + +func TestEncryptWallet(t *testing.T) { + entries, responseEntries := makeEntries([]byte("seed"), 5) + type gatewayReturnPair struct { + w *wallet.Wallet + err error + } + tt := []struct { + name string + method string + wltID string + password string + gatewayReturn gatewayReturnPair + status int + expectWallet WalletResponse + expectErr string + }{ + { + name: "200 - OK", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturn: gatewayReturnPair{ + w: &wallet.Wallet{ + Meta: map[string]string{ + "filename": "wallet.wlt", + "seed": "seed", + "lastSeed": "lastSeed", + "secrets": "secrets", + "encrypted": "true", + }, + Entries: cloneEntries(entries), + }, + }, + status: http.StatusOK, + expectWallet: WalletResponse{ + Meta: WalletMeta{ + Filename: "wallet.wlt", + Encrypted: true, + }, + Entries: responseEntries, + }, + }, + { + name: "403 Forbidden", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturn: gatewayReturnPair{ + err: wallet.ErrWalletAPIDisabled, + }, + status: http.StatusForbidden, + expectErr: "403 Forbidden", + }, + { + name: "405 Method Not Allowed", + method: http.MethodGet, + wltID: "wallet.wlt", + password: "pwd", + status: http.StatusMethodNotAllowed, + expectErr: "405 Method Not Allowed", + }, + { + name: "400 - Missing Password", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "", + gatewayReturn: gatewayReturnPair{ + err: wallet.ErrMissingPassword, + }, + status: http.StatusBadRequest, + expectErr: "400 Bad Request - missing password", + }, + { + name: "400 - Missing Wallet Id", + method: http.MethodPost, + wltID: "", + status: http.StatusBadRequest, + expectErr: "400 Bad Request - missing wallet id", + }, + { + name: "401 Unauthorized - Invalid Password", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturn: gatewayReturnPair{ + err: wallet.ErrInvalidPassword, + }, + status: http.StatusUnauthorized, + expectErr: "401 Unauthorized - invalid password", + }, + { + name: "404 - Wallet Not Found", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturn: gatewayReturnPair{ + err: wallet.ErrWalletNotExist, + }, + status: http.StatusNotFound, + expectErr: "404 Not Found", + }, + { + name: "400 - Wallet Is Encrypted", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturn: gatewayReturnPair{ + err: wallet.ErrWalletEncrypted, + }, + status: http.StatusBadRequest, + expectErr: "400 Bad Request - wallet is encrypted", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := NewGatewayerMock() + gateway.On("EncryptWallet", tc.wltID, []byte(tc.password)).Return(tc.gatewayReturn.w, tc.gatewayReturn.err) + gateway.On("IsCSPEnabled").Return(false) + + endpoint := "/api/v1/wallet/encrypt" + v := url.Values{} + v.Add("id", tc.wltID) + v.Add("password", tc.password) + + req, err := http.NewRequest(tc.method, endpoint, strings.NewReader(v.Encode())) + require.NoError(t, err) + req.Header.Add("Content-Type", "application/x-www-form-urlencoded") + + csrfStore := &CSRFStore{ + Enabled: true, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(mxConfig, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "wrong status code: got `%v` want `%v`, body: %v", status, tc.status, rr.Body.String()) + + if status != http.StatusOK { + require.Equal(t, tc.expectErr, strings.TrimSpace(rr.Body.String())) + if status == http.StatusUnauthorized { + require.Equal(t, HTTP401AuthHeader, rr.Header().Get("WWW-Authenticate")) + } + return + } + + var rlt WalletResponse + err = json.NewDecoder(rr.Body).Decode(&rlt) + require.NoError(t, err) + require.Equal(t, tc.expectWallet, rlt) + }) + } +} + +func TestDecryptWallet(t *testing.T) { + entries, responseEntries := makeEntries([]byte("seed"), 5) + type gatewayReturnPair struct { + w *wallet.Wallet + err error + } + + tt := []struct { + name string + method string + wltID string + password string + gatewayReturn gatewayReturnPair + status int + expectWallet WalletResponse + expectErr string + csrfDisabled bool + }{ + { + name: "200 OK", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturn: gatewayReturnPair{ + w: &wallet.Wallet{ + Meta: map[string]string{ + "filename": "wallet", + "seed": "seed", + "lastSeed": "lastSeed", + "secrets": "", + "encrypted": "false", + }, + Entries: cloneEntries(entries), + }, + }, + status: http.StatusOK, + expectWallet: WalletResponse{ + Meta: WalletMeta{ + Filename: "wallet", + Encrypted: false, + }, + Entries: responseEntries, + }, + }, + { + name: "200 OK CSRF disabled", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturn: gatewayReturnPair{ + w: &wallet.Wallet{ + Meta: map[string]string{ + "filename": "wallet", + "seed": "seed", + "lastSeed": "lastSeed", + "secrets": "", + "encrypted": "false", + }, + Entries: cloneEntries(entries), + }, + }, + status: http.StatusOK, + expectWallet: WalletResponse{ + Meta: WalletMeta{ + Filename: "wallet", + Encrypted: false, + }, + Entries: responseEntries, + }, + csrfDisabled: true, + }, + + { + name: "403 Forbidden", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturn: gatewayReturnPair{ + err: wallet.ErrWalletAPIDisabled, + }, + status: http.StatusForbidden, + expectErr: "403 Forbidden", + }, + { + name: "405 Method Not Allowed", + method: http.MethodGet, + status: http.StatusMethodNotAllowed, + expectErr: "405 Method Not Allowed", + }, + { + name: "400 - Missing Wallet ID", + method: http.MethodPost, + wltID: "", + password: "", + status: http.StatusBadRequest, + expectErr: "400 Bad Request - missing wallet id", + }, + { + name: "400 - Missing Password", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "", + gatewayReturn: gatewayReturnPair{ + err: wallet.ErrMissingPassword, + }, + status: http.StatusBadRequest, + expectErr: "400 Bad Request - missing password", + }, + { + name: "400 - Wallet IS Not Encrypted", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturn: gatewayReturnPair{ + err: wallet.ErrWalletNotEncrypted, + }, + status: http.StatusBadRequest, + expectErr: "400 Bad Request - wallet is not encrypted", + }, + { + name: "401 Unauthorized - Invalid Password", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturn: gatewayReturnPair{ + err: wallet.ErrInvalidPassword, + }, + status: http.StatusUnauthorized, + expectErr: "401 Unauthorized - invalid password", + }, + { + name: "404 - Wallet Does Not Exist", + method: http.MethodPost, + wltID: "wallet.wlt", + password: "pwd", + gatewayReturn: gatewayReturnPair{ + err: wallet.ErrWalletNotExist, + }, + status: http.StatusNotFound, + expectErr: "404 Not Found", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + gateway := NewGatewayerMock() + gateway.On("DecryptWallet", tc.wltID, []byte(tc.password)).Return(tc.gatewayReturn.w, tc.gatewayReturn.err) + gateway.On("IsCSPEnabled").Return(false) + + endpoint := "/api/v1/wallet/decrypt" + v := url.Values{} + v.Add("id", tc.wltID) + v.Add("password", tc.password) + + req, err := http.NewRequest(tc.method, endpoint, strings.NewReader(v.Encode())) + require.NoError(t, err) + req.Header.Add("Content-Type", "application/x-www-form-urlencoded") + + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + setCSRFParameters(csrfStore, tokenValid, req) + + rr := httptest.NewRecorder() + handler := newServerMux(mxConfig, gateway, csrfStore, nil) + + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "wrong status code: got `%v` want `%v`", status, tc.status) + + if status != http.StatusOK { + require.Equal(t, tc.expectErr, strings.TrimSpace(rr.Body.String())) + if status == http.StatusUnauthorized { + require.Equal(t, HTTP401AuthHeader, rr.Header().Get("WWW-Authenticate")) + } + return + } + + var r WalletResponse + err = json.NewDecoder(rr.Body).Decode(&r) + require.NoError(t, err) + require.Equal(t, tc.expectWallet, r) + }) + } +} + +// makeEntries derives N wallet address entries from given seed +// Returns set of wallet.Entry and wallet.ReadableEntry, the readable +// entries' secrets are removed. +func makeEntries(seed []byte, n int) ([]wallet.Entry, []WalletEntry) { // nolint: unparam + seckeys := cipher.GenerateDeterministicKeyPairs(seed, n) + var entries []wallet.Entry + var responseEntries []WalletEntry + for i, seckey := range seckeys { + pubkey := cipher.PubKeyFromSecKey(seckey) + entries = append(entries, wallet.Entry{ + Address: cipher.AddressFromPubKey(pubkey), + Public: pubkey, + Secret: seckey, + }) + responseEntries = append(responseEntries, WalletEntry{ + Address: entries[i].Address.String(), + Public: entries[i].Public.Hex(), + }) + } + return entries, responseEntries +} + +func cloneEntries(es []wallet.Entry) []wallet.Entry { + var entries []wallet.Entry + for _, e := range es { + entries = append(entries, e) + } + return entries +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/README.md b/vendor/github.com/skycoin/skycoin/src/api/webrpc/README.md new file mode 100755 index 0000000..26b8efb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/README.md @@ -0,0 +1,123 @@ +# JSON 2.0 RPC API Documentation + +**WARNING: The JSON-RPC 2.0 API interface is deprecated. Do not interface with it directly** + +This is a description about skycoin webrpc, which implemented the [json-rpc 2.0](http://www.jsonrpc.org/specification) protocol. +The rpc service entry point is /webrpc, and only accept the HTTP `POST` requests. +The rpc service is exposed on port `6420` by default. + +## Get Status + +Get status of rpc server. + +request: + +```json +{ + "id": "1", + "jsonrpc": "2.0", + "method": "get_status" +} +``` + +## Get last blocks + +Get last `N` blocks. + +request: + +```json +{ + "id": "1", + "jsonrpc": "2.0", + "method": "get_lastblocks", + "params": [3] +} +``` + +The params must be an array with one integer value. + +## Get blocks + +Get blocks in specific range, inclusive. + +request: + +```json +{ + "id": "1", + "jsonrpc": "2.0", + "method": "get_blocks", + "params": [2, 10] +} +``` + +The params must be an array with two integer values. + +## Get blocks by sequence number + +Get blocks at specific sequence numbers. + +request: + +```json +{ + "id": "1", + "jsonrpc": "2.0", + "method": "get_blocks", + "params": [133, 401, 212] +} +``` + +The params must be an array of integer values. + +## Get outputs + +Get unspent outputs of specific addresses. + +request: + +```json +{ + "id": "1", + "jsonrpc": "2.0", + "method": "get_outputs", + "params": ["fyqX5YuwXMUs4GEUE3LjLyhrqvNztFHQ4C", "fyqX5YuwXMUs4GEUE3LjLyhrqvNztFHQ4B"] +} +``` + +The params must be an array of strings. + +## Inject transaction + +Broadcast raw transaction. + +request: + +```json +{ + "id": "1", + "jsonrpc": "2.0", + "method": "inject_transaction", + "params": ["dc0000000010e05181fd4023f865a84359bf72a304e687b6f00e42f93ad9a4b8ee5a64aabc01000000dcb5b236eecd97a36c7d0a0b8ed68bb5df6274433a51fddf911f02f3926d20bf6eaabdc21529b7696f498545b06cc7e69f2f08b4dc5fa823c5b3f03da06794a300010000006d8a9c89177ce5e9d3b4b59fff67c00f0471fdebdfbb368377841b03fc7d688b02000000005771eeda2e253697cf5368f16fe05210d5cd319040420f0000000000af010000000000000060dfa95881cdc827b45a6d49b11dbc152ecd4de600093d0000000000af01000000000000"] +} +``` + +The params must be an array with one raw transaction string. + +## Get transaction + +Get transaction verbose info of specific transaction id. + +request: + +```json +{ + "id": "1", + "jsonrpc": "2.0", + "method": "get_transaction", + "params": ["bdc4a85a3e9d17a8fe00aa7430d0347c7f1dd6480a16da7147b6e43905057d43"] +} +``` + +The params must be an array with one txid string. diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/block.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/block.go new file mode 100755 index 0000000..95057a7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/block.go @@ -0,0 +1,56 @@ +package webrpc + +// request params: [seq1, seq2, seq3...] +func getBlocksBySeqHandler(req Request, gateway Gatewayer) Response { + var seqs []uint64 + if err := req.DecodeParams(&seqs); err != nil { + return MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams) + } + + if len(seqs) == 0 { + return MakeErrorResponse(ErrCodeInvalidParams, "empty params") + } + blocks, err := gateway.GetBlocksInDepth(seqs) + if err != nil { + logger.Error(err) + return MakeErrorResponse(ErrCodeInternalError, ErrMsgInternalError) + } + return makeSuccessResponse(req.ID, blocks) +} + +// request params: [number] +func getLastBlocksHandler(req Request, gateway Gatewayer) Response { + // validate the req params + var num []uint64 + if err := req.DecodeParams(&num); err != nil { + return MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams) + } + + if len(num) != 1 { + return MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams) + } + + blocks, err := gateway.GetLastBlocks(num[0]) + if err != nil { + logger.Error(err) + return MakeErrorResponse(ErrCodeInternalError, ErrMsgInternalError) + } + return makeSuccessResponse(req.ID, blocks) +} + +func getBlocksHandler(req Request, gateway Gatewayer) Response { + var params []uint64 + if err := req.DecodeParams(¶ms); err != nil { + return MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams) + } + + if len(params) != 2 { + return MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams) + } + + blocks, err := gateway.GetBlocks(params[0], params[1]) + if err != nil { + return MakeErrorResponse(ErrCodeInternalError, ErrMsgInternalError) + } + return makeSuccessResponse(req.ID, blocks) +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/block_test.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/block_test.go new file mode 100755 index 0000000..98282c6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/block_test.go @@ -0,0 +1,335 @@ +package webrpc + +import ( + "encoding/json" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/visor" +) + +var blockString = `{ + "blocks": [ + { + "header": { + "version": 0, + "timestamp": 1477295242, + "seq": 454, + "fee": 20732, + "prev_hash": "f680fe1f068a1cd5c3ef9194f91a9bc3cacffbcae4a32359a3c014da4ef7516f", + "hash": "662835cc081e037561e1fe05860fdc4b426f6be562565bfaa8ec91be5675064a" + }, + "body": { + "txns": [ + { + "length": 608, + "type": 0, + "txid": "662835cc081e037561e1fe05860fdc4b426f6be562565bfaa8ec91be5675064a", + "inner_hash": "37f1111bd83d9c995b9e48511bd52de3b0e440dccbf6d2cfd41dee31a10f1aa4", + "sigs": [ + "ef0b8e1465557e6f21cb2bfad17136188f0b9bd54bba3db76c3488eb8bc900bc7662e3fe162dd6c236d9e52a7051a2133855081a91f6c1a63e1fce2ae9e3820e00", + "800323c8c22a2c078cecdfad35210902f91af6f97f0c63fe324e0a9c2159e9356f2fbbfff589edea5a5c24453ef5fc0cd5929f24bebee28e37057acd6d42f3d700", + "ca6a6ef5f5fb67490d88ddeeee5e5d11055246613b03e7ed2ad5cc82d01077d262e2da56560083928f5389580ae29500644719cf0e82a5bf065cecbed857598400", + "78ddc117607159c7b4c76fc91deace72425f21f2df5918d44d19a377da68cc610668c335c84e2bb7a8f16cd4f9431e900585fc0a3f1024b722b974fcef59dfd500", + "4c484d44072e23e97a437deb03a85e3f6eca0bd8875031efe833e3c700fc17f91491969b9864b56c280ef8a68d18dd728b211ce1d46fe477fe3104d73d55ad6501" + ], + "inputs": [ + "4bd7c68ecf3039c2b2d8c26a5e2983e20cf53b6d62b099e7786546b3c3f600f9", + "f9e39908677cae43832e1ead2514e01eaae48c9a3614a97970f381187ee6c4b1", + "7e8ac23a2422b4666ff45192fe36b1bd05f1285cf74e077ac92cabf5a7c1100e", + "b3606a4f115d4161e1c8206f4fb5ac0e91551c40d0ee6fe40c86040d2faacac0", + "305f1983f5b630bba27e2777c229c725b6b57f37a6ddee138d1d82ae56311909" + ], + "outputs": [ + { + "uxid": "574d7e5afaefe4ee7e0adf6ce1971d979f038adc8ebbd35771b2c19b0bad7e3d", + "dst": "cBnu9sUvv12dovBmjQKTtfE4rbjMmf3fzW", + "coins": "1", + "hours": 3455 + }, + { + "uxid": "6d8a9c89177ce5e9d3b4b59fff67c00f0471fdebdfbb368377841b03fc7d688b", + "dst": "fyqX5YuwXMUs4GEUE3LjLyhrqvNztFHQ4B", + "coins": "5", + "hours": 3455 + } + ] + } + ] + } + } + ] +}` + +var emptyBlockString = `{ + "blocks":[] + }` + +func decodeBlock(str string) *visor.ReadableBlocks { + var blocks visor.ReadableBlocks + if err := json.Unmarshal([]byte(str), &blocks); err != nil { + panic(err) + } + return &blocks +} + +func Test_getLastBlocksHandler(t *testing.T) { + type args struct { + req Request + gateway Gatewayer + } + tests := []struct { + name string + args args + want Response + }{ + // TODO: Add test cases. + { + "normal", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_lastblocks", + Params: []byte("[1]"), + }, + gateway: &fakeGateway{}, + }, + makeSuccessResponse("1", decodeBlock(blockString)), + }, + { + "invalid params: num value", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_lastblocks", + Params: []byte(`[1a]`), // invalid params + }, + gateway: &fakeGateway{}, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + { + "invalid params: no num value", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_lastblocks", + Params: []byte(`{"foo": 1}`), // invalid params + }, + gateway: &fakeGateway{}, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + { + "invalid params: empty params", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_lastblocks", + }, + gateway: &fakeGateway{}, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + { + "invalid params: more than one param", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_lastblocks", + Params: []byte("[1,2]"), + }, + gateway: &fakeGateway{}, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := getLastBlocksHandler(tt.args.req, tt.args.gateway) + require.Equal(t, tt.want, got) + }) + } +} + +func Test_getBlocksHandler(t *testing.T) { + type args struct { + req Request + gateway Gatewayer + } + tests := []struct { + name string + args args + want Response + }{ + // TODO: Add test cases. + { + "normal", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_blocks", + Params: []byte("[0, 1]"), + }, + gateway: &fakeGateway{}, + }, + makeSuccessResponse("1", decodeBlock(blockString)), + }, + { + "invalid params: lost end", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_blocks", + Params: []byte("[0]"), + }, + gateway: &fakeGateway{}, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + { + "invalid params:lost start", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_blocks", + Params: []byte("[1]"), + }, + gateway: &fakeGateway{}, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + { + "invalid params: start = abc", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_blocks", + Params: []byte(`{ "start": "abc"}`), + }, + gateway: &fakeGateway{}, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + { + "empty params", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_blocks", + }, + gateway: &fakeGateway{}, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + { + "start > end", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_blocks", + Params: []byte(`[2, 1]`), + }, + gateway: &fakeGateway{}, + }, + makeSuccessResponse("1", nil), + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := getBlocksHandler(tt.args.req, tt.args.gateway) + require.Equal(t, tt.want, got) + }) + } +} + +func Test_getBlocksBySeqHandler(t *testing.T) { + m := NewGatewayerMock() + m.On("GetBlocksInDepth", []uint64{454}).Return(decodeBlock(blockString), nil) + m.On("GetBlocksInDepth", []uint64{1000}).Return(decodeBlock(emptyBlockString), nil) + + type args struct { + req Request + gateway Gatewayer + } + tests := []struct { + name string + args args + want Response + }{ + // TODO: Add test cases. + { + "normal", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_blocks_by_seq", + Params: []byte(`[454]`), + }, + gateway: m, + }, + makeSuccessResponse("1", decodeBlock(blockString)), + }, + { + "none exist seq", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_blocks_by_seq", + Params: []byte(`[1000]`), + }, + gateway: m, + }, + makeSuccessResponse("1", decodeBlock(emptyBlockString)), + }, + { + "invalid request param", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_blocks_by_seq", + Params: []byte(`["454"]`), + }, + gateway: m, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + { + "empty param", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_blocks_by_seq", + Params: []byte(`[]`), + }, + gateway: m, + }, + MakeErrorResponse(ErrCodeInvalidParams, "empty params"), + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := getBlocksBySeqHandler(tt.args.req, tt.args.gateway) + require.Equal(t, tt.want, got) + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/client.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/client.go new file mode 100755 index 0000000..411d80f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/client.go @@ -0,0 +1,297 @@ +package webrpc + +import ( + "bytes" + "encoding/hex" + "encoding/json" + "errors" + "fmt" + "io/ioutil" + "net" + "net/http" + "net/url" + "strconv" + "strings" + "time" + + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/visor" +) + +const ( + dialTimeout = 60 * time.Second + httpClientTimeout = 120 * time.Second + tlsHandshakeTimeout = 60 * time.Second +) + +// ErrJSONUnmarshal is returned if JSON unmarshal fails +var ErrJSONUnmarshal = errors.New("JSON unmarshal failed") + +// ClientError is used for non-200 API responses +type ClientError struct { + Status string + StatusCode int + Message string +} + +func (e ClientError) Error() string { + return e.Message +} + +// Client is an RPC client +type Client struct { + Addr string + HTTPClient *http.Client + UseCSRF bool + reqIDCtr int +} + +// NewClient creates a Client +func NewClient(addr string) (*Client, error) { + transport := &http.Transport{ + Dial: (&net.Dialer{ + Timeout: dialTimeout, + }).Dial, + TLSHandshakeTimeout: tlsHandshakeTimeout, + } + httpClient := &http.Client{ + Transport: transport, + Timeout: httpClientTimeout, + } + addr = strings.TrimRight(addr, "/") + addr += "/" + + if _, err := url.Parse(addr); err != nil { + return nil, err + } + + return &Client{ + Addr: addr, + HTTPClient: httpClient, + }, nil +} + +// Do makes an RPC request +func (c *Client) Do(obj interface{}, method string, params interface{}) error { + c.reqIDCtr++ + + var csrf string + if c.UseCSRF { + var err error + csrf, err = c.CSRF() + if err != nil { + return err + } + + if csrf == "" { + return errors.New("Remote node has CSRF disabled") + } + } + + req, err := NewRequest(method, params, strconv.Itoa(c.reqIDCtr)) + if err != nil { + return err + } + + rsp, err := do(c.HTTPClient, req, c.Addr, csrf) + if err != nil { + return err + } + + if rsp.Error != nil { + return rsp.Error + } + + return decodeJSON(rsp.Result, obj) +} + +// CSRF returns a CSRF token. If CSRF is disabled on the node, returns an empty string and nil error. +func (c *Client) CSRF() (string, error) { + endpoint := c.Addr + "csrf" + req, err := http.NewRequest(http.MethodGet, endpoint, nil) + if err != nil { + return "", err + } + + resp, err := c.HTTPClient.Do(req) + + if err != nil { + return "", err + } + + defer resp.Body.Close() + + switch resp.StatusCode { + case http.StatusOK: + case http.StatusNotFound: + // CSRF is disabled on the node + return "", nil + default: + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return "", err + } + + return "", fmt.Errorf("%d %s: %s", resp.StatusCode, resp.Status, string(body)) + } + + var m map[string]string + if err := json.NewDecoder(resp.Body).Decode(&m); err != nil { + return "", err + } + + token, ok := m["csrf_token"] + if !ok { + return "", errors.New("csrf_token not found in response") + } + + return token, nil +} + +// GetUnspentOutputs returns unspent outputs for a set of addresses +// TODO -- what is the difference between this and GetAddressUxOuts? +func (c *Client) GetUnspentOutputs(addrs []string) (*OutputsResult, error) { + outputs := OutputsResult{} + if err := c.Do(&outputs, "get_outputs", addrs); err != nil { + return nil, err + } + + return &outputs, nil +} + +// InjectTransactionString injects a hex-encoded transaction string to the network +func (c *Client) InjectTransactionString(rawtx string) (string, error) { + params := []string{rawtx} + rlt := TxIDJson{} + + if err := c.Do(&rlt, "inject_transaction", params); err != nil { + return "", err + } + + return rlt.Txid, nil +} + +// InjectTransaction injects a *coin.Transaction to the network +func (c *Client) InjectTransaction(tx *coin.Transaction) (string, error) { + d := tx.Serialize() + rawTx := hex.EncodeToString(d) + return c.InjectTransactionString(rawTx) +} + +// GetStatus returns status info for a skycoin node +func (c *Client) GetStatus() (*StatusResult, error) { + status := StatusResult{} + if err := c.Do(&status, "get_status", nil); err != nil { + return nil, err + } + + return &status, nil +} + +// GetTransactionByID returns a transaction given a txid +func (c *Client) GetTransactionByID(txid string) (*TxnResult, error) { + txn := TxnResult{} + if err := c.Do(&txn, "get_transaction", []string{txid}); err != nil { + return nil, err + } + + return &txn, nil +} + +// GetAddressUxOuts returns unspent outputs for a set of addresses +// TODO -- what is the difference between this and GetUnspentOutputs? +func (c *Client) GetAddressUxOuts(addrs []string) ([]AddrUxoutResult, error) { + uxouts := []AddrUxoutResult{} + if err := c.Do(&uxouts, "get_address_uxouts", addrs); err != nil { + return nil, err + } + + return uxouts, nil +} + +// GetBlocks returns a range of blocks +func (c *Client) GetBlocks(start, end uint64) (*visor.ReadableBlocks, error) { + param := []uint64{start, end} + blocks := visor.ReadableBlocks{} + + if err := c.Do(&blocks, "get_blocks", param); err != nil { + return nil, err + } + + return &blocks, nil +} + +// GetBlocksBySeq returns blocks for a set of block sequences (heights) +func (c *Client) GetBlocksBySeq(ss []uint64) (*visor.ReadableBlocks, error) { + blocks := visor.ReadableBlocks{} + + if err := c.Do(&blocks, "get_blocks_by_seq", ss); err != nil { + return nil, err + } + + return &blocks, nil +} + +// GetLastBlocks returns the last n blocks +func (c *Client) GetLastBlocks(n uint64) (*visor.ReadableBlocks, error) { + param := []uint64{n} + blocks := visor.ReadableBlocks{} + if err := c.Do(&blocks, "get_lastblocks", param); err != nil { + return nil, err + } + + return &blocks, nil +} + +// do send request to web. rpcAddress should have forward slash appended +func do(httpClient *http.Client, rpcReq *Request, rpcAddress, csrf string) (*Response, error) { + d, err := json.Marshal(rpcReq) + if err != nil { + return nil, err + } + + url := rpcAddress + "api/v1/webrpc" + body := bytes.NewBuffer(d) + req, err := http.NewRequest(http.MethodPost, url, body) + if err != nil { + return nil, err + } + + req.Header.Set("Content-Type", "application/json") + + if csrf != "" { + req.Header.Set("X-CSRF-Token", csrf) + } + + resp, err := httpClient.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return nil, err + } + + return nil, ClientError{ + Status: resp.Status, + StatusCode: resp.StatusCode, + Message: strings.TrimSpace(string(body)), + } + } + + res := Response{} + if err := json.NewDecoder(resp.Body).Decode(&res); err != nil { + return nil, err + } + return &res, nil +} + +func decodeJSON(data []byte, obj interface{}) error { + if err := json.NewDecoder(bytes.NewBuffer(data)).Decode(obj); err != nil { + return ErrJSONUnmarshal + } + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/client_test.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/client_test.go new file mode 100755 index 0000000..eb0bce4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/client_test.go @@ -0,0 +1,438 @@ +package webrpc + +import ( + "bytes" + "encoding/json" + "net/http" + "net/http/httptest" + "sort" + "strings" + "testing" + "time" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor" +) + +func TestClientGetUnspentOutputs(t *testing.T) { + s := setupWebRPC(t) + + mux := http.NewServeMux() + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) + + headTime := uint64(time.Now().UTC().Unix()) + uxouts := make([]coin.UxOut, 5) + addrs := make([]cipher.Address, 5) + rbOutputs := make(visor.ReadableOutputs, 5) + for i := 0; i < 5; i++ { + addrs[i] = testutil.MakeAddress() + uxouts[i] = coin.UxOut{} + uxouts[i].Body.Address = addrs[i] + rbOut, err := visor.NewReadableOutput(headTime, uxouts[i]) + require.NoError(t, err) + rbOutputs[i] = rbOut + } + + s.Gateway = &fakeGateway{ + uxouts: uxouts, + } + + cases := []struct { + name string + params []string + errMsg string + }{ + { + name: "valid, multiple addresses", + params: []string{addrs[0].String(), addrs[1].String()}, + }, + { + name: "invalid addresses", + params: []string{"invalid-address-foo"}, + errMsg: "invalid address: invalid-address-foo", + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + rpcReq, err := NewRequest("get_outputs", tc.params, "1") + require.NoError(t, err) + + body, err := json.Marshal(rpcReq) + require.NoError(t, err) + + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) + require.NoError(t, err) + + rr := httptest.NewRecorder() + + mux.ServeHTTP(rr, req) + + require.Equal(t, http.StatusOK, rr.Code) + + var resp Response + err = json.Unmarshal(rr.Body.Bytes(), &resp) + require.NoError(t, err) + + if tc.errMsg != "" { + require.NotNil(t, resp.Error) + require.NotEmpty(t, resp.Error.Code) + require.Equal(t, tc.errMsg, resp.Error.Message) + return + } + + require.Nil(t, resp.Error) + + var outputs OutputsResult + err = json.Unmarshal(resp.Result, &outputs) + require.NoError(t, err) + + require.Len(t, outputs.Outputs.HeadOutputs, 2) + require.Len(t, outputs.Outputs.IncomingOutputs, 0) + require.Len(t, outputs.Outputs.OutgoingOutputs, 0) + + // GetUnspentOutputs sorts outputs by most recent time first, then by hash + expectedOutputs := rbOutputs[:2] + sort.Slice(expectedOutputs, func(i, j int) bool { + if expectedOutputs[i].Time == expectedOutputs[j].Time { + return strings.Compare(expectedOutputs[i].Hash, expectedOutputs[j].Hash) < 1 + } + + return expectedOutputs[i].Time > expectedOutputs[j].Time + }) + + require.Equal(t, rbOutputs[:2], outputs.Outputs.HeadOutputs) + }) + } +} + +func TestClientInjectTransaction(t *testing.T) { + s := setupWebRPC(t) + + mux := http.NewServeMux() + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) + + s.Gateway.(*fakeGateway).injectRawTxMap = map[string]bool{ + rawTxID: true, + } + require.Empty(t, s.Gateway.(*fakeGateway).injectedTransactions) + + rpcReq, err := NewRequest("inject_transaction", []string{rawTxStr}, "1") + require.NoError(t, err) + + body, err := json.Marshal(rpcReq) + require.NoError(t, err) + + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) + require.NoError(t, err) + + rr := httptest.NewRecorder() + + mux.ServeHTTP(rr, req) + + require.Equal(t, http.StatusOK, rr.Code) + + var resp Response + err = json.Unmarshal(rr.Body.Bytes(), &resp) + require.NoError(t, err) + + var txidJSON TxIDJson + err = json.Unmarshal(resp.Result, &txidJSON) + require.NoError(t, err) + require.NotEmpty(t, txidJSON.Txid) + + require.Len(t, s.Gateway.(*fakeGateway).injectedTransactions, 1) + require.Contains(t, s.Gateway.(*fakeGateway).injectedTransactions, rawTxID) +} + +func TestClientGetStatus(t *testing.T) { + s := setupWebRPC(t) + + mux := http.NewServeMux() + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) + + rpcReq, err := NewRequest("get_status", nil, "1") + require.NoError(t, err) + + body, err := json.Marshal(rpcReq) + require.NoError(t, err) + + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) + require.NoError(t, err) + + rr := httptest.NewRecorder() + + mux.ServeHTTP(rr, req) + + require.Equal(t, http.StatusOK, rr.Code) + + var resp Response + err = json.Unmarshal(rr.Body.Bytes(), &resp) + require.NoError(t, err) + + var result StatusResult + err = json.Unmarshal(resp.Result, &result) + require.NoError(t, err) + + // values derived from hardcoded `blockString` + require.Equal(t, StatusResult{ + Running: true, + BlockNum: 455, + LastBlockHash: "", + TimeSinceLastBlock: "18446744072232256374s", + }, result) +} + +func TestClientGetTransactionByID(t *testing.T) { + s := setupWebRPC(t) + + mux := http.NewServeMux() + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) + + cases := []struct { + name string + txid string + errMsg string + gatewayTransactions map[string]string + }{ + { + name: "invalid txn id", + txid: "foo", + errMsg: "invalid transaction hash", + }, + { + name: "valid txn id, but does not exist", + txid: rawTxID, + errMsg: "transaction doesn't exist", + }, + { + name: "valid txn id exists", + txid: rawTxID, + gatewayTransactions: map[string]string{ + rawTxID: rawTxStr, + }, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + if tc.gatewayTransactions != nil { + s.Gateway.(*fakeGateway).transactions = tc.gatewayTransactions + } + + rpcReq, err := NewRequest("get_transaction", []string{tc.txid}, "1") + require.NoError(t, err) + + body, err := json.Marshal(rpcReq) + require.NoError(t, err) + + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) + require.NoError(t, err) + + rr := httptest.NewRecorder() + + mux.ServeHTTP(rr, req) + + require.Equal(t, http.StatusOK, rr.Code) + + var resp Response + err = json.Unmarshal(rr.Body.Bytes(), &resp) + require.NoError(t, err) + + if tc.errMsg != "" { + require.NotNil(t, resp.Error) + require.Equal(t, tc.errMsg, resp.Error.Message) + return + } + + var txn TxnResult + err = json.Unmarshal(resp.Result, &txn) + require.NoError(t, err) + + expectedTxn := decodeRawTransaction(rawTxStr) + rbTx, err := visor.NewReadableTransaction(expectedTxn) + require.NoError(t, err) + require.Equal(t, &daemon.TransactionResult{ + Status: expectedTxn.Status, + Time: 0, + Transaction: *rbTx, + }, txn.Transaction) + }) + } +} + +func TestClientGetAddressUxOuts(t *testing.T) { + s := setupWebRPC(t) + + mux := http.NewServeMux() + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) + + cases := []struct { + name string + addr string + errMsg string + }{ + { + name: "valid address", + addr: "2kmKohJrwURrdcVtDNaWK6hLCNsWWbJhTqT", + }, + { + name: "invalid address", + addr: "foo", + errMsg: "Invalid address length", + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + gatewayerMock, mockData := newUxOutMock() + s.Gateway = gatewayerMock + + rpcReq, err := NewRequest("get_address_uxouts", []string{tc.addr}, "1") + require.NoError(t, err) + + body, err := json.Marshal(rpcReq) + require.NoError(t, err) + + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) + require.NoError(t, err) + + rr := httptest.NewRecorder() + + mux.ServeHTTP(rr, req) + + require.Equal(t, http.StatusOK, rr.Code) + + var resp Response + err = json.Unmarshal(rr.Body.Bytes(), &resp) + require.NoError(t, err) + + if tc.errMsg != "" { + require.NotNil(t, resp.Error) + require.Equal(t, tc.errMsg, resp.Error.Message) + return + } + + var uxouts []AddrUxoutResult + err = json.Unmarshal(resp.Result, &uxouts) + require.NoError(t, err) + + require.Equal(t, []AddrUxoutResult{{ + Address: tc.addr, + UxOuts: mockData(tc.addr), + }}, uxouts) + }) + } +} + +func TestClientGetBlocks(t *testing.T) { + s := setupWebRPC(t) + + mux := http.NewServeMux() + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) + + // blockString borrowed from block_test.go + rpcReq, err := NewRequest("get_blocks", []uint64{0, 1}, "1") + require.NoError(t, err) + + body, err := json.Marshal(rpcReq) + require.NoError(t, err) + + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) + require.NoError(t, err) + + rr := httptest.NewRecorder() + + mux.ServeHTTP(rr, req) + + require.Equal(t, http.StatusOK, rr.Code) + + var resp Response + err = json.Unmarshal(rr.Body.Bytes(), &resp) + require.NoError(t, err) + + var blocks visor.ReadableBlocks + err = json.Unmarshal(resp.Result, &blocks) + require.NoError(t, err) + + require.NotNil(t, blocks.Blocks) + require.Equal(t, decodeBlock(blockString), &blocks) +} + +func TestClientGetBlocksBySeq(t *testing.T) { + s := setupWebRPC(t) + + gatewayerMock := NewGatewayerMock() + s.Gateway = gatewayerMock + gatewayerMock.On("GetBlocksInDepth", []uint64{454}).Return(decodeBlock(blockString), nil) + + mux := http.NewServeMux() + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) + + // blockString and seq borrowed from block_test.go + var seq uint64 = 454 + rpcReq, err := NewRequest("get_blocks_by_seq", []uint64{seq}, "1") + require.NoError(t, err) + + body, err := json.Marshal(rpcReq) + require.NoError(t, err) + + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) + require.NoError(t, err) + + rr := httptest.NewRecorder() + + mux.ServeHTTP(rr, req) + + require.Equal(t, http.StatusOK, rr.Code) + + var resp Response + err = json.Unmarshal(rr.Body.Bytes(), &resp) + require.NoError(t, err) + + var blocks visor.ReadableBlocks + err = json.Unmarshal(resp.Result, &blocks) + require.NoError(t, err) + + require.NotNil(t, blocks.Blocks) + require.Equal(t, decodeBlock(blockString), &blocks) +} + +func TestClientGetLastBlocks(t *testing.T) { + s := setupWebRPC(t) + + mux := http.NewServeMux() + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) + + var n uint64 = 1 + rpcReq, err := NewRequest("get_lastblocks", []uint64{n}, "1") + require.NoError(t, err) + + body, err := json.Marshal(rpcReq) + require.NoError(t, err) + + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) + require.NoError(t, err) + + rr := httptest.NewRecorder() + + mux.ServeHTTP(rr, req) + + require.Equal(t, http.StatusOK, rr.Code) + + var resp Response + err = json.Unmarshal(rr.Body.Bytes(), &resp) + require.NoError(t, err) + + var blocks visor.ReadableBlocks + err = json.Unmarshal(resp.Result, &blocks) + require.NoError(t, err) + + require.Len(t, blocks.Blocks, 1) + require.Equal(t, decodeBlock(blockString), &blocks) +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/gateway.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/gateway.go new file mode 100755 index 0000000..562a8e7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/gateway.go @@ -0,0 +1,23 @@ +package webrpc + +import ( + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/historydb" +) + +//go:generate goautomock -template=testify Gatewayer + +// Gatewayer provides interfaces for getting skycoin related info. +type Gatewayer interface { + GetLastBlocks(num uint64) (*visor.ReadableBlocks, error) + GetBlocks(start, end uint64) (*visor.ReadableBlocks, error) + GetBlocksInDepth(vs []uint64) (*visor.ReadableBlocks, error) + GetUnspentOutputs(filters ...daemon.OutputsFilter) (*visor.ReadableOutputSet, error) + GetTransaction(txid cipher.SHA256) (*visor.Transaction, error) + InjectBroadcastTransaction(tx coin.Transaction) error + GetAddrUxOuts(addr []cipher.Address) ([]*historydb.UxOut, error) + GetTimeNow() uint64 +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/gatewayer_mock_test.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/gatewayer_mock_test.go new file mode 100755 index 0000000..cb0bcbd --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/gatewayer_mock_test.go @@ -0,0 +1,225 @@ +/* +* CODE GENERATED AUTOMATICALLY WITH github.com/ernesto-jimenez/goautomock +* THIS FILE MUST NEVER BE EDITED MANUALLY + */ + +package webrpc + +import ( + "fmt" + + mock "github.com/stretchr/testify/mock" + + cipher "github.com/skycoin/skycoin/src/cipher" + coin "github.com/skycoin/skycoin/src/coin" + daemon "github.com/skycoin/skycoin/src/daemon" + visor "github.com/skycoin/skycoin/src/visor" + historydb "github.com/skycoin/skycoin/src/visor/historydb" +) + +// GatewayerMock mock +type GatewayerMock struct { + mock.Mock +} + +func NewGatewayerMock() *GatewayerMock { + return &GatewayerMock{} +} + +// GetAddrUxOuts mocked method +func (m *GatewayerMock) GetAddrUxOuts(p0 []cipher.Address) ([]*historydb.UxOut, error) { + + ret := m.Called(p0) + + var r0 []*historydb.UxOut + switch res := ret.Get(0).(type) { + case nil: + case []*historydb.UxOut: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetBlocks mocked method +func (m *GatewayerMock) GetBlocks(p0 uint64, p1 uint64) (*visor.ReadableBlocks, error) { + + ret := m.Called(p0, p1) + + var r0 *visor.ReadableBlocks + switch res := ret.Get(0).(type) { + case nil: + case *visor.ReadableBlocks: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetBlocksInDepth mocked method +func (m *GatewayerMock) GetBlocksInDepth(p0 []uint64) (*visor.ReadableBlocks, error) { + + ret := m.Called(p0) + + var r0 *visor.ReadableBlocks + switch res := ret.Get(0).(type) { + case nil: + case *visor.ReadableBlocks: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetLastBlocks mocked method +func (m *GatewayerMock) GetLastBlocks(p0 uint64) (*visor.ReadableBlocks, error) { + + ret := m.Called(p0) + + var r0 *visor.ReadableBlocks + switch res := ret.Get(0).(type) { + case nil: + case *visor.ReadableBlocks: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetTimeNow mocked method +func (m *GatewayerMock) GetTimeNow() uint64 { + + ret := m.Called() + + var r0 uint64 + switch res := ret.Get(0).(type) { + case nil: + case uint64: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// GetTransaction mocked method +func (m *GatewayerMock) GetTransaction(p0 cipher.SHA256) (*visor.Transaction, error) { + + ret := m.Called(p0) + + var r0 *visor.Transaction + switch res := ret.Get(0).(type) { + case nil: + case *visor.Transaction: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetUnspentOutputs mocked method +func (m *GatewayerMock) GetUnspentOutputs(p0 ...daemon.OutputsFilter) (*visor.ReadableOutputSet, error) { + + ret := m.Called(p0) + + var r0 *visor.ReadableOutputSet + switch res := ret.Get(0).(type) { + case nil: + case *visor.ReadableOutputSet: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// InjectBroadcastTransaction mocked method +func (m *GatewayerMock) InjectBroadcastTransaction(p0 coin.Transaction) error { + + ret := m.Called(p0) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/outputs.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/outputs.go new file mode 100755 index 0000000..90e6cd7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/outputs.go @@ -0,0 +1,45 @@ +package webrpc + +import ( + "fmt" + "strings" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/visor" +) + +// OutputsResult the output json format +type OutputsResult struct { + Outputs visor.ReadableOutputSet `json:"outputs"` +} + +func getOutputsHandler(req Request, gateway Gatewayer) Response { + var addrs []string + if err := req.DecodeParams(&addrs); err != nil { + return MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams) + } + + if len(addrs) == 0 { + return MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams) + } + + for i, a := range addrs { + addrs[i] = strings.Trim(a, " ") + } + + // validate those addresses + for _, a := range addrs { + if _, err := cipher.DecodeBase58Address(a); err != nil { + return MakeErrorResponse(ErrCodeInvalidParams, fmt.Sprintf("invalid address: %v", a)) + } + } + + outs, err := gateway.GetUnspentOutputs(daemon.FbyAddresses(addrs)) + if err != nil { + logger.Errorf("get unspent outputs failed: %v", err) + return MakeErrorResponse(ErrCodeInternalError, fmt.Sprintf("gateway.GetUnspentOutputs failed: %v", err)) + } + + return makeSuccessResponse(req.ID, OutputsResult{*outs}) +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/outputs_test.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/outputs_test.go new file mode 100755 index 0000000..a9d8570 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/outputs_test.go @@ -0,0 +1,103 @@ +package webrpc + +import ( + "encoding/json" + "testing" + "time" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor" +) + +func filterOut(headTime uint64, outs []coin.UxOut, f func(out coin.UxOut) bool) visor.ReadableOutputSet { + os := []coin.UxOut{} + for _, o := range outs { + if f(o) { + os = append(os, o) + } + } + + headOuts, err := visor.NewReadableOutputs(headTime, os) + if err != nil { + panic(err) + } + return visor.ReadableOutputSet{ + HeadOutputs: headOuts, + } +} + +func Test_getOutputsHandler(t *testing.T) { + uxouts := make([]coin.UxOut, 5) + addrs := make([]cipher.Address, 5) + for i := 0; i < 5; i++ { + addrs[i] = testutil.MakeAddress() + uxouts[i] = coin.UxOut{} + uxouts[i].Body.Address = addrs[i] + } + + headTime := uint64(time.Now().UTC().Unix()) + + type args struct { + addrs []string + gateway Gatewayer + } + tests := []struct { + name string + args args + want Response + }{ + // TODO: Add test cases. + { + "invalid address", + args{ + addrs: []string{"fyqX5YuwXMUs4GEUE3LjLyhrqvNztFHQ4C"}, + }, + MakeErrorResponse(ErrCodeInvalidParams, "invalid address: fyqX5YuwXMUs4GEUE3LjLyhrqvNztFHQ4C"), + }, + { + "invalid params: empty addresses", + args{}, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + { + "single address", + args{ + addrs: []string{addrs[0].String()}, + gateway: &fakeGateway{uxouts: uxouts}, + }, + makeSuccessResponse("1", OutputsResult{filterOut(headTime, uxouts[:], func(out coin.UxOut) bool { + return out.Body.Address == addrs[0] + })}), + }, + { + "multiple addresses", + args{ + addrs: []string{addrs[0].String(), addrs[1].String()}, + gateway: &fakeGateway{uxouts: uxouts}, + }, + makeSuccessResponse("1", OutputsResult{filterOut(headTime, uxouts, func(out coin.UxOut) bool { + return out.Body.Address == addrs[0] || out.Body.Address == addrs[1] + })}), + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + params, err := json.Marshal(tt.args.addrs) + require.NoError(t, err) + req := Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_outputs", + Params: params, + } + + got := getOutputsHandler(req, tt.args.gateway) + require.Equal(t, tt.want, got) + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/status.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/status.go new file mode 100755 index 0000000..e128f3a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/status.go @@ -0,0 +1,36 @@ +package webrpc + +import ( + "fmt" +) + +// StatusResult result struct of get_status +type StatusResult struct { + Running bool `json:"running"` + BlockNum uint64 `json:"num_of_blocks"` + LastBlockHash string `json:"hash_of_last_block"` + TimeSinceLastBlock string `json:"time_since_last_block"` +} + +func getStatusHandler(req Request, gw Gatewayer) Response { + if len(req.Params) > 0 { + return MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams) + } + + blocks, err := gw.GetLastBlocks(1) + if err != nil { + logger.Error(err) + return MakeErrorResponse(ErrCodeInternalError, ErrMsgInternalError) + } + if len(blocks.Blocks) == 0 { + return MakeErrorResponse(ErrCodeInternalError, ErrMsgInternalError) + } + + b := blocks.Blocks[0] + return makeSuccessResponse(req.ID, StatusResult{ + Running: true, + BlockNum: b.Head.BkSeq + 1, + LastBlockHash: b.Head.BlockHash, + TimeSinceLastBlock: fmt.Sprintf("%vs", gw.GetTimeNow()-b.Head.Time), + }) +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/status_test.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/status_test.go new file mode 100755 index 0000000..3fb8730 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/status_test.go @@ -0,0 +1,116 @@ +package webrpc + +import ( + "fmt" + "testing" + "time" + + "github.com/stretchr/testify/require" +) + +var lastBlockStr = ` +{ + "blocks": [ + { + "header": { + "seq": 571, + "block_hash": "8b677839c52d04f3d33373d2c39ac8f2c9ec2cbaf15cbd5d12e5d9557c9705bf", + "previous_block_hash": "e2074ed9e090a8770dc3c53f27262762ce006e0ddec3c81f823b6b2790aa256e", + "timestamp": 1482970140, + "fee": 13004, + "version": 0, + "tx_body_hash": "dc486954796df209bda87947e5c877445c3d4508485e83ddf407f4505366bf74" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "dc486954796df209bda87947e5c877445c3d4508485e83ddf407f4505366bf74", + "inner_hash": "8fc6b76d6e861e719142507baccd3c75d4eb09ee76856084be20af31b3db6220", + "sigs": [ + "6df7b96b463bdc354054ef5ac3a8b4fe7586e8cc55ffa50f05d973bd9d228a0c4566f101f29f5e66765e9ecc0893e18a114e8b75503174c193206dc8f0267ece01", + "e79c4a98cce98dac4d9aca7bda7f98b202521ff61f4abd521673c1ca0394b87f75dc55eded93c8f87ebf71eb2b69195b6a8a99410753da7200dda43844b199d701" + ], + "inputs": [ + "93b907eb6c22475322b19f9812d065cde8635986267b85960d8bd7521f7622d6", + "37469c7964ae16f2f29a2afdc94fd6b8db217a00161ceeac5c0b59d92f652d41" + ], + "outputs": [ + { + "uxid": "a4131b92b3629fe9614f840986d56ed0d85c9d26839430468fc005fe689b0523", + "dst": "Yk1kPnXauZDLBS4ZoA3SFv6avR2HoqAaHP", + "coins": "5", + "hours": 0 + }, + { + "uxid": "ea9c516eb27f8ee1793cbc9ef6b0a9a18e521ab974887a3e45f679da81a6fa6c", + "dst": "fyqX5YuwXMUs4GEUE3LjLyhrqvNztFHQ4B", + "coins": "55", + "hours": 0 + } + ] + } + ] + } + } + ] + }` + +func Test_getStatusHandler(t *testing.T) { + b := decodeBlock(lastBlockStr) + now := time.Now().Unix() + m := NewGatewayerMock() + m.On("GetLastBlocks", uint64(1)).Return(b, nil) + m.On("GetTimeNow").Return(uint64(now)) + + type args struct { + req Request + in1 Gatewayer + } + + tests := []struct { + name string + args args + want Response + }{ + // TODO: Add test cases. + { + "normal", + args{ + req: Request{ + ID: "1", + Method: "get_status", + Jsonrpc: jsonRPC, + }, + in1: m, + }, + makeSuccessResponse("1", StatusResult{ + Running: true, + BlockNum: b.Blocks[0].Head.BkSeq + 1, + LastBlockHash: b.Blocks[0].Head.BlockHash, + TimeSinceLastBlock: fmt.Sprintf("%vs", uint64(now)-b.Blocks[0].Head.Time), + }), + }, + { + "invalid params", + args{ + req: Request{ + ID: "1", + Method: "get_status", + Jsonrpc: jsonRPC, + Params: []byte(`{"abc": "123"}`), + }, + in1: m, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := getStatusHandler(tt.args.req, tt.args.in1) + require.Equal(t, tt.want, got) + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/transaction.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/transaction.go new file mode 100755 index 0000000..1eda056 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/transaction.go @@ -0,0 +1,83 @@ +package webrpc + +import ( + "encoding/hex" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon" +) + +// TxnResult wraps the daemon.TransactionResult +type TxnResult struct { + Transaction *daemon.TransactionResult `json:"transaction"` +} + +// TxIDJson wraps txid with json tags +type TxIDJson struct { + Txid string `json:"txid"` +} + +func getTransactionHandler(req Request, gateway Gatewayer) Response { + var txid []string + if err := req.DecodeParams(&txid); err != nil { + logger.Critical().Errorf("decode params failed: %v", err) + return MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams) + } + + if len(txid) != 1 { + return MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams) + } + + t, err := cipher.SHA256FromHex(txid[0]) + if err != nil { + logger.Critical().Errorf("decode txid err: %v", err) + return MakeErrorResponse(ErrCodeInvalidParams, "invalid transaction hash") + } + txn, err := gateway.GetTransaction(t) + if err != nil { + logger.Debug(err) + return MakeErrorResponse(ErrCodeInternalError, ErrMsgInternalError) + } + + if txn == nil { + return MakeErrorResponse(ErrCodeInvalidRequest, "transaction doesn't exist") + } + + tx, err := daemon.NewTransactionResult(txn) + if err != nil { + logger.Error(err) + return MakeErrorResponse(ErrCodeInternalError, ErrMsgInternalError) + } + + return makeSuccessResponse(req.ID, TxnResult{tx}) +} + +func injectTransactionHandler(req Request, gateway Gatewayer) Response { + var rawtx []string + if err := req.DecodeParams(&rawtx); err != nil { + logger.Critical().Errorf("decode params failed: %v", err) + return MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams) + } + + if len(rawtx) != 1 { + return MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams) + } + + b, err := hex.DecodeString(rawtx[0]) + if err != nil { + return MakeErrorResponse(ErrCodeInvalidParams, fmt.Sprintf("invalid raw transaction: %v", err)) + } + + txn, err := coin.TransactionDeserialize(b) + if err != nil { + return MakeErrorResponse(ErrCodeInvalidParams, fmt.Sprintf("%v", err)) + } + + if err := gateway.InjectBroadcastTransaction(txn); err != nil { + return MakeErrorResponse(ErrCodeInternalError, fmt.Sprintf("inject transaction failed: %v", err)) + } + + return makeSuccessResponse(req.ID, TxIDJson{txn.Hash().Hex()}) +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/transaction_test.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/transaction_test.go new file mode 100755 index 0000000..a3fa4b9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/transaction_test.go @@ -0,0 +1,225 @@ +package webrpc + +import ( + "encoding/hex" + "fmt" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/visor" +) + +const ( + rawTxStr = "dc00000000a8558b814926ed0062cd720a572bd67367aa0d01c0769ea4800adcc89cdee524010000008756e4bde4ee1c725510a6a9a308c6a90d949de7785978599a87faba601d119f27e1be695cbb32a1e346e5dd88653a97006bf1a93c9673ac59cf7b5db7e07901000100000079216473e8f2c17095c6887cc9edca6c023afedfac2e0c5460e8b6f359684f8b020000000060dfa95881cdc827b45a6d49b11dbc152ecd4de640420f00000000000000000000000000006409744bcacb181bf98b1f02a11e112d7e4fa9f940f1f23a000000000000000000000000" + rawTxID = "bdc4a85a3e9d17a8fe00aa7430d0347c7f1dd6480a16da7147b6e43905057d43" + txHeight = uint64(103) + txConfirmed = true +) + +func decodeRawTransaction(rawTxStr string) *visor.Transaction { + rawTx, err := hex.DecodeString(rawTxStr) + if err != nil { + panic(fmt.Sprintf("invalid raw transaction:%v", err)) + } + + tx := coin.MustTransactionDeserialize(rawTx) + return &visor.Transaction{ + Txn: tx, + Status: visor.TransactionStatus{ + Confirmed: txConfirmed, + Height: txHeight, + }, + } +} + +func Test_getTransactionHandler(t *testing.T) { + type args struct { + req Request + gateway Gatewayer + } + + tx := decodeRawTransaction(rawTxStr) + rbTx, err := visor.NewReadableTransaction(tx) + require.NoError(t, err) + txRlt := daemon.TransactionResult{ + Status: visor.TransactionStatus{ + Confirmed: true, + Height: 103, + }, + Transaction: *rbTx, + } + + tests := []struct { + name string + args args + want Response + }{ + // TODO: Add test cases. + { + "normal", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_transaction", + Params: []byte(fmt.Sprintf(`["%s"]`, rawTxID)), + }, + gateway: &fakeGateway{transactions: map[string]string{ + rawTxID: rawTxStr, + }}, + }, + makeSuccessResponse("1", TxnResult{&txRlt}), + }, + { + "transaction hash not exist", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_transaction", + Params: []byte(`["bdc4a85a3e9d17a8fe00aa7430d0347c7f1dd6480a16da7147b6e43905057d44"]`), + }, + gateway: &fakeGateway{}, + }, + MakeErrorResponse(ErrCodeInvalidRequest, "transaction doesn't exist"), + }, + { + "invalid params: invalid transaction hash", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_transaction", + Params: []byte(`["bdc4a85a3e9d17a8fe00aa7430d0347c7f1dd6480a16da7147b6e43905057d4h"]`), + }, + gateway: &fakeGateway{}, + }, + MakeErrorResponse(ErrCodeInvalidParams, "invalid transaction hash"), + }, + { + "invalid params: decode failed", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_transaction", + Params: []byte("aoo"), + }, + gateway: &fakeGateway{}, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + { + "empty params", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_transaction", + }, + gateway: &fakeGateway{}, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := getTransactionHandler(tt.args.req, tt.args.gateway) + require.Equal(t, tt.want, got) + }) + } +} + +func Test_injectTransactionHandler(t *testing.T) { + var rawTx = `dc0000000010e05181fd4023f865a84359bf72a304e687b6f00e42f93ad9a4b8ee5a64aabc01000000dcb5b236eecd97a36c7d0a0b8ed68bb5df6274433a51fddf911f02f3926d20bf6eaabdc21529b7696f498545b06cc7e69f2f08b4dc5fa823c5b3f03da06794a300010000006d8a9c89177ce5e9d3b4b59fff67c00f0471fdebdfbb368377841b03fc7d688b02000000005771eeda2e253697cf5368f16fe05210d5cd319040420f0000000000af010000000000000060dfa95881cdc827b45a6d49b11dbc152ecd4de600093d0000000000af01000000000000` + var txid = "3e52703a21bf9462799f52ab0cedb314efcf7c43aadb815429cd79f35f040954" + + type args struct { + req Request + gateway Gatewayer + } + tests := []struct { + name string + args args + want Response + }{ + // TODO: Add test cases. + { + "normal", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "inject_transaction", + Params: []byte(fmt.Sprintf("[%q]", rawTx)), + }, + gateway: &fakeGateway{ + injectRawTxMap: map[string]bool{ + txid: true, + }, + }, + }, + makeSuccessResponse("1", TxIDJson{txid}), + }, + { + "invalid params: invalid raw transaction", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "inject_transaction", + Params: []byte(`["abcdeffedca"]`), + }, + }, + MakeErrorResponse(ErrCodeInvalidParams, "invalid raw transaction: encoding/hex: odd length hex string"), + }, + { + "invalid params type", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "inject_transaction", + Params: []byte("abcdeffedca"), + }, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + { + "invalid params: more than one raw transaction", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "inject_transaction", + Params: []byte(fmt.Sprintf("[%q,%q]", rawTx, rawTx)), + }, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + { + "internal error", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "inject_transaction", + Params: []byte(fmt.Sprintf("[%q]", rawTx)), + }, + gateway: &fakeGateway{}, + }, + MakeErrorResponse(ErrCodeInternalError, "inject transaction failed: fake gateway inject transaction failed"), + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := injectTransactionHandler(tt.args.req, tt.args.gateway) + require.Equal(t, tt.want, got) + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/uxout.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/uxout.go new file mode 100755 index 0000000..809c600 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/uxout.go @@ -0,0 +1,54 @@ +package webrpc + +import ( + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/visor/historydb" +) + +// AddrUxoutResult the address uxout json format +type AddrUxoutResult struct { + Address string `json:"address"` + UxOuts []*historydb.UxOutJSON `json:"uxouts"` +} + +func getAddrUxOutsHandler(req Request, gateway Gatewayer) Response { + var addrs []string + if err := req.DecodeParams(&addrs); err != nil { + logger.Critical().Errorf("decode params failed: %v", err) + return MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams) + } + + if len(addrs) == 0 { + logger.Error("empty request params") + return MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams) + } + + results := make([]AddrUxoutResult, len(addrs)) + + for i, addr := range addrs { + // decode address + a, err := cipher.DecodeBase58Address(addr) + if err != nil { + logger.Error(err) + return MakeErrorResponse(ErrCodeInvalidParams, fmt.Sprintf("%v", err)) + } + results[i].Address = addr + uxouts, err := gateway.GetAddrUxOuts([]cipher.Address{a}) + if err != nil { + logger.Error(err) + return MakeErrorResponse(ErrCodeInternalError, ErrMsgInternalError) + } + + //Convert slice UxOut to slice of UxOutJson + uxs := make([]*historydb.UxOutJSON, len(uxouts)) + for i, ux := range uxouts { + uxs[i] = historydb.NewUxOutJSON(ux) + } + + results[i].UxOuts = append(results[i].UxOuts, uxs...) + } + + return makeSuccessResponse(req.ID, &results) +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/uxout_test.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/uxout_test.go new file mode 100755 index 0000000..c69b017 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/uxout_test.go @@ -0,0 +1,171 @@ +package webrpc + +import ( + "errors" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/visor/historydb" +) + +func Test_getAddrUxOutsHandler(t *testing.T) { + m, mockData := newUxOutMock() + type args struct { + req Request + gateway Gatewayer + } + tests := []struct { + name string + args args + want Response + }{ + // TODO: Add test cases. + { + "normal", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_address_uxouts", + Params: []byte(`["2kmKohJrwURrdcVtDNaWK6hLCNsWWbJhTqT"]`), + }, + gateway: m, + }, + makeSuccessResponse("1", []AddrUxoutResult{{ + Address: "2kmKohJrwURrdcVtDNaWK6hLCNsWWbJhTqT", + UxOuts: mockData("2kmKohJrwURrdcVtDNaWK6hLCNsWWbJhTqT")}}), + }, + { + "internal server error", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_address_uxouts", + Params: []byte(`["fyqX5YuwXMUs4GEUE3LjLyhrqvNztFHQ4B"]`), + }, + gateway: m, + }, + MakeErrorResponse(ErrCodeInternalError, ErrMsgInternalError), + }, + { + "invalid address length", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_address_uxouts", + Params: []byte(`["fyqX5YuwXMUs4GEUE3LjLyhrqvNztFHQ4BBB"]`), + }, + gateway: m, + }, + MakeErrorResponse(ErrCodeInvalidParams, "Invalid address length"), + }, + { + "invalid address version", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_address_uxouts", + Params: []byte(`["111X5YuwXMUs4GEUE3LjLyhrqvNztFHQ4B"]`), + }, + gateway: m, + }, + MakeErrorResponse(ErrCodeInvalidParams, "Invalid address length"), + }, + { + "invalid params", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_address_uxouts", + Params: []byte(`[]`), + }, + gateway: m, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + { + "decode params error", + args{ + req: Request{ + ID: "1", + Jsonrpc: jsonRPC, + Method: "get_address_uxouts", + Params: []byte(`[invalid params]`), + }, + gateway: m, + }, + MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidParams), + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := getAddrUxOutsHandler(tt.args.req, tt.args.gateway) + require.Equal(t, tt.want, got) + }) + } +} + +func newUxOutMock() (*GatewayerMock, func(addr string) []*historydb.UxOutJSON) { + m := NewGatewayerMock() + + hash, _ := cipher.SHA256FromHex("31a21a4dd8331ce68756ddbb21f2c66279d5f5526e936f550e49e29b840ac1ff") + address, _ := cipher.DecodeBase58Address("2kmKohJrwURrdcVtDNaWK6hLCNsWWbJhTqT") + srcTxHash, _ := cipher.SHA256FromHex("ec9e876d4bb33beec203de769b0d3b23de21052de0e4df06b1444bcfec773c46") + + mockData := map[string]struct { + ret []*historydb.UxOut + err error + }{ + "2kmKohJrwURrdcVtDNaWK6hLCNsWWbJhTqT": { + []*historydb.UxOut{ + { + Out: coin.UxOut{ + Head: coin.UxHead{ + Time: 1482042899, + BkSeq: 562, + }, + Body: coin.UxBody{ + SrcTransaction: srcTxHash, + Address: address, + Coins: 1000000, + Hours: 0, + }, + }, + SpentTxID: hash, + SpentBlockSeq: 563, + }, + }, + nil, + }, + "fyqX5YuwXMUs4GEUE3LjLyhrqvNztFHQ4B": { + nil, + errors.New("internal server error"), + }, + } + + for addr, d := range mockData { + a := cipher.MustDecodeBase58Address(addr) + m.On("GetAddrUxOuts", []cipher.Address{a}).Return(d.ret, d.err) + } + + f := func(addr string) []*historydb.UxOutJSON { + // Convert UxOut to UxOutJson for handler test + uxouts := mockData[addr].ret + uxs := make([]*historydb.UxOutJSON, len(uxouts)) + + for i, ux := range uxouts { + uxs[i] = historydb.NewUxOutJSON(ux) + } + + return uxs + } + return m, f +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/webrpc.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/webrpc.go new file mode 100755 index 0000000..042ab56 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/webrpc.go @@ -0,0 +1,217 @@ +package webrpc + +import ( + "bytes" + "encoding/json" + "fmt" + "net/http" + "strings" + + wh "github.com/skycoin/skycoin/src/util/http" + "github.com/skycoin/skycoin/src/util/logging" +) + +var ( + // ErrCodeParseError parse JSON error + ErrCodeParseError = -32700 // Parse error Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text. + // ErrCodeInvalidRequest invalid JSON object format + ErrCodeInvalidRequest = -32600 // Invalid Request The JSON sent is not a valid Request object. + // ErrCodeMethodNotFound unknown method + ErrCodeMethodNotFound = -32601 // Method not found The method does not exist / is not available. + // ErrCodeInvalidParams invalid method parameters + ErrCodeInvalidParams = -32602 // Invalid params Invalid method parameter(s). + // ErrCodeInternalError internal error + ErrCodeInternalError = -32603 // Internal error Internal JSON-RPC error. + + // ErrMsgParseError parse error message + ErrMsgParseError = "Parse error" + // ErrMsgMethodNotFound method not found message + ErrMsgMethodNotFound = "Method not found" + // ErrMsgInvalidParams invalid params message + ErrMsgInvalidParams = "Invalid params" + // ErrMsgInternalError internal error message + ErrMsgInternalError = "Internal error" + // ErrMsgNotPost not an HTTP POST request message + ErrMsgNotPost = "only support http POST" + // ErrMsgInvalidJsonrpc invalid jsonrpc message + ErrMsgInvalidJsonrpc = "invalid jsonrpc" + + // -32000 to -32099 Server error Reserved for implementation-defined server-errors. + + jsonRPC = "2.0" + + logger = logging.MustGetLogger("webrpc") +) + +// Request rpc request struct +type Request struct { + ID string `json:"id"` + Jsonrpc string `json:"jsonrpc"` + Method string `json:"method"` + Params json.RawMessage `json:"params,omitempty"` +} + +// RPCError response error +type RPCError struct { + Code int `json:"code"` + Message string `json:"message"` + Data string `json:"data,omitempty"` +} + +func (e RPCError) Error() string { + return fmt.Sprintf("%s [code: %d]", e.Message, e.Code) +} + +// Response rpc response struct +type Response struct { + ID *string `json:"id"` + Jsonrpc string `json:"jsonrpc"` + Error *RPCError `json:"error,omitempty"` + Result json.RawMessage `json:"result,omitempty"` +} + +// NewRequest create new webrpc request. +func NewRequest(method string, params interface{}, id string) (*Request, error) { + var p json.RawMessage + if params != nil { + var err error + p, err = json.Marshal(params) + if err != nil { + return nil, err + } + } + + return &Request{ + Jsonrpc: jsonRPC, + Method: method, + Params: p, + ID: id, + }, nil +} + +// DecodeParams decodes request params to specific value. +func (r *Request) DecodeParams(v interface{}) error { + return json.NewDecoder(bytes.NewBuffer(r.Params)).Decode(v) +} + +func makeSuccessResponse(id string, result interface{}) Response { + // TODO -- don't ignore error + rlt, _ := json.Marshal(result) + return Response{ + ID: &id, + Result: rlt, + Jsonrpc: jsonRPC, + } +} + +// MakeErrorResponse creates an error Response +func MakeErrorResponse(code int, msg string, msgs ...string) Response { + msg = strings.Join(append([]string{msg}, msgs[:]...), "\n") + return Response{ + Error: &RPCError{Code: code, Message: msg}, + Jsonrpc: jsonRPC, + } +} + +// HandlerFunc represents the function type for processing the request +type HandlerFunc func(req Request, gateway Gatewayer) Response + +// WebRPC manage the web rpc state and handles +type WebRPC struct { + Gateway Gatewayer + handlers map[string]HandlerFunc +} + +// New returns a new WebRPC object +func New(gw Gatewayer) (*WebRPC, error) { + rpc := &WebRPC{ + Gateway: gw, + handlers: make(map[string]HandlerFunc), + } + + if err := rpc.initHandlers(); err != nil { + return nil, err + } + + return rpc, nil +} + +// initHandlers initialize webrpc handlers +func (rpc *WebRPC) initHandlers() error { + handles := map[string]HandlerFunc{ + // get service status + "get_status": getStatusHandler, + // get blocks by seq + "get_blocks_by_seq": getBlocksBySeqHandler, + // get last N blocks + "get_lastblocks": getLastBlocksHandler, + // get blocks in specific seq range + "get_blocks": getBlocksHandler, + // get unspent outputs of address + "get_outputs": getOutputsHandler, + // get transaction by txid + "get_transaction": getTransactionHandler, + // broadcast transaction + "inject_transaction": injectTransactionHandler, + // get address affected uxouts + "get_address_uxouts": getAddrUxOutsHandler, + } + + // register handlers + for path, handle := range handles { + if err := rpc.HandleFunc(path, handle); err != nil { + return err + } + } + + return nil +} + +// HandleFunc registers handler function +func (rpc *WebRPC) HandleFunc(method string, h HandlerFunc) error { + if _, ok := rpc.handlers[method]; ok { + return fmt.Errorf("%s method already exist", method) + } + + rpc.handlers[method] = h + return nil +} + +// Handler processes the http request +func (rpc *WebRPC) Handler(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + res := MakeErrorResponse(ErrCodeInvalidRequest, ErrMsgNotPost) + logger.Error("Only POST is allowed") + wh.SendJSONOr500(logger, w, &res) + return + } + + req := Request{} + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + res := MakeErrorResponse(ErrCodeParseError, ErrMsgParseError) + logger.WithError(err).Error("Invalid request body") + wh.SendJSONOr500(logger, w, &res) + return + } + + if req.Jsonrpc != jsonRPC { + res := MakeErrorResponse(ErrCodeInvalidParams, ErrMsgInvalidJsonrpc) + logger.Error("Invalid JSON-RPC version") + wh.SendJSONOr500(logger, w, &res) + return + } + + var res Response + if handler, ok := rpc.handlers[req.Method]; ok { + logger.Infof("Handling method: %s", req.Method) + res = handler(req, rpc.Gateway) + } else { + res = MakeErrorResponse(ErrCodeMethodNotFound, ErrMsgMethodNotFound) + } + + if res.Error != nil { + logger.Errorf("%d %s", res.Error.Code, res.Error.Message) + } + + wh.SendJSONOr500(logger, w, &res) +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc/webrpc_test.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc/webrpc_test.go new file mode 100755 index 0000000..4442db8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc/webrpc_test.go @@ -0,0 +1,110 @@ +package webrpc + +import ( + "encoding/hex" + "encoding/json" + "errors" + "testing" + + "time" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/historydb" +) + +func setupWebRPC(t *testing.T) *WebRPC { + rpc, err := New(&fakeGateway{}) + require.NoError(t, err) + return rpc +} + +type fakeGateway struct { + transactions map[string]string + injectRawTxMap map[string]bool // key: transaction hash, value indicates whether the injectTransaction should return error. + injectedTransactions map[string]string + uxouts []coin.UxOut +} + +func (fg fakeGateway) GetLastBlocks(num uint64) (*visor.ReadableBlocks, error) { // nolint: unparam + var blocks visor.ReadableBlocks + if err := json.Unmarshal([]byte(blockString), &blocks); err != nil { + return nil, err + } + + return &blocks, nil +} + +func (fg fakeGateway) GetBlocks(start, end uint64) (*visor.ReadableBlocks, error) { + var blocks visor.ReadableBlocks + if start > end { + return nil, nil + } + + if err := json.Unmarshal([]byte(blockString), &blocks); err != nil { + return nil, err + } + + return &blocks, nil +} + +func (fg fakeGateway) GetBlocksInDepth(vs []uint64) (*visor.ReadableBlocks, error) { + return nil, nil +} + +func (fg fakeGateway) GetUnspentOutputs(filters ...daemon.OutputsFilter) (*visor.ReadableOutputSet, error) { + outs := []coin.UxOut{} + for _, f := range filters { + outs = f(fg.uxouts) + } + + headTime := uint64(time.Now().UTC().Unix()) + + rbOuts, err := visor.NewReadableOutputs(headTime, outs) + if err != nil { + return nil, err + } + + return &visor.ReadableOutputSet{ + HeadOutputs: rbOuts, + }, nil +} + +func (fg fakeGateway) GetTransaction(txid cipher.SHA256) (*visor.Transaction, error) { + str, ok := fg.transactions[txid.Hex()] + if ok { + return decodeRawTransaction(str), nil + } + return nil, nil +} + +func (fg *fakeGateway) InjectBroadcastTransaction(txn coin.Transaction) error { + if _, v := fg.injectRawTxMap[txn.Hash().Hex()]; v { + if fg.injectedTransactions == nil { + fg.injectedTransactions = make(map[string]string) + } + fg.injectedTransactions[txn.Hash().Hex()] = hex.EncodeToString(txn.Serialize()) + return nil + } + + return errors.New("fake gateway inject transaction failed") +} + +func (fg fakeGateway) GetAddrUxOuts(addr []cipher.Address) ([]*historydb.UxOut, error) { + return nil, nil +} + +func (fg fakeGateway) GetTimeNow() uint64 { + return 0 +} + +func Test_rpcHandler_HandlerFunc(t *testing.T) { + rpc := setupWebRPC(t) + rpc.HandleFunc("get_status", getStatusHandler) + err := rpc.HandleFunc("get_status", getStatusHandler) + require.Error(t, err) +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/webrpc_test.go b/vendor/github.com/skycoin/skycoin/src/api/webrpc_test.go new file mode 100755 index 0000000..44823bd --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/webrpc_test.go @@ -0,0 +1,90 @@ +package api + +import ( + "bytes" + "encoding/json" + "net/http" + "net/http/httptest" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/api/webrpc" +) + +func TestWebRPC(t *testing.T) { + type args struct { + httpMethod string + req webrpc.Request + } + + cases := []struct { + name string + status int + args args + want webrpc.Response + }{ + { + name: "http GET", + status: http.StatusOK, + args: args{ + httpMethod: http.MethodGet, + req: webrpc.Request{}, + }, + want: webrpc.Response{ + Jsonrpc: "2.0", + Error: &webrpc.RPCError{ + Code: webrpc.ErrCodeInvalidRequest, + Message: webrpc.ErrMsgNotPost, + }, + }, + }, + { + name: "invalid jsonrpc", + status: http.StatusOK, + args: args{ + httpMethod: http.MethodPost, + req: webrpc.Request{ + ID: "1", + Jsonrpc: "1.0", + Method: "get_status", + }, + }, + want: webrpc.MakeErrorResponse(webrpc.ErrCodeInvalidParams, webrpc.ErrMsgInvalidJsonrpc), + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + d, err := json.Marshal(tc.args.req) + require.NoError(t, err) + + req, err := http.NewRequest(tc.args.httpMethod, "/api/v1/webrpc", bytes.NewBuffer(d)) + require.NoError(t, err) + + csrfStore := &CSRFStore{ + Enabled: false, + } + + gateway := NewGatewayerMock() + gateway.On("IsCSPEnabled").Return(false) + handler := newServerMux(muxConfig{ + host: configuredHost, + appLoc: ".", + enableJSON20RPC: true, + }, gateway, csrfStore, nil) + + rr := httptest.NewRecorder() + handler.ServeHTTP(rr, req) + + require.Equal(t, tc.status, rr.Code) + + if rr.Code == http.StatusOK { + var res webrpc.Response + err = json.NewDecoder(rr.Body).Decode(&res) + require.NoError(t, err) + require.Equal(t, res, tc.want) + } + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/address.go b/vendor/github.com/skycoin/skycoin/src/cipher/address.go new file mode 100755 index 0000000..b9c15cd --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/address.go @@ -0,0 +1,294 @@ +package cipher + +import ( + "bytes" + "errors" + "fmt" + "log" + + "github.com/skycoin/skycoin/src/cipher/base58" +) + +/* +Addresses are the Ripemd160 of the double SHA256 of the public key +- public key must be in compressed format + +In the block chain the address is 20+1 bytes +- the first byte is the version byte +- the next twenty bytes are RIPMD160(SHA256(SHA256(pubkey))) + +In base 58 format the address is 20+1+4 bytes +- the first 20 bytes are RIPMD160(SHA256(SHA256(pubkey))). +-- this is to allow for any prefix in vanity addresses +- the next byte is the version byte +- the next 4 bytes are a checksum +-- the first 4 bytes of the SHA256 of the 21 bytes that come before + +*/ + +// Checksum 4 bytes +type Checksum [4]byte + +// Address version is after Key to enable better vanity address generation +// Address stuct is a 25 byte with a 20 byte publickey hash, 1 byte address +// type and 4 byte checksum. +type Address struct { + Version byte //1 byte + Key Ripemd160 //20 byte pubkey hash +} + +// AddressFromPubKey creates Address from PubKey as ripemd160(sha256(sha256(pubkey))) +func AddressFromPubKey(pubKey PubKey) Address { + addr := Address{ + Version: 0, + Key: pubKey.ToAddressHash(), + } + return addr +} + +// AddressFromSecKey generates address from secret key +func AddressFromSecKey(secKey SecKey) Address { + return AddressFromPubKey(PubKeyFromSecKey(secKey)) +} + +// DecodeBase58Address creates an Address from its base58 encoding +func DecodeBase58Address(addr string) (Address, error) { + b, err := base58.Base582Hex(addr) + if err != nil { + return Address{}, err + } + return AddressFromBytes(b) +} + +// MustDecodeBase58Address creates an Address from its base58 encoding. Will panic if the addr is +// invalid +func MustDecodeBase58Address(addr string) Address { + a, err := DecodeBase58Address(addr) + if err != nil { + log.Panicf("Invalid address %s: %v", addr, err) + } + return a +} + +// BitcoinDecodeBase58Address decode bitcoin address from string +func BitcoinDecodeBase58Address(addr string) (Address, error) { + b, err := base58.Base582Hex(addr) + if err != nil { + return Address{}, err + } + return BitcoinAddressFromBytes(b) +} + +// BitcoinMustDecodeBase58Address must decodes bitcoin address from string +func BitcoinMustDecodeBase58Address(addr string) Address { + a, err := BitcoinDecodeBase58Address(addr) + if err != nil { + log.Panicf("Invalid address %s: %v", addr, err) + } + return a +} + +// AddressFromBytes converts []byte to an Address +func AddressFromBytes(b []byte) (addr Address, err error) { + defer func() { + if r := recover(); r != nil { + err = fmt.Errorf("%v", r) + } + }() + + if len(b) != 20+1+4 { + return Address{}, errors.New("Invalid address length") + } + a := Address{} + copy(a.Key[0:20], b[0:20]) + a.Version = b[20] + + chksum := a.Checksum() + var checksum [4]byte + copy(checksum[0:4], b[21:25]) + + if checksum != chksum { + return Address{}, errors.New("Invalid checksum") + } + + if a.Version != 0 { + return Address{}, errors.New("Invalid version") + } + + return a, nil +} + +// MustAddressFromBytes converts []byte to an Address, panicking on error +func MustAddressFromBytes(b []byte) (Address, error) { + addr, err := AddressFromBytes(b) + if err != nil { + panic(err) + } + + return addr, err +} + +// Null returns true if the address is null (0x0000....) +func (addr Address) Null() bool { + return addr == Address{} +} + +// Bytes return address as a byte slice +func (addr *Address) Bytes() []byte { + b := make([]byte, 20+1+4) + copy(b[0:20], addr.Key[0:20]) + b[20] = addr.Version + chksum := addr.Checksum() + copy(b[21:25], chksum[0:4]) + return b +} + +// BitcoinBytes returns bitcoin address as byte slice +func (addr *Address) BitcoinBytes() []byte { + b := make([]byte, 20+1+4) + b[0] = addr.Version + copy(b[1:21], addr.Key[0:20]) + // b[20] = self.Version + chksum := addr.BitcoinChecksum() + copy(b[21:25], chksum[0:4]) + return b +} + +// Verify checks that the address appears valid for the public key +func (addr Address) Verify(key PubKey) error { + if addr.Version != 0x00 { + return errors.New("Address version invalid") + } + if addr.Key != key.ToAddressHash() { + return errors.New("Public key invalid for address") + } + return nil +} + +// String address as Base58 encoded string +// Returns address as printable +// version is first byte in binary format +// in printed address its key, version, checksum +func (addr Address) String() string { + return string(base58.Hex2Base58(addr.Bytes())) +} + +// BitcoinString convert bitcoin address to hex string +func (addr Address) BitcoinString() string { + return string(base58.Hex2Base58(addr.BitcoinBytes())) +} + +// Checksum returns Address Checksum which is the first 4 bytes of sha256(key+version) +func (addr *Address) Checksum() Checksum { + // Version comes after the address to support vanity addresses + r1 := append(addr.Key[:], []byte{addr.Version}...) + r2 := SumSHA256(r1[:]) + c := Checksum{} + copy(c[:], r2[:len(c)]) + return c +} + +// BitcoinChecksum bitcoin checksum +func (addr *Address) BitcoinChecksum() Checksum { + // Version comes after the address to support vanity addresses + r1 := append([]byte{addr.Version}, addr.Key[:]...) + r2 := DoubleSHA256(r1[:]) + c := Checksum{} + copy(c[:], r2[:len(c)]) + return c +} + +/* +Bitcoin Functions +*/ + +// BitcoinAddressFromPubkey prints the bitcoin address for a seckey +func BitcoinAddressFromPubkey(pubkey PubKey) string { + b1 := SumSHA256(pubkey[:]) + b2 := HashRipemd160(b1[:]) + b3 := append([]byte{byte(0)}, b2[:]...) + b4 := DoubleSHA256(b3) + b5 := append(b3, b4[0:4]...) + return string(base58.Hex2Base58(b5)) + // return Address{ + // Version: 0, + // Key: b2, + // } +} + +// BitcoinWalletImportFormatFromSeckey exports seckey in wallet import format +// key must be compressed +func BitcoinWalletImportFormatFromSeckey(seckey SecKey) string { + b1 := append([]byte{byte(0x80)}, seckey[:]...) + b2 := append(b1[:], []byte{0x01}...) + b3 := DoubleSHA256(b2) //checksum + b4 := append(b2, b3[0:4]...) + return string(base58.Hex2Base58(b4)) +} + +// BitcoinAddressFromBytes Returns an address given an Address.Bytes() +func BitcoinAddressFromBytes(b []byte) (Address, error) { + if len(b) != 20+1+4 { + return Address{}, errors.New("Invalid address length") + } + a := Address{} + copy(a.Key[0:20], b[1:21]) + a.Version = b[0] + + chksum := a.BitcoinChecksum() + var checksum [4]byte + copy(checksum[0:4], b[21:25]) + + if checksum != chksum { + return Address{}, errors.New("Invalid checksum") + } + + if a.Version != 0 { + return Address{}, errors.New("Invalid version") + } + + return a, nil +} + +// SecKeyFromWalletImportFormat extracts a seckey from wallet import format +func SecKeyFromWalletImportFormat(input string) (SecKey, error) { + b, err := base58.Base582Hex(input) + if err != nil { + return SecKey{}, err + } + + //1+32+1+4 + if len(b) != 38 { + //log.Printf("len= %v ", len(b)) + return SecKey{}, errors.New("invalid length") + } + if b[0] != 0x80 { + return SecKey{}, errors.New("first byte invalid") + } + + if b[1+32] != 0x01 { + return SecKey{}, errors.New("invalid 33rd byte") + } + + b2 := DoubleSHA256(b[0:34]) + chksum := b[34:38] + + if !bytes.Equal(chksum, b2[0:4]) { + return SecKey{}, errors.New("checksum fail") + } + + seckey := b[1:33] + if len(seckey) != 32 { + log.Panic("...") + } + return NewSecKey(b[1:33]), nil +} + +// MustSecKeyFromWalletImportFormat SecKeyFromWalletImportFormat or panic +func MustSecKeyFromWalletImportFormat(input string) SecKey { + seckey, err := SecKeyFromWalletImportFormat(input) + if err != nil { + log.Panicf("MustSecKeyFromWalletImportFormat, invalid seckey, %v", err) + } + return seckey +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/address_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/address_test.go new file mode 100755 index 0000000..29454cb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/address_test.go @@ -0,0 +1,281 @@ +package cipher + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher/base58" +) + +func TestMustDecodeBase58Address(t *testing.T) { + p, _ := GenerateKeyPair() + a := AddressFromPubKey(p) + require.NoError(t, a.Verify(p)) + + require.Panics(t, func() { MustDecodeBase58Address("") }) + require.Panics(t, func() { MustDecodeBase58Address("cascs") }) + b := a.Bytes() + h := string(base58.Hex2Base58(b[:len(b)/2])) + require.Panics(t, func() { MustDecodeBase58Address(h) }) + h = string(base58.Hex2Base58(b)) + require.NotPanics(t, func() { MustDecodeBase58Address(h) }) + a2 := MustDecodeBase58Address(h) + require.Equal(t, a, a2) + + require.NotPanics(t, func() { MustDecodeBase58Address(a.String()) }) + a2 = MustDecodeBase58Address(a.String()) + require.Equal(t, a, a2) + + // preceding whitespace is invalid + badAddr := " " + a.String() + require.Panics(t, func() { MustDecodeBase58Address(badAddr) }) + + // preceding zeroes are invalid + badAddr = "000" + a.String() + require.Panics(t, func() { MustDecodeBase58Address(badAddr) }) + + // trailing whitespace is invalid + badAddr = a.String() + " " + require.Panics(t, func() { MustDecodeBase58Address(badAddr) }) + + // trailing zeroes are invalid + badAddr = a.String() + "000" + require.Panics(t, func() { MustDecodeBase58Address(badAddr) }) +} + +func TestDecodeBase58Address(t *testing.T) { + p, _ := GenerateKeyPair() + a := AddressFromPubKey(p) + require.NoError(t, a.Verify(p)) + + a2, err := DecodeBase58Address("") + require.Error(t, err) + a2, err = DecodeBase58Address("cascs") + require.Error(t, err) + b := a.Bytes() + h := string(base58.Hex2Base58(b[:len(b)/2])) + a2, err = DecodeBase58Address(h) + require.Error(t, err) + h = string(base58.Hex2Base58(b)) + a2, err = DecodeBase58Address(h) + require.NoError(t, err) + require.Equal(t, a, a2) + + as := a.String() + a2, err = DecodeBase58Address(as) + require.NoError(t, err) + require.Equal(t, a, a2) + + // preceding whitespace is invalid + as2 := " " + as + _, err = DecodeBase58Address(as2) + require.Error(t, err) + + // preceding zeroes are invalid + as2 = "000" + as + _, err = DecodeBase58Address(as2) + require.Error(t, err) + + // trailing whitespace is invalid + as2 = as + " " + _, err = DecodeBase58Address(as2) + require.Error(t, err) + + // trailing zeroes are invalid + as2 = as + "000" + _, err = DecodeBase58Address(as2) + require.Error(t, err) +} + +func TestAddressFromBytes(t *testing.T) { + p, _ := GenerateKeyPair() + a := AddressFromPubKey(p) + a2, err := AddressFromBytes(a.Bytes()) + require.NoError(t, err) + require.Equal(t, a2, a) + + // Invalid number of bytes + b := a.Bytes() + _, err = AddressFromBytes(b[:len(b)-2]) + require.EqualError(t, err, "Invalid address length") + + // Invalid checksum + b[len(b)-1] += byte(1) + _, err = AddressFromBytes(b) + require.EqualError(t, err, "Invalid checksum") + + a.Version = 2 + b = a.Bytes() + _, err = AddressFromBytes(b) + require.EqualError(t, err, "Invalid version") +} + +func TestBitcoinAddressFromBytes(t *testing.T) { + p, _ := GenerateKeyPair() + a := AddressFromPubKey(p) + a2, err := BitcoinAddressFromBytes(a.BitcoinBytes()) + require.NoError(t, err) + require.Equal(t, a2, a) + + // Invalid number of bytes + b := a.BitcoinBytes() + _, err = BitcoinAddressFromBytes(b[:len(b)-2]) + require.EqualError(t, err, "Invalid address length") + + // Invalid checksum + b[len(b)-1] += byte(1) + _, err = BitcoinAddressFromBytes(b) + require.EqualError(t, err, "Invalid checksum") + + a.Version = 2 + b = a.BitcoinBytes() + _, err = BitcoinAddressFromBytes(b) + require.EqualError(t, err, "Invalid version") +} + +func TestAddressRoundtrip(t *testing.T) { + // Tests encode and decode + p, _ := GenerateKeyPair() + a := AddressFromPubKey(p) + a2, err := AddressFromBytes(a.Bytes()) + require.NoError(t, err) + require.Equal(t, a, a2) + require.Equal(t, a.String(), a2.String()) +} + +func TestAddressVerify(t *testing.T) { + p, _ := GenerateKeyPair() + a := AddressFromPubKey(p) + // Valid pubkey+address + require.NoError(t, a.Verify(p)) + // Invalid pubkey + require.Error(t, a.Verify(PubKey{})) + p2, _ := GenerateKeyPair() + require.Error(t, a.Verify(p2)) + // Bad version + a.Version = 0x01 + require.Error(t, a.Verify(p)) +} + +func TestAddressString(t *testing.T) { + p, _ := GenerateKeyPair() + a := AddressFromPubKey(p) + s := a.String() + a2, err := DecodeBase58Address(s) + require.NoError(t, err) + require.Equal(t, a2, a) + s2 := a2.String() + a3, err := DecodeBase58Address(s2) + require.NoError(t, err) + require.Equal(t, a2, a3) +} + +func TestBitcoinAddress1(t *testing.T) { + seckey := MustSecKeyFromHex("1111111111111111111111111111111111111111111111111111111111111111") + pubkey := PubKeyFromSecKey(seckey) + pubkeyStr := "034f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa" + require.Equal(t, pubkeyStr, pubkey.Hex()) + bitcoinStr := "1Q1pE5vPGEEMqRcVRMbtBK842Y6Pzo6nK9" + bitcoinAddr := BitcoinAddressFromPubkey(pubkey) + require.Equal(t, bitcoinStr, bitcoinAddr) +} + +func TestBitcoinAddress2(t *testing.T) { + seckey := MustSecKeyFromHex("dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd") + pubkey := PubKeyFromSecKey(seckey) + pubkeyStr := "02ed83704c95d829046f1ac27806211132102c34e9ac7ffa1b71110658e5b9d1bd" + require.Equal(t, pubkeyStr, pubkey.Hex()) + bitcoinStr := "1NKRhS7iYUGTaAfaR5z8BueAJesqaTyc4a" + bitcoinAddr := BitcoinAddressFromPubkey(pubkey) + require.Equal(t, bitcoinStr, bitcoinAddr) +} + +func TestBitcoinAddress3(t *testing.T) { + seckey := MustSecKeyFromHex("47f7616ea6f9b923076625b4488115de1ef1187f760e65f89eb6f4f7ff04b012") + pubkey := PubKeyFromSecKey(seckey) + pubkeyStr := "032596957532fc37e40486b910802ff45eeaa924548c0e1c080ef804e523ec3ed3" + require.Equal(t, pubkeyStr, pubkey.Hex()) + bitcoinStr := "19ck9VKC6KjGxR9LJg4DNMRc45qFrJguvV" + bitcoinAddr := BitcoinAddressFromPubkey(pubkey) + require.Equal(t, bitcoinStr, bitcoinAddr) +} + +func TestBitcoinWIPRoundTrio(t *testing.T) { + + _, seckey1 := GenerateKeyPair() + wip1 := BitcoinWalletImportFormatFromSeckey(seckey1) + seckey2, err := SecKeyFromWalletImportFormat(wip1) + wip2 := BitcoinWalletImportFormatFromSeckey(seckey2) + + require.NoError(t, err) + require.Equal(t, seckey1, seckey2) + require.Equal(t, seckey1.Hex(), seckey2.Hex()) + require.Equal(t, wip1, wip2) + +} + +func TestBitcoinWIP(t *testing.T) { + //wallet input format string + var wip = []string{ + "KwntMbt59tTsj8xqpqYqRRWufyjGunvhSyeMo3NTYpFYzZbXJ5Hp", + "L4ezQvyC6QoBhxB4GVs9fAPhUKtbaXYUn8YTqoeXwbevQq4U92vN", + "KydbzBtk6uc7M6dXwEgTEH2sphZxSPbmDSz6kUUHi4eUpSQuhEbq", + } + //the expected pubkey to generate + var pub = []string{ + "034f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa", + "02ed83704c95d829046f1ac27806211132102c34e9ac7ffa1b71110658e5b9d1bd", + "032596957532fc37e40486b910802ff45eeaa924548c0e1c080ef804e523ec3ed3", + } + //the expected addrss to generate + var addr = []string{ + "1Q1pE5vPGEEMqRcVRMbtBK842Y6Pzo6nK9", + "1NKRhS7iYUGTaAfaR5z8BueAJesqaTyc4a", + "19ck9VKC6KjGxR9LJg4DNMRc45qFrJguvV", + } + + for i := range wip { + seckey, err := SecKeyFromWalletImportFormat(wip[i]) + require.Equal(t, nil, err) + _ = MustSecKeyFromWalletImportFormat(wip[i]) + pubkey := PubKeyFromSecKey(seckey) + require.Equal(t, pub[i], pubkey.Hex()) + bitcoinAddr := BitcoinAddressFromPubkey(pubkey) + require.Equal(t, addr[i], bitcoinAddr) + } + + /* + seckey := MustSecKeyFromHex("47f7616ea6f9b923076625b4488115de1ef1187f760e65f89eb6f4f7ff04b012") + pubkey := PubKeyFromSecKey(seckey) + pubkey_str := "032596957532fc37e40486b910802ff45eeaa924548c0e1c080ef804e523ec3ed3" + require.Equal(t, pubkey_str, pubkey.Hex()) + bitcoin_str := "19ck9VKC6KjGxR9LJg4DNMRc45qFrJguvV" + bitcoin_addr := BitcoinAddressFromPubkey(pubkey) + require.Equal(t, bitcoin_str, bitcoin_addr) + */ +} + +func TestAddressBulk(t *testing.T) { + + for i := 0; i < 1024; i++ { + pub, _ := GenerateDeterministicKeyPair(RandByte(32)) + + a := AddressFromPubKey(pub) + require.NoError(t, a.Verify(pub)) + s := a.String() + a2, err := DecodeBase58Address(s) + require.NoError(t, err) + require.Equal(t, a2, a) + + } +} + +func TestAddressNull(t *testing.T) { + var a Address + require.True(t, a.Null()) + + p, _ := GenerateKeyPair() + a = AddressFromPubKey(p) + require.False(t, a.Null()) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE b/vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE new file mode 100755 index 0000000..a6a0607 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE @@ -0,0 +1,26 @@ +Copyright (c) 2012 ThePiachu. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * The name of ThePiachu may not be used to endorse or promote products +derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/base58/base58.go b/vendor/github.com/skycoin/skycoin/src/cipher/base58/base58.go new file mode 100755 index 0000000..aaa8b62 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/base58/base58.go @@ -0,0 +1,226 @@ +// Copyright 2011 ThePiachu. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package base58 + +//Subpackage for encoding data (namely Bitcoin Addresses) into base58 strings + +import ( + "encoding/hex" + "errors" + "math/big" +) + +//Useful materials: +//https://en.bitcoin.it/wiki/Base_58_Encoding +//http://www.strongasanox.co.uk/2011/03/11/base58-encoding-in-python/ + +//alphabet used by Bitcoins +var alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" + +// Base58 type to hold the Base58 string +type Base58 string + +//reverse alphabet used for quckly converting base58 strings into numbers +var revalp = map[string]int{ + "1": 0, "2": 1, "3": 2, "4": 3, "5": 4, "6": 5, "7": 6, "8": 7, "9": 8, "A": 9, + "B": 10, "C": 11, "D": 12, "E": 13, "F": 14, "G": 15, "H": 16, "J": 17, "K": 18, "L": 19, + "M": 20, "N": 21, "P": 22, "Q": 23, "R": 24, "S": 25, "T": 26, "U": 27, "V": 28, "W": 29, + "X": 30, "Y": 31, "Z": 32, "a": 33, "b": 34, "c": 35, "d": 36, "e": 37, "f": 38, "g": 39, + "h": 40, "i": 41, "j": 42, "k": 43, "m": 44, "n": 45, "o": 46, "p": 47, "q": 48, "r": 49, + "s": 50, "t": 51, "u": 52, "v": 53, "w": 54, "x": 55, "y": 56, "z": 57, +} + +// Hex2Big converts hex to big +func Hex2Big(b []byte) *big.Int { + answer := big.NewInt(0) + + for i := 0; i < len(b); i++ { + answer.Lsh(answer, 8) + answer.Add(answer, big.NewInt(int64(b[i]))) + } + + return answer +} + +// String2Hex converts string to hex +func String2Hex(s string) []byte { + answer, _ := hex.DecodeString(s) + return answer +} + +// ToBig convert base58 to big.Int +func (b Base58) ToBig() (*big.Int, error) { + answer := new(big.Int) + for i := 0; i < len(b); i++ { + answer.Mul(answer, big.NewInt(58)) //multiply current value by 58 + c, ok := revalp[string(b[i:i+1])] + if !ok { + return nil, errors.New("Invalid base58 character") + } + answer.Add(answer, big.NewInt(int64(c))) //add value of the current letter + } + return answer, nil +} + +// ToInt converts base58 to int +func (b Base58) ToInt() (int, error) { + answer := 0 + for i := 0; i < len(b); i++ { + answer *= 58 //multiply current value by 58 + c, ok := revalp[string(b[i:i+1])] + if !ok { + return 0, errors.New("Invalid base58 character") + } + answer += c //add value of the current letter + } + return answer, nil +} + +//ToHex converts base58 to hex bytes +func (b Base58) ToHex() ([]byte, error) { + value, err := b.ToBig() //convert to big.Int + if err != nil { + return nil, err + } + oneCount := 0 + bs := string(b) + if len(bs) == 0 { + return nil, errors.New("Invalid base58 string") + } + for bs[oneCount] == '1' { + oneCount++ + if oneCount >= len(bs) { + return nil, errors.New("Invalid base58 string") + } + } + //convert big.Int to bytes + return append(make([]byte, oneCount), value.Bytes()...), nil +} + +// Base582Big converts base58 to big +func (b Base58) Base582Big() (*big.Int, error) { + answer := new(big.Int) + for i := 0; i < len(b); i++ { + answer.Mul(answer, big.NewInt(58)) //multiply current value by 58 + c, ok := revalp[string(b[i:i+1])] + if !ok { + return nil, errors.New("Invalid base58 character") + } + answer.Add(answer, big.NewInt(int64(c))) //add value of the current letter + } + return answer, nil +} + +// Base582Int converts base58 to int +func (b Base58) Base582Int() (int, error) { + answer := 0 + for i := 0; i < len(b); i++ { + answer *= 58 //multiply current value by 58 + c, ok := revalp[string(b[i:i+1])] + if !ok { + return 0, errors.New("Invalid base58 character") + } + answer += c //add value of the current letter + } + return answer, nil +} + +// Base582Hex converts base58 to hex bytes +func Base582Hex(b string) ([]byte, error) { + return Base58(b).ToHex() +} + +// BitHex converts base58 to hexes used by Bitcoins (keeping the zeroes on the front, 25 bytes long) +func (b Base58) BitHex() ([]byte, error) { + value, err := b.ToBig() //convert to big.Int + if err != nil { + return nil, err + } + + tmp := value.Bytes() //convert to hex bytes + if len(tmp) == 25 { //if it is exactly 25 bytes, return + return tmp, nil + } else if len(tmp) > 25 { //if it is longer than 25, return nothing + return nil, errors.New("base58 invalid length") + } + answer := make([]byte, 25) //make 25 byte container + for i := 0; i < len(tmp); i++ { //copy converted bytes + answer[24-i] = tmp[len(tmp)-1-i] + } + return answer, nil +} + +// Big2Base58 encodes big.Int to base58 string +func Big2Base58(val *big.Int) Base58 { + answer := "" + valCopy := new(big.Int).Abs(val) //copies big.Int + + if val.Cmp(big.NewInt(0)) <= 0 { //if it is less than 0, returns empty string + return Base58("") + } + + tmpStr := "" + tmp := new(big.Int) + for valCopy.Cmp(big.NewInt(0)) > 0 { //converts the number into base58 + tmp.Mod(valCopy, big.NewInt(58)) //takes modulo 58 value + valCopy.Div(valCopy, big.NewInt(58)) //divides the rest by 58 + tmpStr += alphabet[tmp.Int64() : tmp.Int64()+1] //encodes + } + for i := (len(tmpStr) - 1); i > -1; i-- { + answer += tmpStr[i : i+1] //reverses the order + } + return Base58(answer) //returns +} + +// Int2Base58 encodes int to base58 string +func Int2Base58(val int) Base58 { + answer := "" + + if val <= 0 { //if it is less than 0, returns empty string + return Base58("") + } + valCopy := val + + tmpStr := "" + tmp := 0 + for valCopy > 0 { //converts the number into base58 + tmp = valCopy % 58 //takes modulo 58 value + valCopy /= 58 //divides the rest by 58 + + tmpStr += alphabet[tmp : tmp+1] //encodes + } + for i := (len(tmpStr) - 1); i > -1; i-- { + answer += tmpStr[i : i+1] //reverses the order + } + + return Base58(answer) //returns +} + +// Hex2Base58 encodes hex bytes into base58 +func Hex2Base58(val []byte) Base58 { + tmp := Big2Base58(Hex2Big(val)) //encoding of the number without zeroes in front + + //looking for zeros at the beginning + i := 0 + for i = 0; val[i] == 0 && i < len(val); i++ { + } + answer := "" + for j := 0; j < i; j++ { //adds zeroes from the front + answer += alphabet[0:1] + } + answer += string(tmp) //concatenates + + return Base58(answer) //returns +} + +// Hex2Base58String converts hex to Base58 string +func Hex2Base58String(val []byte) string { + return string(Hex2Base58(val)) +} + +// Hex2Base58Str converts hex to Base58 string +func Hex2Base58Str(val []byte) string { + return string(Hex2Base58(val)) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305.go b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305.go new file mode 100755 index 0000000..b3a33ae --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305.go @@ -0,0 +1,83 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package chacha20poly1305 implements the ChaCha20-Poly1305 AEAD as specified in RFC 7539. +package chacha20poly1305 // import "github.com/skycoin/skycoin/src/cipher/chacha20poly1305" + +import ( + "crypto/cipher" + "errors" +) + +const ( + // KeySize is the size of the key used by this AEAD, in bytes. + KeySize = 32 + // NonceSize is the size of the nonce used with this AEAD, in bytes. + NonceSize = 12 +) + +type chacha20poly1305 struct { + key [32]byte +} + +// New returns a ChaCha20-Poly1305 AEAD that uses the given, 256-bit key. +func New(key []byte) (cipher.AEAD, error) { + if len(key) != KeySize { + return nil, errors.New("chacha20poly1305: bad key length") + } + ret := new(chacha20poly1305) + copy(ret.key[:], key) + return ret, nil +} + +func (c *chacha20poly1305) NonceSize() int { + return NonceSize +} + +func (c *chacha20poly1305) Overhead() int { + return 16 +} + +func (c *chacha20poly1305) Seal(dst, nonce, plaintext, additionalData []byte) []byte { + if len(nonce) != NonceSize { + panic("chacha20poly1305: bad nonce length passed to Seal") + } + + if uint64(len(plaintext)) > (1<<38)-64 { + panic("chacha20poly1305: plaintext too large") + } + + return c.seal(dst, nonce, plaintext, additionalData) +} + +var errOpen = errors.New("chacha20poly1305: message authentication failed") + +func (c *chacha20poly1305) Open(dst, nonce, ciphertext, additionalData []byte) ([]byte, error) { + if len(nonce) != NonceSize { + panic("chacha20poly1305: bad nonce length passed to Open") + } + if len(ciphertext) < 16 { + return nil, errOpen + } + if uint64(len(ciphertext)) > (1<<38)-48 { + panic("chacha20poly1305: ciphertext too large") + } + + return c.open(dst, nonce, ciphertext, additionalData) +} + +// sliceForAppend takes a slice and a requested number of bytes. It returns a +// slice with the contents of the given slice followed by that many bytes and a +// second slice that aliases into it and contains only the extra bytes. If the +// original slice has sufficient capacity then no allocation is performed. +func sliceForAppend(in []byte, n int) (head, tail []byte) { + if total := len(in) + n; cap(in) >= total { + head = in[:total] + } else { + head = make([]byte, total) + copy(head, in) + } + tail = head[len(in):] + return +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_amd64.go b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_amd64.go new file mode 100755 index 0000000..7cd7ad8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_amd64.go @@ -0,0 +1,127 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.7,amd64,!gccgo,!appengine + +package chacha20poly1305 + +import "encoding/binary" + +//go:noescape +func chacha20Poly1305Open(dst []byte, key []uint32, src, ad []byte) bool + +//go:noescape +func chacha20Poly1305Seal(dst []byte, key []uint32, src, ad []byte) + +// cpuid is implemented in chacha20poly1305_amd64.s. +func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) + +// xgetbv with ecx = 0 is implemented in chacha20poly1305_amd64.s. +func xgetbv() (eax, edx uint32) + +var ( + useASM bool + useAVX2 bool +) + +func init() { + detectCPUFeatures() +} + +// detectCPUFeatures is used to detect if cpu instructions +// used by the functions implemented in assembler in +// chacha20poly1305_amd64.s are supported. +func detectCPUFeatures() { + maxID, _, _, _ := cpuid(0, 0) + if maxID < 1 { + return + } + + _, _, ecx1, _ := cpuid(1, 0) + + haveSSSE3 := isSet(9, ecx1) + useASM = haveSSSE3 + + haveOSXSAVE := isSet(27, ecx1) + + osSupportsAVX := false + // For XGETBV, OSXSAVE bit is required and sufficient. + if haveOSXSAVE { + eax, _ := xgetbv() + // Check if XMM and YMM registers have OS support. + osSupportsAVX = isSet(1, eax) && isSet(2, eax) + } + haveAVX := isSet(28, ecx1) && osSupportsAVX + + if maxID < 7 { + return + } + + _, ebx7, _, _ := cpuid(7, 0) + haveAVX2 := isSet(5, ebx7) && haveAVX + haveBMI2 := isSet(8, ebx7) + + useAVX2 = haveAVX2 && haveBMI2 +} + +// isSet checks if bit at bitpos is set in value. +func isSet(bitpos uint, value uint32) bool { + return value&(1<+0x00(SB)/4, $0x61707865 +DATA ·chacha20Constants<>+0x04(SB)/4, $0x3320646e +DATA ·chacha20Constants<>+0x08(SB)/4, $0x79622d32 +DATA ·chacha20Constants<>+0x0c(SB)/4, $0x6b206574 +DATA ·chacha20Constants<>+0x10(SB)/4, $0x61707865 +DATA ·chacha20Constants<>+0x14(SB)/4, $0x3320646e +DATA ·chacha20Constants<>+0x18(SB)/4, $0x79622d32 +DATA ·chacha20Constants<>+0x1c(SB)/4, $0x6b206574 +// <<< 16 with PSHUFB +DATA ·rol16<>+0x00(SB)/8, $0x0504070601000302 +DATA ·rol16<>+0x08(SB)/8, $0x0D0C0F0E09080B0A +DATA ·rol16<>+0x10(SB)/8, $0x0504070601000302 +DATA ·rol16<>+0x18(SB)/8, $0x0D0C0F0E09080B0A +// <<< 8 with PSHUFB +DATA ·rol8<>+0x00(SB)/8, $0x0605040702010003 +DATA ·rol8<>+0x08(SB)/8, $0x0E0D0C0F0A09080B +DATA ·rol8<>+0x10(SB)/8, $0x0605040702010003 +DATA ·rol8<>+0x18(SB)/8, $0x0E0D0C0F0A09080B + +DATA ·avx2InitMask<>+0x00(SB)/8, $0x0 +DATA ·avx2InitMask<>+0x08(SB)/8, $0x0 +DATA ·avx2InitMask<>+0x10(SB)/8, $0x1 +DATA ·avx2InitMask<>+0x18(SB)/8, $0x0 + +DATA ·avx2IncMask<>+0x00(SB)/8, $0x2 +DATA ·avx2IncMask<>+0x08(SB)/8, $0x0 +DATA ·avx2IncMask<>+0x10(SB)/8, $0x2 +DATA ·avx2IncMask<>+0x18(SB)/8, $0x0 +// Poly1305 key clamp +DATA ·polyClampMask<>+0x00(SB)/8, $0x0FFFFFFC0FFFFFFF +DATA ·polyClampMask<>+0x08(SB)/8, $0x0FFFFFFC0FFFFFFC +DATA ·polyClampMask<>+0x10(SB)/8, $0xFFFFFFFFFFFFFFFF +DATA ·polyClampMask<>+0x18(SB)/8, $0xFFFFFFFFFFFFFFFF + +DATA ·sseIncMask<>+0x00(SB)/8, $0x1 +DATA ·sseIncMask<>+0x08(SB)/8, $0x0 +// To load/store the last < 16 bytes in a buffer +DATA ·andMask<>+0x00(SB)/8, $0x00000000000000ff +DATA ·andMask<>+0x08(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x10(SB)/8, $0x000000000000ffff +DATA ·andMask<>+0x18(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x20(SB)/8, $0x0000000000ffffff +DATA ·andMask<>+0x28(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x30(SB)/8, $0x00000000ffffffff +DATA ·andMask<>+0x38(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x40(SB)/8, $0x000000ffffffffff +DATA ·andMask<>+0x48(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x50(SB)/8, $0x0000ffffffffffff +DATA ·andMask<>+0x58(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x60(SB)/8, $0x00ffffffffffffff +DATA ·andMask<>+0x68(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x70(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0x78(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x80(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0x88(SB)/8, $0x00000000000000ff +DATA ·andMask<>+0x90(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0x98(SB)/8, $0x000000000000ffff +DATA ·andMask<>+0xa0(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0xa8(SB)/8, $0x0000000000ffffff +DATA ·andMask<>+0xb0(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0xb8(SB)/8, $0x00000000ffffffff +DATA ·andMask<>+0xc0(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0xc8(SB)/8, $0x000000ffffffffff +DATA ·andMask<>+0xd0(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0xd8(SB)/8, $0x0000ffffffffffff +DATA ·andMask<>+0xe0(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0xe8(SB)/8, $0x00ffffffffffffff + +GLOBL ·chacha20Constants<>(SB), (NOPTR+RODATA), $32 +GLOBL ·rol16<>(SB), (NOPTR+RODATA), $32 +GLOBL ·rol8<>(SB), (NOPTR+RODATA), $32 +GLOBL ·sseIncMask<>(SB), (NOPTR+RODATA), $16 +GLOBL ·avx2IncMask<>(SB), (NOPTR+RODATA), $32 +GLOBL ·avx2InitMask<>(SB), (NOPTR+RODATA), $32 +GLOBL ·polyClampMask<>(SB), (NOPTR+RODATA), $32 +GLOBL ·andMask<>(SB), (NOPTR+RODATA), $240 +// No PALIGNR in Go ASM yet (but VPALIGNR is present). +#define shiftB0Left BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xdb; BYTE $0x04 // PALIGNR $4, X3, X3 +#define shiftB1Left BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xe4; BYTE $0x04 // PALIGNR $4, X4, X4 +#define shiftB2Left BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xed; BYTE $0x04 // PALIGNR $4, X5, X5 +#define shiftB3Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xed; BYTE $0x04 // PALIGNR $4, X13, X13 +#define shiftC0Left BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xf6; BYTE $0x08 // PALIGNR $8, X6, X6 +#define shiftC1Left BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xff; BYTE $0x08 // PALIGNR $8, X7, X7 +#define shiftC2Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xc0; BYTE $0x08 // PALIGNR $8, X8, X8 +#define shiftC3Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xf6; BYTE $0x08 // PALIGNR $8, X14, X14 +#define shiftD0Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xc9; BYTE $0x0c // PALIGNR $12, X9, X9 +#define shiftD1Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xd2; BYTE $0x0c // PALIGNR $12, X10, X10 +#define shiftD2Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xdb; BYTE $0x0c // PALIGNR $12, X11, X11 +#define shiftD3Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xff; BYTE $0x0c // PALIGNR $12, X15, X15 +#define shiftB0Right BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xdb; BYTE $0x0c // PALIGNR $12, X3, X3 +#define shiftB1Right BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xe4; BYTE $0x0c // PALIGNR $12, X4, X4 +#define shiftB2Right BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xed; BYTE $0x0c // PALIGNR $12, X5, X5 +#define shiftB3Right BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xed; BYTE $0x0c // PALIGNR $12, X13, X13 +#define shiftC0Right shiftC0Left +#define shiftC1Right shiftC1Left +#define shiftC2Right shiftC2Left +#define shiftC3Right shiftC3Left +#define shiftD0Right BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xc9; BYTE $0x04 // PALIGNR $4, X9, X9 +#define shiftD1Right BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xd2; BYTE $0x04 // PALIGNR $4, X10, X10 +#define shiftD2Right BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xdb; BYTE $0x04 // PALIGNR $4, X11, X11 +#define shiftD3Right BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xff; BYTE $0x04 // PALIGNR $4, X15, X15 +// Some macros +#define chachaQR(A, B, C, D, T) \ + PADDD B, A; PXOR A, D; PSHUFB ·rol16<>(SB), D \ + PADDD D, C; PXOR C, B; MOVO B, T; PSLLL $12, T; PSRLL $20, B; PXOR T, B \ + PADDD B, A; PXOR A, D; PSHUFB ·rol8<>(SB), D \ + PADDD D, C; PXOR C, B; MOVO B, T; PSLLL $7, T; PSRLL $25, B; PXOR T, B + +#define chachaQR_AVX2(A, B, C, D, T) \ + VPADDD B, A, A; VPXOR A, D, D; VPSHUFB ·rol16<>(SB), D, D \ + VPADDD D, C, C; VPXOR C, B, B; VPSLLD $12, B, T; VPSRLD $20, B, B; VPXOR T, B, B \ + VPADDD B, A, A; VPXOR A, D, D; VPSHUFB ·rol8<>(SB), D, D \ + VPADDD D, C, C; VPXOR C, B, B; VPSLLD $7, B, T; VPSRLD $25, B, B; VPXOR T, B, B + +#define polyAdd(S) ADDQ S, acc0; ADCQ 8+S, acc1; ADCQ $1, acc2 +#define polyMulStage1 MOVQ (0*8)(BP), AX; MOVQ AX, t2; MULQ acc0; MOVQ AX, t0; MOVQ DX, t1; MOVQ (0*8)(BP), AX; MULQ acc1; IMULQ acc2, t2; ADDQ AX, t1; ADCQ DX, t2 +#define polyMulStage2 MOVQ (1*8)(BP), AX; MOVQ AX, t3; MULQ acc0; ADDQ AX, t1; ADCQ $0, DX; MOVQ DX, acc0; MOVQ (1*8)(BP), AX; MULQ acc1; ADDQ AX, t2; ADCQ $0, DX +#define polyMulStage3 IMULQ acc2, t3; ADDQ acc0, t2; ADCQ DX, t3 +#define polyMulReduceStage MOVQ t0, acc0; MOVQ t1, acc1; MOVQ t2, acc2; ANDQ $3, acc2; MOVQ t2, t0; ANDQ $-4, t0; MOVQ t3, t1; SHRQ $2, t2:t3; SHRQ $2, t3; ADDQ t0, acc0; ADCQ t1, acc1; ADCQ $0, acc2; ADDQ t2, acc0; ADCQ t3, acc1; ADCQ $0, acc2 + +#define polyMulStage1_AVX2 MOVQ (0*8)(BP), DX; MOVQ DX, t2; MULXQ acc0, t0, t1; IMULQ acc2, t2; MULXQ acc1, AX, DX; ADDQ AX, t1; ADCQ DX, t2 +#define polyMulStage2_AVX2 MOVQ (1*8)(BP), DX; MULXQ acc0, acc0, AX; ADDQ acc0, t1; MULXQ acc1, acc1, t3; ADCQ acc1, t2; ADCQ $0, t3 +#define polyMulStage3_AVX2 IMULQ acc2, DX; ADDQ AX, t2; ADCQ DX, t3 + +#define polyMul polyMulStage1; polyMulStage2; polyMulStage3; polyMulReduceStage +#define polyMulAVX2 polyMulStage1_AVX2; polyMulStage2_AVX2; polyMulStage3_AVX2; polyMulReduceStage +// ---------------------------------------------------------------------------- +TEXT polyHashADInternal<>(SB), NOSPLIT, $0 + // adp points to beginning of additional data + // itr2 holds ad length + XORQ acc0, acc0 + XORQ acc1, acc1 + XORQ acc2, acc2 + CMPQ itr2, $13 + JNE hashADLoop + +openFastTLSAD: + // Special treatment for the TLS case of 13 bytes + MOVQ (adp), acc0 + MOVQ 5(adp), acc1 + SHRQ $24, acc1 + MOVQ $1, acc2 + polyMul + RET + +hashADLoop: + // Hash in 16 byte chunks + CMPQ itr2, $16 + JB hashADTail + polyAdd(0(adp)) + LEAQ (1*16)(adp), adp + SUBQ $16, itr2 + polyMul + JMP hashADLoop + +hashADTail: + CMPQ itr2, $0 + JE hashADDone + + // Hash last < 16 byte tail + XORQ t0, t0 + XORQ t1, t1 + XORQ t2, t2 + ADDQ itr2, adp + +hashADTailLoop: + SHLQ $8, t1:t0 + SHLQ $8, t0 + MOVB -1(adp), t2 + XORQ t2, t0 + DECQ adp + DECQ itr2 + JNE hashADTailLoop + +hashADTailFinish: + ADDQ t0, acc0; ADCQ t1, acc1; ADCQ $1, acc2 + polyMul + + // Finished AD +hashADDone: + RET + +// ---------------------------------------------------------------------------- +// func chacha20Poly1305Open(dst, key, src, ad []byte) bool +TEXT ·chacha20Poly1305Open(SB), 0, $288-97 + // For aligned stack access + MOVQ SP, BP + ADDQ $32, BP + ANDQ $-32, BP + MOVQ dst+0(FP), oup + MOVQ key+24(FP), keyp + MOVQ src+48(FP), inp + MOVQ src_len+56(FP), inl + MOVQ ad+72(FP), adp + + // Check for AVX2 support + CMPB ·useAVX2(SB), $1 + JE chacha20Poly1305Open_AVX2 + + // Special optimization, for very short buffers + CMPQ inl, $128 + JBE openSSE128 // About 16% faster + + // For long buffers, prepare the poly key first + MOVOU ·chacha20Constants<>(SB), A0 + MOVOU (1*16)(keyp), B0 + MOVOU (2*16)(keyp), C0 + MOVOU (3*16)(keyp), D0 + MOVO D0, T1 + + // Store state on stack for future use + MOVO B0, state1Store + MOVO C0, state2Store + MOVO D0, ctr3Store + MOVQ $10, itr2 + +openSSEPreparePolyKey: + chachaQR(A0, B0, C0, D0, T0) + shiftB0Left; shiftC0Left; shiftD0Left + chachaQR(A0, B0, C0, D0, T0) + shiftB0Right; shiftC0Right; shiftD0Right + DECQ itr2 + JNE openSSEPreparePolyKey + + // A0|B0 hold the Poly1305 32-byte key, C0,D0 can be discarded + PADDL ·chacha20Constants<>(SB), A0; PADDL state1Store, B0 + + // Clamp and store the key + PAND ·polyClampMask<>(SB), A0 + MOVO A0, rStore; MOVO B0, sStore + + // Hash AAD + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + +openSSEMainLoop: + CMPQ inl, $256 + JB openSSEMainLoopDone + + // Load state, increment counter blocks + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0 + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO A2, A3; MOVO B2, B3; MOVO C2, C3; MOVO D2, D3; PADDL ·sseIncMask<>(SB), D3 + + // Store counters + MOVO D0, ctr0Store; MOVO D1, ctr1Store; MOVO D2, ctr2Store; MOVO D3, ctr3Store + + // There are 10 ChaCha20 iterations of 2QR each, so for 6 iterations we hash 2 blocks, and for the remaining 4 only 1 block - for a total of 16 + MOVQ $4, itr1 + MOVQ inp, itr2 + +openSSEInternalLoop: + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + polyAdd(0(itr2)) + shiftB0Left; shiftB1Left; shiftB2Left; shiftB3Left + shiftC0Left; shiftC1Left; shiftC2Left; shiftC3Left + shiftD0Left; shiftD1Left; shiftD2Left; shiftD3Left + polyMulStage1 + polyMulStage2 + LEAQ (2*8)(itr2), itr2 + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + polyMulStage3 + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + polyMulReduceStage + shiftB0Right; shiftB1Right; shiftB2Right; shiftB3Right + shiftC0Right; shiftC1Right; shiftC2Right; shiftC3Right + shiftD0Right; shiftD1Right; shiftD2Right; shiftD3Right + DECQ itr1 + JGE openSSEInternalLoop + + polyAdd(0(itr2)) + polyMul + LEAQ (2*8)(itr2), itr2 + + CMPQ itr1, $-6 + JG openSSEInternalLoop + + // Add in the state + PADDD ·chacha20Constants<>(SB), A0; PADDD ·chacha20Constants<>(SB), A1; PADDD ·chacha20Constants<>(SB), A2; PADDD ·chacha20Constants<>(SB), A3 + PADDD state1Store, B0; PADDD state1Store, B1; PADDD state1Store, B2; PADDD state1Store, B3 + PADDD state2Store, C0; PADDD state2Store, C1; PADDD state2Store, C2; PADDD state2Store, C3 + PADDD ctr0Store, D0; PADDD ctr1Store, D1; PADDD ctr2Store, D2; PADDD ctr3Store, D3 + + // Load - xor - store + MOVO D3, tmpStore + MOVOU (0*16)(inp), D3; PXOR D3, A0; MOVOU A0, (0*16)(oup) + MOVOU (1*16)(inp), D3; PXOR D3, B0; MOVOU B0, (1*16)(oup) + MOVOU (2*16)(inp), D3; PXOR D3, C0; MOVOU C0, (2*16)(oup) + MOVOU (3*16)(inp), D3; PXOR D3, D0; MOVOU D0, (3*16)(oup) + MOVOU (4*16)(inp), D0; PXOR D0, A1; MOVOU A1, (4*16)(oup) + MOVOU (5*16)(inp), D0; PXOR D0, B1; MOVOU B1, (5*16)(oup) + MOVOU (6*16)(inp), D0; PXOR D0, C1; MOVOU C1, (6*16)(oup) + MOVOU (7*16)(inp), D0; PXOR D0, D1; MOVOU D1, (7*16)(oup) + MOVOU (8*16)(inp), D0; PXOR D0, A2; MOVOU A2, (8*16)(oup) + MOVOU (9*16)(inp), D0; PXOR D0, B2; MOVOU B2, (9*16)(oup) + MOVOU (10*16)(inp), D0; PXOR D0, C2; MOVOU C2, (10*16)(oup) + MOVOU (11*16)(inp), D0; PXOR D0, D2; MOVOU D2, (11*16)(oup) + MOVOU (12*16)(inp), D0; PXOR D0, A3; MOVOU A3, (12*16)(oup) + MOVOU (13*16)(inp), D0; PXOR D0, B3; MOVOU B3, (13*16)(oup) + MOVOU (14*16)(inp), D0; PXOR D0, C3; MOVOU C3, (14*16)(oup) + MOVOU (15*16)(inp), D0; PXOR tmpStore, D0; MOVOU D0, (15*16)(oup) + LEAQ 256(inp), inp + LEAQ 256(oup), oup + SUBQ $256, inl + JMP openSSEMainLoop + +openSSEMainLoopDone: + // Handle the various tail sizes efficiently + TESTQ inl, inl + JE openSSEFinalize + CMPQ inl, $64 + JBE openSSETail64 + CMPQ inl, $128 + JBE openSSETail128 + CMPQ inl, $192 + JBE openSSETail192 + JMP openSSETail256 + +openSSEFinalize: + // Hash in the PT, AAD lengths + ADDQ ad_len+80(FP), acc0; ADCQ src_len+56(FP), acc1; ADCQ $1, acc2 + polyMul + + // Final reduce + MOVQ acc0, t0 + MOVQ acc1, t1 + MOVQ acc2, t2 + SUBQ $-5, acc0 + SBBQ $-1, acc1 + SBBQ $3, acc2 + CMOVQCS t0, acc0 + CMOVQCS t1, acc1 + CMOVQCS t2, acc2 + + // Add in the "s" part of the key + ADDQ 0+sStore, acc0 + ADCQ 8+sStore, acc1 + + // Finally, constant time compare to the tag at the end of the message + XORQ AX, AX + MOVQ $1, DX + XORQ (0*8)(inp), acc0 + XORQ (1*8)(inp), acc1 + ORQ acc1, acc0 + CMOVQEQ DX, AX + + // Return true iff tags are equal + MOVB AX, ret+96(FP) + RET + +// ---------------------------------------------------------------------------- +// Special optimization for buffers smaller than 129 bytes +openSSE128: + // For up to 128 bytes of ciphertext and 64 bytes for the poly key, we require to process three blocks + MOVOU ·chacha20Constants<>(SB), A0; MOVOU (1*16)(keyp), B0; MOVOU (2*16)(keyp), C0; MOVOU (3*16)(keyp), D0 + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO B0, T1; MOVO C0, T2; MOVO D1, T3 + MOVQ $10, itr2 + +openSSE128InnerCipherLoop: + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Left; shiftB1Left; shiftB2Left + shiftC0Left; shiftC1Left; shiftC2Left + shiftD0Left; shiftD1Left; shiftD2Left + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Right; shiftB1Right; shiftB2Right + shiftC0Right; shiftC1Right; shiftC2Right + shiftD0Right; shiftD1Right; shiftD2Right + DECQ itr2 + JNE openSSE128InnerCipherLoop + + // A0|B0 hold the Poly1305 32-byte key, C0,D0 can be discarded + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1; PADDL ·chacha20Constants<>(SB), A2 + PADDL T1, B0; PADDL T1, B1; PADDL T1, B2 + PADDL T2, C1; PADDL T2, C2 + PADDL T3, D1; PADDL ·sseIncMask<>(SB), T3; PADDL T3, D2 + + // Clamp and store the key + PAND ·polyClampMask<>(SB), A0 + MOVOU A0, rStore; MOVOU B0, sStore + + // Hash + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + +openSSE128Open: + CMPQ inl, $16 + JB openSSETail16 + SUBQ $16, inl + + // Load for hashing + polyAdd(0(inp)) + + // Load for decryption + MOVOU (inp), T0; PXOR T0, A1; MOVOU A1, (oup) + LEAQ (1*16)(inp), inp + LEAQ (1*16)(oup), oup + polyMul + + // Shift the stream "left" + MOVO B1, A1 + MOVO C1, B1 + MOVO D1, C1 + MOVO A2, D1 + MOVO B2, A2 + MOVO C2, B2 + MOVO D2, C2 + JMP openSSE128Open + +openSSETail16: + TESTQ inl, inl + JE openSSEFinalize + + // We can safely load the CT from the end, because it is padded with the MAC + MOVQ inl, itr2 + SHLQ $4, itr2 + LEAQ ·andMask<>(SB), t0 + MOVOU (inp), T0 + ADDQ inl, inp + PAND -16(t0)(itr2*1), T0 + MOVO T0, 0+tmpStore + MOVQ T0, t0 + MOVQ 8+tmpStore, t1 + PXOR A1, T0 + + // We can only store one byte at a time, since plaintext can be shorter than 16 bytes +openSSETail16Store: + MOVQ T0, t3 + MOVB t3, (oup) + PSRLDQ $1, T0 + INCQ oup + DECQ inl + JNE openSSETail16Store + ADDQ t0, acc0; ADCQ t1, acc1; ADCQ $1, acc2 + polyMul + JMP openSSEFinalize + +// ---------------------------------------------------------------------------- +// Special optimization for the last 64 bytes of ciphertext +openSSETail64: + // Need to decrypt up to 64 bytes - prepare single block + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0; MOVO D0, ctr0Store + XORQ itr2, itr2 + MOVQ inl, itr1 + CMPQ itr1, $16 + JB openSSETail64LoopB + +openSSETail64LoopA: + // Perform ChaCha rounds, while hashing the remaining input + polyAdd(0(inp)(itr2*1)) + polyMul + SUBQ $16, itr1 + +openSSETail64LoopB: + ADDQ $16, itr2 + chachaQR(A0, B0, C0, D0, T0) + shiftB0Left; shiftC0Left; shiftD0Left + chachaQR(A0, B0, C0, D0, T0) + shiftB0Right; shiftC0Right; shiftD0Right + + CMPQ itr1, $16 + JAE openSSETail64LoopA + + CMPQ itr2, $160 + JNE openSSETail64LoopB + + PADDL ·chacha20Constants<>(SB), A0; PADDL state1Store, B0; PADDL state2Store, C0; PADDL ctr0Store, D0 + +openSSETail64DecLoop: + CMPQ inl, $16 + JB openSSETail64DecLoopDone + SUBQ $16, inl + MOVOU (inp), T0 + PXOR T0, A0 + MOVOU A0, (oup) + LEAQ 16(inp), inp + LEAQ 16(oup), oup + MOVO B0, A0 + MOVO C0, B0 + MOVO D0, C0 + JMP openSSETail64DecLoop + +openSSETail64DecLoopDone: + MOVO A0, A1 + JMP openSSETail16 + +// ---------------------------------------------------------------------------- +// Special optimization for the last 128 bytes of ciphertext +openSSETail128: + // Need to decrypt up to 128 bytes - prepare two blocks + MOVO ·chacha20Constants<>(SB), A1; MOVO state1Store, B1; MOVO state2Store, C1; MOVO ctr3Store, D1; PADDL ·sseIncMask<>(SB), D1; MOVO D1, ctr0Store + MOVO A1, A0; MOVO B1, B0; MOVO C1, C0; MOVO D1, D0; PADDL ·sseIncMask<>(SB), D0; MOVO D0, ctr1Store + XORQ itr2, itr2 + MOVQ inl, itr1 + ANDQ $-16, itr1 + +openSSETail128LoopA: + // Perform ChaCha rounds, while hashing the remaining input + polyAdd(0(inp)(itr2*1)) + polyMul + +openSSETail128LoopB: + ADDQ $16, itr2 + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0) + shiftB0Left; shiftC0Left; shiftD0Left + shiftB1Left; shiftC1Left; shiftD1Left + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0) + shiftB0Right; shiftC0Right; shiftD0Right + shiftB1Right; shiftC1Right; shiftD1Right + + CMPQ itr2, itr1 + JB openSSETail128LoopA + + CMPQ itr2, $160 + JNE openSSETail128LoopB + + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1 + PADDL state1Store, B0; PADDL state1Store, B1 + PADDL state2Store, C0; PADDL state2Store, C1 + PADDL ctr1Store, D0; PADDL ctr0Store, D1 + + MOVOU (0*16)(inp), T0; MOVOU (1*16)(inp), T1; MOVOU (2*16)(inp), T2; MOVOU (3*16)(inp), T3 + PXOR T0, A1; PXOR T1, B1; PXOR T2, C1; PXOR T3, D1 + MOVOU A1, (0*16)(oup); MOVOU B1, (1*16)(oup); MOVOU C1, (2*16)(oup); MOVOU D1, (3*16)(oup) + + SUBQ $64, inl + LEAQ 64(inp), inp + LEAQ 64(oup), oup + JMP openSSETail64DecLoop + +// ---------------------------------------------------------------------------- +// Special optimization for the last 192 bytes of ciphertext +openSSETail192: + // Need to decrypt up to 192 bytes - prepare three blocks + MOVO ·chacha20Constants<>(SB), A2; MOVO state1Store, B2; MOVO state2Store, C2; MOVO ctr3Store, D2; PADDL ·sseIncMask<>(SB), D2; MOVO D2, ctr0Store + MOVO A2, A1; MOVO B2, B1; MOVO C2, C1; MOVO D2, D1; PADDL ·sseIncMask<>(SB), D1; MOVO D1, ctr1Store + MOVO A1, A0; MOVO B1, B0; MOVO C1, C0; MOVO D1, D0; PADDL ·sseIncMask<>(SB), D0; MOVO D0, ctr2Store + + MOVQ inl, itr1 + MOVQ $160, itr2 + CMPQ itr1, $160 + CMOVQGT itr2, itr1 + ANDQ $-16, itr1 + XORQ itr2, itr2 + +openSSLTail192LoopA: + // Perform ChaCha rounds, while hashing the remaining input + polyAdd(0(inp)(itr2*1)) + polyMul + +openSSLTail192LoopB: + ADDQ $16, itr2 + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Left; shiftC0Left; shiftD0Left + shiftB1Left; shiftC1Left; shiftD1Left + shiftB2Left; shiftC2Left; shiftD2Left + + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Right; shiftC0Right; shiftD0Right + shiftB1Right; shiftC1Right; shiftD1Right + shiftB2Right; shiftC2Right; shiftD2Right + + CMPQ itr2, itr1 + JB openSSLTail192LoopA + + CMPQ itr2, $160 + JNE openSSLTail192LoopB + + CMPQ inl, $176 + JB openSSLTail192Store + + polyAdd(160(inp)) + polyMul + + CMPQ inl, $192 + JB openSSLTail192Store + + polyAdd(176(inp)) + polyMul + +openSSLTail192Store: + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1; PADDL ·chacha20Constants<>(SB), A2 + PADDL state1Store, B0; PADDL state1Store, B1; PADDL state1Store, B2 + PADDL state2Store, C0; PADDL state2Store, C1; PADDL state2Store, C2 + PADDL ctr2Store, D0; PADDL ctr1Store, D1; PADDL ctr0Store, D2 + + MOVOU (0*16)(inp), T0; MOVOU (1*16)(inp), T1; MOVOU (2*16)(inp), T2; MOVOU (3*16)(inp), T3 + PXOR T0, A2; PXOR T1, B2; PXOR T2, C2; PXOR T3, D2 + MOVOU A2, (0*16)(oup); MOVOU B2, (1*16)(oup); MOVOU C2, (2*16)(oup); MOVOU D2, (3*16)(oup) + + MOVOU (4*16)(inp), T0; MOVOU (5*16)(inp), T1; MOVOU (6*16)(inp), T2; MOVOU (7*16)(inp), T3 + PXOR T0, A1; PXOR T1, B1; PXOR T2, C1; PXOR T3, D1 + MOVOU A1, (4*16)(oup); MOVOU B1, (5*16)(oup); MOVOU C1, (6*16)(oup); MOVOU D1, (7*16)(oup) + + SUBQ $128, inl + LEAQ 128(inp), inp + LEAQ 128(oup), oup + JMP openSSETail64DecLoop + +// ---------------------------------------------------------------------------- +// Special optimization for the last 256 bytes of ciphertext +openSSETail256: + // Need to decrypt up to 256 bytes - prepare four blocks + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0 + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO A2, A3; MOVO B2, B3; MOVO C2, C3; MOVO D2, D3; PADDL ·sseIncMask<>(SB), D3 + + // Store counters + MOVO D0, ctr0Store; MOVO D1, ctr1Store; MOVO D2, ctr2Store; MOVO D3, ctr3Store + XORQ itr2, itr2 + +openSSETail256Loop: + // This loop inteleaves 8 ChaCha quarter rounds with 1 poly multiplication + polyAdd(0(inp)(itr2*1)) + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + shiftB0Left; shiftB1Left; shiftB2Left; shiftB3Left + shiftC0Left; shiftC1Left; shiftC2Left; shiftC3Left + shiftD0Left; shiftD1Left; shiftD2Left; shiftD3Left + polyMulStage1 + polyMulStage2 + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + polyMulStage3 + polyMulReduceStage + shiftB0Right; shiftB1Right; shiftB2Right; shiftB3Right + shiftC0Right; shiftC1Right; shiftC2Right; shiftC3Right + shiftD0Right; shiftD1Right; shiftD2Right; shiftD3Right + ADDQ $2*8, itr2 + CMPQ itr2, $160 + JB openSSETail256Loop + MOVQ inl, itr1 + ANDQ $-16, itr1 + +openSSETail256HashLoop: + polyAdd(0(inp)(itr2*1)) + polyMul + ADDQ $2*8, itr2 + CMPQ itr2, itr1 + JB openSSETail256HashLoop + + // Add in the state + PADDD ·chacha20Constants<>(SB), A0; PADDD ·chacha20Constants<>(SB), A1; PADDD ·chacha20Constants<>(SB), A2; PADDD ·chacha20Constants<>(SB), A3 + PADDD state1Store, B0; PADDD state1Store, B1; PADDD state1Store, B2; PADDD state1Store, B3 + PADDD state2Store, C0; PADDD state2Store, C1; PADDD state2Store, C2; PADDD state2Store, C3 + PADDD ctr0Store, D0; PADDD ctr1Store, D1; PADDD ctr2Store, D2; PADDD ctr3Store, D3 + MOVO D3, tmpStore + + // Load - xor - store + MOVOU (0*16)(inp), D3; PXOR D3, A0 + MOVOU (1*16)(inp), D3; PXOR D3, B0 + MOVOU (2*16)(inp), D3; PXOR D3, C0 + MOVOU (3*16)(inp), D3; PXOR D3, D0 + MOVOU A0, (0*16)(oup) + MOVOU B0, (1*16)(oup) + MOVOU C0, (2*16)(oup) + MOVOU D0, (3*16)(oup) + MOVOU (4*16)(inp), A0; MOVOU (5*16)(inp), B0; MOVOU (6*16)(inp), C0; MOVOU (7*16)(inp), D0 + PXOR A0, A1; PXOR B0, B1; PXOR C0, C1; PXOR D0, D1 + MOVOU A1, (4*16)(oup); MOVOU B1, (5*16)(oup); MOVOU C1, (6*16)(oup); MOVOU D1, (7*16)(oup) + MOVOU (8*16)(inp), A0; MOVOU (9*16)(inp), B0; MOVOU (10*16)(inp), C0; MOVOU (11*16)(inp), D0 + PXOR A0, A2; PXOR B0, B2; PXOR C0, C2; PXOR D0, D2 + MOVOU A2, (8*16)(oup); MOVOU B2, (9*16)(oup); MOVOU C2, (10*16)(oup); MOVOU D2, (11*16)(oup) + LEAQ 192(inp), inp + LEAQ 192(oup), oup + SUBQ $192, inl + MOVO A3, A0 + MOVO B3, B0 + MOVO C3, C0 + MOVO tmpStore, D0 + + JMP openSSETail64DecLoop + +// ---------------------------------------------------------------------------- +// ------------------------- AVX2 Code ---------------------------------------- +chacha20Poly1305Open_AVX2: + VZEROUPPER + VMOVDQU ·chacha20Constants<>(SB), AA0 + BYTE $0xc4; BYTE $0x42; BYTE $0x7d; BYTE $0x5a; BYTE $0x70; BYTE $0x10 // broadcasti128 16(r8), ymm14 + BYTE $0xc4; BYTE $0x42; BYTE $0x7d; BYTE $0x5a; BYTE $0x60; BYTE $0x20 // broadcasti128 32(r8), ymm12 + BYTE $0xc4; BYTE $0xc2; BYTE $0x7d; BYTE $0x5a; BYTE $0x60; BYTE $0x30 // broadcasti128 48(r8), ymm4 + VPADDD ·avx2InitMask<>(SB), DD0, DD0 + + // Special optimization, for very short buffers + CMPQ inl, $192 + JBE openAVX2192 + CMPQ inl, $320 + JBE openAVX2320 + + // For the general key prepare the key first - as a byproduct we have 64 bytes of cipher stream + VMOVDQA BB0, state1StoreAVX2 + VMOVDQA CC0, state2StoreAVX2 + VMOVDQA DD0, ctr3StoreAVX2 + MOVQ $10, itr2 + +openAVX2PreparePolyKey: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $12, DD0, DD0, DD0 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $4, DD0, DD0, DD0 + DECQ itr2 + JNE openAVX2PreparePolyKey + + VPADDD ·chacha20Constants<>(SB), AA0, AA0 + VPADDD state1StoreAVX2, BB0, BB0 + VPADDD state2StoreAVX2, CC0, CC0 + VPADDD ctr3StoreAVX2, DD0, DD0 + + VPERM2I128 $0x02, AA0, BB0, TT0 + + // Clamp and store poly key + VPAND ·polyClampMask<>(SB), TT0, TT0 + VMOVDQA TT0, rsStoreAVX2 + + // Stream for the first 64 bytes + VPERM2I128 $0x13, AA0, BB0, AA0 + VPERM2I128 $0x13, CC0, DD0, BB0 + + // Hash AD + first 64 bytes + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + XORQ itr1, itr1 + +openAVX2InitialHash64: + polyAdd(0(inp)(itr1*1)) + polyMulAVX2 + ADDQ $16, itr1 + CMPQ itr1, $64 + JNE openAVX2InitialHash64 + + // Decrypt the first 64 bytes + VPXOR (0*32)(inp), AA0, AA0 + VPXOR (1*32)(inp), BB0, BB0 + VMOVDQU AA0, (0*32)(oup) + VMOVDQU BB0, (1*32)(oup) + LEAQ (2*32)(inp), inp + LEAQ (2*32)(oup), oup + SUBQ $64, inl + +openAVX2MainLoop: + CMPQ inl, $512 + JB openAVX2MainLoopDone + + // Load state, increment counter blocks, store the incremented counters + VMOVDQU ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3 + VMOVDQA ctr3StoreAVX2, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2; VPADDD ·avx2IncMask<>(SB), DD2, DD3 + VMOVDQA DD0, ctr0StoreAVX2; VMOVDQA DD1, ctr1StoreAVX2; VMOVDQA DD2, ctr2StoreAVX2; VMOVDQA DD3, ctr3StoreAVX2 + XORQ itr1, itr1 + +openAVX2InternalLoop: + // Lets just say this spaghetti loop interleaves 2 quarter rounds with 3 poly multiplications + // Effectively per 512 bytes of stream we hash 480 bytes of ciphertext + polyAdd(0*8(inp)(itr1*1)) + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + polyMulStage1_AVX2 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + polyMulStage2_AVX2 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyMulStage3_AVX2 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulReduceStage + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + polyAdd(2*8(inp)(itr1*1)) + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + polyMulStage1_AVX2 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulStage2_AVX2 + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $4, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2; VPALIGNR $12, DD3, DD3, DD3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + polyMulStage3_AVX2 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + polyMulReduceStage + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyAdd(4*8(inp)(itr1*1)) + LEAQ (6*8)(itr1), itr1 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulStage1_AVX2 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + polyMulStage2_AVX2 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + polyMulStage3_AVX2 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulReduceStage + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $12, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2; VPALIGNR $4, DD3, DD3, DD3 + CMPQ itr1, $480 + JNE openAVX2InternalLoop + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2; VPADDD ·chacha20Constants<>(SB), AA3, AA3 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2; VPADDD state1StoreAVX2, BB3, BB3 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2; VPADDD state2StoreAVX2, CC3, CC3 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2; VPADDD ctr3StoreAVX2, DD3, DD3 + VMOVDQA CC3, tmpStoreAVX2 + + // We only hashed 480 of the 512 bytes available - hash the remaining 32 here + polyAdd(480(inp)) + polyMulAVX2 + VPERM2I128 $0x02, AA0, BB0, CC3; VPERM2I128 $0x13, AA0, BB0, BB0; VPERM2I128 $0x02, CC0, DD0, AA0; VPERM2I128 $0x13, CC0, DD0, CC0 + VPXOR (0*32)(inp), CC3, CC3; VPXOR (1*32)(inp), AA0, AA0; VPXOR (2*32)(inp), BB0, BB0; VPXOR (3*32)(inp), CC0, CC0 + VMOVDQU CC3, (0*32)(oup); VMOVDQU AA0, (1*32)(oup); VMOVDQU BB0, (2*32)(oup); VMOVDQU CC0, (3*32)(oup) + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + VPXOR (4*32)(inp), AA0, AA0; VPXOR (5*32)(inp), BB0, BB0; VPXOR (6*32)(inp), CC0, CC0; VPXOR (7*32)(inp), DD0, DD0 + VMOVDQU AA0, (4*32)(oup); VMOVDQU BB0, (5*32)(oup); VMOVDQU CC0, (6*32)(oup); VMOVDQU DD0, (7*32)(oup) + + // and here + polyAdd(496(inp)) + polyMulAVX2 + VPERM2I128 $0x02, AA2, BB2, AA0; VPERM2I128 $0x02, CC2, DD2, BB0; VPERM2I128 $0x13, AA2, BB2, CC0; VPERM2I128 $0x13, CC2, DD2, DD0 + VPXOR (8*32)(inp), AA0, AA0; VPXOR (9*32)(inp), BB0, BB0; VPXOR (10*32)(inp), CC0, CC0; VPXOR (11*32)(inp), DD0, DD0 + VMOVDQU AA0, (8*32)(oup); VMOVDQU BB0, (9*32)(oup); VMOVDQU CC0, (10*32)(oup); VMOVDQU DD0, (11*32)(oup) + VPERM2I128 $0x02, AA3, BB3, AA0; VPERM2I128 $0x02, tmpStoreAVX2, DD3, BB0; VPERM2I128 $0x13, AA3, BB3, CC0; VPERM2I128 $0x13, tmpStoreAVX2, DD3, DD0 + VPXOR (12*32)(inp), AA0, AA0; VPXOR (13*32)(inp), BB0, BB0; VPXOR (14*32)(inp), CC0, CC0; VPXOR (15*32)(inp), DD0, DD0 + VMOVDQU AA0, (12*32)(oup); VMOVDQU BB0, (13*32)(oup); VMOVDQU CC0, (14*32)(oup); VMOVDQU DD0, (15*32)(oup) + LEAQ (32*16)(inp), inp + LEAQ (32*16)(oup), oup + SUBQ $(32*16), inl + JMP openAVX2MainLoop + +openAVX2MainLoopDone: + // Handle the various tail sizes efficiently + TESTQ inl, inl + JE openSSEFinalize + CMPQ inl, $128 + JBE openAVX2Tail128 + CMPQ inl, $256 + JBE openAVX2Tail256 + CMPQ inl, $384 + JBE openAVX2Tail384 + JMP openAVX2Tail512 + +// ---------------------------------------------------------------------------- +// Special optimization for buffers smaller than 193 bytes +openAVX2192: + // For up to 192 bytes of ciphertext and 64 bytes for the poly key, we process four blocks + VMOVDQA AA0, AA1 + VMOVDQA BB0, BB1 + VMOVDQA CC0, CC1 + VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA AA0, AA2 + VMOVDQA BB0, BB2 + VMOVDQA CC0, CC2 + VMOVDQA DD0, DD2 + VMOVDQA DD1, TT3 + MOVQ $10, itr2 + +openAVX2192InnerCipherLoop: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1 + DECQ itr2 + JNE openAVX2192InnerCipherLoop + VPADDD AA2, AA0, AA0; VPADDD AA2, AA1, AA1 + VPADDD BB2, BB0, BB0; VPADDD BB2, BB1, BB1 + VPADDD CC2, CC0, CC0; VPADDD CC2, CC1, CC1 + VPADDD DD2, DD0, DD0; VPADDD TT3, DD1, DD1 + VPERM2I128 $0x02, AA0, BB0, TT0 + + // Clamp and store poly key + VPAND ·polyClampMask<>(SB), TT0, TT0 + VMOVDQA TT0, rsStoreAVX2 + + // Stream for up to 192 bytes + VPERM2I128 $0x13, AA0, BB0, AA0 + VPERM2I128 $0x13, CC0, DD0, BB0 + VPERM2I128 $0x02, AA1, BB1, CC0 + VPERM2I128 $0x02, CC1, DD1, DD0 + VPERM2I128 $0x13, AA1, BB1, AA1 + VPERM2I128 $0x13, CC1, DD1, BB1 + +openAVX2ShortOpen: + // Hash + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + +openAVX2ShortOpenLoop: + CMPQ inl, $32 + JB openAVX2ShortTail32 + SUBQ $32, inl + + // Load for hashing + polyAdd(0*8(inp)) + polyMulAVX2 + polyAdd(2*8(inp)) + polyMulAVX2 + + // Load for decryption + VPXOR (inp), AA0, AA0 + VMOVDQU AA0, (oup) + LEAQ (1*32)(inp), inp + LEAQ (1*32)(oup), oup + + // Shift stream left + VMOVDQA BB0, AA0 + VMOVDQA CC0, BB0 + VMOVDQA DD0, CC0 + VMOVDQA AA1, DD0 + VMOVDQA BB1, AA1 + VMOVDQA CC1, BB1 + VMOVDQA DD1, CC1 + VMOVDQA AA2, DD1 + VMOVDQA BB2, AA2 + JMP openAVX2ShortOpenLoop + +openAVX2ShortTail32: + CMPQ inl, $16 + VMOVDQA A0, A1 + JB openAVX2ShortDone + + SUBQ $16, inl + + // Load for hashing + polyAdd(0*8(inp)) + polyMulAVX2 + + // Load for decryption + VPXOR (inp), A0, T0 + VMOVDQU T0, (oup) + LEAQ (1*16)(inp), inp + LEAQ (1*16)(oup), oup + VPERM2I128 $0x11, AA0, AA0, AA0 + VMOVDQA A0, A1 + +openAVX2ShortDone: + VZEROUPPER + JMP openSSETail16 + +// ---------------------------------------------------------------------------- +// Special optimization for buffers smaller than 321 bytes +openAVX2320: + // For up to 320 bytes of ciphertext and 64 bytes for the poly key, we process six blocks + VMOVDQA AA0, AA1; VMOVDQA BB0, BB1; VMOVDQA CC0, CC1; VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA AA0, AA2; VMOVDQA BB0, BB2; VMOVDQA CC0, CC2; VPADDD ·avx2IncMask<>(SB), DD1, DD2 + VMOVDQA BB0, TT1; VMOVDQA CC0, TT2; VMOVDQA DD0, TT3 + MOVQ $10, itr2 + +openAVX2320InnerCipherLoop: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2 + DECQ itr2 + JNE openAVX2320InnerCipherLoop + + VMOVDQA ·chacha20Constants<>(SB), TT0 + VPADDD TT0, AA0, AA0; VPADDD TT0, AA1, AA1; VPADDD TT0, AA2, AA2 + VPADDD TT1, BB0, BB0; VPADDD TT1, BB1, BB1; VPADDD TT1, BB2, BB2 + VPADDD TT2, CC0, CC0; VPADDD TT2, CC1, CC1; VPADDD TT2, CC2, CC2 + VMOVDQA ·avx2IncMask<>(SB), TT0 + VPADDD TT3, DD0, DD0; VPADDD TT0, TT3, TT3 + VPADDD TT3, DD1, DD1; VPADDD TT0, TT3, TT3 + VPADDD TT3, DD2, DD2 + + // Clamp and store poly key + VPERM2I128 $0x02, AA0, BB0, TT0 + VPAND ·polyClampMask<>(SB), TT0, TT0 + VMOVDQA TT0, rsStoreAVX2 + + // Stream for up to 320 bytes + VPERM2I128 $0x13, AA0, BB0, AA0 + VPERM2I128 $0x13, CC0, DD0, BB0 + VPERM2I128 $0x02, AA1, BB1, CC0 + VPERM2I128 $0x02, CC1, DD1, DD0 + VPERM2I128 $0x13, AA1, BB1, AA1 + VPERM2I128 $0x13, CC1, DD1, BB1 + VPERM2I128 $0x02, AA2, BB2, CC1 + VPERM2I128 $0x02, CC2, DD2, DD1 + VPERM2I128 $0x13, AA2, BB2, AA2 + VPERM2I128 $0x13, CC2, DD2, BB2 + JMP openAVX2ShortOpen + +// ---------------------------------------------------------------------------- +// Special optimization for the last 128 bytes of ciphertext +openAVX2Tail128: + // Need to decrypt up to 128 bytes - prepare two blocks + VMOVDQA ·chacha20Constants<>(SB), AA1 + VMOVDQA state1StoreAVX2, BB1 + VMOVDQA state2StoreAVX2, CC1 + VMOVDQA ctr3StoreAVX2, DD1 + VPADDD ·avx2IncMask<>(SB), DD1, DD1 + VMOVDQA DD1, DD0 + + XORQ itr2, itr2 + MOVQ inl, itr1 + ANDQ $-16, itr1 + TESTQ itr1, itr1 + JE openAVX2Tail128LoopB + +openAVX2Tail128LoopA: + // Perform ChaCha rounds, while hashing the remaining input + polyAdd(0(inp)(itr2*1)) + polyMulAVX2 + +openAVX2Tail128LoopB: + ADDQ $16, itr2 + chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $4, BB1, BB1, BB1 + VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $12, DD1, DD1, DD1 + chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $12, BB1, BB1, BB1 + VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $4, DD1, DD1, DD1 + CMPQ itr2, itr1 + JB openAVX2Tail128LoopA + CMPQ itr2, $160 + JNE openAVX2Tail128LoopB + + VPADDD ·chacha20Constants<>(SB), AA1, AA1 + VPADDD state1StoreAVX2, BB1, BB1 + VPADDD state2StoreAVX2, CC1, CC1 + VPADDD DD0, DD1, DD1 + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + +openAVX2TailLoop: + CMPQ inl, $32 + JB openAVX2Tail + SUBQ $32, inl + + // Load for decryption + VPXOR (inp), AA0, AA0 + VMOVDQU AA0, (oup) + LEAQ (1*32)(inp), inp + LEAQ (1*32)(oup), oup + VMOVDQA BB0, AA0 + VMOVDQA CC0, BB0 + VMOVDQA DD0, CC0 + JMP openAVX2TailLoop + +openAVX2Tail: + CMPQ inl, $16 + VMOVDQA A0, A1 + JB openAVX2TailDone + SUBQ $16, inl + + // Load for decryption + VPXOR (inp), A0, T0 + VMOVDQU T0, (oup) + LEAQ (1*16)(inp), inp + LEAQ (1*16)(oup), oup + VPERM2I128 $0x11, AA0, AA0, AA0 + VMOVDQA A0, A1 + +openAVX2TailDone: + VZEROUPPER + JMP openSSETail16 + +// ---------------------------------------------------------------------------- +// Special optimization for the last 256 bytes of ciphertext +openAVX2Tail256: + // Need to decrypt up to 256 bytes - prepare four blocks + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA DD0, TT1 + VMOVDQA DD1, TT2 + + // Compute the number of iterations that will hash data + MOVQ inl, tmpStoreAVX2 + MOVQ inl, itr1 + SUBQ $128, itr1 + SHRQ $4, itr1 + MOVQ $10, itr2 + CMPQ itr1, $10 + CMOVQGT itr2, itr1 + MOVQ inp, inl + XORQ itr2, itr2 + +openAVX2Tail256LoopA: + polyAdd(0(inl)) + polyMulAVX2 + LEAQ 16(inl), inl + + // Perform ChaCha rounds, while hashing the remaining input +openAVX2Tail256LoopB: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1 + INCQ itr2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1 + CMPQ itr2, itr1 + JB openAVX2Tail256LoopA + + CMPQ itr2, $10 + JNE openAVX2Tail256LoopB + + MOVQ inl, itr2 + SUBQ inp, inl + MOVQ inl, itr1 + MOVQ tmpStoreAVX2, inl + + // Hash the remainder of data (if any) +openAVX2Tail256Hash: + ADDQ $16, itr1 + CMPQ itr1, inl + JGT openAVX2Tail256HashEnd + polyAdd (0(itr2)) + polyMulAVX2 + LEAQ 16(itr2), itr2 + JMP openAVX2Tail256Hash + +// Store 128 bytes safely, then go to store loop +openAVX2Tail256HashEnd: + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1 + VPADDD TT1, DD0, DD0; VPADDD TT2, DD1, DD1 + VPERM2I128 $0x02, AA0, BB0, AA2; VPERM2I128 $0x02, CC0, DD0, BB2; VPERM2I128 $0x13, AA0, BB0, CC2; VPERM2I128 $0x13, CC0, DD0, DD2 + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + + VPXOR (0*32)(inp), AA2, AA2; VPXOR (1*32)(inp), BB2, BB2; VPXOR (2*32)(inp), CC2, CC2; VPXOR (3*32)(inp), DD2, DD2 + VMOVDQU AA2, (0*32)(oup); VMOVDQU BB2, (1*32)(oup); VMOVDQU CC2, (2*32)(oup); VMOVDQU DD2, (3*32)(oup) + LEAQ (4*32)(inp), inp + LEAQ (4*32)(oup), oup + SUBQ $4*32, inl + + JMP openAVX2TailLoop + +// ---------------------------------------------------------------------------- +// Special optimization for the last 384 bytes of ciphertext +openAVX2Tail384: + // Need to decrypt up to 384 bytes - prepare six blocks + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VPADDD ·avx2IncMask<>(SB), DD1, DD2 + VMOVDQA DD0, ctr0StoreAVX2 + VMOVDQA DD1, ctr1StoreAVX2 + VMOVDQA DD2, ctr2StoreAVX2 + + // Compute the number of iterations that will hash two blocks of data + MOVQ inl, tmpStoreAVX2 + MOVQ inl, itr1 + SUBQ $256, itr1 + SHRQ $4, itr1 + ADDQ $6, itr1 + MOVQ $10, itr2 + CMPQ itr1, $10 + CMOVQGT itr2, itr1 + MOVQ inp, inl + XORQ itr2, itr2 + + // Perform ChaCha rounds, while hashing the remaining input +openAVX2Tail384LoopB: + polyAdd(0(inl)) + polyMulAVX2 + LEAQ 16(inl), inl + +openAVX2Tail384LoopA: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2 + polyAdd(0(inl)) + polyMulAVX2 + LEAQ 16(inl), inl + INCQ itr2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2 + + CMPQ itr2, itr1 + JB openAVX2Tail384LoopB + + CMPQ itr2, $10 + JNE openAVX2Tail384LoopA + + MOVQ inl, itr2 + SUBQ inp, inl + MOVQ inl, itr1 + MOVQ tmpStoreAVX2, inl + +openAVX2Tail384Hash: + ADDQ $16, itr1 + CMPQ itr1, inl + JGT openAVX2Tail384HashEnd + polyAdd(0(itr2)) + polyMulAVX2 + LEAQ 16(itr2), itr2 + JMP openAVX2Tail384Hash + +// Store 256 bytes safely, then go to store loop +openAVX2Tail384HashEnd: + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2 + VPERM2I128 $0x02, AA0, BB0, TT0; VPERM2I128 $0x02, CC0, DD0, TT1; VPERM2I128 $0x13, AA0, BB0, TT2; VPERM2I128 $0x13, CC0, DD0, TT3 + VPXOR (0*32)(inp), TT0, TT0; VPXOR (1*32)(inp), TT1, TT1; VPXOR (2*32)(inp), TT2, TT2; VPXOR (3*32)(inp), TT3, TT3 + VMOVDQU TT0, (0*32)(oup); VMOVDQU TT1, (1*32)(oup); VMOVDQU TT2, (2*32)(oup); VMOVDQU TT3, (3*32)(oup) + VPERM2I128 $0x02, AA1, BB1, TT0; VPERM2I128 $0x02, CC1, DD1, TT1; VPERM2I128 $0x13, AA1, BB1, TT2; VPERM2I128 $0x13, CC1, DD1, TT3 + VPXOR (4*32)(inp), TT0, TT0; VPXOR (5*32)(inp), TT1, TT1; VPXOR (6*32)(inp), TT2, TT2; VPXOR (7*32)(inp), TT3, TT3 + VMOVDQU TT0, (4*32)(oup); VMOVDQU TT1, (5*32)(oup); VMOVDQU TT2, (6*32)(oup); VMOVDQU TT3, (7*32)(oup) + VPERM2I128 $0x02, AA2, BB2, AA0; VPERM2I128 $0x02, CC2, DD2, BB0; VPERM2I128 $0x13, AA2, BB2, CC0; VPERM2I128 $0x13, CC2, DD2, DD0 + LEAQ (8*32)(inp), inp + LEAQ (8*32)(oup), oup + SUBQ $8*32, inl + JMP openAVX2TailLoop + +// ---------------------------------------------------------------------------- +// Special optimization for the last 512 bytes of ciphertext +openAVX2Tail512: + VMOVDQU ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3 + VMOVDQA ctr3StoreAVX2, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2; VPADDD ·avx2IncMask<>(SB), DD2, DD3 + VMOVDQA DD0, ctr0StoreAVX2; VMOVDQA DD1, ctr1StoreAVX2; VMOVDQA DD2, ctr2StoreAVX2; VMOVDQA DD3, ctr3StoreAVX2 + XORQ itr1, itr1 + MOVQ inp, itr2 + +openAVX2Tail512LoopB: + polyAdd(0(itr2)) + polyMulAVX2 + LEAQ (2*8)(itr2), itr2 + +openAVX2Tail512LoopA: + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyAdd(0*8(itr2)) + polyMulAVX2 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $4, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2; VPALIGNR $12, DD3, DD3, DD3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyAdd(2*8(itr2)) + polyMulAVX2 + LEAQ (4*8)(itr2), itr2 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $12, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2; VPALIGNR $4, DD3, DD3, DD3 + INCQ itr1 + CMPQ itr1, $4 + JLT openAVX2Tail512LoopB + + CMPQ itr1, $10 + JNE openAVX2Tail512LoopA + + MOVQ inl, itr1 + SUBQ $384, itr1 + ANDQ $-16, itr1 + +openAVX2Tail512HashLoop: + TESTQ itr1, itr1 + JE openAVX2Tail512HashEnd + polyAdd(0(itr2)) + polyMulAVX2 + LEAQ 16(itr2), itr2 + SUBQ $16, itr1 + JMP openAVX2Tail512HashLoop + +openAVX2Tail512HashEnd: + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2; VPADDD ·chacha20Constants<>(SB), AA3, AA3 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2; VPADDD state1StoreAVX2, BB3, BB3 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2; VPADDD state2StoreAVX2, CC3, CC3 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2; VPADDD ctr3StoreAVX2, DD3, DD3 + VMOVDQA CC3, tmpStoreAVX2 + VPERM2I128 $0x02, AA0, BB0, CC3; VPERM2I128 $0x13, AA0, BB0, BB0; VPERM2I128 $0x02, CC0, DD0, AA0; VPERM2I128 $0x13, CC0, DD0, CC0 + VPXOR (0*32)(inp), CC3, CC3; VPXOR (1*32)(inp), AA0, AA0; VPXOR (2*32)(inp), BB0, BB0; VPXOR (3*32)(inp), CC0, CC0 + VMOVDQU CC3, (0*32)(oup); VMOVDQU AA0, (1*32)(oup); VMOVDQU BB0, (2*32)(oup); VMOVDQU CC0, (3*32)(oup) + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + VPXOR (4*32)(inp), AA0, AA0; VPXOR (5*32)(inp), BB0, BB0; VPXOR (6*32)(inp), CC0, CC0; VPXOR (7*32)(inp), DD0, DD0 + VMOVDQU AA0, (4*32)(oup); VMOVDQU BB0, (5*32)(oup); VMOVDQU CC0, (6*32)(oup); VMOVDQU DD0, (7*32)(oup) + VPERM2I128 $0x02, AA2, BB2, AA0; VPERM2I128 $0x02, CC2, DD2, BB0; VPERM2I128 $0x13, AA2, BB2, CC0; VPERM2I128 $0x13, CC2, DD2, DD0 + VPXOR (8*32)(inp), AA0, AA0; VPXOR (9*32)(inp), BB0, BB0; VPXOR (10*32)(inp), CC0, CC0; VPXOR (11*32)(inp), DD0, DD0 + VMOVDQU AA0, (8*32)(oup); VMOVDQU BB0, (9*32)(oup); VMOVDQU CC0, (10*32)(oup); VMOVDQU DD0, (11*32)(oup) + VPERM2I128 $0x02, AA3, BB3, AA0; VPERM2I128 $0x02, tmpStoreAVX2, DD3, BB0; VPERM2I128 $0x13, AA3, BB3, CC0; VPERM2I128 $0x13, tmpStoreAVX2, DD3, DD0 + + LEAQ (12*32)(inp), inp + LEAQ (12*32)(oup), oup + SUBQ $12*32, inl + + JMP openAVX2TailLoop + +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- +// func chacha20Poly1305Seal(dst, key, src, ad []byte) +TEXT ·chacha20Poly1305Seal(SB), 0, $288-96 + // For aligned stack access + MOVQ SP, BP + ADDQ $32, BP + ANDQ $-32, BP + MOVQ dst+0(FP), oup + MOVQ key+24(FP), keyp + MOVQ src+48(FP), inp + MOVQ src_len+56(FP), inl + MOVQ ad+72(FP), adp + + CMPB ·useAVX2(SB), $1 + JE chacha20Poly1305Seal_AVX2 + + // Special optimization, for very short buffers + CMPQ inl, $128 + JBE sealSSE128 // About 15% faster + + // In the seal case - prepare the poly key + 3 blocks of stream in the first iteration + MOVOU ·chacha20Constants<>(SB), A0 + MOVOU (1*16)(keyp), B0 + MOVOU (2*16)(keyp), C0 + MOVOU (3*16)(keyp), D0 + + // Store state on stack for future use + MOVO B0, state1Store + MOVO C0, state2Store + + // Load state, increment counter blocks + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO A2, A3; MOVO B2, B3; MOVO C2, C3; MOVO D2, D3; PADDL ·sseIncMask<>(SB), D3 + + // Store counters + MOVO D0, ctr0Store; MOVO D1, ctr1Store; MOVO D2, ctr2Store; MOVO D3, ctr3Store + MOVQ $10, itr2 + +sealSSEIntroLoop: + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + shiftB0Left; shiftB1Left; shiftB2Left; shiftB3Left + shiftC0Left; shiftC1Left; shiftC2Left; shiftC3Left + shiftD0Left; shiftD1Left; shiftD2Left; shiftD3Left + + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + shiftB0Right; shiftB1Right; shiftB2Right; shiftB3Right + shiftC0Right; shiftC1Right; shiftC2Right; shiftC3Right + shiftD0Right; shiftD1Right; shiftD2Right; shiftD3Right + DECQ itr2 + JNE sealSSEIntroLoop + + // Add in the state + PADDD ·chacha20Constants<>(SB), A0; PADDD ·chacha20Constants<>(SB), A1; PADDD ·chacha20Constants<>(SB), A2; PADDD ·chacha20Constants<>(SB), A3 + PADDD state1Store, B0; PADDD state1Store, B1; PADDD state1Store, B2; PADDD state1Store, B3 + PADDD state2Store, C1; PADDD state2Store, C2; PADDD state2Store, C3 + PADDD ctr1Store, D1; PADDD ctr2Store, D2; PADDD ctr3Store, D3 + + // Clamp and store the key + PAND ·polyClampMask<>(SB), A0 + MOVO A0, rStore + MOVO B0, sStore + + // Hash AAD + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + + MOVOU (0*16)(inp), A0; MOVOU (1*16)(inp), B0; MOVOU (2*16)(inp), C0; MOVOU (3*16)(inp), D0 + PXOR A0, A1; PXOR B0, B1; PXOR C0, C1; PXOR D0, D1 + MOVOU A1, (0*16)(oup); MOVOU B1, (1*16)(oup); MOVOU C1, (2*16)(oup); MOVOU D1, (3*16)(oup) + MOVOU (4*16)(inp), A0; MOVOU (5*16)(inp), B0; MOVOU (6*16)(inp), C0; MOVOU (7*16)(inp), D0 + PXOR A0, A2; PXOR B0, B2; PXOR C0, C2; PXOR D0, D2 + MOVOU A2, (4*16)(oup); MOVOU B2, (5*16)(oup); MOVOU C2, (6*16)(oup); MOVOU D2, (7*16)(oup) + + MOVQ $128, itr1 + SUBQ $128, inl + LEAQ 128(inp), inp + + MOVO A3, A1; MOVO B3, B1; MOVO C3, C1; MOVO D3, D1 + + CMPQ inl, $64 + JBE sealSSE128SealHash + + MOVOU (0*16)(inp), A0; MOVOU (1*16)(inp), B0; MOVOU (2*16)(inp), C0; MOVOU (3*16)(inp), D0 + PXOR A0, A3; PXOR B0, B3; PXOR C0, C3; PXOR D0, D3 + MOVOU A3, (8*16)(oup); MOVOU B3, (9*16)(oup); MOVOU C3, (10*16)(oup); MOVOU D3, (11*16)(oup) + + ADDQ $64, itr1 + SUBQ $64, inl + LEAQ 64(inp), inp + + MOVQ $2, itr1 + MOVQ $8, itr2 + + CMPQ inl, $64 + JBE sealSSETail64 + CMPQ inl, $128 + JBE sealSSETail128 + CMPQ inl, $192 + JBE sealSSETail192 + +sealSSEMainLoop: + // Load state, increment counter blocks + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0 + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO A2, A3; MOVO B2, B3; MOVO C2, C3; MOVO D2, D3; PADDL ·sseIncMask<>(SB), D3 + + // Store counters + MOVO D0, ctr0Store; MOVO D1, ctr1Store; MOVO D2, ctr2Store; MOVO D3, ctr3Store + +sealSSEInnerLoop: + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + polyAdd(0(oup)) + shiftB0Left; shiftB1Left; shiftB2Left; shiftB3Left + shiftC0Left; shiftC1Left; shiftC2Left; shiftC3Left + shiftD0Left; shiftD1Left; shiftD2Left; shiftD3Left + polyMulStage1 + polyMulStage2 + LEAQ (2*8)(oup), oup + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + polyMulStage3 + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + polyMulReduceStage + shiftB0Right; shiftB1Right; shiftB2Right; shiftB3Right + shiftC0Right; shiftC1Right; shiftC2Right; shiftC3Right + shiftD0Right; shiftD1Right; shiftD2Right; shiftD3Right + DECQ itr2 + JGE sealSSEInnerLoop + polyAdd(0(oup)) + polyMul + LEAQ (2*8)(oup), oup + DECQ itr1 + JG sealSSEInnerLoop + + // Add in the state + PADDD ·chacha20Constants<>(SB), A0; PADDD ·chacha20Constants<>(SB), A1; PADDD ·chacha20Constants<>(SB), A2; PADDD ·chacha20Constants<>(SB), A3 + PADDD state1Store, B0; PADDD state1Store, B1; PADDD state1Store, B2; PADDD state1Store, B3 + PADDD state2Store, C0; PADDD state2Store, C1; PADDD state2Store, C2; PADDD state2Store, C3 + PADDD ctr0Store, D0; PADDD ctr1Store, D1; PADDD ctr2Store, D2; PADDD ctr3Store, D3 + MOVO D3, tmpStore + + // Load - xor - store + MOVOU (0*16)(inp), D3; PXOR D3, A0 + MOVOU (1*16)(inp), D3; PXOR D3, B0 + MOVOU (2*16)(inp), D3; PXOR D3, C0 + MOVOU (3*16)(inp), D3; PXOR D3, D0 + MOVOU A0, (0*16)(oup) + MOVOU B0, (1*16)(oup) + MOVOU C0, (2*16)(oup) + MOVOU D0, (3*16)(oup) + MOVO tmpStore, D3 + + MOVOU (4*16)(inp), A0; MOVOU (5*16)(inp), B0; MOVOU (6*16)(inp), C0; MOVOU (7*16)(inp), D0 + PXOR A0, A1; PXOR B0, B1; PXOR C0, C1; PXOR D0, D1 + MOVOU A1, (4*16)(oup); MOVOU B1, (5*16)(oup); MOVOU C1, (6*16)(oup); MOVOU D1, (7*16)(oup) + MOVOU (8*16)(inp), A0; MOVOU (9*16)(inp), B0; MOVOU (10*16)(inp), C0; MOVOU (11*16)(inp), D0 + PXOR A0, A2; PXOR B0, B2; PXOR C0, C2; PXOR D0, D2 + MOVOU A2, (8*16)(oup); MOVOU B2, (9*16)(oup); MOVOU C2, (10*16)(oup); MOVOU D2, (11*16)(oup) + ADDQ $192, inp + MOVQ $192, itr1 + SUBQ $192, inl + MOVO A3, A1 + MOVO B3, B1 + MOVO C3, C1 + MOVO D3, D1 + CMPQ inl, $64 + JBE sealSSE128SealHash + MOVOU (0*16)(inp), A0; MOVOU (1*16)(inp), B0; MOVOU (2*16)(inp), C0; MOVOU (3*16)(inp), D0 + PXOR A0, A3; PXOR B0, B3; PXOR C0, C3; PXOR D0, D3 + MOVOU A3, (12*16)(oup); MOVOU B3, (13*16)(oup); MOVOU C3, (14*16)(oup); MOVOU D3, (15*16)(oup) + LEAQ 64(inp), inp + SUBQ $64, inl + MOVQ $6, itr1 + MOVQ $4, itr2 + CMPQ inl, $192 + JG sealSSEMainLoop + + MOVQ inl, itr1 + TESTQ inl, inl + JE sealSSE128SealHash + MOVQ $6, itr1 + CMPQ inl, $64 + JBE sealSSETail64 + CMPQ inl, $128 + JBE sealSSETail128 + JMP sealSSETail192 + +// ---------------------------------------------------------------------------- +// Special optimization for the last 64 bytes of plaintext +sealSSETail64: + // Need to encrypt up to 64 bytes - prepare single block, hash 192 or 256 bytes + MOVO ·chacha20Constants<>(SB), A1 + MOVO state1Store, B1 + MOVO state2Store, C1 + MOVO ctr3Store, D1 + PADDL ·sseIncMask<>(SB), D1 + MOVO D1, ctr0Store + +sealSSETail64LoopA: + // Perform ChaCha rounds, while hashing the previously encrypted ciphertext + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealSSETail64LoopB: + chachaQR(A1, B1, C1, D1, T1) + shiftB1Left; shiftC1Left; shiftD1Left + chachaQR(A1, B1, C1, D1, T1) + shiftB1Right; shiftC1Right; shiftD1Right + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + + DECQ itr1 + JG sealSSETail64LoopA + + DECQ itr2 + JGE sealSSETail64LoopB + PADDL ·chacha20Constants<>(SB), A1 + PADDL state1Store, B1 + PADDL state2Store, C1 + PADDL ctr0Store, D1 + + JMP sealSSE128Seal + +// ---------------------------------------------------------------------------- +// Special optimization for the last 128 bytes of plaintext +sealSSETail128: + // Need to encrypt up to 128 bytes - prepare two blocks, hash 192 or 256 bytes + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0; MOVO D0, ctr0Store + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1; MOVO D1, ctr1Store + +sealSSETail128LoopA: + // Perform ChaCha rounds, while hashing the previously encrypted ciphertext + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealSSETail128LoopB: + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0) + shiftB0Left; shiftC0Left; shiftD0Left + shiftB1Left; shiftC1Left; shiftD1Left + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0) + shiftB0Right; shiftC0Right; shiftD0Right + shiftB1Right; shiftC1Right; shiftD1Right + + DECQ itr1 + JG sealSSETail128LoopA + + DECQ itr2 + JGE sealSSETail128LoopB + + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1 + PADDL state1Store, B0; PADDL state1Store, B1 + PADDL state2Store, C0; PADDL state2Store, C1 + PADDL ctr0Store, D0; PADDL ctr1Store, D1 + + MOVOU (0*16)(inp), T0; MOVOU (1*16)(inp), T1; MOVOU (2*16)(inp), T2; MOVOU (3*16)(inp), T3 + PXOR T0, A0; PXOR T1, B0; PXOR T2, C0; PXOR T3, D0 + MOVOU A0, (0*16)(oup); MOVOU B0, (1*16)(oup); MOVOU C0, (2*16)(oup); MOVOU D0, (3*16)(oup) + + MOVQ $64, itr1 + LEAQ 64(inp), inp + SUBQ $64, inl + + JMP sealSSE128SealHash + +// ---------------------------------------------------------------------------- +// Special optimization for the last 192 bytes of plaintext +sealSSETail192: + // Need to encrypt up to 192 bytes - prepare three blocks, hash 192 or 256 bytes + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0; MOVO D0, ctr0Store + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1; MOVO D1, ctr1Store + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2; MOVO D2, ctr2Store + +sealSSETail192LoopA: + // Perform ChaCha rounds, while hashing the previously encrypted ciphertext + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealSSETail192LoopB: + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Left; shiftC0Left; shiftD0Left + shiftB1Left; shiftC1Left; shiftD1Left + shiftB2Left; shiftC2Left; shiftD2Left + + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Right; shiftC0Right; shiftD0Right + shiftB1Right; shiftC1Right; shiftD1Right + shiftB2Right; shiftC2Right; shiftD2Right + + DECQ itr1 + JG sealSSETail192LoopA + + DECQ itr2 + JGE sealSSETail192LoopB + + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1; PADDL ·chacha20Constants<>(SB), A2 + PADDL state1Store, B0; PADDL state1Store, B1; PADDL state1Store, B2 + PADDL state2Store, C0; PADDL state2Store, C1; PADDL state2Store, C2 + PADDL ctr0Store, D0; PADDL ctr1Store, D1; PADDL ctr2Store, D2 + + MOVOU (0*16)(inp), T0; MOVOU (1*16)(inp), T1; MOVOU (2*16)(inp), T2; MOVOU (3*16)(inp), T3 + PXOR T0, A0; PXOR T1, B0; PXOR T2, C0; PXOR T3, D0 + MOVOU A0, (0*16)(oup); MOVOU B0, (1*16)(oup); MOVOU C0, (2*16)(oup); MOVOU D0, (3*16)(oup) + MOVOU (4*16)(inp), T0; MOVOU (5*16)(inp), T1; MOVOU (6*16)(inp), T2; MOVOU (7*16)(inp), T3 + PXOR T0, A1; PXOR T1, B1; PXOR T2, C1; PXOR T3, D1 + MOVOU A1, (4*16)(oup); MOVOU B1, (5*16)(oup); MOVOU C1, (6*16)(oup); MOVOU D1, (7*16)(oup) + + MOVO A2, A1 + MOVO B2, B1 + MOVO C2, C1 + MOVO D2, D1 + MOVQ $128, itr1 + LEAQ 128(inp), inp + SUBQ $128, inl + + JMP sealSSE128SealHash + +// ---------------------------------------------------------------------------- +// Special seal optimization for buffers smaller than 129 bytes +sealSSE128: + // For up to 128 bytes of ciphertext and 64 bytes for the poly key, we require to process three blocks + MOVOU ·chacha20Constants<>(SB), A0; MOVOU (1*16)(keyp), B0; MOVOU (2*16)(keyp), C0; MOVOU (3*16)(keyp), D0 + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO B0, T1; MOVO C0, T2; MOVO D1, T3 + MOVQ $10, itr2 + +sealSSE128InnerCipherLoop: + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Left; shiftB1Left; shiftB2Left + shiftC0Left; shiftC1Left; shiftC2Left + shiftD0Left; shiftD1Left; shiftD2Left + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Right; shiftB1Right; shiftB2Right + shiftC0Right; shiftC1Right; shiftC2Right + shiftD0Right; shiftD1Right; shiftD2Right + DECQ itr2 + JNE sealSSE128InnerCipherLoop + + // A0|B0 hold the Poly1305 32-byte key, C0,D0 can be discarded + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1; PADDL ·chacha20Constants<>(SB), A2 + PADDL T1, B0; PADDL T1, B1; PADDL T1, B2 + PADDL T2, C1; PADDL T2, C2 + PADDL T3, D1; PADDL ·sseIncMask<>(SB), T3; PADDL T3, D2 + PAND ·polyClampMask<>(SB), A0 + MOVOU A0, rStore + MOVOU B0, sStore + + // Hash + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + XORQ itr1, itr1 + +sealSSE128SealHash: + // itr1 holds the number of bytes encrypted but not yet hashed + CMPQ itr1, $16 + JB sealSSE128Seal + polyAdd(0(oup)) + polyMul + + SUBQ $16, itr1 + ADDQ $16, oup + + JMP sealSSE128SealHash + +sealSSE128Seal: + CMPQ inl, $16 + JB sealSSETail + SUBQ $16, inl + + // Load for decryption + MOVOU (inp), T0 + PXOR T0, A1 + MOVOU A1, (oup) + LEAQ (1*16)(inp), inp + LEAQ (1*16)(oup), oup + + // Extract for hashing + MOVQ A1, t0 + PSRLDQ $8, A1 + MOVQ A1, t1 + ADDQ t0, acc0; ADCQ t1, acc1; ADCQ $1, acc2 + polyMul + + // Shift the stream "left" + MOVO B1, A1 + MOVO C1, B1 + MOVO D1, C1 + MOVO A2, D1 + MOVO B2, A2 + MOVO C2, B2 + MOVO D2, C2 + JMP sealSSE128Seal + +sealSSETail: + TESTQ inl, inl + JE sealSSEFinalize + + // We can only load the PT one byte at a time to avoid read after end of buffer + MOVQ inl, itr2 + SHLQ $4, itr2 + LEAQ ·andMask<>(SB), t0 + MOVQ inl, itr1 + LEAQ -1(inp)(inl*1), inp + XORQ t2, t2 + XORQ t3, t3 + XORQ AX, AX + +sealSSETailLoadLoop: + SHLQ $8, t2, t3 + SHLQ $8, t2 + MOVB (inp), AX + XORQ AX, t2 + LEAQ -1(inp), inp + DECQ itr1 + JNE sealSSETailLoadLoop + MOVQ t2, 0+tmpStore + MOVQ t3, 8+tmpStore + PXOR 0+tmpStore, A1 + MOVOU A1, (oup) + MOVOU -16(t0)(itr2*1), T0 + PAND T0, A1 + MOVQ A1, t0 + PSRLDQ $8, A1 + MOVQ A1, t1 + ADDQ t0, acc0; ADCQ t1, acc1; ADCQ $1, acc2 + polyMul + + ADDQ inl, oup + +sealSSEFinalize: + // Hash in the buffer lengths + ADDQ ad_len+80(FP), acc0 + ADCQ src_len+56(FP), acc1 + ADCQ $1, acc2 + polyMul + + // Final reduce + MOVQ acc0, t0 + MOVQ acc1, t1 + MOVQ acc2, t2 + SUBQ $-5, acc0 + SBBQ $-1, acc1 + SBBQ $3, acc2 + CMOVQCS t0, acc0 + CMOVQCS t1, acc1 + CMOVQCS t2, acc2 + + // Add in the "s" part of the key + ADDQ 0+sStore, acc0 + ADCQ 8+sStore, acc1 + + // Finally store the tag at the end of the message + MOVQ acc0, (0*8)(oup) + MOVQ acc1, (1*8)(oup) + RET + +// ---------------------------------------------------------------------------- +// ------------------------- AVX2 Code ---------------------------------------- +chacha20Poly1305Seal_AVX2: + VZEROUPPER + VMOVDQU ·chacha20Constants<>(SB), AA0 + BYTE $0xc4; BYTE $0x42; BYTE $0x7d; BYTE $0x5a; BYTE $0x70; BYTE $0x10 // broadcasti128 16(r8), ymm14 + BYTE $0xc4; BYTE $0x42; BYTE $0x7d; BYTE $0x5a; BYTE $0x60; BYTE $0x20 // broadcasti128 32(r8), ymm12 + BYTE $0xc4; BYTE $0xc2; BYTE $0x7d; BYTE $0x5a; BYTE $0x60; BYTE $0x30 // broadcasti128 48(r8), ymm4 + VPADDD ·avx2InitMask<>(SB), DD0, DD0 + + // Special optimizations, for very short buffers + CMPQ inl, $192 + JBE seal192AVX2 // 33% faster + CMPQ inl, $320 + JBE seal320AVX2 // 17% faster + + // For the general key prepare the key first - as a byproduct we have 64 bytes of cipher stream + VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3; VMOVDQA BB0, state1StoreAVX2 + VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3; VMOVDQA CC0, state2StoreAVX2 + VPADDD ·avx2IncMask<>(SB), DD0, DD1; VMOVDQA DD0, ctr0StoreAVX2 + VPADDD ·avx2IncMask<>(SB), DD1, DD2; VMOVDQA DD1, ctr1StoreAVX2 + VPADDD ·avx2IncMask<>(SB), DD2, DD3; VMOVDQA DD2, ctr2StoreAVX2 + VMOVDQA DD3, ctr3StoreAVX2 + MOVQ $10, itr2 + +sealAVX2IntroLoop: + VMOVDQA CC3, tmpStoreAVX2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, CC3); chachaQR_AVX2(AA1, BB1, CC1, DD1, CC3); chachaQR_AVX2(AA2, BB2, CC2, DD2, CC3) + VMOVDQA tmpStoreAVX2, CC3 + VMOVDQA CC1, tmpStoreAVX2 + chachaQR_AVX2(AA3, BB3, CC3, DD3, CC1) + VMOVDQA tmpStoreAVX2, CC1 + + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $12, DD0, DD0, DD0 + VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $12, DD1, DD1, DD1 + VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $12, DD2, DD2, DD2 + VPALIGNR $4, BB3, BB3, BB3; VPALIGNR $8, CC3, CC3, CC3; VPALIGNR $12, DD3, DD3, DD3 + + VMOVDQA CC3, tmpStoreAVX2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, CC3); chachaQR_AVX2(AA1, BB1, CC1, DD1, CC3); chachaQR_AVX2(AA2, BB2, CC2, DD2, CC3) + VMOVDQA tmpStoreAVX2, CC3 + VMOVDQA CC1, tmpStoreAVX2 + chachaQR_AVX2(AA3, BB3, CC3, DD3, CC1) + VMOVDQA tmpStoreAVX2, CC1 + + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $4, DD0, DD0, DD0 + VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $4, DD1, DD1, DD1 + VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $4, DD2, DD2, DD2 + VPALIGNR $12, BB3, BB3, BB3; VPALIGNR $8, CC3, CC3, CC3; VPALIGNR $4, DD3, DD3, DD3 + DECQ itr2 + JNE sealAVX2IntroLoop + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2; VPADDD ·chacha20Constants<>(SB), AA3, AA3 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2; VPADDD state1StoreAVX2, BB3, BB3 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2; VPADDD state2StoreAVX2, CC3, CC3 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2; VPADDD ctr3StoreAVX2, DD3, DD3 + + VPERM2I128 $0x13, CC0, DD0, CC0 // Stream bytes 96 - 127 + VPERM2I128 $0x02, AA0, BB0, DD0 // The Poly1305 key + VPERM2I128 $0x13, AA0, BB0, AA0 // Stream bytes 64 - 95 + + // Clamp and store poly key + VPAND ·polyClampMask<>(SB), DD0, DD0 + VMOVDQA DD0, rsStoreAVX2 + + // Hash AD + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + + // Can store at least 320 bytes + VPXOR (0*32)(inp), AA0, AA0 + VPXOR (1*32)(inp), CC0, CC0 + VMOVDQU AA0, (0*32)(oup) + VMOVDQU CC0, (1*32)(oup) + + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + VPXOR (2*32)(inp), AA0, AA0; VPXOR (3*32)(inp), BB0, BB0; VPXOR (4*32)(inp), CC0, CC0; VPXOR (5*32)(inp), DD0, DD0 + VMOVDQU AA0, (2*32)(oup); VMOVDQU BB0, (3*32)(oup); VMOVDQU CC0, (4*32)(oup); VMOVDQU DD0, (5*32)(oup) + VPERM2I128 $0x02, AA2, BB2, AA0; VPERM2I128 $0x02, CC2, DD2, BB0; VPERM2I128 $0x13, AA2, BB2, CC0; VPERM2I128 $0x13, CC2, DD2, DD0 + VPXOR (6*32)(inp), AA0, AA0; VPXOR (7*32)(inp), BB0, BB0; VPXOR (8*32)(inp), CC0, CC0; VPXOR (9*32)(inp), DD0, DD0 + VMOVDQU AA0, (6*32)(oup); VMOVDQU BB0, (7*32)(oup); VMOVDQU CC0, (8*32)(oup); VMOVDQU DD0, (9*32)(oup) + + MOVQ $320, itr1 + SUBQ $320, inl + LEAQ 320(inp), inp + + VPERM2I128 $0x02, AA3, BB3, AA0; VPERM2I128 $0x02, CC3, DD3, BB0; VPERM2I128 $0x13, AA3, BB3, CC0; VPERM2I128 $0x13, CC3, DD3, DD0 + CMPQ inl, $128 + JBE sealAVX2SealHash + + VPXOR (0*32)(inp), AA0, AA0; VPXOR (1*32)(inp), BB0, BB0; VPXOR (2*32)(inp), CC0, CC0; VPXOR (3*32)(inp), DD0, DD0 + VMOVDQU AA0, (10*32)(oup); VMOVDQU BB0, (11*32)(oup); VMOVDQU CC0, (12*32)(oup); VMOVDQU DD0, (13*32)(oup) + SUBQ $128, inl + LEAQ 128(inp), inp + + MOVQ $8, itr1 + MOVQ $2, itr2 + + CMPQ inl, $128 + JBE sealAVX2Tail128 + CMPQ inl, $256 + JBE sealAVX2Tail256 + CMPQ inl, $384 + JBE sealAVX2Tail384 + CMPQ inl, $512 + JBE sealAVX2Tail512 + + // We have 448 bytes to hash, but main loop hashes 512 bytes at a time - perform some rounds, before the main loop + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2; VPADDD ·avx2IncMask<>(SB), DD2, DD3 + VMOVDQA DD0, ctr0StoreAVX2; VMOVDQA DD1, ctr1StoreAVX2; VMOVDQA DD2, ctr2StoreAVX2; VMOVDQA DD3, ctr3StoreAVX2 + + VMOVDQA CC3, tmpStoreAVX2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, CC3); chachaQR_AVX2(AA1, BB1, CC1, DD1, CC3); chachaQR_AVX2(AA2, BB2, CC2, DD2, CC3) + VMOVDQA tmpStoreAVX2, CC3 + VMOVDQA CC1, tmpStoreAVX2 + chachaQR_AVX2(AA3, BB3, CC3, DD3, CC1) + VMOVDQA tmpStoreAVX2, CC1 + + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $12, DD0, DD0, DD0 + VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $12, DD1, DD1, DD1 + VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $12, DD2, DD2, DD2 + VPALIGNR $4, BB3, BB3, BB3; VPALIGNR $8, CC3, CC3, CC3; VPALIGNR $12, DD3, DD3, DD3 + + VMOVDQA CC3, tmpStoreAVX2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, CC3); chachaQR_AVX2(AA1, BB1, CC1, DD1, CC3); chachaQR_AVX2(AA2, BB2, CC2, DD2, CC3) + VMOVDQA tmpStoreAVX2, CC3 + VMOVDQA CC1, tmpStoreAVX2 + chachaQR_AVX2(AA3, BB3, CC3, DD3, CC1) + VMOVDQA tmpStoreAVX2, CC1 + + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $4, DD0, DD0, DD0 + VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $4, DD1, DD1, DD1 + VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $4, DD2, DD2, DD2 + VPALIGNR $12, BB3, BB3, BB3; VPALIGNR $8, CC3, CC3, CC3; VPALIGNR $4, DD3, DD3, DD3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + + SUBQ $16, oup // Adjust the pointer + MOVQ $9, itr1 + JMP sealAVX2InternalLoopStart + +sealAVX2MainLoop: + // Load state, increment counter blocks, store the incremented counters + VMOVDQU ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3 + VMOVDQA ctr3StoreAVX2, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2; VPADDD ·avx2IncMask<>(SB), DD2, DD3 + VMOVDQA DD0, ctr0StoreAVX2; VMOVDQA DD1, ctr1StoreAVX2; VMOVDQA DD2, ctr2StoreAVX2; VMOVDQA DD3, ctr3StoreAVX2 + MOVQ $10, itr1 + +sealAVX2InternalLoop: + polyAdd(0*8(oup)) + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + polyMulStage1_AVX2 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + polyMulStage2_AVX2 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyMulStage3_AVX2 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulReduceStage + +sealAVX2InternalLoopStart: + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + polyAdd(2*8(oup)) + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + polyMulStage1_AVX2 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulStage2_AVX2 + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $4, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2; VPALIGNR $12, DD3, DD3, DD3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + polyMulStage3_AVX2 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + polyMulReduceStage + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyAdd(4*8(oup)) + LEAQ (6*8)(oup), oup + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulStage1_AVX2 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + polyMulStage2_AVX2 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + polyMulStage3_AVX2 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulReduceStage + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $12, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2; VPALIGNR $4, DD3, DD3, DD3 + DECQ itr1 + JNE sealAVX2InternalLoop + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2; VPADDD ·chacha20Constants<>(SB), AA3, AA3 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2; VPADDD state1StoreAVX2, BB3, BB3 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2; VPADDD state2StoreAVX2, CC3, CC3 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2; VPADDD ctr3StoreAVX2, DD3, DD3 + VMOVDQA CC3, tmpStoreAVX2 + + // We only hashed 480 of the 512 bytes available - hash the remaining 32 here + polyAdd(0*8(oup)) + polyMulAVX2 + LEAQ (4*8)(oup), oup + VPERM2I128 $0x02, AA0, BB0, CC3; VPERM2I128 $0x13, AA0, BB0, BB0; VPERM2I128 $0x02, CC0, DD0, AA0; VPERM2I128 $0x13, CC0, DD0, CC0 + VPXOR (0*32)(inp), CC3, CC3; VPXOR (1*32)(inp), AA0, AA0; VPXOR (2*32)(inp), BB0, BB0; VPXOR (3*32)(inp), CC0, CC0 + VMOVDQU CC3, (0*32)(oup); VMOVDQU AA0, (1*32)(oup); VMOVDQU BB0, (2*32)(oup); VMOVDQU CC0, (3*32)(oup) + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + VPXOR (4*32)(inp), AA0, AA0; VPXOR (5*32)(inp), BB0, BB0; VPXOR (6*32)(inp), CC0, CC0; VPXOR (7*32)(inp), DD0, DD0 + VMOVDQU AA0, (4*32)(oup); VMOVDQU BB0, (5*32)(oup); VMOVDQU CC0, (6*32)(oup); VMOVDQU DD0, (7*32)(oup) + + // and here + polyAdd(-2*8(oup)) + polyMulAVX2 + VPERM2I128 $0x02, AA2, BB2, AA0; VPERM2I128 $0x02, CC2, DD2, BB0; VPERM2I128 $0x13, AA2, BB2, CC0; VPERM2I128 $0x13, CC2, DD2, DD0 + VPXOR (8*32)(inp), AA0, AA0; VPXOR (9*32)(inp), BB0, BB0; VPXOR (10*32)(inp), CC0, CC0; VPXOR (11*32)(inp), DD0, DD0 + VMOVDQU AA0, (8*32)(oup); VMOVDQU BB0, (9*32)(oup); VMOVDQU CC0, (10*32)(oup); VMOVDQU DD0, (11*32)(oup) + VPERM2I128 $0x02, AA3, BB3, AA0; VPERM2I128 $0x02, tmpStoreAVX2, DD3, BB0; VPERM2I128 $0x13, AA3, BB3, CC0; VPERM2I128 $0x13, tmpStoreAVX2, DD3, DD0 + VPXOR (12*32)(inp), AA0, AA0; VPXOR (13*32)(inp), BB0, BB0; VPXOR (14*32)(inp), CC0, CC0; VPXOR (15*32)(inp), DD0, DD0 + VMOVDQU AA0, (12*32)(oup); VMOVDQU BB0, (13*32)(oup); VMOVDQU CC0, (14*32)(oup); VMOVDQU DD0, (15*32)(oup) + LEAQ (32*16)(inp), inp + SUBQ $(32*16), inl + CMPQ inl, $512 + JG sealAVX2MainLoop + + // Tail can only hash 480 bytes + polyAdd(0*8(oup)) + polyMulAVX2 + polyAdd(2*8(oup)) + polyMulAVX2 + LEAQ 32(oup), oup + + MOVQ $10, itr1 + MOVQ $0, itr2 + CMPQ inl, $128 + JBE sealAVX2Tail128 + CMPQ inl, $256 + JBE sealAVX2Tail256 + CMPQ inl, $384 + JBE sealAVX2Tail384 + JMP sealAVX2Tail512 + +// ---------------------------------------------------------------------------- +// Special optimization for buffers smaller than 193 bytes +seal192AVX2: + // For up to 192 bytes of ciphertext and 64 bytes for the poly key, we process four blocks + VMOVDQA AA0, AA1 + VMOVDQA BB0, BB1 + VMOVDQA CC0, CC1 + VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA AA0, AA2 + VMOVDQA BB0, BB2 + VMOVDQA CC0, CC2 + VMOVDQA DD0, DD2 + VMOVDQA DD1, TT3 + MOVQ $10, itr2 + +sealAVX2192InnerCipherLoop: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1 + DECQ itr2 + JNE sealAVX2192InnerCipherLoop + VPADDD AA2, AA0, AA0; VPADDD AA2, AA1, AA1 + VPADDD BB2, BB0, BB0; VPADDD BB2, BB1, BB1 + VPADDD CC2, CC0, CC0; VPADDD CC2, CC1, CC1 + VPADDD DD2, DD0, DD0; VPADDD TT3, DD1, DD1 + VPERM2I128 $0x02, AA0, BB0, TT0 + + // Clamp and store poly key + VPAND ·polyClampMask<>(SB), TT0, TT0 + VMOVDQA TT0, rsStoreAVX2 + + // Stream for up to 192 bytes + VPERM2I128 $0x13, AA0, BB0, AA0 + VPERM2I128 $0x13, CC0, DD0, BB0 + VPERM2I128 $0x02, AA1, BB1, CC0 + VPERM2I128 $0x02, CC1, DD1, DD0 + VPERM2I128 $0x13, AA1, BB1, AA1 + VPERM2I128 $0x13, CC1, DD1, BB1 + +sealAVX2ShortSeal: + // Hash aad + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + XORQ itr1, itr1 + +sealAVX2SealHash: + // itr1 holds the number of bytes encrypted but not yet hashed + CMPQ itr1, $16 + JB sealAVX2ShortSealLoop + polyAdd(0(oup)) + polyMul + SUBQ $16, itr1 + ADDQ $16, oup + JMP sealAVX2SealHash + +sealAVX2ShortSealLoop: + CMPQ inl, $32 + JB sealAVX2ShortTail32 + SUBQ $32, inl + + // Load for encryption + VPXOR (inp), AA0, AA0 + VMOVDQU AA0, (oup) + LEAQ (1*32)(inp), inp + + // Now can hash + polyAdd(0*8(oup)) + polyMulAVX2 + polyAdd(2*8(oup)) + polyMulAVX2 + LEAQ (1*32)(oup), oup + + // Shift stream left + VMOVDQA BB0, AA0 + VMOVDQA CC0, BB0 + VMOVDQA DD0, CC0 + VMOVDQA AA1, DD0 + VMOVDQA BB1, AA1 + VMOVDQA CC1, BB1 + VMOVDQA DD1, CC1 + VMOVDQA AA2, DD1 + VMOVDQA BB2, AA2 + JMP sealAVX2ShortSealLoop + +sealAVX2ShortTail32: + CMPQ inl, $16 + VMOVDQA A0, A1 + JB sealAVX2ShortDone + + SUBQ $16, inl + + // Load for encryption + VPXOR (inp), A0, T0 + VMOVDQU T0, (oup) + LEAQ (1*16)(inp), inp + + // Hash + polyAdd(0*8(oup)) + polyMulAVX2 + LEAQ (1*16)(oup), oup + VPERM2I128 $0x11, AA0, AA0, AA0 + VMOVDQA A0, A1 + +sealAVX2ShortDone: + VZEROUPPER + JMP sealSSETail + +// ---------------------------------------------------------------------------- +// Special optimization for buffers smaller than 321 bytes +seal320AVX2: + // For up to 320 bytes of ciphertext and 64 bytes for the poly key, we process six blocks + VMOVDQA AA0, AA1; VMOVDQA BB0, BB1; VMOVDQA CC0, CC1; VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA AA0, AA2; VMOVDQA BB0, BB2; VMOVDQA CC0, CC2; VPADDD ·avx2IncMask<>(SB), DD1, DD2 + VMOVDQA BB0, TT1; VMOVDQA CC0, TT2; VMOVDQA DD0, TT3 + MOVQ $10, itr2 + +sealAVX2320InnerCipherLoop: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2 + DECQ itr2 + JNE sealAVX2320InnerCipherLoop + + VMOVDQA ·chacha20Constants<>(SB), TT0 + VPADDD TT0, AA0, AA0; VPADDD TT0, AA1, AA1; VPADDD TT0, AA2, AA2 + VPADDD TT1, BB0, BB0; VPADDD TT1, BB1, BB1; VPADDD TT1, BB2, BB2 + VPADDD TT2, CC0, CC0; VPADDD TT2, CC1, CC1; VPADDD TT2, CC2, CC2 + VMOVDQA ·avx2IncMask<>(SB), TT0 + VPADDD TT3, DD0, DD0; VPADDD TT0, TT3, TT3 + VPADDD TT3, DD1, DD1; VPADDD TT0, TT3, TT3 + VPADDD TT3, DD2, DD2 + + // Clamp and store poly key + VPERM2I128 $0x02, AA0, BB0, TT0 + VPAND ·polyClampMask<>(SB), TT0, TT0 + VMOVDQA TT0, rsStoreAVX2 + + // Stream for up to 320 bytes + VPERM2I128 $0x13, AA0, BB0, AA0 + VPERM2I128 $0x13, CC0, DD0, BB0 + VPERM2I128 $0x02, AA1, BB1, CC0 + VPERM2I128 $0x02, CC1, DD1, DD0 + VPERM2I128 $0x13, AA1, BB1, AA1 + VPERM2I128 $0x13, CC1, DD1, BB1 + VPERM2I128 $0x02, AA2, BB2, CC1 + VPERM2I128 $0x02, CC2, DD2, DD1 + VPERM2I128 $0x13, AA2, BB2, AA2 + VPERM2I128 $0x13, CC2, DD2, BB2 + JMP sealAVX2ShortSeal + +// ---------------------------------------------------------------------------- +// Special optimization for the last 128 bytes of ciphertext +sealAVX2Tail128: + // Need to decrypt up to 128 bytes - prepare two blocks + // If we got here after the main loop - there are 512 encrypted bytes waiting to be hashed + // If we got here before the main loop - there are 448 encrpyred bytes waiting to be hashed + VMOVDQA ·chacha20Constants<>(SB), AA0 + VMOVDQA state1StoreAVX2, BB0 + VMOVDQA state2StoreAVX2, CC0 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0 + VMOVDQA DD0, DD1 + +sealAVX2Tail128LoopA: + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealAVX2Tail128LoopB: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0) + polyAdd(0(oup)) + polyMul + VPALIGNR $4, BB0, BB0, BB0 + VPALIGNR $8, CC0, CC0, CC0 + VPALIGNR $12, DD0, DD0, DD0 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0) + polyAdd(16(oup)) + polyMul + LEAQ 32(oup), oup + VPALIGNR $12, BB0, BB0, BB0 + VPALIGNR $8, CC0, CC0, CC0 + VPALIGNR $4, DD0, DD0, DD0 + DECQ itr1 + JG sealAVX2Tail128LoopA + DECQ itr2 + JGE sealAVX2Tail128LoopB + + VPADDD ·chacha20Constants<>(SB), AA0, AA1 + VPADDD state1StoreAVX2, BB0, BB1 + VPADDD state2StoreAVX2, CC0, CC1 + VPADDD DD1, DD0, DD1 + + VPERM2I128 $0x02, AA1, BB1, AA0 + VPERM2I128 $0x02, CC1, DD1, BB0 + VPERM2I128 $0x13, AA1, BB1, CC0 + VPERM2I128 $0x13, CC1, DD1, DD0 + JMP sealAVX2ShortSealLoop + +// ---------------------------------------------------------------------------- +// Special optimization for the last 256 bytes of ciphertext +sealAVX2Tail256: + // Need to decrypt up to 256 bytes - prepare two blocks + // If we got here after the main loop - there are 512 encrypted bytes waiting to be hashed + // If we got here before the main loop - there are 448 encrpyred bytes waiting to be hashed + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA ·chacha20Constants<>(SB), AA1 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA state1StoreAVX2, BB1 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA state2StoreAVX2, CC1 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA DD0, TT1 + VMOVDQA DD1, TT2 + +sealAVX2Tail256LoopA: + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealAVX2Tail256LoopB: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + polyAdd(0(oup)) + polyMul + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + polyAdd(16(oup)) + polyMul + LEAQ 32(oup), oup + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1 + DECQ itr1 + JG sealAVX2Tail256LoopA + DECQ itr2 + JGE sealAVX2Tail256LoopB + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1 + VPADDD TT1, DD0, DD0; VPADDD TT2, DD1, DD1 + VPERM2I128 $0x02, AA0, BB0, TT0 + VPERM2I128 $0x02, CC0, DD0, TT1 + VPERM2I128 $0x13, AA0, BB0, TT2 + VPERM2I128 $0x13, CC0, DD0, TT3 + VPXOR (0*32)(inp), TT0, TT0; VPXOR (1*32)(inp), TT1, TT1; VPXOR (2*32)(inp), TT2, TT2; VPXOR (3*32)(inp), TT3, TT3 + VMOVDQU TT0, (0*32)(oup); VMOVDQU TT1, (1*32)(oup); VMOVDQU TT2, (2*32)(oup); VMOVDQU TT3, (3*32)(oup) + MOVQ $128, itr1 + LEAQ 128(inp), inp + SUBQ $128, inl + VPERM2I128 $0x02, AA1, BB1, AA0 + VPERM2I128 $0x02, CC1, DD1, BB0 + VPERM2I128 $0x13, AA1, BB1, CC0 + VPERM2I128 $0x13, CC1, DD1, DD0 + + JMP sealAVX2SealHash + +// ---------------------------------------------------------------------------- +// Special optimization for the last 384 bytes of ciphertext +sealAVX2Tail384: + // Need to decrypt up to 384 bytes - prepare two blocks + // If we got here after the main loop - there are 512 encrypted bytes waiting to be hashed + // If we got here before the main loop - there are 448 encrpyred bytes waiting to be hashed + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2 + VMOVDQA DD0, TT1; VMOVDQA DD1, TT2; VMOVDQA DD2, TT3 + +sealAVX2Tail384LoopA: + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealAVX2Tail384LoopB: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + polyAdd(0(oup)) + polyMul + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + polyAdd(16(oup)) + polyMul + LEAQ 32(oup), oup + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2 + DECQ itr1 + JG sealAVX2Tail384LoopA + DECQ itr2 + JGE sealAVX2Tail384LoopB + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2 + VPADDD TT1, DD0, DD0; VPADDD TT2, DD1, DD1; VPADDD TT3, DD2, DD2 + VPERM2I128 $0x02, AA0, BB0, TT0 + VPERM2I128 $0x02, CC0, DD0, TT1 + VPERM2I128 $0x13, AA0, BB0, TT2 + VPERM2I128 $0x13, CC0, DD0, TT3 + VPXOR (0*32)(inp), TT0, TT0; VPXOR (1*32)(inp), TT1, TT1; VPXOR (2*32)(inp), TT2, TT2; VPXOR (3*32)(inp), TT3, TT3 + VMOVDQU TT0, (0*32)(oup); VMOVDQU TT1, (1*32)(oup); VMOVDQU TT2, (2*32)(oup); VMOVDQU TT3, (3*32)(oup) + VPERM2I128 $0x02, AA1, BB1, TT0 + VPERM2I128 $0x02, CC1, DD1, TT1 + VPERM2I128 $0x13, AA1, BB1, TT2 + VPERM2I128 $0x13, CC1, DD1, TT3 + VPXOR (4*32)(inp), TT0, TT0; VPXOR (5*32)(inp), TT1, TT1; VPXOR (6*32)(inp), TT2, TT2; VPXOR (7*32)(inp), TT3, TT3 + VMOVDQU TT0, (4*32)(oup); VMOVDQU TT1, (5*32)(oup); VMOVDQU TT2, (6*32)(oup); VMOVDQU TT3, (7*32)(oup) + MOVQ $256, itr1 + LEAQ 256(inp), inp + SUBQ $256, inl + VPERM2I128 $0x02, AA2, BB2, AA0 + VPERM2I128 $0x02, CC2, DD2, BB0 + VPERM2I128 $0x13, AA2, BB2, CC0 + VPERM2I128 $0x13, CC2, DD2, DD0 + + JMP sealAVX2SealHash + +// ---------------------------------------------------------------------------- +// Special optimization for the last 512 bytes of ciphertext +sealAVX2Tail512: + // Need to decrypt up to 512 bytes - prepare two blocks + // If we got here after the main loop - there are 512 encrypted bytes waiting to be hashed + // If we got here before the main loop - there are 448 encrpyred bytes waiting to be hashed + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2; VPADDD ·avx2IncMask<>(SB), DD2, DD3 + VMOVDQA DD0, ctr0StoreAVX2; VMOVDQA DD1, ctr1StoreAVX2; VMOVDQA DD2, ctr2StoreAVX2; VMOVDQA DD3, ctr3StoreAVX2 + +sealAVX2Tail512LoopA: + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealAVX2Tail512LoopB: + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyAdd(0*8(oup)) + polyMulAVX2 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $4, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2; VPALIGNR $12, DD3, DD3, DD3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyAdd(2*8(oup)) + polyMulAVX2 + LEAQ (4*8)(oup), oup + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $12, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2; VPALIGNR $4, DD3, DD3, DD3 + + DECQ itr1 + JG sealAVX2Tail512LoopA + DECQ itr2 + JGE sealAVX2Tail512LoopB + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2; VPADDD ·chacha20Constants<>(SB), AA3, AA3 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2; VPADDD state1StoreAVX2, BB3, BB3 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2; VPADDD state2StoreAVX2, CC3, CC3 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2; VPADDD ctr3StoreAVX2, DD3, DD3 + VMOVDQA CC3, tmpStoreAVX2 + VPERM2I128 $0x02, AA0, BB0, CC3 + VPXOR (0*32)(inp), CC3, CC3 + VMOVDQU CC3, (0*32)(oup) + VPERM2I128 $0x02, CC0, DD0, CC3 + VPXOR (1*32)(inp), CC3, CC3 + VMOVDQU CC3, (1*32)(oup) + VPERM2I128 $0x13, AA0, BB0, CC3 + VPXOR (2*32)(inp), CC3, CC3 + VMOVDQU CC3, (2*32)(oup) + VPERM2I128 $0x13, CC0, DD0, CC3 + VPXOR (3*32)(inp), CC3, CC3 + VMOVDQU CC3, (3*32)(oup) + + VPERM2I128 $0x02, AA1, BB1, AA0 + VPERM2I128 $0x02, CC1, DD1, BB0 + VPERM2I128 $0x13, AA1, BB1, CC0 + VPERM2I128 $0x13, CC1, DD1, DD0 + VPXOR (4*32)(inp), AA0, AA0; VPXOR (5*32)(inp), BB0, BB0; VPXOR (6*32)(inp), CC0, CC0; VPXOR (7*32)(inp), DD0, DD0 + VMOVDQU AA0, (4*32)(oup); VMOVDQU BB0, (5*32)(oup); VMOVDQU CC0, (6*32)(oup); VMOVDQU DD0, (7*32)(oup) + + VPERM2I128 $0x02, AA2, BB2, AA0 + VPERM2I128 $0x02, CC2, DD2, BB0 + VPERM2I128 $0x13, AA2, BB2, CC0 + VPERM2I128 $0x13, CC2, DD2, DD0 + VPXOR (8*32)(inp), AA0, AA0; VPXOR (9*32)(inp), BB0, BB0; VPXOR (10*32)(inp), CC0, CC0; VPXOR (11*32)(inp), DD0, DD0 + VMOVDQU AA0, (8*32)(oup); VMOVDQU BB0, (9*32)(oup); VMOVDQU CC0, (10*32)(oup); VMOVDQU DD0, (11*32)(oup) + + MOVQ $384, itr1 + LEAQ 384(inp), inp + SUBQ $384, inl + VPERM2I128 $0x02, AA3, BB3, AA0 + VPERM2I128 $0x02, tmpStoreAVX2, DD3, BB0 + VPERM2I128 $0x13, AA3, BB3, CC0 + VPERM2I128 $0x13, tmpStoreAVX2, DD3, DD0 + + JMP sealAVX2SealHash + +// func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) +TEXT ·cpuid(SB), NOSPLIT, $0-24 + MOVL eaxArg+0(FP), AX + MOVL ecxArg+4(FP), CX + CPUID + MOVL AX, eax+8(FP) + MOVL BX, ebx+12(FP) + MOVL CX, ecx+16(FP) + MOVL DX, edx+20(FP) + RET + +// func xgetbv() (eax, edx uint32) +TEXT ·xgetbv(SB),NOSPLIT,$0-8 + MOVL $0, CX + XGETBV + MOVL AX, eax+0(FP) + MOVL DX, edx+4(FP) + RET diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_generic.go b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_generic.go new file mode 100755 index 0000000..6b6d99b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_generic.go @@ -0,0 +1,70 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package chacha20poly1305 + +import ( + "encoding/binary" + + "github.com/skycoin/skycoin/src/cipher/chacha20poly1305/internal/chacha20" + "github.com/skycoin/skycoin/src/cipher/poly1305" +) + +func roundTo16(n int) int { + return 16 * ((n + 15) / 16) +} + +func (c *chacha20poly1305) sealGeneric(dst, nonce, plaintext, additionalData []byte) []byte { + var counter [16]byte + copy(counter[4:], nonce) + + var polyKey [32]byte + chacha20.XORKeyStream(polyKey[:], polyKey[:], &counter, &c.key) + + ret, out := sliceForAppend(dst, len(plaintext)+poly1305.TagSize) + counter[0] = 1 + chacha20.XORKeyStream(out, plaintext, &counter, &c.key) + + polyInput := make([]byte, roundTo16(len(additionalData))+roundTo16(len(plaintext))+8+8) + copy(polyInput, additionalData) + copy(polyInput[roundTo16(len(additionalData)):], out[:len(plaintext)]) + binary.LittleEndian.PutUint64(polyInput[len(polyInput)-16:], uint64(len(additionalData))) + binary.LittleEndian.PutUint64(polyInput[len(polyInput)-8:], uint64(len(plaintext))) + + var tag [poly1305.TagSize]byte + poly1305.Sum(&tag, polyInput, &polyKey) + copy(out[len(plaintext):], tag[:]) + + return ret +} + +func (c *chacha20poly1305) openGeneric(dst, nonce, ciphertext, additionalData []byte) ([]byte, error) { + var tag [poly1305.TagSize]byte + copy(tag[:], ciphertext[len(ciphertext)-16:]) + ciphertext = ciphertext[:len(ciphertext)-16] + + var counter [16]byte + copy(counter[4:], nonce) + + var polyKey [32]byte + chacha20.XORKeyStream(polyKey[:], polyKey[:], &counter, &c.key) + + polyInput := make([]byte, roundTo16(len(additionalData))+roundTo16(len(ciphertext))+8+8) + copy(polyInput, additionalData) + copy(polyInput[roundTo16(len(additionalData)):], ciphertext) + binary.LittleEndian.PutUint64(polyInput[len(polyInput)-16:], uint64(len(additionalData))) + binary.LittleEndian.PutUint64(polyInput[len(polyInput)-8:], uint64(len(ciphertext))) + + ret, out := sliceForAppend(dst, len(ciphertext)) + if !poly1305.Verify(&tag, polyInput, &polyKey) { + for i := range out { + out[i] = 0 + } + return nil, errOpen + } + + counter[0] = 1 + chacha20.XORKeyStream(out, ciphertext, &counter, &c.key) + return ret, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_noasm.go b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_noasm.go new file mode 100755 index 0000000..4c2eb70 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_noasm.go @@ -0,0 +1,15 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !amd64 !go1.7 gccgo appengine + +package chacha20poly1305 + +func (c *chacha20poly1305) seal(dst, nonce, plaintext, additionalData []byte) []byte { + return c.sealGeneric(dst, nonce, plaintext, additionalData) +} + +func (c *chacha20poly1305) open(dst, nonce, ciphertext, additionalData []byte) ([]byte, error) { + return c.openGeneric(dst, nonce, ciphertext, additionalData) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_test.go new file mode 100755 index 0000000..78f981a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_test.go @@ -0,0 +1,182 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package chacha20poly1305 + +import ( + "bytes" + cr "crypto/rand" + "encoding/hex" + mr "math/rand" + "testing" +) + +func TestVectors(t *testing.T) { + for i, test := range chacha20Poly1305Tests { + key, _ := hex.DecodeString(test.key) + nonce, _ := hex.DecodeString(test.nonce) + ad, _ := hex.DecodeString(test.aad) + plaintext, _ := hex.DecodeString(test.plaintext) + + aead, err := New(key) + if err != nil { + t.Fatal(err) + } + + ct := aead.Seal(nil, nonce, plaintext, ad) + if ctHex := hex.EncodeToString(ct); ctHex != test.out { + t.Errorf("#%d: got %s, want %s", i, ctHex, test.out) + continue + } + + plaintext2, err := aead.Open(nil, nonce, ct, ad) + if err != nil { + t.Errorf("#%d: Open failed", i) + continue + } + + if !bytes.Equal(plaintext, plaintext2) { + t.Errorf("#%d: plaintext's don't match: got %x vs %x", i, plaintext2, plaintext) + continue + } + + if len(ad) > 0 { + alterAdIdx := mr.Intn(len(ad)) + ad[alterAdIdx] ^= 0x80 + if _, err := aead.Open(nil, nonce, ct, ad); err == nil { + t.Errorf("#%d: Open was successful after altering additional data", i) + } + ad[alterAdIdx] ^= 0x80 + } + + alterNonceIdx := mr.Intn(aead.NonceSize()) + nonce[alterNonceIdx] ^= 0x80 + if _, err := aead.Open(nil, nonce, ct, ad); err == nil { + t.Errorf("#%d: Open was successful after altering nonce", i) + } + nonce[alterNonceIdx] ^= 0x80 + + alterCtIdx := mr.Intn(len(ct)) + ct[alterCtIdx] ^= 0x80 + if _, err := aead.Open(nil, nonce, ct, ad); err == nil { + t.Errorf("#%d: Open was successful after altering ciphertext", i) + } + ct[alterCtIdx] ^= 0x80 + } +} + +func TestRandom(t *testing.T) { + // Some random tests to verify Open(Seal) == Plaintext + for i := 0; i < 256; i++ { + var nonce [12]byte + var key [32]byte + + al := mr.Intn(128) + pl := mr.Intn(16384) + ad := make([]byte, al) + plaintext := make([]byte, pl) + cr.Read(key[:]) + cr.Read(nonce[:]) + cr.Read(ad) + cr.Read(plaintext) + + aead, err := New(key[:]) + if err != nil { + t.Fatal(err) + } + + ct := aead.Seal(nil, nonce[:], plaintext, ad) + + plaintext2, err := aead.Open(nil, nonce[:], ct, ad) + if err != nil { + t.Errorf("Random #%d: Open failed", i) + continue + } + + if !bytes.Equal(plaintext, plaintext2) { + t.Errorf("Random #%d: plaintext's don't match: got %x vs %x", i, plaintext2, plaintext) + continue + } + + if len(ad) > 0 { + alterAdIdx := mr.Intn(len(ad)) + ad[alterAdIdx] ^= 0x80 + if _, err := aead.Open(nil, nonce[:], ct, ad); err == nil { + t.Errorf("Random #%d: Open was successful after altering additional data", i) + } + ad[alterAdIdx] ^= 0x80 + } + + alterNonceIdx := mr.Intn(aead.NonceSize()) + nonce[alterNonceIdx] ^= 0x80 + if _, err := aead.Open(nil, nonce[:], ct, ad); err == nil { + t.Errorf("Random #%d: Open was successful after altering nonce", i) + } + nonce[alterNonceIdx] ^= 0x80 + + alterCtIdx := mr.Intn(len(ct)) + ct[alterCtIdx] ^= 0x80 + if _, err := aead.Open(nil, nonce[:], ct, ad); err == nil { + t.Errorf("Random #%d: Open was successful after altering ciphertext", i) + } + ct[alterCtIdx] ^= 0x80 + } +} + +func benchamarkChaCha20Poly1305Seal(b *testing.B, buf []byte) { + b.SetBytes(int64(len(buf))) + + var key [32]byte + var nonce [12]byte + var ad [13]byte + var out []byte + + aead, _ := New(key[:]) + b.ResetTimer() + for i := 0; i < b.N; i++ { + out = aead.Seal(out[:0], nonce[:], buf[:], ad[:]) + } +} + +func benchamarkChaCha20Poly1305Open(b *testing.B, buf []byte) { + b.SetBytes(int64(len(buf))) + + var key [32]byte + var nonce [12]byte + var ad [13]byte + var ct []byte + var out []byte + + aead, _ := New(key[:]) + ct = aead.Seal(ct[:0], nonce[:], buf[:], ad[:]) + + b.ResetTimer() + for i := 0; i < b.N; i++ { + out, _ = aead.Open(out[:0], nonce[:], ct[:], ad[:]) + } +} + +func BenchmarkChacha20Poly1305Open_64(b *testing.B) { + benchamarkChaCha20Poly1305Open(b, make([]byte, 64)) +} + +func BenchmarkChacha20Poly1305Seal_64(b *testing.B) { + benchamarkChaCha20Poly1305Seal(b, make([]byte, 64)) +} + +func BenchmarkChacha20Poly1305Open_1350(b *testing.B) { + benchamarkChaCha20Poly1305Open(b, make([]byte, 1350)) +} + +func BenchmarkChacha20Poly1305Seal_1350(b *testing.B) { + benchamarkChaCha20Poly1305Seal(b, make([]byte, 1350)) +} + +func BenchmarkChacha20Poly1305Open_8K(b *testing.B) { + benchamarkChaCha20Poly1305Open(b, make([]byte, 8*1024)) +} + +func BenchmarkChacha20Poly1305Seal_8K(b *testing.B) { + benchamarkChaCha20Poly1305Seal(b, make([]byte, 8*1024)) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_vectors_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_vectors_test.go new file mode 100755 index 0000000..49f0da6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_vectors_test.go @@ -0,0 +1,332 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package chacha20poly1305 + +var chacha20Poly1305Tests = []struct { + plaintext, aad, key, nonce, out string +}{ + { + "4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73637265656e20776f756c642062652069742e", + "50515253c0c1c2c3c4c5c6c7", + "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "070000004041424344454647", + "d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b61161ae10b594f09e26a7e902ecbd0600691", + }, + { + "1400000cebccee3bf561b292340fec60", + "00000000000000001603030010", + "a5117e70953568bf750862df9e6f92af81677c3a188e847917a4a915bda7792e", + "129039b5572e8a7a8131f76a", + "2b487a2941bc07f3cc76d1a531662588ee7c2598e59778c24d5b27559a80d163", + }, + { + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "00000000000000000000000000", + "a5117e70953568bf750862df9e6f92af81677c3a188e847917a4a915bda7792e", + "129039b5572e8a7a8131f76a", + "3f487a25aa70e9c8391763370569c9e83b7650dd1921c8b78869f241f25d2096c910b180930c5b8747fd90959fe8ca2dcadb4fa50fa1439f916b2301e1cc0810d6725775d3ab86721700f96e22709b0a7a8bef32627dd929b2dd3ba15772b669062bb558bc92e6c241a1d60d9f0035e80c335f854815fe1138ab8af653eab3e122135feeec7dfaba1cc24af82a2b7acccdd824899a7e03cc29c25be8a4f56a66673845b93bae1556f09dafc89a0d22af207718e2a6bb022e9d917597295992ea3b750cc0e7a7c3d33b23c5a8aeab45f5bb542f6c9e6c1747ae5a344aff483ba38577ad534b33b3abc7d284776ea33ed488c2a2475648a4fcda561745ea7787ed60f2368deb27c75adce6ff9b6cc6de1f5e72a741e2d59f64751b3ae482d714e0c90e83c671ff98ed611823afb39e6e5019a6ba548a2a72e829c7b7b4a101ac9deb90a25d3e0c50d22e1fc26c7c02296fa13c6d9c14767f68aaf46450a8d0fd5feb60d9d73c6e68623425b4984a79d619dd6bf896459aa77a681ec9c1a97f645e121f47779b051f8948a817f84d1f55da170d5bbbaf2f64e18b97ed3fd822db2819f523314f1e5ac72e8f69bbe6c87c22daddb0e1ac6790f8534071de2f258064b99789bfb165b065b8fe96f9127cd7dca9f7cb0368420f1e802faa3ca23792f2a5b93773dd405e71c320b211b54f7a26626b03c060e1ab87f32ac588abfa056ce090bd7c69913a700c80f325bfe824fa", + }, + { + "0967de57eefe1aaa999b9b746d88a1a248000d8734e0e938c6aa87", + "e4f0a3a4f90a8250f8806aa319053e8d73c62f150e2f239563037e9cc92823ad18c65111d0d462c954cc6c6ed2aafb45702a5a7e597d13bd8091594ab97cf7d1", + "f2db28620582e05f00f31c808475ca3df1c20e340bf14828352499466d79295f", + "4349e2131d44dc711148dfe3", + "bd06cc144fdc0d8b735fa4452eabbf78fd4ad2966ea41a84f68da40ca2da439777bc2ba6c4ec2de0d003eb", + }, + { + "c4c920fb52a56fe66eaa8aa3fa187c543e3db8e5c8094c4313dc4ed35dfc5821c5791d171e8cfe8d37883031a0ad", + "85deea3dc4", + "05ff881d1e151bab4ca3db7d44880222733fe62686f71ce1e4610f2ea19599a7", + "b34710f65aed442e4a40866b", + "b154452fb7e85d175dd0b0db08591565c5587a725cf22386922f5d27a01015aba778975510b38754b2182e24352f019b7ad493e1ed255906715644aec6e0", + }, + { + "c4b337df5e83823900c6c202e93541cf5bc8c677a9aad8b8d87a4d7221e294e595cbc4f34e462d4e0def50f62491c57f598cf60236cfba0f4908816aea154f80e013732e59a07c668fcc5cb35d2232b7ae29b9e4f874f3417c74ab6689fae6690d5a9766fa13cd8adf293d3d4b70f4f999adde9121d1d29d467d04cf77ea398444d0ea3fe4b7c9c3e106002c76f4260fa204a0c3d5", + "72611bef65eb664f24ea94f4d5d3d88c9c9c6da29c9a1991c02833c4c9f6993b57b5", + "dd0f2d4bb1c9e5ca5aa5f38d69bc8402f7dbb7229857b4a41b3044d481b7655e", + "2bbca0910cc47ca0b8517391", + "83aa28d6d98901e2981d21d3758ae4db8cce07fe08d82ca6f036a68daa88a7dda56eeb38040c942bdda0fd2d369eec44bd070e2c9314992f68dc16989a6ac0c3912c378cf3254f4bae74a66b075e828df6f855c0d8a827ffed3c03582c12a9112eeb7be43dfe8bd78beb2d1e56678b99a0372531727cb7f2b98d2f917ec10de93fe86267100c20356e80528c5066688c8b7acba76e591449952343f663993d5b642e59eb0f", + }, + { + "a9775b8e42b63335439cf1c79fe8a3560b3baebfdfc9ef239d70da02cea0947817f00659a63a8ee9d67fb1756854cc738f7a326e432191e1916be35f0b78d72268de7c0e180af7ee8aa864f2fc30658baa97f9edb88ace49f5b2a8002a8023925e9fa076a997643340c8253cf88ac8a221c190d94c5e224110cb423a4b65cca9046c1fad0483e1444c0680449148e7b20a778c56d5ae97e679d920c43eed6d42598cf05d10d1a15cd722a0686a871b74fea7cad45562bacf3bda937ac701bc218dac7e9d7d20f955429abdac21d821207febf4d54daea4898837035038bf71c66cef63e90f5d3e51f7fcfe18d41f38540a2c2958dacde16304e4b33da324030f1366f923c337", + "74ba3372d308910b5c9c3885f41252d57556", + "9cf77bd06a4ed8fb59349791b98ba40b6019611942f5768e8be2ee88477149e3", + "b928935c4c966c60fd6583c0", + "ec7fd64fd75b254961a2b7fc942470d8620f439258b871d0d00f58028b5e0bee5e139e8108ac439391465d6658f559b1df57aa21cf826ede1a28bc11af885e13eebfc009870928fae8abfdd943a60c54fca93f0502dc23d29c2fd5340f9bc0e6ef2a18b66ef627af95f796d5bbca50de22c8ec802da9397089b25c6ba5262468e3977b45dc112e51896c70731b0a52d7efec7c93b41995823436bf4b0c477ae79684407c9831b487928b2b8303caca752b3edf1f0598e15831155462706f94ef3fa3a9e5f937f37085afa9b4bbf939d275796a61b78f70597acfd25cd87f967021cd99328fc371b5eb5739869520657b30e4a5b0db7c8715cbe275dee78e719b357d3a9731f9eaba95986479bb2004a77822fc115a3d", + }, + { + "b3d3128bce6bbf66fd78f1a18352bae56bfcdae18b65c379ee0aeb37ee54fba1270d2df578ec5b75654d16e89fd1cd0acda7ec580dafd2fbbabd32a8112d49383a762db2638928c8d63eb0750f7e7fdd256b35321b072dd5c45f7dd58cc60dc63d3b79a0c4a1689adf180fef968eccbcfa01ee15091ceacd7b67a3082db0ce6aeb470aafe87249c88b58b721e783dde184ccf68de8e05b6347fe6b74ae3adf9a81e9496a5c9332e7ebe908d26ce6b3f0b2a97e9a89d9fdd0d7694585a3241f240d698e69fcc050e7a959ba153f6d06f117848ba05d887134f1b6b994dad9b9e74247513e08a125b1fadfc7394dcd2a6451b504ae3e75e22f2b9bc405747dedb6c43ef4ccdf1a7edaf9451346123eaa63f3af113124f361508e255503a242b96680ae3360c8b13ac1f64d08088bb26b7f617cb0866f11d6fd362b00d86eba3fee68724e302388f119d6f92161ac8ce00d08919377a26974d99575b1032ff0f1976240c785c8b89e9eb2bf005e4be06b5371ffca14683fedfdb49e00e38ff27af1324177faf91599abd5990920797574eb743effdc7decda318ada1419cc8e0bfecf82f9c99792746c2b", + "7e8da4f3018f673f8e43bd7a1dee05f8031ec49129c361abbc2a434e9eaf791c3c1d0f3dad767d3bba3ab6d728bbcf2bd994bd03571eae1348f161e6a1da03ddf7121ba4", + "7ee32dd501dce849cd492f6e23324c1a4567bfceff9f11d1352bcb8615f1b093", + "8998e043d2961afa51ea262a", + "ba85e72af18cb5ba85a4a0d6c28b4ac1e5509a3a2fdb0e3255cbc559df5e6a661fc560c756a0264dd99b72c61c51a4b7ad56ca4c8ccb7e8edfc48ff3cceac5d1e8ac5fc87096adc4d0e9a27492857b17604c3a694cfe0e70b22df106c8f3c61f840bcd634964cdb571840e125e381e7dd3a0d97972e965f16f775fa4ce555124318290bf508beb7bd77e633042deb0e863631478fc3dc9122862b3c31264471bcce54e0b74040c8bafd481cf798f332e8940f1134d3027d6f28e771d15e154fc89c6c25fe18a5d312807cc2e623bb1bbb4f0b6ec71d009407eb54bb0759f03682f65d0da8812f84d8e97483f6a8d76a8417efcd9526444abba24288647609791578887ef49780b0b89f51b072cae81c5b5014463da3633dda105b82add0f9c2f065dca46eedd2928be2570493c79a996fa78ea6aec0996497fe2dc444432ade4eaa662ee2255f0f4b92d593288a8e3ffe7a15a10e9d33b0203af23f4c9fd2cfcb6160db63b52810869ff1e65423dbe2c4415884b9f8dec3c968e14cd74f323c89053a96111bc9ce59ec483832c49c53a648e5f0f797f53642ac60170c94b473f1f2e7d8a38e46460b81219b52081263027f74cbf63a75af3a7", + }, + { + "68d5ba501e87994ef6bc8042d7c5a99693a835a4796ad044f0e536a0790a7ee1e03832fec0cb4cb688cdf85f92a1f526492acac2949a0684803c24f947a3da27db0c259bd87251603f49bfd1eab4f733dec2f5725cfcf6dc381ad57fbdb0a699bccc34943e86f47dcfb34eba6746ed4508e3b764dfad4117c8169785c63d1e8309531747d90cc4a8bf13622759506c613324c512d10629991dc01fe3fe3d6607907e4f698a1312492674707fc4dde0f701a609d2ac336cc9f38badf1c813f9599148c21b5bd4658249d5010db2e205b3880e863441f2fe357dab2645be1f9e5067616bc335d0457ea6468c5828910cb09f92e5e184e316018e3c464c5ce59cc34608867bd8cbfa7e1286d73a17e3ebb675d097f9b3adfa41ea408d46252a096b3290e70a5be1896d6760a87e439334b863ccb11679ab5763ebe4a9110eb37c4043634b9e44d40cab34b42977475e2faa2ae0c0a38b170776fbb0870a63044aa6679545ac6951579d0581144cdf43f60923b6acaecdb325c864acd2c7b01d6e18b2b3c41c041bb9099cce557b114b84350131e3cee4089648b5691065867e7d38314154355d0e3ef9dc9375eddef922df2a06ad0f0e4357c3ac672932e5a66b16e8bf4b45cd893ea91cb397faadb9d9d7bf86e6ceca3e9176a5baa98b6114a149d3ed8ea176cc4a9380e18d2d9b67045aedeb28b729ba2ece74d759d5ebfb1ebee8ac5f5e79aaf1f98b7f2626e62a81d315a98b3e", + "63b90dd89066ad7b61cc39497899a8f14399eace1810f5fe3b76d2501f5d8f83169c5ba602082164d45aad4df3553e36ef29050739fa067470d8c58f3554124bf06df1f27612564a6c04976059d69648ff9b50389556ad052e729563c6a7", + "7d5c4314a542aff57a454b274a7999dfdc5f878a159c29be27dabdfcf7c06975", + "aeb6159fa88bb1ffd51d036d", + "7597f7f44191e815a409754db7fea688e0105c987fa065e621823ea6dea617aed613092ad566c487cfa1a93f556615d2a575fb30ac34b11e19cd908d74545906f929dc9e59f6f1e1e6eaaabe182748ef87057ef7820ffcf254c40237d3ea9ff004472db783ed54b5a294a46cf90519bf89367b04fc01ce544c5bcdd3197eb1237923ce2c0c99921ca959c53b54176d292e97f6d9696ded6054711721aebda543e3e077c90e6f216cdc275b86d45603521c5aab24f08fd06833b0743c388382f941e19e0283ac7c4ef22383e1b9b08572882769c1382bab9ad127e7f3e09b5330b82d3e0c7d6f0df46edc93265999eef8e7afa0cb1db77df7accf5bff8631a320d146a5c751a637a80f627b0c9a41b44f09212f38c154226de02f4906ef34139bbeacc3f06739c8540e37334392d38ba1cbf4bc7debe77c09b35d2200216db15ed4389f43bfd8ae9bf76fd8243c3d869546e16b8e44a6cd1edbd2c58ef890b5a84cda889131e5cd9402ca4d8271052c6b4fe3f2dff54fb77bcb575c315b9109f90b14bc8e109919808a581c1809e2a188d29fd34ce639088a6683f641925f5b4b3529baa34e080bb47fb7ad9b43d0d67c9e6ae7cacb50527fa74e56d0c8b20149f5d332d686d48ebbe634c2b5d35fc84c69a5bcc93b93dedcf9fdf19a1fb9b75f6df9692d16f6c3490377a06294499e4b8ebeaa0cfd840bfa05fde21c0b5e94d13063b3f5da7b537caefe89069cfa9de9eb8f06e4d30125de64716f821bcc8279c0c7ea2e", + }, + { + "89c1ee38b6697d0190c87a2aa756892ee09fca095df1e31aeedbda5750f604d9b8f2116e5b8f70ec57ea16fe419f2d213ef72b9be90eb5d7e98f2e398632123e2524ac80b31c6c0a07820848223569602d94fc16a3b1ed8c411bc6c74ed80573fcb1f3afce60b9d5e2c21d04f78665241b613abe12274a5343101a91e91f04e5d1f7959f574e743a10913e0817a32c320467f0178e3b6ad14b856234a4661a755eaf14b5fd88ef0e192e1631d14263d6a954ed388f5709dadc6c0f81d229f630d80be6d593d5e3ad03f9ded53c41abe595981d24ef27ffcc930e4d653743960f4e7ce4e251c88f55c16d2afdaed5e3446d00685c276728ba757520acb9b6bb0732a0e9836878d829e5022794d70ad8440a40a132a8c9ec1d3f0ccaf8c285fff425e9788d6150b74753dedb2ae8b36ff2f310249bd911b9181d8310e00810d42ef94cbb5a9d72a1f0507c1a382f892b23994fbe7360778b7efa9c5e03ac3231a57fecff1c5fa10caf1d26e84db0137049622ebcc3a64841a0e49fa390d1d43550c1346c20d578cff39fb7404fcab0982dde55f0849d312581d0c811a19d46f25e7a5e7e50d74d43760583c5cf335dfc11b2ec964f1dbbd0ed83e18f2027817ea2dffcf2b64a352c4fb8f11eeb4f1bfc01079251254d2112d103a1f12a2270cc026cbeb8b6f3e505abd62496253f93274625786b73997e449c1f35c742a593441252fcc845e1cef1b8f287dd311a0477407ce3b31661f7b2802c79c2d20d06e45f03aca4e47a959c6c1d7a9d377e1577fbf82a115921c3d94e3d9c204aa204a9a5b04d8a2be3269700a035371f4aaf1a42d92b9bfbee74492b106975b36d1e581d6ce2484f09e04fa91586c85f35e2a10f0d3c0afcb05327c1bc9d7429bbcc4627af8f76b86fc561844c2ae3810c84901ac09a1670ed3d31a9daa5d296", + "7219bd21a834d917f93a9b45647ec77102578bc2f2a132dfde6489b9095b4f7b740c9c1c4075333ab0ce7f14", + "a7f849b054982cc8a4c8e5e53e181feee79e0233e58882839892134ad582da7c", + "4c46854e9e101090b1436f90", + "ab2e189baf60886bed88eb751bf3560a8bd3cdb6ee621d8c18b5fb3aa418f350048ecf359a7d542daf7090ec8688c3b0fe85914aa49d83be4ae3396f7bdc48051afae6a97fca7b42c0bf612a42d3c79ef6aadceb57f5cfe8d67f89d49add0ea1ffd423da058297239e72a85fa6cd1d82e243a503b1b0e12d7510a9ee98d7921dae2754d7581e52acb8ab9e7f9df3c73410789115cef6ce7c937a5441ad4edf2b7a8c0c6d152d5a5909c4ce839d59594a6163364038c4c71a1507389717f61e2bda1ea66a83ef477762e7834ebcfaa8f2ee61ced1605ba1380108236e1763bf40af5259da07dd3e3d0fb2801868c2e7c839e318678687cbe33384e2ef5750a0a0e2d2e19e869a4277e32a315ed4de79357f6a12a8a25d5b18291316d9bf40dad2d05d1b523ade76650669c700a1c2965f4e51337aa5d45ec7b4981072779401d6d30ed69034053334bccb18425ac68460becf2aeccc75aacd3d6709f07ee10366ed848c8a54904af4ea71fc2117de133f01e1cc031f2a4d0779b997b82682433ee615202d5dfffba6c916f11a00551d56ffde8c36b303263e14adaf45b6eab0bedf344e5214ce52f071d2f40154d788c6870020791a03d2fd4ec5879d9026241954ed45cfddef4937ea3d0d45647f252be31411237983a1be340fc65ebab9a5620abb0e8d475af4e89e842e895eda0cbd283bb5d0bf20236c62d956de733d60ebceb42fc0c9adbf9b69f8d66551b0aca0e260625ad41cad75d752a234af7caf7902c2c5b62f04b6a8e019a6179d44feeb2ad5859ef1c45371e66f1af1fe0de63997266c290e27f0dd62185c53f81e0a50c296a51ace7c90d9cf0dda8b2d7e72a347f64c44262e2a544d1acc7bb05734dc1783bbc1903279092fe7fe434610aa95fc2ce5fc5ee45858f5e8337d8fcb0a468464becb1cef6b7e5ea48ba383ad8a406df9c581f1cac057d8711fcb", + }, + { + "2dcfbb59975f217c445f95634d7c0250afe7d8316a70c47dba99ff94167ab74349729ce1d2bd5d161df27a6a6e7cba1e63924fcd03134abdad4952c3c409060d7ca2ee4e5f4c647c3edee7ad5aa1cbbd341a8a372ed4f4db1e469ee250a4efcc46de1aa52a7e22685d0915b7aae075defbff1529d40a04f250a2d4a046c36c8ca18631cb055334625c4919072a8ee5258efb4e6205525455f428f63aeb62c68de9f758ee4b8c50a7d669ae00f89425868f73e894c53ce9b964dff34f42b9dc2bb03519fbc169a397d25197cae5bc50742f3808f474f2add8d1a0281359043e0a395705fbc0a89293fa2a5ddfe6ae5416e65c0a5b4eb83320585b33b26072bc99c9c1948a6a271d64517a433728974d0ff4586a42109d6268f9961a5908d6f2d198875b02ae7866fff3a9361b41842a35dc9477ec32da542b706f8478457649ddfda5dfab1d45aa10efe12c3065566541ebdc2d1db6814826f0cc9e3642e813408df3ebaa3896bb2777e757dc3dbc1d28994a454fcb8d76bc5914f29cfc05dc89f8c734315def58d4d6b0b0136ccd3c05178155e30fcb9f68df9104dc96e0658fa899c0058818da5ec88a723558ae3a6f2f8f523e5af1a73a82ab16198c7ba8341568399d8013fc499e6e7ef61cb8654b48b88aa2a931dc2cdcf245686eed9c8355d620d5e91c1e878a9c7da655e3f29d9b7c3f44ad1c70890eb5f27ca28efff76420cd4e3cebd5c788536ddd365f7ad1dbb91588d58612e43b0460de9260d5f780a245bc8e1a83166df1f3a3506d742c268ab4fc10c6e04bca40295da0ff5420a199dd2fb36045215138c4a2a539ceccc382c8d349a81e13e848708947c4a9e85d861811e75d323896f6da3b2fa807f22bcfc57477e487602cf8e973bc925b1a19732b00d15d38675313a283bbaa75e6793b5af11fe2514bda3abe96cc19b0e58ddbe55e381ec58c31670fec1184d38bbf2d7cde0fcd29e907e780d30130b98e0c9eec44bcb1d0ed18dfda2a64adb523da3102eafe2bd3051353d8148491a290308ed4ec3fa5da5784b481e861360c3b670e256539f96a4c4c4360d0d40260049035f1cfdacb275e7fa847e0df531b466141ac9a3a16e7865947572e4ab732daec23aac6eed1256d796c4d58bf699f20aa4bbae461a16abbe9c1e9", + "33791b0d653fb72c2d88519b02bde85a7c51f99cfb4456dfa6f84a61e10b4a14846521", + "a0a7b73ca2fc9282a28acc036bd74d7f5cb2a146577a5c29dbc3963fe7ebfd87", + "eaa4d916d261676d632455be", + "c9a631de470fd04dcbf8ea9f4d8ac37c3988878b6381707ac2c91d3720edbb31576ba90731f433a5e13582aca2b3c76ae75ca8881a463ecfa789910d3a776a9ad4800521c6baa120b2f1afd10f32ef8da63f5b69f5e5fd88ee84bf66b0666b15d05c4050f5358a050b9d5cf1503719f56cd48ceba78f29efe2ae8092e37f5134df526831532f86ccb9339637e2c9e9b9036f83cc058fda23e826a188456e7fd3f4ee20f4e4a3221883fe3232b49db607b90a8956133ab95051c9ec33a908ea7e81a1bfa7bd06c09f0143d07bb23a3feeac7f0d7720269c93e2df19d03605828c8713b84d183c9a50954c12fe3b047511ad15ef03a63355520cbd224d06a34de67a671368e6a8f9feeefe48fc273764a8c69c00314e5d693f159cb5270544f3c4e1760b0529e3303ab308e9a6d03835a3a42aef2df5f7643696f707a574d1dcc676aeecdd9947ebe8c13bcf15d30b2d10d2cd95445a307c1d22d39450615ad38f9302c6eb9dc05764b0503d6a7eaff9feb94834853b47bc25660207be3e7c0e27cb3127b5402cb016396e5ff07ddc3df29861dd68a17f53bf660b23352b739d6da72381b8d19a9fc95da7efb79330a2b360dce4309860af429e3fd10cab235c4acc1d80d9e20d67019375bd161ab65648400f308815afe63cfc717f7d0eea150e687caac25b6603287d44dca4a7cc2f67c3bdd54450bd3170340253b03ba054ec003070eddf9c14fb9dc595e228e4968524900cb5d85af6d1e658a42d744e0e7eb6995023823a8dc33528c6715b2e1aa607782c8e1ddddad72026d657bf122ece8685f6e92236e809139325e4a3c069facf94c10b7896995bba01eb22c7b3a87ea2114a7649d7ed3e83d223e5e785c66a75119beab0968d3eaf0cbcc2d7ede95d024041e6db39a880ce3e19efea32fb89a40a2aae22f407e5fd615e51e48dbd50a8b4ec27ce95e2ba1928bf699d0418705482ed0ed7acc858dfbd690403c74667a88dd5221bb79940c6c4a268379c10343aaefb635982c14f33ad83d47ced9682961540bd4f75804d3d48ba8aa67fb2e3a1db83fbcbe57fec9e4ffb1b575e947f8bd8263c680357960e3a39382974774b5a013f2f8514b3c63c21dbfd314fd5d927d82ba616d76629ac018879f54ff84b5808e94af4fcfe1cf8845b65208ca5510b5b593ce6c109611652cd", + }, + { + "c335b055b752e083554b5aa2cbb6556cfcace658d5c11b6b000256fd89e9b24c1e62a2d5b582580acdb2ad9869020465aeeabe83acd9eeacdc44aa652d5cb24bbe542073d6787ea32b2b3c942d40f9db2bb75ed7914c836d902dd2be89840948d82abbaea23952cd648e6191ce5b6cf912cad0a3165410a781e3650b676e5340980eee3b484008acce6a3e9dc5aa96d775677b8bbb8b323c6e9747d6069a169ea904d9f145e29d134cdbb0118647e8fbae638669efb9a55d50ed33568749f5304ece2193b0bfa6fc9a570d209ef61b4c59a2b5485b5aa6ab47d902cf23f7ff71c5210476e0aa727a01809b9f76b6ebcf58a018b3fbbe5f42976111ba58112b1d322f9312da068cdb86277bfcde66cb3607e3ea02a1494439aa56f302671f1f994eb3ab28b937043f5f7f3b3de50673ecea5dee8ba633c45089b852f0d772892525344ede6b521dcad15807b65e7ba348d891d47fc498cf4d50223d2794c64db9fa9b9766edb430be0c38746ab317b38ba9870a6d1fdabb70fcf89790bfe449b97fe01f6c94502aa0889f0a3bb6bdc65f44d1cd64ab88d4a7806b373f5080f9cf60183cf4686694f0059e2bbc5cf21ba0c3e8046e70d815f1444c3094cc29632c429f20aa06b49b0b52c6c7aeb8e34f7bcb53e93c2cfe2d704a5d0416876742c90762730d160e1869d5e0178dc366098ebaf2cae6f1f7563b555a52dcc194a5c8f718d50d27ee76fcce8e8991f4921fae85ea9476e1eab1364403120698b7ce8fd0a49cf79213f360a17cf1950f104494fad80adcc3bb1207bf250d57dcdce6ac8082a312959672361363cc227310b66ee8c04aab7b5cb33a81c0915e9c770a1cfaae2e8f44a0c65703927977a22fe58aef2f366b8be9a50da9376b46ae7562a82391386831febf359039ac326891bc58c0f2c34bdb6858859fc3cb4e392df65cbe2ec4f02c8425bcbdd1ee2562ab7d229d406d79a9c6fe4889c996c2f68d1fb5bbe3a5e867caa4249b934afd3ec71fdb088c54b15252f9dc1b909e121dbdc7d8a16cc00836652dd1f877ce363eed11467966f7ccb8f1a8d48146e69e04ad76a51937ad4f9cda209451eeca90dbdbd65441ce20fabfc8ce400fb4de136154b87a8b65c92740e9bb91d78521b261f806a2c6279c85ef6ac5fe1ea3117ff7c9f9832fc2aa6fab660082eb22344c1a3befe0628b6551f62a5014cd6194c42b8d475a50f2c9fb58c97e43ebb29005ed7fe54f0a4aa10074f1154152a9067d364dd7863fa082976a00db55b26b5ba0ea40eff48b90", + "f5ff810a41d4b34751e9942970d4c9f26b33f24689a4b1e4449b243490afc485af468ff01a42376b2bcb949b9f5e8d0b917f511a", + "a74271c184a82cb074c14b131fd91eb05870cb7c73c9e511ec8140bfe2f34089", + "2403fe689e239c2ed261b381", + "af9be893d5fd23aab42e6a2e59a8e7cb13d4f543db02af87cb0802bc1af7c717cd0093cc8244994cf21189146922b69927ffd5745e57118bea07a6afe7c21d952c13ab636b3c2e461dc9ffb3ae701175360156338be94b1fa7115799831019455cfaf5114010fe45f8fb9c77ec50fe06f2c5a32423edccb3b2210ee1200a78e1a3130c567542377827586ca8cf0c14c19fa1449a2cce9c039bb441b04e9c0a3f9a743b31c828032174fcdb7c894349aa68f5adf97dfe9294d24e6b5fed95eb994397883f58487bf5c57b0aea5268be7cee9efeab370f89805ebe5373ab2e93658fc078955ccf68b554dd5605005751ee8531c35ca5336a5d0ce273370c0dc9307779b86e96d2d1daf2620d67d43e1fb7800ccf250ca3c02eb74047c1d2a2bc7f29fff8320301694b80d0fd975f834337d00d5f0e4215044d52aa4ca21e6a9d7e03f186d7cdd5c48e3765dc926fb0a46bb0f05c50d9f69c9c507527a60366b7dc251aae1d6bb0d9c73735dcfab959f6fd4382fe2a1f6ad07affb0601bb9040f81b55a48f6a6c5f8ac4a2acc2b0c9a6c439198f7926460695fa11e0b0b017e39de5cf0d5d5f84d972b5eee7b5d1e0343b5485cd84b92ad892e5b23f3e803f5b363f2398c11c15be9f13e59922b0d49902dc8483fb142850b4226da2fb84e9b434a34f6bb67f575a9e57fde3354bc3077a876e260311bb2481bb139aa9af55df5074749fe532d7b8a554218a90cc7e7ac69db280bae5d55a174dfc8d325b9909a8da1016d4e162fe5ba70cf8726cdf291f5e47083d9929cd5e32021cbfd982fd0975f6f9baf4322b553cb3174b11c007559879f308419ff9e4e18eee8d3640cec8aea082b90f69cf3c7676c28af0265c24c91cd58a06513198892ce6ce1ab3ee9ac0a2e937b973a9cac06a039a54f8d994c13d42c59187f677352e5feb32a417aebec4d852b2595e7e67450e06dbd183279e3b63022a3813b37257b085bf8454d6890875a2950d20210a8df4f9da746722f62687e92f0e9efc3e5d526d65ccfbcc042fcac7964dbe147932c73924bdcdf62f9eae58d29e8567ffed90048bcf0566b952e986efeae4c477944af18bd243c3eccf8d88c06d07279adad037450cb8547a8aa0a74223f4851747c803cb21a2dd027e7080aed75038cdcecbc4639d87763cdd41829a1b72cedf0d722b180d0d492a5740ea7607b95f3201df352fb1ab28149124d2df5d5ec106867897b537302c3431402348f94d28eebc701ae1b49d10adedea38f1654fbc48885e59e6e6dfd413c6b5a97d8c35dfb07a6cdefe317bf61cf91", + }, + { + "4aba5a776ace38b6e2578f0007e770d264e39c49f588ca3547ad2888365e3a811994f8836330394587c8458eb0b6611499fd5d8e8527c3cdd4ec550b4a8f8c632384e786b420cb3be911c999c72aad60270aefad31b27a069ecf11e95e9d4c81213308d554d3103de4d9d6ab04830c2b8dfbd8bead52c44c21d5357f72810193b5096809dc7846c1521c6c569f78812c735aea21acaf6dce84a24df7234e8ad857f3e1346b27f5bd436113e2da950e4deff96e9ba8db692c7db723a105ae795da15b910c8286cac6e7dda8c172b70f61b07dfd58596684d61da8772356f180f74c1103ce97cd947eab3d401df44f7fa4cc7cfc25e280fc002873237e64a375b0b4797f4b4613c9f150090f44588ee8250ae44aec6546ec8dba0f0c1eb281cf66fa4eb141617b32b28441f6ddcfdf02d9c34cc62893b2b64dc2c26b74433adb3e888c7fea07b19c8cf39269c2716b9c35b7625d4a141397d6d5034b193d2657c6b2d6b0ba874c467adeaf3d501ad985d13be21c4ff6b326cbb671e4f4973bba49116a0399b6491394f850e4122969e4644c00b442b3da0d6a4bf25ee22d182b3f822fd83878ebcc713cb183651a67ca66677ea81b58b685a3a8e385d5fbb0147ddfecb558d881c914324c794db443b31bc15c361912bbbcba9e418f99f2a416d190cb29684df27c7f3ff6ccf339800efbdc4514ee00d1a89f12373804db4fd66c1affd467f251e73147b3248033327b0f7790fd7861a51773dd4f78b89e4e24b94df9203f4a077091bb9411eec78dfe3e1dfbb67ea1cdf17e1d6936bbb75b74055495449e9cb52f5749404610cd444fea3f0568e0d35a5ef0c395ab7bf0208044b5c4e2517911a9c351efd31f33220972287253fbccb1eb8f46960a36b68a7a6b4f5cbdc86d668bbf555fde8881e7faa9594da425ff8fb54526bf7cdc4af64899530561c06bed7fc04c5d48cd4542779e901bc48fab79d4d13850ad8247f51b9afa7d5a656ada25b6376d837cb0fa1b4016dfcfc158a39290f43f133b352ed52fab2f951509bacb41284fbdd849d8185fb7e7200f8ab2a07ef2b3b927e18e568dbeeba2c7a66e08cebdc6a6069ebe6656a586652f3905ae2bb867529af6a827b494c97b3a378408f44aaefbe86c613e11e7a44020a9ee4b62569dfc4c462300daec7b1424ff1c1849ca1332367470475c14877cbe76c820cc651c18ab3f18852b93994f93b568dc7f7b0eb5f07ffc4c9384c851fa9071c6f68ddea1ccf627f889c0471c76aff9f52b07ab1b86a7671a2b2f6b25c0ddebb66ac95737bf7e2f493f7665b5265eaa5166556cecfdd3062802724ec24f3978b903d0f0c24e1f0b8d967142bccfed0d354279223f4c28684e9ab611e9ef89a3f25993b5a8b3c0354931780501651236a78b58e7d7814f251b053605f4c0a8e7193b9cc1ee5cf7378e6f3c8fd44ec57bd91e62b09fb1d6bab60cbfabcc6792e6a32ea7918a9ec9180d05a7e1546d5d2d8bbfde2a71b4e427c0a4d28d0b6473ae", + "921a401db90935c60edda8624a0590d5c46eff3522e35de2872f6f9394e24126fd8143b68a797c995624fba0298b75eef974", + "6a4d35ae03bf277f587da4541dcddf92bbd906dff45d5ff23c0f60ae53b062be", + "231b5780fedfb06d724450b3", + "ba40968282d98849b19d867f8b564ea5a81d657516099362926bca4cb6e9ae02719d10c8061f53008c727a0eeea5e1e36c9e55c117e9434e213316c96840231a1e356b254a9981d4a6ca3c66cfc61018bcaade1a4486506559e6aa3a86bac980d391d835fd5ded98d10f1394d84bf1bbf2cd3397890d704154802f7864ecc753db782fd3d19213ae65ace4770e1bacf32d61c6730aa5adcab4d7e2e437888c11c29abba4890a17a00f67a53b660becd94092df0598df5ac57326f6860593a519e28bd4a39f6481e1a4748881fd5f0456a3cd9f28d1d1e78dc64030cbd8fdb2c5abdab3f13d6ccccd187e71e989f8c486929efcdbf2a763effa95af62db5cef95e9081b818275c69267022fda4b7fdb8c650b491a785b03d4d0186625962b6326ec3f4e176373da4dc1f83a14815adf82c6bffa7c6967d77528d0249754bb4d17656bc4a89449b16152a4a1aea7eb0054a8892f271138971507d2f3b237ba5b620f444544e4a8c2b1ab4f9168762c27478c9f776c47ee2e9ff05bfa35ed127f0cabe7cc053640bb8aa01f8359b74bf89ef43ca94c48fcd201eae39d1835957eeccd6b3a852f4e1bbfef9a469f42c764481ff8408fe5871afeeae7676b58f4202199aad50a596626dff97c8e60d750cc59da9f595ce12ce9afdce14481cb1e39994de8fe4cce07845110d6703dc59d34734e93e9e57e1c52d61f44143a2d290220a4bad5098d098ee65ea4b6757d8a9bf5485aa3d697a7826d4a285186f5da10eff707566c23c6a15033365bcb498c44487c72d96402d1834753fdbf86770239761f03e0dc8963766441da99c0813e4f1df5a1d018c8799861a396562eb24ce305ca15f4022d83ea3c56b68d9a7ceac4742ec0ce50f4d36273df26005ec2b051fa071b319be2d8a5ed26eb75bc1ea83761b8454db234d15d84d6706cd178981c1f156e6d28f774aee3e9a4fade022e71b52b50aa532b8bc7fe464f22d6eb169c69671875d614e987658820c2f584a4fea3008afdcbb646dba3d69020fbf503f121be3480344db23efdda0d255aa058c3ff66abd3a5fe35db977521608bba7eddae72ae801f4fbb12a1de4133039e046ceb8db87e465e5ede1d79a08c857d59076d7ff858942c31e15cbbdae6fc15c3f9545a0825d6ff8583c0aba8a7d143d27b93f6caefb98c0d83bd8715abcab2a49087f55a9daf9090eacdf45be08ad80b5df5070e1719f68c4cc8f8711083f0f7823a09ec092f22df95fe9e95114fdf82a3f6eed0bfc9c0aa65222609442776154a474dbc9e662cd5dce66846572e52417ee5d7eb59287d07ef60a9537fe1f85c7fa74fe84dea0da235ac7574335e6649b54a6bd33397df4bf4a7976c4ab868aa702766d2bc8d2c82c2d1c2653fc8428b8d1e61852ac185a3a0b416dbcf8eb54c44967ff43c44f2b32c6d4a9dbf2c2f3a587b430aef50f0375cdb4c1b319ac9aca486d9bb321141b065f52f7b6decaf1985531ca7bbc3772a561eb1efb8a6297075920bc432131a5b211bf25e35fa31e12833bc77a9de14c7", + }, + { + "6c0056937faf1023032df1e2bfacbbc58bb022eba25ffa020d4eb26f0caf0678af5d0b2f0c1b520f4843f107f0adcc7b5dee66ff4d61025bafb4cabb64d133132e3e423a599549a1d83aa8c8e774444462aa44b00b460bbafad5755ea6a872d4e6b40e3f4957e0229288ea79fc2ebe5fd9020fe4481a9f42ef14a196bd136aa3c779e311d0c333624c1ddc484c9aa7259cb609e4d0a826c0bdc7567adac01da23900b30ac4e66c100348584fe200747eb67e6287268947e3509d5d2b5d7bcd977b80a13f660d4f6956a8b938a82db75eab19e5d2a22cb5f3c9131e278eebbe096b5f49d16c983ac240f3fbe821b247cccb2c9e6e59546122677f49f56a07fed56647a6d3e0e09520d49009f54250c10e7c607cd5b4ddf81b5c4110c6490e9baf56418236211856f5a85feaebafacf92c0c7501c052f9dbae3beb7484f90f334f50b68571cedc67763b5161ebfd5a1709cf18c92112a4cf4d8f43d1895204d8a2ba5e14883a7bff75cc6060cabb77d38a909daca2417befd1bfc05a11c432b47f90c807ca4306400f67a0d92218adaca84a584a8bd4395c93f9b6a4bde9583c79204444634a8473b1244cd33cf980e443d82ecfac672b3f60e2e41ecb3c5a445d9e88c0e90c339a31806e6d79ee52bdc6808c73e8b7b24899966664d3c1a9305f31f0483e24e36fa451dc1d3f2eda05af6678971e2bdfb7c1461c9407c5c466f6b5af34d992a37de3809a22ae75275ddba0f4f9cbd4b18c1acd212192e587889a36bd73c860f0abe08bcd8f00f5ecdb95e1d560b586eccf530df0e5f3776d8dae2a01768bf1226b7ceffa7ce4e75879c82dd97db3c64c06d33cebc6b35854618355d80e46fa79c3e9743fce5b974723c421a077e7ec7dba286881dbc1d53d442a1552700fcb33f83f73c69a0a0ebdcf2f5d461649c4d0712c514ded268a31509f83c1ae4ff4a68e676d29727be641aa4487c08d4b90ff78e24c6508d69759751a1a23690ec9f8763621e8b107295b4bb01bd9fcacd8748e24d996fa70ef6f8b0992f4185bec8e920d7643159f9f604fba394b6611bff435998b2f097a9e948430899c8c752a1e83a061983f00f88ebb32da214399167932a1a83c1b47d09f77593b03cf6521520583ea4483e2d33e14ad60584676d1791779b532c085d238df0d3bae735d0078e0eabd63cc90a2e13d023983780afc8f83b1c14437937c16a1b7c41414c48cf4ae49587ad9fa5b16fc949a749e96032248c4667f58e295f999590dae1d99a2cbe3fa45bcf4a1d3f0356d64d40367f64b2c5cca843e5f7dd7b88a85d52328a00622e6c317879607bc036c9006d38652ffe21c83207c00f8348a7d0aaea5aab4c89077df170de6d41052641726eb6925cd85a9ee01a9e636346340e209ea96d17b0eb0921b96662ce9cb430fb6ac348331dd7133875769bbbba99dc49333950e4145a15ddb0789c4d2ccd38878080ca9e57ddc6cd5452790eec45482f8e990392e319609391fce0beba19463a9a00d8f1de9fbf22f23821de7d69fdfbf3019ed61aff79acfc5a6ba663a1e10da2b9ff7149aea43bd6c61a543008402309df0924de72c1cacd2d6120cf422e61fc1de345cc8771934d8be77d9437a09e06a9b2d51c849fd9a200fa714328d34f36b684f33df6968b827df916a599a4bc3367814fec21198e2213ff653cd2a463892966c72ffd42a26b3bb91", + "0d55dcd08b54e58916f622f81761ef6a2e19b167ac47d3", + "e42e1d6d44138f3d2bf12c951f454686f18d590fd30057405b5a3dc2b317fa97", + "1e46a7486c5a03fd6758d938", + "fd3c1fac10cc82e49235fd57f5aea0ee7a7bd6d539b138d4b3fb623aee591615c1a61228ef9673113a3a90a3687a12d4c6367d5f7bc67d422fdc4106455084d79c2c42c5e86368dd164bcbce7925bfffe7d96c13a2f49aac8e9d1ada3554e3fdc21aab00455a0f33b0c1fdea91b3588e7ad301bfccf9940027332fbdf966463491f7a33c093e0a13831ea9d2183294f89f414cf7b5876af04fa68d594430194429df74fa5915394427259e832bc545c13400aef6cf16620d48280798a6e49773c9316d79fa1dc758e54cde2e2cdb856092d83f4e9b698385cb976fd6cc2538abe055273a5b34a784182ea5e7d3ac9019a05de5e5afe4308a7ed2d363cd50ed6a52df1c616e4a82f607ced768445d13ae4884f2ae1f9fd8313924e8a1a8a23905c92eb231f638dfa6f4cb27bbb9844e05afbbe2ca4d1a3b3a5b371bf33c9ab6f82a7387d61cf8bf662097624145a983839b0cb9f4bd07556800b4054fb3d0bac94f44bcc9b4ac49c39f5571fac4e02ff09f08b3ed5add4bf8bba934e9feb773c0590b45c45fa036382f3fe9782ad19107d4630321e414b7b442b64f18fdd5219039e5740f34b3ce8925d1afe8a39e35ce8db086060bab63b9720700499f82db19a62897c6d845389461260303f9cf2bc7235a898b4620c2191ef05604a5c8c783d58009533a86b27c12b0772635d34ac53993ccf174c9087073e5e69b26c0c3d9f768507ac4d4e2af847b65e3a6e1b7a6dafb0aefc190871cdae6c60f0b1d6137c351d4cb211870791cf4cb8af2ea446f6401eb9ec8a5bcebccce898d1dfb13454df6b35b81ed6d7637e6e261e004080c60944f3a08e8e5fc7e2e4939e7c2607c8cf07d1d10883ba3ad43e2611826f245df571857ae0a7a867df9659f2082c19f94ce400132e48c7f8de2b102c7f83ba5cd1e785597a0ba0d73bb81bba0c00300d4bcd6ec25fb73105a46122873bfa729c0979d8d314ab7ea52391aabab513dbfd1cf01c2990c0a3612f4511c2bcf0f5a07e659a881a7f99c3f1fc4a46e66904427fe26a4a80a904c047d090c861a075c0ae4e29bfbc18b9620aaa42237f4c6fa76ee7491ee638ab5f1cf0b440759828e1ec519679efc776eb1468999a00f667e87199ad6891e98b95fb682e02517b024a6bb803ed23c944010cb7bad0733eccc12d6ab6030c6e88d510ce92e2f98fdcfaa1e37e41fbfb4e99589c0e8efbefd40473db42b3a73b57b22a2f8c9bdaab16831f1b117dd83a77dd01ee8d0c2e92203adb670f4fd65e618823ad196220d70e014c1aafd8863797c61c16382c2600062683ed3a180c70891717c52da15191b02f25d1715ebf33a5e6037092421989c942082f4b836423cc3e976c9bcda185de36f06265dfc250a27d2de0bc48c73b3bff704f3b386f962522f572108458bdb283c6ab3fd33b3ac13a406268fd5d97e17db9c0f780b4b2a8f761d15a4d8b3a0cd73357ecf4d26a6492ee069f19325823ef50bcb2f73326719a57b67eeef506fe8915a1b1ba1a637592268257b91e9c7c5d33cdd947967efc1952005d82ccef9a3ad7ef8ffbb6b658983d64c51242ba53f8f8963245b87a25aa9324c527e53f8c11d55f30aab598401589acd13f090541b3b057b162190f27910718b02a6b8ddbb8ca6cf40bf0d2848f4b76341bd5e78f476862bcdbe2d1bac84c0566fb45b21388221ecd8483d99fe603646b1a9f38a49230cf4dbe5d7883d73eece01bf", + }, + { + "04892b94c65685f2eba438322b29bf8439938590d3e0eb10a29e279d356cb439f6dfcdbc3552af21f7e753221012a649a52bda780bc589ae63b04b981dffd113df9fcf14f17e35e865880a769bb1bf40dc99b9e85e4296c1f2e1590fe02b22bfcaf2d4bb7009a4d692ae4c2d5f0b6d3ca526240368bac55b9b1e6a7b498d3b137f0fcfef1873c5aa2111d7811d45bdc26be1c5d49b8a2f36a999b1f226ec06a5fbd59514485abe696c96ea89dba74b4688101a239b495944e30b3609f73caff3114407599ec5c30a5bad933655de7dddef97018ae15acec46504cd5d417c5052c057ac5f1c6f69781cfdae71db2b4fcac35054a4aa22681027356d68b2bdba721466d130d53ba8f23857631382b2de450232e9ad5551bd7c872ae439e79eabfb057d2bdab8d4ccf02b3003ade2e1f3e514dc92692e4fe5b579c9ee6067995b6c168647ce5a13be8543c23326a3260bb7029d2030ec05e565ced3c5366d20a283a6e95201fd108640d2b96676df712de20e4e12fa53f85f22cb24583844fabcebe40eece11e7221f12c88670bf994ed08e2000236f86258c386b0fccbaab8b68ec6a26fe41491d540193c4c12d1391ab3391de9317f41f505f1f1d09ca9862a6f289a533d2b297d4465c956360371ea3c8ed36e0d1563120654e3a2fd69cd6c9267bfcf92e84cd64e162c84199d6e552b42c33857264b5d7a2e007797cde32934a3f8c68b459cd95bc85e7466ccc9910e8dca65b315c32e43c3a5da908904c42cfc8ab74126919ceeef1054bbdae6ca67b02f1ac5f24808b5eee24577e609a3e3935a24b9ebc1a8dad1fc96abe26012928f2d5782755f3763427dda28867d0b1ad830d3c3f17b9ec278346e5a9480ed23ad44a523a4dd86e65a610ee0de1afab64ace7a3b4918fdc14c6b1ce0ec0903994da9bcf18643d7e0a4e6c08200bb394a89b385d2cb829417eeb0f7dab9fa7306a330f82973cf0917b5ca99b585d2ff0e8584e050077467f5245ecfdd5942e4fc72dc26e5ab2ffc61f996167e68168cee9a6d3ea1e1a696060465e35da8c75a1aa380004faffcb0a992c627fbdcb4e97721271802cdaf08d214ec2fbcb389d75709d7a6b9d35662661c8961f93d4a705e7188613f3769114c55400809cadf60d3b6068c8a5ceef078785171b59be1140c6a754ba1de5ced349df63d67d59d3a8ca3c716ffb506772d57e9e3f2caf7fe346c4ad64aa6c37e43b9bbaa8f58e51bfbac31fa6137728f8e5b728025697e5ad5c8301f6ff39eb2ad595d3cb24257adee88a84fbf1ade4d7550cd9ab94bf48e1424ae83184c35c5a5920157d45805c2e0ad129fc7f0ec3c41b9d6fa04cb8918ef379b0783d1cc2863cd80382585fa05320ca4f9fd90353e490b384ed6c166c6f802cd7bd39aa43667246e8da96992db7537d472c709b01114e95febaac5b1a3c77e1e9a18c2d180e63f0d8fa89f6a1ed63e909e4741af5c2a0e47d4d3f8779b7696358f58060f3f461cceeebb390c92779d30bfdedf1b08ed62dcc05a545bd0ea915f42976e81dd8a50cc4689d8d8007508bf53e7da5bd43c3894968cf0677681c6b818353af6bf8ac205139add1310e5d363ccadbfa0eaf735808325e7f9a6aeb1bee3ebb4a27576a88811859c216b6f84371c43d8063a0d87bd326eb6d81c6896ff534ba2c9c14a51d2cfedf33a5c787279bb4a7ff65706b389756a6191d2f791254233ee047d40d64c2dca878a42f903fd4382f39a89a723fe11848fe37b2008be53f7c2d037981d6462a4eea49df1a2e074957afd3c9dfb4d218a309cab395afe301ccf", + "67b5eccb1790babc2dab5e0d1ff3871c3024177d45a2ae", + "259603e1c3af3fd0ce3257eb627b02e0c0a48ea2f175de3d8c36570a445e5369", + "e14de73c4b17581a7e0d0649", + "33522e67ef932da5fa8abe628b51f3abd5049951dbc982ea95b7769652d4830c588fa45e3fcff094c8602b9008d7b2f9bf6c1c4a8cfb515401c7c44a7ec42ccb967722a710199e121a41160b1ec581507e9bd2e2e506b10c4b5a8d6977435aa08e27504957cd49e756e1574c4ccbbdde937de35128b7ee3455d2e665c596c2e97c253c94e405f85eb5de84874c099b4a97eb8f492d28f2e4bc64b228dd5984e76ca08376d7f1355ba8e0fa60fca96635075417d8b436278e0fb91e3bfc7d61ca8c7407086933c061b2d318f46f352099e1d317d6c44098539d1d2c1b7894db668e7a82ff991864fae236570cc420a4229883f1e2242d05aa07e175bc6abe11cc643cf1786a4456a2de8c066fb1a70fe387f149ffbe8cca7b110e256fd0c09b1d3bd7381cfa82fa700c8db1e79809ccf75ea52d0b349264557046e8703a191ddaace00ccfc513db5e78810eaac0a99d7bb1a5725e722d4e595216a0e12f3a7aab2e623ea9e1dad06169914bcd51b643016fea7dc3f2743b1e65877f1fd5581bee5ef206d86494a587ec8462a170746fcedb2c9f99090674ee687382711b4610ddac599732453dc063518aa36f5b4129098fb9fddc02eb8f8cfc2fdf0d904ef4d6d06014f977b29d0e9aab4044ce9c662a18b1a8db1ceea97854e90704430fe9b1046b221b27ac79054fcc68c3abd6fab7da66e255ff0cbd0506c852e961e619615c944cd9a05c25abb63742f5da7bd9939feb0f2f2208c8ce82f551a9d4d70e935dad018e3e4e6998e39670221601c3e34716ba75eb4e2fdf53c4d471c444330514986de45cf44d77f793c17e36a271fc65e6bf08943aef4c66547dc310c7a430e3fe7a54898de48f69f282f52bbdc4daabdb325cec7ab66fce1aea4e2fd932dc1a316c821f5220ea437447feae2fa478adade7cd515a27d8c132d0299b3ca1bc8516c9d9e7c65c38c238c69f03e104eb42a29cacc8d79b808ea6fb233a5056201e3697f81a2d49ccd8b8efd1ab0fd407c16a210767d1d3ca798ee53a4bbf1ce5090d321b1a64fc2c5f013c23829f5b0d2737936ca71595a1d02711c8a7b0e74654e5d76376ae26977dd49c68e3c0a7b36e047d44be42d732c31f681bd7b1b4b339f004ecd847960377acd005debfab13d0fb88355025877630aff753a7cfddf6851e8bcc8ec37b8f9149830f47e6b601098b2ba19a4c0808e31e8927b2525cb82bfddc9b4bcba2b46bbe768ee278fb89010243d16f9679f5ba4f13cfe76b5beb16c7b28daf99b0873098115c2233ee3402ac0f6c899a2cfcc83b2ccc06676999ad48017c4ace507080a26501993327ebdcbd1e2eaaaa99f4998b716cd9e36eb26b4573a03fd1d18047198fdf675ef4f979864ac85d230a011c69d8b6c45e9efbdc2a03f195c9731b4cefa60208ba845c0978e73d082bf6d6a513b93dc805a4f5973f4158f60a200167ca88704a15ac5ab1f38ed455a426f7c6a96b6bfea2ebc1ae1247cfe5ff29ee81bdbcb53b03b89568bae9a6f311d2b20e31c2d91bd18fd93a37be266d0de8015d52e325f78356dea0b77cc76f28e0f06e4ec705d1328340013a77b0b6196f44b7712fff4ae0ac7f6afab9456a95012b7c6d387285487476d189977e28f6c9d1a3f736320d61302c2d627d5a7ac8cde4988056b55eeba27efe7e640f94c115762ad5849423ae138c76f15b47bd2a2bde2c492489b7980aaf1c4e32a155f858d7be4fcd0f8a18e7b5d97c5a08d7885d6d56222ef49542c7f80498a14a8eed1c092543aac3439966d5b5d0cb9e602f4fd795c09d652b64f9ab67e38f48c88d18e30a9774f37e9c77b7a94cc7310d", + }, + { + "4ab8068988d4bbe0bf1e5bc2fe1c668cbe58019c958dd2ec97164aea7f3f41c9f747527f1c0e5fdb2cbb9d2ad704b6955cb731f14403dddb1a28c5996707635e4eb5dd6ac33d46eff8e319cfe7cf6443869534ca9812a5b23a6b4ca172afffc064dc2b28197117115431e03c00447f87d9b45172c6f724006270a1d41fa094847cbfac9630c3a785f488c1f5cc407ca6f4cd18bac43cba26ad5bfaccfb8f50784efc0e7fc0b504b43dc5a90a0525b0faf3c8b4b7046fdeb1cad87ec667ce3eb6cb4c358b01393f3ffee949030ef9fd01c1b2b9c5219777eb6ff5b1d7c3ef8d8e3bc2193dfb597cf942c5fc50befa527fac0b44cda2bbb811b06ae87459750295371cd232754e2bb7132807d1225950ce64949b0650531800bd0074177677acad937ee008cc0bbfdf33c6b0552000238494be8be412a3e5cfa359e619d092c76310a76bdcb22abbe6f16b3b116b5f95001d20e42fc3c9ff6723e580f378475788eec265a1ed2087de8cc2eff72184f73fa5dc6e68a56dcfc85350bccb97135386d5b827c2d9aea065708f5c921454d1b9303f21d5adf19e00415acbd86d1e5e42d78505b033a515a435713649c50702f54623cbf31469f355c3be2e30dd8c72b4127764451d79e952ea1f9bb0269da56dc07060d5d9542a9c1258ccefe53fa3f7b6073cd38026256b45c01b6c5dc0d91e3139f30a8d1da7a076738f5bb23352693a8e3cbbb46226fa22416680013f9e3278913d06aee4a62457357f0a68d173a360af5e1411840e34c574b4c6b352f92ce33632911ad8b6710d357b7607ee19679e777baffb8ae3c0fe9786b2e97fdeccb5105ecfe81441f549bc6b50ab84b749fb33f8f6bddcb6bb733d6d5dbc4b29725b8741439b8239e53fa435ea29ed3324202b1bdd07d1987b0e06d8cb51013dad897ef02401290940ce3f2af72c5d1b4c8836299008c10b16c7e3e119e41ec66d9db6929ee09bdeaeda08a50665c052edf77b7dff3d8815046bf71d5015e3bdb29a4f507aeb2e28c536cdcc9b8d1e89849a0683d78f99dbfa90f94aa5dc08587657a8f042d718080de5d4a973f232f78c387b63c7143fc2a4380c491414a18b6c4a7bae2194b62e798ad7ec7d09e409425f6d0973accb17e4d860f8ec0283584cff076d93bd9b0c4873f9c57cddcebe3c3bc8afe793c6cb6b26c4582847b07446b7e1d9757de6bdf0df826cbc502bf88cf3a773866d3ff293034abc4afa3091b2126a278f50e47f2f66ebebb616e342098ab690f7f5828bf8cc4742c677d378893e9f188e8397bee983a9a0998de2a31798330f8db59a8581e1c847589bc0e2d95ffa68e39226cc15cf6cae5c4f5174e7848375391dfabafec202565ec2383721339f04c5c5d1da953d88f18cda65745ee8e99805e35203a6545a0416923b38c5db3c8aa00d64354bed27d7c78c4b257534bd7a18107ebe64d8c27b6afdb330d8efba79fd1fae480cd51fd3626bf8d79fb651b7c6cf752aa737a5123558420d48fc86451b358d270aacfa6c17f343b7a9956e6f64e4990c1b3f1e5097605edf5ce4247819b19f245e9a90758dd42c36699ba5cd7f3ed99a7df7eb155749f4b42d192c47cacb6b2865fb9ef2cfca283865cd06e40cdf7f89d76a9e2eb393e2e0ac0e2776da929f3f8e3d325d075a966d289c51347bd0bd523a5c81edef63ce9b72f5114c88b08b16edbd73f518096240a5b37421843173be8df4ac7c587a17ca6f2916f7d9a10dc75f81bc778a1eb730d12b51555cc414eab9c066113a7edba9a7f1a18092ae47f12f0368ba211feaf34a3b48a7ff5c91b81cf7c95675a4001c95a19d284fe4197fe8823909a123fcec5e45935da12416be1bdf14918414ad19b54a41052f5b8417ddbd207ee01d6a3e62fd9b0321b1c13d91d6ce15ea7b2ea0c670a5f5cb290ca8e62c26c6499104ab8e9fafb05170ede246bbf7313625d1fc9576f1609ffd08852a2f4b73c04f1f4eeecefe3f3eeb2185a618b6dd3e87d9d3fdcb349cc83c21f26b6c662bbb857aa95378e991640a160a23cce76153c134508c68ec54a5", + "0d471079ad3c3432b6de852ec71692d12d9df4f984554d458a9dd1f28a2697976da8111ae4454c9a23d1c8eae75bbc14f8b00e7c065bc290f8938282b91a1a26c22b40a6708c40945d087e45633a595beb67d8f1c29a81", + "f3dac58738ce057d3140d68d2b3e651c00ff9dbb2ca0f913be50219dd36f23c6", + "bb2d033de71d570ddf824e85", + "238c4e6be84bfb151557327095c88f6dc2889bce2d6f0329e0c42a5cd7554ab16c8b5a4db26eab30f519c24766b1085e11d40823053ca77adfe2af387b4dcde12bc38502229510606ff086265f45b1087375dc4a022eb0b641101c74ad566ab6f230133b7aa61861aa8202b67beddc30dda506691a42032357010d45adc7ee633b536a2fefb3b2143837bb46db04f66a6e2bc628d6041b3d306ff78e96205ab66847036efa1fb6e6a387cf8d5a105738be7163df9da0db48e3d8fd6a786f0f887968e180ad6888e110fb3d7919c42a7f8c92491d795c813f30ea645fafcddf877f5035f133f864fd0ba1415b3d698f2349ebe03d9e76610355e7fc23221c5c72b1b2628a40b14badf93288fc4abeaff5306d274f21938650ab236a39496d3f8a6e9086eac058e365d4335b51eafac813f9175bb7bebb75605909ec3fde6515694e119f7b6e96aa1d6d6454c3a7dddeacc83bf0c1f5f6c2a9dd2f460f3e5b074a33b8d7904e6988ae43a22a87f0933f812e45c4c518bf83e606bad4c3c55422ab2207e9d3cfcbc5819049f55e35b9663273d9d3a6f8a897fa38b0dca77eb6c344290cc007b68d913187f2cd480a40262623a4e95d90d5701ac2b9d858d70a27f0672f919c2ded1fb89134ac9a8ba6ac62931c832372abb70e811dc50cce264ece65e87338231f18ac007c5f68f3b1c5904ffbb2e1dc361d53914917770d66afe28c547d8cd5896d892cbdadc34cd6af348c93bdb8b072f38b085361e62ded7a38b4368824c759ec7d2cf4caddb9191e5deedc8b8388bc4ba2c0672321bcda3a7343c9ea71ef03750912f35624d81da5fa8a6ee676c4efd99d0c7258b844ded7b35d8c8233a316b508d79c7c0b3edabad5db9543615179b1c111bfd78b79327ac5b4155336d670baa592d441c810cb1b7c07f3d35473a45b57e780b7d997782aeecfc0363976fb608d6967844ed00b63ba75996054d090aeb605c195b1ff86f9d9ab5892d27632cbb59c06b3ccd69d33ed5dea9398f00b7c6404fcfe2fcb5924e4cb75cbcae0a1b084ea8b15eaa5847431e9ab70e4afe15b4c82239f6165e243e3b76d6c91d23b16edecad8bcb16898641f8e323671452034a8ec9b42b29cec0db210bad0444f1c5bf3505cc41d514d5a270d556f0a34333bd06cd6509ba253a6ba7a6db8f1a60c99f0c3d566a038a72f1271a178cc3ff890b0df1e7438c0c1a12d9873643e2d7bfeb92379545de50834abe2a345faf7ca49beeab87ee516dd8598b71196b8cdb15e7200cb5bd814338babd74c565faaf33d9a8ed4209b417345a1ae611880ea22ab2e894d5d14a28fe3835d3b2718125f0e6daabd85327455646290ceab89e579ed5e1d72a0172e4a6d8da70290b5022c941f3866f96cc4218de5d2622d13af6dab15760a1ec5d10918267f9585284058aba611ba07b1d5711cef505869831699bedc2b190fe1d578814065c91d87a8c8dc9b0d4dae0c80cd241f0bda3a6d5e714c894b7a48b1e5eed4555f103eb03c9db30efcb855df422d7451a6d70f28174c7ebff536dd2cd2891f6c3f264d632ca924c4e0d84b37cf8e06e6f2e29efac6cf008cc27f062441278dbc9f09cf44987e0e9ca088a48437b0b89efb9cf00d3d0c5fb449fd4b64e21dc48cf300c2d80a502cb583219f1881e78e647783d91dd2f3b389a1594eefd8ea07d4786f983d13e33cf7a34e4c9a0ec4b791f1666a4eef4e63bde7a241f49b5cf615888bd8130743bc8a6d502bfc73ab64d1184ead9a611832b7e24483a1a0fc475d9ff6166b86a18a3dc96910ff182cf326456c4461ce8acb3467f801890eaf1ce0b24791da9c650876e718c0bf43c475174f9712dd4a228695e8f8b2b23fc4a06358b4a6a8e1afa87a0280c3e098f218f7a6d6bd716f8c105a7eb799ba0220837fa5a96c8a22a826a6f7ea9d7216a24acbc7b0133210cc17c8190507badb421bc54997ff9340cdc1ee415126ac46a4fec9fee12d40f06300f7e397b228250f36d6f0d2ddad5fe1898ea690e4c7cc3a116a70bfaf6d2dc996753fffae40ba5280b8356b7ab4ffbc914ec74eaa070581fdd1d9e5aa2", + }, + { + "4d81b652fee892d575bd13dad913d976cf0517c819d5183a72eba995b1f27efe743451721ce34791a15a6b7a6e44f13d4a080563dd1d9d4f0946e5ba3863b9ac970a1fb4ed66458ec1b1092ff5fa6c3f0271a2df8e3f2e97851352be760b6a0e1589c202f00791b1b89ae0ae944ced96bd90754bcfa3e355b735132d407d3b5507fd57f705e8a8bd82886b16d459ac91e921dcb8c5bf0d7cf420a9349ee589a5e2e19ce7c944a54ccc1062a0690f3152300d0bf5cd1871c1391bf6d7007f7ce26018ca2a5c6f76287fd8c8e9e7f93b1806460dd35f7f95989a8b6f9a0aeb7c6b0346955fb50b8735e34f1ecb4859e34ea0f022ff6fb797094206a34cf120b7f4664c531c57da513b296f0671c8e9bf68d9e1674998fe52da04f627f516dee97c2b3c988216e9bd3f58c3b021ac70898651f1cfeaef21c4f417ebe92dcad3aaf50f4277262c356584f816a5a5862f2bd720fac10f1b86033371ed603bc00a30cf4da8f579dd5bfdd571a37af7d2a5cef29f9001bb1605ee87f24ec3b259f381a69b771f78d21c4e43bfc83a916e08830d9885c8ae8ab6367c05f92e5eecaf0488262300f83f4e3bff177590857e149216995bc52311fb9f16f4cd74e07c7868a39b699bdbb7d7dace4c6a53ca7ee6e11741a63a52a1d96995a6dd752356dec6f14761ccfe38a6cd8511204f8f0630a747d6e19a77bb030c61e0828436604a28a7acf4a5e49b7269ac93b93b99e9e2e1c0c47b377f7e44e05ec6659526afbdcd5bb172404ce5a9f8786234114c16f20cda6d4359eb873a4a4d9fdf734e9c40aa4db3ea9a98939210f6c62142dd144eb78191116d194bb766ea96da38321ae27fcdcc196560ac75567297984fabe6072c771899906350f74de6d18518eb6898b934b11e945d94ead02b821fd6682602e03e9c70a1ec67eed33874eb24dc83dd1035fba5928f8f62ba1282907aa8935ae72fcb881b3277ee6bebda8fc75d6cd792677c25f70c87b11e094298b2d5f39904be211ff0980e5b83e8ea4a455622d8be9efdb5aa8466c88ea861407d54d98112faa10293af5e16974861dc9f83b45d21b112cc367894c421f5049e49dd205bd7c15e6a70bc810704e2e3a3659800864912527f8be743acdc474a26246a81fc2bdf669b9be7a2a0c986432e1e44b5675607e7e1ee2a8dcb72d8f1964272926e52f909ede0ac8daa32d1d850158db76b959e4d83c9da4e3bb23fd1f5b26463045d6cf13d187fe74a50c09a654d52d0e2f01d66b9f8b4f4aaf4c69fa62a02aa876f9bc4871aacd26a6c6ccfb9bea09cafbd0268b5b65d60aa23ff504d02fad4719698f8b044ca1bb037ea6af58a06a448080dfdbe6a5d698d5db9da5fb4aed04a46c8fa8b93153bca00a5bf8aab64d2b371d072db2ddb688a9442e948f0b99236828dc115a2fddfa2a29e2d4e02ff0173cf734efd4eb687e3f8712be82abe1fac4be0c1eddda090803fbdce41bccfb58c43038991ba1074b281a09bac5eba58a99a1a9678ba26f8f9e3c63ba095f02cd8f3b56aadc5de60477efbf3dcb54b854f651cc72042bf19268554c61b44f2f338a75de56c3c45b3ba40a697f5f21c4557380c777bcc91a151e5676c2a59606200bd476cf98d20b4cdc64bc3b8670810a014871be018bc32fe239e287cfe8a7cbcd1e8b55e08692ccfb4ef871cf797bc0b1fd7ec37931e35b6bc5d32bbe7ae77b9962c179f96436e4a32f566298d2235acf921e38c3f1942fb7674b65e222d17b95a2e58f072c63aa4bba1ce48c303f4bd24d84963f18c5e670015c52342dcdc9c0b348c7dfac721b568effe2bf2f2e816ca3279bbbed823beede8e12fc5bdccd0f1584deb1f6ea1875e9fb350919b675ccde0178bb83a4aa5232bd5e8e9a1b8daf905c6197367a0d106532297ef89f3bc690b48224592c768bd9c50a63d0881370d475081aef052b444744b33fd3fef674a37898fc950f887ed482d2a51ae615ef5b1dfa3a23257e6a6a319a4e2080b2c4094bb09e4b390d1fcbefc4d6c5dab620f8b05b1bd5d976300b007e2b8120ef8a6c9028b7d925c795058c6bdb6711fc5fc2476b9810d1d81bd24637537716edd3b7068b802c531531df710d3682f9865530e1ed51b3b56d860ba4e972bbc74662cdd1e2ea24f81bf469193afc02b14143a32e9556e3f2ecef97c65", + "2538d98b64b6aa9258f9141840a5abef66d6037a10356366a3a294719c10d6c148b04cac66f63ebff052d730f8821f5e5822d869573bcffbdd636c7973433abbf38767597da5186df8ef9df071bc4ecade2633366102313e659db8d8e0f293d379fa2df79f456497", + "a5049b0aa153e282457555bf6f82b60fc81aa6fd1c2ea3db031478ffb74b5b5d", + "350287a6bed5709dfba3d35c", + "849670914f5fe318eb01e8849e536374ec11e813acdbbe6a5e82a506f6aef4f916a3a7fb2e41db3adf990175e21f2386d1805af9bbc32a6ac156b13b1a9505958f68599019c4b7297314229c467114754277b10e9f49a4d12837ef24184629c8902ebe2a23f740dc826b01f8963d47100bf617b314835e436104eb207fa9a1079b8feba06d9369b9aa8222d38d87096b73678bc5db9a1add59394530e678b6ec93a80efc6e8320f2909e3e891306d69b016ade0d30cde64c2c903b401f9d01a29b5cb8619dc68ad6c21900b365a6b657f7d9ca4c145fe598a94eeea741e20a9329996b17aba5d7115c93623f2f5d6927068d0f190b49eb885429d771bbbb3980e9293e4d664a71c3cb629d869dc97e58fc3d328331b11df19a38d61e1705ec4c3d779168abe049e9d675337ff658e00d2d610c8f227d1341d1c41f1c01d8b5d83c4b1b30ae4318da9822f46402ee8cd5cfe9f3f22d90a5ec2d0aaa0baa85e10f5295cc6005c5a0887287b0c867a23da1a4c2196f91fe0bd4f0db1ab324c26fe6088d7583f3cd052b7f6fca38e8b21f98fd07fe78b7657da1f586f1fbd3d2b4079e20f21dccc0d269d53a29deb7c7fb63cc291d1d2c50ff163e08ce612310d3bd622f2416e193078ce4e1463f8a3490578af96ca98e665468281f1af9117a2ed23367df19b570885de9d6594f09aaba4090bdd1079720b08d54311793c97bbe14433b031c865b059cb4f75db74779b82c4f83eb4bd829c62eab995027b548063d7cab7d1a6f9642da6cf7181c0ac71594b97fc2c84b1768f81eb287091f63c76623c61e7ba90c922c74d46b9ae5d8094d9752bc1e8020a82601c356a201e0473d540053c707a88f4baad37826152dd245c4cee6b0019583c61e4327fdf6bdcae53584cdba8a503b835bfb5df9d649705fcc1f09376eec96c3da1e105accc1cbc21d90f527041a9beb85f8cbb1ee8db798838bb45374b741618f83b5d0801a3af2f640abdbe74ec3dc15d6711b4c1480aa8d6084defba82ed221ba359c9744705c4feee0955c27ef468cbb816694516f73fb541e0ad4ccf99ec8b67ef090505d1f7c4c3a8ed7e291c820261f12d92bbc6609da6c275349819848c9112826674f243acb9a29ab73f17c8f8af12c7437c11972c824f00db7ad284e51b9b508a925f0664bb259b4443d56463bffc9e5d845c9b9f79b24c1f457088fadd281f48238866e0b92d6253638eb188bbaa8bf6a81d2b1087904974752697cffb00b4ba05e5b7b842a3d2c0a743e4bd691625788fbe9df14600643b1d161bb2916176b6ee40aee38dbb594ec2735d41369ed3a0c6dd9073f1eb51d1b77eb9a967b53670a8ed755f3b2b73a6cb50a9e1ea7549346646dbe4b801c8aa642779d8761b6c2d2e1a9995e758ab92f07c4eb4a23c042171a4b354f434ced5f6d9ccd26cd6c2506e5023dc076ced15566fdabc7364f4a8594cd6ec404e1a9470f52a83052390e4f7789ade9179b069d9f84ca2c7ac9eea51035db817845aded7405bee90cbe92364c8c7cf8a366cbebd7a972438f2a9881395a8610a2cd0c06c46b60cdae5b1f473f4fd6ec48479cf35101656f05485198a470cd36af22838e7ba3e28863cd8ba7bbba7e3c2625c1106a6be44c9e3d9b9938679b26f0713c62c3757a2dc8b2d9eed5e652220a7711cd220bc91a9afd7c940dd8be71616ebb8b2cb0686dfa161c6ef56994a3cafaec5e79bd0a2531fd1c1a42771acb101a38988bcba51ad85bffcd8c67aebec5b37d526b29f7b9d31388e1e7ad7154f8e65516f0d80a30b88c2b868be2541d19ea1d2bcbadd30e2fbb1b4678bfef7f200e0f8309ac0701000c52ebbcd6fa00cb85c8d3ea9c5aceeb3adcf3773cfb3bfc9ac764d031d7c63ab888e9b03eb9fa74554dab4719d426d0875a508c8c86b22cabfeeb70b0f1461db4e5f639d2a2d28a089dbcc48e3f34394ff1acb887b89f75d3236c8143bb9b06273c3878744340ea1858a9f383f8bbdc259250e23a3c3992bf8b7ca7e1a66913547710402bb538a8866772d11cf4214060ed091d403e1c9ca3af75859259f88656a1cfecfdb49d57c193e60a2223627c681a2fbc7390140aeddc19df035a5207adde4f5736bc542bfdc943ae8b094f4a8701618688fadc2284fb423f602c41ad8ee11e5d9fdfa67fb7dc7d4dce7847d4875b3af667168ebb6082f6911c95", + }, + { + "67f0494a728fbfc84e2f4a043e121ee40f3b12b31616c78e157ed970db28674318b08d8b3f4c538d7b9d91b9b0b09ebfebb07201c6398fdbb8684c9390b3d6a8636333a3b086302b24c2e5d47283935d33065efa3fedd5f755218be5d4618d38c5c1db75470ba06bcd853f3f08d39c3cd9fa3618e70b103c2d9b2101fcaf39c1701436b720d723ed5c622d6535c9a10ec4d727abe237e80fd20911ceb84a90285fc6e07f9d036cfa65995f9b6300a927d7d0d2b907bac9d9c4daa87c2438a583fe85029c886f96ed08f5886bf53292cc0265850a1f4ee3e3288b604dc305d0c28ad35e1242f4ff4ae988b6deba48aabcad2fc6cd7eaab0a63510f3f915c4bb9f9719b1d90db123f639d9d4f3227eafcfad769c2b204dd2555dc54e738909122022c4f92f751d25aef6f9a1187750e825c68450e6d1223c2fe88aa27194b492b6788be6eda80b9b9f053cb77c8d9fa15324f23af5147624fc00c66e947b004bf38b31e1343c7cd341b98abe462a5f994e51d343664968624a2ed0dea9d0299d5c5a7e9097fa63d8b3ed96f917f693654766a9adb01110fa3fe0d8e9b102860d5c049df3fe00ccb2ed62ab05583e6aa0a5134d55245d4f643e274def29d3fc86d79979d599458786a8338b0071f6a01609ee6b2e4bba9289e2df780bb27491890d0b5ea650e62df819b8f98aae99a1b8870ce6d3c7785ca957d5b4094946925751f0fda1d62a9aefe3937a912c1b49b4272f87eea7e397feb84c0702929959e38a568460811e5064b1caf5dee53f920c6e19fb16fc9214b5de1cb770b510533f66d8a0e7f6f04ba8ba41869f8018abee31a6042d3919e217359988eaa9db2a10b3caf7aaba43527484d81304f0bef22165f74e9e1031b545ca3d2f74195984cc237b76ddbec85142a06446902339b1883000264031db85fb19b46f320ef3fe316f750f2d3d6070dec5b66ee8ef20701f20965f5171e44c8a99bcbca7afbbd81e30e74c6d48bc4b0d72baf562da6581fafbe14b6cc597f75e53b305036ede219ec56d0c0d29571a9c110ffeeb747fe56f6030dc26c8d3841b868a1ef56840932dad9f3bd7f75573086571f4d9f0d949510a2577d2f8fbed7e850c73ed4c071bf9a656d09dab43a610b49aeaa57333f67d586d4f50683dceee4942db9549f68eef4c5f8df8a2330857cdf2fc4025f2be7d5f0dcdc74a9cb593de91282787b716d416a3ccb8d6d40fa3c70be4ecfda26a5caf3724fad3d98db16ab6d8f26defc68392923b69664b0c2d56f01a549284b042bbd43c8faec940187f190aec08d06f9a62ab03c9f610f64c0010a0939451d5502511dfd3da1fec5a38f64640c7b6db2961def257eee9a3eff944828e9557deba68bd8e42dc7a9c1570e35537993061fa0f5351fd3cf4ec36386ec4cdc5a2882d5f16703b900c5000efa63888d69982e5ecd3e329c8cf5f003e23ce03c55631246ca15ffcadb0fc9d5634252ccda812ba7bf5e343c44244026512062a68374ed4d8add0855dcc22b30148e0cef0f2886be76bafabadf3ae1205b43c6deb8a41c338114895dd6b49deb329ada31b350e02a1bdad4eb05b61b50f9d22fa2863bd607406f552713e302467ddc78213d584b4933202438d63f99d011b97297f5589f35b7e45ccbd76f02453b7a7668c2b1a1f5d1d63eb805c8881771faaf67433eacfb22f9b6fa58b93f9423a5fcf667aeec39751ae17ad36992556431bca77059a29353598dac12bd3036633d2ccadc18f44123e5bc074f4e5ca380095af062fd83b647015259be929011cfbcdc9bc5d0dcf9b688f0f5d74da95746f447a9e1cb5028ccb2827b45129d04cf6990953a6d8ee0e67fe6bdbd8004f4744cae5607fe7ec4a0f14fe603dcead3367b6870d8e751cf57387d04b881f92cce9772d695f19b36e2db2cf6a807c9ee83225f5c09a11b50e99855921a4eced8e631af7c234aa31615c00ccdd7c6ac5ae8fba6e29cc233765a891864c7d73dae08ed1a3c27cd423d8d4efb550597afee8356c12018f496637daec83575f5e38ed2fdbafabafd38483c239d31cb4d104e93d16eacc6050033a3c86929be4ca8914a538bf540b43d7ce7daaea317bee1ab80504846554879f900d312bf2fbb406a0edc5f4f809cbc68675b0b7f09fd1a8a4d52c0929b3a8b9c1dae4b3d599b976867e6a7e8736450dabf5c49c949544386a71419324ea4ce5c4319899ca510f50d07ace57b013655b0929f79dbf3cd629ad17bdd10109b7c53a4f5f04a16e5471e823c898362df43f57ebdd1627b33fd4cafca6cc065d9140acf0454d5f99be47bc87e0f3b4d4320bbf0f21e7c261bb8d5d615963beeaa46bdbe9b83a8277813ffe6132b23564bef5", + "74dfdc364097c39ef91c01b707a522e28edb1c11529d5050ff820234e6c0295aa00591e09d547e9671804d7825705ab44b76c59d1315ed1297ef477db070d85076693013bdafa92e2ff6a654660008b176cd4e8ae23b9c792be3f7db54cf2bca385bddf50a8624397cca8ee3cb96944164e3cb461e68", + "b3b5ccd7ef49a27d2c6d13c0ae77a37abec2e27e0b2d3530cdbb7f36792a7d2c", + "c0494bb7249f864f69beab46", + "ed8d6e964bcde1df68e7f362243073941fd68ac77929c8e480c89f519f748b3dc337b1af6231632c975167a8425b174b42c2c60dfc0ec85a0a212bf5c9aada818a83f9664c8712d96de1036b5e5d8c8298786b753638de3a8da958549f16eb9c723355cdf7b999aac464ec39df7d6c1607e81b88b63043d1c847dab618f1b19336911b4b0145c2a694e61db71e021282006d48e37f10f3b6314dd012a07618228532c28ca84a936e0eff83723d117b2f2db857d14af5bbd5948a0e53018b31e57cc2a81f36aa013a844990753ccb347fe98fab294cbd252a8b8f7246276275d2780511fd3cb7baa2fd1548184f968c422230f7ad73ae9dde91295f79f6b799e7d234dfd6573fee6d6ae748b0a8cd7ed4862ebd957390826f276c2afb01fbb4b64b61a1bfc138508efd630e77580867bdc1e96a48a694cf0db6c2a11f05dd0bc8769e7200bb0749f5798b6f3559de55d0c281eb5df22b731fbbc109da9c68f209b888e61240c4c0ca006d105c0a7f43144021547d3316e5a99f6c429f9ea2f17d77dc68bc9d5125b6260f79bc8b3b8061972e6757d87b6544f21645c0b4debe5224f7c48142c09f35b8e144c0c1e6521f04c170519ff744d61abd59a56d25a26c5ed5972191b25e78e2140f3ce68fe17be9e59a79f6c69619a79b83614c670c7736d19c27fd22515fb5b896a6418cc0b4850e85c07b38b995cffafd9f69763cbbcfa9d1bbea6868244a66a5cc82e815fae09f5775d28437634926d571c2b0d200855e09cbdc67d10f85bd4cc334ded4c83aeea57f8e373a950f135997666b653e8de47a3bc0059525720045996bff500a47baeec97808fe971d7693dfde339e8beca3598fbc053121536c30d0af10f8f5d8e5eeaaaa9586d7abb563fd69e88351f93bcc46520f6d97c1a49ba9f8f6a25cdcfc11b2a722910aabe7435ac8f0dcda9f824fdde80850f21a2d4bcbfd2e9fcbd14dec05c117a9796db49e2f0dc55e74c7f0f615bd049fa7d0bfcf197dcda3ef3de90762e6f6f9f8a8936bd04fcf2a97cf18ecc8f2f118ffbf02b67f252097e4289d02f264161f6f90f79e1e1ef8414b01a9e1a77b88c039ad6eda6df1e28fcfe9370f0d574aa9e857dcebb19eb7ce8af9b19b4481c9fb3e1f0db3b02af483f737ce3ea824b2165e7c0fca8585383d4b0a16eab2c7e3ee5c038f939a97bc8e1c093cc5372ee45d81836c988f3ab3e6ee0e5f9549e4b7bc381a2afac2074cf75ed56b0e757e7966cb253d549fb0902da98294c6dd4de3c2e166b7e45098d2729b1393deb68471d4d3218dea3dfd0183b654ae4092a79357945eea4b28cfd06b40d30d1b4b8f19827895f6f908f0fe511f74ec84cbab2483ca4bdfc6ef50178eabad79b18b58529c9328c13c52c2869858cc20ec36ef7717e1c743d13f9607bbdb0b701d9df6aca7366814e883d23e51ee5b0f20ef70e2c4134ab037d213315fddc89009260981329a1872e541767adbd5ee9501e7df4ef0cdfae9769961f8716ee7dfbab0ec89b3f62e987387d5842e124a69b07245d359052ada50cfd67472d27ce2c4eacb5421b62dd7331da54ebf0989803797f4c8c781d0e2e6477b421c7d5cefc8146aacc0012af3f1f7cd71ce2b1045d86bf48c9a13fe469a1865294e160b4975023d0eb24ed26837afefc250a914f86f8b1f5d67d65e9737e841519148d4dd5dbf2b5a8b073861288ec9793d4b113d71c01727f67d791852fc3946dc912d60fc66bffccf4c45d859eed9f0bfc7f89086df5d5cd830ac919aa7cdb4504018052d67f6a3ca012ed69187cd5fbe91875cfade381bff1e804ba59cd59f0f75cb46dcfba234ab9832c3fb9aa8dde19fc1fb30677ac1793a38d94aefd9ffcd4e777e9e4f6d49e0cdac6c16a36bc2f3ed8e23b80350e3be6d866aaafbc8cbf7c69fe44c2aa80651164803150c23ebe262aa669c77ca94d215895d2ee9c3e325a0bf2c61e419a41e0f7b1ba8ee0508307d49301abccd5b74c054b6c7bd1aa67cffeafee033761d8226d9dbd7214b130a867764062cf4da685deefa23693b8549d5ef5e53df85c19bfb3c43c6bd073e7a836f849587a4747e1a9a3c7194f6d5472d2e3e4c81784a3061fc9bd3b94862c4784974d859134369486f2651f1db94f511c6f59f41da0d75307191602730b88e4e6101fc8d392c87687f3be454dd92fb8ec380715bcd88aadb63717cbce4db91a36821a572c363759d8d0a2ab007e5981b78731dfdea20d900b14f0c5ee6a4a9b532ed2134e6edb4dc267f001cb88dbe43aac4aad453b839d035697df7de98ca7a9ee7601228a79004b89796e9ab971aeb8e62c789bb21f38b77b492c57db402bf6a42ad0cee169e9251d865ea3e5f79b1801ef1e53797aa6c7060d6f9486081", + }, + { + "04cf92a64cbe135f7fc1d7223b95e41d13f04b482018039f4e7ccacba8aa15ac79a752c5666524e527fb076290ec80a3dccbebfce3ee9b316a65fd130f12bf88b9124d1f7772049e6d0c01fef881a1d44c8dd02f7b6b60e6d15df9e06fb86929cab64842284de09659e19451623525aec2f5dd3e603e24319b1d120bd57b34a0317ce25ac9c2f022a4847306b998b57c8d92baeed0de1f6cfb3177d0acab70de275238f1152813b9ac87bf651f74e1ad079b9bd779ba4374ecba459865b5768d08ae7e1dd691d6821895e8380ac9e5116580e8de3a2c5326e698bf4c4d35d955e45772bae8483d01de2539e8ee1ef9539ee132d80d85fff41dbe406af319c0d7703292587bcf5959f49241e2b03a364e1b682729ed261d0ae45d74d77634afe667413ee210983b042a7ce6dbb61c29d18450fa7176177b5a74f032ea24e1d08b220f6d32a7a836d1241cacda39d6acbd26a62f9dbeaaf7329a291dbf0aed4a2cfcb85ea360947585b1215feaf70ba71eb2d6bb7081b2a21bdcbfdae6ad2513a9dd714d3d06c2c2b7e322a1db2d48f9df1fb44fa066f2bb42b196295ebb3c0898ad55d5b317986afaba0bd5e754cec773821613e908ce2bba6454181f9020b73e758df18c255c87df675cc6bb2b8d2eada44196ac10c26674167f94a79f4be515d8d6a1fd3228dc9a85a355b030845dd4c5f481d5b6e74acc66de730629581b022fbcff61e5dcfb6a7f511aafd577849a6b057021ecbaee53986159c1ba74c3e930c34a159f467f1e9799cd6c1151067c56769e43308c96c8edef8aa7634d909310dba9af2128cdb8c29b24d3ec2a4f43a1ed86d1791c9a670b240e6e719f01827aaa319bd3ff53959a776886a1b7c942a54f141e6bae8576d294e44333e6c5ad90f74863f69bf890126016b318e0f6bd2f0adb9bb861118af5f6cd28dc93d56c8a1dd080b8c810ca29267d410673fe367dd9d1353ae2bf2fd88d57b4202c21aa49f12a01b93acbe260492367bc219d3afb6e6f35502f6529bcbcdddce9fe8632efb034a9eaff8b4a48afb105d04e3fcbbcae010ddd6636992213750b12fb3e01ab72aa957136e0bae591bfb5e0fe819cac82a98ae8df230af399160594540640c6b1d537e7b5f1cc47b08127ae02c35b846de56c4c08773fa18d4436e14b76a7fc4bdee301d0af4880306f2f33328ab79f6f24ec779b2b1928704f09bbc5b0b7108e9a115e4959df79c80eacfb98649a0788867e23b2974b22e654ddab0494bc922ecdf17727d0f0efde9dea7601857d890bfbacbd93f7df794bbc254f50e1e17eaed2f5d5a2e6c58083aff68434730d406fb9fd02b0dd7bfb99a04aea812b6830fe5e05a044ca21c77a174bae8b58eefa11ecfcc1c977bc6218064c9931b5c92f13cfd05799f11e130869c293c1b08dd29c899365014fc8195514b286c97cb6dc4b8633e47751f87fbaba137b6aa04d072ae06c2b2f34448449f60b1272c1efbd4722a2be749a3d2e5450aabef1f7c51bd8324607668a8caf8097c2f358b1b09fd3525d47ec9a7640eb20ffdc17c4f7eff63df75dc7830c471ace3a727feb11533d6e9a2a08106af33069cf482ec63724032e81cab18e12cb5c4c3ddc374e2f75bcc99fc5da09b80a738852a14e8ac552b8471c6ad52e35317b730db2c13c277e06c643e0d0fbea43833de4d2c7a9247ff040e9c56f1ff7ea92049c5341c4d1478a14275a10119d934e8165152b89951bca7ee1399dd8232fdcbf831d8354640e698b68799d060ceb877201b2fb96cec514affeb28721e163e1648164b9e5722271db9b0ee1a7f96819fa1b1590e9daa598d9571ffa3882db9d034056e9b2785a8d13686eba61d7d45cf2e9ecdbc391739ce89297211472be18b21401658c5bf29fc3615924382d802a166d05dafe7876e70a0d081e80c63632da379766928a0555eb5e7a238cfa4da267527c66caf34dd40055f2801b29b3f5604a5bf3d46048bfbec2e24abd2fed2481698a4b5cd71f5d2c12dd473b903c9bdb978eaff7d76fb69951005681ed7b0257054eb3dd6d10097fee51ba7e8d565925e4091cbb78d255c9d3ab4ac0264d172c9bcb0908db1288c9634248f198a1167daa323822058decd83936985f83b08b1e7b942756a7af200af168fb8a091107b4443fd649cdc22106f9b9657c69f19be485c23b2c715b3762c332eccc44f380883357d10019f20612ab6b8f155c2af9e2ec340e5d8f45bf5278ac1fbc9f9f44d2f615d21007d822b244b1c7a0dbc182c7f5912485d6e4d74e90f60a2f964e028c63d49c6aadbf1df170e4914ca514139ba538207b1cf7caaceed4db8423dd1086b2adf15f6c0e50dcf2e12898f53c339a745316904ae03c38b417bcd7f5cd5ea77a4f06e65d56c24f37ebe72d271ac79b6ddd2bb8bd67f0727ead49737aa71af4f620da53769ca3ae878adbaea5a249128074ca3ddbbbaf5a68f9cde2a0e8d69708b0ea7f4c8d2dd4180882bdaacccf2a409a681c551776bd10439fb12b7548342532b371c0e045d8e8c895929464bdd4fe25f0533c66104daaaffed52446094978bcbb389c", + "001084c8a5175c0ad43108f9215c35886c82321c800740c6118a3fcd45776a4588ee0e2d056a37d99b40d2bd9c0845088a77240b7e65d18fef105d3488c77910b5873dbbf275948db5", + "d614d2e671066e387f7eee07bca9f9313d86e6a4d1371360900d670e11ecf1e7", + "674a516f8f59f9067e0485e3", + "1ee376e9e3c89b2147bcf75480ff0dec1d0e8cd45ba812f34c84124871d484b4ca87bfc8cf99f85ad452c482933801426e2737a97468809fa36caebebe8eed07a626b3bc3614ef1ceb54f9221ecb16f413f0bd9ed4b3010c40632f05223484af7bf5948c2fb8a3d2ce04c53e3f2682494f3969a0f8eb738cf93c0141799c9e6b68924433f0326991e19626bb19e6fbb5dd46baf39f92e830f9b1ff465a007f031891fb1f1799cc122d3ae7a55624356b5297bd5d948d9ff2e414cd8adf00a53524df43f398938d33c93b2c06bcde2679566c0a7b0177b4a873f35874739d550712d5cfe3d25c19292ba97c01d84224738bb25546e5c252fe5e5f260ca881aaf176a271a6fca2edbb2cf23ae6d4c56c20daadadb8205c2e33881867cd67ae6e59132edccc3601f014b744ff8eb6aef5e09b358607695d3af42ab8fa30e9fdf99ce54427ba9da3699de19f7a8f9be368df47ff0607601a91e7a5fa6e72be50bb32b825427cdeda3972a18a23af290986cde14f5fb9cbddad336f5efcd2d7a0cf3d5b23e54b702352fd5ee52d7e3479441497d56e17d5868574c56cfc421ee47bb00e9c75b84262a1b9e2cbfcccfed9c4c386ef0d2c1be9a7b7556909b5d72a38b7258acdd624de2396c75386e077c34f005f92a2203c82d1072c8998f03b1df22de832ac733977705453b1d72336b8d371cf1ed3923f462ecd22075de5df68c83ab1e6648ede7fd5ee5794a744abcb32af73bcb182cf97d36f37c15535c4107b7c8f2321f9fe0e2b6ccbe74204df3d748c05bc1e0e2c55ae1aee2d4aa4a52e98ca7229d6d06576196ac8e4b14a9ce807075cdc876aaf904c9962741efa8c6caf41e6b87b2ecd6636e2e58f3ecf576e5d8b895162545e618960ff6e336ff17eacd5a1eb335001633fa78c41ed05466d904ef9b81b643a043298c0e291a085e4e67da72e329adfccc407f800709865147db49cbdf4232073b7bc7ad89b3dd901d927ee08ae6497e0f2f9d052ca8d7444d2e2ae2197f930a7b1c8af38d8739ad298464169823684612cb628c484f710cf9c552551b6837b575a43275100bf800b7a3d777adc44d07f67cee5000422b9049dcfbedfccded0f2aa4d189621579b01e3fdaedc4d772dcc593316ca85e7aa248d219dac21c561d318a4936ac0d3bd5c75311486c174e0e2182affdf69bdd6a086534e4a602efba2b9363beeb5346539b45336cbaf479da6b15b226a9ac026482216dedb84ae3443b306820d9f05f78dca7090d727c7481d82c6e5df80e189e24e46f5758e453e542bd91a58eb51a89e07c50afb543c6b998704432e863dc4c0d0236e0672835a7b0b64e14f5ced2904e54da4287597f920bb4d542c35d3b0271cf0eec055656d523d7d2cbd667445d3e8634854f8616b7d7a7f3e14fd32651e9df40e1daedfdff1371f16d5549ed5646adf2d417e4b3a4d145bbe0974ab388c2716861a08296b862e4fd035163281457877eff89dadb160eb2b780414435784804bf4fd36602699d8c2f6a8cbcb509198c38e2df2edaae7bd7c93313ca98a9c2d24419a12ce35b0b3d68c18840e3ff8739d70969927c7db9a6569787bdedf5c99948a9e79b2302a83a71159f4c789b3b3f05f1e574f8a24c899ae3457f8e73f9bd86976fbddd83b1af337eb8da4c0dbac3792921597e18a2fd3a0ac89a270794529d370d36bb6dc7452e754e903781cbf57c8646b92d5d02842e7df229b3d721f9b981f9d61a48f00e53948a5dbc4f739849609d94aba3e3f5f8163d40321576cb8eb8e89953b608a01184d41aafc13f40c47b12240e3ad49413473c26b6843f4514be221c2af632d1a54cba230457f23f00b2608485c381ae03b389ad0a1671fb416de4659cc7f7a9c4b6d9807789c307d061fcf613b96a2d79e5e3e20b863c8b1b75f35c982b40ac8dcb7d2712ef7df94901facef783e8015a9a48574aa6f0cfb0bf6c1a3409028f8d62137c347f5a35ad6a3cd60d71aeb29bae56bb4590f69226fb4e08fab7a9f41e58f4d5784540a70e7a97720c549c8440b089eabd0eb3e4d37a2e54b1160572ce568f4256dd244decec31fec555017ebf488e878945383750eff26a8a1cca73e7d6f52d8cb229d5603360a3bffec23029ee34145c4aade82d486758e0aea9e1b7bf0b4bfbd4fcc96aab66a27fb463b48c6a6c5c5a60253e2fbc5716ef55629277a5f3b89c300e21bf1226241ce0d587fe3f5b11e47f35614169dcfaa375ee1aa589be33a4363765368f5666d155cf72e851d426fa67b982aac4dbbc29356d71deb0715b34e00b9fd8876bbb09ca0701b15615f05cc45e128b3864b26003e6ffe801c4e27402f37b8997e0c29ebc273dc03358cd22fdb68d9cd3b56ff8248a727c2d4ac65acda4d0e0f511bc07ab06cefcf444f1002c151b953d7f7b19695668a86683497c2a2d2e69f19a4997148d2e8d158da859c8f44437d9ce9db92f84a88e89cbffc74c0ef4295088e2543a4f7c6ae9c908bd987bcfd7a074f83ffaf3888bd7f430dc5a5bb70d223c21b1bcd8bff2103408460df864dcc168486f6a66d67ded366c6e10f50bcddada93627cda711764a57ec36035ebc", + }, + { + "ce72c93caa49bb9850774149a87fcf8e23a0c53701554468645554553d54190bc6e247712b02097b794bc421ca94afed34742435ca689d2ebef183fb469c060c7f4d7daa508726c9d2eaeb9c7e9a89b30faee8d9168607d4778acfbd27d5caa623475073ce763ca061273cdfc2c692d1747baa8a01b15f783b2e36620400082747599a16cfd6b630fef310c0b9a2912d1d3bb71eec16972745cd8a49cd927014eb0a2abbe0e1ebded4fb9e8d9e2fbabb6a71da5688717ecd3e08160b9a861f86904a41702b2c4fff28ed8cc61d468187b75bde3fcc5c0c0a642215fea83584387fc5a9aaf2f8a91ae535e0027b618a32bd687289c47e9428a1a92649deab825d702b076223b07c08e55c0b60be95937bfd0504c18398e924420f6e20baf07e2b1b858d3e360a461b66517c24e60f9fe314a4a4973c8dbc7e9d2a9f571a1d8235a21073d81ab9f4800b70a5f17f44d593e8792a2507e6a3a41042fb2a5f7e5f028ed2daa88cce28973ecd88bd125d50fad77b1fde61c38272057d9c65fbfc6789ce41315a105af14e277a0c39d75c34aed7538c39160eab1c8c47818743e8111229426c399c5e88c4d894fdaff0315ec885ea019bf9acb785f3380c37201d494a60b583fc130bc0eb9fbe9b90eff95874e35910dc05c761f8006e2f208b786aeb2eeee841f9a82d9966c82956c181caa4dada81dfa2e2d7a25007c2dc7f2dc7ad1bafef14581cadbee4d614a557df4931b9ca105bade8fdfdefc0d96eeda11c08500b1ca827ca670ba07bb0f85af92914c43a6f71226d6e112d487f1ae99b2239a63ee2cd0849d8a9c488a11f82ca334604a2b7260f25373c6db75656527890f9b772c6bfbb9f687f27099ea9d4d1efd874a6ff83cc36c039ed1690408f20394692ff054d9e6eccc6776b6f4b3c5f24b0052334d159f40b470a9b8799bbc0df4dbfe59a5e536624cad193160ef23abef85df2c9b6e6d4fdf16f848a2a446a77044f1162a278866c491982570cbc16041908cdd0efa2cde011526a3c96d4b39a23c5fcc53d8232869cb4dea871f4ac8afc795aeb1b28cb2d7a3669100a1cab2ee1a7f31e2a25a5c6da836e4b771ad57393305faf582adcd26045e26b618d9943358c615fb206258c8993d700adac7440dcd3ef34fdcb065e10e9c9727662b5abee160aa01d2f2ca6c203a76fb01bb08cee9fc1eb6bc7497bb012ed2774a2d263b9dd03d60c307ccf33233ee33eee702c8e3118f9f86174a97462d0e804a24bbd7f4f938c7f105bb23399967288069e1637b60f2f1883d88ce5a874ea4bc0a7ca0f3b568e4bb1407e4bd6f0d3dc8fe91345f8435d7b1be961c45e4b0f1ef2d92d2d30bb78e1fbf72cd2e7ffae76e8c2bce005195c2003bde46108f37ffacdac28fd67a0de62970b347f0ae3f5f3a5b1d3aacb2fcaceecaf2ff4a2aeef6f5a176cc1b74b234f5658ce603bc353e075278a4056540e43033d37a6eb2615453d8206f5cd294423811283bcd5d79c4afe268a547b98977ed5cf24c0f53a0533bc0b2889356cacb67e2f7353060f9e04362859b1c1f02f96bf5457b58e5ce84a6810d39d7c7f53faaec64db5d6ebb90c1412bdd503ec6bc240c277ce1f5f18876feb24eb6a77e5193e33ce141e8720329add079dc9735f0a35d7d85436f1dba6dcff9147777760b5aa2ec9c8b5e9fb4fc602ec8f754c99ab2372ff5963dbff3fda91865108e606b214cf7acab875197e78060eed52a798751998ce7c73cebc4d5f429f6729a5193d7593072d0921ac8127ba6e796107ee7b9fbcf7128ab35fe9f6fe501fa4695c19fd64460685f287acacf5250efc13899bcf80ad5a340d432a0b9449affda5c8fa090f008e01873aae7d5fbc7972451542c5c29cf9cfdf23db736c8a7112536b1b626caa63f3e4117044cdeab612fff8d8c194d19174f56ce761f6587349c48fab30390f231d209461ee7e18007d10d83ea5aacf199f3b00003259747b1d03274d3c3670595604bb4482d345ffe31d3e88c70da16649a2677bfbdbf618de1d651a53d573aada2eee5c01335ce5519a6d18a70f7ff0b1e66bacc162c49f7f29b9d3fe2c7dd85b6b355c9f9141f02baf08d2be87c36f6d2e1b2e90dfcd100886e306b360df0ecb146a6aa5ac5ad05b63a219ea65885894a386248254348ada17908d776f9b438306ad28b208f80d6b9b265500aead945134b9d388ed5d6205edf07c5d8bbfe0916d0943750150e09c76359d24e3317517ea489fd8a501dd93f159f07d19d00e86d952fbdba2db771910143df346b30a30fba908a1abe5349c3f241958f428dece7ad9a91cb42035c43573b87b26c2ab216cb4c21799f6b3d81acd300ff50edd6fe7868b9ba6c160db3418565ada027b46b63e5d4f3411284fde585ed3673b424ec1cdea678e4a43c262991c3c9b988351d6e0a10af1c959cf21b7a288f2e4d7b3b2c11b400b5e036df71fa993b72ce48d0d8598fe4ef1ce70a970f89b55cf4f07906a479bc84a08bf6ab25221de37afebbc47ea0b38b87be128737d7d43cc84d336cc6ffe1677bd802910a2084751f30398dd0ed09589b2befd2f3b40fbc013318c822fa2faec2323fcc52b43161f47aefc557e92df3050dc5f8b1c5a4b2f8bd7b2ba7aaca79dcfa362fbe7781a2e261683a4a862d5f83e34845a8fcf8a1aa73cd521e87cbeb71f20b20698cc34bee3b8628b1a3784596c", + "08b3fbd73d157e79ea9f61665d19867dcb8c1598c1d37b793606936d8aecd992a0d46addeae857d488b83be5d1c1639d4d78350e4cb08782b61bef4107c9d3a79d3d85", + "a56f38b4bbe83b3d9e562cdf5ef5b30593f08a1a166676c4fb0d5861654e640b", + "8726dc5cae9497936658f603", + "88420357d1ad70e7c7bfd55b3cfd4bf06cd4e9b4ed5cba681045199a06985956d35fe86b28b9a4599964930d05d230a23c55a6a152f67082a453fc31f68489df05c553f9ae5cdb3f611445db384d79af865e52440a876fc4153d896b7a2318dbc2a4495ecdbb2e9dc68022326d35289e82aa55197aedc266dd91ba3018c7b474ba22b4e773773f3e9890ea84bc16a6b235e4bb69e785c40c1adc15b0e0ef03aa147b0d14e62341e27398b84a53f72c9199cc1c94cbcad2bd31aa69c96b06d01775b8c0f80278a43f526664bdd430164863c9c9140ad87798a5b8f38dfe90d37f54d1137709d5311136b728e6c799da244294daa4c8b44bfb0acc603a16c088a081129a0d2cff55ce1c4ccb486fa0ecc3098ef2196f47c49f9d253112bd5746fd99df5d2be577617dc2519c0ad04ee49ee1d7be3d50492017108fffc9a414ea227af39fe49fb2c895fcf00d927bf4a2d78c466fd44df4768e6775d39fa5c834b60979ca27ee9f00faf37a090838f56275a894ddadd265a8d2de74265e4d8d286639ce8f01eccd4f551cf6b4429eae3f08902b6ce6ef422cf91ce8946d9403fe8064784895b62a7f5df76ea294132c59da6b9f53d4195c1e9000bec499c14cf8bad460aebb024a76ac50616f0dcda71c0f56dd3239b11764f3ed6ed06c049b2ad673e4beea391dbb854fde1f01b1900858b9809259f3906b34f95a1c6ce8d24fdf0cf7c2ab7bde2202a7f1482baa6e51caaccef9f541c377da620bfbc63955cae0e6644ec8ed6878f704f1dea30d6b50d4291892bad19b0234582d50c6cc0b4165322cff24a9dc2ce1be35be0fdb3bb7abb777ff0b2f4cf16277388af5a89220d59f1f45ee9cc2a0fd7af9aa8e9e8d548fd65be4e47e7f8ef58f7701f93a42e7ff78f70e807fb63513157fcba96ad9731b2e8f80da85ef407d5c368ad16f0657620bfc122ba1b10d7ac2bf46d8133a9c6fec1fe04882f3d5765da8f825e1984a4313f72b67d806ed45c000dd3ddedd524d474b9b5788547d0712e8edb4c6c586d0cdf8f2384f1e093a7f6dffea6e79df9cb9398f5d0b9a7cbd63d489430fbfa397a0d03ef916b7702f33a54ebab84a7055b7ec6179b0ab7722f03e126ed343b1cdf2af3763df7e3a070162535514b01ad86c6cb051859aba1cc4766b12c8cd57b73fdd3c65af6961c45395aa7b885dd59e115db885f644e1c94bfa26b3804f767601c86e2c7dcecd4daa59955e6a40991a4b4701e63fc82b46dc0ccf59af40a8583171375551c868436ede535705f2e6380c5899cddfcaf9e94314794bab98846cd5ba9e9afbdbe1ea7fec5e22e7b2aae59fa598f4d6c0cc6f936a616e11bf01a2acc891cbfa2bc53c511a8a3a3da2e3aa5907d123ab2a4a3c0009fdb5235a3c33718fe4c504e1539abac6370e06150c402b5fc2f8c32608db4ce2eca9d1e4b96371ee195f6cd632f5b972385f9d5d357b87c78cb4e2c27aa9851534de14de923543f5fd9d55e34d6e8b7e1f3f2735df80046de01f79d0321066f9bbd76299c7386d285f7bf4ac15e033e89a040710c90f87aacc09fb8159f93c8b4860247eef079e32d05707e88aac734a2eadaa853f528d9986e0af3435b5c5f44ddfdab9b0c9ab3eea97676e920f80d1794740067f9b229fb018c804e595aa997533a5e967cb79ee58eea18995a90ac08333f1c69600b17ef4f454f540dbfa8b502457761bc4daa876d9053ae1f55001b6916ce559dc6268d01841255990e56614e6f4ee4ce04472dff0657360d75da4e83a71c852a2585110e53137e91bd89d64d99b5614ab2a5691c876f15d9931b092fc6729c0732db5cc40f966fe440ff99d7d05b24a872f552c27fb0cf2af443340b153214b407fb9ca3750d9c157aa75763b0b7600959663889d00f392d6ebc12835bd2f03ad802a21d0228f1d2e9731d0f0051eb2d5369ab790d1134c38e28d2bc2d5d57d6d897244742c176559961a1e40c84ee5c8225c8d72b92352a011e3785c262aac115cafccc2fe1b5e81a677a0220f207ebadd786b93f58e40eb6ade68ddda5b66c5f0f6b4b95cdb8241156110ba3303beb79acbd54423315768bb43b4fe8c4a465e50c4e63bce272c4d731ea4c797e14b2de31ce4264e2479179b906f67af4a23c56e817abafedc2c7a65aa45f0c89fcd0baba60561a8d013e2d5e0bdf9fbcc1346d3edb20e6e9f9c410982e1ac43039ad8fd0ebd453a6788376951fc20374b59946a6803498929d9fdf2e0f5e58c441329a79d1232e957b3a9ed17231c663b4819dcb6b4e33d205edaeb7d7ec466930bd84a064b40aa67fd76f6ca005408062b45b5aed6f8161836c7160a8c8313dc9aa1c6d42c2c16972a1065e41aea9c58db7916e1670cb42a8b54d85498561b4401761506860b19b446655f8988101fb4c45067e30edc3f00df8d88ee34111dd6626d605d993ff207be09704fd8dc242ce514bae77cecd20f10d4a38435a3f5e545882fdc224586a04ca6a162e118d23716240fa67892b78faf98a17916471f7f121fb9f85497a0b34bf5aaa4ee1ed8a4681bec55d1b4973d4368600115bea70f20a37c9e942b87f6cd1e2ab70fd401e703e3c8334c75fc338508e06d6370779578fbe737a75954b4701bfd92028ec32d3d7ae606caaf9f049d9774f70efa707c1c1174d9fcb5b0a0ae2a961c6f58e48ba82c2db14ebbbdc24288e42879f547b855c86dea9a3b9877e4b105515bd78cc43465", + }, + { + "bf7884fab52251e202afd7b5b46aa53f85bca5fb80a009d8016e276579e401385d853312a884f4aa33cc5fe7360426bbc0ccb7416cc0196e2e40d3a825d5e0825a1394029789acca550bb28b10d847d0a4fe1111be2b7fec6b5294902775128288a784203031ea853c9c104c75571d19552e2a1359a900c5fc9455230968a5920f2ab23f5b9cc49739d4e4ae2c01c7812ff295899b954e9729a3bb330b60c51a8a7759e5131d7d4cf261fa1e62c29f91b4341a4fc968e7f30ca2261702eb328d628b7275a9efc29b50bcb9b27e5844328d5e8256c76949d30b6fea0d5a1c9abca80d3251fcf4ec4db0a5ff2ffd43618aa2e3e1694c2a3c579a2665f443ffb1eb0ce33c09d7285687cd55b6ca9918553bfb36a44860e09ffa0604ef4904a034108370195a986fe165c598305eb08599abbb3df31b1d93162397056d9ba5a1ac2812c582aa356310fafb4058abc5f157802e4a9b4bddb16e75b6db105b7dbc838f820539b76949b1648909104efa67ce28b16a738f1be104d2bd142d3ad1b1c953b6020a1f4cbb84d5c49424befbf2e6ac5c593b783a3f4af75477312528fa78dffd82fe493d821e011642bf1135a5be91fef909383953308dcb61b2f35c2ad259acd1a2e953c0ea6a03a97b384e39c94c33d3846c26b4f9f116abe572d5b7cb81886d6adc2d544630fdc1684bfb32972e051b9a2bd0931de63e025813b923944290fe1ebd5264ee4f25569a2088314e8d4ce8b91c7bd602b9d85acc917d60d30d5ef1cbb055b9ff7b0f999b98caea2517d2de334eb436078c90d41e0e34f11b93e3e643389f43b3afdc4f47a7396cbe0b4bf159ff27618cb835aac6699be1fc7ec840b767836a165fb95d06f2cac4fe15b65714ddb8a095ed4a5b57e63d536405931b6c168683763fe07c32aa4130bff787d4d440746a2dbfc584a502d809076b257482abf7f8ead7741c82b54c41acd41581148aeb4149b0c6eeb39ef7ba091c2e8bc72583b2fdf8ce7fad1bc05aefd6db0360c644a9760a9729a88ee4b2ab123d7238c12435b9f3b4660e74c0fd4a9b00aa614453d84fea01f779e5a924f8e79630a8bb6561ae19c7bc8d88b9d823b98285fdd65d4cc05e443944ed5d3cd4f46c7cafd1dd5deaa519772dd24f508bd2d588a832d5689119a2d506ff11dbf37d57a24e35ff38da18af07eaff5775d12dfe795fd3e1f0ec83c5f283d6cd76532519a15a18d93431893b1b88929159bf8fd21f62b30f4e37d540baab0e30ff3349a08d627ac19303fcae8b8e3fe44eceb66d30697c7ea051bf5afdcd8bfc00d49c8d36164ec9194a78a4d8b78826863e93b6a810354861f4a35ec12e5ac102f74e390d9c0227e67acbbe3254e5b892786e3a88a383ea9726485854a319569a678fa70392cee90c9aa83eee8df6800565bb8e083e78a064c0f8b863120efd799ea57d3073663c0d0e7bfb9b717ca1d6372fdf75a77fd9677791cb899fc8033d6d806de1e6aaeef525ea909666316d9d604c1207cbeb6f427c3acc1b02cf59704fc65135703f2a9529bb2c8fec992c4de53e54b029c3f2a5fdbec1008d1a70dce0c11251003ce62af712b9e4abe631902485404e4933f346f1b4467fceb65baf776d0078aae6a2a1f95b85a441b635663c75b485a8a7cb9a5c12192ac874d940e2d9b88cc05a2db9b5b35df769925da508112ab0b8f64a1408633fd0d81810baf2c846b222736bd826c8cf905b2c35633d6013f5565e0a5ec1492e99613f53530799052a0d70023339d1c394fdf9f73a590a2faf68390d2a823bc3e47a173782b03dacbdadaef1e67fb47a7cad71b6067ce5b5e41fc20ea1fed28578e9bdfa99faa657a754488ed3fc084faa7a05b0f6eb66da0a28e9ab26bb319fa4ee993de840948f94dc1d68d926b783a0bd3396a89970b2c2595de8148e87b87c21f664618af4f567115d403715c3d7d2f66d7a90de2c5237893a4c18c20494e3faf94485ed39ecfe972c36acef0d7ee57bf8755924c790ad02dcc5c4e15aa7db53eb6040244c3ebb7874676782e54dfdddc256018ae6af8cc37450a4cef77f21e2e061062ca0c2a514290c960f5993ec1ce9eea6d09d3293118237e079b6015b966361c3032368174d74ae5cce4148ea2b3690fbd3c28ee544c5c5bd7bc618122979d52c9d3d44eab1f2467f338e695ec5f95998bbe77dffac42bc2809d43a324e0f5feb4ca3d5fd951b7dc8a9e6276ee080079b68849b14c7573cd02c76027a856165d1043acf99554c62fe32896d120974ae71f84986bfa0c28fcc399246bef3ab90f8e55f913aabf339dd7ca6f0861a9ef712e77dd28740615479f39a37e746c7df2b267066d1649fafe0459f665f3d5e7124db43ab1ba5ff94989acc7fe0935e0bbacf718b33103a1355d97ab416d8263ab369e6cf0ee563a77f2f265fc3856b7d54dc0887ed439a421c14f733ec1d6da086536f9539d23cb8026218c5e783423b5f4ac24c8d5d8faa7186dd5ea34afe299e6dbed73ffa8f415da706442a48808a9342d6209f65ca11eba76f8ef26db890da76671971f65bce9e6112c8aa92523dd5295d748e28857acff408c161c0513b37b855a8afb0764d118815bb1b68f8f09156641f7eea994ddea20f4062607b9919d041c880b71592402a4d5b92464b239caf431a99dc67787e76b8e1d7337af004bcb88473cd16b3f7640e8aaa59ad4609f060a2cdc71a4b3ed22c1506a7050a63bd8ed68aa58a8109980bb3f2b9f9fba9599d7620b8c25e8aee739095789af83529cfbfce5941d7f14c8ae30583deafdc7c25fc34e75bbed6ce4f6b47e9647c12333ce08c7db77dc94161cfc43f7ea0bba39def8bf8ae61c6fdcc0de6308af963c6d9ef43916d0cd2cedb970d5937c9fdd4b888cc66e99363b5a04ae62a4349f01c3933ada64080741b1781754e4a722303faef69e382cd9823177e4d5ac83e76017124a7b1a41bcdbb9c4209e7b42c", + "eaae1c53919e2029c137a80f91704d0871be2c1870d0333d8bcf7f94", + "4c434cddb399e52457113cc7e16f046c3f8301f5b6c296979f8a091a9ea557ea", + "b633c1a0e1ddf4727b149b3d", + "f1de487001a580cee6edadb1ef6b700c861a70c6ef16274447b8c61bb10d2d1efbf104d5f7d7172c6a5cf9c06d886165a2919ee9418e2e8f803d47832dae5ef232ee300d1f973a6298c22d777a1b16264353cc731a7a683cfe31e0abc704460788c555c0c24f281b81d7761235a955c736f17f213a896b40a034609ca8456ec3cf5906d01121b7580ce19d89347b6a59c81add318df487b2442a7a8b5e30df78467abbf46bcd5ee5b994a39ca5bd8846caba6f02f4f1335b73d4e20be0b6ad85966f86d1bb857713ebf947ae936782f1f4929498bbd66bdd5ad6fa252364a5a6b46180e93b54cc321b3cf63cf23d55392475c6b8c8c9dc707924b55544151c7c55ae0bf391f793e52bed70829fcd32b2926600f65be0943d6a9a96547675426b0dca9cc7b0f5dbc9d5439d0281014c6c159d055d6bd89d67828ba7fd2a0570ba82996037f7dcce297fe6518331270f6fd5ee63d406cc5081472bc5f2298a9208dba9398ccf807ce9af982885897715b3c5742456f756d79c70434a9baf7b4b6664c9d9f5696c5256b74099e593f97a2d4a469cb3430d0c3eb06083398cabd58af598945a85c9235a3fdd9ba7686e54d0de9afb594b1bb030be8e6bb839f6b45699dbcd2f771db64b0c62bbf6c8672fb412d60c00b3d87f82ffff6512e8308877573323c5a2d6a216ce3e2ce07c9763835ae59d44d7958fd873e3995b62b1b347e489ce86e023ae27a6cb03ddec27a38fb233499a714acd89232a91d38abce30299f38f437f7a46df647f2be862c1e7bcc1e4263c2147b13ee5b345b7fcb973f3ac71db8bc12309f67ddb62659bd73fbd20664eadcd23a79233386aeec1a6fcc8c592053954ee53826cb9b6bba22400648887311cdfa5414c96d5956fe193a3729be1434d923a3f9849f6c419f77ea05fb72f3c4f75ccec03b7f7aef8c8e55c8c5480ee505ae1a7594e6a911dfbc39dbb0ae8656f5972eb644c64203a920fe0078f3d050cc5666ed9747c23df7853d6913005d0156e741a5ead3bb1b22e5bd802c303a73a961f0b60d0fa698041c22577b44eba5d6071de4b545d9f5de24944c151de6a189bfdc223e0507c74ff929f06a2e7497e8c63073294b4aba110a006a6e9510a9617405d9ee711831e085940006761822672549d1d1c70e50002c2227f6f304b9a7f11dc05751be2dfd297087044d2e20ecfa0c091478d62c1bf5f0aacd25bb0384853762a51144b77d30418b633c4c10a6eda7b2eac46905641da0b685f85349749a91cdbaa4027fc50eb97a7dea9e8cbb5b5f386ace0363803ba579cd16ef80dc40ba1044b4ecd0e81e382635d7855e2341b18e0ca705ff46990282fe25093a248ca04a1fff64ebee25065350ea4b9e5990da4dd2e28688ab08b6d6fcb54d70f6d74fd7e5e05d21c12f5b140839aa966aea9ee094a923ee5ec704b5b709ff009c20ed89a75468c48b505d07c7a5ba1ad54ed610886c9d84468eaa598c71b017578404c909dbca431703e0cb1cfb975a696a1677bc015a75db007eccdcb21b9e5e119c48f148c2cffcf29e245e52156ba5ba0a8b0031570e4cbe7b3ac4646353594f0c4a9424c9d97845c5e1a4b4016df9be8df3013e5269484cf32258849afbdd733189ea11783f0f64d3aba9b4f48818011e868cc03ecaa44ff0ab83ed12981a6df445294ff672f3a16d6e0d19b90007d4646e967e0fb1763b3c879f548e1103a75c94f3a7f72be78555eafc086c1c58d1761aac60b843704f234c55b951a1303a12705f2120f784c2bc1494432a94c835d908f0edd5cbb169afd2d38087ca5bc5e5df9c3bd970dd2da4fb2a00933538148ebf669a20b5beef0402e53dbfc3a0f289b33b41ca27eb2f036a22f0d02e0617bd01e8c74be264515c9b46b9ab6fc67403a35837844580794088a9d3c14ad9309435daa0396f48017be524856ab6c191350529962ead64bab33171a01bb3c144b23bed406cb05102c693ce5df36eb541c47e871acf56f2b47de687eb9b3511ae83d06b1f69fbcef3225c3469c304741437fcd0ff4ae3484c117f51d24b6ae1363beb7d85d9b61e01e3dee901b90f2d3272eedb384ddb4d3b9594b9c0926595e500f8ce2e5cd407bd7a4e2c8e6f4315bf693e8c961ba5b8a6c7f5030c68a6b995e9d3f9eaee9eebc9d679eaf72a5f1cb6b2fc66edc7dffa2370dd778ea7ff446121999afba7bb35ceabf626c6269bc466d65f7f812c663bcb2fd87d3e09ab7d71e727f66d20ec48a5d2bf0aaf0aca05d1546d6e974f90df85c1393e3d45731f71ec7b5cb6cfb4e5c29976ead6944a99df2045056e198b19905362d4e9b765adb65eb089233a8b3777352665489c9456cceed593c6590d9f3cc4024d0bb92e1a0dc619bf8ae65be77456c18f8171e4d2d846073cf5c57ba93adbc0db9799e3d98934aa6899372acfa4d7d2ea32e20164b79c71d7bd33c94f9a781a25cbcafe563462eeacaec0e8d9d6c0199de85558a3a05d1ee3483351915d8a4e65ca0ab129a2386a9e26aff9b912c588babbcf25f8c467145061b9b8fbbff19d8c6ded8527d457be7c926c8f490bbcd627b3002044b7729a52e94147f95772591616f6074047e758597f410b3100f9efafaa4137dedfd0edfa85b0927804f0b4fcea1a174622116222004d42b36c2c73d04781f2f49d080f351e57154a3980005bcfb0ea34288e2fafec5bfd01e1f7901b3efc71ae58bf8df4cd7c045856103b77bd78073f0174aaaef4a3c0e8b5b46dc92db55478f012dc1b7d513e215e735573257f105d2390b5366f49b61809033c13ed4e1ebe19ab89313c947f2585f0788a0c5de90b41ad0dbbfc604a0d414d0e5390a0f3c9616cfce4097e38e05888b8bc6e55e40368bacdba7e5b76f4bd8fe619746155c30b38807a1ad325b00ecc3dbcf23014e79f1c39af7cdd0dc7ea58ce733e6611b7eae069deb047aeadfc21960e614db19d2e7e0905a9873268b9a24f856c28059321a742cd6cb3d1527", + }, + { + "c89c3cadc094bffd5ba06c600dabe30ea19ad037316fc13b895fe0e14ac8841264c1bf25557e22b01f8e102c3af43adb8e0a12bf79d3fa0232dae37ca3688e07294e2c7ecc4e2eebdd3f17173351f2c15b0480d4d77bd70955ba86f82214004b622cc92f7bf81a5837326f6a83612bdf65abb33c268a457c45cb7467e074b342a17c711c748c74abbee31541444020a9ecd4e5125e2a8ea3f6030bd677be18183a8a34af16a85ad48b7015cfb036789c0a5daf68883d0c7e401754b8d56cd00ff605be0cad19e03989f608392c81d636de859e66c2aae403c138bb96a58ba69b9064a83e7d8877067e7f40aa0016e0df9b7f455d292a60eb621b8107a727a3378c4b7509d3ec10526c50fc6c66dd4b015c915e85bbbf701ddaf2258119c8b9a5132eafe61bbf38870f35f375123f766ed0d4f38b9364a86e56cdef6f95a815a8d7c48ff283c77992fc6c070eab7d7c7b517006e5d4af532a7c429912ebaebac27249b4f5112d870d998e1c450b98c05d08c742dc769506f2d7a004c24ebf84c10838b619653e27ffcc4344d8db0435e4cb77c0410cc734e36738a6b5f72a7600632d19c86b40c737830b0f5f104443dbbb031dc7ca51ab318951e7817b5d81de8a9aa7f5db6e2d5e7a3cbd8a8100653c048204ced3af005d00e7de7b445f5acff901c4d46ff133e92ef073aff1d9ebf55befc32f9ec38c9eaa6a1aefc974bec2758297e474cacea2ba4151ab1a3ca0762c64a5ca273169d29b83c164f77f266c01bd5075871e17426068ed7aa58ef0d1f2959b19c604eb6187acc57e2becea2da93ba23159ba73b9226034c7ee2498e0ba34fa8038e5e2c092a73ebd9329ea3d648d6ebd47e1776941ab3130cfc91089fd0a0a36f0ecf68293343f275d2a64c1b7d27ffeb3f667f4a19824706235fa5f3f04952ff08bb183c0f1aa1d1b0edfd2e05ed093543788f5d0ac6532e15f912163275053b202d772f381900e906fe070cdb00421e78c16b7387be91adb7b3b3ea28b92548d69c780ea578e7ac66eeb931eefb4067bcabdb345a7cd2022085fc494f118215adfa2443630bffc9faa8fbd9943c3140d81c7532895734a9dd20e31c326531d06f5623c252139c4cbc882640c457819c63f6ceed4e03872b246a3766df69373ebf5af1116e8d5e1b15745bd9dbdd663fd4352d1238a43d5d1e74b3edddfb1c9d460daeb49afccfa0712b7a4cf8d07ccd0599ef3e4e1c9b5c814f3a6f3a46fc80449b34df87f47ff91fea3618cab2d5c04cb50e8ad199d752d901b21348ae939d39c86cc1bcecbadcc6f0e581a3bb51e070507b41ea4294b35456c69cf55a2a3f1296f0df73abac3a9c81cc303d1e20ad6e9bef48de83fc22dac2cfc01ce9ff3f70e00ee49bab2f282ceb6859f989075814e690e36a8d16354fd6056cbff49c30e49b1570363498531ff0ad0979a4518e9ae271f57f883abf5e301c0e24a83f09335479698911bca90269a28c0e040a98e67c9e55f4c91542f921511dd980270cd490766da22306b48ca9309aad3b2393b7b1e9ac7afeff64204081f9c0a8f6a5396d02eb9009901ca2c0a75ffbdae3a38ccd5007cc4f6bec8fedd64086cce5c039e8abc9e23bd694fc8de4e858c89bd585ebdd422b492eab26f4ebbdc1d17dfbba19b5ac458c31320a161a52dea638548205a6ad4ec54875ca34238c059177bfab2d5be0a98d12b3932d0661d33ec655446d0283224af8ec7f1c6874add03448fd8029a71d3c5aa06951123c9fd881d435845757df50444e6cacc31a8cf7537a778d1184b96c3512cd474f5d1fd1214555789d24c8d173358e36400b2d937595109729d9f35eecb0963c0da60d2eeb52a778876059fa95d820d5d34e7948d389dffd53d34c4083d27c917879b053cc57dc43c8263e5dfe5f33c19dad0a7126ea6e8abdbacb318d37c305a183596ddb25b1934beff13a4f24fbdcc2064de8e0bc639e672ecfe45692e9f8164365e1691784b4f775ef369aeb135ce15135c20da95064c810592ea33316b9767caaef842f948b9573b2205ec57d3026a2f2244c42991462e233061549cf9bc66a7b4a8a0fc61f73883fd24dad02644004989c4721a0aa03d3b0191d7fa4d3da102e541fe463936c9365ba30681e706ca70cb3c8ad5dcc710de59e7d8a6247aa809bba74ff4dd182a38bb31baa337841302c19ed89d65e87bbed05465f4ce0dfe89b44d7e9266a8ca21d984c41109d813ca76eb67dbd4e39aa437ff98050c968ec1e40c534ab51d6b8ea2309fab08b3757e9edc5972bff316f6f2affbff458ac0299613734b30dfdad20f797d172cf295cbcfee3d8ee25485d40380d3480a9372a1a6e5ecd7c4c6a9d34027ea6c197f37e86e757750c9fc24cc7cf814878b8628326c140930dbb2041bd9ee87f36ebfdbdc34522cfd4e50c9cb48dd52d4647a06d08e0f0069c104849bf30c8e61cb693dffbc69fc0ab9c5d502a227d606a1dcd630ebd799acdb1e47ce2ad52ff53f6cf4fbd5f0058fb5db915702675ea44334d42e0b6ddae78b22b5b5f7e5aa36519e31278e37b64312479b14aef9b8f12d8c1f39faf920851bd53b13bae5490c847b3312b2e956c430f1d8deea91cf171dee5017e7709d0346d81600bd5f0c41da3f548c28aa50589b293685ba059cd7f3edefdb5d8cdea364f4a42153b0632ef0b7ba18610b71fc34a781eead1dc5a00ab47b6840590ba44dafc6a16029cf50e089684194d93dc881beb62edb7ccee6304a4e71a35915f109db92690461b9e4ea21257ffb62477c20feaafc7a78e2aac2301b66893157920ce9fb114ab4f534d61bb3d17dfb4d9ef9f79a736f7c1d32ac3998356aefc876d8c38722787d564e980a1f15056cb3fe634d71d2c98e0475c79cab318b73a863362f85aeacdcfc44e61b5aeb870de9ea5b5abd24e8c19ab05e45e1e9b8894deeb9d29d65ae99aa94b5047f3c1168276cc2e491aba52b5b03703ced28c63a167f0cb3e4bb4d8e4f0292cf3ea4376510fa49a1a5efcc00f23c3cdf6402197b81262e66e17bf4307d87ffbc2b37213b316bddd65aa9d64ce6122c4a1545c5966bf4fc4c6ff17ded787ca9a3b3cadee435bbba8f6590dc4ba30895b84d5b4eb94f4b05be3c", + "82abb4ff5457b21f359754f151e456e2c0a185c8363d15918bcee0d6d49f12564ac655", + "b63b577e719494032062e3f63682098dcdcfe26cedea2a40893c847a331e4ce9", + "9f1d08be539f1244f0f69ad2", + "88dcdb0309f8c4a96ad5560f8210eda1f5afb31b85b7a8b15525777748967d4ed77c063f65d64ef19b31044f2adc690f5e457faa1abe2e127b38c626eaa94053c9ae1b6b4d0db1f02c8404b50f58210cc9fcc6fa4ecc615631da631031cd6253b4a13a3e88295ffdc775fd4bdf29655d9780dbe02b0a82aad4c4088e90b51f170909c0f98ff93ca3926067ec94be05841603db4f913b7025a9ee34b8d8bc629ed827a2a9857e0814d36b83cba21e670f8f94ceb4be5757e0b8782895b5d8605868e4f584b5bb6a5f3a94edd9b23fc2b6fa06914aec970c260fc370aa245ca68888c90c43eecb68474c9e45c53a7da055f5bfe39b56769fa56264dc8bf4c1616e30262bd501ff9fc5cd78f73ad89e093feba0393a11c6b2cbca765ba025c40dd0417dfa644fce96db5a0362235ad37a317145e7b5f3c7213c7fb3c393be57a1cb55035f06da1f0bf665653c5fe8a0f3ca67dbcbfc59852694d34819d0978cd09b508d103017168f6848258493be737cc24c2112f2afeabf41038bea1f74bc8656d9910b77d33cc691a0d9b12f7c518ecef93423cb4871949a518d2f06e5427823324275b97110f8f88b0d14788741e617f4b194e679a1627da50376a08d4f23b005c0446b46d4f534ed85e4692e7946ec818437089425ee30e47de995e8774b61003801de67939d9fed7bf0cdaf625798d0d0d04a61a2482217b890168e36f20cf1d6b81f9daf1a49a781567c4363ac2f3ebf0252d5adfbed17f98cc264ed2765aa279b7437410ee8b4cf42932e5055f4884deefd2a979ab1328f97cb750b3b7e4615b9c1c61659c90a5ff6d1c736e785587ec85040fb2c6decf789c2707974bfcbd0c7f699627b31e0762321d55bcc6acf1aabbd44abd7766d397bfbb68c424b311611d9eeb6598ca3126f569f688455da8d5ab86eb01f9c96186858c4b5e447aa2b9ca11aa5453f731beed4e09f95bb7376e200212e2f03551b8b09a19d6910f25898d692bc20bf6ed3ac9a0276db560de5c9e264f4db8fec6577042fbbd4510bb7070086508ac451a1fda26582c259412fbf1bd60cd5e921160c2604fde559b5ed4df52b805010b225f999450adadc6e108b70f169a3d8da6efbe1cce1c4908b004e928e3cdfdd0b4c5f742fd72a11c9585aa3517486201b6d9a98739b77970a88072750d29d005a291546f13b576b4249d71f04a9abf8f653ca206d98f738af2a1203bf0975f0a40138df054ee834ab73a3b1d7036567369a7ae15f808904e08adfc84b34a0e1356009d8a82e51c3e8f2170908179bfe47be8ad819cb12e85b6b76bba7c9b9398dfc00f550e32c171b4d5f2d9676063efee0b0b49660c10260ce052dd00addc3359e35c25dc33066d4b05bec7d93f71e0ad7d5ab83d844c7f33137894327f464260688ea4ce9847046e7dd0bfa48d4e15277a9586b4742daf0c5ecc59aceea6867068b03c20aad38d04a814472287d809a9285cd4dcdbf68f3f4ffb794701f4c265b2dff4aee55c9815938689162e08309df150538e60dccc03d495adcc560fb831444b922a6375845cef5dec56eff2910b5bde5f25f0e550ab5a13205de91d20896fe04a8ecc2c83d1371cf381424f8c43d2a5ced374878405f52bb92f4fa3c15d29ec151508488f9b4e42527921e245a8ee4b5d6ee95797f6ec4374d79acd7b467454a1d7eda05a8ae104534b23c46b27581abed6afc3ca555202dda94fc2b93501fe78867730a84f6f726dfd7364bc240b65d6c3022a04e09c89e36a809fbf244cc5522315110e9e33c8a4e1f1396e3e51fcdd53d9ae94fe7bf6c6ccef0ce02048a11441de3c25aa9787c577501977e486f8dfaa4c81e3183e648311148ce5cf3de56878847a9d14c0645777022c158670377dd9553eb63eb17e19ebb06202be8fd9bc2b24878cc86f9938e5996751ad9ca04b636497199f7f27dfa0f5ba2a01c3a491bec6dc5113d127f6aae38fa07ce7539a0c1817f7f0de0da538f4d85ffa394784a42eb50994e28530e3997e3345db28bafbb836fa463d34146d9f46d8d2b28b3954b9bc7f84046828e9b55e2fd663e562aa95caa97873f48f0a003d2251fb3ddbce0b6072fc17e0d3f99b655b8f41e8e6986ef7526544222e2d402489eabed4c219540605b9f5dd321ad902708601e85bc874c11efedd072aab7e10272c87b08b9457223de9fbc3abc2d1346656a524e9c67d79d4053c4257e886d6b430f5b7f57b2e5e92ae69273c1705a3074d5066def69fadea1af8fa9b3bf4890f9cda4b1833e5ed27f22bc4fe4cf452880c7b53320bc7cb748c0af6e7550ffa84e4714ec18d208131ae9e3edc6cd6fa2c60ab8ebc1ee56eafc01fbfba061e55014b9711eb58fdd01f8936d29dd081565de0b175b02989c5ff374e6f58c3383e9bc00d8a93903e6a221c7475e15aaef77594849af877f3807a76e03bdd54ff0b192bf34385d24d858d6f454810ee48141d73e3acf1aa3d19cd4c723a634cd8e25b4fb604c744e408dfd82961e46e8444f001d0991af24b3b6ec57ba41fb45122afc73ec6b25f501f1abd46181247945729337bf5083e5821968502a5a696043ee696c290095feac000957f968ac61ccb572ab2f37008830ab9a81d02456190af99873450b52df1888c3d8b6b13df65a9bb36a4b6d0538a0f179daebca2bed6f94b4670560fc5471c3770f2d004b6a138b8243068d754fd246e9881242638c6675f1611f237146f6e0f72ff2fba96f479fe0a662a81f40928f5400a0bbfb5ed07a87f457d5febdbdd6f323e2a59f749e6fc8a51d08b023734c762a91cc517401be57ffdf6a52b9174ea153abf2190ae2642955c3c02b4a15d72456c9d2f323de6fabbf56dfa3b566f1aa688c86b662bd34cf2511cc4a30621b6f1f1ac382bc1c4fa4c0d4d5a30ae90a5e54a9fb4afc1475e7c612eeb7f0e09e894c2004cd04126df9359d525d7f090e4b531916207c38c3512341c84218c86fc50061043ba1b89ddfb21cd756b391cb53e8c1cd55352be05efe562669e3986c022e30c79a97bdf087889a392e6da0d72cc7ea208aaf23408df23f3a9ea9bf9a935e49c9994a37a5dd0faf1267d5f7db47cf64ae1d3ec166466b2f882eb21698aa375cb50146c0e660e9bbb38d7bbc1c1c6d8333f7031d6a", + }, + { + "68ca38fccd585eb14f953358220027046c14ef965478d3d8f206f63fef4fe3571a1b53e774b298c347cc1b69cc426d39575ccfabd5a284c7a87a0698cae9efe40543cb79f5643c3c3057a5fc991235f06f059c44a7200b509a12e864fbd748001a14790f78b54ba80cf0a4a603da9672df32b68652c1d6edd3be51cf969acfb0ae49c026fe0bce0bfc72b1ff4c47712b7a27b2cce888b9bc470b8bdda55a8d53a34d79a25947ad55b95e5406a5c5311fece3ecd46ca590b3b01b9055761da8196b21bbc468681922c66d286c32598b1e3d77f2a91d835ccd9eec231409cb2e74ede9385552517718be9f84f0f9100e368701dfa4843b7222279537306065a54d4edda3a02f1ab9edba3ddeb34dece9d5edc8797103eb942a80cb5ae130ff2e7eddd11f0cecd8f9a615d75963c44238b10ab1230d9db7371d8291feb2912d306efe4f7aea2773903d4be9a00f2bd8c03589e342269a79441c0b42ce9c6fff0a6e4e845876f7e9b342d25351fe2b1233b4f576db90ef1facfa617b96d17aa03fc824973e1c80f15e5344b0516fc28424b7faff47ea1ef4e47f6f7b50e91b8fb14027f05ca7e1bafa266a4b952cd0b9e4cab82bb4d61f99568e14a6772f36296f5d19cb04fa86ff20f04ab61d1a6f01e5282c99fe4c3254da46fb5276317be58e94b1928e3791af27dc6544f6d445dbfc7275fbbea74f98ee4aea647b654909f9fa9c88312d3759099c9d0070e3db6d55506813f8b7abe602964a7dfb9387f58e237dbf50b4185a50b65ac099352dee8695017e4dac644f42aecc3e415333cf76b08fc764a721b45d7b74f6b0a2e43637e5b4849218d3d4c6a01208f345d76af56631590e520d6bcd82627d2446b45b2c68e0be81b3924753a54f47ea27b1e08de2399b34470701c9697eedaf3248db9b28991cdc2c632fd1b376bbda279b6709d5033d1c0a3ee573bdd222ef1afe8a4397a61fc30a4e94bdc55097ecebfef6c00133dc0b72c17e2f93a11eae9fa9f1364f10fa595e8e1623dead10caac068aad3967b9ab2837dabcd8f96a77a25baef16ba84bc93661ed150ffddfbb0369683cd021e8f959c2b531bb1fa95d7a574fe5ff9aae35fb9b4a0a9829c59b932ed8634fc05ca88211da3e30839baadaea8fd9843e0e80d9598a7282500d157ee579cda5d57628e7506617d301c2adec5186708f94f069ed7bdb70cbe88549cefe1673d48c9bbbdc01d2af03945cefe6e25f757750de64cbb9d496a25adf7058f5e32c827fe75e80ba0e834e6a72344dd2aac4228828ed42fd83e4576254af5737dcd9b6c338377d46baccb02d00fdffaac12133ea0e75e791593ef3aded4ae4c9249b8d5cd20aa28cd652b9d750b88111d9b4fbe729e27882206b2f0eb614d7daaf6436816fd80d452ac71c7a7f9e8c595287407c6ab9fe8a242e98da4270b4f1d4ea7243c27f89ed46a567c643f31f967b5f12e518106f3d3e08178078cc714cb6e39079631966a9becd6f02c18e983ceeaa2106ba9043f9985b791027eb5dddceed563106bcdbc48a4ac64bd95e87c708a8cdc33811bcd16c35e193203e70ef2bc7203183fbf60d46bc581f1bdfe62387b3e6c0c4a29130d872c3f8b134e7dcfb080e7e03048c49c0e468dbc44eff4b02e50bc6889cf7600fba58c0ee409ce948aa684baef4956fd8fd4a9c4c49e84e2ff314b7900b179fc66f5fb4affb9ef7a6064354fad8c3d2d50e6f2157576f864a843dda8f547955c4d80a73d4a86b7aaeaecea886927a5ba0e97df740ec7e8b70bb650010df55d4b75f478b07b205b560d45de666d84206c1bffd02ab7b8d1c37f21c47d1711b89d16214d8151a8e75eeeb5c54c39e5a855d578708d314240a064051d8b26c6183ce755be38fe9597dd5b5d198532b1db083a4b856b8dd60bf1db197cf1df852eb6daecffd97287a6cdd4c05307722e0fac798507f75b03e9361d5627ecdb56a3b633938fa61b2673efe6c6e768e4e7055e6c1d55c7113efd3e95151b606bbf169f4296455dccb93da370150c54fc11b3682f092f30381c6ecd218a3d9d39442c8bea61d9a71b174a8b2c56e028689380879cafb7c4bc2691dda0cf6ada039755edf93f851446df9f63267f8b8f030c069fabbe6457d4f63575b5905fb927a5a720d52c351bfbc48f12440a91471697e6b2564b1a2b314fa0e6dff090079637287b635d875f120671561102ad27aa83d9f0cee41bf023bcd703ad670b43ae23bf01713650834cc1e95dd486757f0a4f6fc9337bb95738805ad5e756198579c886eb0ee77e4ba957997dde0eecd84e4c9171c84ad8f0cb23c6a289e037f3a8beeea7965ce34fa47cbd727baa4ac9e6dc3baf17049fd2386674b246aca5ef6b8496f1d17a3175f6fee86299232c7fff682f066cbed895155d475bf9fd4b5571d257534c88c93377b1a600d4c280d42aafda975eb32c740073cffa610b5fd2dda7262a2fff5da7a0f3a875c62949e0c9247827d7a49bd8185bc27967124c34b9725ee961bc8102a029786652c2571be6cf33be63cf867c2b48e5826b31b714a415fe05c27f0862a870d8fb33200719ef4ac8530a4ecf2597b4a7f2e66f078a7505803774889a1cf963083c831f46725a1ec5545d8489e53921d81f80ef99f5e51a2d5992c7769c2a7ec8bd8e0f2fd81de53c7b69b650a2d838b269185c5efd668c470943bd956e3c5e1bba5d3b927b10cee68a75372d4d6fdfa6782c05659281bc9bc56a2123967f4f50cc7ae3379ba21e1617553354b5030b3d3f0092c1824f5d47b97e6b4fedaa90aa2573e1b115ffc72d44fa8209fd8d372c8dc9ee00193b47c2a9a302875da331731713243d02eb5a57d5dc51c35988ffd742ddd75c191f1eb2c2214a1fc47b82db8ea708818262d9583f2b1b98a40b6ff6e94742f25661a51882ef28475aab12d9422b6ac48e341cbd6f38460333b5fa1cfd4d0f43aeb46c21938468fe3f7bc771972246156652d2c58b18c8cecec2dbbc0feb0fae9f6bc022e029111f94e8913c0ad741612a1426b53cff73fbb24fb7b22ab750ba1310ecf339fe12ced6a3fae17b4c429550794a8d68be891b0e30cd28e81de2fb2ecfee58bdf11794951276005eb8a5af21e03c8aaeb595ace652c5ce60a8b98f6897d82698ffbb2e02213e50d9d3f00bb42c8652d22bffb87ec576ef6e206ed6c846fd5136a87f38c9ad899371799f35a6258878418830b04da79fabd80e7290456fe17c0850a4c20e2e657f97f4a53e1a3db65bb5e71bf38eab9f56aa11e6ef71c85b8a28f04c271", + "ea196b6a64be4b0799b1c2f72281300c3a2577db44e5d3606b8b02fa8fc46c7aded7e442", + "7c86a2c06b7520d60023d18fe73d09c514ed07a91d50d8fd5bff00e7550faed1", + "952f492fe00b26028c560fc6", + "b3f3294815ce461c8843172efe93f73a8254e58a0e71953e35c15aa89a7bd9dfee967853dcbfba73d3b87fa60449cbcabf13b1206d0cb27d2c3fedcfa695b6d41efda37bb6db35449bd470a23787619ee48f981d3f0b1c8e121725b2289b6d67858a4f9ab41683bdaec8a913ca2cc292a9640efe50fb85a1d1f7b286f45d4448f85b3242f45ab44e3281d759db24dfabbae4259f127d6546ecb914d7e93e2c19230c67fba8a6cba6069023ff7ea3d8a170289c2b4391bb97a7b899228d032b36186dfbb29ae8f0e6c06d753f4c6b21982d49ee682bef50a5c2c8434510c5fa2b9c0349592f33f8d7ad6f7243d42b292aee6d210c61e3f898875b91a17a89148275031b74cb34e628d7b701775dbfcf87c79ab279a73dad14d8eed365eb9f29a007b7d2ccc07ceb8cdcdaece67fa0166e135c9a4b939426882eeca98ab887ed2e4888bbebd5afc9f2da3e9162527262b0fa85903246bc8b80df3060c890ebaa516781a2b2a138b98001287e12a9c68471912dd297bc0beadccdc31a27b7c726baf31510cd355a28e4ef786b30084af66ef135909795aa73814cbbc6552270d5e11d46e9497ba30d6d8cecf343d16e7e3357bc9bbfbc7c1dcaa5fafd8a9b07056129da02e6228886463474c5af1d670bc14cf2868b816cc71578ad807a37477341c8192bfc2e8b1f7bfd58827e041f70384f92bb4c6acc415dde5099a1c2b27b709f9e53d1dab07c87a042ca4af7a2a6ee57b37bf2bb42259d372ecfeaf1dc55ac3a9f211f16fef3b2d5f11dc19fd1f425c14779580b2501ec6e0a84220e7e12baf9e0fee3e8cf499a7fba6721a746f598f04ee8ab4df31fb8fa5ce2d2419d5551155c009f2780cdd225ec2c19f94fb9c8b785ad4574b4da766eabfa696a1994e64a2518d1bcade6390cc683a6e80cf8b163c3e58cfa1134ee743079347f08a89c81478668df32ce9cdd7b853db5cf7af13436f3bbb11bcfa8f6b6d727a1df84f99fb3a5c248b8fd5baf669b68fd9af45298030f3251bf0351fa9b58b0b9fba53ecfd838300790ebd689744c1b7b333fbed76c8fb96fc669ecc6695ff5bf8379dd2a3c270af858cc60894be8922d69fb9707bd2a7825f2eec4a5056e5e91714f4dcfa86974259fcbfd5f20d55923a0a9936fb20e5ae9670e2019336e15f530c0be449fe355a7a02c0938d60720d5b8f4f59d2e4213ad5251c6058312b43d47c44ffc8946a98797f5ace279d3e126da63633c0eff1c412febdd47817aaee466c639e43637c1e179f606780ab490d3f0b3c2d79709f1262305fc87c02f68da2dc32f8c544e7b358c3a5d2c27986a19d13fe736c60a3524e94caa55e853eedeece985d16bfa6c487bed6583436cf82077fcdcf90a05f49db50588f46550f7a0c3a1cfca902d66d25dba8d2c53bb5557cc1d87c8a407898b3c30c4f0852df92d839859c191228d0a47324ea9ec2e0ae84513cbe4ff4aff85e77b8587f1044bcb9775099ebc2f28fbcd1cad58a8ce1f072f2228f559fbfdd8405d86f8262c27c3d95e01016b343c6a4e59dec81b59bb6e3c6109a4cffffa85e9752ed2149b5624417c0dfd1a27bd2630bf59814f15820c43bfa317be59ef6f433c95e8be154a8ae94765bcedadebb717f0d8c24e01e1952bd104ba9620f067554ae0faeb78f13c622c45d97b2b5774a3e30cb07f2cf0e8b19d1266d8a8861f3772305e24ec5c9cb714806c7d705a3bed6385f8be4e12562e17ec3df01afb4ef6f7427c48a1bc0e64fc65eb1c3d3ff2d6687e4c275a019f5ab5c63bbe47e3680fb1802d5835c4d494f0f394de1ae47f81eef005127d0971c4589c456ae6a69855f35635c28b590c1b93f155fabcab59b6c7cd8ea1c4ed1f67093aa782c54329cdcf9bf84a40400de707b894587d6e08cf7fd72fa45b6709a26e97ff5ec1269b8042358f872a79e8c2db1c7ebffac014d6b6f71b0c1c1945ddedaf5b6911668059b61b55eea4737aa307c829309c9ea548fba2bede023849bd61b5a467cd1ab1c61205ce64301e2531e5d58d03c74ecdafe1f5b74627be8716cad0d0a0be60984c9f9dfeae24a6c4949170ce2f589326e0a76c447a578ea3a5e4bd9f18884f18843eb1a78aa2fae06a7569a97551b227c34d429c8e1c8c5417ced93c30dcc607cb32a365d87328aaecb4ce57ab8e74f0d9099e267cfb747a3bca9f76b5f6dfb543bc4b5c06c3646062ec14f511058eb2939601913f8a0f1785249cb72b0bb1c12a9508b23caf490537eec53f614f3e06592eb61f75c1cecfa514cf7b500b0375095d5db74556220131390b77d0db72711c0c7229a5769b1d2b3f5105f3a4370beb1cacbd93ce32f89f1fc833c7949211dd204616c013a3399a22f5325f1a00008f4c8ee7dc5bd7476848721fef843123a6213cb0c0b6ae84233ed01a77a115d06e08990b8e60cfa4f41dbc9505cfae76463278b6c6b5ac7c3b83284caaba4a6a1d739c392528ff5b06bc3b82e98060e3001279a44aabaacc661fb14e7581d1235940cbe067c6b386da09454e0467c785ed0b65d41ff4cf36ba5f63d3ff2b45c11c6c22d3ea8ebbf1d52d770e0ebf2ba0c67c7d3641c145cab474a88119335990137fa82a340c2cc8c453752a3aa801127a47aeefe66d1af1a26ee1cd0e6d935bd548f6ce33a9c204be02ba08f9fa03c685665375db7c0c656ddf3e441ddd96b0d2018beff5086cc63339f26bc8332a5e6a1422bfedb69187a3443c23b630a28b02f8075faf3ff2fbeef6cdf02ba4af47a765003de2254b69f487bb5d038759a33ce6885611198b81b0b6fc5d7a531a7a90dbc3556aa758db1657698cb3698b8207b1c1b589efe5d52790667ac483dde9543953c6392d5eb8afdafa205d325e314f810e9c7722cbf5bb76fd6502733149bf21c60717ff5bc366b85ee9f206bb1f330ea72f61a9766090eabde747b1eb9c046cc8713d5a4f8d4b7dcd7c61f2496c5b467608cd9260382b8f11b04c318a5ebb6411a4c7fa060e08c295c6062ac644bd3d10bcbfcfe2e3748eba66f65d904ff21147faa8475f508f21238d42f62b697249b9fceb905127f7684c8130cb8663f09cd25ea038078e1980237389337d1446c3a77bce41b37b50b9c3a020526e7b7b3bef370cd7af71b225700627060eb65693899d277ed130ec5ed9eee75d4886f31aa93bbf302e0c69c9c4499396b43dceb67c02fafaff8b56698308393a03f60babde883f00de2c66831f024fafaf98b2fcf37a9ce01d4f34e95c9408395716dcf83fe86c7a0f5e3e6741c3b63b6ebe9964f1d5005eeb732ce66402007beb3e6a087053", + }, + { + "9100c5b2d7c5d5a854bce55e82f94b89a268da7b66357a661dcf75cba10a1b320ae0e4e1a5b989f9766e57f867a3810a0b5b857191ffd7aece4c796f5694a2617486421940cc12b63a6aaea20d2fac188b318a1c3061cafeae436e04d710654b96a864d674768caee03a50ed6afc06f52d90115df1db5c9f1ecaa4f5da094070b1a447251ad3d4fb0e24e87821ee6d4e7e7eac7059080f77d2b36cacbdac1c6e5063946a376865458c4ebdad3c2afcbba8a82b01b03a7882eee42eab904a19e0aead4ae515b02aa2fee74f3a114bf5b9f320baa35b3225491653f4a69e0d864cbbd031d0805b727e42c2b9530dae0c01cfc6a42af8ca730e1d67b4bb743a072f0a38008b937209d534c2284271344340fae76af2b1dd00cf44b48ab8ee92e8f9cae8845e5a8d338f505cd1c19014018bfb6b7dad487e7c8c32064421982c1a63149ec16f2bf4fe7b50cf3ce1e33d6cdea8e98bf067077c9a0ec1bba6edd5090273ca719ebf6f1a0f3e56f021945cff3c468b2dad92a947a06a024758d7505a4a1bcbe9da3a03e97859da99ed36982a7c23572ab60071566b749dc34bee1d9609e87fe32282cc9adba633c9ddcbf359ef4a83a54af5fbb5699978b487954a907dc9739f4b3f3927e66cf0c338e31c272da0cc7795c72dfe60a5b2e73bfd77b8c6ea58122a913910fe29d3360cef5d398f29b024f0dd225183d538bed2b076989aceaac460e3d45e0ca7941897f151261a024b0adf6d5b62429420144497adde6557a3c53b7723471fb760b6a8b1dcc2b327cd939528f5d7bc16ec00ad99df12f082d82bf9fb7318b3d3ce5b84ab1e38d2ebcb6713c03fd0d62bd083c4af96b4316ee02b6953431c261278aabd96e28f81adf7946e3664446135c825e45ed916ccb941350c84523296cadd5360bfe3e16dda75db10da1f710fe796f3456f0911294a4735cf9968656345b9c3049ca47176194c86f36cf702538df699fcffaa254af15b198ac37eed0837b00cd3547e496ecacf6136c6648a535a235059cd75a3bfd0bc49933b379b72e7a8463c268faaf05f0b27256fb179c9d4c923a13ec6600f83aaa2bee13e30c8e676040c06aefc65ba238a29d403f3a8cc164a0bdcaa1a5f54bc1d35fa4efee0c402eccab1e92f6b0cba94e1bd87898a9dd3957a7eafd9d26bf70866450646090833d4b91c032428bdb9097b409305de669a58e44931b7b428bf1a6dc56177cd944b87b04eabd80c64e287a5758c83db26dbc06f0c772335363ea2fb9f19c833644fe3b3fbbbbf5f9d460412d287eef862ae676f258aa45bc8465667601e9ac46e7d77693936c8d67ccde94e54d746b785ad26aa38ca0500105b6870790235e780ac50b9e3198f5fe678ae3a4ff4f1d4a2177edae183daf2de42625845973fc544907e27a90d868f8634c9d529bbaacbd228a5b4ac7fa68ac208e207a022cce4b24a0b5b5791eaddc6b3b3ef6e5dba41855ff531de9bbca0a39ea743c0732772bd32cd15c4b7f28a6ba579d902331a88920fb970aa75114e14b891d42cb947e9eb14feafccf1393796b21099e52b21773adae8e550f93364b1c438dd7d7fc76994c51860b652974d04a7e6ead207610de149f231422595f4e9ced1674d98d0e15ee841143ad8613f804729524e8a5f30d451611676f70a60c5dcc7127497f4d27f35e7ba0e48f98e9022e0deac400e809170970867a1682c7d2f3ef2c632c44568abff76f4f804841ae462c7247147b6e1debe48802674fd55b2ef1be5b4604d5f60c35358c7d773ab3a3ad0ab81868c6044d4e06a48ddbffacddadf813a2ce09aef34f3b60b666245a032f021b87c81fc506166983f25930cff728d399f6dd48ea1c745ad2da7f2cdd9e3ee915f708db0d1f3481018db1c174ea950ed17247bb8ebc065186758e5403bd4d19a445e4a15519326696e4280bcecd1a903f525bbe1e521f94d79df8db4b35f4ef7bd990c0f2c32789a75f95761ca0064bf251fa00b409a58b979e56d2c44bc2302552f118162891bd78272384c739c0c98bbaca3fc46fbb5bfe123eb25df0e27343e38b5a0c2d0774443af91b64b9d4e0649f20290edb84fcedb3bf4ba491bee8754a32716739e5ab64deb6c9888bb9fd2ada1629a59b16934ec5dee3678dcbdcc7fe5e2f3833da9d1281669b1d108837eaae5180396813883de26b957037623825b0675df431fb06b35191c06229f84cc849ccf1b1e079efc2e575331cd77b3297d2908c048b82b7dd14883f3e707bf6ca38f87c19625bec47c11f54988a97205d27ac51a32f19704391af72021b78cc4461386dc3844a1b45596fede3f70e311eba92b1d9ac221d3dc19f3fdd080c2169348f2cc8c9380e12a7ebf69efa37bda4ca6f7e66919b94532ac43022c0518c04d0a8cd99e0cbac88b7a317a1dac5469534b4fbc64080196b44498e149b0a196bb2d6f59392a21c4a4523ec1ff922a52de790e42810fd9355471169d22b734dde4a3361ecd57e271a92132a8b35cfa91d508d45618ad8c6c1ea209405a3d1d3ee1535caeaa3f20546052fc13aff7a584ff79db1726678344098d8563caa2a2abf6fe5aa03d7af49dccf1b17be85600e7cfdbfff54282394b0fbeafda615185574fdff78d59ec2a26dddba1c531a1ac007cabf5be2e2f0a3dedb9174e0a9da5597c9de6d68911fc66ec9d2b1e3fd71ebb83147ab14384ee303d067f47a324a01fc187f54a98f1b0848fdba2ceb3c18936d503e71887d548c4dbc70b7eecac9ead3393f8cb85a84f1484f2e237b36b6d886f54a0f629e8bb05b0c6839c722149a5b541703aeac04e6eb230a5659b12ed0a668d018f75bc94258218c1f5390b9aee4c0b2836cb76a47da649e2425bcf4cc15c4d51d109e5f78cfdb88137c31b2510264e46f1c4eb6e6b3450ad901ff9517b47a24d508844dc85fc5dbcc079e2d09f301691f401ff5f36500cc66f0617eb4dba389d427c7ac778d78438506608f0961f818a2080ea56d0f61c40fc342b49ee63e730df61f757387b9089e1987977b7fa02d87aec2e4be24b8bdf7fb6286d190f9df870944fa910df32f178ab692fa56b071f57366a3981f51800ab416dc4500abcc19e0c6aaeeb9ca063470993ec749a0bcbd07604516b1d51175ebedbaec8986f67a4d9158f75b5f3bcbe86a83220b4fdf12a0242951f94ac7d52882b1b209b82c4749753ea4d46a60bcc4f3eed033bde2d3d20c25cb46fd907f7052217a0a4db143b2efe8875a59441f4d22ef70d0c244b2de6a7e15581e84c860a6326ae3e3aea6d3972e2de0623d2d852c9e65eed318bd3d86d29595575df60d9050e1740f884796b6657718a294adcf2303adf61c6b23933db93885172e82a78f741b8efc6315a2c88ccb6b11692a346cd82a79334e0c610734e61e6378b5e2ecc161d924778bfcf4475805a0823a0d5a54768d9272ee99b7c4a81b3d5dfe1a2f5ff34", + "3c77f30bbb698b1571aeb54653fcae2c23dc16be58603f0c361eedd813ec0c4f63005a1e69e533da93e820e6e4ce1308aa29c60289060ebf24fc9738e8a4874ca4e26a0dc79ee75b8607416bd554737f", + "0223c0a6052bb3cdc99a284fa169ba76be2df53b677642a606090a9267a60769", + "7d3981073f90c6648c5e9c74", + "61ec5230306b70113f67b340575b77ef76d521ff75b754d551e4177591a02351ad382b2a4067f2b3af7e8e15431c7133e98be9d8293d17ef40161dbad9a4f1a4f30cdd557bb9a8b03b5f1b277c850e23ecfa0fc2ab1102e4b1d5e836a606883c3d43527fc3aa26955964b144a9a56cafa7b174d72a0635b80e7b4f871ead3838a955a14c4b8c5c3c66fd86a5e4ff10dfaa92105378bbc5f76ad29727e5bc4779ba3e6dc19bf45020f6ce4dfb3400df05cac51577d58eec21b22839b8f055226b204e641783bb3305b4461172f1c1d48eec56fe6f82aae564ac6688d7b0994747d9b23a24418e69f8a4fc548f854f86baacbdec78b7597b138c453349034c8cad2ff272781e0e6799ef2f8addaf18528736aef21ef8c2d213161e36b2c7815fcfc40747626e0165684e46a9a2275c533d548e52a9952a556168195d602ead86f6bd699e97ca59f4cb2050ff148f5bdfec358dc4542ff2f700db9861dfe5ba377ec7fdc0fcb2501e72fe6873c7cc76b95b4f300857f76e6e6e370119f403b556115b19fee7009f4f6675ad2d174f44002e35ddc360f309f20a3a1dbf39d90d7e5fa2106c53afb0bf445e4cede59cb50b8a7a2c0961d00b2c251f2d815309f74a46a424838ee87f1229273ff3b66dfb79e3b1ce11bd60e061e60e3f37bd7ac896b618cd78388590f44b1a276b965a4b95f2e3a7a175b30fb45dc7a71d4b3a1a33e98af30dbb46a217c50046ac21b8bbe9537c02f05a5780c8a5d796bd6424fd9e9f3ed5932069bc050bf4a1898a0ef0ca756aa2e2269b709cc92e0c5192ab49d692143388ede2bde4923c85eae8f59db5c7711dabeb33743c692be6dfebd815456958b5e1384a109f891f433e7b4a1031d4f30478b05766dd97eb964a28f2f7b55aa6c27c7f4ebf4d47ee8709bf99915426b3896412a855798e392e111789213af537cff7a976b4509e0eb6ffbb8e886a3596a242d16d95109b0ff562c624e06636a3611f804f9b2e252afe8a4e5e868b48e9e734f688f2da2012d7fdfe2d3aca75fd74730a85aae90353417fd52b92d28a5098b6af358a096b859859916bcd5a8f779676c6e04ea461fe62872050af92d08cdf1124bde1e889ace3c923457ecfe0a635ec757907a131ad7c2ca3f60e1317880f843c5e63f4ba59ab2882a492dd1e070b070af6f60e18cca29541206a7b267c3f75a5327fd9b8ffc9b36b57b73b36e586541d15c85253e17a2581e8f8a1518f275cc79afcf2b5c88a16e9bf553e757df089b5db90a9dcdc1867b788fe75abb5161dd7ee1cf37d3f0faa793ddb1bbf1eca13f4220ea63af8ef7c0e7144d999ba1c5a983e74d48cef708c1d28d3c0a168ab87d0ef70f381693f0d438ce013ffa2cba65a8cf6b498a7120209564535b7372690329cdbd74eaa76765962720f06aae58338a10064ad80f5a67395db2c31d36b1f5eb777306395f192599d2f737327afdcd9f14b3f24155a3f974915d3302427494fad756703b13afcd1764ef9735e7dbff920f1253cb668e9f40632aea1e0b4620db162138e4a97e6f0729b14be4a7c3256250d5e7423ba1238c704503c51cfc9cb68db7001b2f597a15e77138beea02e11e0bb98a72f2a77b7260e9172fe7e60483114ddd836addd966b69570db5eb26a0cfc4f8a8b80d26357ed51a70165bc0dd11ad7467688025bdb532e7222ea12f23c44d08d111b0ad4acb2f5b3d6b45c387d541ffc84466ed57acacefb1436ef00bcb5b6211dfd0650113ac369b9f3e4891acb2693c377467b1e9c949cc0ea6c4a72ef9292964275ed397cd2b1ed25fe1aa8f47e90cde362392da5e53893eef6e4f61decae1a75e3b726f0596f09c3cba62aa08bea89984b484d5768296a5afa8b0759dceba530a169d22b81979212b3343db35ce4e4766dd251ea6a47f5033cc090d6577efbed441bb4f8944937e812f12ef17ede76df621bd4cfa31567ade18b74583a2b783279150d584ca13c0d4784b70156afdf9be8ae96666b82def888465cd3df349de427d5f5b3572e4f963d33f968e6780e381ca196bc04a6664fe93fdc8558b21b84130dfa2a646950eb2e927885925af46d7a28d1507bcc3c02ba98318bfebe5b9eea1bd47935ad869eb701cbc35a9aef5efad88ff54eb350a34ccef2e159de8e16135b81105bf799fbd86aa11653b5ef93a1ab1c367231d61b42b8bdb4f04d8d05396d53247d51890be9b56c51cb19eec0fd1e6b8cdc98376b6c6b30963ac7ab02656ff94dec0e3a0eb3f3ffb8bebd99d5889df98e6c77093c370373dd5f17871fb334c7eb12c6ca22deb75bdac9eaf24281c965dffe03da9c940e13fb382fb6be332797813710a7cd2e7720f5b9e53fc0d98fcceeea4a8e9f787e670d60bfc4a849f34571e5d09b9e9c28cdf2b2d888eca9bb31ea8b9239bd19dca86880ad3e12b1583acc3a6d1f0a438ce3b5a337487279dc4ead1b214272d455e6a2c8cce4ae3bb29abfdbe77a67ababeaff5dd9c96b17f589cd4615c0209eba5e4b1c7167b4b739ca4b9957185961529d1082226f85068890c94aa1f1c244259ef7b120e40114926a49c4412b67b4caef1ff3ce6f3aea3c6107b830cd34df9f4d73d7d978b6b9d5c481e9d76e83d649e742b098334838fe50d80975fb567642d3b72c461ef3072ebb1d03c0099e97575bae6a12cd2352d9d296351df6965d736d7568c2911394a73d199743526ba54dd62c56c598f4e78495c0172739274c0b8c96755e489765723a24a8704093a94544f6c8764dcd1ce6b4bf2917cfad27d85e4442b4e5bd577ea1a88c2b79d61cc1be01ee9028235b36444483b4e45da1087bf6d45ca540620de5aacc644a0d5c4b807b582c7b058e140eebca539947502bf73c9abc81a0e3a618b39d3a38c4ff7f94767fd7e6b9eb61e629806bc3d183bdade7e369d180dd2f57fef677e22ce41be7224f11723a85a3f1d14d7b72dc98ccb2816b77e625ce3db3e2c5753af8b079e0d63939079a01910ee4699cb405d4d9c60e4ac86a7fda3a4c9c290662afbdb7678c3a84c87ff83470fa8a416511a06d3216a1445699d7ad7e6980491fd596d39762d576b08fcbf0825243c1fc01ec8300780857c429c607113160a8354f6699b368a87983464472a5754fd58943fca6f6779764fbe6cbb510d5280292df02c4a7ed9acec8c95ad67ebcda71d0f519ac18db9b43b28244cd34fe02c5d694df57410eb54c5e1ca0f8501e7776a811d7ee81eb9d8c80b2ca50a012b5eecd5428af965b217e7fdac80be88a01f76d473105b027eb557a523f13c55e1670ff34627667649573e0f19dda41c525a8c96c2866a88bd73e66c786767e1657960f6676d8a22be1c6024158a0f0e4ec761148b5a3d8ea481d8fed94855be82479ba23213190054f937838f0e35e00aa74c89b294c29ea25ad7e96b4b6fa952ea8f1cbe5397b7c86d0b74ccc25e22c88736b045fe86110bffa0679f28a1f27162b51410498cb7", + }, + { + "0fcff2c29cbb5cc40bfd2ec573ecf368275ade6a00e5730b77dab17e437b46524b3814e7f470acff6ddac4e0c6b748ed112657120bca1d83a4ce01e74a473995804d7c74bd28732a02370ac8ef52b600790d1284d82f077cfe096448509dddd0eb5944a882b7d384efdd4dde3003dea910f12de82035651e3ec9668e66435f519da3fa1f5bcda34aaaf028daf3068304f7b1ec18e65136241a9db281e011d27db5cc9c1099405a4430821e2488a228805314983966ce5d806b0f014c21d4c9d6a066e63aa6407ed6c29cfa4a3e22ca913762ca9d31271d9c371fe858f3b22e931814cdbe544b9416e88f6026b12bb8e88d8285beaaa35be1c24339b5f567480d7b16cbcf6160e549ef4570a0702889feaa0ebc54b11735735b6e2850d5715e5087291fe8890432784aa219bacaa2b874b075c9628cfed5e76dfe38426f9693f6bfb2de49b710c101b2dabb7c7c74f12de9ba8f75b8645d25629568d12bfbc7eaada63364b6f56569cf21e54c95d6797e9008f3496c506ecfe5d6a010d168fb7f0e2ee3c423492df36a133fffe9b87d7ac070c32cc131fba6089cb7d904b25812e03cd6048504f7ef1736ee00ee6b7aaedb3dda9c6fd6437772fa5076aca9888ce55e906a62875979bd477aabb2f4598d32342aa10a6d187c6768f213117a9ff6d830603bb7b9b475002e20b2237a4055ae6af6b8d70e343e76265188a0f07e7820dfb3d898684d99966d4bb9e78b0e95f5044dcc12810a89a75b11474c8fc06c6e734407db91a072ffeb2be6773a7c6c3ec939514b43daf29feb3aeb7afa57e96d9cf0492d90bb2c7be613f2208f5f5f5898b0a3db8a967a75d065efcabdd83759c88086583bb3d422c6c6425525a1adbd515199dbe71350b77940813618b88fe139153974c80d968ed4d9e3f97a91b7cce250a7c963f880dc38011250b9a131f2b76b677f78fd0e4cd6f1465182fd1d644dc42db0bcad8df4ae9f456841765af8e1c1775abf85a69577ece6f9e9035e36c88be784397479e713be4f5434aa4c166bc4702a4916c0c003a6baecaa182372a30af6dc7e6fc4912d13e662bd327829f6e85340fe130001babaee64d211d6761bcc52993c162a692a10cbe7434310392b64792a777a2b31341995072a6b7d4538cfde74e609dd1019a9f75cec0896186c0f42e3896d15be87aac5b11642f74e11d5c2f7de9f07f848ff543507ea4d73fa8f5683fc6b41831606352c482c7a5a013c51e0db59d824582c595f17a6d2113528943194d6b5aadcead62516507f178cd0f76729cf8b81fce4e0138ab224bfdbb8f16f8ea6196b90ef90a63f0fbdcbdfb5320984be8a80a26b932d1db7ecf870dd67fe838069136ff9b9ae087779e82cacf1b06a7b310ce6c439047c26fcec0364ea87e4549a544d540256cb7c3ef7282fa792aad89e919dd89519fe910501f5ef88da43232e917730e742ac2539d454e066feb9058f56dd246fdbb674dcab636585a788b338ffe41f4190447a65985acb9613d02669ad4ad888004c65acb0ca315752e58f51c9ae9259f20cbe8a668a207a5a46e30891bc909108f53db8bf6f0f11549e621d4cf4763e0035c867bfe9e1192fc421c080b25289a78f4167fe517852efdb6f3ccfe67ad01b4337da2c18f35bdc151c5dc76ee66efd27d5fc784e4e6829bea4f8a41ec8bf61ff998d178ce9f4a10551687337d7705eac6cd7fabb3f2379e31c1d01e4dc63e475f0fb01d9efa3de400b5177e2c2d68f2ead89e9ecad62cfc97fd0ad5b3391d0248dd2fd7c75dcbd802d3463ef0af21eb77b07a3286a72f1e9439f457630159abde7983a5c74f7dda12b40913632afedadb691d62003c70a46664fbd976457544cef8ea863858505b1c596e7f745d4a5fb657b1c694226afa9756c40d9c49425b323ce17a8531c5919b24010f715b5f27a300ee37334931ca9ff5c83c3f0a87713768ebccaaa15e35c56f3536ba945e5d954c94c885c68325bc4b51fb55d96c8d424849ece9a812af0747d5b1dc240f71609439f65acd1c17086e025e376eeb79a7255680cd692fc4b0f5768d1985fe8a1a387074f58c8bfdea8e5c11ed379b845ce2052a5b24ef0c1a658923eb87adf5b01e6aa59ae6937564ef97421722c67404cb9e5fe07d5bfad2e52ebe6cccb41ceb1eb2760545fb6a3582bc4ca572b0aa4e4f0a2ecc56299f3b485d980501a4e010576615ad518fd2d43c1f79aed013ed1f1e1bdb74357aaf7dc84772c9ec62da43c8ffe11a7fb3eeabc3584a936c37b28a438dfe78f89de6b0d5597ac1bc55057544e68fb49a6e505db69af122c2a3ad06219b7f2a2955db0ebf55c06baac5e0efac609436dee484857f75a8421945484ad0c7650a1d3008cc85c938208f19002b7994524878d6ddf85c763a65cb72a09c3a059657459f13cb584bfbd754fbf2de904517092be4f1786b2bde26ae8eb2d884592fc9e84395408f8117e47d1ab30d5fca167bbf07e41a33c230d240e3aac53cda9f251e24659da57d721288252fe7ff3653ae3e47b86209e9344accef0009b99f2ec7b3845558f1d77b89fc9b61ebc1b589fffd3261f71b9631e87541e22ed100e694854bed771358f10fe452fba61875a605b8080cc39e3eac13708e32518f28e60464c38b782c7c7800df63b6e7e95ced9154ea54e32900f6998f38eb1e51c112b6949e2eb11a96b1ea0a68c1e3b5af750a99c9fdb2cae44c5a1d37686ef87b158d19343e23daf00dd558cfb91e6f2e18f8e806abb2faf80d082f657717d08ca4e9c0d30d9bc30b612bcb1a3a3a3843231059dec344c6c04ce625b3fe064092e00175fd9d38f8fe54c4088efe30d211412be01460a6d4ad8d0a618b00a21de0a383de30ccd72f119b27a08958729a999e8aadff21829cbe8cfe398d90476e33db4c64981383a9aeab4a27f3bcb29d4b3d3b3a6ebdd71d3ac546b8658e269959630de176819b153cd53d2091efbddd2cf9178ba6ee98e1a3df9a095db0a2b713a0988a22239f5f08cc8f9abc3d67d9267f54dd5dedbf01bd490b0b09adb21d4e5aa7707e36cf77034f01bf8c7988a2e8dd7046bb2f486878436371f1258f3f7026afee6d7f6560be67103ad098edc9665e00118d4879f58bdd677cf2e6bc631d5c517acbb6db8a1debb4fe7492b7daf0b7ec7df056637c23caf926a1a589bef1db29cd81f547afd0fc9e459f46108ffdfcfdee43515a771c439dbde9177ceaf296a8749be0146cdca2b26be8c2ebd6cfd9b5032b1f7a375307f54c2f622711f8cf8684afaaf17c4da3e83666c40d26adc239c8d1a40024bbf560db5787ed404763d4e70ec6635c6a4b82c10f8ff7ad42217613c57648716ba94cb33129f3789dc86f9c8ec2e8e90e6bba0dfba1bb3dc3215188979a09f33346a6647099ed0e624c9ae10f83da0def840bdb25b718e8d86a616ff46b5327b1f99c22937920f5b5bbd6b53fa0b32f24befa4a7603234e6d94be51f00189a20b15c49e8ee58434a15ae9d10b9cf0204bfa7ab1fd9e006b22bebd22b036c4bb4c9949cb7ecdf01028d9f12466e144b2dbbf64d95d65347013e192d428678f64f0d9306f97208fb00a70d4615229143dd8890725ee3ba6021d38d6359055aa812edaf", + "0c5fb7075f5e15a6733737b614bf46871e29417e4b140bae6e10081623f5c52f557c36b4da4b5a4e82920497514b1e6f745fedbf73f86ee10976f82c6cbd5bc13a917514ddd062", + "e70954c812cac03e367e99f7b82a6dcc073d2f679f965d524872756ee58654cc", + "5f6267f6b3b21423267310e6", + "c53868c0fdc14e891ae1bc257fbb13be210a5d9cdbd9d18fe1b474f9a1929dbba3f25222d8fe8c1be3eef22352100064b922fd9642ad128a202b6382ae0a67c8affb0c5bfa1a80e55c1084cc372485243df872d677a80a3ef1ca3589908bca621f6f50133eb762cb9c05775d13db7dd3eb65ffd3eef96e8dd42928facc68390f6bbc50b17e1ef5ea6310d8756dd177be2cceb63a97bcceaa046794915589ca022d90756b02c22e8634c0ed44192abc3b8b1e2814c855ab27aaae3bdd801a73e6209fdd559ceb59a94fd98a66d12a31a643ca2f4b07ed910bc390f77ab89395d5cd1d783d8940dad4447f0452991b209cfcd998b0c814cebd08f9ff15052818bab0bf51c3b72ac1020d3b0974fbdf4ff941b1ab9c01f284fe82f2fd89c0aeb4b9fbb0a74ece08b3debc7b65e7263e2922fd4aba15ae3cba7885d04127c8e06a67f244e7aa4556f8694a5db6653f6e48d6de54f9e4024d25d3236d4f933205b6a358aa1506f832ef7d556c6a1bfe4aabfce51f3b5ac64bf6ab1e665bddb12fe13db9f07a55db3da3886df36ddb89f3a4939b1e9e5b701301570e3d01c0b947f498dcc6af438cc15e6038cb78a78986da0316cab67bca3e28c95e6b7e6b36cae9202cf4a77a0e15d3c3291d267aeee172dd587a944719b9fbe077603b4d39d4302b9a6415aa07af309a5e1cf7a9379552becdb4bc6a0b5c85d2e63bb141c405afc58a8b2b4188b3883a24eedf98dd50fc54725c440ccdb03514a6f37cab49296b6826b6bc7d7ad8cac0a3425eeb6866d94119acdad468cefe162a29e8831c77aa83321e8ae3e20e968cfe51dbf2b63f4e26c61536e6be4f63d61bbd06af38023b15f4fccb8ae0356d924dbf646bff69d1ac0d6e1c7f40b12d6d16e52d1c15958add5708bd38c514e47fe623a67c9ec211cd625b398fa7fd67a23e6e9f65d42dda2bae94524372fbc1a7e0ab3f1c451c126135536e73c573749aa60177dfb68843752b010e2cb9c1afaf51c94a48cf8ac7aab3fb200aaebcedefc6cccb581848da0121af92d9f4be002f0c2beffdfa65c36bec80e7f62d7009b1eb719d24b96e97059e6b50a52662c2c833738849f342391514349305228b29bfa9c7cf2a931558ca8e704c600148a28bd871465b23af499c11784aa45acd051f276d82789c58b14f12619372be4bc3a285f6cee21d65648d18e61752d6e7957736d3385f8ad36702c451c61ed475997d6d9f11c8be5257d8febce329aa701028aa2b5644b8515a95b5e866780e32754ac2e6f2e31b2c04a4ad35cbcbc25b23e9bf49cb1a5d877ca30880741757c29303af8676546760016f1538991b37cf0cd24ad3b1d877e5e1bd083e4b990af6ff5c0b28e530db3f463d21e76c928c8e1ffaa6c045937ea171a9071827a173e231f50e95430ae4895932c88ce048058ce6d0a50ca5c1842506158e98bb2912a61c7991a2256c97cb9050a4bb3ca32594622756291340561e9e584dd2e096263b6ff8eb898ae86f5f24500320d2d0ebb30d84cb4ef876a877dad23a611b39bf0cba5e22f2850e11c298fa23fed40691b83acc87136f8fa540b1dc40d1b0d0bd489ee9dad785c121955a094a2c6bd3353e142c04f7b88b2eb3305fd00d5eddb391b73fa2b16a6357aaa2abf2059ec979bd3ce06d5fff1c325bbe5c833a101615750613047d8155ac0c3a0734cc6aaeae7cb65d7501cb95f9d6d1161d09c961c0681547faf7983ed2efaf4e0fbb87a06169ecff1d0ee540a9223a73f75584441d4669cac09c2dbdb8aa2aed74eb9a2870f2021eb16e5f5c3e79a24d7110af4bece22a1086d27642550cadfa4f0e03f2c032a2745e1c9277a4f67fa4dc74ba056110fed3a63f643567d079c9430b8d5b3bf57a9b3f02d486d870229fee5462043b6bda8d265c745ddc1b8952bf91828d6db2edcfca7051e74df9dd456dca5e04ba469b9ff6a8130aab3903c05659b8f31cf4ba4c22511493a36541ff9d88c708dfb714d52a3c0356543e6efad37530b598bb63c3724772907abe4cad39c896c62daf5b30cd7d37eb36a7be2494353028c76e8d148b018c7bb755c45d2a33f61944071bae8316881e9aa37e4ec2374aac4f8436ed3c7db2092326538f07fc6644e0239899e3335f73c1e3c4602b12d19d7b639d4968974b6b2703ec1add8cd930cbafff4158f68f06aaac83bb4a2e31466e2ddc247ad71c5f4c49af7defd1394e21819cc24c78380caefb2ce87c0d1050680313037def12ca21cf67bb6692d6e4a9e90a9c9a0b7118ac300c6c6f636337aa25bc59cf1d9749dc183803cc0ccd1ff53210352795c6edb49ff1e5e8ebaee7b3eda6e3c0c340fa60594115e37fab60133b8a3b39d2e63db0bc6a03973e236fca801553912f93feafd8b96766049dd2066f3c5ac9222121ee9d36cbcd8f713adc8779949941f8a8dcc92ade62e46e9f1b292d5f7eced14c3bff50a811cb762ced1f103652773ef946e18569eb5892626627e085d4ffb3102c1586ddf88acbaeed903b22d3e7ccd8b8ddcdfddb872403240bc8e0e46a068f55bbddaf90fffb9a914187aac2ceedf21fefa1fe32fc7bdbb9fd76dcda1fca7b39107d308d11a118e47499dc4092ef0cd28d0d9af84440f095b4feb7adcba198894cd89a324c60ed0b996c520d4b33391bbbef1997256af7ba7ec1069244359066af81543ca23105742fee3480f890373d3205236bed566cd22a62bf69f8c0f27b714f84a203bca1605865e2cc2f9211389e0df7a4b3aab9d10826639357efe1f5fe64a1bd6d06d0b5605658c4d2d12e1bec77e70ea393b0a09043dd7d6684bd53f4c883f2f6928d99ba91873d063d43600f9105d503b11d8dc2b05e34b4fcf18e78b2b6c97d3b2c9249a2f6566ddab2a8a67fed6c9f8af2f4ef98dd579f2d4fb572e178489c503df5d5f03bee9920db347a6e734ed72ec7233387f1579c13725599a33a90915ddf03725dce20fd3806abc1029a20732380596057830ed63b6edcaa4d4418871bbfd58de1d1f2800588ed207f2016e11abd1baf1895f6096e2c75cc5916836a9ddc09cab4c28e53fadbd7d3080088131cc270095315b61011b0cea5b4d64b647bbcea54d20be1eec0992c72fc9c9771cae19191cf6a6f1840acec1deff605626d0a0d79ea8fe0af63ea75e80f8141fa8d7ca6f4c99dc7e78aeacc67762ed0134f1a0b053debfb9ccb145800b9818c2deb46f7124e8655f37c3291af107ed75384afcedb44518ca14cdea341c9657ec638531011cb957ed6b3434b736ae8c8199684cc58862638c5f6c07e1cbe8ae68c5582b1697ca9dbdd01e97023138a9173d6b1294cd99514a28102e6912b1c87ef22cdc611133bcc111e95c355a26b20a3d6f0ead66e932c5e1229b0fc17a7d6f78134c69beb362ca75017b1bf1105ac8970fad48acb8313cb3ff10e9d72c4ff11f95c2dab59575525c98653a9c7d31585a3742267c062d6ffc7a4303a3e81a45bf39e1ce2097623bba70f216aa612c64ba06ed6d596ad6abbdde69d56ab45e25ebcd4e485824449550232be26f987c14008f67c9db9d0f709f567fa44502b9e0839457e5f0aadec0395bf5c38ed8de7529708e58c0a895198fc8b2570fb6e68547630ca7f313526d392ac4776be973205f971854c300454d5", + }, + { + "95a17355dfa9d378a18ba20e58aa4b8711ea1d6e3c65e0b2d3c6382892c7d02768437d47ed50bf8edc619c340be7bb1cd1d88b0d3d6bbf1031f738c4be09eb264c686d39b92cc7958e63c9994a84b61b5c412999ace8a9dee0e2a29eeb8dc537f63271af5f3844ed9c0d86e6913c02ed7d2b862a132f08f311aa92fc3757342d89a5dce8dd20d5792d5c60be9862ab168d3140a061489472f2266f297da357064833ef2554c49f8120ff40b961ebcfee1d0f8e7e5722f049485f72c502c9cc4afdbb70517f0fd2a00e12596ffe285d1b37eb998e0e89d756e9491ceb13e83610a3a66122b533c2c3461b3244438f5f7a7af8088881dfdf6a29fb563ce38c4c8632ada8e7e06baa2686dc6aca6bc944e5c14d6e432c4dad554803912b8fddb1c18a59a86bc452914b2efc1599c5597f87a6edcad33a7728827bbaad0a975ecc22b7748d7cc71ec7f51adc8fe0350e67dcfb31af35a8d7b72391642e29c2fa4b796ed8f535f6bc2b1198baf1cec858aac38959f83130af55c21383ebd57d364eeb0e442104004c1599060667ce5e1191e76a89199a386e5c4bf147206e7d6e598bb27a90b3c6a54cccacb39a0ac42bf22eb40bc8ec7925376a6c57d8eac6317578ac052b72ab773f572ad961ee05531cb95ee5a6d70add4176351960fb4bd673f7db9f698616a8dd41823f2f87924c40f131e6c83bc40ab1f92312f46ee86765c306cf4a1d77275ef9668d80f9d9c1ea0aa7b2456bbcf764e009584ef1c0b4b4c683fee3fa2641f48ccf7485a8356fb3dd22f848deefadbef8050de9c5c19e8c449c6f3ec2b1324f80a7d428dc44dbb966d40244c3af03bcb410a57ad1430615e07553a22686f1a62dc6cf090aaac3707ec5b44274b7fe28c7a3a298e7a8adc71e016944875bebb421babd2b64809be3454f25b90723e2cec68467ad2d14744b15de8f9c397a505a340e85998e207cd46fa18d76c46f458af4ac3821c0ac6cd68afb72c376c31daad1a2435fc2bf333260c1a82430edaf2499e7455a93b1301eada2e12365ffcd36a1119664d0c996318a3e55bb2c04dfc5eb251f7fd64f9d83f27ea6577d748e1f85248355ed19867857dc3383e01249cc37684b0eb8e891aa663801e4ac8f0331b38686a19f0d19f6e94c7ac95ec395962be0a4e3c8358d2f6d8f13191e164ad29cd1733bde8c31c7d8ab90366e26cc9a06707dcfa60bfe139a112db827778ac348fdfe26892fed61db7e9849a464e3aad561797b6c778e0688bbbeaf3349727b4670a2d0a08f317b0dc9c4b12ea85c0309d57e754d0c7bd5c83985fb82f776c968189908a8ca83b5944767c2efc3c5f898436de54fe8bb17224012a437896d9fa106a749d12aff657266276129ec5ac12fc7a77eb06296d2a2a876d931e479d3ea201cbb4b1b20bd81471eaa33786c624013e1f07577c2171f38f0511c6924078a40c2d55ce392dd2ab0885e29f4c06907a1597c181b933853838970edad7777ed394c491cde27478eafa5b7a36520aa0779261f94b957e83ce058298dcfa07b08ecc425caeb6c599a11103d7631e77daa0d9d3fc6f42703d57f2c624ecddd56b9a27b848de7dd28f8ed656f1e4decc95a8908217e2f2453ae50b5fc1d9352d735ce5bc2b538eaae25501d449d090df793151811443c64f28d19eeaaac4081e10edca4c4148e723ade8f7e7b988b732ba08b3ce4c8a0d655bac4ff66048148135decd7727a49ac59d82ad470b5479c55d3d8399b790ff033d3ef99d770e1eacecdc140480aeca1e2167553cbbdef2090c7592b40681b733b0a0d127beefd49bcbe8904c975a5ab8b1afe56d7ed7667b5cf92f537ad6972b876843364817c20400524097ac9b405e4b35bbba0d12355a0b54bd763b4491b2acd4e8e4fcaaf8fcfd398499d4c4e81ffa93ca07a5ff51a1540f178f43a931e07e1ad56ab5ce57a2f7dc3ccca114dc9ba8a6934e95f4efe9f3f76947909b280ea5fd795bbbc0feb3ad2b704e305cd9d8f37d178961f77355eedc9d7f77c58e1db2f7797eb8682255939293c3ef7dacd2eab46c4cbbdf929aac301a13f59831a88fab173803399d96dc216abb9f079e79bbfab667ca590266891c8a7ea4bc1724573e5c5a67e9f1341b5bffaa538e240f78da7733237999ac86141b2ac0324f17609b71c885630c90befc3b027a5f01e33979165ce2a00968c414838446c2aba76e1d7fe3707c742f68af21d30e23b637accc848f6c8df820a27bb4e94e5090ac6e008fde7cf3fdd5931fa891335ec8d01b5d6f77db57a87dc35d6701adf7ae0bf82dda6511c83ab4d7d3460b221eeb3d6c4aa537924db5559b1c6739040534fc330f5144c78bf99f5f4faa715e85aebac043e2529197a82ca40f65a8149a9447a9e58c61618600b0c5ab221420c0cee114a133a648dbc2eceb2894ffc329376d1eb3ce7039cf30ff6a53038b23c26c38739fdebc7b919956ca2e468d577dea6621a8d66b78075ad26a6e6d8e20c9b694698540d516ea2bd108625e5fd038b5f1e19c5d5993b82bfe16897c375322dbbca81c81cef6ad900f0ffe5ed02714c208a12f5234d78e32ee07af155ad1e1077a0d8938f426d8f326c751f6ee66c8f707e8493cbfc76f9ddf1ea329e094315a91ba9385e16c890823db0f0231c7f939a042665009d5edd8e48102c515341fa6eea33cc00fb5d82380d735b29f2eec3f61428f7b186d43fcee46b2037ad1aa6974d729848cf1a80dc8ddb0580c9c876def06d8f7642cf45263a655ee77f047fcd76171546319622bf71283f3bf0b519e123a85765779c8bb201e99981ed184e642f63aa61f9cc206bf45fa6e514bfc637671d9cdfba2891bb112a3cff438a6372ee0dd3e7d9f352ce52f8b367b7799e1f963bfe50638f0c74b94873fcd3d66fc1e342a8bd36fb8b88f33eefabb78eca4dc9c89e2c57aaa010f2140dc5ea7c86cebe2f8bf42a167d1d546cc80bfa9258c35af6efb1a090c293a4cf588e4bdf5c090ee7fe38fd7b5551e71e5ce2b0b5a50bab95bc4c257edfc94d37579816b4a2249ba05c991bb2ea02d047e480fc8a8ba71f48f344c6d20d140a64ac20184e45b4eea14d0953370c237ef0a47a7a2f22997715dd3ee8ea52f24ffe12674d571b3bf968454ca051701e411499bc43bb55bbd033f9b81d4baa6c49bdd49614efd20d58175af868ca16a9deaf65216abbdc3beed5f30b209e786a5b4c006f3bd27d93e9d78b51a1a2fb7f5160a0bc1b7df70952ea1573888ddde3d9dd5314b0d0a899a733eb48d5e6c7274667e362e4da6b37c480aa4d0d8730e66483fb1453a3aefad69942ac7f09d3c571b6275590938c541336a121bdd20722550236a9a5e4a37c7de628fceffbc260b1e9b6417c4295907937b13609b8585ebb8f076073abdcf19104ed80ffafe1b09997f115d987a552be5689c70fe125ca702d2ae4d807d5690bc2e90b72cabb0b61ad203b34c68df21c16b92bf8def5680b204ce327214c32e4363d5600f96162a6819dda472acc6441858f396385a16fa5ee52cc0f9ffef3d53c49d535aa37db2cd4b573ff81d74006677969ec1ad891082b5d18ca5b0b9f975574ccffaca72b805c9f7fdd76bfe3dd384dc953255a5b50b7731a137fb9aad42e77d3da1eff5a7b9eda5814993cf2d289bb25ae1680ffcdf419e073d38b4701021adb2019359bb70ff4cca930be7bb979a0678f20665d14803d8753c8ce54cae92feb026486ba747a861daa449863bd38cb4d5831aa6db1e7f404b0c3587aac8765aeecec686066ee7d11321574f04d3f3da571e71222ce07277eca7ff97607", + "5e24f34a8d53b17bd0c2aee5369e3276dbd7e7c2ea0990f1300fbbb00831b76655aab1e2fd625ecd", + "c1d796f1e651a1ee825855d80206baff6818cc8c247ee6ce62b7531e6e9ac32f", + "240cb25aaae4d085bbb747a5", + "319e968ad291ea5d4a057c38f7afa4ddb9c9565962fa1a7b231e397a268ad8e0c5030a2df09dc4f99402ddf2e0d06e753bf55e1b318b3e5ff0108de2328d3b8d53e23e08bf7d84d59fededd60d47bbb52736b0491f82c616eb5f779c496abd6499555035e4513c8613e7204e6bff8d06dfecd9ce38c6b83efd8d0e41f84f7cfc9ae07113237987a4b2eaa87f7e0a310155e282e57858244e9071712fa026cb781e5a4bfe6fa1bc480e534096394459a3d1354e2d9a54aac6926a60b388410fd0b53f7a3a9116292f37406369c22ea674418c4deeead171e00f74f5cabae5d24a0686a4bcd8ba99aea613a23edd0a019a319daa3779c212fbdca9d772fc3fe612cf178c2aca2aeaf6bce2433494027a474eff699bba95fc7dcf79ca1d77b1e097439a9050a5cc78e0b78bf2e7f50f959ea2986a59be3880519cd84d0a673acb0432feb1945c603e70748445c74600ccfec60efcf9e4d02a7df5f967de4b473f63b0b0499ff4ba350ec1182f3a0ac17ef9ae28945fc9bc714c49909a7c1e2f311aa6ad7652e22e1f48bb51cf53814a2125152813752d86c7f9468a991d0ac84b1a2f3969b8081c228b7f5760718036e26a10e211ff04ea323acdaaddf9b06a08c92ed663d0fdf13fa601cda45c416c2d3803dd9b5ca29cba57e59cf4ad93176c65c64507b1995d638541c90b381ff758833a2ad67b0de44c280fdfd82b3c6d4353ae30b33768863cd3169a2032f26e37ddd57e7da1673cfc7375bf6e6792495a2b434155d684f2a6f2b919f944469d47be5aa7da74eed69d871e6f65c3ae08904a9ad042ba39905188f0b9158fd14094bd6a408fba6ef57566d69eccda86bb54cd3ca7381f51bffeaf8bcc1ae8df91d22c359888e21b70f640d6f3726a34e6100ee269124747f0ca05110f63deee07e3628bd6aacf926036ccec02c0b6bd7259db52ea8b7a686b36ba1d0296c85e43e25d72ce46c66a1e646301dafd2f4c502281e6f949011cea69459c026c65bd130d6ef06be17b23a9c9a84746e39d017b144135025ac527c1e653f233770cd68e9f232c3b623ceda836843b3e9ea313cc6a57d28ce71ccfb7265ce73b06bce1447220645e6f66caeb06b55129b97c8dd8db54c94d771504d24cedc86a8ec706a9f7dcbbcd7fc7cf38005b2913b1cfb77370bd23183ac7b5ca5135a2738cc91d05b2b22640469e3daeb6a7b0f14fc6652563663520f7754aba624a35e5d24529a6ee9f5ef0d019d83c04f5a93a38b68cbce0cecd42a11aae305475806326aebb4f673791f50c9f90894add51a0fd7c02807efd8c1bd21fa717a860e224bc9fa3f40975fd8d558e4844a09f8920256528450d77e546604e2ce2d38efadaf39a0ea3ea12156174aa8a20481e6c1190e448564675f9ca60bcef37cacec5aa218122e7bd25b571ff10f54979d62018b779a2a3d5d7d6cd56ae31efef2c844ba50ff9da88eba7a8e0d9fc5388a805ba4ad35eaa4798e395d2fe112083cce2f11cc850d25ca5c6e60a9996cee4789ca99d519daedb62f4fb1e535b742a35d71d7390117e93821ff18948a78c1fcdcb90a5f1211327d7ee0663ef16ff446e0e22d8cb7b2d3d05469b1c02864f4a87e2d9715f60c9e7be841e308d0a5f6c50161a4a0464aebafb88e0d2df8cefcead93c9623106d5518a9852f320235594be10c45bc0cf06c9daa007100ff97959357f9be8e49c870d0a11c884213e266c35e9131439fb3654fd5f1abd1e778ccb02b8c262753a22653a09272a0c33b6b2683c9045e8f967af756b98dc1797ff605c64ac5bda8252e9ebfe0e4d8d7ca754fcca5e3de3c4b63678da095281d76d60fa12ff4ca818825f346b9c4e426cee16db5818d78a527a901cd088bc2983f9b83430b50683018996996717a1738439680b68e3f61cbdcd0f0e1a6b436af8fa05d3ce2228054e319bad1dc6ac970c75313c552fc1136fabc302fcd1d09ef1b9138d18133a772cbd9cb197ff58c6e898f9e83e4e27206f3b15b6bf2778aaf9fb38e0d50152f8dbf5763816132a04b4b2e9639584b3dc8ea6d95ade024f9497944200ab0aeab206ef099859b9240aaa15f737c1e0fe6d015d04f47261ade4928e3c2ca21d1f5ab4a3f571f2ed92ebeeebf2493e6e39f0063ba931e165384ee1b5081f5f8d26ec24716757037f5158d35effbe67009080ad7b0381292a513f312eb28328cf5ff47a6599e36c14277c3eb5053c5aca530ff5954c21c03fb3fd5fc0facdac36dd819b0495fde421411e0440991da0cc4a20d294446115c0b79045037fbfacfeac574da3bf192fec4bf38c27cef71d03787430223b6069ba6d9273ec8679736a832277c657862ca791b559a5054ee8c7c07618083f75480c8aa01cb086c7317315911802e6cefb15bbe20494b14d97e3a885806db775c216dc15949e3b724f7cbb30bd2c46bd5a2fd6132352c2b21cc2b47891dd9794975f70a6fa7a0791ee761ccf4c263f27f64790826c1aa656c39483e029baef0855935e7e6c133a4035a3699925fbde131ca62948879373346af35bd7fa52b8d6c3338f213bbd9c79977c0d710028d1d386df614c5faf4a1f8fe5506a9af7059370893ff6d07d91383baba67a617b5d829e0e2eb20e541ed5c34be7ef0eaf6c6f6f52d7ca01933a2a4e8de46e422dc95161ba8ad354f6bc7c8e4cf8ab5e08607530147fcd7c9481afc621c5a3230a05e2c4db79db9e1e73f43556a8e8f0dff7ffe420282212f23d4c5f6f8d2febe129b9fe5ba7ddf27f72ae898a4eba270b5d2bb3b6b06e38c546ba80a9b2bc46097d0b47db5ae72485ef2c6419e856c33c2d66a861b9d474699e730eb8a8992e3ea9c1ed74316687d5d9fc611189eba2aa31af5ba8e81179866dc016bda977c59c595e40001c8ab3a4a44cec00ff84c6dbd9ad4be30bcc080e69b9398089d6ea464a70f536ace3b447693301c94850606d0de1299770b5f45e6d28f8ab83e3ffe52178522eb91fdaa9e4a696674ba0f52ee18e960b04415782f018d67479081b1bf9b4c9b90de026cbb66bf7d9d12cddccdd9b2c8ee2f010892571c6f0c0feac9555c71bf61f9cd69553cf7fc2be8d058e0c3430e134adb1ba28985fdc4f0cf71bd3cd09f5f82f303cded0de62f98404477bdd0a846c6c51e3e82ebf72f475afc8e6388aec57206018ba2528ede194345cc1ee95cb2023793f692f708aac3c9e8a682af36b078f5d6c7a3ed07475e9fe73b95d1eee048ab898edfee3fac4beda45f03eeb64b2128f6df9453ed77c6010e13c0270c068f704f49e62fb7410be90ffee47584ca2efc5287dae1f63bcc1819e7548eb9f0d8a3182f9ed00da3817255a2ff735876b75cd21cb25e86aa4b2893f9e5089dfac76194563f9a14335dd37ef06a501c89623caaf6feb4afb792092dfed515ba7518e278c341834a9dd17b50a0fc860b62ec621b69408cb3fbf7d4ab88a3e367fda84c82357376fa9b1161b739361c313b99dcbf4122f3870c8175093298cf432174217398928983ab6cea4759f18e7a21d71fe1b0f3cda05d241e12db0818b8763bd23d958d6e52981ce8d84cd6d82640d2000874a53c0bd14949ec99e48ce6c954ef0d08e6e319de5ebf7e142f25c0f50ff13f6acecde6a270c8d8de05ef4c310ce9e92f40f6f2b77d6e7aa3f056d4a20f7faa7cd0b93d82e3972343a50a26ff462caada10621bc953b73913944246d2a4da25fa52cc6ee1293c436ab9031ee2dc79cce39f139f44d473c236731257c6f65ca4d383e39cf8d33923afea3c80244021d36e0ed43230c44e7d1a1297d35464861f9149d869f26cc51879027169803e43c898d1b4a2a2480197500", + }, + { + "2158abc2472e1b9c061da2c01d0ad9e996fd687cccca331fe8a2baacd12c06f284b1b5cbdfd067e5ed09a60a137ff4a97c5c26482659680ffb22bbcd4ec1bfd272749e52440537320fdd3c225c30ccd98cf221b34b89c247ab7d14f93ed3ccb0486a028c6f3abe7e17fba1742b6d4db85f6e6baaf82df1a3aa059de8d9699821d39bad42d56cc1ec67626092cfad4a2e1cb5d814e2cab78ccf5474a8bd0dc990a877d37de394694af6cadcc57727f393dccba7bf955f4b65b3c00d71cdd701754ed4f231685b7b5e2557239d7e16305be2d81a773765dcea25ea5bf2c15d670f3159409ab5bbf8da121c779132a8ec1480068cb76b68a19152fd83135aeb228b446225f91d1ed4303a4bc16cf3ad8173b30d2a1e75ccafc8c933db231efeae6260d45c7ef230ae2c7b6f986f1c19e2cf260ded9cd99d64a2d03fc5ee3d73509e47ac1c39dcca655839fec75517a9243eb611da8fae3e317e7df66cbb6abd59b16975eb463f509e784e65cd660ef1a4c5027e54b1bc862f397c9cf4e6594d98c2c2830801d3a679220b46881a372cdf3aaa33eb66b91a9f36b6941c0fe1b4d2a437daa50b811f2d8c65b5a69de185d78bb9c2f172dc90a89324c5a2067974aab14f4fbcd06ee95cd49e03717f88480a410afbb4e68b5c79b0211cb69b90604cdfaf08af1ef10cf28f0f630e97ab18d9b5138d9b9ee9154e0b3104a6c164f2a114fa5032eb5c247a6b87880332a0dce7b36982515297a05dc8a4038a09f52b1def7b4fdad8735443fadc462c7c22132f8b9581de2d213bf5c53f7fce34aaeb24263afefead5341a72f88d3acaae6db367c5c14a97d4f9e438e1e11c3c8fde7ee37e5ece5382e8c68b660146046ef96c24caa6bc9fa0a0c88281e4bf01b32df5218cb3750f9c4b8af24cc106abca62d085198d14ba2ded3cafc1fbb17519a696965a1ba5f65720e893f1ef3fbc5200316b9d4615bb23426ae53e1c5a57b2f0ee0d0c83f353b4ebe7a6cb17531d278478b4ca8e6ffdd0cad30ed73d568a2e44972ac88a7e7d665614316d674e84ebc739b645a9a4166477254ba47bc5c2b05ced88e75bf64da21a7f1f71cd946d84de13ca77b7e0dc2f0617d371ed96323a83bb11dfa16f81bbde913d9c259b10f3aeeb6b56cc4775c25f49343cef667763118932c2e8b47ec745ac537b37746ed65fda2d1c11a2de60ec02adcb79152e8a9e614d8715cc4e6b6891d6a0063576560fa3621146308222432ffdbc351c36c37d844a934088fea92ac54920facf870a62e91ba9299dcb6cbdb918e2d54fb642c3f0d60489c4bda489f6c584b64c8f19359ab25f388dbbe636c4d90c048f5ed87024dcf9f98a9e738163f837a07750d61203254a80d120c795f9c3aa791272f9474fe330da81a45be5ac838613d46c25e781606862912ff88af393040605fd4d55d07e2052227c37ceffcdd2d42a08bbab69140dfa4406853799893daf768af546f915a91b81d0da719ebd45b8b5f1641f15621959689e810217bea18e3996c532ac6e4e2e4f289fddd5e5968bd6fa9aec5ca435c532b6c74a7568c8aeff9dd19bfc2fba3b484a191e2faf9a069a24e2e6d928ac0bdf635644cc1ef3bbacc547a8e4f1d42d4bed3b6b8cc56216fa550dc37da9cf4d1d1591d9348594d14adc7a3fde5e5d1a3b9875c85de7df483cdd0baa86dae793e0796d14fef1f649de6079acbec6b6fa5f2cb2bd0481f5316f00dbe5dbc379bc3cd6d13bd8c775a727ef43e6a5fad1051783b22c05a75d64a8394a73fcb430299b015563c8cb0ae0aa4ec750399855411c076d21aeca8656f3d0cae084fb0a1ffc6f73b52a7ea5d4bd6d24e7057a3811719533105fc967439a32241f2d3e3f299da2deb821748cdee1a1c5e71bfdf88d833bade2f505268f375a9e6488cd8e16705cce91d15b60b2fd269a19148296a7be348aa349a12270fbc0d5748e538afeb0598081a4f1349217ceab3c4141d40f765ea2bfffd530fb9606601469fb131a44939be984c07bac8f26d8c068accfdefb729eeb47cfd6ddc646e22031f53a7698c6501d86cbba05e282d64b2f962a1b08b9064078dd1e3f14006f45f599bc8e600cabe6d855fcbae8c3060859202361d929a241f6c0711ac0d050b67a1d44da19e0b0e236adad1f60a327c9c34b2b9c64cdde5b8e4f664f2fc70599d44a63ee2b14d051c27d71231098ecd3d4086038d63e84547dfaa39db1a92785e38b640ea0345062a1c185b25a72862e7ae6574114eba592d6492087e2580dc5d361c473a614d647e66c0a30de806f4976b69a8b92301e68794ee05b96ee116a5fd5edf5eab43dc1103801eec861383f17c2bab9f2d9126c1802b7aee0c909309ee72679ab644abb9c4caa54add283b5954e6f881781e42f849bce6554c7a5e3becc5d5a209805ccd4a0117272a53807e3978ffb19641a9dffd9034490a9284f658599961daf52f24f6464c2099cc9ed3459d84dbde2ebbdbbeef25c882a9beda03573bdd4c6a0143b14d634a1a021d5f9fa23a7ed0f5598ee57e56672814412b6c7c08b8e709fb98575fe2716100d000a20a7e7200d800e556564c7e6a8da9d609b18ff0bb8a8812e96b834a6b534b0d5dc97f5da17f42f8d58e763f1b201625d1a5158c2f9e9e190921637474ae81d278002f197f7211540088931ca8a941794e56067ef4a497fdc6fa713aa9f20c21f23c3a71ae4cc5aed459ca7c020bf55162fbcf56a066546660c5a009b8ad2aaae9651c97b1e145853a10013d1bf68e7df25dd492c328f823ed982da54557502ebc6cc56d4d0bf2881bf3c536ea53b4dcb0886e73b066969dfec343441b9372d7ff38454c4337d45e2b999415ec48f19cd05f0f80c5a61ec369610784f47a5cf3b2a13ff5d8145303ade7189a300936006846812dec9ff15500f8daf47236e724d72619af3a6cb3e854cb8284d5b8843dfe056beaa45c40a4541a98c7507feb27a605d6e07189c8c5554a492a03ce6701d3d2ec782e2c1c8346b54a963435bdda3a93bbac1d837172cebb9cd18903d25cd6bed404eaf18730a6d1c6da0783b5411770ed34f35fa6c11a4292a34565ff1b23d4200ec5a73e6b7905458088fac19f6aafd35e0e791f28bbb2cb0117ca1c3a9e3c4863e487ce5d8c14dd140e9eb4794d87d75b01f683bca84ebdbf19dafab716421bfac9e95755fd346a0cd31e8520a55c7ca652ff63fb4e20ba67fab41e11f7390bc02363162097802c6a9eb18b430d07ea60064d5b546d15bb68cada79c113848136e797577f1783e9b53574f9427be3a28230fdd69d139205dd6c7e9e7f031fb6eab70d69ce905384c5c77d084360aac590a89b2dbb2d339899b13619b455cf9f0cdc08db6c5b5f3223dc3a663ce42bcc8cc6f947f42cdf8dde15a6926b753177513a52be95b1f0b88d2a1ec90e49959b108fe204bbc29199d7382c42ad5dbaff970cbd2dbeade54bd70415e54daa805d396361f525f38efc2bba3fd818f9d7af0594dcc341c20f18c624fe13ce7e7108e1d2fd06c58b03f04642c95e3ba00d4035ea0476ac138f72378d85050bf60dedc90af38e96f67fdc38483a73e847b41d31b894ddcb234f02b0d507bbcb15a8941f9c23b592a291cbeacb3ed213f2f044aa842275a7717757467f121294bba6b357c969e96bfab455c6f328d9e5181d909c3f0543b17d9af7fcac099067b043be79aca8e5a75c3a6d4f6246357a63c516a3ca595447f34b43a055d3070517c67ec36e636aca9ed71a001d4f7b81149124deeb7826dec3697e183d861d544c9c17baff82849d599e9e77ed19f801aa1ce095940674576ff270ac788d00c429187e299a03c6f3a1646a8f7d6290287e70bd1276316ae624da929c67936191abdfba45e2803884e5a3136205a38a841448968a7900709dda033a42969bd3417a8d865d0dbee1f261f4556797dfebab278136a182a63e5ca9789e3f1371808efe06eb0cc5ccfe26c0538d573378035afa39fb7cdf3ad889b277c8c6e84954e74f3ff3140bf13bcb45c822784125d23b5eceb73e", + "088fc7ba068f80efd8d4d62813c93c1eba77e9ff400c7781314abc901873ce200295da09245bf8fd2fce254397616151d94b511957c89a881256182ac9e64acb7b25d4a080cc9daf9ac2f231235483fc9fd415f69caf7eaf0597", + "78d5f86b071bbf8a185e5e2d54faddd2a9e26983b1e7a74be0f0b979b9f4af31", + "d9ce7d249af9496e99c93b36", + "ad542824b49fc520f0b7ff8ce2bff8b3d47baacb4a1c95ed56a306483aac551fffba48e8a8f5e4cc536e9266182f6811d070fb9282f5c542cefb4993ccc7044b42cfd6fc71793dc8dd2de23c630f9ceaeddba45efed9d7fca25fcb07d193c000822478b19c2ee9fb31760cfe01475ba8a003db469d1130318a79345a29d054a9f9412dca1edf6d8f1498af5bb6fdbbd3d5f9a244ff176f62742c53779291ef6294df6540d841f4ee8c7c58fc8497ba74d9cf7947add5373427d81ae928305b93dd26cfc65e63b0ed0812ce759511bfbb10aca98f2abdbc9055c4e5ab82637f6a965bb74f592bdf11118b8eb79d50331e76cb4d10c6b4428cd4ec2ef4cb727bdba2b5375f5184d77772d0f9fd3a3c579a4a548b9c2dadc22c805ae959617af49a514b43f47af834313ed2e4d1fcec2c4b9ea87f328fa3d23129a36e6c54bcd08f7e30645de86e98ebb11bcaf99543503eb1e024bc9fd51fe6bd5e6d749033f2452cdf28b3d0f8a304111bdd26dbde641c02fcb15dc21b1a9baac5e86d35b4126ed1cc8a2c3c2a5b94c99fb9b2008daf1a0c090633bf9e31326428c75a50e821b1e72a6504c9d7bcfcaabecd929163d365832e8971f5efebff99ee3f5b95f957e8904d05b410936d8a81c60b4947f8605c58e5b727d491995c76fbe06e556c8ab5cc661a0c09ebc98d61010050f68b31fbe1f9de8f6481b2704204b0164d8433ba4dc1076908c782826e9b555e8d608463581099a466f92bfd6ac9796eacc0ab771a3f11d03806b0f33ec04c69cef6b87d58c11acb5d1374450ce61ba159456b915043c5c17cb03f0ba66d027105bb6fff41e6422f13e2a466f073358bf68149a3b577cfba7ea08b42f83fbc5a2aff17c5ee7dbdac3ff97389f5b8d1f3750e5c9be651209eeb9574127ea81bd7619da16d1cfab85754883543f6474c8c0cc9d5b80e34bf8262d2b4798f9917bcab4b880339397907a5bafe7d149247fd735523df3cbb17ae5e298846ad3bfb7d4f902aa549b7667d3ea945b002e7b209bc83842a7b120d6d27ce80631404371f31d1f61efc5423e1822032a1cbf4fa1a6b6fe79934a202d5add8c6e3595e49be3dd9553a569521c50e9653bc684ef2b73c3526ff7a0843fcac9cc9ecf46e63df5b9328a54c576bd299a366bbdc0f83a9de67b03f1da16244bd6d52e7e4b52c4ed693827735554b05b3a260cd01a41d7c944d0b7b58ae4b0eb052da34bc22b779d7ad46f90f3d4049c097e0adeaf71bbb30ed24b32ff5c7a65177db77492c2571e9cd99f15e613797e319ea7377038d53b28a4cd66a697e5e8f84cf16bd0f0430b34826114b4e1d1ebaaf2939dff7f9f4ce7c0861e51701c42d9cc9e871018b447ccaf4e402e3d63be164dcdf6799314a389ada8bf5e51a35148acf627e51481b9b0e4bec09c9e6d59229721b151fa9adf8323001fcf33afbc9a949643172f39b0d10ef57b37973683fdd9b9eb46e63054fd05ffbef889ff8fc8f251b0ab41fb00757ec1964ef373fceb8f6d148a7f7c89944b3cfc240d091601b23046188ba70a7cdf7b6f96eb93dcd3d24d4aebdc4a29a749bfe3cf5f6e1a025b62982ce188e6b57245d829c9fc1dcaaa5309a8b9557b8824a78eceef6e977721de4065b474ae008642b974001a5565ef5fe4250194e8b861cc45a8691c461817f10b646fb526bf0fe7790bb0db29d1356e8c7a197ec78df8310431d632a032b5490c2a458eb8d4327a9679d7e8ef8739797b0e820e2c567ce3562592e862a1dfcecd50bf77fcfcd00518db65ee0effb9eb3655d5d401a4a47808faa596d17b316f828cbbc14a7e018a0593da9320140a752f3824b5fcb66aa4c3cb94366ee8b821b09e7bea2c04ece15e8a7be1f58463b525e8cfcfc3fdd395ec5b0575094313557e632d0a65e3099e3c653111a5fb4f0eb2aa710229fc055a2bfd8a7147cbecc10823f1244fbb6894af1408ff9047d6483ef83573b5421b9798ee387dc38f166b11de6c33e9785e9b3d9d28bc24c37890e4f8f8ff24cca298b44d6fb1c6aad28cc634a67dd427205285521a172c2a4884ac5b038e261e38faf0086a02aa29195713cea335c47d03d67fa0dec7a8cb21db741519f5f0ba0143f14d71e33d82c75d6a19b3f7a42e6c16d762354daa2670ffa55bd400637de9cddf9e7964a03b4c8956f36bf54d89cf16de23e8c52957b52eb4572a11d1398be72bdb129e2c1abb58c65cc291bb7b0d2dc326c6125a441863a6c92de0f47a355222d58bf10af0d297a86a98b4e933a8f844fc7f1bbc8ba77919dfc50c41219e3db309b92ba056349faa758daf360b8ac05e43fc2069cd46e63fec399cd7764b111467fc65407ac06f5f84a3179930f6215ac5ec906146c19e0d3e162e77a2bca3582128284282b251cdcac03ecc204266ac3a9cfe8d8854008baf89c0ea0096a400d6a0d2f7c681c99462cf0105f7a3dde690ece0438fbb820b9c73c6cdf6208c336831101b904526cf8ac331d879d71615d8b1f750ac7f0ec692d97a5e21e17e194a98c10172b5c4bc1049a8743188ae7c4d70384a7e68c1353aab7882bb91aa383821046ed0ebabb4b2dd126ccb935f48646b299095cdb71ecd5cc402e4635a3f7a3c8a6f54f4076ba028dedb402bcc92f5668dec3d91dda7319f58382017e306237e42480ee2c1f5930564cf16fdf37a3434585336b8e4535bba87311cd47722b9da727250560624a5dde48a2090ee44592d2fc06edda634b600fad9f843c6b2eaa0697b42858afee8191dd2a31e5685bd104188e2ccb057dd0a8d4d1205d7c846f5b8ec0f06bff61c7f47ac4da30e1bc80a4e95af79b14a83e9af2e0f195cb92d14f752a5f12ff90a05765be453075d799694848fcddb07859336ec101c8052bdc273d4abc313cfb351b543fa340dcd01bf32fea59881ddb8f33c6023ccea70532814ce4a2d0c66c846347b86c29dfc34f6fa4db298911d4367c59939020a3d078194e6a3a3c5126c24ed182398468e77fd61a5b1271f5cb2a97868876954c3f7179d6a045f4bd770f681cd82216cd2b1ceeb4e724b3fddeb74481e662fbd7f5dd45bed6d4f89d21b8dd9c1009ad2b0b16954e97993ab8f3fdd9d61f8db102a945591b4552f419971a9e46a792dd8392c8d9502767c82d9b4f69e66071eb579859e9ca070cad5fe3b7fcb77b8474926ea991ce7ad201421f8a79c051b762a066027ab2b9595a1c97ad57f3149f5872ed4d8e99195d47bd3c03bbee590a50a99d8048e912aaeed797977b52f0240a6cf2c865b108456881adbfda60cf701454da17bae879cf098df808f34e50bccaada2d3edeb1aa73cfe3c512d814eb33897b6ff9d67d3d682517cc333c3c2552adc99860b1f0d1076390de9f84fcc9e802581f77e14f5254da01831c70cb8581630dadb44209377d90447a1a21cc8a2d6d897db62d8420afbcc6ed85ce42f3281255bd43e0afd3e86b27d3b957104ef54959282b0e1b381a26f16057246704c7888126055af5a1f494540f01897e8781e1a5c0193b7bef4b5588d0e9b9c8de74dcdb63f03f7b15cf48fbb71c7c3bbe9329e3d326988bad7d0cb85537c1e0b3cd88f37a3c7765f548f99e495ddc29daed8c7f15dadf2e5b79def91dbbea277c51a5da250e66c305604bcce4789ca2df9a10614d72824ba8e4f179f35ccae7119fd962cce13b282f0f970ca6c4776374c4bc438f0de98aa04fb3cf23d2c6800a4a666c15bd20c486e88e688ff9e5fce906b4ae96ec7c3388d7567ce6c8bc61f6d2373b93f9ddbb02b384084b3f28f54c9ddda232d3084daa5fac5ca356ac0059f2fd3fde5d6a9516d0954653b699aa986f70733538e19721daa41329abb95058450e602eb5726ad5a8b81aa474650659c6f7f6f53f8a6e635bf35f4b1191e0dbefad3be756c6141c7d55f007f4fd131e5d5eaa120ba31cc32b8d4c69d4fa784fe0af7dc272898789c774e7995cb252eb6c8e8053c9e7adb59c27f675952d161dba78bdfb15859fdfe4fe4a44c01efd394bf51d43c600aa9a527d9c490971e188e28b980e77a9c6ea0a4ef6bd38d11b47f5745ecdb", + }, + { + "9cd1c25b5bdab9b9080db3e5e05dc749e0783087c310777d89307138613bdffe0ca259677c13208420d4690031314a11a97a986d8b0fea143f5b4da0972c9ea3cef80b4b0b2bcf2bff392c306a764113f0d9807be86a9027c6ddc85d096600d85e0b236937f295362bc1679537a8a9278229a36a9433925a105ab719c0b7f11fc31488fa071d3032de97c81540713dc29ae02c2e13be8823183f3cd9f72ef8ba4280b4499ee47c7c7c4492bcb5cf7e4fafaa7ec26906e58146215a3d4f52f792d3abdb718f57ed0b9b7fc7504e45a0fdf01ebf5924a4da6ac635a715879ea75a4983cbd9dab9e47638acc687f16684e184443aa9e81513ae4abbc4d1596b2ca3eef77cc9b0603fe90c0570fe6cf4dff0381a99212fadcf7968934ac1ff7664ed6ee0b61e41f5074dfb774b676c2b57a445f1c5749e95ed062837c727ae2c151c0ccb3a4dc1429bbcb9e62325117aca566b8fca0924b70f4defd7749d0389b90f55f35d1635f8d2efdef514f06fde46db6e11e492c8f4dfb7cb5454cedd0ddd32013a4836321a25110f3a017f18475a86583e192132f8d8fd4c2dcb2a3aa95c3be3a57216bf9727cfd1284eea6fa870c8e689e91982c116ceeee2f8298b55646efad684b96eab883fd3d629437e9a0b6523f47ea5b59474a4766ccd01c13170bb08f47576a0fdb573d4dfb65279c1b79cb535426bcab60f4022dc42e40db29f15a6148b461241bae62070389932f035e7257752ef2d6130503d72344b24d360cae8ec11fa2dcbe04d3b18e66d081b552e93a71dc0094d1046bf4491e318f2ae00debffa0b8ada58c5f23e33fb598829ec2f46ad3894bd7f530210371a02e51ae0a414eb2eee43f3e08126dbdbae04c7de4b7416df32953234a6694ea84e6889f27c74206ab8144a393a2614e92adcc77550dd54827387b619f004c13f6c4a31e8bf525277669db0a0c3c589eda15063f12eb774a13e2aba2f2f7b6e9bc69f8485f1d6fc5773acf83671812412d28704003e78a17da25bacd1d61a6d9cb9f121abc71d023bcafa713b7c954e4e1c524e5bcaefd86c4a843e209eabbd579cde0263fc059ec6ff10017ba54fc9c2a1171d6b06f5d85079167117c12e6e5d0c71c008765fce756fd0f1141fbad6c1d2f32cd8e80429611a9a78dbc8e738d458f9ddce58ab43c77b34db9befb25cc1a588998e8dc2efa75c6883244fbbf9a7b4d6750c81b8d3fdedaf98dc61f49d067c369409f984b155ec347a3bef73e2a44957b0ca0f84c7fc335fd89453759ad0ac2fd9a5b38afa9fbe74daaee7bc52301302fb2286c21fb922f74d756de84519171fbecaa9b869682d431614ff6845126a4034f10253aa244bf89ab8e0dfd1f7fe8fc1a8472a10746d26896c8ece7ef80eb2e910069435518ccf096caeda63ad692455b04e6525bb8bae27197ca5118a57fb9a5d8fcfae1b9eb7874d91eafafa0e4fab5cb4d0173f7e3e58fae369843a641e98f3ee460e8cfe95d98f7fd38a8d2235e9d6050015833e6d7d21d7015c3b1ff42f0d3a3d9a38d373c8524752e06987c9408cca550f08c38c2a9a8d86d5ac7a04bab44254ed15c7b5670e0747788e11b81adb0d29e3d0b50d6a429340ee0d44a8c286fcaf9bc46403d26b4a4af95b021336103c1ae0f1274b33bb8b21c8cfca8a56c639f18a9df45d083fa7019aaa14d1ba50eb9a4112e574cd70969640602096265a87b1f77c0e00bbb501555f1626196611b4a824991cf10ab2874a12a8e0390267eaf9e3f8f99eadfbf40d111a26772cda1f50743c417eeec9c80171a83a730f246cf31c6691c96185d672a0fde9ccd7091c4b455dc93326913497396e0a4992773caeddcd783e534eb0f34b99bf23a2db6ee738381b5fc94ff603be014c507888ff55557793a8c5439b11dc5a347f35a2666eda81cda4d1c3a78fc4f3df3c7bde91d05524791b67142c446f60c3a4022912ddabdf817ca3280b671beaa496c935661e5adf39c1f4650563c5c807c8f21aa59df926199c4e2404690ea8ffd7dd65f637452ff93995fe9c5ac7a322b9bdc756b7ed6f533b9357a4a1ffa379dd096f144e9e0d87330c238ed3c6b08c8478e23b65518ea1e4e64585e5e9fec2f26dd7400ce4c73ff0eacdc3b07e4f34f6316f5b82fefc66e442ecc92bea8c1d58635d644724a3380e71fbbeef4bf3e57c6240ff603d65447f510eaa3c9ac794fd24f844489b7c560c7814fbc307e03f6a213eca5ea40fddf51d8731b74ec5b472bdf8ba59751065ed2461b02c41ef96622e60c0d26f9dc78c24f94372bef7e47cf09ed565ae3a52d39b02ffddf1953f1ff500f1659db9f1c2b23534702c19ec1cb7c18166fcd33997d53874c7cdb4e6c2b4d82751911913434e48b37a61a0971861187e5decb7f5c1ef6988bc1d6f7fd147a623d8bf361b0d7ece88df6e1ff8d037762d232e22e51d8c6ddaa9dc597b23ff9efbbfd416cc53e5543253732a23aba151cecf73b3ecff21c6a9fd1f24211fc21cde9633aae918ff1c6b72468f1de7e0ecb6539fa353c069fcbe8920dfa8e2fb86782e3062462f7eb2a2c441bfac21ab62744b05c70b6fc3c9f8e3a8a0c5a4263ed256a019861ecb28e20ce78e2d93f1a1def669e9652cb35d105bfdd5ff2313d27ab3eb00d1b628b4c20f42efa23390802af96a8f261ded3678ea0b780e1f4a88d23588a4ebb058adbf9a9c62ce2ce2f8264c874c697482e25f8d5a6daca4f57fd97d23c42d7b71ec150d4ee33931db5f7d63abe7d72dc936bb23a367c798e6a01509644284d52f9ae27d7d1bae597b2cbc26139354dcca0fff6d76c6065d661b66ca5eeb9f8d85810a029cb95b17e5173ef8ab92d475a1d3e21799e874ff04dbc962c668ef4be9f94d85b2a99d97c0db8f6b6d63e00e36c325cfab9aceaf7597113bff0086e8fad36eac7c0b443de6d3a8533789616d4c863df7200ba795a3b8d0a2b9568bb32af95fa604a3e3ea778c3dae159e1b612458584564ffda07b8aba9710134242b2d83d23127b51b9e41584c56f667b71bc01060240f3a2bc7e5d438e7095c1236e0e468079a83a5dbdcf132d258e9ed18f94d3c098867d06d3c09544565677b454be34ce567f1c143e2f3153bdc0353d65090dfd8f7af4633b89a781e01f4634dd7b0323ea1f38184e697bfc39a1299eaa278c39a2709cde0a346fea53a61f211112450b318d137fe68f6c102085aedabd2b045fab912da5c58d8019239f3a44b18f4fe30c5352e2e2bf030334a1dde1dcd23178636f1e38ec9e42102d8c54df0b94b207e804eacab3edddf89fabda6c8e1bd4e17ae31a57716c679ee8bc7de4412fec3934c6f3e8b4c1d1447dbba0fbc775dd3258f789ca53f1593cadc710fef6fd282bb41c0468ede5ad5b914e4758b4148b0d0c04c75ff6208ca3e79d92de8abafa4ec70ea7a4e454f0759337ce575c4954584e2bb8444c34e823d27b025d25fc9becfb4391df9882452bca0373164cd76e9af316df3f5bb7532e22557b485217254d5ab72ce349620f03758219b259784d4c9f1c7beac3cf08e624742e768b53b3d60ad0b94442c847b84a516a93d9b7d068c44c43980b4c7e2fb0ac964bf05a11fb2adb4f6d938715dde88061b238321afc7e5e84799b02a94baf3f879f89a98ab474ca12085137d639b837ebe069f6dcd8456141d063eb1c032aa392a44d1d58b1e77aba38a280625ab84e3b123507ea7a692c4acd1756c031fa52d637703ee957a993804c13e296cc20c1de55c9b8c032e50afffc51c02e5c12f48383237cdacd005b09243d9fe05e51cea42b77645e5c6f4e48c10e671d216b90a48f0d8f5c1dda553217f5126646d11a62587eb0a4ee0efdaf0d54bc2eb04cd34f5a529b682ce09a34d5acab2c8db58ed6244f7b024e68a14bcd5d7a7daa4dbcf490485cbd38e6f20e839d2b0142b9d766f9527937bb1a737877edf6122ba306bbfb5379243a6b22bdf85dcf3b079691f0e90b28a4259c1c9d8a02afa5b5a661a0f9dac52435e7d22e3591593d37eb2e10f646b51be2d1a96cd4490289ef642ad93eeffd64d7cf830d60dc4a98c768a9bdbf6ec9923062ff04abf19e8b65b95494a9420971018c7e6268b8fb2021a4ddd103976333fa52389643c711a980664e29a8479aa9c4091c2cc2074ce3ac1ab4afa217d39c6a1", + "c22add33457539a957d32dd07ec9110f8cdd2f00ab6ac256b4bc7732f63dd3b867b0ecac262555", + "e71f9a3dd457b4064df1d9055889f105af175a2d10dd7b8729da0d0116c2d9fd", + "7df9824e774c5f86d83cb5d8", + "689683c9e7aa9c48b9fda0cfffea0458ea0c3dedccd21efeb06126f1194780917c9f4f2f44b1daceec3f6b1f75506f4169bdacf12c1f65958784851056fe0b4b42a22aeb043ab35ca73747346ac58c550324c4b849a404c94b8860967b6fc58aff25dad0556f1952c045b91f56ec8eebf6f552c18b2a0641c037e6c6538b289601e1fd5a7bbe7b6e0b224124fec341bf77615183abafb52b3e30082a0abfc2cf224324338c132426011d9f800b382e6b834896ea48a8247f149d92ded7e69c7800096076cd2a729a1fe41c70dafb1f855ffa2ffc27b93e2f5f6827ade7118af60730033675d84de9cde6c260d3d615a945dfe0ed25f33b6cbd2c0e204ee919219d85c7536f4700f06fa61937f8dbbe9bda88db1f4ba8a8d195cd385eec62edd9ce673880800be9aa4430e5c10a5908f6dd349af70f32b32d8db38a7d73821af47b993b622bf168565082d07e88fc48231a440469adeca59263302438ece96d89de11cf8057454d1bfe8e4e36965a4d82618834a0847af39dd8776866d9558a5cff79a1cc9d1e3c22e050677e54ead68b3cf0094daa01330d41bb66708a8bbb8a196fae5c77dc6774629d38905e81d97c5b16d755182f687a8046e55d148419cf9c12139fee50c0533b0f04a805723ce1ea5595fca5b668e58f6b3b396f438308372489b640317cfa3a79392cf6d1afdd8c3359557a83790021a4eb418fa189ad15ba9be0f74182ac76076f102ec171117a3d16ca20b4d200e03e54f1f0ee6308e463a148c0c85aac3ccbe5781cf45b53a313f7c9975a45d1853ed9104a860c08634a8211b87500b5ffa3d8d9d56f22256d485b9b45b24d3873159adb8ae25966cc40f164f342519e88d1ead1e711e1b2bbd4be64c7e83f056f797c2d3a5cf7c5025f92be5637fa7738a1bbba55f761dcd1451ce4b1e85a6628b629a2f7917a86363b01516472c0f8614abe2ad1c9d5501b2a44a68e3eeeb34a64541125bf49138bcd15b7c82dfd40708414b85107d8b982c4f99783a03c707a37787a91a7198063f0e8a2d52dca61755105faaa09c063c7a0849570cba1aa7ddb3600eeba602c7e7c9b90ed00ec731d4d1d8e4bb42f9e9db21616c4aca48dc27b939428834404331288f03c2b5e887103c51748d0257519c3988f6492eb70cabbc2dd8a8a910d737a678d0970ec48bef3b81673bd10b687b37e11d49e7cf90c03c54826ecd833bfd9dbb8174274dd45b139d08371d5d248ee33298193194734c5863adf4bca92bc282bae2f47da5201fc240dd0710a22a8d922faf92c2071a7eede7ee17232d3b6ee5f3ebb1a8b230600b243c860968ab427a5f540912e5e7bfa0271201f288727f2bd5173539d5318e5c1c0a71cba4d9501b91c3bffa7bb61b3713f1751efe94a66e17d2b42da51d13c3df40f4db988dace42a6a1b9d138c4f590b7227990711afbf8f56fa63f2800cc019bbd4a7b3a0983c9b9e5f77562dcad6de96e3b2eb85cd99d28a021a10d6734400a91369236b48ed68528afc68f247d45c79318fc5d634ecb0f3ef8536d8ec2e877adc3308be906c5b96777d0e05970023e5c5dffed12310cc97249e4b95e32451c9acca8394fde699deda57e938bed7167e62e2cb62357f82fbe821ee73b4e09c6e2f512515412c2f27805762a8493e74a3d30bb409e499002a97354381318af28311ce484bdf7c39db53f08f73ca5793945e13fc8c66d503fa95506b37ce134ce2945d75b424ca6367ef4ed47b9cb8ba7de80e773279bf23ac888eb105385ea958b1b49b27c8db6b1e14a5c8ed5d28808a7d0b6bff1a58f24f9c57fd8b8f477a9d1365f89c698b8ba923896181299d474b93e05d3c915b10a69e61910761a6d8644933c593661b0828afeca590ca18e702322d9140d98fcf836c2f7a4f72b59eb529823a52ab05d919c3eee4db2cae1067213c5070450a160fd52fa44bc9bacc5c136701cd7adb1faf484da376477da08f6a4dcaa37af47c7b026c2da9d5fd0b30741357104cb2bc0d3cebd132b5fc7c873ebeceec5492aecab95ab393f35b93b923d2ca071e6bd8522c3ad8598a05e96646504f1620c045aa5734d665acbdda0ef73612be4ca4d95ba069041e042497f7b10445869989ce30f55206a1feb4e64890b7d1f7e9df2e88a352674a52ae4267c06592d425ed1d88101cf94588135892218ac11f3976ab2b47a27f02eb887696c94b13d48b4370eb11222274b5513a0fef905c66d0c1893832ffdb9b333178b65338fd8b81094d8f86f2e4e96a47e72032cd6fd47af87eec295c6e980f595b57f79abeb4654c4039fa03ade732b1e579551898b801ecd6e0fb1c5fd198335834b51673d074a8222640d2a969998f5b878bf897fdcf3426c4e24a7c599e5567643fa79ea5d20e7de581a873ee0181e3632a4e304f9dae09a81f882d4061ec17e588793b160c93a926874d5a8b78727f88de9bc125589a9562db5bb1c01012bbea1b2eeab68877871ce83455db43cc48455effbc71c436aebe362af22c6a319d134f65681c4d0d51f9aa42fb20f48ae3f7065664aeff5d8349624a5d79eb0bef3cbb2a1244ee445f560a6bf7a796b2c950a37dfb85ed5be11e8e305e835c9e077e676aa5ce23edb1f74806278548e3fa35059abc2f032289f9bd76043c8dd1352b6131cf34f66bcd0e7f1d13081f5b08ed0c69136f3b7ad8e05e9fe99a9b73624095f96740c1f40074e5d92ffeccdc0f15502082fdfcfc97a800be511c22b875f2832b2b891cb1aad2a17c7bd0be4427a4549404172f7c14d5e425e14498237c26a7813cd8612d048703cb180f1a6194f688b4644304950b078692faec7a2a5c5bbc482f3a7e8ef2825c4c19032a7a79a2908ca9774c6403e6b15625c485f2dd078902aff769dfee2dca9373704bf63ad981b51f61253910fd48c49ef10e3938f35ca8dd491a8e569baef675df30367b093f1088ebe8f876191dc32055481d074e5e47a4bd728efaea9fee3e83d8556255ffb2fa08194bdc66897d97d1557186d5f873169461494a83368ed8065b9a033fa4c2f07f7c60f945b60479e3c89233d58f674c0c6fa5918150bae0c6de2b65a09ccd490e2ad8571745bc37e70982411af667f3e8e9b9f7f75d863e5fef05c1f0d2acc7c86585a83ee32e0a64a9e67e75b80def5bfeb7cffe6e6822efa7a9cf049689b58336b081c039696e0fd3b2a2a6b0d177c9b3f8fe5cbb1c69ea93c1235b2c5b6934f603127eeafc4ed0728161612acdb2ba894a5ac376c4ef1fa8d49b4722379e5cb39752837395c413dd29a2a88c03849b6fb2221fd85ba6d5a50ba7ee9c09ecc5e6dc66afdaa1b021282cadc68f19529eadab809341187d57cfdfe01d0798ab8a94277b9b868612e575bd98f70de80ebe5f57637c511800373262eb5ac3836b03808ca5d5f732f286a5f18a7b7fb8cd8f60e4debe54731c9c524b84694c5469975443964ed28ccff2f4e8e0cf4c60c1c8a092e986cf12fa90a994e4f26ac89fabe8a0d1e27fdc00f1d3d3fdb73bb76809f93ea113e336cb0a5438147e454e262fbb7d656aa1be1288839bc342b48ba7d0e72c85a2e24be1a97dfb2db85b5d850481e62f3b11a28c6407686e73d550b9f1d0f010602e82af26813d2484a8db2da0814782c8404b2865abfbe3c98a07ffb37eea6de7992cad73a9b81ae96a9acb13ba213eb4111d868cc73b0432d2b6c2d7e0e0ca7ccbdce86d01576e1136871a07c76498eae53fb7ebf2e85fb8561d10dfba740400ef4495ece7eb33ce3bce26344eddd88cf1ed8028ec5fe8e71edda54dbdae08f50f8df6295f6d7ef1163f62262a200456a7777d0565d7f5832fcc7ac144b5c3e0ce3e5c9b7f880a54ed5e80662e96b356ff58f2e372b1dc0d73cb8b96c72caa9e5dd312841a8be23f838bc706d893e1a8a48b2c069874c293c41d00226f73f987aec8686046ac4c0c972c991c38b98cabce30e7255dbf16039b95dc7d103fde630b03441b15bd2c214763fece9d6778d1c6354d2c9478c226175c02cb006006715fffc879a6a2b4111f6234ee330d6c84d453c9ffac08efda1f380110a8ef8c2fe44e2ed644cc3e0146b4d02f76586fbb6d69b827be38b9add444e2bac4d7165007cdbf2ea8c4b967fc1bb70c68b229f19bc3f79cb13ee6265264885f04c09a96583f331ed46de3e5dcaf08313ba6053f3d0c1916a0f", + }, + { + "3ab6cbeebc18df951d371e0f3cce2697fb367476bd9d50ca9e668c77636eeb9d24b68be0ce6a75eca194fbde6221755d57e9d3148623de24896a9becd98789fd3d14de0c7e53f81fe7f3fd491472a66b5b797fe19c5d0525c7a111a0289a9e65ae7c712ccf694cb75c490070bca7db17205af9bdb7fee27f9ff41fc78ebd2d3d399e690908b5c064ffc0d5bb67b0d2880bcb45c2ca2741691b6131aa1e5ee758fc50610406216905e13ec049ee92d1f95e16bc283dfd91595ec2037d20ead51d3a362140578a4538c80581b79852b0f6686c1ea66aafffc872024592ec1aaf2650d167a75bace024b261db4ab48b401cf85ec2620dc12a7fc37012af8ac1d6db923d82eee962129bc4ede578782594708357d29118fd10dc6d228bf7e461d2769e556488b776237b6309f3dc2e884cb2df1f43f71c53d389765f805ac053d05fa835e75fab0adb0f13ceeb425637f43556372d728a00fb005f7c5a20cf2b7f776066d60b70b11a848005c6d63dba0c93f139067b39017c997dd6b94c0138c3619e9a6d0e4b8792cb8d58a2ca12ae5d03e7637f2065fbb9e2d1722fd3aaf234488ca157d829e9a3b642458054f3dd58da41d7fba6d2b488a327b776d1aaab1a364c710e755ab22b9cf7abf1eb8949c5ca20c070f275f8959cb00c6d5ab7879003f89f795351a4ef4850e033d929f9a349b9133b2e0bd1cabbdd381594bfa697b845100b96b5fade05db12de040b814ec49489f39f5abd5b37f570cbb516636d5b7378f12872d02d4de20b52ed8ca0b12029a4c084621bbb578b870ca2ea79fd5df1ef8664bfb3b1a1bf038e4ba33f6ccde42c5146470c9dd293aa747d2372db1561617920142ac1d32e4f1fd18e8b9e72b7efb8fefc56d08f00450d23b7e8381849b1385ddcf9310a4850dbd6db7a4992690190655760f557a5027b5ceab3743365ac9041a5c14bed1126c4eca00d7e0a0e0e6f666f64bd1466387150ece5835192149237d5dd25e703e9d3a4f652ae04601d6acf8228e4e86055394c3abc9dccd02f04a60c298d101260b408b2620c137f77e2019fc6eaff1b234c56dfe922b0192656254fe3356143e969f64b7609cbedebcc8cb2b68bcdd9d723b9c14669da6cbfffbca2351de51e87db6afde435ead0017682b8014f91d9734a9ab9b374257273e114a8fffac786d53183ba666d8a67e30c1fe45bb1bdcefb5787afcbad213f8e36e78d30ae1305df96bf450349ade655cccbb17d887f79e00728abb449ea427fd2d0af80e3b5607a74a57dbe5264131f2fc49cb74415974b3d43ff872d4106ff11b680f56be06fdf85ec9dd850b1f77f759337b9a9ce04e611036d3f45743e562abe4b959eba7424a712fcf7c3f3773886aef22f7cf6168efa83cd3ff70b9521cae1b6689b2b8c423d883a007bb138025f2a31db2147691bcb365ac242efe40cd09a746cc501ae0289e80205993b07f86538d486803da14b74fb0db6ebf1c2bb8c36275137d654c1be56c65891cd50f705247d85621fd0d61ade8c05cf4ec15b84e8adbcbe017d7d5743d5e91025e0154a5d9bac7c6b8297490e9c195c5d74e046219c042219817a5c56636c7c4382c6a01d721d88f4b4d20250eb5eae5f3ef481dbf8a3f47a1d51d080bd4cc33f12645c8481e57835b77a85a2d83301172782f22026e69a43376ac4f5b78734c9eb914e6c76c6a12d4127cf195ad030825322a279093cbc40a680355d086a27f3fb7560713b019e7c286d96833dc60590e9a709f2e3c632894668e74ed20e42cd83a23ebea3dc3bcc49d14f8697541780fb2072dee6a5672d0d4e7bdf5cbdacdf5fea9e03c6d9cf0faa1e954172acc26dcd344bb3d9b2e0e6015cc55d19713d795bdb7c21b44b305e69c69fdb7261483f9693f36f45d356462f1ba4498de1c2e8bc3e0a70893acef2006dcd73cf15b265a8a5d4ed792a34a846d8f1d3b9b3bb75f1c5e57a00b36c00203973ef4e2654f6cb29e4445318ed99f0de6ca992281e83ed03feedb66aeed6a461c6f2871ae95343cd9797e58430d5639d7ef5c59c78b29f76a055e18e2b85eff177770c60ca4f2d61e612e617e749b4653e7901b62ba02dcbf50e59219349120ac01e6b8a6e98eb54abd16b921a1ff85898f90fc49a3c8f8f4ae9b0dd32c3e7f2e1527c4feb67a496390f28532f20acc71abb8bb4f71b434104f41e36b705289858a4e8430b8cd9449b0198ca2244923cff1df0f63833373c275572de5a9a77b23e5ff54aebce8e86d02651f26ae32e69001e5f3951967579ebe8574682cef8c12dee0b18bc999f8cc0f07e2ad3ac94d3caf30c1c8a8295756aecbbecbbb4ade8a2b8015e52a0eb1290693c6316d036e0c443fc4ec591c32f7e7f1b3933c921d5812233d3c21ee5528822b59ef2ec7eb62f7b04f40cc8238a473ec37a07e54f8907825ccaa1421c2964d2c756be450dedc011e1cdd9045720421b9a4a00e9d3076c2fd10d71ee36d5c0fd2c7e42396b034a4cd0245027449242dfdc42c8af4a34df1b4150097726c9745247b78bb2bad5fe8af94eb13ee1f41dbd36e56d801a4c9c5b9ca5d3c26f4714b6fe9f69b87567426eb6f4ac97e8c9541eafc19fc90d3b24aae0f76c4f3f81063d206ff695d638048c2cb023147a78332939d2f2470d16f1ed0e5d3d4dde438affb2809488b99815e54938fac3b02deceaffde310cf422f9027f364f5e79da5d2b5af1b4138ac9f9d301f396b220829c1f60cd2b54ef24576e5ba6ccd4802900db1bb4eea57de7787eda0e30fa90cc19f099444488699bf7c442c398c2ed989d084c8cadc97325484e337848c34562b3dea6f7670f935ed3d5216c970e04351651c1c31a34e862821bdbcbde202d91fed38965e31cc3b6f1e52288f327bd0a787ecd92b3b6f535d1d000b0f02d41ee01ca54e4e6179ad7fcbd60f0e41dfa5c9cc7ee4f7de3844fb385ffa3b24092b30be697f1fd32c9faef29ead346e42fe2ab1d312901b678b43b7758edb7eaa1c2d038b4cd6a7dc759a6b12cec955bcf4179006a7ab6e22ef15986df107080d340b8870e2304d57caa87a9961c04655d7d66c7f71ca9260e02aced131d6de65d256d6b487141c51bc86eb1e4721742f07d09e799b30da7b5ba94c8d701ae34271ba06f8ce134a7a9a2598d1570cf05edd9ec868cfa2e41b4c20a8bc4b8bfebd45f5a60408f08e931617746d1464bbe1f3844ab3272ede635f771f9af30e483903ee4d0cdecbaff4d31451e7791dc97c92042fb932fe1c82652c1d682a55912e33de3b1299db076cef594458670dc4f911f4a244e2bec757dad4b0052a41235e2f5e60b929682608c16a61287826218a1ac3cf0d8286555d5b0552754685c365d4342f0d9c45065daf6786179da791a86b50a5edd6fb4b21f09d9747136aacf79ecbf52b00fb88b0630ec7f0a6699901ba4eff913a3ab33ac85a71ebb51ed343eac86eebb3e79c16e664078ccda09e77ef8e0919b8cc447116b65ccbd5200fbfe86e9bac5637b33c9bcac9596b57c14ad5da548e96a8ffad5f5c69247c68d464c770011da7b45a337f138cda6b4e15311879bfaf12af4c61fba596780e6adcd5dadde372823da6014122dbac70f0dd896a8d387d3c74df282a659028d06cfeab3ae22dcd1fc3ce60f69a0d678aeae0e5681952949e31ccb8975cd167c9d012f4b230b1c1f47022eb1a3042951b338a734cdd17db0ed483a621650deb3510efe74191a94611dc212c0c73b117a73b8ae41892cf176742bd98a7cb73dcdc53b42df56d640739852335f8d44d901fc884286b433fc285fd5b3db8df0a8522cea3182c071f559c328b8516c9252681a94eecec7ebf626c0a9014d9aaaa0c694d14855433dae06656657d1f8a939123d28e00513d72bd3802d211ad7c1e06b9228c0d5656edccad5339bcdddd5e01afdc01f10974be3187804324fc513ba583b7b2da1e9096bbe3d078c1adc6c34d92c54e9c49fccdc17d10e66962120ee5d9b1cfe852569436270cf7c4c3bb12568050e2ca4db08bbac16214238413195dd4d936272fca5d56d7551b9b002df1807ed44abc84c66746387b79bc9e830a635c308a7bfad7c2c22cee6d3d0c5ebd8b230837b7ceaefdf71a67a3a8eaae0c36de86b2d96e759b8b53f8b8604775eb7a7e13223cb21033dc87d775628581a954085c2d66c1c8f225b1aa86091061738e7495cb36a5ff032dc678904bfa39a00285cd6947865b6d4805e3411644b4a4c94a6fffe05ef31e156bae6165d801685dcec195552d029d22e5de393a82ddf3cd3de3ad8cd6bba2325a03982204f07fc3c21518ef17a601fd743b27f7191bb446ff61d3c61d7608777990997e911932532e5b3235f13423756f5b6c786720cf6682932c90092", + "50772c5a0e156ba13a9d86edc0e600021d56f7d31e7e452a74ad53a6775339c7ca6521d87a8c79b42900a1e9e6a1ec03f7e3d615611c3fd5c9927c40e5b508af1a298794b60148df01e9c9e78ab5ea8198c097fadcd6cfa6694be64e00eefe1a1885aece86f6ad87df766e692b58ebc41982bef5", + "93a2561a9904a1787a10e2a668cd6a814f2877a7b512698e94796805875c8d1a", + "588d9bc1d98210d9700ef488", + "165d8c9eabcd5e93e6eff7be122c8c242e1a7f284790c93324f924efabcec4a4ce48262011b7360c2833143d645ff295453853c92f0c48c6dfc2af7ec58d9bec0d13239c7e5593cdb39d49376c6341263df80c0ed2ed79fe9899d0c07de93f6ea95a5dfd307e49bdb5672b158a4df623ee86d54cd1a0fa9a60ce39d1f5f4b6b0ce9daf2a61a907cff3bdd3f29156ac439638e0910d728843ae17ea7368814ad7734732e7c023d4954e1cd5fd19fc9b76e9bb84b61dd4371478917757b14b366b4bfab4eab0d9de746088ad43d8742e2b9e58faff15c2eff084df5f4316111d5dd7d23cc0b1ee1000253f26cd260aa636f03f64a8342e531ca1515b3beecc3ee07a29184988325322d5c09754c278231f92c0d980adc919d4fccf4a1da1d37f1ddb58ca997d6d700946199fa007c43853b6caf5f8049233584087fb23c3952414ac487e452f0c3898486d04e5b008b843122501f9c8a294da9159a04119ad5c8e9f5c211411e34559d3a7bcf2ac10e0174f94f3f2968c80ebdf4498de172884dbdad0acc3a887f9bfe896a6004d54cc424567d53f1198ba33c56aa460edc6af0e437b34322c1144854bafb2434f00703c1992dbad0ceaa0616aec60a380676ca11558cece57a936959d6c2ffe0647eeffd37524fbafa9691f31499701b202d9dc9980e79ea517089eced779aa45b522c9ad193e63ea8b64e8a942f630d44370f23b7e9acfedac51dd9f139f8806b09a8fbbabc76fec3c3721fad5087a6d41f93973af8d787d8bc74a3122d99ea14e2f30a3c90be4b695c8b269784eefafa52d6a79e785eb47a23d72f037ca572b7029d2f37baabce57658119fb02c5b659e3aadfe0052f1cc3c0afc6fe4624533d9700388713945c20c1d175da53738fc73f48fe57fef8305e796b474b6f8d3fc5040042373a13384237d95bb045ce0c20934a964a8372acedfd6e559aa84180a86311a3996cc17bf7f73e5d85d4db2529989e5836edad490aaa5f56d17326825aa20608fd209903335de4b36b79f68b6a52194f6ea8ce42570533df650e65b50c367f69b9f08c32b3ce3e75318106b8b2c6b6d09369c781fbf2aaa35053af215b621f833814ec4778ac683de0dc22c418b077a917a6e405ccbde9f72ed523aa696be1a6f247b096b9235217bcf19b88d43178cce5a7d82335fccb4c079e00280bfd272b9f16ffefa7fea38d09dfb2e4874553b135052595812aed3fa15096abf1eebf9abd598289e0d156974de4c2654c60825d42b662ca7439816d9d3a0255f40a4965504f643f029da535d4b109e8658ec570e99859382ca0ede0b0495d508c63c7f1eff3f648c60e9b773590cc663a751178ba7603a11985ff519056661b9460c1aabc30e83bb0073a927682a06d1b8050c345f7920c1a37546d79587fae2a92c803a986248f90547f0b6c0ad0552d8260d2a0dc3cc76d092ab76b8c12f05dcf141167a6ea300bc23227933396ef6fe9d51a1ba5a754485950f06cfa6964db2d0fd1d4393cc36f0592fca25ac1a6aacda2a32f548ed20287e3d291661848a62d41504e4fcb1cd1785617fa5786712b3005f1a1041733df6cf838ea3ea0b93685889bc6b2857d80a9bc0e7a66f7fb3d805770402f049889311fc112dccc72a25bd127777fd87bf5ab56d39bfe6be2b45a8301c2f324dcc50b27540200d522c24941701f7293b8877ac84cf35638507c7d912a3a94e4384b68c507412df65d0c4ca8ec2da704bd4483eb2e0d13b68c0c2b68c106a55b9710ad0a1436d655a3cf3c419d5e6f027ddf5dcfc896a5b316a7dae9290a7bf81aed539a647c8c98e24e7ed6a4f7f00a11134ca715e5826625c250500f8f16b40de048b095b5dd08268407f58a91c86c36ca5a2bf4f8fc682adf1bf601da24414c74956e1a8fd2888b5260e980c32f6678a4dc4ff73220c22593d23144b84c2ff56920342248876d15ea54fc100c09a81b802dd15f030bda9aa08727ea49e34f0ca8693e0a06d0af06ea7ceddbf0584adfdebeb20510bbac683451d9f84cf0f4e85c34d979e550e07e7f414d6f1011cb3dc28d0df6d4aac113f2d5b04e4486ee2cdcd4157dafcbbd55e8330a7176d1b231d9f47a63da9ee30fec6cc2c5aba3a8c6154f79997af89d972743255355647235ee939f4f305ec655271e0cd562ff6f401b86dd5826c769298445108ad0d9e13c504551f74c507436911331db60ef0ea99dc259b13cfcb0596fa9b3c95cd7fc3b1611e3b012b6719afbcee7548939676dffc372276aecd08e6a14251407cf995266545427d49ae5ab245cd5d534c52542fc71b3973f0b766f3d234c8baaec8b74eaa8ba90abe160b4504769d02e08d7af4e7ecc167780c619cefa58865169b674b2b1e10d82f6560ba0be41a781f4afa46bd722566d941a8e6f87e4a5c03d89685a22a3470354f2922e2915f9d46288a5e8896ed13617dce694a595e379f25fe621dde8ba73d865976950954e5bd07db147a0fb74f87cb06aba49b073942b82fab33a878651df73df2721ef800b658bdc6c359d396f684598e93f38e79639b8736b02dfcc124fb9fc199c35f2fa1d0dc39939c57286e58a7deed7b6c76e02b99a14d9bbf11f65d8eb7fa096fe4baf0f78cb34736499a0ca550f10d7edc8909dc34b039e3abdf1aa67a51d37a2eaf4c07022897d4d8355d3325bcf392d91d02d462488ead90b366e9645b956c3802e4249d34b5b2b2484a1dec15a9477821df6bef5e1626ec5ee9832fc3bd0b63a3c4100d32fac3e9085f0b5ba43123f54beaa7ccbe6ba68231649f35a28acfcbbf97dea2d6cfd96025032b3950ec8437108d0f07baf1bc89e3afbc2cdbb5031d3cd9e20b19018adda466382059229e4c8c54b455eda4280bde43b36afa96e146e408c7104523d5f565d22ef86d4c7cbf9c6e0d0b30e37b37feb9332939c642eacfe19d0dae1259d3267635051ea5f9b518dd74786e45fb8bdf72cbe3753bd50bea2a961b49cc0e2d589e77fd25ebd962463fc728b1d288c38a79a182b124d345872afbcfe792d259e7e5334311244edc75d05f9a12eadb61fd3ff79fe8c097eb01a4ac1f0c339d3be74be3d96b0b6a15e8868d043a0f2007ee8aa51756d78b7a78ad90fd9a26afbcb51fdc20ed7a3947f715c833e363bb87504d8efc9f8b93a993e2e26430f79f3cce203b09093c9b456b1967212eb0db4f7688d4dccd4a523866f75c9d9e7ce07825ae34399c5607a60b771866a647b6d5e1e20795ca906e451f367d8c40ffe79a2cecfe7aa47a402f8d49be9084661c96ebb11f1b48e7e8abd2978ee626f962e98f99db4eb3c6a52aa2bb2e62194120ce1e773b9db784e8c9b5adcfb70e3bd5717293eebf014e9872c5c1bdf3fb296cb88eab5e97a5ac320092033b49f37d840dac23021c19ab2a89190f3c8dde927f6e6b41874bf71ba7747a616682bd5b3f17a1dad40f4993a1b186ce4f44afb4e36af7715450bac62cb1527eb8db1d87bbc4d9c99415d16660e48efd911e02f5777a77e72733af3c3f5315dd0c785d5212b79c46c3bccd74582c57cfac0d50fc0c85370476913f9d8e8e10d0f6602f2271994972de49ab1a91728713c3cfcedb0e61c270b5fb331a980965bcfe10b41251a0f7915d5943f49fb139626f1c424524f2fba3a407e77dd7513669894fd09fff4185fbb997b4e4677f6ea0b52892f013f1691bdb38eee9307a565e396bab484d91cea9268f49aed29e319b0add900b6a75f7461db5486aaf5366f98df05674361308931de753c70777de73337a996f6d4b0e06d63a69849ba7533bb0e446f062edbd6250e61a49f4120f84efc1cf74c1bd30cc61a2d719fa76991dab119fc814a7c56f48bd584c7935679c53bb0ac78905b5d961fcd89a4b567d17a5182651cb07146aa9a94972ce613e8ff9c878a8433c0244052f09980a52d800e97ba65e8ac186862def58c72b9feec91266e26aa5075b3337c7bb8716b3acafe666ffe2df32b78f9995661d3ba28f8a8780436aae1da2a3e6a0a16dc562b8d5df6f68391aab73a10508e0f55208f974a0505f0fc0d8a55049a7b631fc94fab91459ae1f199527362695b41972e50faee34c5cca9e35e8682099f5e9652f88cfe9fa990ff2154c89c1c2a4ed6bb8a889fecfdf048ee0aae7798c55d6cdfd062cbca97ca289578c832d658ceaf26faba54c9c3ee9eb5bac80698c1441b9cba287f749a5e30d5cc715a01c89353ceab0974ae77fecc1d2dfb31a5101783cbc002c73cd155dfd14685c2f9acc170dc437c649b6b4720b676848a7f9b56cc4787eabe72f6e3f2aed776f9bb1432fba93a63bfa44fbcfcb6eaa9ef4b79b32bdbd68cddbb9897cf5a02c6f99fc765790092edf0d5bca7c55cf232a03fbb6f3eae09b12e09a9b49a538e0589394700d16ebd3", + }, + { + "3497e8d61062e6f2084ebf72d00e9a47b550591edeee9746f31ea28039a1646d384c4348af293ab778f92a4807c48fbd14e8dbf3d67339c991dc4aca7dae38b5fb7bfeaaa538611d328b653950f4f664dcd257b345917cd66dc6a1ea75d99f70549d1af9d67b1608077b41576f38bb4c0a13ff4fa47b251142c6fbb79f9a27f43841ed0ebc0416c37f571aef8fd63b99e93ae88db50e9ef7d499ae7433d5686b165579d3598f96d9e7b1c876870310703df8fdf2069beadb34984f676eb7d3840c4c5766dcee3fc39f0739260a499647429339482e232362bc72c92a299cae36e9069cc5f4db8893e2c1b9ec0b4f334de26c951090b9724c2b3b7655d8248bc12a27861e020eb1e4cf6ad0dab903279b6fbdabff761d4ba159c1f631e681f210a8782faa86e08e554b5e30046157a0d1144bd08a691c2cc2dd22f3c3a4e5d44c5d03f7e3e385382ee4683345c0d316d41ee75f87038b49e0ad3ca45121789e7e7b95615e1a9a8dfe02c044c2935a97b141f639448182252ebfc980e0411e5fbcb3c01acd5aa7cc5d67101ffa6ab6acacace5f02d67155c26dedc071ffa66dbad26f67a819d46de0556fdffc1b4ab6d60905d8ef873ea1e51c62571c08b4c6db242e733e02e11e5840ee445c290b2232010b118839b37d4615c4521e8928e9ad475cdb4a3de9928ec7e6daf0e20d22e308347b31e7e877fdacda0c25f2e5c33a329e84707816ff4ffdca30dfc753c2cf883df16016795db34359e9363fac60624ae4d2b30bc1f2f99c23d953779c22ffca145fd08dad83c0f76cf727196799544c6c07483e0a41ca2e1b1da5a730956154f531d292b5a39a229ab13bf24a804eb68786e481c8aebfd3bc557afceadc41d00e1472c3b80ce652be1245089283bf1a1a93abd3325bb6eea121db8c0e1d6c0c31decfe9dba63c89b881824b0531651fc500f2f75ca9e5fdcbb179c9ded5d600a495ea704c2709f4a88c4fadcda4cd82a5b089f25a6fe0161159efe03fb5e0d44bdb5487f25e8c9adacc389860f62b06a6a4f8f104d9171622f70652ace736e8b28b70a4d9fd3fa4b9784d1a6e6811150d0a0601d31d17f6041e58a1058f99b80b0a6cd4f79c79a104b6bb731ecc881bc68e1d99ab358faf43d8504957ea0152e46e27dbfaa17d0f58287276e4fa82ab78a03513d5b4c3199d1362e4fd6447d1c26fadbd011abc69332ed0181952b391f2e8a5c89d68e22a7c451f69a9573b6bb6d918c7e3d52116f3f12f1d43d2af46bb450f58bde1732a268293cfd9cf2b90a844588c1979a30d6ac21aaea4b9e5500ef4a8bcd62bd70cae6acc8839f818d23c615e45daf14335c36dd46817c9b816be60c3848caa812b055da33f45bc01721d6fb7e850fb1e1458f27c70bc34876a955aef11f5703cfacde03a039c3b75b99b2d91fc18b00071a28ce25eb169b946b49858aa0885a4c665deca020a3fbba55d4d9175fd91e7901ec9eec0239806e8305f8238e5270f4af5c94d0008f8a5564636cc33c8a3d3e76db2a7915abe798b0dfbb3e322b33e188c7b188573bddbb9e4a7edbd4bb194b9743c4aceeab449f8affddbc2b109eb3d84f3b2f8b18ea2962680437241d82bb6146674ff1abee7baacc38d5dcd688b425c3e3b0dccdda3e36de755afcf7155d3d7cac2e279baad167e2a743b82ff8ddf3db8ecfa9680ddf468339427a4e9fb8ca4ce6f1e790c24e7269912a9989088c65965b0efe68ed44eb26876674261e3e72042f5995f1a7075b3932f4c23a8027d0db35ce4322122f489995bcc0b3fa32b7298c4c1b3354766c866a2fc0ea5690c58c5e08ae7037f70accb3ca7faefc37d78883f2bcd768285dd2571dbcaead813a0b8ae87cc1df868e93500d414c4418d5c80b919f73b9fd46111a02bfc884f9d30ee14fcfc1d55d54256b9572afad4777b8d8172c911472a22e7461f6f85aca063c19d6fdef3351149ee6864e93cdc54ca5dc7837f0ead91f5e3b155795df5dd1f933cee8671ffc05058353995019e5f6f55d2de6470605a5411afcd7fa5aa8f38d77dbf496d7fa9c5a4d35ab661aa15c77ce42bed44763166160ed5bba954e470c293ca301363f5b837406ea8ea746057588c34acf266030864d8c40e2da88ef04c49205fad1607d456767d30eadd884359bce04c12e35487bc1885d9b104c9fd4dea4ceaf054cf46cb3c77a619ffe963acc9bfcfad0447591ccd32cdd1fccb1fe7080ad75cca2e17f695ce0095a774327123f21e2839773506a9f2d896bde87dc5e35512ad733aa408f8a49e9018d1013cc32f550c968a03308cdbc73ab444f0a79a13450d4de906369da4c6a675d7e338f738358dc238be4f047579c8ba7a60448da541cb9e57f22bfcb8c26280a59b77edd0f5a009a3ef1e2958d6d3c3372840dc6a0c6ab1fe86aeb7590137feacbfdc7da57c77595b8572b45c4677836ec86fd8c4ca8ac351397aaa3aa298d752754507e1cc514d41c3f1ae0a692179218141f65bccb9acf6244730c6d00829455d21371972745b3665f930cf2aa9f0abebe6f7b89094aeb4dbdf7bbbe794f134b6284e289c995ef2929fc1bd39b259259950de29e57cdec15c4a7d33ef6e689596a6ce23301d25c2ace77fe699d90c2329da4d0f471bc093563dc735ac2fdb32c6995606a67bc953534939ed1236003c004d3b47590beabf39a1e4d5d1b00898496e9effda68433da17d1ab3a32aefa3681aeac116c5705077552649153ed15e9d704e67d8819579feb02d91db0d3533182ff43ee5648f5cc9a595ded4772d61e77bd9bffd6f29fc1f478dea44c32d5ce3118bc8860b254fb0bb1e85223bf709a7c0b9a52fd3914f1b1f295fd246bcb568388dee43a32df45e3c798068608a102143b5511746903255b98238003eed68776b46bb0e64af6c9118ecf9896709aaaabefbc1f58bf45b45768345b560ae2cdbe4d7da497736da8013c4098addb4258cafe7823bdbdd715250b707b155248d39fc6773639e4de3b201fd3cdfa1526c4149ee7d15bbee680c956fbdea844b1470a287d430c5c7e2d7b51fa756720397bbe214c19df3399a989958732d93979e361f7266e53a59bcef695435db67cd8749d258e7d582726e1bcad1395e68d7848849fb6d74451a53ae6e8989c64701102959f7fedc6a5cf8352e218396f9181f33037ca74886fae6e57460bbcb71cbe4cbb3d3a81e2090434eb1d6d5baeee4ede251952ad88001ce047279cfe435a4afe97847f798d84ad79a11bd44f09222d2f3b7fdcc47ff8a4c61f40c4629a0f603193e0aa2164579a05726e547c9081abcc0087907f8034469f740a020e19623fad42e9cea64068abb3d6ff2f6680da328061c200e1f646816a5083786ae5b71728a0e5cee14d7a942379c389fa9dbc7afe7e7ae075c061df11e4587bc90f92f1b077c091c43a25e7b3e870ad852c2883aba2632063c4ff74a857ef7267816317f823a8bc5dcda311b513be3a40e6bdeb89210bece50a608e624f00c9d063e0c8878884e45527f50a3ab4447a9a01652322700f087b6f96ddbe96a68ef98656800eda6563015a6d3c0eb1b6a9b21cccd58cdcdd074b73e40a098a980210ef831ec9e881cb42ee07519fbdfa52d9c62766a2046dee7752f880dc9082ed7f050b49ed8d14307b1b811bd87b6db2419418e49885d20fd7ca8fb45a11a1da17ac2304393734b552b5d02a303ddc72d1f456697a287851f207054c18a6262f5349348c806841d21e11fd4e4ed9c01fce1688483e009930079f7d2045a34f98ed83256dec66400a783d58c61619e6e42f6e2c6e6fc69e76651b96aabfe643ac69681955ce595f4696b80dadd1f3910061be6ed0840d47e928dd93e7c3d6932d3ead820d06e2539d9a604a6b53db6bb599da851de7cc060faa9af76d708a9aaf371dbc3eff0fdb99702504c3006f789a49feb730cabe40745837e2c8c17c77f999333798431231b337357637a5efd1eeed891fb7475f2c9f960e67578adf50241287bc5599ee08d0237f08c86ed9b75b62d612a9353e48cb4cb022d78f73fba1fab7f794a5ff64c97e6c91ec464847a81e5a5253989a1ee54a41bcd9b4b77bae6e72421471a7ddf0136edc59b72402d57e542916ee47fb3988b7123c6e8debddff2df171d4ce61e83c3d41f36143c9df97f2f68639f1bfc2a9d1fe175fe9f45e17e5cfebb330d3f06e15e3cf58acaff09ea576d896359a3f06985765824bc499319384e4c458d4326db801c564b0b503552bdbec60752b670d82cc8fce9028ff24ade3e805b81a72701b37d4ccedd72118b20d792739e035bbacc4893ded88619a6c499f246311947e48684a35406c4ef279c71ab2a74f6e5313f7900080f19aec3a39109d4aa41c930c66c84cd2163f4cdd59fe84a86cd8bb6468bce45a56d09490e032da844e6d90b436dd874c1cd32a75d1ae1d3e86d8a2ef948649eb56dd7b360f55ba5dc34a12f9279945436c6fb83d1ed57ba4ae1d9342a3dc2df9baa82fc9fee927c13439ba5bd2ff9f3e6f577b8d2df731db14c51db8a14bb15bf3e125f1ca4cb2fe856c5a576cf995db5010687d0799581c5e76d400c1855bb46680a631cc582f51c589a831", + "823d0cd34e7450550da9716c1f456ce0cbc79431483a6214939266581b0e899e4c95719a09c1ef166a618289a6ee6971b6fea3fe380512cb977823b387ac51d341c26d4a835c61eebde37764d2e1d588df7886177e98e3151106c898b3196bf4dbd83f5f", + "a4639c22fc7f370d8500a53819102df5e86c541c0ca10e8f6564e50b90c28f34", + "34a04df283c45655a52bdd84", + "cd8d1b2e5f65ddb3c0da8f12096134da22ad4d541444964077610aafc1f77f8da5ffc75bee807541cb6eb0526e78d57fd88fa9d9608914cf391ae7ccb8eedb0aa711889f9b6192601163b271c90df5d69fef487b6c05a24fc667469cf16cbd5afd58fc830119fc9f61b26dd50a96ed84c96825a615a3aee84ea4c950152323b20884346b25c9e2a6be3a93505ba059fbb114c224bed8f05f54eab76b2c9c23a0fd942eef9696ff67484b542c8347f1b1fd7df7242872b3528c9e45030447b2bc85eaf191963291e4223b75778335e5f1256618ff87bbd68b5a9e5cbd2ca1dc8aff4625c834edf8fb0d879b1f75ba9b85895a6bb4d7569a41bb3be6cdd020065bcc69b44a8fa335d9418ea2d090d8061e042e8e1a6ac03a6d5525079f14274079734ed42c5c9ab9986f0fee6bc9ee6c485e233e9b4d6de70664902529a135a5675ae129353eb2c00b73f226e84fe8c594272d6eceaca28b6da30492c92074250ec80beddb7208f9b5418944305b0864009b3bbb3dfbfb4cc2bba3313f8f7c6c19860f1dc0f5d7aa06e3b551adfc63dddac980a79d72bd2225d54a87a93717291c7b78bdfc5521f7f3239d5564fe9c9559dfefe76b77efc2e75991f31a0134529a6611ab9ef076491f2d2d81ffc5774ba8f8009dd7e5881e09ddf5116fcb5a44e576aef6cea91ebf52c56c742049639392cfb8b280dc2229252e04d8d394ffafa539290acdd8118656e7e1a4f7bfc0bb689448379e8cedff7590a09a3f5a29bf819fd87297b96ca07431a29a07ae126eb9d65e21824c16707db89868e127f17614a536de6ed268b1600a8b02aac2bca54a09b7cccf8e184448df334f95b9f0221187d56da7bd422f09b4d94228098b563df53414a5a86728962a2ea63023d8c3f03847b36db7cd189ccfef3e623b14842b8cccb18b4f80f01b32a4cec48f3009b98ffa25dbad76089c8700e90848da74aeca81d01f4dab2b7e844a3e48bef21f33c92734b821ab382bdf6d0b1048a9866e676b78ac9398678ff626d5c173a15a0a7514b2544405dd54eccaa2791605c87d7117bc9f8c0ad84623a9d3a2b1733304b492d4dec38f7981db9361b03a2837a95fe937976c7f4341a802dbf583366fbe368a3af3f92618046bb55696cf7af1f465a5a57ec5908621f431ffc762f35abe892f772a60a3f75ad8401321f67981e90083fdd1cce40903ce56a629120d6e13c8871523c4d848664331966298c8b31a5bc8174a8c14f61cbe98ae7ee3e90bc832b04318864d19a9b8b6d49a260f42bb120cef9afbe704faecf0f428d917ead9f020f5e9d772bc8f29600f8a7623d8971c1e3c5f1a3b094191e497bd70f85de124137cc4b9fe0617cb73cd44b89aada072625e25976e7aaa5a8fe9d9e3f32db47d1565aaef0e84d256bfce6aedfa1a2dce5a94976a2bb9a0da95941fb7ed444990b0e0e87627e35f3235a998019650a5e5cae804ecab8cf729a5c712f1e7d17486082dd50cbeb2ee1b0be6a7bf08a66ab3cf1fe9f49c7083f5b8ad183f32fb35fb8a41230e4041bcf0e5ef54bc3d21ecc1fceb08d95d745a997e8f2fc3c0f6b1b6c1c02e03ff02ae0d879d13eedd42d9f9949ca7ebb785764162ceb6c6f9944dcb3927b2f4eab23ab566b2b2bcc0c7d77b82579e88203602264064ce98b5b1ed992c1bb13edce579ae7f5e11697b493749f308b33e47512533350df5c07c3dadff656197884f359cdfcb736d29231aea1524b56e06c92f5a98ea663543f67e44003f5b41907a951dd792468c84c5e0e1b46149a5c9751295e153990b78c0cc712889a21b299b0315150dc50aa3b4f7fb0079ddd39d263a754b1dcc595c76ea9fea6c120384afb38d4bd40491c4689b1afc9dd096dd0327c84802bda6bb6b7a8830bc6c06b308ae9665a8666a5551ec954eb72adb827ef38f036c51698a28c92dc1c9e25c267532da2c04c1bf27f5b683ac750c3ef53a8460dc186331549bf82868f9327422c09afe1cd15e161bc41a70cab2f973efcfc8f01a380b86a432e1ae540e09d404d93d22a20dd5f685a52f0acb863dadea236288b1714700f23d1c19e40e219e8ed21f6a393e541abba850ffbbd4030e5f6567b7202fb66d86cc2a0beabd495814f6a50690e8d74cb8b093e4d43261fff80e7a67ca06dfe808899cbef84c09ece01414baac740cbe4c656b17991868e2a136f4785a0de311aeb18cc95ed33fbece22aaed8cc1e47f58cf6c09a6f92c96f37d2d2485b369093506f5e9f8534f8569655277d0399ddd3d33861bd40c71ac53a44d1981cd744d79202322d47a0228356c0e27efa2ff1009cf2a416fb6e8844eb76b8077a4a3961ff193e1c95b222e72688ba48be82ec5da498e58861ea613782ed1ab50a95b5cc236834af98e61528ab18453c20ff978551b81e1bcc0ff4b7092bdd9ab0b946b7324b7361ef05e1f7d7f6a336281b4bb2c671a95a6ab84be6bef1b9c8c3d2536edb8d79b40637e16d7281ec5243016232d7c9fc07ed9dfcf555055d8ae65f12ad150da81f62f2e1e82b3adacf6d623ee4759ad61a09038905bcf1dbbab671dd28fc1d10a0b7eaaef73a5862ab449bd84c8698d061e79fbe52a86739ba945a01353e0f3916667bd7b4356cc65451c7003927f2aa738d98245760550156dda529be741ce3ae1afdea0de35ada26ac241fcb5d518e6ee7f9930baf88bacf8bdaccbecfdb920f3b26285439912a8902ae029b07f28c1dbcfde780cd2bee6c6e5f4520c5c7ff3ab5448ec86cfb270c39586f80041f3764b5dc77dc5ced0695c89671cf90ed34c4067b4bd938b1493c7902dd94be824810a00bbde4915d138fcc7584790bb0b6682fc0799cd415441ac90c1caa008c7fde3ab4a3aae478c64991ebe07e6c4587d3046c9ebb8e125e795f0be9266bcee5a4e4355a2830c5b34e583b0355b34b89c08011db6f6b8371de003074704e8cdda37ce42c7e395b6a37bae3dfbe67bcfd1f125c9a262d56883ddc028773988270aa30c6dd326cbffee589f38286533e1d5c9486011170be591beab5e0ce98837cf91f0a58d69d872e364aa88daf9cfa71bad167129420282d99ed5884a1276dfffb2c4100c74a8b863b063c07937f2e9c12523deac4ea16178863d975e3a5be5efb5ffbea994d07f7ddc5326bed1f5c9415c1d4ee1667e3a581499bb573595158636ad94d84f7c6e4b8efc2b141f2bfab7932a050fd88a8c7b21877cddd488543db5b11138cc808e1248b6e2ef492faa8a32f9d93e3c060b5cec10f03794248f9662ed8c283a8e0eb493824e2750ec75b3b1292d80ce002083a3c64cc487afc31b20f84a778f386b012ef7bef46e638d0f1cd75487ea46e05621d608482637b3e642a9a2c5371bead4386eff968b3e007fc263086d8a930dc76a8431a4e6907ae35c7b3291075d1c723f02e4895714803c0e97d65b04c0f27d01d5d68001bdb3bbd44dfee1eff1754fe8c182cd9bc6ee273beb2a444ca1766f747d86f36cd8cef6eb1dafe0c38b9327a8cac6e83e076099188f02721cc4de3d940c3ef19d9b067be07b890c798a79ee8c44d96c5e05ee5d5202d941a674378386233a83bc85134dc8c46a7531b2b952fb277d8089cfb13e882bcf7545f0605271fe38bf4754f98dfa13fe6b635a62bcf962553882a8f28a9a5fc0b3f85509b702d4a7555d40c4f7d10fbe80d48b4826995fda7d15f14aa9b95fc6526101cf09c97fd74baca6bd26b4fce8a57b0726e0f68118969ec067e9ca39b2ba59fb0d78eb5cec5b872613b1b76763b3217d859bd6d991bbb5448bd4e49dd6597ddec9e46afb3f71d254aba828c91de51904139ab19138e36e6996a207da80323d96077c97a3e8994296376d4dcb602f1e77371efe8b020b7b6f6f7bd2bd733ad9c06c45b77a2893d73b4a8a57707969af74ba06b2fe7d4079bcad1cfeb3689ab95c8b1215fe0a855eb431f67df4ea589dadbf055086924e42cb142c9031e25b81e8e1167a54008ba1ad7fec6794f203b27f3092dd72bb766c9653a72b2e25c965f53487cf3baf74eb7742702380303af8c0a61cca3eec78d4b709e35e2cc5bd586263d9f56fc12454547bc6165e3f070ce7b2bcace5c8cbf52f987568dd90237cf190dabd4ee7a80494692a5379b013611f4eebeef8e1ab9a9c5ba61926095545e19c3dd61b7b404230729aff7d82b6bbbed6b4a926f6e49189e3bccb578fcb3537951fe9c78ac842350ddd80133275ac0bce3a669183776fee8288f874d29190b452d65bb7d8edfedc6fa0ae147102b92041af6dd8a566932e016763b60a5b9b1e3667f228cab075f966d1c525ac19d12046c6409345799adfd7154b6d8b51eeb1eab3a132ac6a2e08acd1a34bbbbdd019195af9f8a93c6ed5463765173e669cb0d42b6cffee1a4b45987853d43c02f920819f45a4fe0905d8c65aca182b4bf56fa0dc51cb53c642fef003d92c13ef4bc1bac571cbe2ba3673a49694f6311b7dfc17a4069759177930b179748d4403c7259e10a5d221cd0a6b745966e598f894e607b779dd5289fbdae0b4348141ad373a62c76aa454b35b39a7be875598bb30007fc300606ee2537cfcd7c22b6149880fb3cd8eb53054d698a0d20f26a5c3ce468255737a68706784", + }, + { + "5622aa8d2f308dd468a7e4959ccc01f0e80d91f79df65b8201eb44911f6abc758c6703bb97908fff377395d33f96c328a4541f414b7ac34c6607dd85729afbfe01feba988e4997c6bd2c99fcc35d2467b143a8fcbe6b49247226a9e4c0a4e3c1a29d5931e6f1f7a31d90a0e0edc4479f08ef9bc65ae4eacd0b93b1cb38948dda31e60b18d702bbf5935bd580201d1f280cbbee679fd834aa6be576a37a037eabe989c3c18c7fb61fda8b9ffaa8bf22b57a101c19e850c454353af7af3d755b26ff1ee78b9d9daa78294972d108958682a5a29c8ef260e2289ad9d7d74f32fd4e51e5d9ee828366abccd97dd56e035713a6f3a1985383c0ed5d98c4accac2fa1ba7d30a295670d5224952f7b7554fcbfb426c9496f054834dec48f9b70af3d2b1c6dcda1c4daf3e9601364e57851952c785e65d753be1c22729bbde33aeb1e4748dbe90da6ecf716f05bfc68ad819515dffafd33a909562b95140ecfff1d0747f8e0459fcd3ca6cd8893262614bb4bf4b639285f327e7ac782898781968ec98f6f0f2f3c4bc5f9c4691ffa7ddb3662816f8ad092095b598bd4d10d6b5fc6fabed619eb11dfd4d638f4c0b6cff7194156a411e8ad6d3229320336ad52fd9811c3a1fcd571d1bbbac67c6186737ac7ca1ed9b2bc46e4e578f81c164b09ae5cdd4059a2c22b5e7ce1dade684e49200867f9bb1430aff9b99805cfd31f7e3fecbe898f70a4eded86b8bbeef7050eff6cf8ba71395a7ae2e270a2b58010e56cdf6efc4003da3d8a82e96979ee68694b6113cc9a6e377d40a810063830eb95005a81405e5b7de8de67424845bab1911bc55da6338513742d237a555465fa54b07ba50ed712e7a57a39fdcfe4af50f064ae969823aa1c40cd86a621ec90769d0c1babd33e8388a8bd76689215b9827a5819127bb32ecc80a562a291f3192eff34cad2635e5b0c0bc174add72e2041864953f1fc72be7d28111fba0438d9036da3d5c0f220ccfde2319bb96fcbfae6055ed7f1c1967ee9a78e93bbb77cbf151084d602a5a2f087d49c3134582c1a5d7af24f4c88be26204cc9dbf4368b19470fef49a5823a2d66c65e9b1e8ab56bf5a7bb3220696840a6222caa58a7b39fb792d95d25038a8bd9d916e853cc5459640f8b8468e3d51f05f1b95e996cee40ffb7ae14cb289094f1b77d5573c1aee7c12a6c3a1e31491422f272cc5f510d4f18ab63d3c3f468c5abd61b2fa7ba0768d46392e2a4dc06c7ce79841dca916cd33cc0a700b50fc660e5d1808d8b87e65feb89428055495823b2dc317d6d9e50aa5ef7ab14076174ed32f56abe7d410e58ca40e92f8a31433d0d74ba7b130b1561f2b075fa11ead744d031f34d82f1a64d428f6cccb0a009be24b42937bf3e99a1ef1fabf0fa7335dab52918382abe756d3de229ee8223aca6d7c5de87047838e387d4e472481a4cfd4365256e13aacb518ce5300f18dcb5e0a28477a6fca08a74756ef6bd8933bacc98d02abc7ae60df7cb3e06d41abcc4bd313c543ddcdea2424d98ffc6dcaa83658aae11f5841ffd4f5df42368a0e815d2146a0fe138b223764b133d17cdb08d485e9f3dd2bf2b220d1f4565b02d7b9231d592130e4436849f49b1a70772244fc0c38da372a8c57fc80ad57828410a5a16ac6d14e093997fdd5b26e4cd4b248e0ea221715ae6e112e1b68b09f795540e31b1231244bc922207b906c4f42b5302dd7474286b653b4d1bb657134bab117d6c349fa0f121c2f8dac9cdcef510c1c28545eae0ab163db6cc84ca182feb858c10153d0136f00a01c9c7d0bed892715dd85c4e73627c3a2ef0f43710dfccacffd1d9f118c9fb1a83b2eb328b8da3e955f027d95294038184f7b895d77532c7570cb86fd6b37a5a66659cf1e330db3930f302838706050c0dcd91d532d49c89d144e9a7f864026ec99f50acc02bd5f11ee88495ee8991ec4723b189f84e03d992fd718b5173ea1b033ab7d3568dc4656648fb54d28d3119b0f293a930a772c394f45ee66838f17b73a94eca27033f9d5c2ae22eb813386905dc024673850a087958eed191d04d05798bcf909eff2deb2a0009d223323b290e3d6f71b2797a2bc2590d54294a5992d629336518514032614a04847c3fad8a7d1cfc2f86765b48cf58acf892f68b691fbece38100e6a71487ef5c4ae934f1ba03b4b26a1967f70ef1c697202e4eb22a3a95ab3b7b524f0241ab4d2adf3ee5e3f2974d0bfe4419ef0ab11039ffc26339570e74d260c4d5a16f22cb4f60b03253487f5e46c47836ce29460728086a615f78d631d89a06790928455889f58adc3d0a3a84ceb2ba9cdb00a403080e6567873b985fd59fd9dec71e375013c12c51cb67d599198f36f58fdaf897e85dfe6f9896cf6d35a84cfdc6834dd9447a2a10e1ffa9fa8edfef1db9e8b4a245b211de49e04b7e88977b4e1ac9285f43526f2452181ee0f80efeb1f6b2533b656519ae45652ccefca81c17714476b497e5d8e9fdf6c9f504c7a7fa7afa36df5f4f8da5b4b973b1618fc8d2d43e866b235e5420551d1659e5bd545fb78a3e17d9cbbc8e842f3fe6be07b892453ffd689d5188f26f9e4c545ba0b3132af12a03bce6914015d026d3d7df661c1e6384bbb50dae24abfa78079a2b1ac41c44c7d82a59183f293f12011e781d3cdca2f791afa5b55a9f2d6139587bfd74bfc54ce91e642847a33b48c1b366fd8f08f520b79ad5113a0273735aee71ceae361a97547fc09b22fbe4e4ae4ae13e52d65e0971341aab368d1e917c8f5f2ac57ac119f981b51b7c99ff2be3e16935b7c73e28fb58d332e6f2c36281228c479c4d6095cf15b14baeb0769191dfc649a70471a25d45d4433797a5b8ba31ff567e60ec4d759d99244d0fb5dfef7c2896809938ddde0d2015a4c5ce5ef6cdb5752da1c2a33e5bc78b6b7c6a5af892f0792c28560a357720da3cee3833bbeda8e98e6a8cccc6535831cfc28bc8557b4181a3978bd90eabb34b99eb7e55d9263e6790ca34561d8c87ec4e12b4a38df524318db00a9b5bbde6f5a8644a818a88e91b521d716fa9f95bf70b109b9905bfca926fd42ecb9114c039790abb0392a41ee4c190536a89ae6194befc2dc4bcf7562bcb84f65c99b69612c0511552f53436b6c489204d3881e1f67e0fba3a061165d2955c2e2e12c440d31556250a8a5cc04ee5e09b1d627c14e08bce1a92df7f6475db92a3ee57e4c16c3ae677c44237122818ad457a29595ab528744707f3ab7ccf3d20bd94047e013e647802a7af14cfc7c11441ea6e9b9f960fe69d03911ad2cf3a8f633e0d647c71dc7e188c92e75353fc953d6a30dd0040c39d4355b71524f1a4872fb1ecab22c8293b54bb22a80e1e3d4c886d2988adec26f041dd0565cfa9edfe5ad9aa7da1d3b8f68fda9e9df9dbe98148120af6ff30e6400deca6dc9593dbf06c856d0d582503e7ffa185f87c6e7ac58184bb80b4a1c0c18d669e23f9791365fe807356a5763ea418c39d94311759b29b14324fb6f3104359ae66532779b825f92b7c9ea2ba43ba7de04eaef7a86192bc93e17286f1b6e0a01c33c796ebed8f17692eb9237173a051c14e4869afda2643bb98c9ac4ea94c6bdc1401c80190df6abe988d2f0b2d80cc7bc8362ba25c6e5df4370a43e156aebd6aaf856b3f64d5fefc622d078faed40b760a361966a4765adb809dbcd74b7a41faffad3a64823860e5656874133c7f8a46b5a3ac591906359aa4f171ef6bb2ea6b5f24cfe25c2fc7c1973bd5d3bb5f197002c5ca1bccffb570f0265f5cd949c7386d961ac9c5e18b5d1d6030d8bf4a48c10f12dcdb11924b02b8ab5e91f425ca62bbe42b80c6b6dde3160ebbd55803966716734327058e29bd39874f2eac199067fdbbe8c372c5a688d3615e2b65f4937b67d6a26c64cc2a9e5379cc00925c678f174f538915f912e85b7014c064a73bcc7ddd38e1a9627ffddb4bfd6da764fdbfb45048c9495ab1a4cac5642f6c9ffbe97d33cb26964a23719620df3d85dcfc392c4502759fb31a6a797e99e51e94cf9bc79ac15de4e5cf7a05aeb88a8ab4c3b6f9c52b99794503f2c49cd7e230a67df7403e552523249f29d257b35c0c7712053c3d9eb583a1a7473d7f296d25a66566e4ba8b08de2a31b082e40c8e5b1e93985b324dded3f52511744e7e99f4e3ffd99d8ae17bb5122b37f637c5525558eab18a378f5e2cb56fa003ed3af8d139d16ec4b2ea79c415b0ba4d750ca2cdf653582ee3b65a9825fb9b123593e36e645232163cabda515b959ed0a1419e9894f6c677ac200fd11babe3503ec7bfa319f1b9559d94a6f82945c9ca8667621a5d28920949a1da644cbdb58b84742e9d65e7f2027b99fba4dec46f642bd17e88fa109143b26ba7fe285c89add0b74a369f3d381ad633bfb4f72e1822ff96aaf9a73b3c59a6e457cf40e17c1198c64737037f52d9b3118daa3fa5cd3e3c7738e3b3743c595893289974a4aa0d6bf1446e70964823a7d5cee67b9b25b7125d9ac5d1d61f2a6947c3deec6deb575e2fc5cec60df26de3c0545e5b79156dd6af33a78552d1ee9994cc8501b7dc5fe7a22eadaf201a92e06ef03be705a8bdb4db65392d3628c7cbf44cccac292c93cb5a407a7a5a0d5ac9fd95b0033d6eb719d3f14609190dd40d5aa1b983cd4c4e278cc8a1e7d5fbb0d39060d6cdce8de6a17e2dab973a7fa594205e17edab6514372eb51e03b0ced6402fac0efd3af49fb8214a505cc9f5f0ea5308d7fe6dec369ba154", + "9f522375925222a04f5c95ee14b6386412025903ecad0bc3ab78afe1145136b3a3592835ab4ad6faa66be9", + "d1ba82b3ced3e9817642aaacedf482e79bedd0560ef2754215ee792514bbf8e6", + "bb21211f342379370f2642d3", + "1a6683805d3f478ca1c1512b9846468378f83be27393db63956e151ec408368b47334afe610249182f54c4d0a01b704db2aa90a9755b8feb67ef9301f0715d7d6bdfa5cc4497cef1142a43eeb42f7c413e8f489af30d742a706d05a40a0c4a5991f9e2cc5d9fbca6ad3767682e20c146ac35aef38dfb2a77388b738fa022158d5c802e5f0761096bb45b50815ebf09172759521b5c5d459703ebe9ff669ee4d14a86e5d0650b597f4a082ba0aef366a924ea378b91c3262d99f48189eea19c76c0f644079f8415c11033cf24d30d6c149ab13ca5c29deafdc816e457257361c1af4b915da312d2e6c7fc712faa27be3e67c893f9005a0e2c28369991c1dab22d38961d1abd6d94c4d549cf491aa1f8d522be3ffa6d214825a5fde3c94c4e35c29b8d05b2627eb12c9d94f450a85eec6bc963a279a37c2344ca36eb604c4bd11c2bf2ecc0dc16c2c365bbbcad3541bd54f8d0bdbb3ca4a087b62fc19fcc1c13984eab807d2a6a1386643d90d412d027bcd0a638765498cdbb1f4cc1b91b69bd241eab3645f225ece85a56e5008d6094041f8cca6b9a0ae3b15585de6fe0695d79d348f8619431ece40e736957a7627224fe92bbe30df5124f476d97e36b5b08b3787e8e00f0c10013068eb156f82f3494a35d6edd5f7048d1e91954f1013ede22eca8b4ba41699ee08decedde87139180a567c6d169b672af0f12aa09ce20e9cac4e78b8067d31ba4f63606c00d1d787b868cf7643fbb170f8074667c9f7584d36af80b4e6557724013618c28d0dd40bfe9d4b25761b3c99558af528c2d290d04b09821bd7f992c044dd61dde9395bd0c9ddec6d0bf6e044ddf0b4b2d6753f5acf2e9c904caa4e9f310578527b85e6738803758da646919989f735b09c9a5744e63fed2c3982e59fd29d2baeb9771316bf8d29213a4956b66c78d5654436ffdd82d0d572530fd09507b988d13fd743f35333237681f8abbb301a8ea870159f802a57760659094d0e4902036c5a62c563f1fc86c4238e1ce89f5176ecaea194ca112fbdeefbef4fa7c203678cafd34486fe58b2af04f84a1cb620c6e123bfd96301e0a5e5e5abcc95d28b852d0cee2f51faa73e42f22fc335f50de4c3812ee14038633a195083f3944284c1086c34995832c3cceb7d385b4ce86af10685c16005495121105272d1d739c584a07ec7801c3667bb280987a8aa41f9537e9d1812a5dba5b385a0b71d2e9573c6f3e9ebf0bf7267528946a6aa6f43efce908d32525cdc3b825bb11c7239f1de412704d24c17455b9382fd6a873180f0d5d44dc449320973d5cd0d4e67e83946b6ef47e5fc3dabadd80751f1421404e56b1bce748b7bde63c6975ca81f3eaf52586a55242c9745dee3f7c796d4508e818eaa4fa50490c1a79624561b98d2e1139a328806414c905372356a22393ea0da51c83957029edd8c2dfcf46d9564264d74c1c0497034ec018b1dd4c14acebc34b6d2c1a616937c37b8b4a0ee5dcdf787a0de1173798ab929b72e0fa83a6c9b9a99d8024328d9c236a8f57550a4f83e8071eac76adb55939f85f5b5f514174b670a3e8dc2b54656f6201940a81fe4953d2680ae4ec58635ba74d15efab3e06dca6ac269711ef2d4dd49f731e24a92a3b935ebbb3fe8d001cd4062669ae4baa62c2947033afcfaca227d88a11769f87456d5cd1bb6606891e71d63aff9cd5a7d23263a78768ac2ac54ece1441fd37d096cd27e916e68891137fc3cca427febd1947cfb4d7ccfad75b2ec5e809c132111eadf25a73043d68333139bd2435de9941bbc61c5c509897cfc19a21645019eaaccb6d06371e3d0570c09c7556e41a727e44d9bd672fccd1f89cc7d58761c16df8fb75fb8a1dde2caaf088f02dad91b6489114398740e6798f3ea8c7b0cfd974e160a0106d703d9589ab09aae79108e3212f19cb950ea9c0798a1532bc2a065d5900a12054395c0545b0878ac0b1d461f553dccfc2a22bf254ced88dcb538e3889549960b77ba6237ab1458e158f4f46606372e797ec9d9ecc6534acaa1218e7540eef11030bb9c3e5a7816f3b33a590d970619bdd2dc04d5c6f4ec38b7cb4d525234b836eab57f65dd045e02367eede9049e219b8712b8d6fe178080c5f77b821f1a475259ae571a5578eb3b48863162d45486f71a28ecbcedb35b320e5b6401f9e7870aa5418449bf47502626e1f42abf481b48d5a6819c640bfdb64f873d583fc4e40187940a6c3373ea7b47195270a8657898f55568985018abcea9bce1c155d95b426f91a734b2a14ec2c7ca2011a4d30019fd9b3ef63a804e9c30c3de2651c4213e90285a4ba100b31ee402e8a7f23cf9d4dba003bbf982526bc63be5af102dca34e7d362d6fbf6f56046160d7af33b364f2a86074d1c0fdd54aae89b19480efde2a9caef9de7c0f9491e1cf43a48752cef405a0ff16b0fc67bbe433a3c1b9661406c3726092efdc076febd60c436476f24dab1b0b8f8893986d951ed72282990e8b1526f4dcf539b22c01c6a7eb5577cd540a16a81296ebeeb7ddda72e60fcf2840c5b42c5cba30eaea5402f267d1d04bc80da5ef0dd2bf3c7a2be986507617c9bdbc96c6273a0c9e586a0c48c98b4552113149c6f79557fc8ace0b1a512fec3aa09ef191f95c2163113ac5cdd940f0c2120509bc53c3ea493c54703effb902ef752c830c61e85636ca95429bf16937bf6786b3eae1b277bf08dcd69f521a0078d633beb33c9aa0cb33b238e1021ca67df122a403a3698452740bdcac81d22ccfe4ab5f835d1961708d1faf6d40f115f16c6094ea37a7ff15e0534f62c19a6f4ded0967be337cdbdd2a7c58ba16ba2e4c3686e9d075c6fa7d29b2a0335ab4940d2a95c4500295f4db84ae65e46c54b7300909cc5411c725a31fd962d239aa0e2007c285586b4c778e2ac7afec42cd8409a63d7cd9c677031f43f4aaf04258dcf1270c02a4764177aa66db2d8f860eeb1fd06d0b27587537410bcb641f90aaa7bfc6f12bd143f66e7c933a0f3ce6b5048913e1b2d79eaa6c19e7255d5eabd24d5f12426339541a22d600cdfd1781a1a3894740887840aa82e5a461fc324285b0223ac9b95c3eb88160353f168b3d4ae8a2e87b7715b5fd2671f66e6eaaf9365b3d9e3acd9a749faefba6009783771177aa4dc91f72fed7a5bf6b1b7738b84ac0a07b4a5a3f0a9134a39e1e7e3e2f9a92d5644295f31c5a356092bf07c709b4c34305ebf50e857a4f593dd1cce0439d3fd125c1ede1a48f583bbbe0eec7058345129ef78868a96f8a76ba7fbfd1c5eebf75f3e0eeeb9db87474b96f321b87fffc02433513fb467fb74e2fc8feb498d51530c753e9a173e95e0edc5ba9802641a45db281b2e2d87d409057b4fb1925e834e90fa5619ae3a9237d5b104e7ac67c2bdc31001eedb4ec7064b2f72e0379bf8780f67ec4b195db014a2d130e77b1778efe3dc703f1310a566a6d3b5c9b12b1d4e25815493ed1510a516a31ced3b64ca49a783ad63ea71a57290727fa31386d2fbfe41f12d36a618c6c28d8f10405eb3e0a33e8ac2e4133ba75c688c8c9a2bb33c8fa032eaf3ea0d2c27bf89269c4aec55f8232b292e7fa9fc24527184f19187d9d8a3f52335e2feb5dc6d997b9b773a79a31db832b752e5738963ee5d61a1b426414975693f986e165e52d46cb059fdd4f48f008e96d4c1a48306b7c002fd0c861721656074cf11173ca65cbdb694c79f58a3f3365e872b24670b691682c10261eb1ffb2b65da031d070e31542f49704b77970a78bcfb4c4ca517b4c966a4e8e27664704f633e90cb7d7917dc1d3a8b8b7fcf59ea3a8a81305761923cb182cebdd59255803a14ca8a75fd007670d79a25eacda1138d67a0fd1da981529dbf182fc4d7a700ba498e4476a1d415381c9e2ffa3bd46201cf2e454c4aaedbbe3893bb4121a6de02cbecc1f319155eb8c99d1030103bb6194bee51e74fa01f28dbe16092955b9599d5c1f1c3f356e26d48fcad7c4cdf0eef25c25273dd62171785c9d2c5a01b1f3da9b4786b1b399d890e2049b73c12de2fb7177f2bc3d9c645398111ebcfd83b73119897bb994f998f4a6fae1b3d6361e171059dba0bf9de9af7a5a1b21641790baf82a36278945d649cf5d310f3792fdefe8c58986a48118fd94647b786e47733ae703701e18992bc1b143b1da6110a98030bb9895c14d7b8eae1a155a550e219a5b6301b6d26d7956ecfe4c7023eec1ff62538b3606ebc7906a1243bf8357f593b6cfff32e3fc6b51f6a0ffaecb658d526f7a5e9faa6294e4808b779f4832318cc184e49e8957b72bea0d67366e040cf76a85889fc6b04e84afab0d02947d0d83e0de19f12966fa8372f6e82ff402bd7a69195eb1a7864a3375aa9e23736fa4d4b0224647e416474c01f72b7d4af240d7f43395b5b04c8fdef1165ce1d56ee8ba0e350e6ada893e0594facbfb5f0d8829ae203929525951584c21371b86deb0f76ef5daad5e847135a6488b35ea33e3a165fea502975d6421d4567a229bf3ce94605885453610eb9c82f9ea743bee9e14776bc3076a29af268cc72d9092a492d9ff08c345dc2eb2f8003b561d9912ae1198c58107f8b37a08b35075af9863110e6770425e9d59c2dfff9d9942c8bc3bf7904c2a952bcd573706caf1ee14420564ffc433c0f5871c4bda916f2530ac75819ade49fa1de21edacbbf6b7075dba21a84989411c566b7c356b81803c7215ab0f326a6b8910dbc62c1bee3af51f105fcdebc0dbc56a50b22cf81eda563bf8c2eff98b476e8", + }, + { + "99444e82c6c4c47070b164f298ffdf6955ee5bcb3070b9aa95ce658db4db084d2056cfe61a93568b44ba7ddcba5d450f4ba0da7b119425a6628b3416663c638692326cacc5c237097db5e537122b465dcb21d8dcb5fe831789b72deff3907685c2e23187a56990221e755930a09f8d6cc065487563cb8cec82b9dc754952fa0b342c92d99522fbb39854e338f470a4b4d5ed2a39b8b6253b7001b0b953abc588d757616c7a5d1f12b1024aa572ef5a47dc8480943aa6cfaaa78064fb2b29830280e46efa418d0cf38f57980146f2482276c9b6b16f865b1606bf1131e894336979a163ba2e70adbdc746be0d38062fafcfe5603e6bbb55717b66a263fbd5cc7476302ea4a0dc6167221f745a26a309f5886934f4258965a0ef0803eaddd05e54008df8a0695a078b797be59f1eef95a658c99a7d52001d4108212ce5f18a39f1173291808c980b0513f1a531e03ad7380372b65572d3967af4c25fe54d99d664cb67e557fff05c12e10143c13b1bfa3e8db093ff832a7978ecd85d3971349e3c9b83939b73f0ad55f1f1162d0c106b99c0ff98442911bc15e9194f5b4ded97e9702b84e31b31380c224f392e5fa5c720a45f64cd7020e25a3931b5871e4c708e77f4729225aa9f48f9d876597d3e79219dddee0efdd16836021dbd21692dafe121217347cc128fc5eb051e6843978ae17478ef714957a84c74656ddd931cbeb43e32fb0a448acf2f90ee98d38522b4fa9aa36be4fa13306e799d4c0cb90ac0f73cbc018146d1b0d6bf48aa446a5e3e0502aae9fcbd196b36b6b7426fc10367febf687f05392fdcf878863de2e47be7e625d0e3e3e94e199f055c0fc65f76c41ede43231873ff10eb854dcd6ac9b550ee8533d16f81eb0e86471d4da69311c47255e78ac8e79ab36ce880d6b135279fbb5a712adc5c3862a356af49e9c10d5b16f4e5dedb80914868111e194745b802a0292c7c8564de28ba8e71a44f7eff6573e5434e65d496cde5b5e62cfa9e2e9ac85a164dbff5767983e71dd2661d37d9027a27674ebe3433731a606db88e0880e91ecea8134421962b3f68915c9f6a5e1992c56750f99bc313fb30cb89384c72571a1a6a5e3c01897b691bd70985352217fa8a67f3252a06205bd1a9931d1cea3736559572561fedbf3ac4c8bff9ebd7f3753ee69a69ecbac4be6357db7f4213b697a828edc716ac01da75c1d46098c7d5d6ae6f3f9a2903588c5b340c9d47c234efea21b700cdb8db4279afa2117677e824e627bf0f2b179c864ba823926a57825478395545f130886bdf2a7c55a2647a888c3998b750343d9cdc602e46b7b09a2fe9ef74db1ffc46fe27c254c927ce51b307e96a571da7f3f907223fbed2daedbcc96197e95edde7859f3b4ec6099f791089e368a68a5ba0917ddf4f50b93c0c839ea36cfc8053811f8fcfe6986e5fa9f743119ecd6c3e5fea1dae3ad7eb465a89e9c68569190688a8d56e4143ceea3b11fbd9de67173d5134ec8b0bd7d16560ba2be52345ebacedc01a2e03e8183ef91317d87b2e15cc6301586ed829d438e4ff1d074408b332c8ce60ccb6790ab08c228807509dd4b39f2c227755f6b039f5cd413ad6f46c9ec2cc6a79457529d297b1d9e74ead9bedd9bd652fb31568a8e2a9e2b89e4e57601bc1d960360232cdb30cb502b950ef930d54c2c0692a684cd44b0472995bd2b41dac1553ae47216253d6640d2653a033a862f3118c5b5d60a662d240bda5f4da51092eff514f61a425c5b14b19517ec1b371d240cc30a0739273b34f18a72a69b1586802a7caa6cc8f5817a8a995695d063c9dd26c3d45feb0f84dc8a0773151cf9a537664f942f351599cfbee0558f441f5c7ad320cabe305f9aba570ddf6407749b6db42f9ce94526a8f4170e735b1dcfc5f0e090af10e039db3747aa9b4f1f26acc34639ac8b60557f7753e2c261a29852932901a4093b7f307319cbb228e26eec289898b3f8ee236032163293b8caf64be3f7ffed236f1da688d958a1bbb79dd45026884904bbb936c1ebca7aa6b0c68aa8b667dc1575729e4ecb4ffa82ddced2f4571bf902c52fc4a0ea3f47aaf5c243ac2a1fc19f825fde5d9fc8d06d97a351eebf4ae1846aa62554d57cffdb3f3377695338f8d598d723289ff3962796e8065632e7da9d8dffe2636cd23eac15a60568eefe3e77c561906555268cfc1e9342417b1cdf090cc16c79939b15a9311b0210094087dea22833f74eb0e35d44259ecf327dc84f3f24b8c2bfce7be0d97e00d2be88a150a0d557ff963b4cda60eb99935951d288768b4b2649b717133517f5e3909744417c9c3102c77ddd285976cba2c89e2b4f297665632d7c8652847c4625038a6670169772de0550066ec6c2018f503cce79a333ecc0a0632334df6959d2e3b052fa47c5c84d15ceabdc80bd6be0ea2a5a8d5e374e0e9a613369ca8d4cae3d9f98755560b27b2f6e47b01ba390f5ddeb732c22b12abd225e26ecdb639b08f3237e488430b3b39f0b63aaaef4907cd003a8f2b4c3bfd721d6c3fd3a5f062d72746606a529ba34251ddec4026f40d262e9d527ad84fecf5bb2cc8601c2a38437098aec2335104842ff1c455e5d17c136ece8d461d7a3bd9a60339c22d71059e09b3603c0565c0345684893b56054ec4d3db0bf15546cafb4a03bd7775c3157e7676bb7bdb7baf3100396c563eba1a12952503eb6ccde6b6d0a42d456743c4ddb97f5994fa08c5fa41315080eb6b928090956bfc6252b232f6e0785d233c3adcbb9370b59c35b0dd66005d516befd1fc843df8e68fab19858b91e2aecd1c8a88b0fa3d4c2fed2995ee87e65976b755fbf44ee183f9fa08848bea325807bce0b7b61e03e50b2c7af9b360532a17a8250cf6068fef0198738c82a5e58961c54017e343fcef7076e823d63b4deee472fada7989ca7a213d06a4e3eb2d44b16e5c94b1588321cf6c45a5a792938b058d667e1730f8386dfedc50ea0a959b78f12f2949b34b181f90bec622515227dfb8a5f6e89d2e559c0ba686153b218d2c50b67503018e22914ce9b49d3bdb7cf38172db1ea130baacd640c111614e3db204b3b50641d8978dc14b2afc27a7efa819cac6bafa8166d1c127e2237520d57ad38a80146217a12363cb1f8a720e328cd8f846d379ada43bd4865e4aa633c479bd448d205b2e43befa63486c717af84a733f1dececc127c047850aeeb8ce677612f5966e23d92c1d3c758aaeef82f862c1154fadd6766e1dfc780bb447732a5968c0c78b9af4a9d669338458b57cbb77910a24678092857c0b903152035bab6b1c73f7b667a08cd0d31128888de3ff1fed24866eb60beac19c1b139f77bf0b9332024999a2d56975e691fd7475fd93622119d0d725bb99c1d6ac604d6b6be09d6d29360fff9f84e5318259a67fec08a006d9772b9410ec6abd4cb828b898c625c2fc35c19cb9a6cd3b0073baec7b5af254d21de8e209539f560bc80ea38e33658a68262622cdf35dcd6618b9e272ac3644c91f27d372c6297d8e37201c6a86a7d3accdf579c15246276a0009ddac4021755f4848d10f714e9da86eba13f461e6a12edb1aef2d6117986120750d609682bfdfcb90ee3cde8be54d45f841a6dee2d5b9fdc4e65edb7ebffcf3cc5c8a4e1c6919ac57568be23bd8283319ce11fca3caf968b057432f163f22e29cac30b8154a646ca0ef4fdbc7770ee1451fdde9e9d651992d94c843d4eb2570975528ad9f8c193f7c681a43df28242547010e30d75fca04f39247c77d6c3715c25fc261ecdba16844bbab23e4d0482bd1565ca9b526ada9b8f5703661a84b23070d85f3e8265b2ce10750c5d798f1a8ef4d51a473ff4d2bf4be615566ac796db9fe61a224bcce05c31ecb9ab7bc43a609944a7c9398a7875609ddbcb556296f548a117847df7d0afe48a5b504e85b0d7ca589103d3197933a744fefca795e1e036f964a4f14554d5cfa0261e25d6e5e02f86e402906d3637a2352459cb1639f20faea6f0e3fbc6a39becb1b1b3a791e32e85e5bee31be685410adf0c11190e20b7a5119b90e83f2cc4f0de8898606bb6e64165c95d4c5eae472daa6836a888ee4d9a79de72b8fb47a9c9c0323a2be9106d4ee9ba8b3858c256032a9caba37af94df4c7b0adc2f8478cb879b6d452d73191b0fc1ce944df3f4809cbf3ad46eceb3ba4abd9679410f45c8aab20dd72626f235e7c0c934b4beb4507def24ebbdd7a507943c81d54bc69df578aacd9ed0bfd3b7809dec345ba084d88fa9c34d80685415a4d5eaef9b88e51432b2b2037186baf123a6257e47aa56d6531923d38178e8264dd315e95bfafd8dacaf901e354b0f58f135d638df2c0f32453205c7aaeeedf8c102e11cfddea9a98d3ac7c385d71b760cf2afeb1ebe1d64f0222b9b101893d11a74ed175297c1dfd188a2565fbecc6bb07b56ce3973322a965dc5a675587890cc65a71efc68fdcdf1a023505ef0bc0e6b12dca5860fcf1c6c94c2e2ec3a72b8a019d69c82d36a73738dc3d17d7fdfe992bc8e18cb5d3437f1f619dd318b95d1a56b6d273ed79ab2655d83e2dd63cb6f1f5987eab6bb21a7b13b84e2c619b36b842192c3f82c755d8af840675b0bd67a655d641b1886c3c9c147ac87615ff3e58085a879b21dd63c1616a3712279ec87d650a2eed665b797ad631f0ec312f343979cbc49b99385cfa92841cba12d52777df565545a1deb07800a15431c0987b4a543fd5ed6832e80ab6f4b4d9c9ec419932a6ded4759f5c7630a0b80139234b8d53117acb4452c60b477ad50157169a89bd796e2308baa9395b513a94747611c7978c82dbdf48d716c3ac181ac2b2a4702c02a324bd4c5e089d989d020ebec9963b5c721a95492158f54973b7fc1828181acb3cc8078ac095136d97221c60b847bd2a52427383ab68cd1f10b92738c13203fdfa0b78baa09c1837be2498667c459", + "0ce980442336d0f427db869a6799baa6785b5e030567c588e2a7d2680e96c11b7f415fa27730969e0b1c3973b5f3192d4e773153def6dcc09dae29ac44eac7c42c2666a356fd4262197bd5cf6eeefcbd662d104423ec05c19a2e6ddf1834a3445a09e8b1062a1320a5e8ef13d6ebd03c19e1813ccd86fd68b46a", + "1ac8a509db7bf4acb80d8d394a5abf47c273b2093f50f35049e749f3e16cb0fb", + "47cc9eea11f9f3f9aafa23bd", + "088888333340b3a057b05491fb2402301c8654948aa6d5ee1ec75eb045858c22056fef0873d6675f897126052923a47a30675b266ffb6181cbd29ce2da3720e36a227e4c6e53328d789913c0d9cd149a6e49293996b1be7d6c513b24d876445a950e723ade3efc36907c840b9b8cfdb1503811b4044d931a0009b381fd60a5bf1e73d16348cb57eea672709875fb9d56908dbc729d5d7d322a17a41d0f62c9af9a013ab1e19fb7b6c6e7fa0c0b18bec5e3d3e92546c77e3753193389e5fcdb6a6a1896cba461343e71ef7a156b136b27ae6f45be9368301cfade203e9b53824d70f07de9abfea1968b8ff8489b9804422ba05ac3c3adf23ba0848817fa51febab5e9b5500100310479e710b663f064c1ef101c9a5320367cd8bc6e52081a32f070e7d3fd6f4210cdffdb9fcab1de4af5b06a7c6d191dcc12b25b3053e58952bfd1f723afbf570796946c1df9579ad14ea9c8c30389c1de4d1e845c764fec5eb8faaf4c558c5eb5113018c6a21ef653ac7d7f5b6c7e1a8fd48c6f423e9913436202da176a86731287db7331db055508acc94168888040ee37b3c119c8a0d88360241d68745825fe480324a944d56e7cd0375d4d33a5fe7a3863c2aaa899b2d24f65b70bd804039116fe959c32442c9f0b5470463523eb4336985b71125fe5235cbca0c88a6f92416d038e144de5ff8ef6ca749a9e239f02db505bff8e16fad1cba8b1500445f067a674142b6413e9dc0f432242d8301879bfc11fa86d1ac9992ab12319fea8b703e10a13bfd4b017496222be26b56af3ef67610f904f0ca8a3e7cc249ca8122735a542b289f13922904ff23dd197f8883c7ac77150d7331316ef94e0cf13b6ad95070420513599100b0a6d117640b781c622ed7ef7ead29476b3c835bd9dbda2203930bcee7ac01c3b9c89da405ee436ee652ddcc3e96c7f1a94e200eec9a4a226f3cf7ae5725068916e73b61149497d11dd85157f895669f51978d1bea8fd2afabb18d082365daba2682ef623109988b7d0e27ae57bc14d86603f93b5ac040ae52d8db404ee27e6c34cd4246f40eccf9d3f8637a4615a4006918b01d34709bcbebd02ea72958d54db3e87d69e6d783de2f1841029d6975eb11f9b076c247108797d5368c656f888092b82aa81aa26e164e038b359bd68801c22fc107e4083a9d85fc254b002ece9d4545310b0cb22ec1af04a7ee31d210ede4b605dbdbcb70e4301989422ef46edf63f9c96de9cb3f70638b51df5c0abe79b7af8cd97148f2b7bf394bea0f7bbbf6925f83b901b87a6079f2c3b38a98fe1a86dc7f48bf97553701834f557451df4b41e7db984a34432823585380b45c1b84813d6aa21107cae252923fb4673cf660a541e65610ac0127d238285f53bf329b62169f3e42d5efe268dea62578e97da59a58a1314a1bd46cf7a7cae772814130b51411082e30062fdbda1c9e14d6b2bfff89d0379d32461f3b8e833b105f6a89532ae748b5fb43f283fc86450404e8befb8442b65e338aa0408303a70e9c27a1d923d9f2a06e7c6159c50bf2e3ba5b035420ecbd9d0b5fae478eb1ab72fa714f99d00188bb10e60380fa3a3a318c2d359ea3805c2fa0dde17ee52a504f70d6b466bd38d1dd4196be336a9ab4a9e573d1bc6404018a119f688c1dc2a8ed1433e8a8ebf455ce3808c245f0220f0c12d28c771757763bd111ab829294e2429a6f7a59858dfa1fe0b806e986d40aaff934589fefd75ab91097a979f26bc9352267efb2d82c4738e4e6c451b0d5adc398f546c646b9e6b8fc84e91651a1252d5b805a857c7798d102d1e6f90749252bc53588348ecec0897c79f514442fe3b27608c95d0cba999a7e0fbd7f601689b4dc63ecb9ff553ff12eca3e9b26e3eccbde28770bb6aff7c864ad6be77fc09f81f90df6efd0c4025d0916ab5197ab846dfe6121c462761d9cc87112ebbca197b0a222fd34a15b824b7eda06a56a6ffda760fae5f0b527e2798f01e205a3f47947a4bd190f6abfb1dab2e3a53131af95d593bb57e4f4af506440cf20636d9fccc449d9565bf43dec8b6877337ca5a43900c1dc600c877b290342914e909aad8c5f0755bc25652781535c057ed5ab2ff8ad4322a8edf3fc1b5311dae6361a7395919725f4cd87ce0ccba37c64eb3618f9c5a53644ada569b90cd07184fc048f1b589eb29852909e75e7116ef96a268ea85c2bd257cefdde9222d7eda875a2a3abcd3a02a1fb470ba967b20beb54914b8b0c6ed464ba978088d7f8b30d098966b0bde82a8f1210f5d0c3405c9bc73f703134d0b6ee13326f65fa0b8154f4e30808997d4afbd060285942ca1dededc3410a099881492b5730ab7bdc2a4cfd0068f67766d60b5d4945f121459d2083334ac878d067bef644b9ee427bbbd6c9351d7b019bfc051c05ac301ff3792a1c687546dbf6a07a0cf56717374bfa1191c22b7753f6ae02392f8aac9207d1ad0fcd57c5c8b35817574b7dd90a00cab75f508f8a234eabce6618305f94746cb6a8573389d336bb67e1b0d2b6e9bd3959ef344e1eb245b522c35222813b8c6e82df48987436b5592025e9786ca63b6d1a064223bfacf59ada713c2a3116611393aa8446ea79b3cb21e96d13b659ada2d6524686fd46ec66c1b4d8f5ae7831840c9e3db64d528f83a1cef1e0a586a783f8306cb261ed9c2905493e74d35883fcb39cfc5745c282104cc3ce804999231d13e1bc6f2c022f05999fb57575bbdaf00d7a990e17dd2f8b9dfe66a637b42f58ee49ba60f2dd9718d09d7025b6061b2087bc35f0a8c884f5b67a5e18c2b4e857d3b48b79dc7cab6b72f572d22987566238a7153ed6264578424f1ce091fd05b7f14563fe12c76104d3373367af3ed3aca694a21127b5912c0b7eb1ddf9d4a9f03f660d49f7a7f0fb42797fd112414c3eba2b75a04282dcb9645191fd3dbe376e7f60ab40bb7ca1e991053a1912854a68d7dcf854201d1f2c26c6cfaea32e29d80847e6288274713d2ca973b91dab97884326b280c6f06c65b8fd25d314be29139961051a1d8699467d02b67991baabc9b05629660c243ca3b0477362d5e6bf9eaa33beeb52cf399846c77fcae11a89cbfdb2058e443ddd44fe202a3ba5c2efce937d78b9639781b8b2b99077b433189cf3b0733ed73b59bb194c9a98c5aa0cba6e71d1c5522f193defb9e31fd2cd60f22bedaf7008c2fb0b55a8dd52731dfa2bc69b40f835ae95db040cda6a4a1588a5ba4769edfeb7369c1e9a3b1cda293255b4942881d94d771b7b82460004875e71be64c582f2830c5e80dd6de421a311c5852f4912bea1451b0328d01c7029867cf9af99284cdfc1e1f0aa0d8c19ba9bc035dc270b45724247137da5d3fc4daa09e7014fe1439889968eb23fe124f067825d5f7b304f17a983580e009e0e51630ea0006dbc74a30b512cd9eb4d0b315a0ffdbfb581609ea9661b0007cd234ce43c17c92269a7519bfe99c2ca94b5cd3e7654946e67b37d4270a369266db6804336a446022677a024d44cc02cb04108292dc12f790578a0d61cb6fada738902eed3afdf1850bafcb279f18b5798d7466752c6368a594533baff5dbd17974638ecc41753b184845206c79bbab84dfef148eb7f1390f8cb7346a14c88caf540c241cad11ce8869be3bec85d029ef490fc5edacf94fa962be39a33c8efefcbb6b43960d5bc35f8fb72038af3801466aed141b50e9ac7dcf1921f7a6abaf320ff02ac34bbfac265e05e27495e6e027e673a48a874e6f0c33827a050fa21c2efa789c1e3df2ecda95fc52ca7be35dbf17ff6c73f37cb236e5131542e002913d177ffb21ac450e2542e24b894650007c36c52d90f83731009a7c3239ccf11829cf0fb6510d9924e927f14d6a06f8dc772fc9b028a8bbd2d3388985f3e2609abbd08434c46642b97240c9380a831bbafdc5db77be63a1400cc9a4f7362a689b07a77162022c6ba7a1bb9f0446a0b6b460ebdd9111132694fa5f1b29da39be66c5179849ae9720b2da0a012d4bdfd1b18b8fbef0d5c32b92c351dcf2c599f069c3b53f622fc8e904f27584b2d97d43f779abcde6dc1413c0a677dd187b28cfbcf7fa6316f0967b53977432d45944ce8ebd2e265c0bf6b2870c75ae808fed52aa35421ef55667ecd6f9d279c9b91c9314bd9411bce267d6ad52b1d910b3e65147c3eb6021a0af98707408e66bb11ca5abf5e34b2bc85b144fd06ea56f5d7f8939fe0cfa4862e7f306de069cf85f4aa7aa97c6848594f5a6dbcc718d2af77497f4b9d5ffa217fc301127071e9bc9c2c9222ba90e286506e384f321e622f05d81c114953d0f7e9626b74f4a6bea8cfb86ceb4575e5cf4fb84e9efac8291d1f4153ad3cd9a34ce0ffcfbe30b6829c0f986a4f85d63b602ab99ff3934b1e0c46e55d56eb479b79ca0729beb59aed783e9a3ccd55db8d884733dbd93f9fd7a7209fb92fcc49826b2d4356ca676f01b0981637897b3d2f90f37bfd73b214a398a8e4e2f9e5abec01d8192ca690191255dd8304a2d95a69331288bce00385f462e942f4d694dc3560a263c8ac2b5cd1d2c63b90ec67c32eaf5bd947bd8ac730da9c09ebc6888b0b4f3bead157aa9d31c2802df8ff0e4d69b7abfed6f184bf35a16ffb5677ddfc4682322128932d57fe4c32f21e190e1147d8e673ae407b1dbbca31331310b299e9f3db08ebfd2dad3158562c2e47addcbcc831cef0194ac8ba9778d0103c2955c886d439967bf788eae688f2a7459b0ef3bd16808e8d768b8962a24588d918ceb2cd1cd611b504019f65216beca212f44600cb7fac77216b7645c49f18064a3acdc01399315084dc9ea151ee28534fb31628d190bc540ac6b6aba572ba51aee89544015e6fbca2b3c2330f2ac1f68849e99e1a1f7f523599eaee22720392ea52259e26f1101614d4edae481b3783af4e99082d75dcca549049290731bbadd1ec0a93789ad5c9afe8bae44e35b3e59e562362964", + }, + { + "0410d1f8bc890649c250a3819766f4496f339a6384e34acdd72b3a87266edd2a7eae223a372883f978277a108d6e59fca1f35f25d7a9f3aed42d35fa9b12241ac04754f76fd8f0e8ff6af88cd851887a45e89f1c9192ca66bfff605b128575d2ccc9ca3ba1ba23a0251b2cfd6db577b29d17ce2ea998946997f5c4a97a397c46024681a400a54425c071232d269adfc3b1adf15b4586c4dd7b8886f5c1023bc348bc674961ac6e221d914f432c2f06dddcf738227dfcfff88485ed45882809d0e57019461c88683919b87c45e78223c37a5be5f758e4f0dc6add22f2062bc2eb9bdc31b8649af17d526ec339f0e6fc6a41e26299c65276302f982235c3e5205ec1521625ec08a23e766577664b73d18d5533261c859c4cb4346feaf7540a56155c6c3a4874dc86ea42fd518d71221ac65541e2dadd2f8e129e7809f2835f07dfcc4128401dae2b5fac7ced1d9e07e3f348c6cd26f55b3893d4418557a18c366dcd5eadea0dd84ab95437d6f23eb9e5877fb2ad740ee507e2268c39c7186f34e5cee2d0dbba1a940f516a018f23e716a399c317a7a81f89cfabc296c432cba900ad79db67936f76e4d97874fc5f8a9ff84eb7a0f6d629c581ec5c451e27ef1ed468f93bfc68b2e0412a543d89dfdd812d9421236a4be9eb374531556c207340886c7b84d42d651557b952e0982f62c5c383e92dced21905174a5a836acdc3f2393e770d6cdc22c39575a42ea406f36889dc9558aeae5dc5f8b84862850b55bf4accccb6a8ef793d641d6b08235f70ad3b0605eab462afad1af80fa003645f4d302b03d81a7d167e9a8187bee0f76b1cfd7006b2d2b55fedad6e8db1d3ecfe031702dc327ff2b0197337d7542f42702cb276de852b3d72d9acff8a7feb8882028a5e340950e523c41cfa184b3d8878effe56742994e60240e58cbfd01541d39fa007a9f0ecccb409c6cc540354ccf35223677cb74e7ef7330bb60420f7d7bf97de6888cb343cd4fb0928fe5df5f1b018592ccfa7aac6dab57cded573b5950b94fd935f32cf332dd85b2b36501de6687612371dbcfdf77279d647ed8bdcf81fda8b7e0c5ab139330d64695d814fc6f761fd141dfb0c8f74e2d7616db3598d8de40b993fbdd272ca37db27b82aedb08bebc4a8e6d0385ab20fbc20c215ad50fab8e93975bcab3ff38667abb0545b3b3f20e325f01b80a32a3cc3ed51703d4b2826849ee22fddd5b544816599dca0d8fc84feed9f7e90caba53b70bc3f457eb1adb89fd0b67d2c0ab53264430c61d2c4a1b19ea99a9b453fc6b5ebf5fb5ab799134769c9b495c479c828bcc49a8f993c3127d5cbc31afb89c0e78fbc323755457ebf0f3344d3ad1cfc59d186e96ac31a9298e655b3d1df74b95f30fb868631053540388a13d597002f689708d35a2365e309bb96db8b1b94ea4c8060c2b165f7f19e72056409159371ac9c44f6bfaad9b9567094d18c29bbc8aa2c8b5b82735d20f55284fe68186004b4a4fb644fd52d9645b277c1dc238a764005c1d2791ef36e71786cd990ccee4571d9a9b1aec757e479cfa645e320bc33268e05af9cf90e0e616ae7f237c637a99fe15b4ea8a3232262d96855fa248920a28ec03f77ce4dd93925db60ec030a7be455ba9d08edbf6bb717b1a13c3ac1deb9821e21505c0a8971d5ea5dd8e4c9cd3a845a336209af191150ba5d9b8c2c450e3a765e8670d7f846b2461f971fdcd1942704f620a40f4204b99f9035bbd543f64b927cbc7a74f32cbb12c3caef955f169a45374e4479430e08d333c4a877baf41a27a0849ca3a157b6651295fa71ac94b6e3d30b5d160965e93d2a81b4d575cefd264399c9e4e17059f4064465b2d92c96ac27e3b221499b5e642d033992c236b905c072faa1e34495f9890bac6228330e4016c061605bbfc478c30e1b8534c49af54785972aca2d144328b0a540e3b3810a73e26acfa22f48652d53ea521875475ffade8ab50b9f08245fad753350f63dc4e898948ac7dcefe520ca47394f8e993a6d13ff68a2f78cf294f235f5f863bad10c4f5bc41c3ba93cf5e076357f0f7fdc136f34b656b1b8ebb3eed1ac429c7d4edbc902f7f4bc24ea9c9b200b9a9fd7adff0c6445ce1d2171fc031e3e9f8b8d6b448053393c8813d91333d4bdc3bc5bb2b8bff876cd29e8b92cf6f7bc727517b6f57ae031f3040b0637dfb40b8c1fbe44cfb6bb9cd0a445fd9b3daa1da2b1c4a82cb4da1fb8d525e0a4d9ec30e9aa75b951214621c58c1f60c9b97e6c6b330497e7dea790a3cd8158a76d898107ff3a5910707ae60c8a46c633b522aee83736d005de60b9abe202435f8bc4577b0eb08b7f2b617bb5a831e95d6488459bbf15919d764b39684d7cb7c9310f343fbfcfbeeb212a90d96c7a26c1026c5cb171ee4ef839785076e5084026077455c73404a2653f333e9bad555cafc1a9613387a02bb1287c380d7478238bec8943208de585bd18b448b6099565cb3ec70ec6672a778fa6af9d1b17b0970439da24c7bfaa74c85ecd8e5852e42391ab2258024ccf91e37f2f0e86df958b197fafd12f4a45f7990375f1665a14f7f5374ff7740f89677ea8660587fb80916b30629a7aa88213bbf80512421a0a37414a2eb549b81cc85072cdd87e4e69d97ecc63f974e60d20de0233101c3d475d777602b12e2f797e9237570085b0e9f48d4dedf233eb1301ed4621f9736946eadf599bfd79157c0b4cc31bc273f5c6f133a4e3679ff6797d3c9b76aff4bd8ad40726c1703c3d8b78f0974b748d0265b0a75928374f91b48c2d2b2c11d8b6e5efddb75009e4db72e562be59efb0bfa06808c89f585a43d4776ef08947a77f277526777f0b52f1e0b5a03aa560fa45c8f30e584b58ac1fc00b104942b7b86a3cdee1abea349dcaea4e058faeffc567e2c3b03e1c5c4ddc675e25aa15de1442bcf5ee972a8c5204ca5794694759c13a2d716839dda61635043bdf1a09e35cb6d93b4df3b7a00871f79cdb4ee69c79041dd14deb7754107b8fef8589d2d240ac1d8eafc52ea847263512651bbede2fccaf6da816b1b892319817bb6af9fc17078ab6cca95f03cf8426249fd4f2bf91921d39b8cee24af07a52bbe54ca7fc4422a310dbf2149b763ac0060fb2c59154d2cb0da1ad4892279b4e0ce7f5f92c189c3ce48e518ff48c4ffa9bf2b02d4792f84534958dc6bd2914ba010aa32d133f6a07bdbb87a237c7acc3ba5cf101efe947147ed4eb3bfdffe5fefa991c0dc8760586218d286944c52d0f221e0101f74826761d01a20af187f9ec1115e9e98bff6fbd7c8816c15d33c07f51c171490997bf269951218ae92b66fa3150d3bd40336abccb717e18b53e8806fff94009910f202a5041b5396d1c339e6d075bad4ab66a0637d81eed1696e4068024001123204b8371f0bcdf0ce07d79f7c917327f7138a75947846fde68665e9c767fbf96bb3308abffe7a8d05512c81e39fa8dab2334f46ab9543921ca97be31076dc7b2a0d05e90b7f7610d1a391b442398ef56cde3b18737faa8f282572389b4fb3c55cb8ae6737257708c808bc0a414bffae293bc69cba702ce2959e1a30edcdf64985a4b0bcc927c5912f819c71cc9b1ff5d6e5929055be72ea5c8c1a4a591093deb5449b7e6b60109be1ac0cae472ba31e1035ae65f3214f50ad699a077a2de52f7180addde0bd78c2698470b1af13cfbf497d243c9e738c4cdc265356543885c5b933a299f01a5b5a9ecb0b4ddfda0c28573064f6a3f142801795d66bcd5c31868fd3207fee7bd98c47e4da26bee64e1617b20cbaa34e3abbe31126b06d5737fc2b577b19d255a519397f3ff8668d0e7d401a37e368729e4b83c5fbf01c32ec478967605cbc0675f685b5eeeb42fc688216a0667e1204c995c9c485e6f7712d80d88edc9594528b1907790549756dcc8b0d32091f36d2b4009639e68daa130e83a1ea18353ca34f431c548d91c1591ccf8b25eec1f7a3c18ddca71b87bb290a5c13229250c5e193e1352072f6798ec504b3b4c6aa578737332f52baea7bc4468fe6d8dfabb9728cee93fee50c8caa113f5ed7e9b55e21e98d73a377ef68be7e4e965dfa50cf863e6285236f11ce80512c573ae2b55bcb43cf6ebabed6783c250f991f5f68a59dcb2ac13a3c8fba8dbb11c79dc6236809f2d7c4b0ad3cecd24b85f1aaed9748b8c109f2fd98ac8a53bd52f18475598d67305117de8e03b0d988a2847539cc2efad520f86dcd82c08ad4b10e490b9cb03bedc7197bcaca55526cd9c8a5a5f69f7a1697e7e31aa76eee597c386418e89f06b0b9817a83d6cdefaf9594548b33cea1cbb585e55df3d3b66f0b1a88f4b98ea4720f1ef5e6ebe4958078ea0bacb8ad776e325ccb252f81943b9b1c2f54aad3c7baf1bca0dda1355d191f69c5d8163c464898116dc89201032d1e3281c8054882f60522d3a65831bf779a854fb0c195f85aa66522386625658457e74d5c2fcf5234f226da4a579ac1f11f11a1e0a6993a4dfe5c856481ebe9d8d2363401058736f7ad104104aa03f5c91496aaba2fe4072d418d91c2787a9b4ab0cf4bb65681ad0392ef073cf2fc060692b0c0c194c8eed5558098cdfa3317ab02626159e40e5c76fd64b2ef60b8f5f368b6b4fd7ea3d2d3236aa01d9db7c8a01929f9fd38557335b926251ade1a0d47d0c1444e6416218781c1a51e786dbe9297b78fcf0d0304c62929e00744ed4e14af926313a9849b2a464048bead075044bee013cbe318920c4172138560629a0ff4fd229d81bdc7c7fd1086ab17d6efd5b603a1991b33a55ca5b9e2051b7c140f7937adfaf474c2f284489d9b1e8c71d58f126eaa451407eacde9f0e86504f7de3ba4d830199a229de2bf39014baad6dbbc448501588ceb2575db0ddae005b81ba9914bc22b6d600e2c990f7843e553ff29d8008265eba7dac7b5b5a7ba6dc263fe0e262a7b8638a81f4720622c7361554b61d7b04c7f8b133440baeead7d51ac8b77d606fd0eae1c55ce7e8141dfd68d40ae3d8d2dc8a061085b4fb6d8a06263183869154618329be6b01c2890f2b5d0a0f25dcdbbfe2ec3597d79311edb943613fd4b59157df4fc2e1024be03d98ea3cbec7186ea9f4a431dc3743b9f0871b205bc0c1b3a001768", + "113b261414b4b7dfa028668ac8b0cde5734120124991c54f4dd16a87d181efe2bc15f6d0caaeaf6ad615f59ec5c2833904a34b4d34109c82e10609b387f995430e8c13d83ac34310d838af9efa32d7fed6224c0a33", + "cd762390b93369f1e207eb15deeaeb0036f5331e82480d180f84a76c3e44550b", + "e88c14ef96c7768f5dba9de9", + "8d6aaa27892a76fb05a2e96cef9a9b4b7ae0670a12cff95f7b076372456889fbd3b9b4fb5fd98b3bd85b247f15009be2f4e7a0329dd118b6872199b314e159618ede0381dd97db28743461ace1a694c0383d8458150a501d6c45f4b50d5b1bd47e61a51f9ed4929bf2e564f201ed0e6825170027d93e482c1ce268459d2f81cab41f0e7ff281430c16b34a29b5c76630dba72ab9e751bae41122b26121d91f2af271a23e818263f46e05fdd52f319d58330bcabf66637a368c0a8aeeb20cad1916d966e5e0b0de74cc67ebe57e3d1fe01e9743d42a931cb4b98bb762ea43ab937d1e5c42eb08fd56e70e911bdcc1ca4ca0604a329c5364b262ce2de282b4732ea657b89300cc7b7127ba4a2d08c13f581f024fd093ac09c2bc245be60c80e102405597fa8082f4d28cc954a93217edffaba3d2a397bb59ee89c8cc0f33eded78f21183bd1acdce64a923dd609a0620d2911f61e81fb2c8ccad8ad9d81157223253a121ea2bc60d6a3670c563fe06bd75688572b3be83cd31dfeac6b17cf8455267b481219c42034b2252977f32b8e6588fb05166498fa37d17c2b002a655b5711bbc21175348225fdcca041b1f97fae48fb1e222c5bb46b5202191c00666b7e1b2d84aca3edbee7a97dc0f6d1330e929226f8a76c155e973c1ab62c867e1f87be37788754e51825ba31af9f4722b5782ef782fbb70c391a664f252d14e49a805e94790135ff6bd881a687f98b42da96fd34bf240eae4914488af739ec15f13f048a7eb5fa94af14e8b6ac5fae714cbef6268b114813ca2a3920a7a9d5eb506a2ca211758de292047eefdb5a97e18530dcd8410495fc42abed91b1204d9b8ba9d6aed11d2d0fa0d931d46f93f2c1a560ef9f5f7cee1497be770d3cb07c534215cec12c1458bb57aab4d95cf4a15a5e3a3bf8e650206d5cac4af3193d169f1a57638d9a50f6b7c6985d42f7138b9226451670d7359351c2affbca65680557693d03458341198b8e13d0ea6abb7496edea3cd4dee2eb93695e668c7c0901c6809b8ef434e88b85a8b22cab6508b9560fae62900056b7c5c29a8c899bed45a2b5159a1d4929476ef350101317f77f02d48a039cf4cf01c56319cbba16fe908c49ed6f3face88867c0ad3703452baa7b86fe58a00ab8f740b4e8055164b0385dd3fa44502ffbb99cdd843bc3287ea468aafe4cc298a3fc180f284dbf78aa09e0a2f7d8593356eab016ad8dc505420edd376b66598a3d0aaa848fd68c4e07419b8b50e40febe2b6b17ad07726fae1f87e86abd01490a0ce24fb57b533c765504ee0a9ca154187bcf5e6828e3addc7597532643cfd992558d63b1acd00e7aa41b9765094217480c08c43f4f0b3f0127120699b7f2a5ac07c655b6143e467777cdad4bc21d4b57da4d8f9b9a7e4523d8c6fba3614b7f7281e80ff0f9004577adcff1b79fe443c80ca9655ecc102d5df6aab2ff6c3401f344b77666c59ac7d5b92bf4f1e2322f74b75e6ef2bf43ad9e018f164ae76a91451e5221bdf5b65a4fbbaa8dc31e6063b451edbbf4965307f8e65bfae87b15f2453083bea8484017228a9cdc6edab1a28834eed8ce07430f776b916b3bdd2340798955ce9ffcf114c3f6a88bcc4c7b6f2e3842426488c340d00f2c4d2d6fd3b6263dcf7a57f5cea6c77efba7013297bd3320accf033acc0833aaa8e8f95cecba469704214f54a1ed581349878a591f9993371f1daf92e55b2a4faf8f952cf785c687a59b3c258daef1b6d7bf9f904123c7384a859933c3ac31e33edf648a1be4d6264ffade860915bd118f0b9aaec2eb8e16b2015fc25e68caac77a3accea53b9b178f6cf48d15029fac12963b4277df037b7a494cb29b1d9e6d2148531a1f7360519cba5657c080254f130a1cc3ccaadb4298d7ea0223897e63d798b4f4909577cf9b491a82de0275a246bb1211bc4144574c8ef176b382262c0e087975cbef33cc616d32e0131a9efdbe8ad3d9cb5f935d3f4f409852acca22ae2a6e7450e9a426ec3b9183f93b4b7f89d850e1c7053c661936e0cde23e831a261b319b430da45772f0fc0113679d06f025983bbf37ecfba35eeca28de5ff4815a490570491266e92faaf8d0ad4ac8df106faff8fe3c8d050ae9dfc03a01ad177c21d7b653509a80369a668a97eaa532dc9867c32aebaf89ed36586e1ebbe1045347766a354a86ec1e8b2f30c8fdfbb6c5d549e7a84db81b73fb828499c5c4be0d4b2b7ffb197133a0ee18abb5a4e371be0ec0a6535507029316f8decde30833ca47493ffcab781d028edfb91c138609baf1054ad52a5d8ccb98b3ca5b138f253d99bd556afd80f71b39f36e0d96fba4e0cbdb18926894968aa825392f12d98b6497ff85a0e4a91c97f37ba1dcad30fe688b54008b925805104a61dc22b712685202ecdb073fad9b10b5b9ee2ff781f23fd41ecdec87f85b369a304b85bd2af126d08f79d8a9e2bff0b18607a95c4efe35941c5493c94e3f2f3902e79f4cfe84c138b83c7f32d7c5a125b28c6107921e8ac92f1af7da015b46a2f9169369cede770292eee8a5f40d080ea1c267c33cb7d4187093d486dc3911bb2d6cae036cb508e81ca783ab5e95cec751e39f3038003081a252eefa7cd913baf136d4e27076251da9cbf0c7d2586fe02b62ec786790ef08fb3ff3d79bd06868eb1abd9875920e14fccf6dc144e898f578b7295fb5f4e84cbf683722ce3597aafe3195e194736fc317ed03ebbb00d956ce89f7a41a334020e1a88da355d3b47d5bd3965a290f6fbf5dfdc8c8e6347b4eb85151e53a960311582235f3b546ca80a670dcb628fef572dfae0c101bc08c80f78d5630a793bdfe402592c316227f2333b386839a67e6ee8d9396fabc9648ea656a407670efaf80966034958f4a70fe7b920c79dea3d5a0ff05f3ed0516537d51a686efcb258520936fdd415345251c9ac1143a41be295cf12da5d4319e78e1c57ce20507490e5213ca7be92afca8ec8b6a07b33571afe6940daa2afb0dd4dcc1c329474ff8e13d740488e5ced552074fff695a04fc1b70755245895a1e9c387fd9514261dbb0f600ae03f4896e795d1e72f421d8572543243d662f6811eb9402b6a3b8dbb0f32de95bb1ac01b1287663d3b6a3f52339a4f6b27789e15519b2b59f2f4fc8fd33ad1a6e4d02cf0ddf8499f45746da424ee78e72847e3cd3833551b6e6fd6b1aa98c688252b57a1d97660ff006ea1b970a0b8fc7d2e313ffd0b0b85299ded47b60cd2fe9bdd7ebace4b0c1072cdf67231a475045990b35ec761e1dc1dfbd0c402296566eb4b9462979d33c9d652a9295ae70943f38adb212b48bd8ebe82722b1712ab6a3be6060297e2aa54e7d0158e4aba6975237e7c7a1e22b29560b8d262125ff2a6e5c1332acd0f6b5ba15b4a82d3631891a01530321830aa8f2e8ab6b41bc5b5356957a4d0c3bc3eab04df7700305a95d0f9cd18d486c675c963876b25b1a0f78e245deb40dedd14dafdaa9d614fb06eb2538c5411e13be116c76fbd3377ff212eb07c5c035612e4cd7a1de2ceafe95832eff88a9bdb3595cc19287fa40b8d244afe9bd24dca40db49893602a59640d7a1b8e7475825b09cb0cee111864deba9d3d1beac03664279910accb9fac534ef099e398d7f6e3235cef7685fd1ae46e47da093135741894273c0c3486197c26057044b10faa57244721328b47e611633d16d3e4776d90309d68ce4a60d3ecda26c9f39c1c6da67ff79fde4977efc5653d79ad86c3b53090003bb72e78aeedcf4c8107185d9aa65221df4e2104640a1a083845c01000370371fea2a6bc8ae43fbe290949da4e559d3867c16df16b143fdc807616f51ebce8d05bb03c2b0bd587b95e3f6a15d907aa9a5b11622ddf4c81ff9fda4bb49d3e9577551bae649cf64ac0cfd646b02f6f16cdefde09a55e77afd16c74e8a3d777d80b7cc42c51f618a3c467968631119f11ca4385f0f5713e37ab1133b692de475db1d44fbfe9d274b9a09e673dac88aea74ba88cde8db3c831e9b5a0f1e40261281e5aea9d4dfd48c5d9e173f4d9cd56fe7fd610909c838bcbe1d6c729e151ecb4caef511a36a14b03cca7ec5d0feacb4647ea5212a11d18cbcbedf78443127680ac0b1bb65120b4197570288226830e2a92b380e32387bbcd3be2c77d6c7722054d849be9de459cc1832ec3ac8e7f60fba9c81cf5fbad37d228eba137a23227d56cd24970340f2b7599aada9d2424cdba8b50c2b97244dc83f7391e2ceba5bc0a11ba547c142126c791265b33a3db6238321a5f3273ffb01e42adee17b898153e41818b91413ec4f6386ab3dd48db875afe659db9eac94d16f850ac179d087d93784d607349e8711f5f96fd514e8d096de8b4a74122ba914520e93a11fa4adf006700e122e2531e1f39340cccbab4862708d69c117d3efbebabc14a0231916ae1ee8285727c9fc980051360346d53dfc76aa5a11fb1fc8f36f95f741e913bd2cd1031e508b320abd2d3a62baa400dc439969eb44e6abf8223b29d4025c3d1ca08d2dbdbbf9927c625270543e8c0cb5ac5bb5d504d224e66a1895719e4f975d819a95e54cecfa59ec8e385aaacbb023772fdddbe093afaf5a75e63a62d51926254e5b47da1e9b05851196644b9180734d05810dcf3502747c4ece652b67674c02aae74f20d07de2ad5993b3a68d10207eab6be5be34e52ada655aa96c1d82df9b24c2acec35e8f0bec9131c20d0ad8936880af87215611b80d07d7a741a12d8145bd05066c6ac171afd8684b92f72237bb0e4ca4aec1ec280e39f36928852d5d8d02fe463acbad8ecefc103083fd4298f399bb254e7bfa166638460b760ccf2b0f5fec0e3875206bdc8ce096274643824acfad71ba06441c74788356caebdd2208f6f077b056fa9d85aa4357e93bf064a776f5f3b0f288d0afdc51558c8f25cbee17247364c2bb24637dd69017f92bbb43024d9c773439626a02bd0cd44136a642c9c5ae593f32eada790c31a6704030f2e07f1173cbc0dabc410bf9864214c298a6283b3631acbf94b8371681ba81eed1aa81ccf258252d7f90fe733ac770b9744d0170cb554b39e6c72e05919cc237f8f4d7f3545f4d2732f4c9473c77401dcba04c0fd33efc73219f31c08dfab26abee9a7cd4ad3584730768fae899fc", + }, + { + "9c73ac05648e0c50a3ea3a8eea70841e8e06669c1e7520c5e25e093769c4b005375c0a9cea16ec8e00261ceb96a00924a66fc0c4e4e089c63e93fea857aead8e0ab82af4ce1682cf3c9fbad23fc3f7e632b7aa169834ddd6c7db7e1e892cac93e4d787b2ed0a812aa93bfce8fef3ce30ab794743ad241974ff989288c43e1ba815a25a03acdc2d5517293e161d0c46c8858d0b32b124a6b0bc3838807753288cf6838fa25fbcf876e6368c0342d3cbc860d6fa12faa1c2b7d9fb37504e60dd44e36ce74229dfb80f1545125718dd1f78b31a8aadbb4d6494489ce596fcc2dbdf2ec22157a1d966b61e780d36552daf084739b602861a96ceb67b65b23d40916c02b2c3a38c2a59aaa266e1f8939000dac9b6dc50d1731e87ee833a2cc3cb98c57e5b680a85c1b428289520bb252096efd7723fa8e55d2fd4e16900a435986ab3f3d2bd799471a1bc07c1772ce10d1bb8805a6065b8903999f9393d2ed1a7e1c57a9e3e0e10dfca17a04143814f5f3acfb99a34712a6e0a24a7485279ef343e69d27c77e25b41f9fb833d7cd29cb6a15551d5c77b43d19feb19f2640926a272f81eeadb792bd474ae11f080ada72103f8f7ca733a9b1325b50589be2b2b3023491afec246d336f4e4277592ce9695c68d5f39c8fa4cedaf51776d7ca29ea0ecb89eaefe71e5f3560c68e8dafe7da08cdcd954d626418677b8f3f45b9194474a32f548a4da3bfae6a3e2c0a25f602e3b3a821160c397d77c8bcbd71c5f1e669213af36eeea30d48e12953071f55eac2fe0bd8fa355671fe032f6fc9214632428125a16fc8aea8a9c7fba0d7518b9a4f876349ccb9bbbabcdb2a85fc60b83ee1ddd041967efa4036e5e10e377c9886f40bc0b0b57c7b724795f843f6a072e87e532a04c21445090a360731a2afb896ab795750e5c2c33d58bb714f5be427ca3751df09661402604a09a1eca95a8344d3daa5b99d68e6e6245825704c5d4a73af197d052d7f75778917542261d77735a21cff3f75d6159a3e4b1a7a9854ee376e6b3c8bdaa1f353b957862b2efd50d10a40007026261a546124cef979ad20d8085d53e30f5736b8aebcd3cdaa349ea474af249ac53eef2653ae1fcd5b3095538de9368d307d45df2a19acd44e3b78c2da9d5d9fcc4cb61feac5dd35f66299845bc0018c3d476b6761083baf33a4621e41cfae0e0c642de729fb2d206db6a4b976a635b3fd911b5e9946fddceb6feb2d2f893b2bed590317442037a1d6dc5b5d72910160221cbecb53bc983f1c736c3bfc9757e9e05af1248b28d651f521af67b2a0d7e4bd86a0013338404fabac7b9833c372142e6338a98c0efb7130aae8e34bb0c80937680a7a904aba3be735d41af9462f17b967b13566bcb697579f8a9340429c77baa6e24ae1ac86d8d25ae3cb9112e34a7a948fd141367898c5f33c0635c87de06f603b510cb229df0d0d9a9e107de88b12686c539ed4fc54c8285afde0c8ee502919a125cbcaf4c8c89f56e90d3f641f97c07326956f7b5d87c65b689f39b8b84359ee0f14d2c7ed621ec67f5e2a8ee5faf21c805187edd95e3941ed62fa95a65473a569566d46b87c0d27ca37b6b022a8cca30a4480d392ba15701d1015b3648958cddfb614983211bffc4966ac6c1f691f19bd9fed405a02c06712d62a775f73353f3949c76b6b7757a4ee0410fd6d20071abfe46b09e72b70f9f19b61410ea67037e037934bbefaf09cff018a5c218176d165d1eb5cfd5c46eee7b82fe65ea02e3ed7b18a86ac7b139b7c9df79e1f6e6f85304ad22d97190c7ec12c651fcc835ea434d92ae1444e7cb0dc644efbc2ae70f2f94310805c1d0f2d49643d05e78baa1c54d4fd99137a49efde88dba1374c94208fb4a0ebc1a0090b043610ebc1bb08168ff5bf936ff9834e825eefb9ab73da2b287b06fa2b0ff52f46061b07c1131e4108cde478c767b749b696f3520acd8d3338842d53941282da289dd1e9a0e02aa9be0f127566c9bf2d50a27f6b6ffc9e9880bbfc14ce7eeee70cb0c0ad90fb474efa69b46123638e8405fdef65fa7e0e7b29fa8fe8696edf661f9003a08b4aff85a4a3e6d817655c1d533b834da981b8c37c38abd5977b3ba71b3f57967a471c2eeaf2f6f258431fbb7e92f91814b1db80ea775681f282290db170942bb7b04aa2a331950b74a4b6e337affb4c51c6cd4c4e13ce3095e73e4767c2731f72bdb225ff572163fbd8573378427fda194d165750d487f6bbb63e1378a132fb6ee5115e3c32b2380b096b735bdb4d651853bc7928346fe3ea9df7534f2a4eae1f5ffc4b82ae738db7df0103ba4e68c2a2153bca499bae2439a57778cfc616df16032aa8a19e26597d275d2775b5ea17cb25d204b18028eb25a053e5666ac47c6def151f7d4b68ea62c601d87bfbe04711c24bc34274be6815024d7b7d01e7dae10cea6e485348ab195a83854663cc5826181b688cc9c091dc1e0d491fe51400e20e6f2a51a7d56af258e038bcbc80e2c4ac4b41661bd33229d07b39b59f3aa79d99c1ef41974a33e02a7cacd6fd8f9b99cadd0fd6a031f070bd3a364c64ddda0e9fb94036f374171de0b3f4ee3380780e6d77d50db9d58e670fb4a364827d631226a3491a27602808141ce657ad6e560ad62b088ff086e6f03b8a64bdf7c7d01e7b19289279509a9d6d80e50aef3b05b5561e4556952c46d0b6ab8eae735eccee77e570e1360b7ea38c53ae6b8eb420e4c2663b57827228392db6e79105a47f7d89e06ecfebdd63783101d3bfb5f494785acfdfed41f8166faefdf0b49260222c4080ec2c6e4f949f41784f076ce37fc7a34fa4e547bb44e6b9359b4b95cd67d64e4402ac83973bd50f8adc7c6e4c34019bd8f6d3843bba3d7155890712e0ed5134e00db877398d86b459f312a6272431f01b057446bfb1b8053acf181bac79408c7708f3a0867a64e06d7786849bb874a6bdf8fd6daaa572d5648ae100f4318d6b3a811bb0fb709168e817ed83c0622a7e5b17ebf5cd5ecb21d9ac32ddddb039083144c93cb55a95ad72732132d54bb120639d1620ebd142b58d75835b35cc6367012c93c6772963e9ac852c71c0dda2246ab845469997fc170d8f62334bc5aa4ce23e036967674303ec6f75bd3d17d197d026de69beda70bc59d2ff95a899d28ac7e5e42f4d37233996a8e6d3b0b86b80df49ea8e145b4a6e3e39f3d6c3c6518bac45baf97cde23037709d737b242b8918ca31f90fe59ff2c83e2f347a954d3559a8e4f075c620ad36be20b1e24b3afa156cf3255192171ad0474e4adc9b7f35436325b92945665f038611e5d14bdfe7b7d20c09642323346a717f460dfe7b5062a0098be66febe9f5fccfc747aeaeff81ba08e5dd2b1a489c998ea9970afaf9aa03859073707a686c492fb3f7ddb27897ba5e75e578bd82114b2ba85525a2002927909c970a04035334b64b1169c3a923211e0999db8baa26b6537cdcf57c051c0ca1b317a5b66ad96cb5ebd57994f99ab202348d8ddeb343312f1f26ab2442b8c5f5cf6bab394418ef2fed68c3e60275e836027515b6b946e5d86d91fdaf49c2a5182d5051726840a156a8653cabda25e1dd9af693533d782caa09295952ebfe6a194fbc8bb7fc2c0da5914a506c6f31490928dc5d6554890f5eb268b09d671bb6b6d7416dd36e7b78ffc5c86b34fab43d22909a87e5239643d5fef373650e291be56b89b9d90431d8c9fa44fdf4f83a1689d59d6ef833b1ce31a44197b36ab298d53b51ae3f8387087dcb0571c340874c1524ba0d576bdb88101c1fc387d25b5c0dad0b4d309255ad5d5b1e209ba56db0c927bd209399a8a3b5c8663c9ac199a76ea4f49e364a4b93a569b3400e20f0d748adf7db46a07efc68e43802a5d1a914759eb2abe8fe3e8d67f2cd7612bd4d5a6a4535b1e5b3ad4d97e54f3db7f8512c9603d87e01160b6908d8df1b952c750071abb1565e5ea3f643f233faeb84278187ff0089150bf21ee4d13979fdae796f592ac5b88869aecc5be1c64665edc8ececc87502d36720b73859313607aaa561d56a195dd3c7292fa8f0750ddd3df9ca056fccd9d6ec900f45c1454c6ceaad4154c69e288dc85735b8cc42950a3c5f0fab2be8811779905c3ad5a9a6bf56e7141d863caa4e93e0065f229b695efb790926618b3eda1b9a15f143bbb09aa3c4b72900617793417df364185cc213d5cc3a375778117212266356e214f085d8a7aed908256c4aa25faebabc70ce913c08c89380da06920069e8e27dd867567f152f883a9bd2dcfb8097b7f065482d6d11c0edebc67feb3068cead403503c04b324885ce1a62c99af9808a5ec8b7cbd978b8c43e37b06e9f7e1ce0b31fa0fe52e8842002e6e99cdf69263d31de080b56c0cf94f77f0397fd1f77b13e17af90ff33b00119999df802c33534a13d3ff7fd0e8cf58e8f8c8bae033cec1aec7d191f2d1a39c7b731c97a67fd1ca43c13a24b9f97d92e2364dc26a1c9408d4659ac7373e53a2a1704a47e01c0223ed4c489735b62a27ec67ea46747e4f48d3da101b0863bda9d3f7f1b413f3e7f130208875e6a29dc30a78198ef658c7ca32d7d53b4b92e51f8ad6d39ecabb800adc0870b2ab0e85b5769f346ce7fc371ad40c561f9f3b2f2a01f2b8ccae48c78a41383cfc36b2a1bd41d61a39c24144965d9aa5ecc5d506c7c7cf9476085bf049942d35caefd77821ad925b7fd3a006213abc1e008114c848d45cbedcb8af264cdc5c07bc338fddd1123940e5d95717040325048439dccd1e298bead22b011ef76d26a390a68161b8bab29e8409a5880cca9c8104694e1282c9fd64f50e73ec6b9a9ffc31115de9cc0088400a2dc806f85487fcbdd60f409ffca584fb197156b40142e512a0dedea1571ebb74d6b26d3b4a59e9105929a055cf3540e8a6a79ca7ea71ba8b40893c9797e81c6e9a7999d4d382e52cac95727bcac354616ae1094552b3d0a33d0d3ac4e547237fc0cd54944039b0eccf335889f6aceb518de496e0986783c564be8a4a05bdc9c67b1e5abb480b98173ef091259d8c772b611e0c09758fceea3e59243406edfa71fc452d4450b55b8fa5ecb543692c6eda3a6ad3bfea929a18ebbe5ce2ac4754989c71dced37286cdd1512107e4e7f4878da1c28b4beb2dd9a712a8d1d61d1a5fe5382db8aab4857b05a783e98e77711c1933a7641fd43dc6e6e597bd03b11ce8e94aa094fe250f03cc92ed5b0a5e7723911e87b0f3c476d9aa0d96adbfb395a8fd353cfb5a4cfe27deeb82e849f90bdb17928b0a5702e4010f7aaece2d43772a78b325d2ff24f9de0f7bc65974d2348c64", + "bf96bbc17abcd1f56a9f22ad164d25ca72f8c996f1a7a66d6effe140336da4f20460b47e1c8573872496343be35a055552ceec437692b0e4919224c4ffc8b603286a8245eff5cc148b004f6e5a54c4ac22b0f09842a07cd332a09732694d3591b8b7d6a7ada2bb38a30aa7fd5e6baa811b9a195d3a96306d", + "aa2f714d3a184a9883f4199e8e33fbc9c92b36fff2d59f07a9d0d335d7476e81", + "36c79f9f14d431cc8c077439", + "873d0617c986dc9d83e9cdfc50b1f916626a9d9e1c595dc7ccd99d1e993d25d89b04a893c89e205952eef8f1733054bbb55fa5e1b07135787d4fcfae226737b50cafa2c11276e8708451be9b4d7f662e98ef6b705c5c4fc64588728eab1dfee22a0a92bae61828a7394977b0ae8a3b6d0126a23583fec025becf0a72a28891391ac1495732a7a4a1d43a63ed8eb37b280b6d886096fbc4f77aadbc5e441e996334d0e10cd7f3dbba9bb7efb147297986509a07735385c681e0543186dc166291edc3b4664f5c8ffb0965c85bc30ff5e7769a69609c69ebb68f35d104bafe3dbd3e2a40e13865f19bca3612e48592aa930eaee29440b4ebc1c0a59f1c54519857c929709b086bfddd6d4a30940b592be48e0067976099efe71f45f956182dbb300e8076e1207baa32d59c1afef7f34171bd66099d2d7f07b39d16d0f8b085185bf2554c6ad66bcd656f07979e8f19575a116f5c4fb9700ec3b46a3254f28afa1ed51348c1af6dba26fd398098a76d7bfa2ff195eebab41330ef290bf75205a2ee570a2fa46bbaa74aa6ba68a0e63e2731dc1974eb44794f3c89ba58cf96f7a070fcca678185711d97cd9d7d8202351ed589e0b05a7a190e60ae4aa109254a7bcf7013f8addd07a64145e21226795ff7c7b1c225f40ed7c3552da8eb18b9bc9bc70c2e7ecb10c8b20c54f04b6e27b5044a7a67b558407eb330f2083444375c022565c45fe817dc00c7d24c23db320d15949b0b64fbbaedd310e73e423fcebe6e1e98a5cd232d97e6466642e5e3b23f06525ac1cdf8688650cd366b1b7ba2a9033e62d836b14bb73717757b76b9673671bd3d3b2a56628f5a309f3b86ad32abac0590c50f7c5a22e0a920d88dc9fbcb3add08b900a2a2fae4178aa100a0e645ab428e0e79bd90baf4af2755e48262b64838a6fbc21226e323c0a1ba5703e30738fc7b5a7df9eabec6199df5ff6ad58f9df5a734ccd6509e53ecb3de1c881732e26e52ab848a0335b04b25f2254aaf8c130c78b0c9a40b60d402673ac7ec7311d0b00c45bd176bc73ad81c2478611804f59e3c145110aacce922e473ef346f8acaabdbb9f313dd3f8d0a937d0c048e5af789e2e09a816146f9ea28170909caf2572a2f6e2d0d511242909de2815e9ec586b2d12183ddbeb7dd70f32424097e2ec28b4ba62cf78f547e2057a4c050cccdf6b582172343742ec8c85e2847efb1595bccf89ece3b3ebba824d2f097b1987ec26c6e5710544739d54a714060fa91b7995cff0161415eaf55758078772c0271d9d282354e47a25b673eb11497a6ed8db82267d65ad47412300ed525af96f943c5336b1de88676dc346e7339230032463d305b0442f934018bdf0242768511d20474c6ecc82fd752c0c0ca5cee1f3e06e679fa5835540f97870d47ccc6bab233290be7a3bbd4a73f1dc7682049bf7b3cbfb6687479c18d246e3c07161df5c889ee95d39cccd989625a8c9e80f951f8b1832f6378e05daa8566477d7fe547e49ae6e822a68de4df9fc4d6500d5219c3d3bd8887bd7f695151ba378da17c2e750399f7482973510a386721c59683a86003edb9f0ce1ea89bd7bb8a25c222df7ebedcc1b56c8ce18f367b2cae720e0591b477f6ffb498c3d7ce59cabb1b01d7cba84d7180b4b2a165d4b889a6ac361720e768f2913aa50b0b5c88e55c35bb4df4fbc4460338809605f1fd445a2bcd97ec1d2f269b5e779a18c8f215bbc5555c745424484ee5436119eb8754f5e9e91f51fe715353596baa1fbb0a690e99691636e6027cbd4b7be752bc278661e2677070ddc12dccc262d3dd47160345de51359ee8dcf2f61044f95dfdaf323881b2bbff68af6572348f786f6e52d1309cff871ad58148307d7eaedc93ef037922b6092ac62171433adc4934884efdee3052ebd60ee115f76f9dbd0eab7c4c0a77b4ce8078209d23d81d957335f331965b556ebd54732327b5aacc899f9ed0edacad9eb98cb845867f249efb0e1a5fa2483227f78decbf7f1f32d060ab0c01eb985d83920b2cc24b5f9a0d5d869e980129d3b78277fb87e5cda61e340a729d86b6617b8828dffc7c37d4c38080ef3515c2784935973dd184e0a8160f84bb78bcd8a5e691760be4a4d41ed6512ee436ce24650c0e17e7d74b5e01cc39b21e21514a84db262d673f24a82cfd5dfe2a162976171c538b24af16429bf8ed5fa8e37f89ec6e7d63ea1d83ac1087cf89e8f43161f225108889e922493d973e36b510074533cb1cb22174d21c4076959e4191a5df880a8b868b95a9cb5151a7ad47375fcd87725660cc0b59c88ceb86984941268493c49b8aa2baa8c531ecf497853ffc3d26b926a379e72188e246d42073041fbca453bd558f328881c8f8d9e099e898a912530c4be499f2b32229c359ea10e0befe6d94cba5ddafe51d164898166e890b22fd1eebd5724451511dce1f8f7431d712a3f1e50fa5f609da686253311af255b84b2106b09b803e94b51729cfa0826869945d46b9606547e7e33fd9961cf15b400d0f5e01d8fd4d92a83ae526934059d4514b9e0005317a70466aa0b6086d5fcfed201d958a0de55fd23f0919ea29b8aa02440031a9fc206b9feef362a73430a4204869354ec81b6fff92eca97e7f1bb12d25228eae466b8137b4806895ce34b57dc14bdcd107fe160776b0e5daab150ba06976eb884eaa574da393af4de355381c7caa4f611a2ee70a0c78df93a4276f55e6281997b4aeb36888a6d9638cc95444047e5202f41f8bdd787f1ff44a648cc7d39f05e49e5d6989fedb194c526780709763da81a780db0d1534a466cce57e11dd3a4c0e273d9873af1040d52a90e20101e1f80ef296d45769d204cd5417a84e022b6b336675d36d9cbdb16b0cbb08f5e240012967c8067c92f97f981cd19d449084400d76adfb7c610abb73bf21e161db04debe6665fca79d71c8cc50adc3ecf0e52d07773478ca97b8e9821a5704dc58acc647a5bc618d2b681f17942c46c266c73ec211ca403a7d47e42e12c775b370cd500d70a4aac7124f5f6d2d4ca78e1c17a96426c326bb60379ceb0c84a86200f3b450e5e9aaa11f45440f5260eee7675a8b9c47fbc58cf18a651a1dc7b39a911442504f12c103054bb50f15381e512dc6e3af7b414b3db26fe767d83a2a53d7181fec8f6b196c7874befd6628b31797ee3c9260c7b7853b137893e36696e2a47277add98462ea9a0edeb7d2d3c0f2805fd7db64c2c7eff353ff2b36f4de862a42779ffd4dbe77b6a79bc9f4ea3e909474ead915fa3fa990bc82b83a670b163e79300b627fb91c4502e96bb9dde00f716ae6ad14dac647c9f7c2e5b2e505708b5fee996b8e9113a8f4f2caaf414061ee72e76b8bf47ec4f781bd7c589adebc2c267448247e30d659998d8037783494a1fdadcc819d7ad7ea2674f75e10639c3d3055046a00814ddda0e463185454a4455d60b9780250183d591c3db6f27373cd2ce4f02f206ae10a8c32d71226e7cb8d5b05909445977164983c0073434d6c0f2bb62bda66a16792d6e53a49ccb5ac3e285a6baba935f30e9d1ddb812a018ce04f29e2009ad678ba72b6a7112d6e7cfcd3ee7b058ec954a6fd7fd01018a6eba6209687c3130de58147b07bcfa02ec1caf30b59daf87db4618b4a5fad34cbc8014a7529b9458e05eccb9a77ef1621aa95513c6fa4003b0877ffa6d48805e7867dcf53447caf348228ce926233f65d553146584d6ff3dc3ed3296db9bfe69dec6a07add13037b3aade118b2ac3c52350b9691a6cb32356ad93377059fb8ceab68de38d96876d6d383db01f3cf620e47cbfd471bf6dd1f601210482f7c3bdd4c3bd37dd0a7507e1f0fe515151634813dd4ecefe97b52eda28e7a7129993b0af311abd3a07bc463f3cbbcb4fb0eb265a5835663fdbab0d8b8b5a73837ac98ced6582348fdeb41ac8ea9e36f9818ab9c0a41bac1389a6b518ea17df043dd50550f32471645791bf59855ed695b84919aa5cb688e569122786660f06e3a919ef9cf18c355bb397b86710c367362cddb0239aa1d32d489328e4bf92b3abdc3d0dacd76ef1a1efa28fdb848e708aed6780e2d8efb19a2e26fea56b4440dc3eafd796896d73fd150bbd967871f5e6ee5db58995f2f85cc2a15077d7d472bec2e30430af6891193ef03dfc7761e2b3b3b54a72d4f1084a8fc541526fdeb0633dcba14e9485b43065aee8750397ea88d9ff13417149e0fa145be666e6f4afdabe7ad8e4864e777c20ee7a2842db44dedee22f3ce2f97d72919b9ff6059352083be816a7515c48c5140a99af8e81b9e18b10074dc73dab55fae66261421629c8e323d8134f08beefbda555660a51e4b55a9ba4573bdf0396cc413145a941c4175aa672586f7676027f9fe211db87fe07a23962f5b1ad8f566f0d5b13c5146457276f307a02e1e13d00c5032a06d225248215e4bc4be1b672f1eaff16ca95da42513fc4315c7a6663f9101aba80224acbf0c87fd3a2ee9dedd1808c1247c5bebf3cb8d77377a508ddb484ed91203a438ef5ed3ca14e087102bc5f3828d8c3437ecf5c92eeec0331ed93ae33520740abae9b7bfc45f097da70adbb9b9b879e46a7d655dbf75d89773f737b66fd8a8c13506cff7b44bd85dee279ea7053f3ed8447fe79c400cf23726fae800449d27af5e342ecf776378e2eb449a3af27a40fe4a9806487b81c942bfe1a4b0fc146c971a13f83669e0189e337cc9fa2024864436189a9165ade6b864698ecb797ea05fed0d60f0ab4b92cbae36c72ccb5aa45337cc02dd086afed9e5522ecdb75ccf389fcd63c5a4abbf60908e39cb3268c76a08687588be67a856a841eeaaee8ed016f6640ef0f5acce12ab8bb58dda380696e3fb22d0bae0788c4fb79d00cfa5ae3e479dcf7d08b45f4592c2d2a7f8081d5a9398659613ba4932ebfd7382d516b2648ec4ff4477648069b9b2e4decc89547c16ab82a0ad9cf293fee5adb17cea4c95ab7b8e386dcae6acac63ad0d1d13656dfd97d5623dbe45230de597751321bbe5a03c879c303fd7a0d837d48141decb6df4f0865717628c85dbfda29df9a8a69b2c956c75fc66e45c08960c23bbbc706e48395057f989dfe675305067b3ed8d046db339e504d5b2bc978ab4dc261d8afb325c5e794ec79d63d8db53f9dd24b623fbcc202679fae8f7d39f7f7e0667b142c714b6a723996e5254ad2ebafd63c3577f8909981ce6b3eb1a6ad67a4e93c45ac3b34587d153ec5ab67a2697a9741610d5a176cb9b5856bdccb98f69421061c84811dd6660495d9f30548efaa69e36ead246d997c95bad0ca3fdc1a08b4be31b12daf211d3e29d585cdac48af8f2268ec304bb35d", + }, + { + "ceb1f819497c0d631a9c9616655f419b5e3470fd3b19cd0e4fa556bd26cd9df57e960ec7121b2a2cb7c0421c1f84b77eb8277bf341490190ee574d1424eb09a281176a933394bfea5502077486bef23ee66e3127b732b7a58a04b9aeefc35170dabb030d4fc3f8a4c5ff194bbd0b89a379baca30ec81d576868f25755276e62c31e93a80ac322571313ebcee494592c3ff5cf3ecdec962645887d9aafdbfd62ea910af5542d4c7731283625bc9f41ec85012b42edb1792339e6cdd9c2bb3cad4c4792a064df17a5f74dcbb3dd0d90620ebba4fc6d1e1f9704dd60c798ad64d4e5077549d68cefdddaab81a7a91209b7ddbea43accb3d1c191328929dffdfeb4f5740ecbf0ee99cb9a1b73333d7ceb0b2b8f35f84307b9d44a42fe1a30ecdf2650dde251bc8c1d46978089c50d64c028f40611370ddb0b481df9624ed63165370f4788bbc396026b268c2023e0f04cd4f66e0bf439074c46f0ae85d6dfeb0ddf22868af61c8d5133097156fa61a3cf5801db5c3ad29871d336f7aa06d2a7d5f52e50eb3aee3c7de7bdc4d21f68a1776a7cc3954f5c071282febc89c1545fc672a0a1bd8eee2b769be048ab58ea12b356d658a6225fb8a55e752f1fc97ed64c2f87f9ae661514f1f56d9d4e47b001ae865a44b8a9fd5df8628d183bfbee781b6661c9cc76debe6c3c5bba840bbc228206673aa05498a8c715b0f3019f6b2d05cce6c233b5809ff1dc4a75d7f69859fcff94ad442d460b32f6fe348659518c16385e49fddee9efab2455732aedcd17dd51b5117efb2ca1e21ae6787437f48a7042d46e11be4dbcd2932ffd70fd154e4eca5fcdc57c6fa79746100b8e1485fe575a5c79089a25eb2d55d89e42eddc81b82c4f7da8bf153ff5353b7349b161911bbe0a14483fff6585d7f3c8b5c04a6dfc99db9548f0c53e25f0b16fa212f0bdd10ad2193ac18eb09972795f42b3bd3f4d98c4868989c4af7a760f1c88ffda59faac73256df1d607644f56a70303d6409c9ad716149bb58f01b4ab8ab475e4af1257d47049aa77adf9ce54fcd22b3d6ec60484da903a6991ff052ca37b01428d5916fd92c17530bb3385a805b0d57476e9f9417a23ab1c12a038b61b3a0898831f9615d10b468c3edc24448d09b8f3e3a2355dc5e069e880929eabcc97344fb6ca5587c5ac1404783848f531f1e915941e7359fedd328f7fd12b3c685f8c1f29d1a6ef7dbae3e5e32cdb251eb43aa2d2ae0cc18b3f40fb006c2778cba387e5852ec4f2d9b8e8ccd5b3e1f4781c974aca940c45d35d30d3b9584c750bd45a80f32f73dcd85c99ae107b92888839c342cdcf88911cb974d611b14b1d85a59e88c502559d6eef3b7f5addf7d307bb25c57aae669767db6d798ca887124e159b0317e09076cfdbe61aa9ddeda189036703b1cd9b1998f88325910a37ef1fc2e227a382ae635e847df8625b99eb6ef0ef10ce7a2a5762ad7d03a7a4e2b767c4df0b477d6e9601dc8e6438184f97193ea7d7a8c22f1b6fac1f0740f1beb8b68db40e0b22940cff2261273aa0be43df561b88184a9377e6a27f27942dd04abb9448b6b6ecb3a60f14dd39b58b8d94e1991cf9d3a071ba42e0e1d71eb211ca466a70fd4724a34639707feefbfd73dd9680d76a214924642a063b38b85cf30eb763fbfe889f34b20fa4a10ba214d938a5a092c6e9b73b13bd664c75b34f746aa360593c0f8dee0f328f0ad4a3e40d498490007e573b8204a1ce7a550deecfb15f18ed5ea6cb5dd95a68adfe4cab37c13b383f8273b1971580016a8df02a3f4f431c9de9e7ebb33244512080fc5852278081b9f4434109c3427441329e8071d19d0fbb74fb6ea73fbfc7c0ac1012d3a0948d94d7ceae9b0112ec43a16cb582f9c53e7eb0ad15e05ceda108fdb3dc9e585a332018d1cb19e4a75d86041308fdd8476c88e4826931601a3a5dce06fc16512f4669f10183d5a8d15bace4649abcac07358089aeb1e9b8fc3776f3239d5442d3be33d532097e13651af7c9a5b465ace9e626889800318447b8876b45dbbe1989e1eecbfb5cdf5067c71a0d7b7fba6555d0edede12f7228d7f9841dc532274f24060b1f52da6fbaa179b81ce962723f43601d248f8f4d5778c1653e038c8d27828836d562968004003810e9aa9318edf3260272b54fca2e012f6c04abe92c2e6152f3c3e973c7e9abe8c3467bdc246f0226d1b7669bd577bb317c571aa8758bfb694fe4dd17ce78f091cf6c6de3cb601a9d177128fce8d42e652b490d90c4f8fa04ddc71cac300d3dff699be3250bfdb2136edb0057af3ebcca77ba5b3ca34531810c5e2d4c5b5b3bc4e71ee9e30cac067b7706c326357fe0ad2a4bd9cd811b4e9d696bd9b4b70579ae246381210f879c769e5f9cc3cf8d70e9c94ab74a55f5d7bf61a17418b6edb6db4147fc40cf98c75de85421b7d192919add48e5334ebce2a06e56b915447fe085b7dcd677659dd55de1f705c389975e56e0338a2ef07ccf5ec3786407e8449d9011641786f1ecd4d3d3da975d61f5a442293e6119ab20686ea8cc7681010421226838a95a157e2de948c536aabadafcd4095dfda48e5613272289a8238dc945e5f1ef30075d5de096131740cdf23da1fb8b9fa009e5b321083cd93bba9271909460c09bbe1e8c54319394ff85c291814e21215816d4791f01424abbe4cc4c792d0d04db1b812f4d24b44caa76de2bc50f4d1d1611862512d87fcebd3c0b2659082b2423bc5360d107ad7b8e8ba7438ae4509105d6b618af25e75c51e272aafaaddf1e5a227f2b2a2c96a8a83dec23223cb428136a30b290181ee20a819cf52f6c03798e7294a89f3b5137693d5a8b7a0ea38d78e43008fc4eeaf6d077ebffd3ef7952620e0af1395c38a289832df391d1710ab5b103a1ffeea8c06684c03a74399cd63797c770e3f0136d8331611502d21fb883136a82f2034358880392fc3d2fc274b799e59b89f8f90d2a5a123d3c21e5bf3540323743858fdb8912c7c6329a3aea241075ae097ebb23c8cd50f4ff46b42486e65bda6beba5f4fe6dbb30f7e61b1bf690c9f00f7513c83274cd21bb71563257a20cc38da2b88c1063bd0849c8243058ee205853342085a8edb7545f0d96a6af936a3d4612b95676665eb02e72e0875100dfa444f039eddde1422ceed8d38e6c3dbba25064f8c6cb5786f9ca67712b7840cfbd40f99b1edadd4bb9a61f48124cf3b49d68bd642404eb1dcf428eeabadfba6810a4032f8ed06b38867a7098c7744d54dcfab8f0ff941ecee69da9916d54097e080cad86dd08bf53833fec4aa4399f7124586223ec70e2c31e8c647be06df9e86a976f37901e9b134e775de2a0fd53d545c5f92236dbf5455859c138b7bb1112427049d29ed4f5dd5c43cffd3113c276d9bba910879e55efe817189fc239a204a9ebe738c0dd161d10d60a51e9dcc8c38861d41ff029ffd841086803320a17ebf5ff14b6cc2ac3dcf0ce2eea9af7ae23597233599c2321dd2b99e06d93f84989e75e30a388f47079c2af545d96f270e064a43a00c76bddf2f5be5089a69a138de844216148a1eb0b413f58d831d9b8967df297455e7538442388cdda12d157fb25896c6e2b47696c76b234a88bed4f09dfd64f2e4b77627ef03049030190fe271a5a853591ee9218a0c6b12cb3f02683d665b211dd1480cd44c9c0566ace7d751902babae14cc3821374bec774d54b4b4afd5d1811ede556a7a5ad02642a878d2d32380e7efb9082604f49d51495105f827d77945b5cfaf2f2980566b28ce3dfbf1bee2e077eb067bdfa4cc28f5d2211ca99a615e69118d9391e3feb9b13cb4a2fa9682718189ec612db889228aaa3f3345a091aeb11f41420240fbb47caf567646d9e7c762d3288f8bb2b1165cf049a191db5042fa9185fcd180b04d3007c376e0aa3d427d66d10918821f74736816044366463df7cb3ac94cea167cf1daf2d1842f130295e40bad672a22da9238ded69e241395f04d5e3c3875b8294faafbd3d90ed56ff3e01c5a0a3e349d761273143686aa26d408620c7d1a35ccc430a09e3f750d3256298c6068c0fdded270f308f79d2fcba591d723ac0cef703d8f0e7c051bae5b453abbadfab98bcc297ed4201b03ebc195c2e441cfd3b10c63c08868db36c320707ecd6a37593661d70a81f30e6db4a32f98e4fe6b950ace55923631c8f95138781fa2af78d8104fe39242f1fff6942e8e782dfa0d37c863caff9492f8e5cb70046d207c4630cc29c20e1ac105aef093261d8d335456961e552ab14d107cbe14e9de912f0e5d58d16b729270208204469f917af4e710123c3bc38a4b3f485f2926f058344db105b9239829441a2d8ababf04aea615c0e350846d9bc3b5faecdbeb450f38f615f119ad1b5dc748e88107ec2fae01f0915174feec37b3e7248ed2699d0a5fb2fc785f17d6275fbea867aad815acc8a6fd3ca4ea7357d197e5a30082ad5f35a9d894c0aebb206c6487163c9cc20442c040e6aab33d7b4b221e4ba4cbabd975836e353129559d8ddcb3c97876cdba360da0e0c1dd5b0cff7957a444027db985ebefb6154453a221076c997d3954b347f49308d2ee14d1676b75ab6ef365f3de54aaf398fd96b9040253813ba734829bc78a6db59e3f1c0ab4c878a72d6b8681157919130fd3171126994dcdcdcf68955ad64af8156702c92f7a715ce6f7ddfb70f60e80c92691efbfdebc8cae252108fb6c0010d303d9027d4a5e63413b5fb2316d32fb93c3ea52a2a7df50cc0058c76c58d73f5bb041d9fb9f3c3cda9bee0c0920079ce4f1ef8698ced664ce2e2b3b86027ae2b3bcbbae5bf7ea3693d9429cf94938dd3a2763d3f53937c46763ffee6579d018358bc69182b1c7158a09b18352ea618c11c45f07fe97cb65faca535f43237879ae3e0a31efd14679daf8fd2ce25eb8f32218fa20afc586a98fd908d3fd804cabbf56dcae272328011b252dfd83e5f0a5fdebc6acb04c5540255e1322de5fce9db5aa4cdccd74dde8990ae51cefd6c1edc1879971d3efb1f94dc41b2b23e9c9d89415b46189914a229b2f3e8b05ff78c68711385a00e9534dae6f79d15842aaec575e4ee0f098028bc74016cd3f8e93c6a0cb21a0b574ee63e367343ca9de28003d76e02d0ee2b8d622cfa3615d3628fd02499eb7bd8c1aa1f34edd9c2d059c6a7c7c978a5e4f60801e03e17c3a09793c5217f310a30db1965b8e328893cef20f4a899aa8d9fa28f7fe0a733813ed7466046776a874273ecfb57158483f4a588ad4f232adec5ba4ea651822780596de09fd54b1717bf04130619979a0e3d12ab7c35d64afb8099a1d21bc952653742f50c8e1c244d10374329cedd27fbefd37815a9b3112a4cb2fc587c4ebda381b2b01fced45cdf0b9ff8ca7d10b65ce42e728de183a82e369486a2e3345664e70674a5dac174d6616d90de8e472b62759df057119875483cfbfb103041751747f9cd12bb31e91caf79eb2db1168026a4707dc618f30", + "e45eef9561f3acb3672b4f38570256e8cc4d877e2998e72b022e33de8fc20f7320fe0882f2b53559e084923786e8205336a7d15f3fb88a41e7bd20767f2feaa02df2221fa7577988db0bbf61f3dfb429868688c53e130725d0279c505686f083", + "475a44cde0cc931edf9a44b0c1e0001766f09ade023dfe6b59a6af800e549b55", + "7812a320691ca8442767a51a", + "eaa577bd67fe79ce4586f43355c94528e306c1678946e4f7a907d2a8ee7f4281270502522119a8b09b6f05d864921cb515fddf6a1000fc2f67b52d0627998591e2acf5b6faf71c278e5754b2703662ce670dd049da8d6e280c2b84d6a9b29ce28980563c40e03381a49c54608b72faec9b272ef05cfa41957d9eaf3e944b22610c725d8efea90aaac6e782848d368ffc08784d7fe37ea1effbbbb34952def29fc511fb10a1282bb0b6334328e4d00529a44de3259b522553a07d524dc75f431cc9670127c15670c0df419826617cfb5ebdd8788d5f528a9eb1e61324eac5c1746f339aae2e2e2fae598642a389da671482128acf2d69814258d83de98f186468136868b729aa5f0874fef2ff2575a1f87439d64e049e4d0637e9c99ecb7275417af654541306615f30b75a6caaa563e4790dfb28fe9f0e7881ea2d885eefdba99efa7f878925ce7d33e86d888154a1b03189429fe20af8fa3a68d65ced9b690a709031121425cfcd7e1890ed9614f9dc3ecbd0e38c6c84e453e3204978ddc1ef8d7fc6cae28c61a472d8e089e23209f0c36e80c994af771e6505e72ba90e5543f6bad6dcd31fdd468b13533a0254e44797825764ac1f63747d8d6ca019ff16fa732068ee94be382c46b168050ba725379df31a98ab81ec8eb266a3c3f2e1cd95e5f12b3bc79b8b435e4d94098c6184631cec57e9d8913458889223a2a4541f34d2f9df380f34c3e541fc587f0a6cf08c82e99476060eb84709a292f4c7a8551bda3a9eb6735787dbb9d7f1e83937c2e0e49f2cf6e0ab0ad84c40fbafc3c7e61886a8629bea816972fa0afd0f617b6340b1af19e341875e97565c8eb0b25fcf68696ee674d2abdc29396bfd0f282543d2b72a239c6470f76d3b5bff6d1d064e6e2d06f9deef2aae8a259c034373efc820f9a2fdbce36cc27f35dd6386de3b49509d0c305757257f8674d958c580a09e768c0f6ef237416fd53c31511badb2e7cdfee636508482f01899e72052b46b5d844799cf94708520178cfec2b61c8980fa7dfaad8915b0b75ce6eb57ed4a01edcb4a35c1dfcdf8d60f3191bbcdfd522a0e321ea41c2cd87a303522d0f98b82dcbe53232ecbf0e2528de7e1be75569584bf2ec574687fde67ffe9827ebbe78f2e5bc4fb368f3c9b0f588c97f7a139bd82fe86eb605b8e29cee75d07b510da1b24fd62cd2fb366f1621e7dbf268b15937f7f7ea4acf6e615775a32c90733769996dd2c5aebe08ecba73e0bc4781d33971992b2764c1b08aa972859cb61b003406479423254a01ea85a348ef249d408157cc0962d1e24cd9c426e6e6a3784dec6fe935be1f6730b01e8683d97e21d8774b2e2655f85db7149e930a44524d4f86004cd687d8a528b6ceadd890707458cab62809110ee28f61a7277ed79dc41e573fd4a59fabf15393ed4c21bf4d5138ac843e80bbf5e1c39ac2d7f2147f35996eb51a9e835db63faaa196b8aef1823ad72523fbfcb35b5560582a48a25ab770e7528e4b3ef291e6f62f5fac916e2162b3b56304287e46839858daf322b0de083d1691d6bda44d66d085ef0d0ad364eebacdd0a43a4456035e58910d0b2dacce45b1c0beabc784f3620a3e4390c345df6117b86d4fc386523b7ceeaecc21233a2865ec6b63bffba6689fb3323402119db8f0665a4730b2e26ca6411db04f1bcc78ce6272159ed2665a286f1ad7758d6d90090a6fd320e697dafbdfef575077e282b825bd64a4dbcf92d1fc0c6f795154e8466ee4b318f2d44b6f81c52523ab68ff8367e01090c2623e00b4008e784049df873a35c29e0abcfae7acbf27236adba0b913d19a15b4af4996669aba4c656c317084347ca962ac8df15cd2f849f522016eb92de4de62944b917d88200ef9aa2def0d13e5f4ae09d2eb4a2d0800af1d704cb01975f6d59768a2b50e39e78116147fd6dcdfbc08354c1b4033bf6772fa127856a4072556a9f07bd7516d01ef41bcb519005c0a3b2a04400427ec033f1b52fe5fdc1aed8e2521fd0fff663e203defc39d7546281a98a502b8a470af16cc62a6581c9985d7ca516864b799fcc55a803ce80711484f6b81591d2402bb1499c95dfb1dee9846679c22853be87c84b4547138dc4fd46b4e79ad12773a5392540a595954112f0cb1d9be4d4eb3aaa4286b6c01520558d58587d9d7f0df3a0282011ce01c9c17111d10ad61b3675b1826c1ad37fc562bdde951b43f890555d6f74ac4fbdb9abbe8bc1e80bb6d52c13de8960a3ff8f65201265e82981dbe39e0d65cf3f1fb6c56e11f9786210383d0150a5e0cbbdb52ca8b2bc45c12fb572657380df369082685b3de9847d5014beaeef815d63e203cc911061eb53d89a312d187f9f02760bfa71083fb643f5d8c324c410070b7ebde250a185e7359837899bb1568a43fa3418f39c12feb03b148b924bfb98b99352b1fbad3f07ac8e4302f85d1fe9ee4bf7507972670ff8beca105cdeb037f1cc4f944d6ca869d0281653de5ee93a7362420fdba8b01a375ff08fe27873655953ec1c00f53613c6ab8b244e2fc1b6babdca5311428d06f57aa4882dc870165deff75ba877dd2a04d1799f26ebfac97a1be53a83ab77dbc2cd4aa45bd779f61b1283eae1a1866ec8a9c150dd0a4deceb2ddea1bc0f4206cd435600a8f190b999b952337d9eb2bdeb3aba2cb2e7000319056629dc1f00901f0880278509417223a3ea0919fcdcf12bff0771c7cc725bdca292068478ccb2e1f35ae8964e0601789a73e7e7c1769ba53f865910fc3d0085c922d7f7849d27b6e7503d521371351f9d7dfd5afc5df0effdf6ac49617fa228501ad72154a73e07781dc4b07765dbfa721d95cf1dc41e161cbd34fc7883a25e3ba6b03e504b2c3b98c8b12ff629b965c2aefc26d74faff7f784baf09c3fc38c487a9d1f5818261162f97e9dff70cf42eb5dbcd7bebb66d68f26d917ddf2a3efc0db1e3372b170b4cd18da507e44c467943f73648dba74db1053b53f989e481c3054bac22c6342fca2c26d30a859a1312e9c353bf921f68136de2b1589747bc765153927c31ebe749dcdff98b5da84c4b66085451b4c87fe1ba2142f98636bcb268c33f7b8c2b96a6525298814578377aa189dd73d5bb27ec5cd2110d8751c18a3110273df2595d4c3a00809bdeda70d86c4a8169b7010c9cdeabfbc3dd3266518226d0ade9bcc4825f18198c854de329fb8fe456dd3bf35d89bd9d2384f3f3282f6872351a18a2f852bf173ea4426de6d01b3ef4b4685aa82df7dc45b99617a8b8c8a0c65a2237b3eaae8267e1f6c453f485432529d973924a080f6a1cc2cc18f804f53209383ce3601ad9361afc331707be1c88b4370404cb7fe0bc538df04adc5c8d9ced94b4c474b19619a53dca3fddb434cac09ce10c0293fea04e8e1b19fd3ff3d174baa988d91cb604fadc59ac0b61f4f87bfd07eee20f7f3ffd96766dd6f3555cd48da7ecd71d2fef34ab082678bfc4dd007669b3fc7a937a5a46269baa7e4e4e43eff1b2b847ea70b6c6c23905d6fb2fbccd944251087ac00c35c2eedba30641797d36ef9d3cb1afc0e3e8930f5b605a847ee77106995bd44047294d04350194369c5a7bf246d1108e1d18d9a638be0c051f695ce86579db613cd8922e86c683c91800b9a34fe6339e0dd79472daa662f78f04f0151a3acd18f11faa4e1216222843b521fb998c8490ab8bab27fde36395b456501307d07b484b453b189fa339282a634af30fea99c9af8f877e61871fe743238b2cee6cb69dbd17d574b5106ebe4b0fde4ef42fab469a5ba7d62c23b67d857f1af6ac981c320db70cdbb6be41bbca60bb7a159ee1c85cb82e0a220064359c06c660b75de6b49839eea68c80283b75d9d627aa4500c0c0f21edafe4a2cf7ee079d5310479da06ba58b142614fe69cb236c51447d63db31cdff91485b46325c26d40dc6d608d46a5e2fb01df06064a022ddf6d5cce0147d5b2a5aba5f9fadc5e778010a924e00a13e21daeea2cd330f45536ef4f42c2e77be00bb53b3f9a93d3eb327dbf30baccee5d26849cfad654ff3ef2b035b78dd3ef42de3302e5514551a968a205b823dffb040ac9452ae3efb43219b02436d0761ca11470405510e534d56caeaacc40eaf9c47a39475adad266f5ddc813e71223800dd46fa7c02b078353f870049806ed7ba57b40b7c3c6272296667500c4b97dd2d7026698b6bc4985bc01be99e0097013a2632c71740888ffaf902a02bf644b38cf9a42528880d9dd142de967cc2ad3e1f1737f0cb8dc5c59c252496e8cfe4e53c82f4a28d9ba2bfa62b6415ba3e5e09040d7f3e3abfeba53e46575e8817ac5eca806ec8a84c7cf77c9fa86c9dd2940f5b96b25a92d4a8f894d4717c8f80a62a35a51d8511f1e822fd79e6fc27cc3f3097d9e3272447de6f223971657ded9e660ee4f8836359742ce7616fd0ca2de6656c71b212b34b8edc71ff36bc84ac4af58eb1adcba4b2c0cb31468dbd2c2b7ee6752981ee1d152c4e4a9b25b2ce87796820def34b662381806d2e4fc77f0b69d7a87de43d94d62a6a6526a7f8c588392890e96f9c51bb58b4f438eb5d197477ce9b160d1c898c89ab408b3c1d648be93b531a5bb4988592c5a8999ae3acbe586d947fe6dd507cddb92dff4974ae17ab99aad5aec9d07b96bd29489876f51afa67570e86b69321d9e565d86001514638403f86666dbf93f18e0a62bf65db333bb85a3ae12d8411aa3c2a423a29bacbbfeebb8a5bafd90436bfded16f992232360211086a3084d9fd1980dd96631820a2cf25c3ac5c19d164cf5ab9a852399491962100ca4fd640146b7ea5460b4fb9e46bf8d23d508a4eeb8a3e9fad8249ece3648c2ec7705a7414eb8e8d602549204cb437f589161fe40de1447d14efa4d738b775d0333526c845cef5ffcbaf5c957df1d8022176b56eeb198e7ad2dfc3d7ea46b125ed432cd04c77efc011a2dad8573345080d7c3cdf5cc160fbc86c4ee1959ee1b8258056b0f3d9343c22dbb2f7858c5f162f08cffdca1acc866aa68e5f1c00b74f66544e8a61e429335adf6f73e32fa87e48e1adf15bb6c7aeacc93713dbc31cdccc9b0e52f922842679494039c395cc1d95eb97ae4df3bb8aba9a2584d97a236f87cb22f00c0a078b045044a5c456e22b2b94a76a559de2672c880660f9785b76bcc2aaed780e05212415c6e73880ca110654ed155a1004af45d5f15ae8e5bfd4817440c5d3d5589eea2c6c344ca0d85d91460638b37f877ea4cbbed35ea75678ef2335a5922cc8541987cc256c8f58045028d33a1c4899cc32265c619ac782ff998a478996be6a0c5b102a664831b395a884f18e77885d860d6b236c52a8066d2ced25432bce79a31b23117f405ef4ebdf3517de98d288f8c3baf04b63b6817c46c14b646308e9f97170b7dbbf9d1a36480338d8eb7466df56feb6baef42cba75512954fd7e33961d247b7393726e46c6e94e156d5776a89ad3e288554470ca0bc4cf4d2d2b0c01ae4fcafcb65ccd6ead03df1d4d6577bb", + }, + { + "228eabb5ad8b4ff13b10d13b27372bc2152dff149859ba47d9c89b741d4a5340d8fff5858a4576c55547007d7e2b3f94583ea8f0976237712bd2e5481c3988f5387e7ac2c3f18718388795b7b2d44b0a13f3faaa55311b800301c9203a511572cf8f349280bbabb9424070f415bbfe28aef8d20329ee842cef4d4c299e619b6ef1cf00718aab2accec9ac00155be2903b6fb07dfe98b0bd8d8580176b99ce4aa6be51cf59046c17ce1817d363fa63af5a241d48bcce064a438651af102ff9c6de4b86374fe24f1dfa66e16e51550dbb791af425d8fa601c70c1bb90e1a557bfe0dde730b0364eba9d2018ee751699ee219e13fa8874070935b29a1767e1d748bfbe796fe4b81a71e823605d39fa4b5b885f4610c34d1a090fa4106785e7a035a629958ad1b00cb9d36d171d575268efa1bef064fc0a6dfbae8e532466035a0c2cef96fe9f93b872f0cf804811e927b39818189412868fb104e2d56ae62f77031f0df1ae91aa11826991ca7b8af22f130a47a72cce36ddc319b32dffd294f2e192e490249ea1a6f8437173ce6392d16dda888a98bf685bc91b89b8ee1eabdfb1806fd61f018d1744fe8b03521de4bff86d4a811ca2ecd5be668e9c752a6c26aacc0cc9dd89d112785c25ca6a0a7a5267b4e37457c04a0626c8a29be30ec28ddacf47a84918bab164d07bdedae62132ab04a6f2c4e108eba9ab878caa4a1a7509521d427ad7f3dfa86fae8345dfb5e0d46ce3a94dec84f7880c7422468ea74fe0b4825b8c762b34d5d9b82ba96e0c7dcae01718ccac0044a87476ff031e3ee3c2c13f5f375a841d243c38cd9a354b6525527de1fe7e36a6e2ad95e5bbc4c97e85f8cdcd5341da777e03451838807d5dd2eb4fd15976783c140e21cfc2eb3e58e40c16374de0aecbe3e3d41c64417a472cba18762080a2348ec3f441bf229a932ea0ca7c816938655d0c81b14dfbf86aa600d0c68172fb0046ef51f601ec89309d43ad1eacd583f9d205bb1ff1a37a97b44b5e35be4945f52897eb2a74645b01a7f82054cda44e9fa9f9af9bad1a235155718713bacd08d354f3fdd95858db0040fb551e9f93ae399d5dc53a67e88bcd5a02d104dfd9d824cdd5fe262ed9266fc47b7e640f2c9d9c7a62c6d24b429fa55560aa254a824a0858482e771144d6d5b05539cf71d75bec3a22be75655e1ababec4dff9472a019f6220067374dd49252282e4945a407084633ef9c88d14833bd95335107d36afdf56a642cb739bf0a61ed53a6915baed78e9d74166ebc492b517c7c594fe6564550bb7108f43012551e65fbafc0a9874e46fb64b5b7aee0082a5d617a43b8bf9473309c6761aebc7f13b72ed460b522a6b0875b67353c705f99d1d9dc899870fcc90c632aba1fa9ced6d7a2368dc4dd3d4b38a5807415e00de6b9ea70525a6c1b67d04521efeeefc6c591fc5256d990a1123522864a029430bb7ea00dd80d283fdd6d61cc5b509221e28f73386803d97a38fb0182fd95b3b91353c6eb60ef2b3d5c8c0ab8dc9cd9be2b4cf69450d00e88cb0f0bc9a4be82b71148a37237ceaf945ab94c365625f58171eb15c1bb244a87335550d813d28f241a3296520046e65aff3291555786d7c871ec8a2d10d4b44429041c3cd6ab60f0def742de3d28393c5aca92b150697ac15504ee66d8a2aa01a6c63d7c719d6d4f94af2ed1d8670e3231a0e481095e425e6231c43ad36e3b7a3478f6a61563f5aa13237beb8a891dbb29013c325f7f91c1b055fb83c436fdf8aef49ec457946e6ab7e955427373fd9c743acfd4b9609569b591ec79c7ea7276de103a35a4a8a05c91f59e04689ba1ddd570b18ed046f785d7e4ff9fce7115ac814fe126f781828877208ddfbb2ebc919e6d1f6eb417f38bfbf22ac9633f75e58e560b85d88d0e4fad9b2e68c9ebf9675819d50c30c8982bbbc2f41e02690390bf0e16979b24e648bf15b18800aaef58c3c465f38cfd1e47bf1266c17b69523b7868d2138cb95c4bce0dd3ceb7c2267b868b6e12888d5a489fc0091b295b56a1c328b54fe1119aaf1e6d7dd52fa450b52fbfc8b84c2200ebe209060b655cad288562786673121691809366af37b76567762d1fc24f1fad3128b43c8d10e9b6954b2efcbe40124fc0a5b670dd6dd544e30263a551825282aa06be3817a8eeacf31ca8b25cba011d60b78d3d2462810764e4acb566ff371005f5481c9d36c991527143af2c44cc8cfc59c920bb4a281f2ed4d494d30ba4d900edf59e23be2f763072255cb6f1e8b24ab1d305fbfb2429cff8bda303617c034e71a17230d0e860420dbcf9fea4ab48557e4d50797179496936ec6c97686fe6d9115809e14069244d251d4bc9c8931e47e06ec051e709ba1df526b55d959b37a6f3408833aaac80cfc9cb99915eb7d83e26998f0da2492b986fe0f5047b2cab6e6d33a117df21e6a8ec7f394a3712885dab176a4d6095e5cf75dbd3f0077e5e74b1ff8b902072380cf172562884de852ff5f07c55856224fb3df8eb44764ab9284944b86ab6f176a863cdd0e7ab5616a14692f6cbf41bc63113b27689fc2fb145736aaf2a5b26d2bef3a2a59ef8bb3f3e4d360a4251d0736482e9ed7e189fc48c0973b6649988228c2ac72b23826a61cfa06b11f13c8555be6e433d87e20113eb74c94f0e51719a7b38c59eba300089d06b9bc2a72017668e5aa3153ca4282718f1762642e7c1be1f865cd9b65c6387c8fe496f1e60d5acbb78c2f71cea1f35dc955b1e7d1cdc9ca339765995d9e05dd729cdf58aa2a1451b633c374e5b6c2af1c8486ee4250a875e80e1f359c15130eb1e2575c0c7badb2af61378527fa24347ebb12c10bbb36e3c94619556b2c641d0ebb691b2706cdd667f55b8fff8fb46e3ac72f3682661a4bac2391075ff5145eb07d69d77437adec2d096c1c89208ab3e7a9ea6a0ff4a5bc1846b3683bd7c6ec4520c3c95861a5856b0191e4221c9819c67273c66729728f6035e79c0dae8842df4c0c27ada1ad18b34efcd55b94ef120762e87e8c5afdec80d5788e83f0d1533cdd7aea8f27f33266e007b274f6d48c59bcfad607e8b298be2b17322be88558c60033452826778f167f318b660607bfb2f285cadb385399636acb8f5350d819511b5e7931c5f8483529d3ab3fdb5ae2dde0ada918f1327c6c0dfbbf5ed3c8afef171910dd0169022b3cad5b08084dd5e8eb8ef1ecb17e48bf69f80e3db0ae1cc7b73d94b89696e3c3443ecb4c7ca12568201744d1858d90ff759f2d264d49edf47772bd0e0990c14dcf8c8a4c2dafa44dc6e92f4c66b03bdc4f68f28ca2d0811a433e184cced99a8e5614ca83c46ec18b47e0c7ae91037ae06c6d6d0f3dee19711c21cddafb5869416d23c5219296acda7774891877f3f8d46155d39f43ed10500ede3afa26943b83b800b54a9752250ec6ae173e920002f365d692a9b3a2f9b27124ac97b8e81b70e8c0bb7022d07ee97e962810962b03fc019695b5399f77aab414327cfc5dedd51e99453179c42ae85a42f8e06e0cec6f937224dd019c77c5a0ba32ad08107216a9c758138b730bd5b5f4b613f192839514a8621634d9dbd5840e728c1ef4a2c8bbfadc376dd80d13dcb327ce55ab536a43b570789f5c5e135ac0af79b54232613d0e989ae695aeb358c671ae71d508b58a793e19c58c3d204cdc9a021ecc634bcb0bd6a1917554ea3bd688adab8163260a914fc01d7ce05a497a5c5836cf9401cb6aa35cd008470bdecfb97a511c905badd01bbb4d0c05867661debd2162beeccd52399d5a70a929405293916f33ed0d03f8b850f4bdd77b1fb6283118d71de629577383c81cad086f4099ce7476cb787f73c96431a0df4156f7826fce9045f7e7c97bbfd618b845595203cdc8df4638430fac74a07bc5f773486731d8ad29c06695704cbe2882077a85d543551b7ba81b181ccb93d2b3071b1a38f3c762b42df8246aa64cecbdc772830ac79e766fa99e8c65225f28297a32526df9b51227bd368253737f013ae18435a912bc18cc4a95216ce449865e8bd8bc759dce9d4af52f9e789eafa37023e91946952202dfb7243cab7db2f9f98bb66f19750c547a2bf2e2ba92862ab66f33fcf465ffc41d23f0b891a3b28b3f68ea48dde6ad4802902abd22b0d7d9101bd61471c5d88ee9d9477b7cf9f6ac52e0f520c79278da22938745446f1e647ae478ecba416b941aa31f979d0633efe72910bebb8988de1d0013616f31c5da163eb6c07022649ac57422627a5642618f53103adc9918f9992c5b085e10d2744f9934bfbb994a710d6cd387c325e94278f97d5582864f1bb29a1400aaf674ea8fb99a3b42e4ac50418fd804a5b1471eaac4642d4aa338fd3d5d0dd84372b2c32c5cfe7f319acf731a9787b048cedee3833300dde639cb1386c8fbca4bae8d67fb7bd72d1696a0212e27e166e6b04a79e34b47c98502ed0bdbd8d61777537f72df569fe5ed30071b57e8724e98ccb88c07f0458cf32298cefb6ed672b255e581ac756789b57e950d57174bffd3f47bdbe4b168e7e3f1a6df508d4202d327947facfbf9526a9e5fc1a5abb179902d4584deae6cb2900391e080d3f3540b87c3a873ccfaee5b4aaff0e6516a867ea00b4d5e680fee6b91defc65c240614a1409bdd0f49c2c4f3c1d258d77abfc17a749660f49547adb236730e5a7a22fbbabdd8ca079a8efa5b605332db12f455868ab67a1ffd27d1339bdf8d150189cfbf6199c6fc27c05788138a63267eb8ac086e27286b4ef99ee9d92cfedab5ce9916675f128f206a1733f47a597232067aa12da20c7b9cab6575d7634f8c31e9a29948b528681f3f9c13b9f585ebfbff8c28a299a43e4409b31b6c02a79eeb493734fe5f9c1d9e3830572eb54229b5cf525768f695acff48c76b4a6e0936b7406ab69f06d33d3f04946db9d7966ea6e8c50ede5abadda28149edef5223a6938d5c32933070d234043feddbd65c81be218f9d7c497a1ecac30bb9162e60a9bbbcdb4fec4b212050610e2b376aadf58b3c9207860d2650d0310ae6606a8f1b266b6a13b68c3306ed413224abdf19371bac3ea1b964f28996fc70f666ff118c6a7c9f2108d327f5145919c03832f754de35f5979ae72130e39126499037d6fbb3751cbb4843b05d9dc91dd5fc1429da491f72e3069313ea243933b47109af247fcbe0c70f9024ac5a41815655ab309fcaa282d03596ba59cfee0e40f7bd657689453e98d562442fa4c585f970b6983a581b0b8eb1c5e780b3f5c1abb326213c6b5fd440c2187066ddf55f4eabf88804139392c45979440c6f05b7222bd95e963832d7fa4a4760273cc075e8b8feeccb917e8feaf7d3f766d9ae880487e69bc01872ba62b91b8af5dbffdd93fdc95e8f47ed793fc070a5991f2e9ea61439662dab218f643c1959171937aa160008a548f51f87b58f2c4fae5aed556f26bb9cd1dc2b3518458e2f5ec5d974c6e11a0ed639958cc8c1db771cc8cc8bee8727bf6452f47c9782acf548856a0e67841c3dbdb1c98572a4fc8e6cc8195a504019b4930d302a90dc20d8628ae6c90e0206cbb3d05025744db4e115cd3b650e5519a1624acbf226ebca8875b05183b2584e65289f8b9cec3f7d010cb9671a0e80bb70ca8763f1722d79e8decb6b9023baf64b5981e745c06546cc1e", + "ade72c2ea29cf829ffe99c2d63840b2eef9b51a9919c02128347d2e88e9f063b86326928cf6252ce4beefbae7206dc61a22d0b33c90d464d551835e3b73c1e3d6e88663deab80c35a607e4180ec079b0ee84e3b7922904e7423acaf976e837", + "43348cf32211d7daa300de8a4218543c8e3c7373ad10950765c39760f80b733c", + "e4709d225a552e90fb357413", + "562050bfb40451f27b1181c389508550a0f46b53d14ca73143da9dae3d3d2b466e9618db39e3219675d2b6eadded7dd9c741d7c9bf3c5619a521189607acbcf6b3964d469d966fa134444aa06d80749c873f0f976e0c5efc5be8d00a2729f03eda6a7b8630575df8b3a19388ff88daf0d00bb3e7c35a525ded90a4511ce815fe6c8904406cf72d7bfa14ca533566f7b54268835285c5402e22a63f98b5d90c86dae0a76d65eacc1ba85b3f5a1499d5f3432dd5455fab9e8bfbd266e99283c2bddf9b556410956b2f061603d1fc91194766f90da841699ba7da3d53ed5abdd8e98034f8fe734446d92b458a731aa4c578552ec1ac5d1baaccc4153a67b48a290602d5f955d61a08436b27cfb0786a80afef76e1266310a42d90feeb3bcc40ae5c4506432dcc92f7e5758ceaf277255401f5c5f4b10df93a249e38edd9effe7bacdf7fecc451d3b2cea77c9bab0403450c41929775b8c0ace46f6928f4d9cf3adf86832d298ea32b236d3201464e2ff506ef01da0e1e389e26e2b3ddc553b369b48d1aa5dd43edd5cab065e276aeff72a4c43206063fc7eea3bcc783ba2221f5b615a7a43a75cecda6bca5aa159e9208bf66af61e2e465c2daee630c4c62077ea6ef0e8b4b4e272d4e93a5f5284f9da463e1a60f815a8a31698ecdc09dff2b62f00e37aea5fd4b07a110cef27e12466c1814d3b10017cb9b8e12f2f38f10cbe31296de2570d5662b16639fcdc05db81e0d48178d055ef873501148d00903ec771400fa4873c5579dc3265028f531538f6dab1e5607a15c8b90cbfa4835107cba6f453bbdc71d08c7e423f58b44be38a9c8a610469f2551ee6177edf639cde35fe8e02f76b7ed106d691a876a4fda3b42d8ace3e0d3d4e026206c5d7d4d56fdda9dcd30fd7b74217fab3c617903f1aeffb8363443ed128af94c391810e327704d6f655e57dece97658d41e074029823850ddf7c5937af41c64465046d8544bba65c691ac69121bd272107f7eef8cfdb6a25da5da16d1033cede09129d51f6abfe63905a6fba9a64d7832fa35825447150595a60163af848eea878fb31a5fb97b1859efbfcc8586eebce8cfe64386461a9b88aa5efc1db43c64dfd5d4a45aa74803fd178f9e16a3f59acfb6e13a564d645cedd73890d0a82fb6dffeef527694a7cf2a89aed9750c3675a67505bff77de8d046087bd39a85c90aedb085e99baf04c7e3bf92e350b332da1b8af85550a00d68904ca426da61add864496d6ff442bb0b848e9aa463bb0c2085cff1a83a47d6f702bd184cfb5c139752754c8978d27b58d364bd88722b9097ee3a6ae28eabb14ca7c31e40461101e92448dbbc63b55cfe56efd078d0058c5e6146c73bcd949c4b3ec9f881b9a5f7b41ca83301261e0c674f2d35d96761baa00ce0675c082bf73dc52dc726a3e605067569a372d2bb47fc8fe1e74f00078ce6f352a6d9d97fd2834670ba3a45aa6751eafc7ed6694e1e07542860c8ea516f296ee901a3ee16b00b40419c74bf6db12c7230325e85a918f412bc2f6469c1a13a5aa77f028e327749efd05b91053f49d9f1edf49aa552c58c68257233a168db60ac55b4086ddaea275b078869cda7b69493c4b371b4e9c8361357a7ac7d3d3bbb464c960addfa8df2b208b21b090d540c440241598212d33273203d484e0930e22469c2a8e866579a4a2b3db8f8344dbf8baa1b97be0c4d976f6aaf14cc09ec52630139b894b2b6f4dad3a205a7b286253f1522b1d6e43bfa37beaf06f831c6f0945cefb2593b9b298da13b0d910582086c5d7e256ed4067bfb476dbe01bcddb437d46ba716d6ace2ff9912c8e460ad33ab3d8f97b7b08dd4ba9e01968d1949ff85b4b9d5b8da291fc0f90ab1eab1d246f67d76092b7a37528ceb388dd76f8a8f0aabb7490f02a2c8bc6498cb26350d859c466dd611bf0ceb81a8b7899c67742c22697ccee21c4963acb003d15c1a2078112bab05595917584e417db3872a0ff0a29138bbca7314449b19827525340370d7e48fdf9f7c6b4a280e78d00775a291081a5e78e7a00ff915015dd5af5f0a45690baba8b1b503bf85f326c23136f4424be4a559aed03fbc81400ac27a33dadb2155d1704950d98043dcd86df1eee78f3f266c4d14deb8126708f74b59aa15e8b497c6a52924a473f999aaf0abd3d148fee8503a1568efec7bfb0bd463402f563e4019cc9c9e1eb498aa54dcb659f43b86df0a34de4e51ec558bbbade3d69511d3fea2baf44f67e85ada7398d7f72ecadcd9e981f82b0743ed74bd33088ba4cbc85b0c99dc5382c599706dd2d51aa9f470c25a98e7e8248dec216a155495630662bf6ba0b7a4baa2cdad30e9ce3e1a65e3c23d69d5f946606ee8504dd70830aa5a8ddd84f10e064695469727d2efeb46186c9d3b7a170057636f05b9ec4c2de7d935fba504a1e7eddf7a5a95226b253b0b9eccec976ca3c57599850db40c27a51ae755c1f30d392467cb74e5c8235861d11d0f8461b0e1d84f5718d64ea92da62f4de184a6499dba473e82b3d197305de0e494f118a263237c7b4c0652327977edb427ccded35552c00a5804b9557ccf2bca2484d9da2c33f6c1bbf2c666ea10b4644a21e3905e5c4eb417ac3572e783428d23dd7222e75c356b99e8183d033034e29e618c90e66ec2f1e9fca47d82c1cffda8ad14c96045159d9437e91ecef41d24cff89009ff57e18c1a422860aa9cd31dd2a85b07422c72a5decc614a9742e62a4988f394421b6918e51c2412d749bb53b1e8fed7b2ef0873ffe14fa77bc366bbd5fa1432be465f5e25266c6c12b55df1f19b1a491acfc5c9019f122c422243d751d8eaa8ff721397915171556e999b34425f7d3ad6f6c3323b8133b4618c65ac16cb5941edc979472734bdccafc73c08939c0b1e306ae3015faa9cfa09ed6560269a1dc54c2c046a12a178144f4381f7b6fd3fd2d28f778d444d9f7a0dae00ea96c6969b78ef326a962d23275f1518f0e6a2469440612f3710b53538fe99a6179471be8c5b2d682ab3e9a5126e41ed6de000cd9e92fec3974e0f4cb2d2245d03d6ee80d6a793b16efa829d75c796f34d4e918250f457703559bb48ff78f0896be1bda403b7f1fd6a319d68478ff70d88238f2b8afc7d20e51757bb9db3bffb35a8040fc0db913c4f03d48619af7fd24cb8986b3e139058be3cc253b3de9b3bb3f8dab7b8818638279b2e6a0c29cfe16fa7250d3c74362ffa07e2977cf562140fe28afba8f61d81f7c73bdd4a2faddb00752bb049d0a57d05c6475c7387e6716ee31974169930c9fd830cef138659cf56f2212de185186c3d683fc6b7fd36e7821f69d0de041a569765066dc4a1934870a7b80f174e8f9e484942e62404a42b21658467873865ef94fc262c231527f39e82dfec91215947b99567daf75c6a28073ee4e67d4307e4b35b46f85433abd9812f35438b34598ff3b6dbd60b60747ad64565391df45ac80b272d0141702ab807fa27c6a6ba2f42c3facfae0c773940cb2943bb1353b41298258bc0d07542b69483e17ab9ce709e4160b80a0968dae9af8fc7c0324c753ca4a11a6df32dfa79a87b445c988154bb3c503e6884cf6d8f5e062a16b4ff230fbda109a6127d35e3bf2b29bfd3b18ba275af773b1981d603300035e046ef023d51874aa105d136bfcc9c7323bd0513a6b2b397ffea71afb7a8d4695411d86164917099eef504f6cff3c5cefb88f23f56c4ae3e2b09a3f353fa55630f45f06c29e8912e8c3c4f493f25eda781680585580595bba43dca9cfd400d9eaf5081d2c6697da59e012dfd0b875336b88fe16609c2e9876737b9afb868ed52417ed0c6b359d582d585ff82d98edd4e63c6b65cf43d4f69eee2af4819157b8a433966953862d1ff2c6d0cba382644a1b0033ddb7be3d1fa9a204042d7b821b293bd659dca980c108ad1db740800b9bd2fc1a163f9b4066f7604f160a7910bd947cb48ce6c81e680fc6571ff0cd12a3ded9c8cd560970ca5cb480a70a8322d5072edcd257604eba8dcf55f9ec97ea2b14fdcc72fbf615131836fb14e42b8d7171d0a06d2fb3caec2e0759e86b0d8f21e312d9211ed7fe0b48669934ffb892baf1db9aa457c07820723e5446420334bf6479f2099e01ef8adf273adfdd9ed0b741931284515d69c211cc2efead8339e450b13be71b35c36c1f00c2b8ed0cfa9792e422912e14b5b1455ef6abdbbec0035480c6cb69d21321d12ee19d528dd48f43b142cf0502eae5304ce52b7fb827552db9ab885b93e83d56a33346135aef11b7e48efca7cd52e2499a7edab0bd0562862187ff4599b2446bff11c37181092fbb05d0e05220ca6bc37f529d6599e8c29acb9f25616c27df291d4fb07430188e6470df7002f73cfe5fe6907dab0b4f90bb58130fe90241c29c6063a22c9f45d032b282eb92c93736692bd5cbde2a17552e942b595b08e6ba0c91a03b9079e9117fbba8f26ce6c5d0500c69bb6e22e3562a50baece49109c2d42b6714250665afd0f0a7e951182012f21aef4b917cd434d9ca22661437608e32666497516be34652500def6c28ef8f56f2273de5416142ce9606faf7df92ab779ed6aa74cb99bb1bfe758ffd344e1d31f479807326d1a7b98f6811e275545d69198707b0fbf027dc6a5e4815d62ef191535569a452c27c4e25ecf139df949d70dd5935bddc04f33b2f0bcf5073c51fc51c15067963a20569b5659f0e7413b347d6d5ee38a92b7e6e656c199149f07ebafe5281db6b1b2ecd9e0384b6f5a8e27ecea9a0249c61b16564964054f5f9621471a98de132e102f518c1419829e2ae2c8c5fffd1270f0a0b33a383437b0034783d50bce8bd7420c059d16364eecbd55b6ac8df8a70382734d8127f4f5895cc9e508b13c000ea053ab59b87ee639745418ffc566ceebad37a17b842d24d3423ac3f086142c622eceaadc4106f8c90c5dae1f52f407fa0bf1e6bf9385cbcbf3b61006ea3b1e66b693ce704577ca9598587f41e05d36d1de424e0e51290a5f2e2f99f1960c0253a046a49b19eef249ca2dda2af1e8dd78411088eff1e9c23c31bd20abd4fc9e7eab19500827d202f76270fe9f90e95309516343e0fca48e5a12182e91c78ebf2cdd4644629afdc90bbccb77546cd765135910ba1cd8a3e3c00fa77e585865e898bfecd06c01a0a4d7be483801099c61941c4967154af5620b171b426cf229df59d2944ba50754140c3f305c16956953be376fe6e7cf31a2e9c276bb09cc24c4b86b2b26f039b0d8511853adcb7feb8502e7641a34e3242bf2c538006bb1983345ec3cacbf219ef10efc1681d52e6e1b1c60bb556b6b8a63d1d1f6869077841d1b816f3165a35833e33d39a8c6e62a2f7c482c395768fc6a0e3cbfc7a1a6d64da53adad66c8016f76eaa73df1b8ef83012ecbe75c92a8e39b48169433f951a539b28a034d5fdd00639a5e3e17ef14dafe869064d130c90c68be4d5ceddabed1bc94e97e2cdf7313f780cd6e175a9e3eba3eaed896fe464073fcf07ae7b5bd41d58c3160f66ac95a76fdaa7a8cbaebb304fe3c8f03cef927a1182ac2281c3b32378813b24bb99e42cb0774331ad78b74d46b8ce48bbf4ef8431a82d4240edfd61b910c38570ba0bfbd4a41665117e6d5f5a97908462e62d0b76160d06aa56cc6e17aaf4607ba8263648f2a0077e306c25486f5f39a75", + }, + { + "2f6210063cb3071b3d49339185c2cef8357b08ca826d8d1acd852540c16540f1c850f70404fe1f414853d3cd15a1c64a1cce149e3ca1b80926de4ae8438ad90bdad010decf2f201782f3e49794aae1b079f54eb59607bebde508a528927e346d4e444b1d736b34f65e198df2c36fa23c64f1f1fbf8b0b8ddb85d054bdb39b8297d0347f16f7be7cd9474c058e36294485386434b36fb28ee582e393367f15ce5f5a3d6641fbd31b331f10b1554a05da726a0f35c9b1b4af3498426b17582966a266cce452900f85af1046f45a4ccedca6ce02607fb70fa45f420f66aa38cd4c9f8a30e21a3067b940aebdaaeb7c77824a79e2ba20f26e70346dd6de96942b261e5c08288c7fe1cd1e9f680a0bdf8c46497f007a616eea95ccc17463559f8973eb919c68017e25100d9d1a196ca65fb615502076bf0b0c8bcc70ef22006895ebfa2243fba0791bae0625b762cc1718d1673948264454a200c58122d5e9b8b1e3eb05df8b7eeb297510e0d7dcf7f0be5f29f6756e4b177f109891e6825a9866359e35b10d20da7231bb5a0ea34abd0264b377d2fe9f420f27d3e5aa2e8e00541c46052966ef9b989ae5974e2054409507b867f647aa057f7deb19ac6929f0856005aec6e53a5f702fe6be403afed532b73d38fed73e6e551987f182a1e20801e7a6c8ccd1184cf0fefb4139fa166ca15395902ac40e7fed8661602853682a3b0ee307dffb44d0ea3012142a2880cb7c166ba6ea6a16c7e0882808db8023068f060e5ef1432fdb8331ffad6a7078d686d47d613e94291f1c4117e7c13aee4030fcaf223fcefdb300ed606b5dd931e4adbf45dc437eeb5fbff337812e15c15f026071423f6ef5305c559baa2ecd8ecc7cd498b043740ff3673774855d45d45fa64591d5b4970600ec91ab1b6f39d7dc0e709c41e49c355bd3b9d120ffb57095fb127bafa971a086135b917285794e83e9dac5ce76fb1a4aa4fb6b94a0dc3a9beea64b8817ec1e2b37af9dbd18ec30f2b6f6c12df1db6896c6c43b67a066038f0c4f17142b254f62c4dd1fedb950d07047919e397d06d033cb0bab6b61aefa6dee01720926b16beb9e8bc947dca9b8143b565da85d2dec182987838b267de9047f5b0d961c7971aaf54ae2c1e4aad61ff123c84e41a4566b2bd9e64247cf46b72a444d36bdced1a309b464ee5f4afe406eb68eb05ae51b76bf01b906c0ffbdeb440b11f1c9e3a4c3a809a1f7449047b356c663a1ab7f286a70d16141d11f2d151a4f06d422ab97cab539c1f9da09ad20c000c27b8fead5f0cc37329d466fa260aea934c154dc9c0a065df3d057a0f117a1c38321ae59226a8054f7d6b49a3753436c249838b0924f0e861f5627106dd8d3f0fa724a1cecda71d4a1267ed889b234ae4a7d5edcbc5d52cba389dc0152aff24d224c6a0f16dbd3b7f242807bf4b51a3f22690bdeb66eaa59e8766b3b265d784899d247a0ae1b58a06dd91c529e3691b09f9d9f55fc39afd4a00b0fc668880ef25a46a30861fba8cfd4b51262eba4138b41a2d13ddc71128c8c1242e49a51d6f49879fcfa7595ba4a4adcad3670b0b1b26382f03ff402bc70150f54bf513ba3e9a590e41b269e55616af297ebb3499e16cc8e46c0810330a602955553c0f93d668a1181a0bfd7021ad9a9f68ce39493b012da70a3dda149d0369f23f788616e0272efa322b6a54d804f340d32c890e2eb7b538f48f4c9293b584d22d0ae80d321607644271b81a76ac5b49d8e457069b0c3e909b8a222e3fa6016cb1e979e300804742f2005c68acb7b1849c088b3714c9c7af54e9de9390df0041c87924c8fa6b0aec6b6754171e059cba0d27f221f0b9d044a3aed8338dd8745651981e4b0329376f908b86ae9022699d495bbe3a148f7eb73d56eacb2e5e2180f63fcbfa680369f88eefa71f1210bc5b6b7b957f0a1437476a2112998033197673e470dbe7d9d476c97b95db8b5136f6cccc75d6e0ac1e4ace30e34e64fcc4d7e135b2c80e863ed701d3b28c25e982f1b5f8c895a4e6df7216c3c07abf8551a0ba0469c88aa7a08c7b5218a03b9b91f0935985373f65aa56286ad0e7ef2288a926f172b098123c136455b3a0f04590839e16bade7b6434a3cf048abe2612684c03dafd9cec39af508e63f07ea881014697bc24122058b5ef5d3fae835216d055f0cdf1dc06a12c95041d13ac9e15f235d11747f16ffce1cc3b8f508da520e395edd471f3759d8879ba9c2558b1188d822fd4739ed0546b0ce3bb9988db7c1dc8518ebbc62c4440e6e0653f917dcc13aca1864b71dbb67dbe7117474c936414e4f3cfab1f13eb05f3504484ce11977ab21ec523f97ba1b7ecb8fe384b634c30561cdb752fc67a2316bfa7e4d03f5f825d24a556a0460d8cfe0cc54a6f117ac52d553a5d1bb48031732716436675c5c3996b1939b127c6b0338bfaa29c7467cac9a127e455a715c9ce2b0c35a0d2f83a3d1273ee39399e6cc4980e610c752bd51652b96bf9cf34c7fa41fc9b13f5d55007483e4082ddac4675baa7822fd257452411b01de0e5e5da26e17539d64a89dd93c71d15a4c95b1a83039cb2d5f3f7fa04a817e48dfcbfb3de34ecb47f7592123caf27e17982fbfc8597af5b8aa6558f4e6c73db69328e47677afbe6ef8df82c3d1f0db6a108b2279f61822908d7b856432c32ac5ec0f3c53befab2a7ca356b9c2636f646b228b0a830d348be4ece2271814d477d4c73c0fb6e83a338b90ec4ef45cb25f7e3d6a014a9e8d2e8a6f55a383291a57f15667a73ea1daca31c7182523ca85a107efa2518d2f7f179ed4ba21fed479ef2be09669817133b2384bd85b155dfc1c4c9e6dd9ceecf06cc1ab8ebf7f07aeaae7441468b5471aed93f248a84f44c59be33274b11f651de010ab9f8fb24d3a99914e0147951c34280e7dd15ec196f9a4c86e55e7d373c7e31e6672d1b3ac6a45fa6c8c9088c0b8963d89f4ff1feea3e85cf9cf2f6c97128afd845bb131c6f62b3282bbba42745080fd457f1d3322058f1bd4be876bd01269546d1a853310b165926c1fd4e07054deb5d3fbe8f6007711d435994005aba95918c3df4cd390b165fcd139dd418ebbf661b6de57b655698a8a02ca8fad73e8c536c7110957c36e5494a831d536eccb97a2a9ef58fe58e2885aad170720ffcc57c7de601ea1cf723577a30aad8fd544317e33897c8b6c04e5191bec391ab990e197f10038c0726d371677e4a54c28d7ca5c6046e7cc4acde565b91f7f72af6109a0614160d3ae97e9257b8f71a4663b00c681e793cbb478306e97b0e04711eae7722b4845dadf2fff5bbe71ff24acffea2ee67df99bf62a098ddae9d4ebd3bc5dff04a2d9e3d1d83e8f493db3f63c9e24231b1dbe1147c79f21b0730c842f6983330c5c17dd34556d7e932074cfbe98f2dab5b0ebfd778a1e28fe2bac2d942f61a08b787ebfcdeb3d600bb130ca4922a4ffd38ffc4a1a1a7218451e45da4da67ad81ef898ece3d54cef877cb9d09f5dcf72eccbbc06e62f1e2b4d64059b0a807329780b155ce1614b68de04387d6108ef4dd3ab54b9da72e528d6eac3e16a360ae3421f3f23808a8b5e8ec3dbefcbca3c9f76905850033d78d9283bba9272c475b4e3b4d7643e62c2cc259ebbf168f890de88e82f8b26a7654ee31fe055e45609c70ae02b4942ee15678cd158f4c9e8d351d102ddf7a942458c6125e1457bea0d86ca38cf0c26e474b2b5cca77eb57ad0867cad7d25efc2b250e79396637ea3e948dbb855029cc9b452955bd04ad5a0d0514d4d773c0f298df7bc235a3ac64383a1fbd8a397a158e936b3ba81895a51daa89f51e4ae7a71a53794ff715a42f4fc3dcc9fd56df7bea4ab782534d3760e7b15605fc4dad16911656983c0ab77bce9445bbeb1537c55fef57a32c8f1404306a0a2ca7b73348cd99d0f9948875531cbb0ef7c036cd201614c33293d746c44140e0e8f82421c5bdf2bf428b249597df949fafdb5ccfe1618323f56a6ab9abab9a84a3beb6696ca918af244d34cc1cd95bbca4a87c860a0fa9ff6a04a905b0338a53f230bd5ee9c60e0e0332ca200c15dca0be5936b858d0a7b2e540b8958432e9767396c55d5cc35b60062580023b5cb2f9a5e9a1feba59a19f9a5a251e9d0e8500955a5df21da95213ced2260a2ed8f3d4b295c36cef750c89cf21985c302d5cc577aab7855409a912dbcf1d0a9800df4aa692a78607a40fd6d5a82305c58fcb3d2a82b27e8c5b91681aae62a2bf31ed55c494dbdc38eba30e83c6044945df76705228eede8470369f2e9941ddcb2f239fb3ff6bfcdb0efb5ec50f981adf0e8b213769ffbbea364b08cf8cd69abbfa2a6fe9865cc48558134a57bb5526b9d047e14a379d246de82d3d64f3c810ede280c768dd8bee25af287d5a8d94045ddbf5981382bc716ad9aedfcd66e0ab496172a24efe80649db8e1e83675fc8451e22c6564d8d6dfb285af7fec802b35f19dd8308c68952a11770247fcfecc4ed0e8a445c17b1573f0b4e3ed350f13269ceb572943fc435563459d5044699f1542335b03be6077af156b8c5a6a9f71078ad820cec4642427a9b187ee1b17036d5a5e6108cee8a7d444342eaec3afa64e77c71d3c2b3153d4e2dbb30df2b66b4d14cc45d3a4eda7e911d697e5763e23ee05311a20626df55549b8533c6ebe79737abf472f9cff08bec590943bdeb819d3f923f45b81f9a0cba1f3f800a261842d10cb4cbdba456c7fe5f0abb4a8b58891d97cfd6b669e2708922f1934809d51a1589e5f12e3bb82c9ac3e7e44e3f6e6cd63d428da624fd2f46eec38ff798a90d228efe50c9b67c63796347c8a2b53478f27605999a03c8e1f18b70e92419f646a7f49670aa12d324751aec17d0208fc296955b3098241189af8172d39a6819415cafb107c1842b369f174d6f37dd31cd728dfd0ab10f93609006342b6e4d6ccbfd1ed2bea2fdf5411442b04b1fe218916f159b20242f80b535b4e0a3024c6eff6a40bd0d3db24e51f5ff9c14e1b4a650ca4170ee70f0a3a5a58349a7d0b7a63af86347351696870b95231f76d8c5c6a20736907726341dcbb76672871d18c2157c094b929fd29d34f5bcaacd82706f89a60000cd341d98eb830b73a12335b69f3e0131ded3ce12c98bbd960d2d0696d40696a13ab43925374498d868cd8f070c9039ea6407fc2d92b9c39fe7c935bbcfcc5c0980952fb7dac79042951f49a1af828b138a87401c4104bc28cdf1e39dbd3fa63dd4d5f5ae9d85f032a43ad353bc5e6746e5a76326ab1f4e79103116ce70bc0b459200f32f85e461291e347dda92e421778b849e37a3ecb0b31ec6818e828dd3148dc74313aba43cc9d8b9a36a9dc4e229488060eb6c109f8ad6201958adec6d3bb3b04e5e558a272d44cb98e18f7a0ad8fa6ac3667a62f150830aa930f6166baac6b9081b44304988fbe1698a5b746255de26bb5988aca90bb6523cad68a7572f615f4aa58f932d8a749615cf0a7724e99de042268ceb31433e6df0a61547d576a6201b36b348c028ded5f7e94d1cd2eafc141088ff42cb3dafbbe4c402b93aa9d955df8d9d9fb57c75ac65c2c837acc44bbd4d4aff1888aed46c73d625ad7fff035e8ca0fe411c73ed8135b6b8e17a039ec74e9de0d64cb442bf8a676c0a666f68f21066332cd921ae0ed766f0516a8e19b82cf98e78add0373737a3419e13aa902310c44feae5fdf8bc64e80dce772686a31f141bcce452041bf545b908ef4a2b000e7beaf378e2afdccbbcaa42e330e5024400cf2852d3444718", + "fd5008477b0855f6f2486fd4f74b9fb4f6e19726c6996bc66893183bd76054d5b05c1c2b64722256ba912ab2dcca66d2abfdf972966438fff7513acfb18ea461eac08c4e32aea4ed3fcf9f1c9905ee4402e7b6984bef974340d212f160b6524b76de99a98d3e96cc0d35e8a63ad7ea3cbea1d40a906c4dd03e5fc19e1513e9", + "390a5e75c9ff4ad38fb6205ff47f209294337c1f25ff54a3c01eee8e1e220257", + "8bf183347ec1ca4bceff3374", + "19fa2641519e21293094e9d767ee1237f9e0715dc57172794867c3bbe2cb647f9b28a8d3f85c0ff557b91bad66f5ea16e0107757b0277fdd3ca05bf47c19bcb92a958a57e8c142a51af29bddb20af84377b6db65f77494e0dc4d2634a776b3a5d777319873bc0dacbbd4b9ebccfae849fa7e9769cdf54660ecca0d5cf4fa5190713726d54d02b3a3f21857125b8a808c0ca2f99d11dc430ed5113ee49ff8f00bcc08f0370dd510e8100e1285659a7b2c7457a6049f2af7786c4db1471ce5bd164e11c7a2165e83e03a135ae2b3429f82f677de044a067e99e0bda2d65a7270d629c00e1d528212d3aeb2896e58ee5145a93ed06a9c00705ad5c5988d3a192304c1d17661d45257c5d16799ef70771964435b12e3b2ee9d5b467c3b1992f45b7a59871b40d8daa1c280747ecb3d170257b91df1f549ce6d66455b5b6f60b7c6e95c92a67e20cffe8599ceb183de53f1dedfe19bae836447af8e053ba419660e0912cad064d6125b9e978e8d0d5f28f8a4e43ca3cdf2d4c0e9a11221d8184e9eb6c90761b0beac82d0d22793279aedb1c7db3632adbee323bc3bbde4801152694831abf5676979af26af7dcbadfba1cad1306b635840cbca76c558b37db0803b4c12befa27d16f21506b07ade4a838d6beba1816eb29ed5e3c4f132a752fc747bd9ba879156e87e6c1584e911da9f796e1fa4a055e427272559e4bd6d0f54b8257100f8a55d84c27b702bb1fe2f995425c85fd48b0a0610db5b39f7a5031407a12dae9f508b21b1378f14952d1beb2dea81d016b2d9b7f1a67b814569b69c0e619adea02a8683242d63a11d3317d060e5b4d85df5ad73127541ba5314715d187990735aa81f438f8b94070ec506ba536274d98b766c1694e54367891a602b99e370425b47a70b819277a249fa429c5bbd0530267f987e6022f25030c30f3baeedc0d13c95f3d5e4b2b87465d179a3a23b9f9e76a42ceea55226ce072f9488392f40621289124d786109d2498e74fb37e2ef466fe8bf3016d96e34204c32978775765aa80461cac48518157f86d59f6187bad4ee62fba1ddbe166b29452f4a59af1e057300c353440644a8e40ae8171ea028be2fa315804abf518847c7945e8228b7766cfdb08d3a3116b59aab8e94b6d8c8c9ef442c2dc7f923bc2cd3e5c663baca7dded976bf191fe36da16948c89c385fe71434f4aa5dd15fe0e925d2459e3b068b9d82a9cc8b8f9786bd9f5fef9baaaf2d67027d9bfd58bb2c58ec7c746b747ab62f9242e4b53ed14d6fc75f5280eca0de23717c97a2293826e19cc8eb47f946421516c349dc4ba49225b91e4e868874bdebd373700df1f3792aaa140597e58b88f90e163397dbad3941705b53d754e3e0c9003df836a7fb8d23f40362fcb5f3947a4281b24240be4ee89aa8e917b194f94345eeca224df0adc15f22a617b6427f29410bc48ea3f92216163785723efc36301d23ed52780c6fd7924bcfaa03269b13582b7c7ea9c0e4a451f38a469fbdb585dcb7c81452da77945ebe27eb26ff6e8c7b2decea289aac5af74746dc257c9bea44a0847f02c4f586e1d76f39d5bf952355a0875f177a666d1d354ad86ce5ec0aba2c2b20cab050eaffd31095395132f5af80a2d2d53b77bda49f948bbb37bdf31c8a690476488e14e542ff6841e7fbfc2eb84795696562d079dc1612274b6dff362567084f793f0bc2dd8de23392d05aeeeeac6991c9f74387153a4b7da94790375e336a00c8293bad0fcef2dd1880e7094e2e53f738247c860780ebe308410ca02ae409ae720e841f48c9677acc6e7d4ccd18c219c400f8b7e1257f692e09eaef96802b17a1cb7d93eb81d3bfcbc7af4cdf05b98e22556b3d1a8b56d6d83bb5f5724696f8f329839dbe477483ec3c09fa2e0628faeba1bf285c224bea3f6cdc7bbd768133c6ef1da14f248cc3b819b196588811b073a7291817bd1e89c65760435d8d17cbf9423744a92143e0f956e2977b39c54fdead5a57f3a04a0facca01bbf44d3b1fb9c4fa83ae1046985e3f26aa0a437999004dd8adc04c5111759849f919b93558dbc559173a23b069b59f800096d9fcf077c7640f59170bb9a6fffe64778bac272365d27ea62aa956559e90edd3f6393cc8775597bcf7d91990ab9511973d948324a27261059e93f4b5dd2f70caf12e1a08e0493cb05588618764391f355379578cf94dd33e616136eea997ec11c0d4ff064ff51a767e5558433a2e3a9a74c232d8e187f47b8cca010709eb9fea0dac8f1ea53bf18822e154ecd929c83b0eac366e30fffbd5ba6a46d734f58d26e7f5df538e18b3d827884aa857a680823131bcf30a76f1a555bcabb17b02b53aefad96fe76f7312da69719434c580d3ff1bcdcd594e6375935003d5d732cc577e11ea2abb1d04259f50aed4c3af9866e8c4a52a09809046ee330f05c4403acbc297a9416c5208fadb31ed4eb7a3b01b87bf08c75cf44c2b0df84df30872d021d6567ea649859268e5e1b5b6405e1b41e350a32c1af13722959c17c01b52c42241313b26b25995a1c89a53e248488724d280647226195746901929501df36d1e94815d7fe6c4ca2731f3181293217f71b9d7f59c2474856972013924ae4796db4cbd22d8905a6043c959941ca6b556c53d1688c439036c715d33a47a7dfc2fe40e53424c5093020d2e85e4b04aa4c704ea5bfe5a2384878da38319c59d41d66b6add2a443d9ea11edd8d18fa41004251653857733b388b453943eb33df93dcd5d549757fa2967ef0f9a5105836c48826c47fcccb2d9bc349032b286962136b848632bdcf186a08cbeaa52d195efcfc3a440bac154971d11ff4994f293b14fb8c3214ebe7ab8b3d0f2fe0b03ed7b145fafd7730a173e3cc1847f0cdf2cf629f5ea81a07bef716b1a67dd9e3b7a52fea1aaa7a393f53b5bdb5988df78a57a9dad19a8253316835acab8a6b9a9fb42d97bf29b2443322f46de386fd82bd3453ed68e2370c6eac4497b1bde7b42d569c452f377bd38bd50fa5a6792ef5c9ec6c647001149b86fedb3e2f18d4271e9cc4801aa16ecddb31b6a795fecabc613bfbc8e4f5636d71e74595c841fd11b6a6bc7f169317c1added56b82a71fc36d774bb4d661685363e9da5fd2e1f357006dc5b5bbf8b42ee3f869e75a541586fba558a8f490d641b78c27368b9b4c2db046354e9358ae9140e91cd95ebeffc6c0d2676a3ff4ab10d463bf32bed97023a80a79df191ab9858c43537a03072a17c30b1bd99efbd361590ed6b7d5b0ec4e2326fa35904ab9a48596f44491cbbc0112890f9386ed04dec30126be359a05e99b2b77fa2c8f6b7460a6cd590d71c73b2a1b23312ff89306b6e41c76ddc0a099bfa79498e36ae5cf0c560b8854dff32d2b690ce0ac4aabfa723ac6f2e97ad1083235196b464ad67fdd649aec01695d55c8b4bb198f30630ca635aa5a1915f3718341bcfd8b522f764015fa5479004d28eceea7fe67df7ee24a97a9708d528b89589f1899f13242a0d00f7464c3cdfce213699340e754533b934f4a8410224e111f31cf8e54d7b5e90cd8c68bf96edbc8d183894deefdf4fcc1a83162a3f6341dcd9a9aecf171c0df28257a68b1af1b67c54c43c3cff27fed89cc64bc46e23a49ec74a9efbab7981d9f0a018247441e4f0f5b5f68ba9325582f92de4cca4a5f878a0c5c387581e64324e3246d8f3205c838a29f1abeea24446e496421f0e742d411adb55f70272ae4a992e825a3d327e44b8b3762b25aa451d07eb4eac0322b431fa676462632daba2aba7bdeee1b438f051d21d4b1897e2ac2f95ee7c23f9996a805de8fffb3b30b855cd6c5b84c011accf4bf94d304d944079f04b5cadf8fcd6751c22a0f9165ab98998b2d89e6514641f1f3b91b8c0bf057d69c3d893fc4e041e06a2229e2ee58082ffb58cb920972ede58483287d0ace94c1becef26a410b93e4ff402e61dcc574b790d49679f18f4e2004f8b7cc357faba34a80e56821bb5b883d1a8b49c6605002152f270bbc36bc79095644e29ab08cc988deda765d67e4fff12b726d5de135ff9d0cbd9d5f9d440e548836633b93a38330d638468b59a32642da3375cdf70b062d14b46a78569c24a706e179baa2058dcae5c61fb6cadd9e015b017f26e9dbe3e6366cf5f1ec839aa3bbb21dd6c9b8e910245fa95b09b7d6cbf08a4c6c84bef257a70389be962dad14d97a893c128b73bf6580689e540d004f21edf8403f36b1ad7c9a2e83ffceb141af59700c316c8c1e3347187f24819c2ff0c9f9a2360dce354f3374374eab1643d2d8831310a8e3ca6768200ea7759822b82f7027cd450479fcc7f6d04802b15735a137ad489f1e1ee78434a253a9dd16684ad58fc91960cde6754f82e8b38edd5e798fdbbbf8fc2e2380a4e21dd94f8c1c063b18f29d8cd8d89f65deac5640799d4ca2caa29c1e72ad8bc417490d11e4051d94956fbc74289857e5f8e9e87b9a2d83074a994de0b10bc7782f6650cfbdb8c835c81cd88bdce5f04ca939b3c5cd010d4dc5d51224fcacbca9851694b8bf55b22dead859d023eee5a7ad3436a912c3fc0284456d5d72ea5f1afa8545c856676ac2dd9a057028bd3ca0f50e7070fa74152f13997c95c1834c3e67504f1a4165d2b49a96919b88f72caed60f56ca7ab5a3204fb12ad3592c725fdebb048732fc189c7dfed185c6c184a626e07d7356860d00389862d5b9701eaa4e5f7889e6db0f54633369b8d26805c08471de8fc3f8fa1fb0b0711d9e015add5373f7f8b64abaddbac3399c756244b1b07c579d33e4967e5e0cf16de29cb8a7efad07ff9039ca305772a6e45c76bd9b77e24949556766a8b8425c5e595efb431bde4ee222f9eb3fc2d002a1e2d14db2b23135266c942eea33bffd30eb0218405373240e0cd3040436ca895093bf056fd001c00ba59d90502042e6e6c0167105051628895c8164c9ab959400898309cabafdef12be53604fa57df44e0a90a81bd63c331291a93bffefe809e80db0679568f6e94e0d8e2edec0087c35bcb3c4f4725e6013bcf197156cd9d90612423348123383e45c14d27d8833f56ddb04083c069fd6e282fe69c940840f5f747dfb72ad72fd8cf9f3ded15c9e2f4727fd60b4f40e95dbe77a89b47dde7d5326942600554905d9dade9d145ab6da802643f2081678392609c2fdd1b79dd8caec137cbed315374c6f05c0758070f3bb17e23d81ccc39c6aa89913897e487fde889c5aacd422278f8571641cc4f0a93d9768aef9e45d6bd187d1ba637ce0fbd3c573d6778cf7bf5188c00dcdf13be3fd599143952b376220283e34e014e83b214bd5f64eb0ecb098ae8bef883949907cc36e22ece60b893b963cfa73d120513e285aaf70ce5add34edbdac60b3aa7b385b90e339058fb9b3cf984b06f79788016035c5ce490f2de7995b98a8c1c9c80f29603ae2b7fc41886663163e604275cb085f8453b27f4d795b9bad19ade2f98a1c99b43a7581bd991e5d0e5e1a6e713acc522ba9fe8302658a9782558e35436e714ac6bc85ad1d3cd008f24106901fa954f5fefb61210d6f8dc9ff35c480f1d14e59c0e501917a31ee9d00c6bdb06a00af5a8b08c3928cc5f37476248223627cb77eaf0e96213cb0a13e97d3fe9b9814d462690e8d68d02655a32fc271ee73db4f88a33386ea88a5857e15a28d9b3e3a96f00c7cd85aa53f9282ab8c8ca6d6a8afed43aa87fe7fc1ad59b0f0db2dd25c20af96e8c282c19fc883ef01a4060398926a1c82f07bcd3bc314580d7636b623b7bad8ddba05850291a6344df0f346fa4a321a85ee3e9c", + }, + { + "67c6697351ff4aec29cdbaabf2fbe3467cc254f81be8e78d765a2e63339fc99a66320db73158a35a255d051758e95ed4abb2cdc69bb454110e827441213ddc8770e93ea141e1fc673e017e97eadc6b968f385c2aecb03bfb32af3c54ec18db5c021afe43fbfaaa3afb29d1e6053c7c9475d8be6189f95cbba8990f95b1ebf1b305eff700e9a13ae5ca0bcbd0484764bd1f231ea81c7b64c514735ac55e4b79633b706424119e09dcaad4acf21b10af3b33cde3504847155cbb6f2219ba9b7df50be11a1c7f23f829f8a41b13b5ca4ee8983238e0794d3d34bc5f4e77facb6c05ac86212baa1a55a2be70b5733b045cd33694b3afe2f0e49e4f321549fd824ea90870d4b28a2954489a0abcd50e18a844ac5bf38e4cd72d9b", + "0942e506c433afcda3847f2dad", + "a5117e70953568bf750862df9e6f92af81677c3a188e847917a4a915bda7792e", + "129039b5572e8a7a8131f76a", + "588e1356fb8fa32410dad99cf7922aae47b4042502c92f3afe33dc22c1c2e90caf22bc37a254f8dd62a09582c70194f9616982639415178e9fe95740c0f1d497a69b69d4924a7a15290187f9c8acf09cf5b3b3188ecde2d2807207f5bb6a6d3504314b1b47684cf8ba8807eb9a3c497c79ebe1e4c1eca2aa90328563e201425227fca8ee05dcc05fd6c98128626c1e71d2fb3a21860567093db1012dfabe13055c48219d2a301c8a5a49033a811d8d9413bafbb2eefc177226fe578e93c2ef1f309416dc98843bfac387debb1b610b1d2366178ce7212a7312057a3d058357a629f18c78e129e60979a2310455a76207be5611e8b4b840629564020c17f5c9446882e23f610e931246ec434e62de765bf22954cfae02b2ff4b4086fbbd1b6cec23e45481eac5a25d", + }, + { + "67c6697351ff4aec29cdbaabf2fbe3467cc254f81be8e78d765a2e63339fc99a66320db73158a35a255d051758e95ed4abb2cdc69bb454110e827441213ddc8770e93ea141e1fc673e017e97eadc6b968f385c2aecb03bfb32af3c54ec18db5c021afe43fbfaaa3afb29d1e6053c7c9475d8be6189f95cbba8990f95b1ebf1b305eff700e9a13ae5ca0bcbd0484764bd1f231ea81c7b64c514735ac55e4b79633b706424119e09dcaad4acf21b10af3b33cde3504847155cbb6f2219ba9b7df50be11a1c7f23f829f8a41b13b5ca4ee8983238e0794d3d34bc5f4e77facb6c05ac86212baa1a55a2be70b5733b045cd33694b3afe2f0e49e4f321549fd824ea90870d4b28a2954489a0abcd50e18a844ac5bf38e4cd72d9b0942e506c433afcda3847f2dadd47647de321cec4ac430f62023856cfbb20704f4ec0bb920ba86c33e05f1ecd96733b79950a3e314", + "d3d934f75ea0f210a8f6059401", + "a5117e70953568bf750862df9e6f92af81677c3a188e847917a4a915bda7792e", + "129039b5572e8a7a8131f76a", + "588e1356fb8fa32410dad99cf7922aae47b4042502c92f3afe33dc22c1c2e90caf22bc37a254f8dd62a09582c70194f9616982639415178e9fe95740c0f1d497a69b69d4924a7a15290187f9c8acf09cf5b3b3188ecde2d2807207f5bb6a6d3504314b1b47684cf8ba8807eb9a3c497c79ebe1e4c1eca2aa90328563e201425227fca8ee05dcc05fd6c98128626c1e71d2fb3a21860567093db1012dfabe13055c48219d2a301c8a5a49033a811d8d9413bafbb2eefc177226fe578e93c2ef1f309416dc98843bfac387debb1b610b1d2366178ce7212a7312057a3d058357a629f18c78e129e60979a2310455a76207be5611e8b4b840629564020c17f5c9446882e23f610e931246ec434e62de765bf22954cfae02b2ff7c59dfe246e4bb2d6a8afcebdc2beeaabf2a3f43f95a5ea639853f38719875ecdd2bbc0d81bb2a5ed59553b1e76b6365b74f618f685eb7731024bbf6794c3f4c7c5a1cf925", + }, + { + "67c6697351ff4aec29cdbaabf2fbe3467cc254f81be8e78d765a2e63339fc99a66320db73158a35a255d051758e95ed4abb2cdc69bb454110e827441213ddc8770e93ea141e1fc673e017e97eadc6b968f385c2aecb03bfb32af3c54ec18db5c021afe43fbfaaa3afb29d1e6053c7c9475d8be6189f95cbba8990f95b1ebf1b305eff700e9a13ae5ca0bcbd0484764bd1f231ea81c7b64c514735ac55e4b79633b706424119e09dcaad4acf21b10af3b33cde3504847155cbb6f2219ba9b7df50be11a1c7f23f829f8a41b13b5ca4ee8983238e0794d3d34bc5f4e77facb6c05ac86212baa1a55a2be70b5733b045cd33694b3afe2f0e49e4f321549fd824ea90870d4b28a2954489a0abcd50e18a844ac5bf38e4cd72d9b0942e506c433afcda3847f2dadd47647de321cec4ac430f62023856cfbb20704f4ec0bb920ba86c33e05f1ecd96733b79950a3e314", + "d3d934f75ea0f210a8f6059401beb4bc4478fa4969e623d01ada696a7e4c7e5125b34884533a94fb319990325744ee9bbce9e525cf08f5e9e25e5360aad2b2d085fa54d835e8d466826498d9a8877565705a8a3f62802944de7ca5894e5759d351adac869580ec17e485f18c0c66f17cc07cbb", + "a5117e70953568bf750862df9e6f92af81677c3a188e847917a4a915bda7792e", + "129039b5572e8a7a8131f76a", + "588e1356fb8fa32410dad99cf7922aae47b4042502c92f3afe33dc22c1c2e90caf22bc37a254f8dd62a09582c70194f9616982639415178e9fe95740c0f1d497a69b69d4924a7a15290187f9c8acf09cf5b3b3188ecde2d2807207f5bb6a6d3504314b1b47684cf8ba8807eb9a3c497c79ebe1e4c1eca2aa90328563e201425227fca8ee05dcc05fd6c98128626c1e71d2fb3a21860567093db1012dfabe13055c48219d2a301c8a5a49033a811d8d9413bafbb2eefc177226fe578e93c2ef1f309416dc98843bfac387debb1b610b1d2366178ce7212a7312057a3d058357a629f18c78e129e60979a2310455a76207be5611e8b4b840629564020c17f5c9446882e23f610e931246ec434e62de765bf22954cfae02b2ff7c59dfe246e4bb2d6a8afcebdc2beeaabf2a3f43f95a5ea639853f38719875ecdd2bbc0d81bb2a5ed59553b1e76b6365b74f618f68a12d0f1cc99e132db9014100d9668c91", + }, + { + "67c6697351ff4aec29cdbaabf2fbe3467cc254f81be8e78d765a2e63339fc99a66320db73158a35a255d051758e95ed4abb2cdc69bb454110e827441213ddc8770e93ea141e1fc673e017e97eadc6b968f385c2aecb03bfb32af3c54ec18db5c021afe43fbfaaa3afb29d1e6053c7c9475d8be6189f95cbba8990f95b1ebf1b305eff700e9a13ae5ca0bcbd0484764bd1f231ea81c7b64c514735ac55e4b79633b706424119e09dcaad4acf21b10af3b33cde3504847155cbb6f2219ba9b7df50be11a1c7f23f829f8a41b13b5ca4ee8983238e0794d3d34bc5f4e77facb6c05ac86212baa1a55a2be70b5733b045cd33694b3afe2f0e49e4f321549fd824ea90870d4b28a2954489a0abcd50e18a844ac5bf38e4cd72d9b0942e506c433afcda3847f2dadd47647de321cec4ac430f62023856cfbb20704f4ec0bb920ba86c33e05f1ecd96733b79950a3e314d3d934f75ea0f210a8f6059401beb4bc4478fa4969e623d01ada696a7e4c7e5125b34884533a94fb319990325744ee9b", + "bc", + "a5117e70953568bf750862df9e6f92af81677c3a188e847917a4a915bda7792e", + "129039b5572e8a7a8131f76a", + "588e1356fb8fa32410dad99cf7922aae47b4042502c92f3afe33dc22c1c2e90caf22bc37a254f8dd62a09582c70194f9616982639415178e9fe95740c0f1d497a69b69d4924a7a15290187f9c8acf09cf5b3b3188ecde2d2807207f5bb6a6d3504314b1b47684cf8ba8807eb9a3c497c79ebe1e4c1eca2aa90328563e201425227fca8ee05dcc05fd6c98128626c1e71d2fb3a21860567093db1012dfabe13055c48219d2a301c8a5a49033a811d8d9413bafbb2eefc177226fe578e93c2ef1f309416dc98843bfac387debb1b610b1d2366178ce7212a7312057a3d058357a629f18c78e129e60979a2310455a76207be5611e8b4b840629564020c17f5c9446882e23f610e931246ec434e62de765bf22954cfae02b2ff7c59dfe246e4bb2d6a8afcebdc2beeaabf2a3f43f95a5ea639853f38719875ecdd2bbc0d81bb2a5ed59553b1e76b6365b74f618f68d1f05b5662cd6e04de896d3ef5dae4149485a5a2093ff4ec74b20b5e5bf8e61b5c65515938c202beab3eea5a498d2f32d4d00a24b826b6efb16013ef54cbe170", + }, + { + "67c6697351ff4aec29cdbaabf2fbe3467cc254f81be8e78d765a2e63339fc99a66320db73158a35a255d051758e95ed4abb2cdc69bb454110e827441213ddc8770e93ea141e1fc673e017e97eadc6b968f385c2aecb03bfb32af3c54ec18db5c021afe43fbfaaa3afb29d1e6053c7c9475d8be6189f95cbba8990f95b1ebf1b305eff700e9a13ae5ca0bcbd0484764bd1f231ea81c7b64c514735ac55e4b79633b706424119e09dcaad4acf21b10af3b33cde3504847155cbb6f2219ba9b7df50be11a1c7f23f829f8a41b13b5ca4ee8983238e0794d3d34bc5f4e77facb6c05ac86212baa1a55a2be70b5733b045cd33694b3afe2f0e49e4f321549fd824ea90870d4b28a2954489a0abcd50e18a844ac5bf38e4cd72d9b0942e506c433afcda3847f2dadd47647de321cec4ac430f62023856cfbb20704f4ec0bb920ba86c33e05f1ecd96733b79950a3e314d3d934f75ea0f210a8f6059401beb4bc4478fa4969e623d01ada696a7e4c7e5125b34884533a94fb319990325744ee9bbce9e525cf08f5e9e25e5360aad2b2d085fa54d835e8d466826498d9a8877565705a8a3f62802944de7ca5894e5759d351adac869580ec17e485f18c0c66f17cc0", + "7cbb22fce466da610b63af62bc83b4692f3affaf271693ac071fb86d11342d", + "a5117e70953568bf750862df9e6f92af81677c3a188e847917a4a915bda7792e", + "129039b5572e8a7a8131f76a", + "588e1356fb8fa32410dad99cf7922aae47b4042502c92f3afe33dc22c1c2e90caf22bc37a254f8dd62a09582c70194f9616982639415178e9fe95740c0f1d497a69b69d4924a7a15290187f9c8acf09cf5b3b3188ecde2d2807207f5bb6a6d3504314b1b47684cf8ba8807eb9a3c497c79ebe1e4c1eca2aa90328563e201425227fca8ee05dcc05fd6c98128626c1e71d2fb3a21860567093db1012dfabe13055c48219d2a301c8a5a49033a811d8d9413bafbb2eefc177226fe578e93c2ef1f309416dc98843bfac387debb1b610b1d2366178ce7212a7312057a3d058357a629f18c78e129e60979a2310455a76207be5611e8b4b840629564020c17f5c9446882e23f610e931246ec434e62de765bf22954cfae02b2ff7c59dfe246e4bb2d6a8afcebdc2beeaabf2a3f43f95a5ea639853f38719875ecdd2bbc0d81bb2a5ed59553b1e76b6365b74f618f68d1f05b5662cd6e04de896d3ef5dae4149485a5a2093ff4ec74b20b5e5bf8e61b5c65515938c202beab3eea5a498d2f32c38dbb37d04f8272e741da2802c54a9d9aaf8ecf38b36fc9ad0079523f6a4abd5281a22697a3180bc02662a7c13ee23599d18e5c48300dbb831509df4c172f53e524b3c15124a87ac73e5028cde6c94d8d", + }, + { + "67c6697351ff4aec29cdbaabf2fbe3467cc254f81be8e78d765a2e63339fc99a66320db73158a35a255d051758e95ed4abb2cdc69bb454110e827441213ddc8770e93ea141e1fc673e017e97eadc6b968f385c2aecb03bfb32af3c54ec18db5c021afe43fbfaaa3afb29d1e6053c7c9475d8be6189f95cbba8990f95b1ebf1b305eff700e9a13ae5ca0bcbd0484764bd1f231ea81c7b64c514735ac55e4b79633b706424119e09dcaad4acf21b10af3b33cde3504847155cbb6f2219ba9b7df50be11a1c7f23f829f8a41b13b5ca4ee8983238e0794d3d34bc5f4e77facb6c05ac86212baa1a55a2be70b5733b045cd33694b3afe2f0e49e4f321549fd824ea90870d4b28a2954489a0abcd50e18a844ac5bf38e4cd72d9b0942e506c433afcda3847f2dadd47647de321cec4ac430f62023856cfbb20704f4ec0bb920ba86c33e05f1ecd96733b79950a3e314d3d934f75ea0f210a8f6059401beb4bc4478fa4969e623d01ada696a7e4c7e5125b34884533a94fb319990325744ee9bbce9e525", + "", + "a5117e70953568bf750862df9e6f92af81677c3a188e847917a4a915bda7792e", + "129039b5572e8a7a8131f76a", + "588e1356fb8fa32410dad99cf7922aae47b4042502c92f3afe33dc22c1c2e90caf22bc37a254f8dd62a09582c70194f9616982639415178e9fe95740c0f1d497a69b69d4924a7a15290187f9c8acf09cf5b3b3188ecde2d2807207f5bb6a6d3504314b1b47684cf8ba8807eb9a3c497c79ebe1e4c1eca2aa90328563e201425227fca8ee05dcc05fd6c98128626c1e71d2fb3a21860567093db1012dfabe13055c48219d2a301c8a5a49033a811d8d9413bafbb2eefc177226fe578e93c2ef1f309416dc98843bfac387debb1b610b1d2366178ce7212a7312057a3d058357a629f18c78e129e60979a2310455a76207be5611e8b4b840629564020c17f5c9446882e23f610e931246ec434e62de765bf22954cfae02b2ff7c59dfe246e4bb2d6a8afcebdc2beeaabf2a3f43f95a5ea639853f38719875ecdd2bbc0d81bb2a5ed59553b1e76b6365b74f618f68d1f05b5662cd6e04de896d3ef5dae4149485a5a2093ff4ec74b20b5e5bf8e61b5c65515938c202beab3eea5a498d2f32c38dbb370a9bbc3187cc260ddac991f94ce4f0d5", + }, + { + "0fb826ddb2eb5e708de203d0438be12cf708d635ebdbae56278be09077009586b9bc646ba7c2db35a5de05e86ae71461efea96dac64430edcf117d461113cccacf303576f310ab98efb180599894ba877e50614494923163a3afa9b4c2757f91a6b40799c5b331b464b10dfc45c783c317e408ab76390e19e8b7ceaa2c4d3bd201436bc6f69c7a5a4d8756924ed95665bd5e1034971e4d80d51b2a", + "026866d46aa940309fdcabf92a324fbc", + "a5117e70953568bf750862df9e6f92af81677c3a188e847917a4a915bda7792e", + "129039b5572e8a7a8131f76a", + "30f05cf8189bb7b8b4f560e746e228c4cc7e86e8f2fa66e1afe212d1855db51070acd5eb34ce80b2e223957df50fde4c2531d97fc9e573725e7a5e47f0dfc4da1942620320bb2deaf8b17937bae4218d04db8e76f6efe84a117292159507c9f8a09fb2c17921d7762510dbf1dac7b62b1bd7572e3e2cf008d01c445c7fa78833235034281ae180e051451c6a64f22ca9708634bd0d604e4cfcd971b13742efa5b6363e662a875daccb2b00", + }, + { + "c7d4f8790e4c47d4daecbddf5939973521ddbf3b832e564afc66f03b5583c41c58bd956609dc3ae3c8f7c2213059575236168dba44e3044049f47c9e7840bbd0fd5036062d70e9f567ac1797056ee93c8476f6c959fa09a3ee854166c6fc36c34d6cca7adcb36f435f86db65f4c4a1793b974294914b377fd179e697751c5ac289243c65d8aca93732849c27483da083d4e218652d4fe5fec8cb953ee7f00070143dd6ece97f241b03c0424bfee2cfd2c4e738f2361df0ffe8863dcf763d408a7a167763959b7f985bc1e359a4b22c6899645ad0814bcf69d10c38474978d1c48e482723e3a6bb3f689f980c51c474eb28cfbba91a8a12eb964b32dfc303a3524ccb752f71316ed9d007e521cb5a0cf429c79d4351b02ee7fb60c7be636a10af3586dfa7b74d80875466a820c0b514e97cb12cce615ab55cba7c1b1de72bcd1cb1acc368f944ef4eaa986e6a4d8253c9337f9795d94df193c90cb0b0387dcde929905223d441717ed9dfe826613bf094ba872993d41b269e27d74e5f541b497eac9ba180dc12ffb6f1e7dc5223cce6dd541071282b97c6526e15b2c330fb41dc96e25d72f45c28e543053766d11d44252db54e584c14abbb295d7e5a58bf36eea1936095ef897a338eb1995fcedd85fc92d354dfe7ff9a115c186bb4d7a1a27835030d248c87571a38f17906cefe0261d15740b9", + "56", + "a5117e70953568bf750862df9e6f92af81677c3a188e847917a4a915bda7792e", + "129039b5572e8a7a8131f76a", + "f89c825ca43cae1ce3fbdee85c505edd1aabefe69a0f9efd740f027aa7dee48a91ad24e69ad061648f0a52b4afb19d7ffccdc21f4b4247dfd89f5f9f998cb3c02b226173fedb6f8770aceef9271e7236fefd19fb3b87d08a5c587ac7918e80aa4b477f22602189811e270d686bc4949137a41d11d95ec96ee9d26c6126f6e923ab37638b34d1538d2e46d6df6216da4f193a3cecb731e632e109ced643056a1673059355d2d1314df35ded8364efed7de490201090a6f2d1751748585f64d26041637ba3723cbc4b60e226f10a19699d223075bc1f27d82e7f560c0db630ea670b3f8a70a8950894af4d1c7b3f674a3fa00d19ee4cc2b6174c1d259a297424bf2c3943a29a16a9830ce11abaa79cd2eb77b53a02b365b1838e7bfd5ae1bd044ffc885c61c6b2186a357e8b8f732b7ab96517969aeb70c7b493bbaca9462a61815a3c6135c748bf9c8487ac0631807aa69243fa09cd3b8efb63f8d4e090ad30b6c2f08bf4e82f191cedfa5cbe2b42268d67ecd105918181e44fc9879efd642d20be84e6f74717e03fb94fcbaa6ed3b307431d2a9384b8a2b3e5825ffce8d99af48f177e43bb4272226d8a5edd37d53807f768feb9e0733b437a1d0f84779ab68a1804e92a5eecca56364f0fa6dca152203b249fdc8fbd950fdc37c1887596308a90ba3a5751c7096bfbd1cb177bb17847b33c4379b43938a67674459cd9a06e3017ccac5b", + }, + { + "135a28170fe89066da7bcff3a9ccc1b27dfe942a6f47b23835ef746aaea63dc10066d90f4e697528e5451b8e11dd408fdbd4b94a1c6c82515bf7bc099df9cb9d5fa4acad0d22d5f267f18078cec107a995c1f3b12d7603886dbf910ab85ca7180053c50e759b00dc8c81555a425c03d71df6894a6c8cd2d94b64e303c08a1bc1dee1cf537ccf300850856292e1656aff5bf349c87f1ca1ca8085cd400fe901edcad04146a0714ef0f6b083d715edd670e020385f3cda29bc5ff6fc6edffe5ca9ce9def6e0e3d5f04ede2db02cfb2", + "73afd2ab0e0e8537cae42dc6530dc4afb6934ca6", + "a5117e70953568bf750862df9e6f92af81677c3a188e847917a4a915bda7792e", + "129039b5572e8a7a8131f76a", + "2c125232a59879aee36cacc4aca5085a4688c4f776667a8fbd86862b5cfb1d57c976688fdd652eafa2b88b1b8e358aa2110ff6ef13cdc1ceca9c9f087c35c38d89d6fbd8de89538070f17916ecb19ca3ef4a1c834f0bdaa1df62aaabef2e117106787056c909e61ecd208357dd5c363f11c5d6cf24992cc873cf69f59360a820fcf290bd90b2cab24c47286acb4e1033962b6d41e562a206a94796a8ab1c6b8bade804ff9bdf5ba6062d2c1f8fe0f4dfc05720bd9a612b92c26789f9f6a7ce43f5e8e3aee99a9cd7d6c11eaa611983c36935b0dda57d898a60a0ab7c4b54", + }, +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/internal/chacha20/chacha_generic.go b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/internal/chacha20/chacha_generic.go new file mode 100755 index 0000000..b017a73 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/internal/chacha20/chacha_generic.go @@ -0,0 +1,199 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package chacha20 implements the core ChaCha20 function as specified in https://tools.ietf.org/html/rfc7539#section-2.3. +package chacha20 + +import "encoding/binary" + +const rounds = 20 + +// core applies the ChaCha20 core function to 16-byte input in, 32-byte key k, +// and 16-byte constant c, and puts the result into 64-byte array out. +func core(out *[64]byte, in *[16]byte, k *[32]byte) { + j0 := uint32(0x61707865) + j1 := uint32(0x3320646e) + j2 := uint32(0x79622d32) + j3 := uint32(0x6b206574) + j4 := binary.LittleEndian.Uint32(k[0:4]) + j5 := binary.LittleEndian.Uint32(k[4:8]) + j6 := binary.LittleEndian.Uint32(k[8:12]) + j7 := binary.LittleEndian.Uint32(k[12:16]) + j8 := binary.LittleEndian.Uint32(k[16:20]) + j9 := binary.LittleEndian.Uint32(k[20:24]) + j10 := binary.LittleEndian.Uint32(k[24:28]) + j11 := binary.LittleEndian.Uint32(k[28:32]) + j12 := binary.LittleEndian.Uint32(in[0:4]) + j13 := binary.LittleEndian.Uint32(in[4:8]) + j14 := binary.LittleEndian.Uint32(in[8:12]) + j15 := binary.LittleEndian.Uint32(in[12:16]) + + x0, x1, x2, x3, x4, x5, x6, x7 := j0, j1, j2, j3, j4, j5, j6, j7 + x8, x9, x10, x11, x12, x13, x14, x15 := j8, j9, j10, j11, j12, j13, j14, j15 + + for i := 0; i < rounds; i += 2 { + x0 += x4 + x12 ^= x0 + x12 = (x12 << 16) | (x12 >> (16)) + x8 += x12 + x4 ^= x8 + x4 = (x4 << 12) | (x4 >> (20)) + x0 += x4 + x12 ^= x0 + x12 = (x12 << 8) | (x12 >> (24)) + x8 += x12 + x4 ^= x8 + x4 = (x4 << 7) | (x4 >> (25)) + x1 += x5 + x13 ^= x1 + x13 = (x13 << 16) | (x13 >> 16) + x9 += x13 + x5 ^= x9 + x5 = (x5 << 12) | (x5 >> 20) + x1 += x5 + x13 ^= x1 + x13 = (x13 << 8) | (x13 >> 24) + x9 += x13 + x5 ^= x9 + x5 = (x5 << 7) | (x5 >> 25) + x2 += x6 + x14 ^= x2 + x14 = (x14 << 16) | (x14 >> 16) + x10 += x14 + x6 ^= x10 + x6 = (x6 << 12) | (x6 >> 20) + x2 += x6 + x14 ^= x2 + x14 = (x14 << 8) | (x14 >> 24) + x10 += x14 + x6 ^= x10 + x6 = (x6 << 7) | (x6 >> 25) + x3 += x7 + x15 ^= x3 + x15 = (x15 << 16) | (x15 >> 16) + x11 += x15 + x7 ^= x11 + x7 = (x7 << 12) | (x7 >> 20) + x3 += x7 + x15 ^= x3 + x15 = (x15 << 8) | (x15 >> 24) + x11 += x15 + x7 ^= x11 + x7 = (x7 << 7) | (x7 >> 25) + x0 += x5 + x15 ^= x0 + x15 = (x15 << 16) | (x15 >> 16) + x10 += x15 + x5 ^= x10 + x5 = (x5 << 12) | (x5 >> 20) + x0 += x5 + x15 ^= x0 + x15 = (x15 << 8) | (x15 >> 24) + x10 += x15 + x5 ^= x10 + x5 = (x5 << 7) | (x5 >> 25) + x1 += x6 + x12 ^= x1 + x12 = (x12 << 16) | (x12 >> 16) + x11 += x12 + x6 ^= x11 + x6 = (x6 << 12) | (x6 >> 20) + x1 += x6 + x12 ^= x1 + x12 = (x12 << 8) | (x12 >> 24) + x11 += x12 + x6 ^= x11 + x6 = (x6 << 7) | (x6 >> 25) + x2 += x7 + x13 ^= x2 + x13 = (x13 << 16) | (x13 >> 16) + x8 += x13 + x7 ^= x8 + x7 = (x7 << 12) | (x7 >> 20) + x2 += x7 + x13 ^= x2 + x13 = (x13 << 8) | (x13 >> 24) + x8 += x13 + x7 ^= x8 + x7 = (x7 << 7) | (x7 >> 25) + x3 += x4 + x14 ^= x3 + x14 = (x14 << 16) | (x14 >> 16) + x9 += x14 + x4 ^= x9 + x4 = (x4 << 12) | (x4 >> 20) + x3 += x4 + x14 ^= x3 + x14 = (x14 << 8) | (x14 >> 24) + x9 += x14 + x4 ^= x9 + x4 = (x4 << 7) | (x4 >> 25) + } + + x0 += j0 + x1 += j1 + x2 += j2 + x3 += j3 + x4 += j4 + x5 += j5 + x6 += j6 + x7 += j7 + x8 += j8 + x9 += j9 + x10 += j10 + x11 += j11 + x12 += j12 + x13 += j13 + x14 += j14 + x15 += j15 + + binary.LittleEndian.PutUint32(out[0:4], x0) + binary.LittleEndian.PutUint32(out[4:8], x1) + binary.LittleEndian.PutUint32(out[8:12], x2) + binary.LittleEndian.PutUint32(out[12:16], x3) + binary.LittleEndian.PutUint32(out[16:20], x4) + binary.LittleEndian.PutUint32(out[20:24], x5) + binary.LittleEndian.PutUint32(out[24:28], x6) + binary.LittleEndian.PutUint32(out[28:32], x7) + binary.LittleEndian.PutUint32(out[32:36], x8) + binary.LittleEndian.PutUint32(out[36:40], x9) + binary.LittleEndian.PutUint32(out[40:44], x10) + binary.LittleEndian.PutUint32(out[44:48], x11) + binary.LittleEndian.PutUint32(out[48:52], x12) + binary.LittleEndian.PutUint32(out[52:56], x13) + binary.LittleEndian.PutUint32(out[56:60], x14) + binary.LittleEndian.PutUint32(out[60:64], x15) +} + +// XORKeyStream crypts bytes from in to out using the given key and counters. +// In and out may be the same slice but otherwise should not overlap. Counter +// contains the raw ChaCha20 counter bytes (i.e. block counter followed by +// nonce). +func XORKeyStream(out, in []byte, counter *[16]byte, key *[32]byte) { + var block [64]byte + var counterCopy [16]byte + copy(counterCopy[:], counter[:]) + + for len(in) >= 64 { + core(&block, &counterCopy, key) + for i, x := range block { + out[i] = in[i] ^ x + } + u := uint32(1) + for i := 0; i < 4; i++ { + u += uint32(counterCopy[i]) + counterCopy[i] = byte(u) + u >>= 8 + } + in = in[64:] + out = out[64:] + } + + if len(in) > 0 { + core(&block, &counterCopy, key) + for i, v := range in { + out[i] = v ^ block[i] + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/internal/chacha20/chacha_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/internal/chacha20/chacha_test.go new file mode 100755 index 0000000..b80d34c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/internal/chacha20/chacha_test.go @@ -0,0 +1,33 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package chacha20 + +import ( + "encoding/hex" + "testing" +) + +func TestCore(t *testing.T) { + // This is just a smoke test that checks the example from + // https://tools.ietf.org/html/rfc7539#section-2.3.2. The + // chacha20poly1305 package contains much more extensive tests of this + // code. + var key [32]byte + for i := range key { + key[i] = byte(i) + } + + var input [16]byte + input[0] = 1 + input[7] = 9 + input[11] = 0x4a + + var out [64]byte + XORKeyStream(out[:], out[:], &input, &key) + const expected = "10f1e7e4d13b5915500fdd1fa32071c4c7d1f4c733c068030422aa9ac3d46c4ed2826446079faa0914c2d705d98b02a2b5129cd1de164eb9cbd083e8a2503c4e" + if result := hex.EncodeToString(out[:]); result != expected { + t.Errorf("wanted %x but got %x", expected, result) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/crypto.go b/vendor/github.com/skycoin/skycoin/src/cipher/crypto.go new file mode 100755 index 0000000..b852f34 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/crypto.go @@ -0,0 +1,484 @@ +package cipher + +import ( + "bytes" + "crypto/sha256" + "encoding/hex" + "errors" + "fmt" + "hash" + "log" + "time" + + "github.com/skycoin/skycoin/src/cipher/ripemd160" + + "github.com/skycoin/skycoin/src/cipher/secp256k1-go" +) + +var ( + // DebugLevel1 debug level one + DebugLevel1 = true //checks for extremely unlikely conditions (10e-40) + // DebugLevel2 debug level two + DebugLevel2 = true //enable checks for impossible conditions +) + +// PubKey public key +type PubKey [33]byte + +// PubKeySlice PubKey slice +type PubKeySlice []PubKey + +// Len returns length for sorting +func (slice PubKeySlice) Len() int { + return len(slice) +} + +// Less for sorting +func (slice PubKeySlice) Less(i, j int) bool { + return bytes.Compare(slice[i][:], slice[j][:]) < 0 +} + +// Swap for sorting +func (slice PubKeySlice) Swap(i, j int) { + slice[i], slice[j] = slice[j], slice[i] +} + +// RandByte returns rand N bytes +func RandByte(n int) []byte { + return secp256k1.RandByte(n) +} + +// NewPubKey converts []byte to a PubKey. Panics is []byte is not the exact size +func NewPubKey(b []byte) PubKey { + p := PubKey{} + if len(b) != len(p) { + log.Panic("Invalid public key length") + } + copy(p[:], b[:]) + return p +} + +// MustPubKeyFromHex decodes a hex encoded PubKey, or panics +func MustPubKeyFromHex(s string) PubKey { + b, err := hex.DecodeString(s) + if err != nil { + log.Panic(err) + } + return NewPubKey(b) +} + +// PubKeyFromHex generates PubKey from hex string +func PubKeyFromHex(s string) (PubKey, error) { + b, err := hex.DecodeString(s) + if err != nil { + return PubKey{}, errors.New("Invalid public key") + } + return NewPubKey(b), nil +} + +// PubKeyFromSecKey recovers the public key for a secret key +func PubKeyFromSecKey(seckey SecKey) PubKey { + if seckey == (SecKey{}) { + log.Panic("PubKeyFromSecKey, attempt to load null seckey, unsafe") + } + b := secp256k1.PubkeyFromSeckey(seckey[:]) + if b == nil { + log.Panic("PubKeyFromSecKey, pubkey recovery failed. Function " + + "assumes seckey is valid. Check seckey") + } + return NewPubKey(b) +} + +// PubKeyFromSig recovers the public key from a signed hash +func PubKeyFromSig(sig Sig, hash SHA256) (PubKey, error) { + rawPubKey := secp256k1.RecoverPubkey(hash[:], sig[:]) + if rawPubKey == nil { + return PubKey{}, errors.New("Invalig sig: PubKey recovery failed") + } + return NewPubKey(rawPubKey), nil +} + +// Verify attempts to determine if pubkey is valid. Returns nil on success +func (pk PubKey) Verify() error { + if secp256k1.VerifyPubkey(pk[:]) != 1 { + return errors.New("Invalid public key") + } + return nil +} + +// Hex returns a hex encoded PubKey string +func (pk PubKey) Hex() string { + return hex.EncodeToString(pk[:]) +} + +// ToAddressHash returns the public key as ripemd160(sha256(sha256(key))) +func (pk *PubKey) ToAddressHash() Ripemd160 { + r1 := SumSHA256(pk[:]) + r2 := SumSHA256(r1[:]) + return HashRipemd160(r2[:]) +} + +// SecKey secret key +type SecKey [32]byte + +// NewSecKey converts []byte to a SecKey. Panics is []byte is not the exact size +func NewSecKey(b []byte) SecKey { + p := SecKey{} + if len(b) != len(p) { + log.Panic("Invalid secret key length") + } + copy(p[:], b[:]) + return p +} + +// MustSecKeyFromHex decodes a hex encoded SecKey, or panics +func MustSecKeyFromHex(s string) SecKey { + b, err := hex.DecodeString(s) + if err != nil { + log.Panic(err) + } + return NewSecKey(b) +} + +// SecKeyFromHex decodes a hex encoded SecKey, or panics +func SecKeyFromHex(s string) (SecKey, error) { + b, err := hex.DecodeString(s) + if err != nil { + return SecKey{}, errors.New("Invalid SecKey: not valid hex") + } + if len(b) != 32 { + return SecKey{}, errors.New("Invalid SecKey: invalid length") + } + return NewSecKey(b), nil +} + +// Verify attempts to determine if SecKey is valid. Returns nil on success. +// If DebugLevel2, will do additional sanity checking +func (sk SecKey) Verify() error { + if secp256k1.VerifySeckey(sk[:]) != 1 { + return errors.New("Invalid SecKey") + } + if DebugLevel2 { + err := TestSecKey(sk) + if err != nil { + log.Panic("DebugLevel2, WARNING CRYPTO ARMAGEDDON") + } + } + return nil +} + +// Hex returns a hex encoded SecKey string +func (sk SecKey) Hex() string { + return hex.EncodeToString(sk[:]) +} + +//ECDH generates a shared secret +// A: pub1,sec1 +// B: pub2,sec2 +// person A sends their public key pub1 +// person B sends an emphameral pubkey pub2 +// person A computes cipher.ECDH(pub2, sec1) +// person B computes cipher.ECDH(pub1, sec2) +// cipher.ECDH(pub2, sec1) equals cipher.ECDH(pub1, sec2) +// This is their shared secret +func ECDH(pub PubKey, sec SecKey) []byte { + + if err := pub.Verify(); err != nil { + log.Panic("ECDH invalid pubkey input") + } + + if err := sec.Verify(); err != nil { + log.Panic("ECDH invalid seckey input") + } + + buff := secp256k1.ECDH(pub[:], sec[:]) + ret := SumSHA256(buff) //hash this so they cant screw up + return ret[:] + +} + +// Sig signature +type Sig [64 + 1]byte //64 byte signature with 1 byte for key recovery + +// NewSig converts []byte to a Sig. Panics is []byte is not the exact size +func NewSig(b []byte) Sig { + s := Sig{} + if len(b) != len(s) { + log.Panic("Invalid secret key length") + } + copy(s[:], b[:]) + return s +} + +// MustSigFromHex decodes a hex-encoded Sig, panicing if invalid +func MustSigFromHex(s string) Sig { + b, err := hex.DecodeString(s) + if err != nil { + log.Panic(err) + } + if len(b) != 65 { + log.Panic("Signature Length is Invalid") + } + return NewSig(b) +} + +// SigFromHex generates signature from hex string +func SigFromHex(s string) (Sig, error) { + b, err := hex.DecodeString(s) + if err != nil { + return Sig{}, err + } + if len(b) != 65 { + return Sig{}, errors.New("Signature Length is Invalid") + } + return NewSig(b), nil +} + +// Hex converts signature to hex string +func (s Sig) Hex() string { + return hex.EncodeToString(s[:]) +} + +// SignHash sign hash +func SignHash(hash SHA256, sec SecKey) Sig { + sig := NewSig(secp256k1.Sign(hash[:], sec[:])) + + if DebugLevel2 || DebugLevel1 { //!!! Guard against coin loss + pubkey, err := PubKeyFromSig(sig, hash) + if err != nil { + log.Panic("SignHash, error: pubkey from sig recovery failure") + } + if VerifySignature(pubkey, sig, hash) != nil { + log.Panic("SignHash, error: secp256k1.Sign returned non-null " + + "invalid non-null signature") + } + if ChkSig(AddressFromPubKey(pubkey), hash, sig) != nil { + log.Panic("SignHash error: ChkSig failed for signature") + } + } + return sig +} + +// ChkSig checks whether PubKey corresponding to address hash signed hash +// - recovers the PubKey from sig and hash +// - fail if PubKey cannot be be recovered +// - computes the address from the PubKey +// - fail if recovered address does not match PubKey hash +// - verify that signature is valid for hash for PubKey +func ChkSig(address Address, hash SHA256, sig Sig) error { + rawPubKey := secp256k1.RecoverPubkey(hash[:], sig[:]) + if rawPubKey == nil { + return errors.New("Invalig sig: PubKey recovery failed") + } + if address != AddressFromPubKey(NewPubKey(rawPubKey)) { + return errors.New("Invalid sig: address does not match output address") + } + if secp256k1.VerifySignature(hash[:], sig[:], rawPubKey[:]) != 1 { + return errors.New("Invalid sig: invalid for hash") + } + return nil +} + +// VerifySignedHash this only checks that the signature can be converted to a public key +// Since there is no pubkey or address argument, it cannot check that the +// signature is valid in that context. +func VerifySignedHash(sig Sig, hash SHA256) error { + rawPubKey := secp256k1.RecoverPubkey(hash[:], sig[:]) + if rawPubKey == nil { + return errors.New("Failed to recover public key") + } + if secp256k1.VerifySignature(hash[:], sig[:], rawPubKey) != 1 { + // If this occurs, secp256k1 is bugged + log.Printf("Recovered public key is not valid for signed hash") + return errors.New("Signature invalid for hash") + } + return nil +} + +// VerifySignature verifies that hash was signed by PubKey +func VerifySignature(pubkey PubKey, sig Sig, hash SHA256) error { + //pubkeyRec, err := PubKeyFromSig(sig, hash) //recovered pubkey + //if err != nil { + // return errors.New("Invalid sig: PubKey recovery failed") + //} + //if pubkeyRec != pubkey { + // return errors.New("Recovered pubkey does not match pubkey") + //} + if secp256k1.VerifyPubkey(pubkey[:]) != 1 { + if DebugLevel2 { + if secp256k1.VerifySignature(hash[:], sig[:], pubkey[:]) == 1 { + log.Panic("VerifySignature warning, ") + } + } + return errors.New("VerifySignature, secp256k1.VerifyPubkey failed") + } + if secp256k1.VerifySignatureValidity(sig[:]) != 1 { + return errors.New("VerifySignature, VerifySignatureValidity failed") + } + //if secp256k1.VerifySignature(hash[:], sig[:], pubkey[:]) != 1 { + // return errors.New("Invalid signature for this message") + //} + return nil +} + +// GenerateKeyPair creates key pair +func GenerateKeyPair() (PubKey, SecKey) { + public, secret := secp256k1.GenerateKeyPair() + + if DebugLevel1 { + if TestSecKey(NewSecKey(secret)) != nil { + log.Panic("DebugLevel1, GenerateKeyPair, generated private key " + + "failed TestSecKey") + } + } + + return NewPubKey(public), NewSecKey(secret) +} + +// GenerateDeterministicKeyPair generates deterministic key pair +func GenerateDeterministicKeyPair(seed []byte) (PubKey, SecKey) { + public, secret := secp256k1.GenerateDeterministicKeyPair(seed) + + if DebugLevel1 { + + if TestSecKey(NewSecKey(secret)) != nil { + log.Panic("DebugLevel1, GenerateDeterministicKeyPair, " + + "seckey invalid, failed TestSecKey") + } + if TestSecKey(NewSecKey(secret)) != nil { + log.Panic("DebugLevel1, GenerateDeterministicKeyPair, " + + "generated private key failed TestSecKey") + } + if PubKeyFromSecKey(NewSecKey(secret)) != NewPubKey(public) { + //s1 := NewSecKey(secret).Hex() + //s2 := NewPubKey(public).Hex() + //s3 := PubKeyFromSecKey(NewSecKey(secret)).Hex() + //log.Printf("sec= %s, pub= %s recpub= %s \n", s1,s2, s3 ) + log.Panic("DebugLevel1, GenerateDeterministicKeyPair, " + + "public key does not match private key") + } + } + return NewPubKey(public), NewSecKey(secret) +} + +// DeterministicKeyPairIterator takes SHA256 value, returns a new +// SHA256 value and publickey and private key. Apply multiple times +// feeding the SHA256 value back into generate sequence of keys +func DeterministicKeyPairIterator(seed []byte) ([]byte, PubKey, SecKey) { + hash, public, secret := secp256k1.DeterministicKeyPairIterator(seed) + if DebugLevel1 { + if TestSecKey(NewSecKey(secret)) != nil { + log.Panic("DebugLevel1, GenerateDeterministicKeyPair, " + + "generated private key failed TestSecKey") + } + if PubKeyFromSecKey(NewSecKey(secret)) != NewPubKey(public) { + log.Panic("DebugLevel1, GenerateDeterministicKeyPair, " + + "public key does not match private key") + } + } + return hash, NewPubKey(public), NewSecKey(secret) +} + +// GenerateDeterministicKeyPairs returns sequence of n private keys from initial seed +func GenerateDeterministicKeyPairs(seed []byte, n int) []SecKey { + var keys []SecKey + var seckey SecKey + for i := 0; i < n; i++ { + seed, _, seckey = DeterministicKeyPairIterator(seed) + keys = append(keys, seckey) + } + return keys +} + +// GenerateDeterministicKeyPairsSeed returns sequence of n private keys from initial seed, and return the new seed +func GenerateDeterministicKeyPairsSeed(seed []byte, n int) ([]byte, []SecKey) { + var keys []SecKey + var seckey SecKey + for i := 0; i < n; i++ { + seed, _, seckey = DeterministicKeyPairIterator(seed) + keys = append(keys, seckey) + } + return seed, keys +} + +// TestSecKey test seckey hash +func TestSecKey(seckey SecKey) error { + hash := SumSHA256([]byte(time.Now().String())) + return TestSecKeyHash(seckey, hash) +} + +// TestSecKeyHash performs a series of tests to determine if a seckey is valid. +// All generated keys and keys loaded from disc must pass the TestSecKey suite. +// TestPrivKey returns error if a key fails any test in the test suite. +func TestSecKeyHash(seckey SecKey, hash SHA256) error { + //check seckey with verify + if secp256k1.VerifySeckey(seckey[:]) != 1 { + return errors.New("Seckey verification failed") + } + + //check pubkey recovery + pubkey := PubKeyFromSecKey(seckey) + if pubkey == (PubKey{}) { + return errors.New("impossible error, TestSecKey, nil pubkey recovered") + } + //verify recovered pubkey + if secp256k1.VerifyPubkey(pubkey[:]) != 1 { + return errors.New("impossible error, TestSecKey, Derived Pubkey verification failed") + } + + //check signature production + sig := SignHash(hash, seckey) + pubkey2, err := PubKeyFromSig(sig, hash) + if err != nil { + return fmt.Errorf("PubKeyFromSig failed: %v", err) + } + if pubkey != pubkey2 { + return errors.New("Recovered pubkey does not match signed hash") + } + + //check pubkey recovered from sig + recoveredPubkey, err := PubKeyFromSig(sig, hash) + if err != nil { + return fmt.Errorf("impossible error, TestSecKey, pubkey recovery from signature failed: %v", err) + } + if pubkey != recoveredPubkey { + return errors.New("impossible error TestSecKey, pubkey does not match recovered pubkey") + } + + //verify produced signature + err = VerifySignature(pubkey, sig, hash) + if err != nil { + return fmt.Errorf("impossible error, TestSecKey, verify signature failed for sig: %v", err) + } + + //verify ChkSig + addr := AddressFromPubKey(pubkey) + err = ChkSig(addr, hash, sig) + if err != nil { + return fmt.Errorf("impossible error TestSecKey, ChkSig Failed, should not get this far: %v", err) + } + + //verify VerifySignedHash + err = VerifySignedHash(sig, hash) + if err != nil { + return fmt.Errorf("VerifySignedHash failed: %v", err) + } + + return nil +} + +//do not allow program to start if crypto tests fail +func init() { + // init the reuse hash pool. + sha256HashChan = make(chan hash.Hash, poolsize) + ripemd160HashChan = make(chan hash.Hash, poolsize) + for i := 0; i < poolsize; i++ { + sha256HashChan <- sha256.New() + ripemd160HashChan <- ripemd160.New() + } + + _, seckey := GenerateKeyPair() + if err := TestSecKey(seckey); err != nil { + log.Fatalf("CRYPTOGRAPHIC INTEGRITY CHECK FAILED: TERMINATING PROGRAM TO PROTECT COINS: %v", err) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/crypto_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/crypto_test.go new file mode 100755 index 0000000..91ff956 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/crypto_test.go @@ -0,0 +1,344 @@ +package cipher + +import ( + "bytes" + "crypto/sha256" + "encoding/hex" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher/ripemd160" +) + +func TestNewPubKey(t *testing.T) { + assert.Panics(t, func() { NewPubKey(randBytes(t, 31)) }) + assert.Panics(t, func() { NewPubKey(randBytes(t, 32)) }) + assert.Panics(t, func() { NewPubKey(randBytes(t, 34)) }) + assert.Panics(t, func() { NewPubKey(randBytes(t, 0)) }) + assert.Panics(t, func() { NewPubKey(randBytes(t, 100)) }) + assert.NotPanics(t, func() { NewPubKey(randBytes(t, 33)) }) + b := randBytes(t, 33) + p := NewPubKey(b) + assert.True(t, bytes.Equal(p[:], b)) +} + +func TestPubKeyFromHex(t *testing.T) { + // Invalid hex + assert.Panics(t, func() { MustPubKeyFromHex("") }) + assert.Panics(t, func() { MustPubKeyFromHex("cascs") }) + // Invalid hex length + p := NewPubKey(randBytes(t, 33)) + s := hex.EncodeToString(p[:len(p)/2]) + assert.Panics(t, func() { MustPubKeyFromHex(s) }) + // Valid + s = hex.EncodeToString(p[:]) + assert.NotPanics(t, func() { MustPubKeyFromHex(s) }) + assert.Equal(t, p, MustPubKeyFromHex(s)) +} + +func TestPubKeyHex(t *testing.T) { + b := randBytes(t, 33) + p := NewPubKey(b) + h := p.Hex() + p2 := MustPubKeyFromHex(h) + assert.Equal(t, p2, p) + assert.Equal(t, p2.Hex(), h) +} + +func TestPubKeyVerify(t *testing.T) { + // Random bytes should not be valid, most of the time + failed := false + for i := 0; i < 10; i++ { + b := randBytes(t, 33) + if NewPubKey(b).Verify() != nil { + failed = true + break + } + } + assert.True(t, failed) +} + +func TestPubKeyVerifyNil(t *testing.T) { + // Empty public key should not be valid + p := PubKey{} + assert.NotNil(t, p.Verify()) +} + +func TestPubKeyVerifyDefault1(t *testing.T) { + // Generated pub key should be valid + p, _ := GenerateKeyPair() + assert.Nil(t, p.Verify()) +} + +func TestPubKeyVerifyDefault2(t *testing.T) { + for i := 0; i < 1024; i++ { + p, _ := GenerateKeyPair() + assert.Nil(t, p.Verify()) + } +} + +func TestPubKeyToAddressHash(t *testing.T) { + p, _ := GenerateKeyPair() + h := p.ToAddressHash() + // Should be Ripemd160(SHA256(SHA256())) + x := sha256.Sum256(p[:]) + x = sha256.Sum256(x[:]) + rh := ripemd160.New() + rh.Write(x[:]) + y := rh.Sum(nil) + assert.True(t, bytes.Equal(h[:], y)) +} + +func TestPubKeyToAddress(t *testing.T) { + p, _ := GenerateKeyPair() + addr := AddressFromPubKey(p) + //func (self Address) Verify(key PubKey) error { + err := addr.Verify(p) + assert.Nil(t, err) + addrStr := addr.String() + _, err = DecodeBase58Address(addrStr) + //func DecodeBase58Address(addr string) (Address, error) { + assert.Nil(t, err) +} + +func TestPubKeyToAddress2(t *testing.T) { + for i := 0; i < 1024; i++ { + p, _ := GenerateKeyPair() + addr := AddressFromPubKey(p) + //func (self Address) Verify(key PubKey) error { + err := addr.Verify(p) + assert.Nil(t, err) + addrStr := addr.String() + _, err = DecodeBase58Address(addrStr) + //func DecodeBase58Address(addr string) (Address, error) { + assert.Nil(t, err) + } +} + +func TestMustNewSecKey(t *testing.T) { + assert.Panics(t, func() { NewSecKey(randBytes(t, 31)) }) + assert.Panics(t, func() { NewSecKey(randBytes(t, 33)) }) + assert.Panics(t, func() { NewSecKey(randBytes(t, 34)) }) + assert.Panics(t, func() { NewSecKey(randBytes(t, 0)) }) + assert.Panics(t, func() { NewSecKey(randBytes(t, 100)) }) + assert.NotPanics(t, func() { NewSecKey(randBytes(t, 32)) }) + b := randBytes(t, 32) + p := NewSecKey(b) + assert.True(t, bytes.Equal(p[:], b)) +} + +func TestMustSecKeyFromHex(t *testing.T) { + // Invalid hex + assert.Panics(t, func() { MustSecKeyFromHex("") }) + assert.Panics(t, func() { MustSecKeyFromHex("cascs") }) + // Invalid hex length + p := NewSecKey(randBytes(t, 32)) + s := hex.EncodeToString(p[:len(p)/2]) + assert.Panics(t, func() { MustSecKeyFromHex(s) }) + // Valid + s = hex.EncodeToString(p[:]) + assert.NotPanics(t, func() { MustSecKeyFromHex(s) }) + assert.Equal(t, p, MustSecKeyFromHex(s)) +} + +func TestSecKeyHex(t *testing.T) { + b := randBytes(t, 32) + p := NewSecKey(b) + h := p.Hex() + p2 := MustSecKeyFromHex(h) + assert.Equal(t, p2, p) + assert.Equal(t, p2.Hex(), h) +} + +func TestSecKeyVerify(t *testing.T) { + // Empty secret key should not be valid + p := SecKey{} + assert.NotNil(t, p.Verify()) + + // Generated sec key should be valid + _, p = GenerateKeyPair() + assert.Nil(t, p.Verify()) + + // Random bytes are usually valid +} + +func TestECDHonce(t *testing.T) { + pub1, sec1 := GenerateKeyPair() + pub2, sec2 := GenerateKeyPair() + + buf1 := ECDH(pub2, sec1) + buf2 := ECDH(pub1, sec2) + + assert.True(t, bytes.Equal(buf1, buf2)) +} + +func TestECDHloop(t *testing.T) { + for i := 0; i < 128; i++ { + pub1, sec1 := GenerateKeyPair() + pub2, sec2 := GenerateKeyPair() + buf1 := ECDH(pub2, sec1) + buf2 := ECDH(pub1, sec2) + assert.True(t, bytes.Equal(buf1, buf2)) + } +} + +func TestNewSig(t *testing.T) { + assert.Panics(t, func() { NewSig(randBytes(t, 64)) }) + assert.Panics(t, func() { NewSig(randBytes(t, 66)) }) + assert.Panics(t, func() { NewSig(randBytes(t, 67)) }) + assert.Panics(t, func() { NewSig(randBytes(t, 0)) }) + assert.Panics(t, func() { NewSig(randBytes(t, 100)) }) + assert.NotPanics(t, func() { NewSig(randBytes(t, 65)) }) + b := randBytes(t, 65) + p := NewSig(b) + assert.True(t, bytes.Equal(p[:], b)) +} + +func TestMustSigFromHex(t *testing.T) { + // Invalid hex + assert.Panics(t, func() { MustSigFromHex("") }) + assert.Panics(t, func() { MustSigFromHex("cascs") }) + // Invalid hex length + p := NewSig(randBytes(t, 65)) + s := hex.EncodeToString(p[:len(p)/2]) + assert.Panics(t, func() { MustSigFromHex(s) }) + // Valid + s = hex.EncodeToString(p[:]) + assert.NotPanics(t, func() { MustSigFromHex(s) }) + assert.Equal(t, p, MustSigFromHex(s)) +} + +func TestSigHex(t *testing.T) { + b := randBytes(t, 65) + p := NewSig(b) + h := p.Hex() + p2 := MustSigFromHex(h) + assert.Equal(t, p2, p) + assert.Equal(t, p2.Hex(), h) +} + +func TestChkSig(t *testing.T) { + p, s := GenerateKeyPair() + assert.Nil(t, p.Verify()) + assert.Nil(t, s.Verify()) + a := AddressFromPubKey(p) + assert.Nil(t, a.Verify(p)) + b := randBytes(t, 256) + h := SumSHA256(b) + sig := SignHash(h, s) + assert.Nil(t, ChkSig(a, h, sig)) + // Empty sig should be invalid + assert.NotNil(t, ChkSig(a, h, Sig{})) + // Random sigs should not pass + for i := 0; i < 100; i++ { + assert.NotNil(t, ChkSig(a, h, NewSig(randBytes(t, 65)))) + } + // Sig for one hash does not work for another hash + h2 := SumSHA256(randBytes(t, 256)) + sig2 := SignHash(h2, s) + assert.Nil(t, ChkSig(a, h2, sig2)) + assert.NotNil(t, ChkSig(a, h, sig2)) + assert.NotNil(t, ChkSig(a, h2, sig)) + + // Different secret keys should not create same sig + p2, s2 := GenerateKeyPair() + a2 := AddressFromPubKey(p2) + h = SHA256{} + sig = SignHash(h, s) + sig2 = SignHash(h, s2) + assert.Nil(t, ChkSig(a, h, sig)) + assert.Nil(t, ChkSig(a2, h, sig2)) + assert.NotEqual(t, sig, sig2) + h = SumSHA256(randBytes(t, 256)) + sig = SignHash(h, s) + sig2 = SignHash(h, s2) + assert.Nil(t, ChkSig(a, h, sig)) + assert.Nil(t, ChkSig(a2, h, sig2)) + assert.NotEqual(t, sig, sig2) + + // Bad address should be invalid + assert.NotNil(t, ChkSig(a, h, sig2)) + assert.NotNil(t, ChkSig(a2, h, sig)) +} + +func TestSignHash(t *testing.T) { + p, s := GenerateKeyPair() + a := AddressFromPubKey(p) + h := SumSHA256(randBytes(t, 256)) + sig := SignHash(h, s) + assert.NotEqual(t, sig, Sig{}) + assert.Nil(t, ChkSig(a, h, sig)) +} + +func TestPubKeyFromSecKey(t *testing.T) { + p, s := GenerateKeyPair() + assert.Equal(t, PubKeyFromSecKey(s), p) + assert.Panics(t, func() { PubKeyFromSecKey(SecKey{}) }) + assert.Panics(t, func() { PubKeyFromSecKey(NewSecKey(randBytes(t, 99))) }) + assert.Panics(t, func() { PubKeyFromSecKey(NewSecKey(randBytes(t, 31))) }) +} + +func TestPubKeyFromSig(t *testing.T) { + p, s := GenerateKeyPair() + h := SumSHA256(randBytes(t, 256)) + sig := SignHash(h, s) + p2, err := PubKeyFromSig(sig, h) + assert.Equal(t, p, p2) + assert.Nil(t, err) + _, err = PubKeyFromSig(Sig{}, h) + assert.NotNil(t, err) +} + +func TestVerifySignature(t *testing.T) { + p, s := GenerateKeyPair() + h := SumSHA256(randBytes(t, 256)) + h2 := SumSHA256(randBytes(t, 256)) + sig := SignHash(h, s) + assert.Nil(t, VerifySignature(p, sig, h)) + assert.NotNil(t, VerifySignature(p, Sig{}, h)) + assert.NotNil(t, VerifySignature(p, sig, h2)) + p2, _ := GenerateKeyPair() + assert.NotNil(t, VerifySignature(p2, sig, h)) + assert.NotNil(t, VerifySignature(PubKey{}, sig, h)) +} + +func TestGenerateKeyPair(t *testing.T) { + p, s := GenerateKeyPair() + assert.Nil(t, p.Verify()) + assert.Nil(t, s.Verify()) +} + +func TestGenerateDeterministicKeyPair(t *testing.T) { + // TODO -- deterministic key pairs are useless as is because we can't + // generate pair n+1, only pair 0 + seed := randBytes(t, 32) + p, s := GenerateDeterministicKeyPair(seed) + assert.Nil(t, p.Verify()) + assert.Nil(t, s.Verify()) + p, s = GenerateDeterministicKeyPair(seed) + assert.Nil(t, p.Verify()) + assert.Nil(t, s.Verify()) +} + +func TestSecKeTest(t *testing.T) { + _, s := GenerateKeyPair() + assert.Nil(t, TestSecKey(s)) + assert.NotNil(t, TestSecKey(SecKey{})) +} + +func TestSecKeyHashTest(t *testing.T) { + _, s := GenerateKeyPair() + h := SumSHA256(randBytes(t, 256)) + assert.Nil(t, TestSecKeyHash(s, h)) + assert.NotNil(t, TestSecKeyHash(SecKey{}, h)) +} + +func TestGenerateDeterministicKeyPairsUsesAllBytes(t *testing.T) { + // Tests that if a seed >128 bits is used, the generator does not ignore bits >128 + seed := "property diet little foster provide disagree witness mountain alley weekend kitten general" + seckeys := GenerateDeterministicKeyPairs([]byte(seed), 3) + seckeys2 := GenerateDeterministicKeyPairs([]byte(seed[:16]), 3) + require.NotEqual(t, seckeys, seckeys2) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/encoder/README.md b/vendor/github.com/skycoin/skycoin/src/cipher/encoder/README.md new file mode 100755 index 0000000..3aa1c31 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/encoder/README.md @@ -0,0 +1,8 @@ +encoder +======= + +[![GoDoc](http://godoc.org/github.com//skycoin/skycoin/src/cipher/encoder?status.png)](http://godoc.org/github.com/skycoin/skycoin/src/cipher/encoder) + +[Godoc generated documentation](https://godoc.org/github.com/skycoin/skycoin/src/cipher/encoder) + +Binary struct encoder for Go. Fork of go's pkg encoding/binary. diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/encoder/encoder.go b/vendor/github.com/skycoin/skycoin/src/cipher/encoder/encoder.go new file mode 100755 index 0000000..70b89e0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/encoder/encoder.go @@ -0,0 +1,1147 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package encoder binary implements translation between numbers and byte sequences +// and encoding and decoding of varints. +// +// Numbers are translated by reading and writing fixed-size values. +// A fixed-size value is either a fixed-size arithmetic +// type (int8, uint8, int16, float32, complex64, ...) +// or an array or struct containing only fixed-size values. +// +// Varints are a method of encoding integers using one or more bytes; +// numbers with smaller absolute value take a smaller number of bytes. +// For a specification, see http://code.google.com/apis/protocolbuffers/docs/encoding.html. +// +// Fields can be ignored with the struct tag `enc:"-"` . +// Unexported struct fields are ignored by default . +// +// Fields can be skipped if empty with the struct tag `enc:",omitempty"` +// Note the comma, which follows package json's conventions. +// Only Slice, Map and String types recognize the omitempty tag. +// When omitempty is set, the no data will be written if the value is empty. +// If the value is empty and omitempty is not set, then a length prefix with value 0 would be written. +// omitempty can only be used for the last field in the struct +package encoder + +import ( + "errors" + "fmt" + "io" + "log" + "math" + "reflect" + "strings" +) + +/* +Todo: +- ensure that invalid input from foreign server cannot crash +- validate packet legnth for incoming +*/ + +var ( + // ErrBufferUnderflow bytes in input buffer not enough to deserialize expected type + ErrBufferUnderflow = errors.New("Not enough buffer data to deserialize") + // ErrInvalidOmitEmpty field tagged with omitempty and it's not last one in struct + ErrInvalidOmitEmpty = errors.New("omitempty only supported for the final field in the struct") +) + +// TODO: constant length byte arrays must not be prefixed + +// EncodeInt encodes an Integer type contained in `data` +// into buffer `b`. If `data` is not an Integer type, +// panic message is logged. +func EncodeInt(b []byte, data interface{}) { + //var b [8]byte + var bs []byte + switch v := data.(type) { + + case int8: + bs = b[:1] + b[0] = byte(v) + case uint8: + bs = b[:1] + b[0] = byte(v) + case int16: + bs = b[:2] + lePutUint16(bs, uint16(v)) + case uint16: + bs = b[:2] + lePutUint16(bs, v) + case int32: + bs = b[:4] + lePutUint32(bs, uint32(v)) + case uint32: + bs = b[:4] + lePutUint32(bs, v) + case int64: + bs = b[:8] + lePutUint64(bs, uint64(v)) + case uint64: + bs = b[:8] + lePutUint64(bs, v) + default: + log.Panic("PushAtomic, case not handled") + } +} + +// DecodeInt decodes `in` buffer into `data` parameter. +// If `data` is not an Integer type, panic message is logged. +func DecodeInt(in []byte, data interface{}) { + + n := intDestSize(data) + if len(in) < n { + log.Panic() + } + if n != 0 { + var b [8]byte + copy(b[0:n], in[0:n]) + bs := b[:n] + + switch v := data.(type) { + case *int8: + *v = int8(b[0]) + case *uint8: + *v = b[0] + case *int16: + *v = int16(leUint16(bs)) + case *uint16: + *v = leUint16(bs) + case *int32: + *v = int32(leUint32(bs)) + case *uint32: + *v = leUint32(bs) + case *int64: + *v = int64(leUint64(bs)) + case *uint64: + *v = leUint64(bs) + default: + //FIX: this does not get triggered on invalid type in + // pass in struct on unit test + log.Panic("PopAtomic, case not handled") + + } + + } +} + +// DeserializeAtomic deserializes `in` buffer into `data` +// parameter. If `data` is not an atomic type +// (i.e., Integer type or Boolean type), panic message is logged. +func DeserializeAtomic(in []byte, data interface{}) { + n := intDestSize(data) + if len(in) < n { + log.Panic(ErrBufferUnderflow) + } + if n != 0 { + var b [8]byte + copy(b[0:n], in[0:n]) + bs := b[:n] + + switch v := data.(type) { + case *bool: + if b[0] == 1 { + *v = true + } else { + *v = false + } + case *int8: + *v = int8(b[0]) + case *uint8: + *v = b[0] + case *int16: + *v = int16(leUint16(bs)) + case *uint16: + *v = leUint16(bs) + case *int32: + *v = int32(leUint32(bs)) + case *uint32: + *v = leUint32(bs) + case *int64: + *v = int64(leUint64(bs)) + case *uint64: + *v = leUint64(bs) + default: + //FIX: this does not get triggered on invalid type in + // pass in struct on unit test + log.Panic("type not atomic") + } + } +} + +// DeserializeRaw deserializes `in` buffer into return +// parameter. If `data` is not either a Pointer type, +// a Slice type or a Struct type, an error message +// is returned. If `in` buffer can't be deserialized, +// an error message is returned. +func DeserializeRaw(in []byte, data interface{}) error { + v := reflect.ValueOf(data) + switch v.Kind() { + case reflect.Ptr: + v = v.Elem() + case reflect.Slice: + case reflect.Struct: + case reflect.Map: + default: + return fmt.Errorf("Invalid type %s", reflect.TypeOf(v).String()) + } + + d1 := &decoder{buf: make([]byte, len(in))} + copy(d1.buf, in) + + //check if can deserialize + d2 := &decoder{buf: make([]byte, len(in))} + copy(d2.buf, in) + if d2.dchk(v) != 0 { + return errors.New("Deserialization failed") + } + + return d1.value(v) +} + +// Deserialize reads `dsize` bytes from `r` and deserializes +// the resulting buffer into return parameter. If `data` +// is not either a Pointer type, a Slice type or a Struct type, +// an error message is returned. If `in` buffer can't be deserialized, +// an error message is returned. +func Deserialize(r io.Reader, dsize int, data interface{}) error { + // Fallback to reflect-based decoding. + //fmt.Printf("A1 v is type %s \n", reflect.TypeOf(data).String() ) + //fmt.Printf("A2 v is value/type %s \n", reflect.ValueOf(data).Type().String() ) + //fmt.Printf("A2 v is value,kind %s \n", reflect.ValueOf(data).Kind().String() ) + + var v reflect.Value + switch d := reflect.ValueOf(data); d.Kind() { + //case reflect. + + case reflect.Ptr: + v = d.Elem() + case reflect.Slice: + v = d + case reflect.Struct: + + default: + return errors.New("binary.Read: invalid type " + reflect.TypeOf(d).String()) + } + //size, err := datasizeWrite(v) + //if err != nil { + // return errors.New("binary.Read: " + err.Error()) + //} + + //fmt.Printf("B v is type %s \n", v.Type().String() ) + //fmt.Printf("C v is type %s \n", reflect.TypeOf(v).String() ) + //fmt.Printf("D v is type %s \n", reflect.TypeOf(reflect.TypeOf(v)).String() ) + + d1 := &decoder{buf: make([]byte, dsize)} + if _, err := io.ReadFull(r, d1.buf); err != nil { + return err + } + + //check if can deserialize + d2 := &decoder{buf: make([]byte, dsize)} + copy(d2.buf, d1.buf) + if d2.dchk(v) != 0 { + return errors.New("Deserialization failed") + } + + return d1.value(v) +} + +// CanDeserialize returns true if `in` buffer can be +// deserialized into `dst`'s type. Returns false in any +// other case. +func CanDeserialize(in []byte, dst reflect.Value) bool { + d1 := &decoder{buf: make([]byte, len(in))} + copy(d1.buf, in) + if d1.dchk(dst) != 0 { + return false + } + return true +} + +// DeserializeRawToValue deserializes `in` buffer into +// `dst`'s type and returns the number of bytes used and +// the value of the buffer. If `data` is not either a +// Pointer type, a Slice type or a Struct type, 0 and an error +// message are returned. If `in` buffer can't be deserialized, 0 and +// an error message are returned. +func DeserializeRawToValue(in []byte, dst reflect.Value) (int, error) { + var v reflect.Value + switch dst.Kind() { + case reflect.Ptr: + v = dst.Elem() + case reflect.Slice: + v = dst + case reflect.Struct: + default: + return 0, errors.New("binary.Read: invalid type " + reflect.TypeOf(dst).String()) + } + + inlen := len(in) + d1 := &decoder{buf: make([]byte, inlen)} + copy(d1.buf, in) + + //check if can deserialize + d2 := &decoder{buf: make([]byte, inlen)} + copy(d2.buf, d1.buf) + if d2.dchk(v) != 0 { + return 0, errors.New("Deserialization failed") + } + + err := d1.value(v) + return inlen - len(d1.buf), err +} + +// DeserializeToValue reads `dsize` bytes from `r`, +// deserializes the resulting buffer into `dst`'s type and +// returns the value of the buffer. If `data` is not either +// a Pointer type, a Slice type or a Struct type, an error +// message is returned. If `in` buffer can't be deserialized, an +// error message is returned. +func DeserializeToValue(r io.Reader, dsize int, dst reflect.Value) error { + + //fmt.Printf("*A1 v is type %s \n", data.Type().String() ) //this is the type of the value + + var v reflect.Value + switch dst.Kind() { + case reflect.Ptr: + v = dst.Elem() + case reflect.Slice: + v = dst + case reflect.Struct: + + default: + return errors.New("binary.Read: invalid type " + reflect.TypeOf(dst).String()) + } + + //fmt.Printf("*A2 v is type %s \n", v.Type().String() ) //this is the type of the value + + d1 := &decoder{buf: make([]byte, dsize)} + if _, err := io.ReadFull(r, d1.buf); err != nil { + return err + } + + return d1.value(v) +} + +// SerializeAtomic returns serialization of `data` +// parameter. If `data` is not an atomic type, panic message is logged. +func SerializeAtomic(data interface{}) []byte { + var b [8]byte + var bs []byte + switch v := data.(type) { + case *bool: + bs = b[:1] + if *v { + b[0] = 1 + } else { + b[0] = 0 + } + case bool: + bs = b[:1] + if v { + b[0] = 1 + } else { + b[0] = 0 + } + case *int8: + bs = b[:1] + b[0] = byte(*v) + case int8: + bs = b[:1] + b[0] = byte(v) + case *uint8: + bs = b[:1] + b[0] = *v + case uint8: + bs = b[:1] + b[0] = byte(v) + case *int16: + bs = b[:2] + lePutUint16(bs, uint16(*v)) + case int16: + bs = b[:2] + lePutUint16(bs, uint16(v)) + case *uint16: + bs = b[:2] + lePutUint16(bs, *v) + case uint16: + bs = b[:2] + lePutUint16(bs, v) + case *int32: + bs = b[:4] + lePutUint32(bs, uint32(*v)) + case int32: + bs = b[:4] + lePutUint32(bs, uint32(v)) + case *uint32: + bs = b[:4] + lePutUint32(bs, *v) + case uint32: + bs = b[:4] + lePutUint32(bs, v) + case *int64: + bs = b[:8] + lePutUint64(bs, uint64(*v)) + case int64: + bs = b[:8] + lePutUint64(bs, uint64(v)) + case *uint64: + bs = b[:8] + lePutUint64(bs, *v) + case uint64: + bs = b[:8] + lePutUint64(bs, v) + default: + log.Panic("type not atomic") + } + return bs +} + +// Serialize returns serialized basic type-based `data` +// parameter. Encoding is reflect-based. +func Serialize(data interface{}) []byte { + // Fast path for basic types. + // Fallback to reflect-based encoding. + v := reflect.Indirect(reflect.ValueOf(data)) + size, err := datasizeWrite(v) + if err != nil { + log.Panic(err) + } + buf := make([]byte, size) + e := &encoder{buf: buf} + e.value(v) + return buf +} + +// Size returns how many bytes would it take to encode the +// value v, which must be a fixed-size value (struct) or a +// slice of fixed-size values, or a pointer to such data. +// Reflect-based encoding is used. +func Size(v interface{}) int { + n, err := datasizeWrite(reflect.Indirect(reflect.ValueOf(v))) + if err != nil { + return -1 + } + return n +} + +// isEmpty returns true if a value is "empty". +// Only supports Slice, Map and String. +// All other values are never considered empty. +func isEmpty(v reflect.Value) bool { + t := v.Type() + switch t.Kind() { + case reflect.String: + return v.Len() == 0 + case reflect.Map: + return v.IsNil() || v.Len() == 0 + case reflect.Slice: + return v.IsNil() || v.Len() == 0 + default: + return false + } +} + +// datasizeWrite returns the number of bytes the actual data represented by v occupies in memory. +// For compound structures, it sums the sizes of the elements. Thus, for instance, for a slice +// it returns the length of the slice times the element size and does not count the memory +// occupied by the header. +func datasizeWrite(v reflect.Value) (int, error) { + t := v.Type() + switch t.Kind() { + case reflect.Interface: + return datasizeWrite(v.Elem()) + + case reflect.Array: + // Arrays are a fixed size, so the length is not written + size := 0 + for i := 0; i < v.Len(); i++ { + elem := v.Index(i) + s, err := datasizeWrite(elem) + if err != nil { + return 0, err + } + size += s + } + return size, nil + + case reflect.Slice: + size := 0 + for i := 0; i < v.Len(); i++ { + elem := v.Index(i) + s, err := datasizeWrite(elem) + if err != nil { + return 0, err + } + size += s + } + return 4 + size, nil + + case reflect.Map: + // length prefix + size := 4 + for _, key := range v.MapKeys() { + s, err := datasizeWrite(key) + if err != nil { + return 0, err + } + size += s + elem := v.MapIndex(key) + s, err = datasizeWrite(elem) + if err != nil { + return 0, err + } + size += s + } + return size, nil + + case reflect.Struct: + sum := 0 + nFields := t.NumField() + for i, n := 0, nFields; i < n; i++ { + ff := t.Field(i) + // Skip unexported fields + if ff.PkgPath != "" { + continue + } + + tag, omitempty := ParseTag(ff.Tag.Get("enc")) + + if omitempty && i != nFields-1 { + log.Panic(ErrInvalidOmitEmpty) + } + + if tag != "-" { + fv := v.Field(i) + if !omitempty || !isEmpty(fv) { + s, err := datasizeWrite(fv) + if err != nil { + return 0, err + } + sum += s + } + } + } + return sum, nil + + case reflect.Bool: + return 1, nil + + case reflect.String: + return len(v.String()) + 4, nil + + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, + reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, + reflect.Float32, reflect.Float64: + return int(t.Size()), nil + + default: + return 0, errors.New("invalid type " + t.String()) + } +} + +// ParseTag to extract encoder args from raw string +func ParseTag(tag string) (string, bool) { + tagSplit := strings.Split(tag, ",") + name := tagSplit[0] + + omitempty := false + if len(tagSplit) > 1 && tagSplit[1] == "omitempty" { + omitempty = true + } + + return name, omitempty +} + +/* + Internals +*/ + +func leUint16(b []byte) uint16 { return uint16(b[0]) | uint16(b[1])<<8 } + +func lePutUint16(b []byte, v uint16) { + b[0] = byte(v) + b[1] = byte(v >> 8) +} + +func leUint32(b []byte) uint32 { + return uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 +} + +func lePutUint32(b []byte, v uint32) { + b[0] = byte(v) + b[1] = byte(v >> 8) + b[2] = byte(v >> 16) + b[3] = byte(v >> 24) +} + +func leUint64(b []byte) uint64 { + return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | + uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 +} + +func lePutUint64(b []byte, v uint64) { + b[0] = byte(v) + b[1] = byte(v >> 8) + b[2] = byte(v >> 16) + b[3] = byte(v >> 24) + b[4] = byte(v >> 32) + b[5] = byte(v >> 40) + b[6] = byte(v >> 48) + b[7] = byte(v >> 56) +} + +type coder struct { + buf []byte //nolint: structcheck +} + +type decoder coder +type encoder coder + +func (d *decoder) bool() bool { + x := d.buf[0] + d.buf = d.buf[1:] //advance slice + if x == 0 { + return false + } + return true +} + +func (e *encoder) bool(x bool) { + if x { + e.buf[0] = 1 + } else { + e.buf[0] = 0 + } + e.buf = e.buf[1:] +} + +func (d decoder) string() string { + l := int(d.uint32()) //pop length + t := d.buf[:l] + d.buf = d.buf[l:] + return string(t) +} + +func (e encoder) string(xs string) { + x := []byte(xs) + l := len(x) + for i := 0; i < l; i++ { + e.buf[i] = x[i] + } //memcpy + e.buf = e.buf[l:] //advance slice l bytes + +} //write this + +func (d *decoder) uint8() uint8 { + x := d.buf[0] + d.buf = d.buf[1:] //advance slice + return x +} + +func (e *encoder) uint8(x uint8) { + e.buf[0] = x + e.buf = e.buf[1:] +} + +func (d *decoder) uint16() uint16 { + x := leUint16(d.buf[0:2]) + d.buf = d.buf[2:] + return x +} + +func (e *encoder) uint16(x uint16) { + lePutUint16(e.buf[0:2], x) + e.buf = e.buf[2:] +} + +func (d *decoder) uint32() uint32 { + x := leUint32(d.buf[0:4]) + d.buf = d.buf[4:] + return x +} + +func (e *encoder) uint32(x uint32) { + lePutUint32(e.buf[0:4], x) + e.buf = e.buf[4:] +} + +func (d *decoder) uint64() uint64 { + x := leUint64(d.buf[0:8]) + d.buf = d.buf[8:] + return x +} + +func (e *encoder) uint64(x uint64) { + lePutUint64(e.buf[0:8], x) + e.buf = e.buf[8:] +} + +//v.SetBytes(d.bytes()) +func (d decoder) bytes() []byte { + l := int(d.uint32()) //pop length + t := d.buf[:l] + d.buf = d.buf[l:] + return t +} + +func (e encoder) bytes(x []byte) { + l := len(x) + for i := 0; i < l; i++ { + e.buf[i] = x[i] + } //memcpy + e.buf = e.buf[l:] //advance slice l bytes + +} //write this + +func (d *decoder) int8() int8 { return int8(d.uint8()) } + +func (e *encoder) int8(x int8) { e.uint8(uint8(x)) } + +func (d *decoder) int16() int16 { return int16(d.uint16()) } + +func (e *encoder) int16(x int16) { e.uint16(uint16(x)) } + +func (d *decoder) int32() int32 { return int32(d.uint32()) } + +func (e *encoder) int32(x int32) { e.uint32(uint32(x)) } + +func (d *decoder) int64() int64 { return int64(d.uint64()) } + +func (e *encoder) int64(x int64) { e.uint64(uint64(x)) } + +func (d *decoder) value(v reflect.Value) error { + kind := v.Kind() + switch kind { + + case reflect.Array: + // Arrays are a fixed size, so the length is not written + for i := 0; i < v.Len(); i++ { + if err := d.value(v.Index(i)); err != nil { + return err + } + } + + case reflect.Map: + if len(d.buf) < 4 { + return ErrBufferUnderflow + } + length := int(d.uint32()) + if length < 0 || length > len(d.buf) { + return fmt.Errorf("Invalid length: %d", length) + } + t := v.Type() + key := t.Key() + elem := t.Elem() + if v.IsNil() { + v.Set(reflect.Indirect(reflect.MakeMap(t))) + } + for i := 0; i < length; i++ { + keyv := reflect.Indirect(reflect.New(key)) + elemv := reflect.Indirect(reflect.New(elem)) + if err := d.value(keyv); err != nil { + return err + } + if err := d.value(elemv); err != nil { + return err + } + v.SetMapIndex(keyv, elemv) + } + + case reflect.Slice: + if len(d.buf) < 4 { + return ErrBufferUnderflow + } + length := int(d.uint32()) + if length < 0 || length > len(d.buf) { + return fmt.Errorf("Invalid length: %d", length) + } + elem := v.Type().Elem() + if elem.Kind() == reflect.Uint8 { + v.SetBytes(d.buf[:length]) + d.buf = d.buf[length:] + } else { + for i := 0; i < length; i++ { + elemv := reflect.Indirect(reflect.New(elem)) + if err := d.value(elemv); err != nil { + return err + } + v.Set(reflect.Append(v, elemv)) + } + } + + case reflect.Struct: + t := v.Type() + nFields := v.NumField() + for i := 0; i < nFields; i++ { + ff := t.Field(i) + // Skip unexported fields + if ff.PkgPath != "" { + continue + } + + tag, omitempty := ParseTag(ff.Tag.Get("enc")) + + if omitempty && i != nFields-1 { + log.Panic(ErrInvalidOmitEmpty) + } + + if tag != "-" { + fv := v.Field(i) + if fv.CanSet() && ff.Name != "_" { + if err := d.value(fv); err != nil { + // omitempty fields at the end of the buffer are ignored + if !(omitempty && len(d.buf) == 0) { + return err + } + } + } else { + //dont decode anything + //d.skip(fv) //BUG!? + } + } + } + + case reflect.String: + if len(d.buf) < 4 { + return ErrBufferUnderflow + } + length := int(d.uint32()) + if length < 0 || length > len(d.buf) { + return fmt.Errorf("Invalid length: %d", length) + } + v.SetString(string(d.buf[:length])) + d.buf = d.buf[length:] + + case reflect.Bool: + v.SetBool(d.bool()) + case reflect.Int8: + v.SetInt(int64(d.int8())) + case reflect.Int16: + v.SetInt(int64(d.int16())) + case reflect.Int32: + v.SetInt(int64(d.int32())) + case reflect.Int64: + v.SetInt(d.int64()) + + case reflect.Uint8: + v.SetUint(uint64(d.uint8())) + case reflect.Uint16: + v.SetUint(uint64(d.uint16())) + case reflect.Uint32: + v.SetUint(uint64(d.uint32())) + case reflect.Uint64: + v.SetUint(d.uint64()) + + case reflect.Float32: + v.SetFloat(float64(math.Float32frombits(d.uint32()))) + case reflect.Float64: + v.SetFloat(math.Float64frombits(d.uint64())) + + default: + log.Panicf("Decode error: kind %s not handled", v.Kind().String()) + } + + return nil +} + +//advance, returns -1 on failure +//returns 0 on success +func (d *decoder) adv(n int) int { + if n > len(d.buf) { + n = len(d.buf) + d.buf = d.buf[n:] + return -1 + } + d.buf = d.buf[n:] + return 0 +} + +//recursive size +func (d *decoder) dchk(v reflect.Value) int { + kind := v.Kind() + switch kind { + + case reflect.Array: + // Arrays are a fixed size, so the length is not written + for i := 0; i < v.Len(); i++ { + if d.dchk(v.Index(i)) < 0 { + return -1 + } + } + return 0 + + case reflect.Map: + if len(d.buf) < 4 { + return -1 //error + } + + length := int(leUint32(d.buf[0:4])) + if d.adv(4) < 0 { + return -1 + } + + key := v.Type().Key() + elem := v.Type().Elem() + + for i := 0; i < length; i++ { + keyv := reflect.Indirect(reflect.New(key)) + elemv := reflect.Indirect(reflect.New(elem)) + + if d.dchk(keyv) < 0 { + return -1 + } + + if d.dchk(elemv) < 0 { + return -1 + } + } + return 0 + case reflect.Slice: + if len(d.buf) < 4 { + return -1 + } + + length := int(leUint32(d.buf[0:4])) + if d.adv(4) < 0 { + return -1 + } + + if length < 0 || length > len(d.buf) { + return -1 + } + + elem := v.Type().Elem() + if elem.Kind() == reflect.Uint8 { + return d.adv(length) + } + + for i := 0; i < length; i++ { + elemv := reflect.Indirect(reflect.New(elem)) + + if d.dchk(elemv) < 0 { + return -1 + } + } + return 0 + + case reflect.Struct: + t := v.Type() + nFields := v.NumField() + for i := 0; i < nFields; i++ { + ff := t.Field(i) + // Skip unexported fields + if ff.PkgPath != "" { + continue + } + + tag, omitempty := ParseTag(ff.Tag.Get("enc")) + + if omitempty && i != nFields-1 { + log.Panic(ErrInvalidOmitEmpty) + } + + if tag != "-" { + fv := v.Field(i) + if !omitempty && fv.CanSet() && ff.Name != "_" { + if d.dchk(fv) < 0 { + return -1 + } + } else { + //dont try to decode anything + //d.skip(fv) //BUG!? + } + } + } + return 0 + + case reflect.Bool: + return d.adv(1) + case reflect.String: + if len(d.buf) < 4 { + return -1 + } + + length := int(leUint32(d.buf[0:4])) + if d.adv(4) < 0 { + return -1 + } + + return d.adv(length) + case reflect.Int8: + return d.adv(1) + case reflect.Int16: + return d.adv(2) + case reflect.Int32: + return d.adv(4) + case reflect.Int64: + return d.adv(8) + + case reflect.Uint8: + return d.adv(1) + case reflect.Uint16: + return d.adv(2) + case reflect.Uint32: + return d.adv(4) + case reflect.Uint64: + return d.adv(8) + + case reflect.Float32: + return d.adv(4) + case reflect.Float64: + return d.adv(8) + + default: + log.Panicf("Decode error: kind %s not handled", v.Kind().String()) + } + + log.Panic() + return 0 +} + +func (e *encoder) value(v reflect.Value) { + + switch v.Kind() { + case reflect.Interface: + e.value(v.Elem()) + + case reflect.Array: + // Arrays are a fixed size, so the length is not written + for i := 0; i < v.Len(); i++ { + e.value(v.Index(i)) + } + + case reflect.Slice: + e.uint32(uint32(v.Len())) + for i := 0; i < v.Len(); i++ { + e.value(v.Index(i)) + } + + case reflect.Map: + e.uint32(uint32(v.Len())) + for _, key := range v.MapKeys() { + e.value(key) + e.value(v.MapIndex(key)) + } + + case reflect.Struct: + t := v.Type() + nFields := v.NumField() + for i := 0; i < nFields; i++ { + // see comment for corresponding code in decoder.value() + ff := t.Field(i) + // Skip unexported fields + if ff.PkgPath != "" { + continue + } + + tag, omitempty := ParseTag(ff.Tag.Get("enc")) + + if omitempty && i != nFields-1 { + log.Panic(ErrInvalidOmitEmpty) + } + + if tag != "-" { + fv := v.Field(i) + if !(omitempty && isEmpty(fv)) && (fv.CanSet() || ff.Name != "_") { + e.value(fv) + } else { + //dont write anything + //e.skip(v) + } + } + } + + case reflect.Bool: + e.bool(v.Bool()) + + case reflect.String: + vb := []byte(v.String()) + e.uint32(uint32(len(vb))) + for i := 0; i < len(vb); i++ { + e.uint8(vb[i]) + } + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + switch v.Type().Kind() { + case reflect.Int8: + e.int8(int8(v.Int())) + case reflect.Int16: + e.int16(int16(v.Int())) + case reflect.Int32: + e.int32(int32(v.Int())) + case reflect.Int64: + e.int64(v.Int()) + } + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + switch v.Type().Kind() { + case reflect.Uint8: + e.uint8(uint8(v.Uint())) + case reflect.Uint16: + e.uint16(uint16(v.Uint())) + case reflect.Uint32: + e.uint32(uint32(v.Uint())) + case reflect.Uint64: + e.uint64(v.Uint()) + } + + case reflect.Float32, reflect.Float64: + switch v.Type().Kind() { + case reflect.Float32: + e.uint32(math.Float32bits(float32(v.Float()))) + case reflect.Float64: + e.uint64(math.Float64bits(v.Float())) + } + + default: + log.Panic("Encoding unhandled type " + v.Type().Name()) + + } + +} + +func (d *decoder) skip(v reflect.Value) { + n, _ := datasizeWrite(v) + d.buf = d.buf[n:] +} + +//skip with byte size return +/* +func (d *decoder) skipn(v reflect.Value) int { + n := intDestSize(&v) + if n == 0 { + log.Panic() + } + d.buf = d.buf[n:] + return n +} +*/ +func (e *encoder) skip(v reflect.Value) { + n, _ := datasizeWrite(v) + for i := range e.buf[0:n] { + e.buf[i] = 0 + } + e.buf = e.buf[n:] +} + +// intDestSize returns the size of the integer that ptrType points to, +// or 0 if the type is not supported. +func intDestSize(ptrType interface{}) int { + switch ptrType.(type) { + case *bool: + return 1 + case *int8, *uint8: + return 1 + case *int16, *uint16: + return 2 + case *int32, *uint32: + return 4 + case *int64, *uint64: + return 8 + } + return 0 +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/encoder/encoder_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/encoder/encoder_test.go new file mode 100755 index 0000000..901ef9b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/encoder/encoder_test.go @@ -0,0 +1,894 @@ +package encoder + +import ( + "bytes" + "crypto/rand" + "encoding/hex" + "log" + "reflect" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" +) + +func randBytes(n int) []byte { // nolint: unparam + const alphanum = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" + var bytes = make([]byte, n) + rand.Read(bytes) + for i, b := range bytes { + bytes[i] = alphanum[b%byte(len(alphanum))] + } + return bytes +} + +/* +* the file name has to end with _test.go to be picked up as a set of tests by go test +* the package name has to be the same as in the source file that has to be tested +* you have to import the package testing +* all test functions should start with Test to be run as a test +* the tests will be executed in the same order that they are appear in the source +* the test function TestXxx functions take a pointer to the type testing.T. You use it to record the test status and also for logging. +* the signature of the test function should always be func TestXxx ( *testing.T). You can have any combination of alphanumeric characters and the hyphen for the Xxx part, the only constraint that it should not begin with a small alphabet, [a-z]. +* a call to any of the following functions of testing.T within the test code Error, Errorf, FailNow, Fatal, FatalIf will indicate to go test that the test has failed. + */ + +//Size of= 13 +type TestStruct struct { + X int32 + Y int64 + Z uint8 + K []byte + W bool + T string + U cipher.PubKey +} + +type TestStruct2 struct { + X int32 + Y int64 + Z uint8 + K [8]byte + W bool +} + +type TestStructIgnore struct { + X int32 + Y int64 + Z uint8 `enc:"-"` + K []byte +} + +type TestStructWithoutIgnore struct { + X int32 + Y int64 + K []byte +} + +//func (*B) Fatal + +func Test_Encode_1(T *testing.T) { //test function starts with "Test" and takes a pointer to type testing.T + var t TestStruct + t.X = 345535 + t.Y = 23432435443 + t.Z = 255 + t.K = []byte("TEST6") + t.W = true + t.T = "hello" + t.U = cipher.PubKey{1, 2, 3, 0, 5, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} + + b := Serialize(t) + + var buf bytes.Buffer + buf.Write(b) + + var t2 TestStruct + err := Deserialize(&buf, len(b), &t2) + if err != nil { + T.Fatal(err) + } + + b2 := Serialize(t2) + + if bytes.Compare(b, b2) != 0 { + T.Fatal() + } +} + +func Test_Encode_2a(T *testing.T) { //test function starts with "Test" and takes a pointer to type testing.T + var t TestStruct2 + t.X = 345535 + t.Y = 23432435443 + t.Z = 255 + t.W = false + _tt := []byte("ASDSADFSDFASDFSD") + for i := 0; i < 8; i++ { + t.K[i] = _tt[i] + } + + b := Serialize(t) + + var buf bytes.Buffer + buf.Write(b) + + var t2 TestStruct2 + err := Deserialize(&buf, len(b), &t2) + if err != nil { + T.Fatal(err) + } + + b2 := Serialize(t2) + + if bytes.Compare(b, b2) != 0 { + T.Fatal() + } +} + +func Test_Encode_2b(T *testing.T) { //test function starts with "Test" and takes a pointer to type testing.T + var t TestStruct2 + t.X = 345535 + t.Y = 23432435443 + t.Z = 255 + _tt := []byte("ASDSADFSDFASDFSD") + for i := 0; i < 8; i++ { + t.K[i] = _tt[i] + } + + b := Serialize(t) + + var t2 TestStruct2 + err := DeserializeRaw(b, &t2) + if err != nil { + T.Fatal(err) + } + + b2 := Serialize(t2) + + if bytes.Compare(b, b2) != 0 { + T.Fatal() + } +} + +type TestStruct3 struct { + X int32 + K []byte +} + +func Test_Encode_3a(T *testing.T) { //test function starts with "Test" and takes a pointer to type testing.T + var t1 TestStruct3 + t1.X = 345535 + t1.K = randBytes(32) + + b := Serialize(t1) + + var buf bytes.Buffer + buf.Write(b) + + var t2 TestStruct3 + err := Deserialize(&buf, len(b), &t2) + if err != nil { + T.Fatal(err) + } + + if t1.X != t2.X || len(t1.K) != len(t2.K) || bytes.Compare(t1.K, t2.K) != 0 { + T.Fatal() + } + + b2 := Serialize(t2) + + if bytes.Compare(b, b2) != 0 { + T.Fatal() + } +} + +func Test_Encode_3b(T *testing.T) { //test function starts with "Test" and takes a pointer to type testing.T + var t1 TestStruct3 + t1.X = 345535 + t1.K = randBytes(32) + + b := Serialize(t1) + + var t2 TestStruct3 + err := DeserializeRaw(b, &t2) + if err != nil { + T.Fatal(err) + } + + if t1.X != t2.X || len(t1.K) != len(t2.K) || bytes.Compare(t1.K, t2.K) != 0 { + T.Fatal() + } + + b2 := Serialize(t2) + + if bytes.Compare(b, b2) != 0 { + T.Fatal() + } +} + +type TestStruct4 struct { + X int32 + Y int32 +} + +type TestStruct5 struct { + X int32 + A []TestStruct4 +} + +func Test_Encode_4(T *testing.T) { + var t1 TestStruct5 + t1.X = 345535 + + const NUM = 8 + t1.A = make([]TestStruct4, NUM) + + b := Serialize(t1) + + var t2 TestStruct5 + err := DeserializeRaw(b, &t2) + if err != nil { + T.Fatal(err) + } + + if t1.X != t2.X { + T.Fatal("TestStruct5.X not equal") + } + + if len(t1.A) != len(t2.A) { + T.Fatal("Slice lengths not equal") + } + + for i, ts := range t1.A { + if ts != t2.A[i] { + T.Fatal("Slice values not equal") + } + } + + b2 := Serialize(t2) + + if bytes.Compare(b, b2) != 0 { + T.Fatal() + } +} + +// type TestStruct2 struct { +// X int32 +// Y int64 +// Z uint8 +// K [8]byte +// } + +func Test_Encode_5(T *testing.T) { + + var ts TestStruct2 + ts.X = 345535 + ts.Y = 23432435443 + ts.Z = 255 + + b1 := Serialize(ts) + + var t = reflect.TypeOf(ts) + var v = reflect.New(t) //pointer to type t + + //New returns a Value representing a pointer to a new zero value for the specified type. + //That is, the returned Value's Type is PtrTo(t). + + _, err := DeserializeRawToValue(b1, v) + if err != nil { + T.Fatal(err) + } + + v = reflect.Indirect(v) + if v.FieldByName("X").Int() != int64(ts.X) { + T.Fatalf("X not equal") + } + if v.FieldByName("Y").Int() != ts.Y { + T.Fatalf("Y not equal") + } + if v.FieldByName("Z").Uint() != uint64(ts.Z) { + T.Fatalf("Z not equal") + } +} + +func Test_Encode_IgnoreTagSerialize(T *testing.T) { + var t TestStructIgnore + t.X = 345535 + t.Y = 23432435443 + t.Z = 255 + t.K = []byte("TEST6") + + b := Serialize(t) + var buf bytes.Buffer + buf.Write(b) + + var t2 TestStructIgnore + t.X = 0 + t.Y = 0 + t.Z = 0 + t.K = []byte("") + err := Deserialize(&buf, len(b), &t2) + if err != nil { + T.Fatal(err) + } + + if t2.Z != 0 { + T.Fatalf("Z should not deserialize. It is %d", t2.Z) + } + + buf.Reset() + buf.Write(b) + + var t3 TestStructWithoutIgnore + err = Deserialize(&buf, len(b), &t3) + if err != nil { + T.Fatal(err) + } + + b2 := Serialize(t2) + if bytes.Compare(b, b2) != 0 { + T.Fatal() + } +} + +type Contained struct { + X uint32 + Y uint64 + Bytes []uint8 + Ints []uint16 +} + +type Container struct { + Elements []Contained +} + +func TestEncodeNestedSlice(t *testing.T) { + size := 0 + elems := make([]Contained, 4) + for i := range elems { + elems[i].X = uint32(i) + size += 4 + elems[i].Y = uint64(i) + size += 8 + elems[i].Bytes = make([]uint8, i) + for j := range elems[i].Bytes { + elems[i].Bytes[j] = uint8(j) + } + size += 4 + i*1 + elems[i].Ints = make([]uint16, i) + for j := range elems[i].Ints { + elems[i].Ints[j] = uint16(j) + } + size += 4 + i*2 + } + c := Container{elems} + n, err := datasizeWrite(reflect.ValueOf(c)) + if err != nil { + t.Fatalf("datasizeWrite failed: %v", err) + } + if n != size+4 { + t.Fatal("Wrong data size") + } + b := Serialize(c) + d := Container{} + err = DeserializeRaw(b, &d) + if err != nil { + t.Fatalf("DeserializeRaw failed: %v", err) + } + for i, e := range d.Elements { + if c.Elements[i].X != e.X || c.Elements[i].Y != e.Y { + t.Fatalf("Deserialized x, y to invalid value. "+ + "Expected %d,%d but got %d,%d", c.Elements[i].X, + c.Elements[i].Y, e.X, e.Y) + } + if len(c.Elements[i].Bytes) != len(e.Bytes) { + t.Fatal("Deserialized Bytes to invalid length") + } + for j, b := range c.Elements[i].Bytes { + if c.Elements[i].Bytes[j] != b { + t.Fatal("Deserialized to invalid value") + } + } + if len(c.Elements[i].Ints) != len(e.Ints) { + t.Fatal("Deserialized Ints to invalid length") + } + for j, b := range c.Elements[i].Ints { + if c.Elements[i].Ints[j] != b { + t.Fatal("Deserialized Ints to invalid value") + } + } + } +} + +type Array struct { + Arr []int +} + +func TestDecodeNotEnoughLength(t *testing.T) { + b := make([]byte, 2) + var d Array + err := DeserializeRaw(b, &d) + if err == nil { + t.Fatal("Expected error") + } else if err.Error() != "Deserialization failed" { + t.Fatalf("Expected different error, but got %s", err.Error()) + } + + // Test with slice + thing := make([]int, 3) + err = DeserializeRaw(b, thing) + if err == nil { + t.Fatal("Expected error") + } else if err.Error() != "Deserialization failed" { + t.Fatal("Expected different error") + } +} + +func TestFlattenMultidimensionalBytes(t *testing.T) { + var data [16][16]byte + for i := 0; i < 16; i++ { + for j := 0; j < 16; j++ { + data[i][j] = byte(i * j) + } + } + + b := Serialize(data) + expect := 16 * 16 + if len(b) != expect { + t.Fatalf("Expected %d bytes, decoded to %d bytes", expect, len(b)) + } + +} + +func TestMultiArrays(T *testing.T) { + var data [16][16]byte + for i := 0; i < 16; i++ { + for j := 0; j < 16; j++ { + data[i][j] = byte(i * j) + } + } + + b := Serialize(data) + + var data2 [16][16]byte + + err := DeserializeRaw(b, &data2) + if err != nil { + T.Fatal(err) + } + + for i := 0; i < 16; i++ { + for j := 0; j < 16; j++ { + if data[i][j] != data2[i][j] { + T.Fatalf("failed round trip test") + } + } + } + + b2 := Serialize(data2) + if !bytes.Equal(b, b2) { + T.Fatalf("Failed round trip test") + } + + if len(b) != 256 { + T.Fatalf("decoded to wrong byte length") + } + +} + +func TestSerializeAtomic(t *testing.T) { + + var sp uint64 = 0x000C8A9E1809F720 + b := SerializeAtomic(sp) + + var i uint64 + DeserializeAtomic(b, &i) + + if i != sp { + t.Fatal("round trip atomic fail") + } +} + +func TestPushPop(t *testing.T) { + var sp uint64 = 0x000C8A9E1809F720 + + var d [8]byte + EncodeInt(d[0:8], sp) + + //fmt.Printf("d= %X \n", d[:]) + + var ti uint64 + DecodeInt(d[0:8], &ti) + + if ti != sp { + //fmt.Printf("sp= %X ti= %X \n", sp,ti) + t.Error("roundtrip failed") + } +} + +type TestStruct5a struct { + Test uint64 +} + +func TestPanicTest(t *testing.T) { + + defer func() { + if r := recover(); r == nil { + t.Error("EncodeInt Did not panic") + } + }() + + log.Panic() +} + +func TestPushPopNegative(t *testing.T) { + + defer func() { + if r := recover(); r == nil { + t.Error("EncodeInt Did not panic on invalid input type") + } + }() + + var tst TestStruct5a + //var sp uint64 = 0x000C8A9E1809F720 + var d [8]byte + EncodeInt(d[0:8], &tst) //attemp to encode invalid type + +} + +func TestByteArray(t *testing.T) { + + tstr := "7105a46cb4c2810f0c916e0bb4b4e4ef834ad42040c471b42c96d356a9fd1b21" + + d, err := hex.DecodeString(tstr) + if err != nil { + t.Fail() + } + + buff := Serialize(d) + var buff2 [32]byte + copy(buff2[0:32], buff[0:32]) + + if len(buff2) != 32 { + t.Errorf("incorrect serialization length for fixed sized arrays: %d byte fixed sized array serialized to %d bytes \n", len(d), len(buff2)) + } + +} + +func TestEncodeDictInt2Int(t *testing.T) { + m1 := map[uint8]uint64{0: 0, 1: 1, 2: 2} + buff := Serialize(m1) + if len(buff) != 4 /* Length */ +(1+8)*len(m1) /* 1b key + 8b value per entry */ { + t.Fail() + } + m2 := make(map[uint8]uint64) + if DeserializeRaw(buff, m2) != nil { + t.Fail() + } + if len(m1) != len(m2) { + t.Errorf("Expected length %d but got %d", len(m1), len(m2)) + } + for key := range m1 { + if m1[key] != m2[key] { + t.Errorf("Expected value %d for key %d but got %d", m1[key], key, m2[key]) + } + } +} + +type TestStructWithDict struct { + X int32 + Y int64 + M map[uint8]TestStruct + K []byte +} + +func TestEncodeDictNested(t *testing.T) { + s1 := TestStructWithDict{ + 0x01234567, + 0x0123456789ABCDEF, + map[uint8]TestStruct{ + 0x01: TestStruct{ + 0x01234567, + 0x0123456789ABCDEF, + 0x01, + []byte{0, 1, 2}, + true, + "ab", + cipher.PubKey{ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + }, + }, + 0x23: TestStruct{ + 0x01234567, + 0x0123456789ABCDEF, + 0x01, + []byte{0, 1, 2}, + true, + "cd", + cipher.PubKey{ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + }, + }, + }, + []byte{0, 1, 2, 3, 4}, + } + buff := Serialize(s1) + if len(buff) == 0 { + t.Fail() + } + + s2 := TestStructWithDict{} + if DeserializeRaw(buff, &s2) != nil { + t.Fail() + } + if !reflect.DeepEqual(s1, s2) { + t.Errorf("Expected %v but got %v", s1, s2) + } +} + +func TestEncodeDictString2Int64(t *testing.T) { + v := map[string]int64{ + "foo": 1, + "bar": 2, + } + + b := Serialize(v) + + v2 := make(map[string]int64) + err := DeserializeRaw(b, &v2) + require.NoError(t, err) + + require.Equal(t, v, v2) +} + +func TestOmitEmptyString(t *testing.T) { + + type omitString struct { + A string `enc:"a,omitempty"` + } + + cases := []struct { + name string + input omitString + outputShouldBeEmpty bool + }{ + { + name: "string not empty", + input: omitString{ + A: "foo", + }, + }, + + { + name: "string empty", + input: omitString{}, + outputShouldBeEmpty: true, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + b := Serialize(tc.input) + + if tc.outputShouldBeEmpty { + require.Empty(t, b) + } else { + require.NotEmpty(t, b) + } + + var y omitString + err := DeserializeRaw(b, &y) + require.NoError(t, err) + + require.Equal(t, tc.input, y) + }) + } + +} + +func TestOmitEmptySlice(t *testing.T) { + type omitSlice struct { + B []byte `enc:"b,omitempty"` + } + + cases := []struct { + name string + input omitSlice + expect *omitSlice + outputShouldBeEmpty bool + }{ + { + name: "slice not empty", + input: omitSlice{ + B: []byte("foo"), + }, + }, + + { + name: "slice nil", + input: omitSlice{}, + outputShouldBeEmpty: true, + }, + + { + name: "slice empty but not nil", + input: omitSlice{ + B: []byte{}, + }, + expect: &omitSlice{}, + outputShouldBeEmpty: true, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + b := Serialize(tc.input) + + if tc.outputShouldBeEmpty { + require.Empty(t, b) + } else { + require.NotEmpty(t, b) + } + + var y omitSlice + err := DeserializeRaw(b, &y) + require.NoError(t, err) + + expect := tc.expect + if expect == nil { + expect = &tc.input + } + + require.Equal(t, *expect, y) + }) + } +} + +func TestOmitEmptyMap(t *testing.T) { + + type omitMap struct { + C map[string]int64 `enc:"d,omitempty"` + } + + cases := []struct { + name string + input omitMap + expect *omitMap + outputShouldBeEmpty bool + }{ + { + name: "map not empty", + input: omitMap{ + C: map[string]int64{"foo": 1}, + }, + }, + + { + name: "map nil", + input: omitMap{}, + outputShouldBeEmpty: true, + }, + + { + name: "map empty but not nil", + input: omitMap{ + C: map[string]int64{}, + }, + expect: &omitMap{}, + outputShouldBeEmpty: true, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + b := Serialize(tc.input) + + if tc.outputShouldBeEmpty { + require.Empty(t, b) + } else { + require.NotEmpty(t, b) + } + + var y omitMap + err := DeserializeRaw(b, &y) + require.NoError(t, err) + + expect := tc.expect + if expect == nil { + expect = &tc.input + } + + require.Equal(t, *expect, y) + }) + } +} + +func TestOmitEmptyMixedFinalByte(t *testing.T) { + type omitMixed struct { + A string + B []byte `enc:",omitempty"` + } + + cases := []struct { + name string + input omitMixed + expect omitMixed + }{ + { + name: "none empty", + input: omitMixed{ + A: "foo", + B: []byte("foo"), + }, + expect: omitMixed{ + A: "foo", + B: []byte("foo"), + }, + }, + + { + name: "byte nil", + input: omitMixed{ + A: "foo", + }, + expect: omitMixed{ + A: "foo", + }, + }, + + { + name: "byte empty but not nil", + input: omitMixed{ + A: "foo", + B: []byte{}, + }, + expect: omitMixed{ + A: "foo", + }, + }, + + { + name: "first string empty but not omitted", + input: omitMixed{ + B: []byte("foo"), + }, + expect: omitMixed{ + B: []byte("foo"), + }, + }, + + { + name: "all empty", + input: omitMixed{}, + expect: omitMixed{}, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + b := Serialize(tc.input) + require.NotEmpty(t, b) + + var y omitMixed + err := DeserializeRaw(b, &y) + require.NoError(t, err) + + require.Equal(t, tc.expect, y) + }) + } +} + +func TestOmitEmptyFinalFieldOnly(t *testing.T) { + type bad struct { + A string + B string `enc:",omitempty"` + C string + } + + require.Panics(t, func() { + var b bad + Serialize(b) + }) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/encoder/field.go b/vendor/github.com/skycoin/skycoin/src/cipher/encoder/field.go new file mode 100755 index 0000000..a561c6a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/encoder/field.go @@ -0,0 +1,115 @@ +package encoder + +import ( + "fmt" + "log" + "reflect" + "strconv" + + "github.com/skycoin/skycoin/src/cipher" +) + +// StructField field struct +type StructField struct { + Name string `json:"name"` + Kind uint32 `json:"kind"` + Type string `json:"type"` + Tag string `json:"tag"` +} + +func (s *StructField) String() string { + return fmt.Sprintln(s.Name, s.Type, s.Tag) +} + +//TODO: replace fieldType on reflect.Kind +func getFieldSize(d *decoder, fieldType reflect.Kind, s int) int { + switch fieldType { + case reflect.Slice, reflect.String: + length := int(leUint32(d.buf[s : s+4])) + s += 4 + length + case reflect.Struct, reflect.Array: + s += 32 + case reflect.Bool, reflect.Int8, reflect.Uint8: + s++ + case reflect.Int16, reflect.Uint16: + s += 2 + case reflect.Int32, reflect.Uint32: + s += 4 + case reflect.Int64, reflect.Uint64, reflect.Float64: + s += 8 + default: + fmt.Println(fieldType) + log.Panicf("Decode error: kind %s not handled", fieldType) + } + return s +} + +//TODO: replace fieldType on reflect.Kind +func getFieldValue(in []byte, d *decoder, fieldType reflect.Kind, s int) string { + fd := &decoder{buf: make([]byte, len(in)-s)} + copy(fd.buf, d.buf[s:]) + switch fieldType { + case reflect.Slice, reflect.String: + length := int(leUint32(fd.buf[0:4])) + return string(fd.buf[4 : 4+length]) + case reflect.Struct, reflect.Array: + s := cipher.SHA256{} + s.Set(fd.buf[0:32]) + return s.Hex() + case reflect.Bool: + return strconv.FormatBool(fd.bool()) + case reflect.Int8: + return strconv.Itoa(int(fd.int8())) + case reflect.Int16: + return strconv.Itoa(int(fd.int16())) + case reflect.Int32: + return strconv.Itoa(int(fd.int32())) + case reflect.Int64: + return strconv.Itoa(int(fd.int64())) + case reflect.Uint8: + return strconv.Itoa(int(fd.uint8())) + case reflect.Uint16: + return strconv.Itoa(int(fd.uint16())) + case reflect.Uint32: + return strconv.Itoa(int(fd.uint32())) + case reflect.Uint64: + return strconv.Itoa(int(fd.uint64())) + default: + log.Panicf("Decode error: kind %s not handled", fieldType) + } + return "" +} + +// DeserializeField deserialize field +func DeserializeField(in []byte, fields []StructField, fieldName string, field interface{}) error { + + d := &decoder{buf: make([]byte, len(in))} + copy(d.buf, in) + fv := reflect.ValueOf(field).Elem() + s := 0 + for _, f := range fields { + if f.Name == fieldName { + fd := &decoder{buf: make([]byte, len(in)-s)} + copy(fd.buf, d.buf[s:]) + fd.value(fv) + return nil + } + res := getFieldSize(d, reflect.Kind(f.Kind), s) + s = res + } + return nil +} + +// ParseFields parse fields +func ParseFields(in []byte, fields []StructField) map[string]string { + result := map[string]string{} + d := &decoder{buf: make([]byte, len(in))} + copy(d.buf, in) + s := 0 + for _, f := range fields { + resShift := getFieldSize(d, reflect.Kind(f.Kind), s) + result[f.Name] = getFieldValue(in, d, reflect.Kind(f.Kind), s) + s = resShift + } + return result +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/encrypt/scrypt_chacha20poly1305.go b/vendor/github.com/skycoin/skycoin/src/cipher/encrypt/scrypt_chacha20poly1305.go new file mode 100755 index 0000000..1764b59 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/encrypt/scrypt_chacha20poly1305.go @@ -0,0 +1,160 @@ +// uses scrypt for password key derivation, and chacha20poly1305 for +// encryption/decryption + +package encrypt + +import ( + "encoding/base64" + "encoding/binary" + "encoding/json" + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/chacha20poly1305" + "github.com/skycoin/skycoin/src/cipher/scrypt" +) + +const ( + scryptChacha20MetaLengthSize = 2 // meta data length field size in bytes + scryptChacha20SaltSize = 32 // salt bytes number +) + +// Default scrypt paramenters +const ( + // ScryptN: scrypt N paramenter. 1<<20 is the recommended value for file encryption, it takes about 3 seconds in 2.9 GHz Intel core i7. + ScryptN = 1 << 20 + // ScryptR: scrypt r paramenter. Cache line size have not significantly increased since 2009, 8 should still be optimal for r. + ScryptR = 8 + // ScryptP: scrypt p paramenter. The parallel difficulty, 1 is still optimal. + ScryptP = 1 + // ScryptKeyLen: The length of returned byte slice that can be used as cryptographic key. + ScryptKeyLen = 32 +) + +// DefaultScryptChacha20poly1305 default ScryptChacha20poly1305 encryptor +var DefaultScryptChacha20poly1305 = ScryptChacha20poly1305{ + N: ScryptN, + R: ScryptR, + P: ScryptP, + KeyLen: ScryptKeyLen, +} + +// ScryptChacha20poly1305 provides methods for encryption/decryption with scrypt and chacha20poly1305 +type ScryptChacha20poly1305 struct { + N int + R int + P int + KeyLen int +} + +type meta struct { + N int `json:"n"` + R int `json:"r"` + P int `json:"p"` + KeyLen int `json:"keyLen"` + Salt []byte `json:"salt"` + Nonce []byte `json:"nonce"` +} + +// Encrypt encrypts data with password, +// 1. Scrypt derives the key from password +// 2. Chacha20poly1305 generates AEAD from the derived key +// 4. Puts scrypt paramenters, salt and nonce into metadata, json serialize it and get the serialized metadata length +// 5. AEAD.Seal encrypts the data, and use [length][metadata] as additional data +// 6. Final format: base64([[length][metadata]][ciphertext]), length is 2 bytes. +func (s ScryptChacha20poly1305) Encrypt(data, password []byte) ([]byte, error) { + if len(password) == 0 { + return nil, errors.New("missing password") + } + + // Scyrpt derives key from password + salt := cipher.RandByte(scryptChacha20SaltSize) + dk, err := scrypt.Key(password, salt, s.N, s.R, s.P, s.KeyLen) + if err != nil { + return nil, err + } + + // Prepare metadata + m := meta{ + N: s.N, + R: s.R, + P: s.P, + KeyLen: s.KeyLen, + Salt: salt, + Nonce: cipher.RandByte(chacha20poly1305.NonceSize), + } + // json serialize the metadata + ms, err := json.Marshal(m) + if err != nil { + return nil, err + } + + if len(ms) > math.MaxUint16 { + return nil, errors.New("metadata length beyond the math.MaxUint16") + } + + length := make([]byte, scryptChacha20MetaLengthSize) + binary.LittleEndian.PutUint16(length, uint16(len(ms))) + + // Additional data for AEAD + ad := append(length, ms...) + aead, err := chacha20poly1305.New(dk) + if err != nil { + return nil, err + } + + ciphertext := aead.Seal(nil, m.Nonce, data, ad) + + // Base64 encode the [[length][metadata]][ciphertext] + rawData := append(ad, ciphertext...) + enc := base64.StdEncoding + buf := make([]byte, enc.EncodedLen(len(rawData))) + enc.Encode(buf, rawData) + return buf, nil +} + +// Decrypt decrypts the data with password +// 1. Base64 decodes the data +// 2. Reads the first [metaLengthSize] bytes data to get the metadata length, and reads out the metadata. +// 3. Scrypt derives key from password and paramenters in metadata +// 4. Chacha20poly1305 geneates AEAD +// 5. AEAD decrypts ciphertext with nonce in metadata and [length][metadata] as additional data. +func (s ScryptChacha20poly1305) Decrypt(data, password []byte) ([]byte, error) { + if len(password) == 0 { + return nil, errors.New("missing password") + } + + enc := base64.StdEncoding + encData := make([]byte, enc.DecodedLen(len(data))) + n, err := enc.Decode(encData, data) + if err != nil { + return nil, err + } + encData = encData[:n] + + length := binary.LittleEndian.Uint16(encData[:scryptChacha20MetaLengthSize]) + if int(scryptChacha20MetaLengthSize+length) > len(encData) { + return nil, errors.New("invalid metadata length") + } + + var m meta + if err := json.Unmarshal(encData[scryptChacha20MetaLengthSize:scryptChacha20MetaLengthSize+length], &m); err != nil { + return nil, err + } + + ad := encData[:scryptChacha20MetaLengthSize+length] + // Scrypt derives key + dk, err := scrypt.Key(password, m.Salt, m.N, m.R, m.P, m.KeyLen) + if err != nil { + return nil, err + } + + // Geneates AEAD + aead, err := chacha20poly1305.New(dk) + if err != nil { + return nil, err + } + + return aead.Open(nil, m.Nonce, encData[scryptChacha20MetaLengthSize+length:], ad) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/encrypt/scrypt_chacha20poly1305_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/encrypt/scrypt_chacha20poly1305_test.go new file mode 100755 index 0000000..b098f7b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/encrypt/scrypt_chacha20poly1305_test.go @@ -0,0 +1,87 @@ +package encrypt + +import ( + "encoding/base64" + "encoding/binary" + "encoding/json" + "errors" + "fmt" + "math" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestScryptChacha20poly1305Encrypt(t *testing.T) { + for i := uint(1); i < 20; i++ { + name := fmt.Sprintf("N=1<<%v r=%v p=%v keyLen=%v", i, 8, 1, 32) + t.Run(name, func(t *testing.T) { + crypto := ScryptChacha20poly1305{N: 1 << i, R: 8, P: 1, KeyLen: 32} + encData, err := crypto.Encrypt([]byte("plaintext"), []byte("password")) + require.NoError(t, err) + + data, err := base64.StdEncoding.DecodeString(string(encData)) + require.NoError(t, err) + // Checks the prefix + ml := binary.LittleEndian.Uint16(data[:scryptChacha20MetaLengthSize]) + require.True(t, ml <= math.MaxUint16) + require.True(t, int(scryptChacha20MetaLengthSize+ml) <= len(data)) + var m meta + require.NoError(t, json.Unmarshal(data[scryptChacha20MetaLengthSize:scryptChacha20MetaLengthSize+ml], &m)) + require.Equal(t, m.N, 1< Add 32 bits length prefix to indicate the length of data. +// 2> Pad the length + data to 32 bytes with nulls at end +// 2> SHA256() and prefix the hash. +// 3> Split the whole data(hash+length+data+padding) into 256 bits(32 bytes) blocks +// 4> Each block is encrypted by XORing the unencrypted block with SHA256(SHA256(password), SHA256(index, SHA256(nonce)) +// - index is 0 for the first block of 32 bytes, 1 for the second block of 32 bytes, 2 for third block +// 5> Prefix nonce and SHA256 the nonce with blocks to get checksum, and prefix the checksum +// 6> Finally, the data format is: base64() +func (s Sha256Xor) Encrypt(data []byte, password []byte) ([]byte, error) { + if len(password) == 0 { + return nil, errors.New("missing password") + } + + if uint(len(data)) > math.MaxUint32 { + return nil, errors.New("data length overflowed, it must <= math.MaxUint32(4294967295)") + } + + // Sets data length prefix + dataLenBytes := make([]byte, sha256XorDataLengthSize) + binary.LittleEndian.PutUint32(dataLenBytes, uint32(len(data))) + + // Prefixes data with length + ldata := append(dataLenBytes, data...) + + // Pads length + data with null to 32 bytes + l := len(ldata) // hash + length + data + n := l / sha256XorBlockSize + m := l % sha256XorBlockSize + if m > 0 { + paddingNull := make([]byte, sha256XorBlockSize-m) + ldata = append(ldata, paddingNull...) + n++ + } + + // Hash(length+data+padding) + dataHash := cipher.SumSHA256(ldata) + + // Initialize blocks with data hash + blocks := []cipher.SHA256{dataHash} + for i := 0; i < n; i++ { + var b cipher.SHA256 + copy(b[:], ldata[i*sha256XorBlockSize:(i+1)*sha256XorBlockSize]) + blocks = append(blocks, b) + } + + // Generates a nonce + nonce := cipher.RandByte(sha256XorNonceSize) + // Hash the nonce + hashNonce := cipher.SumSHA256(nonce) + // Derives key by secp256k1 hashing password + key := secp256k1.Secp256k1Hash(password) + + var encryptedData []byte + // Encodes the blocks + for i := range blocks { + // Hash(password, hash(index, hash(nonce))) + h := hashKeyIndexNonce(key, int64(i), hashNonce) + encryptedHash := blocks[i].Xor(h) + encryptedData = append(encryptedData, encryptedHash[:]...) + } + + // Prefix the nonce + nonceAndDataBytes := append(nonce, encryptedData...) + // Calculates the checksum + checkSum := cipher.SumSHA256(nonceAndDataBytes) + + finalData := append(checkSum[:], nonceAndDataBytes...) + + // Base64 encodes the data + enc := base64.StdEncoding + buf := make([]byte, enc.EncodedLen(len(finalData))) + enc.Encode(buf, finalData) + return buf, nil +} + +// Decrypt decrypts the data +func (s Sha256Xor) Decrypt(data []byte, password []byte) ([]byte, error) { + if len(password) == 0 { + return nil, errors.New("missing password") + } + + // Base64 decodes data + enc := base64.StdEncoding + encData := make([]byte, enc.DecodedLen(len(data))) + n, err := enc.Decode(encData, data) + if err != nil { + return nil, err + } + + encData = encData[:n] + + // Derives key by secp256k1 hashing password + key := secp256k1.Secp256k1Hash(password) + + buf := bytes.NewBuffer(encData) + + // Gets checksum + var checkSum cipher.SHA256 + n, err = buf.Read(checkSum[:]) + if err != nil { + return nil, err + } + + if n != sha256XorChecksumSize { + return nil, errors.New("invalid checksum length") + } + + // Checks the checksum + csh := cipher.SumSHA256(buf.Bytes()) + if csh != checkSum { + return nil, errors.New("invalid data, checksum is not matched") + } + + // Gets the nonce + nonce := make([]byte, sha256XorNonceSize) + n, err = buf.Read(nonce) + if err != nil { + return nil, err + } + + if n != sha256XorNonceSize { + return nil, errors.New("invalid nonce length") + } + + var decodeData []byte + hashNonce := cipher.SumSHA256(nonce) + i := 0 + for { + var block cipher.SHA256 + n, err := buf.Read(block[:]) + if err == io.EOF { + break + } + + if n != sha256XorBlockSize { + return nil, errors.New("invalid block size, must be multiple of 32 bytes") + } + + // Decodes the block + dataHash := block.Xor(hashKeyIndexNonce(key, int64(i), hashNonce)) + decodeData = append(decodeData, dataHash[:]...) + i++ + } + + buf = bytes.NewBuffer(decodeData) + + // Gets the hash + var dataHash cipher.SHA256 + n, err = buf.Read(dataHash[:]) + if err != nil { + return nil, fmt.Errorf("read data hash failed: %v", err) + } + + if n != 32 { + return nil, errors.New("read data hash failed: read length != 32") + } + + // Checks the hash + if dataHash != cipher.SumSHA256(buf.Bytes()) { + return nil, errors.New("invalid password") + } + + // Reads out the data length + dataLenBytes := make([]byte, sha256XorDataLengthSize) + n, err = buf.Read(dataLenBytes) + if err != nil { + return nil, err + } + + if n != sha256XorDataLengthSize { + return nil, errors.New("read data length failed") + } + + l := binary.LittleEndian.Uint32(dataLenBytes) + if l > math.MaxUint32 { + return nil, errors.New("data length overflowed, it must <= math.MaxUint32(4294967295)") + } + + if l > uint32(buf.Len()) { + return nil, errors.New("invalid data length") + } + + // Reads out the raw data + rawData := make([]byte, l) + n, err = buf.Read(rawData) + if err != nil { + return nil, err + } + + if uint32(n) != l { + return nil, fmt.Errorf("read data failed, expect %d bytes, but get %d bytes", l, n) + } + + return rawData, nil +} + +// hash(password, hash(index, hash(nonce))) +func hashKeyIndexNonce(key []byte, index int64, nonceHash cipher.SHA256) cipher.SHA256 { + // convert index to 256bit number + indexBytes := make([]byte, 32) + binary.PutVarint(indexBytes, index) + + // hash(index, nonceHash) + indexNonceHash := cipher.SumSHA256(append(indexBytes, nonceHash[:]...)) + + // hash(hash(password), indexNonceHash) + var keyHash cipher.SHA256 + copy(keyHash[:], key[:]) + return cipher.AddSHA256(keyHash, indexNonceHash) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/encrypt/sha256xor_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/encrypt/sha256xor_test.go new file mode 100755 index 0000000..2d0e22f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/encrypt/sha256xor_test.go @@ -0,0 +1,248 @@ +package encrypt + +import ( + "encoding/base64" + "encoding/binary" + "errors" + "fmt" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + secp256k1 "github.com/skycoin/skycoin/src/cipher/secp256k1-go" + "github.com/skycoin/skycoin/src/testutil" +) + +func TestEncrypt(t *testing.T) { + tt := []struct { + name string + data []byte + password []byte + err error + }{ + { + "data length=1 password is empty=true", + testutil.RandBytes(t, 1), + nil, + errors.New("missing password"), + }, + { + "data length=1 password is empty=false", + testutil.RandBytes(t, 1), + []byte("key"), + nil, + }, + { + "data length<32 password is empty=false", + testutil.RandBytes(t, 2), + []byte("pwd"), + nil, + }, + { + "data length=32 password is empty=false", + testutil.RandBytes(t, 32), + []byte("pwd"), + nil, + }, + { + "data length=2*32 password is empty=false", + testutil.RandBytes(t, 64), + []byte("9JMkCPphe73NQvGhmab"), + nil, + }, + { + "data length>2*32 password is empty=false", + testutil.RandBytes(t, 65), + []byte("9JMkCPphe73NQvGhmab"), + nil, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + edata, err := Sha256Xor{}.Encrypt(tc.data, tc.password) + require.Equal(t, tc.err, err) + if err != nil { + return + } + + n := (sha256XorDataLengthSize + len(tc.data)) / sha256XorBlockSize + m := (sha256XorDataLengthSize + len(tc.data)) % sha256XorBlockSize + if m > 0 { + n++ + } + + rdata, err := base64.StdEncoding.DecodeString(string(edata)) + require.NoError(t, err) + + totalEncryptedDataLen := sha256XorChecksumSize + sha256XorNonceSize + 32 + n*sha256XorBlockSize // 32 is the hash data length + require.Equal(t, totalEncryptedDataLen, len(rdata)) + var checksum cipher.SHA256 + copy(checksum[:], rdata[:sha256XorChecksumSize]) + require.Equal(t, checksum, cipher.SumSHA256(rdata[sha256XorChecksumSize:])) + }) + } + + // test data of length range in 32 to 64, for testing the 32 bytes padding. + pwd := []byte("pwd") + for i := 33; i <= 64; i++ { + name := fmt.Sprintf("data length=%d password is empty=false", i) + t.Run(name, func(t *testing.T) { + data := testutil.RandBytes(t, i) + edata, err := Sha256Xor{}.Encrypt(data, pwd) + require.NoError(t, err) + + n := (sha256XorDataLengthSize + len(data)) / sha256XorBlockSize + m := (sha256XorDataLengthSize + len(data)) % sha256XorBlockSize + if m > 0 { + n++ + } + + rdata, err := base64.StdEncoding.DecodeString(string(edata)) + require.NoError(t, err) + + totalEncryptedDataLen := sha256XorChecksumSize + sha256XorNonceSize + 32 + n*sha256XorBlockSize // 32 is the hash data length + require.Equal(t, totalEncryptedDataLen, len(rdata)) + var checksum cipher.SHA256 + copy(checksum[:], rdata[:sha256XorChecksumSize]) + require.Equal(t, checksum, cipher.SumSHA256(rdata[sha256XorChecksumSize:])) + }) + } +} + +func TestDecrypt(t *testing.T) { + data := testutil.RandBytes(t, 32) + tt := []struct { + name string + encryptedData func() []byte // encrypted data + password []byte + err error + }{ + { + "invalid data length", + func() []byte { + return makeEncryptedData(t, data, 65, []byte("pwd")) + }, + []byte("pwd"), + errors.New("invalid data length"), + }, + { + "invalid checksum", + func() []byte { + edata := makeEncryptedData(t, data, 32, []byte("pwd")) + // Changes the encrypted data, so that the checksum could not match + rd, err := base64.StdEncoding.DecodeString(string(edata)) + require.NoError(t, err) + rd[len(rd)-1]++ + return []byte(base64.StdEncoding.EncodeToString(rd)) + }, + []byte("pwd"), + errors.New("invalid data, checksum is not matched"), + }, + { + "empty password", + func() []byte { + return makeEncryptedData(t, data, 32, []byte("pwd")) + }, + []byte(""), + errors.New("missing password"), + }, + { + "nil password", + func() []byte { + return makeEncryptedData(t, data, 32, []byte("pwd")) + }, + nil, + errors.New("missing password"), + }, + { + "invalid password", + func() []byte { + return makeEncryptedData(t, data, 32, []byte("pwd")) + }, + []byte("wrong password"), + errors.New("invalid password"), + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + edata := tc.encryptedData() + d, err := Sha256Xor{}.Decrypt(edata, tc.password) + require.Equal(t, tc.err, err) + if err != nil { + return + } + + require.Equal(t, d, data) + }) + } + + // test data of length in range of 0 to 64 + for i := 0; i <= 64; i++ { + name := fmt.Sprintf("data length=%d", i) + t.Run(name, func(t *testing.T) { + data := testutil.RandBytes(t, i) + edata := makeEncryptedData(t, data, uint32(len(data)), []byte("pwd")) + d, err := Sha256Xor{}.Decrypt(edata, []byte("pwd")) + require.NoError(t, err) + require.Equal(t, data, d) + }) + } +} + +// encrypts data, manually set the data length, so we could test invalid data length cases. +func makeEncryptedData(t *testing.T, data []byte, dataLength uint32, password []byte) []byte { + dataLenBytes := make([]byte, sha256XorDataLengthSize) + binary.LittleEndian.PutUint32(dataLenBytes, dataLength) + + ldata := append(dataLenBytes, data...) + + // Pads length + data with null to 32 bytes + l := len(ldata) // hash + length + data + n := l / sha256XorBlockSize + m := l % sha256XorBlockSize + if m > 0 { + paddingNull := make([]byte, sha256XorBlockSize-m) + ldata = append(ldata, paddingNull...) + n++ + } + + // Hash(length+data+padding) + dataHash := cipher.SumSHA256(ldata) + + // Initialize blocks with data hash + blocks := []cipher.SHA256{dataHash} + for i := 0; i < n; i++ { + var b cipher.SHA256 + copy(b[:], ldata[i*sha256XorBlockSize:(i+1)*sha256XorBlockSize]) + blocks = append(blocks, b) + } + + // Generates a nonce + nonce := testutil.RandBytes(t, int(sha256XorNonceSize)) + // Hash the nonce + hashNonce := cipher.SumSHA256(nonce) + // Hash the password + key := secp256k1.Secp256k1Hash(password) + + var encryptedData []byte + // Encodes the blocks + for i := range blocks { + // Hash(password, hash(index, hash(nonce))) + h := hashKeyIndexNonce(key, int64(i), hashNonce) + encryptedHash := blocks[i].Xor(h) + encryptedData = append(encryptedData, encryptedHash[:]...) + } + + // Prefix the nonce + nonceAndDataBytes := append(nonce, encryptedData...) + // Calculates the checksum + checkSum := cipher.SumSHA256(nonceAndDataBytes) + rd := append(checkSum[:], nonceAndDataBytes...) + enc := base64.StdEncoding + buf := make([]byte, enc.EncodedLen(len(rd))) + enc.Encode(buf, rd) + return buf +} diff --git a/electron/src/node_modules/ms/license.md b/vendor/github.com/skycoin/skycoin/src/cipher/go-bip39/LICENSE similarity index 97% rename from electron/src/node_modules/ms/license.md rename to vendor/github.com/skycoin/skycoin/src/cipher/go-bip39/LICENSE index 69b6125..44de214 100755 --- a/electron/src/node_modules/ms/license.md +++ b/vendor/github.com/skycoin/skycoin/src/cipher/go-bip39/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2016 Zeit, Inc. +Copyright (c) 2014 Tyler Smith Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/go-bip39/bip39.go b/vendor/github.com/skycoin/skycoin/src/cipher/go-bip39/bip39.go new file mode 100755 index 0000000..c81a92e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/go-bip39/bip39.go @@ -0,0 +1,268 @@ +package bip39 + +import ( + "crypto/sha256" + "encoding/binary" + "errors" + "fmt" + "math/big" + "strings" + + "github.com/skycoin/skycoin/src/cipher" +) + +// Some bitwise operands for working with big.Ints +var ( + Last11BitsMask = big.NewInt(2047) + RightShift11BitsDivider = big.NewInt(2048) + BigOne = big.NewInt(1) + BigTwo = big.NewInt(2) +) + +// DefaultMnemonicEntropyBitSize is the default bit size for NewDefaultMnemonic's entropy +const DefaultMnemonicEntropyBitSize = 128 + +// NewDefaultMnemonic returns a generated mnemomic using entropy with bitSize 128 +func NewDefaultMnemonic() (string, error) { + entropy, err := NewEntropy(DefaultMnemonicEntropyBitSize) + if err != nil { + return "", err + } + + return NewMnemonic(entropy) +} + +// MustNewDefaultMnemonic returns a generated mnemomic using entropy with bitSize 128 and panics if there is an error +func MustNewDefaultMnemonic() string { + seed, err := NewDefaultMnemonic() + if err != nil { + panic(err) + } + return seed +} + +// NewEntropy will create random entropy bytes +// so long as the requested size bitSize is an appropriate size. +func NewEntropy(bitSize int) ([]byte, error) { + err := validateEntropyBitSize(bitSize) + if err != nil { + return nil, err + } + + entropy := cipher.RandByte(bitSize / 8) + return entropy, err +} + +// NewMnemonic will return a string consisting of the mnemonic words for +// the given entropy. +// If the provide entropy is invalid, an error will be returned. +func NewMnemonic(entropy []byte) (string, error) { + // Compute some lengths for convenience + entropyBitLength := len(entropy) * 8 + checksumBitLength := entropyBitLength / 32 + sentenceLength := (entropyBitLength + checksumBitLength) / 11 + + err := validateEntropyBitSize(entropyBitLength) + if err != nil { + return "", err + } + + // Add checksum to entropy + entropy = addChecksum(entropy) + + // Break entropy up into sentenceLength chunks of 11 bits + // For each word AND mask the rightmost 11 bits and find the word at that index + // Then bitshift entropy 11 bits right and repeat + // Add to the last empty slot so we can work with LSBs instead of MSB + + // Entropy as an int so we can bitmask without worrying about bytes slices + entropyInt := new(big.Int).SetBytes(entropy) + + // Slice to hold words in + words := make([]string, sentenceLength) + + // Throw away big int for AND masking + word := big.NewInt(0) + + for i := sentenceLength - 1; i >= 0; i-- { + // Get 11 right most bits and bitshift 11 to the right for next time + word.And(entropyInt, Last11BitsMask) + entropyInt.Div(entropyInt, RightShift11BitsDivider) + + // Get the bytes representing the 11 bits as a 2 byte slice + wordBytes := padByteSlice(word.Bytes(), 2) + + // Convert bytes to an index and add that word to the list + words[i] = WordList[binary.BigEndian.Uint16(wordBytes)] + } + + return strings.Join(words, " "), nil +} + +// MnemonicToByteArray takes a mnemonic string and turns it into a byte array +// suitable for creating another mnemonic. +// An error is returned if the mnemonic is invalid. +// FIXME +// This does not work for all values in +// the test vectors. Namely +// Vectors 0, 4, and 8. +// This is not really important because BIP39 doesnt really define a conversion +// from string to bytes. +func MnemonicToByteArray(mnemonic string) ([]byte, error) { + if IsMnemonicValid(mnemonic) == false { + return nil, fmt.Errorf("Invalid mnemonic") + } + mnemonicSlice := strings.Split(mnemonic, " ") + + bitSize := len(mnemonicSlice) * 11 + err := validateEntropyWithChecksumBitSize(bitSize) + if err != nil { + return nil, err + } + checksumSize := bitSize % 32 + + b := big.NewInt(0) + modulo := big.NewInt(2048) + for _, v := range mnemonicSlice { + index, found := ReverseWordMap[v] + if found == false { + return nil, fmt.Errorf("Word `%v` not found in reverse map", v) + } + add := big.NewInt(int64(index)) + b = b.Mul(b, modulo) + b = b.Add(b, add) + } + hex := b.Bytes() + checksumModulo := big.NewInt(0).Exp(big.NewInt(2), big.NewInt(int64(checksumSize)), nil) + entropy, _ := big.NewInt(0).DivMod(b, checksumModulo, big.NewInt(0)) + + entropyHex := entropy.Bytes() + + byteSize := bitSize/8 + 1 + if len(hex) != byteSize { + tmp := make([]byte, byteSize) + diff := byteSize - len(hex) + for i := 0; i < len(hex); i++ { + tmp[i+diff] = hex[i] + } + hex = tmp + } + + validationHex := addChecksum(entropyHex) + if len(validationHex) != byteSize { + tmp2 := make([]byte, byteSize) + diff2 := byteSize - len(validationHex) + for i := 0; i < len(validationHex); i++ { + tmp2[i+diff2] = validationHex[i] + } + validationHex = tmp2 + } + + if len(hex) != len(validationHex) { + panic("[]byte len mismatch - it shouldn't happen") + } + for i := range validationHex { + if hex[i] != validationHex[i] { + return nil, fmt.Errorf("Invalid byte at position %v", i) + } + } + return hex, nil +} + +// NewSeedWithErrorChecking creates a hashed seed output given the mnemonic string and a password. +// An error is returned if the mnemonic is not convertible to a byte array. +// func NewSeedWithErrorChecking(mnemonic string, password string) ([]byte, error) { +// _, err := MnemonicToByteArray(mnemonic) +// if err != nil { +// return nil, err +// } +// return NewSeed(mnemonic, password), nil +// } + +// NewSeed creates a hashed seed output given a provided string and password. +// No checking is performed to validate that the string provided is a valid mnemonic. +// func NewSeed(mnemonic string, password string) []byte { +// return pbkdf2.Key([]byte(mnemonic), []byte("mnemonic"+password), 2048, 64, sha512.New) +// } + +// Appends to data the first (len(data) / 32)bits of the result of sha256(data) +// Currently only supports data up to 32 bytes +func addChecksum(data []byte) []byte { + // Get first byte of sha256 + hasher := sha256.New() + hasher.Write(data) + hash := hasher.Sum(nil) + firstChecksumByte := hash[0] + + // len() is in bytes so we divide by 4 + checksumBitLength := uint(len(data) / 4) + + // For each bit of check sum we want we shift the data one the left + // and then set the (new) right most bit equal to checksum bit at that index + // staring from the left + dataBigInt := new(big.Int).SetBytes(data) + for i := uint(0); i < checksumBitLength; i++ { + // Bitshift 1 left + dataBigInt.Mul(dataBigInt, BigTwo) + + // Set rightmost bit if leftmost checksum bit is set + if uint8(firstChecksumByte&(1<<(7-i))) > 0 { + dataBigInt.Or(dataBigInt, BigOne) + } + } + + return dataBigInt.Bytes() +} + +func padByteSlice(slice []byte, length int) []byte { // nolint: unparam + newSlice := make([]byte, length-len(slice)) + return append(newSlice, slice...) +} + +func validateEntropyBitSize(bitSize int) error { + if (bitSize%32) != 0 || bitSize < 128 || bitSize > 256 { + return errors.New("Entropy length must be [128, 256] and a multiple of 32") + } + return nil +} + +func validateEntropyWithChecksumBitSize(bitSize int) error { + if (bitSize != 128+4) && (bitSize != 160+5) && (bitSize != 192+6) && (bitSize != 224+7) && (bitSize != 256+8) { + return fmt.Errorf("Wrong entropy + checksum size - expected %v, got %v", int((bitSize-bitSize%32)+(bitSize-bitSize%32)/32), bitSize) + } + return nil +} + +// IsMnemonicValid attempts to verify that the provided mnemonic is valid. +// Validity is determined by both the number of words being appropriate, +// and that all the words in the mnemonic are present in the word list. +func IsMnemonicValid(mnemonic string) bool { + // Create a list of all the words in the mnemonic sentence + words := strings.Fields(mnemonic) + + //Get num of words + numOfWords := len(words) + + // The number of words should be 12, 15, 18, 21 or 24 + if numOfWords%3 != 0 || numOfWords < 12 || numOfWords > 24 { + return false + } + + // Check if all words belong in the wordlist + for i := 0; i < numOfWords; i++ { + if !contains(WordList, words[i]) { + return false + } + } + + return true +} + +func contains(s []string, e string) bool { + for _, a := range s { + if a == e { + return true + } + } + return false +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/go-bip39/wordlist.go b/vendor/github.com/skycoin/skycoin/src/cipher/go-bip39/wordlist.go new file mode 100755 index 0000000..f4d7e96 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/go-bip39/wordlist.go @@ -0,0 +1,2068 @@ +package bip39 + +import ( + "strings" +) + +// WordList The wordlist to use +var WordList = EnglishWordList + +// ReverseWordMap reverse word map +var ReverseWordMap = map[string]int{} + +func init() { + for i, v := range WordList { + ReverseWordMap[v] = i + } +} + +// EnglishWordList Language-specific wordlists +var EnglishWordList = strings.Split(englishWordList, "\n") +var englishWordList = `abandon +ability +able +about +above +absent +absorb +abstract +absurd +abuse +access +accident +account +accuse +achieve +acid +acoustic +acquire +across +act +action +actor +actress +actual +adapt +add +addict +address +adjust +admit +adult +advance +advice +aerobic +affair +afford +afraid +again +age +agent +agree +ahead +aim +air +airport +aisle +alarm +album +alcohol +alert +alien +all +alley +allow +almost +alone +alpha +already +also +alter +always +amateur +amazing +among +amount +amused +analyst +anchor +ancient +anger +angle +angry +animal +ankle +announce +annual +another +answer +antenna +antique +anxiety +any +apart +apology +appear +apple +approve +april +arch +arctic +area +arena +argue +arm +armed +armor +army +around +arrange +arrest +arrive +arrow +art +artefact +artist +artwork +ask +aspect +assault +asset +assist +assume +asthma +athlete +atom +attack +attend +attitude +attract +auction +audit +august +aunt +author +auto +autumn +average +avocado +avoid +awake +aware +away +awesome +awful +awkward +axis +baby +bachelor +bacon +badge +bag +balance +balcony +ball +bamboo +banana +banner +bar +barely +bargain +barrel +base +basic +basket +battle +beach +bean +beauty +because +become +beef +before +begin +behave +behind +believe +below +belt +bench +benefit +best +betray +better +between +beyond +bicycle +bid +bike +bind +biology +bird +birth +bitter +black +blade +blame +blanket +blast +bleak +bless +blind +blood +blossom +blouse +blue +blur +blush +board +boat +body +boil +bomb +bone +bonus +book +boost +border +boring +borrow +boss +bottom +bounce +box +boy +bracket +brain +brand +brass +brave +bread +breeze +brick +bridge +brief +bright +bring +brisk +broccoli +broken +bronze +broom +brother +brown +brush +bubble +buddy +budget +buffalo +build +bulb +bulk +bullet +bundle +bunker +burden +burger +burst +bus +business +busy +butter +buyer +buzz +cabbage +cabin +cable +cactus +cage +cake +call +calm +camera +camp +can +canal +cancel +candy +cannon +canoe +canvas +canyon +capable +capital +captain +car +carbon +card +cargo +carpet +carry +cart +case +cash +casino +castle +casual +cat +catalog +catch +category +cattle +caught +cause +caution +cave +ceiling +celery +cement +census +century +cereal +certain +chair +chalk +champion +change +chaos +chapter +charge +chase +chat +cheap +check +cheese +chef +cherry +chest +chicken +chief +child +chimney +choice +choose +chronic +chuckle +chunk +churn +cigar +cinnamon +circle +citizen +city +civil +claim +clap +clarify +claw +clay +clean +clerk +clever +click +client +cliff +climb +clinic +clip +clock +clog +close +cloth +cloud +clown +club +clump +cluster +clutch +coach +coast +coconut +code +coffee +coil +coin +collect +color +column +combine +come +comfort +comic +common +company +concert +conduct +confirm +congress +connect +consider +control +convince +cook +cool +copper +copy +coral +core +corn +correct +cost +cotton +couch +country +couple +course +cousin +cover +coyote +crack +cradle +craft +cram +crane +crash +crater +crawl +crazy +cream +credit +creek +crew +cricket +crime +crisp +critic +crop +cross +crouch +crowd +crucial +cruel +cruise +crumble +crunch +crush +cry +crystal +cube +culture +cup +cupboard +curious +current +curtain +curve +cushion +custom +cute +cycle +dad +damage +damp +dance +danger +daring +dash +daughter +dawn +day +deal +debate +debris +decade +december +decide +decline +decorate +decrease +deer +defense +define +defy +degree +delay +deliver +demand +demise +denial +dentist +deny +depart +depend +deposit +depth +deputy +derive +describe +desert +design +desk +despair +destroy +detail +detect +develop +device +devote +diagram +dial +diamond +diary +dice +diesel +diet +differ +digital +dignity +dilemma +dinner +dinosaur +direct +dirt +disagree +discover +disease +dish +dismiss +disorder +display +distance +divert +divide +divorce +dizzy +doctor +document +dog +doll +dolphin +domain +donate +donkey +donor +door +dose +double +dove +draft +dragon +drama +drastic +draw +dream +dress +drift +drill +drink +drip +drive +drop +drum +dry +duck +dumb +dune +during +dust +dutch +duty +dwarf +dynamic +eager +eagle +early +earn +earth +easily +east +easy +echo +ecology +economy +edge +edit +educate +effort +egg +eight +either +elbow +elder +electric +elegant +element +elephant +elevator +elite +else +embark +embody +embrace +emerge +emotion +employ +empower +empty +enable +enact +end +endless +endorse +enemy +energy +enforce +engage +engine +enhance +enjoy +enlist +enough +enrich +enroll +ensure +enter +entire +entry +envelope +episode +equal +equip +era +erase +erode +erosion +error +erupt +escape +essay +essence +estate +eternal +ethics +evidence +evil +evoke +evolve +exact +example +excess +exchange +excite +exclude +excuse +execute +exercise +exhaust +exhibit +exile +exist +exit +exotic +expand +expect +expire +explain +expose +express +extend +extra +eye +eyebrow +fabric +face +faculty +fade +faint +faith +fall +false +fame +family +famous +fan +fancy +fantasy +farm +fashion +fat +fatal +father +fatigue +fault +favorite +feature +february +federal +fee +feed +feel +female +fence +festival +fetch +fever +few +fiber +fiction +field +figure +file +film +filter +final +find +fine +finger +finish +fire +firm +first +fiscal +fish +fit +fitness +fix +flag +flame +flash +flat +flavor +flee +flight +flip +float +flock +floor +flower +fluid +flush +fly +foam +focus +fog +foil +fold +follow +food +foot +force +forest +forget +fork +fortune +forum +forward +fossil +foster +found +fox +fragile +frame +frequent +fresh +friend +fringe +frog +front +frost +frown +frozen +fruit +fuel +fun +funny +furnace +fury +future +gadget +gain +galaxy +gallery +game +gap +garage +garbage +garden +garlic +garment +gas +gasp +gate +gather +gauge +gaze +general +genius +genre +gentle +genuine +gesture +ghost +giant +gift +giggle +ginger +giraffe +girl +give +glad +glance +glare +glass +glide +glimpse +globe +gloom +glory +glove +glow +glue +goat +goddess +gold +good +goose +gorilla +gospel +gossip +govern +gown +grab +grace +grain +grant +grape +grass +gravity +great +green +grid +grief +grit +grocery +group +grow +grunt +guard +guess +guide +guilt +guitar +gun +gym +habit +hair +half +hammer +hamster +hand +happy +harbor +hard +harsh +harvest +hat +have +hawk +hazard +head +health +heart +heavy +hedgehog +height +hello +helmet +help +hen +hero +hidden +high +hill +hint +hip +hire +history +hobby +hockey +hold +hole +holiday +hollow +home +honey +hood +hope +horn +horror +horse +hospital +host +hotel +hour +hover +hub +huge +human +humble +humor +hundred +hungry +hunt +hurdle +hurry +hurt +husband +hybrid +ice +icon +idea +identify +idle +ignore +ill +illegal +illness +image +imitate +immense +immune +impact +impose +improve +impulse +inch +include +income +increase +index +indicate +indoor +industry +infant +inflict +inform +inhale +inherit +initial +inject +injury +inmate +inner +innocent +input +inquiry +insane +insect +inside +inspire +install +intact +interest +into +invest +invite +involve +iron +island +isolate +issue +item +ivory +jacket +jaguar +jar +jazz +jealous +jeans +jelly +jewel +job +join +joke +journey +joy +judge +juice +jump +jungle +junior +junk +just +kangaroo +keen +keep +ketchup +key +kick +kid +kidney +kind +kingdom +kiss +kit +kitchen +kite +kitten +kiwi +knee +knife +knock +know +lab +label +labor +ladder +lady +lake +lamp +language +laptop +large +later +latin +laugh +laundry +lava +law +lawn +lawsuit +layer +lazy +leader +leaf +learn +leave +lecture +left +leg +legal +legend +leisure +lemon +lend +length +lens +leopard +lesson +letter +level +liar +liberty +library +license +life +lift +light +like +limb +limit +link +lion +liquid +list +little +live +lizard +load +loan +lobster +local +lock +logic +lonely +long +loop +lottery +loud +lounge +love +loyal +lucky +luggage +lumber +lunar +lunch +luxury +lyrics +machine +mad +magic +magnet +maid +mail +main +major +make +mammal +man +manage +mandate +mango +mansion +manual +maple +marble +march +margin +marine +market +marriage +mask +mass +master +match +material +math +matrix +matter +maximum +maze +meadow +mean +measure +meat +mechanic +medal +media +melody +melt +member +memory +mention +menu +mercy +merge +merit +merry +mesh +message +metal +method +middle +midnight +milk +million +mimic +mind +minimum +minor +minute +miracle +mirror +misery +miss +mistake +mix +mixed +mixture +mobile +model +modify +mom +moment +monitor +monkey +monster +month +moon +moral +more +morning +mosquito +mother +motion +motor +mountain +mouse +move +movie +much +muffin +mule +multiply +muscle +museum +mushroom +music +must +mutual +myself +mystery +myth +naive +name +napkin +narrow +nasty +nation +nature +near +neck +need +negative +neglect +neither +nephew +nerve +nest +net +network +neutral +never +news +next +nice +night +noble +noise +nominee +noodle +normal +north +nose +notable +note +nothing +notice +novel +now +nuclear +number +nurse +nut +oak +obey +object +oblige +obscure +observe +obtain +obvious +occur +ocean +october +odor +off +offer +office +often +oil +okay +old +olive +olympic +omit +once +one +onion +online +only +open +opera +opinion +oppose +option +orange +orbit +orchard +order +ordinary +organ +orient +original +orphan +ostrich +other +outdoor +outer +output +outside +oval +oven +over +own +owner +oxygen +oyster +ozone +pact +paddle +page +pair +palace +palm +panda +panel +panic +panther +paper +parade +parent +park +parrot +party +pass +patch +path +patient +patrol +pattern +pause +pave +payment +peace +peanut +pear +peasant +pelican +pen +penalty +pencil +people +pepper +perfect +permit +person +pet +phone +photo +phrase +physical +piano +picnic +picture +piece +pig +pigeon +pill +pilot +pink +pioneer +pipe +pistol +pitch +pizza +place +planet +plastic +plate +play +please +pledge +pluck +plug +plunge +poem +poet +point +polar +pole +police +pond +pony +pool +popular +portion +position +possible +post +potato +pottery +poverty +powder +power +practice +praise +predict +prefer +prepare +present +pretty +prevent +price +pride +primary +print +priority +prison +private +prize +problem +process +produce +profit +program +project +promote +proof +property +prosper +protect +proud +provide +public +pudding +pull +pulp +pulse +pumpkin +punch +pupil +puppy +purchase +purity +purpose +purse +push +put +puzzle +pyramid +quality +quantum +quarter +question +quick +quit +quiz +quote +rabbit +raccoon +race +rack +radar +radio +rail +rain +raise +rally +ramp +ranch +random +range +rapid +rare +rate +rather +raven +raw +razor +ready +real +reason +rebel +rebuild +recall +receive +recipe +record +recycle +reduce +reflect +reform +refuse +region +regret +regular +reject +relax +release +relief +rely +remain +remember +remind +remove +render +renew +rent +reopen +repair +repeat +replace +report +require +rescue +resemble +resist +resource +response +result +retire +retreat +return +reunion +reveal +review +reward +rhythm +rib +ribbon +rice +rich +ride +ridge +rifle +right +rigid +ring +riot +ripple +risk +ritual +rival +river +road +roast +robot +robust +rocket +romance +roof +rookie +room +rose +rotate +rough +round +route +royal +rubber +rude +rug +rule +run +runway +rural +sad +saddle +sadness +safe +sail +salad +salmon +salon +salt +salute +same +sample +sand +satisfy +satoshi +sauce +sausage +save +say +scale +scan +scare +scatter +scene +scheme +school +science +scissors +scorpion +scout +scrap +screen +script +scrub +sea +search +season +seat +second +secret +section +security +seed +seek +segment +select +sell +seminar +senior +sense +sentence +series +service +session +settle +setup +seven +shadow +shaft +shallow +share +shed +shell +sheriff +shield +shift +shine +ship +shiver +shock +shoe +shoot +shop +short +shoulder +shove +shrimp +shrug +shuffle +shy +sibling +sick +side +siege +sight +sign +silent +silk +silly +silver +similar +simple +since +sing +siren +sister +situate +six +size +skate +sketch +ski +skill +skin +skirt +skull +slab +slam +sleep +slender +slice +slide +slight +slim +slogan +slot +slow +slush +small +smart +smile +smoke +smooth +snack +snake +snap +sniff +snow +soap +soccer +social +sock +soda +soft +solar +soldier +solid +solution +solve +someone +song +soon +sorry +sort +soul +sound +soup +source +south +space +spare +spatial +spawn +speak +special +speed +spell +spend +sphere +spice +spider +spike +spin +spirit +split +spoil +sponsor +spoon +sport +spot +spray +spread +spring +spy +square +squeeze +squirrel +stable +stadium +staff +stage +stairs +stamp +stand +start +state +stay +steak +steel +stem +step +stereo +stick +still +sting +stock +stomach +stone +stool +story +stove +strategy +street +strike +strong +struggle +student +stuff +stumble +style +subject +submit +subway +success +such +sudden +suffer +sugar +suggest +suit +summer +sun +sunny +sunset +super +supply +supreme +sure +surface +surge +surprise +surround +survey +suspect +sustain +swallow +swamp +swap +swarm +swear +sweet +swift +swim +swing +switch +sword +symbol +symptom +syrup +system +table +tackle +tag +tail +talent +talk +tank +tape +target +task +taste +tattoo +taxi +teach +team +tell +ten +tenant +tennis +tent +term +test +text +thank +that +theme +then +theory +there +they +thing +this +thought +three +thrive +throw +thumb +thunder +ticket +tide +tiger +tilt +timber +time +tiny +tip +tired +tissue +title +toast +tobacco +today +toddler +toe +together +toilet +token +tomato +tomorrow +tone +tongue +tonight +tool +tooth +top +topic +topple +torch +tornado +tortoise +toss +total +tourist +toward +tower +town +toy +track +trade +traffic +tragic +train +transfer +trap +trash +travel +tray +treat +tree +trend +trial +tribe +trick +trigger +trim +trip +trophy +trouble +truck +true +truly +trumpet +trust +truth +try +tube +tuition +tumble +tuna +tunnel +turkey +turn +turtle +twelve +twenty +twice +twin +twist +two +type +typical +ugly +umbrella +unable +unaware +uncle +uncover +under +undo +unfair +unfold +unhappy +uniform +unique +unit +universe +unknown +unlock +until +unusual +unveil +update +upgrade +uphold +upon +upper +upset +urban +urge +usage +use +used +useful +useless +usual +utility +vacant +vacuum +vague +valid +valley +valve +van +vanish +vapor +various +vast +vault +vehicle +velvet +vendor +venture +venue +verb +verify +version +very +vessel +veteran +viable +vibrant +vicious +victory +video +view +village +vintage +violin +virtual +virus +visa +visit +visual +vital +vivid +vocal +voice +void +volcano +volume +vote +voyage +wage +wagon +wait +walk +wall +walnut +want +warfare +warm +warrior +wash +wasp +waste +water +wave +way +wealth +weapon +wear +weasel +weather +web +wedding +weekend +weird +welcome +west +wet +whale +what +wheat +wheel +when +where +whip +whisper +wide +width +wife +wild +will +win +window +wine +wing +wink +winner +winter +wire +wisdom +wise +wish +witness +wolf +woman +wonder +wood +wool +word +work +world +worry +worth +wrap +wreck +wrestle +wrist +write +wrong +yard +year +yellow +you +young +youth +zebra +zero +zone +zoo` diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/hash.go b/vendor/github.com/skycoin/skycoin/src/cipher/hash.go new file mode 100755 index 0000000..ec304c5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/hash.go @@ -0,0 +1,181 @@ +package cipher + +import ( + "encoding/hex" + "errors" + "hash" + "log" +) + +// var ( +// sha256Hash hash.Hash = sha256.New() +// ripemd160Hash hash.Hash = ripemd160.New() +// ) + +var ( + poolsize = 10 + sha256HashChan chan hash.Hash // reuse the hash thread safely. + ripemd160HashChan chan hash.Hash +) + +// Ripemd160 ripemd160 +type Ripemd160 [20]byte + +// Set sets value +func (rd *Ripemd160) Set(b []byte) { + if len(b) != 20 { + log.Panic("Invalid ripemd160 length") + } + copy(rd[:], b[:]) +} + +// HashRipemd160 hash data to Ripemd160 +func HashRipemd160(data []byte) Ripemd160 { + ripemd160Hash := <-ripemd160HashChan + ripemd160Hash.Reset() + ripemd160Hash.Write(data) + sum := ripemd160Hash.Sum(nil) + ripemd160HashChan <- ripemd160Hash + + h := Ripemd160{} + h.Set(sum) + return h +} + +// SHA256 32 bytes +type SHA256 [32]byte + +// Set sets value +func (g *SHA256) Set(b []byte) { + if len(b) != 32 { + log.Panic("Invalid sha256 length") + } + copy(g[:], b[:]) +} + +// Hex encode sha256 to hex string +func (g SHA256) Hex() string { + return hex.EncodeToString(g[:]) +} + +// Null returns true if the hash is null (0x0000..) +func (g SHA256) Null() bool { + return g == SHA256{} +} + +// Xor xor +func (g *SHA256) Xor(b SHA256) SHA256 { + c := SHA256{} + for i := 0; i < 32; i++ { + c[i] = g[i] ^ b[i] + } + return c +} + +// SumSHA256 sum sha256 +func SumSHA256(b []byte) SHA256 { + sha256Hash := <-sha256HashChan + sha256Hash.Reset() + sha256Hash.Write(b) + sum := sha256Hash.Sum(nil) + sha256HashChan <- sha256Hash + + h := SHA256{} + h.Set(sum) + return h +} + +// SHA256FromHex decodes a hex encoded SHA256 hash to bytes. If invalid, will return error. +// Does not panic. +func SHA256FromHex(hs string) (SHA256, error) { + h := SHA256{} + b, err := hex.DecodeString(hs) + if err != nil { + return h, err + } + if len(b) != len(h) { + return h, errors.New("Invalid hex length") + } + h.Set(b) + return h, nil +} + +// MustSHA256FromHex same as SHA256FromHex, except will panic when detect error +func MustSHA256FromHex(hs string) SHA256 { + h, err := SHA256FromHex(hs) + if err != nil { + log.Panic(err) + } + return h +} + +// SHA256FromBytes converts []byte to SHA256 +func SHA256FromBytes(b []byte) (SHA256, error) { + h := SHA256{} + + if len(b) != len(h) { + return h, errors.New("Invalid bytes length") + } + + h.Set(b) + return h, nil +} + +// MustSHA256FromBytes is the same as SHA256FromBytes, except it will panic when it detects an error +func MustSHA256FromBytes(b []byte) SHA256 { + h, err := SHA256FromBytes(b) + if err != nil { + log.Panic(err) + } + return h +} + +// MustSumSHA256 like SumSHA256, but len(b) must equal n, or panic +func MustSumSHA256(b []byte, n int) SHA256 { + if len(b) != n { + log.Panicf("Invalid sumsha256 byte length. Expected %d, have %d", + n, len(b)) + } + return SumSHA256(b) +} + +// DoubleSHA256 double SHA256 +func DoubleSHA256(b []byte) SHA256 { + //h := SumSHA256(b) + //return AddSHA256(h, h) + h1 := SumSHA256(b) + h2 := SumSHA256(h1[:]) + return h2 +} + +// AddSHA256 returns the SHA256 hash of to two concatenated hashes +func AddSHA256(a SHA256, b SHA256) SHA256 { + c := append(a[:], b[:]...) + return SumSHA256(c) +} + +// Returns the next highest power of 2 above n, if n is not already a +// power of 2 +func nextPowerOfTwo(n uint64) uint64 { + var k uint64 = 1 + for k < n { + k *= 2 + } + return k +} + +// Merkle computes the merkle root of a hash array +// Array of hashes is padded with 0 hashes until next power of 2 +func Merkle(h0 []SHA256) SHA256 { + lh := uint64(len(h0)) + np := nextPowerOfTwo(lh) + h1 := append(h0, make([]SHA256, np-lh)...) + for len(h1) != 1 { + h2 := make([]SHA256, len(h1)/2) + for i := 0; i < len(h2); i++ { + h2[i] = AddSHA256(h1[2*i], h1[2*i+1]) + } + h1 = h2 + } + return h1[0] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/hash_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/hash_test.go new file mode 100755 index 0000000..d57be0f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/hash_test.go @@ -0,0 +1,271 @@ +package cipher + +import ( + "bytes" + "crypto/rand" + "crypto/sha256" + "encoding/hex" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher/ripemd160" +) + +func freshSumRipemd160(b []byte) Ripemd160 { + sh := ripemd160.New() + sh.Write(b) + h := Ripemd160{} + h.Set(sh.Sum(nil)) + return h +} + +func freshSumSHA256(b []byte) SHA256 { + sh := sha256.New() + sh.Write(b) + h := SHA256{} + h.Set(sh.Sum(nil)) + return h +} + +func randBytes(t *testing.T, n int) []byte { + b := make([]byte, n) + x, err := rand.Read(b) + assert.Equal(t, n, x) + assert.Nil(t, err) + return b +} + +func TestHashRipemd160(t *testing.T) { + assert.NotPanics(t, func() { HashRipemd160(randBytes(t, 128)) }) + r := HashRipemd160(randBytes(t, 160)) + assert.NotEqual(t, r, Ripemd160{}) + // 2nd hash should not be affected by previous + b := randBytes(t, 256) + r2 := HashRipemd160(b) + assert.NotEqual(t, r2, Ripemd160{}) + assert.Equal(t, r2, freshSumRipemd160(b)) +} + +func TestRipemd160Set(t *testing.T) { + h := Ripemd160{} + assert.Panics(t, func() { + h.Set(randBytes(t, 21)) + }) + assert.Panics(t, func() { + h.Set(randBytes(t, 100)) + }) + assert.Panics(t, func() { + h.Set(randBytes(t, 19)) + }) + assert.Panics(t, func() { + h.Set(randBytes(t, 0)) + }) + assert.NotPanics(t, func() { + h.Set(randBytes(t, 20)) + }) + b := randBytes(t, 20) + h.Set(b) + assert.True(t, bytes.Equal(h[:], b)) +} + +func TestSHA256Set(t *testing.T) { + h := SHA256{} + assert.Panics(t, func() { + h.Set(randBytes(t, 33)) + }) + assert.Panics(t, func() { + h.Set(randBytes(t, 100)) + }) + assert.Panics(t, func() { + h.Set(randBytes(t, 31)) + }) + assert.Panics(t, func() { + h.Set(randBytes(t, 0)) + }) + assert.NotPanics(t, func() { + h.Set(randBytes(t, 32)) + }) + b := randBytes(t, 32) + h.Set(b) + assert.True(t, bytes.Equal(h[:], b)) +} + +func TestSHA256Hex(t *testing.T) { + h := SHA256{} + h.Set(randBytes(t, 32)) + s := h.Hex() + h2, err := SHA256FromHex(s) + assert.Nil(t, err) + assert.Equal(t, h, h2) + assert.Equal(t, h2.Hex(), s) +} + +func TestSHA256KnownValue(t *testing.T) { + vals := []struct { + input string + output string + }{ + // These values are generated by + // echo -n input | sha256sum + { + "skycoin", + "5a42c0643bdb465d90bf673b99c14f5fa02db71513249d904573d2b8b63d353d", + }, + { + "hello world", + "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9", + }, + { + "hello world asd awd awd awdapodawpokawpod ", + "99d71f95cafe05ea2dddebc35b6083bd5af0e44850c9dc5139b4476c99950be4", + }, + } + for _, io := range vals { + assert.Equal(t, io.output, SumSHA256([]byte(io.input)).Hex()) + } +} + +func TestSumSHA256(t *testing.T) { + b := randBytes(t, 256) + h1 := SumSHA256(b) + assert.NotEqual(t, h1, SHA256{}) + // A second call to Sum should not be influenced by the original + c := randBytes(t, 256) + h2 := SumSHA256(c) + assert.NotEqual(t, h2, SHA256{}) + assert.Equal(t, h2, freshSumSHA256(c)) +} + +func TestSHA256FromHex(t *testing.T) { + // Invalid hex hash + _, err := SHA256FromHex("cawcd") + assert.NotNil(t, err) + + // Truncated hex hash + h := SumSHA256(randBytes(t, 128)) + _, err = SHA256FromHex(hex.EncodeToString(h[:len(h)/2])) + assert.NotNil(t, err) + + // Valid hex hash + h2, err := SHA256FromHex(hex.EncodeToString(h[:])) + assert.Equal(t, h, h2) + assert.Nil(t, err) +} + +func TestMustSHA256FromHex(t *testing.T) { + // Invalid hex hash + assert.Panics(t, func() { MustSHA256FromHex("cawcd") }) + + // Truncated hex hash + h := SumSHA256(randBytes(t, 128)) + assert.Panics(t, func() { + MustSHA256FromHex(hex.EncodeToString(h[:len(h)/2])) + }) + + // Valid hex hash + h2 := MustSHA256FromHex(hex.EncodeToString(h[:])) + assert.Equal(t, h, h2) +} + +func TestMustSumSHA256(t *testing.T) { + b := randBytes(t, 128) + assert.Panics(t, func() { MustSumSHA256(b, 127) }) + assert.Panics(t, func() { MustSumSHA256(b, 129) }) + assert.NotPanics(t, func() { MustSumSHA256(b, 128) }) + h := MustSumSHA256(b, 128) + assert.NotEqual(t, h, SHA256{}) + assert.Equal(t, h, freshSumSHA256(b)) +} + +func TestDoubleSHA256(t *testing.T) { + b := randBytes(t, 128) + h := DoubleSHA256(b) + assert.NotEqual(t, h, SHA256{}) + assert.NotEqual(t, h, freshSumSHA256(b)) +} + +func TestAddSHA256(t *testing.T) { + b := randBytes(t, 128) + h := SumSHA256(b) + c := randBytes(t, 64) + i := SumSHA256(c) + add := AddSHA256(h, i) + assert.NotEqual(t, add, SHA256{}) + assert.NotEqual(t, add, h) + assert.NotEqual(t, add, i) + assert.Equal(t, add, SumSHA256(append(h[:], i[:]...))) +} + +func TestXorSHA256(t *testing.T) { + b := randBytes(t, 128) + c := randBytes(t, 128) + h := SumSHA256(b) + i := SumSHA256(c) + assert.NotEqual(t, h.Xor(i), h) + assert.NotEqual(t, h.Xor(i), i) + assert.NotEqual(t, h.Xor(i), SHA256{}) + assert.Equal(t, h.Xor(i), i.Xor(h)) +} + +func TestSHA256Null(t *testing.T) { + var x SHA256 + require.True(t, x.Null()) + + b := randBytes(t, 128) + x = SumSHA256(b) + + require.False(t, x.Null()) +} + +func TestNextPowerOfTwo(t *testing.T) { + inputs := [][]uint64{ + {0, 1}, + {1, 1}, + {2, 2}, + {3, 4}, + {4, 4}, + {5, 8}, + {8, 8}, + {14, 16}, + {16, 16}, + {17, 32}, + {43345, 65536}, + {65535, 65536}, + {35657, 65536}, + {65536, 65536}, + {65537, 131072}, + } + for _, i := range inputs { + assert.Equal(t, nextPowerOfTwo(i[0]), i[1]) + } + for i := uint64(2); i < 10000; i++ { + p := nextPowerOfTwo(i) + assert.Equal(t, p%2, uint64(0)) + assert.True(t, p >= i) + } +} + +func TestMerkle(t *testing.T) { + h := SumSHA256(randBytes(t, 128)) + // Single hash input returns hash + assert.Equal(t, Merkle([]SHA256{h}), h) + h2 := SumSHA256(randBytes(t, 128)) + // 2 hashes should be AddSHA256 of them + assert.Equal(t, Merkle([]SHA256{h, h2}), AddSHA256(h, h2)) + // 3 hashes should be Add(Add()) + h3 := SumSHA256(randBytes(t, 128)) + out := AddSHA256(AddSHA256(h, h2), AddSHA256(h3, SHA256{})) + assert.Equal(t, Merkle([]SHA256{h, h2, h3}), out) + // 4 hashes should be Add(Add()) + h4 := SumSHA256(randBytes(t, 128)) + out = AddSHA256(AddSHA256(h, h2), AddSHA256(h3, h4)) + assert.Equal(t, Merkle([]SHA256{h, h2, h3, h4}), out) + // 5 hashes + h5 := SumSHA256(randBytes(t, 128)) + out = AddSHA256(AddSHA256(h, h2), AddSHA256(h3, h4)) + out = AddSHA256(out, AddSHA256(AddSHA256(h5, SHA256{}), + AddSHA256(SHA256{}, SHA256{}))) + assert.Equal(t, Merkle([]SHA256{h, h2, h3, h4, h5}), out) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/pbkdf2/pbkdf2.go b/vendor/github.com/skycoin/skycoin/src/cipher/pbkdf2/pbkdf2.go new file mode 100755 index 0000000..caa40ad --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/pbkdf2/pbkdf2.go @@ -0,0 +1,77 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package pbkdf2 implements the key derivation function PBKDF2 as defined in RFC +2898 / PKCS #5 v2.0. + +A key derivation function is useful when encrypting data based on a password +or any other not-fully-random data. It uses a pseudorandom function to derive +a secure encryption key based on the password. + +While v2.0 of the standard defines only one pseudorandom function to use, +HMAC-SHA1, the drafted v2.1 specification allows use of all five FIPS Approved +Hash Functions SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512 for HMAC. To +choose, you can pass the `New` functions from the different SHA packages to +pbkdf2.Key. +*/ +package pbkdf2 // import "github.com/skycoin/skycoin/src/cipher/pbkdf2" + +import ( + "crypto/hmac" + "hash" +) + +// Key derives a key from the password, salt and iteration count, returning a +// []byte of length keylen that can be used as cryptographic key. The key is +// derived based on the method described as PBKDF2 with the HMAC variant using +// the supplied hash function. +// +// For example, to use a HMAC-SHA-1 based PBKDF2 key derivation function, you +// can get a derived key for e.g. AES-256 (which needs a 32-byte key) by +// doing: +// +// dk := pbkdf2.Key([]byte("some password"), salt, 4096, 32, sha1.New) +// +// Remember to get a good random salt. At least 8 bytes is recommended by the +// RFC. +// +// Using a higher iteration count will increase the cost of an exhaustive +// search but will also make derivation proportionally slower. +func Key(password, salt []byte, iter, keyLen int, h func() hash.Hash) []byte { + prf := hmac.New(h, password) + hashLen := prf.Size() + numBlocks := (keyLen + hashLen - 1) / hashLen + + var buf [4]byte + dk := make([]byte, 0, numBlocks*hashLen) + U := make([]byte, hashLen) + for block := 1; block <= numBlocks; block++ { + // N.B.: || means concatenation, ^ means XOR + // for each block T_i = U_1 ^ U_2 ^ ... ^ U_iter + // U_1 = PRF(password, salt || uint(i)) + prf.Reset() + prf.Write(salt) + buf[0] = byte(block >> 24) + buf[1] = byte(block >> 16) + buf[2] = byte(block >> 8) + buf[3] = byte(block) + prf.Write(buf[:4]) + dk = prf.Sum(dk) + T := dk[len(dk)-hashLen:] + copy(U, T) + + // U_n = PRF(password, U_(n-1)) + for n := 2; n <= iter; n++ { + prf.Reset() + prf.Write(U) + U = U[:0] + U = prf.Sum(U) + for x := range U { + T[x] ^= U[x] + } + } + } + return dk[:keyLen] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/pbkdf2/pbkdf2_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/pbkdf2/pbkdf2_test.go new file mode 100755 index 0000000..1379240 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/pbkdf2/pbkdf2_test.go @@ -0,0 +1,157 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package pbkdf2 + +import ( + "bytes" + "crypto/sha1" + "crypto/sha256" + "hash" + "testing" +) + +type testVector struct { + password string + salt string + iter int + output []byte +} + +// Test vectors from RFC 6070, http://tools.ietf.org/html/rfc6070 +var sha1TestVectors = []testVector{ + { + "password", + "salt", + 1, + []byte{ + 0x0c, 0x60, 0xc8, 0x0f, 0x96, 0x1f, 0x0e, 0x71, + 0xf3, 0xa9, 0xb5, 0x24, 0xaf, 0x60, 0x12, 0x06, + 0x2f, 0xe0, 0x37, 0xa6, + }, + }, + { + "password", + "salt", + 2, + []byte{ + 0xea, 0x6c, 0x01, 0x4d, 0xc7, 0x2d, 0x6f, 0x8c, + 0xcd, 0x1e, 0xd9, 0x2a, 0xce, 0x1d, 0x41, 0xf0, + 0xd8, 0xde, 0x89, 0x57, + }, + }, + { + "password", + "salt", + 4096, + []byte{ + 0x4b, 0x00, 0x79, 0x01, 0xb7, 0x65, 0x48, 0x9a, + 0xbe, 0xad, 0x49, 0xd9, 0x26, 0xf7, 0x21, 0xd0, + 0x65, 0xa4, 0x29, 0xc1, + }, + }, + // // This one takes too long + // { + // "password", + // "salt", + // 16777216, + // []byte{ + // 0xee, 0xfe, 0x3d, 0x61, 0xcd, 0x4d, 0xa4, 0xe4, + // 0xe9, 0x94, 0x5b, 0x3d, 0x6b, 0xa2, 0x15, 0x8c, + // 0x26, 0x34, 0xe9, 0x84, + // }, + // }, + { + "passwordPASSWORDpassword", + "saltSALTsaltSALTsaltSALTsaltSALTsalt", + 4096, + []byte{ + 0x3d, 0x2e, 0xec, 0x4f, 0xe4, 0x1c, 0x84, 0x9b, + 0x80, 0xc8, 0xd8, 0x36, 0x62, 0xc0, 0xe4, 0x4a, + 0x8b, 0x29, 0x1a, 0x96, 0x4c, 0xf2, 0xf0, 0x70, + 0x38, + }, + }, + { + "pass\000word", + "sa\000lt", + 4096, + []byte{ + 0x56, 0xfa, 0x6a, 0xa7, 0x55, 0x48, 0x09, 0x9d, + 0xcc, 0x37, 0xd7, 0xf0, 0x34, 0x25, 0xe0, 0xc3, + }, + }, +} + +// Test vectors from +// http://stackoverflow.com/questions/5130513/pbkdf2-hmac-sha2-test-vectors +var sha256TestVectors = []testVector{ + { + "password", + "salt", + 1, + []byte{ + 0x12, 0x0f, 0xb6, 0xcf, 0xfc, 0xf8, 0xb3, 0x2c, + 0x43, 0xe7, 0x22, 0x52, 0x56, 0xc4, 0xf8, 0x37, + 0xa8, 0x65, 0x48, 0xc9, + }, + }, + { + "password", + "salt", + 2, + []byte{ + 0xae, 0x4d, 0x0c, 0x95, 0xaf, 0x6b, 0x46, 0xd3, + 0x2d, 0x0a, 0xdf, 0xf9, 0x28, 0xf0, 0x6d, 0xd0, + 0x2a, 0x30, 0x3f, 0x8e, + }, + }, + { + "password", + "salt", + 4096, + []byte{ + 0xc5, 0xe4, 0x78, 0xd5, 0x92, 0x88, 0xc8, 0x41, + 0xaa, 0x53, 0x0d, 0xb6, 0x84, 0x5c, 0x4c, 0x8d, + 0x96, 0x28, 0x93, 0xa0, + }, + }, + { + "passwordPASSWORDpassword", + "saltSALTsaltSALTsaltSALTsaltSALTsalt", + 4096, + []byte{ + 0x34, 0x8c, 0x89, 0xdb, 0xcb, 0xd3, 0x2b, 0x2f, + 0x32, 0xd8, 0x14, 0xb8, 0x11, 0x6e, 0x84, 0xcf, + 0x2b, 0x17, 0x34, 0x7e, 0xbc, 0x18, 0x00, 0x18, + 0x1c, + }, + }, + { + "pass\000word", + "sa\000lt", + 4096, + []byte{ + 0x89, 0xb6, 0x9d, 0x05, 0x16, 0xf8, 0x29, 0x89, + 0x3c, 0x69, 0x62, 0x26, 0x65, 0x0a, 0x86, 0x87, + }, + }, +} + +func testHash(t *testing.T, h func() hash.Hash, hashName string, vectors []testVector) { + for i, v := range vectors { + o := Key([]byte(v.password), []byte(v.salt), v.iter, len(v.output), h) + if !bytes.Equal(o, v.output) { + t.Errorf("%s %d: expected %x, got %x", hashName, i, v.output, o) + } + } +} + +func TestWithHMACSHA1(t *testing.T) { + testHash(t, sha1.New, "SHA1", sha1TestVectors) +} + +func TestWithHMACSHA256(t *testing.T) { + testHash(t, sha256.New, "SHA256", sha256TestVectors) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/poly1305.go b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/poly1305.go new file mode 100755 index 0000000..e7a5945 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/poly1305.go @@ -0,0 +1,32 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package poly1305 implements Poly1305 one-time message authentication code as specified in http://cr.yp.to/mac/poly1305-20050329.pdf. + +Poly1305 is a fast, one-time authentication function. It is infeasible for an +attacker to generate an authenticator for a message without the key. However, a +key must only be used for a single message. Authenticating two different +messages with the same key allows an attacker to forge authenticators for other +messages with the same key. + +Poly1305 was originally coupled with AES in order to make Poly1305-AES. AES was +used with a fixed key in order to generate one-time keys from an nonce. +However, in this package AES isn't used and the one-time key is specified +directly. +*/ +package poly1305 // import "github.com/skycoin/skycoin/src/cipher/poly1305" + +import "crypto/subtle" + +// TagSize is the size, in bytes, of a poly1305 authenticator. +const TagSize = 16 + +// Verify returns true if mac is a valid authenticator for m with the given +// key. +func Verify(mac *[16]byte, m []byte, key *[32]byte) bool { + var tmp [16]byte + Sum(&tmp, m, key) + return subtle.ConstantTimeCompare(tmp[:], mac[:]) == 1 +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/poly1305_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/poly1305_test.go new file mode 100755 index 0000000..017027f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/poly1305_test.go @@ -0,0 +1,159 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package poly1305 + +import ( + "bytes" + "encoding/hex" + "flag" + "testing" + "unsafe" +) + +var stressFlag = flag.Bool("stress", false, "run slow stress tests") + +var testData = []struct { + in, k, correct []byte +}{ + { + []byte("Hello world!"), + []byte("this is 32-byte key for Poly1305"), + []byte{0xa6, 0xf7, 0x45, 0x00, 0x8f, 0x81, 0xc9, 0x16, 0xa2, 0x0d, 0xcc, 0x74, 0xee, 0xf2, 0xb2, 0xf0}, + }, + { + make([]byte, 32), + []byte("this is 32-byte key for Poly1305"), + []byte{0x49, 0xec, 0x78, 0x09, 0x0e, 0x48, 0x1e, 0xc6, 0xc2, 0x6b, 0x33, 0xb9, 0x1c, 0xcc, 0x03, 0x07}, + }, + { + make([]byte, 2007), + []byte("this is 32-byte key for Poly1305"), + []byte{0xda, 0x84, 0xbc, 0xab, 0x02, 0x67, 0x6c, 0x38, 0xcd, 0xb0, 0x15, 0x60, 0x42, 0x74, 0xc2, 0xaa}, + }, + { + make([]byte, 2007), + make([]byte, 32), + make([]byte, 16), + }, + { + // This test triggers an edge-case. See https://go-review.googlesource.com/#/c/30101/. + []byte{0x81, 0xd8, 0xb2, 0xe4, 0x6a, 0x25, 0x21, 0x3b, 0x58, 0xfe, 0xe4, 0x21, 0x3a, 0x2a, 0x28, 0xe9, 0x21, 0xc1, 0x2a, 0x96, 0x32, 0x51, 0x6d, 0x3b, 0x73, 0x27, 0x27, 0x27, 0xbe, 0xcf, 0x21, 0x29}, + []byte{0x3b, 0x3a, 0x29, 0xe9, 0x3b, 0x21, 0x3a, 0x5c, 0x5c, 0x3b, 0x3b, 0x05, 0x3a, 0x3a, 0x8c, 0x0d}, + []byte{0x6d, 0xc1, 0x8b, 0x8c, 0x34, 0x4c, 0xd7, 0x99, 0x27, 0x11, 0x8b, 0xbe, 0x84, 0xb7, 0xf3, 0x14}, + }, + { + // This test generates a result of (2^130-1) % (2^130-5). + []byte{ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + []byte{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + []byte{4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { + // This test generates a result of (2^130-6) % (2^130-5). + []byte{ + 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + []byte{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + []byte{0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, + }, + { + // This test generates a result of (2^130-5) % (2^130-5). + []byte{ + 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + []byte{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + []byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, +} + +func testSum(t *testing.T, unaligned bool) { + var out [16]byte + var key [32]byte + + for i, v := range testData { + in := v.in + if unaligned { + in = unalignBytes(in) + } + copy(key[:], v.k) + Sum(&out, in, &key) + if !bytes.Equal(out[:], v.correct) { + t.Errorf("%d: expected %x, got %x", i, v.correct, out[:]) + } + } +} + +func TestBurnin(t *testing.T) { + // This test can be used to sanity-check significant changes. It can + // take about many minutes to run, even on fast machines. It's disabled + // by default. + if !*stressFlag { + t.Skip("skipping without -stress") + } + + var key [32]byte + var input [25]byte + var output [16]byte + + for i := range key { + key[i] = 1 + } + for i := range input { + input[i] = 2 + } + + for i := uint64(0); i < 1e10; i++ { + Sum(&output, input[:], &key) + copy(key[0:], output[:]) + copy(key[16:], output[:]) + copy(input[:], output[:]) + copy(input[16:], output[:]) + } + + const expected = "5e3b866aea0b636d240c83c428f84bfa" + if got := hex.EncodeToString(output[:]); got != expected { + t.Errorf("expected %s, got %s", expected, got) + } +} + +func TestSum(t *testing.T) { testSum(t, false) } +func TestSumUnaligned(t *testing.T) { testSum(t, true) } + +func benchmark(b *testing.B, size int, unaligned bool) { + var out [16]byte + var key [32]byte + in := make([]byte, size) + if unaligned { + in = unalignBytes(in) + } + b.SetBytes(int64(len(in))) + b.ResetTimer() + for i := 0; i < b.N; i++ { + Sum(&out, in, &key) + } +} + +func Benchmark64(b *testing.B) { benchmark(b, 64, false) } +func Benchmark1K(b *testing.B) { benchmark(b, 1024, false) } +func Benchmark64Unaligned(b *testing.B) { benchmark(b, 64, true) } +func Benchmark1KUnaligned(b *testing.B) { benchmark(b, 1024, true) } + +func unalignBytes(in []byte) []byte { + out := make([]byte, len(in)+1) + if uintptr(unsafe.Pointer(&out[0]))&(unsafe.Alignof(uint32(0))-1) == 0 { + out = out[1:] + } else { + out = out[:len(in)] + } + copy(out, in) + return out +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_amd64.go b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_amd64.go new file mode 100755 index 0000000..4dd72fe --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_amd64.go @@ -0,0 +1,22 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,!gccgo,!appengine + +package poly1305 + +// This function is implemented in sum_amd64.s +//go:noescape +func poly1305(out *[16]byte, m *byte, mlen uint64, key *[32]byte) + +// Sum generates an authenticator for m using a one-time key and puts the +// 16-byte result into out. Authenticating two different messages with the same +// key allows an attacker to forge messages at will. +func Sum(out *[16]byte, m []byte, key *[32]byte) { + var mPtr *byte + if len(m) > 0 { + mPtr = &m[0] + } + poly1305(out, mPtr, uint64(len(m)), key) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_amd64.s b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_amd64.s new file mode 100755 index 0000000..2edae63 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_amd64.s @@ -0,0 +1,125 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,!gccgo,!appengine + +#include "textflag.h" + +#define POLY1305_ADD(msg, h0, h1, h2) \ + ADDQ 0(msg), h0; \ + ADCQ 8(msg), h1; \ + ADCQ $1, h2; \ + LEAQ 16(msg), msg + +#define POLY1305_MUL(h0, h1, h2, r0, r1, t0, t1, t2, t3) \ + MOVQ r0, AX; \ + MULQ h0; \ + MOVQ AX, t0; \ + MOVQ DX, t1; \ + MOVQ r0, AX; \ + MULQ h1; \ + ADDQ AX, t1; \ + ADCQ $0, DX; \ + MOVQ r0, t2; \ + IMULQ h2, t2; \ + ADDQ DX, t2; \ + \ + MOVQ r1, AX; \ + MULQ h0; \ + ADDQ AX, t1; \ + ADCQ $0, DX; \ + MOVQ DX, h0; \ + MOVQ r1, t3; \ + IMULQ h2, t3; \ + MOVQ r1, AX; \ + MULQ h1; \ + ADDQ AX, t2; \ + ADCQ DX, t3; \ + ADDQ h0, t2; \ + ADCQ $0, t3; \ + \ + MOVQ t0, h0; \ + MOVQ t1, h1; \ + MOVQ t2, h2; \ + ANDQ $3, h2; \ + MOVQ t2, t0; \ + ANDQ $0xFFFFFFFFFFFFFFFC, t0; \ + ADDQ t0, h0; \ + ADCQ t3, h1; \ + ADCQ $0, h2; \ + SHRQ $2, t3, t2; \ + SHRQ $2, t3; \ + ADDQ t2, h0; \ + ADCQ t3, h1; \ + ADCQ $0, h2 + +DATA ·poly1305Mask<>+0x00(SB)/8, $0x0FFFFFFC0FFFFFFF +DATA ·poly1305Mask<>+0x08(SB)/8, $0x0FFFFFFC0FFFFFFC +GLOBL ·poly1305Mask<>(SB), RODATA, $16 + +// func poly1305(out *[16]byte, m *byte, mlen uint64, key *[32]key) +TEXT ·poly1305(SB), $0-32 + MOVQ out+0(FP), DI + MOVQ m+8(FP), SI + MOVQ mlen+16(FP), R15 + MOVQ key+24(FP), AX + + MOVQ 0(AX), R11 + MOVQ 8(AX), R12 + ANDQ ·poly1305Mask<>(SB), R11 // r0 + ANDQ ·poly1305Mask<>+8(SB), R12 // r1 + XORQ R8, R8 // h0 + XORQ R9, R9 // h1 + XORQ R10, R10 // h2 + + CMPQ R15, $16 + JB bytes_between_0_and_15 + +loop: + POLY1305_ADD(SI, R8, R9, R10) + +multiply: + POLY1305_MUL(R8, R9, R10, R11, R12, BX, CX, R13, R14) + SUBQ $16, R15 + CMPQ R15, $16 + JAE loop + +bytes_between_0_and_15: + TESTQ R15, R15 + JZ done + MOVQ $1, BX + XORQ CX, CX + XORQ R13, R13 + ADDQ R15, SI + +flush_buffer: + SHLQ $8, BX, CX + SHLQ $8, BX + MOVB -1(SI), R13 + XORQ R13, BX + DECQ SI + DECQ R15 + JNZ flush_buffer + + ADDQ BX, R8 + ADCQ CX, R9 + ADCQ $0, R10 + MOVQ $16, R15 + JMP multiply + +done: + MOVQ R8, AX + MOVQ R9, BX + SUBQ $0xFFFFFFFFFFFFFFFB, AX + SBBQ $0xFFFFFFFFFFFFFFFF, BX + SBBQ $3, R10 + CMOVQCS R8, AX + CMOVQCS R9, BX + MOVQ key+24(FP), R8 + ADDQ 16(R8), AX + ADCQ 24(R8), BX + + MOVQ AX, 0(DI) + MOVQ BX, 8(DI) + RET diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_arm.go b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_arm.go new file mode 100755 index 0000000..5dc321c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_arm.go @@ -0,0 +1,22 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,!gccgo,!appengine,!nacl + +package poly1305 + +// This function is implemented in sum_arm.s +//go:noescape +func poly1305_auth_armv6(out *[16]byte, m *byte, mlen uint32, key *[32]byte) + +// Sum generates an authenticator for m using a one-time key and puts the +// 16-byte result into out. Authenticating two different messages with the same +// key allows an attacker to forge messages at will. +func Sum(out *[16]byte, m []byte, key *[32]byte) { + var mPtr *byte + if len(m) > 0 { + mPtr = &m[0] + } + poly1305_auth_armv6(out, mPtr, uint32(len(m)), key) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_arm.s b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_arm.s new file mode 100755 index 0000000..f70b4ac --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_arm.s @@ -0,0 +1,427 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,!gccgo,!appengine,!nacl + +#include "textflag.h" + +// This code was translated into a form compatible with 5a from the public +// domain source by Andrew Moon: github.com/floodyberry/poly1305-opt/blob/master/app/extensions/poly1305. + +DATA ·poly1305_init_constants_armv6<>+0x00(SB)/4, $0x3ffffff +DATA ·poly1305_init_constants_armv6<>+0x04(SB)/4, $0x3ffff03 +DATA ·poly1305_init_constants_armv6<>+0x08(SB)/4, $0x3ffc0ff +DATA ·poly1305_init_constants_armv6<>+0x0c(SB)/4, $0x3f03fff +DATA ·poly1305_init_constants_armv6<>+0x10(SB)/4, $0x00fffff +GLOBL ·poly1305_init_constants_armv6<>(SB), 8, $20 + +// Warning: the linker may use R11 to synthesize certain instructions. Please +// take care and verify that no synthetic instructions use it. + +TEXT poly1305_init_ext_armv6<>(SB), NOSPLIT, $0 + // Needs 16 bytes of stack and 64 bytes of space pointed to by R0. (It + // might look like it's only 60 bytes of space but the final four bytes + // will be written by another function.) We need to skip over four + // bytes of stack because that's saving the value of 'g'. + ADD $4, R13, R8 + MOVM.IB [R4-R7], (R8) + MOVM.IA.W (R1), [R2-R5] + MOVW $·poly1305_init_constants_armv6<>(SB), R7 + MOVW R2, R8 + MOVW R2>>26, R9 + MOVW R3>>20, g + MOVW R4>>14, R11 + MOVW R5>>8, R12 + ORR R3<<6, R9, R9 + ORR R4<<12, g, g + ORR R5<<18, R11, R11 + MOVM.IA (R7), [R2-R6] + AND R8, R2, R2 + AND R9, R3, R3 + AND g, R4, R4 + AND R11, R5, R5 + AND R12, R6, R6 + MOVM.IA.W [R2-R6], (R0) + EOR R2, R2, R2 + EOR R3, R3, R3 + EOR R4, R4, R4 + EOR R5, R5, R5 + EOR R6, R6, R6 + MOVM.IA.W [R2-R6], (R0) + MOVM.IA.W (R1), [R2-R5] + MOVM.IA [R2-R6], (R0) + ADD $20, R13, R0 + MOVM.DA (R0), [R4-R7] + RET + +#define MOVW_UNALIGNED(Rsrc, Rdst, Rtmp, offset) \ + MOVBU (offset+0)(Rsrc), Rtmp; \ + MOVBU Rtmp, (offset+0)(Rdst); \ + MOVBU (offset+1)(Rsrc), Rtmp; \ + MOVBU Rtmp, (offset+1)(Rdst); \ + MOVBU (offset+2)(Rsrc), Rtmp; \ + MOVBU Rtmp, (offset+2)(Rdst); \ + MOVBU (offset+3)(Rsrc), Rtmp; \ + MOVBU Rtmp, (offset+3)(Rdst) + +TEXT poly1305_blocks_armv6<>(SB), NOSPLIT, $0 + // Needs 24 bytes of stack for saved registers and then 88 bytes of + // scratch space after that. We assume that 24 bytes at (R13) have + // already been used: four bytes for the link register saved in the + // prelude of poly1305_auth_armv6, four bytes for saving the value of g + // in that function and 16 bytes of scratch space used around + // poly1305_finish_ext_armv6_skip1. + ADD $24, R13, R12 + MOVM.IB [R4-R8, R14], (R12) + MOVW R0, 88(R13) + MOVW R1, 92(R13) + MOVW R2, 96(R13) + MOVW R1, R14 + MOVW R2, R12 + MOVW 56(R0), R8 + WORD $0xe1180008 // TST R8, R8 not working see issue 5921 + EOR R6, R6, R6 + MOVW.EQ $(1<<24), R6 + MOVW R6, 84(R13) + ADD $116, R13, g + MOVM.IA (R0), [R0-R9] + MOVM.IA [R0-R4], (g) + CMP $16, R12 + BLO poly1305_blocks_armv6_done + +poly1305_blocks_armv6_mainloop: + WORD $0xe31e0003 // TST R14, #3 not working see issue 5921 + BEQ poly1305_blocks_armv6_mainloop_aligned + ADD $100, R13, g + MOVW_UNALIGNED(R14, g, R0, 0) + MOVW_UNALIGNED(R14, g, R0, 4) + MOVW_UNALIGNED(R14, g, R0, 8) + MOVW_UNALIGNED(R14, g, R0, 12) + MOVM.IA (g), [R0-R3] + ADD $16, R14 + B poly1305_blocks_armv6_mainloop_loaded + +poly1305_blocks_armv6_mainloop_aligned: + MOVM.IA.W (R14), [R0-R3] + +poly1305_blocks_armv6_mainloop_loaded: + MOVW R0>>26, g + MOVW R1>>20, R11 + MOVW R2>>14, R12 + MOVW R14, 92(R13) + MOVW R3>>8, R4 + ORR R1<<6, g, g + ORR R2<<12, R11, R11 + ORR R3<<18, R12, R12 + BIC $0xfc000000, R0, R0 + BIC $0xfc000000, g, g + MOVW 84(R13), R3 + BIC $0xfc000000, R11, R11 + BIC $0xfc000000, R12, R12 + ADD R0, R5, R5 + ADD g, R6, R6 + ORR R3, R4, R4 + ADD R11, R7, R7 + ADD $116, R13, R14 + ADD R12, R8, R8 + ADD R4, R9, R9 + MOVM.IA (R14), [R0-R4] + MULLU R4, R5, (R11, g) + MULLU R3, R5, (R14, R12) + MULALU R3, R6, (R11, g) + MULALU R2, R6, (R14, R12) + MULALU R2, R7, (R11, g) + MULALU R1, R7, (R14, R12) + ADD R4<<2, R4, R4 + ADD R3<<2, R3, R3 + MULALU R1, R8, (R11, g) + MULALU R0, R8, (R14, R12) + MULALU R0, R9, (R11, g) + MULALU R4, R9, (R14, R12) + MOVW g, 76(R13) + MOVW R11, 80(R13) + MOVW R12, 68(R13) + MOVW R14, 72(R13) + MULLU R2, R5, (R11, g) + MULLU R1, R5, (R14, R12) + MULALU R1, R6, (R11, g) + MULALU R0, R6, (R14, R12) + MULALU R0, R7, (R11, g) + MULALU R4, R7, (R14, R12) + ADD R2<<2, R2, R2 + ADD R1<<2, R1, R1 + MULALU R4, R8, (R11, g) + MULALU R3, R8, (R14, R12) + MULALU R3, R9, (R11, g) + MULALU R2, R9, (R14, R12) + MOVW g, 60(R13) + MOVW R11, 64(R13) + MOVW R12, 52(R13) + MOVW R14, 56(R13) + MULLU R0, R5, (R11, g) + MULALU R4, R6, (R11, g) + MULALU R3, R7, (R11, g) + MULALU R2, R8, (R11, g) + MULALU R1, R9, (R11, g) + ADD $52, R13, R0 + MOVM.IA (R0), [R0-R7] + MOVW g>>26, R12 + MOVW R4>>26, R14 + ORR R11<<6, R12, R12 + ORR R5<<6, R14, R14 + BIC $0xfc000000, g, g + BIC $0xfc000000, R4, R4 + ADD.S R12, R0, R0 + ADC $0, R1, R1 + ADD.S R14, R6, R6 + ADC $0, R7, R7 + MOVW R0>>26, R12 + MOVW R6>>26, R14 + ORR R1<<6, R12, R12 + ORR R7<<6, R14, R14 + BIC $0xfc000000, R0, R0 + BIC $0xfc000000, R6, R6 + ADD R14<<2, R14, R14 + ADD.S R12, R2, R2 + ADC $0, R3, R3 + ADD R14, g, g + MOVW R2>>26, R12 + MOVW g>>26, R14 + ORR R3<<6, R12, R12 + BIC $0xfc000000, g, R5 + BIC $0xfc000000, R2, R7 + ADD R12, R4, R4 + ADD R14, R0, R0 + MOVW R4>>26, R12 + BIC $0xfc000000, R4, R8 + ADD R12, R6, R9 + MOVW 96(R13), R12 + MOVW 92(R13), R14 + MOVW R0, R6 + CMP $32, R12 + SUB $16, R12, R12 + MOVW R12, 96(R13) + BHS poly1305_blocks_armv6_mainloop + +poly1305_blocks_armv6_done: + MOVW 88(R13), R12 + MOVW R5, 20(R12) + MOVW R6, 24(R12) + MOVW R7, 28(R12) + MOVW R8, 32(R12) + MOVW R9, 36(R12) + ADD $48, R13, R0 + MOVM.DA (R0), [R4-R8, R14] + RET + +#define MOVHUP_UNALIGNED(Rsrc, Rdst, Rtmp) \ + MOVBU.P 1(Rsrc), Rtmp; \ + MOVBU.P Rtmp, 1(Rdst); \ + MOVBU.P 1(Rsrc), Rtmp; \ + MOVBU.P Rtmp, 1(Rdst) + +#define MOVWP_UNALIGNED(Rsrc, Rdst, Rtmp) \ + MOVHUP_UNALIGNED(Rsrc, Rdst, Rtmp); \ + MOVHUP_UNALIGNED(Rsrc, Rdst, Rtmp) + +// func poly1305_auth_armv6(out *[16]byte, m *byte, mlen uint32, key *[32]key) +TEXT ·poly1305_auth_armv6(SB), $196-16 + // The value 196, just above, is the sum of 64 (the size of the context + // structure) and 132 (the amount of stack needed). + // + // At this point, the stack pointer (R13) has been moved down. It + // points to the saved link register and there's 196 bytes of free + // space above it. + // + // The stack for this function looks like: + // + // +--------------------- + // | + // | 64 bytes of context structure + // | + // +--------------------- + // | + // | 112 bytes for poly1305_blocks_armv6 + // | + // +--------------------- + // | 16 bytes of final block, constructed at + // | poly1305_finish_ext_armv6_skip8 + // +--------------------- + // | four bytes of saved 'g' + // +--------------------- + // | lr, saved by prelude <- R13 points here + // +--------------------- + MOVW g, 4(R13) + + MOVW out+0(FP), R4 + MOVW m+4(FP), R5 + MOVW mlen+8(FP), R6 + MOVW key+12(FP), R7 + + ADD $136, R13, R0 // 136 = 4 + 4 + 16 + 112 + MOVW R7, R1 + + // poly1305_init_ext_armv6 will write to the stack from R13+4, but + // that's ok because none of the other values have been written yet. + BL poly1305_init_ext_armv6<>(SB) + BIC.S $15, R6, R2 + BEQ poly1305_auth_armv6_noblocks + ADD $136, R13, R0 + MOVW R5, R1 + ADD R2, R5, R5 + SUB R2, R6, R6 + BL poly1305_blocks_armv6<>(SB) + +poly1305_auth_armv6_noblocks: + ADD $136, R13, R0 + MOVW R5, R1 + MOVW R6, R2 + MOVW R4, R3 + + MOVW R0, R5 + MOVW R1, R6 + MOVW R2, R7 + MOVW R3, R8 + AND.S R2, R2, R2 + BEQ poly1305_finish_ext_armv6_noremaining + EOR R0, R0 + ADD $8, R13, R9 // 8 = offset to 16 byte scratch space + MOVW R0, (R9) + MOVW R0, 4(R9) + MOVW R0, 8(R9) + MOVW R0, 12(R9) + WORD $0xe3110003 // TST R1, #3 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_aligned + WORD $0xe3120008 // TST R2, #8 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip8 + MOVWP_UNALIGNED(R1, R9, g) + MOVWP_UNALIGNED(R1, R9, g) + +poly1305_finish_ext_armv6_skip8: + WORD $0xe3120004 // TST $4, R2 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip4 + MOVWP_UNALIGNED(R1, R9, g) + +poly1305_finish_ext_armv6_skip4: + WORD $0xe3120002 // TST $2, R2 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip2 + MOVHUP_UNALIGNED(R1, R9, g) + B poly1305_finish_ext_armv6_skip2 + +poly1305_finish_ext_armv6_aligned: + WORD $0xe3120008 // TST R2, #8 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip8_aligned + MOVM.IA.W (R1), [g-R11] + MOVM.IA.W [g-R11], (R9) + +poly1305_finish_ext_armv6_skip8_aligned: + WORD $0xe3120004 // TST $4, R2 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip4_aligned + MOVW.P 4(R1), g + MOVW.P g, 4(R9) + +poly1305_finish_ext_armv6_skip4_aligned: + WORD $0xe3120002 // TST $2, R2 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip2 + MOVHU.P 2(R1), g + MOVH.P g, 2(R9) + +poly1305_finish_ext_armv6_skip2: + WORD $0xe3120001 // TST $1, R2 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip1 + MOVBU.P 1(R1), g + MOVBU.P g, 1(R9) + +poly1305_finish_ext_armv6_skip1: + MOVW $1, R11 + MOVBU R11, 0(R9) + MOVW R11, 56(R5) + MOVW R5, R0 + ADD $8, R13, R1 + MOVW $16, R2 + BL poly1305_blocks_armv6<>(SB) + +poly1305_finish_ext_armv6_noremaining: + MOVW 20(R5), R0 + MOVW 24(R5), R1 + MOVW 28(R5), R2 + MOVW 32(R5), R3 + MOVW 36(R5), R4 + MOVW R4>>26, R12 + BIC $0xfc000000, R4, R4 + ADD R12<<2, R12, R12 + ADD R12, R0, R0 + MOVW R0>>26, R12 + BIC $0xfc000000, R0, R0 + ADD R12, R1, R1 + MOVW R1>>26, R12 + BIC $0xfc000000, R1, R1 + ADD R12, R2, R2 + MOVW R2>>26, R12 + BIC $0xfc000000, R2, R2 + ADD R12, R3, R3 + MOVW R3>>26, R12 + BIC $0xfc000000, R3, R3 + ADD R12, R4, R4 + ADD $5, R0, R6 + MOVW R6>>26, R12 + BIC $0xfc000000, R6, R6 + ADD R12, R1, R7 + MOVW R7>>26, R12 + BIC $0xfc000000, R7, R7 + ADD R12, R2, g + MOVW g>>26, R12 + BIC $0xfc000000, g, g + ADD R12, R3, R11 + MOVW $-(1<<26), R12 + ADD R11>>26, R12, R12 + BIC $0xfc000000, R11, R11 + ADD R12, R4, R9 + MOVW R9>>31, R12 + SUB $1, R12 + AND R12, R6, R6 + AND R12, R7, R7 + AND R12, g, g + AND R12, R11, R11 + AND R12, R9, R9 + MVN R12, R12 + AND R12, R0, R0 + AND R12, R1, R1 + AND R12, R2, R2 + AND R12, R3, R3 + AND R12, R4, R4 + ORR R6, R0, R0 + ORR R7, R1, R1 + ORR g, R2, R2 + ORR R11, R3, R3 + ORR R9, R4, R4 + ORR R1<<26, R0, R0 + MOVW R1>>6, R1 + ORR R2<<20, R1, R1 + MOVW R2>>12, R2 + ORR R3<<14, R2, R2 + MOVW R3>>18, R3 + ORR R4<<8, R3, R3 + MOVW 40(R5), R6 + MOVW 44(R5), R7 + MOVW 48(R5), g + MOVW 52(R5), R11 + ADD.S R6, R0, R0 + ADC.S R7, R1, R1 + ADC.S g, R2, R2 + ADC.S R11, R3, R3 + MOVM.IA [R0-R3], (R8) + MOVW R5, R12 + EOR R0, R0, R0 + EOR R1, R1, R1 + EOR R2, R2, R2 + EOR R3, R3, R3 + EOR R4, R4, R4 + EOR R5, R5, R5 + EOR R6, R6, R6 + EOR R7, R7, R7 + MOVM.IA.W [R0-R7], (R12) + MOVM.IA [R0-R7], (R12) + MOVW 4(R13), g + RET diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_ref.go b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_ref.go new file mode 100755 index 0000000..b2805a5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_ref.go @@ -0,0 +1,141 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !amd64,!arm gccgo appengine nacl + +package poly1305 + +import "encoding/binary" + +// Sum generates an authenticator for msg using a one-time key and puts the +// 16-byte result into out. Authenticating two different messages with the same +// key allows an attacker to forge messages at will. +func Sum(out *[TagSize]byte, msg []byte, key *[32]byte) { + var ( + h0, h1, h2, h3, h4 uint32 // the hash accumulators + r0, r1, r2, r3, r4 uint64 // the r part of the key + ) + + r0 = uint64(binary.LittleEndian.Uint32(key[0:]) & 0x3ffffff) + r1 = uint64((binary.LittleEndian.Uint32(key[3:]) >> 2) & 0x3ffff03) + r2 = uint64((binary.LittleEndian.Uint32(key[6:]) >> 4) & 0x3ffc0ff) + r3 = uint64((binary.LittleEndian.Uint32(key[9:]) >> 6) & 0x3f03fff) + r4 = uint64((binary.LittleEndian.Uint32(key[12:]) >> 8) & 0x00fffff) + + R1, R2, R3, R4 := r1*5, r2*5, r3*5, r4*5 + + for len(msg) >= TagSize { + // h += msg + h0 += binary.LittleEndian.Uint32(msg[0:]) & 0x3ffffff + h1 += (binary.LittleEndian.Uint32(msg[3:]) >> 2) & 0x3ffffff + h2 += (binary.LittleEndian.Uint32(msg[6:]) >> 4) & 0x3ffffff + h3 += (binary.LittleEndian.Uint32(msg[9:]) >> 6) & 0x3ffffff + h4 += (binary.LittleEndian.Uint32(msg[12:]) >> 8) | (1 << 24) + + // h *= r + d0 := (uint64(h0) * r0) + (uint64(h1) * R4) + (uint64(h2) * R3) + (uint64(h3) * R2) + (uint64(h4) * R1) + d1 := (d0 >> 26) + (uint64(h0) * r1) + (uint64(h1) * r0) + (uint64(h2) * R4) + (uint64(h3) * R3) + (uint64(h4) * R2) + d2 := (d1 >> 26) + (uint64(h0) * r2) + (uint64(h1) * r1) + (uint64(h2) * r0) + (uint64(h3) * R4) + (uint64(h4) * R3) + d3 := (d2 >> 26) + (uint64(h0) * r3) + (uint64(h1) * r2) + (uint64(h2) * r1) + (uint64(h3) * r0) + (uint64(h4) * R4) + d4 := (d3 >> 26) + (uint64(h0) * r4) + (uint64(h1) * r3) + (uint64(h2) * r2) + (uint64(h3) * r1) + (uint64(h4) * r0) + + // h %= p + h0 = uint32(d0) & 0x3ffffff + h1 = uint32(d1) & 0x3ffffff + h2 = uint32(d2) & 0x3ffffff + h3 = uint32(d3) & 0x3ffffff + h4 = uint32(d4) & 0x3ffffff + + h0 += uint32(d4>>26) * 5 + h1 += h0 >> 26 + h0 = h0 & 0x3ffffff + + msg = msg[TagSize:] + } + + if len(msg) > 0 { + var block [TagSize]byte + off := copy(block[:], msg) + block[off] = 0x01 + + // h += msg + h0 += binary.LittleEndian.Uint32(block[0:]) & 0x3ffffff + h1 += (binary.LittleEndian.Uint32(block[3:]) >> 2) & 0x3ffffff + h2 += (binary.LittleEndian.Uint32(block[6:]) >> 4) & 0x3ffffff + h3 += (binary.LittleEndian.Uint32(block[9:]) >> 6) & 0x3ffffff + h4 += (binary.LittleEndian.Uint32(block[12:]) >> 8) + + // h *= r + d0 := (uint64(h0) * r0) + (uint64(h1) * R4) + (uint64(h2) * R3) + (uint64(h3) * R2) + (uint64(h4) * R1) + d1 := (d0 >> 26) + (uint64(h0) * r1) + (uint64(h1) * r0) + (uint64(h2) * R4) + (uint64(h3) * R3) + (uint64(h4) * R2) + d2 := (d1 >> 26) + (uint64(h0) * r2) + (uint64(h1) * r1) + (uint64(h2) * r0) + (uint64(h3) * R4) + (uint64(h4) * R3) + d3 := (d2 >> 26) + (uint64(h0) * r3) + (uint64(h1) * r2) + (uint64(h2) * r1) + (uint64(h3) * r0) + (uint64(h4) * R4) + d4 := (d3 >> 26) + (uint64(h0) * r4) + (uint64(h1) * r3) + (uint64(h2) * r2) + (uint64(h3) * r1) + (uint64(h4) * r0) + + // h %= p + h0 = uint32(d0) & 0x3ffffff + h1 = uint32(d1) & 0x3ffffff + h2 = uint32(d2) & 0x3ffffff + h3 = uint32(d3) & 0x3ffffff + h4 = uint32(d4) & 0x3ffffff + + h0 += uint32(d4>>26) * 5 + h1 += h0 >> 26 + h0 = h0 & 0x3ffffff + } + + // h %= p reduction + h2 += h1 >> 26 + h1 &= 0x3ffffff + h3 += h2 >> 26 + h2 &= 0x3ffffff + h4 += h3 >> 26 + h3 &= 0x3ffffff + h0 += 5 * (h4 >> 26) + h4 &= 0x3ffffff + h1 += h0 >> 26 + h0 &= 0x3ffffff + + // h - p + t0 := h0 + 5 + t1 := h1 + (t0 >> 26) + t2 := h2 + (t1 >> 26) + t3 := h3 + (t2 >> 26) + t4 := h4 + (t3 >> 26) - (1 << 26) + t0 &= 0x3ffffff + t1 &= 0x3ffffff + t2 &= 0x3ffffff + t3 &= 0x3ffffff + + // select h if h < p else h - p + t_mask := (t4 >> 31) - 1 + h_mask := ^t_mask + h0 = (h0 & h_mask) | (t0 & t_mask) + h1 = (h1 & h_mask) | (t1 & t_mask) + h2 = (h2 & h_mask) | (t2 & t_mask) + h3 = (h3 & h_mask) | (t3 & t_mask) + h4 = (h4 & h_mask) | (t4 & t_mask) + + // h %= 2^128 + h0 |= h1 << 26 + h1 = ((h1 >> 6) | (h2 << 20)) + h2 = ((h2 >> 12) | (h3 << 14)) + h3 = ((h3 >> 18) | (h4 << 8)) + + // s: the s part of the key + // tag = (h + s) % (2^128) + t := uint64(h0) + uint64(binary.LittleEndian.Uint32(key[16:])) + h0 = uint32(t) + t = uint64(h1) + uint64(binary.LittleEndian.Uint32(key[20:])) + (t >> 32) + h1 = uint32(t) + t = uint64(h2) + uint64(binary.LittleEndian.Uint32(key[24:])) + (t >> 32) + h2 = uint32(t) + t = uint64(h3) + uint64(binary.LittleEndian.Uint32(key[28:])) + (t >> 32) + h3 = uint32(t) + + binary.LittleEndian.PutUint32(out[0:], h0) + binary.LittleEndian.PutUint32(out[4:], h1) + binary.LittleEndian.PutUint32(out[8:], h2) + binary.LittleEndian.PutUint32(out[12:], h3) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripemd160block.go b/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripemd160block.go new file mode 100755 index 0000000..4195209 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripemd160block.go @@ -0,0 +1,161 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// RIPEMD-160 block step. +// In its own file so that a faster assembly or C version +// can be substituted easily. + +package ripemd160 + +// work buffer indices and roll amounts for one line +var _n = [80]uint{ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, + 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, + 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, + 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13, +} + +var _r = [80]uint{ + 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, + 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, + 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, + 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, + 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6, +} + +// same for the other parallel one +var n_ = [80]uint{ // nolint: golint + 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, + 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, + 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, + 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, + 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11, +} + +var r_ = [80]uint{ // nolint: golint + 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, + 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, + 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, + 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, + 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11, +} + +func _Block(md *digest, p []byte) int { + n := 0 + var x [16]uint32 + var alpha, beta uint32 + for len(p) >= BlockSize { + a, b, c, d, e := md.s[0], md.s[1], md.s[2], md.s[3], md.s[4] + aa, bb, cc, dd, ee := a, b, c, d, e + j := 0 + for i := 0; i < 16; i++ { + x[i] = uint32(p[j]) | uint32(p[j+1])<<8 | uint32(p[j+2])<<16 | uint32(p[j+3])<<24 + j += 4 + } + + // round 1 + i := 0 + for i < 16 { + alpha = a + (b ^ c ^ d) + x[_n[i]] + s := _r[i] + alpha = (alpha<>(32-s)) + e + beta = c<<10 | c>>22 + a, b, c, d, e = e, alpha, b, beta, d + + // parallel line + alpha = aa + (bb ^ (cc | ^dd)) + x[n_[i]] + 0x50a28be6 + s = r_[i] + alpha = (alpha<>(32-s)) + ee + beta = cc<<10 | cc>>22 + aa, bb, cc, dd, ee = ee, alpha, bb, beta, dd + + i++ + } + + // round 2 + for i < 32 { + alpha = a + (b&c | ^b&d) + x[_n[i]] + 0x5a827999 + s := _r[i] + alpha = (alpha<>(32-s)) + e + beta = c<<10 | c>>22 + a, b, c, d, e = e, alpha, b, beta, d + + // parallel line + alpha = aa + (bb&dd | cc&^dd) + x[n_[i]] + 0x5c4dd124 + s = r_[i] + alpha = (alpha<>(32-s)) + ee + beta = cc<<10 | cc>>22 + aa, bb, cc, dd, ee = ee, alpha, bb, beta, dd + + i++ + } + + // round 3 + for i < 48 { + alpha = a + (b | ^c ^ d) + x[_n[i]] + 0x6ed9eba1 + s := _r[i] + alpha = (alpha<>(32-s)) + e + beta = c<<10 | c>>22 + a, b, c, d, e = e, alpha, b, beta, d + + // parallel line + alpha = aa + (bb | ^cc ^ dd) + x[n_[i]] + 0x6d703ef3 + s = r_[i] + alpha = (alpha<>(32-s)) + ee + beta = cc<<10 | cc>>22 + aa, bb, cc, dd, ee = ee, alpha, bb, beta, dd + + i++ + } + + // round 4 + for i < 64 { + alpha = a + (b&d | c&^d) + x[_n[i]] + 0x8f1bbcdc + s := _r[i] + alpha = (alpha<>(32-s)) + e + beta = c<<10 | c>>22 + a, b, c, d, e = e, alpha, b, beta, d + + // parallel line + alpha = aa + (bb&cc | ^bb&dd) + x[n_[i]] + 0x7a6d76e9 + s = r_[i] + alpha = (alpha<>(32-s)) + ee + beta = cc<<10 | cc>>22 + aa, bb, cc, dd, ee = ee, alpha, bb, beta, dd + + i++ + } + + // round 5 + for i < 80 { + alpha = a + (b ^ (c | ^d)) + x[_n[i]] + 0xa953fd4e + s := _r[i] + alpha = (alpha<>(32-s)) + e + beta = c<<10 | c>>22 + a, b, c, d, e = e, alpha, b, beta, d + + // parallel line + alpha = aa + (bb ^ cc ^ dd) + x[n_[i]] + s = r_[i] + alpha = (alpha<>(32-s)) + ee + beta = cc<<10 | cc>>22 + aa, bb, cc, dd, ee = ee, alpha, bb, beta, dd + + i++ + } + + // combine results + dd += c + md.s[1] + md.s[1] = md.s[2] + d + ee + md.s[2] = md.s[3] + e + aa + md.s[3] = md.s[4] + a + bb + md.s[4] = md.s[0] + b + cc + md.s[0] = dd + + p = p[BlockSize:] + n += BlockSize + } + return n +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripmd_160.go b/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripmd_160.go new file mode 100755 index 0000000..11bb5fb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripmd_160.go @@ -0,0 +1,121 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package ripemd160 implements the RIPEMD-160 hash algorithm. +package ripemd160 + +// RIPEMD-160 is designed by by Hans Dobbertin, Antoon Bosselaers, and Bart +// Preneel with specifications available at: +// http://homes.esat.kuleuven.be/~cosicart/pdf/AB-9601/AB-9601.pdf. + +import ( + "crypto" + "hash" +) + +func init() { + crypto.RegisterHash(crypto.RIPEMD160, New) +} + +// Size is the size of the checksum in bytes. +const Size = 20 + +// BlockSize is the block size of the hash algorithm in bytes. +const BlockSize = 64 + +const ( + _s0 = 0x67452301 + _s1 = 0xefcdab89 + _s2 = 0x98badcfe + _s3 = 0x10325476 + _s4 = 0xc3d2e1f0 +) + +// digest represents the partial evaluation of a checksum. +type digest struct { + s [5]uint32 // running context + x [BlockSize]byte // temporary buffer + nx int // index into x + tc uint64 // total count of bytes processed +} + +func (d *digest) Reset() { + d.s[0], d.s[1], d.s[2], d.s[3], d.s[4] = _s0, _s1, _s2, _s3, _s4 + d.nx = 0 + d.tc = 0 +} + +// New returns a new hash.Hash computing the checksum. +func New() hash.Hash { + result := new(digest) + result.Reset() + return result +} + +func (d *digest) Size() int { return Size } + +func (d *digest) BlockSize() int { return BlockSize } + +func (d *digest) Write(p []byte) (nn int, err error) { + nn = len(p) + d.tc += uint64(nn) + if d.nx > 0 { + n := len(p) + if n > BlockSize-d.nx { + n = BlockSize - d.nx + } + for i := 0; i < n; i++ { + d.x[d.nx+i] = p[i] + } + d.nx += n + if d.nx == BlockSize { + _Block(d, d.x[0:]) + d.nx = 0 + } + p = p[n:] + } + n := _Block(d, p) + p = p[n:] + if len(p) > 0 { + d.nx = copy(d.x[:], p) + } + return +} + +func (d0 *digest) Sum(in []byte) []byte { // nolint: golint + // Make a copy of d0 so that caller can keep writing and summing. + d := *d0 + + // Padding. Add a 1 bit and 0 bits until 56 bytes mod 64. + tc := d.tc + var tmp [64]byte + tmp[0] = 0x80 + if tc%64 < 56 { + + d.Write(tmp[0 : 56-tc%64]) + } else { + d.Write(tmp[0 : 64+56-tc%64]) + } + + // Length in bits. + tc <<= 3 + for i := uint(0); i < 8; i++ { + tmp[i] = byte(tc >> (8 * i)) + } + d.Write(tmp[0:8]) + + if d.nx != 0 { + panic("d.nx != 0") + } + + var digest [Size]byte + for i, s := range d.s { + digest[i*4] = byte(s) + digest[i*4+1] = byte(s >> 8) + digest[i*4+2] = byte(s >> 16) + digest[i*4+3] = byte(s >> 24) + } + + return append(in, digest[:]...) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/scrypt/scrypt.go b/vendor/github.com/skycoin/skycoin/src/cipher/scrypt/scrypt.go new file mode 100755 index 0000000..347f32d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/scrypt/scrypt.go @@ -0,0 +1,243 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package scrypt implements the scrypt key derivation function as defined in +// Colin Percival's paper "Stronger Key Derivation via Sequential Memory-Hard +// Functions" (http://www.tarsnap.com/scrypt/scrypt.pdf). +package scrypt // import "github.com/skycoin/skycoin/src/cipher/scrypt" + +import ( + "crypto/sha256" + "errors" + + "github.com/skycoin/skycoin/src/cipher/pbkdf2" +) + +const maxInt = int(^uint(0) >> 1) + +// blockCopy copies n numbers from src into dst. +func blockCopy(dst, src []uint32, n int) { + copy(dst, src[:n]) +} + +// blockXOR XORs numbers from dst with n numbers from src. +func blockXOR(dst, src []uint32, n int) { + for i, v := range src[:n] { + dst[i] ^= v + } +} + +// salsaXOR applies Salsa20/8 to the XOR of 16 numbers from tmp and in, +// and puts the result into both both tmp and out. +func salsaXOR(tmp *[16]uint32, in, out []uint32) { + w0 := tmp[0] ^ in[0] + w1 := tmp[1] ^ in[1] + w2 := tmp[2] ^ in[2] + w3 := tmp[3] ^ in[3] + w4 := tmp[4] ^ in[4] + w5 := tmp[5] ^ in[5] + w6 := tmp[6] ^ in[6] + w7 := tmp[7] ^ in[7] + w8 := tmp[8] ^ in[8] + w9 := tmp[9] ^ in[9] + w10 := tmp[10] ^ in[10] + w11 := tmp[11] ^ in[11] + w12 := tmp[12] ^ in[12] + w13 := tmp[13] ^ in[13] + w14 := tmp[14] ^ in[14] + w15 := tmp[15] ^ in[15] + + x0, x1, x2, x3, x4, x5, x6, x7, x8 := w0, w1, w2, w3, w4, w5, w6, w7, w8 + x9, x10, x11, x12, x13, x14, x15 := w9, w10, w11, w12, w13, w14, w15 + + for i := 0; i < 8; i += 2 { + u := x0 + x12 + x4 ^= u<<7 | u>>(32-7) + u = x4 + x0 + x8 ^= u<<9 | u>>(32-9) + u = x8 + x4 + x12 ^= u<<13 | u>>(32-13) + u = x12 + x8 + x0 ^= u<<18 | u>>(32-18) + + u = x5 + x1 + x9 ^= u<<7 | u>>(32-7) + u = x9 + x5 + x13 ^= u<<9 | u>>(32-9) + u = x13 + x9 + x1 ^= u<<13 | u>>(32-13) + u = x1 + x13 + x5 ^= u<<18 | u>>(32-18) + + u = x10 + x6 + x14 ^= u<<7 | u>>(32-7) + u = x14 + x10 + x2 ^= u<<9 | u>>(32-9) + u = x2 + x14 + x6 ^= u<<13 | u>>(32-13) + u = x6 + x2 + x10 ^= u<<18 | u>>(32-18) + + u = x15 + x11 + x3 ^= u<<7 | u>>(32-7) + u = x3 + x15 + x7 ^= u<<9 | u>>(32-9) + u = x7 + x3 + x11 ^= u<<13 | u>>(32-13) + u = x11 + x7 + x15 ^= u<<18 | u>>(32-18) + + u = x0 + x3 + x1 ^= u<<7 | u>>(32-7) + u = x1 + x0 + x2 ^= u<<9 | u>>(32-9) + u = x2 + x1 + x3 ^= u<<13 | u>>(32-13) + u = x3 + x2 + x0 ^= u<<18 | u>>(32-18) + + u = x5 + x4 + x6 ^= u<<7 | u>>(32-7) + u = x6 + x5 + x7 ^= u<<9 | u>>(32-9) + u = x7 + x6 + x4 ^= u<<13 | u>>(32-13) + u = x4 + x7 + x5 ^= u<<18 | u>>(32-18) + + u = x10 + x9 + x11 ^= u<<7 | u>>(32-7) + u = x11 + x10 + x8 ^= u<<9 | u>>(32-9) + u = x8 + x11 + x9 ^= u<<13 | u>>(32-13) + u = x9 + x8 + x10 ^= u<<18 | u>>(32-18) + + u = x15 + x14 + x12 ^= u<<7 | u>>(32-7) + u = x12 + x15 + x13 ^= u<<9 | u>>(32-9) + u = x13 + x12 + x14 ^= u<<13 | u>>(32-13) + u = x14 + x13 + x15 ^= u<<18 | u>>(32-18) + } + x0 += w0 + x1 += w1 + x2 += w2 + x3 += w3 + x4 += w4 + x5 += w5 + x6 += w6 + x7 += w7 + x8 += w8 + x9 += w9 + x10 += w10 + x11 += w11 + x12 += w12 + x13 += w13 + x14 += w14 + x15 += w15 + + out[0], tmp[0] = x0, x0 + out[1], tmp[1] = x1, x1 + out[2], tmp[2] = x2, x2 + out[3], tmp[3] = x3, x3 + out[4], tmp[4] = x4, x4 + out[5], tmp[5] = x5, x5 + out[6], tmp[6] = x6, x6 + out[7], tmp[7] = x7, x7 + out[8], tmp[8] = x8, x8 + out[9], tmp[9] = x9, x9 + out[10], tmp[10] = x10, x10 + out[11], tmp[11] = x11, x11 + out[12], tmp[12] = x12, x12 + out[13], tmp[13] = x13, x13 + out[14], tmp[14] = x14, x14 + out[15], tmp[15] = x15, x15 +} + +func blockMix(tmp *[16]uint32, in, out []uint32, r int) { + blockCopy(tmp[:], in[(2*r-1)*16:], 16) + for i := 0; i < 2*r; i += 2 { + salsaXOR(tmp, in[i*16:], out[i*8:]) + salsaXOR(tmp, in[i*16+16:], out[i*8+r*16:]) + } +} + +func integer(b []uint32, r int) uint64 { + j := (2*r - 1) * 16 + return uint64(b[j]) | uint64(b[j+1])<<32 +} + +func smix(b []byte, r, N int, v, xy []uint32) { + var tmp [16]uint32 + x := xy + y := xy[32*r:] + + j := 0 + for i := 0; i < 32*r; i++ { + x[i] = uint32(b[j]) | uint32(b[j+1])<<8 | uint32(b[j+2])<<16 | uint32(b[j+3])<<24 + j += 4 + } + for i := 0; i < N; i += 2 { + blockCopy(v[i*(32*r):], x, 32*r) + blockMix(&tmp, x, y, r) + + blockCopy(v[(i+1)*(32*r):], y, 32*r) + blockMix(&tmp, y, x, r) + } + for i := 0; i < N; i += 2 { + j := int(integer(x, r) & uint64(N-1)) + blockXOR(x, v[j*(32*r):], 32*r) + blockMix(&tmp, x, y, r) + + j = int(integer(y, r) & uint64(N-1)) + blockXOR(y, v[j*(32*r):], 32*r) + blockMix(&tmp, y, x, r) + } + j = 0 + for _, v := range x[:32*r] { + b[j+0] = byte(v >> 0) + b[j+1] = byte(v >> 8) + b[j+2] = byte(v >> 16) + b[j+3] = byte(v >> 24) + j += 4 + } +} + +// Key derives a key from the password, salt, and cost parameters, returning +// a byte slice of length keyLen that can be used as cryptographic key. +// +// N is a CPU/memory cost parameter, which must be a power of two greater than 1. +// r and p must satisfy r * p < 2³⁰. If the parameters do not satisfy the +// limits, the function returns a nil byte slice and an error. +// +// For example, you can get a derived key for e.g. AES-256 (which needs a +// 32-byte key) by doing: +// +// dk, err := scrypt.Key([]byte("some password"), salt, 16384, 8, 1, 32) +// +// The recommended parameters for interactive logins as of 2009 are N=16384, +// r=8, p=1. They should be increased as memory latency and CPU parallelism +// increases. Remember to get a good random salt. +func Key(password, salt []byte, N, r, p, keyLen int) ([]byte, error) { + if N <= 1 || N&(N-1) != 0 { + return nil, errors.New("scrypt: N must be > 1 and a power of 2") + } + if uint64(r)*uint64(p) >= 1<<30 || r > maxInt/128/p || r > maxInt/256 || N > maxInt/128/r { + return nil, errors.New("scrypt: parameters are too large") + } + + xy := make([]uint32, 64*r) + v := make([]uint32, 32*N*r) + b := pbkdf2.Key(password, salt, 1, p*128*r, sha256.New) + + for i := 0; i < p; i++ { + smix(b[i*128*r:], r, N, v, xy) + } + + return pbkdf2.Key(password, b, 1, keyLen, sha256.New), nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/scrypt/scrypt_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/scrypt/scrypt_test.go new file mode 100755 index 0000000..e096c3a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/scrypt/scrypt_test.go @@ -0,0 +1,160 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package scrypt + +import ( + "bytes" + "testing" +) + +type testVector struct { + password string + salt string + N, r, p int + output []byte +} + +var good = []testVector{ + { + "password", + "salt", + 2, 10, 10, + []byte{ + 0x48, 0x2c, 0x85, 0x8e, 0x22, 0x90, 0x55, 0xe6, 0x2f, + 0x41, 0xe0, 0xec, 0x81, 0x9a, 0x5e, 0xe1, 0x8b, 0xdb, + 0x87, 0x25, 0x1a, 0x53, 0x4f, 0x75, 0xac, 0xd9, 0x5a, + 0xc5, 0xe5, 0xa, 0xa1, 0x5f, + }, + }, + { + "password", + "salt", + 16, 100, 100, + []byte{ + 0x88, 0xbd, 0x5e, 0xdb, 0x52, 0xd1, 0xdd, 0x0, 0x18, + 0x87, 0x72, 0xad, 0x36, 0x17, 0x12, 0x90, 0x22, 0x4e, + 0x74, 0x82, 0x95, 0x25, 0xb1, 0x8d, 0x73, 0x23, 0xa5, + 0x7f, 0x91, 0x96, 0x3c, 0x37, + }, + }, + { + "this is a long \000 password", + "and this is a long \000 salt", + 16384, 8, 1, + []byte{ + 0xc3, 0xf1, 0x82, 0xee, 0x2d, 0xec, 0x84, 0x6e, 0x70, + 0xa6, 0x94, 0x2f, 0xb5, 0x29, 0x98, 0x5a, 0x3a, 0x09, + 0x76, 0x5e, 0xf0, 0x4c, 0x61, 0x29, 0x23, 0xb1, 0x7f, + 0x18, 0x55, 0x5a, 0x37, 0x07, 0x6d, 0xeb, 0x2b, 0x98, + 0x30, 0xd6, 0x9d, 0xe5, 0x49, 0x26, 0x51, 0xe4, 0x50, + 0x6a, 0xe5, 0x77, 0x6d, 0x96, 0xd4, 0x0f, 0x67, 0xaa, + 0xee, 0x37, 0xe1, 0x77, 0x7b, 0x8a, 0xd5, 0xc3, 0x11, + 0x14, 0x32, 0xbb, 0x3b, 0x6f, 0x7e, 0x12, 0x64, 0x40, + 0x18, 0x79, 0xe6, 0x41, 0xae, + }, + }, + { + "p", + "s", + 2, 1, 1, + []byte{ + 0x48, 0xb0, 0xd2, 0xa8, 0xa3, 0x27, 0x26, 0x11, 0x98, + 0x4c, 0x50, 0xeb, 0xd6, 0x30, 0xaf, 0x52, + }, + }, + + { + "", + "", + 16, 1, 1, + []byte{ + 0x77, 0xd6, 0x57, 0x62, 0x38, 0x65, 0x7b, 0x20, 0x3b, + 0x19, 0xca, 0x42, 0xc1, 0x8a, 0x04, 0x97, 0xf1, 0x6b, + 0x48, 0x44, 0xe3, 0x07, 0x4a, 0xe8, 0xdf, 0xdf, 0xfa, + 0x3f, 0xed, 0xe2, 0x14, 0x42, 0xfc, 0xd0, 0x06, 0x9d, + 0xed, 0x09, 0x48, 0xf8, 0x32, 0x6a, 0x75, 0x3a, 0x0f, + 0xc8, 0x1f, 0x17, 0xe8, 0xd3, 0xe0, 0xfb, 0x2e, 0x0d, + 0x36, 0x28, 0xcf, 0x35, 0xe2, 0x0c, 0x38, 0xd1, 0x89, + 0x06, + }, + }, + { + "password", + "NaCl", + 1024, 8, 16, + []byte{ + 0xfd, 0xba, 0xbe, 0x1c, 0x9d, 0x34, 0x72, 0x00, 0x78, + 0x56, 0xe7, 0x19, 0x0d, 0x01, 0xe9, 0xfe, 0x7c, 0x6a, + 0xd7, 0xcb, 0xc8, 0x23, 0x78, 0x30, 0xe7, 0x73, 0x76, + 0x63, 0x4b, 0x37, 0x31, 0x62, 0x2e, 0xaf, 0x30, 0xd9, + 0x2e, 0x22, 0xa3, 0x88, 0x6f, 0xf1, 0x09, 0x27, 0x9d, + 0x98, 0x30, 0xda, 0xc7, 0x27, 0xaf, 0xb9, 0x4a, 0x83, + 0xee, 0x6d, 0x83, 0x60, 0xcb, 0xdf, 0xa2, 0xcc, 0x06, + 0x40, + }, + }, + { + "pleaseletmein", "SodiumChloride", + 16384, 8, 1, + []byte{ + 0x70, 0x23, 0xbd, 0xcb, 0x3a, 0xfd, 0x73, 0x48, 0x46, + 0x1c, 0x06, 0xcd, 0x81, 0xfd, 0x38, 0xeb, 0xfd, 0xa8, + 0xfb, 0xba, 0x90, 0x4f, 0x8e, 0x3e, 0xa9, 0xb5, 0x43, + 0xf6, 0x54, 0x5d, 0xa1, 0xf2, 0xd5, 0x43, 0x29, 0x55, + 0x61, 0x3f, 0x0f, 0xcf, 0x62, 0xd4, 0x97, 0x05, 0x24, + 0x2a, 0x9a, 0xf9, 0xe6, 0x1e, 0x85, 0xdc, 0x0d, 0x65, + 0x1e, 0x40, 0xdf, 0xcf, 0x01, 0x7b, 0x45, 0x57, 0x58, + 0x87, + }, + }, + /* + // Disabled: needs 1 GiB RAM and takes too long for a simple test. + { + "pleaseletmein", "SodiumChloride", + 1048576, 8, 1, + []byte{ + 0x21, 0x01, 0xcb, 0x9b, 0x6a, 0x51, 0x1a, 0xae, 0xad, + 0xdb, 0xbe, 0x09, 0xcf, 0x70, 0xf8, 0x81, 0xec, 0x56, + 0x8d, 0x57, 0x4a, 0x2f, 0xfd, 0x4d, 0xab, 0xe5, 0xee, + 0x98, 0x20, 0xad, 0xaa, 0x47, 0x8e, 0x56, 0xfd, 0x8f, + 0x4b, 0xa5, 0xd0, 0x9f, 0xfa, 0x1c, 0x6d, 0x92, 0x7c, + 0x40, 0xf4, 0xc3, 0x37, 0x30, 0x40, 0x49, 0xe8, 0xa9, + 0x52, 0xfb, 0xcb, 0xf4, 0x5c, 0x6f, 0xa7, 0x7a, 0x41, + 0xa4, + }, + }, + */ +} + +var bad = []testVector{ + {"p", "s", 0, 1, 1, nil}, // N == 0 + {"p", "s", 1, 1, 1, nil}, // N == 1 + {"p", "s", 7, 8, 1, nil}, // N is not power of 2 + {"p", "s", 16, maxInt / 2, maxInt / 2, nil}, // p * r too large +} + +func TestKey(t *testing.T) { + for i, v := range good { + k, err := Key([]byte(v.password), []byte(v.salt), v.N, v.r, v.p, len(v.output)) + if err != nil { + t.Errorf("%d: got unexpected error: %s", i, err) + } + if !bytes.Equal(k, v.output) { + t.Errorf("%d: expected %x, got %x", i, v.output, k) + } + } + for i, v := range bad { + _, err := Key([]byte(v.password), []byte(v.salt), v.N, v.r, v.p, 32) + if err == nil { + t.Errorf("%d: expected error, got nil", i) + } + } +} + +func BenchmarkKey(b *testing.B) { + for i := 0; i < b.N; i++ { + Key([]byte("password"), []byte("salt"), 16384, 8, 1, 64) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/README.md b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/README.md new file mode 100755 index 0000000..28665ac --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/README.md @@ -0,0 +1,32 @@ +# secp256k1-go + +golang secp256k1 library + +Implements cryptographic operations for the secp256k1 ECDSA curve used by Bitcoin. + +## Installing + +You need to have installed [gmp](https://gmplib.org/) in your system. + + sudo apt-get install gmp-dev + +### Ubuntu 12.04 + + sudo apt-get update + sudo apt-get install libgmp-dev + +### OSX 10.9 + + curl -O https://ftp.gnu.org/gnu/gmp/gmp-6.0.0a.tar.xz + tar xfvz gmp-6.0.0a.tar.xz + cd gmp-6.0.0a.tar.xz + ./configure + make + sudo make install + make check # just in case + +## Test + +To run tests do + + go test diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256_rand.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256_rand.go new file mode 100755 index 0000000..5c9374e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256_rand.go @@ -0,0 +1,154 @@ +package secp256k1 + +import ( + crand "crypto/rand" + "crypto/sha256" //secure, system random number generator + "hash" + "io" + "log" + "os" + "strconv" + "strings" + "sync" + "time" +) + +var ( + poolsize = 10 + sha256HashChan chan hash.Hash + // sha256Hash hash.Hash = sha256.New() +) + +// SumSHA256 sum sha256 +func SumSHA256(b []byte) []byte { + sha256Hash := <-sha256HashChan + sha256Hash.Reset() + sha256Hash.Write(b) + sum := sha256Hash.Sum(nil) + sha256HashChan <- sha256Hash + return sum[:] +} + +/* +Entropy pool needs +- state (an array of bytes) +- a compression function (two 256 bit blocks to single block) +- a mixing function across the pool + +- Xor is safe, as it cannot make value less random +-- apply compression function, then xor with current value +-- + +*/ + +// EntropyPool entropy pool +type EntropyPool struct { + Ent [32]byte //256 bit accumulator + lock sync.Mutex +} + +// Mix256 mixes in 256 bits, outputs 256 bits +func (ep *EntropyPool) Mix256(in []byte) (out []byte) { + + //hash input + val1 := SumSHA256(in) + //return value + ep.lock.Lock() + val2 := SumSHA256(append(val1, ep.Ent[:]...)) + //next ent value + val3 := SumSHA256(append(val1, val2...)) + + for i := 0; i < 32; i++ { + ep.Ent[i] = val3[i] + val3[i] = 0x00 + } + ep.lock.Unlock() + + return val2 +} + +//Mix take in N bytes, salts, return N +func (ep *EntropyPool) Mix(in []byte) []byte { + length := len(in) - len(in)%32 + 32 + buff := make([]byte, length, length) + for i := 0; i < len(in); i++ { + buff[i] = in[i] + } + iterations := (len(in) / 32) + 1 + for i := 0; i < iterations; i++ { + tmp := ep.Mix256(buff[32*i : 32+32*i]) //32 byte slice + for j := 0; j < 32; j++ { + buff[i*32+j] = tmp[j] + } + } + return buff[:len(in)] +} + +/* +Note: + +- On windows cryto/rand uses CrytoGenRandom which uses RC4 which is insecure +- Android random number generator is known to be insecure. +- Linux uses /dev/urandom , which is thought to be secure and uses entropy pool + +Therefore the output is salted. +*/ + +/* +Note: + +Should allow pseudo-random mode for repeatability for certain types of tests + +*/ + +//var _rand *mrand.Rand //pseudorandom number generator +var _ent EntropyPool + +//seed pseudo random number generator with +// hash of system time in nano seconds +// hash of system environmental variables +// hash of process id +func init() { + seed1 := []byte(strconv.FormatUint(uint64(time.Now().UnixNano()), 16)) + seed2 := []byte(strings.Join(os.Environ(), "")) + seed3 := []byte(strconv.FormatUint(uint64(os.Getpid()), 16)) + + seed4 := make([]byte, 256) + _, err := io.ReadFull(crand.Reader, seed4) //system secure random number generator + if err != nil { + log.Panic(err) + } + + // init the hash reuse pool + sha256HashChan = make(chan hash.Hash, poolsize) + for i := 0; i < poolsize; i++ { + sha256HashChan <- sha256.New() + } + + //mrand.Rand_rand = mrand.New(mrand.NewSource(int64(time.Now().UnixNano()))) //pseudo random + //seed entropy pool + _ent.Mix256(seed1) + _ent.Mix256(seed2) + _ent.Mix256(seed3) + _ent.Mix256(seed4) +} + +// RandByte Secure Random number generator for forwards security +// On Unix-like systems, Reader reads from /dev/urandom. +// On Windows systems, Reader uses the CryptGenRandom API. +// Pseudo-random sequence, seeded from program start time, environmental variables, +// and process id is mixed in for forward security. Future version should use entropy pool +func RandByte(n int) []byte { + buff := make([]byte, n) + _, err := io.ReadFull(crand.Reader, buff) //system secure random number generator + if err != nil { + log.Panic(err) + } + + //XORing in sequence, cannot reduce security (even if sequence is bad/known/non-random) + buff2 := _ent.Mix(buff) + for i := 0; i < n; i++ { + buff[i] ^= buff2[i] + } + return buff +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256_test.go new file mode 100755 index 0000000..9698f79 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256_test.go @@ -0,0 +1,661 @@ +package secp256k1 + +import ( + "bytes" + "encoding/hex" + "fmt" + "log" + "math/rand" + "testing" +) + +const TESTS = 1 //10000 // how many tests +const SigSize = 65 //64+1 + +func Test_Secp256_00(t *testing.T) { + + nonce := RandByte(32) //going to get bitcoins stolen! + + if len(nonce) != 32 { + t.Fatal() + } + +} + +//test agreement for highest bit test +func Test_BitTwiddle(t *testing.T) { + var b byte + for i := 0; i < 512; i++ { + bool1 := ((b >> 7) == 1) + bool2 := ((b & 0x80) == 0x80) + if bool1 != bool2 { + t.Fatal() + } + b++ + } +} + +//tests for Malleability +//highest bit of S must be 0; 32nd byte +func CompactSigTest(sig []byte) { + b := int(sig[32]) + if b < 0 { + log.Panic() + } + if ((b >> 7) == 1) != ((b & 0x80) == 0x80) { + log.Panicf("b= %v b2= %v \n", b, b>>7) + } + if (b & 0x80) == 0x80 { + log.Panicf("b= %v b2= %v \n", b, b&0x80) + } +} + +//test pubkey/private generation +func Test_Secp256_01(t *testing.T) { + pubkey, seckey := GenerateKeyPair() + if VerifySeckey(seckey) != 1 { + t.Fatal() + } + if VerifyPubkey(pubkey) != 1 { + t.Fatal() + } +} + +// test compressed pubkey from private key +func Test_PubkeyFromSeckey(t *testing.T) { + // http://www.righto.com/2014/02/bitcoins-hard-way-using-raw-bitcoin.html + privkey, _ := hex.DecodeString(`f19c523315891e6e15ae0608a35eec2e00ebd6d1984cf167f46336dabd9b2de4`) + desiredPubKey, _ := hex.DecodeString(`03fe43d0c2c3daab30f9472beb5b767be020b81c7cc940ed7a7e910f0c1d9feef1`) + if pubkey := PubkeyFromSeckey(privkey); pubkey == nil { + t.Fatal() + } else if !bytes.Equal(pubkey, desiredPubKey) { + t.Fatal() + } +} + +// test uncompressed pubkey from private key +func Test_UncompressedPubkeyFromSeckey(t *testing.T) { + // http://www.righto.com/2014/02/bitcoins-hard-way-using-raw-bitcoin.html + privkey, _ := hex.DecodeString(`f19c523315891e6e15ae0608a35eec2e00ebd6d1984cf167f46336dabd9b2de4`) + desiredPubKey, _ := hex.DecodeString(`04fe43d0c2c3daab30f9472beb5b767be020b81c7cc940ed7a7e910f0c1d9feef10fe85eb3ce193405c2dd8453b7aeb6c1752361efdbf4f52ea8bf8f304aab37ab`) + if pubkey := UncompressedPubkeyFromSeckey(privkey); pubkey == nil { + t.Fatal() + } else if !bytes.Equal(pubkey, desiredPubKey) { + t.Fatal() + } +} + +//returns random pubkey, seckey, hash and signature +func RandX() ([]byte, []byte, []byte, []byte) { + pubkey, seckey := GenerateKeyPair() + msg := RandByte(32) + sig := Sign(msg, seckey) + return pubkey, seckey, msg, sig +} + +func Test_SignatureVerifyPubkey(t *testing.T) { + pubkey1, seckey := GenerateKeyPair() + msg := RandByte(32) + sig := Sign(msg, seckey) + if VerifyPubkey(pubkey1) == 0 { + t.Fail() + } + pubkey2 := RecoverPubkey(msg, sig) + if bytes.Equal(pubkey1, pubkey2) == false { + t.Fatal("Recovered pubkey does not match") + } +} + +func Test_verify_functions(t *testing.T) { + pubkey, seckey, hash, sig := RandX() + if VerifySeckey(seckey) == 0 { + t.Fail() + } + if VerifyPubkey(pubkey) == 0 { + t.Fail() + } + if VerifySignature(hash, sig, pubkey) == 0 { + t.Fail() + } + _ = sig +} + +func Test_SignatureVerifySecKey(t *testing.T) { + pubkey, seckey := GenerateKeyPair() + if VerifySeckey(seckey) == 0 { + t.Fail() + } + if VerifyPubkey(pubkey) == 0 { + t.Fail() + } +} + +//test size of messages +func Test_Secp256_02s(t *testing.T) { + pubkey, seckey := GenerateKeyPair() + msg := RandByte(32) + sig := Sign(msg, seckey) + CompactSigTest(sig) + if sig == nil { + t.Fatal("Signature nil") + } + if len(pubkey) != 33 { + t.Fail() + } + if len(seckey) != 32 { + t.Fail() + } + if len(sig) != 64+1 { + t.Fail() + } + if int(sig[64]) > 4 { + t.Fail() + } //should be 0 to 4 +} + +//test signing message +func Test_Secp256_02(t *testing.T) { + pubkey1, seckey := GenerateKeyPair() + msg := RandByte(32) + sig := Sign(msg, seckey) + if sig == nil { + t.Fatal("Signature nil") + } + + pubkey2 := RecoverPubkey(msg, sig) + if pubkey2 == nil { + t.Fatal("Recovered pubkey invalid") + } + if bytes.Equal(pubkey1, pubkey2) == false { + t.Fatal("Recovered pubkey does not match") + } + + ret := VerifySignature(msg, sig, pubkey1) + if ret != 1 { + t.Fatal("Signature invalid") + } +} + +//test pubkey recovery +func Test_Secp256_02a(t *testing.T) { + pubkey1, seckey1 := GenerateKeyPair() + msg := RandByte(32) + sig := Sign(msg, seckey1) + + if sig == nil { + t.Fatal("Signature nil") + } + ret := VerifySignature(msg, sig, pubkey1) + if ret != 1 { + t.Fatal("Signature invalid") + } + + pubkey2 := RecoverPubkey(msg, sig) + if len(pubkey1) != len(pubkey2) { + t.Fatal() + } + for i := range pubkey1 { + if pubkey1[i] != pubkey2[i] { + t.Fatal() + } + } + if bytes.Equal(pubkey1, pubkey2) == false { + t.Fatal() + } +} + +//test random messages for the same pub/private key +func Test_Secp256_03(t *testing.T) { + _, seckey := GenerateKeyPair() + for i := 0; i < TESTS; i++ { + msg := RandByte(32) + sig := Sign(msg, seckey) + CompactSigTest(sig) + + sig[len(sig)-1] %= 4 + pubkey2 := RecoverPubkey(msg, sig) + if pubkey2 == nil { + t.Fail() + } + } +} + +//test random messages for different pub/private keys +func Test_Secp256_04(t *testing.T) { + for i := 0; i < TESTS; i++ { + pubkey1, seckey := GenerateKeyPair() + msg := RandByte(32) + sig := Sign(msg, seckey) + CompactSigTest(sig) + + if sig[len(sig)-1] >= 4 { + t.Fail() + } + pubkey2 := RecoverPubkey(msg, sig) + if pubkey2 == nil { + t.Fail() + } + if bytes.Equal(pubkey1, pubkey2) == false { + t.Fail() + } + } +} + +//test random signatures against fixed messages; should fail + +//crashes: +// -SIPA look at this + +func randSig() []byte { + sig := RandByte(65) + sig[32] &= 0x70 + sig[64] %= 4 + return sig +} + +func Test_Secp256_06a_alt0(t *testing.T) { + pubkey1, seckey := GenerateKeyPair() + msg := RandByte(32) + sig := Sign(msg, seckey) + + if sig == nil { + t.Fail() + } + if len(sig) != 65 { + t.Fail() + } + for i := 0; i < TESTS; i++ { + sig = randSig() + pubkey2 := RecoverPubkey(msg, sig) + + if bytes.Equal(pubkey1, pubkey2) == true { + t.Fail() + } + + if pubkey2 != nil && VerifySignature(msg, sig, pubkey2) != 1 { + t.Fail() + } + + if VerifySignature(msg, sig, pubkey1) == 1 { + t.Fail() + } + } +} + +//test random messages against valid signature: should fail + +func Test_Secp256_06b(t *testing.T) { + pubkey1, seckey := GenerateKeyPair() + msg := RandByte(32) + sig := Sign(msg, seckey) + + failCount := 0 + for i := 0; i < TESTS; i++ { + msg = RandByte(32) + pubkey2 := RecoverPubkey(msg, sig) + if bytes.Equal(pubkey1, pubkey2) == true { + t.Fail() + } + + if pubkey2 != nil && VerifySignature(msg, sig, pubkey2) != 1 { + t.Fail() + } + + if VerifySignature(msg, sig, pubkey1) == 1 { + t.Fail() + } + } + if failCount != 0 { + fmt.Printf("ERROR: Accepted signature for %v of %v random messages\n", failCount, TESTS) + } +} + +/* + Deterministic Keypair Tests +*/ + +func Test_Deterministic_Keypairs_00(t *testing.T) { + for i := 0; i < 64; i++ { + seed := RandByte(64) + _, pub1, sec1 := DeterministicKeyPairIterator(seed) + pub2, sec2 := GenerateDeterministicKeyPair(seed) + + if bytes.Equal(pub1, pub2) == false { + t.Fail() + } + if bytes.Equal(sec1, sec2) == false { + t.Fail() + } + } +} + +func Test_Deterministic_Keypairs_01(t *testing.T) { + for i := 0; i < 64; i++ { + seed := RandByte(32) + _, pub1, sec1 := DeterministicKeyPairIterator(seed) + pub2, sec2 := GenerateDeterministicKeyPair(seed) + + if bytes.Equal(pub1, pub2) == false { + t.Fail() + } + if bytes.Equal(sec1, sec2) == false { + t.Fail() + } + } +} + +func Test_Deterministic_Keypairs_02(t *testing.T) { + for i := 0; i < 64; i++ { + seed := RandByte(32) + _, pub1, sec1 := DeterministicKeyPairIterator(seed) + pub2, sec2 := GenerateDeterministicKeyPair(seed) + + if bytes.Equal(pub1, pub2) == false { + t.Fail() + } + if bytes.Equal(sec1, sec2) == false { + t.Fail() + } + } +} + +func Decode(str string) []byte { + byt, err := hex.DecodeString(str) + if err != nil { + log.Panic() + } + return byt +} + +func Test_Deterministic_Keypairs_03(t *testing.T) { + + //test vectors: seed, seckey + var testArray = []string{ + "tQ93w5Aqcunm9SGUfnmF4fJv", "9b8c3e36adce64dedc80d6dfe51ff1742cc1d755bbad457ac01177c5a18a789f", + "DC7qdQQtbWSSaekXnFmvQgse", "d2deaf4a9ff7a5111fe1d429d6976cbde78811fdd075371a2a4449bb0f4d8bf9", + "X8EkuUZC7Td7PAXeS7Duc7vR", "cad79b6dcf7bd21891cbe20a51c57d59689ae6e3dc482cd6ec22898ac00cd86b", + "tVqPYHHNVPRWyEed62v7f23u", "2a386e94e9ffaa409517cbed81b9b2d4e1c5fb4afe3cbd67ce8aba11af0b02fa", + "kCy4R57HDfLqF3pVhBWxuMcg", "26a7c6d8809c476a56f7455209f58b5ff3f16435fcf208ff2931ece60067f305", + "j8bjv86ZNjKqzafR6mtSUVCE", "ea5c0f8c9f091a70bf38327adb9b2428a9293e7a7a75119920d759ecfa03a995", + "qShryAzVY8EtsuD3dsAc7qnG", "331206176509bcae31c881dc51e90a4e82ec33cd7208a5fb4171ed56602017fa", + "5FGG7ZBa8wVMBJkmzpXj5ESX", "4ea2ad82e7730d30c0c21d01a328485a0cf5543e095139ba613929be7739b52c", + "f46TZG4xJHXUGWx8ekbNqa9F", "dcddd403d3534c4ef5703cc07a771c107ed49b7e0643c6a2985a96149db26108", + "XkZdQJ5LT96wshN8JBH8rvEt", "3e276219081f072dff5400ca29a9346421eaaf3c419ff1474ac1c81ad8a9d6e1", + "GFDqXU4zYymhJJ9UGqRgS8ty", "95be4163085b571e725edeffa83fff8e7a7db3c1ccab19d0f3c6e105859b5e10", + "tmwZksH2XyvuamnddYxyJ5Lp", "2666dd54e469df56c02e82dffb4d3ea067daafe72c54dc2b4f08c4fb3a7b7e42", + "EuqZFsbAV5amTzkhgAMgjr7W", "40c325c01f2e4087fcc97fcdbea6c35c88a12259ebf1bce0b14a4d77f075abbf", + "TW6j8rMffZfmhyDEt2JUCrLB", "e676e0685c5d1afd43ad823b83db5c6100135c35485146276ee0b0004bd6689e", + "8rvkBnygfhWP8kjX9aXq68CY", "21450a646eed0d4aa50a1736e6c9bf99fff006a470aab813a2eff3ee4d460ae4", + "phyRfPDuf9JMRFaWdGh7NXPX", "ca7bc04196c504d0e815e125f7f1e086c8ae8c10d5e9df984aeab4b41bf9e398", + } + + for i := 0; i < len(testArray)/2; i++ { + seed := []byte(testArray[2*i+0]) + sec1 := Decode(testArray[2*i+1]) + + _, sec2 := GenerateDeterministicKeyPair(seed) + if bytes.Equal(sec1, sec2) == false { + t.Fail() + } + } +} + +func Test_DeterministicWallets1(t *testing.T) { + + var testArray = []string{ + "90c56f5b8d78a46fb4cddf6fd9c6d88d6d2d7b0ec35917c7dac12c03b04e444e", "94dd1a9de9ffd57b5516b8a7f090da67f142f7d22356fa5d1b894ee4d4fba95b", + "a3b08ccf8cbae4955c02f223be1f97d2bb41d92b7f0c516eb8467a17da1e6057", "82fba4cc2bc29eef122f116f45d01d82ff488d7ee713f8a95c162a64097239e0", + "7048eb8fa93cec992b93dc8e93c5543be34aad05239d4c036cf9e587bbcf7654", "44c059496aac871ac168bb6889b9dd3decdb9e1fa082442a95fcbca982643425", + "6d25375591bbfce7f601fc5eb40e4f3dde2e453dc4bf31595d8ec29e4370cd80", "d709ceb1a6fb906de506ea091c844ca37c65e52778b8d257d1dd3a942ab367fb", + "7214b4c09f584c5ddff971d469df130b9a3c03e0277e92be159279de39462120", "5fe4986fa964773041e119d2b6549acb392b2277a72232af75cbfb62c357c1a7", + "b13e78392d5446ae304b5fc9d45b85f26996982b2c0c86138afdac8d2ea9016e", "f784abc2e7f11ee84b4adb72ea4730a6aabe27b09604c8e2b792d8a1a31881ac", + "9403bff4240a5999e17e0ab4a645d6942c3a7147c7834e092e461a4580249e6e", "d495174b8d3f875226b9b939121ec53f9383bd560d34aa5ca3ac6b257512adf4", + "2665312a3e3628f4df0b9bc6334f530608a9bcdd4d1eef174ecda99f51a6db94", "1fdc9fbfc6991b9416b3a8385c9942e2db59009aeb2d8de349b73d9f1d389374", + "6cb37532c80765b7c07698502a49d69351036f57a45a5143e33c57c236d841ca", "c87c85a6f482964db7f8c31720981925b1e357a9fdfcc585bc2164fdef1f54d0", + "8654a32fa120bfdb7ca02c487469070eba4b5a81b03763a2185fdf5afd756f3c", "e2767d788d1c5620f3ef21d57f2d64559ab203c044f0a5f0730b21984e77019c", + "66d1945ceb6ef8014b1b6703cb624f058913e722f15d03225be27cb9d8aabe4a", "3fcb80eb1d5b91c491408447ac4e221fcb2254c861adbb5a178337c2750b0846", + "22c7623bf0e850538329e3e6d9a6f9b1235350824a3feaad2580b7a853550deb", "5577d4be25f1b44487140a626c8aeca2a77507a1fc4fd466dd3a82234abb6785", + "a5eebe3469d68c8922a1a8b5a0a2b55293b7ff424240c16feb9f51727f734516", "c07275582d0681eb07c7b51f0bca0c48c056d571b7b83d84980ab40ac7d7d720", + "479ec3b589b14aa7290b48c2e64072e4e5b15ce395d2072a5a18b0a2cf35f3fd", "f10e2b7675dfa557d9e3188469f12d3e953c2d46dce006cd177b6ae7f465cfc0", + "63952334b731ec91d88c54614925576f82e3610d009657368fc866e7b1efbe73", "0bcbebb39d8fe1cb3eab952c6f701656c234e462b945e2f7d4be2c80b8f2d974", + "256472ee754ef6af096340ab1e161f58e85fb0cc7ae6e6866b9359a1657fa6c1", "88ba6f6c66fc0ef01c938569c2dd1f05475cb56444f4582d06828e77d54ffbe6", + } + + for i := 0; i < len(testArray)/2; i++ { + seed := Decode(testArray[2*i+0]) //input + seckey1 := Decode(testArray[2*i+1]) //target + _, _, seckey2 := DeterministicKeyPairIterator(seed) //output + if bytes.Equal(seckey1, seckey2) == false { + t.Fail() + } + } +} + +func Test_Secp256k1_Hash(t *testing.T) { + + var testArray = []string{ + "90c56f5b8d78a46fb4cddf6fd9c6d88d6d2d7b0ec35917c7dac12c03b04e444e", "a70c36286be722d8111e69e910ce4490005bbf9135b0ce8e7a59f84eee24b88b", + "a3b08ccf8cbae4955c02f223be1f97d2bb41d92b7f0c516eb8467a17da1e6057", "e9db072fe5817325504174253a056be7b53b512f1e588f576f1f5a82cdcad302", + "7048eb8fa93cec992b93dc8e93c5543be34aad05239d4c036cf9e587bbcf7654", "5e9133e83c4add2b0420d485e1dcda5c00e283c6509388ab8ceb583b0485c13b", + "6d25375591bbfce7f601fc5eb40e4f3dde2e453dc4bf31595d8ec29e4370cd80", "8d5579cd702c06c40fb98e1d55121ea0d29f3a6c42f5582b902ac243f29b571a", + "7214b4c09f584c5ddff971d469df130b9a3c03e0277e92be159279de39462120", "3a4e8c72921099a0e6a4e7f979df4c8bced63063097835cdfd5ee94548c9c41a", + "b13e78392d5446ae304b5fc9d45b85f26996982b2c0c86138afdac8d2ea9016e", "462efa1bf4f639ffaedb170d6fb8ba363efcb1bdf0c5aef0c75afb59806b8053", + "9403bff4240a5999e17e0ab4a645d6942c3a7147c7834e092e461a4580249e6e", "68dd702ea7c7352632876e9dc2333142fce857a542726e402bb480cad364f260", + "2665312a3e3628f4df0b9bc6334f530608a9bcdd4d1eef174ecda99f51a6db94", "5db72c31d575c332e60f890c7e68d59bd3d0ac53a832e06e821d819476e1f010", + "6cb37532c80765b7c07698502a49d69351036f57a45a5143e33c57c236d841ca", "0deb20ec503b4c678213979fd98018c56f24e9c1ec99af3cd84b43c161a9bb5c", + "8654a32fa120bfdb7ca02c487469070eba4b5a81b03763a2185fdf5afd756f3c", "36f3ede761aa683813013ffa84e3738b870ce7605e0a958ed4ffb540cd3ea504", + "66d1945ceb6ef8014b1b6703cb624f058913e722f15d03225be27cb9d8aabe4a", "6bcb4819a96508efa7e32ee52b0227ccf5fbe5539687aae931677b24f6d0bbbd", + "22c7623bf0e850538329e3e6d9a6f9b1235350824a3feaad2580b7a853550deb", "8bb257a1a17fd2233935b33441d216551d5ff1553d02e4013e03f14962615c16", + "a5eebe3469d68c8922a1a8b5a0a2b55293b7ff424240c16feb9f51727f734516", "d6b780983a63a3e4bcf643ee68b686421079c835a99eeba6962fe41bb355f8da", + "479ec3b589b14aa7290b48c2e64072e4e5b15ce395d2072a5a18b0a2cf35f3fd", "39c5f108e7017e085fe90acfd719420740e57768ac14c94cb020d87e36d06752", + "63952334b731ec91d88c54614925576f82e3610d009657368fc866e7b1efbe73", "79f654976732106c0e4a97ab3b6d16f343a05ebfcc2e1d679d69d396e6162a77", + "256472ee754ef6af096340ab1e161f58e85fb0cc7ae6e6866b9359a1657fa6c1", "387883b86e2acc153aa334518cea48c0c481b573ccaacf17c575623c392f78b2", + } + + for i := 0; i < len(testArray)/2; i++ { + hash1 := Decode(testArray[2*i+0]) //input + hash2 := Decode(testArray[2*i+1]) //target + hash3 := Secp256k1Hash(hash1) //output + if bytes.Equal(hash2, hash3) == false { + t.Fail() + } + } +} + +func Test_Secp256k1_Equal(t *testing.T) { + + for i := 0; i < 64; i++ { + seed := RandByte(128) + + hash1 := Secp256k1Hash(seed) + hash2, _, _ := DeterministicKeyPairIterator(seed) + + if bytes.Equal(hash1, hash2) == false { + t.Fail() + } + } +} + +func Test_DeterministicWalletGeneration(t *testing.T) { + in := "8654a32fa120bfdb7ca02c487469070eba4b5a81b03763a2185fdf5afd756f3c" + secOut := "10ba0325f1b8633ca463542950b5cd5f97753a9829ba23477c584e7aee9cfbd5" + pubOut := "0249964ac7e3fe1b2c182a2f10abe031784e374cc0c665a63bc76cc009a05bc7c6" + + var seed = []byte(in) + var pubkey []byte + var seckey []byte + + for i := 0; i < 1024; i++ { + seed, pubkey, seckey = DeterministicKeyPairIterator(seed) + } + + if bytes.Equal(seckey, Decode(secOut)) == false { + t.Fail() + } + + if bytes.Equal(pubkey, Decode(pubOut)) == false { + t.Fail() + } +} + +func Test_ECDH(t *testing.T) { + + pubkey1, seckey1 := GenerateKeyPair() + pubkey2, seckey2 := GenerateKeyPair() + + puba := ECDH(pubkey1, seckey2) + pubb := ECDH(pubkey2, seckey1) + + if puba == nil { + t.Fail() + } + + if pubb == nil { + t.Fail() + } + + if bytes.Equal(puba, pubb) == false { + t.Fail() + } + +} + +func Test_ECDH2(t *testing.T) { + + for i := 0; i < 16*1024; i++ { + + pubkey1, seckey1 := GenerateKeyPair() + pubkey2, seckey2 := GenerateKeyPair() + + puba := ECDH(pubkey1, seckey2) + pubb := ECDH(pubkey2, seckey1) + + if puba == nil { + t.Fail() + } + + if pubb == nil { + t.Fail() + } + + if bytes.Equal(puba, pubb) == false { + t.Fail() + } + } +} + +/* +seed = ee78b2fb5bef47aaab1abf54106b3b022ed3d68fdd24b5cfdd6e639e1c7baa6f +seckey = 929c5f23a17115199e61b2c4c38fea06f763270a0d1189fbc6a46ddac05081fa +pubkey1 = 028a4d9f32e7bd25befd0afa9e73755f35ae2f7012dfc7c000252f2afba2589af2 +pubkey2 = 028a4d9f32e7bd25befd0afa9e73755f35ae2f7012dfc80000252f2afba2589af2 +key_wif = L28hjib16NuBT4L1gK4DgzKjjxaCDggeZpXFy93MdZVz9fTZKwiE +btc_addr1 = 14mvZw1wC8nKtycrTHu6NRTfWHuNVCpRgL +btc_addr2 = 1HuwS7qARGMgNB7zao1FPmqiiZ92tsJGpX +deterministic pubkeys do not match +seed = 0e86692d755fd39a51acf6c935bdf425a6aad03a7914867e3f6db27371c966b4 +seckey = c9d016b26102fb309a73e644f6be308614a1b8f6f46f902c906ffaf0993ee63c +pubkey1 = 03e86d62256dd05c2852c05a6b11d423f278288abeab490000b93d387de45a2f73 +pubkey2 = 03e86d62256dd05c2852c05a6b11d423f278288abeab494000b93d387de45a2f73 +key_wif = L3z1TTmgddKUm2Em22zKwLXGZ7jfwXLN5GxebpgH5iohaRJSm98D +btc_addr1 = 1CcrzXvK34Cf4jzTko5uhCwbsC6e6K4rHw +btc_addr2 = 1GtBH7dcZnh69Anqe8sHXKSJ9Dk4jXGHyp +*/ + +func Test_Abnormal_Keys(t *testing.T) { + + for i := 0; i < 32*1024; i++ { + + seed := RandByte(32) + + pubkey1, seckey1 := generateDeterministicKeyPair(seed) + + if seckey1 == nil { + t.Fail() + } + + if pubkey1 == nil { + t.Fail() + } + + if VerifyPubkey(pubkey1) != 1 { + seedHex := hex.EncodeToString(seed) + seckeyHex := hex.EncodeToString(seckey1) + log.Printf("seed= %s", seedHex) + log.Printf("seckey= %s", seckeyHex) + t.Errorf("GenerateKeyPair, generates key that fails validation, run=%d", i) + } + } +} + +//problem seckeys +var _testSeckey = []string{ + "08efb79385c9a8b0d1c6f5f6511be0c6f6c2902963d874a3a4bacc18802528d3", + "78298d9ecdc0640c9ae6883201a53f4518055442642024d23c45858f45d0c3e6", + "04e04fe65bfa6ded50a12769a3bd83d7351b2dbff08c9bac14662b23a3294b9e", + "2f5141f1b75747996c5de77c911dae062d16ae48799052c04ead20ccd5afa113", +} + +//test known bad keys +func Test_Abnormal_Keys2(t *testing.T) { + + for i := 0; i < len(_testSeckey); i++ { + + seckey1, _ := hex.DecodeString(_testSeckey[i]) + pubkey1 := PubkeyFromSeckey(seckey1) + if pubkey1 == nil { + t.Fail() + } + + if seckey1 == nil { + t.Fail() + } + + if pubkey1 == nil { + t.Fail() + } + + if VerifyPubkey(pubkey1) != 1 { + t.Errorf("generates key that fails validation") + } + } +} + +//ECDH test +func Test_Abnormal_Keys3(t *testing.T) { + + for i := 0; i < len(_testSeckey); i++ { + + seckey1, _ := hex.DecodeString(_testSeckey[i]) + pubkey1 := PubkeyFromSeckey(seckey1) + + seckey2, _ := hex.DecodeString(_testSeckey[rand.Int()%len(_testSeckey)]) + pubkey2 := PubkeyFromSeckey(seckey2) + + if pubkey1 == nil { + t.Errorf("pubkey1 nil") + } + + if pubkey2 == nil { + t.Errorf("pubkey2 nil") + } + //pubkey1, seckey1 := GenerateKeyPair() + //pubkey2, seckey2 := GenerateKeyPair() + + puba := ECDH(pubkey1, seckey2) + pubb := ECDH(pubkey2, seckey1) + + if puba == nil { + t.Fail() + } + + if pubb == nil { + t.Fail() + } + + if bytes.Equal(puba, pubb) == false { + t.Errorf("recovered do not match") + } + } + +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/COPYING b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/COPYING new file mode 100755 index 0000000..a7fd60b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/COPYING @@ -0,0 +1,4 @@ +This single package (secp256k1) is distributed with the same license as +the original C implementation by sipa: + + * https://github.com/bitcoin/secp256k1/blob/master/COPYING diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/README.md b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/README.md new file mode 100755 index 0000000..f0466f4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/README.md @@ -0,0 +1,5 @@ +Implementation of this package has been based on source code created by Pieter Wuille. + + * https://github.com/bitcoin/secp256k1 + +Modified by HaltingState \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/ec.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/ec.go new file mode 100755 index 0000000..790fce7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/ec.go @@ -0,0 +1,329 @@ +package secp256k1go + +import ( + //"encoding/hex" + "bytes" + "log" +) + +// func ecdsaVerify(pubkey, sig, msg []byte) int { +// var m Number +// var s Signature +// m.SetBytes(msg) + +// log.Println("pubkey len is", len(pubkey)) + +// var q XY +// if !q.ParsePubkey(pubkey) { +// return -1 +// } + +// //if s.ParseBytes(sig) < 0 { +// // return -2 +// //} +// if len(pubkey) != 32 { +// return -2 +// } +// if len(sig) != 64 { +// return -3 +// } + +// if !s.Verify(&q, &m) { +// return 0 +// } +// return 1 +// } + +// // Verify verifies ecdsa +// func Verify(k, s, m []byte) bool { +// return ecdsaVerify(k, s, m) == 1 +// } + +// DecompressPoint decompresses point +func DecompressPoint(X []byte, off bool, Y []byte) { + var rx, ry, c, x2, x3 Field + rx.SetB32(X) + rx.Sqr(&x2) + rx.Mul(&x3, &x2) + c.SetInt(7) + c.SetAdd(&x3) + c.Sqrt(&ry) + ry.Normalize() + if ry.IsOdd() != off { + ry.Negate(&ry, 1) + } + ry.Normalize() + ry.GetB32(Y) + return +} + +//TODO: change signature to []byte type +/* +func RecoverPublicKey2(sig Signature, h []byte, recid int, pubkey *XY) int { + //var sig Signature + var msg Number + + if sig.R.Sign() <= 0 || sig.R.Cmp(&TheCurve.Order.Int) >= 0 { + if sig.R.Sign() == 0 { + return -10 + } + if sig.R.Sign() <= 0 { + return -11 + } + if sig.R.Cmp(&TheCurve.Order.Int) >= 0 { + return -12 + } + return -1 + } + if sig.S.Sign() <= 0 || sig.S.Cmp(&TheCurve.Order.Int) >= 0 { + return -2 + } + + msg.SetBytes(h) + if !sig.Recover(pubkey, &msg, recid) { + return -3 + } + return 1 +} +*/ +//TODO: deprecate +/* +func RecoverPublicKey(r, s, h []byte, recid int, pubkey *XY) bool { + var sig Signature + var msg Number + sig.R.SetBytes(r) + if sig.R.Sign() <= 0 || sig.R.Cmp(&TheCurve.Order.Int) >= 0 { + return false + } + sig.S.SetBytes(s) + if sig.S.Sign() <= 0 || sig.S.Cmp(&TheCurve.Order.Int) >= 0 { + return false + } + msg.SetBytes(h) + if !sig.Recover(pubkey, &msg, recid) { + return false + } + return true +} +*/ + +// RecoverPublicKey nil on error +// returns error code +func RecoverPublicKey(sigByte []byte, h []byte, recid int) ([]byte, int) { + + var pubkey XY + + if len(sigByte) != 64 { + log.Panic("must pass in 64 byte pubkey") + } + + var sig Signature + sig.ParseBytes(sigByte[0:64]) + + //var sig Signature + var msg Number + + if sig.R.Sign() <= 0 || sig.R.Cmp(&TheCurve.Order.Int) >= 0 { + if sig.R.Sign() == 0 { + return nil, -1 + } + if sig.R.Sign() <= 0 { + return nil, -2 + } + if sig.R.Cmp(&TheCurve.Order.Int) >= 0 { + return nil, -3 + } + return nil, -4 + } + if sig.S.Sign() <= 0 || sig.S.Cmp(&TheCurve.Order.Int) >= 0 { + return nil, -5 + } + + msg.SetBytes(h) + if !sig.Recover(&pubkey, &msg, recid) { + return nil, -6 + } + + return pubkey.Bytes(), 1 +} + +// Multiply standard EC multiplacation k(xy) +// xy - is the standarized public key format (33 or 65 bytes long) +// out - should be the buffer for 33 bytes (1st byte will be set to either 02 or 03) +// TODO: change out to return type +func Multiply(xy, k []byte) []byte { + var pk XY + var xyz XYZ + var na, nzero Number + if !pk.ParsePubkey(xy) { + return nil + } + xyz.SetXY(&pk) + na.SetBytes(k) + xyz.ECmult(&xyz, &na, &nzero) + pk.SetXYZ(&xyz) + + if pk.IsValid() == false { + log.Panic() + } + return pk.GetPublicKey() +} + +// Multiply k by G +// returns public key +// return nil on error, but never returns nil +// 33 bytes out + +/* +func BaseMultiply2(k []byte) []byte { + var r XYZ + var n Number + var pk XY + n.SetBytes(k) + ECmultGen(&r, &n) + pk.SetXYZ(&r) + if pk.IsValid() == false { + log.Panic() + } + + return pk.GetPublicKey() +} +*/ + +//test assumptions +func _pubkeyTest(pk XY) { + + if pk.IsValid() == false { + log.Panic("IMPOSSIBLE3: pubkey invalid") + } + var pk2 XY + retb := pk2.ParsePubkey(pk.Bytes()) + if retb == false { + log.Panic("IMPOSSIBLE2: parse failed") + } + if pk2.IsValid() == false { + log.Panic("IMPOSSIBLE3: parse failed non valid key") + } + if PubkeyIsValid(pk2.Bytes()) != 1 { + log.Panic("IMPOSSIBLE4: pubkey failed") + } +} + +// BaseMultiply base multiply +func BaseMultiply(k []byte) []byte { + var r XYZ + var n Number + var pk XY + n.SetBytes(k) + ECmultGen(&r, &n) + pk.SetXYZ(&r) + if pk.IsValid() == false { + log.Panic() //should not occur + } + + _pubkeyTest(pk) + + return pk.Bytes() +} + +// BaseMultiplyAdd out = G*k + xy +// TODO: switch to returning output as []byte +// nil on error +// 33 byte out +func BaseMultiplyAdd(xy, k []byte) []byte { + var r XYZ + var n Number + var pk XY + if !pk.ParsePubkey(xy) { + return nil + } + n.SetBytes(k) + ECmultGen(&r, &n) + r.AddXY(&r, &pk) + pk.SetXYZ(&r) + + _pubkeyTest(pk) + return pk.Bytes() +} + +// GeneratePublicKey returns nil on failure +//crash rather than fail +func GeneratePublicKey(k []byte) []byte { + + //log.Panic() + if len(k) != 32 { + log.Panic() + } + var r XYZ + var n Number + var pk XY + + //must not be zero + //must not be negative + //must be less than order of curve + n.SetBytes(k) + if n.Sign() <= 0 || n.Cmp(&TheCurve.Order.Int) >= 0 { + log.Panic("only call for valid seckey, check that seckey is valid first") + return nil + } + ECmultGen(&r, &n) + pk.SetXYZ(&r) + if pk.IsValid() == false { + log.Panic() //should not occur + } + _pubkeyTest(pk) + return pk.Bytes() +} + +// SeckeyIsValid 1 on success +// must not be zero +// must not be negative +// must be less than order of curve +func SeckeyIsValid(seckey []byte) int { + if len(seckey) != 32 { + log.Panic() + } + var n Number + n.SetBytes(seckey) + //must not be zero + //must not be negative + //must be less than order of curve + if n.Sign() <= 0 { + return -1 + } + if n.Cmp(&TheCurve.Order.Int) >= 0 { + return -2 + } + return 1 +} + +// PubkeyIsValid returns 1 on success +func PubkeyIsValid(pubkey []byte) int { + if len(pubkey) != 33 { + log.Panic() //do not permit invalid length inputs + return -2 + } + var pubTest XY + err := pubTest.ParsePubkey(pubkey) + if err == false { + //log.Panic("PubkeyIsValid, ERROR: pubkey parse fail, bad pubkey from private key") + return -1 + } + if bytes.Equal(pubTest.Bytes(), pubkey) == false { + log.Panic("pubkey parses but serialize/deserialize roundtrip fails") + } + //this fails + //if pub_test.IsValid() == false { + // return -2 + //} + return 1 +} + +/* +Note: +- choose random private key +- generate public key +- call "IsValid()" on the public key + + +*/ diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/ec_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/ec_test.go new file mode 100755 index 0000000..109694a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/ec_test.go @@ -0,0 +1,225 @@ +package secp256k1go + +import ( + "testing" +) + +//var ta = [][3]string{ +// // [0]-pubScr, [1]-sigScript, [2]-unsignedTx +// { +// "040eaebcd1df2df853d66ce0e1b0fda07f67d1cabefde98514aad795b86a6ea66dbeb26b67d7a00e2447baeccc8a4cef7cd3cad67376ac1c5785aeebb4f6441c16", +// "3045022100fe00e013c244062847045ae7eb73b03fca583e9aa5dbd030a8fd1c6dfcf11b1002207d0d04fed8fa1e93007468d5a9e134b0a7023b6d31db4e50942d43a250f4d07c01", +// "3382219555ddbb5b00e0090f469e590ba1eae03c7f28ab937de330aa60294ed6", +// }, +// { +// "020eaebcd1df2df853d66ce0e1b0fda07f67d1cabefde98514aad795b86a6ea66d", +// "3045022100fe00e013c244062847045ae7eb73b03fca583e9aa5dbd030a8fd1c6dfcf11b1002207d0d04fed8fa1e93007468d5a9e134b0a7023b6d31db4e50942d43a250f4d07c01", +// "3382219555ddbb5b00e0090f469e590ba1eae03c7f28ab937de330aa60294ed6", +// }, +// { +// "0411db93e1dcdb8a016b49840f8c53bc1eb68a382e97b1482ecad7b148a6909a5cb2e0eaddfb84ccf9744464f82e160bfa9b8b64f9d4c03f999b8643f656b412a3", +// "304402204e45e16932b8af514961a1d3a1a25fdf3f4f7732e9d624c6c61548ab5fb8cd410220181522ec8eca07de4860a4acdd12909d831cc56cbbac4622082221a8768d1d0901", +// "7a05c6145f10101e9d6325494245adf1297d80f8f38d4d576d57cdba220bcb19", +// }, +// { +// "0311db93e1dcdb8a016b49840f8c53bc1eb68a382e97b1482ecad7b148a6909a5c", +// "304402204e45e16932b8af514961a1d3a1a25fdf3f4f7732e9d624c6c61548ab5fb8cd410220181522ec8eca07de4860a4acdd12909d831cc56cbbac4622082221a8768d1d0901", +// "7a05c6145f10101e9d6325494245adf1297d80f8f38d4d576d57cdba220bcb19", +// }, +// { +// "0428f42723f81c70664e200088437282d0e11ae0d4ae139f88bdeef1550471271692970342db8e3f9c6f0123fab9414f7865d2db90c24824da775f00e228b791fd", +// "3045022100d557da5d9bf886e0c3f98fd6d5d337487cd01d5b887498679a57e3d32bd5d0af0220153217b63a75c3145b14f58c64901675fe28dba2352c2fa9f2a1579c74a2de1701", +// "c22de395adbb0720941e009e8a4e488791b2e428af775432ed94d2c7ec8e421a", +// }, +// { +// "0328f42723f81c70664e200088437282d0e11ae0d4ae139f88bdeef15504712716", +// "3045022100d557da5d9bf886e0c3f98fd6d5d337487cd01d5b887498679a57e3d32bd5d0af0220153217b63a75c3145b14f58c64901675fe28dba2352c2fa9f2a1579c74a2de1701", +// "c22de395adbb0720941e009e8a4e488791b2e428af775432ed94d2c7ec8e421a", +// }, +// { +// "041f2a00036b3cbd1abe71dca54d406a1e9dd5d376bf125bb109726ff8f2662edcd848bd2c44a86a7772442095c7003248cc619bfec3ddb65130b0937f8311c787", +// "3045022100ec6eb6b2aa0580c8e75e8e316a78942c70f46dd175b23b704c0330ab34a86a34022067a73509df89072095a16dbf350cc5f1ca5906404a9275ebed8a4ba219627d6701", +// "7c8e7c2cb887682ed04dc82c9121e16f6d669ea3d57a2756785c5863d05d2e6a", +// }, +// { +// "031f2a00036b3cbd1abe71dca54d406a1e9dd5d376bf125bb109726ff8f2662edc", +// "3045022100ec6eb6b2aa0580c8e75e8e316a78942c70f46dd175b23b704c0330ab34a86a34022067a73509df89072095a16dbf350cc5f1ca5906404a9275ebed8a4ba219627d6701", +// "7c8e7c2cb887682ed04dc82c9121e16f6d669ea3d57a2756785c5863d05d2e6a", +// }, +// { +// "04ee90bfdd4e07eb1cfe9c6342479ca26c0827f84bfe1ab39e32fc3e94a0fe00e6f7d8cd895704e974978766dd0f9fad3c97b1a0f23684e93b400cc9022b7ae532", +// "3045022100fe1f6e2c2c2cbc916f9f9d16497df2f66a4834e5582d6da0ee0474731c4a27580220682bad9359cd946dc97bb07ea8fad48a36f9b61186d47c6798ccce7ba20cc22701", +// "baff983e6dfb1052918f982090aa932f56d9301d1de9a726d2e85d5f6bb75464", +// }, +//} + +// func TestVerify1(t *testing.T) { +// for i := range ta { +// pkey, _ := hex.DecodeString(ta[i][0]) +// sign, _ := hex.DecodeString(ta[i][1]) +// hasz, _ := hex.DecodeString(ta[i][2]) + +// res := ecdsaVerify(pkey, sign, hasz) +// if res != 1 { +// log.Println("error code", res) +// t.Fatal("Verify failed at", i) +// } + +// hasz[0]++ +// res = ecdsaVerify(pkey, sign, hasz) +// if res != 0 { +// t.Error("Verify not failed while it should", i) +// } +// res = ecdsaVerify(pkey[:1], sign, hasz) +// if res >= 0 { +// t.Error("Negative result expected", res, i) +// } +// res = ecdsaVerify(pkey, sign[:1], hasz) +// if res >= 0 { +// t.Error("Yet negative result expected", res, i) +// } +// res = ecdsaVerify(pkey, sign, hasz[:1]) +// if res != 0 { +// t.Error("Zero expected", res, i) +// } +// } +// } + +// func BenchmarkVerifyUncompressed(b *testing.B) { +// key, _ := hex.DecodeString("040eaebcd1df2df853d66ce0e1b0fda07f67d1cabefde98514aad795b86a6ea66dbeb26b67d7a00e2447baeccc8a4cef7cd3cad67376ac1c5785aeebb4f6441c16") +// sig, _ := hex.DecodeString("3045022100fe00e013c244062847045ae7eb73b03fca583e9aa5dbd030a8fd1c6dfcf11b1002207d0d04fed8fa1e93007468d5a9e134b0a7023b6d31db4e50942d43a250f4d07c01") +// msg, _ := hex.DecodeString("3382219555ddbb5b00e0090f469e590ba1eae03c7f28ab937de330aa60294ed6") +// b.ResetTimer() +// for i := 0; i < b.N; i++ { +// ecdsaVerify(key, sig, msg) +// } +// } + +// func BenchmarkVerifyCompressed(b *testing.B) { +// keyCompr, _ := hex.DecodeString("020eaebcd1df2df853d66ce0e1b0fda07f67d1cabefde98514aad795b86a6ea66d") +// sig, _ := hex.DecodeString("3045022100fe00e013c244062847045ae7eb73b03fca583e9aa5dbd030a8fd1c6dfcf11b1002207d0d04fed8fa1e93007468d5a9e134b0a7023b6d31db4e50942d43a250f4d07c01") +// msg, _ := hex.DecodeString("3382219555ddbb5b00e0090f469e590ba1eae03c7f28ab937de330aa60294ed6") +// b.ResetTimer() +// for i := 0; i < b.N; i++ { +// ecdsaVerify(keyCompr, sig, msg) +// } +// } + +func TestECmult(t *testing.T) { + var u1, u2 Number + var pubkeyj, expres, pr XYZ + + pubkeyj.X.SetHex("0EAEBCD1DF2DF853D66CE0E1B0FDA07F67D1CABEFDE98514AAD795B86A6EA66D") + pubkeyj.Y.SetHex("BEB26B67D7A00E2447BAECCC8A4CEF7CD3CAD67376AC1C5785AEEBB4F6441C16") + pubkeyj.Z.SetHex("0000000000000000000000000000000000000000000000000000000000000001") + + u1.SetHex("B618EBA71EC03638693405C75FC1C9ABB1A74471BAAF1A3A8B9005821491C4B4") + u2.SetHex("8554470195DE4678B06EDE9F9286545B51FF2D9AA756CE35A39011783563EA60") + + expres.X.SetHex("EB6752420B6BDB40A760AC26ADD7E7BBD080BF1DF6C0B009A0D310E4511BDF49") + expres.Y.SetHex("8E8CEB84E1502FC536FFE67967BC44314270A0B38C79865FFED5A85D138DCA6B") + expres.Z.SetHex("813925AF112AAB8243F8CCBADE4CC7F63DF387263028DE6E679232A73A7F3C31") + + pubkeyj.ECmult(&pr, &u2, &u1) + if !pr.Equals(&expres) { + t.Error("ECmult failed") + pr.Print("got") + expres.Print("exp") + } +} + +type wnafvec struct { + inp string + w uint + exp []int +} + +func TestWNAF(t *testing.T) { + var wnaf [129]int + var testvcs = []wnafvec{ + { + "3271156f58b59bd7aa542ca6972c1910", winA, + []int{0, 0, 0, 0, -15, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, -11, 0, 0, 0, 0, 13, 0, 0, 0, 0, 1, 0, 0, 0, 0, -11, 0, 0, 0, 0, -11, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 11, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 15, 0, 0, 0, 0, 11, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 3}, + }, + { + "0a8a5afcb465a43b8277801311860430", winA, + []int{0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, -15, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, -13, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, -13, 0, 0, 0, 0, 3, 0, 0, 0, 0, -11, 0, 0, 0, 0, 1}, + }, + { + "b1a74471baaf1a3a8b9005821491c4b4", winG, + []int{0, 0, -3795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2633, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5959, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11}, + }, + { + "b618eba71ec03638693405c75fc1c9ab", winG, + []int{2475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1457}, + }, + } + for idx := range testvcs { + var xxx Number + xxx.SetHex(testvcs[idx].inp) + bits := ecmultWnaf(wnaf[:], &xxx, testvcs[idx].w) + if bits != len(testvcs[idx].exp) { + t.Error("Bad bits at idx", idx) + } + for i := range testvcs[idx].exp { + if wnaf[i] != testvcs[idx].exp[i] { + t.Error("Bad val at idx", idx, i) + } + } + } +} + +func TestPrecompileGej(t *testing.T) { + var exp, a XYZ + + a.X.SetHex("0eaebcd1df2df853d66ce0e1b0fda07f67d1cabefde98514aad795b86a6ea66d") + a.Y.SetHex("beb26b67d7a00e2447baeccc8a4cef7cd3cad67376ac1c5785aeebb4f6441c16") + a.Z.SetHex("01") + exp.X.SetHex("ce5dcac5e26ab63868ead1440f359aff29d7ffade62abe801bca97b471bcd416") + exp.Y.SetHex("0cc6f63793a207751d507aa4be629f0776441e4873548095bd6d39d34ce8a9d7") + exp.Z.SetHex("122927e4908740d51df1f03dc921c00fef68c542e7f28aa270862619cf971815") + pre := a.precomp(winA) + if len(pre) != 8 { + t.Error("Bad result length") + } + if !pre[7].Equals(&exp) { + t.Error("Unexpcted value") + } + + a.X.SetHex("a45720c272cfa1f77f64be8a404a7d3149bd5410f9a173353f6eb75a5085ba98") + a.Y.SetHex("beb26b67d7a00e2447baeccc8a4cef7cd3cad67376ac1c5785aeebb4f6441c16") + a.Z.SetHex("01") + exp.X.SetHex("ce5dcac5e26ab63868ead1440f359aff29d7ffade62abe801bca97b471bcd416") + exp.Y.SetHex("0cc6f63793a207751d507aa4be629f0776441e4873548095bd6d39d34ce8a9d7") + exp.Z.SetHex("49f0fb9f1840e7a58d485c6cc394e597e521bf7d4598be2b367c27326949e507") + pre = a.precomp(winA) + if len(pre) != 8 { + t.Error("Bad result length") + } + if !pre[7].Equals(&exp) { + t.Error("Unexpcted value") + } +} + +func TestMultGen(t *testing.T) { + var nonce Number + var ex, ey, ez Field + var r XYZ + nonce.SetHex("9E3CD9AB0F32911BFDE39AD155F527192CE5ED1F51447D63C4F154C118DA598E") + ECmultGen(&r, &nonce) + ex.SetHex("02D1BF36D37ACD68E4DD00DB3A707FD176A37E42F81AEF9386924032D3428FF0") + ey.SetHex("FD52E285D33EC835230EA69F89D9C38673BD5B995716A4063C893AF02F938454") + ez.SetHex("4C6ACE7C8C062A1E046F66FD8E3981DC4E8E844ED856B5415C62047129268C1B") + r.X.Normalize() + r.Y.Normalize() + r.Z.Normalize() + if !ex.Equals(&r.X) { + t.Error("Bad X") + } + if !ey.Equals(&r.Y) { + t.Error("Bad Y") + } + if !ez.Equals(&r.Z) { + t.Error("Bad Y") + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/field.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/field.go new file mode 100755 index 0000000..0c99cf6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/field.go @@ -0,0 +1,742 @@ +package secp256k1go + +import ( + "encoding/hex" + "fmt" + "math/big" +) + +// Field represents the signature field +type Field struct { + n [10]uint32 +} + +// String returns the hex string of the field +func (fd *Field) String() string { + var tmp [32]byte + b := *fd + b.Normalize() + b.GetB32(tmp[:]) + return hex.EncodeToString(tmp[:]) +} + +// Print shows the hex string of the field +func (fd *Field) Print(lab string) { + fmt.Println(lab+":", fd.String()) +} + +// GetBig returns big int +func (fd *Field) GetBig() (r *big.Int) { + fd.Normalize() + r = new(big.Int) + var tmp [32]byte + fd.GetB32(tmp[:]) + r.SetBytes(tmp[:]) + return +} + +// SetB32 sets +func (fd *Field) SetB32(a []byte) { + fd.n[0] = 0 + fd.n[1] = 0 + fd.n[2] = 0 + fd.n[3] = 0 + fd.n[4] = 0 + fd.n[5] = 0 + fd.n[6] = 0 + fd.n[7] = 0 + fd.n[8] = 0 + fd.n[9] = 0 + var v uint32 + for i := uint(0); i < 32; i++ { + for j := uint(0); j < 4; j++ { + limb := (8*i + 2*j) / 26 + shift := (8*i + 2*j) % 26 + v = (uint32)((a[31-i]>>(2*j))&0x3) << shift + fd.n[limb] |= v + } + } +} + +// SetBytes sets bytes +func (fd *Field) SetBytes(a []byte) { + if len(a) > 32 { + panic("too many bytes to set") + } + if len(a) == 32 { + fd.SetB32(a) + } else { + var buf [32]byte + copy(buf[32-len(a):], a) + fd.SetB32(buf[:]) + } +} + +// SetHex sets field in hex string +func (fd *Field) SetHex(s string) { + d, _ := hex.DecodeString(s) + fd.SetBytes(d) +} + +// IsOdd check if odd +func (fd *Field) IsOdd() bool { + return (fd.n[0] & 1) != 0 +} + +// IsZero check if field is zero +func (fd *Field) IsZero() bool { + return (fd.n[0] == 0 && fd.n[1] == 0 && fd.n[2] == 0 && fd.n[3] == 0 && fd.n[4] == 0 && fd.n[5] == 0 && fd.n[6] == 0 && fd.n[7] == 0 && fd.n[8] == 0 && fd.n[9] == 0) +} + +// SetInt set fields with an int value +func (fd *Field) SetInt(a uint32) { + fd.n[0] = a + fd.n[1] = 0 + fd.n[2] = 0 + fd.n[3] = 0 + fd.n[4] = 0 + fd.n[5] = 0 + fd.n[6] = 0 + fd.n[7] = 0 + fd.n[8] = 0 + fd.n[9] = 0 +} + +// Normalize normalize the field +func (fd *Field) Normalize() { + c := fd.n[0] + t0 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[1] + t1 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[2] + t2 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[3] + t3 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[4] + t4 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[5] + t5 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[6] + t6 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[7] + t7 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[8] + t8 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[9] + t9 := c & 0x03FFFFF + c >>= 22 + + // The following code will not modify the t's if c is initially 0. + d := c*0x3D1 + t0 + t0 = d & 0x3FFFFFF + d = (d >> 26) + t1 + c*0x40 + t1 = d & 0x3FFFFFF + d = (d >> 26) + t2 + t2 = d & 0x3FFFFFF + d = (d >> 26) + t3 + t3 = d & 0x3FFFFFF + d = (d >> 26) + t4 + t4 = d & 0x3FFFFFF + d = (d >> 26) + t5 + t5 = d & 0x3FFFFFF + d = (d >> 26) + t6 + t6 = d & 0x3FFFFFF + d = (d >> 26) + t7 + t7 = d & 0x3FFFFFF + d = (d >> 26) + t8 + t8 = d & 0x3FFFFFF + d = (d >> 26) + t9 + t9 = d & 0x03FFFFF + + // Subtract p if result >= p + low := (uint64(t1) << 26) | uint64(t0) + //mask := uint64(-(int64)((t9 < 0x03FFFFF) | (t8 < 0x3FFFFFF) | (t7 < 0x3FFFFFF) | (t6 < 0x3FFFFFF) | (t5 < 0x3FFFFFF) | (t4 < 0x3FFFFFF) | (t3 < 0x3FFFFFF) | (t2 < 0x3FFFFFF) | (low < 0xFFFFEFFFFFC2F))) + var mask uint64 + if (t9 < 0x03FFFFF) || + (t8 < 0x3FFFFFF) || + (t7 < 0x3FFFFFF) || + (t6 < 0x3FFFFFF) || + (t5 < 0x3FFFFFF) || + (t4 < 0x3FFFFFF) || + (t3 < 0x3FFFFFF) || + (t2 < 0x3FFFFFF) || + (low < 0xFFFFEFFFFFC2F) { + mask = 0xFFFFFFFFFFFFFFFF + } + t9 &= uint32(mask) + t8 &= uint32(mask) + t7 &= uint32(mask) + t6 &= uint32(mask) + t5 &= uint32(mask) + t4 &= uint32(mask) + t3 &= uint32(mask) + t2 &= uint32(mask) + low -= ((mask ^ 0xFFFFFFFFFFFFFFFF) & 0xFFFFEFFFFFC2F) + + // push internal variables back + fd.n[0] = uint32(low) & 0x3FFFFFF + fd.n[1] = uint32(low>>26) & 0x3FFFFFF + fd.n[2] = t2 + fd.n[3] = t3 + fd.n[4] = t4 + fd.n[5] = t5 + fd.n[6] = t6 + fd.n[7] = t7 + fd.n[8] = t8 + fd.n[9] = t9 +} + +// GetB32 get B32, TODO: need further explanation +func (fd *Field) GetB32(r []byte) { + var i, j, c, limb, shift uint32 + for i = 0; i < 32; i++ { + c = 0 + for j = 0; j < 4; j++ { + limb = (8*i + 2*j) / 26 + shift = (8*i + 2*j) % 26 + c |= ((fd.n[limb] >> shift) & 0x3) << (2 * j) + } + r[31-i] = byte(c) + } +} + +// Equals check if field is the same as the given one +func (fd *Field) Equals(b *Field) bool { + return (fd.n[0] == b.n[0] && fd.n[1] == b.n[1] && fd.n[2] == b.n[2] && fd.n[3] == b.n[3] && fd.n[4] == b.n[4] && + fd.n[5] == b.n[5] && fd.n[6] == b.n[6] && fd.n[7] == b.n[7] && fd.n[8] == b.n[8] && fd.n[9] == b.n[9]) +} + +// SetAdd adds value to corresponding fields +func (fd *Field) SetAdd(a *Field) { + fd.n[0] += a.n[0] + fd.n[1] += a.n[1] + fd.n[2] += a.n[2] + fd.n[3] += a.n[3] + fd.n[4] += a.n[4] + fd.n[5] += a.n[5] + fd.n[6] += a.n[6] + fd.n[7] += a.n[7] + fd.n[8] += a.n[8] + fd.n[9] += a.n[9] +} + +// MulInt multiples the fields +func (fd *Field) MulInt(a uint32) { + fd.n[0] *= a + fd.n[1] *= a + fd.n[2] *= a + fd.n[3] *= a + fd.n[4] *= a + fd.n[5] *= a + fd.n[6] *= a + fd.n[7] *= a + fd.n[8] *= a + fd.n[9] *= a +} + +// Negate caculate the negate +func (fd *Field) Negate(r *Field, m uint32) { + r.n[0] = 0x3FFFC2F*(m+1) - fd.n[0] + r.n[1] = 0x3FFFFBF*(m+1) - fd.n[1] + r.n[2] = 0x3FFFFFF*(m+1) - fd.n[2] + r.n[3] = 0x3FFFFFF*(m+1) - fd.n[3] + r.n[4] = 0x3FFFFFF*(m+1) - fd.n[4] + r.n[5] = 0x3FFFFFF*(m+1) - fd.n[5] + r.n[6] = 0x3FFFFFF*(m+1) - fd.n[6] + r.n[7] = 0x3FFFFFF*(m+1) - fd.n[7] + r.n[8] = 0x3FFFFFF*(m+1) - fd.n[8] + r.n[9] = 0x03FFFFF*(m+1) - fd.n[9] +} + +// Inv new algo by peterdettman - https://github.com/sipa/TheCurve/pull/19 +func (fd *Field) Inv(r *Field) { + var x2, x3, x6, x9, x11, x22, x44, x88, x176, x220, x223, t1 Field + var j int + + fd.Sqr(&x2) + x2.Mul(&x2, fd) + + x2.Sqr(&x3) + x3.Mul(&x3, fd) + + x3.Sqr(&x6) + x6.Sqr(&x6) + x6.Sqr(&x6) + x6.Mul(&x6, &x3) + + x6.Sqr(&x9) + x9.Sqr(&x9) + x9.Sqr(&x9) + x9.Mul(&x9, &x3) + + x9.Sqr(&x11) + x11.Sqr(&x11) + x11.Mul(&x11, &x2) + + x11.Sqr(&x22) + for j = 1; j < 11; j++ { + x22.Sqr(&x22) + } + x22.Mul(&x22, &x11) + + x22.Sqr(&x44) + for j = 1; j < 22; j++ { + x44.Sqr(&x44) + } + x44.Mul(&x44, &x22) + + x44.Sqr(&x88) + for j = 1; j < 44; j++ { + x88.Sqr(&x88) + } + x88.Mul(&x88, &x44) + + x88.Sqr(&x176) + for j = 1; j < 88; j++ { + x176.Sqr(&x176) + } + x176.Mul(&x176, &x88) + + x176.Sqr(&x220) + for j = 1; j < 44; j++ { + x220.Sqr(&x220) + } + x220.Mul(&x220, &x44) + + x220.Sqr(&x223) + x223.Sqr(&x223) + x223.Sqr(&x223) + x223.Mul(&x223, &x3) + + x223.Sqr(&t1) + for j = 1; j < 23; j++ { + t1.Sqr(&t1) + } + t1.Mul(&t1, &x22) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Mul(&t1, fd) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Mul(&t1, &x2) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Mul(r, fd) +} + +// Sqrt new algo by peterdettman - https://github.com/sipa/TheCurve/pull/19 +func (fd *Field) Sqrt(r *Field) { + var x2, x3, x6, x9, x11, x22, x44, x88, x176, x220, x223, t1 Field + var j int + + fd.Sqr(&x2) + x2.Mul(&x2, fd) + + x2.Sqr(&x3) + x3.Mul(&x3, fd) + + x3.Sqr(&x6) + x6.Sqr(&x6) + x6.Sqr(&x6) + x6.Mul(&x6, &x3) + + x6.Sqr(&x9) + x9.Sqr(&x9) + x9.Sqr(&x9) + x9.Mul(&x9, &x3) + + x9.Sqr(&x11) + x11.Sqr(&x11) + x11.Mul(&x11, &x2) + + x11.Sqr(&x22) + for j = 1; j < 11; j++ { + x22.Sqr(&x22) + } + x22.Mul(&x22, &x11) + + x22.Sqr(&x44) + for j = 1; j < 22; j++ { + x44.Sqr(&x44) + } + x44.Mul(&x44, &x22) + + x44.Sqr(&x88) + for j = 1; j < 44; j++ { + x88.Sqr(&x88) + } + x88.Mul(&x88, &x44) + + x88.Sqr(&x176) + for j = 1; j < 88; j++ { + x176.Sqr(&x176) + } + x176.Mul(&x176, &x88) + + x176.Sqr(&x220) + for j = 1; j < 44; j++ { + x220.Sqr(&x220) + } + x220.Mul(&x220, &x44) + + x220.Sqr(&x223) + x223.Sqr(&x223) + x223.Sqr(&x223) + x223.Mul(&x223, &x3) + + x223.Sqr(&t1) + for j = 1; j < 23; j++ { + t1.Sqr(&t1) + } + t1.Mul(&t1, &x22) + for j = 0; j < 6; j++ { + t1.Sqr(&t1) + } + t1.Mul(&t1, &x2) + t1.Sqr(&t1) + t1.Sqr(r) +} + +// InvVar ... +func (fd *Field) InvVar(r *Field) { + var b [32]byte + var c Field + c = *fd + c.Normalize() + c.GetB32(b[:]) + var n Number + n.SetBytes(b[:]) + n.modInv(&n, &TheCurve.p) + r.SetBytes(n.Bytes()) +} + +// Mul ... +func (fd *Field) Mul(r, b *Field) { + var c, d uint64 + var t0, t1, t2, t3, t4, t5, t6 uint64 + var t7, t8, t9, t10, t11, t12, t13 uint64 + var t14, t15, t16, t17, t18, t19 uint64 + + c = uint64(fd.n[0]) * uint64(b.n[0]) + t0 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[1]) + + uint64(fd.n[1])*uint64(b.n[0]) + t1 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[2]) + + uint64(fd.n[1])*uint64(b.n[1]) + + uint64(fd.n[2])*uint64(b.n[0]) + t2 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[3]) + + uint64(fd.n[1])*uint64(b.n[2]) + + uint64(fd.n[2])*uint64(b.n[1]) + + uint64(fd.n[3])*uint64(b.n[0]) + t3 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[4]) + + uint64(fd.n[1])*uint64(b.n[3]) + + uint64(fd.n[2])*uint64(b.n[2]) + + uint64(fd.n[3])*uint64(b.n[1]) + + uint64(fd.n[4])*uint64(b.n[0]) + t4 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[5]) + + uint64(fd.n[1])*uint64(b.n[4]) + + uint64(fd.n[2])*uint64(b.n[3]) + + uint64(fd.n[3])*uint64(b.n[2]) + + uint64(fd.n[4])*uint64(b.n[1]) + + uint64(fd.n[5])*uint64(b.n[0]) + t5 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[6]) + + uint64(fd.n[1])*uint64(b.n[5]) + + uint64(fd.n[2])*uint64(b.n[4]) + + uint64(fd.n[3])*uint64(b.n[3]) + + uint64(fd.n[4])*uint64(b.n[2]) + + uint64(fd.n[5])*uint64(b.n[1]) + + uint64(fd.n[6])*uint64(b.n[0]) + t6 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[7]) + + uint64(fd.n[1])*uint64(b.n[6]) + + uint64(fd.n[2])*uint64(b.n[5]) + + uint64(fd.n[3])*uint64(b.n[4]) + + uint64(fd.n[4])*uint64(b.n[3]) + + uint64(fd.n[5])*uint64(b.n[2]) + + uint64(fd.n[6])*uint64(b.n[1]) + + uint64(fd.n[7])*uint64(b.n[0]) + t7 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[8]) + + uint64(fd.n[1])*uint64(b.n[7]) + + uint64(fd.n[2])*uint64(b.n[6]) + + uint64(fd.n[3])*uint64(b.n[5]) + + uint64(fd.n[4])*uint64(b.n[4]) + + uint64(fd.n[5])*uint64(b.n[3]) + + uint64(fd.n[6])*uint64(b.n[2]) + + uint64(fd.n[7])*uint64(b.n[1]) + + uint64(fd.n[8])*uint64(b.n[0]) + t8 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[9]) + + uint64(fd.n[1])*uint64(b.n[8]) + + uint64(fd.n[2])*uint64(b.n[7]) + + uint64(fd.n[3])*uint64(b.n[6]) + + uint64(fd.n[4])*uint64(b.n[5]) + + uint64(fd.n[5])*uint64(b.n[4]) + + uint64(fd.n[6])*uint64(b.n[3]) + + uint64(fd.n[7])*uint64(b.n[2]) + + uint64(fd.n[8])*uint64(b.n[1]) + + uint64(fd.n[9])*uint64(b.n[0]) + t9 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[1])*uint64(b.n[9]) + + uint64(fd.n[2])*uint64(b.n[8]) + + uint64(fd.n[3])*uint64(b.n[7]) + + uint64(fd.n[4])*uint64(b.n[6]) + + uint64(fd.n[5])*uint64(b.n[5]) + + uint64(fd.n[6])*uint64(b.n[4]) + + uint64(fd.n[7])*uint64(b.n[3]) + + uint64(fd.n[8])*uint64(b.n[2]) + + uint64(fd.n[9])*uint64(b.n[1]) + t10 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[2])*uint64(b.n[9]) + + uint64(fd.n[3])*uint64(b.n[8]) + + uint64(fd.n[4])*uint64(b.n[7]) + + uint64(fd.n[5])*uint64(b.n[6]) + + uint64(fd.n[6])*uint64(b.n[5]) + + uint64(fd.n[7])*uint64(b.n[4]) + + uint64(fd.n[8])*uint64(b.n[3]) + + uint64(fd.n[9])*uint64(b.n[2]) + t11 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[3])*uint64(b.n[9]) + + uint64(fd.n[4])*uint64(b.n[8]) + + uint64(fd.n[5])*uint64(b.n[7]) + + uint64(fd.n[6])*uint64(b.n[6]) + + uint64(fd.n[7])*uint64(b.n[5]) + + uint64(fd.n[8])*uint64(b.n[4]) + + uint64(fd.n[9])*uint64(b.n[3]) + t12 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[4])*uint64(b.n[9]) + + uint64(fd.n[5])*uint64(b.n[8]) + + uint64(fd.n[6])*uint64(b.n[7]) + + uint64(fd.n[7])*uint64(b.n[6]) + + uint64(fd.n[8])*uint64(b.n[5]) + + uint64(fd.n[9])*uint64(b.n[4]) + t13 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[5])*uint64(b.n[9]) + + uint64(fd.n[6])*uint64(b.n[8]) + + uint64(fd.n[7])*uint64(b.n[7]) + + uint64(fd.n[8])*uint64(b.n[6]) + + uint64(fd.n[9])*uint64(b.n[5]) + t14 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[6])*uint64(b.n[9]) + + uint64(fd.n[7])*uint64(b.n[8]) + + uint64(fd.n[8])*uint64(b.n[7]) + + uint64(fd.n[9])*uint64(b.n[6]) + t15 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[7])*uint64(b.n[9]) + + uint64(fd.n[8])*uint64(b.n[8]) + + uint64(fd.n[9])*uint64(b.n[7]) + t16 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[8])*uint64(b.n[9]) + + uint64(fd.n[9])*uint64(b.n[8]) + t17 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[9])*uint64(b.n[9]) + t18 = c & 0x3FFFFFF + c = c >> 26 + t19 = c + + c = t0 + t10*0x3D10 + t0 = c & 0x3FFFFFF + c = c >> 26 + c = c + t1 + t10*0x400 + t11*0x3D10 + t1 = c & 0x3FFFFFF + c = c >> 26 + c = c + t2 + t11*0x400 + t12*0x3D10 + t2 = c & 0x3FFFFFF + c = c >> 26 + c = c + t3 + t12*0x400 + t13*0x3D10 + r.n[3] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t4 + t13*0x400 + t14*0x3D10 + r.n[4] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t5 + t14*0x400 + t15*0x3D10 + r.n[5] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t6 + t15*0x400 + t16*0x3D10 + r.n[6] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t7 + t16*0x400 + t17*0x3D10 + r.n[7] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t8 + t17*0x400 + t18*0x3D10 + r.n[8] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t9 + t18*0x400 + t19*0x1000003D10 + r.n[9] = uint32(c) & 0x03FFFFF + c = c >> 22 + d = t0 + c*0x3D1 + r.n[0] = uint32(d) & 0x3FFFFFF + d = d >> 26 + d = d + t1 + c*0x40 + r.n[1] = uint32(d) & 0x3FFFFFF + d = d >> 26 + r.n[2] = uint32(t2 + d) +} + +// Sqr ... +func (fd *Field) Sqr(r *Field) { + var c, d uint64 + var t0, t1, t2, t3, t4, t5, t6 uint64 + var t7, t8, t9, t10, t11, t12, t13 uint64 + var t14, t15, t16, t17, t18, t19 uint64 + + c = uint64(fd.n[0]) * uint64(fd.n[0]) + t0 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[1]) + t1 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[2]) + + uint64(fd.n[1])*uint64(fd.n[1]) + t2 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[3]) + + (uint64(fd.n[1])*2)*uint64(fd.n[2]) + t3 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[4]) + + (uint64(fd.n[1])*2)*uint64(fd.n[3]) + + uint64(fd.n[2])*uint64(fd.n[2]) + t4 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[5]) + + (uint64(fd.n[1])*2)*uint64(fd.n[4]) + + (uint64(fd.n[2])*2)*uint64(fd.n[3]) + t5 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[6]) + + (uint64(fd.n[1])*2)*uint64(fd.n[5]) + + (uint64(fd.n[2])*2)*uint64(fd.n[4]) + + uint64(fd.n[3])*uint64(fd.n[3]) + t6 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[7]) + + (uint64(fd.n[1])*2)*uint64(fd.n[6]) + + (uint64(fd.n[2])*2)*uint64(fd.n[5]) + + (uint64(fd.n[3])*2)*uint64(fd.n[4]) + t7 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[8]) + + (uint64(fd.n[1])*2)*uint64(fd.n[7]) + + (uint64(fd.n[2])*2)*uint64(fd.n[6]) + + (uint64(fd.n[3])*2)*uint64(fd.n[5]) + + uint64(fd.n[4])*uint64(fd.n[4]) + t8 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[9]) + + (uint64(fd.n[1])*2)*uint64(fd.n[8]) + + (uint64(fd.n[2])*2)*uint64(fd.n[7]) + + (uint64(fd.n[3])*2)*uint64(fd.n[6]) + + (uint64(fd.n[4])*2)*uint64(fd.n[5]) + t9 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[1])*2)*uint64(fd.n[9]) + + (uint64(fd.n[2])*2)*uint64(fd.n[8]) + + (uint64(fd.n[3])*2)*uint64(fd.n[7]) + + (uint64(fd.n[4])*2)*uint64(fd.n[6]) + + uint64(fd.n[5])*uint64(fd.n[5]) + t10 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[2])*2)*uint64(fd.n[9]) + + (uint64(fd.n[3])*2)*uint64(fd.n[8]) + + (uint64(fd.n[4])*2)*uint64(fd.n[7]) + + (uint64(fd.n[5])*2)*uint64(fd.n[6]) + t11 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[3])*2)*uint64(fd.n[9]) + + (uint64(fd.n[4])*2)*uint64(fd.n[8]) + + (uint64(fd.n[5])*2)*uint64(fd.n[7]) + + uint64(fd.n[6])*uint64(fd.n[6]) + t12 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[4])*2)*uint64(fd.n[9]) + + (uint64(fd.n[5])*2)*uint64(fd.n[8]) + + (uint64(fd.n[6])*2)*uint64(fd.n[7]) + t13 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[5])*2)*uint64(fd.n[9]) + + (uint64(fd.n[6])*2)*uint64(fd.n[8]) + + uint64(fd.n[7])*uint64(fd.n[7]) + t14 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[6])*2)*uint64(fd.n[9]) + + (uint64(fd.n[7])*2)*uint64(fd.n[8]) + t15 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[7])*2)*uint64(fd.n[9]) + + uint64(fd.n[8])*uint64(fd.n[8]) + t16 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[8])*2)*uint64(fd.n[9]) + t17 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[9])*uint64(fd.n[9]) + t18 = c & 0x3FFFFFF + c = c >> 26 + t19 = c + + c = t0 + t10*0x3D10 + t0 = c & 0x3FFFFFF + c = c >> 26 + c = c + t1 + t10*0x400 + t11*0x3D10 + t1 = c & 0x3FFFFFF + c = c >> 26 + c = c + t2 + t11*0x400 + t12*0x3D10 + t2 = c & 0x3FFFFFF + c = c >> 26 + c = c + t3 + t12*0x400 + t13*0x3D10 + r.n[3] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t4 + t13*0x400 + t14*0x3D10 + r.n[4] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t5 + t14*0x400 + t15*0x3D10 + r.n[5] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t6 + t15*0x400 + t16*0x3D10 + r.n[6] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t7 + t16*0x400 + t17*0x3D10 + r.n[7] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t8 + t17*0x400 + t18*0x3D10 + r.n[8] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t9 + t18*0x400 + t19*0x1000003D10 + r.n[9] = uint32(c) & 0x03FFFFF + c = c >> 22 + d = t0 + c*0x3D1 + r.n[0] = uint32(d) & 0x3FFFFFF + d = d >> 26 + d = d + t1 + c*0x40 + r.n[1] = uint32(d) & 0x3FFFFFF + d = d >> 26 + r.n[2] = uint32(t2 + d) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/field_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/field_test.go new file mode 100755 index 0000000..24f3b5a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/field_test.go @@ -0,0 +1,36 @@ +package secp256k1go + +import ( + "crypto/rand" + "testing" +) + +func TestFeInv(t *testing.T) { + var in, out, exp Field + in.SetHex("813925AF112AAB8243F8CCBADE4CC7F63DF387263028DE6E679232A73A7F3C31") + exp.SetHex("7F586430EA30F914965770F6098E492699C62EE1DF6CAFFA77681C179FDF3117") + in.Inv(&out) + if !out.Equals(&exp) { + t.Error("fe.Inv() failed") + } +} + +func BenchmarkFieldSqrt(b *testing.B) { + var dat [32]byte + var f, tmp Field + rand.Read(dat[:]) + f.SetB32(dat[:]) + for i := 0; i < b.N; i++ { + f.Sqrt(&tmp) + } +} + +func BenchmarkFieldInv(b *testing.B) { + var dat [32]byte + var f, tmp Field + rand.Read(dat[:]) + f.SetB32(dat[:]) + for i := 0; i < b.N; i++ { + f.Inv(&tmp) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/num.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/num.go new file mode 100755 index 0000000..3c9f901 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/num.go @@ -0,0 +1,114 @@ +package secp256k1go + +import ( + "encoding/hex" + "fmt" + "math/big" +) + +var ( + // BigInt1 represents big int with value 1 + BigInt1 = new(big.Int).SetInt64(1) +) + +// Number wraps the big.Int +type Number struct { + big.Int +} + +// Print prints the label with hex number string +func (num *Number) Print(label string) { + fmt.Println(label, hex.EncodeToString(num.Bytes())) +} + +func (num *Number) modMul(a, b, m *Number) { + num.Mul(&a.Int, &b.Int) + num.Mod(&num.Int, &m.Int) + return +} + +func (num *Number) modInv(a, b *Number) { + num.ModInverse(&a.Int, &b.Int) + return +} + +func (num *Number) mod(a *Number) { + num.Mod(&num.Int, &a.Int) + return +} + +// SetHex sets number from string +func (num *Number) SetHex(s string) { + num.SetString(s, 16) +} + +//SetBytes and GetBytes are inherited by default +//added +//func (a *Number) SetBytes(b []byte) { +// a.SetBytes(b) +//} + +func (num *Number) maskBits(bits uint) { + mask := new(big.Int).Lsh(BigInt1, bits) + mask.Sub(mask, BigInt1) + num.Int.And(&num.Int, mask) +} + +func (num *Number) splitExp(r1, r2 *Number) { + var bnc1, bnc2, bnn2, bnt1, bnt2 Number + + bnn2.Int.Rsh(&TheCurve.Order.Int, 1) + + bnc1.Mul(&num.Int, &TheCurve.a1b2.Int) + bnc1.Add(&bnc1.Int, &bnn2.Int) + bnc1.Div(&bnc1.Int, &TheCurve.Order.Int) + + bnc2.Mul(&num.Int, &TheCurve.b1.Int) + bnc2.Add(&bnc2.Int, &bnn2.Int) + bnc2.Div(&bnc2.Int, &TheCurve.Order.Int) + + bnt1.Mul(&bnc1.Int, &TheCurve.a1b2.Int) + bnt2.Mul(&bnc2.Int, &TheCurve.a2.Int) + bnt1.Add(&bnt1.Int, &bnt2.Int) + r1.Sub(&num.Int, &bnt1.Int) + + bnt1.Mul(&bnc1.Int, &TheCurve.b1.Int) + bnt2.Mul(&bnc2.Int, &TheCurve.a1b2.Int) + r2.Sub(&bnt1.Int, &bnt2.Int) +} + +func (num *Number) split(rl, rh *Number, bits uint) { // nolint: unparam + rl.Int.Set(&num.Int) + rh.Int.Rsh(&rl.Int, bits) + rl.maskBits(bits) +} + +func (num *Number) rsh(bits uint) { // nolint: unparam + num.Rsh(&num.Int, bits) +} + +func (num *Number) inc() { + num.Add(&num.Int, BigInt1) +} + +func (num *Number) rshX(bits uint) (res int) { + res = int(new(big.Int).And(&num.Int, new(big.Int).SetUint64((1< le { + panic("buffer too small") + } + if len(bts) == le { + return bts + } + return append(make([]byte, le-len(bts)), bts...) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/secp256k1.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/secp256k1.go new file mode 100755 index 0000000..a032b93 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/secp256k1.go @@ -0,0 +1,57 @@ +package secp256k1go + +const winA = 5 +const winG = 14 +const forceLowS = true // At the output of the Sign() function + +// TheCurve represents curve +var TheCurve struct { + Order, halfOrder Number + G XY + beta Field + lambda, a1b2, b1, a2 Number + p Number +} + +func initContants() { + TheCurve.Order.SetBytes([]byte{ + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, + 0xBA, 0xAE, 0xDC, 0xE6, 0xAF, 0x48, 0xA0, 0x3B, 0xBF, 0xD2, 0x5E, 0x8C, 0xD0, 0x36, 0x41, 0x41}) + + TheCurve.halfOrder.SetBytes([]byte{ + 0X7F, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, + 0X5D, 0X57, 0X6E, 0X73, 0X57, 0XA4, 0X50, 0X1D, 0XDF, 0XE9, 0X2F, 0X46, 0X68, 0X1B, 0X20, 0XA0}) + + TheCurve.p.SetBytes([]byte{ + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFC, 0x2F}) + + TheCurve.G.X.SetB32([]byte{ + 0x79, 0xBE, 0x66, 0x7E, 0xF9, 0xDC, 0xBB, 0xAC, 0x55, 0xA0, 0x62, 0x95, 0xCE, 0x87, 0x0B, 0x07, + 0x02, 0x9B, 0xFC, 0xDB, 0x2D, 0xCE, 0x28, 0xD9, 0x59, 0xF2, 0x81, 0x5B, 0x16, 0xF8, 0x17, 0x98}) + + TheCurve.G.Y.SetB32([]byte{ + 0x48, 0x3A, 0xDA, 0x77, 0x26, 0xA3, 0xC4, 0x65, 0x5D, 0xA4, 0xFB, 0xFC, 0x0E, 0x11, 0x08, 0xA8, + 0xFD, 0x17, 0xB4, 0x48, 0xA6, 0x85, 0x54, 0x19, 0x9C, 0x47, 0xD0, 0x8F, 0xFB, 0x10, 0xD4, 0xB8}) + + TheCurve.lambda.SetBytes([]byte{ + 0x53, 0x63, 0xad, 0x4c, 0xc0, 0x5c, 0x30, 0xe0, 0xa5, 0x26, 0x1c, 0x02, 0x88, 0x12, 0x64, 0x5a, + 0x12, 0x2e, 0x22, 0xea, 0x20, 0x81, 0x66, 0x78, 0xdf, 0x02, 0x96, 0x7c, 0x1b, 0x23, 0xbd, 0x72}) + + TheCurve.beta.SetB32([]byte{ + 0x7a, 0xe9, 0x6a, 0x2b, 0x65, 0x7c, 0x07, 0x10, 0x6e, 0x64, 0x47, 0x9e, 0xac, 0x34, 0x34, 0xe9, + 0x9c, 0xf0, 0x49, 0x75, 0x12, 0xf5, 0x89, 0x95, 0xc1, 0x39, 0x6c, 0x28, 0x71, 0x95, 0x01, 0xee}) + + TheCurve.a1b2.SetBytes([]byte{ + 0x30, 0x86, 0xd2, 0x21, 0xa7, 0xd4, 0x6b, 0xcd, 0xe8, 0x6c, 0x90, 0xe4, 0x92, 0x84, 0xeb, 0x15}) + + TheCurve.b1.SetBytes([]byte{ + 0xe4, 0x43, 0x7e, 0xd6, 0x01, 0x0e, 0x88, 0x28, 0x6f, 0x54, 0x7f, 0xa9, 0x0a, 0xbf, 0xe4, 0xc3}) + + TheCurve.a2.SetBytes([]byte{ + 0x01, 0x14, 0xca, 0x50, 0xf7, 0xa8, 0xe2, 0xf3, 0xf6, 0x57, 0xc1, 0x10, 0x8d, 0x9d, 0x44, 0xcf, 0xd8}) +} + +func init() { + initContants() +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/sig.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/sig.go new file mode 100755 index 0000000..a087c3b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/sig.go @@ -0,0 +1,230 @@ +package secp256k1go + +import ( + "bytes" + "encoding/hex" + "fmt" + "log" +) + +// Signature represents the signature +type Signature struct { + R, S Number +} + +// Print prints the signature +func (sig *Signature) Print(lab string) { + fmt.Println(lab+".R:", hex.EncodeToString(sig.R.Bytes())) + fmt.Println(lab+".S:", hex.EncodeToString(sig.S.Bytes())) +} + +// Verify verify the signature +func (sig *Signature) Verify(pubkey *XY, message *Number) (ret bool) { + var r2 Number + ret = sig.recompute(&r2, pubkey, message) && sig.R.Cmp(&r2.Int) == 0 + return +} + +func (sig *Signature) recompute(r2 *Number, pubkey *XY, message *Number) (ret bool) { + var sn, u1, u2 Number + + sn.modInv(&sig.S, &TheCurve.Order) + u1.modMul(&sn, message, &TheCurve.Order) + u2.modMul(&sn, &sig.R, &TheCurve.Order) + + var pr, pubkeyj XYZ + pubkeyj.SetXY(pubkey) + + pubkeyj.ECmult(&pr, &u2, &u1) + if !pr.IsInfinity() { + var xr Field + pr.getX(&xr) + xr.Normalize() + var xrb [32]byte + xr.GetB32(xrb[:]) + r2.SetBytes(xrb[:]) + r2.Mod(&r2.Int, &TheCurve.Order.Int) + ret = true + } + + return +} + +// Recover TODO: return type, or nil on failure +func (sig *Signature) Recover(pubkey *XY, m *Number, recid int) (ret bool) { + var rx, rn, u1, u2 Number + var fx Field + var X XY + var xj, qj XYZ + + rx.Set(&sig.R.Int) + if (recid & 2) != 0 { + rx.Add(&rx.Int, &TheCurve.Order.Int) + if rx.Cmp(&TheCurve.p.Int) >= 0 { + return false + } + } + + fx.SetB32(rx.getBin(32)) + + X.SetXO(&fx, (recid&1) != 0) + if !X.IsValid() { + return false + } + + xj.SetXY(&X) + rn.modInv(&sig.R, &TheCurve.Order) + u1.modMul(&rn, m, &TheCurve.Order) + u1.Sub(&TheCurve.Order.Int, &u1.Int) + u2.modMul(&rn, &sig.S, &TheCurve.Order) + xj.ECmult(&qj, &u2, &u1) + pubkey.SetXYZ(&qj) + + return true +} + +// Sign signs the signature +func (sig *Signature) Sign(seckey, message, nonce *Number, recid *int) int { + var r XY + var rp XYZ + var n Number + var b [32]byte + + ECmultGen(&rp, nonce) + r.SetXYZ(&rp) + r.X.Normalize() + r.Y.Normalize() + r.X.GetB32(b[:]) + sig.R.SetBytes(b[:]) + if recid != nil { + *recid = 0 + if sig.R.Cmp(&TheCurve.Order.Int) >= 0 { + *recid |= 2 + } + if r.Y.IsOdd() { + *recid |= 1 + } + } + sig.R.mod(&TheCurve.Order) + n.modMul(&sig.R, seckey, &TheCurve.Order) + n.Add(&n.Int, &message.Int) + n.mod(&TheCurve.Order) + sig.S.modInv(nonce, &TheCurve.Order) + sig.S.modMul(&sig.S, &n, &TheCurve.Order) + if sig.S.Sign() == 0 { + return 0 + } + if sig.S.IsOdd() { + sig.S.Sub(&TheCurve.Order.Int, &sig.S.Int) + if recid != nil { + *recid ^= 1 + } + } + + if forceLowS && sig.S.Cmp(&TheCurve.halfOrder.Int) == 1 { + sig.S.Sub(&TheCurve.Order.Int, &sig.S.Int) + if recid != nil { + *recid ^= 1 + } + } + + return 1 +} + +/* +//uncompressed Signature Parsing in DER +func (r *Signature) ParseBytes(sig []byte) int { + if sig[0] != 0x30 || len(sig) < 5 { + return -1 + } + + lenr := int(sig[3]) + if lenr == 0 || 5+lenr >= len(sig) || sig[lenr+4] != 0x02 { + return -1 + } + + lens := int(sig[lenr+5]) + if lens == 0 || int(sig[1]) != lenr+lens+4 || lenr+lens+6 > len(sig) || sig[2] != 0x02 { + return -1 + } + + r.R.SetBytes(sig[4 : 4+lenr]) + r.S.SetBytes(sig[6+lenr : 6+lenr+lens]) + return 6 + lenr + lens +} +*/ + +/* +//uncompressed Signature parsing in DER +func (sig *Signature) Bytes() []byte { + r := sig.R.Bytes() + if r[0] >= 0x80 { + r = append([]byte{0}, r...) + } + s := sig.S.Bytes() + if s[0] >= 0x80 { + s = append([]byte{0}, s...) + } + res := new(bytes.Buffer) + res.WriteByte(0x30) + res.WriteByte(byte(4 + len(r) + len(s))) + res.WriteByte(0x02) + res.WriteByte(byte(len(r))) + res.Write(r) + res.WriteByte(0x02) + res.WriteByte(byte(len(s))) + res.Write(s) + return res.Bytes() +} +*/ + +// ParseBytes compressed signature parsing +func (sig *Signature) ParseBytes(v []byte) { + if len(v) != 64 { + log.Panic() + } + sig.R.SetBytes(v[0:32]) + sig.S.SetBytes(v[32:64]) +} + +//secp256k1_num_get_bin(sig64, 32, &sig.r); +//secp256k1_num_get_bin(sig64 + 32, 32, &sig.s); + +// Bytes compressed signature parsing +func (sig *Signature) Bytes() []byte { + r := sig.R.Bytes() //endianess + s := sig.S.Bytes() //endianess + + for len(r) < 32 { + r = append([]byte{0}, r...) + } + for len(s) < 32 { + s = append([]byte{0}, s...) + } + + if len(r) != 32 || len(s) != 32 { + log.Panicf("signature size invalid: %d, %d", len(r), len(s)) + } + + res := new(bytes.Buffer) + res.Write(r) + res.Write(s) + + //test + if true { + ret := res.Bytes() + var sig2 Signature + sig2.ParseBytes(ret) + if bytes.Equal(sig.R.Bytes(), sig2.R.Bytes()) == false { + log.Panic("serialization failed 1") + } + if bytes.Equal(sig.S.Bytes(), sig2.S.Bytes()) == false { + log.Panic("serialization failed 2") + } + } + + if len(res.Bytes()) != 64 { + log.Panic() + } + return res.Bytes() +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/sig_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/sig_test.go new file mode 100755 index 0000000..d87c487 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/sig_test.go @@ -0,0 +1,150 @@ +package secp256k1go + +import ( + "encoding/hex" + "strconv" + "testing" +) + +func TestSigRecover(t *testing.T) { + var vs = [][6]string{ + { + "6028b9e3a31c9e725fcbd7d5d16736aaaafcc9bf157dfb4be62bcbcf0969d488", + "036d4a36fa235b8f9f815aa6f5457a607f956a71a035bf0970d8578bf218bb5a", + "9cff3da1a4f86caf3683f865232c64992b5ed002af42b321b8d8a48420680487", + "0", + "56dc5df245955302893d8dda0677cc9865d8011bc678c7803a18b5f6faafec08", + "54b5fbdcd8fac6468dac2de88fadce6414f5f3afbb103753e25161bef77705a6", + }, + { + "b470e02f834a3aaafa27bd2b49e07269e962a51410f364e9e195c31351a05e50", + "560978aed76de9d5d781f87ed2068832ed545f2b21bf040654a2daff694c8b09", + "9ce428d58e8e4caf619dc6fc7b2c2c28f0561654d1f80f322c038ad5e67ff8a6", + "1", + "15b7e7d00f024bffcd2e47524bb7b7d3a6b251e23a3a43191ed7f0a418d9a578", + "bf29a25e2d1f32c5afb18b41ae60112723278a8af31275965a6ec1d95334e840", + }, + } + + var sig Signature + var pubkey, exp XY + var msg Number + + for i := range vs { + sig.R.SetHex(vs[i][0]) + sig.S.SetHex(vs[i][1]) + msg.SetHex(vs[i][2]) + rid, _ := strconv.ParseInt(vs[i][3], 10, 32) + exp.X.SetHex(vs[i][4]) + exp.Y.SetHex(vs[i][5]) + + if sig.Recover(&pubkey, &msg, int(rid)) { + if !exp.X.Equals(&pubkey.X) { + t.Error("X mismatch at vector", i) + } + if !exp.Y.Equals(&pubkey.Y) { + t.Error("Y mismatch at vector", i) + } + } else { + t.Error("sig.recover fialed") + } + } +} + +func TestSigVerify(t *testing.T) { + var msg Number + var sig Signature + var key XY + + //// len(65) keys are rejected now, this test case is invalid: + // msg.SetHex("3382219555ddbb5b00e0090f469e590ba1eae03c7f28ab937de330aa60294ed6") + // sig.R.SetHex("fe00e013c244062847045ae7eb73b03fca583e9aa5dbd030a8fd1c6dfcf11b10") + // sig.S.SetHex("7d0d04fed8fa1e93007468d5a9e134b0a7023b6d31db4e50942d43a250f4d07c") + // xy, _ := hex.DecodeString("040eaebcd1df2df853d66ce0e1b0fda07f67d1cabefde98514aad795b86a6ea66dbeb26b67d7a00e2447baeccc8a4cef7cd3cad67376ac1c5785aeebb4f6441c16") + // key.ParsePubkey(xy) + // if !sig.Verify(&key, &msg) { + // t.Error("sig.Verify 0") + // } + + msg.SetHex("D474CBF2203C1A55A411EEC4404AF2AFB2FE942C434B23EFE46E9F04DA8433CA") + sig.R.SetHex("98F9D784BA6C5C77BB7323D044C0FC9F2B27BAA0A5B0718FE88596CC56681980") + sig.S.SetHex("E3599D551029336A745B9FB01566624D870780F363356CEE1425ED67D1294480") + key.X.SetHex("7d709f85a331813f9ae6046c56b3a42737abf4eb918b2e7afee285070e968b93") + key.Y.SetHex("26150d1a63b342986c373977b00131950cb5fc194643cad6ea36b5157eba4602") + if !sig.Verify(&key, &msg) { + t.Error("sig.Verify 1") + } + + msg.SetHex("2c43a883f4edc2b66c67a7a355b9312a565bb3d33bb854af36a06669e2028377") + sig.R.SetHex("6b2fa9344462c958d4a674c2a42fbedf7d6159a5276eb658887e2e1b3915329b") + sig.S.SetHex("eddc6ea7f190c14a0aa74e41519d88d2681314f011d253665f301425caf86b86") + xy, _ := hex.DecodeString("02a60d70cfba37177d8239d018185d864b2bdd0caf5e175fd4454cc006fd2d75ac") + key.ParsePubkey(xy) + if !sig.Verify(&key, &msg) { + t.Error("sig.Verify 2") + } +} + +func TestSigSign(t *testing.T) { + var sec, msg, non Number + var sig Signature + var recid int + sec.SetHex("73641C99F7719F57D8F4BEB11A303AFCD190243A51CED8782CA6D3DBE014D146") + msg.SetHex("D474CBF2203C1A55A411EEC4404AF2AFB2FE942C434B23EFE46E9F04DA8433CA") + non.SetHex("9E3CD9AB0F32911BFDE39AD155F527192CE5ED1F51447D63C4F154C118DA598E") + res := sig.Sign(&sec, &msg, &non, &recid) + if res != 1 { + t.Error("res failed", res) + } + if forceLowS { + if recid != 0 { + t.Error("recid failed", recid) + } + } else { + if recid != 1 { + t.Error("recid failed", recid) + } + } + non.SetHex("98f9d784ba6c5c77bb7323d044c0fc9f2b27baa0a5b0718fe88596cc56681980") + if sig.R.Cmp(&non.Int) != 0 { + t.Error("R failed", sig.R.String()) + } + if forceLowS { + non.SetHex("1ca662aaefd6cc958ba4604fea999db133a75bf34c13334dabac7124ff0cfcc1") + } else { + non.SetHex("E3599D551029336A745B9FB01566624D870780F363356CEE1425ED67D1294480") + } + if sig.S.Cmp(&non.Int) != 0 { + t.Error("S failed", sig.S.String()) + } +} + +func BenchmarkVerify(b *testing.B) { + var msg Number + var sig Signature + var key XY + msg.SetHex("D474CBF2203C1A55A411EEC4404AF2AFB2FE942C434B23EFE46E9F04DA8433CA") + sig.R.SetHex("98F9D784BA6C5C77BB7323D044C0FC9F2B27BAA0A5B0718FE88596CC56681980") + sig.S.SetHex("E3599D551029336A745B9FB01566624D870780F363356CEE1425ED67D1294480") + key.X.SetHex("7d709f85a331813f9ae6046c56b3a42737abf4eb918b2e7afee285070e968b93") + key.Y.SetHex("26150d1a63b342986c373977b00131950cb5fc194643cad6ea36b5157eba4602") + b.ResetTimer() + for i := 0; i < b.N; i++ { + if !sig.Verify(&key, &msg) { + b.Fatal("sig_verify failed") + } + } +} + +func BenchmarkSign(b *testing.B) { + var sec, msg, non Number + var sig Signature + var recid int + sec.SetHex("73641C99F7719F57D8F4BEB11A303AFCD190243A51CED8782CA6D3DBE014D146") + msg.SetHex("D474CBF2203C1A55A411EEC4404AF2AFB2FE942C434B23EFE46E9F04DA8433CA") + non.SetHex("9E3CD9AB0F32911BFDE39AD155F527192CE5ED1F51447D63C4F154C118DA598E") + b.ResetTimer() + for i := 0; i < b.N; i++ { + sig.Sign(&sec, &msg, &non, &recid) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xy.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xy.go new file mode 100755 index 0000000..b9319ee --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xy.go @@ -0,0 +1,265 @@ +package secp256k1go + +import ( + "fmt" + "log" +) + +// XY TODO... +type XY struct { + X, Y Field + Infinity bool +} + +// Print prints the xy +func (xy *XY) Print(lab string) { + if xy.Infinity { + fmt.Println(lab + " - Infinity") + return + } + fmt.Println(lab+".X:", xy.X.String()) + fmt.Println(lab+".Y:", xy.Y.String()) +} + +//edited + +/* + if (size == 33 && (pub[0] == 0x02 || pub[0] == 0x03)) { + secp256k1_fe_t x; + secp256k1_fe_set_b32(&x, pub+1); + return secp256k1_ge_set_xo(elem, &x, pub[0] == 0x03); + } else if (size == 65 && (pub[0] == 0x04 || pub[0] == 0x06 || pub[0] == 0x07)) { + secp256k1_fe_t x, y; + secp256k1_fe_set_b32(&x, pub+1); + secp256k1_fe_set_b32(&y, pub+33); + secp256k1_ge_set_xy(elem, &x, &y); + if ((pub[0] == 0x06 || pub[0] == 0x07) && secp256k1_fe_is_odd(&y) != (pub[0] == 0x07)) + return 0; + return secp256k1_ge_is_valid(elem); + } +*/ +//All compact keys appear to be valid by construction, but may fail +//is valid check + +// ParsePubkey WARNING: for compact signatures, will succeed unconditionally +//however, elem.IsValid will fail +func (xy *XY) ParsePubkey(pub []byte) bool { + if len(pub) != 33 { + log.Panic("pubkey len must be 33, len is ", len(pub)) // do not permit invalid length inputs + return false + } + if len(pub) == 33 && (pub[0] == 0x02 || pub[0] == 0x03) { + xy.X.SetB32(pub[1:33]) + xy.SetXO(&xy.X, pub[0] == 0x03) + } else { + return false + } + //THIS FAILS + //reenable later + //if elem.IsValid() == false { + // return false + //} + + /* + else if len(pub) == 65 && (pub[0] == 0x04 || pub[0] == 0x06 || pub[0] == 0x07) { + elem.X.SetB32(pub[1:33]) + elem.Y.SetB32(pub[33:65]) + if (pub[0] == 0x06 || pub[0] == 0x07) && elem.Y.IsOdd() != (pub[0] == 0x07) { + return false + } + } + */ + return true +} + +// Bytes Returns serialized key in in compressed format: "<02> ", +// eventually "<03> " +//33 bytes +func (xy XY) Bytes() []byte { + xy.X.Normalize() // See GitHub issue #15 + + raw := make([]byte, 33) + if xy.Y.IsOdd() { + raw[0] = 0x03 + } else { + raw[0] = 0x02 + } + xy.X.GetB32(raw[1:]) + return raw +} + +// BytesUncompressed returns serialized key in uncompressed format "<04> " +//65 bytes +func (xy *XY) BytesUncompressed() (raw []byte) { + xy.X.Normalize() // See GitHub issue #15 + xy.Y.Normalize() // See GitHub issue #15 + + raw = make([]byte, 65) + raw[0] = 0x04 + xy.X.GetB32(raw[1:33]) + xy.Y.GetB32(raw[33:65]) + return +} + +// SetXY sets x y fields +func (xy *XY) SetXY(X, Y *Field) { + xy.Infinity = false + xy.X = *X + xy.Y = *Y +} + +/* +int static secp256k1_ecdsa_pubkey_parse(secp256k1_ge_t *elem, const unsigned char *pub, int size) { + if (size == 33 && (pub[0] == 0x02 || pub[0] == 0x03)) { + secp256k1_fe_t x; + secp256k1_fe_set_b32(&x, pub+1); + return secp256k1_ge_set_xo(elem, &x, pub[0] == 0x03); + } else if (size == 65 && (pub[0] == 0x04 || pub[0] == 0x06 || pub[0] == 0x07)) { + secp256k1_fe_t x, y; + secp256k1_fe_set_b32(&x, pub+1); + secp256k1_fe_set_b32(&y, pub+33); + secp256k1_ge_set_xy(elem, &x, &y); + if ((pub[0] == 0x06 || pub[0] == 0x07) && secp256k1_fe_is_odd(&y) != (pub[0] == 0x07)) + return 0; + return secp256k1_ge_is_valid(elem); + } else { + return 0; + } +} +*/ + +// if (size == 33 && (pub[0] == 0x02 || pub[0] == 0x03)) { +// secp256k1_fe_t x; +// secp256k1_fe_set_b32(&x, pub+1); +// return secp256k1_ge_set_xo(elem, &x, pub[0] == 0x03); + +// IsValid checks if valid +func (xy *XY) IsValid() bool { + if xy.Infinity { + return false + } + var y2, x3, c Field + xy.Y.Sqr(&y2) + xy.X.Sqr(&x3) + x3.Mul(&x3, &xy.X) + c.SetInt(7) + x3.SetAdd(&c) + y2.Normalize() + x3.Normalize() + return y2.Equals(&x3) +} + +// SetXYZ sets X Y Z fields +func (xy *XY) SetXYZ(a *XYZ) { + var z2, z3 Field + a.Z.InvVar(&a.Z) + a.Z.Sqr(&z2) + a.Z.Mul(&z3, &z2) + a.X.Mul(&a.X, &z2) + a.Y.Mul(&a.Y, &z3) + a.Z.SetInt(1) + xy.Infinity = a.Infinity + xy.X = a.X + xy.Y = a.Y +} + +func (xy *XY) precomp(w int) (pre []XY) { + pre = make([]XY, (1 << (uint(w) - 2))) + pre[0] = *xy + var X, d, tmp XYZ + X.SetXY(xy) + X.Double(&d) + for i := 1; i < len(pre); i++ { + d.AddXY(&tmp, &pre[i-1]) + pre[i].SetXYZ(&tmp) + } + return +} + +// Neg caculates negate +func (xy *XY) Neg(r *XY) { + r.Infinity = xy.Infinity + r.X = xy.X + r.Y = xy.Y + r.Y.Normalize() + r.Y.Negate(&r.Y, 1) +} + +/* +int static secp256k1_ge_set_xo(secp256k1_ge_t *r, const secp256k1_fe_t *x, int odd) { + r->x = *x; + secp256k1_fe_t x2; secp256k1_fe_sqr(&x2, x); + secp256k1_fe_t x3; secp256k1_fe_mul(&x3, x, &x2); + r->infinity = 0; + secp256k1_fe_t c; secp256k1_fe_set_int(&c, 7); + secp256k1_fe_add(&c, &x3); + if (!secp256k1_fe_sqrt(&r->y, &c)) + return 0; + secp256k1_fe_normalize(&r->y); + if (secp256k1_fe_is_odd(&r->y) != odd) + secp256k1_fe_negate(&r->y, &r->y, 1); + return 1; +} +*/ + +// SetXO sets +func (xy *XY) SetXO(X *Field, odd bool) { + var c, x2, x3 Field + xy.X = *X + X.Sqr(&x2) + X.Mul(&x3, &x2) + xy.Infinity = false + c.SetInt(7) + c.SetAdd(&x3) + c.Sqrt(&xy.Y) //does not return, can fail + if xy.Y.IsOdd() != odd { + xy.Y.Negate(&xy.Y, 1) + } + + //r.X.Normalize() // See GitHub issue #15 + xy.Y.Normalize() +} + +// AddXY adds xy +func (xy *XY) AddXY(a *XY) { + var xyz XYZ + xyz.SetXY(xy) + xyz.AddXY(&xyz, a) + xy.SetXYZ(&xyz) +} + +/* +func (pk *XY) GetPublicKey() []byte { + var out []byte = make([]byte, 65, 65) + pk.X.GetB32(out[1:33]) + if len(out) == 65 { + out[0] = 0x04 + pk.Y.GetB32(out[33:65]) + } else { + if pk.Y.IsOdd() { + out[0] = 0x03 + } else { + out[0] = 0x02 + } + } + return out +} +*/ + +// GetPublicKey use compact format +//returns only 33 bytes +//same as bytes() +//TODO: deprecate, replace with .Bytes() +func (xy *XY) GetPublicKey() []byte { + return xy.Bytes() + /* + var out []byte = make([]byte, 33, 33) + pk.X.GetB32(out[1:33]) + if pk.Y.IsOdd() { + out[0] = 0x03 + } else { + out[0] = 0x02 + } + return out + */ +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xyz.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xyz.go new file mode 100755 index 0000000..7fffdd5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xyz.go @@ -0,0 +1,387 @@ +package secp256k1go + +import ( + "fmt" + // "encoding/hex" +) + +// XYZ contains xyz fields +type XYZ struct { + X, Y, Z Field + Infinity bool +} + +// Print prints xyz +func (xyz XYZ) Print(lab string) { + if xyz.Infinity { + fmt.Println(lab + " - INFINITY") + return + } + fmt.Println(lab+".X", xyz.X.String()) + fmt.Println(lab+".Y", xyz.Y.String()) + fmt.Println(lab+".Z", xyz.Z.String()) +} + +// SetXY sets xy +func (xyz *XYZ) SetXY(a *XY) { + xyz.Infinity = a.Infinity + xyz.X = a.X + xyz.Y = a.Y + xyz.Z.SetInt(1) +} + +// IsInfinity check if xyz is infinity +func (xyz *XYZ) IsInfinity() bool { + return xyz.Infinity +} + +// IsValid check if xyz is valid +func (xyz *XYZ) IsValid() bool { + if xyz.Infinity { + return false + } + var y2, x3, z2, z6 Field + xyz.Y.Sqr(&y2) + xyz.X.Sqr(&x3) + x3.Mul(&x3, &xyz.X) + xyz.Z.Sqr(&z2) + z2.Sqr(&z6) + z6.Mul(&z6, &z2) + z6.MulInt(7) + x3.SetAdd(&z6) + y2.Normalize() + x3.Normalize() + return y2.Equals(&x3) +} + +func (xyz *XYZ) getX(r *Field) { + var zi2 Field + xyz.Z.InvVar(&zi2) + zi2.Sqr(&zi2) + xyz.X.Mul(r, &zi2) +} + +// Normalize normalize all fields +func (xyz *XYZ) Normalize() { + xyz.X.Normalize() + xyz.Y.Normalize() + xyz.Z.Normalize() +} + +// Equals checks if equal +func (xyz *XYZ) Equals(b *XYZ) bool { + if xyz.Infinity != b.Infinity { + return false + } + // TODO: is the normalize really needed here? + xyz.Normalize() + b.Normalize() + return xyz.X.Equals(&b.X) && xyz.Y.Equals(&b.Y) && xyz.Z.Equals(&b.Z) +} + +func (xyz *XYZ) precomp(w int) (pre []XYZ) { // nolint: unparam + var d XYZ + pre = make([]XYZ, (1 << (uint(w) - 2))) + pre[0] = *xyz + pre[0].Double(&d) + for i := 1; i < len(pre); i++ { + d.Add(&pre[i], &pre[i-1]) + } + return +} + +func ecmultWnaf(wnaf []int, a *Number, w uint) (ret int) { + var zeroes uint + var X Number + X.Set(&a.Int) + + for X.Sign() != 0 { + for X.Bit(0) == 0 { + zeroes++ + X.rsh(1) + } + word := X.rshX(w) + for zeroes > 0 { + wnaf[ret] = 0 + ret++ + zeroes-- + } + if (word & (1 << (w - 1))) != 0 { + X.inc() + wnaf[ret] = (word - (1 << w)) + } else { + wnaf[ret] = word + } + zeroes = w - 1 + ret++ + } + return +} + +// ECmult r = na*a + ng*G +func (xyz *XYZ) ECmult(r *XYZ, na, ng *Number) { + var na1, naLam, ng1, ng128 Number + + // split na into na_1 and na_lam (where na = na_1 + na_lam*lambda, and na_1 and na_lam are ~128 bit) + na.splitExp(&na1, &naLam) + + // split ng into ng_1 and ng_128 (where gn = gn_1 + gn_128*2^128, and gn_1 and gn_128 are ~128 bit) + ng.split(&ng1, &ng128, 128) + + // build wnaf representation for na_1, na_lam, ng_1, ng_128 + var wnafNa1, wnafNaLam, wnafNg1, wnafNg128 [129]int + bitsNa1 := ecmultWnaf(wnafNa1[:], &na1, winA) + bitsNaLam := ecmultWnaf(wnafNaLam[:], &naLam, winA) + bitsNg1 := ecmultWnaf(wnafNg1[:], &ng1, winG) + bitsNg128 := ecmultWnaf(wnafNg128[:], &ng128, winG) + + // calculate a_lam = a*lambda + var aLam XYZ + xyz.mulLambda(&aLam) + + // calculate odd multiples of a and a_lam + preA1 := xyz.precomp(winA) + preALam := aLam.precomp(winA) + + bits := bitsNa1 + if bitsNaLam > bits { + bits = bitsNaLam + } + if bitsNg1 > bits { + bits = bitsNg1 + } + if bitsNg128 > bits { + bits = bitsNg128 + } + + r.Infinity = true + + var tmpj XYZ + var tmpa XY + var n int + + for i := bits - 1; i >= 0; i-- { + r.Double(r) + + if i < bitsNa1 { + n = wnafNa1[i] + if n > 0 { + r.Add(r, &preA1[((n)-1)/2]) + } else if n != 0 { + preA1[(-(n)-1)/2].Neg(&tmpj) + r.Add(r, &tmpj) + } + } + + if i < bitsNaLam { + n = wnafNaLam[i] + if n > 0 { + r.Add(r, &preALam[((n)-1)/2]) + } else if n != 0 { + preALam[(-(n)-1)/2].Neg(&tmpj) + r.Add(r, &tmpj) + } + } + + if i < bitsNg1 { + n = wnafNg1[i] + if n > 0 { + r.AddXY(r, &preG[((n)-1)/2]) + } else if n != 0 { + preG[(-(n)-1)/2].Neg(&tmpa) + r.AddXY(r, &tmpa) + } + } + + if i < bitsNg128 { + n = wnafNg128[i] + if n > 0 { + r.AddXY(r, &preG128[((n)-1)/2]) + } else if n != 0 { + preG128[(-(n)-1)/2].Neg(&tmpa) + r.AddXY(r, &tmpa) + } + } + } +} + +// Neg caculate neg +func (xyz *XYZ) Neg(r *XYZ) { + r.Infinity = xyz.Infinity + r.X = xyz.X + r.Y = xyz.Y + r.Z = xyz.Z + r.Y.Normalize() + r.Y.Negate(&r.Y, 1) +} + +func (xyz *XYZ) mulLambda(r *XYZ) { + *r = *xyz + r.X.Mul(&r.X, &TheCurve.beta) +} + +// Double cacule double +func (xyz *XYZ) Double(r *XYZ) { + var t1, t2, t3, t4, t5 Field + + t5 = xyz.Y + t5.Normalize() + if xyz.Infinity || t5.IsZero() { + r.Infinity = true + return + } + + t5.Mul(&r.Z, &xyz.Z) + r.Z.MulInt(2) + xyz.X.Sqr(&t1) + t1.MulInt(3) + t1.Sqr(&t2) + t5.Sqr(&t3) + t3.MulInt(2) + t3.Sqr(&t4) + t4.MulInt(2) + xyz.X.Mul(&t3, &t3) + r.X = t3 + r.X.MulInt(4) + r.X.Negate(&r.X, 4) + r.X.SetAdd(&t2) + t2.Negate(&t2, 1) + t3.MulInt(6) + t3.SetAdd(&t2) + t1.Mul(&r.Y, &t3) + t4.Negate(&t2, 2) + r.Y.SetAdd(&t2) + r.Infinity = false +} + +// AddXY adds XY +func (xyz *XYZ) AddXY(r *XYZ, b *XY) { + if xyz.Infinity { + r.Infinity = b.Infinity + r.X = b.X + r.Y = b.Y + r.Z.SetInt(1) + return + } + if b.Infinity { + *r = *xyz + return + } + r.Infinity = false + var z12, u1, u2, s1, s2 Field + xyz.Z.Sqr(&z12) + u1 = xyz.X + u1.Normalize() + b.X.Mul(&u2, &z12) + s1 = xyz.Y + s1.Normalize() + b.Y.Mul(&s2, &z12) + s2.Mul(&s2, &xyz.Z) + u1.Normalize() + u2.Normalize() + + if u1.Equals(&u2) { + s1.Normalize() + s2.Normalize() + if s1.Equals(&s2) { + xyz.Double(r) + } else { + r.Infinity = true + } + return + } + + var h, i, i2, h2, h3, t Field + u1.Negate(&h, 1) + h.SetAdd(&u2) + s1.Negate(&i, 1) + i.SetAdd(&s2) + i.Sqr(&i2) + h.Sqr(&h2) + h.Mul(&h3, &h2) + r.Z = xyz.Z + r.Z.Mul(&r.Z, &h) + u1.Mul(&t, &h2) + r.X = t + r.X.MulInt(2) + r.X.SetAdd(&h3) + r.X.Negate(&r.X, 3) + r.X.SetAdd(&i2) + r.X.Negate(&r.Y, 5) + r.Y.SetAdd(&t) + r.Y.Mul(&r.Y, &i) + h3.Mul(&h3, &s1) + h3.Negate(&h3, 1) + r.Y.SetAdd(&h3) +} + +// Add adds value +func (xyz *XYZ) Add(r, b *XYZ) { + if xyz.Infinity { + *r = *b + return + } + if b.Infinity { + *r = *xyz + return + } + r.Infinity = false + var z22, z12, u1, u2, s1, s2 Field + + b.Z.Sqr(&z22) + xyz.Z.Sqr(&z12) + xyz.X.Mul(&u1, &z22) + b.X.Mul(&u2, &z12) + xyz.Y.Mul(&s1, &z22) + s1.Mul(&s1, &b.Z) + b.Y.Mul(&s2, &z12) + s2.Mul(&s2, &xyz.Z) + u1.Normalize() + u2.Normalize() + if u1.Equals(&u2) { + s1.Normalize() + s2.Normalize() + if s1.Equals(&s2) { + xyz.Double(r) + } else { + r.Infinity = true + } + return + } + var h, i, i2, h2, h3, t Field + + u1.Negate(&h, 1) + h.SetAdd(&u2) + s1.Negate(&i, 1) + i.SetAdd(&s2) + i.Sqr(&i2) + h.Sqr(&h2) + h.Mul(&h3, &h2) + xyz.Z.Mul(&r.Z, &b.Z) + r.Z.Mul(&r.Z, &h) + u1.Mul(&t, &h2) + r.X = t + r.X.MulInt(2) + r.X.SetAdd(&h3) + r.X.Negate(&r.X, 3) + r.X.SetAdd(&i2) + r.X.Negate(&r.Y, 5) + r.Y.SetAdd(&t) + r.Y.Mul(&r.Y, &i) + h3.Mul(&h3, &s1) + h3.Negate(&h3, 1) + r.Y.SetAdd(&h3) +} + +// ECmultGen r = a*G +//TODO: Change to returning result +//TODO: input should not be pointer +func ECmultGen(r *XYZ, a *Number) { + var n Number + n.Set(&a.Int) + r.SetXY(&prec[0][n.rshX(4)]) + for j := 1; j < 64; j++ { + r.AddXY(r, &prec[j][n.rshX(4)]) + } + r.AddXY(r, &fin) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xyz_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xyz_test.go new file mode 100755 index 0000000..75c2906 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xyz_test.go @@ -0,0 +1,49 @@ +package secp256k1go + +import ( + "testing" +) + +func _TestGejDouble(t *testing.T) { //nolint: deadcode + var a, aExp, r XYZ + a.X.SetHex("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798") + a.Y.SetHex("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8") + a.Z.SetHex("01") + aExp.X.SetHex("7D152C041EA8E1DC2191843D1FA9DB55B68F88FEF695E2C791D40444B365AFC2") + aExp.Y.SetHex("56915849F52CC8F76F5FD7E4BF60DB4A43BF633E1B1383F85FE89164BFADCBDB") + aExp.Z.SetHex("9075B4EE4D4788CABB49F7F81C221151FA2F68914D0AA833388FA11FF621A970") + + a.Double(&r) + if !r.Equals(&aExp) { + t.Error("gej.Double failed") + } +} + +func TestGejMulLambda(t *testing.T) { + var a, aExp XYZ + a.X.SetHex("0eaebcd1df2df853d66ce0e1b0fda07f67d1cabefde98514aad795b86a6ea66d") + a.Y.SetHex("beb26b67d7a00e2447baeccc8a4cef7cd3cad67376ac1c5785aeebb4f6441c16") + a.Z.SetHex("01") + aExp.X.SetHex("a45720c272cfa1f77f64be8a404a7d3149bd5410f9a173353f6eb75a5085ba98") + aExp.Y.SetHex("beb26b67d7a00e2447baeccc8a4cef7cd3cad67376ac1c5785aeebb4f6441c16") + aExp.Z.SetHex("01") + aLam := a + aLam.mulLambda(&aLam) + if !aLam.Equals(&aExp) { + t.Error("mul_lambda failed") + } +} + +func TestGejGetX(t *testing.T) { + var a XYZ + var X, exp Field + a.X.SetHex("EB6752420B6BDB40A760AC26ADD7E7BBD080BF1DF6C0B009A0D310E4511BDF49") + a.Y.SetHex("8E8CEB84E1502FC536FFE67967BC44314270A0B38C79865FFED5A85D138DCA6B") + a.Z.SetHex("813925AF112AAB8243F8CCBADE4CC7F63DF387263028DE6E679232A73A7F3C31") + + exp.SetHex("fe00e013c244062847045ae7eb73b03fca583e9aa5dbd030a8fd1c6dfcf11b10") + a.getX(&X) + if !X.Equals(&exp) { + t.Error("get.get_x() fail") + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_consts.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_consts.go new file mode 100755 index 0000000..4b6c0f7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_consts.go @@ -0,0 +1,9356 @@ +package secp256k1go + +var fin = XY{X: Field{[10]uint32{0x035871aa, 0x002dc101, 0x0059ab0f, 0x02cb297e, 0x00684bb5, 0x02585764, 0x02f3cceb, 0x002bdca3, 0x03dcb7cc, 0x0013cd56}}, Y: Field{[10]uint32{0x044d069d, 0x0603c088, 0x07541d4e, 0x04a4074d, 0x045fcba8, 0x05f00c34, 0x04bab268, 0x05fd8d65, 0x04e47151, 0x0071e924}}} + +var preG = []XY{ + {X: Field{[10]uint32{0x02f81798, 0x00a056c5, 0x028d959f, 0x036cb738, 0x03029bfc, 0x03a1c2c1, 0x0206295c, 0x02eeb156, 0x027ef9dc, 0x001e6f99}}, Y: Field{[10]uint32{0x0310d4b8, 0x01f423fe, 0x014199c4, 0x01229a15, 0x00fd17b4, 0x0384422a, 0x024fbfc0, 0x03119576, 0x027726a3, 0x00120eb6}}}, + {X: Field{[10]uint32{0x00e036f9, 0x007c44ef, 0x019b0860, 0x01160dbe, 0x01b531c8, 0x0227548a, 0x0344f85f, 0x030c4124, 0x02019258, 0x003e4c22}}, Y: Field{[10]uint32{0x00b8e672, 0x027f5d61, 0x0231b6cb, 0x0264d308, 0x026500a9, 0x028dfcd5, 0x02337e62, 0x03a0503f, 0x030f632d, 0x000e23de}}}, + {X: Field{[10]uint32{0x0240efe4, 0x02355a6c, 0x01ab7cba, 0x02f77186, 0x00e88b84, 0x0297144a, 0x034a7250, 0x00824d56, 0x024d1a07, 0x000be2f7}}, Y: Field{[10]uint32{0x02ac62d6, 0x021f4ea9, 0x02840dca, 0x006eac35, 0x02f78827, 0x01b27109, 0x01ba9dda, 0x038f5b53, 0x022636e5, 0x00362b08}}}, + {X: Field{[10]uint32{0x02c4f9bc, 0x02f77b72, 0x0239ce92, 0x01f80cc3, 0x023d419b, 0x00ba9e83, 0x018f365f, 0x02d3aa8e, 0x00646e5d, 0x00172f7c}}, Y: Field{[10]uint32{0x007264da, 0x02098a02, 0x027b5a50, 0x02e04ff7, 0x03a813d0, 0x01869536, 0x0178d6d8, 0x0165828c, 0x0240ba25, 0x001abaf2}}}, + {X: Field{[10]uint32{0x0027ccbe, 0x03c4437f, 0x02714c35, 0x025d315f, 0x01e09796, 0x03d566af, 0x02d178a9, 0x03d94c26, 0x00e2f0c7, 0x002b3521}}, Y: Field{[10]uint32{0x024f9c37, 0x03098ab1, 0x00e0f05c, 0x0290dd7e, 0x01add888, 0x018ed87a, 0x03809717, 0x0367f590, 0x0121b0a7, 0x00330ce2}}}, + {X: Field{[10]uint32{0x01a008cb, 0x0305e257, 0x03891bbe, 0x002f9705, 0x00564998, 0x003196ab, 0x034246b7, 0x0104797b, 0x03f858a9, 0x001dd2b9}}, Y: Field{[10]uint32{0x0153c61b, 0x035d3272, 0x016a8301, 0x038b7fe7, 0x01372db1, 0x01edecd9, 0x003dd56d, 0x01786409, 0x0032eb6b, 0x00366128}}}, + {X: Field{[10]uint32{0x01405aa8, 0x0377e3c6, 0x018cddee, 0x03198439, 0x01b075fb, 0x00dd2194, 0x011d205c, 0x00a22f1f, 0x03c2d975, 0x003ca1dc}}, Y: Field{[10]uint32{0x0303ed81, 0x0172d4b6, 0x0291f29b, 0x0369487e, 0x033a1a06, 0x01736bd1, 0x00212eb6, 0x002a25d6, 0x002e8d88, 0x0002ac24}}}, + {X: Field{[10]uint32{0x027e080e, 0x036f3e38, 0x0379e44a, 0x01bcf217, 0x0131e594, 0x0257fd04, 0x0065ae30, 0x03aa5969, 0x014f7d43, 0x0035e493}}, Y: Field{[10]uint32{0x02a26b58, 0x013727fd, 0x013a5c50, 0x00af625b, 0x03ea40af, 0x02331b7b, 0x0042ec22, 0x01ca9a0e, 0x0072a86c, 0x0016078a}}}, + {X: Field{[10]uint32{0x022d4a34, 0x013ea812, 0x0368766e, 0x02b9e6e5, 0x01eb9898, 0x01fab3c8, 0x020fee80, 0x01dd4290, 0x024cdb67, 0x0037bf7a}}, Y: Field{[10]uint32{0x0256eb77, 0x00667da7, 0x000f6cfb, 0x02812a57, 0x02ced1f4, 0x00aa4f6b, 0x017b0ead, 0x0145a3a6, 0x03069463, 0x0010846a}}}, + {X: Field{[10]uint32{0x00385b6c, 0x0159584e, 0x02d27747, 0x03af5fa1, 0x01f06acf, 0x0113d25e, 0x02f5cff4, 0x010f4a4f, 0x00a797a4, 0x000ad3a8}}, Y: Field{[10]uint32{0x01c09b7a, 0x00321539, 0x01763b57, 0x0031409a, 0x031a01f6, 0x02872184, 0x003083b5, 0x01764ecd, 0x03c03794, 0x00217a26}}}, + {X: Field{[10]uint32{0x01be59d5, 0x0102bbc9, 0x01071813, 0x0009c7e0, 0x001d9ad4, 0x0338cccc, 0x013fa332, 0x0049593e, 0x034a4cdd, 0x000d4aef}}, Y: Field{[10]uint32{0x0381998c, 0x034f62f3, 0x0039c67b, 0x00b9c6c4, 0x034a1b3b, 0x03768f87, 0x01c18259, 0x03d4d356, 0x00075348, 0x000c87ad}}}, + {X: Field{[10]uint32{0x02cacc3f, 0x0336b753, 0x03f29dc9, 0x037fbfd7, 0x00e42ab8, 0x0261e449, 0x03001055, 0x03446c08, 0x004d6b38, 0x000be884}}, Y: Field{[10]uint32{0x032b7d67, 0x02e9dad4, 0x02648423, 0x03b3f220, 0x00181d70, 0x02f57760, 0x00569335, 0x036196d9, 0x0068295d, 0x0000b784}}}, + {X: Field{[10]uint32{0x01453714, 0x028335fd, 0x032e269c, 0x02138255, 0x03263c3d, 0x01bb76a0, 0x021a9b06, 0x035a36ac, 0x039b09b4, 0x00249209}}, Y: Field{[10]uint32{0x03cb3402, 0x028cb3a5, 0x012ffe54, 0x00aa21e4, 0x033fc0de, 0x03a8ac7f, 0x01aa71bd, 0x02ab7974, 0x037bf234, 0x001cc05b}}}, + {X: Field{[10]uint32{0x01ee8729, 0x025b510f, 0x015c07e9, 0x00512fd8, 0x022f570e, 0x002fadd4, 0x030132fb, 0x02fc9e39, 0x032be3a8, 0x0036bb53}}, Y: Field{[10]uint32{0x00be1c55, 0x003948a4, 0x02726ab4, 0x00c3cebe, 0x003f83c2, 0x03be35c0, 0x021aca87, 0x0263a352, 0x024a7d6c, 0x0029a773}}}, + {X: Field{[10]uint32{0x0122e7db, 0x00ed7a1f, 0x001b0e6a, 0x03a7f7ca, 0x0011ecd9, 0x02ec67e4, 0x00f28d7c, 0x0204ba2b, 0x02c7065d, 0x00311344}}, Y: Field{[10]uint32{0x020e6482, 0x02418fc3, 0x021c5a03, 0x02187b7d, 0x000e106e, 0x0260bf6b, 0x0045926c, 0x01b371db, 0x0060ce32, 0x00084669}}}, + {X: Field{[10]uint32{0x0269e6b4, 0x031972f4, 0x00063b61, 0x014cdb0a, 0x03152b69, 0x03b58214, 0x01a20cfd, 0x02141322, 0x03f6dc69, 0x001a8916}}, Y: Field{[10]uint32{0x000d8a82, 0x0398d204, 0x03b6efd5, 0x01234108, 0x018b33ba, 0x005a892b, 0x03f5126f, 0x0129c22c, 0x0342c2bd, 0x003808b3}}}, + {X: Field{[10]uint32{0x010bd6a5, 0x02b95fc3, 0x01146f95, 0x002c2fb0, 0x00ce1330, 0x03950421, 0x037e3d2f, 0x03989f01, 0x03a6fd9d, 0x0005a5ff}}, Y: Field{[10]uint32{0x001b2396, 0x03a758f4, 0x00ae7ade, 0x00027926, 0x03a2cf15, 0x01155d0c, 0x0161506e, 0x01bd749d, 0x00f18680, 0x002e70e6}}}, + {X: Field{[10]uint32{0x027a7479, 0x008d17bc, 0x0361df98, 0x0183fedf, 0x019deb83, 0x020d32c3, 0x02d0f07e, 0x01c62e61, 0x03019981, 0x001816f6}}, Y: Field{[10]uint32{0x016b8c49, 0x00787a41, 0x00db43b0, 0x03a13ec5, 0x03c26bfa, 0x0325bf88, 0x0278d93e, 0x03481a06, 0x012de4f8, 0x0000a5cb}}}, + {X: Field{[10]uint32{0x007ff33d, 0x0071fa76, 0x0310cfe3, 0x00d52566, 0x00dcb01c, 0x02885784, 0x002fdc45, 0x02fd25d0, 0x01ab4150, 0x0018b453}}, Y: Field{[10]uint32{0x03b25eaf, 0x01590920, 0x0072235f, 0x00a59ead, 0x0301aa13, 0x003bb436, 0x0088a195, 0x02c04260, 0x02bd8cc5, 0x00203f01}}}, + {X: Field{[10]uint32{0x02308b6f, 0x01570be1, 0x00b425e5, 0x03d5ae6e, 0x032c50e9, 0x0102395a, 0x01b4b06c, 0x009f6b79, 0x02d0040f, 0x00203182}}, Y: Field{[10]uint32{0x030bd57a, 0x0007d590, 0x024eb1aa, 0x0132f9c0, 0x00a65eed, 0x03f9cbdc, 0x0266bad7, 0x030c3c9b, 0x003f1cc5, 0x00070e0c}}}, + {X: Field{[10]uint32{0x0203c8fb, 0x03aaec3e, 0x007049d5, 0x02521f61, 0x004cc5dc, 0x0331534d, 0x034c6348, 0x02b552a9, 0x01ad6167, 0x001ea4dd}}, Y: Field{[10]uint32{0x024dc7f7, 0x01267b08, 0x00e2b02d, 0x028431c3, 0x02bdc59e, 0x0249a411, 0x0159e0d7, 0x01c9a425, 0x03a9eca8, 0x0003438f}}}, + {X: Field{[10]uint32{0x03c3ffc9, 0x0147d166, 0x01f504bb, 0x030e6da3, 0x01bb408e, 0x01511e9e, 0x03a9ed04, 0x02d53241, 0x00d9b696, 0x00354a3b}}, Y: Field{[10]uint32{0x01409933, 0x01196d48, 0x00dbc063, 0x01017148, 0x02bc4345, 0x007f595b, 0x026f2188, 0x0397e665, 0x01253136, 0x003bb3d0}}}, + {X: Field{[10]uint32{0x00b45963, 0x00c6023e, 0x00b13872, 0x017929fb, 0x00526611, 0x023b36b4, 0x025f514e, 0x00d04ba8, 0x00a4b5f4, 0x000124dc}}, Y: Field{[10]uint32{0x02949c9a, 0x00c14a84, 0x02764b65, 0x02beed6d, 0x0254c3f3, 0x004bf58a, 0x03081b05, 0x03b50a2c, 0x0341afd6, 0x001d63cf}}}, + {X: Field{[10]uint32{0x00345d74, 0x004fac7f, 0x018e2f1c, 0x00783852, 0x03881d81, 0x0191c0bb, 0x03df930d, 0x0232ef5c, 0x00936ee8, 0x001dfc8c}}, Y: Field{[10]uint32{0x031c60d6, 0x03acf1d9, 0x037cbbe8, 0x00c365c1, 0x0096c953, 0x02e86cde, 0x008266e9, 0x02d90028, 0x002a7886, 0x002563bd}}}, + {X: Field{[10]uint32{0x0339f530, 0x0214c6dd, 0x00dbaeb2, 0x01d2ae75, 0x0258c800, 0x031f02f3, 0x004887e5, 0x0392e7a9, 0x0191cc4c, 0x003cb6b2}}, Y: Field{[10]uint32{0x003a3c37, 0x005f6e9c, 0x024fd1a1, 0x03ac1663, 0x039eb5fb, 0x03094c77, 0x021f32de, 0x0236b536, 0x009b3b2f, 0x003837b7}}}, + {X: Field{[10]uint32{0x0290d45b, 0x02921431, 0x023debcb, 0x037f276b, 0x025a216c, 0x03894804, 0x00be8fbb, 0x0087ec6d, 0x019f6626, 0x00118ecf}}, Y: Field{[10]uint32{0x02f7307e, 0x00ddec06, 0x01de31cb, 0x01f25c28, 0x03c622e2, 0x036188b5, 0x0114306d, 0x01b0d50c, 0x00d78c29, 0x0017b50c}}}, + {X: Field{[10]uint32{0x0198f247, 0x0125ad26, 0x022d1a32, 0x03050ca2, 0x036b98fa, 0x03ced665, 0x0232d4af, 0x01b8a824, 0x004244e4, 0x003c5be0}}, Y: Field{[10]uint32{0x00e31df6, 0x01e658b1, 0x00e26d65, 0x0309b973, 0x012a6c53, 0x03d38cf6, 0x01206fcd, 0x00fdf84f, 0x019b8220, 0x0033b6af}}}, + {X: Field{[10]uint32{0x011d41d1, 0x03857dc5, 0x03c65369, 0x0056b389, 0x015d2453, 0x010c46bd, 0x0352b7a1, 0x01158ec0, 0x00272dc8, 0x0032bdd5}}, Y: Field{[10]uint32{0x00a04476, 0x03e420c6, 0x032a5c32, 0x02de5888, 0x035f4fa9, 0x01791815, 0x01b643fa, 0x03d7ca90, 0x0260ef35, 0x0032d1d1}}}, + {X: Field{[10]uint32{0x03082120, 0x025ef21b, 0x017c1244, 0x001f2e1b, 0x0344a09c, 0x0265e762, 0x01d0f170, 0x02e61be1, 0x024b282c, 0x00098032}}, Y: Field{[10]uint32{0x027e4b40, 0x02fa51d6, 0x00ef44b0, 0x01d2ad7c, 0x015ac6be, 0x0376ed17, 0x013b03fc, 0x016f5a9a, 0x008753c1, 0x0010466e}}}, + {X: Field{[10]uint32{0x0198e435, 0x00a9dd1a, 0x03dc8c60, 0x0217893d, 0x0001c486, 0x0048882f, 0x00ec53cd, 0x010cb0ce, 0x0272d7e8, 0x001d8d72}}, Y: Field{[10]uint32{0x005b9c61, 0x01dbcc0b, 0x008bad9e, 0x018755c1, 0x034ecfc0, 0x03de39b5, 0x01d5e590, 0x027584f4, 0x00960948, 0x000246d9}}}, + {X: Field{[10]uint32{0x0356cc18, 0x0141d0ef, 0x028fbc1a, 0x00d1e751, 0x02b7f2b3, 0x03bba299, 0x03f4a87d, 0x015c336e, 0x0239f325, 0x001d538c}}, Y: Field{[10]uint32{0x00536683, 0x0366024f, 0x0295d0c5, 0x034065e9, 0x0023ee33, 0x013a9268, 0x00d0ed30, 0x028c3ecf, 0x0386e5bd, 0x00019cfe}}}, + {X: Field{[10]uint32{0x01d9b9e8, 0x009a51a4, 0x0152f9fe, 0x01987472, 0x00330800, 0x00b55c3c, 0x017859c8, 0x03a5abfd, 0x011071a1, 0x0038f9af}}, Y: Field{[10]uint32{0x020e37f5, 0x000abd24, 0x00c41670, 0x00e64fa4, 0x02a5a228, 0x01e68f2d, 0x000aa583, 0x039dbd03, 0x00bba394, 0x00167278}}}, + {X: Field{[10]uint32{0x004aa6eb, 0x011ff73c, 0x01f4b4cc, 0x03ccae8d, 0x01c4ccb1, 0x03dcca61, 0x02e73d88, 0x000ce09a, 0x003d056a, 0x00061ad2}}, Y: Field{[10]uint32{0x0280888b, 0x01e5fe1b, 0x038b4a4a, 0x02422544, 0x0321fb80, 0x0010602a, 0x017446e2, 0x03ddf8b8, 0x0132c67c, 0x000ee54b}}}, + {X: Field{[10]uint32{0x00e0963f, 0x00c85c93, 0x019c91a8, 0x034adcdf, 0x025442e6, 0x012f93dc, 0x0098561f, 0x01b39513, 0x00a6b987, 0x0037e75c}}, Y: Field{[10]uint32{0x02ba2417, 0x0231173c, 0x01da217b, 0x009c83be, 0x02b15722, 0x0370e752, 0x0062b785, 0x01b3357e, 0x01afd84d, 0x00157acb}}}, + {X: Field{[10]uint32{0x00ce7143, 0x019317cd, 0x018995de, 0x013e127b, 0x00ab5255, 0x0177383e, 0x03ca815d, 0x03a1e925, 0x00c23c51, 0x0017b757}}, Y: Field{[10]uint32{0x0399a868, 0x01c1aadc, 0x02905cdc, 0x030345e8, 0x00c13c66, 0x003226b4, 0x028cec03, 0x004c1987, 0x008dbc14, 0x003beba7}}}, + {X: Field{[10]uint32{0x00614fba, 0x034d8be1, 0x0317a722, 0x02870d56, 0x037aa3fb, 0x021fa79d, 0x012fe022, 0x01a0c368, 0x00c2b647, 0x000a41e6}}, Y: Field{[10]uint32{0x01943e7a, 0x000ebf50, 0x023146d0, 0x02536ca8, 0x015b29c0, 0x01e6bc97, 0x00d00bcf, 0x00188662, 0x036dcd44, 0x0038e369}}}, + {X: Field{[10]uint32{0x00053b45, 0x03f7b3bd, 0x0257362d, 0x00bf8d80, 0x01cd2955, 0x00542b0e, 0x00754efa, 0x03d6cc15, 0x023a95d9, 0x002bcf10}}, Y: Field{[10]uint32{0x018fd9c6, 0x03fb7b52, 0x01581bc2, 0x02999e85, 0x00c8cd5a, 0x00d73ed0, 0x013b0e6f, 0x00add26a, 0x03d831eb, 0x003e628f}}}, + {X: Field{[10]uint32{0x0084249a, 0x03fb5436, 0x018df8d2, 0x02c9b73e, 0x0106bb66, 0x026fc9d2, 0x00aa28c9, 0x039d1733, 0x0324d134, 0x001d9b6e}}, Y: Field{[10]uint32{0x03ac5996, 0x0093e5f2, 0x00edd2c9, 0x0197e81b, 0x0097584a, 0x00368e2e, 0x00c88798, 0x03978e37, 0x0152eacb, 0x001d12c4}}}, + {X: Field{[10]uint32{0x011abe3e, 0x00b99986, 0x02a58ce9, 0x013db165, 0x0245f7b4, 0x01e13d05, 0x01277c33, 0x01d66e88, 0x006f8c94, 0x001676fd}}, Y: Field{[10]uint32{0x02307f6e, 0x03885b12, 0x0398cd85, 0x0269e465, 0x0042ce73, 0x0120c268, 0x00ea6ce6, 0x02f0c03d, 0x0144175f, 0x00314d2b}}}, + {X: Field{[10]uint32{0x00fd87b8, 0x03718063, 0x0273cb62, 0x01c46a57, 0x00dd647e, 0x013a692a, 0x01e691e7, 0x0114dcc1, 0x0295103c, 0x003c4eb6}}, Y: Field{[10]uint32{0x02f5733d, 0x021066f6, 0x00257077, 0x0069a9d7, 0x026949e2, 0x020d07cc, 0x03f4bc80, 0x0137998e, 0x03b44ee1, 0x00384e05}}}, + {X: Field{[10]uint32{0x0288522c, 0x01540056, 0x01fb6488, 0x0301baeb, 0x00da1869, 0x01673293, 0x00167a2c, 0x033b41b5, 0x00fa0e8a, 0x001dd52d}}, Y: Field{[10]uint32{0x001163a2, 0x0122d5e1, 0x03cc537a, 0x00d42db2, 0x028d1e4e, 0x00082e3e, 0x00b967c3, 0x02760889, 0x02864e66, 0x000c3a4f}}}, + {X: Field{[10]uint32{0x02262519, 0x00a32678, 0x001d2a68, 0x02577a01, 0x0301858f, 0x02afbe75, 0x03874d46, 0x038122a8, 0x02df5990, 0x00252372}}, Y: Field{[10]uint32{0x0347d57e, 0x028b2b94, 0x031d2cbb, 0x03bef4bb, 0x01df9154, 0x012c6f09, 0x0128a322, 0x03965f57, 0x002537f6, 0x00392469}}}, + {X: Field{[10]uint32{0x017c77ab, 0x00a2a28f, 0x03a15703, 0x03d6b02f, 0x03fb224c, 0x0080bb0d, 0x007b48f8, 0x01b05a27, 0x014450c7, 0x001e5890}}, Y: Field{[10]uint32{0x01b83437, 0x03e96ca7, 0x02c5760a, 0x00147c12, 0x0312507a, 0x00fbdbda, 0x01c1fc13, 0x02d1d835, 0x010ec4ff, 0x000402d8}}}, + {X: Field{[10]uint32{0x03ec47ca, 0x0342144d, 0x0047bb0d, 0x01c896e2, 0x005a1697, 0x01364552, 0x01b16064, 0x012d52c5, 0x00783496, 0x000d4502}}, Y: Field{[10]uint32{0x02293311, 0x03456837, 0x0378b7e7, 0x01f05708, 0x006039e7, 0x03a049ff, 0x01652c48, 0x00151238, 0x03b20562, 0x003bc2be}}}, + {X: Field{[10]uint32{0x03527eaf, 0x010f4fde, 0x007b4429, 0x03ae37de, 0x0193e947, 0x0362f152, 0x01ce2c9d, 0x00f92f1e, 0x00ad6b48, 0x0034f30c}}, Y: Field{[10]uint32{0x02ede0a4, 0x00d36c13, 0x00630afb, 0x018a40d6, 0x023c2ad4, 0x03e5422b, 0x005e9be8, 0x009e3627, 0x0222d827, 0x0022cde2}}}, + {X: Field{[10]uint32{0x00847610, 0x016e83fd, 0x03649397, 0x00f6e44f, 0x032b2982, 0x03fbf822, 0x01c78fcb, 0x00a18338, 0x00478073, 0x00058936}}, Y: Field{[10]uint32{0x00078575, 0x01b8a901, 0x024c8cc0, 0x03d4a0af, 0x02896878, 0x03367532, 0x014448c6, 0x0240f824, 0x00f9b6da, 0x001a1947}}}, + {X: Field{[10]uint32{0x03c61cd4, 0x01ed3f57, 0x007da6df, 0x012d6bc8, 0x00519247, 0x00f98aa6, 0x002c9563, 0x02a289a4, 0x000da955, 0x001ccf3a}}, Y: Field{[10]uint32{0x01c5ea1d, 0x019cef07, 0x00578c54, 0x03808079, 0x023e1ef8, 0x036e7f33, 0x01a4d8b8, 0x037df521, 0x022bd2ba, 0x003d50d6}}}, + {X: Field{[10]uint32{0x001c045c, 0x01637eae, 0x02699ef2, 0x002485c7, 0x038966c5, 0x02f4ed27, 0x01a1c33b, 0x0141933c, 0x00125494, 0x00057651}}, Y: Field{[10]uint32{0x03e4070d, 0x01eefa7b, 0x00685fc3, 0x02eb3aff, 0x03434800, 0x00ee105d, 0x035137b7, 0x00f9c8d3, 0x030b6946, 0x00355bac}}}, + {X: Field{[10]uint32{0x00717940, 0x00e16674, 0x00aaaac1, 0x01f274ae, 0x031c2141, 0x0339c349, 0x012136e5, 0x0399d6d8, 0x00f2ec9d, 0x0028743f}}, Y: Field{[10]uint32{0x0197a629, 0x004b4e70, 0x033d5192, 0x029501c3, 0x02641462, 0x002599fc, 0x02907373, 0x028f2acb, 0x0350bcb5, 0x003b75df}}}, + {X: Field{[10]uint32{0x00b36980, 0x028dccc7, 0x01c06c7c, 0x037ba091, 0x01a790ba, 0x03e136fa, 0x000c0735, 0x0233315e, 0x0215c0af, 0x00388bef}}, Y: Field{[10]uint32{0x0131da06, 0x0341b5df, 0x0399be43, 0x00552591, 0x03a38289, 0x03d4e869, 0x03430a69, 0x03583222, 0x03abad5c, 0x0002a156}}}, + {X: Field{[10]uint32{0x02cfa9b3, 0x02514891, 0x02aa7400, 0x00e51c13, 0x0369635e, 0x004557d7, 0x0213473c, 0x03a3883b, 0x01dd9860, 0x000c4424}}, Y: Field{[10]uint32{0x006d8374, 0x003c2c4a, 0x02685bd8, 0x02993fbb, 0x00871ec5, 0x02301a0c, 0x011f0478, 0x03c13fff, 0x016f87d1, 0x0019b6d9}}}, + {X: Field{[10]uint32{0x02c2dbdf, 0x01f508cb, 0x00078186, 0x02d16a4d, 0x00883928, 0x00f9ab09, 0x01c0442d, 0x02fa26cc, 0x0104d301, 0x000d307f}}, Y: Field{[10]uint32{0x0273abee, 0x008615ee, 0x0043dc53, 0x03bad21d, 0x02d57f1c, 0x0005d04d, 0x03d46f73, 0x006d6552, 0x0285e97b, 0x00025051}}}, + {X: Field{[10]uint32{0x009b8d63, 0x02979ac1, 0x00affcc2, 0x02aef342, 0x028d13f3, 0x015fad0a, 0x014de5b5, 0x01c07070, 0x025d6b54, 0x003c867a}}, Y: Field{[10]uint32{0x000766d1, 0x00a58a90, 0x03fb8d8c, 0x00f01ec9, 0x01f4b08d, 0x03333dac, 0x03af4544, 0x0102c3dc, 0x0157e83d, 0x00132e56}}}, + {X: Field{[10]uint32{0x01a0b448, 0x01a4491a, 0x02708723, 0x0242f298, 0x02543a54, 0x03d17789, 0x03683db8, 0x03eeaac7, 0x000f74a8, 0x0035ee1d}}, Y: Field{[10]uint32{0x02a4593b, 0x0380c57a, 0x009b3411, 0x017b4f01, 0x02ff15db, 0x02b51c5f, 0x0010f337, 0x0324bb84, 0x028128d9, 0x003e9de5}}}, + {X: Field{[10]uint32{0x02a824bf, 0x0134c246, 0x014289fe, 0x00caaf76, 0x02ad5bcd, 0x00e8ccd7, 0x02f7c98d, 0x01bc3be1, 0x00222f8f, 0x000cb4c7}}, Y: Field{[10]uint32{0x022e1661, 0x03452e11, 0x02961118, 0x0279bc9b, 0x022e6dac, 0x016e7876, 0x00d3d791, 0x015b8e73, 0x02f58921, 0x0017cc0c}}}, + {X: Field{[10]uint32{0x018347b5, 0x03e1b2f0, 0x012c4340, 0x01f35656, 0x028793d7, 0x03660c7a, 0x0045a155, 0x02cc99c4, 0x0371914a, 0x001d187c}}, Y: Field{[10]uint32{0x00092ff6, 0x0211ecf3, 0x02ea6b39, 0x03d43261, 0x002eee1f, 0x02a91095, 0x01ddcae0, 0x02fb032f, 0x02238b96, 0x0023b02e}}}, + {X: Field{[10]uint32{0x03b2b2d6, 0x01a62eb5, 0x0053d287, 0x00b0f99d, 0x026d716b, 0x028e081a, 0x0356a25a, 0x021801d0, 0x02db1df1, 0x003b81e6}}, Y: Field{[10]uint32{0x001c8c1e, 0x02b11e7b, 0x00e25eba, 0x026bc131, 0x02a44698, 0x03317e7d, 0x01f37e0e, 0x02f97131, 0x012aafe3, 0x00237090}}}, + {X: Field{[10]uint32{0x029da6b5, 0x036185ae, 0x01dc72bf, 0x00c61d32, 0x03e65de3, 0x03b9883d, 0x03b18302, 0x020fc119, 0x03e447ec, 0x0005bb24}}, Y: Field{[10]uint32{0x01b0674d, 0x019de389, 0x01713962, 0x01a94392, 0x039d5818, 0x02960128, 0x028c2a7c, 0x03ed0343, 0x01150e62, 0x0017918c}}}, + {X: Field{[10]uint32{0x0137bd99, 0x02581975, 0x02aa485b, 0x025fe62d, 0x03d88558, 0x03e9c2da, 0x0178290a, 0x03dbc0e2, 0x0180c245, 0x003aa97e}}, Y: Field{[10]uint32{0x02dc07dc, 0x00104093, 0x0267fb18, 0x0275f9ba, 0x00d78486, 0x03265189, 0x02528391, 0x00b82066, 0x013e292c, 0x003d97d7}}}, + {X: Field{[10]uint32{0x01a49f51, 0x0312dacd, 0x0342ea96, 0x021dc544, 0x0158ae04, 0x028090e6, 0x02ee1910, 0x0304c9a4, 0x0007544a, 0x0001e325}}, Y: Field{[10]uint32{0x00a3ddb4, 0x019d7c65, 0x00d2462b, 0x0160f019, 0x00fa1fbd, 0x00e6979a, 0x00047955, 0x026e1755, 0x019169eb, 0x003cf80c}}}, + {X: Field{[10]uint32{0x002857a5, 0x015e365c, 0x00688726, 0x02b9e9bf, 0x0001cdc8, 0x00c6ba80, 0x01cd8384, 0x029dc05b, 0x03e219a1, 0x001253d2}}, Y: Field{[10]uint32{0x000d562c, 0x012c0c62, 0x02d6e55f, 0x00c35d9f, 0x02f925ce, 0x038dae8a, 0x03a7f075, 0x0297cce6, 0x02969283, 0x0010890a}}}, + {X: Field{[10]uint32{0x001fe9b5, 0x03079997, 0x0270ebf4, 0x03a963ea, 0x01d28211, 0x0113a952, 0x007f2f51, 0x0361b1af, 0x00030da6, 0x0029662a}}, Y: Field{[10]uint32{0x01864e6b, 0x009b6f4b, 0x0386a100, 0x02d96cd7, 0x0023fc63, 0x001cdebb, 0x00b4a714, 0x00b0c1f9, 0x016f8482, 0x000812d7}}}, + {X: Field{[10]uint32{0x00595997, 0x02b70f96, 0x00a184db, 0x003c495c, 0x00208f02, 0x036fabfb, 0x0192f5f2, 0x00ad7424, 0x02365abb, 0x00310645}}, Y: Field{[10]uint32{0x00fa9913, 0x01ba5ad6, 0x03fc0ed1, 0x01143cd2, 0x01d5caf9, 0x02261262, 0x01245b32, 0x01fbe927, 0x0351d008, 0x00013c50}}}, + {X: Field{[10]uint32{0x00742881, 0x01ce9545, 0x02acfe4c, 0x034b828d, 0x0392a2e0, 0x0280ef16, 0x0324604d, 0x03e91d69, 0x0063a586, 0x00210758}}, Y: Field{[10]uint32{0x028d6154, 0x00db7806, 0x0169ce7a, 0x0359d130, 0x00e62562, 0x01d50da6, 0x004f9a1c, 0x0167a064, 0x03f59c06, 0x0001ce19}}}, + {X: Field{[10]uint32{0x030e20d5, 0x004ab135, 0x03e4ded1, 0x020424a2, 0x03282b33, 0x0226f78b, 0x0026947f, 0x01c74dd8, 0x03399a69, 0x0017a56e}}, Y: Field{[10]uint32{0x02012865, 0x00e131d1, 0x0238b161, 0x03b5f62e, 0x01a99c9a, 0x004c4ddd, 0x03fc7118, 0x00216fba, 0x03366809, 0x000e7c8f}}}, + {X: Field{[10]uint32{0x00ef2f66, 0x011c6f28, 0x01d8bf99, 0x0192d4c5, 0x025ec075, 0x027f65d3, 0x0039f8a9, 0x023f51db, 0x001a5394, 0x000db919}}, Y: Field{[10]uint32{0x014c78fc, 0x01473d5a, 0x023e06fd, 0x0124ff55, 0x0056ea13, 0x01726aa5, 0x00227b08, 0x013ae059, 0x031b1abe, 0x00349092}}}, + {X: Field{[10]uint32{0x0179f726, 0x02c9f0b1, 0x0114faea, 0x01085c3a, 0x00f56438, 0x0141e907, 0x00191a2f, 0x02eeca43, 0x001ea7bf, 0x0000cd96}}, Y: Field{[10]uint32{0x02fda224, 0x03372af4, 0x01e0ef3d, 0x00504334, 0x0391f7ab, 0x01b95acc, 0x0252129b, 0x0386fa64, 0x0168595f, 0x003ab448}}}, + {X: Field{[10]uint32{0x03d43ede, 0x01d09c1a, 0x010c4849, 0x0097b5a2, 0x00037810, 0x03c03b21, 0x032634fc, 0x035ada87, 0x0016dadf, 0x0022ae26}}, Y: Field{[10]uint32{0x01cdd24e, 0x011ea44a, 0x0045858a, 0x0270fa26, 0x03503d45, 0x018904db, 0x02654aef, 0x03428113, 0x0309f2f6, 0x001bf73b}}}, + {X: Field{[10]uint32{0x00c5fb94, 0x0100a12e, 0x032544bb, 0x023a2b3f, 0x0220b093, 0x00a67f2a, 0x033344d9, 0x0315de04, 0x01a746c9, 0x00078cfc}}, Y: Field{[10]uint32{0x03f3b3b6, 0x029f4815, 0x03010e33, 0x0083c740, 0x032306d3, 0x03493b7f, 0x008ed618, 0x006ceaa7, 0x00257dd1, 0x00018198}}}, + {X: Field{[10]uint32{0x00f08f31, 0x000d87f6, 0x00fcfa41, 0x0330632f, 0x020ed1f4, 0x01e77482, 0x03f30ded, 0x0306dfb9, 0x01dcb3ce, 0x00216df0}}, Y: Field{[10]uint32{0x02999511, 0x03b4f0d7, 0x02633c6f, 0x0062575e, 0x00fcafad, 0x02a211fd, 0x01048f25, 0x03750fce, 0x01cdd026, 0x000f662a}}}, + {X: Field{[10]uint32{0x01ac5f51, 0x00a00198, 0x03af872a, 0x00ee1e29, 0x017fbe9a, 0x0175b517, 0x035f4b12, 0x01194249, 0x03bd8d9e, 0x000a77e7}}, Y: Field{[10]uint32{0x0227d84b, 0x021dbaca, 0x01e55cd2, 0x02187006, 0x03da61dc, 0x01e44e7f, 0x02d88621, 0x016981b8, 0x03e99c77, 0x0002d313}}}, + {X: Field{[10]uint32{0x01fce252, 0x00acb912, 0x0105c808, 0x028bdda0, 0x03dfe58c, 0x02abe2b7, 0x02a6e671, 0x0211e8ff, 0x02e06b0a, 0x00282c72}}, Y: Field{[10]uint32{0x02296cf2, 0x0012540e, 0x030e650f, 0x0060d2bf, 0x026b72da, 0x01e9a8a3, 0x00b19d91, 0x002563b1, 0x0102edde, 0x002b90d0}}}, + {X: Field{[10]uint32{0x00e121e5, 0x00fcb930, 0x03e4ba11, 0x02cec84c, 0x01b499df, 0x03a100a5, 0x01c7ff67, 0x03a684db, 0x02afb9b3, 0x00013a33}}, Y: Field{[10]uint32{0x0326683c, 0x01f398a8, 0x00502b82, 0x01a98d18, 0x01422c08, 0x0133971e, 0x008f6d53, 0x01b5e92d, 0x00118c8b, 0x0033c85d}}}, + {X: Field{[10]uint32{0x0389a33b, 0x01c970ad, 0x00919f42, 0x01a26804, 0x000a5076, 0x028bda42, 0x03b81c7c, 0x026dbd6b, 0x00e047e1, 0x00349291}}, Y: Field{[10]uint32{0x03ea8fa3, 0x03b105eb, 0x0244d2cd, 0x01a21ee0, 0x01013f99, 0x0303c71a, 0x03db50f1, 0x01be3f18, 0x01591b46, 0x001bee35}}}, + {X: Field{[10]uint32{0x023b35d4, 0x013a63a3, 0x0377b510, 0x00a2aeea, 0x00001edd, 0x032e6561, 0x01fdfcfa, 0x02737492, 0x006a7a6c, 0x003a8058}}, Y: Field{[10]uint32{0x023ea98d, 0x01948622, 0x03700cfd, 0x012f0a08, 0x01b7d449, 0x01e9ecf3, 0x03fe369f, 0x004ac33e, 0x00908c73, 0x000c8abd}}}, + {X: Field{[10]uint32{0x00e2131f, 0x0065b7a3, 0x031be4ad, 0x036317a8, 0x01252007, 0x03ae5994, 0x02328655, 0x007229b1, 0x01bf2b66, 0x002be2b7}}, Y: Field{[10]uint32{0x01749700, 0x03ef36dc, 0x02ac8f3d, 0x021a0389, 0x03252081, 0x0025a0da, 0x0034eafd, 0x0217d4a8, 0x027c029b, 0x0019d279}}}, + {X: Field{[10]uint32{0x00f45889, 0x03c38d14, 0x0215e722, 0x036af3f2, 0x01a674a3, 0x0383ec59, 0x00516d47, 0x01b281b3, 0x02197456, 0x000038eb}}, Y: Field{[10]uint32{0x030bd6a4, 0x0029cbba, 0x01f53342, 0x0121d3e0, 0x000de97e, 0x03d341cc, 0x0217f07b, 0x01440458, 0x027e4531, 0x000abaaf}}}, + {X: Field{[10]uint32{0x0397e246, 0x03aa33b4, 0x00802075, 0x03cfb496, 0x0301993f, 0x03b478f8, 0x036993ff, 0x0265c873, 0x0355313d, 0x001647b8}}, Y: Field{[10]uint32{0x03e5d196, 0x0263c692, 0x022bdeee, 0x014f4972, 0x001ff0b0, 0x011831e4, 0x00fc4775, 0x00c2fa98, 0x018a113c, 0x002c3a95}}}, + {X: Field{[10]uint32{0x01b52984, 0x033c0c95, 0x00945077, 0x0391ec21, 0x01fa8584, 0x02363698, 0x01aa9731, 0x013127c6, 0x0155fda5, 0x00044e5b}}, Y: Field{[10]uint32{0x03ea57a4, 0x019efaa4, 0x03be4c57, 0x02c06c95, 0x004ff536, 0x01efad1d, 0x01d5833a, 0x02b004a2, 0x00a8cd45, 0x0026631d}}}, + {X: Field{[10]uint32{0x0017aa7a, 0x010055f8, 0x00b64055, 0x0151a1d5, 0x038dcdfd, 0x02783102, 0x0000738c, 0x01685e40, 0x021ba39c, 0x000f174a}}, Y: Field{[10]uint32{0x001bd257, 0x01e72932, 0x00f6661f, 0x027f749c, 0x000f9b8b, 0x01bf062e, 0x014de739, 0x00d38be7, 0x0279995a, 0x002c8a10}}}, + {X: Field{[10]uint32{0x013cc030, 0x03be285e, 0x00078425, 0x02bec12b, 0x03fbc395, 0x027cba70, 0x0299a729, 0x0037be8e, 0x00b8a60a, 0x003321c1}}, Y: Field{[10]uint32{0x001f1b13, 0x02dd38eb, 0x01c4e940, 0x013f12f3, 0x00f395b7, 0x02cd1fe3, 0x01e0862d, 0x005e2074, 0x0039feed, 0x002f7518}}}, + {X: Field{[10]uint32{0x0089b197, 0x010466ca, 0x02e7ea20, 0x03f3314f, 0x017dd4de, 0x032b4a6e, 0x01777ac5, 0x0156ab36, 0x00f7ea85, 0x00314cf9}}, Y: Field{[10]uint32{0x03596096, 0x0383d17a, 0x03a26bb8, 0x02ed292c, 0x02d9b925, 0x03c690e8, 0x02fb6242, 0x037d0a68, 0x016bc5ef, 0x001bc289}}}, + {X: Field{[10]uint32{0x03da6593, 0x01b5238c, 0x03bbcf56, 0x00d3bb01, 0x0269ba8c, 0x000f325a, 0x01f6d08d, 0x01f5bc42, 0x00f2ccb2, 0x0003053e}}, Y: Field{[10]uint32{0x03dc3a38, 0x02192444, 0x035e6c0e, 0x03742601, 0x0075b740, 0x03f870a1, 0x00473e16, 0x0263dff5, 0x02923bb3, 0x0030d675}}}, + {X: Field{[10]uint32{0x0390e6ef, 0x007dcb82, 0x0321ce44, 0x03b5d7e3, 0x024c9739, 0x0285c456, 0x0024789f, 0x029142eb, 0x03046bc6, 0x0029b2f0}}, Y: Field{[10]uint32{0x03fa9b9f, 0x00abf585, 0x00313986, 0x01cf1c18, 0x0360ceb5, 0x0303e568, 0x030619e2, 0x02226ec4, 0x03f4680e, 0x000086b9}}}, + {X: Field{[10]uint32{0x0143cc38, 0x02ce7e67, 0x01ce6344, 0x00099f44, 0x03130a3c, 0x0166c72b, 0x03b86c13, 0x02249faf, 0x019a02c4, 0x000d1f5b}}, Y: Field{[10]uint32{0x01c74448, 0x027fc78c, 0x00cb1268, 0x02da1e1c, 0x006d565a, 0x03b24bc2, 0x0187f6ec, 0x01493472, 0x0361a353, 0x00183a9f}}}, + {X: Field{[10]uint32{0x0372656a, 0x03bdd0de, 0x008cf855, 0x02c6fcc7, 0x02d47c67, 0x017bd619, 0x037dcb37, 0x02e3660f, 0x01d2181d, 0x00369951}}, Y: Field{[10]uint32{0x03dc208a, 0x02a092dd, 0x03d897fe, 0x006d24d6, 0x01667305, 0x015a0317, 0x038f07ce, 0x01e29e79, 0x0315ab68, 0x00126e59}}}, + {X: Field{[10]uint32{0x03eb1111, 0x016652e3, 0x03146b9d, 0x02517595, 0x03ec25d6, 0x00271b79, 0x03b81483, 0x00b2c684, 0x03cc9d01, 0x003101d1}}, Y: Field{[10]uint32{0x020fa2d4, 0x03a0c0df, 0x014e1bb5, 0x0055ae54, 0x025db936, 0x032d2255, 0x01e6caf2, 0x0284bf1b, 0x00753be2, 0x00172958}}}, + {X: Field{[10]uint32{0x037f3502, 0x000fbd00, 0x03d34c82, 0x01c4cd22, 0x00338c7f, 0x03a1c39e, 0x033a610b, 0x025e6333, 0x00ec82c9, 0x001390b2}}, Y: Field{[10]uint32{0x03606437, 0x0111cda4, 0x03cc40a9, 0x01133152, 0x01a54921, 0x01de0cd0, 0x028b33a0, 0x03ee4a9e, 0x034ee5e0, 0x001d5c75}}}, + {X: Field{[10]uint32{0x030dedea, 0x008a86ce, 0x03432875, 0x036c3219, 0x02d251ca, 0x03dc2c8d, 0x02ba2e1a, 0x01abe08e, 0x037089bc, 0x000ddd6a}}, Y: Field{[10]uint32{0x01018cf7, 0x03658502, 0x02a2c42a, 0x01efde9d, 0x03ac8db1, 0x00a33e9f, 0x039736a8, 0x002762f2, 0x0107bcfa, 0x002f94b4}}}, + {X: Field{[10]uint32{0x02f74e26, 0x01678fa0, 0x03a88469, 0x01744c52, 0x02d95459, 0x034f5dd6, 0x014fb814, 0x03b0de76, 0x00bf7e34, 0x0033b8c7}}, Y: Field{[10]uint32{0x003b1c6d, 0x01228071, 0x014d80f4, 0x002f853b, 0x020149ef, 0x02f3dafe, 0x03947ae2, 0x0162709a, 0x0214c06b, 0x0023f592}}}, + {X: Field{[10]uint32{0x00b47986, 0x00680742, 0x02befcdc, 0x03f516c7, 0x02fddb58, 0x03ad5193, 0x036ea6a4, 0x0245d867, 0x02ea09b6, 0x002d3e7a}}, Y: Field{[10]uint32{0x0200682a, 0x02a2b01c, 0x0142eb24, 0x03004b29, 0x038bb131, 0x03185c9b, 0x033a4f18, 0x0152c1d0, 0x01925b5a, 0x000e7972}}}, + {X: Field{[10]uint32{0x02bcc60e, 0x0241de4b, 0x00cc1b77, 0x016bf0f7, 0x0284e251, 0x019b4c33, 0x0179a489, 0x03e48e80, 0x01fc3d2d, 0x0035098f}}, Y: Field{[10]uint32{0x02208d54, 0x0193848a, 0x00f7fae1, 0x01d82b5b, 0x0189e127, 0x01614f38, 0x0230d629, 0x023facc3, 0x0307a0f7, 0x0018b7eb}}}, + {X: Field{[10]uint32{0x017612c4, 0x00fbb6a2, 0x01e42223, 0x0302928b, 0x000032ac, 0x024c215f, 0x00d35eb6, 0x0299693e, 0x0124820f, 0x0012115d}}, Y: Field{[10]uint32{0x01bd0f77, 0x01daaa92, 0x00a9ae7a, 0x01f6cb58, 0x03dc6cc0, 0x03e870b9, 0x033c38a1, 0x01e7661c, 0x00ab3679, 0x000969d2}}}, + {X: Field{[10]uint32{0x011cceda, 0x0285d9f0, 0x0123f367, 0x0246454a, 0x02045e19, 0x00abf7f0, 0x01644f3a, 0x007cb2c4, 0x03188110, 0x0037fbbb}}, Y: Field{[10]uint32{0x029a7517, 0x020eb826, 0x03dff16a, 0x039d2d2e, 0x00c390bd, 0x0259e4f0, 0x0020bab3, 0x03810be5, 0x0056cf1d, 0x003b3edc}}}, + {X: Field{[10]uint32{0x00fae859, 0x00b7e0ee, 0x00ed36c8, 0x02f1818b, 0x035d89bc, 0x007ce260, 0x0173f44e, 0x03e0dcf1, 0x02b17543, 0x001b5fbd}}, Y: Field{[10]uint32{0x02712d10, 0x02c64372, 0x000bbf74, 0x02566cb6, 0x00c521a0, 0x01ffaa6f, 0x02fa10c5, 0x02261b7f, 0x02c33543, 0x00335143}}}, + {X: Field{[10]uint32{0x0204541f, 0x0096bd9b, 0x007035af, 0x024c8955, 0x03f3c88b, 0x02647cb8, 0x00500d3b, 0x029689a1, 0x01d59102, 0x0039d581}}, Y: Field{[10]uint32{0x03fad125, 0x0026438a, 0x00693836, 0x0314c22c, 0x014f729a, 0x0211cf8c, 0x039b4872, 0x007b9502, 0x0354a8f7, 0x003d7151}}}, + {X: Field{[10]uint32{0x01ed620c, 0x010ffbec, 0x008457dd, 0x0182af8e, 0x019a0c2e, 0x014082f2, 0x02be453d, 0x03ea81a8, 0x020f4c4d, 0x003ae619}}, Y: Field{[10]uint32{0x0099223e, 0x03d10400, 0x0131ce85, 0x022a5044, 0x00a0a7cd, 0x0349b348, 0x009af3ad, 0x02e14818, 0x00876d9c, 0x001b2e6a}}}, + {X: Field{[10]uint32{0x00dba942, 0x0158f8ee, 0x00336dc3, 0x01a50622, 0x02215459, 0x024ac664, 0x039f2e68, 0x00534d64, 0x03027d85, 0x0004fa1e}}, Y: Field{[10]uint32{0x02b8adf1, 0x00355591, 0x02beb257, 0x0295a35a, 0x02ac2b9d, 0x02fc7a46, 0x01624114, 0x029b7b17, 0x03c68059, 0x003fbd68}}}, + {X: Field{[10]uint32{0x01e5764a, 0x011245a4, 0x0308e7bf, 0x00dc7389, 0x0125424b, 0x016f9bf0, 0x0038f06a, 0x01bf805f, 0x0026e9fd, 0x003b858c}}, Y: Field{[10]uint32{0x016c62b2, 0x00c3682b, 0x02623e54, 0x03e856e5, 0x00f49ae3, 0x01c343d6, 0x0194ccc6, 0x0358710f, 0x010f255d, 0x0006b2c9}}}, + {X: Field{[10]uint32{0x03af3d80, 0x00b976cc, 0x02799993, 0x010d4161, 0x031e626d, 0x030b7226, 0x01e3a750, 0x007935e3, 0x01ef9ad5, 0x002c9a3d}}, Y: Field{[10]uint32{0x0216e423, 0x03a51684, 0x01614003, 0x013f5064, 0x018cf0d3, 0x03077b80, 0x01f77d41, 0x02e7aec6, 0x014b3c99, 0x0017cc43}}}, + {X: Field{[10]uint32{0x03c4750d, 0x03ff6ea4, 0x02ea3bf7, 0x0072a673, 0x002b02f0, 0x01b1eff9, 0x03ad85eb, 0x03c0d7a7, 0x03118a9d, 0x003fc1fc}}, Y: Field{[10]uint32{0x02d1f0d8, 0x00342633, 0x02ddd474, 0x0084538b, 0x01c1d294, 0x03b32eb7, 0x00440c38, 0x01628e97, 0x02d603e8, 0x0010e04d}}}, + {X: Field{[10]uint32{0x02b526a1, 0x03a30f38, 0x01ebec16, 0x02783609, 0x02a4b9f6, 0x03ed962f, 0x006fd20f, 0x014a8d05, 0x0055c7c0, 0x002362e6}}, Y: Field{[10]uint32{0x03036758, 0x00b9fd18, 0x03ceb30e, 0x03fb9475, 0x004bcf50, 0x0213a935, 0x03af44fb, 0x01e7e49a, 0x01eedc2d, 0x00336d56}}}, + {X: Field{[10]uint32{0x01a32b63, 0x0098c603, 0x031eba54, 0x033b2a46, 0x03e4b851, 0x01eb89b7, 0x029d472d, 0x02fc16fe, 0x035384df, 0x0014b6c2}}, Y: Field{[10]uint32{0x00a7b375, 0x012da761, 0x0279de92, 0x0240a1d5, 0x03b3180c, 0x01b6e7d5, 0x02baf66a, 0x0397508f, 0x017d050e, 0x00030ee6}}}, + {X: Field{[10]uint32{0x03d43352, 0x0150efb2, 0x008c6fff, 0x030fcfe9, 0x007d0f29, 0x02024673, 0x01efd24e, 0x007698e5, 0x0090d3d5, 0x00398be5}}, Y: Field{[10]uint32{0x00cafa7d, 0x001eff67, 0x02f5170e, 0x01647c76, 0x02f342c8, 0x031a0a18, 0x002ca280, 0x01ac2c8b, 0x017ba487, 0x001b626b}}}, + {X: Field{[10]uint32{0x02ab1193, 0x039f596a, 0x014fd6d8, 0x03d72dec, 0x011afa2f, 0x03ddf406, 0x03509c88, 0x0266d255, 0x022476b3, 0x001fcc3a}}, Y: Field{[10]uint32{0x037acaec, 0x03d2ffd8, 0x03e9880e, 0x02d9ec40, 0x01daff7b, 0x03d8c47a, 0x015389a5, 0x032530ec, 0x03d4b231, 0x003297bd}}}, + {X: Field{[10]uint32{0x000b7a00, 0x0280d860, 0x01d9ac60, 0x02d28774, 0x03ef0fb7, 0x029b240f, 0x02210fad, 0x0053ed1a, 0x031e1d9f, 0x0014263f}}, Y: Field{[10]uint32{0x0117ddc0, 0x016c4cbf, 0x03e5362a, 0x01035837, 0x02b3ee1b, 0x01d50801, 0x00d37c6e, 0x0323e021, 0x0141d81f, 0x00025cc4}}}, + {X: Field{[10]uint32{0x0378ad58, 0x00b20789, 0x01c96b9f, 0x03333911, 0x02e2f3c4, 0x0272fbe9, 0x0095be6b, 0x0144a9ca, 0x007de9ee, 0x000cade3}}, Y: Field{[10]uint32{0x00c8753c, 0x01c8dde5, 0x0275ba49, 0x0151eb88, 0x0073bb80, 0x038a0983, 0x03c3896e, 0x01c78cbb, 0x01f513df, 0x003b8612}}}, + {X: Field{[10]uint32{0x0147a4f7, 0x01605541, 0x01fc074b, 0x03c209a7, 0x00e37d50, 0x01f1cac3, 0x036eef2a, 0x027ef341, 0x00fddc8e, 0x0038b2dd}}, Y: Field{[10]uint32{0x005cc4a4, 0x006af2c0, 0x012be864, 0x038d848b, 0x03addea9, 0x01cdbac2, 0x022df062, 0x034891e9, 0x02d71c9d, 0x0034ea8b}}}, + {X: Field{[10]uint32{0x010ae3a8, 0x00366734, 0x00b141be, 0x00d7c8d7, 0x0026009a, 0x01aacd5d, 0x01c29949, 0x035efb6b, 0x007566d4, 0x00210e11}}, Y: Field{[10]uint32{0x02dd791f, 0x00109acb, 0x01c4f239, 0x01e4198c, 0x0334ef0d, 0x01ab4cc1, 0x0101ac5e, 0x00293697, 0x02091698, 0x00313840}}}, + {X: Field{[10]uint32{0x0311d67e, 0x019720b1, 0x00b878ab, 0x0311bd98, 0x030587d9, 0x01b0c221, 0x0184c6fc, 0x00080e6d, 0x0088b894, 0x001058b5}}, Y: Field{[10]uint32{0x00852649, 0x011eb968, 0x0295dbda, 0x00ae12d3, 0x03c1732f, 0x03ee28eb, 0x02f22c25, 0x00a27ddd, 0x02903236, 0x0019c58f}}}, + {X: Field{[10]uint32{0x035f683d, 0x02e9292f, 0x010684f3, 0x01ebb0f9, 0x00175d76, 0x0373d53f, 0x0389bfd2, 0x003cd3c3, 0x03a84caf, 0x000feb4f}}, Y: Field{[10]uint32{0x03e61826, 0x0083bf37, 0x012a53fa, 0x01cb9f43, 0x030cf718, 0x031c629c, 0x030ca647, 0x0101eecb, 0x007cb6cc, 0x0003346f}}}, + {X: Field{[10]uint32{0x02b1a86b, 0x0254cbeb, 0x0398f1c6, 0x02fc4dc1, 0x02c1fb84, 0x00174205, 0x00c1a7ce, 0x01e8015a, 0x0200a300, 0x0019d3c9}}, Y: Field{[10]uint32{0x020d38a5, 0x03bb31a7, 0x02259e09, 0x03682c60, 0x0370db57, 0x00011602, 0x0343b257, 0x00cecfb7, 0x01f9413f, 0x000a6748}}}, + {X: Field{[10]uint32{0x02e9f08f, 0x034a6f57, 0x00bcff87, 0x031a49c5, 0x023d82d6, 0x007ecec9, 0x01b815ad, 0x01d2aee0, 0x01a54ade, 0x0034cbd3}}, Y: Field{[10]uint32{0x033eea87, 0x0105a442, 0x01d582fc, 0x0114d4d6, 0x0382e14f, 0x00165c1d, 0x0299016c, 0x014ee5a3, 0x02738b8e, 0x003e50a7}}}, + {X: Field{[10]uint32{0x03ce3ff6, 0x02553c78, 0x008cb1ed, 0x00c7dcac, 0x036fbb69, 0x00d61174, 0x01936571, 0x021555b9, 0x02704353, 0x000c3939}}, Y: Field{[10]uint32{0x0388db7b, 0x0169567a, 0x0340dc69, 0x00d769c1, 0x010a878d, 0x00eef26c, 0x01935011, 0x02618e12, 0x03ce6198, 0x00118be6}}}, + {X: Field{[10]uint32{0x00cad297, 0x01c6c135, 0x0180bf19, 0x0042c079, 0x027f3dcd, 0x00c3937b, 0x02829043, 0x0330c011, 0x02003c51, 0x002f8818}}, Y: Field{[10]uint32{0x01ccb9bc, 0x0163b5cb, 0x002a0d55, 0x0242415a, 0x01b1c610, 0x01387195, 0x033d48a7, 0x03950a15, 0x03c49d61, 0x00188622}}}, + {X: Field{[10]uint32{0x035df04a, 0x026167ff, 0x01993c41, 0x0298077d, 0x01cb6e84, 0x030abc84, 0x01e0fb9a, 0x01147b4a, 0x0023ace3, 0x0024c511}}, Y: Field{[10]uint32{0x0037b47c, 0x00a9b44c, 0x039d1d90, 0x0093dcae, 0x00f10652, 0x01e6480e, 0x031a3f9d, 0x01097d71, 0x03b164c3, 0x001f0437}}}, + {X: Field{[10]uint32{0x017b112c, 0x01906305, 0x012a7cb6, 0x00171edf, 0x01978292, 0x030d3ee0, 0x01ca26d6, 0x032f73c8, 0x00044f5f, 0x002c057e}}, Y: Field{[10]uint32{0x023a1d5f, 0x03a85153, 0x008c1d3a, 0x01bea8c2, 0x003b3cdc, 0x037e357e, 0x00a655b2, 0x03a04dd1, 0x02086d04, 0x002ae307}}}, + {X: Field{[10]uint32{0x01a21b52, 0x03cabcd0, 0x000d36b3, 0x03795e85, 0x024f8a18, 0x0291968e, 0x00868117, 0x025f6279, 0x01da649d, 0x00357a78}}, Y: Field{[10]uint32{0x0327447a, 0x017a164b, 0x0080d895, 0x01708901, 0x03169346, 0x03537436, 0x01a13cc1, 0x03b5cc44, 0x0037f391, 0x00132c11}}}, + {X: Field{[10]uint32{0x036966bb, 0x0294c5b4, 0x02d6f996, 0x0335cb85, 0x01983005, 0x02e6490e, 0x03f8ed77, 0x03281976, 0x01047dd7, 0x0034eb90}}, Y: Field{[10]uint32{0x0125ac46, 0x00370534, 0x00a614b1, 0x035f7c2b, 0x0164f8cd, 0x0105f1b6, 0x010f0303, 0x03aec8a8, 0x0321ad22, 0x002f46ba}}}, + {X: Field{[10]uint32{0x0097b065, 0x002be1f2, 0x037b49f8, 0x002a0b8d, 0x0087197d, 0x02003c29, 0x026cdd22, 0x03e563f1, 0x0363d885, 0x00118f89}}, Y: Field{[10]uint32{0x02f7ca7f, 0x026499c7, 0x03508b79, 0x0187ef25, 0x0326b80c, 0x0137818a, 0x03a311a9, 0x003f5f7c, 0x00db0e5d, 0x002ffbeb}}}, + {X: Field{[10]uint32{0x00641917, 0x0377f244, 0x0347c83c, 0x03102ff9, 0x0158e597, 0x02d8fb0c, 0x0353ec1b, 0x00159f1b, 0x01fd127c, 0x001e617f}}, Y: Field{[10]uint32{0x0332ed03, 0x016f559f, 0x0308703a, 0x00783b19, 0x0124ed29, 0x038a26bb, 0x0325fe1d, 0x0218bbca, 0x02daf3d9, 0x00180f04}}}, + {X: Field{[10]uint32{0x027703e9, 0x03c550f6, 0x02d0ed5f, 0x0272e0f4, 0x019e74c5, 0x003ab1fe, 0x01d24941, 0x038e76cb, 0x016b5f76, 0x001d286b}}, Y: Field{[10]uint32{0x00e0db08, 0x00dff5e4, 0x00c33d57, 0x01a250ba, 0x00093e09, 0x00c6efa8, 0x0193d836, 0x0318f358, 0x03ef18c9, 0x00331855}}}, + {X: Field{[10]uint32{0x022f6da3, 0x034225ac, 0x03463a71, 0x00b1c9d1, 0x03c9bab4, 0x02e866df, 0x01416664, 0x01d7d80b, 0x02507033, 0x000c1a0a}}, Y: Field{[10]uint32{0x03a22ff8, 0x0053665d, 0x0273f177, 0x0383c672, 0x036290d0, 0x00c474c5, 0x00f39e7f, 0x02d3e9b2, 0x00f6b018, 0x00154f81}}}, + {X: Field{[10]uint32{0x0369ef57, 0x01b04d1d, 0x0352b1ee, 0x00ac9193, 0x03654e7a, 0x03e9e565, 0x03791efe, 0x0357c9b0, 0x00f0d7c0, 0x00278856}}, Y: Field{[10]uint32{0x01008373, 0x03efc98a, 0x038509e2, 0x023bcd68, 0x029ffd7c, 0x03e9dd8b, 0x003a3481, 0x014fc240, 0x00dd1b90, 0x0001c4bf}}}, + {X: Field{[10]uint32{0x02327d66, 0x0215fcef, 0x03ce7322, 0x019b8f13, 0x028172e5, 0x00094e30, 0x024029c2, 0x03273fae, 0x02989a43, 0x0005db89}}, Y: Field{[10]uint32{0x03a4b1c3, 0x01e0d307, 0x009ee7b4, 0x007d3bb8, 0x019aefd3, 0x023710f0, 0x0270b487, 0x03ae1df4, 0x01d04b29, 0x003b6332}}}, + {X: Field{[10]uint32{0x00374da8, 0x011e2314, 0x00f1b700, 0x00e4f7f1, 0x02cf1892, 0x00eb5d1f, 0x02bb89a1, 0x0079b9a2, 0x02fea377, 0x001d751b}}, Y: Field{[10]uint32{0x02a6bed8, 0x011c9961, 0x02e1a3ca, 0x008544d1, 0x00d7efc2, 0x02ce6a1a, 0x00b86fd2, 0x01d9e7f4, 0x010a9950, 0x0026148e}}}, + {X: Field{[10]uint32{0x01605721, 0x00c67d91, 0x029345b7, 0x00114721, 0x032310fb, 0x0097db57, 0x0298c4c8, 0x02403fed, 0x00c67d64, 0x00202688}}, Y: Field{[10]uint32{0x00e286c1, 0x03e97cfe, 0x03e6a5eb, 0x03315258, 0x003d096c, 0x01fe8105, 0x02b06192, 0x01f88add, 0x0180d991, 0x0027a652}}}, + {X: Field{[10]uint32{0x0172c180, 0x018d11be, 0x023528d5, 0x0073ca71, 0x03defece, 0x02b1c20f, 0x00500b4e, 0x03c453b5, 0x003a43f7, 0x0006ce24}}, Y: Field{[10]uint32{0x02f408f9, 0x02504676, 0x0272ad33, 0x01adbd76, 0x022708b2, 0x0354f792, 0x0353f77f, 0x002ba224, 0x01c931a6, 0x00100dbb}}}, + {X: Field{[10]uint32{0x00feef23, 0x01b1621a, 0x0166df4e, 0x0338b41d, 0x03263458, 0x03e8fbf9, 0x00b4e8dd, 0x012e7aac, 0x01b6eb29, 0x00242a03}}, Y: Field{[10]uint32{0x03cf91e6, 0x031dba4b, 0x01681442, 0x02c9eef6, 0x035ee050, 0x0278a4da, 0x0321145d, 0x03c6361f, 0x039f9754, 0x001d4f22}}}, + {X: Field{[10]uint32{0x036bea9b, 0x009751cd, 0x0146e6dc, 0x00152851, 0x023e6f36, 0x03d80d03, 0x01625460, 0x0166604b, 0x03844b70, 0x0030b203}}, Y: Field{[10]uint32{0x02a79c64, 0x02f5120e, 0x00f6123a, 0x029c0ad3, 0x0173b871, 0x0074ec6d, 0x03495b89, 0x03539c62, 0x020d68f4, 0x0021b285}}}, + {X: Field{[10]uint32{0x028e7553, 0x00f38468, 0x01692a32, 0x038757f3, 0x012d00cf, 0x0067ec99, 0x03989d3f, 0x02d7cff7, 0x02744cf4, 0x00273d81}}, Y: Field{[10]uint32{0x0247759d, 0x003144f0, 0x0385dc30, 0x0038f116, 0x03edd0f3, 0x03eb5a18, 0x017b6a3c, 0x03f3056d, 0x03f7b973, 0x002051f2}}}, + {X: Field{[10]uint32{0x02d82208, 0x023d6156, 0x005abce9, 0x0031d080, 0x02a6280b, 0x018364db, 0x0093fd60, 0x031ac969, 0x03a28742, 0x0015d223}}, Y: Field{[10]uint32{0x01a29574, 0x021e113c, 0x03921dc2, 0x03994084, 0x03af949a, 0x009ed1c2, 0x02dbe56c, 0x02fa9562, 0x02455073, 0x000c6cf2}}}, + {X: Field{[10]uint32{0x0099447d, 0x02f17ad2, 0x00dc84ed, 0x005b1d63, 0x02d40ed6, 0x01d658f0, 0x00df2b8d, 0x02ef2372, 0x00be6be8, 0x003c44cf}}, Y: Field{[10]uint32{0x0252f50f, 0x02ee24fd, 0x016870cb, 0x018375e8, 0x0110bd3a, 0x0359f558, 0x014626d8, 0x02c8fd5c, 0x00472225, 0x0015ff09}}}, + {X: Field{[10]uint32{0x03be89c0, 0x038105d6, 0x025050f4, 0x02ffcf90, 0x013f3d69, 0x00196ee0, 0x00989c79, 0x02f5e1fe, 0x02753301, 0x0025420f}}, Y: Field{[10]uint32{0x00b33482, 0x024fe925, 0x03c70cc5, 0x038055ac, 0x00ee4e92, 0x01dc1039, 0x017c73ca, 0x0037a518, 0x035ce7d1, 0x002112b6}}}, + {X: Field{[10]uint32{0x005c75c6, 0x000110ef, 0x01973621, 0x02cd8f23, 0x038668c7, 0x03266bd8, 0x0176ed29, 0x0159d579, 0x0355cbb7, 0x0006a420}}, Y: Field{[10]uint32{0x032454a2, 0x02b48b8b, 0x03f27057, 0x001d2d13, 0x00a73538, 0x01589f60, 0x03787222, 0x01b8d4bd, 0x026c6e55, 0x0035d951}}}, + {X: Field{[10]uint32{0x0349b648, 0x037cefbc, 0x01db4f04, 0x018f17cc, 0x038a2d1f, 0x02b65fe7, 0x0067308f, 0x010f56aa, 0x03740bd3, 0x0031648b}}, Y: Field{[10]uint32{0x027bd648, 0x014f251b, 0x00c4377f, 0x01108da9, 0x00da8118, 0x0362dd4b, 0x02605e50, 0x036fa204, 0x00687cfc, 0x001dec7c}}}, + {X: Field{[10]uint32{0x02c95dc9, 0x00d10839, 0x017d9964, 0x00c458e2, 0x02055dcf, 0x006c2d9c, 0x011a4043, 0x000a5dda, 0x01969f91, 0x0019386c}}, Y: Field{[10]uint32{0x0222550c, 0x02538ca4, 0x0371ddce, 0x034873bc, 0x029bfb77, 0x0240d6d9, 0x027fa26a, 0x030f27ac, 0x00c7c11f, 0x00305bd8}}}, + {X: Field{[10]uint32{0x03ce08de, 0x03edfa81, 0x01ce7808, 0x029d527a, 0x03c602f8, 0x00ccf74d, 0x0121bad3, 0x0113b5b1, 0x02766877, 0x0000cecb}}, Y: Field{[10]uint32{0x02988efd, 0x01444aa1, 0x038114c2, 0x032a9b79, 0x03d742e8, 0x03f7652f, 0x036c2437, 0x022ba573, 0x027fc8ed, 0x00386f3f}}}, + {X: Field{[10]uint32{0x01e4f294, 0x011cef91, 0x0275c951, 0x003fca52, 0x0189fbf3, 0x01ed2b0c, 0x02310331, 0x0228730a, 0x034c866d, 0x00083c63}}, Y: Field{[10]uint32{0x02d0ea0e, 0x032ba074, 0x0358943f, 0x027dc5cf, 0x030fe852, 0x034defb9, 0x00883363, 0x03ded3f6, 0x03c9d08e, 0x00235a15}}}, + {X: Field{[10]uint32{0x03b69a8b, 0x01105db5, 0x03befd14, 0x014d5190, 0x012df346, 0x038aa2e7, 0x02b4c685, 0x031c5a83, 0x03c944c9, 0x00134588}}, Y: Field{[10]uint32{0x0117be80, 0x0160e222, 0x02f7854f, 0x0357b654, 0x022b601b, 0x01bb0d25, 0x016bf6b9, 0x02b40fe6, 0x01fe8744, 0x00377c6e}}}, + {X: Field{[10]uint32{0x01b079e0, 0x0343fd4f, 0x027e2d4a, 0x02937436, 0x014faad0, 0x016251e1, 0x00d6b368, 0x00a4b4a0, 0x00dbe8ab, 0x002a406c}}, Y: Field{[10]uint32{0x03298a9d, 0x00398391, 0x023b301d, 0x03829ac1, 0x00716bc5, 0x0079eb99, 0x02f04dc6, 0x006986bd, 0x03e1834f, 0x000fc9f9}}}, + {X: Field{[10]uint32{0x03fc9a70, 0x007269ba, 0x0089b303, 0x013df202, 0x012f42a2, 0x0211916c, 0x03d66f44, 0x023ff542, 0x00713021, 0x001f82bc}}, Y: Field{[10]uint32{0x02aedb3f, 0x01b6de16, 0x003ab241, 0x005fd6f7, 0x010d5795, 0x017ac7a2, 0x013fbb23, 0x0343127d, 0x03f3926c, 0x00142f08}}}, + {X: Field{[10]uint32{0x02ebf20d, 0x00aaac16, 0x01da4ef8, 0x00a151ba, 0x00b47f05, 0x0102a40e, 0x005d3354, 0x00968b06, 0x007e1a7b, 0x001eea06}}, Y: Field{[10]uint32{0x02185187, 0x00924c26, 0x033a39ab, 0x02f39f62, 0x000527ef, 0x0329775e, 0x026c25c7, 0x00dc2be1, 0x026c9625, 0x001b9abb}}}, + {X: Field{[10]uint32{0x013a6807, 0x02128e76, 0x0277255b, 0x02583a49, 0x009767b7, 0x0063f28e, 0x0000816e, 0x02c9e6d8, 0x03c34d83, 0x00230143}}, Y: Field{[10]uint32{0x01174870, 0x026f104d, 0x023ce701, 0x0336073c, 0x015d699f, 0x0106604e, 0x03c29650, 0x023eca09, 0x00ef75b6, 0x002618c5}}}, + {X: Field{[10]uint32{0x019c2ec9, 0x02e2c6f2, 0x006202a7, 0x028b2fd4, 0x009d7201, 0x01492652, 0x0060583a, 0x037e1896, 0x009a78e4, 0x0014ede1}}, Y: Field{[10]uint32{0x03e469c0, 0x00b77e78, 0x012c544d, 0x00951ca3, 0x02e0a44d, 0x006f8b14, 0x024b22de, 0x01f41d77, 0x0212ac60, 0x00138c7a}}}, + {X: Field{[10]uint32{0x03313b33, 0x03149f94, 0x0278efeb, 0x0010c77b, 0x02b63350, 0x03f9d8af, 0x0075a010, 0x032655a8, 0x0267a5d0, 0x0026f7e7}}, Y: Field{[10]uint32{0x029d2bb0, 0x0252bf63, 0x00d5a17e, 0x00d9d8ba, 0x02907f26, 0x03c5b2b4, 0x00c27926, 0x00383b89, 0x0221a596, 0x00250991}}}, + {X: Field{[10]uint32{0x02381f34, 0x03f66412, 0x012fb429, 0x00b1bb0b, 0x0117d9f4, 0x01d81be2, 0x02c031a4, 0x02cef42e, 0x02b37a8a, 0x001f2a9c}}, Y: Field{[10]uint32{0x017303c9, 0x01f77597, 0x037f1ef8, 0x00781a0b, 0x03ff8fbd, 0x00804253, 0x023d6beb, 0x037a34d3, 0x03ab7ee5, 0x0016d614}}}, + {X: Field{[10]uint32{0x0193d81a, 0x01ae5f8e, 0x0093dde1, 0x031d54c9, 0x03925d62, 0x00fd236d, 0x000295fc, 0x01e5d5e7, 0x039f0982, 0x000bbca6}}, Y: Field{[10]uint32{0x03110753, 0x008cde8c, 0x015e89b4, 0x0090e1f6, 0x00a0afff, 0x02fd31c5, 0x0137ef96, 0x016e9829, 0x004dd987, 0x00125b25}}}, + {X: Field{[10]uint32{0x03317ff8, 0x030d2fa5, 0x00e6a9e5, 0x014bb0d5, 0x024029e9, 0x039740b1, 0x03c1860a, 0x01e1d55c, 0x00ad95b0, 0x0037c55f}}, Y: Field{[10]uint32{0x0284c162, 0x01bb8e04, 0x03ba470f, 0x00ba15a4, 0x00b629e6, 0x00acf30c, 0x01c979a0, 0x00ad4226, 0x02c77592, 0x003cbb32}}}, + {X: Field{[10]uint32{0x02454b1d, 0x02a61c05, 0x020e7b15, 0x00dadc64, 0x00e651d2, 0x02e7ad51, 0x0182e643, 0x02949ad8, 0x0150a29c, 0x00375570}}, Y: Field{[10]uint32{0x002e9368, 0x01788fd3, 0x00f5c4d9, 0x02af5dea, 0x00ac685a, 0x01a30944, 0x01605d42, 0x03a8bace, 0x03a542f4, 0x001131d5}}}, + {X: Field{[10]uint32{0x00227f27, 0x02792e26, 0x0172325b, 0x024e1fc0, 0x02c4d5d3, 0x018f4c95, 0x01477630, 0x00b1e464, 0x00f46ed4, 0x0005a21b}}, Y: Field{[10]uint32{0x0217fffb, 0x00e0c5c2, 0x00367ec5, 0x02378bd2, 0x02c824ed, 0x00f280f7, 0x02192fc9, 0x00ca6751, 0x02207ee7, 0x001d0868}}}, + {X: Field{[10]uint32{0x0360732f, 0x03aa9eca, 0x0345e56a, 0x0089213f, 0x0327968c, 0x01bc2b3f, 0x028b306d, 0x00186023, 0x00fcdaa3, 0x001bfc60}}, Y: Field{[10]uint32{0x029961a9, 0x00fa87bd, 0x038cc22f, 0x008baa16, 0x026c8d40, 0x018dd868, 0x0254dad0, 0x02bfc3f0, 0x0254f0c2, 0x001f45b5}}}, + {X: Field{[10]uint32{0x00395e36, 0x03323ab7, 0x005c4f8b, 0x0154e7da, 0x00aa912b, 0x003b99df, 0x034f51f4, 0x030a80fa, 0x0111a00d, 0x0000fa91}}, Y: Field{[10]uint32{0x03c9259d, 0x000d719c, 0x0049824b, 0x00d94a43, 0x030a2f2e, 0x010376d4, 0x02398393, 0x0008564e, 0x01f1528b, 0x001b27b4}}}, + {X: Field{[10]uint32{0x0253081d, 0x0332883c, 0x014b63c7, 0x002a0d79, 0x0153e415, 0x00cb7ee3, 0x00742d8f, 0x03a7aace, 0x0170dc3d, 0x0002e0b3}}, Y: Field{[10]uint32{0x01d0e24d, 0x012f02ab, 0x0326860d, 0x015aa48b, 0x0302effc, 0x00ca5d97, 0x02e20499, 0x01b9d74c, 0x03fe1f7f, 0x0003a2f2}}}, + {X: Field{[10]uint32{0x0196c77f, 0x00e2d5e8, 0x03d49b7b, 0x03c05cc9, 0x0206d056, 0x00169a69, 0x02e23bf1, 0x021d1613, 0x03e00074, 0x003f8bf0}}, Y: Field{[10]uint32{0x01bf3916, 0x02ef6dba, 0x0271d4f9, 0x007793f7, 0x007da856, 0x01601ec7, 0x01a32f69, 0x034a5f32, 0x001cc3c6, 0x000f8625}}}, + {X: Field{[10]uint32{0x03b7858b, 0x036fd5d2, 0x035ec845, 0x00511ba8, 0x02e8b001, 0x00b6e75b, 0x028778b1, 0x00da4d1f, 0x0176cdaa, 0x00012e40}}, Y: Field{[10]uint32{0x0173c154, 0x032abb2e, 0x03155295, 0x03f0bdea, 0x021fdad0, 0x02162031, 0x026e349b, 0x017f4fb2, 0x03ab6e9c, 0x003d8151}}}, + {X: Field{[10]uint32{0x0144c6d2, 0x03b04296, 0x028a0cd3, 0x01cbd654, 0x01defc42, 0x0036f27b, 0x00c86a9f, 0x01802d2e, 0x02511d34, 0x000d7ce0}}, Y: Field{[10]uint32{0x00b5ccd5, 0x00c8d2f4, 0x00daeae8, 0x02c6c4a8, 0x0043762b, 0x03e5b2a6, 0x0337a80c, 0x028797db, 0x01f6ef7f, 0x000a6a0d}}}, + {X: Field{[10]uint32{0x022cb94a, 0x0308dc5c, 0x011cdf3c, 0x02b0fc04, 0x03e1d0e9, 0x021f4fd6, 0x0027e265, 0x02dffe84, 0x02970311, 0x00075d2c}}, Y: Field{[10]uint32{0x00c2071e, 0x03307dca, 0x030e2606, 0x02ba771f, 0x0135dc99, 0x003d7183, 0x03bcfb81, 0x005382dc, 0x038b57f1, 0x00171ef3}}}, + {X: Field{[10]uint32{0x00450428, 0x0129a2a6, 0x013e6f93, 0x02df1056, 0x024f75d1, 0x027b1c8b, 0x0020737b, 0x03e5582c, 0x00f309c6, 0x00142825}}, Y: Field{[10]uint32{0x03778eee, 0x0243c7a0, 0x021b554a, 0x02da1a6a, 0x0089c86d, 0x02a07c11, 0x009eaba6, 0x0033f65a, 0x0222dfe1, 0x0028a1b8}}}, + {X: Field{[10]uint32{0x03c63db7, 0x0029b589, 0x0010599b, 0x036452d2, 0x00282dbc, 0x01d7b0e3, 0x02cf12e2, 0x0055f37f, 0x03812129, 0x0026d96e}}, Y: Field{[10]uint32{0x00223188, 0x0164ef06, 0x03d65528, 0x0102b423, 0x00660b4c, 0x007a629e, 0x013b2e95, 0x00890864, 0x031a3f0f, 0x003160b6}}}, + {X: Field{[10]uint32{0x02a4bc6b, 0x00200b4d, 0x02ca51c2, 0x03179883, 0x0085e7f1, 0x007720c7, 0x02c1115a, 0x0281b915, 0x00fc1fdf, 0x0022d151}}, Y: Field{[10]uint32{0x0220350d, 0x022c67de, 0x003b06ea, 0x02e6556c, 0x01e4116f, 0x02dc3993, 0x022af7f4, 0x00980b9c, 0x0041288f, 0x0038f9df}}}, + {X: Field{[10]uint32{0x020ab4aa, 0x02076577, 0x01e29d5f, 0x004f773b, 0x006cb2ae, 0x0155e3f7, 0x039b29cc, 0x03adf145, 0x0080b959, 0x001b1c26}}, Y: Field{[10]uint32{0x027c4bdc, 0x033144e7, 0x03b43c2d, 0x0314254f, 0x02ee2b59, 0x03cf7aae, 0x036c0c76, 0x02e9099c, 0x03aebd8e, 0x003278cf}}}, + {X: Field{[10]uint32{0x01537806, 0x02d59dcf, 0x001e7085, 0x019e00ae, 0x0076fc9d, 0x012821e8, 0x01891f79, 0x01a9c657, 0x035137ba, 0x001ddd82}}, Y: Field{[10]uint32{0x018e3a25, 0x0206af85, 0x037f0d7e, 0x037b9a39, 0x021b87ff, 0x03d105ef, 0x0358c7ed, 0x02962fd3, 0x00f5aaee, 0x003d480b}}}, + {X: Field{[10]uint32{0x02163102, 0x03109b9f, 0x025d0df4, 0x03e3bf58, 0x03e23cd4, 0x02324699, 0x02904a8a, 0x00320ba6, 0x03836a0b, 0x0006a2f5}}, Y: Field{[10]uint32{0x02285844, 0x0317f304, 0x01f2e4e9, 0x005adc02, 0x01c2a963, 0x03dd2a1f, 0x0174f282, 0x00b2b8f1, 0x00cab095, 0x00187f99}}}, + {X: Field{[10]uint32{0x024abc30, 0x02d4e421, 0x031d753d, 0x02679a51, 0x02a3fb30, 0x00936475, 0x01e453ed, 0x02644fec, 0x01b65907, 0x003f885f}}, Y: Field{[10]uint32{0x01730b58, 0x03dac0d3, 0x012538cd, 0x00714e5a, 0x0193a0c6, 0x007c11f5, 0x030f20fb, 0x017b5a02, 0x02bba962, 0x001773e6}}}, + {X: Field{[10]uint32{0x01b33b91, 0x02bb527d, 0x02c5f212, 0x035d232d, 0x0107e3ab, 0x03ab5a5b, 0x00f58b65, 0x0357af0e, 0x023754af, 0x00094135}}, Y: Field{[10]uint32{0x035d75d4, 0x0004eb5e, 0x03437b5e, 0x004159d7, 0x00ba7cec, 0x01cbeefd, 0x01321c6c, 0x011a713d, 0x034375f1, 0x001e69af}}}, + {X: Field{[10]uint32{0x03197b5c, 0x03772bf6, 0x0176b7fb, 0x02fd7322, 0x036160ab, 0x021c4170, 0x029bd3f6, 0x008b5e26, 0x0302f47b, 0x0002c1bd}}, Y: Field{[10]uint32{0x0332f63d, 0x017e4635, 0x007781cd, 0x01ff45e7, 0x005bd2fe, 0x02a8f7f9, 0x012a35b6, 0x035247d6, 0x03d419a4, 0x001d9a6e}}}, + {X: Field{[10]uint32{0x01044e23, 0x004a2983, 0x010acbc2, 0x027af48f, 0x00a6f3f9, 0x006d5120, 0x034eeb93, 0x0273e500, 0x003bb31f, 0x00200ec8}}, Y: Field{[10]uint32{0x0328d1c7, 0x014e0705, 0x006a954e, 0x02fd26e5, 0x03bfc9cc, 0x03e98aeb, 0x0320c5c7, 0x03dd6566, 0x008df271, 0x000c22af}}}, + {X: Field{[10]uint32{0x0302749a, 0x00a27f80, 0x028dcd57, 0x037a3a56, 0x02e52de1, 0x000e9cc4, 0x010e5bda, 0x033ab6ed, 0x00b4c5f5, 0x00099aa7}}, Y: Field{[10]uint32{0x02e0ae7e, 0x021bff11, 0x03baa8b3, 0x02e879f0, 0x033dc0ef, 0x03213b53, 0x0282877c, 0x02cbea8f, 0x030ba856, 0x0027baa5}}}, + {X: Field{[10]uint32{0x004eba94, 0x00d82f3e, 0x02a355d7, 0x0107a6af, 0x0364c4c1, 0x02058f7c, 0x019a7ab9, 0x01eb5496, 0x0195d80c, 0x003f62a7}}, Y: Field{[10]uint32{0x03b1030c, 0x035f5cf7, 0x01a713e2, 0x03691eff, 0x03a30377, 0x02b9ff4c, 0x032e2688, 0x014ecd66, 0x03021009, 0x002a7ec5}}}, + {X: Field{[10]uint32{0x01db0a7d, 0x02dbc9be, 0x038f8f2c, 0x0316dec2, 0x026e84ac, 0x02cb202f, 0x03c339a8, 0x023c8d67, 0x01f309f2, 0x0029cc8b}}, Y: Field{[10]uint32{0x02db6be6, 0x028ba85b, 0x00885c12, 0x0384c5c5, 0x03095f40, 0x03c4be95, 0x01b7f5b2, 0x025405ff, 0x029d2174, 0x0008bdbf}}}, + {X: Field{[10]uint32{0x03052d36, 0x00f1f932, 0x01ffc82c, 0x006ba95a, 0x00bd4c46, 0x03dfc3c6, 0x02104ddb, 0x0199258e, 0x010f336a, 0x0020aa30}}, Y: Field{[10]uint32{0x01f1dd0c, 0x0384a1e5, 0x038c118f, 0x03533411, 0x015e5c31, 0x02dc6d9c, 0x010501cc, 0x01c89e2e, 0x00a2c0ef, 0x001cdf3b}}}, + {X: Field{[10]uint32{0x0315d6df, 0x01e12a53, 0x00516c54, 0x02dd6e97, 0x026c4ef2, 0x01698309, 0x03cd12f0, 0x03de5401, 0x01b68e3b, 0x0026d434}}, Y: Field{[10]uint32{0x03ddd8fd, 0x01bfadf2, 0x02778737, 0x009cb51f, 0x02403fff, 0x03c63549, 0x003fd2a4, 0x01db6340, 0x0109b791, 0x000abf23}}}, + {X: Field{[10]uint32{0x02e08d32, 0x021657ee, 0x00b80671, 0x035fba0b, 0x02b8dcb9, 0x0074c15a, 0x023a8228, 0x008ff9f7, 0x03ddc8b4, 0x000fe420}}, Y: Field{[10]uint32{0x028fa758, 0x0257ff3c, 0x01376e21, 0x01b48330, 0x0081f77f, 0x03e80868, 0x020ed90a, 0x007646a7, 0x0152fd51, 0x0032c4f0}}}, + {X: Field{[10]uint32{0x02167faf, 0x0041d3bc, 0x00bfadbd, 0x00196754, 0x03c92317, 0x024999b2, 0x02ff6bd5, 0x0306895b, 0x01c1ee17, 0x0031d721}}, Y: Field{[10]uint32{0x00023a52, 0x02bc5a50, 0x00c8596d, 0x005b53df, 0x01bd698a, 0x0191fd23, 0x00ca8922, 0x010275d7, 0x02be5e09, 0x0006ad3a}}}, + {X: Field{[10]uint32{0x00656045, 0x02355da6, 0x03fb95c6, 0x00acf52d, 0x0060ea8e, 0x03deab5f, 0x010cf0d2, 0x03d74ed3, 0x03eaf8a0, 0x00314d07}}, Y: Field{[10]uint32{0x00e88915, 0x034eae5d, 0x023986e6, 0x035535c4, 0x02dc48a4, 0x009aae60, 0x00fa422a, 0x016e7e92, 0x00e9007e, 0x00257e7d}}}, + {X: Field{[10]uint32{0x00c2d89b, 0x01e80c98, 0x027fd896, 0x02ddd4b5, 0x02220852, 0x01c17748, 0x02bd4c68, 0x025f8354, 0x023e2a89, 0x0020eb36}}, Y: Field{[10]uint32{0x03c31df0, 0x03a5de46, 0x00e8e330, 0x00ef752e, 0x030a77cd, 0x025c45d5, 0x01b55809, 0x02e945fd, 0x02e1d655, 0x0037386e}}}, + {X: Field{[10]uint32{0x0025237b, 0x009e6cc0, 0x039625bd, 0x01c5b174, 0x00f1c0d5, 0x00a75653, 0x01c4164e, 0x0241d16e, 0x01468b29, 0x0016e064}}, Y: Field{[10]uint32{0x03625d8e, 0x0227d2bd, 0x034fcf69, 0x0329c6e8, 0x011c48d2, 0x00207cd6, 0x0188daab, 0x0377eafb, 0x02a03fdd, 0x00330d8d}}}, + {X: Field{[10]uint32{0x003b0e6c, 0x0241178b, 0x037219b8, 0x01934e35, 0x0332f5f6, 0x01984139, 0x00417961, 0x00e3bfe0, 0x0122214e, 0x00191de0}}, Y: Field{[10]uint32{0x0211a32d, 0x033e6111, 0x02f81974, 0x000e352b, 0x00d8b632, 0x02e29f47, 0x02afc4a0, 0x03bb1ee3, 0x00497e15, 0x000ca73c}}}, + {X: Field{[10]uint32{0x02f12323, 0x0032e7c6, 0x0017c43d, 0x0275b684, 0x002b475a, 0x02bba199, 0x01099099, 0x018bd1e5, 0x026afe57, 0x003b5360}}, Y: Field{[10]uint32{0x03e48e78, 0x00c6defd, 0x02274d05, 0x02696510, 0x01c4d88c, 0x02b1e467, 0x0296f928, 0x0297bb20, 0x01be3faf, 0x00231be0}}}, + {X: Field{[10]uint32{0x01109c4a, 0x01bad033, 0x02fe97a0, 0x00ad57de, 0x024d82ac, 0x011bf586, 0x016f5513, 0x03b30eb3, 0x0124419a, 0x000e2d0a}}, Y: Field{[10]uint32{0x03e05583, 0x032e4adc, 0x02b07b5a, 0x01a28b39, 0x02de49d7, 0x03cd669a, 0x030965a1, 0x00bdceca, 0x00962feb, 0x001fd0b0}}}, + {X: Field{[10]uint32{0x02138911, 0x02b0ba60, 0x016e3446, 0x018893c8, 0x01bb2a8f, 0x020fa185, 0x034cf701, 0x02529ed0, 0x00a8d8bb, 0x0030f2b5}}, Y: Field{[10]uint32{0x0282765e, 0x023b4e1c, 0x01b2759a, 0x00bbc6c9, 0x01420e37, 0x00b738e8, 0x0342ce38, 0x025d9081, 0x02278cad, 0x003d926f}}}, + {X: Field{[10]uint32{0x00bd6538, 0x02239295, 0x01a9e555, 0x015cd964, 0x00d9212e, 0x038faa7b, 0x03ae40dc, 0x00dbf553, 0x03f4d3d2, 0x000b5023}}, Y: Field{[10]uint32{0x00e815b7, 0x02816d43, 0x021324b9, 0x01c5616a, 0x0285e2a1, 0x00a66fbd, 0x02284bf0, 0x00a81af1, 0x01f0e869, 0x003565ab}}}, + {X: Field{[10]uint32{0x0233c854, 0x02dfaa9e, 0x03daebaf, 0x028e8f1b, 0x03d67423, 0x00fe223a, 0x0290cf81, 0x0097eddb, 0x036d247f, 0x003b9eb7}}, Y: Field{[10]uint32{0x027a8fb4, 0x03bf0754, 0x01801dea, 0x01c5e278, 0x01143f68, 0x01505a27, 0x010dd9ef, 0x03dc15b0, 0x004b4ae8, 0x00381dc6}}}, + {X: Field{[10]uint32{0x01144b34, 0x0047cf80, 0x0064b7c8, 0x028df26a, 0x01dd5d37, 0x01317a27, 0x011151dc, 0x02b284f6, 0x03c8a9ff, 0x000be515}}, Y: Field{[10]uint32{0x035e221d, 0x018d3839, 0x01cfbb40, 0x033acf4f, 0x02787120, 0x035bf122, 0x015407e1, 0x0355ce8a, 0x00489093, 0x003ad326}}}, + {X: Field{[10]uint32{0x03fec294, 0x00311bad, 0x01c277b3, 0x020fbd4c, 0x03601204, 0x03f86378, 0x023478ce, 0x00560873, 0x02b8a0f1, 0x0034fccc}}, Y: Field{[10]uint32{0x030b2155, 0x0085786e, 0x00f9f323, 0x0243bc4d, 0x01c8968b, 0x030dca50, 0x02f1c019, 0x01e18746, 0x01b25d71, 0x003a9d6e}}}, + {X: Field{[10]uint32{0x02152b91, 0x0337c7e3, 0x02f7e9a4, 0x02199ad4, 0x035f3ddb, 0x03bcdb75, 0x021fcd86, 0x016ab4d4, 0x00d338b0, 0x00060d02}}, Y: Field{[10]uint32{0x0241218c, 0x00d54dc5, 0x018095de, 0x01339126, 0x00210e20, 0x00326209, 0x01be21f2, 0x012b1bce, 0x01206edf, 0x0019a661}}}, + {X: Field{[10]uint32{0x0340374e, 0x02558257, 0x006863d3, 0x035b094d, 0x0321faff, 0x0273e269, 0x00f1f0ff, 0x01794eea, 0x005db114, 0x000a0ffb}}, Y: Field{[10]uint32{0x0032fefe, 0x006fa0af, 0x02f77851, 0x000f3ce6, 0x0008846e, 0x01729ba6, 0x0268e5f6, 0x015439a3, 0x023774af, 0x001c2c04}}}, + {X: Field{[10]uint32{0x0152fa62, 0x02837ef7, 0x016daf54, 0x01e5dc3f, 0x00ebc735, 0x0239f6ff, 0x03bd249d, 0x00f3e904, 0x030a4f94, 0x000339d5}}, Y: Field{[10]uint32{0x0375d41d, 0x01be73a2, 0x013907c3, 0x02260f81, 0x00bd5e5b, 0x02e8e617, 0x005bdf98, 0x02573fee, 0x014bef46, 0x0038456c}}}, + {X: Field{[10]uint32{0x038fd470, 0x02529320, 0x02b15377, 0x0055d32f, 0x01df7903, 0x03646549, 0x029f648c, 0x03b0fc49, 0x0319c8f4, 0x001fa713}}, Y: Field{[10]uint32{0x00fa5270, 0x037d73ac, 0x013e9c86, 0x0236b5af, 0x0060fafa, 0x03447d20, 0x015d6ccb, 0x03d732a1, 0x03fe8cf5, 0x003a7676}}}, + {X: Field{[10]uint32{0x00cb001b, 0x01146d19, 0x03ec23bf, 0x0131c8a8, 0x010ba04f, 0x03c8c27e, 0x007f919d, 0x016ffa9f, 0x03e60d5d, 0x0038aa6e}}, Y: Field{[10]uint32{0x02393fb0, 0x004691e1, 0x03f16984, 0x024741a9, 0x03d1925b, 0x039cb2dd, 0x0125bd67, 0x01ab1de2, 0x00e1c3cd, 0x003905df}}}, + {X: Field{[10]uint32{0x01271012, 0x0264009d, 0x00265e70, 0x006c5563, 0x00f55e64, 0x00aa5264, 0x03bf37d4, 0x03bd4390, 0x02a43e17, 0x00141144}}, Y: Field{[10]uint32{0x021ed18b, 0x029274b9, 0x0381b742, 0x02e5a265, 0x011f21c4, 0x02387cb3, 0x00b1f41e, 0x00eb3cb5, 0x03d857ba, 0x00255297}}}, + {X: Field{[10]uint32{0x005f850d, 0x032fa1ca, 0x03411cd5, 0x036285ec, 0x01859945, 0x029cb1c8, 0x02d1d51b, 0x00c97d2c, 0x0013a6bb, 0x0020747c}}, Y: Field{[10]uint32{0x00937193, 0x012f3177, 0x0071adce, 0x0127535c, 0x01259d3d, 0x0262c816, 0x01fe2492, 0x002154ec, 0x03b1f0c3, 0x000b574b}}}, + {X: Field{[10]uint32{0x01895022, 0x00ce0f47, 0x0387ca73, 0x0050528e, 0x01d90dd5, 0x0399b0cf, 0x02872767, 0x02099862, 0x02dfc1d2, 0x0016d9b0}}, Y: Field{[10]uint32{0x0154e0ff, 0x02d51cb5, 0x00f5449e, 0x03684b63, 0x0327fcae, 0x0101fa61, 0x017267b7, 0x0255a488, 0x038e3818, 0x0026f405}}}, + {X: Field{[10]uint32{0x00381186, 0x03e1a208, 0x00597afa, 0x0366bd63, 0x0399b583, 0x036ffe2a, 0x012d544b, 0x0178e36f, 0x030e98ec, 0x002bad7d}}, Y: Field{[10]uint32{0x0184427b, 0x02b705cd, 0x01a052e7, 0x01cc3cbd, 0x01691b09, 0x00cdb908, 0x00b76929, 0x029c37c2, 0x02b0d25c, 0x001862f5}}}, + {X: Field{[10]uint32{0x0105052e, 0x02a60849, 0x0353a707, 0x0329dab5, 0x02557679, 0x01ea700a, 0x0361e3c6, 0x0250ee11, 0x02ffe841, 0x0002ca27}}, Y: Field{[10]uint32{0x0079992c, 0x02e743fa, 0x01e330cf, 0x00e17974, 0x00530ed7, 0x0318920b, 0x034f895d, 0x018aa14e, 0x01f0c218, 0x0001ea60}}}, + {X: Field{[10]uint32{0x0219291c, 0x02f4d5bd, 0x01200f81, 0x005f9138, 0x003f5859, 0x03f4a0a2, 0x00c8360c, 0x006679ac, 0x01458b12, 0x002aeb8e}}, Y: Field{[10]uint32{0x01753f28, 0x02dd7bed, 0x02934233, 0x02ded99f, 0x000b2a81, 0x011a6c1a, 0x03be30b2, 0x01a717a0, 0x03cdb3d0, 0x002b6c8e}}}, + {X: Field{[10]uint32{0x01fbacaa, 0x02720255, 0x03013941, 0x02323646, 0x011e0f65, 0x0063aca7, 0x02c224a5, 0x01696a06, 0x03a6485b, 0x0012a560}}, Y: Field{[10]uint32{0x00e8dbca, 0x00558c6d, 0x037decea, 0x00466dec, 0x00803ecf, 0x01dda36d, 0x02375a8a, 0x010bd7b7, 0x009ee3c8, 0x0036000f}}}, + {X: Field{[10]uint32{0x00ebc169, 0x00404084, 0x017ae3a2, 0x0305183c, 0x02ea236a, 0x012ac367, 0x03cf4654, 0x03df2d97, 0x030edba6, 0x00354bd8}}, Y: Field{[10]uint32{0x030d26d0, 0x0304f84d, 0x003d9145, 0x003106f2, 0x0368e21a, 0x02801714, 0x01bea50d, 0x00ee20f9, 0x03489fa9, 0x00084555}}}, + {X: Field{[10]uint32{0x02dd6a4d, 0x00384826, 0x029bf8d1, 0x018cd6f2, 0x01c74a2a, 0x00b9307a, 0x0050fc05, 0x016163d7, 0x023782c7, 0x0002f714}}, Y: Field{[10]uint32{0x0034f189, 0x01010d9a, 0x0323e585, 0x00ef0755, 0x0312ff02, 0x02fd4a74, 0x014efbaf, 0x01d9a388, 0x01f87463, 0x002aec76}}}, + {X: Field{[10]uint32{0x019ad087, 0x038244b9, 0x00e8626e, 0x005a3c4f, 0x0288156d, 0x03ad859e, 0x0364e476, 0x02aae0ee, 0x02338bf0, 0x00111dc2}}, Y: Field{[10]uint32{0x0360a55c, 0x0170cf7b, 0x01b99c96, 0x008edca4, 0x036a3abd, 0x030b5915, 0x0393a895, 0x0102f2cc, 0x00f12e9c, 0x0016d64c}}}, + {X: Field{[10]uint32{0x015e1679, 0x00b64914, 0x021c83e3, 0x02363ba3, 0x02650310, 0x00f8d99c, 0x01ac2032, 0x012bb8c6, 0x03322e40, 0x002c579e}}, Y: Field{[10]uint32{0x01997e7a, 0x00f3abcf, 0x03d57a87, 0x00961cd1, 0x005ced5c, 0x001e5bd4, 0x002ed565, 0x02ca457e, 0x00190bbf, 0x001491aa}}}, + {X: Field{[10]uint32{0x01b00f22, 0x02f66bb7, 0x0019027b, 0x00235781, 0x01665ae1, 0x0287077e, 0x0050f758, 0x017343cb, 0x01570522, 0x00287b5d}}, Y: Field{[10]uint32{0x02791ee2, 0x0049dd9a, 0x001a13d2, 0x001024ca, 0x02d71dbd, 0x02143b40, 0x017e7464, 0x021d21ee, 0x005dad9f, 0x000f20c5}}}, + {X: Field{[10]uint32{0x01918af5, 0x022becc7, 0x037a23cf, 0x032708e8, 0x03479e9e, 0x03181603, 0x03fc43c2, 0x03183f66, 0x03616a1b, 0x003a2abc}}, Y: Field{[10]uint32{0x0279827c, 0x02dbc9e7, 0x03d3ec89, 0x000e96b0, 0x009ab9c3, 0x02e68356, 0x0141041a, 0x0319c9f8, 0x03b64a37, 0x001b39a4}}}, + {X: Field{[10]uint32{0x014c20a3, 0x00ea8dc1, 0x01b76c5a, 0x010ce28f, 0x020759c0, 0x0061e9b5, 0x024a4ef6, 0x01798d4a, 0x00cd2c85, 0x001771be}}, Y: Field{[10]uint32{0x026f4838, 0x01c05193, 0x03f0fbb8, 0x03d4b9a9, 0x000fe9f5, 0x0307620d, 0x031d1bc7, 0x02a6a359, 0x03428593, 0x003d80b0}}}, + {X: Field{[10]uint32{0x0342f3a6, 0x0281f2da, 0x0326a5f1, 0x0081186b, 0x00f65636, 0x00aa9227, 0x02063ef2, 0x0362bda2, 0x031167be, 0x0018cc9c}}, Y: Field{[10]uint32{0x034424a6, 0x0032e06d, 0x01f1a3ea, 0x00026a46, 0x02bf94a7, 0x01874f95, 0x00ca0367, 0x004c83c8, 0x03b22070, 0x002e3df0}}}, + {X: Field{[10]uint32{0x00080263, 0x008c3e52, 0x020d3535, 0x002b5e62, 0x03ad66e5, 0x03a19536, 0x005c2017, 0x00ece08c, 0x01259a39, 0x00229036}}, Y: Field{[10]uint32{0x019fcaff, 0x02d747e7, 0x01d6f6a7, 0x03326a69, 0x0143f9cb, 0x031985b4, 0x03f703a5, 0x01153b75, 0x034d9849, 0x002beda9}}}, + {X: Field{[10]uint32{0x0078645a, 0x037abe08, 0x0317dcdf, 0x022f3082, 0x02a6a02c, 0x02816df7, 0x017fd3f9, 0x01082bd4, 0x010727c7, 0x0039c51c}}, Y: Field{[10]uint32{0x0217daca, 0x00513ad0, 0x03055eaa, 0x02809606, 0x01a3561b, 0x025ac13e, 0x01d5dcdc, 0x03a753fb, 0x03cbc1ed, 0x00369f59}}}, + {X: Field{[10]uint32{0x0261c82d, 0x007da725, 0x026c0cae, 0x03a24700, 0x029922bc, 0x014e54b0, 0x0242a685, 0x02e1e007, 0x011cd95f, 0x00184c4a}}, Y: Field{[10]uint32{0x0130bf01, 0x03f0410b, 0x03b89384, 0x01e44dcc, 0x0042b894, 0x02b98cae, 0x014f9898, 0x00bf5167, 0x001c1334, 0x00058387}}}, + {X: Field{[10]uint32{0x01ca4951, 0x00af3c74, 0x003bfb78, 0x02a76940, 0x02fc5e2a, 0x01e22027, 0x029bfa81, 0x011a4b42, 0x0045b676, 0x0012f13e}}, Y: Field{[10]uint32{0x00b751f0, 0x03103f04, 0x0383cefd, 0x0315fec5, 0x0164c4a7, 0x029dbb01, 0x03055ff3, 0x0349538e, 0x01cbb9c3, 0x0021c24b}}}, + {X: Field{[10]uint32{0x02be67df, 0x039bb2a8, 0x0201f698, 0x017560a8, 0x0052865b, 0x02617cd9, 0x039bff5c, 0x03a77ca7, 0x00a27bbe, 0x00116a20}}, Y: Field{[10]uint32{0x0055fabb, 0x00cae8de, 0x00eb6131, 0x01ae3ba5, 0x02a831d4, 0x02af5643, 0x0279714d, 0x01afc7bd, 0x02a8b5e4, 0x003f9269}}}, + {X: Field{[10]uint32{0x02f4f2a4, 0x03c68352, 0x000d3f21, 0x0256c854, 0x01877e54, 0x00805174, 0x016847a2, 0x00321993, 0x0238317c, 0x001aa09a}}, Y: Field{[10]uint32{0x005f4513, 0x0117e1f8, 0x0322c154, 0x002ef081, 0x02f6b83f, 0x01b9ad1e, 0x02f14e0e, 0x02098f7c, 0x014efcc9, 0x00114865}}}, + {X: Field{[10]uint32{0x026a23a9, 0x03a28d0d, 0x0075f613, 0x0379f1b3, 0x028bd860, 0x0277395c, 0x008aa1b0, 0x03dfa5b3, 0x0106f255, 0x00054d59}}, Y: Field{[10]uint32{0x00110bf3, 0x014ec700, 0x034cee3e, 0x02d38d8a, 0x03122f37, 0x03e26977, 0x01e401f1, 0x03521435, 0x03bcd744, 0x0033456a}}}, + {X: Field{[10]uint32{0x02b89b91, 0x0387283c, 0x0043a2b5, 0x02973299, 0x00cacff3, 0x00b6b0bb, 0x00651780, 0x027d7dae, 0x02aef53d, 0x003cef04}}, Y: Field{[10]uint32{0x00e00957, 0x03294246, 0x03131368, 0x017fc91f, 0x01303e91, 0x0281cdeb, 0x03d0f367, 0x0047c907, 0x036beb2e, 0x0033f534}}}, + {X: Field{[10]uint32{0x035c0fd4, 0x00a0a5cc, 0x033736f7, 0x03bd6114, 0x0122320b, 0x02ce1d92, 0x0226ef18, 0x0294dbde, 0x006dfa04, 0x001f8f23}}, Y: Field{[10]uint32{0x01f7c189, 0x01c4a134, 0x03fe9155, 0x01362339, 0x02b6a129, 0x000f008d, 0x032400b3, 0x00cdb4cc, 0x02b532a7, 0x001cba85}}}, + {X: Field{[10]uint32{0x010369d8, 0x0111822b, 0x03223d88, 0x026f5b85, 0x026943ab, 0x0214557f, 0x021c696d, 0x017f0b05, 0x03cfa057, 0x0006632f}}, Y: Field{[10]uint32{0x013cf7ae, 0x01cac985, 0x006c2f29, 0x025209e9, 0x03032159, 0x039ee8b9, 0x019fe0ef, 0x00908af9, 0x028b3095, 0x00357989}}}, + {X: Field{[10]uint32{0x03b0e5e8, 0x02c4d42b, 0x01fd63ae, 0x02a9e02c, 0x015a147c, 0x00226e43, 0x0183c089, 0x03cd6888, 0x0289b68c, 0x0007815b}}, Y: Field{[10]uint32{0x003f32b9, 0x0011cae5, 0x008379f8, 0x00e431be, 0x003e258a, 0x01b505bd, 0x02d6ff38, 0x01315f76, 0x0053abc4, 0x002e0905}}}, + {X: Field{[10]uint32{0x02faaa21, 0x031ca79c, 0x018fb3fa, 0x011339fe, 0x03d81081, 0x02991b51, 0x0173b2f1, 0x01f9fa98, 0x01748d82, 0x00371ffe}}, Y: Field{[10]uint32{0x030c4914, 0x00b9ffb9, 0x02a1aaaf, 0x001c51b6, 0x013e3d5f, 0x01105f1c, 0x038e1c5c, 0x01bc3ff2, 0x005aef4c, 0x00307f6b}}}, + {X: Field{[10]uint32{0x03d28e79, 0x027686cb, 0x00ec29a9, 0x03c2fe3e, 0x0036b2ef, 0x0337ef12, 0x0354bc11, 0x00781c14, 0x02fcc498, 0x001c6e57}}, Y: Field{[10]uint32{0x03d684cc, 0x010b31bb, 0x03fa30af, 0x02c269cd, 0x011f3695, 0x00faef14, 0x004752cc, 0x01abbb0c, 0x01976fad, 0x003f568c}}}, + {X: Field{[10]uint32{0x02542b3a, 0x01a20eb7, 0x004ae687, 0x008625c1, 0x03f6b961, 0x0096eea0, 0x033e8ffa, 0x00af5b27, 0x00af29dc, 0x0010e153}}, Y: Field{[10]uint32{0x009c6c81, 0x02d1200f, 0x03f36fd8, 0x02957072, 0x0034c5c9, 0x02893d56, 0x01e31677, 0x018cbe37, 0x01760897, 0x00158d94}}}, + {X: Field{[10]uint32{0x0027b222, 0x00bb3cb5, 0x0396145c, 0x0243ee1d, 0x00b6eff9, 0x0357f421, 0x00c9b730, 0x027e71c2, 0x0217090e, 0x0000ab7f}}, Y: Field{[10]uint32{0x03abd7ed, 0x01b66d14, 0x010cd4c8, 0x008301a5, 0x02c44398, 0x0334a244, 0x00ae425c, 0x0367188b, 0x01605d6d, 0x002d738c}}}, + {X: Field{[10]uint32{0x03a9d6f9, 0x038fa089, 0x00620471, 0x0152b8cf, 0x0209f70c, 0x02cffcc6, 0x033a5343, 0x02bcc456, 0x012c2b7e, 0x002848d1}}, Y: Field{[10]uint32{0x01e3b4eb, 0x0053337b, 0x0396e8fa, 0x029bdde7, 0x03f53e37, 0x03f15179, 0x008194aa, 0x007d10de, 0x008378a7, 0x0024cf4d}}}, + {X: Field{[10]uint32{0x02c0a6ab, 0x01b8cb33, 0x00a603d0, 0x02b9f7b3, 0x03aab166, 0x004d21cd, 0x00152176, 0x016a061b, 0x03c2ca99, 0x0026e268}}, Y: Field{[10]uint32{0x03731232, 0x02a322b9, 0x0141480b, 0x034150ed, 0x03cbea83, 0x0092b020, 0x03c48302, 0x012c4af5, 0x0301a872, 0x000a9f4d}}}, + {X: Field{[10]uint32{0x01e9e9b2, 0x01e59184, 0x032edc90, 0x00ce7b62, 0x03384b04, 0x031149ca, 0x022b9a0d, 0x035ce423, 0x0057e7d9, 0x0019375d}}, Y: Field{[10]uint32{0x023c470e, 0x00a430e0, 0x03885b29, 0x031de03b, 0x014e311d, 0x019a6626, 0x0208a723, 0x03b85bb5, 0x00aae214, 0x003aa43e}}}, + {X: Field{[10]uint32{0x03a2176c, 0x015d9f5b, 0x0150a6b3, 0x010871fd, 0x0320abba, 0x03adc721, 0x027fd714, 0x01f1af4c, 0x0031be60, 0x0016489d}}, Y: Field{[10]uint32{0x0061d598, 0x01449712, 0x03d0b870, 0x02c4b254, 0x00796da2, 0x00f3cfce, 0x03d289ea, 0x01549d96, 0x01c4071c, 0x0032dd5c}}}, + {X: Field{[10]uint32{0x015fe2c2, 0x0041bbde, 0x03bdc8c5, 0x00229c8d, 0x03843b7d, 0x024dd0d8, 0x000ddf19, 0x01ba7872, 0x01cdadb2, 0x0014f5d9}}, Y: Field{[10]uint32{0x017c287b, 0x0269016b, 0x000bec98, 0x00ec4a29, 0x00a66d4f, 0x01351454, 0x0187f819, 0x025ceddb, 0x0198eb39, 0x001eeeec}}}, + {X: Field{[10]uint32{0x03bb66af, 0x02d46695, 0x03fc16d7, 0x02426d9b, 0x010452ee, 0x03d7fdb0, 0x03a989c0, 0x00efcd48, 0x029ec16b, 0x003941f7}}, Y: Field{[10]uint32{0x03f7892a, 0x014078a3, 0x0195259a, 0x03401320, 0x0251b6d3, 0x022566b4, 0x008b3950, 0x0379b8f7, 0x002a8272, 0x0028bcbc}}}, + {X: Field{[10]uint32{0x01b4a6f2, 0x027260ce, 0x03983556, 0x01db8a95, 0x0265601d, 0x027d82de, 0x0103b8cb, 0x013eca06, 0x00c60eb8, 0x00005bd2}}, Y: Field{[10]uint32{0x0132b289, 0x023d40f7, 0x016a441d, 0x00a43d25, 0x03d827b6, 0x02dbbd13, 0x031e75d5, 0x01a0759b, 0x03848398, 0x002184ee}}}, + {X: Field{[10]uint32{0x01446056, 0x02d8ce78, 0x03af90ca, 0x00e0a8ec, 0x010bb98e, 0x00f44b61, 0x00b51323, 0x01978c9c, 0x01ae7742, 0x0019411c}}, Y: Field{[10]uint32{0x01a50306, 0x009c92a9, 0x03cda4e6, 0x00c85765, 0x01187b40, 0x00d670ce, 0x0290a62d, 0x01bf9b2b, 0x039334aa, 0x0020e39d}}}, + {X: Field{[10]uint32{0x0021dda8, 0x02ab0aaf, 0x00821559, 0x0287f5eb, 0x02348d1b, 0x026097eb, 0x010e19d6, 0x01613f32, 0x0016fa34, 0x000577a9}}, Y: Field{[10]uint32{0x00433047, 0x01c090ea, 0x01c15d40, 0x03d7517e, 0x00010fa5, 0x012f44c1, 0x012a3d28, 0x0339a3b8, 0x03f21e19, 0x00007f2a}}}, + {X: Field{[10]uint32{0x005b46e2, 0x032e81ec, 0x00751dc5, 0x001ed3df, 0x02ee9d6a, 0x00d5ee91, 0x03900878, 0x01c3b4f6, 0x00954f1f, 0x002d0ac9}}, Y: Field{[10]uint32{0x0169ed71, 0x0065a802, 0x03ec69f9, 0x02d31546, 0x034851f5, 0x00110f18, 0x0328d6da, 0x036f9b5b, 0x03eb0e0b, 0x003855c8}}}, + {X: Field{[10]uint32{0x00230f83, 0x03f15ff0, 0x00960a17, 0x01fa3894, 0x006ab10b, 0x03b26d18, 0x02b1125d, 0x02b0c476, 0x00f5c6ae, 0x00023a79}}, Y: Field{[10]uint32{0x03959ab2, 0x01db4c6a, 0x03dee645, 0x00d358a1, 0x03f1e32c, 0x0016899f, 0x03d4e53a, 0x02ede5e2, 0x0211c79f, 0x003fec38}}}, + {X: Field{[10]uint32{0x03e1ac2e, 0x0127fa4f, 0x03528295, 0x0207e012, 0x03d6f2bb, 0x0353542f, 0x027fb63b, 0x012dce18, 0x032373bd, 0x0021ef9c}}, Y: Field{[10]uint32{0x0294e1a4, 0x01087e1f, 0x00288ce8, 0x01f5d589, 0x021ae553, 0x03038956, 0x00844b2e, 0x02e6d7ff, 0x006ff147, 0x003daa46}}}, + {X: Field{[10]uint32{0x019d60f7, 0x01c9f859, 0x02c95002, 0x019abcd2, 0x01d2cfd4, 0x01722493, 0x029514ab, 0x00e1d217, 0x0161c836, 0x0010d807}}, Y: Field{[10]uint32{0x03bc2c2a, 0x039d6d60, 0x02b099a5, 0x00d999e7, 0x00113335, 0x02316eef, 0x028034b8, 0x032536cc, 0x00007c09, 0x0021e470}}}, + {X: Field{[10]uint32{0x02b49d0d, 0x02abe8ca, 0x020aca0d, 0x0250a895, 0x026902e3, 0x0299abe5, 0x01f0bcbb, 0x01c714d9, 0x0180f830, 0x000d06c5}}, Y: Field{[10]uint32{0x00877b20, 0x00d38519, 0x01d941c0, 0x0386e840, 0x037e8fdb, 0x0119271b, 0x03564d2d, 0x024099ff, 0x0313c549, 0x0012e616}}}, + {X: Field{[10]uint32{0x014dad95, 0x009c5c7c, 0x012eb576, 0x02a39592, 0x0033ac1a, 0x01e7ec55, 0x03181e2c, 0x00e90df1, 0x00b3ce4a, 0x0005d79f}}, Y: Field{[10]uint32{0x01135b0d, 0x0363f0a0, 0x01d9ce92, 0x01558f29, 0x02581301, 0x00da5bd0, 0x038703f9, 0x03d4bbf3, 0x01a87834, 0x000c7398}}}, + {X: Field{[10]uint32{0x007165ad, 0x0391704c, 0x03a98249, 0x02553202, 0x0089c1e4, 0x0328fb2b, 0x033c8482, 0x0071878e, 0x00cc64e6, 0x0016b50c}}, Y: Field{[10]uint32{0x0251c791, 0x033b3aa4, 0x03fbeac7, 0x01b86b08, 0x009ead5f, 0x016a2e17, 0x03ca083c, 0x004ef0c5, 0x0060505c, 0x002fa8a8}}}, + {X: Field{[10]uint32{0x01b8b837, 0x03fbe983, 0x009f28ae, 0x038f75f4, 0x01080f0c, 0x01fea130, 0x00602df0, 0x038c6262, 0x00d96dac, 0x00107738}}, Y: Field{[10]uint32{0x02827928, 0x03fe3434, 0x02e333cd, 0x0247e137, 0x02088500, 0x0154c8ed, 0x02635ea8, 0x01ba7225, 0x003fed9a, 0x001d258b}}}, + {X: Field{[10]uint32{0x01961bcc, 0x0330508e, 0x03e5ba23, 0x017810cb, 0x039aed2d, 0x00819d90, 0x03c1dc25, 0x01376840, 0x00988710, 0x00297bd1}}, Y: Field{[10]uint32{0x0122db3a, 0x02c3587c, 0x009f0696, 0x0099d96c, 0x02a165c5, 0x0194ee9e, 0x02ecc328, 0x038364f9, 0x003ea363, 0x00072f3e}}}, + {X: Field{[10]uint32{0x033a9d45, 0x015c8d7e, 0x01e626db, 0x00b8b5b5, 0x0218225f, 0x014a8b2f, 0x03df68b8, 0x01800ce2, 0x02ce9ad4, 0x0013689b}}, Y: Field{[10]uint32{0x01fae659, 0x037a427a, 0x029c73d3, 0x001b9ee8, 0x0061b0a8, 0x030f587d, 0x0210e2d1, 0x011aff31, 0x02637ab5, 0x003442d6}}}, + {X: Field{[10]uint32{0x018f4763, 0x03b71a7e, 0x0111129d, 0x0214479a, 0x03e9d955, 0x0286693d, 0x00d8eb16, 0x01023922, 0x026f53d2, 0x001b9887}}, Y: Field{[10]uint32{0x00ea1a19, 0x017f540f, 0x0048e4bb, 0x00b2d4b1, 0x007b945a, 0x00d0b1ef, 0x01ad4779, 0x02c4c4d0, 0x02f273e1, 0x001ec523}}}, + {X: Field{[10]uint32{0x038be83b, 0x01553549, 0x02ab6da4, 0x002a3c20, 0x0066bae2, 0x028e56a4, 0x017ea758, 0x01d1a66d, 0x03645bed, 0x003aebd5}}, Y: Field{[10]uint32{0x03cfbba7, 0x02ae782f, 0x02028650, 0x01298049, 0x02d91631, 0x0227b8f9, 0x029ea943, 0x00c0cd78, 0x00e06c65, 0x001611fd}}}, + {X: Field{[10]uint32{0x0310182f, 0x03fd8d4c, 0x0017a6a6, 0x028450e3, 0x02faa38c, 0x014ac574, 0x0355dbf0, 0x018cb492, 0x0271711b, 0x00303e22}}, Y: Field{[10]uint32{0x010676ff, 0x027913b3, 0x012481c5, 0x02605069, 0x03fb2e98, 0x002020be, 0x0211eec4, 0x01c08619, 0x014d16c0, 0x000b2feb}}}, + {X: Field{[10]uint32{0x035c6350, 0x00a1ec16, 0x00ae01b5, 0x02dcf3dc, 0x02dc1cdd, 0x018a48b1, 0x0244fbf2, 0x02526318, 0x001884b7, 0x001766db}}, Y: Field{[10]uint32{0x017fdf1d, 0x0144431f, 0x0297e5e8, 0x02316dab, 0x0118db17, 0x02d53321, 0x03e1644b, 0x0058b12a, 0x031d2f2b, 0x000ca3a0}}}, + {X: Field{[10]uint32{0x0202e21c, 0x03127c13, 0x00016654, 0x02555641, 0x03e57d75, 0x008e94ed, 0x03214c63, 0x01b9a753, 0x020f37ed, 0x0034744d}}, Y: Field{[10]uint32{0x01d15e4e, 0x007ce51b, 0x02b6a152, 0x0351b248, 0x006eba68, 0x002a2c40, 0x01594144, 0x02d4fe51, 0x0293c6c9, 0x00189fba}}}, + {X: Field{[10]uint32{0x02411731, 0x01a732fb, 0x00703e49, 0x020d959d, 0x02ace29a, 0x01ec6cac, 0x02cfa189, 0x00ebd562, 0x03cbf102, 0x003bf261}}, Y: Field{[10]uint32{0x01740c69, 0x026f10bd, 0x01dbbe15, 0x03f27d59, 0x02e38242, 0x02f3bd0c, 0x02429863, 0x002fb1c5, 0x0265d379, 0x0006569a}}}, + {X: Field{[10]uint32{0x00284ff0, 0x0243ea86, 0x02b01310, 0x01ee0fbd, 0x00968d1d, 0x00e19120, 0x0388b787, 0x03cef586, 0x0397163d, 0x003cc09a}}, Y: Field{[10]uint32{0x0211509b, 0x015ab06d, 0x030e9a6c, 0x01321359, 0x035f8764, 0x0167c1bf, 0x0281615d, 0x018eaefc, 0x02616823, 0x0005df0e}}}, + {X: Field{[10]uint32{0x002c5873, 0x0082435a, 0x0030b562, 0x03e5a3fe, 0x020deeec, 0x03273fd1, 0x02c92c68, 0x016da64a, 0x035f123b, 0x00174d3f}}, Y: Field{[10]uint32{0x01955ac8, 0x02d989b1, 0x02ff3d49, 0x03ea03e2, 0x0025443e, 0x023ac586, 0x0204df14, 0x0281950c, 0x039c8eab, 0x000b4682}}}, + {X: Field{[10]uint32{0x028447f4, 0x019ca011, 0x030bbdac, 0x0074c6a6, 0x00e0ee59, 0x010c2332, 0x01da0658, 0x01491f0e, 0x021794a9, 0x0032fe6e}}, Y: Field{[10]uint32{0x00461736, 0x009e5ab4, 0x005381b8, 0x0075d3c0, 0x03405810, 0x00d044b4, 0x025fade9, 0x02ba8408, 0x00c310fe, 0x001526c6}}}, + {X: Field{[10]uint32{0x03dcd31f, 0x032b3531, 0x03a5379a, 0x02e0da35, 0x008e7747, 0x015e9cd1, 0x01982a6b, 0x00986efd, 0x01ba09e2, 0x0024825d}}, Y: Field{[10]uint32{0x00b46dbd, 0x039d8e2b, 0x03dcb434, 0x012f5516, 0x016367d2, 0x0255040c, 0x0221f5ae, 0x01543424, 0x010881af, 0x003a5781}}}, + {X: Field{[10]uint32{0x03eeca64, 0x033c4c81, 0x000ff33f, 0x0048ef06, 0x00391323, 0x02d3c974, 0x02cdce82, 0x02d57649, 0x02e46fdc, 0x002056ca}}, Y: Field{[10]uint32{0x01b8c971, 0x022d3f92, 0x01512c96, 0x021d57c9, 0x0199285b, 0x0194462e, 0x01e2e268, 0x018dd23c, 0x03c67d88, 0x0018bd8d}}}, + {X: Field{[10]uint32{0x03e0b16e, 0x00f1153d, 0x019260de, 0x0097688c, 0x0227ca80, 0x02934e1f, 0x02a86397, 0x0352e8c3, 0x02c28e28, 0x0006ee69}}, Y: Field{[10]uint32{0x00d7ab93, 0x03bf1277, 0x01a94f56, 0x0355040d, 0x03206349, 0x031f8051, 0x004265ea, 0x005c7206, 0x00165e32, 0x002832f0}}}, + {X: Field{[10]uint32{0x0268bc22, 0x00cdf1b6, 0x00c3d34d, 0x02e9e3ad, 0x019c05a4, 0x03789e3c, 0x019d29dd, 0x020faac2, 0x03fedffd, 0x001bc054}}, Y: Field{[10]uint32{0x03f0c626, 0x00147e79, 0x02f824d5, 0x019c3838, 0x039fc499, 0x0288c7ca, 0x00041d3a, 0x00fe167d, 0x000d3501, 0x00294cb4}}}, + {X: Field{[10]uint32{0x0320258a, 0x032dea46, 0x028552e9, 0x039b1b6b, 0x02ed23e5, 0x006fd556, 0x000d3847, 0x01de9034, 0x033b3bee, 0x000d153d}}, Y: Field{[10]uint32{0x00d18dde, 0x023e54b6, 0x0128f23a, 0x00e8fd03, 0x03992683, 0x01af7b70, 0x025bcaa0, 0x007a3cff, 0x0046cfdf, 0x0024b082}}}, + {X: Field{[10]uint32{0x030e9a86, 0x024c5f08, 0x01f02fc5, 0x021903b7, 0x001dfcf6, 0x0354a00c, 0x00c2616a, 0x01ad386e, 0x03c9a360, 0x000d9e01}}, Y: Field{[10]uint32{0x016ecae6, 0x012904b0, 0x01a14830, 0x00bc00a0, 0x03fdc4f9, 0x00902572, 0x01ba14c1, 0x03b39c0f, 0x032fa2bb, 0x0007c08f}}}, + {X: Field{[10]uint32{0x001af62b, 0x02965048, 0x00909acb, 0x0105d7f1, 0x0101b825, 0x03112e05, 0x034e06f0, 0x03dabc4d, 0x01c39891, 0x0023b13f}}, Y: Field{[10]uint32{0x034e5f1b, 0x015b3dfb, 0x01751137, 0x033d7f0a, 0x00fe067b, 0x00f1e63e, 0x01ca0e50, 0x03621e0f, 0x02e5cac2, 0x000b71b2}}}, + {X: Field{[10]uint32{0x0178a263, 0x026c1aa4, 0x03842872, 0x014546e2, 0x03ffa085, 0x017ea4df, 0x0142f91e, 0x0093e451, 0x026d4c5b, 0x00173092}}, Y: Field{[10]uint32{0x037da472, 0x027573fe, 0x00b98da1, 0x02a0f76f, 0x02ca8d55, 0x0067e87f, 0x0338a4e4, 0x00687efe, 0x02358153, 0x002c76a1}}}, + {X: Field{[10]uint32{0x03599e9f, 0x013f1378, 0x02a21913, 0x01414314, 0x0292602a, 0x02a04374, 0x0244a6cd, 0x00170ea5, 0x0126c039, 0x0020e416}}, Y: Field{[10]uint32{0x0246089a, 0x0038315e, 0x01e16cf2, 0x022c8767, 0x00909429, 0x02a0dd8e, 0x00b115ea, 0x019e4a88, 0x020fe8af, 0x0010a4c9}}}, + {X: Field{[10]uint32{0x0189b6c7, 0x02ca6159, 0x00822481, 0x0050d2b9, 0x02e8fa6c, 0x034e1e3e, 0x0204ac30, 0x03a777e0, 0x017e4721, 0x002512c2}}, Y: Field{[10]uint32{0x03d6ddf6, 0x03d2e5a6, 0x00e8ee8a, 0x013011d9, 0x011525bd, 0x039d16e6, 0x03796431, 0x02c257e2, 0x016530e9, 0x0017f11d}}}, + {X: Field{[10]uint32{0x0023b73d, 0x017aefcd, 0x0030107b, 0x00797ea4, 0x0117327a, 0x018e9ccc, 0x00aaf04a, 0x0304d387, 0x023fcfb7, 0x002ac2d2}}, Y: Field{[10]uint32{0x0296c9da, 0x00efc6b3, 0x00781376, 0x034de170, 0x02b84944, 0x02bb334e, 0x038c92cf, 0x02ea2b35, 0x0263a5bb, 0x003879e4}}}, + {X: Field{[10]uint32{0x03e8b85f, 0x00f7fb83, 0x010bcf80, 0x0361efc2, 0x031aa2c3, 0x0168b939, 0x03f7fbf0, 0x00ac3bde, 0x00b5220f, 0x0015e8d1}}, Y: Field{[10]uint32{0x01a7d04e, 0x0398e6ec, 0x00f10576, 0x00f059e3, 0x01a9e11a, 0x00e9caa5, 0x00c9f135, 0x02588392, 0x010e08ef, 0x003e0adf}}}, + {X: Field{[10]uint32{0x00d81ac5, 0x02498ff2, 0x0188da1a, 0x025bb118, 0x033608e3, 0x033c3d3f, 0x038c4c95, 0x01f13147, 0x021a800b, 0x001b814f}}, Y: Field{[10]uint32{0x015e7473, 0x0363124e, 0x03dbadc3, 0x01e5c80b, 0x0362e365, 0x03390a30, 0x035384ff, 0x008f2786, 0x0298e3c8, 0x00218e27}}}, + {X: Field{[10]uint32{0x02485cb7, 0x03ab8973, 0x03f1c59d, 0x03b1fc20, 0x0148a289, 0x0159ed51, 0x00d4a7c7, 0x01c5fecc, 0x00061804, 0x0018b5d9}}, Y: Field{[10]uint32{0x0268be84, 0x03f2506d, 0x020fc4ca, 0x00b6989a, 0x03d1509b, 0x011c3ed4, 0x031d57b9, 0x007e3614, 0x014b661d, 0x003c758c}}}, + {X: Field{[10]uint32{0x0129250f, 0x011fcc77, 0x006589e3, 0x00020b4d, 0x025c4d08, 0x02f49126, 0x00cf1080, 0x02caaa0c, 0x00f2219f, 0x003976ca}}, Y: Field{[10]uint32{0x008bd453, 0x023f9a22, 0x00b248e5, 0x034bcd7e, 0x03324fcf, 0x02b512db, 0x03b7012e, 0x01f756e8, 0x024632f9, 0x0030a5b9}}}, + {X: Field{[10]uint32{0x01b32729, 0x02057c42, 0x00ab23fe, 0x026f0a65, 0x03733ec8, 0x03ffe0c7, 0x013177c9, 0x00379229, 0x03e9a3d0, 0x0011c96c}}, Y: Field{[10]uint32{0x01f8e778, 0x0279a26e, 0x02e12d4a, 0x0334a5e7, 0x02324127, 0x0120aed4, 0x01fdb741, 0x03003c51, 0x0347de38, 0x002b0edd}}}, + {X: Field{[10]uint32{0x01d72b3e, 0x0278d190, 0x00569bbe, 0x017a9db8, 0x03b036b6, 0x0004f8d1, 0x00ed9187, 0x01cb9ce5, 0x03b6492c, 0x003434eb}}, Y: Field{[10]uint32{0x0202fef3, 0x010bede3, 0x03f1396f, 0x002c0bd8, 0x00bd952b, 0x0028a158, 0x0061caa0, 0x03f81d4c, 0x005b94aa, 0x000b74e9}}}, + {X: Field{[10]uint32{0x0304632c, 0x0241a3f0, 0x00b4c786, 0x03b73d2d, 0x03104143, 0x0092b3fc, 0x0385654a, 0x03215e5e, 0x0335d717, 0x001e14f9}}, Y: Field{[10]uint32{0x021efadd, 0x00d4d577, 0x00e69cb5, 0x0068524e, 0x02bae3a3, 0x01680a48, 0x0377a8fb, 0x03452b09, 0x03d9e70f, 0x00002a1c}}}, + {X: Field{[10]uint32{0x02e904a4, 0x02778ce3, 0x032ca778, 0x0325fe75, 0x02ee44e2, 0x013248d5, 0x021a01a1, 0x0371644e, 0x02b37d4f, 0x0001b6c9}}, Y: Field{[10]uint32{0x031941fb, 0x00a2ba58, 0x01b6854a, 0x02498e1a, 0x02d8adf7, 0x02612712, 0x001c409e, 0x028330a3, 0x0225bf2b, 0x00053f88}}}, + {X: Field{[10]uint32{0x032848df, 0x028bbe3a, 0x00ce699a, 0x003d8ea7, 0x02538e40, 0x01a7e90f, 0x02f7f5c6, 0x02bcf02c, 0x0069bb98, 0x002d4bc2}}, Y: Field{[10]uint32{0x0107be5a, 0x005b85e2, 0x03858bb6, 0x02329dbe, 0x028b821c, 0x00395eda, 0x03378cca, 0x01152b9e, 0x032455bc, 0x0009159a}}}, + {X: Field{[10]uint32{0x0197b448, 0x007e4e80, 0x037e4c1e, 0x03004e13, 0x03234152, 0x01c3e9f0, 0x034a9e99, 0x02bc0fac, 0x01e11ee6, 0x00218537}}, Y: Field{[10]uint32{0x0372f3cc, 0x0134f31e, 0x02ba15e5, 0x015762e9, 0x024e5c7e, 0x008c3103, 0x0222b5ad, 0x01a1c0ae, 0x01a2ac99, 0x000a8449}}}, + {X: Field{[10]uint32{0x038c1cfa, 0x00824de4, 0x00ab2dbc, 0x03ad6743, 0x008b3308, 0x03c82f74, 0x0271c180, 0x01b96de3, 0x03ae625f, 0x00260a8d}}, Y: Field{[10]uint32{0x02a40d0c, 0x014c26ad, 0x017dc18e, 0x00af75b1, 0x032a689e, 0x02d41c2f, 0x01249e20, 0x0144a164, 0x016f00a6, 0x0019c7f8}}}, + {X: Field{[10]uint32{0x003e703a, 0x0068bf53, 0x01d9b408, 0x02bc8b2a, 0x00627a09, 0x0248c700, 0x019742fc, 0x020a73b2, 0x030526b4, 0x001afaa4}}, Y: Field{[10]uint32{0x019a6cc1, 0x00ac1652, 0x014832b0, 0x0043116f, 0x01d7541f, 0x00650f9a, 0x0344d14b, 0x01ed307c, 0x002a5451, 0x002bb150}}}, + {X: Field{[10]uint32{0x02583edb, 0x01ef4a65, 0x019200ba, 0x026481cc, 0x0054016a, 0x01b445ac, 0x00188b33, 0x0121f9f3, 0x03818694, 0x002d5c91}}, Y: Field{[10]uint32{0x03845cdc, 0x03d8a19d, 0x03ec6208, 0x02ced35f, 0x011d278f, 0x02f163ff, 0x018262de, 0x0292f4f5, 0x01861f80, 0x00172ef4}}}, + {X: Field{[10]uint32{0x017c5412, 0x03a78b66, 0x01bb62e0, 0x00d1c13b, 0x024df5a5, 0x022b14e4, 0x02f4f531, 0x003a45e1, 0x02627ba0, 0x003786b7}}, Y: Field{[10]uint32{0x022021e0, 0x03fba76b, 0x01a8e4bf, 0x039b8742, 0x03a9d003, 0x007019cf, 0x02dc15a4, 0x00efeff1, 0x02c50bf2, 0x001fbd21}}}, + {X: Field{[10]uint32{0x0398c0a0, 0x01b4dbcc, 0x0166dd47, 0x0262f004, 0x03337203, 0x02e03875, 0x01e465df, 0x0071067e, 0x017cb172, 0x000dce29}}, Y: Field{[10]uint32{0x030c22f5, 0x01529e2d, 0x00bfd118, 0x01b14a49, 0x0243df56, 0x03610e16, 0x028a629a, 0x02c5b5b4, 0x03b21662, 0x00387c96}}}, + {X: Field{[10]uint32{0x0281885d, 0x00001b9e, 0x02e37694, 0x02e2dd40, 0x021955fe, 0x0377db6a, 0x01575f12, 0x0048e6a1, 0x01c16b2a, 0x00132b88}}, Y: Field{[10]uint32{0x00dc99c3, 0x03d5972d, 0x019e237a, 0x026ca755, 0x0225fa2c, 0x020a0cac, 0x0271e89c, 0x0183609d, 0x00553886, 0x000abffa}}}, + {X: Field{[10]uint32{0x00c2bd7b, 0x00bebe37, 0x02039573, 0x03b86ea9, 0x0397bfa7, 0x016f30e9, 0x037cf558, 0x002f8db8, 0x021fba8a, 0x00131446}}, Y: Field{[10]uint32{0x025651af, 0x029172ac, 0x0372d8a6, 0x01a621f0, 0x03abb272, 0x02575a0c, 0x0000fd4a, 0x02affc8d, 0x03945c6b, 0x003a9a7d}}}, + {X: Field{[10]uint32{0x005a7e29, 0x0145e79d, 0x01f8320c, 0x012cae94, 0x02c2e4a4, 0x03a4db02, 0x007c25ad, 0x010dc098, 0x00c4323b, 0x00360476}}, Y: Field{[10]uint32{0x03c05345, 0x037652b9, 0x0293c3c4, 0x00fda7e7, 0x0346c6df, 0x02d2438e, 0x020aeabc, 0x011fe036, 0x00a217bf, 0x001bfe5c}}}, + {X: Field{[10]uint32{0x02c43eee, 0x03897985, 0x01b0b1ca, 0x02b87ec2, 0x0233db68, 0x004ed7fe, 0x01bbafdf, 0x02abff8e, 0x01d3b5e5, 0x000407ad}}, Y: Field{[10]uint32{0x02c5ddb3, 0x00698eae, 0x00f4a163, 0x00e4d383, 0x00a49709, 0x02c0c483, 0x03a1c96e, 0x01c96981, 0x01149867, 0x00275a95}}}, + {X: Field{[10]uint32{0x02480519, 0x0073e2dc, 0x03968de2, 0x01c3bfe3, 0x01ecdc7f, 0x018bfab4, 0x001f21f0, 0x03917f85, 0x0152b8dd, 0x00227ac4}}, Y: Field{[10]uint32{0x0297b447, 0x036c1f2d, 0x0195b41f, 0x02a18fef, 0x00cb6703, 0x00af11dc, 0x02c99d7f, 0x038f55a7, 0x03c43181, 0x003e28cd}}}, + {X: Field{[10]uint32{0x02d0dc16, 0x03a59366, 0x030cdbd1, 0x03ada379, 0x0149d95e, 0x0154066a, 0x03d8f1e4, 0x0291349c, 0x03f3f48e, 0x0014f58c}}, Y: Field{[10]uint32{0x011645fe, 0x03f4cef3, 0x023af48f, 0x03b923f9, 0x028e8ff4, 0x039b6df9, 0x03fe6f32, 0x033c6cfd, 0x0176964d, 0x0006c9bb}}}, + {X: Field{[10]uint32{0x00d9be6a, 0x023e57f6, 0x02d1a92f, 0x012e0e62, 0x006ce3db, 0x0273b6d9, 0x0294d26b, 0x00441966, 0x01104989, 0x0037841a}}, Y: Field{[10]uint32{0x02b43d32, 0x03644cd7, 0x03e7b5b9, 0x039b73e0, 0x008768a4, 0x008f5022, 0x00a3d06d, 0x0274595e, 0x0341dbd9, 0x0021d902}}}, + {X: Field{[10]uint32{0x02f5bea2, 0x005dcf1a, 0x023caf76, 0x01ed0685, 0x00cc6daa, 0x02027684, 0x0189a9a7, 0x038916b0, 0x026f0b9e, 0x00103b47}}, Y: Field{[10]uint32{0x00217b2e, 0x0330787f, 0x03adb50b, 0x00ba9c65, 0x0082bae8, 0x010c2b01, 0x02b7bdf1, 0x03ee69e3, 0x01017298, 0x003ffb45}}}, + {X: Field{[10]uint32{0x03ba15c1, 0x0046f599, 0x02dfaa3b, 0x028ca7c9, 0x001b7ab3, 0x03a94a73, 0x004d1719, 0x002e68de, 0x02ee59a2, 0x00157eaa}}, Y: Field{[10]uint32{0x002f4a65, 0x014f77c6, 0x0075c373, 0x00169f95, 0x000d7f28, 0x0391c197, 0x014771d8, 0x014f8d7b, 0x039b52ac, 0x002a7e24}}}, + {X: Field{[10]uint32{0x028af3fb, 0x02f40afe, 0x03ccba53, 0x001fc0d3, 0x00a95ac6, 0x01255b44, 0x000ca172, 0x0222bc86, 0x024e21cf, 0x002d4779}}, Y: Field{[10]uint32{0x03b7f81e, 0x02ce1b00, 0x01ac4878, 0x0066922c, 0x029b8400, 0x0399b129, 0x0399f1f6, 0x00bafd1a, 0x03701c65, 0x0005d766}}}, + {X: Field{[10]uint32{0x0307b143, 0x03e65ede, 0x00171556, 0x03a3361d, 0x007b8927, 0x00d9f3d0, 0x03235be9, 0x007a092e, 0x00dcbcd9, 0x001455ac}}, Y: Field{[10]uint32{0x00cc91dc, 0x03d2fe08, 0x018dec2a, 0x02432ec3, 0x01d40ada, 0x0049c05b, 0x01ded191, 0x0130ff99, 0x000fa29d, 0x0007515f}}}, + {X: Field{[10]uint32{0x016dd63d, 0x00476382, 0x02bcd00e, 0x0019e46d, 0x03f1993c, 0x02391069, 0x01fac558, 0x0125cc58, 0x0172060b, 0x000efd47}}, Y: Field{[10]uint32{0x00722d49, 0x02ba293d, 0x0312663e, 0x038abdd3, 0x0173e1e4, 0x03da6126, 0x023905dd, 0x02bf6ff1, 0x007090a7, 0x001ef1ad}}}, + {X: Field{[10]uint32{0x02d61fe5, 0x036dec26, 0x0205ad76, 0x03193eab, 0x0122fa74, 0x029bcb68, 0x014f4d3b, 0x02040845, 0x00912008, 0x0034a5c4}}, Y: Field{[10]uint32{0x028e3fc8, 0x0123dad8, 0x00156926, 0x01cd954a, 0x02bc33cb, 0x014708f0, 0x000cc141, 0x03cf23e5, 0x03aaf2cc, 0x001cd43a}}}, + {X: Field{[10]uint32{0x0368013d, 0x02d82a71, 0x0126c559, 0x01f88d05, 0x036d7a3b, 0x007ff4c2, 0x015a5202, 0x0044be89, 0x03ca8e17, 0x0030bb91}}, Y: Field{[10]uint32{0x03ece448, 0x0014058a, 0x0031a453, 0x002080a6, 0x0280d9ff, 0x036cec8e, 0x008e83be, 0x01fd6c77, 0x036bd83b, 0x000b9ba2}}}, + {X: Field{[10]uint32{0x0270b6cf, 0x016b6f4f, 0x03aaae47, 0x012d5876, 0x00c5ef44, 0x01b31300, 0x00da39e9, 0x03383678, 0x00d69ddc, 0x00156666}}, Y: Field{[10]uint32{0x00ffb328, 0x014d308d, 0x03ac525c, 0x01cc6bcb, 0x00cf0f31, 0x02d34879, 0x02b5e8cd, 0x03b96e37, 0x020095ae, 0x0031270a}}}, + {X: Field{[10]uint32{0x03baf363, 0x0152405a, 0x032f9e9d, 0x03764372, 0x017c1955, 0x01c86a63, 0x01305c39, 0x02eb7791, 0x02c3e4c8, 0x0012d2c0}}, Y: Field{[10]uint32{0x00d43468, 0x01a178c6, 0x00fb925b, 0x0191856f, 0x01d22a6a, 0x00f70c13, 0x01d546e0, 0x0166cf09, 0x037ebe8f, 0x00282d9e}}}, + {X: Field{[10]uint32{0x02c549c5, 0x01f74b2a, 0x0101fe0d, 0x03a3b87b, 0x007650ad, 0x0350a25f, 0x00f897c5, 0x02d09d47, 0x03fd7836, 0x003eebf9}}, Y: Field{[10]uint32{0x02668436, 0x00044384, 0x03aeb5e7, 0x00a26914, 0x01229a7e, 0x03b69489, 0x03841f58, 0x01f945ed, 0x014352d0, 0x000bd446}}}, + {X: Field{[10]uint32{0x0076c06c, 0x03786d9c, 0x0219f954, 0x0340a92c, 0x0281b21b, 0x01ceb139, 0x004e620b, 0x02e281e2, 0x02f90c65, 0x003334c1}}, Y: Field{[10]uint32{0x0257510b, 0x017d6c55, 0x005668ab, 0x029d6932, 0x00003f68, 0x00f8115d, 0x03056dc7, 0x02d43241, 0x007fa7b0, 0x00208fe9}}}, + {X: Field{[10]uint32{0x00195a3b, 0x02e35586, 0x01980820, 0x0177626a, 0x01912415, 0x0211d14b, 0x01a870a7, 0x01a474ed, 0x0038995a, 0x002ebef6}}, Y: Field{[10]uint32{0x00ad92a3, 0x024f9f42, 0x006874e8, 0x03560e72, 0x004f05f4, 0x00082d6c, 0x00e7f521, 0x00a7bbec, 0x01fac948, 0x00237d32}}}, + {X: Field{[10]uint32{0x024f458f, 0x0330e008, 0x019fb157, 0x00dee1a4, 0x00713d8f, 0x03e50299, 0x0166af8f, 0x0055b828, 0x003a8073, 0x00344973}}, Y: Field{[10]uint32{0x0035abde, 0x013b2f2f, 0x012a3a03, 0x00bbc981, 0x021bb7a2, 0x0288e9e3, 0x001054ae, 0x00de9f7c, 0x00b6ac4e, 0x00280c3a}}}, + {X: Field{[10]uint32{0x038187c2, 0x03c9e3b2, 0x008668cb, 0x03f629fa, 0x01f2d1bb, 0x0388b90b, 0x02c6433b, 0x036aebbc, 0x03281b5d, 0x001f5247}}, Y: Field{[10]uint32{0x00dfe8ed, 0x009ee9bd, 0x02af9bea, 0x031faf20, 0x0228b040, 0x01d82cbf, 0x0381ea3f, 0x00259b28, 0x021d7036, 0x00328605}}}, + {X: Field{[10]uint32{0x01f8c39e, 0x017c1ef3, 0x03961601, 0x025541e6, 0x016d70a5, 0x02a7d25e, 0x002995c6, 0x0048ea1b, 0x02339f29, 0x000c7336}}, Y: Field{[10]uint32{0x00b49f65, 0x030b93fa, 0x03a19561, 0x02c2f201, 0x02376626, 0x0018347c, 0x0128a9ff, 0x007eb265, 0x010bedf6, 0x002bac9f}}}, + {X: Field{[10]uint32{0x017807ba, 0x00e7d28a, 0x01ba7d74, 0x00bc3784, 0x01e5ec91, 0x006ddbec, 0x012073e7, 0x024625b2, 0x00c7f45f, 0x0001e799}}, Y: Field{[10]uint32{0x0023c921, 0x0177b5d6, 0x02e7efe8, 0x02f3258c, 0x00d17685, 0x0097626d, 0x011abe38, 0x0258f162, 0x0036b354, 0x0015f64d}}}, + {X: Field{[10]uint32{0x0042274e, 0x00c7daa3, 0x0206c78a, 0x034b7af3, 0x0369f422, 0x002f690f, 0x02f057b6, 0x00e1a1c7, 0x02dffccb, 0x003588cb}}, Y: Field{[10]uint32{0x000ef826, 0x0331f5fb, 0x004d6d62, 0x018eb0f7, 0x0158a18f, 0x026d7df4, 0x03472f22, 0x038274db, 0x03a0b2e2, 0x0004f6bb}}}, + {X: Field{[10]uint32{0x006e368e, 0x02ed99d1, 0x03ea6a7e, 0x0349228c, 0x00722d78, 0x020a2516, 0x038fc00c, 0x038e94dc, 0x0298b2d6, 0x0008703c}}, Y: Field{[10]uint32{0x03062383, 0x019837f7, 0x034a2b20, 0x016b97cc, 0x02cbb3f2, 0x017695a7, 0x015eede1, 0x03f656e2, 0x03ec17d2, 0x00219d54}}}, + {X: Field{[10]uint32{0x003196c8, 0x00b2bb93, 0x031d0f4f, 0x0070ff66, 0x00eaa231, 0x013dd1c8, 0x011621c5, 0x03de6755, 0x01010dcb, 0x0007468f}}, Y: Field{[10]uint32{0x039734eb, 0x03ebab90, 0x0233d6f8, 0x00701f97, 0x005453bf, 0x00e51763, 0x01b1a301, 0x03e4321e, 0x01159900, 0x003569e8}}}, + {X: Field{[10]uint32{0x00e76735, 0x02ec770a, 0x025614f4, 0x0171dd4e, 0x0162e26d, 0x0160a854, 0x00a97d18, 0x027b7803, 0x02808fa9, 0x0015d221}}, Y: Field{[10]uint32{0x03c17c6f, 0x02876e4b, 0x02b1eeba, 0x00d2576c, 0x00b3bbee, 0x03b06925, 0x000ecc54, 0x03b78373, 0x00597117, 0x0037af6a}}}, + {X: Field{[10]uint32{0x0391715a, 0x03eb7225, 0x0207c9f6, 0x034c7073, 0x03607194, 0x0322f7a7, 0x01e820c4, 0x037fe938, 0x00d34ce1, 0x002db74d}}, Y: Field{[10]uint32{0x0239cc9d, 0x02194862, 0x03200717, 0x0150e810, 0x031487e5, 0x0126f1f3, 0x01c0ec90, 0x0354ccab, 0x0068e405, 0x0022fd22}}}, + {X: Field{[10]uint32{0x0291d0de, 0x01412f52, 0x031600f3, 0x01b27882, 0x035821df, 0x0148b7e6, 0x02bc8871, 0x021dcb28, 0x02d56908, 0x00243e77}}, Y: Field{[10]uint32{0x02f902ac, 0x03ae9dba, 0x017f9a2b, 0x006c498e, 0x01f76b3c, 0x011250ce, 0x010af26b, 0x0129bbf7, 0x024add53, 0x000345f9}}}, + {X: Field{[10]uint32{0x032cfa59, 0x02b3195a, 0x0299d260, 0x00e66c40, 0x03db07b2, 0x00c00a1c, 0x006e4a0c, 0x024d4e44, 0x00e858d1, 0x003157cd}}, Y: Field{[10]uint32{0x00e50f5b, 0x0058b78c, 0x00dda11f, 0x03ef05ae, 0x009a8fe1, 0x00b3becd, 0x0149f7fe, 0x0288b9ca, 0x00d474b5, 0x001f67ce}}}, + {X: Field{[10]uint32{0x02b8ecad, 0x03c5c895, 0x025750c5, 0x034adbd4, 0x03f39c16, 0x0128ad89, 0x03f8452c, 0x0207166c, 0x0192d389, 0x001ab910}}, Y: Field{[10]uint32{0x030b099d, 0x0365c55f, 0x02d61603, 0x0073b69a, 0x03fa61de, 0x00e3925c, 0x01c4b91e, 0x00812a7b, 0x00dd7c49, 0x0026eeea}}}, + {X: Field{[10]uint32{0x03dcffbc, 0x0113bbdb, 0x0379ae03, 0x007db362, 0x00bd0c25, 0x02ad9113, 0x013ad99e, 0x006cd9aa, 0x0239423e, 0x000ce9f5}}, Y: Field{[10]uint32{0x0011c61e, 0x021b8ee5, 0x002c02bb, 0x024756eb, 0x032f0678, 0x027b48b4, 0x012684fc, 0x0328abe9, 0x02cc006d, 0x00309844}}}, + {X: Field{[10]uint32{0x0159af0a, 0x010351fc, 0x024b2ea6, 0x03643d4a, 0x013380c1, 0x01db29b1, 0x03a6642a, 0x0219c0a3, 0x0331eac4, 0x001211c4}}, Y: Field{[10]uint32{0x00142704, 0x021b51e8, 0x0314d5b5, 0x0251c169, 0x01c5047b, 0x022ed87d, 0x0103a311, 0x038073ee, 0x014693fd, 0x002d3aa1}}}, + {X: Field{[10]uint32{0x02587917, 0x0004a970, 0x00e86d46, 0x01e6fae3, 0x0172defd, 0x00f492dc, 0x03faab74, 0x00c70133, 0x00399ae7, 0x0001596b}}, Y: Field{[10]uint32{0x00bbab48, 0x000a6066, 0x000d779c, 0x0227f53d, 0x02146649, 0x0026a591, 0x0011fece, 0x00c7abf1, 0x02a5d450, 0x0037ad5a}}}, + {X: Field{[10]uint32{0x00314c0b, 0x01c21726, 0x03773eaa, 0x0251b72f, 0x00995490, 0x03168cbf, 0x00d017d0, 0x00adf5aa, 0x00b53b6c, 0x0025920e}}, Y: Field{[10]uint32{0x01130b97, 0x03e717bf, 0x02a2f6ca, 0x027be810, 0x03ac6fdc, 0x039daf5d, 0x0271ee0e, 0x000d3f22, 0x033cec44, 0x000b6be7}}}, + {X: Field{[10]uint32{0x00eb88d5, 0x038bc7b1, 0x0087c4aa, 0x00340bbe, 0x006f9bff, 0x039522c5, 0x003522da, 0x001e2e76, 0x02907b8d, 0x002f0036}}, Y: Field{[10]uint32{0x00ddb152, 0x03856908, 0x02befeaf, 0x01fed066, 0x020fef4d, 0x0132ca7d, 0x0321dd13, 0x036dcd97, 0x0111f9e2, 0x001af43f}}}, + {X: Field{[10]uint32{0x03a7bea4, 0x01156af6, 0x0111d075, 0x02cc9fec, 0x00a2082b, 0x03d79543, 0x03dd8ae9, 0x027c33c4, 0x005500f8, 0x0006967e}}, Y: Field{[10]uint32{0x0200c823, 0x0321c29d, 0x035c2150, 0x01db8b90, 0x00e77e6e, 0x02997142, 0x0225c530, 0x02b7ff27, 0x0340d460, 0x001fa8be}}}, + {X: Field{[10]uint32{0x02ccc764, 0x01662953, 0x02fdad88, 0x028c9e69, 0x00452706, 0x015a5409, 0x01081624, 0x03f1ab51, 0x011bd3bf, 0x001e8ed8}}, Y: Field{[10]uint32{0x02233145, 0x0286b48c, 0x030d368a, 0x035a875c, 0x0283d30b, 0x015274ea, 0x033d6efe, 0x01b94b21, 0x01896806, 0x0005b825}}}, + {X: Field{[10]uint32{0x015d6d91, 0x01786dc0, 0x02bef4cd, 0x00a14444, 0x02a0a1cc, 0x0315b89e, 0x02fa95b5, 0x002969e1, 0x01779cbe, 0x000bfb55}}, Y: Field{[10]uint32{0x014bddfa, 0x02751b8b, 0x02637995, 0x0399bf97, 0x02f66fd3, 0x01b71942, 0x01691fa3, 0x01fed58f, 0x0027b229, 0x001fbab3}}}, + {X: Field{[10]uint32{0x034a9558, 0x0152835d, 0x02d02f01, 0x0377c6cd, 0x03018326, 0x02faed12, 0x03efaea6, 0x037d959c, 0x0217952e, 0x00099eb4}}, Y: Field{[10]uint32{0x01a13fef, 0x01456ec4, 0x01e6d907, 0x02de8121, 0x01703cc9, 0x02fd5280, 0x00a7b330, 0x017979a2, 0x00c07e9d, 0x001dd64f}}}, + {X: Field{[10]uint32{0x036687e8, 0x0017b85f, 0x02b106fa, 0x006f29fa, 0x010e0d34, 0x017cc851, 0x038cceca, 0x026721a5, 0x022c239b, 0x003adbb5}}, Y: Field{[10]uint32{0x02c0a241, 0x027eff14, 0x0133b662, 0x02e24187, 0x012a6e6a, 0x00eb61d5, 0x029b2258, 0x02a3a338, 0x022250f6, 0x002b6267}}}, + {X: Field{[10]uint32{0x030a9e5b, 0x00425350, 0x027b1089, 0x026fe232, 0x035087a5, 0x005a1b13, 0x00ef33c4, 0x00853c2d, 0x017ce03d, 0x0032973c}}, Y: Field{[10]uint32{0x00989ce9, 0x018eb4f4, 0x0003ef99, 0x0201c95e, 0x01e19351, 0x023a80a6, 0x03ae683c, 0x01d6eb3f, 0x02eb473f, 0x0005f913}}}, + {X: Field{[10]uint32{0x01e82f7c, 0x01c85794, 0x03a2fe4c, 0x033d1988, 0x00c82f21, 0x024f9adb, 0x03035eca, 0x0190b98f, 0x029cacf0, 0x00131ef0}}, Y: Field{[10]uint32{0x02776875, 0x034af8a0, 0x01322e59, 0x03903c7d, 0x03eb537b, 0x0102900a, 0x03f64e7e, 0x01e5b050, 0x036e8756, 0x001f1579}}}, + {X: Field{[10]uint32{0x031058e3, 0x0186f0d9, 0x03d2080b, 0x02108e27, 0x03797831, 0x02b3d375, 0x03e50130, 0x0227c140, 0x00e9b422, 0x0015f2ae}}, Y: Field{[10]uint32{0x03d9e2bc, 0x0262aaa7, 0x012ca7c3, 0x011650c3, 0x022b048c, 0x01cba6fb, 0x030b884e, 0x009cf69e, 0x03186671, 0x001e0894}}}, + {X: Field{[10]uint32{0x03c4823e, 0x03d8c426, 0x02c2753f, 0x01cbb4b9, 0x01abf3d2, 0x015a10fd, 0x0013a82a, 0x0030d37a, 0x023df112, 0x000f0afc}}, Y: Field{[10]uint32{0x013f1990, 0x03add64b, 0x029d0d08, 0x00a384bf, 0x00767409, 0x032772e2, 0x00c5b47e, 0x0348cf38, 0x036388ae, 0x0005d676}}}, + {X: Field{[10]uint32{0x02ab38d2, 0x0206c683, 0x02856d85, 0x0288a34d, 0x0234170a, 0x0373f774, 0x03348dc3, 0x01d0a834, 0x01ac83e0, 0x0030042a}}, Y: Field{[10]uint32{0x0076aafd, 0x009da10f, 0x038ea9cd, 0x004111ad, 0x002b2dc8, 0x02433e48, 0x031da1f1, 0x029a3f87, 0x03ed0644, 0x0018d325}}}, + {X: Field{[10]uint32{0x02071994, 0x01164ea4, 0x01660550, 0x00fee8ea, 0x014f1b77, 0x00f6722a, 0x00cb632b, 0x0291a039, 0x01ee548b, 0x00292af6}}, Y: Field{[10]uint32{0x00f87182, 0x017a3bf2, 0x00b6111b, 0x0123afff, 0x01c9390b, 0x0100d597, 0x02ab00a8, 0x00ca5ff1, 0x026aba26, 0x000e8509}}}, + {X: Field{[10]uint32{0x00dda172, 0x028ccf7a, 0x007115a7, 0x039666de, 0x01d68b82, 0x03b3bff9, 0x0008540d, 0x0057c717, 0x0052efc1, 0x003700b2}}, Y: Field{[10]uint32{0x036c29c6, 0x01febd57, 0x009ba236, 0x03732e15, 0x028a35f8, 0x023332a8, 0x03f4eaed, 0x03a10b29, 0x013a8e1a, 0x00393996}}}, + {X: Field{[10]uint32{0x01ec57c8, 0x036d68a4, 0x01cac1b6, 0x0205c85d, 0x000a54fc, 0x03ca7f5f, 0x00a5a4b5, 0x008bff0a, 0x01e82238, 0x003b91da}}, Y: Field{[10]uint32{0x0020385f, 0x004ff9b0, 0x00619384, 0x0050a025, 0x00338905, 0x02c05631, 0x0178b9a2, 0x0323ae82, 0x02bc4076, 0x003f28b1}}}, + {X: Field{[10]uint32{0x013ef066, 0x0349c9f6, 0x032abb11, 0x033cc493, 0x002cf990, 0x03c2230e, 0x035a6dec, 0x00303f50, 0x001d3491, 0x003cc01b}}, Y: Field{[10]uint32{0x0149eae2, 0x00da4132, 0x00d9b82d, 0x01b2237f, 0x03f8016a, 0x00d73c99, 0x01ebaf12, 0x01fd468a, 0x01f5aa36, 0x00001d8a}}}, + {X: Field{[10]uint32{0x027313b7, 0x02e4d5c7, 0x030f3794, 0x001124cb, 0x02b1b9c8, 0x00970ff5, 0x01f0a3e3, 0x0159a44a, 0x003d07bf, 0x001f3ec8}}, Y: Field{[10]uint32{0x002bc60f, 0x0116ed3a, 0x02d3982a, 0x03f99c60, 0x01e4ae08, 0x021ec05b, 0x00c42173, 0x0270e322, 0x01fd2433, 0x0013ddae}}}, + {X: Field{[10]uint32{0x02312c0a, 0x01343acc, 0x03206a32, 0x01c60eba, 0x01efeabe, 0x01c1156b, 0x0130be8e, 0x00264c27, 0x00e036e0, 0x0003328f}}, Y: Field{[10]uint32{0x0215b9e5, 0x035fa345, 0x018b20ef, 0x03766369, 0x0091b437, 0x00163223, 0x00637252, 0x01f1b4d3, 0x0258fe94, 0x00259d2b}}}, + {X: Field{[10]uint32{0x02b0d9c8, 0x02b39982, 0x01212c66, 0x03488e27, 0x01d9815f, 0x007e635c, 0x01a071c0, 0x01709e0b, 0x014881cd, 0x0027ed90}}, Y: Field{[10]uint32{0x01813251, 0x00f04fb4, 0x0309bce2, 0x011e71da, 0x03d11d50, 0x0013c71c, 0x035e515c, 0x00dd097d, 0x00541a51, 0x00013095}}}, + {X: Field{[10]uint32{0x01558b25, 0x001c2d94, 0x01542c2c, 0x03601aa8, 0x01eb5d2a, 0x009582d3, 0x0139de23, 0x03516443, 0x02bf03e3, 0x000076ef}}, Y: Field{[10]uint32{0x010b9db1, 0x02e739cb, 0x01876877, 0x0145a60c, 0x01940eae, 0x01d21328, 0x014753fd, 0x03924106, 0x031c2e94, 0x003b1a39}}}, + {X: Field{[10]uint32{0x006bb5f7, 0x00428fe9, 0x01e215a2, 0x03a49061, 0x015a890e, 0x01321350, 0x002856b0, 0x01d085dd, 0x021992f4, 0x001dd474}}, Y: Field{[10]uint32{0x03237fef, 0x00f19206, 0x01a2273a, 0x028532b1, 0x036371f6, 0x03da6305, 0x01327493, 0x0321b3b7, 0x01c5b770, 0x000a456a}}}, + {X: Field{[10]uint32{0x00f36a2d, 0x025ff2bb, 0x01737707, 0x02593847, 0x01e7b89c, 0x033d992c, 0x0382983e, 0x0270f881, 0x01a05b18, 0x000e6a12}}, Y: Field{[10]uint32{0x013690c5, 0x02d7b440, 0x01114f43, 0x014d53d0, 0x0148e692, 0x019a1625, 0x02274d15, 0x036c1af8, 0x00f16191, 0x0034f9be}}}, + {X: Field{[10]uint32{0x039b25bb, 0x0045f2f9, 0x01dea768, 0x00a2e2ff, 0x0080e3d6, 0x0104b59f, 0x0395522d, 0x03b483e7, 0x0125b29c, 0x0019f958}}, Y: Field{[10]uint32{0x0103da21, 0x01edc4a3, 0x0257f916, 0x033c19ba, 0x033c83ed, 0x0340b4a4, 0x020fd883, 0x008fd12a, 0x00157e3c, 0x0018237f}}}, + {X: Field{[10]uint32{0x038f1525, 0x008a6ded, 0x027bb5cb, 0x03bd4a4c, 0x02ecdd01, 0x02560e7d, 0x01eec20e, 0x0356774c, 0x02da02f7, 0x0002946b}}, Y: Field{[10]uint32{0x03847903, 0x0024b035, 0x02cdd1f0, 0x03420364, 0x036621c7, 0x031a062a, 0x038b18f4, 0x0218acf4, 0x03df93fb, 0x001c1259}}}, + {X: Field{[10]uint32{0x02c1745d, 0x019308da, 0x01e7aaae, 0x01bfed22, 0x01f8bcb3, 0x00ec00e2, 0x02b71b77, 0x032d1bd7, 0x013e73a1, 0x0032601a}}, Y: Field{[10]uint32{0x02fae474, 0x0330162d, 0x02bd4274, 0x03bc01c1, 0x00b3b21f, 0x03eee9ba, 0x01853e56, 0x01fbeddc, 0x008efe6b, 0x002fcee0}}}, + {X: Field{[10]uint32{0x021391a9, 0x01e8dd02, 0x007136b1, 0x034a5235, 0x0394167b, 0x025d7a7c, 0x0227aab2, 0x013070a3, 0x0130bcf5, 0x0031e37e}}, Y: Field{[10]uint32{0x004d9ae7, 0x023c378c, 0x01e5e031, 0x00886f19, 0x00163bfe, 0x020ef878, 0x03b5e9a2, 0x01e6f956, 0x03366d3a, 0x00269093}}}, + {X: Field{[10]uint32{0x01284089, 0x010bf11b, 0x016e5fb2, 0x039399cc, 0x00a998b1, 0x03dfc794, 0x0168ebc8, 0x03cea798, 0x03bcc6d2, 0x00269d7d}}, Y: Field{[10]uint32{0x03169e01, 0x03cc566f, 0x037bfd40, 0x030de1e5, 0x0239bf6e, 0x03f1f8d6, 0x0106c6e8, 0x02e6a8eb, 0x00e6dff8, 0x00032d1e}}}, + {X: Field{[10]uint32{0x036e6224, 0x02dc68e2, 0x001c0d20, 0x01f2dbe0, 0x007eba1e, 0x01739cf9, 0x008277d9, 0x02cf9f6d, 0x031adb0b, 0x001dac84}}, Y: Field{[10]uint32{0x0179263a, 0x034924a6, 0x007b2f79, 0x03e04831, 0x03196c5a, 0x034a1dcd, 0x01e36e6c, 0x03956c2a, 0x00daef60, 0x0000cb8f}}}, + {X: Field{[10]uint32{0x001384e1, 0x0290acd7, 0x01e68f32, 0x011b7ae3, 0x03cdcc4c, 0x036a2520, 0x01f96c93, 0x025c77d5, 0x03614ec5, 0x00086260}}, Y: Field{[10]uint32{0x026dac3e, 0x021ad7c4, 0x02c97d64, 0x012b6726, 0x01c5eda5, 0x01dda5d0, 0x02a2d224, 0x0254eac8, 0x005044a4, 0x000b0e5b}}}, + {X: Field{[10]uint32{0x03db8adc, 0x013e1d78, 0x002a9aa1, 0x029b3d76, 0x03a08449, 0x014a3fb2, 0x01dbe1ca, 0x00603440, 0x02494e9d, 0x002b02c2}}, Y: Field{[10]uint32{0x00412554, 0x03bf8f9c, 0x02dd9b2a, 0x027cc518, 0x00371dd1, 0x01a9aa3a, 0x0153b9c5, 0x02d60cb7, 0x001225a1, 0x0009b475}}}, + {X: Field{[10]uint32{0x00e04625, 0x029b09cc, 0x00a1b6dc, 0x0336efc1, 0x029d1a78, 0x017d65a8, 0x02d33297, 0x02997ef5, 0x018c0851, 0x003e1a6d}}, Y: Field{[10]uint32{0x02a5bff0, 0x02eaec31, 0x01b09c3c, 0x006ee2e4, 0x00a0cfb3, 0x00526527, 0x00b1603e, 0x0171cb06, 0x0344fc6f, 0x001037b8}}}, + {X: Field{[10]uint32{0x01544c3a, 0x01e35bae, 0x032aaecf, 0x00ea39f5, 0x01a640a4, 0x01cf18fb, 0x004a5f22, 0x00943e26, 0x02db2406, 0x003dd3c0}}, Y: Field{[10]uint32{0x0386185b, 0x02bd64f3, 0x02aea1c0, 0x01e87bba, 0x015e364f, 0x017caf3c, 0x03c1a618, 0x007a4a28, 0x026dcacc, 0x00220b8e}}}, + {X: Field{[10]uint32{0x027ea65d, 0x0250ea81, 0x0069ff3d, 0x01412dfa, 0x0288c390, 0x002a9a74, 0x03c9284a, 0x0157acba, 0x02b61d67, 0x0030184f}}, Y: Field{[10]uint32{0x03848cba, 0x0084f149, 0x02c09fe4, 0x006fc34d, 0x0129931c, 0x01764a27, 0x03a89665, 0x0320b92b, 0x02e527b5, 0x001cbd86}}}, + {X: Field{[10]uint32{0x031285db, 0x00e7c23c, 0x007a7eb7, 0x018d490c, 0x00ae0dbf, 0x0045ebac, 0x00fd8c47, 0x002298f0, 0x039860ba, 0x003ad9bf}}, Y: Field{[10]uint32{0x03ddc5d5, 0x01d456a1, 0x0261655c, 0x03cc1dd3, 0x027d3662, 0x03903d2e, 0x005dfb94, 0x03caba2c, 0x02ca54bc, 0x00030c50}}}, + {X: Field{[10]uint32{0x004a861d, 0x0145bc3b, 0x015b871a, 0x005455b0, 0x02e41c6b, 0x0294d180, 0x025d58bc, 0x018187f0, 0x00e6a125, 0x000e9c42}}, Y: Field{[10]uint32{0x004393a6, 0x00c1938f, 0x01226a18, 0x035d9b7c, 0x00957bfc, 0x005f9fa2, 0x011b5bec, 0x02aec806, 0x0102041c, 0x0036ab8b}}}, + {X: Field{[10]uint32{0x00f89d5f, 0x03a500ee, 0x00958949, 0x03cd39d1, 0x00ea1a2f, 0x02c817cb, 0x02e73717, 0x01a744cf, 0x0258c831, 0x00345f8e}}, Y: Field{[10]uint32{0x018b1a20, 0x01ffcc98, 0x010225ac, 0x02e60729, 0x012d75fc, 0x034574d2, 0x00ffafa6, 0x03662e48, 0x037d69e5, 0x002630d7}}}, + {X: Field{[10]uint32{0x03f6541c, 0x00daeac2, 0x01385fff, 0x0353dd9e, 0x0298caf6, 0x018638bf, 0x0350cbf2, 0x02e3b450, 0x0092cefb, 0x0035b8ca}}, Y: Field{[10]uint32{0x02636298, 0x0207af6c, 0x0021e080, 0x02f3b6f8, 0x00976196, 0x015bc926, 0x0072b553, 0x017b001e, 0x022ebe0f, 0x001c5d51}}}, + {X: Field{[10]uint32{0x02ffef75, 0x01777e02, 0x0229186d, 0x02ba4ea9, 0x0282ddc8, 0x00e3b001, 0x00e2182f, 0x0002b9ba, 0x01ff60e9, 0x000c6352}}, Y: Field{[10]uint32{0x026333b2, 0x02205981, 0x00831a98, 0x03aef8a2, 0x0008dcc3, 0x037daa9c, 0x02d4fd8f, 0x01853707, 0x0027dd7d, 0x001ba5fb}}}, + {X: Field{[10]uint32{0x00cf6346, 0x03e05126, 0x0367c5a2, 0x00ada35b, 0x01c075e7, 0x01616aef, 0x00ea5aeb, 0x036e2e9a, 0x02301772, 0x003f5be7}}, Y: Field{[10]uint32{0x0128d2c0, 0x03aace07, 0x001254d4, 0x00c2abfd, 0x02d76082, 0x01610d55, 0x01c5f513, 0x016f5729, 0x02e76477, 0x0036b745}}}, + {X: Field{[10]uint32{0x002ddd36, 0x02b90e86, 0x00d31566, 0x00aba558, 0x00f07428, 0x02f39da3, 0x00ed08d4, 0x011d86a4, 0x0338a2c7, 0x0023f896}}, Y: Field{[10]uint32{0x024c23a2, 0x0386a087, 0x015c73f8, 0x010c9c74, 0x0251d668, 0x03ef7f8b, 0x00da1b32, 0x02ade28b, 0x004a77c6, 0x001bb87a}}}, + {X: Field{[10]uint32{0x0393bef8, 0x03fae665, 0x03e5d2e6, 0x02ca91b5, 0x013e12ba, 0x01afee05, 0x0217bcff, 0x023fbd2b, 0x02d288ed, 0x000df3c3}}, Y: Field{[10]uint32{0x03e3e0d3, 0x02851b6e, 0x03339119, 0x01ec85e4, 0x00e17a41, 0x036d709e, 0x01254f4d, 0x001d4726, 0x025718eb, 0x00024b9e}}}, + {X: Field{[10]uint32{0x03bf403c, 0x01611081, 0x011e0091, 0x013d4c7b, 0x00eca0e0, 0x0180003a, 0x01eb812b, 0x034321db, 0x006106b9, 0x001a2308}}, Y: Field{[10]uint32{0x00cc01fe, 0x01fac517, 0x035bda8b, 0x020fcb3a, 0x00011d85, 0x008802f7, 0x0112e763, 0x01354f7d, 0x02ba41ba, 0x002ead2c}}}, + {X: Field{[10]uint32{0x00b3d804, 0x020e569c, 0x004e9d86, 0x0213626a, 0x02d1b535, 0x00e59485, 0x022371d6, 0x0254d760, 0x02aaf539, 0x0012d32a}}, Y: Field{[10]uint32{0x01ee73d2, 0x01ef5014, 0x0070ae4c, 0x02444571, 0x02652fbd, 0x01d8793a, 0x001d0437, 0x001268ec, 0x03afcd18, 0x000f7749}}}, + {X: Field{[10]uint32{0x02fa1d2e, 0x013754b8, 0x00e56144, 0x02609388, 0x0347cca3, 0x022ce6d7, 0x00ed9a51, 0x036981d6, 0x03c44135, 0x001bd6b2}}, Y: Field{[10]uint32{0x02cd58c4, 0x0134df12, 0x02569052, 0x035ccd7e, 0x02f729f1, 0x00bc65e8, 0x02f2efc0, 0x03653522, 0x0146e5f6, 0x00017727}}}, + {X: Field{[10]uint32{0x0267fc42, 0x010c4f70, 0x008c6ce9, 0x008dce0a, 0x02661d6f, 0x022dad88, 0x01a527bf, 0x032e45bf, 0x00493dff, 0x001e74b5}}, Y: Field{[10]uint32{0x020c08db, 0x0017cdc2, 0x01de1d28, 0x0247575b, 0x038d9027, 0x03ef2454, 0x0302823d, 0x03dff2f8, 0x03f13fa8, 0x002c9a0e}}}, + {X: Field{[10]uint32{0x01f95524, 0x0002ccfe, 0x00118c08, 0x02f00860, 0x01f3915d, 0x03319f50, 0x037a6b07, 0x01ee7271, 0x007e246b, 0x000cea3a}}, Y: Field{[10]uint32{0x0116ff8f, 0x00d0cce7, 0x0229470b, 0x03bf736c, 0x01207d30, 0x00b97116, 0x015e36be, 0x03417c99, 0x004c584f, 0x002eaa09}}}, + {X: Field{[10]uint32{0x01868e95, 0x036aae9e, 0x03a193f4, 0x02c83ee9, 0x013235dd, 0x012f5518, 0x0161a7ae, 0x01f7e081, 0x0132f388, 0x002685a4}}, Y: Field{[10]uint32{0x00630bcd, 0x02408a51, 0x03bc0719, 0x000397e2, 0x02a233b1, 0x02a59656, 0x01452161, 0x011b110a, 0x03179954, 0x001a1bf0}}}, + {X: Field{[10]uint32{0x0383ac42, 0x01184121, 0x026fc290, 0x0278b297, 0x01c85998, 0x010e7cbd, 0x03dc7e90, 0x0338fe6a, 0x00f48405, 0x001e42dd}}, Y: Field{[10]uint32{0x0224a701, 0x02cc12e2, 0x028a66eb, 0x00aec6a4, 0x011dc676, 0x01c44697, 0x00593a37, 0x02172a64, 0x01135623, 0x00225872}}}, + {X: Field{[10]uint32{0x02f9e49c, 0x021ea8dc, 0x02438b54, 0x0217d493, 0x02954717, 0x03ccbf35, 0x00aaeb69, 0x030b661f, 0x00cfae1f, 0x0038a8f4}}, Y: Field{[10]uint32{0x00c93046, 0x00b4cdc5, 0x008db498, 0x000e63ed, 0x0211f7dc, 0x00233914, 0x03edb543, 0x01c230d5, 0x0205ecf2, 0x00273090}}}, + {X: Field{[10]uint32{0x020bcbea, 0x03087b25, 0x03a7a2b3, 0x00f98f8e, 0x00cfd265, 0x01bcab9a, 0x01372b19, 0x030655db, 0x00435992, 0x00032cc3}}, Y: Field{[10]uint32{0x01ccd0b4, 0x01f374e2, 0x0083d498, 0x016099a9, 0x02fb6830, 0x02d246e2, 0x009cba14, 0x00e326b3, 0x01b97083, 0x003d95cd}}}, + {X: Field{[10]uint32{0x00e8b46a, 0x0090e044, 0x01d2dfe9, 0x01adf265, 0x03296ca6, 0x03ecf9a8, 0x018ffb16, 0x002fb98a, 0x0095d631, 0x0007ebb7}}, Y: Field{[10]uint32{0x00725089, 0x02f493ee, 0x012cee7b, 0x03391097, 0x0226d9f0, 0x02f62dd9, 0x0378d032, 0x03a41394, 0x023f8201, 0x000d40e7}}}, + {X: Field{[10]uint32{0x02b3e8f9, 0x031d42d4, 0x03f318f6, 0x014c78a2, 0x018e93ea, 0x03546cfd, 0x005410ce, 0x030744fc, 0x035a2be8, 0x002991b3}}, Y: Field{[10]uint32{0x00c102bb, 0x03d19429, 0x029bda01, 0x03911950, 0x01e427d7, 0x00794744, 0x03a7e78e, 0x02a482d1, 0x02cb7727, 0x00163163}}}, + {X: Field{[10]uint32{0x02be2205, 0x02f00837, 0x02d39dce, 0x031857b7, 0x011c77c0, 0x01730c8b, 0x038c397a, 0x01f4e3a6, 0x03271853, 0x000c9cd1}}, Y: Field{[10]uint32{0x01a42d65, 0x00092402, 0x032bb72c, 0x012f0f94, 0x01c1ea78, 0x011d69f5, 0x007b072d, 0x03d82f53, 0x008958c3, 0x0030b7af}}}, + {X: Field{[10]uint32{0x0172827e, 0x00bce4f5, 0x03f4d4ce, 0x008b9f6c, 0x009906dd, 0x024c289c, 0x028c095d, 0x02884b01, 0x03180855, 0x0005a869}}, Y: Field{[10]uint32{0x0115605c, 0x01adc934, 0x00660219, 0x005aa2dd, 0x01b1ef30, 0x02fa3df7, 0x0280335c, 0x02a7adb3, 0x024bb30b, 0x0034e275}}}, + {X: Field{[10]uint32{0x03687596, 0x02bd33c8, 0x002e9a61, 0x03e129d0, 0x00eeb1eb, 0x01859ba4, 0x0294b867, 0x0155c4cd, 0x01145de2, 0x002d2fd3}}, Y: Field{[10]uint32{0x03d11242, 0x00bf046e, 0x023dbfac, 0x0186962b, 0x0237d389, 0x02d817a5, 0x018640a6, 0x025f958c, 0x00a4d823, 0x001276c8}}}, + {X: Field{[10]uint32{0x03892630, 0x019ee6c2, 0x0164bbf3, 0x004fa42a, 0x03fc3114, 0x0364e032, 0x00a0de08, 0x01997906, 0x03a9ccf4, 0x00353b59}}, Y: Field{[10]uint32{0x011df131, 0x0017462d, 0x015fa371, 0x01dd86c1, 0x0007472b, 0x00924dd9, 0x028a9729, 0x00220c7f, 0x017ce79a, 0x0023fdf9}}}, + {X: Field{[10]uint32{0x014fe70d, 0x03c7d1fd, 0x01366b32, 0x0373e45b, 0x0044d5df, 0x03070b29, 0x02e906f0, 0x00fbc83a, 0x02f19f41, 0x0022b495}}, Y: Field{[10]uint32{0x02d34da7, 0x0090fb69, 0x02ff494e, 0x01783497, 0x0134778f, 0x00725c86, 0x0147f659, 0x01371609, 0x03418d2c, 0x002f7bba}}}, + {X: Field{[10]uint32{0x01f17f8e, 0x018a854c, 0x0362f07f, 0x03b887c7, 0x01c67d22, 0x029561ee, 0x03723e01, 0x02d7c7c4, 0x02fafe55, 0x002374f8}}, Y: Field{[10]uint32{0x03c88cb0, 0x02fe4fd7, 0x0160b4b4, 0x0072e99a, 0x028f2db4, 0x036711b1, 0x017c6b65, 0x01c5f957, 0x02a47d6b, 0x002a88f4}}}, + {X: Field{[10]uint32{0x00b3d0f6, 0x01de9741, 0x01a678e5, 0x005d5536, 0x0103c139, 0x01ec3a4e, 0x034db01a, 0x00c2beb0, 0x02282a8e, 0x00113f67}}, Y: Field{[10]uint32{0x011a61d0, 0x003305a4, 0x0290e484, 0x001b32c4, 0x0218927d, 0x0256f6f8, 0x0269d592, 0x0066ce85, 0x00613533, 0x0032c1e4}}}, + {X: Field{[10]uint32{0x00b7aa42, 0x02c69c62, 0x02477746, 0x03d39691, 0x022db7c9, 0x025917d1, 0x01d2aa9c, 0x03b5960c, 0x02024464, 0x00174926}}, Y: Field{[10]uint32{0x037281d0, 0x03e2c501, 0x01a12b54, 0x03efca53, 0x0023bb8d, 0x0022d348, 0x0195f80e, 0x01ad70b1, 0x0386527d, 0x000affdc}}}, + {X: Field{[10]uint32{0x0210fb23, 0x0311f203, 0x008ca85a, 0x01502e50, 0x01ddd18b, 0x02247120, 0x01e123cd, 0x03547519, 0x00581edc, 0x003663ad}}, Y: Field{[10]uint32{0x00b4dcf2, 0x033086de, 0x010816a2, 0x005c6c99, 0x032b1537, 0x03c95326, 0x031f9e60, 0x01ab1bcb, 0x03bed375, 0x00056ff4}}}, + {X: Field{[10]uint32{0x00db6082, 0x02013591, 0x02eb5876, 0x01ba759c, 0x036edb48, 0x03a14543, 0x032134d2, 0x02bad884, 0x036919a2, 0x000bc4b0}}, Y: Field{[10]uint32{0x038cf73b, 0x004cf15f, 0x02dd0827, 0x031ef6a0, 0x0320834d, 0x030af438, 0x01264b8d, 0x00a313b7, 0x02dd3b4d, 0x00300447}}}, + {X: Field{[10]uint32{0x004b4624, 0x0005f0c5, 0x023e6f03, 0x00d23c1f, 0x02713260, 0x02f395ea, 0x01d35dfe, 0x0327e108, 0x02847099, 0x00136525}}, Y: Field{[10]uint32{0x01b673da, 0x02c7fff7, 0x02adb126, 0x0136c60b, 0x00b91f95, 0x022c1f68, 0x01b308fb, 0x01a71ca3, 0x0257d713, 0x0026bed6}}}, + {X: Field{[10]uint32{0x02af2466, 0x01a1c038, 0x008b2a97, 0x00936777, 0x020fca8f, 0x014aac5f, 0x020b39a7, 0x03c7238d, 0x01105e95, 0x0033c76e}}, Y: Field{[10]uint32{0x0247ca5f, 0x02371cfd, 0x020040ad, 0x029ecf4b, 0x015e645c, 0x02e59006, 0x001b94b4, 0x0219d29b, 0x0366c49c, 0x0039f267}}}, + {X: Field{[10]uint32{0x02a62b85, 0x0390a11a, 0x03f22a9e, 0x01fc16c9, 0x01d4b174, 0x00b19d61, 0x01d63a24, 0x03ea2ade, 0x00257d2f, 0x0039c7ad}}, Y: Field{[10]uint32{0x022c8865, 0x03d9099a, 0x033c3d10, 0x01e61c38, 0x023bc0a7, 0x0294f8d0, 0x0321f45d, 0x028dd9f5, 0x02ecf901, 0x002a41ab}}}, + {X: Field{[10]uint32{0x00559887, 0x0220aacc, 0x03b218f9, 0x01b289fa, 0x0321c58b, 0x0128a66f, 0x005c3e1b, 0x01d7d0ef, 0x03d30b25, 0x002f3661}}, Y: Field{[10]uint32{0x01483f65, 0x03a6ce87, 0x01b00761, 0x01324a27, 0x00690c1b, 0x018e93ad, 0x02fd894e, 0x02b89cae, 0x00c94339, 0x00100e01}}}, + {X: Field{[10]uint32{0x01f8cab0, 0x031f8d2c, 0x00042ea9, 0x02e9a559, 0x007a2beb, 0x029a7dd0, 0x01d2d5e8, 0x01c588e5, 0x00f748af, 0x002dd357}}, Y: Field{[10]uint32{0x0049b336, 0x015f7afa, 0x00a3ea3c, 0x02a9f73f, 0x035728df, 0x02be9150, 0x01e9a234, 0x03ed660d, 0x01db332b, 0x002d717f}}}, + {X: Field{[10]uint32{0x0160837d, 0x0146dc8d, 0x03edc572, 0x03b98cec, 0x01e9bc12, 0x02482faa, 0x03b3b13a, 0x0326b869, 0x02f59835, 0x0011bcf7}}, Y: Field{[10]uint32{0x010ce67b, 0x014f9a05, 0x02eca91d, 0x007040d7, 0x00818fb7, 0x01c0853b, 0x02a69778, 0x02e72cde, 0x021f2e8e, 0x00161ecb}}}, + {X: Field{[10]uint32{0x0267d572, 0x0133eddd, 0x018b6577, 0x02906457, 0x01a50ceb, 0x02ed80a6, 0x011f4d7c, 0x0025a379, 0x00fdeb3f, 0x00234d06}}, Y: Field{[10]uint32{0x00661db8, 0x014456ab, 0x022039d0, 0x00e03d2c, 0x03e8b3dd, 0x03d9ed31, 0x01da7c00, 0x02118aaa, 0x011016a2, 0x0033b9e6}}}, + {X: Field{[10]uint32{0x016f7c10, 0x033c84ab, 0x03bcf529, 0x01ede193, 0x0230f432, 0x02d9c94e, 0x020a672e, 0x01a575e2, 0x03094510, 0x002632c3}}, Y: Field{[10]uint32{0x020ab333, 0x0355abca, 0x0132f09f, 0x01d69af5, 0x03300fde, 0x00a14b47, 0x007e9b55, 0x0140d66d, 0x01ac4e1b, 0x0009654b}}}, + {X: Field{[10]uint32{0x0339a3cf, 0x02e6384a, 0x00effb58, 0x0132c0c3, 0x01a34c7c, 0x000f7841, 0x01383f3f, 0x01d7f129, 0x024c0ca0, 0x00258117}}, Y: Field{[10]uint32{0x0201bafe, 0x03548c5c, 0x00c6e8f2, 0x038e9412, 0x016ebd03, 0x02f577fb, 0x011f24f7, 0x010546e8, 0x00fd9223, 0x003d49ee}}}, + {X: Field{[10]uint32{0x01cc6030, 0x02fd5aa6, 0x0293e703, 0x03956642, 0x01c3f4b3, 0x035de5d8, 0x0226a9ca, 0x037be32e, 0x009142ad, 0x003c98ba}}, Y: Field{[10]uint32{0x030b594b, 0x00c8635b, 0x01ca1d1f, 0x02dcce4e, 0x035382c7, 0x0024bb3f, 0x0197dd67, 0x01aa403d, 0x036486c8, 0x0009d731}}}, + {X: Field{[10]uint32{0x016d17fe, 0x01c5f6c5, 0x016347cc, 0x0204f1b1, 0x03ad75ef, 0x03946eca, 0x01f7900b, 0x014cd97e, 0x0002ee17, 0x000335e7}}, Y: Field{[10]uint32{0x007a985d, 0x00000c65, 0x0394ac45, 0x023ad245, 0x014ff919, 0x01aaeeb8, 0x03260441, 0x0396f694, 0x00ffb30d, 0x002d7afa}}}, + {X: Field{[10]uint32{0x00f858f4, 0x00897e52, 0x009d280a, 0x00a73147, 0x02d9ba46, 0x018c20c2, 0x0122e03e, 0x01037780, 0x03225b1d, 0x000a2d2f}}, Y: Field{[10]uint32{0x00f3cac0, 0x00db894b, 0x027954ea, 0x03f2c439, 0x03aadf4f, 0x00c00a5e, 0x0134c6be, 0x01053529, 0x018998bb, 0x00091d58}}}, + {X: Field{[10]uint32{0x02ed2ff7, 0x02119731, 0x03ea016c, 0x00db1ec2, 0x03cc765c, 0x0184a297, 0x013344bc, 0x0177ce71, 0x02067dd5, 0x003c063c}}, Y: Field{[10]uint32{0x00aa7e66, 0x02803e39, 0x0261a960, 0x01da1b15, 0x00cda34a, 0x01454133, 0x02c1cd22, 0x02752b19, 0x02b2cd61, 0x00367f16}}}, + {X: Field{[10]uint32{0x024a7a13, 0x03621b10, 0x0394218e, 0x03c5222c, 0x027f661e, 0x03d1f2f6, 0x01dd5c74, 0x01b40a69, 0x00cf0808, 0x00125a5a}}, Y: Field{[10]uint32{0x021874e7, 0x012de1c7, 0x022dfc8d, 0x00909dd3, 0x00360b51, 0x01e71980, 0x017a3635, 0x0183803c, 0x03984420, 0x0035f637}}}, + {X: Field{[10]uint32{0x02efedab, 0x00405ac8, 0x03949892, 0x01728741, 0x03b98435, 0x00d80369, 0x02485749, 0x00eddda3, 0x0059e911, 0x00090b53}}, Y: Field{[10]uint32{0x020f42b1, 0x022de59e, 0x0257727a, 0x0081ac2b, 0x0342f509, 0x014155ce, 0x0228074a, 0x030bb58e, 0x03d7b0c8, 0x0011c373}}}, + {X: Field{[10]uint32{0x0385e8c7, 0x003d3744, 0x015861d2, 0x02f356ac, 0x03466280, 0x01794143, 0x004afacc, 0x01674e13, 0x00cc1a1a, 0x002dae01}}, Y: Field{[10]uint32{0x0121d439, 0x01e62ed9, 0x02d0c898, 0x019c2ec9, 0x0139b579, 0x00a0a7d0, 0x022a1d23, 0x00daa66e, 0x034602a6, 0x000bde24}}}, + {X: Field{[10]uint32{0x01918a4e, 0x02d26dc7, 0x011ca0d1, 0x00b4a931, 0x0346904b, 0x00a04092, 0x038048af, 0x017f74e2, 0x03d07ecc, 0x00370c28}}, Y: Field{[10]uint32{0x018cc917, 0x014469b0, 0x0110febb, 0x02d9e29f, 0x02b701f7, 0x024da952, 0x03536987, 0x003a5d63, 0x01b07055, 0x000c9902}}}, + {X: Field{[10]uint32{0x03d3fab8, 0x0057cad0, 0x013c20c0, 0x00d25de0, 0x005fb229, 0x03d3d12b, 0x02bb6280, 0x03ccc20e, 0x034d345b, 0x00387f90}}, Y: Field{[10]uint32{0x034c4d83, 0x0256c1dd, 0x03f7a59a, 0x00b0b735, 0x03d3b31b, 0x038f4581, 0x008df48c, 0x025eb130, 0x00a52af8, 0x0006c947}}}, + {X: Field{[10]uint32{0x02fb8d08, 0x03f5745d, 0x02060bd1, 0x004f3f5c, 0x0182c2f5, 0x039dd591, 0x03e4a40e, 0x03178abe, 0x00dae08a, 0x002a3b62}}, Y: Field{[10]uint32{0x00175729, 0x007e7ce1, 0x0081b77b, 0x023c74a5, 0x035cc2d9, 0x005eca9b, 0x02f5b537, 0x0258c3ee, 0x00b07441, 0x003d3ed8}}}, + {X: Field{[10]uint32{0x007c6481, 0x0295e40b, 0x0143f76f, 0x004e8389, 0x008e7707, 0x0314348a, 0x01c083ee, 0x02735f25, 0x0028de1e, 0x002d4b3e}}, Y: Field{[10]uint32{0x0375790f, 0x017abdc6, 0x02d833c9, 0x0314dd23, 0x0343eebd, 0x00f8ed4a, 0x03dc729d, 0x03eefe40, 0x01530046, 0x0018d68e}}}, + {X: Field{[10]uint32{0x021d5e83, 0x01e0a485, 0x0178e4dc, 0x015358d2, 0x00b1297c, 0x02ab64ff, 0x03957a94, 0x026ff732, 0x01aef76d, 0x001c081e}}, Y: Field{[10]uint32{0x02783b52, 0x00419096, 0x01f82c8c, 0x011712e5, 0x0132a43a, 0x0031b76e, 0x033a202e, 0x00714b4e, 0x008bf2d8, 0x001260f0}}}, + {X: Field{[10]uint32{0x0257bbf5, 0x00fb8baf, 0x009a0dd7, 0x02e544f3, 0x023ed3dc, 0x02d0de38, 0x00fe8cbd, 0x03873bbd, 0x00d18e9d, 0x00118e35}}, Y: Field{[10]uint32{0x0327e110, 0x01fbc832, 0x01e87cf7, 0x01029654, 0x020cb507, 0x007e8daf, 0x00853f75, 0x00c19a5a, 0x003245cc, 0x001587b8}}}, + {X: Field{[10]uint32{0x03386bfc, 0x02c8b64e, 0x039cbecf, 0x02024410, 0x01d98e48, 0x00f4280e, 0x021dc5ee, 0x02b77b55, 0x02b75fac, 0x003bacd3}}, Y: Field{[10]uint32{0x02e57c4c, 0x0308d269, 0x00af4c21, 0x00eb473d, 0x00e9d8f6, 0x030c46a5, 0x018db8c1, 0x03723015, 0x00ff05eb, 0x003cac8f}}}, + {X: Field{[10]uint32{0x012c45ca, 0x01a167b1, 0x0175e5c5, 0x0190f7dd, 0x01f70a8c, 0x03efa38e, 0x0107df0c, 0x00c84f07, 0x02e5becf, 0x0001fcb1}}, Y: Field{[10]uint32{0x02b6c89d, 0x03903788, 0x0189a77b, 0x03bac847, 0x02cf9d66, 0x03614794, 0x01a04248, 0x0276b83f, 0x01c01971, 0x00254126}}}, + {X: Field{[10]uint32{0x03e53647, 0x008cc0c8, 0x00f81856, 0x003daa54, 0x023cea09, 0x013e2c05, 0x0211064d, 0x0349f3df, 0x03221ec5, 0x001bb1d9}}, Y: Field{[10]uint32{0x0269a3d6, 0x02c5c0eb, 0x01254984, 0x02816b5d, 0x01d0aa7b, 0x0018f13f, 0x02ec7d0f, 0x03a0e723, 0x03579704, 0x0026c0f1}}}, + {X: Field{[10]uint32{0x024dea7e, 0x027e2914, 0x02f5499e, 0x01eb16ca, 0x01b44a70, 0x01e3d9f3, 0x03184b03, 0x017b2807, 0x029d320d, 0x00263dbd}}, Y: Field{[10]uint32{0x02b69a02, 0x03d509bc, 0x0244d79e, 0x0375e324, 0x02ca54a3, 0x015af0ce, 0x01333fe0, 0x01d98e5e, 0x033d7b03, 0x0009bbda}}}, + {X: Field{[10]uint32{0x0347e390, 0x0073c156, 0x017af296, 0x01a0b67b, 0x012d3086, 0x03005c32, 0x037ac998, 0x00b1d975, 0x004558b8, 0x0033c7bd}}, Y: Field{[10]uint32{0x018511c3, 0x037d1192, 0x03d23bef, 0x0360d8e5, 0x00f4345b, 0x016bfbfa, 0x022d8f3f, 0x003b1e1d, 0x0105fb88, 0x0022f307}}}, + {X: Field{[10]uint32{0x006f07e8, 0x00a02863, 0x035aa37c, 0x02096821, 0x009ab62b, 0x01653cde, 0x00cc5c10, 0x01bcbbe2, 0x0251efa2, 0x00043805}}, Y: Field{[10]uint32{0x01779df2, 0x03540fae, 0x00c0a8fa, 0x028c1f8a, 0x0083105d, 0x0222aaa6, 0x03b2cdb7, 0x018cd4c3, 0x01e11f77, 0x000b9a85}}}, + {X: Field{[10]uint32{0x013eee4a, 0x009e59ba, 0x01a58054, 0x0114482e, 0x000af909, 0x01260c4c, 0x03d77d74, 0x00826dbb, 0x03e041ce, 0x002e538b}}, Y: Field{[10]uint32{0x01bca443, 0x01c50b72, 0x020f01d0, 0x02349dda, 0x01a86bfb, 0x011b7c43, 0x00b1dde7, 0x024bd577, 0x03f1103e, 0x00023dea}}}, + {X: Field{[10]uint32{0x02d41154, 0x0174acc5, 0x02ccc122, 0x00d385fc, 0x026d71cc, 0x011362bd, 0x01d233e2, 0x02a7a851, 0x0102c671, 0x0033e79f}}, Y: Field{[10]uint32{0x012d2ca7, 0x03bfe143, 0x00c4ee13, 0x02ef86d8, 0x01a853e2, 0x021e3e5a, 0x003858a3, 0x0259beef, 0x00a10f0b, 0x0020bbae}}}, + {X: Field{[10]uint32{0x03d48bb2, 0x00e6bfd2, 0x034366d5, 0x00af814b, 0x00df8e4f, 0x033d2e4d, 0x01d18ebd, 0x00ee44c6, 0x002994ad, 0x00368e8f}}, Y: Field{[10]uint32{0x01dc0193, 0x01a6a474, 0x00f54256, 0x03b7db6d, 0x035e0d32, 0x03b21998, 0x01ccfe7b, 0x0091e20c, 0x0253c404, 0x000a3e75}}}, + {X: Field{[10]uint32{0x01eec101, 0x0289ec3c, 0x02450d4b, 0x03274394, 0x00a0a095, 0x00a0c7cc, 0x014c9fcd, 0x00de2f64, 0x00182b80, 0x002ae04a}}, Y: Field{[10]uint32{0x026666b3, 0x01351780, 0x0078f142, 0x00ab7030, 0x022286dc, 0x02ec7602, 0x00e366af, 0x01db58f7, 0x01822748, 0x00016af1}}}, + {X: Field{[10]uint32{0x01c4977a, 0x01023df9, 0x014ab831, 0x019fe37e, 0x03f0edd9, 0x00259714, 0x0164391c, 0x032a9757, 0x02a2bf02, 0x003a96e0}}, Y: Field{[10]uint32{0x033d9339, 0x022f3a3f, 0x02cac5d2, 0x00fa25f6, 0x022518d5, 0x01ee2239, 0x01dd5040, 0x0020deb3, 0x02990f32, 0x00207fa0}}}, + {X: Field{[10]uint32{0x03e70fa2, 0x02e3ef3e, 0x00d2ca95, 0x0305f7d6, 0x01318aea, 0x00f68b4a, 0x01d618be, 0x0075f40f, 0x000bab20, 0x00141817}}, Y: Field{[10]uint32{0x02a60383, 0x03ce5f5c, 0x028afc03, 0x03f1b0a9, 0x02d4c978, 0x024a335b, 0x02cc160d, 0x015a4f13, 0x031e007b, 0x00003942}}}, + {X: Field{[10]uint32{0x021191dd, 0x0162c97a, 0x0316831b, 0x0184422d, 0x02513566, 0x0153de6d, 0x01409d88, 0x032b3bd1, 0x00b66d7d, 0x003ddb14}}, Y: Field{[10]uint32{0x01f3cc72, 0x0346041b, 0x01f86d3b, 0x0121dc83, 0x03a30401, 0x025fc1ec, 0x00e2e93a, 0x014502f0, 0x0374b019, 0x001f4156}}}, + {X: Field{[10]uint32{0x03260e7d, 0x00f65664, 0x01b32f6d, 0x0240af5e, 0x01413126, 0x01cb9384, 0x02367db2, 0x0011f330, 0x03bad716, 0x00379414}}, Y: Field{[10]uint32{0x017cc7e2, 0x00e37872, 0x03bf3d3f, 0x02041444, 0x03b1e4c5, 0x017d180c, 0x02b61b5b, 0x02c36c37, 0x02d39c34, 0x00071528}}}, + {X: Field{[10]uint32{0x0206499d, 0x03df237e, 0x017121af, 0x00902527, 0x00437f1a, 0x03786395, 0x018a332b, 0x0251ac6e, 0x019f180e, 0x002b4f9c}}, Y: Field{[10]uint32{0x02f1b554, 0x032b4f80, 0x032c882b, 0x037df28b, 0x03ef310a, 0x02fb7018, 0x0073863a, 0x02935f49, 0x03f1390f, 0x002d1635}}}, + {X: Field{[10]uint32{0x036bae4b, 0x03210330, 0x026ecb46, 0x039db899, 0x01839a3a, 0x00cbe2de, 0x010c8673, 0x02bdad8c, 0x02345560, 0x0009c280}}, Y: Field{[10]uint32{0x02bedeaf, 0x005a8653, 0x01bc689d, 0x01c86f6d, 0x01ef7ef0, 0x02661de8, 0x020f1600, 0x01f45832, 0x004b9215, 0x00236aae}}}, + {X: Field{[10]uint32{0x00624621, 0x00cd3b9a, 0x02d30f98, 0x016cafdc, 0x0325ba2b, 0x012a13fd, 0x03ffdb29, 0x03271321, 0x017e3027, 0x003ad7b4}}, Y: Field{[10]uint32{0x0060a942, 0x012d3b02, 0x003ae3b5, 0x02ff5667, 0x03df4a91, 0x013186b4, 0x028d1a21, 0x0351c66f, 0x00b38f74, 0x000e7fff}}}, + {X: Field{[10]uint32{0x00e0a5dd, 0x0304d70b, 0x02d6a7ba, 0x00869d5c, 0x01fb1f66, 0x016b351a, 0x03f4e807, 0x02633188, 0x01f28a0b, 0x002e7047}}, Y: Field{[10]uint32{0x00a76278, 0x03b15150, 0x00a1e391, 0x028938bf, 0x015eb506, 0x024aceea, 0x03eb0c36, 0x0257bcc9, 0x0278d42b, 0x0016fea2}}}, + {X: Field{[10]uint32{0x03e74b5c, 0x018c433a, 0x0221ca8a, 0x0264f126, 0x00f60f13, 0x03b68102, 0x02611066, 0x038967f9, 0x004380ab, 0x003bb45c}}, Y: Field{[10]uint32{0x02a0d750, 0x03576dc8, 0x0324a567, 0x018594b0, 0x028cc2c6, 0x01ebf366, 0x02a243f5, 0x01ee4458, 0x0276cbe3, 0x001b72d8}}}, + {X: Field{[10]uint32{0x03aa97a7, 0x01400314, 0x034c2526, 0x00417b8d, 0x028c68e3, 0x02b7d8ad, 0x025524a4, 0x0273d1a3, 0x036f5f5b, 0x002392c3}}, Y: Field{[10]uint32{0x01b7f74a, 0x004dfb30, 0x00d56e25, 0x00b455f0, 0x02c7e59f, 0x0341063d, 0x00578c16, 0x000646dd, 0x00aec18d, 0x00347e20}}}, + {X: Field{[10]uint32{0x02a5ebbe, 0x03d67232, 0x0176e90c, 0x036848e3, 0x01a7f393, 0x00c44ac7, 0x005ce9c9, 0x025ae6ba, 0x01bdfc65, 0x001deb88}}, Y: Field{[10]uint32{0x034a21d1, 0x01b151ff, 0x02f9b910, 0x005cc81b, 0x03516947, 0x01ca4553, 0x0225390e, 0x019b37d1, 0x01811e32, 0x003d1211}}}, + {X: Field{[10]uint32{0x03d2346f, 0x035ac1f6, 0x03999e16, 0x00cfc140, 0x01929225, 0x01419899, 0x028bd35f, 0x00bbd166, 0x00a871c0, 0x00074de7}}, Y: Field{[10]uint32{0x0140cad0, 0x002ddc90, 0x011c10d5, 0x01785e36, 0x00a6333d, 0x006571c1, 0x0197cfed, 0x0269ed08, 0x039a7289, 0x00301542}}}, + {X: Field{[10]uint32{0x03ef1ccc, 0x0359c30f, 0x00296cba, 0x0085f51f, 0x025c7ea7, 0x03c09dca, 0x03671995, 0x005aba64, 0x03f328fc, 0x00189405}}, Y: Field{[10]uint32{0x00450603, 0x0269d359, 0x02bf3618, 0x001985f0, 0x02d7056d, 0x0004437d, 0x03eb4ac5, 0x00853fb6, 0x0253af3b, 0x0006d138}}}, + {X: Field{[10]uint32{0x0238412d, 0x029cae01, 0x01eb78ea, 0x0059d029, 0x00d1019d, 0x010e1dfa, 0x023f508d, 0x00d424eb, 0x02496bdc, 0x0031e93f}}, Y: Field{[10]uint32{0x020febef, 0x02a5d125, 0x016fba30, 0x022d9d66, 0x01673093, 0x012e3dcd, 0x03924067, 0x01c4c3a1, 0x02a895fb, 0x0006d6c4}}}, + {X: Field{[10]uint32{0x02441d3f, 0x00a0d22c, 0x0052fa56, 0x019add3c, 0x01b65c61, 0x03123102, 0x000102cb, 0x0313bcfa, 0x003ce8f9, 0x0033fe7e}}, Y: Field{[10]uint32{0x0352ee6f, 0x038cb378, 0x0252e338, 0x001ea2f4, 0x02814ceb, 0x035a5cfc, 0x0046a41e, 0x0081fbf2, 0x00f82180, 0x00133106}}}, + {X: Field{[10]uint32{0x02700541, 0x0011c859, 0x02ef82c6, 0x0395eb79, 0x002fd23a, 0x027a8477, 0x038ae98a, 0x030a5724, 0x031045b8, 0x0021009d}}, Y: Field{[10]uint32{0x001e4f99, 0x0381c8e1, 0x01da5f56, 0x033502c5, 0x03f3f80d, 0x02ea0753, 0x01b972ce, 0x00501220, 0x0192d3c1, 0x001ca519}}}, + {X: Field{[10]uint32{0x012e0d2c, 0x01c18503, 0x004afb5c, 0x013aa53e, 0x015e304a, 0x023d548b, 0x01a346bd, 0x02e7b018, 0x0330e00c, 0x003deac4}}, Y: Field{[10]uint32{0x035e6144, 0x004406f7, 0x02f866bb, 0x028e7753, 0x012ef0f6, 0x03cfcf5a, 0x018def46, 0x002952bd, 0x00518935, 0x001752b2}}}, + {X: Field{[10]uint32{0x03d4e618, 0x0062131b, 0x0292c785, 0x037304fd, 0x01d0da4d, 0x021b260a, 0x01a4d5b7, 0x02dde230, 0x02192303, 0x0029f213}}, Y: Field{[10]uint32{0x031774fe, 0x02e915ae, 0x01744939, 0x00cea0a7, 0x01659285, 0x0178fc45, 0x0164bad3, 0x036cbc87, 0x025b8fc2, 0x0015b8cb}}}, + {X: Field{[10]uint32{0x0098c43a, 0x0276036b, 0x00dccf19, 0x00e41fd7, 0x02c65f41, 0x0299de9c, 0x03bc55af, 0x036b00d8, 0x0084a680, 0x002e2c32}}, Y: Field{[10]uint32{0x016b8127, 0x0239c794, 0x03932d0f, 0x01e98976, 0x016569f8, 0x013b6c11, 0x02bec5ba, 0x001b0735, 0x008ac926, 0x0010f906}}}, + {X: Field{[10]uint32{0x025e0df6, 0x014120a9, 0x038ddac2, 0x023a50eb, 0x01c5bef9, 0x036d285e, 0x03bc33c1, 0x0184d568, 0x0043d057, 0x00205bb1}}, Y: Field{[10]uint32{0x01f0b360, 0x021f1215, 0x022a9c9b, 0x00c04862, 0x02054f9a, 0x01b8d9ad, 0x00f6fa19, 0x01623664, 0x02c9e9f3, 0x002269ec}}}, + {X: Field{[10]uint32{0x011e28a0, 0x027526aa, 0x03fd2af3, 0x003cedc5, 0x00b10196, 0x03f3311f, 0x03ba24f7, 0x001f54cf, 0x0103823d, 0x00237b48}}, Y: Field{[10]uint32{0x00011728, 0x02549b30, 0x02ad4fb1, 0x0244a9a0, 0x01e3e1a3, 0x01d4faab, 0x03ef9f7d, 0x01987bd0, 0x011fbe1a, 0x000fc0fb}}}, + {X: Field{[10]uint32{0x00d6260b, 0x026baab4, 0x00c87484, 0x0312fb88, 0x010ff4f7, 0x03a30c59, 0x03df9e3c, 0x0351e2fe, 0x039ce874, 0x002c712c}}, Y: Field{[10]uint32{0x004b4fde, 0x02f48db0, 0x00dbda54, 0x02137ef1, 0x0132c25b, 0x00e5ab72, 0x03fe7245, 0x006207ee, 0x03613070, 0x000e2be2}}}, + {X: Field{[10]uint32{0x02b2c971, 0x0176b67e, 0x0390d0e7, 0x03c9f842, 0x01f011bc, 0x02af2082, 0x03f657cf, 0x00face85, 0x023be595, 0x001f56f3}}, Y: Field{[10]uint32{0x00f84787, 0x03b78aac, 0x0167cbbc, 0x029d0198, 0x01864b2b, 0x00b0e792, 0x0308b3b6, 0x035e0ac1, 0x02865f5f, 0x001ce035}}}, + {X: Field{[10]uint32{0x0000f285, 0x034ae1d3, 0x01497a54, 0x01e22c8a, 0x00096af1, 0x031c5c71, 0x027717fb, 0x03cb3453, 0x011a422a, 0x000abd44}}, Y: Field{[10]uint32{0x03771f41, 0x012fabae, 0x0259f753, 0x031722b2, 0x032f3445, 0x01ecec90, 0x0000b68b, 0x03c401fa, 0x031bee43, 0x00111a2f}}}, + {X: Field{[10]uint32{0x037af766, 0x029ed258, 0x0155dc81, 0x02ba8b42, 0x01fe010d, 0x01010ed8, 0x03dfb65f, 0x0377bfe2, 0x01c06dc8, 0x002d1b8a}}, Y: Field{[10]uint32{0x017b59f5, 0x03b27767, 0x016459c1, 0x026c2714, 0x03748c5c, 0x01289ea7, 0x010cef82, 0x00c53f5f, 0x0095ae16, 0x00189ddd}}}, + {X: Field{[10]uint32{0x03a6b1ea, 0x02c8673e, 0x034a5089, 0x03e9648e, 0x00aef6d8, 0x00e73545, 0x02b3bd53, 0x02903dc7, 0x02d3f44e, 0x000415e1}}, Y: Field{[10]uint32{0x0343d0bc, 0x0001736d, 0x00f151ba, 0x00927f0b, 0x0139fad0, 0x03a1b42e, 0x012c4508, 0x008b2df6, 0x03dac875, 0x000a93a9}}}, + {X: Field{[10]uint32{0x02adb23f, 0x0093d205, 0x038575c6, 0x03bfc22d, 0x02d2d2d8, 0x024b3ac8, 0x01345738, 0x01b8c062, 0x0081be85, 0x0007cf03}}, Y: Field{[10]uint32{0x03f6072b, 0x03a959e2, 0x031c9faa, 0x014b4c9c, 0x0011158d, 0x027135ed, 0x02f48408, 0x012673d4, 0x0290de24, 0x0001cc85}}}, + {X: Field{[10]uint32{0x028bd2b3, 0x03d1aa91, 0x01c9f5ab, 0x01afc5be, 0x02e43787, 0x020cee83, 0x012484ff, 0x0257e824, 0x02e3a95a, 0x0005b72e}}, Y: Field{[10]uint32{0x01ffa44d, 0x027c9056, 0x00034344, 0x00ab3785, 0x0030e558, 0x031a45c0, 0x02de4733, 0x004b5b06, 0x0007247b, 0x00159c9f}}}, + {X: Field{[10]uint32{0x02e70726, 0x02510e36, 0x03fff1c7, 0x029927b6, 0x02e42314, 0x017b6af1, 0x00ff3c0f, 0x00f23e49, 0x016cd672, 0x000452f9}}, Y: Field{[10]uint32{0x028ac521, 0x03641949, 0x035e1d5f, 0x01d6511c, 0x0245b61b, 0x00cb3e9e, 0x0180046b, 0x037ab9f1, 0x0172855c, 0x00026137}}}, + {X: Field{[10]uint32{0x0103fdaf, 0x02dfab36, 0x0217d747, 0x00ea35d3, 0x0351766b, 0x03d6eaff, 0x029dbac7, 0x0211cb85, 0x02e601f9, 0x0023432c}}, Y: Field{[10]uint32{0x00bc9b92, 0x03dcdaa0, 0x0160a0f1, 0x02ae2678, 0x01f06b36, 0x033aaec4, 0x00ea3682, 0x024fdc97, 0x03f5b9e7, 0x0034564e}}}, + {X: Field{[10]uint32{0x01714db3, 0x01c9fd4c, 0x005caab4, 0x00f9212d, 0x0134e3b4, 0x020125a4, 0x032f3a2c, 0x020b936d, 0x0354188c, 0x0016d081}}, Y: Field{[10]uint32{0x00723d9f, 0x01b304e9, 0x008838bf, 0x0171dd66, 0x001c7eed, 0x0066f852, 0x00d16437, 0x03cd81eb, 0x007d27d7, 0x0012a24c}}}, + {X: Field{[10]uint32{0x00cbf74b, 0x006d63e2, 0x006ed18c, 0x00b87311, 0x019f01c6, 0x0003f82d, 0x0056a728, 0x00765a36, 0x021d9576, 0x002478dd}}, Y: Field{[10]uint32{0x0396c772, 0x00494c0a, 0x02bc7258, 0x03034cf7, 0x01b73a58, 0x02667bd5, 0x033389e9, 0x020dd8a3, 0x01e396f8, 0x002d6ad8}}}, + {X: Field{[10]uint32{0x001a4655, 0x0174a717, 0x02ad35b0, 0x007c0b62, 0x02016e0f, 0x02af814a, 0x02f55480, 0x0397ca70, 0x0383dc77, 0x000c4e02}}, Y: Field{[10]uint32{0x0193403d, 0x00ff8999, 0x01b20107, 0x02f06a87, 0x02b42173, 0x020e7342, 0x0034342b, 0x03a9c8f1, 0x03aecc84, 0x0008f32b}}}, + {X: Field{[10]uint32{0x021edd27, 0x0336a02c, 0x0239a764, 0x009e8325, 0x038f3f37, 0x02406554, 0x00b44c7c, 0x01099241, 0x018cbcd5, 0x002b9006}}, Y: Field{[10]uint32{0x00eeba8f, 0x02b988cd, 0x012005cf, 0x0269b0e7, 0x02ffceea, 0x009f6628, 0x01a0e7c8, 0x0333f336, 0x0308ffec, 0x0000e95f}}}, + {X: Field{[10]uint32{0x00a981c8, 0x0093222a, 0x0015f73e, 0x0151c9ed, 0x015764a8, 0x0066ec09, 0x01b1d3ac, 0x0303c492, 0x0387abea, 0x003d1ca5}}, Y: Field{[10]uint32{0x0265d172, 0x02d3a7ab, 0x0319d00a, 0x00542ff9, 0x03b51aae, 0x03851b41, 0x039783fd, 0x004ca31f, 0x01a568d8, 0x0038c458}}}, + {X: Field{[10]uint32{0x02d5884a, 0x03205d5f, 0x03b69ce4, 0x023029f5, 0x02f52d3b, 0x03a13429, 0x0059b617, 0x0224d3dc, 0x02b83414, 0x003e4bc0}}, Y: Field{[10]uint32{0x00864080, 0x00f3d06a, 0x026b706f, 0x023c3eed, 0x03cacd20, 0x031b7a92, 0x00eb5305, 0x00c08222, 0x02f88273, 0x003ebb5f}}}, + {X: Field{[10]uint32{0x00c93363, 0x00f385df, 0x01ec49ed, 0x008acac3, 0x029efe40, 0x007e13f0, 0x028cc4dd, 0x035a082f, 0x00aae93b, 0x0028afb6}}, Y: Field{[10]uint32{0x018ada1d, 0x003277c6, 0x00213d63, 0x02cecfc2, 0x027bf235, 0x03b7ae27, 0x0340f299, 0x01bedf80, 0x01c96212, 0x000a1eae}}}, + {X: Field{[10]uint32{0x03af4724, 0x01063e6d, 0x0198e899, 0x038b80a5, 0x00cf6219, 0x024c204d, 0x0309dc80, 0x00474666, 0x03cd3d18, 0x001690b3}}, Y: Field{[10]uint32{0x013f8423, 0x03ba3c16, 0x007172e0, 0x00f583ee, 0x02e30141, 0x002fc970, 0x02a83b18, 0x0275dac3, 0x021c3992, 0x0025739c}}}, + {X: Field{[10]uint32{0x030e530f, 0x028ae516, 0x0278940b, 0x01ae850d, 0x012e768a, 0x0105d421, 0x03f1eca4, 0x02fc64c8, 0x030567e8, 0x000749ea}}, Y: Field{[10]uint32{0x01e1afa8, 0x00cf9a84, 0x01b07c6c, 0x03775468, 0x02a23e3d, 0x01ac124c, 0x02532be7, 0x00a68562, 0x0139496d, 0x000610e6}}}, + {X: Field{[10]uint32{0x02ab4326, 0x01d2451b, 0x03d319bc, 0x0222dc98, 0x01bbbf80, 0x01337cff, 0x002fcf6e, 0x016fd12d, 0x005922c0, 0x00164afe}}, Y: Field{[10]uint32{0x004c7f65, 0x016f1d00, 0x0201e7d9, 0x01da3dfd, 0x013aaab9, 0x028bab09, 0x03946f3b, 0x03c3bf78, 0x00c38dcc, 0x002132f6}}}, + {X: Field{[10]uint32{0x009359d5, 0x02785bc0, 0x00fcf1dd, 0x015b40f1, 0x010d4df1, 0x03bab710, 0x0001f4ad, 0x036ae2ff, 0x02705ae3, 0x00199cc2}}, Y: Field{[10]uint32{0x038273ee, 0x03d5e81d, 0x03718582, 0x00b1218f, 0x036e8f42, 0x026e7bec, 0x03b91701, 0x0362c89c, 0x00c44ea1, 0x0030131f}}}, + {X: Field{[10]uint32{0x03b7fe83, 0x016453b6, 0x011ae07c, 0x01ee5e52, 0x001ce689, 0x01392158, 0x03b246d8, 0x0082b027, 0x02005324, 0x000f4009}}, Y: Field{[10]uint32{0x00c7d98e, 0x010775e5, 0x0152a532, 0x0074c871, 0x03c221fa, 0x00925148, 0x00c48557, 0x03539def, 0x02642f16, 0x0016f5cc}}}, + {X: Field{[10]uint32{0x03a24487, 0x03509d50, 0x021c061e, 0x02b5c42a, 0x02750395, 0x008b8b0a, 0x0089d37d, 0x0348bf48, 0x02362b5d, 0x000350ab}}, Y: Field{[10]uint32{0x0339ada7, 0x01863fb2, 0x02fc9c2a, 0x0126ca84, 0x00ded0a6, 0x0046dbdf, 0x03cc24ba, 0x0387a94e, 0x02001571, 0x002110e7}}}, + {X: Field{[10]uint32{0x02253743, 0x03c494ea, 0x01670ede, 0x00796f74, 0x00409e10, 0x0063a41d, 0x00b306dc, 0x02aff400, 0x01ca486f, 0x000df1d8}}, Y: Field{[10]uint32{0x010cad12, 0x01fd99ee, 0x033d0627, 0x02a5701f, 0x0129669d, 0x01ecb2e2, 0x02c241ae, 0x0036c627, 0x00e30111, 0x00394e10}}}, + {X: Field{[10]uint32{0x03b0e788, 0x027b42bc, 0x0345b288, 0x0206865c, 0x002afa97, 0x016b035b, 0x0019f371, 0x02f23bae, 0x02f8bbaf, 0x001399cb}}, Y: Field{[10]uint32{0x00814061, 0x03f3d30e, 0x0385204a, 0x02e5464d, 0x03130cb0, 0x018b83aa, 0x000133fe, 0x03601d1a, 0x00dbbb16, 0x0027043c}}}, + {X: Field{[10]uint32{0x03d51fec, 0x01e475a3, 0x03a68ed8, 0x004bcd6a, 0x0108e1df, 0x01bd8a52, 0x00635ae6, 0x01e4a7a7, 0x003b23c0, 0x00307ca5}}, Y: Field{[10]uint32{0x0264ae75, 0x0352ffba, 0x005fdfc4, 0x0319a001, 0x012f2262, 0x029ac441, 0x01f7ef96, 0x017b1664, 0x02c893ad, 0x000cddad}}}, + {X: Field{[10]uint32{0x00370be6, 0x0180abb0, 0x00ffce17, 0x01b5ebf7, 0x01351e82, 0x0198f994, 0x00f10cdf, 0x036611cb, 0x021e739c, 0x000f7c91}}, Y: Field{[10]uint32{0x0292cb06, 0x000340b1, 0x0301fc9f, 0x0295fbab, 0x02bd5ec5, 0x0206b6aa, 0x014eeb00, 0x0303b0d6, 0x00b33ed9, 0x0017923f}}}, + {X: Field{[10]uint32{0x022a82b7, 0x02307cf5, 0x033fd551, 0x009d6d8e, 0x0150f123, 0x02d83f61, 0x004ecfba, 0x024b57d3, 0x0128f98b, 0x003534f5}}, Y: Field{[10]uint32{0x027d5b76, 0x0034b3b6, 0x01a2e049, 0x00ed52c1, 0x01255405, 0x02612f02, 0x01a838ed, 0x01779a64, 0x01508543, 0x0019125b}}}, + {X: Field{[10]uint32{0x0209236b, 0x039f4084, 0x01108b3e, 0x011c3889, 0x03ad6448, 0x00ffc0e9, 0x03a41136, 0x00da3c69, 0x019b4aa3, 0x003b360e}}, Y: Field{[10]uint32{0x01355213, 0x00dc48dd, 0x011af30f, 0x023c1329, 0x01c629d8, 0x00f00b2d, 0x0351e617, 0x0070a438, 0x01fba792, 0x000b8482}}}, + {X: Field{[10]uint32{0x01f78722, 0x00cb8273, 0x01ae38c3, 0x01c1e173, 0x01416d1a, 0x02cd1356, 0x033354af, 0x0036a40c, 0x03e57e6a, 0x00356642}}, Y: Field{[10]uint32{0x03a17814, 0x0316445e, 0x01eceeef, 0x03224e5e, 0x00278f73, 0x01110402, 0x039198d3, 0x01bcf441, 0x018b73f7, 0x002ca8b3}}}, + {X: Field{[10]uint32{0x00374b1b, 0x03c10aa4, 0x0174f85e, 0x0224a1ef, 0x02b57e90, 0x01876007, 0x03d59786, 0x03b402bc, 0x03651d8c, 0x001d662a}}, Y: Field{[10]uint32{0x0028f04f, 0x036d835b, 0x00240b60, 0x021e3d33, 0x027edaae, 0x0008ba7b, 0x000cbd4b, 0x02c7fee7, 0x00269466, 0x001627f1}}}, + {X: Field{[10]uint32{0x01f694e7, 0x0248b3d0, 0x00e7d7e0, 0x03f663af, 0x03be088c, 0x00714c06, 0x02048b76, 0x00b4c614, 0x0017b12d, 0x003f41c5}}, Y: Field{[10]uint32{0x0232c363, 0x013688ef, 0x00b45966, 0x01d163be, 0x00d47d8f, 0x01ad5236, 0x01f679d9, 0x00ee4cab, 0x03f10ee6, 0x000b6714}}}, + {X: Field{[10]uint32{0x0372ca0e, 0x01b3804a, 0x038d15e5, 0x02ff2f0a, 0x02b1e513, 0x03a4d1fc, 0x01571ac8, 0x021a2b47, 0x0190e290, 0x001696d2}}, Y: Field{[10]uint32{0x03ebf968, 0x0186663b, 0x005d5e51, 0x039fa0c5, 0x01424285, 0x0313271f, 0x01569f63, 0x02549150, 0x02f50715, 0x0031da14}}}, + {X: Field{[10]uint32{0x01e7f2bd, 0x023015bf, 0x020f5972, 0x02057cf4, 0x0225c900, 0x01ba9bcd, 0x035a415f, 0x03c5190b, 0x00243cd4, 0x0024f7bb}}, Y: Field{[10]uint32{0x032dc7cb, 0x0217c96f, 0x0336dd5e, 0x0164641d, 0x006abfa8, 0x0150527d, 0x0378145f, 0x00e85987, 0x01beb999, 0x00223e46}}}, + {X: Field{[10]uint32{0x02df82b6, 0x02645f91, 0x02602f5c, 0x01f9d84e, 0x019c9bec, 0x001a350e, 0x01104c93, 0x03659e5a, 0x017ba65a, 0x00248934}}, Y: Field{[10]uint32{0x00a32f65, 0x03bef3c6, 0x0071055c, 0x03ef3d69, 0x001b5691, 0x03ac4193, 0x0289e54e, 0x0293a31d, 0x00e32bc2, 0x000d1b26}}}, + {X: Field{[10]uint32{0x0379c38e, 0x015450ce, 0x011890f0, 0x00ddb956, 0x01cfc916, 0x01cd1e9c, 0x00f054b8, 0x03fe7053, 0x009124dd, 0x002146b3}}, Y: Field{[10]uint32{0x02116f35, 0x031a7307, 0x0213a55c, 0x03c4c3c3, 0x022dd20b, 0x03127715, 0x00527e8c, 0x00730d0c, 0x01f058d2, 0x0036566f}}}, + {X: Field{[10]uint32{0x00ea4d96, 0x0041d7cb, 0x012122b7, 0x004a4c7e, 0x00eff0a6, 0x0120a544, 0x03e01ef4, 0x00471421, 0x0303b7c1, 0x003fdb04}}, Y: Field{[10]uint32{0x034841f6, 0x003ba85e, 0x01574537, 0x03fd6a56, 0x027e99d0, 0x02495417, 0x02239beb, 0x0142a832, 0x03bf7bcf, 0x00093c26}}}, + {X: Field{[10]uint32{0x035fdac0, 0x02f18d90, 0x029d06a4, 0x013d3d32, 0x020fd501, 0x022dbb2d, 0x03fb51ec, 0x02f4750c, 0x01f055e7, 0x003c8ef6}}, Y: Field{[10]uint32{0x016d7b60, 0x00653ba9, 0x03da69d2, 0x01f7c482, 0x0325ba91, 0x03b91d11, 0x02e7012a, 0x026b65a3, 0x00589d26, 0x002594ad}}}, + {X: Field{[10]uint32{0x01f46ff7, 0x01549e92, 0x035642a0, 0x03e4e46e, 0x001fe070, 0x02ef52bc, 0x0023e601, 0x017465ee, 0x0056ea6d, 0x0027588b}}, Y: Field{[10]uint32{0x015c609e, 0x00ea473f, 0x01494e6c, 0x0310b809, 0x02c648c7, 0x01b6cf72, 0x03bd5576, 0x0217fb67, 0x03940d64, 0x0020186e}}}, + {X: Field{[10]uint32{0x03020c13, 0x0342b7cb, 0x03b80370, 0x03795a4c, 0x012915af, 0x001ee658, 0x014b67c4, 0x03579d8e, 0x03e4cff5, 0x0025253b}}, Y: Field{[10]uint32{0x00a7e4ea, 0x016bce16, 0x00a8184f, 0x02e3f4fc, 0x03fd86ec, 0x03908dcb, 0x03964b2d, 0x03873009, 0x0238c85e, 0x002ac31f}}}, + {X: Field{[10]uint32{0x012e1a86, 0x005802a5, 0x03268dbe, 0x01665d00, 0x00e028c2, 0x024e2807, 0x028cb6c2, 0x014bf002, 0x03baffbc, 0x002a3935}}, Y: Field{[10]uint32{0x011a0bed, 0x019f0a4d, 0x0096fc9f, 0x02e72591, 0x02cc7eee, 0x01bc59c8, 0x0379723c, 0x0008b013, 0x003d0dc3, 0x0002356e}}}, + {X: Field{[10]uint32{0x00927ac5, 0x030eed79, 0x00df1f17, 0x02bc5467, 0x01203c01, 0x035cb5e9, 0x03191ad4, 0x01183fbf, 0x0364938e, 0x0020e107}}, Y: Field{[10]uint32{0x03536800, 0x00075e7a, 0x03e4180e, 0x0036c813, 0x02ecb1f3, 0x00105712, 0x03733974, 0x01c92484, 0x00f2c2e8, 0x0003d61a}}}, + {X: Field{[10]uint32{0x020612f6, 0x00f220c0, 0x02acbd62, 0x03da542b, 0x02af2a2d, 0x02d65fec, 0x00dcba67, 0x00fe2a18, 0x00d95ef0, 0x003ba25d}}, Y: Field{[10]uint32{0x00f141ac, 0x0381fe29, 0x0321634e, 0x03ebadf3, 0x016596ab, 0x03e7dd8f, 0x02951453, 0x01775f31, 0x01740308, 0x00173c43}}}, + {X: Field{[10]uint32{0x02579606, 0x0006982d, 0x01857b2d, 0x01ac9a47, 0x01a92dde, 0x0109d8a3, 0x036e5fa3, 0x01b28ec4, 0x018c2361, 0x001a3a23}}, Y: Field{[10]uint32{0x00fd5450, 0x01345e68, 0x03c41257, 0x01ce1a85, 0x01e5ec7b, 0x02da959d, 0x00c5d609, 0x035baf16, 0x00903766, 0x000016a4}}}, + {X: Field{[10]uint32{0x0122345b, 0x031626a5, 0x02e7c50a, 0x016b38ec, 0x00cfe6ab, 0x01333290, 0x01bea794, 0x0322d883, 0x018ac62e, 0x003f8d37}}, Y: Field{[10]uint32{0x03d6c8c0, 0x02ee6fda, 0x025bff0a, 0x03562634, 0x0330c9ed, 0x034f8029, 0x01611d7b, 0x0384894d, 0x0055adf1, 0x002233c0}}}, + {X: Field{[10]uint32{0x0251bc1f, 0x017c8d60, 0x03ff7f6a, 0x019bf462, 0x00099893, 0x004c5cda, 0x0262479c, 0x005226aa, 0x029cc0f8, 0x00108e9e}}, Y: Field{[10]uint32{0x01c678ee, 0x00986f4a, 0x0271fde4, 0x02591cb3, 0x01259ce8, 0x01844b90, 0x02776ea1, 0x0090740b, 0x03dd0519, 0x003249ac}}}, + {X: Field{[10]uint32{0x010b98f4, 0x013c55eb, 0x00e730ed, 0x02d1c9f0, 0x010ffb0e, 0x00b82364, 0x01bb840b, 0x0153ff98, 0x03f97cbf, 0x001fe982}}, Y: Field{[10]uint32{0x0294d733, 0x02cec243, 0x0281f6e7, 0x03b5e5e3, 0x027e296f, 0x01fdcda9, 0x01c7b26a, 0x021ee3f7, 0x02df84d3, 0x00356c6a}}}, + {X: Field{[10]uint32{0x00153a66, 0x01dd0cd8, 0x0098cf1e, 0x01743bbe, 0x01829481, 0x0245fe45, 0x02df8a66, 0x037af1df, 0x030ef1ed, 0x002794f2}}, Y: Field{[10]uint32{0x02b41ccf, 0x03e05fd1, 0x037a2ed8, 0x0273f955, 0x01498349, 0x022faf82, 0x024c6f1b, 0x028a86e6, 0x02f260fe, 0x0014d636}}}, + {X: Field{[10]uint32{0x02d6f119, 0x01a5548e, 0x01e9631e, 0x023a3b24, 0x00140471, 0x0150ccb0, 0x0344ad53, 0x0319de66, 0x0241c616, 0x002b7e4d}}, Y: Field{[10]uint32{0x0242ff9e, 0x00a84edf, 0x00619dfe, 0x01056b4e, 0x028dc172, 0x031ab10a, 0x01f67615, 0x02cf7fd5, 0x02afe4cf, 0x00368f19}}}, + {X: Field{[10]uint32{0x034e4ca8, 0x01bb2d91, 0x02f0c972, 0x0310e5bd, 0x035b6242, 0x02f857d2, 0x0287ddb2, 0x02cd9ec1, 0x03ec485d, 0x0001c078}}, Y: Field{[10]uint32{0x013b9e83, 0x0360644b, 0x00f946f2, 0x033cf44f, 0x03691aa3, 0x001d00dd, 0x01f7fea3, 0x0387140a, 0x027613dc, 0x0004263e}}}, + {X: Field{[10]uint32{0x00ccfefc, 0x0036443e, 0x01e84aac, 0x01781852, 0x02d51364, 0x03149402, 0x01a7e042, 0x02a8167a, 0x03a5d3ec, 0x00363f16}}, Y: Field{[10]uint32{0x034b3d8a, 0x025c225e, 0x01920c25, 0x020f95e3, 0x02df96ee, 0x00e8b7c1, 0x014b4d98, 0x025369d2, 0x034d0eec, 0x001c9c92}}}, + {X: Field{[10]uint32{0x0371398e, 0x03aa0fbf, 0x038dcc9e, 0x027528ce, 0x00c900cb, 0x02aa97c3, 0x018a186f, 0x03fedc19, 0x039a8279, 0x001ef223}}, Y: Field{[10]uint32{0x03a14a7c, 0x01581983, 0x001b0aa9, 0x027c7d56, 0x034939d3, 0x0022ddbd, 0x02d8c77e, 0x02054468, 0x01dfe5ed, 0x00337348}}}, + {X: Field{[10]uint32{0x035ef0e5, 0x01ba845b, 0x019190f4, 0x0297befe, 0x03e5fb92, 0x03c85ca8, 0x0219bc77, 0x02787db8, 0x01310bc7, 0x00215e35}}, Y: Field{[10]uint32{0x03b7d550, 0x01d67344, 0x00290768, 0x0137b45f, 0x00cac2d0, 0x008ce3e7, 0x02ef5e05, 0x018b1a53, 0x02ac39c2, 0x003f346c}}}, + {X: Field{[10]uint32{0x00020a62, 0x0379d62a, 0x010935cd, 0x008112ee, 0x02d41240, 0x01f87302, 0x01eb5f43, 0x01986d51, 0x02d73ea2, 0x00262f08}}, Y: Field{[10]uint32{0x02232226, 0x038530a0, 0x032d9f32, 0x03ca86a8, 0x002607bf, 0x03118be5, 0x02c8d83c, 0x02e96f0a, 0x01de0d33, 0x00050f1f}}}, + {X: Field{[10]uint32{0x01e8ee10, 0x0112c2b5, 0x0001aaca, 0x0197a8f1, 0x019980f2, 0x016fc215, 0x008106ca, 0x005db742, 0x021e95d2, 0x001ff3e0}}, Y: Field{[10]uint32{0x02400284, 0x03b274bf, 0x01cfb266, 0x01506ce2, 0x03c127b0, 0x02389f2a, 0x02f4598e, 0x02bfbbe2, 0x01ae87e7, 0x0009f0d0}}}, + {X: Field{[10]uint32{0x0216a5f1, 0x00a4ba80, 0x02ca8316, 0x01e87f1d, 0x0367acd6, 0x028cd3e4, 0x03e195b6, 0x03bc17e1, 0x01b9d440, 0x0022628e}}, Y: Field{[10]uint32{0x00ce52ef, 0x03290ec6, 0x037c3fc2, 0x0398af53, 0x02c0db80, 0x0113eafe, 0x011cae97, 0x01d394bf, 0x03bbfe32, 0x003ad90b}}}, + {X: Field{[10]uint32{0x032192a4, 0x00e2fd0f, 0x03e3cbf1, 0x009e0cc8, 0x0287d6a6, 0x03c62fe6, 0x01624801, 0x0308582a, 0x00a28918, 0x000fba5d}}, Y: Field{[10]uint32{0x01660d9c, 0x002d56f3, 0x01c63dc5, 0x03f04375, 0x020fde39, 0x0183f483, 0x01d5b2a9, 0x03acd526, 0x02dfac71, 0x003d6ce1}}}, + {X: Field{[10]uint32{0x0047c14a, 0x030fcd90, 0x010a57dd, 0x03d0bed8, 0x019766bb, 0x001b0494, 0x03753eed, 0x037cd26a, 0x012fde76, 0x002f7443}}, Y: Field{[10]uint32{0x02923dec, 0x01d0cc05, 0x03bbd6bc, 0x03da7100, 0x022b8b47, 0x02d1000c, 0x0327664a, 0x01fae6e2, 0x02ed34f9, 0x0014114c}}}, + {X: Field{[10]uint32{0x03edd63d, 0x0028738e, 0x02b23c00, 0x0123105d, 0x02477a51, 0x02e7fca4, 0x039a4a0e, 0x0104913f, 0x00373978, 0x000b05e5}}, Y: Field{[10]uint32{0x032fcfb6, 0x039803c3, 0x00173e37, 0x03dcf98c, 0x002c1ca5, 0x02684aa3, 0x02fcccab, 0x01ecaea0, 0x01844f9b, 0x0028d9ed}}}, + {X: Field{[10]uint32{0x03e71580, 0x0225e62c, 0x01841362, 0x028cb4f3, 0x01a83036, 0x03ba5faf, 0x031e6df6, 0x00744dbd, 0x030ef2d6, 0x000a0bbc}}, Y: Field{[10]uint32{0x03d0f43a, 0x02097738, 0x0286fc47, 0x030c7d63, 0x035b4f9d, 0x028ff247, 0x00252647, 0x03a8b953, 0x0133c350, 0x00242c33}}}, + {X: Field{[10]uint32{0x019eff23, 0x00e31ce2, 0x00ef71ea, 0x03ab6c4e, 0x01085bf6, 0x03b82faf, 0x00ab3d50, 0x03e9f2d5, 0x015542ac, 0x00290ad3}}, Y: Field{[10]uint32{0x03566bb7, 0x03cf3287, 0x030bdb1f, 0x00e83f4b, 0x0363d0e0, 0x009ac2e7, 0x00c49973, 0x02649dd9, 0x0080f10b, 0x0005f8e2}}}, + {X: Field{[10]uint32{0x037ef00e, 0x008947bf, 0x0138b1a0, 0x0295d7cf, 0x01a06fce, 0x02562556, 0x0180d474, 0x00323d2d, 0x0064c5b0, 0x002c8eb3}}, Y: Field{[10]uint32{0x00b6464f, 0x01502a87, 0x007293bc, 0x02b3fe42, 0x03073964, 0x0115fd79, 0x03e6a17d, 0x0193612f, 0x000a7eaa, 0x0019aec6}}}, + {X: Field{[10]uint32{0x01885ea7, 0x0298a3dd, 0x03023411, 0x0273b31d, 0x0189df02, 0x001d45ba, 0x001ce7a4, 0x02c18d1a, 0x00e696ae, 0x000250b7}}, Y: Field{[10]uint32{0x007caf14, 0x00fe02dc, 0x02784ba1, 0x02eb545e, 0x01c439f0, 0x00eabed1, 0x02b06cea, 0x01ecfdad, 0x028a88be, 0x0038822f}}}, + {X: Field{[10]uint32{0x00392d16, 0x01196ae2, 0x020e1610, 0x0253843a, 0x0023e64a, 0x01c7ae52, 0x038e4dbe, 0x013b0208, 0x02b95219, 0x002e29a8}}, Y: Field{[10]uint32{0x03a5fec1, 0x018f5472, 0x015c74cb, 0x03d306d5, 0x0034c7be, 0x010ef896, 0x02758ae3, 0x03b8fdde, 0x0331b8e5, 0x003e00a7}}}, + {X: Field{[10]uint32{0x0068fc20, 0x020ff082, 0x016d90cc, 0x03105e90, 0x02f15fea, 0x0298532d, 0x03db083e, 0x0017dec7, 0x0369a1ee, 0x0028db4c}}, Y: Field{[10]uint32{0x02f0af52, 0x00c9f8dd, 0x01f10e94, 0x03817c28, 0x00aacd2a, 0x02a7f5c5, 0x03b76516, 0x03c9f56d, 0x03f9fe40, 0x00392af5}}}, + {X: Field{[10]uint32{0x008dda1d, 0x03d790c2, 0x00cc0ebe, 0x01a3d142, 0x016f03bd, 0x035bf535, 0x00cc89b9, 0x006b9bff, 0x01083d71, 0x0013a8c0}}, Y: Field{[10]uint32{0x00a3e513, 0x01e4f557, 0x02c83eed, 0x017f3957, 0x0340f9ea, 0x015059b4, 0x0154bcf1, 0x01652419, 0x017a8b1c, 0x00207a66}}}, + {X: Field{[10]uint32{0x02ffdc55, 0x03d0938a, 0x0175ece2, 0x023d01a8, 0x020fee11, 0x0109edc4, 0x0342e62e, 0x02271d91, 0x03161c1c, 0x000808a1}}, Y: Field{[10]uint32{0x03fa35b1, 0x005dd999, 0x02c28bc8, 0x00317b34, 0x0291eaff, 0x00787426, 0x00d28644, 0x029fcd0a, 0x025ecf26, 0x001e0de5}}}, + {X: Field{[10]uint32{0x0070d20c, 0x036dfa18, 0x0384cf5a, 0x024bc599, 0x0395be90, 0x00481848, 0x010d4296, 0x03c5815e, 0x02fc8e4b, 0x0034f01c}}, Y: Field{[10]uint32{0x00daf31a, 0x032ae0b6, 0x01c0cf5b, 0x03ac2bf4, 0x00f412e0, 0x03de6472, 0x015c0faa, 0x01d6eeed, 0x0262594c, 0x001c9a20}}}, + {X: Field{[10]uint32{0x0130ec82, 0x037d8381, 0x03dad3e6, 0x02f729d8, 0x0294003d, 0x0228d534, 0x00e8f342, 0x03e9f33c, 0x007ce307, 0x000a536b}}, Y: Field{[10]uint32{0x0384673d, 0x026d17f3, 0x01ecc0fb, 0x020ebf52, 0x02cfbcc7, 0x0298c279, 0x02807c4b, 0x02a98abb, 0x0222a7bc, 0x0011e7f0}}}, + {X: Field{[10]uint32{0x02732fae, 0x01766b13, 0x0175c707, 0x0027a891, 0x02225de6, 0x01ec9dbf, 0x0042a8d6, 0x03a36790, 0x025cc09f, 0x000e55b2}}, Y: Field{[10]uint32{0x02eaa23e, 0x01e89a8b, 0x00302e28, 0x0075ef5e, 0x03719643, 0x007f58bc, 0x025ee0ce, 0x02414a74, 0x03e7a821, 0x00072597}}}, + {X: Field{[10]uint32{0x01fb3def, 0x03a0afe4, 0x029e697e, 0x0359b61e, 0x014f4109, 0x0125005d, 0x036eb068, 0x012d239c, 0x0396da14, 0x000934b8}}, Y: Field{[10]uint32{0x0372236e, 0x01f43668, 0x0081e76d, 0x01d47f9f, 0x02ea875c, 0x036eb484, 0x01e3c9ce, 0x00bf3f74, 0x037224b0, 0x002ede79}}}, + {X: Field{[10]uint32{0x01a2aa5e, 0x038ae6e6, 0x00d3ab49, 0x0224f84b, 0x01188528, 0x03670be4, 0x03f9619d, 0x01701ff2, 0x0042f16e, 0x0018e350}}, Y: Field{[10]uint32{0x032b3d92, 0x0392acac, 0x024db222, 0x010dd2e2, 0x03f618da, 0x03976051, 0x039eb8b8, 0x00429037, 0x00424f00, 0x0034365e}}}, + {X: Field{[10]uint32{0x030d866c, 0x019e0a23, 0x00c5cd7d, 0x02218da0, 0x0194202d, 0x00c0cb87, 0x0323a1fd, 0x01caeaec, 0x015ba999, 0x0003e46b}}, Y: Field{[10]uint32{0x0052bdc0, 0x02853565, 0x03571e24, 0x0386c344, 0x001cb558, 0x03eccb6b, 0x038bb4fe, 0x005d68e8, 0x0145a693, 0x00182d9b}}}, + {X: Field{[10]uint32{0x02a69b7c, 0x005c9cba, 0x03c39c64, 0x0236239f, 0x039e6af4, 0x01b40dc2, 0x031fb88a, 0x0097c53f, 0x037d779c, 0x000c5504}}, Y: Field{[10]uint32{0x02295f7a, 0x034e7ee4, 0x03b13560, 0x0066c664, 0x02c1980c, 0x00991213, 0x00e112a9, 0x005e28e6, 0x011e9c09, 0x003acef6}}}, + {X: Field{[10]uint32{0x01549597, 0x0072e4d8, 0x01355072, 0x00b65286, 0x01f710be, 0x03475e99, 0x03acb3c1, 0x027f2078, 0x021fdfdf, 0x003e2087}}, Y: Field{[10]uint32{0x018993ec, 0x013116df, 0x002a3f4b, 0x00171ebf, 0x02c5770c, 0x033ca396, 0x03635b9d, 0x014a0946, 0x0068c1e0, 0x002ed41e}}}, + {X: Field{[10]uint32{0x0354a655, 0x013d8fa0, 0x033b06dd, 0x02be1c0c, 0x00ec5d6f, 0x01438eb6, 0x018aa900, 0x0012968b, 0x023a5214, 0x00210251}}, Y: Field{[10]uint32{0x01db3bd4, 0x0215efb8, 0x01ecf91b, 0x00949a68, 0x031b8a65, 0x00edeacd, 0x00c1b668, 0x00b294e7, 0x012b8509, 0x00332651}}}, + {X: Field{[10]uint32{0x003bc471, 0x01041980, 0x01e09f72, 0x0395a08a, 0x02314380, 0x015d1767, 0x0222eb53, 0x01c2d5b6, 0x001112d3, 0x0025a009}}, Y: Field{[10]uint32{0x005d8f38, 0x017e518a, 0x0092ff49, 0x000c4eed, 0x0327d6c7, 0x0165b440, 0x020419d6, 0x030807fe, 0x01377f03, 0x00376b0b}}}, + {X: Field{[10]uint32{0x023a69c8, 0x027f0fe8, 0x01393d3f, 0x01fda329, 0x020f85e8, 0x005c2547, 0x03628244, 0x00568571, 0x02ec9f57, 0x002746ae}}, Y: Field{[10]uint32{0x0328cadf, 0x02b4a2cf, 0x03bdd149, 0x039e6219, 0x0071b010, 0x02508d4e, 0x00c89e62, 0x02d8708e, 0x030050db, 0x003c87b9}}}, + {X: Field{[10]uint32{0x001f7ae6, 0x01d0b585, 0x03a32f72, 0x02816166, 0x019886d6, 0x012c10dc, 0x03234b6a, 0x02bd1b0d, 0x02918db3, 0x0007ee59}}, Y: Field{[10]uint32{0x001f7379, 0x035560b5, 0x00ecab09, 0x01e08101, 0x02a17b55, 0x03a69096, 0x034c4426, 0x03f647df, 0x02cc207e, 0x0022f04f}}}, + {X: Field{[10]uint32{0x021ec7b8, 0x00876da7, 0x01281ee2, 0x03c169e0, 0x02416d54, 0x0010a3a2, 0x00bcb23e, 0x0136ac26, 0x0364b927, 0x0008b678}}, Y: Field{[10]uint32{0x02d8407d, 0x01219780, 0x024c1c1e, 0x0244a3e4, 0x014c300a, 0x01d3a546, 0x0399195b, 0x01f6d795, 0x0258f93d, 0x0017708c}}}, + {X: Field{[10]uint32{0x0073e45d, 0x01ca5efe, 0x03ff8398, 0x030091f2, 0x01adb168, 0x0161d04c, 0x0166766d, 0x020fecc0, 0x0050aed0, 0x001897e9}}, Y: Field{[10]uint32{0x0376bb7b, 0x007d9121, 0x011175a2, 0x02196e39, 0x00fbb5a2, 0x0280913c, 0x0185ed21, 0x03241195, 0x0104473d, 0x001c82a0}}}, + {X: Field{[10]uint32{0x02a2147f, 0x020bcde9, 0x028ff01f, 0x003fc86b, 0x002deacc, 0x009a06ba, 0x03b01c2e, 0x03f0977b, 0x01c19b6d, 0x00092b2c}}, Y: Field{[10]uint32{0x03ca5d4b, 0x02647774, 0x03d52783, 0x036b7ebd, 0x0193f50a, 0x01c6aaf8, 0x00abdcdb, 0x0201862a, 0x0335210e, 0x003dca74}}}, + {X: Field{[10]uint32{0x035ab555, 0x004c0b3d, 0x0339f33c, 0x025ae96c, 0x036c6d18, 0x02fdf6ce, 0x02328e3b, 0x00c353ce, 0x0003a99d, 0x0034a15a}}, Y: Field{[10]uint32{0x0292d6ff, 0x02727681, 0x00fdf568, 0x0224f9e0, 0x012b814a, 0x02d06dc9, 0x0098bbf1, 0x016e1d8b, 0x014d6470, 0x00259266}}}, + {X: Field{[10]uint32{0x00b5fe0a, 0x002f2613, 0x0031b50a, 0x023cef1e, 0x008fb529, 0x01c797f6, 0x01e95ef8, 0x01a212c5, 0x02659d19, 0x002014a7}}, Y: Field{[10]uint32{0x00b3b778, 0x0391dbc4, 0x02de6e9a, 0x02a1d3a1, 0x000b74b4, 0x01696c9a, 0x01e50bfc, 0x02faa3bf, 0x024f9ae4, 0x0021a2cf}}}, + {X: Field{[10]uint32{0x0328e183, 0x01d35fa1, 0x01dded06, 0x005a54fc, 0x030e0bb3, 0x02710c9d, 0x0288e494, 0x0007b574, 0x01aa3b82, 0x001fe466}}, Y: Field{[10]uint32{0x025288b9, 0x0387e7c6, 0x01e2ffcb, 0x0107765f, 0x00ee9d7e, 0x029c89a3, 0x02c174a3, 0x0080a551, 0x0273d037, 0x00006ae9}}}, + {X: Field{[10]uint32{0x0029ecbc, 0x0322598b, 0x02fb76d0, 0x01b59134, 0x0129b456, 0x03332c64, 0x004674cd, 0x0167d923, 0x008508e9, 0x001f4cb2}}, Y: Field{[10]uint32{0x02d39698, 0x0000d081, 0x013e866e, 0x0278c7d5, 0x02875ea9, 0x01971ce1, 0x011afb8e, 0x03fba325, 0x00ecb50b, 0x003643a5}}}, + {X: Field{[10]uint32{0x011abfbf, 0x020678cb, 0x0374cbf8, 0x03feb67a, 0x011f1727, 0x02f46fc0, 0x02ce67eb, 0x03b3215d, 0x01c09291, 0x003cae58}}, Y: Field{[10]uint32{0x0126f795, 0x001c408c, 0x00524017, 0x002b5030, 0x00ed0aec, 0x0195bd8e, 0x00382208, 0x01a8d91b, 0x00495a1e, 0x003aff96}}}, + {X: Field{[10]uint32{0x01be876e, 0x02efefe0, 0x02676f75, 0x005d3a62, 0x026b4ae3, 0x025c606c, 0x02d6a728, 0x00ca465c, 0x02899528, 0x00366831}}, Y: Field{[10]uint32{0x02bfa042, 0x03e31eb1, 0x00d922b7, 0x024eecd4, 0x01e9039b, 0x034fc0c2, 0x0164d974, 0x02f26b45, 0x0086a0ac, 0x0034daba}}}, + {X: Field{[10]uint32{0x007c3e0a, 0x0375205f, 0x0269fbe2, 0x0048c2ce, 0x00fff299, 0x002af7d7, 0x01b2aa71, 0x01f23264, 0x03246aeb, 0x0031e8d8}}, Y: Field{[10]uint32{0x01c9e21f, 0x016c3001, 0x025f815f, 0x01235b47, 0x0102b321, 0x02d2cb52, 0x01863026, 0x0234b5e6, 0x01d70e44, 0x0004a63f}}}, + {X: Field{[10]uint32{0x00985a86, 0x010853f9, 0x00ac4830, 0x01931ff8, 0x02640d24, 0x036fd58e, 0x02535a04, 0x034ef019, 0x03a05064, 0x0018d735}}, Y: Field{[10]uint32{0x01e3ae1f, 0x014f89fa, 0x01a4ce04, 0x011fcca0, 0x00e8d5f0, 0x03e78bcc, 0x0335cfca, 0x01dfd919, 0x0265913e, 0x00003900}}}, + {X: Field{[10]uint32{0x009ee5f5, 0x02478426, 0x00adcc5b, 0x02dc85a7, 0x02eca54b, 0x0256d206, 0x035b6326, 0x03a894df, 0x024f38ed, 0x00017698}}, Y: Field{[10]uint32{0x02721779, 0x0035dc72, 0x02505a22, 0x0088dec5, 0x0248c288, 0x00e9495b, 0x03aeeb24, 0x000c03ff, 0x01baa108, 0x0034fa9b}}}, + {X: Field{[10]uint32{0x007d4d5e, 0x024a13fa, 0x0080efe1, 0x0230a5db, 0x01ce0527, 0x03f92db5, 0x001f6871, 0x01d7b24b, 0x00a2b197, 0x002a93d9}}, Y: Field{[10]uint32{0x02d4f240, 0x01e4f70f, 0x0118e293, 0x00a20e59, 0x00224ea0, 0x0160e99b, 0x036e9499, 0x0383eda5, 0x017e95fc, 0x003ce7c4}}}, + {X: Field{[10]uint32{0x027e0641, 0x02d70d90, 0x038c1477, 0x03b3af8d, 0x01d60969, 0x00b81554, 0x0293f266, 0x006d088a, 0x00ea99ff, 0x0026d946}}, Y: Field{[10]uint32{0x0393165a, 0x01d21f63, 0x0165627b, 0x03147508, 0x01bebdf7, 0x0014cbfe, 0x02ea9dd3, 0x03eced0e, 0x02558650, 0x000ba7c5}}}, + {X: Field{[10]uint32{0x0297b562, 0x024f402b, 0x011594b1, 0x01ffec40, 0x006547f4, 0x03772fae, 0x02011381, 0x00b83e87, 0x02a2b597, 0x001b26e6}}, Y: Field{[10]uint32{0x0275e27d, 0x01280e18, 0x02d3b162, 0x02c99d1d, 0x02a6e78e, 0x034816f6, 0x0123d0f9, 0x01c74af9, 0x011c8d4c, 0x002bc276}}}, + {X: Field{[10]uint32{0x03467cbe, 0x019984b6, 0x01f71f53, 0x031a8df9, 0x00cf80ae, 0x031c44a8, 0x02365410, 0x02571579, 0x00803cdc, 0x0028a872}}, Y: Field{[10]uint32{0x0223fc09, 0x02e6cb53, 0x02fc273e, 0x00683108, 0x01802e2e, 0x00352c5d, 0x025410d5, 0x03c103ff, 0x030f3638, 0x003133d5}}}, + {X: Field{[10]uint32{0x03650427, 0x010df96a, 0x008a9ca8, 0x02b883cb, 0x0213102b, 0x02225cd9, 0x025af104, 0x033358d2, 0x0350c961, 0x00018f4d}}, Y: Field{[10]uint32{0x02339248, 0x01c01163, 0x03fa06d6, 0x03c1c4e4, 0x01f21125, 0x0261d0a8, 0x01e90dc6, 0x0269d9cb, 0x033274b3, 0x0021d054}}}, + {X: Field{[10]uint32{0x02bdd04a, 0x00582c94, 0x0130e1f5, 0x02fc66da, 0x00bcc97d, 0x02117453, 0x013e8fb5, 0x02095429, 0x0266e442, 0x002341c3}}, Y: Field{[10]uint32{0x01487ecd, 0x036a3766, 0x00bb2497, 0x02433bbd, 0x0248cdef, 0x005cf348, 0x0084099f, 0x013c1326, 0x00824f2b, 0x0012f263}}}, + {X: Field{[10]uint32{0x0291c8bd, 0x02ff4ad2, 0x01456175, 0x037decd8, 0x03e3f3d4, 0x03305963, 0x00143950, 0x00022ed4, 0x02a72e5f, 0x003c7f95}}, Y: Field{[10]uint32{0x01f275f2, 0x03219bbd, 0x017b2be2, 0x017ffa29, 0x03a19caa, 0x00da2159, 0x01e302ad, 0x01f69740, 0x02bee57a, 0x002f97ff}}}, + {X: Field{[10]uint32{0x03554b21, 0x01a87f9c, 0x01635747, 0x02756bb3, 0x03b41239, 0x019d6f31, 0x0271a950, 0x025a7a6e, 0x02dbd2eb, 0x00200b26}}, Y: Field{[10]uint32{0x0372bc5e, 0x008b84d9, 0x007efb74, 0x0326f841, 0x02cc3344, 0x01c3e703, 0x026527d3, 0x0339a59b, 0x0026f547, 0x001084c8}}}, + {X: Field{[10]uint32{0x0093db56, 0x020812c5, 0x02745c71, 0x0293c5e2, 0x009d24cd, 0x02f1e965, 0x030a5cda, 0x03b48803, 0x02c09d6c, 0x00256c6d}}, Y: Field{[10]uint32{0x02adb01d, 0x0002752d, 0x023ddf69, 0x0074db2c, 0x0127b233, 0x01b3c903, 0x00ce5e9a, 0x00f45ab2, 0x02815303, 0x002f050d}}}, + {X: Field{[10]uint32{0x02ede35d, 0x0120e9a9, 0x0169d2d6, 0x01bb5dac, 0x017b79a0, 0x005c08bc, 0x03b2aa4e, 0x013ab860, 0x012901f9, 0x0003abb5}}, Y: Field{[10]uint32{0x01d559b3, 0x009fee57, 0x03f8f9cb, 0x01f266b1, 0x00bc6e37, 0x02b5aebc, 0x02c1efa3, 0x02267376, 0x027691c5, 0x0014f56c}}}, + {X: Field{[10]uint32{0x0027d770, 0x02dcd667, 0x02abeac7, 0x0038d9ef, 0x03906d69, 0x03bcfdfc, 0x02b485b6, 0x011231cb, 0x03e59f6f, 0x001df113}}, Y: Field{[10]uint32{0x031102fd, 0x008bbafe, 0x009d3833, 0x027feb31, 0x00e6629c, 0x038f5ace, 0x00f03604, 0x003e00b3, 0x00226c44, 0x002f35d4}}}, + {X: Field{[10]uint32{0x000a0306, 0x02b97ef9, 0x0144efad, 0x01e55046, 0x00011b62, 0x0364daa2, 0x0352002c, 0x00291ad9, 0x02e2f00f, 0x003a18ec}}, Y: Field{[10]uint32{0x03243a5f, 0x03f81119, 0x00358b36, 0x01f59802, 0x01c2ed93, 0x00c7a3ab, 0x039caff6, 0x027c5c16, 0x03a36da2, 0x002d71e6}}}, + {X: Field{[10]uint32{0x02f8f191, 0x0079cbbb, 0x02dec272, 0x02d3cf73, 0x003883ad, 0x02b68c26, 0x03eedda4, 0x01c742cb, 0x03ef93df, 0x00089bd6}}, Y: Field{[10]uint32{0x001707c3, 0x008cf39d, 0x00fbcc13, 0x022f5d73, 0x00f96607, 0x02116186, 0x00a08fbe, 0x02f05228, 0x00b52bce, 0x00282481}}}, + {X: Field{[10]uint32{0x03467184, 0x03a40da0, 0x0046e3a4, 0x0292bfdf, 0x02c33bed, 0x031bc237, 0x03a82b39, 0x01f14e7c, 0x03b08c1e, 0x002a888b}}, Y: Field{[10]uint32{0x001c3765, 0x03590c5f, 0x01d4ac5d, 0x00a641ad, 0x01c1653d, 0x01b7fe4c, 0x01a7c3aa, 0x03f4e608, 0x01cf21ca, 0x00010441}}}, + {X: Field{[10]uint32{0x01fec96a, 0x01d53c78, 0x01a82239, 0x033048db, 0x01f94482, 0x025ec540, 0x01220bb3, 0x013b4f71, 0x02cd26ef, 0x00061e70}}, Y: Field{[10]uint32{0x01f0d67d, 0x01c96ddc, 0x01351464, 0x01472dcf, 0x024fc689, 0x00758c10, 0x03b16092, 0x03785247, 0x033575ea, 0x00244b57}}}, + {X: Field{[10]uint32{0x009902e0, 0x01fb2c6b, 0x03b76765, 0x007af70a, 0x026df621, 0x01c352df, 0x024cfc59, 0x03622fd2, 0x00a4e7ee, 0x002f8e79}}, Y: Field{[10]uint32{0x0227cb4e, 0x03311d9f, 0x00899f94, 0x02915857, 0x0132ae54, 0x0133d692, 0x006d9a2b, 0x029edd8c, 0x00f113fc, 0x00362c79}}}, + {X: Field{[10]uint32{0x012d5786, 0x02f70bdd, 0x00631d3f, 0x0391f3d1, 0x001c2912, 0x01b0fe2a, 0x03028368, 0x0230f740, 0x03ce3337, 0x0007a9cb}}, Y: Field{[10]uint32{0x0348906e, 0x002e220d, 0x007c9aed, 0x02c201ff, 0x000cb6e2, 0x03941ade, 0x03f261af, 0x03745333, 0x0158fe1c, 0x003883d1}}}, + {X: Field{[10]uint32{0x02036806, 0x0198beb6, 0x032423ac, 0x0046dd36, 0x022d0ca0, 0x00caf0e5, 0x00638e6f, 0x03d5f7a3, 0x03dd67bf, 0x00015b8c}}, Y: Field{[10]uint32{0x0393f461, 0x00ee4ff0, 0x02e2efbb, 0x033cf853, 0x0350d78e, 0x007795ef, 0x0317d4e4, 0x01c4c024, 0x00cc165e, 0x00100e70}}}, + {X: Field{[10]uint32{0x000f37ad, 0x01c330ba, 0x034470c4, 0x0153c429, 0x02d036ce, 0x00e2e78f, 0x02fb95a7, 0x03637c72, 0x0291a5f1, 0x00146605}}, Y: Field{[10]uint32{0x01972261, 0x02a998b1, 0x03664d31, 0x03711c7b, 0x01d03fab, 0x03a5fc11, 0x026e3c26, 0x00aa641d, 0x004767cf, 0x00027ee4}}}, + {X: Field{[10]uint32{0x00869dbd, 0x03165e66, 0x03f3016e, 0x02e6f355, 0x02b90db9, 0x03e49e65, 0x00be7f95, 0x025e0dac, 0x028577a5, 0x003bce95}}, Y: Field{[10]uint32{0x037c5e07, 0x030f6306, 0x024d372a, 0x00d92ed4, 0x03fabe11, 0x0387d1e0, 0x01782c6a, 0x01d27a52, 0x0057ff22, 0x001473f9}}}, + {X: Field{[10]uint32{0x03196415, 0x0301836b, 0x00a22523, 0x020814c1, 0x0379a668, 0x038f190c, 0x029e0b16, 0x0216e9fb, 0x02a18c3a, 0x003bf194}}, Y: Field{[10]uint32{0x00f7b2a5, 0x0111ecd5, 0x01d49737, 0x00726302, 0x038fcee7, 0x01661c20, 0x01b2498f, 0x006bcc07, 0x0014cef9, 0x0022995b}}}, + {X: Field{[10]uint32{0x004bbf82, 0x00dc2862, 0x015def07, 0x018b012a, 0x018adc79, 0x0226203c, 0x00021983, 0x0338b366, 0x03eff4d5, 0x00337687}}, Y: Field{[10]uint32{0x01e31d6c, 0x01726c12, 0x0235a0e5, 0x02ae14d8, 0x024417f9, 0x0291e058, 0x019174b4, 0x0370175e, 0x03fcb0c9, 0x0022f09b}}}, + {X: Field{[10]uint32{0x016cf0d4, 0x021a11ee, 0x03a3f938, 0x02b370e8, 0x00d46bb6, 0x01f7b750, 0x00b76d77, 0x02a84c4d, 0x01853454, 0x001bcfce}}, Y: Field{[10]uint32{0x00adba81, 0x03b1724b, 0x01637e4e, 0x02479592, 0x00b6e324, 0x029020d1, 0x03e5192e, 0x0286d6b9, 0x019c4f7c, 0x002a2e92}}}, + {X: Field{[10]uint32{0x014b13e4, 0x033577f9, 0x01ee8061, 0x01f61452, 0x03a2a362, 0x03636013, 0x0042065e, 0x03ee0faa, 0x01af91ab, 0x00394b44}}, Y: Field{[10]uint32{0x01cfff97, 0x00e384aa, 0x01069468, 0x00f438fb, 0x012e132a, 0x039cca17, 0x021f6ed4, 0x0159cb2c, 0x006d619e, 0x00167cc4}}}, + {X: Field{[10]uint32{0x027256ff, 0x0033e8e7, 0x02ac066c, 0x01a70c38, 0x038fb918, 0x00cacf2a, 0x0254d13b, 0x0072d915, 0x0336f0de, 0x00227fb1}}, Y: Field{[10]uint32{0x03e44274, 0x01156b81, 0x01ded46b, 0x036ed63d, 0x0173e708, 0x037f798b, 0x02b938d9, 0x0069b6da, 0x02e84d3e, 0x003e505e}}}, + {X: Field{[10]uint32{0x02b70b29, 0x036b0248, 0x03f7531b, 0x0082a240, 0x03522615, 0x000a1d27, 0x006ce733, 0x00154f3a, 0x035691b1, 0x00014503}}, Y: Field{[10]uint32{0x022dc024, 0x019f5caa, 0x00afd0dd, 0x002fe894, 0x00ad0acf, 0x007033a4, 0x021f4ce2, 0x0308f401, 0x022b9e02, 0x00246865}}}, + {X: Field{[10]uint32{0x01267b5c, 0x0243f21f, 0x00d09c0f, 0x03ae1548, 0x030579d0, 0x034cbe52, 0x035e199e, 0x02645c41, 0x01309310, 0x0000f058}}, Y: Field{[10]uint32{0x00ac64c3, 0x01f4dade, 0x00e51a5f, 0x03297a00, 0x01e9f156, 0x01a4eb00, 0x02a00107, 0x0036e40e, 0x00dfe404, 0x00354341}}}, + {X: Field{[10]uint32{0x03e8bac9, 0x00fbae26, 0x01fa8be1, 0x014a4474, 0x02a2d0b9, 0x00090154, 0x00b8a58f, 0x0008dc96, 0x010e63a5, 0x003f61da}}, Y: Field{[10]uint32{0x021b9225, 0x013fa922, 0x0247458e, 0x038eb144, 0x03b40f04, 0x011ff19a, 0x023ee352, 0x01a3d5be, 0x01acccb9, 0x00101b70}}}, + {X: Field{[10]uint32{0x01a12a81, 0x01d0d2f5, 0x01347ebc, 0x0381aa36, 0x0299005c, 0x01cecca3, 0x028ad599, 0x01e3ccb3, 0x01de017e, 0x00023934}}, Y: Field{[10]uint32{0x01a2a8ae, 0x0065006c, 0x036da429, 0x02a230c6, 0x02992baf, 0x02efc362, 0x00c843b4, 0x029975d1, 0x033e744c, 0x00318d23}}}, + {X: Field{[10]uint32{0x007743c2, 0x00e6831b, 0x03ff6ea7, 0x001059de, 0x02f49881, 0x029632aa, 0x03b6eebb, 0x0319e05c, 0x03cfea62, 0x000e0b1e}}, Y: Field{[10]uint32{0x01c5eb7d, 0x0154e69a, 0x035237cf, 0x0372bf34, 0x0267e9ad, 0x000703da, 0x01f7f27e, 0x01090d4f, 0x01da77e6, 0x00006429}}}, + {X: Field{[10]uint32{0x0114ed0f, 0x0364357e, 0x01d29e87, 0x03254efd, 0x0125b0da, 0x03a941e5, 0x01fa471b, 0x01201d4e, 0x034e74b8, 0x003d5aa2}}, Y: Field{[10]uint32{0x0096db8b, 0x00547ef0, 0x01a48c50, 0x00704e45, 0x008f9f20, 0x01a9ba89, 0x03881c65, 0x039848ea, 0x0108da57, 0x001515b6}}}, + {X: Field{[10]uint32{0x03965b80, 0x03f6c185, 0x02a044ec, 0x00b157c4, 0x003af365, 0x005ae031, 0x02f8ea2b, 0x0155e87f, 0x03fb6a5e, 0x002423a7}}, Y: Field{[10]uint32{0x038bc2ce, 0x0379d6a1, 0x02043562, 0x0253b5ad, 0x03b9c010, 0x03af0c4d, 0x0182ca07, 0x0133c3e0, 0x00c9d1b1, 0x002fab8a}}}, + {X: Field{[10]uint32{0x02c86ef4, 0x00b9ba6f, 0x01e787ef, 0x012e6750, 0x033fad25, 0x014a4d3a, 0x03225330, 0x0207f45a, 0x03184333, 0x0029b0c1}}, Y: Field{[10]uint32{0x023fb818, 0x024015d8, 0x026f44bf, 0x020817b8, 0x029e266f, 0x000c271c, 0x01129e4e, 0x01440813, 0x0286a60d, 0x0011ea68}}}, + {X: Field{[10]uint32{0x00b3e903, 0x019bade6, 0x01361047, 0x038d28a6, 0x0230a652, 0x00af882b, 0x01461635, 0x00b0980b, 0x01866c3e, 0x002522eb}}, Y: Field{[10]uint32{0x01c35164, 0x01312136, 0x00d3395b, 0x0129da86, 0x004321da, 0x02457783, 0x0043b0f0, 0x0228ae67, 0x0222ad47, 0x000c34c1}}}, + {X: Field{[10]uint32{0x00f6a3f2, 0x03a13487, 0x02c9f0c9, 0x0373e5b4, 0x029d536e, 0x021e0b4d, 0x03881251, 0x005eb9dd, 0x039dcb8a, 0x0035b24a}}, Y: Field{[10]uint32{0x02de09b9, 0x00412bca, 0x0207b9e0, 0x00923b08, 0x030ed686, 0x02bb1752, 0x030ae881, 0x020dde5e, 0x03a09351, 0x003764d9}}}, + {X: Field{[10]uint32{0x01566abd, 0x03bc3f59, 0x0232854c, 0x00269d6b, 0x037b0822, 0x0137e00b, 0x00641ca6, 0x004f591b, 0x017b7d8b, 0x003e7fcf}}, Y: Field{[10]uint32{0x02deec98, 0x0396580c, 0x011c8c84, 0x00a2861c, 0x01b9269d, 0x00f60474, 0x02230224, 0x008257dc, 0x019e1f19, 0x002b1618}}}, + {X: Field{[10]uint32{0x02c8d5e0, 0x00a3dba4, 0x014e1c35, 0x01fe0d34, 0x017f4e76, 0x00a0dfb5, 0x009a9204, 0x0383dc08, 0x01ba3a70, 0x000f6b87}}, Y: Field{[10]uint32{0x000f797f, 0x0134154a, 0x0332e08b, 0x0367aa64, 0x015c7816, 0x03ffa1f2, 0x03cdfad3, 0x03cb3f87, 0x028d6ea1, 0x001eb891}}}, + {X: Field{[10]uint32{0x01b49937, 0x012c0746, 0x007cad0b, 0x01f836ef, 0x008ffd22, 0x03caabac, 0x03ffe130, 0x024df272, 0x01056fcc, 0x0009c114}}, Y: Field{[10]uint32{0x03fa4397, 0x029a63c7, 0x02ad4d08, 0x03d710a1, 0x01bbd801, 0x01875b1d, 0x00d37246, 0x03f7f888, 0x02546c24, 0x00045d9a}}}, + {X: Field{[10]uint32{0x00defd22, 0x00359788, 0x00865bb9, 0x01599271, 0x012024c5, 0x018beea0, 0x00340752, 0x0183bb35, 0x03f96c32, 0x003e7657}}, Y: Field{[10]uint32{0x03a13c2d, 0x0009af05, 0x01dda24b, 0x0128696c, 0x030a89d5, 0x00c11cc2, 0x02632ba8, 0x00504602, 0x03fd8f74, 0x000df2fd}}}, + {X: Field{[10]uint32{0x01a7021f, 0x02d5f171, 0x0021448a, 0x02ef6e64, 0x02ff0a86, 0x019b3ef9, 0x018c6d5b, 0x019fa7fb, 0x0318f90f, 0x00013a37}}, Y: Field{[10]uint32{0x02a621f5, 0x024ff6bc, 0x0329ea22, 0x03f4ea0d, 0x000e9bad, 0x02cd210f, 0x03a2b1b3, 0x01904d14, 0x00c5ccf5, 0x001f9a7e}}}, + {X: Field{[10]uint32{0x02ffef9f, 0x016dde74, 0x01821c8a, 0x02f4ef8d, 0x00ab3d32, 0x00f19916, 0x02783836, 0x01fec86e, 0x012a710a, 0x00230a93}}, Y: Field{[10]uint32{0x025511d6, 0x016ab18d, 0x01205caa, 0x0247fce7, 0x03f82d8f, 0x006f595d, 0x01715157, 0x00960d18, 0x007d27e4, 0x00354c91}}}, + {X: Field{[10]uint32{0x03654b75, 0x010f3be1, 0x00e19631, 0x007b52c1, 0x02c10e81, 0x023eb9cb, 0x00677afa, 0x027339bf, 0x03a01974, 0x000a2dfc}}, Y: Field{[10]uint32{0x005ec782, 0x035698e1, 0x03e392ce, 0x00c699e3, 0x01e241ba, 0x01c7d287, 0x017c881e, 0x02ace456, 0x01eb3245, 0x0000c11c}}}, + {X: Field{[10]uint32{0x01be416b, 0x01b5f6d6, 0x0300808f, 0x025033d2, 0x02d89f64, 0x02667b23, 0x03b5acb0, 0x039cb095, 0x010ffcb8, 0x0032d1d3}}, Y: Field{[10]uint32{0x016622fd, 0x00c146a8, 0x000c7e3a, 0x02cfbff0, 0x029a0e59, 0x01d67e15, 0x039a9508, 0x00f2ee2a, 0x00cefc29, 0x003fdf34}}}, + {X: Field{[10]uint32{0x0055b36c, 0x01ecd7d0, 0x023f5bd5, 0x00d0ba65, 0x011a1800, 0x0378a929, 0x01567fbe, 0x02f10099, 0x01825dbe, 0x0030cf9a}}, Y: Field{[10]uint32{0x0146be18, 0x023b0b31, 0x01e0db79, 0x02d64694, 0x02082c0c, 0x0266ac19, 0x03b50615, 0x01973894, 0x03f57ce2, 0x0008bfcf}}}, + {X: Field{[10]uint32{0x01bd2237, 0x01060e06, 0x00a0eee3, 0x0116cf43, 0x03257e07, 0x01112a6a, 0x02441a84, 0x01c48dc6, 0x010644d3, 0x00212ff0}}, Y: Field{[10]uint32{0x009ef6f1, 0x00861eca, 0x0235ae1c, 0x00847b38, 0x03afd7f4, 0x00f9065e, 0x03d13ffb, 0x03dc1b0c, 0x02d57b7a, 0x001f2f95}}}, + {X: Field{[10]uint32{0x017b713a, 0x026594fe, 0x008dc735, 0x02296c12, 0x03606302, 0x01f820d7, 0x000f003f, 0x00913bf5, 0x02ecd53b, 0x000270c4}}, Y: Field{[10]uint32{0x02b76d14, 0x01126c53, 0x01fe6165, 0x0297fb90, 0x0059698b, 0x00622d3a, 0x00d0b160, 0x01dfbe15, 0x010f58fc, 0x00046f2f}}}, + {X: Field{[10]uint32{0x0315cefc, 0x02a0b72b, 0x004332d0, 0x006b8074, 0x01d474f6, 0x00eef3c8, 0x0183bf4e, 0x01bcb433, 0x0359a22d, 0x001701ab}}, Y: Field{[10]uint32{0x0322aae8, 0x02059690, 0x02be2904, 0x02c50978, 0x0341fbef, 0x0319a6ab, 0x006d70d6, 0x0197f6a3, 0x03e9f1c2, 0x0011dad2}}}, + {X: Field{[10]uint32{0x01b6bdcf, 0x03516cfc, 0x002bf2d6, 0x01c72118, 0x03f44f0d, 0x02bce7ae, 0x000eb547, 0x03b50ed3, 0x01c681a3, 0x001ddc96}}, Y: Field{[10]uint32{0x033bf754, 0x037861fe, 0x02bba22f, 0x0273d58f, 0x03d6742b, 0x0320d199, 0x00448514, 0x02162bbb, 0x03535481, 0x0022a74d}}}, + {X: Field{[10]uint32{0x01266842, 0x00831410, 0x0283ce38, 0x03101d98, 0x020174b8, 0x03409137, 0x024328b4, 0x03074c53, 0x001eae1f, 0x002cdc18}}, Y: Field{[10]uint32{0x00125ac0, 0x00da0d2f, 0x029323e1, 0x02a9010a, 0x03eda7b5, 0x036603b8, 0x02a9abc8, 0x030ec1d4, 0x00792174, 0x0023bc14}}}, + {X: Field{[10]uint32{0x02fe6584, 0x022b23b6, 0x028bf824, 0x015ac054, 0x02780868, 0x01c25c81, 0x032ad406, 0x01924a91, 0x02c07f8d, 0x0016be52}}, Y: Field{[10]uint32{0x022daf1a, 0x030e59b9, 0x016552a9, 0x035e33f9, 0x00b40dff, 0x03bd7d5b, 0x01f32efc, 0x03794475, 0x03ce57ea, 0x00229531}}}, + {X: Field{[10]uint32{0x030586c6, 0x032e39d6, 0x0194581a, 0x007cfe51, 0x034f84b4, 0x0160cbcd, 0x01d4f23c, 0x01c154e1, 0x019ce2e8, 0x0023f8f0}}, Y: Field{[10]uint32{0x01728c28, 0x013d6b24, 0x03860067, 0x005c055b, 0x012f5e20, 0x02bc64f2, 0x0314d491, 0x01130e90, 0x019fd16f, 0x003e48c2}}}, + {X: Field{[10]uint32{0x03ac9a71, 0x00a23f04, 0x02fc3b5f, 0x01fe8dee, 0x01e531d1, 0x026d97ad, 0x01211b30, 0x02f4797e, 0x021d2642, 0x00356025}}, Y: Field{[10]uint32{0x034185cb, 0x0225fa46, 0x03650e4f, 0x03716ce3, 0x02d9678c, 0x02c4bea1, 0x0250a6e0, 0x022d0cdb, 0x0154337e, 0x00140301}}}, + {X: Field{[10]uint32{0x0295e82b, 0x033efc50, 0x01405256, 0x019d6a71, 0x02234e79, 0x019e430c, 0x02460338, 0x02988d27, 0x00ed529f, 0x00009577}}, Y: Field{[10]uint32{0x01799815, 0x03d2d29f, 0x00b100c8, 0x033653db, 0x035dfba7, 0x02a918c5, 0x03253d3f, 0x0071eff0, 0x01c47f3e, 0x001fbb6a}}}, + {X: Field{[10]uint32{0x00891557, 0x02f908bb, 0x004580bd, 0x00e2a376, 0x031a27c3, 0x03923957, 0x00476a4a, 0x01147eae, 0x03a79240, 0x0012dfaf}}, Y: Field{[10]uint32{0x01b59085, 0x00f60fa1, 0x012848c6, 0x035f90a1, 0x02c12622, 0x035fb604, 0x00a23cfa, 0x00d7d83f, 0x00e9f891, 0x0037ec98}}}, + {X: Field{[10]uint32{0x032fbf28, 0x01fd5547, 0x00c7d8f4, 0x0274ef45, 0x01311956, 0x0319dc67, 0x035819e0, 0x024aa68e, 0x03809e60, 0x00246741}}, Y: Field{[10]uint32{0x003d8094, 0x02bca0e1, 0x024fdcbc, 0x03528c38, 0x00c204d3, 0x02635846, 0x03b2fa50, 0x003cb3b2, 0x02f876d7, 0x003282da}}}, + {X: Field{[10]uint32{0x0070ee78, 0x03754da3, 0x03f42393, 0x01ad67ba, 0x009b8c89, 0x02b8d0a9, 0x02d73bd5, 0x02a5116f, 0x03a9de89, 0x00119a19}}, Y: Field{[10]uint32{0x02e042e1, 0x03559e2a, 0x02029385, 0x024d3ba5, 0x019cbb9f, 0x022dfb42, 0x01bd6cae, 0x01608c1e, 0x0307b3e1, 0x000a9765}}}, + {X: Field{[10]uint32{0x01db3f7b, 0x0172e8b0, 0x01f3cd98, 0x016ef995, 0x01fc740d, 0x03dc4963, 0x021526fc, 0x01145e24, 0x0108c878, 0x001c49d3}}, Y: Field{[10]uint32{0x034b25e0, 0x01237bfe, 0x03f560d8, 0x0299aaf9, 0x033cdd2c, 0x010185de, 0x01652bc4, 0x0050d3e3, 0x0130a5be, 0x00382bc0}}}, + {X: Field{[10]uint32{0x02be2bcd, 0x03838ddf, 0x0111fa0a, 0x01b47ecc, 0x03b6e825, 0x013981a3, 0x00693c1f, 0x0090744f, 0x00482d25, 0x00291ba4}}, Y: Field{[10]uint32{0x00474eda, 0x02486fa5, 0x0111140f, 0x02ff56b9, 0x01fdd708, 0x0185c9ab, 0x026e7ac9, 0x02ada604, 0x000cf22a, 0x001d59dc}}}, + {X: Field{[10]uint32{0x01e84abd, 0x000afea9, 0x03b5baec, 0x022e89b4, 0x0110ea91, 0x01ef9a14, 0x0073b0f7, 0x00449a16, 0x0391f243, 0x003dd642}}, Y: Field{[10]uint32{0x02708999, 0x024d6918, 0x00e2eded, 0x02357a8a, 0x002d2512, 0x016372f2, 0x035d6cc8, 0x02534326, 0x00f8594c, 0x00120612}}}, + {X: Field{[10]uint32{0x028c2edf, 0x00bb7790, 0x023bc9a2, 0x037ebfd7, 0x004f966e, 0x0263c1e4, 0x0139d643, 0x03876b6b, 0x00e51282, 0x000b5eaa}}, Y: Field{[10]uint32{0x035d9d79, 0x016d868c, 0x01fb5763, 0x0285c233, 0x01a30b4d, 0x005d57e7, 0x033ea24f, 0x008267ac, 0x033c4203, 0x0004ac84}}}, + {X: Field{[10]uint32{0x0236d0e3, 0x0143ea5c, 0x00607995, 0x009d7d96, 0x00822809, 0x0207c4d7, 0x03113a55, 0x0311ff67, 0x03403302, 0x00244c4f}}, Y: Field{[10]uint32{0x00838a77, 0x00fd89e4, 0x03f27c32, 0x0308b833, 0x03aa9e96, 0x03c84a16, 0x01daee91, 0x0012fd18, 0x00075e78, 0x003e2dbb}}}, + {X: Field{[10]uint32{0x006743cb, 0x0128755b, 0x010de2f4, 0x0070e867, 0x01e0be03, 0x02c51bef, 0x028e86e1, 0x02169e11, 0x011909d3, 0x00368920}}, Y: Field{[10]uint32{0x00348cbf, 0x027bd9d0, 0x01a666d3, 0x02d874b3, 0x0305d418, 0x026cdf11, 0x00625111, 0x03dbbbcb, 0x017b5f76, 0x00301f22}}}, + {X: Field{[10]uint32{0x01e82220, 0x00809a37, 0x01bd62e8, 0x03e5bc07, 0x02760ec3, 0x03a7b50c, 0x01e6082d, 0x030b8fed, 0x02240b1b, 0x002578da}}, Y: Field{[10]uint32{0x00e1cb63, 0x017a7447, 0x03d01766, 0x021c7878, 0x0352a74a, 0x032d080a, 0x003b209d, 0x0128ea3c, 0x00d73abc, 0x002f9a64}}}, + {X: Field{[10]uint32{0x02bc6e8b, 0x020ccfcf, 0x01cdf488, 0x021c5411, 0x01afe54a, 0x007e0478, 0x03489e45, 0x01d6c315, 0x00603abd, 0x0022c16c}}, Y: Field{[10]uint32{0x0340fb39, 0x003d3f9f, 0x0179dbb3, 0x0056b358, 0x0027f5b6, 0x0206f69f, 0x01e2ddce, 0x0103ee22, 0x008145db, 0x0007443e}}}, + {X: Field{[10]uint32{0x03020f54, 0x0274c33c, 0x0372855a, 0x02df7363, 0x01d43ec0, 0x0072e0ca, 0x00bbb2ba, 0x00c9e9d4, 0x023b764a, 0x003feaf2}}, Y: Field{[10]uint32{0x01d0f05a, 0x021510db, 0x01302cf5, 0x0172d828, 0x00c79196, 0x013a652d, 0x02fb393a, 0x0289816c, 0x0265c90b, 0x0024e5c2}}}, + {X: Field{[10]uint32{0x03866c72, 0x03ec14c2, 0x027c0a18, 0x01a2c4cf, 0x02d35148, 0x01d4a662, 0x00f05fa9, 0x0392a63c, 0x02efef35, 0x002cea16}}, Y: Field{[10]uint32{0x036005e2, 0x011b47d6, 0x0275238f, 0x031fa228, 0x0009ee78, 0x0139c03a, 0x016b36c5, 0x016e780f, 0x02e1c21e, 0x000c0457}}}, + {X: Field{[10]uint32{0x015b7ab5, 0x01494332, 0x012d5d15, 0x00cbaf2d, 0x015b78fc, 0x03d99b54, 0x01c56590, 0x00f3c82e, 0x015f4c23, 0x00293c7f}}, Y: Field{[10]uint32{0x01faa0da, 0x00f58720, 0x02d52c36, 0x00962764, 0x03337543, 0x03148671, 0x00419fe0, 0x00496111, 0x0385726a, 0x00247467}}}, + {X: Field{[10]uint32{0x015bbb0a, 0x00f98900, 0x03c98bec, 0x00df4a6c, 0x019eb146, 0x02d62d7b, 0x03f39232, 0x033c4e52, 0x034b7bae, 0x0025ee12}}, Y: Field{[10]uint32{0x01162435, 0x01bd254b, 0x03bf48b8, 0x00c361b6, 0x025eac7f, 0x02a4ad2d, 0x0093d73c, 0x01ece84d, 0x00afbe8e, 0x00125f6d}}}, + {X: Field{[10]uint32{0x006312b3, 0x01d34665, 0x0169a1c2, 0x0208f321, 0x03a9de5f, 0x006d6d5e, 0x0278e965, 0x00d999d7, 0x00d9203e, 0x000b3ae8}}, Y: Field{[10]uint32{0x02d2b437, 0x029d70e3, 0x0040a488, 0x02db1aad, 0x00b7805d, 0x035df062, 0x030a88a6, 0x033f7907, 0x0286f042, 0x003530bf}}}, + {X: Field{[10]uint32{0x032b7009, 0x02e1a88f, 0x01e10e91, 0x032f1a90, 0x00912391, 0x0120da66, 0x0257b78b, 0x02b28a2f, 0x01306cdd, 0x002ae2c6}}, Y: Field{[10]uint32{0x034172cf, 0x00a1940d, 0x02a03351, 0x0144da24, 0x027abed6, 0x02992081, 0x00472a17, 0x0286ba76, 0x03dc79fb, 0x003f6eea}}}, + {X: Field{[10]uint32{0x0215b394, 0x0034c146, 0x01acd6bb, 0x01742a8b, 0x03c14970, 0x024e3c9a, 0x02ac2b59, 0x0102c55f, 0x00291ff1, 0x00009d8c}}, Y: Field{[10]uint32{0x01374ee6, 0x01412b12, 0x01875a91, 0x01e61bb3, 0x00553594, 0x014bd728, 0x0240838c, 0x02e78bd1, 0x032a38dc, 0x0030adac}}}, + {X: Field{[10]uint32{0x02fc78c5, 0x01e7ad72, 0x02d8e6cc, 0x03423197, 0x009e703f, 0x03a77449, 0x011d7933, 0x014531fe, 0x01bd1cc1, 0x0008b47b}}, Y: Field{[10]uint32{0x00a85efe, 0x01959e30, 0x03f7a05e, 0x03048de3, 0x02a93942, 0x00228e05, 0x0024fca2, 0x039d044c, 0x03eea53a, 0x001d14f9}}}, + {X: Field{[10]uint32{0x00ffe222, 0x01f26f6b, 0x01b7cc8e, 0x009d7b3b, 0x00b61465, 0x02f6cfee, 0x00fa5590, 0x027a509c, 0x01c0c572, 0x001c361a}}, Y: Field{[10]uint32{0x02ec30c5, 0x0372ee3d, 0x01657115, 0x01d2704c, 0x00f8d414, 0x0230b0ea, 0x03baec84, 0x023ed185, 0x01328ce7, 0x0012ff2b}}}, + {X: Field{[10]uint32{0x011b1647, 0x0093ae1e, 0x0097dd4a, 0x0301aedf, 0x00ed9039, 0x02a5ef4a, 0x0360dccd, 0x015e0993, 0x01deda8d, 0x002896d1}}, Y: Field{[10]uint32{0x0243db8f, 0x031a362a, 0x00c7dfe1, 0x0078bc0c, 0x00f306f1, 0x0310e999, 0x03765554, 0x036558c8, 0x0183fd2a, 0x0023f612}}}, + {X: Field{[10]uint32{0x031024b8, 0x02a29d0e, 0x025cf39c, 0x0052e5d6, 0x033e77fa, 0x01cdc19b, 0x02383366, 0x01f0356a, 0x016c9b23, 0x00208ff3}}, Y: Field{[10]uint32{0x0024dde0, 0x03c5ad51, 0x01d72198, 0x012f4719, 0x01d1433e, 0x02db50d1, 0x01c2ba3b, 0x03cb77a6, 0x004d29a4, 0x0039a469}}}, + {X: Field{[10]uint32{0x02158d0c, 0x01b13396, 0x0033a3a9, 0x0349bb49, 0x01ee594b, 0x00e534c1, 0x02b1247d, 0x02bbd90c, 0x02638244, 0x0000e696}}, Y: Field{[10]uint32{0x026a8023, 0x03e2c9d8, 0x016cd32d, 0x010d4315, 0x00ee4b9f, 0x00932c42, 0x03ff37ea, 0x02125355, 0x0139dd8b, 0x00051f3b}}}, + {X: Field{[10]uint32{0x03206487, 0x012a95ac, 0x035f8de9, 0x02ed21e7, 0x022a18f6, 0x006c9de5, 0x00aaf7b8, 0x02cb701d, 0x03b5b85b, 0x0023e7fa}}, Y: Field{[10]uint32{0x0210c2a2, 0x021ab2fd, 0x0093c32a, 0x03caada8, 0x01dc7474, 0x00ad5ecf, 0x037dbdec, 0x01680038, 0x03d6d417, 0x001236ba}}}, + {X: Field{[10]uint32{0x0143f60c, 0x01e80f64, 0x013f804f, 0x014cdba7, 0x016a08db, 0x03dad38d, 0x009158a5, 0x00215914, 0x03142f50, 0x003f05be}}, Y: Field{[10]uint32{0x001f7a36, 0x033e0137, 0x02eaf58b, 0x0139acca, 0x03402758, 0x036e17f9, 0x034ada59, 0x02dce843, 0x02f27e02, 0x0023a4c9}}}, + {X: Field{[10]uint32{0x01c5a281, 0x024921a1, 0x01d788e2, 0x0007d080, 0x03eaecae, 0x021faea0, 0x015d8f09, 0x01bdba44, 0x02a71744, 0x001f6c27}}, Y: Field{[10]uint32{0x0215742b, 0x00f8c9f0, 0x03864273, 0x019f169b, 0x0279fd21, 0x004bf45f, 0x036b2adc, 0x011577dc, 0x00ee426d, 0x002d11a7}}}, + {X: Field{[10]uint32{0x00d9a57e, 0x03ef2529, 0x030b8564, 0x03d71fb2, 0x023df7ca, 0x007e34f1, 0x0256fdab, 0x03bc70fa, 0x03f528ba, 0x00351746}}, Y: Field{[10]uint32{0x02aeccc1, 0x005cb845, 0x02191c1a, 0x0344f016, 0x00ad0c84, 0x006b5c00, 0x0121d3d8, 0x003a2473, 0x01846483, 0x0024789a}}}, + {X: Field{[10]uint32{0x01f03901, 0x0286a45d, 0x0278ad43, 0x0266ba5d, 0x016a4d9c, 0x01e89aec, 0x00a9ffaa, 0x02176154, 0x03751b6f, 0x000febc2}}, Y: Field{[10]uint32{0x0044328f, 0x01710d86, 0x01368b55, 0x0050ee36, 0x00be775d, 0x00e18c47, 0x02aa39f6, 0x00f3d972, 0x022aa4e4, 0x00229741}}}, + {X: Field{[10]uint32{0x02efd121, 0x01ac1b1d, 0x03107492, 0x028cec49, 0x001eefdb, 0x019787b0, 0x00c5e39c, 0x0291c9e7, 0x00be8e08, 0x00151823}}, Y: Field{[10]uint32{0x0140f038, 0x02278831, 0x01afdcb7, 0x01d9c741, 0x039bdc27, 0x03263f0a, 0x02c5f91c, 0x03e07923, 0x01bc40de, 0x00029da5}}}, + {X: Field{[10]uint32{0x009823ec, 0x03560364, 0x02d4664d, 0x03693865, 0x02e8a201, 0x00ed5a5c, 0x00e69552, 0x03f350d9, 0x0189050d, 0x00156683}}, Y: Field{[10]uint32{0x00dc71c3, 0x03a014ba, 0x027b4c46, 0x00ac1a9a, 0x035641e3, 0x021fd654, 0x01b8d5c0, 0x022e433b, 0x01add652, 0x001efe38}}}, + {X: Field{[10]uint32{0x00f467a8, 0x025ae52b, 0x039c31a9, 0x02a42c19, 0x00bb305e, 0x00797f0a, 0x0248c344, 0x02e7cac5, 0x0058b5e2, 0x00059ba2}}, Y: Field{[10]uint32{0x02e5bdb2, 0x008168e4, 0x01d2af64, 0x00df7432, 0x00dc1b7c, 0x0023e665, 0x018a6b91, 0x03ed0ab3, 0x006dff82, 0x002726cc}}}, + {X: Field{[10]uint32{0x00fe1941, 0x0369ce0e, 0x025a8d41, 0x025317bf, 0x02e5284f, 0x02b90e3b, 0x00ec5fc3, 0x020eeaa5, 0x028ce66e, 0x001038a7}}, Y: Field{[10]uint32{0x01acb2dc, 0x0062134e, 0x009c3955, 0x013ec39c, 0x0384ae68, 0x00e88f42, 0x03154e27, 0x01e1a073, 0x031cc01e, 0x001f1c7d}}}, + {X: Field{[10]uint32{0x02d4ee7e, 0x0110e01c, 0x004081a8, 0x00f6fd9d, 0x006aeb8b, 0x01986d00, 0x007fc764, 0x027399fe, 0x00f9eb65, 0x001a0a72}}, Y: Field{[10]uint32{0x0222913b, 0x001a5172, 0x01908ea5, 0x02ccc13f, 0x036647fc, 0x03a7fcc2, 0x02825225, 0x03701553, 0x030a8332, 0x00074d54}}}, + {X: Field{[10]uint32{0x03658196, 0x00d75044, 0x00e7adbb, 0x01010b44, 0x03e25a25, 0x038abc8d, 0x0393b136, 0x027f4e4c, 0x005a322e, 0x00128ff8}}, Y: Field{[10]uint32{0x0101574c, 0x01c0631e, 0x02ea1f14, 0x0115fb7a, 0x0178dbdc, 0x03c2ac5d, 0x03c40d9e, 0x01d906a4, 0x01f8d452, 0x00216690}}}, + {X: Field{[10]uint32{0x02a44f94, 0x01784066, 0x0338225a, 0x030805df, 0x029e9dde, 0x01919f30, 0x0167ad5a, 0x03acbb05, 0x03c9a675, 0x00379605}}, Y: Field{[10]uint32{0x00f723a4, 0x01959eb3, 0x00af5ec3, 0x005d323f, 0x0271b45e, 0x0352fc40, 0x017e6256, 0x00c4737c, 0x03d05413, 0x0010143a}}}, + {X: Field{[10]uint32{0x0262a108, 0x03697ad5, 0x03e7a155, 0x02cc6d47, 0x00daa7b9, 0x03cf63ce, 0x03df1a26, 0x03d0442a, 0x02454f07, 0x003f78a4}}, Y: Field{[10]uint32{0x0327808a, 0x037f722d, 0x0371ed98, 0x015b901c, 0x03f09d17, 0x031b1c67, 0x03347a3a, 0x03a4a733, 0x02d37b39, 0x003ca939}}}, + {X: Field{[10]uint32{0x03f42436, 0x02a43b7b, 0x022e8a43, 0x00574230, 0x01b09174, 0x029dca18, 0x03c536d6, 0x022e85db, 0x00fb6eb9, 0x003ca34f}}, Y: Field{[10]uint32{0x0279d1bf, 0x0009cd44, 0x00b61e9d, 0x02310b9b, 0x001971fe, 0x022252a9, 0x003dc82d, 0x00943781, 0x022bb328, 0x0011422f}}}, + {X: Field{[10]uint32{0x0316e3ee, 0x01ee545f, 0x038c7011, 0x0259083d, 0x037bb654, 0x00669b7d, 0x0192afb1, 0x02d6df42, 0x00304d1c, 0x0031d957}}, Y: Field{[10]uint32{0x031dfdfd, 0x009f8b79, 0x0070d2e4, 0x02f946e4, 0x01a348b0, 0x00379e70, 0x0186b1cb, 0x00c3712e, 0x02c2cdb7, 0x00226058}}}, + {X: Field{[10]uint32{0x03b4b147, 0x00fb2801, 0x00d0d7ae, 0x01d3c856, 0x0053ffba, 0x02d8bd36, 0x0167936e, 0x03b999c7, 0x03c72fa3, 0x00395f65}}, Y: Field{[10]uint32{0x01fecd64, 0x031c83f8, 0x00958c07, 0x01811f0d, 0x031ed426, 0x019a3284, 0x02b80b9a, 0x00a5d646, 0x012ca3d9, 0x002c78c0}}}, + {X: Field{[10]uint32{0x022b0c01, 0x037e3078, 0x02a44bcc, 0x01edd9a1, 0x036cd3d3, 0x03805332, 0x0244f92f, 0x0096ff01, 0x02421550, 0x003ab6a1}}, Y: Field{[10]uint32{0x01dfeeed, 0x03b5f482, 0x03e9106a, 0x02b2bde7, 0x0107152a, 0x0103e0a9, 0x03c37c55, 0x006ec045, 0x017d71d7, 0x002240d7}}}, + {X: Field{[10]uint32{0x020d0e25, 0x01fb2139, 0x03e27556, 0x03e5dd40, 0x0362dbf8, 0x0047e8ff, 0x01d7e8e0, 0x0086627e, 0x027e3f17, 0x000f9d89}}, Y: Field{[10]uint32{0x021160b6, 0x02288d9b, 0x0087182d, 0x031f8bf8, 0x02416f8b, 0x01f8e5ce, 0x013001ec, 0x031b6e91, 0x03909631, 0x002860d5}}}, + {X: Field{[10]uint32{0x01a3df70, 0x00b49424, 0x0350c697, 0x00d46399, 0x0205de72, 0x0359af9f, 0x0279e692, 0x00bcd408, 0x03d89c26, 0x00284765}}, Y: Field{[10]uint32{0x012a69dd, 0x0071b6f5, 0x00b71fd3, 0x01dfa522, 0x0144768d, 0x02e22459, 0x02e48fea, 0x02c05b7c, 0x00a3dd6f, 0x0034637e}}}, + {X: Field{[10]uint32{0x01f20651, 0x03d0887d, 0x01787922, 0x0023f563, 0x01a5ab52, 0x02b9f30a, 0x0154bf8d, 0x0301bbb7, 0x0375cefe, 0x002c5b8f}}, Y: Field{[10]uint32{0x02d0eb2d, 0x021d86a9, 0x0381da75, 0x024314e6, 0x010233ae, 0x01a42624, 0x03c19891, 0x00cbb5d3, 0x02b45a6e, 0x0015feff}}}, + {X: Field{[10]uint32{0x034628b2, 0x0095e131, 0x03d9fbeb, 0x02cd128c, 0x00837339, 0x02bc51e9, 0x03564c2f, 0x03a9ba7a, 0x000a3f73, 0x000df7a0}}, Y: Field{[10]uint32{0x02254050, 0x007b04f9, 0x020a02f4, 0x01b3e8ab, 0x03e33fc9, 0x0165aab5, 0x016b7e53, 0x01600c06, 0x02599da5, 0x00164ce4}}}, + {X: Field{[10]uint32{0x03d68055, 0x03b10e32, 0x021f19be, 0x02c24c96, 0x024ae57f, 0x02db9aea, 0x00b781d8, 0x02aebdbf, 0x012d65b3, 0x001bda10}}, Y: Field{[10]uint32{0x038d3bcc, 0x00c550cb, 0x02f08ec0, 0x00cfbd26, 0x0127dc14, 0x0086aed7, 0x03310420, 0x01c6f002, 0x019d4061, 0x002213f5}}}, + {X: Field{[10]uint32{0x036e4366, 0x0240b5b2, 0x00a79572, 0x026bd82f, 0x03980f1f, 0x014bc1c3, 0x00f0ce2b, 0x03898493, 0x029e6bc5, 0x002451e6}}, Y: Field{[10]uint32{0x002f5288, 0x00d746a7, 0x0364aef9, 0x0090044b, 0x03479325, 0x02c4ef89, 0x036025d4, 0x0110d667, 0x030a22de, 0x0008c13d}}}, + {X: Field{[10]uint32{0x0119bd8a, 0x02306513, 0x03701835, 0x031d29b1, 0x014cceab, 0x005df732, 0x01e7c1e4, 0x021c2230, 0x00df36ac, 0x0022e9ac}}, Y: Field{[10]uint32{0x02ab9ed4, 0x01fe1658, 0x005baad1, 0x006de26a, 0x01989dff, 0x01deb1d5, 0x02abe8a1, 0x00578a48, 0x020ee9d5, 0x003a5adc}}}, + {X: Field{[10]uint32{0x01d567cc, 0x02b2deca, 0x02c9ef4a, 0x01a55393, 0x00f11b8a, 0x00d5453c, 0x0359a8ca, 0x00ff3163, 0x0195871f, 0x002ac548}}, Y: Field{[10]uint32{0x03267fb4, 0x03a80dc3, 0x0019c3c8, 0x0329946d, 0x01965ec1, 0x017e23fc, 0x0099ad17, 0x02f6850a, 0x0148623e, 0x0030776b}}}, + {X: Field{[10]uint32{0x011600c5, 0x00b39f55, 0x00756e55, 0x011b5357, 0x026ca45c, 0x0066b708, 0x00e6448e, 0x00af4070, 0x03485eb9, 0x001fac8f}}, Y: Field{[10]uint32{0x03c57ac5, 0x0309ec69, 0x03328b3d, 0x025ea161, 0x01a300ef, 0x00f8c315, 0x033de076, 0x02e4e41e, 0x03124278, 0x00254fa6}}}, + {X: Field{[10]uint32{0x0221ee17, 0x00924153, 0x01f0a2f6, 0x02dc3bac, 0x01e0212f, 0x01624124, 0x0120a922, 0x01c0371d, 0x002ba4b2, 0x002c8fd3}}, Y: Field{[10]uint32{0x03598530, 0x02b83762, 0x03811457, 0x01f98d27, 0x028a2c28, 0x0040e1b0, 0x007d5a5c, 0x02cebcb3, 0x03729e95, 0x0028e2d9}}}, + {X: Field{[10]uint32{0x0369c2a4, 0x002addc9, 0x024a90a1, 0x00badd50, 0x0067a6c1, 0x01b3eb59, 0x001a02b9, 0x0156da8b, 0x0323387e, 0x002174b9}}, Y: Field{[10]uint32{0x00e4d303, 0x01145432, 0x031d0db8, 0x033c8684, 0x00ded380, 0x0352050d, 0x03077fb7, 0x0262bc06, 0x01ac2238, 0x001c9eaf}}}, + {X: Field{[10]uint32{0x0309273d, 0x02369b26, 0x014be9fd, 0x0006229e, 0x0254ae69, 0x019a7d9a, 0x0383d59e, 0x02933104, 0x015e08db, 0x0009f05c}}, Y: Field{[10]uint32{0x01b1a266, 0x0357352d, 0x03f9d998, 0x03173cae, 0x03e16e22, 0x039fcc3c, 0x017d8841, 0x01b288d4, 0x0254306e, 0x0009d9f2}}}, + {X: Field{[10]uint32{0x015eed89, 0x0173e2c2, 0x0350f446, 0x01090200, 0x0342cf40, 0x03e169aa, 0x00c4fb56, 0x017a3a78, 0x00d37f9a, 0x0039c2e3}}, Y: Field{[10]uint32{0x030cb31a, 0x012c3f9a, 0x014fe5ec, 0x0018c661, 0x01faacdf, 0x01d4232b, 0x034e93c0, 0x02346e5c, 0x00589478, 0x000b8f63}}}, + {X: Field{[10]uint32{0x01e956b9, 0x00804f37, 0x0365ee2c, 0x0187439f, 0x0293932c, 0x00fc1dab, 0x0081a39f, 0x020e5a63, 0x00552405, 0x00388f75}}, Y: Field{[10]uint32{0x00cf77c9, 0x036da2de, 0x0315b1dc, 0x01e72d4c, 0x0052b57e, 0x022a82d9, 0x01cef85a, 0x022ae2fd, 0x03d000cd, 0x001b14f2}}}, + {X: Field{[10]uint32{0x01919c9f, 0x001ce653, 0x003b7d7a, 0x00c8431a, 0x039aaf08, 0x01d9df2e, 0x0209f2c4, 0x02604c46, 0x0381ccc4, 0x0017a48f}}, Y: Field{[10]uint32{0x00306873, 0x02e5fd0e, 0x019f7738, 0x01f3ed45, 0x02705966, 0x03dc153f, 0x00e64a8a, 0x02b41bf8, 0x0112e64c, 0x0018135c}}}, + {X: Field{[10]uint32{0x00142507, 0x00deaddc, 0x006a5600, 0x010d8cca, 0x031380e5, 0x004ff79a, 0x02b71d71, 0x0289e380, 0x02531a9f, 0x0008f67c}}, Y: Field{[10]uint32{0x0244a9ac, 0x00cdcaff, 0x0256442d, 0x00053da5, 0x030a9fd2, 0x02d3a178, 0x02f49f6b, 0x0184669b, 0x0247b6eb, 0x00157720}}}, + {X: Field{[10]uint32{0x033b8f24, 0x03d76275, 0x0318a050, 0x03bc4b1c, 0x02886c79, 0x03bdb494, 0x01bb2815, 0x0147bc57, 0x0095ad25, 0x003bac8c}}, Y: Field{[10]uint32{0x01ba1ddb, 0x026166c4, 0x00eac67d, 0x020a74e1, 0x0056a80f, 0x039f3ee4, 0x00c38963, 0x0033a3ac, 0x0394b981, 0x003469c6}}}, + {X: Field{[10]uint32{0x00b7c21b, 0x009a0ad5, 0x023c0e7a, 0x00db9087, 0x03899a84, 0x03bfbaa6, 0x03eee536, 0x03df8952, 0x027b57bd, 0x001929b7}}, Y: Field{[10]uint32{0x03b4755b, 0x00325bc9, 0x01537cf4, 0x02438fc3, 0x03181ad1, 0x0240bf1b, 0x0002e2d2, 0x013f2831, 0x036e2e34, 0x001909e4}}}, + {X: Field{[10]uint32{0x00270073, 0x03c0b0b3, 0x0046d779, 0x0114f3b2, 0x008207fd, 0x0079c02e, 0x01aad5e5, 0x02bcfc70, 0x02ced76d, 0x0027919d}}, Y: Field{[10]uint32{0x03dc9e42, 0x01d3d2f2, 0x00c38d9d, 0x0333ad16, 0x036ffc4a, 0x0362a112, 0x02550195, 0x0042b411, 0x03811d76, 0x0015a171}}}, + {X: Field{[10]uint32{0x01645473, 0x012cd663, 0x003e5d13, 0x00d5bb21, 0x031d83c6, 0x0110a31e, 0x020ee231, 0x01ae85db, 0x02288061, 0x00257b84}}, Y: Field{[10]uint32{0x03bf4054, 0x00b8a7a8, 0x023a37d1, 0x004c31bb, 0x0149a60d, 0x02c9531c, 0x00812789, 0x01301d60, 0x00644191, 0x001ef8d3}}}, + {X: Field{[10]uint32{0x006516ad, 0x039300ff, 0x00da994f, 0x02683166, 0x03d0b108, 0x0114f2f7, 0x01df5066, 0x02068be4, 0x02efd920, 0x00394fff}}, Y: Field{[10]uint32{0x00c59c2f, 0x00762479, 0x01929ecc, 0x019eb01c, 0x035dcd1b, 0x00591863, 0x0270b285, 0x00340a8b, 0x02c14a60, 0x001583c0}}}, + {X: Field{[10]uint32{0x022a7b68, 0x0330fa81, 0x03a83faf, 0x00418ebe, 0x0090d4eb, 0x028f665d, 0x014f1adf, 0x01223168, 0x03447c75, 0x00270cc9}}, Y: Field{[10]uint32{0x01791c63, 0x026dbb86, 0x02b8ad68, 0x023d5643, 0x00cacfb7, 0x01343315, 0x00ff7d22, 0x03f0ed34, 0x01fb09a7, 0x002731d6}}}, + {X: Field{[10]uint32{0x033d3c45, 0x00e50c25, 0x0058e4ea, 0x01fa078f, 0x02f1d103, 0x022dd050, 0x02b22b0c, 0x0057fddf, 0x01002f43, 0x003a09b5}}, Y: Field{[10]uint32{0x008b65de, 0x0346666f, 0x010455d8, 0x0380ab9d, 0x00e8ab16, 0x031f54e9, 0x039316df, 0x01c7d0ea, 0x025882f9, 0x000e919b}}}, + {X: Field{[10]uint32{0x015e13c7, 0x01ece204, 0x03512d38, 0x01ecff59, 0x00dd38a8, 0x03a6c5af, 0x00f196c6, 0x02d71237, 0x030eaf93, 0x0033b537}}, Y: Field{[10]uint32{0x028b74cc, 0x0118b1b5, 0x0197e910, 0x01c73b75, 0x018c7542, 0x02734478, 0x032c9309, 0x02772ad3, 0x023bdd14, 0x003f8229}}}, + {X: Field{[10]uint32{0x037eb33d, 0x031505b6, 0x00b27ee8, 0x01b78086, 0x038065e3, 0x03ce3d53, 0x0220182d, 0x01437cac, 0x012788ea, 0x002c15bb}}, Y: Field{[10]uint32{0x02cf6409, 0x02a0f6f6, 0x00a6b0a1, 0x027ff0c0, 0x018d514d, 0x023a687a, 0x0243aa82, 0x015fe7af, 0x0375cef4, 0x0025cce0}}}, + {X: Field{[10]uint32{0x037830df, 0x03b8a216, 0x011561c9, 0x03010187, 0x03eba030, 0x00d07da8, 0x0260b667, 0x03e529ff, 0x007402fe, 0x0000d77b}}, Y: Field{[10]uint32{0x009b933e, 0x007c161e, 0x0045caba, 0x01b9363c, 0x013eb8be, 0x02dba488, 0x0302fe6e, 0x0043f79f, 0x012139c8, 0x00009664}}}, + {X: Field{[10]uint32{0x024e020b, 0x02b77ecc, 0x02f1f081, 0x025cdf16, 0x03d7981e, 0x010abd13, 0x0215cb99, 0x0084ff4b, 0x00c87733, 0x0000fc8f}}, Y: Field{[10]uint32{0x016e8f83, 0x03f0145d, 0x0065ac8a, 0x0184ed7e, 0x007ffc0c, 0x0337b040, 0x0392455d, 0x03378d38, 0x00c0d43c, 0x00093a33}}}, + {X: Field{[10]uint32{0x03babbdb, 0x014dfbca, 0x01bc1e06, 0x03322f3a, 0x03c8471d, 0x02e8361b, 0x02cfa43d, 0x0173ab5f, 0x0076c080, 0x0026ea5b}}, Y: Field{[10]uint32{0x0143def3, 0x00ef0dfe, 0x023ae0e9, 0x008181fb, 0x01622d98, 0x03d3c1ec, 0x02f8e3a8, 0x038136f8, 0x00331c2a, 0x003068f1}}}, + {X: Field{[10]uint32{0x016a3815, 0x0221f5f4, 0x02ac5c2e, 0x01058438, 0x021d414f, 0x037b3273, 0x01103965, 0x014e5635, 0x039a3147, 0x0020f051}}, Y: Field{[10]uint32{0x009b5b7a, 0x0215d00a, 0x0292c7f0, 0x01c341f0, 0x02c123d4, 0x027ffeee, 0x0339bbff, 0x03351b97, 0x00181354, 0x00213534}}}, + {X: Field{[10]uint32{0x03e0a32d, 0x017af1fb, 0x01ab1fcb, 0x0035ecd2, 0x00a8d701, 0x00a15f6e, 0x026714a0, 0x007621db, 0x027a2db1, 0x002eb3d8}}, Y: Field{[10]uint32{0x00c83129, 0x02b8c0fa, 0x02f5ed57, 0x021aeadf, 0x0214b3e5, 0x01ab3882, 0x03777b73, 0x011239a2, 0x000da44c, 0x0028a1f7}}}, + {X: Field{[10]uint32{0x0376ebd7, 0x03173fc9, 0x024d4619, 0x03475934, 0x034ca888, 0x00051c59, 0x03fd2d3a, 0x027de442, 0x00553012, 0x001cc18f}}, Y: Field{[10]uint32{0x00159489, 0x0312ec8b, 0x004ea368, 0x01b34a16, 0x019d7190, 0x005261b1, 0x02b0362b, 0x03e320be, 0x01d944cc, 0x00355e50}}}, + {X: Field{[10]uint32{0x035d6637, 0x022802ce, 0x020114d0, 0x004b5116, 0x02a3f51a, 0x0376d00f, 0x03a4ce34, 0x02b4544a, 0x0232df55, 0x00013ba1}}, Y: Field{[10]uint32{0x02b14820, 0x039b1164, 0x03d8188a, 0x0006585b, 0x01916879, 0x025c8f46, 0x03f01a31, 0x009d68e7, 0x0199dc30, 0x0030a7dc}}}, + {X: Field{[10]uint32{0x03e7ef28, 0x00abf9f5, 0x0386ccd4, 0x03bed59d, 0x028f5345, 0x008fbeb2, 0x0318a16a, 0x03507e62, 0x026d68bb, 0x003f11b9}}, Y: Field{[10]uint32{0x0243c18a, 0x0009c569, 0x029d50d7, 0x00c7b23d, 0x01a02382, 0x02930a2e, 0x01af38a4, 0x0212754f, 0x02dfabf8, 0x0022d0a8}}}, + {X: Field{[10]uint32{0x03a7dc13, 0x0379862c, 0x039638a9, 0x0262bbf1, 0x013f9b6b, 0x028e41ec, 0x02ece5e2, 0x01e5e01f, 0x01b0158d, 0x0029c6b4}}, Y: Field{[10]uint32{0x0308bf90, 0x0179a87b, 0x026ea437, 0x0113a029, 0x02ccfc5c, 0x006e6df4, 0x038a8644, 0x03119394, 0x006da956, 0x001bf5fa}}}, + {X: Field{[10]uint32{0x01860a3a, 0x00ddda3c, 0x0028d0ed, 0x014f5476, 0x0161a7c5, 0x0031abd6, 0x03b99576, 0x0299ff5e, 0x01f36075, 0x00180861}}, Y: Field{[10]uint32{0x0110b2e7, 0x030caf53, 0x02802165, 0x0353754b, 0x0102265c, 0x01ea274e, 0x03a027ce, 0x020d7991, 0x02db706b, 0x002434c4}}}, + {X: Field{[10]uint32{0x007a77ca, 0x01edf7d8, 0x006b598e, 0x01fe50dc, 0x0336b443, 0x01f718b0, 0x019976d3, 0x024646e7, 0x02837672, 0x0036c3f2}}, Y: Field{[10]uint32{0x02efc29d, 0x01210760, 0x03dd9c4f, 0x01a26541, 0x0278699a, 0x028600be, 0x009f0b32, 0x01faff83, 0x016e8eba, 0x0008f7b7}}}, + {X: Field{[10]uint32{0x00a54939, 0x023c95e9, 0x01884761, 0x03b00ce7, 0x02237d0a, 0x03fe37a0, 0x0159909f, 0x013c24a8, 0x0061598d, 0x001a466e}}, Y: Field{[10]uint32{0x0334b90c, 0x0072f6db, 0x03ff2f3e, 0x0050e4b0, 0x0127a1a2, 0x02693864, 0x01c07845, 0x00ea8ee1, 0x02fe1fa5, 0x002ae7e0}}}, + {X: Field{[10]uint32{0x0074bd59, 0x03becba0, 0x01e39299, 0x0063df8e, 0x02877ec1, 0x0354e803, 0x00f0a5d5, 0x006e9f0f, 0x02e9f1f5, 0x003d29f4}}, Y: Field{[10]uint32{0x005bd257, 0x01f8640b, 0x01be0ef1, 0x027665d0, 0x030c9bea, 0x02f39e60, 0x00e6380c, 0x02b38b69, 0x01006aa6, 0x0027c142}}}, + {X: Field{[10]uint32{0x01453da3, 0x02cb8d73, 0x03656366, 0x01f95065, 0x02392731, 0x03ffef65, 0x011ae232, 0x03784c42, 0x0210d4f1, 0x0022975c}}, Y: Field{[10]uint32{0x00580a54, 0x0345912c, 0x02a98abc, 0x001394ca, 0x034cae10, 0x024c1ab6, 0x0158a05a, 0x03683a99, 0x021b5b71, 0x0026bfe2}}}, + {X: Field{[10]uint32{0x00e86f16, 0x020063ae, 0x039f3f93, 0x0308abf5, 0x022c9195, 0x02812e1e, 0x020406be, 0x01c566c2, 0x03dce40d, 0x00267ac8}}, Y: Field{[10]uint32{0x00ecff66, 0x011f5059, 0x01b3782b, 0x037a7a03, 0x03b1f17f, 0x01e7f2af, 0x036cddaa, 0x03f7b1ff, 0x0138a66e, 0x000bbc86}}}, + {X: Field{[10]uint32{0x00d37472, 0x02e996ad, 0x02904a99, 0x0391eb2f, 0x01611ad0, 0x02aef9e0, 0x03f0d0b9, 0x011062b1, 0x02841a87, 0x000efc5b}}, Y: Field{[10]uint32{0x03e714ad, 0x00d44868, 0x003551fb, 0x02ca2bbd, 0x007d1138, 0x009dd0df, 0x008c0f19, 0x0232cbf2, 0x01f4e194, 0x00074f2e}}}, + {X: Field{[10]uint32{0x03f01f3e, 0x027f93f9, 0x0095af45, 0x03395126, 0x02561811, 0x018e22a1, 0x007c1333, 0x00e5382e, 0x03ff19eb, 0x0028fbe0}}, Y: Field{[10]uint32{0x0178cbab, 0x0344e920, 0x024a1045, 0x03374cd6, 0x019d687c, 0x00474238, 0x007ddb47, 0x02b32f37, 0x01398bdc, 0x00065577}}}, + {X: Field{[10]uint32{0x00b1af90, 0x03bc5f9c, 0x02552063, 0x0047d6b7, 0x005a344d, 0x008f75ad, 0x01c024c2, 0x013a04fb, 0x0351da9b, 0x0009a05b}}, Y: Field{[10]uint32{0x014aabd6, 0x001e980a, 0x03d30220, 0x01feef33, 0x0365611b, 0x01813a25, 0x02809676, 0x019e8d5c, 0x021d1d6b, 0x001189e3}}}, + {X: Field{[10]uint32{0x03dea823, 0x03a1112b, 0x0125a909, 0x0325239d, 0x031d47dc, 0x01e502c3, 0x03b14f69, 0x03c523b2, 0x03c0d640, 0x00178594}}, Y: Field{[10]uint32{0x00b092c7, 0x017333d3, 0x01c86cd4, 0x0325bfbb, 0x008e499c, 0x00af714a, 0x03aef229, 0x020d43b3, 0x01ede7cb, 0x0026e2e0}}}, + {X: Field{[10]uint32{0x0028de9e, 0x03a76f7a, 0x008f247f, 0x01beb770, 0x02b7725d, 0x0096c4ad, 0x0348c231, 0x00da5158, 0x02450b0d, 0x0006f623}}, Y: Field{[10]uint32{0x00a95db0, 0x036e8bee, 0x00fe2098, 0x01a1a602, 0x009f6faf, 0x00750059, 0x03dae7ca, 0x0377695d, 0x01e32d8b, 0x00060a4e}}}, + {X: Field{[10]uint32{0x01b73c02, 0x004b17f6, 0x01fbd31b, 0x005b5080, 0x02b80ab7, 0x03aede00, 0x01e754fb, 0x013900c5, 0x02063adc, 0x0012c0ff}}, Y: Field{[10]uint32{0x0080fb06, 0x0233d507, 0x0030e73e, 0x00c7a929, 0x03a5623c, 0x000fe638, 0x00ed537e, 0x03946403, 0x00a8e2c5, 0x002a1934}}}, + {X: Field{[10]uint32{0x01d35f61, 0x013c7a11, 0x0268c588, 0x003f4217, 0x01214686, 0x0311bced, 0x01927f13, 0x023ccc7b, 0x01150781, 0x00038829}}, Y: Field{[10]uint32{0x02bcf328, 0x021d79a5, 0x00db0484, 0x02828f48, 0x02a924e9, 0x03f523d9, 0x02466c43, 0x035b1627, 0x00021a79, 0x00287048}}}, + {X: Field{[10]uint32{0x001e37be, 0x024971fe, 0x03a732db, 0x0287200a, 0x034aaece, 0x0221787a, 0x0224d874, 0x0387362f, 0x024e74a1, 0x0038f446}}, Y: Field{[10]uint32{0x021645f5, 0x00a8eda1, 0x03c7f73d, 0x0271ed12, 0x03022b0a, 0x0220c752, 0x0006787b, 0x03c07d8e, 0x001e0a1e, 0x0023c7b0}}}, + {X: Field{[10]uint32{0x0237f6e5, 0x00a8204f, 0x00617d1e, 0x00c83d00, 0x03da71fa, 0x01ca6c58, 0x0292b584, 0x0036fba3, 0x021557fe, 0x002288cc}}, Y: Field{[10]uint32{0x02cce950, 0x022415ab, 0x01f5e938, 0x00a5870d, 0x03267dbd, 0x035de632, 0x021ed74b, 0x01d416ba, 0x031abb8c, 0x002bd791}}}, + {X: Field{[10]uint32{0x0051d20d, 0x0269db5a, 0x01cbe99f, 0x03ea65a1, 0x02997e8d, 0x01c05735, 0x01070e00, 0x011a0c54, 0x022cb43f, 0x000eef02}}, Y: Field{[10]uint32{0x00b4f97d, 0x038d46df, 0x00278bb0, 0x010e5bea, 0x01fd1408, 0x01820c44, 0x0168e88b, 0x013102e6, 0x038ea5f1, 0x0026877e}}}, + {X: Field{[10]uint32{0x011d1deb, 0x0384cf24, 0x01184811, 0x00e0e50c, 0x0165380f, 0x0101ed2e, 0x0059dac9, 0x020eafa3, 0x0381082d, 0x00230135}}, Y: Field{[10]uint32{0x000a3db4, 0x014982d3, 0x00eab4a6, 0x0261c663, 0x00c0a3e0, 0x0200e54d, 0x03213408, 0x008c5bf3, 0x0093fdb2, 0x00135d39}}}, + {X: Field{[10]uint32{0x02a0291f, 0x002935b5, 0x028c8577, 0x0057279f, 0x001ed9f9, 0x00b80d91, 0x00aa7c46, 0x00b37b7c, 0x010e7231, 0x00119f53}}, Y: Field{[10]uint32{0x00a1ce32, 0x0376875c, 0x001fc0d4, 0x010060ea, 0x02f117e2, 0x00475596, 0x00624ddf, 0x025528c3, 0x00a9d7c2, 0x0020f6d0}}}, + {X: Field{[10]uint32{0x01a3dc8c, 0x03d26311, 0x00195d55, 0x00b7866b, 0x02ce73ae, 0x01072f54, 0x00601869, 0x028406ac, 0x00cd8e55, 0x002d8bd8}}, Y: Field{[10]uint32{0x0314ef41, 0x0330c06c, 0x03cef428, 0x02e3efdb, 0x034a5108, 0x01633482, 0x030ed091, 0x00958bba, 0x00b07c6d, 0x00167692}}}, + {X: Field{[10]uint32{0x039e681f, 0x03746d72, 0x02183379, 0x03301924, 0x01166e88, 0x0151bbfa, 0x036d7f19, 0x03b9877c, 0x0210f98a, 0x001ad758}}, Y: Field{[10]uint32{0x018a0d76, 0x011b9bda, 0x028e77f2, 0x01eb11c8, 0x027c6de8, 0x00c01170, 0x008afca8, 0x0229adcb, 0x034859c8, 0x0036fec5}}}, + {X: Field{[10]uint32{0x02300c97, 0x03b34288, 0x00286049, 0x036d234f, 0x00548768, 0x01625df3, 0x012cc9ef, 0x0210ada3, 0x0104e8c7, 0x00221d13}}, Y: Field{[10]uint32{0x03b9c38c, 0x03d628a3, 0x01bc0393, 0x024e4421, 0x02149d29, 0x031f242d, 0x00b0e425, 0x03147968, 0x02a51ea3, 0x002115ce}}}, + {X: Field{[10]uint32{0x032e37c8, 0x02038cb0, 0x03d4bada, 0x0296f934, 0x00d0218b, 0x005ab64e, 0x03065712, 0x02b16066, 0x002440f2, 0x003f7cb2}}, Y: Field{[10]uint32{0x01538f74, 0x01b56a97, 0x028b5587, 0x0069d019, 0x01917203, 0x02180b7f, 0x00c6f205, 0x007fef92, 0x00b59e96, 0x0030aaf1}}}, + {X: Field{[10]uint32{0x03777559, 0x012255fb, 0x028a9366, 0x03826d33, 0x0115178c, 0x011d5501, 0x02273bd2, 0x0220ecc8, 0x03641f5a, 0x00134bf7}}, Y: Field{[10]uint32{0x02a41b11, 0x002ce152, 0x029fabed, 0x00070d12, 0x02b2837f, 0x02cc85eb, 0x021b89b9, 0x03cc7190, 0x0101210b, 0x0008ae87}}}, + {X: Field{[10]uint32{0x00ddc633, 0x0185648d, 0x022699c4, 0x0330abf2, 0x035a54dc, 0x017192a3, 0x02f3faea, 0x02ff7e06, 0x00a1e743, 0x003b1f2f}}, Y: Field{[10]uint32{0x02ab0917, 0x01e05b93, 0x02e295f5, 0x039263f3, 0x03dc5263, 0x01684041, 0x0128c05e, 0x028141ed, 0x01a9ea76, 0x0027c64f}}}, + {X: Field{[10]uint32{0x00b44fdf, 0x02aef011, 0x01943c7f, 0x037e74dc, 0x00da9cd6, 0x00f2e013, 0x001e7790, 0x0262e2e0, 0x01137719, 0x003fcbe8}}, Y: Field{[10]uint32{0x01f6093c, 0x011af2cb, 0x02c54237, 0x009008b2, 0x022aec68, 0x02335bc2, 0x01d966db, 0x01d9c31e, 0x03f21ac5, 0x00258849}}}, + {X: Field{[10]uint32{0x00a57580, 0x0179de82, 0x035ee647, 0x0324a7c5, 0x034fd418, 0x010db5ab, 0x02c21bec, 0x000b48d3, 0x006b2dfb, 0x001b46d0}}, Y: Field{[10]uint32{0x00e895eb, 0x03a88f6f, 0x02f07b2d, 0x0394e2e7, 0x02f157ef, 0x00f9ed80, 0x00693d6d, 0x0238be3c, 0x02689dba, 0x002e2515}}}, + {X: Field{[10]uint32{0x004d7963, 0x03bd4e59, 0x01df587b, 0x03ddd308, 0x020317bf, 0x00371ae5, 0x00767270, 0x00033919, 0x01fb449e, 0x0012aee7}}, Y: Field{[10]uint32{0x006e6407, 0x03162f7e, 0x018e49c2, 0x02a1d517, 0x004d6dbb, 0x026bc726, 0x01807868, 0x031a6cab, 0x02b7c016, 0x001821bc}}}, + {X: Field{[10]uint32{0x010fcee6, 0x036d8e99, 0x022361f8, 0x0293f43b, 0x022fb3be, 0x016128f2, 0x00b0b895, 0x010258dd, 0x01cc634a, 0x0036c314}}, Y: Field{[10]uint32{0x01b6e6a0, 0x03f8cf31, 0x02486367, 0x01fe160d, 0x015d2825, 0x01ec3993, 0x0116fd39, 0x02b8612f, 0x012baea1, 0x001fb02f}}}, + {X: Field{[10]uint32{0x03fdb287, 0x01348b0d, 0x00e74495, 0x020886aa, 0x006996a3, 0x011b79c1, 0x01e02ed6, 0x01246699, 0x01bcd066, 0x002b9bdb}}, Y: Field{[10]uint32{0x03f2f201, 0x03eda870, 0x03d1bb76, 0x03d7d7fb, 0x02c5bbb2, 0x027e440b, 0x01313791, 0x01d01046, 0x02aef8ae, 0x002af9c3}}}, + {X: Field{[10]uint32{0x035f6227, 0x034eb234, 0x01fda63d, 0x018beb14, 0x00f4079a, 0x01ff25dc, 0x00771a91, 0x007cc2f4, 0x0397cb32, 0x002ba8fa}}, Y: Field{[10]uint32{0x02bf39b6, 0x006b919a, 0x0352506f, 0x0285105a, 0x03878145, 0x00a1f7f7, 0x0133704a, 0x005717a4, 0x00163985, 0x002da94d}}}, + {X: Field{[10]uint32{0x012233be, 0x02f28721, 0x01ded051, 0x0018fa24, 0x0039355c, 0x01b04ebe, 0x037234ef, 0x01437a07, 0x00cf711d, 0x0024327e}}, Y: Field{[10]uint32{0x0021bff5, 0x0388720d, 0x0151ed7f, 0x00baa805, 0x0317d2c3, 0x004d61e0, 0x013d4528, 0x025927cb, 0x037818f1, 0x00023655}}}, + {X: Field{[10]uint32{0x02d976e0, 0x017b6321, 0x020e2149, 0x02ae4809, 0x02fd954a, 0x012d23bf, 0x028dcde3, 0x000d1154, 0x00e5ab1d, 0x0016b5fb}}, Y: Field{[10]uint32{0x038569b0, 0x0052c0fd, 0x003d8700, 0x0112c5e1, 0x0062ac94, 0x0311adb8, 0x03274e93, 0x018eaefb, 0x023b2c3c, 0x000b7c85}}}, + {X: Field{[10]uint32{0x03d28d9a, 0x0113a38e, 0x0031cb78, 0x01f5622a, 0x001d80ae, 0x00eac32b, 0x026d3ee1, 0x00bbc05b, 0x022c8e94, 0x002dae8b}}, Y: Field{[10]uint32{0x03ef7fb4, 0x01776dc6, 0x0101d085, 0x014f402d, 0x00a2ebf4, 0x03490458, 0x01b6b067, 0x037f7d40, 0x0235f923, 0x00104602}}}, + {X: Field{[10]uint32{0x03f5f37d, 0x01319d1f, 0x01cc413a, 0x02a71a02, 0x00799555, 0x03211627, 0x03dd450b, 0x01b1f7ea, 0x03c9bba2, 0x001f9026}}, Y: Field{[10]uint32{0x01c9e6b1, 0x00f7b9de, 0x0030ce42, 0x00d067f8, 0x036066b0, 0x020763f7, 0x01c42604, 0x02bf8b90, 0x01619cc5, 0x00031462}}}, + {X: Field{[10]uint32{0x024f602c, 0x02145bb7, 0x024e0300, 0x01aa942d, 0x022c7263, 0x031f1308, 0x01010606, 0x03cbb8a3, 0x011470b2, 0x002521b3}}, Y: Field{[10]uint32{0x02b467af, 0x03edd2f7, 0x012ceaac, 0x028d27d1, 0x02c062e9, 0x01cc8d9f, 0x0131785f, 0x0001bf7e, 0x038cfc5b, 0x00221b32}}}, + {X: Field{[10]uint32{0x01338d2a, 0x027b62c8, 0x0183b1af, 0x0271520b, 0x0294b1ee, 0x0116e817, 0x01af6d87, 0x01c81478, 0x017bc8b0, 0x0039f047}}, Y: Field{[10]uint32{0x035c8e50, 0x0214b7b5, 0x00f79c74, 0x00f5e5ff, 0x016ad468, 0x024bcd6a, 0x01062aa1, 0x02ac7bf2, 0x0293828c, 0x003f7134}}}, + {X: Field{[10]uint32{0x03d50bcd, 0x00003c24, 0x02217c98, 0x01763a00, 0x0119b1a8, 0x01db7b4d, 0x01b67b27, 0x0172c06c, 0x027bff31, 0x00037f98}}, Y: Field{[10]uint32{0x01f9e773, 0x00aa3b95, 0x03c285f3, 0x0346e57b, 0x03ea0f69, 0x0275a39a, 0x01d2480c, 0x0021edbf, 0x01ebbb65, 0x00264f15}}}, + {X: Field{[10]uint32{0x0046f516, 0x03ab1969, 0x01dde189, 0x01b55210, 0x03eb31c2, 0x0183c0bc, 0x007c9818, 0x028b2d7f, 0x0017fd00, 0x00283c33}}, Y: Field{[10]uint32{0x033b8969, 0x030a5792, 0x03a74ff5, 0x03aaf4c3, 0x0214bbe4, 0x00fb74df, 0x01077a7d, 0x0228efc4, 0x004c31d5, 0x002feba2}}}, + {X: Field{[10]uint32{0x03e37338, 0x02dcaea8, 0x01dd9dd7, 0x014e47f8, 0x03d37e7f, 0x0251ad4a, 0x02ef926c, 0x00a1bb5b, 0x02bcbc14, 0x003076ed}}, Y: Field{[10]uint32{0x02df7bf0, 0x00f9a984, 0x01bd0e79, 0x00d44e78, 0x03aa5e27, 0x028ea235, 0x036fdc81, 0x01a20bd2, 0x0187bd33, 0x0019ec0b}}}, + {X: Field{[10]uint32{0x034bebb2, 0x01416f2e, 0x03eebe82, 0x004440d0, 0x03070255, 0x03bb7d7b, 0x02cb1f06, 0x02571324, 0x025bc7d4, 0x00082e41}}, Y: Field{[10]uint32{0x00756835, 0x01449184, 0x00fbd55d, 0x029c12c9, 0x014fec71, 0x018090b6, 0x021a4f90, 0x00764af4, 0x03165c23, 0x0029a61c}}}, + {X: Field{[10]uint32{0x01a69190, 0x0152043b, 0x03f2e03c, 0x01993e36, 0x0255ab9a, 0x023f21e1, 0x029544d3, 0x0230e376, 0x01d00c4d, 0x001efb7f}}, Y: Field{[10]uint32{0x00af77a1, 0x01c569be, 0x00591690, 0x0394f275, 0x01365556, 0x01cbfb81, 0x02d00491, 0x014b79ba, 0x00b00d4f, 0x0026653c}}}, + {X: Field{[10]uint32{0x035918e0, 0x034e179a, 0x01368df4, 0x03481067, 0x035adcad, 0x0083a5f2, 0x023815b7, 0x020fdab1, 0x02af9979, 0x00099d8b}}, Y: Field{[10]uint32{0x0227e6be, 0x00862356, 0x02549279, 0x0359daab, 0x0125f0c0, 0x0395883f, 0x00be2e9b, 0x0136f009, 0x008ce11b, 0x00207d51}}}, + {X: Field{[10]uint32{0x0387bb79, 0x013d337c, 0x013d9a94, 0x01d64b43, 0x03ea14f1, 0x036a1b84, 0x0354ff5d, 0x03854b0c, 0x02e7ee18, 0x001c5232}}, Y: Field{[10]uint32{0x0310b18d, 0x032d3788, 0x0336593d, 0x002fbba0, 0x02ffd42a, 0x02b1af03, 0x0065efed, 0x01ba4105, 0x01faf6f8, 0x0002f6cd}}}, + {X: Field{[10]uint32{0x03bdbc90, 0x023385e1, 0x02723503, 0x001964f0, 0x01bb4d8f, 0x015a116d, 0x01ae00b1, 0x00b0ce9a, 0x01d933ae, 0x0009f917}}, Y: Field{[10]uint32{0x01801ac9, 0x02aff594, 0x02db1f7c, 0x0281643c, 0x017dfe36, 0x009c68ac, 0x019c75c9, 0x01e68fe3, 0x033fa935, 0x0028af38}}}, + {X: Field{[10]uint32{0x03d6b7d7, 0x02fcacb5, 0x02a98fa2, 0x0047fb4a, 0x00d0539c, 0x0207980f, 0x02d79c7d, 0x02ba30a8, 0x02155b28, 0x002bc31c}}, Y: Field{[10]uint32{0x03ac41f9, 0x00b1a6a9, 0x0085640d, 0x038793cb, 0x023b5b26, 0x0073eb0f, 0x0380bfc7, 0x00270002, 0x03cfa251, 0x002b9af7}}}, + {X: Field{[10]uint32{0x03cbabf4, 0x03f80a98, 0x02bec7ec, 0x00646b32, 0x02de0f5a, 0x007a38dc, 0x00e609b2, 0x034d3cc5, 0x0008d4f8, 0x001ed8f1}}, Y: Field{[10]uint32{0x00f16327, 0x02ca6fa5, 0x03a7ce0d, 0x03402f32, 0x02236925, 0x0222166d, 0x02b6f65e, 0x025af633, 0x009a78fa, 0x002a8200}}}, + {X: Field{[10]uint32{0x01c6890c, 0x0163e6e1, 0x03f9394d, 0x000506bb, 0x024f4b48, 0x03d3cc8c, 0x03cffb68, 0x03a22f58, 0x005314f3, 0x002adda2}}, Y: Field{[10]uint32{0x037f192c, 0x0280dbf3, 0x019e05d3, 0x010455f1, 0x01c9ff98, 0x01ffc520, 0x033610ed, 0x01af0430, 0x0033d6d9, 0x00069c72}}}, + {X: Field{[10]uint32{0x023bd32e, 0x038d4727, 0x025a9953, 0x03692c97, 0x01ccd308, 0x0303b616, 0x0375487c, 0x01444be0, 0x03f07ad7, 0x0019050d}}, Y: Field{[10]uint32{0x01a9b131, 0x00e8e220, 0x026b0ccc, 0x0142130c, 0x027d2ec9, 0x03c02198, 0x00f1ba83, 0x00d1abd4, 0x03e6b255, 0x000f163d}}}, + {X: Field{[10]uint32{0x03a082cb, 0x029d9259, 0x0180b9b4, 0x0321dce5, 0x0360f7ec, 0x03406ba1, 0x01cceaff, 0x0351e307, 0x012d600e, 0x003d4cbf}}, Y: Field{[10]uint32{0x0285fa96, 0x02f3e844, 0x0145e440, 0x02b5a5f2, 0x03221847, 0x0200f27c, 0x01bb4d6c, 0x01f5fdf3, 0x014c7111, 0x001ce4d4}}}, + {X: Field{[10]uint32{0x031c7631, 0x02f41d42, 0x01c3ee1f, 0x0351d7c3, 0x00db73db, 0x03e20a4e, 0x01e6f608, 0x02ad1362, 0x01592c4b, 0x000cd9e6}}, Y: Field{[10]uint32{0x01694fbc, 0x01c058d2, 0x035aa1fd, 0x018973d9, 0x0217125d, 0x03fd5f37, 0x00782515, 0x0273cdb4, 0x00046fe8, 0x001307e0}}}, + {X: Field{[10]uint32{0x0256c9cb, 0x008681ef, 0x00a5be22, 0x0380ca5c, 0x016f18b7, 0x0232b0a1, 0x02b53962, 0x03295ec1, 0x016d2a34, 0x00386130}}, Y: Field{[10]uint32{0x02c5bf73, 0x01780f78, 0x009c77f8, 0x00d11ad4, 0x03d646cd, 0x0319b7d5, 0x02ab0688, 0x027137c5, 0x017b51ef, 0x001f7ff0}}}, + {X: Field{[10]uint32{0x0015d419, 0x01b22119, 0x0068f0e2, 0x035bbee3, 0x034f6ce6, 0x02883078, 0x00de9909, 0x027556ee, 0x01162fb4, 0x003e2a5f}}, Y: Field{[10]uint32{0x02061146, 0x0130b910, 0x034a7ded, 0x00ea19a1, 0x005f20a8, 0x007cba1b, 0x012e1616, 0x03280652, 0x00534dbf, 0x000f34f3}}}, + {X: Field{[10]uint32{0x02475781, 0x03783a84, 0x0164eb32, 0x001ab5c6, 0x0328cfc4, 0x0234f714, 0x02dd6123, 0x03608751, 0x022f6c6a, 0x0027adaa}}, Y: Field{[10]uint32{0x0045c299, 0x00f8d1db, 0x004afcb3, 0x03a3ef08, 0x0053dfe3, 0x029066ca, 0x024ce341, 0x00b824d9, 0x028379d3, 0x00051406}}}, + {X: Field{[10]uint32{0x0202668a, 0x021e8f0d, 0x036425f8, 0x017f3ae9, 0x017c4031, 0x008ff500, 0x02427403, 0x02255787, 0x026a68e6, 0x003af095}}, Y: Field{[10]uint32{0x00c7ea39, 0x024c7935, 0x0063aa06, 0x03050bbc, 0x01fab3bd, 0x03a7b269, 0x01f9f85a, 0x015b8995, 0x010996ff, 0x0001d7a0}}}, + {X: Field{[10]uint32{0x012bc392, 0x02dfacbd, 0x029fd674, 0x012d01d2, 0x03ab9c5e, 0x02921032, 0x025b29db, 0x033970be, 0x0038a966, 0x00155919}}, Y: Field{[10]uint32{0x001c8d66, 0x01c083e6, 0x0228f0a3, 0x0033a6a3, 0x022987d8, 0x017354b9, 0x003f68a4, 0x012a273f, 0x02867603, 0x000d18c6}}}, + {X: Field{[10]uint32{0x0316575e, 0x02c0cdde, 0x032e7ece, 0x01759ca7, 0x00082eff, 0x01f76453, 0x03257b8c, 0x0207ccc4, 0x0309befb, 0x002e1fe0}}, Y: Field{[10]uint32{0x016ea298, 0x036dff6a, 0x00630dee, 0x030b3157, 0x03eda5e1, 0x0202fb06, 0x03df03fb, 0x0000b5be, 0x003259e4, 0x002fa99a}}}, + {X: Field{[10]uint32{0x00a0a93e, 0x011c77dc, 0x008d7953, 0x0054a24b, 0x0224b6cf, 0x005b90d7, 0x03598b20, 0x0358fab3, 0x0185b440, 0x0011655d}}, Y: Field{[10]uint32{0x00b71427, 0x03aabab1, 0x013a00b3, 0x03f08cd2, 0x03b29739, 0x019419fe, 0x02c366a5, 0x013d3c8e, 0x0260776a, 0x003d32d8}}}, + {X: Field{[10]uint32{0x0248ca87, 0x01eef925, 0x02e11148, 0x0122e583, 0x033fe8d6, 0x03e73015, 0x024c8218, 0x010aec60, 0x024c8d9c, 0x000b243d}}, Y: Field{[10]uint32{0x03c25a8a, 0x006f9074, 0x00ab4da2, 0x01f5ac76, 0x0369bebf, 0x008bf3d5, 0x03000a9f, 0x00f2d827, 0x0157ac64, 0x0020a6f3}}}, + {X: Field{[10]uint32{0x004b5efe, 0x02c15205, 0x037be36d, 0x0048aea7, 0x012e7539, 0x01dcc5ca, 0x006a3fcc, 0x026af655, 0x02c7779c, 0x003acc9e}}, Y: Field{[10]uint32{0x018c9435, 0x00e46414, 0x025a08c4, 0x01948e15, 0x032cbbf3, 0x01b9d200, 0x032c594d, 0x0334e230, 0x00858d2f, 0x00086b0b}}}, + {X: Field{[10]uint32{0x006d007d, 0x0032c74b, 0x00e6adba, 0x00606b8c, 0x00daa354, 0x00df43c2, 0x02b07fdd, 0x03329ea8, 0x03e2272c, 0x000257b1}}, Y: Field{[10]uint32{0x03a12b5f, 0x01e3f14a, 0x00f3375f, 0x01f93dd0, 0x002d589e, 0x0042e224, 0x02ac913c, 0x01814154, 0x02ef59df, 0x001ccde1}}}, + {X: Field{[10]uint32{0x000cbbd1, 0x019f1a7f, 0x015f5fc3, 0x00a4b186, 0x0191104a, 0x03fc5cdc, 0x03c845d7, 0x028203c9, 0x02988b4f, 0x0012de99}}, Y: Field{[10]uint32{0x03a85b8f, 0x011606d8, 0x0207c928, 0x01360904, 0x008e5249, 0x0266ca79, 0x0338fd4d, 0x01584a1e, 0x03d0a360, 0x0022c10e}}}, + {X: Field{[10]uint32{0x0342e6b2, 0x02af4c68, 0x025e747d, 0x024bf194, 0x00a92337, 0x006409f0, 0x02ab28a6, 0x02077cd4, 0x018b6df5, 0x00226cb1}}, Y: Field{[10]uint32{0x03f53a2b, 0x01168435, 0x001f4100, 0x03ae223a, 0x009b053f, 0x000edd2f, 0x025edea2, 0x03996f89, 0x0334d459, 0x000c02c6}}}, + {X: Field{[10]uint32{0x03c43cf1, 0x02a04526, 0x008007ad, 0x009e27c3, 0x031c9263, 0x01d7b121, 0x027ff0db, 0x00a34392, 0x035d9f6a, 0x00104266}}, Y: Field{[10]uint32{0x0262cae5, 0x03056dde, 0x00b26995, 0x02680d65, 0x013e0791, 0x00196234, 0x009253be, 0x024adba5, 0x02962e2b, 0x000a82ae}}}, + {X: Field{[10]uint32{0x03229be4, 0x03f58581, 0x00817af7, 0x02704e27, 0x018825ea, 0x02998d55, 0x03396b29, 0x00230d41, 0x00649ec5, 0x002f2c3f}}, Y: Field{[10]uint32{0x0207d606, 0x011a4cce, 0x03e5c2c7, 0x02e4b5ef, 0x0313664d, 0x0248b991, 0x03a12ae0, 0x03d6adb0, 0x0192cf3b, 0x0005a31e}}}, + {X: Field{[10]uint32{0x018b762e, 0x01c6737b, 0x009a50ec, 0x035bdc0d, 0x029cd3b3, 0x0156a025, 0x0314ca70, 0x015abe78, 0x01585a62, 0x001e8ff2}}, Y: Field{[10]uint32{0x03df1346, 0x011172f4, 0x00f2217d, 0x01e0e44a, 0x00dadecd, 0x01c5e764, 0x0288526b, 0x001c58d4, 0x000c29cd, 0x003fa2ca}}}, + {X: Field{[10]uint32{0x01a8176a, 0x038fc198, 0x02fe1c89, 0x03980341, 0x027583c1, 0x0195b6a6, 0x03229e1e, 0x028d7b83, 0x03e1b968, 0x000ddc24}}, Y: Field{[10]uint32{0x02c601d9, 0x003e2830, 0x02b82e6e, 0x0220082b, 0x006aba8e, 0x02303600, 0x02a4dd0b, 0x03d185f9, 0x020df6c9, 0x0039f021}}}, + {X: Field{[10]uint32{0x02afecd8, 0x018fc512, 0x02a375ba, 0x03496a63, 0x01919b1d, 0x0184c068, 0x0327a933, 0x033333c7, 0x03daf4a5, 0x00317bfc}}, Y: Field{[10]uint32{0x00b97a1c, 0x01259337, 0x01d67f42, 0x027d38fc, 0x010a9412, 0x0088b0bf, 0x008a02c2, 0x020f7063, 0x023426f9, 0x000d3845}}}, + {X: Field{[10]uint32{0x023ffb27, 0x02a732f9, 0x014e984e, 0x03c54bb1, 0x033c0fa6, 0x00da2bf2, 0x0230f728, 0x0034cd10, 0x0119eb56, 0x00003f1e}}, Y: Field{[10]uint32{0x0059a6b3, 0x00a10aa6, 0x03fa9413, 0x033ab6b4, 0x00a04bc4, 0x03929f74, 0x01cb8388, 0x01bfe6f0, 0x0382af76, 0x00071f4d}}}, + {X: Field{[10]uint32{0x021ca5bd, 0x0362c921, 0x001c6287, 0x00890f4e, 0x03b31183, 0x0371bd1b, 0x0034cd6e, 0x01b5c951, 0x03fb4938, 0x0009e0f5}}, Y: Field{[10]uint32{0x03fa5c70, 0x005b8e31, 0x00111a93, 0x01d205c4, 0x01e4c685, 0x023e271e, 0x00450262, 0x01ab038f, 0x02710b80, 0x0028eabc}}}, + {X: Field{[10]uint32{0x018a02f3, 0x012cc3cb, 0x012298ad, 0x01bff4d7, 0x0188f54a, 0x0396efe5, 0x03f89495, 0x038343dd, 0x007868d4, 0x001d01e9}}, Y: Field{[10]uint32{0x03fdec9c, 0x03046d61, 0x001ce24c, 0x0250166b, 0x02debf3d, 0x024cca5f, 0x01b393ea, 0x0232c2a9, 0x016296e1, 0x00049435}}}, + {X: Field{[10]uint32{0x0061a321, 0x0137486a, 0x01df6cc5, 0x0293e118, 0x01c5899f, 0x0055101e, 0x02c108e7, 0x03b369de, 0x00e32940, 0x0030b4b3}}, Y: Field{[10]uint32{0x005a1909, 0x037a16fc, 0x01b729e6, 0x02aba0c3, 0x030a919e, 0x03321516, 0x00b05e3e, 0x0201c64a, 0x01fa40bb, 0x003c2fac}}}, + {X: Field{[10]uint32{0x01e8a56f, 0x03eb0fab, 0x013eb349, 0x00d4132c, 0x00d459a9, 0x02d7a54c, 0x014e1f5a, 0x006559aa, 0x0189c505, 0x00233dac}}, Y: Field{[10]uint32{0x03cf9c96, 0x018152f3, 0x0338c160, 0x02205884, 0x00327aa7, 0x008b51ea, 0x02d06d3b, 0x00a21b39, 0x017032e5, 0x002fdaa7}}}, + {X: Field{[10]uint32{0x01a94968, 0x019d9b4a, 0x01d51ece, 0x00adff42, 0x022deeaa, 0x00c9df47, 0x016ac5f5, 0x0211c43e, 0x0186ed9f, 0x0035ac1d}}, Y: Field{[10]uint32{0x009c5326, 0x03a0fd7c, 0x03c9c75b, 0x007b4b88, 0x022f7904, 0x038fe8a4, 0x02f0d0d5, 0x01573d2b, 0x00b4ce56, 0x0036ad35}}}, + {X: Field{[10]uint32{0x02f4d647, 0x01c89ec3, 0x0000fb85, 0x00cd136a, 0x009e661d, 0x001e560d, 0x03a09219, 0x00fb7fcc, 0x033360a0, 0x0029c82d}}, Y: Field{[10]uint32{0x0084ea63, 0x01702d52, 0x035b11bb, 0x03fef513, 0x0313d79d, 0x003d219f, 0x037e3a5a, 0x00b60980, 0x006a721c, 0x0007c84f}}}, + {X: Field{[10]uint32{0x033a5ff7, 0x01a73b07, 0x030ac95a, 0x028b2806, 0x01b39f9b, 0x0167741d, 0x03db862e, 0x031b19c5, 0x02983b03, 0x00156295}}, Y: Field{[10]uint32{0x00ffb1a4, 0x0331b1f5, 0x0155792e, 0x01a621ff, 0x00fe3ae8, 0x00117f18, 0x0338458a, 0x02da2c85, 0x0352db21, 0x001f81f1}}}, + {X: Field{[10]uint32{0x00e14ca4, 0x02d55404, 0x002639ca, 0x035fe35b, 0x02a7c2d9, 0x00474382, 0x0329941f, 0x01a2a314, 0x03c32786, 0x002e49f7}}, Y: Field{[10]uint32{0x0323388c, 0x01e570ad, 0x035524b8, 0x0152666b, 0x0172f4d8, 0x01dc1489, 0x020e35f7, 0x0089eed0, 0x03259954, 0x000f3a0d}}}, + {X: Field{[10]uint32{0x030e6da8, 0x0263b313, 0x0016513f, 0x00719470, 0x003c35f7, 0x02d568dd, 0x0223ed5a, 0x02bfd623, 0x00991085, 0x000adc35}}, Y: Field{[10]uint32{0x006a8b06, 0x013c0a94, 0x025cd1a9, 0x004c72b8, 0x030a7014, 0x03609d8b, 0x03984697, 0x01727288, 0x034daa1e, 0x0037d04e}}}, + {X: Field{[10]uint32{0x01aefe56, 0x007cbbcb, 0x01144142, 0x015298b8, 0x01e1368e, 0x012e9dfa, 0x029181d9, 0x01b80266, 0x00dcf72f, 0x002e20db}}, Y: Field{[10]uint32{0x010427ce, 0x01488279, 0x00359afa, 0x02a94e53, 0x0201beec, 0x0233abad, 0x017014b6, 0x03c9b72b, 0x012f0e31, 0x00026b51}}}, + {X: Field{[10]uint32{0x00af93a7, 0x02daa031, 0x01b004dc, 0x01173643, 0x02ec66b4, 0x03cce026, 0x0388b480, 0x0388e825, 0x017b65f0, 0x00094aca}}, Y: Field{[10]uint32{0x00916838, 0x02c37898, 0x010e806c, 0x034314cd, 0x039f77c7, 0x0092962f, 0x02a3bcfc, 0x018845cd, 0x00c43c34, 0x00233138}}}, + {X: Field{[10]uint32{0x02be6330, 0x0245c737, 0x01892aad, 0x001335ca, 0x03d34f27, 0x035adef6, 0x03d5fa03, 0x03319a3b, 0x00ca1c15, 0x0027cf4c}}, Y: Field{[10]uint32{0x023211b0, 0x0188c9ec, 0x0057b386, 0x02613888, 0x01353d9b, 0x0051d85c, 0x0056974f, 0x03b9eaf0, 0x00340f95, 0x001122d9}}}, + {X: Field{[10]uint32{0x03d35e49, 0x034a614b, 0x039e66e2, 0x01793952, 0x01653b54, 0x02f1ef38, 0x00a771b5, 0x02b767fe, 0x016e5bc9, 0x00208978}}, Y: Field{[10]uint32{0x010570fa, 0x012a9d5f, 0x0212c717, 0x02774401, 0x00df836b, 0x01fc2765, 0x024e1de8, 0x028b05b2, 0x01e3aaef, 0x00189531}}}, + {X: Field{[10]uint32{0x02d02ebe, 0x01a729aa, 0x01799046, 0x019d34f1, 0x01074f47, 0x0378956c, 0x02a80b74, 0x0266c6dc, 0x02484d6e, 0x0029f73b}}, Y: Field{[10]uint32{0x01c170a7, 0x0160ee80, 0x002a42db, 0x01e231f1, 0x00785861, 0x03bdea52, 0x021f541b, 0x02407d21, 0x00fa76a2, 0x00075bc3}}}, + {X: Field{[10]uint32{0x009976b4, 0x038c57a0, 0x03d1e210, 0x00ae8e5b, 0x009a6baa, 0x00b1992e, 0x013372fd, 0x03a43a63, 0x01a85d4c, 0x002a4511}}, Y: Field{[10]uint32{0x00b1d100, 0x020e1d9e, 0x01449f1d, 0x03e539f1, 0x0072deac, 0x0365001f, 0x01d1512c, 0x01cac6d4, 0x028b99b0, 0x002b7131}}}, + {X: Field{[10]uint32{0x027ce1f1, 0x0217b88a, 0x01c79ed6, 0x02b621b3, 0x036f6ea6, 0x01443803, 0x00410963, 0x025955d7, 0x01ce907c, 0x001d18b2}}, Y: Field{[10]uint32{0x0371c7df, 0x03fe882e, 0x00f2ae67, 0x03a0ccbe, 0x0047a854, 0x02731050, 0x02df5ac7, 0x008a6710, 0x01c5f02c, 0x0013fe90}}}, + {X: Field{[10]uint32{0x00cd4f40, 0x0232a18a, 0x005065d3, 0x0112596a, 0x00dfd855, 0x029e7c8d, 0x00e36bb6, 0x0256f6be, 0x01f3dea4, 0x00350a25}}, Y: Field{[10]uint32{0x010d9cf5, 0x024ab82d, 0x01bbd59c, 0x003ea036, 0x00982171, 0x02ee121b, 0x0069b207, 0x00710b9e, 0x031813a1, 0x000bfb7a}}}, + {X: Field{[10]uint32{0x01388adc, 0x03666853, 0x01669c29, 0x01b5da99, 0x02e8291e, 0x03bd4f44, 0x03434b27, 0x01622bc4, 0x0362ce85, 0x003be6da}}, Y: Field{[10]uint32{0x03bf912f, 0x022bb826, 0x0138adb1, 0x015516da, 0x02802612, 0x024501f2, 0x0107955e, 0x03258bb6, 0x03cf9af0, 0x000567d7}}}, + {X: Field{[10]uint32{0x01bc9f32, 0x02c1b23f, 0x03f392af, 0x01f8a9a4, 0x0392877c, 0x0325abff, 0x01fb7bdb, 0x0276bf7d, 0x01a0bc65, 0x001000fc}}, Y: Field{[10]uint32{0x0161fef9, 0x0217ad5e, 0x03cc9ea6, 0x029b09c1, 0x017faeaf, 0x012fa197, 0x03f1dcb7, 0x03c2c0a3, 0x02a17458, 0x003afff2}}}, + {X: Field{[10]uint32{0x02c09a8b, 0x01c0da9a, 0x027debed, 0x03640121, 0x01aa9ae1, 0x0121bd73, 0x00786f07, 0x03614592, 0x008b6b03, 0x0010e412}}, Y: Field{[10]uint32{0x0282f07a, 0x01da98e1, 0x03d6e5dd, 0x0304a682, 0x03452001, 0x00777ce4, 0x035b88a2, 0x02d5ac70, 0x01e5a10d, 0x001e0ca7}}}, + {X: Field{[10]uint32{0x03fadea1, 0x01d019ea, 0x006b9605, 0x005be7fe, 0x016074ee, 0x037fe2d0, 0x0006c565, 0x03ed9ad8, 0x00d29ea3, 0x002b9b68}}, Y: Field{[10]uint32{0x011cdac7, 0x00cc8d30, 0x009c05ca, 0x007ae22d, 0x0229e3f0, 0x00dc1853, 0x02f0916f, 0x00a98f9d, 0x0263dd01, 0x001d32aa}}}, + {X: Field{[10]uint32{0x03cfc72a, 0x0362a1ae, 0x014fb2fa, 0x03825414, 0x02035942, 0x013a01bd, 0x00656520, 0x011c86df, 0x01df9861, 0x001e3e1e}}, Y: Field{[10]uint32{0x00281ac6, 0x014a5b4e, 0x01c68a75, 0x034e2358, 0x032318aa, 0x03ee1731, 0x03661b7f, 0x03a02fea, 0x018c478a, 0x00106539}}}, + {X: Field{[10]uint32{0x03c97e01, 0x00be5b97, 0x01d1dedd, 0x00a1ec70, 0x000352e0, 0x00e0d577, 0x00d51cc8, 0x02c31b5b, 0x03654f41, 0x00201a10}}, Y: Field{[10]uint32{0x02b62461, 0x000cfae4, 0x01c45262, 0x01f8ec79, 0x037546bc, 0x00d7ca69, 0x0141a0d0, 0x006d3878, 0x023f13c6, 0x0022c308}}}, + {X: Field{[10]uint32{0x0387466c, 0x02ce4212, 0x0301005c, 0x00d271e5, 0x02f83b59, 0x0365f42a, 0x03d11691, 0x01d7d1bb, 0x019f4fd9, 0x000a5427}}, Y: Field{[10]uint32{0x02d0da81, 0x03ae9a81, 0x038da8a0, 0x0214bab4, 0x02a33de5, 0x00d78f21, 0x00fccbe1, 0x02be5b27, 0x037569a0, 0x00051dfa}}}, + {X: Field{[10]uint32{0x031dfa4a, 0x03ffabb7, 0x0399c2d8, 0x0105bafd, 0x004e3d57, 0x00f18ea7, 0x01532fe3, 0x01c8bc30, 0x00433d9c, 0x00064745}}, Y: Field{[10]uint32{0x003a2cd8, 0x012d375c, 0x01706eae, 0x02d997b2, 0x01a5e3c7, 0x006213bb, 0x01ecf839, 0x01c6b5d1, 0x0009b6b5, 0x0016f401}}}, + {X: Field{[10]uint32{0x030155a8, 0x022c5646, 0x001e1ebf, 0x0078f6c8, 0x02a50f0e, 0x03aa0afc, 0x02d65afe, 0x0205a17b, 0x002ed273, 0x000a10f5}}, Y: Field{[10]uint32{0x03c63ee8, 0x01f4246e, 0x02f98ff8, 0x02e02669, 0x0177edaf, 0x00cb2c89, 0x03e6e2c2, 0x027d4ed1, 0x0266c0fa, 0x00201f3a}}}, + {X: Field{[10]uint32{0x03c8f644, 0x014ef44a, 0x000184d6, 0x00b5145b, 0x00e96ed0, 0x03a084be, 0x007514b8, 0x034dbd4d, 0x03b09656, 0x00155a2d}}, Y: Field{[10]uint32{0x00e60d87, 0x03618e14, 0x009118b2, 0x026e904a, 0x02496045, 0x03a8d901, 0x03da30d7, 0x01b710fe, 0x03a65483, 0x0016d13a}}}, + {X: Field{[10]uint32{0x0145e803, 0x023b17ac, 0x03d6e5f3, 0x008701cf, 0x004a7dd4, 0x0256ccbe, 0x00d81ab5, 0x01129a7a, 0x00e0809e, 0x0016e138}}, Y: Field{[10]uint32{0x0113d398, 0x00f4fbeb, 0x00243cb4, 0x0303fa4d, 0x017e6109, 0x0390c455, 0x03a1522a, 0x0073b5cb, 0x02d0fa79, 0x00069968}}}, + {X: Field{[10]uint32{0x02dfa672, 0x02993aaf, 0x00ede900, 0x010a4b32, 0x00675ba8, 0x0234ca44, 0x021519a1, 0x0041c51f, 0x016bdd24, 0x003bd0b1}}, Y: Field{[10]uint32{0x03ff75ac, 0x01ef34e2, 0x00e3cc9e, 0x0288c51d, 0x0326a618, 0x02b76fda, 0x01e0c254, 0x0265dd84, 0x03473335, 0x001c0545}}}, + {X: Field{[10]uint32{0x0256eb63, 0x01f04a55, 0x0294c92b, 0x03b21fab, 0x00adc653, 0x02c5056d, 0x026ed003, 0x0129592f, 0x02dcb50d, 0x001237fc}}, Y: Field{[10]uint32{0x01643928, 0x01982063, 0x036b5f0f, 0x00f7dc07, 0x02fa29e6, 0x02feb550, 0x03c59e98, 0x03b3dbc2, 0x03fb53af, 0x002a6fa5}}}, + {X: Field{[10]uint32{0x02e938d4, 0x00793ed2, 0x00337f88, 0x035067f7, 0x00d1923b, 0x008ac263, 0x009a2dfc, 0x0345d043, 0x00f5246a, 0x0019cba4}}, Y: Field{[10]uint32{0x01781f19, 0x028a2e68, 0x02c9e97a, 0x0091585f, 0x02f331b6, 0x00797c27, 0x03e678b3, 0x01b6da20, 0x03801fda, 0x001cff4c}}}, + {X: Field{[10]uint32{0x03315cde, 0x032dd852, 0x03723ee7, 0x008529f2, 0x02dbfe55, 0x01770577, 0x01e094a9, 0x02067242, 0x01b171fb, 0x0016736e}}, Y: Field{[10]uint32{0x008351a2, 0x036c06fa, 0x00a187a6, 0x03679243, 0x017f2d38, 0x00208027, 0x033f8e73, 0x01298fb3, 0x0212670b, 0x000156b0}}}, + {X: Field{[10]uint32{0x012ddb18, 0x004237ab, 0x028f0043, 0x020a3873, 0x006b827f, 0x02666531, 0x00db879b, 0x0162ac4d, 0x010a357a, 0x001738e3}}, Y: Field{[10]uint32{0x0397f716, 0x0285364e, 0x009c1745, 0x019c4227, 0x0394748c, 0x036f3146, 0x0384b33d, 0x0361bb0b, 0x0202d9c1, 0x0017a058}}}, + {X: Field{[10]uint32{0x0398afda, 0x012846d4, 0x028c8282, 0x016b41c4, 0x02c1a74d, 0x02dabe49, 0x0227a940, 0x03eeeec3, 0x016a7466, 0x00326086}}, Y: Field{[10]uint32{0x00901f55, 0x0058df54, 0x006b6f00, 0x00953915, 0x032d8fb9, 0x00704cf6, 0x00e6448a, 0x00e2bee7, 0x01eae644, 0x001ea47e}}}, + {X: Field{[10]uint32{0x039ec818, 0x03d4ca60, 0x03d31725, 0x030a0f20, 0x0360bfbc, 0x01e5b403, 0x0281d297, 0x006fb372, 0x008479e6, 0x000e0f2c}}, Y: Field{[10]uint32{0x01dec91e, 0x028643de, 0x004ffdb1, 0x009ab619, 0x010bbc34, 0x0057cd36, 0x01e04980, 0x0224ce2f, 0x03a24900, 0x0009b89b}}}, + {X: Field{[10]uint32{0x002f612b, 0x03293f44, 0x00550248, 0x026dab21, 0x0328b88c, 0x01200477, 0x0117b524, 0x03c529c6, 0x03312ad4, 0x0039a515}}, Y: Field{[10]uint32{0x0176f53d, 0x030ce193, 0x0089c1b1, 0x01be5c1a, 0x00c81cc8, 0x027ac2d1, 0x03edddac, 0x01c0797a, 0x008251fc, 0x000c3b48}}}, + {X: Field{[10]uint32{0x039976f7, 0x00f131ae, 0x018a7f28, 0x03c893e9, 0x01250809, 0x0098a9ca, 0x02168d21, 0x024d4884, 0x01ba8f79, 0x000b401c}}, Y: Field{[10]uint32{0x031dfd8b, 0x00ac05d7, 0x01b03c87, 0x03c695c2, 0x01ccc118, 0x020001e7, 0x01455440, 0x01cfc45a, 0x01014e48, 0x0033729a}}}, + {X: Field{[10]uint32{0x001e927e, 0x0123c880, 0x017898d7, 0x02c210df, 0x01da35c2, 0x01e61dee, 0x00f35f06, 0x013efe47, 0x005765b7, 0x00320ae5}}, Y: Field{[10]uint32{0x005fd6a2, 0x00f67c81, 0x0133d931, 0x00a8e6c5, 0x03b57a0f, 0x02ab23c1, 0x0057dae9, 0x01aff1f8, 0x01d10bb0, 0x000b9413}}}, + {X: Field{[10]uint32{0x01bbf0a6, 0x02d8ca1d, 0x0022763c, 0x028bece9, 0x012654ed, 0x01cdf746, 0x01135ede, 0x0086a7fb, 0x002e7eac, 0x00270693}}, Y: Field{[10]uint32{0x00e9197f, 0x0023bf84, 0x02e60200, 0x011ba768, 0x0280eb66, 0x02ded681, 0x02c91289, 0x00716089, 0x036c12f7, 0x003cc4d2}}}, + {X: Field{[10]uint32{0x016c9b28, 0x02b09fa3, 0x0353b6a2, 0x00d8b55d, 0x019b170a, 0x0202df3e, 0x00bd645e, 0x00c88bb6, 0x019bbc69, 0x0025c74f}}, Y: Field{[10]uint32{0x01d22e2e, 0x00dbdfe4, 0x0098080a, 0x00cfce16, 0x01e20394, 0x03f17a1b, 0x00a73af7, 0x0370b1b1, 0x009ae296, 0x000358f5}}}, + {X: Field{[10]uint32{0x03917d2b, 0x0200bea2, 0x0023fa67, 0x01eafd6b, 0x01660a31, 0x00186781, 0x0329f2ae, 0x0045448f, 0x027386bc, 0x003d524e}}, Y: Field{[10]uint32{0x01e0f1d7, 0x008c1b99, 0x03e23964, 0x000a004c, 0x0138455e, 0x0109ee2d, 0x0305157b, 0x0014c0ac, 0x00cb8b78, 0x0039ab6f}}}, + {X: Field{[10]uint32{0x01b6e014, 0x00154de6, 0x006dadde, 0x03f502ce, 0x01763244, 0x03af78ab, 0x017a3215, 0x00282b92, 0x023e500e, 0x0020c7c4}}, Y: Field{[10]uint32{0x03221d6c, 0x01c67232, 0x03950f44, 0x002a76da, 0x01ac04af, 0x03bbd7be, 0x02fa508c, 0x0222b154, 0x00622ff5, 0x000d585a}}}, + {X: Field{[10]uint32{0x017cfb35, 0x00a321e2, 0x02975f17, 0x008a63a4, 0x027a338c, 0x03bce175, 0x014c3342, 0x011d30ce, 0x006d0018, 0x0026e338}}, Y: Field{[10]uint32{0x02a40d72, 0x033a8150, 0x0331d712, 0x015e928d, 0x0307ce87, 0x007d4dd1, 0x01a50c4c, 0x00f811f3, 0x0220b8dc, 0x001da500}}}, + {X: Field{[10]uint32{0x03c5b855, 0x004de9cf, 0x027cb1e8, 0x02b437fe, 0x0014f06c, 0x00afcf85, 0x01724104, 0x00af2580, 0x016ba98d, 0x003dc2a4}}, Y: Field{[10]uint32{0x000275a2, 0x023ffeca, 0x0023fff9, 0x02110f10, 0x03b5426d, 0x025ea23c, 0x01a3fbe9, 0x0225bfce, 0x01f470d7, 0x003c6e30}}}, + {X: Field{[10]uint32{0x00763d56, 0x014abeb0, 0x0259992d, 0x0027f653, 0x01a64d69, 0x03d88741, 0x02836612, 0x01ff92ac, 0x03bbc44e, 0x000b4aad}}, Y: Field{[10]uint32{0x015328e8, 0x034cb331, 0x0328ae57, 0x02bcd815, 0x03c5fec8, 0x02d870b4, 0x03e044e8, 0x024721a3, 0x02002a69, 0x0014d143}}}, + {X: Field{[10]uint32{0x00d10005, 0x02e751bd, 0x018f3dc9, 0x03157601, 0x03321ff7, 0x02a44c55, 0x025423f3, 0x025e33a8, 0x02b8c516, 0x00205e37}}, Y: Field{[10]uint32{0x016ff4bc, 0x00efeda3, 0x02bfb598, 0x011a89ad, 0x01f9c001, 0x00d4926f, 0x02e6a282, 0x034c0fd2, 0x032b46c9, 0x0005a9c6}}}, + {X: Field{[10]uint32{0x02b56a64, 0x01a9a48d, 0x0301126e, 0x03285800, 0x0001f700, 0x03756650, 0x02f9c32a, 0x02e9f99f, 0x0376d012, 0x002d1c2e}}, Y: Field{[10]uint32{0x014fd95c, 0x03089c98, 0x03a6927c, 0x020a8bef, 0x031775f0, 0x02349a61, 0x01f36f15, 0x0261861c, 0x03e07d17, 0x003df424}}}, + {X: Field{[10]uint32{0x02de29ce, 0x01c4cff8, 0x03f78fe1, 0x0084736c, 0x01d3a899, 0x003c0850, 0x0348eb33, 0x02b04866, 0x02ba837c, 0x000593ca}}, Y: Field{[10]uint32{0x031d28dc, 0x01d8dd21, 0x011972c0, 0x01419a49, 0x02c2837c, 0x02e08701, 0x01ec79e0, 0x0340d12a, 0x020895f7, 0x000ef015}}}, + {X: Field{[10]uint32{0x02e725f4, 0x027fb144, 0x02283ec5, 0x03aa20f8, 0x01e6a210, 0x0172ee27, 0x012268b3, 0x01b4bbd4, 0x020402a8, 0x0031de8e}}, Y: Field{[10]uint32{0x031cfba2, 0x027bb704, 0x029148dc, 0x03896d27, 0x036d1db4, 0x03b580ac, 0x007e5928, 0x0281ff96, 0x016bedf1, 0x000baf35}}}, + {X: Field{[10]uint32{0x03b11349, 0x02b4cd40, 0x00e9f060, 0x0010368e, 0x0011df55, 0x0071aafa, 0x03a3f1d7, 0x033dc555, 0x03a1f714, 0x00038b7b}}, Y: Field{[10]uint32{0x0045f229, 0x02d516b8, 0x0354bd88, 0x0368ee6a, 0x000c5107, 0x0195f651, 0x001912ea, 0x02ef1cbd, 0x03037a53, 0x0017b590}}}, + {X: Field{[10]uint32{0x02313e3c, 0x004910ed, 0x017b2d21, 0x03a73075, 0x0335280c, 0x0290cc2b, 0x03fca1e5, 0x02793058, 0x02cbb4cd, 0x003b8b44}}, Y: Field{[10]uint32{0x02153262, 0x02488ebb, 0x02f0849f, 0x01bf752e, 0x024057fb, 0x03ffeda5, 0x00ecafab, 0x01f1960e, 0x01c1a437, 0x0038a2c7}}}, + {X: Field{[10]uint32{0x019e28bd, 0x0095b59f, 0x0067c78f, 0x011489c5, 0x01a2109b, 0x016f9f0f, 0x0039c34f, 0x037b2bcf, 0x009673e6, 0x00010e4b}}, Y: Field{[10]uint32{0x00110c50, 0x00aa2180, 0x006fd590, 0x035f43d0, 0x00747d63, 0x010e9aed, 0x009edd53, 0x0094cec1, 0x0183ae35, 0x001ff930}}}, + {X: Field{[10]uint32{0x020d6960, 0x03fcc702, 0x017a6712, 0x02cbe046, 0x020f5586, 0x00023d26, 0x02655f16, 0x01d2b64e, 0x02ee1673, 0x00165cb8}}, Y: Field{[10]uint32{0x037c71d6, 0x037b069b, 0x00847bc3, 0x03f1f024, 0x02779343, 0x0240ef5c, 0x02e485ad, 0x01f1d228, 0x0055d0a5, 0x001b5c3f}}}, + {X: Field{[10]uint32{0x002c78aa, 0x0226bc0c, 0x03c19855, 0x00690038, 0x02a180f3, 0x02795d9a, 0x01f1faa2, 0x000c5622, 0x000afc2c, 0x002a1760}}, Y: Field{[10]uint32{0x017ec85e, 0x022c036e, 0x032a508f, 0x01e94b74, 0x02ff5aca, 0x00a196de, 0x0037b419, 0x01da8291, 0x03f4903c, 0x001d0a75}}}, + {X: Field{[10]uint32{0x01f1c245, 0x0215a7e9, 0x01cdc954, 0x00e1c9d6, 0x02ccee3f, 0x035418e1, 0x009e85d7, 0x013f326a, 0x030f0d59, 0x003260da}}, Y: Field{[10]uint32{0x0094fac0, 0x02dc20b4, 0x031ed943, 0x03166ed0, 0x03bed1c2, 0x035c59c9, 0x01a7d06f, 0x03fb58bc, 0x012693b7, 0x0027c2c6}}}, + {X: Field{[10]uint32{0x0202bd3b, 0x032b9ff4, 0x0222b588, 0x0106b991, 0x0375f2c4, 0x03658c64, 0x0348e5f6, 0x01195340, 0x00fdb2b8, 0x00328861}}, Y: Field{[10]uint32{0x026a4de9, 0x013c3f5c, 0x0162683c, 0x03207d9c, 0x01e2563c, 0x03a5ca6e, 0x013dbb2f, 0x01eab012, 0x00203d65, 0x0034488a}}}, + {X: Field{[10]uint32{0x02941fd8, 0x00b9814d, 0x0066b44a, 0x03331e93, 0x02b5dea0, 0x00181755, 0x03627048, 0x02599021, 0x01c63c9b, 0x00278145}}, Y: Field{[10]uint32{0x00be831a, 0x02c87255, 0x01e506d4, 0x018845fb, 0x0295f0b7, 0x036e8187, 0x02f789e2, 0x00b61abf, 0x0224a2eb, 0x000a778c}}}, + {X: Field{[10]uint32{0x035dc1cc, 0x023c002b, 0x02f6053a, 0x03694759, 0x018a3447, 0x0297cf5e, 0x022cf7af, 0x00e9fc30, 0x00253320, 0x0010810b}}, Y: Field{[10]uint32{0x01e6c05a, 0x022369fd, 0x03d9dff6, 0x007587dc, 0x03c54f3c, 0x02f04f44, 0x01420d50, 0x00e1c8c5, 0x027a6d6c, 0x003c1d69}}}, + {X: Field{[10]uint32{0x02295b96, 0x0259f1c4, 0x031bccd3, 0x032a6b90, 0x023f5a68, 0x0222557f, 0x0084ffd2, 0x000af916, 0x01bd4eab, 0x00199168}}, Y: Field{[10]uint32{0x0384cfad, 0x033344ae, 0x00b6730c, 0x01949014, 0x00bf9028, 0x003a4b13, 0x02d4b30f, 0x013b50a3, 0x01f91d26, 0x0008c7de}}}, + {X: Field{[10]uint32{0x00b32f9f, 0x0347ba35, 0x0075f30b, 0x02a21c3d, 0x036898f3, 0x0161f78d, 0x01482ab1, 0x01ba208c, 0x026d2c31, 0x00138a07}}, Y: Field{[10]uint32{0x0065602c, 0x03dd6070, 0x0091011e, 0x0357cdf9, 0x02c3f708, 0x03770d05, 0x0378062c, 0x027b7797, 0x01c81c11, 0x003d232b}}}, + {X: Field{[10]uint32{0x02af5136, 0x0153bc12, 0x00e02fcd, 0x034f90cb, 0x034fbaf7, 0x01e99880, 0x03c7ffbc, 0x007a7fc4, 0x001496e4, 0x001dc8d9}}, Y: Field{[10]uint32{0x002dd218, 0x020c1d09, 0x0328c800, 0x028195fc, 0x0398bec7, 0x00003da5, 0x00b4bf29, 0x03007bed, 0x01740d6c, 0x00088b80}}}, + {X: Field{[10]uint32{0x01d45860, 0x00765dc3, 0x02bddaf3, 0x027fded7, 0x0018ab00, 0x00488610, 0x026070cb, 0x01e166b6, 0x004c8d46, 0x000fcadc}}, Y: Field{[10]uint32{0x034dd88a, 0x03ebaa0e, 0x02a9fb59, 0x022ff417, 0x03e2b6ab, 0x035868b7, 0x038dd215, 0x03ad7a30, 0x03a5146a, 0x00291c59}}}, + {X: Field{[10]uint32{0x00ad4146, 0x02e7a4bb, 0x01b51640, 0x0342b931, 0x0384b3ac, 0x017e60f6, 0x03b70f03, 0x036044ba, 0x0130d243, 0x001e53b0}}, Y: Field{[10]uint32{0x007be84d, 0x01ddeab4, 0x01e71c80, 0x03576303, 0x00658f2d, 0x00debbd7, 0x00a537f9, 0x0171f3bb, 0x00be95c2, 0x00127b7b}}}, + {X: Field{[10]uint32{0x01a96aa3, 0x03258525, 0x023ba808, 0x0335ba7f, 0x0149c554, 0x01ec702c, 0x0304cf4a, 0x0384ade6, 0x01ece363, 0x001d43fe}}, Y: Field{[10]uint32{0x021d59a9, 0x00540bde, 0x02dfb2de, 0x02fc7931, 0x022d4474, 0x028182d0, 0x0270f149, 0x028fb7d3, 0x029dd1c5, 0x00168a09}}}, + {X: Field{[10]uint32{0x026272cf, 0x017ecaad, 0x00169633, 0x00b26dfd, 0x02263b08, 0x0344a518, 0x02c9ec1f, 0x01a3b2e5, 0x01d7df66, 0x00359701}}, Y: Field{[10]uint32{0x02188839, 0x02e93c37, 0x03c37891, 0x0019acbd, 0x017e48be, 0x031dff6b, 0x02cc5b7f, 0x0350b490, 0x00c51c10, 0x00035dca}}}, + {X: Field{[10]uint32{0x015190c3, 0x016fbd56, 0x012f6122, 0x00e5ca8f, 0x02aecffe, 0x036e685c, 0x039d2700, 0x03a7a6d6, 0x00b68cb2, 0x0034e013}}, Y: Field{[10]uint32{0x01e30d5e, 0x03091c6d, 0x01613482, 0x00f9bfc3, 0x00287902, 0x01814d0a, 0x02f41314, 0x01922cc2, 0x010c9568, 0x00047ecd}}}, + {X: Field{[10]uint32{0x00351bf6, 0x03a7a11c, 0x01b3db34, 0x0104441b, 0x036a9382, 0x03b3e34d, 0x0095c619, 0x00d27db3, 0x022635c6, 0x003dd8b7}}, Y: Field{[10]uint32{0x009fd814, 0x03702eaf, 0x0010b1ca, 0x00b4fa21, 0x000ccfe2, 0x026444b9, 0x013352da, 0x003e7b9d, 0x01e0c8a5, 0x003719fe}}}, + {X: Field{[10]uint32{0x03b87a71, 0x0395d9d4, 0x00e7dac5, 0x03baea1f, 0x03d7dcec, 0x005f8e49, 0x02e163ed, 0x03fd2c5f, 0x00bfa827, 0x002ac62d}}, Y: Field{[10]uint32{0x030da919, 0x03aa6e4a, 0x01ed5b57, 0x00734ac7, 0x0229706d, 0x01341fdc, 0x002bc09c, 0x00249b22, 0x03d573e4, 0x001b6e0e}}}, + {X: Field{[10]uint32{0x0198c95e, 0x0199a540, 0x02d8bf5c, 0x02b63d8e, 0x02b12478, 0x0116588a, 0x0343a870, 0x006ba368, 0x0248fec2, 0x003dd530}}, Y: Field{[10]uint32{0x0052b1bd, 0x009e6498, 0x02e5293b, 0x01e8caee, 0x00e056ca, 0x03d511dd, 0x008d8e67, 0x021ddae1, 0x02a25f9c, 0x000b3edd}}}, + {X: Field{[10]uint32{0x0246c51c, 0x018b53e6, 0x008e2c24, 0x030c4d07, 0x02103516, 0x005af285, 0x013ecdb7, 0x001e63e2, 0x033e3c3f, 0x003e3651}}, Y: Field{[10]uint32{0x03924e02, 0x016fa4b5, 0x006869e0, 0x00ef846d, 0x015c53bd, 0x01d51e0d, 0x03314dac, 0x03f8e89a, 0x025fa422, 0x00157c01}}}, + {X: Field{[10]uint32{0x014eb741, 0x0341435d, 0x00395352, 0x02d2fef1, 0x012f7c5a, 0x02ca7f6a, 0x035fa225, 0x032f2269, 0x0142d294, 0x000218e6}}, Y: Field{[10]uint32{0x03d11e4d, 0x02762a79, 0x01c29677, 0x020d32e0, 0x03741da8, 0x02cfb5f3, 0x0179abdd, 0x038d68db, 0x022a445d, 0x000e44fa}}}, + {X: Field{[10]uint32{0x0395d5c2, 0x03469e2e, 0x02c61794, 0x020820eb, 0x02068572, 0x0169c6d2, 0x0319230b, 0x00e22fc5, 0x006c706a, 0x000a9623}}, Y: Field{[10]uint32{0x00c47592, 0x010b12db, 0x01b00968, 0x02bafeec, 0x0361f458, 0x01f847e5, 0x007f07ea, 0x03db6590, 0x01771a56, 0x002bc97b}}}, + {X: Field{[10]uint32{0x020a0cb6, 0x03a35500, 0x01fe337e, 0x005c08b8, 0x00a54597, 0x02697b6c, 0x02dba4ad, 0x02e6a2c9, 0x01ee8931, 0x0004def4}}, Y: Field{[10]uint32{0x03ceea62, 0x01228c05, 0x00b7ff58, 0x01788455, 0x01eaea10, 0x021f5da8, 0x03e9f0ee, 0x031df49c, 0x037b8197, 0x00337a7e}}}, + {X: Field{[10]uint32{0x02de2bbf, 0x02ef8cb4, 0x03b48d21, 0x03aa8782, 0x020f9b5f, 0x00ebcb0a, 0x01523711, 0x00c4f25c, 0x0345c686, 0x00119600}}, Y: Field{[10]uint32{0x0092ef64, 0x02a3ba7b, 0x030510a3, 0x023a85ae, 0x027edade, 0x019bd30a, 0x03bc79db, 0x027fecaf, 0x017bb632, 0x001d6f17}}}, + {X: Field{[10]uint32{0x011bd233, 0x017bd90e, 0x02a8556d, 0x03586ca0, 0x0102ef93, 0x009abd51, 0x02fc491c, 0x016b3660, 0x0252afaf, 0x00128524}}, Y: Field{[10]uint32{0x00cfe285, 0x00f5e3d8, 0x0259a3b5, 0x03f16897, 0x03bb9e83, 0x018fd752, 0x0256ea38, 0x016d8259, 0x00bc10b5, 0x003ef040}}}, + {X: Field{[10]uint32{0x01a01f18, 0x03e4bc85, 0x013faad0, 0x0225f65d, 0x0395bdf0, 0x011d7592, 0x00251313, 0x033e3c38, 0x01a6fc0b, 0x002253af}}, Y: Field{[10]uint32{0x035ec056, 0x0389b3d7, 0x003779fa, 0x000b8a65, 0x001e4ede, 0x01f4deb8, 0x01d02519, 0x01cb3f1a, 0x01501557, 0x002c97cc}}}, + {X: Field{[10]uint32{0x01eb032e, 0x029bab91, 0x0285a3c2, 0x029be796, 0x002deedc, 0x03f5c82b, 0x01ef1b2b, 0x02e244c3, 0x02930a91, 0x0039c362}}, Y: Field{[10]uint32{0x00d9f9cc, 0x03f7c453, 0x01b0a693, 0x02061e28, 0x02fe1026, 0x024472c0, 0x03b96ea4, 0x03fdad17, 0x0253a3b0, 0x002f4ebb}}}, + {X: Field{[10]uint32{0x02b36852, 0x0117eed3, 0x0047eeb2, 0x00fc4d75, 0x02118988, 0x02551ada, 0x016765bf, 0x02c77528, 0x01c3e5cc, 0x001f2c7f}}, Y: Field{[10]uint32{0x03ca582d, 0x0238b2a3, 0x014e0196, 0x0022a3fb, 0x00d18890, 0x0176fc96, 0x00edbe17, 0x017fdee0, 0x00d6becf, 0x000243b8}}}, + {X: Field{[10]uint32{0x03b9bfc1, 0x02fef0a1, 0x00685bf9, 0x0340c484, 0x00b39f57, 0x00cae416, 0x0090a214, 0x03685e3f, 0x02d80331, 0x001449e2}}, Y: Field{[10]uint32{0x03a66b6f, 0x03773a74, 0x00040536, 0x0387dd6f, 0x017bc1f9, 0x00976cf9, 0x03ad759b, 0x0399e230, 0x0147f39c, 0x00016abd}}}, + {X: Field{[10]uint32{0x00f59cdd, 0x03a64115, 0x036cee9f, 0x00215389, 0x030fee50, 0x00bf3c3c, 0x03563082, 0x00c1a122, 0x021fc52b, 0x003c3baa}}, Y: Field{[10]uint32{0x02124f02, 0x02ecb27c, 0x02e63ab3, 0x03ea0460, 0x00d51cf7, 0x02befacc, 0x01e5e016, 0x01c2f7ad, 0x009b944d, 0x000243fe}}}, + {X: Field{[10]uint32{0x03aeea71, 0x0376dac0, 0x01df6648, 0x02bc94ad, 0x00df5b4c, 0x01ed4700, 0x03670c22, 0x003f4984, 0x03f28bf9, 0x000dbf26}}, Y: Field{[10]uint32{0x03836683, 0x0038e8f9, 0x0075e13d, 0x031a7f64, 0x03d975ec, 0x0376eef9, 0x02c81614, 0x01b0a181, 0x0076f1ac, 0x00221f0e}}}, + {X: Field{[10]uint32{0x0391b68b, 0x037caa26, 0x03acdba4, 0x02757996, 0x02135c54, 0x030a7d8b, 0x00d2d041, 0x010db385, 0x026b0cf9, 0x001b8c78}}, Y: Field{[10]uint32{0x00d0e7ae, 0x0258622b, 0x01a85858, 0x021f426a, 0x0194c1af, 0x029de2cc, 0x037d9f77, 0x02f6aad7, 0x02849e63, 0x00008e25}}}, + {X: Field{[10]uint32{0x0198e864, 0x02499c87, 0x02eac357, 0x03613dd0, 0x003da9fa, 0x02b4cea8, 0x02a8a1ce, 0x030afeb1, 0x0249a4b1, 0x00314111}}, Y: Field{[10]uint32{0x03a1027b, 0x02c80769, 0x000af537, 0x0136e350, 0x0345fdc8, 0x0330450e, 0x03d13270, 0x025aedc5, 0x02d283e6, 0x001b4980}}}, + {X: Field{[10]uint32{0x0299ca28, 0x02013b1a, 0x011e6eca, 0x01331148, 0x03b9b2e8, 0x016801ee, 0x028e963b, 0x011356f6, 0x0271f13c, 0x0002a4cf}}, Y: Field{[10]uint32{0x02200faa, 0x003d967d, 0x014f5c1c, 0x01e55084, 0x00c3ce02, 0x00750bf7, 0x01712073, 0x038bdb99, 0x03bcec45, 0x0024c6fc}}}, + {X: Field{[10]uint32{0x00e4a58b, 0x037d977e, 0x021aa83a, 0x0342c4ca, 0x030b8559, 0x0045c0e2, 0x0298884e, 0x00b5886e, 0x021d840c, 0x002400fd}}, Y: Field{[10]uint32{0x00d30895, 0x03d5b73a, 0x01532b67, 0x02b1cd8c, 0x001388a1, 0x02e89a15, 0x02b7ecec, 0x00e54a7f, 0x0124f72b, 0x001431d4}}}, + {X: Field{[10]uint32{0x02a0a886, 0x02df0df2, 0x022c533f, 0x02a7a7cf, 0x02914e21, 0x005ca069, 0x038abdfc, 0x01c33218, 0x00183cb3, 0x003f201f}}, Y: Field{[10]uint32{0x00af00ba, 0x009286fa, 0x02cdee9d, 0x0341ae34, 0x021ccf6f, 0x03559095, 0x02f72639, 0x00756ea6, 0x013e75ac, 0x000eb1e7}}}, + {X: Field{[10]uint32{0x03ee9cbd, 0x024f33b7, 0x033c1862, 0x02b9f901, 0x03cd780d, 0x0142f352, 0x03b608f1, 0x02b08ed0, 0x02e4aca4, 0x000f41ca}}, Y: Field{[10]uint32{0x0265d9b6, 0x0355749f, 0x0385792f, 0x00519f68, 0x03f9c604, 0x00235d89, 0x00fc5630, 0x0327e2a6, 0x0043f721, 0x0001b679}}}, + {X: Field{[10]uint32{0x03f80dc0, 0x02aaf669, 0x01d3d106, 0x02f1eb2c, 0x03ba6e26, 0x008bebe2, 0x03c5eed5, 0x02d29f4a, 0x01947061, 0x003432e1}}, Y: Field{[10]uint32{0x03012e0a, 0x00e791de, 0x0092c9b7, 0x03c507c2, 0x038d7562, 0x006a61da, 0x0107b82d, 0x03730680, 0x0326e9d0, 0x003eff43}}}, + {X: Field{[10]uint32{0x035bc9fd, 0x01b496d8, 0x02e3241a, 0x02b090b3, 0x00267aad, 0x01c88730, 0x019f46cc, 0x03191079, 0x00ab6416, 0x00393b70}}, Y: Field{[10]uint32{0x03cdc71e, 0x0307f0d3, 0x02964b84, 0x01382ec1, 0x01c496fd, 0x020201f4, 0x00344829, 0x02d31012, 0x02e9cea7, 0x003d070e}}}, + {X: Field{[10]uint32{0x017eb4b2, 0x034caaf7, 0x01271557, 0x01046c2d, 0x02ffb806, 0x012f83d7, 0x01a83c88, 0x0244063d, 0x010b2d3d, 0x00188ced}}, Y: Field{[10]uint32{0x015dbcc5, 0x007bc661, 0x00399791, 0x00af7690, 0x01034a3a, 0x00a1622c, 0x030f21e3, 0x00ab095d, 0x0124ffdd, 0x00237eab}}}, + {X: Field{[10]uint32{0x02a19ab5, 0x012df714, 0x015df943, 0x017af78a, 0x03c427e6, 0x03a607da, 0x034e5447, 0x0197889e, 0x0162e272, 0x001b2800}}, Y: Field{[10]uint32{0x0154cce1, 0x015f9944, 0x03a5ce0f, 0x00583854, 0x03223e89, 0x02aece81, 0x03fe297b, 0x009f8290, 0x0363a8f2, 0x0034cfd7}}}, + {X: Field{[10]uint32{0x02fefcfc, 0x02199b8d, 0x005b3cd6, 0x024a2d84, 0x02d6c9d9, 0x0339f2c5, 0x01328ae7, 0x02357703, 0x01aa5d2a, 0x00300481}}, Y: Field{[10]uint32{0x02831d3e, 0x00061643, 0x03b453ad, 0x02affea6, 0x02cf2988, 0x02be2e9f, 0x03d6f6f6, 0x02025786, 0x0399c4f4, 0x002d9797}}}, + {X: Field{[10]uint32{0x02e0e155, 0x02de34b6, 0x00abb4e0, 0x025d29b1, 0x0107b8a5, 0x020143ce, 0x016fb195, 0x01a32d87, 0x03930e62, 0x0038e594}}, Y: Field{[10]uint32{0x00731737, 0x00a26fe0, 0x00828a2f, 0x02973683, 0x003f971f, 0x014e0ecb, 0x00048928, 0x03876460, 0x01462ed6, 0x0007de2b}}}, + {X: Field{[10]uint32{0x00b099ce, 0x0120889b, 0x004f8012, 0x03e142f6, 0x013dc03a, 0x03f6643f, 0x010c1a69, 0x02750c01, 0x00f3702a, 0x0009eff4}}, Y: Field{[10]uint32{0x00643de8, 0x0306c72f, 0x00f390fe, 0x03c36425, 0x00c49fd3, 0x0102f9f0, 0x030c0bce, 0x02baf466, 0x0360e8ca, 0x0008b85a}}}, + {X: Field{[10]uint32{0x0396a2f0, 0x0020281b, 0x023c6cbf, 0x00b1bdd7, 0x012a3717, 0x00a65ea2, 0x02c17771, 0x0255967b, 0x03c02331, 0x0020843e}}, Y: Field{[10]uint32{0x02afee8d, 0x03aa4791, 0x0109716d, 0x0095b469, 0x03bfacbb, 0x01787bac, 0x011d5528, 0x019b2eec, 0x03921011, 0x0007775d}}}, + {X: Field{[10]uint32{0x02347b5e, 0x034869d3, 0x03ab089c, 0x0197e2fb, 0x00ae4d50, 0x0178bfe0, 0x015298a2, 0x02f6037c, 0x02b65fcb, 0x00057319}}, Y: Field{[10]uint32{0x03937c97, 0x02b34c81, 0x0334b6dd, 0x00d1223e, 0x007b225b, 0x01585b4a, 0x03324c9f, 0x020a5b7a, 0x03e93574, 0x002512d1}}}, + {X: Field{[10]uint32{0x00c97976, 0x0006b825, 0x02c4bff8, 0x03f1c9b0, 0x02c7bb08, 0x0279b0d7, 0x021a482a, 0x0005a47a, 0x02a24596, 0x003adede}}, Y: Field{[10]uint32{0x02d1b1f6, 0x008fe08b, 0x003f227c, 0x01380413, 0x02f5596f, 0x00fc195a, 0x03d20e90, 0x01de47f2, 0x0170cc18, 0x00134ba5}}}, + {X: Field{[10]uint32{0x029ba12c, 0x0039f7d7, 0x01ea15fb, 0x001ad029, 0x0118e7c1, 0x025aa11a, 0x02436e09, 0x03a11308, 0x02fced29, 0x0011663e}}, Y: Field{[10]uint32{0x035e6093, 0x0388a3fc, 0x016297dc, 0x015796c2, 0x01978a85, 0x03dc5982, 0x0379dfe7, 0x03a8b0e5, 0x02b6d292, 0x0039cf65}}}, + {X: Field{[10]uint32{0x028600f7, 0x01fbacc6, 0x007058e3, 0x03f06443, 0x00e57d4d, 0x01be4386, 0x02a25917, 0x0396515c, 0x02863612, 0x001260d6}}, Y: Field{[10]uint32{0x03cfa531, 0x003b4df7, 0x017b9825, 0x028b9223, 0x02464c08, 0x003a034d, 0x023b147e, 0x00b30730, 0x013a0fbd, 0x0000edd8}}}, + {X: Field{[10]uint32{0x02335351, 0x0245bdf3, 0x005b9965, 0x02df464c, 0x033cbfe0, 0x0136f70c, 0x023177b0, 0x02019cca, 0x03ed1fcc, 0x000e9b5b}}, Y: Field{[10]uint32{0x026624ea, 0x021a4956, 0x01d0df29, 0x01586f47, 0x0111eb2b, 0x01fc4190, 0x00a6706d, 0x0185fc52, 0x018a314d, 0x00330fcf}}}, + {X: Field{[10]uint32{0x02d7a9f5, 0x035b1ece, 0x02a78fb0, 0x0093b9ee, 0x00f672a0, 0x0080d6dd, 0x012d2efb, 0x03f8c33a, 0x01866860, 0x00084821}}, Y: Field{[10]uint32{0x00bebbb7, 0x01d2825e, 0x01d7ce10, 0x038d07c9, 0x0396ff0c, 0x03dba75c, 0x02e8be11, 0x02c7b0ff, 0x01be0051, 0x002abc51}}}, + {X: Field{[10]uint32{0x026e4e06, 0x03681349, 0x03cc867c, 0x0209b3bf, 0x01833ac0, 0x0072c46e, 0x03d609c5, 0x00bc2598, 0x032ac9bb, 0x003e0644}}, Y: Field{[10]uint32{0x00891de5, 0x009c8e53, 0x02bb37e2, 0x03bdd91a, 0x00c52f48, 0x01012bbb, 0x03fd1a06, 0x00c172ab, 0x0238ec6a, 0x002c7f79}}}, + {X: Field{[10]uint32{0x02ec009d, 0x02a50df0, 0x00428423, 0x028484f1, 0x01168385, 0x02bb58b6, 0x0334d720, 0x0190310d, 0x01d88786, 0x0014db01}}, Y: Field{[10]uint32{0x036df0d5, 0x0224c976, 0x02f134b4, 0x03b87ea7, 0x01fd84dd, 0x020e8231, 0x03c2b43c, 0x037861a2, 0x0100d827, 0x001fd2f8}}}, + {X: Field{[10]uint32{0x01df722b, 0x02dceea8, 0x024bd650, 0x02c68e68, 0x0109de2f, 0x00b22a16, 0x02e3ed34, 0x036dd8df, 0x023ec4c6, 0x0010ca04}}, Y: Field{[10]uint32{0x03a40857, 0x0275fa58, 0x01b1594c, 0x00403d75, 0x014ee11f, 0x02d3e1bd, 0x0222fa71, 0x01dd4f9a, 0x02ea0127, 0x00207000}}}, + {X: Field{[10]uint32{0x012a5f17, 0x00369a04, 0x01a08155, 0x00cb543a, 0x016a85fc, 0x003e6170, 0x029e5360, 0x0265461a, 0x02fef852, 0x003cf855}}, Y: Field{[10]uint32{0x008892d2, 0x037426ad, 0x010915d5, 0x0339d063, 0x03a2f441, 0x00d8ae14, 0x0167e83c, 0x0039bd97, 0x026b56ff, 0x00247ff5}}}, + {X: Field{[10]uint32{0x03456cc9, 0x00aa3622, 0x030e6824, 0x02bfabc0, 0x006645a1, 0x0153102b, 0x028a716a, 0x00fd0b4b, 0x035984e1, 0x000cae9c}}, Y: Field{[10]uint32{0x00b4c6f5, 0x022c60ef, 0x02200f86, 0x017279f9, 0x03f05576, 0x03bc9324, 0x02ab3178, 0x02c542a0, 0x031e1c32, 0x0019fff3}}}, + {X: Field{[10]uint32{0x01829311, 0x02f02b16, 0x03dddcca, 0x024c62ae, 0x029c868b, 0x01362d2a, 0x00674cf6, 0x00417946, 0x033a043d, 0x0032e70a}}, Y: Field{[10]uint32{0x002b691f, 0x0181fba1, 0x015db242, 0x017ef4af, 0x01834bea, 0x02721674, 0x013ac479, 0x001daf7b, 0x02f2233f, 0x0007f19f}}}, + {X: Field{[10]uint32{0x029234f0, 0x028c6f4b, 0x01e856ef, 0x015eaf06, 0x035effa9, 0x0026f34e, 0x0349695e, 0x01c1c0c8, 0x0058b7bf, 0x003853ca}}, Y: Field{[10]uint32{0x00e08bdb, 0x03457937, 0x01761f3c, 0x00352a25, 0x02cf8cbf, 0x00357fc1, 0x03cbc258, 0x03f4e620, 0x009dd3f3, 0x000f8139}}}, + {X: Field{[10]uint32{0x03550d82, 0x02dce221, 0x01e010d7, 0x03b16102, 0x0274810d, 0x025ffc09, 0x0078113c, 0x02e38c33, 0x037b1c27, 0x00055afa}}, Y: Field{[10]uint32{0x00bc5371, 0x009ea464, 0x0017b16e, 0x0318305b, 0x013a8e92, 0x0164e664, 0x02adf2fd, 0x01bb20d4, 0x030a8021, 0x0031c45c}}}, + {X: Field{[10]uint32{0x0055d600, 0x0262d6cb, 0x013557b7, 0x0267e00e, 0x01a24a33, 0x028b76a8, 0x000e4959, 0x01a1912e, 0x03e6b9b4, 0x003797a9}}, Y: Field{[10]uint32{0x00d48ee8, 0x00f18563, 0x037d53a0, 0x019c8adf, 0x02b9b1de, 0x0060b354, 0x00a9d24e, 0x008f4b70, 0x0027e6a8, 0x00224068}}}, + {X: Field{[10]uint32{0x0017c3c7, 0x02e78ffb, 0x01adeb79, 0x005284a0, 0x00aea074, 0x02cafc3b, 0x037312e7, 0x03b51896, 0x03688bfa, 0x0023b774}}, Y: Field{[10]uint32{0x0155da7b, 0x03b6db1e, 0x032316d8, 0x02c5713d, 0x0359b885, 0x0088f95e, 0x00a48a89, 0x0074d357, 0x02f92617, 0x000b6d0e}}}, + {X: Field{[10]uint32{0x00b1d4e3, 0x02b4f5fc, 0x02b85fb2, 0x003fbe57, 0x0187872e, 0x0088dfb6, 0x02489ae2, 0x03477a3e, 0x036a665a, 0x001725c6}}, Y: Field{[10]uint32{0x038b1f66, 0x031a4e97, 0x039a6c4f, 0x01ecc0b4, 0x01aa8d4d, 0x00ae8076, 0x0332ff74, 0x02bdbc2b, 0x019837c2, 0x00135c7d}}}, + {X: Field{[10]uint32{0x02b9e228, 0x03edc291, 0x0076885c, 0x03bcd095, 0x01bd3586, 0x00aa3c73, 0x0366589a, 0x00adab56, 0x013c2821, 0x003b7ec9}}, Y: Field{[10]uint32{0x02616c00, 0x02ca892c, 0x00c1d7f7, 0x0380944d, 0x02594e42, 0x03cc18a4, 0x00b26b84, 0x007da6e3, 0x0208b7e8, 0x000f96d9}}}, + {X: Field{[10]uint32{0x01525c13, 0x0315adf7, 0x03384737, 0x031acb19, 0x03d2373c, 0x00895d2e, 0x0163dd4e, 0x01dcb36c, 0x024ae127, 0x0010e57c}}, Y: Field{[10]uint32{0x00103526, 0x02f99304, 0x0047a819, 0x037006d1, 0x00676581, 0x03dce55d, 0x0096913d, 0x0030b192, 0x03254c80, 0x002eb1b9}}}, + {X: Field{[10]uint32{0x006866f5, 0x03c3fc65, 0x023eb182, 0x014d7d8a, 0x038c7823, 0x017d6a1f, 0x0113b64b, 0x019adfe2, 0x02d573a7, 0x00204402}}, Y: Field{[10]uint32{0x01a00c73, 0x02d05c3a, 0x029c9d28, 0x02ea61c2, 0x01c6afb8, 0x01477675, 0x0068f7d0, 0x00226674, 0x016e325b, 0x0014b2b0}}}, + {X: Field{[10]uint32{0x0395120f, 0x008d1efa, 0x02e407f7, 0x017b9777, 0x01dee3a0, 0x0285085b, 0x02358c3a, 0x020519ab, 0x01514116, 0x003f4e81}}, Y: Field{[10]uint32{0x028ee5b7, 0x01ef34f6, 0x03250e4c, 0x001d6339, 0x0011a3c6, 0x01f812c8, 0x01b7b88b, 0x02c4aae2, 0x030d45ce, 0x000abcbc}}}, + {X: Field{[10]uint32{0x02435ff9, 0x03f0fbf9, 0x018fa4e3, 0x00caaf46, 0x0276d1a0, 0x0285f5b0, 0x0305b6df, 0x03bbe8ff, 0x0358a7ec, 0x0005e956}}, Y: Field{[10]uint32{0x01574d4f, 0x026fdc6e, 0x02240bc9, 0x02915f81, 0x02418f35, 0x01c7c14d, 0x01cee72e, 0x019f043f, 0x0158a3ad, 0x0035c9ce}}}, + {X: Field{[10]uint32{0x03789b6d, 0x02d0224e, 0x0003bc49, 0x00157b5c, 0x02793fd0, 0x0057a2c8, 0x01c73aee, 0x017a8231, 0x03b8e2ca, 0x0021c32d}}, Y: Field{[10]uint32{0x03e67aa3, 0x003b8106, 0x01cc6a7b, 0x03b2b542, 0x0104badb, 0x0089912a, 0x017a9bce, 0x0072bc9b, 0x03407b70, 0x0030cf22}}}, + {X: Field{[10]uint32{0x0271f8a7, 0x00b306d3, 0x00897545, 0x00db6039, 0x03ffbf7c, 0x01432829, 0x0053c89a, 0x03bc02b7, 0x01fcdc46, 0x003e5471}}, Y: Field{[10]uint32{0x0392c95f, 0x0081ce31, 0x02648751, 0x02495e4b, 0x01c1705b, 0x0137e796, 0x0064d7d2, 0x033090c2, 0x00217849, 0x001ab8be}}}, + {X: Field{[10]uint32{0x02a0caf1, 0x01240b25, 0x02d6131e, 0x00a858df, 0x036cbd83, 0x0062b68f, 0x011bb06a, 0x0319dab8, 0x037f3b92, 0x002bae01}}, Y: Field{[10]uint32{0x03cc1e35, 0x00cb87ab, 0x00cfde02, 0x01f42cdf, 0x036c8a6d, 0x02fcc5ff, 0x0275fb98, 0x0290c253, 0x011df5d4, 0x000a7d07}}}, + {X: Field{[10]uint32{0x013b78f9, 0x0080d7cc, 0x0260cb9d, 0x022d6577, 0x038482b7, 0x036161f0, 0x0118a7e5, 0x00b9601b, 0x01975d2f, 0x00351bd3}}, Y: Field{[10]uint32{0x006392f0, 0x00d246ba, 0x0233c105, 0x02650c5b, 0x02f704e1, 0x00c7fb90, 0x02154ef0, 0x0045d8e5, 0x01aa3bdc, 0x002575e0}}}, + {X: Field{[10]uint32{0x0229b201, 0x0297c71e, 0x02eaf4f3, 0x025dcf1d, 0x03af810b, 0x0126e7b0, 0x021b54ac, 0x03627cb8, 0x03444b4b, 0x00001abe}}, Y: Field{[10]uint32{0x02bf932f, 0x0186089b, 0x0334eaf0, 0x00342fb4, 0x0364db46, 0x00e22acd, 0x00ed90d1, 0x02d3384d, 0x001fd7d3, 0x000d40a4}}}, + {X: Field{[10]uint32{0x03d86976, 0x00bdfb7a, 0x00394093, 0x01533ebe, 0x01e66349, 0x0161ebd7, 0x03f60869, 0x005c0e9e, 0x0182a38b, 0x0017c0b9}}, Y: Field{[10]uint32{0x017afec2, 0x01a8014b, 0x00a7def4, 0x00328ada, 0x02ccfa5d, 0x0102e3f8, 0x00b06bf7, 0x029e5ac9, 0x00de92f3, 0x0028121f}}}, + {X: Field{[10]uint32{0x020599fe, 0x014b4e82, 0x02e33c66, 0x01d67155, 0x03ad70eb, 0x00d5199f, 0x007b885f, 0x00b3b568, 0x00826043, 0x0009909d}}, Y: Field{[10]uint32{0x0028ce85, 0x03e163ae, 0x00c62949, 0x033db811, 0x03a63867, 0x00d0114e, 0x02ea7379, 0x00e0bf5d, 0x00fe2560, 0x0004648e}}}, + {X: Field{[10]uint32{0x029f91dc, 0x01999811, 0x037ff2cd, 0x029f8796, 0x014f03a5, 0x017a0dfb, 0x0319a7dd, 0x02b7694a, 0x025ad327, 0x001aca8f}}, Y: Field{[10]uint32{0x0254c6d9, 0x0012f3a2, 0x0257a22f, 0x0197a35f, 0x01354ed2, 0x036a7a51, 0x03365601, 0x020be83c, 0x012606b4, 0x000be7d1}}}, + {X: Field{[10]uint32{0x035daa79, 0x000d1710, 0x03dc4fcc, 0x01df5d25, 0x02e5fbaf, 0x03bc4fa2, 0x010934dd, 0x013eeaac, 0x008b7e21, 0x0009622e}}, Y: Field{[10]uint32{0x01435bbf, 0x02f04531, 0x035e151e, 0x013eb2e8, 0x0261ca64, 0x03c69476, 0x03f142ce, 0x01b53235, 0x010bd3ba, 0x000f973e}}}, + {X: Field{[10]uint32{0x02551a93, 0x0173fe77, 0x03fcbcff, 0x011b0830, 0x02e4e3d8, 0x02805012, 0x00178b40, 0x00bbbfea, 0x01469285, 0x00365210}}, Y: Field{[10]uint32{0x02a6d5a4, 0x020962e5, 0x024ccdbb, 0x02f65a61, 0x0213ea0a, 0x02b66618, 0x00a12196, 0x03109d0d, 0x017fe628, 0x00356c3f}}}, + {X: Field{[10]uint32{0x030de2ff, 0x02713a8e, 0x025eb9fe, 0x01e19f3b, 0x005ccc1e, 0x02dbd1d5, 0x0364b1c9, 0x00821c32, 0x03dc3a2f, 0x00173e07}}, Y: Field{[10]uint32{0x01bc0d7d, 0x023ee305, 0x031131b7, 0x0094036b, 0x01e7ff31, 0x03b1cd1c, 0x01dc7005, 0x023977df, 0x031cf6bb, 0x00382c2a}}}, + {X: Field{[10]uint32{0x03e879a7, 0x01999836, 0x023203b8, 0x01c459de, 0x00f8ed24, 0x004cb1a5, 0x00b3f174, 0x03f6d5c1, 0x037eb719, 0x00106d3b}}, Y: Field{[10]uint32{0x0221c85f, 0x0024ee0d, 0x0081ae12, 0x02a8722a, 0x009f44c2, 0x03ab0669, 0x028b459e, 0x0088d736, 0x01b1cbae, 0x0029bf99}}}, + {X: Field{[10]uint32{0x03117af7, 0x01c26a6e, 0x03bdc5c2, 0x00fd01bc, 0x007a4c0a, 0x019013b2, 0x01d16918, 0x02478aa3, 0x032c41f6, 0x0010fb55}}, Y: Field{[10]uint32{0x02481da3, 0x03481cfe, 0x03ac3fd4, 0x024c36be, 0x0390a2b0, 0x02f9351d, 0x02cbbab7, 0x000cd1ae, 0x01b890b4, 0x002dee78}}}, + {X: Field{[10]uint32{0x03397de3, 0x00e39186, 0x02e421c3, 0x0107a17e, 0x0281722b, 0x00bc6557, 0x00bb5260, 0x021a98c5, 0x02192230, 0x00138042}}, Y: Field{[10]uint32{0x03a65fa2, 0x016689fa, 0x02ec4a61, 0x038dc311, 0x00283b44, 0x02f42ee3, 0x0076e7b3, 0x017b6112, 0x011c0347, 0x003c34fc}}}, + {X: Field{[10]uint32{0x0211f36b, 0x03510bfb, 0x01e2241d, 0x00a9f4d5, 0x0045e15d, 0x007b7361, 0x03c385e8, 0x01af3136, 0x00bb7fc8, 0x002cd827}}, Y: Field{[10]uint32{0x009c5f68, 0x00643237, 0x018e20e6, 0x006aa85a, 0x00c30891, 0x01deeea2, 0x00017dc9, 0x00d3fe01, 0x01aca3df, 0x002181f9}}}, + {X: Field{[10]uint32{0x03965b4e, 0x01b90fb7, 0x009d1df9, 0x02dac9c9, 0x02d1bdd6, 0x036c4497, 0x0168cdf6, 0x03ef4def, 0x00b20543, 0x00111798}}, Y: Field{[10]uint32{0x03715fd1, 0x0373c2f1, 0x025b00b5, 0x0148a1e9, 0x03c65f8b, 0x0248b9c4, 0x03fdc7cf, 0x02d1eafa, 0x018a8c4a, 0x00297e91}}}, + {X: Field{[10]uint32{0x00f50fc9, 0x02ed90c4, 0x0364cf9d, 0x01278032, 0x01be875b, 0x03c53062, 0x0359a7be, 0x03267e1a, 0x02279264, 0x001c27e0}}, Y: Field{[10]uint32{0x00960d10, 0x00540c56, 0x0362883f, 0x03ffeaab, 0x013d4903, 0x01a39379, 0x029064b4, 0x034afa29, 0x03f0cd28, 0x0005a009}}}, + {X: Field{[10]uint32{0x01fb4ba3, 0x019ffe4a, 0x00cdbe15, 0x017befc6, 0x008a2e9d, 0x00ccfc87, 0x012e725a, 0x00902e89, 0x000dcbd1, 0x0018aa88}}, Y: Field{[10]uint32{0x020a1347, 0x038fca27, 0x021b7b18, 0x00ac4b7b, 0x001ec328, 0x010f906b, 0x0106b468, 0x02f6f12e, 0x016c7017, 0x00066abf}}}, + {X: Field{[10]uint32{0x0082c09e, 0x03c42b2e, 0x02e11f38, 0x01ff2206, 0x01e12398, 0x000b8aae, 0x01f23898, 0x01191bea, 0x01588ed5, 0x000ae9ce}}, Y: Field{[10]uint32{0x035a25a6, 0x03cf848d, 0x00423721, 0x024ddd46, 0x03d8f8a1, 0x012004d4, 0x02cc45d3, 0x0262bbe1, 0x021c9c0a, 0x003cdf6a}}}, + {X: Field{[10]uint32{0x01005de8, 0x00539bde, 0x02397073, 0x0380d64a, 0x01e266e9, 0x02d677f8, 0x01c0f549, 0x02da6ab9, 0x01cce8fb, 0x00219cae}}, Y: Field{[10]uint32{0x0305af65, 0x025ea1a6, 0x01aa399a, 0x01d699ad, 0x02c411e8, 0x03efe7ab, 0x00aac680, 0x0071e6b7, 0x036aefb6, 0x00083611}}}, + {X: Field{[10]uint32{0x01ab6ab5, 0x015c7a2f, 0x000eda26, 0x03984ccc, 0x031f32be, 0x017b9705, 0x03dbac10, 0x00a665e7, 0x00028420, 0x000cd32c}}, Y: Field{[10]uint32{0x02a574d4, 0x01686216, 0x0038d96e, 0x02d92759, 0x00e4e972, 0x01e7172e, 0x0345bfd5, 0x021e3d1a, 0x019f3da7, 0x002209f6}}}, + {X: Field{[10]uint32{0x01ac6d4d, 0x03c8a68d, 0x01afe602, 0x01391efc, 0x00e9f25f, 0x03d93e07, 0x00cad6a2, 0x03b01cd5, 0x0207d260, 0x000cacc3}}, Y: Field{[10]uint32{0x003c0427, 0x01821d0f, 0x03941856, 0x0223cc18, 0x025c5e36, 0x0049b113, 0x02904181, 0x0241e1bc, 0x030d64ee, 0x001c7ff3}}}, + {X: Field{[10]uint32{0x039a8451, 0x00798028, 0x03a05076, 0x000970e3, 0x033b5ce4, 0x0267a6fe, 0x02401ff2, 0x01398d0f, 0x02587a4b, 0x00394265}}, Y: Field{[10]uint32{0x03bb2ece, 0x00b1196c, 0x03241f13, 0x0059c3f1, 0x00683a39, 0x031acce0, 0x02acccf5, 0x026a1a53, 0x02a86542, 0x001ec0e0}}}, + {X: Field{[10]uint32{0x01d6477d, 0x01ba4c39, 0x026abd31, 0x0084a76d, 0x01ca6841, 0x02cf5e1b, 0x02ea0353, 0x00e6f382, 0x004c2bf5, 0x002ce1cb}}, Y: Field{[10]uint32{0x0101e285, 0x01342402, 0x034f9242, 0x01c48b43, 0x0159391c, 0x02775058, 0x037ed1fa, 0x0321bcec, 0x00afe4c8, 0x0001f381}}}, + {X: Field{[10]uint32{0x0135d07b, 0x0101b7a6, 0x00908f3b, 0x01d28b7e, 0x0006095e, 0x027d3106, 0x0014d964, 0x038eacb9, 0x03df9156, 0x0034ad5b}}, Y: Field{[10]uint32{0x03e3b23f, 0x00ed403b, 0x012aaadc, 0x02bcdc55, 0x03b06a33, 0x011aa397, 0x00b49259, 0x02315aa1, 0x001b6766, 0x00110f0b}}}, + {X: Field{[10]uint32{0x037fbacb, 0x02c56a7c, 0x0208115d, 0x03f58ac2, 0x034e8288, 0x0327d06c, 0x03f32e1e, 0x031d9648, 0x027e1074, 0x0003da61}}, Y: Field{[10]uint32{0x013fca16, 0x01417190, 0x00e58cd0, 0x039dbf74, 0x0368709b, 0x01c6708a, 0x0204c6ed, 0x02945a73, 0x02252a11, 0x003f5b1b}}}, + {X: Field{[10]uint32{0x01e64988, 0x01c362ae, 0x02579626, 0x0261556d, 0x00cae238, 0x0223f33b, 0x00778c86, 0x004706b6, 0x00b4a9ab, 0x002f060c}}, Y: Field{[10]uint32{0x022e3c81, 0x0256b130, 0x01ea5b6d, 0x032c4b6e, 0x028e95cd, 0x00f4323c, 0x039a0faf, 0x0184cc65, 0x0089f3c4, 0x002d8910}}}, + {X: Field{[10]uint32{0x038dbafc, 0x0392d1fc, 0x003b7445, 0x007a887d, 0x02126cfa, 0x03357ee4, 0x004bbe83, 0x027f6a63, 0x0221dc72, 0x003eaeab}}, Y: Field{[10]uint32{0x002d8cdc, 0x00cd8016, 0x01fbcc4c, 0x02eacb02, 0x03177ce1, 0x035abb67, 0x03513b3e, 0x0160cb1c, 0x03756446, 0x0006d5a5}}}, + {X: Field{[10]uint32{0x011f8bd4, 0x00f65b5e, 0x0157b547, 0x000c85b7, 0x03bcd3fc, 0x00923638, 0x012497ea, 0x0130f7e4, 0x01014d5d, 0x0024ce18}}, Y: Field{[10]uint32{0x00936725, 0x00c3e8db, 0x02d951d6, 0x00ae3a01, 0x019e57f2, 0x0129ab5c, 0x033add54, 0x0058f13f, 0x016ac141, 0x000f63f2}}}, + {X: Field{[10]uint32{0x02fd07f8, 0x02a0ffa9, 0x007f2094, 0x00934c05, 0x02da0a43, 0x031ac61b, 0x0146b8ee, 0x00a08165, 0x015f85c4, 0x00314c4b}}, Y: Field{[10]uint32{0x01d2992f, 0x03e01b11, 0x0251beda, 0x03a2cd6d, 0x00332898, 0x035511cd, 0x03be12c8, 0x001d5948, 0x022a79ba, 0x003e2b9b}}}, + {X: Field{[10]uint32{0x0203b057, 0x01202d7c, 0x03388558, 0x00a046a9, 0x01b73b11, 0x02808bd0, 0x0375c4dd, 0x00bd01b6, 0x009652c5, 0x002823c9}}, Y: Field{[10]uint32{0x033eb2e5, 0x0371d14b, 0x00ccc845, 0x0094df13, 0x02191d7a, 0x03b3f8f2, 0x01aa9251, 0x0387657a, 0x03de9ab5, 0x0028e5b1}}}, + {X: Field{[10]uint32{0x00f634df, 0x01792f50, 0x0205bc52, 0x02d626e2, 0x02a036e0, 0x00289469, 0x034b34f0, 0x01be9829, 0x030fe8df, 0x0024f54c}}, Y: Field{[10]uint32{0x01838756, 0x031582dc, 0x03a08f5a, 0x019df454, 0x000c4df5, 0x0321f68a, 0x02774f77, 0x00939575, 0x02ea10f4, 0x0032857e}}}, + {X: Field{[10]uint32{0x02b51fa2, 0x0157e4aa, 0x024f6170, 0x004c3c16, 0x005c35b8, 0x03d94844, 0x010a9941, 0x02dcafa1, 0x03ccdfca, 0x0001188a}}, Y: Field{[10]uint32{0x03ca2d4f, 0x02d07a75, 0x01a8cd29, 0x02918259, 0x00e883d2, 0x0256d4f2, 0x01cd2456, 0x02c95b49, 0x002d31ee, 0x0036581c}}}, + {X: Field{[10]uint32{0x00ef9fe5, 0x03b821b8, 0x00d8807a, 0x00fb45f2, 0x010fb6c8, 0x004e30c3, 0x03a58728, 0x02176652, 0x036c7dd8, 0x0028c980}}, Y: Field{[10]uint32{0x02cb9bf7, 0x00f359cc, 0x01a53489, 0x03871d79, 0x03456a6c, 0x01da2685, 0x00aafcde, 0x028554c7, 0x02693719, 0x002d1973}}}, + {X: Field{[10]uint32{0x02ef77a5, 0x0082d69f, 0x00946b1d, 0x02a6129b, 0x03f3d5e7, 0x03e97154, 0x030c887b, 0x01f9e5c6, 0x017e1963, 0x0008d510}}, Y: Field{[10]uint32{0x01f4bd4b, 0x027d22ca, 0x02d4d216, 0x014cf3d3, 0x01ea7400, 0x03cd3d02, 0x014fbf99, 0x034f2ec9, 0x0321b6ea, 0x002056a5}}}, + {X: Field{[10]uint32{0x03ce6fca, 0x01f322ed, 0x01f9f2b0, 0x00677757, 0x033a4078, 0x008e0435, 0x01a746b0, 0x005d3d73, 0x016dfc53, 0x00274d1b}}, Y: Field{[10]uint32{0x0376c806, 0x00acd5e5, 0x029b9851, 0x000f7c23, 0x014a199b, 0x007a4154, 0x01a8ff9f, 0x00f97295, 0x006b6429, 0x0026db30}}}, + {X: Field{[10]uint32{0x0148dd01, 0x028ccc3f, 0x00564bb5, 0x02d01542, 0x03bba638, 0x03af8843, 0x01f000ad, 0x029edfe5, 0x038ec643, 0x001cf20a}}, Y: Field{[10]uint32{0x0005b614, 0x03c4da42, 0x02f075ff, 0x01737c35, 0x027d2acf, 0x0132caf6, 0x035f61b8, 0x017187f8, 0x0299a088, 0x003ffc55}}}, + {X: Field{[10]uint32{0x00798ac8, 0x00e72fff, 0x011afc9b, 0x02fdb28a, 0x010f2d29, 0x02141ae5, 0x01316728, 0x0357473e, 0x01d5a0b2, 0x0024091a}}, Y: Field{[10]uint32{0x03c3ade4, 0x00f7a247, 0x030d4fa6, 0x036eafa2, 0x03cd78ad, 0x032bf93f, 0x02378bff, 0x01da74d0, 0x0011d71c, 0x0000d5b4}}}, + {X: Field{[10]uint32{0x03110637, 0x03f88f87, 0x00371b1e, 0x03a7f540, 0x00dc4013, 0x0066e251, 0x0123afb8, 0x021bc14d, 0x00fb3a0c, 0x00399c28}}, Y: Field{[10]uint32{0x020b31b8, 0x019677c9, 0x0250a9bf, 0x0382772c, 0x03272557, 0x001f967b, 0x03db5a3d, 0x0372c855, 0x036bcd13, 0x00021a44}}}, + {X: Field{[10]uint32{0x0205c395, 0x034f56e2, 0x005fcb9a, 0x03961255, 0x01b57f11, 0x033ee732, 0x0368e270, 0x02079ac3, 0x006d5265, 0x003cffbc}}, Y: Field{[10]uint32{0x01b8f553, 0x01d55106, 0x012f4ff3, 0x034412c2, 0x01570752, 0x03e97eef, 0x0045176e, 0x0083b313, 0x01971444, 0x000cacba}}}, + {X: Field{[10]uint32{0x016a05bd, 0x02974e4e, 0x02cac70c, 0x02711c74, 0x00f942c0, 0x03306762, 0x00fc28a8, 0x03611158, 0x02633958, 0x001ca8dd}}, Y: Field{[10]uint32{0x035ee1ad, 0x03d1521c, 0x03ba8503, 0x011834bd, 0x01729ce8, 0x000ba363, 0x004b3b84, 0x0041c3da, 0x030e6e12, 0x0037a6c6}}}, + {X: Field{[10]uint32{0x005300b0, 0x00def620, 0x01ae22b6, 0x013ea133, 0x00417289, 0x0243379a, 0x019c3a81, 0x01f7bd04, 0x02d9c43b, 0x000e2de2}}, Y: Field{[10]uint32{0x03d01e6f, 0x039d2a2c, 0x01c8423d, 0x01a77214, 0x010de7cc, 0x02ffccba, 0x0204f175, 0x017d461c, 0x01676c4f, 0x00028605}}}, + {X: Field{[10]uint32{0x0334752e, 0x00563fca, 0x013af68e, 0x0224232f, 0x03540e2e, 0x00653ec8, 0x026fac9e, 0x01f14db1, 0x02c81d2e, 0x0036e5a2}}, Y: Field{[10]uint32{0x02b48a0a, 0x03969cea, 0x00769a24, 0x023bf453, 0x0104179e, 0x018d1c9c, 0x02b4af0a, 0x025caeb1, 0x03ab79d9, 0x00135715}}}, + {X: Field{[10]uint32{0x00aad318, 0x0174d9ea, 0x02435a14, 0x03e65f1c, 0x02505dd4, 0x007b4d6c, 0x0114f28c, 0x01360dc4, 0x02792d3a, 0x000ab385}}, Y: Field{[10]uint32{0x0226f625, 0x0239cfcd, 0x03539cc8, 0x03be86b8, 0x010405b0, 0x01a17db4, 0x0063b87f, 0x01d3933b, 0x012a2468, 0x0014c50c}}}, + {X: Field{[10]uint32{0x01bae108, 0x03e4ebcf, 0x0277e852, 0x0060958c, 0x00bb1fda, 0x0189c9f1, 0x00a46008, 0x0037b76e, 0x02690c39, 0x000cb603}}, Y: Field{[10]uint32{0x00dc7c07, 0x0155ea58, 0x01d08cbd, 0x0048f67c, 0x03bc1c3e, 0x0207df36, 0x03cb3f81, 0x0341a9b4, 0x016fea89, 0x0000f1f6}}}, + {X: Field{[10]uint32{0x02ee3908, 0x0229021d, 0x01521d8e, 0x00379497, 0x03f1bf05, 0x01176cf2, 0x00e61a29, 0x01ad018a, 0x028ae7fe, 0x000fbd27}}, Y: Field{[10]uint32{0x01a123f2, 0x00778200, 0x0092bd3d, 0x009d630f, 0x033ff72d, 0x018c456b, 0x0031b54d, 0x017ec935, 0x035c62f4, 0x0010e071}}}, + {X: Field{[10]uint32{0x009722da, 0x009d508f, 0x006405aa, 0x03996797, 0x000e280e, 0x032235ec, 0x03517d41, 0x00b340e6, 0x00d5cdb8, 0x00214e02}}, Y: Field{[10]uint32{0x037e8f5e, 0x0308a7d7, 0x0200fb4d, 0x000e4b50, 0x023ed18d, 0x005c8890, 0x00a652f8, 0x025899a6, 0x00449b2a, 0x003059df}}}, + {X: Field{[10]uint32{0x03c8584f, 0x0076de07, 0x02f4958c, 0x03cca6b7, 0x03306ee4, 0x02187f32, 0x03520bd8, 0x0017fa15, 0x0083490c, 0x0015cbf5}}, Y: Field{[10]uint32{0x0013f4a5, 0x00000d8d, 0x03ca0be3, 0x0156cc7a, 0x00d38e91, 0x02ced865, 0x00107c06, 0x008c0b3c, 0x01061039, 0x0020ab32}}}, + {X: Field{[10]uint32{0x036e1386, 0x024d60cd, 0x0248138c, 0x01135164, 0x00fa7713, 0x013655b9, 0x02a9a2dd, 0x0328c5d6, 0x03b29aa8, 0x002c72ea}}, Y: Field{[10]uint32{0x02292ec9, 0x0234b759, 0x015fcbc5, 0x03d80300, 0x01265cb2, 0x01050270, 0x021de030, 0x03f7c1ae, 0x00f17f9a, 0x00222330}}}, + {X: Field{[10]uint32{0x036bab20, 0x02eee60b, 0x001a16dd, 0x00359c1c, 0x012c5c96, 0x01269ba0, 0x000a65a1, 0x00c4d1d6, 0x03924239, 0x003e15b2}}, Y: Field{[10]uint32{0x00536674, 0x02540452, 0x03869c55, 0x030b5758, 0x0377d9d6, 0x01704477, 0x01f580f6, 0x0003a664, 0x01ba192c, 0x0030cd44}}}, + {X: Field{[10]uint32{0x0273920e, 0x03f0e9fb, 0x00e230ff, 0x03edb04a, 0x039eed92, 0x015aeece, 0x0042887b, 0x004a78b0, 0x00d4773e, 0x00385807}}, Y: Field{[10]uint32{0x001054ca, 0x02805bcc, 0x00ec96f4, 0x02328142, 0x000a7864, 0x026e87f3, 0x0247c714, 0x01de5bb8, 0x00c8a38c, 0x000601d2}}}, + {X: Field{[10]uint32{0x027c7e72, 0x024a38cd, 0x01534a98, 0x02ae5d22, 0x00e8b37c, 0x0032fc76, 0x02206a5b, 0x0185dd72, 0x00d45ffb, 0x00263b88}}, Y: Field{[10]uint32{0x0273c610, 0x02391958, 0x03c30697, 0x03811486, 0x01854b70, 0x023f1017, 0x02b5e6e8, 0x036d45a2, 0x00e1ea42, 0x000b7d2b}}}, + {X: Field{[10]uint32{0x01fe179f, 0x02b53bb7, 0x00246ec0, 0x0107d6b3, 0x035417bc, 0x03b74784, 0x01cfe95b, 0x024168c7, 0x0257acde, 0x0011e5b2}}, Y: Field{[10]uint32{0x00a367a8, 0x0258a87c, 0x0015f8ff, 0x028d18fe, 0x015bc565, 0x0159308e, 0x03637e59, 0x00e00acd, 0x0122395a, 0x001d04fd}}}, + {X: Field{[10]uint32{0x02341200, 0x01a2f746, 0x01d4006c, 0x00da6aef, 0x03cfd555, 0x01b1f7e7, 0x03627fd5, 0x02c2e356, 0x006438ad, 0x002cd9f2}}, Y: Field{[10]uint32{0x028fba51, 0x0092678b, 0x0349dfd2, 0x03d72715, 0x02b4986c, 0x0089a1c0, 0x002f3657, 0x03a059e6, 0x03440b99, 0x00300d91}}}, + {X: Field{[10]uint32{0x00914d29, 0x01fd29e2, 0x01386a74, 0x00293c9f, 0x00e74076, 0x00837a11, 0x02244c00, 0x037b3df8, 0x004b723d, 0x0036cda2}}, Y: Field{[10]uint32{0x0179e023, 0x03ccccdf, 0x023b40e5, 0x0093f683, 0x03fef90e, 0x037bc3ca, 0x01e07507, 0x00e8f0a8, 0x03cc2a74, 0x0022b921}}}, + {X: Field{[10]uint32{0x01a316c4, 0x0171a826, 0x03123ccf, 0x00b9b1b0, 0x0176b473, 0x007bbd3e, 0x02458213, 0x0084aea3, 0x0018f71c, 0x001965c6}}, Y: Field{[10]uint32{0x013604db, 0x001dd538, 0x035db4cd, 0x00c71c0d, 0x01526a28, 0x00dd8446, 0x0087f391, 0x01434cec, 0x03913533, 0x001057d9}}}, + {X: Field{[10]uint32{0x00ebd65a, 0x0332b1d8, 0x01338fcb, 0x00fe5868, 0x01905390, 0x01fadb36, 0x0182a639, 0x03d2c908, 0x033a13a8, 0x003cbd3a}}, Y: Field{[10]uint32{0x00ef9ca8, 0x0032bf82, 0x00b6e795, 0x00fce8ef, 0x0018811b, 0x03aae3af, 0x02dc8b74, 0x02535c82, 0x027b667e, 0x00295d75}}}, + {X: Field{[10]uint32{0x01113a49, 0x01ad34c7, 0x00a47e8c, 0x01df301a, 0x03884b3f, 0x034f249f, 0x028fa51f, 0x03c318cc, 0x020da058, 0x0028939e}}, Y: Field{[10]uint32{0x010ef78b, 0x01c84bd1, 0x00c81a9a, 0x00559179, 0x010bcee6, 0x00a5c675, 0x032fe3f8, 0x0295a67a, 0x003079ac, 0x002fa36e}}}, + {X: Field{[10]uint32{0x01efad5a, 0x0076dc90, 0x024b8098, 0x029d23c2, 0x0142212d, 0x03af5660, 0x036cc325, 0x005e5df6, 0x00cb77e1, 0x0039668f}}, Y: Field{[10]uint32{0x00a800d9, 0x030b5381, 0x012999d4, 0x005a9281, 0x00d69034, 0x00e268b6, 0x00a10a22, 0x0099a330, 0x0145fdda, 0x002a381d}}}, + {X: Field{[10]uint32{0x024b8f32, 0x03d8183f, 0x00e9f0da, 0x01d6aaa5, 0x01fc6c1a, 0x036afa72, 0x00721f93, 0x002f96fb, 0x0263a3c7, 0x000c646c}}, Y: Field{[10]uint32{0x01f38a96, 0x02c7e657, 0x00491717, 0x009d4f9d, 0x00c7af7b, 0x028f2eac, 0x01a87c4e, 0x026f1caa, 0x02cc1c7a, 0x000ce464}}}, + {X: Field{[10]uint32{0x0187023a, 0x01e1d3e4, 0x014638b9, 0x0394f04e, 0x0012f408, 0x03a0e6c8, 0x0147e275, 0x0376c23f, 0x03c604f9, 0x0018f757}}, Y: Field{[10]uint32{0x0104bd9a, 0x00d72f21, 0x0239b84f, 0x00410588, 0x03067e09, 0x004bbdfb, 0x016cccfd, 0x02df9b51, 0x00b402e8, 0x0006bc12}}}, + {X: Field{[10]uint32{0x031bcf13, 0x036fd2d9, 0x025c12d3, 0x01030ae3, 0x032e1d86, 0x03dd4712, 0x007229b7, 0x004bb32e, 0x0057cd83, 0x0002a4b9}}, Y: Field{[10]uint32{0x03fba768, 0x03ca4b97, 0x00b3f551, 0x013cf56d, 0x02be46ab, 0x0281f59c, 0x00492413, 0x03ad7461, 0x03565447, 0x0035ebb6}}}, + {X: Field{[10]uint32{0x01b10495, 0x0375be0e, 0x035ba6c0, 0x0179617c, 0x004789f5, 0x013c02ed, 0x0320f021, 0x0274880a, 0x0170b9e0, 0x0007b9ae}}, Y: Field{[10]uint32{0x009e9462, 0x03443837, 0x032be3f8, 0x02ef5282, 0x019dcf73, 0x01894a21, 0x023c8a04, 0x03bbd746, 0x03eceff9, 0x001f2443}}}, + {X: Field{[10]uint32{0x0306a76a, 0x03459663, 0x01cebe4f, 0x025cc0a1, 0x001abe9e, 0x00f4121c, 0x0328d7c4, 0x00655c14, 0x03b9c2ac, 0x002c6708}}, Y: Field{[10]uint32{0x03a38398, 0x016ca0cd, 0x00a49274, 0x01f34232, 0x01c60560, 0x038da791, 0x0380f8cf, 0x022dc1bc, 0x01bec07c, 0x001e6a04}}}, + {X: Field{[10]uint32{0x014f49a5, 0x026bbcc0, 0x02016b1e, 0x0262e2ca, 0x014f3fbf, 0x0099a915, 0x00888f5e, 0x017f09f0, 0x039f9ed3, 0x000f0836}}, Y: Field{[10]uint32{0x03fbc4d5, 0x025438d6, 0x009ea7d8, 0x02d733d2, 0x029327c1, 0x02879684, 0x010815a4, 0x0398ebd8, 0x02943f29, 0x002eceb0}}}, + {X: Field{[10]uint32{0x02ea4389, 0x0248b14b, 0x00014f6b, 0x03f0233a, 0x00efa29f, 0x034ce091, 0x02b59040, 0x01ba7913, 0x01bab474, 0x003f4733}}, Y: Field{[10]uint32{0x028df06e, 0x02080ca6, 0x0004097a, 0x014843db, 0x0373961a, 0x010f393a, 0x012439fc, 0x01be43e9, 0x01465214, 0x00384195}}}, + {X: Field{[10]uint32{0x0364020c, 0x03682666, 0x03ab51e2, 0x00a636cd, 0x0183641a, 0x030ac35d, 0x0252dc73, 0x02e29bbc, 0x018eabde, 0x0038c3f4}}, Y: Field{[10]uint32{0x00dce88b, 0x0309304a, 0x01704cfb, 0x00a5abfa, 0x018e195d, 0x01c5bad0, 0x02bcab86, 0x03d20658, 0x02721824, 0x0012598d}}}, + {X: Field{[10]uint32{0x015bda37, 0x0085f9d4, 0x00548e6e, 0x00001550, 0x015cd723, 0x00ea7702, 0x02ea7848, 0x03e4c386, 0x038926dd, 0x0012f07d}}, Y: Field{[10]uint32{0x0200ca69, 0x0133f374, 0x0047163a, 0x01b0a94b, 0x0336d8a2, 0x00d2f66a, 0x00bfa2e7, 0x006c0237, 0x02b695dc, 0x00259acc}}}, + {X: Field{[10]uint32{0x00f036d4, 0x03ffa855, 0x0139aaff, 0x023b51ad, 0x009004f9, 0x03b3a6f1, 0x030f7d26, 0x012e2d03, 0x027b9c86, 0x0008f4f8}}, Y: Field{[10]uint32{0x02c0b05d, 0x01b1e522, 0x026c71b3, 0x02eca24a, 0x01b3dfef, 0x03054354, 0x00143d6a, 0x0289f331, 0x03ebf680, 0x002f9185}}}, + {X: Field{[10]uint32{0x026009c0, 0x0392250f, 0x01aab56d, 0x02472db0, 0x004a5130, 0x01ded730, 0x02e0a894, 0x00edc3d1, 0x03d014cd, 0x000a2b72}}, Y: Field{[10]uint32{0x00e31601, 0x024b33bf, 0x00fdaf4a, 0x031cf7b5, 0x0025040d, 0x00233f93, 0x03250b46, 0x013328e3, 0x00387520, 0x001f126a}}}, + {X: Field{[10]uint32{0x00a29d08, 0x03c867c7, 0x02a0cc86, 0x01ee9517, 0x00ea52ec, 0x003613d8, 0x0044ab87, 0x00208e94, 0x00b8a86f, 0x001dd821}}, Y: Field{[10]uint32{0x001c60db, 0x00d14c96, 0x00b2cd08, 0x01c9615c, 0x03def172, 0x027959f6, 0x010bc384, 0x034942d0, 0x02cb1048, 0x00182eef}}}, + {X: Field{[10]uint32{0x028f2350, 0x03879f48, 0x035fbd4f, 0x02e7b5ab, 0x01e3db94, 0x01811254, 0x019667bc, 0x03bd2257, 0x020ffd32, 0x001177cb}}, Y: Field{[10]uint32{0x03eaf095, 0x035e4618, 0x0399473f, 0x032da2ec, 0x004de155, 0x010592e6, 0x024076ed, 0x03f819a7, 0x024b1a8c, 0x0029cc91}}}, + {X: Field{[10]uint32{0x027dd7ea, 0x027c386f, 0x03ebe7f6, 0x03a1e0f3, 0x008ae9bb, 0x0124e8bf, 0x00bff80c, 0x03f47e9d, 0x036b46a5, 0x001a4125}}, Y: Field{[10]uint32{0x022c3e64, 0x01886bb2, 0x03cfd5ad, 0x0115799b, 0x0030f1df, 0x02802cd0, 0x0241a221, 0x0050d818, 0x01b8df9d, 0x0006741c}}}, + {X: Field{[10]uint32{0x01aef659, 0x00a3a14a, 0x00f0bef5, 0x00d47ba0, 0x03e01def, 0x03a02603, 0x01e805c8, 0x0341d6a3, 0x0328f977, 0x00212761}}, Y: Field{[10]uint32{0x025bf428, 0x00c5652b, 0x006ffedf, 0x026bb1c9, 0x018042dd, 0x0301a743, 0x017adadb, 0x018a0ee7, 0x01c46c88, 0x00361255}}}, + {X: Field{[10]uint32{0x032d58eb, 0x0319d191, 0x01281e27, 0x031fa9a1, 0x0054588d, 0x035d4d2b, 0x03facec8, 0x001b9839, 0x034c2345, 0x0038f592}}, Y: Field{[10]uint32{0x025a36eb, 0x007cd8eb, 0x030efbc6, 0x00e53265, 0x0011a9c8, 0x022ba966, 0x0047baf6, 0x00aa11d1, 0x013ccf82, 0x00128cab}}}, + {X: Field{[10]uint32{0x0063bbaa, 0x021f54d5, 0x03ece0c7, 0x02aba484, 0x02889877, 0x02d9d8e6, 0x036f1323, 0x0168c466, 0x012857d1, 0x003d071e}}, Y: Field{[10]uint32{0x014d9328, 0x018140de, 0x016d07cc, 0x0239fa91, 0x00630c45, 0x014b6777, 0x00075941, 0x01315534, 0x010e00c8, 0x001cf3f3}}}, + {X: Field{[10]uint32{0x01186079, 0x014bf5de, 0x0321d67f, 0x0071079e, 0x030e0cba, 0x02bb64e7, 0x03a4a02c, 0x02e13391, 0x0347047a, 0x00387485}}, Y: Field{[10]uint32{0x01b2b668, 0x006abf9f, 0x02f63af8, 0x019a6b24, 0x01fb26da, 0x0092a040, 0x01728a3e, 0x03028fb6, 0x0228aa4b, 0x0005ec2d}}}, + {X: Field{[10]uint32{0x006ef1d8, 0x0239f736, 0x00c8095a, 0x012e34a4, 0x005d7ddb, 0x014ad36c, 0x009da2dd, 0x019e54c6, 0x018af8f8, 0x002a2800}}, Y: Field{[10]uint32{0x0026518b, 0x02ae9f5a, 0x00c17fc8, 0x035e72ad, 0x0225b927, 0x00d8208f, 0x0180c7e9, 0x02287b7e, 0x006c84b8, 0x0022ee58}}}, + {X: Field{[10]uint32{0x036fffed, 0x03589fdc, 0x038f4cd8, 0x0384f7cc, 0x00e4e0c0, 0x003af698, 0x03a57c05, 0x0179136a, 0x02716ee0, 0x001ce0f1}}, Y: Field{[10]uint32{0x0289f0e0, 0x03625b23, 0x00ba004a, 0x01225487, 0x0338eafd, 0x031df6ab, 0x00cb973f, 0x0129d18e, 0x01465f16, 0x000ef72e}}}, + {X: Field{[10]uint32{0x01372dfd, 0x023e42eb, 0x00c1e085, 0x03d01483, 0x031ca36a, 0x00216018, 0x03e64312, 0x02b25e5a, 0x021c8bc8, 0x00187e9f}}, Y: Field{[10]uint32{0x03eba33d, 0x00d121b0, 0x002078d6, 0x02c252c3, 0x00a5f646, 0x02210778, 0x0287909c, 0x039a50c8, 0x036836c3, 0x000fc359}}}, + {X: Field{[10]uint32{0x02c4a740, 0x00c428ec, 0x0116d3cb, 0x01250efc, 0x00b4f143, 0x03d220aa, 0x0092defc, 0x03180664, 0x022bca0a, 0x002180a7}}, Y: Field{[10]uint32{0x001c2f7c, 0x018edf49, 0x00480154, 0x014f75c2, 0x00ef5f15, 0x004885b2, 0x0261cffd, 0x015bc3cc, 0x006ecd90, 0x002e2fa4}}}, + {X: Field{[10]uint32{0x03ad95cc, 0x011d3013, 0x0390e2f6, 0x02c17f17, 0x0348c4a6, 0x0035ae6a, 0x01d6c4cd, 0x02921d62, 0x03e5912a, 0x00385cbd}}, Y: Field{[10]uint32{0x00acc401, 0x019cf702, 0x00290ea0, 0x01e54027, 0x010d7bfd, 0x022d935f, 0x019920ce, 0x003b4ee2, 0x03c12b0a, 0x003b6f48}}}, + {X: Field{[10]uint32{0x02873494, 0x00df6f8c, 0x00616d1f, 0x01e335aa, 0x032d931c, 0x020e37a4, 0x03b22abf, 0x03f0922d, 0x028d322e, 0x001e61ae}}, Y: Field{[10]uint32{0x02a13634, 0x02f25a04, 0x0201ee6e, 0x034f4edf, 0x002420a5, 0x034a7f83, 0x01b75440, 0x001648c6, 0x03224c75, 0x001a4faa}}}, + {X: Field{[10]uint32{0x01e00383, 0x02319738, 0x01d4603e, 0x034daa2a, 0x03400bb5, 0x034dac4c, 0x000a6d88, 0x01d9cdd8, 0x01384a72, 0x002e9650}}, Y: Field{[10]uint32{0x002ce557, 0x02676fcf, 0x019bd867, 0x0114bd88, 0x03d9c685, 0x00c4162f, 0x03fc9535, 0x0204ac89, 0x0228bc1b, 0x001d1bd3}}}, + {X: Field{[10]uint32{0x00476c8f, 0x02be1a48, 0x006b9802, 0x035cb3c3, 0x036bf96c, 0x02c5de27, 0x02eeb77b, 0x02c45f21, 0x01c992d6, 0x00117fd0}}, Y: Field{[10]uint32{0x0002b59f, 0x035a5c88, 0x015cbec3, 0x021a1ff2, 0x004f522e, 0x009c59f6, 0x010c9e10, 0x038eb880, 0x01bf6422, 0x0024c93d}}}, + {X: Field{[10]uint32{0x016ed68f, 0x00fb30f0, 0x02a7d9a9, 0x0293655d, 0x00d00bad, 0x02199bb5, 0x031c282e, 0x013681c5, 0x0235487a, 0x002eb5e7}}, Y: Field{[10]uint32{0x007b57d2, 0x0354371e, 0x029207a6, 0x005e40e2, 0x005b1535, 0x0076c335, 0x0202e129, 0x021290c6, 0x022eefb1, 0x00064e5e}}}, + {X: Field{[10]uint32{0x023c8a41, 0x0100ef27, 0x01b79cfa, 0x00374d99, 0x0022cf89, 0x025d56ff, 0x004d5835, 0x01d7b183, 0x01072d88, 0x00377f88}}, Y: Field{[10]uint32{0x033f62e7, 0x00ad8211, 0x00d90ce2, 0x00fe1f04, 0x028dbe0d, 0x0230a21c, 0x015674c2, 0x002a2a48, 0x0117491d, 0x00318af6}}}, + {X: Field{[10]uint32{0x027eb299, 0x0203b6d9, 0x03a64b11, 0x01a68f67, 0x00d75942, 0x03be7657, 0x00ccadfb, 0x0248fe5a, 0x0253c07f, 0x002497da}}, Y: Field{[10]uint32{0x01e7809c, 0x00e6582c, 0x010b7b29, 0x00e2e329, 0x0058f000, 0x03e73b92, 0x008b26b7, 0x006399bc, 0x00ff01f9, 0x0004203a}}}, + {X: Field{[10]uint32{0x0320dd80, 0x01e2ea09, 0x00d0d878, 0x0341ac38, 0x0012768b, 0x007c0ebc, 0x025d2c7d, 0x000a0ce3, 0x01dda75f, 0x0030a392}}, Y: Field{[10]uint32{0x010db12b, 0x02116ad7, 0x00a98331, 0x02d35fda, 0x03ec5ae6, 0x0261f859, 0x0112c5b4, 0x02926f31, 0x0189c941, 0x0019c3e2}}}, + {X: Field{[10]uint32{0x00837cbb, 0x03e1b28b, 0x006f37b9, 0x01235650, 0x02b21dae, 0x017a3816, 0x008c196d, 0x016fa206, 0x013e9503, 0x0001ea41}}, Y: Field{[10]uint32{0x003a7e1c, 0x00af43d1, 0x02352e7f, 0x03dbdfef, 0x026de026, 0x03425f5d, 0x00774e79, 0x0252de65, 0x008e8e76, 0x00103b82}}}, + {X: Field{[10]uint32{0x02036aa2, 0x029e7f43, 0x01b956c6, 0x021686d8, 0x02e0b32c, 0x025986c5, 0x008ef81e, 0x00031536, 0x00eabfbb, 0x000cebde}}, Y: Field{[10]uint32{0x03cfd3c0, 0x01231a74, 0x00629d80, 0x022017bd, 0x03153319, 0x03215742, 0x01796440, 0x029e5b13, 0x02af0537, 0x001c4f9e}}}, + {X: Field{[10]uint32{0x01583bd0, 0x0031c812, 0x0163df9a, 0x02901e5f, 0x031326df, 0x01b59d30, 0x02955739, 0x00f4cca5, 0x00145a3f, 0x00316234}}, Y: Field{[10]uint32{0x0053cdfa, 0x00c719ab, 0x020d7375, 0x009232bd, 0x027f7470, 0x03f4b35d, 0x02baa8fc, 0x0336b6ae, 0x03d16c67, 0x002d7033}}}, + {X: Field{[10]uint32{0x0038d29e, 0x02ad48e0, 0x01d5a2f2, 0x00887c3b, 0x0397223f, 0x01924d06, 0x008ef12c, 0x010b19f1, 0x01edb937, 0x0025acf5}}, Y: Field{[10]uint32{0x00e44c4e, 0x007b032c, 0x016aa996, 0x015d2ca3, 0x01bf25fe, 0x0339ed3b, 0x019a2e64, 0x028174dc, 0x00aa38a3, 0x0036d1d7}}}, + {X: Field{[10]uint32{0x0244f0c7, 0x0369dfd5, 0x02782a62, 0x010968a1, 0x001eea3a, 0x01198aa7, 0x00cb00b1, 0x013b9bec, 0x036e3d89, 0x00104bd2}}, Y: Field{[10]uint32{0x02a676fe, 0x026be1bd, 0x031d6f13, 0x0226300f, 0x01a8503e, 0x00e1d10a, 0x03de8139, 0x032016ff, 0x0236ab9b, 0x002a13bd}}}, + {X: Field{[10]uint32{0x00563252, 0x01387eb9, 0x01049379, 0x0312270e, 0x0132fdfd, 0x00cb1063, 0x031421da, 0x00c0a14b, 0x0385c7b4, 0x00097c29}}, Y: Field{[10]uint32{0x0004e4bc, 0x009a20d8, 0x02334a02, 0x03d4771b, 0x02da716a, 0x03afbd01, 0x00953a3a, 0x0242d627, 0x010d4571, 0x003bfac2}}}, + {X: Field{[10]uint32{0x01741c6f, 0x0356293b, 0x02cfde0b, 0x01610c9e, 0x03f02fed, 0x027a8f9f, 0x034403a4, 0x03ebd2b2, 0x02b7f367, 0x00143f52}}, Y: Field{[10]uint32{0x0146dd5f, 0x00c1f18f, 0x0207ea56, 0x033e81e5, 0x022d08ab, 0x02b6c70e, 0x020cb520, 0x03352194, 0x01a73c9d, 0x001e2af0}}}, + {X: Field{[10]uint32{0x006a477a, 0x03efb441, 0x03313bbc, 0x007d2e53, 0x02c35762, 0x00c3c41f, 0x038fa664, 0x01fde4ce, 0x03d4cfaf, 0x00055d60}}, Y: Field{[10]uint32{0x017e8db5, 0x02737a8a, 0x02aaffc0, 0x02359674, 0x01fe35ed, 0x011b5216, 0x00d4355c, 0x0347f983, 0x0235ce8c, 0x0026a9ac}}}, + {X: Field{[10]uint32{0x033300be, 0x00ef1296, 0x03494f4b, 0x037e2f9a, 0x02f2edce, 0x016cd65d, 0x00affc16, 0x00980f91, 0x03625d26, 0x000f112e}}, Y: Field{[10]uint32{0x00bc2535, 0x03b0afcf, 0x007b9079, 0x031c7fdc, 0x021ef0e8, 0x00166054, 0x00d45949, 0x00eae17b, 0x01616797, 0x00222c71}}}, + {X: Field{[10]uint32{0x02298958, 0x0096e3ee, 0x01d935ee, 0x031b821f, 0x008fc5d9, 0x00fc8f31, 0x0371d193, 0x01ae5fcb, 0x024de160, 0x000c7509}}, Y: Field{[10]uint32{0x018251cb, 0x0004641c, 0x032c44ae, 0x02d8b98a, 0x00c8e41d, 0x021556e6, 0x025180c9, 0x007498a1, 0x01c0a3aa, 0x00118182}}}, + {X: Field{[10]uint32{0x0103ad2f, 0x0091eb97, 0x03b78a87, 0x007602a3, 0x03352d1d, 0x037060d2, 0x02b206d3, 0x011c9182, 0x030a8ff1, 0x0007d547}}, Y: Field{[10]uint32{0x0116a6e3, 0x03a8cfb0, 0x03b32ecc, 0x02d94255, 0x00fcb97a, 0x000afb8d, 0x0144f818, 0x02c5236e, 0x0006a4c8, 0x0009094f}}}, + {X: Field{[10]uint32{0x01cf333e, 0x02daed70, 0x003a87aa, 0x01ccaabb, 0x00206a1f, 0x03fd6a31, 0x03343119, 0x02101cc4, 0x021d27f0, 0x00378b13}}, Y: Field{[10]uint32{0x0195170d, 0x0173f8a0, 0x01a71c5a, 0x00ab2cb5, 0x019226ca, 0x007e9263, 0x03f4a8e4, 0x0334e8c7, 0x03a140fe, 0x0037204e}}}, + {X: Field{[10]uint32{0x00a95612, 0x02f13046, 0x01620a54, 0x03462bb5, 0x00c1f54b, 0x00e0b0bc, 0x02c4a22c, 0x012b204c, 0x01b2adf5, 0x001bf717}}, Y: Field{[10]uint32{0x030e221e, 0x03a24565, 0x00d26944, 0x032a9b71, 0x03cf60b0, 0x00748590, 0x00110536, 0x03a53703, 0x00e5f318, 0x0036cfe9}}}, + {X: Field{[10]uint32{0x03680603, 0x01dedcd4, 0x030fc7fd, 0x00342177, 0x00bb7665, 0x035fae84, 0x02ea6f4d, 0x0071468e, 0x02c6ea0e, 0x0031fadd}}, Y: Field{[10]uint32{0x035bf655, 0x011dc4b7, 0x013e0e6f, 0x00e6a0ad, 0x020a4f4a, 0x02f0cbbc, 0x0041c3d7, 0x0024a80f, 0x01d7b788, 0x0016b870}}}, + {X: Field{[10]uint32{0x00aa89ed, 0x004ea632, 0x01857b48, 0x02de0867, 0x021a52c7, 0x00c4afee, 0x00e048e6, 0x022d6d93, 0x01a2b7e7, 0x00320541}}, Y: Field{[10]uint32{0x03096806, 0x0177f037, 0x007fa87d, 0x01fe5ac9, 0x01c222be, 0x0167c0cf, 0x01e49be4, 0x03884578, 0x00426d6c, 0x0011b6ca}}}, + {X: Field{[10]uint32{0x00503bf8, 0x01fae79e, 0x031c90a1, 0x00482f71, 0x00f7dec3, 0x00eb0d42, 0x005ff0d8, 0x030f561c, 0x025515f9, 0x0032b5d4}}, Y: Field{[10]uint32{0x026bd719, 0x02704b1b, 0x034c52d1, 0x039496da, 0x0106231b, 0x00e39358, 0x012ddc76, 0x036e5fb3, 0x020276cf, 0x000cacda}}}, + {X: Field{[10]uint32{0x024cdd25, 0x03a4036f, 0x03fabc70, 0x0196094c, 0x00f17f3c, 0x035ac576, 0x02ca8a47, 0x01f8c15b, 0x0144e22b, 0x00253488}}, Y: Field{[10]uint32{0x03d93bf9, 0x006a1351, 0x02e5f612, 0x00b5e6d2, 0x03828bf7, 0x03404932, 0x01dfbbdb, 0x00be1762, 0x020d5fef, 0x0004b01d}}}, + {X: Field{[10]uint32{0x016731a3, 0x004ae2e4, 0x022253b1, 0x027f03cb, 0x0213cba1, 0x01c86f78, 0x03520407, 0x01807f77, 0x0023ef00, 0x000c9717}}, Y: Field{[10]uint32{0x022498e0, 0x02397bb5, 0x0370e962, 0x02c91763, 0x015cb38c, 0x01931f4a, 0x03f3dd30, 0x00590e64, 0x0398c09c, 0x001674f2}}}, + {X: Field{[10]uint32{0x01ee2318, 0x01b61864, 0x00a7cda9, 0x00e0f9fd, 0x027d1874, 0x006f7f69, 0x02515168, 0x020c5928, 0x0089544b, 0x0027241c}}, Y: Field{[10]uint32{0x0372d20d, 0x00639be0, 0x00911d97, 0x037a7ef9, 0x01547117, 0x03089416, 0x00539eb5, 0x0018c0d9, 0x02e7e701, 0x003d8e77}}}, + {X: Field{[10]uint32{0x002b7a82, 0x03e60d4c, 0x03fc0f32, 0x0373ab06, 0x01ec5544, 0x01e93ee0, 0x032a1d89, 0x0301b132, 0x0007ede9, 0x000d3c52}}, Y: Field{[10]uint32{0x016d9c57, 0x007ca902, 0x024828d0, 0x019d75af, 0x003c54c3, 0x01a2f79a, 0x0318813a, 0x0288a3d7, 0x028cec6a, 0x001e10de}}}, + {X: Field{[10]uint32{0x0239788b, 0x01ed8005, 0x00d75388, 0x03fc30d1, 0x01490b47, 0x032e07f7, 0x03d459af, 0x0020a380, 0x030b3f08, 0x00252634}}, Y: Field{[10]uint32{0x002522f7, 0x00da14b9, 0x03d2ece1, 0x02cd59f3, 0x00677865, 0x01461ea7, 0x001627dc, 0x02f8fac9, 0x0305b97a, 0x001e9720}}}, + {X: Field{[10]uint32{0x0354f226, 0x0114bd5d, 0x038c876d, 0x03ffaee5, 0x025d4f36, 0x00f3be23, 0x013ec32d, 0x01b8dea9, 0x036fefd3, 0x003ae823}}, Y: Field{[10]uint32{0x012015c1, 0x031f8e2f, 0x01470608, 0x01e1340a, 0x0339e171, 0x00e32f82, 0x03eade9b, 0x015329eb, 0x02b543aa, 0x003f8399}}}, + {X: Field{[10]uint32{0x0240091b, 0x0251211c, 0x01e504c7, 0x02f664b3, 0x02c8ef49, 0x03a326f3, 0x0119b77a, 0x005ca7d8, 0x03c20bd2, 0x00155752}}, Y: Field{[10]uint32{0x03437b54, 0x0046731f, 0x00315d30, 0x03fe953e, 0x036c9052, 0x024fad29, 0x02869415, 0x0078ccb2, 0x01b86952, 0x003333af}}}, + {X: Field{[10]uint32{0x03fe8872, 0x03c21ec3, 0x01823679, 0x03b31a4b, 0x013f3060, 0x005c8f51, 0x0333833d, 0x00d1d10b, 0x039c19da, 0x000cdca6}}, Y: Field{[10]uint32{0x0034fc30, 0x02f59317, 0x00800b4a, 0x001f5faf, 0x00fac2f0, 0x02fee011, 0x00854056, 0x03d813ae, 0x024f283a, 0x002a52da}}}, + {X: Field{[10]uint32{0x01f1dc11, 0x03857803, 0x03c32d8a, 0x03835131, 0x0378124e, 0x00eae4b3, 0x03b060a7, 0x0119e191, 0x009fafe6, 0x000a86a2}}, Y: Field{[10]uint32{0x008b75d8, 0x0017fcff, 0x01218986, 0x0341fbe4, 0x0275aba0, 0x01b6efc3, 0x02ba46be, 0x007e39a1, 0x023d3bf1, 0x00189be5}}}, + {X: Field{[10]uint32{0x00197d6f, 0x02f2c2df, 0x027fff2d, 0x02cd38e4, 0x01639148, 0x0162ecbd, 0x0062f702, 0x039bf3ff, 0x014ca303, 0x0011c0a1}}, Y: Field{[10]uint32{0x031e1156, 0x011111f5, 0x02c5195c, 0x02cc3cec, 0x022da76e, 0x00164dcb, 0x0075c2de, 0x0095f345, 0x01b28513, 0x001f6898}}}, + {X: Field{[10]uint32{0x01319c5b, 0x01f165b3, 0x00e03485, 0x03f5f681, 0x0351d90c, 0x01b9279e, 0x0015cae0, 0x008e8194, 0x01c5a0cc, 0x001c00bb}}, Y: Field{[10]uint32{0x03db73bb, 0x00f88c30, 0x02975db6, 0x015a13f1, 0x0178c47b, 0x027f5845, 0x012d2ae1, 0x02a961eb, 0x01bd06b7, 0x001bca11}}}, + {X: Field{[10]uint32{0x0348d485, 0x02b7c2db, 0x00ae67c1, 0x0321c976, 0x03f4cc5b, 0x00755143, 0x0169f057, 0x018436c8, 0x00d4483d, 0x0009cca5}}, Y: Field{[10]uint32{0x03d942b1, 0x0221d2d9, 0x036d3726, 0x030473ee, 0x02a71e3c, 0x0208e6a8, 0x039a0031, 0x03278280, 0x01a20ffe, 0x00266c90}}}, + {X: Field{[10]uint32{0x018c9a69, 0x00d7a3fa, 0x00e83b03, 0x00ab134a, 0x010710c7, 0x02a14a97, 0x0126a535, 0x02d103eb, 0x03823055, 0x0006fb33}}, Y: Field{[10]uint32{0x038aecfc, 0x03780fde, 0x03489e2f, 0x00597892, 0x002c5db7, 0x0351c7ab, 0x00ce0a40, 0x03b881f2, 0x0166ac0e, 0x0003cead}}}, + {X: Field{[10]uint32{0x03128160, 0x02386494, 0x02197fae, 0x008dde24, 0x00a19023, 0x023f99cb, 0x0149caec, 0x00f54d76, 0x02cf4f03, 0x0036f93b}}, Y: Field{[10]uint32{0x01aa566f, 0x00f51f35, 0x00a1f5fd, 0x0018702a, 0x01896fc8, 0x012583f1, 0x0241c722, 0x00396d58, 0x03c7927f, 0x002cfd42}}}, + {X: Field{[10]uint32{0x01bd1e20, 0x03b3d28e, 0x02631133, 0x0212c2b8, 0x03caf7f4, 0x03715cff, 0x011887a5, 0x0031a516, 0x0075bed8, 0x001990ff}}, Y: Field{[10]uint32{0x038d58e5, 0x02d717e1, 0x03b7a1f8, 0x0270a4f0, 0x038ec1e6, 0x031289b8, 0x001875fd, 0x01f24eeb, 0x0285f7ac, 0x00011c04}}}, + {X: Field{[10]uint32{0x01422a21, 0x00d0bf81, 0x03f14516, 0x00daf298, 0x03ef19d9, 0x00fe0839, 0x01582805, 0x0335781c, 0x03decf1d, 0x00267e42}}, Y: Field{[10]uint32{0x019cd4fd, 0x034b5e6e, 0x01e2a180, 0x0064cfe4, 0x025cfd77, 0x02fafab5, 0x0390a868, 0x01856c14, 0x01306dfc, 0x0028137f}}}, + {X: Field{[10]uint32{0x02e33433, 0x00774ca1, 0x0033eaad, 0x01f81270, 0x00bcf71f, 0x024ad59e, 0x03b4e351, 0x02dff917, 0x02483184, 0x001539f3}}, Y: Field{[10]uint32{0x00c0e8ef, 0x033b2205, 0x02c3c4de, 0x0118f1a8, 0x024d4f85, 0x01fd3938, 0x028b85cb, 0x0272de0e, 0x033b65ba, 0x0032b0a0}}}, + {X: Field{[10]uint32{0x03f02e08, 0x01a1ae12, 0x027d31f7, 0x0058a558, 0x034705aa, 0x03d2a65c, 0x00f4e7b8, 0x0264f911, 0x024ffb60, 0x0033e192}}, Y: Field{[10]uint32{0x036f1bde, 0x01db1f36, 0x02a51af2, 0x0145dd12, 0x016b8a19, 0x03a62f7c, 0x01db874c, 0x03ad3519, 0x020fb736, 0x001ea634}}}, + {X: Field{[10]uint32{0x0159d1ae, 0x001c849b, 0x03f26c9e, 0x01141829, 0x02a25693, 0x02a62bf8, 0x022cd457, 0x03fe456b, 0x00d6516f, 0x001bfc58}}, Y: Field{[10]uint32{0x00eedc4a, 0x017065ed, 0x034deaff, 0x03b4007c, 0x017db5d5, 0x0143e71d, 0x038b4153, 0x0042b393, 0x0355bf14, 0x001747c4}}}, + {X: Field{[10]uint32{0x035dfcc9, 0x007f9327, 0x01a46f23, 0x016cdc0b, 0x01a56fe3, 0x018a1f6a, 0x037f2a2c, 0x009a4075, 0x0262aefd, 0x00026b6e}}, Y: Field{[10]uint32{0x03b04161, 0x017c54ea, 0x02e7e482, 0x010d0765, 0x012e708d, 0x034b12f7, 0x03126aff, 0x00d66c01, 0x0045cb4a, 0x002e963b}}}, + {X: Field{[10]uint32{0x00a2402d, 0x0038aa85, 0x035d652c, 0x0183a773, 0x02b5d900, 0x00b0437f, 0x00ea9457, 0x03712335, 0x001ebbdc, 0x000813a9}}, Y: Field{[10]uint32{0x0036ae38, 0x03de02eb, 0x01809789, 0x00c8fb02, 0x02fb0b9e, 0x024929be, 0x005db8a9, 0x00bcf2cb, 0x01aca195, 0x001eca22}}}, + {X: Field{[10]uint32{0x03c8ba22, 0x02b3a5d7, 0x0296a82a, 0x0243a109, 0x02a4b4f1, 0x008349ae, 0x01a6826c, 0x00c45089, 0x0269364d, 0x003df5b1}}, Y: Field{[10]uint32{0x039d3470, 0x019e9721, 0x03d1636f, 0x03d12c32, 0x031ff47c, 0x02cf1d86, 0x027d160c, 0x00e31401, 0x0177b425, 0x00056aec}}}, + {X: Field{[10]uint32{0x01352587, 0x019bc9df, 0x03f0dcb4, 0x019116d5, 0x01e50a7e, 0x000af488, 0x0066e00c, 0x00a31e2c, 0x030a87dd, 0x001ef134}}, Y: Field{[10]uint32{0x00c294d4, 0x032ae5b4, 0x0152ec68, 0x030481ad, 0x026efbc9, 0x032c1287, 0x026e0c9f, 0x00059369, 0x00542e7e, 0x003d3b52}}}, + {X: Field{[10]uint32{0x02316ef1, 0x01250ec7, 0x009d7856, 0x0086d094, 0x01c200eb, 0x027c818a, 0x005dfb95, 0x02fb9b09, 0x0184b046, 0x00155109}}, Y: Field{[10]uint32{0x00580d82, 0x000c6a52, 0x02280905, 0x018b4676, 0x02a29c41, 0x000fcb93, 0x026353a1, 0x007b6599, 0x0171c811, 0x000b8aaa}}}, + {X: Field{[10]uint32{0x01dce1eb, 0x01a7992c, 0x02dccbcd, 0x01ca107c, 0x020923f8, 0x02a32996, 0x0224c973, 0x0240f9c4, 0x00c0de88, 0x00239f7e}}, Y: Field{[10]uint32{0x01d2a0cc, 0x0390f049, 0x0066252a, 0x0388d325, 0x03c31205, 0x007eea36, 0x0147873f, 0x01b5479c, 0x00839ae8, 0x0039054c}}}, + {X: Field{[10]uint32{0x0251de8f, 0x011bd471, 0x024915d5, 0x0324d6f6, 0x01b84a9b, 0x017eb81e, 0x0169d066, 0x02a86095, 0x01dc69d8, 0x0019c8c8}}, Y: Field{[10]uint32{0x03ef005f, 0x00f5bdb9, 0x00188d33, 0x03c5acd3, 0x02f977b1, 0x000e9bbb, 0x0009ab18, 0x0225f6fa, 0x030b8708, 0x0022b590}}}, + {X: Field{[10]uint32{0x01ac3abc, 0x003d1ca2, 0x01bfc2d2, 0x026bda4f, 0x001b8beb, 0x02175da6, 0x00327182, 0x026c0148, 0x03c143e9, 0x003d38ae}}, Y: Field{[10]uint32{0x01651a2a, 0x02fc2c57, 0x03a897ea, 0x00f8817a, 0x036d80e9, 0x0033509b, 0x0322b7f7, 0x003aacb9, 0x00f5dc33, 0x00395264}}}, + {X: Field{[10]uint32{0x0139ffff, 0x004d3c43, 0x01ad8009, 0x0119ad7f, 0x0272694f, 0x00170582, 0x03c72758, 0x00963241, 0x025fc6d2, 0x0016a8ea}}, Y: Field{[10]uint32{0x00ea9531, 0x03018012, 0x0244a7f4, 0x02632c1d, 0x023146aa, 0x03d9c330, 0x003e82b5, 0x02be96e1, 0x0170617e, 0x0008b5c8}}}, + {X: Field{[10]uint32{0x03e2e7ef, 0x03ac021e, 0x00383be3, 0x03a9170d, 0x009e9a31, 0x02de18cf, 0x033acbd1, 0x01266b1a, 0x03f9d2bf, 0x000d1d4b}}, Y: Field{[10]uint32{0x001104f8, 0x01b6d1cb, 0x03edd91a, 0x02a60c1a, 0x0339d73c, 0x03d9f22e, 0x037d0763, 0x03621947, 0x03742cf3, 0x002d4fa8}}}, + {X: Field{[10]uint32{0x03047327, 0x00d4d989, 0x02d6b517, 0x018b6cae, 0x01889770, 0x001a7871, 0x01b4c9b5, 0x0113dc36, 0x022402ea, 0x00359409}}, Y: Field{[10]uint32{0x02b16f2d, 0x00547f12, 0x02c288c7, 0x00861b6c, 0x02d80143, 0x015cdd5f, 0x034db3fb, 0x02a2fb00, 0x019af2f2, 0x0014bd72}}}, + {X: Field{[10]uint32{0x011f4cc9, 0x024f0c00, 0x032acb45, 0x02a7b576, 0x010915d4, 0x007ce6af, 0x024a0e0b, 0x00097f45, 0x02c6553d, 0x0014aceb}}, Y: Field{[10]uint32{0x00e2f8c9, 0x029dc5fd, 0x03ba2432, 0x02f3839e, 0x0377af18, 0x00c6c975, 0x00016839, 0x02caee75, 0x00021c17, 0x0014551d}}}, + {X: Field{[10]uint32{0x027ef9ca, 0x02551fa0, 0x01b174d9, 0x01bae93e, 0x02eaa0ec, 0x022de704, 0x03284186, 0x02489049, 0x037ef797, 0x00232ed9}}, Y: Field{[10]uint32{0x000183f2, 0x0243e601, 0x00e19ae5, 0x0262ffb7, 0x0292974f, 0x0046d82f, 0x0240ec64, 0x004c4ada, 0x01b8b07e, 0x0028ca02}}}, + {X: Field{[10]uint32{0x0131d47b, 0x01c938f5, 0x022487f1, 0x035b0c5e, 0x013f89f2, 0x01d1cd2e, 0x00b1564d, 0x03c5f7a5, 0x01e0e2ee, 0x00363d57}}, Y: Field{[10]uint32{0x02b7d770, 0x00fa4b26, 0x02930052, 0x01317821, 0x00fa7dc6, 0x009c7993, 0x0016f71f, 0x018dc381, 0x02f5da57, 0x003a7f51}}}, + {X: Field{[10]uint32{0x016b6fdb, 0x0133d88d, 0x02b79d0f, 0x03b7b52e, 0x03a4ddb8, 0x01ddc5a7, 0x01573014, 0x02cc7fe7, 0x01bbfaa2, 0x003e9bf2}}, Y: Field{[10]uint32{0x0357d494, 0x01083803, 0x01b331b4, 0x033e7de0, 0x0043a2ad, 0x012c4476, 0x02fd1e4d, 0x01e431eb, 0x03cddfdd, 0x002dbfd5}}}, + {X: Field{[10]uint32{0x01b58e9a, 0x00fc2758, 0x02ae6bb9, 0x005d94f9, 0x00f93590, 0x02eb4126, 0x03752d9a, 0x03b765a7, 0x028ce748, 0x0008e7c0}}, Y: Field{[10]uint32{0x00f8b516, 0x013a3b05, 0x02f7c064, 0x028a46f6, 0x01d55c8a, 0x02dec50b, 0x02463b7b, 0x03dae9ee, 0x02b78831, 0x0005f7ff}}}, + {X: Field{[10]uint32{0x025e4f3b, 0x03e3dd25, 0x017bd99a, 0x00523c96, 0x00ecad3c, 0x00e26ee9, 0x0071db05, 0x025dbe67, 0x03fb728d, 0x000bbdb2}}, Y: Field{[10]uint32{0x01b0fd00, 0x006d83de, 0x00273b41, 0x010b3c5d, 0x03deeef5, 0x0364e8de, 0x01ebe8c1, 0x001e30fc, 0x03a7a382, 0x0006689e}}}, + {X: Field{[10]uint32{0x03064a0e, 0x025d764c, 0x0343698b, 0x011f614d, 0x021a4292, 0x00dde1c7, 0x03042f13, 0x00c57a23, 0x032b9af8, 0x0025cb5c}}, Y: Field{[10]uint32{0x024fd28b, 0x02bd36ea, 0x021d4f40, 0x00fc97f7, 0x02a5c2ae, 0x012f2ee8, 0x02380fee, 0x00ee1d02, 0x03baba4c, 0x000c2054}}}, + {X: Field{[10]uint32{0x02062a4c, 0x03c9d1db, 0x02ed33c4, 0x03b6bd08, 0x02e788bc, 0x0215052f, 0x03aa2951, 0x0263c60c, 0x0334ba49, 0x000f4de2}}, Y: Field{[10]uint32{0x02c4c8a3, 0x03686a3c, 0x0017093e, 0x00e34dd6, 0x013c3d52, 0x027dd700, 0x0087b502, 0x03e46602, 0x019c9217, 0x0011a915}}}, + {X: Field{[10]uint32{0x015c3087, 0x03e20b4e, 0x011e376b, 0x03c9f591, 0x02b13d70, 0x02f8ecd8, 0x032b289a, 0x02ceabf4, 0x003b1fc1, 0x003eec80}}, Y: Field{[10]uint32{0x00dfdabd, 0x028c5701, 0x00a81653, 0x00753906, 0x03f28e5b, 0x0305f6c0, 0x02b96bb9, 0x00d8a933, 0x02a5c462, 0x0025f219}}}, + {X: Field{[10]uint32{0x037a0471, 0x0137a3e1, 0x0247e6e1, 0x02debed6, 0x00295efd, 0x016389b1, 0x03d27a92, 0x02c7e802, 0x014e8eea, 0x0000a3ea}}, Y: Field{[10]uint32{0x01d23276, 0x016a4242, 0x022a5514, 0x0065345d, 0x03622219, 0x0233a743, 0x007b5e20, 0x03a3cf03, 0x010af2ee, 0x003dd867}}}, + {X: Field{[10]uint32{0x01308ae9, 0x033283be, 0x00f25c12, 0x00cc21e6, 0x014be272, 0x03ea3f8a, 0x0227ede6, 0x030455c5, 0x02857eb9, 0x0011c228}}, Y: Field{[10]uint32{0x024fa449, 0x00dae472, 0x00c3550e, 0x019821ea, 0x02854034, 0x02a4b3d5, 0x020ab601, 0x00e642cb, 0x01642e77, 0x003cd7e6}}}, + {X: Field{[10]uint32{0x0048a62f, 0x013cbe26, 0x02c6a636, 0x032cdad8, 0x02a82427, 0x00f3bb5b, 0x00903dcb, 0x02e1d362, 0x00976ff4, 0x0024d020}}, Y: Field{[10]uint32{0x015f3c6f, 0x033ed8fa, 0x020aeff3, 0x012262f1, 0x03daf64d, 0x0282eafd, 0x032d4fe0, 0x019d926a, 0x0162d4e2, 0x0038969a}}}, + {X: Field{[10]uint32{0x020ddf9a, 0x01676f1c, 0x03cac039, 0x037495b2, 0x039e0d24, 0x02959988, 0x0195da93, 0x00072b8c, 0x03a08182, 0x003d290a}}, Y: Field{[10]uint32{0x02000f86, 0x0349f802, 0x0396a60f, 0x0239c8c3, 0x0110bd4c, 0x01ce44a1, 0x01194afe, 0x03bfc1d7, 0x03cc0be3, 0x0023f49b}}}, + {X: Field{[10]uint32{0x03a6240c, 0x006c59b8, 0x009919c5, 0x03bed06c, 0x03791cac, 0x025f82a5, 0x0339ef61, 0x03350033, 0x0216e65b, 0x00316b69}}, Y: Field{[10]uint32{0x016eb8c3, 0x000229fe, 0x011a04a7, 0x01e9834d, 0x01cc2678, 0x02441aba, 0x01b0b323, 0x0318b721, 0x0168fe41, 0x00393197}}}, + {X: Field{[10]uint32{0x00c640e7, 0x02b84020, 0x002baca2, 0x01215844, 0x01e8b1fa, 0x00186969, 0x017c62e5, 0x03646f2f, 0x02c3d3f1, 0x001f064f}}, Y: Field{[10]uint32{0x03873ccd, 0x01672b65, 0x0333a26b, 0x01a0752c, 0x0103b8e0, 0x02294da1, 0x000ff310, 0x0023cf90, 0x00955114, 0x00331f3e}}}, + {X: Field{[10]uint32{0x011bd3c3, 0x0000ac2b, 0x016f1d96, 0x01547b1c, 0x0122b763, 0x039a8706, 0x01656293, 0x03c4a0c8, 0x01438e7c, 0x001dd509}}, Y: Field{[10]uint32{0x03d2137f, 0x02fe0022, 0x007c4deb, 0x00c80306, 0x01edf7d9, 0x022182be, 0x006eec20, 0x00def864, 0x029d212c, 0x000dd1c5}}}, + {X: Field{[10]uint32{0x03d90992, 0x02643d89, 0x02c5a3b9, 0x010f9536, 0x00bb48ff, 0x002af46a, 0x01c0f7f9, 0x039e1be9, 0x0399fa75, 0x0024b754}}, Y: Field{[10]uint32{0x0311b7ba, 0x0152484f, 0x029a406e, 0x00c664cb, 0x00ee4932, 0x031b14d2, 0x025c824a, 0x020f830b, 0x028ef937, 0x00172c6f}}}, + {X: Field{[10]uint32{0x0293157d, 0x01b77bf5, 0x00b376eb, 0x029ede87, 0x004f66e7, 0x0294cbf8, 0x03550532, 0x03ae4042, 0x0028468e, 0x00305dc2}}, Y: Field{[10]uint32{0x019a2e11, 0x01f492a0, 0x02bc2d2e, 0x0269de9d, 0x02070e5e, 0x0186b928, 0x029e262f, 0x01f51ff4, 0x003da014, 0x00036959}}}, + {X: Field{[10]uint32{0x036378c8, 0x03f7732b, 0x00ad533c, 0x0396fa2a, 0x01a8baab, 0x0044e4bf, 0x009a5341, 0x03948919, 0x0116e90a, 0x0004dcb8}}, Y: Field{[10]uint32{0x00346af9, 0x00adb972, 0x004d6e9b, 0x03ccaf16, 0x011d0a1c, 0x02369bd1, 0x038c2aaf, 0x01d6ef70, 0x00a26957, 0x0017bef5}}}, + {X: Field{[10]uint32{0x01dda936, 0x00b61a99, 0x00c008f3, 0x03eb840e, 0x0105e2b7, 0x03cc24a7, 0x01520097, 0x028acaf3, 0x021e9fa1, 0x000aef7c}}, Y: Field{[10]uint32{0x039d45ec, 0x0280b24c, 0x0364cb0b, 0x0331610e, 0x011806eb, 0x02a20cd8, 0x02c0dcd2, 0x02f77185, 0x01986008, 0x00146de2}}}, + {X: Field{[10]uint32{0x013005e1, 0x010e2f5d, 0x03f7f6a7, 0x01f09bb8, 0x039b63cc, 0x01bc8485, 0x0230d49e, 0x017b5de0, 0x00a4d049, 0x000d9a53}}, Y: Field{[10]uint32{0x00bc0af8, 0x02a8345c, 0x039075f5, 0x02da56d7, 0x03a87f48, 0x00635499, 0x031e17db, 0x02c4ccff, 0x03f3bbdc, 0x000b9278}}}, + {X: Field{[10]uint32{0x032013b8, 0x01225600, 0x027e85e6, 0x01cdaee2, 0x036fbc13, 0x004f12ab, 0x0113bf8d, 0x03850e9a, 0x00b1dc9c, 0x00090f61}}, Y: Field{[10]uint32{0x027f28bf, 0x02af56db, 0x02b91108, 0x020cb7ff, 0x0021a3dd, 0x037b1784, 0x023c2dc6, 0x031c77ff, 0x03adb6be, 0x0000e4c5}}}, + {X: Field{[10]uint32{0x0191ec92, 0x02550acb, 0x0185de03, 0x037bc641, 0x020ba6df, 0x0284aa3f, 0x00eab821, 0x03cfda0e, 0x03875255, 0x00076220}}, Y: Field{[10]uint32{0x0324b489, 0x0080dfcc, 0x012bc46c, 0x02b76f64, 0x039ccabd, 0x00bc2bbc, 0x0233538d, 0x03e05575, 0x03e2e919, 0x002a74e2}}}, + {X: Field{[10]uint32{0x01be3765, 0x01be6b2c, 0x00955645, 0x00a1e920, 0x015512d6, 0x01d0dd47, 0x0160e2aa, 0x00cddbdd, 0x03754c0d, 0x000e6887}}, Y: Field{[10]uint32{0x0035e005, 0x00baa750, 0x031bde0b, 0x02c4e914, 0x01ef4950, 0x0156ed12, 0x00188c4d, 0x035e78ef, 0x00a52a7f, 0x000f3cc9}}}, + {X: Field{[10]uint32{0x002e21c8, 0x0249e3ad, 0x029e948d, 0x007e9595, 0x0118ab0a, 0x00b19fdb, 0x01394a95, 0x0177ca87, 0x020cd8e2, 0x002843fd}}, Y: Field{[10]uint32{0x01f9e991, 0x013d4083, 0x03237bfd, 0x00d7c0b2, 0x0389fd2b, 0x03e2451c, 0x000c0bd4, 0x00bbe077, 0x01633ce8, 0x002d17cb}}}, + {X: Field{[10]uint32{0x03bcbcb1, 0x031167ad, 0x022b25bb, 0x03377092, 0x01bb801a, 0x01ae5c7e, 0x011f7a64, 0x010bdc41, 0x03920d50, 0x002f09a5}}, Y: Field{[10]uint32{0x01235665, 0x00d6f5dc, 0x031f478b, 0x0378760f, 0x02c7fab6, 0x0248175f, 0x0301530c, 0x00818586, 0x01fc1c03, 0x002dc111}}}, + {X: Field{[10]uint32{0x0037cb95, 0x00709024, 0x00da99a6, 0x0123daf3, 0x025f0ef4, 0x0076d110, 0x02a7f95d, 0x00da0aa0, 0x01fefd5a, 0x000f5c9e}}, Y: Field{[10]uint32{0x00159740, 0x01980bdc, 0x021622de, 0x024c3364, 0x019a2ea1, 0x02e89253, 0x0342cca2, 0x016df88a, 0x02cae636, 0x0037d489}}}, + {X: Field{[10]uint32{0x00dbe588, 0x00b0b57a, 0x02e2fd55, 0x03439085, 0x01bc439a, 0x0146cf54, 0x036c2bd9, 0x02bc02e4, 0x0130ef92, 0x0038315b}}, Y: Field{[10]uint32{0x00555fee, 0x0212ceda, 0x03e0f064, 0x031e921c, 0x03f35189, 0x01d9a683, 0x01bd1862, 0x01711103, 0x037d02a7, 0x0030af45}}}, + {X: Field{[10]uint32{0x0073315b, 0x0266b89e, 0x03c15d99, 0x00c909ca, 0x00f0d6e3, 0x00d2ebc7, 0x00398306, 0x02fd4bf6, 0x00e52b7b, 0x0026fe58}}, Y: Field{[10]uint32{0x018d0405, 0x0188e1c7, 0x001c9066, 0x03df6732, 0x01551862, 0x02914dce, 0x0016cb16, 0x007732c0, 0x019d20e0, 0x0002ca1c}}}, + {X: Field{[10]uint32{0x00351198, 0x0120280d, 0x019dc0d5, 0x0117511f, 0x0287fffb, 0x011d5f83, 0x017a6b14, 0x029c6b98, 0x016be60b, 0x000837c6}}, Y: Field{[10]uint32{0x02eb07d8, 0x003387c9, 0x020ae996, 0x01610bfb, 0x02f12ba3, 0x02b42aea, 0x03d49539, 0x001c6e81, 0x01430c0d, 0x00271c8b}}}, + {X: Field{[10]uint32{0x029bac17, 0x01998772, 0x036330a2, 0x01c48ed7, 0x00455a5f, 0x02055260, 0x019693d0, 0x02d02e51, 0x01360208, 0x000210f0}}, Y: Field{[10]uint32{0x02f12078, 0x0137d1bc, 0x00edec9b, 0x008e19dc, 0x02d0c74f, 0x0076e950, 0x011820d3, 0x03f1034b, 0x018d9095, 0x00356d6f}}}, + {X: Field{[10]uint32{0x008d11a0, 0x02f1c890, 0x01c03e05, 0x032dcbe7, 0x03708a3f, 0x02d1b5bb, 0x024ee0ca, 0x007a837a, 0x00df702c, 0x0024426d}}, Y: Field{[10]uint32{0x02dc507a, 0x03b322e5, 0x03242cf4, 0x031e44ee, 0x007348e9, 0x030b0c09, 0x03151954, 0x020072d4, 0x02c18be5, 0x001d6ea8}}}, + {X: Field{[10]uint32{0x0191113c, 0x03bbcf16, 0x02db2329, 0x00b8dc9f, 0x018e5155, 0x0080f167, 0x02dff03c, 0x02a6ec4a, 0x01f5c960, 0x003c4334}}, Y: Field{[10]uint32{0x028c465a, 0x03c2fc57, 0x0151b8f3, 0x03191e58, 0x009d2e03, 0x03fb998b, 0x01746898, 0x036a9859, 0x00e16f65, 0x002a12b2}}}, + {X: Field{[10]uint32{0x00e747a8, 0x03f9ab44, 0x03a071ea, 0x03437d62, 0x010ae0d6, 0x02297d4e, 0x0077b69a, 0x0180beb4, 0x013cffd3, 0x0027c1dc}}, Y: Field{[10]uint32{0x03ee867b, 0x03579723, 0x00afe58c, 0x00e95e5c, 0x01cbb4ea, 0x020be3b0, 0x003d7357, 0x02420f37, 0x007342b5, 0x002b7f32}}}, + {X: Field{[10]uint32{0x0195801a, 0x018cd0b3, 0x019f3640, 0x01b2c483, 0x005ce9ec, 0x03fe25e3, 0x032b870f, 0x015cd04e, 0x010e3290, 0x001b4767}}, Y: Field{[10]uint32{0x0031018f, 0x0153e31a, 0x010efba1, 0x025e48b9, 0x0325a3f5, 0x00eef738, 0x0345f7c2, 0x02d80935, 0x00a895d3, 0x001942f9}}}, + {X: Field{[10]uint32{0x00dcbd82, 0x0083319b, 0x03fa7128, 0x026771d9, 0x015c649f, 0x0387ec52, 0x027791c7, 0x033251e8, 0x01a56b3a, 0x00125c61}}, Y: Field{[10]uint32{0x03e6568c, 0x01aa5443, 0x01c3df5b, 0x02fdd060, 0x00f33ce5, 0x039d5968, 0x00078b2f, 0x0386c5f9, 0x037c11da, 0x001f5446}}}, + {X: Field{[10]uint32{0x000a743f, 0x0153fcc4, 0x030a2c31, 0x02f85291, 0x019a35f7, 0x00b361f0, 0x01b8bc75, 0x03ae7137, 0x00f9848e, 0x003ffdce}}, Y: Field{[10]uint32{0x032c38ec, 0x03fcdccb, 0x01df57bd, 0x02685c21, 0x00211b97, 0x01171628, 0x0037cdcf, 0x00f25dda, 0x0255cd91, 0x00041ae2}}}, + {X: Field{[10]uint32{0x001b4830, 0x024086e6, 0x00e38ccb, 0x03d177f2, 0x0141899e, 0x01f58005, 0x026876a3, 0x011b2d11, 0x01a48d35, 0x000c80e4}}, Y: Field{[10]uint32{0x0251b102, 0x01c48159, 0x0000f09c, 0x01f798ce, 0x0323fa2d, 0x015c1ed2, 0x002f3032, 0x0250479d, 0x0030b455, 0x0011bd8c}}}, + {X: Field{[10]uint32{0x0185fe9e, 0x005b8017, 0x013f9adf, 0x001848a0, 0x00558791, 0x01d8c7c6, 0x0137f7fb, 0x03a2349a, 0x0240a925, 0x002f9133}}, Y: Field{[10]uint32{0x036e1dc4, 0x02c0998a, 0x0089324d, 0x032a6906, 0x02ca6948, 0x03d12db8, 0x02806d4b, 0x01b719f9, 0x01e7d22e, 0x0005d56b}}}, + {X: Field{[10]uint32{0x0333ddae, 0x00810d73, 0x012ddeeb, 0x002d0cea, 0x03da6aa8, 0x019bf0a8, 0x03b05314, 0x035827e0, 0x02b158dd, 0x00234fc1}}, Y: Field{[10]uint32{0x0337af63, 0x011c1752, 0x01f2c4c7, 0x0106630f, 0x02f1d0a6, 0x02f4ba50, 0x036e5f4d, 0x0144eee2, 0x0299efde, 0x000b5552}}}, + {X: Field{[10]uint32{0x01596729, 0x03aa11a4, 0x02627210, 0x01d1d0ad, 0x00d0c71d, 0x00153f30, 0x01c1cb3a, 0x03d54c95, 0x039cf258, 0x003e0529}}, Y: Field{[10]uint32{0x032d867d, 0x004fdd68, 0x002dc318, 0x022bb7ae, 0x010271ce, 0x0347cf51, 0x0080c42f, 0x02d2c88f, 0x0095be48, 0x0000467f}}}, + {X: Field{[10]uint32{0x0142fb60, 0x0399097a, 0x03ec8109, 0x03efbe45, 0x01d77e57, 0x038ab4c1, 0x0262bfbe, 0x03c76d76, 0x01461c37, 0x00257a3f}}, Y: Field{[10]uint32{0x00e2db93, 0x000c0a82, 0x00d09a03, 0x03f8c1ad, 0x01d3d5b1, 0x002d162e, 0x01ace316, 0x033686a9, 0x031edfdb, 0x003770a2}}}, + {X: Field{[10]uint32{0x03981e77, 0x02ac3a29, 0x02149e2d, 0x0303d0db, 0x026f4e5c, 0x03f08209, 0x0320604c, 0x02205af1, 0x03fc47e1, 0x00301950}}, Y: Field{[10]uint32{0x03021441, 0x00d20c65, 0x0234ee66, 0x00c45fb1, 0x01281854, 0x00653327, 0x034819ac, 0x029f0844, 0x0065f3a4, 0x000881c1}}}, + {X: Field{[10]uint32{0x00d5c68e, 0x025c21ad, 0x001caa2b, 0x0142f580, 0x010fd5b0, 0x037b6138, 0x014d116b, 0x02bbe928, 0x015b3716, 0x001260f6}}, Y: Field{[10]uint32{0x03f0a279, 0x036b8b01, 0x01b0280c, 0x0299beb0, 0x00f5e609, 0x02f4efbf, 0x03d47bce, 0x033450cc, 0x026da2ef, 0x0004dcd0}}}, + {X: Field{[10]uint32{0x02afe6ab, 0x0332560f, 0x03ef61fd, 0x03b79adc, 0x03ad8054, 0x01782143, 0x022cd092, 0x012e5cee, 0x00c692e8, 0x0028af57}}, Y: Field{[10]uint32{0x02a5ce2b, 0x02c9d9f9, 0x02a4e4f0, 0x025e5e56, 0x0133d8d7, 0x027e0093, 0x019011b9, 0x006c7985, 0x038af914, 0x003329b9}}}, + {X: Field{[10]uint32{0x036d741a, 0x026353da, 0x02b60bf6, 0x0098c45e, 0x00b8f852, 0x00d9f421, 0x0076281b, 0x0139ce54, 0x0231a18f, 0x00187264}}, Y: Field{[10]uint32{0x026cbfe5, 0x0102051b, 0x019299d3, 0x02c19f52, 0x01af886d, 0x02823006, 0x00616090, 0x0074c192, 0x03979e7f, 0x00208c52}}}, + {X: Field{[10]uint32{0x02b34304, 0x0182ff5a, 0x00db73ed, 0x00bdb1af, 0x02d4072a, 0x0244cc86, 0x03114fc7, 0x014a64e9, 0x03ef32c5, 0x001296b3}}, Y: Field{[10]uint32{0x020c03c9, 0x006c15a6, 0x024da9f6, 0x02252bfe, 0x0301323e, 0x012c9b6f, 0x03f9f296, 0x0166c9a6, 0x0229c068, 0x0001ca56}}}, + {X: Field{[10]uint32{0x037f4023, 0x03d6da2e, 0x02d487d4, 0x004d085a, 0x02604e50, 0x0197b2b1, 0x036dcb6c, 0x012530ac, 0x0355866f, 0x0038119d}}, Y: Field{[10]uint32{0x00b336b3, 0x01690b0c, 0x02029d9e, 0x01d4a3b3, 0x01ae9459, 0x0098626b, 0x032f9558, 0x03e86fd4, 0x03c5974d, 0x0037ab40}}}, + {X: Field{[10]uint32{0x03215ea7, 0x03034aee, 0x0059640d, 0x01808211, 0x01c4e8be, 0x016c788c, 0x014ca74b, 0x017f7d6d, 0x0305c926, 0x001a1bf7}}, Y: Field{[10]uint32{0x017ea7da, 0x018794f5, 0x01710b65, 0x03cb1640, 0x03c93723, 0x03fcd9de, 0x02f950eb, 0x02e5d02b, 0x021cedf9, 0x003d350f}}}, + {X: Field{[10]uint32{0x03d21253, 0x017b2ee2, 0x01cb9fce, 0x009347c5, 0x03e2bcd9, 0x00365b4b, 0x022b7d7b, 0x02c833a9, 0x018500f9, 0x000491da}}, Y: Field{[10]uint32{0x03522004, 0x03785b4a, 0x03842e32, 0x03c90f75, 0x033f1950, 0x010e2702, 0x027b356b, 0x013f190e, 0x00b39e90, 0x0034d0df}}}, + {X: Field{[10]uint32{0x02d17b1b, 0x0220098a, 0x0324e453, 0x007b4be9, 0x03b5eb1e, 0x0027d95e, 0x03322910, 0x0326cb96, 0x00ec9a87, 0x00195af7}}, Y: Field{[10]uint32{0x012fa64d, 0x00f738be, 0x01d116aa, 0x00c345f0, 0x030cdfc8, 0x03f7023f, 0x03f704b3, 0x0393dfd8, 0x010c47b6, 0x0031dd23}}}, + {X: Field{[10]uint32{0x0083e4b5, 0x02fae5ad, 0x0004c3ae, 0x00f983af, 0x027a3d40, 0x020f3b44, 0x0279b244, 0x00584832, 0x010e0f72, 0x0016dfdc}}, Y: Field{[10]uint32{0x03b08080, 0x03dca12f, 0x0386b698, 0x01caf65a, 0x0011db4b, 0x0396a7bb, 0x00196e8d, 0x022bb98d, 0x03a7f068, 0x0006d455}}}, + {X: Field{[10]uint32{0x01e6b4da, 0x034f4128, 0x00deabc8, 0x00f6074b, 0x01254521, 0x003e4361, 0x015bf184, 0x029bd55e, 0x02d0552b, 0x002ff299}}, Y: Field{[10]uint32{0x01754e75, 0x01b746bc, 0x0069084b, 0x0282f776, 0x00223043, 0x0032ce84, 0x00c46383, 0x01095f01, 0x00cc290d, 0x0012442c}}}, + {X: Field{[10]uint32{0x00496f16, 0x01980ca2, 0x009247f5, 0x006f3b1c, 0x001447c1, 0x0015ef45, 0x018f8ef2, 0x032ef91e, 0x028fb79d, 0x00198fe9}}, Y: Field{[10]uint32{0x03c41786, 0x009ea9a0, 0x03951f2b, 0x028aacc3, 0x00a42597, 0x00747d08, 0x005598a9, 0x02f48f62, 0x02fa1f3b, 0x000eb38b}}}, + {X: Field{[10]uint32{0x015c4321, 0x017c7792, 0x03004608, 0x02b82033, 0x017c1675, 0x0379a289, 0x02f2f86e, 0x02e3c87f, 0x03338a3d, 0x0009f338}}, Y: Field{[10]uint32{0x00d373ae, 0x01aa0ac9, 0x01c294b1, 0x027f68aa, 0x037aefa6, 0x018f53f7, 0x0144a002, 0x0391cbac, 0x018c8bab, 0x001c55af}}}, + {X: Field{[10]uint32{0x00bd9560, 0x016f1359, 0x00ce35aa, 0x012c703a, 0x03b727be, 0x00f15d7b, 0x027940e1, 0x017026f8, 0x02c452ec, 0x00352701}}, Y: Field{[10]uint32{0x038d18b0, 0x01d48e39, 0x033c2f51, 0x022551b7, 0x015d7ad7, 0x02680d8d, 0x0266469f, 0x004029ca, 0x0118b298, 0x000b194d}}}, + {X: Field{[10]uint32{0x004ad08a, 0x0005fdd5, 0x01129cfa, 0x03f442bf, 0x023d7bf4, 0x01034ef5, 0x00ecd251, 0x02009b4f, 0x007ebd02, 0x001a5820}}, Y: Field{[10]uint32{0x020e7c7c, 0x02bab024, 0x03f4cf7b, 0x020eaa6a, 0x036f9a63, 0x02f69af7, 0x03cb5465, 0x03eb9cad, 0x004f28be, 0x0029e141}}}, + {X: Field{[10]uint32{0x01f8faa1, 0x02d4c94f, 0x03aa1ede, 0x03156953, 0x02fc9263, 0x0295f6eb, 0x0375abeb, 0x00e9c68e, 0x033654b6, 0x0020e0af}}, Y: Field{[10]uint32{0x0049b011, 0x003f3c42, 0x026dcb6d, 0x00f6515d, 0x02dc9bef, 0x0189d987, 0x021da269, 0x032d4d11, 0x01dcc319, 0x003817ae}}}, + {X: Field{[10]uint32{0x02b0bffb, 0x0168f452, 0x0379acc4, 0x026bd814, 0x02b7e705, 0x02a4cbc8, 0x008cca9f, 0x021db9e3, 0x037930ec, 0x00200ee4}}, Y: Field{[10]uint32{0x01e5790f, 0x02bc1195, 0x01152b52, 0x03745f34, 0x01cb90d1, 0x01e1a51c, 0x03ec7d0b, 0x03470b1b, 0x001c5202, 0x001f6c8d}}}, + {X: Field{[10]uint32{0x02c5292c, 0x022e8474, 0x03e08f99, 0x003a2591, 0x02cb78fb, 0x01cfeac0, 0x0165ff4f, 0x02ba7c44, 0x01290ab6, 0x0032d36c}}, Y: Field{[10]uint32{0x03d1c9c2, 0x01506235, 0x02e9ef61, 0x00235d53, 0x02745c24, 0x02ecd9bf, 0x0280ad65, 0x00e12ed6, 0x039a1776, 0x000332bb}}}, + {X: Field{[10]uint32{0x00d115a2, 0x014ab37b, 0x0179aa81, 0x01ee1325, 0x038fd6af, 0x0301c3f1, 0x038be8af, 0x03d9c8e0, 0x035750e9, 0x003eaca1}}, Y: Field{[10]uint32{0x00b3f065, 0x00452430, 0x024956c3, 0x00c7671b, 0x03764ee9, 0x02ba14c0, 0x017d3b83, 0x0158b54e, 0x002889cd, 0x003567f8}}}, + {X: Field{[10]uint32{0x0249bbc1, 0x00092159, 0x0376c198, 0x01335a96, 0x02fbdf84, 0x0020cf84, 0x02e3f036, 0x03b8f43d, 0x02baf870, 0x003761e7}}, Y: Field{[10]uint32{0x0143c55a, 0x011c5b26, 0x038f7309, 0x00ab1a94, 0x00b041a1, 0x0355a5b2, 0x03a324c1, 0x01704775, 0x00c3a99a, 0x0039eec1}}}, + {X: Field{[10]uint32{0x00f8016e, 0x03330120, 0x00d8ed00, 0x01d06d7e, 0x031df68f, 0x0095cac4, 0x01319d57, 0x01a87b6a, 0x03be29b0, 0x001ea92b}}, Y: Field{[10]uint32{0x03fe7130, 0x0252c5d4, 0x00d2dc9d, 0x00364df0, 0x02423fd0, 0x0080ae5c, 0x002e3c13, 0x02161dfc, 0x029fb77b, 0x00057de6}}}, + {X: Field{[10]uint32{0x0039f890, 0x03933163, 0x0168ba19, 0x03a455c7, 0x00c34354, 0x00b5b998, 0x03fee64f, 0x00c99575, 0x03f5876a, 0x0024517c}}, Y: Field{[10]uint32{0x0285d8ff, 0x03368a2c, 0x036c998e, 0x00755d9a, 0x0337650c, 0x0284235b, 0x009ba7fd, 0x027f416f, 0x015dcf36, 0x0011782a}}}, + {X: Field{[10]uint32{0x0111ac9e, 0x03dd03d1, 0x0131713d, 0x03224688, 0x00a5a7f6, 0x001dfcf7, 0x0337afa2, 0x0004347b, 0x035236fb, 0x0015142d}}, Y: Field{[10]uint32{0x026ba175, 0x03c0603f, 0x01ef08b6, 0x00e99c42, 0x0313ff56, 0x037b4b5e, 0x021084d3, 0x03e1b537, 0x015762be, 0x0029f1fb}}}, + {X: Field{[10]uint32{0x00666a0f, 0x00b3e230, 0x001b84c3, 0x01bf44d4, 0x01bbf276, 0x0105f41d, 0x00256d67, 0x0378b32e, 0x01725e48, 0x002e9b03}}, Y: Field{[10]uint32{0x0125e442, 0x0061bcf9, 0x006405ed, 0x012e46f3, 0x02bdecd6, 0x0296640c, 0x02da6693, 0x00a67d43, 0x01327137, 0x00334aa4}}}, + {X: Field{[10]uint32{0x0205c921, 0x036dece5, 0x00b0553a, 0x0276ab56, 0x01d25a64, 0x0263ef7d, 0x011006b7, 0x03aed1bf, 0x01ff1fee, 0x002e5208}}, Y: Field{[10]uint32{0x01077c05, 0x03162afe, 0x0365a72d, 0x02bbbb10, 0x01f45ccf, 0x015d2bf3, 0x003d950c, 0x024a8b1f, 0x03a079bb, 0x00085626}}}, + {X: Field{[10]uint32{0x01a0681d, 0x0221e7c3, 0x01f8198f, 0x037a4f58, 0x00432f14, 0x02a58f32, 0x00e0d7a5, 0x01f1dadc, 0x0046497f, 0x001190d9}}, Y: Field{[10]uint32{0x01c83a5f, 0x03982352, 0x012398a3, 0x0396cfb2, 0x0348c367, 0x03a89797, 0x01a8aab5, 0x03604043, 0x024e90c4, 0x000a4d12}}}, + {X: Field{[10]uint32{0x00c1ae1d, 0x02c2ce39, 0x00d0802b, 0x005d6ea8, 0x01bd3be9, 0x02f2c33c, 0x019185b7, 0x0042f925, 0x02c6a2e2, 0x002f6396}}, Y: Field{[10]uint32{0x01b1fa19, 0x03c22a8b, 0x000a94ed, 0x0069f0fb, 0x0269c6f7, 0x03b22229, 0x03773a5e, 0x025d5769, 0x03e46dcc, 0x001ace06}}}, + {X: Field{[10]uint32{0x01f22493, 0x03463fe6, 0x0231974c, 0x024ece50, 0x017fb645, 0x022b39db, 0x00c34055, 0x029e943d, 0x021ac428, 0x00309f07}}, Y: Field{[10]uint32{0x019cf57c, 0x013e4671, 0x004a4954, 0x03cf0178, 0x0025108a, 0x02a7d665, 0x031884cf, 0x01ece872, 0x0261c12f, 0x003f2575}}}, + {X: Field{[10]uint32{0x03eb30d5, 0x00ebc89d, 0x03c029e5, 0x00050103, 0x0044c17c, 0x0364119b, 0x028168ee, 0x01329549, 0x0161837e, 0x00285d95}}, Y: Field{[10]uint32{0x02c28eb5, 0x022d9b2d, 0x015aecfc, 0x01d743e8, 0x033032c7, 0x0039b8bd, 0x0255d0b3, 0x0222ff35, 0x01e2b8d4, 0x00228b7b}}}, + {X: Field{[10]uint32{0x01ddbea9, 0x03a63060, 0x02f93b03, 0x00de0c03, 0x00e9eea7, 0x01e2e8da, 0x029279f6, 0x0332461f, 0x030d35ca, 0x000afda4}}, Y: Field{[10]uint32{0x0225209d, 0x03e81a79, 0x00db46e2, 0x00c30d74, 0x02d0f3f9, 0x0232a385, 0x03ee5383, 0x022ec0ff, 0x01433aaa, 0x00228b53}}}, + {X: Field{[10]uint32{0x0077c8d7, 0x019a9c1a, 0x0056a6a0, 0x01680e96, 0x00a36d08, 0x019d5649, 0x03005f4d, 0x02bbf643, 0x03259cc5, 0x001d9a9d}}, Y: Field{[10]uint32{0x00049190, 0x03078cd2, 0x03dc4171, 0x0012fd02, 0x0090b46d, 0x03a4e3bc, 0x01bfad15, 0x038b9fc1, 0x00974fd9, 0x0036cfeb}}}, + {X: Field{[10]uint32{0x00461268, 0x024bfe46, 0x03242887, 0x038e6a44, 0x02134196, 0x025cca76, 0x00c333c0, 0x0087517f, 0x00cd953f, 0x00349698}}, Y: Field{[10]uint32{0x010c7863, 0x03c9339e, 0x0270f397, 0x026240d4, 0x00a07ad5, 0x008d4a60, 0x03874e71, 0x020d7f6e, 0x03e8bd04, 0x00226fca}}}, + {X: Field{[10]uint32{0x02d95d68, 0x03f90a72, 0x000b360d, 0x021a3286, 0x019bf569, 0x01997abf, 0x021f467b, 0x0096c99c, 0x029e8b71, 0x0031eca3}}, Y: Field{[10]uint32{0x0295c398, 0x030ea9e7, 0x02167b37, 0x00d1d91a, 0x009ec7bf, 0x02f291da, 0x03947ed8, 0x02d869c7, 0x0158b3a7, 0x0002b0a3}}}, + {X: Field{[10]uint32{0x0059bc24, 0x02cd375f, 0x03a97ce8, 0x01803c7d, 0x0120c291, 0x033f3a61, 0x022d7a74, 0x0230a6b6, 0x008ac61f, 0x0038a948}}, Y: Field{[10]uint32{0x01c70830, 0x0367d6cf, 0x00e4a880, 0x009dddff, 0x03a152ce, 0x03a438e0, 0x034483b4, 0x02281332, 0x02144970, 0x00037a2e}}}, + {X: Field{[10]uint32{0x02e205b1, 0x0112b7c4, 0x03ca53e8, 0x000620a1, 0x016976e0, 0x0150259f, 0x032b152a, 0x037e574e, 0x00cd02e8, 0x00387a39}}, Y: Field{[10]uint32{0x03bfc9e2, 0x03633bd0, 0x02491a77, 0x025fd51a, 0x020d34aa, 0x008cdc8f, 0x03f00918, 0x0151ef2c, 0x02f9cdc7, 0x002976f1}}}, + {X: Field{[10]uint32{0x012b6512, 0x0152fc27, 0x0375bea4, 0x02cee257, 0x023c3143, 0x03cec70a, 0x02284803, 0x013954ac, 0x02514a68, 0x002c83c2}}, Y: Field{[10]uint32{0x000d02c9, 0x0376a5ba, 0x02c31e0e, 0x02173513, 0x00f7c955, 0x0250681f, 0x000b0c31, 0x00345027, 0x0380676d, 0x002f0f6c}}}, + {X: Field{[10]uint32{0x0029d3ec, 0x029a5a83, 0x009499cf, 0x0326e5d2, 0x039582cb, 0x001eb25b, 0x00d9d8d4, 0x02fdde53, 0x0123b1ad, 0x002dc69a}}, Y: Field{[10]uint32{0x00b4f151, 0x03f38699, 0x03b1c89b, 0x03b9d9e7, 0x027b6d75, 0x00e31cb4, 0x03113c8d, 0x01563ee4, 0x03899d59, 0x001d4608}}}, + {X: Field{[10]uint32{0x03d3bb3f, 0x013571a9, 0x01a65200, 0x017c3677, 0x00a82f41, 0x01d595e2, 0x00ef76c0, 0x00e34633, 0x01ac68ba, 0x003291eb}}, Y: Field{[10]uint32{0x028701df, 0x02b41412, 0x0137842f, 0x0130e5a7, 0x02ccd845, 0x00597f56, 0x0035385e, 0x00ce0910, 0x00ab1b78, 0x0002f566}}}, + {X: Field{[10]uint32{0x0140e441, 0x03e6740b, 0x025eea45, 0x0313667d, 0x014fb989, 0x03757932, 0x034eeece, 0x03a7ba7e, 0x0148acee, 0x0017eb78}}, Y: Field{[10]uint32{0x033831f0, 0x00775335, 0x031cb5e6, 0x032ce50f, 0x0015afd1, 0x02374b00, 0x01104cac, 0x015606b1, 0x023ae82e, 0x002e9bf2}}}, + {X: Field{[10]uint32{0x025f84e9, 0x02b698ff, 0x0049e8ad, 0x014798ce, 0x02e834c8, 0x0073cc3e, 0x000ba01a, 0x033c0024, 0x01d214fc, 0x001d9f72}}, Y: Field{[10]uint32{0x00404639, 0x00c85799, 0x017d69ee, 0x03466b86, 0x0101a5bc, 0x03f5f2ff, 0x02b97a52, 0x003958b5, 0x0111aca3, 0x00231942}}}, + {X: Field{[10]uint32{0x024f06d9, 0x01c5e2df, 0x0286b91d, 0x035d1df9, 0x01523544, 0x030f01b6, 0x02a7648f, 0x00a88176, 0x0161445e, 0x0009fe3e}}, Y: Field{[10]uint32{0x02a73a60, 0x01f37f60, 0x00172042, 0x010886fa, 0x02379332, 0x02de7977, 0x0196bce6, 0x01efa5d5, 0x032782cd, 0x000e4442}}}, + {X: Field{[10]uint32{0x033de668, 0x000c594f, 0x035bc6a4, 0x02260e5c, 0x008a1b28, 0x01e77792, 0x024070bf, 0x01792eb6, 0x005b343b, 0x00237812}}, Y: Field{[10]uint32{0x02d5729d, 0x033eb883, 0x021431c2, 0x01ca0c0b, 0x0212fbba, 0x03164492, 0x011c1a44, 0x0383df5f, 0x03676f43, 0x00240c15}}}, + {X: Field{[10]uint32{0x012df0ff, 0x03973165, 0x01fe1b68, 0x0287bb25, 0x005b6af8, 0x039c030a, 0x038d3188, 0x03a2ba2a, 0x036c8770, 0x001790f6}}, Y: Field{[10]uint32{0x006c7aa6, 0x00a90e54, 0x01f90ae0, 0x00f4dc1d, 0x009aeebb, 0x0179671e, 0x02a10911, 0x02f3f8e8, 0x028dd85f, 0x001a2098}}}, + {X: Field{[10]uint32{0x01a4ed54, 0x0047d096, 0x037a0893, 0x00f3b7fa, 0x03610286, 0x00b7c508, 0x00af4e35, 0x00c0379f, 0x02ab4bf4, 0x001f6cae}}, Y: Field{[10]uint32{0x038e8a84, 0x0009bf85, 0x000cbd33, 0x01328f53, 0x01e553a8, 0x02164273, 0x03fbbcd6, 0x0112f8c0, 0x01a2fbbb, 0x000e1d58}}}, + {X: Field{[10]uint32{0x0196c6f1, 0x0134436e, 0x00bbefc0, 0x0332aee4, 0x00cdbefd, 0x00cb6cf9, 0x03df9e82, 0x01a21f47, 0x01253910, 0x0025b6a1}}, Y: Field{[10]uint32{0x03f9edcc, 0x00f4c026, 0x00509402, 0x024adff3, 0x0345948c, 0x0370cca1, 0x035d6513, 0x01cd067e, 0x02314912, 0x001949c6}}}, + {X: Field{[10]uint32{0x01d50613, 0x029e122b, 0x03b0081b, 0x003eb2e5, 0x0264cd4c, 0x00e2d217, 0x03a51fa8, 0x004a13d6, 0x01cb14eb, 0x00213bfc}}, Y: Field{[10]uint32{0x02febd9e, 0x01e314a9, 0x004fc7f5, 0x0044cbca, 0x03609f45, 0x033a0631, 0x01e602b6, 0x002a35ec, 0x01c8a654, 0x000249b2}}}, + {X: Field{[10]uint32{0x02adfbbe, 0x00665078, 0x017057fe, 0x02489756, 0x00416e6a, 0x02fe5280, 0x02e60007, 0x00a83fd7, 0x03718e2a, 0x0007ae58}}, Y: Field{[10]uint32{0x0005b855, 0x027da84c, 0x01bb009c, 0x008f3fc3, 0x02d3cf05, 0x00018e6a, 0x03d40115, 0x0377eb70, 0x02d89635, 0x00121c2a}}}, + {X: Field{[10]uint32{0x03bdc098, 0x01372e1d, 0x03fd8d45, 0x0287dda0, 0x03c75fd4, 0x02bc64f7, 0x01a8696b, 0x03cc1c6f, 0x036a6ea3, 0x000a6528}}, Y: Field{[10]uint32{0x03856766, 0x00b1312f, 0x02eb3fc8, 0x000c6dda, 0x009969bf, 0x025bf4fa, 0x006bd0be, 0x00f5335e, 0x00eea727, 0x0039197a}}}, + {X: Field{[10]uint32{0x0126c414, 0x01d63567, 0x03c00237, 0x032edfcb, 0x01d2b68f, 0x038b65f6, 0x01b115b5, 0x015e8b0a, 0x0370f3d3, 0x000979fe}}, Y: Field{[10]uint32{0x0356c4f2, 0x0099dcfc, 0x02631fed, 0x00c3beb2, 0x00206b73, 0x00ea1aae, 0x0130fa01, 0x02257afd, 0x0370a3bb, 0x00125668}}}, + {X: Field{[10]uint32{0x007c0623, 0x035624cd, 0x020ea0df, 0x01496221, 0x03c3945c, 0x0359af16, 0x030481a2, 0x01aef867, 0x039880bf, 0x003f0e1f}}, Y: Field{[10]uint32{0x009d67c4, 0x0198faed, 0x001ff16e, 0x01d03042, 0x027ba332, 0x00d1812a, 0x01d07af7, 0x03c0ca72, 0x000e83ca, 0x002275ee}}}, + {X: Field{[10]uint32{0x0201e1d4, 0x000ca53f, 0x03a99e2f, 0x02d00217, 0x00ef5c00, 0x03c5ddc8, 0x0220fa82, 0x0327f840, 0x0368c25f, 0x003142bc}}, Y: Field{[10]uint32{0x017579fb, 0x02532dae, 0x0131ba42, 0x003e5e32, 0x0327d9f1, 0x03a52bde, 0x012b80d9, 0x00c25024, 0x03264198, 0x0030ddde}}}, + {X: Field{[10]uint32{0x00041f94, 0x01d85f84, 0x01bea7c9, 0x0121553d, 0x00d7015c, 0x010697c8, 0x02003629, 0x0366ea8b, 0x0109d524, 0x00283e74}}, Y: Field{[10]uint32{0x010e9ad0, 0x00f18a9c, 0x019f1daf, 0x00e80e9a, 0x012eae92, 0x01915838, 0x0277ff2c, 0x0384200f, 0x0002daa5, 0x000a3147}}}, + {X: Field{[10]uint32{0x00316de1, 0x0218a8d2, 0x03a285da, 0x008f2f37, 0x032138bc, 0x0020012c, 0x03271389, 0x02dc2161, 0x02270058, 0x00107449}}, Y: Field{[10]uint32{0x001b9673, 0x037d3c1f, 0x02999d29, 0x029243ac, 0x00341d90, 0x03545764, 0x015f4513, 0x033b2572, 0x0029153b, 0x000189dc}}}, + {X: Field{[10]uint32{0x0299ca87, 0x003e159b, 0x0221cfb8, 0x02335875, 0x02577444, 0x00ceb6ce, 0x03afb77e, 0x03d50f64, 0x00cefe6c, 0x00251316}}, Y: Field{[10]uint32{0x004d66b5, 0x01cc5c0a, 0x03056e74, 0x022adf5e, 0x02329495, 0x01af2c88, 0x011c5576, 0x031c5f2a, 0x001c9b7f, 0x00301c7b}}}, + {X: Field{[10]uint32{0x02437145, 0x02afafef, 0x00635f2b, 0x01645ca4, 0x009a27be, 0x023baed6, 0x0029bf18, 0x01c73a70, 0x0312e06d, 0x000cc1ea}}, Y: Field{[10]uint32{0x0061d213, 0x01aa5272, 0x014c3c6b, 0x03425f61, 0x014a6966, 0x0227a602, 0x008dd9bf, 0x0242451d, 0x00b928cf, 0x0022270f}}}, + {X: Field{[10]uint32{0x01cb9ae6, 0x006dfcd1, 0x028acdee, 0x01c8b6da, 0x0272b745, 0x0090c1ed, 0x0203abd0, 0x00893932, 0x00111eb2, 0x0010aebc}}, Y: Field{[10]uint32{0x0212ee06, 0x0257ea8b, 0x00b11256, 0x0349cde7, 0x02879515, 0x02348b17, 0x0164bec3, 0x037a892d, 0x0128d608, 0x002fccb8}}}, + {X: Field{[10]uint32{0x0002c621, 0x01321531, 0x006bfe73, 0x03028af2, 0x01166c69, 0x0043445d, 0x03be8981, 0x012f4127, 0x02bbbe7b, 0x00215aea}}, Y: Field{[10]uint32{0x0112ac0c, 0x035d0612, 0x0321b943, 0x025e7b51, 0x011f8251, 0x0388a7a2, 0x0024161b, 0x007f4f35, 0x03c9b6d3, 0x000928c8}}}, + {X: Field{[10]uint32{0x024a9cd4, 0x01b60c34, 0x02c1c321, 0x03720172, 0x0195aeea, 0x03a0e0d3, 0x00c224ed, 0x0050f61d, 0x018ed998, 0x000e36f0}}, Y: Field{[10]uint32{0x027eae4a, 0x02247945, 0x00a03570, 0x03b9fe4d, 0x01271c6e, 0x0242ad71, 0x038e2eaa, 0x015de3a8, 0x0126f7e8, 0x0009cfb0}}}, + {X: Field{[10]uint32{0x0188dc59, 0x007ae052, 0x00d92c98, 0x019697d2, 0x015e24c0, 0x020dd2bc, 0x026bb20c, 0x008ca4c5, 0x005bffcd, 0x000d6772}}, Y: Field{[10]uint32{0x03bf39c6, 0x0058beaf, 0x0184ae58, 0x000fdded, 0x02c4a057, 0x010def7f, 0x0237d06e, 0x01622e40, 0x01f7deef, 0x0037977b}}}, + {X: Field{[10]uint32{0x023666ea, 0x028d6df1, 0x0283bb1c, 0x01d275fc, 0x031d872a, 0x0297cf69, 0x022f73a6, 0x007220f7, 0x0065e2e9, 0x003841a0}}, Y: Field{[10]uint32{0x03752cd9, 0x0347c05c, 0x00523c5e, 0x03eb2375, 0x01a7e155, 0x01da140d, 0x0128afaa, 0x0021461e, 0x0252b5df, 0x0020430e}}}, + {X: Field{[10]uint32{0x03b19d83, 0x02141b76, 0x033c70fd, 0x01b72f57, 0x00b56495, 0x03377f7f, 0x03171830, 0x032699b8, 0x037137e7, 0x00141d9f}}, Y: Field{[10]uint32{0x00d4fff8, 0x00e19928, 0x039fa5e3, 0x019d58f6, 0x02393b61, 0x03cb82b8, 0x03d24dd3, 0x017fb601, 0x015f5e9d, 0x003870b7}}}, + {X: Field{[10]uint32{0x02e65864, 0x02d66039, 0x00a725a0, 0x017fd4f6, 0x035e0127, 0x03f3a84d, 0x0216d0de, 0x020d57c4, 0x03f0cdf8, 0x001133b2}}, Y: Field{[10]uint32{0x011cd40e, 0x030eb5bd, 0x00d2e025, 0x008bc572, 0x02e8e3f0, 0x019ef18d, 0x0290550e, 0x03a6e7b8, 0x028e5094, 0x00011a55}}}, + {X: Field{[10]uint32{0x02aa18b3, 0x038d11e5, 0x005e886c, 0x024980b8, 0x0387ed8a, 0x02bf28ae, 0x02fe5976, 0x02c1fbe8, 0x00ea43cb, 0x00060c32}}, Y: Field{[10]uint32{0x031da49d, 0x0077610b, 0x01d658bf, 0x03ead511, 0x013c8ce2, 0x03e8c704, 0x03562037, 0x02bb9d9f, 0x0328e064, 0x0037d544}}}, + {X: Field{[10]uint32{0x019326c6, 0x0242a92f, 0x02b799bf, 0x03ab13e3, 0x00708245, 0x0107d3b9, 0x0033417a, 0x01eac947, 0x037a473a, 0x00163552}}, Y: Field{[10]uint32{0x009b2a85, 0x01168bb1, 0x027891ce, 0x024febd7, 0x02a16920, 0x02c72cb2, 0x00c331bf, 0x0381f329, 0x033815e2, 0x0028647c}}}, + {X: Field{[10]uint32{0x02c6792c, 0x024ad544, 0x01af7ba1, 0x01b913a0, 0x0170a18b, 0x00bf2618, 0x03af1044, 0x0204b980, 0x02049507, 0x003c3739}}, Y: Field{[10]uint32{0x03b966e4, 0x029ec26e, 0x015ce3ad, 0x02d31536, 0x004cc60e, 0x033c3d58, 0x0248df55, 0x01bb588f, 0x0221b5e8, 0x00308868}}}, + {X: Field{[10]uint32{0x01dd2ab5, 0x02e94156, 0x013d40d7, 0x033eb94a, 0x02e4b958, 0x0112c9ab, 0x02aaa046, 0x00c0aca1, 0x01e572c0, 0x0010bec2}}, Y: Field{[10]uint32{0x01f2299f, 0x0206f546, 0x00099437, 0x02a09d25, 0x03f46e1b, 0x020f9f45, 0x007ec769, 0x01a223ef, 0x0173a00e, 0x001e7041}}}, + {X: Field{[10]uint32{0x03502ecb, 0x034104bc, 0x005deea2, 0x02f222c0, 0x00935465, 0x0036b443, 0x028db25e, 0x00326a18, 0x0151ddae, 0x001eb7c5}}, Y: Field{[10]uint32{0x01acfd20, 0x01621bca, 0x01a9bb3c, 0x019e7651, 0x012e031e, 0x02744428, 0x01ef5c36, 0x03aa4832, 0x03a2143c, 0x00195f02}}}, + {X: Field{[10]uint32{0x002c7a5a, 0x03f6470a, 0x013454df, 0x0324a049, 0x013a7bfd, 0x03f0bd6f, 0x0271310a, 0x03da9b58, 0x00b956fd, 0x00375692}}, Y: Field{[10]uint32{0x00a52657, 0x03df305f, 0x021e385d, 0x03364685, 0x002ac6b0, 0x02564119, 0x03521072, 0x01fcdbea, 0x00372e06, 0x001ce434}}}, + {X: Field{[10]uint32{0x021466fe, 0x01b0b622, 0x0301d293, 0x00ec74d8, 0x0013ac76, 0x00134b38, 0x01c783b1, 0x011652f8, 0x00b51537, 0x0018c614}}, Y: Field{[10]uint32{0x0190882e, 0x03cc8a31, 0x03a8578b, 0x000addfb, 0x022016d2, 0x015ca6b3, 0x0241416c, 0x01f912a4, 0x021ea9b6, 0x00092433}}}, + {X: Field{[10]uint32{0x03a0bca5, 0x02c381bc, 0x028e0741, 0x01a6f71a, 0x00244668, 0x00e8f331, 0x0185cd58, 0x0088a6bb, 0x01e4d673, 0x000ccb8e}}, Y: Field{[10]uint32{0x017578e7, 0x01135217, 0x025aa602, 0x0037d351, 0x00b66ac3, 0x01d2b597, 0x018b1b40, 0x014ab829, 0x030360db, 0x00242103}}}, + {X: Field{[10]uint32{0x022f0c97, 0x0144e90d, 0x00980de7, 0x02ca479c, 0x01d72c0e, 0x00994cbc, 0x027224e8, 0x03870595, 0x0156f0c7, 0x00378065}}, Y: Field{[10]uint32{0x00411ea3, 0x002bb61a, 0x03e479af, 0x02f5925d, 0x01d75fa5, 0x018e094a, 0x022227a6, 0x02210105, 0x039d1cc9, 0x000e68f5}}}, + {X: Field{[10]uint32{0x00ed859f, 0x0128b2c9, 0x002a6809, 0x01b28fe4, 0x024f81b7, 0x006e0b91, 0x02ffbf26, 0x036a0031, 0x00c8e675, 0x00131130}}, Y: Field{[10]uint32{0x0245ac34, 0x00ad64c3, 0x0224663b, 0x025c68e8, 0x00c54978, 0x010eae2b, 0x03f28002, 0x01177b63, 0x02881ecc, 0x0016787b}}}, + {X: Field{[10]uint32{0x009286a2, 0x00d953cc, 0x03d28279, 0x02f844f9, 0x02a4e0dc, 0x017773b1, 0x01f4d1a8, 0x03867970, 0x01b80481, 0x003980ce}}, Y: Field{[10]uint32{0x009d9d59, 0x0229c1a9, 0x0372d1b0, 0x03e51cdf, 0x00bc58e3, 0x034a96a6, 0x01c7998e, 0x02507ed4, 0x02cca607, 0x002687ba}}}, + {X: Field{[10]uint32{0x00a25e66, 0x0340b0f6, 0x01be0d44, 0x015714a1, 0x010c6ad9, 0x0023ffb1, 0x00bc4727, 0x024bce7d, 0x02e30e72, 0x00043d0b}}, Y: Field{[10]uint32{0x00916a25, 0x02a5d73b, 0x01106034, 0x0037c069, 0x00183e13, 0x0259f3c5, 0x01d5f2bc, 0x038a3f6e, 0x01f053eb, 0x0001bcd9}}}, + {X: Field{[10]uint32{0x0329c445, 0x014f6199, 0x01548b6d, 0x02b964ea, 0x03703af3, 0x031635d2, 0x02fb0f31, 0x019a1df4, 0x01cad128, 0x001f824c}}, Y: Field{[10]uint32{0x036b0b0b, 0x00485d07, 0x03ffbf5a, 0x03e489dc, 0x00a9c34a, 0x0015bd32, 0x03caf7e8, 0x02d07598, 0x01fc75ea, 0x0001792e}}}, + {X: Field{[10]uint32{0x03963f22, 0x00450d55, 0x00f1c6a0, 0x03036c9e, 0x01b7f1ac, 0x020d8bdf, 0x014cd1a7, 0x00f1b3fc, 0x037ef961, 0x000d8c4f}}, Y: Field{[10]uint32{0x03d7edc2, 0x006ead10, 0x03a69864, 0x0246e998, 0x0033960a, 0x01250817, 0x006627f5, 0x0108c52b, 0x02ab02a9, 0x00079a51}}}, + {X: Field{[10]uint32{0x0069fe01, 0x03b15d0a, 0x033bb55c, 0x0164bf23, 0x0283f9ba, 0x03aa8ba7, 0x0218a63c, 0x030996cb, 0x02d88eed, 0x00088fbb}}, Y: Field{[10]uint32{0x01bbd71c, 0x00842570, 0x025ffeff, 0x02e35a1f, 0x005593f7, 0x00b5cb44, 0x0232cc89, 0x026ff3cd, 0x01734ae2, 0x001c8488}}}, + {X: Field{[10]uint32{0x00b3ec20, 0x01e9698a, 0x035fc31b, 0x02f3e6a6, 0x0160dbb2, 0x021e5684, 0x03b9b321, 0x00b1780f, 0x02c93330, 0x002daf57}}, Y: Field{[10]uint32{0x019dd495, 0x0074b672, 0x0242cd0f, 0x03ce6d0a, 0x0034f373, 0x00ed22eb, 0x01f051d6, 0x0397fac5, 0x03f298a8, 0x003ee7e1}}}, + {X: Field{[10]uint32{0x00e24668, 0x02a2c053, 0x012c98f0, 0x02fcee3e, 0x025a802d, 0x023f55eb, 0x03f69ce0, 0x0093ec55, 0x03603b1c, 0x0028d969}}, Y: Field{[10]uint32{0x000a89f9, 0x02fb0fd7, 0x037606f2, 0x02d06c34, 0x02578005, 0x02606039, 0x0238cc72, 0x02af680a, 0x022b7746, 0x001cf990}}}, + {X: Field{[10]uint32{0x03cebe6e, 0x017287b5, 0x0213aa23, 0x007b4de7, 0x03e24bac, 0x03511a81, 0x02dba309, 0x00dbdbd2, 0x03ac43e4, 0x003a1be3}}, Y: Field{[10]uint32{0x00a166af, 0x00f5b6fd, 0x01cd4a91, 0x0009df30, 0x00930b74, 0x00a8044d, 0x03a592c4, 0x02a6f5c4, 0x00efaa75, 0x00079eed}}}, + {X: Field{[10]uint32{0x039bd5ac, 0x00fa1a3a, 0x015cc993, 0x038ba162, 0x0205cab3, 0x03f78768, 0x0109304c, 0x0155c76b, 0x01fad2b2, 0x003d695f}}, Y: Field{[10]uint32{0x037c1ff6, 0x02317a61, 0x029b0c76, 0x001afb2e, 0x008eb909, 0x02265e89, 0x018dad26, 0x00390754, 0x025e8fc9, 0x00349977}}}, + {X: Field{[10]uint32{0x01f76c7b, 0x011651dd, 0x010f145c, 0x01f28afc, 0x01665660, 0x009192a7, 0x02fd8cab, 0x024dd1f9, 0x017a0725, 0x00387734}}, Y: Field{[10]uint32{0x02f9a20e, 0x03799012, 0x0278a130, 0x0339ae55, 0x00dff819, 0x008caf51, 0x009feb61, 0x021b4992, 0x0310023f, 0x003be8b0}}}, + {X: Field{[10]uint32{0x03a801ff, 0x00e1b373, 0x00c3bafd, 0x03f73290, 0x03cb3774, 0x00176a6a, 0x0274b80a, 0x025ab46f, 0x03dd0849, 0x0020fe2a}}, Y: Field{[10]uint32{0x03c3f63d, 0x01f18e92, 0x002873d3, 0x00ddaa89, 0x001c85ff, 0x019a1a36, 0x02e792d9, 0x02c4395b, 0x0164329f, 0x00099faf}}}, + {X: Field{[10]uint32{0x03259fae, 0x02e952d3, 0x02454ea9, 0x006bcd3f, 0x03ca324b, 0x01445216, 0x0087c716, 0x016a409d, 0x01796ca8, 0x00153327}}, Y: Field{[10]uint32{0x02b2da2a, 0x007682fe, 0x020f2e20, 0x030545f3, 0x023c6ce8, 0x03adba0e, 0x0016e9ed, 0x021875f4, 0x0071ef0b, 0x000630e4}}}, + {X: Field{[10]uint32{0x01402ba4, 0x0070864c, 0x02a51635, 0x02b25039, 0x001c3f65, 0x0047e1d1, 0x0075ac1b, 0x0059538a, 0x012ae009, 0x002744a9}}, Y: Field{[10]uint32{0x00e81d2e, 0x038bc04e, 0x02e52bbe, 0x00b754fd, 0x03c6d7e4, 0x03d7eb58, 0x00d17f39, 0x0066bd06, 0x03342762, 0x0017feec}}}, + {X: Field{[10]uint32{0x02496998, 0x00ed9979, 0x038244f2, 0x03c2dfbc, 0x00488007, 0x03c86ba9, 0x0030917f, 0x006a4734, 0x01b76682, 0x001966ff}}, Y: Field{[10]uint32{0x014784e0, 0x0139f289, 0x039db844, 0x023af087, 0x03d7321a, 0x022f091f, 0x01ef96b7, 0x03a168d0, 0x00bc4506, 0x000ab5c2}}}, + {X: Field{[10]uint32{0x02b4670b, 0x004a5b97, 0x02413d60, 0x013d5cc4, 0x0276ba1b, 0x0055269a, 0x026a2538, 0x020dd121, 0x0233d4a0, 0x0038b313}}, Y: Field{[10]uint32{0x00672476, 0x00502269, 0x00e18797, 0x002e8eca, 0x0080497f, 0x01930dc6, 0x039780ea, 0x01fcd1ed, 0x0325347e, 0x0014a2ca}}}, + {X: Field{[10]uint32{0x02edec68, 0x023840f9, 0x00131e24, 0x03133f2b, 0x01e8dbba, 0x02941580, 0x02164c0f, 0x030db26c, 0x039c9e21, 0x0014a702}}, Y: Field{[10]uint32{0x027125f4, 0x01c04a55, 0x037e4967, 0x017c272e, 0x026cb74f, 0x034b80e1, 0x0269e6ab, 0x032804cd, 0x002172a0, 0x001fe912}}}, + {X: Field{[10]uint32{0x003b63a1, 0x034d54da, 0x01dda654, 0x01efacbc, 0x033d89e5, 0x0203ed96, 0x00d6532a, 0x01f47055, 0x03afbe6a, 0x000a275a}}, Y: Field{[10]uint32{0x01005400, 0x024c5a1f, 0x03b53388, 0x03c30f36, 0x03db149f, 0x01499e1d, 0x022c62c5, 0x02358583, 0x0063d3ce, 0x002007d2}}}, + {X: Field{[10]uint32{0x010f14a1, 0x00bb3c1e, 0x0099e51f, 0x01616346, 0x022eab9b, 0x0096ad0c, 0x0005bb34, 0x019981f0, 0x00c9e3b3, 0x00345aa1}}, Y: Field{[10]uint32{0x0156dd07, 0x02d46614, 0x0231379b, 0x033c672c, 0x0146ec79, 0x02b5b83c, 0x03fc5ea4, 0x014ca3e7, 0x01ab1071, 0x000b1bd7}}}, + {X: Field{[10]uint32{0x036348f1, 0x01c0ec5a, 0x01affd30, 0x03cfb2f8, 0x02a7062d, 0x010436ac, 0x00a6893e, 0x02fefd10, 0x00394fda, 0x00340f2b}}, Y: Field{[10]uint32{0x009d19f9, 0x006e8d11, 0x0040ae5d, 0x01b4e390, 0x035dc4a8, 0x037a56c6, 0x0185c087, 0x02cc5dc3, 0x03cef530, 0x000548c4}}}, + {X: Field{[10]uint32{0x0063379b, 0x0081ed6a, 0x03101c89, 0x0012f125, 0x00d4c4b6, 0x03e5a616, 0x00a7d851, 0x0312a5df, 0x006ca673, 0x002d9acf}}, Y: Field{[10]uint32{0x01624da4, 0x01c2c18c, 0x005609a4, 0x03fc61fc, 0x004b00fa, 0x0055a587, 0x02c63cb7, 0x01aab120, 0x0163771c, 0x00152e89}}}, + {X: Field{[10]uint32{0x018c8c45, 0x039145aa, 0x01e86236, 0x01a01e71, 0x002a43fb, 0x039f5cc2, 0x013127f4, 0x01f35f7f, 0x024411c4, 0x002f9a11}}, Y: Field{[10]uint32{0x026733da, 0x03eba160, 0x01f19a15, 0x030bf7ba, 0x017d78dd, 0x0273143a, 0x0395aaeb, 0x00da30b8, 0x0383c61d, 0x001e4a43}}}, + {X: Field{[10]uint32{0x03cbde9b, 0x00afedeb, 0x00e0c5c6, 0x007e4748, 0x0004ca42, 0x03b8061e, 0x021de709, 0x03d18d35, 0x03a09f34, 0x0011e2b0}}, Y: Field{[10]uint32{0x030988bf, 0x00dd955e, 0x01c34f6e, 0x012fddfb, 0x02e4bc7d, 0x015d2d7d, 0x027526f5, 0x0042586b, 0x03b2ccbc, 0x003dd4bc}}}, + {X: Field{[10]uint32{0x033dcfc8, 0x01905e63, 0x00796e70, 0x028301df, 0x037271a2, 0x026f5284, 0x00d7de9c, 0x01c6a675, 0x015af2ed, 0x001d17cd}}, Y: Field{[10]uint32{0x02e288b9, 0x010818e1, 0x01f6e672, 0x00998c31, 0x02d4fe88, 0x00c78664, 0x0105816c, 0x021fc27b, 0x01f46b0c, 0x00063a98}}}, + {X: Field{[10]uint32{0x02760ce0, 0x02d483a1, 0x014b218d, 0x0238e2ae, 0x00a3157a, 0x00a1909f, 0x01aede59, 0x02a2c242, 0x016f9878, 0x001539ef}}, Y: Field{[10]uint32{0x01fb8e49, 0x03493cc3, 0x03f2ddc1, 0x0294d034, 0x00e04bdb, 0x01d7702d, 0x033c6386, 0x02d12347, 0x000dc1ea, 0x0035edf6}}}, + {X: Field{[10]uint32{0x007d510e, 0x012807e8, 0x0120827e, 0x02b8f725, 0x0399b018, 0x0331bfaf, 0x006f5c7f, 0x010c7bcf, 0x03b655eb, 0x003fd5ab}}, Y: Field{[10]uint32{0x0191e371, 0x03a6d109, 0x03509655, 0x00403a89, 0x02ec7232, 0x01268a35, 0x00388b40, 0x02c71e7d, 0x01b842d7, 0x0026feaf}}}, + {X: Field{[10]uint32{0x029cda72, 0x00e7487f, 0x02be382d, 0x01057fcf, 0x00ea511b, 0x0363a9e4, 0x01d02506, 0x023f219e, 0x0099ed29, 0x0030af30}}, Y: Field{[10]uint32{0x030f971f, 0x03b2d614, 0x03070aa1, 0x03c163be, 0x00825de4, 0x00bf4e31, 0x02c31a58, 0x03ddcd6d, 0x02c435ec, 0x001b1efc}}}, + {X: Field{[10]uint32{0x00e2ec4e, 0x020061c2, 0x000f599a, 0x00da242e, 0x02c8549e, 0x0271a07f, 0x014b9a11, 0x00cc79b1, 0x01449811, 0x0008e0fc}}, Y: Field{[10]uint32{0x0133a1f9, 0x0182838d, 0x01cb1448, 0x00fa774d, 0x00d8fff0, 0x00111c3c, 0x00a999a7, 0x02dad64e, 0x011fd846, 0x0004ead0}}}, + {X: Field{[10]uint32{0x02096048, 0x01afc31b, 0x016b817d, 0x01ca2778, 0x0209953f, 0x0293d499, 0x0244584b, 0x00762fe2, 0x01c0d4fa, 0x000bc89c}}, Y: Field{[10]uint32{0x03b42fc4, 0x0182d80b, 0x00ab57cd, 0x00f69bc5, 0x03a95717, 0x00fbd54f, 0x0332c226, 0x0143a2db, 0x005db40e, 0x00191bbc}}}, + {X: Field{[10]uint32{0x01e951c7, 0x007c9a89, 0x01d089bf, 0x03682b69, 0x03809e7a, 0x02c047ba, 0x01be55cb, 0x01e89fbb, 0x031b0f06, 0x002ded26}}, Y: Field{[10]uint32{0x037c33ed, 0x037b8b1f, 0x033315b2, 0x00811641, 0x014a9b7f, 0x01f2c0ca, 0x02ec95c0, 0x001496b5, 0x00aca816, 0x003fb1d8}}}, + {X: Field{[10]uint32{0x01409223, 0x0206a979, 0x03557941, 0x032e7c2b, 0x027765d4, 0x00b6be07, 0x01866eb1, 0x00f9725c, 0x01cad993, 0x000db238}}, Y: Field{[10]uint32{0x008b8fdf, 0x0064cab7, 0x00853e29, 0x017d4926, 0x0122f2e3, 0x0045baa5, 0x01cc7309, 0x008a0b5c, 0x02d0a025, 0x002257ad}}}, + {X: Field{[10]uint32{0x001ed523, 0x01ef78ef, 0x00d6a6ee, 0x00455a13, 0x00fa5b8a, 0x0330ac38, 0x0173e018, 0x00d6484c, 0x01276328, 0x000f2fa4}}, Y: Field{[10]uint32{0x0244dc81, 0x03cc33f3, 0x03055e4d, 0x02cf4264, 0x01c5149a, 0x01d7c785, 0x030aa9dc, 0x01b26e65, 0x01c922f9, 0x001ecb4f}}}, + {X: Field{[10]uint32{0x0247213c, 0x01fa5ed8, 0x02d164e6, 0x02640c53, 0x02fe0aec, 0x022c8e79, 0x0048d380, 0x0250648d, 0x0141c463, 0x001dba53}}, Y: Field{[10]uint32{0x01fa1278, 0x03061ac8, 0x03cb5a3b, 0x0392fca0, 0x03f9efe4, 0x01d7e8e3, 0x03460bfd, 0x001d2440, 0x02c32f01, 0x0023b929}}}, + {X: Field{[10]uint32{0x031851ec, 0x03cd0cd2, 0x00c08506, 0x009e3bb0, 0x025b265d, 0x01ffa76e, 0x01749e00, 0x039f9e85, 0x01cb12c0, 0x00124e49}}, Y: Field{[10]uint32{0x0062b193, 0x02c5af13, 0x01a9a1f5, 0x003b6067, 0x02e4a240, 0x03dcc299, 0x02b318f9, 0x029195b2, 0x006b3960, 0x001c2403}}}, + {X: Field{[10]uint32{0x003cdcbf, 0x01cebb71, 0x026b7511, 0x01aaa7d7, 0x00387330, 0x01208f4e, 0x0020eb4a, 0x00e4f5e6, 0x02bad1a1, 0x002cdff6}}, Y: Field{[10]uint32{0x0327030a, 0x03b18203, 0x0252f28f, 0x03ca78d5, 0x03dfd325, 0x00c29d69, 0x00df67be, 0x0344e788, 0x00de57fa, 0x002141bc}}}, + {X: Field{[10]uint32{0x00a5e8c1, 0x027d296c, 0x007033c2, 0x008c271b, 0x008f2b70, 0x027e41c9, 0x030c90e0, 0x017124ca, 0x020c48e9, 0x00111465}}, Y: Field{[10]uint32{0x00d7490c, 0x006da1f5, 0x024de53b, 0x013efbd4, 0x0228bc40, 0x01dd9a93, 0x01c9e1a4, 0x027d9a58, 0x0218d9ce, 0x0020d54e}}}, + {X: Field{[10]uint32{0x03ea3449, 0x018ee037, 0x00704caf, 0x006f21a7, 0x00785772, 0x00fe61c6, 0x00ab20eb, 0x01a6e603, 0x01a8697c, 0x0026c2b0}}, Y: Field{[10]uint32{0x027e60e9, 0x0159877e, 0x0045d65b, 0x008c1cba, 0x0361b617, 0x00a02614, 0x0232a582, 0x02fcfdc7, 0x0053bf1b, 0x00084393}}}, + {X: Field{[10]uint32{0x001e0851, 0x01a12d1e, 0x01cebe92, 0x03e9f6f4, 0x0132eca4, 0x03003731, 0x02d62de1, 0x013df848, 0x0355ccae, 0x00399a5c}}, Y: Field{[10]uint32{0x01bdc3cb, 0x02e88dba, 0x01da1736, 0x024509ef, 0x029d3ded, 0x02201aa0, 0x00353f71, 0x03bcf251, 0x00ffdbe5, 0x0007c48b}}}, + {X: Field{[10]uint32{0x0167201e, 0x027c983c, 0x03f2afe3, 0x01387311, 0x03ad480a, 0x00a22eb1, 0x0326f861, 0x02932807, 0x00f11a1a, 0x003fea24}}, Y: Field{[10]uint32{0x01439cb4, 0x011272a1, 0x02b5d69d, 0x03682c06, 0x00ac569c, 0x01f43ba3, 0x03c41497, 0x03f0f51c, 0x03c41716, 0x0005a237}}}, + {X: Field{[10]uint32{0x00b6bf47, 0x02c6d3d5, 0x02c14cd3, 0x015e51b1, 0x00c41fcc, 0x03012813, 0x02b09b15, 0x00e33d8f, 0x00f26ce2, 0x00242235}}, Y: Field{[10]uint32{0x00d2c2b9, 0x00997579, 0x02909bfe, 0x0204adc3, 0x032ae4ec, 0x00f4d676, 0x01c9943b, 0x000138f5, 0x0017bc61, 0x00278e01}}}, + {X: Field{[10]uint32{0x01576a91, 0x0023ff36, 0x0070767c, 0x0288b00d, 0x0299949c, 0x00ca5af0, 0x03f7e5fe, 0x018383f9, 0x01dac1e7, 0x0028ce57}}, Y: Field{[10]uint32{0x012393d3, 0x025039d1, 0x038706ee, 0x00337800, 0x02314185, 0x00f7f3ee, 0x03070162, 0x01b45c5b, 0x039a5403, 0x0013e2a1}}}, + {X: Field{[10]uint32{0x038ad651, 0x0219e2ca, 0x00ecbd20, 0x0035d4cc, 0x011a7730, 0x007da1aa, 0x00ef2345, 0x03078163, 0x016454aa, 0x00047953}}, Y: Field{[10]uint32{0x01c020f2, 0x022ce5b2, 0x026796e0, 0x01164234, 0x01aaa53f, 0x0154a893, 0x0121dfef, 0x0067e715, 0x01605a84, 0x001d26ca}}}, + {X: Field{[10]uint32{0x00327f30, 0x02023f19, 0x0174675e, 0x036a3932, 0x0198f5f0, 0x031c074a, 0x02d5a707, 0x03a08aad, 0x00df7b41, 0x00323c4f}}, Y: Field{[10]uint32{0x03199404, 0x01a251f0, 0x0194d441, 0x02b75827, 0x00445d7a, 0x007cd3d8, 0x00329d6a, 0x0270737b, 0x01df17c0, 0x0012269a}}}, + {X: Field{[10]uint32{0x02d84442, 0x00f3dba4, 0x0250cd46, 0x02522897, 0x029487f3, 0x0386a770, 0x00c628c3, 0x0120e2a5, 0x02dccf67, 0x00245d79}}, Y: Field{[10]uint32{0x03de1c22, 0x002061a3, 0x007298cb, 0x00ec6e0f, 0x03c13e19, 0x01e329e9, 0x0237e510, 0x01c49547, 0x013fed37, 0x0021c15c}}}, + {X: Field{[10]uint32{0x0220099b, 0x018efd0d, 0x0209d228, 0x03b36c5e, 0x005df8b9, 0x014eb028, 0x038f6b89, 0x03c3a7b9, 0x012fb6d5, 0x0023bb52}}, Y: Field{[10]uint32{0x020ff1bf, 0x03a22747, 0x039d99ec, 0x03f41036, 0x0082e1ac, 0x0090e7b2, 0x00f8b946, 0x00ba6367, 0x03421767, 0x0008e915}}}, + {X: Field{[10]uint32{0x015c2dd9, 0x03e8d9c3, 0x03756beb, 0x02f1946d, 0x035cde90, 0x00417d75, 0x0393f543, 0x001bbde5, 0x0223dbac, 0x0032e573}}, Y: Field{[10]uint32{0x024a9a48, 0x022f9785, 0x02a4fc61, 0x01d3dfb3, 0x0057d22d, 0x01c777ad, 0x035ed992, 0x02c301ce, 0x02bac023, 0x002584a9}}}, + {X: Field{[10]uint32{0x03a3c980, 0x02b24199, 0x007c915d, 0x024e7391, 0x01d8fdd4, 0x02d69de4, 0x02a8ebf8, 0x03fcdf50, 0x00c8bbd3, 0x00199c86}}, Y: Field{[10]uint32{0x00ec26c0, 0x02020f23, 0x00f2ace9, 0x039c19d4, 0x00452a21, 0x00156d55, 0x0344aab1, 0x02bf751a, 0x01799e19, 0x00375004}}}, + {X: Field{[10]uint32{0x02f76e5f, 0x0166be0c, 0x0385219b, 0x02d683b4, 0x000c7627, 0x0310a5a6, 0x013e855d, 0x01214739, 0x01c60ded, 0x002211e6}}, Y: Field{[10]uint32{0x021c4a6b, 0x036998b0, 0x005ac3af, 0x01dff33c, 0x0022e343, 0x014b379e, 0x00d2d371, 0x010231e7, 0x01ed84e6, 0x0008e35d}}}, + {X: Field{[10]uint32{0x0111d143, 0x03bbab5a, 0x0396a256, 0x0240e9af, 0x022cc8bb, 0x0093a9b4, 0x03a05bae, 0x0020b165, 0x036b5fc0, 0x0023663c}}, Y: Field{[10]uint32{0x00ab3cd3, 0x035ece38, 0x01516f2a, 0x00c6c770, 0x03de7df9, 0x0005a05d, 0x01b2fcf8, 0x00a9b541, 0x011afc90, 0x0009ba2b}}}, + {X: Field{[10]uint32{0x03d70ad2, 0x00fd2e0f, 0x001ae740, 0x0223219d, 0x03d1db23, 0x034bbec7, 0x032cbc28, 0x031b4c9f, 0x02cac0dd, 0x002ea418}}, Y: Field{[10]uint32{0x028b38c2, 0x012ec299, 0x019f78f2, 0x03f5edcf, 0x01674539, 0x00e05115, 0x0171ccd5, 0x039d5367, 0x035b3036, 0x0011cecc}}}, + {X: Field{[10]uint32{0x02cdca29, 0x007700c2, 0x008f01ff, 0x014c478a, 0x017453ca, 0x01588414, 0x029be675, 0x039825e9, 0x02d73bf0, 0x00128b4d}}, Y: Field{[10]uint32{0x02ca8f83, 0x0290e1ac, 0x001d8595, 0x0205236c, 0x029d694a, 0x00a63d7e, 0x0283ac6c, 0x00c73513, 0x01e7a903, 0x0003fda4}}}, + {X: Field{[10]uint32{0x0337d0c4, 0x018b8773, 0x01c4fcd3, 0x00db8015, 0x006b3651, 0x00b0c972, 0x00fb0d93, 0x012c5ad9, 0x028fd99c, 0x003a1a3c}}, Y: Field{[10]uint32{0x00d4a9eb, 0x00ab7b13, 0x00bca274, 0x0044df65, 0x0240e5fa, 0x02224426, 0x00e0440e, 0x0040d23a, 0x02c18340, 0x002b4cd1}}}, + {X: Field{[10]uint32{0x03abbf3b, 0x028d464a, 0x03eea99d, 0x025b6903, 0x03ea77e6, 0x0088e60c, 0x0177e566, 0x01b2944b, 0x0289830a, 0x001b17a1}}, Y: Field{[10]uint32{0x01779540, 0x03a5196b, 0x017c12be, 0x00351a96, 0x0356b983, 0x01d4d91f, 0x01c333dd, 0x002d81ef, 0x01f15fd0, 0x0030a781}}}, + {X: Field{[10]uint32{0x00046344, 0x0096fb07, 0x02210e1a, 0x0318942b, 0x01c317ad, 0x02e756a4, 0x0391cc86, 0x00b7feba, 0x02a56ebf, 0x002ce85c}}, Y: Field{[10]uint32{0x034ac3d5, 0x017ebe0e, 0x01d119fc, 0x030379e9, 0x02f06401, 0x026930be, 0x031fff90, 0x0035b6f4, 0x01799ae4, 0x000a3db7}}}, + {X: Field{[10]uint32{0x000d8f47, 0x02a53884, 0x02b80091, 0x03b1c68e, 0x00ac4a22, 0x0251a2a3, 0x00aed673, 0x035de694, 0x01d2e2f9, 0x000663c1}}, Y: Field{[10]uint32{0x03cd0414, 0x0226782d, 0x002b3cbf, 0x01a0d830, 0x03397089, 0x00ff2c88, 0x02e3baaf, 0x00c5cf2b, 0x003fc981, 0x00331a86}}}, + {X: Field{[10]uint32{0x0077f48e, 0x03d42aac, 0x039d89f0, 0x036de7f0, 0x0341ae77, 0x02142c1e, 0x007703ae, 0x029e452f, 0x038fa943, 0x001e2c85}}, Y: Field{[10]uint32{0x025274e7, 0x0272c558, 0x02beb11b, 0x03b30a7a, 0x01d78fce, 0x006006f8, 0x0389004e, 0x02c24a2e, 0x0234f2cb, 0x00217f4f}}}, + {X: Field{[10]uint32{0x01943f3e, 0x010fee36, 0x02dcccec, 0x03e757dc, 0x0023828e, 0x01c38a29, 0x017a7951, 0x0145d7e6, 0x03001d4c, 0x001bdc37}}, Y: Field{[10]uint32{0x028315ce, 0x007bb733, 0x03ee5f0f, 0x030aa37e, 0x02956a66, 0x01cc38a9, 0x039c34be, 0x020f9165, 0x0213b771, 0x00098c54}}}, + {X: Field{[10]uint32{0x01a9dccc, 0x030d676d, 0x03bd09cf, 0x00b47343, 0x02e3964b, 0x0116d649, 0x01509e3b, 0x01b4a741, 0x01443c94, 0x002ae04c}}, Y: Field{[10]uint32{0x00f5c5ac, 0x00db2a41, 0x01062063, 0x002cfd41, 0x0216b771, 0x031b184c, 0x005e5876, 0x01cebe83, 0x03150c12, 0x002baf7c}}}, + {X: Field{[10]uint32{0x01473ad3, 0x03a20f81, 0x021a20a3, 0x027ae8cc, 0x016b9456, 0x01f979bb, 0x0323e627, 0x00449c8d, 0x0391dd75, 0x0039cacd}}, Y: Field{[10]uint32{0x0328a3d8, 0x03d320a6, 0x0319fd4d, 0x02b220c2, 0x039c2091, 0x038e8a11, 0x03109ab5, 0x02aa83f4, 0x00742dbc, 0x0004c6cc}}}, + {X: Field{[10]uint32{0x023ded63, 0x00a10cb3, 0x00c74619, 0x01f15ad4, 0x02bb525d, 0x033141f6, 0x03df77af, 0x017940e3, 0x0296ecdd, 0x0032968c}}, Y: Field{[10]uint32{0x03c4ab9e, 0x0197f1bf, 0x0254b3f8, 0x0274af73, 0x005a1420, 0x00acd96f, 0x027258e4, 0x01deea40, 0x0394b7e1, 0x0022f6d9}}}, + {X: Field{[10]uint32{0x031a9222, 0x0069c038, 0x01819c88, 0x00569c9a, 0x02e7d2e8, 0x0300ec80, 0x01be59dc, 0x0233ff3b, 0x029f26ae, 0x003aa8ef}}, Y: Field{[10]uint32{0x0124ec1c, 0x03917065, 0x02acc735, 0x0059f35f, 0x0336ac28, 0x0077cb4e, 0x02f80265, 0x034d3183, 0x00d7a367, 0x0006d68b}}}, + {X: Field{[10]uint32{0x00e97728, 0x02c0f7ba, 0x02206582, 0x0399d21c, 0x0035a011, 0x019e4555, 0x022076d5, 0x03fdab85, 0x002d3ab4, 0x003aeea2}}, Y: Field{[10]uint32{0x01be16ac, 0x02f91d19, 0x010ed355, 0x0161ef7f, 0x018a004c, 0x027b6319, 0x02f2ac76, 0x034b3736, 0x02053d8d, 0x0025088a}}}, + {X: Field{[10]uint32{0x013aba86, 0x0248f20d, 0x01f446d8, 0x0345a3a3, 0x01ba88e0, 0x03688180, 0x03cb784e, 0x01774451, 0x03ea537a, 0x00328365}}, Y: Field{[10]uint32{0x028fba1f, 0x01f2a67d, 0x01b68016, 0x024a1d2d, 0x0196c978, 0x01124399, 0x02bb979a, 0x021bc623, 0x005889eb, 0x0021d2b2}}}, + {X: Field{[10]uint32{0x03b797e1, 0x0233ecfa, 0x01a24771, 0x002c3877, 0x0184a90a, 0x017f0671, 0x0398f98c, 0x01d151f9, 0x01653480, 0x0014778a}}, Y: Field{[10]uint32{0x03f7c54d, 0x03bfd600, 0x007bf87c, 0x012e6792, 0x03ace0ee, 0x03f37e69, 0x001952b0, 0x039ae557, 0x023aad04, 0x00204dd3}}}, + {X: Field{[10]uint32{0x01387509, 0x031bb230, 0x00df5151, 0x00d4d96e, 0x0287b521, 0x007523ed, 0x00e39bda, 0x01af8833, 0x011f0313, 0x0001a758}}, Y: Field{[10]uint32{0x0195bde0, 0x028b088c, 0x01fa7e9d, 0x02a9ac9c, 0x00fb84c0, 0x0170a5c8, 0x01127e1a, 0x01932b13, 0x0020563b, 0x001d78b6}}}, + {X: Field{[10]uint32{0x028aa135, 0x015f784e, 0x00a9cb2f, 0x03037914, 0x006fa4a4, 0x03737886, 0x02204561, 0x01983c8c, 0x00830558, 0x000c458c}}, Y: Field{[10]uint32{0x0346eae2, 0x0376fdbf, 0x03817539, 0x001f97ee, 0x0229e142, 0x038762dd, 0x008c636a, 0x005a20c0, 0x0096b134, 0x000975b5}}}, + {X: Field{[10]uint32{0x007ac334, 0x0335584b, 0x00274cc3, 0x00f61a13, 0x0111f462, 0x0342b66a, 0x002e5b44, 0x03353536, 0x02aaefa9, 0x002138d0}}, Y: Field{[10]uint32{0x0292a70e, 0x023d980a, 0x016540fb, 0x03ed42bb, 0x02f552af, 0x03f974bd, 0x00f0a324, 0x02665f21, 0x03ff260f, 0x003ee436}}}, + {X: Field{[10]uint32{0x03bf6562, 0x0199a499, 0x025bc64d, 0x02b2219e, 0x00fa812a, 0x03538ea8, 0x00468143, 0x02c45489, 0x0002969d, 0x00257bf1}}, Y: Field{[10]uint32{0x03371883, 0x0304d667, 0x034b3e82, 0x027f5dea, 0x02e4567d, 0x0114957e, 0x033f00d4, 0x0094b15b, 0x00316149, 0x000c56f3}}}, + {X: Field{[10]uint32{0x038d07fe, 0x01727a35, 0x01507e3d, 0x0126ed40, 0x0255b401, 0x0156ee6f, 0x0289993a, 0x027682f4, 0x023cf87e, 0x001488d8}}, Y: Field{[10]uint32{0x00613b56, 0x02023f2b, 0x03deffa5, 0x00876cf2, 0x000832e9, 0x0001dbe2, 0x01b1c16b, 0x03d0dc02, 0x0221dd2d, 0x001aff42}}}, + {X: Field{[10]uint32{0x00cb0a4f, 0x0132e5f0, 0x0255df5f, 0x00659ac2, 0x00ea180f, 0x0027845e, 0x0187ab31, 0x01c1f987, 0x01990a6b, 0x003c84b4}}, Y: Field{[10]uint32{0x00f7c84b, 0x01ac1a68, 0x0382412f, 0x008867b0, 0x037f5114, 0x0303a844, 0x03c31427, 0x02d93b91, 0x006c7edb, 0x000ca011}}}, + {X: Field{[10]uint32{0x01cfe8c9, 0x033d630c, 0x01b50835, 0x03888438, 0x02e1e19c, 0x000163e5, 0x014431b2, 0x01dbe085, 0x023ff25d, 0x001ad541}}, Y: Field{[10]uint32{0x0069f8bf, 0x002236a4, 0x031c6492, 0x028f75f8, 0x01558a82, 0x03d83ffb, 0x02997076, 0x001d891b, 0x01623645, 0x001509f7}}}, + {X: Field{[10]uint32{0x01b23045, 0x006755c2, 0x01e96472, 0x0106a0b8, 0x03c9388d, 0x039be2c9, 0x02e0c129, 0x0243004a, 0x01cfa096, 0x00094e79}}, Y: Field{[10]uint32{0x01021ac3, 0x0115eb76, 0x0224a77c, 0x02d28967, 0x0331d804, 0x01444cd1, 0x0393000e, 0x02937346, 0x03f61e26, 0x002532e0}}}, + {X: Field{[10]uint32{0x0247d51d, 0x03eb9502, 0x03fb6297, 0x007bc394, 0x03910642, 0x03ca30fd, 0x02ed31e8, 0x0070c1c6, 0x02d34aaf, 0x002aa6da}}, Y: Field{[10]uint32{0x03544c47, 0x02779de0, 0x03d3ed1c, 0x01fb2910, 0x0158cbd8, 0x002ad366, 0x034e7db1, 0x02b80262, 0x00e49fe4, 0x00370256}}}, + {X: Field{[10]uint32{0x013487ad, 0x014cbd80, 0x0262f780, 0x0397a728, 0x03e08964, 0x028fdac3, 0x02d6e635, 0x0093efd7, 0x0313aad2, 0x002a1428}}, Y: Field{[10]uint32{0x014ccbe7, 0x020cd8fb, 0x01a4c43b, 0x01c09bc5, 0x01d9a5e5, 0x03bbcd1e, 0x01708ca0, 0x015708ee, 0x02d54cbc, 0x001f91da}}}, + {X: Field{[10]uint32{0x03a09c1a, 0x02352b97, 0x0328c741, 0x00c991de, 0x025da441, 0x00638a74, 0x00889fab, 0x00325b41, 0x0033f4fd, 0x000c53fb}}, Y: Field{[10]uint32{0x03d25f42, 0x01ee53fa, 0x024a976b, 0x034c6a9a, 0x00d9b4b8, 0x0254d3f7, 0x01dd4f54, 0x03fede6d, 0x01130a98, 0x00028b25}}}, + {X: Field{[10]uint32{0x033d0963, 0x02be8d53, 0x01c85329, 0x02e33d4b, 0x03183998, 0x02bef73b, 0x01581ae1, 0x01f9e6b8, 0x03c89ec5, 0x001b9f70}}, Y: Field{[10]uint32{0x019f87d8, 0x01457e27, 0x00964a83, 0x00c3f32b, 0x038f0578, 0x01662ac6, 0x011e3a82, 0x023a7e59, 0x00056d5a, 0x001ad8da}}}, + {X: Field{[10]uint32{0x033337c5, 0x01f50015, 0x034ad955, 0x03016309, 0x0038b6cf, 0x03461071, 0x0097a507, 0x028b5481, 0x0293fc4b, 0x00165b7d}}, Y: Field{[10]uint32{0x037f4ff5, 0x00ff412c, 0x033c6bd0, 0x00cf5732, 0x0274b75c, 0x027b173f, 0x0171723e, 0x02c26ce8, 0x01e91c97, 0x0019827b}}}, + {X: Field{[10]uint32{0x00e8afb7, 0x03c28485, 0x034ee13c, 0x01665ef2, 0x00ee3ba2, 0x01ef50b5, 0x0150e8e7, 0x01e00161, 0x01d410de, 0x0008d7e3}}, Y: Field{[10]uint32{0x00fa6712, 0x038562db, 0x031bd189, 0x00ce092d, 0x0153b72c, 0x00429115, 0x00f8d595, 0x0384da00, 0x00cdb8e8, 0x002fdb83}}}, + {X: Field{[10]uint32{0x03db8b47, 0x027308c4, 0x0227904c, 0x01abbda4, 0x003f0390, 0x0203a07c, 0x01fbb28c, 0x03a47c49, 0x0297b259, 0x002a762e}}, Y: Field{[10]uint32{0x00048656, 0x01d52b3b, 0x0337bf14, 0x03d916e9, 0x015e6ce6, 0x0087d625, 0x0072afe2, 0x0203c99d, 0x015419b5, 0x00399a2e}}}, + {X: Field{[10]uint32{0x02288e5c, 0x02c1fa12, 0x027f4827, 0x00d6df66, 0x00c4e2cc, 0x004d26e2, 0x02bc6295, 0x0305c050, 0x01c64f74, 0x0014ed13}}, Y: Field{[10]uint32{0x017075d4, 0x01b855c2, 0x02c7e589, 0x021f6325, 0x02322161, 0x03fb9ed6, 0x03006ead, 0x018b1363, 0x03e14045, 0x0012bfc4}}}, + {X: Field{[10]uint32{0x000af1a0, 0x02d68096, 0x0362f947, 0x01e4121b, 0x02a91872, 0x0125121a, 0x00b56ca1, 0x03e7dc6b, 0x0038a6ba, 0x001db9b8}}, Y: Field{[10]uint32{0x01f0f0fa, 0x039ad378, 0x03fd4465, 0x035c899b, 0x003b57e0, 0x03811644, 0x0018348b, 0x0101d913, 0x01106688, 0x00146974}}}, + {X: Field{[10]uint32{0x03c1e6b5, 0x03d4efe6, 0x038702bc, 0x031c6fb1, 0x001c45b4, 0x037a192f, 0x02da284d, 0x0004a443, 0x03192fc7, 0x001dd87f}}, Y: Field{[10]uint32{0x016e11b2, 0x01f6b10a, 0x007c1d94, 0x032ec6ad, 0x03e0bb75, 0x030f9f4d, 0x037e1fdf, 0x01c65987, 0x0370a82f, 0x00202603}}}, + {X: Field{[10]uint32{0x009aadf9, 0x034a012a, 0x02d7f8fe, 0x02388434, 0x0095c0bd, 0x021a7618, 0x01cdc333, 0x03d47f9b, 0x01d61224, 0x00206672}}, Y: Field{[10]uint32{0x031ec89b, 0x038c15d2, 0x0292ddaa, 0x01f4aa74, 0x00a158ee, 0x000c371d, 0x01bbd73f, 0x008e12ba, 0x024f5cbd, 0x002fa25c}}}, + {X: Field{[10]uint32{0x01c55c0e, 0x009d0164, 0x033b799d, 0x032f9422, 0x0008bd4d, 0x02f5de76, 0x01626803, 0x00955aef, 0x01fc760a, 0x0005709e}}, Y: Field{[10]uint32{0x03390c39, 0x00f934d4, 0x01dee337, 0x02c19c85, 0x010ea0b9, 0x0328103f, 0x015d352b, 0x03258d24, 0x00bfed80, 0x003f540e}}}, + {X: Field{[10]uint32{0x00a39b46, 0x0045857e, 0x031a83c1, 0x03900520, 0x019724ac, 0x0330b9fb, 0x03b46a3e, 0x01011dbd, 0x0106b280, 0x003ecfe3}}, Y: Field{[10]uint32{0x03d2154e, 0x03ecf3da, 0x011854fb, 0x0142b264, 0x023177ed, 0x00f06f5c, 0x03fd70c6, 0x006d84ec, 0x00b6ff85, 0x003e4943}}}, + {X: Field{[10]uint32{0x02012edb, 0x03269bae, 0x0389b5ea, 0x00576c2c, 0x02f9faf4, 0x025f0ff7, 0x02723e30, 0x01049768, 0x01473c96, 0x000e6cad}}, Y: Field{[10]uint32{0x03fb7547, 0x0220bc86, 0x01564002, 0x02b8377e, 0x016bce7b, 0x03d97c8c, 0x028aedf1, 0x03d04ef5, 0x02a5a586, 0x0022b070}}}, + {X: Field{[10]uint32{0x03f1552b, 0x03fd1291, 0x0284820c, 0x00fab21f, 0x01bf72d7, 0x02c93a33, 0x03f6d0bb, 0x00546874, 0x03fae476, 0x0010b577}}, Y: Field{[10]uint32{0x00847ee4, 0x03eb6d2e, 0x02ee2922, 0x01185f61, 0x02663f6e, 0x0100ef3d, 0x03ebe3af, 0x03000589, 0x0245d941, 0x0018c765}}}, + {X: Field{[10]uint32{0x02e0bd8f, 0x007edeb9, 0x02158e31, 0x0349b671, 0x02630a0b, 0x03a48b66, 0x02dd0711, 0x02afc297, 0x02c624ec, 0x00213725}}, Y: Field{[10]uint32{0x038703c6, 0x023ab8fb, 0x025a82cc, 0x01c4302a, 0x01c795cc, 0x02f4bf09, 0x00ff10a8, 0x00c934ab, 0x018a16b7, 0x00102bcc}}}, + {X: Field{[10]uint32{0x03bf505e, 0x01ce60d2, 0x013bf018, 0x000b0db6, 0x034663ba, 0x01efdf2e, 0x03812af3, 0x033bb846, 0x020a797b, 0x0018db9d}}, Y: Field{[10]uint32{0x01f724d2, 0x03dc0e99, 0x012ffd74, 0x010015f6, 0x0069924f, 0x0012e516, 0x02dab981, 0x033dd90d, 0x024b6cc8, 0x003b5717}}}, + {X: Field{[10]uint32{0x00d06ae4, 0x03dd6026, 0x01090d4f, 0x003fd85d, 0x007d32bc, 0x0389e019, 0x01ca6f4a, 0x03b9e19a, 0x00254bb5, 0x0004dff4}}, Y: Field{[10]uint32{0x028d0fd4, 0x02dfc24c, 0x00bc808f, 0x00f7a739, 0x03e07ec2, 0x00dba4b9, 0x03186a30, 0x02aa83a6, 0x02a225ea, 0x000a0b5a}}}, + {X: Field{[10]uint32{0x02459e92, 0x01cd3484, 0x00b611b6, 0x01805eaf, 0x00df781f, 0x02c943f0, 0x01bc7a5c, 0x02495ad5, 0x004839e4, 0x000862ae}}, Y: Field{[10]uint32{0x010e1599, 0x012cf393, 0x02444c99, 0x03f1c072, 0x001a7212, 0x00cbce7c, 0x00c49c8d, 0x02c3710c, 0x0356b53f, 0x001fac53}}}, + {X: Field{[10]uint32{0x038eda65, 0x00552557, 0x034fb619, 0x0267aed3, 0x011b2f0a, 0x03c4dd81, 0x029e3a78, 0x008be37d, 0x03a0106f, 0x001acfde}}, Y: Field{[10]uint32{0x0330d299, 0x03ededc8, 0x013b7aaa, 0x000174db, 0x036c8310, 0x0207a21c, 0x019a4ab4, 0x01afbe1b, 0x00c44c94, 0x000315e2}}}, + {X: Field{[10]uint32{0x01e8ceca, 0x038c7f76, 0x03d08c5d, 0x032bdffb, 0x02131ad1, 0x00bad6e1, 0x02fdf196, 0x00465465, 0x02cba2de, 0x0026d053}}, Y: Field{[10]uint32{0x0325a637, 0x024897a9, 0x00797063, 0x0216579d, 0x0251e94e, 0x036a7d39, 0x01b06269, 0x037d0203, 0x031f9550, 0x000e39bc}}}, + {X: Field{[10]uint32{0x02940653, 0x03d986c9, 0x01f8ecba, 0x023bcfcb, 0x02156a4a, 0x00751135, 0x0133af0d, 0x0097861a, 0x03a18574, 0x0010dac1}}, Y: Field{[10]uint32{0x003f2d44, 0x0156cc51, 0x0053ace1, 0x0346f393, 0x03c6822d, 0x0093f318, 0x02427137, 0x03af7b29, 0x0335f124, 0x0025294b}}}, + {X: Field{[10]uint32{0x028fbc6b, 0x00cb3544, 0x034d1fff, 0x00a08266, 0x00b8d76f, 0x01ed78a4, 0x0019bd18, 0x017e08cd, 0x033809b2, 0x003302a4}}, Y: Field{[10]uint32{0x023f458e, 0x02ffa1db, 0x029ec220, 0x01e90c3b, 0x00e713ad, 0x01d54038, 0x00cb6278, 0x031ea512, 0x006dec7a, 0x000331fa}}}, + {X: Field{[10]uint32{0x03a19858, 0x007fa0f0, 0x038888f2, 0x03a9cbef, 0x037ea684, 0x02be372a, 0x03b1907e, 0x01debf31, 0x016eaaf8, 0x001686cc}}, Y: Field{[10]uint32{0x0181e7e1, 0x010933b3, 0x00450cf7, 0x02508b6f, 0x02744110, 0x029a504b, 0x02b3466d, 0x0211a9ad, 0x039ada08, 0x0012bc0c}}}, + {X: Field{[10]uint32{0x016c53ee, 0x01f5025b, 0x0327400e, 0x0094be7f, 0x01ac4a57, 0x000e62c9, 0x021e4114, 0x012ec87f, 0x01657444, 0x003ebe24}}, Y: Field{[10]uint32{0x01a43100, 0x0053db26, 0x03cb3997, 0x02b20420, 0x01d87984, 0x02c5b271, 0x00b64263, 0x0151fd77, 0x015faf75, 0x0033e9de}}}, + {X: Field{[10]uint32{0x0174f248, 0x03937ab4, 0x01e33aa9, 0x00b52586, 0x00c94cd2, 0x031b2c0a, 0x000c68c6, 0x00588c61, 0x018aca14, 0x000e797f}}, Y: Field{[10]uint32{0x003c1ff1, 0x00429be3, 0x0210561d, 0x02194a2a, 0x020a8d36, 0x023d989d, 0x0013e788, 0x036995d0, 0x03657083, 0x003e0487}}}, + {X: Field{[10]uint32{0x0325cbc1, 0x010c2600, 0x000e9257, 0x0350866f, 0x02a64b8e, 0x03ef84d5, 0x013cddf6, 0x0033cb33, 0x01ec147d, 0x0008284d}}, Y: Field{[10]uint32{0x0282c013, 0x008ab9bb, 0x006a7156, 0x002a047c, 0x01fa1d17, 0x01d74c2a, 0x0101fd26, 0x00dc9530, 0x00abea1a, 0x002c5d45}}}, + {X: Field{[10]uint32{0x0072320a, 0x0070ad0b, 0x011fab46, 0x00462a21, 0x039903ca, 0x031d6c4e, 0x03d69e2a, 0x03dcfe84, 0x01b8af48, 0x00286068}}, Y: Field{[10]uint32{0x03a6df20, 0x03212ca5, 0x02a5a219, 0x00e8310e, 0x00a66fbd, 0x035621e8, 0x032c432a, 0x01f988f5, 0x00673f48, 0x00325b21}}}, + {X: Field{[10]uint32{0x01b3ee4f, 0x0118b1df, 0x03fc2752, 0x02557ae1, 0x01eb4626, 0x0145b7a3, 0x035d76a9, 0x01768beb, 0x0031720a, 0x000e57f0}}, Y: Field{[10]uint32{0x0359ad6a, 0x022fd071, 0x00523128, 0x01a66cd0, 0x00962ac8, 0x00fb1127, 0x00e14e7c, 0x00e256ad, 0x006b5378, 0x0012baf2}}}, + {X: Field{[10]uint32{0x0364fa6f, 0x01accf46, 0x03d17424, 0x0395c6e7, 0x0103fffc, 0x02ed8cdf, 0x01632a61, 0x00ae5a1f, 0x01ecf6df, 0x0028db7a}}, Y: Field{[10]uint32{0x011999f4, 0x03721899, 0x01ea9cdb, 0x027f43c1, 0x01620fe2, 0x01f7ad03, 0x0212e147, 0x0345006c, 0x004fa133, 0x001e1393}}}, + {X: Field{[10]uint32{0x0040ba8c, 0x01d1b8a6, 0x00359d04, 0x02e0f6f7, 0x03e55a3a, 0x0114d7d5, 0x03818200, 0x0110c3dc, 0x0099ecee, 0x00232d6a}}, Y: Field{[10]uint32{0x017ff59a, 0x03697780, 0x00b2cb92, 0x02c7bc0b, 0x01731ded, 0x00f4a2d3, 0x01df0ecc, 0x028f04b0, 0x002ae9c3, 0x0004a9ca}}}, + {X: Field{[10]uint32{0x00b60985, 0x0142d998, 0x01f299c4, 0x0362c9ac, 0x004cee72, 0x00bf47ef, 0x02372012, 0x026e8643, 0x01e14d9c, 0x00037910}}, Y: Field{[10]uint32{0x0271b63e, 0x03884500, 0x02110508, 0x0319d40c, 0x022927b3, 0x009fefad, 0x03740d44, 0x0374cf53, 0x030ed12d, 0x002b7468}}}, + {X: Field{[10]uint32{0x039fbab7, 0x02081ea6, 0x01067407, 0x030e5ca5, 0x00520646, 0x004a3446, 0x02f3c1b7, 0x0151283c, 0x0356b5e5, 0x002238e2}}, Y: Field{[10]uint32{0x0000e5e3, 0x00763984, 0x034b7810, 0x00828b63, 0x00dc8ea0, 0x02f6bc61, 0x03ac529c, 0x02595b96, 0x008ed44e, 0x00220cc8}}}, + {X: Field{[10]uint32{0x034640a7, 0x03ccdd03, 0x0266c6c5, 0x032583d4, 0x013ee217, 0x0234b5ca, 0x03fa3d15, 0x019082e7, 0x0192f561, 0x00293c3e}}, Y: Field{[10]uint32{0x002e6ddb, 0x0038807e, 0x01e713d8, 0x023a04a2, 0x010b131a, 0x006bd0bf, 0x02c9188a, 0x021af103, 0x01a8437a, 0x003699d0}}}, + {X: Field{[10]uint32{0x005c945b, 0x014901c7, 0x02ad7efe, 0x02fcdfe5, 0x0286899f, 0x01147634, 0x00a40bee, 0x02aab981, 0x00cff2d1, 0x0017c02a}}, Y: Field{[10]uint32{0x019deb12, 0x02d8f4ad, 0x0262a424, 0x034eb9b1, 0x030b48ea, 0x011a4b56, 0x011549fb, 0x01b5b8e7, 0x00b69ea7, 0x0004d7f2}}}, + {X: Field{[10]uint32{0x00f99218, 0x01b38c62, 0x00da0b41, 0x019ea79b, 0x039d1689, 0x00e376e3, 0x004c7998, 0x03f28bb8, 0x020ebfd6, 0x00164d46}}, Y: Field{[10]uint32{0x010fdb34, 0x00f53a75, 0x025b64fe, 0x0275ce91, 0x000fc415, 0x00a479f2, 0x0227b6d4, 0x03d2a0a3, 0x02673184, 0x001b8068}}}, + {X: Field{[10]uint32{0x00b1aecf, 0x025be44b, 0x039f72c7, 0x01cf9dfc, 0x006705ef, 0x03c98f43, 0x007387a5, 0x00cecf7a, 0x0235f5c5, 0x00005d7b}}, Y: Field{[10]uint32{0x01d9513f, 0x0340a02e, 0x03506a80, 0x018cf35e, 0x005fca3b, 0x0317ef58, 0x00d40fc4, 0x03909878, 0x03154540, 0x0028de49}}}, + {X: Field{[10]uint32{0x0347b8fe, 0x01f7eefc, 0x033b0204, 0x0077eb40, 0x00565595, 0x01e416b5, 0x036362fa, 0x0062b26a, 0x0341597b, 0x001d4626}}, Y: Field{[10]uint32{0x01b2527e, 0x01deddc8, 0x03ed5b01, 0x010a116b, 0x01aa2468, 0x015a967b, 0x00023de2, 0x0043a95f, 0x01210ffa, 0x003d4dbf}}}, + {X: Field{[10]uint32{0x019bd4ae, 0x02690528, 0x01c72004, 0x01cdad68, 0x02438855, 0x01fbf48e, 0x03d2a315, 0x035971c2, 0x02c32522, 0x00246be7}}, Y: Field{[10]uint32{0x001a32de, 0x01aec21d, 0x02d6e643, 0x00668b29, 0x0331c9cc, 0x002d1066, 0x004898ed, 0x02e161ad, 0x03c38462, 0x000c4801}}}, + {X: Field{[10]uint32{0x00565c27, 0x02876129, 0x01b04712, 0x02906853, 0x00732273, 0x03ca0f17, 0x01094432, 0x03574174, 0x008d41fa, 0x00376cbf}}, Y: Field{[10]uint32{0x029c1d0a, 0x02e8beb5, 0x01a38d63, 0x02db5fcb, 0x028f6ac9, 0x0224f424, 0x01673a09, 0x031bd080, 0x00c502ce, 0x0013df8c}}}, + {X: Field{[10]uint32{0x023641a6, 0x037077fd, 0x00f96f7d, 0x001fcac1, 0x01ad40a9, 0x0290494e, 0x0144936e, 0x00370d40, 0x0122d724, 0x00273997}}, Y: Field{[10]uint32{0x01d97c8c, 0x009d825e, 0x02340cf9, 0x010e0150, 0x00c3037e, 0x01818bd5, 0x020b4257, 0x02f19091, 0x01877f25, 0x002be4f9}}}, + {X: Field{[10]uint32{0x036e9a2b, 0x01b5dbdd, 0x015f5493, 0x02c079fe, 0x015489f1, 0x002fd24b, 0x003932eb, 0x03b16247, 0x00d41fed, 0x001f7034}}, Y: Field{[10]uint32{0x0107c47a, 0x01a6656c, 0x0134fa52, 0x03d694d6, 0x001e9bbc, 0x00e0c685, 0x021c7a49, 0x00f04efe, 0x039e760c, 0x00355689}}}, + {X: Field{[10]uint32{0x000e5ead, 0x000ea553, 0x008c163d, 0x003cca07, 0x02f190d4, 0x00f92a9f, 0x018d351f, 0x035ca277, 0x015cb6b4, 0x00034048}}, Y: Field{[10]uint32{0x00fdc662, 0x00b2206c, 0x02a2548b, 0x0318267b, 0x01c68be6, 0x01906153, 0x03ce7fe0, 0x01fbb9c8, 0x004bccbd, 0x003be60d}}}, + {X: Field{[10]uint32{0x017cb92f, 0x0019d9e3, 0x02af3e1d, 0x0318a4cf, 0x00bb6498, 0x02f7fcf5, 0x011b0d29, 0x03be3d66, 0x0031a9fa, 0x00035347}}, Y: Field{[10]uint32{0x026a4831, 0x017e18ab, 0x0190a4df, 0x036e93d9, 0x02715fae, 0x00861791, 0x03ccd42f, 0x0247ea16, 0x0048ac6b, 0x00263cea}}}, + {X: Field{[10]uint32{0x02080839, 0x034bc931, 0x035a49fa, 0x00310686, 0x023d718f, 0x0212c78c, 0x022d83c0, 0x03c930f6, 0x02cf42ab, 0x00331967}}, Y: Field{[10]uint32{0x001f963c, 0x009d86b2, 0x00cbbf0f, 0x0250fe13, 0x00c7aef0, 0x039e55d6, 0x02df249a, 0x00ce66db, 0x01554d84, 0x001eef7f}}}, + {X: Field{[10]uint32{0x01ea4b04, 0x0345905c, 0x0104e594, 0x01d59c23, 0x00f0eb47, 0x01e2fbcd, 0x0074e944, 0x03ce1674, 0x0167d5cf, 0x00066e85}}, Y: Field{[10]uint32{0x02820f9a, 0x014d2152, 0x00ed5d4f, 0x024722e4, 0x0030555c, 0x03967044, 0x00583114, 0x02c0bb6a, 0x001bd536, 0x000d3a8a}}}, + {X: Field{[10]uint32{0x03bbc30f, 0x01e63d75, 0x006a5437, 0x039d4a56, 0x02e825d8, 0x0354b4b6, 0x01960e5f, 0x01641d8c, 0x02e31a6e, 0x000fc3c0}}, Y: Field{[10]uint32{0x03e63c3b, 0x00241878, 0x0119a035, 0x00a5ed01, 0x0162a3bf, 0x038b35a9, 0x0079ddcb, 0x03536964, 0x03c33aec, 0x002e4f89}}}, + {X: Field{[10]uint32{0x0149ab12, 0x001e4900, 0x0323e0df, 0x025b97ea, 0x008d0fb0, 0x003ce0ad, 0x01dd895b, 0x00ff656a, 0x008f35f6, 0x00262131}}, Y: Field{[10]uint32{0x0180eb44, 0x00907ed0, 0x02aa013f, 0x017a627f, 0x03e01154, 0x022dbd06, 0x01e321f5, 0x010df0f5, 0x02667070, 0x0015a230}}}, + {X: Field{[10]uint32{0x006c7b4d, 0x026edf31, 0x00b47448, 0x0380ac8f, 0x02bb4a6f, 0x00be0f96, 0x002e85ac, 0x027154c2, 0x029379bc, 0x002503ca}}, Y: Field{[10]uint32{0x0321fd9d, 0x03038b1f, 0x02284700, 0x0274b2b8, 0x002aa742, 0x02f1a9e1, 0x027c735c, 0x02763d47, 0x038077ba, 0x002d2e08}}}, + {X: Field{[10]uint32{0x00b782f0, 0x01d0bad6, 0x0001c0e0, 0x000d0be4, 0x005f4beb, 0x014d0fa9, 0x02feccbb, 0x00f67d06, 0x019ce535, 0x002a69da}}, Y: Field{[10]uint32{0x0187c994, 0x02a565e5, 0x018b4c7c, 0x02f17ed2, 0x01b0536f, 0x029806b2, 0x0341f778, 0x0233c690, 0x02aab3e1, 0x000f1d67}}}, + {X: Field{[10]uint32{0x03218913, 0x008898c2, 0x034afb15, 0x00748fc9, 0x0293f4da, 0x00b4044a, 0x0236cc28, 0x036c015b, 0x008a009c, 0x0028878d}}, Y: Field{[10]uint32{0x02be89ed, 0x0307d31f, 0x038da588, 0x01cec79d, 0x03c70b18, 0x01c07998, 0x00b8e28a, 0x025419bb, 0x03fa652f, 0x00050550}}}, + {X: Field{[10]uint32{0x025fd383, 0x0123ecd6, 0x01ca41f0, 0x0018c1a9, 0x00e81429, 0x006339ce, 0x03298d60, 0x0384614a, 0x01951121, 0x0035b553}}, Y: Field{[10]uint32{0x028a7a83, 0x014d1160, 0x02912412, 0x03cd4d68, 0x028f76c8, 0x02363bb4, 0x00fe9d03, 0x007f88c1, 0x00b8de89, 0x00225f73}}}, + {X: Field{[10]uint32{0x031e6cda, 0x0303c770, 0x03ebe21c, 0x01928e91, 0x026232b4, 0x03bec4be, 0x00c7f7b5, 0x03abed22, 0x035dc937, 0x001f8298}}, Y: Field{[10]uint32{0x01e921e2, 0x00eb18e3, 0x01e822d6, 0x021b3b58, 0x0274489c, 0x02b72fcd, 0x025b34e3, 0x017874b3, 0x014a7552, 0x00034b47}}}, + {X: Field{[10]uint32{0x0051a659, 0x02802e35, 0x000d3afe, 0x0053eb08, 0x0155bafa, 0x01acfeba, 0x00870e83, 0x0071a10a, 0x000f66a2, 0x00133882}}, Y: Field{[10]uint32{0x007da4c4, 0x03c157db, 0x01b1d891, 0x0249cf8c, 0x02f0ca1b, 0x0037e4eb, 0x00d0f3ef, 0x000bf4c6, 0x0226565b, 0x000a787e}}}, + {X: Field{[10]uint32{0x012bad2e, 0x007d509c, 0x00f7fc09, 0x02d363d6, 0x01e6d4b7, 0x02e27a05, 0x00d5caf1, 0x02fd9567, 0x0387b633, 0x0036ae1a}}, Y: Field{[10]uint32{0x03c85b5e, 0x0057acd4, 0x03bdf8fd, 0x00d1f95e, 0x004506a6, 0x0156f64c, 0x00159d7f, 0x0157ce36, 0x0109d79a, 0x0023926c}}}, + {X: Field{[10]uint32{0x0365aca9, 0x00a4006c, 0x017a56ae, 0x012854a2, 0x01ba1622, 0x01d9cb4e, 0x035386ea, 0x00cb93a2, 0x02c290fa, 0x0031a852}}, Y: Field{[10]uint32{0x035dbc67, 0x003ab1dc, 0x00164b2c, 0x00b7e896, 0x0245cd5f, 0x00bfd857, 0x021967a4, 0x0223f890, 0x00d6dcc5, 0x0010aab7}}}, + {X: Field{[10]uint32{0x02450a27, 0x0138853a, 0x0041de69, 0x02b32284, 0x0263510b, 0x03cd163d, 0x03244004, 0x00423ca3, 0x0240880b, 0x0009667e}}, Y: Field{[10]uint32{0x03a57a01, 0x0365321e, 0x013e6951, 0x01b95230, 0x02a424c4, 0x0280aff4, 0x03a973a1, 0x0337d1a9, 0x02ad4ae1, 0x000151e4}}}, + {X: Field{[10]uint32{0x02d9f9ff, 0x035d1da3, 0x0153bbf3, 0x00cdbe91, 0x01312655, 0x01e7b10f, 0x02d8fe9e, 0x02a3deab, 0x00b4a6af, 0x003daac3}}, Y: Field{[10]uint32{0x005026ef, 0x0365d1a1, 0x013f973f, 0x02f15ebc, 0x0282e913, 0x0241ff35, 0x001a4761, 0x00024123, 0x0189c4ba, 0x0013a849}}}, + {X: Field{[10]uint32{0x007f1dfc, 0x03522c9c, 0x01bebdfd, 0x03caf1c7, 0x0372738f, 0x00ffd369, 0x017ecdbd, 0x000838b6, 0x008bab8f, 0x003d46f5}}, Y: Field{[10]uint32{0x02697c40, 0x024fcfd2, 0x01e4308c, 0x0148922f, 0x01b361c7, 0x01fbe43e, 0x03fe7bce, 0x011fea29, 0x03a0947f, 0x001ac5a2}}}, + {X: Field{[10]uint32{0x022a3443, 0x0263c292, 0x013625c8, 0x02194d48, 0x020a50b2, 0x0342fdf4, 0x0398f2b1, 0x02a432bd, 0x01146c9c, 0x002d807c}}, Y: Field{[10]uint32{0x021f87dd, 0x03c8e471, 0x027edf0c, 0x0343f305, 0x006877fe, 0x027c3c44, 0x0317a115, 0x02d9d57c, 0x004136b6, 0x0029b28c}}}, + {X: Field{[10]uint32{0x005f974b, 0x0241947e, 0x01ccb37e, 0x0163ca1c, 0x015be6a1, 0x0316dc64, 0x030511f0, 0x01f011db, 0x027ae595, 0x001e4b75}}, Y: Field{[10]uint32{0x031dd44b, 0x01d60252, 0x03bcb941, 0x017212b0, 0x011a4c1c, 0x00bd18f8, 0x004774dd, 0x027da4e9, 0x00b9bec5, 0x0026dfd7}}}, + {X: Field{[10]uint32{0x03b093f9, 0x0004c0a2, 0x00377931, 0x0080cf0d, 0x004c29c4, 0x0009452b, 0x0300eb4f, 0x03d2b6cd, 0x026933b6, 0x001f6211}}, Y: Field{[10]uint32{0x01e2cb3b, 0x025187ed, 0x00885a2f, 0x03e2944d, 0x022ebeb5, 0x0391b0c1, 0x007ead35, 0x00036d4a, 0x035e6745, 0x000bf230}}}, + {X: Field{[10]uint32{0x012a5351, 0x03b6e01a, 0x00249010, 0x01077e0b, 0x01ead4bc, 0x01c2250d, 0x03820387, 0x02182c86, 0x03916d0f, 0x00271dba}}, Y: Field{[10]uint32{0x01c88b62, 0x0260a43d, 0x006b0d99, 0x03835b78, 0x030e51d1, 0x0231dda7, 0x0235a6da, 0x00055878, 0x03f33880, 0x001caeb6}}}, + {X: Field{[10]uint32{0x03d807f9, 0x02ec3cc7, 0x0024ecf5, 0x0360b6bf, 0x038fef18, 0x00791f0c, 0x0252a2aa, 0x024f8557, 0x02383d8a, 0x002926d5}}, Y: Field{[10]uint32{0x001d3ae0, 0x0163a364, 0x0176dbee, 0x03987f3a, 0x029dc392, 0x0324d191, 0x00b0760b, 0x013133b9, 0x01b39bf3, 0x0006f09c}}}, + {X: Field{[10]uint32{0x00634460, 0x01891f37, 0x029e0a4d, 0x03f9deba, 0x02a704c9, 0x023c71cb, 0x01d5cc96, 0x02c2c32a, 0x035a675b, 0x000134c4}}, Y: Field{[10]uint32{0x000cfc4e, 0x029dbb8a, 0x02d38395, 0x03bda333, 0x02cb74bc, 0x03c0ac4e, 0x031ffeac, 0x03d2f3cb, 0x00be72f5, 0x002b975f}}}, + {X: Field{[10]uint32{0x0253f588, 0x00cc2267, 0x00e3711f, 0x020ea481, 0x00eff955, 0x010bc64b, 0x00421b9b, 0x01b8e3f0, 0x03be17dd, 0x001655cb}}, Y: Field{[10]uint32{0x021c7c24, 0x01150877, 0x0382a39c, 0x00be6dc9, 0x03a01c8f, 0x03582811, 0x01ab8051, 0x00fe79a8, 0x0240a8cb, 0x0015c4d1}}}, + {X: Field{[10]uint32{0x012d9511, 0x03a8799c, 0x005a5cb5, 0x00203d58, 0x020a5fff, 0x00a34ba6, 0x02a1c612, 0x01e03b2a, 0x006d49b4, 0x001cf333}}, Y: Field{[10]uint32{0x03752cf4, 0x00b353f8, 0x0308edbb, 0x01b5aa16, 0x036a52c0, 0x026c5634, 0x012ea8b5, 0x0323c470, 0x0174f986, 0x00118ea3}}}, + {X: Field{[10]uint32{0x004c1e46, 0x00f0a8e3, 0x03d1ee50, 0x03c61da0, 0x02ae3885, 0x023f73db, 0x02f7280e, 0x002aa51d, 0x03fddb62, 0x002db23a}}, Y: Field{[10]uint32{0x03d39802, 0x02441839, 0x01ddeb40, 0x0157cc85, 0x0276a25d, 0x02065297, 0x0175c2ac, 0x000122f9, 0x02d9f021, 0x00269beb}}}, + {X: Field{[10]uint32{0x005e392e, 0x01ff2713, 0x01f7eb50, 0x02353087, 0x03b9cc4a, 0x00c19f78, 0x0196c539, 0x01524f6a, 0x020f92de, 0x002d058b}}, Y: Field{[10]uint32{0x023b385b, 0x0149585a, 0x01120a40, 0x005dee3b, 0x02eecf22, 0x00183660, 0x03978733, 0x0074d918, 0x00d0c921, 0x00333384}}}, + {X: Field{[10]uint32{0x012b33a2, 0x011a75e3, 0x019b7a2a, 0x02359513, 0x00a58100, 0x0282e350, 0x02919552, 0x00d75eaf, 0x0166ca42, 0x0011afc9}}, Y: Field{[10]uint32{0x02785040, 0x01f21ff1, 0x01ef10b7, 0x03c0085c, 0x01285b5c, 0x0342f275, 0x0182e39c, 0x0221064b, 0x016bb827, 0x001bd9bf}}}, + {X: Field{[10]uint32{0x0159ab2f, 0x02a4538f, 0x036b7419, 0x01a0aa7b, 0x01b5422a, 0x022704d7, 0x02dfcd1b, 0x02a73e2e, 0x01a4e869, 0x001e111b}}, Y: Field{[10]uint32{0x028c9ce3, 0x00ad6196, 0x0098327d, 0x02fcb50a, 0x023f5f31, 0x00cefaf7, 0x003c051f, 0x011b0678, 0x0131db7e, 0x0010856c}}}, + {X: Field{[10]uint32{0x0205f3b7, 0x02fc0055, 0x01d1f4be, 0x032972f4, 0x03fa2b01, 0x017ae3b6, 0x03dc7629, 0x0203350a, 0x02055110, 0x0021a21a}}, Y: Field{[10]uint32{0x03914466, 0x001f9dfd, 0x037d7675, 0x03b565e9, 0x00f9b753, 0x00eb7501, 0x038854a8, 0x030371c1, 0x01f35579, 0x0031c6da}}}, + {X: Field{[10]uint32{0x03713388, 0x03652f20, 0x03371e16, 0x03f2ca29, 0x0036d5fa, 0x011101b8, 0x038675a7, 0x03f10ff4, 0x035e37f8, 0x00280b99}}, Y: Field{[10]uint32{0x0041239e, 0x005cf7bf, 0x01c36de3, 0x03568626, 0x004ee66b, 0x01dfa7ab, 0x02162512, 0x020353ab, 0x0141835c, 0x0035be69}}}, + {X: Field{[10]uint32{0x0092bf26, 0x03322261, 0x03f14ea4, 0x01dfb8a1, 0x009b2997, 0x025ef013, 0x01100966, 0x01b3b734, 0x02a8432c, 0x00285ada}}, Y: Field{[10]uint32{0x020db298, 0x035c9053, 0x01aced2f, 0x028627bc, 0x021e734d, 0x03a9f853, 0x00ed6446, 0x010ab034, 0x0270ef9e, 0x00017046}}}, + {X: Field{[10]uint32{0x00f45b5a, 0x0052e638, 0x01c5c971, 0x00afe1a1, 0x0212d7fc, 0x01ee07f2, 0x03a1205f, 0x03979742, 0x02fe775f, 0x0019a8fc}}, Y: Field{[10]uint32{0x025e3eaf, 0x008c1417, 0x001c8c18, 0x038a57b4, 0x0100e626, 0x002d3ac8, 0x00daad03, 0x03527554, 0x0114a49a, 0x0014166f}}}, + {X: Field{[10]uint32{0x0314b3a1, 0x004de114, 0x01785962, 0x0183aa15, 0x02a1f094, 0x0184542e, 0x01c63210, 0x001319d5, 0x03cebf9a, 0x002691e8}}, Y: Field{[10]uint32{0x0040a80a, 0x03bf03bb, 0x02acbc6c, 0x03c8ae57, 0x03efd3a3, 0x024a5a49, 0x03c7045b, 0x01f9abcd, 0x02ce8f38, 0x0008b697}}}, + {X: Field{[10]uint32{0x036628c5, 0x03d89cd6, 0x02c6f97a, 0x014d27e6, 0x0312b25a, 0x03c63ea1, 0x00e3c288, 0x02e6878f, 0x00149027, 0x00070050}}, Y: Field{[10]uint32{0x02448a4f, 0x015b2583, 0x03d353a4, 0x00d15d4e, 0x0087b499, 0x00583e5e, 0x00bc34ff, 0x034f5ade, 0x00fcd048, 0x0019c864}}}, + {X: Field{[10]uint32{0x028d84cc, 0x03bff94b, 0x0231d057, 0x0002793a, 0x018d1374, 0x025f81d9, 0x00965cd4, 0x03a1d96b, 0x030a1de5, 0x0030b659}}, Y: Field{[10]uint32{0x013ccdf1, 0x029c9c7c, 0x02379cc7, 0x02303e14, 0x00b97a2e, 0x00a55b42, 0x0356b585, 0x03eec4ea, 0x0247a6dd, 0x003fe061}}}, + {X: Field{[10]uint32{0x0196ec1d, 0x006c7972, 0x026910e0, 0x03954e5a, 0x03d21339, 0x005075a3, 0x00e094c4, 0x01a9a5c3, 0x004716fd, 0x0006a7fb}}, Y: Field{[10]uint32{0x03f8557e, 0x001b62e4, 0x0140c240, 0x00e047d7, 0x01d29b87, 0x025778a4, 0x037639b5, 0x01cffa53, 0x02eb6c83, 0x0038e3ac}}}, + {X: Field{[10]uint32{0x01d8c464, 0x015abec0, 0x03bae778, 0x019a6358, 0x0053a514, 0x02c6ac9b, 0x029e5006, 0x0069b503, 0x02ed15e9, 0x002df7d4}}, Y: Field{[10]uint32{0x02e21254, 0x03b14c2d, 0x01ac1162, 0x0034297f, 0x01705c36, 0x03c60354, 0x010706ff, 0x03f63e67, 0x01bfd915, 0x003a983c}}}, + {X: Field{[10]uint32{0x03db6b5f, 0x03e65675, 0x039d1295, 0x03e21222, 0x00918ba7, 0x000d4cd4, 0x0086a534, 0x00b8bef7, 0x00cabd09, 0x0000be57}}, Y: Field{[10]uint32{0x01693ad2, 0x01192368, 0x02a7b523, 0x024e36c7, 0x01d5b0f8, 0x0026fce3, 0x02a9c3df, 0x03b61967, 0x0014fe6c, 0x000c515a}}}, + {X: Field{[10]uint32{0x018a7c1c, 0x029984af, 0x03fea883, 0x028df7bc, 0x023b6ae1, 0x00df9008, 0x01a432ca, 0x03936da8, 0x02c864df, 0x001d8e49}}, Y: Field{[10]uint32{0x0361bd1f, 0x00fc2970, 0x03a410bd, 0x0396e793, 0x00a3e741, 0x0203c7e6, 0x00b3e63d, 0x03443aed, 0x03724378, 0x003cd356}}}, + {X: Field{[10]uint32{0x00a31b0d, 0x0201f272, 0x00ebf72a, 0x03746371, 0x03708ce2, 0x032db262, 0x012a513f, 0x01b3dbcc, 0x027a1291, 0x000b90ef}}, Y: Field{[10]uint32{0x0024acfa, 0x03a67437, 0x019c5971, 0x0024232d, 0x00a3a9dc, 0x03545334, 0x0257b6ce, 0x01f95c5b, 0x0224ce1b, 0x0036e464}}}, + {X: Field{[10]uint32{0x014a5561, 0x02583073, 0x02df9a56, 0x03ec4e96, 0x002d1acd, 0x03f1a1cf, 0x0331984a, 0x01f4a1d9, 0x008f1a86, 0x001f5979}}, Y: Field{[10]uint32{0x0183ebfc, 0x01f32fb6, 0x029da7b9, 0x00daf9f9, 0x00bc9924, 0x02bde576, 0x00e2d4bc, 0x01eb4bfc, 0x0155f095, 0x00271cee}}}, + {X: Field{[10]uint32{0x0019d725, 0x02529c5e, 0x02b7c10b, 0x021f171d, 0x006b132c, 0x035c54e4, 0x02166f04, 0x02ddcb2b, 0x00c03131, 0x00071afb}}, Y: Field{[10]uint32{0x023280ad, 0x0313492c, 0x0106e318, 0x008b3ed2, 0x0041b84a, 0x02bf7d82, 0x03dd26cd, 0x0214cc25, 0x00ff9499, 0x000b0f19}}}, + {X: Field{[10]uint32{0x03347675, 0x02ca9904, 0x020f8198, 0x02c1fa74, 0x01aff339, 0x01fb7c1e, 0x02c83c7d, 0x020408ca, 0x025d5d11, 0x003d410a}}, Y: Field{[10]uint32{0x01a3e4c8, 0x01f7ff5e, 0x01d20b59, 0x015d6a2f, 0x02b2723f, 0x02811414, 0x02388020, 0x03f1b4bc, 0x03bce644, 0x00067043}}}, + {X: Field{[10]uint32{0x014be300, 0x00cd622f, 0x02539b48, 0x03c0b784, 0x030e0ee9, 0x01038213, 0x000c8872, 0x00d4f9b8, 0x0066c2c0, 0x001f0e1e}}, Y: Field{[10]uint32{0x032b8f79, 0x00ded0fb, 0x00ab400c, 0x0155b2bd, 0x0356f088, 0x001d2003, 0x03c49c6d, 0x0316350b, 0x0394587f, 0x0033319b}}}, + {X: Field{[10]uint32{0x02b3c140, 0x0081b93a, 0x034e0b7b, 0x03445a47, 0x02104b35, 0x022e8bb7, 0x02381945, 0x0370adb3, 0x0123d33a, 0x003b3a2b}}, Y: Field{[10]uint32{0x000c0a88, 0x029023df, 0x01e7c5c6, 0x00bd4d99, 0x031c7e67, 0x0326dca3, 0x00245a12, 0x034fd7cf, 0x02c07fa1, 0x003bb25d}}}, + {X: Field{[10]uint32{0x01d12b9d, 0x02bd63c6, 0x03c56a1b, 0x0064f8b2, 0x00b951cf, 0x034085dd, 0x02efecc7, 0x0370e327, 0x0126a274, 0x00208ac2}}, Y: Field{[10]uint32{0x00118313, 0x0030b791, 0x0263f1be, 0x0021443f, 0x023638f0, 0x03f3c144, 0x014d2c49, 0x030dd60c, 0x010af9ca, 0x00122f2c}}}, + {X: Field{[10]uint32{0x0385b8c3, 0x00b9dec3, 0x028a85cd, 0x011e0311, 0x03401dfe, 0x03398bf8, 0x0058d257, 0x03d0a3e8, 0x02036ef5, 0x00349a8e}}, Y: Field{[10]uint32{0x026a6fa7, 0x02c45d44, 0x00ba010f, 0x033e6eb9, 0x0362f1bb, 0x00c230b6, 0x01c6759a, 0x010ca5f5, 0x03623a64, 0x002630e5}}}, + {X: Field{[10]uint32{0x03019090, 0x00f0d1a4, 0x024beb5b, 0x037eec59, 0x0124c8fc, 0x02891f47, 0x0002ab6c, 0x032ef40c, 0x001d8aa0, 0x001ffaee}}, Y: Field{[10]uint32{0x02c3ec26, 0x02918129, 0x03b446cf, 0x008f62c8, 0x03966dc9, 0x02a12e6f, 0x00ca6c02, 0x01b69d51, 0x03cb12ca, 0x003b9896}}}, + {X: Field{[10]uint32{0x01d3473c, 0x03cac394, 0x0008733d, 0x00a9b78b, 0x02b7aa00, 0x030d912e, 0x0363a75c, 0x02daef9b, 0x00e72d43, 0x0020e791}}, Y: Field{[10]uint32{0x000fb9a9, 0x02478c4d, 0x03da43e5, 0x026150ac, 0x002d876d, 0x01dd6fda, 0x0163806d, 0x00508829, 0x023526f4, 0x0020da3d}}}, + {X: Field{[10]uint32{0x030d7afe, 0x0163ab36, 0x01135ea9, 0x025e1b48, 0x017e049b, 0x00fcbbb6, 0x02c84f32, 0x0381f278, 0x03da1c96, 0x0014ba51}}, Y: Field{[10]uint32{0x0073a831, 0x019c39b5, 0x0097d9fa, 0x003b7112, 0x02bdbbe5, 0x027e9cae, 0x01e19a90, 0x0034f4e7, 0x02c9e0c7, 0x001af3f7}}}, + {X: Field{[10]uint32{0x027f3603, 0x0231ad31, 0x000cedb1, 0x01d33f2c, 0x00c8b220, 0x0323a793, 0x03f6dd71, 0x029d0c75, 0x002605e4, 0x001cbb15}}, Y: Field{[10]uint32{0x006b5ee5, 0x01b53e9e, 0x01023615, 0x03e056f2, 0x0249455c, 0x007bb52e, 0x02a6d715, 0x03be53d7, 0x020b7f9d, 0x00376e4d}}}, + {X: Field{[10]uint32{0x0006c849, 0x026b74c5, 0x00f36af3, 0x03a75aa4, 0x012ac051, 0x00a18f44, 0x02bf9baf, 0x015a2405, 0x031559a5, 0x000dc28f}}, Y: Field{[10]uint32{0x03005840, 0x0283b187, 0x01ddaba3, 0x024c8d74, 0x03ee80d9, 0x002c419e, 0x01ab5d32, 0x033b9825, 0x01a68517, 0x0021532f}}}, + {X: Field{[10]uint32{0x03ef5dc2, 0x03e68e66, 0x02c6a714, 0x0033dc66, 0x0141d1cf, 0x01dfbda8, 0x03af5275, 0x03ef6f2c, 0x008860d2, 0x0004b95e}}, Y: Field{[10]uint32{0x02bd9ea2, 0x01b17061, 0x00821ab4, 0x027192b7, 0x01a09496, 0x01692d1d, 0x03b79ead, 0x0049bdf6, 0x02ca5dd8, 0x003d6bde}}}, + {X: Field{[10]uint32{0x00a2b722, 0x02b630cc, 0x025bdfe2, 0x0322b282, 0x028b7905, 0x015efe74, 0x031abad7, 0x0297785e, 0x03cd0b2f, 0x002d252a}}, Y: Field{[10]uint32{0x0294cb87, 0x02475ca4, 0x01adfbf9, 0x00431902, 0x00cbacf7, 0x0100693e, 0x038d8aee, 0x0186767f, 0x03d6dad8, 0x0030e5ff}}}, + {X: Field{[10]uint32{0x02b9d89c, 0x011817a2, 0x02a83106, 0x03912677, 0x03118ea6, 0x03dc6f72, 0x008245c0, 0x002e52c8, 0x012d900d, 0x000a55da}}, Y: Field{[10]uint32{0x00444a7b, 0x03595690, 0x02a91857, 0x00adfaee, 0x00f12934, 0x03f09354, 0x0037e940, 0x02bfa800, 0x00479284, 0x0028f155}}}, + {X: Field{[10]uint32{0x01bd20eb, 0x02fdc8e8, 0x00cda39c, 0x034cb927, 0x031969ae, 0x03052979, 0x0213642d, 0x0381caf2, 0x0079f325, 0x00184406}}, Y: Field{[10]uint32{0x00e443b3, 0x016611c0, 0x017a9c1d, 0x00fb599d, 0x03e5c248, 0x02763ac2, 0x0367269e, 0x0392ef56, 0x00824816, 0x00138667}}}, + {X: Field{[10]uint32{0x0255ab18, 0x027106ae, 0x034e429a, 0x0352642a, 0x02c65f6a, 0x009c87ef, 0x028c648c, 0x011d3e2a, 0x00b299f3, 0x0027ba92}}, Y: Field{[10]uint32{0x03234443, 0x01f62707, 0x00654c1d, 0x024befb8, 0x03b68028, 0x03cad687, 0x00570497, 0x0346f1fa, 0x029735ce, 0x0004e551}}}, + {X: Field{[10]uint32{0x018bd97a, 0x03d00ed4, 0x03c5cc9d, 0x02d8c7c6, 0x013fff42, 0x028da023, 0x00759826, 0x02dc1f29, 0x00d78ba7, 0x0036ec15}}, Y: Field{[10]uint32{0x011b923a, 0x021e5d58, 0x01d4a89d, 0x03e06ae5, 0x030a55a1, 0x009f9e07, 0x00048854, 0x00e95775, 0x02c09634, 0x000e5bbd}}}, + {X: Field{[10]uint32{0x021bbcf1, 0x03cf2aad, 0x0275cd70, 0x01056c23, 0x01b2f625, 0x01705372, 0x03cc0ea3, 0x00bbd276, 0x03d57fdd, 0x0036ea56}}, Y: Field{[10]uint32{0x00d20a3d, 0x02438c80, 0x004cc64a, 0x02b2ba4e, 0x020b8f76, 0x0054566e, 0x036dba84, 0x01f91862, 0x025eb7a1, 0x000abc25}}}, + {X: Field{[10]uint32{0x02d0e5be, 0x02fabee2, 0x02ef5297, 0x00c9c8bd, 0x030bf1a1, 0x00f1d576, 0x02d8febc, 0x02ec3f9c, 0x02c97979, 0x0001b0c4}}, Y: Field{[10]uint32{0x0202c6ea, 0x0001c620, 0x006438be, 0x0185c7de, 0x006c4359, 0x0363ead5, 0x038d5ea3, 0x01ce777d, 0x0388db74, 0x000d8d98}}}, + {X: Field{[10]uint32{0x008825cd, 0x038c6db7, 0x021e5b9f, 0x00c2a8c5, 0x03ad9870, 0x006335c5, 0x01b8638e, 0x02f23d52, 0x0057a494, 0x00197adc}}, Y: Field{[10]uint32{0x03a80312, 0x019a530b, 0x03c92765, 0x01088256, 0x02160b7b, 0x021c1a38, 0x016b4acf, 0x02178246, 0x02a167f2, 0x00116080}}}, + {X: Field{[10]uint32{0x02ffa7f6, 0x01f8ae53, 0x000d6b56, 0x009b610b, 0x02c11174, 0x00abaf47, 0x01db7cbd, 0x01a36bb5, 0x0117b0e8, 0x00281a5a}}, Y: Field{[10]uint32{0x01ecba78, 0x0159d710, 0x030f5ba5, 0x00f8dffa, 0x03c797ec, 0x03a2f6a2, 0x01cb828b, 0x013723c0, 0x020da1bb, 0x00321d34}}}, + {X: Field{[10]uint32{0x002cced2, 0x009f195e, 0x0387903b, 0x01e474ed, 0x01108744, 0x0021ad93, 0x01378301, 0x00a84cb7, 0x03821937, 0x0010646e}}, Y: Field{[10]uint32{0x03dc3f2c, 0x024bf299, 0x03b4a348, 0x01e40925, 0x00493352, 0x00b84c2f, 0x02e52bf8, 0x03486347, 0x03c98ce4, 0x0031d241}}}, + {X: Field{[10]uint32{0x01b218c3, 0x039fd71e, 0x0038f3c3, 0x03c82427, 0x030945e3, 0x02572563, 0x023b9b2b, 0x024fb964, 0x01337212, 0x001d7cdf}}, Y: Field{[10]uint32{0x01928be7, 0x037ab3a9, 0x02a339af, 0x02847d00, 0x02a7d2fd, 0x033c46a8, 0x0328e181, 0x008a9e8b, 0x038ec6b2, 0x002b0107}}}, + {X: Field{[10]uint32{0x02fb154e, 0x01c6bee5, 0x02c65785, 0x03dc0775, 0x026004d1, 0x03c62a12, 0x00b3bef6, 0x00bca408, 0x033ab58b, 0x0032f0c5}}, Y: Field{[10]uint32{0x01fd5c37, 0x0393783e, 0x0089226d, 0x0325863a, 0x01b8f36e, 0x0255dfb8, 0x03c166de, 0x011050b4, 0x00b76f26, 0x003104e8}}}, + {X: Field{[10]uint32{0x02e226cc, 0x0390dc36, 0x00dd92a5, 0x03d16fd3, 0x0164f212, 0x0067346f, 0x02888324, 0x03e965a5, 0x0309a139, 0x0019395a}}, Y: Field{[10]uint32{0x010fbbbe, 0x02f06781, 0x02fa7671, 0x02a18a80, 0x01d10915, 0x02d0a505, 0x001eb3d0, 0x0240592d, 0x02eef242, 0x002a4653}}}, + {X: Field{[10]uint32{0x015285a6, 0x033ed24d, 0x0014f73b, 0x0140273f, 0x0334e133, 0x0380be44, 0x022c2fb8, 0x01b3ca68, 0x01c5e288, 0x0038cde5}}, Y: Field{[10]uint32{0x01afb304, 0x035908c0, 0x035e15c2, 0x03431b37, 0x01f7c575, 0x02d2ec19, 0x02580cb7, 0x01231c93, 0x0121f33d, 0x001e243f}}}, + {X: Field{[10]uint32{0x02b0b6dc, 0x01739d69, 0x036998f2, 0x0250d7ad, 0x036e6a09, 0x01b1e48c, 0x0143d2c7, 0x03428345, 0x026b7a73, 0x0001e5d7}}, Y: Field{[10]uint32{0x023eb06f, 0x00738bfd, 0x03115012, 0x004289fd, 0x008f16eb, 0x0158af09, 0x0248d5f7, 0x024fb757, 0x00aec689, 0x00042c58}}}, + {X: Field{[10]uint32{0x01580f6f, 0x01c73774, 0x03ce02ad, 0x02124b38, 0x03c1ca44, 0x0007d106, 0x02093d08, 0x00e59e4b, 0x03cbf9c1, 0x001b4344}}, Y: Field{[10]uint32{0x03b45746, 0x012fcb3a, 0x016f1bae, 0x0351c769, 0x014bdb25, 0x01e910c2, 0x01dcfe33, 0x03c08aef, 0x023884ca, 0x0005eb90}}}, + {X: Field{[10]uint32{0x03df0154, 0x01d28806, 0x008560a9, 0x019cfef4, 0x0360d398, 0x0098200d, 0x03d3f904, 0x00ad6727, 0x014a23af, 0x0008657c}}, Y: Field{[10]uint32{0x00136a8d, 0x00fb853e, 0x02111da5, 0x01621bfd, 0x025ff1aa, 0x014028dc, 0x01b3a10b, 0x03bc07d3, 0x038c9a44, 0x003f016c}}}, + {X: Field{[10]uint32{0x03713628, 0x029ff7e2, 0x03c4dac2, 0x0220e113, 0x021f5582, 0x03477468, 0x0354e167, 0x03e2e746, 0x007360ac, 0x0011d9e7}}, Y: Field{[10]uint32{0x03803ea7, 0x00fdb285, 0x007510a9, 0x002bfce9, 0x037ca018, 0x013df365, 0x014bbde9, 0x03a07793, 0x0225f3b8, 0x0020a808}}}, + {X: Field{[10]uint32{0x0230831a, 0x02a9f277, 0x00655ac9, 0x00b8bdf2, 0x038cb4ff, 0x030859af, 0x03fe514c, 0x029a6c8f, 0x02f51636, 0x002c2f40}}, Y: Field{[10]uint32{0x03d5f518, 0x03743423, 0x0081448a, 0x00fee9b2, 0x00f4843b, 0x02fae8f6, 0x03ffc51f, 0x032f14a9, 0x016248ba, 0x0001cfeb}}}, + {X: Field{[10]uint32{0x03660158, 0x0226c068, 0x034520c6, 0x00548f2d, 0x000aab5f, 0x036fb16e, 0x03f81afa, 0x03e07fb4, 0x03d6bfe9, 0x0037ebbf}}, Y: Field{[10]uint32{0x01240583, 0x017cf6b2, 0x0324df3b, 0x0200435e, 0x0330c4bf, 0x032d6d53, 0x00a4bf9c, 0x0120539b, 0x0105c3ef, 0x000fd534}}}, + {X: Field{[10]uint32{0x000d42ed, 0x02b81afd, 0x00ba7046, 0x038fadf9, 0x0080dffa, 0x01bf5af9, 0x013d2e79, 0x0079263d, 0x02bbda66, 0x003ac05a}}, Y: Field{[10]uint32{0x02f895be, 0x03e0e89e, 0x011f518b, 0x03b5b4a7, 0x0110f005, 0x030b97a1, 0x014d50ad, 0x0166a5b3, 0x01bbaa76, 0x000c435b}}}, + {X: Field{[10]uint32{0x019fb2ed, 0x01ebec32, 0x01173e51, 0x01334bcd, 0x01726378, 0x00dfe398, 0x035b5eb1, 0x0202cdb4, 0x03c43c08, 0x00262786}}, Y: Field{[10]uint32{0x01faa1d8, 0x02dd1da7, 0x012feb53, 0x02d30b36, 0x00999b3b, 0x0077ddf6, 0x035963d1, 0x033314e8, 0x035f110c, 0x0013133a}}}, + {X: Field{[10]uint32{0x02033811, 0x03846630, 0x010bbfbe, 0x01be4249, 0x00dd801d, 0x01db57bf, 0x025bd407, 0x01eefc7d, 0x0170be4a, 0x0002fac0}}, Y: Field{[10]uint32{0x0086461f, 0x037304e1, 0x01644ff4, 0x0277f316, 0x000f5234, 0x01b4f39b, 0x02998202, 0x0268e15e, 0x018a1d32, 0x0004d5ae}}}, + {X: Field{[10]uint32{0x03c0b145, 0x032d0abf, 0x0112e337, 0x01756d83, 0x02ea9bc5, 0x01b10a5a, 0x035e5969, 0x026935bd, 0x03c1986f, 0x0000b642}}, Y: Field{[10]uint32{0x031a0c4c, 0x0327c1bd, 0x03b5b48d, 0x02fb4bbc, 0x02b377cc, 0x019fabed, 0x004b721e, 0x00665efe, 0x0364734d, 0x001f55f3}}}, + {X: Field{[10]uint32{0x009f51bf, 0x02729dde, 0x02481e82, 0x03cffb9c, 0x0159fd53, 0x030d9cef, 0x0196848d, 0x02018b78, 0x0254c960, 0x001ade9a}}, Y: Field{[10]uint32{0x0009af23, 0x0148939b, 0x0321a579, 0x00ad0f2f, 0x03dd4dc4, 0x0162bef8, 0x0079f30c, 0x0229a7c2, 0x0208157b, 0x001aa7b8}}}, + {X: Field{[10]uint32{0x028e8393, 0x02f2da0d, 0x03a8bf4a, 0x03a221c3, 0x0316faf0, 0x02df9fba, 0x01f8fa87, 0x037f9da3, 0x00c732cb, 0x00326491}}, Y: Field{[10]uint32{0x035620ae, 0x0303f0a1, 0x01951bc0, 0x02331a92, 0x0058cc9b, 0x00b6b8ba, 0x0163453b, 0x00ab4901, 0x035553ba, 0x00082b46}}}, + {X: Field{[10]uint32{0x00f01b6b, 0x01c7e51c, 0x013f6d28, 0x009a707e, 0x01350fef, 0x0026807f, 0x01cf4fc6, 0x0237157c, 0x007b402a, 0x00154ff0}}, Y: Field{[10]uint32{0x00e5a824, 0x02644dcd, 0x002909c1, 0x005df91c, 0x039b3102, 0x035f54ea, 0x03cd0dc7, 0x01b7bfe9, 0x00753961, 0x000ed463}}}, + {X: Field{[10]uint32{0x00fe2f69, 0x012fb030, 0x02369a4e, 0x009e524b, 0x03721fa9, 0x00d3216e, 0x00dfc80a, 0x0229f2cf, 0x037806ed, 0x003164c0}}, Y: Field{[10]uint32{0x0317c149, 0x031e94cd, 0x023001e1, 0x019e7d11, 0x02d7580e, 0x004ff5c0, 0x016dea62, 0x0244a4de, 0x00698a3e, 0x000da679}}}, + {X: Field{[10]uint32{0x011e7eb5, 0x02fb3224, 0x01c6a79d, 0x01ffc744, 0x008cda0e, 0x030d275d, 0x034613d8, 0x026592e3, 0x0118f4d5, 0x0032dbc4}}, Y: Field{[10]uint32{0x01de20ee, 0x020d723f, 0x036f4cf4, 0x00f5f799, 0x030ca0fe, 0x02095f11, 0x03cc88f4, 0x03573dc8, 0x028898b0, 0x0018ac2b}}}, + {X: Field{[10]uint32{0x01a26db9, 0x03148a8c, 0x009a946f, 0x023259a2, 0x0078b5d4, 0x037b2e67, 0x0322ae61, 0x019a3765, 0x038f8c26, 0x00368b2a}}, Y: Field{[10]uint32{0x010c7e98, 0x007869db, 0x01ad8fc2, 0x01ac4921, 0x01180849, 0x0324ec4c, 0x0214cb70, 0x03e52529, 0x037e0234, 0x001a80cd}}}, + {X: Field{[10]uint32{0x003b7d86, 0x023579ad, 0x00a82b22, 0x020e69bb, 0x03fa595b, 0x003c0fbb, 0x03374110, 0x038f1ff8, 0x01423f9b, 0x003f1a93}}, Y: Field{[10]uint32{0x0298beff, 0x01da1968, 0x016f5bb4, 0x01b89a46, 0x0027dfbd, 0x03094fea, 0x0078fdda, 0x02f868f7, 0x0144eb8f, 0x001b0225}}}, + {X: Field{[10]uint32{0x03dee882, 0x00dd5b78, 0x03e09db7, 0x0126509b, 0x003d09fb, 0x032a5183, 0x03258e83, 0x038341dc, 0x011ab9c6, 0x001cf26a}}, Y: Field{[10]uint32{0x0171d2b3, 0x0358d7f9, 0x0222478c, 0x00411741, 0x0352040a, 0x027b61da, 0x0290259c, 0x01422b56, 0x0327efc0, 0x0022cc50}}}, + {X: Field{[10]uint32{0x034516d3, 0x01d1328e, 0x02762933, 0x0122ba5d, 0x022bc028, 0x012e0265, 0x03e61271, 0x033470d0, 0x006145b8, 0x00029a7c}}, Y: Field{[10]uint32{0x030ebe3d, 0x03688275, 0x009aea86, 0x006d1fd9, 0x0396b6d9, 0x02185789, 0x016caf01, 0x00dd07b0, 0x0190b450, 0x0021d463}}}, + {X: Field{[10]uint32{0x00ed9691, 0x0148d7ca, 0x02572fc9, 0x003d11a8, 0x01376a43, 0x0056e910, 0x01dfb2ac, 0x0102dc73, 0x022570df, 0x00072f92}}, Y: Field{[10]uint32{0x0213de85, 0x01748095, 0x0380b6ef, 0x03ce6714, 0x02c8ac69, 0x02ce54fb, 0x02a2d10a, 0x0386ab3c, 0x02ccf262, 0x00049553}}}, + {X: Field{[10]uint32{0x0388e27d, 0x0320df6d, 0x0052fd13, 0x006a209e, 0x014ee2f1, 0x02822c64, 0x005ac85b, 0x0333ed0c, 0x01c7406d, 0x00237a92}}, Y: Field{[10]uint32{0x03e9d9b0, 0x00a55ef3, 0x00056d90, 0x0395a5ed, 0x002b6071, 0x01e8141b, 0x038b15ab, 0x01f0faea, 0x01a83b51, 0x0031cf58}}}, + {X: Field{[10]uint32{0x02d0ade5, 0x0310e921, 0x0094f6e4, 0x01f4156f, 0x025e4b71, 0x0074e35a, 0x00ab5af8, 0x0330ec7b, 0x0377b175, 0x0037a498}}, Y: Field{[10]uint32{0x03d0e11f, 0x00e1f545, 0x01cb973c, 0x02b39834, 0x016be387, 0x02352e2c, 0x0289115d, 0x0365d350, 0x03e79169, 0x000a757c}}}, + {X: Field{[10]uint32{0x03b41497, 0x02896c34, 0x00fa38a9, 0x03317ac6, 0x00f6e8a9, 0x03549450, 0x0055a2f3, 0x01ead2ad, 0x02a7aeb3, 0x001b9dba}}, Y: Field{[10]uint32{0x01e066fa, 0x0064f925, 0x0108a89f, 0x00f35a42, 0x0144c40a, 0x011eaaf6, 0x03fb936a, 0x027456ef, 0x005a7890, 0x0001f8f3}}}, + {X: Field{[10]uint32{0x00607574, 0x03b43e2f, 0x03f8f09e, 0x0274dfd7, 0x01467853, 0x026247e6, 0x022b03fc, 0x01fc3699, 0x02cf22d5, 0x000dc4c7}}, Y: Field{[10]uint32{0x0249f3b3, 0x01e87244, 0x026acc17, 0x02a9aaeb, 0x01281323, 0x005cf52e, 0x011d596e, 0x00a5a3d8, 0x012169d4, 0x00300ecb}}}, + {X: Field{[10]uint32{0x025d8152, 0x004fcdd2, 0x024e7667, 0x023d25e6, 0x0365155c, 0x0337c3ae, 0x0276633b, 0x02655ca3, 0x001482c8, 0x001c8222}}, Y: Field{[10]uint32{0x0174eedc, 0x01d8b972, 0x02e92d2a, 0x01d2d22b, 0x00588a79, 0x02642803, 0x00e26f81, 0x03722f6a, 0x019f8c0a, 0x0019e0f1}}}, + {X: Field{[10]uint32{0x03241864, 0x0048d974, 0x01e8adb7, 0x03345136, 0x02d4567f, 0x02fe74f3, 0x03a7a7ad, 0x0112ca9f, 0x03dfbaca, 0x0006e098}}, Y: Field{[10]uint32{0x0388606d, 0x02906fb5, 0x02785783, 0x02020065, 0x02edf366, 0x00b6b00d, 0x004b98db, 0x00450c65, 0x023e24f0, 0x00007f1f}}}, + {X: Field{[10]uint32{0x02f5fd43, 0x02309833, 0x013dff1a, 0x0381684c, 0x03ea41ba, 0x03560fb7, 0x019714db, 0x01fcae06, 0x02de27ca, 0x0001e8dc}}, Y: Field{[10]uint32{0x02281142, 0x01bc6e6d, 0x032e2091, 0x0192e83a, 0x01a5d3ab, 0x03d793b5, 0x0060f220, 0x015e16d7, 0x016bb32c, 0x002838c8}}}, + {X: Field{[10]uint32{0x00d02300, 0x03b03aa3, 0x0232a72b, 0x03f5e750, 0x00c30f22, 0x0156b07c, 0x03b94327, 0x01124722, 0x01aa5525, 0x001c6057}}, Y: Field{[10]uint32{0x036471b4, 0x03c58031, 0x03804876, 0x00613118, 0x003ade09, 0x013af8f0, 0x02fcc688, 0x0170597e, 0x03928de1, 0x0022cd04}}}, + {X: Field{[10]uint32{0x03654d2b, 0x031714ff, 0x01c785d1, 0x01304b22, 0x0205535d, 0x027c815b, 0x02d866a0, 0x033192d8, 0x037ad3cf, 0x00006952}}, Y: Field{[10]uint32{0x03a12f19, 0x020e42d1, 0x012e841d, 0x03e774a2, 0x03e9f5ae, 0x0247b0c1, 0x0077395a, 0x021ef48b, 0x02e39f4b, 0x002df1de}}}, + {X: Field{[10]uint32{0x019c44a6, 0x00adfb66, 0x01987726, 0x0081d00e, 0x0022cd28, 0x035d68bb, 0x030b6953, 0x01cf9772, 0x00571fc9, 0x002172d1}}, Y: Field{[10]uint32{0x010f6aa5, 0x034cc627, 0x02d53280, 0x01eaf41b, 0x0358037a, 0x03850824, 0x014ef028, 0x03f99b03, 0x01f3bd13, 0x003bf747}}}, + {X: Field{[10]uint32{0x00fd4e4e, 0x02f7dd7f, 0x03962c35, 0x02384e37, 0x02cd72df, 0x0101e8da, 0x00b305a2, 0x00432509, 0x009c64a0, 0x00263a19}}, Y: Field{[10]uint32{0x01a6c60b, 0x02a921b5, 0x008efcd3, 0x03dbf338, 0x01624a8c, 0x030febb4, 0x01f77704, 0x0175f152, 0x01693439, 0x002a0131}}}, + {X: Field{[10]uint32{0x00a5a72b, 0x0002e51d, 0x028817e5, 0x0191a71a, 0x035019a1, 0x01d3eb22, 0x00338958, 0x0396a23d, 0x03e6a297, 0x0007ab11}}, Y: Field{[10]uint32{0x01a11105, 0x02792b83, 0x00325f51, 0x028a570c, 0x01043a10, 0x03992e7b, 0x000bb1ff, 0x037abbce, 0x026b784d, 0x0022df6a}}}, + {X: Field{[10]uint32{0x004f42f5, 0x012b9a01, 0x026bc96c, 0x031e80a9, 0x01e29950, 0x029c8f89, 0x029e0ab6, 0x01cd8c5f, 0x006591f2, 0x003c1e6b}}, Y: Field{[10]uint32{0x0032dfc5, 0x02051a71, 0x00562249, 0x0340f649, 0x03490186, 0x005287bd, 0x00c3ca02, 0x010dd12b, 0x01bfc99f, 0x003aa1f4}}}, + {X: Field{[10]uint32{0x02539643, 0x01c72a8c, 0x0186eba4, 0x03a21a0c, 0x00fa0d94, 0x001dec76, 0x011c3ada, 0x00c383c0, 0x0179bf1f, 0x0035b427}}, Y: Field{[10]uint32{0x00aa8adf, 0x03d7325f, 0x00049876, 0x00dd19af, 0x00ef5100, 0x036b4b52, 0x030494dc, 0x03d507dc, 0x0064fac8, 0x0021dc2f}}}, + {X: Field{[10]uint32{0x00351f65, 0x03cee82e, 0x0291e3af, 0x029ac793, 0x01d6416c, 0x020c4fe2, 0x00595656, 0x00cda01c, 0x03d9f896, 0x000ddb92}}, Y: Field{[10]uint32{0x025f13f1, 0x014de379, 0x0295b78a, 0x03a91feb, 0x000497de, 0x0111f2ca, 0x019e8b96, 0x023c757a, 0x01e56724, 0x002e90db}}}, + {X: Field{[10]uint32{0x039f20d7, 0x0231d042, 0x0210c657, 0x014eee85, 0x000b17cb, 0x025be0d3, 0x0193daec, 0x031e6688, 0x02184b42, 0x0009c3ce}}, Y: Field{[10]uint32{0x03e7e5bc, 0x019cca15, 0x0300021b, 0x02a7d28e, 0x023a7054, 0x019ccddf, 0x00fb0d01, 0x022eec28, 0x012b9ab9, 0x003333ac}}}, + {X: Field{[10]uint32{0x02c1a599, 0x00169743, 0x02de20f5, 0x02dfea62, 0x00b055d2, 0x00ed25b4, 0x0247a8a9, 0x014d20a7, 0x03641a1e, 0x002b89c6}}, Y: Field{[10]uint32{0x03c2bdd3, 0x03ec911f, 0x0181e45d, 0x02294f05, 0x01584790, 0x021ebea7, 0x02a9a23f, 0x0207c948, 0x012f39b4, 0x00053a55}}}, + {X: Field{[10]uint32{0x03f28c8c, 0x021a6d69, 0x016a25ec, 0x00ea50ff, 0x02db36a9, 0x03b94e43, 0x0288ad64, 0x0229d2a4, 0x00fb177d, 0x0015a7ab}}, Y: Field{[10]uint32{0x03732f7c, 0x0271c6d7, 0x028440cb, 0x03d517d4, 0x02bfda9a, 0x01bd3c4d, 0x027508aa, 0x0190ae66, 0x00329127, 0x00073d8b}}}, + {X: Field{[10]uint32{0x0315b558, 0x01f3e057, 0x01e46f27, 0x03b5b4d9, 0x0041bfb5, 0x025e43e3, 0x026a2468, 0x039eea8c, 0x027ffdc4, 0x001df1fc}}, Y: Field{[10]uint32{0x021c3007, 0x03e4cee0, 0x01a4325a, 0x03ac1140, 0x00e0f970, 0x014b0bb0, 0x02a68288, 0x03976559, 0x00dc138b, 0x00134d10}}}, + {X: Field{[10]uint32{0x00adbb25, 0x03b5f625, 0x001ed132, 0x0079ee0c, 0x017d4676, 0x00113fbe, 0x03f67e9b, 0x000c1aa1, 0x02dbf173, 0x003598a4}}, Y: Field{[10]uint32{0x008b83c5, 0x03963d8b, 0x00209cb0, 0x0051bf14, 0x033d36db, 0x02ff2cca, 0x0145f238, 0x0293b648, 0x03558cec, 0x0033bbdd}}}, + {X: Field{[10]uint32{0x037ed0d6, 0x021597a9, 0x03a4925e, 0x02efd541, 0x038769e3, 0x01faec7c, 0x03927ef0, 0x01bd12dd, 0x032e12ea, 0x000710a0}}, Y: Field{[10]uint32{0x0029d5ee, 0x0394e2a7, 0x0211e280, 0x028cc9ef, 0x02786a62, 0x03879076, 0x017917d9, 0x013d769c, 0x03a4b31b, 0x0022e4e0}}}, + {X: Field{[10]uint32{0x021f7968, 0x02afddec, 0x014cc5d6, 0x00d4f34e, 0x00608324, 0x02e633cc, 0x0362911f, 0x018aa330, 0x02ff9422, 0x0018f95f}}, Y: Field{[10]uint32{0x01b009be, 0x00ba8d56, 0x036b0450, 0x038a897e, 0x00146062, 0x008ba94c, 0x0344e7d3, 0x020fc930, 0x022dfb90, 0x00278f07}}}, + {X: Field{[10]uint32{0x03b83c90, 0x01452265, 0x03f9b02a, 0x02a6d3a8, 0x00cf3ed3, 0x024253aa, 0x0088e591, 0x022971cb, 0x03a186f3, 0x002f88cf}}, Y: Field{[10]uint32{0x01dba564, 0x0067437b, 0x0156fefd, 0x03a98a5a, 0x0140bd48, 0x03714def, 0x0389ef9e, 0x02b6c9b8, 0x02b3362f, 0x00100bac}}}, + {X: Field{[10]uint32{0x01844b78, 0x0030fc58, 0x03579aaa, 0x01592892, 0x02f2cc69, 0x029cc3f3, 0x01f4d065, 0x01d3ea71, 0x03804e7c, 0x0018db76}}, Y: Field{[10]uint32{0x02a2496c, 0x03d1faf9, 0x022e7dee, 0x03ee4589, 0x026aa31f, 0x025fab22, 0x02feb598, 0x004b1808, 0x01695832, 0x001a928d}}}, + {X: Field{[10]uint32{0x02e1c5e7, 0x035b0b37, 0x01e605bd, 0x030adb9a, 0x02215ae7, 0x038bc959, 0x035af1ee, 0x0361ffde, 0x01d17250, 0x00349470}}, Y: Field{[10]uint32{0x03b4ae78, 0x012d461f, 0x004cbf55, 0x001b2116, 0x005de60d, 0x02e59963, 0x035c9862, 0x00bea32a, 0x00f57df5, 0x000916b3}}}, + {X: Field{[10]uint32{0x018ed407, 0x0371d106, 0x0248cc3b, 0x005ceea0, 0x029055f9, 0x012c1bd0, 0x011cbe05, 0x004cedc1, 0x00b8c62f, 0x00101753}}, Y: Field{[10]uint32{0x005deb54, 0x02aee9cc, 0x027201a9, 0x03f181d1, 0x01523553, 0x034af0fb, 0x00e8031b, 0x00f2d0a6, 0x0310a896, 0x002118f7}}}, + {X: Field{[10]uint32{0x03e983b8, 0x03b638e6, 0x03003546, 0x025073a3, 0x00ab3293, 0x03f696f9, 0x00a03144, 0x00e81f85, 0x02ee9ab3, 0x0025fc16}}, Y: Field{[10]uint32{0x03849261, 0x012b56fa, 0x01a7c3be, 0x008078f4, 0x03d321f1, 0x00cde0b2, 0x0070b155, 0x004e2f13, 0x02267fd9, 0x0016798a}}}, + {X: Field{[10]uint32{0x02b91ac8, 0x0181d243, 0x0153dea1, 0x02350c25, 0x01c99fdf, 0x02e6b5a4, 0x01060f26, 0x009701aa, 0x016118e1, 0x0000ce20}}, Y: Field{[10]uint32{0x0004384b, 0x005d9f65, 0x00c88728, 0x023f6f70, 0x02a57178, 0x0116a640, 0x013af0d2, 0x0069a301, 0x018b5b8e, 0x00160fa4}}}, + {X: Field{[10]uint32{0x0117a9f9, 0x03dff4cf, 0x03c31dc8, 0x0198cda7, 0x038cf653, 0x0370ed81, 0x0306b1ad, 0x01a8967d, 0x00466bbe, 0x00377483}}, Y: Field{[10]uint32{0x01de5a99, 0x01e3a270, 0x03daa7cf, 0x0166b2d0, 0x017833e1, 0x0188733c, 0x02adcf46, 0x0261a2ee, 0x0329b4ea, 0x002cb7de}}}, + {X: Field{[10]uint32{0x03dfc9f7, 0x00005c8e, 0x011cfdfe, 0x004ba37e, 0x00eecd07, 0x004e272f, 0x02c26bc3, 0x003b9565, 0x012f71ae, 0x00248f1b}}, Y: Field{[10]uint32{0x034be948, 0x0290dc00, 0x03082414, 0x021cc81f, 0x005ff2ed, 0x02680f50, 0x001ae969, 0x00490da9, 0x00ad27c4, 0x001bf6ca}}}, + {X: Field{[10]uint32{0x00a09e65, 0x0277c637, 0x031a7fde, 0x01b05241, 0x01a44887, 0x0229f444, 0x0212461b, 0x01fa1d9a, 0x02bd28d5, 0x001b50a9}}, Y: Field{[10]uint32{0x01fd28bf, 0x02fb5ae5, 0x02775640, 0x0099d1fc, 0x00dcdd28, 0x0008988d, 0x005554df, 0x03a5f0d6, 0x02b801db, 0x00137c1e}}}, + {X: Field{[10]uint32{0x01d761ae, 0x018c3b08, 0x023f04b9, 0x0010c726, 0x0170efe1, 0x014e7b38, 0x003610d8, 0x03c9674f, 0x016159f9, 0x001ff50a}}, Y: Field{[10]uint32{0x01d7e280, 0x03c77c49, 0x026dc787, 0x0005b574, 0x00e85b60, 0x03543990, 0x037d00c4, 0x00afd440, 0x0041b8ce, 0x003f5a55}}}, + {X: Field{[10]uint32{0x026770b5, 0x026ec97a, 0x018a75b5, 0x0377d023, 0x00944045, 0x00156664, 0x0100a017, 0x025f7f9e, 0x010b128d, 0x00123041}}, Y: Field{[10]uint32{0x00f66559, 0x0005f05b, 0x0061ef9b, 0x027e218c, 0x01d450e4, 0x00d4e282, 0x0061b315, 0x00c67073, 0x01a04b6e, 0x0023df3b}}}, + {X: Field{[10]uint32{0x02e2a686, 0x01963df7, 0x00a09689, 0x01037969, 0x00b3214c, 0x0220f19f, 0x02baa1b4, 0x018b725a, 0x019da12d, 0x0015118b}}, Y: Field{[10]uint32{0x01ccd957, 0x03fb0b96, 0x02e370bc, 0x00583546, 0x026a3f00, 0x03bba067, 0x0133bb50, 0x00475c3f, 0x016f9160, 0x001d9ceb}}}, + {X: Field{[10]uint32{0x026435e8, 0x01ce6087, 0x02261443, 0x011d535e, 0x0095c5fe, 0x012ddc7c, 0x025a46e4, 0x0076260a, 0x00c4e4e1, 0x001a614d}}, Y: Field{[10]uint32{0x01cbba18, 0x03d07538, 0x011376a8, 0x0267dc70, 0x039faba0, 0x039f5a1c, 0x0219a8a5, 0x0031c635, 0x02acb272, 0x000db580}}}, + {X: Field{[10]uint32{0x03e77ecc, 0x0120ca82, 0x0341ad8c, 0x00849bf4, 0x01d0bc2a, 0x03223b36, 0x0376b0d7, 0x02070eec, 0x035951c6, 0x001124fd}}, Y: Field{[10]uint32{0x0120351e, 0x002624b0, 0x0012a391, 0x03d3a0a7, 0x02df7143, 0x02ff552f, 0x03158574, 0x026ab65f, 0x021dd4d9, 0x003954f8}}}, + {X: Field{[10]uint32{0x00f8313b, 0x02f89233, 0x02ec8cf8, 0x0179a1f9, 0x006c0632, 0x0245f009, 0x0384cf5f, 0x02038625, 0x02a93300, 0x002c1536}}, Y: Field{[10]uint32{0x0367d866, 0x0222c76d, 0x01a83b06, 0x016877ba, 0x014ed52a, 0x01809083, 0x015f2a40, 0x03956b1d, 0x03155c9c, 0x00147c11}}}, + {X: Field{[10]uint32{0x0029583e, 0x000dc4f0, 0x03c571fe, 0x032581be, 0x02c1f8cf, 0x0194676c, 0x03e6796e, 0x01ac7e7f, 0x02a4fa99, 0x0012d09c}}, Y: Field{[10]uint32{0x030edb83, 0x032029bf, 0x0110cf5f, 0x00cd0e13, 0x03cecde8, 0x032f145e, 0x0336f8cf, 0x0314f572, 0x02d0dce7, 0x002549bc}}}, + {X: Field{[10]uint32{0x03e29604, 0x0012a8d8, 0x00bff46a, 0x020fc7c1, 0x006cf63f, 0x03468e52, 0x02d8e647, 0x03a0bb2b, 0x0281c69d, 0x003587ad}}, Y: Field{[10]uint32{0x021f08b8, 0x0218965c, 0x001dfaa3, 0x01756fd1, 0x03f62fdf, 0x002b8a3a, 0x006d9a43, 0x01ee3cdf, 0x02fb156d, 0x0026d6a4}}}, + {X: Field{[10]uint32{0x02bf507f, 0x00f93830, 0x0157d576, 0x0103bf63, 0x008349e3, 0x037057ae, 0x0173c8f3, 0x01e7027e, 0x000257f9, 0x0002fe3c}}, Y: Field{[10]uint32{0x020614fe, 0x01052820, 0x037d9f66, 0x00e7d3c5, 0x03433467, 0x01b4d8e8, 0x00265a83, 0x0399c3f7, 0x022f1041, 0x00158761}}}, + {X: Field{[10]uint32{0x034cb498, 0x00f8a25d, 0x032d5eb0, 0x011547b1, 0x03b471fd, 0x00a4ea1b, 0x01ca03f7, 0x03eb5936, 0x00e2a7a6, 0x0018ec95}}, Y: Field{[10]uint32{0x01948c8b, 0x01eef9d4, 0x01880083, 0x014dafbf, 0x01f5be7d, 0x00b79273, 0x03b3819a, 0x03a48b71, 0x01113a4c, 0x003d0514}}}, + {X: Field{[10]uint32{0x03968725, 0x00628a74, 0x0009ae04, 0x0021ae4f, 0x0350fdd9, 0x01327bf9, 0x0091f33c, 0x01bb618d, 0x02cde1da, 0x002eb9be}}, Y: Field{[10]uint32{0x02a30533, 0x0198241b, 0x0349bb4d, 0x03149498, 0x02e4ca46, 0x019539a8, 0x03df74c6, 0x00c5dbda, 0x01550e48, 0x001f1f72}}}, + {X: Field{[10]uint32{0x00eb34af, 0x021188eb, 0x0029b595, 0x005d4e01, 0x00d30a63, 0x0271982c, 0x02d81395, 0x02a823cf, 0x01f8ea15, 0x003d58a1}}, Y: Field{[10]uint32{0x015a9eb9, 0x02c73a41, 0x038ee31e, 0x0369ee66, 0x02d9a0f6, 0x028b72e6, 0x0303c9de, 0x00652901, 0x03c1a202, 0x0004400c}}}, + {X: Field{[10]uint32{0x0151d87a, 0x01c98ce0, 0x006a540d, 0x0348663b, 0x020eafba, 0x003a38da, 0x039191c6, 0x035147b6, 0x00953de3, 0x0021db1f}}, Y: Field{[10]uint32{0x032279b8, 0x013897a5, 0x03d27df5, 0x00744016, 0x01cf5501, 0x0394aa16, 0x0010d177, 0x0031b010, 0x037472ce, 0x00257bff}}}, + {X: Field{[10]uint32{0x000a6d30, 0x0360eb25, 0x030e3fbf, 0x01b6e8fc, 0x00a024d8, 0x02ac71d6, 0x00969024, 0x01ef55a0, 0x03ed077c, 0x003a55b1}}, Y: Field{[10]uint32{0x03aad9da, 0x01c5dc41, 0x0026b45c, 0x0164339a, 0x0205aa57, 0x01669592, 0x017a9da2, 0x026adde9, 0x00a6f0d1, 0x0006d77f}}}, + {X: Field{[10]uint32{0x01dd3f16, 0x00bfeaa6, 0x028bd8fe, 0x016a0691, 0x03ab743b, 0x01412335, 0x016e9c06, 0x01150c51, 0x0261abdb, 0x003d4ff7}}, Y: Field{[10]uint32{0x0390222f, 0x01ad93b5, 0x026bc1a2, 0x023b838a, 0x01a65ac7, 0x02cd586f, 0x038e86ba, 0x008ad405, 0x013947ea, 0x00074a2d}}}, + {X: Field{[10]uint32{0x00043ad9, 0x00d91272, 0x003b5f5d, 0x02d3def3, 0x025e49b0, 0x00da9f18, 0x01b91039, 0x010d751d, 0x028152eb, 0x002e46a1}}, Y: Field{[10]uint32{0x013aaa75, 0x00c018a8, 0x0288bb34, 0x00347a2f, 0x01722dc9, 0x007746f5, 0x0296f3d1, 0x026f0185, 0x01175693, 0x00031d63}}}, + {X: Field{[10]uint32{0x018f8cc7, 0x03c233e3, 0x02897b16, 0x032ec930, 0x0261f5ad, 0x02f25d4d, 0x00c55d0a, 0x00a49f6d, 0x007023e3, 0x0016a1ef}}, Y: Field{[10]uint32{0x03731e54, 0x02a9b81b, 0x01b2c3d2, 0x00b622a2, 0x009d1ac3, 0x02ffdd2d, 0x02d2120f, 0x00357011, 0x024baa6a, 0x00273aab}}}, + {X: Field{[10]uint32{0x01ceb034, 0x01e7de5c, 0x02e80de9, 0x02a19ad9, 0x01215622, 0x03f1736c, 0x00a80b9e, 0x02cd50ef, 0x0343e54e, 0x002b02c6}}, Y: Field{[10]uint32{0x00638d8d, 0x0344fcfd, 0x007f609b, 0x03ef4afc, 0x01439477, 0x025f6a6d, 0x03c2b871, 0x0385485e, 0x035e5731, 0x002a2455}}}, + {X: Field{[10]uint32{0x005ca915, 0x01cd19fa, 0x03dc1450, 0x01277cea, 0x00e84f19, 0x01ae88dc, 0x034d6f3f, 0x033609db, 0x02bc2017, 0x0034f107}}, Y: Field{[10]uint32{0x00dcf7b7, 0x02979363, 0x02ce609d, 0x01d8ee8f, 0x01bc1e95, 0x0043f3cd, 0x02b1e916, 0x0165147d, 0x01528be5, 0x0014aac7}}}, + {X: Field{[10]uint32{0x03923b02, 0x03afa551, 0x010634d1, 0x013d27ba, 0x02ab842e, 0x0386c3cd, 0x0100d00f, 0x00b31bde, 0x0057f4c8, 0x001a33ff}}, Y: Field{[10]uint32{0x02b1d8e2, 0x01a92166, 0x026b26fe, 0x0012ebb4, 0x03367ba9, 0x00628c1a, 0x03da281c, 0x001d070f, 0x01bfaac1, 0x001ca655}}}, + {X: Field{[10]uint32{0x00177d9c, 0x03c954e3, 0x0074cd30, 0x0194d0fe, 0x02579dc7, 0x014c9299, 0x00566b33, 0x0267bb82, 0x00e12462, 0x001f83d6}}, Y: Field{[10]uint32{0x0021447c, 0x010065a2, 0x0128dcd3, 0x0055a816, 0x00086b90, 0x034d99d0, 0x009af7b5, 0x024fc020, 0x01835872, 0x000e5949}}}, + {X: Field{[10]uint32{0x00c9b542, 0x0057ae39, 0x03bbb97a, 0x0219cc95, 0x025dc450, 0x02cc97f5, 0x013d4bf1, 0x019263ad, 0x03dbd181, 0x0031caae}}, Y: Field{[10]uint32{0x0325a7b9, 0x01debeca, 0x0378288e, 0x0232da06, 0x00841a06, 0x011b34c6, 0x0041ed3e, 0x03cf4a21, 0x03a55df5, 0x000f23eb}}}, + {X: Field{[10]uint32{0x02363d0d, 0x002aed74, 0x015a1b72, 0x0329cff8, 0x00943654, 0x03da40de, 0x024d76ce, 0x0245107d, 0x035d3eb0, 0x001d1d1f}}, Y: Field{[10]uint32{0x00443649, 0x03eb5f07, 0x019b9746, 0x029907e5, 0x03bf54c1, 0x032bc151, 0x01f993a5, 0x03a3dcc8, 0x03240bc7, 0x00004b19}}}, + {X: Field{[10]uint32{0x01b67067, 0x03ff23e4, 0x006e1212, 0x00b347ec, 0x0129db86, 0x02b5a26a, 0x00b5d71d, 0x039f10d3, 0x02d1ab1d, 0x003ca9c0}}, Y: Field{[10]uint32{0x03afd854, 0x01ef458d, 0x0242962c, 0x006af451, 0x031d5ec1, 0x03ed373e, 0x03452bc7, 0x02b26b2d, 0x022cc730, 0x00016e47}}}, + {X: Field{[10]uint32{0x000d9340, 0x02d58d34, 0x01e1b530, 0x00f52fa4, 0x00c2535b, 0x000711ba, 0x01a87b62, 0x01ad197f, 0x030814e7, 0x002a4b53}}, Y: Field{[10]uint32{0x01cd0277, 0x02e81941, 0x030be6f4, 0x02f08d43, 0x0038d96d, 0x01d536b6, 0x01fd9bfe, 0x03ed015a, 0x028f3c02, 0x001360a6}}}, + {X: Field{[10]uint32{0x02f205a1, 0x03e45e89, 0x017462aa, 0x010a1285, 0x02df5ea1, 0x002a03ee, 0x00ea3206, 0x030ecfe4, 0x00b1ac06, 0x001e78c3}}, Y: Field{[10]uint32{0x00d5c82f, 0x007c9db2, 0x028d5352, 0x012a7d85, 0x007f1736, 0x0032ea5d, 0x008a79ed, 0x0252556b, 0x020a8145, 0x002b4882}}}, + {X: Field{[10]uint32{0x009401d1, 0x008c6da3, 0x02ff3020, 0x028eeaf5, 0x0288c8d6, 0x00903e8c, 0x023252be, 0x015dfc11, 0x0053d412, 0x001b5577}}, Y: Field{[10]uint32{0x03006eb3, 0x00cbf4de, 0x021540d7, 0x03228297, 0x02c98e17, 0x019e7c15, 0x01553452, 0x00cb0164, 0x0096aa3b, 0x0020e907}}}, + {X: Field{[10]uint32{0x01b3f20a, 0x00ed5a92, 0x02f487c8, 0x038834f8, 0x0211ef14, 0x032e2830, 0x03ea5eb4, 0x02e426cd, 0x031f604e, 0x0033e727}}, Y: Field{[10]uint32{0x0247dff8, 0x034722e8, 0x03f93dd3, 0x03e77d5b, 0x02da24ea, 0x032d1077, 0x0260b5be, 0x026621dc, 0x01f64e64, 0x000ae42e}}}, + {X: Field{[10]uint32{0x006b35dd, 0x03649786, 0x00346a2f, 0x016eea6a, 0x00e30f43, 0x03bdbf2b, 0x03677809, 0x02652acc, 0x019f29ed, 0x0018350a}}, Y: Field{[10]uint32{0x0360331e, 0x008da551, 0x0143737b, 0x02927462, 0x03040d51, 0x03639092, 0x0386ddd2, 0x02d3163f, 0x0388b8aa, 0x00037da6}}}, + {X: Field{[10]uint32{0x01493540, 0x0314ddb6, 0x02122887, 0x01660b34, 0x037de3be, 0x004528ef, 0x02bbb854, 0x012981ad, 0x02dd1b67, 0x00364e9b}}, Y: Field{[10]uint32{0x01e5f7ff, 0x03146ffe, 0x01230423, 0x023111fb, 0x03acfdb0, 0x03e486b9, 0x01590064, 0x0065ef00, 0x03d7dc79, 0x0021f68d}}}, + {X: Field{[10]uint32{0x01652962, 0x024646af, 0x03c6025d, 0x0368681b, 0x01fd5869, 0x032ded7d, 0x02bb6b31, 0x023662dc, 0x01377e10, 0x0033e30f}}, Y: Field{[10]uint32{0x00128fbb, 0x02722c4d, 0x01c93afc, 0x006a1e7b, 0x02fc5427, 0x0086cf2b, 0x002b0343, 0x02b40b6d, 0x0102bb96, 0x0001bd73}}}, + {X: Field{[10]uint32{0x00df29eb, 0x011f9a23, 0x002a6908, 0x0123c931, 0x00715b90, 0x01ee7283, 0x03ab65ac, 0x03b3e609, 0x02474637, 0x001b2a64}}, Y: Field{[10]uint32{0x02b55439, 0x0260f93f, 0x001f6d93, 0x00374057, 0x028bb616, 0x02ad5f0f, 0x02a446ed, 0x01153b65, 0x01a5fefa, 0x00144de3}}}, + {X: Field{[10]uint32{0x00d17afd, 0x035a1b4a, 0x008c558e, 0x0135ee7c, 0x033cc306, 0x02b3cb8f, 0x0267758c, 0x004f577a, 0x00043cb8, 0x001bdf4b}}, Y: Field{[10]uint32{0x0233bc6f, 0x029b3194, 0x013c8c65, 0x03c82b0a, 0x01b590a5, 0x01f17858, 0x039106c1, 0x03b120cf, 0x027813ec, 0x0011e538}}}, + {X: Field{[10]uint32{0x0124f3e1, 0x02a2893a, 0x03475d2c, 0x0069f667, 0x01e818d0, 0x0213a466, 0x02a82b01, 0x0220fead, 0x00d00bc9, 0x003e2bb8}}, Y: Field{[10]uint32{0x039442b5, 0x01bcd2a0, 0x01b8ab52, 0x01797348, 0x0244f105, 0x01ac6cf7, 0x0026bfac, 0x0177c025, 0x032b6913, 0x002b3e72}}}, + {X: Field{[10]uint32{0x00ce781c, 0x010ad180, 0x03f9d222, 0x03aba461, 0x010a85c8, 0x03d32470, 0x03123fc7, 0x000fd12f, 0x00bfc1a2, 0x0022c03f}}, Y: Field{[10]uint32{0x01d35bc9, 0x02617322, 0x03cac478, 0x02676b7e, 0x020a8de6, 0x03b9510a, 0x00264280, 0x039a43b0, 0x018a3e81, 0x00187a79}}}, + {X: Field{[10]uint32{0x01d6dd4d, 0x02dfe84e, 0x03c1ab0e, 0x008fa612, 0x00a72785, 0x0330c84b, 0x001ebbc1, 0x028acb08, 0x03078e84, 0x003eeb2e}}, Y: Field{[10]uint32{0x003a0f52, 0x02129f93, 0x020833aa, 0x017f45b1, 0x014e557d, 0x032eea89, 0x03df675c, 0x002265e5, 0x01d6f5eb, 0x000b1b27}}}, + {X: Field{[10]uint32{0x005c0611, 0x00cf6b2b, 0x02175bfa, 0x02ecf7e2, 0x005ba601, 0x00ee8a01, 0x028f9935, 0x03c14e34, 0x035c2f32, 0x000555a1}}, Y: Field{[10]uint32{0x00e240b7, 0x02bfa129, 0x01cf8eba, 0x00e84391, 0x03d2eb78, 0x022238e1, 0x01fb5405, 0x0251923a, 0x0050c3da, 0x0014d88c}}}, + {X: Field{[10]uint32{0x02d93d77, 0x01caec00, 0x0379e2e9, 0x03416617, 0x0349a8ce, 0x01a0fe00, 0x03e690ec, 0x017a6338, 0x00957f5b, 0x002d80ac}}, Y: Field{[10]uint32{0x01435227, 0x00e6d3a1, 0x009d960d, 0x00e2bd6e, 0x01ff3588, 0x006edecc, 0x00046acb, 0x02e0878c, 0x0390ddd6, 0x001e21a0}}}, + {X: Field{[10]uint32{0x022dd17a, 0x01454076, 0x0037724f, 0x0059d7f9, 0x037a8462, 0x001bc154, 0x01d66f8a, 0x00913822, 0x016523a5, 0x000a8440}}, Y: Field{[10]uint32{0x00825159, 0x0314e86e, 0x02bff938, 0x01e1f4b0, 0x02b881d0, 0x001cdfce, 0x02de4983, 0x018ba6c0, 0x0125e1ca, 0x000934ed}}}, + {X: Field{[10]uint32{0x017efce0, 0x00d76991, 0x01d3835a, 0x02495bf2, 0x01a13edb, 0x03d0f4b6, 0x0326a8e4, 0x03e6a738, 0x03591148, 0x0001cc51}}, Y: Field{[10]uint32{0x03b2d8b3, 0x02c3fddd, 0x03790c7f, 0x03c0c182, 0x021ad5ad, 0x015d991c, 0x02c7cfa4, 0x02a8134e, 0x009480d0, 0x002c6573}}}, + {X: Field{[10]uint32{0x036206fc, 0x0117b76c, 0x02e3db2f, 0x0190df65, 0x000525d8, 0x016a7638, 0x0362979c, 0x008f5c58, 0x03e40c7e, 0x0028db93}}, Y: Field{[10]uint32{0x02844751, 0x0158d799, 0x02707c74, 0x027da5e9, 0x00034669, 0x0020ce69, 0x0270de87, 0x0236d2a2, 0x03850a42, 0x0015ab39}}}, + {X: Field{[10]uint32{0x003cac9a, 0x0135de3d, 0x00402344, 0x035fa219, 0x0085b877, 0x0289253d, 0x021b61d5, 0x01046175, 0x03e7a2c5, 0x0025e192}}, Y: Field{[10]uint32{0x01f2ff69, 0x023b68ae, 0x000ab013, 0x00a1c6e6, 0x003a6c54, 0x03a4f9c7, 0x01dcd900, 0x020e4554, 0x0278a85b, 0x0010ccca}}}, + {X: Field{[10]uint32{0x0119893e, 0x03ae65a1, 0x02458b74, 0x01057fc0, 0x03daa7ca, 0x0177351f, 0x02c92c84, 0x03ba9b68, 0x01bf2449, 0x000d294b}}, Y: Field{[10]uint32{0x0303ece4, 0x00151ff8, 0x001b9427, 0x00d5a675, 0x03b3545a, 0x007ceec8, 0x03a8d552, 0x009b27de, 0x0029900f, 0x002b7506}}}, + {X: Field{[10]uint32{0x03f3d629, 0x037a298b, 0x02fcf5af, 0x02ede67d, 0x030d8bdb, 0x018c7d6e, 0x037b2b48, 0x02985d7e, 0x03a994ee, 0x0038942a}}, Y: Field{[10]uint32{0x0143b0ea, 0x02f60da0, 0x01757409, 0x03b02ffc, 0x022e92c4, 0x02254c3e, 0x00b6fae6, 0x03ea182f, 0x00f59db0, 0x00200fcd}}}, + {X: Field{[10]uint32{0x0071ae00, 0x026b8a6e, 0x02372086, 0x00bb8eca, 0x02795304, 0x01563845, 0x009347a4, 0x011b8845, 0x026d0b59, 0x00060d5a}}, Y: Field{[10]uint32{0x015385cb, 0x03a6aee6, 0x01f08f19, 0x008eea30, 0x000ba6de, 0x032849f1, 0x0398ec8d, 0x01be0787, 0x01716b17, 0x0015bbc2}}}, + {X: Field{[10]uint32{0x00205533, 0x033caa44, 0x0288eed3, 0x035bdcf5, 0x02ca5932, 0x0030a795, 0x025ef3f3, 0x0182100d, 0x03f5e530, 0x000d6a3a}}, Y: Field{[10]uint32{0x03259958, 0x0061481f, 0x018c453a, 0x03570b41, 0x0220d30f, 0x02b69d67, 0x01410325, 0x0153788f, 0x01950429, 0x0027ab97}}}, + {X: Field{[10]uint32{0x02a4e1b9, 0x014107f9, 0x007bda70, 0x02427292, 0x037b3dbe, 0x014ea597, 0x0062b920, 0x023fa7aa, 0x02f525ea, 0x0000df81}}, Y: Field{[10]uint32{0x03ceb97c, 0x015fed87, 0x020d703f, 0x01a3f73d, 0x003f2f65, 0x00686650, 0x0313b604, 0x026fa88f, 0x03d35e48, 0x0020e467}}}, + {X: Field{[10]uint32{0x02131c27, 0x037b0657, 0x007131a4, 0x0119c636, 0x01483166, 0x03929bff, 0x00629476, 0x0000bc44, 0x0297ac6c, 0x002aeef9}}, Y: Field{[10]uint32{0x012f9dcb, 0x01c55cac, 0x00300929, 0x01126a92, 0x02fd7049, 0x0083abd3, 0x00d8a24a, 0x008bfdfe, 0x02cb9d51, 0x002cb249}}}, + {X: Field{[10]uint32{0x01b05878, 0x0161691a, 0x0204368a, 0x00dabab2, 0x015a1a36, 0x022454c5, 0x0029c8b7, 0x03730fdf, 0x02cb1484, 0x00137cda}}, Y: Field{[10]uint32{0x0241c41d, 0x0308379a, 0x02d09d4f, 0x012edff3, 0x00aa059f, 0x0255914d, 0x00417fb1, 0x03c098ff, 0x026fc08a, 0x003f85bf}}}, + {X: Field{[10]uint32{0x0399d0d7, 0x01f4a6f9, 0x0073123a, 0x018371f1, 0x03c8f49c, 0x02f6bdab, 0x01570e5e, 0x01a82a22, 0x02e31025, 0x0017fc53}}, Y: Field{[10]uint32{0x03e65d7b, 0x0074af3d, 0x010d8989, 0x01b15b3f, 0x0295382d, 0x02b66146, 0x02a923ee, 0x00beb23c, 0x013855eb, 0x0025bfc5}}}, + {X: Field{[10]uint32{0x015d119a, 0x00b7a8a1, 0x028104f6, 0x0320dabd, 0x02a24dba, 0x01eadc61, 0x01281a1b, 0x008bd1e4, 0x0052c1d4, 0x0005a84b}}, Y: Field{[10]uint32{0x00c17478, 0x0205c8c9, 0x03b2ab3a, 0x03d01838, 0x01d36a4b, 0x02eeaaea, 0x0196cb38, 0x015b791a, 0x0272f673, 0x001e9bbc}}}, + {X: Field{[10]uint32{0x01489ef5, 0x0003fea8, 0x00eda606, 0x02b2fa91, 0x0005fcdb, 0x03f559f9, 0x00b3d154, 0x02248292, 0x00338368, 0x0023d327}}, Y: Field{[10]uint32{0x03885717, 0x015932b6, 0x01b4e37d, 0x035232ee, 0x01a4b0ab, 0x018a78b9, 0x03c0082d, 0x01131eca, 0x004de064, 0x000aed6f}}}, + {X: Field{[10]uint32{0x02b83310, 0x035b4aaa, 0x017776ab, 0x00bf417d, 0x0219236d, 0x0140e672, 0x00ca399e, 0x01c04215, 0x039b0754, 0x001262fc}}, Y: Field{[10]uint32{0x02fd691c, 0x0394699a, 0x01d0c4dd, 0x0118b0d5, 0x02b5edcd, 0x0291752e, 0x007beb58, 0x0238daf3, 0x03ff0cb5, 0x00238b7a}}}, + {X: Field{[10]uint32{0x02fb5996, 0x01b84dbb, 0x01c1171e, 0x024047a2, 0x022ba51d, 0x012560cd, 0x02247d17, 0x034e5ac8, 0x020a2978, 0x001e051f}}, Y: Field{[10]uint32{0x03f85989, 0x00c349c3, 0x01fd41d8, 0x03d6e2c1, 0x004c75bf, 0x03ad1043, 0x01bf0fb2, 0x01986f9c, 0x030ca73b, 0x00299ade}}}, + {X: Field{[10]uint32{0x028d4927, 0x035df760, 0x01f663f4, 0x028b85ab, 0x0047e112, 0x00b7c012, 0x037aea1d, 0x01b1f951, 0x00d9fb23, 0x000d44a6}}, Y: Field{[10]uint32{0x00fe00f9, 0x00ab2077, 0x03f2067f, 0x035161e3, 0x01241094, 0x01862b94, 0x01c3884e, 0x008ea745, 0x01af8b6f, 0x001b2724}}}, + {X: Field{[10]uint32{0x02399d10, 0x00af2f85, 0x00a67a34, 0x01a2797e, 0x01c18146, 0x0121526b, 0x00ffc148, 0x01827093, 0x000c88fb, 0x003ed7ff}}, Y: Field{[10]uint32{0x00229ab3, 0x011b97ee, 0x00a0946f, 0x02472217, 0x0088cf57, 0x03a4ba5e, 0x03eff328, 0x02532e43, 0x013f9ced, 0x002a6578}}}, + {X: Field{[10]uint32{0x0032097b, 0x0293e812, 0x036b36c7, 0x0251df35, 0x0089565e, 0x00372aa8, 0x03bd1974, 0x027175c5, 0x03c44cc0, 0x0020d4ad}}, Y: Field{[10]uint32{0x010fe6bc, 0x02bdb1df, 0x01e236f8, 0x02ada531, 0x00f91c8f, 0x01dd2b9a, 0x018ca786, 0x0097641d, 0x019800fa, 0x002541f2}}}, + {X: Field{[10]uint32{0x01919f4a, 0x00104561, 0x0140bd82, 0x036d8ab6, 0x015d5ed1, 0x02ec7165, 0x01014d76, 0x009d1b5b, 0x000f273a, 0x0006f997}}, Y: Field{[10]uint32{0x0009a3f2, 0x0368d657, 0x03552da3, 0x00f202c8, 0x00f044e9, 0x03be0eba, 0x01470a83, 0x03e0e68f, 0x03302a38, 0x0036b263}}}, + {X: Field{[10]uint32{0x0358418e, 0x017e6302, 0x003a7ed6, 0x0227afdd, 0x008de14d, 0x03a003d9, 0x0365037a, 0x03889fba, 0x03a52f4b, 0x001c41fc}}, Y: Field{[10]uint32{0x01fca7a4, 0x01a9d29a, 0x00e6069f, 0x03caa857, 0x01927b2d, 0x023bab91, 0x00e429d1, 0x03cc9f45, 0x0009bd1a, 0x002ff3c7}}}, + {X: Field{[10]uint32{0x03312e3e, 0x00125ce5, 0x00cff9dd, 0x03300293, 0x00983389, 0x02c7e766, 0x0254a133, 0x02b96c73, 0x004be8ed, 0x000045ca}}, Y: Field{[10]uint32{0x0212b03d, 0x02d170e0, 0x01539638, 0x01de1b98, 0x0084e3af, 0x0321342e, 0x03519994, 0x03b5262f, 0x001e724f, 0x00247923}}}, + {X: Field{[10]uint32{0x000de54e, 0x02d129ec, 0x015ded31, 0x02db1f99, 0x0041c243, 0x0226d9c5, 0x01f1cd0d, 0x026ad194, 0x02deb1ff, 0x00282361}}, Y: Field{[10]uint32{0x030f0d2f, 0x0098a720, 0x0012c0ec, 0x03530b6f, 0x01a72ed8, 0x01d33252, 0x0364feef, 0x00e7455d, 0x03f6344d, 0x001343f9}}}, + {X: Field{[10]uint32{0x00e8c25f, 0x023b2d69, 0x015503f7, 0x00cf79c4, 0x0098cfc6, 0x02352282, 0x032cbf36, 0x01062bbb, 0x01cedf67, 0x00271130}}, Y: Field{[10]uint32{0x01e743fa, 0x01936f8c, 0x0335f81f, 0x01b79306, 0x03de3d3c, 0x03e61c30, 0x01a959b9, 0x03c258c7, 0x002086d3, 0x000f3688}}}, + {X: Field{[10]uint32{0x0339f149, 0x00ce2c88, 0x02319250, 0x012694ab, 0x00f85979, 0x03c935c5, 0x03118da6, 0x030196ea, 0x00755215, 0x00364cf9}}, Y: Field{[10]uint32{0x00baec45, 0x01f5bf22, 0x01dcb054, 0x00e74bc6, 0x030e277e, 0x012604a1, 0x03abfa60, 0x03c13778, 0x028e313a, 0x0017ec3c}}}, + {X: Field{[10]uint32{0x008a42cb, 0x003c74c6, 0x015ff63c, 0x014d96ab, 0x024c2f9e, 0x03c90ef1, 0x00105289, 0x014cb288, 0x0197ddd0, 0x001ff87c}}, Y: Field{[10]uint32{0x02472af7, 0x0159e3ff, 0x02c7cd3f, 0x02b1ae8a, 0x01a9ec6b, 0x015879d7, 0x03618286, 0x024863b8, 0x033fa186, 0x00204ec4}}}, + {X: Field{[10]uint32{0x0107f79c, 0x02ae54b1, 0x0151a96a, 0x02bacf5d, 0x037ba412, 0x00b71b55, 0x010789c7, 0x008409eb, 0x01218961, 0x0038d5a1}}, Y: Field{[10]uint32{0x023e3a30, 0x01919690, 0x029a8496, 0x00533579, 0x017d8201, 0x0377d351, 0x01fe225e, 0x02a2b2b9, 0x01058e2c, 0x001d9171}}}, + {X: Field{[10]uint32{0x02ebece4, 0x03b3e0ad, 0x0380d146, 0x020ee089, 0x00c667a1, 0x02daa768, 0x02bcefc3, 0x01128aaf, 0x01468a56, 0x00315abf}}, Y: Field{[10]uint32{0x00f1a8d4, 0x018d7e55, 0x01e750cc, 0x005071a4, 0x022915ba, 0x01a19526, 0x03c587cb, 0x00a11227, 0x0255a80e, 0x00279071}}}, + {X: Field{[10]uint32{0x01589345, 0x0347c9a8, 0x02d5600a, 0x023f46af, 0x01440f9f, 0x00257c38, 0x036042e1, 0x02a3c1ce, 0x033960e6, 0x002c90ba}}, Y: Field{[10]uint32{0x036dfde0, 0x00107961, 0x01ca4bb5, 0x02b7a11a, 0x00378579, 0x025bca8d, 0x002decb6, 0x03c280d8, 0x036df063, 0x00251369}}}, + {X: Field{[10]uint32{0x023bb827, 0x01ec41cc, 0x03d42af5, 0x029ad70e, 0x0378f835, 0x0339a1c0, 0x00a43f2f, 0x00b8ba22, 0x01666d2e, 0x000e94bf}}, Y: Field{[10]uint32{0x03af91c7, 0x0136a669, 0x034cc487, 0x035b4390, 0x020096c7, 0x023d3ca7, 0x015cea01, 0x01e9189d, 0x0177a7b3, 0x0004b944}}}, + {X: Field{[10]uint32{0x00d28f53, 0x01deba89, 0x026cf708, 0x03f8259e, 0x034a71c0, 0x0262a31a, 0x03072d25, 0x006b4451, 0x0215c883, 0x002ddf55}}, Y: Field{[10]uint32{0x02bf3132, 0x02318d27, 0x011760d1, 0x030cdaa3, 0x01f5cff2, 0x03de4d81, 0x02df83d5, 0x0299977a, 0x03cfa068, 0x0009756d}}}, + {X: Field{[10]uint32{0x008530dc, 0x0260da70, 0x0214d798, 0x013d3fde, 0x03f23d22, 0x0109aa89, 0x03847288, 0x00d6a14d, 0x003b61e4, 0x00391083}}, Y: Field{[10]uint32{0x00ca8572, 0x034b213b, 0x019a7f7c, 0x02a626c4, 0x029b3c67, 0x01622b65, 0x02bd74e1, 0x0212e66f, 0x00b48579, 0x00108ac1}}}, + {X: Field{[10]uint32{0x030aaaea, 0x00204158, 0x007cecae, 0x011262b4, 0x01236e3c, 0x01853ec0, 0x020fadda, 0x00a678ee, 0x01bfc6ab, 0x002222ff}}, Y: Field{[10]uint32{0x0370eb3c, 0x03d1dccd, 0x03453f06, 0x032761c4, 0x037ada97, 0x006a3d02, 0x00fb94aa, 0x0396018a, 0x013d58cf, 0x0021b9c9}}}, + {X: Field{[10]uint32{0x00ef419c, 0x01310d84, 0x02cce8ef, 0x00b52185, 0x000d850f, 0x004e6059, 0x03de398a, 0x022cc376, 0x018bf7d7, 0x003dd349}}, Y: Field{[10]uint32{0x03029204, 0x029ffc94, 0x02c9dfca, 0x02db5233, 0x0205d60e, 0x02ec4b4c, 0x0332213c, 0x02b7f250, 0x01af1e6d, 0x00344f52}}}, + {X: Field{[10]uint32{0x00da6df0, 0x00504417, 0x00ae0679, 0x0352deb0, 0x0365cea0, 0x006e4895, 0x00097861, 0x00120e9c, 0x029098d6, 0x002a2ccf}}, Y: Field{[10]uint32{0x0121c553, 0x03ced44d, 0x01ddc650, 0x030194b2, 0x021182b6, 0x01bfd1d8, 0x032598e9, 0x0255ec45, 0x038cc08d, 0x00163308}}}, + {X: Field{[10]uint32{0x023ef1ff, 0x0251c286, 0x03cb8969, 0x02d96b84, 0x027a4a6c, 0x01286857, 0x01dbbe3d, 0x03eb6639, 0x01547477, 0x0016be2c}}, Y: Field{[10]uint32{0x016f25bf, 0x012c68df, 0x03672cc8, 0x0056dbbd, 0x033c0a8c, 0x019ba05c, 0x008fac13, 0x0060c8db, 0x0201d0c6, 0x001497b4}}}, + {X: Field{[10]uint32{0x03bec21c, 0x027ca780, 0x030bc811, 0x0196adff, 0x02fa71e6, 0x037e198a, 0x01143833, 0x01712887, 0x00546d4c, 0x00005571}}, Y: Field{[10]uint32{0x00411aae, 0x0259afd4, 0x036d0378, 0x020bb7bf, 0x03638422, 0x03f5c91f, 0x00eaefe8, 0x00461737, 0x03672f64, 0x00083a67}}}, + {X: Field{[10]uint32{0x0025a56e, 0x0019831d, 0x01473101, 0x00319ce3, 0x00c8fd7f, 0x02998ddc, 0x0022aea5, 0x00b59b9f, 0x0186ee18, 0x0014e461}}, Y: Field{[10]uint32{0x0056152e, 0x01636746, 0x0052fabc, 0x01e9c848, 0x00cdbf72, 0x01c2e249, 0x02564a1e, 0x03b075f8, 0x00923052, 0x0031ffa8}}}, + {X: Field{[10]uint32{0x03ad6414, 0x0262ee8e, 0x00d4f679, 0x03ca356b, 0x01cc52d7, 0x01dd03d3, 0x0004abba, 0x02dc59d2, 0x01d9a0fa, 0x003de593}}, Y: Field{[10]uint32{0x01f62c59, 0x02b20d22, 0x03ccb31c, 0x008bc6ef, 0x02d469a1, 0x03b04779, 0x03dc5c2a, 0x03d8339e, 0x0364aba0, 0x001aa627}}}, + {X: Field{[10]uint32{0x01663183, 0x0167b6f3, 0x0258e720, 0x038ad6c5, 0x02ffd72e, 0x00c9f1bb, 0x000a909b, 0x03cb79e2, 0x008af514, 0x001d0723}}, Y: Field{[10]uint32{0x0087b2ae, 0x00915129, 0x01b49012, 0x00c7edbf, 0x02e40b6b, 0x022bf9cd, 0x013532d4, 0x00518371, 0x036de5de, 0x003cd749}}}, + {X: Field{[10]uint32{0x0347945a, 0x03e20d62, 0x037e9b2e, 0x03c4c485, 0x02606e55, 0x01bbd3c8, 0x02ea9f12, 0x028a2bf1, 0x01bf6cc2, 0x0037a31a}}, Y: Field{[10]uint32{0x00a48a02, 0x017292d0, 0x0052c8b8, 0x0108ec72, 0x0270d847, 0x013fdc19, 0x00e2fecb, 0x035851e0, 0x00536900, 0x0023798a}}}, + {X: Field{[10]uint32{0x0357c537, 0x0163a8db, 0x006afcd0, 0x03f66a11, 0x01d6a8d5, 0x00f7404d, 0x02523b2d, 0x02d07362, 0x0339619b, 0x0020785b}}, Y: Field{[10]uint32{0x03f4b31e, 0x0170996e, 0x0032f239, 0x0135f6eb, 0x00375c43, 0x01477bb1, 0x006de9b9, 0x03b32b45, 0x00737cd2, 0x0019e1bf}}}, + {X: Field{[10]uint32{0x026f988d, 0x008eab9e, 0x01a20f01, 0x00122ac8, 0x02e70f7f, 0x01c96cc2, 0x01625b8a, 0x02c8ba31, 0x0189d079, 0x001167a5}}, Y: Field{[10]uint32{0x03f38e08, 0x01fa310c, 0x0112ee76, 0x0069155d, 0x00915de2, 0x030d41b3, 0x02d26acc, 0x028a4b12, 0x02935b71, 0x00295bb7}}}, + {X: Field{[10]uint32{0x028ebddd, 0x013ce161, 0x03758228, 0x014746ae, 0x01f2e5bb, 0x01c2d3ab, 0x0018806a, 0x029ffc82, 0x03554fab, 0x002c1e75}}, Y: Field{[10]uint32{0x0274dffe, 0x016dc07f, 0x001dcfcf, 0x03115d18, 0x0120b6c0, 0x0390d3ea, 0x00f65773, 0x005d2c84, 0x002d552f, 0x00125777}}}, + {X: Field{[10]uint32{0x034f288b, 0x02af4b19, 0x00100569, 0x005cfc17, 0x00bb30af, 0x0356c42d, 0x0180de1d, 0x03ec8505, 0x03bb5983, 0x001d4e46}}, Y: Field{[10]uint32{0x02958d67, 0x0292bdf7, 0x0080db58, 0x00d347c7, 0x02b319f5, 0x004d694a, 0x026032f2, 0x012ae7ad, 0x02bac915, 0x0015f1e9}}}, + {X: Field{[10]uint32{0x01524db4, 0x02784d90, 0x03e7d5a8, 0x03dccbf2, 0x035bda94, 0x013f1a47, 0x0061069e, 0x023dd7f1, 0x0157f284, 0x001c50da}}, Y: Field{[10]uint32{0x033f0007, 0x014476f7, 0x0224fe92, 0x016973bc, 0x0195658a, 0x006e4f20, 0x022813c5, 0x02b75596, 0x0052ef4f, 0x0004a1fe}}}, + {X: Field{[10]uint32{0x01543f9c, 0x03263c50, 0x037853b7, 0x01adc9e7, 0x0094ad07, 0x00965c3b, 0x00c74c9e, 0x03425c37, 0x0333fa75, 0x002e40e2}}, Y: Field{[10]uint32{0x03cf838e, 0x01c2ac36, 0x02660734, 0x03cf5bd9, 0x02af59ce, 0x038e7235, 0x03c1bf48, 0x017b40fe, 0x01696929, 0x0028a30c}}}, + {X: Field{[10]uint32{0x01f86196, 0x022bc5e9, 0x034b083b, 0x02e759f0, 0x03f259bd, 0x01b6f832, 0x00664e63, 0x036403ef, 0x0028a9fb, 0x002cb18f}}, Y: Field{[10]uint32{0x0149ebdd, 0x0040fbb3, 0x012b0ee7, 0x008dbd70, 0x01b79207, 0x02544329, 0x03084218, 0x018f119c, 0x00fc069c, 0x002a3c14}}}, + {X: Field{[10]uint32{0x0017f39c, 0x00b31e89, 0x0128a5c9, 0x011bce3a, 0x01d06bf3, 0x03edf1e1, 0x027edfad, 0x008657d2, 0x01bea32b, 0x003374a9}}, Y: Field{[10]uint32{0x03fa621b, 0x02b775ad, 0x01f04d2d, 0x01320e0a, 0x02213386, 0x00ace02b, 0x0203ee72, 0x0070d80c, 0x0278ac42, 0x0002ad9b}}}, + {X: Field{[10]uint32{0x033db80f, 0x033e9867, 0x01c39780, 0x0031c93e, 0x01a27d74, 0x0220e3b1, 0x02f03a82, 0x029cdeb3, 0x0064b079, 0x00209742}}, Y: Field{[10]uint32{0x021071d3, 0x01c866d1, 0x02b43a87, 0x02b6f0b8, 0x01c2154f, 0x03817ae9, 0x027e427f, 0x011299fc, 0x00b7749e, 0x002fcfba}}}, + {X: Field{[10]uint32{0x035e24c7, 0x02e243ef, 0x02218608, 0x01dfc2c3, 0x01d0c364, 0x027d338f, 0x02930a87, 0x03d00b25, 0x023cbf6b, 0x000dede7}}, Y: Field{[10]uint32{0x00f66f1d, 0x016b40c4, 0x02e29204, 0x02cbdec3, 0x00c32a5b, 0x0084f0bc, 0x010ff4c9, 0x018c2e82, 0x02c7cec5, 0x00365c50}}}, + {X: Field{[10]uint32{0x012b6135, 0x008b0cd5, 0x039d8aed, 0x003beec1, 0x0389560b, 0x02d14baf, 0x01105bf5, 0x029d7502, 0x02d0678e, 0x003ee992}}, Y: Field{[10]uint32{0x011f938c, 0x00f02c83, 0x03e3bdf6, 0x0065f5b6, 0x035c628f, 0x02a01ab5, 0x01dd8441, 0x00dea2a1, 0x022de4e6, 0x0039994d}}}, + {X: Field{[10]uint32{0x00d9cf72, 0x028fe5fb, 0x027a859e, 0x0034610c, 0x03d3bd49, 0x021311db, 0x004897de, 0x034dbe76, 0x038e077e, 0x001d9e1e}}, Y: Field{[10]uint32{0x0180a9b3, 0x0336508e, 0x00158210, 0x022ccf59, 0x00e3ba22, 0x0075e37f, 0x0126011d, 0x00e30f30, 0x03141a3f, 0x00033de7}}}, + {X: Field{[10]uint32{0x00157b31, 0x00694340, 0x03e8a369, 0x02790be7, 0x01f16a12, 0x01986954, 0x026ba1c5, 0x028cd217, 0x01d0ffb3, 0x0009aeaf}}, Y: Field{[10]uint32{0x002c530d, 0x0101cb63, 0x008eee4c, 0x01c49fb7, 0x02e66a6c, 0x0080dc2c, 0x0266e33a, 0x00691bed, 0x02e2b1cf, 0x0006ce92}}}, + {X: Field{[10]uint32{0x0376307a, 0x000c75a7, 0x02008c1b, 0x03c8d811, 0x007ca4d3, 0x01dca7ca, 0x02aa8640, 0x0287a5e9, 0x03b77a2f, 0x00056bb6}}, Y: Field{[10]uint32{0x03073649, 0x033f65bf, 0x00788a6d, 0x01e14d53, 0x03f94088, 0x03017cda, 0x01746439, 0x008d81a9, 0x0142bf8b, 0x000cd0a8}}}, + {X: Field{[10]uint32{0x026fe467, 0x0003d5d1, 0x01fb3de1, 0x02837f79, 0x01c2b072, 0x01bbd330, 0x00d5767c, 0x03353f7d, 0x00a39bb7, 0x00263b38}}, Y: Field{[10]uint32{0x03227e28, 0x03d18faa, 0x02bba6f4, 0x00a5a829, 0x021e679d, 0x00e555b1, 0x0029d0f8, 0x024f9fae, 0x00a8218c, 0x00313a49}}}, + {X: Field{[10]uint32{0x03f373a9, 0x026daa0f, 0x03304198, 0x028becc8, 0x018a48cd, 0x0019eedc, 0x01ffafab, 0x00fbb533, 0x0105fc21, 0x001f619d}}, Y: Field{[10]uint32{0x0097d47c, 0x027bdd5f, 0x00c1b919, 0x03e233a8, 0x0096e167, 0x01290053, 0x03c417ef, 0x0081e065, 0x03f03c21, 0x00177d47}}}, + {X: Field{[10]uint32{0x01b3001f, 0x02dce8a5, 0x0117f410, 0x012275db, 0x02bf269a, 0x02c03578, 0x03ece8b7, 0x02387ef8, 0x01d74357, 0x003c93c6}}, Y: Field{[10]uint32{0x0223631f, 0x014d89c1, 0x0020d53e, 0x011d4520, 0x0116d2b5, 0x00d3d31e, 0x0048bbbb, 0x022d99ec, 0x03ff5544, 0x00191290}}}, + {X: Field{[10]uint32{0x000efd59, 0x0374ef20, 0x0227b923, 0x007480e6, 0x021fd106, 0x0352fa88, 0x0111281e, 0x00a5b87a, 0x03045c22, 0x0024e14c}}, Y: Field{[10]uint32{0x03eb7040, 0x03f9a662, 0x011628c2, 0x0087a7eb, 0x022607da, 0x01332417, 0x0399bbfe, 0x00b4543d, 0x00f600cd, 0x0008a623}}}, + {X: Field{[10]uint32{0x02319743, 0x014c7251, 0x01f0daf1, 0x03b2625f, 0x01b91ff4, 0x039349a1, 0x03b14ee8, 0x013c5894, 0x03053983, 0x003c2431}}, Y: Field{[10]uint32{0x000bd522, 0x0160d04a, 0x02d2abf1, 0x02326bce, 0x0228c59c, 0x014e80ad, 0x0208391f, 0x009c76a2, 0x00851d30, 0x003045c6}}}, + {X: Field{[10]uint32{0x02a78c6e, 0x01b34fbf, 0x038e67fb, 0x0022a401, 0x000df9bb, 0x00aa3abf, 0x00234aeb, 0x03cedd28, 0x00ecab5b, 0x0003a3f2}}, Y: Field{[10]uint32{0x02ddabe5, 0x001eca09, 0x035c29b0, 0x002d2439, 0x01a8397c, 0x018b829d, 0x02fcd713, 0x026edd1b, 0x016534ce, 0x00002c20}}}, + {X: Field{[10]uint32{0x03126785, 0x02835c67, 0x03aa09b0, 0x02eb200c, 0x03c7426d, 0x012bcdf8, 0x003cef69, 0x010f9cc0, 0x00d187cb, 0x00118963}}, Y: Field{[10]uint32{0x01ad4fc4, 0x02b48dd5, 0x006d4601, 0x02fdc20b, 0x0175576e, 0x030da608, 0x00dd82e2, 0x002089d9, 0x01a75f06, 0x00211850}}}, + {X: Field{[10]uint32{0x00a3e430, 0x02fb9ab3, 0x037a1e65, 0x03cd17e6, 0x0394109b, 0x010cd042, 0x01d27c3f, 0x021fbd4a, 0x033bdb38, 0x0039fce2}}, Y: Field{[10]uint32{0x02cd589f, 0x02b0d24a, 0x00f8109f, 0x02deb6f2, 0x00ab1faf, 0x02c1fa2b, 0x02dec0c0, 0x031c0a42, 0x00f15eae, 0x003d4910}}}, + {X: Field{[10]uint32{0x03537aec, 0x02c0e94b, 0x0062eda5, 0x019fdcff, 0x02fa9a01, 0x007d5a76, 0x03d5b750, 0x01e635d7, 0x00331472, 0x000b4a7a}}, Y: Field{[10]uint32{0x012d2be6, 0x025dba5e, 0x00001d18, 0x017d688c, 0x03d9e2f5, 0x00164d80, 0x03c58cfc, 0x02e7ea85, 0x011ab117, 0x0014b4f7}}}, + {X: Field{[10]uint32{0x0091ffb6, 0x025f470e, 0x03c7c8ac, 0x0291be50, 0x00f47609, 0x01d54b76, 0x03b44c9c, 0x029edddf, 0x009cabf7, 0x0028ecbb}}, Y: Field{[10]uint32{0x00fc19de, 0x0272efcf, 0x03417d55, 0x01856c06, 0x024d5280, 0x00a96b59, 0x00933852, 0x00e07d4c, 0x0070f091, 0x001b38e3}}}, + {X: Field{[10]uint32{0x0100f473, 0x03d974cc, 0x03015a21, 0x01896150, 0x026cefe7, 0x02cf46a3, 0x02504dda, 0x0295b039, 0x001e7582, 0x002bf2cf}}, Y: Field{[10]uint32{0x03171af8, 0x029db1a2, 0x004a38e5, 0x021d5ecb, 0x0367edbd, 0x03864c40, 0x02afc618, 0x02126629, 0x039dfbeb, 0x001aebc7}}}, + {X: Field{[10]uint32{0x010e2ac8, 0x00d58976, 0x006eccdd, 0x0129242e, 0x026650f7, 0x0119aa30, 0x022bbea9, 0x02559efd, 0x0212dc89, 0x00222cbc}}, Y: Field{[10]uint32{0x018c30a5, 0x01629934, 0x0208e7e4, 0x010b6652, 0x026ecd6c, 0x0285c8f8, 0x036d4f5d, 0x0054ff5f, 0x017bdef6, 0x001cff5d}}}, + {X: Field{[10]uint32{0x01adef3c, 0x02646f87, 0x000d493d, 0x01157125, 0x03395c59, 0x0369a8a9, 0x01c971d7, 0x00a45994, 0x029f4ca3, 0x0002ff7a}}, Y: Field{[10]uint32{0x01bc20d8, 0x02d93608, 0x00a17578, 0x01947db5, 0x004166bc, 0x02e01df3, 0x000adea5, 0x03da1108, 0x00447ef3, 0x00209d1c}}}, + {X: Field{[10]uint32{0x00973ae5, 0x00d91fb9, 0x0265b521, 0x0298f593, 0x00e8fdf6, 0x01247b3c, 0x012e3869, 0x0175a729, 0x0381aa76, 0x00175172}}, Y: Field{[10]uint32{0x03d019db, 0x03e0ac4b, 0x022bdb17, 0x03f8f2be, 0x00fdab36, 0x0040e9f7, 0x03517e7c, 0x01b5dddc, 0x032b51a7, 0x00292928}}}, + {X: Field{[10]uint32{0x02e7109d, 0x0019d4de, 0x033ae87d, 0x0249174b, 0x036d6fe0, 0x0310f976, 0x034fa531, 0x026652a8, 0x03cee14e, 0x003ce940}}, Y: Field{[10]uint32{0x03ec49e8, 0x0157957c, 0x01785ac5, 0x02e81cc9, 0x03568aa5, 0x006546d8, 0x0322daad, 0x0142d081, 0x00c0a24d, 0x000ac5c5}}}, + {X: Field{[10]uint32{0x00cbeeb5, 0x01ab78e2, 0x012d9b66, 0x014cdf47, 0x02042619, 0x02e39ae2, 0x00c225ea, 0x00bb4915, 0x036d6f81, 0x002530e9}}, Y: Field{[10]uint32{0x03a953e3, 0x0358e87b, 0x0104cbc8, 0x03eb59b8, 0x023d1351, 0x02fc6062, 0x00893b95, 0x019d1b75, 0x02e6aa40, 0x002ee273}}}, + {X: Field{[10]uint32{0x00f4c050, 0x0242323c, 0x02a3cc0c, 0x03446077, 0x01b9a2d3, 0x007f696f, 0x015a6625, 0x00900ce7, 0x02810523, 0x0008f6ff}}, Y: Field{[10]uint32{0x01eae6b2, 0x016e12d3, 0x036794e4, 0x0267502a, 0x00b5c168, 0x01e7b439, 0x00f8385c, 0x0043bd22, 0x0271229f, 0x0032bbce}}}, + {X: Field{[10]uint32{0x00bbf1d2, 0x00a7b1ab, 0x03b88e46, 0x03286d2e, 0x01d2dcbe, 0x015e4d7d, 0x01dc69dc, 0x02186704, 0x03d120ef, 0x000e41f8}}, Y: Field{[10]uint32{0x0015e853, 0x02611185, 0x00055ba2, 0x02f16288, 0x00e6aad1, 0x0324da11, 0x017b0a60, 0x00ae7730, 0x02b7d74e, 0x0010e3e5}}}, + {X: Field{[10]uint32{0x032b7d9c, 0x03c17859, 0x00b710e6, 0x012ccde2, 0x01651c94, 0x0101fd64, 0x02a6a373, 0x0013f602, 0x03193eeb, 0x00030502}}, Y: Field{[10]uint32{0x01e44072, 0x001dee4a, 0x02e641f7, 0x03bd0c34, 0x03899450, 0x001d8ed8, 0x01fef6b7, 0x01150e75, 0x011559e2, 0x002526ff}}}, + {X: Field{[10]uint32{0x032ea56c, 0x02951f83, 0x028d1740, 0x02dac1b8, 0x002563c3, 0x00c3dd79, 0x012fe269, 0x00e72077, 0x005bc96a, 0x0025df3c}}, Y: Field{[10]uint32{0x02a10d52, 0x03039ae6, 0x02dc0e70, 0x01e0daa7, 0x0307e158, 0x01b291a2, 0x0295e234, 0x005930db, 0x023a8508, 0x0000e00b}}}, + {X: Field{[10]uint32{0x00a034e3, 0x009ec836, 0x003761e8, 0x02ce7b8f, 0x02795a7b, 0x039395fd, 0x0151e5a9, 0x0383532b, 0x00d63995, 0x00041a70}}, Y: Field{[10]uint32{0x027fe33b, 0x03065316, 0x028041d2, 0x02b1e23f, 0x0047963a, 0x02aed792, 0x01d89c47, 0x01319560, 0x00879c0e, 0x00386a85}}}, + {X: Field{[10]uint32{0x013e3682, 0x02096cf2, 0x0245bba3, 0x03d4d49e, 0x0142419a, 0x0138a9d5, 0x03ab10c7, 0x010607fc, 0x0280c341, 0x003fde31}}, Y: Field{[10]uint32{0x00d3615e, 0x0128dd89, 0x0256e1fc, 0x01d37cbc, 0x0186c8c5, 0x002cb6fb, 0x032382e2, 0x0243cdda, 0x02dbf053, 0x003badc2}}}, + {X: Field{[10]uint32{0x02bcddc7, 0x01abf661, 0x03d05905, 0x01af570d, 0x002b0cb2, 0x020e29a8, 0x004c3ff5, 0x00f5aa70, 0x03033acd, 0x0017b27a}}, Y: Field{[10]uint32{0x032aff03, 0x0099d25c, 0x01c8b9ae, 0x02d230ea, 0x03e39d92, 0x03651170, 0x000bed1e, 0x0037c05f, 0x03f60eed, 0x0024a8a1}}}, + {X: Field{[10]uint32{0x031b37d1, 0x0363b211, 0x03ee9339, 0x01369f71, 0x00bef0a5, 0x0236f1fa, 0x0267e14d, 0x034d2dfb, 0x02ba792d, 0x003aa881}}, Y: Field{[10]uint32{0x011ee92e, 0x0041f1a3, 0x025e2695, 0x008475e3, 0x0355e00d, 0x01030585, 0x02f2530c, 0x027281ff, 0x025ebe71, 0x00155df9}}}, + {X: Field{[10]uint32{0x00eb3ed7, 0x014abf43, 0x03f54af9, 0x023b4f61, 0x02689ef0, 0x01573be8, 0x036789d4, 0x0004a8f5, 0x02f56034, 0x0009b418}}, Y: Field{[10]uint32{0x01323424, 0x02d60db4, 0x011094e7, 0x02896b3a, 0x01dbe6fa, 0x00347db7, 0x00340c5f, 0x0161de67, 0x01acef6f, 0x0017bfc7}}}, + {X: Field{[10]uint32{0x02602d48, 0x03c89c47, 0x03bd1492, 0x03e70d06, 0x021a2413, 0x0047b6a3, 0x009e449d, 0x02d8a93d, 0x015ae50d, 0x00200350}}, Y: Field{[10]uint32{0x0002eb50, 0x0255fd5f, 0x036fbdc5, 0x0039d580, 0x03d5c8cb, 0x0344b67c, 0x019ec5cf, 0x026d748a, 0x016d05d1, 0x0015a72b}}}, + {X: Field{[10]uint32{0x009a1c90, 0x00f189e7, 0x006bb985, 0x02f83e16, 0x02e1531f, 0x0068859d, 0x03aaca5f, 0x0370665c, 0x0352bc16, 0x001b0068}}, Y: Field{[10]uint32{0x00cc04e7, 0x01cec63e, 0x027654c0, 0x034b5935, 0x01a39a17, 0x0095204e, 0x027226ab, 0x01a83c9d, 0x0342c959, 0x0020cf75}}}, + {X: Field{[10]uint32{0x03742c26, 0x01390c4d, 0x038e80a5, 0x02e3423b, 0x01f0b914, 0x01ce346b, 0x00e7c4d4, 0x03fc3141, 0x0122f1b3, 0x000eb332}}, Y: Field{[10]uint32{0x03cb0ad7, 0x0026b2c0, 0x00b1786a, 0x00620b84, 0x0152a2d1, 0x014aca5e, 0x00dee26c, 0x002cd0c1, 0x008327d6, 0x002aa735}}}, + {X: Field{[10]uint32{0x00f8ec72, 0x01c3fc74, 0x03edf2ec, 0x0307b9ba, 0x02f8d978, 0x03e398d4, 0x0380f753, 0x01cfc828, 0x0072828b, 0x002837d7}}, Y: Field{[10]uint32{0x00ac6670, 0x01ea27e9, 0x0230680d, 0x02dbac3b, 0x02b1327d, 0x01e79c8c, 0x02226893, 0x02f44c79, 0x01bef1e0, 0x002c8c2b}}}, + {X: Field{[10]uint32{0x03b52c73, 0x015ee5cc, 0x005a449d, 0x01c34ffe, 0x02d4bbc9, 0x01521971, 0x03a8dbbd, 0x03b26181, 0x01949776, 0x002757c3}}, Y: Field{[10]uint32{0x00afc1a8, 0x03a83c80, 0x02cf202c, 0x0055f446, 0x01ad7faf, 0x03d834d1, 0x038a056f, 0x00eb7552, 0x03baf489, 0x003fc23b}}}, + {X: Field{[10]uint32{0x01d3d84e, 0x03c8421b, 0x00917fb7, 0x02d699ce, 0x00228f54, 0x022947b2, 0x025b2935, 0x0208bb7a, 0x012d9ea1, 0x0037bd76}}, Y: Field{[10]uint32{0x008b3129, 0x01667b80, 0x0307a479, 0x002b5f00, 0x039d5bc2, 0x000affcd, 0x00d3ad02, 0x03af0c4e, 0x000db94a, 0x0002db1d}}}, + {X: Field{[10]uint32{0x00df33de, 0x010b9961, 0x03832736, 0x03c6e9ba, 0x03643fb0, 0x03d341d7, 0x007136c0, 0x035d38fe, 0x0105cdc8, 0x003ea42c}}, Y: Field{[10]uint32{0x00bba36d, 0x01e77a94, 0x00c273c0, 0x02494989, 0x003a180d, 0x003c3891, 0x029e852f, 0x023ae927, 0x00c373f5, 0x000f9aca}}}, + {X: Field{[10]uint32{0x03d0eb52, 0x02e33468, 0x02349575, 0x02ca5c1a, 0x01ce077c, 0x0353677e, 0x01c84613, 0x01ee4300, 0x0021ff2f, 0x002084ba}}, Y: Field{[10]uint32{0x003185f0, 0x0390ffdc, 0x02b5b8f8, 0x03b4b22b, 0x01d24bb5, 0x00d5018e, 0x0256e8f3, 0x039d5bf6, 0x01db2fa3, 0x00356701}}}, + {X: Field{[10]uint32{0x0061220d, 0x0362c83b, 0x00e49f9c, 0x02dcabed, 0x0124f155, 0x00074579, 0x01a641e1, 0x01c75d2c, 0x00c81d1f, 0x003b8d03}}, Y: Field{[10]uint32{0x02286f37, 0x020ce0ab, 0x01438f00, 0x007bd604, 0x0086f814, 0x02a3a2c1, 0x02fa7964, 0x017f5fc7, 0x033f2535, 0x00245760}}}, + {X: Field{[10]uint32{0x002afee1, 0x009bd951, 0x026b50aa, 0x0025fe0d, 0x02302b50, 0x02dc88f8, 0x00b257fb, 0x00f60dd0, 0x0125dd2e, 0x000b14d5}}, Y: Field{[10]uint32{0x021cf765, 0x01c9c4ed, 0x03947672, 0x01e5fdcf, 0x0292d43a, 0x03ced500, 0x038f9662, 0x02d9a13c, 0x014ef945, 0x00073514}}}, + {X: Field{[10]uint32{0x0267d94d, 0x026b517e, 0x00f2baae, 0x0075ba05, 0x03404b9e, 0x00a97e5d, 0x00a9083a, 0x028a233d, 0x03cf8b57, 0x0037ddd8}}, Y: Field{[10]uint32{0x01580ce2, 0x030ceb2c, 0x0309cb4f, 0x01706a49, 0x01bf0529, 0x00e23ba7, 0x02276bdd, 0x02d23184, 0x033631fd, 0x0013df70}}}, + {X: Field{[10]uint32{0x00dcee60, 0x0049a83b, 0x00da18fd, 0x023d3579, 0x038ff99b, 0x0335b418, 0x0374b928, 0x03c86044, 0x0240d6d0, 0x000d4530}}, Y: Field{[10]uint32{0x0197fca2, 0x00297190, 0x035cee53, 0x02c9c825, 0x02ac17ab, 0x01ddfb46, 0x018421c7, 0x02be00f2, 0x034a1a1b, 0x000a8347}}}, + {X: Field{[10]uint32{0x02e40a27, 0x012f4f1a, 0x0360a0b5, 0x016364d7, 0x00237a1b, 0x02d50755, 0x01de551a, 0x032e0653, 0x01d9e58b, 0x0000f79d}}, Y: Field{[10]uint32{0x01d97c75, 0x02cae349, 0x03ddc455, 0x036bf756, 0x033ec422, 0x01bc940d, 0x03ad8c48, 0x02c1631a, 0x00dbbe2d, 0x0026b685}}}, + {X: Field{[10]uint32{0x01e0420f, 0x0228229b, 0x005ddae2, 0x014bd40b, 0x0290ad3d, 0x0357ac70, 0x00144f81, 0x00d56f17, 0x020b1804, 0x0029ca33}}, Y: Field{[10]uint32{0x03ddad3d, 0x00f40051, 0x004f7ac9, 0x02e7b0cd, 0x0142cce3, 0x0215247f, 0x034893fa, 0x0146833e, 0x00a8f72b, 0x0010e1f3}}}, + {X: Field{[10]uint32{0x0151c39b, 0x00761d15, 0x0032e16c, 0x02aeaa50, 0x011d8234, 0x0140ea05, 0x03b22e02, 0x01130251, 0x028a05b8, 0x003b0f26}}, Y: Field{[10]uint32{0x02bd7fa6, 0x01790423, 0x03043382, 0x033ba0da, 0x00c8ac51, 0x013b7eba, 0x00845ca4, 0x03ea4d98, 0x00ef45f0, 0x001ec22f}}}, + {X: Field{[10]uint32{0x024761db, 0x023b1568, 0x02e9326a, 0x0333a61c, 0x03e619e7, 0x005d4cb3, 0x02b7e6c6, 0x016b2cee, 0x01562494, 0x002c05cf}}, Y: Field{[10]uint32{0x01f1b381, 0x0246b8c1, 0x0310d445, 0x03cc4c83, 0x0172a81d, 0x026372c4, 0x03eff121, 0x001d8743, 0x035f3e9a, 0x001e349e}}}, + {X: Field{[10]uint32{0x00cd73f6, 0x03658010, 0x023a7970, 0x0047e565, 0x034e04bd, 0x034e92e3, 0x03c3890e, 0x03722e5d, 0x03f3cd43, 0x00367ace}}, Y: Field{[10]uint32{0x03b23044, 0x016cbf58, 0x01c41e7f, 0x039326da, 0x000510b9, 0x02314012, 0x01db7189, 0x020228fc, 0x035cc42e, 0x0026065a}}}, + {X: Field{[10]uint32{0x01a84e74, 0x01530219, 0x03f107ca, 0x02c07009, 0x0029bbf1, 0x007e4ace, 0x02026062, 0x008c2b1d, 0x01af8a40, 0x003ef694}}, Y: Field{[10]uint32{0x00d6ccf5, 0x00944eff, 0x03c71e81, 0x02e8eef9, 0x038fd427, 0x024043f2, 0x00729e4e, 0x00ef5532, 0x0194aa45, 0x001920ce}}}, + {X: Field{[10]uint32{0x02583f9d, 0x03e1cbee, 0x02cf808a, 0x0317c14c, 0x03472b14, 0x00498beb, 0x01646616, 0x0065983d, 0x01a751be, 0x0002b92e}}, Y: Field{[10]uint32{0x0295ee5e, 0x019cb925, 0x02281f4b, 0x01e3693e, 0x03e2bd40, 0x02b4ead7, 0x00c6eed9, 0x01f969bc, 0x008baa9d, 0x0022cb09}}}, + {X: Field{[10]uint32{0x00cf6ff5, 0x02db8313, 0x036dda40, 0x0380c7b7, 0x00f29764, 0x0118a117, 0x028c6a2e, 0x02009859, 0x01520608, 0x00160100}}, Y: Field{[10]uint32{0x03329485, 0x0069c076, 0x030cd5fb, 0x023ffb41, 0x00a2e5f8, 0x00e65db6, 0x032f9a4e, 0x03013681, 0x02e64a83, 0x0034be5a}}}, + {X: Field{[10]uint32{0x007e029e, 0x029cc993, 0x0203b57c, 0x0098711a, 0x03cf477e, 0x02bf3d1f, 0x01abbd9f, 0x003e058e, 0x02865738, 0x00130a35}}, Y: Field{[10]uint32{0x00ed8a70, 0x02c09383, 0x0202259f, 0x01045436, 0x023122a9, 0x02b3eb05, 0x02a67e80, 0x01785015, 0x029c4fa7, 0x001a52e2}}}, + {X: Field{[10]uint32{0x0325c9a4, 0x016a4b3f, 0x026b9046, 0x01ddc5e6, 0x016984fc, 0x03601be0, 0x03b51a73, 0x01561fc8, 0x02b39e00, 0x00378816}}, Y: Field{[10]uint32{0x01273d83, 0x0170c9f1, 0x011355af, 0x010a6bb2, 0x0048f68e, 0x03ab304b, 0x002cf1f0, 0x03070b6d, 0x025e12ef, 0x003b610c}}}, + {X: Field{[10]uint32{0x014273f4, 0x031ada56, 0x025f1b3e, 0x0225b48a, 0x01b968f5, 0x0087995c, 0x0258dd57, 0x02c29d2d, 0x00680c2c, 0x0017aa0a}}, Y: Field{[10]uint32{0x004a9499, 0x008df48e, 0x038ad6e2, 0x00e40794, 0x00e18285, 0x00dbdb16, 0x02decce6, 0x0193e04e, 0x02b08db2, 0x00223443}}}, + {X: Field{[10]uint32{0x024998ba, 0x00b40d8c, 0x03c9c37f, 0x011b5ee6, 0x03c3b0dd, 0x038f6d39, 0x00bd98a3, 0x01d05908, 0x03c86449, 0x0006273d}}, Y: Field{[10]uint32{0x02daa083, 0x00960087, 0x03da204d, 0x0235c8fd, 0x01742211, 0x01f7581b, 0x0201b1cf, 0x03fca0d9, 0x01ced46d, 0x002ecd02}}}, + {X: Field{[10]uint32{0x0082789f, 0x014dbe6f, 0x0214d3cf, 0x035e3b97, 0x013c3c41, 0x02040091, 0x00680265, 0x00350c22, 0x018738f5, 0x001c285c}}, Y: Field{[10]uint32{0x0027c1d6, 0x0118b5ef, 0x022962b9, 0x0116a7cd, 0x02101dc4, 0x023c2747, 0x03338701, 0x014df907, 0x0120e112, 0x00057254}}}, + {X: Field{[10]uint32{0x03b3a368, 0x011ae6c3, 0x03865cff, 0x02a91a0c, 0x018e4271, 0x00c04421, 0x0020eedf, 0x036db823, 0x00ff622a, 0x0015e2b0}}, Y: Field{[10]uint32{0x03d7f851, 0x007296ee, 0x0215f1f0, 0x03d4759f, 0x026b0cea, 0x03542062, 0x01b2f7d9, 0x005cb4ae, 0x01ddf5f3, 0x003dc468}}}, + {X: Field{[10]uint32{0x01840071, 0x02c178a3, 0x01aea3e3, 0x01dfe9b3, 0x035887f1, 0x0373a296, 0x00738bad, 0x029d1f59, 0x0003476a, 0x003727ef}}, Y: Field{[10]uint32{0x01eee1b4, 0x03c293a2, 0x03ab9515, 0x01d33d39, 0x008bd267, 0x00a53954, 0x0194a19d, 0x037497e3, 0x012c8087, 0x00303d9d}}}, + {X: Field{[10]uint32{0x03b0294d, 0x02548551, 0x0178fe02, 0x0371165b, 0x014bb817, 0x00f5cc54, 0x004dec0b, 0x03357cba, 0x00ffa348, 0x0025d26b}}, Y: Field{[10]uint32{0x0381a1c6, 0x03a13815, 0x0116723d, 0x03265140, 0x03d89856, 0x0039f480, 0x02ec20be, 0x0120436b, 0x01ea35e5, 0x0037d99f}}}, + {X: Field{[10]uint32{0x02657d85, 0x034d0f8c, 0x032e8e92, 0x02635ac4, 0x00ae8e7a, 0x02a0551e, 0x0359f21f, 0x01cc370c, 0x01cf2fd2, 0x0038e7ef}}, Y: Field{[10]uint32{0x01b5e01c, 0x001ac2f9, 0x0028320a, 0x01e230c7, 0x02624415, 0x01922168, 0x026ae3e3, 0x021659da, 0x008170a7, 0x002ebfa6}}}, + {X: Field{[10]uint32{0x01402c09, 0x02ae2fe4, 0x02b89e0f, 0x00a83a8c, 0x02e04b69, 0x03244d45, 0x000bda4d, 0x00dc4830, 0x014e27f1, 0x00180240}}, Y: Field{[10]uint32{0x02359f6b, 0x01826750, 0x032e5708, 0x02a1b3b0, 0x01eb4006, 0x0376e998, 0x0396f588, 0x00734b2d, 0x0094f6bd, 0x000d2442}}}, + {X: Field{[10]uint32{0x03f2f773, 0x025223a1, 0x02162d41, 0x00b50d88, 0x03b644c9, 0x01dacfbb, 0x039bec4f, 0x011b60be, 0x0247d02e, 0x002fc13c}}, Y: Field{[10]uint32{0x002172f6, 0x0073af1f, 0x0284d32b, 0x016f07b5, 0x00302e12, 0x019d38d5, 0x019ab004, 0x00b9303c, 0x00e8bb3c, 0x003591bd}}}, + {X: Field{[10]uint32{0x01e5e3c3, 0x0137ea8c, 0x01acff5b, 0x02af0c3a, 0x013e5468, 0x00571b66, 0x0071efd9, 0x02cd4e16, 0x03ecb122, 0x0025827d}}, Y: Field{[10]uint32{0x008f9a27, 0x02d43766, 0x015925d6, 0x03e7bae5, 0x01ebb4d9, 0x0138ab62, 0x0178ac77, 0x03c2e1c5, 0x012eb933, 0x00041af1}}}, + {X: Field{[10]uint32{0x03ab9abe, 0x00ab5882, 0x033668da, 0x007537b1, 0x03f5ae58, 0x032f7d5b, 0x03440fb5, 0x02f89681, 0x003a0e1e, 0x002da433}}, Y: Field{[10]uint32{0x0049dbd1, 0x019aa5f8, 0x0135fb96, 0x03d89269, 0x0335e5f9, 0x02db0595, 0x01a96032, 0x00f76cb3, 0x0023fd3a, 0x0020f340}}}, + {X: Field{[10]uint32{0x01d326d4, 0x00025de4, 0x0338d6cd, 0x0120e56f, 0x002c9479, 0x02a42636, 0x022bc114, 0x01dd106a, 0x008ced50, 0x001cb694}}, Y: Field{[10]uint32{0x03668457, 0x03ed19cf, 0x03e095ea, 0x036ee045, 0x02e5d743, 0x03fb248b, 0x01780364, 0x03a8ac3a, 0x02933433, 0x000596ea}}}, + {X: Field{[10]uint32{0x01851c37, 0x00726dea, 0x0101729b, 0x006e6174, 0x01113320, 0x004969cb, 0x014322f5, 0x00c024a5, 0x016e540a, 0x00383f44}}, Y: Field{[10]uint32{0x01b88a92, 0x024117b9, 0x017ac850, 0x01addde6, 0x01a516a0, 0x00c34c55, 0x01e899d6, 0x01c1f952, 0x027648aa, 0x0031af1c}}}, + {X: Field{[10]uint32{0x00c10af1, 0x00ada0a5, 0x01c13abe, 0x007341a5, 0x030297f0, 0x0220fe76, 0x00d6389e, 0x03904bb8, 0x03ea85d4, 0x002752e2}}, Y: Field{[10]uint32{0x03556181, 0x014962a5, 0x038d38a9, 0x02ef9a28, 0x035bb66e, 0x02a2125c, 0x02e62fd6, 0x0020cb66, 0x00d73f7c, 0x001788a0}}}, + {X: Field{[10]uint32{0x008e08ff, 0x01e8b50e, 0x02d25505, 0x01547085, 0x01069f12, 0x0357acc7, 0x0056123c, 0x01b81377, 0x0395aa4b, 0x003bbe10}}, Y: Field{[10]uint32{0x022d2376, 0x035ad875, 0x039280b1, 0x01b56658, 0x0087797e, 0x00c5e712, 0x018b26c7, 0x010d9103, 0x02a434e1, 0x00114262}}}, + {X: Field{[10]uint32{0x010d7654, 0x02845972, 0x00de739a, 0x02bdb983, 0x03b4652d, 0x01dbbd09, 0x034371e0, 0x02392184, 0x007d56e3, 0x0019bf97}}, Y: Field{[10]uint32{0x011a2fba, 0x022a1370, 0x02582a10, 0x021259b2, 0x0196d4c3, 0x032edb13, 0x000ad433, 0x0324edf9, 0x026bb6ed, 0x000b5ca4}}}, + {X: Field{[10]uint32{0x008ea2ed, 0x031b7cb0, 0x027afdc2, 0x030a4e7c, 0x0082f9e1, 0x02a60f26, 0x015a304a, 0x032bb331, 0x01cc1818, 0x00144d7e}}, Y: Field{[10]uint32{0x003f22d6, 0x028d8878, 0x0295427c, 0x03851e61, 0x002619b5, 0x0056b86d, 0x00baf4e1, 0x005d413e, 0x01d27dfe, 0x0016949b}}}, + {X: Field{[10]uint32{0x026487ca, 0x03e6d88f, 0x0229c3fd, 0x022b386b, 0x0182e331, 0x008a8f8a, 0x03fa2bcc, 0x012a700b, 0x0089af7f, 0x00068df0}}, Y: Field{[10]uint32{0x012464a5, 0x0157fc0f, 0x02c183c9, 0x0048d74b, 0x03509b03, 0x01cd9cb3, 0x02b33d23, 0x008c2ea5, 0x00338522, 0x0034e270}}}, + {X: Field{[10]uint32{0x03a248a0, 0x00461211, 0x01576e4a, 0x00888bec, 0x01ed1edb, 0x02405be5, 0x03c68dfc, 0x02bd0244, 0x01ff15da, 0x00127de9}}, Y: Field{[10]uint32{0x01abd8fd, 0x0231e9ee, 0x03f611a1, 0x02086975, 0x00d5ebec, 0x029aefbd, 0x0394246f, 0x01ef27a5, 0x03013d63, 0x003e6d56}}}, + {X: Field{[10]uint32{0x02641ed7, 0x02abe207, 0x03130253, 0x00d6b0eb, 0x003b87f8, 0x01bac11c, 0x03f0f1e2, 0x03e0e481, 0x005e5d9e, 0x002091e1}}, Y: Field{[10]uint32{0x013c5f1e, 0x01102a79, 0x011de3e2, 0x023c8fce, 0x03b4409c, 0x032d0ab5, 0x01b19474, 0x026139fc, 0x010c1a23, 0x0015df5e}}}, + {X: Field{[10]uint32{0x010e0749, 0x006164f6, 0x024fb8f1, 0x00f897ba, 0x0257b782, 0x00214fa3, 0x0292ef61, 0x000906b3, 0x004ecd16, 0x0020a566}}, Y: Field{[10]uint32{0x00ac8353, 0x0236f230, 0x003c14c3, 0x0259e032, 0x022c5dac, 0x01ec70e2, 0x02450e76, 0x0357dce6, 0x01a66798, 0x0018d4c8}}}, + {X: Field{[10]uint32{0x01d75461, 0x03a7200f, 0x015377b2, 0x004ac4d0, 0x01fb5db4, 0x01c31a2d, 0x00ba34e7, 0x03d7fef8, 0x03f6d8fc, 0x003530ca}}, Y: Field{[10]uint32{0x0085f93d, 0x014fd991, 0x03353741, 0x01459b44, 0x01a1a71e, 0x03b69c2e, 0x004272b4, 0x0116ccb1, 0x0202e238, 0x002cf1cd}}}, + {X: Field{[10]uint32{0x00c897ff, 0x00fdda5b, 0x00d849fd, 0x0329a20b, 0x023babe7, 0x02d49a8c, 0x00703af6, 0x01a39a91, 0x032d04a9, 0x00068238}}, Y: Field{[10]uint32{0x03ad4141, 0x02caa3ab, 0x00b399a6, 0x0025c0d1, 0x013fdc82, 0x00ac52a3, 0x002e19be, 0x03b52897, 0x00bdb77b, 0x0011bb66}}}, + {X: Field{[10]uint32{0x014f4af7, 0x03f70d0d, 0x01e82e7c, 0x03bb3927, 0x036b40e1, 0x02a325dd, 0x0305965d, 0x00fc1012, 0x020e9672, 0x0021566f}}, Y: Field{[10]uint32{0x01333ef6, 0x000f7524, 0x02dc05af, 0x037aae90, 0x02ba4db6, 0x0374241a, 0x03f049b2, 0x008344b0, 0x0388854e, 0x0018f892}}}, + {X: Field{[10]uint32{0x01e211e8, 0x022f7181, 0x008c55e2, 0x0237a333, 0x02edd0f0, 0x03cbbca9, 0x01c0ee30, 0x011e2a12, 0x0223fc7a, 0x0038382c}}, Y: Field{[10]uint32{0x03ca60fc, 0x03580de7, 0x00d1a511, 0x017b44a2, 0x0206609a, 0x016e211e, 0x02d38e12, 0x03eb0481, 0x032c3aaf, 0x00328e20}}}, + {X: Field{[10]uint32{0x00e40a19, 0x014e739a, 0x034e2034, 0x009159e6, 0x00265c34, 0x0245d60b, 0x0001eaa5, 0x034941d6, 0x02982d8e, 0x00288def}}, Y: Field{[10]uint32{0x02231318, 0x0260a956, 0x0087cf48, 0x00ca400f, 0x00dc1bfc, 0x0009b59a, 0x00d5de47, 0x00de0115, 0x0227976a, 0x0003d334}}}, + {X: Field{[10]uint32{0x0205ccf2, 0x03e6d804, 0x03ef2474, 0x035ad0d9, 0x005edbd0, 0x0285bcaf, 0x03fe7705, 0x02341fc0, 0x00821eb0, 0x000a2a12}}, Y: Field{[10]uint32{0x0056a17c, 0x02d7f0fe, 0x02301eec, 0x02f7c03e, 0x01162551, 0x00748f6a, 0x00526b17, 0x01d8a2e8, 0x03e9e7d7, 0x002419f4}}}, + {X: Field{[10]uint32{0x00c1d5e8, 0x01a6b726, 0x01d16f4c, 0x03b84f56, 0x03cc83e2, 0x02083796, 0x01b8fdc3, 0x01ad74c9, 0x00d542bd, 0x00050bfa}}, Y: Field{[10]uint32{0x0075b150, 0x00c42877, 0x004539c8, 0x00186fe7, 0x001b66d1, 0x0235fe98, 0x01d14213, 0x00cee556, 0x02780325, 0x000a5cfc}}}, + {X: Field{[10]uint32{0x00ad87d2, 0x01ec04a6, 0x036b99c9, 0x03edc03e, 0x008f3d5f, 0x006d2e4a, 0x01bb00a1, 0x01927406, 0x011c5d20, 0x0016ced8}}, Y: Field{[10]uint32{0x02519182, 0x032d62bc, 0x0058f8eb, 0x021d688b, 0x00192ead, 0x03b5c2ed, 0x03a76219, 0x00384b37, 0x01c80cde, 0x00212416}}}, + {X: Field{[10]uint32{0x00beb8af, 0x00b1f394, 0x00f6b019, 0x018e5153, 0x012edbdc, 0x03cd7dbd, 0x01f74c35, 0x00168fd8, 0x02495d49, 0x00092288}}, Y: Field{[10]uint32{0x03fd4c83, 0x00dab1ee, 0x035c3b11, 0x00fa6e26, 0x0161eaf7, 0x02219e87, 0x0197b243, 0x03042073, 0x03ffb707, 0x002d69bc}}}, + {X: Field{[10]uint32{0x03ff075c, 0x00e134f6, 0x025d2875, 0x024c0b4e, 0x0231ea20, 0x008a408f, 0x011fa99a, 0x0143a753, 0x022a292b, 0x002291d2}}, Y: Field{[10]uint32{0x03804dd9, 0x035ad97b, 0x01dc8721, 0x01174c35, 0x0245b5f0, 0x01b3e3f4, 0x00392891, 0x0106c797, 0x005c7d53, 0x001dd14a}}}, + {X: Field{[10]uint32{0x0015ffec, 0x023444d4, 0x03b228ca, 0x03492356, 0x03826d10, 0x0198dcc4, 0x00be4ea8, 0x010ba99f, 0x02557fc0, 0x000fe804}}, Y: Field{[10]uint32{0x02a937b3, 0x01d7c9c9, 0x00b25e3f, 0x01b28c8a, 0x00162d43, 0x02312386, 0x03dca5a5, 0x012e3bb2, 0x0325f59b, 0x00042e74}}}, + {X: Field{[10]uint32{0x03d65648, 0x03086567, 0x028c046a, 0x017f22a0, 0x036b778d, 0x02bc126c, 0x008f0071, 0x03c69376, 0x000e7b94, 0x002dded7}}, Y: Field{[10]uint32{0x02aeccc5, 0x032c55fe, 0x0021ad54, 0x00ba77db, 0x01e2b65d, 0x01bb7582, 0x01d57222, 0x02efaa32, 0x03c06722, 0x000c491a}}}, + {X: Field{[10]uint32{0x0135b44a, 0x03107fe1, 0x018e08f2, 0x01bb5747, 0x00567184, 0x026f52ed, 0x02ccad78, 0x00ae5db0, 0x008267e8, 0x00098d7d}}, Y: Field{[10]uint32{0x032b8def, 0x01b569e9, 0x0234dafb, 0x02702d4c, 0x010d2ce3, 0x01edcd4f, 0x03f9e4d4, 0x0247ed99, 0x004e9560, 0x001fb720}}}, + {X: Field{[10]uint32{0x021b474d, 0x0382198d, 0x032384a4, 0x0368635d, 0x03ed0012, 0x0347a8da, 0x036f39b6, 0x014b271a, 0x012dae09, 0x0008c1ad}}, Y: Field{[10]uint32{0x025486c0, 0x02d5b3cc, 0x01221582, 0x01caf348, 0x00bd7674, 0x00b3bf3d, 0x023688bb, 0x023dae69, 0x00b88d7b, 0x0010e094}}}, + {X: Field{[10]uint32{0x01f74b4c, 0x03625eea, 0x0016e248, 0x03baa300, 0x03aa5604, 0x03568747, 0x0186f9ee, 0x020a123d, 0x02b80dde, 0x0032aa19}}, Y: Field{[10]uint32{0x0009c341, 0x012957f7, 0x038f2995, 0x029f563e, 0x00e33746, 0x02016909, 0x02834ceb, 0x01e3115c, 0x0140349f, 0x000a063c}}}, + {X: Field{[10]uint32{0x00bb1641, 0x031c3fa2, 0x037cbb74, 0x01eec949, 0x03fb5e57, 0x027007b4, 0x01e9cc42, 0x00f5417d, 0x035aa079, 0x0020637b}}, Y: Field{[10]uint32{0x024f276d, 0x02cfb8bb, 0x0045fbdd, 0x02d24e85, 0x01f48ea2, 0x0258d9f4, 0x022d54d7, 0x0040c603, 0x0280f762, 0x0036a7bb}}}, + {X: Field{[10]uint32{0x007bf736, 0x00b7e491, 0x01bf08b1, 0x030d68a5, 0x03c36e11, 0x02f2b16e, 0x0364ed01, 0x0104bf35, 0x01fa568d, 0x000b18b3}}, Y: Field{[10]uint32{0x02c31979, 0x0301468f, 0x025a8f82, 0x02fc654c, 0x00ee73ea, 0x02ae9906, 0x01ef9859, 0x01c189c1, 0x00255811, 0x003a2e38}}}, + {X: Field{[10]uint32{0x01f04adb, 0x033a01f8, 0x0341659b, 0x006adbac, 0x014e477f, 0x0145f412, 0x022f7cd0, 0x01ba3352, 0x00d99db0, 0x000a2ad5}}, Y: Field{[10]uint32{0x0094541c, 0x028a799d, 0x03b0872a, 0x00107b2f, 0x004fb003, 0x03cf9f61, 0x0256276b, 0x02580af9, 0x0319a5cb, 0x00264ed4}}}, + {X: Field{[10]uint32{0x012b6061, 0x01205314, 0x03bb63ea, 0x03d7c57a, 0x01d6c2ab, 0x008ea090, 0x034eca42, 0x02903152, 0x00162254, 0x00124f9f}}, Y: Field{[10]uint32{0x00eed628, 0x03e02e8f, 0x02c897de, 0x01efc25f, 0x025fcf81, 0x02ba3c87, 0x0236b597, 0x027533fb, 0x037b588d, 0x00158e1f}}}, + {X: Field{[10]uint32{0x01c51d4f, 0x034818ae, 0x01bce902, 0x023888b2, 0x018922a6, 0x00b174e2, 0x02118dda, 0x0245953f, 0x01bee743, 0x0019cb84}}, Y: Field{[10]uint32{0x03dc36e1, 0x000b70c8, 0x03c5fc51, 0x03eaff39, 0x030db6bb, 0x017a758a, 0x03cfbca4, 0x00aa76d2, 0x034a0238, 0x000d5544}}}, + {X: Field{[10]uint32{0x02da550a, 0x022cb0e3, 0x02701003, 0x00b0a567, 0x0027524b, 0x0167e397, 0x0286c06b, 0x01a22637, 0x036ee3b8, 0x0023e343}}, Y: Field{[10]uint32{0x01212f34, 0x005c40d2, 0x01fd45d4, 0x01b09afc, 0x03f36429, 0x021ef2ce, 0x000fed66, 0x02af1665, 0x02819e27, 0x0039f7bc}}}, + {X: Field{[10]uint32{0x00b293e3, 0x004fed5e, 0x01495e82, 0x00084817, 0x03118f28, 0x005e7cc2, 0x03cf4c79, 0x03c295e5, 0x03834a11, 0x0036a315}}, Y: Field{[10]uint32{0x01c35f91, 0x00077ce2, 0x00d28a2c, 0x0386d8ce, 0x007c7a0c, 0x02d77146, 0x02bb1c3a, 0x00e5d421, 0x035c6f66, 0x001bb3f8}}}, + {X: Field{[10]uint32{0x01681955, 0x01fea852, 0x00ef4265, 0x02ce0f88, 0x00fbce09, 0x02a66e83, 0x03ec2d6f, 0x0197fcfb, 0x00f53b19, 0x001254f8}}, Y: Field{[10]uint32{0x035541c6, 0x026d5065, 0x00a39fc0, 0x025c6343, 0x023c28fa, 0x01e601d9, 0x00683240, 0x00d6c8f9, 0x038d9d16, 0x00308431}}}, + {X: Field{[10]uint32{0x0375f293, 0x0108108d, 0x038db6c7, 0x03205b68, 0x025cd3e0, 0x03a442f5, 0x021f7fdb, 0x038786f8, 0x01af48a0, 0x0015247f}}, Y: Field{[10]uint32{0x007ffae7, 0x013b34bf, 0x0243e3d3, 0x02580c61, 0x039c82de, 0x02d47d3c, 0x03e9b299, 0x014ce28e, 0x02885d1c, 0x001949cd}}}, + {X: Field{[10]uint32{0x03c168d1, 0x03b26d6a, 0x007f0af3, 0x00a50f24, 0x020b0a85, 0x03c5f46d, 0x01838858, 0x018ee7ed, 0x03a80423, 0x002e712b}}, Y: Field{[10]uint32{0x03550d9a, 0x03f85592, 0x0178e514, 0x006c1b50, 0x01e24d51, 0x0329f635, 0x0013aa1e, 0x03afb574, 0x006b1b75, 0x003af4c4}}}, + {X: Field{[10]uint32{0x02d2bd62, 0x00dda0e4, 0x02386242, 0x01cceaf2, 0x01d6802e, 0x02ae0275, 0x039826de, 0x011e86d7, 0x036c4448, 0x00246368}}, Y: Field{[10]uint32{0x0253e218, 0x03c77722, 0x02eca0ab, 0x01b9859b, 0x02889d5e, 0x02ce2627, 0x0214113a, 0x021f9857, 0x03afd7cc, 0x001b988d}}}, + {X: Field{[10]uint32{0x01d3392a, 0x010b8dc0, 0x02c93a2e, 0x00bd15ca, 0x00748eb4, 0x026dd0f3, 0x000240e5, 0x01452820, 0x0194da1f, 0x001ddf4a}}, Y: Field{[10]uint32{0x029680c6, 0x0374e8e2, 0x038645e6, 0x016a7487, 0x039d9250, 0x01387493, 0x02b96f41, 0x00c654b2, 0x03d7e9eb, 0x00001864}}}, + {X: Field{[10]uint32{0x0323bf3d, 0x01fc8c95, 0x0154c4d1, 0x0140d3be, 0x013988c6, 0x03c93bd5, 0x03b8b3ea, 0x03171789, 0x02a09a08, 0x0004239b}}, Y: Field{[10]uint32{0x0013b2eb, 0x03786fff, 0x01be288f, 0x01dba093, 0x02b8a0dd, 0x020464de, 0x0314ebff, 0x01aed1f0, 0x034b86db, 0x0006a2e5}}}, + {X: Field{[10]uint32{0x016bf185, 0x02b15291, 0x02839b5d, 0x03d129a0, 0x013c2dce, 0x037ab87f, 0x018a4868, 0x01352446, 0x02db65a5, 0x000db676}}, Y: Field{[10]uint32{0x0147bbf7, 0x014092c8, 0x00d8d078, 0x03e0d1f7, 0x011edd9b, 0x0196fbc6, 0x02ec3065, 0x01761897, 0x0356d93b, 0x00097a10}}}, + {X: Field{[10]uint32{0x02531fa7, 0x039c74d9, 0x02fe3ab2, 0x01508ca4, 0x02aab896, 0x0009c9b3, 0x01d8a9e3, 0x039dd9ca, 0x02b143ec, 0x000f83ae}}, Y: Field{[10]uint32{0x018d41cd, 0x00e0f665, 0x03d5c691, 0x0384f66a, 0x008e38ea, 0x03ec12cd, 0x008f32b2, 0x0188da25, 0x0208556d, 0x001b9ec9}}}, + {X: Field{[10]uint32{0x00fa3728, 0x02f6d706, 0x034832ba, 0x0108055f, 0x03ab08ab, 0x004fba6a, 0x01e9521a, 0x03cc6a87, 0x036af315, 0x00248f71}}, Y: Field{[10]uint32{0x02d3ae47, 0x03b81f03, 0x0003ef6b, 0x02158cc4, 0x017facf6, 0x03627992, 0x001bfca6, 0x0215ecc5, 0x03b67439, 0x001ea3c5}}}, + {X: Field{[10]uint32{0x016a6618, 0x0313a80f, 0x02c6de85, 0x02a4deea, 0x036bee02, 0x00738b85, 0x029cb815, 0x03ab8d33, 0x033202df, 0x003e1fff}}, Y: Field{[10]uint32{0x005a03e0, 0x01d84856, 0x00e13c71, 0x0330b879, 0x027c14a4, 0x000f36ff, 0x03ace256, 0x01b828d5, 0x0037aa72, 0x001d3924}}}, + {X: Field{[10]uint32{0x018881ed, 0x00fe7040, 0x008200e3, 0x03fc1d5a, 0x01e00b5a, 0x014e7dfa, 0x01ec106b, 0x01a68047, 0x025ddd7f, 0x0004e201}}, Y: Field{[10]uint32{0x0113408e, 0x00c8c5d3, 0x0332c92b, 0x00c88ff9, 0x0065d1a9, 0x02ad090b, 0x02f72a55, 0x01877508, 0x018f1406, 0x002b2ac7}}}, + {X: Field{[10]uint32{0x004b6941, 0x026d88eb, 0x0201e59e, 0x00d2b314, 0x003d685b, 0x028dd46e, 0x03315427, 0x01a8220d, 0x031ea99b, 0x003951da}}, Y: Field{[10]uint32{0x033b4e21, 0x022cba57, 0x0177bb41, 0x019cf321, 0x00bc86dd, 0x02a3e9d5, 0x03c794ca, 0x01e568c8, 0x02f1c4dd, 0x0015f56c}}}, + {X: Field{[10]uint32{0x01cd1f15, 0x011f2c05, 0x0109c3dd, 0x02053b5e, 0x0290c149, 0x03261063, 0x0229d894, 0x03afa930, 0x0360f1e8, 0x003e4e3f}}, Y: Field{[10]uint32{0x02bb13e1, 0x0140c63b, 0x028214da, 0x0316dbb5, 0x02037fe2, 0x01cafef5, 0x0176e293, 0x03191a81, 0x02121a0c, 0x0035c5c8}}}, + {X: Field{[10]uint32{0x00a30aa3, 0x0168ef66, 0x038ad8ad, 0x013e8221, 0x01180b49, 0x02153e6f, 0x015544d5, 0x0144205e, 0x00107c4a, 0x002cc6f5}}, Y: Field{[10]uint32{0x00519e82, 0x01bd7014, 0x031c18fb, 0x03c384ac, 0x03d33828, 0x0001faac, 0x0141affa, 0x0225897a, 0x00976bd5, 0x00250984}}}, + {X: Field{[10]uint32{0x00c1cb2f, 0x011f40fd, 0x03af7b44, 0x02495768, 0x0333abd6, 0x0269b1b4, 0x02df141b, 0x00340468, 0x03ba8321, 0x002cfb61}}, Y: Field{[10]uint32{0x01d632b3, 0x02452a93, 0x0347abe0, 0x006cd1f9, 0x02b90be7, 0x018d0799, 0x030273cb, 0x015f86a5, 0x037929c7, 0x00252774}}}, + {X: Field{[10]uint32{0x01221e17, 0x03b85b4c, 0x03f46668, 0x0038e2e1, 0x0089a57c, 0x00c6f282, 0x0395e787, 0x0243612e, 0x02401ea7, 0x001839b0}}, Y: Field{[10]uint32{0x029465c2, 0x02f451b2, 0x0198cc03, 0x00110143, 0x00367387, 0x015c7abc, 0x01c800a0, 0x00263ca9, 0x0335c722, 0x003c91ef}}}, + {X: Field{[10]uint32{0x03750a80, 0x02bebc70, 0x03b87994, 0x01abdd30, 0x01eaf3e1, 0x01c4f35c, 0x01d8d370, 0x03411f9f, 0x02b04cc8, 0x000aba01}}, Y: Field{[10]uint32{0x02e2e954, 0x03793aec, 0x0135ae38, 0x028906a8, 0x026facf6, 0x0017283b, 0x007fafe6, 0x01c6d46a, 0x00acb297, 0x002a365e}}}, + {X: Field{[10]uint32{0x01bb5c47, 0x0109308a, 0x0343958a, 0x0218dde7, 0x01d23843, 0x007dbcea, 0x020bb155, 0x00b4a79e, 0x00a4bbba, 0x0026bc5e}}, Y: Field{[10]uint32{0x0279abd3, 0x0006886b, 0x03259781, 0x02eab737, 0x014052a4, 0x00beecf4, 0x007ac857, 0x02215e92, 0x03baa023, 0x003040c7}}}, + {X: Field{[10]uint32{0x0008f523, 0x005b6658, 0x00b2c3a1, 0x00c4cc3b, 0x00fd78a5, 0x027a2894, 0x03da097c, 0x009ebcb9, 0x0321e9cb, 0x002775a9}}, Y: Field{[10]uint32{0x03f36080, 0x03274ff9, 0x0217357d, 0x0177d3a0, 0x03fc4e97, 0x02f195e1, 0x012adb14, 0x0027251c, 0x037d6473, 0x0039a0de}}}, + {X: Field{[10]uint32{0x01e91c52, 0x006876a9, 0x03f0f0e3, 0x02da68a2, 0x03fcb717, 0x0113beed, 0x03e3f1de, 0x028794ec, 0x02bed7a1, 0x0033d7c5}}, Y: Field{[10]uint32{0x00487497, 0x00a0d2b1, 0x014b1485, 0x003629a7, 0x00b0c80a, 0x0264833d, 0x03912c99, 0x0081ef18, 0x03d54d87, 0x0025527a}}}, + {X: Field{[10]uint32{0x03a64722, 0x03a417b7, 0x001afd45, 0x03ece880, 0x01de577c, 0x014a8052, 0x02466a3c, 0x015341e0, 0x00908109, 0x00319e52}}, Y: Field{[10]uint32{0x035ca468, 0x0091837d, 0x01187fcc, 0x00946f9a, 0x018621b6, 0x03209e0a, 0x00a5fbd5, 0x0100c6ff, 0x0351deb6, 0x001293f7}}}, + {X: Field{[10]uint32{0x00599713, 0x0354904c, 0x023e4442, 0x0083f869, 0x02b03b49, 0x010501aa, 0x019c1ea0, 0x0383fc59, 0x03cbbee9, 0x002897ff}}, Y: Field{[10]uint32{0x0341486a, 0x01bc912f, 0x007e2123, 0x024537a6, 0x0240fab7, 0x02dca86e, 0x03fc28af, 0x004626b0, 0x02065a82, 0x0005dae7}}}, + {X: Field{[10]uint32{0x00c5bf71, 0x0125dd38, 0x025ecdca, 0x01ab2ba7, 0x01128cab, 0x009238ca, 0x02cfafc7, 0x0248ec5a, 0x0322fd5d, 0x00181e69}}, Y: Field{[10]uint32{0x018c4bcc, 0x03debaf4, 0x00c45df0, 0x024af57b, 0x02023f52, 0x000cdfbf, 0x036f1d91, 0x01691713, 0x02de99ca, 0x0030265c}}}, + {X: Field{[10]uint32{0x0366b403, 0x02772e4a, 0x0182c813, 0x003f2add, 0x02f64b95, 0x02c59c8f, 0x03ffc428, 0x01e39c63, 0x003d9d40, 0x0006232d}}, Y: Field{[10]uint32{0x03af5404, 0x03dfc688, 0x0314c140, 0x03ccd62a, 0x01fcc8c2, 0x0155a45b, 0x01a28799, 0x02890002, 0x0237ec9e, 0x00280e3e}}}, + {X: Field{[10]uint32{0x0019bb30, 0x006c9fbe, 0x0102cd78, 0x00d1a33f, 0x00c445ca, 0x01559fb2, 0x03925066, 0x0171a3d5, 0x0040cb57, 0x0038c43f}}, Y: Field{[10]uint32{0x02be625e, 0x01ae278a, 0x0384ddf6, 0x00da83c5, 0x02e0c183, 0x01b9ee51, 0x0101def6, 0x004bb97a, 0x02655ba3, 0x000c4ca2}}}, + {X: Field{[10]uint32{0x03dea4ac, 0x015d2fdd, 0x03c8e52b, 0x037c91b0, 0x00f15693, 0x03d18b32, 0x000bdeb1, 0x01177765, 0x005d1c82, 0x00376192}}, Y: Field{[10]uint32{0x01966ce2, 0x03027182, 0x03b4833f, 0x02d1f9d0, 0x018963a8, 0x028a6282, 0x0290175b, 0x0289c131, 0x03c256c9, 0x00335aed}}}, + {X: Field{[10]uint32{0x03019aef, 0x01740a81, 0x0097bde8, 0x02666cd8, 0x03dba773, 0x02da7865, 0x03dc67ca, 0x019ee1bd, 0x020cf815, 0x0006dfb4}}, Y: Field{[10]uint32{0x00e3d1bb, 0x03f0d7bc, 0x01531be6, 0x01534c53, 0x00df428d, 0x0292f0de, 0x00d89b59, 0x010e1954, 0x012ad1cb, 0x003e053a}}}, + {X: Field{[10]uint32{0x01ded284, 0x01c669ed, 0x01897a0f, 0x00328191, 0x019b41cd, 0x01c2cfc7, 0x0146a036, 0x020ce3b4, 0x007b2d52, 0x00028556}}, Y: Field{[10]uint32{0x022e925d, 0x03a9c9c4, 0x0052bfe6, 0x008ab5ad, 0x0312fc15, 0x01008fb9, 0x00d225cc, 0x00693b8c, 0x034b5aba, 0x000abbf8}}}, + {X: Field{[10]uint32{0x036a5484, 0x01254fa4, 0x01054048, 0x018e7934, 0x0208d194, 0x02825033, 0x00fcf209, 0x029a4663, 0x01f9c99d, 0x00015eee}}, Y: Field{[10]uint32{0x031660e4, 0x0291f20c, 0x0079e9a6, 0x01ef634c, 0x03700dc5, 0x035defc3, 0x03be5e41, 0x009ba0b1, 0x03a8d902, 0x0018f43e}}}, + {X: Field{[10]uint32{0x03bd262c, 0x02497564, 0x03746bab, 0x03ee3e92, 0x01291f84, 0x00844ec8, 0x017f7a10, 0x02d2835f, 0x01b37fa1, 0x000890a5}}, Y: Field{[10]uint32{0x00195796, 0x0258ae4e, 0x03ddcea2, 0x023b1145, 0x0246ed38, 0x00889982, 0x023eb74c, 0x02c369d5, 0x0040b1e4, 0x0003582b}}}, + {X: Field{[10]uint32{0x0053b0e3, 0x00e69ad5, 0x0055e53b, 0x0283c8a0, 0x02d6101c, 0x039d0d53, 0x00031b29, 0x0314f81f, 0x02e6a34e, 0x00090d3a}}, Y: Field{[10]uint32{0x003ce23d, 0x01e8e09d, 0x010ed6ce, 0x01d591db, 0x008b04f7, 0x00e88398, 0x00f39563, 0x0012ec4e, 0x0161d57a, 0x000bfd7b}}}, + {X: Field{[10]uint32{0x01885ce9, 0x02961c62, 0x0203b700, 0x02d8db42, 0x01ef2e6a, 0x03ec8ac1, 0x0304c649, 0x00444ef6, 0x0192907c, 0x00112379}}, Y: Field{[10]uint32{0x0079eabc, 0x0108732a, 0x028803d0, 0x00435164, 0x0063af8b, 0x016c0a4c, 0x03e6dea2, 0x0141a37a, 0x03fd6ab3, 0x0035eab3}}}, + {X: Field{[10]uint32{0x0393dd76, 0x028dc618, 0x0298f7c2, 0x00730769, 0x00defc0a, 0x006a8ee8, 0x02b92e70, 0x01d9d1ff, 0x03735aef, 0x00210173}}, Y: Field{[10]uint32{0x02c407f2, 0x01549639, 0x0053fc79, 0x00beea1a, 0x0189c9ef, 0x03d2a1c4, 0x0261c783, 0x00428129, 0x000649cd, 0x0015e574}}}, + {X: Field{[10]uint32{0x0208efc9, 0x0084735b, 0x026d5581, 0x03341cb1, 0x029318ac, 0x00dc7ae1, 0x01349aa0, 0x0121f7fa, 0x00c1e5c1, 0x001a625d}}, Y: Field{[10]uint32{0x0384509c, 0x030703fb, 0x00e1590b, 0x00aaee13, 0x01bcec87, 0x02ae6bd8, 0x036536c2, 0x012fd47d, 0x038cdc8f, 0x000df088}}}, + {X: Field{[10]uint32{0x003fee05, 0x0395cc99, 0x02d8dce2, 0x01846e11, 0x03e6548c, 0x00c57de2, 0x017781df, 0x02af19c6, 0x017abe3c, 0x00228de1}}, Y: Field{[10]uint32{0x00f674ed, 0x01da62d3, 0x020b78b8, 0x026c8777, 0x005e28e9, 0x038e19b5, 0x0055e4d9, 0x013341f9, 0x03680915, 0x000a620b}}}, + {X: Field{[10]uint32{0x0397eaef, 0x02f380c8, 0x00846793, 0x037c3e98, 0x0325ec8c, 0x01ea29c5, 0x0104c968, 0x00e7f84c, 0x034f5cdd, 0x002a1c6c}}, Y: Field{[10]uint32{0x0387cb28, 0x03f5e8b0, 0x00c5df3f, 0x037a379b, 0x00642312, 0x01b2484f, 0x03e2dc68, 0x000f027d, 0x00179de1, 0x00213e59}}}, + {X: Field{[10]uint32{0x0286f44a, 0x019339a0, 0x00fb4fd9, 0x031ebaae, 0x009ec66e, 0x02679d2b, 0x0057905e, 0x029fd6a2, 0x03b89f78, 0x00126f2b}}, Y: Field{[10]uint32{0x019eff6f, 0x03901f3b, 0x0194f4ea, 0x01849c5b, 0x0271124a, 0x02f464fa, 0x011d2ca7, 0x02add29e, 0x00cb5641, 0x0039f6e3}}}, + {X: Field{[10]uint32{0x028b6df6, 0x01c4c03d, 0x03686c3f, 0x012de7fa, 0x0140d9b8, 0x03ffa126, 0x0186289d, 0x0327963d, 0x012f2f05, 0x003571f6}}, Y: Field{[10]uint32{0x0151c08e, 0x0200abc7, 0x020434f1, 0x00aff38d, 0x036fcb2b, 0x0073d0ae, 0x00b272ce, 0x028e3a81, 0x025c219e, 0x0029a2ca}}}, + {X: Field{[10]uint32{0x03286696, 0x02a36d4e, 0x0056cfe4, 0x02f8a09b, 0x006a825c, 0x02c323b4, 0x034a249c, 0x0335ee71, 0x023cfea4, 0x000ab0bf}}, Y: Field{[10]uint32{0x0360f43f, 0x039e0102, 0x03834a67, 0x01b3c028, 0x00505bb4, 0x01b2981e, 0x02f6031c, 0x02947b28, 0x0259b008, 0x001f6429}}}, + {X: Field{[10]uint32{0x00a39234, 0x00716a84, 0x011d92f6, 0x03bec0ed, 0x025b0069, 0x0283b69e, 0x023a85f5, 0x01fb3d3d, 0x00bc6282, 0x001f026b}}, Y: Field{[10]uint32{0x01624836, 0x01b1a21a, 0x030015a9, 0x03c8258a, 0x00854b56, 0x017f70c6, 0x01f86414, 0x00a315a1, 0x0139c291, 0x00381f49}}}, + {X: Field{[10]uint32{0x03fbf9f0, 0x025aefdb, 0x03a7f2c4, 0x0008d289, 0x033bb4ff, 0x00ecbeb4, 0x0141ae71, 0x010b9da6, 0x01567e1b, 0x003a21b7}}, Y: Field{[10]uint32{0x0267a877, 0x0045cb71, 0x0301081d, 0x03cf18c2, 0x025a4666, 0x037d3977, 0x01c097f0, 0x03e03cdc, 0x037babee, 0x00352c89}}}, + {X: Field{[10]uint32{0x0059c2dc, 0x02866740, 0x00464073, 0x039614d1, 0x038ca8a6, 0x03d82ec6, 0x02178f0f, 0x00e60f16, 0x00c800e8, 0x003b7d97}}, Y: Field{[10]uint32{0x01ab2d5e, 0x01d89122, 0x0123a92c, 0x036c41c3, 0x030118a4, 0x0378737e, 0x024710a2, 0x00c27e12, 0x0313f0c5, 0x00289099}}}, + {X: Field{[10]uint32{0x026d17f8, 0x01abdbb4, 0x01036a74, 0x02ee8f4b, 0x03435ad7, 0x02c548c8, 0x016dbbe5, 0x01baee4d, 0x0304b78a, 0x000a704b}}, Y: Field{[10]uint32{0x016eae4a, 0x03f3b388, 0x019358b7, 0x009fe816, 0x02b3336d, 0x027b1146, 0x02a211f3, 0x0046a9e3, 0x0275bf62, 0x00020e64}}}, + {X: Field{[10]uint32{0x0263c3e2, 0x03e29e59, 0x00789994, 0x01192986, 0x03169f20, 0x0383e7f3, 0x02034ac3, 0x026453c2, 0x038c280e, 0x003576e2}}, Y: Field{[10]uint32{0x0263412b, 0x00355df0, 0x02cbbeb6, 0x01e2a997, 0x0398f270, 0x0066507d, 0x025635a8, 0x0000e7d7, 0x003a085a, 0x0010458f}}}, + {X: Field{[10]uint32{0x01135f8d, 0x00285f36, 0x01165700, 0x016b151f, 0x0210e105, 0x02ed3dff, 0x00e57ac8, 0x02c03656, 0x03a5630e, 0x00264293}}, Y: Field{[10]uint32{0x03c9653b, 0x02c8f5d2, 0x032912ec, 0x0053e3f3, 0x03eb2524, 0x0231c485, 0x02a03646, 0x028a2511, 0x0025491f, 0x003c97b8}}}, + {X: Field{[10]uint32{0x029c0935, 0x00ded5e7, 0x031b7416, 0x03b31a35, 0x034e3049, 0x00c573d4, 0x0101c3b3, 0x012773b2, 0x00f01c78, 0x0035e13b}}, Y: Field{[10]uint32{0x034205ce, 0x03593eda, 0x03dde6b2, 0x00202159, 0x02306720, 0x03b1bf51, 0x0082a841, 0x00abb763, 0x0122cc38, 0x00177a63}}}, + {X: Field{[10]uint32{0x00e38193, 0x01334d5b, 0x01338320, 0x03946726, 0x019b4d38, 0x037cf067, 0x0353b67b, 0x0032eeab, 0x00d05885, 0x000195db}}, Y: Field{[10]uint32{0x0310eaca, 0x03dd3195, 0x03420658, 0x0038c2fc, 0x03d98496, 0x01d923f8, 0x001fbeb2, 0x0395b8c7, 0x013e92d1, 0x0028ca66}}}, + {X: Field{[10]uint32{0x0035efce, 0x012113af, 0x024d8bb9, 0x01dcf49b, 0x0320ccb1, 0x0311527f, 0x009a8081, 0x03031919, 0x00e5f675, 0x00255de2}}, Y: Field{[10]uint32{0x021d9b5b, 0x016a8394, 0x00a8c051, 0x001a6f04, 0x0301d329, 0x005785f3, 0x01c39486, 0x03b8df65, 0x031cdc4b, 0x001fa910}}}, + {X: Field{[10]uint32{0x039e4a2e, 0x014b0178, 0x0096b014, 0x03cec114, 0x00da5549, 0x02304ffc, 0x0101abd7, 0x02d4dfb1, 0x02805053, 0x0022bdf2}}, Y: Field{[10]uint32{0x017e8402, 0x0160da8b, 0x03fb8e1b, 0x001ba759, 0x036a4362, 0x03690150, 0x03235e60, 0x010b933e, 0x0225aac0, 0x00097a18}}}, + {X: Field{[10]uint32{0x0215236c, 0x024df438, 0x02ba2623, 0x01598dec, 0x01e6eb74, 0x035e705e, 0x02ff642a, 0x018d3880, 0x0393e16e, 0x00126fc0}}, Y: Field{[10]uint32{0x0031a85d, 0x00f9a5e9, 0x00722d60, 0x00305e6b, 0x0141e5f8, 0x02684d10, 0x000ce1ee, 0x03835073, 0x013f401d, 0x00216418}}}, + {X: Field{[10]uint32{0x00192063, 0x03af4675, 0x035afdc5, 0x03b68992, 0x01df3653, 0x02326db7, 0x03b68581, 0x00a18d49, 0x02250257, 0x00320b8a}}, Y: Field{[10]uint32{0x01a6de8c, 0x01d78f8e, 0x011c7b26, 0x03dcddbe, 0x01c2717f, 0x01fe7a4e, 0x030af044, 0x0306f4f5, 0x0000cd87, 0x000ee1be}}}, + {X: Field{[10]uint32{0x00eedbf3, 0x004b7f76, 0x02041a37, 0x0154562c, 0x0142ec13, 0x0393489f, 0x02fc9c3f, 0x023df0eb, 0x01202b9a, 0x0027390e}}, Y: Field{[10]uint32{0x035b52f6, 0x0288327f, 0x026e26d5, 0x02cf70bb, 0x0153a54b, 0x02a4e7fe, 0x02f15d59, 0x03b74feb, 0x0305859a, 0x0036eed6}}}, + {X: Field{[10]uint32{0x02fe6227, 0x02f6dac5, 0x0324a168, 0x02b425bb, 0x00baa707, 0x03b2ad2e, 0x01202213, 0x0017294b, 0x009e49de, 0x000381c0}}, Y: Field{[10]uint32{0x00bc33c9, 0x023e739b, 0x03b2e417, 0x00f28548, 0x03258383, 0x037a353a, 0x03865b0a, 0x02e89a06, 0x00bfe752, 0x001a8d6c}}}, + {X: Field{[10]uint32{0x021da888, 0x00056f60, 0x03fab065, 0x017fd308, 0x01d58861, 0x025849c5, 0x02948147, 0x02bd8791, 0x01b47e09, 0x003ad373}}, Y: Field{[10]uint32{0x01661b8f, 0x017454fa, 0x000834a5, 0x01710410, 0x00008630, 0x01320457, 0x006536ad, 0x000be878, 0x01685846, 0x0018f8e0}}}, + {X: Field{[10]uint32{0x00e49db6, 0x013cce44, 0x00f7bf86, 0x001c981e, 0x03a2c659, 0x034a76b3, 0x0257015d, 0x00044c74, 0x02812bf2, 0x002f97e1}}, Y: Field{[10]uint32{0x016d9da7, 0x01004765, 0x01f308f0, 0x02e3103a, 0x0143c4f1, 0x01cfe944, 0x015a92da, 0x012bfd66, 0x00e45617, 0x00343d08}}}, + {X: Field{[10]uint32{0x015b99a8, 0x007e204d, 0x01ed74a6, 0x0172cc75, 0x03db214a, 0x0375fa3b, 0x03a1318e, 0x017e7663, 0x003910e7, 0x000eccb7}}, Y: Field{[10]uint32{0x03a18bc5, 0x02bc68a8, 0x03c4218b, 0x02b15cbe, 0x036e4e0a, 0x01d4b952, 0x01df756e, 0x03a7967f, 0x028619c2, 0x000684b7}}}, + {X: Field{[10]uint32{0x02e04db1, 0x00f9e921, 0x029d0a3c, 0x00d45a5c, 0x03dde107, 0x00fce1ad, 0x012922ea, 0x03a21597, 0x01ce5c06, 0x00256b17}}, Y: Field{[10]uint32{0x02f39838, 0x02d6c9cf, 0x029fde77, 0x01dc9465, 0x01680edb, 0x005aded2, 0x0049e856, 0x0060878f, 0x0187ab1b, 0x000688b3}}}, + {X: Field{[10]uint32{0x00e708eb, 0x0060db5f, 0x005ccd30, 0x00782a37, 0x027dad59, 0x017b4a57, 0x01d1b74a, 0x03c4f8cd, 0x00fba4b0, 0x001b93b4}}, Y: Field{[10]uint32{0x0234b931, 0x01fc5482, 0x01a54ac3, 0x0267a670, 0x0016a2ef, 0x027366ac, 0x0188e6e5, 0x013827b6, 0x026ac61c, 0x00241585}}}, + {X: Field{[10]uint32{0x03a42e10, 0x03ae8b08, 0x01859898, 0x01e6474b, 0x01ea8d9a, 0x0209f612, 0x00925e17, 0x003b84dd, 0x0394208e, 0x0022df0c}}, Y: Field{[10]uint32{0x0043d193, 0x02afac9c, 0x02d0d003, 0x03d8bc86, 0x032c8beb, 0x01d7bcff, 0x00e64400, 0x002f3244, 0x02379672, 0x002daae4}}}, + {X: Field{[10]uint32{0x00f871c6, 0x001612ec, 0x02dcc8e2, 0x01363e5b, 0x02dd48ab, 0x02dbd772, 0x00965b98, 0x0035ce21, 0x0347f669, 0x0003f69e}}, Y: Field{[10]uint32{0x02926c5d, 0x02e39af2, 0x03560e18, 0x00895791, 0x00309292, 0x0152d1cf, 0x03487e8b, 0x0331b4a2, 0x0035a272, 0x0026d009}}}, + {X: Field{[10]uint32{0x01bcb217, 0x0041a8cf, 0x0255dad6, 0x022f3246, 0x036e6301, 0x0303a6a8, 0x00beb534, 0x01686bbe, 0x00f5395a, 0x003c5768}}, Y: Field{[10]uint32{0x038a8f1c, 0x03afdd95, 0x00f6ddb6, 0x00bef3e6, 0x0380be25, 0x021825c8, 0x03571ac4, 0x00054645, 0x01eabb3b, 0x000a33da}}}, + {X: Field{[10]uint32{0x00af9253, 0x036206ef, 0x032f4abf, 0x02e1fea0, 0x03d9a208, 0x021c26a5, 0x02378e63, 0x005f8324, 0x02dd2c78, 0x0031b899}}, Y: Field{[10]uint32{0x03769626, 0x0247b9f2, 0x02082842, 0x03724c8c, 0x005ffa7a, 0x0342fbd6, 0x00e95e35, 0x02ce8c32, 0x00c1fa9b, 0x000abc40}}}, + {X: Field{[10]uint32{0x02e28753, 0x00cf422d, 0x0313f0d1, 0x01e93f6a, 0x037f5a72, 0x00e495a1, 0x00c21a83, 0x00807922, 0x02020fdd, 0x0012fe2a}}, Y: Field{[10]uint32{0x015fc8b8, 0x02fa74f3, 0x01d88f39, 0x0016572f, 0x02d8fe5f, 0x0279b188, 0x01c6bd70, 0x01356685, 0x0258ad9c, 0x00162049}}}, + {X: Field{[10]uint32{0x00d0a6d3, 0x03f04a5f, 0x0248b972, 0x01cf6d87, 0x0105cda6, 0x029dfee5, 0x009fc39d, 0x01216956, 0x032806dd, 0x002aa617}}, Y: Field{[10]uint32{0x024b75b2, 0x017d8347, 0x00a04e1e, 0x00404389, 0x007c2777, 0x007fc0b8, 0x025a92da, 0x018ecca6, 0x00972f11, 0x002aec3e}}}, + {X: Field{[10]uint32{0x01c41c9d, 0x01ccbb18, 0x0197c8e1, 0x012c33b4, 0x016c2fa0, 0x02305048, 0x039f88d8, 0x02873d3a, 0x0101ec13, 0x00205d34}}, Y: Field{[10]uint32{0x03d79aa7, 0x01a9d623, 0x01bbb46f, 0x012c69e4, 0x00c6e5d9, 0x0298e6c0, 0x037a6625, 0x00b9ffab, 0x01c231b0, 0x00319d97}}}, + {X: Field{[10]uint32{0x01f3d876, 0x00bc13db, 0x02cbb870, 0x02b3f6f9, 0x0292573a, 0x016a68e8, 0x028fe098, 0x024a5edc, 0x02a9d603, 0x003e7d93}}, Y: Field{[10]uint32{0x024ca01a, 0x01f4b266, 0x02f9b1a6, 0x03ef61fb, 0x01188069, 0x005cba1e, 0x00950f21, 0x019f4058, 0x03c14060, 0x001051b1}}}, + {X: Field{[10]uint32{0x00f1b3b4, 0x0197b32a, 0x02951d88, 0x02f072a4, 0x01f8067c, 0x02977a49, 0x034454a2, 0x0217acf4, 0x02705a68, 0x000f990e}}, Y: Field{[10]uint32{0x02fb0355, 0x03822df8, 0x02f11b0f, 0x0209c58b, 0x028b5e58, 0x01ddea65, 0x01d54d1d, 0x014d3b7a, 0x03045525, 0x000b7b29}}}, + {X: Field{[10]uint32{0x036c63c5, 0x0259bccd, 0x0082e4c0, 0x034ae1ea, 0x03caae45, 0x01bddb40, 0x015d200d, 0x02b01dfa, 0x0011fcc3, 0x0011137d}}, Y: Field{[10]uint32{0x0016cc23, 0x0142a955, 0x032bc643, 0x024eb1b8, 0x01ec520c, 0x00b7b3cf, 0x00d1a4df, 0x02592a9f, 0x0198643d, 0x002d1599}}}, + {X: Field{[10]uint32{0x006946a0, 0x01ea1e99, 0x01465bbb, 0x01aa1093, 0x0019cdaa, 0x029a0429, 0x00a7beb1, 0x00d7f8c5, 0x021f58be, 0x0004a8bd}}, Y: Field{[10]uint32{0x010ba47d, 0x0354d74a, 0x010698df, 0x00c6575e, 0x0248410b, 0x029a7ef2, 0x01539461, 0x03323fc6, 0x034494c2, 0x00269ef7}}}, + {X: Field{[10]uint32{0x0264cb9f, 0x00acadf8, 0x007933d5, 0x01ea4fd2, 0x02511b2b, 0x01a1ef48, 0x008af94b, 0x01cf1cf5, 0x02924625, 0x002f75c9}}, Y: Field{[10]uint32{0x02123874, 0x03037de8, 0x034ed955, 0x03df7103, 0x02858e6d, 0x03dd1a6a, 0x01ac9923, 0x03eac2f5, 0x004eb794, 0x00015b9b}}}, + {X: Field{[10]uint32{0x00066bdd, 0x01ff95a9, 0x003d60ec, 0x00a75f41, 0x03c974bd, 0x02936a7b, 0x034f156e, 0x03d5744a, 0x015877c3, 0x00386f55}}, Y: Field{[10]uint32{0x03233170, 0x02541d70, 0x0033ff5a, 0x006c7111, 0x03789cbf, 0x03168cbd, 0x002bea56, 0x010da88e, 0x0399fbe7, 0x00237366}}}, + {X: Field{[10]uint32{0x00132ad9, 0x00d47498, 0x0185d804, 0x02e2c1c6, 0x00fc064e, 0x01287d54, 0x0246609f, 0x020a52fa, 0x01e4781c, 0x0029f1a3}}, Y: Field{[10]uint32{0x01b42c32, 0x02218aeb, 0x00766842, 0x026fafe8, 0x026f6bbf, 0x0116626e, 0x022b240d, 0x03fad441, 0x00b63d9e, 0x0028209e}}}, + {X: Field{[10]uint32{0x029aa855, 0x00f1c34a, 0x0279a56b, 0x0198f632, 0x0205fa0d, 0x004df41e, 0x01eb90f5, 0x038da72f, 0x0369b4c6, 0x0013cea1}}, Y: Field{[10]uint32{0x026ea169, 0x01921bba, 0x0393e35b, 0x00b2d8af, 0x00b9d6db, 0x011c1d61, 0x00ed9f2c, 0x007854d2, 0x011c5f70, 0x0003db01}}}, + {X: Field{[10]uint32{0x0044f232, 0x018f77bd, 0x01a8d744, 0x01ff2d0d, 0x0036fd04, 0x0229aed6, 0x01cac66d, 0x03aff610, 0x001c8089, 0x0037aaaf}}, Y: Field{[10]uint32{0x0228e8a1, 0x0030a4f0, 0x014f90f5, 0x01258a9b, 0x00ccd14a, 0x03229b59, 0x026e6547, 0x01b9eaa0, 0x00ba49c2, 0x003edf31}}}, + {X: Field{[10]uint32{0x019c0695, 0x02e3e4cc, 0x023788b5, 0x02adf3f3, 0x02fd7f33, 0x03bcaccb, 0x0151e1f4, 0x006ce049, 0x0361547b, 0x0031046b}}, Y: Field{[10]uint32{0x018cb66b, 0x02efe215, 0x02ab4797, 0x013bd888, 0x02294ace, 0x03f3eedd, 0x0266d212, 0x03e0aba4, 0x03d73d50, 0x0034afb9}}}, + {X: Field{[10]uint32{0x009ec5e7, 0x002f7aa4, 0x01637821, 0x000742a2, 0x004a35f1, 0x02e77771, 0x00284945, 0x0376a343, 0x0294485b, 0x00343fda}}, Y: Field{[10]uint32{0x024f620f, 0x0087c88d, 0x02a65e21, 0x03fe0ea4, 0x00cb1910, 0x023e54f1, 0x02b7e83d, 0x02a3cb40, 0x00fd2923, 0x002acfd8}}}, + {X: Field{[10]uint32{0x0308c0f1, 0x00d6a9c7, 0x02424982, 0x01102cff, 0x01006f27, 0x016b5b2c, 0x011baea3, 0x03b648a1, 0x01cc9555, 0x00028341}}, Y: Field{[10]uint32{0x02339948, 0x0131f275, 0x037dc471, 0x02b4c601, 0x0150afe2, 0x0082c9c1, 0x017e67ca, 0x01629c2f, 0x01052371, 0x00210ec4}}}, + {X: Field{[10]uint32{0x023f5d32, 0x03964807, 0x039d0568, 0x010a24fe, 0x007d5996, 0x0364265e, 0x0083ef67, 0x017ee817, 0x0045eb29, 0x002fa821}}, Y: Field{[10]uint32{0x00ce10e3, 0x03cc8a9b, 0x01cc7908, 0x035af53d, 0x01e26594, 0x00744bb4, 0x00bb2bb4, 0x03d14f5e, 0x03ffb3f7, 0x000aa069}}}, + {X: Field{[10]uint32{0x02f0d5f0, 0x00b1f7b9, 0x02ce3e82, 0x026316b3, 0x00551c30, 0x01aae5c0, 0x035aea6f, 0x039a267a, 0x004c431b, 0x003a3af3}}, Y: Field{[10]uint32{0x01fa902e, 0x03428ecc, 0x0161e097, 0x0193aa83, 0x016d65db, 0x0268ab9e, 0x03d511f5, 0x0393d63e, 0x0061760a, 0x003be669}}}, + {X: Field{[10]uint32{0x026e8fd2, 0x00c2f3a5, 0x03cd1d96, 0x02d6161d, 0x020806ba, 0x01e5b62d, 0x031db77c, 0x037113b3, 0x006cdd73, 0x00125218}}, Y: Field{[10]uint32{0x02b95f80, 0x012e496f, 0x01123bc6, 0x03b7cf6e, 0x00cb8c13, 0x00e511aa, 0x01630aa6, 0x02319e10, 0x033f786c, 0x000f19cc}}}, + {X: Field{[10]uint32{0x02a778c2, 0x021e4ba7, 0x00a165c1, 0x02996d72, 0x00fb5a19, 0x019b3525, 0x03e40cca, 0x03bee938, 0x033240d9, 0x0013c966}}, Y: Field{[10]uint32{0x0117446d, 0x023aab93, 0x00efb1b6, 0x01fd1d23, 0x00b1590f, 0x027d3a8b, 0x02006054, 0x01a66712, 0x008778c2, 0x003f7620}}}, + {X: Field{[10]uint32{0x02dfcc29, 0x0143e91e, 0x03f337e3, 0x02379ea9, 0x031e7e91, 0x038463ba, 0x036e2b43, 0x01fd4bc9, 0x0093e14d, 0x003cc0e9}}, Y: Field{[10]uint32{0x01141b57, 0x006f52da, 0x00163cfa, 0x01df17f9, 0x01453f79, 0x029ab499, 0x01bc49da, 0x0394fd7d, 0x006d0bef, 0x003127e9}}}, + {X: Field{[10]uint32{0x01df595d, 0x02cbd4f0, 0x01a41ea4, 0x03f0a77d, 0x0158b9fd, 0x01029583, 0x0311859c, 0x02003b06, 0x0317f4c0, 0x00380312}}, Y: Field{[10]uint32{0x0363b99d, 0x007edd65, 0x032fb8c8, 0x000f4d20, 0x00a72a10, 0x02d33346, 0x00d0d957, 0x0134a746, 0x0266c3ec, 0x00189106}}}, + {X: Field{[10]uint32{0x0372ce70, 0x02c8c076, 0x011714cf, 0x03c88560, 0x03ca16be, 0x02dd52f9, 0x03603bd2, 0x02bd4a91, 0x00861af6, 0x001212e1}}, Y: Field{[10]uint32{0x0132fbc7, 0x01f9cb13, 0x02359d47, 0x0314231d, 0x01cf72e5, 0x028299d6, 0x02968652, 0x01e68ff9, 0x03f5a0ac, 0x000dbe13}}}, + {X: Field{[10]uint32{0x00d93f14, 0x0119ee13, 0x02dab210, 0x0338469e, 0x03ca07fe, 0x032f0526, 0x03e6a8a7, 0x007d1286, 0x00ead8b5, 0x00222f96}}, Y: Field{[10]uint32{0x02687fdc, 0x01baf2a4, 0x0067d4d4, 0x03d27c03, 0x018ebbeb, 0x001a5ec6, 0x00d6cd6a, 0x03ef05c7, 0x00af7037, 0x00253043}}}, + {X: Field{[10]uint32{0x03da781b, 0x037a5111, 0x03b77384, 0x0351f058, 0x037372a3, 0x0040466d, 0x0275e11b, 0x035fbd12, 0x02af9fdd, 0x002afdb3}}, Y: Field{[10]uint32{0x0395d290, 0x003b3319, 0x0259a796, 0x024a0712, 0x01417183, 0x026ed3bd, 0x01fe2f3b, 0x0319eba7, 0x030c6320, 0x00172b6c}}}, + {X: Field{[10]uint32{0x009d173a, 0x020e13ae, 0x03deb74f, 0x00365598, 0x014e221e, 0x01f1b0f3, 0x03cf10a1, 0x0196c99f, 0x01229ef6, 0x003a3099}}, Y: Field{[10]uint32{0x022aeeb3, 0x02b847f2, 0x00934035, 0x009a7f34, 0x02bec7ba, 0x00364591, 0x031965b3, 0x0143bf48, 0x03adf9b0, 0x00269a7e}}}, + {X: Field{[10]uint32{0x01c6c23e, 0x03e93ff6, 0x0358df60, 0x03aa47ff, 0x01e031f3, 0x021a0c55, 0x0270a24e, 0x03b2e579, 0x03d8bf72, 0x0019994a}}, Y: Field{[10]uint32{0x00be994e, 0x0168ea4c, 0x03b3b4b6, 0x00054b73, 0x0205fa69, 0x03d98c29, 0x002fbb66, 0x00adcc8b, 0x00083f18, 0x0012113b}}}, + {X: Field{[10]uint32{0x002c0964, 0x0094b753, 0x02f0badf, 0x01054caa, 0x0075cac8, 0x016fdb56, 0x00202c44, 0x00410372, 0x00c2d842, 0x00081e20}}, Y: Field{[10]uint32{0x01860cfd, 0x01b47c30, 0x01c54e91, 0x024c203f, 0x010a562d, 0x0324a9ec, 0x00ef3167, 0x013786b9, 0x01d73eb2, 0x000ac606}}}, + {X: Field{[10]uint32{0x0013f581, 0x03f65648, 0x030cc763, 0x00b1f649, 0x007e8f26, 0x03437fda, 0x0133485e, 0x01a4bbb2, 0x01e453d0, 0x0011ae6f}}, Y: Field{[10]uint32{0x014f9bf7, 0x02af4b28, 0x022256ec, 0x021a7cbf, 0x01394cc7, 0x00216df5, 0x019b0d63, 0x026703d2, 0x03e63ae5, 0x00162be6}}}, + {X: Field{[10]uint32{0x01ea3e11, 0x00759e5d, 0x0278b82b, 0x015758a6, 0x02a2fa25, 0x00a6bcea, 0x0356e2f0, 0x03974025, 0x0174dbeb, 0x001766c9}}, Y: Field{[10]uint32{0x02e59263, 0x01ed9143, 0x030f02b8, 0x02405963, 0x03f3a641, 0x018a5d63, 0x023dd507, 0x031a3f3b, 0x00acaa6a, 0x003b67d0}}}, + {X: Field{[10]uint32{0x02590e4f, 0x01b05c9b, 0x02c52d08, 0x035ddf3f, 0x03dc598f, 0x01dd0ce2, 0x036a6491, 0x01909669, 0x01828b98, 0x003b2d6b}}, Y: Field{[10]uint32{0x01887886, 0x02637cb2, 0x034e301d, 0x029f3312, 0x0365d33e, 0x00be084b, 0x014b5bf5, 0x0361faa5, 0x013673c6, 0x0000ade2}}}, + {X: Field{[10]uint32{0x0124ea67, 0x03294c8e, 0x0296e8f3, 0x0267f243, 0x00ddd62e, 0x00037957, 0x01747250, 0x006e2874, 0x00c15e71, 0x002ccad9}}, Y: Field{[10]uint32{0x02ac2083, 0x02c30929, 0x016a5403, 0x013783f8, 0x024d81b8, 0x01f92f86, 0x027a94de, 0x02b7c8d2, 0x01d36dce, 0x002bd758}}}, + {X: Field{[10]uint32{0x020cd364, 0x0023f160, 0x034ab1c3, 0x010aa002, 0x008b7f68, 0x033daacf, 0x0157aa15, 0x008cd29b, 0x031b7158, 0x00144dfd}}, Y: Field{[10]uint32{0x01f1eab4, 0x0194a913, 0x00381efa, 0x00e25596, 0x010e4a3b, 0x025d5dc4, 0x02a248d4, 0x01f6ac31, 0x03ecc9b1, 0x003dfa97}}}, + {X: Field{[10]uint32{0x029ea866, 0x0158a5f3, 0x01539e7c, 0x01958c58, 0x0025f94e, 0x00070fd7, 0x0113a898, 0x016224f8, 0x021a390b, 0x002e6ec3}}, Y: Field{[10]uint32{0x00324a11, 0x01a547c2, 0x0080e6b6, 0x02a094e6, 0x01247f60, 0x0207938c, 0x00e14ece, 0x00d7eeb9, 0x00903c3d, 0x003636cf}}}, + {X: Field{[10]uint32{0x024fe9af, 0x03ad1a24, 0x027d317b, 0x024bb060, 0x0388cc11, 0x0310bd1e, 0x0291c211, 0x003b0811, 0x01676da4, 0x000fc246}}, Y: Field{[10]uint32{0x02bb8de9, 0x0177d705, 0x01395877, 0x02f74ff3, 0x00ba4c04, 0x00e341c9, 0x02e6a812, 0x00b07c62, 0x00263e88, 0x003c6d12}}}, + {X: Field{[10]uint32{0x0093b4fe, 0x016b2236, 0x00ed80d5, 0x011f5897, 0x003767da, 0x01c286cb, 0x015e7afc, 0x01803a35, 0x01f1dad4, 0x002d7e89}}, Y: Field{[10]uint32{0x02d22347, 0x024e6ca2, 0x0270e1d6, 0x000ee85e, 0x0183e495, 0x02927426, 0x013a1908, 0x00a5b1fb, 0x0261f2ba, 0x001d5d7d}}}, + {X: Field{[10]uint32{0x000d17b0, 0x031bdf5a, 0x000183d4, 0x03a9ac73, 0x01e4ca06, 0x000dcc1a, 0x01b797e9, 0x00096de3, 0x00e2dc6a, 0x00280dc7}}, Y: Field{[10]uint32{0x0059919d, 0x01f10cba, 0x036bc693, 0x01d1712b, 0x0024f0ff, 0x01666ddd, 0x011c5214, 0x00173ba1, 0x00a89a50, 0x0024ad6a}}}, + {X: Field{[10]uint32{0x02e2f210, 0x02650a87, 0x02c8c7b1, 0x00a36896, 0x00cd0a98, 0x01f50808, 0x0063967d, 0x02441de2, 0x029000a4, 0x0016ab9b}}, Y: Field{[10]uint32{0x03ee8fd7, 0x00393ded, 0x03957576, 0x031335e0, 0x017e82fd, 0x01e7b0e6, 0x03218f7b, 0x013cfff5, 0x002082a5, 0x0003b673}}}, + {X: Field{[10]uint32{0x020841a0, 0x034a8a06, 0x03b053fe, 0x02cb9b39, 0x0164efdd, 0x01437ad9, 0x000f9648, 0x02dbd2c4, 0x02ecf4a9, 0x001539f6}}, Y: Field{[10]uint32{0x03c9c63d, 0x00f7b2a5, 0x03daecc8, 0x0215c250, 0x0270d467, 0x022cd365, 0x02857ad0, 0x00ea0756, 0x032a5477, 0x00366b68}}}, + {X: Field{[10]uint32{0x03bf44e8, 0x01153223, 0x00d7abdb, 0x0148e47b, 0x00383ed7, 0x01d926e1, 0x00d8be0c, 0x03bd1ad2, 0x0110d8bc, 0x003a6ca6}}, Y: Field{[10]uint32{0x021d6b69, 0x031c0f09, 0x033deb84, 0x024a6a37, 0x03d7a267, 0x00393102, 0x01739655, 0x03a47e94, 0x0094f669, 0x003ac9a0}}}, + {X: Field{[10]uint32{0x02546a97, 0x0385de76, 0x00ef6384, 0x00727f85, 0x013f537a, 0x01df4767, 0x037c5895, 0x02944c65, 0x0222f254, 0x0010fe54}}, Y: Field{[10]uint32{0x01cb18cc, 0x03b3ad5c, 0x035e14b0, 0x02ce5ecf, 0x030eef80, 0x0198a8b7, 0x005b305b, 0x01711fc9, 0x02534334, 0x0035f4f1}}}, + {X: Field{[10]uint32{0x02c3b103, 0x004a52e9, 0x00b1dcc9, 0x01701c89, 0x01672338, 0x005ab921, 0x00bc0902, 0x03ee4a0c, 0x03d53999, 0x0027ed17}}, Y: Field{[10]uint32{0x02bdf451, 0x03deb27f, 0x0213a277, 0x001ae09c, 0x036731b5, 0x0269252e, 0x017bf7f3, 0x020b4e43, 0x001bdbfd, 0x0016d1c2}}}, + {X: Field{[10]uint32{0x031dcce9, 0x032092ed, 0x007f23cb, 0x003882b6, 0x0109ca84, 0x03ad19bd, 0x015919b2, 0x00a734ca, 0x002b8355, 0x0037648a}}, Y: Field{[10]uint32{0x03726371, 0x02a78717, 0x03b7ad58, 0x01a0ed63, 0x01f37962, 0x00788ef3, 0x02f4a29d, 0x0359a2c7, 0x02e7bc59, 0x003b117d}}}, + {X: Field{[10]uint32{0x0016348d, 0x030176b7, 0x01c38686, 0x01bf06b5, 0x01fe2903, 0x00f788f1, 0x019def4f, 0x02f75efe, 0x0012009f, 0x001d20bc}}, Y: Field{[10]uint32{0x0040abd1, 0x0198e9ae, 0x025f8db1, 0x02eb0939, 0x0173fc0d, 0x0196eb44, 0x02b2a20b, 0x03dbc2fc, 0x020d5497, 0x00290f12}}}, + {X: Field{[10]uint32{0x00ebd9a5, 0x029a1a5c, 0x02377a69, 0x00c3dea6, 0x01537fca, 0x016c0c65, 0x012f587a, 0x0189e077, 0x019597fd, 0x003e933f}}, Y: Field{[10]uint32{0x03ae823a, 0x03af8771, 0x0105c1b8, 0x00c428c1, 0x01e2a350, 0x03862a3f, 0x031d269b, 0x03dde2f4, 0x02c99ddb, 0x00115a2d}}}, + {X: Field{[10]uint32{0x03a60b9e, 0x01f4440f, 0x00c53d9b, 0x034c9e51, 0x022f1078, 0x03c7ffaf, 0x0105e1b4, 0x00fa3a06, 0x03dae776, 0x00147834}}, Y: Field{[10]uint32{0x02da6740, 0x00bfca8d, 0x033f7bfa, 0x02948e57, 0x001da673, 0x008423b4, 0x01f20b90, 0x00beb33e, 0x00c4ab57, 0x00046368}}}, + {X: Field{[10]uint32{0x01bc9530, 0x00a99a03, 0x03f86c48, 0x01d3d03a, 0x00502fc6, 0x0227a5bd, 0x003b8572, 0x008cd4e3, 0x027cc055, 0x001f6395}}, Y: Field{[10]uint32{0x02b37571, 0x030ba9a3, 0x00ad7600, 0x00716172, 0x00748458, 0x02a2c985, 0x01fe552b, 0x0111a92e, 0x004600c6, 0x001db0ff}}}, + {X: Field{[10]uint32{0x011dfb1f, 0x00ae52b3, 0x000ed8d1, 0x019e7bd3, 0x011c316d, 0x03e8631e, 0x01f216fd, 0x0065bf74, 0x02d3b400, 0x00364931}}, Y: Field{[10]uint32{0x03ebcea8, 0x00aaa013, 0x012e59d8, 0x00649b1a, 0x0290b9d1, 0x023766e4, 0x01eb3f28, 0x0012e2c4, 0x00ee881c, 0x0003b0cf}}}, + {X: Field{[10]uint32{0x0293c0db, 0x01d115d7, 0x03b8f330, 0x006afe54, 0x033965cb, 0x02a6760a, 0x00d28b97, 0x00a72346, 0x030b06f6, 0x002372cc}}, Y: Field{[10]uint32{0x006857a3, 0x01d3cde9, 0x0097ab6d, 0x0103dbdf, 0x00b58b73, 0x004fe06a, 0x0129b573, 0x0240b46c, 0x01198323, 0x000f628b}}}, + {X: Field{[10]uint32{0x02a5d2b5, 0x01d27daf, 0x02e80d3f, 0x0074d68c, 0x0157910f, 0x036bad9c, 0x0386797d, 0x018de233, 0x023b94b0, 0x00374712}}, Y: Field{[10]uint32{0x03230777, 0x026fb7ac, 0x0064c086, 0x02f1cf5f, 0x003d2afe, 0x02de32de, 0x03e5be9a, 0x0160f590, 0x00c75a69, 0x003befb0}}}, + {X: Field{[10]uint32{0x03f5e772, 0x022a214d, 0x02dab765, 0x03caf1d8, 0x01ec0275, 0x0134a4b0, 0x01f6ec48, 0x035fdce5, 0x02341dfa, 0x000ac0f7}}, Y: Field{[10]uint32{0x03c0d0e3, 0x019a9db0, 0x03bdf971, 0x0346b926, 0x020803d7, 0x027de397, 0x03d48bb4, 0x0160b156, 0x00fb3818, 0x000c8d7a}}}, + {X: Field{[10]uint32{0x0028dde2, 0x01e320c5, 0x03f39479, 0x02f530f9, 0x02677f06, 0x01addc4c, 0x03a80efa, 0x016f25f9, 0x030fba14, 0x000e9e56}}, Y: Field{[10]uint32{0x00914691, 0x037d5e51, 0x0352b526, 0x013a8fc4, 0x0081af64, 0x03b502bb, 0x00bc9e1e, 0x022898df, 0x039ddf03, 0x003d0496}}}, + {X: Field{[10]uint32{0x004fcbbf, 0x0301621a, 0x01e59ef8, 0x0085e234, 0x03121f5c, 0x002a1476, 0x006c081b, 0x035b2e71, 0x013ba133, 0x0003b3e0}}, Y: Field{[10]uint32{0x03e53560, 0x035dce04, 0x020930ec, 0x0057af84, 0x02597e39, 0x02254a70, 0x02becd07, 0x02d1cdfc, 0x02f2a7b7, 0x001a7836}}}, + {X: Field{[10]uint32{0x02217d5a, 0x01a461b5, 0x00c33576, 0x01154da3, 0x03743832, 0x0138274f, 0x037191dd, 0x018f9040, 0x0182c141, 0x0018df12}}, Y: Field{[10]uint32{0x02ecb410, 0x03695cf7, 0x00b77a74, 0x011d6b19, 0x00f6fb37, 0x028de0c6, 0x03aaa5c0, 0x034b8c96, 0x02b8fd83, 0x0036968a}}}, + {X: Field{[10]uint32{0x01b90e87, 0x022cf8dc, 0x037c6b19, 0x01604947, 0x00542556, 0x0014c368, 0x03f5fac2, 0x016d5f73, 0x03a2d887, 0x00067f9c}}, Y: Field{[10]uint32{0x00151ca0, 0x027de836, 0x01ad35a3, 0x0204a3f0, 0x01a32646, 0x03f97a2e, 0x027a77a1, 0x0094630d, 0x00182ccc, 0x000ec0eb}}}, + {X: Field{[10]uint32{0x03b7ebb2, 0x0156dfce, 0x0023471d, 0x02f7c513, 0x00c68b4c, 0x02d9a02c, 0x01151b30, 0x03700027, 0x022a0d4c, 0x00005ba9}}, Y: Field{[10]uint32{0x013fa629, 0x03f3a779, 0x01f6a8ff, 0x0180b8ee, 0x0135f020, 0x02566030, 0x00612a89, 0x00b964ce, 0x021c5367, 0x00232b12}}}, + {X: Field{[10]uint32{0x02a40970, 0x00d4e508, 0x012e849f, 0x0217efd4, 0x00e1eed4, 0x01e7e68a, 0x00e54132, 0x01b4859e, 0x00b5454c, 0x001ae75a}}, Y: Field{[10]uint32{0x02365482, 0x02c6c9eb, 0x01472fa4, 0x01952c17, 0x03907f85, 0x02a223ad, 0x01e6969d, 0x038df6be, 0x004498eb, 0x002d8fd4}}}, + {X: Field{[10]uint32{0x035ed3e6, 0x037449c2, 0x01d05868, 0x01f48c59, 0x0232c3c2, 0x03edfb24, 0x03dc948a, 0x0204b0b9, 0x008c08f0, 0x0007e883}}, Y: Field{[10]uint32{0x01838076, 0x0137ad8a, 0x020cfed8, 0x015ca029, 0x026cd168, 0x0308a7fa, 0x03686062, 0x00d909f7, 0x034d8213, 0x0031495f}}}, + {X: Field{[10]uint32{0x036acc86, 0x0229a86f, 0x02263e8e, 0x00e2f941, 0x02af15bb, 0x00763d4d, 0x031df6b3, 0x02d37873, 0x00927dae, 0x001cea0f}}, Y: Field{[10]uint32{0x02eb8adc, 0x01eb5aa0, 0x000ab2fb, 0x02af937d, 0x0126a21d, 0x02326e24, 0x034e24de, 0x030c2e0a, 0x03e40cd6, 0x002822b2}}}, + {X: Field{[10]uint32{0x0188bdbe, 0x01d87b9d, 0x015a48e1, 0x033bf4a9, 0x0285ba90, 0x03389978, 0x0278cf93, 0x00b7bb28, 0x0264924e, 0x000ea655}}, Y: Field{[10]uint32{0x00cbbb0e, 0x02351711, 0x00f39dd4, 0x02f40edf, 0x02d011a1, 0x0072bc63, 0x0065d939, 0x00cf4d49, 0x02dc99eb, 0x003cc886}}}, + {X: Field{[10]uint32{0x01429c26, 0x01fc9a4f, 0x005965e0, 0x03ead3e2, 0x025ca516, 0x030583a1, 0x005cd9b9, 0x03d73075, 0x0219b032, 0x001f197b}}, Y: Field{[10]uint32{0x023704c5, 0x015ca900, 0x02287ff9, 0x0178dd0f, 0x018cc54a, 0x02f88893, 0x01076ae4, 0x03c9df4c, 0x02f90e3d, 0x0011f1fe}}}, + {X: Field{[10]uint32{0x00d397dc, 0x0002c8b9, 0x00fb03dc, 0x0365976e, 0x032f05e6, 0x0332e340, 0x0153118d, 0x036ef6f6, 0x014c6750, 0x0030041a}}, Y: Field{[10]uint32{0x008e730c, 0x020ee01b, 0x01be2395, 0x00054b50, 0x025a5e61, 0x0065bc4c, 0x01fde10a, 0x01510567, 0x00c6dd6c, 0x000ed245}}}, + {X: Field{[10]uint32{0x02519d57, 0x005f3d98, 0x03ae75e3, 0x00b29c8f, 0x01a33dcb, 0x0084d84c, 0x015a12b9, 0x022db5be, 0x008ed28d, 0x00389561}}, Y: Field{[10]uint32{0x03cfb7b6, 0x0364990f, 0x02fe4d36, 0x03007841, 0x00377c9a, 0x02060ec9, 0x0207dcd1, 0x036b5e60, 0x01aa1757, 0x0018bdf5}}}, + {X: Field{[10]uint32{0x00236ed9, 0x0295b40b, 0x03c45bd1, 0x029ddbbf, 0x01a9669d, 0x00778c34, 0x0078dfbf, 0x00a648ea, 0x00e57323, 0x003cc506}}, Y: Field{[10]uint32{0x0256b84c, 0x008d2e2b, 0x01552af7, 0x03d87e22, 0x0316a1ef, 0x00c2d6bb, 0x0234c8a6, 0x03651957, 0x0084dce0, 0x00398aae}}}, + {X: Field{[10]uint32{0x01703181, 0x004b0aef, 0x03770615, 0x026ba319, 0x021f3f3c, 0x01f079aa, 0x01c290d4, 0x00c4eeb2, 0x0145b876, 0x00026b6e}}, Y: Field{[10]uint32{0x030908fd, 0x01d347a7, 0x00f8650f, 0x003b7c3c, 0x0251531d, 0x03777cac, 0x020b82be, 0x00985920, 0x0142b463, 0x002c87f0}}}, + {X: Field{[10]uint32{0x008da322, 0x01b0f160, 0x03f36172, 0x01182e0e, 0x03ca04b8, 0x00d6ce42, 0x01132e9b, 0x018e8615, 0x032b9d4a, 0x00311a0a}}, Y: Field{[10]uint32{0x035f6972, 0x02d740f4, 0x025a26ee, 0x016a0d73, 0x0014e907, 0x00f8dbc1, 0x02597622, 0x02e8c86d, 0x006a7100, 0x003c96a4}}}, + {X: Field{[10]uint32{0x0280d63a, 0x028419ba, 0x0003da99, 0x03ceb810, 0x02559159, 0x025f1d97, 0x027c4055, 0x02711e05, 0x016d60f4, 0x003aec3f}}, Y: Field{[10]uint32{0x02a0b0f7, 0x0321a39a, 0x00350afd, 0x019dc1bd, 0x00c4202f, 0x022d0c72, 0x022ffcf2, 0x03218876, 0x0160667a, 0x003acdf4}}}, + {X: Field{[10]uint32{0x01a5597a, 0x006f2f02, 0x0334e355, 0x026257d5, 0x0165ffb0, 0x03fd8dfc, 0x0267cbbb, 0x02f2d000, 0x012070d8, 0x001e3c4b}}, Y: Field{[10]uint32{0x03bb78f8, 0x005c240a, 0x037407de, 0x038ce65c, 0x037419a3, 0x021f6672, 0x03574d2c, 0x005d586e, 0x02b33662, 0x0010a5da}}}, + {X: Field{[10]uint32{0x01919f69, 0x022befa1, 0x01eee579, 0x02ef9d9e, 0x0235ae41, 0x02525886, 0x039fbc2b, 0x012d8e60, 0x004af621, 0x0000f7ff}}, Y: Field{[10]uint32{0x03f2c456, 0x03fab615, 0x020e9036, 0x03fa40a1, 0x02a13480, 0x02765d40, 0x01d15a42, 0x0086b88b, 0x036b1b40, 0x001605d2}}}, + {X: Field{[10]uint32{0x015a15cc, 0x0175d16d, 0x028bf55d, 0x0034c914, 0x00bd16bf, 0x036ddbae, 0x015198f4, 0x010b2884, 0x0393a4ed, 0x00104324}}, Y: Field{[10]uint32{0x02d58306, 0x03ea8297, 0x003d7059, 0x0069cc7f, 0x0283c298, 0x0328945d, 0x00c2cf9b, 0x02e26f05, 0x00b1df71, 0x001013fd}}}, + {X: Field{[10]uint32{0x024e3649, 0x01b1256f, 0x031966c1, 0x01a599e5, 0x00b93e65, 0x03f9a5df, 0x03366326, 0x02c1e4f7, 0x015687d6, 0x001ad354}}, Y: Field{[10]uint32{0x0169f4e3, 0x0304697a, 0x01c815d6, 0x002a5544, 0x001a2556, 0x036c5d83, 0x02a03152, 0x0081fd74, 0x0094bbac, 0x00191e92}}}, + {X: Field{[10]uint32{0x01f34247, 0x01c716e9, 0x01fd94a7, 0x0091af93, 0x016f0d87, 0x00017670, 0x03ccfd85, 0x01661bc2, 0x017ae87d, 0x00163feb}}, Y: Field{[10]uint32{0x00069817, 0x0173c03c, 0x02ce5e50, 0x01afb8da, 0x03b33fba, 0x03218a70, 0x00d6f93e, 0x0057ebd4, 0x02d8f9ab, 0x002b62de}}}, + {X: Field{[10]uint32{0x02a757fd, 0x003ab3e9, 0x02c72b31, 0x01a5ca24, 0x00adb956, 0x00fa20ed, 0x03277382, 0x03eb782b, 0x001d1835, 0x0039b4f9}}, Y: Field{[10]uint32{0x01359c15, 0x0283bc08, 0x02e61045, 0x02aed09e, 0x03d6395c, 0x036f6e3b, 0x0303e425, 0x03b39f3b, 0x008cb580, 0x00284db2}}}, + {X: Field{[10]uint32{0x01953b35, 0x02ba51c3, 0x032a5573, 0x010828b4, 0x023b561b, 0x006f0409, 0x01044792, 0x0280c2b0, 0x022b43aa, 0x003f11f1}}, Y: Field{[10]uint32{0x006224f0, 0x00c18009, 0x03b29502, 0x00982ce4, 0x01627236, 0x00287d44, 0x02b58104, 0x01e019cc, 0x011d65fc, 0x00174c63}}}, + {X: Field{[10]uint32{0x03db251b, 0x02b2df1b, 0x031ca36b, 0x028a4cf2, 0x02d0a1b8, 0x00d54e19, 0x0278da90, 0x00deec23, 0x0067cbcb, 0x0033ab8a}}, Y: Field{[10]uint32{0x02bb3dfd, 0x00b47742, 0x00c16d4c, 0x00a4e862, 0x03956cc6, 0x010dc9ed, 0x0017b373, 0x02aa55e5, 0x007ec163, 0x00122fcb}}}, + {X: Field{[10]uint32{0x03efeab0, 0x02090f86, 0x02d78daa, 0x01d3225c, 0x039195fb, 0x0145b621, 0x03408d82, 0x00d6d708, 0x0378c847, 0x002aec48}}, Y: Field{[10]uint32{0x0366698e, 0x01646ccf, 0x01a02abb, 0x00d99c10, 0x01ce901c, 0x032295b6, 0x010be913, 0x02919767, 0x024b0da5, 0x001682fd}}}, + {X: Field{[10]uint32{0x0159eeaf, 0x03a9c00c, 0x0024f274, 0x03a50e92, 0x021a576c, 0x038458c5, 0x005302b0, 0x031f2486, 0x02398330, 0x0035de07}}, Y: Field{[10]uint32{0x0106651a, 0x01192bc3, 0x03310fbb, 0x02665bdb, 0x01261aed, 0x006f8f5f, 0x027398dd, 0x03171cfb, 0x00324e07, 0x0018d069}}}, + {X: Field{[10]uint32{0x024c760c, 0x02dda11f, 0x01a6dbe5, 0x00cf7f50, 0x016f3ad1, 0x00a8877c, 0x0171646d, 0x008115cb, 0x01cd46ec, 0x0029a463}}, Y: Field{[10]uint32{0x0132fa9c, 0x015b9f42, 0x034e51f0, 0x03ecbd98, 0x001d6c7c, 0x01484e5f, 0x030e4b53, 0x01263669, 0x02ba378d, 0x00303946}}}, + {X: Field{[10]uint32{0x03d1a204, 0x001132a0, 0x027706ef, 0x03809234, 0x027785e2, 0x017f65c1, 0x02b340a6, 0x037980e4, 0x02e4fbb5, 0x00104e93}}, Y: Field{[10]uint32{0x023dd197, 0x03c5cbe2, 0x027c343a, 0x01d1476c, 0x016595a6, 0x006c23f4, 0x02bc668d, 0x023cd0ef, 0x0106c18a, 0x00280d89}}}, + {X: Field{[10]uint32{0x0204001c, 0x00560717, 0x011a8968, 0x01988dcc, 0x0287fd87, 0x03ef4449, 0x004aa082, 0x002483db, 0x0024de8b, 0x003869ef}}, Y: Field{[10]uint32{0x026bed16, 0x02ac4006, 0x0249b29b, 0x02c7bea3, 0x013a3d90, 0x00695719, 0x01aeea26, 0x021cf452, 0x01fdd0a2, 0x000f8eea}}}, + {X: Field{[10]uint32{0x01333a75, 0x0283f0f7, 0x0142d8a9, 0x026c5e56, 0x01ab1dde, 0x028cdf81, 0x02e077f8, 0x033312d6, 0x02a0a147, 0x003fe4a4}}, Y: Field{[10]uint32{0x0223a166, 0x03d6de1e, 0x007a43b6, 0x00ae0c17, 0x02b555ea, 0x016b577f, 0x014b4122, 0x00d18dd9, 0x027c5f7a, 0x003943c0}}}, + {X: Field{[10]uint32{0x00cb9c0c, 0x000e7513, 0x0140d900, 0x03186600, 0x03afe849, 0x001170b4, 0x007a36b0, 0x02774e77, 0x0223437c, 0x003ab959}}, Y: Field{[10]uint32{0x0132e043, 0x01a25d37, 0x037be39f, 0x0100dcb5, 0x0055e62e, 0x00bf9f9e, 0x02b5a9b2, 0x01d0db72, 0x01e99284, 0x003c6e32}}}, + {X: Field{[10]uint32{0x00bd5282, 0x000b2d55, 0x012273d0, 0x0012f322, 0x017f9c60, 0x01230e79, 0x02da0f30, 0x028f7f87, 0x00be3467, 0x001f7483}}, Y: Field{[10]uint32{0x001485d0, 0x01a9a25f, 0x014c64eb, 0x020a377f, 0x02ee9225, 0x005dca91, 0x034c3f83, 0x034b5533, 0x0323f035, 0x003b134b}}}, + {X: Field{[10]uint32{0x02a877eb, 0x00b68fc4, 0x03fc73a0, 0x03af6c36, 0x03e4e245, 0x00ef68f0, 0x03b88703, 0x004a4551, 0x01cc5acf, 0x000d6604}}, Y: Field{[10]uint32{0x0108a792, 0x02b3663a, 0x03a59bb6, 0x02f8ada0, 0x037702d1, 0x00470e89, 0x03f916f5, 0x028f781b, 0x00878b97, 0x003b4bd4}}}, + {X: Field{[10]uint32{0x01a71c24, 0x00440b92, 0x005a2c03, 0x03282f18, 0x035a6c76, 0x00689346, 0x02d57ea0, 0x0329393a, 0x009cf2bc, 0x003eccfa}}, Y: Field{[10]uint32{0x031c9f45, 0x00a1874b, 0x0180e019, 0x010309ba, 0x03d7fca9, 0x00aa49cb, 0x035b9584, 0x009c15ea, 0x02f5ca60, 0x0031d780}}}, + {X: Field{[10]uint32{0x01f687aa, 0x03aed5b9, 0x036069d1, 0x003bca4e, 0x01b7b297, 0x0016944a, 0x034f836b, 0x01d28054, 0x033e5eed, 0x00028734}}, Y: Field{[10]uint32{0x02c4a6b0, 0x01e34207, 0x01abcc99, 0x01ea25a8, 0x01bdefc3, 0x0390e03a, 0x02b60cc1, 0x030d14ec, 0x02b90ccf, 0x003e4346}}}, + {X: Field{[10]uint32{0x00213614, 0x014d4131, 0x00999b85, 0x027876cc, 0x025d9f16, 0x03b62b24, 0x03383cfc, 0x00edeafe, 0x02b90364, 0x001185a5}}, Y: Field{[10]uint32{0x0033bc72, 0x0035668c, 0x018d60de, 0x0339a566, 0x03ee91c4, 0x02bafff4, 0x0340a859, 0x003e8323, 0x00775f30, 0x0019d3d7}}}, + {X: Field{[10]uint32{0x014ab025, 0x00356f78, 0x01727f39, 0x03c89d1c, 0x021fd5cd, 0x00fdfa2a, 0x00885ae9, 0x027daf33, 0x02221b58, 0x001b1aaa}}, Y: Field{[10]uint32{0x02077538, 0x034b2eea, 0x0015c9f8, 0x005e2329, 0x02aeb844, 0x02d43e9d, 0x0164483f, 0x02e4346b, 0x020340e1, 0x0029df17}}}, + {X: Field{[10]uint32{0x0261c38b, 0x013f35d3, 0x00268387, 0x0069cab3, 0x01792eff, 0x039ca79b, 0x032c7ee6, 0x00cc4340, 0x0391927f, 0x00324634}}, Y: Field{[10]uint32{0x000dfb5b, 0x010f201e, 0x03965742, 0x01c9b89f, 0x00fce24a, 0x016db2d6, 0x021bed0e, 0x0123e3b6, 0x006c3460, 0x00163f5d}}}, + {X: Field{[10]uint32{0x01ea5918, 0x03b1625b, 0x022c2142, 0x03c0cfef, 0x019240c3, 0x004f1253, 0x02c26542, 0x028fd792, 0x02161ca0, 0x001219e7}}, Y: Field{[10]uint32{0x021d1a41, 0x0347c78f, 0x004a9a30, 0x039e73c8, 0x03b2a19f, 0x019e1038, 0x03a29667, 0x02bf8fa4, 0x03fe300c, 0x00155be4}}}, + {X: Field{[10]uint32{0x02e7b858, 0x01a28c31, 0x02584699, 0x0166b11a, 0x025e9456, 0x02ab0216, 0x02d6eede, 0x0191029c, 0x01a9e46b, 0x0031a301}}, Y: Field{[10]uint32{0x01de450d, 0x00991805, 0x032b61b1, 0x01a934af, 0x03c76874, 0x000da845, 0x03d64a1d, 0x03fe02f8, 0x01dc35d4, 0x002e2d2d}}}, + {X: Field{[10]uint32{0x01444e6a, 0x00e1d5e7, 0x02dc9f05, 0x038dbcc9, 0x0121e3df, 0x01b151a6, 0x0176dc4b, 0x01227e3e, 0x03106358, 0x00344cfb}}, Y: Field{[10]uint32{0x02f968cb, 0x00f140ae, 0x005becbf, 0x03af8cad, 0x02327ec3, 0x03f59a9b, 0x02b0f57a, 0x0034b09c, 0x03c4db69, 0x000b19aa}}}, + {X: Field{[10]uint32{0x01f976ae, 0x02b416cf, 0x0119392d, 0x01828807, 0x0261ca0a, 0x0229f8b6, 0x00766dc4, 0x0277aac4, 0x03598d75, 0x0014d513}}, Y: Field{[10]uint32{0x0069cd47, 0x010aff8a, 0x017e879a, 0x00454df8, 0x030993d7, 0x028666b5, 0x004e3f03, 0x01ebbc08, 0x005e61cb, 0x00112688}}}, + {X: Field{[10]uint32{0x03b8b331, 0x00d2b2e0, 0x00a622fe, 0x0177b8dd, 0x009254c6, 0x012dadf0, 0x02263851, 0x0144cce7, 0x00740fda, 0x000c4228}}, Y: Field{[10]uint32{0x028b6243, 0x00c04c89, 0x0115b5d9, 0x0347d678, 0x00d6fc05, 0x030bc891, 0x01a473da, 0x00ffaa2c, 0x010d5426, 0x0010bb72}}}, + {X: Field{[10]uint32{0x00b4b23c, 0x0336329f, 0x03962154, 0x0301ac8b, 0x012ee58a, 0x03ad5618, 0x0295099a, 0x00701367, 0x000d052c, 0x000599b1}}, Y: Field{[10]uint32{0x03a82fb9, 0x01112c64, 0x0284fb6c, 0x011f4807, 0x00abafc2, 0x001d4a55, 0x0355923e, 0x0198e2aa, 0x0341ae04, 0x0014196e}}}, + {X: Field{[10]uint32{0x0247722e, 0x01c915fb, 0x02ad53a5, 0x0242ef57, 0x02ed80fa, 0x01dacb60, 0x001290df, 0x039aa3c0, 0x03ebd3ee, 0x00325b41}}, Y: Field{[10]uint32{0x0220baf3, 0x0370b31f, 0x032c8d00, 0x0391e290, 0x0113ba06, 0x0262dd27, 0x0016af17, 0x02dfa68d, 0x0004447f, 0x0034f5a7}}}, + {X: Field{[10]uint32{0x0181b49d, 0x02136447, 0x03479fce, 0x02f5ecb0, 0x00647fa7, 0x0339d50b, 0x0369a9e8, 0x016c15e1, 0x0039b11b, 0x0002a7ff}}, Y: Field{[10]uint32{0x00bcbee7, 0x0348489a, 0x03747375, 0x0124e394, 0x0280a644, 0x016101c4, 0x00894dc2, 0x00a3dfa6, 0x024882e9, 0x002fb084}}}, + {X: Field{[10]uint32{0x03af0632, 0x0317eefd, 0x00f2737f, 0x01fc6980, 0x03e82578, 0x024c83f4, 0x015d3f52, 0x024e0239, 0x028ccd4c, 0x0014b284}}, Y: Field{[10]uint32{0x0135f7c4, 0x010b378c, 0x02ec370f, 0x024e0d9d, 0x0137ffa4, 0x03676fee, 0x02bab014, 0x0232ded3, 0x028095a9, 0x00211ba2}}}, + {X: Field{[10]uint32{0x01407c20, 0x03e8d3aa, 0x039ae8e0, 0x00948ca6, 0x00006985, 0x0127df25, 0x00abc41e, 0x02649dee, 0x02c177fd, 0x003fe4aa}}, Y: Field{[10]uint32{0x03fdcfb5, 0x01e7d163, 0x03331a33, 0x024d0a91, 0x03dafd9a, 0x01c8c0dc, 0x03bf2a9b, 0x0149cfae, 0x00dd5aaf, 0x002bc363}}}, + {X: Field{[10]uint32{0x03991e0c, 0x007406c9, 0x03f09a54, 0x02c75ca7, 0x025fb653, 0x005340be, 0x0163c973, 0x0028f0e0, 0x033ed3c1, 0x0029a4a9}}, Y: Field{[10]uint32{0x0068b905, 0x026f9a79, 0x03809cff, 0x0126694d, 0x02aa05c9, 0x02e09056, 0x0063d006, 0x034fa036, 0x015a3e5b, 0x0001c8bd}}}, + {X: Field{[10]uint32{0x0120aefd, 0x031ffb50, 0x024e2e2f, 0x0298c573, 0x006b813b, 0x03263520, 0x02fc4cd2, 0x026a4f8c, 0x003f7a62, 0x00367967}}, Y: Field{[10]uint32{0x030214bb, 0x023853eb, 0x00d30eb0, 0x00e44eaa, 0x013234be, 0x002691ff, 0x01bf6589, 0x00c4653d, 0x01942307, 0x00093389}}}, + {X: Field{[10]uint32{0x00a0f6ff, 0x02394d01, 0x0358714b, 0x0169816a, 0x034dde8d, 0x02af3c16, 0x0191ef79, 0x02c42592, 0x030f7771, 0x001d3949}}, Y: Field{[10]uint32{0x03b1670f, 0x02c1186c, 0x0088714b, 0x0199a455, 0x0371ced0, 0x00d5ac78, 0x03a285f1, 0x00fc25a1, 0x01a3a4a8, 0x000ab618}}}, + {X: Field{[10]uint32{0x01d4420c, 0x0007d64c, 0x03f587a2, 0x0292161f, 0x02744668, 0x0255f0e8, 0x02856157, 0x03df9d86, 0x02301c43, 0x002e45a4}}, Y: Field{[10]uint32{0x0019536f, 0x007dd396, 0x03e5bebe, 0x008fd6c8, 0x03659ea4, 0x01945696, 0x01818e0c, 0x020a0133, 0x025bc126, 0x002f4d81}}}, + {X: Field{[10]uint32{0x024d51ee, 0x00e7640d, 0x03cd8792, 0x0325654e, 0x02cd01fd, 0x0016dfec, 0x02d72115, 0x01a36a5c, 0x02538645, 0x000dfebc}}, Y: Field{[10]uint32{0x03c15f85, 0x0127ab4e, 0x02823657, 0x008dbdef, 0x01d8c125, 0x028ef258, 0x02ea7360, 0x02cf9f9a, 0x02ce749d, 0x002da6b8}}}, + {X: Field{[10]uint32{0x020cf8d2, 0x0021eee8, 0x0214b43b, 0x02630661, 0x011c379f, 0x00373419, 0x0082477f, 0x004e2cd2, 0x014c4a1c, 0x00386504}}, Y: Field{[10]uint32{0x0098a93b, 0x00dd62ba, 0x00d6789e, 0x034f5c75, 0x00889f2a, 0x01452a66, 0x0182cf06, 0x0388b8ec, 0x034bb90a, 0x001e8ebe}}}, + {X: Field{[10]uint32{0x0217ddaa, 0x0150de7e, 0x0333cca0, 0x03bc245c, 0x011c8b13, 0x02056234, 0x008e4b3c, 0x02d145ce, 0x03010d3f, 0x000b38b6}}, Y: Field{[10]uint32{0x027bbbc0, 0x00c35dcd, 0x00922e2c, 0x02ce0043, 0x0074285c, 0x0346955a, 0x021529ae, 0x01daa617, 0x029daf0e, 0x00248cb6}}}, + {X: Field{[10]uint32{0x016f051f, 0x0063e7cf, 0x01f49986, 0x01b9658d, 0x000bd66c, 0x03fa9da2, 0x00e2e821, 0x01c114f7, 0x00484bdb, 0x0030a4bb}}, Y: Field{[10]uint32{0x03b57d6d, 0x0067b225, 0x008872b1, 0x00d849bd, 0x0312b777, 0x03454c91, 0x00af49bf, 0x039a7134, 0x00f06b81, 0x0008429d}}}, + {X: Field{[10]uint32{0x01acfeee, 0x00c80da9, 0x002ad3e1, 0x020f5ded, 0x020933db, 0x0360eb4f, 0x03b423cc, 0x022bbda5, 0x01c09761, 0x00056f32}}, Y: Field{[10]uint32{0x008a7a33, 0x00ea01ae, 0x0211c1a8, 0x02a403a5, 0x01a1bb98, 0x01244b28, 0x033c4901, 0x025bf6fe, 0x02f11bb9, 0x003a7f1f}}}, + {X: Field{[10]uint32{0x021e7785, 0x0132c91b, 0x03113fd2, 0x031a6756, 0x00848639, 0x017cb4a6, 0x03e45fe5, 0x00ef5e5e, 0x00af50f1, 0x00118467}}, Y: Field{[10]uint32{0x0042ea3b, 0x009ea4c2, 0x01215b13, 0x00056bac, 0x00ba3015, 0x03be4cad, 0x022cf8f9, 0x01bae5dd, 0x0391f4c5, 0x001a880f}}}, + {X: Field{[10]uint32{0x02f9ecf4, 0x037e216d, 0x03a649d9, 0x025179ac, 0x01cf1410, 0x03687e7f, 0x0149a3d2, 0x03c60aa5, 0x03943e4d, 0x003ce85d}}, Y: Field{[10]uint32{0x02cf7e8f, 0x033b041b, 0x02115c80, 0x03ff20bb, 0x00444a1d, 0x0167e0ca, 0x02b66198, 0x02b4e7f0, 0x03cc5e82, 0x002cd3ad}}}, + {X: Field{[10]uint32{0x03913fe4, 0x001d71ad, 0x03d67536, 0x03e940a5, 0x01fa98bd, 0x016e6831, 0x01cbd45f, 0x03d1a36e, 0x027484a7, 0x0033be42}}, Y: Field{[10]uint32{0x02301815, 0x0290289a, 0x0173730f, 0x01579715, 0x01fb79a5, 0x00941e1d, 0x03029465, 0x03ef0a19, 0x02ad2a43, 0x0034243b}}}, + {X: Field{[10]uint32{0x035702ce, 0x031bb4a8, 0x00b06833, 0x02dae418, 0x0126c528, 0x02fe9598, 0x00b88b24, 0x02a4e3b1, 0x0214987a, 0x00087628}}, Y: Field{[10]uint32{0x004579e4, 0x019bc9b6, 0x03c8e94b, 0x03a69407, 0x00f736df, 0x00228a0c, 0x028167c0, 0x0288ef18, 0x000d5b65, 0x0030d50d}}}, + {X: Field{[10]uint32{0x021ca53e, 0x00e5460e, 0x0361d5d1, 0x03e91b81, 0x00e19196, 0x020b6f49, 0x0204f6cf, 0x02f9298a, 0x03279049, 0x001ac63f}}, Y: Field{[10]uint32{0x01ffa3b7, 0x033f6cb1, 0x038d86ca, 0x035c948b, 0x026343f0, 0x01a63e8c, 0x001e9b26, 0x004d9e3e, 0x030c52c0, 0x003be01b}}}, + {X: Field{[10]uint32{0x03466e6f, 0x02b8c772, 0x020ee850, 0x00db0206, 0x00bab07c, 0x028f99cf, 0x0332afbe, 0x03301354, 0x00f20452, 0x001f63bd}}, Y: Field{[10]uint32{0x00fa0c0d, 0x0298910b, 0x017bc137, 0x011fc644, 0x01d224da, 0x03c43db2, 0x03367d0d, 0x033bbc9c, 0x026755a2, 0x000c9185}}}, + {X: Field{[10]uint32{0x00d12cab, 0x012d2208, 0x01afd699, 0x0182c74c, 0x02034135, 0x016b1d28, 0x03b63276, 0x015927d6, 0x002155d1, 0x0031f786}}, Y: Field{[10]uint32{0x02eaa23a, 0x014b39e5, 0x02844482, 0x00d8475f, 0x007fbe01, 0x030c9036, 0x03b86595, 0x00b03f24, 0x0056c5fb, 0x00366596}}}, + {X: Field{[10]uint32{0x0381b294, 0x0224ef50, 0x005c600f, 0x0025ca65, 0x03eddeff, 0x017e93ac, 0x01eb6ee4, 0x00b0ec62, 0x033a915e, 0x00133b2c}}, Y: Field{[10]uint32{0x02a3aeb1, 0x02ef6387, 0x036ffd1b, 0x0384cc42, 0x033534d6, 0x02dc0335, 0x02250357, 0x0072e111, 0x0112b5e6, 0x0033c5fc}}}, + {X: Field{[10]uint32{0x02255749, 0x02a99619, 0x00c10204, 0x00aca172, 0x001c9bc7, 0x033c03f9, 0x003ab5d4, 0x0181aed3, 0x0064bfce, 0x00209b3d}}, Y: Field{[10]uint32{0x036849c4, 0x02388d5e, 0x011cbb87, 0x0192c600, 0x036d7ca5, 0x00542a8b, 0x016fabfb, 0x00a16d45, 0x0031527d, 0x001ae8ed}}}, + {X: Field{[10]uint32{0x008f8f62, 0x0061f9d9, 0x0028e0b2, 0x002360ba, 0x01de51d6, 0x035bf043, 0x012ba922, 0x03491546, 0x02c6f497, 0x003204b6}}, Y: Field{[10]uint32{0x008b317e, 0x01ad2aec, 0x028f61ba, 0x0361ddcf, 0x002be94d, 0x03ebd4ff, 0x026ee1ae, 0x001a0204, 0x00c77363, 0x000340ba}}}, + {X: Field{[10]uint32{0x00ff8851, 0x03574ff8, 0x00d1e3c6, 0x01adb8e3, 0x03aa4592, 0x027c53ae, 0x01eaa8bc, 0x01fd1f91, 0x010ebd96, 0x00149a55}}, Y: Field{[10]uint32{0x01a7455b, 0x021987e6, 0x0295a38b, 0x0340c21a, 0x01b45963, 0x0346cff4, 0x03422ffc, 0x03b3b510, 0x012026e3, 0x0028565f}}}, + {X: Field{[10]uint32{0x004d7676, 0x02bfb9fa, 0x01e9baf1, 0x01b55294, 0x00c7c2ae, 0x037102ea, 0x002721fc, 0x014b3ef1, 0x032980e6, 0x001ff3f2}}, Y: Field{[10]uint32{0x002cfcdd, 0x037afe22, 0x00ce9f95, 0x03d59aa7, 0x02a4d044, 0x0323c675, 0x02bcbaaa, 0x0238d3b1, 0x01904a40, 0x002afdcb}}}, + {X: Field{[10]uint32{0x00a9f451, 0x03712d99, 0x0057c079, 0x03ae2eaa, 0x033d5f25, 0x00ca9a81, 0x00e18a21, 0x03841212, 0x02a04597, 0x00217c06}}, Y: Field{[10]uint32{0x01f081af, 0x013b11f9, 0x0013204b, 0x03072d38, 0x025398ce, 0x016f3d15, 0x03b71ab3, 0x02061dee, 0x00eb8a05, 0x003dd18f}}}, + {X: Field{[10]uint32{0x02885628, 0x03e37fe4, 0x035fda01, 0x02f08900, 0x00dc1a5f, 0x003fafbb, 0x03fee1d1, 0x02183eb0, 0x021a7dcd, 0x000256d2}}, Y: Field{[10]uint32{0x02f7f772, 0x0101bb2f, 0x00d97f70, 0x03b48dce, 0x021f80bc, 0x0131bb8f, 0x029dfa69, 0x01119fbe, 0x039c5bd9, 0x000a8337}}}, + {X: Field{[10]uint32{0x036c51c5, 0x0243b35f, 0x009f049b, 0x02b3b11c, 0x008cd95c, 0x00ddd4f6, 0x014b38ce, 0x03742ec9, 0x00a624dd, 0x00013d89}}, Y: Field{[10]uint32{0x037a4fa5, 0x039612f1, 0x02bd070c, 0x03ac6e5d, 0x00668de4, 0x0333f515, 0x0220dcd8, 0x03b3640a, 0x028302ef, 0x0021d2a6}}}, + {X: Field{[10]uint32{0x0106b48d, 0x03759b5d, 0x00043437, 0x0215a635, 0x02a2914d, 0x0117a71b, 0x0040f585, 0x014def39, 0x0112e18b, 0x000e781a}}, Y: Field{[10]uint32{0x02f352e0, 0x01e859c1, 0x03ef18db, 0x01b51a56, 0x0200f06c, 0x004a2a84, 0x0080153c, 0x00c25aaf, 0x020a16e9, 0x003bfc83}}}, + {X: Field{[10]uint32{0x00f1ace9, 0x005ed19e, 0x013107a7, 0x02d97bee, 0x014c1d41, 0x032b6e5e, 0x03f4f590, 0x01e0c5d3, 0x013266d6, 0x0014bb70}}, Y: Field{[10]uint32{0x00d402d1, 0x01aef071, 0x0127c3af, 0x01563d1a, 0x03cb07cf, 0x01a135f4, 0x02c0bf49, 0x0078ff8c, 0x0202c678, 0x00395a78}}}, + {X: Field{[10]uint32{0x0328465f, 0x0290fcd0, 0x00d3a1df, 0x0235bcaa, 0x01e4e945, 0x02457f23, 0x0287f07c, 0x02041cf8, 0x0348964b, 0x0038dd92}}, Y: Field{[10]uint32{0x00fdb023, 0x01723cd3, 0x01b6c3ad, 0x02a94e9e, 0x005b7261, 0x03435d5d, 0x01b460f6, 0x0382e8d4, 0x024bfb13, 0x002f78a9}}}, + {X: Field{[10]uint32{0x00f513e6, 0x009fbfef, 0x00ebe756, 0x02b6710b, 0x03e1c81a, 0x03e05cca, 0x0038768e, 0x01a638fb, 0x01077c77, 0x00203bf9}}, Y: Field{[10]uint32{0x0388b709, 0x03c41280, 0x00bc3483, 0x005d6bb5, 0x02a9df2e, 0x014f4f67, 0x01e60599, 0x0247a5a5, 0x031bc543, 0x001a4319}}}, + {X: Field{[10]uint32{0x0108b641, 0x00fdc3f2, 0x02728517, 0x01fa4fe3, 0x0319b0bf, 0x01f348fb, 0x032bcac8, 0x03125e8b, 0x03d50ebc, 0x001212b1}}, Y: Field{[10]uint32{0x00ef371e, 0x013a97a4, 0x02eb61b4, 0x0254530a, 0x015bc8c9, 0x014fcc9c, 0x02b85516, 0x01c8da7c, 0x00e6f3b1, 0x0007655c}}}, + {X: Field{[10]uint32{0x03e3d124, 0x023ed7dd, 0x03f6536b, 0x0098e007, 0x02adf26c, 0x0105737e, 0x03ca53e4, 0x02f76137, 0x023fbf1f, 0x00272627}}, Y: Field{[10]uint32{0x00212a38, 0x02aac322, 0x02dd4c79, 0x010b5fc5, 0x002993c4, 0x023fb8eb, 0x00b3b802, 0x0058ee59, 0x021f5755, 0x0028d2b9}}}, + {X: Field{[10]uint32{0x01a5066b, 0x02315f5d, 0x018e0930, 0x034a5ec3, 0x0032846d, 0x0278dfe0, 0x016570f1, 0x03f9fd91, 0x030f601a, 0x00022e3e}}, Y: Field{[10]uint32{0x0048c9e7, 0x02ca783a, 0x03b3c240, 0x01c89bc0, 0x01d6166c, 0x003f59e8, 0x0232f100, 0x039b26cb, 0x02feffc4, 0x0001e162}}}, + {X: Field{[10]uint32{0x02e78177, 0x0367581f, 0x000ef451, 0x00e88470, 0x03bce095, 0x00297601, 0x01baa79e, 0x035e6a60, 0x02740ee1, 0x0038df43}}, Y: Field{[10]uint32{0x009f8f9c, 0x008fafec, 0x02e6f4bd, 0x024eaad3, 0x01a07d05, 0x03f9661d, 0x01b5625b, 0x0097d37c, 0x028502ad, 0x0034a284}}}, + {X: Field{[10]uint32{0x0325c147, 0x02a79c04, 0x00e194b2, 0x03555334, 0x03281052, 0x01d95ec7, 0x0258e754, 0x00da0eb5, 0x037e9a00, 0x00203215}}, Y: Field{[10]uint32{0x024d945c, 0x018d1bd5, 0x03fe432a, 0x0266f3ee, 0x03fe2baf, 0x01ca5cd1, 0x03ba8a0d, 0x028babb1, 0x00cd7ca3, 0x0002cff4}}}, + {X: Field{[10]uint32{0x02a8c6a1, 0x02ce0ccf, 0x0349adde, 0x0234b414, 0x0150f6ba, 0x01eb806a, 0x02f79026, 0x0087954d, 0x016d0341, 0x0039c117}}, Y: Field{[10]uint32{0x02181fba, 0x0222ae22, 0x019e4e7d, 0x00bfa5d5, 0x0060b37c, 0x00a97749, 0x01571d9c, 0x02537f85, 0x00db3269, 0x001cc1aa}}}, + {X: Field{[10]uint32{0x012e0d71, 0x025e3219, 0x029804f2, 0x03df2cd1, 0x02d87554, 0x0300e226, 0x03af0b13, 0x011fedac, 0x024b850a, 0x001574b6}}, Y: Field{[10]uint32{0x03e16e7c, 0x01879e77, 0x02780723, 0x01b57311, 0x010189a5, 0x008bbb97, 0x020b7b4f, 0x0343db34, 0x0182c861, 0x001ab03e}}}, + {X: Field{[10]uint32{0x01a38d2f, 0x00736c2c, 0x019f55bd, 0x00710100, 0x03a1e86d, 0x00540300, 0x03a5ff21, 0x00bdff20, 0x020955a2, 0x0033958b}}, Y: Field{[10]uint32{0x021bb865, 0x01b65ad4, 0x02d314bd, 0x00c9bc73, 0x02474070, 0x03717e0b, 0x030a165e, 0x0311ef1a, 0x004db4aa, 0x00247780}}}, + {X: Field{[10]uint32{0x0054773b, 0x0164b8de, 0x036fecc7, 0x02e1ae4e, 0x0100cd0e, 0x00c41fc7, 0x011bd645, 0x02bc15fe, 0x021f0596, 0x001d3803}}, Y: Field{[10]uint32{0x00e1d217, 0x03edd276, 0x01374e13, 0x005445e4, 0x016fa9f0, 0x0042851b, 0x0311867b, 0x00a94fac, 0x00a338e5, 0x000472a2}}}, + {X: Field{[10]uint32{0x0104eb48, 0x0267e788, 0x00530a2e, 0x00e6561a, 0x0368214d, 0x0324bb65, 0x003e400a, 0x03db2476, 0x036bc194, 0x002ba3c2}}, Y: Field{[10]uint32{0x03ce4cf2, 0x0173bb35, 0x02362c85, 0x01cc5191, 0x00d4aa8f, 0x02d5f2fe, 0x0127de9e, 0x02a4c0d8, 0x00420dc0, 0x003a5cff}}}, + {X: Field{[10]uint32{0x03891ae7, 0x00bf737b, 0x03674158, 0x0089bdda, 0x037854e7, 0x0197ccf4, 0x008e0c05, 0x00d9d784, 0x006c8df8, 0x00102a30}}, Y: Field{[10]uint32{0x007bf7ed, 0x00155762, 0x0224ea10, 0x00260ebd, 0x01b8ff9c, 0x003eaafb, 0x029e0b04, 0x01abf4f4, 0x0050b511, 0x0005ae9e}}}, + {X: Field{[10]uint32{0x01f83b33, 0x037c6f1b, 0x00e487f6, 0x02c13490, 0x03926795, 0x0187c7ff, 0x02b410f8, 0x03dbea8a, 0x02545c57, 0x00187aa7}}, Y: Field{[10]uint32{0x0279ed15, 0x01c56076, 0x0003c490, 0x019ce2a3, 0x02b9063e, 0x03514a7c, 0x021791f7, 0x005f0dcb, 0x012ae0b2, 0x0031a7b0}}}, + {X: Field{[10]uint32{0x01d37632, 0x0032d7b0, 0x031cc30a, 0x03b09920, 0x03d73e25, 0x00517f05, 0x01f55f72, 0x02aa93f3, 0x00d4440c, 0x00072227}}, Y: Field{[10]uint32{0x02d72fdf, 0x016f2508, 0x00166ee5, 0x02184558, 0x00574f5b, 0x036d792c, 0x014a2237, 0x0299f1cc, 0x0246131f, 0x000106d4}}}, + {X: Field{[10]uint32{0x0249525d, 0x0059a863, 0x02abb4ab, 0x001894e4, 0x01c58e0d, 0x02d42fe9, 0x02a99d3a, 0x021f9e60, 0x0090791d, 0x003fca56}}, Y: Field{[10]uint32{0x01454570, 0x02680686, 0x00a58e61, 0x027fbef9, 0x02c37087, 0x02201bef, 0x0249baf8, 0x004d9065, 0x00de1995, 0x00282599}}}, + {X: Field{[10]uint32{0x00e95f99, 0x02a1d9e1, 0x037857bc, 0x02bb66f7, 0x0174e399, 0x023e2433, 0x00939e5b, 0x007f401f, 0x02bfcfca, 0x0017acba}}, Y: Field{[10]uint32{0x032c9871, 0x03ee3efd, 0x00f63031, 0x0097f844, 0x0001f46f, 0x00589976, 0x01aff120, 0x01e0f080, 0x01701c9a, 0x001310ba}}}, + {X: Field{[10]uint32{0x02cbaf91, 0x01edad3d, 0x0361fcfc, 0x0136054f, 0x033b17bf, 0x0281c706, 0x03f8ce17, 0x0324ed6c, 0x008cdbcc, 0x0010f954}}, Y: Field{[10]uint32{0x03dfdcfc, 0x001cd0e6, 0x0063815a, 0x01cf6c90, 0x03c853bb, 0x002694c1, 0x01ec388d, 0x029c7942, 0x0378438b, 0x002d7b63}}}, + {X: Field{[10]uint32{0x01b56f53, 0x0303dd7f, 0x02c995b0, 0x021dfdb8, 0x00eb513f, 0x02bf94cf, 0x0207261c, 0x00837f21, 0x013023cb, 0x003d745a}}, Y: Field{[10]uint32{0x026ece68, 0x03837084, 0x008f492c, 0x0101bacb, 0x002557dd, 0x00f8a597, 0x03c4bf87, 0x020ccbdf, 0x01680152, 0x00394e6c}}}, + {X: Field{[10]uint32{0x00aba2a1, 0x038303de, 0x01eb6c7f, 0x01bee944, 0x0372313c, 0x0198a8ba, 0x0180a62d, 0x02a46118, 0x02d15dc5, 0x0036e759}}, Y: Field{[10]uint32{0x01517227, 0x02883ca8, 0x030b1f89, 0x02d6070f, 0x003cfb46, 0x0095e15f, 0x02762d92, 0x03716a78, 0x00a361f0, 0x00325b7a}}}, + {X: Field{[10]uint32{0x028ecdf2, 0x02992e21, 0x01ab6833, 0x00209ee6, 0x0356ffce, 0x02fd44ce, 0x0165bfe7, 0x018ef13d, 0x03d846fd, 0x0039d834}}, Y: Field{[10]uint32{0x02f102ce, 0x00397504, 0x003810e6, 0x0048a172, 0x012c1c1e, 0x01018b80, 0x021cc825, 0x00bad060, 0x028508be, 0x00183b99}}}, + {X: Field{[10]uint32{0x0033e026, 0x0075e417, 0x00d99135, 0x02c0c769, 0x00e3a956, 0x00b8dc01, 0x02533e71, 0x029eaf48, 0x02990cac, 0x000af6c8}}, Y: Field{[10]uint32{0x02e44731, 0x011c4fed, 0x03f82a78, 0x0218932e, 0x03801932, 0x009f4039, 0x003e877e, 0x0204176b, 0x00dfc273, 0x001919d7}}}, + {X: Field{[10]uint32{0x0166bee4, 0x021ee6a0, 0x03bbfc3c, 0x00838006, 0x007be48d, 0x03f5b211, 0x00137739, 0x0084d2de, 0x03fd0599, 0x00073382}}, Y: Field{[10]uint32{0x02d37057, 0x0222ef72, 0x034cc427, 0x00fb059b, 0x02b5eeb7, 0x03367a0f, 0x021253c4, 0x03f8c30e, 0x02e51ed7, 0x000b52a3}}}, + {X: Field{[10]uint32{0x03641075, 0x03e2695d, 0x035bd6eb, 0x0316ed95, 0x01ec8405, 0x031ae319, 0x01b5bd8e, 0x02b9effd, 0x03c37f5d, 0x001b5af8}}, Y: Field{[10]uint32{0x009c2c7f, 0x011b33eb, 0x01b80392, 0x0234d456, 0x0324d193, 0x0313abd2, 0x011507f7, 0x034ef180, 0x001f5c6f, 0x0013f4f3}}}, + {X: Field{[10]uint32{0x01b22351, 0x001f62ef, 0x0036cc60, 0x00bc50fa, 0x01b3c67f, 0x01d63e87, 0x03fb1ca8, 0x01e075e0, 0x0180d96e, 0x000360b0}}, Y: Field{[10]uint32{0x02d0c7d9, 0x01ee389e, 0x031e151a, 0x03d9e592, 0x0037415a, 0x01290c86, 0x033e9a97, 0x02b6a24e, 0x0269952a, 0x000e00bd}}}, + {X: Field{[10]uint32{0x01b3cd71, 0x0233860f, 0x02343b22, 0x03ba31cf, 0x00fbf9fc, 0x0151bc6e, 0x01dfed1b, 0x03f4d3e4, 0x02dd7e03, 0x0013b187}}, Y: Field{[10]uint32{0x003ba9a9, 0x021215ac, 0x01cffb19, 0x023eaa50, 0x02db7d94, 0x03a7b0f1, 0x0390340d, 0x038bb22b, 0x0309b5b2, 0x00384665}}}, + {X: Field{[10]uint32{0x017a034b, 0x01e07a78, 0x01643add, 0x023e39cd, 0x02a8df7a, 0x03ab44fb, 0x00744d7b, 0x02846e95, 0x006973ae, 0x000c6ab5}}, Y: Field{[10]uint32{0x00b37adb, 0x02d9d3e1, 0x02913f13, 0x03e39838, 0x02a94680, 0x033b5d21, 0x028bdf57, 0x03d818fd, 0x03413e49, 0x001919db}}}, + {X: Field{[10]uint32{0x01173e02, 0x00739353, 0x0131a5eb, 0x02f65f8a, 0x0201f946, 0x01627a98, 0x0115903b, 0x036e3bd9, 0x01892fcc, 0x002a6108}}, Y: Field{[10]uint32{0x01a3908b, 0x01222922, 0x02049abe, 0x01b42959, 0x0307ea26, 0x0335becd, 0x0370e133, 0x035e8e8c, 0x02ac3b2d, 0x00142f9d}}}, + {X: Field{[10]uint32{0x03bef099, 0x0383b3ad, 0x015e3f8f, 0x0022941a, 0x02fee79b, 0x01dd5033, 0x02cfa092, 0x0010cde9, 0x00f33ec0, 0x00208ad5}}, Y: Field{[10]uint32{0x036bf7f6, 0x01121448, 0x007128d0, 0x00dbf6a3, 0x007405d3, 0x022016fc, 0x003ddced, 0x03d811cd, 0x03c620d3, 0x000e4d88}}}, + {X: Field{[10]uint32{0x01065e0b, 0x037c9705, 0x02a3d33a, 0x0043a677, 0x0215793d, 0x02ff175f, 0x038de14e, 0x01c00317, 0x0355fe3d, 0x000403da}}, Y: Field{[10]uint32{0x02ecb4c2, 0x0335d293, 0x00e519b2, 0x034373b2, 0x00a352ff, 0x035b0445, 0x01282676, 0x037789f2, 0x00f758c4, 0x00346ed1}}}, + {X: Field{[10]uint32{0x02142f7f, 0x03a20db5, 0x031bb2d4, 0x01f16b6d, 0x006a5425, 0x00657425, 0x01aa6ecd, 0x03089d20, 0x03186a09, 0x00329760}}, Y: Field{[10]uint32{0x0277b42d, 0x013d3649, 0x0133de01, 0x00c7f1ce, 0x03878d8d, 0x012b815f, 0x03a0c388, 0x01e82bce, 0x007fb974, 0x00362421}}}, + {X: Field{[10]uint32{0x00bfbf14, 0x03684b89, 0x016cafa5, 0x00fc406d, 0x00e8ffe5, 0x0263fd84, 0x031a352f, 0x034838a4, 0x01f42234, 0x003a4709}}, Y: Field{[10]uint32{0x024dbb86, 0x02d288a5, 0x02b41872, 0x03d450f3, 0x037a26bc, 0x0183a669, 0x01740f6d, 0x0314af1c, 0x01e5441e, 0x002c7b05}}}, + {X: Field{[10]uint32{0x02e34445, 0x02750b06, 0x0306509e, 0x011cb33d, 0x03acb545, 0x00ba66b9, 0x029b2902, 0x000b6215, 0x00dc3109, 0x0015ea32}}, Y: Field{[10]uint32{0x00ab1fb7, 0x0185878c, 0x00accb9c, 0x00fee308, 0x0250e7cc, 0x01219abb, 0x0292db56, 0x038277d3, 0x01410442, 0x00214891}}}, + {X: Field{[10]uint32{0x0104500f, 0x00116c1c, 0x007d9581, 0x00769bfa, 0x0355a853, 0x02300adb, 0x01d0d412, 0x0345b6eb, 0x00672502, 0x0008cae3}}, Y: Field{[10]uint32{0x01f93fb9, 0x02903d61, 0x00f399a7, 0x03679863, 0x034f5255, 0x0152524b, 0x03c476f6, 0x02161c89, 0x020e9e7d, 0x000e0442}}}, + {X: Field{[10]uint32{0x03004fec, 0x0189ff9d, 0x00876187, 0x031c38f7, 0x020750d5, 0x0067df9e, 0x01d48763, 0x01a6cd3d, 0x028ad71f, 0x001f42f9}}, Y: Field{[10]uint32{0x01124633, 0x027bf351, 0x01e67ca0, 0x0060b291, 0x02a12b1d, 0x0296e5c7, 0x02f54028, 0x03cf9875, 0x00507d0a, 0x000f9ca8}}}, + {X: Field{[10]uint32{0x02f93292, 0x01e8b49e, 0x00d836ba, 0x0312691b, 0x01b70b02, 0x00310d21, 0x01fa4369, 0x0289c725, 0x030b77c2, 0x00137617}}, Y: Field{[10]uint32{0x0011d597, 0x038efd47, 0x0178e8c9, 0x01348206, 0x00f139e6, 0x036b69e8, 0x02b6ff85, 0x01366122, 0x02e5c955, 0x00210d90}}}, + {X: Field{[10]uint32{0x012e52f8, 0x01938bdc, 0x032149e2, 0x0307add9, 0x023eb2e5, 0x012ea69e, 0x03531a17, 0x008011c2, 0x03f588f0, 0x0014dea4}}, Y: Field{[10]uint32{0x000e161f, 0x00e6d84d, 0x03ebb3f8, 0x03e5e095, 0x0394efa1, 0x006256bc, 0x0225f067, 0x02499823, 0x03a0dc00, 0x002c366c}}}, + {X: Field{[10]uint32{0x02e48684, 0x00accc67, 0x00ae8b97, 0x02420962, 0x01ab3465, 0x03e0aff4, 0x00e60a46, 0x00795e63, 0x0071325b, 0x0004febd}}, Y: Field{[10]uint32{0x0234f743, 0x0086b79d, 0x00bfa49a, 0x0062116e, 0x02dce7ba, 0x026c8806, 0x02f25857, 0x02d4a788, 0x0384e84e, 0x00299c80}}}, + {X: Field{[10]uint32{0x03e8acb8, 0x03910173, 0x0206be1b, 0x02088b67, 0x03ca17c4, 0x00277b79, 0x015dbea8, 0x02cd1380, 0x00ed5861, 0x001a4789}}, Y: Field{[10]uint32{0x01c529ab, 0x026ddae4, 0x03f966f4, 0x0250f43c, 0x035ad002, 0x036718d1, 0x0120d909, 0x01ec3f31, 0x02dc0c19, 0x0038d592}}}, + {X: Field{[10]uint32{0x013d7ea2, 0x0305771f, 0x0373f423, 0x03e2411f, 0x03b754b3, 0x02ccd248, 0x02a394ff, 0x02a14056, 0x0391aaae, 0x000d950e}}, Y: Field{[10]uint32{0x03be5799, 0x0228bc6e, 0x02fd52d6, 0x03f9687e, 0x039dff44, 0x00860252, 0x008c8389, 0x02003a39, 0x0293b79b, 0x0001ced1}}}, + {X: Field{[10]uint32{0x0033f05b, 0x0082c1e1, 0x008a224f, 0x02c3f8ef, 0x000e007b, 0x00c83aa0, 0x00450455, 0x02032c78, 0x03e03941, 0x003fc96a}}, Y: Field{[10]uint32{0x030b7e51, 0x00d8c794, 0x026c2f90, 0x038022bb, 0x02938f69, 0x03676d04, 0x01bd678a, 0x0399439b, 0x010926df, 0x002944ac}}}, + {X: Field{[10]uint32{0x0187e443, 0x00e2685f, 0x0322272d, 0x0305c314, 0x00cc607b, 0x034091eb, 0x0051f57c, 0x03f6bd44, 0x007b5faa, 0x000077b0}}, Y: Field{[10]uint32{0x03a9a325, 0x014252e7, 0x038d3bb3, 0x019f4384, 0x00d870ce, 0x016636b5, 0x02207a92, 0x00af0168, 0x0137382b, 0x001f9dfa}}}, + {X: Field{[10]uint32{0x03413c32, 0x030a6527, 0x02236029, 0x0237f18d, 0x01485ab7, 0x00538246, 0x020147ed, 0x0218cba8, 0x0376f62f, 0x000bc43d}}, Y: Field{[10]uint32{0x00d2184a, 0x009a7b1a, 0x02f5ad25, 0x01a0cf9f, 0x0235c236, 0x02a9ac7d, 0x01d8c8b5, 0x0118b82e, 0x03c6e760, 0x000ecb17}}}, + {X: Field{[10]uint32{0x02bd73ca, 0x018008b6, 0x00188311, 0x010f3060, 0x02ade319, 0x02f2bed2, 0x03096814, 0x00b36eb3, 0x0394e61c, 0x001e5d3c}}, Y: Field{[10]uint32{0x01e98309, 0x020d8022, 0x0005673c, 0x03a0c439, 0x012be4cd, 0x004ee914, 0x01f854e8, 0x02a99a1f, 0x01a03bc1, 0x00386cd3}}}, + {X: Field{[10]uint32{0x0301c332, 0x01d233c5, 0x01b14436, 0x03780e94, 0x0132af1e, 0x012a8da5, 0x01774698, 0x03105959, 0x03393c5c, 0x00015317}}, Y: Field{[10]uint32{0x01043e4e, 0x0306da81, 0x020cd800, 0x02b3bde2, 0x02ddbde8, 0x03baadae, 0x030626a0, 0x0273148a, 0x03494976, 0x000f719e}}}, + {X: Field{[10]uint32{0x025f3783, 0x03068ed0, 0x0115d081, 0x00179556, 0x028092e9, 0x0061616b, 0x00a972a3, 0x031fac76, 0x0296f047, 0x000666a8}}, Y: Field{[10]uint32{0x0346c262, 0x03a3f1fa, 0x002e2b87, 0x038433b8, 0x02585154, 0x03f4e899, 0x00a7946d, 0x01ea5ad3, 0x027964d1, 0x003d608d}}}, + {X: Field{[10]uint32{0x03b7f299, 0x03c222a6, 0x03e879a7, 0x02f9e5da, 0x03cbcdf0, 0x007f1639, 0x0292a3ba, 0x01b7e9b0, 0x01d6fb61, 0x0034574e}}, Y: Field{[10]uint32{0x03d7a900, 0x016e980a, 0x01061f70, 0x00602d5f, 0x01679dd4, 0x010eff1e, 0x03d4912f, 0x03e0def6, 0x017c4e37, 0x001322ba}}}, + {X: Field{[10]uint32{0x024ef58b, 0x019a0fcd, 0x02df5a6f, 0x032a696b, 0x01bff26e, 0x0012e0af, 0x02332c6a, 0x01f7f206, 0x0134880e, 0x001db594}}, Y: Field{[10]uint32{0x001507e7, 0x01101ad0, 0x0246a646, 0x02f16fc4, 0x027b4aa5, 0x025d6e68, 0x02c90486, 0x00b60e87, 0x0308bbd2, 0x002dc6b9}}}, + {X: Field{[10]uint32{0x00ae51b7, 0x002050f7, 0x02a02a03, 0x03865301, 0x03452ef0, 0x024bfea6, 0x02e9ead7, 0x03f8d8c2, 0x02a5d4df, 0x0007ad34}}, Y: Field{[10]uint32{0x03f47b0b, 0x01736f5b, 0x0144c9a5, 0x019d626c, 0x027cc94b, 0x0232cfb6, 0x0286af45, 0x0239e668, 0x00c1e6ab, 0x0022365e}}}, + {X: Field{[10]uint32{0x01df571d, 0x004bc337, 0x0162f955, 0x0349144d, 0x01e474bd, 0x01c4188f, 0x01c34516, 0x021e40d8, 0x02513570, 0x0037b80c}}, Y: Field{[10]uint32{0x0290f565, 0x03121e85, 0x027c307f, 0x008ec819, 0x00496d96, 0x00463ffb, 0x028a28dc, 0x036024b1, 0x00fdcbf6, 0x00348b6f}}}, + {X: Field{[10]uint32{0x02d4760a, 0x008d5b95, 0x005aeef0, 0x0277cd8e, 0x01bf1dbd, 0x03c4fd42, 0x028f0d55, 0x031af7fd, 0x032dc98a, 0x000bac09}}, Y: Field{[10]uint32{0x02a04277, 0x03280ac9, 0x03746111, 0x0111c847, 0x035c69ad, 0x0015cda1, 0x02a18329, 0x013ae89e, 0x03554aaf, 0x003e0350}}}, + {X: Field{[10]uint32{0x030eabf3, 0x02c0c86a, 0x036b5c39, 0x03a809d8, 0x02b75853, 0x01de2208, 0x036ff7fc, 0x019cb63f, 0x02697509, 0x003abd8b}}, Y: Field{[10]uint32{0x020a3b7c, 0x03f7b6cb, 0x000956ef, 0x0180d41c, 0x008614e1, 0x001ccfc7, 0x0388b969, 0x0388b5c6, 0x02aa1c8f, 0x00110b95}}}, + {X: Field{[10]uint32{0x00592858, 0x03dcab81, 0x01d3b15e, 0x0216e1e6, 0x03cbc701, 0x00dbbd18, 0x01c442c2, 0x01bf65af, 0x030a13d9, 0x00081641}}, Y: Field{[10]uint32{0x00961ec8, 0x028d2f45, 0x014a280d, 0x03fa406e, 0x00f426fb, 0x01ab95b6, 0x0221d7f4, 0x026ba3d8, 0x02e83f25, 0x002f2410}}}, + {X: Field{[10]uint32{0x012f52fe, 0x009749eb, 0x0062a0f9, 0x01108231, 0x014b8b4a, 0x0113b0a0, 0x03b4ceea, 0x00f9f9bd, 0x03fd9e7f, 0x003fcbbd}}, Y: Field{[10]uint32{0x030a5e24, 0x03393cf7, 0x03e3b233, 0x011dada7, 0x030956a4, 0x019fd44d, 0x016cb52a, 0x01cad205, 0x00fbfa6f, 0x001ab39d}}}, + {X: Field{[10]uint32{0x01d14d83, 0x01fe7602, 0x03bf620f, 0x039937c5, 0x01d8fd0d, 0x00d5ffc7, 0x037a7b04, 0x014fef4c, 0x02f6fc45, 0x0038f973}}, Y: Field{[10]uint32{0x038f0460, 0x013d1348, 0x033651b8, 0x03fa2811, 0x03e667b6, 0x01a691d7, 0x011863f7, 0x02d83f43, 0x01a1baa7, 0x002b377f}}}, + {X: Field{[10]uint32{0x0357a6c3, 0x0046736f, 0x0054ec11, 0x01def78f, 0x01a0c645, 0x019ae708, 0x0142341a, 0x00a203a6, 0x026a41c0, 0x0025ea1c}}, Y: Field{[10]uint32{0x0367b4e8, 0x0330e362, 0x01164681, 0x03fcd167, 0x01fe160a, 0x01b61178, 0x00cc5c72, 0x00f41c1e, 0x00ae2702, 0x002d7cdf}}}, + {X: Field{[10]uint32{0x01cc81e6, 0x00811427, 0x001c41b0, 0x000875de, 0x0012fd90, 0x0067ab6d, 0x039484a1, 0x03e50e18, 0x02e94862, 0x002ac079}}, Y: Field{[10]uint32{0x0083b14b, 0x007b815d, 0x000436b1, 0x03d0568c, 0x0148853c, 0x00bb5e79, 0x01fab050, 0x0170e814, 0x0032101b, 0x001ab943}}}, + {X: Field{[10]uint32{0x0273668f, 0x03a857dd, 0x02b0d5a2, 0x01302a30, 0x0258ed9a, 0x023611e7, 0x026ba5ac, 0x033dac0b, 0x0010da2d, 0x00031191}}, Y: Field{[10]uint32{0x03499945, 0x02f0e182, 0x01361adb, 0x01114827, 0x03eadee9, 0x034f3916, 0x017f333c, 0x00b1f796, 0x01906239, 0x000da631}}}, + {X: Field{[10]uint32{0x03867534, 0x00263d05, 0x03d8648f, 0x00909bb6, 0x01ee49d5, 0x01b041e5, 0x013b0e67, 0x007cf880, 0x00685f72, 0x0005fab3}}, Y: Field{[10]uint32{0x009ef300, 0x018fb386, 0x0201bd6b, 0x015ba652, 0x03fec0f8, 0x00eaddbe, 0x037214bb, 0x027d26ef, 0x02e90cb1, 0x00330c45}}}, + {X: Field{[10]uint32{0x00c00d73, 0x00537ab5, 0x0208f2b1, 0x02f35f4d, 0x013ed2e8, 0x02fbf54f, 0x01b77bd5, 0x03bc5d4e, 0x01402908, 0x00301037}}, Y: Field{[10]uint32{0x01279c00, 0x020d6d05, 0x013d7427, 0x032db383, 0x02b2053e, 0x01444f73, 0x01403d84, 0x00960134, 0x00ae55ec, 0x001e98e1}}}, + {X: Field{[10]uint32{0x02bddb42, 0x000f8e4b, 0x01b9341b, 0x028aea4b, 0x0041bf2b, 0x019668a4, 0x0025fed6, 0x03dc30bb, 0x00983658, 0x0029658d}}, Y: Field{[10]uint32{0x039f4872, 0x002b7935, 0x01600a95, 0x034a08d6, 0x011ce7c2, 0x01a55e17, 0x00e8bf41, 0x03129c2a, 0x00af260e, 0x00370453}}}, + {X: Field{[10]uint32{0x0329aa0d, 0x01f3a846, 0x02279989, 0x01c8ce77, 0x03663823, 0x00ce0db1, 0x0233d095, 0x03d8ff1f, 0x02d451dc, 0x00113f88}}, Y: Field{[10]uint32{0x004279b3, 0x015df313, 0x01a9e53b, 0x003eba01, 0x014f3bf8, 0x00925bde, 0x01e9ffae, 0x0350d24a, 0x00e73d4b, 0x0005c631}}}, + {X: Field{[10]uint32{0x0071647b, 0x019a844b, 0x0091cff4, 0x03cfb57b, 0x004fc6b5, 0x00912ff6, 0x03b246de, 0x03057be8, 0x00aa1358, 0x0022f5c6}}, Y: Field{[10]uint32{0x03d737fa, 0x01b7fa12, 0x02fa5f40, 0x032110ec, 0x0365a0a3, 0x010009e4, 0x03deb8de, 0x0047c06d, 0x0288ba6c, 0x0005cbc6}}}, + {X: Field{[10]uint32{0x038680d1, 0x03e3385c, 0x03cfcd9f, 0x0355773c, 0x01d7ad4c, 0x03fce9e9, 0x01aa53c3, 0x02a88e02, 0x0025bbe6, 0x0023af73}}, Y: Field{[10]uint32{0x01e5641a, 0x02621d51, 0x01872cd7, 0x0199e2b1, 0x005be647, 0x0221b60f, 0x003728cf, 0x02b7e803, 0x0326af86, 0x0017158e}}}, + {X: Field{[10]uint32{0x011713d2, 0x0319f83a, 0x02f4e9db, 0x034bfadc, 0x02b469e5, 0x03a25b3e, 0x0342fb8b, 0x02aaf265, 0x021f688f, 0x00173d53}}, Y: Field{[10]uint32{0x00fd09c5, 0x011e1af9, 0x00b18569, 0x02a218c9, 0x034920e8, 0x0240556c, 0x006393e1, 0x00c360be, 0x0190d063, 0x00360b59}}}, + {X: Field{[10]uint32{0x01845f1a, 0x03061ea1, 0x02f8cdb4, 0x03053228, 0x01387185, 0x00115c7b, 0x0016ff4e, 0x02869cbb, 0x02e43f01, 0x001b0365}}, Y: Field{[10]uint32{0x00798c08, 0x02a5a9ac, 0x01dd6e55, 0x00e8c45f, 0x00abcf01, 0x026edbdc, 0x0015c1bb, 0x030bb3cd, 0x014b763e, 0x003ce668}}}, + {X: Field{[10]uint32{0x02b74046, 0x00cb70e4, 0x02ad690d, 0x002fa9c5, 0x039a15ef, 0x01c9a84c, 0x01f15155, 0x00bf7341, 0x00fefb6a, 0x003aba4a}}, Y: Field{[10]uint32{0x014c76bc, 0x03315dc0, 0x01b0984e, 0x0099835b, 0x02f6fd46, 0x035bb503, 0x03da7978, 0x00ce772f, 0x02d9f086, 0x002f7e1e}}}, + {X: Field{[10]uint32{0x007b3a21, 0x00802391, 0x008f0d57, 0x02cc6a9a, 0x02b61d5c, 0x00382376, 0x030dbbd0, 0x00bf7b67, 0x030cbbe7, 0x00397978}}, Y: Field{[10]uint32{0x01b248ae, 0x000196a1, 0x0035c561, 0x020a8415, 0x005de656, 0x0145c73a, 0x006ec03d, 0x01b99d1f, 0x01b8f80b, 0x0027ed2b}}}, + {X: Field{[10]uint32{0x038223ee, 0x036f3284, 0x00b79007, 0x00329e68, 0x0078df6b, 0x01acc02f, 0x02ce1762, 0x01aedf16, 0x02acc9e2, 0x001c4484}}, Y: Field{[10]uint32{0x03027757, 0x02a9cabb, 0x01cbbdc3, 0x00e46384, 0x036b8732, 0x0131cff8, 0x02b343bc, 0x01377679, 0x00584ef4, 0x000371a2}}}, + {X: Field{[10]uint32{0x01c5e22c, 0x00d03c08, 0x03d506b6, 0x02ca9319, 0x00c4cf11, 0x02d795e1, 0x03b9ea3f, 0x0293db76, 0x03b3531a, 0x000ed4ba}}, Y: Field{[10]uint32{0x0190938a, 0x02665aec, 0x039de55a, 0x0298f17e, 0x00b698c8, 0x01a06190, 0x02cf02e4, 0x011a84fe, 0x02bddc00, 0x000f68fb}}}, + {X: Field{[10]uint32{0x0356b78b, 0x01daf733, 0x02df91eb, 0x005fa5b2, 0x0245294a, 0x03871e95, 0x02e7292f, 0x011789f7, 0x00811103, 0x000c3ca1}}, Y: Field{[10]uint32{0x03abb049, 0x035c0add, 0x02b088e6, 0x01902877, 0x003c1491, 0x01445beb, 0x007864d2, 0x038d2fc1, 0x00fc26ec, 0x001c3184}}}, + {X: Field{[10]uint32{0x0130ff58, 0x0055937a, 0x01ab5edf, 0x009da675, 0x015cfef5, 0x0329287c, 0x00d37b61, 0x0156d939, 0x00a8012c, 0x00012a11}}, Y: Field{[10]uint32{0x003dfa3c, 0x0227565a, 0x00cd3f31, 0x03018c9d, 0x025826f9, 0x0342a7fd, 0x03e6bd38, 0x039b936e, 0x0148508d, 0x001261d1}}}, + {X: Field{[10]uint32{0x0068b06f, 0x0279b19e, 0x01026451, 0x0177b714, 0x0005ce2b, 0x02667853, 0x02e0fd9a, 0x01212990, 0x021ea7c8, 0x00297295}}, Y: Field{[10]uint32{0x01afa7ed, 0x0310e8e1, 0x025a47a7, 0x01a89077, 0x037abe38, 0x03fe9fda, 0x009b00ea, 0x03bbaab0, 0x0142a5e2, 0x0033245e}}}, + {X: Field{[10]uint32{0x03d6e72c, 0x03e3b937, 0x017ef3c1, 0x031915b9, 0x021fa547, 0x0043d852, 0x0051a68e, 0x03115b0e, 0x02d31e16, 0x003d86df}}, Y: Field{[10]uint32{0x03622f2b, 0x028ca017, 0x01a54734, 0x00453426, 0x02a0c5a8, 0x0345efe9, 0x035fbdb4, 0x00619647, 0x00b7fc40, 0x0032c9b4}}}, + {X: Field{[10]uint32{0x01f678b2, 0x01586145, 0x007fcaee, 0x019a8888, 0x02559768, 0x01d9bef9, 0x02859f9e, 0x000312d4, 0x00628897, 0x003e3935}}, Y: Field{[10]uint32{0x02c77554, 0x006a93ae, 0x011ae6f0, 0x02542775, 0x0106791e, 0x03eeddac, 0x009c271b, 0x01bec2a8, 0x039fc1b1, 0x000c2ec0}}}, + {X: Field{[10]uint32{0x032ab653, 0x00a4274c, 0x0291ca39, 0x001a9c5e, 0x03d5d97a, 0x0060528b, 0x02f6f717, 0x0164542c, 0x001a05d2, 0x002272bf}}, Y: Field{[10]uint32{0x017ab76e, 0x00bc5109, 0x03ce16fe, 0x036983a1, 0x015eac02, 0x0053cd38, 0x01c00557, 0x0121634a, 0x00ab0b4e, 0x00068928}}}, + {X: Field{[10]uint32{0x037c4f20, 0x02365f51, 0x020bb4a4, 0x0155aba9, 0x0033c5b5, 0x028ab544, 0x0201dca7, 0x01773f2a, 0x030bd04f, 0x0034a14d}}, Y: Field{[10]uint32{0x0293b9d4, 0x01348091, 0x01b416c4, 0x02cb1a60, 0x01c61386, 0x031c1451, 0x022adf8e, 0x0217404e, 0x03b732e8, 0x00352d09}}}, + {X: Field{[10]uint32{0x01f217c0, 0x01bd9a93, 0x00974902, 0x019b87f5, 0x01fd3350, 0x01eae89a, 0x01dc90d1, 0x02fecc86, 0x02f2d9bd, 0x0000f14c}}, Y: Field{[10]uint32{0x02ac5d59, 0x00f8c199, 0x0057675b, 0x03e7e320, 0x032791a6, 0x02104e5d, 0x033c7b42, 0x01ff40b0, 0x027ca6c9, 0x0021bf57}}}, + {X: Field{[10]uint32{0x008ac1ee, 0x000c5333, 0x02924b73, 0x00f8df89, 0x02298445, 0x00c0dc89, 0x0317a165, 0x01c1a886, 0x010bfc35, 0x00093465}}, Y: Field{[10]uint32{0x01f918ac, 0x0307aa72, 0x01ed84b9, 0x03822d5f, 0x01b05bb9, 0x026ba69d, 0x0247c685, 0x006a42ec, 0x005d06a3, 0x001348a9}}}, + {X: Field{[10]uint32{0x027615a9, 0x020acd93, 0x03d44595, 0x01042ad9, 0x02d85053, 0x0280dbf0, 0x01f8acee, 0x02c6ac52, 0x00f36227, 0x00331aac}}, Y: Field{[10]uint32{0x03761cb8, 0x01a028e0, 0x037d7107, 0x02bd5283, 0x01bac918, 0x003e9bc8, 0x00806b12, 0x0049619f, 0x03cc040b, 0x003e6b64}}}, + {X: Field{[10]uint32{0x025318cf, 0x03fdc6c0, 0x01cdef08, 0x00366c50, 0x016320f2, 0x01cc2e67, 0x0016bcff, 0x0252db2a, 0x0154f36e, 0x0037892a}}, Y: Field{[10]uint32{0x03899933, 0x00129076, 0x014d9679, 0x017a920e, 0x038475c3, 0x012bf58b, 0x002d2354, 0x012926e6, 0x01d91ac2, 0x000f8d2c}}}, + {X: Field{[10]uint32{0x021ffec7, 0x03fc9496, 0x03618f83, 0x036d23ea, 0x015f8243, 0x0254f3ef, 0x003a12c7, 0x02aea436, 0x00c34900, 0x001deac1}}, Y: Field{[10]uint32{0x00ac2f00, 0x01cfbfaf, 0x032bdae8, 0x00680c28, 0x01231c87, 0x016a36cc, 0x02265af7, 0x01dffd25, 0x00273bcd, 0x0018996b}}}, + {X: Field{[10]uint32{0x02e78209, 0x012b5445, 0x0341ece8, 0x03b876ad, 0x0251ff8d, 0x00656028, 0x0079885d, 0x02679780, 0x03065f46, 0x00291ebd}}, Y: Field{[10]uint32{0x02257440, 0x03cd2e5e, 0x03abfbb8, 0x0220f6bf, 0x035b7860, 0x01196ae5, 0x023f7cb3, 0x03de2e95, 0x03fdf1b1, 0x000e4f2e}}}, + {X: Field{[10]uint32{0x00d7016d, 0x0117a7a7, 0x037ea8a5, 0x038754a8, 0x0293d709, 0x000c8809, 0x01170fbd, 0x031edd37, 0x01fd0c55, 0x002a7d7e}}, Y: Field{[10]uint32{0x01d5e0e1, 0x012c417c, 0x0162b873, 0x009fdad8, 0x0254f0d3, 0x027a02ac, 0x01847b2e, 0x03c8ba3f, 0x01254bad, 0x00261c5e}}}, + {X: Field{[10]uint32{0x0218ec38, 0x01f358d3, 0x03b716cc, 0x01902a51, 0x01ba8668, 0x0161b9f8, 0x02200c4e, 0x00e28a3e, 0x02bc96b9, 0x00355fa7}}, Y: Field{[10]uint32{0x01b6bd36, 0x029aab34, 0x016a3062, 0x03abca16, 0x0325de16, 0x0104b7e1, 0x00c8b7cb, 0x0244416d, 0x02ef6823, 0x0026a834}}}, + {X: Field{[10]uint32{0x03aa58e9, 0x001a0a43, 0x006119f5, 0x0072ae08, 0x02e27ccc, 0x02a175ce, 0x018e66ca, 0x03053558, 0x00d8fb4d, 0x001d18ea}}, Y: Field{[10]uint32{0x00d4829f, 0x026ab41a, 0x0389f056, 0x03102d30, 0x02ae7990, 0x010e36e1, 0x00645a28, 0x03d412a8, 0x02b2275a, 0x0020bf5a}}}, + {X: Field{[10]uint32{0x013bf412, 0x01b9f3f5, 0x032fca3c, 0x01914d36, 0x013927ae, 0x03accc6c, 0x002d03e4, 0x0120c668, 0x008a29c4, 0x000b9e9c}}, Y: Field{[10]uint32{0x031e11d1, 0x038ecf52, 0x00160fd2, 0x0093b006, 0x03ebdf68, 0x00e6ceca, 0x02e0073f, 0x003372ba, 0x01997350, 0x00213cfc}}}, + {X: Field{[10]uint32{0x01dd5e03, 0x034c3136, 0x00dda414, 0x012edfea, 0x02180d09, 0x022e8c13, 0x032f3c2e, 0x030163eb, 0x00bf540b, 0x0021c1ec}}, Y: Field{[10]uint32{0x0100b915, 0x0127083c, 0x0025dfbb, 0x03a6599f, 0x0318db5e, 0x02816535, 0x006bd25a, 0x0040cd43, 0x0175fb79, 0x001c2d84}}}, + {X: Field{[10]uint32{0x03ca842d, 0x02a8b594, 0x008b9613, 0x03386db0, 0x0122f67d, 0x023999d2, 0x02070a72, 0x03340a21, 0x030c3ce6, 0x000ff6cd}}, Y: Field{[10]uint32{0x00e0dafc, 0x0121ac32, 0x0006317a, 0x03e65004, 0x035d3a5e, 0x002c7bfb, 0x004c5ec1, 0x000d1297, 0x00f2474a, 0x00058d46}}}, + {X: Field{[10]uint32{0x00472f62, 0x020f6252, 0x031af2a2, 0x0180252c, 0x03330779, 0x01bd6352, 0x01411e70, 0x03552680, 0x0302412c, 0x0030df68}}, Y: Field{[10]uint32{0x0221f92a, 0x031bf84e, 0x01d26801, 0x0002e2b4, 0x01ca8490, 0x0282a0af, 0x002d1daa, 0x010bd21c, 0x028716c6, 0x002a823c}}}, + {X: Field{[10]uint32{0x01e08a1c, 0x009bf1e9, 0x007cf257, 0x03b0ac2d, 0x0160ade9, 0x0171e8ce, 0x01f923b0, 0x02c3e494, 0x0150381a, 0x000fae81}}, Y: Field{[10]uint32{0x030fa7d9, 0x010697f3, 0x02396557, 0x03668316, 0x00492a1a, 0x02bf1380, 0x02396525, 0x0374ea21, 0x00ebb681, 0x000509ec}}}, + {X: Field{[10]uint32{0x0350cee8, 0x02be39ae, 0x02e0194e, 0x029e14d5, 0x02e43f20, 0x01d53e83, 0x024628f7, 0x035752fd, 0x02a18ce5, 0x00259c8f}}, Y: Field{[10]uint32{0x01f49bdd, 0x0019a960, 0x00e8a713, 0x016eca32, 0x016cf51b, 0x035122bb, 0x02eef512, 0x02fc43a1, 0x03bbb9bb, 0x0016b427}}}, + {X: Field{[10]uint32{0x03663748, 0x02358128, 0x00f1329f, 0x02499e44, 0x00ab8228, 0x01575716, 0x009d3460, 0x02db34e8, 0x02117ecf, 0x0035d914}}, Y: Field{[10]uint32{0x028540f7, 0x02e00c70, 0x01a46eeb, 0x00430897, 0x03bf2c9b, 0x02eaaa73, 0x0089dbe2, 0x037820b2, 0x0104d20f, 0x002adf30}}}, + {X: Field{[10]uint32{0x00ada5e6, 0x02a241b4, 0x03e434dc, 0x0196d2b1, 0x008c8660, 0x0352f251, 0x01907afa, 0x02c4d883, 0x03dc7e0a, 0x0007dac8}}, Y: Field{[10]uint32{0x023e247c, 0x03b0959d, 0x02602398, 0x0103923d, 0x01560414, 0x036aa7ac, 0x00920405, 0x00e76ab4, 0x025d6bc6, 0x00230dec}}}, + {X: Field{[10]uint32{0x01459945, 0x0203541d, 0x01f9d9bd, 0x004a2bf4, 0x036abb5a, 0x0303a3b5, 0x0079e64b, 0x0285a1e5, 0x00bbaa06, 0x0011bfc1}}, Y: Field{[10]uint32{0x011bcd4a, 0x03e7693d, 0x0176491e, 0x00a5075c, 0x03e7e9d2, 0x011e986a, 0x0133bb9e, 0x02e838e4, 0x02c26af2, 0x002c4413}}}, + {X: Field{[10]uint32{0x02597ce2, 0x012a20ca, 0x02f86f3f, 0x02cf6092, 0x013bcdff, 0x022ec114, 0x0076e545, 0x0201a4ec, 0x00253888, 0x003286cf}}, Y: Field{[10]uint32{0x01e0285a, 0x006ff8a8, 0x03622005, 0x03d5e611, 0x01dfc9d6, 0x0367a07b, 0x0109d11b, 0x01b711d8, 0x02fbdd1b, 0x003c0a45}}}, + {X: Field{[10]uint32{0x01ece6b4, 0x011e8426, 0x01763ee7, 0x01dcae00, 0x005fad12, 0x0336f7ec, 0x03ec7fed, 0x027b123b, 0x029aadb6, 0x00032587}}, Y: Field{[10]uint32{0x018fb6e4, 0x00bc9a67, 0x022a984e, 0x00f0d7c2, 0x0056bb9b, 0x005b12dc, 0x00bb70ad, 0x014f949c, 0x0033e0b2, 0x0011a69b}}}, + {X: Field{[10]uint32{0x039d99dc, 0x03ca2fe4, 0x03393ea4, 0x03d6e6d9, 0x037b3132, 0x035139dd, 0x03817089, 0x0332534f, 0x02791418, 0x000e8ba8}}, Y: Field{[10]uint32{0x03f164be, 0x025b195a, 0x01f8831a, 0x02381949, 0x02b981bf, 0x02344f8b, 0x0217dc71, 0x036486f8, 0x0143c035, 0x00056014}}}, + {X: Field{[10]uint32{0x025a7a4a, 0x03b7a9ad, 0x01189e7d, 0x02333cd3, 0x034e24d4, 0x00bec700, 0x03fd6ad5, 0x03c2f868, 0x00dfb3a1, 0x000105b7}}, Y: Field{[10]uint32{0x00c204c3, 0x037444d8, 0x0235beba, 0x0028f1b2, 0x0147e90a, 0x004cb6cc, 0x01777812, 0x00cd66b0, 0x02c2bbc9, 0x001da427}}}, + {X: Field{[10]uint32{0x03c63eb3, 0x021516e4, 0x022b1731, 0x0312174a, 0x032ed9d1, 0x0352cfb4, 0x03a51772, 0x0305d422, 0x02459aef, 0x002ce5f0}}, Y: Field{[10]uint32{0x01e71748, 0x00732dbd, 0x03a7e447, 0x01d38c45, 0x02228135, 0x024810fb, 0x0018ffc6, 0x00d9daad, 0x03603076, 0x002841a8}}}, + {X: Field{[10]uint32{0x000637df, 0x03ce4275, 0x0306532e, 0x03034a68, 0x02c1bdb8, 0x03a026ca, 0x01dbb755, 0x005918ca, 0x009befd6, 0x001d7156}}, Y: Field{[10]uint32{0x03e6f631, 0x009eb7e8, 0x0347dcba, 0x025687f8, 0x0395e602, 0x007f39ae, 0x02a19dd8, 0x00417243, 0x01e51492, 0x0009bcf8}}}, + {X: Field{[10]uint32{0x029135a5, 0x039bc225, 0x018b6620, 0x02004679, 0x02e4b0dc, 0x00e6a411, 0x015158c4, 0x01d0c85f, 0x0112a351, 0x000bbbb3}}, Y: Field{[10]uint32{0x01aaba4c, 0x03d2474b, 0x03707806, 0x019c5051, 0x01136064, 0x031315e4, 0x013d7539, 0x023b4c6d, 0x03d048c5, 0x003877ba}}}, + {X: Field{[10]uint32{0x00be65d1, 0x000164e7, 0x00124aa1, 0x002b1d6b, 0x038cab86, 0x02b77699, 0x031d52e5, 0x0359419a, 0x00915d39, 0x002a607c}}, Y: Field{[10]uint32{0x013ed069, 0x0180101f, 0x00e7b66c, 0x01253ccd, 0x0188d4f1, 0x025b9442, 0x018b23c0, 0x000a4cb6, 0x03cb7ab6, 0x00132c27}}}, + {X: Field{[10]uint32{0x03d4ef62, 0x01302826, 0x0331a9aa, 0x01a4999a, 0x02545cd8, 0x01d679e7, 0x01260c9a, 0x00740828, 0x02e3a7e8, 0x0006867e}}, Y: Field{[10]uint32{0x00937902, 0x016dcaac, 0x0070789c, 0x03c1a2b8, 0x0379714d, 0x021df71e, 0x01bf7bfd, 0x0171a78a, 0x02578af2, 0x000a01f5}}}, + {X: Field{[10]uint32{0x0020c61a, 0x00a04f49, 0x00567195, 0x0052674c, 0x029b0f43, 0x0198b9dd, 0x036f1392, 0x03465835, 0x016c1ee7, 0x0033fe1a}}, Y: Field{[10]uint32{0x02d16df8, 0x0314b179, 0x030c147f, 0x008ad8ad, 0x023581f1, 0x00daee05, 0x0004b1a1, 0x025a4097, 0x00138a39, 0x002125f8}}}, + {X: Field{[10]uint32{0x0227ce8c, 0x02417887, 0x01cd66cc, 0x016a7969, 0x00966911, 0x03523ac1, 0x02a95824, 0x00d1e72a, 0x00204a8b, 0x001a05e9}}, Y: Field{[10]uint32{0x033052ad, 0x01ca4dde, 0x026fd95e, 0x0309d8c8, 0x028182a0, 0x01720e17, 0x03254653, 0x01e97261, 0x028bc337, 0x00256151}}}, + {X: Field{[10]uint32{0x01d9d58e, 0x00cf5b23, 0x03233bcd, 0x00656494, 0x037d114b, 0x01e51e3c, 0x013eb995, 0x03309abc, 0x00846e0e, 0x00273bff}}, Y: Field{[10]uint32{0x025d2582, 0x0342aa3e, 0x00426856, 0x00d0fa99, 0x00510602, 0x03bc71fb, 0x03c4d4af, 0x03e86c19, 0x021a5cf8, 0x003806b2}}}, + {X: Field{[10]uint32{0x03456c49, 0x03c3b734, 0x00543835, 0x00c63104, 0x03995a37, 0x00c0797e, 0x03965892, 0x03dff765, 0x01c6f203, 0x001a9b87}}, Y: Field{[10]uint32{0x0384496b, 0x02eb284d, 0x03482f93, 0x02fdbbf4, 0x0183b579, 0x02a5d51b, 0x01f9ad86, 0x00fa7ac1, 0x039898b9, 0x000a81ca}}}, + {X: Field{[10]uint32{0x02a9129b, 0x00c75f34, 0x036d24dd, 0x008626b0, 0x008ba3a5, 0x02e461ba, 0x018b4f0f, 0x01d86d45, 0x021a588d, 0x001f9eeb}}, Y: Field{[10]uint32{0x033dbdd6, 0x0215beaa, 0x0129dcc4, 0x02f03503, 0x0017e6bb, 0x0343e1ce, 0x01e60e57, 0x01731ca2, 0x023b3799, 0x0014663d}}}, + {X: Field{[10]uint32{0x006bd253, 0x0316cd40, 0x039f805d, 0x018fb84b, 0x03ffa158, 0x02a17954, 0x014966ff, 0x02acafb5, 0x03a863de, 0x00004ff0}}, Y: Field{[10]uint32{0x03821459, 0x016d5ddc, 0x01d58b3b, 0x0209c0b9, 0x03a8b77c, 0x039daa55, 0x00a59e76, 0x01415bff, 0x02459127, 0x0038c70c}}}, + {X: Field{[10]uint32{0x02e9c167, 0x02f1b445, 0x00ccbbec, 0x00983452, 0x03e56503, 0x03a27a92, 0x036dbeda, 0x03645fda, 0x01eb3f39, 0x003ff8a3}}, Y: Field{[10]uint32{0x01bb988a, 0x02abb5a7, 0x01b2c262, 0x03844a31, 0x01383c4b, 0x0380acff, 0x03857604, 0x01113794, 0x02b3b878, 0x00236294}}}, + {X: Field{[10]uint32{0x01cc57be, 0x020ec3c1, 0x003cd444, 0x0150772f, 0x00481c43, 0x003e83b3, 0x0379a883, 0x01b79f40, 0x00239bf2, 0x0000a3b5}}, Y: Field{[10]uint32{0x00ce126e, 0x001016c4, 0x00ac37bc, 0x01c866f4, 0x012d5608, 0x012e3616, 0x020d860b, 0x02399d14, 0x02e2ea01, 0x00064848}}}, + {X: Field{[10]uint32{0x03f8a708, 0x01cb22c2, 0x02d7276c, 0x00e0be01, 0x025aa4ca, 0x03b9da76, 0x02acc00e, 0x03121014, 0x027c7be8, 0x001efce0}}, Y: Field{[10]uint32{0x0159eebe, 0x0090fa29, 0x011726bb, 0x001c6b4a, 0x0224a75d, 0x035c75c1, 0x00601fa1, 0x014a6d17, 0x02eee505, 0x002497cf}}}, + {X: Field{[10]uint32{0x03ce7000, 0x0384e01b, 0x017a4a7b, 0x02accc28, 0x012acb5a, 0x007dedaf, 0x02de8627, 0x00070fe3, 0x0299021a, 0x0033c69f}}, Y: Field{[10]uint32{0x01d3d673, 0x02855756, 0x0078a7c3, 0x028fce2a, 0x035f1e70, 0x00ce8d18, 0x023e7400, 0x0298445a, 0x02837b3b, 0x00084d96}}}, + {X: Field{[10]uint32{0x01bb29c7, 0x02f2ba44, 0x02944afc, 0x019d4989, 0x02af3bdd, 0x02f42a61, 0x036c8121, 0x01f31038, 0x0237d151, 0x0039de7a}}, Y: Field{[10]uint32{0x038a8a2f, 0x03200575, 0x03f81e8a, 0x01b51706, 0x026472bb, 0x00a71bd0, 0x00e2c6c0, 0x01dd6a81, 0x01ac4b19, 0x000cb18d}}}, + {X: Field{[10]uint32{0x026c2a92, 0x02dfda3c, 0x002a1638, 0x00a23806, 0x02f96977, 0x030e0754, 0x019785d6, 0x01084056, 0x012b76b5, 0x00040c27}}, Y: Field{[10]uint32{0x018265a9, 0x02340819, 0x02a1a043, 0x02b3066d, 0x02f3abce, 0x03e4c4c5, 0x03b9b377, 0x0261c03b, 0x03834c85, 0x000087b7}}}, + {X: Field{[10]uint32{0x033a27f9, 0x039c8694, 0x00701813, 0x00469c50, 0x02f2b6b3, 0x0244c80d, 0x032240de, 0x011b50ba, 0x0309701e, 0x001e649e}}, Y: Field{[10]uint32{0x0358920f, 0x03613b4e, 0x039053b3, 0x03bae34a, 0x008a0f47, 0x0184d841, 0x00756403, 0x021b0693, 0x0113a818, 0x003edf19}}}, + {X: Field{[10]uint32{0x0128849e, 0x03631cc5, 0x0137e0fd, 0x038128f7, 0x03085b1d, 0x0338938f, 0x0193e683, 0x00d0a67d, 0x023377da, 0x001d0ed3}}, Y: Field{[10]uint32{0x002f3216, 0x0135ad9d, 0x014f1816, 0x039a1278, 0x01fbba7d, 0x02b9cca0, 0x03f178ca, 0x018fb1ec, 0x0069b5ee, 0x000de400}}}, + {X: Field{[10]uint32{0x004f04da, 0x01a18143, 0x02cbf498, 0x03ec29ce, 0x02e46064, 0x02547f9a, 0x02cd9b49, 0x02edfc6a, 0x02e10ce1, 0x0035cf34}}, Y: Field{[10]uint32{0x0253dde8, 0x01fd2b6c, 0x0209614b, 0x0138bc8a, 0x00cae7f8, 0x028cffc7, 0x0087fcd6, 0x039c7fd6, 0x02e44cc6, 0x0039a9d8}}}, + {X: Field{[10]uint32{0x01f6fa68, 0x00b5a5e5, 0x033e8ed3, 0x02051f01, 0x01ba6324, 0x01ecfafc, 0x03318a17, 0x0091acff, 0x00d3f563, 0x000f8700}}, Y: Field{[10]uint32{0x010776d3, 0x01cbc34b, 0x00ef6b4a, 0x000308ff, 0x0118ce2e, 0x02038e07, 0x036aecb0, 0x0304a440, 0x00cf87d5, 0x0037cad8}}}, + {X: Field{[10]uint32{0x0168053c, 0x03f71b36, 0x03221a32, 0x039318a6, 0x00ed90c2, 0x01d49b6d, 0x00f10e68, 0x00594f97, 0x039092da, 0x0025b81f}}, Y: Field{[10]uint32{0x01c2bd66, 0x0081e1d3, 0x036164ab, 0x03f8b978, 0x021f8517, 0x03eb4ee6, 0x0220ea5b, 0x03a9ae7b, 0x003bb8a2, 0x00359707}}}, + {X: Field{[10]uint32{0x03e1debb, 0x005deaab, 0x02854d8e, 0x0148ce18, 0x02d27a76, 0x00b81e5a, 0x01cc124b, 0x03b8094c, 0x004026b1, 0x001b48c1}}, Y: Field{[10]uint32{0x0179bbd3, 0x00ef027b, 0x012c2598, 0x00a2a33f, 0x00e3dc62, 0x0393b002, 0x03bde471, 0x011a2543, 0x0195faa1, 0x003cea3e}}}, + {X: Field{[10]uint32{0x01707781, 0x03f3bc79, 0x02d9dc76, 0x004692c1, 0x00ad7d45, 0x039c584e, 0x00e43c49, 0x027700c5, 0x035c1f94, 0x002376a7}}, Y: Field{[10]uint32{0x0001310d, 0x0229609a, 0x03a775c7, 0x03bc2b96, 0x01ad9d9b, 0x02dcdd0d, 0x03674f5d, 0x02c2944a, 0x03aa7585, 0x0034158f}}}, + {X: Field{[10]uint32{0x03de97cd, 0x028d5eee, 0x036c4e5a, 0x03ead309, 0x03b4bf17, 0x03ff6905, 0x02da369f, 0x01cd8fd7, 0x013f9866, 0x00141c18}}, Y: Field{[10]uint32{0x0034ebc2, 0x033c26f7, 0x008178a0, 0x01f921a9, 0x02eb40e4, 0x02c5b6e1, 0x005751f9, 0x01fa8d06, 0x02ff4fe7, 0x00002c83}}}, + {X: Field{[10]uint32{0x0316bce7, 0x024bac2b, 0x03a8efc7, 0x01d1aa6c, 0x0004986d, 0x0306a862, 0x038838ea, 0x00515ae6, 0x00f0bfab, 0x000e929c}}, Y: Field{[10]uint32{0x01c4f3e5, 0x03d68f2b, 0x01e248bd, 0x022608e0, 0x03843b3e, 0x0013a108, 0x0032980c, 0x023b6a86, 0x02931916, 0x00391492}}}, + {X: Field{[10]uint32{0x02b33532, 0x02448c2a, 0x01a38b52, 0x0264ef37, 0x02db5fba, 0x018c1dcf, 0x01a82f54, 0x0166a76a, 0x00921831, 0x000b373e}}, Y: Field{[10]uint32{0x017677b9, 0x00d61c1d, 0x02044e0a, 0x0248c8a4, 0x010fd956, 0x00aaf3a3, 0x02299e74, 0x00fcca17, 0x02eac911, 0x003223a9}}}, + {X: Field{[10]uint32{0x00955c99, 0x028b778a, 0x0203d781, 0x00082630, 0x022b7fed, 0x00cc667a, 0x02e0cd6f, 0x017d8404, 0x028df8f1, 0x0006a164}}, Y: Field{[10]uint32{0x00db4299, 0x00b38e5d, 0x02945568, 0x009147af, 0x010534a1, 0x001c970a, 0x013a6b03, 0x01da8ff8, 0x02b2821c, 0x0006ce61}}}, + {X: Field{[10]uint32{0x01a1d388, 0x01ae13c7, 0x02c1a6b6, 0x0198f988, 0x00dde019, 0x006e7c04, 0x01206634, 0x00c19685, 0x01a1d6b0, 0x0021b453}}, Y: Field{[10]uint32{0x0399b2de, 0x00e030a0, 0x01055fd1, 0x00f87db9, 0x01cfe568, 0x00e010b3, 0x004a6f9f, 0x017327a2, 0x00ec764f, 0x0019e545}}}, + {X: Field{[10]uint32{0x02201cc2, 0x0340d5c5, 0x01441565, 0x0265f091, 0x03300459, 0x02941e38, 0x03343415, 0x0321e50c, 0x014f0bdf, 0x003907dd}}, Y: Field{[10]uint32{0x010e8e8e, 0x02c3f75e, 0x02e47dcb, 0x0382ecf3, 0x000743f5, 0x024bba6d, 0x02f119f4, 0x00647b7f, 0x0241c21d, 0x00374165}}}, + {X: Field{[10]uint32{0x0075cae4, 0x0265b4d1, 0x022fc756, 0x01ea0ce3, 0x032946e1, 0x03911190, 0x0268d8f4, 0x02fb11e5, 0x026845b5, 0x002dfb24}}, Y: Field{[10]uint32{0x03dda53b, 0x018b9c53, 0x002cb7cc, 0x01425e3b, 0x00d945e3, 0x01e51dad, 0x02210f57, 0x027a4043, 0x018bb753, 0x0002ad28}}}, + {X: Field{[10]uint32{0x03518912, 0x01da752d, 0x009d456b, 0x02f020c9, 0x03bf3ecf, 0x02896142, 0x022554a0, 0x03786459, 0x01dcf1ea, 0x000903f6}}, Y: Field{[10]uint32{0x0104515b, 0x001ac234, 0x0220776a, 0x025cc4d4, 0x005318a8, 0x02a9aa01, 0x03a3a62e, 0x00e42214, 0x025ee0ba, 0x002bc0fe}}}, + {X: Field{[10]uint32{0x035bb769, 0x015c8de1, 0x00129a5c, 0x037e3c73, 0x022b88aa, 0x02330fea, 0x01e39d28, 0x00c4525e, 0x00ecee7d, 0x0000d4f1}}, Y: Field{[10]uint32{0x012d147e, 0x03693f34, 0x03cf02a0, 0x02e16b8c, 0x0228e607, 0x035c2ae3, 0x000118ba, 0x01384ba5, 0x004090af, 0x0027e9fb}}}, + {X: Field{[10]uint32{0x03d933de, 0x0200dd8a, 0x0082d39e, 0x02232f81, 0x03893409, 0x018a3f46, 0x0206ae11, 0x019a2045, 0x018aa855, 0x003d3bb5}}, Y: Field{[10]uint32{0x033b3d44, 0x01bc3e37, 0x03eb9160, 0x03e94b5f, 0x0118b40b, 0x0233ad03, 0x031969ca, 0x0381c341, 0x0364fe74, 0x00109e33}}}, + {X: Field{[10]uint32{0x026ef1ce, 0x004a4389, 0x000fa01a, 0x0029cdaf, 0x000b284f, 0x02d554b5, 0x00c17d50, 0x0099810d, 0x02e2e2d0, 0x001a63fe}}, Y: Field{[10]uint32{0x01ffc970, 0x00206638, 0x0143fab6, 0x03fec2f4, 0x038bd50c, 0x025bf04b, 0x027e53a4, 0x016dd076, 0x008d0784, 0x000659b3}}}, + {X: Field{[10]uint32{0x01314098, 0x01c48699, 0x0196b595, 0x028013ed, 0x0122d884, 0x005f2251, 0x020587d4, 0x0305035b, 0x016d5c88, 0x002d4ed6}}, Y: Field{[10]uint32{0x032c745a, 0x025eba23, 0x01a56771, 0x01c13306, 0x0025deeb, 0x01b0cbbb, 0x03de4857, 0x03f9db21, 0x00b909be, 0x00377fd8}}}, + {X: Field{[10]uint32{0x0213066a, 0x004bedc6, 0x02d65527, 0x01967d89, 0x00791518, 0x03a7c9da, 0x024cba67, 0x00efe75b, 0x0321d439, 0x0025d812}}, Y: Field{[10]uint32{0x028d17f8, 0x018988d2, 0x03616360, 0x0153e809, 0x027d871c, 0x00d5fc99, 0x005b0d17, 0x01fdf197, 0x0384e1cf, 0x0039ebbc}}}, + {X: Field{[10]uint32{0x01bb8623, 0x01213a54, 0x007edb63, 0x003b6875, 0x013b3876, 0x0018bdef, 0x02b234c1, 0x03b980c4, 0x01ba6eda, 0x001e8d72}}, Y: Field{[10]uint32{0x0184a5b1, 0x035a9093, 0x002457eb, 0x015e1bbe, 0x00769f3a, 0x03bdc128, 0x0292b586, 0x019d85ab, 0x027ba454, 0x000ce25e}}}, + {X: Field{[10]uint32{0x011e2804, 0x00836543, 0x03e01b6a, 0x005e19c1, 0x02c9638b, 0x0098c043, 0x026e0cc9, 0x00457728, 0x0075f989, 0x0021b503}}, Y: Field{[10]uint32{0x00315ca3, 0x00e1d0bb, 0x00410c0f, 0x010b105c, 0x01dddf28, 0x0211ad72, 0x031dcc8a, 0x02307839, 0x03624ffd, 0x001d66f5}}}, + {X: Field{[10]uint32{0x009badb7, 0x037acc58, 0x001ce3e8, 0x03a6ca90, 0x01fc77f6, 0x00ee4397, 0x03ddea49, 0x02de7d98, 0x03479a4b, 0x00180eff}}, Y: Field{[10]uint32{0x01a4f4b4, 0x008e6627, 0x0320ee1e, 0x0377700d, 0x03358c86, 0x034ce80b, 0x02eefffc, 0x006aa9ab, 0x01fc6528, 0x00018a1e}}}, + {X: Field{[10]uint32{0x032203ed, 0x039a2c40, 0x03d7b5de, 0x03705261, 0x00fa13eb, 0x029d68db, 0x01e0bbf8, 0x01e9f5c8, 0x00f3c7dc, 0x0001722e}}, Y: Field{[10]uint32{0x0208e7d3, 0x0124d033, 0x0190ce77, 0x0328506f, 0x013faa43, 0x023f35b9, 0x01d304d8, 0x031af5f6, 0x03382bc4, 0x001ad807}}}, + {X: Field{[10]uint32{0x0144fb05, 0x018f3a1d, 0x00505a79, 0x01fa4024, 0x0025a6f2, 0x020edcde, 0x027a55ff, 0x02530907, 0x02c5a916, 0x000c4f07}}, Y: Field{[10]uint32{0x003c6384, 0x01980dc4, 0x02e59825, 0x023891d4, 0x0101ed85, 0x031118b1, 0x0244699b, 0x0197ebed, 0x03ff9a43, 0x00270c54}}}, + {X: Field{[10]uint32{0x01d923bd, 0x000550ea, 0x006bf98b, 0x03569e5d, 0x00150b4b, 0x01a383e8, 0x0268cb29, 0x02bbecc0, 0x02514616, 0x000146b2}}, Y: Field{[10]uint32{0x02e028b4, 0x0115e9d3, 0x001cc203, 0x0310c77d, 0x01a0a66e, 0x0138acd8, 0x0163ca4f, 0x01dd1eff, 0x01b4073a, 0x001f147e}}}, + {X: Field{[10]uint32{0x0219677d, 0x01edb0c9, 0x00a122ab, 0x0359dd0f, 0x01353071, 0x02efa5ea, 0x036d3f92, 0x00192124, 0x039927ea, 0x0012ba34}}, Y: Field{[10]uint32{0x008a47a3, 0x019df50f, 0x027c919e, 0x01790d4b, 0x000f350f, 0x0244414e, 0x02a332b0, 0x02f3a0e3, 0x019bc251, 0x003e7714}}}, + {X: Field{[10]uint32{0x0256dcca, 0x01e137a8, 0x0257baa0, 0x022712bc, 0x03b100c2, 0x021352ef, 0x01a054a8, 0x02d68230, 0x015d3f9c, 0x001af472}}, Y: Field{[10]uint32{0x03803b5b, 0x0153be1a, 0x03e71396, 0x015ea221, 0x00801923, 0x02c1f79e, 0x031fc401, 0x02c4bdbd, 0x003bde39, 0x001e4d8a}}}, + {X: Field{[10]uint32{0x0249480e, 0x0374a0ea, 0x028ce19b, 0x00027be7, 0x035737f7, 0x001feef2, 0x0370a62e, 0x032ab6b8, 0x02294642, 0x003889e2}}, Y: Field{[10]uint32{0x0037dd01, 0x03c50ed2, 0x00f77b36, 0x02d60f59, 0x01087bc8, 0x0360bd87, 0x03570b7e, 0x00f39cd6, 0x03cdf394, 0x0010c48b}}}, + {X: Field{[10]uint32{0x0296c644, 0x03d2b13f, 0x0071ffee, 0x00b02c89, 0x008d24fb, 0x00ccd60c, 0x004bb019, 0x01a7f744, 0x00d59f94, 0x001a14df}}, Y: Field{[10]uint32{0x0000050e, 0x018f2061, 0x024a7320, 0x01165e77, 0x004003ab, 0x01b8ec67, 0x0399ff32, 0x01e9476f, 0x00ef4110, 0x001d94d8}}}, + {X: Field{[10]uint32{0x025af330, 0x024281dd, 0x03b54b12, 0x03bcfe06, 0x0070be08, 0x03022209, 0x00a0735f, 0x027e7e3e, 0x03c669c9, 0x0017b27f}}, Y: Field{[10]uint32{0x0163b222, 0x0084e5c4, 0x03b381a4, 0x03737472, 0x001f4f1c, 0x015ad1f0, 0x00c32290, 0x021c581e, 0x0008e76f, 0x002aed50}}}, + {X: Field{[10]uint32{0x004dfae9, 0x02661d1c, 0x0231db23, 0x03d8572b, 0x0101a330, 0x01945528, 0x0071aba4, 0x00c3eea5, 0x008e5d49, 0x00138006}}, Y: Field{[10]uint32{0x01317868, 0x02ee0753, 0x02bba57f, 0x00a74821, 0x015ed3fe, 0x016d0082, 0x03656dd3, 0x00daa9cf, 0x03302824, 0x0001f9db}}}, + {X: Field{[10]uint32{0x015ed984, 0x0377f57c, 0x02e3c8aa, 0x0392f4ed, 0x03a2659c, 0x0130bcfe, 0x0139edeb, 0x0054bbff, 0x03a4d480, 0x0012b8d1}}, Y: Field{[10]uint32{0x02d4e523, 0x00b170d8, 0x033070ca, 0x0307cd71, 0x0165bb6a, 0x029cb18d, 0x02b8ba7b, 0x033f7d3e, 0x03460d44, 0x000e0f8b}}}, + {X: Field{[10]uint32{0x006665ef, 0x03386e27, 0x0319c603, 0x031363dd, 0x0235fd09, 0x01942697, 0x02d90fc8, 0x02b03be5, 0x0224a8d3, 0x000cb2b7}}, Y: Field{[10]uint32{0x038bea36, 0x004342be, 0x036af55c, 0x03cb8324, 0x02266939, 0x032a27e6, 0x023c5aa6, 0x02c4dd6d, 0x00735c63, 0x0021c9ce}}}, + {X: Field{[10]uint32{0x01cfcbee, 0x00891114, 0x0204f5f4, 0x030f53dc, 0x0320c703, 0x03e1f08b, 0x00e68910, 0x01d5d9ab, 0x01956014, 0x002393bc}}, Y: Field{[10]uint32{0x02ed47af, 0x025c1b81, 0x00666045, 0x00332527, 0x02cd5b9d, 0x0003ef3f, 0x02da0afc, 0x01f06de7, 0x02e389d9, 0x0000be9c}}}, + {X: Field{[10]uint32{0x00a2c30a, 0x01f9ffe9, 0x02509aae, 0x005a7bf0, 0x01559d73, 0x02181e80, 0x01549911, 0x000fdb13, 0x035c4adc, 0x000d7f55}}, Y: Field{[10]uint32{0x0248e000, 0x012b7472, 0x00aa1347, 0x03367252, 0x03dbf3ee, 0x033442b1, 0x0300926d, 0x02079f2d, 0x039d2748, 0x003e695d}}}, + {X: Field{[10]uint32{0x010a9cf6, 0x00d7fb72, 0x032873c6, 0x017d7d76, 0x03efc12f, 0x031049b1, 0x00929a52, 0x00965452, 0x00507fd0, 0x0024cb93}}, Y: Field{[10]uint32{0x028ba783, 0x0187be6e, 0x01f2875f, 0x03ef36fc, 0x009e84ef, 0x034660b0, 0x036b1b24, 0x028670a7, 0x0221bbac, 0x00339af2}}}, + {X: Field{[10]uint32{0x01fbea11, 0x01175cd2, 0x03fb211a, 0x02b4d77a, 0x0355d3e2, 0x03d165c1, 0x036a37f2, 0x014706f8, 0x024422a0, 0x0032b637}}, Y: Field{[10]uint32{0x001c347a, 0x008e99bc, 0x013e0533, 0x035e2a7f, 0x01308eeb, 0x013e1bc4, 0x0241c903, 0x01a7ca02, 0x031d4f66, 0x00122c37}}}, + {X: Field{[10]uint32{0x009594d6, 0x03efa41b, 0x0357b462, 0x0323f3ad, 0x031919ff, 0x032cd8e0, 0x016aa646, 0x03eb9f40, 0x0304c847, 0x0027f1f4}}, Y: Field{[10]uint32{0x019860ff, 0x038e9143, 0x03c9e516, 0x01b39352, 0x00196367, 0x01ebf729, 0x029dd38a, 0x02861f36, 0x00e13bc6, 0x003745f0}}}, + {X: Field{[10]uint32{0x008b5849, 0x00d5d866, 0x000b4c89, 0x03dd305f, 0x008300e4, 0x02537aee, 0x00654538, 0x0281771a, 0x00df10d4, 0x00106e9b}}, Y: Field{[10]uint32{0x007ad4c5, 0x026107f9, 0x03ac5930, 0x02133c54, 0x01ece57e, 0x00a0ccc8, 0x031e278b, 0x00259795, 0x03158c3f, 0x001fad8a}}}, + {X: Field{[10]uint32{0x01c7377b, 0x01ee9104, 0x02884b22, 0x0037c15f, 0x03d5bbf3, 0x03bee1a4, 0x0174248c, 0x01ab9a8b, 0x025aaef3, 0x0007fe7f}}, Y: Field{[10]uint32{0x01e74278, 0x00815d7c, 0x00692165, 0x01416f99, 0x01506908, 0x032d57c2, 0x009cf41f, 0x0000e127, 0x036c585c, 0x001ae892}}}, + {X: Field{[10]uint32{0x03f5d660, 0x03ce31b2, 0x03ebd893, 0x00507e3d, 0x026d1348, 0x0215b09c, 0x019d0704, 0x01b4a79b, 0x00440d70, 0x000a675f}}, Y: Field{[10]uint32{0x0103ff32, 0x0217ba8b, 0x000400fc, 0x03fe6d25, 0x0062f7d1, 0x01b7a6b3, 0x01b48877, 0x01d3832a, 0x00f34d03, 0x0003929d}}}, + {X: Field{[10]uint32{0x02e3a67d, 0x02caff5c, 0x012d69f7, 0x00b73a94, 0x020b607c, 0x00f5ba4e, 0x0318ceb8, 0x03261db8, 0x02d90ec1, 0x00280ccf}}, Y: Field{[10]uint32{0x03a0539e, 0x0216467e, 0x0141e0d6, 0x00eedae2, 0x0019f83e, 0x007f9ed4, 0x03373932, 0x01da74d6, 0x03655f51, 0x00369f74}}}, + {X: Field{[10]uint32{0x004251e0, 0x02e13e90, 0x020d2e75, 0x0005593a, 0x032821cf, 0x02a5a197, 0x00093d0b, 0x028cc14d, 0x02a22e52, 0x00169104}}, Y: Field{[10]uint32{0x030e4313, 0x0101e363, 0x0300c7cd, 0x009d53ad, 0x033675ab, 0x001b4a4e, 0x010bc0ab, 0x015c3a0e, 0x00e07e6c, 0x001a91e2}}}, + {X: Field{[10]uint32{0x02b7b0b5, 0x008f3d8c, 0x03cdc3e8, 0x00770bf9, 0x01078335, 0x01a7e6d9, 0x0134ea6a, 0x00771839, 0x004c3b14, 0x0035dcbb}}, Y: Field{[10]uint32{0x009ac0df, 0x00a6f99a, 0x03cfdda9, 0x00bf6e26, 0x01c9ccd9, 0x036ace08, 0x010979dd, 0x0121f9c2, 0x000d1036, 0x002f64d0}}}, + {X: Field{[10]uint32{0x01f89336, 0x0288d9db, 0x0321cd04, 0x0293b284, 0x03d4452f, 0x03903e01, 0x033e1cd6, 0x0130effe, 0x02d2c769, 0x002525e0}}, Y: Field{[10]uint32{0x02d436dc, 0x0351672e, 0x00930b68, 0x005325ef, 0x019f4e2c, 0x03358f15, 0x032e5dbb, 0x008ad50d, 0x027fb8ba, 0x0039f179}}}, + {X: Field{[10]uint32{0x0057e6de, 0x013d85a9, 0x0070e233, 0x032185dd, 0x036d9ca0, 0x031271c7, 0x00a9e4d4, 0x03d67cf8, 0x01f575e6, 0x001fb9f5}}, Y: Field{[10]uint32{0x03d9f3ee, 0x01ccbbb5, 0x03d0197e, 0x000b5a81, 0x029cbbbe, 0x01be8c42, 0x0074add7, 0x00f99b24, 0x029c7612, 0x001118b6}}}, + {X: Field{[10]uint32{0x013f843e, 0x02baedec, 0x0320b50f, 0x011c2ee0, 0x018a5548, 0x01505e54, 0x005ba7c1, 0x011ed6de, 0x030ae08d, 0x001e92d8}}, Y: Field{[10]uint32{0x01937c00, 0x035c1da7, 0x025dc6b5, 0x00641fe7, 0x0269a3b2, 0x02d26037, 0x023a524d, 0x0007a5c5, 0x004fb868, 0x00328939}}}, + {X: Field{[10]uint32{0x02a82b96, 0x0071b2c6, 0x037939c3, 0x03cca653, 0x013a18ee, 0x02ed88f0, 0x02a55032, 0x03102902, 0x0242428a, 0x0034b642}}, Y: Field{[10]uint32{0x0234972a, 0x013568fc, 0x03b66746, 0x01b960b7, 0x01394a3b, 0x002c7838, 0x0039e064, 0x03567cc0, 0x02332367, 0x001d614b}}}, + {X: Field{[10]uint32{0x015d13e0, 0x0382c5ba, 0x01b91340, 0x017120d2, 0x03a4809b, 0x00bb53cb, 0x01b56066, 0x037ecf68, 0x01ab6206, 0x00364926}}, Y: Field{[10]uint32{0x0271be38, 0x00a6caac, 0x0294111f, 0x0192f800, 0x00fa4dfc, 0x024eae98, 0x01400749, 0x03f86a3e, 0x00ed26a4, 0x00108d51}}}, + {X: Field{[10]uint32{0x01d09a23, 0x020c3d71, 0x034dc8d5, 0x02f9b1af, 0x02bba6f2, 0x02dffe1e, 0x00e2d315, 0x01799b49, 0x02c25887, 0x003b0307}}, Y: Field{[10]uint32{0x00591421, 0x02e9058a, 0x00d7aee8, 0x0261d601, 0x018b798c, 0x01822fde, 0x009a237e, 0x02f46071, 0x03f1648a, 0x003949a9}}}, + {X: Field{[10]uint32{0x03ba8863, 0x0384025a, 0x00c2ef30, 0x00205de6, 0x003a6ae5, 0x0243a814, 0x01b48052, 0x01662621, 0x0168835b, 0x001a4e02}}, Y: Field{[10]uint32{0x0311e5f4, 0x01c3d78b, 0x03345a61, 0x01d6064b, 0x037522df, 0x005341f1, 0x0297137a, 0x02e98d14, 0x039d80f0, 0x001c6fa8}}}, + {X: Field{[10]uint32{0x00a9ab23, 0x02b7237f, 0x0062bebb, 0x0177d65b, 0x0115a40a, 0x007fcbfb, 0x00fe8d2e, 0x018df913, 0x01a19fd1, 0x00359ac7}}, Y: Field{[10]uint32{0x006b9946, 0x01a51d96, 0x03b6878a, 0x00749960, 0x015cc5d9, 0x001eccc5, 0x0217c4e6, 0x012edc72, 0x00ebbd2b, 0x001a33d9}}}, + {X: Field{[10]uint32{0x0298c95f, 0x0037220c, 0x01695a51, 0x01729ad6, 0x01503647, 0x0264c590, 0x0350d70c, 0x018b2e49, 0x00a2c6fa, 0x00277663}}, Y: Field{[10]uint32{0x00fbe821, 0x00381f6b, 0x03c8187a, 0x0017663f, 0x03407509, 0x018ecc76, 0x01278b7e, 0x02735be3, 0x03b853b9, 0x00156a22}}}, + {X: Field{[10]uint32{0x0141bfa2, 0x02a6b7b4, 0x01b925b9, 0x02336dea, 0x014efd84, 0x03078b5c, 0x00ecccd0, 0x03c6efa9, 0x002c842c, 0x0006d9af}}, Y: Field{[10]uint32{0x03673bea, 0x02e69c20, 0x00a890dd, 0x000620c7, 0x02402b35, 0x02108f2d, 0x003d88b6, 0x020ae2bd, 0x030155fe, 0x003f82d1}}}, + {X: Field{[10]uint32{0x00eb688a, 0x001d72b2, 0x00312c1c, 0x03243c3a, 0x03c7d2d5, 0x0248b800, 0x016a61c2, 0x00c77b4e, 0x01c48a92, 0x0002ca03}}, Y: Field{[10]uint32{0x02738a74, 0x0338c1b4, 0x03ff7da9, 0x01854c73, 0x00498c82, 0x00aeaebc, 0x02cb3ad6, 0x02f99acc, 0x01a6a2f8, 0x00206dd1}}}, + {X: Field{[10]uint32{0x018a6b5d, 0x0073717c, 0x0280f8cf, 0x01b3c055, 0x02413e90, 0x00438ba4, 0x00125ad5, 0x02e8720a, 0x011c9eb3, 0x001ef165}}, Y: Field{[10]uint32{0x00352a07, 0x02bd69a6, 0x01a1cd43, 0x03c3b88a, 0x000fbda2, 0x026b71b5, 0x026fc7f4, 0x02a2f6e2, 0x01d8480b, 0x00106e41}}}, + {X: Field{[10]uint32{0x02eabfc1, 0x00b14efd, 0x02ea34ed, 0x0023713c, 0x01116479, 0x0172a1a5, 0x02530952, 0x015235da, 0x00d12318, 0x001a7fdd}}, Y: Field{[10]uint32{0x03de2419, 0x02f9dd6b, 0x01bde0d4, 0x025f7325, 0x011d6173, 0x00eb7d7f, 0x02aca1eb, 0x027de04b, 0x02288eb9, 0x003ce8f9}}}, + {X: Field{[10]uint32{0x004af209, 0x014b86b2, 0x003b92c5, 0x0262a83c, 0x02ffa460, 0x039fda26, 0x028f8cdd, 0x034e967e, 0x013f01f6, 0x0017f9b7}}, Y: Field{[10]uint32{0x00dbfb55, 0x02f1d3d8, 0x01aacd6d, 0x00589d28, 0x03f356cc, 0x015443ab, 0x01197a91, 0x0340893b, 0x0101acb8, 0x0027baba}}}, + {X: Field{[10]uint32{0x0105f5f0, 0x008b9671, 0x023b121d, 0x031e3338, 0x01d3b52b, 0x0314fe44, 0x029fafe9, 0x01d76dd1, 0x0122cb04, 0x0011a7a4}}, Y: Field{[10]uint32{0x0058d812, 0x0138bf04, 0x0237ecb8, 0x0200276d, 0x0280d8a5, 0x01348b09, 0x025825fa, 0x02e9afd6, 0x03a838b2, 0x003f9d21}}}, + {X: Field{[10]uint32{0x0160e6ab, 0x018ed364, 0x00c1c06d, 0x0061c307, 0x0072a5e7, 0x02cc3e39, 0x01f816e8, 0x00a48ecb, 0x02bf06b6, 0x0007d28f}}, Y: Field{[10]uint32{0x01c89e2f, 0x031a9853, 0x02d39b77, 0x037a21c1, 0x011ebeeb, 0x00a6299f, 0x0138bd40, 0x02b86626, 0x02957602, 0x00263684}}}, + {X: Field{[10]uint32{0x03b86b0f, 0x01e3af54, 0x00773c2f, 0x00b743e9, 0x00411722, 0x01bd4428, 0x00226ac2, 0x03fc333b, 0x01fe1c12, 0x00363aa5}}, Y: Field{[10]uint32{0x006288d9, 0x03bd1ca3, 0x03f5b25f, 0x026e8075, 0x01f154b5, 0x03a4b092, 0x00bebb3c, 0x03ca4ee2, 0x039edde6, 0x000556fb}}}, + {X: Field{[10]uint32{0x0227cac6, 0x01ef53c4, 0x02527179, 0x017771fc, 0x002bb36f, 0x01c114c0, 0x014b2cf8, 0x0201c488, 0x03c797b3, 0x0006b628}}, Y: Field{[10]uint32{0x0057814c, 0x00f017d2, 0x02a1ccfa, 0x01741355, 0x0158398c, 0x03f3d47b, 0x00189576, 0x008dfc55, 0x03aa3755, 0x001a029d}}}, + {X: Field{[10]uint32{0x00fa7d66, 0x03b0c609, 0x0292a3fd, 0x02cb0caa, 0x00355540, 0x03c2c3e2, 0x01426469, 0x0349b836, 0x010405d1, 0x003ffa9c}}, Y: Field{[10]uint32{0x0034eac8, 0x03413089, 0x00ed4cb5, 0x02bcb299, 0x00081f67, 0x01c0bb75, 0x02c8db75, 0x0281b113, 0x00e22d8d, 0x003b2891}}}, + {X: Field{[10]uint32{0x0159d8ab, 0x0192b22e, 0x00f3fc17, 0x02e95764, 0x01d3abe9, 0x03f5bd9d, 0x02141c8c, 0x02226152, 0x03a3f7fc, 0x0012b156}}, Y: Field{[10]uint32{0x00be2bd2, 0x02f24efe, 0x039ce15b, 0x02d06f61, 0x03714821, 0x0062c412, 0x0252d141, 0x03edeff4, 0x0391f135, 0x00271eca}}}, + {X: Field{[10]uint32{0x03718ac4, 0x01ebd42e, 0x01536fe2, 0x02a72949, 0x02bc7061, 0x0196e280, 0x01de0eb8, 0x02933bca, 0x00677aa9, 0x0017e051}}, Y: Field{[10]uint32{0x00d9c042, 0x033c4064, 0x01b3669a, 0x0251cf8e, 0x022b8cb8, 0x00c07ec0, 0x00340716, 0x02c9bf99, 0x01dc4062, 0x002f6a59}}}, + {X: Field{[10]uint32{0x01dd88bb, 0x03ac551d, 0x0390388b, 0x029346b2, 0x02da5f96, 0x016607cc, 0x029f2130, 0x01d2612c, 0x03043791, 0x003cdcb2}}, Y: Field{[10]uint32{0x02367d89, 0x002ad186, 0x00efcb2a, 0x03b38cb1, 0x007ceda2, 0x01a50653, 0x00a0ea07, 0x03540068, 0x035c1e62, 0x0020b5a3}}}, + {X: Field{[10]uint32{0x0359b128, 0x0314c82e, 0x026927a3, 0x03c890f8, 0x02878ec6, 0x03efe92c, 0x03133753, 0x0011e0d8, 0x03c54576, 0x0003ec4a}}, Y: Field{[10]uint32{0x0153aef5, 0x01af9712, 0x03e17a92, 0x01dff5ef, 0x01961930, 0x009329a0, 0x01ac0cba, 0x0386d6ed, 0x011867da, 0x000fe080}}}, + {X: Field{[10]uint32{0x00c0ea07, 0x03fe0658, 0x02447316, 0x0286c2a4, 0x034adafe, 0x01ea5d1f, 0x03075601, 0x0128d3d0, 0x01ac918a, 0x000f65d6}}, Y: Field{[10]uint32{0x02018aaa, 0x02956695, 0x03ecc6fc, 0x0299defa, 0x00caa317, 0x02a5925f, 0x031d5dda, 0x00cc2ad9, 0x03cf6d6a, 0x00033676}}}, + {X: Field{[10]uint32{0x023e00ce, 0x015720bf, 0x02909844, 0x037d6390, 0x019f476f, 0x01a6f1f7, 0x0349be46, 0x014870fe, 0x02b3699c, 0x003ab82a}}, Y: Field{[10]uint32{0x0317259e, 0x01feb853, 0x00bdd977, 0x0078478c, 0x0362c7ef, 0x017a0228, 0x0377b562, 0x039f0a66, 0x00dd450e, 0x002eb73a}}}, + {X: Field{[10]uint32{0x011eb851, 0x002afb51, 0x0338455e, 0x01f49328, 0x0343718a, 0x0097b974, 0x0225d0e9, 0x033aa95d, 0x02eec2c0, 0x003fb494}}, Y: Field{[10]uint32{0x002c648f, 0x0296a2ba, 0x03b4c457, 0x007173c2, 0x00dd0721, 0x001d5bd9, 0x0166b277, 0x03bf3087, 0x02ae56ce, 0x0019aeed}}}, + {X: Field{[10]uint32{0x017f9dbd, 0x021e4e8b, 0x013c9bc0, 0x00be74c0, 0x022362af, 0x02eac2c8, 0x03fb04d3, 0x030f0505, 0x02bd022a, 0x003698e7}}, Y: Field{[10]uint32{0x022466d5, 0x029ed3a0, 0x0031c10a, 0x03a8f9e8, 0x003627aa, 0x00daef95, 0x034ed0d5, 0x03a7cbe9, 0x022055f1, 0x0020fc9d}}}, + {X: Field{[10]uint32{0x02ab90dd, 0x01f3f09f, 0x0282ce09, 0x029ab2b9, 0x0132ced2, 0x031c77e4, 0x00d3ac67, 0x0116bd35, 0x00ded773, 0x00149349}}, Y: Field{[10]uint32{0x02b7f5c2, 0x01e81d3e, 0x03b01b2f, 0x000221ec, 0x032d010a, 0x003f9f3f, 0x036f55c9, 0x01f170c6, 0x00f7c692, 0x003933d7}}}, + {X: Field{[10]uint32{0x00ae4f94, 0x03149a15, 0x021c4b24, 0x02917ef0, 0x0028672d, 0x00a185ed, 0x007cde0c, 0x02d830d7, 0x02d5fb52, 0x001f6b0b}}, Y: Field{[10]uint32{0x03794038, 0x023b83f9, 0x0309ea57, 0x02db4a0a, 0x02f6cc11, 0x034919b0, 0x035c4a2b, 0x022199c2, 0x007ae916, 0x00331ab3}}}, + {X: Field{[10]uint32{0x016083ae, 0x01472fb9, 0x03ea6f7c, 0x02728e24, 0x02887e5d, 0x003a4a46, 0x019d10d0, 0x03d67dae, 0x024dda61, 0x0017d1ad}}, Y: Field{[10]uint32{0x0283a8ae, 0x007cf678, 0x0182e5ee, 0x02e9f86d, 0x0109bfa6, 0x0155ca4a, 0x02dcfb9c, 0x00995541, 0x0055da25, 0x001810f4}}}, + {X: Field{[10]uint32{0x01e14aa3, 0x0258685f, 0x03635175, 0x0308e29f, 0x0348ef0f, 0x023177c3, 0x0241ec2b, 0x017c85b9, 0x0033b6a2, 0x002218fb}}, Y: Field{[10]uint32{0x02b42541, 0x032c4ac3, 0x037a117d, 0x020f683f, 0x0345b2a5, 0x01241956, 0x00292777, 0x016070be, 0x00f31e52, 0x00275986}}}, + {X: Field{[10]uint32{0x03a2f9f4, 0x035a9a0c, 0x02a03a1b, 0x03dcfa4b, 0x03b377f3, 0x03c9be47, 0x00184c7e, 0x016739b6, 0x00463ac4, 0x0021500d}}, Y: Field{[10]uint32{0x01b399cb, 0x03dc9e31, 0x01430438, 0x03c8ec32, 0x018f7719, 0x00c4ff8d, 0x012a5b18, 0x019266c9, 0x02968ac5, 0x000b47c4}}}, + {X: Field{[10]uint32{0x02223c7f, 0x032b7597, 0x03201379, 0x009d7adf, 0x006a325d, 0x018899ad, 0x0251dbc3, 0x0104aff9, 0x03f6217e, 0x0002fdac}}, Y: Field{[10]uint32{0x03ba748b, 0x02c6bbe5, 0x03eaf0a9, 0x0035abc6, 0x01ebfad9, 0x03bb8f7b, 0x0041e7dc, 0x029157ec, 0x0154c14a, 0x00284582}}}, + {X: Field{[10]uint32{0x02d9e59d, 0x009396af, 0x03ffc771, 0x00662e86, 0x03860ca2, 0x0026a933, 0x02079ea4, 0x0184d52a, 0x002d3c18, 0x0012c808}}, Y: Field{[10]uint32{0x035b8873, 0x017a2a43, 0x002bab55, 0x01154418, 0x007703eb, 0x03c47641, 0x01d858f2, 0x0302c2e9, 0x0103c107, 0x0027da11}}}, + {X: Field{[10]uint32{0x02421dd2, 0x01a96a81, 0x03e28268, 0x03c989f2, 0x0199c050, 0x009ed64c, 0x024f5331, 0x02692ce8, 0x00806d67, 0x001021fe}}, Y: Field{[10]uint32{0x0188e8b9, 0x01c1f4af, 0x0121b5a5, 0x0105627e, 0x01698800, 0x0263d696, 0x008c8836, 0x035220cf, 0x0184b3d9, 0x00120e2b}}}, + {X: Field{[10]uint32{0x0297b79c, 0x0244c6bf, 0x02ac766d, 0x00131e43, 0x00538775, 0x01693f0d, 0x01b91e00, 0x01d01a8b, 0x0287cb2e, 0x000569e4}}, Y: Field{[10]uint32{0x014a238a, 0x029069ae, 0x003fadf2, 0x033ee5aa, 0x031bd597, 0x00b18583, 0x03ce497c, 0x01cb8f4f, 0x03220765, 0x0027d3bc}}}, + {X: Field{[10]uint32{0x03bcecbe, 0x026cd0f8, 0x02812273, 0x0029f888, 0x02404fb1, 0x032cf502, 0x0233d61b, 0x012f13fc, 0x0063c052, 0x000713e8}}, Y: Field{[10]uint32{0x02d48bd6, 0x0231cf58, 0x003533aa, 0x02cafd34, 0x03d39c90, 0x035cc2ca, 0x0209e9eb, 0x00bbae5c, 0x01eca2d8, 0x000aa158}}}, + {X: Field{[10]uint32{0x01f2a636, 0x0058ed6b, 0x02c2656d, 0x029b5221, 0x02bb50b8, 0x014c4bca, 0x03936c18, 0x02cb1499, 0x03a743c1, 0x00281c22}}, Y: Field{[10]uint32{0x031a20ea, 0x017a534d, 0x00324584, 0x0188d669, 0x007dc66a, 0x004b874b, 0x01b81550, 0x022331b2, 0x01f19169, 0x002563d1}}}, + {X: Field{[10]uint32{0x00acad7d, 0x00de4f3a, 0x02858c21, 0x0152c4a6, 0x0109b797, 0x00b8cfff, 0x009d71f0, 0x010b9b84, 0x034df01a, 0x0035e582}}, Y: Field{[10]uint32{0x03deb920, 0x03078676, 0x00707d81, 0x024d8c46, 0x02335661, 0x03195cc2, 0x003d0e1d, 0x0074ad87, 0x01aa5a84, 0x00232bc6}}}, + {X: Field{[10]uint32{0x038ba611, 0x030c902f, 0x03789daa, 0x01b9ba28, 0x02a7c450, 0x03f286cc, 0x0225ba38, 0x01c3565b, 0x006bf8ba, 0x001e80f7}}, Y: Field{[10]uint32{0x037d9028, 0x021293df, 0x03881fcb, 0x0207425a, 0x00048a36, 0x01dcf85c, 0x023e378b, 0x01a15969, 0x0222292d, 0x001c3c67}}}, + {X: Field{[10]uint32{0x03443b97, 0x00e3c971, 0x01dbac2f, 0x0281c9bf, 0x01da516c, 0x01b20ea9, 0x0189850c, 0x00d0470e, 0x0262a8fa, 0x0014ea69}}, Y: Field{[10]uint32{0x03945e25, 0x03fd6780, 0x0036e140, 0x0316e00c, 0x022adcfd, 0x01134797, 0x013279e8, 0x030c6fcc, 0x02506179, 0x00177ab0}}}, + {X: Field{[10]uint32{0x02b2cdf7, 0x0143673f, 0x036f20a4, 0x02ca1da0, 0x01b7ee99, 0x0306eeaa, 0x0269af63, 0x00361bff, 0x02b63dbb, 0x0021ae51}}, Y: Field{[10]uint32{0x0374b1fa, 0x012d6603, 0x03a62ed7, 0x03006665, 0x037cbc39, 0x00793c4c, 0x018ea1ba, 0x038a9b2c, 0x0383d3d0, 0x0011101d}}}, + {X: Field{[10]uint32{0x03752d8e, 0x0054b9bb, 0x019babef, 0x03fee9c7, 0x036b28c8, 0x0034908f, 0x01567262, 0x012d1bda, 0x00f5cb88, 0x00033a07}}, Y: Field{[10]uint32{0x02a9248c, 0x02d50117, 0x009262d0, 0x03fca243, 0x02979177, 0x001306aa, 0x01bf924c, 0x019130d2, 0x01738120, 0x001d6bf6}}}, + {X: Field{[10]uint32{0x01172ed9, 0x033a4b78, 0x02b8fbc6, 0x010c4ce8, 0x037b791d, 0x01f55f51, 0x006cb9e4, 0x0134b67e, 0x02413a46, 0x0010441b}}, Y: Field{[10]uint32{0x036741c6, 0x031be87d, 0x03374d2e, 0x00a9cde6, 0x002ce4e4, 0x01ce83e2, 0x01601a27, 0x0082e001, 0x00c230e9, 0x0038b291}}}, + {X: Field{[10]uint32{0x00b49777, 0x0106d288, 0x001524e1, 0x0328814b, 0x03bca3f1, 0x01eb1bda, 0x006541ec, 0x00284b95, 0x02a04e83, 0x003a707c}}, Y: Field{[10]uint32{0x02a58124, 0x0247e6cc, 0x0030886b, 0x0087d754, 0x005ca737, 0x0059c4b2, 0x0173fcd5, 0x004b08a6, 0x004308dd, 0x001477ce}}}, + {X: Field{[10]uint32{0x033bbf2c, 0x0173c579, 0x01511fce, 0x009d0943, 0x039be21f, 0x00554b8e, 0x0225775f, 0x03fcf92e, 0x012dc5e8, 0x0022ee78}}, Y: Field{[10]uint32{0x000d1152, 0x03c46a34, 0x0162f91e, 0x022af08e, 0x02b4d096, 0x03067137, 0x024fcf50, 0x00dcc070, 0x037a273c, 0x0022a08a}}}, + {X: Field{[10]uint32{0x00b6bd0f, 0x0165e9eb, 0x011399ad, 0x00f80a5f, 0x01697f3f, 0x03d9b80c, 0x0294c3ee, 0x01de4791, 0x02f1da22, 0x002c0163}}, Y: Field{[10]uint32{0x02205a2a, 0x016cbc2f, 0x02978c80, 0x0111f4ae, 0x01e5deb6, 0x03ffa009, 0x000bee68, 0x00e05363, 0x034a0579, 0x001fd6ea}}}, + {X: Field{[10]uint32{0x002522a5, 0x014da32b, 0x025c8db9, 0x015d2e1c, 0x006dfc35, 0x0137f2ac, 0x0202b780, 0x03f7594b, 0x002d8df5, 0x00077b75}}, Y: Field{[10]uint32{0x02bca540, 0x019567ad, 0x0254f5b4, 0x037bcd5d, 0x0024b918, 0x020ed86e, 0x03f4a8f9, 0x00349463, 0x00492373, 0x000c1569}}}, + {X: Field{[10]uint32{0x000ea544, 0x03cbbd0e, 0x01f7da46, 0x00f67571, 0x03e47181, 0x00af0e76, 0x005b0b51, 0x012ea4fd, 0x0248c679, 0x001d8694}}, Y: Field{[10]uint32{0x032c1292, 0x03442c20, 0x01fc5c60, 0x00217eb4, 0x029f7034, 0x016ea3b5, 0x018d0a39, 0x033ab178, 0x0130c4f5, 0x0006177b}}}, + {X: Field{[10]uint32{0x03aa5caf, 0x02ae2638, 0x00f2ffef, 0x021d4069, 0x03a17496, 0x004f06d6, 0x0020982a, 0x03433237, 0x0360e515, 0x0003c756}}, Y: Field{[10]uint32{0x00a0d91d, 0x03b673de, 0x00708e42, 0x02dd5265, 0x03ee6f9a, 0x03ad8fc1, 0x033a9e48, 0x03630805, 0x026c395f, 0x00157f5d}}}, + {X: Field{[10]uint32{0x0337425f, 0x0264ff6e, 0x002d7fba, 0x012f0c09, 0x02fb09ff, 0x00711156, 0x02ba0bf6, 0x0002a95d, 0x004c9b79, 0x0015a72d}}, Y: Field{[10]uint32{0x00c350b1, 0x01009c83, 0x026d0d33, 0x03a03895, 0x01c1131d, 0x031f768f, 0x038f646a, 0x038f5079, 0x00d2ff1a, 0x0037f7ae}}}, + {X: Field{[10]uint32{0x021851eb, 0x031e1f2e, 0x00776d22, 0x0045f734, 0x039c2dda, 0x0363e142, 0x0147a787, 0x00e7a146, 0x029ad998, 0x000f966d}}, Y: Field{[10]uint32{0x012e20b3, 0x03620d16, 0x036d434c, 0x017acb27, 0x03705074, 0x01fb13c9, 0x01d93583, 0x02c0c1af, 0x02a48bfe, 0x001ccb34}}}, + {X: Field{[10]uint32{0x01296967, 0x03a93125, 0x0087b0e6, 0x015ccb0c, 0x0181acec, 0x03f0221b, 0x02502403, 0x015a0a60, 0x022107b4, 0x00291b59}}, Y: Field{[10]uint32{0x01763d33, 0x006b3bee, 0x03464005, 0x02139849, 0x01461478, 0x026a0823, 0x0097a73f, 0x02c18890, 0x00f429a5, 0x00050333}}}, + {X: Field{[10]uint32{0x0079ab1c, 0x005b1194, 0x0392774d, 0x03fb6bad, 0x004ad70e, 0x0055d727, 0x000c427d, 0x014ee9f0, 0x019cf25c, 0x002e4839}}, Y: Field{[10]uint32{0x0045b67f, 0x0065f07c, 0x005c9d43, 0x017cdfd6, 0x039201ec, 0x0195ae4d, 0x01435a61, 0x02223475, 0x00f1d4ba, 0x00181858}}}, + {X: Field{[10]uint32{0x00bfa8c5, 0x0381adfe, 0x00713896, 0x03663417, 0x023b88b6, 0x02c9c36d, 0x03da1efd, 0x00dee7ab, 0x02e1e7d8, 0x0004b3c6}}, Y: Field{[10]uint32{0x01c99c0f, 0x03329a4e, 0x035d91e8, 0x01b52141, 0x03c4c1d6, 0x0273f62c, 0x0323d7be, 0x024d2c27, 0x0213181b, 0x00383599}}}, + {X: Field{[10]uint32{0x01c0ec1f, 0x03ce74e3, 0x0230287f, 0x0002f84e, 0x02eb93a9, 0x00ca0553, 0x00620e5a, 0x02b28b98, 0x03ae0a4e, 0x001aab49}}, Y: Field{[10]uint32{0x00a1f46a, 0x0189aee5, 0x008112fe, 0x01d0d0b0, 0x02d46814, 0x0315ff5e, 0x03e8cd2d, 0x0054e789, 0x01c5caa2, 0x0024c855}}}, + {X: Field{[10]uint32{0x00f870a0, 0x00d0fb2b, 0x01c36ce9, 0x03e487dd, 0x008d168b, 0x0301b06e, 0x03489166, 0x019afa0a, 0x014e7cb1, 0x0004d336}}, Y: Field{[10]uint32{0x01453236, 0x02230ec2, 0x014c0fab, 0x039f9cf4, 0x012f7c8f, 0x03c268e6, 0x02a51cff, 0x03f517a0, 0x03c5e956, 0x0010a99c}}}, + {X: Field{[10]uint32{0x023989ee, 0x027d6d56, 0x00e2c56d, 0x0063729a, 0x02429b1d, 0x0072173b, 0x002971fa, 0x031e1a31, 0x018c7b7c, 0x00357735}}, Y: Field{[10]uint32{0x01208100, 0x01989388, 0x035c5e31, 0x002bc2ed, 0x0345bedd, 0x028ce2f1, 0x01a05297, 0x032b93b3, 0x0130ef1b, 0x00383290}}}, + {X: Field{[10]uint32{0x020d8c8e, 0x02b27403, 0x02861f66, 0x02f454e2, 0x033e3567, 0x01a47cce, 0x01fa4cdb, 0x02422e41, 0x0134c344, 0x00254759}}, Y: Field{[10]uint32{0x017046f1, 0x017cc1bb, 0x039f9d57, 0x024669f5, 0x0295a5f6, 0x0114957d, 0x001a9903, 0x01e4a19a, 0x0122eb84, 0x003bbcd6}}}, + {X: Field{[10]uint32{0x01cdd0fc, 0x019973f0, 0x01e27b33, 0x02ea59bb, 0x02690af0, 0x02d48455, 0x0184c9c9, 0x025935db, 0x004b25f7, 0x0033b6e9}}, Y: Field{[10]uint32{0x03c79e7e, 0x006de6a1, 0x037d94c2, 0x009246a3, 0x02187e71, 0x024cc5ad, 0x007b6b64, 0x026bc746, 0x0049cb8e, 0x00201aa4}}}, + {X: Field{[10]uint32{0x00a10b54, 0x01bd2ab6, 0x02a2049c, 0x03445124, 0x01d1c7d2, 0x00afb285, 0x02bd39d3, 0x01afb8a6, 0x0260d130, 0x0013fc0d}}, Y: Field{[10]uint32{0x02d1e574, 0x0389dcc1, 0x01893d99, 0x01774bfc, 0x014990f2, 0x039c7da2, 0x02e8bc8b, 0x0265478d, 0x02698fd8, 0x0030b1d7}}}, + {X: Field{[10]uint32{0x022e0ca7, 0x0010b3b3, 0x01824389, 0x0289a0ee, 0x00c78061, 0x037edc80, 0x03b77020, 0x019197a1, 0x01088dbd, 0x003022f5}}, Y: Field{[10]uint32{0x008d7307, 0x024c957e, 0x03e78417, 0x02d82318, 0x011db329, 0x00ea7c5c, 0x02408842, 0x0125eac5, 0x01d61343, 0x00158806}}}, + {X: Field{[10]uint32{0x03f9857d, 0x03f576d2, 0x01e3a07a, 0x02a09d28, 0x00955bdd, 0x022eb0c6, 0x005cdd22, 0x033ac8ee, 0x00aa6fd2, 0x001237f7}}, Y: Field{[10]uint32{0x020287ce, 0x017fe8ba, 0x011710d5, 0x02d450c7, 0x00af60f4, 0x0390a555, 0x014e76fc, 0x019ee945, 0x022e8961, 0x000a9198}}}, + {X: Field{[10]uint32{0x02a1f236, 0x02b3fcc5, 0x03ceebbf, 0x01e68ce8, 0x02802c14, 0x01c094e0, 0x0376b471, 0x03e20f2f, 0x0100d81a, 0x00101082}}, Y: Field{[10]uint32{0x0385e3f7, 0x01a346de, 0x01b4be41, 0x01bbc678, 0x007831e9, 0x02d50957, 0x00f50fa2, 0x02d4ecc2, 0x00e0dbbc, 0x00219811}}}, + {X: Field{[10]uint32{0x022bdc42, 0x00bcdf8c, 0x0156f8b1, 0x01080ec4, 0x02ec1e31, 0x03a64823, 0x02c20184, 0x019f1dc3, 0x007b23b6, 0x0025a8dd}}, Y: Field{[10]uint32{0x00f22ab2, 0x01f3618f, 0x03af798c, 0x03d29281, 0x03dc7545, 0x034c975b, 0x010b04ba, 0x01191ccc, 0x03c8df8c, 0x0019ec2c}}}, + {X: Field{[10]uint32{0x00460182, 0x0244caf2, 0x02784503, 0x0246a345, 0x03f1db3e, 0x00545212, 0x0361f0cb, 0x01e5a490, 0x017de403, 0x0033c1c0}}, Y: Field{[10]uint32{0x0397939d, 0x006ece4d, 0x0106799b, 0x0327996b, 0x00e2eb60, 0x01a5018e, 0x036e762f, 0x0278c343, 0x010762f2, 0x002de86c}}}, + {X: Field{[10]uint32{0x018beb15, 0x0173d688, 0x036dc080, 0x028f75c9, 0x0393507a, 0x01d7f756, 0x01b90ded, 0x02dbdeb4, 0x00b25b0b, 0x0004ad6e}}, Y: Field{[10]uint32{0x038933da, 0x02d5bb6d, 0x009aee89, 0x01942cd8, 0x015a5bc1, 0x01032866, 0x02d6368d, 0x02866e03, 0x03678cef, 0x00174f51}}}, + {X: Field{[10]uint32{0x03a46765, 0x0270de84, 0x0327dcd9, 0x0266f66d, 0x0177ecd2, 0x0062dbc6, 0x018b9ace, 0x039b64e6, 0x009ce866, 0x0021e6d1}}, Y: Field{[10]uint32{0x03781c63, 0x004ea0d8, 0x02baec6c, 0x0057c0f9, 0x01f0c452, 0x006a3679, 0x0350c4e9, 0x03ec4ab3, 0x00eb758c, 0x002c3120}}}, + {X: Field{[10]uint32{0x00c7dead, 0x01ee4283, 0x0121dd2b, 0x00332cdb, 0x01e50228, 0x00ffbc92, 0x03a401dd, 0x02807747, 0x0383e9d3, 0x000bb121}}, Y: Field{[10]uint32{0x01a67fce, 0x03c31fa1, 0x00703ca2, 0x020419e6, 0x0283fd8f, 0x03ad1a68, 0x01e61505, 0x038b2869, 0x012478f9, 0x003ec0a4}}}, + {X: Field{[10]uint32{0x037c3ce7, 0x008824d0, 0x03a83aee, 0x03eef61c, 0x025b7878, 0x0051655a, 0x03e8fcd2, 0x036c1ce7, 0x025827be, 0x001e7328}}, Y: Field{[10]uint32{0x00ac467e, 0x02073aa7, 0x015a8d33, 0x02c8b064, 0x00bee990, 0x03add2cc, 0x00b7c483, 0x021d4053, 0x0293d82e, 0x003fd222}}}, + {X: Field{[10]uint32{0x02dbd207, 0x00f37556, 0x01cd93e9, 0x0203526a, 0x028e146a, 0x00185aa9, 0x02b9eed4, 0x022dea09, 0x00ca3d2b, 0x00311129}}, Y: Field{[10]uint32{0x012d0f18, 0x03f09cc2, 0x032319d1, 0x003ee3f0, 0x00ac00ad, 0x037b41a1, 0x01ae3381, 0x00130950, 0x00a963d5, 0x001344da}}}, + {X: Field{[10]uint32{0x03f3e7a8, 0x0154a6f3, 0x03c267ee, 0x02298124, 0x02dbed32, 0x020d7a35, 0x024e2050, 0x0112c961, 0x0050cc0e, 0x000fb91f}}, Y: Field{[10]uint32{0x00a5f095, 0x0072a7a4, 0x0391f84e, 0x00c00f46, 0x00b6229a, 0x0117890f, 0x02496401, 0x02a1ef0c, 0x0339056e, 0x003e9554}}}, + {X: Field{[10]uint32{0x0009980c, 0x004b5f72, 0x020a81c0, 0x0364b464, 0x038e69e2, 0x03e6c3d1, 0x02251a29, 0x02edfd08, 0x01873036, 0x003a58f2}}, Y: Field{[10]uint32{0x01c52fd6, 0x009e8f15, 0x025e6180, 0x035b1fe3, 0x02140f92, 0x0202c5cf, 0x002bfa48, 0x02fcbc49, 0x03b0779b, 0x0003fe56}}}, + {X: Field{[10]uint32{0x008fc07d, 0x00473195, 0x008bd3f7, 0x01439a1b, 0x0023738e, 0x011be8e5, 0x024b747a, 0x02e2e6bf, 0x035bb6a1, 0x002abd81}}, Y: Field{[10]uint32{0x02f2b0cb, 0x0354866a, 0x0098b1bb, 0x01baef7e, 0x0253ab32, 0x03ad047a, 0x005bd162, 0x0328707a, 0x02ec6d11, 0x001336c2}}}, + {X: Field{[10]uint32{0x0157ac0f, 0x031d6150, 0x012986e4, 0x0357aa48, 0x02842b44, 0x0175c22a, 0x0174a18d, 0x01d5b638, 0x0017d8e9, 0x001a4792}}, Y: Field{[10]uint32{0x00c0c222, 0x03d01da8, 0x008c2d1f, 0x037ca7d4, 0x034bb9a8, 0x00be4a1c, 0x010eb157, 0x01eb5e03, 0x020b3bfa, 0x0027abae}}}, + {X: Field{[10]uint32{0x0344996a, 0x03821ff9, 0x03fd81d9, 0x02cc72bc, 0x00c77dbf, 0x020f6b63, 0x01c9d4c5, 0x01292250, 0x01bb45af, 0x0030f9bf}}, Y: Field{[10]uint32{0x008366f2, 0x010af258, 0x00a730e6, 0x01d2d526, 0x010b8694, 0x02b13a5e, 0x0207bfd1, 0x00a6e3fb, 0x011e65ab, 0x0032a663}}}, + {X: Field{[10]uint32{0x0140701f, 0x03002cc2, 0x013868ce, 0x03e00ccf, 0x02923ead, 0x01f17265, 0x032630be, 0x00973c87, 0x0320a55d, 0x003b6f58}}, Y: Field{[10]uint32{0x01e4889e, 0x005090d3, 0x003e3f7a, 0x0143dacb, 0x025e3d3d, 0x038a3e52, 0x00cd12bf, 0x03d79322, 0x02e7afce, 0x00359464}}}, + {X: Field{[10]uint32{0x0295d336, 0x02d30d3a, 0x005dad7c, 0x03b67536, 0x02b29684, 0x00f0dd04, 0x02fd2494, 0x0382e2b0, 0x0183a80a, 0x0032567b}}, Y: Field{[10]uint32{0x032b168b, 0x0268b869, 0x03e5f8b5, 0x023804bd, 0x014de5f5, 0x00965c30, 0x00b0e970, 0x03c94ab6, 0x02bb8dcc, 0x00203076}}}, + {X: Field{[10]uint32{0x02ed9237, 0x00f7e0cf, 0x0231274e, 0x03b76992, 0x022c5bc6, 0x034b573e, 0x00c90224, 0x0013a762, 0x01744710, 0x001de331}}, Y: Field{[10]uint32{0x02916c17, 0x00b724e4, 0x0360946b, 0x03f94730, 0x01675720, 0x02e48767, 0x012e502d, 0x007009ee, 0x01316b2a, 0x003ba88f}}}, + {X: Field{[10]uint32{0x03b42055, 0x02bf2598, 0x02d9a5c2, 0x011b4fef, 0x00173e7e, 0x036634b0, 0x03299f81, 0x015abd0f, 0x00388c36, 0x00287e1d}}, Y: Field{[10]uint32{0x016f4afc, 0x0261e9f5, 0x0284eabb, 0x03fb71ca, 0x015d874a, 0x0264d9e1, 0x0150e79b, 0x035b16cc, 0x00430820, 0x00042f21}}}, + {X: Field{[10]uint32{0x00224a5d, 0x008247da, 0x036a3d00, 0x020dd503, 0x028f7fa5, 0x00f410fb, 0x01a1839c, 0x022e2b36, 0x030b2d5f, 0x00322b5f}}, Y: Field{[10]uint32{0x03aebf8b, 0x017c6471, 0x01ec38e6, 0x02d4455f, 0x022a1cd4, 0x0229ff92, 0x01507cf1, 0x016e68b4, 0x0180eebe, 0x000c062d}}}, + {X: Field{[10]uint32{0x0020055f, 0x020436d2, 0x02d20bea, 0x01028a9e, 0x031ecf38, 0x02b9d9fd, 0x024e4261, 0x03f5eedf, 0x02640b93, 0x00309754}}, Y: Field{[10]uint32{0x025ad684, 0x027a3891, 0x03524c34, 0x03b0e851, 0x02bf331a, 0x02d23b4c, 0x01fffbce, 0x00ac3e8a, 0x00c76e3f, 0x003e8572}}}, + {X: Field{[10]uint32{0x0178f92b, 0x018afd7a, 0x032f2ccc, 0x01de22d7, 0x03283168, 0x02cb61ce, 0x03224dcc, 0x02feb6eb, 0x02eb7e4c, 0x00342e5c}}, Y: Field{[10]uint32{0x03ab8e3b, 0x0390837d, 0x03f56e94, 0x00c61082, 0x0275610b, 0x008f9e1e, 0x03bcb4cf, 0x01614aab, 0x00a1606a, 0x003bd74f}}}, + {X: Field{[10]uint32{0x030a2d07, 0x02010ac6, 0x014ab56c, 0x0146ef0a, 0x02d393e8, 0x02604cad, 0x008791ab, 0x0111e591, 0x00835856, 0x003e2d13}}, Y: Field{[10]uint32{0x0070a27c, 0x007b7fba, 0x00ed0b8e, 0x000756ec, 0x022dbe0c, 0x03239d93, 0x0051362f, 0x0102fba6, 0x02bf0420, 0x0030a090}}}, + {X: Field{[10]uint32{0x025666b7, 0x02df20f6, 0x02d368ac, 0x00641469, 0x005d9424, 0x00bf448d, 0x0010adc1, 0x02ab78e5, 0x01016f72, 0x0039f2e2}}, Y: Field{[10]uint32{0x02b21697, 0x01070d75, 0x00f63953, 0x02032c3e, 0x03f0c87e, 0x00e8595b, 0x014ee6c5, 0x03675fbf, 0x012246b6, 0x00378d9d}}}, + {X: Field{[10]uint32{0x0279d87f, 0x031d0930, 0x02167fb2, 0x03925733, 0x01f40f93, 0x01317abd, 0x02894786, 0x03d2aa4b, 0x028f14e3, 0x00022c84}}, Y: Field{[10]uint32{0x00f5d246, 0x02c39243, 0x00c11cbe, 0x0356e0c1, 0x02699926, 0x020c0c0f, 0x0012068a, 0x02d2c406, 0x004af469, 0x0039fb4e}}}, + {X: Field{[10]uint32{0x013b4afb, 0x01023d42, 0x00317658, 0x0075e17a, 0x001f3f63, 0x02d6cc7d, 0x036a5f3a, 0x035618e2, 0x01db3cbc, 0x003cd36d}}, Y: Field{[10]uint32{0x003dd3d9, 0x00c3f543, 0x02f2d56e, 0x018d3263, 0x005bf112, 0x03ff06b1, 0x031a1c74, 0x02119be8, 0x0372bb2c, 0x0037f39c}}}, + {X: Field{[10]uint32{0x00aabdb8, 0x017570bb, 0x01c86a96, 0x03937494, 0x0110b4fe, 0x03294cee, 0x00a48eab, 0x035a176b, 0x0209a445, 0x0030da27}}, Y: Field{[10]uint32{0x0279e3f4, 0x007c8bc5, 0x017a155c, 0x01f8e964, 0x03d62e18, 0x0101d747, 0x03efbe4f, 0x00feef0c, 0x005a6a26, 0x001e0134}}}, + {X: Field{[10]uint32{0x03005cbc, 0x022832cf, 0x00a78d70, 0x0128ad1f, 0x03f1e47d, 0x0025624b, 0x0266d626, 0x0284341e, 0x01ecf776, 0x001ffe65}}, Y: Field{[10]uint32{0x026ea90d, 0x0317ab32, 0x019f5cd5, 0x0343a4a6, 0x000e3911, 0x01b420a2, 0x00a4d115, 0x0390c337, 0x03745f17, 0x003b7371}}}, + {X: Field{[10]uint32{0x027d4d27, 0x0094fb10, 0x028e41c0, 0x035873f2, 0x010db78b, 0x0108faed, 0x03183512, 0x012fe5a6, 0x02626223, 0x000d98a8}}, Y: Field{[10]uint32{0x002e1b09, 0x032aeb07, 0x0199fc41, 0x026de6d2, 0x03d550ef, 0x032b28da, 0x000f671c, 0x039a703d, 0x00420f07, 0x00222988}}}, + {X: Field{[10]uint32{0x0354e8d1, 0x00ed050f, 0x03951176, 0x03a45852, 0x00b6b4eb, 0x01281ce2, 0x00e66ee2, 0x0310ba5c, 0x002e06d9, 0x000b049f}}, Y: Field{[10]uint32{0x03dd6629, 0x01672743, 0x0193aaae, 0x008d808b, 0x00856be0, 0x012b6b8c, 0x0226c8ff, 0x02b7eabe, 0x02b8dacb, 0x00291dcf}}}, + {X: Field{[10]uint32{0x02c17802, 0x03594552, 0x02cb37f6, 0x002e33e6, 0x02b7dfcb, 0x03f8c2df, 0x014863a9, 0x00587ff6, 0x03a6116f, 0x0031083f}}, Y: Field{[10]uint32{0x010a028c, 0x02c50ef9, 0x03bc0079, 0x025cbba3, 0x017fd76d, 0x017b6a30, 0x019e9cf9, 0x023db212, 0x029c25c6, 0x0039b311}}}, + {X: Field{[10]uint32{0x02e3de0d, 0x01de11fa, 0x0169b50c, 0x029f9ff2, 0x0034d386, 0x00c85d1a, 0x002f06fd, 0x010f7563, 0x03432203, 0x001de259}}, Y: Field{[10]uint32{0x01fd9369, 0x01529348, 0x021f8570, 0x016589e4, 0x00cd9067, 0x00a7a4aa, 0x00bcd7d6, 0x037365c4, 0x019e4408, 0x0010d435}}}, + {X: Field{[10]uint32{0x009f5827, 0x009c4e4d, 0x03c83dc1, 0x023c644c, 0x03714768, 0x00dbfc3d, 0x0334f9b6, 0x0372d00c, 0x002c1a14, 0x0033dfa9}}, Y: Field{[10]uint32{0x019e6d9d, 0x02547776, 0x00a29f8e, 0x02259918, 0x020ad1a6, 0x025792a9, 0x01c28468, 0x03e7744e, 0x0080166b, 0x002e700b}}}, + {X: Field{[10]uint32{0x0273a91f, 0x0057e969, 0x036309d8, 0x0211fdd4, 0x02417b1c, 0x00f27e5b, 0x028ab1b3, 0x02af76b6, 0x0039ab1f, 0x00345e4d}}, Y: Field{[10]uint32{0x02d3b3e0, 0x003473f3, 0x0105f9bc, 0x03496903, 0x03b429ad, 0x02699f43, 0x019f6f7f, 0x0106c8ec, 0x02593b59, 0x002b04f5}}}, + {X: Field{[10]uint32{0x0292b420, 0x0193c0a7, 0x0026be98, 0x01dd29d0, 0x02547225, 0x004cf727, 0x02f58630, 0x0379c314, 0x00d6727d, 0x002ec55a}}, Y: Field{[10]uint32{0x02af3992, 0x01c32548, 0x02fe70b1, 0x00af856a, 0x009e137d, 0x03bb8a70, 0x02adf80c, 0x01d31b31, 0x0356268d, 0x002d5951}}}, + {X: Field{[10]uint32{0x03877dcc, 0x037a9eb6, 0x0020535c, 0x00b5de37, 0x03ce07c4, 0x00c6ea4f, 0x00681772, 0x02968e9d, 0x02d783e8, 0x001cca44}}, Y: Field{[10]uint32{0x03df80a2, 0x01e3239d, 0x01bab06f, 0x034ffb4f, 0x011664f5, 0x0271ea51, 0x00ffd7c2, 0x02348f9a, 0x03881b12, 0x0034d2e0}}}, + {X: Field{[10]uint32{0x0297074c, 0x011a231c, 0x00afa908, 0x03748941, 0x034927b6, 0x01a134ed, 0x03e18651, 0x00cba0b0, 0x0371fb85, 0x0031d3c3}}, Y: Field{[10]uint32{0x01006ac1, 0x027c69ef, 0x0006a53a, 0x0350440a, 0x0235984b, 0x0341031b, 0x03e5a92d, 0x005e3a2f, 0x0261c0bd, 0x0027697a}}}, + {X: Field{[10]uint32{0x023283b0, 0x032f1a27, 0x00aac91f, 0x004cf25c, 0x031785a6, 0x00c18366, 0x00e9e494, 0x01683169, 0x01398bda, 0x002f53ea}}, Y: Field{[10]uint32{0x030e433a, 0x02973680, 0x0295c5d2, 0x02efc537, 0x02e79cfd, 0x032eb035, 0x01be1cac, 0x012d2516, 0x03edb661, 0x0018c753}}}, + {X: Field{[10]uint32{0x0341cc8f, 0x01971928, 0x03a72f24, 0x01e5ee26, 0x03e9bc2d, 0x0172daf4, 0x003e0c81, 0x004f4c92, 0x0062733f, 0x0027e995}}, Y: Field{[10]uint32{0x0212db04, 0x0280b89a, 0x0313010f, 0x03f0bc53, 0x01443505, 0x01289c54, 0x00ada32c, 0x02c635d2, 0x005bafc5, 0x001c147f}}}, + {X: Field{[10]uint32{0x035e31aa, 0x0101d130, 0x03d4a6cd, 0x03f8b07a, 0x03715168, 0x036f94ef, 0x02434a9d, 0x02fc7a05, 0x037dab3d, 0x003aba9b}}, Y: Field{[10]uint32{0x0384d61d, 0x0069eae5, 0x01e6a76a, 0x02c07dc2, 0x01a594b9, 0x03d2ea41, 0x0080619f, 0x00ae5b08, 0x02c24f20, 0x002e5a58}}}, + {X: Field{[10]uint32{0x0317a2fc, 0x01eff14e, 0x007516b9, 0x022925fe, 0x039a117c, 0x02e38954, 0x03e6d5b7, 0x01d413cc, 0x02b63b94, 0x002cf7de}}, Y: Field{[10]uint32{0x01758b9b, 0x006ef127, 0x025b5ec5, 0x03aa454a, 0x01f11f00, 0x0069d677, 0x03a62650, 0x039b3b5b, 0x0100a35a, 0x001cb7dd}}}, + {X: Field{[10]uint32{0x03281bbf, 0x0346b1b0, 0x017fa3a8, 0x0025c990, 0x034341df, 0x01438a53, 0x0219be99, 0x0122b915, 0x02cc46da, 0x003be1d7}}, Y: Field{[10]uint32{0x031c72f5, 0x010aecdf, 0x01bc28a6, 0x030ae7a3, 0x0351ced2, 0x00c1b261, 0x010eb6e8, 0x0016db5b, 0x0204af4c, 0x001eae78}}}, + {X: Field{[10]uint32{0x00024fdc, 0x01bcdb1c, 0x014e7fc2, 0x015d32fc, 0x033d7487, 0x03f29422, 0x002f234a, 0x0228e942, 0x0046576a, 0x001d30f1}}, Y: Field{[10]uint32{0x00136506, 0x03fa3877, 0x02ae88c4, 0x02725293, 0x03b6ccac, 0x027628c1, 0x01d2afbf, 0x01bea1cb, 0x01164ddb, 0x001cf55e}}}, + {X: Field{[10]uint32{0x00f39274, 0x00e11b43, 0x00e1acf3, 0x02096999, 0x00c06b71, 0x00ee8bc6, 0x00204933, 0x00b8f9b0, 0x032c409f, 0x00256712}}, Y: Field{[10]uint32{0x009aad47, 0x010bda0b, 0x015d945f, 0x027c68e6, 0x01d31991, 0x03716fb7, 0x03cd3980, 0x018a7edc, 0x035c7401, 0x0005f2ac}}}, + {X: Field{[10]uint32{0x009175fb, 0x01e6a6db, 0x00d69a94, 0x02f24bed, 0x03f67c24, 0x01ff7ead, 0x013b53c6, 0x014c4c65, 0x01d69419, 0x001013c3}}, Y: Field{[10]uint32{0x024d87b3, 0x0245ef7c, 0x01570147, 0x01e61bbf, 0x037e7d3e, 0x0350ac0d, 0x01560851, 0x01234eac, 0x01e7f40a, 0x00215f1d}}}, + {X: Field{[10]uint32{0x00e82075, 0x031248db, 0x03566807, 0x03bc05c2, 0x032db4ec, 0x0021504d, 0x01f4d5ab, 0x003d694f, 0x0111233b, 0x000f8101}}, Y: Field{[10]uint32{0x000df3d3, 0x000e09d8, 0x00e02b96, 0x03806de4, 0x021fda08, 0x019d4ec8, 0x0235ebf5, 0x00e10dde, 0x0271dd44, 0x003e4cdc}}}, + {X: Field{[10]uint32{0x00d77e6e, 0x01337c8b, 0x03bd3e04, 0x00ae5211, 0x00ecc869, 0x01ef6b01, 0x03993e74, 0x0370f87d, 0x005310df, 0x00250baa}}, Y: Field{[10]uint32{0x02a155e5, 0x039892e7, 0x00e51e02, 0x03e950a3, 0x01f33e9a, 0x023106c7, 0x0110bbe5, 0x02dba6d1, 0x03c8e688, 0x002efcbd}}}, + {X: Field{[10]uint32{0x0103b532, 0x01b3a873, 0x02c0a3fe, 0x0247842c, 0x01dce217, 0x03406028, 0x01938097, 0x0297ee15, 0x02749883, 0x000795de}}, Y: Field{[10]uint32{0x0041c003, 0x005fb0eb, 0x01790194, 0x004b5773, 0x007b5756, 0x009e3a1e, 0x02530007, 0x0178576e, 0x022f856f, 0x002851d9}}}, + {X: Field{[10]uint32{0x03feaa5a, 0x01cb13db, 0x014c8ae4, 0x03f9f156, 0x037a05fb, 0x001ff928, 0x02e9dfa6, 0x01ed9084, 0x015a8a23, 0x003af276}}, Y: Field{[10]uint32{0x03f1162a, 0x011e55f9, 0x03c05b17, 0x0361ad2b, 0x038fec2f, 0x03e2d234, 0x015fb458, 0x0291f33c, 0x01c0e311, 0x000e501b}}}, + {X: Field{[10]uint32{0x03cac063, 0x00febc18, 0x00475277, 0x00dc7ecb, 0x01b90816, 0x02125862, 0x023d2280, 0x03f08084, 0x03601afd, 0x0031e3ab}}, Y: Field{[10]uint32{0x02b42de7, 0x020ecfcf, 0x029c76df, 0x033db07f, 0x01bacb42, 0x01b4e5be, 0x02e84c51, 0x00b7177d, 0x01b1e0c2, 0x000254c9}}}, + {X: Field{[10]uint32{0x036d34a0, 0x01a173f7, 0x01db8752, 0x01a80d5c, 0x004f2e53, 0x005f09e6, 0x00a3d0e1, 0x00134ad1, 0x0319a1d5, 0x002d6461}}, Y: Field{[10]uint32{0x00184abe, 0x013a6986, 0x02a356d5, 0x02c9798b, 0x0016beac, 0x03226414, 0x029828aa, 0x02df23e8, 0x00cb585c, 0x0026c07a}}}, + {X: Field{[10]uint32{0x020042cd, 0x0325e3a3, 0x01584bda, 0x0115297a, 0x02454f10, 0x031bdd6d, 0x0107dfdc, 0x0327464a, 0x033eb59f, 0x0021c1a9}}, Y: Field{[10]uint32{0x03dc3a49, 0x024a1b56, 0x001ce710, 0x037478d3, 0x004265e2, 0x02daa1fa, 0x028405a2, 0x01e35bd4, 0x03566f1f, 0x0022c6d7}}}, + {X: Field{[10]uint32{0x0312d6ca, 0x0154a741, 0x0230ae64, 0x0108e888, 0x00793e56, 0x01b8ab41, 0x00a92890, 0x012fedbd, 0x016e4ddb, 0x0024fa49}}, Y: Field{[10]uint32{0x02afdcea, 0x01aa3b5b, 0x01cd6975, 0x011e429d, 0x03d874f2, 0x0038e626, 0x000ea62f, 0x037fb0d9, 0x02dbd9b3, 0x0020ec90}}}, + {X: Field{[10]uint32{0x022ac295, 0x031bfe7a, 0x0127fe9a, 0x02fd62ad, 0x03a24fff, 0x00755806, 0x0353956a, 0x03ce6f2c, 0x01af8702, 0x000b6b52}}, Y: Field{[10]uint32{0x03e4675b, 0x00e98949, 0x002fe277, 0x00450370, 0x00ed4036, 0x032b3a30, 0x000704e2, 0x001d8957, 0x00b8e604, 0x002d6bda}}}, + {X: Field{[10]uint32{0x036950a0, 0x00431513, 0x014f7597, 0x0193d0ec, 0x0086a2c3, 0x03af8ccb, 0x01627195, 0x00be9152, 0x00994da4, 0x0017ff06}}, Y: Field{[10]uint32{0x02c9bb88, 0x00c6b570, 0x0363f043, 0x00be6ea7, 0x014542ad, 0x036c14f3, 0x00e61419, 0x017ea888, 0x00a87981, 0x0008bab0}}}, + {X: Field{[10]uint32{0x001c51ba, 0x02982ff5, 0x02b6e69f, 0x02739b98, 0x00324c63, 0x00aed6b4, 0x0221bb8a, 0x029e6713, 0x01bb1832, 0x001c6f82}}, Y: Field{[10]uint32{0x00dda472, 0x03c8e355, 0x01656e4f, 0x03730578, 0x01950588, 0x0153ac92, 0x0040767b, 0x016e3ca3, 0x03c5719a, 0x0031489f}}}, + {X: Field{[10]uint32{0x02587212, 0x0303b59a, 0x002770ba, 0x0359115a, 0x0056d661, 0x037caeb1, 0x00a3cb37, 0x0267c299, 0x0305f927, 0x00013e50}}, Y: Field{[10]uint32{0x03c054ab, 0x007f04c4, 0x03344051, 0x01b5b403, 0x026baf79, 0x0363475f, 0x00ddc7ca, 0x020f5ae5, 0x011fbd86, 0x0013121a}}}, + {X: Field{[10]uint32{0x00f0ab81, 0x021ace98, 0x033bc54b, 0x02338b1a, 0x02b3aeb3, 0x017d8614, 0x024fc096, 0x0248fb98, 0x028b6fc2, 0x00157be1}}, Y: Field{[10]uint32{0x0222efab, 0x039b9e45, 0x01a0e72c, 0x037c8b70, 0x0376cff6, 0x0198147e, 0x014d0adc, 0x02d3314d, 0x02eaab16, 0x003b0662}}}, + {X: Field{[10]uint32{0x00fdab68, 0x0330d55d, 0x022790cb, 0x02f08d90, 0x00a357f6, 0x01028e56, 0x020953ed, 0x0276fc39, 0x019046e1, 0x0009ab55}}, Y: Field{[10]uint32{0x02795508, 0x03ecfc3e, 0x025e2184, 0x039d36f0, 0x00e5bb77, 0x002f1a25, 0x03c6a746, 0x00870154, 0x01ef9067, 0x002bdbf1}}}, + {X: Field{[10]uint32{0x0037312a, 0x03307c3b, 0x0150384f, 0x01a63ba3, 0x02bc051a, 0x00e406fc, 0x000b0ae4, 0x01c554e7, 0x003ab1b0, 0x001ce7ed}}, Y: Field{[10]uint32{0x006b7e28, 0x00f9d8db, 0x019e7a19, 0x02e1302d, 0x01ff90d6, 0x0379aad3, 0x00abe331, 0x008898b5, 0x03043c88, 0x0030488d}}}, + {X: Field{[10]uint32{0x0216771d, 0x026eb519, 0x02c6cc29, 0x0196a74c, 0x03d5a109, 0x00ba4497, 0x03422f82, 0x03d76a9e, 0x009d508c, 0x00085119}}, Y: Field{[10]uint32{0x001ca76e, 0x03348a74, 0x03a1a74a, 0x032b6776, 0x0376ddea, 0x01419f3a, 0x03ef96b3, 0x031117c0, 0x038c0e33, 0x000454c5}}}, + {X: Field{[10]uint32{0x03b97072, 0x036438ee, 0x03580ec8, 0x038d55b4, 0x014d5577, 0x014209e3, 0x02a85175, 0x023a3c5b, 0x023c16ee, 0x0018b311}}, Y: Field{[10]uint32{0x026a891e, 0x0218ffa2, 0x033fcb81, 0x03e8be6a, 0x0356b48e, 0x0244ce56, 0x02a6c91c, 0x03140211, 0x0043e299, 0x00334a52}}}, + {X: Field{[10]uint32{0x03ef9c21, 0x03ab0cd4, 0x031c9707, 0x0376e77f, 0x004317e1, 0x0103dd33, 0x00fdb006, 0x03c64345, 0x030133ed, 0x00004658}}, Y: Field{[10]uint32{0x0020494c, 0x00db4855, 0x020c8031, 0x0065841a, 0x00caa4f5, 0x03681c0d, 0x03851876, 0x03b9b5d0, 0x00e5e3a3, 0x003c5aad}}}, + {X: Field{[10]uint32{0x0289adcd, 0x0298c648, 0x03c162b4, 0x00d0099c, 0x03777d4e, 0x025554a1, 0x0315baed, 0x03e4fca3, 0x03863fda, 0x002c942f}}, Y: Field{[10]uint32{0x01b3d2c1, 0x0356b04e, 0x016f828a, 0x03bce7eb, 0x01da1e06, 0x02d0357e, 0x013543f6, 0x00f4a21f, 0x01bede34, 0x000a5701}}}, + {X: Field{[10]uint32{0x003e7c6c, 0x03d1bd92, 0x03e696f4, 0x002053a1, 0x01027ef0, 0x00b0666c, 0x010945a7, 0x011ce67c, 0x03bcae58, 0x0024e902}}, Y: Field{[10]uint32{0x02858a09, 0x03a32f2a, 0x0217389f, 0x03802bd9, 0x03f088e2, 0x0249a192, 0x03289a45, 0x0259d3d7, 0x00c02980, 0x00207b5c}}}, + {X: Field{[10]uint32{0x020978cc, 0x0230303d, 0x01f90eff, 0x03753eaa, 0x0019ff7d, 0x03a60978, 0x03e76b34, 0x0275d6c5, 0x021b4e90, 0x002e799d}}, Y: Field{[10]uint32{0x035aa117, 0x01e4241e, 0x0211b762, 0x00ef2634, 0x0165c75e, 0x03cb215d, 0x001b70fb, 0x0049c222, 0x01035fb9, 0x00190305}}}, + {X: Field{[10]uint32{0x00cfec24, 0x010d8344, 0x039beebf, 0x0146c08a, 0x00ae4547, 0x016cb702, 0x03e260cf, 0x026e91a1, 0x0012fe3d, 0x0013708a}}, Y: Field{[10]uint32{0x039a90d1, 0x00b7d7df, 0x01c4305b, 0x00b90c0c, 0x0227f082, 0x0135a015, 0x02e986da, 0x0204d554, 0x034a5685, 0x00270d7b}}}, + {X: Field{[10]uint32{0x009deadf, 0x020a1b13, 0x03540934, 0x00948d98, 0x03e198e2, 0x020f4b4e, 0x02b94ba6, 0x03e70901, 0x02b31127, 0x0010c49d}}, Y: Field{[10]uint32{0x001efb3e, 0x00e312b8, 0x03743139, 0x03237756, 0x02c26d39, 0x037232fb, 0x006280dd, 0x037e192d, 0x0184c7f1, 0x0008997b}}}, + {X: Field{[10]uint32{0x0283632a, 0x0042b2cd, 0x00360aa8, 0x00dae1e2, 0x03328f17, 0x033eaa45, 0x00b81d76, 0x0163d0ad, 0x02c3c990, 0x001d716d}}, Y: Field{[10]uint32{0x028f719d, 0x036d7142, 0x00464aff, 0x006ea03c, 0x014a5aaa, 0x026a243c, 0x02309ef4, 0x01edfdc2, 0x009fdef1, 0x001527c0}}}, + {X: Field{[10]uint32{0x02a827d7, 0x03be6773, 0x0357c815, 0x03a44ba9, 0x0326d4d4, 0x02920077, 0x02b1a377, 0x03dd0a5d, 0x0027205a, 0x000f2400}}, Y: Field{[10]uint32{0x00649cc0, 0x015e2c42, 0x0184c83c, 0x01183f9c, 0x02007a24, 0x00ce76ac, 0x007fa7c0, 0x029f788e, 0x03f337ec, 0x00038a33}}}, + {X: Field{[10]uint32{0x0310d9ff, 0x01ebaacc, 0x0297f3a8, 0x02f4ea3a, 0x00c89637, 0x01708fcc, 0x03a8ab0d, 0x02e57c27, 0x031a3676, 0x0015983c}}, Y: Field{[10]uint32{0x011c568b, 0x035e1b2c, 0x03839efb, 0x01b0ae8f, 0x03955bb7, 0x01366bfc, 0x0092ff3e, 0x032829f6, 0x00d66bc4, 0x003581a7}}}, + {X: Field{[10]uint32{0x033babe9, 0x01e1bfd7, 0x02f618cd, 0x0351e6bd, 0x00e6733c, 0x02dc75de, 0x03979ce5, 0x037219fd, 0x00a41b45, 0x000ae2da}}, Y: Field{[10]uint32{0x01e4097a, 0x0314b163, 0x021ab40a, 0x0311b050, 0x03840f89, 0x02b66824, 0x00923f63, 0x006ccf08, 0x0244d544, 0x001f20c4}}}, + {X: Field{[10]uint32{0x01c18610, 0x00a73aa2, 0x01290442, 0x012cc0fa, 0x001d369d, 0x01acff28, 0x03578869, 0x02f3712c, 0x004db817, 0x00218d40}}, Y: Field{[10]uint32{0x02b909e2, 0x03b0ca5b, 0x0300c4c3, 0x00487f12, 0x007e9f35, 0x00563687, 0x0384cc05, 0x01b9af8b, 0x02402bd4, 0x00091cb6}}}, + {X: Field{[10]uint32{0x00cb28d0, 0x01a88d22, 0x03b693a5, 0x000f7193, 0x01b0d39d, 0x01b87b33, 0x03afbde4, 0x013e5e6d, 0x026b6eeb, 0x001b2646}}, Y: Field{[10]uint32{0x01c95620, 0x00467bd9, 0x013722bc, 0x00f93350, 0x030e0b75, 0x00fad11c, 0x0277188d, 0x018d4140, 0x034fc2cd, 0x0007977d}}}, + {X: Field{[10]uint32{0x0341570c, 0x02865fa7, 0x03a0ca52, 0x029258bf, 0x00554569, 0x0248a22e, 0x0298ed7e, 0x033246e5, 0x019d4283, 0x002b36b0}}, Y: Field{[10]uint32{0x02d7b66e, 0x00e94831, 0x01afeea0, 0x029be5f6, 0x02451d41, 0x01c5d0ae, 0x030c6bfe, 0x021507d4, 0x0187523c, 0x003e94db}}}, + {X: Field{[10]uint32{0x025fc6c0, 0x00a96591, 0x00abba3e, 0x03c2bad4, 0x0385bba7, 0x034a29f2, 0x00b107c3, 0x032ee552, 0x03a3f696, 0x002c525a}}, Y: Field{[10]uint32{0x006318ad, 0x00bbcf72, 0x0057a857, 0x02effd73, 0x03487740, 0x03a01e09, 0x03c8f8ea, 0x0129bb83, 0x00d5727a, 0x001dfedb}}}, + {X: Field{[10]uint32{0x01b09126, 0x01500d36, 0x03ec94d8, 0x01e2b6c1, 0x02c2c9f8, 0x01b44a39, 0x00cab31d, 0x03a7283f, 0x01b56098, 0x000ff65f}}, Y: Field{[10]uint32{0x022b4578, 0x01007cc8, 0x014a22c0, 0x012c09f8, 0x0324e37d, 0x022c91bd, 0x00451273, 0x038dd03f, 0x00361494, 0x0006f5df}}}, + {X: Field{[10]uint32{0x02aefce9, 0x00ab8bb0, 0x03338898, 0x03feb5e4, 0x02eb174c, 0x00271f3e, 0x036d5c44, 0x01a3b551, 0x0055f2a4, 0x0017a37e}}, Y: Field{[10]uint32{0x02a6845f, 0x02e32c4d, 0x0357a17e, 0x03b311bc, 0x01d50da8, 0x021c0610, 0x01771843, 0x032a2282, 0x02823bb8, 0x0014b9ce}}}, + {X: Field{[10]uint32{0x024672bd, 0x005021b1, 0x006613f8, 0x0076e503, 0x0062021a, 0x003ee4cb, 0x01e6fb0a, 0x032da7a5, 0x02eb1417, 0x00267c41}}, Y: Field{[10]uint32{0x03a6501d, 0x02097ffd, 0x015337e9, 0x010f4613, 0x01e484d8, 0x00709ff9, 0x02926e6a, 0x0000441a, 0x0038e1e7, 0x00279fec}}}, + {X: Field{[10]uint32{0x0251ef8c, 0x00c18e9f, 0x031f7ac4, 0x03f52971, 0x0068bb14, 0x03fc3882, 0x011d6864, 0x0361fff4, 0x00985526, 0x001a1bf1}}, Y: Field{[10]uint32{0x00588e5b, 0x01824651, 0x0224422f, 0x017d6cf5, 0x024137dc, 0x0383c8ff, 0x016dd6b2, 0x02be16f2, 0x0132d793, 0x00074a3d}}}, + {X: Field{[10]uint32{0x03f6b83d, 0x03e5af2f, 0x03b2093d, 0x0001582f, 0x00e4c836, 0x00dc3e19, 0x00f3a85b, 0x002f2a45, 0x0356cc45, 0x0033e977}}, Y: Field{[10]uint32{0x0137604b, 0x0017cee3, 0x0203f78b, 0x03c09938, 0x0261cf56, 0x023e05c1, 0x01d96c74, 0x03ff246c, 0x0246bab7, 0x0033bee6}}}, + {X: Field{[10]uint32{0x013e404e, 0x0022791c, 0x003e8b39, 0x01aa58aa, 0x02893760, 0x00d39f2f, 0x0241eed5, 0x025a4fdd, 0x034c3fbb, 0x002646da}}, Y: Field{[10]uint32{0x023f8d3e, 0x02d83baf, 0x03c7113b, 0x01e75611, 0x02098dab, 0x012e4ae2, 0x038a0a2f, 0x019a234e, 0x026bbe55, 0x000fffae}}}, + {X: Field{[10]uint32{0x03c8c0d7, 0x006ee484, 0x00bcd689, 0x038d5a4e, 0x032955c4, 0x0089b144, 0x021fa14f, 0x00487162, 0x01d3b9b0, 0x00344131}}, Y: Field{[10]uint32{0x00caa6e9, 0x003415ac, 0x0196a3d9, 0x00028244, 0x00091ddb, 0x0171ddce, 0x02cea218, 0x01f3f40c, 0x019a814d, 0x0002320e}}}, + {X: Field{[10]uint32{0x0355dfce, 0x00c652f8, 0x031bcad9, 0x03df1d2c, 0x03415a06, 0x0065093a, 0x01c9a407, 0x00d921d2, 0x0053a45c, 0x001d864a}}, Y: Field{[10]uint32{0x024ad2fc, 0x03cdd14c, 0x01ecf84e, 0x00de451d, 0x02b5517b, 0x00984f18, 0x02bc9345, 0x01404b5f, 0x02873cbb, 0x000c44e4}}}, + {X: Field{[10]uint32{0x01070725, 0x027ec6b9, 0x016c8805, 0x02e6069f, 0x0210c7f9, 0x014424ec, 0x01b1de5c, 0x0307d301, 0x00a80509, 0x0005ccc1}}, Y: Field{[10]uint32{0x001d353e, 0x0087e24d, 0x013d5f9e, 0x022ce630, 0x02800cdc, 0x01a48a5e, 0x03db2e9c, 0x020e5150, 0x0198c8e0, 0x0010efef}}}, + {X: Field{[10]uint32{0x03da104a, 0x02b94542, 0x014c46b7, 0x02a02c53, 0x019eacca, 0x0391bf25, 0x03f5b6a9, 0x01545041, 0x03e1d28c, 0x002b2815}}, Y: Field{[10]uint32{0x02bf6ce8, 0x02e90cf9, 0x017024dc, 0x03348fdb, 0x00cb00e6, 0x012dcae3, 0x0095be9a, 0x01dbfc60, 0x031770bd, 0x00385fc5}}}, + {X: Field{[10]uint32{0x0076dbaa, 0x0212274d, 0x02b04b7e, 0x017d839b, 0x0385b294, 0x00029f70, 0x00a73859, 0x023ec70c, 0x0150e009, 0x003ec809}}, Y: Field{[10]uint32{0x039a0f28, 0x013d597b, 0x0099645e, 0x008b7f0f, 0x03cedda9, 0x01fd1cf3, 0x03bc98c7, 0x031a36f4, 0x00203f72, 0x0006abe1}}}, + {X: Field{[10]uint32{0x011ae7ac, 0x021e6f38, 0x0101c08f, 0x026108b1, 0x03af1aa2, 0x00a562f8, 0x0366c66c, 0x01eae396, 0x010ca022, 0x003a56dc}}, Y: Field{[10]uint32{0x0397cf19, 0x00975427, 0x030a2c55, 0x01a36728, 0x00c745a9, 0x03b7407e, 0x0109022c, 0x03d2df6a, 0x00e1ab5c, 0x0039917d}}}, + {X: Field{[10]uint32{0x0044770a, 0x019bcf7a, 0x02a15147, 0x01b339df, 0x03ab136c, 0x033b517f, 0x01cf203c, 0x02ffe581, 0x025c3589, 0x001b6d14}}, Y: Field{[10]uint32{0x02658c81, 0x035a121c, 0x00903eb5, 0x02ecf167, 0x03799cd7, 0x00b01a62, 0x031d2958, 0x01612c8c, 0x0003f5f7, 0x0039adfd}}}, + {X: Field{[10]uint32{0x01085eb3, 0x01cc4ccd, 0x022c8fbe, 0x0229a592, 0x01169043, 0x0136e711, 0x03c2959e, 0x03ab9c57, 0x029e49da, 0x002224ea}}, Y: Field{[10]uint32{0x01987cdd, 0x031c2539, 0x00c10d01, 0x0316ebb2, 0x01bd15ce, 0x0197d8b2, 0x037a4b02, 0x00fced8d, 0x003eae80, 0x001c3ef6}}}, + {X: Field{[10]uint32{0x020207a0, 0x02505363, 0x01fd56e3, 0x03123ceb, 0x012cd9e2, 0x02a9e2f2, 0x01e3ece8, 0x02336a1c, 0x02cfac6e, 0x002f95fd}}, Y: Field{[10]uint32{0x0293d5f2, 0x0083cafb, 0x03aa1581, 0x0374daec, 0x028893ee, 0x0266a9ee, 0x00d141d8, 0x03e273f7, 0x007299ab, 0x001e05c2}}}, + {X: Field{[10]uint32{0x00b34925, 0x0232d508, 0x03562671, 0x03d16a79, 0x00a2f69b, 0x0340ad75, 0x0205ddd8, 0x0044a717, 0x02d285a0, 0x0001dfe9}}, Y: Field{[10]uint32{0x026455cc, 0x0136d14c, 0x03b97ce0, 0x02643805, 0x0337a2da, 0x0303b7fa, 0x0086288e, 0x0348633a, 0x023c13a3, 0x000c56ec}}}, + {X: Field{[10]uint32{0x01f4dc03, 0x02826e34, 0x01d00b2e, 0x02b65e37, 0x02061094, 0x019ffec3, 0x00834ca7, 0x0370cd8b, 0x03fe8414, 0x000bfb5e}}, Y: Field{[10]uint32{0x00117e01, 0x0378b166, 0x00ff20a6, 0x0182db13, 0x0363332a, 0x00047186, 0x01e434f0, 0x00f4c559, 0x00f7aa0b, 0x0005397a}}}, + {X: Field{[10]uint32{0x034d66c6, 0x03ab2242, 0x026a101a, 0x010b3a3b, 0x037f8af2, 0x03c0fb8f, 0x0343df2b, 0x006e87f2, 0x00d05a87, 0x0027d30b}}, Y: Field{[10]uint32{0x02922920, 0x0316502f, 0x01acf83b, 0x03d7f0d0, 0x03d0fd7d, 0x030e1388, 0x038a2abd, 0x01e21e3f, 0x0352f242, 0x003ad087}}}, + {X: Field{[10]uint32{0x01bea647, 0x03e9f297, 0x013ce7c8, 0x022eef07, 0x0015f0a4, 0x00dce0fc, 0x0203ef6e, 0x001332dc, 0x00b6824a, 0x0014f038}}, Y: Field{[10]uint32{0x01618cf9, 0x03f4e853, 0x00e91836, 0x0178416a, 0x0313c59d, 0x03a024e5, 0x01729f9b, 0x0328694e, 0x018d9246, 0x001aa6d6}}}, + {X: Field{[10]uint32{0x0117d714, 0x00eb62ab, 0x02fd5c0a, 0x02fded3b, 0x03bb20fd, 0x00cf5a3a, 0x037bba54, 0x01ae12da, 0x0082d790, 0x0036f033}}, Y: Field{[10]uint32{0x01cd7211, 0x031d9d8b, 0x02e37a4f, 0x038a14c1, 0x008aee42, 0x039798ce, 0x001b0904, 0x00b0e9be, 0x038623ff, 0x0017af07}}}, + {X: Field{[10]uint32{0x008f5f0b, 0x002a9b49, 0x02165af2, 0x01e10314, 0x02ca93a4, 0x004c7557, 0x01a8cbb8, 0x023811ec, 0x0332a3c0, 0x001e18ab}}, Y: Field{[10]uint32{0x03fc15d8, 0x03f70ce2, 0x02684f1e, 0x00ba36a4, 0x017e8c27, 0x021ecefe, 0x0367a645, 0x00d4f228, 0x02076b10, 0x002ed7d9}}}, + {X: Field{[10]uint32{0x031049ee, 0x013032a4, 0x037524e4, 0x0326e1d4, 0x01f8238f, 0x005724ec, 0x012bad80, 0x0162ddbb, 0x01fc8001, 0x00034d5c}}, Y: Field{[10]uint32{0x02a44bc3, 0x01af1d20, 0x0315f4d2, 0x03e549af, 0x0170a9e6, 0x0056bd12, 0x00872fa9, 0x00c2aa74, 0x01e83e66, 0x00058b72}}}, + {X: Field{[10]uint32{0x00589d9b, 0x022c2de2, 0x02a26e90, 0x036a23eb, 0x03b9f531, 0x037cd613, 0x02b98e55, 0x031d6190, 0x0094cebb, 0x002a1472}}, Y: Field{[10]uint32{0x0375b422, 0x009638ec, 0x020e1151, 0x03e6d7eb, 0x011e1af1, 0x02b90ceb, 0x01f38983, 0x0307bdc7, 0x015cadfa, 0x001d1c0b}}}, + {X: Field{[10]uint32{0x0258012d, 0x0005b3b6, 0x0131e972, 0x03e407c2, 0x012d9af1, 0x036cba21, 0x0178a08c, 0x03feab82, 0x03f4012e, 0x002a4b90}}, Y: Field{[10]uint32{0x002fb668, 0x000ee574, 0x013c6bb9, 0x01ec8ef0, 0x02535c68, 0x02094825, 0x01d7bd12, 0x005c3acd, 0x009d5560, 0x00363d68}}}, + {X: Field{[10]uint32{0x03cff6bb, 0x001fed7c, 0x0024c090, 0x00a74a0f, 0x02bb29e1, 0x01d83b36, 0x02658c64, 0x01a7210b, 0x02448b43, 0x001d72bf}}, Y: Field{[10]uint32{0x0355dc39, 0x011dec42, 0x015f53c9, 0x028bee88, 0x02db1ea5, 0x00751ce2, 0x02affab5, 0x00d54c78, 0x02e243c7, 0x00328384}}}, + {X: Field{[10]uint32{0x0041d006, 0x012114e3, 0x02b56a21, 0x01ddedb9, 0x02c48c41, 0x02008ed6, 0x017a2337, 0x0167b0bc, 0x00664db9, 0x00002ac0}}, Y: Field{[10]uint32{0x035d8b31, 0x00dc5d67, 0x029b7b5d, 0x01f7adcb, 0x01e3d338, 0x0101d62b, 0x02762fb9, 0x0145a7d1, 0x02fc3554, 0x00233e78}}}, + {X: Field{[10]uint32{0x01b7ecb7, 0x02fa9427, 0x027814a1, 0x03f55cfc, 0x00f89b9a, 0x011a747c, 0x00855bf0, 0x0084d060, 0x02f82e4b, 0x0009d443}}, Y: Field{[10]uint32{0x00fb87e1, 0x01570d2b, 0x00aeb900, 0x00337b1a, 0x03b0a1b2, 0x02fa67f4, 0x02073555, 0x0130187f, 0x00e886b5, 0x00083f80}}}, + {X: Field{[10]uint32{0x01b16d3a, 0x00b23293, 0x02c1d745, 0x03b8ed66, 0x03f4a6c2, 0x02727081, 0x021405c9, 0x009dede4, 0x01a8d388, 0x001dcffd}}, Y: Field{[10]uint32{0x00a52f8e, 0x010d6fbe, 0x002848d7, 0x02bcf9cd, 0x0200f75c, 0x01cc638e, 0x00806bd8, 0x03196ebf, 0x0231f51c, 0x0033d179}}}, + {X: Field{[10]uint32{0x02f45746, 0x03311547, 0x0386fe14, 0x00dcb890, 0x034293fc, 0x03686a3b, 0x0277e359, 0x02ff0edc, 0x0098e69e, 0x000be3cb}}, Y: Field{[10]uint32{0x0168ec06, 0x032b5026, 0x02c3642c, 0x0323fba8, 0x008150a6, 0x0012aaba, 0x003e4066, 0x02ae808f, 0x03ecc4dc, 0x003e1748}}}, + {X: Field{[10]uint32{0x0277f67f, 0x020f7a58, 0x001c061a, 0x01e19369, 0x01745756, 0x018d5b39, 0x00849522, 0x03438a82, 0x00daab8d, 0x00061e2b}}, Y: Field{[10]uint32{0x01477020, 0x011596b5, 0x009bb968, 0x00a039b4, 0x03ecbcc1, 0x03e922bc, 0x0296f05b, 0x0024b2b7, 0x028d064e, 0x00104b21}}}, + {X: Field{[10]uint32{0x035618c1, 0x02312f13, 0x029c4cad, 0x003d273d, 0x02c5a17b, 0x004dcfd8, 0x004f3cdd, 0x039389fb, 0x001aeac4, 0x000233ca}}, Y: Field{[10]uint32{0x01ed5973, 0x03f61bca, 0x02625cd9, 0x036d93fe, 0x027dbf09, 0x038cc0a6, 0x023911ed, 0x03a89f36, 0x019529c9, 0x000bc5fe}}}, + {X: Field{[10]uint32{0x008939f9, 0x0081a634, 0x01ec39ea, 0x00d9c5fc, 0x02a09579, 0x0370abbf, 0x010d1913, 0x00da7976, 0x009ff165, 0x000e965f}}, Y: Field{[10]uint32{0x000a14d4, 0x018ad3ac, 0x01926da4, 0x021bd624, 0x03a7b48c, 0x00262381, 0x03464b00, 0x028b7816, 0x03b290c9, 0x00230880}}}, + {X: Field{[10]uint32{0x010ca15e, 0x013eb2e5, 0x028ac505, 0x0242eeb1, 0x03b9ceec, 0x014a40e4, 0x029c8615, 0x0043fd77, 0x0205096f, 0x00032f8c}}, Y: Field{[10]uint32{0x03ee27f4, 0x00ae51d3, 0x02bd0547, 0x00b2b785, 0x039bf7c7, 0x00580072, 0x02b48557, 0x02e84b0c, 0x006ab76a, 0x00111b2c}}}, + {X: Field{[10]uint32{0x02fed594, 0x036c1055, 0x00bd53a8, 0x00017b98, 0x011cde71, 0x019511cc, 0x0013b09e, 0x0139c061, 0x01cf0822, 0x0010c4f2}}, Y: Field{[10]uint32{0x03329a96, 0x0275cd46, 0x023317ab, 0x0352af12, 0x000e80bb, 0x02809482, 0x001021f9, 0x016a32c6, 0x019dd304, 0x0037ebcd}}}, + {X: Field{[10]uint32{0x0373c60e, 0x03c3eaaf, 0x036882bd, 0x02ac67ed, 0x011f5cbf, 0x03697fe9, 0x009651b2, 0x02b7b0b6, 0x0351f8d8, 0x0033ab4a}}, Y: Field{[10]uint32{0x02a25897, 0x01472915, 0x0221bf84, 0x029fb4b4, 0x026dd3bd, 0x02fc512b, 0x03e79322, 0x03c3a31c, 0x00806992, 0x002aca89}}}, + {X: Field{[10]uint32{0x027b79a0, 0x03c9eb92, 0x020e52d8, 0x02b67e2f, 0x0298e34d, 0x017b9bbb, 0x01164b84, 0x01d8bd91, 0x008d0848, 0x002739d7}}, Y: Field{[10]uint32{0x02a30a05, 0x00a76f26, 0x03571d0a, 0x0166e458, 0x029f6275, 0x02dd0a89, 0x017c04c8, 0x02a419ae, 0x014fe11b, 0x0038155b}}}, + {X: Field{[10]uint32{0x026741d7, 0x0002224c, 0x013a96ba, 0x020c0759, 0x0310214b, 0x0308e11e, 0x02106bf8, 0x038957e4, 0x009c621d, 0x00180912}}, Y: Field{[10]uint32{0x004ea858, 0x03638b84, 0x03aa9b1f, 0x0021989b, 0x02abf63e, 0x01ae0b97, 0x01326210, 0x000803b2, 0x032480a9, 0x0002543a}}}, + {X: Field{[10]uint32{0x0308e51d, 0x0348bb57, 0x01e11546, 0x028f1a11, 0x011f55e1, 0x001c957f, 0x02c2638c, 0x01af3501, 0x02f0108f, 0x0034f1d1}}, Y: Field{[10]uint32{0x038dfab6, 0x002f3390, 0x0165e25d, 0x0069bff0, 0x0335ed4e, 0x015fbcf6, 0x001a776c, 0x031ce799, 0x03e5d349, 0x00344936}}}, + {X: Field{[10]uint32{0x036514b8, 0x03c9c5c4, 0x00c6352c, 0x03e6f3e9, 0x01a69c69, 0x00216537, 0x03b9e11e, 0x03088be5, 0x035cd85d, 0x00287ad7}}, Y: Field{[10]uint32{0x00a15fff, 0x01429f3e, 0x03b68007, 0x01d8c094, 0x00ff5e3f, 0x03768ee8, 0x0247ddd7, 0x03805dd8, 0x0135a393, 0x0011bb4f}}}, + {X: Field{[10]uint32{0x005a8736, 0x03dd5852, 0x03639721, 0x015ae0b1, 0x00e44065, 0x0305051f, 0x025f1c61, 0x030b2fea, 0x0357fa3a, 0x000ac928}}, Y: Field{[10]uint32{0x03d73ade, 0x00cc3346, 0x0243c018, 0x017d742d, 0x01ad192a, 0x015c8751, 0x00fd7aed, 0x02b5546a, 0x01bd707a, 0x00359c86}}}, + {X: Field{[10]uint32{0x0187b2ec, 0x0293db3f, 0x03306126, 0x00f98ba7, 0x02ab6a62, 0x00bb2d06, 0x00c9cfb4, 0x0005658f, 0x01ab9dc6, 0x00264068}}, Y: Field{[10]uint32{0x00339317, 0x033363fc, 0x01730633, 0x0307b899, 0x03eb5950, 0x032d0539, 0x037a3df6, 0x035fcbff, 0x0194017c, 0x0023dd99}}}, + {X: Field{[10]uint32{0x0077e8da, 0x02e65961, 0x037634ae, 0x0386c870, 0x0328a2a4, 0x01f56320, 0x018e6003, 0x038bc787, 0x00455890, 0x000c47a1}}, Y: Field{[10]uint32{0x00ce030c, 0x016415bb, 0x00829a04, 0x009c7987, 0x01e017e9, 0x019c0ef0, 0x030dd00f, 0x015d8a86, 0x03676cc7, 0x0033d64f}}}, + {X: Field{[10]uint32{0x0283bb77, 0x023b31e7, 0x008b367a, 0x0391bfba, 0x03122d27, 0x023ebd9b, 0x00ad8b8c, 0x003db8a6, 0x02e39714, 0x002417dc}}, Y: Field{[10]uint32{0x01b65257, 0x01c529bc, 0x019b4698, 0x022a84b8, 0x022d9852, 0x02d6c94e, 0x00b94fc1, 0x03099764, 0x015dbde9, 0x00300fc5}}}, + {X: Field{[10]uint32{0x0339350c, 0x00fd56e8, 0x0085e04a, 0x00cc09f7, 0x0039eafd, 0x02672ed3, 0x00c2f021, 0x000004bf, 0x03a5d594, 0x001877dd}}, Y: Field{[10]uint32{0x01049161, 0x0189a8b6, 0x0005f684, 0x008235b7, 0x01f36640, 0x035b903d, 0x030603f2, 0x026cfdce, 0x037d00de, 0x0009f222}}}, + {X: Field{[10]uint32{0x01f18c28, 0x010aeb17, 0x021295bc, 0x0353bc09, 0x030de36d, 0x03bb01b1, 0x016af906, 0x012c7577, 0x0199886d, 0x00387e38}}, Y: Field{[10]uint32{0x01ca45a8, 0x03e2add4, 0x025e29ec, 0x02d53196, 0x0056a98d, 0x039f98d2, 0x025bc4ba, 0x03abc4a1, 0x02e9b956, 0x00140b04}}}, + {X: Field{[10]uint32{0x03b8565a, 0x02181dbe, 0x02ac19b6, 0x0151e692, 0x029180e1, 0x001133e5, 0x01fe6a77, 0x0288701f, 0x01b83804, 0x002b78bd}}, Y: Field{[10]uint32{0x03066aca, 0x006f09bb, 0x01eee375, 0x03d915c5, 0x0198a9e6, 0x017499f9, 0x00985d6f, 0x005a30c2, 0x021d07c8, 0x00343597}}}, + {X: Field{[10]uint32{0x03268187, 0x0208779b, 0x01b88ea5, 0x021685d5, 0x009f7f6b, 0x018a202e, 0x0345dd5c, 0x03e5cab0, 0x00bb0154, 0x00315608}}, Y: Field{[10]uint32{0x00613086, 0x00795af3, 0x027a2124, 0x016b605f, 0x014dc35f, 0x0285d223, 0x03b698c8, 0x02996498, 0x03ea1e6c, 0x002446c3}}}, + {X: Field{[10]uint32{0x007778b5, 0x000e719b, 0x01d089f7, 0x023054b7, 0x02128588, 0x023330b4, 0x0164352b, 0x0083d14e, 0x026e3210, 0x003a8825}}, Y: Field{[10]uint32{0x034fc18c, 0x00a7c9a7, 0x00d3959e, 0x01b37786, 0x0166f547, 0x010d0a70, 0x03dc9bd6, 0x007949aa, 0x0191cdc8, 0x003250bd}}}, + {X: Field{[10]uint32{0x007e2bf5, 0x03d37d18, 0x007079f9, 0x022a3a03, 0x02220c90, 0x0387be12, 0x0301bbd3, 0x03f9699c, 0x012d9c2d, 0x000f15d5}}, Y: Field{[10]uint32{0x031f39e3, 0x000802f9, 0x00522b9f, 0x0153b542, 0x016fd347, 0x00997fd9, 0x031a0a17, 0x018e5cf9, 0x00ffbc4a, 0x003527e8}}}, + {X: Field{[10]uint32{0x03d4e1c3, 0x02825466, 0x0071feb5, 0x002f3dfc, 0x01a3fd5c, 0x012b6859, 0x028e1339, 0x00fb0167, 0x00c6e104, 0x003c6233}}, Y: Field{[10]uint32{0x03bfdbe4, 0x021814c1, 0x021cf944, 0x010428bf, 0x03db045c, 0x0081d926, 0x02fb1908, 0x01e740b5, 0x031fe53e, 0x0017c7cd}}}, + {X: Field{[10]uint32{0x011c8c6a, 0x00d790b0, 0x013cad48, 0x028b4729, 0x01447112, 0x029efed2, 0x015a146a, 0x008cba01, 0x03d27e72, 0x00280517}}, Y: Field{[10]uint32{0x01e679cc, 0x00f9270f, 0x02cc5024, 0x02fc8b1f, 0x00ceb874, 0x001c272c, 0x00bb675f, 0x00333031, 0x00a0e5e7, 0x001ef006}}}, + {X: Field{[10]uint32{0x016ff48e, 0x00f7e03c, 0x016bd9c9, 0x0362c5d0, 0x01c17b7b, 0x02d56061, 0x03857060, 0x00454c7e, 0x01e80c22, 0x0014d003}}, Y: Field{[10]uint32{0x01a6cc6f, 0x034cf690, 0x0244c89c, 0x0082299a, 0x002df873, 0x00dbaa5c, 0x00840b6a, 0x0197c794, 0x02473ba5, 0x003848a3}}}, + {X: Field{[10]uint32{0x0264b1ac, 0x03199d33, 0x019048c6, 0x02d14ae6, 0x01cc8960, 0x03566be1, 0x00e34821, 0x00df8d43, 0x012d009d, 0x00208457}}, Y: Field{[10]uint32{0x021eb048, 0x03ee7bed, 0x02f05e75, 0x00f7a489, 0x01bffc1b, 0x02e74620, 0x02adab03, 0x00309012, 0x0209659a, 0x002637aa}}}, + {X: Field{[10]uint32{0x01fe7c3c, 0x005e2516, 0x039681fc, 0x01f00c20, 0x028669cb, 0x01437389, 0x01e6e9d4, 0x01bc7312, 0x001853d8, 0x0009cf63}}, Y: Field{[10]uint32{0x00c2ea00, 0x01b44040, 0x008af2e1, 0x007dfdfe, 0x0314974e, 0x007beeb6, 0x00c25a25, 0x009b205d, 0x01aa8ad0, 0x001b154c}}}, + {X: Field{[10]uint32{0x025ee319, 0x019d46ee, 0x01bfe403, 0x032d6c16, 0x0041e68c, 0x03d0a3f3, 0x0233f4fb, 0x020645c3, 0x0216a7e3, 0x0000185b}}, Y: Field{[10]uint32{0x0106748a, 0x012c393d, 0x032eaba8, 0x031cfa2b, 0x007c7dc3, 0x032a64dd, 0x01173f5c, 0x00fbf6e6, 0x0121182a, 0x001f6f2b}}}, + {X: Field{[10]uint32{0x00b82812, 0x00df0058, 0x0277452c, 0x00409d7d, 0x00dc5666, 0x000cfc84, 0x0373402d, 0x0260487d, 0x016a76a3, 0x0019d862}}, Y: Field{[10]uint32{0x03302c9b, 0x001e0b99, 0x007ebe76, 0x03c688d8, 0x0111848d, 0x038b2339, 0x011184c8, 0x024e7e02, 0x01cf1b40, 0x001ff740}}}, + {X: Field{[10]uint32{0x01e508b9, 0x029b53e2, 0x01fe6dd4, 0x008248d1, 0x00bd6eb0, 0x005dedac, 0x0135bd9e, 0x00176849, 0x03aae976, 0x001dfdea}}, Y: Field{[10]uint32{0x007f0b9e, 0x0392d973, 0x01231889, 0x03e84358, 0x020dbf20, 0x02df24cc, 0x035fd19b, 0x020c37f3, 0x016ccc7b, 0x003ec126}}}, + {X: Field{[10]uint32{0x00bce311, 0x0232a8e6, 0x005a4a0d, 0x02299ec3, 0x01bc4b4a, 0x0007e73c, 0x02973785, 0x00aee8f6, 0x03173a2e, 0x00304bd9}}, Y: Field{[10]uint32{0x039a47a8, 0x000c67dd, 0x03853a33, 0x00cdb960, 0x01097cd1, 0x02db2d50, 0x00012aa3, 0x00500544, 0x018644d3, 0x0037a4c2}}}, + {X: Field{[10]uint32{0x018e66aa, 0x01fbe570, 0x03304ee7, 0x03ea9dae, 0x004afe8f, 0x037ce80d, 0x039d268d, 0x0154b236, 0x02de19c7, 0x001954e8}}, Y: Field{[10]uint32{0x00edb93c, 0x01dc181c, 0x037f5373, 0x033b26ee, 0x0169f95b, 0x014b4dd3, 0x034dbb77, 0x002edcab, 0x00107c18, 0x002469c8}}}, + {X: Field{[10]uint32{0x03b834e3, 0x031411ad, 0x013eec1f, 0x008f9a8f, 0x01bba980, 0x010032aa, 0x022e9363, 0x0106148b, 0x00be353f, 0x0003d52d}}, Y: Field{[10]uint32{0x0296f17e, 0x0190df23, 0x013a5124, 0x02d015df, 0x03ab6f78, 0x0065d16a, 0x035afde2, 0x03c7c2a0, 0x006cbdd5, 0x0025af9e}}}, + {X: Field{[10]uint32{0x02adbb2a, 0x016d2d03, 0x03c64c0d, 0x01f12d9d, 0x03f86be3, 0x016d3722, 0x03c806e4, 0x0194882e, 0x03c2a0fa, 0x0030b4c5}}, Y: Field{[10]uint32{0x0313ab6a, 0x03acd7b4, 0x02af58e8, 0x023528eb, 0x03100f07, 0x03266529, 0x00cb16df, 0x032aedc6, 0x0169bd68, 0x00315c42}}}, + {X: Field{[10]uint32{0x0389f384, 0x03fcc4c6, 0x03ccefe1, 0x010d04db, 0x02cc43e1, 0x01fd751c, 0x034b9c95, 0x02993f71, 0x03c6a5b8, 0x0014a959}}, Y: Field{[10]uint32{0x009e8f53, 0x01bde8a7, 0x01d485c1, 0x03a5f60d, 0x02d7de27, 0x02064a55, 0x005f7d6b, 0x00a62b75, 0x01bfa314, 0x000cc98c}}}, + {X: Field{[10]uint32{0x01ba4e20, 0x012881c7, 0x005e98d2, 0x03c666d3, 0x013530f0, 0x00c491ef, 0x01435278, 0x01104a21, 0x006c891a, 0x003df702}}, Y: Field{[10]uint32{0x034444aa, 0x0378d16d, 0x027e7b82, 0x000ffc41, 0x00da0550, 0x00121618, 0x02f5f751, 0x0166bac3, 0x0312452e, 0x001cd3b5}}}, + {X: Field{[10]uint32{0x02ec06c6, 0x008362c8, 0x00d3e905, 0x0147944b, 0x01b3f2ae, 0x039be3dd, 0x02d8d8cd, 0x036f032f, 0x03a97bb6, 0x002553e7}}, Y: Field{[10]uint32{0x005dd9bb, 0x030e76c6, 0x0378bf65, 0x00523c10, 0x005426f6, 0x02d3e085, 0x01b3017b, 0x01983d2f, 0x03bb8bd9, 0x002d96d0}}}, + {X: Field{[10]uint32{0x0204e87e, 0x0236c509, 0x0145e818, 0x02f905ad, 0x026def2d, 0x01dd7365, 0x0366947f, 0x01962082, 0x03984141, 0x000839a6}}, Y: Field{[10]uint32{0x00632539, 0x019fe24a, 0x01f51caa, 0x01361f7c, 0x030dcce0, 0x010fd808, 0x02e45a3d, 0x00ae6cd6, 0x02590bd1, 0x00399451}}}, + {X: Field{[10]uint32{0x0072ed1c, 0x039f15c3, 0x01dc3709, 0x0210aace, 0x0371bed4, 0x00c0a55d, 0x0187fb53, 0x00bc1110, 0x03822dc4, 0x00173796}}, Y: Field{[10]uint32{0x01a0ea9f, 0x00a4a66a, 0x03e41b49, 0x02f9d897, 0x03cea3dc, 0x00ff584d, 0x00416e75, 0x0016d425, 0x02d864e4, 0x00283dee}}}, + {X: Field{[10]uint32{0x0326421f, 0x00ec4c7e, 0x01c346e7, 0x0181779c, 0x0045b204, 0x027535ba, 0x02fd03f4, 0x02c370aa, 0x034c6ba6, 0x002d61b2}}, Y: Field{[10]uint32{0x00948744, 0x02b26ad6, 0x0116d2b4, 0x01a662ec, 0x026767b4, 0x001abee1, 0x01de6235, 0x028eca8c, 0x03e7c26e, 0x0033b584}}}, + {X: Field{[10]uint32{0x00ba6ede, 0x029779a4, 0x00a8b2a2, 0x0150ddf9, 0x014e192a, 0x02358071, 0x0213dbfa, 0x00ea0b23, 0x01703580, 0x001f4fd8}}, Y: Field{[10]uint32{0x02c6cb15, 0x027d354b, 0x0100f196, 0x012f9e3a, 0x0177eaf8, 0x00302f2f, 0x03564778, 0x004f083e, 0x010e62f4, 0x0004e3a0}}}, + {X: Field{[10]uint32{0x037eb925, 0x01dfb0a3, 0x01b41d85, 0x037603ea, 0x01c9fa32, 0x00c12ae0, 0x03e67135, 0x03e18f9f, 0x00befc4a, 0x0039e8c5}}, Y: Field{[10]uint32{0x00f3eb1f, 0x02913d20, 0x008fb091, 0x033b1420, 0x0113ec94, 0x036a5c30, 0x019b6d07, 0x012b3fea, 0x0200f0e0, 0x003365e1}}}, + {X: Field{[10]uint32{0x03c6a577, 0x024098f4, 0x00231ec0, 0x02b67915, 0x00ba5fc0, 0x003c37f2, 0x01cd8e81, 0x0240bb88, 0x03e49f41, 0x0005e70e}}, Y: Field{[10]uint32{0x009cf184, 0x03fc32d3, 0x009dc5b9, 0x022693a2, 0x02640216, 0x0142df93, 0x02b03f5a, 0x026a80a7, 0x020efb9b, 0x001d7e7d}}}, + {X: Field{[10]uint32{0x01e6401f, 0x01842c24, 0x00c6fe50, 0x01a4173e, 0x0108d762, 0x015d53e9, 0x017808e2, 0x03060ae5, 0x0071464b, 0x00042956}}, Y: Field{[10]uint32{0x01b56ff4, 0x0145a8d0, 0x038b3029, 0x03caaa32, 0x0299a787, 0x0241aea7, 0x005c679f, 0x0368b38c, 0x03b96d2b, 0x0034d924}}}, + {X: Field{[10]uint32{0x008e555e, 0x03cfa6ba, 0x0099f96a, 0x028bcea7, 0x02585827, 0x00c7b1fd, 0x0108d45b, 0x02321055, 0x03225e85, 0x0012a40d}}, Y: Field{[10]uint32{0x0247d145, 0x01f44c8c, 0x0064c70c, 0x01df40b1, 0x0031c9a4, 0x003f3785, 0x012463f2, 0x01134331, 0x01a7fb9e, 0x00369351}}}, + {X: Field{[10]uint32{0x016acb3e, 0x00a5dcea, 0x02b621cd, 0x02ef80bc, 0x00c68373, 0x005c3b20, 0x00052d6b, 0x02023ded, 0x018c2505, 0x001b4427}}, Y: Field{[10]uint32{0x02dc9a57, 0x00e2ca3a, 0x012adc50, 0x002e72e5, 0x03200c87, 0x02c08eff, 0x001088ec, 0x01b90145, 0x00de511f, 0x003237a8}}}, + {X: Field{[10]uint32{0x02e1af88, 0x03c30e59, 0x01bf28f7, 0x00f8a1d3, 0x0106105b, 0x00d55d41, 0x015c7347, 0x00919f01, 0x00986d20, 0x00270866}}, Y: Field{[10]uint32{0x01d0914a, 0x027ecb63, 0x004550ec, 0x03354b52, 0x03efddf5, 0x01959783, 0x01d41463, 0x03fc4be7, 0x016c8edd, 0x00218dd2}}}, + {X: Field{[10]uint32{0x0292b03a, 0x023b71b0, 0x032e74de, 0x02d772e3, 0x03dcd104, 0x00aee5ce, 0x036dd750, 0x003d8040, 0x00390e66, 0x0008b294}}, Y: Field{[10]uint32{0x006b11e8, 0x03a457d9, 0x0258eda5, 0x02eb100f, 0x01cb6731, 0x0023e832, 0x016449a7, 0x02e07910, 0x00711ef6, 0x0021bf51}}}, + {X: Field{[10]uint32{0x02b6f938, 0x037a10b9, 0x0227c80b, 0x00977dd7, 0x022e39be, 0x03db2880, 0x0116fdd1, 0x011903c8, 0x0302cc00, 0x0033f063}}, Y: Field{[10]uint32{0x0290df7d, 0x0075a118, 0x01398645, 0x02936740, 0x01c09236, 0x01c232f9, 0x03a2923f, 0x0343965e, 0x00df4f79, 0x00358ad6}}}, + {X: Field{[10]uint32{0x0280a087, 0x03053e66, 0x02f259d3, 0x015afb2e, 0x02574905, 0x008d7142, 0x01f46ca6, 0x01163a64, 0x00c23425, 0x000ce22f}}, Y: Field{[10]uint32{0x0245c016, 0x00b84fa9, 0x0013b310, 0x029752b1, 0x0306c3dc, 0x02563efc, 0x00223166, 0x015e0c07, 0x02f806f6, 0x001f52a8}}}, + {X: Field{[10]uint32{0x00b46a19, 0x02a507bc, 0x03aa802b, 0x00f532f2, 0x0144ac96, 0x00db67e5, 0x018fefc1, 0x004b78f7, 0x00131b8c, 0x00349af4}}, Y: Field{[10]uint32{0x028d3a99, 0x002b096d, 0x00653cb1, 0x01f699e0, 0x020d045a, 0x032ad24a, 0x02948724, 0x01e571ad, 0x02a331b6, 0x0019be27}}}, + {X: Field{[10]uint32{0x03d1fdb9, 0x0274a795, 0x035ca1d9, 0x0353511f, 0x03465a03, 0x03bd7d9a, 0x03960edf, 0x03a3c858, 0x030cdb67, 0x003734cd}}, Y: Field{[10]uint32{0x007084ef, 0x0185a9cd, 0x01ed9922, 0x02f66d93, 0x028a9eb4, 0x024efdcc, 0x038d4483, 0x02fe1cb3, 0x007a320a, 0x0022e4dd}}}, + {X: Field{[10]uint32{0x038d8e7a, 0x0227cfd3, 0x0006f805, 0x02ecff82, 0x0121d449, 0x02718e06, 0x03105af5, 0x02b558cd, 0x0105e602, 0x001d01d3}}, Y: Field{[10]uint32{0x003d574d, 0x02e1052c, 0x002cfe19, 0x03db111e, 0x02bf0dd8, 0x0077548d, 0x00fd515a, 0x0202b411, 0x03d4adee, 0x00069352}}}, + {X: Field{[10]uint32{0x0305c174, 0x00dcea0b, 0x034dd732, 0x025035ae, 0x01971203, 0x01e024aa, 0x00df438a, 0x00faedaa, 0x0081f3a2, 0x0002a273}}, Y: Field{[10]uint32{0x03c4fda4, 0x02a59128, 0x03d77873, 0x039d5c1f, 0x00326a9c, 0x02e5e77b, 0x01ddc9fd, 0x03c18d39, 0x03dd676d, 0x0012dbe0}}}, + {X: Field{[10]uint32{0x0216424c, 0x028e03d9, 0x00e037dd, 0x0102d82b, 0x026443c5, 0x001fe592, 0x002ae36b, 0x00fc3864, 0x00bafa91, 0x0023c684}}, Y: Field{[10]uint32{0x01e5525f, 0x02615557, 0x0326e869, 0x018b5680, 0x0114e3a4, 0x01d03cc7, 0x0016ad4e, 0x01df0c91, 0x024445c1, 0x00040a35}}}, + {X: Field{[10]uint32{0x01e27b51, 0x01d01222, 0x026d6f4c, 0x03e11e3e, 0x019154a2, 0x0369266b, 0x0157268a, 0x0288da9e, 0x027914f9, 0x002b63f6}}, Y: Field{[10]uint32{0x020e82ae, 0x01392f8c, 0x03834617, 0x03c09818, 0x03703b74, 0x0170f24c, 0x02deffc0, 0x029b1bdd, 0x02ab1f7d, 0x00272874}}}, + {X: Field{[10]uint32{0x0167fbe7, 0x0178cb3f, 0x03c874d1, 0x003f93ec, 0x03219270, 0x03c8e38b, 0x008cc246, 0x00a5c110, 0x010a797b, 0x001b1ba6}}, Y: Field{[10]uint32{0x0391dac1, 0x00c1868f, 0x019e1be8, 0x021e4f53, 0x0139811b, 0x0010368c, 0x025b32cc, 0x0159667e, 0x03980f35, 0x0007ff05}}}, + {X: Field{[10]uint32{0x01118969, 0x007e68c9, 0x0247cedc, 0x01728d02, 0x039f86f7, 0x0027c8de, 0x035351de, 0x00aaf658, 0x03ea31ad, 0x00080ac4}}, Y: Field{[10]uint32{0x001bcba0, 0x03314d46, 0x004c0fe3, 0x0085c000, 0x03868a45, 0x02f2061c, 0x0111184e, 0x00dfd354, 0x0105a14e, 0x00314bed}}}, + {X: Field{[10]uint32{0x03b748a5, 0x0210a475, 0x02f5fd22, 0x031848c9, 0x03034053, 0x02615654, 0x01c7c7cf, 0x010beac3, 0x00a10251, 0x0014d57c}}, Y: Field{[10]uint32{0x02281949, 0x0333c5df, 0x0118f4b1, 0x01a9e071, 0x039cddd3, 0x0183b8fb, 0x008ff9de, 0x0007db07, 0x036a5535, 0x001d6ef8}}}, + {X: Field{[10]uint32{0x029829d7, 0x00ebab30, 0x02235f91, 0x02c4d1c1, 0x0279a39a, 0x02a0ebb0, 0x00f16644, 0x037b2747, 0x0178eacb, 0x002e214b}}, Y: Field{[10]uint32{0x03183156, 0x00c584f7, 0x020faeb4, 0x0343dca7, 0x038d51ee, 0x03a27b0e, 0x002735d2, 0x03187eb9, 0x035052b3, 0x001d8eea}}}, + {X: Field{[10]uint32{0x03057ae2, 0x033b56c1, 0x0188beec, 0x03a02c3c, 0x01696d18, 0x0027b343, 0x017d4d6a, 0x03de3870, 0x004b294d, 0x0032acb9}}, Y: Field{[10]uint32{0x01ff2f43, 0x02681a06, 0x00ed5405, 0x02b416c8, 0x02de28bf, 0x0156d41b, 0x0149607c, 0x01266b3b, 0x009a501a, 0x003cd46c}}}, + {X: Field{[10]uint32{0x03056b31, 0x01a14f15, 0x026589d4, 0x00dae6e1, 0x03b16f9f, 0x0152dd5a, 0x012355eb, 0x015568af, 0x01c99c6d, 0x0005002e}}, Y: Field{[10]uint32{0x03a077a8, 0x0270cab7, 0x00436e56, 0x007e5bc9, 0x035709b9, 0x03508477, 0x026993b3, 0x00459e82, 0x001662f4, 0x0022ca42}}}, + {X: Field{[10]uint32{0x03d9141e, 0x03b1b9af, 0x018a50fb, 0x00655623, 0x03b3d31b, 0x0044511a, 0x03ae7a9a, 0x027071a1, 0x032e973e, 0x0014ab8d}}, Y: Field{[10]uint32{0x02351ccb, 0x02ff8360, 0x0256b71e, 0x033363b3, 0x001f87cf, 0x0116436d, 0x0238721a, 0x0390b6e5, 0x000de6d0, 0x003e60ad}}}, + {X: Field{[10]uint32{0x01899c24, 0x03d976d8, 0x032e0fe5, 0x0022e4df, 0x001139b7, 0x0143700c, 0x0241e148, 0x011896f8, 0x03bd4082, 0x000f453f}}, Y: Field{[10]uint32{0x00a1dfb7, 0x03f1d862, 0x02872981, 0x03bf4dd9, 0x02799882, 0x034884e8, 0x01cf16b8, 0x03811d36, 0x00fa477e, 0x002c4299}}}, + {X: Field{[10]uint32{0x02a48930, 0x0057b36e, 0x0246e824, 0x0346a57f, 0x03e7ab3f, 0x0353261e, 0x03bc2700, 0x03065ea2, 0x02df54e0, 0x0031bd4a}}, Y: Field{[10]uint32{0x0056811d, 0x016bf64e, 0x03a8f77e, 0x024cab7a, 0x03b9ef91, 0x0267e912, 0x010281c0, 0x01ced241, 0x006fb538, 0x001d4930}}}, + {X: Field{[10]uint32{0x0144c1aa, 0x01828fb2, 0x00f559fe, 0x03601b46, 0x005f2d1d, 0x031e7070, 0x03c838a4, 0x01f2d9e8, 0x0264bdc4, 0x00240224}}, Y: Field{[10]uint32{0x02ee04de, 0x003ece74, 0x03064eea, 0x032e4779, 0x02ca140b, 0x010c392d, 0x01d582cc, 0x00c899aa, 0x0046d70b, 0x0006258e}}}, + {X: Field{[10]uint32{0x03da0662, 0x03dc247b, 0x006ebc1b, 0x019a5bcf, 0x012db741, 0x03a084a9, 0x035b2d4c, 0x00df0589, 0x00ea478b, 0x00389f09}}, Y: Field{[10]uint32{0x02783de3, 0x01f3c244, 0x03b7d853, 0x036bf0ed, 0x03bb99f4, 0x000c5e46, 0x01532bb5, 0x019f2feb, 0x0279c3a2, 0x0009fb14}}}, + {X: Field{[10]uint32{0x000a3eb2, 0x03bfe131, 0x0092b917, 0x03b98190, 0x032549b8, 0x025574ef, 0x0025d857, 0x035badc0, 0x02129cf1, 0x0032976a}}, Y: Field{[10]uint32{0x027a9811, 0x02109677, 0x01e9ef6a, 0x03c9dee2, 0x037c4aa5, 0x035082d2, 0x027c7c27, 0x01bdf4cf, 0x0105500f, 0x001a0b52}}}, + {X: Field{[10]uint32{0x00877f55, 0x005a67bf, 0x00170487, 0x016d0943, 0x006c98ac, 0x02274509, 0x0223fb5c, 0x031a2119, 0x000f2b2a, 0x00241a7b}}, Y: Field{[10]uint32{0x031fb05e, 0x034e95b9, 0x00266975, 0x02a322e0, 0x02a6c3c3, 0x00901f7f, 0x000617ee, 0x00dc485b, 0x02c4eff8, 0x00331403}}}, + {X: Field{[10]uint32{0x03bda16c, 0x02c4e470, 0x0250fb8c, 0x00f01649, 0x00053639, 0x017a2ae8, 0x02742d3c, 0x03b86dae, 0x02eb0bd5, 0x0017f87f}}, Y: Field{[10]uint32{0x0065a34b, 0x0250ade6, 0x01af53bf, 0x01a90dd7, 0x03ea02ae, 0x001cbddb, 0x025ba068, 0x0193b4d0, 0x032701ac, 0x0036c46c}}}, + {X: Field{[10]uint32{0x001b2c34, 0x019b12ab, 0x00cb8318, 0x00aa1783, 0x026bf260, 0x02439382, 0x0035b6cf, 0x03e20d24, 0x01a5f168, 0x000292a4}}, Y: Field{[10]uint32{0x03837596, 0x02080c1f, 0x00857ce0, 0x02a7023d, 0x02ff7265, 0x00ae262a, 0x02f2ff8e, 0x03b47462, 0x02a8fe36, 0x00016ffb}}}, + {X: Field{[10]uint32{0x02884849, 0x01bdd1be, 0x019e35f0, 0x01bb4f1f, 0x0143f536, 0x03aaaf93, 0x00705054, 0x016d492a, 0x0336f0c3, 0x003d04d7}}, Y: Field{[10]uint32{0x010c526b, 0x03f12c99, 0x0052dd55, 0x00c30ea7, 0x01ba1a5d, 0x00c1d75d, 0x019d0ea4, 0x0301e2d3, 0x03f1b8b6, 0x000719c1}}}, + {X: Field{[10]uint32{0x00380203, 0x00ea7ce5, 0x01e0fdcc, 0x01364ad0, 0x00014a50, 0x020fa12e, 0x03449928, 0x03eebb4a, 0x018a9363, 0x00356a26}}, Y: Field{[10]uint32{0x0260e9fb, 0x026cf6ba, 0x03d4b0bf, 0x02be98aa, 0x032f20c5, 0x0351b35f, 0x038ae7c6, 0x0320162e, 0x03036fdd, 0x0025805a}}}, + {X: Field{[10]uint32{0x03f3d176, 0x022e6f92, 0x01fa8cc3, 0x039e6443, 0x00d50297, 0x0043064e, 0x007fb622, 0x0036f428, 0x023404b3, 0x00220132}}, Y: Field{[10]uint32{0x03d37b0d, 0x02bb79d5, 0x02c9124c, 0x0142c472, 0x01eb65db, 0x00e1c58c, 0x008c55ff, 0x01f18dde, 0x02e57992, 0x0016d92f}}}, + {X: Field{[10]uint32{0x03811021, 0x0176fd8a, 0x00e740ac, 0x01d1f426, 0x010c947c, 0x022f6969, 0x008e78e7, 0x0086daf1, 0x01fc440c, 0x0021a470}}, Y: Field{[10]uint32{0x03b1787e, 0x0122f2b5, 0x01c0903d, 0x00e7d9b0, 0x00682f45, 0x000a9c44, 0x02c330af, 0x00460555, 0x01c535f5, 0x003f63b0}}}, + {X: Field{[10]uint32{0x03093229, 0x01018dfb, 0x001eb58a, 0x02aec3b4, 0x03c3ee5f, 0x0253a4a4, 0x02bfe3f8, 0x038b87f7, 0x01f6343b, 0x001117f0}}, Y: Field{[10]uint32{0x0185b605, 0x001ef6df, 0x010af329, 0x03cd236a, 0x03c3c087, 0x03b7b44e, 0x00aa1b73, 0x03e14f41, 0x03fe6737, 0x00215fc5}}}, + {X: Field{[10]uint32{0x036493b4, 0x03140069, 0x039667d1, 0x01568773, 0x02af1a55, 0x02e23135, 0x023aaf95, 0x0346c2cb, 0x03dea657, 0x00170e5f}}, Y: Field{[10]uint32{0x030aff0a, 0x02681bf7, 0x03d32de7, 0x00b3d21f, 0x03ce5cb5, 0x02a7f153, 0x0336aee6, 0x00f1d4b5, 0x00207b6f, 0x002739d2}}}, + {X: Field{[10]uint32{0x03fc1b7e, 0x00dbe931, 0x030c1d7e, 0x0210dcb4, 0x02d9f535, 0x037f8644, 0x01d2bc5b, 0x0380a0d8, 0x01cb28d7, 0x0026d559}}, Y: Field{[10]uint32{0x03879eea, 0x0266c458, 0x0062d827, 0x01d7662c, 0x01a23af0, 0x038fdb1b, 0x0257f054, 0x02a0c962, 0x028d2de2, 0x001f573e}}}, + {X: Field{[10]uint32{0x01194f1d, 0x015368f2, 0x03b4b896, 0x027c404a, 0x02a5229a, 0x006ec656, 0x031b1657, 0x021c34e5, 0x00631bbf, 0x002bef7b}}, Y: Field{[10]uint32{0x0327e296, 0x030914e3, 0x0316a773, 0x00507d50, 0x0383fe57, 0x02ec2899, 0x0074ad1b, 0x009497e6, 0x0349b949, 0x0033f2e9}}}, + {X: Field{[10]uint32{0x00ad916b, 0x0075a22b, 0x03f4d0e0, 0x0318b12c, 0x03a7cc11, 0x03a7a7b1, 0x03c61605, 0x014d1d72, 0x03cbca3a, 0x001dc4aa}}, Y: Field{[10]uint32{0x024b82fb, 0x023c289a, 0x03ead0c6, 0x03f47ffb, 0x02b57cbb, 0x030ef4cc, 0x02b43af8, 0x009556b4, 0x01bc0eb1, 0x001ee472}}}, + {X: Field{[10]uint32{0x00a2b7e2, 0x00b4e2c7, 0x01c9f07a, 0x00459b9d, 0x0311b43a, 0x037d419a, 0x01fe506f, 0x017904b9, 0x0346f293, 0x000f1148}}, Y: Field{[10]uint32{0x019cd800, 0x00231ffd, 0x026962c6, 0x0228d4ad, 0x010e0203, 0x012047f6, 0x03532f8d, 0x01a0a4eb, 0x01e127f9, 0x003f4fdb}}}, + {X: Field{[10]uint32{0x0248b7be, 0x020b6c2a, 0x030547d1, 0x011377c2, 0x00e04eda, 0x0032652e, 0x01a53d67, 0x0368ff1f, 0x002fb4db, 0x0002f616}}, Y: Field{[10]uint32{0x01285c68, 0x03a318d1, 0x0033ad6d, 0x02de5d9c, 0x00ef0dc4, 0x039f420a, 0x016b282e, 0x01a2ee30, 0x0369c182, 0x001e6789}}}, + {X: Field{[10]uint32{0x02c84112, 0x0339b3ec, 0x0371974d, 0x03ab667a, 0x03befe03, 0x01a44ce3, 0x03fb71c1, 0x0375018a, 0x00a78dd9, 0x00310404}}, Y: Field{[10]uint32{0x02a2ff83, 0x0058b690, 0x0208d29b, 0x001cc50f, 0x00f270f8, 0x0209298f, 0x01c5dbcf, 0x02f088ec, 0x039de71e, 0x00140230}}}, + {X: Field{[10]uint32{0x0121d311, 0x0094f309, 0x01f4a1b6, 0x01777b6d, 0x03f786bc, 0x01426f23, 0x02586a6a, 0x02e89c01, 0x007e6cf4, 0x003a27a0}}, Y: Field{[10]uint32{0x02fea2cc, 0x0366527c, 0x0117aad6, 0x03070264, 0x012228f9, 0x0301000a, 0x039fcfc4, 0x01237a4d, 0x03797c49, 0x002ab7b2}}}, + {X: Field{[10]uint32{0x00b08577, 0x006e43f7, 0x03fdbdca, 0x01ce19bc, 0x0084091f, 0x0048630d, 0x01379195, 0x02fe4190, 0x01b3be2d, 0x000d8f7c}}, Y: Field{[10]uint32{0x01848bae, 0x02f7c3dd, 0x026057e3, 0x01918c26, 0x00f9ea5b, 0x01f9dbc8, 0x0221493f, 0x038db125, 0x004e5634, 0x0002bbf4}}}, + {X: Field{[10]uint32{0x038ea16e, 0x028f22f1, 0x003becd4, 0x00e8d357, 0x03ca8fe3, 0x0173112e, 0x01213228, 0x02093920, 0x023883d2, 0x00172345}}, Y: Field{[10]uint32{0x02c0456f, 0x02baeb86, 0x02685872, 0x037e3cc6, 0x02355347, 0x027dd496, 0x01005914, 0x019b0225, 0x01d9c7ce, 0x003d9be4}}}, + {X: Field{[10]uint32{0x02cbe126, 0x0217a1fa, 0x01ff4080, 0x0162f9d7, 0x024181dd, 0x03649536, 0x037789ee, 0x020fb760, 0x02760835, 0x00042b19}}, Y: Field{[10]uint32{0x0317d22d, 0x015fafae, 0x02a1a01f, 0x02806057, 0x0372e0db, 0x031ac96b, 0x0065acb0, 0x039eec1d, 0x02de23f3, 0x001b4faa}}}, + {X: Field{[10]uint32{0x00153048, 0x029a5ea3, 0x037da8db, 0x003e6d87, 0x02974c4c, 0x00823a8f, 0x01677962, 0x01550111, 0x01ea7bb6, 0x00079e68}}, Y: Field{[10]uint32{0x00787fc4, 0x03bca97c, 0x015dd394, 0x02f8ce81, 0x03e07d35, 0x02a0023a, 0x01874064, 0x012221a2, 0x017920a3, 0x002d8f8f}}}, + {X: Field{[10]uint32{0x03fa9a5b, 0x02f34254, 0x0076a7be, 0x00604759, 0x02116991, 0x0003fc4f, 0x00df2abb, 0x0288fd42, 0x007397b0, 0x0036c347}}, Y: Field{[10]uint32{0x0100dfe8, 0x0278ca12, 0x00dc9d0b, 0x010598a7, 0x032f85fd, 0x02d723bb, 0x01724312, 0x013c7b46, 0x00773ca7, 0x00072742}}}, + {X: Field{[10]uint32{0x03385f27, 0x0280fb72, 0x03622003, 0x008f9883, 0x03969042, 0x00b9dd6f, 0x02bdc229, 0x033a3499, 0x03b3481e, 0x00387f75}}, Y: Field{[10]uint32{0x030a4c77, 0x01019aa5, 0x03e6d09e, 0x024f8840, 0x03d9b31f, 0x00ff71a9, 0x02dee658, 0x00ffdc35, 0x039f2895, 0x000f3eac}}}, + {X: Field{[10]uint32{0x0223ffd3, 0x037c46a8, 0x018803b2, 0x0396fc62, 0x039ed85f, 0x0084c323, 0x02701c92, 0x02ee3cf5, 0x01342b69, 0x00259e5c}}, Y: Field{[10]uint32{0x02631d31, 0x025f91c3, 0x0394e059, 0x031b0255, 0x02632c0d, 0x034a68f9, 0x00b6d93c, 0x01be7df1, 0x003f630b, 0x000b50cd}}}, + {X: Field{[10]uint32{0x01c33efc, 0x020505f6, 0x03ba8cba, 0x01b66a67, 0x00ec0a77, 0x02677520, 0x01d2a0f3, 0x0352531a, 0x02186e27, 0x0037ed00}}, Y: Field{[10]uint32{0x0137796e, 0x01ec4ad7, 0x00f4861f, 0x00705e08, 0x009bd850, 0x02580c14, 0x0245bcb7, 0x00c9cc57, 0x01dce9f9, 0x000ccb64}}}, + {X: Field{[10]uint32{0x027681ec, 0x02e11a30, 0x035e5189, 0x0011fef8, 0x01171de0, 0x017068cc, 0x0208da7b, 0x03729145, 0x01ebed13, 0x001ad971}}, Y: Field{[10]uint32{0x01a34f62, 0x01e723a2, 0x01f43e26, 0x0137d6ee, 0x013e71fc, 0x01bf53e1, 0x0246b51f, 0x02f02cbc, 0x02e8e0ae, 0x0002bf43}}}, + {X: Field{[10]uint32{0x00c4b619, 0x00e43d4a, 0x0100480a, 0x008bf7f3, 0x03021e5c, 0x03509b7c, 0x02396aa5, 0x00e59789, 0x01a160b0, 0x002f070f}}, Y: Field{[10]uint32{0x00a31640, 0x03b5192b, 0x03bc8076, 0x0334d6b2, 0x0386ad94, 0x0108b046, 0x017862c0, 0x03faa42b, 0x017465e4, 0x003f595c}}}, + {X: Field{[10]uint32{0x0005913a, 0x004f7ea3, 0x038e2de6, 0x001b0b1b, 0x01090264, 0x02f161f8, 0x038a6a8c, 0x0328d54f, 0x011796d6, 0x001626c7}}, Y: Field{[10]uint32{0x003fb3e0, 0x00b2eb94, 0x02c87974, 0x01a76917, 0x003c7b64, 0x00eee8a9, 0x039365de, 0x013d1b89, 0x01ecac25, 0x00399575}}}, + {X: Field{[10]uint32{0x00ae4ed5, 0x016fe61e, 0x01677612, 0x033f3a9d, 0x016ada63, 0x024b652f, 0x01c2ef5c, 0x01b0aa53, 0x03856d1e, 0x00279c98}}, Y: Field{[10]uint32{0x00e304dd, 0x03d4d058, 0x01896069, 0x01010f24, 0x030a83bc, 0x0371ea8a, 0x028a48e0, 0x00e3e2d8, 0x01f51e5b, 0x002308e3}}}, + {X: Field{[10]uint32{0x02764263, 0x02d76f71, 0x018d57ea, 0x02bc9548, 0x004f9bd3, 0x00820380, 0x000c551b, 0x03dd3ee9, 0x017814e0, 0x000489a7}}, Y: Field{[10]uint32{0x0385b3d6, 0x017e1938, 0x01a704a9, 0x031f08b7, 0x00daee58, 0x02f45a48, 0x02febcdb, 0x025d7041, 0x00bd6584, 0x0003c3dc}}}, + {X: Field{[10]uint32{0x033088a6, 0x0245ced5, 0x03aa315e, 0x02fc59db, 0x005c73fd, 0x009cfbff, 0x0048cdd6, 0x02405383, 0x032fcc50, 0x0034c84b}}, Y: Field{[10]uint32{0x0032df82, 0x01902112, 0x02fc09db, 0x03aa14fe, 0x00ff59b6, 0x0271a4d3, 0x02618c84, 0x03d47cd8, 0x01f10673, 0x000e6bce}}}, + {X: Field{[10]uint32{0x00250052, 0x01168821, 0x02dccdae, 0x03f67d0a, 0x034ef288, 0x03d92588, 0x0014e724, 0x002eb510, 0x032b9bcc, 0x00314d7d}}, Y: Field{[10]uint32{0x02271022, 0x0171fb92, 0x000a7465, 0x0008a4c0, 0x02884473, 0x01f3a0a6, 0x0014a17f, 0x018c6d8a, 0x005b6fb7, 0x000fde66}}}, + {X: Field{[10]uint32{0x03399605, 0x003eb4e4, 0x03c121c8, 0x004bb035, 0x03271e39, 0x003b437d, 0x002bb186, 0x027e9618, 0x01269b16, 0x0013d6dc}}, Y: Field{[10]uint32{0x01cfd0a7, 0x0104d8f3, 0x00fb5dbe, 0x03c81881, 0x02576f63, 0x025f24ca, 0x002c6cdb, 0x0163aa44, 0x01047f2a, 0x002d83f0}}}, + {X: Field{[10]uint32{0x03d5d065, 0x0323c6ed, 0x03851de9, 0x01f5cde9, 0x000ec70e, 0x0000a705, 0x02c2863e, 0x00e2c6bc, 0x033b244c, 0x0032d166}}, Y: Field{[10]uint32{0x0157fbd0, 0x01d293c6, 0x010ea53a, 0x0055a4b2, 0x02a888bd, 0x03a242ce, 0x02462411, 0x01db20bd, 0x015d3c03, 0x001ed9ec}}}, + {X: Field{[10]uint32{0x0219054e, 0x00a87e93, 0x02597ea7, 0x018f4691, 0x02d389f5, 0x03d0d065, 0x03121bb7, 0x03831463, 0x01c70ebd, 0x001e1f58}}, Y: Field{[10]uint32{0x0272a658, 0x00ef2fab, 0x014ba4b9, 0x02ef5cad, 0x03f42e9e, 0x02cf4542, 0x031cf396, 0x0232e309, 0x02f25fcf, 0x0016ebd5}}}, + {X: Field{[10]uint32{0x01f6115c, 0x00edbaf1, 0x012bacc9, 0x0229808d, 0x02337353, 0x0358e420, 0x037d97cb, 0x02c3252d, 0x002a31d0, 0x0030e2bf}}, Y: Field{[10]uint32{0x03ee529f, 0x0109a210, 0x004690d8, 0x022f4b96, 0x01875e09, 0x01917e35, 0x01a26a4c, 0x03f3092e, 0x03cab138, 0x002e4977}}}, + {X: Field{[10]uint32{0x03406d0a, 0x0321e6bf, 0x0282ad6e, 0x002e2ade, 0x0339a5dd, 0x016e6c97, 0x01c6ad5e, 0x01ba56e7, 0x023b8e60, 0x000dd987}}, Y: Field{[10]uint32{0x03e9b977, 0x02c58e29, 0x002a4df1, 0x00e44c8e, 0x0160d8bc, 0x01b3e510, 0x017e07bd, 0x023f384c, 0x025d430d, 0x002adcd7}}}, + {X: Field{[10]uint32{0x01e256ba, 0x01a28594, 0x02062abd, 0x0367d939, 0x0388ea5a, 0x0370319d, 0x018e9348, 0x00ad1f0f, 0x0051b8c2, 0x0039449e}}, Y: Field{[10]uint32{0x030405c6, 0x01fce1c9, 0x004b3f94, 0x0136e1c1, 0x025b1e7d, 0x0154dffe, 0x034b7dc0, 0x027ade42, 0x037e0034, 0x001611fd}}}, + {X: Field{[10]uint32{0x017382e9, 0x0191ee6b, 0x03b41955, 0x02601482, 0x02127a36, 0x00e03f81, 0x013e7cb7, 0x02a284dc, 0x005da6b8, 0x003cf1fd}}, Y: Field{[10]uint32{0x023e7c87, 0x0397ef7d, 0x00a51ddf, 0x0005c675, 0x034b4693, 0x00024d9d, 0x01decd09, 0x0274c7dc, 0x0211eb1b, 0x000ab3e6}}}, + {X: Field{[10]uint32{0x00d745ba, 0x012cbc21, 0x024de0ff, 0x0254eec3, 0x0279125f, 0x0122a642, 0x03733a18, 0x02c94948, 0x0047e8d5, 0x0021b790}}, Y: Field{[10]uint32{0x01bc969a, 0x0269d19c, 0x02007427, 0x00146a7b, 0x03569211, 0x0177a4b4, 0x0284cf7d, 0x000174ac, 0x00720dac, 0x001c79a9}}}, + {X: Field{[10]uint32{0x03f57504, 0x021d70bc, 0x02c635e2, 0x032b0317, 0x023029d9, 0x03cea85a, 0x020cd963, 0x02759b65, 0x00307225, 0x00318457}}, Y: Field{[10]uint32{0x037a712f, 0x004a1427, 0x0077050d, 0x0004d10f, 0x01ced024, 0x00f20868, 0x017f56c2, 0x0375e35e, 0x00d0b33f, 0x000635a4}}}, + {X: Field{[10]uint32{0x02f53c5b, 0x034d9d10, 0x03c6ac61, 0x03c78afe, 0x018bfae0, 0x01a4a6c1, 0x0038cbd7, 0x011cee46, 0x00998b43, 0x0032d514}}, Y: Field{[10]uint32{0x01572bbf, 0x0236de24, 0x00ddfde3, 0x02e9efed, 0x01c00ba8, 0x026e77d5, 0x03684b4f, 0x013c2335, 0x034d79e3, 0x00104675}}}, + {X: Field{[10]uint32{0x02922d2a, 0x014bca14, 0x013725a7, 0x01cf1b42, 0x020a333b, 0x0182a628, 0x01771e26, 0x00aed3ec, 0x0304b936, 0x00343739}}, Y: Field{[10]uint32{0x02e37e47, 0x028e4565, 0x018ffde5, 0x01529314, 0x02124d3f, 0x016730bb, 0x033891a2, 0x033837c7, 0x03707947, 0x003e4b0e}}}, + {X: Field{[10]uint32{0x016b20a4, 0x02866fc8, 0x03a96249, 0x01679f5c, 0x03d42702, 0x01957314, 0x02ab8570, 0x016618e3, 0x0238e5aa, 0x0036e4f8}}, Y: Field{[10]uint32{0x03bcc7c5, 0x035fad7e, 0x0094c815, 0x025718bf, 0x033ab178, 0x009bbd95, 0x034f60cd, 0x023ad942, 0x008b670e, 0x00234677}}}, + {X: Field{[10]uint32{0x00c3f486, 0x01753bda, 0x01835ba8, 0x03f2efc4, 0x014d6c6c, 0x001e584a, 0x0207e54b, 0x02fbe0a7, 0x037fd8ce, 0x0030e1f0}}, Y: Field{[10]uint32{0x01ddeda9, 0x03f9e384, 0x00897994, 0x0036d896, 0x03c8e3ae, 0x004b5ff9, 0x020f7d7f, 0x02cc01b2, 0x00d9ae7e, 0x00214960}}}, + {X: Field{[10]uint32{0x0206c232, 0x00dd271d, 0x01092f94, 0x03748eb6, 0x024d3b22, 0x024aed2d, 0x0001b5b1, 0x039544df, 0x0134f04d, 0x003aed63}}, Y: Field{[10]uint32{0x01d1ae16, 0x01223f37, 0x0112bc59, 0x00b14272, 0x03d92ae7, 0x0016af26, 0x01d3e829, 0x03e7536c, 0x01059c99, 0x0006e5e7}}}, + {X: Field{[10]uint32{0x02e38e6b, 0x017390a5, 0x038d8252, 0x022befc8, 0x032f1317, 0x00c32b44, 0x01810b17, 0x028a6dd9, 0x0066acfd, 0x001e2473}}, Y: Field{[10]uint32{0x027caaf1, 0x02b3d94d, 0x02db972f, 0x039f6c02, 0x03a21ff6, 0x01fb2bb0, 0x02987ad0, 0x0231b118, 0x03292018, 0x0008864d}}}, + {X: Field{[10]uint32{0x0014d081, 0x014378d6, 0x011f472c, 0x0003028c, 0x000acec8, 0x01e4ff63, 0x02578a53, 0x007a34b0, 0x0142e4bc, 0x00302c09}}, Y: Field{[10]uint32{0x017f8371, 0x0262f06d, 0x01673136, 0x0213afff, 0x0376b1a8, 0x00702465, 0x02e6bb57, 0x005f0006, 0x00710f59, 0x000092f7}}}, + {X: Field{[10]uint32{0x0026d2dd, 0x028dad71, 0x014b2f07, 0x03d13acf, 0x03c2000c, 0x0103a980, 0x02fd9a3e, 0x01141fc4, 0x0174b870, 0x003a8575}}, Y: Field{[10]uint32{0x0230944e, 0x00969462, 0x0124b6ca, 0x01b16269, 0x00c5cdc1, 0x02df8e25, 0x00faf58a, 0x028e7d38, 0x014f4d8c, 0x002d965b}}}, + {X: Field{[10]uint32{0x039604de, 0x006dde73, 0x006726e5, 0x02604d63, 0x02708776, 0x009274d3, 0x00d5726a, 0x01abdee2, 0x03dfc35a, 0x001df4e1}}, Y: Field{[10]uint32{0x008b4a87, 0x0336693c, 0x0324993f, 0x001b7805, 0x01459165, 0x013e8ac7, 0x013c2351, 0x02a58b4b, 0x02cd2d70, 0x003976bb}}}, + {X: Field{[10]uint32{0x01ccd7ec, 0x01aa7727, 0x02db8329, 0x03530c54, 0x031064f9, 0x035bfbee, 0x024dc2f9, 0x0093ef06, 0x02cb7d1a, 0x002a49d0}}, Y: Field{[10]uint32{0x01679f76, 0x0063908c, 0x0225ad9d, 0x018ecf9c, 0x0266d4f1, 0x0208fcf1, 0x0346df60, 0x03c293b0, 0x00f98cda, 0x001996a7}}}, + {X: Field{[10]uint32{0x02316a46, 0x02c417e9, 0x02b6f36c, 0x0368a783, 0x00f62de9, 0x01ed54c1, 0x034053d3, 0x00e4f574, 0x00f79f0c, 0x00094f95}}, Y: Field{[10]uint32{0x027155e0, 0x038cfaf3, 0x03fd7b2a, 0x01fe3f82, 0x0067c857, 0x016c9fbc, 0x029417ac, 0x03b030ca, 0x00cded78, 0x0015385a}}}, + {X: Field{[10]uint32{0x0003fbf2, 0x01173000, 0x004434ee, 0x031eccf6, 0x0255fc01, 0x038e00a6, 0x039586f9, 0x021c8185, 0x00e0e9c3, 0x00344c12}}, Y: Field{[10]uint32{0x00743f37, 0x01d42021, 0x021e3640, 0x0102e6f1, 0x01af2578, 0x02c9470e, 0x00906897, 0x0091de15, 0x02db9450, 0x001f1119}}}, + {X: Field{[10]uint32{0x00a284a2, 0x001194dc, 0x032c88e6, 0x00dca958, 0x02a632b2, 0x02f6f26a, 0x007d0797, 0x008488a2, 0x0110387c, 0x003a48d0}}, Y: Field{[10]uint32{0x036523c4, 0x02c33edb, 0x0363ae80, 0x0147dd03, 0x01839a26, 0x01be63b6, 0x03b3afe6, 0x01486d3f, 0x008c4ca3, 0x000ae62c}}}, + {X: Field{[10]uint32{0x03a29be5, 0x02a76b60, 0x0271332b, 0x007253e2, 0x00742834, 0x02ec95d9, 0x0091a5a7, 0x01e3bdce, 0x03a7ab69, 0x000c0b80}}, Y: Field{[10]uint32{0x0310120b, 0x028be0d5, 0x002eea98, 0x036d9102, 0x030e8430, 0x0395aecf, 0x02e850d2, 0x00d6facb, 0x02db210c, 0x0012af82}}}, + {X: Field{[10]uint32{0x01665368, 0x03345584, 0x008598d7, 0x0370c75a, 0x024fea8b, 0x02c3e31e, 0x020571ee, 0x003cc372, 0x03894440, 0x0014dc04}}, Y: Field{[10]uint32{0x02a97cbe, 0x0069d3fa, 0x02d1971b, 0x036fc5a9, 0x01a712e2, 0x02a68db8, 0x0331bbe5, 0x03c88695, 0x026439c1, 0x00328d15}}}, + {X: Field{[10]uint32{0x028383cd, 0x0254a6bc, 0x00ff4957, 0x0375508f, 0x01656aaa, 0x0168b4e6, 0x012b6f7a, 0x01f2e3eb, 0x0186645d, 0x002303a0}}, Y: Field{[10]uint32{0x0048d27f, 0x035dd5d3, 0x018ffcdc, 0x013b2538, 0x0263c6d2, 0x023eed20, 0x007319d1, 0x0126064c, 0x01ea14c4, 0x000bbc9d}}}, + {X: Field{[10]uint32{0x03ad8af5, 0x010f5e97, 0x0101dafc, 0x004b1a5e, 0x01adddc5, 0x03fe32a6, 0x01615c45, 0x028f2684, 0x003126ba, 0x001929c2}}, Y: Field{[10]uint32{0x02fe29d5, 0x014f9c2a, 0x0342c432, 0x0128a23d, 0x00148efe, 0x02ec5e5a, 0x0245c354, 0x017dab0e, 0x008b59a6, 0x002e90f1}}}, + {X: Field{[10]uint32{0x01438e06, 0x02d1ea97, 0x0268051d, 0x033ed3d5, 0x0363559a, 0x00598917, 0x03785e2e, 0x023892cb, 0x026e82ff, 0x003f6f41}}, Y: Field{[10]uint32{0x02973d63, 0x038aa104, 0x03def144, 0x0356c905, 0x02875731, 0x022e5267, 0x02a5d382, 0x036308dd, 0x01cfa19e, 0x0001836b}}}, + {X: Field{[10]uint32{0x02ad174f, 0x009bd07b, 0x03e0af1b, 0x033cb72c, 0x0282cf15, 0x02518544, 0x01dba01d, 0x001cc467, 0x00b81ff9, 0x002ca1f3}}, Y: Field{[10]uint32{0x0374e090, 0x02f7027e, 0x01bd1acf, 0x02af000e, 0x0236d1be, 0x036d9bb4, 0x038a4635, 0x002fb92c, 0x03397a9a, 0x001bfc54}}}, + {X: Field{[10]uint32{0x01068116, 0x035735ff, 0x02c3c962, 0x015c06f7, 0x033b3f84, 0x02cc0cbe, 0x01f21888, 0x00d293e9, 0x0248b652, 0x0006011e}}, Y: Field{[10]uint32{0x0224574b, 0x01385681, 0x0117b1f3, 0x00244068, 0x01801342, 0x033a95a0, 0x02c54446, 0x0220c8c1, 0x02691819, 0x0004d89d}}}, + {X: Field{[10]uint32{0x0235f914, 0x01f9ea00, 0x02aae0ce, 0x03a56f52, 0x026b74ff, 0x0290784d, 0x022dd328, 0x00b39622, 0x014fbe4e, 0x003c74ed}}, Y: Field{[10]uint32{0x00a3981a, 0x03589dea, 0x0233be86, 0x01965fbf, 0x02c0c211, 0x0212188c, 0x02e1471e, 0x0205fad2, 0x0141300e, 0x000df097}}}, + {X: Field{[10]uint32{0x013bec4a, 0x00e8db61, 0x02a839ce, 0x00db1788, 0x019770da, 0x0042b55b, 0x03509a60, 0x037eadff, 0x01e95046, 0x0026c36a}}, Y: Field{[10]uint32{0x00135faa, 0x01dd40ce, 0x024d96da, 0x006468a4, 0x03df757c, 0x010e0a73, 0x00bbc3ff, 0x0168dba0, 0x034530c2, 0x0009f580}}}, + {X: Field{[10]uint32{0x0099c5cc, 0x03635976, 0x025f9f13, 0x0093cbad, 0x022d3e4d, 0x01c5d5a3, 0x0255d403, 0x03462c2f, 0x03d95155, 0x003420ce}}, Y: Field{[10]uint32{0x024741e8, 0x01cef265, 0x01de13c4, 0x020bb13a, 0x02ffeefb, 0x01b6dc51, 0x03b1e4c5, 0x012ad447, 0x02c3b504, 0x0039426b}}}, + {X: Field{[10]uint32{0x03c37117, 0x00ca788b, 0x038a626c, 0x01885f27, 0x03ed62ad, 0x01e6039a, 0x0201b402, 0x005f90a2, 0x027c185f, 0x00231058}}, Y: Field{[10]uint32{0x023662f7, 0x016dee4e, 0x01ca77d9, 0x01071ccb, 0x02a36da4, 0x020fdcfb, 0x028a1e74, 0x029548df, 0x026c3316, 0x001d7288}}}, + {X: Field{[10]uint32{0x03728d27, 0x018a0ec9, 0x0311e7cc, 0x01b96d42, 0x002d75c2, 0x0284ee5f, 0x007099e9, 0x02a8c173, 0x0105e43a, 0x000dc7c0}}, Y: Field{[10]uint32{0x02b3ce99, 0x00ee031a, 0x0149b029, 0x009b3b7c, 0x01b11944, 0x0114e3ab, 0x00643120, 0x01b5a233, 0x03e7d097, 0x00325a76}}}, + {X: Field{[10]uint32{0x00cb1710, 0x03fef70b, 0x03e03541, 0x020dea3c, 0x02d94aeb, 0x01761930, 0x034d3a18, 0x028d63e2, 0x019a4238, 0x001440bd}}, Y: Field{[10]uint32{0x01ef1445, 0x008824e1, 0x016ce915, 0x030e27a6, 0x010bbffd, 0x035072af, 0x0130606c, 0x00f0fd33, 0x00f9adb6, 0x00278531}}}, + {X: Field{[10]uint32{0x03f08beb, 0x00aea9c7, 0x00cc26df, 0x02bef52a, 0x00a7f57e, 0x00d858bc, 0x00353c78, 0x0100f01e, 0x036cfd40, 0x00032886}}, Y: Field{[10]uint32{0x037f12f9, 0x038f9607, 0x03ffee6a, 0x02085092, 0x03d6b684, 0x0147b6c3, 0x019f2ef7, 0x02956cff, 0x004647eb, 0x0004228f}}}, + {X: Field{[10]uint32{0x01d775d9, 0x0139a28c, 0x007697c9, 0x00b2b310, 0x017ec364, 0x00038f72, 0x0368bc82, 0x034673a0, 0x00b3ff40, 0x00367351}}, Y: Field{[10]uint32{0x005f0901, 0x03257ad2, 0x033cb085, 0x006d6eaf, 0x03fd7c4a, 0x01e7792b, 0x00f71010, 0x03dc0753, 0x036c683e, 0x002dadbe}}}, + {X: Field{[10]uint32{0x01a10360, 0x02f7d105, 0x021e104f, 0x0020ff31, 0x00510da5, 0x006f5241, 0x01644267, 0x01a222ed, 0x00b2cbcb, 0x002684d5}}, Y: Field{[10]uint32{0x034f953a, 0x03a2e0a1, 0x01b9b710, 0x03ce0776, 0x03bc4927, 0x00f8900d, 0x023a2a89, 0x0122d136, 0x0291707c, 0x000fd7d4}}}, + {X: Field{[10]uint32{0x010fdf79, 0x002ae76b, 0x02941bd5, 0x0314e1a4, 0x0220fc60, 0x03ac3f6f, 0x03deb0bc, 0x020712b9, 0x020f271a, 0x00317957}}, Y: Field{[10]uint32{0x01c83a63, 0x001ddbff, 0x000aecb1, 0x01f5c228, 0x0285ed9e, 0x018aba4e, 0x0253e7cc, 0x024c041e, 0x0335eab4, 0x0004e283}}}, + {X: Field{[10]uint32{0x0060f919, 0x0012bb64, 0x012c69a0, 0x01c81667, 0x027c67ea, 0x03317d98, 0x010e4dc6, 0x02f4f48a, 0x03647f66, 0x0017af0b}}, Y: Field{[10]uint32{0x0054659c, 0x0265b582, 0x00f1e56e, 0x0182c432, 0x033ec1e8, 0x014da58d, 0x00f79206, 0x0217889f, 0x03cedf20, 0x001a3df6}}}, + {X: Field{[10]uint32{0x03966e03, 0x0041d733, 0x00b2da42, 0x02074e96, 0x00161d70, 0x029e7258, 0x011a5a79, 0x00374141, 0x039c7d06, 0x0013ca3a}}, Y: Field{[10]uint32{0x0267fafc, 0x03cf8174, 0x02a6c2ef, 0x00f4b3c4, 0x0044849f, 0x028abf9e, 0x02aeb8e4, 0x011d06ec, 0x00610543, 0x003b0de2}}}, + {X: Field{[10]uint32{0x0283fe8f, 0x0056d286, 0x005c0efe, 0x03b95fb2, 0x019fa039, 0x002cd1f2, 0x00c7a9a1, 0x00f82614, 0x00d1ce11, 0x003d4388}}, Y: Field{[10]uint32{0x02e975be, 0x026ff0fe, 0x00aa94db, 0x01e09f55, 0x00cee464, 0x00501fc8, 0x018595f6, 0x01068a08, 0x023190df, 0x00136df0}}}, + {X: Field{[10]uint32{0x03eff5ef, 0x021068ea, 0x01e76ab2, 0x01735092, 0x0079de94, 0x015620af, 0x038cdf2b, 0x02ae5775, 0x02d01ade, 0x003339ac}}, Y: Field{[10]uint32{0x00626e52, 0x0109f94d, 0x02bd5604, 0x02be7e89, 0x01bab1db, 0x0182c6f5, 0x03764bb5, 0x00502bf7, 0x02741312, 0x00075a41}}}, + {X: Field{[10]uint32{0x032d8475, 0x003b5ba7, 0x03bbfbc8, 0x0394b4d2, 0x01e4830b, 0x016bf3b0, 0x00c73121, 0x0155f4bb, 0x0174fb10, 0x00156994}}, Y: Field{[10]uint32{0x038012c0, 0x032245c9, 0x03eec611, 0x03539cd4, 0x023f0623, 0x01524e01, 0x00dd4126, 0x014dea5c, 0x01f1de1e, 0x0031a5e5}}}, + {X: Field{[10]uint32{0x0127f290, 0x03b4a298, 0x00ab0267, 0x0065d965, 0x02d0c1d8, 0x01eb2351, 0x022779e9, 0x02cf71f8, 0x00fa7b4d, 0x001e0887}}, Y: Field{[10]uint32{0x03c46a54, 0x014fa432, 0x00b663ad, 0x0030b8d6, 0x02ace066, 0x03aad594, 0x003a1582, 0x02318922, 0x01edfd8e, 0x00237735}}}, + {X: Field{[10]uint32{0x006ed178, 0x00b5bea6, 0x03f9602b, 0x038a3e4b, 0x009006cc, 0x00041e0b, 0x00da39d6, 0x0390d3b5, 0x0039441e, 0x0026e614}}, Y: Field{[10]uint32{0x02c6cfa4, 0x0397e704, 0x003bb85f, 0x0385cfc0, 0x028a50da, 0x0364e230, 0x03f67d22, 0x01ecade2, 0x01c87b53, 0x003873e1}}}, + {X: Field{[10]uint32{0x037edf20, 0x027c8103, 0x004f38ae, 0x02c0a477, 0x026c27e7, 0x026d9d5e, 0x01b9d78d, 0x0123795f, 0x03b14a9e, 0x0026a8bf}}, Y: Field{[10]uint32{0x037d1040, 0x022dfd8d, 0x00a115ff, 0x03549dcb, 0x018f80d7, 0x0164a54b, 0x00066ef8, 0x03de53f8, 0x03e378e0, 0x001dc71e}}}, + {X: Field{[10]uint32{0x02937e1f, 0x0166a271, 0x02c021e3, 0x0145b603, 0x00949de2, 0x00248a83, 0x00510cb4, 0x02d18c5f, 0x008366a0, 0x00344164}}, Y: Field{[10]uint32{0x02c8630e, 0x0105517e, 0x000ac99c, 0x00bebb1e, 0x020e5e6f, 0x03117836, 0x017155c0, 0x011052a2, 0x0225c9ea, 0x0021014e}}}, + {X: Field{[10]uint32{0x01c5d066, 0x028bfc7e, 0x027c23e7, 0x03671c2e, 0x031ac58a, 0x00aa07df, 0x01c2d810, 0x02612bfb, 0x02cf7456, 0x0007cfb2}}, Y: Field{[10]uint32{0x01a23e54, 0x00d7601c, 0x00d94cd4, 0x018b83e6, 0x0015f1f3, 0x0085a07e, 0x034539ef, 0x0093c5cf, 0x00fa2bfd, 0x0031ab76}}}, + {X: Field{[10]uint32{0x022c4371, 0x03372836, 0x024fe569, 0x001bacd4, 0x035e504d, 0x01b23e51, 0x0151ece8, 0x0032b495, 0x0309a16d, 0x0028c4b1}}, Y: Field{[10]uint32{0x03ae7b03, 0x01e00e6c, 0x039690c7, 0x00a6b1ef, 0x0008c1fc, 0x01ad6ee1, 0x009ea2c6, 0x03176882, 0x002aea04, 0x002197b3}}}, + {X: Field{[10]uint32{0x004197af, 0x03ccbd9d, 0x0169d953, 0x036c405f, 0x008c3493, 0x030bbb4e, 0x00f64109, 0x02e9e3ef, 0x0275e829, 0x003c8711}}, Y: Field{[10]uint32{0x018b2f57, 0x03dd2b42, 0x03ef2b37, 0x01cd20b4, 0x01043d93, 0x028dec0f, 0x030ee061, 0x01f2bd76, 0x033e4337, 0x003f4b19}}}, + {X: Field{[10]uint32{0x00865692, 0x03b5f006, 0x014268fe, 0x00ce9cef, 0x01f48369, 0x02146acc, 0x00b2eb61, 0x02680bef, 0x00ea2a02, 0x0004585d}}, Y: Field{[10]uint32{0x030aaefd, 0x01cb5375, 0x00352ee7, 0x015512d9, 0x0125cf38, 0x01bd7475, 0x03ca2a2d, 0x02b676d7, 0x0027e1ce, 0x000848f4}}}, + {X: Field{[10]uint32{0x03f9d663, 0x00cd7e9c, 0x0260a962, 0x0343d79f, 0x022334fc, 0x015f9cb5, 0x00a21173, 0x0131b3d9, 0x03d0919e, 0x000d639d}}, Y: Field{[10]uint32{0x0037bc08, 0x02dbad9e, 0x020cb8b5, 0x02be821a, 0x03dcf5cd, 0x0222b1f3, 0x03819859, 0x03d00c41, 0x02206f99, 0x001fbe35}}}, + {X: Field{[10]uint32{0x02a33fa9, 0x031b6aae, 0x0060db86, 0x02cea04d, 0x008056de, 0x00597eab, 0x0157e203, 0x03c518e4, 0x020d9e81, 0x001427df}}, Y: Field{[10]uint32{0x00db6ea9, 0x016e34a8, 0x03090a09, 0x017f0eff, 0x03fd1216, 0x00fc6b4e, 0x028645f9, 0x02db139a, 0x021a340e, 0x00154523}}}, + {X: Field{[10]uint32{0x02a4ed09, 0x031f9ab4, 0x020b9ad9, 0x02f50e00, 0x00a15c95, 0x00d1bc87, 0x01e30c49, 0x0038987a, 0x025c185f, 0x000d638c}}, Y: Field{[10]uint32{0x0118c4b8, 0x026d97cb, 0x01b3d97f, 0x02f4d1e2, 0x0154aa11, 0x02cf5861, 0x02ef6903, 0x0056ca04, 0x0074c977, 0x00017f30}}}, + {X: Field{[10]uint32{0x01a2fc4c, 0x00daf8f7, 0x00d2608d, 0x00411e24, 0x02e314c3, 0x00962780, 0x0337e4ea, 0x02bcb4df, 0x012dbc00, 0x0007871c}}, Y: Field{[10]uint32{0x010655dc, 0x02c7da92, 0x00c145bf, 0x01d410b5, 0x03974e7e, 0x034c2ce2, 0x0398cf5a, 0x01aef8d9, 0x039ae313, 0x00012263}}}, + {X: Field{[10]uint32{0x03ffcd1d, 0x025ed5c8, 0x03918bd7, 0x0081cd86, 0x0064e317, 0x0202a564, 0x03b794dc, 0x01e6c3fc, 0x039aaa3f, 0x0029945b}}, Y: Field{[10]uint32{0x0254f5d4, 0x0140c00e, 0x00f9bed5, 0x0373af6f, 0x02812373, 0x01f1f0c4, 0x0377b074, 0x02e0c14f, 0x006b59f3, 0x003164d3}}}, + {X: Field{[10]uint32{0x01098155, 0x00046e2c, 0x01b79295, 0x00cf6966, 0x0150cb56, 0x00c1111a, 0x03ab8240, 0x006e12e7, 0x00d88b1e, 0x00391ad2}}, Y: Field{[10]uint32{0x00c94f51, 0x01e4d96c, 0x00a80a5d, 0x02033654, 0x003e7c8a, 0x0165d0d4, 0x002e5512, 0x0265db8d, 0x02244a33, 0x0010fa6e}}}, + {X: Field{[10]uint32{0x0365aa0b, 0x00cdc34f, 0x03400e58, 0x01000489, 0x00e1cc2d, 0x037e79c5, 0x025105b1, 0x030b8018, 0x009997a9, 0x00329e94}}, Y: Field{[10]uint32{0x02e1f071, 0x007abf99, 0x02039b7a, 0x011334b3, 0x0319c618, 0x03df2c3b, 0x01994fce, 0x03346883, 0x00e4d2ee, 0x00376329}}}, + {X: Field{[10]uint32{0x02313f08, 0x003561a5, 0x02d0da39, 0x027bb007, 0x00848659, 0x01de1b10, 0x01352d4b, 0x015dbc44, 0x02c0d29b, 0x000c9ad7}}, Y: Field{[10]uint32{0x0011d384, 0x020a2a04, 0x0126495e, 0x0280f693, 0x01c2d5d3, 0x0356ca83, 0x02a60633, 0x01952f9e, 0x0171a4ac, 0x003d28fc}}}, + {X: Field{[10]uint32{0x030d306d, 0x024c8a39, 0x03e2b392, 0x03bb944b, 0x017c5bf8, 0x03fa6eb6, 0x017038db, 0x031d6a95, 0x018254f5, 0x0002dd8a}}, Y: Field{[10]uint32{0x003606c5, 0x036cf6c5, 0x016fbf92, 0x01d4e612, 0x020cc85c, 0x035f7a2f, 0x035bb2d0, 0x00fa18b1, 0x039fb36e, 0x0022e023}}}, + {X: Field{[10]uint32{0x032286ca, 0x026886e1, 0x014f5ef7, 0x0295e419, 0x03ae66f1, 0x03c6a046, 0x0250a096, 0x00dbff77, 0x00e12b1d, 0x0022f589}}, Y: Field{[10]uint32{0x011f02df, 0x02e015eb, 0x004d0fe9, 0x02885c15, 0x038bf6a2, 0x01108d2b, 0x0331c747, 0x022586d9, 0x022ef453, 0x0019a1fa}}}, + {X: Field{[10]uint32{0x01de48a9, 0x02349741, 0x03da42d7, 0x00cf555c, 0x01509d1c, 0x03e11b19, 0x01414ccc, 0x024a402f, 0x02c72a9f, 0x003b497a}}, Y: Field{[10]uint32{0x00d89eaa, 0x0287ad40, 0x028b98f3, 0x03407dce, 0x018705a9, 0x020b35ef, 0x011583c6, 0x03f40edb, 0x01ed2710, 0x00155bea}}}, + {X: Field{[10]uint32{0x00bc02bf, 0x012e79c2, 0x000600df, 0x030778a0, 0x000e8fac, 0x01d57ecc, 0x027bc94c, 0x01aa1271, 0x036c9ed7, 0x003c650e}}, Y: Field{[10]uint32{0x002a40a7, 0x023295a2, 0x004b0481, 0x00cb7c7e, 0x03a31562, 0x00b2e1db, 0x00bb6464, 0x01383dab, 0x020885dc, 0x002631ee}}}, + {X: Field{[10]uint32{0x01e9e5d3, 0x01460ca9, 0x02f391d3, 0x0085ab23, 0x03834228, 0x033b6b9e, 0x0024276d, 0x02ae3ec3, 0x03142de3, 0x00316d82}}, Y: Field{[10]uint32{0x02b5cd69, 0x00ab37e7, 0x01260e91, 0x01e381f0, 0x02332595, 0x00535297, 0x01e10d90, 0x039827d5, 0x00da1174, 0x0033a1b9}}}, + {X: Field{[10]uint32{0x013755ab, 0x00b10252, 0x014f592e, 0x000305a3, 0x01c77782, 0x014fe678, 0x019647b2, 0x03f98ccd, 0x038e706c, 0x0002c198}}, Y: Field{[10]uint32{0x0344bbd5, 0x0228e0f2, 0x0369d3e8, 0x01ee1f9f, 0x03e16dd3, 0x027e54d5, 0x02e24933, 0x0148a44d, 0x03ab1b4d, 0x00399007}}}, + {X: Field{[10]uint32{0x024b14cf, 0x00e6df49, 0x03cd89f5, 0x0391a052, 0x03f0ec5f, 0x00cbe958, 0x0250ea54, 0x02b3f4a5, 0x01b5486d, 0x0033be30}}, Y: Field{[10]uint32{0x025a2fcf, 0x01aab046, 0x0166c931, 0x00aac94b, 0x015ed4fd, 0x01875ca0, 0x00939ea7, 0x002f8c00, 0x02c18d0b, 0x00020330}}}, + {X: Field{[10]uint32{0x0385d7ce, 0x011b6892, 0x014f38e5, 0x01009a5d, 0x0162defb, 0x00662c70, 0x00dccac4, 0x03ca857f, 0x004df868, 0x003d85a4}}, Y: Field{[10]uint32{0x038255b3, 0x0098ce9e, 0x023e47f6, 0x00deabab, 0x03de8b4d, 0x01cecc73, 0x03b93e0b, 0x009327c2, 0x00123440, 0x003ee5c4}}}, + {X: Field{[10]uint32{0x018632e3, 0x03d8b0fe, 0x02599a59, 0x0397b602, 0x011613d8, 0x000bfbd3, 0x02516979, 0x0129ecce, 0x0144bc7e, 0x0025ce18}}, Y: Field{[10]uint32{0x00fc16b4, 0x001b4d83, 0x03b6a5a8, 0x0196e9e6, 0x0308e560, 0x010c6bc9, 0x01834a95, 0x0264e4b7, 0x01845842, 0x002f44b5}}}, + {X: Field{[10]uint32{0x030200c8, 0x03390dee, 0x0311b551, 0x03701584, 0x011eb08d, 0x0195ac9e, 0x003a56f6, 0x03e803d0, 0x030c7a70, 0x00251bc4}}, Y: Field{[10]uint32{0x01945b8d, 0x019a5278, 0x0310507a, 0x02529efd, 0x00186d97, 0x02bc15e1, 0x01a923f3, 0x01f981fd, 0x00f6a503, 0x002b35a6}}}, + {X: Field{[10]uint32{0x03929230, 0x0102f730, 0x0287d917, 0x030cd08d, 0x01d5f1af, 0x03034962, 0x038c064f, 0x014ec030, 0x018472c4, 0x003b833c}}, Y: Field{[10]uint32{0x03ff8dc8, 0x01e09927, 0x0191f79c, 0x00a2cdba, 0x008c773c, 0x03289264, 0x014db12f, 0x034e5fa5, 0x035a7fec, 0x003605dd}}}, + {X: Field{[10]uint32{0x01535d7b, 0x018e9ddf, 0x03c21234, 0x0225364e, 0x03ef0072, 0x02ac4a1f, 0x0148b4f4, 0x02961c27, 0x03fe9542, 0x003ccd7d}}, Y: Field{[10]uint32{0x03350283, 0x006140b8, 0x01bf7455, 0x03a69ac6, 0x017639da, 0x023abed3, 0x0389c06d, 0x0174a4d4, 0x01a30246, 0x000cdb92}}}, + {X: Field{[10]uint32{0x017e7739, 0x02c383f2, 0x03f06f0e, 0x01b15675, 0x00b1326d, 0x01daa410, 0x00200d7b, 0x01fe3773, 0x01794fb3, 0x00156fe0}}, Y: Field{[10]uint32{0x03e69bfc, 0x024c28ab, 0x0086632e, 0x0293d274, 0x013053f6, 0x01f5c0fb, 0x002ade6f, 0x017307a4, 0x03007915, 0x00328cf3}}}, + {X: Field{[10]uint32{0x01de29b0, 0x01f5bd8a, 0x0062349b, 0x0004bf83, 0x031033b9, 0x02edb650, 0x022195fa, 0x0369197b, 0x03816143, 0x0037ff33}}, Y: Field{[10]uint32{0x00f0aff7, 0x01d6e71d, 0x0190bbfe, 0x02757f7b, 0x00c04bc3, 0x02178562, 0x029fc06f, 0x012b9f70, 0x03f6e1dc, 0x0026ff7c}}}, + {X: Field{[10]uint32{0x0139dec3, 0x039f608d, 0x0177f3c5, 0x0044ba3d, 0x02c435bc, 0x0155aec4, 0x01c1395b, 0x01be8bf9, 0x009425fc, 0x002e5d23}}, Y: Field{[10]uint32{0x014007a2, 0x032a2a32, 0x016e3dfa, 0x02f18eaa, 0x00f76d31, 0x0354507b, 0x016b2336, 0x0348ed7a, 0x03b2b995, 0x003d48e2}}}, + {X: Field{[10]uint32{0x0297f7ca, 0x00561e2b, 0x039a3fb6, 0x0397e9a8, 0x022c5349, 0x03d4ab66, 0x0329e335, 0x02c55ce3, 0x0054e951, 0x0024b10f}}, Y: Field{[10]uint32{0x012b4a17, 0x02c06558, 0x022bf71b, 0x01e75a29, 0x02bdc4ae, 0x00d92d8a, 0x00924fc6, 0x006f28c2, 0x0373dedd, 0x001f1e9a}}}, + {X: Field{[10]uint32{0x021eb272, 0x02d9ac34, 0x02d96040, 0x03a7d1c9, 0x035677af, 0x01e96248, 0x01ef139d, 0x017957b8, 0x03ea2599, 0x0002c64d}}, Y: Field{[10]uint32{0x03043dd6, 0x024c6033, 0x019195a9, 0x000ea3aa, 0x005585c5, 0x03911253, 0x003e0ca5, 0x031f3f9b, 0x0257544a, 0x00343e56}}}, + {X: Field{[10]uint32{0x0133f457, 0x01b601f0, 0x01fc94a4, 0x01ea3443, 0x00e2a504, 0x00026de2, 0x005a6b72, 0x03892caf, 0x024dbd7e, 0x000b0735}}, Y: Field{[10]uint32{0x020aabe3, 0x01a12dd9, 0x0230cfd8, 0x03ea7a73, 0x027a9449, 0x0179a209, 0x0031a1f0, 0x01e92f9f, 0x03dfce7d, 0x003fa298}}}, + {X: Field{[10]uint32{0x01004834, 0x03d4ff11, 0x014ed447, 0x01a1b321, 0x026d5443, 0x002900f5, 0x0030649b, 0x02a28ada, 0x0278be6e, 0x0013fc42}}, Y: Field{[10]uint32{0x018765d8, 0x00b4a1f9, 0x018bdb36, 0x035ca3d7, 0x01e43384, 0x0138b6c3, 0x001cf5bf, 0x001658ba, 0x00c356d5, 0x002cf2cc}}}, + {X: Field{[10]uint32{0x003d28de, 0x000d563d, 0x0344d9da, 0x0320145c, 0x01f877e8, 0x031c5164, 0x00a7c2a0, 0x01996ad8, 0x03666c90, 0x000cfd56}}, Y: Field{[10]uint32{0x015163f6, 0x0293d90b, 0x01ce08c2, 0x0150e17b, 0x02af1467, 0x024e4c68, 0x020ea80c, 0x017b562b, 0x00ab6aa9, 0x000e6612}}}, + {X: Field{[10]uint32{0x000d3e04, 0x0221eacd, 0x02636020, 0x01b56216, 0x02408da6, 0x03fcb5af, 0x037cc150, 0x00dfac62, 0x03595a72, 0x002e5c48}}, Y: Field{[10]uint32{0x0272363a, 0x01e22cef, 0x00ead817, 0x0223ea1f, 0x02dd125f, 0x031a4c51, 0x03f0ab8f, 0x0316906c, 0x03bd643a, 0x0028a0e8}}}, + {X: Field{[10]uint32{0x00a1035b, 0x0297f058, 0x00dccf0b, 0x02953661, 0x035a4204, 0x03fdcce3, 0x002c1e9f, 0x0250d7d8, 0x00676efa, 0x003483e4}}, Y: Field{[10]uint32{0x03404139, 0x02b9dee3, 0x0086f3fa, 0x01bd9915, 0x01ca1af2, 0x028c545d, 0x004406ce, 0x000fe1c9, 0x007a4520, 0x002b0e8f}}}, + {X: Field{[10]uint32{0x02f41f2d, 0x0252d4ff, 0x02ef54e2, 0x03800fb8, 0x0281d8b3, 0x001cb864, 0x00b2d0bd, 0x027c3511, 0x02a3157c, 0x000c8b5b}}, Y: Field{[10]uint32{0x012936b3, 0x0166d37e, 0x03a97ec3, 0x03dba98a, 0x026e096d, 0x0298e310, 0x02a9e676, 0x00b7799d, 0x03f19dc1, 0x0020e051}}}, + {X: Field{[10]uint32{0x020c26d5, 0x027b67be, 0x024cf8f2, 0x032e52ab, 0x011d2bfa, 0x02b802c3, 0x0164ea7b, 0x0106dadd, 0x00080683, 0x00256497}}, Y: Field{[10]uint32{0x02b92130, 0x01bdfe1d, 0x006d02b4, 0x03f2f749, 0x00edf14c, 0x0081f0bb, 0x015557b2, 0x0088cb09, 0x01b91315, 0x000318fb}}}, + {X: Field{[10]uint32{0x011f70af, 0x03b86f4f, 0x01664c06, 0x00b4f692, 0x03517a71, 0x00e64f35, 0x03fba71e, 0x00637684, 0x02b5d436, 0x001d64aa}}, Y: Field{[10]uint32{0x02eaa410, 0x0274e185, 0x01b457d7, 0x02ba5de8, 0x027a9222, 0x033ea2ac, 0x000aef1c, 0x00a1356b, 0x0077af74, 0x001553ba}}}, + {X: Field{[10]uint32{0x0209e0eb, 0x03669644, 0x03503671, 0x0129814f, 0x00806257, 0x02ce45a0, 0x031ad311, 0x02dc7e18, 0x018be13e, 0x003b674a}}, Y: Field{[10]uint32{0x0185c3cb, 0x02e86e27, 0x02b6fe54, 0x03f35403, 0x017b479e, 0x03d0361f, 0x007caa30, 0x0221b668, 0x03c0dab8, 0x0025ea6a}}}, + {X: Field{[10]uint32{0x02355fad, 0x039250be, 0x01fcb9f8, 0x028bff0e, 0x0378ae69, 0x002351a6, 0x028daf33, 0x002f0ef4, 0x0236a590, 0x00337fbd}}, Y: Field{[10]uint32{0x020db6d7, 0x02039194, 0x02d5179f, 0x0314de3c, 0x02f4f6c7, 0x024581ea, 0x02a1c255, 0x03bd3a91, 0x03cc54c0, 0x003e0ce3}}}, + {X: Field{[10]uint32{0x0149db49, 0x014b9a9e, 0x035848ca, 0x00f5a961, 0x03dbc094, 0x01b67d76, 0x03a8fc42, 0x02f5ab29, 0x03220ca3, 0x003d8e33}}, Y: Field{[10]uint32{0x01675295, 0x02478290, 0x03732f36, 0x009a7f47, 0x01653a79, 0x03565450, 0x03490039, 0x03aade42, 0x03dd8309, 0x0015a899}}}, + {X: Field{[10]uint32{0x0314bd1c, 0x01e8ac63, 0x02e1e638, 0x00eaf250, 0x037a6616, 0x018e482c, 0x0076cab1, 0x010fd40f, 0x02f29b1e, 0x0010d03f}}, Y: Field{[10]uint32{0x032210a0, 0x00af0ae0, 0x01eb6ad6, 0x00562eee, 0x0159ff2f, 0x01bdea77, 0x00908f0b, 0x034d4f1b, 0x002d6889, 0x000b569e}}}, + {X: Field{[10]uint32{0x01b80991, 0x0208bc6a, 0x01a30bf2, 0x025b1bb4, 0x001aa832, 0x03bae09b, 0x012c01fb, 0x036c4c33, 0x028005e3, 0x001e2be1}}, Y: Field{[10]uint32{0x008c3725, 0x0106bd89, 0x02a2a49d, 0x03761881, 0x01ec458c, 0x02e53e0d, 0x000d95b6, 0x033a449a, 0x023637a6, 0x000671f2}}}, + {X: Field{[10]uint32{0x01c41ef4, 0x00ab8472, 0x02d4958a, 0x01e4e2e5, 0x01720642, 0x00ecf558, 0x02831c01, 0x02fbdd52, 0x010fe6a4, 0x00361f96}}, Y: Field{[10]uint32{0x021d1dc6, 0x02d02e6f, 0x016b3e30, 0x0286d422, 0x0353b97a, 0x023b53af, 0x03ff97ff, 0x00d227c7, 0x013ac9b4, 0x000e4a2a}}}, + {X: Field{[10]uint32{0x01c54c32, 0x02a111b7, 0x00a7f630, 0x01a4656e, 0x0285ea85, 0x002e41db, 0x015cfd0a, 0x011fa505, 0x01f369c5, 0x002d6746}}, Y: Field{[10]uint32{0x02661865, 0x03fc2176, 0x00357f81, 0x01fb1129, 0x032d5082, 0x02058b17, 0x0383d552, 0x02af838a, 0x008affe7, 0x002e3d56}}}, + {X: Field{[10]uint32{0x00f3ee78, 0x00f4c318, 0x0143a6d8, 0x02f57abd, 0x03662726, 0x007050ea, 0x02a64cd8, 0x026c000e, 0x03da7cd5, 0x000d3d90}}, Y: Field{[10]uint32{0x00501ee8, 0x001111bd, 0x03b22d52, 0x0078fe91, 0x0291906c, 0x00fb968d, 0x00bd29b0, 0x03d5cd68, 0x00f291a7, 0x001055d3}}}, + {X: Field{[10]uint32{0x033dbbf3, 0x00e57588, 0x01b4ecac, 0x03d5ac17, 0x00fd007b, 0x030c725a, 0x0378757d, 0x027790cf, 0x03d0583e, 0x0015bbcd}}, Y: Field{[10]uint32{0x035c9286, 0x0052e6b7, 0x0229a92c, 0x037ee7a5, 0x02ba8cb5, 0x00ee853a, 0x02e28075, 0x0263e442, 0x001ab5c8, 0x00285038}}}, + {X: Field{[10]uint32{0x01c957d7, 0x037402bb, 0x00fc87e3, 0x01d9e115, 0x02fc54dd, 0x00e97750, 0x039ca5cb, 0x015a2c44, 0x0334815b, 0x0000790f}}, Y: Field{[10]uint32{0x02334cc8, 0x01c93ddf, 0x0302c85d, 0x03eb410c, 0x008e947a, 0x01370af7, 0x0282d9e6, 0x03b881e2, 0x0274ac96, 0x001730e0}}}, + {X: Field{[10]uint32{0x0339a952, 0x00c18bf0, 0x00eabad9, 0x020a63de, 0x01f8b06c, 0x03606df7, 0x029046d3, 0x036df366, 0x024935d2, 0x000339e7}}, Y: Field{[10]uint32{0x004f9686, 0x0282286e, 0x01dc7fff, 0x03d7f701, 0x038765c8, 0x02f0f3d6, 0x018c4943, 0x0189a96b, 0x02ee1b90, 0x003f0bdb}}}, + {X: Field{[10]uint32{0x02fe4fd9, 0x01030c61, 0x00e2c76c, 0x030d2cf7, 0x00f6766c, 0x0068033e, 0x00c3365e, 0x00b099c3, 0x0004ca86, 0x002d0512}}, Y: Field{[10]uint32{0x01b2219c, 0x016e6b54, 0x004b8717, 0x02ad78a8, 0x0029cbda, 0x00e803f5, 0x03752f00, 0x01b8028f, 0x021fca9b, 0x00390da2}}}, + {X: Field{[10]uint32{0x034fd39f, 0x00750887, 0x006a70b7, 0x007b06f1, 0x01541634, 0x03b5274e, 0x039cf65c, 0x03e09239, 0x03247406, 0x003aa8a5}}, Y: Field{[10]uint32{0x017c14a6, 0x0374a2ea, 0x01d46248, 0x033c0e28, 0x02d0d4b6, 0x01788610, 0x00d99328, 0x01730f79, 0x001be3b7, 0x001a39fe}}}, + {X: Field{[10]uint32{0x00f5b6a5, 0x00bb140c, 0x02999e7a, 0x0327d0b1, 0x02eb7371, 0x0372ff1c, 0x00c6caa3, 0x0222f0ee, 0x00ff1f72, 0x00138b44}}, Y: Field{[10]uint32{0x025a8774, 0x020803c2, 0x00f82be8, 0x03d7ad9e, 0x006ba793, 0x03905f40, 0x03515ca3, 0x013ec2a4, 0x005cdf2a, 0x001a368f}}}, + {X: Field{[10]uint32{0x030659f1, 0x02776888, 0x01adce00, 0x025115f0, 0x007d073b, 0x019f0a25, 0x00a4b45c, 0x03b258aa, 0x01e1114d, 0x0020d3c8}}, Y: Field{[10]uint32{0x01adc89c, 0x02b1fec9, 0x00a6ef78, 0x036d8c83, 0x0339263a, 0x001299f0, 0x03acb27d, 0x028280bd, 0x01b6edb5, 0x003a7e98}}}, + {X: Field{[10]uint32{0x00c7d0c7, 0x01c4e78c, 0x00381ece, 0x0367e6f7, 0x01c43cae, 0x034f5a3f, 0x03268d7c, 0x011156a5, 0x00aca0a6, 0x002a12d1}}, Y: Field{[10]uint32{0x03bf6b74, 0x02bc9642, 0x00d6da05, 0x01e4e20b, 0x03d12678, 0x02466bde, 0x03bde43f, 0x000aef4b, 0x033b74e7, 0x000be40f}}}, + {X: Field{[10]uint32{0x001d6789, 0x00d207c9, 0x02cbdd41, 0x01f2ed0c, 0x02600cbe, 0x02783e9b, 0x031df66f, 0x02e5dd1e, 0x020698bc, 0x00084867}}, Y: Field{[10]uint32{0x00954055, 0x0346249c, 0x03736aef, 0x02f8c92e, 0x022e6970, 0x02d74c99, 0x017d9688, 0x0061d2a2, 0x00d3c896, 0x001e90e2}}}, + {X: Field{[10]uint32{0x03aeafd4, 0x01ec8be6, 0x03562686, 0x01260a89, 0x017b9465, 0x013d261e, 0x034bbdbe, 0x0333da22, 0x021f93bf, 0x003e9453}}, Y: Field{[10]uint32{0x00f91b74, 0x03c95f69, 0x0330a478, 0x015b09a9, 0x012c2f61, 0x0324c382, 0x0087b518, 0x00ad2a78, 0x02155257, 0x00333520}}}, + {X: Field{[10]uint32{0x01451ffb, 0x03e80b1e, 0x01ffa4ca, 0x03d4fcbf, 0x012204d4, 0x026f630b, 0x0133a4a9, 0x0267c301, 0x03f16430, 0x002d82be}}, Y: Field{[10]uint32{0x0321294b, 0x03bbe2d2, 0x03f43886, 0x0018fbbc, 0x01d321e0, 0x01af69ba, 0x00b3bd27, 0x02649b35, 0x03901a02, 0x0003fb63}}}, + {X: Field{[10]uint32{0x03ed76cd, 0x02143a29, 0x00defc74, 0x0194e71b, 0x0017c2b7, 0x0151a53a, 0x02fcca65, 0x038d2a1b, 0x01a3196c, 0x003ca73e}}, Y: Field{[10]uint32{0x00c9c5f7, 0x0044a7e2, 0x028f6247, 0x01de6547, 0x00994b29, 0x036d6eb3, 0x03f1bf62, 0x00cf3ecd, 0x023af7c3, 0x00144c21}}}, + {X: Field{[10]uint32{0x01084e4d, 0x02e49d71, 0x014ed563, 0x0128c889, 0x01d8fe31, 0x00f88fc7, 0x03af34b0, 0x02ff1468, 0x023acb00, 0x00273678}}, Y: Field{[10]uint32{0x0298e1d5, 0x01bf1384, 0x0277d4d3, 0x0133e34a, 0x014f31bd, 0x01ecc5c1, 0x01d6c1a1, 0x029c4054, 0x035cc66e, 0x003b3c08}}}, + {X: Field{[10]uint32{0x02e5d65c, 0x00edbd7d, 0x025bff3d, 0x0246acac, 0x0218ed66, 0x0395a8a0, 0x02d99a6b, 0x00122be5, 0x01b02cfa, 0x0015be22}}, Y: Field{[10]uint32{0x001fe4bc, 0x03a81ec9, 0x00d921b7, 0x00a7a832, 0x01bb8ecc, 0x03723f28, 0x034f8248, 0x01cabfd9, 0x00ea4a23, 0x000d4ac8}}}, + {X: Field{[10]uint32{0x01ff2a08, 0x024daad7, 0x03dea16c, 0x039491af, 0x028e2366, 0x00f7bd55, 0x0169a7dd, 0x0363f05b, 0x02b7f8fa, 0x00378caf}}, Y: Field{[10]uint32{0x009e145f, 0x00013509, 0x01acba7c, 0x0332c378, 0x03eaa216, 0x038997ea, 0x002bd06f, 0x0070891b, 0x011c93a7, 0x0035cc7c}}}, + {X: Field{[10]uint32{0x026ba256, 0x0222578a, 0x02693096, 0x00ebe612, 0x037d12dc, 0x03beab36, 0x03dfa58f, 0x00a76300, 0x01c1dc17, 0x00217b1f}}, Y: Field{[10]uint32{0x024a747c, 0x02c2d166, 0x0041b194, 0x03cae86a, 0x0189e4b9, 0x03ee8c77, 0x00c73b5a, 0x02af2fe6, 0x00af8e9a, 0x00148c0e}}}, + {X: Field{[10]uint32{0x01e2e141, 0x02972bd0, 0x014abe23, 0x0038ac9b, 0x02e22328, 0x00b6e2fd, 0x03f5efe4, 0x023b07b5, 0x01956052, 0x003de522}}, Y: Field{[10]uint32{0x00c6ff98, 0x03f2dee0, 0x012fcdd6, 0x01585b37, 0x0258871e, 0x02a35b67, 0x0037e9fd, 0x007e621a, 0x00e296ed, 0x0027dd65}}}, + {X: Field{[10]uint32{0x03454f10, 0x0267383c, 0x00137621, 0x00eb88a3, 0x02866bd5, 0x0006a4ef, 0x036e8eef, 0x022094f5, 0x03d3b420, 0x0016235b}}, Y: Field{[10]uint32{0x002af573, 0x008a92ed, 0x02d2c6d9, 0x0206b437, 0x0206320b, 0x00c6df8c, 0x03f29ade, 0x00822ee8, 0x02533e41, 0x00297f25}}}, + {X: Field{[10]uint32{0x00cc7443, 0x0108f787, 0x0259c0bf, 0x0253a0d1, 0x03b01db2, 0x025d9dde, 0x0387d4e8, 0x03229d5b, 0x008dbbe5, 0x00061bf8}}, Y: Field{[10]uint32{0x03dfbdc0, 0x01be67a6, 0x01bdca25, 0x009a9912, 0x0229f12e, 0x00d7f432, 0x037a93a4, 0x01e080d0, 0x0139a46f, 0x0036677b}}}, + {X: Field{[10]uint32{0x01bd3d25, 0x01b57796, 0x036bb5a0, 0x02600bd5, 0x022af22e, 0x03b84ccd, 0x03eac38c, 0x02afcced, 0x03083055, 0x00395272}}, Y: Field{[10]uint32{0x01332381, 0x000c971f, 0x005fd4fe, 0x0390d2a5, 0x015ababd, 0x03f0d6b9, 0x001c7f7a, 0x00520d99, 0x0320e7b5, 0x00337cdf}}}, + {X: Field{[10]uint32{0x0224422b, 0x024ce240, 0x006e18ac, 0x01e7d4ea, 0x00b930df, 0x03fa12d6, 0x006108fc, 0x01456172, 0x02fbfd7f, 0x0029390a}}, Y: Field{[10]uint32{0x00ce1e30, 0x011e5800, 0x03e2f1ea, 0x0072efa8, 0x00541e55, 0x024575eb, 0x00d6177f, 0x00c40ad6, 0x021b0396, 0x0003a7e3}}}, + {X: Field{[10]uint32{0x0003dadb, 0x03bf72b6, 0x03d4ed09, 0x02a5c667, 0x004755fb, 0x01dd43e9, 0x009e9cfb, 0x00bd09ac, 0x00444202, 0x0017dfb6}}, Y: Field{[10]uint32{0x0376ffad, 0x0386f74a, 0x01addccb, 0x030e6ff3, 0x00e852d9, 0x02425bc7, 0x01592fcc, 0x023ac272, 0x01edd06a, 0x00024757}}}, + {X: Field{[10]uint32{0x02938d66, 0x038603b0, 0x038f1868, 0x03e42be8, 0x0191dcf7, 0x03d9ef45, 0x033fa223, 0x0193842c, 0x034332f0, 0x000feb11}}, Y: Field{[10]uint32{0x02aabe5c, 0x00f69878, 0x019206f9, 0x003e7a99, 0x03eebf27, 0x0045cc2e, 0x006d10ab, 0x00de64ce, 0x02676b20, 0x00115d13}}}, + {X: Field{[10]uint32{0x037a7aa9, 0x0192f7fe, 0x006b190e, 0x003da863, 0x00d4b10e, 0x01f639e1, 0x00d13df9, 0x034850b9, 0x03fff058, 0x0017ee60}}, Y: Field{[10]uint32{0x01dabd6f, 0x003c69a3, 0x018e8346, 0x020629b5, 0x00ec5811, 0x025ccf5d, 0x0373f73a, 0x0103343a, 0x02018dc5, 0x000cce51}}}, + {X: Field{[10]uint32{0x0341f88a, 0x003d79b7, 0x020e043e, 0x0078674f, 0x009c6e94, 0x02c20d99, 0x015eec1a, 0x00e68b6c, 0x01c30fa9, 0x0002ebcd}}, Y: Field{[10]uint32{0x028e9201, 0x004234bd, 0x01966214, 0x011553fb, 0x019de414, 0x00ee2c1a, 0x02bdc3fe, 0x0286f13b, 0x00d3e53f, 0x0010960f}}}, + {X: Field{[10]uint32{0x009a8602, 0x00128160, 0x01f9a0c7, 0x0366b36e, 0x004266c4, 0x00fecf58, 0x0186183a, 0x01ffc3c7, 0x035aa51e, 0x0025d907}}, Y: Field{[10]uint32{0x019517dd, 0x034ca1eb, 0x0239b5b0, 0x03f51676, 0x031ab169, 0x0073e9e3, 0x0182fc90, 0x02f6fb63, 0x0232aa9f, 0x0004d3fe}}}, + {X: Field{[10]uint32{0x0327292e, 0x031ad549, 0x02a5ee23, 0x03286a1d, 0x03f59feb, 0x02f8170d, 0x01aa8fb4, 0x03db716b, 0x011eacda, 0x0025a8dc}}, Y: Field{[10]uint32{0x01da4392, 0x03b34fe9, 0x00e96b82, 0x008d5840, 0x0134be91, 0x01eb5760, 0x01fce0e6, 0x02eded78, 0x03b9681e, 0x0023ec33}}}, + {X: Field{[10]uint32{0x03154b0a, 0x02ab7bd3, 0x01e2a14f, 0x02c0fa75, 0x029f9f16, 0x004d8c82, 0x01388926, 0x0031b4a3, 0x028b8e54, 0x002b9910}}, Y: Field{[10]uint32{0x00118aeb, 0x01e524ff, 0x002e4d5b, 0x03b5bf9b, 0x03cc68ad, 0x003fd679, 0x02d5193b, 0x01cf36e7, 0x025eb9bf, 0x0036c80b}}}, + {X: Field{[10]uint32{0x00c984fb, 0x00a41d5b, 0x0038d422, 0x03feea1d, 0x03e16424, 0x016d210c, 0x03532cf1, 0x030b0452, 0x02df65c0, 0x000b164c}}, Y: Field{[10]uint32{0x03d29130, 0x028b0931, 0x01e47f59, 0x00a0b3ac, 0x011c6436, 0x022e7fd3, 0x015deec3, 0x02815b4e, 0x00c4b908, 0x000587be}}}, + {X: Field{[10]uint32{0x02ecca3e, 0x0123d55e, 0x02071f9c, 0x0276f1a4, 0x02241538, 0x03aff2ff, 0x0252d563, 0x02e9a460, 0x00786937, 0x001db887}}, Y: Field{[10]uint32{0x0133c8e6, 0x0293bf51, 0x02a77a3f, 0x00a235c6, 0x01ca634d, 0x024c27fa, 0x0361d0d4, 0x01f5878e, 0x02fe9db4, 0x00379de1}}}, + {X: Field{[10]uint32{0x0267900f, 0x01c2016c, 0x00a36eaa, 0x018ff259, 0x02099df3, 0x02bf1a91, 0x020b3466, 0x004e3474, 0x00efca8a, 0x001c5c37}}, Y: Field{[10]uint32{0x00c0bb8d, 0x00db5776, 0x0320303b, 0x039188fe, 0x00440562, 0x021c3e3e, 0x0389f7bf, 0x00515663, 0x0139476f, 0x00065aff}}}, + {X: Field{[10]uint32{0x011b6ccd, 0x001f16da, 0x036f2e69, 0x018b8d60, 0x0361a956, 0x0347a27d, 0x01fb466e, 0x034916a8, 0x02b075bd, 0x00263b77}}, Y: Field{[10]uint32{0x030c91be, 0x02a107d5, 0x02814731, 0x0266aca5, 0x00bdbcdc, 0x00228e8b, 0x002ddc21, 0x0092e327, 0x01f6b591, 0x002bcfed}}}, + {X: Field{[10]uint32{0x028e8849, 0x03db6a2e, 0x00e6768b, 0x01383ea6, 0x018dd1c3, 0x0160de70, 0x0236fc5c, 0x0181be97, 0x000659ae, 0x002fd0be}}, Y: Field{[10]uint32{0x0155b8af, 0x039a3e1d, 0x0298f26b, 0x0344873b, 0x00ca74a0, 0x01aeba31, 0x03495782, 0x036e511b, 0x03706e4a, 0x0034d0fe}}}, + {X: Field{[10]uint32{0x0262e1cd, 0x037e5551, 0x038a0d82, 0x0170230c, 0x02c42fd6, 0x018927f0, 0x0075c365, 0x023718a4, 0x00a5891e, 0x00103071}}, Y: Field{[10]uint32{0x00689ec3, 0x02843a73, 0x0303ae5a, 0x009ce815, 0x03f20253, 0x02f304ac, 0x015d8192, 0x03db0dc6, 0x03d0e68e, 0x00199c88}}}, + {X: Field{[10]uint32{0x03883dc1, 0x0044cfa3, 0x03c92b92, 0x00f1524b, 0x03bfd3ef, 0x02828b5b, 0x004cf1b1, 0x00ff920e, 0x03100c8e, 0x00058b74}}, Y: Field{[10]uint32{0x01b5cff0, 0x00f23803, 0x00e21a65, 0x013a1ba8, 0x003d0ebf, 0x03d24387, 0x0197685c, 0x000ae7dc, 0x01d5c82f, 0x0007c8c4}}}, + {X: Field{[10]uint32{0x006331cb, 0x031f9033, 0x03b3dbdf, 0x03f5455e, 0x005d63c4, 0x00227b16, 0x03302e51, 0x02b8f3cf, 0x014689ea, 0x003fc3e0}}, Y: Field{[10]uint32{0x0151bf2e, 0x02d591c1, 0x00c2dac2, 0x037d68ec, 0x02f8814c, 0x01e3476a, 0x02549737, 0x00a78eeb, 0x01b94eb5, 0x0013707f}}}, + {X: Field{[10]uint32{0x0207b78e, 0x028e45d1, 0x02033c3e, 0x010553d2, 0x0314b3e6, 0x0131b66a, 0x0072b224, 0x02d55cbd, 0x0274b011, 0x00050eb9}}, Y: Field{[10]uint32{0x0201c35c, 0x032d084d, 0x0099fdb9, 0x022b8667, 0x03ca2029, 0x0280f7f5, 0x018820c0, 0x03ee8980, 0x01820fae, 0x00054a35}}}, + {X: Field{[10]uint32{0x019009a3, 0x01ec05e3, 0x006f35e1, 0x003b35ae, 0x004115a8, 0x00a5d366, 0x03a0efd3, 0x03517e5b, 0x02288fff, 0x003ceb73}}, Y: Field{[10]uint32{0x0116a20e, 0x001996d2, 0x00ba72d2, 0x0293aaf5, 0x03805580, 0x0252961a, 0x020915e4, 0x026ec1a6, 0x03009632, 0x0008080b}}}, + {X: Field{[10]uint32{0x00d8cccf, 0x001d5631, 0x032f85ad, 0x008bd13e, 0x034904ad, 0x02930891, 0x00e6bc6f, 0x003438b2, 0x0029e273, 0x003489c2}}, Y: Field{[10]uint32{0x0079a3bc, 0x000bd7a2, 0x03a93c63, 0x01eab819, 0x0227c66c, 0x0098b904, 0x009741df, 0x03d9a566, 0x00ac9d5b, 0x003569ad}}}, + {X: Field{[10]uint32{0x012964a6, 0x032b7d0d, 0x0356756e, 0x02299727, 0x01834753, 0x00aecbcf, 0x0057a948, 0x03caa117, 0x02b67d9b, 0x0009b45f}}, Y: Field{[10]uint32{0x02068fb2, 0x01c67078, 0x01c6b7f7, 0x006bf348, 0x00b8703d, 0x02926a9c, 0x03c4a520, 0x030d16f3, 0x03d47d67, 0x002552bc}}}, + {X: Field{[10]uint32{0x03fac74b, 0x01a3c879, 0x024760bf, 0x0264c4d1, 0x0036a52d, 0x017b9f44, 0x011618ce, 0x03226573, 0x038be104, 0x003910df}}, Y: Field{[10]uint32{0x0195cb81, 0x01c36e36, 0x0356e27b, 0x02f6e071, 0x00f9b015, 0x02d5bf23, 0x0020dbe3, 0x01b9b06a, 0x02d5b825, 0x0035b055}}}, + {X: Field{[10]uint32{0x02d3c1d4, 0x011d3be8, 0x02c70851, 0x00700347, 0x01ac5bb5, 0x026d68e7, 0x02b63ed2, 0x0181e598, 0x004e96db, 0x00224cb8}}, Y: Field{[10]uint32{0x03e58541, 0x021d511d, 0x0336ec05, 0x00368ef4, 0x01fc912a, 0x030d5472, 0x03f51668, 0x00897414, 0x037fe030, 0x00150df9}}}, + {X: Field{[10]uint32{0x02617b26, 0x020945c5, 0x01fd0c7c, 0x0390171b, 0x00933ed0, 0x01b20507, 0x02003c73, 0x021b016c, 0x0176465b, 0x003f9dda}}, Y: Field{[10]uint32{0x012aac39, 0x039b6731, 0x002aa472, 0x00f89544, 0x0094364d, 0x01677754, 0x002b0af3, 0x03541b4c, 0x005fd576, 0x002c9e77}}}, + {X: Field{[10]uint32{0x035b45f1, 0x03f24714, 0x0372cb86, 0x00f29ae7, 0x01f69eb7, 0x018ce05f, 0x004ecbe1, 0x02489172, 0x00ffb2a2, 0x001b1829}}, Y: Field{[10]uint32{0x022a0a2c, 0x01734a4a, 0x022231b5, 0x00af48f5, 0x036489af, 0x03e71e14, 0x0301a510, 0x033071c0, 0x026f814b, 0x0009e37b}}}, + {X: Field{[10]uint32{0x009af04d, 0x00791ce7, 0x02a81e12, 0x02d1ba70, 0x03a955be, 0x0327a185, 0x01556c5e, 0x0240aa63, 0x018f625f, 0x000c4cb9}}, Y: Field{[10]uint32{0x01a9e461, 0x02361a51, 0x01006943, 0x01f25171, 0x01cf0a95, 0x011a4131, 0x01b92204, 0x00f17853, 0x0164a244, 0x00296202}}}, + {X: Field{[10]uint32{0x00903f6f, 0x01404b8d, 0x022dc57e, 0x002a77a0, 0x03640e18, 0x0234e161, 0x01003fdc, 0x026fdbae, 0x0236361a, 0x002c173b}}, Y: Field{[10]uint32{0x005c9a5a, 0x0363a095, 0x018c5305, 0x0288c35e, 0x0126fe21, 0x01897617, 0x005ce16d, 0x0268a2dd, 0x00862951, 0x003ed1ce}}}, + {X: Field{[10]uint32{0x02005e83, 0x0017c584, 0x0273903a, 0x01b2af61, 0x0023cd2f, 0x00eab5f3, 0x014e68de, 0x039601e8, 0x020f5659, 0x00388084}}, Y: Field{[10]uint32{0x03ada136, 0x02755783, 0x01544084, 0x02b1f020, 0x02a70e8f, 0x0017eebc, 0x037cb4dc, 0x03e64b64, 0x0305b66a, 0x001264a2}}}, + {X: Field{[10]uint32{0x007a796b, 0x02618cc3, 0x034592f1, 0x0336316c, 0x039a9bf0, 0x01418532, 0x03e68f04, 0x002782c1, 0x01892e54, 0x0015ea47}}, Y: Field{[10]uint32{0x0098e7fc, 0x0307a7e1, 0x0116bbd5, 0x001b1763, 0x021dbf77, 0x0092c464, 0x02612c31, 0x023ea2ea, 0x00ce5901, 0x0011e417}}}, + {X: Field{[10]uint32{0x01a7e8da, 0x014ed929, 0x00ee1dd1, 0x02359d0a, 0x0291c046, 0x00997777, 0x019e7c58, 0x01970835, 0x000a3ba4, 0x003824b1}}, Y: Field{[10]uint32{0x03ffd39b, 0x009bdc56, 0x03042feb, 0x00444d3a, 0x03baa514, 0x00ec25fd, 0x00ab1d31, 0x010920b5, 0x02b4bdfc, 0x0020fd38}}}, + {X: Field{[10]uint32{0x01e0ab38, 0x02980247, 0x02554f78, 0x013fd691, 0x037c1ee8, 0x00cd74f7, 0x001a9c2c, 0x013f1282, 0x006e7baa, 0x001ce8cc}}, Y: Field{[10]uint32{0x01a1f938, 0x03a24f7b, 0x022350bc, 0x0210ebc2, 0x023d93f6, 0x01548646, 0x03a70439, 0x030c9b8d, 0x00f92022, 0x0007da32}}}, + {X: Field{[10]uint32{0x033a4434, 0x03aaef97, 0x0093a6a6, 0x03168e79, 0x03e99883, 0x02850076, 0x0152caf4, 0x012585cd, 0x01f86e90, 0x001f1e9e}}, Y: Field{[10]uint32{0x02e869bb, 0x005fe389, 0x0355415e, 0x0204b0a4, 0x00a26709, 0x002d65b3, 0x008ce8ac, 0x00e4c65b, 0x0252e488, 0x002173ac}}}, + {X: Field{[10]uint32{0x00a37788, 0x028711e1, 0x03918623, 0x021bb6a4, 0x0319f030, 0x0144d95f, 0x03054fae, 0x03ddcacd, 0x0161ce4f, 0x001aa77d}}, Y: Field{[10]uint32{0x01b65280, 0x016d88ff, 0x02db42b2, 0x019c41ba, 0x01fe7198, 0x019847fb, 0x01ba398a, 0x02fd60cc, 0x034ad9b3, 0x002f3c09}}}, + {X: Field{[10]uint32{0x0391c950, 0x02314eff, 0x019eef3f, 0x02d6fc8a, 0x0381934c, 0x034b1abf, 0x0145d2da, 0x02b7fc71, 0x024d47b3, 0x003f9eec}}, Y: Field{[10]uint32{0x02574e7f, 0x03971022, 0x00c5befd, 0x022c12bc, 0x03a88173, 0x0028a4b3, 0x00c27d6f, 0x0188f24c, 0x038609d2, 0x001ff997}}}, + {X: Field{[10]uint32{0x00407d3d, 0x010a41cc, 0x014531da, 0x0192ba05, 0x0382ce2b, 0x01f414d1, 0x00ba60e1, 0x02ddf0a4, 0x02f27944, 0x0009b474}}, Y: Field{[10]uint32{0x00f0f495, 0x00156d2d, 0x0206f4d1, 0x034756a8, 0x0051b768, 0x00d604e1, 0x00b23725, 0x00002c34, 0x00243106, 0x003b0f14}}}, + {X: Field{[10]uint32{0x0273e2b8, 0x03025b63, 0x008060e6, 0x01363c0d, 0x03fb85cf, 0x03a91378, 0x00563ff8, 0x0055cd2b, 0x01f938f9, 0x003c0394}}, Y: Field{[10]uint32{0x022c727b, 0x0259dc68, 0x00c703c5, 0x007484e0, 0x02585408, 0x03f62382, 0x02b6a136, 0x0292474e, 0x03ed3a39, 0x001edeff}}}, + {X: Field{[10]uint32{0x03cfc4d8, 0x004789cd, 0x03b309e0, 0x034538f8, 0x008bd179, 0x01352f2a, 0x02be811a, 0x021d424e, 0x0072f42f, 0x001cf855}}, Y: Field{[10]uint32{0x005b9231, 0x0341827e, 0x01a340b5, 0x01ae12f3, 0x01c53c82, 0x02c02d2a, 0x006426c9, 0x005da044, 0x00ae5832, 0x000e4bbd}}}, + {X: Field{[10]uint32{0x01568092, 0x02bd582a, 0x00333a7f, 0x0123b6be, 0x00d29d23, 0x01e77e39, 0x011d86e4, 0x00119321, 0x03a9aff3, 0x003b5199}}, Y: Field{[10]uint32{0x0149bb0c, 0x0371f98f, 0x002e43da, 0x03699e62, 0x006d9f4f, 0x03fd5df8, 0x01a9ab50, 0x0350b51a, 0x00756892, 0x001dcd9e}}}, + {X: Field{[10]uint32{0x001dde26, 0x02c3bc95, 0x00d74af5, 0x00b1e40d, 0x0351066f, 0x0136ff83, 0x00346a26, 0x0072f773, 0x02ab1081, 0x0035bb05}}, Y: Field{[10]uint32{0x02d0527e, 0x015fa792, 0x0315ef48, 0x0079286d, 0x034763b0, 0x0302e26f, 0x011b7336, 0x02f88a6a, 0x00ab7ac7, 0x002607c7}}}, + {X: Field{[10]uint32{0x034c593f, 0x0292d4ea, 0x008e68dc, 0x03caf47d, 0x033f762e, 0x03b96dc5, 0x001d92d2, 0x00c6b209, 0x007e6919, 0x000a13bd}}, Y: Field{[10]uint32{0x03cf5e82, 0x03150546, 0x013e1c7a, 0x00b8efeb, 0x03b53a4d, 0x03ff86da, 0x03e12887, 0x02f91c20, 0x02e1e6a7, 0x002adce7}}}, + {X: Field{[10]uint32{0x00d505c3, 0x030fe1c2, 0x034f6c6c, 0x02f20d5d, 0x0344b490, 0x0124063b, 0x03ba53ac, 0x01f42bf0, 0x01e75a26, 0x00014c3e}}, Y: Field{[10]uint32{0x0285e3f1, 0x02cef0d3, 0x028d36e2, 0x01c12e22, 0x00bee9fa, 0x03dff7b5, 0x02d7fba8, 0x03a72f3d, 0x001e44e5, 0x0018c312}}}, + {X: Field{[10]uint32{0x02a905f8, 0x0135673a, 0x022bc1ba, 0x0080f126, 0x02ef9c4d, 0x000974b6, 0x037a4b38, 0x00596d9c, 0x00fd81d0, 0x0019aa6d}}, Y: Field{[10]uint32{0x02525e8c, 0x01ec7353, 0x015f121b, 0x032895e5, 0x0112c86b, 0x02574c14, 0x017311c1, 0x03ab65f7, 0x004e6a4d, 0x0009dc31}}}, + {X: Field{[10]uint32{0x03a289be, 0x02484d48, 0x0394f601, 0x02625b76, 0x0139bb78, 0x011d3789, 0x018d7397, 0x01ed926c, 0x027edca4, 0x0009604b}}, Y: Field{[10]uint32{0x0317e2da, 0x031884db, 0x00e5c795, 0x02e2d634, 0x00788d3a, 0x0232e191, 0x0276f7f1, 0x029db9ae, 0x0183072a, 0x0012ee8f}}}, + {X: Field{[10]uint32{0x03b29608, 0x032e9df7, 0x00fd724a, 0x0228d5db, 0x02df1a0e, 0x03efd61f, 0x00f88b58, 0x0091205c, 0x0270af16, 0x000f206f}}, Y: Field{[10]uint32{0x02ee13d4, 0x0357fd0a, 0x0070027b, 0x03eb837a, 0x02ed9dc9, 0x0040ba6e, 0x00b52507, 0x03d201e8, 0x008eda59, 0x002ac5b9}}}, + {X: Field{[10]uint32{0x00d6e39d, 0x0093ddb8, 0x035252fb, 0x02421715, 0x0039626e, 0x0096ab6a, 0x0282c8d1, 0x00a4cfb3, 0x01cda514, 0x002ad89b}}, Y: Field{[10]uint32{0x024abff6, 0x03b7005d, 0x033cfe7e, 0x00f436ad, 0x02bb7be7, 0x0363aff0, 0x031f2a34, 0x012c6f55, 0x034b34fa, 0x0022b75d}}}, + {X: Field{[10]uint32{0x036bd85d, 0x033f82fc, 0x0133de1c, 0x015e638e, 0x03aaaaed, 0x028f8a1c, 0x02d65321, 0x0083fe32, 0x01061207, 0x0011fc94}}, Y: Field{[10]uint32{0x00585b60, 0x02c5be48, 0x03c60c38, 0x004fb342, 0x00cb44e0, 0x025960eb, 0x0374ea3f, 0x004b93b2, 0x032e7295, 0x0003db51}}}, + {X: Field{[10]uint32{0x03c26b1b, 0x0122e7c8, 0x00842361, 0x0099d4b4, 0x00e16409, 0x01c6e2ec, 0x0138d590, 0x023c6cf1, 0x0299f739, 0x001bf4c0}}, Y: Field{[10]uint32{0x026799da, 0x03816eee, 0x03d33372, 0x03c09dfc, 0x017810be, 0x017227fd, 0x02e9c4dc, 0x0388d468, 0x0166a79c, 0x000ee358}}}, + {X: Field{[10]uint32{0x0202e040, 0x026f5992, 0x031e3f44, 0x021f75e1, 0x0149db12, 0x01712827, 0x0051ab74, 0x00735963, 0x007c784e, 0x0003756c}}, Y: Field{[10]uint32{0x028d8659, 0x00c41e35, 0x03857a47, 0x01f36283, 0x036a0459, 0x003fbb66, 0x00ed2a7c, 0x0246e373, 0x018a62a4, 0x002c9b6b}}}, + {X: Field{[10]uint32{0x027fcdad, 0x00ab7c85, 0x016b7dff, 0x0229c02d, 0x0215b61a, 0x01ae12f2, 0x0275e5f1, 0x01089ea8, 0x0036104b, 0x0000f3d6}}, Y: Field{[10]uint32{0x0200c9fb, 0x012792b3, 0x03b5ce9e, 0x0098b6d0, 0x01445af7, 0x02006372, 0x00123408, 0x01e7f7da, 0x025a2cb5, 0x000731bd}}}, + {X: Field{[10]uint32{0x0119bb58, 0x0074a352, 0x03f413e0, 0x01348e15, 0x01d4cd80, 0x01d3010f, 0x02ea163d, 0x0108730e, 0x005508b9, 0x001a0ed5}}, Y: Field{[10]uint32{0x01a11f0a, 0x03f76f9e, 0x022da17c, 0x01a41540, 0x01691e23, 0x004473fb, 0x01d69438, 0x03015a2b, 0x01762cd5, 0x0006ef91}}}, + {X: Field{[10]uint32{0x003b724c, 0x000c9e79, 0x027d2195, 0x03835cf3, 0x03e83ff0, 0x0080ab94, 0x002f7ec4, 0x0103717d, 0x01b7897a, 0x0035e198}}, Y: Field{[10]uint32{0x02d20b21, 0x00aca772, 0x00a02665, 0x03fb43b1, 0x00aeead2, 0x00757ca4, 0x03db82a6, 0x01e3b3f0, 0x01b0e3f4, 0x001194a6}}}, + {X: Field{[10]uint32{0x01e15a21, 0x02954186, 0x0114a1af, 0x01f543b0, 0x0332e89e, 0x013bafc6, 0x00dbb87b, 0x039e5399, 0x0264fc15, 0x00049631}}, Y: Field{[10]uint32{0x001be0b1, 0x00148685, 0x0157194b, 0x025eef08, 0x03028c59, 0x00a83971, 0x011a7dec, 0x00e201c3, 0x029281a7, 0x000c9f12}}}, + {X: Field{[10]uint32{0x02e8be00, 0x033589e1, 0x03bb1a6c, 0x03492fdf, 0x01387f4d, 0x039cc531, 0x0243cdfa, 0x038af71b, 0x03b51cff, 0x003cb413}}, Y: Field{[10]uint32{0x03061c9e, 0x0142a309, 0x02b37932, 0x036b09f3, 0x0178d3a7, 0x021a8ab8, 0x032ee47a, 0x00854a34, 0x038d435f, 0x00226bcf}}}, + {X: Field{[10]uint32{0x030dfb08, 0x0152078f, 0x01f6bb33, 0x02864aa7, 0x03d21551, 0x03bc020e, 0x02cc402d, 0x00eb6394, 0x02c14ab2, 0x002d9eef}}, Y: Field{[10]uint32{0x00a64a23, 0x02cc3e04, 0x01fe6698, 0x004ffb80, 0x003757cc, 0x01961d55, 0x02845285, 0x02264c14, 0x03d19383, 0x0035b29a}}}, + {X: Field{[10]uint32{0x0379235e, 0x0120c48a, 0x0089d90d, 0x02120ea1, 0x008a4665, 0x00b5986e, 0x013ce90f, 0x007f5a81, 0x01b9fa40, 0x0006ebbc}}, Y: Field{[10]uint32{0x031699d7, 0x01492528, 0x01ee8033, 0x031b02d9, 0x01bc1a69, 0x02e9562b, 0x02b3872c, 0x0205f648, 0x0214a2f7, 0x000a2866}}}, + {X: Field{[10]uint32{0x0051aa8e, 0x0043fc6e, 0x03c79c3c, 0x01b394a1, 0x01f58de5, 0x0006eaa1, 0x036a7468, 0x00e922ca, 0x026b2362, 0x001b03c1}}, Y: Field{[10]uint32{0x01ff0868, 0x036ee4c5, 0x033574cc, 0x01e48167, 0x032347a4, 0x007218c9, 0x028bd94e, 0x02c3e394, 0x0256084c, 0x003b20dc}}}, + {X: Field{[10]uint32{0x023619d7, 0x004f767d, 0x01c0d949, 0x035862de, 0x00a0c815, 0x02baf3ca, 0x026d6cb7, 0x02748afa, 0x030965bb, 0x003ef56e}}, Y: Field{[10]uint32{0x0300b924, 0x00b7f28f, 0x01c7e661, 0x018cde8a, 0x0060ccc0, 0x0083cfdb, 0x0298f77e, 0x01796ff8, 0x034d5e60, 0x000cc0d5}}}, + {X: Field{[10]uint32{0x035b1739, 0x01a3e82c, 0x008fe7e5, 0x03ca36b6, 0x020f8bd5, 0x0041af46, 0x02c81ac8, 0x008cd2bd, 0x002ac4b2, 0x00089181}}, Y: Field{[10]uint32{0x02ff6e7c, 0x02af1c16, 0x00f797cd, 0x0208d169, 0x029e5382, 0x007e4b8d, 0x0229bd96, 0x0045bc33, 0x00eb9c10, 0x00076836}}}, + {X: Field{[10]uint32{0x0182bc4a, 0x00b67cd0, 0x00c51563, 0x01b7f4a5, 0x039606cf, 0x010b3d42, 0x01b3caf5, 0x00b4de0d, 0x014f2fff, 0x0011c2a4}}, Y: Field{[10]uint32{0x001d426e, 0x01619800, 0x012dbb3a, 0x001a0738, 0x034398c6, 0x0271aa3a, 0x03e3cc9e, 0x01215a96, 0x01a8d2c7, 0x001ace01}}}, + {X: Field{[10]uint32{0x021b4be0, 0x0009ec0c, 0x00c1ecc8, 0x004540c0, 0x0044bb7a, 0x00fe4274, 0x002153ba, 0x0364cd0a, 0x010bffb6, 0x001380fd}}, Y: Field{[10]uint32{0x008c504c, 0x03db96ac, 0x003e0095, 0x00940c7a, 0x009149b1, 0x0137a32f, 0x03e8f9cb, 0x01c7b3c7, 0x00ae963e, 0x00165b16}}}, + {X: Field{[10]uint32{0x0057455e, 0x02649e3f, 0x003b70d9, 0x02d02860, 0x00188a26, 0x00e7778a, 0x01567e91, 0x02edd864, 0x03eab806, 0x00169b13}}, Y: Field{[10]uint32{0x02e6ce49, 0x0269f5e0, 0x014590d5, 0x0310bd54, 0x03353d73, 0x01c6397d, 0x00ea476a, 0x00d9af0a, 0x007c6505, 0x001ba074}}}, + {X: Field{[10]uint32{0x0329bd5f, 0x01b70de6, 0x016c3a24, 0x027406f9, 0x0174f4e0, 0x03d8f753, 0x000bb1be, 0x014b884a, 0x01b29adf, 0x003b5cf2}}, Y: Field{[10]uint32{0x0113828b, 0x0321ecfe, 0x0216159d, 0x027cb7d8, 0x02e272ad, 0x0312df14, 0x011fa5b7, 0x0382b31f, 0x03b619eb, 0x0003a645}}}, + {X: Field{[10]uint32{0x001c04bd, 0x024eda70, 0x03a99bdf, 0x01308e1b, 0x03710dd3, 0x000f284f, 0x03106085, 0x03e7b52b, 0x005b38cb, 0x001a3185}}, Y: Field{[10]uint32{0x03edc73a, 0x0235f28f, 0x01e9de92, 0x0348b830, 0x02e7cb74, 0x03d4d6a7, 0x016f884d, 0x027ab140, 0x005e607d, 0x003258d6}}}, + {X: Field{[10]uint32{0x00454126, 0x00e69dec, 0x039b6a84, 0x00481661, 0x0092269a, 0x03d72473, 0x006094c3, 0x005ef077, 0x00639273, 0x0006d946}}, Y: Field{[10]uint32{0x00f5009f, 0x0077007a, 0x03cf9137, 0x00579c51, 0x03c42b19, 0x030c6fc4, 0x001fe920, 0x03426f63, 0x025f8ac3, 0x000c7184}}}, + {X: Field{[10]uint32{0x0209c52c, 0x019b539a, 0x01f0d381, 0x00824283, 0x027229ff, 0x00edc177, 0x02b74f7a, 0x0378f515, 0x00ccdadb, 0x0011564f}}, Y: Field{[10]uint32{0x000bd737, 0x0293aa6f, 0x01866a43, 0x03748361, 0x01e14634, 0x03ba5933, 0x02b9a311, 0x000814f0, 0x017d89fd, 0x0004f599}}}, + {X: Field{[10]uint32{0x03927da5, 0x034fad0d, 0x03960566, 0x0069339d, 0x01e4dd7c, 0x00a30842, 0x0132983d, 0x03e8bf35, 0x006ed6f2, 0x00050270}}, Y: Field{[10]uint32{0x020984e4, 0x0372b451, 0x0062390e, 0x00114def, 0x02fbeda3, 0x01a52dc7, 0x0369836e, 0x03f6eb8e, 0x018d4206, 0x0037017e}}}, + {X: Field{[10]uint32{0x005f4580, 0x03c0373a, 0x037074e2, 0x03213adc, 0x025d6e5c, 0x0109bfaf, 0x03239215, 0x02c15b50, 0x006bc307, 0x00367823}}, Y: Field{[10]uint32{0x012c632d, 0x01692d8a, 0x034f915d, 0x03908060, 0x01172f4d, 0x028c9817, 0x02b52add, 0x01e90e8e, 0x0247c6b4, 0x00288f05}}}, + {X: Field{[10]uint32{0x0162fb32, 0x00576eaf, 0x028ee1aa, 0x022eef57, 0x025ac0f1, 0x01357e89, 0x033a9166, 0x02dadcd4, 0x01f3d3c2, 0x001f7cc6}}, Y: Field{[10]uint32{0x03c9f8c0, 0x036d634a, 0x030b79c3, 0x026ea46b, 0x00a9bd16, 0x00778205, 0x02d8d963, 0x02ee6075, 0x02afe023, 0x0024483d}}}, + {X: Field{[10]uint32{0x0186d7a5, 0x01cd115a, 0x037110a3, 0x01126eb4, 0x0011d742, 0x008595e6, 0x0146232e, 0x03f47e4c, 0x018738b9, 0x0006a539}}, Y: Field{[10]uint32{0x03e4352e, 0x00810a2a, 0x0365a748, 0x0126b619, 0x020fc325, 0x025fcb6c, 0x034604b1, 0x039eb83e, 0x03b317ee, 0x000cca89}}}, + {X: Field{[10]uint32{0x03619a47, 0x01e07e46, 0x03691fa0, 0x0106257f, 0x014aefff, 0x03033e1c, 0x002ef8df, 0x019b6caa, 0x034d6db2, 0x0037e8b2}}, Y: Field{[10]uint32{0x01ad8b19, 0x033f9312, 0x0056e45a, 0x03ddba9c, 0x01d2a1a0, 0x032e98be, 0x0320fef4, 0x029b0633, 0x03ab3a28, 0x00317976}}}, + {X: Field{[10]uint32{0x02876730, 0x03931e4e, 0x0017bf35, 0x03af0429, 0x03acf4e2, 0x029b814e, 0x002c1352, 0x03ddad7a, 0x0007be6b, 0x00308804}}, Y: Field{[10]uint32{0x03efa581, 0x0345377e, 0x02be70c8, 0x03a24346, 0x039a735d, 0x030e1cd0, 0x0397c159, 0x0135d0eb, 0x02ecb9ae, 0x00249022}}}, + {X: Field{[10]uint32{0x03d7edc3, 0x020a1686, 0x0015e33e, 0x0253be8e, 0x022f25c7, 0x019cc1d0, 0x00d4d852, 0x01fc3e74, 0x02d2ab08, 0x0035158c}}, Y: Field{[10]uint32{0x015ff44f, 0x00f5bbe3, 0x02569554, 0x016369ee, 0x01814e72, 0x032792c7, 0x039e99f9, 0x013ea091, 0x0297c499, 0x002df38d}}}, + {X: Field{[10]uint32{0x035df93f, 0x000edc73, 0x00dedc90, 0x02e3dadf, 0x02df6c25, 0x008e85c6, 0x01f34ca9, 0x024ad221, 0x022bcdc2, 0x00233bcd}}, Y: Field{[10]uint32{0x009aaf5e, 0x02061b74, 0x02bdf260, 0x00ed76ad, 0x02d702e1, 0x03507666, 0x024f1c19, 0x01fe8afe, 0x0334ed8b, 0x002ce443}}}, + {X: Field{[10]uint32{0x00bf9838, 0x01d60ecf, 0x01bfc7f1, 0x03956565, 0x013a415a, 0x006121e3, 0x01604318, 0x00a0c45f, 0x03e1874c, 0x00091fde}}, Y: Field{[10]uint32{0x01f30eb8, 0x029f323c, 0x004642f8, 0x03a37cce, 0x01efd513, 0x017d9424, 0x01521da6, 0x02d3f03e, 0x01e6a779, 0x0024388d}}}, + {X: Field{[10]uint32{0x001cf568, 0x0122b626, 0x02c56b01, 0x01238daa, 0x02f26093, 0x032a8ae0, 0x01dd0b0a, 0x00eb7d04, 0x02f1c870, 0x002e3033}}, Y: Field{[10]uint32{0x01275f14, 0x011cab80, 0x03916a33, 0x02915303, 0x0345e7aa, 0x03526a5e, 0x00e74a81, 0x026a852e, 0x00114701, 0x00281065}}}, + {X: Field{[10]uint32{0x0208cf09, 0x006f61a0, 0x012c0ab5, 0x0036ab5e, 0x030a35ab, 0x03746f45, 0x026b43a4, 0x031e44aa, 0x036e06e1, 0x0023955d}}, Y: Field{[10]uint32{0x00822d56, 0x029eb61c, 0x01c012c8, 0x01fdb6aa, 0x02cec730, 0x03518b9a, 0x02d12bc6, 0x02aefc30, 0x00c3a025, 0x0037f933}}}, + {X: Field{[10]uint32{0x003ad1ad, 0x01611a83, 0x0267c5f0, 0x01c3122d, 0x01db813b, 0x038e4090, 0x0122790d, 0x02609138, 0x02d3fc9d, 0x0003c73d}}, Y: Field{[10]uint32{0x03984799, 0x025a6bf0, 0x026f6c8b, 0x024ec5ce, 0x01750069, 0x02b9ea13, 0x02f1ec77, 0x0346c8d7, 0x02ab3952, 0x00124971}}}, + {X: Field{[10]uint32{0x01b9ea31, 0x0199c2bb, 0x0000a9e5, 0x011f2b2f, 0x03811641, 0x036dd8b0, 0x00495ab9, 0x03b924ad, 0x0388dce5, 0x002d276f}}, Y: Field{[10]uint32{0x03a9ef2a, 0x01eb3ebf, 0x023feb8b, 0x030b7a24, 0x028971f7, 0x034a2291, 0x00d703ef, 0x025f1dd6, 0x0317ab57, 0x00303e4b}}}, + {X: Field{[10]uint32{0x018ca362, 0x0327dd43, 0x02cab9a8, 0x010e7992, 0x00399e26, 0x0097df73, 0x0173c50a, 0x015fb455, 0x02ad257b, 0x0035abf8}}, Y: Field{[10]uint32{0x0135749d, 0x02b1bce3, 0x01b42b47, 0x028d5871, 0x0138d355, 0x018a0ac4, 0x01402491, 0x02d5ac5c, 0x02b86919, 0x00177c8d}}}, + {X: Field{[10]uint32{0x02e8e89f, 0x00480106, 0x0244b53e, 0x0279a112, 0x0345b48a, 0x033b92d2, 0x032a439f, 0x0197e965, 0x00c5f233, 0x002ec0a1}}, Y: Field{[10]uint32{0x02265300, 0x01d8266e, 0x034936ae, 0x0329bc53, 0x0153221d, 0x03b554ca, 0x0018fb2a, 0x0164c9e4, 0x000de09e, 0x001a12f3}}}, + {X: Field{[10]uint32{0x024467ec, 0x00b611f9, 0x037e46e8, 0x009ead69, 0x03c47796, 0x0228105d, 0x00be6219, 0x025a5c6e, 0x03148a40, 0x0015fa55}}, Y: Field{[10]uint32{0x01443f13, 0x01467cb3, 0x00c126bb, 0x03497a15, 0x01fd8e7c, 0x004a94dd, 0x006d3a8f, 0x0096001f, 0x01b114ce, 0x001c52f4}}}, + {X: Field{[10]uint32{0x02713094, 0x0149b647, 0x03757d17, 0x01e3ad8d, 0x01a1e144, 0x03a01148, 0x03ef2a3d, 0x00ed1d48, 0x0360b33c, 0x002c320b}}, Y: Field{[10]uint32{0x02cea63c, 0x02be6528, 0x032eeac1, 0x03596a0a, 0x0123d163, 0x024fdff6, 0x022f70ac, 0x03d4b994, 0x01b9d763, 0x0033f234}}}, + {X: Field{[10]uint32{0x013e1ee3, 0x01292f55, 0x005a35c2, 0x0093fdfe, 0x00667d83, 0x01b663b4, 0x032c185c, 0x0216f564, 0x01704047, 0x000ae9d8}}, Y: Field{[10]uint32{0x02ea35b9, 0x035580fb, 0x03307205, 0x0067cf8b, 0x01e56aef, 0x01545934, 0x03167d6b, 0x00abd581, 0x03907426, 0x00006041}}}, + {X: Field{[10]uint32{0x02d3e88c, 0x0248d71b, 0x00895b5c, 0x02169c8a, 0x0103eb1c, 0x01f83296, 0x01d15c82, 0x02e483ec, 0x0213d508, 0x0016f553}}, Y: Field{[10]uint32{0x020cf0c9, 0x024cebd9, 0x016fc2b1, 0x02b3bcef, 0x02878017, 0x02b1f608, 0x030ab1e4, 0x03864fa9, 0x01fd5607, 0x0035974d}}}, + {X: Field{[10]uint32{0x02a8d09a, 0x037e5dcf, 0x026947cc, 0x017d5993, 0x00a590d6, 0x01b3c84b, 0x03f1664e, 0x03626aca, 0x02d2753b, 0x002c2ef0}}, Y: Field{[10]uint32{0x03993c23, 0x0026f723, 0x0147e47f, 0x01047cd3, 0x02072257, 0x03319c14, 0x00190654, 0x022eae85, 0x02c1a107, 0x002415ed}}}, + {X: Field{[10]uint32{0x013133a8, 0x03a771b3, 0x00459224, 0x00c083a3, 0x01b38b46, 0x0151484a, 0x000fe419, 0x00e2b377, 0x02033cca, 0x00305c04}}, Y: Field{[10]uint32{0x01557e9a, 0x02d8dabd, 0x03b14fb6, 0x02d7afd3, 0x02624f78, 0x01b02185, 0x00071888, 0x01bd9d1b, 0x007b1cfb, 0x00312576}}}, + {X: Field{[10]uint32{0x03a21bda, 0x00c28917, 0x032ea749, 0x037764d4, 0x007c9fa4, 0x03ef0a31, 0x02879617, 0x0127fcc8, 0x020e5f1e, 0x000782f4}}, Y: Field{[10]uint32{0x03dd6177, 0x02385810, 0x01cd5703, 0x02719af8, 0x01b2a586, 0x011cbe84, 0x01a681b2, 0x03c57797, 0x00000e98, 0x000b501d}}}, + {X: Field{[10]uint32{0x017ec15f, 0x006c560c, 0x0388b03a, 0x028ef017, 0x00f39def, 0x0214ce9c, 0x012a9740, 0x019863fc, 0x023fec4c, 0x00173f08}}, Y: Field{[10]uint32{0x03f21411, 0x00cd512b, 0x00cf93da, 0x03ded9c6, 0x01eb4468, 0x031ce2c2, 0x006ec226, 0x01c6798e, 0x03d489e3, 0x001f64a2}}}, + {X: Field{[10]uint32{0x01efa67d, 0x03330b20, 0x00e8801c, 0x033942b0, 0x005da345, 0x02b51ea1, 0x03e514eb, 0x019a3815, 0x020abebd, 0x003d4195}}, Y: Field{[10]uint32{0x020fc7e9, 0x029f4eb2, 0x00d639d9, 0x036056f7, 0x0263111f, 0x01fd9289, 0x03580ad1, 0x02a66af0, 0x03f7c9c2, 0x0038bfc2}}}, + {X: Field{[10]uint32{0x02c54f45, 0x039ef609, 0x02ef8306, 0x02b96fe5, 0x001d00dc, 0x0127405a, 0x0246e4c4, 0x01d21516, 0x0298ec88, 0x0021123f}}, Y: Field{[10]uint32{0x026f0407, 0x03bb6afa, 0x0256a66a, 0x0117da75, 0x0285b200, 0x00d204dd, 0x01a82713, 0x000c88b7, 0x02291750, 0x00343c1c}}}, + {X: Field{[10]uint32{0x03cffc55, 0x01156ea5, 0x004f56bc, 0x00a2a619, 0x002480cf, 0x00a50bcd, 0x015ca713, 0x01f0b8db, 0x017fdb03, 0x003269a1}}, Y: Field{[10]uint32{0x03aa149f, 0x0238d9e3, 0x011c6b79, 0x01d2da33, 0x01f742d9, 0x03b5be5f, 0x00b8326c, 0x023985b0, 0x00b98f67, 0x0029a782}}}, + {X: Field{[10]uint32{0x02c4011d, 0x0319936e, 0x019d503d, 0x01b6391a, 0x03b8fc28, 0x0226ac67, 0x02f7db2d, 0x03acef20, 0x03f5c611, 0x0002d744}}, Y: Field{[10]uint32{0x024b7adc, 0x02022c4c, 0x02bb6259, 0x036271c0, 0x02ef2692, 0x00921f42, 0x012493ff, 0x003f7d6e, 0x02507cdc, 0x0009fac5}}}, + {X: Field{[10]uint32{0x0235ce44, 0x02ecd3b6, 0x02fad75a, 0x01c75fc6, 0x02902184, 0x0230a71b, 0x001b8871, 0x0352b300, 0x01f32e0e, 0x002fe7b1}}, Y: Field{[10]uint32{0x027ef2d1, 0x00dea011, 0x0146bdd8, 0x01a1ce19, 0x00a1734f, 0x01a311e9, 0x01224ed3, 0x010196de, 0x0088892b, 0x0004e119}}}, + {X: Field{[10]uint32{0x02526e19, 0x024ab04e, 0x00f2ed6d, 0x021eb5aa, 0x00893c5a, 0x0329bd6e, 0x011f6bd1, 0x00704ebb, 0x02be4d3b, 0x000b0e04}}, Y: Field{[10]uint32{0x0033aece, 0x02533bcd, 0x03af324a, 0x02b4519a, 0x031b11ed, 0x02cd02f2, 0x03cf877d, 0x014782de, 0x02f145d5, 0x000d9ae0}}}, + {X: Field{[10]uint32{0x0233f572, 0x031721b2, 0x013a6f21, 0x014e362f, 0x019fd172, 0x002289b9, 0x00d0a13c, 0x03db21ff, 0x0328dc8e, 0x001def7b}}, Y: Field{[10]uint32{0x023c3a1b, 0x019fda7a, 0x017ef081, 0x022a0fe5, 0x016977ba, 0x02960294, 0x02c1feca, 0x03526c03, 0x00c7bf3b, 0x003699ac}}}, + {X: Field{[10]uint32{0x0371afe5, 0x03f445a2, 0x02b154ef, 0x0301953b, 0x028693ba, 0x03cd3181, 0x006503e3, 0x021def36, 0x019d3185, 0x002f129e}}, Y: Field{[10]uint32{0x0255569e, 0x03ddd5dc, 0x03e664f7, 0x01af4cc6, 0x03f59abf, 0x00985496, 0x0159c99e, 0x00643a9c, 0x03f899a8, 0x0014ff35}}}, + {X: Field{[10]uint32{0x02fcd040, 0x0170620b, 0x039dce27, 0x01bcb84f, 0x006fccdb, 0x000dd41e, 0x010e4c7d, 0x03381586, 0x0084733d, 0x000c07f6}}, Y: Field{[10]uint32{0x01e25cb6, 0x00b22294, 0x00b735de, 0x00303897, 0x00312c91, 0x012f981f, 0x0035cef6, 0x027d47f6, 0x01d5185b, 0x001e793e}}}, + {X: Field{[10]uint32{0x014adb70, 0x018062a0, 0x032f387b, 0x01df9436, 0x02133f83, 0x00dc6710, 0x00d0bda1, 0x01f95085, 0x029bbe5e, 0x000906d2}}, Y: Field{[10]uint32{0x0010bdb0, 0x019211ed, 0x039593c1, 0x0000922c, 0x03a8ce21, 0x03f30032, 0x036bca27, 0x0348b87d, 0x0008fa4f, 0x00319bb7}}}, + {X: Field{[10]uint32{0x00c79585, 0x028580b6, 0x0098156e, 0x005bcca5, 0x01dcd28c, 0x018cf547, 0x01c1351d, 0x004a24f1, 0x02396819, 0x002f9bc5}}, Y: Field{[10]uint32{0x03afff21, 0x029c797e, 0x0335a5f7, 0x0282950c, 0x021ade5d, 0x03d7f979, 0x038a9668, 0x014e7a9f, 0x027e1a65, 0x001bd9d2}}}, + {X: Field{[10]uint32{0x01d3a283, 0x01f2cc4f, 0x03285e23, 0x02eadff2, 0x01b3f7bf, 0x028b452e, 0x0209ef60, 0x0278a9f8, 0x008f79c6, 0x00322d40}}, Y: Field{[10]uint32{0x03b54bb9, 0x00fb029a, 0x008f52d8, 0x032a98c0, 0x023cea15, 0x01bbf2cd, 0x0036dd74, 0x03df802f, 0x03486c3c, 0x000771e4}}}, + {X: Field{[10]uint32{0x006c0998, 0x029ffd30, 0x027d4eed, 0x02b1df3c, 0x02b038ed, 0x01e5ab47, 0x0197ec3a, 0x03b5893a, 0x039eaad5, 0x0014052b}}, Y: Field{[10]uint32{0x0189dd7d, 0x0221808c, 0x031511a4, 0x014cd25d, 0x01911439, 0x021ed2db, 0x004a77a9, 0x028714b5, 0x006fb8fa, 0x0038075e}}}, + {X: Field{[10]uint32{0x03bb989a, 0x02b76329, 0x02d2b45d, 0x03023620, 0x01b0845e, 0x03ca3f37, 0x02d4f284, 0x0190fb68, 0x01e62c40, 0x001bffbf}}, Y: Field{[10]uint32{0x0011cc0e, 0x01bf9721, 0x004717fb, 0x0201a9bd, 0x01ff0a54, 0x028afb2f, 0x029e4bd9, 0x00ea7888, 0x003c782d, 0x00238ac6}}}, + {X: Field{[10]uint32{0x007d463f, 0x03fc7c52, 0x022904aa, 0x003f07a4, 0x020ad014, 0x02d3030d, 0x02a7e5d0, 0x004dd34c, 0x03bf190e, 0x002b1d8a}}, Y: Field{[10]uint32{0x033adefe, 0x02944f97, 0x02a7e435, 0x0143b606, 0x03bc34d8, 0x036dac4b, 0x001bfec5, 0x01ad028e, 0x03183101, 0x003335e7}}}, + {X: Field{[10]uint32{0x0011cb24, 0x023ab83a, 0x03342796, 0x0337a0a3, 0x03d791a5, 0x01cdec76, 0x03244e7b, 0x0171d424, 0x02d63ec0, 0x0025cd25}}, Y: Field{[10]uint32{0x01647533, 0x01cf99c9, 0x03b7abf5, 0x0194bd5e, 0x03d7420b, 0x030fcd3c, 0x037ff525, 0x00cd47d8, 0x03c0044e, 0x0012cb26}}}, + {X: Field{[10]uint32{0x00a15d32, 0x0266cd21, 0x034291a7, 0x0001be80, 0x02c39ce3, 0x03a8e78d, 0x03577539, 0x02f0c1d0, 0x01665f77, 0x002a7624}}, Y: Field{[10]uint32{0x0380e213, 0x0204ee12, 0x0296b8d0, 0x013f33ea, 0x0056dd88, 0x0018d694, 0x039ce982, 0x02e3f3d3, 0x0217fded, 0x0034270e}}}, + {X: Field{[10]uint32{0x00c5710b, 0x02a68828, 0x02f769ec, 0x01bd835b, 0x02cbab63, 0x009086eb, 0x00a7419f, 0x0151362e, 0x03fdaa2b, 0x000422a3}}, Y: Field{[10]uint32{0x00e0249d, 0x01599735, 0x028d7b12, 0x01ce77cc, 0x01cebbb2, 0x017c38e2, 0x025776a7, 0x02b56289, 0x01fcab04, 0x0002b4fa}}}, + {X: Field{[10]uint32{0x027c5fb5, 0x0316fb5c, 0x00a36de8, 0x02365448, 0x03954387, 0x01791257, 0x000ac6df, 0x00f15eff, 0x017bc884, 0x003be5a7}}, Y: Field{[10]uint32{0x021f16fb, 0x033e170d, 0x0302afc1, 0x014dee02, 0x01d1d4d6, 0x037aab69, 0x005d81a1, 0x0200dac5, 0x03b22673, 0x0016ae06}}}, + {X: Field{[10]uint32{0x03c39b62, 0x028c2590, 0x01162b0b, 0x03c9043d, 0x01d74200, 0x03dc2c91, 0x02dafb28, 0x01514fc4, 0x03c24d50, 0x002ae096}}, Y: Field{[10]uint32{0x01281a1d, 0x032c196c, 0x0194c6f9, 0x02e35155, 0x01708098, 0x01dea072, 0x03e31da2, 0x01105769, 0x01f22377, 0x001e279f}}}, + {X: Field{[10]uint32{0x00bf2622, 0x015aec12, 0x03ac0598, 0x00e664ce, 0x02eeed4e, 0x02125a5c, 0x039198cf, 0x00f00bb1, 0x00e52c17, 0x00126129}}, Y: Field{[10]uint32{0x00c5df3f, 0x033e25eb, 0x034348e7, 0x0090e647, 0x02f199e9, 0x0330f33d, 0x0087a9c2, 0x00b98682, 0x027b79be, 0x001165ad}}}, + {X: Field{[10]uint32{0x025f7272, 0x01284c98, 0x02fbccfa, 0x01a88fcf, 0x004bf0f7, 0x02a9f2c9, 0x0360d0d8, 0x02f84fd3, 0x03f493c1, 0x000a171b}}, Y: Field{[10]uint32{0x03ed49d3, 0x01ecf674, 0x03c1212d, 0x0397a289, 0x03c4caac, 0x0276e6c8, 0x00fd9984, 0x03bca357, 0x01a5cf9c, 0x000e77fa}}}, + {X: Field{[10]uint32{0x003db340, 0x02dc23e1, 0x02c7b348, 0x001b09e2, 0x019bc6e5, 0x00c402aa, 0x02667171, 0x0065c7a4, 0x01d17e72, 0x0007852c}}, Y: Field{[10]uint32{0x00e41cee, 0x0017c113, 0x02a1164d, 0x03f17de7, 0x00394d7d, 0x0135050f, 0x03fe464c, 0x03d89cd1, 0x039dd705, 0x00018e88}}}, + {X: Field{[10]uint32{0x0217c8aa, 0x0102ed6f, 0x018fc101, 0x030133cc, 0x033b1394, 0x03352161, 0x01dcf309, 0x03347bd8, 0x03b9ed71, 0x0002e3dc}}, Y: Field{[10]uint32{0x036f665c, 0x0041f99d, 0x02ec5827, 0x01a96b10, 0x01074567, 0x006f997b, 0x034823aa, 0x03b214bf, 0x02e0bd66, 0x0022bd76}}}, + {X: Field{[10]uint32{0x0314540a, 0x012fdba1, 0x01d15e62, 0x034c7352, 0x0049c995, 0x03456bf4, 0x02367760, 0x03f3db2d, 0x0297e878, 0x001f831c}}, Y: Field{[10]uint32{0x02ddd658, 0x02bc3f6b, 0x000e58aa, 0x00c0280a, 0x00ffd595, 0x02c9c680, 0x00b7568b, 0x00810fd2, 0x01f74c51, 0x0037d5e5}}}, + {X: Field{[10]uint32{0x03798545, 0x03f409da, 0x02cbade5, 0x0046dd52, 0x00109990, 0x03377f92, 0x0351133f, 0x03b67e8a, 0x011d465b, 0x00027c3b}}, Y: Field{[10]uint32{0x00a8459f, 0x02666405, 0x016e9217, 0x00e398c9, 0x01d85b6c, 0x00aaa676, 0x03adde01, 0x00380192, 0x009c73bb, 0x001c017b}}}, + {X: Field{[10]uint32{0x008e12bf, 0x02946aa7, 0x01b125a0, 0x0002c78d, 0x03cc8e40, 0x00388f3b, 0x020608d8, 0x016bc005, 0x035e0b5c, 0x000b555b}}, Y: Field{[10]uint32{0x01f12000, 0x0108b285, 0x038a94e4, 0x0223e02a, 0x01d24d44, 0x03f61bd0, 0x007f6fc1, 0x00eebc77, 0x014425bc, 0x0001d800}}}, + {X: Field{[10]uint32{0x035ed3f2, 0x0206f320, 0x0128ee8d, 0x03950526, 0x012cc14c, 0x0271f730, 0x0079524d, 0x0380b02d, 0x027d7637, 0x000985d9}}, Y: Field{[10]uint32{0x0380884b, 0x02b90651, 0x019babc6, 0x005806ca, 0x017a2c4e, 0x01e3298e, 0x01496be4, 0x0027ae3d, 0x03ba2cd8, 0x0014855c}}}, + {X: Field{[10]uint32{0x019aac10, 0x02c187c3, 0x02492ba1, 0x033fb416, 0x034cae40, 0x020428fc, 0x036e10f8, 0x026991ed, 0x016c5b51, 0x001891e4}}, Y: Field{[10]uint32{0x02e7f098, 0x00cc09bb, 0x034caf2d, 0x01a70fa7, 0x00602b09, 0x00036875, 0x02a193c5, 0x02a5e241, 0x0170535b, 0x003ff409}}}, + {X: Field{[10]uint32{0x023c52af, 0x017533e6, 0x03db4fa5, 0x012a544d, 0x01ea14c6, 0x03b3b3ee, 0x0017e780, 0x002a2180, 0x03e08ed5, 0x003102c9}}, Y: Field{[10]uint32{0x007b6493, 0x03c6b378, 0x0001ba86, 0x02e0c3aa, 0x00c4149f, 0x00416a95, 0x01d1e977, 0x016e13f6, 0x038c7d02, 0x00090572}}}, + {X: Field{[10]uint32{0x03e0de12, 0x0195e340, 0x029748b6, 0x02afc199, 0x03ad7103, 0x03aea713, 0x01bf17bc, 0x0295bf34, 0x008a54a3, 0x002e96bb}}, Y: Field{[10]uint32{0x0157ffbd, 0x03562c1b, 0x0370dc49, 0x0180e7e6, 0x00a705de, 0x03a96e98, 0x03474d28, 0x0312fcf1, 0x0311abec, 0x000d236a}}}, + {X: Field{[10]uint32{0x00076268, 0x00089225, 0x03f675c0, 0x00139571, 0x02c1e9e5, 0x03ecfcc6, 0x031262cf, 0x00a5384c, 0x0258f8dd, 0x002e8539}}, Y: Field{[10]uint32{0x001aa1dd, 0x01b792b2, 0x023659b9, 0x038e8c9b, 0x00c221b0, 0x01b76684, 0x00cb36c6, 0x03957b1c, 0x0105fc43, 0x0033b5d2}}}, + {X: Field{[10]uint32{0x03f4aff4, 0x037e85a9, 0x022d4cfb, 0x00382870, 0x00f9c1d0, 0x004e6acc, 0x02718cb4, 0x031fe8a7, 0x03698880, 0x000cdd6b}}, Y: Field{[10]uint32{0x02295a27, 0x0399fbb3, 0x01726ddd, 0x01e73957, 0x028d27db, 0x0389b1a3, 0x02fa0b85, 0x0396c6d9, 0x0091a83b, 0x0033ea2d}}}, + {X: Field{[10]uint32{0x019f01fe, 0x0252a92f, 0x002d5efc, 0x038bdf54, 0x035b9a8e, 0x0312c9db, 0x03a109a2, 0x03f7eba7, 0x014b306c, 0x001a3498}}, Y: Field{[10]uint32{0x0348550e, 0x00e1b217, 0x008f3661, 0x01221023, 0x01ef9e1d, 0x03503ed6, 0x01f54e84, 0x0197b5f7, 0x02bcf043, 0x0005230d}}}, + {X: Field{[10]uint32{0x00533edd, 0x011edfc7, 0x0277b7fc, 0x01ac1b0d, 0x03900ece, 0x0358ce1e, 0x02990d71, 0x000ec2b4, 0x02a55977, 0x0024feb3}}, Y: Field{[10]uint32{0x002ad5f4, 0x011e5f25, 0x03179745, 0x011363b9, 0x01c20bbe, 0x02687db0, 0x00199853, 0x0053a2d7, 0x03fa8fa1, 0x000f2006}}}, + {X: Field{[10]uint32{0x01054277, 0x01b09d5d, 0x005d6eef, 0x03c5b288, 0x025a0a61, 0x01b242ca, 0x0375ae17, 0x00c46255, 0x00a672f7, 0x003c4775}}, Y: Field{[10]uint32{0x01556ef6, 0x026d5a2e, 0x020e83f5, 0x01154782, 0x006c307d, 0x03063434, 0x022083ca, 0x02b03dfa, 0x016d2ef2, 0x002f01a8}}}, + {X: Field{[10]uint32{0x024204f7, 0x0328e721, 0x00010f10, 0x02165c97, 0x000b71fe, 0x020f2001, 0x029a94ef, 0x029153f4, 0x005d710b, 0x0010baf3}}, Y: Field{[10]uint32{0x025f223b, 0x001934b5, 0x00e40279, 0x01f371a6, 0x00e633c1, 0x01c7419f, 0x03d5cdb2, 0x0007b531, 0x00eb6431, 0x003e2aa1}}}, + {X: Field{[10]uint32{0x01c80e52, 0x0278f861, 0x03b2e67e, 0x03684fc7, 0x00549e96, 0x02274668, 0x03b6fbce, 0x016a5021, 0x03dcd96d, 0x0035021d}}, Y: Field{[10]uint32{0x02789444, 0x0388d317, 0x0087c837, 0x001bd764, 0x02c0be83, 0x03f00510, 0x017b59af, 0x003f2e39, 0x01b385f2, 0x002fa6ee}}}, + {X: Field{[10]uint32{0x0162931f, 0x01d0d609, 0x03e398fa, 0x02eeae35, 0x03aa40c1, 0x00e49029, 0x00ec9342, 0x0042ae22, 0x0098cd21, 0x003062cb}}, Y: Field{[10]uint32{0x015773f8, 0x00b3a5c5, 0x001cb24c, 0x02724df0, 0x03b83f18, 0x0019b102, 0x01f18cd1, 0x035d31d7, 0x00349147, 0x00365884}}}, + {X: Field{[10]uint32{0x005c0bd1, 0x03e238f8, 0x039e4d14, 0x01631923, 0x036fe946, 0x02ed37af, 0x034fa0c4, 0x03e10473, 0x03221a44, 0x0005535a}}, Y: Field{[10]uint32{0x0075559a, 0x014a9656, 0x01976de5, 0x03cfaf15, 0x037c1074, 0x0365398f, 0x00bbb6ad, 0x00ccbcca, 0x0307c705, 0x0037c2f0}}}, + {X: Field{[10]uint32{0x01a26f15, 0x009a8d78, 0x006e0a93, 0x01670eae, 0x0024485d, 0x02610b6f, 0x017d2285, 0x024ec68e, 0x01e5629f, 0x0028e096}}, Y: Field{[10]uint32{0x01f783fb, 0x02ee7aa4, 0x01892367, 0x013fd0d7, 0x00171327, 0x0229e6e3, 0x0074932e, 0x00a98ece, 0x00cc2fe5, 0x001a6d6b}}}, + {X: Field{[10]uint32{0x023fcd19, 0x02ca8f1d, 0x02013d4d, 0x00a5be08, 0x00148270, 0x03bb7b46, 0x025a7d52, 0x00d24e64, 0x02eee91e, 0x00275ca7}}, Y: Field{[10]uint32{0x03e89a1f, 0x02a8bc38, 0x00339657, 0x027938cc, 0x009cadc0, 0x0361d3ec, 0x02f731f2, 0x02188459, 0x015403cc, 0x001b60c8}}}, + {X: Field{[10]uint32{0x03751e3a, 0x01c06cd9, 0x00b39b25, 0x024e283e, 0x0346398c, 0x0112a7e6, 0x02cede79, 0x01f1f95d, 0x00088630, 0x00099d3c}}, Y: Field{[10]uint32{0x013f83cf, 0x0199ae06, 0x02fa212a, 0x031ea748, 0x02e31bde, 0x02c3c7d3, 0x03638d07, 0x0347be0d, 0x03426ac9, 0x0000fa7a}}}, + {X: Field{[10]uint32{0x02237f41, 0x03cd1453, 0x002c2743, 0x00b1bdc3, 0x03b7c164, 0x02d89b03, 0x028e9fdb, 0x02e15b74, 0x015eadb1, 0x002ca81b}}, Y: Field{[10]uint32{0x03f664d3, 0x033ab58e, 0x01f5ff3b, 0x02613401, 0x03de579a, 0x0206b582, 0x03baed44, 0x02c9a089, 0x038b8673, 0x0017532b}}}, + {X: Field{[10]uint32{0x022d713d, 0x03c8f848, 0x03a60f0b, 0x003c5056, 0x012b278c, 0x00103c17, 0x03e4ec92, 0x03af73b0, 0x0164d61d, 0x00082c9f}}, Y: Field{[10]uint32{0x00e516a3, 0x0111ede9, 0x03ffb41e, 0x0026eceb, 0x02c8c5c8, 0x00159d43, 0x01264886, 0x00b7cd73, 0x01e7ff5c, 0x00120761}}}, + {X: Field{[10]uint32{0x00e3f2e5, 0x0335714f, 0x0051bfc7, 0x003d169f, 0x03527093, 0x0031547d, 0x00d7c152, 0x02a897d8, 0x010c450e, 0x0013d298}}, Y: Field{[10]uint32{0x0247f328, 0x00bf640e, 0x0239c2b3, 0x013bf5f7, 0x01e82423, 0x03e75a3b, 0x02d8d8e0, 0x0188a19c, 0x0211db41, 0x0037c7a3}}}, + {X: Field{[10]uint32{0x00aceaa9, 0x03ee8daa, 0x01e9e776, 0x02245196, 0x03bc06c9, 0x00d66f01, 0x0170b4be, 0x010d6095, 0x02d80050, 0x0026cdd7}}, Y: Field{[10]uint32{0x01e90927, 0x01ab888d, 0x01f26d1e, 0x01021b73, 0x03226834, 0x01670d20, 0x01de5b1f, 0x0001a645, 0x0193385c, 0x000f4159}}}, + {X: Field{[10]uint32{0x02c9d1be, 0x0300648b, 0x03ba4060, 0x021cdff3, 0x03c13aff, 0x00e42dff, 0x03865e72, 0x00b21cc7, 0x00045d43, 0x0010d902}}, Y: Field{[10]uint32{0x0070cbeb, 0x01ac8818, 0x016eb234, 0x02496e2c, 0x025aff2a, 0x012ed3ef, 0x01f2aac5, 0x00ff878f, 0x02af6fc7, 0x00388ce3}}}, + {X: Field{[10]uint32{0x001e0b66, 0x01d849fd, 0x02a394c4, 0x00bbcae7, 0x0259287f, 0x02fa2353, 0x021f35cf, 0x0045c905, 0x004f2446, 0x0029b967}}, Y: Field{[10]uint32{0x019f334d, 0x03b17f9f, 0x032775f5, 0x00acb9ea, 0x0257a8ae, 0x0133dc62, 0x00fa470c, 0x01d7e507, 0x0347f5dd, 0x001d71c1}}}, + {X: Field{[10]uint32{0x01322d51, 0x02801ec9, 0x016ed7c9, 0x0165d2ca, 0x025293a9, 0x01a9b4ce, 0x03bf1e84, 0x0147f65d, 0x0217ae73, 0x003fd8e5}}, Y: Field{[10]uint32{0x03dac457, 0x01cc4594, 0x0239f79d, 0x01c7bd01, 0x03e21dca, 0x039e60d4, 0x03f81ffe, 0x0157dd94, 0x01abfa23, 0x0039848f}}}, + {X: Field{[10]uint32{0x02f4faf3, 0x0376fa53, 0x030435f8, 0x03b80722, 0x00c254df, 0x02b578a1, 0x0237cbc5, 0x03639822, 0x00401710, 0x001de452}}, Y: Field{[10]uint32{0x00611414, 0x02e3b638, 0x00ecaa54, 0x0118cb26, 0x02623be4, 0x02534a9a, 0x0075dc38, 0x03531c10, 0x00e99ef3, 0x00365fd1}}}, + {X: Field{[10]uint32{0x01484aad, 0x015e7ede, 0x00ee5d42, 0x03f01b76, 0x00947cf1, 0x03704d71, 0x0151c00a, 0x0152a841, 0x00aa0292, 0x003da244}}, Y: Field{[10]uint32{0x0052c1fc, 0x02d67930, 0x03c941b9, 0x0310fd71, 0x0269f9f5, 0x0325e137, 0x01587eaf, 0x01b58c2b, 0x03db33a5, 0x00102f7e}}}, + {X: Field{[10]uint32{0x036e0fd3, 0x01891906, 0x0169629f, 0x034b7bc7, 0x00f2d4d8, 0x03558361, 0x01c75011, 0x0133bdc6, 0x0381473d, 0x00056fa3}}, Y: Field{[10]uint32{0x00fd9a2a, 0x023bbb9c, 0x007bb1d2, 0x02a21241, 0x0364b85e, 0x01b64c99, 0x011ead00, 0x006d0711, 0x0126fc99, 0x001f99be}}}, + {X: Field{[10]uint32{0x0284e9ca, 0x006af762, 0x019db909, 0x01be682f, 0x03d0c5c2, 0x01f10722, 0x03272970, 0x00c0bbd0, 0x015a2e22, 0x0003844f}}, Y: Field{[10]uint32{0x01574dc0, 0x0095f2bd, 0x0353026a, 0x03472e00, 0x03b54941, 0x03c6cb16, 0x026b70b2, 0x0371145e, 0x02d834c6, 0x000b9218}}}, + {X: Field{[10]uint32{0x03bea688, 0x0237f9d1, 0x01595aa7, 0x02c15f5b, 0x022c94da, 0x030346f8, 0x0220d9de, 0x02e99dfd, 0x0370485b, 0x0025ac41}}, Y: Field{[10]uint32{0x03dbf30b, 0x027a7c6e, 0x016a5225, 0x03092926, 0x02ff854a, 0x031de766, 0x021bd58f, 0x01c9ab06, 0x02ae0222, 0x0038182a}}}, + {X: Field{[10]uint32{0x0005545d, 0x01e24d09, 0x02183de8, 0x031d68e3, 0x0057f6f7, 0x034b3f63, 0x025e8990, 0x0255385f, 0x03005555, 0x00205d0b}}, Y: Field{[10]uint32{0x02d2fc0e, 0x03b80f4b, 0x0236edf1, 0x031a3e48, 0x00a8d742, 0x00d5e3ec, 0x032fbb07, 0x0017cb9b, 0x03c2e5f7, 0x00285d8f}}}, + {X: Field{[10]uint32{0x0378a480, 0x01207fee, 0x01c17fcc, 0x002f85b0, 0x0386bc7a, 0x02434dee, 0x00b72eaf, 0x023d89df, 0x03139698, 0x0005f067}}, Y: Field{[10]uint32{0x03c78833, 0x030eed94, 0x01fd9c5e, 0x0181c63e, 0x013f430e, 0x038f946e, 0x01c2642a, 0x0193ad88, 0x00d52101, 0x0032c4a4}}}, + {X: Field{[10]uint32{0x02497a3c, 0x0066fae8, 0x01c3f403, 0x001d8f00, 0x00bfeee5, 0x02e18552, 0x0248b2bb, 0x01bb2719, 0x0306e874, 0x00001ec3}}, Y: Field{[10]uint32{0x02a70020, 0x02dde3b5, 0x00c6a2fd, 0x016275ba, 0x031634b7, 0x032a831e, 0x00b318f1, 0x01f638c2, 0x03788429, 0x0031a524}}}, + {X: Field{[10]uint32{0x02c5e8b3, 0x015ba444, 0x0013405f, 0x005f2c6e, 0x0055a805, 0x02a26dd5, 0x027d8c28, 0x0060fe69, 0x03062414, 0x001c570a}}, Y: Field{[10]uint32{0x0120370b, 0x015dcfc9, 0x03b33920, 0x000e5de1, 0x0123167f, 0x03e12d35, 0x02d4cca7, 0x01771c78, 0x01c89a79, 0x003e26e2}}}, + {X: Field{[10]uint32{0x0374d3b6, 0x03d03723, 0x024c78f1, 0x00277626, 0x01057aed, 0x03f976fd, 0x0377662e, 0x03f1e1d9, 0x0200f974, 0x00383433}}, Y: Field{[10]uint32{0x03e3eb56, 0x01c138b8, 0x000d3e85, 0x03f9f2cf, 0x03c253be, 0x01315447, 0x03c7f05c, 0x01211e52, 0x0265ed70, 0x002b316f}}}, + {X: Field{[10]uint32{0x026432a2, 0x002ac7f4, 0x02222e77, 0x021d6eb5, 0x01bdba9a, 0x033674a8, 0x01aaf75e, 0x02e2de69, 0x028976fb, 0x000dd54c}}, Y: Field{[10]uint32{0x02ced92d, 0x00584230, 0x01d77eb0, 0x01f0b170, 0x0001087e, 0x00aca822, 0x00bc7d01, 0x00192f60, 0x02331b7e, 0x001b6ef8}}}, + {X: Field{[10]uint32{0x03e3d3ff, 0x02ace81b, 0x00699446, 0x0144aaf7, 0x00f46ca6, 0x02cabec1, 0x003f6b08, 0x0240da1a, 0x03ef51ea, 0x000ba570}}, Y: Field{[10]uint32{0x019b554a, 0x02d030ca, 0x0349839c, 0x019802ca, 0x0201556c, 0x01876f18, 0x0063b94c, 0x037f8121, 0x0287b1d8, 0x0002417a}}}, + {X: Field{[10]uint32{0x00ff8eb5, 0x01f5d6b1, 0x02cf40fe, 0x0036d645, 0x02646758, 0x01cd54fd, 0x035c67fb, 0x00c915fc, 0x021e721f, 0x00094c43}}, Y: Field{[10]uint32{0x006b4ace, 0x02d50c1e, 0x03041016, 0x018b05fa, 0x0146ecd6, 0x01f72ac7, 0x01a359b8, 0x03bad509, 0x02f9be42, 0x00271794}}}, + {X: Field{[10]uint32{0x03830b7b, 0x001fd46d, 0x013b0cf7, 0x01f5febd, 0x0227a23b, 0x035f2d41, 0x00779117, 0x03f0b75e, 0x031b2b24, 0x000964ca}}, Y: Field{[10]uint32{0x03536765, 0x00cb6477, 0x00f3e04e, 0x00180427, 0x022215e2, 0x037ce8ab, 0x03969a6d, 0x009ac075, 0x03b4acdb, 0x001fa388}}}, + {X: Field{[10]uint32{0x03c5ed3e, 0x005a911c, 0x0284e22b, 0x017ac26d, 0x02892e13, 0x025fd6e2, 0x029ba443, 0x01d99ee9, 0x02f6251f, 0x001f48ca}}, Y: Field{[10]uint32{0x02d8356e, 0x00995c69, 0x0392c1cd, 0x01165426, 0x00131b90, 0x026093c7, 0x03dea61d, 0x0226d633, 0x0238c8a5, 0x0028fa3d}}}, + {X: Field{[10]uint32{0x00c720f9, 0x03a5d572, 0x03633cb9, 0x01141211, 0x026afc86, 0x01125581, 0x03e05b0a, 0x03aa1ee8, 0x02a01b65, 0x001355b2}}, Y: Field{[10]uint32{0x03537330, 0x0105dc5d, 0x0208f50f, 0x03865deb, 0x007c1eae, 0x00dbc0d2, 0x03f1ada9, 0x01465f28, 0x027836e6, 0x000530d1}}}, + {X: Field{[10]uint32{0x0100a88b, 0x03bef671, 0x01c2c122, 0x000cdc9f, 0x032615b5, 0x031c8bb5, 0x01c81f42, 0x03e2eddd, 0x0165ca6f, 0x001c6af4}}, Y: Field{[10]uint32{0x012620f1, 0x02ae2112, 0x00eb9c39, 0x01499089, 0x01a59693, 0x0046b12e, 0x031c46ae, 0x013e18be, 0x00670728, 0x001e6e89}}}, + {X: Field{[10]uint32{0x02a48965, 0x00ba4195, 0x039f4200, 0x01d31045, 0x0230215e, 0x03176795, 0x00496345, 0x00146731, 0x00ccc381, 0x002118bf}}, Y: Field{[10]uint32{0x03787d4b, 0x00241229, 0x005cb64d, 0x029d70f0, 0x00f0eb75, 0x027f1190, 0x0148a7e2, 0x02e662f1, 0x0166cd7f, 0x00014d6a}}}, + {X: Field{[10]uint32{0x02c09826, 0x03a4d44d, 0x01ae3286, 0x0011bf91, 0x00b9c2b1, 0x0195a12a, 0x0178b5c6, 0x0147402d, 0x0093fed7, 0x003da3ab}}, Y: Field{[10]uint32{0x0148bff5, 0x013f117f, 0x01831733, 0x0355cca8, 0x0366f7d8, 0x02943952, 0x0119ff2f, 0x02a28a3c, 0x032b98b0, 0x00263830}}}, + {X: Field{[10]uint32{0x01f72041, 0x0110acb6, 0x00b1615f, 0x031f9250, 0x0243467d, 0x01bfd5a6, 0x00e4014f, 0x0364d670, 0x025009a8, 0x0018511c}}, Y: Field{[10]uint32{0x02c8f807, 0x00cc505e, 0x02d2eb2f, 0x0024abac, 0x00fa58f2, 0x03efaa22, 0x02a7108d, 0x01fb9f7b, 0x037fc7f5, 0x0003edc5}}}, + {X: Field{[10]uint32{0x0315614f, 0x023b3152, 0x01497fc2, 0x0324de68, 0x01c9846a, 0x00b6233c, 0x0259a26e, 0x006f4b88, 0x02114ffa, 0x003a9a7b}}, Y: Field{[10]uint32{0x00e4e2de, 0x02dda317, 0x022c9b17, 0x006e026d, 0x0163183d, 0x0375b3cf, 0x00141083, 0x035d4244, 0x01b51dd6, 0x001626e0}}}, + {X: Field{[10]uint32{0x025d5263, 0x01319813, 0x02b78146, 0x0057147e, 0x0338e6aa, 0x01ffc542, 0x01a1ce0d, 0x037a5990, 0x03243404, 0x000d1c9e}}, Y: Field{[10]uint32{0x0027d4f2, 0x00a27536, 0x03804435, 0x03cb56ef, 0x031920bf, 0x03001a74, 0x039baadd, 0x0329dcd6, 0x026bcf56, 0x0024660c}}}, + {X: Field{[10]uint32{0x02217461, 0x02343667, 0x02ad952f, 0x036549b3, 0x00eeebf4, 0x03a62d3c, 0x022d2756, 0x01e370a7, 0x02ae6137, 0x00254914}}, Y: Field{[10]uint32{0x02d486a8, 0x01c5d6ca, 0x035ff079, 0x020b7052, 0x03c17f65, 0x006c5046, 0x0250eb10, 0x03ed6be6, 0x0228c195, 0x003022ce}}}, + {X: Field{[10]uint32{0x038e49ff, 0x02855ab9, 0x01bfd2d4, 0x010af78b, 0x02401b83, 0x019840c1, 0x01afeba6, 0x022f1dfa, 0x0318dc4a, 0x003ef28f}}, Y: Field{[10]uint32{0x014129c9, 0x01f910fe, 0x029b6c7b, 0x01ceee4c, 0x034cf755, 0x01dae493, 0x020db7bc, 0x02cb7bb6, 0x016d6027, 0x000ae0a7}}}, + {X: Field{[10]uint32{0x03d8c141, 0x03130556, 0x0082b57b, 0x03fee502, 0x005302bf, 0x0022929c, 0x03dff64a, 0x0190ea55, 0x011d7ddc, 0x0031f77c}}, Y: Field{[10]uint32{0x02708e20, 0x01559a5b, 0x02a8889d, 0x038628f6, 0x03b3711e, 0x00e6f9e6, 0x03e81468, 0x02c0600f, 0x01f1ac93, 0x003a7284}}}, + {X: Field{[10]uint32{0x00ce31b8, 0x03b9299c, 0x02fa2cd0, 0x014e72db, 0x011b3f23, 0x039a0860, 0x031f7e44, 0x0018fae0, 0x023086e3, 0x001c410e}}, Y: Field{[10]uint32{0x01322c9d, 0x02df2d22, 0x03411ebc, 0x01914c82, 0x019334c1, 0x0178a613, 0x029cc925, 0x0349cd2a, 0x0338ef9f, 0x00136cfc}}}, + {X: Field{[10]uint32{0x00602585, 0x01a9dd92, 0x034c3dbb, 0x0111e644, 0x005d70f0, 0x003e8dd7, 0x0349d368, 0x01f2ef64, 0x02401534, 0x001b793a}}, Y: Field{[10]uint32{0x03960418, 0x01df7c9f, 0x03d70f1d, 0x010ce31c, 0x02458a32, 0x01c0973c, 0x028d8394, 0x014b6fba, 0x018865ab, 0x0000edd9}}}, + {X: Field{[10]uint32{0x024fecbe, 0x0095a5ae, 0x02215bc4, 0x030387e9, 0x01db9a0c, 0x03dee80f, 0x017e23b6, 0x03b2dfa8, 0x039f467c, 0x000a7ea9}}, Y: Field{[10]uint32{0x00f34838, 0x03fe86d2, 0x01154e50, 0x017b4bfc, 0x0264a224, 0x01af7c41, 0x03027d04, 0x02f0a707, 0x011fc42f, 0x00396a9a}}}, + {X: Field{[10]uint32{0x02aafc99, 0x010be4c5, 0x00f79c8c, 0x02e1d244, 0x03d750f8, 0x00afe3d6, 0x025f15a0, 0x016c89e3, 0x03fc25ae, 0x003fe202}}, Y: Field{[10]uint32{0x025747df, 0x03bba08e, 0x00b105ee, 0x019af228, 0x0360e7a1, 0x02ed40b6, 0x0025bd81, 0x023de4de, 0x030a0072, 0x00254d7d}}}, + {X: Field{[10]uint32{0x00a2a378, 0x01af4be9, 0x00eeef6a, 0x02c90949, 0x0160eff0, 0x014ba302, 0x020c5663, 0x03dbd614, 0x02a03837, 0x002de06d}}, Y: Field{[10]uint32{0x00dbbb62, 0x03ffefd3, 0x01e4fc44, 0x027989d5, 0x01cbf838, 0x0304ada7, 0x0322ee73, 0x00f7650d, 0x03d46c68, 0x002b35ed}}}, + {X: Field{[10]uint32{0x027406db, 0x01028ed1, 0x01990ee5, 0x01896411, 0x03b3f190, 0x00b92b0a, 0x0332c648, 0x03174369, 0x0193e8ba, 0x001b65d9}}, Y: Field{[10]uint32{0x032a8b6b, 0x01fa704b, 0x016583bd, 0x00966a2e, 0x016cbc18, 0x00a92abb, 0x00bb9c0f, 0x020585b0, 0x03e4af6d, 0x000c30d4}}}, + {X: Field{[10]uint32{0x00dc3032, 0x0219af5b, 0x014015d0, 0x0208a9b6, 0x03683ec7, 0x03eb4784, 0x02121129, 0x03836d18, 0x036a4dd3, 0x00063b59}}, Y: Field{[10]uint32{0x00a51bd5, 0x009ac580, 0x019bb8ef, 0x039dfb8c, 0x0006f9a6, 0x01780d9c, 0x03b97626, 0x02a0a97d, 0x02e15dbf, 0x00321ac1}}}, + {X: Field{[10]uint32{0x035ce2a1, 0x015032b6, 0x0118ceb3, 0x034ee547, 0x01d1e859, 0x03bf52e3, 0x00bce4da, 0x003ff30b, 0x0238e944, 0x0000c4e3}}, Y: Field{[10]uint32{0x0095c241, 0x038a325a, 0x029a3430, 0x010253be, 0x03fef4bc, 0x02431b9b, 0x0260a134, 0x02199f75, 0x01b2a11a, 0x0037e2ac}}}, + {X: Field{[10]uint32{0x00b00c95, 0x015c73fa, 0x03c3a091, 0x0023d240, 0x02163ce6, 0x0126a5d8, 0x02b1e761, 0x0326aae2, 0x00ac2025, 0x001d5f7d}}, Y: Field{[10]uint32{0x03a03430, 0x0353b337, 0x018c4a37, 0x032d343f, 0x01c56bd7, 0x014001d9, 0x0115ab76, 0x0317611f, 0x01feab36, 0x003fc2bd}}}, + {X: Field{[10]uint32{0x004c27e1, 0x01c10262, 0x015cc9aa, 0x03a1142e, 0x020ce09d, 0x0078ecbc, 0x03319a08, 0x01626f44, 0x02527156, 0x00229a5e}}, Y: Field{[10]uint32{0x0151f39d, 0x0027e1ab, 0x03ca13df, 0x039aefc0, 0x015a5edd, 0x00ccb576, 0x032815ad, 0x027a78df, 0x013cb602, 0x00027bae}}}, + {X: Field{[10]uint32{0x018c721b, 0x035838f9, 0x000b1650, 0x026f53d3, 0x01d35eb8, 0x00dea135, 0x03c2198e, 0x0382c5b3, 0x018736f9, 0x002c2eda}}, Y: Field{[10]uint32{0x016e00dc, 0x018d8efb, 0x001ebb3b, 0x0054bd23, 0x010b8556, 0x02ce3a0b, 0x009808f0, 0x02d405bc, 0x0200ce25, 0x000cf56c}}}, + {X: Field{[10]uint32{0x0037efed, 0x006d5172, 0x022d8d9f, 0x017a41ab, 0x03ef6d6f, 0x034be3fd, 0x037882a0, 0x0118d098, 0x01de5dde, 0x0007283b}}, Y: Field{[10]uint32{0x002863bc, 0x027af6aa, 0x02e41acb, 0x013eb163, 0x024c4d3a, 0x017ae7cf, 0x015d4c0f, 0x01a0f69f, 0x01ae4cff, 0x00067bed}}}, + {X: Field{[10]uint32{0x01474aa7, 0x03f10893, 0x0121ed90, 0x006b793a, 0x01d59ad1, 0x00786dd9, 0x02849310, 0x0395f59a, 0x030eb9a4, 0x001e0396}}, Y: Field{[10]uint32{0x033ab811, 0x024c8304, 0x016a3d33, 0x03fd0614, 0x001d8f34, 0x01e6a8e9, 0x02579f4c, 0x017c84b6, 0x00cc58cc, 0x0017af67}}}, + {X: Field{[10]uint32{0x00eb4c9d, 0x01a1b68d, 0x01468edf, 0x026952fc, 0x0330ec07, 0x037c8429, 0x02af620c, 0x021414b4, 0x00e93980, 0x003dfa4b}}, Y: Field{[10]uint32{0x00f93666, 0x03deae5e, 0x035857b1, 0x0259ea22, 0x0257c234, 0x00bc52b6, 0x03d54c03, 0x02a58563, 0x01cfe113, 0x000b1567}}}, + {X: Field{[10]uint32{0x0289f938, 0x01f69712, 0x036f54bc, 0x02909a4c, 0x013a5688, 0x00360358, 0x01ff8092, 0x00829e3e, 0x022075bb, 0x000f0ebe}}, Y: Field{[10]uint32{0x03888c8d, 0x03cfe71e, 0x0132b978, 0x0364fc74, 0x023bd836, 0x0190d7c8, 0x023a9f54, 0x00d75b95, 0x03081dd2, 0x001fbce0}}}, + {X: Field{[10]uint32{0x022097ee, 0x03ec557c, 0x01115af4, 0x03700c06, 0x0389fb9e, 0x01f95848, 0x01ec59e0, 0x03e6d5d7, 0x001dee60, 0x001c75bc}}, Y: Field{[10]uint32{0x0080bfee, 0x0011c387, 0x016802ef, 0x03483abc, 0x0138da4f, 0x02d050c8, 0x0054091f, 0x028d714a, 0x02454a31, 0x00387330}}}, + {X: Field{[10]uint32{0x00c4fa2d, 0x03dd6e4e, 0x036ea1f5, 0x00c7162a, 0x02b107fc, 0x039895f7, 0x00a77b28, 0x03b20242, 0x020f5705, 0x0025c999}}, Y: Field{[10]uint32{0x008cd4c1, 0x021a526d, 0x000c690c, 0x039c23a9, 0x01d3636f, 0x01b6c319, 0x018c213b, 0x0347a584, 0x03ae3102, 0x00253301}}}, + {X: Field{[10]uint32{0x02802719, 0x000ab0ac, 0x004b87fd, 0x004bb07f, 0x02297fad, 0x01fa2d8c, 0x011a1a29, 0x0286bc1a, 0x00c754b2, 0x002b3974}}, Y: Field{[10]uint32{0x039f85eb, 0x03252162, 0x008581f4, 0x032b4934, 0x027fc843, 0x03c6235a, 0x02491f05, 0x01c973ae, 0x03248d3e, 0x002493e7}}}, + {X: Field{[10]uint32{0x01943f64, 0x0159ace1, 0x018b88fa, 0x03f588ba, 0x028200ea, 0x00e2928a, 0x01778f28, 0x003fc333, 0x006b3480, 0x003e944c}}, Y: Field{[10]uint32{0x0296e293, 0x01721c50, 0x015c85f0, 0x015eb4d3, 0x0104b677, 0x0324ad43, 0x00ee030f, 0x0121ce87, 0x02166b14, 0x002d83b9}}}, + {X: Field{[10]uint32{0x01bea60a, 0x0275610b, 0x030f17c1, 0x0165845c, 0x000b716a, 0x0163abf3, 0x00097ee4, 0x009699e7, 0x0018329d, 0x002177e4}}, Y: Field{[10]uint32{0x017ab0fa, 0x03a24462, 0x0180ae62, 0x031bcbda, 0x00b7bc64, 0x039e1ddd, 0x01ad7c09, 0x008473a6, 0x01b6046d, 0x00315575}}}, + {X: Field{[10]uint32{0x00af5e3a, 0x02627389, 0x037f3efb, 0x03d1e018, 0x01337ff5, 0x0398d2a6, 0x0061b52a, 0x01119ead, 0x000dc202, 0x000bddf0}}, Y: Field{[10]uint32{0x005e3e39, 0x0039fea4, 0x0325303f, 0x039ebbca, 0x020c5d28, 0x039fbee9, 0x00c52b0b, 0x03eaf61c, 0x0278ebcb, 0x0031fd29}}}, + {X: Field{[10]uint32{0x028bb34e, 0x03123088, 0x0200158f, 0x03d6c3bd, 0x011f238d, 0x02e00afd, 0x036a4997, 0x0143583f, 0x023a7200, 0x0014b628}}, Y: Field{[10]uint32{0x003d9136, 0x00c0b6e0, 0x000f2ccd, 0x004b245e, 0x02cebb18, 0x030c31e1, 0x02d29b51, 0x02386858, 0x01a7861b, 0x00262ba0}}}, + {X: Field{[10]uint32{0x0212b211, 0x003b6c5c, 0x022fd37b, 0x008901d1, 0x00701daf, 0x01d556d7, 0x03b83204, 0x0001248b, 0x0079eaca, 0x0029fcf9}}, Y: Field{[10]uint32{0x03bdaada, 0x019402e7, 0x03ae8e92, 0x01f311db, 0x013e3376, 0x006eb00e, 0x0268498d, 0x029f05ee, 0x010c8c4c, 0x00203d86}}}, + {X: Field{[10]uint32{0x02356103, 0x01181f28, 0x00880ea0, 0x0264023d, 0x0373db57, 0x0108e0ab, 0x03bf4d79, 0x034c9986, 0x0150e67b, 0x000c7bcc}}, Y: Field{[10]uint32{0x00a9a8ee, 0x020d2c6a, 0x00954631, 0x01ab8f4b, 0x01bc03c4, 0x012c5bb5, 0x0350bb51, 0x00a3464e, 0x01d6655d, 0x001f6e3d}}}, + {X: Field{[10]uint32{0x038b058d, 0x03b8914e, 0x031fceab, 0x034e1a04, 0x00599b0c, 0x00bb7a8c, 0x02d1ee35, 0x000a64e6, 0x0155469c, 0x003ba0bc}}, Y: Field{[10]uint32{0x0092b10c, 0x00bfcc14, 0x00400eed, 0x0263c0e5, 0x0032de93, 0x02b6e263, 0x01d9ed6c, 0x030b10ab, 0x014e2d77, 0x003f4303}}}, + {X: Field{[10]uint32{0x016b4586, 0x0347df95, 0x0073e206, 0x0242d15a, 0x01273549, 0x0281c55d, 0x01f7d458, 0x0375bc2a, 0x007abfce, 0x00037b1f}}, Y: Field{[10]uint32{0x007200c4, 0x0060041d, 0x0327673c, 0x031ee172, 0x002c7626, 0x01e7f8c8, 0x02f0912b, 0x025fd061, 0x02b4cad5, 0x002be106}}}, + {X: Field{[10]uint32{0x00d2369d, 0x02cd347d, 0x0362e526, 0x004bb921, 0x002bf34f, 0x01466f60, 0x011ba405, 0x01bfa5d6, 0x037048cd, 0x0030a38c}}, Y: Field{[10]uint32{0x00636e8b, 0x003ac5fc, 0x01a647d5, 0x0148e4c9, 0x03b8640f, 0x025dae84, 0x0086dba6, 0x019cc5fd, 0x03ddda45, 0x0003802a}}}, + {X: Field{[10]uint32{0x03222195, 0x011448f7, 0x01a93071, 0x00c473c1, 0x01370277, 0x003c8d4c, 0x0029e9db, 0x017d9403, 0x00a92c27, 0x0011c55f}}, Y: Field{[10]uint32{0x01cbef6e, 0x003833a2, 0x00dc4f43, 0x01cacd3e, 0x009fefeb, 0x0107321d, 0x007e9ed4, 0x03f496be, 0x03fac911, 0x001922c5}}}, + {X: Field{[10]uint32{0x00a73241, 0x01c6991b, 0x03868f54, 0x014e9eac, 0x039a0a92, 0x027fc651, 0x01b55037, 0x014f3b60, 0x0302745c, 0x00213445}}, Y: Field{[10]uint32{0x01f858c5, 0x0382f089, 0x016b62c0, 0x03076359, 0x01fc593e, 0x01139933, 0x03b13536, 0x0021e93b, 0x02a20c3c, 0x0013c5ad}}}, + {X: Field{[10]uint32{0x03d63fc9, 0x02f8b5e5, 0x02dccb7f, 0x00a23a46, 0x03c74e81, 0x02a20471, 0x02b2f28e, 0x0182e1ac, 0x00221960, 0x000eee8c}}, Y: Field{[10]uint32{0x0334e286, 0x00f4a8a9, 0x02f3a9d7, 0x0262db9f, 0x00879d3f, 0x03a93d53, 0x03c5aa12, 0x014dce9d, 0x014af094, 0x001fcd01}}}, + {X: Field{[10]uint32{0x00651c6b, 0x03a281a6, 0x038f4425, 0x001aaa14, 0x00b9f746, 0x00f5039c, 0x037485ab, 0x01850c90, 0x03f47a2c, 0x0002158d}}, Y: Field{[10]uint32{0x03396054, 0x0002b664, 0x00096c35, 0x00c68c34, 0x02f76e85, 0x020e940d, 0x03075760, 0x00ac799e, 0x01d56fb4, 0x002f1aa5}}}, + {X: Field{[10]uint32{0x01bbd123, 0x01bb4c53, 0x0167d8ea, 0x010a902a, 0x02e8021a, 0x034f150f, 0x02d1605d, 0x00066887, 0x02985e75, 0x00094c0b}}, Y: Field{[10]uint32{0x02797a83, 0x02936399, 0x010f3267, 0x00e447f7, 0x01c02206, 0x004dc4fe, 0x02f9b4ba, 0x01d64751, 0x03e02309, 0x00212732}}}, + {X: Field{[10]uint32{0x003bea40, 0x01fd793d, 0x01f8e411, 0x003edae1, 0x03485fde, 0x029c82b8, 0x00d73dab, 0x024f8f02, 0x00bf88e3, 0x0039668c}}, Y: Field{[10]uint32{0x0197dfd5, 0x02112618, 0x02fb4422, 0x01921e1c, 0x0383ebbb, 0x00f92fe0, 0x00fa6bd3, 0x032cdc68, 0x024fe222, 0x001bf5e0}}}, + {X: Field{[10]uint32{0x02247e4e, 0x03e060fd, 0x025bda83, 0x0074b04d, 0x02de0533, 0x024d778b, 0x01e9bc3b, 0x00698162, 0x01f69798, 0x0031640b}}, Y: Field{[10]uint32{0x0175fe3c, 0x016b1f4b, 0x02c91f86, 0x01bae4f6, 0x0121d073, 0x03fadf38, 0x035ecb58, 0x0147bc6a, 0x014f5af5, 0x00319fac}}}, + {X: Field{[10]uint32{0x015e66ad, 0x02ad3983, 0x00c1b277, 0x0270b9b1, 0x01b8b640, 0x0138f202, 0x039a9b47, 0x0049fb19, 0x02c7fe27, 0x0037e2f6}}, Y: Field{[10]uint32{0x017d43e1, 0x02c409dc, 0x02dc7645, 0x01bf0099, 0x00273825, 0x00bad1c2, 0x01802ed7, 0x00e25953, 0x03e49f0b, 0x000ffc9b}}}, + {X: Field{[10]uint32{0x0065a82c, 0x0233dd8b, 0x02cf3f1e, 0x00942459, 0x009eff91, 0x0204357c, 0x01c7c02b, 0x02e32b0e, 0x004e9c7c, 0x00075550}}, Y: Field{[10]uint32{0x02a7632f, 0x02ee6f6c, 0x00707c24, 0x03a82681, 0x03e5a760, 0x00bf1348, 0x0099f64a, 0x03228d71, 0x0023f6a1, 0x00305e1c}}}, + {X: Field{[10]uint32{0x01f43b44, 0x03b82203, 0x034ef804, 0x02599e86, 0x002d040e, 0x01617914, 0x0106073d, 0x03f7eda1, 0x00c9b035, 0x000d7ce4}}, Y: Field{[10]uint32{0x03f512a2, 0x01768e2f, 0x010383c5, 0x00ab690f, 0x004c3cad, 0x003ae5d5, 0x0036fec5, 0x0362ddf7, 0x018886aa, 0x001aa173}}}, + {X: Field{[10]uint32{0x01e059b0, 0x01d13131, 0x006d588f, 0x01bb50f4, 0x011d2278, 0x0091273f, 0x02d7005b, 0x023e9bc9, 0x000dee88, 0x003eec21}}, Y: Field{[10]uint32{0x01b8d3bf, 0x034ac973, 0x005a6508, 0x03d2f4f5, 0x02203b05, 0x03d946eb, 0x00ffa219, 0x01c3c8e9, 0x014fd89a, 0x00191814}}}, + {X: Field{[10]uint32{0x034d78d7, 0x02049c68, 0x00ac9ce4, 0x0384cd4f, 0x0161fa0a, 0x01a4c7a4, 0x0208ac46, 0x01d77111, 0x00f01c22, 0x0009015b}}, Y: Field{[10]uint32{0x03c7751f, 0x0286d8f2, 0x011bf7dd, 0x028361a9, 0x01965a3f, 0x00d2949d, 0x003088f4, 0x020746fc, 0x03c67e73, 0x0010faf4}}}, + {X: Field{[10]uint32{0x00f9cd78, 0x02465c9c, 0x01297e77, 0x01175f9c, 0x0354f9f7, 0x035cbdac, 0x007c938c, 0x01f1e238, 0x03dfe844, 0x000ec410}}, Y: Field{[10]uint32{0x0240d6fc, 0x03c4a697, 0x0050c34a, 0x0184385b, 0x03b67ba3, 0x00ac6171, 0x02c29d4b, 0x03544449, 0x00c4abf0, 0x000a380a}}}, + {X: Field{[10]uint32{0x01a040e6, 0x03b7481a, 0x03a81a5b, 0x023d715d, 0x008088b0, 0x018d6017, 0x0175b236, 0x00d8e203, 0x01d14179, 0x002bbe42}}, Y: Field{[10]uint32{0x0200dc51, 0x006edf21, 0x03382d8a, 0x03007125, 0x0293350c, 0x03d028fe, 0x00c2b43d, 0x01adb174, 0x006f0de2, 0x00032ed3}}}, + {X: Field{[10]uint32{0x02833f28, 0x027e74f2, 0x007ac02c, 0x02e043d0, 0x03913367, 0x03c8a6f1, 0x0359aef5, 0x00c72dbf, 0x00f73863, 0x00323525}}, Y: Field{[10]uint32{0x010de4d2, 0x02a9d2ec, 0x01a67e70, 0x009e358b, 0x00c7b850, 0x034fbc45, 0x01afdacb, 0x0217534e, 0x02f94b62, 0x0032cb1d}}}, + {X: Field{[10]uint32{0x00f75b28, 0x00e44e4d, 0x033f5f4f, 0x005dbf97, 0x03c1b52e, 0x00779ed7, 0x00744437, 0x0328c8f7, 0x03f7af14, 0x00096bf3}}, Y: Field{[10]uint32{0x0142b789, 0x01c5c89a, 0x03781752, 0x03ed2bd2, 0x025010cd, 0x03541699, 0x031f57f8, 0x01fa5db2, 0x00a47f9d, 0x003619e9}}}, + {X: Field{[10]uint32{0x0132e2c7, 0x03658c8f, 0x022f819a, 0x00b5dc23, 0x01d40768, 0x022f5cb9, 0x02c220dc, 0x024c361c, 0x0086f773, 0x000090db}}, Y: Field{[10]uint32{0x00ab67a5, 0x02737aa2, 0x01662bc8, 0x021cdfc0, 0x0320a958, 0x0138501f, 0x00de6902, 0x0198f311, 0x01ea92af, 0x001b8e5b}}}, + {X: Field{[10]uint32{0x007f349d, 0x03d34945, 0x0056b0d0, 0x02e1fcf3, 0x0257638b, 0x0064567b, 0x00bcb86e, 0x00cf1e44, 0x03d59e57, 0x001873ba}}, Y: Field{[10]uint32{0x02fadb9e, 0x012c573c, 0x02aef3e7, 0x023e18a0, 0x027d8521, 0x01068c3a, 0x023082e7, 0x03b423ed, 0x0145e9b0, 0x000aa141}}}, + {X: Field{[10]uint32{0x00b6c187, 0x03a05fad, 0x0116dd77, 0x039b840b, 0x030dcbfe, 0x0278a91b, 0x0391a737, 0x0001c50a, 0x03b5d45d, 0x0016844c}}, Y: Field{[10]uint32{0x00d492e1, 0x03c0c14a, 0x0381f0f6, 0x03a3ce63, 0x0134c1c2, 0x00ce92df, 0x01c05171, 0x036710f2, 0x02aeafd6, 0x000bff65}}}, + {X: Field{[10]uint32{0x0163c8ac, 0x00e343d1, 0x0129309c, 0x0244c537, 0x01fff0f1, 0x0372c4ee, 0x02b5abe8, 0x006d04a7, 0x00498b70, 0x002dd28e}}, Y: Field{[10]uint32{0x00b9014f, 0x02599e67, 0x01186ffa, 0x00a3e10c, 0x01689be5, 0x0299de15, 0x00d6f7c5, 0x0083f619, 0x0257e50a, 0x00276113}}}, + {X: Field{[10]uint32{0x0389d26c, 0x032c8117, 0x024b752f, 0x01b2992a, 0x008e9a80, 0x02a54ab5, 0x011c3375, 0x0082d0ff, 0x00d04afb, 0x0030d727}}, Y: Field{[10]uint32{0x01a9c65a, 0x021de49e, 0x015a4b7e, 0x030fc1a7, 0x0248c765, 0x0278656c, 0x0279d841, 0x03bf2f7b, 0x02aa4a83, 0x002c1071}}}, + {X: Field{[10]uint32{0x00b82b96, 0x022b4df4, 0x025e8fea, 0x037b96db, 0x0311703d, 0x01e45075, 0x00b2af44, 0x01a2cfc1, 0x02587538, 0x0026a16a}}, Y: Field{[10]uint32{0x03d75d27, 0x0366549e, 0x005f2551, 0x0104efd2, 0x024e0620, 0x00cfb189, 0x00b80752, 0x03c0ef49, 0x00abaa16, 0x0011971c}}}, + {X: Field{[10]uint32{0x0086fe14, 0x03ac15d7, 0x0061bd12, 0x028f3e93, 0x01b3e825, 0x02f48fd2, 0x0183c14c, 0x03cf944b, 0x03cce051, 0x000fb1c6}}, Y: Field{[10]uint32{0x01915bdc, 0x017c17ba, 0x00007db3, 0x00ea6a54, 0x0245caba, 0x000cfc6a, 0x0294c5ab, 0x0295a954, 0x021de2da, 0x003c6630}}}, + {X: Field{[10]uint32{0x0359ae63, 0x0123c02c, 0x01b45aea, 0x01e4dcdf, 0x036b09e5, 0x00d6fccf, 0x0010e235, 0x007b7824, 0x0222939e, 0x003b872f}}, Y: Field{[10]uint32{0x021b90a5, 0x01e005e4, 0x0228d471, 0x0367794c, 0x01acecb6, 0x036adaa4, 0x037d2971, 0x0137d89f, 0x0026d444, 0x002fd810}}}, + {X: Field{[10]uint32{0x0346073e, 0x03c32659, 0x01ee78dc, 0x00aef222, 0x035a8cd9, 0x03fd3409, 0x007677d1, 0x00e98bbd, 0x03e171de, 0x003af2fc}}, Y: Field{[10]uint32{0x02f6ebe8, 0x00fd5d27, 0x03f9805c, 0x02428e08, 0x0195c6d8, 0x00b6b7ae, 0x014a3f30, 0x01c89024, 0x03c7bc9c, 0x0021e358}}}, + {X: Field{[10]uint32{0x039db797, 0x006cbf6a, 0x01ae56e8, 0x00c30243, 0x01b60664, 0x01654836, 0x03c57d52, 0x03bc56e1, 0x02e4ce72, 0x00393a4b}}, Y: Field{[10]uint32{0x015f944c, 0x03da5959, 0x00217ebe, 0x0232707e, 0x026d2183, 0x0161dd14, 0x01f47dbf, 0x029d4d56, 0x00654a03, 0x000feab1}}}, + {X: Field{[10]uint32{0x02ac1cc1, 0x010b7437, 0x03d635bc, 0x0319f078, 0x03cf275f, 0x00bac7d9, 0x00ef7431, 0x00ac0ded, 0x03588e29, 0x003f0739}}, Y: Field{[10]uint32{0x025186d7, 0x01e58f79, 0x019b42fe, 0x024b08e2, 0x02495bc3, 0x032bf2de, 0x03c791e8, 0x0366bdfd, 0x01bf44f7, 0x0005dade}}}, + {X: Field{[10]uint32{0x0294fc56, 0x031c15ae, 0x0091f9e9, 0x00eae5e9, 0x0149482b, 0x03257be1, 0x02a86b21, 0x01a9b1a4, 0x03ff179e, 0x003c7d6f}}, Y: Field{[10]uint32{0x0239e143, 0x009613e2, 0x0209313a, 0x00484318, 0x00670415, 0x030aab9c, 0x00f06205, 0x00ef0fed, 0x03a8a2cd, 0x000e2495}}}, + {X: Field{[10]uint32{0x03793eb9, 0x0113f5aa, 0x03323ac7, 0x00b9d230, 0x012c7aaa, 0x005d6850, 0x02bfef8d, 0x038006e9, 0x001461c3, 0x0026039d}}, Y: Field{[10]uint32{0x0331826c, 0x029d8946, 0x00259c7f, 0x00e98db1, 0x0134cbb3, 0x010a1801, 0x00dde28d, 0x017a0ecf, 0x01ae29e0, 0x001b8df7}}}, + {X: Field{[10]uint32{0x01b1c179, 0x0095fb68, 0x0207f66a, 0x029a9bde, 0x01adb7fa, 0x039b0655, 0x01986dc7, 0x01495c1c, 0x03f7686a, 0x003d4673}}, Y: Field{[10]uint32{0x0255a807, 0x03ae3c82, 0x0297f09e, 0x03b470c7, 0x03174ed4, 0x024ee140, 0x001d008a, 0x017261e5, 0x02b08c76, 0x000fa00f}}}, + {X: Field{[10]uint32{0x028f8061, 0x0389d56e, 0x00eee144, 0x00e443b7, 0x009011d9, 0x02f31730, 0x029bafd0, 0x03faa46e, 0x01ea3851, 0x000b7636}}, Y: Field{[10]uint32{0x01a52ae3, 0x03f81347, 0x00dc1365, 0x02a73a5c, 0x007adfde, 0x03bd4986, 0x00d058b4, 0x011a24df, 0x01afd422, 0x001851fc}}}, + {X: Field{[10]uint32{0x0054a4ae, 0x03f5e005, 0x01b35ede, 0x02335f42, 0x032854f8, 0x02a803d8, 0x02c0c415, 0x00d4dd1e, 0x02620948, 0x00218310}}, Y: Field{[10]uint32{0x033392f4, 0x039b8bb5, 0x01cef95c, 0x028a014d, 0x01d15378, 0x03bbc361, 0x03dfc561, 0x01b49639, 0x022a7d82, 0x0028a9e8}}}, + {X: Field{[10]uint32{0x02d732a6, 0x01eb42eb, 0x00b28ae9, 0x0240b259, 0x01e0697f, 0x0014d482, 0x007d4ea2, 0x00b0f426, 0x00ec17d8, 0x0039dac8}}, Y: Field{[10]uint32{0x03f54bf0, 0x02092499, 0x038f4ad1, 0x00df665f, 0x0132bc11, 0x0311fdc0, 0x037cec9c, 0x0184eff6, 0x00b685f6, 0x00325e11}}}, + {X: Field{[10]uint32{0x0110ab88, 0x0157bf42, 0x007a6504, 0x03378f41, 0x03718ec9, 0x00a905ed, 0x02862b16, 0x0296098d, 0x010d12fb, 0x00099cc7}}, Y: Field{[10]uint32{0x03542192, 0x029c7f26, 0x017143b1, 0x00251ee9, 0x028d2986, 0x001cdb5b, 0x022023bb, 0x0129841b, 0x03b30b46, 0x000f043b}}}, + {X: Field{[10]uint32{0x0224dcde, 0x0177e768, 0x00ea8986, 0x003a2cb6, 0x003fc457, 0x0340536c, 0x03e46f5e, 0x02046a1f, 0x007852db, 0x001432d2}}, Y: Field{[10]uint32{0x0339621d, 0x012f60e2, 0x006f95d5, 0x0234c0f4, 0x00c69db4, 0x00403914, 0x03572a0c, 0x02ba2623, 0x00a87937, 0x002ee122}}}, + {X: Field{[10]uint32{0x03b02a60, 0x03bac87f, 0x03a0e7eb, 0x01372ca2, 0x03064b0c, 0x02cfeb97, 0x00f9fb92, 0x03ff6d9c, 0x013b1d67, 0x003eda51}}, Y: Field{[10]uint32{0x00fd2c39, 0x00c0fba9, 0x024ca41e, 0x02bd1dcd, 0x00d1ba17, 0x0210483e, 0x03b13879, 0x0206d8fa, 0x033692d8, 0x002c3f7b}}}, + {X: Field{[10]uint32{0x03b249b4, 0x01dc1b62, 0x03b9938c, 0x00695b6e, 0x0103f406, 0x028fde13, 0x03aec4fe, 0x00089867, 0x000b4b72, 0x002a3c4a}}, Y: Field{[10]uint32{0x0239b8cc, 0x01c0fd1b, 0x019d4484, 0x02e6f07f, 0x03a97e12, 0x02f9ef8c, 0x032e5014, 0x01644d15, 0x0171ac50, 0x003aeced}}}, + {X: Field{[10]uint32{0x02acaa98, 0x012409db, 0x02bb878b, 0x0306f066, 0x02420f83, 0x00265805, 0x03cb3be3, 0x015e43c5, 0x0209df30, 0x0010a4b3}}, Y: Field{[10]uint32{0x00745d36, 0x02a89207, 0x022f9aa2, 0x016d9d1b, 0x00f32c8d, 0x01186ddb, 0x00f18733, 0x0074760b, 0x014cbf2b, 0x0006c536}}}, + {X: Field{[10]uint32{0x00c9464f, 0x029561e9, 0x0305b8c5, 0x00b25e5a, 0x038e1a06, 0x02720fe3, 0x03967504, 0x01d1fc2d, 0x0177f16f, 0x002b0904}}, Y: Field{[10]uint32{0x0176cf58, 0x028ed764, 0x0341d1cb, 0x0173bd72, 0x03266b69, 0x00c195a1, 0x004eb037, 0x034113b2, 0x01038261, 0x0037415d}}}, + {X: Field{[10]uint32{0x011823d3, 0x0349515d, 0x00e7dd7f, 0x026e1ac6, 0x0278e75c, 0x033dfe11, 0x019d640a, 0x00b695ff, 0x027326bf, 0x001a4bb2}}, Y: Field{[10]uint32{0x01c8e97f, 0x01ff74dc, 0x033478f1, 0x01413fc0, 0x02014c38, 0x02275876, 0x01573202, 0x029e2861, 0x0062548e, 0x0005f5b5}}}, + {X: Field{[10]uint32{0x0310e216, 0x00f316db, 0x01889e82, 0x03534bd6, 0x01d0e129, 0x0300b9bd, 0x02cf946e, 0x01404793, 0x024455ef, 0x003406c6}}, Y: Field{[10]uint32{0x03f91a0f, 0x015ab995, 0x03988345, 0x038ce237, 0x01807879, 0x01927d7f, 0x00f38f21, 0x00fb7755, 0x009e55e3, 0x00212936}}}, + {X: Field{[10]uint32{0x03fc1e9b, 0x0242f1e6, 0x030f12f8, 0x0308e4cc, 0x03fb0798, 0x023ca833, 0x0273a671, 0x02236024, 0x01f296a7, 0x0007ae98}}, Y: Field{[10]uint32{0x01dc9661, 0x01f3574b, 0x03266bc4, 0x03027b84, 0x03505da2, 0x01b12dab, 0x030a6a6b, 0x004118b7, 0x00cbe847, 0x00227ca6}}}, + {X: Field{[10]uint32{0x015980ea, 0x02da35d0, 0x015489c9, 0x032ac69b, 0x010a2300, 0x0087b730, 0x009fe1f7, 0x00c48519, 0x00da9460, 0x0009b7fe}}, Y: Field{[10]uint32{0x00004e60, 0x03685724, 0x037139d3, 0x017e5fd6, 0x033c4a0a, 0x03ee5523, 0x0365862e, 0x02ef7f0e, 0x022155e1, 0x00360992}}}, + {X: Field{[10]uint32{0x023fe676, 0x00ef03cc, 0x01047cee, 0x03729b89, 0x01a3116a, 0x020fa7ac, 0x035f64f2, 0x00608849, 0x0351425e, 0x0013990a}}, Y: Field{[10]uint32{0x01eafbb2, 0x01a288e2, 0x0174247a, 0x0283b49f, 0x0165b9c5, 0x030d7537, 0x011db0ab, 0x011a3125, 0x01659125, 0x003ca2df}}}, + {X: Field{[10]uint32{0x00f448a2, 0x034b869e, 0x02b21e94, 0x0033a709, 0x03b4f370, 0x033a91da, 0x027c97b4, 0x009f6cdf, 0x035cee9a, 0x000d52bf}}, Y: Field{[10]uint32{0x0130fcdb, 0x0027218a, 0x00dd5977, 0x0345b29e, 0x0299b4c4, 0x03da9e53, 0x012d0082, 0x01e7958e, 0x03d1624b, 0x00235a41}}}, + {X: Field{[10]uint32{0x03fbdc3d, 0x002e55a3, 0x039dcd57, 0x03b97d26, 0x01e76995, 0x002d97dd, 0x029f020c, 0x01a7fa3d, 0x00749493, 0x0014a1b4}}, Y: Field{[10]uint32{0x039703ab, 0x020779a1, 0x005e2027, 0x00fac5ac, 0x00e0a23d, 0x01f9bb80, 0x0062a452, 0x03103079, 0x02e53dd2, 0x000957bc}}}, + {X: Field{[10]uint32{0x0268add7, 0x0357d80c, 0x0121c266, 0x02e1bf78, 0x026bddee, 0x02a24d64, 0x00c8ff91, 0x008a666b, 0x0346c86e, 0x002e12a0}}, Y: Field{[10]uint32{0x0320789f, 0x02d00efb, 0x020a3f65, 0x034f62fa, 0x0329f5c8, 0x00791965, 0x0380c878, 0x0008e386, 0x028c79f4, 0x000c45e6}}}, + {X: Field{[10]uint32{0x0112bb94, 0x039e1cb7, 0x0067e0fd, 0x009e408b, 0x031b9dfc, 0x013f1470, 0x018b9f11, 0x02694089, 0x01e663fc, 0x00079ef5}}, Y: Field{[10]uint32{0x002c1b84, 0x01847c83, 0x00b6b927, 0x03f9b647, 0x0107acce, 0x01dfba2d, 0x0250f11e, 0x02c519f4, 0x01b40555, 0x0018a1ea}}}, + {X: Field{[10]uint32{0x03d2bc81, 0x01acab4d, 0x038da9c9, 0x0311535a, 0x029d28ac, 0x0399cb29, 0x01cfde6b, 0x027af9e9, 0x02213728, 0x001fb9a2}}, Y: Field{[10]uint32{0x0170c83e, 0x00f6e131, 0x01dcc8a5, 0x02fadeb3, 0x0303d7dc, 0x02c93808, 0x028aeee9, 0x030f2bca, 0x006400a6, 0x000fb0d0}}}, + {X: Field{[10]uint32{0x00ce570e, 0x0364533e, 0x0033f8d4, 0x01d59f0f, 0x02f3adef, 0x029ae9eb, 0x0107fddd, 0x00efeaa7, 0x010cf4be, 0x000a752c}}, Y: Field{[10]uint32{0x0058bf4c, 0x00e4b384, 0x031f2422, 0x00236fbd, 0x022ec79e, 0x031c1c36, 0x0103c252, 0x03d02903, 0x038596a4, 0x002da9d0}}}, + {X: Field{[10]uint32{0x028c359e, 0x0145b5cc, 0x039c9895, 0x00436989, 0x0350218f, 0x00b0fc14, 0x012a43b4, 0x03591f8c, 0x01d95c5c, 0x001e41f1}}, Y: Field{[10]uint32{0x00d6a625, 0x007261d9, 0x005d4c8f, 0x01e163e6, 0x00268883, 0x037bab06, 0x02bca52f, 0x00a86fca, 0x01e1ec06, 0x001b196a}}}, + {X: Field{[10]uint32{0x019d31b1, 0x0252e365, 0x030adfc9, 0x015714d0, 0x02e5bc2c, 0x031a3f3e, 0x0014fe7b, 0x02ef0cd8, 0x02aece11, 0x003310db}}, Y: Field{[10]uint32{0x029706a2, 0x032492fe, 0x02db3a50, 0x00e59b5f, 0x016b2bd5, 0x01814a61, 0x004e6089, 0x02fd9359, 0x01e7d6ff, 0x00058583}}}, + {X: Field{[10]uint32{0x010ec1f0, 0x006d8805, 0x01bea735, 0x002c052b, 0x021b5fb3, 0x008e77e8, 0x0259d556, 0x010806b9, 0x015d278d, 0x0033c08f}}, Y: Field{[10]uint32{0x00990741, 0x00553935, 0x005749e5, 0x02dc15f5, 0x0034c473, 0x015d736d, 0x031c26e7, 0x0301e9b9, 0x0395ffce, 0x0035801c}}}, + {X: Field{[10]uint32{0x03746a21, 0x00104979, 0x0238d71b, 0x015fa01e, 0x0112b6a2, 0x03151ed8, 0x0135b732, 0x03166f53, 0x0093f718, 0x000068a8}}, Y: Field{[10]uint32{0x00fd4c95, 0x024d51e6, 0x03919f8b, 0x02c1760f, 0x0216c0f8, 0x02491e5b, 0x02cadcc3, 0x028e6868, 0x0142652f, 0x00099d2d}}}, + {X: Field{[10]uint32{0x02b799d7, 0x02496dfb, 0x00215fac, 0x031c1aa1, 0x02f712e4, 0x00893feb, 0x018fdff0, 0x02b145d4, 0x002004b8, 0x0014d3b5}}, Y: Field{[10]uint32{0x03d82155, 0x00204636, 0x01439c07, 0x00bf4933, 0x00fa3078, 0x01db7eba, 0x03e497f5, 0x00667ee7, 0x00523ea6, 0x0000d796}}}, + {X: Field{[10]uint32{0x0200d08e, 0x03613052, 0x0138cf11, 0x01ace898, 0x03e9ba64, 0x03d2c115, 0x038ff188, 0x00c2b9b1, 0x00ad9e6f, 0x00234c79}}, Y: Field{[10]uint32{0x01d5feb2, 0x00e6f353, 0x02996478, 0x03352cc3, 0x03e4b0b1, 0x0112caa1, 0x01e36a48, 0x025b04e8, 0x03c19093, 0x003c36fb}}}, + {X: Field{[10]uint32{0x012b3412, 0x0057f48b, 0x0315954c, 0x027e1adc, 0x03c41843, 0x01bfdfdc, 0x02643791, 0x01016afd, 0x00520267, 0x00205d21}}, Y: Field{[10]uint32{0x00f19bbc, 0x03cfd768, 0x02ba7cb3, 0x03f4a02f, 0x029f6f95, 0x02587d6b, 0x00093899, 0x02d42c05, 0x009b0435, 0x0004f448}}}, + {X: Field{[10]uint32{0x0258aaa3, 0x008e11c1, 0x0212a6cc, 0x01c15fbf, 0x02458422, 0x037ce032, 0x024552be, 0x03a21401, 0x0372e604, 0x002f2a1f}}, Y: Field{[10]uint32{0x039e3d0e, 0x03a0aeb7, 0x0184b54e, 0x02355d4b, 0x03af2653, 0x01dae88f, 0x00123c62, 0x01c495cb, 0x02f528b7, 0x003b9422}}}, + {X: Field{[10]uint32{0x03cd3fb2, 0x016460df, 0x03c52e8c, 0x01184903, 0x01d527e5, 0x01b9e32e, 0x000365cd, 0x014bdb03, 0x02a9a196, 0x000378ae}}, Y: Field{[10]uint32{0x02d38905, 0x01deb287, 0x039bd733, 0x01042a73, 0x01865739, 0x01c59cb7, 0x035f2be5, 0x00cbf532, 0x00ef466c, 0x002bad06}}}, + {X: Field{[10]uint32{0x02acca9e, 0x0010e408, 0x01e5ac00, 0x02af1d99, 0x02556f6c, 0x001dc4d7, 0x00a0591c, 0x01e466d5, 0x01e914df, 0x001ee338}}, Y: Field{[10]uint32{0x00b40628, 0x02b96630, 0x007c2fb8, 0x02a7cff7, 0x00d06a96, 0x010ce295, 0x0100b720, 0x02b52430, 0x03f39cd8, 0x0029828f}}}, + {X: Field{[10]uint32{0x00a50e75, 0x0089e6fb, 0x03d1b040, 0x03f69ab0, 0x034d6d44, 0x00175d85, 0x03c80f82, 0x01d10c66, 0x017913fe, 0x00335c70}}, Y: Field{[10]uint32{0x01419064, 0x02fce31c, 0x01211967, 0x00494a2b, 0x01ae3858, 0x03d8ce4a, 0x001d1a93, 0x00e3407c, 0x03bfcf34, 0x0027c79c}}}, + {X: Field{[10]uint32{0x03ca8fe4, 0x0079151c, 0x02444f4f, 0x003845f6, 0x010619b7, 0x00205abc, 0x0236161d, 0x02370d2e, 0x002e32dc, 0x0010b2b4}}, Y: Field{[10]uint32{0x02e75568, 0x00a2a30d, 0x013c6651, 0x01fb7496, 0x0279e59d, 0x038440c6, 0x030823df, 0x0273fe21, 0x01345a25, 0x0025f2c8}}}, + {X: Field{[10]uint32{0x018ff8c7, 0x00f00f2e, 0x021f6d47, 0x015b22e7, 0x03483317, 0x00a877ea, 0x006644a6, 0x014b18a6, 0x01304f06, 0x00262a24}}, Y: Field{[10]uint32{0x01a824e8, 0x0190003a, 0x00733988, 0x02b5ecaa, 0x00b277e0, 0x00d2b521, 0x0249b3e5, 0x01a40e72, 0x02cecc50, 0x00304c3c}}}, + {X: Field{[10]uint32{0x038a4328, 0x00274bb7, 0x0345522c, 0x00a1af5e, 0x00d7a4a1, 0x021100ec, 0x03d39ff2, 0x018aa9ef, 0x00760847, 0x0008f117}}, Y: Field{[10]uint32{0x03303cde, 0x01e5522e, 0x0350af0d, 0x01d3fc30, 0x02d57cb2, 0x02c350f7, 0x0146dc7c, 0x01bd1f0f, 0x031795c4, 0x003d2adc}}}, + {X: Field{[10]uint32{0x0221d856, 0x0313431a, 0x02d343a6, 0x020c4236, 0x019e6a7b, 0x02f4df0d, 0x01416f2d, 0x0313cbd9, 0x0037d584, 0x0022dc00}}, Y: Field{[10]uint32{0x0365ca35, 0x03f1dab0, 0x00c2becd, 0x03d830c9, 0x025a172c, 0x0245a7e6, 0x00e7d866, 0x0019b53a, 0x00039ed0, 0x0020dc7b}}}, + {X: Field{[10]uint32{0x030f8a7b, 0x025f66a8, 0x00596cdb, 0x03a142ba, 0x00004f4a, 0x020fa060, 0x01d78f20, 0x01044728, 0x00a8d0fb, 0x00369859}}, Y: Field{[10]uint32{0x029a342d, 0x02e9208a, 0x0307fc7a, 0x02871e20, 0x011cc0b5, 0x00304440, 0x03caf4e1, 0x013c5e9d, 0x0063717e, 0x0003e6a1}}}, + {X: Field{[10]uint32{0x035fd6b7, 0x00b51f7a, 0x010fa220, 0x038a7980, 0x02c45924, 0x01b6df5f, 0x029b9c20, 0x02953464, 0x0165a9d1, 0x00127cdf}}, Y: Field{[10]uint32{0x006aa51e, 0x01df79da, 0x03a94ca6, 0x0256c6fb, 0x0201e648, 0x00d03050, 0x010dbba9, 0x0098a5ef, 0x038528f6, 0x003e6e6d}}}, + {X: Field{[10]uint32{0x036efa10, 0x03a714f8, 0x037ccb38, 0x00dcc219, 0x0312d808, 0x0286262a, 0x0256b78b, 0x01668006, 0x0088e268, 0x0021d57c}}, Y: Field{[10]uint32{0x02f7e478, 0x037dd7db, 0x029a9de5, 0x02a7cbda, 0x02434906, 0x0157e0fd, 0x01b4768f, 0x01ea2085, 0x013d1eec, 0x001759c0}}}, + {X: Field{[10]uint32{0x0209045c, 0x03fdddf1, 0x00534069, 0x00d2849f, 0x01a4e6d1, 0x028d7820, 0x03550fc5, 0x029b761c, 0x0396b7ab, 0x000d4c85}}, Y: Field{[10]uint32{0x00a1e832, 0x004059fc, 0x028ba6fe, 0x0072d277, 0x03c5c830, 0x03c7844c, 0x017a6804, 0x00fd3bc6, 0x0343efa9, 0x0011ffc3}}}, + {X: Field{[10]uint32{0x012559b3, 0x03a6b398, 0x0342156f, 0x03b37cac, 0x0283479f, 0x00a08ed0, 0x03ab5ea0, 0x034aef9d, 0x012b644b, 0x000eafb7}}, Y: Field{[10]uint32{0x01e32b06, 0x0216c879, 0x0008f179, 0x03e8cc39, 0x0287bbcc, 0x0078cda6, 0x01824ba1, 0x02e0604c, 0x008e6c13, 0x00109a6c}}}, + {X: Field{[10]uint32{0x00956de8, 0x0263ff1f, 0x03f775be, 0x033249e1, 0x03c14b62, 0x038c9df5, 0x003dc530, 0x0118aaa0, 0x02a22c23, 0x0038c044}}, Y: Field{[10]uint32{0x0098da40, 0x02b4da52, 0x0368a8d2, 0x01b761a4, 0x0199d90f, 0x024f9d60, 0x01f4e0ff, 0x003a2dea, 0x03d0dbb1, 0x003431f8}}}, + {X: Field{[10]uint32{0x033cd06b, 0x01cfd6e5, 0x03762f10, 0x01efc274, 0x03bcdf49, 0x02496440, 0x0147f6cb, 0x012d3cc3, 0x0058439c, 0x00018942}}, Y: Field{[10]uint32{0x0075328e, 0x01adc854, 0x0102ecd2, 0x00c0bf32, 0x0387e4c9, 0x02c390e0, 0x004407af, 0x01096156, 0x01e484ce, 0x000d0dfd}}}, + {X: Field{[10]uint32{0x00f826ea, 0x00e6b5a2, 0x0209bdcb, 0x0143ec5b, 0x0366838d, 0x003a4f8f, 0x0104bc39, 0x0133e93a, 0x0085b8c9, 0x001deb51}}, Y: Field{[10]uint32{0x006001d4, 0x02e6efe0, 0x02b736b0, 0x02d5216e, 0x0334c2ec, 0x0143b0f0, 0x03c84447, 0x021e784d, 0x005a9798, 0x00136f14}}}, + {X: Field{[10]uint32{0x02c0b7db, 0x01e4664e, 0x0066cad5, 0x033eb104, 0x003852b8, 0x02a399f9, 0x01ce3377, 0x018076e7, 0x0292e413, 0x0017734f}}, Y: Field{[10]uint32{0x00e997c9, 0x01d532e9, 0x03f85417, 0x034358d9, 0x0336996e, 0x0309e3df, 0x02760ede, 0x02d0e8c1, 0x008135ef, 0x002b3334}}}, + {X: Field{[10]uint32{0x02ff788d, 0x0309fd72, 0x01737fc8, 0x021457d6, 0x01e65ca3, 0x02e4c614, 0x01d2e6b9, 0x00147f10, 0x023badce, 0x000e8999}}, Y: Field{[10]uint32{0x00abc2bb, 0x017e26e4, 0x00113bab, 0x02e0222a, 0x009b9db0, 0x01c9cb2d, 0x030110e0, 0x03611801, 0x02abaf01, 0x000b591f}}}, + {X: Field{[10]uint32{0x00b1aec0, 0x02c025b9, 0x03ac4b8b, 0x00081419, 0x034e3b0f, 0x000900c7, 0x02fe9c2c, 0x0263f1c4, 0x02b951dc, 0x003d5f33}}, Y: Field{[10]uint32{0x03a1ea25, 0x037cc06d, 0x03bca9c4, 0x01b50e29, 0x03ddb2c6, 0x020be67e, 0x03514557, 0x03afb429, 0x03eb7a8a, 0x001a5824}}}, + {X: Field{[10]uint32{0x029b4a0c, 0x022501af, 0x029b0935, 0x00e8b6ee, 0x02df47c8, 0x0123334d, 0x01bd46c9, 0x01b8502f, 0x0378bca0, 0x002a2691}}, Y: Field{[10]uint32{0x02f366cf, 0x03e7a85b, 0x030d1d23, 0x03b7567c, 0x02939d69, 0x039e079b, 0x0398e2e4, 0x0098b48a, 0x01d69d08, 0x003d0893}}}, + {X: Field{[10]uint32{0x00b962a9, 0x00196e04, 0x01d72adf, 0x00bee8a5, 0x036a3be9, 0x03fc129b, 0x0063f4c7, 0x02091cad, 0x038184fe, 0x00191ce0}}, Y: Field{[10]uint32{0x02ce32de, 0x00dc2680, 0x010bbc97, 0x03e8c900, 0x009ba164, 0x01600134, 0x029d58dd, 0x01ba4d3f, 0x00c0d09f, 0x002f3440}}}, + {X: Field{[10]uint32{0x02dc7774, 0x033fea8e, 0x026866c7, 0x0132bf57, 0x02f7bcaa, 0x027e1c9e, 0x00196bad, 0x0078a0b8, 0x02382126, 0x00129a0e}}, Y: Field{[10]uint32{0x014ff3b0, 0x024cde25, 0x00f202cc, 0x01c6c6e5, 0x01913af3, 0x017d03fb, 0x0337f0b1, 0x026a90e6, 0x00d0ec3d, 0x002d6ae9}}}, + {X: Field{[10]uint32{0x035cb3c7, 0x030b96ae, 0x0296f53c, 0x011b9080, 0x0053fee0, 0x023b8585, 0x02cfd9eb, 0x0333510d, 0x016efdae, 0x00040978}}, Y: Field{[10]uint32{0x00c48f3b, 0x0051003c, 0x011c2253, 0x0360ef58, 0x030704e4, 0x023ce3dc, 0x019b8075, 0x024a8f85, 0x016b67ce, 0x003e01ae}}}, + {X: Field{[10]uint32{0x036650d2, 0x038ab1b6, 0x000e4552, 0x02cd6821, 0x0360039c, 0x03d9ddf1, 0x022217b7, 0x014d4dbf, 0x0009675a, 0x00185276}}, Y: Field{[10]uint32{0x01a96ca9, 0x0151416c, 0x03a11681, 0x03ca78e5, 0x02c72f07, 0x0344bde1, 0x009b03fb, 0x0022a93d, 0x036c9a98, 0x00392b98}}}, + {X: Field{[10]uint32{0x03fec47f, 0x00507530, 0x03047d8c, 0x036d3581, 0x032fff3e, 0x02ec0f74, 0x02e83274, 0x020d0953, 0x01124388, 0x0002e890}}, Y: Field{[10]uint32{0x02d5c35e, 0x0190376e, 0x0366d0aa, 0x025e7430, 0x013717e9, 0x034a3228, 0x026a18de, 0x03f374e3, 0x012329c3, 0x00229afc}}}, + {X: Field{[10]uint32{0x0056a961, 0x001a239e, 0x00993219, 0x014252b5, 0x0035c005, 0x00e2bd54, 0x03aa2595, 0x02b1fa76, 0x00963c7c, 0x0030837c}}, Y: Field{[10]uint32{0x0245d40a, 0x0120d7ec, 0x0033bad8, 0x010aba9f, 0x00fb4f2c, 0x0296242e, 0x038dd8d6, 0x01eba616, 0x015d16cf, 0x001247a6}}}, + {X: Field{[10]uint32{0x03af0c50, 0x01912753, 0x032a50c7, 0x022c6d32, 0x01aac9f3, 0x00f74bb0, 0x02f3dcb9, 0x0135cb67, 0x00ca4dbb, 0x001bd4f6}}, Y: Field{[10]uint32{0x027ae24a, 0x0221a1d3, 0x02e12f78, 0x030c9f2b, 0x0077bbec, 0x0219d4f0, 0x0156de24, 0x02fadc90, 0x002df449, 0x0019e128}}}, + {X: Field{[10]uint32{0x037bdda3, 0x005dc49c, 0x006b3513, 0x003e3b2a, 0x036364ae, 0x0211d5fa, 0x008a0461, 0x023d8147, 0x00bd71a0, 0x00395f9e}}, Y: Field{[10]uint32{0x00385342, 0x025db43d, 0x00e8f116, 0x018ca3b0, 0x0231a1d2, 0x029dd553, 0x0116c82d, 0x017d995c, 0x007e8a53, 0x0028188f}}}, + {X: Field{[10]uint32{0x03ab099a, 0x03a5f13d, 0x03fff285, 0x03869b97, 0x037853e8, 0x01f2d4e9, 0x00abd0ea, 0x025aae78, 0x0329aad4, 0x003d4bdb}}, Y: Field{[10]uint32{0x019d55a3, 0x02588115, 0x028e0b71, 0x00706629, 0x01c36151, 0x01bca657, 0x01de4b76, 0x017a062d, 0x01fc6d5c, 0x000f7df0}}}, + {X: Field{[10]uint32{0x02fb0dc3, 0x020da9cf, 0x01fe259f, 0x02362f59, 0x02ec5cf0, 0x00cf6721, 0x0326268b, 0x01b425be, 0x01fb5c0a, 0x00369d3d}}, Y: Field{[10]uint32{0x00a62c47, 0x0281ea52, 0x03f3effe, 0x00c4d508, 0x018d0ea0, 0x00a947b7, 0x031c8164, 0x00a11df8, 0x0189de5e, 0x001f943a}}}, + {X: Field{[10]uint32{0x0051f4ff, 0x00de9938, 0x02ed8a23, 0x00533f4f, 0x0035d144, 0x02a74b7a, 0x0341d359, 0x01485c3c, 0x02a87bd4, 0x000a8b26}}, Y: Field{[10]uint32{0x0248a1ce, 0x01b1bbe5, 0x00bf8a46, 0x00856746, 0x01496882, 0x022bb27e, 0x01fd7e5d, 0x017da280, 0x01eb9933, 0x002fe7bf}}}, + {X: Field{[10]uint32{0x02022266, 0x02b58ca4, 0x0123b492, 0x03bc7aff, 0x037d13bc, 0x001f8b3c, 0x010da7db, 0x014c531b, 0x00b191dc, 0x000a8d10}}, Y: Field{[10]uint32{0x02ae2b40, 0x0398b4f8, 0x02fc6dd1, 0x03c8b0d3, 0x03e4c1e9, 0x021c1e51, 0x02fda24e, 0x028080bc, 0x00f5c993, 0x002f7b09}}}, + {X: Field{[10]uint32{0x010942a2, 0x01004278, 0x0081c287, 0x03ab54f4, 0x000e0acc, 0x01551140, 0x0136e8bd, 0x00dab7eb, 0x01743d1d, 0x0028ea6f}}, Y: Field{[10]uint32{0x00794ca0, 0x02ccd3fb, 0x0016b66d, 0x0013fdd7, 0x022cb711, 0x0286d305, 0x01ab1fce, 0x039f637b, 0x02cff8ca, 0x00330cf7}}}, + {X: Field{[10]uint32{0x00804950, 0x0254f462, 0x0170d308, 0x02b0ac23, 0x0380db7e, 0x01fd361f, 0x03dc7247, 0x03c84824, 0x008f70a2, 0x0016e0f5}}, Y: Field{[10]uint32{0x0248b545, 0x0352c510, 0x039c3030, 0x02d1fb54, 0x01982ecd, 0x0243f313, 0x01368d76, 0x019b0b84, 0x0088a10c, 0x003de301}}}, + {X: Field{[10]uint32{0x03e9736a, 0x0035dec2, 0x02c29414, 0x0258f1bf, 0x02d901ab, 0x021c76e3, 0x039e210a, 0x01288800, 0x02a56e3e, 0x003756d1}}, Y: Field{[10]uint32{0x0021d46b, 0x011f04f5, 0x008ceae6, 0x03be1e61, 0x009e7136, 0x0334d77e, 0x0052268c, 0x0116b0d7, 0x02baebdd, 0x00366ddb}}}, + {X: Field{[10]uint32{0x0361a6d3, 0x031b72cf, 0x00f6462c, 0x007c0de6, 0x03d1ff78, 0x00885025, 0x036bc5b2, 0x01849d88, 0x035a2548, 0x000bdd36}}, Y: Field{[10]uint32{0x03149c1c, 0x020f0254, 0x0248eca9, 0x011eb224, 0x03646471, 0x00c0536c, 0x01b868ea, 0x01b4bea4, 0x01ed256f, 0x002db58d}}}, + {X: Field{[10]uint32{0x03ab2e09, 0x016377c8, 0x030bec50, 0x009b7f92, 0x02119bff, 0x0378722e, 0x0240b8bf, 0x024e6961, 0x00c41f7c, 0x000cab70}}, Y: Field{[10]uint32{0x0146ae3f, 0x02ec374e, 0x0229366b, 0x020ce8d6, 0x0340beed, 0x02807645, 0x017772d2, 0x02ca5f5f, 0x02487f0b, 0x0033cc5c}}}, + {X: Field{[10]uint32{0x03c6cdce, 0x027cc061, 0x02ae936f, 0x02d6172c, 0x014e336c, 0x01d301fb, 0x02a152ed, 0x00b6a09c, 0x00a70017, 0x0013f94f}}, Y: Field{[10]uint32{0x01e3a8ce, 0x011ba620, 0x0084327e, 0x01c162e1, 0x02baf428, 0x00595e31, 0x00c29869, 0x00705887, 0x01c4bd71, 0x00207db4}}}, + {X: Field{[10]uint32{0x03b2569f, 0x02152367, 0x018ae63f, 0x001974f9, 0x023b08dc, 0x0137fb66, 0x02f316eb, 0x028a99c0, 0x00f5577f, 0x0018064d}}, Y: Field{[10]uint32{0x00f714cc, 0x001d340c, 0x03954362, 0x0243dab3, 0x0255e196, 0x00ec7c77, 0x0396f689, 0x03f5fed7, 0x00824360, 0x001b7df6}}}, + {X: Field{[10]uint32{0x0279d321, 0x00f03dea, 0x03129817, 0x0319e7e8, 0x03e1bec3, 0x03a7768b, 0x0092ee52, 0x0201b191, 0x03088ff4, 0x0001e769}}, Y: Field{[10]uint32{0x017f9a47, 0x02afa2c0, 0x0047ff90, 0x012ec382, 0x0344be73, 0x0348156b, 0x0167e8ab, 0x022128d4, 0x022976f2, 0x000ac7b2}}}, + {X: Field{[10]uint32{0x01262974, 0x0227739e, 0x011867e5, 0x032360e6, 0x015b8d4f, 0x02a2fda4, 0x0208b51c, 0x00a672f0, 0x0209c39f, 0x00180ae0}}, Y: Field{[10]uint32{0x027f5555, 0x03367695, 0x035f2267, 0x0016be43, 0x00a5ed1f, 0x01e46976, 0x02c43f94, 0x032a0daa, 0x00da05d7, 0x0003e2db}}}, + {X: Field{[10]uint32{0x020e53d1, 0x0144547f, 0x00232752, 0x001703e8, 0x010ff14c, 0x01399920, 0x02991e48, 0x0229b55c, 0x0368868a, 0x0015e93c}}, Y: Field{[10]uint32{0x023a0c6d, 0x03e95e04, 0x01a9efa1, 0x028ea8f9, 0x0353d52e, 0x03a593cb, 0x00e17869, 0x026e0cda, 0x007c5bc2, 0x00035b32}}}, + {X: Field{[10]uint32{0x0206db2a, 0x0122de1a, 0x02b54435, 0x00f96f4c, 0x02459906, 0x02c04b35, 0x004c5ae2, 0x03c441c3, 0x00f0ae9d, 0x0013e6d2}}, Y: Field{[10]uint32{0x015ea016, 0x03b7b5f7, 0x02a157bd, 0x0086fc62, 0x02980cd6, 0x01bf90ab, 0x03563ebf, 0x031e3d9b, 0x00fe3caf, 0x003569e8}}}, + {X: Field{[10]uint32{0x005e7375, 0x014ed7db, 0x007085a0, 0x02b4d778, 0x01e1910a, 0x022ed98f, 0x02615893, 0x00d27d11, 0x03084b11, 0x00391a94}}, Y: Field{[10]uint32{0x01183ce9, 0x029f4cb8, 0x03c479e1, 0x00afe9af, 0x02cb8c3d, 0x03c1eb38, 0x03923be9, 0x018cb7ef, 0x02889583, 0x003691b6}}}, + {X: Field{[10]uint32{0x01c071ea, 0x022e5880, 0x0267415c, 0x0358ad82, 0x00d62f2a, 0x03249410, 0x03e64de3, 0x005878c8, 0x0366b94b, 0x000d90f5}}, Y: Field{[10]uint32{0x0316fa98, 0x03c6d6e7, 0x01a967af, 0x013e0f4d, 0x0080835d, 0x00083db5, 0x029dcffa, 0x0278176c, 0x02f11f2b, 0x003ebda6}}}, + {X: Field{[10]uint32{0x03497dca, 0x03c6c6ef, 0x01478f6f, 0x01edfe8c, 0x00e6bea5, 0x01138177, 0x03e1b485, 0x0185486e, 0x02940c02, 0x00259da5}}, Y: Field{[10]uint32{0x03e30b03, 0x0209c0ac, 0x0293c407, 0x004b1d64, 0x038210fd, 0x0365f023, 0x033b033b, 0x02b85259, 0x02fd7d0d, 0x0013ad69}}}, + {X: Field{[10]uint32{0x01a24d07, 0x019f9996, 0x00ef65c8, 0x029bd04d, 0x007f80fd, 0x0104438a, 0x03e0ff4b, 0x0264c626, 0x01ef2c47, 0x0000b907}}, Y: Field{[10]uint32{0x0074c313, 0x0214c772, 0x01f52015, 0x03045d10, 0x0269bde3, 0x015bfece, 0x03a1f50e, 0x022c4a8e, 0x017bb838, 0x0009a853}}}, + {X: Field{[10]uint32{0x0003c29b, 0x00a1316b, 0x0037db7f, 0x03c2152a, 0x00db94cb, 0x007ad8f9, 0x004fbf77, 0x03f83a69, 0x001af6ea, 0x003ce765}}, Y: Field{[10]uint32{0x00bd7b73, 0x018b9ce3, 0x00183d8b, 0x00d300ec, 0x0072cd59, 0x001f812c, 0x001f8b55, 0x01344889, 0x03700dac, 0x0007ffb5}}}, + {X: Field{[10]uint32{0x00136419, 0x01d91254, 0x03d1c595, 0x0114a005, 0x011cdac0, 0x00b64189, 0x011f8dcc, 0x02fba824, 0x01344576, 0x00242403}}, Y: Field{[10]uint32{0x00161ad6, 0x00255a92, 0x01666b0c, 0x039bacd3, 0x001457ce, 0x028acb17, 0x00444980, 0x02040b68, 0x03bb2a33, 0x001834e2}}}, + {X: Field{[10]uint32{0x00ac2e06, 0x006944f6, 0x0109ee3e, 0x038e5ed9, 0x0244a523, 0x0074ade0, 0x0344226f, 0x03d298b9, 0x02271007, 0x000e9791}}, Y: Field{[10]uint32{0x00202449, 0x0089aeba, 0x01d90f75, 0x03f95ede, 0x010bcdfc, 0x029057cd, 0x016dee2f, 0x03f0fc09, 0x03c1074c, 0x00143c07}}}, + {X: Field{[10]uint32{0x03e24355, 0x02db0fc4, 0x02b87a06, 0x0162a3c3, 0x02b13ac2, 0x01bdb91a, 0x025492ef, 0x0047907a, 0x0256f6d7, 0x003d9ba8}}, Y: Field{[10]uint32{0x02243841, 0x0000c1c9, 0x010b57fa, 0x0281bcff, 0x028f32a2, 0x0303db4a, 0x02c24014, 0x03a9b21f, 0x00470980, 0x003ee287}}}, + {X: Field{[10]uint32{0x03038fa0, 0x009602f4, 0x022a85c6, 0x0216accd, 0x00c946a4, 0x031d0db4, 0x036d4ed6, 0x01b333ee, 0x012019a1, 0x0032b681}}, Y: Field{[10]uint32{0x03d32ae6, 0x03cb4841, 0x032032b5, 0x01c42bc3, 0x03421de9, 0x006b9ce4, 0x03069639, 0x010c92b1, 0x000a3480, 0x00389265}}}, + {X: Field{[10]uint32{0x03759cf1, 0x039d7eb2, 0x037122c4, 0x004d70b6, 0x02ce2084, 0x03760c2c, 0x03d51929, 0x01ca565a, 0x035e820b, 0x00345bd6}}, Y: Field{[10]uint32{0x02448ed8, 0x038de11a, 0x0349ce61, 0x021788a1, 0x036ecdd5, 0x01781451, 0x01363807, 0x02f35f77, 0x0084cfbe, 0x001c3b6c}}}, + {X: Field{[10]uint32{0x01f71535, 0x01444d35, 0x009a4847, 0x03275365, 0x013dc31a, 0x03199bcc, 0x02e51498, 0x02b8372d, 0x028ddc6b, 0x002ef333}}, Y: Field{[10]uint32{0x03f91eed, 0x03396b48, 0x03a6ea23, 0x01a02627, 0x01c8941f, 0x0239eefd, 0x031b4796, 0x024af949, 0x02fc63ff, 0x001369dc}}}, + {X: Field{[10]uint32{0x014243fe, 0x001854bb, 0x032915f6, 0x03e3a0da, 0x02e7d5d2, 0x01a087ae, 0x01e940d0, 0x01d710c9, 0x00f5cd8b, 0x001457ca}}, Y: Field{[10]uint32{0x03668b47, 0x00bc7118, 0x032a24ba, 0x0209bdf6, 0x00e1855a, 0x0208a496, 0x0209f466, 0x02e3f852, 0x03ccf5d2, 0x00284c50}}}, + {X: Field{[10]uint32{0x01233837, 0x03b61148, 0x03f79df6, 0x02d6e3f5, 0x0068d356, 0x034e049e, 0x011ed6f9, 0x0118b61a, 0x02aea78c, 0x002f4bd1}}, Y: Field{[10]uint32{0x01c4af11, 0x02f5f21e, 0x00324b92, 0x02b98aae, 0x0284ddd9, 0x035f5bf8, 0x0332f70e, 0x0200fdfa, 0x02d3f3cc, 0x0023d917}}}, + {X: Field{[10]uint32{0x01e37dfa, 0x01f5977e, 0x0313347d, 0x034e4b83, 0x0004f8d7, 0x00046914, 0x0210b512, 0x008489a7, 0x013cc3d3, 0x00215dbc}}, Y: Field{[10]uint32{0x028b1a4f, 0x027640fd, 0x021958d1, 0x00a116d9, 0x0386ff90, 0x027bb7a2, 0x009eb8c1, 0x0384c48c, 0x00483fa0, 0x003eefc8}}}, + {X: Field{[10]uint32{0x0309db4a, 0x02327ce0, 0x0341a23b, 0x03cb4c73, 0x01763a83, 0x03c8d87f, 0x03f262ab, 0x01391f5c, 0x02918fdf, 0x001c2f87}}, Y: Field{[10]uint32{0x028bc573, 0x00fdc210, 0x0318829f, 0x032770fb, 0x03a1897a, 0x0224a50e, 0x013fa488, 0x01bbd030, 0x0175e424, 0x0020be01}}}, + {X: Field{[10]uint32{0x0341180f, 0x0193a452, 0x02361c80, 0x026848c4, 0x01017352, 0x028d4ebe, 0x0354a461, 0x01ad4e6f, 0x013d1d58, 0x002ee282}}, Y: Field{[10]uint32{0x03478269, 0x00d3616b, 0x0165e723, 0x01034887, 0x02287075, 0x033d779f, 0x028d66bc, 0x02894735, 0x02d78456, 0x00118383}}}, + {X: Field{[10]uint32{0x005c2e69, 0x0128492f, 0x018606dc, 0x0211d530, 0x027b976a, 0x001c7e87, 0x03306287, 0x006533d2, 0x024f34d9, 0x001e05eb}}, Y: Field{[10]uint32{0x00d55cbc, 0x02f9774b, 0x02d7b481, 0x00303e12, 0x006afe1c, 0x013e2cd0, 0x02ed346e, 0x02c6d6f1, 0x0056c4e3, 0x00097d3b}}}, + {X: Field{[10]uint32{0x0366abcc, 0x03fb446f, 0x009a5bcc, 0x03c49cd3, 0x03e72af5, 0x00396ed7, 0x02ed8e2a, 0x0167e9bf, 0x00dc411f, 0x002171d8}}, Y: Field{[10]uint32{0x03cb8cc4, 0x019ac9b2, 0x028ad106, 0x00399403, 0x0389a891, 0x00e99f96, 0x00f12482, 0x0271c6fc, 0x01b0b57c, 0x0024960f}}}, + {X: Field{[10]uint32{0x015086c3, 0x0206af17, 0x0179ad4c, 0x008d1faa, 0x03d9ee71, 0x0079cdde, 0x00739e3b, 0x01d8bfcb, 0x01354d9d, 0x00083603}}, Y: Field{[10]uint32{0x02f0efe5, 0x01077dd8, 0x01cf7489, 0x01ac6c89, 0x010ef6ed, 0x03c4d46d, 0x0123b7f1, 0x0299d7a0, 0x017b8017, 0x001b8647}}}, + {X: Field{[10]uint32{0x01ba5657, 0x0370f83f, 0x00fde086, 0x03f25c24, 0x00ec26ce, 0x004a2601, 0x036d9c8d, 0x0312c197, 0x022d43f2, 0x000cc1a4}}, Y: Field{[10]uint32{0x03c7efc4, 0x01970c04, 0x00d881b8, 0x01067e1f, 0x0186f0e9, 0x02871019, 0x039f76ef, 0x035eb1c1, 0x009fc93d, 0x00262a33}}}, + {X: Field{[10]uint32{0x032fb001, 0x0379b1ce, 0x01fc18ac, 0x02b02c21, 0x018a1b9a, 0x02488da0, 0x00f77033, 0x01fc4910, 0x019754d3, 0x002cd71d}}, Y: Field{[10]uint32{0x03cd649d, 0x03dadd44, 0x01660a7a, 0x02d1be4f, 0x022ea789, 0x037d65a3, 0x0058ffb0, 0x02121657, 0x039069b0, 0x00001212}}}, + {X: Field{[10]uint32{0x034e1f33, 0x03c25d51, 0x0158786e, 0x03e3a43f, 0x0205c647, 0x01648ac6, 0x009d0104, 0x030c0db3, 0x03537f8b, 0x0026f506}}, Y: Field{[10]uint32{0x030274ac, 0x0340ef2f, 0x013aec25, 0x01da3480, 0x018b8667, 0x03fce269, 0x0086bfe1, 0x03849769, 0x03f655ec, 0x001642be}}}, + {X: Field{[10]uint32{0x001ded42, 0x023c5815, 0x0020e527, 0x00e9cd65, 0x036950d9, 0x00e38372, 0x0289703a, 0x02bbc2f3, 0x032ca9b3, 0x000a8e99}}, Y: Field{[10]uint32{0x02693d8e, 0x03cee270, 0x02a5fc6a, 0x0033e22b, 0x02c95f85, 0x02d8aeac, 0x008ebef6, 0x00e0f6e4, 0x00b613f3, 0x00130ea5}}}, + {X: Field{[10]uint32{0x00f74d3d, 0x0250e096, 0x01bf6937, 0x017c5b71, 0x00c8db94, 0x014e01b7, 0x01f38003, 0x0253e353, 0x02f20a2d, 0x000c6e9a}}, Y: Field{[10]uint32{0x0329df5a, 0x008e3308, 0x03f4a236, 0x020b1509, 0x01fc1e6a, 0x0180d131, 0x01d915ef, 0x03ac72e9, 0x0102b290, 0x002b4677}}}, + {X: Field{[10]uint32{0x00869720, 0x004a54af, 0x01bb05bb, 0x0147a712, 0x00587c02, 0x02fd12a6, 0x030f9b8e, 0x0053c177, 0x01bd74b0, 0x003e8866}}, Y: Field{[10]uint32{0x0163f45e, 0x00b484ec, 0x0231a66d, 0x03bac7d5, 0x03041ab6, 0x018387a6, 0x035c4838, 0x03d7d2c3, 0x017d6efd, 0x0010ca24}}}, + {X: Field{[10]uint32{0x03e22d52, 0x011a6a62, 0x0199f30a, 0x000b8eff, 0x0108aaac, 0x024aad8f, 0x00f28476, 0x00f03d73, 0x0046c7f5, 0x00105ee4}}, Y: Field{[10]uint32{0x023b82c0, 0x0175a921, 0x008e0d49, 0x02a0ef6c, 0x007aede9, 0x005c1b80, 0x036eae69, 0x025e237f, 0x02655f30, 0x001e3057}}}, + {X: Field{[10]uint32{0x0318bc2a, 0x0390f55b, 0x00964f33, 0x026005c5, 0x026158f4, 0x01e9a7fe, 0x00e6eca6, 0x007f6228, 0x01f247d5, 0x0015ab24}}, Y: Field{[10]uint32{0x010680c7, 0x02c699b7, 0x02740c54, 0x02b89b9e, 0x00429bee, 0x01ee0719, 0x03c518b3, 0x00692dc5, 0x015c9e1b, 0x000d46df}}}, + {X: Field{[10]uint32{0x03215f8a, 0x001f594d, 0x00250685, 0x01c04324, 0x01e164ae, 0x002eafb2, 0x02d835aa, 0x01fbcc54, 0x02f88330, 0x002bae8c}}, Y: Field{[10]uint32{0x002c4e21, 0x038aba16, 0x0040fdcd, 0x031a9073, 0x037ce7e3, 0x0333be10, 0x03165577, 0x017cb9bf, 0x013935cf, 0x00235d1f}}}, + {X: Field{[10]uint32{0x01db5813, 0x035a0748, 0x03e63d47, 0x03ac3936, 0x0379ee10, 0x015bb411, 0x03d6bcc2, 0x00325da4, 0x02199af0, 0x0010b1ec}}, Y: Field{[10]uint32{0x0219378f, 0x012196ec, 0x03c75c3c, 0x01747f3d, 0x02a5fd87, 0x0225610c, 0x0244a4df, 0x031f2cb3, 0x03081fb1, 0x002857ed}}}, + {X: Field{[10]uint32{0x024e5d98, 0x02845b68, 0x01e2c36c, 0x0288270e, 0x0225e0db, 0x006f357f, 0x03fe19d0, 0x0196a222, 0x0297ecf3, 0x0010cdec}}, Y: Field{[10]uint32{0x0242b7ad, 0x01056ec8, 0x01722915, 0x022f2736, 0x0328d1ef, 0x0381b6dc, 0x00833485, 0x007b6f2f, 0x03abc654, 0x001271c8}}}, + {X: Field{[10]uint32{0x03f857bf, 0x0066876d, 0x02f84a25, 0x00949f93, 0x00aeefbf, 0x02e12c94, 0x028af0ce, 0x024cb3a5, 0x00761481, 0x00062663}}, Y: Field{[10]uint32{0x02c97fa2, 0x03204a09, 0x01ba39b7, 0x015342fe, 0x00911330, 0x03cca274, 0x02c9ae77, 0x02110d72, 0x00856451, 0x001157af}}}, + {X: Field{[10]uint32{0x02a49b2b, 0x02e256c1, 0x0188e69c, 0x01907995, 0x0387767b, 0x02ff62d3, 0x010516f1, 0x015ca816, 0x0320fa24, 0x001931d8}}, Y: Field{[10]uint32{0x00b9603f, 0x03fa33dd, 0x01395d39, 0x022a1e67, 0x0178366c, 0x01a097b0, 0x03ae76f8, 0x01425680, 0x02a5c479, 0x00028e68}}}, + {X: Field{[10]uint32{0x012b0ad7, 0x034efd20, 0x004e1ebb, 0x028ceced, 0x02dea917, 0x031bc4a9, 0x03a5f2d3, 0x02e1f296, 0x0005e35e, 0x0010595d}}, Y: Field{[10]uint32{0x01ff815d, 0x02375be5, 0x034916b6, 0x0170825a, 0x034d0ed7, 0x02b732d4, 0x037fe787, 0x0114ad15, 0x01ae36f1, 0x0023885a}}}, + {X: Field{[10]uint32{0x00391f6e, 0x01b8c370, 0x00cb68b7, 0x00440b04, 0x017bfd4a, 0x03d298c5, 0x02110c80, 0x012e245b, 0x03a3768a, 0x002a8803}}, Y: Field{[10]uint32{0x0184695b, 0x00d4d3a9, 0x02fde7fb, 0x0351a416, 0x00c49b79, 0x01f4662a, 0x02c898bd, 0x0055577f, 0x015928b2, 0x00159ef6}}}, + {X: Field{[10]uint32{0x03131599, 0x03e6ee9d, 0x00966555, 0x035a7961, 0x03eb529b, 0x02327188, 0x003ba48c, 0x00bd52e1, 0x0328841d, 0x001ea9e0}}, Y: Field{[10]uint32{0x01f698ed, 0x0112bcda, 0x003ba1bb, 0x0118a696, 0x01327112, 0x0138bdbc, 0x01a7e7a6, 0x011e2c93, 0x0315e4b8, 0x001ad289}}}, + {X: Field{[10]uint32{0x016969a1, 0x00d11d4e, 0x01fdfdae, 0x013d92ef, 0x0248446b, 0x01e3eeef, 0x019234fc, 0x019ffc11, 0x03bd6a27, 0x00252c69}}, Y: Field{[10]uint32{0x011cc33d, 0x03a233e6, 0x0054fdf1, 0x01e3a2e2, 0x02e77e21, 0x02e6a907, 0x029320a8, 0x02a1c774, 0x01ef2273, 0x0023cc19}}}, + {X: Field{[10]uint32{0x0126573a, 0x036633b5, 0x0071035f, 0x01c4de8d, 0x005407df, 0x01a07830, 0x00c8cb27, 0x03afd4a5, 0x03a71bfe, 0x001ae55e}}, Y: Field{[10]uint32{0x022724a0, 0x03f6e21e, 0x037f4583, 0x003b0297, 0x0235c6df, 0x03bed424, 0x01cd4ff6, 0x0214f179, 0x008d3fc1, 0x0019f920}}}, + {X: Field{[10]uint32{0x03717f7f, 0x029a4590, 0x01cb2b8a, 0x02da02f6, 0x03f9a6df, 0x02c7f2ca, 0x0293892a, 0x010400ef, 0x03300ea3, 0x0022c9d0}}, Y: Field{[10]uint32{0x0198db90, 0x02bebc5e, 0x00da3c99, 0x02a82727, 0x014ed141, 0x0271c4e2, 0x027f8284, 0x01620f98, 0x02bb7785, 0x00153e8a}}}, + {X: Field{[10]uint32{0x0358db05, 0x0117899e, 0x012e75d1, 0x01c92668, 0x033b6863, 0x01eb1997, 0x01274de7, 0x008ce524, 0x039b6736, 0x0034fd93}}, Y: Field{[10]uint32{0x01a52449, 0x00a81432, 0x0310e5c8, 0x01410060, 0x009bea58, 0x02267eaa, 0x01284f43, 0x0057d051, 0x02c852bd, 0x00301845}}}, + {X: Field{[10]uint32{0x0237ba79, 0x03ad557c, 0x00d4bc4a, 0x007a006d, 0x02870d07, 0x0243de57, 0x03b92803, 0x010ca406, 0x02f8ce0e, 0x00066249}}, Y: Field{[10]uint32{0x02b3d34e, 0x00fc81b4, 0x01d76a83, 0x03411523, 0x035d6c10, 0x00373c43, 0x027658fa, 0x001f9d78, 0x03d95b8d, 0x001d8496}}}, + {X: Field{[10]uint32{0x0301a13f, 0x032962f3, 0x003099ad, 0x03f1be1e, 0x00ee4358, 0x03770961, 0x0346cfb6, 0x014be0e5, 0x014d5951, 0x000006ef}}, Y: Field{[10]uint32{0x038d7733, 0x01fa7f37, 0x016e0b58, 0x03f13c21, 0x03ebdc70, 0x03797af7, 0x003cdfe3, 0x0317a9c2, 0x00deccea, 0x00063d4d}}}, + {X: Field{[10]uint32{0x01a3132a, 0x00b89d7d, 0x0398c131, 0x01fc876c, 0x03005245, 0x008089a4, 0x00b551f5, 0x0249c8df, 0x0345b263, 0x00221cdf}}, Y: Field{[10]uint32{0x00c496ed, 0x0285e778, 0x020290b2, 0x03fb256a, 0x02e3e61c, 0x006e8317, 0x01a7b222, 0x0387a12c, 0x032c2895, 0x001e6959}}}, + {X: Field{[10]uint32{0x00cb1e83, 0x03852ff3, 0x02252004, 0x01f91b9e, 0x012d6849, 0x03f873ea, 0x00ca35e8, 0x01ddccd3, 0x018b1f27, 0x0032fcf8}}, Y: Field{[10]uint32{0x02bc3f99, 0x03d72521, 0x029a401f, 0x01c249ae, 0x007b91f7, 0x03c91d23, 0x01d242a5, 0x0115b0f2, 0x039565bd, 0x0036c030}}}, + {X: Field{[10]uint32{0x03022f70, 0x00699071, 0x0093c40b, 0x00809c82, 0x008ab65b, 0x00aa4ea6, 0x01c88467, 0x03beb97e, 0x030cf186, 0x00201c3b}}, Y: Field{[10]uint32{0x027bd9e5, 0x02762044, 0x018caa24, 0x014e9d17, 0x00cc85c8, 0x021ff60e, 0x0024cf5a, 0x01a8151a, 0x01b04694, 0x0036a601}}}, + {X: Field{[10]uint32{0x03f71eab, 0x021a6030, 0x03e21902, 0x02d88490, 0x035c57dc, 0x022dbf88, 0x00c50640, 0x0176efa1, 0x004b8fa4, 0x002b2be6}}, Y: Field{[10]uint32{0x00eb278e, 0x02cef44b, 0x010b5d1d, 0x0077c5f7, 0x03801b8c, 0x02eb8a41, 0x004dfb0b, 0x03e8bbc5, 0x00168259, 0x0011bd3b}}}, + {X: Field{[10]uint32{0x03fdc965, 0x036a5c7e, 0x000994ee, 0x01494a91, 0x01e89162, 0x015f8f49, 0x01e8a32a, 0x03b3a9cd, 0x020591f9, 0x0000a24e}}, Y: Field{[10]uint32{0x03cfbb6a, 0x02c5681e, 0x012a18c3, 0x03082abc, 0x01372aa6, 0x03edf495, 0x02b5186e, 0x02c48c04, 0x014191e4, 0x001ba8a6}}}, + {X: Field{[10]uint32{0x02be951d, 0x016d9130, 0x01b39dc0, 0x002963c4, 0x00cfccab, 0x03b44b7c, 0x0126e285, 0x032d8272, 0x023168f0, 0x001925d1}}, Y: Field{[10]uint32{0x01eafb7c, 0x0012268c, 0x03406016, 0x02a705e2, 0x03d432b5, 0x03c94271, 0x004bb219, 0x0217890d, 0x001b2fa8, 0x003a9d06}}}, + {X: Field{[10]uint32{0x021faeef, 0x03c3a22e, 0x006e2d1b, 0x007174ea, 0x01091862, 0x0260440e, 0x014f7c20, 0x025322cb, 0x003e5133, 0x002e4e11}}, Y: Field{[10]uint32{0x0353fc85, 0x021f6bf0, 0x01be0963, 0x03226d9a, 0x00c52473, 0x017fe505, 0x0384f384, 0x02190941, 0x02a8c7d9, 0x002bd1fc}}}, + {X: Field{[10]uint32{0x012a5320, 0x01b6b167, 0x03b8d42f, 0x02333da6, 0x0124f475, 0x01d8d1ae, 0x00fd4a78, 0x03d43a7e, 0x0245ad10, 0x002f47b8}}, Y: Field{[10]uint32{0x00039605, 0x021cd238, 0x01518af7, 0x010d92ce, 0x00134ce4, 0x013ffa4b, 0x02477ac7, 0x02235709, 0x023e069d, 0x001ddb8b}}}, + {X: Field{[10]uint32{0x0260650f, 0x0277d0f1, 0x006a97d4, 0x00819e92, 0x036d8e13, 0x009e763e, 0x027dc054, 0x02157c5f, 0x0068805e, 0x00032dfb}}, Y: Field{[10]uint32{0x029e903c, 0x0393f608, 0x01b5a91c, 0x00e5b496, 0x01b12d73, 0x01c5497f, 0x03302eb0, 0x01040c47, 0x00b284c0, 0x003d41e4}}}, + {X: Field{[10]uint32{0x0330cf83, 0x004846ea, 0x02a15e1c, 0x0057ef78, 0x031968c6, 0x03213369, 0x0222a1c7, 0x02ed68a7, 0x037e0aff, 0x003bc1f3}}, Y: Field{[10]uint32{0x00ef574f, 0x0310971c, 0x01979815, 0x01789616, 0x002ca556, 0x013203cb, 0x03fc2fee, 0x00c35040, 0x02c94226, 0x00263d29}}}, + {X: Field{[10]uint32{0x027b8fc6, 0x0309ab4f, 0x027814ee, 0x01902189, 0x0113dc50, 0x0045003c, 0x00e4ca0d, 0x03316733, 0x01484d7f, 0x0013ff06}}, Y: Field{[10]uint32{0x03b75aa9, 0x013961df, 0x0266961b, 0x038e4dfb, 0x02d94b65, 0x03721fc4, 0x01ac1075, 0x00f60f2d, 0x020798ff, 0x002fa7af}}}, + {X: Field{[10]uint32{0x01d18396, 0x035a2f18, 0x01b63b4e, 0x01acb693, 0x00fad1ad, 0x0318dc6c, 0x00df0efa, 0x03524ee3, 0x0373339e, 0x0032f754}}, Y: Field{[10]uint32{0x02bdb13f, 0x02fe86b5, 0x025fac77, 0x035f200f, 0x003784a7, 0x01c2704c, 0x0138b6ff, 0x00b51c7d, 0x0087c321, 0x00149f79}}}, + {X: Field{[10]uint32{0x027cb5d2, 0x01efd6f1, 0x01fed65e, 0x02838c0d, 0x014e650a, 0x03800fe6, 0x03f6b065, 0x035fa76d, 0x032bd8a1, 0x003a80d6}}, Y: Field{[10]uint32{0x003761c4, 0x01918223, 0x00edddbc, 0x0258a8ec, 0x032cd57e, 0x03fa071a, 0x0372e91a, 0x03d22219, 0x03702219, 0x002bb2d0}}}, + {X: Field{[10]uint32{0x01f8db89, 0x02a3bd66, 0x010cd99b, 0x03da407b, 0x02911648, 0x00b50ff6, 0x029dda6b, 0x00902b5b, 0x03d6c1d6, 0x00378693}}, Y: Field{[10]uint32{0x004da03e, 0x0088faa2, 0x012cd3a4, 0x02c4150b, 0x02f85f90, 0x01c78b98, 0x00a60853, 0x03fd0747, 0x00d161c0, 0x003bff25}}}, + {X: Field{[10]uint32{0x02a076ed, 0x033d6df9, 0x037f0e58, 0x022bc03e, 0x00d75e11, 0x02f3ffaf, 0x02157878, 0x01fb5b84, 0x0141e8d8, 0x000b9910}}, Y: Field{[10]uint32{0x0334b8d2, 0x03a03ff2, 0x005b7320, 0x0037d97e, 0x02b45c24, 0x009b48b0, 0x00a70110, 0x018b61ae, 0x00ddf2ba, 0x0012aa16}}}, + {X: Field{[10]uint32{0x01b73a33, 0x0220ecdc, 0x01c3e956, 0x01e4b49d, 0x0247ff88, 0x023cb4a3, 0x03b78ad0, 0x02e1e243, 0x006a90d6, 0x000e110e}}, Y: Field{[10]uint32{0x0365cd18, 0x03f51d2c, 0x0157c714, 0x015fc5f3, 0x01ff2845, 0x032a3ba2, 0x036bde12, 0x012701d7, 0x03121a81, 0x003dfd77}}}, + {X: Field{[10]uint32{0x00358e42, 0x03a5bc1d, 0x03ae8ff7, 0x0382eacb, 0x01bde185, 0x02ba080f, 0x0218cd89, 0x034d88ad, 0x03321b91, 0x00387fa6}}, Y: Field{[10]uint32{0x01f3e1c4, 0x00ded2b7, 0x021d5f85, 0x0192b2ae, 0x02cef4f0, 0x00afca9d, 0x01eff10f, 0x004cba89, 0x02901797, 0x0031643f}}}, + {X: Field{[10]uint32{0x027a3c0b, 0x01c9f12c, 0x00a499cc, 0x03b68782, 0x00aefbbd, 0x016262bc, 0x020144d4, 0x036086da, 0x00da2f57, 0x00158280}}, Y: Field{[10]uint32{0x0395e208, 0x00044ab9, 0x02eaaa8b, 0x018d36ef, 0x025db86d, 0x020ec54b, 0x00b79ff9, 0x004ddcef, 0x024e39db, 0x001921d3}}}, + {X: Field{[10]uint32{0x0379094d, 0x02ecbcbc, 0x011dce5c, 0x0076f433, 0x001afe9b, 0x015b8a05, 0x03164248, 0x0378ab06, 0x03a77ec8, 0x0027ccfe}}, Y: Field{[10]uint32{0x02fe94b0, 0x02c2a709, 0x0384892f, 0x0366fff8, 0x01d972ab, 0x0177b358, 0x0034f19b, 0x038a9c98, 0x00d81838, 0x0025f2e3}}}, + {X: Field{[10]uint32{0x02d7a1b9, 0x01411f9c, 0x01226da7, 0x014f81a8, 0x01e46ee2, 0x02833ec5, 0x039da042, 0x01d44923, 0x03a82405, 0x0026208b}}, Y: Field{[10]uint32{0x02b19285, 0x00f7c53f, 0x00cc2a55, 0x013339f1, 0x03db975d, 0x03e5643c, 0x01475611, 0x0152b369, 0x023507bc, 0x000fa7ba}}}, + {X: Field{[10]uint32{0x001dbd88, 0x021a81ab, 0x0307cc40, 0x0179f885, 0x03bc7287, 0x00bc3e12, 0x01883273, 0x01c9a1ab, 0x01ac4b75, 0x002e0534}}, Y: Field{[10]uint32{0x00f18a98, 0x0114a640, 0x01c36cf1, 0x03fc635a, 0x00c03462, 0x0129ee2a, 0x01b8ab3c, 0x02848900, 0x00883749, 0x002d8d91}}}, + {X: Field{[10]uint32{0x01043e97, 0x00f068af, 0x00cd8623, 0x010a170a, 0x03b39cf8, 0x03b677f3, 0x039f7b7e, 0x0044f334, 0x00c41e42, 0x00091921}}, Y: Field{[10]uint32{0x039552d3, 0x01fd743a, 0x00502387, 0x03ad1294, 0x0280f431, 0x0342dd79, 0x01d36f79, 0x02f76010, 0x01b02e31, 0x003cd409}}}, + {X: Field{[10]uint32{0x0351db91, 0x02bee63f, 0x0358e847, 0x00902474, 0x03bbe8c5, 0x00a13930, 0x03fff0e4, 0x02cbb361, 0x03657b41, 0x0027ccc0}}, Y: Field{[10]uint32{0x02d5e70d, 0x03d0cddc, 0x03dad317, 0x0305d584, 0x01adf519, 0x013df339, 0x0176a43d, 0x0221c378, 0x03cb221c, 0x0012e69e}}}, + {X: Field{[10]uint32{0x01529d25, 0x02e6f2a7, 0x0161c225, 0x01452c58, 0x02b0e719, 0x03d69370, 0x035623a8, 0x010cf017, 0x029b3c75, 0x0030b9e3}}, Y: Field{[10]uint32{0x039079bb, 0x02228f2a, 0x001b9505, 0x00ab5891, 0x03e79436, 0x02c928b8, 0x0387b209, 0x01db2b18, 0x00f19383, 0x00079d72}}}, + {X: Field{[10]uint32{0x03695391, 0x0179aea9, 0x03f867ce, 0x00340a41, 0x022125c4, 0x01522bab, 0x01c9636b, 0x006df215, 0x02c4b6e8, 0x00224d03}}, Y: Field{[10]uint32{0x012c72c6, 0x030fa8de, 0x00671575, 0x02755492, 0x002b2a9c, 0x00f8af04, 0x01cc2c10, 0x01e5b77c, 0x014e263e, 0x003dce6a}}}, + {X: Field{[10]uint32{0x02629d22, 0x00aef8b5, 0x022daa7e, 0x00f63f63, 0x035d66a9, 0x034e29b0, 0x00facd48, 0x00f3081e, 0x0315f144, 0x0024813f}}, Y: Field{[10]uint32{0x0159c019, 0x00098e9d, 0x03253be1, 0x015609c9, 0x00131205, 0x00a4ffcf, 0x005020ec, 0x0143a588, 0x0075456b, 0x000ae77a}}}, + {X: Field{[10]uint32{0x03ff04d6, 0x031257ba, 0x0284d7ab, 0x03929ef5, 0x0261fad9, 0x00c97d77, 0x02b518dc, 0x00bf5f39, 0x02104112, 0x003c55b6}}, Y: Field{[10]uint32{0x01b631d4, 0x011a8380, 0x0170376e, 0x0135ce7d, 0x017f2c40, 0x000c6976, 0x03aa78d2, 0x02b7fb72, 0x00abf4f2, 0x0031cca5}}}, + {X: Field{[10]uint32{0x0280fa75, 0x01f6808c, 0x022659fa, 0x01549941, 0x022c379a, 0x001430d8, 0x00998616, 0x0104e84c, 0x017837d6, 0x001dc68b}}, Y: Field{[10]uint32{0x014c9aca, 0x0002c997, 0x030f66b6, 0x001356f1, 0x03e42703, 0x01b23746, 0x03ef0b0f, 0x007d6e0a, 0x039f5cfe, 0x0022daf0}}}, + {X: Field{[10]uint32{0x01a18f69, 0x0048d9a1, 0x004018e5, 0x003ac730, 0x01aec29f, 0x01039473, 0x03b52b1f, 0x00b167d8, 0x00e036bb, 0x00053356}}, Y: Field{[10]uint32{0x005e2006, 0x00323667, 0x0372ef27, 0x0279d1ac, 0x03ea15b1, 0x027a93a3, 0x00c72623, 0x011905d1, 0x00fded35, 0x001e7095}}}, + {X: Field{[10]uint32{0x028633f1, 0x03fc9ec6, 0x0343c22b, 0x03254ada, 0x02cd539c, 0x024299f7, 0x000bff13, 0x0001c960, 0x00770106, 0x00397d50}}, Y: Field{[10]uint32{0x01666367, 0x02c80a23, 0x00b5f4c3, 0x02a6c3d5, 0x0280274d, 0x026be281, 0x038e691f, 0x021b1d60, 0x02c39baa, 0x0035b871}}}, + {X: Field{[10]uint32{0x03429197, 0x03abe2b9, 0x003d75b8, 0x012cf4df, 0x03679134, 0x025a4f64, 0x03d14ba7, 0x0080dfef, 0x03429c07, 0x002c3aab}}, Y: Field{[10]uint32{0x037af26d, 0x0145c5a6, 0x00341510, 0x0209a8bc, 0x00bc2373, 0x000805c4, 0x0124d9bd, 0x006d953c, 0x021e4a17, 0x00035c99}}}, + {X: Field{[10]uint32{0x004d67c2, 0x03847998, 0x00e883c2, 0x00bb3d8b, 0x005380f9, 0x021393a8, 0x01573832, 0x036bb4d6, 0x030b044e, 0x003808b5}}, Y: Field{[10]uint32{0x01ab4143, 0x00ac4724, 0x01c7152d, 0x026cb0f7, 0x0207aed8, 0x0054fa70, 0x015228a3, 0x03b43451, 0x01d43ba0, 0x00108f15}}}, + {X: Field{[10]uint32{0x03c5ab5f, 0x02999692, 0x00651349, 0x036a7976, 0x03af1a3e, 0x02525446, 0x0270f07b, 0x02abc996, 0x033eb2ea, 0x0024a8b5}}, Y: Field{[10]uint32{0x000fa973, 0x01a04878, 0x0004992d, 0x00f16b0d, 0x0105f170, 0x00e8c98c, 0x0089fff5, 0x03495268, 0x00194794, 0x001124b5}}}, + {X: Field{[10]uint32{0x01b9cb30, 0x008d6a63, 0x0003ec96, 0x00b8fb98, 0x03b12f10, 0x01ea73ba, 0x035ac444, 0x002a733c, 0x02860de5, 0x0010d025}}, Y: Field{[10]uint32{0x0210bba9, 0x00b37713, 0x02cb037d, 0x0261fcc5, 0x03c8e1e8, 0x03671b22, 0x00e38adb, 0x00405e39, 0x0040952e, 0x000bde04}}}, + {X: Field{[10]uint32{0x0394cd12, 0x0282b788, 0x024e1aaa, 0x010ce222, 0x02945426, 0x01cd7713, 0x003aa5ad, 0x03e3506e, 0x011b0643, 0x0034d277}}, Y: Field{[10]uint32{0x033249a5, 0x02b7b390, 0x01bc6072, 0x015fb38d, 0x01cf0822, 0x02803bfa, 0x01c71c9e, 0x02dab0a5, 0x00571da2, 0x0019fcbc}}}, + {X: Field{[10]uint32{0x02dd10e6, 0x004de059, 0x023d9c68, 0x02763e0c, 0x03babad3, 0x01cb6339, 0x036834d2, 0x01faecd7, 0x02957fb8, 0x0026a426}}, Y: Field{[10]uint32{0x02ddbca1, 0x02195ca8, 0x03cec863, 0x0367dc24, 0x01c12f16, 0x028bd800, 0x02248352, 0x0068a1fd, 0x011a3277, 0x00338fab}}}, + {X: Field{[10]uint32{0x0007fa0b, 0x02f33c2b, 0x01452a67, 0x01c44853, 0x031d77f9, 0x01a1ad7e, 0x03be25d3, 0x00a99268, 0x0218df2a, 0x003ce2c7}}, Y: Field{[10]uint32{0x01e65ea6, 0x019c7bdc, 0x039d4591, 0x03631223, 0x03419a20, 0x03029188, 0x011ced59, 0x02c806e8, 0x029a7f71, 0x00001727}}}, + {X: Field{[10]uint32{0x01535a67, 0x0381b20c, 0x039a6a86, 0x021304ad, 0x027b9097, 0x009d8bb4, 0x012738bc, 0x0342577d, 0x03ca26b8, 0x00108d83}}, Y: Field{[10]uint32{0x028345e4, 0x03064491, 0x02f665de, 0x030595fd, 0x03db93ae, 0x02f77114, 0x008bc432, 0x03000efa, 0x00e5e43e, 0x001adbd3}}}, + {X: Field{[10]uint32{0x003f4a1e, 0x00130d8c, 0x02a94534, 0x03016800, 0x01b87325, 0x00c8ddec, 0x03993eaa, 0x038ee665, 0x018da7c5, 0x0038f5c6}}, Y: Field{[10]uint32{0x0053ef4d, 0x004de048, 0x0265f5c8, 0x033cc817, 0x00a05f19, 0x017eaff9, 0x0342be83, 0x0052337d, 0x0218ece6, 0x001c90dc}}}, + {X: Field{[10]uint32{0x007cb59b, 0x02f1b65a, 0x01b480d6, 0x02d6f5a3, 0x0202f93d, 0x006454a7, 0x014f6258, 0x004441ad, 0x0145a830, 0x000e504a}}, Y: Field{[10]uint32{0x0250f08d, 0x009941bc, 0x01d9fd28, 0x02028405, 0x00e08b0a, 0x002a562d, 0x03057844, 0x030c6462, 0x022c60f5, 0x002e36e0}}}, + {X: Field{[10]uint32{0x01241fc2, 0x00b025f3, 0x014f421d, 0x0053552b, 0x02d93dc9, 0x0364da33, 0x03857c7e, 0x03a639da, 0x01f77e0e, 0x0001349d}}, Y: Field{[10]uint32{0x039d7473, 0x03922ae8, 0x02f05277, 0x03a24330, 0x03935448, 0x0254aac4, 0x019d361f, 0x00a447d8, 0x03d49b50, 0x003b2e00}}}, + {X: Field{[10]uint32{0x029556ce, 0x00fe01e1, 0x01e03c01, 0x0114f22a, 0x010160b1, 0x01667b56, 0x02fcd5b6, 0x0272f68f, 0x0076c1db, 0x000a4d92}}, Y: Field{[10]uint32{0x023f6ede, 0x00c6443c, 0x0186c2dc, 0x01a9df7c, 0x0243ffb5, 0x016507df, 0x03562379, 0x02543213, 0x02f4cc44, 0x000af6d2}}}, + {X: Field{[10]uint32{0x00878034, 0x003b9b79, 0x01e55d38, 0x0107d2c8, 0x036febcf, 0x00ee84cc, 0x003ef10d, 0x0337deae, 0x00a963dc, 0x001d4c7d}}, Y: Field{[10]uint32{0x03a36ae8, 0x0100d286, 0x0055e9c4, 0x02ec021f, 0x01e1dcb1, 0x03589a6c, 0x01628ca2, 0x01af087a, 0x029f91d5, 0x0011d4f6}}}, + {X: Field{[10]uint32{0x00286e08, 0x02514317, 0x02777a3d, 0x00a16f05, 0x016050ca, 0x02f7e2b0, 0x00dce7a4, 0x03fb2910, 0x02263d12, 0x002099b5}}, Y: Field{[10]uint32{0x03e2328b, 0x0177cb2b, 0x00877545, 0x03897369, 0x0096d908, 0x0267d8cf, 0x01e7e363, 0x013ad9a9, 0x02bffb8a, 0x0009403c}}}, + {X: Field{[10]uint32{0x03c589e9, 0x02a1b452, 0x023d69ea, 0x02a9672d, 0x036d5e62, 0x010e27e1, 0x039b26e8, 0x027c5630, 0x00014f33, 0x00199200}}, Y: Field{[10]uint32{0x02d92e2a, 0x01c05b12, 0x002f596c, 0x03076a29, 0x01f145ff, 0x01d6b0c6, 0x00785263, 0x0168de7c, 0x033fe3eb, 0x00281a66}}}, + {X: Field{[10]uint32{0x00c70d49, 0x01dead93, 0x0113486b, 0x02e387d1, 0x03f641e2, 0x01b224d0, 0x01921b5e, 0x003ee981, 0x00858b9c, 0x003e3bf3}}, Y: Field{[10]uint32{0x00a9d607, 0x00761d54, 0x00834f8b, 0x0389e49e, 0x005f4de2, 0x00d7668f, 0x01a0ae30, 0x03c366bd, 0x002f7086, 0x002ea5c8}}}, + {X: Field{[10]uint32{0x00992540, 0x010b8267, 0x02e736c5, 0x02c07638, 0x016f2485, 0x00eafecf, 0x02c627c9, 0x00928ec7, 0x027d2543, 0x00297048}}, Y: Field{[10]uint32{0x02ecc7cc, 0x005b6f21, 0x03da5a1d, 0x01173e5d, 0x0264cfef, 0x00e29fde, 0x019bed7f, 0x00eed5b6, 0x01b48a16, 0x00324627}}}, + {X: Field{[10]uint32{0x038bbaf3, 0x01418182, 0x018938e0, 0x00024983, 0x016c85bb, 0x01c0b7b1, 0x03b655d7, 0x014f7c3e, 0x0219a5b2, 0x0009c6c9}}, Y: Field{[10]uint32{0x02cd2ce5, 0x0326924f, 0x03bd8d86, 0x039756bc, 0x0172bca7, 0x02af9564, 0x01bd1746, 0x023c9f73, 0x03fc22cb, 0x0016333c}}}, + {X: Field{[10]uint32{0x0170ae16, 0x03077f41, 0x0036ad90, 0x00c24b2b, 0x021202ba, 0x01c8753c, 0x001800ce, 0x025d0436, 0x002b20c7, 0x0032784e}}, Y: Field{[10]uint32{0x0231e5b2, 0x0084ee04, 0x003f690d, 0x03ec3e69, 0x016f7a0d, 0x035e65d2, 0x012f7070, 0x033a80ea, 0x00ab2a47, 0x001fac7f}}}, + {X: Field{[10]uint32{0x000309f2, 0x00250780, 0x03decb1e, 0x01aa2f51, 0x0145897e, 0x00ad2251, 0x018cb751, 0x00a81075, 0x03256523, 0x000015d2}}, Y: Field{[10]uint32{0x024615a9, 0x02cebe3f, 0x03b72038, 0x03eb0ad7, 0x03474db8, 0x02a72774, 0x03bf2cc6, 0x01d2fe4f, 0x02a9567d, 0x002efee1}}}, + {X: Field{[10]uint32{0x03046c38, 0x02354218, 0x012b4a98, 0x03b1a54f, 0x021135e7, 0x037fdb15, 0x0120e004, 0x017b692d, 0x02aca630, 0x0027bfa1}}, Y: Field{[10]uint32{0x02e9af70, 0x02b60c6a, 0x02e42551, 0x01e646a6, 0x027afa4f, 0x030ed362, 0x03cbe67e, 0x002062bd, 0x029132cb, 0x0013e4a8}}}, + {X: Field{[10]uint32{0x0013f254, 0x028b72f6, 0x0328413a, 0x03e8cf61, 0x02df26ca, 0x0024639a, 0x00bf4c3d, 0x03e85cdd, 0x00a0ff76, 0x0020ba92}}, Y: Field{[10]uint32{0x032ac9f2, 0x021ac76f, 0x038e4a70, 0x03589b77, 0x0049b4c2, 0x005ea254, 0x01e1ca14, 0x0156a8e7, 0x01399bb5, 0x001a80a5}}}, + {X: Field{[10]uint32{0x01d2baaa, 0x0379d56f, 0x01f4f5fb, 0x03af78ca, 0x03e3af2f, 0x02982b7e, 0x0352a24b, 0x02c1b0c4, 0x003e817b, 0x0030a252}}, Y: Field{[10]uint32{0x00780a53, 0x00e87387, 0x005c04b1, 0x017b065a, 0x039c4994, 0x03fad657, 0x036854a1, 0x03b3bd8a, 0x010d8b4a, 0x000edfba}}}, + {X: Field{[10]uint32{0x02e12cc4, 0x01d02d25, 0x0030001c, 0x01835e2a, 0x02016986, 0x02c161ed, 0x028deb31, 0x003563a9, 0x02cbb558, 0x001af791}}, Y: Field{[10]uint32{0x01293292, 0x01baccba, 0x02d91e09, 0x0173450b, 0x020a41cc, 0x031e741d, 0x014ce750, 0x0059a922, 0x02a7c1cd, 0x000c6229}}}, + {X: Field{[10]uint32{0x01827cf4, 0x026b07d9, 0x00bdf451, 0x023e819b, 0x01017673, 0x01bf5d5c, 0x030a11d6, 0x0185795f, 0x03ae2844, 0x003474a8}}, Y: Field{[10]uint32{0x03f603db, 0x018c4899, 0x02ee70f9, 0x00d971f6, 0x038271f9, 0x014558ba, 0x03697d7c, 0x03065a2d, 0x03f70c01, 0x001f033f}}}, + {X: Field{[10]uint32{0x0227370a, 0x0057b5ee, 0x00be8f65, 0x02233ea8, 0x00e276b0, 0x02afe697, 0x0151c852, 0x01555ced, 0x00874d19, 0x002dd303}}, Y: Field{[10]uint32{0x01a662ab, 0x003c7dd1, 0x031b551e, 0x01784535, 0x026f0c32, 0x0313b630, 0x01e307be, 0x015c7bf9, 0x030e380c, 0x00003c32}}}, + {X: Field{[10]uint32{0x01015874, 0x0109827e, 0x0298f47d, 0x01deebb8, 0x00849500, 0x00c5f846, 0x03c30412, 0x01b0fe85, 0x039a9f12, 0x002a69c6}}, Y: Field{[10]uint32{0x002e0586, 0x0130a9a9, 0x020f08f3, 0x01fd5448, 0x03f1b113, 0x018d33b3, 0x024be1df, 0x03c32dfe, 0x03fdb31b, 0x003017cf}}}, + {X: Field{[10]uint32{0x00dbc68c, 0x0089d2a0, 0x01c259b0, 0x03e8fe88, 0x032b1b99, 0x02cfe08e, 0x03514162, 0x007c9f76, 0x01530a16, 0x0035b784}}, Y: Field{[10]uint32{0x0059764a, 0x03202f6f, 0x02215348, 0x018539d9, 0x00714fab, 0x02b2f7bf, 0x0015d259, 0x021697bb, 0x00636597, 0x001b1882}}}, + {X: Field{[10]uint32{0x036b73f1, 0x024a9d1d, 0x016df112, 0x00d80a9e, 0x0273a7dc, 0x016521fe, 0x038c22f3, 0x03297147, 0x01bc3acd, 0x00372a87}}, Y: Field{[10]uint32{0x00c85159, 0x0312a3c3, 0x035147c8, 0x026a5631, 0x01b4b4d4, 0x005c545e, 0x033719b0, 0x0181ed20, 0x01fcc22c, 0x0037104c}}}, + {X: Field{[10]uint32{0x0005ab6c, 0x01a89100, 0x01d21220, 0x00025526, 0x015f3a13, 0x01dc2535, 0x03aa93c6, 0x02f84c70, 0x03a000c4, 0x0004d54d}}, Y: Field{[10]uint32{0x00fb0f69, 0x00bc1159, 0x0333048c, 0x033f8d20, 0x0308f3eb, 0x03548dc2, 0x01f0d1dd, 0x037d9ccd, 0x031fd2d3, 0x001fbda7}}}, + {X: Field{[10]uint32{0x01de93ac, 0x03fa760e, 0x0004afb3, 0x03957a7a, 0x02751dd6, 0x00ff666b, 0x01572bbe, 0x018b9933, 0x0017c232, 0x000a3c76}}, Y: Field{[10]uint32{0x01e2cb7e, 0x00a6d20e, 0x01cb0970, 0x022f5079, 0x008f5dfe, 0x01f20d6b, 0x02e0e896, 0x00f690b6, 0x0061987e, 0x000093d6}}}, + {X: Field{[10]uint32{0x00294289, 0x03384d51, 0x001e25f8, 0x021e6b59, 0x03e0779b, 0x002040b7, 0x0331155c, 0x02dfee3a, 0x03836e8f, 0x003df13b}}, Y: Field{[10]uint32{0x036bce2c, 0x026593c7, 0x020d1362, 0x008da55e, 0x0216470d, 0x01bae5a0, 0x0150f091, 0x02588758, 0x0381db33, 0x0001fe69}}}, + {X: Field{[10]uint32{0x0228b3e6, 0x02a3d986, 0x03aeda8d, 0x0061444b, 0x00ddc8d0, 0x0169cd75, 0x0366f7e2, 0x026cd462, 0x025e1ddc, 0x003c7d6b}}, Y: Field{[10]uint32{0x01ad4288, 0x036777ee, 0x03cb41c6, 0x0218fb6d, 0x035c5c34, 0x013f9ea3, 0x024a8df2, 0x01360142, 0x012c9792, 0x00276ffc}}}, + {X: Field{[10]uint32{0x008b654f, 0x03ef5cc0, 0x0027dc2a, 0x0287ad96, 0x01257c10, 0x015e2d8e, 0x020dbc74, 0x033a7072, 0x0173d170, 0x00257e0c}}, Y: Field{[10]uint32{0x03412487, 0x03472f00, 0x035b8b75, 0x00edefb8, 0x017d5ab8, 0x01a4628c, 0x03c3c91c, 0x012a2104, 0x02bc0829, 0x0018ea0f}}}, + {X: Field{[10]uint32{0x023ff750, 0x020f025a, 0x03a7df8c, 0x00d646f8, 0x03964749, 0x01f58154, 0x008c8e37, 0x017847ae, 0x025c9f09, 0x003d2b69}}, Y: Field{[10]uint32{0x01861ed3, 0x0146972b, 0x0178d3ac, 0x01d86c37, 0x012ede16, 0x036f3129, 0x00bc87c3, 0x0116cb9b, 0x0328a385, 0x0039da0f}}}, + {X: Field{[10]uint32{0x019e5fd2, 0x039eb90a, 0x00fd03af, 0x015b64e5, 0x0040b827, 0x0371ef09, 0x03bcd591, 0x036cec6d, 0x0096f714, 0x00106beb}}, Y: Field{[10]uint32{0x0099fedc, 0x03a691c1, 0x02f20474, 0x0001769e, 0x0061c52d, 0x03195291, 0x02e98aea, 0x03fc4909, 0x006a3292, 0x00270ba7}}}, + {X: Field{[10]uint32{0x00487405, 0x02a85bba, 0x03ffd0cc, 0x03f710bc, 0x01e1b8df, 0x0328d7c3, 0x0141fe9c, 0x00726d86, 0x031b2cb8, 0x000dfcc2}}, Y: Field{[10]uint32{0x00b88a0f, 0x00755363, 0x022bb61b, 0x00f29326, 0x018086bb, 0x0021ad92, 0x03dd08e1, 0x00754767, 0x0285e340, 0x0024afde}}}, + {X: Field{[10]uint32{0x004fb3ce, 0x0181c596, 0x0205b9d7, 0x02651530, 0x03605a21, 0x0338323a, 0x01312022, 0x01faa885, 0x0166646e, 0x000bd5dc}}, Y: Field{[10]uint32{0x03d5f446, 0x019f7fc0, 0x00ee0985, 0x036bb589, 0x01af32e8, 0x03412e5a, 0x020dc684, 0x033ab56b, 0x026fe43d, 0x003c35cc}}}, + {X: Field{[10]uint32{0x00b5150a, 0x01f96e99, 0x03e7dfd5, 0x03fc2fe7, 0x003c2e24, 0x02bff6fe, 0x03a0af94, 0x0144ad7a, 0x038092c5, 0x0022aef1}}, Y: Field{[10]uint32{0x02896b75, 0x0059f5fd, 0x0232791a, 0x03b12454, 0x010bb87d, 0x03fb33db, 0x015b974f, 0x03066a92, 0x018f0c2e, 0x00163d66}}}, + {X: Field{[10]uint32{0x0147571c, 0x03741970, 0x00aed219, 0x03d70a04, 0x00f6da7c, 0x01f95f3f, 0x0073fe40, 0x01dacc9f, 0x028fa013, 0x003906b3}}, Y: Field{[10]uint32{0x036844a2, 0x02a52fdd, 0x027a37d8, 0x01146584, 0x01715d45, 0x01cbe639, 0x02d04592, 0x01c530c8, 0x02da3c2a, 0x002d642a}}}, + {X: Field{[10]uint32{0x010f1d88, 0x00533662, 0x03b5abe7, 0x03f2767a, 0x017c0c84, 0x00491e27, 0x0180f7f4, 0x0157bb77, 0x00778b63, 0x000c0326}}, Y: Field{[10]uint32{0x039c9002, 0x017a4ef8, 0x0138520f, 0x01b20d37, 0x0068c507, 0x03869ee0, 0x00f5c7a4, 0x021cc432, 0x0262c571, 0x0036b0ae}}}, + {X: Field{[10]uint32{0x02e24c61, 0x0205c1c4, 0x01b5c876, 0x008c9b28, 0x03dcdb66, 0x01e1db0f, 0x02072c1f, 0x003e1096, 0x01d219d4, 0x001a78ce}}, Y: Field{[10]uint32{0x00babc50, 0x002e1b4e, 0x005a1bad, 0x02024dd0, 0x014cd472, 0x02d4d648, 0x017e8499, 0x011c0085, 0x015059a4, 0x002350e4}}}, + {X: Field{[10]uint32{0x03bdb909, 0x03752132, 0x0346da2f, 0x027d47f1, 0x00cddd77, 0x007eaded, 0x033ccf64, 0x02a67e2a, 0x03df8e47, 0x00395924}}, Y: Field{[10]uint32{0x03f5ee59, 0x012728f8, 0x01145b6e, 0x0275d630, 0x01974531, 0x0107062d, 0x0006036d, 0x0053fb42, 0x020a559e, 0x001a36e8}}}, + {X: Field{[10]uint32{0x03f50587, 0x0134e379, 0x01c611a3, 0x03795d36, 0x00f76532, 0x01b803ac, 0x01c11e58, 0x0144734e, 0x00578998, 0x000dea47}}, Y: Field{[10]uint32{0x03145f18, 0x007710ec, 0x0381ee5d, 0x0042ae74, 0x01feac27, 0x00276a25, 0x01975dc0, 0x022891cd, 0x00af0d2d, 0x0038e862}}}, + {X: Field{[10]uint32{0x02e88c1f, 0x0149d0b7, 0x0124a86c, 0x01bd9793, 0x02622401, 0x02535e0e, 0x00629c71, 0x018b844b, 0x01fb5cc2, 0x00317c16}}, Y: Field{[10]uint32{0x038c890a, 0x0155e3ec, 0x00623ab1, 0x00147be8, 0x018c0907, 0x0242d1b5, 0x037792d5, 0x02a56945, 0x03521a96, 0x0007216f}}}, + {X: Field{[10]uint32{0x038716a1, 0x01e24926, 0x01827626, 0x018fca11, 0x03c6323c, 0x021006b3, 0x018c59d7, 0x033ac68a, 0x02ccd605, 0x00159bb7}}, Y: Field{[10]uint32{0x0244cc90, 0x0018b516, 0x010a15ad, 0x02bf0080, 0x038c40b3, 0x00b4ccbf, 0x01f85b93, 0x01bc81e2, 0x03735adf, 0x003b8344}}}, + {X: Field{[10]uint32{0x032c7c7b, 0x027337b6, 0x034c8db6, 0x038b0fae, 0x023e6cf4, 0x0332d190, 0x012e33db, 0x013e1c01, 0x0033c6ef, 0x000c9f9c}}, Y: Field{[10]uint32{0x03e8db36, 0x0385ba54, 0x012634aa, 0x00e7def6, 0x00122662, 0x0026bac7, 0x023e2667, 0x03ca6d2a, 0x012b2be0, 0x003f1242}}}, + {X: Field{[10]uint32{0x03778024, 0x039c0265, 0x01e1a1ea, 0x038a317d, 0x0284ef5a, 0x029b2bfd, 0x0329704e, 0x02b21957, 0x03693ac0, 0x0026269f}}, Y: Field{[10]uint32{0x00dadfd0, 0x01ed90a0, 0x0292bd1b, 0x035cec2c, 0x00e8eb1f, 0x02b3fa99, 0x03b5bd44, 0x011639d2, 0x027b3396, 0x0015cf44}}}, + {X: Field{[10]uint32{0x0330fc94, 0x00b31842, 0x019769c2, 0x03e92999, 0x037ce313, 0x013d2695, 0x01cec4b7, 0x01fd53b4, 0x032f14f2, 0x002729d9}}, Y: Field{[10]uint32{0x0104e4a1, 0x01b283ce, 0x011dcd2d, 0x0013bbb0, 0x006ab141, 0x00b7e34c, 0x0003f818, 0x00a928c2, 0x00d731d5, 0x003e4831}}}, + {X: Field{[10]uint32{0x0047f5f5, 0x0155579e, 0x030cde1d, 0x0143b4bb, 0x02060978, 0x01f89c86, 0x00316871, 0x03a38656, 0x0245654f, 0x0036c401}}, Y: Field{[10]uint32{0x01056567, 0x02064a0c, 0x0014c962, 0x033b9d14, 0x02619287, 0x03ddb22d, 0x03cdf895, 0x003b3cd3, 0x02cea9c9, 0x000acb0f}}}, + {X: Field{[10]uint32{0x013295a9, 0x01340335, 0x01c07bb9, 0x03e9949a, 0x02418a34, 0x00effc53, 0x02110a8f, 0x00ed0979, 0x009e8274, 0x00138a83}}, Y: Field{[10]uint32{0x00ccca7a, 0x02cb138f, 0x014b3d98, 0x03b237e8, 0x008a34e5, 0x028eb1a7, 0x00b90590, 0x02c12dad, 0x02e3e00b, 0x00144ab0}}}, + {X: Field{[10]uint32{0x02ac77f6, 0x010d4bd9, 0x0368d733, 0x01dca50e, 0x0060c71a, 0x0217ec73, 0x0136f981, 0x022b2c14, 0x037024ea, 0x00304acf}}, Y: Field{[10]uint32{0x02544803, 0x01ef77c0, 0x033239c0, 0x02560cc9, 0x020d67a1, 0x03ef8949, 0x009f5a7b, 0x01dbc07c, 0x019b6f4b, 0x002de67e}}}, + {X: Field{[10]uint32{0x03fd7e58, 0x01551923, 0x003feaa7, 0x020afe9e, 0x03d6c09b, 0x005904ff, 0x017c0cf6, 0x013877af, 0x022edaf3, 0x00019396}}, Y: Field{[10]uint32{0x002f4a50, 0x0147cd0f, 0x004ff726, 0x0292d461, 0x027509a2, 0x037c249b, 0x005d611a, 0x00cb8ba4, 0x020966f0, 0x00038083}}}, + {X: Field{[10]uint32{0x030a838a, 0x0102254f, 0x03b9fef0, 0x015cb3ec, 0x013d66ec, 0x000fc0b7, 0x02d1857e, 0x010e03da, 0x0355fa73, 0x000ac2e2}}, Y: Field{[10]uint32{0x0273a61a, 0x02404f67, 0x024765bd, 0x0070d023, 0x00147ce0, 0x00722029, 0x00b45bae, 0x01965e38, 0x0251a914, 0x002b225c}}}, + {X: Field{[10]uint32{0x0288525e, 0x01e24c0a, 0x00c5bd67, 0x02d07bf5, 0x016523e8, 0x0196a59e, 0x02545299, 0x0184cf4e, 0x0130a202, 0x002b838f}}, Y: Field{[10]uint32{0x00f80552, 0x0177ed4e, 0x03ee97ec, 0x01f7687b, 0x00c80c08, 0x00e6ac98, 0x00be67b3, 0x00b49094, 0x00ff8563, 0x003eda46}}}, + {X: Field{[10]uint32{0x03e00dd9, 0x037a18a3, 0x03454a83, 0x00c3b7c8, 0x033bfa15, 0x0007d130, 0x02e46cb0, 0x02859bfe, 0x03114dfe, 0x000bfe71}}, Y: Field{[10]uint32{0x03318783, 0x03a0b11b, 0x027599b5, 0x001ef483, 0x01acb0d7, 0x02065717, 0x02383517, 0x00605e8f, 0x027a0444, 0x00014fd9}}}, + {X: Field{[10]uint32{0x027bf695, 0x02c45a93, 0x017263ed, 0x0393067d, 0x019e2614, 0x010ac512, 0x003f60cc, 0x01671b01, 0x001488b9, 0x0033009c}}, Y: Field{[10]uint32{0x03b6007a, 0x00b99296, 0x01fe2e57, 0x017080db, 0x0307b532, 0x012697c1, 0x02ce6551, 0x03d9dd99, 0x01909b22, 0x003aacfd}}}, + {X: Field{[10]uint32{0x00a945d5, 0x01a2fa0a, 0x0145584d, 0x016bc067, 0x03f9dbf4, 0x02125749, 0x03e3b476, 0x00d6997b, 0x03d13c80, 0x0006007b}}, Y: Field{[10]uint32{0x0259c4fe, 0x02f686fe, 0x005681ac, 0x02f382da, 0x03f44a5a, 0x026a0be2, 0x02f49d50, 0x025a3bd3, 0x019efcb5, 0x0037fcb4}}}, + {X: Field{[10]uint32{0x00dd7cbf, 0x02de3f0f, 0x03f8be6a, 0x038db9d1, 0x015b698f, 0x031eaeaf, 0x03c09de4, 0x002588d5, 0x01d507b6, 0x001b68aa}}, Y: Field{[10]uint32{0x0275060c, 0x016f7338, 0x00378d50, 0x020a66b3, 0x0171310b, 0x00df02bc, 0x01ac9f9b, 0x022b88a5, 0x02704aeb, 0x000789d3}}}, + {X: Field{[10]uint32{0x02fc82e4, 0x02846b6e, 0x0344c832, 0x00e86a67, 0x00c7dfe2, 0x02a513fc, 0x039e8a6e, 0x005774ef, 0x016f6a92, 0x001fa3f2}}, Y: Field{[10]uint32{0x01342bff, 0x021cb8ec, 0x02d51ddc, 0x000ea023, 0x0257d095, 0x018fce21, 0x039ed00c, 0x01b29fdc, 0x03e1e0c2, 0x003a693e}}}, + {X: Field{[10]uint32{0x020caf64, 0x02ed121f, 0x00f27559, 0x00cdc633, 0x019f53e1, 0x021c1d90, 0x0266ab37, 0x035bdff8, 0x033a77d6, 0x00298d8b}}, Y: Field{[10]uint32{0x02cc787e, 0x02135874, 0x00d70087, 0x00e7d1cf, 0x03e29d85, 0x019bdd46, 0x025cd860, 0x00e17182, 0x02da3fc2, 0x00300588}}}, + {X: Field{[10]uint32{0x0337d2b3, 0x01c01d66, 0x01557449, 0x0154df09, 0x018582bd, 0x001db06a, 0x01a19b47, 0x01d24e8f, 0x022228b4, 0x00146194}}, Y: Field{[10]uint32{0x00287be1, 0x02bef411, 0x01ad17d0, 0x02e14914, 0x02826558, 0x01032e33, 0x03ca65bf, 0x0236764f, 0x01796863, 0x003c3c2e}}}, + {X: Field{[10]uint32{0x01d472ce, 0x02f0f460, 0x028e67e8, 0x004a7a3b, 0x0304d802, 0x01c6656a, 0x0314ff4f, 0x02e70e31, 0x009ba9f1, 0x0028a824}}, Y: Field{[10]uint32{0x0040068d, 0x03d717bb, 0x01a6a1e8, 0x007b3649, 0x028b364d, 0x03114ce4, 0x03fdf98e, 0x031efdc6, 0x000bd45e, 0x001048e4}}}, + {X: Field{[10]uint32{0x003aef2d, 0x00c7e1ee, 0x009212b0, 0x03abe7c3, 0x02f1357b, 0x006fe5e7, 0x03f5ac2a, 0x01fcda98, 0x0122454e, 0x00369460}}, Y: Field{[10]uint32{0x006da722, 0x0363cdda, 0x00b32b6b, 0x03e2e683, 0x016cb7f3, 0x02e7762e, 0x0028c5e1, 0x017a0032, 0x02fd0d41, 0x002fe1df}}}, + {X: Field{[10]uint32{0x0147a87d, 0x035d418e, 0x0382e6cb, 0x001b520f, 0x008a6983, 0x004316a9, 0x01aa5729, 0x00c49796, 0x00541a98, 0x00107103}}, Y: Field{[10]uint32{0x03bfc57f, 0x01bc4068, 0x00c814e8, 0x00cf0c3d, 0x03ef8400, 0x03ef7d79, 0x029f129f, 0x02442aee, 0x03656b89, 0x001db6ae}}}, + {X: Field{[10]uint32{0x02addbfd, 0x00267326, 0x01318709, 0x01322290, 0x0028745e, 0x03314362, 0x007c980a, 0x039191a1, 0x028387f2, 0x003127f7}}, Y: Field{[10]uint32{0x027227e1, 0x01231fab, 0x03a94bbb, 0x03b99847, 0x00c7ddb4, 0x00a2f9fe, 0x00baf9e6, 0x01ef4de7, 0x0112dfd0, 0x002996f1}}}, + {X: Field{[10]uint32{0x020fceae, 0x03c060c3, 0x010717a1, 0x0223a314, 0x023a6c6b, 0x035edd09, 0x03219406, 0x01d0f537, 0x0161b6ee, 0x00216c5f}}, Y: Field{[10]uint32{0x01868fef, 0x00c24b95, 0x02be892d, 0x00f9c13d, 0x03ebddc5, 0x03d2ffee, 0x006ce022, 0x007fad41, 0x00a274c7, 0x0008ae7a}}}, + {X: Field{[10]uint32{0x0117964f, 0x03d7153c, 0x0243e883, 0x030b2353, 0x023914af, 0x00158e7b, 0x03521895, 0x01dfc4f9, 0x037fe6d6, 0x00323874}}, Y: Field{[10]uint32{0x01bfc21e, 0x02b56ace, 0x008e4f88, 0x02d0daad, 0x03ee4a7a, 0x007e6525, 0x006ba559, 0x016a46bd, 0x0118d08f, 0x002c32b3}}}, + {X: Field{[10]uint32{0x0083836b, 0x001e29f9, 0x02dd9866, 0x02802e5e, 0x011a30ba, 0x00c44a65, 0x03d6f833, 0x02223169, 0x00307d25, 0x0037fb00}}, Y: Field{[10]uint32{0x02faa00d, 0x004ea42e, 0x0380956e, 0x002dbee5, 0x00f407ca, 0x00abe391, 0x00664168, 0x02511fbd, 0x0206bf2e, 0x001396a2}}}, + {X: Field{[10]uint32{0x030be9d6, 0x02535fdf, 0x00b20925, 0x01b97d35, 0x02c842ff, 0x0274c1db, 0x017618dc, 0x03631bbb, 0x00387c18, 0x003ab1b1}}, Y: Field{[10]uint32{0x0265b8d1, 0x008e9ac8, 0x021634e8, 0x019f5cd2, 0x0177a86a, 0x003fbaef, 0x031802ac, 0x006e0ae9, 0x03bffc0c, 0x000675a6}}}, + {X: Field{[10]uint32{0x03424cde, 0x0108046c, 0x019b74d6, 0x005672f2, 0x0069432c, 0x01fdab20, 0x0024db79, 0x0377b292, 0x004e04dc, 0x0027fce3}}, Y: Field{[10]uint32{0x01619ebc, 0x018886d4, 0x014f91d2, 0x0106e53d, 0x01266bd0, 0x033212e0, 0x005b0c93, 0x02effb7d, 0x0260b7c1, 0x003dcbe9}}}, + {X: Field{[10]uint32{0x01313f36, 0x03f19129, 0x02c1c146, 0x0277512c, 0x019153f6, 0x03f8a155, 0x01e4f8c4, 0x00ca4d7e, 0x013f3a5a, 0x00179e16}}, Y: Field{[10]uint32{0x02fd9c47, 0x02a6e6a2, 0x0114b89d, 0x02986cb4, 0x0358cbc5, 0x01758f25, 0x0195b700, 0x02f746cb, 0x0044dc63, 0x00276756}}}, + {X: Field{[10]uint32{0x01009ae4, 0x0321511c, 0x01b32d22, 0x0121debe, 0x020ad31a, 0x00f88870, 0x01ba38b0, 0x012dbec0, 0x03a48928, 0x002841f1}}, Y: Field{[10]uint32{0x03d9f6b5, 0x030da689, 0x014c4a0f, 0x002f1457, 0x03653b58, 0x0303e7ca, 0x0386cd5b, 0x019647b8, 0x02d46be4, 0x0001981c}}}, + {X: Field{[10]uint32{0x01b02af1, 0x03397e90, 0x028f4190, 0x023b308e, 0x02ff98e8, 0x01e4a65d, 0x02445ba6, 0x026117f8, 0x01d0308d, 0x0000907c}}, Y: Field{[10]uint32{0x03e194a9, 0x02dfaa29, 0x01c74366, 0x03bb16b2, 0x0209c881, 0x02be474c, 0x015723ad, 0x02a237e8, 0x03ecd413, 0x002219a5}}}, + {X: Field{[10]uint32{0x008a72fa, 0x02431af9, 0x01283c87, 0x005a2e6a, 0x02341860, 0x03ab0ed0, 0x015c6d26, 0x0241ba0f, 0x00d2627f, 0x000c67ba}}, Y: Field{[10]uint32{0x029eaa57, 0x033109cf, 0x032819d0, 0x014c197e, 0x01760344, 0x032d1631, 0x009f8491, 0x005b80d0, 0x02eda678, 0x00167925}}}, + {X: Field{[10]uint32{0x03ca4822, 0x0051896f, 0x038e1a26, 0x019864a1, 0x01e01008, 0x01a615d6, 0x03f4f7e9, 0x03e6f64d, 0x011a00fd, 0x000619a0}}, Y: Field{[10]uint32{0x01b7ae19, 0x01449a75, 0x0250172e, 0x00646990, 0x00585f03, 0x02d97e9f, 0x003a1316, 0x0272209e, 0x0065e85f, 0x00085781}}}, + {X: Field{[10]uint32{0x03992f26, 0x00bdda54, 0x00ce69ff, 0x016bdce5, 0x01398967, 0x033d9026, 0x03429fb8, 0x02400176, 0x02d70b94, 0x001fbfef}}, Y: Field{[10]uint32{0x00c7c749, 0x0026b210, 0x02aa7a1d, 0x01ab1b34, 0x03616d8b, 0x02fcb702, 0x016affac, 0x01b52d49, 0x01ba28f2, 0x001bbeed}}}, + {X: Field{[10]uint32{0x03168867, 0x0293494a, 0x00bf0957, 0x0199c3c5, 0x02665c8d, 0x00de54ac, 0x02e45c19, 0x0057c87f, 0x03d0e593, 0x003631ca}}, Y: Field{[10]uint32{0x0256fbcd, 0x011b186f, 0x02e6e5a9, 0x006cb266, 0x028a2da3, 0x01cff182, 0x01e2cc3a, 0x0029bf44, 0x0162fdd4, 0x0019300b}}}, + {X: Field{[10]uint32{0x00d0db4b, 0x0060c206, 0x0147abcf, 0x0147ead3, 0x0187bbfd, 0x002c35a4, 0x0396bbcb, 0x03ce050e, 0x0222ce64, 0x001c43b1}}, Y: Field{[10]uint32{0x0134d994, 0x00cc5391, 0x030c5496, 0x00dafaae, 0x013d275c, 0x0243d4c7, 0x029b9618, 0x00ebc30b, 0x0086526c, 0x003b7f44}}}, + {X: Field{[10]uint32{0x00d51ca6, 0x0131654c, 0x0334868e, 0x009e7930, 0x0370574f, 0x02021b76, 0x0168e763, 0x03b75270, 0x024b9aea, 0x002509e5}}, Y: Field{[10]uint32{0x004e2dd8, 0x00298457, 0x017af730, 0x03a9a131, 0x01e0026b, 0x00a160f6, 0x03b312e9, 0x00019fac, 0x01cf2a6b, 0x000442d0}}}, + {X: Field{[10]uint32{0x0355565f, 0x0166ce63, 0x00a5c46a, 0x00597aa9, 0x01c5a2e8, 0x036d8859, 0x03515c06, 0x03b6727a, 0x0035a8b3, 0x002bbde5}}, Y: Field{[10]uint32{0x0184b91d, 0x02c5e915, 0x012a0118, 0x0044f0d5, 0x03036535, 0x0250aaac, 0x00cb93d8, 0x03109714, 0x00f21274, 0x001985ba}}}, + {X: Field{[10]uint32{0x0074b5a3, 0x0319fccc, 0x03994a4a, 0x0339296b, 0x020f49f0, 0x0275cbc9, 0x03401935, 0x0018e9a3, 0x00323546, 0x000faf76}}, Y: Field{[10]uint32{0x00460238, 0x0254019e, 0x019beed8, 0x03cb238b, 0x02db7962, 0x00e575c4, 0x02ba318f, 0x0127bb43, 0x03d4b295, 0x000048d9}}}, + {X: Field{[10]uint32{0x026aeff2, 0x02d01790, 0x020dd729, 0x03894d35, 0x0019af86, 0x019cf212, 0x03c6bc3b, 0x0021c742, 0x025ec52b, 0x0028e367}}, Y: Field{[10]uint32{0x032cad02, 0x031d7a7c, 0x02a1cb01, 0x00a22b0d, 0x01f6d134, 0x03237935, 0x00955383, 0x01b1744e, 0x0371d9ae, 0x003af919}}}, + {X: Field{[10]uint32{0x00a7d624, 0x03b0d092, 0x01b0f9f4, 0x02845a40, 0x02334369, 0x0114b2e3, 0x00407f7b, 0x02ec6643, 0x0382619c, 0x0039f4a7}}, Y: Field{[10]uint32{0x03c4e614, 0x03b16d67, 0x02e0742b, 0x0052aa3b, 0x0315b6ce, 0x0175d85b, 0x00ce2304, 0x014581ae, 0x02d4618b, 0x001d6573}}}, + {X: Field{[10]uint32{0x0043ceae, 0x033bf3d0, 0x004edf81, 0x01738fa3, 0x007523de, 0x00063c03, 0x02333e26, 0x009ee52b, 0x02b02792, 0x003b21a7}}, Y: Field{[10]uint32{0x011ac92b, 0x02e9f71c, 0x01556ec6, 0x01dd9040, 0x03ca3fe5, 0x0399f60a, 0x00bdd264, 0x03210692, 0x02552c89, 0x0029086a}}}, + {X: Field{[10]uint32{0x02ec5e71, 0x003fcd71, 0x03ae7c07, 0x00f3809b, 0x026f0752, 0x01128d4a, 0x005c0571, 0x02322dbf, 0x0108e44a, 0x00115276}}, Y: Field{[10]uint32{0x02b5dd7a, 0x0044e2de, 0x0240f44c, 0x000069b5, 0x0164b486, 0x00b2371e, 0x0208c19e, 0x01f81040, 0x03200770, 0x001c7638}}}, + {X: Field{[10]uint32{0x01b070b2, 0x00512c29, 0x0385ff98, 0x00f4596c, 0x032cc7a5, 0x038501ac, 0x024f3813, 0x02e326c2, 0x029efef7, 0x00146edb}}, Y: Field{[10]uint32{0x0067044e, 0x0255ad69, 0x03befde5, 0x0372ab7c, 0x015268ee, 0x011b7df3, 0x031de11d, 0x013f4228, 0x03e9dd79, 0x00194a0a}}}, + {X: Field{[10]uint32{0x016d001f, 0x00fae81a, 0x013e45a8, 0x03536458, 0x02aa2027, 0x01239897, 0x0203afcd, 0x02aa0910, 0x02974c7c, 0x001f370c}}, Y: Field{[10]uint32{0x03519565, 0x014d2420, 0x00a36192, 0x0045b0b3, 0x026060a4, 0x00a27968, 0x00027a7a, 0x0156cede, 0x01433b1a, 0x002e4ae6}}}, + {X: Field{[10]uint32{0x009c9314, 0x02655d58, 0x02fc9030, 0x02e84051, 0x02aa478f, 0x0205e9af, 0x03722f6d, 0x0226da99, 0x02beb8e9, 0x000f2a71}}, Y: Field{[10]uint32{0x02ca2c0f, 0x01fc25b3, 0x00e4d6bb, 0x036af452, 0x0074c6e0, 0x0049328c, 0x006bba34, 0x006f0e0e, 0x017ff4b8, 0x001540bb}}}, + {X: Field{[10]uint32{0x01354d0c, 0x00447a2b, 0x00436864, 0x00a73248, 0x0390e1a2, 0x023b5798, 0x01bc1c83, 0x032b6bc0, 0x026c45ed, 0x002a8aaf}}, Y: Field{[10]uint32{0x0024f6cd, 0x03727cbe, 0x00d47c44, 0x02a21c55, 0x0295bb3d, 0x006e8ac9, 0x0061251f, 0x00c12893, 0x01c66f91, 0x0006e08a}}}, + {X: Field{[10]uint32{0x023bc7ee, 0x01a4db63, 0x0375a2ab, 0x02b7ef9b, 0x0375466a, 0x03dced83, 0x01f226de, 0x027564c6, 0x023df28c, 0x002d4b2b}}, Y: Field{[10]uint32{0x03cfe220, 0x00b6e222, 0x03a3a446, 0x0164b85f, 0x02421e07, 0x029f2562, 0x00738488, 0x00247732, 0x035e022c, 0x003afb9c}}}, + {X: Field{[10]uint32{0x0021ef54, 0x036414ce, 0x01661838, 0x030d1ed9, 0x01635469, 0x00d2585a, 0x01a62832, 0x0372d84f, 0x030362a6, 0x00304215}}, Y: Field{[10]uint32{0x00eaf517, 0x033e6cd3, 0x01cdec38, 0x03760ade, 0x0044511c, 0x002b531f, 0x002cac14, 0x02a3acb7, 0x02c8c1e6, 0x003f9910}}}, + {X: Field{[10]uint32{0x0308c11d, 0x00e5976b, 0x00768d5a, 0x0334be9b, 0x0383477f, 0x01908a41, 0x01454765, 0x0049fd67, 0x011cfcaf, 0x003c27a7}}, Y: Field{[10]uint32{0x03c15d10, 0x03e593a2, 0x009a27e8, 0x018f3fb3, 0x01a5b2e6, 0x0175fbf6, 0x0028fc9c, 0x03ec56fd, 0x03221f44, 0x0003c069}}}, + {X: Field{[10]uint32{0x015c4527, 0x0309dfd2, 0x0341a036, 0x017f80f4, 0x03fd3e80, 0x035c6d65, 0x00b3b179, 0x00fafb62, 0x02ef1e47, 0x00180918}}, Y: Field{[10]uint32{0x03a079c3, 0x0387db58, 0x02ce2844, 0x02c7ae74, 0x02fed2a9, 0x00fc8567, 0x02d9f235, 0x00773aaa, 0x00617141, 0x003e476d}}}, + {X: Field{[10]uint32{0x01bb582d, 0x0065ff82, 0x03c70720, 0x004c25ae, 0x016b828d, 0x0049a883, 0x00ae3558, 0x0267e841, 0x001e8e0d, 0x0009cea2}}, Y: Field{[10]uint32{0x004b0d5d, 0x00d2869a, 0x003da295, 0x01d5e68b, 0x00d1b407, 0x03ddadb0, 0x03b2f727, 0x02e45334, 0x005814a7, 0x0016ec9b}}}, + {X: Field{[10]uint32{0x000cd54d, 0x03237cba, 0x03d9f566, 0x00107691, 0x01e8cd05, 0x01bf263e, 0x02f41723, 0x032dcad0, 0x03460616, 0x001f077c}}, Y: Field{[10]uint32{0x03c41dd7, 0x02b58c13, 0x033b9390, 0x00bb059d, 0x0073153c, 0x02f04956, 0x03a8d456, 0x02e6f916, 0x020dd602, 0x002b4f9f}}}, + {X: Field{[10]uint32{0x01942f94, 0x0319544f, 0x006d3c62, 0x02c14e5e, 0x039ad644, 0x033a002d, 0x014551f3, 0x03c451ce, 0x0234657f, 0x001e5b89}}, Y: Field{[10]uint32{0x014f1c60, 0x0331f0a8, 0x01b11bb1, 0x01aa1003, 0x001e8ec6, 0x00c02069, 0x0080eb9c, 0x01c44431, 0x0238ed58, 0x002d96ef}}}, + {X: Field{[10]uint32{0x02302bd1, 0x02f7b586, 0x00206193, 0x016d80bf, 0x0062b056, 0x029990b2, 0x029953a2, 0x03da2a91, 0x01fa9985, 0x001789d8}}, Y: Field{[10]uint32{0x0253e274, 0x036eb15c, 0x030b4713, 0x036adf50, 0x003715c9, 0x0144d9f4, 0x0347c070, 0x013d740b, 0x03709db2, 0x0016e826}}}, + {X: Field{[10]uint32{0x03abe794, 0x0049b153, 0x010e6164, 0x008a636e, 0x005c004c, 0x02891ad0, 0x01ab0385, 0x00683fac, 0x0092fd34, 0x00119163}}, Y: Field{[10]uint32{0x03446725, 0x028f7635, 0x033eaf02, 0x02bbbb3c, 0x029d018f, 0x018fc729, 0x02fc3242, 0x0106e162, 0x028b3453, 0x00021675}}}, + {X: Field{[10]uint32{0x01153265, 0x00de6960, 0x0152c5c7, 0x00d32fee, 0x00a410e1, 0x01bd3989, 0x009ddc3d, 0x01f073ff, 0x0030bf81, 0x003f1206}}, Y: Field{[10]uint32{0x01322551, 0x0289e1d6, 0x02169a43, 0x017eb3a3, 0x038dfe38, 0x03676d2a, 0x0248e89f, 0x01f68512, 0x0228bd3d, 0x0028622c}}}, + {X: Field{[10]uint32{0x02ed03e6, 0x00984357, 0x01901779, 0x019a012b, 0x033a7804, 0x038abb6f, 0x0302742c, 0x029540f1, 0x027d9771, 0x0010b65d}}, Y: Field{[10]uint32{0x02d50417, 0x03a87096, 0x003ece89, 0x01a34376, 0x03d2e0f5, 0x000b490c, 0x02c782be, 0x03ccdce8, 0x032e9764, 0x0037da50}}}, + {X: Field{[10]uint32{0x01477148, 0x00bd386e, 0x004dcdc7, 0x03f74a38, 0x02462dee, 0x0057b644, 0x02602226, 0x02ca5dcb, 0x0049993a, 0x000dc48b}}, Y: Field{[10]uint32{0x0196e39d, 0x00e08316, 0x0008ef1d, 0x037a9549, 0x02410b3e, 0x01900ae3, 0x00422cc3, 0x03ef0ea8, 0x00f0924c, 0x00189ffd}}}, + {X: Field{[10]uint32{0x006896c3, 0x003a8697, 0x00bb7314, 0x015e972e, 0x013619a5, 0x01db87ab, 0x03e52cca, 0x03f2f9d0, 0x018294ba, 0x00271520}}, Y: Field{[10]uint32{0x038f7fcc, 0x00efc16c, 0x014c50b5, 0x02cc8252, 0x02ec0478, 0x01c14130, 0x031dafbf, 0x0214a3b1, 0x032eb88e, 0x0017f311}}}, + {X: Field{[10]uint32{0x025a2db9, 0x01a6e03d, 0x02a077ae, 0x01ff58fc, 0x000a5927, 0x01c48d82, 0x004e0251, 0x007da5d7, 0x02d7aa5b, 0x001ee75e}}, Y: Field{[10]uint32{0x017d1bf8, 0x03587f43, 0x0012fabf, 0x01729d5a, 0x02c4a7f1, 0x01453b2b, 0x01c14d6f, 0x0288a740, 0x02e8714a, 0x001b3787}}}, + {X: Field{[10]uint32{0x00a9a102, 0x00737a96, 0x0153e017, 0x0141b1df, 0x026990e9, 0x0107820b, 0x016d948e, 0x01582b59, 0x02f2c985, 0x002bd776}}, Y: Field{[10]uint32{0x00a5b505, 0x01607e7b, 0x003f5fd4, 0x0123bfe5, 0x011f6853, 0x03385ad6, 0x0039ff76, 0x01bfcf12, 0x011b7289, 0x0038d211}}}, + {X: Field{[10]uint32{0x0111293d, 0x03b2da48, 0x029a395b, 0x02d0538a, 0x01d26394, 0x03834559, 0x03ab3662, 0x02f46417, 0x0318e957, 0x0010999f}}, Y: Field{[10]uint32{0x02bbc7a5, 0x00083559, 0x022a2e57, 0x02c6bb2a, 0x033c0076, 0x03f895e5, 0x03fb16c1, 0x02ed8d39, 0x02b269e9, 0x000a2374}}}, + {X: Field{[10]uint32{0x00b276d7, 0x01506dd0, 0x03618587, 0x01857966, 0x029be971, 0x00c99973, 0x002a5a6f, 0x020c99d3, 0x021d50ab, 0x0017a71e}}, Y: Field{[10]uint32{0x03a11f17, 0x02115b57, 0x035b1a29, 0x0063b822, 0x02ec4664, 0x031c1d12, 0x0292c612, 0x02bd08d0, 0x00611f39, 0x00248a0d}}}, + {X: Field{[10]uint32{0x03ed8b2a, 0x0293ca37, 0x03c489a2, 0x001a2d1a, 0x038b52b5, 0x02cc82e5, 0x00d9ac97, 0x02d608ad, 0x03faf486, 0x00263183}}, Y: Field{[10]uint32{0x005280f9, 0x01eca6dd, 0x0132b580, 0x0212bb70, 0x0170416d, 0x001bb6f9, 0x02f42fa3, 0x01255604, 0x0113c253, 0x00287098}}}, + {X: Field{[10]uint32{0x0385babc, 0x01d66770, 0x0116cf0a, 0x007f6199, 0x03f30948, 0x00d43969, 0x0286e71f, 0x00b364f0, 0x01821ed5, 0x0024afea}}, Y: Field{[10]uint32{0x02c1ddb4, 0x02ba7b6c, 0x03cb802f, 0x024a545a, 0x036f5276, 0x037f893d, 0x0254e738, 0x02d2c6de, 0x0396c71a, 0x0028ff25}}}, + {X: Field{[10]uint32{0x025b865f, 0x025ce0be, 0x018c4ec1, 0x02e40eec, 0x037b7798, 0x000ac30d, 0x02413e84, 0x02d67eb3, 0x0008bd8e, 0x0026f89d}}, Y: Field{[10]uint32{0x027a2f61, 0x03a2ff69, 0x00027f54, 0x00a54093, 0x02def3ec, 0x02ee4b77, 0x02ed2c81, 0x01a8e5a3, 0x01801964, 0x00044215}}}, + {X: Field{[10]uint32{0x036350bc, 0x02e711a5, 0x018275b1, 0x01676e79, 0x037751bc, 0x0302462f, 0x0391ce38, 0x02c165ad, 0x026cb7ba, 0x0009f35a}}, Y: Field{[10]uint32{0x03faeda8, 0x03e03ba0, 0x00011a16, 0x01353fad, 0x032f41d0, 0x01a19479, 0x03761df0, 0x00ab17c4, 0x01678fce, 0x00224354}}}, + {X: Field{[10]uint32{0x0068f2eb, 0x022073bd, 0x00e1f5d8, 0x00f25bcc, 0x035f22be, 0x00319918, 0x00f6597a, 0x0184e532, 0x014daaf9, 0x003a25b8}}, Y: Field{[10]uint32{0x0196030b, 0x027cacec, 0x027260bb, 0x02136b74, 0x02efea7e, 0x03622eb2, 0x00d971af, 0x006ac771, 0x00b0512c, 0x002fac01}}}, + {X: Field{[10]uint32{0x013f8ec0, 0x030359f9, 0x033da54e, 0x0226142e, 0x03a9dd23, 0x03eacb03, 0x00b3779e, 0x0150058d, 0x0269ac48, 0x000938b4}}, Y: Field{[10]uint32{0x0219e525, 0x026a9600, 0x02460892, 0x016f907e, 0x03f5beda, 0x018e8168, 0x03ca2ca6, 0x0353080e, 0x02c2642b, 0x00379c0b}}}, + {X: Field{[10]uint32{0x001d1676, 0x0367025a, 0x03db95a9, 0x00077829, 0x009b5c4d, 0x02c48694, 0x010159b4, 0x03279175, 0x03c948c1, 0x0025e989}}, Y: Field{[10]uint32{0x033203d9, 0x01fba49b, 0x00b9ffef, 0x03e69f24, 0x018d5f3c, 0x03d75708, 0x02d43037, 0x0270a7f2, 0x015b5539, 0x00066f42}}}, + {X: Field{[10]uint32{0x0195b08f, 0x0354dc1c, 0x0014b40b, 0x01807e82, 0x0033ed67, 0x0274f214, 0x03234c7f, 0x03b17ddd, 0x0251e604, 0x0029c360}}, Y: Field{[10]uint32{0x00bccc4f, 0x009b542b, 0x01f4e0e1, 0x0225aa16, 0x0385325a, 0x031c4350, 0x012c016a, 0x00f78fc5, 0x010774e2, 0x0037ca36}}}, + {X: Field{[10]uint32{0x0242f42b, 0x023056be, 0x0012ea7c, 0x025cdbcd, 0x0327743a, 0x00f5e2c5, 0x001a0071, 0x0191cb38, 0x00434b27, 0x000b59db}}, Y: Field{[10]uint32{0x01fa7312, 0x03023ff2, 0x018ea024, 0x00f0ce52, 0x0052fa70, 0x0020ada1, 0x03b8f941, 0x0174c900, 0x01e406ef, 0x002f8a33}}}, + {X: Field{[10]uint32{0x00b29cf5, 0x0350ad00, 0x0172928f, 0x00a6d283, 0x0246c89d, 0x03c9f00d, 0x03857cfc, 0x01c9d576, 0x01e17516, 0x003d9b09}}, Y: Field{[10]uint32{0x03193201, 0x009b7a71, 0x01b6e059, 0x00c6eb5a, 0x028d2a02, 0x03670632, 0x0049150c, 0x02a21130, 0x02d422c4, 0x000fb88e}}}, + {X: Field{[10]uint32{0x02427060, 0x024f5f40, 0x01c6c293, 0x02b6393f, 0x01ce6e77, 0x013a3801, 0x004f81d2, 0x0361fbbd, 0x004b9d39, 0x0036e91f}}, Y: Field{[10]uint32{0x018d7622, 0x03b6eecf, 0x03597338, 0x022e7f3e, 0x015240f2, 0x0370ed71, 0x037eedd4, 0x00003c25, 0x0092e53d, 0x000b5719}}}, + {X: Field{[10]uint32{0x03e10f0f, 0x03e20549, 0x0301bbfd, 0x0197c20e, 0x0294788f, 0x024768ed, 0x015aedae, 0x01f71562, 0x01d94f62, 0x00285d80}}, Y: Field{[10]uint32{0x020a1183, 0x036100cd, 0x00890fa3, 0x016d178c, 0x020baded, 0x026416ce, 0x03025bd9, 0x006c56be, 0x03c8cfea, 0x001d0227}}}, + {X: Field{[10]uint32{0x0180e141, 0x03ce84d3, 0x003d5188, 0x030d53ae, 0x011c24c6, 0x03edeb23, 0x0261a125, 0x03fa41f8, 0x009fb84a, 0x00375c0c}}, Y: Field{[10]uint32{0x00bed563, 0x00d94d51, 0x018682a8, 0x019bd955, 0x024bdfd5, 0x03223777, 0x035b7862, 0x029dfe74, 0x02c0ac93, 0x000c8052}}}, + {X: Field{[10]uint32{0x03037afd, 0x015dda21, 0x003f783b, 0x024e4832, 0x03cadefb, 0x0131a8bc, 0x01253f00, 0x02ebe5c0, 0x003de746, 0x001e7f54}}, Y: Field{[10]uint32{0x00a61b93, 0x035a437b, 0x0317f1e0, 0x000023a2, 0x0286a4e6, 0x011e948f, 0x0220c266, 0x0024c4fe, 0x02586318, 0x000f172d}}}, + {X: Field{[10]uint32{0x020ff6a0, 0x00b048ae, 0x009566b9, 0x022a4d58, 0x021e7265, 0x01a8a692, 0x00eb8961, 0x0358ec7d, 0x037d77c7, 0x00346abc}}, Y: Field{[10]uint32{0x00a93bec, 0x004e514f, 0x0232ecfd, 0x0276766b, 0x00c7cac3, 0x03d0d6f7, 0x01f0e0bb, 0x02e81caf, 0x03ae5cfb, 0x00394d6d}}}, + {X: Field{[10]uint32{0x02d93c4f, 0x0149d5ea, 0x016445c7, 0x01635966, 0x01fe525d, 0x033690d1, 0x02b74fc2, 0x03652e6d, 0x0382b351, 0x001a3fc6}}, Y: Field{[10]uint32{0x0065a13c, 0x0063cead, 0x0192b798, 0x01d21460, 0x019186e3, 0x01764ef7, 0x02194aac, 0x02b02341, 0x02f1c422, 0x002aeec3}}}, + {X: Field{[10]uint32{0x0210552d, 0x00701665, 0x0224a5c4, 0x02898bb3, 0x0314393e, 0x01329921, 0x01b73bcf, 0x00f97417, 0x00971806, 0x00089e17}}, Y: Field{[10]uint32{0x021d8774, 0x00606aab, 0x018c4157, 0x0128972e, 0x021933e6, 0x029d735b, 0x005e75c8, 0x02a03093, 0x026ad7a7, 0x00270200}}}, + {X: Field{[10]uint32{0x035ffebf, 0x007c9113, 0x00580889, 0x018e9df6, 0x02e26780, 0x03f085d8, 0x00662583, 0x02dd5d7c, 0x01e7563f, 0x00189b2d}}, Y: Field{[10]uint32{0x028498b4, 0x01c32f19, 0x0211cce1, 0x0289598b, 0x01953a6d, 0x02a61470, 0x01161845, 0x030fc90d, 0x03f672c3, 0x00020da7}}}, + {X: Field{[10]uint32{0x00d12d2a, 0x01a3d6a0, 0x01ac55e6, 0x0392dbeb, 0x0061c8c4, 0x022293ca, 0x03fa430b, 0x01841603, 0x02f4d6f4, 0x002a67c3}}, Y: Field{[10]uint32{0x01053d06, 0x03fccfac, 0x00d3e28f, 0x012be0c1, 0x024e2f06, 0x02b8abbd, 0x0002c406, 0x00020dde, 0x032939db, 0x0025cab7}}}, + {X: Field{[10]uint32{0x03f02645, 0x00c77a71, 0x03e61019, 0x00f32acf, 0x03784afe, 0x03efa52a, 0x000a3fbd, 0x02cb6f2e, 0x02272ff0, 0x002c90f3}}, Y: Field{[10]uint32{0x020b7559, 0x0011238d, 0x03e9f41a, 0x0161188a, 0x023e85b8, 0x03a9460d, 0x0233df8f, 0x0320831c, 0x0119fbb8, 0x0036cbab}}}, + {X: Field{[10]uint32{0x0363deb3, 0x037d5c10, 0x022f3f8b, 0x019150c8, 0x0143efb2, 0x002877fd, 0x031b21a0, 0x02d8b1a9, 0x009d685c, 0x0031d38f}}, Y: Field{[10]uint32{0x01c4b2ec, 0x00d121bb, 0x03ed4387, 0x02d87a0c, 0x025cd550, 0x013bed86, 0x00358efc, 0x00f4168e, 0x0261fbf2, 0x00261f60}}}, + {X: Field{[10]uint32{0x01f71c47, 0x01bbc377, 0x03047888, 0x03090f70, 0x01d34710, 0x03025ba7, 0x00885f34, 0x01352f47, 0x00a7fc98, 0x003fcbd9}}, Y: Field{[10]uint32{0x006e906d, 0x006a16a8, 0x0249765e, 0x0035e17c, 0x0309eac6, 0x01a43035, 0x02c91257, 0x00bf7c7b, 0x0258fd5e, 0x00053018}}}, + {X: Field{[10]uint32{0x03712085, 0x0188506e, 0x01badec1, 0x0053da86, 0x026819b5, 0x0103dd0e, 0x02e8a8b1, 0x02ac934d, 0x00e13f4c, 0x001f64b1}}, Y: Field{[10]uint32{0x01b698c8, 0x01bd05a0, 0x033d1b72, 0x00839af8, 0x003e0dc9, 0x0369a1ae, 0x03193309, 0x035f4aa6, 0x03622ec7, 0x00181ad5}}}, + {X: Field{[10]uint32{0x03e13b6c, 0x03495183, 0x01518a0b, 0x0083fef3, 0x024ce0cc, 0x01e54580, 0x009487c7, 0x014a2627, 0x014d9ef4, 0x0000e90f}}, Y: Field{[10]uint32{0x01deb36e, 0x028ff036, 0x01912dfb, 0x02854d26, 0x00eedad2, 0x01ac49aa, 0x0228d61e, 0x024179ae, 0x03255768, 0x0017c934}}}, + {X: Field{[10]uint32{0x02a25f8f, 0x010a9b3b, 0x02308673, 0x0016cf19, 0x026e59fd, 0x01c74317, 0x00c67e73, 0x01793457, 0x03028010, 0x000239cb}}, Y: Field{[10]uint32{0x016b368e, 0x00767782, 0x015099ea, 0x02b66ef7, 0x031eada5, 0x01ede6c0, 0x01870da4, 0x02e1b7c2, 0x005158fd, 0x00025377}}}, + {X: Field{[10]uint32{0x00ef54dd, 0x03404f33, 0x02d6bfd9, 0x02c3961c, 0x02ab8789, 0x00d0fc4b, 0x037f9d18, 0x009d8b29, 0x00236dc0, 0x002e273f}}, Y: Field{[10]uint32{0x011141cd, 0x01ee4110, 0x0037d2ba, 0x0173c7dd, 0x01c3ad13, 0x03e18344, 0x02ce6f9d, 0x0265ad29, 0x028545a5, 0x0027269c}}}, + {X: Field{[10]uint32{0x01ccb59b, 0x03924410, 0x03ebbc64, 0x00f8b11c, 0x016744a4, 0x01892ced, 0x0190b535, 0x01a2d2ec, 0x00089798, 0x003a17b8}}, Y: Field{[10]uint32{0x02cbd6a2, 0x01d69484, 0x01723a80, 0x022fe10b, 0x010e1c9a, 0x01fb7747, 0x03e3b3d0, 0x03143089, 0x030f9ede, 0x0034ebf9}}}, + {X: Field{[10]uint32{0x02cb97b5, 0x035764ed, 0x01b3bfb0, 0x0144e645, 0x02f7f906, 0x0144d019, 0x00c8e16d, 0x01b4564f, 0x03f2774d, 0x0036375a}}, Y: Field{[10]uint32{0x035e26f4, 0x015bd294, 0x02b2c6d2, 0x03464544, 0x0325f7e6, 0x0217a7e2, 0x0031862b, 0x013cfc45, 0x00945f73, 0x0016880c}}}, + {X: Field{[10]uint32{0x02aa94e8, 0x00e1689d, 0x02aec3e6, 0x03be634d, 0x00033968, 0x0344cf61, 0x03bd5545, 0x02f7ad17, 0x01c5328f, 0x001df820}}, Y: Field{[10]uint32{0x00c2959a, 0x02daf845, 0x01669c0c, 0x02de4688, 0x00ba597f, 0x03820141, 0x026291a3, 0x03cbe116, 0x03f7ca25, 0x000b3a14}}}, + {X: Field{[10]uint32{0x03c904ab, 0x0311e7d9, 0x018c4fb9, 0x00f6c6b4, 0x02b5b920, 0x0127c1e8, 0x020b82f5, 0x025a09a0, 0x02eae8a4, 0x001441e1}}, Y: Field{[10]uint32{0x039cd96b, 0x025a19eb, 0x018a8fbd, 0x0307aac7, 0x00b39382, 0x0077219d, 0x03e21ae7, 0x031a7fd8, 0x03854e4d, 0x003704c0}}}, + {X: Field{[10]uint32{0x0242639d, 0x0109e268, 0x00ddabb6, 0x00cceaf0, 0x021169e4, 0x00203430, 0x0121056e, 0x0356d930, 0x02b3fbda, 0x000beebf}}, Y: Field{[10]uint32{0x00405cd3, 0x03e29f05, 0x031c92f3, 0x03257a97, 0x015ff199, 0x0074face, 0x019ef0a1, 0x02853796, 0x002fd9e6, 0x0002a176}}}, + {X: Field{[10]uint32{0x0312ae0a, 0x00ad791e, 0x02ae673b, 0x002478a3, 0x02aec808, 0x02d7c031, 0x03fbbc26, 0x0118f07c, 0x03eb6e6e, 0x0008036f}}, Y: Field{[10]uint32{0x03a95ecf, 0x0370072e, 0x0344ac59, 0x01dbf346, 0x03832127, 0x01524609, 0x021f0711, 0x00f65e0f, 0x0219bdaa, 0x001214a8}}}, + {X: Field{[10]uint32{0x00b8a3d9, 0x03fcaf89, 0x00ab41ac, 0x01c95086, 0x013ec225, 0x014b36e1, 0x03d46b6e, 0x03df7024, 0x00f60259, 0x0009ec50}}, Y: Field{[10]uint32{0x00583387, 0x02a9fff0, 0x00f7bc85, 0x018dc69d, 0x0228bb5d, 0x004c38c4, 0x00054c4f, 0x02b6eb50, 0x009f70cb, 0x000f3bb4}}}, + {X: Field{[10]uint32{0x015b7e71, 0x03592afa, 0x00a0fcd1, 0x032b5ca3, 0x000e175c, 0x0130ac0b, 0x022ec351, 0x014c4608, 0x01ee535c, 0x003f9250}}, Y: Field{[10]uint32{0x011f56f6, 0x01c013b9, 0x0370ed35, 0x03796172, 0x03748e0a, 0x02992b68, 0x01cb4422, 0x01946f62, 0x01ae286d, 0x003a7372}}}, + {X: Field{[10]uint32{0x01ff1cdf, 0x00e4979d, 0x01d885a0, 0x03b5664d, 0x030ce47c, 0x016f8bc5, 0x03443d76, 0x0252f4db, 0x009b4cae, 0x000c5f48}}, Y: Field{[10]uint32{0x02262d72, 0x01297ae2, 0x02864543, 0x037de298, 0x02c942a5, 0x02daa007, 0x03945af4, 0x015c703f, 0x009568fe, 0x00030645}}}, + {X: Field{[10]uint32{0x0093f9ea, 0x026850f3, 0x02cead9f, 0x002d64f3, 0x03df32e8, 0x00543a6a, 0x005f8ab0, 0x00c391dc, 0x0377764e, 0x003e5469}}, Y: Field{[10]uint32{0x03afd925, 0x01c3c548, 0x03052655, 0x00ec46b8, 0x026ac261, 0x004b3777, 0x00cc6b8b, 0x0088fb9b, 0x01d625f2, 0x003bee54}}}, + {X: Field{[10]uint32{0x0389c8ef, 0x007cd10c, 0x0284d309, 0x03d9b968, 0x024f251a, 0x03f925aa, 0x03229a9f, 0x023a2fc3, 0x00ebf5fd, 0x001c6b7c}}, Y: Field{[10]uint32{0x036969f4, 0x039957da, 0x0242539c, 0x01cb9d9d, 0x0198ed56, 0x0371ceb7, 0x00dfdf72, 0x0154d99d, 0x0063293a, 0x0004fd1d}}}, + {X: Field{[10]uint32{0x0236be75, 0x00471140, 0x02ea5009, 0x007a07db, 0x02c3fbab, 0x03518d04, 0x01cff39a, 0x03a03526, 0x000658c0, 0x0000ba81}}, Y: Field{[10]uint32{0x014f923f, 0x018ef225, 0x02234291, 0x03b7fbb8, 0x03d82c08, 0x02682938, 0x01743d20, 0x00dc87c2, 0x00740607, 0x0002f94b}}}, + {X: Field{[10]uint32{0x02182aea, 0x02df946d, 0x009350d9, 0x00b6589e, 0x03a37344, 0x00fc2c7c, 0x00c42223, 0x020309d4, 0x03904b3e, 0x00108d48}}, Y: Field{[10]uint32{0x01221d91, 0x03fb59f6, 0x02966395, 0x023e053e, 0x000fe09e, 0x02580c89, 0x008e48ba, 0x014598c3, 0x0349b27b, 0x001fd608}}}, + {X: Field{[10]uint32{0x027dda91, 0x03eae7be, 0x00e53771, 0x027b7023, 0x017702a2, 0x026af82d, 0x0064bf8e, 0x00a16e58, 0x0082a92b, 0x0014934f}}, Y: Field{[10]uint32{0x00f29c3a, 0x011c903c, 0x01894ec7, 0x01dc34fb, 0x00366a84, 0x00c6ff57, 0x0368e053, 0x02cb7352, 0x0217fdc6, 0x00291e80}}}, + {X: Field{[10]uint32{0x0056f7e8, 0x02eb85b0, 0x00c48776, 0x02bf45af, 0x000fc83c, 0x008c8ca7, 0x02eb5f5f, 0x013799aa, 0x02085ce0, 0x003dbb87}}, Y: Field{[10]uint32{0x00cea4d9, 0x01ab1b6f, 0x03c75c2f, 0x017462c9, 0x00ccbc95, 0x0251f5ed, 0x01939774, 0x03526aa8, 0x026a7e2b, 0x000cca2c}}}, + {X: Field{[10]uint32{0x03273978, 0x01345ac5, 0x03dae313, 0x01be6f64, 0x002ea84e, 0x0141df48, 0x02b5d119, 0x00505dc8, 0x012bb88f, 0x00270bdf}}, Y: Field{[10]uint32{0x01ab2a3a, 0x006f8f0b, 0x007daa57, 0x032bb94c, 0x01d338a4, 0x031795af, 0x033c5927, 0x02d0d739, 0x000366c8, 0x0004227c}}}, + {X: Field{[10]uint32{0x0299cc3c, 0x0204f1b2, 0x0228f9b9, 0x01ed23bf, 0x0305897b, 0x014eb879, 0x0124f152, 0x02db947f, 0x02b6730f, 0x00164e87}}, Y: Field{[10]uint32{0x0344f079, 0x00cc005d, 0x00ace404, 0x006a8ec7, 0x0109e35c, 0x03dd3946, 0x003a6300, 0x00b646f0, 0x0020fbd2, 0x003f3ede}}}, + {X: Field{[10]uint32{0x01f957e3, 0x00d4ac54, 0x039f40ef, 0x03ff7968, 0x028ec0ea, 0x01fe1e97, 0x004bc603, 0x02eb32f3, 0x00c383a7, 0x0018ae84}}, Y: Field{[10]uint32{0x007bdd45, 0x01fa7f33, 0x020bec2a, 0x003b5e99, 0x019fd01e, 0x02828940, 0x025fa19a, 0x02858695, 0x01b0dc84, 0x003099e8}}}, + {X: Field{[10]uint32{0x03731f64, 0x00f18657, 0x03c6a6d7, 0x0240529d, 0x0239e123, 0x00e92a76, 0x03641fe0, 0x018a858f, 0x0010deae, 0x000778ab}}, Y: Field{[10]uint32{0x03c8d2b2, 0x0106a276, 0x00006d71, 0x017e9bd4, 0x00a512b7, 0x0208853f, 0x027b5ad7, 0x025a7410, 0x0095b6d7, 0x00183d0f}}}, + {X: Field{[10]uint32{0x03d4e1d3, 0x0105b083, 0x02a6da43, 0x01c5ab2e, 0x00c48e92, 0x005dcbc6, 0x01086123, 0x020f220f, 0x01527090, 0x003c4695}}, Y: Field{[10]uint32{0x02d742f4, 0x024d4528, 0x03f4cdf5, 0x015368bc, 0x002be515, 0x02356cec, 0x00e397b3, 0x023106db, 0x01647cf4, 0x0029b42b}}}, + {X: Field{[10]uint32{0x00dc33fc, 0x02ba5b5f, 0x0243d2ae, 0x00fc45b0, 0x013dbad4, 0x032971fd, 0x015cc01f, 0x025f9487, 0x0240d756, 0x003d1151}}, Y: Field{[10]uint32{0x02549102, 0x0213de59, 0x026cfb37, 0x01af133d, 0x036b2599, 0x029d3b21, 0x02d70531, 0x01dc1175, 0x00ef46fe, 0x0010a5cb}}}, + {X: Field{[10]uint32{0x01b8780a, 0x00bb2368, 0x01ad4cad, 0x023423b3, 0x0110905b, 0x02cc67eb, 0x03c20fa3, 0x0019f06d, 0x007397be, 0x000afebc}}, Y: Field{[10]uint32{0x02590285, 0x03314993, 0x03cd5775, 0x02c57e08, 0x039077de, 0x025c3d3e, 0x028bdee9, 0x03259cf4, 0x0099ea97, 0x003b5499}}}, + {X: Field{[10]uint32{0x00f5f73b, 0x03153dd3, 0x01222cfe, 0x01623b5a, 0x026df6e0, 0x0108bdce, 0x023ca163, 0x03b642f7, 0x00812b5f, 0x003f06af}}, Y: Field{[10]uint32{0x032b975f, 0x03444da5, 0x01d8faf0, 0x01bd3fa7, 0x007ac68f, 0x02c73471, 0x00481dc4, 0x03f2f91a, 0x02db471c, 0x0036c71b}}}, + {X: Field{[10]uint32{0x00506a8d, 0x01db9bd3, 0x00c76124, 0x017ef8c7, 0x01b717d6, 0x024f00ab, 0x036f92d2, 0x00be6e8d, 0x02ac82e0, 0x00360e30}}, Y: Field{[10]uint32{0x01189377, 0x01ecc68d, 0x02ae251d, 0x032cf83d, 0x03532dd1, 0x01faac48, 0x0176f6ca, 0x03e380f0, 0x00670388, 0x00361e8c}}}, + {X: Field{[10]uint32{0x013ee38c, 0x025f81ac, 0x004b92f6, 0x03c4ce87, 0x0132c53f, 0x0269794e, 0x019d54ca, 0x015d2689, 0x02ff0729, 0x0012cea0}}, Y: Field{[10]uint32{0x028d6265, 0x02cc1d6e, 0x0229032d, 0x012f95c2, 0x00bf6073, 0x03205484, 0x026a0c46, 0x0115b4fd, 0x0341a788, 0x00110dca}}}, + {X: Field{[10]uint32{0x00e411aa, 0x035ab4ff, 0x002f20b8, 0x02438de7, 0x008e79d2, 0x02f54bdc, 0x01eaf6a9, 0x02b538c9, 0x03f36731, 0x0035df2e}}, Y: Field{[10]uint32{0x038372f0, 0x026fe13f, 0x01b50525, 0x019928e1, 0x02051f42, 0x0122f6a6, 0x02812377, 0x004f1e46, 0x0125f078, 0x003b919b}}}, + {X: Field{[10]uint32{0x02ea1483, 0x03f1b4bb, 0x006ec84e, 0x00b303c7, 0x03bed187, 0x014eb0c1, 0x00a75dc9, 0x002e09bb, 0x02b25892, 0x000e19fd}}, Y: Field{[10]uint32{0x0388aee3, 0x019c4d6b, 0x01cf4b82, 0x03d1a2b0, 0x01254d70, 0x032a7172, 0x013ff18d, 0x02025e80, 0x02dce607, 0x00331a9a}}}, + {X: Field{[10]uint32{0x001b0a9a, 0x02d4bbf3, 0x01279930, 0x026301ed, 0x032123fe, 0x0083dfc5, 0x00ea7dff, 0x03213d86, 0x0075e85f, 0x001ec022}}, Y: Field{[10]uint32{0x03075f90, 0x0159802f, 0x03904a8c, 0x00d2d42e, 0x02331f78, 0x00541dcb, 0x0055a1c4, 0x0245a697, 0x00bb8dbc, 0x000fcecc}}}, + {X: Field{[10]uint32{0x0234ef3a, 0x02875de3, 0x009a5ba7, 0x01e81369, 0x02907e9b, 0x01352de5, 0x01795600, 0x0129261d, 0x00d91630, 0x002e96d1}}, Y: Field{[10]uint32{0x03333661, 0x0131d6f3, 0x01e13f87, 0x01d8fb4e, 0x024d47ea, 0x00373537, 0x02e124f0, 0x0278ee6e, 0x03aa4821, 0x0005ad26}}}, + {X: Field{[10]uint32{0x02b8d9df, 0x0358a738, 0x03594342, 0x0084d568, 0x02910fe5, 0x016fe991, 0x02b3a23b, 0x00483614, 0x03e27fe4, 0x001a47ab}}, Y: Field{[10]uint32{0x02c71d85, 0x01fe7e2d, 0x02878188, 0x007712f2, 0x01bd71ea, 0x01489f6f, 0x0294fd6a, 0x013729f0, 0x00974218, 0x0010e818}}}, + {X: Field{[10]uint32{0x00a54123, 0x001b9215, 0x002d8440, 0x035f0dd5, 0x01551377, 0x01177299, 0x0173e38a, 0x02a1bcd4, 0x00bbc9f5, 0x00004e9b}}, Y: Field{[10]uint32{0x00488620, 0x00625202, 0x004b884d, 0x023cc08f, 0x028a43d3, 0x03a3ebe7, 0x01cc2e62, 0x01367bff, 0x009c9a96, 0x003b3ce0}}}, + {X: Field{[10]uint32{0x02f10e45, 0x00ba3579, 0x036ceb71, 0x0080b730, 0x02da6654, 0x02d3c396, 0x01731e91, 0x01734a4f, 0x02f3fb59, 0x000cff4a}}, Y: Field{[10]uint32{0x018ed2cf, 0x00c79802, 0x00c31f63, 0x00c6cea5, 0x0280ca53, 0x00233e8e, 0x0181bf98, 0x0376912e, 0x007a0a8b, 0x00389a8c}}}, + {X: Field{[10]uint32{0x00b774f6, 0x02f962cd, 0x0244c15c, 0x02608bd3, 0x03b00332, 0x029d6124, 0x033ba575, 0x01fde1da, 0x003359e4, 0x001d6550}}, Y: Field{[10]uint32{0x020458a9, 0x01c0f797, 0x01253f8e, 0x00729eb4, 0x00b6e665, 0x0110b000, 0x02998553, 0x015a36c2, 0x004070b8, 0x001fba68}}}, + {X: Field{[10]uint32{0x035b9480, 0x0176965b, 0x032f3650, 0x01944340, 0x00b3dd36, 0x01052fbd, 0x0015e7e8, 0x01f9a13a, 0x03b0c3b1, 0x001e4667}}, Y: Field{[10]uint32{0x03d9a0ab, 0x02b0fb94, 0x021b5054, 0x020d0646, 0x00abaab3, 0x0128156e, 0x03aacba5, 0x03273fbc, 0x0173f358, 0x00256f2a}}}, + {X: Field{[10]uint32{0x011aa352, 0x01c00029, 0x017b5d6d, 0x0306b226, 0x006edd0b, 0x028cff50, 0x03ed64e0, 0x03382cb9, 0x00e7962e, 0x0025c17d}}, Y: Field{[10]uint32{0x019ff347, 0x0375ca12, 0x0399db2b, 0x0157dc6a, 0x0058f408, 0x024875b6, 0x026193d8, 0x011ea284, 0x0357ad45, 0x00135339}}}, + {X: Field{[10]uint32{0x012fd777, 0x0368f38c, 0x02e12df7, 0x01d6e2c5, 0x01cadeeb, 0x00dd99d3, 0x0160b983, 0x02ad7cc1, 0x0067b841, 0x002206bc}}, Y: Field{[10]uint32{0x0083b84f, 0x0337b24d, 0x037019ac, 0x00f468e8, 0x017588be, 0x02c512c7, 0x010f62d8, 0x03c175f0, 0x03d4512e, 0x0033304f}}}, + {X: Field{[10]uint32{0x00e99621, 0x0357d704, 0x012fb1f6, 0x02dcbf50, 0x0041bfc3, 0x01eb41e5, 0x02e14cd9, 0x032763d0, 0x024433c2, 0x003fa3de}}, Y: Field{[10]uint32{0x02b3b2a9, 0x00ff752d, 0x026572a9, 0x03cf311a, 0x034c8bab, 0x0211b1e6, 0x01c4ee3a, 0x010dd25b, 0x02ee0cf3, 0x00396d5d}}}, + {X: Field{[10]uint32{0x004d798f, 0x024eaf17, 0x006cb918, 0x01927814, 0x0384f400, 0x00f0d3a0, 0x012f8320, 0x022ce0fe, 0x00da18e0, 0x003fd0f2}}, Y: Field{[10]uint32{0x01df2e7f, 0x01f6c05f, 0x02fd5242, 0x00ce92ec, 0x02f5a754, 0x02076f61, 0x009dde19, 0x03680b03, 0x005923a9, 0x00295d68}}}, + {X: Field{[10]uint32{0x00db276b, 0x031bf54a, 0x00a42ed3, 0x0105cd9e, 0x03d8f9d8, 0x012ec6cc, 0x00852427, 0x0138844d, 0x0056b97f, 0x00011c54}}, Y: Field{[10]uint32{0x014302b2, 0x03e88061, 0x0212fcab, 0x03b99beb, 0x0073a18b, 0x02e62a8a, 0x00cd71ef, 0x03c767fa, 0x01463521, 0x002d3034}}}, + {X: Field{[10]uint32{0x031fff51, 0x0121c709, 0x00814974, 0x03acc6a2, 0x02acd85e, 0x02e0f9fb, 0x0251394c, 0x00756b0a, 0x0008c5f5, 0x00217276}}, Y: Field{[10]uint32{0x03666a7d, 0x024aef96, 0x01eb8b49, 0x0034660b, 0x02018505, 0x01bb1fd7, 0x0191454d, 0x026e219a, 0x03bf2382, 0x0000a9f0}}}, + {X: Field{[10]uint32{0x0170dac9, 0x0265fe5f, 0x02f24529, 0x031db5b4, 0x03f46b60, 0x000d1173, 0x00b4b259, 0x00da380f, 0x00ef8b1e, 0x00300ae5}}, Y: Field{[10]uint32{0x0325f3a0, 0x00d0f079, 0x021d680a, 0x028ab3e5, 0x0310fadb, 0x037874a2, 0x0017825a, 0x02079235, 0x0129bcff, 0x002eee5f}}}, + {X: Field{[10]uint32{0x00241df6, 0x011caa0e, 0x02db3e29, 0x018ffb9e, 0x020fcb8b, 0x034d4e87, 0x01ac4393, 0x01bdf90c, 0x03bd28e2, 0x0012c564}}, Y: Field{[10]uint32{0x02fdcc56, 0x0138d3bc, 0x00ef0d6e, 0x022cf332, 0x003f184f, 0x02b27616, 0x0225b113, 0x01a15498, 0x0328f496, 0x002299e9}}}, + {X: Field{[10]uint32{0x02a64dd4, 0x007353c9, 0x00dd231d, 0x01b92e77, 0x037a8e7f, 0x0354a1a6, 0x02505559, 0x037b8eb5, 0x015bba51, 0x003d901d}}, Y: Field{[10]uint32{0x0287e1c8, 0x03414e5b, 0x00882a48, 0x03215745, 0x0391e0e3, 0x03092b01, 0x0029f6ee, 0x00a42f53, 0x0000a53e, 0x001ce1fe}}}, + {X: Field{[10]uint32{0x0389515b, 0x01da5e5d, 0x0206e022, 0x008a4529, 0x0016d0a5, 0x01c233be, 0x036f42cd, 0x00db18f7, 0x02a94368, 0x002524d1}}, Y: Field{[10]uint32{0x00e2b356, 0x00e0ee6a, 0x00073031, 0x034fb797, 0x0031dd41, 0x021d505d, 0x025c847b, 0x000807bd, 0x032d952a, 0x002a40e4}}}, + {X: Field{[10]uint32{0x03f91a60, 0x01802299, 0x0245cde4, 0x020f172f, 0x02cdcc97, 0x026308bc, 0x010b1f66, 0x03b7f08e, 0x019ec769, 0x00060902}}, Y: Field{[10]uint32{0x011bd1e2, 0x0109d9cc, 0x02ae0adf, 0x0200de24, 0x02804a87, 0x03e82238, 0x02051f3b, 0x013755b3, 0x01fa81e0, 0x0003e101}}}, + {X: Field{[10]uint32{0x0201d341, 0x022b3475, 0x022f92ec, 0x02484e71, 0x00683aa7, 0x03a57cf7, 0x005f34cc, 0x00f64a20, 0x03d8e463, 0x0039ad1b}}, Y: Field{[10]uint32{0x001d824a, 0x0074c033, 0x011d1639, 0x02930a0e, 0x00d6c0be, 0x032fd636, 0x00faf4a7, 0x0298e94a, 0x0013f3fe, 0x0014cf6e}}}, + {X: Field{[10]uint32{0x03992b93, 0x010db3ff, 0x0015d60a, 0x014bc5d8, 0x03a04c62, 0x03504e74, 0x00d150d3, 0x02c63752, 0x0330dc19, 0x0018de66}}, Y: Field{[10]uint32{0x02dcc41b, 0x0336c345, 0x015073c3, 0x032cae8d, 0x0007f485, 0x03c1905e, 0x00e72f5f, 0x0137bb40, 0x01125ebf, 0x00098814}}}, + {X: Field{[10]uint32{0x02ad7338, 0x028a7c4b, 0x01676670, 0x00927c7f, 0x037fac53, 0x038dc2c3, 0x01b88d3a, 0x0280b7a1, 0x035ab1d5, 0x0023340b}}, Y: Field{[10]uint32{0x00c0d8e4, 0x03c2586f, 0x006278e2, 0x03bb10e4, 0x03511d56, 0x02f26ee9, 0x02cb70f0, 0x02275984, 0x02acceb6, 0x000d62d0}}}, + {X: Field{[10]uint32{0x01f82fab, 0x0286a7b7, 0x00991d3e, 0x0199282a, 0x01f76127, 0x03ccec19, 0x01aba41b, 0x034777a5, 0x03e6d48b, 0x00357859}}, Y: Field{[10]uint32{0x0271d1f7, 0x0309a1ab, 0x03d70849, 0x0188e095, 0x02aaf45f, 0x03361ab8, 0x00ec9cb3, 0x0337d3f1, 0x0182d653, 0x001b308e}}}, + {X: Field{[10]uint32{0x009bfdba, 0x006773df, 0x030cf4ff, 0x01096192, 0x01d72b19, 0x01fc0306, 0x034f09d9, 0x03cb7c4c, 0x01006987, 0x003101cd}}, Y: Field{[10]uint32{0x037ff262, 0x003274ff, 0x00ca82bf, 0x002b295a, 0x02b760ff, 0x000de3e0, 0x03366bf3, 0x004c9aa6, 0x00466b46, 0x003d959a}}}, + {X: Field{[10]uint32{0x00c4fde2, 0x0031eabc, 0x02b91184, 0x0303ecb7, 0x0229a7c2, 0x020e0c63, 0x0221db2a, 0x006fec22, 0x02719c50, 0x000277c7}}, Y: Field{[10]uint32{0x02d00fc0, 0x014c973e, 0x03ea580a, 0x016d0f7b, 0x03e977c7, 0x024079c0, 0x0315ae54, 0x00300ac0, 0x00ae6d0e, 0x003358a3}}}, + {X: Field{[10]uint32{0x024c696c, 0x022e134a, 0x0165b7d0, 0x01242b5c, 0x031c91c2, 0x0248b165, 0x03108ee6, 0x030c2408, 0x0029df73, 0x002545d9}}, Y: Field{[10]uint32{0x01c0fbe4, 0x0021b2fa, 0x000cbdd8, 0x02dc901d, 0x011994fb, 0x00dd724a, 0x02084700, 0x036f3208, 0x00493b62, 0x000fb3ff}}}, + {X: Field{[10]uint32{0x01628c6e, 0x023d8031, 0x0156da31, 0x021cd3d5, 0x02f57fe1, 0x012fa3ed, 0x03a7e0e9, 0x0034d784, 0x00e8692b, 0x001c2312}}, Y: Field{[10]uint32{0x0105a664, 0x0378c828, 0x029bfe1c, 0x0004fdf6, 0x005af7e6, 0x03da8bc0, 0x020432e9, 0x00747c9f, 0x0302deee, 0x00254d38}}}, + {X: Field{[10]uint32{0x025b4c09, 0x00732853, 0x0222b299, 0x030274c9, 0x0146275e, 0x02c9af85, 0x01620794, 0x031ce6d7, 0x017ab82d, 0x0009dd78}}, Y: Field{[10]uint32{0x031ccddc, 0x02de4206, 0x0152e8a9, 0x00a21d13, 0x03338ab2, 0x03684ca3, 0x02b52c28, 0x00d67f7b, 0x027c80e8, 0x000ea9bb}}}, + {X: Field{[10]uint32{0x030192da, 0x0248a700, 0x03270be1, 0x00d0f0e0, 0x0044da6b, 0x023ed228, 0x0334959b, 0x013cc73c, 0x02c2039c, 0x0011f06a}}, Y: Field{[10]uint32{0x000d7cc0, 0x038562d8, 0x003551fd, 0x0168848a, 0x00e5813f, 0x02681471, 0x01cd4025, 0x03087611, 0x011c5ba6, 0x00176b59}}}, + {X: Field{[10]uint32{0x00bad15e, 0x036a86ee, 0x02c70d77, 0x0353e8a2, 0x01eef459, 0x033e897c, 0x03b2bf59, 0x01325806, 0x005a4b86, 0x003e03d1}}, Y: Field{[10]uint32{0x0374ff16, 0x01ffdc2c, 0x02c8863f, 0x03d297c4, 0x0183cd57, 0x03a7e239, 0x00b9da6c, 0x01a659b4, 0x02046b8c, 0x0028e0f7}}}, + {X: Field{[10]uint32{0x014d2f66, 0x02e40faf, 0x01bf6f9c, 0x00967cb5, 0x02b22081, 0x01e2dc5c, 0x01f436d5, 0x00d866a3, 0x03b91ad3, 0x000a4939}}, Y: Field{[10]uint32{0x00841875, 0x022f6e12, 0x00effa76, 0x0156b58b, 0x02afa412, 0x005747c1, 0x00e4f3fe, 0x027d50d2, 0x0169e231, 0x002e1908}}}, + {X: Field{[10]uint32{0x02dc4d83, 0x01017cdd, 0x02e2af13, 0x0179df8c, 0x00431078, 0x028ae6b1, 0x001854e3, 0x013b4a0d, 0x007b91a6, 0x000df582}}, Y: Field{[10]uint32{0x01f25003, 0x02e65c4f, 0x01b1f9bd, 0x0024b094, 0x01a3ac9f, 0x00b9bf37, 0x023092f3, 0x02f32ea0, 0x0117e068, 0x000d688e}}}, + {X: Field{[10]uint32{0x00f4fab2, 0x0372e484, 0x00fd8391, 0x033a0a53, 0x03e000d2, 0x033e12d3, 0x003691cb, 0x006f81ad, 0x016dc79f, 0x0035d22a}}, Y: Field{[10]uint32{0x005bf51c, 0x031369bc, 0x036c8223, 0x009eabed, 0x00975c09, 0x02e05c8a, 0x017e5c04, 0x0240bb39, 0x01e065da, 0x001d6d2b}}}, + {X: Field{[10]uint32{0x002cc30c, 0x00cf41b9, 0x03a8fa02, 0x013b0957, 0x03949241, 0x00edbee5, 0x02361ea3, 0x0213fc98, 0x0225eb50, 0x0034174a}}, Y: Field{[10]uint32{0x01a6f2d2, 0x03ead81a, 0x00f4e75e, 0x02616ea6, 0x01ba57a1, 0x022a80f6, 0x03514290, 0x0323ce16, 0x02eececd, 0x00052eef}}}, + {X: Field{[10]uint32{0x003ff793, 0x022765d2, 0x0030278c, 0x03d7a2a3, 0x00b4684b, 0x0193b2a7, 0x03f39067, 0x03b6f96b, 0x015bd137, 0x001a6ea6}}, Y: Field{[10]uint32{0x03b63e32, 0x03864d96, 0x000b246d, 0x01b1c056, 0x01a79ad9, 0x007176e5, 0x033e8649, 0x01965a60, 0x0051b622, 0x000ac73d}}}, + {X: Field{[10]uint32{0x00419461, 0x00bfdc55, 0x0197d9a8, 0x03cbc7b2, 0x033a50af, 0x01418412, 0x020342ff, 0x033ca3f7, 0x01a15d0e, 0x001fc07a}}, Y: Field{[10]uint32{0x0112dc68, 0x037310eb, 0x030e5e03, 0x0196a0d1, 0x03d27040, 0x03b72ad8, 0x01e25d1f, 0x034dd4d8, 0x0194a6b8, 0x00070f25}}}, + {X: Field{[10]uint32{0x02e48cc6, 0x02902795, 0x0219d813, 0x000fc3e1, 0x00f2413d, 0x00613933, 0x0201bc47, 0x024107f4, 0x02fd193b, 0x001c648c}}, Y: Field{[10]uint32{0x0229a953, 0x00674f2b, 0x02d1e68b, 0x028197e0, 0x0312fb55, 0x03ab816a, 0x037ff609, 0x02c14d4c, 0x03187dcc, 0x000587f1}}}, + {X: Field{[10]uint32{0x02e78c27, 0x00f7219d, 0x03d082f5, 0x03e91b22, 0x039a63bc, 0x01ef4a2f, 0x006009a5, 0x01cc40ce, 0x0120155f, 0x00056e10}}, Y: Field{[10]uint32{0x01737816, 0x00b140cc, 0x03605140, 0x0283aa7e, 0x03188171, 0x0102b293, 0x0004e0c8, 0x01f8bfa6, 0x037ec901, 0x0011f758}}}, + {X: Field{[10]uint32{0x03fec567, 0x01301d2e, 0x01a2c007, 0x0389d053, 0x0004a95c, 0x02e9a645, 0x0352ed4e, 0x00011df6, 0x0197bd38, 0x003fd0a7}}, Y: Field{[10]uint32{0x017b3048, 0x016a8075, 0x00f2569a, 0x002b2f2e, 0x036708c0, 0x037ddf00, 0x0173f624, 0x016eacd2, 0x03bd6e63, 0x001ece9b}}}, + {X: Field{[10]uint32{0x010a6ee3, 0x02c79575, 0x01ed8858, 0x0012c984, 0x01379174, 0x00b1dfa0, 0x01f476d1, 0x039d333c, 0x005b016b, 0x0003335c}}, Y: Field{[10]uint32{0x00e87c01, 0x02bff0d0, 0x01f1f737, 0x0130c6b6, 0x020946cb, 0x025fde35, 0x0155e178, 0x02c94937, 0x01e75cc7, 0x0021d06b}}}, + {X: Field{[10]uint32{0x03b65b27, 0x030df542, 0x01534d54, 0x001a3526, 0x0294e4b4, 0x00c03b2a, 0x0278e818, 0x0315fe45, 0x025e24b3, 0x00196d86}}, Y: Field{[10]uint32{0x01ed0c40, 0x005a9d9d, 0x024fd79c, 0x031e9719, 0x02f65ac4, 0x02b82147, 0x0386fda2, 0x01ee0bc6, 0x0228aab9, 0x002435d7}}}, + {X: Field{[10]uint32{0x03a06ef0, 0x005067de, 0x00cf173c, 0x021f068e, 0x014ffe04, 0x0163ee39, 0x0382bdd7, 0x01cf650f, 0x01df8f40, 0x0019c54a}}, Y: Field{[10]uint32{0x00fede59, 0x01533f45, 0x029504d8, 0x01071c1d, 0x00454fd1, 0x03547af9, 0x01121e10, 0x00d26b74, 0x032d1f23, 0x00311b67}}}, + {X: Field{[10]uint32{0x001b0440, 0x008f3fe4, 0x035b68e8, 0x0375319c, 0x0073da3f, 0x002ef4b0, 0x02f8e703, 0x005a5c1e, 0x02760e7a, 0x0000abe2}}, Y: Field{[10]uint32{0x02c3c1cb, 0x03f40989, 0x0143f72f, 0x02b7597d, 0x017c34f5, 0x007b8cf3, 0x01659769, 0x01c54f1c, 0x03e79ada, 0x00155596}}}, + {X: Field{[10]uint32{0x03575707, 0x0251ca9b, 0x01fc42fb, 0x03543bd6, 0x024def3f, 0x01f31cc2, 0x00b3b1fb, 0x02ee1d3f, 0x016fc5ff, 0x002b3607}}, Y: Field{[10]uint32{0x01d181a3, 0x00a59180, 0x011cce09, 0x03258fa1, 0x02b87c0e, 0x001c6da5, 0x02f47eb5, 0x03aa7847, 0x028ec8b8, 0x00238c66}}}, + {X: Field{[10]uint32{0x00ffb912, 0x033a36e0, 0x0041bd60, 0x02a66e45, 0x02ae062c, 0x0182a9fc, 0x012d0bb3, 0x03a2f081, 0x03d53ab9, 0x002addf9}}, Y: Field{[10]uint32{0x01f96b5a, 0x0131d48b, 0x02d8fdfa, 0x0262d75b, 0x02aca909, 0x0075c104, 0x03992e5e, 0x02e56e7a, 0x02d9cb0a, 0x0017e4ad}}}, + {X: Field{[10]uint32{0x00124046, 0x0222acde, 0x03265e01, 0x03cded98, 0x031d7efa, 0x001a88c0, 0x03eda09b, 0x0231fbe2, 0x01951a6a, 0x001e62e0}}, Y: Field{[10]uint32{0x002b1bf6, 0x03e75138, 0x01de7a1b, 0x02d7c460, 0x03d91382, 0x0399d1db, 0x004a7e54, 0x0290c0d9, 0x021b0bae, 0x002564b6}}}, + {X: Field{[10]uint32{0x0377b096, 0x0354a2e5, 0x02f29ed6, 0x00e893fd, 0x009dbff9, 0x0222bad3, 0x01dea224, 0x039df637, 0x02ae0c3b, 0x003c921a}}, Y: Field{[10]uint32{0x0029126b, 0x0096aa12, 0x028cc413, 0x018a360e, 0x03d8409b, 0x00dabec2, 0x010327fe, 0x03211df1, 0x0150fe75, 0x00238acb}}}, + {X: Field{[10]uint32{0x006d2d54, 0x025d2205, 0x00333f93, 0x0220993d, 0x02d16ca0, 0x02bbbb9c, 0x0364ee33, 0x03aa2f83, 0x01093b8a, 0x00088b8f}}, Y: Field{[10]uint32{0x02cdcaa9, 0x02d4e772, 0x018a4351, 0x01e332c2, 0x0137ba1f, 0x0283af5e, 0x02dd16e8, 0x02ef1070, 0x000fbfe6, 0x0003bfd4}}}, + {X: Field{[10]uint32{0x0121c1c9, 0x02df4130, 0x01bd0165, 0x007670c8, 0x024f9924, 0x02d4f800, 0x01a18eea, 0x00d1d891, 0x03fe7ca9, 0x0019da34}}, Y: Field{[10]uint32{0x00272877, 0x02bba2e4, 0x00a43823, 0x0094340c, 0x000c4dc8, 0x027871de, 0x019ff1d0, 0x025c888c, 0x0173c9b9, 0x00100b27}}}, + {X: Field{[10]uint32{0x022dda79, 0x01fc263c, 0x00ef2513, 0x02133e32, 0x01b0b628, 0x03f5e057, 0x0325697b, 0x022033bf, 0x000fb2f0, 0x001bad9d}}, Y: Field{[10]uint32{0x0085c86f, 0x027c0fc5, 0x01b68520, 0x02579163, 0x0079c4b6, 0x03d0b9ab, 0x002061c1, 0x015c4f0c, 0x0131c12f, 0x0033dfa1}}}, + {X: Field{[10]uint32{0x025fe51b, 0x0001aaa5, 0x01ac2950, 0x0165c5ca, 0x025ede89, 0x019eda9f, 0x00f385f3, 0x0169faa8, 0x03484eb0, 0x001c407c}}, Y: Field{[10]uint32{0x00d5c3f3, 0x013e24c4, 0x0144be26, 0x01687912, 0x00260559, 0x01c6bf0b, 0x00fff9fc, 0x03edd5de, 0x0113a040, 0x002347ee}}}, + {X: Field{[10]uint32{0x02886579, 0x0239b4c3, 0x0287a11c, 0x03ab3bee, 0x02a0de03, 0x0080c0d8, 0x024b25f1, 0x028978ff, 0x005cacc6, 0x001d6a79}}, Y: Field{[10]uint32{0x03f69c6e, 0x01f00af3, 0x03f7adbe, 0x03e555a0, 0x02854c49, 0x00007f60, 0x0202cf31, 0x021b649a, 0x0195e919, 0x0014aa16}}}, + {X: Field{[10]uint32{0x0337dcbc, 0x0359cc0d, 0x001b2954, 0x03de0c2b, 0x02ceac14, 0x01fe66b7, 0x03ffc542, 0x0195ca62, 0x0192bad7, 0x000c4653}}, Y: Field{[10]uint32{0x03dd2832, 0x007fcfd7, 0x02f19a2d, 0x02f36b0b, 0x028c556e, 0x00f316f1, 0x02449fa3, 0x023bba74, 0x0045f531, 0x00267a07}}}, + {X: Field{[10]uint32{0x03d505af, 0x02562b02, 0x0123c522, 0x030e115f, 0x03c1d743, 0x002d3338, 0x02c61387, 0x01bd0e1a, 0x03fe76fd, 0x002413e8}}, Y: Field{[10]uint32{0x03c1763b, 0x02ab9069, 0x023045c8, 0x03ece55e, 0x018dae9b, 0x0131c165, 0x02929e45, 0x0118cde7, 0x02621adf, 0x002509cc}}}, + {X: Field{[10]uint32{0x00a8e0fd, 0x02a4ffe9, 0x01f26b5f, 0x0109e29f, 0x03040de1, 0x00fe8996, 0x019aedef, 0x022cc8da, 0x01f31a82, 0x00074618}}, Y: Field{[10]uint32{0x0099f7dc, 0x017d1376, 0x01f61199, 0x03098e99, 0x013ffc30, 0x0212ee59, 0x01306e3b, 0x03faca38, 0x0381f13f, 0x002e595d}}}, + {X: Field{[10]uint32{0x0019ad64, 0x0395179a, 0x0009b73c, 0x008a110f, 0x02aac959, 0x02159773, 0x02f0289e, 0x02975797, 0x01ef6de1, 0x000ef4cf}}, Y: Field{[10]uint32{0x00f9c810, 0x00d7b575, 0x001c2975, 0x0077d491, 0x038bc985, 0x029c3a6f, 0x00366279, 0x002f525d, 0x0109eb56, 0x00264fc0}}}, + {X: Field{[10]uint32{0x00958634, 0x031fdb16, 0x0261c7be, 0x03adc543, 0x03e4c257, 0x039681f1, 0x0327b248, 0x02bb4a9f, 0x01452a39, 0x003286df}}, Y: Field{[10]uint32{0x004afcff, 0x03eb368f, 0x032c7298, 0x03dd10ab, 0x010179c0, 0x027ed520, 0x01a98043, 0x01f0dedf, 0x021bc035, 0x002ac47f}}}, + {X: Field{[10]uint32{0x0271aa58, 0x0355f461, 0x00f61da6, 0x01f57e4a, 0x00df145f, 0x0339f66b, 0x03f29a36, 0x00e1ad4f, 0x01cadee8, 0x0009cea5}}, Y: Field{[10]uint32{0x025bbe2b, 0x0053e546, 0x03ac2adb, 0x0071cf14, 0x00315a03, 0x010194a1, 0x02c6d832, 0x014df469, 0x019dbb06, 0x0022298d}}}, + {X: Field{[10]uint32{0x005561e6, 0x02443e6b, 0x02279d0f, 0x03d4a511, 0x01c06923, 0x00e48700, 0x03ad79cd, 0x02eeb154, 0x00fca139, 0x001fa930}}, Y: Field{[10]uint32{0x016dec96, 0x03e82eca, 0x0193a54d, 0x00ddc6bb, 0x002eb71c, 0x018e7c66, 0x01e79822, 0x00c38bcc, 0x01470458, 0x002f4127}}}, + {X: Field{[10]uint32{0x0207d336, 0x012581e5, 0x02ce80bc, 0x01a3f344, 0x00d3823f, 0x017331a1, 0x03932401, 0x02af9751, 0x001c0a2b, 0x001c7c60}}, Y: Field{[10]uint32{0x03f1b4b1, 0x039b76c7, 0x00a6cf5a, 0x00390e77, 0x0214430c, 0x03a3f9e9, 0x01b7de37, 0x01395082, 0x03d00838, 0x00107b41}}}, + {X: Field{[10]uint32{0x01cd8828, 0x00160b48, 0x00f2a1c9, 0x036589e7, 0x017000ff, 0x0155068f, 0x00aec515, 0x0287baba, 0x0073652b, 0x002ca0e2}}, Y: Field{[10]uint32{0x027dce5e, 0x02d20474, 0x0079d2a0, 0x03ca87bf, 0x01ee4d19, 0x01abf30c, 0x01faf658, 0x038e9491, 0x015573f5, 0x00011ffc}}}, + {X: Field{[10]uint32{0x015a3e21, 0x036263ad, 0x02cb5b68, 0x0129afc2, 0x03d9f816, 0x00224892, 0x033fbdcc, 0x012f05a1, 0x01a72263, 0x000d32a3}}, Y: Field{[10]uint32{0x01c5d986, 0x02440339, 0x01f4b73f, 0x0241464b, 0x031f041a, 0x02168ffd, 0x0369055d, 0x0324701d, 0x036036a9, 0x00362bed}}}, + {X: Field{[10]uint32{0x0319cc8f, 0x01c8cdd2, 0x0115aa0e, 0x021e270e, 0x034b76eb, 0x03db5e5a, 0x00cf5b2e, 0x0106bf28, 0x0397d973, 0x00084b2c}}, Y: Field{[10]uint32{0x02f170a1, 0x030d7590, 0x01e64875, 0x01ccbde3, 0x01ff17e2, 0x0049b143, 0x0285f501, 0x03c1be5d, 0x00ec5f29, 0x003c1b8b}}}, + {X: Field{[10]uint32{0x00a6228a, 0x0202471b, 0x002e9ffa, 0x00bf392d, 0x01d5f29d, 0x01e24fda, 0x0182dfde, 0x004f70c9, 0x03f643bd, 0x002f00d9}}, Y: Field{[10]uint32{0x00556e78, 0x03fd0a5d, 0x0373f527, 0x01e5ee5b, 0x02c17641, 0x02d66b0c, 0x03f3e44a, 0x007c192b, 0x0089d125, 0x0026fb1b}}}, + {X: Field{[10]uint32{0x01bd5672, 0x00403c6a, 0x029d8dec, 0x00cf37ad, 0x025e489e, 0x03466392, 0x03169bb4, 0x0222516a, 0x00235d8e, 0x0023f2c5}}, Y: Field{[10]uint32{0x03fc057c, 0x036de439, 0x01f5fe52, 0x00816c74, 0x03c45ae3, 0x01102109, 0x0302a46b, 0x0242c980, 0x0396bab3, 0x003e872c}}}, + {X: Field{[10]uint32{0x011e64ae, 0x0170beb9, 0x010440e1, 0x02133289, 0x00d4917e, 0x0077d83d, 0x0043e801, 0x03b0832f, 0x01056675, 0x001c2b61}}, Y: Field{[10]uint32{0x015a800d, 0x013e9847, 0x004e8c00, 0x03832fbd, 0x02b63d68, 0x03d6dc4e, 0x0262475d, 0x029f2697, 0x0356af9f, 0x003d2944}}}, + {X: Field{[10]uint32{0x01695842, 0x0387db2e, 0x028803ed, 0x036611be, 0x02bcf6e6, 0x025c6301, 0x026df81f, 0x0105a21b, 0x03474807, 0x002b69eb}}, Y: Field{[10]uint32{0x008a582f, 0x02ddb6e6, 0x001dd575, 0x02440031, 0x0298369c, 0x01dc7654, 0x0348bbe0, 0x009f5371, 0x011f50f4, 0x0003d9b5}}}, + {X: Field{[10]uint32{0x0102eeee, 0x011762c4, 0x0052c7f0, 0x01ee949f, 0x01bf1e97, 0x034d3e3a, 0x038108f9, 0x03aec46e, 0x018d7323, 0x003c6e1f}}, Y: Field{[10]uint32{0x00346556, 0x037dda2d, 0x000b79bd, 0x039c1f8e, 0x037e2aa0, 0x01edd56c, 0x01e58424, 0x039e827b, 0x030351eb, 0x0002f655}}}, + {X: Field{[10]uint32{0x012a0553, 0x0244d592, 0x00833cc5, 0x0145d9b3, 0x031fbf7c, 0x03fb5ee0, 0x000c301c, 0x0193ab24, 0x015ad552, 0x0024d967}}, Y: Field{[10]uint32{0x00154beb, 0x01b78170, 0x0089ccf4, 0x0176215b, 0x03519ff6, 0x030740a8, 0x02137df1, 0x000596be, 0x01e9646d, 0x002da4e2}}}, + {X: Field{[10]uint32{0x02d4ffe2, 0x00e3df63, 0x01f48b17, 0x039745e0, 0x00409a62, 0x0056fbbb, 0x002f54a4, 0x013ff712, 0x00492a9b, 0x003a74af}}, Y: Field{[10]uint32{0x00305df5, 0x00c10211, 0x00631608, 0x0020d854, 0x038d6392, 0x013c94e0, 0x01de313f, 0x02fe0037, 0x02522dcc, 0x00224f91}}}, + {X: Field{[10]uint32{0x006cb210, 0x038abde4, 0x00744229, 0x0306a1d8, 0x01825e0b, 0x01cb69a9, 0x0103eea3, 0x02b64460, 0x020a7bf1, 0x00050905}}, Y: Field{[10]uint32{0x0196af23, 0x03be284e, 0x0343f209, 0x03a47d8d, 0x024f1519, 0x002c8fa5, 0x02f1d0e1, 0x0175c479, 0x022696a7, 0x00325368}}}, + {X: Field{[10]uint32{0x009efd87, 0x0233ba27, 0x02300c45, 0x01639bc9, 0x018686d0, 0x02d7e9fa, 0x03e434ae, 0x012f52aa, 0x0312402e, 0x001fe409}}, Y: Field{[10]uint32{0x02f95fb5, 0x00622b18, 0x01602669, 0x02305498, 0x031b8b01, 0x022111a9, 0x02cdcddc, 0x02d062c5, 0x020b2aef, 0x002f0011}}}, + {X: Field{[10]uint32{0x0372745c, 0x03187d5b, 0x03c01255, 0x01a8e051, 0x022a133f, 0x02370a4d, 0x02e5f16c, 0x003d4fa1, 0x027c66cb, 0x0034c9f3}}, Y: Field{[10]uint32{0x02bea436, 0x01d628e1, 0x015f8353, 0x035071be, 0x02618cc6, 0x02314b72, 0x0108b85b, 0x00e7041a, 0x018ac3cb, 0x00137052}}}, + {X: Field{[10]uint32{0x032db3b3, 0x00e5ab78, 0x03d1a0d5, 0x033951ef, 0x01137dff, 0x022eff0c, 0x013803be, 0x00441800, 0x0319c9d8, 0x003c113a}}, Y: Field{[10]uint32{0x02526f2a, 0x00ae77df, 0x03af7c10, 0x037bff33, 0x028128a8, 0x02ca0b3f, 0x00551cea, 0x00f999fe, 0x028d9c4c, 0x0016b510}}}, + {X: Field{[10]uint32{0x0218daf4, 0x03172f03, 0x03d55f67, 0x02dfcf00, 0x03d135bb, 0x03755100, 0x006a81eb, 0x0066fabd, 0x0237b95d, 0x001e9b14}}, Y: Field{[10]uint32{0x0204385b, 0x038a48a8, 0x001d70cc, 0x019a29c3, 0x01bd492c, 0x03fda3fb, 0x00fc6e74, 0x03ad7121, 0x00b847fc, 0x0018a8ba}}}, + {X: Field{[10]uint32{0x019f82f0, 0x0256f06d, 0x01bb5804, 0x026d1d62, 0x02ffae94, 0x01708211, 0x0372afaf, 0x0302deed, 0x00dcb069, 0x001671ff}}, Y: Field{[10]uint32{0x026c38ad, 0x023bae84, 0x006ec335, 0x014bc935, 0x02c09b36, 0x03238b1e, 0x03a4d79a, 0x0159adc6, 0x008c6657, 0x0020bb16}}}, + {X: Field{[10]uint32{0x036543d7, 0x0006f51a, 0x03ae00ea, 0x036f37c9, 0x0081d99f, 0x02ee1795, 0x00d3dc6d, 0x01563310, 0x00211ed4, 0x003e33cf}}, Y: Field{[10]uint32{0x03a9778b, 0x037a7721, 0x03b20054, 0x030f82a2, 0x035506a5, 0x03338c10, 0x011f5dbd, 0x03d8c225, 0x01d01c3d, 0x002f6012}}}, + {X: Field{[10]uint32{0x024504bc, 0x00b39c54, 0x03764278, 0x00ff3f44, 0x024d2dd2, 0x00eb2a0a, 0x03471893, 0x02753c7f, 0x0364b238, 0x000e1575}}, Y: Field{[10]uint32{0x019ef72d, 0x01b02f1d, 0x01f95944, 0x03bb7c4f, 0x03b14a71, 0x02ab8ea8, 0x024ec346, 0x02af409c, 0x02254af2, 0x0020b13a}}}, + {X: Field{[10]uint32{0x02de5431, 0x03774694, 0x02ffa48c, 0x01b6bdf9, 0x036d3e0e, 0x01554f6a, 0x00b1d733, 0x03c3634c, 0x03311de4, 0x001dd912}}, Y: Field{[10]uint32{0x005916b4, 0x03d4853d, 0x029b4cdb, 0x00c1a560, 0x017581c9, 0x00aedd0c, 0x03730f99, 0x001cd5cd, 0x03ce0c0a, 0x00191785}}}, + {X: Field{[10]uint32{0x01ca138d, 0x00c198f6, 0x01d34565, 0x033dd996, 0x0156bfc0, 0x0194deaf, 0x02511daa, 0x02bef2ca, 0x0343afd6, 0x0029352b}}, Y: Field{[10]uint32{0x03bb09dd, 0x028afadc, 0x03747a25, 0x017cf57f, 0x0088b5db, 0x0358f7cd, 0x007f0737, 0x03cc6ee4, 0x03d0dd2d, 0x002f9b27}}}, + {X: Field{[10]uint32{0x00a75be5, 0x03f0181d, 0x011aaaa8, 0x032bed9b, 0x012da352, 0x03992f18, 0x02c3d645, 0x028207dc, 0x023fe673, 0x00105ffe}}, Y: Field{[10]uint32{0x00c50151, 0x0024f81a, 0x00be10de, 0x0129fdce, 0x02cfd9ca, 0x0169d243, 0x01472afd, 0x0251d202, 0x022f9084, 0x0026ae2f}}}, + {X: Field{[10]uint32{0x02ef73cd, 0x03ba0e32, 0x00622f75, 0x001257a2, 0x004f19eb, 0x01d084b1, 0x03d772cc, 0x014105b2, 0x01549311, 0x001e05d4}}, Y: Field{[10]uint32{0x00d0d3e6, 0x02fdff4d, 0x00ac2dd7, 0x02c29765, 0x02fdaf2c, 0x01f2c637, 0x0381b91d, 0x00d94098, 0x01c8ffec, 0x000df535}}}, + {X: Field{[10]uint32{0x031b5121, 0x0094fe82, 0x02f0f736, 0x02923d8b, 0x023c2ee7, 0x039d9896, 0x020c66c7, 0x00a3abd5, 0x020c3acc, 0x000d9715}}, Y: Field{[10]uint32{0x0374868f, 0x01f4df16, 0x018d6451, 0x005773b1, 0x016990aa, 0x00e3e374, 0x0303f883, 0x03c578e2, 0x02fa96c0, 0x000972f1}}}, + {X: Field{[10]uint32{0x035bac7c, 0x03e860a3, 0x03808a94, 0x03f76233, 0x016c6757, 0x02866a49, 0x026b6cb3, 0x0008fa44, 0x01251010, 0x0032516b}}, Y: Field{[10]uint32{0x0254e2bb, 0x037e4ab5, 0x01e5b174, 0x02ec99e7, 0x0399df4a, 0x0319bdb6, 0x008ae3df, 0x010ef3bc, 0x010cb4ac, 0x00326a3a}}}, + {X: Field{[10]uint32{0x002e0213, 0x0303878b, 0x03eec629, 0x02dedf4e, 0x02ac8c3f, 0x00ca18f7, 0x00223876, 0x0355f5ce, 0x01ac45e6, 0x0012ab61}}, Y: Field{[10]uint32{0x016a2708, 0x002d8f3f, 0x02595213, 0x0224ddbd, 0x0129c036, 0x0394e81c, 0x001c192d, 0x02fd9259, 0x00e19e81, 0x000e3bba}}}, + {X: Field{[10]uint32{0x02a291df, 0x027da689, 0x0367f24b, 0x03a9f4d4, 0x01907e37, 0x03d89118, 0x00f9f663, 0x01965ab7, 0x02480b0f, 0x000af040}}, Y: Field{[10]uint32{0x00311c79, 0x01509bc1, 0x02b2f4f3, 0x00c14204, 0x0324ad0c, 0x0242ddd0, 0x02780f6b, 0x02cdea46, 0x02d33016, 0x00382b0f}}}, + {X: Field{[10]uint32{0x03ddfde2, 0x007234e4, 0x03cffeb9, 0x000207f3, 0x02eca894, 0x0281387e, 0x001a2c09, 0x023e4c3a, 0x0191abd2, 0x00337016}}, Y: Field{[10]uint32{0x000193a5, 0x02686dd6, 0x02b32afc, 0x013af1e6, 0x038bf90a, 0x006a208b, 0x02b9852d, 0x038ac0ff, 0x02c44458, 0x0037f692}}}, + {X: Field{[10]uint32{0x0346a047, 0x00efe776, 0x02b7d079, 0x02ba722f, 0x0031d285, 0x03e2aac4, 0x00ea8570, 0x0310a7fd, 0x03f0af2d, 0x0016893b}}, Y: Field{[10]uint32{0x004c8f9a, 0x02d80167, 0x03327b53, 0x0185abbd, 0x00a98b6f, 0x02debc2e, 0x03f40dd0, 0x02458225, 0x01145973, 0x0005e76e}}}, + {X: Field{[10]uint32{0x0038183a, 0x03f8ab1e, 0x01467636, 0x02c2c151, 0x03e7c1d2, 0x01f457f6, 0x00aae6b5, 0x00f2a4dd, 0x013f5160, 0x0005b079}}, Y: Field{[10]uint32{0x03a183e3, 0x01a25d98, 0x0194ba53, 0x006815c1, 0x008d1f6c, 0x0383f724, 0x00af50c7, 0x026efd76, 0x02f056e0, 0x002fe163}}}, + {X: Field{[10]uint32{0x0301ccf4, 0x0299567a, 0x006eb0c3, 0x016c71a1, 0x01a2f240, 0x0305de00, 0x013a116a, 0x00be6b62, 0x02ea71b9, 0x001e4bc7}}, Y: Field{[10]uint32{0x0032a79d, 0x0342de8a, 0x001293cc, 0x002ef878, 0x0052c0df, 0x01e19ae7, 0x01ecf87a, 0x03bce4c4, 0x030cc610, 0x002f018b}}}, + {X: Field{[10]uint32{0x017378e1, 0x02e99769, 0x00dd7335, 0x02b3c201, 0x03917dab, 0x0044dff8, 0x004dc515, 0x01c673d5, 0x0040f057, 0x0006ce67}}, Y: Field{[10]uint32{0x000b425f, 0x029dd718, 0x02f6d380, 0x004aaa11, 0x02bfdd07, 0x0374cce8, 0x01e872c1, 0x02821507, 0x00d3b6e8, 0x001359e5}}}, + {X: Field{[10]uint32{0x02238e4f, 0x002ffeae, 0x02edec21, 0x01e2af85, 0x039f8cd2, 0x02223147, 0x00d8219b, 0x0173b783, 0x013eb9c4, 0x0004e2cc}}, Y: Field{[10]uint32{0x02ac56d6, 0x021c8f39, 0x03f7fd9e, 0x01b735b6, 0x0213f0f7, 0x03c2b349, 0x02d49512, 0x0010bd2d, 0x0357cbc8, 0x00286668}}}, + {X: Field{[10]uint32{0x03542338, 0x03f0937a, 0x0312284f, 0x00445f24, 0x008f4018, 0x03d2b869, 0x0068b24c, 0x01599340, 0x03119c76, 0x000f81b0}}, Y: Field{[10]uint32{0x0273624f, 0x039d55c1, 0x03696498, 0x02cca01e, 0x0293b08a, 0x026a4341, 0x01c45963, 0x01fc6daa, 0x0196e560, 0x0018e995}}}, + {X: Field{[10]uint32{0x03f8bd2e, 0x037a2d2e, 0x0125f8a3, 0x037bb47b, 0x0280f0f6, 0x005e7a77, 0x00e5455c, 0x0224c95d, 0x039b49c8, 0x0000fccb}}, Y: Field{[10]uint32{0x02589f17, 0x007e9ada, 0x02472855, 0x033b8ae1, 0x00091f49, 0x03d0aa77, 0x0090257b, 0x01be27bd, 0x031a5fc9, 0x0028b4ae}}}, + {X: Field{[10]uint32{0x02414ec5, 0x01dca651, 0x02b041fe, 0x03ef8ce0, 0x022c4f5e, 0x016c6e0a, 0x029602bf, 0x03143e84, 0x0017ffcc, 0x00226b71}}, Y: Field{[10]uint32{0x00253215, 0x01fbd523, 0x00bc8e2c, 0x00a0976a, 0x036c3daa, 0x02a9867b, 0x015c2915, 0x01d47405, 0x035c291b, 0x001339f9}}}, + {X: Field{[10]uint32{0x00e4e9b5, 0x03faab97, 0x01619a13, 0x03e81f07, 0x01e9f208, 0x00bd53d9, 0x017d4860, 0x02327d96, 0x01626bec, 0x003ccfef}}, Y: Field{[10]uint32{0x01593774, 0x00ad0914, 0x0025edf0, 0x022ddc9a, 0x02a6f43c, 0x00142c0c, 0x03e2eda3, 0x03c54a1f, 0x002bebb9, 0x00323c18}}}, + {X: Field{[10]uint32{0x00a7d6b8, 0x038f9929, 0x0071d568, 0x013d1448, 0x02117fa0, 0x003a5d01, 0x01f7703a, 0x038bdf91, 0x00ab7b90, 0x0003b332}}, Y: Field{[10]uint32{0x00a1b6f4, 0x005a6696, 0x0056048e, 0x01143c7f, 0x03fcc8a6, 0x0322ecd9, 0x033c2333, 0x028363cb, 0x0305a9c4, 0x002115bd}}}, + {X: Field{[10]uint32{0x017de915, 0x00fa5685, 0x03dfca4e, 0x035537c7, 0x000e6e31, 0x009d0fb4, 0x0181c754, 0x0218b960, 0x0333a7ad, 0x003da58a}}, Y: Field{[10]uint32{0x029e6605, 0x038c80ba, 0x01cf209e, 0x016a0cd6, 0x02055c15, 0x0280566a, 0x037e8ad2, 0x0173afe7, 0x03fb4851, 0x002bcf51}}}, + {X: Field{[10]uint32{0x02ace24d, 0x02748d36, 0x019e842b, 0x03c8e3fd, 0x025c45d2, 0x0025649a, 0x02d5df02, 0x03ec4197, 0x03c67996, 0x0000fc7c}}, Y: Field{[10]uint32{0x010ea28e, 0x012f529b, 0x0011f110, 0x00195a42, 0x03737507, 0x0088a36a, 0x023c30b2, 0x027c28a3, 0x01e4f0a2, 0x00356172}}}, + {X: Field{[10]uint32{0x026e589c, 0x0375145b, 0x030e34ae, 0x00b50206, 0x02dc3359, 0x02b4b357, 0x03f93c16, 0x00390f62, 0x00193629, 0x0003f2b8}}, Y: Field{[10]uint32{0x031165cc, 0x001ee851, 0x02c243a2, 0x0162e5c0, 0x02c8acb9, 0x03342665, 0x00710d88, 0x029110b7, 0x039ecc42, 0x0023a615}}}, + {X: Field{[10]uint32{0x011f522c, 0x015c2ac5, 0x012c6d89, 0x01f6ea8c, 0x01abc424, 0x03f23beb, 0x037922b5, 0x008a748e, 0x03ba0355, 0x001523c9}}, Y: Field{[10]uint32{0x02ab6fa9, 0x01fc6e21, 0x0200acb7, 0x018ce6e5, 0x02b7b63c, 0x03cdf207, 0x00ba774f, 0x01f35f23, 0x03d8bbb4, 0x00039565}}}, + {X: Field{[10]uint32{0x00146fa0, 0x00e6ef57, 0x003ab6e4, 0x02e18460, 0x0249797d, 0x0021adef, 0x025cf1ef, 0x00d1fb51, 0x0114e8bf, 0x0038bd92}}, Y: Field{[10]uint32{0x006ae76e, 0x035d18ff, 0x025d1d2e, 0x0251cb55, 0x0388b27a, 0x01debbe6, 0x02482570, 0x00793c54, 0x036f7c64, 0x00239a79}}}, + {X: Field{[10]uint32{0x0013db1d, 0x02faae8b, 0x011222cd, 0x0323ce33, 0x01c7d362, 0x00a62d03, 0x00f97622, 0x00303c76, 0x02a02d97, 0x0002314c}}, Y: Field{[10]uint32{0x0062bd0e, 0x01bfea1c, 0x0276801b, 0x02d8b7b0, 0x03568251, 0x032dd81b, 0x00ffc9fb, 0x0359b67a, 0x02e90428, 0x00243e28}}}, + {X: Field{[10]uint32{0x02291a23, 0x008c8618, 0x02f6d3c3, 0x025ebd59, 0x006fc0ed, 0x0014abb1, 0x02f7e0c8, 0x0065cbda, 0x02fee3c5, 0x0019191b}}, Y: Field{[10]uint32{0x007a69fe, 0x023d3dca, 0x03c50d6c, 0x022a61bf, 0x03a10eb8, 0x01c7cb76, 0x0276ee71, 0x00dc2cda, 0x0150f6ca, 0x00278a78}}}, + {X: Field{[10]uint32{0x033be659, 0x00787cd1, 0x011b51eb, 0x02fe699f, 0x01329199, 0x01bbd972, 0x03ff69a0, 0x037fdc32, 0x00da1df8, 0x001ba2e9}}, Y: Field{[10]uint32{0x015d852a, 0x01d19e60, 0x00a060f6, 0x0289f851, 0x03eb5a34, 0x0394def5, 0x03f21883, 0x01069cd7, 0x02c89594, 0x002b9d58}}}, + {X: Field{[10]uint32{0x036bcaef, 0x0307ccca, 0x029cae76, 0x007356e3, 0x02c94c87, 0x02b6fc7d, 0x020d7e1c, 0x00b03db7, 0x03c8f781, 0x0023086a}}, Y: Field{[10]uint32{0x007ed53e, 0x02832a5d, 0x006b2663, 0x03f9a3fd, 0x015a36d6, 0x03833bfa, 0x010ed037, 0x000f8950, 0x00c313be, 0x00169f27}}}, + {X: Field{[10]uint32{0x039f6353, 0x01ac9a4b, 0x01fea342, 0x00087ae2, 0x0010ce51, 0x015e8a3c, 0x0236ff76, 0x01f85099, 0x003a7c48, 0x0033838e}}, Y: Field{[10]uint32{0x0232e03a, 0x03030358, 0x02280532, 0x03dbf6b3, 0x0097fcb9, 0x031cf23b, 0x004e9da4, 0x01e010a0, 0x0065d43f, 0x000fe569}}}, + {X: Field{[10]uint32{0x01698eb8, 0x028dfb87, 0x03700080, 0x031f0072, 0x028078b6, 0x0119cff0, 0x00598483, 0x01f13fd1, 0x017f5147, 0x001f8cc2}}, Y: Field{[10]uint32{0x022d75a7, 0x03072972, 0x025ad141, 0x039a5c01, 0x02e282b7, 0x01241968, 0x001d274e, 0x0319e762, 0x03c07317, 0x003049d6}}}, + {X: Field{[10]uint32{0x016837a6, 0x01ec3904, 0x03867931, 0x019b3ecf, 0x01d686eb, 0x03bfc9cc, 0x031cf429, 0x01f987ec, 0x00d6b148, 0x003bd367}}, Y: Field{[10]uint32{0x0163be1f, 0x022dda8f, 0x012ecd11, 0x0161ffd8, 0x023bd2ff, 0x03a87ae8, 0x036461a6, 0x03756893, 0x02b4280d, 0x00313daf}}}, + {X: Field{[10]uint32{0x03716290, 0x015cecbc, 0x014b992c, 0x028b7c32, 0x03ce53f4, 0x0297e2e8, 0x0090bcb9, 0x024c93de, 0x01452ee4, 0x003cfb70}}, Y: Field{[10]uint32{0x03fb2f2d, 0x02a60834, 0x00dbf552, 0x01952470, 0x035c3905, 0x01f0aba4, 0x03301f08, 0x02c9ea36, 0x02abfbc9, 0x00265511}}}, + {X: Field{[10]uint32{0x03caa975, 0x01c32a0a, 0x02c92bd1, 0x009caf18, 0x0287d174, 0x00634831, 0x01341603, 0x03a45358, 0x02517398, 0x00307d88}}, Y: Field{[10]uint32{0x03769e99, 0x0019c821, 0x01cabfcb, 0x0148071d, 0x00f6d6da, 0x00a4bdc6, 0x0328d593, 0x016ddb54, 0x02273673, 0x0007216b}}}, + {X: Field{[10]uint32{0x023dea8e, 0x004c8791, 0x03889714, 0x00066956, 0x01b206c6, 0x038c41c5, 0x00561533, 0x00220752, 0x01f9605f, 0x0029fa07}}, Y: Field{[10]uint32{0x00ae8a4f, 0x01bfbe5f, 0x000adaa1, 0x03ad7151, 0x020eb23d, 0x01f7de5a, 0x0370dbba, 0x006f83c2, 0x00fd1f36, 0x000eb888}}}, + {X: Field{[10]uint32{0x006a536b, 0x01ca0af9, 0x033262fe, 0x02b16a33, 0x02f46af5, 0x01f52b97, 0x03ac0288, 0x03ca59e8, 0x03298f5d, 0x0006da6f}}, Y: Field{[10]uint32{0x0046a91f, 0x0093cbaa, 0x01c6028c, 0x03f62203, 0x02d7e9d7, 0x0066ce28, 0x0375c684, 0x0269c7a8, 0x00aa02d9, 0x00327189}}}, + {X: Field{[10]uint32{0x03bb44bb, 0x0048bb76, 0x0251db56, 0x021ff45c, 0x03b31c99, 0x02cecc49, 0x0315cb96, 0x018ee637, 0x03740317, 0x003377fb}}, Y: Field{[10]uint32{0x024869f5, 0x011679fc, 0x00b65854, 0x019e3de0, 0x00225f08, 0x028ca8e3, 0x0279ce26, 0x016a8d31, 0x02f42e93, 0x00025cbf}}}, + {X: Field{[10]uint32{0x00e957ff, 0x01c3ffd8, 0x0129cfcb, 0x00d79f00, 0x00ee07f2, 0x03bc0788, 0x0347d309, 0x01458d9a, 0x00ef2c8a, 0x000cbf87}}, Y: Field{[10]uint32{0x03b4588e, 0x013b7c93, 0x0036fe75, 0x031f116d, 0x023d13b2, 0x0030d53a, 0x033babe0, 0x0184922c, 0x0331bd37, 0x0027a185}}}, + {X: Field{[10]uint32{0x01c24b0d, 0x00896e1e, 0x02908505, 0x015c9955, 0x024a7596, 0x02bed87f, 0x01d0ccf6, 0x0104674c, 0x03e9f491, 0x0028e0be}}, Y: Field{[10]uint32{0x02111857, 0x01b36a34, 0x00a55513, 0x0063260e, 0x02cdde63, 0x01f088bf, 0x03e0287c, 0x02ff709c, 0x036039a1, 0x002a8c00}}}, + {X: Field{[10]uint32{0x0280ef88, 0x02453b06, 0x028bc6d6, 0x029e5a88, 0x0159e305, 0x01f00d13, 0x03e24670, 0x00c3ab84, 0x00399ae3, 0x002d4ed5}}, Y: Field{[10]uint32{0x01fadc7a, 0x003b8c35, 0x01a368f3, 0x00711d54, 0x02969d8d, 0x02ea2a38, 0x00f43cc8, 0x01b175d2, 0x00538dfc, 0x00266024}}}, + {X: Field{[10]uint32{0x0364169a, 0x007436be, 0x01b8df52, 0x02bc1abb, 0x00710fe2, 0x022c2b67, 0x00bbfed9, 0x03fb0fed, 0x0253f11c, 0x001886d4}}, Y: Field{[10]uint32{0x020378aa, 0x0036fa49, 0x00bb3abe, 0x01704d85, 0x033b9300, 0x00f81717, 0x01d025b6, 0x01abd88b, 0x01c48b71, 0x000a88d3}}}, + {X: Field{[10]uint32{0x01435b04, 0x00c5783e, 0x000bed5b, 0x03eae694, 0x001e5979, 0x003d5d63, 0x023f4428, 0x00f1fcc5, 0x036ccc9c, 0x0020ccca}}, Y: Field{[10]uint32{0x00d30ea0, 0x0285abf7, 0x012d416a, 0x03da1d8b, 0x0060c77d, 0x0100b761, 0x0241025c, 0x007c72f6, 0x0212258c, 0x00214d81}}}, + {X: Field{[10]uint32{0x03f6538a, 0x02a1a3f6, 0x006b668a, 0x0069e91d, 0x02fd54e2, 0x02806c43, 0x032d926d, 0x009888bd, 0x00e39120, 0x0009f236}}, Y: Field{[10]uint32{0x02d6eb91, 0x034ad088, 0x00090e90, 0x020484eb, 0x034d0c0a, 0x03783ffd, 0x009fe83f, 0x0121355b, 0x023fb8f2, 0x00221da3}}}, + {X: Field{[10]uint32{0x020067e5, 0x007aff81, 0x03a9155d, 0x0353c22d, 0x036ee768, 0x010955bb, 0x012e05ac, 0x008014bf, 0x030bbcd8, 0x003cd271}}, Y: Field{[10]uint32{0x010c6604, 0x0086939d, 0x009fb9f6, 0x02c1c75b, 0x0293fdc5, 0x01ebaa42, 0x003c4e9e, 0x0341431f, 0x00194011, 0x001b5657}}}, + {X: Field{[10]uint32{0x03b24f90, 0x0209e9c4, 0x03156edb, 0x00805ce9, 0x01a0183b, 0x030fe278, 0x031368ba, 0x0265998a, 0x027ab202, 0x00125995}}, Y: Field{[10]uint32{0x037e21ab, 0x01670cc0, 0x0094701f, 0x01645996, 0x01a097b8, 0x03020f8d, 0x0110ee76, 0x00eec252, 0x0036c2bb, 0x001bbe25}}}, + {X: Field{[10]uint32{0x013e0886, 0x01052fe4, 0x02eb69a7, 0x01d817fd, 0x0275611b, 0x02f18ffa, 0x0245b849, 0x0284fde1, 0x001b491d, 0x00124254}}, Y: Field{[10]uint32{0x01014df8, 0x02d96aa0, 0x03f17c54, 0x03dd7824, 0x0038b1ac, 0x0208ab17, 0x01d4c956, 0x001c3707, 0x02b6f2ee, 0x000b0831}}}, + {X: Field{[10]uint32{0x00cddb76, 0x0138d584, 0x01a72bf8, 0x023bb8f7, 0x03bd5f89, 0x03d058fd, 0x00d3ee40, 0x03450063, 0x0267f5a2, 0x0007b4b9}}, Y: Field{[10]uint32{0x02db8e7d, 0x024678c9, 0x027940f9, 0x03bda288, 0x02934810, 0x021a78db, 0x004babdd, 0x0133ab88, 0x00c564fa, 0x002ed25c}}}, + {X: Field{[10]uint32{0x0212f17b, 0x00758351, 0x03d5702a, 0x00361495, 0x00c15d1a, 0x037a1b5a, 0x01f9c8c7, 0x030dfeb7, 0x03410a0b, 0x00311eea}}, Y: Field{[10]uint32{0x02db09e3, 0x03baa068, 0x015cbb09, 0x019f3e0e, 0x00e84ce7, 0x028f30f8, 0x028091a1, 0x01f78444, 0x00b136f4, 0x000394ab}}}, + {X: Field{[10]uint32{0x027a7394, 0x03b1a831, 0x038c18f5, 0x03cf7484, 0x03f70825, 0x03b39d95, 0x0090b525, 0x033f10d5, 0x00c14993, 0x0038841a}}, Y: Field{[10]uint32{0x00c732da, 0x009c20c0, 0x00a12430, 0x03f276c1, 0x03065360, 0x017eadbe, 0x03997553, 0x02366caf, 0x0137d48f, 0x00335840}}}, + {X: Field{[10]uint32{0x03faf917, 0x01f93d0f, 0x03b87da0, 0x01bc47bb, 0x0200bd6a, 0x01942291, 0x029e1440, 0x00bd7ac1, 0x007d47a7, 0x0018d7d5}}, Y: Field{[10]uint32{0x03e64128, 0x00da48ca, 0x02642217, 0x015d53aa, 0x0021fecb, 0x0072c2fc, 0x024c8ed8, 0x01ced3cc, 0x01f23da2, 0x0023a82a}}}, + {X: Field{[10]uint32{0x01bdb47b, 0x0197c091, 0x02aa8485, 0x02ba4ca7, 0x013837b6, 0x00fe3993, 0x032f79ab, 0x02d2c7ff, 0x000a8648, 0x000918cb}}, Y: Field{[10]uint32{0x026e0426, 0x01b910bd, 0x03179814, 0x01d68e08, 0x02177ff8, 0x018aac8d, 0x02603608, 0x01574cf0, 0x0388c9e1, 0x00271b41}}}, + {X: Field{[10]uint32{0x037bf503, 0x03efde9a, 0x03b5ed59, 0x038574b0, 0x03146541, 0x032f2c06, 0x009cc56e, 0x00a75215, 0x01c3cfb2, 0x0010dd23}}, Y: Field{[10]uint32{0x01fb9c5c, 0x03cd3051, 0x019a9265, 0x01f86b7b, 0x000b2060, 0x0333623f, 0x007ea7f2, 0x026418ee, 0x01ed23a0, 0x00265d68}}}, + {X: Field{[10]uint32{0x03ae3ac0, 0x03ff72b0, 0x03a5804b, 0x03404549, 0x02bb8750, 0x026f8776, 0x0203b406, 0x0075a0c5, 0x0323b8c4, 0x0023e120}}, Y: Field{[10]uint32{0x02d1b37f, 0x020a22b0, 0x01c6e2c8, 0x00e8a95d, 0x01be81f8, 0x005f9691, 0x035805ab, 0x01830a1b, 0x00871282, 0x001dea2b}}}, + {X: Field{[10]uint32{0x0148422c, 0x0254ae8a, 0x012cc6e2, 0x036f1510, 0x002d8907, 0x00706720, 0x01e8be48, 0x0211b6ed, 0x0368b54d, 0x000a7af0}}, Y: Field{[10]uint32{0x03c7e845, 0x00bf898d, 0x0310aec7, 0x0285a180, 0x02426f79, 0x01e72f46, 0x02eb2d6f, 0x0276414e, 0x03a281d5, 0x0039ade4}}}, + {X: Field{[10]uint32{0x023ed345, 0x01e659c0, 0x008105ba, 0x000a7e39, 0x03d84bc6, 0x02dc5254, 0x00cbe21e, 0x0004b230, 0x03c4ccf4, 0x00250532}}, Y: Field{[10]uint32{0x017fdeee, 0x027ae035, 0x0272b39b, 0x0192edab, 0x01da45bb, 0x0338d72f, 0x0132790e, 0x028424b4, 0x039289e4, 0x002b47ba}}}, + {X: Field{[10]uint32{0x008f756e, 0x030f71ca, 0x035d411e, 0x02976c79, 0x000bea90, 0x003c8532, 0x03ab8149, 0x00009184, 0x025b769d, 0x0006f615}}, Y: Field{[10]uint32{0x01d375d8, 0x0085d770, 0x02b131df, 0x035f7315, 0x00b69c2c, 0x02af6b94, 0x01cfcb02, 0x007a46de, 0x006cfc78, 0x00301429}}}, + {X: Field{[10]uint32{0x0229cb01, 0x03b242c1, 0x013f276c, 0x038ca216, 0x0314ed0a, 0x02e37b59, 0x0009154e, 0x019af8f5, 0x004c35ad, 0x00013dd6}}, Y: Field{[10]uint32{0x03712bb0, 0x007acf05, 0x02048fb0, 0x03863c76, 0x021520fe, 0x0271685f, 0x00cf1b3e, 0x00483847, 0x0248232a, 0x003d2fa4}}}, + {X: Field{[10]uint32{0x01d9f13b, 0x031e0f87, 0x02b352b9, 0x021311dc, 0x01cffd16, 0x034bcf3b, 0x0127401f, 0x02cc5eac, 0x01de7e85, 0x0016c002}}, Y: Field{[10]uint32{0x0173ba64, 0x0048ca2e, 0x0048dbb4, 0x02fbb3f8, 0x01cb8839, 0x019cb1e3, 0x037cb7ce, 0x030d38cd, 0x0304f531, 0x003d1615}}}, + {X: Field{[10]uint32{0x03b32815, 0x00ef2b18, 0x019c3ad1, 0x014cfcfb, 0x0037f853, 0x0088b7ce, 0x025fdbc4, 0x01bc04ba, 0x01c37939, 0x00319bcc}}, Y: Field{[10]uint32{0x02b22668, 0x0334f69b, 0x01ca3ea1, 0x0212eeb1, 0x024113ee, 0x02d41490, 0x023ca861, 0x03a72f04, 0x00084ae5, 0x0001f5ee}}}, + {X: Field{[10]uint32{0x0263abd6, 0x03217997, 0x03af1a57, 0x0157a469, 0x023d7ba4, 0x03a679a5, 0x03a51b3e, 0x0264d09a, 0x035dc8b0, 0x000cc25f}}, Y: Field{[10]uint32{0x0270d7c4, 0x00d648b0, 0x02d80638, 0x03b59b93, 0x02987401, 0x0061a5d9, 0x039e1206, 0x00627722, 0x033b200c, 0x003ef49a}}}, + {X: Field{[10]uint32{0x005ffff4, 0x0374aa72, 0x015f8c37, 0x002e138e, 0x01aa71cf, 0x03eef90f, 0x02922d5f, 0x03b182e6, 0x0245a3b7, 0x0006b394}}, Y: Field{[10]uint32{0x0325084f, 0x0113686e, 0x029871c4, 0x01344358, 0x0006ad3f, 0x01b2eda7, 0x01c51cbb, 0x023e6fca, 0x01679470, 0x001cb03b}}}, + {X: Field{[10]uint32{0x030c4471, 0x0296bcda, 0x03512692, 0x00cb354b, 0x006ed54e, 0x00fe480b, 0x03225249, 0x0130b2fe, 0x039e4cce, 0x002f065e}}, Y: Field{[10]uint32{0x01673f70, 0x00213ef7, 0x017dfadb, 0x02553574, 0x013cad9b, 0x03b14222, 0x016be56c, 0x00197693, 0x02635182, 0x003544dd}}}, + {X: Field{[10]uint32{0x00c7df70, 0x0342f237, 0x03fab76a, 0x0002de69, 0x0213c6f5, 0x03b2b625, 0x00cfa733, 0x036fb45d, 0x0131334b, 0x0019a65e}}, Y: Field{[10]uint32{0x0199435a, 0x026f4b19, 0x003310d4, 0x037c9a50, 0x00ab00af, 0x0012b158, 0x03e7d3a5, 0x00663bb8, 0x0301948e, 0x003f6f4c}}}, + {X: Field{[10]uint32{0x026eb4bf, 0x020f30c6, 0x008b3890, 0x00bcdc2c, 0x02563742, 0x0040fde6, 0x020b9620, 0x020be5f0, 0x00dfb38d, 0x000eea1b}}, Y: Field{[10]uint32{0x0258dfc8, 0x035ab48c, 0x02fee33d, 0x00aaf7b2, 0x035377e3, 0x02d1db86, 0x017f9819, 0x02ec4e6f, 0x001176de, 0x002b3b26}}}, + {X: Field{[10]uint32{0x031603cd, 0x024c36fb, 0x01243fed, 0x027ddba0, 0x02639519, 0x00b64575, 0x03acdbdc, 0x01c76130, 0x032f9db9, 0x0003d890}}, Y: Field{[10]uint32{0x027b5f28, 0x0031e5d2, 0x02444c2e, 0x013bac46, 0x0282269f, 0x037a1d5f, 0x0056acd5, 0x01331b96, 0x033d177b, 0x003ba273}}}, + {X: Field{[10]uint32{0x0067bbaf, 0x02bbaa70, 0x00b1d688, 0x0141e538, 0x01b6d812, 0x016ca028, 0x016e6500, 0x03a9182b, 0x03dc6a6d, 0x00212d06}}, Y: Field{[10]uint32{0x03c00e7c, 0x03090e67, 0x032b2ab8, 0x01b97343, 0x03e452fe, 0x017c3c32, 0x008cdf7b, 0x02d2ecae, 0x003cb535, 0x0027de1c}}}, + {X: Field{[10]uint32{0x009d4c67, 0x010b06b2, 0x01f8828a, 0x02b294e6, 0x01048c52, 0x022e3515, 0x00f48839, 0x0128538a, 0x02a93ea6, 0x00238b7f}}, Y: Field{[10]uint32{0x02781271, 0x0169267c, 0x02ff7593, 0x01d3da77, 0x03e09d74, 0x023b413a, 0x01df10dd, 0x00d814cd, 0x0149cda5, 0x003fb005}}}, + {X: Field{[10]uint32{0x03105e0b, 0x009dd666, 0x012f118b, 0x028903a4, 0x01dbd2f6, 0x032f0be8, 0x0175e364, 0x02b074ff, 0x01ae5401, 0x0030ef1b}}, Y: Field{[10]uint32{0x0363d6b4, 0x01430fce, 0x00c340a6, 0x0122dbc3, 0x019c5dba, 0x000dc02c, 0x02345063, 0x024c9bf4, 0x00f55b73, 0x0005c3f7}}}, + {X: Field{[10]uint32{0x03c14691, 0x03b32268, 0x0395da10, 0x03b7a4d5, 0x00c2defc, 0x009ffe04, 0x01a289e0, 0x014b9eb1, 0x02931b1e, 0x000cc24f}}, Y: Field{[10]uint32{0x00deec38, 0x021e9fdc, 0x0047a7ee, 0x002f5a2f, 0x0102114f, 0x02b843ee, 0x03dc8421, 0x017af699, 0x01845bd5, 0x001feee9}}}, + {X: Field{[10]uint32{0x00141ef9, 0x03f9cd36, 0x00208a36, 0x00cbb2f3, 0x013f1211, 0x031e3762, 0x02c765ed, 0x028f3801, 0x0038b6d1, 0x00086cd5}}, Y: Field{[10]uint32{0x02e300d0, 0x01afc1ba, 0x02a7f256, 0x02f8ec59, 0x01e2d516, 0x01bed423, 0x01a82b36, 0x01f723d8, 0x01a5ed23, 0x0003d845}}}, + {X: Field{[10]uint32{0x03892df3, 0x020bf1b4, 0x008de037, 0x008470b9, 0x03ade708, 0x023a793e, 0x0248edf2, 0x03b45cc0, 0x0183aa1b, 0x0033b599}}, Y: Field{[10]uint32{0x00fdec96, 0x0239ce06, 0x031b6cb3, 0x00d4901f, 0x02c3a818, 0x03110710, 0x03e634e3, 0x0280efc3, 0x0136f29d, 0x0013d0eb}}}, + {X: Field{[10]uint32{0x026f71f8, 0x0215cefb, 0x03ec023a, 0x01f333ca, 0x0337f6eb, 0x027ef32b, 0x02731222, 0x02a2bac1, 0x0020f541, 0x003169d1}}, Y: Field{[10]uint32{0x00adb259, 0x01921958, 0x017096c8, 0x00d524d3, 0x021612a5, 0x0097e964, 0x00a6e25d, 0x00f4db00, 0x00024426, 0x002b98d3}}}, + {X: Field{[10]uint32{0x00b9de9e, 0x012eb052, 0x0212ef0a, 0x007f1334, 0x008311c5, 0x016c57a9, 0x03255211, 0x01ad2ca9, 0x008bf30f, 0x000c1281}}, Y: Field{[10]uint32{0x023bb3cd, 0x02c19781, 0x03fec154, 0x0216c848, 0x0311ceeb, 0x02a54fea, 0x01cb5dc8, 0x02fc344a, 0x01003d6e, 0x0023e4d6}}}, + {X: Field{[10]uint32{0x039c2048, 0x02fef356, 0x0251972e, 0x03c4eec1, 0x016ecb66, 0x01e047a4, 0x009875e9, 0x002bd42b, 0x01ae7eba, 0x003fe5ad}}, Y: Field{[10]uint32{0x0352a887, 0x00678bd8, 0x00e3c319, 0x0321c3f5, 0x033de89c, 0x015abb46, 0x00a0b1db, 0x0073ab96, 0x0186bca7, 0x00092bc8}}}, + {X: Field{[10]uint32{0x01b701a3, 0x037389ec, 0x035d050b, 0x02e5282c, 0x028b6d38, 0x01bf6cf3, 0x01472437, 0x00bbb410, 0x021cdf73, 0x00164273}}, Y: Field{[10]uint32{0x0224dfdf, 0x0301782c, 0x012b037f, 0x02eefdde, 0x037d3731, 0x000e0e8f, 0x01cf2239, 0x039d8609, 0x01440665, 0x0000b912}}}, + {X: Field{[10]uint32{0x03d1d527, 0x01acc3aa, 0x01ad7cfb, 0x01d32bc1, 0x0008ef99, 0x00a11152, 0x02032b79, 0x019841be, 0x031f86d6, 0x003fdadd}}, Y: Field{[10]uint32{0x008ba4b3, 0x03c109e4, 0x03f50b25, 0x02b8d512, 0x029fcd0b, 0x03a7daa1, 0x037e0557, 0x03a473fd, 0x029c9393, 0x001aaf4a}}}, + {X: Field{[10]uint32{0x021aa8d9, 0x035f48ce, 0x005f4bef, 0x0215f9ff, 0x03be9196, 0x00b66b39, 0x03da48a1, 0x007eb47b, 0x030494dd, 0x00250f33}}, Y: Field{[10]uint32{0x020a7bd6, 0x0044d306, 0x01c523d0, 0x007161e4, 0x006014e0, 0x029f93c4, 0x011a23fc, 0x00fe2cdd, 0x00cc2dd9, 0x0013c22d}}}, + {X: Field{[10]uint32{0x005f172c, 0x03127dd0, 0x035b3ee6, 0x022c7672, 0x0147a463, 0x03c9b0d0, 0x00e0968b, 0x00737242, 0x03a7a89e, 0x00029e69}}, Y: Field{[10]uint32{0x03bb8ceb, 0x03ba43fc, 0x00cd1b3c, 0x01dae60e, 0x03ebadcb, 0x0300c96c, 0x0097f34e, 0x02f8eb95, 0x016714b5, 0x0032d4f6}}}, + {X: Field{[10]uint32{0x007b89dd, 0x03014547, 0x01b2fa50, 0x00daa8cf, 0x024f548b, 0x005cfde2, 0x021667cd, 0x01bbeaa1, 0x02fc7117, 0x000a3fcb}}, Y: Field{[10]uint32{0x02fe4941, 0x03889275, 0x01988dc6, 0x02ccdf5e, 0x038e67cd, 0x0235f6f7, 0x005e1656, 0x02857c52, 0x0307db4b, 0x0011d6cd}}}, + {X: Field{[10]uint32{0x01012968, 0x021facec, 0x03557f86, 0x01ebc2b9, 0x00223e89, 0x016d3280, 0x0304fa25, 0x01a21701, 0x033216a8, 0x00216cb0}}, Y: Field{[10]uint32{0x0257ea11, 0x0175cd75, 0x015c5704, 0x039e6341, 0x021f2bcb, 0x003bd1e7, 0x03cbe7af, 0x01015bbe, 0x0145ba66, 0x00287d63}}}, + {X: Field{[10]uint32{0x00bb8778, 0x01c32697, 0x01d47c2a, 0x03834d53, 0x027a02b3, 0x01ef4da4, 0x028e2add, 0x00cb7901, 0x0109eefb, 0x003a7f0b}}, Y: Field{[10]uint32{0x0365c312, 0x003b1696, 0x01cdf80d, 0x03b2f632, 0x00f249d7, 0x03d4f33d, 0x02e219bb, 0x0341a00f, 0x02a51216, 0x003b8026}}}, + {X: Field{[10]uint32{0x00005d9e, 0x0010be68, 0x02d65763, 0x0341883f, 0x02a1cc88, 0x0288a142, 0x0238af95, 0x00434c9b, 0x0350afd5, 0x00368b72}}, Y: Field{[10]uint32{0x033eaeab, 0x0007af84, 0x014436d5, 0x026ac5b2, 0x01ae0eab, 0x004c237a, 0x016af23f, 0x00258d78, 0x03b1c370, 0x0007bbd1}}}, + {X: Field{[10]uint32{0x02b352e0, 0x01f68f07, 0x02f08b9b, 0x034ffded, 0x02327891, 0x0021cd59, 0x03174027, 0x019baf39, 0x029cc6b1, 0x000836a8}}, Y: Field{[10]uint32{0x02e8a3fb, 0x0374fdde, 0x027a4299, 0x00981370, 0x02a30cb5, 0x00b0e8c9, 0x01d66929, 0x03e937b0, 0x002cecd6, 0x000bfda6}}}, + {X: Field{[10]uint32{0x03674d9b, 0x00bafdd4, 0x00bdd71b, 0x0101b30d, 0x023aab84, 0x025be7d3, 0x0147a534, 0x02f84d9d, 0x00dd2ae5, 0x00385ac2}}, Y: Field{[10]uint32{0x03a06846, 0x01e87646, 0x02c1d931, 0x0322dc4d, 0x0248a1af, 0x00d5ed6e, 0x003d60d6, 0x00ac7239, 0x024bd952, 0x002dc3dc}}}, + {X: Field{[10]uint32{0x016b93d3, 0x014d59f9, 0x00475807, 0x03b00f1a, 0x00c59670, 0x002c1b51, 0x039485e0, 0x036cd03f, 0x01af2d69, 0x0022228b}}, Y: Field{[10]uint32{0x01d4e3f5, 0x01e7ed8c, 0x01a9e9ba, 0x0212de52, 0x028e8043, 0x02c9c6ae, 0x00753f05, 0x002e0ab1, 0x03a7792e, 0x00376f93}}}, + {X: Field{[10]uint32{0x016abd12, 0x035831d8, 0x01704d50, 0x0032fd0f, 0x02ee6d8e, 0x00c7e5ec, 0x022e3081, 0x03f754b0, 0x00e29090, 0x001d1dda}}, Y: Field{[10]uint32{0x00b61058, 0x02eb1827, 0x0384099d, 0x01172338, 0x0227b266, 0x03b9ffcd, 0x012879e5, 0x0382d2ed, 0x03408d1c, 0x003aa9d7}}}, + {X: Field{[10]uint32{0x018d6eda, 0x01f5e73f, 0x011435a1, 0x0163e44c, 0x0380897a, 0x01f00307, 0x0337cc88, 0x004c6a34, 0x02ac1c7d, 0x00215a7c}}, Y: Field{[10]uint32{0x03eacf71, 0x01fb5b60, 0x01a8edda, 0x02aa9397, 0x0385e43b, 0x011a8ce4, 0x00e700a7, 0x001ba0be, 0x0344252d, 0x001413c2}}}, + {X: Field{[10]uint32{0x011860c9, 0x035a1078, 0x00591e57, 0x03e2f920, 0x00c4418d, 0x010a6e1d, 0x00a1d680, 0x0087713f, 0x03f9a672, 0x0013c57c}}, Y: Field{[10]uint32{0x0096b7ed, 0x02571529, 0x02a820b7, 0x02f13318, 0x013f1154, 0x01f4a418, 0x02bda108, 0x02a70685, 0x01561783, 0x00260b03}}}, + {X: Field{[10]uint32{0x004a92ce, 0x02fdf005, 0x019439e1, 0x036ea909, 0x0204e4f9, 0x03dc9635, 0x03d56ce6, 0x01b878fa, 0x02201f22, 0x00087946}}, Y: Field{[10]uint32{0x01aac869, 0x011c1e5d, 0x0235918d, 0x019d144d, 0x02428f31, 0x0326f42a, 0x001486fe, 0x0292b497, 0x0001b6a5, 0x001311ea}}}, + {X: Field{[10]uint32{0x000211a0, 0x00a84627, 0x01f2ed5e, 0x00d8e56f, 0x03e0f283, 0x03fdafe2, 0x034c4f9d, 0x03b03342, 0x002e8865, 0x003eb1f9}}, Y: Field{[10]uint32{0x00dd695e, 0x01aee8b1, 0x025c641e, 0x02dceeb5, 0x02ce656f, 0x0265cc1e, 0x01fece11, 0x00667bec, 0x019c8337, 0x000da04b}}}, + {X: Field{[10]uint32{0x0226d225, 0x01915246, 0x03469910, 0x00b5ee72, 0x0257f0f4, 0x010b4a7b, 0x01686714, 0x031dfb31, 0x039ec91b, 0x002851e0}}, Y: Field{[10]uint32{0x005bc5a4, 0x001dc2b2, 0x02edab73, 0x0138bc53, 0x02fc0d06, 0x028a7f06, 0x0120257f, 0x019fc618, 0x010ebf72, 0x003d010d}}}, + {X: Field{[10]uint32{0x00636b8c, 0x02790706, 0x01e2bdf1, 0x003dc5ab, 0x0344a790, 0x00563cf8, 0x0083c1f4, 0x01a01112, 0x00f9e508, 0x0034484b}}, Y: Field{[10]uint32{0x03fc0964, 0x00eb2c09, 0x02ec0555, 0x03203a31, 0x022f9c21, 0x00c8d71a, 0x00183a0f, 0x0059944a, 0x005107b9, 0x0001c82e}}}, + {X: Field{[10]uint32{0x03948975, 0x027fa422, 0x03ce72dd, 0x03282249, 0x022e4852, 0x00681f5e, 0x037c1250, 0x0095e025, 0x0334a7ab, 0x0004f57c}}, Y: Field{[10]uint32{0x018773ca, 0x01edbade, 0x0282a7d8, 0x014d1e7f, 0x02ff9987, 0x03a30e05, 0x0231db1a, 0x02aed473, 0x01e2d1d0, 0x0025ce1a}}}, + {X: Field{[10]uint32{0x0063507d, 0x02f7ec39, 0x007e6b9a, 0x0294d31e, 0x025ec754, 0x01af084d, 0x029bec32, 0x027a39da, 0x01616dae, 0x0007c19a}}, Y: Field{[10]uint32{0x035b262d, 0x03473471, 0x013ceb5b, 0x01d02ccd, 0x03c6f999, 0x0264ea6f, 0x01f9fc12, 0x00447e20, 0x030eb4ea, 0x00369201}}}, + {X: Field{[10]uint32{0x01150269, 0x02ab57da, 0x020298d4, 0x03400453, 0x01907b15, 0x027e5d7d, 0x02d9a495, 0x00770f12, 0x01873868, 0x0001ca78}}, Y: Field{[10]uint32{0x01455442, 0x001967e3, 0x003f2456, 0x020a7a36, 0x02c1901c, 0x02c0d69f, 0x020022c8, 0x02806db7, 0x018ec60e, 0x0036fcbb}}}, + {X: Field{[10]uint32{0x01fda12a, 0x0085a1c7, 0x02fa02ee, 0x03bb0810, 0x028e3692, 0x03864309, 0x002435fd, 0x00d1dd35, 0x03e96135, 0x003a4bf2}}, Y: Field{[10]uint32{0x0164f2ff, 0x014b320b, 0x01a84fb8, 0x01447c07, 0x03585b14, 0x039bb173, 0x02369575, 0x02035907, 0x000e3f52, 0x0029d6d7}}}, + {X: Field{[10]uint32{0x00da36df, 0x0204b532, 0x01c1c789, 0x0335fcad, 0x001ad35b, 0x00fdae41, 0x004dfbf9, 0x0234e7a7, 0x021ac69f, 0x002170b9}}, Y: Field{[10]uint32{0x00b53f45, 0x03eaecf0, 0x03752f38, 0x036efca5, 0x02575264, 0x00caac46, 0x00a50b33, 0x00a78697, 0x01876944, 0x00329b64}}}, + {X: Field{[10]uint32{0x011bc05c, 0x0051f86f, 0x0024f10f, 0x016021e7, 0x003adf99, 0x016b93c0, 0x01c2791b, 0x031ad03d, 0x0232c33c, 0x0004345d}}, Y: Field{[10]uint32{0x039a687d, 0x00b24a64, 0x01718a8b, 0x013cc481, 0x000be846, 0x02393170, 0x01bae008, 0x03b1bd17, 0x0334f1dd, 0x003857b9}}}, + {X: Field{[10]uint32{0x025d609a, 0x03b21af8, 0x036f028f, 0x035a09d1, 0x0092511d, 0x01fa82ef, 0x01820bd2, 0x0225cbce, 0x03452593, 0x0029a508}}, Y: Field{[10]uint32{0x0311d6e9, 0x01cc20d3, 0x016bd0ea, 0x01b02d4a, 0x00af49ee, 0x0095b2d2, 0x036d1b66, 0x01cfd24f, 0x0216870f, 0x00381acd}}}, + {X: Field{[10]uint32{0x0394d8ac, 0x019b6237, 0x0190604f, 0x01d5aec3, 0x03c401a6, 0x016db131, 0x02ba0524, 0x02b8fd0f, 0x00ed2b3d, 0x002d29f6}}, Y: Field{[10]uint32{0x00963456, 0x00291b64, 0x01ecfd2b, 0x00138429, 0x01074dcb, 0x0341ebcd, 0x03def119, 0x036d6bf5, 0x00631a2c, 0x003ff207}}}, + {X: Field{[10]uint32{0x01a6fd17, 0x0078aaf7, 0x01266303, 0x03fd613c, 0x03f84fb2, 0x026a9574, 0x01cb660d, 0x00f15ca1, 0x021daebd, 0x0016baf8}}, Y: Field{[10]uint32{0x02f1abe8, 0x03366676, 0x00ff6d9d, 0x03bdecd7, 0x038f5994, 0x03572114, 0x0178c40c, 0x02d4c834, 0x01136a51, 0x00008ba9}}}, + {X: Field{[10]uint32{0x008c7f87, 0x00c5b9cb, 0x01c51278, 0x00360e18, 0x0269388d, 0x01158ea9, 0x016d64cb, 0x022356de, 0x02641943, 0x002b1a11}}, Y: Field{[10]uint32{0x02f41ac1, 0x004eace7, 0x02e5ff89, 0x02209961, 0x034d7109, 0x03da4fa4, 0x03bf1143, 0x002c0425, 0x02d82dc9, 0x0032e509}}}, + {X: Field{[10]uint32{0x00955250, 0x00855f09, 0x028356b8, 0x0190589f, 0x0176ad27, 0x009f3a2a, 0x00c58c2f, 0x0398861d, 0x01490f89, 0x001be52f}}, Y: Field{[10]uint32{0x007c5614, 0x037cfe6f, 0x012ec0d8, 0x02163b03, 0x01e3633a, 0x03e188bd, 0x03d9cf68, 0x0371f171, 0x00ce4a54, 0x003490cc}}}, + {X: Field{[10]uint32{0x0008f137, 0x01024168, 0x02fa9d09, 0x0229e168, 0x00775e06, 0x02b17fd1, 0x019ec5c9, 0x0251e81b, 0x008ce149, 0x0000fe5b}}, Y: Field{[10]uint32{0x005f3f40, 0x003ab320, 0x00ce2b12, 0x0100c380, 0x009b7d9e, 0x00d8327f, 0x03613d4e, 0x029418f3, 0x03af7111, 0x002a4773}}}, + {X: Field{[10]uint32{0x039c707d, 0x01c2565d, 0x033c8f34, 0x01866ca9, 0x00405a5b, 0x0124265d, 0x022a4c17, 0x01d74ee1, 0x005cdfd6, 0x0036016c}}, Y: Field{[10]uint32{0x003b6865, 0x0233b20f, 0x03a66b6d, 0x03c40f30, 0x0184366e, 0x02edff2c, 0x022abdbf, 0x027cb78e, 0x004cc727, 0x0029a2d5}}}, + {X: Field{[10]uint32{0x039df0e4, 0x02f8d381, 0x031d4808, 0x00cdbcbd, 0x03591422, 0x01d2afa6, 0x020efa78, 0x0272d9af, 0x000bd418, 0x00348a4f}}, Y: Field{[10]uint32{0x012682b1, 0x0301a3c8, 0x0131318c, 0x0268ff83, 0x017f24f7, 0x033a8e1c, 0x03fe70a5, 0x012582e6, 0x024887c5, 0x0017ef0c}}}, + {X: Field{[10]uint32{0x03209d5f, 0x032b6716, 0x016570fa, 0x03ed55be, 0x01e3f107, 0x01dacf17, 0x0149d26e, 0x008ff9eb, 0x010be226, 0x0024c7c2}}, Y: Field{[10]uint32{0x031cc087, 0x034685d2, 0x00144d5a, 0x03006143, 0x01848f57, 0x006ba8e5, 0x01daf748, 0x02626619, 0x0279d2a8, 0x00330957}}}, + {X: Field{[10]uint32{0x01e5ddc9, 0x0165cc8e, 0x00987a03, 0x002b6cd0, 0x006e4e69, 0x021500e9, 0x02a72f62, 0x03fdaf23, 0x02836707, 0x00046298}}, Y: Field{[10]uint32{0x03ff818b, 0x0086603d, 0x027ad722, 0x02361704, 0x00b6f5a1, 0x0365abe1, 0x039d4470, 0x024160db, 0x03e5e65a, 0x00247c03}}}, + {X: Field{[10]uint32{0x036a985a, 0x0071a907, 0x014be189, 0x00b4b998, 0x01b811ca, 0x03475278, 0x014ba420, 0x02d26b40, 0x00eb5b6c, 0x0020425b}}, Y: Field{[10]uint32{0x03607e5d, 0x03fa5c2d, 0x038f5b4d, 0x0181ac12, 0x003f4948, 0x00d52d9d, 0x0050a3c1, 0x03cf95e0, 0x01c5f8f9, 0x00036814}}}, + {X: Field{[10]uint32{0x000cae06, 0x0042624c, 0x0068b9f4, 0x010db771, 0x00351b7e, 0x020fad1f, 0x013559e7, 0x017b58b7, 0x00385ff4, 0x0026a029}}, Y: Field{[10]uint32{0x0004b6d0, 0x015efe2e, 0x01cad30e, 0x01678f90, 0x00bee656, 0x003154e6, 0x028aee8b, 0x02716d18, 0x039921b6, 0x00211747}}}, + {X: Field{[10]uint32{0x02747906, 0x009023d1, 0x0209081c, 0x0137eeed, 0x02214395, 0x007a57fa, 0x02c1d596, 0x0156e5fe, 0x00f3b899, 0x001a8c5a}}, Y: Field{[10]uint32{0x00ccc005, 0x00f15ca3, 0x01403c48, 0x007a0475, 0x02012c74, 0x00b2406d, 0x0244a3f8, 0x03c420eb, 0x03886778, 0x0016d7c7}}}, + {X: Field{[10]uint32{0x01214af8, 0x002a43f8, 0x018a73db, 0x03fbd3e3, 0x03797710, 0x022f23b5, 0x03d42985, 0x0196e88e, 0x031178d1, 0x002680ea}}, Y: Field{[10]uint32{0x01e85665, 0x00ad6f22, 0x0265ca65, 0x00287542, 0x0159a555, 0x02955bd4, 0x0112f2bf, 0x012fd245, 0x00e7e61e, 0x001c2223}}}, + {X: Field{[10]uint32{0x00ea2f5d, 0x01e3bdbd, 0x00e25e78, 0x01066477, 0x01296c8c, 0x0230525c, 0x02615754, 0x03678566, 0x018d78b8, 0x00232430}}, Y: Field{[10]uint32{0x031ca074, 0x005220b2, 0x01a68028, 0x03e6da42, 0x032b97c0, 0x036edc89, 0x0244a5e5, 0x02394685, 0x00cfde62, 0x000a950a}}}, + {X: Field{[10]uint32{0x008a8957, 0x035b74d4, 0x01d43b68, 0x008cce7f, 0x00933279, 0x000b27b4, 0x037a5daa, 0x00093613, 0x037f3062, 0x000ba6ea}}, Y: Field{[10]uint32{0x02a43345, 0x011d4c34, 0x02aca4a1, 0x023268dd, 0x03ea7e4f, 0x0148ecb7, 0x01e21f19, 0x000f27c8, 0x00b73f38, 0x00326be0}}}, + {X: Field{[10]uint32{0x02466322, 0x005d9c66, 0x0384db5c, 0x0260d0eb, 0x03e21298, 0x03ef9a8d, 0x0295e7c1, 0x033fbd92, 0x032e718e, 0x0009cd2f}}, Y: Field{[10]uint32{0x0284216e, 0x018d8c79, 0x03ca8f0a, 0x012f7e28, 0x007d0a1e, 0x01a5cc4b, 0x02a0ce34, 0x017c338d, 0x018a9f11, 0x003d4c02}}}, + {X: Field{[10]uint32{0x016aab58, 0x030a9475, 0x000d5e21, 0x01ee323d, 0x004af325, 0x01e6d485, 0x001b9975, 0x012939ba, 0x02f9500e, 0x002ae7b2}}, Y: Field{[10]uint32{0x01e0f047, 0x0035470f, 0x01bc3ff3, 0x039d5d0f, 0x01d0aaed, 0x00e2a216, 0x015e9d19, 0x0061126f, 0x03468e08, 0x003df4e1}}}, + {X: Field{[10]uint32{0x031af368, 0x0190d6b2, 0x000c0169, 0x01353a11, 0x00292b4d, 0x016eaa20, 0x029cd3e8, 0x027bcb96, 0x0146a4c0, 0x002b897d}}, Y: Field{[10]uint32{0x03f3da84, 0x004157bd, 0x03d59e05, 0x03c84404, 0x0080bd59, 0x0254f1b1, 0x039a9f22, 0x02103edc, 0x03b37373, 0x0011a8ac}}}, + {X: Field{[10]uint32{0x012e6142, 0x020f7070, 0x00ace54a, 0x02cafb01, 0x034e35ab, 0x0213f003, 0x017efaa8, 0x00736bd6, 0x01a64ef2, 0x00150a17}}, Y: Field{[10]uint32{0x00cdbc3d, 0x002db0c8, 0x03f6e522, 0x0124351b, 0x00b962a8, 0x00897757, 0x03c2dc29, 0x01ed6e91, 0x02b2144d, 0x000120ef}}}, + {X: Field{[10]uint32{0x03dca65e, 0x03ad984d, 0x00874c8d, 0x03ba8a45, 0x0035a627, 0x01a9e15f, 0x02d542ed, 0x008c7d82, 0x003404bc, 0x002fb3a1}}, Y: Field{[10]uint32{0x022f6a95, 0x00bd3acf, 0x034f8e9c, 0x02b6934e, 0x00fe1c93, 0x03820495, 0x0077fb8d, 0x039cbe39, 0x038002f9, 0x00288a7e}}}, + {X: Field{[10]uint32{0x035e81d1, 0x03672d3e, 0x0326b26f, 0x00b6b9b0, 0x0389994a, 0x03a082ef, 0x02fe5af1, 0x02e15d1c, 0x0347b148, 0x0000f555}}, Y: Field{[10]uint32{0x01e465df, 0x000073ef, 0x0052db90, 0x03efbf56, 0x03c9ea7d, 0x02cac58b, 0x035bc4f1, 0x00a293d8, 0x025ae867, 0x0037b7b2}}}, + {X: Field{[10]uint32{0x01cde5d4, 0x025f73dd, 0x01715fbc, 0x0080cd1d, 0x021846b5, 0x022fda9c, 0x036361a8, 0x00f1cd67, 0x0219d163, 0x0004f1a0}}, Y: Field{[10]uint32{0x03f83af4, 0x0104fe4d, 0x02e55935, 0x038aacad, 0x03bddf0c, 0x00b5e7a7, 0x02bfe7c5, 0x01fc825a, 0x00c239fc, 0x0033a28f}}}, + {X: Field{[10]uint32{0x01b0a6ac, 0x014049b5, 0x03433436, 0x00a6fa0d, 0x0036690a, 0x02ad4bc6, 0x00c481ad, 0x00691c9d, 0x02e1a804, 0x003a7902}}, Y: Field{[10]uint32{0x00c6bb7f, 0x0191bc8e, 0x029a9577, 0x008a9576, 0x019a22fa, 0x012451f3, 0x031f3147, 0x00e6e04d, 0x00b79c98, 0x00306656}}}, + {X: Field{[10]uint32{0x01493068, 0x006d3228, 0x00eea632, 0x01c6689a, 0x0113af43, 0x0236d872, 0x0353a537, 0x028697dc, 0x01537460, 0x000b8ed1}}, Y: Field{[10]uint32{0x03a54dcf, 0x014b1772, 0x01bb6e04, 0x03cadbed, 0x015ccf5c, 0x02439540, 0x019d3e22, 0x019b2125, 0x02561049, 0x003dee97}}}, + {X: Field{[10]uint32{0x034c62b8, 0x03c3d202, 0x0091edb1, 0x03713329, 0x026a59f3, 0x03d9c373, 0x02aa40eb, 0x012c019f, 0x0082b921, 0x0026156f}}, Y: Field{[10]uint32{0x00fcf435, 0x03072033, 0x000098d4, 0x0084e11e, 0x0387184e, 0x02c1c580, 0x0237d6b5, 0x031cf3a7, 0x036e3be6, 0x0029f64f}}}, + {X: Field{[10]uint32{0x01253979, 0x03e11d85, 0x00866982, 0x03148cee, 0x0367486b, 0x0273c9f7, 0x004bee26, 0x00a44db5, 0x00a9b934, 0x000dfe08}}, Y: Field{[10]uint32{0x0070ca15, 0x01a28a1e, 0x0288b2a5, 0x00ee75ee, 0x0150dd89, 0x01f159a9, 0x0345a5a3, 0x0274ddfc, 0x029daa62, 0x003f72ba}}}, + {X: Field{[10]uint32{0x02d41a98, 0x02a747f7, 0x013b03cb, 0x028a8e13, 0x023e0cd0, 0x001c3167, 0x00f6ba28, 0x00ec31a4, 0x0098a92a, 0x003a0b4b}}, Y: Field{[10]uint32{0x00501460, 0x021af832, 0x0306095c, 0x03341852, 0x01d09d7e, 0x031f540b, 0x0033d344, 0x016cd852, 0x023232d8, 0x000c79ce}}}, + {X: Field{[10]uint32{0x02923419, 0x024de666, 0x03f3a24b, 0x007ad002, 0x03ad4690, 0x03abb38e, 0x00711827, 0x032419a8, 0x03c36dd4, 0x002f524b}}, Y: Field{[10]uint32{0x01dd7798, 0x01a83240, 0x01af5fdc, 0x024ef349, 0x018b93da, 0x01ff5012, 0x036dbd0a, 0x03569199, 0x03c51e1f, 0x0032ab68}}}, + {X: Field{[10]uint32{0x0229577a, 0x03b4cae1, 0x039641cd, 0x0265ef7c, 0x00cd8f0d, 0x0169a720, 0x022c4dc1, 0x03b13cf2, 0x02da42d1, 0x001b22d1}}, Y: Field{[10]uint32{0x0318c956, 0x00900131, 0x030a97f1, 0x023b98ac, 0x01cbeb98, 0x02f2f08e, 0x02ef5965, 0x010b83dc, 0x0362729e, 0x0034eb53}}}, + {X: Field{[10]uint32{0x00f5dd62, 0x03af303e, 0x00f05ea9, 0x006ab432, 0x03effee7, 0x034d5ad3, 0x00a25d34, 0x034f7615, 0x01e6799b, 0x001e2c7a}}, Y: Field{[10]uint32{0x0131145d, 0x017e248e, 0x025c1dd2, 0x00adc0b9, 0x01d726ce, 0x028c0199, 0x03d70057, 0x02237301, 0x02d6a267, 0x000c540f}}}, + {X: Field{[10]uint32{0x02ebdccf, 0x01d3ba96, 0x00375c89, 0x0170057c, 0x03cb53fa, 0x03e92ada, 0x028cda6b, 0x0148f8f1, 0x02a663c5, 0x003cbb40}}, Y: Field{[10]uint32{0x00f36382, 0x039c968f, 0x03b67773, 0x02a3451d, 0x02937720, 0x00882b4c, 0x03922413, 0x000c838e, 0x01c3afdc, 0x0000ef79}}}, + {X: Field{[10]uint32{0x02caffd3, 0x00259f50, 0x02a60cde, 0x0005746a, 0x00f67ab1, 0x03fdae88, 0x0254d835, 0x0002fc1f, 0x0243a458, 0x001f90fd}}, Y: Field{[10]uint32{0x0398d68a, 0x00851655, 0x0079a76e, 0x004ad55a, 0x0158600d, 0x001ed49a, 0x03fbb378, 0x00ce66d5, 0x02da0f47, 0x0007d15b}}}, + {X: Field{[10]uint32{0x01319be8, 0x002d9598, 0x01d07643, 0x03299955, 0x017ccde2, 0x02d34b3a, 0x00c0a624, 0x00da5ea9, 0x01775eb7, 0x0037c578}}, Y: Field{[10]uint32{0x027311ad, 0x001e73ec, 0x00e53b35, 0x032ac5b9, 0x0108397c, 0x02983b8b, 0x0173dfb8, 0x00e06308, 0x00dcf154, 0x0000125b}}}, + {X: Field{[10]uint32{0x0382e2ae, 0x01fd9a71, 0x00fceef3, 0x03ee4685, 0x036707a3, 0x02503a12, 0x01c16487, 0x02ec804b, 0x03060295, 0x003b7c75}}, Y: Field{[10]uint32{0x02019a2e, 0x02a2593f, 0x00d7d239, 0x0263c239, 0x039ed8f5, 0x03a223ab, 0x00b2dd68, 0x01b25ec8, 0x02f6fcd7, 0x0038e83c}}}, + {X: Field{[10]uint32{0x02f8f6c0, 0x023ed705, 0x03c2d9b1, 0x0335aea1, 0x01fd92ce, 0x00f41193, 0x023c3137, 0x02087cef, 0x02b26b15, 0x00305408}}, Y: Field{[10]uint32{0x02136c2e, 0x01606f73, 0x02da9327, 0x0096a03f, 0x0065d57f, 0x00ba7e81, 0x03961e69, 0x00a10b81, 0x0370d94e, 0x001e3348}}}, + {X: Field{[10]uint32{0x036001d9, 0x01f69fb1, 0x01105e27, 0x032ed4b7, 0x00c6cc2b, 0x02a3e324, 0x01886a28, 0x00578042, 0x036bb6ae, 0x0002f537}}, Y: Field{[10]uint32{0x02f1446f, 0x021c9f63, 0x0387572f, 0x03736806, 0x03a6f6fa, 0x01b3b4b8, 0x00e50299, 0x032e596e, 0x01b2b0b4, 0x00126596}}}, + {X: Field{[10]uint32{0x03bc0b76, 0x0025c023, 0x03ed4b21, 0x02d3211a, 0x021e2d6e, 0x018bc603, 0x01f9b4f1, 0x02533949, 0x02328738, 0x0037f3b0}}, Y: Field{[10]uint32{0x01b4f92e, 0x03bc019a, 0x03b953f8, 0x0314cc90, 0x005a477e, 0x02842acf, 0x0318f059, 0x0239c670, 0x021bf4c8, 0x002bef1d}}}, + {X: Field{[10]uint32{0x01c94e54, 0x02c7fbfd, 0x008e1a9e, 0x00d5d939, 0x00b84739, 0x02e2d07f, 0x0259b005, 0x013eb88d, 0x004de3c9, 0x002c01db}}, Y: Field{[10]uint32{0x039c7d4f, 0x0288c203, 0x00551f3e, 0x0286e13a, 0x01fe17fd, 0x0120c282, 0x002ee5e4, 0x029a1dbd, 0x02553c55, 0x00387acc}}}, + {X: Field{[10]uint32{0x022d0c11, 0x0130fc36, 0x008be94b, 0x02c266fa, 0x020fe9eb, 0x03599e1e, 0x01e9fe33, 0x00957304, 0x029c17c4, 0x0002687f}}, Y: Field{[10]uint32{0x008e8379, 0x03d5a37a, 0x002b096a, 0x01b98b7c, 0x0325f6fd, 0x01eb472a, 0x023e1aac, 0x039ce5b8, 0x030999a8, 0x0039abbd}}}, + {X: Field{[10]uint32{0x01212899, 0x01ba7905, 0x030f2257, 0x01b9e658, 0x02e1d8b1, 0x01b19441, 0x0399b88b, 0x02f05766, 0x0134126b, 0x0007626a}}, Y: Field{[10]uint32{0x02f8f4eb, 0x02035669, 0x00fd7567, 0x0113b4db, 0x0137d646, 0x03657142, 0x01a79ef7, 0x001c883a, 0x025692db, 0x002df8c8}}}, + {X: Field{[10]uint32{0x000c7fa4, 0x02f90cdc, 0x000a6ac2, 0x015886f2, 0x02345469, 0x014c3b7e, 0x0062d4f7, 0x00de58f1, 0x0068b67b, 0x003183d7}}, Y: Field{[10]uint32{0x038a7e08, 0x01d6982f, 0x002c653f, 0x014d73b0, 0x03b5507b, 0x003724b4, 0x01b5a676, 0x03c38e86, 0x007197ff, 0x00223e2c}}}, + {X: Field{[10]uint32{0x02d9d949, 0x01f5b094, 0x02ec9e6b, 0x0073dda3, 0x03620576, 0x00c06f90, 0x036499ad, 0x009a646d, 0x036f0d9b, 0x0014b34a}}, Y: Field{[10]uint32{0x030ec835, 0x00084e00, 0x024aa138, 0x020bd51f, 0x02263563, 0x031e0ac9, 0x0111a3ea, 0x00d42283, 0x00661fa3, 0x003449f3}}}, + {X: Field{[10]uint32{0x0105dda9, 0x00d0091b, 0x03be920a, 0x02973d38, 0x01c21fbe, 0x0345aec6, 0x004f107f, 0x020d7fce, 0x019ea639, 0x00079112}}, Y: Field{[10]uint32{0x032d1f53, 0x0104b083, 0x0088d027, 0x008fa585, 0x018f8adf, 0x013f43c8, 0x00d12db7, 0x010be654, 0x00e90a90, 0x001071aa}}}, + {X: Field{[10]uint32{0x006861de, 0x009d50ff, 0x01cb1c67, 0x01595a81, 0x03984ecc, 0x01804dba, 0x0253bae3, 0x0252eb47, 0x00f0a563, 0x0004e451}}, Y: Field{[10]uint32{0x02d0742a, 0x03b4ed0b, 0x02dc1025, 0x0005ba87, 0x00964f3d, 0x03010aee, 0x03174ab6, 0x03a6c86f, 0x0337ff37, 0x001c0e51}}}, + {X: Field{[10]uint32{0x014a2280, 0x029d3e19, 0x02eb75a2, 0x0322db6d, 0x0134fe75, 0x018d39a1, 0x03cb9546, 0x037c6187, 0x002a2454, 0x0024d328}}, Y: Field{[10]uint32{0x03195761, 0x03e85736, 0x00be4375, 0x00e9af9e, 0x016865ce, 0x013f493c, 0x003caee7, 0x03f2802e, 0x0384266c, 0x001de7a5}}}, + {X: Field{[10]uint32{0x006a3be6, 0x034c9b62, 0x0279a7ac, 0x02a8b52d, 0x00af913b, 0x034d7b35, 0x01a8c329, 0x009165df, 0x007d9e1c, 0x002993c1}}, Y: Field{[10]uint32{0x01112b2b, 0x0052061e, 0x03581e60, 0x00263b15, 0x023210f3, 0x0091d677, 0x02145e3b, 0x03b5b440, 0x030ff3b4, 0x003847a0}}}, + {X: Field{[10]uint32{0x018757e1, 0x0150a3a0, 0x0034e2a1, 0x0312e2f5, 0x03cfcf45, 0x03c57fa3, 0x00820ccd, 0x02422236, 0x00bdcd62, 0x003871a2}}, Y: Field{[10]uint32{0x00c77f7d, 0x003dbc86, 0x03600d13, 0x00685499, 0x01a34e7d, 0x01deedd1, 0x03b8e00e, 0x03238004, 0x02e171e7, 0x002f0431}}}, + {X: Field{[10]uint32{0x00137358, 0x03baab1a, 0x01354c6d, 0x03b43655, 0x010ba2bd, 0x009ebf32, 0x0056de68, 0x01c3cb65, 0x00951231, 0x002c68c3}}, Y: Field{[10]uint32{0x004071f5, 0x01f5042c, 0x032985a1, 0x01fb7e86, 0x02a67879, 0x00100dcf, 0x00443469, 0x0072bf4e, 0x00abc16c, 0x00271da8}}}, + {X: Field{[10]uint32{0x02166e85, 0x024afab9, 0x034d0d68, 0x027da66b, 0x034c7cf9, 0x023d7894, 0x028ba235, 0x00a470d1, 0x03b5fbb0, 0x00093309}}, Y: Field{[10]uint32{0x039f71d5, 0x0287b633, 0x038ddd7a, 0x03388c4a, 0x02d51aab, 0x03c1da3f, 0x03c52e3f, 0x02e9099c, 0x01af2516, 0x003abcda}}}, + {X: Field{[10]uint32{0x008f6a57, 0x02aacb65, 0x00a92217, 0x01de136a, 0x02bacab5, 0x02f4c73b, 0x03e8921c, 0x03478bdf, 0x017a6166, 0x0022ed00}}, Y: Field{[10]uint32{0x008dc331, 0x00355ac2, 0x00c8a5c3, 0x01ca4f5e, 0x01a09cad, 0x0060a65b, 0x02e34fc7, 0x01a618d5, 0x000e6c47, 0x0032265d}}}, + {X: Field{[10]uint32{0x00497f6f, 0x02668cd8, 0x0368b0ec, 0x03d6949c, 0x01e6dafe, 0x002cc0ff, 0x02c17dc2, 0x03765b83, 0x03ddd82f, 0x0015762d}}, Y: Field{[10]uint32{0x03b8beca, 0x0211d8ad, 0x03657bbf, 0x00c347ff, 0x03f4f292, 0x0139cba7, 0x021709e4, 0x0359bd0d, 0x0111078b, 0x003f5891}}}, + {X: Field{[10]uint32{0x00c94df3, 0x038a148d, 0x028455db, 0x009bb11e, 0x03109d46, 0x00176f78, 0x01cbfe61, 0x00c6bd46, 0x01ef5a55, 0x0020aa8b}}, Y: Field{[10]uint32{0x01811511, 0x003b8e33, 0x007c4ebc, 0x03e81a85, 0x018d1e60, 0x0097eec9, 0x002df919, 0x028b9423, 0x03ea9f83, 0x00184582}}}, + {X: Field{[10]uint32{0x00f6f7f4, 0x010e33cb, 0x01636ad3, 0x02c30a38, 0x00804b03, 0x033ea466, 0x002cfbf3, 0x01ffe11f, 0x037cc6df, 0x000db049}}, Y: Field{[10]uint32{0x02fe4833, 0x0168a945, 0x03020aee, 0x018038cb, 0x03a7bb3b, 0x02963811, 0x015d821e, 0x0071d151, 0x03a274f8, 0x0008c13e}}}, + {X: Field{[10]uint32{0x00cd9119, 0x02215ab8, 0x0318c0eb, 0x0097e926, 0x02d57b89, 0x03002cd9, 0x02c9e860, 0x032b5f85, 0x01cc5b44, 0x003cddbf}}, Y: Field{[10]uint32{0x00a028cb, 0x039ea814, 0x006ac74f, 0x02b2f7d7, 0x01c3d0e7, 0x006b3f23, 0x009e3ef1, 0x03a07c12, 0x0132e4de, 0x000b5ab3}}}, + {X: Field{[10]uint32{0x01c5030b, 0x02ab3297, 0x03d1cc7a, 0x01b0e7b3, 0x0197150b, 0x001f4ea2, 0x02e8ecb9, 0x03a7d765, 0x00dc5372, 0x003a9384}}, Y: Field{[10]uint32{0x02d96ff5, 0x01999b0d, 0x003f9520, 0x0180513f, 0x0336d6be, 0x03f7ae25, 0x03486d29, 0x009aff0b, 0x02a393b6, 0x002c225b}}}, + {X: Field{[10]uint32{0x02fdeb08, 0x020728e9, 0x0191a0d1, 0x0067c6a7, 0x00a376ea, 0x006c512e, 0x03f0a2c7, 0x01285e74, 0x02b4b266, 0x001d3ce4}}, Y: Field{[10]uint32{0x009e1fc0, 0x03b820f8, 0x02636c6e, 0x00d901b4, 0x01c95230, 0x026d19cd, 0x02cef679, 0x01623d93, 0x0321428d, 0x0026f536}}}, + {X: Field{[10]uint32{0x014855eb, 0x0258bbf3, 0x02774ca6, 0x01ad62e0, 0x0111c13a, 0x00393208, 0x01a17daf, 0x01ddd290, 0x004259ba, 0x000e8db2}}, Y: Field{[10]uint32{0x00fa5e3c, 0x02574af8, 0x03f482f0, 0x02e91763, 0x01f35e46, 0x017bce79, 0x01720c71, 0x024a3359, 0x01ad9ede, 0x001b76b4}}}, + {X: Field{[10]uint32{0x0098c019, 0x01434a97, 0x0364deae, 0x00623cc9, 0x017635ef, 0x01ac5faa, 0x02739814, 0x02913c5b, 0x02ad5636, 0x00275dec}}, Y: Field{[10]uint32{0x02ee3eef, 0x030dc688, 0x03234f30, 0x033674bd, 0x03eb5936, 0x02cb6c25, 0x0392b8ac, 0x02186ae4, 0x0027a775, 0x0014cb74}}}, + {X: Field{[10]uint32{0x02a3c4ab, 0x02b9f9ef, 0x02c1b39a, 0x005fb91a, 0x000deb61, 0x00317c6f, 0x01168a0f, 0x00be0381, 0x02e9450e, 0x000b9d00}}, Y: Field{[10]uint32{0x0182fc3b, 0x020abeb3, 0x02b6034b, 0x0073c90b, 0x03cf8572, 0x02208404, 0x016b3fef, 0x03f8ae3b, 0x036b5606, 0x00107a3c}}}, + {X: Field{[10]uint32{0x033ebe6f, 0x030ddb94, 0x03320de0, 0x03c54c52, 0x006a6806, 0x023c0297, 0x0333d35e, 0x02d6f606, 0x03254ed0, 0x002bacb2}}, Y: Field{[10]uint32{0x01b9d59c, 0x03135a8a, 0x03d0b142, 0x003dda0c, 0x035d761c, 0x0320fcc5, 0x0028249f, 0x03e8b2cc, 0x02f52d7b, 0x001ae045}}}, + {X: Field{[10]uint32{0x00ca7895, 0x0330fd17, 0x03655fbb, 0x00eae8e8, 0x014cca66, 0x029e5e4a, 0x00adabe3, 0x00b25e80, 0x00bd55d6, 0x00321889}}, Y: Field{[10]uint32{0x011cc214, 0x00c8eef3, 0x00c21844, 0x014fea54, 0x001d8573, 0x0180276d, 0x0293adfa, 0x01e4d4d9, 0x03b7104f, 0x0028c668}}}, + {X: Field{[10]uint32{0x02efe561, 0x033eee8f, 0x03a66aac, 0x03814d2c, 0x00d53ddd, 0x03f739bd, 0x035a28bc, 0x01a8375e, 0x00cc2c57, 0x00074459}}, Y: Field{[10]uint32{0x004995a7, 0x0119c2ad, 0x0291c000, 0x022490fa, 0x01ec6009, 0x0311c391, 0x00ba6947, 0x03625ff3, 0x00deaa25, 0x002e1624}}}, + {X: Field{[10]uint32{0x0040e3c8, 0x00984629, 0x0393b92f, 0x01062f35, 0x035e7f0f, 0x03124f33, 0x036620a5, 0x0056d739, 0x02b413b9, 0x000ad53e}}, Y: Field{[10]uint32{0x039bf5d1, 0x03400593, 0x03cdb30a, 0x012c0bbf, 0x037a61ce, 0x037777cd, 0x01bdfefb, 0x02b635fa, 0x012556fe, 0x0022bfe3}}}, + {X: Field{[10]uint32{0x0329b340, 0x00ea9815, 0x0188709a, 0x0097cb7e, 0x03a9718c, 0x014f91b5, 0x01428ac8, 0x00a87d82, 0x0224a4e7, 0x0007c7ca}}, Y: Field{[10]uint32{0x00421cbd, 0x037c858b, 0x03170991, 0x00812c85, 0x020b6311, 0x01a1c40c, 0x0394f392, 0x002eeaf3, 0x00a4f492, 0x00011437}}}, + {X: Field{[10]uint32{0x00ebd4e5, 0x017b94b2, 0x03200f18, 0x0167c8bc, 0x0383fbc5, 0x0001f815, 0x025682c5, 0x01f93493, 0x018ee677, 0x00104bd9}}, Y: Field{[10]uint32{0x0171c8f4, 0x02de26d9, 0x00e32887, 0x038c9da4, 0x010c8399, 0x03e9932c, 0x030b3d7a, 0x0253fae4, 0x024a9d93, 0x0030b82d}}}, + {X: Field{[10]uint32{0x00f4912b, 0x007e1513, 0x011fbf56, 0x03e7e4b0, 0x0195102e, 0x019f8943, 0x02fec9a3, 0x02477a5d, 0x00b55677, 0x00212577}}, Y: Field{[10]uint32{0x02152443, 0x0270ca8a, 0x011c5e2a, 0x007d1938, 0x03542e51, 0x014ef693, 0x0263f191, 0x02093bd7, 0x01c57d3d, 0x00197e02}}}, + {X: Field{[10]uint32{0x0156cfde, 0x013fc216, 0x006ee1bb, 0x02a5e959, 0x030b4a18, 0x02172931, 0x0145b8bc, 0x032578ea, 0x01c0d841, 0x003e39ef}}, Y: Field{[10]uint32{0x00ed6d42, 0x03b7577c, 0x010111b4, 0x0358577d, 0x006d6660, 0x012e7f02, 0x009d28c2, 0x00d9e4df, 0x0083f93a, 0x0003342b}}}, + {X: Field{[10]uint32{0x02854c94, 0x00bdcc18, 0x0213164f, 0x0121db92, 0x008c8c56, 0x037ca2b5, 0x00767517, 0x0041c492, 0x025a4e4c, 0x0020c918}}, Y: Field{[10]uint32{0x039bfaeb, 0x03308c07, 0x003561f5, 0x032c902e, 0x01de65e2, 0x00189809, 0x01c7ec37, 0x00a09582, 0x01604992, 0x001d86c6}}}, + {X: Field{[10]uint32{0x03ca04d4, 0x03b61644, 0x032cf213, 0x0180c08f, 0x0216a8e1, 0x00d4f7c7, 0x00b6befd, 0x01f88abd, 0x01ff99f8, 0x0022c712}}, Y: Field{[10]uint32{0x03ad6c23, 0x006f78c8, 0x034c02ca, 0x01d5f89d, 0x006abbf9, 0x008b7894, 0x01cff728, 0x022194b4, 0x03d10e17, 0x00335144}}}, + {X: Field{[10]uint32{0x02f4f138, 0x02b2e0a5, 0x03790bca, 0x03ca1eba, 0x0259deac, 0x018c2d19, 0x0030e89d, 0x01360232, 0x01a120d2, 0x0038ab58}}, Y: Field{[10]uint32{0x02186291, 0x036f1bec, 0x0321abf5, 0x01a5800c, 0x02918497, 0x02b371f2, 0x02d29405, 0x01219f6a, 0x01dcfc1c, 0x00147346}}}, + {X: Field{[10]uint32{0x00c197a4, 0x038eb40d, 0x013ba9ea, 0x0339fd1e, 0x01e10356, 0x00c41580, 0x026aa915, 0x029bcc5a, 0x017ea9a9, 0x0003a373}}, Y: Field{[10]uint32{0x00ea6b5e, 0x0072a14e, 0x0295c2e6, 0x0249a9a1, 0x0195f698, 0x01c712b7, 0x02e2a99e, 0x02abd74c, 0x02d791f3, 0x00320d6e}}}, + {X: Field{[10]uint32{0x00f81233, 0x02423a6f, 0x03556e46, 0x02566c81, 0x00d8643f, 0x033ec171, 0x01bba690, 0x02e3bcd8, 0x00e35875, 0x003c2dd2}}, Y: Field{[10]uint32{0x01d6e908, 0x025006cb, 0x0023e91e, 0x02aea7fd, 0x01c1c0ae, 0x030a7298, 0x00765f60, 0x00e9ed9e, 0x02515d16, 0x001a8993}}}, + {X: Field{[10]uint32{0x01af3a87, 0x025f54ce, 0x017962ce, 0x02ba4faf, 0x03e6eef8, 0x03ff8908, 0x02dd305b, 0x016859d9, 0x016f0997, 0x0024037a}}, Y: Field{[10]uint32{0x01164478, 0x02a9c013, 0x01439650, 0x026c4848, 0x01f33f8e, 0x02f9a692, 0x031bf65d, 0x01628e8c, 0x02ecd9c0, 0x002252ac}}}, + {X: Field{[10]uint32{0x0188aa53, 0x0085283b, 0x00645a6e, 0x02879b4d, 0x01ce7fbd, 0x03a7b3e5, 0x030e3067, 0x008d081c, 0x0130d2ea, 0x00232f9e}}, Y: Field{[10]uint32{0x00186b83, 0x0377615c, 0x01ac9919, 0x01c3b01c, 0x0085092c, 0x008cb24d, 0x027f2c8e, 0x0299f6b8, 0x016bf875, 0x00219ec5}}}, + {X: Field{[10]uint32{0x0225e68d, 0x024bfb26, 0x003e69a2, 0x037f04d6, 0x00e79237, 0x0315c1b5, 0x01a65c0f, 0x03490e51, 0x01c95b35, 0x002832ec}}, Y: Field{[10]uint32{0x02047e4f, 0x0293ac60, 0x00a4055b, 0x00917a14, 0x013c6d70, 0x003701b8, 0x01c8a554, 0x006917e0, 0x01d13cd6, 0x002db5fa}}}, + {X: Field{[10]uint32{0x022463cf, 0x02912209, 0x03f4c832, 0x00f58ed1, 0x00d8050c, 0x017a61ff, 0x02d3bbe0, 0x0232d6a9, 0x0072a3fa, 0x000522ab}}, Y: Field{[10]uint32{0x037e4a61, 0x00ccc899, 0x000b292a, 0x02460963, 0x0372749f, 0x01bcb8ae, 0x0245f6d3, 0x0112156a, 0x0249a6e2, 0x001fca77}}}, + {X: Field{[10]uint32{0x02f3977f, 0x01f3ccd9, 0x018cefb0, 0x03e89688, 0x02c28616, 0x028838b9, 0x02caf7ef, 0x03f5b79b, 0x01073a1a, 0x000ee7fb}}, Y: Field{[10]uint32{0x02c65fc9, 0x01c00f04, 0x010fe0ac, 0x0284d23b, 0x034fa9e7, 0x025ab4f8, 0x030c936e, 0x03259287, 0x033c5084, 0x003c2a16}}}, + {X: Field{[10]uint32{0x023537aa, 0x0196b1f3, 0x020fecc5, 0x03ab7eff, 0x027c9cbc, 0x003e90c6, 0x03b443c3, 0x02ff6555, 0x00ed5228, 0x001f7917}}, Y: Field{[10]uint32{0x022686f0, 0x027377be, 0x00fc1199, 0x02298326, 0x0178e011, 0x0315418b, 0x03794f3a, 0x01c0cef2, 0x01376910, 0x00145777}}}, + {X: Field{[10]uint32{0x01913dd2, 0x03986c95, 0x015aa251, 0x0273ae87, 0x03c17cf9, 0x013cea15, 0x00102747, 0x03d58a60, 0x035a0534, 0x00273068}}, Y: Field{[10]uint32{0x02433ae5, 0x005a130f, 0x007ccc69, 0x010ebcaf, 0x03c653e2, 0x02fe384b, 0x0115da37, 0x0293e658, 0x01a8f30f, 0x003024b3}}}, + {X: Field{[10]uint32{0x02b52ec6, 0x002da41e, 0x00562092, 0x03ec8896, 0x0310fc71, 0x00a29ca0, 0x02ad7298, 0x00ee731d, 0x0168759b, 0x00360bc6}}, Y: Field{[10]uint32{0x0018c607, 0x002bd422, 0x03306c47, 0x020b72b0, 0x011b3720, 0x03872760, 0x0008f8ca, 0x00ec31ce, 0x02052698, 0x00153342}}}, + {X: Field{[10]uint32{0x007b7586, 0x0257ab6e, 0x02498241, 0x01221796, 0x0101f9c5, 0x00a46d83, 0x031bffcc, 0x016a5430, 0x014703d9, 0x0005b9aa}}, Y: Field{[10]uint32{0x03d8aafd, 0x00b15636, 0x03276f88, 0x02393b5c, 0x0080ff4c, 0x02a55f01, 0x010d3655, 0x01ae30b9, 0x0138581b, 0x000678a6}}}, + {X: Field{[10]uint32{0x035cd237, 0x0263948e, 0x03197ff0, 0x01395e85, 0x03ad57a7, 0x01df0d18, 0x02b46704, 0x013c9391, 0x02f300ee, 0x00341f9e}}, Y: Field{[10]uint32{0x035d0e20, 0x01bc9304, 0x00b1bc69, 0x037adbc8, 0x00d4d175, 0x03d86222, 0x031019be, 0x005959a6, 0x020f43c9, 0x003ffcd3}}}, + {X: Field{[10]uint32{0x01665380, 0x007d3679, 0x0301450a, 0x02e43260, 0x018ffe42, 0x00fea93a, 0x02118a34, 0x009ff18e, 0x00e56dc0, 0x000afd91}}, Y: Field{[10]uint32{0x02262ec5, 0x013e4956, 0x00477c92, 0x017d9ba9, 0x03eb84ca, 0x001ad57d, 0x0366fb7a, 0x007f17e3, 0x017577be, 0x002fbd70}}}, + {X: Field{[10]uint32{0x005cb045, 0x03b5493f, 0x03a3ab97, 0x01f97897, 0x027a8810, 0x010965f1, 0x00801014, 0x036e4d23, 0x01370db1, 0x001463c3}}, Y: Field{[10]uint32{0x014d7294, 0x0280e5da, 0x037418db, 0x03d37e2a, 0x006eb9f3, 0x0125d094, 0x03113a14, 0x03b4059b, 0x010ea4e9, 0x00372a1d}}}, + {X: Field{[10]uint32{0x030554c7, 0x031c975b, 0x0128e9a9, 0x02ea1e66, 0x0057bf54, 0x03087d89, 0x029893f8, 0x01d284af, 0x02b6c507, 0x0002f523}}, Y: Field{[10]uint32{0x0170f6e1, 0x03e9e1fd, 0x002d2e2c, 0x01418c9d, 0x00dd58f3, 0x01da7dce, 0x034bad90, 0x000c019d, 0x01a8cd8f, 0x0008029b}}}, + {X: Field{[10]uint32{0x031517e2, 0x02678d36, 0x031302aa, 0x01178f02, 0x00800c5b, 0x0193e870, 0x0336622b, 0x01a78da4, 0x013a8711, 0x00333236}}, Y: Field{[10]uint32{0x0101d845, 0x03f5b0db, 0x0305611e, 0x00252027, 0x00888373, 0x0115219a, 0x0211f1bc, 0x0191e3be, 0x03e4d45e, 0x000103b9}}}, + {X: Field{[10]uint32{0x03f6bd1a, 0x0149fc76, 0x03dab8f4, 0x00703f09, 0x0327e8d0, 0x01efa7a9, 0x01d2e9a2, 0x01e648c4, 0x012c7587, 0x0021bd8e}}, Y: Field{[10]uint32{0x010f7922, 0x02bcd340, 0x02dd3e7c, 0x0063f51a, 0x00571505, 0x0127b9a4, 0x02b1304c, 0x02a8a8f4, 0x0211b647, 0x001fb8a5}}}, + {X: Field{[10]uint32{0x03d7fdfd, 0x010760ed, 0x01c1bbfc, 0x0205b687, 0x019bb5a3, 0x00e1d47e, 0x03941053, 0x003e9b0d, 0x00e5927b, 0x00380d3d}}, Y: Field{[10]uint32{0x01a5f89d, 0x01239d50, 0x03b6ff22, 0x01eec9e7, 0x01e90256, 0x02fb72ae, 0x0282b05c, 0x010b904c, 0x02cb8382, 0x003727c0}}}, + {X: Field{[10]uint32{0x02b51045, 0x02d2731a, 0x01062837, 0x03bee1b8, 0x0075eadf, 0x02e09544, 0x023a66a0, 0x02fc017b, 0x02160a9d, 0x0023f0da}}, Y: Field{[10]uint32{0x03d200a6, 0x02526648, 0x0374a705, 0x009e7b27, 0x0266a885, 0x0001292f, 0x03d9957a, 0x02607485, 0x00409605, 0x0031fb8b}}}, + {X: Field{[10]uint32{0x033278e0, 0x002b7239, 0x0112d9c1, 0x037ad45f, 0x03997130, 0x019773f8, 0x0089b71e, 0x01f65b59, 0x00bc5407, 0x0035eed0}}, Y: Field{[10]uint32{0x028b0a4b, 0x0241d2a9, 0x01b468ce, 0x02f8ea2a, 0x025897c0, 0x025ad72d, 0x020706bd, 0x02eb916a, 0x03662f64, 0x00388258}}}, + {X: Field{[10]uint32{0x03bd2ac5, 0x0382a218, 0x007e0b8b, 0x020455ec, 0x003c8826, 0x00997390, 0x007d2d6c, 0x031c5045, 0x02858054, 0x0035cd5d}}, Y: Field{[10]uint32{0x01a9932b, 0x00baf961, 0x019c24f4, 0x0294e031, 0x01d2ce03, 0x03356013, 0x014099e9, 0x0108e709, 0x014b2fc9, 0x00253e1d}}}, + {X: Field{[10]uint32{0x018f8392, 0x02b836a1, 0x002b6669, 0x03f595f7, 0x013e720f, 0x034ff859, 0x01a7e99b, 0x00ffe9c7, 0x02aed935, 0x0016dbe2}}, Y: Field{[10]uint32{0x018f9089, 0x013d1cd0, 0x03c106e7, 0x0100c094, 0x03e49668, 0x0138917c, 0x02f85ec3, 0x01bbb7e9, 0x0105369c, 0x0013babf}}}, + {X: Field{[10]uint32{0x02222000, 0x01cb1390, 0x03b39f7b, 0x02806683, 0x02ab4076, 0x0313d221, 0x004b4f49, 0x00a7900e, 0x011267cc, 0x000e5113}}, Y: Field{[10]uint32{0x0283d771, 0x02806872, 0x010ba50e, 0x015c6ddf, 0x01329f30, 0x014e23ae, 0x0248adf3, 0x03b8b637, 0x002aaf90, 0x00197094}}}, + {X: Field{[10]uint32{0x030752c7, 0x021222c6, 0x010030a1, 0x02573b0b, 0x0216ebad, 0x02f26223, 0x019c4a7d, 0x02c28f05, 0x00dbf1ef, 0x0014f780}}, Y: Field{[10]uint32{0x01e2fbda, 0x0158c881, 0x026d33a5, 0x01993452, 0x0287dc61, 0x039ef146, 0x02d62285, 0x0177e9d4, 0x03d99947, 0x000ca3b2}}}, + {X: Field{[10]uint32{0x015ead39, 0x0052932f, 0x019e3d48, 0x033bad23, 0x03194d1b, 0x017ed80c, 0x000eef0d, 0x01c84f8a, 0x03af9b4f, 0x0001228e}}, Y: Field{[10]uint32{0x00334186, 0x026a2eca, 0x029ce709, 0x03b512a6, 0x037e749e, 0x03252c83, 0x006f7fbc, 0x00e14aef, 0x01c9e04a, 0x000ed2b2}}}, + {X: Field{[10]uint32{0x033ac541, 0x011c1f96, 0x02b6eb52, 0x001be85b, 0x03acccf4, 0x009f88b5, 0x00182370, 0x0073b4f1, 0x0230503c, 0x003c035d}}, Y: Field{[10]uint32{0x01ca95b5, 0x015c6dcc, 0x00404f47, 0x03ff6df4, 0x03c9e2bc, 0x03e3b564, 0x0254605d, 0x01d89ac4, 0x013fec17, 0x00268777}}}, + {X: Field{[10]uint32{0x0141eaac, 0x02099622, 0x01ee89a4, 0x03210205, 0x00c4f8ee, 0x03a30868, 0x01708582, 0x03ad6439, 0x01943ce7, 0x00387fc6}}, Y: Field{[10]uint32{0x03353b7e, 0x02d25cb5, 0x003dd003, 0x00faf0db, 0x01dbf27e, 0x022a95fa, 0x021b53d7, 0x01cb9b39, 0x0172746e, 0x0014a395}}}, + {X: Field{[10]uint32{0x0059bd49, 0x00afbc1d, 0x02c55256, 0x00116456, 0x0223b3aa, 0x01d709ef, 0x015a6652, 0x01d43838, 0x0020c48e, 0x00393c4f}}, Y: Field{[10]uint32{0x0287ca30, 0x008731db, 0x01ebca2d, 0x014cd8aa, 0x03639010, 0x01ec6eec, 0x026b9d6a, 0x007e668b, 0x02cec6e5, 0x002faf1f}}}, + {X: Field{[10]uint32{0x006f5f20, 0x035720e2, 0x03ea4d2d, 0x0012b1a4, 0x01598c6c, 0x0033c9c6, 0x003d3716, 0x019ba1c2, 0x00f3824b, 0x0038dba3}}, Y: Field{[10]uint32{0x0086c60b, 0x03432f68, 0x009f6c88, 0x03a193c9, 0x00f5be9f, 0x02069537, 0x03749104, 0x015f7cf6, 0x01938afe, 0x0013a838}}}, + {X: Field{[10]uint32{0x0246365f, 0x03478349, 0x0172a63d, 0x0373f7a5, 0x03797ff5, 0x0135f151, 0x00b4a068, 0x034beca7, 0x03193286, 0x0014787c}}, Y: Field{[10]uint32{0x02370e3a, 0x00b321d4, 0x01cb2ace, 0x03b6e519, 0x03b8640c, 0x03130f50, 0x0290d7e6, 0x03b318c6, 0x023c6f30, 0x002b11c3}}}, + {X: Field{[10]uint32{0x01a5fae0, 0x033de735, 0x0224829b, 0x01055b4a, 0x0022277f, 0x016f09b7, 0x01dadd64, 0x0139c981, 0x02a9c40d, 0x0023a0b6}}, Y: Field{[10]uint32{0x027c53ee, 0x03666e05, 0x024d733a, 0x0078ca84, 0x03b01b96, 0x00cf8a46, 0x0191dd72, 0x015ec8ac, 0x01fdbe90, 0x001fe055}}}, + {X: Field{[10]uint32{0x022c41e3, 0x006cd64f, 0x02595988, 0x01d1938a, 0x0038bea6, 0x0097e9e2, 0x03fd5e95, 0x01ea90d3, 0x0344273c, 0x001e7959}}, Y: Field{[10]uint32{0x0385ecab, 0x01b9f2fc, 0x03c33e80, 0x0083c9e2, 0x03eb786a, 0x011c48b5, 0x00ec764b, 0x03bee7c0, 0x01a3c50d, 0x00189422}}}, + {X: Field{[10]uint32{0x02743f79, 0x03b4fd98, 0x0206879d, 0x015bcbc7, 0x02af7fe1, 0x01389288, 0x01eb8918, 0x00655d47, 0x00e2d19c, 0x002a5f80}}, Y: Field{[10]uint32{0x018284a0, 0x029425f3, 0x03282944, 0x0177a9ce, 0x02f3f583, 0x0113fe47, 0x00726bbc, 0x00b124d5, 0x02bd8bcb, 0x0022075f}}}, + {X: Field{[10]uint32{0x03338542, 0x01c1c9c2, 0x00aa8f4a, 0x02fa3ece, 0x009bc52f, 0x001508de, 0x021c3fb4, 0x03d70c53, 0x014607bb, 0x000efc41}}, Y: Field{[10]uint32{0x024f6367, 0x010b1900, 0x022b6390, 0x01479611, 0x019a87ba, 0x03e10381, 0x0068e5fe, 0x02dffdb7, 0x006cfad5, 0x0039e256}}}, + {X: Field{[10]uint32{0x01d9cc5d, 0x012202d5, 0x03b2e01f, 0x033e10df, 0x0249cce0, 0x033cd01a, 0x034ee87e, 0x0077fce6, 0x00775879, 0x00200a5b}}, Y: Field{[10]uint32{0x00152dcb, 0x031376e4, 0x01284846, 0x00d2f6c2, 0x00902e48, 0x0022f145, 0x028753b7, 0x01e07f38, 0x02113c7f, 0x000ec1af}}}, + {X: Field{[10]uint32{0x00ba52fe, 0x02594188, 0x03023598, 0x013a1f95, 0x01b7b0fe, 0x016713fc, 0x029cc123, 0x036ff7da, 0x037aa3ee, 0x001238b2}}, Y: Field{[10]uint32{0x02e8ed1b, 0x01592c27, 0x00aac7ad, 0x00c4f3fd, 0x00a0a456, 0x01fdcbb8, 0x00411ba8, 0x026ef165, 0x017afa90, 0x00371e10}}}, + {X: Field{[10]uint32{0x03403d46, 0x02016a5c, 0x00b6b7b4, 0x00ba65cc, 0x0031a3db, 0x0061f5e7, 0x02b482aa, 0x015220a1, 0x011fcb77, 0x0037244d}}, Y: Field{[10]uint32{0x03adb1a3, 0x00ffe5bd, 0x01b2ffa9, 0x01713942, 0x03fc52e3, 0x03827e97, 0x0180ecd5, 0x0064ba30, 0x020d2d13, 0x003b5c83}}}, + {X: Field{[10]uint32{0x0190a670, 0x025cc67a, 0x02b9f017, 0x014d6c14, 0x013a2b26, 0x03ecd13a, 0x0105b151, 0x02d3ea73, 0x013948ce, 0x00174df0}}, Y: Field{[10]uint32{0x0174cb01, 0x01b54e86, 0x0348a185, 0x0349f279, 0x00b62e16, 0x02e5018d, 0x02832ad6, 0x02e9201e, 0x033c2590, 0x003de424}}}, + {X: Field{[10]uint32{0x03070aa2, 0x03b285dd, 0x00157708, 0x0096b67a, 0x0015c8e3, 0x02a123fd, 0x017eece0, 0x026c89bf, 0x02b0f8d6, 0x00262f2e}}, Y: Field{[10]uint32{0x02150212, 0x0379637a, 0x002060e2, 0x01266ec4, 0x03a08aa9, 0x008629fb, 0x02ffd615, 0x01521f9a, 0x03b3db71, 0x001d9c78}}}, + {X: Field{[10]uint32{0x0335b1c5, 0x0170448f, 0x03a188fa, 0x02340891, 0x0012ce30, 0x01640cd0, 0x0194384d, 0x0121bbe9, 0x01cb3de9, 0x001838b0}}, Y: Field{[10]uint32{0x0369d1bb, 0x010bcbe4, 0x008fa639, 0x021ada38, 0x024d58d0, 0x014efdc8, 0x03c11a38, 0x0319bd70, 0x031b9767, 0x001b79c0}}}, + {X: Field{[10]uint32{0x004885c7, 0x00fa9c8c, 0x03467d87, 0x02ecca7a, 0x01aaf513, 0x038be6f3, 0x03f2f702, 0x015add42, 0x02c5aa82, 0x002051c5}}, Y: Field{[10]uint32{0x03d297ee, 0x00290b71, 0x00b58630, 0x0324283f, 0x01eb7efa, 0x00d4cf7a, 0x03ba31e2, 0x0186244f, 0x00ee8fa9, 0x003b2991}}}, + {X: Field{[10]uint32{0x02f8de77, 0x024d3edc, 0x00e3be6d, 0x0218803a, 0x019fb715, 0x00d9a1b5, 0x0360f7b6, 0x004bbc2b, 0x033f1db4, 0x00095e27}}, Y: Field{[10]uint32{0x007de0ac, 0x0320c08b, 0x00ce9633, 0x00ee3163, 0x02863bc0, 0x022069a1, 0x034a6f77, 0x03886d5c, 0x039899d1, 0x00394889}}}, + {X: Field{[10]uint32{0x00f1bdcd, 0x02337ca8, 0x01527ef1, 0x0079e028, 0x0227f2a9, 0x00ff2da9, 0x02a87fdf, 0x03e39591, 0x000c98bf, 0x0014e0bd}}, Y: Field{[10]uint32{0x0232b502, 0x03a17192, 0x0079d9a1, 0x0360e31e, 0x0239c027, 0x02765e85, 0x0068ce13, 0x028e8768, 0x01dee41c, 0x0008c740}}}, + {X: Field{[10]uint32{0x011d1f2b, 0x00c8e2e8, 0x01dc6e57, 0x02cfc63a, 0x0167d9ec, 0x03d5f740, 0x02ab14d8, 0x03eb7ff2, 0x01209db2, 0x0011233f}}, Y: Field{[10]uint32{0x0166fea6, 0x0070c564, 0x005875a1, 0x019c2548, 0x032ba1bb, 0x0134a092, 0x01e8d181, 0x015b090d, 0x02e55a4f, 0x002eb638}}}, + {X: Field{[10]uint32{0x02e5653d, 0x02befa00, 0x02ab5667, 0x00f7ad84, 0x01f6c489, 0x01112efe, 0x012b69d5, 0x00cd7d40, 0x024b0fe6, 0x003645f2}}, Y: Field{[10]uint32{0x032bad17, 0x0216ebbc, 0x0033a4bb, 0x0154c40b, 0x00aeabc0, 0x005f397c, 0x0150f1ff, 0x025d589e, 0x024be6a4, 0x000ff7a6}}}, + {X: Field{[10]uint32{0x01ba8f72, 0x017c93a4, 0x00570db3, 0x0398293a, 0x031dd974, 0x038fbd60, 0x03de053b, 0x020eb5cc, 0x01f517a8, 0x00031fba}}, Y: Field{[10]uint32{0x039bba44, 0x03f41881, 0x01f3a2bf, 0x0134b7ce, 0x02e06a7e, 0x01a82338, 0x03d2a31c, 0x019efd95, 0x038d26d3, 0x00236ddc}}}, + {X: Field{[10]uint32{0x00d9a30b, 0x00217825, 0x00aed0b7, 0x02e28cab, 0x00819a77, 0x01f210ef, 0x022b1737, 0x035b781e, 0x019d983e, 0x0020fc28}}, Y: Field{[10]uint32{0x00afe6a7, 0x03d21d4b, 0x00e00c37, 0x011db55d, 0x00880acd, 0x0044ef98, 0x0348b636, 0x0111cf61, 0x029667be, 0x0034aacf}}}, + {X: Field{[10]uint32{0x0313989d, 0x02649dc8, 0x02f2e2b2, 0x01e41f14, 0x01596740, 0x01d360f7, 0x03b56bde, 0x01f10263, 0x026a6168, 0x003cfe2a}}, Y: Field{[10]uint32{0x01a109fb, 0x00e653d0, 0x03a21ad6, 0x0130da15, 0x00caa1b5, 0x02258d97, 0x0201ff9a, 0x000e8cb4, 0x009d0985, 0x000e9a43}}}, + {X: Field{[10]uint32{0x0032249e, 0x03b87fd4, 0x0316a283, 0x01010e11, 0x03914fdd, 0x03af2d39, 0x01d6e8b3, 0x035b1f65, 0x01caa30b, 0x00130684}}, Y: Field{[10]uint32{0x01424da0, 0x0394856e, 0x028809b7, 0x01f0dfe0, 0x006598f1, 0x0194ce74, 0x014c604e, 0x03bd0348, 0x00c94653, 0x0039f9c6}}}, + {X: Field{[10]uint32{0x02e5477d, 0x008b064f, 0x00f6c1d9, 0x03216872, 0x02529ebb, 0x0083cc60, 0x033bdb04, 0x0280614f, 0x01523419, 0x000a506e}}, Y: Field{[10]uint32{0x02628413, 0x00e4b74f, 0x02763864, 0x01442260, 0x0280482b, 0x03db07b7, 0x0205baa7, 0x019a82aa, 0x026c29ca, 0x000ddfc8}}}, + {X: Field{[10]uint32{0x0191a6a1, 0x00858761, 0x032c3384, 0x03bf8615, 0x004b5f25, 0x031c1e2b, 0x03b3eb18, 0x026be196, 0x0107aad4, 0x00027413}}, Y: Field{[10]uint32{0x0083cd34, 0x004ae88b, 0x03724f85, 0x03287523, 0x02779eb0, 0x0065912d, 0x01ae02d1, 0x02a27ed1, 0x028dec2c, 0x003d5ca5}}}, + {X: Field{[10]uint32{0x03d26e20, 0x011ac190, 0x03ef4a26, 0x01405def, 0x000d660c, 0x02988a09, 0x01a983c9, 0x028406e6, 0x0367c3c3, 0x0011007d}}, Y: Field{[10]uint32{0x02d4e342, 0x019a77a1, 0x00c0bb7d, 0x037bba60, 0x02999f8b, 0x03419a79, 0x00293091, 0x00453859, 0x02f78e1b, 0x001e54be}}}, + {X: Field{[10]uint32{0x03bba31f, 0x02dfc306, 0x03fa68d7, 0x0311eca0, 0x000ab8a1, 0x033218ea, 0x028665ba, 0x005f4ecc, 0x0027fc40, 0x00252dbd}}, Y: Field{[10]uint32{0x0340d85a, 0x028085f7, 0x01868e09, 0x0096a660, 0x019cbe77, 0x027741ea, 0x008199e9, 0x034b51bb, 0x027d35f0, 0x0004cd81}}}, + {X: Field{[10]uint32{0x01e7288f, 0x026d2893, 0x01445738, 0x027e4809, 0x03f2fba5, 0x039d55d2, 0x03b87cdd, 0x026ef518, 0x03a292c7, 0x00105886}}, Y: Field{[10]uint32{0x02cd3188, 0x0328b868, 0x0111b717, 0x001eca53, 0x033bc70a, 0x0399ee50, 0x0389951f, 0x002de204, 0x03d5b6f3, 0x000d54cd}}}, + {X: Field{[10]uint32{0x01a3594e, 0x030e67bf, 0x0173fc33, 0x02eaac53, 0x038a9b27, 0x0049a062, 0x0100dde6, 0x03074d56, 0x00156256, 0x002c20e1}}, Y: Field{[10]uint32{0x01a954a5, 0x01a11d71, 0x02c7dc5d, 0x034541a7, 0x03843ef8, 0x01a90a17, 0x00c5371b, 0x018b8a47, 0x019055b1, 0x000aabe4}}}, + {X: Field{[10]uint32{0x000dc9bd, 0x0249d19b, 0x008fb8ba, 0x004c3a11, 0x027d910f, 0x03330509, 0x029f4377, 0x023fa977, 0x014fef41, 0x00332668}}, Y: Field{[10]uint32{0x00536f28, 0x02baedc6, 0x017f5c77, 0x0364b3ff, 0x0222f7b3, 0x030326fc, 0x02f164ba, 0x0304b750, 0x03647c01, 0x0000b8c2}}}, + {X: Field{[10]uint32{0x01764e37, 0x01083741, 0x01d50a2f, 0x02d6e59f, 0x027b21d6, 0x03601763, 0x025d59c1, 0x00616355, 0x024adbec, 0x00234aec}}, Y: Field{[10]uint32{0x019f712f, 0x0052fe26, 0x005efe70, 0x0035a959, 0x02fc371d, 0x022824c8, 0x02537c70, 0x02bae9c4, 0x0330e78d, 0x003371b5}}}, + {X: Field{[10]uint32{0x010f7c9b, 0x008ce8f9, 0x0219203b, 0x01bc9d08, 0x00dbb94c, 0x01d438ca, 0x00a18717, 0x033d2b9b, 0x02de0f18, 0x0018f3b9}}, Y: Field{[10]uint32{0x02fdfeb8, 0x00d05cc7, 0x014367ca, 0x00c784d9, 0x00ce0050, 0x02a2160a, 0x0231b8f7, 0x008ce86d, 0x01adad2d, 0x002048c3}}}, + {X: Field{[10]uint32{0x02755a0c, 0x029679a4, 0x02114926, 0x01fee3d1, 0x02b2e4d0, 0x02e86776, 0x028d5cbf, 0x03740e69, 0x029c1dc6, 0x00188213}}, Y: Field{[10]uint32{0x01061a26, 0x03662dc1, 0x0302cc4b, 0x006bef37, 0x02cc9c7f, 0x02a09f82, 0x01c273aa, 0x006bc003, 0x00f462fb, 0x001b6fad}}}, + {X: Field{[10]uint32{0x018dd827, 0x01cd8957, 0x01238c27, 0x00ddf7de, 0x003f34a9, 0x01c1cab3, 0x02368ec1, 0x018a0053, 0x02baf65b, 0x00044303}}, Y: Field{[10]uint32{0x02e75c6d, 0x03fe16ca, 0x02ba9649, 0x01d0b6be, 0x030c3c3e, 0x00082e0e, 0x01d5865b, 0x01896258, 0x03166f23, 0x000692e9}}}, + {X: Field{[10]uint32{0x01c87e00, 0x01f279bc, 0x012b6892, 0x01748f34, 0x01baa50a, 0x02ae5d01, 0x007306cf, 0x008d2ea0, 0x011e50fb, 0x00361229}}, Y: Field{[10]uint32{0x016a4fd8, 0x01cadbea, 0x02adc16a, 0x027cf2de, 0x0151fdb4, 0x0265127b, 0x02e4b1cc, 0x00032132, 0x026288fb, 0x00276e6f}}}, + {X: Field{[10]uint32{0x014c2b5a, 0x03269f38, 0x0002396b, 0x0181606c, 0x02a8cf26, 0x02406e7b, 0x0147f3b3, 0x01aad149, 0x0093a270, 0x00108c46}}, Y: Field{[10]uint32{0x024165bc, 0x034f4b2b, 0x00d70daa, 0x0073a7bd, 0x03d6129a, 0x01d82691, 0x01c2a9f7, 0x0088b066, 0x02db9ba6, 0x001d43e1}}}, + {X: Field{[10]uint32{0x0034d37f, 0x02bb038e, 0x037419fd, 0x00797c5f, 0x026b252f, 0x01f2878c, 0x03454967, 0x037104cb, 0x00ee471a, 0x00110e71}}, Y: Field{[10]uint32{0x01897e87, 0x0003b95d, 0x0119581a, 0x0196ce16, 0x03617c95, 0x03e1be4e, 0x0316ab66, 0x030f798b, 0x032c22c5, 0x002f5d70}}}, + {X: Field{[10]uint32{0x0113b053, 0x02b2bfb0, 0x03bbf36b, 0x01e6601b, 0x02e02e9e, 0x0314bf6d, 0x00b0bbd8, 0x00c76992, 0x03dab192, 0x00137f38}}, Y: Field{[10]uint32{0x03042c3a, 0x01168a84, 0x0342f69d, 0x01650bfa, 0x029d647c, 0x011f3068, 0x00a1c3e1, 0x01fee910, 0x031f4b72, 0x0037a317}}}, + {X: Field{[10]uint32{0x0117dc9d, 0x03bfe6e0, 0x009efcdd, 0x03cfb1b6, 0x009d0ba6, 0x0207db05, 0x00f91582, 0x009cdbd5, 0x032ee8e7, 0x000eee8a}}, Y: Field{[10]uint32{0x0216ab24, 0x02428c36, 0x00d2baf6, 0x021a9a98, 0x036f9a21, 0x02bdb283, 0x0293f947, 0x01f95b97, 0x02747789, 0x003fc21c}}}, + {X: Field{[10]uint32{0x0317deae, 0x01f59f60, 0x0059527f, 0x003d3eec, 0x00e239a0, 0x03d56ac3, 0x02d92ff0, 0x031ac920, 0x0243037b, 0x0028bfb7}}, Y: Field{[10]uint32{0x01869ed4, 0x00d8e351, 0x012da98c, 0x0058bc61, 0x000f7801, 0x0033808b, 0x008e195d, 0x03ff5fbc, 0x010843be, 0x000a9e45}}}, + {X: Field{[10]uint32{0x004bc0a3, 0x00730f8c, 0x021852cb, 0x002610c2, 0x01b3d64d, 0x01cdc021, 0x01aa8e67, 0x03ad3128, 0x022ff503, 0x00088713}}, Y: Field{[10]uint32{0x01b7ae41, 0x00477465, 0x02de199e, 0x00a52898, 0x01a70a79, 0x034fe1d9, 0x024fd70a, 0x0139e704, 0x031b0f95, 0x0030f0de}}}, + {X: Field{[10]uint32{0x00740ed0, 0x03bcf145, 0x00bfca58, 0x02f55679, 0x02f909c8, 0x026e44c1, 0x02f945b4, 0x02e81432, 0x0380f7e4, 0x002830cb}}, Y: Field{[10]uint32{0x02f9562a, 0x0286244d, 0x02c9041b, 0x0318e290, 0x01966aa1, 0x033b5172, 0x01e4cfbd, 0x011c0107, 0x030146ab, 0x0034fae3}}}, + {X: Field{[10]uint32{0x00da85c6, 0x01e6f906, 0x02aa1dff, 0x02573258, 0x010bf333, 0x01dd0204, 0x01e1ca75, 0x0189fc00, 0x0218b4fe, 0x001d8b9e}}, Y: Field{[10]uint32{0x00f51ec5, 0x024c8d31, 0x02b93dce, 0x02552bd5, 0x025875f7, 0x01156e10, 0x00a743c3, 0x00703d3e, 0x03465046, 0x002837c3}}}, + {X: Field{[10]uint32{0x013a29f0, 0x018cb12e, 0x03561b8d, 0x00d0451b, 0x0378389f, 0x010cdec7, 0x02cfbe40, 0x032bcf55, 0x0135cd95, 0x000bc0b6}}, Y: Field{[10]uint32{0x00f44569, 0x013a49c6, 0x0287b0e7, 0x010704bf, 0x0209c454, 0x008fc68c, 0x0008872b, 0x0242d3e0, 0x00d823f1, 0x0005cd1c}}}, + {X: Field{[10]uint32{0x03eab212, 0x0398e4b9, 0x01612314, 0x01b893bc, 0x01c5877d, 0x03f2628e, 0x01adbd59, 0x005b7c71, 0x03d72eb8, 0x00327e1d}}, Y: Field{[10]uint32{0x02067c4c, 0x0216391a, 0x03ad10b0, 0x0149d52c, 0x0188bb00, 0x03f2aa7d, 0x01a52b58, 0x01fbb169, 0x011788cf, 0x000533a6}}}, + {X: Field{[10]uint32{0x00baa172, 0x03485e68, 0x005df239, 0x008eb9db, 0x02d6dd1c, 0x032fd743, 0x03296df6, 0x0172de9b, 0x036918a0, 0x0033137f}}, Y: Field{[10]uint32{0x014a4dc6, 0x01a51219, 0x00cd5b78, 0x02ead4e4, 0x02e4dda0, 0x018ed295, 0x01b06506, 0x005d4098, 0x00b1b847, 0x0007350e}}}, + {X: Field{[10]uint32{0x03cbfaa1, 0x03b20a3b, 0x02a5bccc, 0x02299591, 0x01ca015a, 0x01e2b354, 0x0010219a, 0x01c4e8a7, 0x034b3ed2, 0x003eaab1}}, Y: Field{[10]uint32{0x0130d934, 0x03d9869f, 0x00ecbf8b, 0x03244fef, 0x01b2e74c, 0x03f9e552, 0x025c46b7, 0x03b036f5, 0x003bdcc2, 0x002b72b5}}}, + {X: Field{[10]uint32{0x00fdbf46, 0x02bbf111, 0x02480dd0, 0x03c8f468, 0x028a0025, 0x016f9b03, 0x01444b73, 0x026f4368, 0x02c930fa, 0x0005c4d5}}, Y: Field{[10]uint32{0x009bce3f, 0x00526ee7, 0x0214eb2e, 0x0134bb8a, 0x0062e246, 0x008e6395, 0x004361ed, 0x03ee76ad, 0x02dc991e, 0x001dc3a7}}}, + {X: Field{[10]uint32{0x01680214, 0x00401ef9, 0x01b43b64, 0x01e81ea0, 0x01c05501, 0x017e7ec6, 0x01491af5, 0x00dd8f4b, 0x016ae047, 0x00024cfd}}, Y: Field{[10]uint32{0x00ea76ad, 0x02a72ae8, 0x02ba9f85, 0x03fe4ec7, 0x01ad1d70, 0x01253950, 0x01ea647f, 0x036d8d20, 0x0047481c, 0x00198167}}}, + {X: Field{[10]uint32{0x03bb6b34, 0x0307f816, 0x02cf664a, 0x01d87b06, 0x018a397f, 0x02f27272, 0x02446910, 0x02b4df5f, 0x0322b182, 0x00028c03}}, Y: Field{[10]uint32{0x0033593d, 0x00aead15, 0x035007b4, 0x011188a2, 0x01684abe, 0x01c8bc85, 0x00de2694, 0x01d2e518, 0x03fca909, 0x002f5bcb}}}, + {X: Field{[10]uint32{0x038fe1ea, 0x01b8fb2b, 0x03fd685d, 0x02d54a38, 0x00878b79, 0x03b9358c, 0x03c1d62d, 0x004d57e5, 0x03ed6e90, 0x003f1795}}, Y: Field{[10]uint32{0x035bab01, 0x02a6cacb, 0x01d498c4, 0x0124d172, 0x02bc7c85, 0x02141efb, 0x018b1b56, 0x032ee796, 0x027a6c21, 0x00044884}}}, + {X: Field{[10]uint32{0x0231ef3d, 0x0114bed4, 0x00bfff3f, 0x015ba8d0, 0x030899e9, 0x02406548, 0x00721c19, 0x02047ef5, 0x00e27a64, 0x00168bd0}}, Y: Field{[10]uint32{0x0093d547, 0x0048b4c8, 0x0086c20a, 0x00e989e6, 0x01d8c4a5, 0x0275c70c, 0x0206d263, 0x0231e5d2, 0x015d1257, 0x001acafe}}}, + {X: Field{[10]uint32{0x00f2084f, 0x005e6d59, 0x033106f9, 0x01f63747, 0x02fb1575, 0x01f5fbd8, 0x036610d6, 0x026716f9, 0x0333df0b, 0x00165e0c}}, Y: Field{[10]uint32{0x025b7f5a, 0x01d9a51f, 0x00c4fa76, 0x025f0d3d, 0x037d309d, 0x029d60fa, 0x03f4623b, 0x005c3204, 0x0280dd3d, 0x003caa7a}}}, + {X: Field{[10]uint32{0x03672d95, 0x01b6c7cd, 0x00a08154, 0x035d329f, 0x01a1c8be, 0x01e8a70b, 0x0372bb38, 0x00ff21cf, 0x01246b51, 0x00033d84}}, Y: Field{[10]uint32{0x038c70ee, 0x03deaf0b, 0x007873ef, 0x03d0b81f, 0x021e182c, 0x0187ec3f, 0x011d1a56, 0x00110e7b, 0x0076697f, 0x00348f0f}}}, + {X: Field{[10]uint32{0x03fe7d52, 0x012c5ccb, 0x017baac1, 0x032581a5, 0x031cb871, 0x0018fe3a, 0x02eb7eb8, 0x00520389, 0x0305133a, 0x003b7453}}, Y: Field{[10]uint32{0x00b1b70a, 0x017e358d, 0x0392a61b, 0x00203291, 0x02ee6033, 0x011709d3, 0x01b3aa84, 0x0354a130, 0x0280d295, 0x0035a0bc}}}, + {X: Field{[10]uint32{0x001a1713, 0x036571ff, 0x000d175f, 0x00c2977a, 0x0033cb8d, 0x0325649b, 0x026e7902, 0x022bce2c, 0x00e90cdc, 0x003e6c3f}}, Y: Field{[10]uint32{0x02a3e6ac, 0x0148903c, 0x022b5d47, 0x022f5bf3, 0x01df958b, 0x0233d2a2, 0x01083cdc, 0x018f5c60, 0x01f6f3d1, 0x003b1fa3}}}, + {X: Field{[10]uint32{0x0346a3b7, 0x02ff4905, 0x014e4e46, 0x0057c1c2, 0x02d9ea43, 0x0105f159, 0x03069817, 0x01fd5e24, 0x01995418, 0x002ba419}}, Y: Field{[10]uint32{0x031a129b, 0x01515fc8, 0x01b10677, 0x01cc16f9, 0x01173355, 0x02811c27, 0x01006ff2, 0x00cc4fa7, 0x01adc09d, 0x0008906f}}}, + {X: Field{[10]uint32{0x03d956e9, 0x02cd4391, 0x03540c54, 0x03cd1041, 0x03f68fe9, 0x01606b8e, 0x02134cde, 0x00bdefd7, 0x00007649, 0x00157c3e}}, Y: Field{[10]uint32{0x033956ff, 0x029232f0, 0x00b982c8, 0x02d71c33, 0x01e258dc, 0x017fa60d, 0x03b4b8a3, 0x0222877e, 0x011de684, 0x0008a822}}}, + {X: Field{[10]uint32{0x01663bbb, 0x00665306, 0x010c1b87, 0x03131147, 0x006cb7e3, 0x03e1991f, 0x0123bb1d, 0x010388c6, 0x030686fb, 0x0024322a}}, Y: Field{[10]uint32{0x00c80ab4, 0x01ef8fff, 0x02463e3b, 0x00625323, 0x01cb30d7, 0x03105e5e, 0x03bb2c50, 0x03acb71b, 0x00d9570e, 0x00371d23}}}, + {X: Field{[10]uint32{0x00a4c694, 0x00b89f21, 0x02b604bb, 0x01aeb027, 0x013e476d, 0x01baa127, 0x0268e735, 0x03aee7ec, 0x002d6b21, 0x0032fd1f}}, Y: Field{[10]uint32{0x02bb2873, 0x021bee9e, 0x001cf16e, 0x037f6ac2, 0x01416ed9, 0x01658908, 0x02bf8bbe, 0x022528e6, 0x03e68042, 0x003c0a23}}}, + {X: Field{[10]uint32{0x0111fe80, 0x027f3a5f, 0x03b1637e, 0x02c91950, 0x00d8f1bf, 0x005235ce, 0x03ff7582, 0x01a2c823, 0x005fc18b, 0x001f0c22}}, Y: Field{[10]uint32{0x00013f2f, 0x01471d8f, 0x0221c7ea, 0x006298f9, 0x0052c067, 0x03221b84, 0x02c6d378, 0x007056c9, 0x00b931a1, 0x000f8b47}}}, + {X: Field{[10]uint32{0x026d7753, 0x0050cefd, 0x033e64f1, 0x01c8dfcc, 0x03e137c7, 0x03a481f6, 0x02a9da9d, 0x032e8374, 0x01190d1b, 0x002b5852}}, Y: Field{[10]uint32{0x0239753d, 0x027807b4, 0x03d0baad, 0x035c3b14, 0x00190b72, 0x02e9d66d, 0x02046192, 0x02862275, 0x018b3512, 0x003f2ba8}}}, + {X: Field{[10]uint32{0x025e29a2, 0x01729f13, 0x01715a29, 0x01c68e4e, 0x00a7bc41, 0x03b4cd6d, 0x02b50a81, 0x027055c2, 0x001baf8c, 0x00237dc1}}, Y: Field{[10]uint32{0x01ce02e7, 0x0192e92f, 0x01a1399b, 0x030e1286, 0x00e12eab, 0x01f771b7, 0x0166b24c, 0x01ef77cd, 0x02438267, 0x0003a24b}}}, + {X: Field{[10]uint32{0x00fdadd6, 0x009e010b, 0x00fbf2a1, 0x01ddf762, 0x02217f4e, 0x0306ed7d, 0x0351891a, 0x01483a69, 0x025761c8, 0x0027d307}}, Y: Field{[10]uint32{0x027d0f50, 0x02e583d3, 0x008609d9, 0x018e7cf5, 0x02ed4b69, 0x00f84b1e, 0x035831eb, 0x03a22430, 0x00adc6ce, 0x003f6884}}}, + {X: Field{[10]uint32{0x0115acbf, 0x02332ae9, 0x0147c2ee, 0x0061d496, 0x03174de6, 0x00778c24, 0x013bacf9, 0x01c28b02, 0x00dd23ac, 0x00290dbd}}, Y: Field{[10]uint32{0x0219afb9, 0x015fbfdf, 0x020ec9fe, 0x02cc1f51, 0x005879e8, 0x009ef04a, 0x039a4509, 0x016e6a50, 0x01d92a61, 0x00303a76}}}, + {X: Field{[10]uint32{0x006f1930, 0x037e882e, 0x007d567b, 0x019f1655, 0x0037497c, 0x000e5a57, 0x018627c5, 0x010f645b, 0x01166997, 0x0028e3bb}}, Y: Field{[10]uint32{0x01d9d7fd, 0x03951512, 0x00c18bb0, 0x02c52105, 0x013be89b, 0x03c9b247, 0x035b5fe3, 0x00ed6b26, 0x02d6effc, 0x001b8f8f}}}, + {X: Field{[10]uint32{0x02fbf3d6, 0x0187aeb8, 0x02586833, 0x039623a4, 0x000b6f1d, 0x01ac3c93, 0x03659e33, 0x010e87eb, 0x00d20d40, 0x0017d164}}, Y: Field{[10]uint32{0x015197db, 0x0242f801, 0x00466158, 0x02dc0090, 0x02ccc833, 0x01939ffd, 0x001af117, 0x03bb00fb, 0x0273042c, 0x00094302}}}, + {X: Field{[10]uint32{0x00cf56c0, 0x0147d10d, 0x03c551be, 0x031dcf3a, 0x03d52bea, 0x03dca0a8, 0x02d16ff8, 0x02e401a3, 0x020dc6eb, 0x001d5961}}, Y: Field{[10]uint32{0x02e24c26, 0x01187c2e, 0x01346c32, 0x01ff8078, 0x039b8468, 0x0275fcfa, 0x028ad7de, 0x03516150, 0x00be526e, 0x0012d5bb}}}, + {X: Field{[10]uint32{0x01a9320c, 0x01ed43e5, 0x035dec53, 0x010afa02, 0x02772927, 0x00800e96, 0x03ad50f0, 0x03bc072a, 0x03ce3a56, 0x000f9f1f}}, Y: Field{[10]uint32{0x03dbfaf1, 0x0349c8a4, 0x03914a32, 0x00b31256, 0x01d5dc34, 0x0267ea76, 0x03789045, 0x01c447cd, 0x00b7926e, 0x00263365}}}, + {X: Field{[10]uint32{0x03cda208, 0x001c9d2d, 0x035522eb, 0x003dabd5, 0x032ac91a, 0x031318aa, 0x031aaf5e, 0x033e12af, 0x005714ce, 0x0004c7ad}}, Y: Field{[10]uint32{0x0320839e, 0x03f625f8, 0x0303127b, 0x004d8344, 0x029b017a, 0x02bb156a, 0x0061393f, 0x0098111b, 0x014ff051, 0x002a4ebb}}}, + {X: Field{[10]uint32{0x02a11ec8, 0x037493a8, 0x026f1637, 0x0380b6cf, 0x02a98e68, 0x0312d7d0, 0x008bff69, 0x018f5c0e, 0x0201e469, 0x000dc6f1}}, Y: Field{[10]uint32{0x01f84622, 0x02765292, 0x03dd37b3, 0x03c4ea9a, 0x0121bbc7, 0x006e249a, 0x0385238c, 0x028906a5, 0x02f1932f, 0x0038befb}}}, + {X: Field{[10]uint32{0x02e47d6d, 0x03d41172, 0x002371bc, 0x00d3910c, 0x01b4d459, 0x00b11461, 0x0136bc20, 0x01cfa280, 0x030492ca, 0x0011dc36}}, Y: Field{[10]uint32{0x0141ec22, 0x03bbcd8b, 0x0390af1a, 0x01ed2c75, 0x0399a92f, 0x00877d2f, 0x037e080d, 0x03641aad, 0x008c25b1, 0x00386bdd}}}, + {X: Field{[10]uint32{0x0194bfff, 0x00a04b25, 0x02fe0da8, 0x00d081e1, 0x01e8e2ae, 0x01f38ebd, 0x01dbae16, 0x036d5dd6, 0x02435af5, 0x002cc6a1}}, Y: Field{[10]uint32{0x009aa4a2, 0x010ef8f0, 0x020cf3c7, 0x0341547f, 0x00f5aaab, 0x0216c1a9, 0x02a85a25, 0x03266aa5, 0x025e860d, 0x000de4d0}}}, + {X: Field{[10]uint32{0x013631f4, 0x00b9996f, 0x019bf09b, 0x02f5f472, 0x00a94121, 0x018670dd, 0x01fe6dd1, 0x009407f7, 0x0052084a, 0x003817bb}}, Y: Field{[10]uint32{0x03b8e622, 0x031589bf, 0x01ed4f6c, 0x01ddb49a, 0x014d883d, 0x035d0909, 0x0224ea4b, 0x03e01a66, 0x03172122, 0x00300457}}}, + {X: Field{[10]uint32{0x0173d5c8, 0x0228c94a, 0x0335ce4d, 0x03beffce, 0x03e57810, 0x025f4fd5, 0x0384305d, 0x001f4d16, 0x00840ee4, 0x00395777}}, Y: Field{[10]uint32{0x027ee677, 0x03a24d90, 0x011a1026, 0x01abe833, 0x00abb87a, 0x023aec4f, 0x003e4257, 0x018505f9, 0x03b5b0fa, 0x001c7dde}}}, + {X: Field{[10]uint32{0x02cd788f, 0x03748fb7, 0x01f0ed46, 0x01dbc9aa, 0x021aabbe, 0x014074cf, 0x00bf3ea5, 0x02a6a8a1, 0x02b1a5c8, 0x003b5eda}}, Y: Field{[10]uint32{0x010db63e, 0x00cf8047, 0x030d3772, 0x0363145d, 0x03824027, 0x037f60be, 0x0054a4bc, 0x02988061, 0x035419d1, 0x0008a02e}}}, + {X: Field{[10]uint32{0x0090e79a, 0x0019c520, 0x02001f96, 0x0078893c, 0x01ce5cb7, 0x03353b9a, 0x03a3329a, 0x0362bb84, 0x01fc3da4, 0x003538cc}}, Y: Field{[10]uint32{0x015e10d6, 0x02385619, 0x00c521ae, 0x01441b42, 0x0277821e, 0x01aa2044, 0x00a6b42d, 0x0334c27d, 0x01aa2f63, 0x00225450}}}, + {X: Field{[10]uint32{0x016d4417, 0x022d21e2, 0x03d54d64, 0x02384834, 0x03265471, 0x036054b1, 0x002545ab, 0x007ff99a, 0x020ea8ec, 0x0013c2b6}}, Y: Field{[10]uint32{0x035aa591, 0x03b1fd64, 0x00cd4dc5, 0x01515b22, 0x0320aaff, 0x02a7eebd, 0x035acf55, 0x02ad191f, 0x01ac6026, 0x002980ee}}}, + {X: Field{[10]uint32{0x00fdca84, 0x03ab8f80, 0x031b7543, 0x0015041a, 0x00a884cc, 0x0037dd4a, 0x0086a9d2, 0x03bb893c, 0x0141b08e, 0x0028b44d}}, Y: Field{[10]uint32{0x00803a45, 0x000edfd7, 0x002d1745, 0x00d61780, 0x024bb67c, 0x03f58172, 0x03a52497, 0x01ae4549, 0x0166294d, 0x0016b02c}}}, + {X: Field{[10]uint32{0x01b6c8a4, 0x03a048ed, 0x0008f64f, 0x00880b38, 0x03cbfc47, 0x03ea517f, 0x00887fda, 0x001164ae, 0x0120014a, 0x00013075}}, Y: Field{[10]uint32{0x00ed738d, 0x00f8cd14, 0x026083bb, 0x03d0e542, 0x00ebcebf, 0x00d23bf5, 0x0106597f, 0x0246395f, 0x028017b7, 0x00090f10}}}, + {X: Field{[10]uint32{0x03c54390, 0x025c2a4a, 0x02c551a5, 0x01f7fcca, 0x00fc2f5b, 0x008c172c, 0x035b8e6b, 0x03a6d330, 0x01a67d13, 0x00017e79}}, Y: Field{[10]uint32{0x0395ff6f, 0x02550edc, 0x0276b30d, 0x02dc9bcc, 0x0085eb0c, 0x022fb7c0, 0x005833ce, 0x017df6f1, 0x02379696, 0x001d2021}}}, + {X: Field{[10]uint32{0x00954575, 0x00d2f282, 0x01286985, 0x025cd293, 0x004447c2, 0x0038a6ad, 0x02d28a88, 0x006c5e02, 0x03809538, 0x0035db1b}}, Y: Field{[10]uint32{0x0161b27b, 0x021cc029, 0x0049859c, 0x03c49def, 0x02aa8273, 0x00390a77, 0x02051789, 0x03806984, 0x03f86b30, 0x00112db0}}}, + {X: Field{[10]uint32{0x01df3344, 0x022816f6, 0x00658e7a, 0x0074036b, 0x006ad19f, 0x01619286, 0x03a9eaeb, 0x01d6bdc0, 0x029ff787, 0x001d5ddc}}, Y: Field{[10]uint32{0x030afec9, 0x030fe64b, 0x0134532e, 0x02c4b9c1, 0x033fa7c5, 0x0239fb3c, 0x012f8229, 0x02a94e4b, 0x0116ccea, 0x001ad466}}}, + {X: Field{[10]uint32{0x02dc17db, 0x0245b163, 0x03a67fca, 0x022c0dae, 0x0278700c, 0x01ab6a64, 0x03194258, 0x0012eb42, 0x032b457f, 0x00140de3}}, Y: Field{[10]uint32{0x02273fc1, 0x028f0bdd, 0x00ad05fe, 0x0193e0bf, 0x03269573, 0x0314ce33, 0x01bf40ba, 0x0335246b, 0x011c26bd, 0x0032f451}}}, + {X: Field{[10]uint32{0x009ba86c, 0x00e2fa33, 0x02b50b91, 0x01138f58, 0x027606eb, 0x0301e3fc, 0x0384ba0e, 0x01458098, 0x00686436, 0x000dd237}}, Y: Field{[10]uint32{0x0211d709, 0x020f2659, 0x01271965, 0x02074d43, 0x016e7bfb, 0x038060a3, 0x01005a04, 0x02ba7377, 0x0014f624, 0x001b0139}}}, + {X: Field{[10]uint32{0x03eea53b, 0x03174715, 0x014047f9, 0x010b417f, 0x013402f3, 0x027ab1ca, 0x01eaea44, 0x035587ef, 0x01be8ea8, 0x002c8e96}}, Y: Field{[10]uint32{0x006dfb9b, 0x03c3a110, 0x019c42fe, 0x03fdc0bb, 0x0295d40e, 0x00fd7e86, 0x03c359c8, 0x016e0b38, 0x0068f2d3, 0x002fa91f}}}, + {X: Field{[10]uint32{0x02a64770, 0x035c7045, 0x00b49ebf, 0x001a4973, 0x039538fc, 0x01c074ae, 0x005f4435, 0x0296f817, 0x01e87b42, 0x00392d14}}, Y: Field{[10]uint32{0x03156da4, 0x019eddcb, 0x001e9e14, 0x029a2a42, 0x014cb261, 0x02de6e61, 0x02fa86b2, 0x001d2523, 0x02699a79, 0x000abe11}}}, + {X: Field{[10]uint32{0x02dff165, 0x03dd5225, 0x01a1242f, 0x005593cf, 0x01de74a2, 0x0194777e, 0x02e671e8, 0x02c218d1, 0x02ec65b8, 0x002192b1}}, Y: Field{[10]uint32{0x031a8730, 0x03ad8009, 0x03188d68, 0x000b7ea4, 0x01b2cbf9, 0x0234afaf, 0x00a5103c, 0x02155647, 0x00a77ab4, 0x003cd5ce}}}, + {X: Field{[10]uint32{0x002ecab0, 0x009c95fc, 0x02ac4ecb, 0x035e6815, 0x00fd36c5, 0x01990e19, 0x00090225, 0x018f66de, 0x023da6a8, 0x002df412}}, Y: Field{[10]uint32{0x0383b0c1, 0x01fbdc1b, 0x031a15ec, 0x02f9d4c3, 0x001519ab, 0x039a81f0, 0x01e4e3bf, 0x03708f96, 0x034c6ba5, 0x00331018}}}, + {X: Field{[10]uint32{0x014c1a0e, 0x023f289c, 0x0044c7ca, 0x00c43af2, 0x03bd6e25, 0x02a0ddf3, 0x020de0c4, 0x03776080, 0x02f9b51e, 0x00377f06}}, Y: Field{[10]uint32{0x03fe3951, 0x0259838f, 0x01ad957b, 0x03d368f8, 0x01c30f23, 0x00976aae, 0x02d9f54a, 0x0313a2c8, 0x008c1742, 0x00033ddf}}}, + {X: Field{[10]uint32{0x011fcbe3, 0x016d1f35, 0x03c30ea7, 0x023e21a3, 0x01e00c82, 0x0053611e, 0x03de26a6, 0x02478e84, 0x0269d5bb, 0x001e3f3f}}, Y: Field{[10]uint32{0x03f2d47d, 0x029b9c91, 0x0306066d, 0x01210d03, 0x0298021b, 0x030a050e, 0x00b231aa, 0x014eeac3, 0x01636b70, 0x0027b19e}}}, + {X: Field{[10]uint32{0x0115863f, 0x00137684, 0x028fcd42, 0x0211e0ce, 0x03138c98, 0x0279dbb2, 0x022b4f81, 0x0075c608, 0x00de1696, 0x00373646}}, Y: Field{[10]uint32{0x0323bb04, 0x014aaeb2, 0x01ed2f5e, 0x003604e9, 0x023ff7fb, 0x004f0a4c, 0x012318dd, 0x00233f28, 0x00bac8d8, 0x002af0f6}}}, + {X: Field{[10]uint32{0x02c3177e, 0x00201b31, 0x012b294a, 0x028a5b33, 0x02e6f64f, 0x00def084, 0x0294eef5, 0x02041a4c, 0x02f05de0, 0x000e738b}}, Y: Field{[10]uint32{0x00730556, 0x034a76de, 0x0349239f, 0x0369e250, 0x020bbb5d, 0x03ce899a, 0x020ca926, 0x025e8e5e, 0x00cb0b76, 0x00097abd}}}, + {X: Field{[10]uint32{0x03157a04, 0x01a94f40, 0x02b5abae, 0x013f4e91, 0x02146451, 0x025eb12e, 0x010e937e, 0x03a27b7d, 0x01b643d4, 0x00125793}}, Y: Field{[10]uint32{0x02ec1701, 0x02c715f9, 0x026d46e6, 0x006e8833, 0x00f84bb8, 0x023105ad, 0x024251cf, 0x0035a7af, 0x0218b296, 0x001f4c9f}}}, + {X: Field{[10]uint32{0x037c33c1, 0x03d6e598, 0x03dbefca, 0x025fd6d9, 0x03a6cb6e, 0x027e79bd, 0x036dde52, 0x01f03070, 0x028cb635, 0x0024705f}}, Y: Field{[10]uint32{0x014c39ba, 0x017b06e9, 0x00e85c96, 0x0383da17, 0x03f07b76, 0x003d61ab, 0x01e26922, 0x022b0bbf, 0x0097fedb, 0x000bf948}}}, + {X: Field{[10]uint32{0x01ecfdbc, 0x01c48875, 0x018d4c03, 0x026f5ab8, 0x001c2874, 0x03172564, 0x011f11ec, 0x03b5118a, 0x00803dff, 0x0038f13d}}, Y: Field{[10]uint32{0x03dc62d8, 0x00afa4b2, 0x0240c65b, 0x009d514f, 0x004e7fb8, 0x033be2ca, 0x00ad71da, 0x009f3a5d, 0x0102571e, 0x00168b9c}}}, + {X: Field{[10]uint32{0x01c25073, 0x01763b5d, 0x0333acc1, 0x03a95a03, 0x0059ae7b, 0x03e772ee, 0x0014377a, 0x0079ed22, 0x03f5a0e8, 0x002cfb85}}, Y: Field{[10]uint32{0x00bfe86d, 0x024b9f5b, 0x01ecb6d0, 0x035415ce, 0x03b46332, 0x00e7b788, 0x0035afe1, 0x00a09698, 0x000c9a6d, 0x0004d68f}}}, + {X: Field{[10]uint32{0x02e76b75, 0x019819ba, 0x01732298, 0x0365796d, 0x017ca6e8, 0x019248cd, 0x02628e1f, 0x006fb4d0, 0x00442bc9, 0x0039332a}}, Y: Field{[10]uint32{0x016f76b9, 0x02364394, 0x01cececc, 0x03880c76, 0x02409f74, 0x00c66b1c, 0x00b42b0f, 0x019c3fdc, 0x015539b5, 0x00375569}}}, + {X: Field{[10]uint32{0x02223b2c, 0x02fefdf6, 0x02359b5e, 0x03aa58ad, 0x02e517e4, 0x013ab9eb, 0x00c02a46, 0x01822666, 0x03c181c9, 0x002ace73}}, Y: Field{[10]uint32{0x037d2fc4, 0x0393aa41, 0x02096a22, 0x01403e65, 0x0172ba3b, 0x00a06862, 0x01cfec18, 0x02ef8b9b, 0x0057b4dc, 0x0037bdb7}}}, + {X: Field{[10]uint32{0x03ab402a, 0x01172137, 0x02e01f8e, 0x034652ce, 0x02677572, 0x0193c206, 0x00cad409, 0x0011a7f9, 0x02639e6e, 0x0008a8c9}}, Y: Field{[10]uint32{0x00d2b437, 0x0157e610, 0x02f261b8, 0x0141750a, 0x00db44cf, 0x013263f3, 0x00f61484, 0x003bc16b, 0x0195bd4e, 0x00072727}}}, + {X: Field{[10]uint32{0x01f9cae9, 0x03f30908, 0x029037c2, 0x0285de42, 0x02db269d, 0x03ef137a, 0x03c5ead4, 0x012fc0c1, 0x00cceff9, 0x000af1e2}}, Y: Field{[10]uint32{0x00bc4b41, 0x000f9389, 0x01384aa7, 0x01227583, 0x00ccecb2, 0x0231e30f, 0x0081c43a, 0x01548110, 0x0061648c, 0x0005cbcd}}}, + {X: Field{[10]uint32{0x02052729, 0x00a8c000, 0x00fe4c62, 0x00d827ef, 0x003872c6, 0x02ef9a7a, 0x0275bb88, 0x001804d6, 0x03d2a672, 0x002e4c36}}, Y: Field{[10]uint32{0x0206f366, 0x0103fd6b, 0x01ebd839, 0x00d8ccd3, 0x01ff3f68, 0x01d0e2ce, 0x030e7f9a, 0x03a2e0a0, 0x0303a872, 0x0002660f}}}, + {X: Field{[10]uint32{0x0114e3d3, 0x02cb8e5d, 0x03466f33, 0x00fa1ca8, 0x0329bcd0, 0x029bc61b, 0x02db448d, 0x03a901c0, 0x038a2aa9, 0x002d0d5c}}, Y: Field{[10]uint32{0x0098636b, 0x01511ce4, 0x0074e92c, 0x02383d87, 0x011678cb, 0x0330d241, 0x0217e55b, 0x019c7e15, 0x02462d3c, 0x00160a34}}}, + {X: Field{[10]uint32{0x0072bd25, 0x037fee4c, 0x0223b532, 0x01fe76d8, 0x02ee1fe6, 0x01060375, 0x012df27d, 0x026ebcb1, 0x02813acc, 0x003247cb}}, Y: Field{[10]uint32{0x01b73c0c, 0x0057c1e1, 0x0345569c, 0x003ef493, 0x02b02735, 0x00ddf878, 0x02fa0c2b, 0x00bc4c4e, 0x03d696c1, 0x00072715}}}, + {X: Field{[10]uint32{0x008d36c8, 0x0257c017, 0x0131d2b9, 0x001be31f, 0x030bad0d, 0x005b6400, 0x028068f4, 0x02ea4e3c, 0x02c28099, 0x002ec251}}, Y: Field{[10]uint32{0x0176da4a, 0x00e41afb, 0x00164867, 0x007dde0b, 0x00156042, 0x03a5e3ca, 0x03e1a621, 0x017fa5e3, 0x00d93b57, 0x00238e1e}}}, + {X: Field{[10]uint32{0x03085c8d, 0x0281a923, 0x03398c31, 0x03df2d13, 0x035298db, 0x01c1fcd9, 0x0106521a, 0x00cdd335, 0x02a12e82, 0x0012178e}}, Y: Field{[10]uint32{0x02ca9a61, 0x018005e1, 0x03878a4b, 0x03837ed3, 0x02af0153, 0x000bf098, 0x0339d4c3, 0x02cac568, 0x02f57079, 0x00284b22}}}, + {X: Field{[10]uint32{0x013e844d, 0x027ee69c, 0x03db3e8a, 0x00a9e219, 0x020f21d0, 0x022a5baa, 0x00da03fe, 0x00895a50, 0x0048d328, 0x002143e5}}, Y: Field{[10]uint32{0x03fccb7b, 0x02c9108e, 0x00d8259a, 0x00d8296a, 0x0103a678, 0x0162a083, 0x034df3af, 0x02e8b029, 0x00fe3201, 0x00115479}}}, + {X: Field{[10]uint32{0x03e39884, 0x03214ec2, 0x01c43682, 0x030152db, 0x01449cd4, 0x03abd476, 0x00e51b18, 0x007f927e, 0x02b3f66c, 0x0029d205}}, Y: Field{[10]uint32{0x0372f7fc, 0x033bdfac, 0x0004f15e, 0x039203b2, 0x01396626, 0x01330416, 0x02f0cfdc, 0x01fa8516, 0x03b247ed, 0x00139f57}}}, + {X: Field{[10]uint32{0x0320136d, 0x02b5adde, 0x02f7785e, 0x00b5ae62, 0x02e1eb70, 0x00d04805, 0x01abcc17, 0x02885c1e, 0x016fc71d, 0x000abd71}}, Y: Field{[10]uint32{0x02b706bd, 0x01455061, 0x029321b6, 0x03642d4c, 0x02783911, 0x00c69ae3, 0x0049e95a, 0x00988ecb, 0x00a2c6a8, 0x001fcc44}}}, + {X: Field{[10]uint32{0x039b5834, 0x013fb90c, 0x00903968, 0x00525c98, 0x031a3137, 0x02b983b6, 0x0163135f, 0x037c7a43, 0x0091a61a, 0x0024a47b}}, Y: Field{[10]uint32{0x01d03884, 0x007745ef, 0x01e09bac, 0x02f2b78b, 0x03feef42, 0x020cb7a4, 0x009649f1, 0x036ecff0, 0x006be8b0, 0x00354c14}}}, + {X: Field{[10]uint32{0x00605b54, 0x0110a4b3, 0x028e1144, 0x034608f3, 0x03a8581f, 0x03863fda, 0x029cb474, 0x01e05813, 0x03c3659a, 0x000582b4}}, Y: Field{[10]uint32{0x00d141fe, 0x007d09a9, 0x03b58b6e, 0x03060636, 0x010a59f2, 0x007ae476, 0x01f939eb, 0x035c6698, 0x024d5f28, 0x00058611}}}, + {X: Field{[10]uint32{0x00ba9d58, 0x01c64d18, 0x02572b40, 0x03e18d62, 0x01ea4280, 0x01cf6b63, 0x005a5d76, 0x024830b6, 0x01bb8640, 0x000d4966}}, Y: Field{[10]uint32{0x03538d0c, 0x01f470a2, 0x0164a50f, 0x03618e35, 0x00aa2ac3, 0x00f2572b, 0x017707ad, 0x013cac8b, 0x011be806, 0x0029e296}}}, + {X: Field{[10]uint32{0x036ba527, 0x00b13ede, 0x03f334d1, 0x038488da, 0x01adb37c, 0x03a78575, 0x037a7281, 0x018d364b, 0x03bd9a8c, 0x003b083b}}, Y: Field{[10]uint32{0x0151b70d, 0x015ecec3, 0x021e2a9a, 0x024bf550, 0x02e8c547, 0x01ebe762, 0x019315e2, 0x00c454e4, 0x01bc2a5a, 0x002b36ca}}}, + {X: Field{[10]uint32{0x02dbebc3, 0x02b51838, 0x0064c5cf, 0x0214618f, 0x01bbd387, 0x0165e07a, 0x02e847dc, 0x031bb157, 0x00da8bda, 0x00103479}}, Y: Field{[10]uint32{0x016e9ab0, 0x0099568c, 0x013acd3a, 0x03fc9fed, 0x004e3755, 0x02e8fb06, 0x03c7d5bd, 0x00b9a299, 0x001cb7c9, 0x00318c16}}}, + {X: Field{[10]uint32{0x027d08c7, 0x02e91103, 0x035127db, 0x00b7c3fe, 0x0081674c, 0x022d9b7d, 0x01ac1c39, 0x037cb8ac, 0x03402faa, 0x003ef849}}, Y: Field{[10]uint32{0x03f412d6, 0x00bdee2d, 0x0187c52f, 0x00d39ba1, 0x00f3dfee, 0x011245a6, 0x00871821, 0x005340eb, 0x00d7f979, 0x003403b7}}}, + {X: Field{[10]uint32{0x0191eb03, 0x0364c370, 0x0008bb0c, 0x0358990c, 0x034070d9, 0x03ec7848, 0x010fbd80, 0x0247ee21, 0x01a747d1, 0x0035e06d}}, Y: Field{[10]uint32{0x006afa11, 0x01ac63cd, 0x03792d90, 0x00c09236, 0x019762ef, 0x0066ca44, 0x01f29245, 0x02ad57e5, 0x01a25c74, 0x00292aa5}}}, + {X: Field{[10]uint32{0x00cf02cd, 0x0111bc27, 0x0052944a, 0x00e7b948, 0x0122790c, 0x00e56d7a, 0x01045d00, 0x02f1f045, 0x0042d926, 0x00191cbf}}, Y: Field{[10]uint32{0x0205a99d, 0x02de2511, 0x0106863d, 0x02d438ab, 0x03045d1a, 0x00cf210a, 0x0264e376, 0x024f7b88, 0x0014a925, 0x00001448}}}, + {X: Field{[10]uint32{0x015e0c21, 0x0057b58e, 0x03fd2c57, 0x00993203, 0x005fa6cf, 0x01181e8b, 0x0117a935, 0x0007a1a9, 0x00c2e096, 0x003bb860}}, Y: Field{[10]uint32{0x0083e7ea, 0x01259a5d, 0x01711e06, 0x03c6b995, 0x0349490a, 0x03de1728, 0x03daff70, 0x01bf16d3, 0x0398221d, 0x003232e9}}}, + {X: Field{[10]uint32{0x01ada2d6, 0x012dd411, 0x00ab4fad, 0x03536d40, 0x039103be, 0x015d8c1d, 0x03ec071c, 0x02b50456, 0x022da172, 0x002402c9}}, Y: Field{[10]uint32{0x01e2cbaf, 0x0108f814, 0x015aa371, 0x0361459d, 0x0082c4c1, 0x00fe8d35, 0x0018e7fb, 0x03fa44fd, 0x03f2bbad, 0x000c5915}}}, + {X: Field{[10]uint32{0x03a34c9e, 0x02006884, 0x00e20420, 0x02c799af, 0x015d5e03, 0x027bca74, 0x02d3371b, 0x0141c1dc, 0x03874e1e, 0x001fa4f6}}, Y: Field{[10]uint32{0x038465a8, 0x0308ce78, 0x0356abc2, 0x011ed6fe, 0x0063f3ec, 0x00033704, 0x03aa0fee, 0x00ca9bd7, 0x02247500, 0x00337aa9}}}, + {X: Field{[10]uint32{0x01a379ca, 0x02320be2, 0x031f5da9, 0x01e80fb6, 0x02d17287, 0x012aff8e, 0x02761b84, 0x02957799, 0x002465f3, 0x001187ed}}, Y: Field{[10]uint32{0x00e815d9, 0x014a16c6, 0x0332b7f1, 0x0299ae39, 0x011f584a, 0x00179070, 0x0101dadc, 0x009c63d5, 0x01fdba03, 0x001da098}}}, + {X: Field{[10]uint32{0x0019e09f, 0x0379de25, 0x0059e997, 0x02997cd4, 0x036de28a, 0x006e93e4, 0x010f0cc9, 0x00683f97, 0x001af0f6, 0x000767d6}}, Y: Field{[10]uint32{0x011bf6cd, 0x00da6d22, 0x011f8adf, 0x00758889, 0x003f02db, 0x0259dbd5, 0x00302e18, 0x03715858, 0x018c7d59, 0x001ffa72}}}, + {X: Field{[10]uint32{0x027542c6, 0x010e085d, 0x0362be23, 0x03fcf337, 0x0166386d, 0x013bf8de, 0x00f7a70e, 0x00aa9c90, 0x0352904b, 0x002335c2}}, Y: Field{[10]uint32{0x01ddc2f2, 0x01afb26d, 0x001f1ff8, 0x00f62195, 0x020e9e29, 0x01caf1ae, 0x0308bb2f, 0x002c7c03, 0x003f4c7e, 0x002cf0f4}}}, + {X: Field{[10]uint32{0x034a5261, 0x02a98a3a, 0x02a2e819, 0x008d3910, 0x0199097b, 0x00036bbf, 0x025b8b38, 0x02196e66, 0x03ea9c08, 0x00282d51}}, Y: Field{[10]uint32{0x02ca2952, 0x0377627c, 0x03a2280c, 0x0063cb48, 0x00fd9d1e, 0x0289fad8, 0x003cb4e1, 0x00403700, 0x0115e585, 0x00181fbc}}}, + {X: Field{[10]uint32{0x0344d289, 0x0358d810, 0x0177578d, 0x03d57f6f, 0x00192406, 0x01fa06ad, 0x03a649c2, 0x00e38da0, 0x00f65470, 0x003aa298}}, Y: Field{[10]uint32{0x01822fb0, 0x003dd19e, 0x00691ac1, 0x033d4183, 0x02881b5f, 0x02f08bc5, 0x00b9f3e3, 0x0357aa3f, 0x02c0b05a, 0x00262bf2}}}, + {X: Field{[10]uint32{0x00b0a711, 0x02335285, 0x0075501a, 0x001a44d4, 0x0148bce5, 0x016ede0a, 0x01488fe5, 0x03e7bddf, 0x029d0882, 0x00398146}}, Y: Field{[10]uint32{0x02920fce, 0x02853d8b, 0x03498ffa, 0x0209364c, 0x00c1ec0c, 0x0182bdd7, 0x01257b8a, 0x02d5572e, 0x02be9d9e, 0x00072736}}}, + {X: Field{[10]uint32{0x00765674, 0x01497a62, 0x02a4b39a, 0x03153e3a, 0x03165338, 0x001f8396, 0x00e5efbc, 0x034cdc1b, 0x02c9c50f, 0x0018021d}}, Y: Field{[10]uint32{0x03ea4189, 0x01e5b936, 0x0346a213, 0x00b981a9, 0x03b04420, 0x0282c856, 0x01f5da0a, 0x0087ce0f, 0x031ef52b, 0x00100699}}}, + {X: Field{[10]uint32{0x02b2ff40, 0x03c7a5fd, 0x00185274, 0x01596df8, 0x003c0eca, 0x01a78105, 0x03efe121, 0x03f7426c, 0x039c5ef6, 0x000ec116}}, Y: Field{[10]uint32{0x02780a28, 0x039a04d8, 0x02dfad20, 0x01ef2c4d, 0x03a135a4, 0x035a4530, 0x00085d05, 0x001f10aa, 0x03acb211, 0x002a95dc}}}, + {X: Field{[10]uint32{0x01f0f1b6, 0x03b9fd2c, 0x022dc643, 0x0077954a, 0x01f9504b, 0x03b673bd, 0x027807fd, 0x01578135, 0x0132ee0b, 0x00373a63}}, Y: Field{[10]uint32{0x033fb086, 0x01687787, 0x031b8d43, 0x038a0077, 0x03aba058, 0x02b3d509, 0x03746d67, 0x00925f2e, 0x027c9e99, 0x00340eb0}}}, + {X: Field{[10]uint32{0x0378fd76, 0x03a61338, 0x0144958b, 0x01fc8be8, 0x03dd5aea, 0x00da19e1, 0x011c07a9, 0x0183fa2a, 0x01486e8a, 0x000d96c4}}, Y: Field{[10]uint32{0x0301c9c0, 0x00add87b, 0x005c3f85, 0x019d53d0, 0x01b36e27, 0x036ee3b0, 0x01ecbbcb, 0x01754131, 0x0217319e, 0x000b1fd4}}}, + {X: Field{[10]uint32{0x036b5806, 0x01cecbaa, 0x006cbb9c, 0x03a15f26, 0x023c3720, 0x013b78d5, 0x00dc3cad, 0x0197b7ba, 0x035a4dc4, 0x000b8de4}}, Y: Field{[10]uint32{0x03ce346b, 0x00e51752, 0x01522c0e, 0x0240431b, 0x02839cb6, 0x01fe0692, 0x02dc7f9d, 0x03d1b600, 0x03f15278, 0x002f421c}}}, + {X: Field{[10]uint32{0x01647568, 0x02eba53c, 0x030bb00f, 0x0215b91e, 0x0081cd85, 0x0035c656, 0x00ddf927, 0x016b5ed8, 0x00e19374, 0x000126da}}, Y: Field{[10]uint32{0x02819dc1, 0x01a4f01c, 0x03795755, 0x00c43d29, 0x021dc82d, 0x03d2e16f, 0x03cb2d05, 0x010fbd4e, 0x03f0013e, 0x00328752}}}, + {X: Field{[10]uint32{0x02744564, 0x00c3f33e, 0x0220cb81, 0x02e8f981, 0x016c8cc6, 0x027b781d, 0x02b6f66e, 0x016a20b0, 0x016cc79c, 0x001b7d4f}}, Y: Field{[10]uint32{0x02431344, 0x02013449, 0x036e1729, 0x01f2bed5, 0x014597f7, 0x00698525, 0x032f2914, 0x01f16491, 0x02ed3b2b, 0x001230f5}}}, + {X: Field{[10]uint32{0x034865a1, 0x0385c36f, 0x02b8bd28, 0x0307238c, 0x022f9467, 0x019c5168, 0x01636727, 0x038ee498, 0x03069104, 0x003667e3}}, Y: Field{[10]uint32{0x02543d7f, 0x02ff9414, 0x01479fd1, 0x00cf9044, 0x00c2b433, 0x0301b2c6, 0x0267c4e2, 0x01764d93, 0x02b055aa, 0x00333f11}}}, + {X: Field{[10]uint32{0x019930d1, 0x03ab64f9, 0x0342a538, 0x03f71a30, 0x01e23af7, 0x01562816, 0x00075728, 0x020ce2ea, 0x0017ebbf, 0x001ddc9f}}, Y: Field{[10]uint32{0x00c629ea, 0x0380ce10, 0x0308366d, 0x02504cf9, 0x00ede751, 0x017d4329, 0x023bc657, 0x0060083f, 0x007e2cde, 0x00280df7}}}, + {X: Field{[10]uint32{0x03e22604, 0x00328bda, 0x0266377e, 0x022667b0, 0x0036ae37, 0x0344ce6b, 0x00c84cfa, 0x013fdf05, 0x02d8563a, 0x0007503a}}, Y: Field{[10]uint32{0x00d1face, 0x007b0488, 0x01713a71, 0x00b6a5a3, 0x033a6b0c, 0x03137ee1, 0x025a5ac1, 0x0245ffb9, 0x0043b093, 0x002125ed}}}, + {X: Field{[10]uint32{0x006bfae0, 0x0241c410, 0x010ef405, 0x02645e8f, 0x03e32269, 0x0061034d, 0x0227c205, 0x02accdc6, 0x0341adf5, 0x0000a8e7}}, Y: Field{[10]uint32{0x005c27c5, 0x03cab1a4, 0x008ed155, 0x027b1c12, 0x008dd1a4, 0x03a11306, 0x0236b048, 0x027ee08e, 0x03a858e9, 0x000336bd}}}, + {X: Field{[10]uint32{0x01c684e0, 0x00dc2206, 0x0215e281, 0x024adb38, 0x0166f5ea, 0x0365d288, 0x031cc92f, 0x02331225, 0x00b1d8b0, 0x0002aab9}}, Y: Field{[10]uint32{0x03cd8f0c, 0x035e3a78, 0x01bdea34, 0x0344e909, 0x03c63739, 0x0145478c, 0x03d5cd50, 0x00d22a13, 0x0195c10a, 0x000248de}}}, + {X: Field{[10]uint32{0x02477d40, 0x03f6bf39, 0x03440965, 0x01520c7b, 0x0211315a, 0x02b0b278, 0x00939d29, 0x014ed8cd, 0x0042591a, 0x00296c30}}, Y: Field{[10]uint32{0x00a62ca6, 0x01e97301, 0x016d7e11, 0x03234a90, 0x00bc9904, 0x00f1f758, 0x022b206b, 0x000922cd, 0x00fd5d1f, 0x002b0f9f}}}, + {X: Field{[10]uint32{0x03c63f0b, 0x00b907c9, 0x035a1278, 0x02d40faf, 0x003c16e3, 0x03c252f9, 0x03643b47, 0x01aa5aa3, 0x0164e616, 0x000306dc}}, Y: Field{[10]uint32{0x01663a98, 0x003c079d, 0x01207fcc, 0x02fdcfb4, 0x01e34810, 0x0378eb1e, 0x010ba811, 0x03c7fd6d, 0x021a4ffa, 0x00211a45}}}, + {X: Field{[10]uint32{0x01ca63bc, 0x0263852b, 0x028b457b, 0x01763f7c, 0x00342e60, 0x03ac9b74, 0x00e0f2c8, 0x018fc136, 0x00254b79, 0x000263f6}}, Y: Field{[10]uint32{0x01a192d6, 0x0184456c, 0x0098f220, 0x0096f848, 0x012dc143, 0x032f2e67, 0x039dba65, 0x019991df, 0x000d213f, 0x0038a5ea}}}, + {X: Field{[10]uint32{0x014c3281, 0x02ceab56, 0x00dc163e, 0x033605ab, 0x0148c464, 0x030b9bc6, 0x034127d8, 0x03b524b4, 0x024971b6, 0x003c7c21}}, Y: Field{[10]uint32{0x00f31f5c, 0x00ce2ac0, 0x0031a346, 0x0394bf7b, 0x03506a0d, 0x01580b9b, 0x038954d8, 0x013ea44e, 0x02a0f9e0, 0x00009ab8}}}, + {X: Field{[10]uint32{0x030dd197, 0x010388e4, 0x03a91172, 0x00e98688, 0x01b63af8, 0x00141bed, 0x03441eac, 0x034ab298, 0x00cdc324, 0x0003fd1c}}, Y: Field{[10]uint32{0x0227788f, 0x00983495, 0x01eba5a5, 0x012e3f4c, 0x0330734b, 0x007be9ce, 0x007a772a, 0x01dfa118, 0x026bb18e, 0x0039807d}}}, + {X: Field{[10]uint32{0x006c63a6, 0x0110b7ef, 0x016dcd04, 0x02e4ccbb, 0x00ad0f82, 0x02aaeeaa, 0x0008127b, 0x02865ad6, 0x006d968a, 0x00243aaf}}, Y: Field{[10]uint32{0x035038f1, 0x03e93bae, 0x030f94c1, 0x038f7370, 0x032faed3, 0x0111daca, 0x03fc4be4, 0x00f35cb7, 0x0367ffb2, 0x0035b7c3}}}, + {X: Field{[10]uint32{0x007e11af, 0x012e2ef3, 0x03866ecd, 0x02dbfabc, 0x02bc0a43, 0x00c00d8f, 0x01e0826b, 0x001e86d0, 0x0126acc5, 0x003885ec}}, Y: Field{[10]uint32{0x01e98f30, 0x007f1b92, 0x01ecda8d, 0x017ec0c8, 0x02921e3a, 0x02c9e8e1, 0x00eb7332, 0x00cf562e, 0x01ef83db, 0x001faca3}}}, + {X: Field{[10]uint32{0x00e1d184, 0x039a2a7f, 0x0228d20d, 0x03bb1e55, 0x02b5d008, 0x01362ab4, 0x032bc218, 0x0175785d, 0x03d582b8, 0x000a865b}}, Y: Field{[10]uint32{0x02201303, 0x00e67d98, 0x022300c3, 0x019e2760, 0x0368526c, 0x02b4bfc7, 0x038dc8cc, 0x038f53f7, 0x0257ee9e, 0x002652d1}}}, + {X: Field{[10]uint32{0x02de4342, 0x0074099e, 0x002e6132, 0x02f5f99b, 0x02ca770c, 0x00463def, 0x01897c81, 0x0329fa2a, 0x03c83a6e, 0x002f278e}}, Y: Field{[10]uint32{0x014f3f4b, 0x01950b5c, 0x030a3f34, 0x0184be12, 0x00e2b076, 0x017cd749, 0x00992917, 0x029586ae, 0x03e2d544, 0x00275fbd}}}, + {X: Field{[10]uint32{0x02f198b3, 0x0144aaac, 0x00cdf6f6, 0x03b79a47, 0x017e76b8, 0x03c4bc82, 0x029e3676, 0x027e13fa, 0x03f3842a, 0x003fca04}}, Y: Field{[10]uint32{0x03fe1949, 0x012128b0, 0x03f7618a, 0x00abd00a, 0x01b8b668, 0x02027d21, 0x02de4380, 0x030586b1, 0x03d666d0, 0x00081b8e}}}, + {X: Field{[10]uint32{0x01af05f7, 0x011e6e34, 0x01baf6c7, 0x02f9382b, 0x0234a50b, 0x01da75f2, 0x01423210, 0x0358faf8, 0x01df2d38, 0x001b9d66}}, Y: Field{[10]uint32{0x03654c8d, 0x01bea978, 0x002cd555, 0x0117b346, 0x03256143, 0x01ad251a, 0x01ed56eb, 0x0136212a, 0x031d4b0e, 0x0008cf73}}}, + {X: Field{[10]uint32{0x03666146, 0x0141c64c, 0x039f9ba2, 0x00bad5db, 0x03839766, 0x02797059, 0x01844d1a, 0x03aca053, 0x00d56c82, 0x0007b767}}, Y: Field{[10]uint32{0x01f43f4c, 0x00946f8f, 0x0165fe24, 0x03725776, 0x0239d48d, 0x0345a083, 0x01b5cb04, 0x03a0fa52, 0x02850b2e, 0x002803d2}}}, + {X: Field{[10]uint32{0x007324af, 0x01e7ed90, 0x02b0718d, 0x01ce4b5e, 0x02818a2f, 0x00e2a07a, 0x024a0907, 0x01335dda, 0x02061f79, 0x0009c8f7}}, Y: Field{[10]uint32{0x02bbf41f, 0x00707fb1, 0x00e783db, 0x01c9df34, 0x0038daad, 0x0112ae22, 0x013429e3, 0x003140f1, 0x01bef981, 0x000d71ea}}}, + {X: Field{[10]uint32{0x039a213d, 0x027289aa, 0x0353af46, 0x00ae9f1a, 0x023874ec, 0x010f04f0, 0x01659eeb, 0x0137bdb6, 0x02444cb5, 0x001313ec}}, Y: Field{[10]uint32{0x038efa3d, 0x01d47956, 0x02472082, 0x036168d5, 0x03d4a1ae, 0x0126cce3, 0x039ad153, 0x01ea7ffa, 0x02fe5644, 0x002ef4ba}}}, + {X: Field{[10]uint32{0x027593e3, 0x0255c819, 0x0212f250, 0x034a3939, 0x0112847e, 0x03ecfef3, 0x03069771, 0x0256a238, 0x01f73479, 0x001cd8d6}}, Y: Field{[10]uint32{0x02bd3741, 0x0256fe44, 0x015f972c, 0x02920359, 0x00e303fd, 0x02e3e61a, 0x02215ca6, 0x001448d6, 0x03ed4bce, 0x0008eecd}}}, + {X: Field{[10]uint32{0x01f595be, 0x01e53661, 0x03293825, 0x03df0332, 0x026f33b0, 0x0021e6fb, 0x01813946, 0x01af452e, 0x0194ee93, 0x000572e5}}, Y: Field{[10]uint32{0x031bb152, 0x00950a7e, 0x0149ac7f, 0x03997962, 0x03e2e133, 0x036c9d3b, 0x03775e9e, 0x006ad804, 0x032a2ec8, 0x002aab5d}}}, + {X: Field{[10]uint32{0x03e78fa4, 0x01b159da, 0x00a9b41e, 0x01de987c, 0x02df5747, 0x002e1dca, 0x0290eb82, 0x033c7a12, 0x01ab97e5, 0x000ed522}}, Y: Field{[10]uint32{0x022219be, 0x00d33d95, 0x00cf9e71, 0x03aeeec4, 0x020d59a1, 0x0044f592, 0x02cad63f, 0x01285f33, 0x03c8e967, 0x00051744}}}, + {X: Field{[10]uint32{0x029dd2f5, 0x005d65e8, 0x01c56684, 0x0130e896, 0x0323323e, 0x0167389a, 0x01bec7bb, 0x034e16c2, 0x019aa6f9, 0x001e346e}}, Y: Field{[10]uint32{0x0216a122, 0x0220dedf, 0x020ef3cd, 0x033856d2, 0x00a6b890, 0x027da8a0, 0x014369ce, 0x02c8433d, 0x01f8e883, 0x00072344}}}, + {X: Field{[10]uint32{0x01661e85, 0x03457ece, 0x0121070c, 0x0060afa0, 0x02d2fd2d, 0x024e244b, 0x0013e3f0, 0x03eef4ea, 0x028c5cef, 0x000e1793}}, Y: Field{[10]uint32{0x0368069c, 0x00b6b2ea, 0x02c7036e, 0x03896337, 0x02c9b168, 0x00730232, 0x03ceb21c, 0x03ef1484, 0x00149f5c, 0x003d2871}}}, + {X: Field{[10]uint32{0x011aec6a, 0x0365c465, 0x02b1fc28, 0x00c0a4b5, 0x02a7c872, 0x014fa4a4, 0x0130df3c, 0x01b1b922, 0x0070d8e4, 0x000c43e3}}, Y: Field{[10]uint32{0x0017146f, 0x021bd70d, 0x01efdb03, 0x017db73b, 0x0359d92d, 0x0175c11b, 0x0315154d, 0x001ec959, 0x01d3c92c, 0x001bf8c6}}}, + {X: Field{[10]uint32{0x03c70bbb, 0x01996175, 0x00912940, 0x02590884, 0x03c1f91a, 0x02356248, 0x030b80d4, 0x03542b85, 0x003023d1, 0x001d93cf}}, Y: Field{[10]uint32{0x03dca724, 0x01f2d038, 0x038e4b54, 0x02e323ca, 0x03c3ee9e, 0x01e32673, 0x01411468, 0x02d283b6, 0x031abecd, 0x002f64be}}}, + {X: Field{[10]uint32{0x03e68126, 0x01fbdca8, 0x031ab36f, 0x01d4f11e, 0x02b37a80, 0x010042e2, 0x013c86f8, 0x028dfc6f, 0x03bab357, 0x000f5748}}, Y: Field{[10]uint32{0x0334255b, 0x0056575a, 0x028e0821, 0x018424c1, 0x017ccbb4, 0x017e7037, 0x00893c5f, 0x0009960e, 0x0041bdcf, 0x000aef46}}}, + {X: Field{[10]uint32{0x027f8a1e, 0x0095ae0a, 0x00dc087e, 0x01f543d4, 0x006d4ddd, 0x019d67a5, 0x03d2affd, 0x01ee2ffa, 0x01adcdfc, 0x0029c10c}}, Y: Field{[10]uint32{0x0147f593, 0x0091fd64, 0x01f20384, 0x00861bfd, 0x00231639, 0x03bfb32e, 0x03d77e8b, 0x02cbab0c, 0x022b9362, 0x000f290d}}}, + {X: Field{[10]uint32{0x000e8a7d, 0x0358f98c, 0x00697bf7, 0x03689177, 0x032263e9, 0x03177500, 0x00004327, 0x00bb3cf2, 0x02122c1b, 0x000a8e20}}, Y: Field{[10]uint32{0x02f6ff78, 0x00b20884, 0x01175fd7, 0x03669c91, 0x01a339c0, 0x02a6dcea, 0x005f2faf, 0x01efc0f7, 0x018853b8, 0x002b25b4}}}, + {X: Field{[10]uint32{0x024b5451, 0x005f0290, 0x01a9ab4d, 0x03fccc1a, 0x0356b49b, 0x015f8c04, 0x00bc545f, 0x0008bad4, 0x01a40ae3, 0x003a6716}}, Y: Field{[10]uint32{0x029bada0, 0x0111758b, 0x03349baf, 0x0260820d, 0x02b4fe1a, 0x00541645, 0x03737b56, 0x03eaddb0, 0x0379fe55, 0x000a6c92}}}, + {X: Field{[10]uint32{0x003306d4, 0x0300d382, 0x0384bf19, 0x035ac368, 0x03c0be26, 0x030ff8b4, 0x03f1a3c3, 0x0317b7d8, 0x02d1bd5a, 0x0028290b}}, Y: Field{[10]uint32{0x00a0bbc3, 0x033d8457, 0x039e4e5b, 0x01e59c99, 0x008aad08, 0x030c83ba, 0x0293e288, 0x008dd1e8, 0x03d2d444, 0x0030e7fc}}}, + {X: Field{[10]uint32{0x009e0053, 0x021baef0, 0x00b01c0b, 0x021c2dbc, 0x035cc17e, 0x01065cc3, 0x011670e1, 0x03c18fc7, 0x01d69ba9, 0x002e54b9}}, Y: Field{[10]uint32{0x01c46ae0, 0x023c31cb, 0x010ca0fe, 0x026bd4f3, 0x02273a4f, 0x02fc942b, 0x031c9b5b, 0x02e369b9, 0x019fa230, 0x00307a02}}}, + {X: Field{[10]uint32{0x01a4e904, 0x03e0ffa5, 0x01a2e620, 0x02319575, 0x01be83c1, 0x00498872, 0x03892b45, 0x017d3918, 0x033a130f, 0x000ebb89}}, Y: Field{[10]uint32{0x030af7e7, 0x03bac3ef, 0x01131eb7, 0x00d67a32, 0x009237b0, 0x024fe51c, 0x003c6a0b, 0x02db73cb, 0x01c6921f, 0x003b7d1d}}}, + {X: Field{[10]uint32{0x0266ceac, 0x0389576e, 0x0044965c, 0x01974a34, 0x00aa2f9e, 0x021e09ff, 0x0310d91b, 0x02bc1ab2, 0x00dcdc65, 0x00025b77}}, Y: Field{[10]uint32{0x0100ab39, 0x03e14bb4, 0x03584215, 0x01f98080, 0x039e2bf3, 0x0042ef08, 0x030d4fe3, 0x01009320, 0x036817fd, 0x000b9b40}}}, + {X: Field{[10]uint32{0x030334a3, 0x017eb934, 0x004d5af4, 0x039e78d6, 0x01e0d07a, 0x00a507e8, 0x00e111c3, 0x03b276c4, 0x0006c757, 0x003f543d}}, Y: Field{[10]uint32{0x013fde6f, 0x03d2f3f5, 0x03348324, 0x003b184d, 0x00ed9ccb, 0x03e36ca2, 0x01b1d364, 0x001a3f1f, 0x0094d49c, 0x001c6ddd}}}, + {X: Field{[10]uint32{0x03a097d1, 0x0193e45a, 0x03a77d3c, 0x004af28e, 0x03bd0611, 0x015a2ae6, 0x014915c9, 0x01148c18, 0x02681195, 0x001bcb60}}, Y: Field{[10]uint32{0x00787a87, 0x003bde0d, 0x035afe88, 0x01a34097, 0x0297261d, 0x029591e8, 0x017fe722, 0x029f134c, 0x0199849c, 0x002af904}}}, + {X: Field{[10]uint32{0x01cc1400, 0x019091c8, 0x03c9d3f0, 0x036f8988, 0x029c5099, 0x020ca8c4, 0x0283d2ce, 0x02d8a89d, 0x01b76dff, 0x00362303}}, Y: Field{[10]uint32{0x01cec51f, 0x0398d4a3, 0x034ea542, 0x02250c6e, 0x02ba5aa2, 0x0021ccad, 0x001726df, 0x01fa4976, 0x015adf6d, 0x00144d3c}}}, + {X: Field{[10]uint32{0x007105fe, 0x03d55f9d, 0x01562d95, 0x012a9c75, 0x00b6c0fd, 0x0080bf93, 0x01013632, 0x00fca3ab, 0x02e4ddde, 0x002a37a6}}, Y: Field{[10]uint32{0x03be8803, 0x00f8f6a8, 0x0107e038, 0x010dbbea, 0x02536820, 0x01f71d4a, 0x03c39a51, 0x02d85242, 0x006b5a71, 0x0005e7a5}}}, + {X: Field{[10]uint32{0x03cd45ac, 0x00942aa3, 0x037ae6eb, 0x03bf9201, 0x01799c94, 0x003996c3, 0x02a48118, 0x00f50276, 0x0027f7dc, 0x00189b1a}}, Y: Field{[10]uint32{0x01bf2f32, 0x031758cc, 0x01c00fce, 0x02841e06, 0x02b30b7e, 0x036e2397, 0x024a2db8, 0x01eca0cb, 0x01db87cf, 0x0000f596}}}, + {X: Field{[10]uint32{0x00a77d02, 0x01213d0b, 0x004955b5, 0x03bed488, 0x021666eb, 0x03d5b3c0, 0x00b2ef69, 0x03e91f6d, 0x022cf00e, 0x0000a28e}}, Y: Field{[10]uint32{0x0393c82b, 0x0266c5a0, 0x01b01f77, 0x00de5e53, 0x030fc168, 0x009c21b1, 0x00e90fb9, 0x01c3b667, 0x00edfc98, 0x00023740}}}, + {X: Field{[10]uint32{0x01545786, 0x00a4dc30, 0x02bd5dbb, 0x01d5fee4, 0x02c3b672, 0x005e2923, 0x01d0dc2f, 0x01901491, 0x029f27c4, 0x0037c2c0}}, Y: Field{[10]uint32{0x02a1099a, 0x03462900, 0x0279c6cc, 0x012ffa85, 0x01757b47, 0x004067c5, 0x00a5ad4e, 0x0166a204, 0x0105c7e1, 0x003c4cfb}}}, + {X: Field{[10]uint32{0x001a49ef, 0x02ef17f7, 0x02c8b421, 0x020d31f0, 0x020c5497, 0x0229ad8e, 0x02162a4e, 0x002f94b4, 0x03af9c1e, 0x00371bd5}}, Y: Field{[10]uint32{0x00f1a0c4, 0x01f84104, 0x0379e9e9, 0x01287064, 0x0366fca4, 0x02ce26ea, 0x02ee20d9, 0x03f97258, 0x02afe610, 0x001bd61a}}}, + {X: Field{[10]uint32{0x0255cd15, 0x00ece62c, 0x02ac4bf1, 0x00ba838f, 0x03816247, 0x02070764, 0x02dcc0fa, 0x031a4066, 0x02a2e0d2, 0x0036de5b}}, Y: Field{[10]uint32{0x0105ac88, 0x010c4f1f, 0x033e2947, 0x00810ef6, 0x02793754, 0x006478a3, 0x01e07662, 0x03ed1190, 0x02a732e1, 0x000b9831}}}, + {X: Field{[10]uint32{0x01633a2d, 0x03f8da4d, 0x023ca059, 0x01a4c2c1, 0x02881fe2, 0x01d3e233, 0x03a3efce, 0x0263f696, 0x029e72ea, 0x0015a6d9}}, Y: Field{[10]uint32{0x00ca0c8c, 0x02ddd57e, 0x00ca2f76, 0x01bffd3e, 0x02220b6a, 0x03ad78dd, 0x033f7406, 0x03e1c976, 0x02af2551, 0x002eb763}}}, + {X: Field{[10]uint32{0x00468ae4, 0x02b0ccde, 0x02451421, 0x004617f4, 0x02ec7951, 0x00b45d71, 0x036b6f0e, 0x00ceef52, 0x00201f9a, 0x000d84c9}}, Y: Field{[10]uint32{0x033c4314, 0x005863fe, 0x01dee282, 0x005c3655, 0x0262a58e, 0x011d5921, 0x02ba1351, 0x01cd99bb, 0x02cef7bc, 0x003d1ed5}}}, + {X: Field{[10]uint32{0x014a469c, 0x013b4cd2, 0x015b1b60, 0x020f24bf, 0x03855a07, 0x020b6c3f, 0x00fa2431, 0x00805246, 0x00371e4d, 0x00337ac8}}, Y: Field{[10]uint32{0x00dfa7d8, 0x031bde76, 0x03393a83, 0x03555462, 0x02970a7e, 0x0213b941, 0x010098bc, 0x00e074bf, 0x03186829, 0x001f4f1d}}}, + {X: Field{[10]uint32{0x031598ef, 0x005f3f05, 0x03755c87, 0x01d3e36d, 0x03ff6c4d, 0x037a23ff, 0x013b721a, 0x0317b003, 0x03a9d750, 0x00180d73}}, Y: Field{[10]uint32{0x03dd675a, 0x027f6d81, 0x01cb749f, 0x035f5632, 0x029bb129, 0x0120b480, 0x02dcde65, 0x0090d904, 0x00da160b, 0x003f85e6}}}, + {X: Field{[10]uint32{0x0379c0f7, 0x0279068e, 0x02ac18dc, 0x01765f64, 0x00bb250b, 0x011c5e3d, 0x0275b0c0, 0x02639383, 0x0297e499, 0x002c7d4b}}, Y: Field{[10]uint32{0x03df795f, 0x01e942b4, 0x0333d808, 0x03e04093, 0x03de484c, 0x00994717, 0x024370ca, 0x03f6317c, 0x01654e4c, 0x00360fcf}}}, + {X: Field{[10]uint32{0x01f1b641, 0x018ac85b, 0x02477d78, 0x0159094d, 0x03f1a5e0, 0x0357dc26, 0x0011395d, 0x00f6827c, 0x035304c7, 0x002a9e66}}, Y: Field{[10]uint32{0x03248646, 0x00f4b4cc, 0x03338a00, 0x001f2ef9, 0x02dd5920, 0x03ce2aa1, 0x03f68879, 0x016d9164, 0x0047b5e9, 0x000e8c9c}}}, + {X: Field{[10]uint32{0x0045aa03, 0x017a6ee9, 0x023c18d3, 0x026f7631, 0x01262d62, 0x034ce691, 0x01e56b66, 0x03d3f11e, 0x016445bd, 0x00369286}}, Y: Field{[10]uint32{0x029cb70d, 0x00fe4b2d, 0x006d563f, 0x039c9b0b, 0x02353376, 0x00d357b2, 0x02cff296, 0x018e9019, 0x02da25cc, 0x001ece97}}}, + {X: Field{[10]uint32{0x01b8d656, 0x039ccfe8, 0x0384c231, 0x011a81ec, 0x017e620d, 0x003bbc1c, 0x03eba80f, 0x01b4350c, 0x00adc234, 0x0030c02d}}, Y: Field{[10]uint32{0x03cdba42, 0x02a1dc78, 0x023566f4, 0x03691537, 0x02f73448, 0x00402e56, 0x02aa439a, 0x01eb1fcd, 0x03b948d2, 0x000c820e}}}, + {X: Field{[10]uint32{0x00359f04, 0x0162cae5, 0x02be76a3, 0x001f8833, 0x02ed64a9, 0x02437cac, 0x039bf7b0, 0x01c91358, 0x01286793, 0x00315669}}, Y: Field{[10]uint32{0x01bf5977, 0x011c3352, 0x004740d2, 0x03685659, 0x02806d78, 0x00fd10d2, 0x01671b56, 0x03260c83, 0x01aa5c08, 0x0027f2b0}}}, + {X: Field{[10]uint32{0x03e83540, 0x018ccef7, 0x015fa9b9, 0x03af4f9e, 0x01b0911c, 0x020f042c, 0x034bca9a, 0x036fd3c1, 0x01470a46, 0x000e6c40}}, Y: Field{[10]uint32{0x01308278, 0x0250658b, 0x0055e642, 0x005f458a, 0x00168da4, 0x0358cd38, 0x02aa313c, 0x009d0d36, 0x00c8c3b2, 0x002b4d77}}}, + {X: Field{[10]uint32{0x037d6d42, 0x01d2810b, 0x01d6b347, 0x00ba89de, 0x014129ab, 0x00666532, 0x00405970, 0x031805fe, 0x02b7d2de, 0x000e7272}}, Y: Field{[10]uint32{0x03781845, 0x0373a790, 0x013623af, 0x02d32012, 0x0272ca72, 0x01f77ecf, 0x00cdd453, 0x02284cd5, 0x016b835a, 0x0031cfaf}}}, + {X: Field{[10]uint32{0x02c679ed, 0x02d7bbbb, 0x01466fc7, 0x0135104c, 0x03f8f81c, 0x038863b0, 0x02c60972, 0x02d18ab7, 0x01988a30, 0x00069896}}, Y: Field{[10]uint32{0x034114ab, 0x03e3374c, 0x02037bf5, 0x0276e810, 0x033651a3, 0x03884ef5, 0x02776e62, 0x01f26efd, 0x02bb01a9, 0x001ce6fa}}}, + {X: Field{[10]uint32{0x024c4308, 0x008b7eba, 0x003bf3f4, 0x0330fbd9, 0x0085f33e, 0x03ca0ea6, 0x012761eb, 0x030c2350, 0x0110cd35, 0x000e5bb6}}, Y: Field{[10]uint32{0x004dfe57, 0x03467845, 0x01b7f556, 0x01620d9c, 0x013945e1, 0x010a91ac, 0x0048cf84, 0x01852937, 0x01a6a08a, 0x001c8737}}}, + {X: Field{[10]uint32{0x03299a47, 0x02debce6, 0x02becaf7, 0x0100978e, 0x0083e153, 0x002f60c7, 0x02ee96ab, 0x0333f652, 0x02e8a2e8, 0x00294381}}, Y: Field{[10]uint32{0x03beba52, 0x03593f8a, 0x0214f3fc, 0x0068ead7, 0x014521fc, 0x02382178, 0x01a4575e, 0x02018ff9, 0x01b259a1, 0x00164c81}}}, + {X: Field{[10]uint32{0x01c3e1de, 0x03c9adc4, 0x034a3dc3, 0x03591ba3, 0x00dbe15c, 0x00e4fe8d, 0x02c8bcf7, 0x03470398, 0x002317b0, 0x0012a7e0}}, Y: Field{[10]uint32{0x03c6bb71, 0x012faa7d, 0x015ac289, 0x030e5899, 0x00239867, 0x00d3a24a, 0x0330c244, 0x017fff36, 0x036d0091, 0x000103bf}}}, + {X: Field{[10]uint32{0x01608b73, 0x0368bf23, 0x01f055d2, 0x018957b6, 0x007f3232, 0x00bfeee2, 0x0318562e, 0x02df9842, 0x020d9dec, 0x00233978}}, Y: Field{[10]uint32{0x02c720de, 0x03da6386, 0x011b54f1, 0x02caa9c0, 0x0263f024, 0x01649c9e, 0x0292371b, 0x03859003, 0x036cf363, 0x0003ada6}}}, + {X: Field{[10]uint32{0x0083f24b, 0x009be6ed, 0x03e0a367, 0x0358dc02, 0x0184143e, 0x0295503b, 0x02525e28, 0x03a7947c, 0x01d79b53, 0x003cc9a5}}, Y: Field{[10]uint32{0x008471c8, 0x038641f0, 0x0123ef1e, 0x00587185, 0x031d81bd, 0x03f88d24, 0x012ca1f6, 0x00157d96, 0x0088eea2, 0x003a34d9}}}, + {X: Field{[10]uint32{0x02c34d07, 0x01b78775, 0x01959485, 0x02049749, 0x01d92748, 0x01b80822, 0x011ad140, 0x0164b96d, 0x01863bf6, 0x000e09bf}}, Y: Field{[10]uint32{0x03e4cc83, 0x020ec73f, 0x01e97265, 0x0006a240, 0x02020da0, 0x01ffe7e0, 0x0282058a, 0x00d71d0f, 0x01e6a290, 0x003aa1bc}}}, + {X: Field{[10]uint32{0x00ccd551, 0x01904290, 0x03ddd0dc, 0x02a263a1, 0x02ae8611, 0x03b1c9d8, 0x02098684, 0x02c3d46e, 0x00d32e32, 0x001ec6bf}}, Y: Field{[10]uint32{0x02e37884, 0x020a34f4, 0x020efc70, 0x02c2f158, 0x00a3ce0e, 0x02edb42a, 0x0036ee39, 0x0024c420, 0x02f779e1, 0x0037ae9b}}}, + {X: Field{[10]uint32{0x01a91bd4, 0x0118304d, 0x03b63348, 0x0331fdfd, 0x018deddd, 0x019a8db4, 0x00d39b1b, 0x01d61d50, 0x01fed2c2, 0x000fac7f}}, Y: Field{[10]uint32{0x026b36cb, 0x0263e5b4, 0x037b9eb8, 0x011633f3, 0x02642c53, 0x0204a99e, 0x01506cca, 0x039e5186, 0x02ca536a, 0x002e2baa}}}, + {X: Field{[10]uint32{0x0356da8f, 0x012fad66, 0x03c45c21, 0x027a406d, 0x02b71b4d, 0x020fba8b, 0x02290cb6, 0x03f17d4c, 0x02c8aae9, 0x00275876}}, Y: Field{[10]uint32{0x02446036, 0x021d8ace, 0x02271793, 0x0079e28a, 0x01280a8f, 0x0099f3a6, 0x024fc3ee, 0x02c8b9c0, 0x00a42ea1, 0x000b9f2b}}}, + {X: Field{[10]uint32{0x0211c7d8, 0x0343ab8f, 0x0239be38, 0x03bff76e, 0x02e91a43, 0x017b5551, 0x021e37a8, 0x03eaa3a3, 0x02dc3167, 0x000b6cdc}}, Y: Field{[10]uint32{0x01707ffe, 0x01b842d6, 0x023809b0, 0x00d2dc65, 0x0084f005, 0x02d67c3a, 0x0279697f, 0x02f5a85b, 0x0361bc1a, 0x0005aadb}}}, + {X: Field{[10]uint32{0x0005dc80, 0x0008f4a2, 0x000302ff, 0x019fdff1, 0x025b03dd, 0x02b4c4ca, 0x00e83cc9, 0x02d4e14e, 0x02f9f7a2, 0x00263df3}}, Y: Field{[10]uint32{0x02b98943, 0x020417eb, 0x00dd8d65, 0x034fe546, 0x01468bed, 0x03a5a85d, 0x016df891, 0x039b1af5, 0x00232813, 0x000ed03e}}}, + {X: Field{[10]uint32{0x01b62548, 0x0334657b, 0x00c7a363, 0x01853522, 0x02c48f08, 0x02a276d0, 0x01f58528, 0x00349357, 0x026cc8ab, 0x003baacb}}, Y: Field{[10]uint32{0x002649da, 0x002649f2, 0x022cc017, 0x01d100a0, 0x00523a7f, 0x03d7b7c5, 0x03e25030, 0x00ca35ca, 0x01ed65d3, 0x00181f10}}}, + {X: Field{[10]uint32{0x03db942a, 0x00d5c16c, 0x035376d9, 0x0346b69a, 0x03b7cb5e, 0x017ecc6d, 0x029a9d6c, 0x0071c0d1, 0x02ffb216, 0x002557fb}}, Y: Field{[10]uint32{0x01c0864b, 0x0123b905, 0x035a3fdf, 0x0029a0b2, 0x01283fcd, 0x029c4016, 0x039c9846, 0x030d081d, 0x0248a561, 0x002a4656}}}, + {X: Field{[10]uint32{0x00cd85a7, 0x03396b37, 0x025c9d44, 0x0376a606, 0x034db23b, 0x0336b0db, 0x008f5411, 0x03ba7b4f, 0x012d70d2, 0x00086693}}, Y: Field{[10]uint32{0x00ef53b4, 0x01593d71, 0x008e470a, 0x02a4171b, 0x013dbfdd, 0x03193df7, 0x0284aef2, 0x023b05c4, 0x01684300, 0x0019d106}}}, + {X: Field{[10]uint32{0x011ddb23, 0x010a5cbe, 0x028a5ed5, 0x01c5c8b8, 0x020d5945, 0x020b040d, 0x02f5cbd2, 0x02c584b8, 0x010d7794, 0x00125d8a}}, Y: Field{[10]uint32{0x0217ebc4, 0x001185b3, 0x03aec790, 0x00915bd5, 0x0023571c, 0x011b7144, 0x008354b4, 0x015954bf, 0x01f160fc, 0x00133f65}}}, + {X: Field{[10]uint32{0x0072b1c1, 0x0135c8ac, 0x00a4b5c4, 0x02cf0535, 0x021866e0, 0x0267d59d, 0x03b99ed5, 0x02b476ee, 0x03e0268e, 0x0011cb54}}, Y: Field{[10]uint32{0x02831232, 0x01a4fb30, 0x02db8e31, 0x00afb190, 0x01e4dfe8, 0x03659ee2, 0x02d42e31, 0x035352a3, 0x00096115, 0x003a6e70}}}, + {X: Field{[10]uint32{0x00ab18ef, 0x00c9ed1c, 0x01d50da3, 0x03ef0375, 0x003f3462, 0x0169b86c, 0x0075d617, 0x02e572be, 0x037e7a4d, 0x000a9bd6}}, Y: Field{[10]uint32{0x0259d506, 0x039f80e1, 0x033479ad, 0x013a8bcd, 0x02c9f372, 0x002c04f3, 0x01f5b78f, 0x037065f6, 0x03a392aa, 0x00246c91}}}, + {X: Field{[10]uint32{0x03146c19, 0x03e71148, 0x025ba17d, 0x00ae7441, 0x007431a6, 0x0383230f, 0x025e654f, 0x03606ed7, 0x01a3bf48, 0x00370605}}, Y: Field{[10]uint32{0x0194be8f, 0x02f7cbf5, 0x00f36d0f, 0x03dec232, 0x02d837c5, 0x01d1fbfe, 0x03e2af74, 0x0143c391, 0x029a3115, 0x003f881c}}}, + {X: Field{[10]uint32{0x00397776, 0x002db9a6, 0x03c4f1df, 0x033cf9a2, 0x00a8b47e, 0x000ffee6, 0x0295db4f, 0x03bae25e, 0x03ecad8f, 0x00239e54}}, Y: Field{[10]uint32{0x0141ac5d, 0x02c58df0, 0x01157893, 0x03f36aed, 0x0212f7c6, 0x007cc518, 0x0040a395, 0x0073109b, 0x02ef81b2, 0x00176b7c}}}, + {X: Field{[10]uint32{0x019b41a5, 0x03913304, 0x02a7472e, 0x0015b999, 0x01faf96a, 0x019a1b22, 0x0099fe1c, 0x01c92e7a, 0x026b49d5, 0x00293647}}, Y: Field{[10]uint32{0x020a4893, 0x03a77865, 0x0247414a, 0x00aae9cb, 0x02fef10b, 0x02f73f09, 0x02bb820c, 0x019263d6, 0x02150e29, 0x002af5a1}}}, + {X: Field{[10]uint32{0x0300eee9, 0x025210da, 0x0141dd02, 0x008ab2b8, 0x02754c49, 0x02383910, 0x0266dd60, 0x009ae74e, 0x01a4f3e4, 0x002e5c20}}, Y: Field{[10]uint32{0x00f153da, 0x007b5b2e, 0x024f1ea6, 0x01de38a2, 0x022c8c2f, 0x005542c4, 0x029cb641, 0x012ed2ea, 0x00839921, 0x001563db}}}, + {X: Field{[10]uint32{0x03825848, 0x00d0843e, 0x0225ea8c, 0x029ad8d2, 0x00b873a5, 0x01904b15, 0x0273c6ef, 0x026f39c2, 0x02ed8227, 0x001a20ad}}, Y: Field{[10]uint32{0x03f21b3b, 0x027852e7, 0x035aed6b, 0x002487ca, 0x031e3a3b, 0x01a27a28, 0x0279c616, 0x00f8e4ba, 0x02e9c823, 0x0031bf7b}}}, + {X: Field{[10]uint32{0x00717fe8, 0x01fb8691, 0x011a462c, 0x0202b543, 0x011a0dba, 0x013f7acf, 0x03bf11fa, 0x015c272a, 0x03311c71, 0x00271509}}, Y: Field{[10]uint32{0x01f2b045, 0x010a5d74, 0x0058d7ea, 0x01c713c8, 0x00ef4b64, 0x029dfdd8, 0x006bd40c, 0x00d16311, 0x03107816, 0x002a8106}}}, + {X: Field{[10]uint32{0x000cd32c, 0x01ccc31e, 0x015d9357, 0x005c0ec6, 0x024a5ed9, 0x00ef9637, 0x038779de, 0x01704ba0, 0x01a6776b, 0x001ce853}}, Y: Field{[10]uint32{0x02d2c49c, 0x03929c1e, 0x03a78b0c, 0x01d3332c, 0x01ceb585, 0x022fcb22, 0x0067bb7e, 0x0313569d, 0x03fde98e, 0x003101a3}}}, + {X: Field{[10]uint32{0x02af91b5, 0x01b15dad, 0x038ebfdc, 0x00d7677b, 0x028748d8, 0x039b76df, 0x01e9d261, 0x01b136eb, 0x028627d2, 0x00192228}}, Y: Field{[10]uint32{0x016d8ff3, 0x01806f4f, 0x02697b5c, 0x025416b6, 0x033c7f06, 0x0116ec1f, 0x030916a9, 0x0046462b, 0x01f0b050, 0x0009fe2c}}}, + {X: Field{[10]uint32{0x0151046c, 0x02753414, 0x0371bd8c, 0x023865e3, 0x02cca1d3, 0x01f73ef3, 0x01ee2ef4, 0x0132636e, 0x027a5b54, 0x0025951b}}, Y: Field{[10]uint32{0x01f4309d, 0x018329c1, 0x0189e841, 0x01cac984, 0x023b10f7, 0x00257260, 0x00f07d22, 0x03b3fc88, 0x032f8fe9, 0x003413f8}}}, + {X: Field{[10]uint32{0x00fecdf8, 0x0118fb63, 0x00066761, 0x01b20b4a, 0x01e76998, 0x01c808bb, 0x02cdb909, 0x02c50e80, 0x03564598, 0x002e811b}}, Y: Field{[10]uint32{0x0227250f, 0x000c8c8f, 0x01d68536, 0x00341de3, 0x023e57bc, 0x034f676a, 0x007d37c0, 0x015f0550, 0x03abd424, 0x003f1b88}}}, + {X: Field{[10]uint32{0x02d0e4ec, 0x02e02bd6, 0x027df310, 0x01fec4f2, 0x005e7655, 0x021aa081, 0x02d82ed0, 0x0329f77d, 0x0351e633, 0x000e5551}}, Y: Field{[10]uint32{0x006d3b1c, 0x021ac0a8, 0x03b4f894, 0x00f0bee6, 0x03cdb2ba, 0x03ea8fd9, 0x03df5e95, 0x03c83a5d, 0x0284f040, 0x002915ae}}}, + {X: Field{[10]uint32{0x009c22aa, 0x029a2926, 0x0317cd46, 0x035c0386, 0x01ba56b8, 0x00411b0f, 0x016c9241, 0x027f5c36, 0x00e75fef, 0x00317d54}}, Y: Field{[10]uint32{0x03ac3fa9, 0x030d8d89, 0x02cc2173, 0x010b723c, 0x038d65ea, 0x03b9f43e, 0x02a987ac, 0x02d85d55, 0x02e03aea, 0x00152160}}}, + {X: Field{[10]uint32{0x025fa050, 0x026ab35b, 0x0327eb99, 0x01d5e6c9, 0x0326d4ba, 0x03818e90, 0x000b2a0e, 0x0236ce6a, 0x0210a48d, 0x000b3305}}, Y: Field{[10]uint32{0x00348c84, 0x00fe5ffe, 0x02b70a07, 0x01a524a3, 0x03fa205d, 0x01e79610, 0x01cb17b1, 0x0000b023, 0x03db2114, 0x00379b75}}}, + {X: Field{[10]uint32{0x03084b3f, 0x0227843d, 0x012c5add, 0x03e3f9ba, 0x003ae59c, 0x03639919, 0x00089ff2, 0x00721079, 0x00e73e94, 0x0024ec1f}}, Y: Field{[10]uint32{0x0018fa63, 0x02a03910, 0x03634cb5, 0x03fb8634, 0x02533efc, 0x018a686b, 0x02c362d3, 0x0099f953, 0x0076c5a7, 0x00029b01}}}, + {X: Field{[10]uint32{0x0291e7e9, 0x03015996, 0x03a3e438, 0x001d872e, 0x02b0ec27, 0x01a166c5, 0x03aeec82, 0x0119e578, 0x01f055c1, 0x00114f00}}, Y: Field{[10]uint32{0x016766b2, 0x016f1269, 0x033d9874, 0x026794b9, 0x030e14ac, 0x00221096, 0x03738436, 0x032288bb, 0x02c9b9d3, 0x003ca3ab}}}, + {X: Field{[10]uint32{0x000f12f1, 0x0359197a, 0x027946f8, 0x013012a5, 0x00c1d09a, 0x0055656e, 0x02148fad, 0x0230a282, 0x01fdac07, 0x000f1b7c}}, Y: Field{[10]uint32{0x02a5b58d, 0x033c99e0, 0x0354f6df, 0x01700542, 0x02d443db, 0x039fb4a4, 0x02a68212, 0x004d2e81, 0x004d4eaa, 0x0011866a}}}, + {X: Field{[10]uint32{0x01b98630, 0x033160c4, 0x02fd600d, 0x03e49c17, 0x03f12054, 0x0240836f, 0x01429895, 0x025e14c1, 0x01683995, 0x0006dfda}}, Y: Field{[10]uint32{0x00645c25, 0x03670803, 0x00a37372, 0x00574305, 0x0067ee9e, 0x0223b1bc, 0x01731c9b, 0x03ea33ef, 0x023ee3e8, 0x0009e771}}}, + {X: Field{[10]uint32{0x03fccc19, 0x03610bef, 0x0300697a, 0x03da7340, 0x006256f2, 0x013489db, 0x010a6427, 0x0342e66e, 0x01539d49, 0x00386dee}}, Y: Field{[10]uint32{0x01f9500f, 0x03763435, 0x03316fd0, 0x036c9fe4, 0x00f2acfe, 0x027a054d, 0x004628b1, 0x0195a614, 0x016f51dc, 0x000ac8ee}}}, + {X: Field{[10]uint32{0x0354f911, 0x0205f22b, 0x012bf4bc, 0x017e9588, 0x039ce552, 0x02a5d193, 0x015f79bb, 0x0108cd2f, 0x00c56fbf, 0x0010133c}}, Y: Field{[10]uint32{0x031ef662, 0x00b29907, 0x03c0f2e2, 0x02d5e625, 0x02023c04, 0x0178d95e, 0x021a6e07, 0x00162171, 0x02098830, 0x002d6481}}}, + {X: Field{[10]uint32{0x00aae0c1, 0x038bb243, 0x0171f43f, 0x03b05faa, 0x00e7819a, 0x00268d10, 0x02e817fa, 0x01af63bf, 0x0186da62, 0x0010fc76}}, Y: Field{[10]uint32{0x0274f9ad, 0x028802ca, 0x03583e51, 0x00e0acea, 0x033e93f4, 0x005d45e7, 0x0011f518, 0x0246ab4a, 0x02ce0ce8, 0x00317e96}}}, + {X: Field{[10]uint32{0x005b9c1f, 0x03b2bd83, 0x028fcd23, 0x03a2d9fb, 0x027bbcaa, 0x02dd8844, 0x02183b81, 0x0265445a, 0x01c6b320, 0x00286211}}, Y: Field{[10]uint32{0x03ef1f44, 0x030a546e, 0x03b02dfc, 0x03c573ae, 0x038f54e7, 0x020619c6, 0x03c5350e, 0x01f9acb3, 0x01d9d7e0, 0x002603b5}}}, + {X: Field{[10]uint32{0x03ac01ed, 0x00124839, 0x015aa2a3, 0x02b7009b, 0x00254c38, 0x000f24a7, 0x01cc17be, 0x02609181, 0x03eb0af9, 0x00013671}}, Y: Field{[10]uint32{0x03e781d3, 0x01070654, 0x031c970d, 0x02e67ea6, 0x0097065b, 0x00cd83dd, 0x033cf00f, 0x03394c89, 0x0335bb0d, 0x00319316}}}, + {X: Field{[10]uint32{0x03e7c25d, 0x03ab7225, 0x00814eda, 0x03dc1319, 0x0155953e, 0x03a2a981, 0x01317833, 0x036c26f3, 0x02f2fbc3, 0x00386348}}, Y: Field{[10]uint32{0x03c7e07e, 0x03ca88bb, 0x00b5953e, 0x02ca15c0, 0x000f15b8, 0x032aa1c0, 0x037989df, 0x0081c893, 0x02817115, 0x00330962}}}, + {X: Field{[10]uint32{0x0247879d, 0x02f6f94a, 0x03d5a3c8, 0x029e6f0d, 0x0035083a, 0x030505fa, 0x02ec9a60, 0x02413e34, 0x01f9f220, 0x0005815d}}, Y: Field{[10]uint32{0x0279a5e5, 0x0157e4d4, 0x034ce0d6, 0x012cc274, 0x012c3870, 0x0350e7fb, 0x0191c60a, 0x025e3504, 0x00a6127e, 0x000795ad}}}, + {X: Field{[10]uint32{0x0192d514, 0x0280dc94, 0x03e53f9a, 0x01aa850d, 0x034c3c9f, 0x00f14d56, 0x02b7ebdd, 0x03589935, 0x03c757b1, 0x000ed946}}, Y: Field{[10]uint32{0x00231c3f, 0x015861a0, 0x022e419e, 0x01682287, 0x025feb28, 0x03722927, 0x031d8ec5, 0x000c483f, 0x03749599, 0x0025dea1}}}, + {X: Field{[10]uint32{0x02ba532a, 0x01e6a3c5, 0x03b0cd95, 0x02587f5a, 0x02a9660e, 0x0262aca1, 0x00250154, 0x033009d8, 0x01ef56fa, 0x0024216f}}, Y: Field{[10]uint32{0x02e9fe89, 0x01443c5e, 0x013b8c55, 0x005a3dae, 0x0368364c, 0x003a039e, 0x03f791d9, 0x01567179, 0x0108a557, 0x003f4174}}}, + {X: Field{[10]uint32{0x000569ec, 0x01151239, 0x00c21fef, 0x0095db87, 0x0067cf1b, 0x007c2b3a, 0x033aab8c, 0x00e18bf4, 0x006df64a, 0x0010890c}}, Y: Field{[10]uint32{0x020661bc, 0x004f563d, 0x032498bd, 0x0257fe59, 0x0063e723, 0x016790b9, 0x0087c2dc, 0x02f0773a, 0x02675279, 0x0021d02d}}}, + {X: Field{[10]uint32{0x0022935c, 0x00f28d77, 0x009182f8, 0x0303fd68, 0x02e0e2b2, 0x02f157b9, 0x03806b35, 0x00b8c69b, 0x02974a51, 0x002dcdd9}}, Y: Field{[10]uint32{0x01420103, 0x00a820a1, 0x0046251c, 0x000e75a2, 0x01890b3e, 0x023f572f, 0x00152a24, 0x03eb7bb9, 0x00202676, 0x0034d432}}}, + {X: Field{[10]uint32{0x010eb97a, 0x01093693, 0x01574557, 0x01a32ea0, 0x02bb82e0, 0x03069d21, 0x00505ab1, 0x0353429f, 0x038ed3b5, 0x001cee93}}, Y: Field{[10]uint32{0x02188271, 0x0292ff89, 0x01215adc, 0x026dc950, 0x013a58ba, 0x0218f4fe, 0x01b4a2d0, 0x030d8152, 0x0114552d, 0x0024ebce}}}, + {X: Field{[10]uint32{0x03d3d8ea, 0x012f80db, 0x01bef052, 0x0101af38, 0x020ae935, 0x01a52c14, 0x00576c45, 0x0093663c, 0x014e1747, 0x000a1680}}, Y: Field{[10]uint32{0x029af7dc, 0x00f9f21a, 0x028cab39, 0x01965a33, 0x039d4067, 0x0247536d, 0x03f5213f, 0x01dd5f9b, 0x01d8d2ce, 0x001bf6b4}}}, + {X: Field{[10]uint32{0x028e768f, 0x021a77b0, 0x01180963, 0x01e3b283, 0x0384c2fd, 0x01be302a, 0x025cea7c, 0x02d52e8a, 0x01d727bf, 0x002c24d3}}, Y: Field{[10]uint32{0x00b982c6, 0x01c2763c, 0x031bf2bc, 0x03df4535, 0x03484c94, 0x036c2644, 0x02bbb26e, 0x027cc52f, 0x01115602, 0x00372bc3}}}, + {X: Field{[10]uint32{0x03681561, 0x032303d6, 0x0365ec45, 0x033cd5ee, 0x02ffcb49, 0x03bc5742, 0x011c8bcc, 0x02a772dd, 0x02dd8b69, 0x000ed89e}}, Y: Field{[10]uint32{0x0046d19d, 0x00a5bf37, 0x015e1536, 0x02ee9dc8, 0x03693cd2, 0x0349f3fd, 0x02133649, 0x0202dcb6, 0x018009e3, 0x0002f686}}}, + {X: Field{[10]uint32{0x02cb5ac2, 0x00a8da54, 0x027c90a6, 0x01d9722a, 0x02e45938, 0x011d9b6a, 0x012e3f9a, 0x02277e81, 0x01ec1f22, 0x001f923f}}, Y: Field{[10]uint32{0x018cb5f2, 0x00e12e6f, 0x039ac61e, 0x023984a4, 0x0168449b, 0x02fb6d27, 0x021e10c5, 0x01a2159b, 0x007aac11, 0x003a1ebe}}}, + {X: Field{[10]uint32{0x023ffd9d, 0x03390f89, 0x0008b181, 0x02432a84, 0x00d094d8, 0x03bb0b90, 0x022c267f, 0x00eeeada, 0x008a5de3, 0x00100c7c}}, Y: Field{[10]uint32{0x01b0be07, 0x026dfc14, 0x006b58a7, 0x038c46e5, 0x01a8f23b, 0x0077fbd1, 0x0389beb9, 0x0297c269, 0x03d99737, 0x0033f713}}}, + {X: Field{[10]uint32{0x031ed764, 0x001fafe4, 0x00b1dd54, 0x00b1ee40, 0x00ec00a2, 0x03510730, 0x02e656f4, 0x036ed6fd, 0x037c61dd, 0x002e994a}}, Y: Field{[10]uint32{0x00029556, 0x011341c0, 0x00088a3b, 0x02566964, 0x001d2070, 0x00f19f80, 0x030b5d8d, 0x02055a8c, 0x0392d122, 0x0021ff2c}}}, + {X: Field{[10]uint32{0x0190e72d, 0x0307b419, 0x03b1bffd, 0x02e6e834, 0x0362c967, 0x03630c3c, 0x03dd95d2, 0x01d94eb1, 0x0172d101, 0x003ee4d9}}, Y: Field{[10]uint32{0x0036d8ed, 0x01e62092, 0x00587b08, 0x0119ad29, 0x02940382, 0x02562f8b, 0x03799659, 0x01a8c429, 0x03afdb6b, 0x002b7e8d}}}, + {X: Field{[10]uint32{0x003bae7b, 0x02621c2c, 0x01148991, 0x00a065a1, 0x01b97ff3, 0x021844a7, 0x006fdb78, 0x00214bdf, 0x03cb5e7c, 0x000a511c}}, Y: Field{[10]uint32{0x0190c86a, 0x03bb0e1f, 0x03617246, 0x0169b1d9, 0x0078463e, 0x02f56d28, 0x0209f951, 0x0219e9e2, 0x0136f991, 0x002f6415}}}, + {X: Field{[10]uint32{0x01bc574e, 0x01b21cf1, 0x00c0944a, 0x0231b4e9, 0x007687dc, 0x01a0edd3, 0x0337ced1, 0x00cff645, 0x004f73a6, 0x000bf03d}}, Y: Field{[10]uint32{0x0122ad1f, 0x001cd507, 0x0118415e, 0x01426914, 0x03ac572f, 0x02b8dcfa, 0x01499912, 0x018fe53a, 0x00eeffa0, 0x000a645f}}}, + {X: Field{[10]uint32{0x016d569e, 0x03009444, 0x00c40b9a, 0x03720eee, 0x018da210, 0x023b628c, 0x01d34f2c, 0x0169fbd6, 0x0251882c, 0x002047ec}}, Y: Field{[10]uint32{0x00a0c55d, 0x02464636, 0x00c00ad2, 0x001c170f, 0x02d480e4, 0x0250379a, 0x0204ad3f, 0x016be93b, 0x01472cb5, 0x001d37d9}}}, + {X: Field{[10]uint32{0x03fc5d07, 0x01f9852d, 0x0057ba9e, 0x03160bf7, 0x03c47996, 0x03539f94, 0x0051894a, 0x033c247d, 0x017cc1d6, 0x00116a78}}, Y: Field{[10]uint32{0x03069be1, 0x0072ab5e, 0x01bbb16d, 0x01b70dff, 0x034e1919, 0x02260cad, 0x02d19200, 0x0187d7ec, 0x004f0026, 0x00145a77}}}, + {X: Field{[10]uint32{0x01588e67, 0x03426bad, 0x00102645, 0x00e2de30, 0x00abd065, 0x02d71ef5, 0x003d96aa, 0x029eb51d, 0x03fc45cd, 0x00355dfd}}, Y: Field{[10]uint32{0x003be07a, 0x001c4a0c, 0x0125e521, 0x00b0c2ff, 0x02765e2c, 0x0231e33a, 0x011db618, 0x015f7f3b, 0x03717ea2, 0x001545ca}}}, + {X: Field{[10]uint32{0x0306e44f, 0x03846c66, 0x019c0650, 0x022ddde9, 0x024fb22d, 0x012c33bf, 0x0371e08d, 0x02a9b8e6, 0x02958098, 0x002990a6}}, Y: Field{[10]uint32{0x007dd2ed, 0x02992c65, 0x027dcf6a, 0x0097cb0e, 0x0336ab18, 0x0218902a, 0x00440f57, 0x0015772b, 0x02625587, 0x002bd253}}}, + {X: Field{[10]uint32{0x039a743d, 0x025a59e8, 0x00679073, 0x01e98f88, 0x0050bca3, 0x03d1e3ba, 0x00b1c80c, 0x0052d096, 0x0304b893, 0x0003ddf0}}, Y: Field{[10]uint32{0x01c1c7ee, 0x0218dfe3, 0x02c727e7, 0x00515638, 0x011c32f4, 0x003d03c6, 0x00452136, 0x0052f982, 0x017629d9, 0x003121e8}}}, + {X: Field{[10]uint32{0x02d1c988, 0x01985965, 0x01f5def7, 0x00bfecbe, 0x02cd76ea, 0x007b7b7a, 0x03f0a82e, 0x00491dc7, 0x02f61598, 0x001071bc}}, Y: Field{[10]uint32{0x01accb68, 0x02d4aa41, 0x031d3407, 0x0039176f, 0x02364277, 0x026da1f1, 0x039ed4ff, 0x00681d7f, 0x0144146c, 0x0016283d}}}, + {X: Field{[10]uint32{0x02b968d0, 0x019bb4cb, 0x01916cdf, 0x035c7f6d, 0x037ac2d2, 0x015d978f, 0x02aaacb3, 0x00debc27, 0x02c8c13d, 0x00321c93}}, Y: Field{[10]uint32{0x00d81221, 0x03495791, 0x029895ec, 0x03b69e18, 0x026ade66, 0x00af669b, 0x014bbf24, 0x00f9b79f, 0x03214210, 0x001c3b3d}}}, + {X: Field{[10]uint32{0x031fbbf2, 0x02ea7cff, 0x00650653, 0x012b81c3, 0x023b139e, 0x01d7ead9, 0x02204a2b, 0x0238daf8, 0x00460dd5, 0x0038a223}}, Y: Field{[10]uint32{0x0342509e, 0x00acd4c8, 0x0108c331, 0x02625488, 0x01bc1584, 0x0082f580, 0x01888797, 0x00ee2adf, 0x00dae139, 0x001c5644}}}, + {X: Field{[10]uint32{0x02d834dd, 0x02b0dbd9, 0x01ec1c14, 0x00d847aa, 0x01f56cf7, 0x02a99be6, 0x01999c9a, 0x0202e1ad, 0x0384d72d, 0x003c7d30}}, Y: Field{[10]uint32{0x00cc7e3f, 0x039cdd49, 0x03c44835, 0x0229a5ac, 0x02219838, 0x0326a9e1, 0x038527a3, 0x010b23ae, 0x03c24801, 0x002d550e}}}, + {X: Field{[10]uint32{0x01940a5b, 0x0204ad0c, 0x01e73f61, 0x0298d067, 0x0217aec3, 0x03b75fd6, 0x028d4126, 0x02df6c1d, 0x03f5832f, 0x00121d1d}}, Y: Field{[10]uint32{0x032608a7, 0x01e35786, 0x03c54c5f, 0x0158db6d, 0x020284f5, 0x00a9b55a, 0x004e3dc3, 0x03ea62f1, 0x01de4203, 0x00240c8b}}}, + {X: Field{[10]uint32{0x00ca75af, 0x02bc0dc5, 0x0229bff8, 0x000a7f84, 0x010c55df, 0x02cfba7d, 0x00f957e0, 0x019f892e, 0x023a5831, 0x0029c9a5}}, Y: Field{[10]uint32{0x008f7449, 0x01945b70, 0x0232d99f, 0x00954e96, 0x034a6369, 0x02d9507f, 0x0154d156, 0x00a70204, 0x0184d689, 0x0023f5ea}}}, + {X: Field{[10]uint32{0x0399e97c, 0x00ab16e2, 0x03033876, 0x030b8804, 0x00baa763, 0x01a669a3, 0x013a231e, 0x03ac7276, 0x01b4cf80, 0x00353083}}, Y: Field{[10]uint32{0x00eca01f, 0x031be7db, 0x0287a426, 0x00381624, 0x01f5abc5, 0x0246428d, 0x02a20713, 0x02943212, 0x03ba2555, 0x002e871d}}}, + {X: Field{[10]uint32{0x02748168, 0x027bf88e, 0x03afafa5, 0x0076b15b, 0x025159ba, 0x036343cd, 0x01b5a55a, 0x01c0aefb, 0x005389ae, 0x0001f3e7}}, Y: Field{[10]uint32{0x032336b8, 0x00e140ad, 0x0296f6ec, 0x0029ba90, 0x03489bee, 0x00c4d23b, 0x00ec347c, 0x01eef28b, 0x0324338c, 0x003b38ec}}}, + {X: Field{[10]uint32{0x00b73e55, 0x009506d1, 0x02f49699, 0x00ced36e, 0x03eec928, 0x00c9a01b, 0x039f9c30, 0x0352bce5, 0x00e3c1eb, 0x00248042}}, Y: Field{[10]uint32{0x01f466fc, 0x00b88025, 0x01395ba9, 0x01e1493d, 0x016cf8f4, 0x02e92399, 0x003f348e, 0x03120d3c, 0x0133d8ad, 0x000f88ac}}}, + {X: Field{[10]uint32{0x02479e90, 0x02da7109, 0x02a8a4fe, 0x00e12559, 0x03fc7605, 0x02b4ca94, 0x03613372, 0x021d8a6c, 0x038a98c4, 0x000559ab}}, Y: Field{[10]uint32{0x02997796, 0x02a145b6, 0x03926dab, 0x02ebacfd, 0x030da5d3, 0x00bf871e, 0x017db986, 0x00af931e, 0x01664bd7, 0x000a1231}}}, + {X: Field{[10]uint32{0x0361723c, 0x01daaf2b, 0x03044c0f, 0x02f89c7b, 0x01d2f6d9, 0x00ac2a2c, 0x017a7041, 0x0233af1f, 0x027102eb, 0x002936d7}}, Y: Field{[10]uint32{0x002e8ca4, 0x023232b1, 0x036a5695, 0x00abcae7, 0x03272f5f, 0x01ea501e, 0x004bc0a2, 0x00f777d8, 0x02e075a7, 0x00198f85}}}, + {X: Field{[10]uint32{0x0153e5fb, 0x00ef29e3, 0x00c13849, 0x01dd81de, 0x0333d90e, 0x031e73c6, 0x025d1106, 0x02e3e418, 0x03538bbd, 0x00343273}}, Y: Field{[10]uint32{0x021d9a60, 0x01e418e2, 0x01bd9683, 0x02201f70, 0x009975ad, 0x02e2f4c3, 0x00a21250, 0x03501f30, 0x020e8b9f, 0x002dbb33}}}, + {X: Field{[10]uint32{0x03d8391f, 0x01f39e3f, 0x0204ce65, 0x0051538e, 0x014a58d5, 0x033ce8e2, 0x0196d67b, 0x015ef5c1, 0x0292480f, 0x001d97ee}}, Y: Field{[10]uint32{0x0218302f, 0x03b24087, 0x023dbaf6, 0x02f57ceb, 0x0050879b, 0x03d06ad3, 0x03b552e3, 0x00d43968, 0x03ba1035, 0x00172c76}}}, + {X: Field{[10]uint32{0x03fb4a5e, 0x007b9be2, 0x025032c5, 0x02396bd2, 0x009bd3f8, 0x022d94be, 0x02a7b9b6, 0x01c0ad2a, 0x01e8e846, 0x0027e76a}}, Y: Field{[10]uint32{0x0296a0f6, 0x028b5fd5, 0x0284dedf, 0x02374b01, 0x021d8da0, 0x001a22b2, 0x017320ca, 0x005ec3ac, 0x019d7ecf, 0x00176f52}}}, + {X: Field{[10]uint32{0x03fdd3f4, 0x02480884, 0x025bfb11, 0x0272d196, 0x00ad949c, 0x006bbd7c, 0x03b1a166, 0x02252dcb, 0x003bdb95, 0x002be1b2}}, Y: Field{[10]uint32{0x0399e117, 0x03cf04b5, 0x00e55123, 0x02e6c6e2, 0x03004a7b, 0x0310709b, 0x03d2b25c, 0x00046580, 0x027d5541, 0x003b01a0}}}, + {X: Field{[10]uint32{0x01587e77, 0x03e8d43f, 0x0309cd94, 0x02c8b32e, 0x0364c8e3, 0x0202f8ce, 0x032b3fcc, 0x02f2341d, 0x01932fcc, 0x003eed22}}, Y: Field{[10]uint32{0x00c0b858, 0x0046db36, 0x03e04811, 0x035095ee, 0x0258598a, 0x00d01d69, 0x0051abd6, 0x00cf6acd, 0x01242793, 0x0003e737}}}, + {X: Field{[10]uint32{0x02d60684, 0x03b7079f, 0x0269bae6, 0x03e242a4, 0x00621f36, 0x00ab7270, 0x0315ecae, 0x030abd8a, 0x01a3ad97, 0x00103b2c}}, Y: Field{[10]uint32{0x0158b32e, 0x02a8014d, 0x005f288d, 0x02cfb661, 0x019a41f4, 0x008c07ee, 0x00e3e2b3, 0x0185f648, 0x0194fa3a, 0x003fe7b0}}}, + {X: Field{[10]uint32{0x00878f52, 0x01802706, 0x03691973, 0x00c31f4e, 0x0339873c, 0x03f808e3, 0x03d9014b, 0x00ad0bf2, 0x02f10c76, 0x000c7e24}}, Y: Field{[10]uint32{0x01718c95, 0x00d9cd25, 0x03ff7be5, 0x02e3df53, 0x015cd610, 0x03dae4b0, 0x0131066e, 0x01cd154c, 0x0005f31f, 0x00366f54}}}, + {X: Field{[10]uint32{0x00886c5c, 0x025bf209, 0x028f31c6, 0x024e32ad, 0x03921f81, 0x0175dce7, 0x014d150c, 0x001478b6, 0x0129e9f6, 0x002e8489}}, Y: Field{[10]uint32{0x016b1ed1, 0x01c926a1, 0x03c20d9c, 0x02730e5a, 0x007c0285, 0x01eb2708, 0x00577d33, 0x0354e46c, 0x031f7e9b, 0x0030cf01}}}, + {X: Field{[10]uint32{0x0124cf03, 0x030857ca, 0x018c5030, 0x024f5605, 0x03ef45d9, 0x02e68098, 0x013ecbc5, 0x034c4726, 0x00129a26, 0x000d4c59}}, Y: Field{[10]uint32{0x023a9742, 0x031b4d5e, 0x00e3f6a9, 0x01be460d, 0x03f92ef0, 0x016d8e16, 0x023e2d9c, 0x008eee73, 0x00d95216, 0x0021a988}}}, + {X: Field{[10]uint32{0x02c8e462, 0x00628854, 0x033ebf97, 0x02b1e146, 0x004a4aa7, 0x013b1fe7, 0x02ce92ca, 0x012a98d7, 0x030be413, 0x000c091d}}, Y: Field{[10]uint32{0x03c8c8ee, 0x03ac143f, 0x01225bbc, 0x02abe063, 0x00ab3f8f, 0x039ce139, 0x01c1579c, 0x01ebf85b, 0x03bd7214, 0x0007f3eb}}}, + {X: Field{[10]uint32{0x03da6564, 0x0340721a, 0x0071a672, 0x02993742, 0x02533c1b, 0x02507638, 0x02dbf169, 0x03a1b16d, 0x013da40e, 0x003d6e8c}}, Y: Field{[10]uint32{0x0000647d, 0x012eeb6e, 0x018c7294, 0x02090dfd, 0x018f9652, 0x01555d92, 0x02e95ec1, 0x01e41f25, 0x010db969, 0x000042a4}}}, + {X: Field{[10]uint32{0x0264e2f1, 0x02d6715c, 0x018ebb33, 0x00f84cb0, 0x00e485a2, 0x00632546, 0x037f426b, 0x033414d3, 0x03e2972c, 0x001a1785}}, Y: Field{[10]uint32{0x01f291c6, 0x000513ae, 0x03a0cb93, 0x00b77a83, 0x03470fd4, 0x00455b6b, 0x03a3f475, 0x02ab069d, 0x0338be84, 0x00259516}}}, + {X: Field{[10]uint32{0x03f119eb, 0x03d97466, 0x028e0504, 0x03718749, 0x01fdd481, 0x03a4701f, 0x01e1bca7, 0x02608a96, 0x01fdfacc, 0x003804a1}}, Y: Field{[10]uint32{0x01c39909, 0x01f5b967, 0x010630f7, 0x01790719, 0x0140bf5b, 0x01c80ae6, 0x003615ba, 0x036aebbe, 0x013a2479, 0x002ba085}}}, + {X: Field{[10]uint32{0x01839601, 0x00872c15, 0x03220b54, 0x024dd8d7, 0x0093798a, 0x024c8079, 0x00d67200, 0x0043b1e1, 0x01863277, 0x00318791}}, Y: Field{[10]uint32{0x006c04ea, 0x02e32c9d, 0x0026dcde, 0x03c5d0cf, 0x025d42fc, 0x02e95572, 0x023e0163, 0x01939e87, 0x03f5aa5b, 0x0039187e}}}, + {X: Field{[10]uint32{0x03d192d4, 0x01f597c7, 0x01af3be8, 0x00d2400a, 0x013106fc, 0x004ed876, 0x00d8ca25, 0x0242db89, 0x02cb4e58, 0x0007109e}}, Y: Field{[10]uint32{0x02cf29d0, 0x03b0310d, 0x023e9c9c, 0x0357ba2b, 0x0184935a, 0x030d0c28, 0x0304fa6e, 0x014a2e6e, 0x00251518, 0x000765b8}}}, + {X: Field{[10]uint32{0x012fd8e7, 0x037dbc7c, 0x02f54431, 0x0066d660, 0x005a9326, 0x01f51c2e, 0x02ddb3ba, 0x0225ed2d, 0x03fd6d51, 0x001795de}}, Y: Field{[10]uint32{0x011c6eb4, 0x03535e48, 0x01ff9203, 0x01131eb4, 0x00123cb0, 0x02969ff4, 0x0036e908, 0x030674ea, 0x02929734, 0x0030685c}}}, + {X: Field{[10]uint32{0x00237b30, 0x00ed028a, 0x028a6817, 0x01d9b4fa, 0x02adc6ae, 0x03ef2b7c, 0x03aefc8d, 0x022902eb, 0x03331f96, 0x00331e2c}}, Y: Field{[10]uint32{0x01857d42, 0x02c29011, 0x038aa14e, 0x01f250db, 0x00dfc2ce, 0x0048e32d, 0x01ef04b4, 0x0301a3fc, 0x01b20a5b, 0x0016dda4}}}, + {X: Field{[10]uint32{0x00919fb6, 0x020c293b, 0x0016a0b1, 0x00aa56b7, 0x02c44537, 0x02bcfb3a, 0x01dc288f, 0x0113ca79, 0x0037487b, 0x000e1571}}, Y: Field{[10]uint32{0x009359d2, 0x00a1f20a, 0x0151911c, 0x03d7868e, 0x01ed1949, 0x0022f6f5, 0x03bcd5b3, 0x03e8a153, 0x029a48cb, 0x0037cb87}}}, + {X: Field{[10]uint32{0x01d16b19, 0x016119ae, 0x03c928f1, 0x0086df79, 0x00dc62cb, 0x01f6cf5b, 0x03fcf6b9, 0x00d5bf17, 0x03b40a83, 0x0030148c}}, Y: Field{[10]uint32{0x0254f500, 0x038efde7, 0x0327525e, 0x03d4588c, 0x00956616, 0x007a3795, 0x020eac65, 0x02211cfe, 0x02390ce7, 0x0002c6f6}}}, + {X: Field{[10]uint32{0x019dfffb, 0x039f7b02, 0x0010b455, 0x00799586, 0x010b736c, 0x02407cd5, 0x02000245, 0x009a9f66, 0x013cf342, 0x001b0193}}, Y: Field{[10]uint32{0x009eb9a7, 0x02093358, 0x002e9925, 0x01dca349, 0x02aa5444, 0x0071710b, 0x00f8fd2a, 0x030687e0, 0x0042d25e, 0x00058365}}}, + {X: Field{[10]uint32{0x03714cf2, 0x01eea762, 0x01009bf3, 0x01c91e27, 0x01b3e207, 0x00379a9f, 0x021a93a0, 0x006a946d, 0x038970bb, 0x0025963a}}, Y: Field{[10]uint32{0x02c51cc2, 0x00c07aa4, 0x01ff7a58, 0x012665f5, 0x0096be89, 0x01036278, 0x021a903f, 0x023e2de0, 0x00aff7da, 0x003352e9}}}, + {X: Field{[10]uint32{0x03b4f0c8, 0x039fa992, 0x031b87a3, 0x01a69c70, 0x035cf1f9, 0x00fe65bd, 0x032b0c4c, 0x01bdc247, 0x0110a554, 0x001b808e}}, Y: Field{[10]uint32{0x00c459c5, 0x026b76cd, 0x0358999b, 0x00d99470, 0x007faa9b, 0x0362486e, 0x02d8cfc7, 0x01cd3767, 0x01d790ec, 0x003dbb59}}}, + {X: Field{[10]uint32{0x00c7ff6e, 0x023e2655, 0x03a141e6, 0x006f5831, 0x03926290, 0x00cc14df, 0x003528e0, 0x001267e4, 0x0098e970, 0x000e8d6b}}, Y: Field{[10]uint32{0x032069ed, 0x00e36865, 0x00eb6c4d, 0x03e29d91, 0x001f247f, 0x03b68e09, 0x014ac0c9, 0x0070c14e, 0x0116da63, 0x00244f65}}}, + {X: Field{[10]uint32{0x036af212, 0x014395c1, 0x023db073, 0x01bc925d, 0x022317c6, 0x02c6522f, 0x036def30, 0x02a916a2, 0x025115df, 0x0034227e}}, Y: Field{[10]uint32{0x00a6da9c, 0x03f720c6, 0x00f6ab12, 0x02b12864, 0x03a18e5d, 0x00ffe844, 0x025120cf, 0x03eb11de, 0x0173f326, 0x00139aba}}}, + {X: Field{[10]uint32{0x018cf2ef, 0x02ecb083, 0x036ab045, 0x0357de42, 0x005b9cd9, 0x00f654c7, 0x00ea0f23, 0x00aad1d2, 0x012f2aa6, 0x0039ccf1}}, Y: Field{[10]uint32{0x0182a291, 0x00377c75, 0x02d89fb8, 0x0215c314, 0x0336ac48, 0x035ffdd4, 0x0323ab28, 0x01ca4eb2, 0x01c93c67, 0x001c0455}}}, + {X: Field{[10]uint32{0x03f14c7a, 0x02bdd8f9, 0x01b9be8c, 0x002ee065, 0x021eb477, 0x00aeafe1, 0x00aa6f24, 0x01a13f99, 0x037dc006, 0x0012dbde}}, Y: Field{[10]uint32{0x0194e00d, 0x01917ac8, 0x01d5a2b0, 0x001763c8, 0x017bfaea, 0x014e8132, 0x01805d8a, 0x01eccc30, 0x0380ac75, 0x001b162d}}}, + {X: Field{[10]uint32{0x0267f79d, 0x009b97f8, 0x038b4811, 0x0308ed1d, 0x0344ff51, 0x03154b9c, 0x00d7aeb8, 0x02b02831, 0x0002cd1f, 0x0006d481}}, Y: Field{[10]uint32{0x03db1a39, 0x03b0dd4d, 0x013c19e8, 0x03c424f6, 0x0030b252, 0x026b7536, 0x004ee943, 0x024c1283, 0x01005664, 0x00023b83}}}, + {X: Field{[10]uint32{0x017139b1, 0x02bcafae, 0x024f5bf9, 0x00fd0f61, 0x023400cc, 0x022a2179, 0x02da4c63, 0x03b617f0, 0x02d5d7f1, 0x00224db9}}, Y: Field{[10]uint32{0x029b402b, 0x00ac1060, 0x03c4778d, 0x005e96f5, 0x018879f2, 0x03f4c989, 0x00cdc8a6, 0x00ca8ddc, 0x0220b4b9, 0x000a604a}}}, + {X: Field{[10]uint32{0x016b518f, 0x00441172, 0x021eec4f, 0x01bd6e86, 0x01aebd39, 0x0157645c, 0x036c043a, 0x015536a8, 0x027f4813, 0x001a022b}}, Y: Field{[10]uint32{0x00425810, 0x0264e967, 0x01c2231b, 0x020df1d2, 0x00f581b9, 0x03d055d7, 0x00e85fd5, 0x0237715e, 0x026e8872, 0x001abf2b}}}, + {X: Field{[10]uint32{0x01a2cd1c, 0x01e4928d, 0x0310f236, 0x024d56a6, 0x0193e232, 0x00076002, 0x011bba76, 0x00fd9848, 0x029444c7, 0x00161b19}}, Y: Field{[10]uint32{0x025416c7, 0x0004ab3f, 0x031c8862, 0x0377bc19, 0x03873537, 0x00df2df1, 0x00f5507d, 0x028f2d02, 0x001ff6eb, 0x001d2c24}}}, + {X: Field{[10]uint32{0x03f89e11, 0x025efa07, 0x0066b078, 0x02966733, 0x020b183a, 0x02461507, 0x0388453e, 0x03c78131, 0x025ddead, 0x001e2720}}, Y: Field{[10]uint32{0x006cb5ab, 0x01e24e39, 0x0103cb8f, 0x015fffa6, 0x03e40cc3, 0x027e62a6, 0x027480b8, 0x02c4f1af, 0x026f641b, 0x002041aa}}}, + {X: Field{[10]uint32{0x01419797, 0x01f3efaa, 0x02076acd, 0x01bb8763, 0x02e52042, 0x01fd92f2, 0x00d0ddf9, 0x03ea9988, 0x00bbfd26, 0x0035eae0}}, Y: Field{[10]uint32{0x00c5a823, 0x02114de4, 0x02efbc71, 0x022e7ccb, 0x026e50a5, 0x004e7453, 0x034a85f5, 0x02c40ebb, 0x0372a6d1, 0x0009abe7}}}, + {X: Field{[10]uint32{0x02f67f7f, 0x015b4bcd, 0x033154c2, 0x00cf280a, 0x00bddf0f, 0x007af106, 0x012b311b, 0x006ae118, 0x02d44daf, 0x00063dc4}}, Y: Field{[10]uint32{0x037d25bc, 0x026f6981, 0x03ee9f2d, 0x034c8574, 0x006b06d8, 0x013fdefe, 0x033c3f43, 0x03533bb6, 0x0150f92f, 0x003102c6}}}, + {X: Field{[10]uint32{0x03e5a06e, 0x039ba9b1, 0x005b3eb9, 0x00c8877a, 0x02fc399d, 0x02662f31, 0x022a7cbf, 0x00623de3, 0x036d9f6d, 0x00221cc9}}, Y: Field{[10]uint32{0x03c9e1a6, 0x029c2079, 0x02b4e054, 0x010f012d, 0x00dac977, 0x0395985e, 0x0020a3a7, 0x02e7a3ba, 0x01378ee9, 0x000a5fa0}}}, + {X: Field{[10]uint32{0x0288e0ad, 0x00b299b1, 0x01157145, 0x019937de, 0x0030fadd, 0x037d0c73, 0x00f57cdf, 0x005faf02, 0x01015bd2, 0x000406e0}}, Y: Field{[10]uint32{0x01179e6a, 0x01cdc617, 0x01ab339b, 0x02d1b253, 0x014c7542, 0x02a3e372, 0x01816d40, 0x00e0c461, 0x032fad20, 0x003e9b06}}}, + {X: Field{[10]uint32{0x0342dd57, 0x035314df, 0x03b6cd81, 0x0328a612, 0x03abe3b3, 0x02c81c7e, 0x02520a8c, 0x00518047, 0x015776c3, 0x001decf0}}, Y: Field{[10]uint32{0x004a645a, 0x0226417f, 0x00244925, 0x017453c3, 0x00040cce, 0x010fbd6b, 0x0084c9b4, 0x0006dc70, 0x02b1dab6, 0x002342f3}}}, + {X: Field{[10]uint32{0x01daec7a, 0x01a9a83f, 0x005d3ecf, 0x0224cf20, 0x02fbe2c1, 0x02e99bc4, 0x03aca338, 0x0182dbfd, 0x015256ac, 0x000547cb}}, Y: Field{[10]uint32{0x024f62d6, 0x033a7c1d, 0x03ea674e, 0x02227355, 0x01c4833c, 0x027a508d, 0x03038d64, 0x012fe645, 0x017710cd, 0x0034aab3}}}, + {X: Field{[10]uint32{0x031d32c7, 0x028e0245, 0x011a2029, 0x0070446f, 0x00950881, 0x012d1b7e, 0x0338dbe2, 0x0105ed18, 0x0327f41e, 0x00375d73}}, Y: Field{[10]uint32{0x01b67be5, 0x00c88906, 0x013dd46c, 0x003363ed, 0x00ee2217, 0x0324761b, 0x0303c33c, 0x026e012a, 0x0055a338, 0x0038ca2e}}}, + {X: Field{[10]uint32{0x011d7a83, 0x035fbb9e, 0x0028a494, 0x01d8cd6d, 0x026a3f6b, 0x03d986c7, 0x02366ab3, 0x03671277, 0x03ebbdd1, 0x0003ea87}}, Y: Field{[10]uint32{0x0025d572, 0x015c4f6e, 0x029c413b, 0x02760695, 0x01948bb2, 0x00791955, 0x0248ee56, 0x000aae30, 0x014f8fce, 0x0037cd87}}}, + {X: Field{[10]uint32{0x018f8be5, 0x036bfb53, 0x03545671, 0x037e31a9, 0x00a4cada, 0x019e2565, 0x01ee65b6, 0x02ecc7f7, 0x01be5bc2, 0x000f3043}}, Y: Field{[10]uint32{0x0039c2df, 0x023995dc, 0x0110dbc0, 0x002ba909, 0x00710112, 0x0350b25d, 0x0292a3a9, 0x02b5bc39, 0x01ef8c66, 0x00200b51}}}, + {X: Field{[10]uint32{0x03b93ba2, 0x01dafb29, 0x03a1eaf5, 0x02140d78, 0x01856cc4, 0x014a00b8, 0x00dee7f7, 0x03b07245, 0x0325325d, 0x00255139}}, Y: Field{[10]uint32{0x02eeeb49, 0x020c4577, 0x03686aad, 0x03779421, 0x00aaf137, 0x005cce33, 0x0339b037, 0x00f013af, 0x03a68151, 0x0033b1f6}}}, + {X: Field{[10]uint32{0x0383a964, 0x02f8df27, 0x01eac038, 0x01b89de7, 0x0154eec6, 0x03737db0, 0x017ff8b4, 0x0188d9ec, 0x03dcd5d0, 0x0025283e}}, Y: Field{[10]uint32{0x03efe82a, 0x00a7bd33, 0x030e576f, 0x004d68a8, 0x03fea742, 0x0290b8b8, 0x0223e169, 0x01b206dc, 0x00fd5ef0, 0x003c97cd}}}, + {X: Field{[10]uint32{0x02b579c7, 0x03a12cf1, 0x03633100, 0x00ec27dd, 0x0314f67c, 0x0085ee90, 0x01fbd4bf, 0x01f8bda5, 0x01b2c3fc, 0x0026278a}}, Y: Field{[10]uint32{0x0221c888, 0x0143bf6d, 0x02771172, 0x010c0708, 0x01ed003a, 0x005f6abe, 0x034f3e99, 0x000a5c0a, 0x01280cd0, 0x0018229b}}}, + {X: Field{[10]uint32{0x033494a5, 0x00192fc1, 0x017f1c81, 0x0173a502, 0x0249b4bd, 0x0164d2b0, 0x00e979b0, 0x029674ec, 0x03c44295, 0x0030e317}}, Y: Field{[10]uint32{0x01d1e2fb, 0x00118b58, 0x02ecb760, 0x01c5f2fb, 0x031d1dbc, 0x003af059, 0x00e471ae, 0x02cda992, 0x03f6d354, 0x00058902}}}, + {X: Field{[10]uint32{0x03a7a63b, 0x0304e3c3, 0x037e1546, 0x01adeb61, 0x0207dc65, 0x031963be, 0x0341d8c5, 0x0011b162, 0x026735c4, 0x0037a73d}}, Y: Field{[10]uint32{0x006639ac, 0x021b78d4, 0x00cb7575, 0x039f66e5, 0x03ecc19d, 0x01120042, 0x03729275, 0x018b8f88, 0x024fba91, 0x000bf0a0}}}, + {X: Field{[10]uint32{0x02c06522, 0x0110303d, 0x023c4c8c, 0x002119d6, 0x03f1dd9e, 0x0230cf27, 0x01d84b38, 0x0022d41e, 0x0137e567, 0x0000933f}}, Y: Field{[10]uint32{0x002af897, 0x00eb1e71, 0x01f00738, 0x01ab36df, 0x021aee67, 0x016b219c, 0x034d2895, 0x00055ed2, 0x00ea0982, 0x00072f32}}}, + {X: Field{[10]uint32{0x007cc121, 0x00858e7a, 0x01ed7264, 0x023d8990, 0x012b275d, 0x038247a7, 0x00414a95, 0x02e6d8bd, 0x01086ad8, 0x00275b8c}}, Y: Field{[10]uint32{0x02d3abe0, 0x025e6dba, 0x01bca757, 0x02d379d4, 0x0043c46a, 0x029d0f3c, 0x02b59ad5, 0x0299f536, 0x000a6792, 0x002e491c}}}, + {X: Field{[10]uint32{0x0209354d, 0x02f82021, 0x01d38673, 0x00b749d9, 0x0374aea2, 0x023b4e37, 0x01c21e53, 0x020e55ce, 0x01ae28b2, 0x00014aa2}}, Y: Field{[10]uint32{0x00334e51, 0x0316c7b6, 0x01708089, 0x035661ed, 0x01469b06, 0x01dacbd8, 0x03cccd20, 0x020c2f4d, 0x01579b65, 0x003060fb}}}, + {X: Field{[10]uint32{0x0227571d, 0x034d0836, 0x0255046b, 0x0230b05c, 0x01cda3bf, 0x01c9f2bd, 0x03f5d31d, 0x00601c90, 0x0272491d, 0x000bff4c}}, Y: Field{[10]uint32{0x035b6ad5, 0x03326994, 0x01d52131, 0x02d74d06, 0x00599934, 0x037abbd6, 0x01e48be6, 0x02ccd28c, 0x03bd6f38, 0x00204ba3}}}, + {X: Field{[10]uint32{0x00973fca, 0x02567167, 0x022f2eba, 0x02709c19, 0x0265df68, 0x02c64ec5, 0x0251b66d, 0x0290e8d7, 0x02094269, 0x00175831}}, Y: Field{[10]uint32{0x010efadc, 0x03c7d221, 0x0048a3af, 0x02165a71, 0x006d3b92, 0x03d03350, 0x031bb7e3, 0x035864ac, 0x024fd1af, 0x003d644c}}}, + {X: Field{[10]uint32{0x0112ff75, 0x029ad2cf, 0x00d0ae6d, 0x03e615e1, 0x004c86da, 0x00706d58, 0x0026340e, 0x00cd4fd1, 0x000abfe5, 0x0008f831}}, Y: Field{[10]uint32{0x00191d9d, 0x0085444a, 0x03827f99, 0x01e66eb3, 0x00f19d5a, 0x02032851, 0x01baf682, 0x0024a824, 0x00b5fc86, 0x003a4211}}}, + {X: Field{[10]uint32{0x006094f6, 0x0221739f, 0x02bb1155, 0x01e4c2f4, 0x0050e67d, 0x03cdf6a0, 0x02f20d77, 0x00704b29, 0x00ab5d4a, 0x00251606}}, Y: Field{[10]uint32{0x02695e03, 0x00735592, 0x03b6f9a1, 0x018febf2, 0x0032ca81, 0x03b7b6d8, 0x0269c969, 0x02b9b6a9, 0x01d0e2f9, 0x002d7cb0}}}, + {X: Field{[10]uint32{0x00724c8c, 0x03b363f6, 0x0124bc41, 0x0175881b, 0x015043be, 0x00335ef3, 0x03a469ca, 0x02fda861, 0x037d2586, 0x00347d36}}, Y: Field{[10]uint32{0x02206839, 0x0296b384, 0x03365a1c, 0x02ac071b, 0x02b1525e, 0x00a4a719, 0x0080ce9b, 0x01dd2ef5, 0x038277c4, 0x00190153}}}, + {X: Field{[10]uint32{0x0014a18d, 0x01fd3b3b, 0x01e1860f, 0x00a973dd, 0x01158b4f, 0x010a8f44, 0x005f2d5b, 0x01ba706a, 0x014f2458, 0x0013d713}}, Y: Field{[10]uint32{0x00efdbe5, 0x02d28c6c, 0x03350986, 0x027a5c3e, 0x021e48bb, 0x01ffefb0, 0x013be2be, 0x01e581a5, 0x02716d54, 0x0015d5db}}}, + {X: Field{[10]uint32{0x0198150a, 0x01032e52, 0x02118c38, 0x031407a6, 0x013f8edf, 0x0393e40f, 0x023cf5c5, 0x00510f62, 0x005bdcb3, 0x00304ed8}}, Y: Field{[10]uint32{0x02cb8435, 0x000f2c85, 0x022b52f6, 0x0127d064, 0x006c368e, 0x0122c070, 0x022a8ea9, 0x03efd4b9, 0x02af99f1, 0x0023738b}}}, + {X: Field{[10]uint32{0x0029cbb6, 0x01d33409, 0x01753391, 0x019b899a, 0x03a3df24, 0x0073bad6, 0x024a5b5a, 0x00953925, 0x032ab66f, 0x00064dec}}, Y: Field{[10]uint32{0x02f2e385, 0x0005ce03, 0x0022bb57, 0x01e604f8, 0x030181e0, 0x00fffec6, 0x00eabb05, 0x001d72ef, 0x00a06f1b, 0x0025c4ac}}}, + {X: Field{[10]uint32{0x019ba2e4, 0x0186c1d0, 0x004d747e, 0x036deb4b, 0x00d757bb, 0x00ef87d6, 0x00ef386c, 0x01cbcc21, 0x033f2f17, 0x0039294c}}, Y: Field{[10]uint32{0x036b6f56, 0x00529eb2, 0x00c7c5af, 0x03326f05, 0x02132571, 0x02f05590, 0x009b7178, 0x0392e40e, 0x01a72ec2, 0x003a13df}}}, + {X: Field{[10]uint32{0x0206cca6, 0x03f6d2d5, 0x00dcffc7, 0x0106b855, 0x01d57a83, 0x03304217, 0x000a0cf5, 0x00aa3142, 0x00b0a3f4, 0x000be28e}}, Y: Field{[10]uint32{0x024681c1, 0x03ce31a3, 0x024f1134, 0x00b86c49, 0x002fa2a7, 0x03bb58a5, 0x0008d9c4, 0x0076d959, 0x02a52c30, 0x0021d931}}}, + {X: Field{[10]uint32{0x01a55ff7, 0x015c4aa0, 0x0070b873, 0x0266e106, 0x02acd145, 0x033aad7f, 0x00585b63, 0x00b5dedb, 0x01c2c51c, 0x0000f4af}}, Y: Field{[10]uint32{0x02d3e9e0, 0x02e3736d, 0x035e9496, 0x00da8fa2, 0x00922460, 0x0011db91, 0x01a808ff, 0x018f7ea6, 0x01adbbe2, 0x000cfdd2}}}, + {X: Field{[10]uint32{0x03ab7d3a, 0x03cf307b, 0x01b3e6e5, 0x00548b6f, 0x021ecec2, 0x00afe8f8, 0x02b9acf6, 0x01338cdd, 0x0008d676, 0x003f21fe}}, Y: Field{[10]uint32{0x0035176a, 0x032e5c4a, 0x00581717, 0x0093386f, 0x01c03430, 0x014292b0, 0x0015dd87, 0x03e4ddc2, 0x0303c1f4, 0x00339d7a}}}, + {X: Field{[10]uint32{0x031e68d5, 0x009c2fd6, 0x02cb4374, 0x014871f9, 0x01323549, 0x03326121, 0x00885dc0, 0x03847afa, 0x005c62de, 0x001fe06e}}, Y: Field{[10]uint32{0x029c4558, 0x0034a9da, 0x017f3ad7, 0x012bb572, 0x011750aa, 0x025b3dce, 0x01ba062d, 0x036d8705, 0x037d6a84, 0x002deb7b}}}, + {X: Field{[10]uint32{0x01fd5557, 0x022e40f8, 0x0288c826, 0x0224f085, 0x0233cc8f, 0x018bbe47, 0x01d8f47f, 0x00eb97a3, 0x003f7afd, 0x00358635}}, Y: Field{[10]uint32{0x00cd34b8, 0x02f2a9b8, 0x03fb4fc5, 0x0237f230, 0x0042ce9e, 0x024031f9, 0x03212679, 0x02e6c20a, 0x017b0c8a, 0x00186020}}}, + {X: Field{[10]uint32{0x016e4940, 0x03e532e2, 0x009310cc, 0x02f37ddb, 0x03694430, 0x020e0ee6, 0x03f540fc, 0x026c1b6b, 0x004ff237, 0x002e9693}}, Y: Field{[10]uint32{0x0107b1f2, 0x001d6a3f, 0x0128db91, 0x03954d29, 0x0325299d, 0x03cba4cc, 0x01309b24, 0x0239bd3b, 0x011a0b13, 0x000e8887}}}, + {X: Field{[10]uint32{0x00cfdf56, 0x00a7e8c6, 0x018abcec, 0x025720c2, 0x03801363, 0x02cd6eb0, 0x03591415, 0x00dd1a20, 0x01b60bee, 0x0031a462}}, Y: Field{[10]uint32{0x0339268c, 0x022f5275, 0x0279c582, 0x0078a6de, 0x019795e6, 0x038d01ec, 0x00232fa7, 0x0368eb37, 0x03c2b862, 0x00286176}}}, + {X: Field{[10]uint32{0x00efae12, 0x00dccb07, 0x02d71bcd, 0x021a1f96, 0x0270dffd, 0x0267500e, 0x0063423b, 0x02d006ae, 0x0144032f, 0x00147d9f}}, Y: Field{[10]uint32{0x01e10e59, 0x02cb6518, 0x01f5ca8e, 0x00fe2993, 0x020403e2, 0x032fc859, 0x00ae68a3, 0x00128caf, 0x0085a2c4, 0x00222c5d}}}, + {X: Field{[10]uint32{0x037c4bd5, 0x02fb9b7a, 0x00a36fa8, 0x005fb4f3, 0x016001e1, 0x0252e2d9, 0x006fb69a, 0x017e350d, 0x0209e558, 0x00336b3f}}, Y: Field{[10]uint32{0x02028542, 0x0211249b, 0x01ecefdb, 0x000d6515, 0x03af5fc4, 0x0019a675, 0x00121762, 0x00c74056, 0x005a9931, 0x00377c6f}}}, + {X: Field{[10]uint32{0x03f0e769, 0x00cf24e2, 0x01be319f, 0x02874598, 0x00481eaa, 0x033a4222, 0x0301d70c, 0x0391da71, 0x0371e1fc, 0x00204a79}}, Y: Field{[10]uint32{0x0045c6e2, 0x002a05bc, 0x02d700d4, 0x0226d511, 0x038a4db1, 0x01d259ab, 0x02d8b6f9, 0x02f158e7, 0x013da864, 0x000fad5c}}}, + {X: Field{[10]uint32{0x02bce3ab, 0x004cafd6, 0x009ada68, 0x02abe0a2, 0x00f39c14, 0x02a9cc35, 0x002fc0f8, 0x016f03cc, 0x02ef6d41, 0x002e5c18}}, Y: Field{[10]uint32{0x013db3a6, 0x003cc4f5, 0x02829049, 0x03954445, 0x006644c9, 0x0148891f, 0x00dfdd38, 0x0324f3f6, 0x0288cd76, 0x0022b5c1}}}, + {X: Field{[10]uint32{0x030bd913, 0x01a853d3, 0x03ca422a, 0x03b14552, 0x0250de67, 0x013a1af9, 0x01d6af8c, 0x006d7fa9, 0x018b4e81, 0x000670f2}}, Y: Field{[10]uint32{0x0190a109, 0x01d1bea8, 0x027bdd5d, 0x017a491d, 0x03c18b9d, 0x021425f2, 0x021b5c73, 0x03264cc3, 0x039648bd, 0x002f148f}}}, + {X: Field{[10]uint32{0x01b42b9c, 0x026cf0ad, 0x0355967a, 0x01efbf98, 0x020ad769, 0x02244638, 0x02be43f8, 0x03b9d2c7, 0x00c73616, 0x002e7bcd}}, Y: Field{[10]uint32{0x03661bea, 0x003a9a16, 0x022543b7, 0x02a8d5c3, 0x02e8dc05, 0x03988e54, 0x01be2715, 0x006b06e2, 0x01ddd55b, 0x0004bc73}}}, + {X: Field{[10]uint32{0x0103c34a, 0x03b6e5fd, 0x02ca86e8, 0x00faf7ae, 0x0359dd2a, 0x01b61371, 0x039c39a9, 0x0336d603, 0x034f58e2, 0x001dc638}}, Y: Field{[10]uint32{0x03e96df7, 0x019ec400, 0x03093135, 0x00a23838, 0x01cf5e37, 0x0312f45f, 0x01cd8f96, 0x0106e04b, 0x01fbdc08, 0x0029b441}}}, + {X: Field{[10]uint32{0x037e8dba, 0x03321c71, 0x02ed621f, 0x02c62bed, 0x01e259c1, 0x034d68da, 0x03ba89b8, 0x039cdd8e, 0x004b8e6d, 0x0036ace2}}, Y: Field{[10]uint32{0x00a11577, 0x00e89e05, 0x0153ee50, 0x0024abbe, 0x01c9316e, 0x036d2802, 0x02bd4b5e, 0x00b508ae, 0x0329c59a, 0x003d12db}}}, + {X: Field{[10]uint32{0x027f4366, 0x03b6ac79, 0x00a1876a, 0x0147a11f, 0x03a67367, 0x02d6f9b7, 0x026a8978, 0x01e0b797, 0x02101139, 0x0032cf43}}, Y: Field{[10]uint32{0x0157d3ea, 0x03e5c26f, 0x010cf189, 0x019da705, 0x01572aff, 0x03923c76, 0x0169b33b, 0x0250f99e, 0x008dd227, 0x0009ffa2}}}, + {X: Field{[10]uint32{0x00c3c6a0, 0x01fecefa, 0x0279fcca, 0x0191ba8b, 0x03656ea5, 0x03d8ad2d, 0x01193dbb, 0x02750423, 0x03f85561, 0x003ac6c7}}, Y: Field{[10]uint32{0x02282ea4, 0x0340f258, 0x027a5ced, 0x00e926cc, 0x01d36ae9, 0x000e1159, 0x01137414, 0x0357075c, 0x00c75b73, 0x00309fe8}}}, + {X: Field{[10]uint32{0x0039c5dd, 0x0025e187, 0x03aeb587, 0x03cf4b95, 0x00bee8f9, 0x00eadaf7, 0x01a11170, 0x003c47dd, 0x01e60bc4, 0x0017541e}}, Y: Field{[10]uint32{0x006e46d0, 0x02048851, 0x02bab805, 0x0378061c, 0x014d8435, 0x02f9ef7e, 0x025829b4, 0x02e75775, 0x012ba40d, 0x00052b84}}}, + {X: Field{[10]uint32{0x01a7b38e, 0x03f302a8, 0x00502384, 0x023780c0, 0x01b70809, 0x02c852ec, 0x028acd26, 0x01abc1b4, 0x02f76beb, 0x00004183}}, Y: Field{[10]uint32{0x03bdf9a3, 0x003b1230, 0x022e275d, 0x0015481f, 0x0334252c, 0x028860f5, 0x005464da, 0x03190a56, 0x039ff6c6, 0x0033903c}}}, + {X: Field{[10]uint32{0x02170695, 0x008e1cea, 0x03e1afd7, 0x0251c358, 0x01e7bcc8, 0x0309d14a, 0x007c271a, 0x03dcc625, 0x0063c001, 0x00259471}}, Y: Field{[10]uint32{0x0254eaf7, 0x00dfec39, 0x0154d218, 0x01e96a6c, 0x013b16ba, 0x022d8f26, 0x016d17fe, 0x001b69cf, 0x027fe8ff, 0x00138d8b}}}, + {X: Field{[10]uint32{0x03363dcc, 0x00a3c9c7, 0x0000ee09, 0x01334891, 0x01895cda, 0x02d0a2c6, 0x02822cdc, 0x0086d0bd, 0x03765928, 0x0017108a}}, Y: Field{[10]uint32{0x012b9400, 0x017f3d92, 0x0148444e, 0x036054a0, 0x014cb6b4, 0x03db01fd, 0x008258f0, 0x01df28d1, 0x034f9e4c, 0x000bf6d3}}}, + {X: Field{[10]uint32{0x01faba2c, 0x009364ea, 0x003d2b72, 0x029b353d, 0x02ab3868, 0x0114b312, 0x023ce519, 0x009435ce, 0x012b5d98, 0x0036c51f}}, Y: Field{[10]uint32{0x010ed0de, 0x02469e81, 0x009258a3, 0x03f81931, 0x009fdebf, 0x01ca65a1, 0x0343227a, 0x01ab37e8, 0x0380ad3c, 0x001cc950}}}, + {X: Field{[10]uint32{0x01454b4c, 0x0345b2f9, 0x01384a41, 0x009bb613, 0x01e1beca, 0x02207a26, 0x02237678, 0x02ff4594, 0x03a0f97a, 0x002699d8}}, Y: Field{[10]uint32{0x0090306a, 0x028074ce, 0x03cb2737, 0x01d64b22, 0x00e7952f, 0x00420a42, 0x031a3d55, 0x01605ccb, 0x007db6aa, 0x002ed450}}}, + {X: Field{[10]uint32{0x025daea8, 0x02da8003, 0x0400007d, 0x027a3147, 0x0007b45a, 0x03e53d61, 0x025c889e, 0x022bd3d3, 0x0133e910, 0x000dbf9e}}, Y: Field{[10]uint32{0x01227ee5, 0x0216ed09, 0x019e27fc, 0x02ed9ad1, 0x031943c7, 0x01c78570, 0x003a0f4a, 0x01688723, 0x01baecdd, 0x00340929}}}, + {X: Field{[10]uint32{0x03c784e7, 0x0155a28e, 0x006afc44, 0x03a96dce, 0x0144c749, 0x01d4a5a0, 0x02782fb8, 0x01f9a033, 0x0263f04f, 0x001036b9}}, Y: Field{[10]uint32{0x0355050b, 0x00445d95, 0x02bb9478, 0x011d12c5, 0x02cea2ab, 0x008f3c94, 0x0058c854, 0x03374009, 0x03fdac6b, 0x00126918}}}, + {X: Field{[10]uint32{0x01c5b8d1, 0x017272eb, 0x00a7542c, 0x02e9e7ea, 0x01da55fa, 0x0056bf67, 0x00c6d10b, 0x03cec23a, 0x016dc8ff, 0x0002e858}}, Y: Field{[10]uint32{0x00a786ff, 0x006ac96c, 0x01019764, 0x01797c38, 0x02771045, 0x0328256c, 0x025a3ace, 0x00f19865, 0x0042a623, 0x003bc25b}}}, + {X: Field{[10]uint32{0x019c4a66, 0x00b409d8, 0x01e7da70, 0x001417ee, 0x03d69b4a, 0x02f1c49c, 0x028c948d, 0x01254935, 0x036723a5, 0x000c121b}}, Y: Field{[10]uint32{0x02444c76, 0x00fb2eb0, 0x01ab6574, 0x01b66812, 0x01fd6acc, 0x011c292e, 0x02a63695, 0x03270217, 0x014d279e, 0x000e3293}}}, + {X: Field{[10]uint32{0x01e6932a, 0x0096f236, 0x0197090f, 0x024e6a27, 0x02d6accd, 0x03b0a809, 0x0367174d, 0x03475603, 0x029495ea, 0x0006e0fb}}, Y: Field{[10]uint32{0x02e20196, 0x0212f075, 0x03e0e345, 0x00d270ac, 0x033d2630, 0x00b9f43a, 0x0373d6da, 0x01214786, 0x0048fb5e, 0x000065b5}}}, + {X: Field{[10]uint32{0x03517396, 0x003c432d, 0x0264f2e3, 0x00c8053b, 0x01328b61, 0x03055e76, 0x02766715, 0x016844be, 0x002eedfa, 0x0013aa77}}, Y: Field{[10]uint32{0x006e50c2, 0x023c3d6c, 0x02c9c21e, 0x036741b2, 0x00d4a192, 0x00066d07, 0x003f0b14, 0x00f8a562, 0x03c96ef8, 0x001d053b}}}, + {X: Field{[10]uint32{0x02b033da, 0x025ff34b, 0x01b311a0, 0x024b572e, 0x02876777, 0x02d95d0d, 0x03217aa3, 0x02b4220e, 0x019dbee9, 0x001059b0}}, Y: Field{[10]uint32{0x02ed541c, 0x008dbadf, 0x001f8abc, 0x00ff4e36, 0x02b80e11, 0x02cdd6b1, 0x02b4d29a, 0x01aa9a4c, 0x025c5fae, 0x0018b141}}}, + {X: Field{[10]uint32{0x01a74899, 0x02ef82a1, 0x03f310a2, 0x021abe38, 0x02bbbc66, 0x034f4be5, 0x00511a87, 0x03d529a7, 0x03ebb112, 0x002c5d59}}, Y: Field{[10]uint32{0x009f52c2, 0x03f5cb53, 0x00bb1bdb, 0x008719c7, 0x03a69367, 0x02e24db7, 0x03fc6934, 0x02f952b8, 0x03413788, 0x003d99d8}}}, + {X: Field{[10]uint32{0x028095a5, 0x00ae2a6f, 0x0210212c, 0x02141408, 0x01a6df06, 0x00d44c4c, 0x01d81fdf, 0x01fcd022, 0x01152ab9, 0x00334ad9}}, Y: Field{[10]uint32{0x038f6a53, 0x024b8c79, 0x00bb45f4, 0x0212e1c0, 0x0322afff, 0x03513408, 0x02e40c72, 0x0064d457, 0x012f9ca4, 0x0033f9e5}}}, + {X: Field{[10]uint32{0x0218229f, 0x00c825cd, 0x0374a447, 0x01e4ebab, 0x032086c9, 0x001eb031, 0x0241a729, 0x0050280c, 0x03c49f33, 0x000dd580}}, Y: Field{[10]uint32{0x0385e837, 0x0058defa, 0x00699668, 0x004e1120, 0x03de08ba, 0x00025d76, 0x01ddb463, 0x029dcf84, 0x00f66322, 0x001eedd0}}}, + {X: Field{[10]uint32{0x03bb7432, 0x03c80bbb, 0x01632978, 0x0174b800, 0x017e1095, 0x00d0777a, 0x003c176f, 0x00f765b6, 0x03d4390a, 0x00040819}}, Y: Field{[10]uint32{0x039ba83e, 0x02068be0, 0x0322dafa, 0x03bdf9c1, 0x021d8b7e, 0x01aea77d, 0x0019f11b, 0x03330e9c, 0x03d54d28, 0x001f3db3}}}, + {X: Field{[10]uint32{0x0263081d, 0x01d89737, 0x01d544fb, 0x00bfa30b, 0x01374ef4, 0x022d23eb, 0x003042cf, 0x0314ee9c, 0x0273e3fb, 0x0011d85f}}, Y: Field{[10]uint32{0x01d439e8, 0x020bce70, 0x022a0e47, 0x019e1f0f, 0x0350cbae, 0x010f2abf, 0x0040f07f, 0x02a56ecb, 0x00230c92, 0x0007e93d}}}, + {X: Field{[10]uint32{0x03880f84, 0x0045d383, 0x034ca82e, 0x02f4c635, 0x0046b814, 0x038a2818, 0x017aac08, 0x01418a7d, 0x03af57f7, 0x000b10c6}}, Y: Field{[10]uint32{0x0209de50, 0x039631bc, 0x03adbb8e, 0x014ab162, 0x0262755a, 0x0214fd07, 0x00041089, 0x012ccb04, 0x03bc6857, 0x00376e79}}}, + {X: Field{[10]uint32{0x0343d599, 0x015c3760, 0x00b41338, 0x012c35dd, 0x033f4df4, 0x026dc22a, 0x0386b1f7, 0x02db9066, 0x02438143, 0x0024658d}}, Y: Field{[10]uint32{0x02312f0d, 0x008aa2dd, 0x00049696, 0x00d243d1, 0x00021be3, 0x01ae1eef, 0x0391d682, 0x02834a7e, 0x02177171, 0x00240d3b}}}, + {X: Field{[10]uint32{0x00b7754e, 0x013dfdf1, 0x02ddda4a, 0x0164ac05, 0x02028718, 0x015a0ec1, 0x00d42db9, 0x01b1ee0e, 0x0201af65, 0x002fca30}}, Y: Field{[10]uint32{0x0345d109, 0x02db7ce8, 0x00e20c50, 0x016ab0c8, 0x01ce6ffb, 0x01aac1a0, 0x0266c2f4, 0x00434aa2, 0x0304dda5, 0x0002ef53}}}, + {X: Field{[10]uint32{0x0118b137, 0x02d3cd65, 0x035a1bab, 0x00b296ba, 0x031aa426, 0x01663902, 0x01d531bf, 0x0097d138, 0x03860218, 0x003f2b1c}}, Y: Field{[10]uint32{0x02e67b64, 0x03fda154, 0x005936ff, 0x03fa1f9f, 0x037dcca7, 0x02e8dfbb, 0x032d1e41, 0x02fa87cf, 0x037a957b, 0x000ec65a}}}, + {X: Field{[10]uint32{0x026e9331, 0x0270775c, 0x01982302, 0x0326d1fb, 0x018ad89c, 0x0119fe02, 0x01f0278e, 0x03864850, 0x01dfcaae, 0x00273fa8}}, Y: Field{[10]uint32{0x00db211d, 0x00051ac6, 0x01f470b1, 0x03056dd7, 0x0096a071, 0x01421b8c, 0x010b6469, 0x03b8163f, 0x024e7f30, 0x001cb607}}}, + {X: Field{[10]uint32{0x021334da, 0x019bcd1a, 0x00e201e9, 0x014666e6, 0x00455c51, 0x00a00b0c, 0x01c7f21f, 0x014f1e59, 0x03421235, 0x0015234f}}, Y: Field{[10]uint32{0x016418ae, 0x025283a5, 0x0278a426, 0x02c40c44, 0x0208c0af, 0x016e51a1, 0x0138eeb1, 0x000f4a25, 0x0225cebb, 0x000184ba}}}, + {X: Field{[10]uint32{0x00295bc0, 0x022f759d, 0x01e22a6c, 0x015b18a3, 0x02ebd467, 0x02312643, 0x035c545e, 0x01309826, 0x019accf8, 0x00396f98}}, Y: Field{[10]uint32{0x01b08bf3, 0x00b8a81c, 0x01837a74, 0x033e6cd8, 0x0189e246, 0x02a162e4, 0x003aa74f, 0x006bdeb6, 0x00a57d84, 0x00190219}}}, + {X: Field{[10]uint32{0x01ac668f, 0x013a6ba8, 0x02209e19, 0x0037dcd3, 0x03a26046, 0x008da323, 0x028f733d, 0x03b52bba, 0x033e3400, 0x002d5824}}, Y: Field{[10]uint32{0x005f9da3, 0x0303008b, 0x028861b1, 0x03d378a6, 0x00ac0975, 0x033c5eef, 0x02ab1826, 0x01e14e7f, 0x013d3133, 0x00150e3e}}}, + {X: Field{[10]uint32{0x00cf60b1, 0x014aa887, 0x013c02c6, 0x025a30c5, 0x01dedf2d, 0x01d10cff, 0x03ecf7dd, 0x00f9e41d, 0x0297baca, 0x00087766}}, Y: Field{[10]uint32{0x0284797e, 0x001f3409, 0x038d917c, 0x0334d3d2, 0x01b851c4, 0x03683032, 0x019bbd7c, 0x02c2deda, 0x00e0e048, 0x00379b98}}}, + {X: Field{[10]uint32{0x01934bbd, 0x03ca403f, 0x03f37bca, 0x01d12327, 0x012f1478, 0x026f68c0, 0x01b0a52f, 0x010e6d32, 0x020c6d39, 0x00173e95}}, Y: Field{[10]uint32{0x01b11b06, 0x03feae69, 0x01a3235a, 0x034cfc37, 0x0129d5a5, 0x03a4dbca, 0x0156998c, 0x02566fcd, 0x02630cc1, 0x0031e49e}}}, + {X: Field{[10]uint32{0x026d4fc6, 0x00712da1, 0x02f49046, 0x039ed240, 0x016377af, 0x0253f325, 0x036204b3, 0x03350540, 0x01bb05ad, 0x00128ee5}}, Y: Field{[10]uint32{0x00e84f2f, 0x03402bea, 0x000232a0, 0x01ef7dc2, 0x018d6be4, 0x036e4e1f, 0x009179a4, 0x00793302, 0x02e2f1bd, 0x0035678f}}}, + {X: Field{[10]uint32{0x01f4671f, 0x012dd94d, 0x03d4a81c, 0x002b736c, 0x03404edb, 0x03741bc5, 0x0006b7ba, 0x01a7244f, 0x03130b4c, 0x00331268}}, Y: Field{[10]uint32{0x007bc278, 0x015ea25a, 0x011b24dd, 0x0054b1ea, 0x02ba4837, 0x034dd564, 0x036c1943, 0x01497abc, 0x02ecc35e, 0x0012f5c8}}}, + {X: Field{[10]uint32{0x00146d98, 0x00993335, 0x03d3740b, 0x0300637c, 0x00e07fda, 0x0362d3b8, 0x00f4f900, 0x029a7673, 0x005a7426, 0x00275d42}}, Y: Field{[10]uint32{0x00c4b0a9, 0x01b8f08b, 0x01ae6a4f, 0x03a4fe50, 0x01ce174a, 0x0392519f, 0x0372f44d, 0x02ccb411, 0x0253de04, 0x00016644}}}, + {X: Field{[10]uint32{0x03210fb8, 0x02c341a0, 0x00d18b95, 0x003beb48, 0x02caa87c, 0x027c7864, 0x0312cf5d, 0x036b74ba, 0x00df737b, 0x0037f419}}, Y: Field{[10]uint32{0x0103805a, 0x0206e4a4, 0x0122613d, 0x0264fab8, 0x019f3172, 0x02404bf5, 0x00b1d2b8, 0x0234cc14, 0x003da5bf, 0x001467e2}}}, + {X: Field{[10]uint32{0x007eaf9a, 0x006040a0, 0x012e3bf6, 0x0209a170, 0x001cf205, 0x0198c62f, 0x009013ea, 0x01b0d758, 0x035cd235, 0x000ad428}}, Y: Field{[10]uint32{0x01c76335, 0x012aeac7, 0x000f6ce7, 0x00790d4e, 0x02fdf424, 0x026d60a7, 0x01f5a77d, 0x03bbfae0, 0x011d303a, 0x0001f42d}}}, + {X: Field{[10]uint32{0x005abbc7, 0x0207ea1a, 0x030c3704, 0x03ccc09f, 0x020f3202, 0x01673517, 0x02e2a594, 0x01d79f1d, 0x034b2cf1, 0x00389ba3}}, Y: Field{[10]uint32{0x02c2013a, 0x03dcbf0e, 0x02c0f194, 0x0389183a, 0x01716e5f, 0x025f0d37, 0x00767029, 0x0145854c, 0x03baaa0d, 0x001320b9}}}, + {X: Field{[10]uint32{0x010f87fb, 0x034d20d7, 0x00959b46, 0x0147e097, 0x031fd90e, 0x039e3701, 0x0184057c, 0x03615da9, 0x037d54f4, 0x001640f6}}, Y: Field{[10]uint32{0x029e99c8, 0x00200447, 0x020f3816, 0x01028637, 0x03febf94, 0x034635bd, 0x00003329, 0x0046791f, 0x03d3e9ce, 0x0031578b}}}, + {X: Field{[10]uint32{0x0125e9c1, 0x0254f513, 0x00204fde, 0x03b8a2e6, 0x021040e6, 0x00d4906d, 0x03881e96, 0x02a0b722, 0x02cd0342, 0x0012eec3}}, Y: Field{[10]uint32{0x00b0ef04, 0x006a320b, 0x02335821, 0x03a6d134, 0x00082e97, 0x0013a1e1, 0x02bee8d6, 0x0116dd4a, 0x00900f34, 0x00004bac}}}, + {X: Field{[10]uint32{0x03c4e8d2, 0x01543e52, 0x0175b647, 0x01f506e5, 0x02702996, 0x034c9e78, 0x026eb38f, 0x02fe5f1b, 0x015aae87, 0x00012891}}, Y: Field{[10]uint32{0x03936074, 0x0255541c, 0x01c474a5, 0x008be718, 0x0309af34, 0x009d85e3, 0x012bea1e, 0x02fb98b5, 0x02c4ffe3, 0x00168d02}}}, + {X: Field{[10]uint32{0x03477623, 0x032be1d4, 0x004ad1de, 0x02f77389, 0x0394470a, 0x001ed4c3, 0x00329c4c, 0x0066a953, 0x028dc8ca, 0x003c21b5}}, Y: Field{[10]uint32{0x00bdbd08, 0x00c25c6d, 0x03d8020d, 0x028a022b, 0x034d9e8b, 0x03121a6a, 0x03e4161c, 0x01abc596, 0x01d384a1, 0x00244712}}}, + {X: Field{[10]uint32{0x03ba856c, 0x027e486d, 0x00cb4c98, 0x03dca5e2, 0x01d4b7cd, 0x00257c6d, 0x0253f912, 0x01b13892, 0x037e83b7, 0x0013c6c5}}, Y: Field{[10]uint32{0x0180eaf2, 0x0111c15f, 0x03811e10, 0x01a43702, 0x0399debb, 0x02ee54d2, 0x03dc2ff5, 0x02426bf0, 0x004eb060, 0x002955a3}}}, + {X: Field{[10]uint32{0x03db5823, 0x00d0c0e5, 0x0154c765, 0x039fe99e, 0x01c4fb5a, 0x02211de3, 0x012fcbc0, 0x0391688f, 0x009929a7, 0x003aea1e}}, Y: Field{[10]uint32{0x01cbf68f, 0x00085e8b, 0x02afee73, 0x02985c92, 0x02801b26, 0x03c0ebe7, 0x03c46b47, 0x00245c27, 0x0329b357, 0x0039be31}}}, + {X: Field{[10]uint32{0x002282c2, 0x008ed8ea, 0x02e7d877, 0x00e62731, 0x03130ee5, 0x01111567, 0x01580844, 0x02969e4b, 0x031334c9, 0x0037c45e}}, Y: Field{[10]uint32{0x016f7120, 0x03959054, 0x035a8c9b, 0x0175388c, 0x001a2fc5, 0x02954447, 0x02c5492e, 0x00f144ab, 0x02578eea, 0x003761f2}}}, + {X: Field{[10]uint32{0x02ee82c5, 0x00c871b9, 0x01a68621, 0x0392ea80, 0x021f5768, 0x03d7da81, 0x02eaa1bd, 0x02ae200d, 0x003b3e68, 0x0035dd55}}, Y: Field{[10]uint32{0x0081436e, 0x00ea7b86, 0x02e18049, 0x01184141, 0x0027a2bf, 0x01065fe7, 0x02e7a26c, 0x01ce60f3, 0x030547c9, 0x001c0886}}}, + {X: Field{[10]uint32{0x0178515d, 0x00bfafd1, 0x024c7148, 0x01fff7c1, 0x025e006f, 0x02335632, 0x005c6116, 0x006b96af, 0x01d55a23, 0x0029fc43}}, Y: Field{[10]uint32{0x003c13b0, 0x025ea79c, 0x0031eb47, 0x03c835a7, 0x01b2c24a, 0x007664e6, 0x025eb38d, 0x025a5388, 0x03a7b66b, 0x00124a8c}}}, + {X: Field{[10]uint32{0x020120ec, 0x00dba718, 0x0205b05d, 0x02ce04b6, 0x020801c6, 0x01add211, 0x0336c86c, 0x02af6444, 0x01ef3119, 0x0031e551}}, Y: Field{[10]uint32{0x03c28718, 0x00813774, 0x00382bd7, 0x0313c485, 0x00738a33, 0x01f7a81b, 0x0073f8ef, 0x03ab9145, 0x00db95b6, 0x0009323f}}}, + {X: Field{[10]uint32{0x02c2cb11, 0x020f8314, 0x006ec8e7, 0x0359a888, 0x03afa14d, 0x03884128, 0x0043ba29, 0x02223d7e, 0x035e744f, 0x000262ea}}, Y: Field{[10]uint32{0x00b94df6, 0x030c34af, 0x03cbe0b2, 0x03518dab, 0x02a7abae, 0x0051af35, 0x01d929b8, 0x01fb6314, 0x019fe5e8, 0x0020ed5a}}}, + {X: Field{[10]uint32{0x00ac586e, 0x01d4bbf7, 0x00110547, 0x0212b099, 0x0160d84a, 0x00e77ffd, 0x0213053d, 0x02912b20, 0x00287b6f, 0x001b738a}}, Y: Field{[10]uint32{0x0237ed66, 0x03f18a78, 0x00a5cadc, 0x02654d5e, 0x00c79be3, 0x00197469, 0x032fa8dd, 0x0033116a, 0x022ab9d6, 0x000787ad}}}, + {X: Field{[10]uint32{0x023dfa83, 0x02c2b398, 0x030c1b7f, 0x037423db, 0x03db06a9, 0x02c92b63, 0x02b091b5, 0x01cf24c1, 0x0259287a, 0x00038e1a}}, Y: Field{[10]uint32{0x005b34e6, 0x02582a74, 0x00ed6852, 0x008508a1, 0x01c0d3b2, 0x0385bf35, 0x024ce899, 0x01929798, 0x03da663b, 0x00129f9c}}}, + {X: Field{[10]uint32{0x024fe4d5, 0x03aa89fa, 0x0118004b, 0x0060989b, 0x00cea0a3, 0x02e550eb, 0x00283fc9, 0x02f8c663, 0x0382e62f, 0x0023f7fd}}, Y: Field{[10]uint32{0x00086675, 0x008b4aab, 0x00708c52, 0x007d0c5f, 0x03a4f530, 0x0041fa21, 0x03ed6508, 0x03656d9c, 0x00719fe0, 0x003fbe3d}}}, + {X: Field{[10]uint32{0x012eaa37, 0x0381108a, 0x01089a10, 0x0310d722, 0x0136ed1c, 0x03a9593a, 0x03bb8b84, 0x02c52006, 0x03ae7842, 0x00132424}}, Y: Field{[10]uint32{0x025298dd, 0x02542829, 0x03426ea2, 0x00afe169, 0x03864236, 0x03a4d5bd, 0x02c0903f, 0x0117eb96, 0x033493d2, 0x000b5a0c}}}, + {X: Field{[10]uint32{0x03103a1b, 0x01b56e8c, 0x00f2fe86, 0x031bf5db, 0x01056318, 0x0381ca8d, 0x02b80f9b, 0x014aa764, 0x00c55c5c, 0x0033018d}}, Y: Field{[10]uint32{0x007f0b32, 0x03c2c234, 0x01e887e8, 0x01dc6da6, 0x004004aa, 0x01ff2180, 0x0236eb08, 0x02da79b4, 0x0141b13c, 0x001d42df}}}, + {X: Field{[10]uint32{0x03918255, 0x01bdc78e, 0x026569a5, 0x03b33fdd, 0x011d53c7, 0x033292b6, 0x0133f5f9, 0x01eb162f, 0x027341fa, 0x0025d269}}, Y: Field{[10]uint32{0x00916068, 0x01b3b61a, 0x00d870ec, 0x01a73e96, 0x025e68fd, 0x038df676, 0x012a2aaf, 0x031f59da, 0x01c1009d, 0x002da17c}}}, + {X: Field{[10]uint32{0x017d8e75, 0x00dded1a, 0x011bc9e0, 0x014dcaf6, 0x03a25bd2, 0x01f682c6, 0x0257fdcb, 0x018bc816, 0x00efb578, 0x002c12af}}, Y: Field{[10]uint32{0x01e168f6, 0x01405286, 0x03d4278b, 0x02bf6a39, 0x0262dcb8, 0x0362e6ef, 0x01b58690, 0x012f8d22, 0x026466ad, 0x001411e6}}}, + {X: Field{[10]uint32{0x01c78902, 0x0093a151, 0x01768226, 0x02df2012, 0x02295059, 0x0217c035, 0x023b3957, 0x03efb7c6, 0x01e85481, 0x003447df}}, Y: Field{[10]uint32{0x035c3416, 0x00cd961b, 0x039c3173, 0x032d1200, 0x02b48928, 0x00499a60, 0x03369d81, 0x004a4069, 0x0368be0c, 0x0007458c}}}, + {X: Field{[10]uint32{0x0356fd4b, 0x02e202d5, 0x02b90970, 0x0182ca6c, 0x02fd6151, 0x00ed8f2c, 0x03225af7, 0x031e9024, 0x01f465c4, 0x00288719}}, Y: Field{[10]uint32{0x0345ecfe, 0x01aa8c24, 0x0186c766, 0x03897de9, 0x0157f1e3, 0x001228a5, 0x01e34767, 0x039839f7, 0x0389394d, 0x001a689a}}}, + {X: Field{[10]uint32{0x02497a1f, 0x03bfb85a, 0x036a4fde, 0x022c61b1, 0x0036ccda, 0x029633b4, 0x003d3999, 0x00d83a49, 0x02fbb080, 0x0014f189}}, Y: Field{[10]uint32{0x002ac9b7, 0x01f86ddd, 0x036bbeda, 0x01eb1011, 0x0008264d, 0x00cd85aa, 0x01106fb9, 0x03fc7946, 0x000862a7, 0x002b6498}}}, + {X: Field{[10]uint32{0x00e6ff0e, 0x005b139d, 0x02870601, 0x00cc46dc, 0x0211d969, 0x01d07c42, 0x0364fcc8, 0x00eb6340, 0x01871b2a, 0x0033d9ed}}, Y: Field{[10]uint32{0x02b68422, 0x01b4a748, 0x03cae6d3, 0x01fc966a, 0x027be653, 0x033878c2, 0x00ac068c, 0x035d3bda, 0x037c10cc, 0x000b258e}}}, + {X: Field{[10]uint32{0x010b4bc7, 0x0335a9b2, 0x018d731e, 0x00a77a7d, 0x01364288, 0x00d33783, 0x01a89a4b, 0x021c00a7, 0x02d808cc, 0x00014085}}, Y: Field{[10]uint32{0x01e38b21, 0x0367e9d2, 0x01e0c123, 0x01f99549, 0x0236f65d, 0x02944b56, 0x02fce322, 0x01224637, 0x01f096bc, 0x00248307}}}, + {X: Field{[10]uint32{0x03d1aef3, 0x019b0f64, 0x001a2677, 0x02f789bb, 0x033d6000, 0x03de42bf, 0x00cc62da, 0x01beedec, 0x0194f468, 0x00076115}}, Y: Field{[10]uint32{0x0134d260, 0x0027e7cc, 0x0173425c, 0x00db35aa, 0x0092450b, 0x0211f71b, 0x01340351, 0x03680bbc, 0x03a6bd9d, 0x003ab846}}}, + {X: Field{[10]uint32{0x024785e1, 0x014aede7, 0x030c3d5c, 0x0295bdf9, 0x012e7750, 0x01678aad, 0x027d5908, 0x02e5f41d, 0x0350b6c5, 0x00046b53}}, Y: Field{[10]uint32{0x00023b94, 0x018f6d6a, 0x027ac4e2, 0x011befdf, 0x011826e8, 0x00533e9c, 0x0152496f, 0x03671408, 0x02368725, 0x000b0aee}}}, + {X: Field{[10]uint32{0x0149388c, 0x0090ac2f, 0x02e3d12b, 0x00965a75, 0x03f76ee4, 0x01820a87, 0x024a5198, 0x01cf84a6, 0x027cd723, 0x000d5a34}}, Y: Field{[10]uint32{0x0354fdb3, 0x031db561, 0x033daf04, 0x02360e73, 0x038eff10, 0x0042a395, 0x02356680, 0x01011c5b, 0x03a96d09, 0x00038db7}}}, + {X: Field{[10]uint32{0x017801d7, 0x028b05fc, 0x038abafa, 0x01caf702, 0x0246310f, 0x01c01dd0, 0x02abb919, 0x02743174, 0x033545e0, 0x000ddcaa}}, Y: Field{[10]uint32{0x0278884e, 0x01001082, 0x03260053, 0x02be3b6d, 0x00775693, 0x022c04b8, 0x03a50cda, 0x031d18b5, 0x028ceae0, 0x000948a6}}}, + {X: Field{[10]uint32{0x029274f2, 0x00153970, 0x0131fa13, 0x026747b8, 0x0244f3b2, 0x022e4eb4, 0x0224779c, 0x01c06b91, 0x024f72c4, 0x0020546c}}, Y: Field{[10]uint32{0x00bb6429, 0x035544ae, 0x00c9986e, 0x009134b9, 0x03734207, 0x0030a35d, 0x033fca05, 0x03586779, 0x030725ff, 0x001624e0}}}, + {X: Field{[10]uint32{0x01539c9a, 0x00d25197, 0x034c8692, 0x0076489f, 0x001b57a8, 0x0394dc20, 0x00597050, 0x007e3183, 0x015ad410, 0x0011a921}}, Y: Field{[10]uint32{0x01e36b59, 0x034f9a22, 0x00864bee, 0x00917faa, 0x039517ad, 0x038bc82e, 0x00117ae0, 0x01c6578b, 0x01cf2111, 0x0023e99b}}}, + {X: Field{[10]uint32{0x01803d16, 0x0224f185, 0x02d4f0fd, 0x017d3b38, 0x00efa7c4, 0x00e2f4a9, 0x0015001c, 0x013cf7bb, 0x01543e65, 0x0002e06f}}, Y: Field{[10]uint32{0x029d3e75, 0x00ae8053, 0x00c4a75d, 0x03f96a25, 0x032b3947, 0x03e4eda8, 0x00316228, 0x0269d8d1, 0x03aa3129, 0x000570fd}}}, + {X: Field{[10]uint32{0x012e7706, 0x03572b40, 0x01faba5c, 0x03c933f2, 0x01423f10, 0x01356200, 0x038c0549, 0x00c93491, 0x021cf2a0, 0x000f85a6}}, Y: Field{[10]uint32{0x01389135, 0x008d5886, 0x020f9869, 0x012ff2a4, 0x03004d45, 0x01c02d2f, 0x0069075a, 0x02b1f14d, 0x03ddd814, 0x00081016}}}, + {X: Field{[10]uint32{0x01a65956, 0x02f74b53, 0x02fdf534, 0x02e1510f, 0x03557f39, 0x0379866f, 0x027a1b8c, 0x02ccfc3d, 0x024ab161, 0x001d0a0f}}, Y: Field{[10]uint32{0x00b3df3a, 0x038da274, 0x03159bfe, 0x005c71de, 0x01380c17, 0x02205d13, 0x033ad2bc, 0x0170119d, 0x03e28978, 0x00088a5a}}}, + {X: Field{[10]uint32{0x026b756e, 0x00f68e7a, 0x00092bde, 0x02d37a0a, 0x021a617f, 0x02de5539, 0x01da0a23, 0x02f27ed9, 0x0386cb76, 0x00189c55}}, Y: Field{[10]uint32{0x02c2db32, 0x017f6414, 0x0317d34a, 0x01608787, 0x00eec54d, 0x03e65444, 0x0163337b, 0x028540ed, 0x03e38829, 0x000f09ee}}}, + {X: Field{[10]uint32{0x037c8aae, 0x0168001b, 0x01f739c5, 0x038b28d7, 0x002c93ae, 0x015659d0, 0x0336bc9d, 0x02e24e10, 0x0105db23, 0x00258800}}, Y: Field{[10]uint32{0x00a6ba26, 0x037e85e1, 0x03b19a2b, 0x03638ff4, 0x01ea41cd, 0x026197d2, 0x00307c5d, 0x00981320, 0x028d400a, 0x000c64a5}}}, + {X: Field{[10]uint32{0x031d13fb, 0x0365a5ad, 0x01c313aa, 0x00d5506d, 0x01317875, 0x02fe2cb1, 0x0052fb5c, 0x0246c233, 0x0398bd26, 0x002f51dd}}, Y: Field{[10]uint32{0x03ddfc3b, 0x01f8502a, 0x0150b6be, 0x00e5299b, 0x0351978b, 0x03139eca, 0x01dae500, 0x0000cf08, 0x01c9a4ab, 0x002f8ad4}}}, + {X: Field{[10]uint32{0x035289e7, 0x0270c151, 0x02b05903, 0x006bd4b6, 0x0070da10, 0x02ab19e2, 0x01490e83, 0x03e126ed, 0x0388e46f, 0x003e8524}}, Y: Field{[10]uint32{0x0067b2a7, 0x0080c2e2, 0x015e37f2, 0x03470613, 0x02c75af3, 0x03349a87, 0x032080ad, 0x0159d0ec, 0x037fa8d8, 0x00211555}}}, + {X: Field{[10]uint32{0x0391ba90, 0x00dab80c, 0x00e86ff4, 0x00f11c80, 0x028ab50d, 0x01e069c2, 0x03bfae73, 0x03fec752, 0x03830af1, 0x00108a36}}, Y: Field{[10]uint32{0x03a270a7, 0x01c7632d, 0x01637d40, 0x03252d2b, 0x032413dd, 0x0066f4b8, 0x01560b64, 0x03c28600, 0x010ab0e6, 0x001176c7}}}, + {X: Field{[10]uint32{0x0017c85c, 0x0187fcc2, 0x03d49f41, 0x026bf28a, 0x021dc3a3, 0x02da71a1, 0x0094c02e, 0x03d680f5, 0x0279fe0d, 0x002a5eac}}, Y: Field{[10]uint32{0x019bec7d, 0x00d72371, 0x022900e5, 0x0105ac72, 0x005d4b74, 0x0335b7bb, 0x032f99f7, 0x03785cf5, 0x00bff128, 0x001401b2}}}, + {X: Field{[10]uint32{0x004c668f, 0x011199a4, 0x02b63f8d, 0x011544d7, 0x039f27dc, 0x0067ee8d, 0x01a3a1cc, 0x03198538, 0x00576bdc, 0x0030351b}}, Y: Field{[10]uint32{0x03215f58, 0x0024db72, 0x03a71f19, 0x00bd1fff, 0x013d1917, 0x024f1d82, 0x017d7ccf, 0x02c940b2, 0x00a30b28, 0x000e5ad8}}}, + {X: Field{[10]uint32{0x01a8dbbd, 0x00cd8fec, 0x00e636de, 0x031b86e2, 0x020b7ae4, 0x01716f28, 0x01b8c2c2, 0x03e9f782, 0x03e04599, 0x001cf175}}, Y: Field{[10]uint32{0x007bc617, 0x005f689d, 0x01ea3faf, 0x037dbea3, 0x0309229a, 0x0310c759, 0x02986b00, 0x03590827, 0x008d558b, 0x000767b4}}}, + {X: Field{[10]uint32{0x024827a7, 0x00f227b8, 0x03ab7bbf, 0x01958ab4, 0x00b4788c, 0x006805d4, 0x0097c6ef, 0x01210e36, 0x001da2ef, 0x0000dc12}}, Y: Field{[10]uint32{0x020fa7b1, 0x0390d71d, 0x02aaa190, 0x02d14e16, 0x01ccf794, 0x00003c3c, 0x004acc33, 0x00640476, 0x0076c205, 0x002a22ce}}}, + {X: Field{[10]uint32{0x037807ec, 0x02206758, 0x01d54eda, 0x02fd926e, 0x02f2b68c, 0x00d1e42f, 0x01bb7d8d, 0x03c29267, 0x03033006, 0x000b72f8}}, Y: Field{[10]uint32{0x0290c1e1, 0x03d63dc6, 0x01bda5d6, 0x00f5613e, 0x02092cf4, 0x00fe8a35, 0x015de2df, 0x00ca7ae4, 0x02e3c7ab, 0x002e0ad1}}}, + {X: Field{[10]uint32{0x017bb4b7, 0x0110bd80, 0x023c908a, 0x0193e3d0, 0x0144052b, 0x0093de96, 0x035d957c, 0x01171778, 0x00a916db, 0x003d17cf}}, Y: Field{[10]uint32{0x029b5a96, 0x01a39808, 0x03fc1dad, 0x03de042e, 0x015b4a0f, 0x03193798, 0x01d6a795, 0x0135b368, 0x002fb315, 0x001e777c}}}, + {X: Field{[10]uint32{0x0387605e, 0x01fa5779, 0x02e934fe, 0x01af8ea6, 0x03ee1734, 0x01200954, 0x01c99bcc, 0x0159e919, 0x028bcad0, 0x0014032a}}, Y: Field{[10]uint32{0x0238370a, 0x01c318bc, 0x02a58f05, 0x0291fe08, 0x024e1bee, 0x00f77495, 0x019dccf7, 0x03235ab8, 0x02d075df, 0x0010211f}}}, + {X: Field{[10]uint32{0x024c3aff, 0x017bb135, 0x01557c52, 0x021dbea1, 0x037bcd8b, 0x008ee24e, 0x0346191e, 0x018b156d, 0x0186a239, 0x000c158a}}, Y: Field{[10]uint32{0x00577a53, 0x00dd41e0, 0x01fe9373, 0x02622975, 0x00e19d8d, 0x02ed5519, 0x020c0347, 0x014e0c6d, 0x02be41c4, 0x00000b56}}}, + {X: Field{[10]uint32{0x008e422e, 0x006383ad, 0x0078f63a, 0x00ada8c1, 0x01ec7238, 0x03879881, 0x013f690b, 0x01adca7b, 0x011a3252, 0x003da1f5}}, Y: Field{[10]uint32{0x01515704, 0x0384aadf, 0x01680211, 0x033a830b, 0x00f197e2, 0x00dac56f, 0x014da2ed, 0x013debf1, 0x033519c9, 0x003bf386}}}, + {X: Field{[10]uint32{0x01ca505d, 0x022133e8, 0x01018472, 0x029f7a99, 0x0322199e, 0x0002b9fa, 0x00e207e5, 0x00d47327, 0x03f0d385, 0x00041298}}, Y: Field{[10]uint32{0x00239cc5, 0x02b12a0c, 0x0267ce05, 0x03a4cf4b, 0x00a6de0b, 0x028a8bb7, 0x031600a0, 0x002cf16b, 0x008750b2, 0x001a7086}}}, + {X: Field{[10]uint32{0x0280fc6e, 0x02b268fa, 0x01c035e6, 0x02f50c0a, 0x02eb3d59, 0x03d34a56, 0x03963e2f, 0x023286af, 0x00994b7b, 0x00142598}}, Y: Field{[10]uint32{0x027287b1, 0x018eb7cc, 0x02519729, 0x029ef22b, 0x0256be56, 0x0152ba8f, 0x02116748, 0x0066c604, 0x01cd40d0, 0x00352162}}}, + {X: Field{[10]uint32{0x00513c95, 0x033e23d5, 0x02a0dd22, 0x027f4721, 0x007ac22e, 0x02c3cb1f, 0x0388e85e, 0x0384d475, 0x02e794e5, 0x000c41b5}}, Y: Field{[10]uint32{0x03a2bca0, 0x02612f4b, 0x00dfadbf, 0x02320b3a, 0x004ad288, 0x0001ab86, 0x02849d84, 0x02330a64, 0x013c0456, 0x00301796}}}, + {X: Field{[10]uint32{0x0059fdce, 0x0053db88, 0x01235e79, 0x010f79a0, 0x03d1081b, 0x00ee7973, 0x0376ac71, 0x02f73a13, 0x011c9977, 0x0013259f}}, Y: Field{[10]uint32{0x008968cd, 0x02f9457a, 0x010ee206, 0x000a8a3a, 0x00fcc10d, 0x00e971f7, 0x002cb098, 0x026dd057, 0x00b2a3e9, 0x0021991c}}}, + {X: Field{[10]uint32{0x02781a52, 0x03fe440e, 0x032b2e4a, 0x000bfd78, 0x01b4027b, 0x03d63d8b, 0x00bbb7fb, 0x01dd0476, 0x0099ae8d, 0x00258c64}}, Y: Field{[10]uint32{0x03947389, 0x03717d59, 0x00ed422e, 0x0136de1f, 0x03d776eb, 0x02ee8bc2, 0x03148f8d, 0x00a1268e, 0x00740daf, 0x001b0440}}}, + {X: Field{[10]uint32{0x00247ee7, 0x00c3e8d6, 0x028b3bdf, 0x00add65c, 0x02b97224, 0x016bd5bc, 0x017406d9, 0x01b3aa77, 0x032387a3, 0x001f24ee}}, Y: Field{[10]uint32{0x02989942, 0x03136667, 0x00e018f7, 0x03db8f59, 0x0017cb34, 0x02568389, 0x0201e168, 0x01f219b6, 0x02983348, 0x00087937}}}, + {X: Field{[10]uint32{0x03f1e074, 0x02a46541, 0x01cddc3b, 0x02edf1b7, 0x01c764da, 0x021e8c8a, 0x01db1433, 0x005861b6, 0x020388de, 0x00319792}}, Y: Field{[10]uint32{0x03ca658b, 0x01266ef3, 0x0017bdaa, 0x030bf5e1, 0x0202137b, 0x0311707e, 0x0225a457, 0x016ca33a, 0x01430800, 0x003561b4}}}, + {X: Field{[10]uint32{0x00d674d5, 0x0285f619, 0x00f354d9, 0x02c6a042, 0x00381b1f, 0x0076346e, 0x01a380c7, 0x021a4af3, 0x012490c2, 0x0036256a}}, Y: Field{[10]uint32{0x03de17f5, 0x013dd61f, 0x0373d980, 0x028ac02b, 0x01c7cf2b, 0x02ef3496, 0x02f5728d, 0x0004fde7, 0x02250a63, 0x0034c2f6}}}, + {X: Field{[10]uint32{0x03def988, 0x03fc7857, 0x0113227b, 0x00e8f1fc, 0x00c892e2, 0x018f47dc, 0x03fa1640, 0x02e6efeb, 0x003a5b36, 0x0024119f}}, Y: Field{[10]uint32{0x029b15a7, 0x0320207a, 0x01568946, 0x01dc78cf, 0x02205225, 0x0288ab5d, 0x03ccb41b, 0x01f66cf3, 0x01914024, 0x0013b1c0}}}, + {X: Field{[10]uint32{0x02294c7e, 0x032b5d0f, 0x019810ab, 0x01756369, 0x03b4d38e, 0x03d4fbf1, 0x03268f78, 0x000969eb, 0x01630d0e, 0x0017340f}}, Y: Field{[10]uint32{0x002dfb3e, 0x002dc3ed, 0x007811a1, 0x010cd376, 0x00f168e0, 0x03938392, 0x01510cfe, 0x035072ac, 0x036e5517, 0x0030dca7}}}, + {X: Field{[10]uint32{0x007e964b, 0x00028943, 0x02988fc7, 0x000be601, 0x008bf69c, 0x03cd88a5, 0x01d7629b, 0x03173a8f, 0x009c652b, 0x00144c31}}, Y: Field{[10]uint32{0x032cf563, 0x0070855b, 0x0336b738, 0x008c6af8, 0x03a027ef, 0x01e910c4, 0x01f98c7b, 0x036f4c26, 0x02194bc9, 0x001f91b8}}}, + {X: Field{[10]uint32{0x02dd34da, 0x011de5a3, 0x01dbcc54, 0x0157969f, 0x02261a31, 0x02e49204, 0x01473066, 0x0353a44e, 0x002a33b8, 0x00256267}}, Y: Field{[10]uint32{0x026b7cb3, 0x03166476, 0x00a41d4d, 0x02d24e82, 0x01bac79f, 0x02f83411, 0x027277b5, 0x000a4a7a, 0x02998424, 0x002259ef}}}, + {X: Field{[10]uint32{0x0089745f, 0x01b903bd, 0x026049dd, 0x00e0b9d7, 0x036e55d2, 0x006137f3, 0x00650c88, 0x03a4fdf1, 0x00138cb3, 0x0000e4a0}}, Y: Field{[10]uint32{0x00006a52, 0x00251c7e, 0x03799587, 0x0011bed0, 0x02056bdf, 0x00bc9556, 0x01bd6d47, 0x03ce8722, 0x0298b897, 0x001c2c97}}}, + {X: Field{[10]uint32{0x0380b451, 0x0223f0cb, 0x03997fa3, 0x0034f3f1, 0x01ba7207, 0x03fc4223, 0x010497cb, 0x02fb7392, 0x0331b5fd, 0x00291f84}}, Y: Field{[10]uint32{0x01576b19, 0x00999baa, 0x024ecec2, 0x01194884, 0x00062447, 0x028f32e7, 0x006c75bd, 0x00119502, 0x00befff0, 0x0032952e}}}, + {X: Field{[10]uint32{0x00cfb96a, 0x002fb478, 0x036c82d5, 0x032ed237, 0x03f1b325, 0x0020f3f4, 0x03bb1344, 0x01d4a0f2, 0x008e16c5, 0x00330698}}, Y: Field{[10]uint32{0x00cc6734, 0x0082a0ce, 0x03ab5551, 0x021ec092, 0x03591b8f, 0x02382484, 0x03b0c987, 0x02c89104, 0x024467d9, 0x0016e2b2}}}, + {X: Field{[10]uint32{0x03fc3cea, 0x003db0b0, 0x0191a5d7, 0x0075a6d6, 0x03b7438d, 0x036cef78, 0x024d1df2, 0x02ebadeb, 0x03c7591e, 0x00360d52}}, Y: Field{[10]uint32{0x02ab5ad3, 0x019bc227, 0x03a31fe2, 0x031ca601, 0x017d95af, 0x01d646fb, 0x00227039, 0x03c0fca5, 0x02936765, 0x003bf225}}}, + {X: Field{[10]uint32{0x01def8aa, 0x038f68a3, 0x01d6ff2a, 0x007138ff, 0x03481ee2, 0x03681d91, 0x02ef42e6, 0x01d02c84, 0x0163ceb2, 0x001ab072}}, Y: Field{[10]uint32{0x01164281, 0x02fcfa39, 0x00d9fb1b, 0x035c2844, 0x00c52140, 0x017c80c7, 0x0053c94f, 0x016b8915, 0x00171b6d, 0x00013f22}}}, + {X: Field{[10]uint32{0x0318b42d, 0x034b91db, 0x035c4ddd, 0x00f42803, 0x0274d4da, 0x01e3ecdb, 0x00474697, 0x010523e7, 0x0359b52e, 0x002f84c3}}, Y: Field{[10]uint32{0x03c47069, 0x0263707e, 0x01516093, 0x02e51912, 0x01c5b9f8, 0x030737d8, 0x02a7d761, 0x02962808, 0x01e2f739, 0x0005b736}}}, + {X: Field{[10]uint32{0x0063bd2f, 0x031e79b0, 0x00f3ffc3, 0x03e47e7d, 0x0124ee71, 0x018996ec, 0x0356e599, 0x012955a2, 0x00cc3986, 0x001a176e}}, Y: Field{[10]uint32{0x02b50f29, 0x02eb9721, 0x03493037, 0x02fe69d7, 0x0122b396, 0x016f8c08, 0x0333b8e0, 0x00bdf0b4, 0x01418e5b, 0x001cc29c}}}, + {X: Field{[10]uint32{0x01d743ae, 0x019bb995, 0x024eaaad, 0x02bf3c3b, 0x030f31f9, 0x026f0626, 0x025e564b, 0x01306838, 0x03f389f7, 0x000e7d07}}, Y: Field{[10]uint32{0x026c8622, 0x03948375, 0x018d88e1, 0x02cbb7e7, 0x0126fdae, 0x00ce3dce, 0x030aad09, 0x013fb94f, 0x036de25d, 0x003efa83}}}, + {X: Field{[10]uint32{0x0020ed1f, 0x02c82313, 0x01f28b12, 0x018b2fd6, 0x03c29b1b, 0x0120ef03, 0x00737b3d, 0x0258e665, 0x017441bc, 0x0035e9a5}}, Y: Field{[10]uint32{0x025ba8cb, 0x0358c6c1, 0x024ceef2, 0x027d07e0, 0x0291eea2, 0x02e68f41, 0x007ca251, 0x00563a70, 0x02dacdf8, 0x00339138}}}, + {X: Field{[10]uint32{0x01eaec9a, 0x010e57b0, 0x030ba491, 0x00717f7c, 0x0022f598, 0x00acde21, 0x02867934, 0x032edcaf, 0x01609139, 0x00216eb4}}, Y: Field{[10]uint32{0x0314dfec, 0x01a92173, 0x038db419, 0x031e10e0, 0x02362055, 0x038ff8fa, 0x01c57e88, 0x01dacac9, 0x006129e5, 0x00267f35}}}, + {X: Field{[10]uint32{0x03ea49e5, 0x007ae008, 0x0372d51a, 0x03f90842, 0x0174d986, 0x03c5f682, 0x002ffbe8, 0x0285648f, 0x02c4d428, 0x0008e02e}}, Y: Field{[10]uint32{0x02d6f54b, 0x02ac1d17, 0x0065e5a6, 0x016f4824, 0x033ca101, 0x013512ee, 0x01e38bfc, 0x031fd791, 0x0313fde4, 0x003d2bdc}}}, + {X: Field{[10]uint32{0x024f9cf2, 0x030a7f4d, 0x00e9e46f, 0x03ee253d, 0x0397c1ac, 0x0088480a, 0x019108df, 0x0077438d, 0x0359b7d6, 0x00301584}}, Y: Field{[10]uint32{0x027d83dd, 0x0004c9f4, 0x0092e029, 0x000f3b3d, 0x0275b161, 0x01433acc, 0x03ea5ff3, 0x02a7d8b3, 0x01801c72, 0x000f0ddf}}}, + {X: Field{[10]uint32{0x020c2a06, 0x010e3124, 0x00fc64ed, 0x00102962, 0x0276481c, 0x026ee96c, 0x01181d30, 0x013cabae, 0x01c10b8f, 0x001cb126}}, Y: Field{[10]uint32{0x02b1ce53, 0x000490ec, 0x01e7a72d, 0x03fecc11, 0x02f05ff8, 0x03e0af06, 0x034867b1, 0x014c50a8, 0x008e6082, 0x001b2653}}}, + {X: Field{[10]uint32{0x03cf477d, 0x0081153f, 0x026f884e, 0x0272d77c, 0x0166e02c, 0x001bfad1, 0x038e2f3f, 0x018827e3, 0x00be02b6, 0x00237a13}}, Y: Field{[10]uint32{0x002a34a6, 0x002e64dd, 0x03379641, 0x010a8067, 0x02ac9e85, 0x028edeb0, 0x0348e986, 0x01f621a4, 0x0280c4d0, 0x0031fcbd}}}, + {X: Field{[10]uint32{0x001710f2, 0x00b44b90, 0x034427d0, 0x03b98f17, 0x029a2d02, 0x021ae74b, 0x02c80488, 0x035d8b96, 0x01d86581, 0x0036ffb2}}, Y: Field{[10]uint32{0x00daafea, 0x0221a370, 0x03c90004, 0x02a26284, 0x01b46496, 0x00199236, 0x005acb59, 0x02c6b2a2, 0x03f9827b, 0x001b9847}}}, + {X: Field{[10]uint32{0x01d0453d, 0x015bc8f4, 0x037f9f24, 0x00a8a455, 0x039588dc, 0x00aab9ac, 0x010ade78, 0x03b746cf, 0x01f86099, 0x00277594}}, Y: Field{[10]uint32{0x02715ebd, 0x0282c17b, 0x018455f5, 0x017e6184, 0x03cd3f90, 0x03edb5dc, 0x00be81ad, 0x02183806, 0x0217f0d7, 0x0013db6d}}}, + {X: Field{[10]uint32{0x03d66a15, 0x00982fe6, 0x033d1926, 0x03cbe8bc, 0x02356445, 0x039823e5, 0x037a885e, 0x0378d79d, 0x021ac869, 0x000bf605}}, Y: Field{[10]uint32{0x01307f25, 0x02d3203f, 0x03daa7c6, 0x028825e1, 0x0398c6e7, 0x00b798d1, 0x00163eb1, 0x00b64ad9, 0x01e9674c, 0x00074b08}}}, + {X: Field{[10]uint32{0x029dc391, 0x03a2a128, 0x038a8495, 0x0197e21d, 0x008b6d87, 0x02503b7d, 0x01538ce4, 0x0016c8fc, 0x038924f5, 0x000fc96f}}, Y: Field{[10]uint32{0x008164f2, 0x011ca5cb, 0x03c30afd, 0x01527715, 0x00344382, 0x00b184ee, 0x02b02525, 0x001e0862, 0x01830e7e, 0x001c094d}}}, + {X: Field{[10]uint32{0x00773f0b, 0x0387b89b, 0x02b47ff2, 0x01c2d57a, 0x00467dc7, 0x021163cc, 0x033d2fe2, 0x008d13e3, 0x0359d5f7, 0x000f03c0}}, Y: Field{[10]uint32{0x02db33c7, 0x00a72a07, 0x02c7b127, 0x00c3917c, 0x00b9c250, 0x01189949, 0x0050d787, 0x0067116b, 0x0239459f, 0x0012560e}}}, + {X: Field{[10]uint32{0x02b73a15, 0x0170c20d, 0x00dd73be, 0x01c3ec5c, 0x0087e38d, 0x0283764f, 0x0045855f, 0x0177c8d8, 0x0266ec1b, 0x00158e01}}, Y: Field{[10]uint32{0x019921a7, 0x0387c29d, 0x03b117bc, 0x024e0a47, 0x00b5cbbf, 0x022be3d8, 0x0291252c, 0x02b1aa6a, 0x00f0b210, 0x001c01a4}}}, + {X: Field{[10]uint32{0x009298bd, 0x01b4bea7, 0x006738bc, 0x0007ef8f, 0x0225f902, 0x03cff11f, 0x02b228aa, 0x017dffb1, 0x010b0b9a, 0x001c729c}}, Y: Field{[10]uint32{0x039abc89, 0x027bf8cb, 0x003f8fcc, 0x028d4789, 0x02c759bc, 0x01c0566b, 0x00912871, 0x002266c6, 0x028dc075, 0x001f7494}}}, + {X: Field{[10]uint32{0x01264575, 0x00b42cd7, 0x01102511, 0x02ba09f2, 0x006ed87f, 0x02386f8f, 0x02ec20f9, 0x021439f0, 0x003cc938, 0x001e377b}}, Y: Field{[10]uint32{0x01680321, 0x01b7b6cf, 0x01ddfd48, 0x018fc5e6, 0x0022b9c1, 0x01bc6798, 0x0185048d, 0x01014321, 0x0151766a, 0x000641ca}}}, + {X: Field{[10]uint32{0x034ed70b, 0x01aacf1e, 0x0267f322, 0x0127b40f, 0x02058132, 0x00f6b0a6, 0x02709509, 0x0215fa31, 0x02fd8852, 0x0026abae}}, Y: Field{[10]uint32{0x0305fffb, 0x033b34d1, 0x0271c7b9, 0x033101ae, 0x032457bd, 0x00f134bc, 0x01e13bca, 0x02f54419, 0x02ccb541, 0x00231a8a}}}, + {X: Field{[10]uint32{0x032f79e2, 0x00af96f6, 0x01bcc6d1, 0x01a882ae, 0x01a3096a, 0x02e6fc4e, 0x016c7b28, 0x0203f768, 0x02749411, 0x00161bb2}}, Y: Field{[10]uint32{0x03488d71, 0x039be4e8, 0x02ad5bfd, 0x03795805, 0x020ac4bf, 0x009a887a, 0x005a7f80, 0x002796bf, 0x01123616, 0x0002cec7}}}, + {X: Field{[10]uint32{0x0150ddf8, 0x00e060e3, 0x0397ee36, 0x02c4dab3, 0x03c0e0b6, 0x0330fb98, 0x03ed7d40, 0x0378b21b, 0x003edbe4, 0x000615ef}}, Y: Field{[10]uint32{0x00275363, 0x0293d923, 0x01835119, 0x02df3168, 0x028a7fbd, 0x016119d6, 0x0359c673, 0x022337b1, 0x007be7a5, 0x003a97a0}}}, + {X: Field{[10]uint32{0x00e5b01a, 0x0361599e, 0x037ba863, 0x02589fd7, 0x03642067, 0x032e204e, 0x022a6cdb, 0x00b18800, 0x03440757, 0x002a9331}}, Y: Field{[10]uint32{0x03a2f836, 0x03c267e3, 0x008bff39, 0x0236bdf8, 0x01a4a97b, 0x00e08698, 0x03b7f9bb, 0x00912a68, 0x02c9d259, 0x002ea5a6}}}, + {X: Field{[10]uint32{0x004f36aa, 0x01368d48, 0x02179e79, 0x01af2c9d, 0x030d6f73, 0x010f6173, 0x005fad0a, 0x010d9da2, 0x00095917, 0x0011623b}}, Y: Field{[10]uint32{0x00c7c62e, 0x021bd2c3, 0x01c3702f, 0x024a9532, 0x03a95116, 0x0372eb8e, 0x01c89d10, 0x02071bb8, 0x027ecdc6, 0x003ee0d7}}}, + {X: Field{[10]uint32{0x0080653c, 0x02cc447a, 0x00a4eca3, 0x00881408, 0x0025ce66, 0x00bdec7f, 0x0233f227, 0x017e1a67, 0x01037a3e, 0x00219eb3}}, Y: Field{[10]uint32{0x01764646, 0x01fceb49, 0x03946d8d, 0x013975b3, 0x02639cd9, 0x03d91903, 0x009ba3cf, 0x03e414c9, 0x02c757d3, 0x003a444a}}}, + {X: Field{[10]uint32{0x02df370b, 0x03f576c9, 0x03c13318, 0x013d185b, 0x00b52781, 0x026b8ef5, 0x02e46630, 0x007708a2, 0x0169e4f8, 0x00178290}}, Y: Field{[10]uint32{0x0140d001, 0x03e2b74c, 0x00ca9e58, 0x009232cd, 0x00c38cd6, 0x02eb2b53, 0x022e32c3, 0x024d3afb, 0x01a8fc23, 0x0016f4cd}}}, + {X: Field{[10]uint32{0x0101c0f6, 0x02d3ffec, 0x00263663, 0x028eb7fa, 0x01542a55, 0x00aa0bc5, 0x01b2e578, 0x0090606d, 0x006939df, 0x0024014d}}, Y: Field{[10]uint32{0x03e3d991, 0x007a944d, 0x01476e3f, 0x01e0e86c, 0x01744607, 0x0270e978, 0x00f38378, 0x0217da16, 0x01899739, 0x0013fc35}}}, + {X: Field{[10]uint32{0x03cec63f, 0x030ec358, 0x035618f4, 0x01dc8a9c, 0x004e2db0, 0x0242c540, 0x0232f33d, 0x00cee81a, 0x01a553df, 0x002a650e}}, Y: Field{[10]uint32{0x01656cd4, 0x0108f6ce, 0x00e7e7e6, 0x0317dc0f, 0x026f9c1f, 0x0139a61f, 0x01cd8a2e, 0x031ddfaa, 0x0129f11f, 0x00066382}}}, + {X: Field{[10]uint32{0x03085282, 0x00bf7c57, 0x00355a0e, 0x02c42de3, 0x031c7789, 0x020aa8b9, 0x03ab71df, 0x02e85323, 0x01361381, 0x00147ca8}}, Y: Field{[10]uint32{0x032d16a2, 0x0065f3fa, 0x00ea5a97, 0x009a124d, 0x026e2b7b, 0x00c65e8f, 0x0323bbe4, 0x03fa935b, 0x029fca15, 0x003f57c4}}}, + {X: Field{[10]uint32{0x02a91d3a, 0x014c560b, 0x0368e820, 0x02e3d507, 0x03bed208, 0x019316d3, 0x01097778, 0x012cb265, 0x001c8b06, 0x000ea47e}}, Y: Field{[10]uint32{0x03a513c9, 0x01ce8048, 0x00404085, 0x0252d804, 0x00a542b5, 0x01616a3a, 0x0077329e, 0x00e78654, 0x003ad4ae, 0x00275640}}}, + {X: Field{[10]uint32{0x0336c5c8, 0x01abc665, 0x03462105, 0x02138502, 0x005e491e, 0x01ca3045, 0x0026deee, 0x03e85cfc, 0x0150aa22, 0x001c7a67}}, Y: Field{[10]uint32{0x036a4995, 0x019fb105, 0x03b2653f, 0x038e6ec2, 0x03699806, 0x03651f9d, 0x02627291, 0x022119f1, 0x03776858, 0x003fcf93}}}, + {X: Field{[10]uint32{0x008aaa39, 0x0248005f, 0x0180e6d3, 0x003ba166, 0x0046f745, 0x0338bcf3, 0x0353286a, 0x0113dcfe, 0x02933a03, 0x002b4527}}, Y: Field{[10]uint32{0x009e81bd, 0x03dbeba4, 0x03e3f2a4, 0x00ffc455, 0x0165a5ab, 0x026a0de2, 0x03140603, 0x03cd52d3, 0x039885a4, 0x001f6fd1}}}, + {X: Field{[10]uint32{0x011ccb01, 0x011fe45d, 0x00c321a2, 0x035dfaef, 0x0286e79e, 0x025a4417, 0x000ca207, 0x023db129, 0x037f5ad7, 0x00113c28}}, Y: Field{[10]uint32{0x0353044a, 0x01255570, 0x01905af6, 0x02684a24, 0x0070836d, 0x019ad44a, 0x031e5590, 0x02cfefbe, 0x0067911e, 0x003d0136}}}, + {X: Field{[10]uint32{0x0330ad5d, 0x00e29842, 0x02c1dc0d, 0x038ec9c7, 0x0050f5c0, 0x025c5e1a, 0x00a4a8b2, 0x03823130, 0x00c3de8d, 0x0013ddf7}}, Y: Field{[10]uint32{0x01f57c69, 0x00da8e53, 0x032fa558, 0x000201bb, 0x0358dc73, 0x002a996c, 0x018aa5ab, 0x003ba484, 0x024f8ae8, 0x001cf1d0}}}, + {X: Field{[10]uint32{0x02005555, 0x01c4dc79, 0x01c0d38d, 0x0093978b, 0x016d6d5c, 0x03bd9630, 0x026efd38, 0x00248d8d, 0x008b102a, 0x001e5284}}, Y: Field{[10]uint32{0x0246ba2c, 0x03d9cdf3, 0x03f751a6, 0x012d7f72, 0x007c9e30, 0x007e11e6, 0x02cf0fdc, 0x024141a6, 0x01efefd7, 0x0021c659}}}, + {X: Field{[10]uint32{0x00e8e594, 0x029235c5, 0x003a822d, 0x01f3a8c2, 0x02a72e29, 0x0282c494, 0x01bd49f5, 0x0218eb7d, 0x0161234b, 0x003c6621}}, Y: Field{[10]uint32{0x003fc418, 0x03acd86a, 0x0203fca6, 0x01cf4c6a, 0x03abd2f5, 0x03f68fe3, 0x0036612d, 0x01468630, 0x0107d0ab, 0x001eb6e9}}}, + {X: Field{[10]uint32{0x003f4a80, 0x02862f73, 0x01c75491, 0x036fe0b4, 0x02f3fd27, 0x01e42abb, 0x0249b8f7, 0x026781c4, 0x0156c07c, 0x00122fb5}}, Y: Field{[10]uint32{0x02316e94, 0x00795559, 0x03543856, 0x008b5250, 0x0046cf01, 0x03976f2a, 0x00dd08cb, 0x0106346d, 0x028021be, 0x00276b94}}}, + {X: Field{[10]uint32{0x003ab9c1, 0x032ccfe5, 0x00a1f3bf, 0x02ff0b72, 0x00ec8449, 0x01d2eb1d, 0x0376fef9, 0x01e74e3c, 0x03fbe537, 0x002effbc}}, Y: Field{[10]uint32{0x0312551b, 0x01b1b378, 0x030b0800, 0x018e1200, 0x00ed4625, 0x02f83aa3, 0x010e8495, 0x022bff18, 0x0372ee79, 0x002fa96d}}}, + {X: Field{[10]uint32{0x015b7f06, 0x01d2f582, 0x0212e00b, 0x02bfbaf0, 0x00156839, 0x03305d71, 0x006b04be, 0x033548e0, 0x001527b3, 0x0010abcd}}, Y: Field{[10]uint32{0x01dcef4f, 0x02d1b7d6, 0x021370e7, 0x006096fe, 0x00f91a55, 0x02237a60, 0x036d0961, 0x01bfd88d, 0x03e5ebf1, 0x001a1b97}}}, + {X: Field{[10]uint32{0x01ce10e6, 0x037849dc, 0x00d6938a, 0x00990309, 0x02307497, 0x0162df57, 0x03ea376d, 0x021f11bb, 0x038b74ae, 0x000f15b5}}, Y: Field{[10]uint32{0x00d54a41, 0x00c9d492, 0x03883507, 0x002d446f, 0x0039fed0, 0x0328af1b, 0x023b36b6, 0x0388574d, 0x02ccf9d1, 0x0033a5f7}}}, + {X: Field{[10]uint32{0x0389b61a, 0x03f6c26d, 0x0291d33a, 0x0073693c, 0x0267b52a, 0x0123da73, 0x02404a9e, 0x03bc2ab9, 0x01991944, 0x0012c489}}, Y: Field{[10]uint32{0x02089571, 0x02ef99ad, 0x0211bf3e, 0x0201e391, 0x0062b1bc, 0x01b64af0, 0x037932cb, 0x03e6494d, 0x035027a3, 0x001722f8}}}, + {X: Field{[10]uint32{0x00d49db5, 0x01cd4346, 0x03e9acd3, 0x0154ac02, 0x01716749, 0x01363167, 0x0258f181, 0x024c528d, 0x0067c02c, 0x0002790a}}, Y: Field{[10]uint32{0x03a8c761, 0x025df1c5, 0x01d0d831, 0x0079b635, 0x0039f65b, 0x03f8833c, 0x003155da, 0x0035cf5e, 0x00351ff9, 0x001749b4}}}, + {X: Field{[10]uint32{0x035359ae, 0x036e5cc9, 0x00b94402, 0x007976f6, 0x00306ab3, 0x01efdbea, 0x0027d0d4, 0x014d14a8, 0x010c05a9, 0x002590ce}}, Y: Field{[10]uint32{0x027a3933, 0x025c86ac, 0x000cea69, 0x00b7d657, 0x03abbf49, 0x003ef52e, 0x03560d05, 0x03a70748, 0x03f71019, 0x002cd535}}}, + {X: Field{[10]uint32{0x02126b69, 0x03d5881f, 0x01f77bac, 0x0213faba, 0x021b6f78, 0x007c55e0, 0x01374f90, 0x01f7ad41, 0x02fb86f7, 0x0022d245}}, Y: Field{[10]uint32{0x00be1fd4, 0x032cc98a, 0x00213816, 0x03cd93e7, 0x02ce6d2a, 0x02f21feb, 0x01c3d59c, 0x036c4c15, 0x03c06d86, 0x000026a0}}}, + {X: Field{[10]uint32{0x00054b9f, 0x00f3c334, 0x02ff37ba, 0x03fa554b, 0x0011de8e, 0x021223df, 0x01ee9abb, 0x020b107d, 0x034b1097, 0x00034a77}}, Y: Field{[10]uint32{0x00ca07a8, 0x01826050, 0x03d1c98a, 0x01106627, 0x00d1a5a4, 0x01e6da02, 0x03e08f6a, 0x00b13c2e, 0x0237ea24, 0x0006fc18}}}, + {X: Field{[10]uint32{0x01dbd41d, 0x02e3a9c8, 0x01ede203, 0x019481b7, 0x03d4a202, 0x01444eb2, 0x01167d05, 0x0141114e, 0x017ba540, 0x000aabce}}, Y: Field{[10]uint32{0x02f73081, 0x022087a7, 0x03c6663d, 0x03093dec, 0x00013a81, 0x028cbcc2, 0x024b4a8a, 0x02eeb247, 0x02c71132, 0x000dd38c}}}, + {X: Field{[10]uint32{0x0357ef48, 0x004cfe73, 0x03b817b1, 0x0251762d, 0x001ca58a, 0x02da8e63, 0x03d287c8, 0x0339ae3a, 0x03d223ea, 0x00088e6c}}, Y: Field{[10]uint32{0x02b4cd46, 0x032f50f8, 0x03bda94c, 0x03ecf93a, 0x00f01d70, 0x02380fca, 0x02f4b267, 0x02a2c822, 0x00b74b54, 0x003f6a20}}}, + {X: Field{[10]uint32{0x03c7e365, 0x03b18929, 0x00f62e86, 0x00ce7c95, 0x01b88ee2, 0x007b6c51, 0x01c91785, 0x01cb7dfb, 0x03bcf47e, 0x0022cca1}}, Y: Field{[10]uint32{0x01fecabb, 0x03c3c802, 0x005be321, 0x01a47ad8, 0x00db6d99, 0x0030f4df, 0x0100868c, 0x0355397e, 0x03c09f60, 0x0015281a}}}, + {X: Field{[10]uint32{0x004f7993, 0x026072a6, 0x0136dd8d, 0x031c935b, 0x01ace742, 0x03a1d4e7, 0x017e1ff3, 0x03fba443, 0x02a33e3c, 0x00366b33}}, Y: Field{[10]uint32{0x027dc88b, 0x018e2a10, 0x02690565, 0x02055097, 0x0162947f, 0x0082f40b, 0x00f5a05a, 0x03974b63, 0x034aa901, 0x001ab725}}}, + {X: Field{[10]uint32{0x00b3206d, 0x03cab96a, 0x036b308d, 0x036902e3, 0x004af245, 0x01d3b80e, 0x0292b504, 0x0122f799, 0x03f834c3, 0x0035ff15}}, Y: Field{[10]uint32{0x004e2d19, 0x034acc09, 0x03406e38, 0x02c47e6b, 0x000231ed, 0x01b6c0c9, 0x028e04ba, 0x027faa6c, 0x024b41fd, 0x0002c94f}}}, + {X: Field{[10]uint32{0x00d9588a, 0x016d70c5, 0x015059ad, 0x0181e88f, 0x02b815f6, 0x02540878, 0x0334e165, 0x005024da, 0x03e0ec4a, 0x00096023}}, Y: Field{[10]uint32{0x018e7b96, 0x01e63df1, 0x00ec66f4, 0x01b3a2ef, 0x03a75bc1, 0x02e77c7f, 0x00a1eefb, 0x01bbe232, 0x02d5b1d4, 0x00341992}}}, + {X: Field{[10]uint32{0x01927914, 0x01ba84e6, 0x01ecc322, 0x01d8a68e, 0x0359e67a, 0x00368d69, 0x0152fa57, 0x015759c8, 0x03801139, 0x003911d1}}, Y: Field{[10]uint32{0x03793bee, 0x037cfe50, 0x035eac1a, 0x034a0dfb, 0x02ad4eb3, 0x0159b1e3, 0x02834d33, 0x00121b69, 0x0170aa2f, 0x00124f30}}}, + {X: Field{[10]uint32{0x026311ad, 0x000ae444, 0x02f11476, 0x02160b51, 0x0244e2b9, 0x0003c411, 0x01dd900d, 0x035c19db, 0x01be2af9, 0x00314103}}, Y: Field{[10]uint32{0x024ddb15, 0x0234a00c, 0x0186b91a, 0x006c41dd, 0x01a7cabc, 0x01e2a739, 0x01b64667, 0x0185c732, 0x0311a231, 0x002102aa}}}, + {X: Field{[10]uint32{0x037d9f14, 0x008a3ad0, 0x023a812a, 0x013e4ef6, 0x008116cd, 0x0311f539, 0x03ca1236, 0x00cface9, 0x03aa316d, 0x0008ce46}}, Y: Field{[10]uint32{0x037efd4d, 0x02d53d72, 0x00b7f1eb, 0x01e71f2e, 0x010bc97c, 0x01b63446, 0x00a69aff, 0x01dbf007, 0x001d9e6d, 0x0007604d}}}, + {X: Field{[10]uint32{0x0039ac38, 0x02acd3ef, 0x01eb945e, 0x036302e5, 0x008aeb8f, 0x03ace525, 0x006682cb, 0x02e9c8bf, 0x03563de3, 0x0004c845}}, Y: Field{[10]uint32{0x0174f006, 0x02e6b623, 0x013df89e, 0x001506dd, 0x01aa5279, 0x009b2fee, 0x0161431e, 0x00208df2, 0x03218a4b, 0x0026ddc9}}}, + {X: Field{[10]uint32{0x02789708, 0x01dea56e, 0x0096d2ff, 0x00eebfba, 0x01708b94, 0x02d735f8, 0x00f896bb, 0x00bf1e87, 0x0098b27a, 0x000ee2ee}}, Y: Field{[10]uint32{0x0136c1cb, 0x00403227, 0x028c9248, 0x01e70d01, 0x027fdcbf, 0x02858d77, 0x01e13e96, 0x000f9568, 0x001c6680, 0x00360795}}}, + {X: Field{[10]uint32{0x00217b4d, 0x03a267f8, 0x02e21c7c, 0x00b20568, 0x03d94f16, 0x0300103f, 0x005e4f55, 0x0312eb14, 0x022c9af5, 0x003875c2}}, Y: Field{[10]uint32{0x03a4532e, 0x00f3fb25, 0x0212c2fd, 0x02679e70, 0x01eb063b, 0x00ac794f, 0x006d66de, 0x00392cda, 0x00d6d20e, 0x002c958c}}}, + {X: Field{[10]uint32{0x0112de1c, 0x02aa9ef6, 0x001b5ff1, 0x0320c3ed, 0x03a7e681, 0x00acdb7f, 0x00f0c56e, 0x01e3eb4e, 0x0023a517, 0x0006c78e}}, Y: Field{[10]uint32{0x0184d4c1, 0x00ffcc89, 0x0116cd59, 0x009a0ca0, 0x03bebe16, 0x02fdff49, 0x03258556, 0x00807739, 0x0290a951, 0x003cba66}}}, + {X: Field{[10]uint32{0x01bda7a1, 0x03dca088, 0x03102e48, 0x00703640, 0x018745a9, 0x017919f8, 0x01348175, 0x018644b0, 0x003894f5, 0x00078c76}}, Y: Field{[10]uint32{0x00d610ce, 0x0232531f, 0x03aee504, 0x009d0480, 0x02477a7b, 0x03e0225b, 0x002c6d97, 0x03863cf0, 0x038835da, 0x0004773b}}}, + {X: Field{[10]uint32{0x02b7100e, 0x02c0c062, 0x0028c422, 0x01e946d4, 0x03311f68, 0x02f0ed25, 0x027a7ff2, 0x02f266fd, 0x0034795c, 0x00032e6b}}, Y: Field{[10]uint32{0x00d0db1d, 0x01120d8f, 0x0332074e, 0x03762913, 0x03e5ff32, 0x023704fd, 0x01e95e9a, 0x02cd7380, 0x0221c804, 0x001797c1}}}, + {X: Field{[10]uint32{0x00e11c1b, 0x01ce0d6d, 0x020ce56c, 0x0213c028, 0x0024dcb8, 0x02995b12, 0x02326fa1, 0x02b4e283, 0x02c4067d, 0x002bf0d2}}, Y: Field{[10]uint32{0x00bdcb96, 0x00204d8a, 0x01de1d75, 0x02baff1b, 0x0377a033, 0x000b0432, 0x02ef031a, 0x0191e8e0, 0x00043f6d, 0x00322c71}}}, + {X: Field{[10]uint32{0x0270aa81, 0x03e17ef8, 0x0273e603, 0x00d9e9e0, 0x023330f6, 0x02e85384, 0x01430bc0, 0x02ae8586, 0x0160ca85, 0x000e9bf0}}, Y: Field{[10]uint32{0x0222bc0a, 0x01d36e80, 0x001bb617, 0x03246709, 0x02cb72cf, 0x01c1ef0c, 0x01a7a483, 0x02ce4251, 0x037286db, 0x0016528a}}}, + {X: Field{[10]uint32{0x033ce7d4, 0x00658050, 0x02e4346b, 0x02a38fab, 0x01bdc1e4, 0x03c637af, 0x024f56ea, 0x0270e8fd, 0x0295657c, 0x002a103d}}, Y: Field{[10]uint32{0x02126fbc, 0x007d27fa, 0x0269d7a4, 0x0091c9cc, 0x031a77b8, 0x030004c6, 0x01eae96b, 0x038b7d18, 0x02c0ca41, 0x0022a29e}}}, + {X: Field{[10]uint32{0x000a39d6, 0x027602ba, 0x033e55f6, 0x018b5b83, 0x0065cd77, 0x028a4c9a, 0x01d08c34, 0x01a4530e, 0x020170ec, 0x00030113}}, Y: Field{[10]uint32{0x020b4657, 0x02fe488e, 0x0052a92d, 0x01ee4816, 0x036dd5fd, 0x00be5ecd, 0x02e0b5ec, 0x00545897, 0x00827ae5, 0x001ef58c}}}, + {X: Field{[10]uint32{0x02a00b3a, 0x0377a53a, 0x00b2aa89, 0x00690769, 0x002bf927, 0x033f74a2, 0x01eb5c67, 0x025a6c11, 0x035b352b, 0x0032e404}}, Y: Field{[10]uint32{0x0179be93, 0x012d858b, 0x00b492a8, 0x00b1498d, 0x03b4dac8, 0x009dea3d, 0x00b6d267, 0x026c47f9, 0x00a0762d, 0x000532fb}}}, + {X: Field{[10]uint32{0x03182a0e, 0x03213402, 0x02963c58, 0x01d9d7a9, 0x03c82166, 0x02a92a3f, 0x007c0633, 0x02ac3c87, 0x0037a24d, 0x003e9ef1}}, Y: Field{[10]uint32{0x01a5aa35, 0x03bb9534, 0x0244b383, 0x0051007c, 0x00fdf721, 0x0124d678, 0x0109326c, 0x0031adb7, 0x03c6d730, 0x00389099}}}, + {X: Field{[10]uint32{0x03b3299a, 0x00701795, 0x02fcdd0c, 0x015cef22, 0x0035e956, 0x0054ceb6, 0x032bef99, 0x00f494de, 0x00dd3f50, 0x00398d53}}, Y: Field{[10]uint32{0x019ead7f, 0x0342e1a1, 0x01a0a3c4, 0x03cfd72b, 0x03cdc2b6, 0x03a7be71, 0x01955b9a, 0x03228662, 0x03706291, 0x0035b05e}}}, + {X: Field{[10]uint32{0x0345cce8, 0x00ebc7ee, 0x0053b048, 0x00f4afc1, 0x02132ec2, 0x0035f604, 0x00dce9d5, 0x00578f7c, 0x013007e8, 0x002768d9}}, Y: Field{[10]uint32{0x0067a8dc, 0x02639474, 0x0109ebd2, 0x008c8bd3, 0x013bbc4b, 0x02426ba4, 0x02a1b102, 0x022b3aa1, 0x016698a2, 0x002ecdd1}}}, + {X: Field{[10]uint32{0x00c9d4db, 0x0066e28e, 0x011ba763, 0x02208b5a, 0x0213b257, 0x0105aa21, 0x02d1c3ba, 0x03371c1b, 0x021e1a19, 0x0037115e}}, Y: Field{[10]uint32{0x03dc3b58, 0x03a04fee, 0x01776dfc, 0x0363e0a1, 0x0385e25b, 0x02518e29, 0x01919fa2, 0x01943752, 0x0366de5a, 0x000e7e4f}}}, + {X: Field{[10]uint32{0x00f0374d, 0x02760ab3, 0x009a962b, 0x01badece, 0x03ec216c, 0x0132915b, 0x0357bc66, 0x003a617f, 0x031f1b1a, 0x002c8dde}}, Y: Field{[10]uint32{0x03578c1a, 0x00666b1d, 0x02db5dac, 0x030188ca, 0x027a040f, 0x00fae5d1, 0x0114e74b, 0x014272fc, 0x0180d723, 0x000e0e95}}}, + {X: Field{[10]uint32{0x00fc7e50, 0x0144492b, 0x01f65780, 0x03381797, 0x002a5a86, 0x02570936, 0x011fabeb, 0x00ea14e1, 0x0046755d, 0x0022c699}}, Y: Field{[10]uint32{0x0255cf75, 0x03ccd1a5, 0x036231ca, 0x01850e32, 0x01ed1cd4, 0x024a96ff, 0x0288aef1, 0x00a99d46, 0x01d4cb63, 0x0010ae21}}}, + {X: Field{[10]uint32{0x0103f5b1, 0x029bfc94, 0x01b3e7d5, 0x0288c285, 0x03c3a7ef, 0x00ea41e9, 0x01f14162, 0x00683279, 0x019cbacf, 0x00250220}}, Y: Field{[10]uint32{0x00506f98, 0x031a32c3, 0x0056b0d6, 0x00c32ec9, 0x021df08c, 0x002ade68, 0x0107451f, 0x013dcff4, 0x02c9d6f8, 0x002a5d63}}}, + {X: Field{[10]uint32{0x006ce25c, 0x00661c2c, 0x013ee9c3, 0x01cf090f, 0x029ce6d4, 0x02213693, 0x017c933a, 0x03e32e67, 0x004707b3, 0x0022ffbc}}, Y: Field{[10]uint32{0x03e5c498, 0x00f04b3d, 0x03e37ca7, 0x0213a281, 0x00627f1d, 0x00c05f16, 0x00d17ee8, 0x02bc5d54, 0x01870d06, 0x0022ef2f}}}, + {X: Field{[10]uint32{0x014bdb61, 0x034a52d0, 0x03cc0dc1, 0x01ff0e00, 0x018eff64, 0x037d60be, 0x00b84b8a, 0x000b8477, 0x03f0c122, 0x0000aa15}}, Y: Field{[10]uint32{0x02db6548, 0x003bfb11, 0x029afe43, 0x0076bdfe, 0x0262c8ae, 0x023a88ea, 0x00af8c64, 0x024c6091, 0x016da7fd, 0x0026eb11}}}, + {X: Field{[10]uint32{0x015cb5ec, 0x00eb2d97, 0x0083525e, 0x039a924f, 0x03b94b1e, 0x03fd4f9a, 0x006b2242, 0x017b4c34, 0x005a9048, 0x0024dee3}}, Y: Field{[10]uint32{0x03ccd808, 0x02c9d9a9, 0x02788da3, 0x019fa6df, 0x02c9c3d8, 0x038d9b29, 0x035a311a, 0x00dd2943, 0x036ff9fb, 0x0034dec4}}}, + {X: Field{[10]uint32{0x0243c77a, 0x0038280e, 0x001a065a, 0x00cd2248, 0x0122b249, 0x01a87971, 0x0150ff30, 0x035afb64, 0x0153e2bf, 0x0017d513}}, Y: Field{[10]uint32{0x02990f51, 0x00df82c4, 0x01562c31, 0x01f88059, 0x028f4c84, 0x01c33b4c, 0x012c4130, 0x0336605d, 0x00e28c47, 0x002ea708}}}, + {X: Field{[10]uint32{0x03c807b9, 0x025f9ea9, 0x01cbd9c2, 0x03ea0695, 0x01e3249c, 0x02e7e932, 0x0364fa7e, 0x022ebe96, 0x038890bf, 0x0019ed8c}}, Y: Field{[10]uint32{0x027625e6, 0x01876fab, 0x02567620, 0x0305b22e, 0x010d871e, 0x037e0229, 0x0354577e, 0x02e0450a, 0x02752d94, 0x00370615}}}, + {X: Field{[10]uint32{0x00439442, 0x00918a26, 0x02e2fbd3, 0x0360e1a8, 0x02b76604, 0x018ca00c, 0x012ffa3d, 0x01123e7e, 0x01d599cb, 0x00161ea7}}, Y: Field{[10]uint32{0x03ae9870, 0x035b7376, 0x03dee6b6, 0x021d47fe, 0x03488aa6, 0x036efd4c, 0x01e73ca2, 0x03ea9e92, 0x00e9a893, 0x00125a66}}}, + {X: Field{[10]uint32{0x03c29b38, 0x000a5298, 0x02a568f8, 0x00696190, 0x0218dfe5, 0x01746184, 0x00773123, 0x03fe7e04, 0x031ec576, 0x000dbede}}, Y: Field{[10]uint32{0x0166c4aa, 0x00055c85, 0x038e8a2f, 0x022586eb, 0x035c1a15, 0x01f7a298, 0x016fc1a6, 0x02c6fcb2, 0x02c9b82c, 0x000d2916}}}, + {X: Field{[10]uint32{0x01f4ba95, 0x0158931c, 0x03caef77, 0x00f5393b, 0x00ab8a27, 0x0027fd0d, 0x00f49c51, 0x03b34b76, 0x008ca0af, 0x0021edc7}}, Y: Field{[10]uint32{0x025676f9, 0x00e0b314, 0x010b81bc, 0x0286f5ab, 0x005b3626, 0x0079b672, 0x0127c56e, 0x009621d9, 0x011f5112, 0x00214645}}}, + {X: Field{[10]uint32{0x0063e040, 0x00e839e9, 0x0296cf43, 0x0262e069, 0x0000056c, 0x00ee8ec3, 0x03ed962c, 0x00dc2e8e, 0x00f2805c, 0x002b3d97}}, Y: Field{[10]uint32{0x01692d5b, 0x00ed0085, 0x023d663b, 0x008f35a3, 0x02dc7b0e, 0x00bd5fbc, 0x022762b5, 0x0385abe5, 0x029bf45b, 0x003c24e4}}}, + {X: Field{[10]uint32{0x0147acf1, 0x0011d7c8, 0x03f44899, 0x02ea04a5, 0x01e3e045, 0x00737ec7, 0x01f16740, 0x003216e4, 0x03ed8b01, 0x003824af}}, Y: Field{[10]uint32{0x03902c37, 0x01c2a61d, 0x0291b657, 0x02be2f76, 0x018c4d18, 0x0181c36a, 0x00160728, 0x01a0f790, 0x0042ecc8, 0x00382ee6}}}, + {X: Field{[10]uint32{0x010a52ae, 0x021c7298, 0x0269197c, 0x01fca3b3, 0x03ba386b, 0x01c14076, 0x0012735c, 0x02f2fc5e, 0x03b98260, 0x0026f7f5}}, Y: Field{[10]uint32{0x02371eeb, 0x033f7ad7, 0x00d9affb, 0x01e10188, 0x00887d9a, 0x017d427d, 0x01e01baa, 0x013339cc, 0x03983f8c, 0x0026f194}}}, + {X: Field{[10]uint32{0x0243545f, 0x028be0a1, 0x0240e9a4, 0x00361a90, 0x00afc8a8, 0x00255087, 0x005587a9, 0x00562572, 0x0321d931, 0x000f6c88}}, Y: Field{[10]uint32{0x03b78eae, 0x03dcd263, 0x028bfddb, 0x01153bf1, 0x02fdd6bb, 0x02c6651f, 0x0323c9af, 0x021a3783, 0x00b82c57, 0x0010abcc}}}, + {X: Field{[10]uint32{0x022b3e5f, 0x009e5858, 0x03da6256, 0x01908b4d, 0x03c3757a, 0x01790fe8, 0x02decbdc, 0x01fff3e1, 0x0314a6a7, 0x0003a74f}}, Y: Field{[10]uint32{0x00e67de7, 0x003e060c, 0x027f02f9, 0x0210db59, 0x03fd18ee, 0x02a4b305, 0x02d0764d, 0x01c5331b, 0x03ed1e2a, 0x0020eb02}}}, + {X: Field{[10]uint32{0x0042f2a4, 0x007547a6, 0x0180f089, 0x02161a09, 0x01b31b90, 0x02b56566, 0x01448af0, 0x01221c38, 0x02e4f29b, 0x00104921}}, Y: Field{[10]uint32{0x01e7ee3d, 0x034e5fc3, 0x01a8f080, 0x01ed4c58, 0x000bc557, 0x030b9d87, 0x03bbb039, 0x019e430b, 0x01318c0d, 0x0030c716}}}, + {X: Field{[10]uint32{0x02b4ddaa, 0x00a7648d, 0x01a267c5, 0x008a92cb, 0x01609f84, 0x026add7e, 0x01afbe0c, 0x0141bf8b, 0x007141ed, 0x003a77bb}}, Y: Field{[10]uint32{0x0194a21d, 0x0251e3db, 0x039eb220, 0x01fe6b6d, 0x008dfb76, 0x034a8290, 0x006029e5, 0x00ef0b61, 0x0144d846, 0x00021ca1}}}, + {X: Field{[10]uint32{0x0264218a, 0x03f5bfec, 0x031735f0, 0x00b16f2d, 0x01bbf01c, 0x02e24978, 0x03a17612, 0x011a8208, 0x0292553c, 0x00168288}}, Y: Field{[10]uint32{0x015dbae2, 0x03455d79, 0x0009ce90, 0x025a3c14, 0x00012de6, 0x0111ffe7, 0x021f8976, 0x003c4289, 0x01f0adda, 0x000c25f3}}}, + {X: Field{[10]uint32{0x00928d1f, 0x03784681, 0x03d005ba, 0x03e7383f, 0x02563a40, 0x0344bc61, 0x01dc23d8, 0x006b46e8, 0x02378b68, 0x001272ca}}, Y: Field{[10]uint32{0x016732d6, 0x001a564f, 0x03bd632a, 0x02db89da, 0x00fbecc5, 0x0360128f, 0x015a938a, 0x017e83fc, 0x02afc0f6, 0x003c8d78}}}, + {X: Field{[10]uint32{0x0215feb3, 0x02af6e45, 0x037ccf99, 0x03521345, 0x003dd1af, 0x01887351, 0x01ad510a, 0x0045dec1, 0x00b63688, 0x003535c7}}, Y: Field{[10]uint32{0x0162645b, 0x03c4bc1d, 0x02c02ac7, 0x018fec1d, 0x035316c3, 0x0254354c, 0x02f385fa, 0x02e6c581, 0x0378de3e, 0x000eb594}}}, + {X: Field{[10]uint32{0x01bfab2f, 0x00f9908d, 0x01148b7e, 0x02e0fd1f, 0x01529c99, 0x013a1b31, 0x03798c31, 0x01b80193, 0x02e14bdd, 0x0001646c}}, Y: Field{[10]uint32{0x00fa59b0, 0x01a95a2a, 0x03aeca98, 0x022575e0, 0x0112a517, 0x028da356, 0x02bbaf12, 0x01319935, 0x0266fd2a, 0x0013da18}}}, + {X: Field{[10]uint32{0x03356876, 0x02f88d91, 0x00086970, 0x0003d262, 0x02be2534, 0x00bab277, 0x03b63c29, 0x02f124f5, 0x0085c984, 0x003b940f}}, Y: Field{[10]uint32{0x03daa47e, 0x0315cf12, 0x01ccb976, 0x02ce9faf, 0x0139449b, 0x005359c4, 0x01704e96, 0x022731d0, 0x02bb6f9e, 0x002f60a2}}}, + {X: Field{[10]uint32{0x00b3f89e, 0x03256cc5, 0x01697758, 0x0325dff5, 0x03756e78, 0x0261f0eb, 0x036a3f98, 0x0287f328, 0x03a702e5, 0x000be6d3}}, Y: Field{[10]uint32{0x00a4a15d, 0x03a85407, 0x03cf33f0, 0x03c86997, 0x03956657, 0x02427670, 0x022e1cee, 0x00f1d13a, 0x015b3d5b, 0x00259a18}}}, + {X: Field{[10]uint32{0x02fd46c3, 0x02c7249e, 0x03a6234e, 0x02f01b84, 0x02a1f4ae, 0x00a8042a, 0x012b204e, 0x0093e17e, 0x006aa341, 0x00062db4}}, Y: Field{[10]uint32{0x034bef4e, 0x00120747, 0x0264fb46, 0x029550dc, 0x03258b0b, 0x00f81e7c, 0x02624bfa, 0x0002c01f, 0x01b9bdf6, 0x0019b30c}}}, + {X: Field{[10]uint32{0x01b44ba0, 0x00c0d037, 0x016881cc, 0x013594e5, 0x0367662a, 0x00c36dba, 0x0337d0f0, 0x023763ff, 0x0163bf75, 0x000ef01e}}, Y: Field{[10]uint32{0x01057e5d, 0x01dc306b, 0x008a357d, 0x03b2dd15, 0x008e6dc1, 0x01db6dbe, 0x039a3c22, 0x026870b7, 0x02f26820, 0x00183847}}}, + {X: Field{[10]uint32{0x013a46a8, 0x026ca201, 0x01e3dd08, 0x016bc3ba, 0x0291498b, 0x0327e9a2, 0x0149af30, 0x01508ebf, 0x01d65b32, 0x0002fd61}}, Y: Field{[10]uint32{0x038e66a6, 0x033dab78, 0x00c0594b, 0x0304d147, 0x0204c000, 0x02a794e5, 0x0256e2cf, 0x012e6944, 0x00e9ea48, 0x000be251}}}, + {X: Field{[10]uint32{0x03b69294, 0x02704cf3, 0x01a7f64e, 0x00e35fc1, 0x00f0cf14, 0x007d03be, 0x01b59a91, 0x00095d75, 0x022ebe7a, 0x00221f02}}, Y: Field{[10]uint32{0x00aec5c9, 0x01c79c58, 0x02a58402, 0x0037483d, 0x019c37c3, 0x0105d524, 0x03de5949, 0x0319bd43, 0x00c84f9b, 0x00117ccd}}}, + {X: Field{[10]uint32{0x022f7d4f, 0x03e68d98, 0x0211601b, 0x027e0128, 0x003718e7, 0x030f71af, 0x0217700f, 0x00c97166, 0x02f90a73, 0x00276b5e}}, Y: Field{[10]uint32{0x02159525, 0x00a616b9, 0x03136644, 0x02b40624, 0x0140644b, 0x0227ae37, 0x02326ecb, 0x01aa531f, 0x025e099c, 0x000adf08}}}, + {X: Field{[10]uint32{0x03dd551b, 0x02116529, 0x006947cb, 0x007272be, 0x0363bcb6, 0x01cf37f3, 0x03e9a2ed, 0x00a7dd3c, 0x039572bd, 0x00211f93}}, Y: Field{[10]uint32{0x0393ee16, 0x0226856c, 0x004b81ea, 0x020a8407, 0x000f6f11, 0x01c32cd1, 0x006286d3, 0x00b18bea, 0x0282e0a9, 0x002e9bb4}}}, + {X: Field{[10]uint32{0x0047a593, 0x012bd1fc, 0x01580268, 0x00b3374f, 0x00b5d8c6, 0x02495b1c, 0x033c4b44, 0x00d80119, 0x0205df1c, 0x0009484c}}, Y: Field{[10]uint32{0x03096837, 0x018f59fb, 0x01f3c547, 0x03b10a9e, 0x0395aabf, 0x02881591, 0x022a47a8, 0x011c27eb, 0x01de05af, 0x000db720}}}, + {X: Field{[10]uint32{0x0058e87a, 0x0032f384, 0x0229ab17, 0x01c175cc, 0x0095ebfd, 0x00beca7f, 0x013a25ef, 0x037de91c, 0x00d84866, 0x001d48a3}}, Y: Field{[10]uint32{0x0012fe6d, 0x02ecc2f0, 0x03812a7d, 0x01564a6e, 0x0168a473, 0x00215105, 0x025f056c, 0x034fd3f4, 0x039bcc02, 0x003ee921}}}, + {X: Field{[10]uint32{0x01b68568, 0x036b6ed6, 0x03fe4b6a, 0x00dd0b18, 0x00981a13, 0x00109224, 0x002fb07c, 0x01f021b4, 0x01392286, 0x001d2515}}, Y: Field{[10]uint32{0x011af3e2, 0x03aed507, 0x01180341, 0x00111919, 0x013e3b8d, 0x0091f9d4, 0x030bf0b5, 0x02c6722b, 0x01178df8, 0x001f5dd2}}}, + {X: Field{[10]uint32{0x03c9b04f, 0x0383f2ff, 0x03f7a609, 0x038d5fd1, 0x0271d28c, 0x00a651bc, 0x00cbadfc, 0x038e73e8, 0x03532899, 0x001a76df}}, Y: Field{[10]uint32{0x019feabc, 0x0252d8c6, 0x011f0a66, 0x0375d928, 0x0326da7c, 0x007543e7, 0x0023ffee, 0x01576ab5, 0x03bb1032, 0x0032c090}}}, + {X: Field{[10]uint32{0x0129f8c7, 0x01cf0a4a, 0x022251d1, 0x03d54f6b, 0x02ec4aed, 0x0240be48, 0x012fc378, 0x0036f83f, 0x01c1fb4a, 0x001c9fb3}}, Y: Field{[10]uint32{0x011f453b, 0x03525799, 0x0035c224, 0x030592f0, 0x02bfc4f7, 0x015d536c, 0x0046ee5e, 0x02358199, 0x02ed1377, 0x002b96ec}}}, + {X: Field{[10]uint32{0x02f25b72, 0x0278cd1f, 0x00382b12, 0x01cd7baf, 0x01912138, 0x00b1fcaf, 0x007f5c9e, 0x01512f88, 0x018f0ec2, 0x00240f3b}}, Y: Field{[10]uint32{0x003190a6, 0x01073565, 0x00c8bb2e, 0x0255af90, 0x03ff75c7, 0x03ea2df6, 0x009bf33a, 0x00f4c57a, 0x02290ee1, 0x000845f2}}}, + {X: Field{[10]uint32{0x0203f33b, 0x02eee646, 0x02ca33a6, 0x03c200cd, 0x031c8906, 0x03f4d8dc, 0x038a5ad6, 0x03845cd8, 0x03ef5149, 0x00313519}}, Y: Field{[10]uint32{0x0229b5c7, 0x026058c1, 0x01b63bf3, 0x0033fe5d, 0x00431ad8, 0x02fcbf3b, 0x03d437ea, 0x01af3f38, 0x03244c53, 0x003a96d6}}}, + {X: Field{[10]uint32{0x0237326f, 0x0178df3a, 0x03cf9d32, 0x029b0daf, 0x01cff7a8, 0x036028bc, 0x03b2b7ad, 0x0027dec8, 0x03a65f6d, 0x0005ad5d}}, Y: Field{[10]uint32{0x009f15c1, 0x01ce4d34, 0x02dcbe90, 0x03876c68, 0x0184d98b, 0x0294a9e4, 0x00a65760, 0x0139788a, 0x00e21467, 0x00019aea}}}, + {X: Field{[10]uint32{0x0363412f, 0x0214c766, 0x01f5a676, 0x036f4afc, 0x0367fcee, 0x02f5f77d, 0x02453846, 0x02b7f387, 0x02f2e480, 0x002b52f2}}, Y: Field{[10]uint32{0x01e741ac, 0x0068e03a, 0x03f4a0a6, 0x02dd59cd, 0x00c4c891, 0x0097b9cb, 0x031b3a45, 0x003d6446, 0x03604781, 0x00147e80}}}, + {X: Field{[10]uint32{0x033b571a, 0x01ccd8b0, 0x01dd587d, 0x037b767a, 0x0151ca65, 0x006f2ce6, 0x012d776d, 0x039e1d29, 0x033852d2, 0x002c927a}}, Y: Field{[10]uint32{0x03a66258, 0x000c8c94, 0x031d9b11, 0x001a9e70, 0x0062dd77, 0x005dc25b, 0x03cd84eb, 0x03b3a020, 0x002414e4, 0x000f8982}}}, + {X: Field{[10]uint32{0x01e14a65, 0x0347b12f, 0x029dbccf, 0x0181f8ef, 0x0374dd05, 0x0274b14e, 0x0310d3a5, 0x0006ba04, 0x02c7696a, 0x0018d064}}, Y: Field{[10]uint32{0x03b0e00f, 0x03948895, 0x0154adcb, 0x03912e4a, 0x004fd4cc, 0x031e1ec6, 0x02dcd709, 0x0381df61, 0x0050e366, 0x001156d2}}}, + {X: Field{[10]uint32{0x022f5099, 0x02577312, 0x02ce6fd2, 0x03b7eec6, 0x02acc3c5, 0x0052c662, 0x02159ccc, 0x00fe0127, 0x03f50d43, 0x003fefb2}}, Y: Field{[10]uint32{0x000be3c0, 0x00779491, 0x0285caaa, 0x01a22921, 0x03dd68d3, 0x0300ee8c, 0x0089acf9, 0x01b3d0d9, 0x02ba1ec6, 0x00108b9e}}}, + {X: Field{[10]uint32{0x001868af, 0x00cf7457, 0x035ad8c1, 0x00ed4269, 0x02b6a8c8, 0x03418cb6, 0x034f1a90, 0x03a08e73, 0x00dc1067, 0x00196d31}}, Y: Field{[10]uint32{0x014d260e, 0x02b0797e, 0x026d840d, 0x005e7548, 0x0320c678, 0x01fd0a80, 0x003f8ae0, 0x01186146, 0x019dd765, 0x003df3d7}}}, + {X: Field{[10]uint32{0x03f9c67e, 0x00695826, 0x0355924c, 0x02ecd756, 0x008de48d, 0x0016e343, 0x018dbed4, 0x00d40b54, 0x00ce9d60, 0x0034e03b}}, Y: Field{[10]uint32{0x0364c128, 0x00d7e3f6, 0x013ae50c, 0x0136a02c, 0x038b241b, 0x01971827, 0x030ac152, 0x02ac427a, 0x0080fd18, 0x0006ba11}}}, + {X: Field{[10]uint32{0x0244511c, 0x0213fd33, 0x002df634, 0x03dc6741, 0x003fce43, 0x01774694, 0x00a1d961, 0x006efb5e, 0x0128b5ce, 0x0005c627}}, Y: Field{[10]uint32{0x0382350d, 0x01a91ce9, 0x03bb5759, 0x026236cb, 0x0185c532, 0x029584a2, 0x021b948b, 0x00f8e504, 0x00f47c7b, 0x003ef28a}}}, + {X: Field{[10]uint32{0x00c2e84d, 0x0160e0a0, 0x01ee73f5, 0x0393ebf3, 0x010be685, 0x02496fcf, 0x01ae4e61, 0x02c1f6a1, 0x02c2e2a8, 0x003ef8cc}}, Y: Field{[10]uint32{0x024e29ca, 0x0295e5fa, 0x00eb30e1, 0x0381ad65, 0x02b11c43, 0x026d0b2f, 0x038c6d77, 0x01f6838f, 0x03425e18, 0x002aa45c}}}, + {X: Field{[10]uint32{0x00bc834f, 0x01e58ee8, 0x0321002d, 0x03d736ab, 0x012100d1, 0x00ba7348, 0x00bd5182, 0x01c97e2d, 0x02878b5e, 0x0022e7a2}}, Y: Field{[10]uint32{0x003ed659, 0x01de8233, 0x00563bed, 0x0371154b, 0x02b2e873, 0x002d95c0, 0x031d6ad8, 0x015af57f, 0x031cc28f, 0x000cc7ec}}}, + {X: Field{[10]uint32{0x01e111ca, 0x003323a3, 0x02a3bd73, 0x022ad9a2, 0x0234e1a6, 0x032986b0, 0x02798ace, 0x02f2b45e, 0x0011a3c0, 0x0025fa49}}, Y: Field{[10]uint32{0x0147f48f, 0x0312fc5a, 0x007eb7cd, 0x01d82ebf, 0x01047949, 0x00f08690, 0x035fb759, 0x01785cb9, 0x00a4bac1, 0x002c3c5c}}}, + {X: Field{[10]uint32{0x0044eea8, 0x008ec974, 0x016919cd, 0x007f5354, 0x0349aa3c, 0x0309e55d, 0x00c76f82, 0x00f1bb32, 0x001333a1, 0x00080d62}}, Y: Field{[10]uint32{0x000c7f29, 0x00f2245e, 0x025c0ee7, 0x03c41366, 0x00259fc4, 0x037c3cd1, 0x022f9517, 0x02bc2bb3, 0x02a48c86, 0x001202be}}}, + {X: Field{[10]uint32{0x027dbcff, 0x016fade9, 0x00343a66, 0x03988adf, 0x02617579, 0x02126fbf, 0x01551039, 0x01d02a40, 0x00cb1575, 0x0032a87b}}, Y: Field{[10]uint32{0x00e0a20b, 0x0354b829, 0x02577e0b, 0x004e707a, 0x011aee51, 0x02fc10b6, 0x03d34511, 0x01cbfedb, 0x03f9f1c9, 0x002a9a56}}}, + {X: Field{[10]uint32{0x02620719, 0x028eb6f0, 0x02bbd138, 0x0279ba3c, 0x03f33104, 0x03f5ae20, 0x02a212a7, 0x01ea3bf6, 0x03a2036f, 0x00239f0a}}, Y: Field{[10]uint32{0x02ec105c, 0x01863e0b, 0x02d0220a, 0x00c47fb3, 0x00d9b6e0, 0x01de7e30, 0x006c4e2e, 0x03ecfd61, 0x002f1434, 0x002f40dc}}}, + {X: Field{[10]uint32{0x02ace975, 0x018df1ee, 0x033b24dd, 0x0046393a, 0x0388fbad, 0x00301de0, 0x03ebf094, 0x001307f3, 0x00336dcd, 0x00381f70}}, Y: Field{[10]uint32{0x032a2c2c, 0x01985aac, 0x0019510d, 0x01a14011, 0x02ef6f92, 0x02f54c55, 0x02ccf311, 0x03b2c1d8, 0x00a00e5e, 0x002c4ef4}}}, + {X: Field{[10]uint32{0x038ce0cb, 0x03e8b7ee, 0x0307297a, 0x0247470c, 0x0095aba7, 0x036c2ca3, 0x018a9044, 0x02bc0427, 0x00252679, 0x001981b2}}, Y: Field{[10]uint32{0x00e1d3cc, 0x01f2b202, 0x02054647, 0x015cdae8, 0x0310fe6c, 0x011e1a3e, 0x010de777, 0x01e64d5c, 0x019ca980, 0x001d4179}}}, + {X: Field{[10]uint32{0x01e6f061, 0x02e64d47, 0x020b522a, 0x00d4ae67, 0x022b31f9, 0x0037976b, 0x005450fb, 0x0089b02d, 0x00dcec48, 0x0027efd3}}, Y: Field{[10]uint32{0x02f850dd, 0x03e98047, 0x02c91a7d, 0x0119c0d3, 0x00e9c5b6, 0x00d8adf7, 0x020d58a2, 0x0083a182, 0x00a23da0, 0x003cb934}}}, + {X: Field{[10]uint32{0x006916bc, 0x03d8618a, 0x01b1b976, 0x019fa003, 0x00b7cc81, 0x025df4cb, 0x00b0403e, 0x03ff0a62, 0x02975195, 0x000381b5}}, Y: Field{[10]uint32{0x030bb8bb, 0x011302f0, 0x01c83632, 0x02ec3069, 0x02068302, 0x012400fa, 0x0380e04a, 0x034885eb, 0x030a27d3, 0x0020054d}}}, + {X: Field{[10]uint32{0x0293a6e2, 0x028fc2a4, 0x01a6bcf4, 0x01dfa5e1, 0x03ff7925, 0x01b85b35, 0x0112fd4e, 0x00aab194, 0x03ab021d, 0x002b7359}}, Y: Field{[10]uint32{0x03fd7fb8, 0x02970ad5, 0x0293d0fa, 0x03526d6f, 0x018e4f40, 0x01730eeb, 0x0058608f, 0x00aaa814, 0x02202906, 0x001949ed}}}, + {X: Field{[10]uint32{0x01f2bd38, 0x02fde8b8, 0x00e133e0, 0x005da244, 0x035a4473, 0x025a026c, 0x007e963d, 0x01932c46, 0x01eab43a, 0x0007641a}}, Y: Field{[10]uint32{0x01e29108, 0x037cc6a4, 0x033bbf15, 0x023e93b0, 0x00fc78c2, 0x03bd5057, 0x012f9a68, 0x023fa52b, 0x02de854b, 0x002ac0f7}}}, + {X: Field{[10]uint32{0x0220a768, 0x008b99c2, 0x0140e3a4, 0x03dca8e0, 0x03603206, 0x033a0fd2, 0x00168ae8, 0x0224bc52, 0x0376b8ec, 0x003c7dad}}, Y: Field{[10]uint32{0x01bff25a, 0x02ff2cae, 0x0345d14a, 0x01f60a9f, 0x01e7136a, 0x02ec9736, 0x019b11a7, 0x0368845f, 0x00363413, 0x00224ae8}}}, + {X: Field{[10]uint32{0x02fab379, 0x007177c7, 0x03fb0040, 0x008d0ce9, 0x03c21d1c, 0x0228b70e, 0x03a8d1bf, 0x03d3343c, 0x014ace79, 0x002a213e}}, Y: Field{[10]uint32{0x02a05c96, 0x00c3e037, 0x03082dd6, 0x03e97434, 0x03c611af, 0x03c0f77d, 0x0282fbee, 0x009233b0, 0x016c6e45, 0x0017d4cd}}}, + {X: Field{[10]uint32{0x021da9ff, 0x0203c439, 0x02fe981a, 0x0020d7a7, 0x031fb2be, 0x02d2353d, 0x00165640, 0x02200384, 0x0030197a, 0x002c6621}}, Y: Field{[10]uint32{0x01d849b9, 0x01a36393, 0x00bdf44a, 0x01057b1c, 0x000e515a, 0x01b85068, 0x027ace58, 0x004b496f, 0x024dea7d, 0x003571e1}}}, + {X: Field{[10]uint32{0x0127fedb, 0x0110d383, 0x02d4d109, 0x02ba50bd, 0x0246985a, 0x02db24ea, 0x01c1db82, 0x016e12f5, 0x02a7529d, 0x00056dce}}, Y: Field{[10]uint32{0x02721f89, 0x036af23b, 0x02262075, 0x037bcbf2, 0x00632ac6, 0x00728f50, 0x0011259b, 0x0344f108, 0x02a2bc8a, 0x000a5f8c}}}, + {X: Field{[10]uint32{0x0197d40f, 0x01de0b1f, 0x00f3f57f, 0x01e85b34, 0x038e35cc, 0x005b948f, 0x01926301, 0x007ec596, 0x02e0443c, 0x000ce69d}}, Y: Field{[10]uint32{0x01fe9659, 0x02f5dcf3, 0x02a229e5, 0x01af104e, 0x03914f0f, 0x00ed4b9b, 0x02756201, 0x01e130cf, 0x012efecd, 0x00226419}}}, + {X: Field{[10]uint32{0x027adfef, 0x02d460ed, 0x0251bf64, 0x038613d3, 0x03b1c535, 0x02c24112, 0x018312e9, 0x0376ae51, 0x00fffb80, 0x002fbc9b}}, Y: Field{[10]uint32{0x0137490b, 0x02f79167, 0x03bb5ba1, 0x03c859d6, 0x012c6943, 0x016cc43d, 0x0320518c, 0x01aa0d63, 0x029aef07, 0x000e0624}}}, + {X: Field{[10]uint32{0x00b2427e, 0x036490c2, 0x01894c71, 0x02188c49, 0x003dd40d, 0x013e46c2, 0x00dae108, 0x0309cd3d, 0x00818daf, 0x0033715b}}, Y: Field{[10]uint32{0x03503cca, 0x0041fc07, 0x02c71f07, 0x00d4fd61, 0x01b43769, 0x0155e7e4, 0x01425694, 0x00a2d511, 0x009de9c8, 0x0003d2cc}}}, + {X: Field{[10]uint32{0x0175bc6d, 0x0148039f, 0x01911cd6, 0x0298a9dd, 0x03a09312, 0x0258717e, 0x01be80a1, 0x0211e7b2, 0x0281b1f3, 0x000f77bf}}, Y: Field{[10]uint32{0x02df055d, 0x0160d615, 0x015d3a1e, 0x01442a7a, 0x027c7e2d, 0x02a001f4, 0x03fae4eb, 0x02d1e53b, 0x02dd1eb9, 0x001d760f}}}, + {X: Field{[10]uint32{0x00576826, 0x00e41044, 0x0399e763, 0x03498eab, 0x02a18879, 0x02484b3c, 0x02bae125, 0x00b2f130, 0x03769903, 0x00369f19}}, Y: Field{[10]uint32{0x00553f08, 0x02ba7cce, 0x031d0c07, 0x00f0fc72, 0x024314cc, 0x03a01a63, 0x031f7799, 0x03116e61, 0x0188360a, 0x000b9e9b}}}, + {X: Field{[10]uint32{0x0280d927, 0x02aa446a, 0x003859df, 0x0312b870, 0x02b8aba4, 0x01fd1556, 0x00faa801, 0x00831623, 0x0035e0bc, 0x0009846d}}, Y: Field{[10]uint32{0x014508d4, 0x0032b4df, 0x01b417ce, 0x03490a79, 0x00e47549, 0x0014a7eb, 0x01ff8c1c, 0x03141119, 0x001ae51d, 0x003ad63e}}}, + {X: Field{[10]uint32{0x03962961, 0x03fb1ed9, 0x027bc3de, 0x0025a516, 0x020b8f4c, 0x001adc75, 0x015aa088, 0x01f12a9c, 0x014836f0, 0x002c3ef9}}, Y: Field{[10]uint32{0x03e5abe0, 0x020694e0, 0x010de2a8, 0x02c117b9, 0x021c1749, 0x0378c328, 0x018668fe, 0x01d13431, 0x022466e7, 0x00331828}}}, + {X: Field{[10]uint32{0x01020581, 0x02ed27b2, 0x01a9eb50, 0x03ad7b7b, 0x0277d371, 0x01180f21, 0x00b7688b, 0x03b9d7eb, 0x036fdc51, 0x000680cc}}, Y: Field{[10]uint32{0x00daa7d7, 0x01c57926, 0x0218ce9f, 0x01166f9f, 0x03bd5071, 0x02b3f6f1, 0x0055fc36, 0x03b7e266, 0x030309c0, 0x000ff3c6}}}, + {X: Field{[10]uint32{0x00c159ed, 0x03b9cbde, 0x013c3810, 0x02492793, 0x020cf728, 0x00bda28d, 0x0049b20f, 0x024556aa, 0x0215c834, 0x001d8e84}}, Y: Field{[10]uint32{0x00482684, 0x03797996, 0x0390bd7d, 0x031a7ff4, 0x037b68d5, 0x007cbc89, 0x0395fbad, 0x0387b685, 0x021ccf30, 0x000de09a}}}, + {X: Field{[10]uint32{0x02da4edd, 0x00b09f72, 0x01eff63f, 0x03617e81, 0x00f7e664, 0x01bc0623, 0x020a586a, 0x00f8df73, 0x00c23018, 0x001ff1ed}}, Y: Field{[10]uint32{0x03ed6a8f, 0x0057244a, 0x03f50ac4, 0x03ebf915, 0x036338d2, 0x02af9ef3, 0x02493430, 0x02681bc1, 0x000e6ea8, 0x003f5e9e}}}, + {X: Field{[10]uint32{0x0065ddd8, 0x00984d77, 0x008d7747, 0x03f3c05b, 0x03dc543b, 0x01049623, 0x01eb7d70, 0x01bd5436, 0x03c9b068, 0x00088a01}}, Y: Field{[10]uint32{0x016cc2ab, 0x0255ec29, 0x0098b43d, 0x02d0c072, 0x029a34b2, 0x0064e4f6, 0x036d1553, 0x008bbf2c, 0x0102456c, 0x002e59c2}}}, + {X: Field{[10]uint32{0x005fda77, 0x00627c3f, 0x01603ed0, 0x01182aff, 0x02db6363, 0x028134f1, 0x0233f69c, 0x0341b9b2, 0x033698d8, 0x001e763a}}, Y: Field{[10]uint32{0x03d955f1, 0x009945c8, 0x02b28f13, 0x02789b5e, 0x02931fd4, 0x00676d48, 0x011d460e, 0x00d2a637, 0x03e11b02, 0x002fff25}}}, + {X: Field{[10]uint32{0x03add34b, 0x013449fa, 0x01dc5d46, 0x01aab223, 0x031f801a, 0x037b3db8, 0x02b77130, 0x0386db56, 0x02188e72, 0x00288d99}}, Y: Field{[10]uint32{0x03d60ed1, 0x00daaf9d, 0x03aebb17, 0x0321464f, 0x0070e99a, 0x00543fec, 0x034cd1cd, 0x00644c9d, 0x0236f3e7, 0x003bc8f6}}}, + {X: Field{[10]uint32{0x01dd9612, 0x03f06ed2, 0x013be480, 0x02cfe87c, 0x01b1fcbd, 0x00fe91a9, 0x023e8e74, 0x0205b644, 0x004ddde6, 0x002daeb4}}, Y: Field{[10]uint32{0x02a4e511, 0x02c0402d, 0x035467f1, 0x001f6566, 0x01850c65, 0x0116e02c, 0x00b7f346, 0x02c9ce9a, 0x0209a290, 0x001617eb}}}, + {X: Field{[10]uint32{0x00c3dfbd, 0x007874bd, 0x03aceb49, 0x0163cf5b, 0x0133fcbd, 0x02ed4063, 0x03113db8, 0x039c54a0, 0x00253353, 0x000afc87}}, Y: Field{[10]uint32{0x038d896e, 0x03113273, 0x033ef569, 0x03628356, 0x03b9fec4, 0x00e91ec1, 0x00491214, 0x01356f23, 0x03a74e8a, 0x0038e80c}}}, + {X: Field{[10]uint32{0x01842744, 0x03777497, 0x02dda358, 0x0099a817, 0x0041e9ad, 0x01c4247d, 0x03f3a90e, 0x038d7418, 0x0241e978, 0x0019309e}}, Y: Field{[10]uint32{0x01ae32d1, 0x0304ce4f, 0x03d27521, 0x0008ed49, 0x02bed768, 0x03f99f05, 0x00aac9ec, 0x029a5662, 0x025e08fd, 0x003f2ed8}}}, + {X: Field{[10]uint32{0x0081a58d, 0x010b4ad9, 0x03399b75, 0x02b680be, 0x00af62ac, 0x018f35f2, 0x00ef4350, 0x016d7a69, 0x02f6fdfe, 0x00188287}}, Y: Field{[10]uint32{0x01b8054f, 0x030c16b7, 0x01ae57be, 0x0317b209, 0x03a45fa7, 0x0151f880, 0x007f105c, 0x024e9be8, 0x023c5503, 0x002c2de7}}}, + {X: Field{[10]uint32{0x007b95cd, 0x01d19d4c, 0x038a1ecd, 0x014681af, 0x0215e712, 0x0093b831, 0x03ef68b4, 0x01c550d1, 0x01317cef, 0x000548fc}}, Y: Field{[10]uint32{0x00743b1d, 0x0145bffc, 0x02612bf5, 0x03154f70, 0x00a55806, 0x03c4796d, 0x01fe67a3, 0x03599370, 0x00cc1d8a, 0x0031c955}}}, + {X: Field{[10]uint32{0x02ea0cfd, 0x035ca513, 0x03700f66, 0x00f02dd4, 0x01b43f76, 0x0335cff3, 0x00d4d8c2, 0x021e5300, 0x003c0a9c, 0x0035d94c}}, Y: Field{[10]uint32{0x03bc267b, 0x0180f495, 0x02623781, 0x008ab806, 0x0035b4cd, 0x028c1937, 0x0217b73d, 0x035dea8e, 0x00a5204d, 0x002ebf2b}}}, + {X: Field{[10]uint32{0x00c468b6, 0x03c12b59, 0x01a8ea17, 0x01ed860e, 0x01ffbbf8, 0x00972f10, 0x0198759c, 0x03a59594, 0x021afafc, 0x0029d7ad}}, Y: Field{[10]uint32{0x01869873, 0x0125f659, 0x007b8041, 0x00859356, 0x03a8eba3, 0x029b5439, 0x0049b181, 0x0122a94f, 0x0093240f, 0x0026600a}}}, + {X: Field{[10]uint32{0x00e59f2a, 0x01381aef, 0x03cfa408, 0x01f6fac2, 0x01e7053f, 0x009079a4, 0x01813c71, 0x0246db09, 0x034cd0bb, 0x001fe906}}, Y: Field{[10]uint32{0x0184aec7, 0x020ec738, 0x0209f7e5, 0x00b0012a, 0x039431e2, 0x03da8b15, 0x017e7e20, 0x01a57e0c, 0x0379755a, 0x00282505}}}, + {X: Field{[10]uint32{0x02e4dbf5, 0x0333fd85, 0x03d6fcc5, 0x03ef6082, 0x033bfa1b, 0x02b889db, 0x01eb4408, 0x03c4ab63, 0x01b72240, 0x00205b03}}, Y: Field{[10]uint32{0x037e52d0, 0x0059810f, 0x02c9f67c, 0x0342a606, 0x02e57acb, 0x03dc0957, 0x009dd4bb, 0x03996251, 0x013dd91e, 0x000a94b2}}}, + {X: Field{[10]uint32{0x023414f8, 0x03725430, 0x0380fbb7, 0x021ec305, 0x00ddbb3d, 0x011a4178, 0x0390ac73, 0x00509544, 0x01f1317f, 0x000cfd8d}}, Y: Field{[10]uint32{0x014bfbcb, 0x01a950f9, 0x013bdb62, 0x02000afe, 0x01151235, 0x02f0acb0, 0x034d570b, 0x006622e5, 0x015584eb, 0x001d0d68}}}, + {X: Field{[10]uint32{0x0251999c, 0x02fb11a8, 0x00eb3e94, 0x0079ed78, 0x030bdfe1, 0x02f10e29, 0x0307185f, 0x02ec0cd4, 0x02d704b0, 0x0034a50e}}, Y: Field{[10]uint32{0x036d577e, 0x02925059, 0x0006f19a, 0x01aceffb, 0x00b6097d, 0x03fdba7f, 0x01e41def, 0x028c53af, 0x03cf19aa, 0x000b72a3}}}, + {X: Field{[10]uint32{0x01fb1da6, 0x00494967, 0x01516b01, 0x01970434, 0x00fb524b, 0x01791283, 0x0054390b, 0x01d69bfb, 0x03bfc543, 0x0009aa87}}, Y: Field{[10]uint32{0x01a91b02, 0x009380e6, 0x03a2fd4b, 0x01bc02af, 0x0083973c, 0x039fa066, 0x037d0b6e, 0x01d7380c, 0x02a604c5, 0x00127b3a}}}, + {X: Field{[10]uint32{0x03d28d20, 0x02d633e9, 0x000cd65e, 0x01f7a08c, 0x02ab1871, 0x02523cbd, 0x026d7da1, 0x0280c172, 0x001af866, 0x001e02bb}}, Y: Field{[10]uint32{0x0008b91a, 0x03ca5e2f, 0x0392992c, 0x000862ab, 0x02414b3a, 0x001edbde, 0x0075b6d1, 0x00387aa4, 0x0041e45a, 0x00369940}}}, + {X: Field{[10]uint32{0x00b88b67, 0x035b540b, 0x03b3d5ee, 0x00fca7fd, 0x01ef9811, 0x00f31079, 0x0115853b, 0x037528f9, 0x02598e59, 0x000773fc}}, Y: Field{[10]uint32{0x02b77271, 0x02005c86, 0x012f28c6, 0x02faa6ae, 0x03aed86c, 0x00e0db81, 0x014307ae, 0x01c79159, 0x02307c68, 0x0035e5e1}}}, + {X: Field{[10]uint32{0x033ff70d, 0x0223b90d, 0x00b01e24, 0x00ea736d, 0x038f336f, 0x03b38718, 0x02367eb5, 0x0064de4f, 0x00a27732, 0x002c66bd}}, Y: Field{[10]uint32{0x00821dec, 0x01357de7, 0x0241dc21, 0x0337553d, 0x03b9e73f, 0x01aa3b9c, 0x037f27a2, 0x0168b509, 0x0039a510, 0x0028faa2}}}, + {X: Field{[10]uint32{0x00f6755e, 0x01e0bdad, 0x02066acf, 0x00b69223, 0x0235f24e, 0x024c925c, 0x00b6126b, 0x0277dbca, 0x0329548a, 0x00072307}}, Y: Field{[10]uint32{0x01ff432d, 0x017be584, 0x030c9179, 0x008ea198, 0x0278108b, 0x0065a81f, 0x00c7e2a3, 0x006bb173, 0x03526a1e, 0x00069e6a}}}, + {X: Field{[10]uint32{0x015716ce, 0x00454faf, 0x021d4f0b, 0x01d44b10, 0x00e4d700, 0x010c4e5a, 0x00a10b7b, 0x030f08f2, 0x01da1ad6, 0x002dbfe3}}, Y: Field{[10]uint32{0x01ce61b8, 0x00c1be69, 0x0232d7c9, 0x030aaa1e, 0x00af8dbe, 0x036cf807, 0x00d21e4e, 0x01059f28, 0x01c6b7b7, 0x00134e1a}}}, + {X: Field{[10]uint32{0x00f47b5c, 0x012233b4, 0x02ccb375, 0x02760c39, 0x00ec08cf, 0x03e82b58, 0x00219329, 0x02a12a06, 0x00acf61b, 0x00373bfd}}, Y: Field{[10]uint32{0x0137d6f9, 0x029bad70, 0x013b1736, 0x02c0e158, 0x00fb1b8d, 0x029292aa, 0x03d5508a, 0x0186d220, 0x00e192bc, 0x002526bb}}}, + {X: Field{[10]uint32{0x00a5ebef, 0x03bacdf7, 0x01c8b131, 0x0262fa14, 0x01843ccf, 0x028f3a10, 0x004aa189, 0x01a2725f, 0x03a7b709, 0x00155879}}, Y: Field{[10]uint32{0x019a14da, 0x007c56ea, 0x015a709a, 0x029b9977, 0x0233b924, 0x01ad0528, 0x00e6b7f2, 0x02f8d90c, 0x0017f298, 0x0012c423}}}, + {X: Field{[10]uint32{0x0395a257, 0x003265e8, 0x008027ca, 0x01516cf2, 0x019c56a2, 0x038193a7, 0x025d5bb2, 0x00565423, 0x017789b0, 0x00136625}}, Y: Field{[10]uint32{0x00b6e0d0, 0x007c8850, 0x02675795, 0x03396dc1, 0x00506964, 0x016c0271, 0x03200c9f, 0x001d5b16, 0x0333ac95, 0x002abaeb}}}, + {X: Field{[10]uint32{0x033bfc8e, 0x01a84bf8, 0x03668124, 0x00befd2b, 0x00e9da51, 0x019b3201, 0x02d55a9d, 0x00f12cc2, 0x026e0637, 0x0020ad63}}, Y: Field{[10]uint32{0x025ffb38, 0x03011e06, 0x013d387c, 0x01f4bfcd, 0x01d6d757, 0x03fd310a, 0x033b5c21, 0x0078dcb0, 0x022d98dc, 0x0020de04}}}, + {X: Field{[10]uint32{0x02c6cdf3, 0x0266fa00, 0x0063ad11, 0x01d4d9a5, 0x03714c3d, 0x03beb113, 0x017d8809, 0x01e12ff9, 0x008aa773, 0x003d27ea}}, Y: Field{[10]uint32{0x0218b3f4, 0x02a8e7e6, 0x00772b96, 0x02c12608, 0x02aa9855, 0x024d20ef, 0x03e72814, 0x02904722, 0x02c02164, 0x00106bfd}}}, + {X: Field{[10]uint32{0x00efd78c, 0x031633b0, 0x03073969, 0x03c035e2, 0x010ce910, 0x030614a9, 0x01b97a78, 0x01168630, 0x01dbac84, 0x0019f521}}, Y: Field{[10]uint32{0x00981e97, 0x01bcc821, 0x034be44e, 0x02e73c67, 0x01596f49, 0x022fc1f6, 0x00aa5a82, 0x00acc57f, 0x012a24ff, 0x001c776a}}}, + {X: Field{[10]uint32{0x0304d4cd, 0x02a58411, 0x0350adb2, 0x01fa2d74, 0x0030a46f, 0x0169c5d8, 0x0399883b, 0x00e30f3f, 0x02f2c190, 0x0024517d}}, Y: Field{[10]uint32{0x0222b0bc, 0x00036f9a, 0x00add567, 0x00aedb9e, 0x036c8e42, 0x035de2ce, 0x00664d54, 0x0317f875, 0x01e7852a, 0x0027645e}}}, + {X: Field{[10]uint32{0x02b2631b, 0x00f88fd1, 0x024b3550, 0x02260237, 0x01536740, 0x001c66af, 0x033848ce, 0x03d7c473, 0x0247efc2, 0x00124b54}}, Y: Field{[10]uint32{0x008fd750, 0x02e31020, 0x00863d50, 0x002ca49c, 0x009f021d, 0x02656935, 0x0168877c, 0x032261fb, 0x03627812, 0x000dd2c1}}}, + {X: Field{[10]uint32{0x03dd1dec, 0x02072985, 0x035490a3, 0x002d1861, 0x0125c661, 0x00af6e71, 0x018d2317, 0x0059e24a, 0x03b8bb81, 0x0016e377}}, Y: Field{[10]uint32{0x031f7568, 0x028d4c5e, 0x031cea92, 0x0030fa20, 0x03c7ae17, 0x00cf53ce, 0x010dee01, 0x0086345f, 0x0364fce3, 0x002d1f4d}}}, + {X: Field{[10]uint32{0x02406c65, 0x0174c3c3, 0x02c5c6a3, 0x03af6847, 0x00063c6f, 0x035531b5, 0x01e603cc, 0x005906bd, 0x03ba25a6, 0x002236dc}}, Y: Field{[10]uint32{0x0000a753, 0x01efc6d2, 0x0056b402, 0x03843051, 0x009b8b5b, 0x00a57e30, 0x004c67ae, 0x035edc22, 0x037b1c1d, 0x000e6c1b}}}, + {X: Field{[10]uint32{0x00382451, 0x020246a7, 0x03721fb3, 0x02f78cc3, 0x032a7037, 0x02c25558, 0x0185070b, 0x007ad0b3, 0x009aa23c, 0x000d2573}}, Y: Field{[10]uint32{0x029799ef, 0x00f843ed, 0x0064dd9b, 0x013d18bf, 0x030b82ff, 0x031d55ef, 0x00299573, 0x020b7dd1, 0x03216f39, 0x001ffaae}}}, + {X: Field{[10]uint32{0x0045d7a2, 0x026994b1, 0x034f1cd6, 0x014b0676, 0x010a4f7b, 0x0348c26c, 0x03756669, 0x00431e4f, 0x02a6970e, 0x003a2973}}, Y: Field{[10]uint32{0x02402b96, 0x007c3a8c, 0x01982b96, 0x0090a536, 0x02fab476, 0x01a3a305, 0x012dbf36, 0x0166ee5b, 0x02bfbd52, 0x0036ab36}}}, + {X: Field{[10]uint32{0x03931f9a, 0x0002d0d9, 0x02e32b57, 0x03cacacb, 0x0051af33, 0x0367bf94, 0x009c4837, 0x01eb78e6, 0x038ae81a, 0x0001ba31}}, Y: Field{[10]uint32{0x00291d35, 0x038a5d4b, 0x029ca47b, 0x024cc375, 0x027d1d51, 0x038429e0, 0x035412cb, 0x01068516, 0x0104751b, 0x00395991}}}, + {X: Field{[10]uint32{0x010a539e, 0x0345c24c, 0x01208ab4, 0x02ddd137, 0x00b9551d, 0x038ea4bb, 0x011722b1, 0x016cbe0a, 0x00a3010c, 0x002e3d48}}, Y: Field{[10]uint32{0x030f3d75, 0x02474025, 0x007909e2, 0x007b641d, 0x03a96d3d, 0x0245444f, 0x026451e1, 0x00b7b63d, 0x003ab671, 0x00196407}}}, + {X: Field{[10]uint32{0x02d8005a, 0x037b02ec, 0x00adfe49, 0x029f2e01, 0x00ae0dea, 0x028b05bf, 0x00bd9173, 0x02605622, 0x00586445, 0x002814e1}}, Y: Field{[10]uint32{0x020d7a67, 0x02329b77, 0x029c8ca5, 0x022cf581, 0x03e71260, 0x02624974, 0x00dab73f, 0x0327ee24, 0x030023dc, 0x0009e20b}}}, + {X: Field{[10]uint32{0x01222144, 0x03e28145, 0x036001fa, 0x000e704b, 0x022117cf, 0x030a566f, 0x018b631f, 0x0024907b, 0x0016aa7f, 0x00104a01}}, Y: Field{[10]uint32{0x037f58e4, 0x0205ec6b, 0x038e1808, 0x0138cabb, 0x02613f35, 0x010fdf81, 0x015c363c, 0x0210cfb9, 0x000dfd8e, 0x0030bfbe}}}, + {X: Field{[10]uint32{0x00c7a1ee, 0x023e2a86, 0x0241a7dd, 0x003ac142, 0x028b536f, 0x00f584ec, 0x01130b7e, 0x00f44147, 0x0336cbf8, 0x00312e3f}}, Y: Field{[10]uint32{0x027b4d47, 0x0359fb17, 0x037fc276, 0x0052b525, 0x01f6cf6c, 0x01d448e6, 0x02ba76b4, 0x00cded19, 0x004c8867, 0x0021f4f1}}}, + {X: Field{[10]uint32{0x00a51ac1, 0x029fd6a8, 0x002a93b7, 0x02e61b68, 0x031de630, 0x02df3495, 0x03850106, 0x00e38e9a, 0x013a7cb9, 0x00103ada}}, Y: Field{[10]uint32{0x036d8d18, 0x038db0eb, 0x0389fa51, 0x0293bea7, 0x01c7ede7, 0x0132e201, 0x003b770c, 0x0105f72f, 0x01e014d3, 0x0009ee1d}}}, + {X: Field{[10]uint32{0x0381dad4, 0x012a6f5f, 0x01fb86e9, 0x02137cdc, 0x00ac0c9d, 0x03cb77c9, 0x0365d675, 0x000601d4, 0x010254e3, 0x003dd246}}, Y: Field{[10]uint32{0x005a6e46, 0x03093357, 0x00c7c17a, 0x031cbb1a, 0x0268af0c, 0x0349d758, 0x01bf1b5a, 0x00203f72, 0x0336c549, 0x001a89c6}}}, + {X: Field{[10]uint32{0x009f287e, 0x014c9521, 0x032e36a0, 0x02b30d93, 0x02f16388, 0x01e88fe3, 0x026996c9, 0x00676853, 0x021de4ce, 0x0033c4c9}}, Y: Field{[10]uint32{0x03adac10, 0x002a5a1c, 0x02b7c04a, 0x020f1dc6, 0x008218c4, 0x02e1ca9e, 0x024ab51b, 0x01d11fdf, 0x018dbe1a, 0x00155a21}}}, + {X: Field{[10]uint32{0x013e8cb3, 0x00f1d86b, 0x02a81726, 0x005dcb1c, 0x0394cfd5, 0x00889a11, 0x01166066, 0x021f7f55, 0x02629dd0, 0x00271af6}}, Y: Field{[10]uint32{0x010c0eb3, 0x006d9e80, 0x030be05b, 0x0317896e, 0x019e5fbc, 0x018bff1e, 0x035628ed, 0x0329faec, 0x007b9c7f, 0x000b1df7}}}, + {X: Field{[10]uint32{0x01d26bf3, 0x02adf96e, 0x01922bb7, 0x01ef456c, 0x01c1526d, 0x02cc5256, 0x02cc9a55, 0x0277b083, 0x035f6443, 0x00363440}}, Y: Field{[10]uint32{0x00dbbe30, 0x006e5233, 0x003143eb, 0x00dae72d, 0x03b922a4, 0x02506efd, 0x007f697b, 0x03fa8fd8, 0x00d6ccfd, 0x002adf8d}}}, + {X: Field{[10]uint32{0x01c1d424, 0x02f08a34, 0x022a939c, 0x0296c028, 0x037d53ae, 0x00203c21, 0x032e1047, 0x01e98378, 0x0223b822, 0x0031bd02}}, Y: Field{[10]uint32{0x01d80345, 0x01af42f0, 0x0064d7fe, 0x01af96a3, 0x0263a313, 0x022c8dd2, 0x006f1f4b, 0x02317244, 0x018fcf4b, 0x00385af1}}}, + {X: Field{[10]uint32{0x03a43536, 0x0002e3d8, 0x02509494, 0x03358748, 0x01d1e007, 0x03388b78, 0x007c2dec, 0x034e95c5, 0x02229477, 0x000e9a76}}, Y: Field{[10]uint32{0x01a0e284, 0x030bef92, 0x03c3925c, 0x035ce272, 0x0246b98c, 0x026de73e, 0x00c95e1c, 0x01818b1f, 0x03d5c4ba, 0x0031e713}}}, + {X: Field{[10]uint32{0x0325fc9d, 0x01ede500, 0x0339b7bc, 0x020a42a8, 0x00814c3d, 0x01963c86, 0x037f6fca, 0x0312291a, 0x00e5492f, 0x0006d7ee}}, Y: Field{[10]uint32{0x007fff39, 0x01bef9f7, 0x02982164, 0x00d63bfa, 0x01d2ca42, 0x0124d6c0, 0x02f49f4c, 0x002064ad, 0x03124c9e, 0x00298a42}}}, + {X: Field{[10]uint32{0x009a3845, 0x02fa3b0d, 0x014c747b, 0x0088c7c1, 0x028a7559, 0x0069fe9f, 0x01e1c37d, 0x02d3ab72, 0x0302b004, 0x003f6e83}}, Y: Field{[10]uint32{0x011646fe, 0x0208088e, 0x0262ae2b, 0x02775cb5, 0x0106c3c0, 0x00c310f2, 0x02defd7e, 0x01c709bf, 0x01c9e964, 0x0010b698}}}, + {X: Field{[10]uint32{0x035140df, 0x03c32ce8, 0x01760f38, 0x010cbebc, 0x007c1663, 0x018ce262, 0x03279f70, 0x02598af9, 0x01bfcb7b, 0x0030e4e4}}, Y: Field{[10]uint32{0x02f556e1, 0x02d58f26, 0x02d664c5, 0x02075e94, 0x03449f9f, 0x03de7606, 0x00b8b3ff, 0x020b3121, 0x003453dc, 0x003a8538}}}, + {X: Field{[10]uint32{0x0059cbcb, 0x0385d102, 0x01321675, 0x00280886, 0x0019aedd, 0x01b2c831, 0x000e36cc, 0x032ca86b, 0x013dc716, 0x000953fc}}, Y: Field{[10]uint32{0x02e35921, 0x002b4ae4, 0x03701c40, 0x033e0fac, 0x00896e02, 0x011fd6fa, 0x036bfe32, 0x009abe78, 0x00f3916d, 0x00009913}}}, + {X: Field{[10]uint32{0x00930474, 0x0327d5ca, 0x00c5b071, 0x0176a9f2, 0x021769d3, 0x0215a009, 0x008974e9, 0x0192b68b, 0x0260e9b4, 0x0009392a}}, Y: Field{[10]uint32{0x00479f8e, 0x01cd4e3a, 0x02af78d9, 0x00e3672e, 0x036ed37c, 0x0332501b, 0x022244bc, 0x013f8202, 0x02d182a9, 0x00277df0}}}, + {X: Field{[10]uint32{0x017543a6, 0x00b13db4, 0x01ef8070, 0x03062ffc, 0x02fb19a4, 0x01667f00, 0x03d81b38, 0x01a170fb, 0x03adf906, 0x001eb66e}}, Y: Field{[10]uint32{0x01246f95, 0x02ab5931, 0x02df0133, 0x010d1249, 0x00da45e2, 0x02294cf7, 0x013ac8fd, 0x006293dc, 0x01709c40, 0x00261e2e}}}, + {X: Field{[10]uint32{0x02d8ae53, 0x00495958, 0x022b501d, 0x00e6f97e, 0x00c6e083, 0x01f7eeaa, 0x009eb2df, 0x021c5f83, 0x00d9383a, 0x0025f63f}}, Y: Field{[10]uint32{0x03c6a777, 0x0300a3c1, 0x0074c4a2, 0x0329fe3d, 0x03b1f114, 0x03616be9, 0x00363e15, 0x013e19fe, 0x024cf578, 0x00061e72}}}, + {X: Field{[10]uint32{0x02fe7572, 0x01c77762, 0x0172cb87, 0x03bd417b, 0x002af1ac, 0x0315bfeb, 0x014d1a92, 0x030cb878, 0x03855a08, 0x000f83f1}}, Y: Field{[10]uint32{0x02149390, 0x0396c25b, 0x020b5884, 0x03cf7c56, 0x01bb1768, 0x028c2d55, 0x0044fc9d, 0x022253c2, 0x03fcfd1e, 0x001b5e6d}}}, + {X: Field{[10]uint32{0x01602562, 0x01fb3ed9, 0x037ec55b, 0x039ff1d5, 0x02fda483, 0x02275bd7, 0x023a9b53, 0x03619076, 0x03dbb132, 0x00367685}}, Y: Field{[10]uint32{0x0223b70b, 0x03e318f1, 0x001a7b67, 0x017a2821, 0x0033a4f3, 0x03e3c8ec, 0x027f9e63, 0x0035c0bb, 0x01e45feb, 0x0020391c}}}, + {X: Field{[10]uint32{0x03ca18f3, 0x026026db, 0x039eca3d, 0x014e75be, 0x03f38e28, 0x02dc484a, 0x0135daa7, 0x0078d20a, 0x0366afcd, 0x0006123d}}, Y: Field{[10]uint32{0x036f5884, 0x003d1342, 0x00b7dee7, 0x03d2a4f5, 0x005f9196, 0x01d23b65, 0x0135df63, 0x0153c927, 0x0082645d, 0x0032a69e}}}, + {X: Field{[10]uint32{0x017a9f2f, 0x02728112, 0x02be0a84, 0x011fdcb1, 0x031a9d00, 0x03f0b457, 0x0165b2d4, 0x02b1d96b, 0x00ae9a7d, 0x003b4dd1}}, Y: Field{[10]uint32{0x02b5fb5b, 0x00d113da, 0x02f36b76, 0x0121c19b, 0x032fdc52, 0x00f11dfb, 0x0323d032, 0x031bdf92, 0x012ed4e5, 0x000f3ddb}}}, + {X: Field{[10]uint32{0x033676d7, 0x033fbf97, 0x026b7b1c, 0x0332a188, 0x0391212a, 0x000c49c1, 0x00a3a65e, 0x01516ac4, 0x0373edf3, 0x0031181e}}, Y: Field{[10]uint32{0x017eb3ec, 0x010824cf, 0x02d7728c, 0x02711771, 0x012628ac, 0x008c38f7, 0x000cd036, 0x03de0f57, 0x025b8595, 0x000c6b51}}}, + {X: Field{[10]uint32{0x000e96f0, 0x0392c2af, 0x00699641, 0x006d93ac, 0x00bfb9ad, 0x00e8fe94, 0x020af049, 0x01a75e2c, 0x02ed2aaf, 0x00070258}}, Y: Field{[10]uint32{0x01aede44, 0x015a92ab, 0x0012302d, 0x01828e5f, 0x02591b5a, 0x021e9fda, 0x029c5b0a, 0x038e8a90, 0x02f6e088, 0x00127c46}}}, + {X: Field{[10]uint32{0x01c19454, 0x02682637, 0x0045b1f0, 0x006ab989, 0x0182250e, 0x02ded0e0, 0x00dc6caf, 0x02567826, 0x036c9a41, 0x0001a811}}, Y: Field{[10]uint32{0x0111c7e1, 0x014bb1bd, 0x0233fbe5, 0x02e7331f, 0x00ab4288, 0x03238d45, 0x0266cd37, 0x031324b0, 0x00978ae3, 0x0015a10b}}}, + {X: Field{[10]uint32{0x00191f1c, 0x019e0c28, 0x028f6b93, 0x0203a729, 0x02cdb59a, 0x00a7c0f1, 0x03149993, 0x002a829a, 0x00f653a3, 0x00009368}}, Y: Field{[10]uint32{0x00138235, 0x00b1d5cb, 0x00b53d1a, 0x01a67880, 0x00cdbd3b, 0x00187185, 0x010683af, 0x02f3d6e0, 0x0080aa78, 0x0020f9e4}}}, + {X: Field{[10]uint32{0x021a7764, 0x00dd0fe6, 0x0075f6f3, 0x023c089f, 0x02a07872, 0x00c99100, 0x00719010, 0x02741fd6, 0x00832247, 0x00001b0d}}, Y: Field{[10]uint32{0x00dcc4c6, 0x024b02e8, 0x01bffeb1, 0x0043c361, 0x00be7792, 0x016f6916, 0x03128d84, 0x015021af, 0x03744a12, 0x0028ddeb}}}, + {X: Field{[10]uint32{0x01c43baf, 0x01e3e675, 0x00905154, 0x03d28525, 0x011cdc26, 0x020acdb8, 0x02cf2498, 0x032c9ac9, 0x03bb4d14, 0x00084aaa}}, Y: Field{[10]uint32{0x0047e281, 0x0358140e, 0x01148ca1, 0x028ff099, 0x0011c22e, 0x02ea3961, 0x02ed57d7, 0x0160ae63, 0x020a81d1, 0x003a4502}}}, + {X: Field{[10]uint32{0x0343b10e, 0x005096ac, 0x011edf37, 0x031092a5, 0x02f26ee0, 0x02c2e89c, 0x006824e5, 0x02882a35, 0x00f12afc, 0x00289d1e}}, Y: Field{[10]uint32{0x004036a3, 0x020292ef, 0x017598ec, 0x028df1f3, 0x0270ad0b, 0x01e0635e, 0x03bdecb6, 0x025ea968, 0x0386a7fc, 0x001479d2}}}, + {X: Field{[10]uint32{0x0172e293, 0x03dc4681, 0x03fe5716, 0x001fa336, 0x02b9b8a5, 0x03d57838, 0x022fa7e8, 0x03e7ae8b, 0x029a7171, 0x00387049}}, Y: Field{[10]uint32{0x02afba46, 0x024cd70c, 0x00848e63, 0x029db40d, 0x005562c4, 0x03a09da1, 0x00d8e242, 0x00c90be6, 0x01700895, 0x001073e8}}}, + {X: Field{[10]uint32{0x01e09efb, 0x0209f03d, 0x007804d5, 0x022c9082, 0x0062f0f7, 0x03303ef6, 0x03328e1e, 0x0238642e, 0x004c1941, 0x00081355}}, Y: Field{[10]uint32{0x03d52fb7, 0x015c1664, 0x009f06d0, 0x03514d39, 0x0018cf4e, 0x013e6030, 0x023799cb, 0x00561c42, 0x00e31f5d, 0x00319826}}}, + {X: Field{[10]uint32{0x025172ad, 0x0121b15e, 0x016ee361, 0x02c8eac6, 0x00980138, 0x01e2d33c, 0x0230de2f, 0x03cbcb7c, 0x030a11a6, 0x0005bb77}}, Y: Field{[10]uint32{0x01992684, 0x028338ad, 0x0318bb39, 0x02d3ee05, 0x001327bd, 0x0040b108, 0x004a7926, 0x02cf0648, 0x018fed8a, 0x0038f6cd}}}, + {X: Field{[10]uint32{0x038995f1, 0x020a74ca, 0x0080eaf6, 0x0069e72c, 0x013df700, 0x008c54de, 0x026b7c10, 0x0365ad97, 0x00312298, 0x001f27de}}, Y: Field{[10]uint32{0x01f51e5c, 0x006551bb, 0x000e4a60, 0x0346eedc, 0x02b2481d, 0x014f2ccb, 0x002018fc, 0x0283c6c9, 0x003c90e3, 0x00080df3}}}, + {X: Field{[10]uint32{0x0198fb1c, 0x01a2c598, 0x02dee211, 0x03a54c31, 0x0263aee7, 0x00b5a580, 0x03913a5b, 0x02e3db06, 0x01461dbe, 0x0004a70b}}, Y: Field{[10]uint32{0x01137964, 0x02b097d5, 0x00dc1747, 0x02fdf3a8, 0x027bbd80, 0x00a1f559, 0x0214b72a, 0x009fe68a, 0x02b961c0, 0x000a7ffb}}}, + {X: Field{[10]uint32{0x036175aa, 0x02812707, 0x03b12570, 0x009f818c, 0x02de2049, 0x00c896d4, 0x011f9daa, 0x024cbbdb, 0x016530d4, 0x0022f8b9}}, Y: Field{[10]uint32{0x005510c8, 0x03060014, 0x0340423c, 0x02f5a9a1, 0x03fabfe4, 0x00f02547, 0x0007056e, 0x00334500, 0x02871a13, 0x000d92d3}}}, + {X: Field{[10]uint32{0x0252fa6c, 0x024265d8, 0x00c5e27c, 0x00b97e20, 0x0142a6e1, 0x014ed310, 0x00ceb624, 0x02719eac, 0x030842ae, 0x00102d0f}}, Y: Field{[10]uint32{0x02a2068f, 0x00a812f3, 0x02cca443, 0x03fb448f, 0x00248f11, 0x03168b4b, 0x025e46f2, 0x00b96ec8, 0x02c5de1b, 0x001b46b1}}}, + {X: Field{[10]uint32{0x02c669df, 0x011ce816, 0x00f17087, 0x026f8dc9, 0x014c2cba, 0x00f1276d, 0x01caa559, 0x0137cf3c, 0x038a02f3, 0x0011f888}}, Y: Field{[10]uint32{0x00f31f3a, 0x026fa0a7, 0x01908939, 0x009d8237, 0x00acfc61, 0x00294bdf, 0x02104a36, 0x00957fb2, 0x03a203ee, 0x00134133}}}, + {X: Field{[10]uint32{0x01cfc35a, 0x029727b8, 0x02d607c7, 0x012d77e3, 0x03b3de47, 0x01315975, 0x00433238, 0x031b6ad2, 0x00553a45, 0x0005ca1b}}, Y: Field{[10]uint32{0x0320007f, 0x01c8f258, 0x000cf6d8, 0x0091e4cd, 0x035b194d, 0x02550c41, 0x03104b27, 0x01454582, 0x034775a4, 0x00185cb4}}}, + {X: Field{[10]uint32{0x01d7bb31, 0x02c810a3, 0x01258b7f, 0x0325367b, 0x010a3e96, 0x0158cab1, 0x010bd344, 0x024b2b42, 0x039d3c14, 0x000d146b}}, Y: Field{[10]uint32{0x014974d6, 0x03e2d06c, 0x0079acc5, 0x004e49f3, 0x007687c5, 0x013068ec, 0x0284fd78, 0x01b81b9c, 0x03832123, 0x0037524c}}}, + {X: Field{[10]uint32{0x014e5ce2, 0x03409480, 0x01619d23, 0x00e96caa, 0x00ed9afa, 0x01b82b11, 0x01bee2da, 0x0179ff2d, 0x0081eccc, 0x002c02a9}}, Y: Field{[10]uint32{0x008866a1, 0x032a3efa, 0x022424a2, 0x02a79f9d, 0x0210d732, 0x0107e07e, 0x002ceb74, 0x00cb383d, 0x00861f00, 0x0001a1ed}}}, + {X: Field{[10]uint32{0x00b23311, 0x01571fa8, 0x01e2fa8a, 0x035301d8, 0x020ef706, 0x0135cd6c, 0x008a2393, 0x03247fc9, 0x029cc75b, 0x0014fb23}}, Y: Field{[10]uint32{0x01d45919, 0x00413d91, 0x027688b5, 0x012e7f60, 0x00c352f5, 0x0175716a, 0x01104e01, 0x02c7b46d, 0x03c063c4, 0x0006c477}}}, + {X: Field{[10]uint32{0x01efab66, 0x02461b29, 0x030a4cdc, 0x01e1eaed, 0x032fc80d, 0x01c78ce0, 0x03eddd8d, 0x00b268ec, 0x01b39c07, 0x0007b378}}, Y: Field{[10]uint32{0x026dd626, 0x02b82f2b, 0x025f30da, 0x00c25228, 0x00239f0c, 0x00812734, 0x00cecb18, 0x025d8adc, 0x02c75a79, 0x00013d6b}}}, + {X: Field{[10]uint32{0x03b1394e, 0x0321d526, 0x012e65af, 0x02759dc1, 0x011e9023, 0x02823be9, 0x039b479f, 0x015631ea, 0x03c3702b, 0x00007f8b}}, Y: Field{[10]uint32{0x02845c2c, 0x02f5c831, 0x0326d30f, 0x003229f6, 0x0211a64c, 0x01b523f9, 0x016df2b6, 0x0174eb08, 0x02ae3a39, 0x003dad61}}}, + {X: Field{[10]uint32{0x006d5dec, 0x01c62c78, 0x039ba872, 0x0314a296, 0x0376e64c, 0x03c0c71e, 0x02ba0c20, 0x00ab5560, 0x032fb8ac, 0x002d4f42}}, Y: Field{[10]uint32{0x02e3a289, 0x03c0d3a4, 0x0087b351, 0x01de51da, 0x02041015, 0x01f48c94, 0x03b034c1, 0x021ea992, 0x018951ab, 0x00226139}}}, + {X: Field{[10]uint32{0x0337cf95, 0x02b784a3, 0x02ea7bc0, 0x00428845, 0x01a06ca3, 0x03ccd760, 0x03fe5d81, 0x008d999c, 0x011603bc, 0x00001539}}, Y: Field{[10]uint32{0x0312bd4a, 0x00e9e05c, 0x030b4c5b, 0x01e92e64, 0x01923660, 0x03a05cd5, 0x037206d6, 0x00b0afc6, 0x00269deb, 0x003d1c72}}}, + {X: Field{[10]uint32{0x03b29a7b, 0x036ca0d9, 0x01f598c4, 0x02b19754, 0x013b8087, 0x0322eae4, 0x01e22244, 0x008e8b4e, 0x0372a1d4, 0x0039fbed}}, Y: Field{[10]uint32{0x03a9b6e7, 0x039171e4, 0x023bd587, 0x0282854b, 0x03704a39, 0x01fda863, 0x02b47f41, 0x0022c2fc, 0x0186031d, 0x003cb7ed}}}, + {X: Field{[10]uint32{0x00b519fe, 0x011ae634, 0x03e67034, 0x00ab7020, 0x010b163f, 0x027bc0c8, 0x03b43097, 0x018ea0ab, 0x01aae8a2, 0x0017b167}}, Y: Field{[10]uint32{0x01ef82b9, 0x0057aa1e, 0x0304e842, 0x01bd7016, 0x03a8a531, 0x01395613, 0x01c6aab9, 0x03ab94c3, 0x00c36a3d, 0x000baad3}}}, + {X: Field{[10]uint32{0x00bb62f5, 0x032e40f5, 0x0121658c, 0x01a71034, 0x0001119f, 0x03f07c26, 0x02975c8e, 0x0277ef6b, 0x00d92058, 0x00109ed7}}, Y: Field{[10]uint32{0x02d1213d, 0x011a1995, 0x01b18d98, 0x028c1a1c, 0x006500b5, 0x017f2a1e, 0x022803c3, 0x01210905, 0x02e3b879, 0x00341579}}}, + {X: Field{[10]uint32{0x0105bcad, 0x02113be7, 0x00736554, 0x03630344, 0x002cc30d, 0x03750b2e, 0x03422c79, 0x013cf423, 0x0315fc59, 0x00152552}}, Y: Field{[10]uint32{0x0335373a, 0x011cd33d, 0x0397564b, 0x03d7af30, 0x029c6b88, 0x00680392, 0x03f8e042, 0x027080ab, 0x00657356, 0x0021a9f3}}}, + {X: Field{[10]uint32{0x01f32559, 0x016879ac, 0x021f01b5, 0x02019e8a, 0x03573eb4, 0x0255a194, 0x01aa7b33, 0x003efca8, 0x038d2367, 0x003fdbe3}}, Y: Field{[10]uint32{0x02c7e218, 0x02b07706, 0x017cd2d4, 0x03d0fe3d, 0x0336cd33, 0x027f6511, 0x031552f0, 0x02f15f5c, 0x01a6c7ca, 0x001e94fc}}}, + {X: Field{[10]uint32{0x018a2381, 0x00309965, 0x0152b842, 0x03ee2805, 0x023bba8e, 0x007832e2, 0x02d852f4, 0x030843a0, 0x01e99021, 0x001d35c9}}, Y: Field{[10]uint32{0x01bb2bb0, 0x02d6153d, 0x0227c0ae, 0x039809b2, 0x0192f18d, 0x00405b76, 0x03d6ca4e, 0x01c2ee20, 0x0246aa9f, 0x0013b9a5}}}, + {X: Field{[10]uint32{0x009c845b, 0x030c9479, 0x008d76d3, 0x01c35dd1, 0x01feca05, 0x01636176, 0x0168fbbc, 0x010b270b, 0x037efc03, 0x003a50e7}}, Y: Field{[10]uint32{0x02233916, 0x006f808f, 0x03592203, 0x039ea4a1, 0x01566667, 0x03435c19, 0x0290b459, 0x0095ebbb, 0x01981b7e, 0x0009f683}}}, + {X: Field{[10]uint32{0x01c0b911, 0x01572c29, 0x00f1e2c0, 0x00ca7cb1, 0x0305facb, 0x00fff44c, 0x0126622b, 0x002159b7, 0x008d81a6, 0x0025a129}}, Y: Field{[10]uint32{0x024e68b2, 0x00d4cafc, 0x018161be, 0x00979ebc, 0x03294bbd, 0x0179ed39, 0x0187c31f, 0x03eea975, 0x02d250ad, 0x002480e2}}}, + {X: Field{[10]uint32{0x020e7609, 0x01df25c6, 0x019b4162, 0x00dd7e74, 0x009e4cf8, 0x037161ca, 0x030f1214, 0x0389bb1f, 0x02f90469, 0x0007400e}}, Y: Field{[10]uint32{0x031e5123, 0x02bfa7bd, 0x02139c84, 0x0069f0df, 0x00ed795f, 0x011b4981, 0x031dad81, 0x00b1c82c, 0x03a53082, 0x002671f0}}}, + {X: Field{[10]uint32{0x0197a149, 0x019272b8, 0x0242d01c, 0x02ff1805, 0x010d680a, 0x027dcb02, 0x0032fa58, 0x02aadddb, 0x00f873cf, 0x003e591a}}, Y: Field{[10]uint32{0x02083b1d, 0x00f9353e, 0x036e9979, 0x021b0624, 0x03b67081, 0x014e15f8, 0x00a7ff33, 0x0174c6c9, 0x03c40849, 0x0007fed2}}}, + {X: Field{[10]uint32{0x03f89d32, 0x001104ac, 0x025f5329, 0x03d947b1, 0x03d93c14, 0x00c4542f, 0x02c86a21, 0x02534af2, 0x0106e302, 0x002dab50}}, Y: Field{[10]uint32{0x00d228ce, 0x00a9398e, 0x003ee5db, 0x024a4307, 0x034fa407, 0x01310ad0, 0x015201cc, 0x02590741, 0x02a67427, 0x000668d9}}}, + {X: Field{[10]uint32{0x005b9b9a, 0x01f9f3f9, 0x00108a97, 0x00a1b2c7, 0x0202d478, 0x02eda7ec, 0x020fec3e, 0x03cc1644, 0x02f7190b, 0x0021d51c}}, Y: Field{[10]uint32{0x01a97c21, 0x029e2615, 0x00562050, 0x0238c151, 0x030a172d, 0x017e0127, 0x01d163a9, 0x0166b785, 0x03c5f5dc, 0x0006b7bf}}}, + {X: Field{[10]uint32{0x0227a670, 0x03bac166, 0x034074d9, 0x0356bd29, 0x0354bb6f, 0x0072c6c7, 0x00f7ae2a, 0x01505399, 0x01faf424, 0x0015116a}}, Y: Field{[10]uint32{0x01418018, 0x01d0713a, 0x0294ce87, 0x03a987f7, 0x013bdf07, 0x00fede87, 0x008978ca, 0x038208f9, 0x02077da2, 0x00125b14}}}, + {X: Field{[10]uint32{0x0014d138, 0x01330f5e, 0x0262bf4c, 0x03e5f07d, 0x0374d3a8, 0x0215a0c3, 0x03350267, 0x02b22147, 0x0225704b, 0x0036b861}}, Y: Field{[10]uint32{0x03be6f87, 0x02f6a440, 0x02bff373, 0x03ef1a38, 0x03c20f62, 0x017b20d7, 0x0188ee63, 0x0018660e, 0x01fd7ba9, 0x002af016}}}, + {X: Field{[10]uint32{0x019845c9, 0x032a24e7, 0x00d02dee, 0x02047fa5, 0x013d009b, 0x001f864a, 0x00e659c1, 0x00f7971f, 0x0312e852, 0x00228223}}, Y: Field{[10]uint32{0x0229114a, 0x02c3dd9f, 0x004baef7, 0x011ff179, 0x0041f8df, 0x03062c82, 0x02d703cb, 0x02edd974, 0x012afb8e, 0x00109448}}}, + {X: Field{[10]uint32{0x03af6d01, 0x02d4b935, 0x02f6ec25, 0x033caf3a, 0x00716755, 0x023d5e44, 0x00ed25c7, 0x002344cd, 0x02a88f3b, 0x0035e3d1}}, Y: Field{[10]uint32{0x0306f44d, 0x0149bbd6, 0x006ee5c9, 0x034c9091, 0x01929046, 0x032fc6cb, 0x00b3f019, 0x008043c8, 0x01f229cb, 0x003ac615}}}, + {X: Field{[10]uint32{0x019b034b, 0x0035717e, 0x02fa83ec, 0x0271beab, 0x02f58980, 0x03fbf375, 0x015c4cac, 0x00389d79, 0x031278ae, 0x000782d0}}, Y: Field{[10]uint32{0x004918a7, 0x028a2064, 0x036578bb, 0x02b8275c, 0x03fb523f, 0x020d2140, 0x03d74edb, 0x00ead0ba, 0x03c5544d, 0x003ce314}}}, + {X: Field{[10]uint32{0x017cbbd1, 0x00d1197b, 0x01638cd5, 0x03dc3105, 0x00ab02d7, 0x029623cd, 0x0011f144, 0x0046703d, 0x01b29edb, 0x003c0c55}}, Y: Field{[10]uint32{0x00e85813, 0x034fc1ae, 0x02495599, 0x0125fe71, 0x01317367, 0x00658159, 0x01d07cd3, 0x03fc52d0, 0x03e3ff4f, 0x001cb454}}}, + {X: Field{[10]uint32{0x01de4c8e, 0x025b8e79, 0x02b4153a, 0x01e1b42e, 0x038df665, 0x01059952, 0x00c84fe3, 0x01fed345, 0x01683edc, 0x0003d87f}}, Y: Field{[10]uint32{0x002e5f92, 0x011cb8f5, 0x0212fd38, 0x00e7d636, 0x02e11fc1, 0x00983f93, 0x01d6884d, 0x004ec621, 0x0167cf09, 0x00254b6d}}}, + {X: Field{[10]uint32{0x0017dd77, 0x0271fdf8, 0x0344d7ee, 0x03612c7c, 0x0201ede6, 0x00e9361b, 0x0300e3b1, 0x00dec972, 0x027a29e4, 0x001e0c43}}, Y: Field{[10]uint32{0x0182f2d2, 0x00406db8, 0x00a51a7d, 0x00fd0c4d, 0x007030bd, 0x01f080b5, 0x020f7009, 0x00a78130, 0x018a4d56, 0x0009bfcd}}}, + {X: Field{[10]uint32{0x03781a3a, 0x0009f847, 0x016b97a4, 0x012f2282, 0x034e6ac9, 0x002d87af, 0x01509c2d, 0x00a72e98, 0x004d6b73, 0x0018eba3}}, Y: Field{[10]uint32{0x00d14f88, 0x020fa577, 0x016ce2e4, 0x00a7be2e, 0x01af16c9, 0x00e2a4e8, 0x01629cb3, 0x01e15f46, 0x00cfbf40, 0x002a3a55}}}, + {X: Field{[10]uint32{0x03cca739, 0x01e5c941, 0x02fa9165, 0x009bfde6, 0x00ae662f, 0x00ce15d3, 0x01039616, 0x00d53b8b, 0x012a594b, 0x00252356}}, Y: Field{[10]uint32{0x02f1876c, 0x03219ec0, 0x015570ed, 0x02293b89, 0x01ce0275, 0x01cef5b5, 0x013992f7, 0x00e5ba27, 0x00e25ea0, 0x000dffe6}}}, + {X: Field{[10]uint32{0x02100f45, 0x038b4d11, 0x03a55398, 0x01853719, 0x00660a41, 0x02ffba20, 0x0304de18, 0x000da142, 0x016fa314, 0x00194f3c}}, Y: Field{[10]uint32{0x025a9202, 0x0076cd44, 0x01c3649c, 0x0064f985, 0x03ea4d34, 0x0390c416, 0x026741ae, 0x0395499d, 0x02de5ff1, 0x002b2aab}}}, + {X: Field{[10]uint32{0x028cc782, 0x01447fe3, 0x00d2af3c, 0x02219142, 0x01141e18, 0x039a9de2, 0x00fd1ee0, 0x03722fc9, 0x00828a5e, 0x0011beda}}, Y: Field{[10]uint32{0x03fd8887, 0x020f804d, 0x010cfef3, 0x02611fb2, 0x02f4d266, 0x020b0b8d, 0x009ff4ae, 0x03a6f5ab, 0x013fd52c, 0x002752b9}}}, + {X: Field{[10]uint32{0x0138c0ed, 0x0308015c, 0x020eae24, 0x0021e8ab, 0x024ca442, 0x012c3ca2, 0x01face2b, 0x00a9c5f0, 0x00c723ea, 0x0017c468}}, Y: Field{[10]uint32{0x000c8452, 0x01ccc5ae, 0x011d5bb2, 0x033c1be6, 0x023906ea, 0x0049b939, 0x03925ddf, 0x0184bee9, 0x0084ad97, 0x0017b2bb}}}, + {X: Field{[10]uint32{0x02a9039f, 0x02f72130, 0x022c0320, 0x00ecfae9, 0x00dbf2ba, 0x03ac4224, 0x02b6b3bd, 0x03bde9b5, 0x021c929b, 0x002e7d27}}, Y: Field{[10]uint32{0x0101e558, 0x01a0832d, 0x0115c2bf, 0x0131bd0b, 0x006e1b68, 0x00d2a80c, 0x00ecc1c5, 0x022deef4, 0x02767e4f, 0x00261ca7}}}, + {X: Field{[10]uint32{0x01ade2c3, 0x00e39c85, 0x012dc63c, 0x02c0d8c7, 0x00965dc2, 0x03269182, 0x033eea76, 0x02417fc9, 0x0102e7d2, 0x0003b228}}, Y: Field{[10]uint32{0x034371c0, 0x028fb73d, 0x00b6dbe5, 0x0170da33, 0x02706ffe, 0x03d9c584, 0x03836868, 0x025b2d24, 0x01e7242d, 0x00363226}}}, + {X: Field{[10]uint32{0x03e236c6, 0x0339810a, 0x02dafcda, 0x02c0e73d, 0x010582c5, 0x010a9496, 0x012a3c77, 0x020169b2, 0x02b3c351, 0x00041fc0}}, Y: Field{[10]uint32{0x019bfb9f, 0x03ce272a, 0x00a3e685, 0x017820b1, 0x03c5c2d5, 0x0371c929, 0x01746858, 0x01d8055f, 0x02bf1ab4, 0x00145c8d}}}, + {X: Field{[10]uint32{0x02298971, 0x018194d5, 0x036cfb98, 0x01eb6bdb, 0x02b10d63, 0x020c5e1c, 0x038c1fea, 0x03005b5e, 0x00a1a5c1, 0x003c3ec5}}, Y: Field{[10]uint32{0x024540d1, 0x02f151e5, 0x0033792f, 0x03fecc59, 0x00c40b89, 0x00a00007, 0x018e87c7, 0x03997509, 0x01140d33, 0x0038767b}}}, + {X: Field{[10]uint32{0x00489459, 0x03e6cd51, 0x0347a333, 0x002bfe0e, 0x0078a1c8, 0x03af781a, 0x00ce83c0, 0x013b7bdb, 0x02dbea78, 0x00294dc6}}, Y: Field{[10]uint32{0x00129224, 0x0338fcb2, 0x03edd48e, 0x02f33344, 0x007e3d09, 0x00a88b2f, 0x03acbe7b, 0x0175d1dc, 0x0172127f, 0x003d5e01}}}, + {X: Field{[10]uint32{0x0217300d, 0x013eb7ef, 0x013b999e, 0x005e580f, 0x022bbbb8, 0x03e9f64b, 0x00109715, 0x0295d84f, 0x025e1b0b, 0x000f00c7}}, Y: Field{[10]uint32{0x029c83f3, 0x0309cbab, 0x03e6bbf9, 0x035c70d8, 0x0079cb40, 0x035edb31, 0x00e65a2c, 0x00db751d, 0x03fb3920, 0x00349d68}}}, + {X: Field{[10]uint32{0x01a5318f, 0x0071a701, 0x0218b217, 0x02b948f3, 0x01f8a1b9, 0x00e48203, 0x0169a689, 0x02d4c282, 0x019e685d, 0x0021ed62}}, Y: Field{[10]uint32{0x01a775d4, 0x02bd23ff, 0x02c081f5, 0x03ebe673, 0x011b1166, 0x010ba134, 0x0140b01a, 0x02be968b, 0x0204e3f0, 0x0001ab8c}}}, + {X: Field{[10]uint32{0x01b8bf74, 0x01014042, 0x038dd2ae, 0x0138ffa0, 0x01ea00d0, 0x01adf9ec, 0x018eedb5, 0x0305b7e7, 0x03ddc002, 0x00367c1d}}, Y: Field{[10]uint32{0x033ffeaf, 0x0084996b, 0x012f278f, 0x000bb954, 0x0211c273, 0x01c32e7b, 0x00fc486f, 0x0063894f, 0x011e5031, 0x00194635}}}, + {X: Field{[10]uint32{0x00921af7, 0x031c873e, 0x0398ec9b, 0x02482bbe, 0x037558a4, 0x0089dfd8, 0x01ce3053, 0x02b32582, 0x03638d15, 0x0027026a}}, Y: Field{[10]uint32{0x00e0f6fc, 0x0292de40, 0x033d91ca, 0x012a7ef7, 0x010bf2f8, 0x0194897c, 0x02d6ab31, 0x02f0422f, 0x018d535a, 0x002cb2b1}}}, + {X: Field{[10]uint32{0x028a7fc0, 0x01b71ce6, 0x008ae167, 0x0037b439, 0x0052ab25, 0x030da689, 0x038948a5, 0x0248c973, 0x038b4c2d, 0x001bb47b}}, Y: Field{[10]uint32{0x02742008, 0x02b21fbd, 0x00585f54, 0x02f07241, 0x025c6423, 0x018f69d6, 0x02741368, 0x014553f2, 0x008c2cfe, 0x00306de8}}}, + {X: Field{[10]uint32{0x006928d1, 0x034ef894, 0x018f13fb, 0x02a4c1e7, 0x03cfc458, 0x00ae9821, 0x01f71c1e, 0x01fdb09e, 0x0170154b, 0x00220ba3}}, Y: Field{[10]uint32{0x03e64131, 0x00e9ce9b, 0x03d1d9b2, 0x0197b6ec, 0x0208b315, 0x019eb07c, 0x014ac62e, 0x0061ca42, 0x022e97c4, 0x0022526c}}}, + {X: Field{[10]uint32{0x037aba52, 0x0284e7ec, 0x0246aa6d, 0x03a7f08c, 0x00516840, 0x00942605, 0x019d0afb, 0x01ba81c4, 0x02a024c8, 0x001c211c}}, Y: Field{[10]uint32{0x028fe5ac, 0x014feec4, 0x0130db7a, 0x01ee0335, 0x013a8b05, 0x02528d99, 0x03378d65, 0x0054ca96, 0x03a51d55, 0x0026026d}}}, + {X: Field{[10]uint32{0x039fac3e, 0x02a330eb, 0x025ebd87, 0x00f5c688, 0x03769d57, 0x023420d4, 0x01a1250d, 0x02dc212b, 0x02d509a8, 0x000e913e}}, Y: Field{[10]uint32{0x037f20cd, 0x031a7ed2, 0x01c85cb0, 0x0114b4f1, 0x03f9186e, 0x01849204, 0x0174bf84, 0x03434286, 0x01511250, 0x003ca7d1}}}, + {X: Field{[10]uint32{0x01fb9f30, 0x00dc2cf3, 0x0390afcc, 0x02116267, 0x0236ba4c, 0x00708cd8, 0x00564c04, 0x006f5058, 0x01d8e09e, 0x0028d467}}, Y: Field{[10]uint32{0x03881d7e, 0x034fb186, 0x0267472d, 0x0238d3f3, 0x02715008, 0x031d3423, 0x0199faa6, 0x001c4740, 0x01597c91, 0x001933fc}}}, + {X: Field{[10]uint32{0x00fcf1dc, 0x03c1d9d7, 0x038291c4, 0x03e835a3, 0x02bea1af, 0x027667fc, 0x033513f1, 0x0172593a, 0x00e3765f, 0x0016bc5b}}, Y: Field{[10]uint32{0x03815daa, 0x0100bae8, 0x023dc1f2, 0x02e2a1ea, 0x00511ff7, 0x0005929e, 0x0042db6b, 0x0047b52a, 0x02b53bd7, 0x00002193}}}, + {X: Field{[10]uint32{0x023d54a8, 0x0070b415, 0x0149b402, 0x0344de96, 0x0018848b, 0x00990410, 0x021ec080, 0x03970977, 0x012219ca, 0x0007fe69}}, Y: Field{[10]uint32{0x0318e031, 0x0320ec05, 0x014d4791, 0x0370526c, 0x018f85d7, 0x014dd0c2, 0x00fb919a, 0x01db86d7, 0x034c1222, 0x00151b58}}}, + {X: Field{[10]uint32{0x03d3e938, 0x01b75bd0, 0x0082ac6b, 0x0372a999, 0x007f02fc, 0x03eacda3, 0x00926ebc, 0x007b63e1, 0x00ad72a5, 0x0035e9b7}}, Y: Field{[10]uint32{0x00e41c96, 0x018ec885, 0x03278bde, 0x01601b25, 0x018598a0, 0x01119aba, 0x028f378e, 0x02b21969, 0x00d63ea6, 0x002689cf}}}, + {X: Field{[10]uint32{0x0332d797, 0x02a34647, 0x012823f4, 0x024c7c88, 0x023c874b, 0x02db3531, 0x016dfb52, 0x0331f69a, 0x03e55bdc, 0x000553d8}}, Y: Field{[10]uint32{0x03f76fae, 0x01644d5d, 0x0067a2df, 0x01f6cd03, 0x02f0f29d, 0x00aa9af1, 0x03269b0d, 0x028723a9, 0x032217bc, 0x003a63e5}}}, + {X: Field{[10]uint32{0x00399bf1, 0x03b1d613, 0x01991c27, 0x036a1f3a, 0x02dbdbb7, 0x0086ef7a, 0x0129095c, 0x01857333, 0x008b8513, 0x003dab78}}, Y: Field{[10]uint32{0x03234ad1, 0x01eb4ce3, 0x0296af03, 0x03284c63, 0x013fc1c5, 0x00a298c4, 0x01af074b, 0x032ae84c, 0x03e019fc, 0x00263206}}}, + {X: Field{[10]uint32{0x0347637e, 0x0072cb31, 0x0083a3e5, 0x03da50ea, 0x00b786b3, 0x017fb0af, 0x01290486, 0x0057db1b, 0x02c03b27, 0x00259873}}, Y: Field{[10]uint32{0x035358bf, 0x01d58813, 0x032547fe, 0x00d657c2, 0x03cb9c37, 0x027b1ce7, 0x028056a0, 0x00412dd2, 0x03d99b34, 0x003aa87d}}}, + {X: Field{[10]uint32{0x015d19a1, 0x01262d19, 0x0377f53d, 0x0333d6b1, 0x03480520, 0x000dc170, 0x0003465f, 0x00231cd3, 0x023a27d6, 0x0038294c}}, Y: Field{[10]uint32{0x020cc606, 0x02f58a49, 0x03aee836, 0x02d639f2, 0x0363d88e, 0x0118a5d7, 0x00606798, 0x03158baf, 0x0178a8b8, 0x0007dc9f}}}, + {X: Field{[10]uint32{0x002f6409, 0x0338c74a, 0x00118c24, 0x02577b39, 0x0308206e, 0x009431ab, 0x001980d5, 0x011bcbca, 0x02fd0046, 0x002eae0b}}, Y: Field{[10]uint32{0x011fb82a, 0x03356123, 0x0177d137, 0x02ed1ade, 0x03cafbdb, 0x0195b157, 0x038375a5, 0x00049a37, 0x01dc26a2, 0x000a982c}}}, + {X: Field{[10]uint32{0x01eb2631, 0x02052b78, 0x022c221e, 0x0081e79a, 0x032d7edd, 0x03946ebb, 0x006e9b3e, 0x02562c60, 0x0399ebbe, 0x000e2784}}, Y: Field{[10]uint32{0x029ae2be, 0x01167db3, 0x02fd52c9, 0x02f50d79, 0x00e48ada, 0x004a9893, 0x031fb4d1, 0x03f91679, 0x02331f3c, 0x001b0561}}}, + {X: Field{[10]uint32{0x029d4515, 0x001dc9dc, 0x000458c3, 0x01846e91, 0x01087d89, 0x03e91447, 0x03081747, 0x0154f467, 0x01cac0dc, 0x002de05e}}, Y: Field{[10]uint32{0x003e0de2, 0x0248d47a, 0x00c97a68, 0x0326ee5d, 0x01ce0a80, 0x0115df5c, 0x00caa5a9, 0x01a941b9, 0x02980c49, 0x001c082f}}}, + {X: Field{[10]uint32{0x03104306, 0x0053557f, 0x02dc9f1e, 0x03d04bb2, 0x02baa6a6, 0x03640163, 0x03d13fcf, 0x03e69c48, 0x013dd170, 0x00219fb3}}, Y: Field{[10]uint32{0x006759bb, 0x00d792a5, 0x00dc9e25, 0x038bf792, 0x03d698c5, 0x027cad50, 0x03276897, 0x03b88e3e, 0x03e1bb91, 0x000f036c}}}, + {X: Field{[10]uint32{0x00eecd38, 0x02f8bdb5, 0x004e5697, 0x00af055c, 0x03db25bb, 0x0212cb32, 0x03d4d083, 0x00097507, 0x014c26a1, 0x002f9c59}}, Y: Field{[10]uint32{0x01406afa, 0x02bdabd2, 0x001dfcdf, 0x039112cb, 0x012dcdae, 0x013683bf, 0x02f8d18e, 0x00b71e82, 0x020fc37a, 0x000c5bb4}}}, + {X: Field{[10]uint32{0x02e9079c, 0x037aea5d, 0x01fda6b6, 0x0111e58f, 0x01416905, 0x03478059, 0x015b9a2a, 0x009a179d, 0x00b024d6, 0x0016a387}}, Y: Field{[10]uint32{0x011ebba7, 0x022888bc, 0x00a27d08, 0x00aa4778, 0x023889db, 0x02377a57, 0x00f43516, 0x00c379ea, 0x01737433, 0x00131e4c}}}, + {X: Field{[10]uint32{0x002e6131, 0x005904ae, 0x031f8572, 0x003eb8f4, 0x03bb884d, 0x0018c114, 0x03a761ad, 0x02f433c4, 0x000b2347, 0x000efeb4}}, Y: Field{[10]uint32{0x02545f61, 0x02f6d0aa, 0x0051896e, 0x02adbd6c, 0x0371e3cb, 0x01b52060, 0x03fe8e63, 0x01ffb0fd, 0x01609415, 0x003bccf1}}}, + {X: Field{[10]uint32{0x012c1961, 0x00647bd7, 0x02dc7428, 0x00d4ed3c, 0x0360e026, 0x0171a32d, 0x016c2d2b, 0x03382722, 0x02de684d, 0x0000911f}}, Y: Field{[10]uint32{0x02f7bfcb, 0x009fcc07, 0x03377624, 0x01535b9f, 0x025ad6cb, 0x0110e090, 0x0339e554, 0x02182d8a, 0x002fe80f, 0x002b4e2a}}}, + {X: Field{[10]uint32{0x03cf985d, 0x0215f522, 0x0123909d, 0x001d05f1, 0x00e7685f, 0x02a379d9, 0x0007e49b, 0x02e7e3a2, 0x0321eeb4, 0x00297ab8}}, Y: Field{[10]uint32{0x034def1d, 0x02c408ea, 0x0296eed3, 0x0075229d, 0x01001788, 0x02799565, 0x015f5233, 0x02df4cab, 0x02a9f5c1, 0x000ab3e2}}}, + {X: Field{[10]uint32{0x0090b13c, 0x0395d6ba, 0x01251007, 0x0045710d, 0x03dc035e, 0x02ac17a3, 0x00a5b973, 0x0364e0f3, 0x015c5337, 0x0025f7a6}}, Y: Field{[10]uint32{0x0069e6dd, 0x02448438, 0x01f79e8f, 0x016f3624, 0x00920250, 0x01373bd4, 0x003fb4dc, 0x0228a4d3, 0x01692e30, 0x0013ecb6}}}, + {X: Field{[10]uint32{0x0038f479, 0x005c9b11, 0x01f3cc6b, 0x011151ac, 0x0125b70f, 0x002af7e5, 0x003dad8d, 0x02462be0, 0x025fa864, 0x002e32bc}}, Y: Field{[10]uint32{0x009c05c9, 0x0198f683, 0x02d79023, 0x00dac1a7, 0x02c30e2f, 0x01db01d2, 0x03a8c5a0, 0x01bacdbf, 0x01fac0f5, 0x001f146d}}}, + {X: Field{[10]uint32{0x0107b2e6, 0x0085d92b, 0x03443445, 0x02296c7c, 0x03b2cade, 0x03c50041, 0x00f3001a, 0x038a86c9, 0x028c1b96, 0x002d6f21}}, Y: Field{[10]uint32{0x0138d639, 0x02e8d9d2, 0x026f238b, 0x001ec852, 0x03672a8c, 0x015170ce, 0x02aa456f, 0x027ccf56, 0x02294e92, 0x00235b3f}}}, + {X: Field{[10]uint32{0x033ff602, 0x012a284d, 0x036e9078, 0x01887c4f, 0x0032ea26, 0x0090530a, 0x01b666bf, 0x00ec8843, 0x007c242a, 0x0017d456}}, Y: Field{[10]uint32{0x0346c858, 0x021a5122, 0x03427f58, 0x02299ab6, 0x031b3941, 0x02732ee7, 0x013950f9, 0x00293ae1, 0x020febf2, 0x000b0ec9}}}, + {X: Field{[10]uint32{0x022bcfde, 0x02d19d1e, 0x01feb822, 0x02558343, 0x034f08e6, 0x00113cfd, 0x0252e17e, 0x028ad44a, 0x00f95009, 0x000742f8}}, Y: Field{[10]uint32{0x033a159b, 0x01739363, 0x02538933, 0x02c93e19, 0x03a742c3, 0x01ee0776, 0x003181cf, 0x0061dcde, 0x03c3dbd8, 0x0030ea0a}}}, + {X: Field{[10]uint32{0x0122fb8a, 0x02bd2f23, 0x0192ccec, 0x0356d249, 0x029e0e62, 0x0338c3b4, 0x0221bcd6, 0x00ccc699, 0x0028b800, 0x000fbc3b}}, Y: Field{[10]uint32{0x0144b16d, 0x00a6e9e8, 0x001337d9, 0x018e636c, 0x03512fd3, 0x010f31fd, 0x02a03dae, 0x003a1b24, 0x00ad77d4, 0x003f8b21}}}, + {X: Field{[10]uint32{0x03555fc5, 0x03e5926d, 0x02ad302e, 0x02c39fc3, 0x00f62f12, 0x00ca8d92, 0x02bef427, 0x00136b1d, 0x0224a4ec, 0x002130a6}}, Y: Field{[10]uint32{0x014f970e, 0x029fc29e, 0x017ecb18, 0x014ce391, 0x03929ec4, 0x008b927e, 0x02b454cf, 0x01529c43, 0x02bb283a, 0x0039d883}}}, + {X: Field{[10]uint32{0x02cf43a8, 0x00c55cfa, 0x031e9283, 0x01cc041f, 0x03a309cd, 0x03c705de, 0x0340f4e5, 0x017fa487, 0x0234e75d, 0x001aee99}}, Y: Field{[10]uint32{0x03421582, 0x01af8dbe, 0x01a979d8, 0x03a9519c, 0x025b47fd, 0x00882715, 0x0086b441, 0x02090c7c, 0x008c4216, 0x000cfff8}}}, + {X: Field{[10]uint32{0x01ef0150, 0x03c59d1b, 0x01bfa47c, 0x02625567, 0x02488f62, 0x02796dba, 0x01a6046d, 0x03006f12, 0x02f051b0, 0x0004ed9e}}, Y: Field{[10]uint32{0x00237608, 0x03c764e8, 0x0109ee29, 0x01648c85, 0x03a54add, 0x0212b2b2, 0x037cc35d, 0x02fc2d4c, 0x014b01c1, 0x00343a24}}}, + {X: Field{[10]uint32{0x03af9300, 0x033c4fa4, 0x007202c5, 0x032d8d90, 0x02fdf779, 0x03331289, 0x02abc946, 0x02d8abaf, 0x01bfb5dc, 0x00058488}}, Y: Field{[10]uint32{0x00f83b2c, 0x026dfa4b, 0x007b72a4, 0x036d86bb, 0x00d1a212, 0x00ad484f, 0x0266bd30, 0x01b7e1c2, 0x02c5dd9d, 0x0034ff78}}}, + {X: Field{[10]uint32{0x02eb508b, 0x0242fe38, 0x003d39a5, 0x02fe19b7, 0x017eda1f, 0x00ad4880, 0x03602770, 0x016118eb, 0x020cc62f, 0x000c314d}}, Y: Field{[10]uint32{0x02c44efe, 0x02d2a072, 0x039f01aa, 0x03006dd9, 0x016c30e8, 0x037ab185, 0x037dbe8e, 0x0268ae20, 0x02f5009b, 0x00323a46}}}, + {X: Field{[10]uint32{0x00ec3576, 0x02e002c0, 0x01007a38, 0x03c21cdc, 0x02640364, 0x00925c9f, 0x027f38b7, 0x0147d7a9, 0x027fdd91, 0x00301966}}, Y: Field{[10]uint32{0x01cf47e3, 0x03c58069, 0x03ded648, 0x02b8728c, 0x018c57fa, 0x01d100d8, 0x018b5a77, 0x00c70d51, 0x00cb6fa1, 0x0029bd92}}}, + {X: Field{[10]uint32{0x02679386, 0x009e1fc0, 0x004be43e, 0x025429a1, 0x037d50fe, 0x0386ac72, 0x006472a8, 0x02a24811, 0x024db795, 0x000c8548}}, Y: Field{[10]uint32{0x018a9bf0, 0x01407e4d, 0x0238cc5e, 0x006fbf0f, 0x03faba83, 0x00b3ff17, 0x00c7eb59, 0x023619a4, 0x026297f2, 0x00095d41}}}, + {X: Field{[10]uint32{0x01871145, 0x029a2868, 0x035b3b19, 0x01926625, 0x03fe7762, 0x02971553, 0x0115445d, 0x01c120ef, 0x00e2a87a, 0x00095d95}}, Y: Field{[10]uint32{0x02636ec5, 0x0232234c, 0x010439c2, 0x00c259a4, 0x009efe24, 0x032816c6, 0x03fc4eef, 0x03c53e75, 0x019d0c67, 0x003f2e4c}}}, + {X: Field{[10]uint32{0x002f1b49, 0x0262c5c2, 0x03e800ce, 0x01b5b6cc, 0x0017c8a6, 0x039a422a, 0x017926e6, 0x03c553cf, 0x0201e504, 0x00291e1a}}, Y: Field{[10]uint32{0x0323a2fc, 0x00a184b4, 0x03bfd0b0, 0x038998ab, 0x027f86e8, 0x02df3e9e, 0x01a29678, 0x013e7fa0, 0x0142fc2e, 0x0015db93}}}, + {X: Field{[10]uint32{0x02db1e71, 0x02966998, 0x01e383c5, 0x03dfa0b8, 0x0090b484, 0x022bcda7, 0x013ae62a, 0x02615912, 0x03a9260c, 0x0014503d}}, Y: Field{[10]uint32{0x010bae86, 0x011c534d, 0x021fe2f6, 0x03026149, 0x0394ddcd, 0x03afe454, 0x026aa92c, 0x0277ed8e, 0x02c2b087, 0x0013945c}}}, + {X: Field{[10]uint32{0x00a66dfc, 0x01b3cc93, 0x0134231e, 0x004d4843, 0x03b781fe, 0x02295e75, 0x03d6d901, 0x0142de71, 0x020c0f0f, 0x003d5675}}, Y: Field{[10]uint32{0x014eed15, 0x00aeac23, 0x0208e205, 0x037328a7, 0x025f1f05, 0x02f6a390, 0x015fb56a, 0x014a972a, 0x02ae8e58, 0x0004b673}}}, + {X: Field{[10]uint32{0x00547e7c, 0x021a686c, 0x038570cc, 0x037e68cd, 0x00a4fb73, 0x00e814d5, 0x030e0be5, 0x03406f25, 0x03f50fa2, 0x0022241f}}, Y: Field{[10]uint32{0x03a3d2f5, 0x0055ee5f, 0x0373dab9, 0x006f0036, 0x025b2640, 0x03f29aaa, 0x03145f26, 0x0046d909, 0x0356cc12, 0x003d614e}}}, + {X: Field{[10]uint32{0x018c45ca, 0x02cfa9b9, 0x027ecfe4, 0x03c937bc, 0x03c8ac82, 0x038763fe, 0x011fba31, 0x0141b63a, 0x03f64541, 0x00330792}}, Y: Field{[10]uint32{0x00d27592, 0x00a98fce, 0x03b77590, 0x036c9d4f, 0x011efcf1, 0x00c1a55b, 0x00585a60, 0x0060f1a1, 0x017da875, 0x001d85d2}}}, + {X: Field{[10]uint32{0x03ca99d5, 0x00436ab2, 0x00dd4eca, 0x01f24d15, 0x016c3955, 0x007b7780, 0x02a6f9ef, 0x0108416d, 0x0037ef74, 0x001fb8b1}}, Y: Field{[10]uint32{0x033772d6, 0x0125a3db, 0x025b1827, 0x01c36f7b, 0x033e6d7b, 0x01457695, 0x00503f69, 0x03d767cc, 0x03345eef, 0x00085d51}}}, + {X: Field{[10]uint32{0x03e2465c, 0x0278178c, 0x0290f653, 0x012ed0b6, 0x003605ba, 0x01afd083, 0x033af3ef, 0x02d2a68f, 0x02a239f9, 0x0001cbfb}}, Y: Field{[10]uint32{0x01f553cc, 0x00abb67a, 0x0120a36d, 0x0345ac33, 0x0085482c, 0x000a50a3, 0x002ad9ad, 0x037b7723, 0x02ffdf7a, 0x0000280d}}}, + {X: Field{[10]uint32{0x0099914a, 0x0323d780, 0x0307c938, 0x02b89905, 0x03c8a0cb, 0x035e8e9b, 0x01b627c4, 0x0374019a, 0x033e94a0, 0x000d8f68}}, Y: Field{[10]uint32{0x02f58bd9, 0x03a6301e, 0x0359c3d0, 0x037351e2, 0x03a2f936, 0x00541bd1, 0x0236099c, 0x001e9038, 0x0277ef13, 0x0026f6a6}}}, + {X: Field{[10]uint32{0x02c133fe, 0x0246183c, 0x036e1a7e, 0x02347b26, 0x0393af0f, 0x02f817f7, 0x034a48bb, 0x010a426b, 0x0064c839, 0x001d9502}}, Y: Field{[10]uint32{0x00a3ecc2, 0x03970f95, 0x0084583c, 0x03d697b5, 0x01b3cc98, 0x02bcf5bc, 0x013a236d, 0x03ac0888, 0x03d7738c, 0x003c1a48}}}, + {X: Field{[10]uint32{0x02b239c4, 0x032d007c, 0x01606c94, 0x0224d1c2, 0x0251e381, 0x00ba6928, 0x01945c16, 0x022a7e2f, 0x00217a31, 0x0015cfc2}}, Y: Field{[10]uint32{0x0346bef5, 0x00754ead, 0x03fbe7ca, 0x00a35f1c, 0x00496cc1, 0x030faf45, 0x00b105fe, 0x02792e52, 0x00f27de6, 0x001f9e39}}}, + {X: Field{[10]uint32{0x02b01f5f, 0x02a4d388, 0x01467213, 0x02120669, 0x02f90d21, 0x015f97b5, 0x0009656f, 0x012e4ed4, 0x01818923, 0x000214de}}, Y: Field{[10]uint32{0x02e475f8, 0x01bc07d8, 0x02820ed2, 0x003b267e, 0x029281fc, 0x02733be8, 0x0069bbe8, 0x00266387, 0x01e8cc99, 0x0032529e}}}, + {X: Field{[10]uint32{0x01eb6041, 0x0184cb3b, 0x0051257f, 0x0031e001, 0x016f00a3, 0x033c3b61, 0x01ccd4c1, 0x000cd8ec, 0x01122989, 0x0014ce21}}, Y: Field{[10]uint32{0x0183334e, 0x022d12da, 0x03722fd7, 0x01551a6f, 0x000dd22f, 0x02f26a11, 0x038feacd, 0x0346e693, 0x0252f856, 0x00355b8a}}}, + {X: Field{[10]uint32{0x00e4796d, 0x00eaabac, 0x00c852f3, 0x02300e71, 0x01c5cb47, 0x03ee6258, 0x009f913a, 0x03ded971, 0x008a750e, 0x00107b79}}, Y: Field{[10]uint32{0x02559de4, 0x0090270c, 0x0065b8de, 0x02734693, 0x0104bdfe, 0x0012d4f2, 0x0092ea7f, 0x011a0062, 0x03f94b6c, 0x0035d31e}}}, + {X: Field{[10]uint32{0x01f08148, 0x034ed4f9, 0x03eefb6d, 0x00e4eb3f, 0x03fe7621, 0x03b5aa77, 0x02eece4e, 0x03dcda64, 0x01f36596, 0x0025fa4c}}, Y: Field{[10]uint32{0x00dd5f1b, 0x01838a85, 0x002c09b6, 0x0052d8b5, 0x0039a246, 0x01013ee9, 0x0276ce77, 0x0314a827, 0x013353b9, 0x000f6a26}}}, + {X: Field{[10]uint32{0x0222579d, 0x00024dec, 0x039a54db, 0x01933125, 0x035c55b6, 0x0094acde, 0x00476335, 0x02c410e6, 0x02ea3ca8, 0x00132bd3}}, Y: Field{[10]uint32{0x011607bb, 0x01c7358a, 0x01464621, 0x00013034, 0x0345a191, 0x01c75628, 0x03885807, 0x02f701f3, 0x03320a93, 0x00030999}}}, + {X: Field{[10]uint32{0x027b1ca4, 0x029f2127, 0x0306bb7e, 0x03e086a1, 0x01b52960, 0x01478e0e, 0x0324ee4e, 0x020f0cea, 0x02905b34, 0x00215f07}}, Y: Field{[10]uint32{0x0269dd80, 0x02456ebf, 0x00c01be5, 0x03f7a6d0, 0x011c6b09, 0x028b9af1, 0x018380c4, 0x021dc6cd, 0x010c7a57, 0x00235ba7}}}, + {X: Field{[10]uint32{0x00b5a182, 0x03b4b06f, 0x0322c1e7, 0x02925a1a, 0x0310ec39, 0x0372e8f2, 0x00fc1248, 0x03deb69a, 0x030be0db, 0x001043bd}}, Y: Field{[10]uint32{0x007f9e94, 0x02e508c9, 0x03db3b7c, 0x01e6023f, 0x00e6925d, 0x002d2970, 0x03074aee, 0x015bd73b, 0x02a3331a, 0x00349ba7}}}, + {X: Field{[10]uint32{0x0351029f, 0x00410655, 0x03f7a307, 0x03e69f98, 0x0289dff6, 0x01ea90c6, 0x03e5ec30, 0x03ac4205, 0x03a8c831, 0x00232be1}}, Y: Field{[10]uint32{0x03c8890a, 0x02421c99, 0x02058bfe, 0x001cf176, 0x0113aad2, 0x030e9192, 0x0265ba07, 0x029b0f23, 0x02e1c8dd, 0x000fc2f5}}}, + {X: Field{[10]uint32{0x02f10e8e, 0x01b57ebf, 0x037798c1, 0x022ffee6, 0x01b35ca1, 0x034c53ec, 0x026a8a39, 0x00920d52, 0x02cfe92d, 0x003bb7b8}}, Y: Field{[10]uint32{0x0114c4c3, 0x02cd6ab9, 0x01624c1e, 0x03259e4f, 0x009fcd12, 0x03e73877, 0x031181f3, 0x02fbf92c, 0x02b021f0, 0x0032d456}}}, + {X: Field{[10]uint32{0x02ebcee1, 0x03bb2bca, 0x00312f02, 0x01d5d135, 0x0248bb2a, 0x0045b6d4, 0x02d6a4e9, 0x02dfddee, 0x02c71e77, 0x00232fde}}, Y: Field{[10]uint32{0x039b7320, 0x028b015d, 0x03799169, 0x01fc36da, 0x02b6f669, 0x0034258d, 0x017f97c3, 0x009ad4f4, 0x0331f67b, 0x001d9712}}}, + {X: Field{[10]uint32{0x00995db2, 0x03f19c95, 0x02dfcc19, 0x032e6190, 0x02715dc6, 0x00380448, 0x03f0627f, 0x026abcd3, 0x01b4cd44, 0x001c3351}}, Y: Field{[10]uint32{0x03535c8e, 0x00314e0b, 0x00c4120f, 0x036442d8, 0x02ee184a, 0x02b685b1, 0x0320eac3, 0x025ec610, 0x00567614, 0x0020b965}}}, + {X: Field{[10]uint32{0x007c45d5, 0x00bf7edb, 0x002ea070, 0x011b83d1, 0x03050e51, 0x00defb0f, 0x039d558e, 0x033f6479, 0x03f9783f, 0x0033f885}}, Y: Field{[10]uint32{0x01c419d5, 0x03dc1e65, 0x00dfc7b6, 0x02185eed, 0x00da2251, 0x0231f0eb, 0x03d70d87, 0x00feff15, 0x010e8645, 0x0014df2f}}}, + {X: Field{[10]uint32{0x00579d52, 0x005e43d2, 0x0317e065, 0x032c4afc, 0x01ccabd2, 0x033ebe9c, 0x033d4f74, 0x02ee38af, 0x00df6486, 0x002609b0}}, Y: Field{[10]uint32{0x01c57342, 0x005cb76e, 0x02da734f, 0x015e353b, 0x02ae3bb4, 0x03f0db45, 0x0349c052, 0x01894f4d, 0x0186f86d, 0x000f6fcd}}}, + {X: Field{[10]uint32{0x028a02c4, 0x013d65b8, 0x00e74d0f, 0x037d5db2, 0x00a13e13, 0x01d13a71, 0x033fa3e3, 0x012f0b1a, 0x00ef381b, 0x003a863f}}, Y: Field{[10]uint32{0x0209f397, 0x03f9a7fb, 0x01874d7f, 0x02931074, 0x02041c9a, 0x016568c2, 0x0103c7fe, 0x01175e1c, 0x039d2bc4, 0x0030f9af}}}, + {X: Field{[10]uint32{0x026d8f4a, 0x033e433f, 0x033a0e88, 0x01759cc0, 0x0221b82e, 0x02705bfe, 0x00618bec, 0x01695187, 0x0065c09d, 0x001b78b1}}, Y: Field{[10]uint32{0x004ee2ba, 0x01973caf, 0x03f5d28b, 0x02c0ca02, 0x03e1c4cc, 0x00ec87d6, 0x00a8199d, 0x0220ad0a, 0x03d28950, 0x000d9eb2}}}, + {X: Field{[10]uint32{0x02183f4e, 0x03e9cfc6, 0x0284706f, 0x01a27bf4, 0x03cecc9c, 0x03469505, 0x0250f803, 0x031f516b, 0x0213ee10, 0x00358a1b}}, Y: Field{[10]uint32{0x02a56f56, 0x004fa4da, 0x008ad37f, 0x024d5f6e, 0x01e965ab, 0x0320a790, 0x023ca411, 0x013a271f, 0x03b75520, 0x001eae4a}}}, + {X: Field{[10]uint32{0x03c3bf58, 0x020f7dc8, 0x0364dfce, 0x0187bcf0, 0x0173f0c8, 0x036dbc82, 0x0125962f, 0x01182895, 0x02faea67, 0x001d49b9}}, Y: Field{[10]uint32{0x00e3a674, 0x023d2306, 0x01ae8f00, 0x02b04b8d, 0x0125a21f, 0x02cc8dd4, 0x0274411c, 0x01846f4c, 0x00e0d5a8, 0x000b1daa}}}, + {X: Field{[10]uint32{0x0079308d, 0x0141c3e2, 0x00b2ab78, 0x000e24fa, 0x02e737c8, 0x0067d47d, 0x01d5d897, 0x0128f5b4, 0x02da56d6, 0x003f32aa}}, Y: Field{[10]uint32{0x039362d1, 0x0171aa11, 0x03d7d868, 0x034ff9b9, 0x01a2ee95, 0x025a7eae, 0x01750efa, 0x03de4bbf, 0x01663fac, 0x002098b1}}}, + {X: Field{[10]uint32{0x01b57fe3, 0x012c4556, 0x0088afef, 0x02a2ce9a, 0x03bd6d91, 0x028e5e11, 0x00483797, 0x017d0f31, 0x03b8eb8a, 0x002d8344}}, Y: Field{[10]uint32{0x00ebaa54, 0x033e0e18, 0x038ae94e, 0x014cdd56, 0x038405b0, 0x032217c7, 0x0104acbe, 0x021615d8, 0x02be5d2b, 0x002afdcf}}}, + {X: Field{[10]uint32{0x0377f8be, 0x039b3a30, 0x02d90127, 0x019b7ea8, 0x014250fd, 0x00de7e49, 0x016d2c14, 0x0361cbff, 0x030f4a0d, 0x000ccb52}}, Y: Field{[10]uint32{0x03c6232b, 0x021f3cc6, 0x02354b78, 0x033761f3, 0x03110dfa, 0x0382c5fa, 0x0333d7d9, 0x00d42fd0, 0x014347c2, 0x0000dfcc}}}, + {X: Field{[10]uint32{0x00c5788f, 0x03be1ed3, 0x0394e52d, 0x0082d556, 0x025d0216, 0x01ef44e3, 0x020e8803, 0x0358cc07, 0x02e62ce6, 0x003a66cb}}, Y: Field{[10]uint32{0x025546bc, 0x01210593, 0x03c6d2c0, 0x030ae469, 0x00e2858d, 0x02ecf954, 0x031df268, 0x032a7db7, 0x02fedabc, 0x00327a81}}}, + {X: Field{[10]uint32{0x01c54353, 0x0015b712, 0x033b1dfb, 0x0247a015, 0x005af241, 0x01c666f7, 0x02692a1d, 0x01ebb9ff, 0x00382a97, 0x00227ab5}}, Y: Field{[10]uint32{0x01994ece, 0x003e6bf6, 0x0319c2de, 0x00efaf97, 0x0107fec4, 0x02dc042b, 0x0167f706, 0x01ddb0aa, 0x01cedb2d, 0x002d5cb7}}}, + {X: Field{[10]uint32{0x0198268f, 0x021ed3b5, 0x01488595, 0x03fec243, 0x004777ba, 0x0231d016, 0x006f6fa9, 0x0104fc2d, 0x018e529b, 0x000336b6}}, Y: Field{[10]uint32{0x03ed034e, 0x03ba0c2f, 0x00cac3ef, 0x0205e22c, 0x02ceabc2, 0x0087e1e1, 0x00f10db8, 0x0398e51c, 0x015e0543, 0x0035016a}}}, + {X: Field{[10]uint32{0x02ee2cc3, 0x00a43921, 0x00f5be41, 0x0275783d, 0x02c26984, 0x0330c502, 0x03f69ad3, 0x00ccaf99, 0x03411cc1, 0x001425bb}}, Y: Field{[10]uint32{0x03f8268a, 0x0114d0dc, 0x02bb418c, 0x029bcb51, 0x0149ef34, 0x0029ecfc, 0x021f3123, 0x02c1afb5, 0x029fccd4, 0x001fcce1}}}, + {X: Field{[10]uint32{0x00a5be61, 0x03d838a9, 0x00dbb8b9, 0x03b58e3b, 0x038c4d59, 0x0322fa61, 0x007253a2, 0x019cd218, 0x0270a096, 0x002f02fa}}, Y: Field{[10]uint32{0x02873b78, 0x03883345, 0x03320873, 0x03c0a777, 0x01054d1f, 0x01b1309d, 0x0286129e, 0x01382c12, 0x01ac3c2b, 0x00386444}}}, + {X: Field{[10]uint32{0x03223ec1, 0x014500e1, 0x007a7dc4, 0x02297210, 0x03b024bb, 0x02a9f5d1, 0x00674d38, 0x01682038, 0x0169ac8f, 0x000b4599}}, Y: Field{[10]uint32{0x019a597a, 0x006f5df8, 0x038f73dd, 0x021f8888, 0x01445c15, 0x03bb1396, 0x027d92d4, 0x01a97c4a, 0x03386221, 0x00122bc6}}}, + {X: Field{[10]uint32{0x0145ba30, 0x03a2dfe0, 0x01d40f27, 0x037f8f3c, 0x012947cd, 0x01bb1ded, 0x00e37b32, 0x00454377, 0x03aebb8b, 0x002e32f3}}, Y: Field{[10]uint32{0x00823ca4, 0x01bf76cd, 0x01a0562b, 0x03ef357d, 0x00ffc2c3, 0x021a287a, 0x030ec022, 0x034b7218, 0x00ab8b2a, 0x003548d3}}}, + {X: Field{[10]uint32{0x00960ee7, 0x02abb1b7, 0x02a227a9, 0x02f9823b, 0x01fb2e3e, 0x006b0676, 0x01db9c0f, 0x004bd377, 0x0092563f, 0x003ece58}}, Y: Field{[10]uint32{0x01823c45, 0x02798bb2, 0x0395358c, 0x02ec1a50, 0x01646e88, 0x00bac07a, 0x027f661c, 0x028e50f4, 0x01dffda1, 0x00197959}}}, + {X: Field{[10]uint32{0x0014b297, 0x03fe9529, 0x0022580a, 0x03b88400, 0x02f8da06, 0x02c89d2c, 0x0225150d, 0x0337ea41, 0x01760b8d, 0x00071ba7}}, Y: Field{[10]uint32{0x01666255, 0x02f0bbe9, 0x00057607, 0x02e5e35d, 0x0085679f, 0x02fb62c4, 0x026edcbb, 0x02c2c151, 0x010d009a, 0x001c1ad1}}}, + {X: Field{[10]uint32{0x01fca1c3, 0x0180d46e, 0x00277dc6, 0x00355578, 0x0377f55a, 0x026173b2, 0x0166b13d, 0x03fc39b9, 0x01c146ec, 0x000b810f}}, Y: Field{[10]uint32{0x026d8398, 0x01c7915c, 0x00e1428a, 0x0000aab1, 0x03665da5, 0x02429eaf, 0x011103b0, 0x03abc281, 0x01caf75c, 0x0000713c}}}, + {X: Field{[10]uint32{0x005f482f, 0x002f2696, 0x0192cb4b, 0x03b8b625, 0x019549f9, 0x025f5e15, 0x023ee12d, 0x023a4399, 0x030ca1bf, 0x0016b85e}}, Y: Field{[10]uint32{0x00fc8111, 0x008daf2d, 0x031c716f, 0x02b6235c, 0x03a71806, 0x03a3969d, 0x006966c1, 0x0002f1cf, 0x03349317, 0x002ec37d}}}, + {X: Field{[10]uint32{0x03caafc4, 0x023d1a29, 0x0271c1b0, 0x037f241a, 0x00fca910, 0x01d7b6a5, 0x0011c46e, 0x030f974f, 0x03426a24, 0x003ea2fc}}, Y: Field{[10]uint32{0x035954e2, 0x02b6930b, 0x000435dc, 0x03e795f0, 0x014e2884, 0x016cf3c1, 0x01e6c846, 0x03ef678d, 0x017cdb07, 0x00329a60}}}, + {X: Field{[10]uint32{0x011a88a4, 0x0016bee6, 0x003cb0f9, 0x02d779c2, 0x011e1031, 0x00fd0e53, 0x01f67aea, 0x035fdee7, 0x01c1846d, 0x000b37fc}}, Y: Field{[10]uint32{0x0376f39e, 0x03fcf8bb, 0x00d3b507, 0x023e3959, 0x016ea0d8, 0x038c11c4, 0x00530fed, 0x0390adf4, 0x024f3827, 0x0012ef5c}}}, + {X: Field{[10]uint32{0x013b6905, 0x02ccc8a7, 0x02df95f5, 0x02472a50, 0x01c5bb82, 0x019413e2, 0x01f82b29, 0x0127b2bf, 0x000055ca, 0x001beb6f}}, Y: Field{[10]uint32{0x00b7df62, 0x03d5fbd5, 0x02868c06, 0x014fd64f, 0x03911a30, 0x03104645, 0x02f94728, 0x020c9a95, 0x0184033a, 0x003dd9c4}}}, + {X: Field{[10]uint32{0x00dd0841, 0x0280392e, 0x01fca2f5, 0x00184964, 0x026f4a1e, 0x0357aa34, 0x02b15f55, 0x02a90373, 0x015a2f26, 0x0031451a}}, Y: Field{[10]uint32{0x0113266c, 0x014a0eac, 0x03a6e800, 0x02c45b63, 0x01652905, 0x00ff13bc, 0x01375677, 0x02c1aa42, 0x02082e78, 0x001415ae}}}, + {X: Field{[10]uint32{0x037ff933, 0x004785b2, 0x0306466c, 0x03bbf747, 0x01aad758, 0x03862304, 0x00368dd3, 0x013e1553, 0x00d49347, 0x0020f72e}}, Y: Field{[10]uint32{0x030a53c7, 0x022f6118, 0x02288e9f, 0x03ec3987, 0x030d6ed6, 0x004679e7, 0x027a029e, 0x01c649f1, 0x033d04e5, 0x00041396}}}, + {X: Field{[10]uint32{0x00c8a93f, 0x032aec7f, 0x01127a8b, 0x0208b8ac, 0x015f9ae8, 0x01597e6a, 0x03690890, 0x002c990e, 0x038acf9a, 0x002f1973}}, Y: Field{[10]uint32{0x00fb2143, 0x030a4a85, 0x039c3ae9, 0x03045569, 0x0023ff28, 0x019a66de, 0x000ac90f, 0x03741a82, 0x016ba31d, 0x003f7e5c}}}, + {X: Field{[10]uint32{0x009f140b, 0x0272f493, 0x0153c1e0, 0x035901c3, 0x02695e37, 0x016b4de8, 0x0174b476, 0x004a904b, 0x03a9520b, 0x00121de3}}, Y: Field{[10]uint32{0x029c373e, 0x0328875d, 0x01b39fbe, 0x0316cb8d, 0x01446dd3, 0x03146d1a, 0x03b4c02b, 0x016500e1, 0x0005bec1, 0x00337192}}}, + {X: Field{[10]uint32{0x0301dc25, 0x019f77e8, 0x006e841f, 0x02d4cb46, 0x0328077b, 0x03b5a1cf, 0x01c88312, 0x01621a3b, 0x002c6a73, 0x00276cb1}}, Y: Field{[10]uint32{0x03b3a0dc, 0x024098af, 0x00ac8569, 0x0351e1b4, 0x00aa0ac5, 0x01a8c96c, 0x0193e064, 0x02d17b84, 0x0235ec9d, 0x0038072c}}}, + {X: Field{[10]uint32{0x00f8da6b, 0x0201cd27, 0x012aefb2, 0x023c925b, 0x03037c6c, 0x015ac9ff, 0x021ef442, 0x0009690e, 0x018f62bf, 0x0032f3fd}}, Y: Field{[10]uint32{0x03b1896d, 0x0379b94e, 0x01da2818, 0x006f0440, 0x0128f533, 0x00784daf, 0x029251fe, 0x009d4c0e, 0x02d52da3, 0x0013f667}}}, + {X: Field{[10]uint32{0x034f3639, 0x019c94db, 0x00270933, 0x03ce45e2, 0x02070cbc, 0x00ec77e5, 0x03a12a29, 0x02311605, 0x039787e6, 0x00275482}}, Y: Field{[10]uint32{0x02bc0f14, 0x027b3bed, 0x036bb22d, 0x001e763e, 0x01041fec, 0x028c9589, 0x01885ca0, 0x02625764, 0x015d2b53, 0x00185784}}}, + {X: Field{[10]uint32{0x0225dbbd, 0x01a8d064, 0x02e7b3ef, 0x00f7e0ec, 0x024b0bfd, 0x02331b5b, 0x023d1820, 0x030af2f0, 0x01c40057, 0x00319237}}, Y: Field{[10]uint32{0x018ab3d8, 0x029fef14, 0x02caf209, 0x0187705f, 0x01ec16fe, 0x019e8f67, 0x0347e99e, 0x00659a6e, 0x006338dd, 0x0002b26a}}}, + {X: Field{[10]uint32{0x002137dc, 0x0259187a, 0x0229a7e5, 0x00a5ed17, 0x02b80ead, 0x0248877b, 0x01e3f1e7, 0x03dd9ebf, 0x0035ea96, 0x002b847e}}, Y: Field{[10]uint32{0x00452596, 0x0085e393, 0x01a15c2a, 0x0395397e, 0x034c5dfe, 0x00654eb2, 0x016e1b5f, 0x018bca26, 0x03ecb65a, 0x0008114e}}}, + {X: Field{[10]uint32{0x0364d46f, 0x00a03428, 0x00fec029, 0x03f8d970, 0x000699f6, 0x023bd44a, 0x03b9293d, 0x02993748, 0x01ad56f8, 0x0028d552}}, Y: Field{[10]uint32{0x03fbbe75, 0x0335b842, 0x00868f11, 0x02480f19, 0x008f55a2, 0x01fffb38, 0x015ffce1, 0x026604c0, 0x01cba38c, 0x00321010}}}, + {X: Field{[10]uint32{0x035f8077, 0x011c25f8, 0x03a649c3, 0x0020351c, 0x022aad83, 0x01f6b226, 0x01bfaef3, 0x01d78423, 0x0029af55, 0x001d61dc}}, Y: Field{[10]uint32{0x03c2b8b6, 0x02a173d7, 0x0165b2e5, 0x01d085b3, 0x01603cd6, 0x005df31a, 0x02437620, 0x0146efb4, 0x0097d198, 0x00210ec1}}}, + {X: Field{[10]uint32{0x02d4ea99, 0x0181fecc, 0x031ca917, 0x03a43cba, 0x01ae00b9, 0x00f94cb0, 0x027b1f68, 0x03f54311, 0x0168ca7f, 0x00113b8c}}, Y: Field{[10]uint32{0x012c3270, 0x00fadff2, 0x001411e7, 0x038e6e5b, 0x03022564, 0x024443bb, 0x01a9f9a0, 0x01684efb, 0x02a8120b, 0x00042883}}}, + {X: Field{[10]uint32{0x025337d4, 0x02dbd99e, 0x007d6477, 0x02550b2c, 0x01461e45, 0x00eee632, 0x0278f92f, 0x02bc2e41, 0x00898daf, 0x0026804f}}, Y: Field{[10]uint32{0x023c2a73, 0x012e87f6, 0x0205e877, 0x03c7fd4c, 0x03fec396, 0x017367f2, 0x009b773f, 0x008e939b, 0x005ac966, 0x00047e12}}}, + {X: Field{[10]uint32{0x02b47d5c, 0x01cf5a6d, 0x01bea83e, 0x005cae2d, 0x013fa12d, 0x03d42cd2, 0x0019a615, 0x01060882, 0x00a144d5, 0x002d178a}}, Y: Field{[10]uint32{0x02c29f4b, 0x01b0c1a4, 0x00ae45b7, 0x0248256f, 0x03fb1c20, 0x00e65c94, 0x03f1dec4, 0x0334877f, 0x0383ccda, 0x003661f6}}}, + {X: Field{[10]uint32{0x0241a0c9, 0x000f4d69, 0x02603cdc, 0x0014074a, 0x009a6592, 0x004064be, 0x0065d073, 0x016222a2, 0x02534984, 0x00279f5a}}, Y: Field{[10]uint32{0x00f462d9, 0x00052615, 0x033233c0, 0x02f2c87e, 0x02ce5f1f, 0x0134702c, 0x03e5690b, 0x027e9fd5, 0x00edace2, 0x003285dd}}}, + {X: Field{[10]uint32{0x00991f47, 0x03fa90d5, 0x00b01b9a, 0x01023bc5, 0x03e433a9, 0x02017058, 0x03b306d5, 0x0184f159, 0x0029be1b, 0x00044e85}}, Y: Field{[10]uint32{0x03928697, 0x005159de, 0x023c7500, 0x0006454a, 0x000321e8, 0x01478e17, 0x0191ec1a, 0x032ee124, 0x01fa6d26, 0x000897b9}}}, + {X: Field{[10]uint32{0x018d9181, 0x01575c50, 0x03964776, 0x029b4375, 0x016d6eb0, 0x01ac017a, 0x01e2597f, 0x02177e4c, 0x01d102cf, 0x000cbb23}}, Y: Field{[10]uint32{0x03f9d8b9, 0x035eeeeb, 0x022ab00d, 0x001786a8, 0x003423bc, 0x0310c1d9, 0x02f7f4d9, 0x0392966f, 0x01d078b3, 0x003f5c63}}}, + {X: Field{[10]uint32{0x02e9246e, 0x0063a45c, 0x03865b12, 0x01c3bd1d, 0x01b145db, 0x018547e2, 0x021a5f14, 0x036b9017, 0x0267f2ce, 0x002b690c}}, Y: Field{[10]uint32{0x007cf82c, 0x038352c9, 0x00a541f3, 0x021b0acb, 0x0116e396, 0x02c11d1a, 0x0315c578, 0x0134a7e7, 0x02e04d1f, 0x0034522f}}}, + {X: Field{[10]uint32{0x01bf0cbe, 0x02e611e5, 0x006bbbf7, 0x001c805f, 0x0265f5ca, 0x036e8694, 0x03e662be, 0x01d29a47, 0x02bedebd, 0x00206282}}, Y: Field{[10]uint32{0x009c0a53, 0x006738c2, 0x03bc8da7, 0x00ee4240, 0x030ac0f0, 0x0389cede, 0x008da9bc, 0x00b1cda6, 0x006a0187, 0x0039ecb4}}}, + {X: Field{[10]uint32{0x010b3c94, 0x02fa041f, 0x02f14d80, 0x01b7cb44, 0x02ae7602, 0x0165bc27, 0x00c1a1bf, 0x03684201, 0x0355ef77, 0x000bd27a}}, Y: Field{[10]uint32{0x02038b83, 0x0138e0cf, 0x02ffa569, 0x01ae00b2, 0x011a7903, 0x01b533b4, 0x0289aa1e, 0x004463ad, 0x0010002f, 0x001a8896}}}, + {X: Field{[10]uint32{0x02faf74a, 0x0314d4de, 0x0278ba5c, 0x031e61b1, 0x02bf66d5, 0x03b6f457, 0x02f8029b, 0x00097daf, 0x017054cb, 0x001ff953}}, Y: Field{[10]uint32{0x00ad89b0, 0x025b042d, 0x03695022, 0x03f76dd5, 0x00a47a82, 0x02462155, 0x016afb66, 0x0198c9b4, 0x03ec72ac, 0x003f7185}}}, + {X: Field{[10]uint32{0x02ed2689, 0x028fdd63, 0x0131956a, 0x02eb7bb0, 0x03411ec9, 0x02e71575, 0x01b8675d, 0x02128327, 0x03662b82, 0x00213d64}}, Y: Field{[10]uint32{0x02cd0d88, 0x0263a0c2, 0x01dfe4de, 0x024bd07b, 0x01480425, 0x01144722, 0x01119c4c, 0x01bb5e09, 0x01d96bef, 0x0020db99}}}, + {X: Field{[10]uint32{0x0185ee1b, 0x029bed50, 0x01f52da0, 0x004978ad, 0x00a46b16, 0x033326ff, 0x02eb6b71, 0x02083781, 0x00301a84, 0x003242aa}}, Y: Field{[10]uint32{0x010dc8df, 0x00d48dfe, 0x02efb161, 0x01276489, 0x01cc2134, 0x02671628, 0x031e05cd, 0x01760a4c, 0x03c00b28, 0x003aa1b5}}}, + {X: Field{[10]uint32{0x012ef100, 0x01f65b86, 0x00addc05, 0x02b673f7, 0x018669b2, 0x00d850aa, 0x03047ef6, 0x0126f9a7, 0x0176abae, 0x003fed35}}, Y: Field{[10]uint32{0x03ec6c7a, 0x024406ed, 0x0012080a, 0x01b6948e, 0x013d9596, 0x0203daa3, 0x02700e4c, 0x038060ce, 0x0114b2d5, 0x000dd033}}}, + {X: Field{[10]uint32{0x01403de0, 0x01e3f2b3, 0x00a3c08b, 0x0174b0cf, 0x0312c24b, 0x026bfbff, 0x03ebb618, 0x01af33ad, 0x018967ad, 0x001022a3}}, Y: Field{[10]uint32{0x01caecf3, 0x02f391f8, 0x013a2cdc, 0x015ff58c, 0x014acd35, 0x007605c7, 0x00fb66ff, 0x0310ba8a, 0x03a6378c, 0x000edd87}}}, + {X: Field{[10]uint32{0x0053b787, 0x0120ba1f, 0x027123e3, 0x013c60c9, 0x006c80c0, 0x006c2ac1, 0x01e27e3f, 0x00276ff7, 0x03f61531, 0x0016028c}}, Y: Field{[10]uint32{0x0028431a, 0x00d4f039, 0x02dd801d, 0x028d58e6, 0x02f70a33, 0x025c0bfd, 0x01ac5ae6, 0x020783a6, 0x03c3fddc, 0x002ee01c}}}, + {X: Field{[10]uint32{0x0344130f, 0x039e27e0, 0x018c2505, 0x036ce31a, 0x014c7860, 0x020d26b4, 0x02b11008, 0x03332b11, 0x02947054, 0x000b4c42}}, Y: Field{[10]uint32{0x023db697, 0x0237204f, 0x02a9a5d2, 0x0168b89a, 0x022df187, 0x0244f643, 0x011be0a0, 0x03243a70, 0x029c3c6e, 0x0007a881}}}, + {X: Field{[10]uint32{0x027aa450, 0x008c7e1a, 0x03b32985, 0x009091a5, 0x015d82b4, 0x02e0d6bb, 0x022f2e3a, 0x0072b4fc, 0x002be7b1, 0x000a1d0a}}, Y: Field{[10]uint32{0x00415c42, 0x008c5c7c, 0x02b74cfa, 0x000c87c9, 0x02cf39ce, 0x0107642e, 0x02e3860e, 0x02e48888, 0x032db2e1, 0x0000a18c}}}, + {X: Field{[10]uint32{0x036231cf, 0x01b9007a, 0x02ea48b3, 0x016e54c3, 0x016940f8, 0x00adde60, 0x02f5e418, 0x03ce8042, 0x039ff77b, 0x002be79d}}, Y: Field{[10]uint32{0x00e84c67, 0x03dd5066, 0x03389c13, 0x020eac7f, 0x034deb70, 0x01b5ae23, 0x01d958b8, 0x0057249a, 0x0350dbaf, 0x00274f50}}}, + {X: Field{[10]uint32{0x008c1ef3, 0x00740d5a, 0x01b35447, 0x02302998, 0x00bc93ad, 0x00ec9de3, 0x03d27577, 0x029cd49b, 0x038d515c, 0x001117b6}}, Y: Field{[10]uint32{0x0090dc49, 0x0193c95c, 0x002f555d, 0x0269154e, 0x02e94b75, 0x03cda84f, 0x03743611, 0x018be0ed, 0x023cfde7, 0x0025245e}}}, + {X: Field{[10]uint32{0x001811b4, 0x01d4049c, 0x012aa0dc, 0x02e8ad98, 0x013e76fe, 0x01fb0d34, 0x009993cf, 0x014c183e, 0x020a370d, 0x00380430}}, Y: Field{[10]uint32{0x006fd8af, 0x03d93fc4, 0x023cee3a, 0x009bc857, 0x03798a64, 0x032cf311, 0x0157a214, 0x026f814b, 0x032d280d, 0x0032d145}}}, + {X: Field{[10]uint32{0x025af8f9, 0x0108d4ab, 0x033f9eed, 0x00ed9eed, 0x02ef548b, 0x03ed1334, 0x0134080c, 0x031f96c4, 0x03ca4625, 0x0034d09d}}, Y: Field{[10]uint32{0x03e4a4df, 0x03963235, 0x02b441ec, 0x026b389e, 0x02c39190, 0x038fd13b, 0x037bd609, 0x023dfaec, 0x03797a62, 0x0028d7d5}}}, + {X: Field{[10]uint32{0x031d628d, 0x017bb2b2, 0x01c5dd66, 0x030f27ec, 0x03d96182, 0x0291ccf8, 0x004977fe, 0x010906da, 0x03993bd5, 0x002f82e4}}, Y: Field{[10]uint32{0x03b7fdb8, 0x016fa103, 0x009dadbf, 0x003c17ec, 0x0013218b, 0x03b10626, 0x03762728, 0x0349a837, 0x0353744e, 0x000de410}}}, + {X: Field{[10]uint32{0x018f3980, 0x00b0c67f, 0x0309dc3b, 0x00d3a04b, 0x01edd9bd, 0x01ad0a0a, 0x019f48fd, 0x0087a47b, 0x01f1ed4a, 0x000c20a5}}, Y: Field{[10]uint32{0x02ac0230, 0x02975fab, 0x00181a8b, 0x00d225f1, 0x030797d4, 0x03b93328, 0x0214c314, 0x00386926, 0x034d5c36, 0x001a0d70}}}, + {X: Field{[10]uint32{0x00495b1a, 0x0236ccb7, 0x03b412b8, 0x01799a8d, 0x01c2e07a, 0x0043d7e9, 0x0391604e, 0x021e77f5, 0x035161aa, 0x0019b3fa}}, Y: Field{[10]uint32{0x0252a1e1, 0x03e726cc, 0x03fe3f9f, 0x0317edba, 0x025ffba9, 0x0120ef09, 0x0229602b, 0x03f004f8, 0x029bf8a2, 0x0028381e}}}, + {X: Field{[10]uint32{0x03e39ba4, 0x02168b5b, 0x03648ec8, 0x03be6d57, 0x01bf7b3a, 0x00d29284, 0x03b3d9d3, 0x03a9c133, 0x00fb849c, 0x0003d0ae}}, Y: Field{[10]uint32{0x01e8b22f, 0x03458298, 0x019a7036, 0x012af27c, 0x01f5b0fb, 0x034e06b8, 0x035db65d, 0x012bfe7d, 0x01e2a36d, 0x002d8188}}}, + {X: Field{[10]uint32{0x03ab034f, 0x00c4952f, 0x008e385a, 0x03698233, 0x00c57b7f, 0x0199be3d, 0x00fdc462, 0x018c8cbb, 0x03852290, 0x0010a705}}, Y: Field{[10]uint32{0x0162af35, 0x02605aca, 0x001f18e6, 0x027aaf25, 0x0250b396, 0x0206a813, 0x03bfcb04, 0x023d5d02, 0x02591a86, 0x0038642e}}}, + {X: Field{[10]uint32{0x01ebf611, 0x037dee03, 0x03d7dfaf, 0x0215bf19, 0x009895b9, 0x02cde3b9, 0x01e4237f, 0x026832e5, 0x017c9478, 0x003224e7}}, Y: Field{[10]uint32{0x00ad3682, 0x003e07c7, 0x022b0437, 0x01fa6c57, 0x0047feb7, 0x0018b4b5, 0x02d05e23, 0x01185f0d, 0x036206e9, 0x00050ebf}}}, + {X: Field{[10]uint32{0x0398ef94, 0x01bcf310, 0x00cfb1d3, 0x02de370f, 0x022b82ae, 0x010ab607, 0x0215ae41, 0x00c90c93, 0x01bf5630, 0x00179055}}, Y: Field{[10]uint32{0x035da55a, 0x03d3fd7a, 0x03b75ed6, 0x019080fc, 0x01b90833, 0x005b5d09, 0x033807f2, 0x028ee6a7, 0x01272325, 0x001a007d}}}, + {X: Field{[10]uint32{0x00d1b573, 0x036f4fc2, 0x0165b5e9, 0x00c181e2, 0x03eb01c5, 0x01c45388, 0x03fa851a, 0x024ef9ee, 0x019853f0, 0x000465ac}}, Y: Field{[10]uint32{0x00628795, 0x015ff4af, 0x0297e5c5, 0x03b7fbc2, 0x00fe79dc, 0x0060f6d1, 0x00dea44d, 0x03b88360, 0x00f054bf, 0x00001e53}}}, + {X: Field{[10]uint32{0x033a6094, 0x00dbb4b1, 0x03a1dea8, 0x017dadda, 0x0339803e, 0x01a00c38, 0x038fcd01, 0x01cdedf6, 0x012074bb, 0x00360636}}, Y: Field{[10]uint32{0x0176e504, 0x01bc5e40, 0x00afe9d9, 0x006fed33, 0x02ff15d5, 0x02d7c21b, 0x00d2aacf, 0x00462a03, 0x03b51f63, 0x001ab1f6}}}, + {X: Field{[10]uint32{0x006c6204, 0x02d193ec, 0x02d8851d, 0x00b6c9cf, 0x01703904, 0x02b97262, 0x01a433ee, 0x02afa7b6, 0x034bf5cc, 0x003009da}}, Y: Field{[10]uint32{0x00f4756b, 0x00bbf289, 0x02cc5fd5, 0x03526cfe, 0x00972593, 0x02160548, 0x001a582a, 0x02b20752, 0x00ae6349, 0x0012249c}}}, + {X: Field{[10]uint32{0x01d83307, 0x00d0f5f3, 0x00a7a0d3, 0x00187136, 0x020b8989, 0x00f42c92, 0x01b300b4, 0x0334c3ae, 0x021cca23, 0x000252ca}}, Y: Field{[10]uint32{0x02481df1, 0x014c0be7, 0x00640607, 0x020e6694, 0x02e6e746, 0x020ce2e7, 0x01608015, 0x02f7296e, 0x0156b709, 0x0011f17b}}}, + {X: Field{[10]uint32{0x027d5108, 0x01a21dab, 0x0195a668, 0x00af4d16, 0x009f157d, 0x030a3ed9, 0x021c3850, 0x03d53b92, 0x0379df2b, 0x003cabb8}}, Y: Field{[10]uint32{0x01c8ef08, 0x00b7558d, 0x0231113f, 0x023ef55a, 0x0319a7bf, 0x019dbbbe, 0x0079d351, 0x0287e724, 0x03ae9c90, 0x002b9d9a}}}, + {X: Field{[10]uint32{0x029833ad, 0x01aee16e, 0x02222830, 0x028115b3, 0x01e81e4d, 0x018071aa, 0x029cd043, 0x0312cabe, 0x004f3dbd, 0x003f23f9}}, Y: Field{[10]uint32{0x0156fe15, 0x001d4e1b, 0x01094ce3, 0x017b3a31, 0x012b0765, 0x029420ae, 0x0330a52e, 0x014b5d90, 0x0378a98f, 0x001a8c86}}}, + {X: Field{[10]uint32{0x00255c14, 0x02d19393, 0x02b7c5b8, 0x012d60c3, 0x017444d0, 0x00b77043, 0x01aa3ebe, 0x03cf2fef, 0x017919a4, 0x0034e337}}, Y: Field{[10]uint32{0x008c15fa, 0x0195544b, 0x02e6f1a5, 0x0254776a, 0x03e19040, 0x0336baf9, 0x02311fe0, 0x00bf6e52, 0x02f1823a, 0x001a83c7}}}, + {X: Field{[10]uint32{0x01a4b41f, 0x011d4e02, 0x03f4c142, 0x00675ddc, 0x03916ea1, 0x009ad7a7, 0x0071943a, 0x021a4343, 0x02f6013d, 0x002b00b9}}, Y: Field{[10]uint32{0x005ea2b1, 0x00c6e9b0, 0x008f3995, 0x00650ddc, 0x03726598, 0x023f4bd9, 0x019c5e76, 0x013aaefb, 0x019e436b, 0x003ab712}}}, + {X: Field{[10]uint32{0x006419c8, 0x026dc074, 0x01177d7d, 0x01d47fd9, 0x02dc6d1a, 0x001dbe73, 0x03b5cd07, 0x03518ab1, 0x031ac36b, 0x0000e522}}, Y: Field{[10]uint32{0x011765ba, 0x02ee5746, 0x00bd2732, 0x0239de59, 0x0372d5d1, 0x0333ad87, 0x0141ea71, 0x000f1eac, 0x00eba01c, 0x0032a47f}}}, + {X: Field{[10]uint32{0x02706e9a, 0x00c65c5f, 0x0355435e, 0x034176f2, 0x02ea9e73, 0x03ff6210, 0x014c0c2c, 0x000369b7, 0x008d21d6, 0x00131f6f}}, Y: Field{[10]uint32{0x038230fe, 0x0305fd49, 0x0042d35d, 0x02f6336d, 0x016db46e, 0x01fdfa16, 0x002f4129, 0x01eaf4a7, 0x0344b87b, 0x0021a9df}}}, + {X: Field{[10]uint32{0x0244f623, 0x03847920, 0x01e0698e, 0x00c7677d, 0x01b7dec7, 0x001d0ec3, 0x038c2f7a, 0x0178b427, 0x01aab382, 0x001d48a3}}, Y: Field{[10]uint32{0x000a1676, 0x0086a21e, 0x01aa4510, 0x01949829, 0x0075e336, 0x034a0ba9, 0x0237bdfe, 0x03c41f6e, 0x0187e122, 0x00258f0a}}}, + {X: Field{[10]uint32{0x0280a579, 0x034b0ac3, 0x00147632, 0x00fc40b0, 0x02b584a7, 0x006de91e, 0x02ea92c7, 0x00587e3d, 0x02b32ed2, 0x002a8ea1}}, Y: Field{[10]uint32{0x024e6cb7, 0x01806b6b, 0x002abbc4, 0x03fddc8b, 0x03f7e517, 0x00409135, 0x01345d32, 0x03193c37, 0x009d2b4e, 0x002e3f89}}}, + {X: Field{[10]uint32{0x013f22f7, 0x034c5906, 0x0368abcf, 0x01f4f4f0, 0x014c0322, 0x035bcebe, 0x00b992f7, 0x000e7696, 0x012d9828, 0x001c0ae4}}, Y: Field{[10]uint32{0x02bac387, 0x039710b1, 0x0136f71d, 0x02e8e5ab, 0x02b576cc, 0x01c5331f, 0x00a4e14c, 0x0335e04c, 0x00493a32, 0x0009624b}}}, + {X: Field{[10]uint32{0x0090ba75, 0x034ed727, 0x03567829, 0x00ee3dbc, 0x01269f70, 0x00315c04, 0x0221dfc1, 0x02fe98a8, 0x00886d44, 0x00132843}}, Y: Field{[10]uint32{0x03fde3e7, 0x00fb3ed3, 0x034b9dac, 0x0089fc0d, 0x0395b04a, 0x00b5df6c, 0x01e6f277, 0x038d6353, 0x02b29282, 0x000cc8fa}}}, + {X: Field{[10]uint32{0x02b9c325, 0x0159ce24, 0x02d342da, 0x00d4ba51, 0x00f3601c, 0x0305d3bf, 0x00aa4362, 0x01a5c80b, 0x023630da, 0x0005867a}}, Y: Field{[10]uint32{0x030e881e, 0x029cbe43, 0x02de4b98, 0x025e471f, 0x03a1c126, 0x01237b5e, 0x0188dd61, 0x019e7a9b, 0x000e13b8, 0x0008ab45}}}, + {X: Field{[10]uint32{0x034d3032, 0x02f4e634, 0x034c6365, 0x02ead941, 0x0064d589, 0x00c0be2b, 0x01409a8a, 0x02fed273, 0x003818de, 0x000877f7}}, Y: Field{[10]uint32{0x004099a9, 0x02c5f39e, 0x01c4579e, 0x00f885c9, 0x02106d19, 0x02d809b9, 0x006ddcdb, 0x0148129e, 0x02c20e83, 0x002eef9f}}}, + {X: Field{[10]uint32{0x01069fe1, 0x036f5021, 0x01bd1c0d, 0x00b82eec, 0x03036a47, 0x00b3383b, 0x02e99aa1, 0x006acb2e, 0x01dd802f, 0x00183ef9}}, Y: Field{[10]uint32{0x03349dc3, 0x02f94929, 0x013167f9, 0x02cade2c, 0x0399feb1, 0x015023c2, 0x03d07a68, 0x00135a0b, 0x03592dd3, 0x0003aa0e}}}, + {X: Field{[10]uint32{0x02147f96, 0x019db307, 0x0066ae29, 0x01e53712, 0x03dd7c24, 0x01650174, 0x008ee975, 0x0316eea1, 0x0065fdcd, 0x0032012d}}, Y: Field{[10]uint32{0x03adc5a2, 0x03bbbc96, 0x035223a7, 0x028b3e6e, 0x03fb10cc, 0x02e0a393, 0x02bf43a9, 0x00adc3af, 0x02b71fd8, 0x002a928b}}}, + {X: Field{[10]uint32{0x010336d9, 0x03674f75, 0x03b7bd96, 0x02ecc64b, 0x005c74cf, 0x030cbdb0, 0x011b3383, 0x00ed5771, 0x03e55137, 0x001de9b8}}, Y: Field{[10]uint32{0x006f047f, 0x0162dac3, 0x032b67d3, 0x01b8e15b, 0x035de35d, 0x03ff355c, 0x02075c10, 0x02b1c523, 0x026e86ef, 0x0008748c}}}, + {X: Field{[10]uint32{0x015f7a5a, 0x00758b43, 0x018c9473, 0x033d938f, 0x01a89d82, 0x01a93b19, 0x02706ff2, 0x03bb4999, 0x01874a72, 0x0021b770}}, Y: Field{[10]uint32{0x030cc29c, 0x03396ad3, 0x0295c443, 0x01781337, 0x0340507b, 0x028f9b72, 0x0217816b, 0x02848ea4, 0x0040ce45, 0x00147df3}}}, + {X: Field{[10]uint32{0x03d3beca, 0x025bcff1, 0x028ce4a5, 0x03be13a8, 0x038c80d5, 0x005578c9, 0x0108675a, 0x03ab11b0, 0x00f8db8e, 0x0033d274}}, Y: Field{[10]uint32{0x020086fc, 0x02e5b7d0, 0x02d41235, 0x02970c51, 0x007cdd64, 0x0186475a, 0x002dcd6a, 0x01d70fb6, 0x0341ebae, 0x001bff71}}}, + {X: Field{[10]uint32{0x035875f4, 0x0232d52d, 0x00381051, 0x01457f86, 0x00c9f5c8, 0x03849b3b, 0x020e8721, 0x019c88b5, 0x038957eb, 0x00075d7b}}, Y: Field{[10]uint32{0x038dbdb4, 0x027719ad, 0x033e37b9, 0x0095dd96, 0x01c20766, 0x03e8750a, 0x024ae2f5, 0x0158776f, 0x03dd9288, 0x0020b177}}}, + {X: Field{[10]uint32{0x03ad0689, 0x00b2a279, 0x036dca29, 0x038f1b76, 0x005bb5b7, 0x02540cd2, 0x00d94666, 0x01848a76, 0x0335f62e, 0x002fa92d}}, Y: Field{[10]uint32{0x03a08901, 0x0082b4c1, 0x0011cd8e, 0x00dbd4a8, 0x027cda58, 0x02df007c, 0x019a4517, 0x0278439f, 0x038a08ea, 0x002438c9}}}, + {X: Field{[10]uint32{0x0169f2bb, 0x00e5aa58, 0x037281af, 0x03c2ceb2, 0x02577f5c, 0x01756627, 0x010aaa27, 0x0145c063, 0x02dea90e, 0x003a16c2}}, Y: Field{[10]uint32{0x0250aaa8, 0x01fd6679, 0x03358066, 0x01a75020, 0x0230ef12, 0x015edfd6, 0x016fec57, 0x01d718e4, 0x00cd3ca1, 0x00350a5c}}}, + {X: Field{[10]uint32{0x03928934, 0x0390b628, 0x00f5e3ff, 0x0213008a, 0x0082ca55, 0x033df30b, 0x01ed550f, 0x00149b90, 0x02dd2405, 0x00365d64}}, Y: Field{[10]uint32{0x022d102e, 0x013713bf, 0x0126a217, 0x01149bcb, 0x024de0db, 0x0008dbd3, 0x01a3852a, 0x0070edd6, 0x01696bf0, 0x003ab1b0}}}, + {X: Field{[10]uint32{0x026e00e7, 0x00d7b859, 0x013ebedd, 0x01d56bad, 0x00fd7725, 0x023195de, 0x00e60a9a, 0x008388de, 0x02a450b6, 0x0003808f}}, Y: Field{[10]uint32{0x0094797e, 0x0198d4da, 0x01e306a9, 0x01338df8, 0x026bdd54, 0x02457d41, 0x020f0e78, 0x033e26c1, 0x00506dbd, 0x001393b6}}}, + {X: Field{[10]uint32{0x01935e5a, 0x0013b083, 0x01c9cc83, 0x00b70c0b, 0x02a7c0ec, 0x01aa15ef, 0x001b9f7e, 0x03f5ba96, 0x00955cd4, 0x001856d7}}, Y: Field{[10]uint32{0x015f4d46, 0x0086c53f, 0x038d36e4, 0x01d3cda9, 0x0146fc80, 0x0175d536, 0x01845bff, 0x00c96ef3, 0x03662602, 0x00308871}}}, + {X: Field{[10]uint32{0x02ec13a7, 0x031cd625, 0x0185bc2c, 0x02168012, 0x03fa2a0d, 0x004e46f6, 0x00e34d60, 0x008086e7, 0x003402e1, 0x002c77e9}}, Y: Field{[10]uint32{0x0348438e, 0x00fbd665, 0x03eadd10, 0x03316264, 0x0013c2a5, 0x01be062d, 0x03b7e9b0, 0x03e0a076, 0x015a8162, 0x003e8f44}}}, + {X: Field{[10]uint32{0x03eada7c, 0x028f272e, 0x0097436b, 0x02acc966, 0x0068c7e1, 0x0393b372, 0x0275b835, 0x011ff6b1, 0x001fafbe, 0x002d92d8}}, Y: Field{[10]uint32{0x01dbe68d, 0x0148dd3a, 0x007d85ea, 0x00355cd2, 0x02652ae9, 0x018b6f26, 0x03606624, 0x015d1bfa, 0x0039d231, 0x002bde30}}}, + {X: Field{[10]uint32{0x03b579cf, 0x03cc991a, 0x013364a0, 0x008d49c5, 0x01b0981f, 0x02535d59, 0x01027d4e, 0x036721b1, 0x0346fda1, 0x00150a74}}, Y: Field{[10]uint32{0x015b1880, 0x025a8ca6, 0x00f37ac6, 0x01654519, 0x02162d66, 0x035d18db, 0x00754dd2, 0x0364b8e4, 0x0197dfec, 0x0016e338}}}, + {X: Field{[10]uint32{0x026f005b, 0x0152c58a, 0x03f94ff9, 0x01a7cde1, 0x0020e216, 0x00105d27, 0x000bb781, 0x019c62c1, 0x00f2056d, 0x002241a5}}, Y: Field{[10]uint32{0x01753341, 0x0070504b, 0x00df35df, 0x02dcc6e5, 0x007bf505, 0x01abf43e, 0x010d7b22, 0x02eff2ee, 0x034a890d, 0x003659a4}}}, + {X: Field{[10]uint32{0x003cc117, 0x00b0ad9d, 0x0067ccb9, 0x0079128a, 0x00269b5d, 0x03f81832, 0x02987a05, 0x009adfe9, 0x0292cd05, 0x000eb9d4}}, Y: Field{[10]uint32{0x02416a94, 0x028b757c, 0x02871d22, 0x03a61ee0, 0x00f004ee, 0x00cc95af, 0x03d5416a, 0x02a0b63d, 0x00c15a74, 0x00042567}}}, + {X: Field{[10]uint32{0x019b0707, 0x01771fca, 0x03ce93bb, 0x037a292a, 0x01347bba, 0x006e7e87, 0x0353fd5f, 0x01f55568, 0x029bff71, 0x00275d16}}, Y: Field{[10]uint32{0x02de8134, 0x030a399f, 0x0369b0ba, 0x03feb783, 0x0210461c, 0x039cd379, 0x004f615a, 0x031831cc, 0x00aed513, 0x0033bcce}}}, + {X: Field{[10]uint32{0x0144f166, 0x02e54674, 0x009f0aaa, 0x02599214, 0x00abf1b8, 0x0248b018, 0x01ce7f4f, 0x0324e441, 0x002c8130, 0x001a67a7}}, Y: Field{[10]uint32{0x003a19cd, 0x028e7b5f, 0x004a438d, 0x00a65f49, 0x01bfb7da, 0x00e0275a, 0x01145838, 0x03e51257, 0x010e1fb9, 0x00220ad2}}}, + {X: Field{[10]uint32{0x01591f87, 0x012869e1, 0x03550388, 0x02953d0c, 0x00ae79b4, 0x032ff8a6, 0x01ea704b, 0x001426a4, 0x00c1dc52, 0x0038e807}}, Y: Field{[10]uint32{0x02dcc64e, 0x005ff507, 0x00b96066, 0x0244dd24, 0x012480a8, 0x0376bd25, 0x0287e546, 0x02755ff2, 0x01f368d1, 0x003cf190}}}, + {X: Field{[10]uint32{0x02c433d1, 0x03b8e35a, 0x035f1ee5, 0x039bf63f, 0x00cc7cce, 0x01126145, 0x01d23623, 0x00dd751b, 0x01c3d9df, 0x00174543}}, Y: Field{[10]uint32{0x02ab0316, 0x00c5bad4, 0x00061a32, 0x03fafeb7, 0x02399a83, 0x02100424, 0x000263f1, 0x03a839f6, 0x0250d2e2, 0x000b0244}}}, + {X: Field{[10]uint32{0x00996a66, 0x003170b8, 0x02b16c10, 0x0201629b, 0x00ec4778, 0x038047e0, 0x00aea5b5, 0x02e8fd91, 0x0361bb12, 0x00127ee5}}, Y: Field{[10]uint32{0x0255e23c, 0x033f41b5, 0x00370089, 0x006e4a5e, 0x00d9086b, 0x00595317, 0x0099caf2, 0x02245161, 0x020fb720, 0x001c4d08}}}, + {X: Field{[10]uint32{0x0244738e, 0x0032514a, 0x03b13d53, 0x01687d3d, 0x00bdea05, 0x02b73770, 0x03990211, 0x00b7ef79, 0x02b3a451, 0x000d3157}}, Y: Field{[10]uint32{0x0398fd16, 0x02693153, 0x021f2ba3, 0x0254c8cc, 0x010fdbb6, 0x00325e79, 0x0110e26d, 0x01007e6a, 0x0288beff, 0x00096331}}}, + {X: Field{[10]uint32{0x00a3a98c, 0x0023508c, 0x0202ab25, 0x03c8c371, 0x039b1c39, 0x02bc3272, 0x037b82c2, 0x03f8013f, 0x00f07c3e, 0x001c1a3f}}, Y: Field{[10]uint32{0x037ef1fc, 0x02c65eb8, 0x01d77aaa, 0x01e5f8b8, 0x012fe506, 0x000ad77d, 0x03657bf2, 0x01e314b9, 0x00d88445, 0x003921cc}}}, + {X: Field{[10]uint32{0x03355a1e, 0x02e1d3da, 0x01909f73, 0x01528ac0, 0x02f49e52, 0x03a38d1b, 0x03a1f95a, 0x02aa844a, 0x0110a987, 0x00038762}}, Y: Field{[10]uint32{0x03e3cdb8, 0x02ae41c3, 0x00235d7b, 0x008282e4, 0x01d4a56a, 0x03f57167, 0x01c2c149, 0x011f6266, 0x011bcc49, 0x0022b40c}}}, + {X: Field{[10]uint32{0x02d2caf2, 0x02b0f2dc, 0x03d57c10, 0x0363b536, 0x006bdf06, 0x01837d17, 0x02c6b2dc, 0x018c6c05, 0x03880ba8, 0x00249426}}, Y: Field{[10]uint32{0x006a3ccf, 0x022bd61d, 0x038c3397, 0x00ccd776, 0x01ee6f0f, 0x0257c504, 0x0395651b, 0x018a66a7, 0x0231633b, 0x000fa91e}}}, + {X: Field{[10]uint32{0x0266a519, 0x00d5ab06, 0x0351206a, 0x0078d371, 0x01644647, 0x02df4a69, 0x02ec994d, 0x0017a65a, 0x002ae8d5, 0x00243f50}}, Y: Field{[10]uint32{0x02da3b6b, 0x0162e96e, 0x02a62e19, 0x01611aaa, 0x039a6dc6, 0x0313c399, 0x0231816e, 0x00db82b6, 0x03f7bcdc, 0x0001a303}}}, + {X: Field{[10]uint32{0x01400704, 0x024367ea, 0x005f5eb3, 0x01fc319b, 0x0004cbc7, 0x0104ac4a, 0x035b0ddd, 0x032a3878, 0x02cb7d9b, 0x0002ce03}}, Y: Field{[10]uint32{0x006a01a4, 0x03d14321, 0x038a7d78, 0x036f87d7, 0x0118fa71, 0x00a75573, 0x01f69a72, 0x02de0c27, 0x009277d9, 0x003f4a88}}}, + {X: Field{[10]uint32{0x02b83f0c, 0x03bdec0c, 0x027520d3, 0x03bf33ca, 0x03f3d029, 0x01852495, 0x0066140b, 0x02db3dbe, 0x0041aecb, 0x001038b8}}, Y: Field{[10]uint32{0x002291f0, 0x01d131af, 0x01326704, 0x01063949, 0x01e1eda6, 0x005fc8ca, 0x02266794, 0x02223d53, 0x00a53c83, 0x000489c4}}}, + {X: Field{[10]uint32{0x02a03583, 0x03082a2a, 0x009c8c99, 0x02e7dded, 0x037d254e, 0x02bab33a, 0x013a38e9, 0x00c324e2, 0x03c43f4e, 0x00239827}}, Y: Field{[10]uint32{0x02c1a3e8, 0x028f70de, 0x0296d066, 0x01ec3835, 0x00837fb5, 0x0075c0de, 0x0259a86b, 0x005411fc, 0x006e9a82, 0x00251f13}}}, + {X: Field{[10]uint32{0x0035f5ce, 0x03020d7d, 0x020bb2ec, 0x00914bf3, 0x038d9c93, 0x02be26a3, 0x0098d001, 0x027f441a, 0x01b22bfe, 0x002e1c71}}, Y: Field{[10]uint32{0x031d3078, 0x015bc9a3, 0x00b64cd6, 0x03b80018, 0x03507fe8, 0x03c0e000, 0x007226b6, 0x003ba67e, 0x01a3ecbd, 0x0038c0b9}}}, + {X: Field{[10]uint32{0x00841682, 0x001f3554, 0x03f832ac, 0x015f33a1, 0x01c6f80f, 0x01bffd35, 0x01241709, 0x02246aed, 0x027e039e, 0x00149b6a}}, Y: Field{[10]uint32{0x03d210df, 0x0169552c, 0x01f43c5f, 0x02733171, 0x00c477bc, 0x02b503da, 0x00fd3975, 0x004c39d6, 0x00994fb7, 0x001a7c11}}}, + {X: Field{[10]uint32{0x021ad25a, 0x004be521, 0x01ba2edc, 0x01462b76, 0x015c031f, 0x03ed9be8, 0x027cc073, 0x00c15f39, 0x004a514e, 0x00305709}}, Y: Field{[10]uint32{0x02846c50, 0x00e5661c, 0x01b901ba, 0x037d72c1, 0x0016449d, 0x02f26a3f, 0x0234780b, 0x03225e37, 0x01acecc3, 0x0036c408}}}, + {X: Field{[10]uint32{0x02c1d388, 0x00d05cfa, 0x033443e2, 0x01db36df, 0x01d34948, 0x00374f71, 0x03638735, 0x000e36ce, 0x0319466a, 0x000df882}}, Y: Field{[10]uint32{0x003b89f0, 0x023bd8ff, 0x00f252d6, 0x01e7da7b, 0x025ea5bb, 0x036d5eae, 0x02bcfa27, 0x01078bb2, 0x02245465, 0x00002e02}}}, + {X: Field{[10]uint32{0x024ea528, 0x02393ed5, 0x01eabc59, 0x03241ffd, 0x016a0da5, 0x015e5629, 0x011cd81f, 0x00050acc, 0x0328feae, 0x001b4247}}, Y: Field{[10]uint32{0x01d07906, 0x00a418ff, 0x0274c27c, 0x01f16a2e, 0x026e9d9f, 0x03217748, 0x01897196, 0x029b04e0, 0x03f04d7e, 0x00122f25}}}, + {X: Field{[10]uint32{0x0354fd71, 0x018d782e, 0x008d35ca, 0x0334fb75, 0x02d3e545, 0x020676ff, 0x001664fb, 0x03ed5bb4, 0x0016a76e, 0x000ef6f5}}, Y: Field{[10]uint32{0x00eb0639, 0x03cdbd4b, 0x00d26a6b, 0x024e0ae6, 0x039a63a8, 0x007eeb63, 0x03016219, 0x0094ffbc, 0x01723ed7, 0x0029a553}}}, + {X: Field{[10]uint32{0x029d61ce, 0x022cb91f, 0x01237401, 0x0103661c, 0x00c41095, 0x02f0cfbc, 0x005d41a4, 0x02d57e30, 0x02a9f111, 0x0033538d}}, Y: Field{[10]uint32{0x014e3e57, 0x03188551, 0x02ddadf0, 0x02f09939, 0x03abded9, 0x014b7e01, 0x02f95ec4, 0x00b9a41b, 0x02165263, 0x0011e37e}}}, + {X: Field{[10]uint32{0x01f24efd, 0x02a7c44b, 0x031c6272, 0x01c4b9df, 0x02248457, 0x01c2b19f, 0x03214131, 0x027038ef, 0x004a09c5, 0x0003c8f3}}, Y: Field{[10]uint32{0x037fa4b2, 0x0179f715, 0x013da9ed, 0x0339d28f, 0x02dc71cd, 0x00bde919, 0x0358fc07, 0x03bff573, 0x007299b6, 0x003a4cef}}}, + {X: Field{[10]uint32{0x013c33e0, 0x01a56b7b, 0x0098931a, 0x01250d75, 0x0300d7a3, 0x02db6d88, 0x0046840c, 0x03acd6da, 0x01858c97, 0x00366319}}, Y: Field{[10]uint32{0x03114990, 0x02e18b78, 0x02eb2a85, 0x0068593c, 0x01ba1378, 0x00189ce5, 0x02c953c7, 0x020977ad, 0x0224ffe8, 0x00110ffa}}}, + {X: Field{[10]uint32{0x00744225, 0x01b99adb, 0x0085fa94, 0x03728924, 0x0165325d, 0x031d2a6f, 0x012b9d16, 0x036b86db, 0x02a6c055, 0x00089a76}}, Y: Field{[10]uint32{0x01bfb3dd, 0x00b726fd, 0x03dee235, 0x03ceed1f, 0x0130e14f, 0x010bbf73, 0x00f0fe6a, 0x00115ac2, 0x01f9a61f, 0x00056740}}}, + {X: Field{[10]uint32{0x027c48d5, 0x010300c5, 0x03ba4877, 0x02d08eb9, 0x01eb4d75, 0x011ac06b, 0x023880a5, 0x021e4a37, 0x00fd8eea, 0x000cd411}}, Y: Field{[10]uint32{0x02da1cc1, 0x01e8c273, 0x00226818, 0x027398f6, 0x000cfe1d, 0x015ecefa, 0x030f2bb7, 0x01aef18e, 0x03f52626, 0x001a7940}}}, + {X: Field{[10]uint32{0x03f6c512, 0x0317e68f, 0x03a5046b, 0x026d8dea, 0x01a601da, 0x01ef2b9d, 0x00ee87b0, 0x02a0f953, 0x023d86f9, 0x003b9e89}}, Y: Field{[10]uint32{0x01373d56, 0x020a4250, 0x00f6042d, 0x020c587e, 0x01222714, 0x01039d8d, 0x008ac1c8, 0x01a3a48e, 0x01922032, 0x0027f74c}}}, + {X: Field{[10]uint32{0x03f44245, 0x03975694, 0x02d976c5, 0x0111d9a8, 0x00bf95f3, 0x03d12a22, 0x03b6111e, 0x018c6db1, 0x03b336f1, 0x0014a6cc}}, Y: Field{[10]uint32{0x02061099, 0x002a15fa, 0x030004cf, 0x03ba7335, 0x036f29f9, 0x00a00927, 0x02bc1a03, 0x01bd28be, 0x010693da, 0x0004a158}}}, + {X: Field{[10]uint32{0x03df1849, 0x00f3596a, 0x0243dd3e, 0x014e3af4, 0x006a2513, 0x035956a2, 0x01337182, 0x03a7d46a, 0x006da6ce, 0x003caccd}}, Y: Field{[10]uint32{0x03b77da3, 0x00ec3ddd, 0x032e1f48, 0x032cc937, 0x0355aaef, 0x03d89e34, 0x00665262, 0x000ffa7a, 0x0228be77, 0x0035077d}}}, + {X: Field{[10]uint32{0x0182befa, 0x0166dc11, 0x0037b3f5, 0x00a88bce, 0x011db7a1, 0x0358e31f, 0x0103d045, 0x026319c3, 0x01bcf03d, 0x0014d7a7}}, Y: Field{[10]uint32{0x02358392, 0x0307d967, 0x024e740b, 0x01853d93, 0x0262ea47, 0x01fe0e12, 0x00fa98d6, 0x025f16f5, 0x0228bad8, 0x000b08cc}}}, + {X: Field{[10]uint32{0x0299a7f1, 0x00ed282c, 0x03970825, 0x01e2140c, 0x00b019bf, 0x03fcd189, 0x023172dd, 0x01ab197b, 0x008b70da, 0x00304c5a}}, Y: Field{[10]uint32{0x00e5f3cc, 0x01e14677, 0x00d207dd, 0x03fc22e1, 0x000d6e1a, 0x027e65be, 0x0211d82e, 0x012365a6, 0x03b6e0e7, 0x003fbc61}}}, + {X: Field{[10]uint32{0x014d3ba9, 0x01c6c85d, 0x02a645dc, 0x003261c9, 0x02a984d0, 0x029afe0c, 0x00eddf3d, 0x01e61443, 0x00d3f7ab, 0x001d7721}}, Y: Field{[10]uint32{0x03841c50, 0x02c8cab8, 0x02183af5, 0x03ac770a, 0x0384f62d, 0x00bbaa94, 0x005e4d28, 0x001244b3, 0x01f35e11, 0x003d767b}}}, + {X: Field{[10]uint32{0x032a36c5, 0x011fb53c, 0x00648788, 0x035dbe63, 0x0282c6da, 0x01717f54, 0x03273102, 0x030e3ab9, 0x03bc9136, 0x00164771}}, Y: Field{[10]uint32{0x03a421a0, 0x025c9a35, 0x00233953, 0x02dc8751, 0x008d4875, 0x032db17a, 0x003aabb4, 0x034e0b80, 0x00c4f81c, 0x003f33e9}}}, + {X: Field{[10]uint32{0x02712596, 0x01d4f384, 0x00f0fb14, 0x02d93162, 0x02d2c78d, 0x021eb3de, 0x0148fadb, 0x024aeb9d, 0x00892a83, 0x0020e967}}, Y: Field{[10]uint32{0x03c5873b, 0x0140c339, 0x0119be3e, 0x038c573e, 0x0046f090, 0x0208bfcf, 0x027c5988, 0x00819435, 0x001a33b1, 0x001f402b}}}, + {X: Field{[10]uint32{0x026f6f83, 0x024f8b2e, 0x03fc76ca, 0x01a3b116, 0x036608f9, 0x018e47bf, 0x001b8c37, 0x02cbd2a7, 0x03a58c52, 0x003a6c37}}, Y: Field{[10]uint32{0x020a7c8d, 0x02d77bcb, 0x01be2e5c, 0x00e69e02, 0x035c1f08, 0x03acfcfe, 0x0089124f, 0x0378349d, 0x028d5846, 0x0019126c}}}, + {X: Field{[10]uint32{0x032bc03b, 0x0269942d, 0x02f81b1b, 0x01435569, 0x00c76adf, 0x00e8f497, 0x011c002d, 0x02430f45, 0x02f967b0, 0x00005b34}}, Y: Field{[10]uint32{0x02d63a7b, 0x03f931a2, 0x0206f50f, 0x013e123b, 0x03a23db7, 0x035e1162, 0x00cc091b, 0x01c240e7, 0x001e2fe7, 0x00316498}}}, + {X: Field{[10]uint32{0x02ff1cbe, 0x0128e28e, 0x026b6f58, 0x02e9ec61, 0x01d80b8d, 0x0135b97d, 0x023d9e24, 0x038d8da7, 0x03fd1bcd, 0x003cd1f4}}, Y: Field{[10]uint32{0x0287977a, 0x0313491f, 0x03a9766d, 0x02045613, 0x00c7349f, 0x0190497a, 0x01cfc6d0, 0x02284e63, 0x02b90ae3, 0x000710d6}}}, + {X: Field{[10]uint32{0x02428b1b, 0x00dd33f6, 0x0126d534, 0x034ad3a6, 0x01f349ed, 0x01248551, 0x0049f113, 0x02153243, 0x0187d644, 0x0016c643}}, Y: Field{[10]uint32{0x025401f3, 0x0325efbe, 0x03ea856b, 0x01dac9c4, 0x039c1d31, 0x0174b055, 0x013ab256, 0x035aed72, 0x00c363ef, 0x002293ab}}}, + {X: Field{[10]uint32{0x0030834f, 0x03d9f587, 0x003ab105, 0x03cdddcb, 0x01c49e78, 0x02f32b2b, 0x01e96650, 0x0133a3c8, 0x00b2d731, 0x0029de1b}}, Y: Field{[10]uint32{0x01441953, 0x025af52a, 0x0237146e, 0x006e817d, 0x006c4ea7, 0x02dc2ff0, 0x031f911c, 0x00b8fcbe, 0x00d41898, 0x0013f1eb}}}, + {X: Field{[10]uint32{0x03bf33cb, 0x02807ecb, 0x01dcf545, 0x009bc1cf, 0x02abf74d, 0x003bcd85, 0x01faeddc, 0x00686231, 0x0353e907, 0x0034d953}}, Y: Field{[10]uint32{0x032f4383, 0x03c40ed0, 0x00de1880, 0x03649b0f, 0x0377c7a3, 0x0129c5bc, 0x038502fc, 0x000e5165, 0x00c7213c, 0x00295bc8}}}, + {X: Field{[10]uint32{0x0022399c, 0x00e6a4de, 0x00994020, 0x01d83ba2, 0x0127d031, 0x02db6d33, 0x01d8ac3b, 0x032f681a, 0x0287400a, 0x003844e2}}, Y: Field{[10]uint32{0x03a162c1, 0x0259f544, 0x0012c9ce, 0x02543d78, 0x001803cd, 0x01a14f90, 0x0240de6b, 0x01b51971, 0x03bfdd3f, 0x003ca6a3}}}, + {X: Field{[10]uint32{0x02317708, 0x02b26561, 0x007e7374, 0x0039daee, 0x02571473, 0x03272a54, 0x03c49c69, 0x03d3942c, 0x023c91c0, 0x0034a7ad}}, Y: Field{[10]uint32{0x02a5f1a1, 0x02bfd87f, 0x03dd9d73, 0x027c72cf, 0x02d9d38c, 0x0215b79a, 0x022ab4ac, 0x02029674, 0x03024e91, 0x0012b64d}}}, + {X: Field{[10]uint32{0x02ee49f8, 0x022d2089, 0x03147ca4, 0x00c34637, 0x03d2124b, 0x022e3b2c, 0x0177da1d, 0x01ff5c19, 0x03baa671, 0x002a7500}}, Y: Field{[10]uint32{0x02d5323b, 0x005dadc9, 0x0133ff45, 0x027b6dd0, 0x0056f1e4, 0x02564451, 0x0137bcad, 0x0387b942, 0x027a8c5e, 0x0007bb7f}}}, + {X: Field{[10]uint32{0x02f57528, 0x01daf427, 0x01e39ca0, 0x018e6390, 0x018d8f37, 0x004b6272, 0x02c6bfd1, 0x00156bba, 0x00e8dbb6, 0x003fded6}}, Y: Field{[10]uint32{0x00381121, 0x034942bf, 0x02ee6cf5, 0x03d6f506, 0x018e39f1, 0x00db01a1, 0x02cb57c8, 0x01479c35, 0x01d1ad7a, 0x0013938e}}}, + {X: Field{[10]uint32{0x01362979, 0x02ebf46f, 0x016131e7, 0x007559bd, 0x021672ea, 0x038bc51b, 0x036db234, 0x027d8786, 0x029df783, 0x0010f142}}, Y: Field{[10]uint32{0x03f449ae, 0x029d3aa0, 0x03bd61ad, 0x0217d833, 0x001e2158, 0x02781486, 0x03e908f6, 0x006a2ea0, 0x02988154, 0x003c83f6}}}, + {X: Field{[10]uint32{0x034ac30c, 0x00fc89c5, 0x03e53984, 0x0354a74e, 0x035803a9, 0x02f9b410, 0x0262ae16, 0x004a61d5, 0x01b701c9, 0x003d822a}}, Y: Field{[10]uint32{0x027ad5bf, 0x03121a8c, 0x008f2083, 0x019b5ed4, 0x01d788d2, 0x004eed59, 0x02d32434, 0x0375086e, 0x00fae919, 0x0017bcd9}}}, + {X: Field{[10]uint32{0x005a117e, 0x004cc9d1, 0x02d568d0, 0x00881736, 0x033cc117, 0x03099d95, 0x03c48d00, 0x03c10fe6, 0x0029dd1e, 0x003244f8}}, Y: Field{[10]uint32{0x01a83049, 0x02169406, 0x02d8bace, 0x00610f89, 0x0032a38f, 0x00d49a81, 0x01cf07c1, 0x032ecdef, 0x030b9c31, 0x0025d5cf}}}, + {X: Field{[10]uint32{0x02a7d728, 0x03715720, 0x0363cce7, 0x02c4d20b, 0x0361318b, 0x0332a11f, 0x000c58a0, 0x01ef059b, 0x009db17e, 0x002ab831}}, Y: Field{[10]uint32{0x006be0b8, 0x0398ddd7, 0x012516a7, 0x03fe7576, 0x02810396, 0x01633703, 0x0051aae6, 0x00f6b088, 0x03f3f68c, 0x001045c2}}}, + {X: Field{[10]uint32{0x03c846c8, 0x02a8e23a, 0x02c96d35, 0x02d7af16, 0x01e306c8, 0x03792817, 0x039b15e3, 0x02d88966, 0x031f45a0, 0x003ca017}}, Y: Field{[10]uint32{0x038d1267, 0x027421da, 0x01dc9978, 0x00709902, 0x00b36e20, 0x0244be8e, 0x0325cdd0, 0x01c9115d, 0x03396ba3, 0x003d75c9}}}, + {X: Field{[10]uint32{0x00fa4f39, 0x029ea400, 0x030d87b0, 0x00e9e049, 0x00f7d232, 0x01f61968, 0x0230e593, 0x0344b928, 0x00e6e150, 0x001a5a79}}, Y: Field{[10]uint32{0x0214de3a, 0x02dc61d7, 0x02f888da, 0x036eab85, 0x03e030a0, 0x01657727, 0x037ebe08, 0x03b430f9, 0x03d6d323, 0x0031c70c}}}, + {X: Field{[10]uint32{0x01988f3e, 0x03bc0e63, 0x003e3e4c, 0x00e90465, 0x022aa064, 0x021cb7ef, 0x00fbdb8e, 0x0095eaf9, 0x03f07a0e, 0x0002bb0a}}, Y: Field{[10]uint32{0x00c931d0, 0x00755172, 0x01df6ef2, 0x0289c936, 0x00bcc3b6, 0x03fc2a0c, 0x00bc528f, 0x030e0321, 0x0157e686, 0x00363a7d}}}, + {X: Field{[10]uint32{0x0126f710, 0x0090ef52, 0x033226bb, 0x0071e42f, 0x01198f56, 0x02764775, 0x002890b6, 0x030d7294, 0x019a13df, 0x00271bfe}}, Y: Field{[10]uint32{0x03ef849d, 0x020d00fd, 0x0311e9b6, 0x018cd08a, 0x012f7f4e, 0x03fd1a0e, 0x008f5411, 0x03d6b676, 0x020c84a4, 0x000abbe4}}}, + {X: Field{[10]uint32{0x02d7f1c2, 0x0239b825, 0x00aefafb, 0x03b2d776, 0x02ade75a, 0x03bb7994, 0x00246d67, 0x0388e37c, 0x005b37a5, 0x003e90dd}}, Y: Field{[10]uint32{0x018689b1, 0x013a0b6a, 0x01eaddc4, 0x03e167fa, 0x0248aba7, 0x03be4e7b, 0x013c8f3f, 0x019500de, 0x02a42a3c, 0x0037e756}}}, + {X: Field{[10]uint32{0x038d46b9, 0x010f76a9, 0x00741276, 0x01396196, 0x020ce3b7, 0x039ddfe5, 0x03b84d09, 0x009b1fac, 0x02886c4e, 0x001a528c}}, Y: Field{[10]uint32{0x03dfe67a, 0x01aa7862, 0x018b0144, 0x00cb2c4c, 0x02a700d9, 0x0248b316, 0x00909be0, 0x011795ba, 0x006d0076, 0x0029535b}}}, + {X: Field{[10]uint32{0x008f38a0, 0x02b45eb0, 0x02be43d4, 0x0081f31c, 0x01930fe9, 0x00498843, 0x00339a2b, 0x01aca2d3, 0x01975be0, 0x00195265}}, Y: Field{[10]uint32{0x02f7900c, 0x01110fdc, 0x02be1c68, 0x02c22cd6, 0x03d29fe8, 0x02078fd6, 0x02cd92ce, 0x03738cb4, 0x03bb467f, 0x002f7b88}}}, + {X: Field{[10]uint32{0x0399f0bd, 0x00266c01, 0x00137400, 0x02ca6c42, 0x000ea38e, 0x020ebb11, 0x014f0844, 0x005392df, 0x00f675bb, 0x000de472}}, Y: Field{[10]uint32{0x02f7bc76, 0x013a463b, 0x0316d15a, 0x01170c72, 0x018b2a3f, 0x02fb97b9, 0x0396ddbc, 0x017adbce, 0x034ada5e, 0x000b723d}}}, + {X: Field{[10]uint32{0x02f31364, 0x0106a31b, 0x018ed429, 0x01e864e7, 0x0359795c, 0x02b3da90, 0x00469360, 0x0243a7a4, 0x0065eaf8, 0x00357904}}, Y: Field{[10]uint32{0x025bbcad, 0x0055b2fd, 0x03f6d21f, 0x032c341b, 0x00bd2f30, 0x00b930cb, 0x03bb6b8f, 0x03f539ea, 0x00c8a559, 0x000647b1}}}, + {X: Field{[10]uint32{0x00970dec, 0x02b5940b, 0x03ae8b77, 0x03cbaaa8, 0x01e504e6, 0x008162e6, 0x0229acb6, 0x010134a2, 0x0280fa0b, 0x0005b388}}, Y: Field{[10]uint32{0x02efb09b, 0x012e0755, 0x029b8817, 0x0179fe5b, 0x00b6eaec, 0x01d39643, 0x00bc2520, 0x0376e795, 0x03f4486a, 0x000f51a0}}}, + {X: Field{[10]uint32{0x02107d07, 0x00ed4071, 0x030160bf, 0x01fb5f51, 0x03e08f99, 0x005a106d, 0x025b4478, 0x02c7ce43, 0x03306cdf, 0x0029ac2a}}, Y: Field{[10]uint32{0x000abf7a, 0x02692daa, 0x0258d9cb, 0x0392843d, 0x03094e96, 0x01caaf26, 0x02d337fd, 0x009e524b, 0x002fb67e, 0x000a98a1}}}, + {X: Field{[10]uint32{0x02033583, 0x00018a15, 0x02d9021e, 0x022a3fda, 0x0252b9d0, 0x01c27cdd, 0x00b779cd, 0x00c82c87, 0x0138760b, 0x0035f29b}}, Y: Field{[10]uint32{0x009e7bb5, 0x01cbffe1, 0x01b046d6, 0x03ea660b, 0x015e2d1c, 0x00500586, 0x011b6cbb, 0x0166e5ae, 0x0372866d, 0x0035b017}}}, + {X: Field{[10]uint32{0x01609d33, 0x01b2d17d, 0x03ef375f, 0x01758682, 0x03e16240, 0x004871cf, 0x00cb1347, 0x01c1f9ce, 0x01632d3f, 0x001e2ac1}}, Y: Field{[10]uint32{0x0275a6b0, 0x013b17fb, 0x034f2109, 0x012557ed, 0x00350eba, 0x02ea9714, 0x03a4b424, 0x032d3ca5, 0x010c10c7, 0x003f868e}}}, + {X: Field{[10]uint32{0x000d6f04, 0x001cb146, 0x01879bd1, 0x00a0a24d, 0x01218e21, 0x003923f6, 0x01fc5a96, 0x03a00c19, 0x013a5b9f, 0x003014d5}}, Y: Field{[10]uint32{0x02719192, 0x0221a68f, 0x008a4752, 0x03714730, 0x027d0d28, 0x01ef8a00, 0x01c45cf5, 0x02ac1384, 0x0374214d, 0x00380b69}}}, + {X: Field{[10]uint32{0x03f02d03, 0x0357af48, 0x01b4eb65, 0x025604e1, 0x035faf8e, 0x003f07ec, 0x018d4033, 0x02570fbe, 0x0313e2a9, 0x002fe175}}, Y: Field{[10]uint32{0x03e59b18, 0x0101d22c, 0x00bbd6b9, 0x025a20a1, 0x03dcb68e, 0x00777481, 0x0142a6f2, 0x02c386a1, 0x014758d7, 0x00297516}}}, + {X: Field{[10]uint32{0x01bd280a, 0x01343c40, 0x0031d69a, 0x00167954, 0x00138169, 0x02c2bbb0, 0x022ee0de, 0x01e2e03f, 0x02c92be5, 0x003edced}}, Y: Field{[10]uint32{0x0214cd16, 0x0348b165, 0x01cf3e31, 0x0260df8f, 0x00e15bbc, 0x016f7a06, 0x0030bd25, 0x02957f51, 0x00939bf5, 0x001cb39e}}}, + {X: Field{[10]uint32{0x0228aa79, 0x03cdc305, 0x00dfc1e2, 0x00d60cd8, 0x00d99281, 0x03d2db0b, 0x01b04f78, 0x02372480, 0x025aed33, 0x0015925b}}, Y: Field{[10]uint32{0x028c2db1, 0x02291daf, 0x0072586c, 0x015344c0, 0x00092ffa, 0x015b5454, 0x0315d3fa, 0x0329c048, 0x008a824f, 0x002076fd}}}, + {X: Field{[10]uint32{0x03a2130c, 0x01724c6d, 0x036df790, 0x01e56327, 0x02aecc0a, 0x03ca9086, 0x01edcc62, 0x03c26121, 0x03959e81, 0x0035a638}}, Y: Field{[10]uint32{0x01563d27, 0x01e3271e, 0x03ba45ce, 0x02f8743f, 0x0179408b, 0x03a5c28e, 0x0001a8e3, 0x02a8e76b, 0x02bce61e, 0x001640f7}}}, + {X: Field{[10]uint32{0x0166ff80, 0x01d93931, 0x01931780, 0x01ee4e1f, 0x007fad8d, 0x00d012cd, 0x02ade00d, 0x025142cc, 0x02408670, 0x00212ccb}}, Y: Field{[10]uint32{0x031cfdc8, 0x00e9606e, 0x01c244aa, 0x039000c9, 0x009bb5b0, 0x025714d4, 0x03941e31, 0x010a58ad, 0x007856cc, 0x00132034}}}, + {X: Field{[10]uint32{0x00db2ed6, 0x00e29842, 0x00cf05ac, 0x010ca3cc, 0x036528e2, 0x007b4cc9, 0x0073a45f, 0x0226d306, 0x03992a36, 0x001c4a71}}, Y: Field{[10]uint32{0x020810e4, 0x02265699, 0x00a68ce3, 0x00673cff, 0x0044f866, 0x024026aa, 0x01154567, 0x00969753, 0x03e84821, 0x000d8ad3}}}, + {X: Field{[10]uint32{0x0180d824, 0x00e74a34, 0x01b98781, 0x01fbda31, 0x005f8cad, 0x0326470d, 0x02cac088, 0x02dba9ad, 0x0087fa48, 0x0024c593}}, Y: Field{[10]uint32{0x01d9e26b, 0x017a11ed, 0x02a87278, 0x0087234d, 0x03bd1832, 0x0058e5aa, 0x0397771d, 0x03c3e432, 0x015cc91c, 0x0028eb03}}}, + {X: Field{[10]uint32{0x03305a68, 0x03b66c27, 0x02d94808, 0x017a2e26, 0x0194744d, 0x024a7cca, 0x004c7b1f, 0x024df28e, 0x00e237c4, 0x0013e43a}}, Y: Field{[10]uint32{0x012430b8, 0x0123c226, 0x00e70147, 0x0000d0f1, 0x02ce725e, 0x033bb41e, 0x03f417cf, 0x01212c20, 0x02e02b6b, 0x003379dd}}}, + {X: Field{[10]uint32{0x01f716a1, 0x03e46d9d, 0x00ed6a10, 0x0284f016, 0x034442f6, 0x014fb334, 0x0113fae2, 0x01c5ab9a, 0x03bc9f40, 0x00136580}}, Y: Field{[10]uint32{0x0124add6, 0x0153b90e, 0x02493c66, 0x0048a12a, 0x009c52a4, 0x029bed14, 0x0165827a, 0x038d565c, 0x01fc278c, 0x0024ad9e}}}, + {X: Field{[10]uint32{0x02b17203, 0x004f1312, 0x006a5aed, 0x00619fe4, 0x03f90cd7, 0x0058cb84, 0x0094f3bc, 0x01050c4b, 0x011f91c5, 0x0022dbd9}}, Y: Field{[10]uint32{0x010c7066, 0x020d9548, 0x02c130bf, 0x0256eb1a, 0x0109ded9, 0x0049b103, 0x00e2b78c, 0x00955aed, 0x01a4b80f, 0x00223056}}}, + {X: Field{[10]uint32{0x025ec256, 0x03082f6c, 0x02ee98cd, 0x03ad8155, 0x021909e1, 0x02352645, 0x02448f07, 0x020d1fa1, 0x0052cab9, 0x001bd62e}}, Y: Field{[10]uint32{0x00239885, 0x01c08f26, 0x01cd32fa, 0x02cab601, 0x021681da, 0x02833afa, 0x02bd30dd, 0x024c179a, 0x005f233d, 0x0000e930}}}, + {X: Field{[10]uint32{0x000c44bd, 0x02601c44, 0x010086cb, 0x024566a4, 0x028bb6ca, 0x03febe8c, 0x03710da3, 0x010472b2, 0x02a84021, 0x001af9fd}}, Y: Field{[10]uint32{0x0036bee9, 0x00405152, 0x0168bb58, 0x03fcc83a, 0x0186f339, 0x017f0464, 0x01c8d59b, 0x037ed160, 0x02f9d461, 0x002fd929}}}, + {X: Field{[10]uint32{0x02102d39, 0x020f4b2b, 0x0044ab39, 0x003cab06, 0x0299661f, 0x03b3fe6a, 0x00fdbe13, 0x02799bcb, 0x010bb8ea, 0x0002cbf3}}, Y: Field{[10]uint32{0x0182bb86, 0x013a339c, 0x02c74144, 0x02c3a8cf, 0x0027c38c, 0x00e9fa04, 0x032cbbad, 0x023e8c3a, 0x0189bb3b, 0x0002811a}}}, + {X: Field{[10]uint32{0x01a6fd96, 0x03dd129e, 0x02f1291b, 0x01adb667, 0x03391682, 0x00331644, 0x037770b5, 0x026ca7b7, 0x010eab55, 0x002875bb}}, Y: Field{[10]uint32{0x004ab69b, 0x008ded30, 0x03391df2, 0x00c02b1a, 0x002f17df, 0x00612025, 0x03bf93b5, 0x0156b85c, 0x017e0c92, 0x002ee459}}}, + {X: Field{[10]uint32{0x012a9575, 0x02a047a4, 0x0301bd08, 0x039f8725, 0x01440da5, 0x026ad8e7, 0x0366201e, 0x00c35cd4, 0x030ded71, 0x000a3d95}}, Y: Field{[10]uint32{0x02d2884a, 0x039ab73c, 0x0362edec, 0x017a5576, 0x00e2216e, 0x03efd30b, 0x011a7c70, 0x0166c8fa, 0x0360119c, 0x000e4647}}}, + {X: Field{[10]uint32{0x00271fa3, 0x032013e4, 0x038530b9, 0x0089258d, 0x0031cfce, 0x00075edb, 0x00b089d1, 0x00f79086, 0x00eddbb8, 0x00005323}}, Y: Field{[10]uint32{0x029a41fc, 0x03fb393a, 0x0384d7a8, 0x00f5128b, 0x030de129, 0x0131e252, 0x01cba3d2, 0x00b9c44d, 0x02d2a5d0, 0x00012014}}}, + {X: Field{[10]uint32{0x012d489b, 0x00be3eb8, 0x03ca9eda, 0x00ee4886, 0x03a75f56, 0x03211429, 0x0228fa1b, 0x00df4f4a, 0x0305fec7, 0x003abfe7}}, Y: Field{[10]uint32{0x03b8c139, 0x02dc2a48, 0x01c3dd3f, 0x01206844, 0x022ad9f3, 0x0083d18e, 0x03349fa5, 0x021cf5f4, 0x019b05c9, 0x0035b510}}}, + {X: Field{[10]uint32{0x00b35e95, 0x02fb4545, 0x02a43d92, 0x03825a4c, 0x00ce0757, 0x00b9ff0f, 0x03524575, 0x00dc4a16, 0x006eb42a, 0x003a3b93}}, Y: Field{[10]uint32{0x023b748a, 0x00c28ada, 0x01e2d5f2, 0x03f32f17, 0x00ee55ab, 0x0091b2df, 0x007ff4e6, 0x0060c7c4, 0x014c27ef, 0x000361af}}}, + {X: Field{[10]uint32{0x0241e7e4, 0x01db9abb, 0x00386a07, 0x008819de, 0x02d5e909, 0x03222946, 0x03707591, 0x00ec181a, 0x01090821, 0x00263186}}, Y: Field{[10]uint32{0x025d4c8c, 0x0106bbfd, 0x03efbfc2, 0x02a068df, 0x030fd72d, 0x02339314, 0x0290e2d3, 0x02e4110b, 0x022cf98b, 0x003acf4b}}}, + {X: Field{[10]uint32{0x0146dd29, 0x033dfcfe, 0x0217d946, 0x001938a3, 0x01893198, 0x00e2f2d7, 0x03a0dbbc, 0x00a61b15, 0x0381f5d6, 0x00353d9a}}, Y: Field{[10]uint32{0x037a5fc2, 0x02087ede, 0x03b32867, 0x023814c2, 0x002a1229, 0x02052d6e, 0x03c5579d, 0x0068032d, 0x038deedf, 0x003064c3}}}, + {X: Field{[10]uint32{0x0011087f, 0x01e41805, 0x03c4eb98, 0x030ab511, 0x01a13dd4, 0x02619bc3, 0x01543696, 0x02466d57, 0x00e705f8, 0x000535cf}}, Y: Field{[10]uint32{0x03ededf8, 0x0381b1a4, 0x0067d16e, 0x03c98a75, 0x03b71c48, 0x02bd0822, 0x0106df2c, 0x0034f174, 0x0222b9cb, 0x001a6e51}}}, + {X: Field{[10]uint32{0x03da3aec, 0x00d30808, 0x017115bc, 0x010229c4, 0x015646ab, 0x02942a35, 0x00511058, 0x01e831ab, 0x0135059c, 0x0015fbf2}}, Y: Field{[10]uint32{0x01c5dfd1, 0x01cb00ad, 0x00c4b262, 0x03c14ccb, 0x0127f959, 0x00ab954a, 0x03fba0d9, 0x015705d2, 0x029a60b8, 0x003f2a4c}}}, + {X: Field{[10]uint32{0x01b3677f, 0x00dcbf65, 0x0073dcb6, 0x03d4da0e, 0x00171213, 0x016a7cf9, 0x00b94585, 0x02a036a4, 0x0286063d, 0x00247c4e}}, Y: Field{[10]uint32{0x019a90ea, 0x02d3bed0, 0x016d03ca, 0x03384d05, 0x01e0332e, 0x0081558e, 0x029a7ae9, 0x03c4430c, 0x00d86734, 0x001d0178}}}, + {X: Field{[10]uint32{0x01607592, 0x035abfe8, 0x037675f9, 0x005b44cd, 0x02c33227, 0x01037170, 0x03dfd64b, 0x017896a0, 0x010b4614, 0x00373213}}, Y: Field{[10]uint32{0x012d6c66, 0x02a2ea07, 0x00adc8bb, 0x01869c0c, 0x0251b951, 0x03d4c91a, 0x01f15260, 0x03fab023, 0x00f48e4d, 0x00391a93}}}, + {X: Field{[10]uint32{0x0348676c, 0x01405d0c, 0x02db0542, 0x007f7c5a, 0x00df0bfa, 0x02fcf1a8, 0x016011e6, 0x03d0c804, 0x02acd5a6, 0x000a2ac1}}, Y: Field{[10]uint32{0x03b0cb9a, 0x015ad8e5, 0x012d427e, 0x00af8369, 0x03cc31f4, 0x013ff3fb, 0x011d6b7a, 0x01276ba7, 0x021c967f, 0x001449ca}}}, + {X: Field{[10]uint32{0x01d8b240, 0x03c3d148, 0x02d00bef, 0x0248c830, 0x020d9c2a, 0x0245718d, 0x032adb45, 0x037f7f4f, 0x0321f8d1, 0x0001f006}}, Y: Field{[10]uint32{0x002c8b48, 0x03e89715, 0x01aedf76, 0x018b4db4, 0x016e7ffd, 0x02aa5acf, 0x02f78fda, 0x01b607f1, 0x03cc9990, 0x002d2923}}}, + {X: Field{[10]uint32{0x014d98f1, 0x02a66b34, 0x01f5b428, 0x026f832d, 0x03a0d327, 0x02703a3e, 0x03624230, 0x03a57ca8, 0x037830f8, 0x003e53ba}}, Y: Field{[10]uint32{0x03649527, 0x03f8f290, 0x00d2305c, 0x0076544f, 0x03715722, 0x02ed2a4f, 0x01c91be8, 0x01ae7297, 0x03646967, 0x00325b56}}}, + {X: Field{[10]uint32{0x01ec35ca, 0x01bd7e04, 0x0045bd40, 0x01dcc3a4, 0x039a6d64, 0x03d78cb4, 0x01e0dd85, 0x0336902f, 0x00e47788, 0x003a919d}}, Y: Field{[10]uint32{0x035a235a, 0x01188c29, 0x01a0fe1a, 0x0185093a, 0x01fb622a, 0x0062f5da, 0x030032ba, 0x024488c1, 0x03790a9b, 0x0001da6f}}}, + {X: Field{[10]uint32{0x03b40112, 0x00f09407, 0x005d1728, 0x0234dd9d, 0x0019b7b3, 0x020aff8a, 0x03172606, 0x021a1404, 0x00197f8f, 0x0036969d}}, Y: Field{[10]uint32{0x01c37a39, 0x018f8ee5, 0x0290ceb6, 0x0104841c, 0x00b5a19f, 0x0358dcef, 0x025ef5f5, 0x0078604c, 0x02ec0587, 0x002982d7}}}, + {X: Field{[10]uint32{0x02e9d41d, 0x03dcbc89, 0x03b6c22f, 0x03b08ee3, 0x01a75ebc, 0x03b5eddb, 0x00c6820d, 0x003f6806, 0x03a55256, 0x0030405f}}, Y: Field{[10]uint32{0x009fed39, 0x01e0450d, 0x0129b1b0, 0x03699e0a, 0x039b5dc1, 0x03fc1625, 0x03da3b8d, 0x011fe459, 0x019daf26, 0x003a51ec}}}, + {X: Field{[10]uint32{0x01216a7f, 0x03a452ca, 0x00b164b3, 0x016066fc, 0x011b9646, 0x0160269d, 0x0215238b, 0x0111d9e2, 0x00e14e81, 0x0002f9f0}}, Y: Field{[10]uint32{0x03eb392e, 0x0189e803, 0x0204e4f1, 0x002e28d8, 0x01088084, 0x035923a0, 0x03072b15, 0x00669bc2, 0x0297f642, 0x0028c3af}}}, + {X: Field{[10]uint32{0x03007cea, 0x00ec4e65, 0x0014fcb5, 0x03cb3e01, 0x0059e0ff, 0x00bffe0b, 0x01184056, 0x0303f730, 0x02c1a4d6, 0x0019d63b}}, Y: Field{[10]uint32{0x00b316b3, 0x038fabdf, 0x00edcb4f, 0x02eb42e7, 0x00a0149b, 0x01898c7a, 0x02c88988, 0x03614908, 0x006620fc, 0x001194ef}}}, + {X: Field{[10]uint32{0x005b6116, 0x02143710, 0x01dae70d, 0x0379a6b3, 0x03011014, 0x03a1cd6c, 0x000cf059, 0x01366676, 0x01d3f88f, 0x00272ed4}}, Y: Field{[10]uint32{0x01902360, 0x01442ec9, 0x023d60e2, 0x02064642, 0x02047c63, 0x01fbf134, 0x00e0ed51, 0x016d4a00, 0x0348cad7, 0x0037e8b9}}}, + {X: Field{[10]uint32{0x00bf0bc3, 0x03854436, 0x00dea3d6, 0x0354d087, 0x0065328b, 0x02a96b46, 0x0350229e, 0x01e4bc5c, 0x02e7b170, 0x0018e96a}}, Y: Field{[10]uint32{0x02da1010, 0x03ee20d4, 0x00ea195a, 0x035e3396, 0x0212a261, 0x034d8d30, 0x026250ae, 0x017d27df, 0x03d0f25d, 0x0004496b}}}, + {X: Field{[10]uint32{0x02f10657, 0x038b226c, 0x02430b0f, 0x00907698, 0x014e036d, 0x0090f688, 0x02e11fb0, 0x000ca3ae, 0x02493e5f, 0x002b7e58}}, Y: Field{[10]uint32{0x01b1ea1e, 0x00d2d5c2, 0x037f784f, 0x037a280f, 0x03219a29, 0x005f52d7, 0x0018b16d, 0x0376ccb4, 0x00bafcd8, 0x0014260d}}}, + {X: Field{[10]uint32{0x034d472f, 0x01d97678, 0x01f32f00, 0x01270ac9, 0x01bfdfa5, 0x00135c89, 0x0183364e, 0x0128564d, 0x035b7fb4, 0x00028363}}, Y: Field{[10]uint32{0x03998ab2, 0x026c48bb, 0x0048dd53, 0x008be7df, 0x01630b6c, 0x0365ff8f, 0x01da99f3, 0x009a1e52, 0x0366f84c, 0x000187aa}}}, + {X: Field{[10]uint32{0x02e61fc1, 0x019a42c2, 0x0033ef68, 0x03496c9f, 0x027a3ee0, 0x01b60097, 0x00dbf815, 0x028b6eb7, 0x00ea9596, 0x002e60c2}}, Y: Field{[10]uint32{0x03ddbd37, 0x00334149, 0x006f5125, 0x01b9619e, 0x01445bae, 0x00f3f496, 0x00c582a0, 0x02933ad3, 0x03177566, 0x00336d38}}}, + {X: Field{[10]uint32{0x00b98134, 0x008cabdc, 0x03f637f0, 0x03236d2a, 0x03cf3969, 0x024ee8c0, 0x01eefe37, 0x035b3046, 0x031d37e3, 0x00386993}}, Y: Field{[10]uint32{0x003231da, 0x0173b507, 0x00fc2f95, 0x019e3d3b, 0x01ddbd35, 0x00fd606d, 0x00d2084b, 0x034bd7b1, 0x02d8885d, 0x0016235e}}}, + {X: Field{[10]uint32{0x01fdaaed, 0x0089da99, 0x00eca49c, 0x03b9ebc5, 0x01318929, 0x035c4644, 0x02253a1b, 0x00ea9b9c, 0x03ede854, 0x003ef577}}, Y: Field{[10]uint32{0x013b78bc, 0x033efc06, 0x016f2f76, 0x006b6f43, 0x00f23489, 0x016e30c4, 0x0005d516, 0x00d458f1, 0x030a432c, 0x000c5f3b}}}, + {X: Field{[10]uint32{0x00da6bc2, 0x01df39a1, 0x00a2ae30, 0x0137005e, 0x0030b87c, 0x03dedbc8, 0x031a8822, 0x02544213, 0x03f3b0a3, 0x003eb12d}}, Y: Field{[10]uint32{0x00867d75, 0x02ca656f, 0x01fae390, 0x034557c6, 0x00386ce0, 0x018a3f75, 0x00a5c54a, 0x008bf058, 0x01209e95, 0x001c0a6e}}}, + {X: Field{[10]uint32{0x03ef7c2b, 0x02a06150, 0x0053ee64, 0x014571d7, 0x013c29fc, 0x006d7f1f, 0x02c02964, 0x033d4200, 0x03de834f, 0x0032a190}}, Y: Field{[10]uint32{0x03cf17f9, 0x03ea592b, 0x014c3b26, 0x00c73b9c, 0x02f8ecea, 0x02b6767e, 0x036fd4d0, 0x00a5b890, 0x0027111e, 0x00241e9b}}}, + {X: Field{[10]uint32{0x03315f1f, 0x00b25b3c, 0x0066b120, 0x008af150, 0x03a4a73b, 0x03f92d22, 0x0226b19e, 0x003a85fa, 0x02490d70, 0x001c61cd}}, Y: Field{[10]uint32{0x03ded2fd, 0x00b04761, 0x0215abd8, 0x01208108, 0x01515127, 0x03973d0a, 0x03fc614d, 0x01d2ddd4, 0x00474bb3, 0x003db361}}}, + {X: Field{[10]uint32{0x00c5e3d7, 0x030f14d2, 0x03e6f15a, 0x023dddb2, 0x00175b76, 0x01df18fc, 0x02574826, 0x031cc89b, 0x00ff21c3, 0x0019f9ce}}, Y: Field{[10]uint32{0x02f2bdb2, 0x024d43ba, 0x026bfac7, 0x0151744c, 0x030ebd28, 0x01f3d824, 0x03a50644, 0x0375c95d, 0x000f2343, 0x00053945}}}, + {X: Field{[10]uint32{0x02198893, 0x03d57c66, 0x02934280, 0x010998b3, 0x036c5a5c, 0x00d3b85f, 0x01339f64, 0x0094fc81, 0x0331f875, 0x001452cf}}, Y: Field{[10]uint32{0x02e9a090, 0x02601f92, 0x0269fe46, 0x030b72a5, 0x01a61c0f, 0x039f3793, 0x011c538c, 0x03b1c133, 0x0193a2fb, 0x0013acce}}}, + {X: Field{[10]uint32{0x03c2dab3, 0x01614062, 0x03586f98, 0x005be12c, 0x02ca53c2, 0x006280e4, 0x0330a414, 0x00f9d5aa, 0x03a6eab0, 0x00109ab3}}, Y: Field{[10]uint32{0x01083926, 0x0166ab7c, 0x01a74acb, 0x03441d27, 0x02d34944, 0x0015ceed, 0x0206682d, 0x00431702, 0x02ab21cc, 0x0030f58f}}}, + {X: Field{[10]uint32{0x02d7a09c, 0x003a3de8, 0x005cad42, 0x01cb1608, 0x01b8ad4a, 0x01165f21, 0x03dcbee9, 0x015cdc3f, 0x034668c0, 0x002e51ae}}, Y: Field{[10]uint32{0x023401b9, 0x008eeb47, 0x02b2cdc7, 0x00e927fb, 0x03969ea1, 0x0196f180, 0x03e63a5e, 0x00e09959, 0x02d41263, 0x00331c03}}}, + {X: Field{[10]uint32{0x018e33ac, 0x00d6e576, 0x02dcd803, 0x03e3eca2, 0x001d1e38, 0x0335d77d, 0x01d7d3cc, 0x02d17d44, 0x00b3f6c8, 0x0039aa11}}, Y: Field{[10]uint32{0x0058cce2, 0x005db0bb, 0x017e2c0b, 0x00273249, 0x036c4aa1, 0x007dc5ea, 0x023268ee, 0x022431d2, 0x03893939, 0x0001fc91}}}, + {X: Field{[10]uint32{0x02458001, 0x034503e5, 0x03dcd117, 0x00fc08c4, 0x00493e90, 0x01492e63, 0x0236b415, 0x014ba305, 0x03bfd9e0, 0x0010f98a}}, Y: Field{[10]uint32{0x023b352d, 0x011de669, 0x03cec8e1, 0x02ed27b2, 0x01ebee23, 0x0373fcc7, 0x01993000, 0x0354a0c2, 0x013d0a90, 0x003d2061}}}, + {X: Field{[10]uint32{0x0047f817, 0x03d12e20, 0x02ad9e94, 0x01124496, 0x01e555a8, 0x00776e6f, 0x0223e1c4, 0x011db50b, 0x000e3427, 0x003113bd}}, Y: Field{[10]uint32{0x02236fac, 0x02e7a8e3, 0x009d2498, 0x02cb6e13, 0x0238f664, 0x01dbd2b8, 0x0018e147, 0x03964fca, 0x0313e43e, 0x002fb750}}}, + {X: Field{[10]uint32{0x03212385, 0x022f7814, 0x037e8d40, 0x03eabf66, 0x037f58f2, 0x03e39265, 0x016f93f5, 0x00625702, 0x0313dcc1, 0x00286cd4}}, Y: Field{[10]uint32{0x023079f5, 0x023a29c2, 0x02c55bdc, 0x03008098, 0x03135a9e, 0x0024f605, 0x009f9cf5, 0x01430dcc, 0x025abf0d, 0x002f5fac}}}, + {X: Field{[10]uint32{0x035e964e, 0x0122a486, 0x01c91b67, 0x026b4562, 0x02138222, 0x00d6f663, 0x03f2f0c7, 0x0007268d, 0x03f9fd62, 0x001229bc}}, Y: Field{[10]uint32{0x034481b4, 0x00b14316, 0x01c91971, 0x00e54e97, 0x022c73e0, 0x02a75659, 0x0062c81f, 0x02a28192, 0x01553d41, 0x0006d514}}}, + {X: Field{[10]uint32{0x00061e9f, 0x00a17669, 0x0354db06, 0x033716c8, 0x0375f050, 0x023bb3c6, 0x019181dc, 0x02c1ba28, 0x0174651d, 0x0023807d}}, Y: Field{[10]uint32{0x035e108b, 0x03efec89, 0x00cae256, 0x0192e87c, 0x027d7ba9, 0x00bbb2b6, 0x006e90a0, 0x039f56db, 0x02a09800, 0x0027455b}}}, + {X: Field{[10]uint32{0x0205345d, 0x029372be, 0x0258f43d, 0x03cc5a52, 0x0228e375, 0x029e7e39, 0x0368b195, 0x02d5d8fa, 0x00db9e6d, 0x0012f03e}}, Y: Field{[10]uint32{0x03a5b555, 0x03c85710, 0x019d98d0, 0x00eda8cb, 0x01633805, 0x009a929a, 0x02380e81, 0x02c592ee, 0x0389a1e6, 0x0031a9c1}}}, + {X: Field{[10]uint32{0x0297a768, 0x015288ee, 0x0255f32d, 0x0236c033, 0x00f4c7ee, 0x002df6ae, 0x0230a665, 0x037ab758, 0x00cb5f5e, 0x00259bf4}}, Y: Field{[10]uint32{0x011a994b, 0x01b3de60, 0x004e1654, 0x0272a795, 0x0001e892, 0x038285ae, 0x0019a1de, 0x026d97d6, 0x0243bb4f, 0x00275913}}}, + {X: Field{[10]uint32{0x017b0d8a, 0x00b14421, 0x027f8296, 0x02e21891, 0x0320d50e, 0x010e38cd, 0x02dc7c74, 0x00ba9964, 0x01ad4952, 0x001aad46}}, Y: Field{[10]uint32{0x023ae44d, 0x00245442, 0x020da8a8, 0x0280de3b, 0x02e82653, 0x0153087b, 0x0367ec35, 0x0142898a, 0x02342b72, 0x00316e8e}}}, + {X: Field{[10]uint32{0x0276c62f, 0x01b5bbea, 0x03856d52, 0x029094c9, 0x03e55f18, 0x001db858, 0x03d0a0cd, 0x0183d4e6, 0x00e43e50, 0x003e2c2e}}, Y: Field{[10]uint32{0x00d48ba4, 0x03b3dbf5, 0x03ad1fe1, 0x02e90d9c, 0x017d5c95, 0x00a0e6a8, 0x00f29c86, 0x014fe963, 0x0052a658, 0x001d0f78}}}, + {X: Field{[10]uint32{0x02d18bad, 0x01e8494f, 0x030e1658, 0x018e7456, 0x02967e97, 0x0088f57e, 0x0185c0e5, 0x023fc2ad, 0x02f8579d, 0x00311427}}, Y: Field{[10]uint32{0x01b08362, 0x016393c7, 0x01cf97fe, 0x03021bc4, 0x0381199d, 0x01d2e2b9, 0x036d8d35, 0x02696168, 0x03e8ee97, 0x001ee47d}}}, + {X: Field{[10]uint32{0x0342379f, 0x02c03f6a, 0x003c3aac, 0x00cb3ead, 0x0004cef7, 0x02530393, 0x0207c538, 0x0143e388, 0x035a6ff4, 0x00268004}}, Y: Field{[10]uint32{0x03a9975d, 0x02e3fe07, 0x03d594df, 0x01ba2e11, 0x00b48159, 0x0232aee4, 0x020902a2, 0x0316c51d, 0x03483684, 0x000e4fb1}}}, + {X: Field{[10]uint32{0x03488601, 0x029016db, 0x01e3eaa4, 0x00c53949, 0x02a484d3, 0x0174f7b8, 0x010c17c2, 0x0235f37a, 0x03df173f, 0x000f5dd6}}, Y: Field{[10]uint32{0x030e51d4, 0x03a631ec, 0x02046b3d, 0x016e265c, 0x0138a402, 0x0275d389, 0x03287f55, 0x003da96f, 0x00bc0a56, 0x001f9ac2}}}, + {X: Field{[10]uint32{0x0303b529, 0x003a60de, 0x017b8f5d, 0x000b5c0f, 0x02a95e50, 0x034428a6, 0x03380a80, 0x0062d144, 0x013ea601, 0x0033aebf}}, Y: Field{[10]uint32{0x03b74b4e, 0x0054d2a1, 0x010c0fd6, 0x006fd54a, 0x025f6d8b, 0x00cee811, 0x0203594e, 0x027d87fd, 0x02b646f5, 0x000651de}}}, + {X: Field{[10]uint32{0x03a731b2, 0x02c661f3, 0x01de158c, 0x018fd62b, 0x037ecbc9, 0x03926c8d, 0x001ac162, 0x038f87bc, 0x00ac1ff3, 0x002ba28f}}, Y: Field{[10]uint32{0x01531efe, 0x0287a794, 0x03ac2bac, 0x00ac4529, 0x02ee26fd, 0x02371dce, 0x03f6af9e, 0x02dd25cc, 0x02752052, 0x001692c1}}}, + {X: Field{[10]uint32{0x01e3b38e, 0x010dd4eb, 0x02b28308, 0x00d743ef, 0x01fd39b6, 0x011deb13, 0x0118edee, 0x01c48d70, 0x00bb8bd4, 0x0035d34e}}, Y: Field{[10]uint32{0x00b54451, 0x01aecddf, 0x01c325d6, 0x03f4e4db, 0x021ec0a0, 0x006e9b78, 0x01850843, 0x00a0e5ea, 0x01b6f17a, 0x003cf941}}}, + {X: Field{[10]uint32{0x02beb2a8, 0x0256c53d, 0x01db2495, 0x00cec33a, 0x014d4f0b, 0x0381d747, 0x00dc1bef, 0x01e17345, 0x02757780, 0x003d0a1d}}, Y: Field{[10]uint32{0x00514b38, 0x00787618, 0x015364eb, 0x0354ffc9, 0x03950f34, 0x00d86b5b, 0x018bf6da, 0x018b7719, 0x0231eefc, 0x0028f7c8}}}, + {X: Field{[10]uint32{0x02378e94, 0x03250051, 0x0145450d, 0x0220f287, 0x01e62776, 0x0272c826, 0x03caaa86, 0x02b589da, 0x036bda19, 0x003a4755}}, Y: Field{[10]uint32{0x0040779c, 0x032a5c4e, 0x01db87ac, 0x0060df9d, 0x00020e79, 0x00c99763, 0x00313db8, 0x00b2e66b, 0x0038c8da, 0x002d5f88}}}, + {X: Field{[10]uint32{0x00c66ea2, 0x00c33f8e, 0x01aec7e8, 0x0377cf1f, 0x03e035e1, 0x03caaa90, 0x011b53da, 0x0385d8de, 0x00e87d77, 0x0009a651}}, Y: Field{[10]uint32{0x013707f6, 0x0339db06, 0x02ea739a, 0x0115edfb, 0x01567641, 0x026cc8f2, 0x028ca430, 0x031fec14, 0x036434bd, 0x0032c045}}}, + {X: Field{[10]uint32{0x0244a3d1, 0x03807ec1, 0x02a5ee94, 0x005cbfdb, 0x01fb0993, 0x01eec5d9, 0x0261c685, 0x00da046a, 0x028a8f0b, 0x003b5079}}, Y: Field{[10]uint32{0x0108231c, 0x0037ae31, 0x005dc1dd, 0x03823302, 0x0071c918, 0x00f65600, 0x03a1e448, 0x02f8109a, 0x007b880c, 0x003cb324}}}, + {X: Field{[10]uint32{0x01fec0de, 0x01e59083, 0x0113ab0b, 0x03c4cc88, 0x01538192, 0x00e8cf5a, 0x0236e4f5, 0x032e978b, 0x024a96cf, 0x001a51d9}}, Y: Field{[10]uint32{0x038fb6cd, 0x01770be8, 0x01dc77f9, 0x02577b3d, 0x03256101, 0x01ab78cc, 0x01b76c4d, 0x02dbeea4, 0x01bc5b65, 0x00192074}}}, + {X: Field{[10]uint32{0x0227fb03, 0x021715c7, 0x02f668ea, 0x00b1c3a3, 0x00437901, 0x02a4996c, 0x000a42bb, 0x018f7daa, 0x007ce22b, 0x002a8f86}}, Y: Field{[10]uint32{0x00d011be, 0x02a47fc2, 0x0329c38f, 0x01239736, 0x03e8732f, 0x00c04150, 0x03fcab70, 0x027f465b, 0x016b9810, 0x00298e37}}}, + {X: Field{[10]uint32{0x004a944b, 0x026f863e, 0x021c5eff, 0x00de4493, 0x02bfd5ea, 0x0150ff5b, 0x029fbab6, 0x03e536d2, 0x00e1a4be, 0x00001779}}, Y: Field{[10]uint32{0x0157e2d6, 0x026ea79e, 0x03442967, 0x03469fb1, 0x0158f8ae, 0x01dd11d8, 0x0299513f, 0x038a502d, 0x0282693b, 0x00087128}}}, + {X: Field{[10]uint32{0x007a7ce5, 0x01b0ad0a, 0x030a0964, 0x03ba8ce8, 0x02fdd18f, 0x02bc2bc8, 0x0096c793, 0x02d1de07, 0x00c72c87, 0x00194cf7}}, Y: Field{[10]uint32{0x037ccc51, 0x00dc1620, 0x00cd3f8c, 0x033e8ebb, 0x00482748, 0x00d1085d, 0x01589fc2, 0x03e6ef3a, 0x01f23d82, 0x001fc0f9}}}, + {X: Field{[10]uint32{0x00fdf354, 0x02ec0299, 0x01871a5e, 0x008e9c2e, 0x01c5109f, 0x014d0d4c, 0x02008ab8, 0x01612af6, 0x033c129e, 0x0004e797}}, Y: Field{[10]uint32{0x033f0a98, 0x0028bddd, 0x009de619, 0x039209ab, 0x026bf011, 0x020d4ad8, 0x03182ee9, 0x023abe94, 0x025741fb, 0x00125edf}}}, + {X: Field{[10]uint32{0x0161f7c3, 0x01e6bba0, 0x01f0c7c7, 0x02060645, 0x013ce57b, 0x0363c958, 0x00ea9918, 0x03a5420f, 0x01ccf7e1, 0x00124ffa}}, Y: Field{[10]uint32{0x03020cd5, 0x02f93059, 0x02f4088c, 0x00562f30, 0x00639ab6, 0x028eed12, 0x00aff6a6, 0x03874115, 0x03fd62fc, 0x0039a5d8}}}, + {X: Field{[10]uint32{0x02a064a9, 0x039acd94, 0x008a7446, 0x0055d9bb, 0x03900e3c, 0x0240f29d, 0x01ac2fb4, 0x01c2e190, 0x03dbd8dd, 0x003b59d7}}, Y: Field{[10]uint32{0x00416de9, 0x01bcc4da, 0x037fd1f2, 0x02c9739d, 0x0223ccff, 0x02c0622b, 0x00669b40, 0x03d6d1b8, 0x037985ce, 0x002986ec}}}, + {X: Field{[10]uint32{0x02260a4d, 0x02c32a66, 0x00b83136, 0x0110e187, 0x02b6d484, 0x014e4f54, 0x03c14e31, 0x0278e9e5, 0x00a89a76, 0x0005cd9c}}, Y: Field{[10]uint32{0x03bd4904, 0x00f689f1, 0x02bc6d68, 0x03ddf760, 0x00d140b3, 0x01242104, 0x02a1b28e, 0x0134ba57, 0x0121c1ba, 0x0013750e}}}, + {X: Field{[10]uint32{0x035d1610, 0x0387c258, 0x0128cdf9, 0x00f4b329, 0x00a1da93, 0x03041ba0, 0x011e05a0, 0x038551bc, 0x03a08f87, 0x00356978}}, Y: Field{[10]uint32{0x01175352, 0x00a45397, 0x01167255, 0x01d0828d, 0x01aa20df, 0x0307fec3, 0x00a9c6f2, 0x03024a34, 0x01e0daf3, 0x001f1b15}}}, + {X: Field{[10]uint32{0x02f6fa2a, 0x0168ce36, 0x00ebe417, 0x00c9d3b9, 0x01a0a999, 0x01359a5f, 0x02f2e2b9, 0x00c871a4, 0x01a004ab, 0x00153d7a}}, Y: Field{[10]uint32{0x01f2de21, 0x0359b622, 0x0342b5cb, 0x032a157f, 0x0258a7d9, 0x03e0a376, 0x02eb7614, 0x01b91cd2, 0x03d175fa, 0x001633c4}}}, + {X: Field{[10]uint32{0x03ebe6da, 0x01c96f1f, 0x01d4c9e8, 0x00b65111, 0x02fd9a63, 0x010988ac, 0x025544a4, 0x03a6558b, 0x0098154d, 0x00359a0a}}, Y: Field{[10]uint32{0x0190f206, 0x01c7718c, 0x001ebd13, 0x0117dd83, 0x030b2d50, 0x01e5c6a8, 0x0202c50a, 0x02e15d43, 0x023b9ba3, 0x00260247}}}, + {X: Field{[10]uint32{0x01c2da08, 0x0126fdb3, 0x008cafef, 0x03fc6324, 0x02610bec, 0x00b7b34d, 0x01f6e1a8, 0x03131236, 0x01b92af2, 0x00094c06}}, Y: Field{[10]uint32{0x017c680a, 0x02e1ae8e, 0x02a5a495, 0x00ef694e, 0x023ffbdd, 0x00421cb8, 0x02ebdce8, 0x0275d397, 0x035ad950, 0x00185f4c}}}, + {X: Field{[10]uint32{0x004da6cb, 0x019f3544, 0x00f16bab, 0x01d14391, 0x02ced725, 0x03023ca4, 0x00d2bcfa, 0x03af7958, 0x00ca461b, 0x00015bd9}}, Y: Field{[10]uint32{0x013aee44, 0x00efcf56, 0x023eebd8, 0x014ee40e, 0x02757cb5, 0x00bba050, 0x012bca8f, 0x020ca2a6, 0x01cfdc27, 0x0016c821}}}, + {X: Field{[10]uint32{0x03553420, 0x03b49163, 0x012f64dd, 0x03a6fbcc, 0x005a31a1, 0x01f8fb8e, 0x025c1928, 0x00ea6bc3, 0x01711e15, 0x003ce725}}, Y: Field{[10]uint32{0x03b0b1cc, 0x020a4c38, 0x03a974b8, 0x018922f7, 0x02e742ef, 0x0126304c, 0x039df908, 0x01ae7de1, 0x02c11c20, 0x00133252}}}, + {X: Field{[10]uint32{0x013128b5, 0x037758b0, 0x005368c8, 0x01297783, 0x01b2f303, 0x01716ab9, 0x02d3dad9, 0x021cf00c, 0x02a8cbdf, 0x00010dfa}}, Y: Field{[10]uint32{0x013c59c6, 0x038c2026, 0x01fcc721, 0x00b77c30, 0x012f8d1b, 0x03583696, 0x00245993, 0x0042ed65, 0x020eb003, 0x0009f63a}}}, + {X: Field{[10]uint32{0x0080e9b2, 0x027ad2ea, 0x0371f0a7, 0x0298053b, 0x003f13e7, 0x00715d4d, 0x010ae621, 0x019e6112, 0x01893f5d, 0x002b7869}}, Y: Field{[10]uint32{0x0391c715, 0x00b8988d, 0x01304902, 0x00adfc90, 0x01e80188, 0x00f06d0a, 0x03404d8c, 0x01a8eeb1, 0x017c537e, 0x002f5270}}}, + {X: Field{[10]uint32{0x02c1224e, 0x038b64ce, 0x0198fd16, 0x01e31eb4, 0x00a87ef9, 0x029386db, 0x0357d977, 0x00696ae7, 0x01d5c309, 0x0024d89d}}, Y: Field{[10]uint32{0x036b9f32, 0x000481f7, 0x0057e5aa, 0x0146c5ee, 0x00ed5988, 0x01b88934, 0x0375d96c, 0x021317aa, 0x010ad8bd, 0x001a149a}}}, + {X: Field{[10]uint32{0x039b786e, 0x03ed69da, 0x01e8cc33, 0x00741dad, 0x03e29497, 0x03202e74, 0x006db205, 0x03573781, 0x01fd3e8f, 0x0000a795}}, Y: Field{[10]uint32{0x00010a0d, 0x03379263, 0x02f57af6, 0x00ab5869, 0x002bbf3e, 0x01c83391, 0x038312f0, 0x00d2e515, 0x017a7eb9, 0x0001da79}}}, + {X: Field{[10]uint32{0x009051ef, 0x02c566e0, 0x00584168, 0x0011d91f, 0x003ae378, 0x01785bde, 0x00b52754, 0x0217fc66, 0x02a73501, 0x0037e0d8}}, Y: Field{[10]uint32{0x02af6bab, 0x032b82d8, 0x01a263a6, 0x0203b923, 0x03735ece, 0x012c5b0e, 0x026b6048, 0x028ef7a0, 0x0046fbd4, 0x002bf2cd}}}, + {X: Field{[10]uint32{0x018a427e, 0x0057b381, 0x0033c254, 0x020e5b3d, 0x01b9a01e, 0x01b31867, 0x01660379, 0x017f83e5, 0x012309a3, 0x0017d10c}}, Y: Field{[10]uint32{0x00901ac0, 0x01f530ac, 0x03c906fd, 0x01c923eb, 0x0337d81c, 0x01aaa705, 0x0272b605, 0x02af14a4, 0x0012fc0a, 0x000e170a}}}, + {X: Field{[10]uint32{0x01dd2de5, 0x038d1205, 0x0163f4b7, 0x03fd74f7, 0x008c5323, 0x01a4ff13, 0x01b77a31, 0x000df149, 0x021553c6, 0x00306710}}, Y: Field{[10]uint32{0x013900a4, 0x0323b06a, 0x01822159, 0x01564b26, 0x00a19d22, 0x03679ac8, 0x01161896, 0x01df849c, 0x028a8791, 0x0027ddba}}}, + {X: Field{[10]uint32{0x032d45ac, 0x028508eb, 0x013f1d62, 0x024aa084, 0x0214d19d, 0x018e5091, 0x0162fdb3, 0x008ccbab, 0x021dd1e0, 0x0022afce}}, Y: Field{[10]uint32{0x03e36dde, 0x006d6629, 0x007ec7de, 0x0105b754, 0x02defc29, 0x0330b67c, 0x027a984e, 0x03b0fdd7, 0x027fdcf5, 0x000c96a5}}}, + {X: Field{[10]uint32{0x0359ae7a, 0x028f377d, 0x03b9433f, 0x01db0181, 0x0257c1dd, 0x01c7aa12, 0x014a58fa, 0x01879b13, 0x0390b931, 0x00322ff7}}, Y: Field{[10]uint32{0x030b20f9, 0x02513cc9, 0x01ce5b51, 0x033c054d, 0x00fd7990, 0x00f96a8f, 0x007efd3c, 0x03ed8fb5, 0x00a3d172, 0x0008f70e}}}, + {X: Field{[10]uint32{0x02d2c78d, 0x01fa1b80, 0x038b443c, 0x01016dde, 0x02a26ccc, 0x017e435e, 0x019e7ab8, 0x01665e9d, 0x026c35c5, 0x00025d99}}, Y: Field{[10]uint32{0x001ed0ff, 0x0145850e, 0x00f89605, 0x03fad0dc, 0x0392c52c, 0x008333bb, 0x02db2e4e, 0x033c96fc, 0x003e44fa, 0x001b4d0b}}}, + {X: Field{[10]uint32{0x0163252b, 0x00aa337e, 0x0273a1c1, 0x01b3fac8, 0x021fd65b, 0x02f6270e, 0x03b8e8a5, 0x0393871e, 0x03a77737, 0x0039de42}}, Y: Field{[10]uint32{0x03bdba42, 0x0096773f, 0x02e1a810, 0x03caa7a4, 0x01f7138f, 0x02ca2663, 0x02754ead, 0x02d63dc3, 0x02201534, 0x000098d7}}}, + {X: Field{[10]uint32{0x0176fb0d, 0x01df6051, 0x03efe375, 0x03265d7c, 0x03b471ce, 0x02e61ab0, 0x00e3ecd5, 0x03b20fd8, 0x017f6bfc, 0x0010b2e0}}, Y: Field{[10]uint32{0x005cf49a, 0x022937b1, 0x03cce270, 0x025941d7, 0x01144a85, 0x015cde42, 0x0162050a, 0x02f643c8, 0x0128b2f9, 0x003b4d78}}}, + {X: Field{[10]uint32{0x012f3cbb, 0x014383d0, 0x018f0024, 0x00a293f5, 0x01319024, 0x03847c51, 0x0060397a, 0x024ccfff, 0x00701a23, 0x0028221a}}, Y: Field{[10]uint32{0x0083af52, 0x0207e646, 0x00ad6d8a, 0x03267300, 0x03fc6002, 0x01221fae, 0x0251995b, 0x0380d023, 0x03371ad6, 0x0032121b}}}, + {X: Field{[10]uint32{0x032c4bb3, 0x021bc95c, 0x01aab034, 0x00b08998, 0x02e6a964, 0x00d9294b, 0x00fd8e8b, 0x006e2c10, 0x02419f10, 0x00290332}}, Y: Field{[10]uint32{0x0045a910, 0x02c542a5, 0x01285bab, 0x026e5402, 0x03b0655b, 0x001c0730, 0x01e611df, 0x025bc0b4, 0x03693ec0, 0x0003d086}}}, + {X: Field{[10]uint32{0x01beb721, 0x0181290d, 0x0350fefe, 0x003c5068, 0x02c53294, 0x027d5d57, 0x035b70bc, 0x011cb169, 0x0178bbb0, 0x00242bbe}}, Y: Field{[10]uint32{0x014bbf0d, 0x021f8478, 0x01187a5f, 0x004251e7, 0x0193f585, 0x0391e3a9, 0x008cde92, 0x03db932a, 0x0070737c, 0x003e7c17}}}, + {X: Field{[10]uint32{0x003407c3, 0x031a65eb, 0x03f1a07b, 0x00ceee09, 0x02d73ae4, 0x036e6b2d, 0x00292f68, 0x007ce580, 0x0281a0f6, 0x003ff08e}}, Y: Field{[10]uint32{0x034d4b66, 0x017ca115, 0x02803686, 0x00de81d1, 0x004f313b, 0x0351f338, 0x03c74630, 0x0384e49d, 0x0212bce5, 0x002dda81}}}, + {X: Field{[10]uint32{0x00a112a5, 0x003fd408, 0x01ded2ab, 0x00b837e6, 0x02742c85, 0x02610969, 0x022bc162, 0x03e64109, 0x039440bd, 0x0034f29e}}, Y: Field{[10]uint32{0x024d637a, 0x01e03ff7, 0x022cb1f9, 0x02dcd07e, 0x005ef191, 0x0204f38b, 0x004281f9, 0x0209713d, 0x03acca7e, 0x00276bb2}}}, + {X: Field{[10]uint32{0x01bb9f06, 0x02cf3294, 0x02b41b23, 0x02b3557b, 0x03469b21, 0x038386b1, 0x02b7589c, 0x02cc70a9, 0x02bb720a, 0x000a94e8}}, Y: Field{[10]uint32{0x0051f84e, 0x0295f8f5, 0x03256c21, 0x0036e912, 0x0027f781, 0x008341bb, 0x00d0f522, 0x025919e9, 0x0133ffde, 0x00046bfe}}}, + {X: Field{[10]uint32{0x01a1ac96, 0x00211d2b, 0x0087d05a, 0x01c5fedd, 0x0322b2fc, 0x02e3d72f, 0x03d2f77b, 0x000a1e9b, 0x035680c4, 0x00121f94}}, Y: Field{[10]uint32{0x02a849c8, 0x02434356, 0x03a731e9, 0x00954830, 0x01029c96, 0x0144c111, 0x0365326d, 0x00358dde, 0x03d54607, 0x0014ef5f}}}, + {X: Field{[10]uint32{0x027b3e16, 0x0396e659, 0x03a2963d, 0x02d20827, 0x01cf23c0, 0x00bd2d8a, 0x0332cfd6, 0x028307f0, 0x03cf291d, 0x000f9697}}, Y: Field{[10]uint32{0x02b86825, 0x0037b43e, 0x01c97b06, 0x03bdfd57, 0x008b33d7, 0x01ceec4c, 0x03028df7, 0x02687c12, 0x032c4338, 0x0021a61f}}}, + {X: Field{[10]uint32{0x023e256f, 0x01f5de43, 0x02b8ed5f, 0x03ed5c21, 0x00601840, 0x00b755c1, 0x002493d2, 0x011f08b1, 0x03c515a8, 0x0013e42b}}, Y: Field{[10]uint32{0x02b831be, 0x037b43ea, 0x01e33226, 0x0250ad61, 0x024ef939, 0x02b034f0, 0x01f6b089, 0x01a248cd, 0x0158ac2e, 0x0011b8c6}}}, + {X: Field{[10]uint32{0x023601fc, 0x01617078, 0x01a1782c, 0x00e29161, 0x02c2ff4b, 0x0086fa60, 0x02738071, 0x00fa9e9a, 0x012b40be, 0x002f81ce}}, Y: Field{[10]uint32{0x01f258db, 0x02a085bc, 0x0038da57, 0x01c799bb, 0x01431727, 0x036f8842, 0x01775b81, 0x027a39ef, 0x0057657c, 0x000e8561}}}, + {X: Field{[10]uint32{0x021108ed, 0x018d04be, 0x02603e05, 0x010546d6, 0x02ecc2f7, 0x01f09381, 0x02f9e6d4, 0x00dd7c88, 0x00e52140, 0x0021b09d}}, Y: Field{[10]uint32{0x00a96ef8, 0x0025a490, 0x003a2aa0, 0x01dbe4b0, 0x012703f2, 0x0326261f, 0x02b90b64, 0x035640cb, 0x02b94065, 0x001280be}}}, + {X: Field{[10]uint32{0x0173cf97, 0x023813cd, 0x03626267, 0x02a88449, 0x02287277, 0x036b04ff, 0x03b30561, 0x00e26049, 0x026be792, 0x00013f4e}}, Y: Field{[10]uint32{0x011173e4, 0x000d0b7c, 0x000d238c, 0x0288ed0e, 0x02f07ebe, 0x00ef1fa5, 0x00f4b4b4, 0x03b2db1b, 0x01a163cf, 0x00192628}}}, + {X: Field{[10]uint32{0x01117c94, 0x031da577, 0x0118cb68, 0x021aea06, 0x03cd2a5f, 0x03f33f41, 0x02fe78d1, 0x02f75e2a, 0x01ca5423, 0x0033e90d}}, Y: Field{[10]uint32{0x00ce1fe8, 0x01a0d5c4, 0x00cefd7d, 0x00ed2a7d, 0x01c399b5, 0x01a114e2, 0x03778546, 0x03de78d6, 0x011c02df, 0x002fd322}}}, + {X: Field{[10]uint32{0x021d446c, 0x024f8b0f, 0x010c1cdf, 0x03987cf2, 0x01414119, 0x01d1a6bf, 0x029e9277, 0x00f3166c, 0x031b7953, 0x002a96b2}}, Y: Field{[10]uint32{0x02a498ab, 0x01023d08, 0x01bc26bb, 0x004271d7, 0x028b11bf, 0x0060dd9f, 0x02d3854e, 0x030007ed, 0x01b78713, 0x002c37ca}}}, + {X: Field{[10]uint32{0x005c3d15, 0x00f82855, 0x01175635, 0x03d5341b, 0x03435c09, 0x006f294b, 0x03fa1c44, 0x03d56376, 0x02ecc21b, 0x0006e4f0}}, Y: Field{[10]uint32{0x03195ed2, 0x00fed28c, 0x00c4aeb5, 0x02c68837, 0x03f72e67, 0x0171b498, 0x00e8a5fd, 0x0243996b, 0x01ff7181, 0x0015b115}}}, + {X: Field{[10]uint32{0x03b91760, 0x0145260b, 0x010acd85, 0x02489190, 0x01c84800, 0x017dcac3, 0x039438b5, 0x03482fd8, 0x03f02566, 0x0005d132}}, Y: Field{[10]uint32{0x034c66f5, 0x03d48a77, 0x01f6c683, 0x03e12f68, 0x00068dc0, 0x029f495c, 0x01d5da57, 0x02d71674, 0x03a232b0, 0x001f9de9}}}, + {X: Field{[10]uint32{0x0302582b, 0x02a101ff, 0x01bedd24, 0x029e88a4, 0x021b9cb9, 0x0181ecc5, 0x02f8ffc0, 0x02300a30, 0x00a5ed44, 0x00282fa6}}, Y: Field{[10]uint32{0x011da6ea, 0x03065c40, 0x029a2274, 0x0207774d, 0x0376b869, 0x033dab23, 0x01444620, 0x00d496d3, 0x006a0239, 0x0039f30b}}}, + {X: Field{[10]uint32{0x03845882, 0x0244019e, 0x03e71148, 0x00673723, 0x038b2f2b, 0x0235d7a8, 0x02b2591d, 0x03dea558, 0x03f5dab5, 0x00383964}}, Y: Field{[10]uint32{0x02d67334, 0x017d70b2, 0x029c7e78, 0x031927d1, 0x00b5464d, 0x0290b38b, 0x03c26141, 0x0176d6ce, 0x036215e3, 0x00242231}}}, + {X: Field{[10]uint32{0x029290f5, 0x03f21e70, 0x02b408b9, 0x01b17924, 0x01ffe579, 0x039ec359, 0x031b928d, 0x00baaf5b, 0x0095a498, 0x001e0936}}, Y: Field{[10]uint32{0x00c7ee88, 0x02bc06af, 0x02d448a4, 0x005d5f36, 0x00d6bcf1, 0x0308cb18, 0x022d8bbf, 0x0214a0e2, 0x00688e42, 0x002b85d7}}}, + {X: Field{[10]uint32{0x01d96e66, 0x0073c43e, 0x00b5c421, 0x024fa5db, 0x012aa513, 0x00066b8b, 0x00e4a2cd, 0x00477085, 0x017ee0b6, 0x001274b9}}, Y: Field{[10]uint32{0x015b770a, 0x028f2caf, 0x014d25cf, 0x013e9e05, 0x0311c81e, 0x00a6ee7e, 0x01b79198, 0x007dc9de, 0x00ca8801, 0x003fe831}}}, + {X: Field{[10]uint32{0x035ead00, 0x004e73f1, 0x03ee8be2, 0x00cba71e, 0x02eeb3de, 0x00e262ba, 0x0012e8f8, 0x006a1618, 0x036b8f70, 0x00369817}}, Y: Field{[10]uint32{0x0011d246, 0x027973a5, 0x03633d69, 0x01f19d47, 0x025a2430, 0x024fd43e, 0x030ca5ea, 0x00706a27, 0x012ce98a, 0x0016e830}}}, + {X: Field{[10]uint32{0x02c16ff2, 0x03ff672e, 0x02785652, 0x00f070cb, 0x029307be, 0x03670e02, 0x01de2bd1, 0x0139b568, 0x03ebcde9, 0x002bbaaa}}, Y: Field{[10]uint32{0x010bf840, 0x006aebf5, 0x02460664, 0x006b0965, 0x03b62e49, 0x0041c24f, 0x000a52bf, 0x03b37814, 0x03558510, 0x000c0251}}}, + {X: Field{[10]uint32{0x010c40b7, 0x007fac68, 0x0378cb0e, 0x002f972d, 0x0066ca0a, 0x00c17e7a, 0x02d1e1f4, 0x03f992c6, 0x012b35f3, 0x0018bc62}}, Y: Field{[10]uint32{0x03f5780d, 0x0204e9c0, 0x028838e1, 0x0148b452, 0x03f1f890, 0x0316fb6f, 0x0287f090, 0x02fd28b8, 0x005ee600, 0x00069108}}}, + {X: Field{[10]uint32{0x02979382, 0x01356265, 0x01e944ac, 0x00cf6b89, 0x033a567b, 0x0029a020, 0x02be9f55, 0x00b5a4a3, 0x02c54677, 0x00308247}}, Y: Field{[10]uint32{0x02d4b31e, 0x02140b72, 0x002b2382, 0x01a4b56a, 0x02eb610c, 0x007f8651, 0x01fa722a, 0x0274c5cd, 0x025bd2e8, 0x0016669d}}}, + {X: Field{[10]uint32{0x03242367, 0x0003f7c6, 0x01ba597d, 0x01557e0f, 0x02e50a24, 0x027f9f08, 0x00e1b237, 0x0248d5c0, 0x015b1951, 0x002ff5f0}}, Y: Field{[10]uint32{0x0066b17b, 0x00af51af, 0x02694037, 0x031235bf, 0x03f4cdda, 0x03ebf4a1, 0x01272130, 0x031cd7a8, 0x03de545e, 0x002b1b79}}}, + {X: Field{[10]uint32{0x032ddc7f, 0x017d8d44, 0x00fd116b, 0x027dd3cf, 0x01958162, 0x020c76a0, 0x03d85073, 0x03f7de40, 0x03843cab, 0x00353539}}, Y: Field{[10]uint32{0x021758a6, 0x01d0b501, 0x0082d219, 0x0138ae3c, 0x01d1cd6d, 0x011d572c, 0x0265a284, 0x02eb2ff3, 0x011d582c, 0x00079258}}}, + {X: Field{[10]uint32{0x03908fdc, 0x03047223, 0x03d02cdd, 0x03e37d85, 0x014945b4, 0x0177630c, 0x03434a49, 0x02cd37ce, 0x0009c378, 0x000795d4}}, Y: Field{[10]uint32{0x00f6cdb7, 0x02161fc3, 0x005655bd, 0x008cffea, 0x0010bf21, 0x023c8273, 0x017458cb, 0x0256849a, 0x03a2810c, 0x001738df}}}, + {X: Field{[10]uint32{0x01408fd0, 0x03e570ee, 0x00ee1108, 0x01b4dc41, 0x01c9268c, 0x03f7d979, 0x035e690f, 0x01fae287, 0x022eac23, 0x002d699a}}, Y: Field{[10]uint32{0x03f72798, 0x00fbca32, 0x030de3c4, 0x0200c1d8, 0x03f8cc32, 0x0219a31b, 0x0042ba86, 0x03dba982, 0x02c0aaa4, 0x00264016}}}, + {X: Field{[10]uint32{0x0326fe0d, 0x030fb99f, 0x036e60cf, 0x00c0878f, 0x0166bc3a, 0x02ebabe3, 0x0090b063, 0x0164f19b, 0x01352599, 0x000768e7}}, Y: Field{[10]uint32{0x0141311f, 0x0216e172, 0x03e489f2, 0x029e3f1f, 0x00f7e58a, 0x00070c00, 0x030d076c, 0x00546d51, 0x005eb6b0, 0x00249ca8}}}, + {X: Field{[10]uint32{0x01a971b2, 0x01d10d2d, 0x005002b3, 0x016bce11, 0x024e900c, 0x007d0a3f, 0x02862d72, 0x00029d94, 0x00b6b100, 0x001fcec4}}, Y: Field{[10]uint32{0x02ecd385, 0x03481728, 0x03a9e1f5, 0x01d37cf0, 0x008c4a4f, 0x0095be82, 0x03bd4c90, 0x03b8cc44, 0x03e07907, 0x002e528b}}}, + {X: Field{[10]uint32{0x024eb2e0, 0x02132f5e, 0x018cbbaf, 0x0228fd74, 0x02e5dc36, 0x008030b6, 0x03eb61ae, 0x003e6fda, 0x03c66185, 0x00109841}}, Y: Field{[10]uint32{0x03e511af, 0x0231c319, 0x014f540f, 0x033a3a39, 0x000857ce, 0x034ebfa9, 0x0313488b, 0x03b43e35, 0x0078a9e6, 0x00387e9f}}}, + {X: Field{[10]uint32{0x01be9697, 0x01d290d1, 0x013e2fa3, 0x0265a03d, 0x01d6c940, 0x012273ea, 0x02093c21, 0x031310c4, 0x0256708f, 0x00155789}}, Y: Field{[10]uint32{0x004db6e7, 0x00b8af8a, 0x00cb002f, 0x008b1bd1, 0x01a78224, 0x019d2e84, 0x0166e06c, 0x02dda889, 0x03b71e3b, 0x00003d7b}}}, + {X: Field{[10]uint32{0x017dd290, 0x03f6c4a4, 0x028b3af8, 0x0095190a, 0x01033606, 0x0096dc27, 0x02a927e7, 0x0381f098, 0x017b5736, 0x001c5c2c}}, Y: Field{[10]uint32{0x030973b1, 0x02b9cd40, 0x01608627, 0x029adb7d, 0x0398b2c6, 0x029df382, 0x02d86e69, 0x02204ed6, 0x02a3f899, 0x003bd0df}}}, + {X: Field{[10]uint32{0x025c2180, 0x03b0c456, 0x00172aaa, 0x011b224c, 0x01eb4de6, 0x01ca913c, 0x02329d00, 0x03f44d27, 0x033e66fe, 0x00072a2a}}, Y: Field{[10]uint32{0x030a3c49, 0x003be98e, 0x03274fd2, 0x028554c6, 0x02c70103, 0x012613b4, 0x01da2a0f, 0x035dda07, 0x01c92a87, 0x001bf190}}}, + {X: Field{[10]uint32{0x005366b8, 0x0393e370, 0x007977d5, 0x034d21ed, 0x0385f057, 0x007069ca, 0x0150c1e4, 0x00ba0afc, 0x006af6d4, 0x0020d495}}, Y: Field{[10]uint32{0x02c5fdb1, 0x00ea0d61, 0x0084b138, 0x039ba831, 0x01ac92b0, 0x0070ac72, 0x008d7e72, 0x016c4aa2, 0x02b27ca2, 0x001daf96}}}, + {X: Field{[10]uint32{0x00904cd7, 0x02211667, 0x0244c3e9, 0x0285364b, 0x03353123, 0x0197123b, 0x03988ea7, 0x02e7558f, 0x037b1730, 0x000bc44b}}, Y: Field{[10]uint32{0x0234a44f, 0x029a094b, 0x031bb743, 0x02f50680, 0x0027d7a8, 0x00ab45d0, 0x0370b16d, 0x01f568cb, 0x0297f648, 0x003acd23}}}, + {X: Field{[10]uint32{0x02a5648a, 0x009423cf, 0x00f1d519, 0x00245a9c, 0x002eb6fd, 0x01042979, 0x032494ad, 0x031b1c75, 0x023c164d, 0x0003a100}}, Y: Field{[10]uint32{0x02f4462d, 0x01bf2007, 0x01b8a48a, 0x00c6ac51, 0x01225aa0, 0x008a05af, 0x032f5106, 0x000ca226, 0x018529be, 0x0018d3cd}}}, + {X: Field{[10]uint32{0x0228fc6b, 0x010049e3, 0x029afd6e, 0x0108c719, 0x004da403, 0x005355fd, 0x00039291, 0x03d49c2e, 0x011745da, 0x00254713}}, Y: Field{[10]uint32{0x0227f0a7, 0x02b92b56, 0x00921bb2, 0x03c71cbf, 0x03b9592e, 0x02ba0989, 0x0296f608, 0x003eecb1, 0x0311a8b3, 0x003e420e}}}, + {X: Field{[10]uint32{0x00cb19f4, 0x02e24be3, 0x007fd689, 0x010546ba, 0x01788458, 0x007e516e, 0x025548c5, 0x027cfb82, 0x0057f60b, 0x002b6aa5}}, Y: Field{[10]uint32{0x0361caa6, 0x01a16205, 0x018302e4, 0x01450339, 0x03f899b9, 0x0159d265, 0x039b0475, 0x03fbee37, 0x03f92145, 0x0020d195}}}, + {X: Field{[10]uint32{0x019e6ef7, 0x017f7b98, 0x03397749, 0x00d474c0, 0x00597f3e, 0x00b5fee9, 0x02ef3d85, 0x0028ed45, 0x02b30980, 0x001924a5}}, Y: Field{[10]uint32{0x021df105, 0x0214cfb5, 0x038535c7, 0x00776233, 0x005c8b44, 0x00bb7faf, 0x005f078e, 0x01459ff7, 0x00901021, 0x001133a7}}}, + {X: Field{[10]uint32{0x0006266f, 0x02534fd8, 0x012ce4bc, 0x02dac47e, 0x029f1e9d, 0x021d7c75, 0x02fe2ba7, 0x01d6fce2, 0x02979085, 0x000b075f}}, Y: Field{[10]uint32{0x01a2cf7f, 0x008dc983, 0x02ff50ba, 0x0307f469, 0x038c6c8e, 0x030272c0, 0x03b4e4bb, 0x02f422ee, 0x00bc030a, 0x0027ac94}}}, + {X: Field{[10]uint32{0x004647ec, 0x0355be5d, 0x0174f0f6, 0x029f46ef, 0x03b44ada, 0x014be865, 0x0293b100, 0x02f0c9e0, 0x038bed4e, 0x002c4c3f}}, Y: Field{[10]uint32{0x02a5eb33, 0x01643ffb, 0x01806212, 0x002c3730, 0x000136f6, 0x019b908a, 0x03d0a950, 0x031fd9db, 0x01e9b785, 0x00128291}}}, + {X: Field{[10]uint32{0x030e6231, 0x00335432, 0x0011732a, 0x012b5a3c, 0x0029bf68, 0x03335c73, 0x02e9c740, 0x02cb64c6, 0x019762ec, 0x0013ca96}}, Y: Field{[10]uint32{0x00cf17de, 0x0302fd5f, 0x00237377, 0x005b3def, 0x000fc442, 0x00c27b70, 0x0300dde7, 0x01c20fe9, 0x01b45cfc, 0x0037afe3}}}, + {X: Field{[10]uint32{0x03a23c0b, 0x0034b781, 0x030d1cab, 0x002ea678, 0x020a178c, 0x02968936, 0x01419a18, 0x01b89790, 0x01a17fbe, 0x0025fe7a}}, Y: Field{[10]uint32{0x03559128, 0x03688c95, 0x03c0a4dd, 0x02ef9c74, 0x026cb622, 0x003ed4e1, 0x034fdc87, 0x02d2003e, 0x026b0cce, 0x0006ac48}}}, + {X: Field{[10]uint32{0x01d9d8cb, 0x00ed1f42, 0x02f4cbb9, 0x03c42b4f, 0x00bfd486, 0x02dc4250, 0x01820673, 0x0345f900, 0x03e5e9f5, 0x00385fcf}}, Y: Field{[10]uint32{0x01272f58, 0x00a40eed, 0x0196b59c, 0x018b80fb, 0x0344ad7d, 0x0014492b, 0x0360b263, 0x00ea29ac, 0x0252615d, 0x003c449a}}}, + {X: Field{[10]uint32{0x032fa2de, 0x02a2ed9e, 0x026887a5, 0x014eab0d, 0x033ae668, 0x00e283f8, 0x00c3e945, 0x02060a40, 0x00467d63, 0x00068e7e}}, Y: Field{[10]uint32{0x02903aa5, 0x037bd6e0, 0x027bf28d, 0x00feed15, 0x0118492f, 0x035f1d40, 0x034dc019, 0x0169390a, 0x03995a62, 0x002b9f04}}}, + {X: Field{[10]uint32{0x002f5320, 0x021a4bad, 0x03e68cd1, 0x0205450a, 0x00baa605, 0x013ebfee, 0x0293e52f, 0x03e91242, 0x006127f6, 0x00229777}}, Y: Field{[10]uint32{0x016b0d8e, 0x020346a2, 0x0338974c, 0x0297f1e1, 0x00328e69, 0x03577f30, 0x02559ebb, 0x0377c690, 0x0325853d, 0x0017ad88}}}, + {X: Field{[10]uint32{0x0238c299, 0x0387e73f, 0x0190f7af, 0x01bfc234, 0x02b86490, 0x01bd6d76, 0x03dc17d5, 0x035bf351, 0x03b574b7, 0x00045f6f}}, Y: Field{[10]uint32{0x0190196b, 0x036e3757, 0x03b26bd5, 0x00bdae40, 0x00c50471, 0x0009902a, 0x03bc9233, 0x0051390d, 0x015130b7, 0x0012b348}}}, + {X: Field{[10]uint32{0x0270a537, 0x02168e62, 0x019f3f29, 0x031d0606, 0x00eec84e, 0x01428a98, 0x010706d9, 0x01fad5cc, 0x0228431c, 0x002c30c4}}, Y: Field{[10]uint32{0x0064ff78, 0x0122c02c, 0x02419a10, 0x01f10e3f, 0x030085e4, 0x0183608d, 0x00c32372, 0x01dbffa6, 0x03347928, 0x0029f7a6}}}, + {X: Field{[10]uint32{0x0243946f, 0x0347c0fc, 0x017e08d1, 0x02196962, 0x02736cbc, 0x005d81af, 0x03e6d5b5, 0x009d6b85, 0x00b9f493, 0x001f0843}}, Y: Field{[10]uint32{0x0359c63a, 0x038d4a45, 0x02db1c38, 0x02b0c3eb, 0x00920a7f, 0x02bc7c77, 0x00a92d87, 0x006173a9, 0x0123a8bd, 0x0005ec1d}}}, + {X: Field{[10]uint32{0x02d6e650, 0x01c5841b, 0x00aa1387, 0x02cbd15c, 0x03177b14, 0x02c3b285, 0x017b5192, 0x03b5118e, 0x0167578b, 0x0005cb94}}, Y: Field{[10]uint32{0x03830ba7, 0x01f3614c, 0x00cee173, 0x005f07e2, 0x039d3ba8, 0x00f1ceb4, 0x03de8038, 0x02e01758, 0x012e4776, 0x0027055d}}}, + {X: Field{[10]uint32{0x00030686, 0x02738a88, 0x019ca47e, 0x03ceaa70, 0x02c95a6e, 0x036b6011, 0x02373173, 0x03f6840d, 0x0040df25, 0x000586bf}}, Y: Field{[10]uint32{0x026089ce, 0x0035bc04, 0x03759ab9, 0x0182d895, 0x009926f1, 0x0291783a, 0x039c8193, 0x017ddad2, 0x0083c126, 0x00179bf4}}}, + {X: Field{[10]uint32{0x0216a85f, 0x034fb0e2, 0x018d9459, 0x0243b854, 0x002d194e, 0x01b8e451, 0x0369cf8b, 0x03b4cd35, 0x02a8e18a, 0x002e647c}}, Y: Field{[10]uint32{0x03cab7b0, 0x03433586, 0x00e8b1a0, 0x003886ca, 0x017e6e59, 0x0248f4b0, 0x0169d3e0, 0x01c723a8, 0x01a6b89f, 0x00074aea}}}, + {X: Field{[10]uint32{0x00ca8afc, 0x0328c351, 0x035026f1, 0x0121f56a, 0x007d6233, 0x03ecd91f, 0x016f4881, 0x03b9dfde, 0x009f5a6c, 0x0036b81a}}, Y: Field{[10]uint32{0x039c329c, 0x03221cf0, 0x01fa8c6c, 0x02c0c533, 0x0143ccc1, 0x00ef96e5, 0x01e69643, 0x02eb8a85, 0x0270f730, 0x003b99ed}}}, + {X: Field{[10]uint32{0x027e4e41, 0x03f63b22, 0x02e61aea, 0x02905a84, 0x03d72805, 0x018a7ed6, 0x0217ba14, 0x0270551a, 0x00cd75f8, 0x0011e963}}, Y: Field{[10]uint32{0x01fdd889, 0x0153cf0a, 0x007679b9, 0x02e5cf65, 0x02a4bc43, 0x007f07c2, 0x03e60bb6, 0x02043ad2, 0x03ed1bbb, 0x0030579f}}}, + {X: Field{[10]uint32{0x03040e3c, 0x0026d11a, 0x01698cef, 0x01a57142, 0x02d7582f, 0x013bd96d, 0x000697c9, 0x01bb8cc3, 0x03d02e3b, 0x003deb8b}}, Y: Field{[10]uint32{0x0019ca03, 0x03762b75, 0x00ea36a9, 0x0195e64d, 0x015eb495, 0x037506b2, 0x00d8e6dd, 0x004e6f15, 0x00aac527, 0x002b7a7e}}}, + {X: Field{[10]uint32{0x0012989d, 0x0112365f, 0x00dc8b6c, 0x0091757e, 0x00ae61cf, 0x03091296, 0x03e9c214, 0x02b88235, 0x02a89be2, 0x000557e7}}, Y: Field{[10]uint32{0x01b009ff, 0x033a74d9, 0x036808c1, 0x003d3345, 0x00cf5ea6, 0x032fd124, 0x0204abe6, 0x03466bf6, 0x01f3840c, 0x0004813d}}}, + {X: Field{[10]uint32{0x029d74f6, 0x018598c7, 0x01a5189a, 0x02e404f1, 0x01e35057, 0x0034fb8e, 0x01348a0e, 0x017c53e9, 0x01c3933b, 0x002a0f32}}, Y: Field{[10]uint32{0x0072a74a, 0x0352ebfc, 0x021dbe30, 0x00468a0f, 0x0052b91d, 0x007ef91e, 0x02a9c78e, 0x0211d878, 0x02d7fad6, 0x00102a99}}}, + {X: Field{[10]uint32{0x03b5f5df, 0x030fa959, 0x02cce11f, 0x02f6fca9, 0x00d7acef, 0x02912d55, 0x00a20e0f, 0x01708ca6, 0x01cfc07b, 0x00329254}}, Y: Field{[10]uint32{0x01f4afc2, 0x004b13c2, 0x02050b80, 0x0115e161, 0x0235aac5, 0x00a31e66, 0x01791a6b, 0x032beb1e, 0x03d76700, 0x00061aa2}}}, + {X: Field{[10]uint32{0x02b6787c, 0x0339c4a7, 0x011a9ae0, 0x0296e11e, 0x01d6760b, 0x02f090e3, 0x031f2a0d, 0x00407d79, 0x01e61bad, 0x0033e4b7}}, Y: Field{[10]uint32{0x003bcbd8, 0x014f88d7, 0x0159528f, 0x027444df, 0x026c9d8a, 0x00a51638, 0x00c1f053, 0x0079af2f, 0x01b7f3e3, 0x0029f4d4}}}, + {X: Field{[10]uint32{0x029c1179, 0x01466144, 0x0287d08f, 0x02a5b8a9, 0x03b06154, 0x020fa2cd, 0x039df9be, 0x00a0e8ed, 0x033ecfd8, 0x002c6ac2}}, Y: Field{[10]uint32{0x01506bbf, 0x017435ba, 0x0305812d, 0x0254e0df, 0x0099e973, 0x0204a403, 0x034cd97b, 0x014d2907, 0x02f34bab, 0x00336dfc}}}, + {X: Field{[10]uint32{0x021789ce, 0x02549283, 0x0035424e, 0x028a62cc, 0x01197296, 0x00ffaeb6, 0x0399295f, 0x0327a13e, 0x03299cd4, 0x00285d0c}}, Y: Field{[10]uint32{0x037e1afe, 0x00bd75fd, 0x03fc4428, 0x02913cbc, 0x035bee11, 0x0373e9b5, 0x0078088a, 0x00d5ddbc, 0x02f44cf5, 0x00102653}}}, + {X: Field{[10]uint32{0x01c0573b, 0x02868af6, 0x01e0b0d0, 0x011981fc, 0x0338b318, 0x006954c5, 0x03b946a6, 0x02b1f0f1, 0x00864efc, 0x0000906d}}, Y: Field{[10]uint32{0x03a0d574, 0x03d72607, 0x0197c832, 0x0166eb4e, 0x002f9801, 0x02f2900f, 0x01f3ba8f, 0x00734cc9, 0x0048eec6, 0x001733a2}}}, + {X: Field{[10]uint32{0x0291b387, 0x00f8f937, 0x0137ed75, 0x01534960, 0x03e3efd3, 0x01e66ac2, 0x01559adf, 0x01e611a6, 0x02096499, 0x00207e20}}, Y: Field{[10]uint32{0x0226d15c, 0x031c79aa, 0x01967a32, 0x0266be8a, 0x0243bda5, 0x03cf3236, 0x01e5caa5, 0x01c1846e, 0x01b85bfd, 0x0023e7fb}}}, + {X: Field{[10]uint32{0x024e5a5b, 0x03d75251, 0x006fe8fb, 0x01ad955c, 0x00c22da9, 0x028bb095, 0x00793d64, 0x00851480, 0x0231bd2c, 0x00127590}}, Y: Field{[10]uint32{0x0351e825, 0x0350ccf1, 0x0302b548, 0x0100fc69, 0x01bf9864, 0x01c71b76, 0x01f81216, 0x00b2b607, 0x02dab0d7, 0x003ebb23}}}, + {X: Field{[10]uint32{0x026e0ae4, 0x01f6db41, 0x029387e7, 0x013651db, 0x006daea2, 0x02dd0260, 0x03e1f159, 0x00e90471, 0x00324fad, 0x001d3053}}, Y: Field{[10]uint32{0x00641a41, 0x01ce2038, 0x009fd5aa, 0x0176af6e, 0x013ee016, 0x011b9ad9, 0x031a2cb9, 0x03972fc0, 0x02031fbe, 0x002bde54}}}, + {X: Field{[10]uint32{0x02a1e7c3, 0x012db5c4, 0x011b2a98, 0x00674276, 0x00930f9c, 0x004e0f1b, 0x03f42158, 0x036532f8, 0x009c7342, 0x00222f08}}, Y: Field{[10]uint32{0x005b3e08, 0x03265313, 0x02a2346a, 0x03985606, 0x01b817eb, 0x00a1d843, 0x0288866e, 0x021c8e26, 0x034576dd, 0x002b2df5}}}, + {X: Field{[10]uint32{0x026eb3f8, 0x0361738a, 0x02e77c1b, 0x01099daa, 0x0009bee2, 0x0285497d, 0x03b93c85, 0x02a2337d, 0x0068c81c, 0x00121b23}}, Y: Field{[10]uint32{0x03e52d54, 0x03749bd3, 0x0234ec1a, 0x0013eccf, 0x01d62490, 0x03d79a12, 0x02648706, 0x02a5f357, 0x014b035f, 0x00383fb2}}}, + {X: Field{[10]uint32{0x00a681a3, 0x033ae401, 0x02f14e28, 0x00f5b97e, 0x03ba3904, 0x034377cd, 0x01e30fb5, 0x02388ded, 0x02116c58, 0x001287be}}, Y: Field{[10]uint32{0x017b64f4, 0x03efc6a6, 0x00d538fc, 0x030506f6, 0x0365f2ac, 0x02f391db, 0x0137dd31, 0x01c596a2, 0x03373c90, 0x002ec659}}}, + {X: Field{[10]uint32{0x00eb28d2, 0x0110a51e, 0x0392f8da, 0x016dfdfd, 0x002632e8, 0x03bf9eed, 0x0317f308, 0x0027b436, 0x0006c696, 0x0035dd17}}, Y: Field{[10]uint32{0x01b96a73, 0x00fc208e, 0x0297cad1, 0x001fdc0a, 0x025371f0, 0x006b76c6, 0x0046e11b, 0x00af557f, 0x02754d1b, 0x0001d5d6}}}, + {X: Field{[10]uint32{0x03e68def, 0x01ebe90a, 0x015f49ca, 0x0143f666, 0x00dc333d, 0x03dd2a1f, 0x0208cedd, 0x009f1a9a, 0x032ea3db, 0x002f5d4b}}, Y: Field{[10]uint32{0x01e9491a, 0x03b0e2e9, 0x024d791d, 0x01b76a70, 0x02ef5c57, 0x01b54318, 0x00725ed2, 0x023482e9, 0x02af6747, 0x000de3e2}}}, + {X: Field{[10]uint32{0x03224d21, 0x0115ec07, 0x001f94be, 0x0131fccc, 0x0055eb30, 0x03380357, 0x0202bffa, 0x031faf19, 0x033315a3, 0x003bd620}}, Y: Field{[10]uint32{0x03517abd, 0x02830482, 0x0123ff46, 0x01532d69, 0x01eb52e0, 0x0210dd47, 0x01a95f7e, 0x037ef8f6, 0x02ab6253, 0x0015bace}}}, + {X: Field{[10]uint32{0x0253727a, 0x031810d4, 0x01f1fc1d, 0x0339fb7c, 0x0106b495, 0x010b7c90, 0x01beea4f, 0x02097682, 0x03747355, 0x000b0778}}, Y: Field{[10]uint32{0x03a150c2, 0x00ec74e1, 0x0058873a, 0x0340a34b, 0x005ff92c, 0x01dd9caa, 0x01986bdf, 0x03d7623e, 0x02609082, 0x0026164d}}}, + {X: Field{[10]uint32{0x000daf99, 0x03fd43ca, 0x02535324, 0x008aa23c, 0x00b78e2a, 0x03ce6cba, 0x00c90016, 0x000503d4, 0x031b23e6, 0x00127e35}}, Y: Field{[10]uint32{0x018b04ec, 0x024ea1ad, 0x0254622b, 0x03207f90, 0x00308111, 0x03dbf788, 0x00ec3393, 0x039f70cc, 0x02654807, 0x003d9aed}}}, + {X: Field{[10]uint32{0x009f37be, 0x0185eac6, 0x03ceb6df, 0x01e36d64, 0x02d18fdf, 0x0153ce94, 0x02a30f99, 0x018728ac, 0x0385754b, 0x000d9727}}, Y: Field{[10]uint32{0x0132825e, 0x00169054, 0x01a3af14, 0x000488da, 0x007681b6, 0x0028c9e5, 0x026aced6, 0x01af2ffe, 0x03e6aca5, 0x00310ffb}}}, + {X: Field{[10]uint32{0x01f1b5af, 0x013a2fc8, 0x023108e2, 0x00f86612, 0x027e2cb5, 0x028c473c, 0x02446c4d, 0x01a3b706, 0x03e9e896, 0x00073cb3}}, Y: Field{[10]uint32{0x00c966b7, 0x007bd688, 0x03803673, 0x004b8b2b, 0x03aebc7b, 0x029a17c8, 0x038f1041, 0x00c251ed, 0x01ac43c5, 0x001c795b}}}, + {X: Field{[10]uint32{0x008ca3ec, 0x03398dad, 0x03d5225d, 0x03e38072, 0x02219694, 0x01fa1de5, 0x011c26fa, 0x00089bce, 0x00796266, 0x003ccc0d}}, Y: Field{[10]uint32{0x02762827, 0x023e3e98, 0x030026f4, 0x03215aa4, 0x02afa585, 0x013e0e90, 0x0359ab87, 0x03a5176e, 0x03f4c110, 0x001f7a82}}}, + {X: Field{[10]uint32{0x00b27154, 0x030c94f9, 0x02df0587, 0x01a46b9e, 0x008756a9, 0x008a5fa8, 0x00664f90, 0x01b220e6, 0x004c4bc1, 0x002da249}}, Y: Field{[10]uint32{0x0050c856, 0x03466a39, 0x00364c27, 0x02b971c0, 0x00bd7483, 0x02d29d68, 0x03f89a90, 0x00da3325, 0x03481357, 0x0026d221}}}, + {X: Field{[10]uint32{0x038cbe41, 0x02c45018, 0x00517f3e, 0x00089035, 0x01a78b43, 0x0392f808, 0x032f8745, 0x00dc73fb, 0x00d2d6b4, 0x002fcd3f}}, Y: Field{[10]uint32{0x0397ac02, 0x01386557, 0x03546546, 0x00e09fd9, 0x001ef6a2, 0x006d0ef0, 0x0372914e, 0x01baba39, 0x00d27e32, 0x00339a22}}}, + {X: Field{[10]uint32{0x018d74fe, 0x03520844, 0x01cd110e, 0x018f116e, 0x00d51ffe, 0x01300094, 0x005a5944, 0x031e5b3a, 0x026d231b, 0x0030825e}}, Y: Field{[10]uint32{0x03e4ac87, 0x002da82f, 0x0372b135, 0x00f96e67, 0x01d1f92b, 0x0299d221, 0x023a85ac, 0x0305cf87, 0x0013fc4a, 0x00162c19}}}, + {X: Field{[10]uint32{0x017afa81, 0x01a8cc10, 0x026184d4, 0x0261036c, 0x02e3e817, 0x03191eba, 0x011b1de3, 0x0013cc28, 0x02223d88, 0x0021d298}}, Y: Field{[10]uint32{0x0380b429, 0x00e83b6b, 0x00f8f6b1, 0x03803bdc, 0x02b31668, 0x03263cd5, 0x02b181d5, 0x03988a5d, 0x01f67986, 0x00104ca9}}}, + {X: Field{[10]uint32{0x01bc605c, 0x021382bd, 0x03b85b97, 0x00f332a8, 0x021f2846, 0x0030fb51, 0x002227ab, 0x03564a05, 0x028a1a05, 0x002b1f1b}}, Y: Field{[10]uint32{0x018a2186, 0x02c52cc4, 0x00da4a08, 0x036da1e5, 0x01c107a9, 0x018fd71c, 0x0260a0a9, 0x00ce5fae, 0x0195581e, 0x00069668}}}, + {X: Field{[10]uint32{0x0333342c, 0x02c58e8c, 0x00a65575, 0x02e0bc95, 0x0344bc12, 0x005c5697, 0x0075c01a, 0x028fd822, 0x02d8d825, 0x000fc4f8}}, Y: Field{[10]uint32{0x0025e3b7, 0x00fe8716, 0x02724339, 0x033f5ee9, 0x036a2e6e, 0x02d788a4, 0x02f76a68, 0x009847ff, 0x0082fb2c, 0x002ebfda}}}, + {X: Field{[10]uint32{0x03a8fe2d, 0x03e57b2f, 0x03cec4d5, 0x003d327d, 0x01aa7e40, 0x007418c3, 0x03e26315, 0x01fce770, 0x0354515e, 0x0007afac}}, Y: Field{[10]uint32{0x025c85cf, 0x02847deb, 0x02daca6c, 0x02e6131c, 0x00c70724, 0x00617ce9, 0x00a2473c, 0x03373ce1, 0x00ef00c2, 0x0028b8d7}}}, + {X: Field{[10]uint32{0x0202b2ab, 0x00668777, 0x019a0d2d, 0x027388ae, 0x00b47d8f, 0x004ad176, 0x0059218d, 0x039d979b, 0x0365b211, 0x0030b736}}, Y: Field{[10]uint32{0x00f3be50, 0x01bd4389, 0x01237b14, 0x00cb25ad, 0x028722e0, 0x00967e21, 0x009326e9, 0x0045e9ca, 0x039ca960, 0x00382a96}}}, + {X: Field{[10]uint32{0x00bc0d45, 0x03a1e459, 0x01b85841, 0x02e09c32, 0x0207f360, 0x000e3db1, 0x02ed8a9c, 0x03451238, 0x01f7e2a9, 0x0012575a}}, Y: Field{[10]uint32{0x017088d2, 0x03d67825, 0x003e70bd, 0x02f84d0a, 0x03c48584, 0x013eb1bd, 0x034465d7, 0x0339ee0e, 0x022a1dab, 0x0017ecff}}}, + {X: Field{[10]uint32{0x0053bab2, 0x01eb21cd, 0x0169d203, 0x01deeb56, 0x01270a94, 0x0368fd45, 0x01be43d8, 0x0393e5c0, 0x01692139, 0x0033ab11}}, Y: Field{[10]uint32{0x00908070, 0x00b05811, 0x00b3bca3, 0x01035548, 0x02f385ea, 0x01812dac, 0x002f2bd9, 0x03a1cad8, 0x01d815f4, 0x002f47f6}}}, + {X: Field{[10]uint32{0x01407e0d, 0x015625c2, 0x0140682f, 0x006835b3, 0x034e6dba, 0x002881ab, 0x01284cbc, 0x02e30073, 0x00b93196, 0x001fb474}}, Y: Field{[10]uint32{0x012801c5, 0x03286287, 0x00e0af1b, 0x03036103, 0x0111018e, 0x035d6a71, 0x034ee732, 0x002f988b, 0x02c96ba6, 0x003a568e}}}, + {X: Field{[10]uint32{0x01040b04, 0x02dc5e28, 0x010fba24, 0x02c84c49, 0x03ac5fe4, 0x02e9f325, 0x00fd4365, 0x033b2250, 0x03664f42, 0x0001cbec}}, Y: Field{[10]uint32{0x007dce41, 0x028994f1, 0x029bcdbb, 0x0372887b, 0x0063d551, 0x02d4b3a4, 0x01e5c9b4, 0x0047d7d7, 0x031a93a2, 0x0003060a}}}, + {X: Field{[10]uint32{0x0008beea, 0x0183c118, 0x00309021, 0x00b56455, 0x03469019, 0x00f9b615, 0x0320043d, 0x00791759, 0x018c9ca9, 0x003741b3}}, Y: Field{[10]uint32{0x001e7ecd, 0x021771b1, 0x03ce272b, 0x016e402c, 0x01418970, 0x020faf60, 0x03a8a7ee, 0x03a8efe7, 0x03276eeb, 0x0033705c}}}, + {X: Field{[10]uint32{0x0178cd13, 0x02a6a64e, 0x00743da8, 0x010c0b8b, 0x003c708c, 0x02ffb6c4, 0x02504398, 0x01fc3c79, 0x0129e90a, 0x000203d8}}, Y: Field{[10]uint32{0x01deb82a, 0x009b53ce, 0x0000fe72, 0x0208e0a3, 0x02d95a30, 0x016d9129, 0x02f594f8, 0x03bfd28f, 0x0012145f, 0x001d365e}}}, + {X: Field{[10]uint32{0x005995b6, 0x0309f9c4, 0x01b24f5b, 0x00f13014, 0x020b48f8, 0x02bee774, 0x02970afb, 0x01422bbb, 0x00daf56b, 0x0015abcd}}, Y: Field{[10]uint32{0x01ae68bf, 0x02ac37b4, 0x0334d8a3, 0x016b7317, 0x03decca6, 0x00867734, 0x0105a4cc, 0x02386624, 0x02529e78, 0x0035077f}}}, + {X: Field{[10]uint32{0x023f91ee, 0x00f11393, 0x001f6ca3, 0x024e8687, 0x00148cf6, 0x01a27647, 0x005e29c4, 0x0196d031, 0x01ba7955, 0x00208089}}, Y: Field{[10]uint32{0x024b7db4, 0x000a2fae, 0x03334b24, 0x03c52ce1, 0x0011a0f4, 0x01e09a4a, 0x02bf5a31, 0x0270b819, 0x025bc89b, 0x000d88ab}}}, + {X: Field{[10]uint32{0x02ea57d2, 0x008cafa8, 0x037033bf, 0x02c5594a, 0x03ad388d, 0x0231fc27, 0x01a1b7ca, 0x0080aa25, 0x01bfcfcc, 0x001e497f}}, Y: Field{[10]uint32{0x0290525c, 0x00dcc253, 0x00d0a9dc, 0x0072a105, 0x021ebcc2, 0x01b4fd7c, 0x019cf5ec, 0x01f72455, 0x0301c9cb, 0x0011bdfb}}}, + {X: Field{[10]uint32{0x01d81808, 0x01fd8341, 0x039f6102, 0x012a6ffd, 0x02663879, 0x036f4ac7, 0x03316eb8, 0x039cc416, 0x036af38a, 0x0012c892}}, Y: Field{[10]uint32{0x015c3dac, 0x03e72c56, 0x029d423f, 0x02207f19, 0x00b6dc68, 0x007ff96d, 0x032ad2e1, 0x00c00aee, 0x0208b163, 0x000c50fa}}}, + {X: Field{[10]uint32{0x007380ee, 0x02bc831a, 0x013cd28d, 0x0192a904, 0x022c1bdd, 0x01b39223, 0x02a1a36e, 0x03d3ad80, 0x03fa4135, 0x000b01d9}}, Y: Field{[10]uint32{0x03bc16a7, 0x006f8ec3, 0x0389a5f7, 0x00ac4142, 0x0006a65d, 0x004dcf78, 0x002da710, 0x00c185f3, 0x03fce78d, 0x003770fb}}}, + {X: Field{[10]uint32{0x00a7ae7c, 0x0366ee94, 0x01ef1982, 0x03097544, 0x0137b5a2, 0x006a7e0d, 0x02ed2d94, 0x026a13bd, 0x013ee717, 0x0020e0df}}, Y: Field{[10]uint32{0x03b66dbe, 0x00092db8, 0x008d8556, 0x03c9e51b, 0x01fe2294, 0x029809ed, 0x02f1a495, 0x01ed32a1, 0x02166095, 0x00188807}}}, + {X: Field{[10]uint32{0x0095387a, 0x009c4256, 0x01d9bda4, 0x027875c3, 0x0225e50d, 0x00d6fc76, 0x028e0118, 0x03c15d4e, 0x0334e560, 0x0033c1d6}}, Y: Field{[10]uint32{0x02127018, 0x001c6128, 0x02a1404b, 0x03746035, 0x032b11d8, 0x00f7ce35, 0x0219f6f3, 0x03d348e3, 0x01d0330f, 0x0031cc82}}}, + {X: Field{[10]uint32{0x008931a4, 0x006e20df, 0x0329dcb0, 0x00b04020, 0x039d06ba, 0x0038faed, 0x00680300, 0x01d747bd, 0x00ff9b18, 0x003560fe}}, Y: Field{[10]uint32{0x03ae3292, 0x02f94f1b, 0x0258cd55, 0x0270ccee, 0x00aaac7c, 0x0165ad42, 0x03cfcc69, 0x024ae9af, 0x031c03f0, 0x003e33f3}}}, + {X: Field{[10]uint32{0x03eaefaa, 0x006de490, 0x02220343, 0x02cb687f, 0x0327568b, 0x010bb6c6, 0x01853723, 0x00e26ff0, 0x01b621d2, 0x001547fa}}, Y: Field{[10]uint32{0x023c24e0, 0x02b74095, 0x023d8c3b, 0x03fa5c48, 0x03ff48e5, 0x03cc4467, 0x02ff5057, 0x018f331a, 0x004ae485, 0x001b1da4}}}, + {X: Field{[10]uint32{0x016a80b2, 0x018fdbb4, 0x02da9a9d, 0x0252f239, 0x0051f063, 0x0339f264, 0x0162be7b, 0x00bc92c2, 0x00fc7406, 0x0006edde}}, Y: Field{[10]uint32{0x01d88318, 0x0385d018, 0x03bdb14b, 0x00bc775e, 0x0260e935, 0x03fc0dbe, 0x02700b68, 0x03459cf4, 0x013d2f4e, 0x0009d53d}}}, + {X: Field{[10]uint32{0x03e364aa, 0x00ff8439, 0x03be6e4a, 0x0313a5f3, 0x01aa0744, 0x03fe354e, 0x009f1a93, 0x0160be25, 0x02f71261, 0x00028542}}, Y: Field{[10]uint32{0x02ea4773, 0x037dc87a, 0x03ab99e0, 0x03b57e5b, 0x03100737, 0x01b86fd1, 0x02124715, 0x01c70be7, 0x02fea686, 0x00388a86}}}, + {X: Field{[10]uint32{0x032e2a9e, 0x00b856b9, 0x0380b724, 0x02f095e1, 0x00835ed2, 0x023a4f5a, 0x0163a030, 0x037e475e, 0x03df727f, 0x003253b0}}, Y: Field{[10]uint32{0x0152009c, 0x00d3485c, 0x030d50a9, 0x0042cfd5, 0x02011b28, 0x003eb427, 0x0312b35f, 0x014f1518, 0x00e97bda, 0x00291da8}}}, + {X: Field{[10]uint32{0x0146875a, 0x02d97dfc, 0x03f255f8, 0x0285e131, 0x02f186bd, 0x008d69ca, 0x01427394, 0x00c8c5f1, 0x01dbebe1, 0x000cd9ae}}, Y: Field{[10]uint32{0x0345d3cf, 0x00c9c984, 0x01862eea, 0x0064805c, 0x026b6206, 0x010e4657, 0x03213835, 0x00a22508, 0x007895f5, 0x00017a89}}}, + {X: Field{[10]uint32{0x00e8ba25, 0x030e3978, 0x02373974, 0x02f91130, 0x0358bec6, 0x0024acae, 0x005ef365, 0x0197b32e, 0x026ce522, 0x00185b23}}, Y: Field{[10]uint32{0x01aa0970, 0x0126fc73, 0x033caba0, 0x0240bc7b, 0x02724a98, 0x03d04926, 0x03286f45, 0x00963362, 0x01433d6e, 0x00134f55}}}, + {X: Field{[10]uint32{0x02651827, 0x008a47da, 0x00b1d043, 0x0298c825, 0x032617b3, 0x01177129, 0x001d86ef, 0x03a13a2e, 0x01772e38, 0x001d37c8}}, Y: Field{[10]uint32{0x02e01334, 0x011b6308, 0x0360c487, 0x0071a86c, 0x032a9ccf, 0x0326e695, 0x00abc6f9, 0x02549ff1, 0x03af30f0, 0x000130ca}}}, + {X: Field{[10]uint32{0x01accbd1, 0x03f14008, 0x00ce5d68, 0x0366fb83, 0x02532f8d, 0x03bd0bea, 0x01966d15, 0x0114ca5e, 0x01bf76b7, 0x00060528}}, Y: Field{[10]uint32{0x00d46bdc, 0x02feeb6b, 0x02ef3154, 0x01b826cb, 0x037af174, 0x03ea4ee6, 0x0205ad25, 0x0350e6c8, 0x01ff0da9, 0x0017d77d}}}, + {X: Field{[10]uint32{0x018625cc, 0x01db00ae, 0x02975c74, 0x019b108a, 0x035f444d, 0x03a17ef6, 0x01f22878, 0x01d49aeb, 0x029498ff, 0x000a2447}}, Y: Field{[10]uint32{0x02638537, 0x03240f07, 0x01ada5e4, 0x02ef8e02, 0x02eac150, 0x02c886e9, 0x0069542f, 0x01801a76, 0x00f35cf2, 0x00168d07}}}, + {X: Field{[10]uint32{0x01270865, 0x0343bf8a, 0x0279abd6, 0x006f9913, 0x02f441ce, 0x0227a1a1, 0x01ce2926, 0x011570e8, 0x0371e82a, 0x00356b3f}}, Y: Field{[10]uint32{0x0126d5e8, 0x031f6007, 0x0070e00d, 0x025a5636, 0x03ca8cde, 0x0344fc0c, 0x004971aa, 0x03a5c281, 0x008f1b46, 0x002ab1b5}}}, + {X: Field{[10]uint32{0x02711596, 0x002638b8, 0x00b6a91f, 0x015d4401, 0x008f03fc, 0x00842545, 0x0365e173, 0x00361675, 0x001b0221, 0x00173d47}}, Y: Field{[10]uint32{0x02d5c3b3, 0x016f73c9, 0x01838f39, 0x03ba8e65, 0x00017fe9, 0x028a8852, 0x031e58ea, 0x03d164b0, 0x01e0610d, 0x0007bac6}}}, +} + +var preG128 = []XY{ + {X: Field{[10]uint32{0x02c4c0da, 0x02d11327, 0x023351b7, 0x01e1c8fa, 0x02e88c56, 0x0207c58b, 0x039c1ad9, 0x017cce48, 0x01d2f63b, 0x0023da2e}}, Y: Field{[10]uint32{0x001fff82, 0x032fde54, 0x00bfdf23, 0x03fa5544, 0x01bbea2c, 0x01af8857, 0x01d90c2b, 0x00e61b78, 0x032dba06, 0x00198aa7}}}, + {X: Field{[10]uint32{0x023809fa, 0x00ae3b74, 0x014be18e, 0x02cd4765, 0x00fd845c, 0x009147c2, 0x0293363f, 0x027c8a2e, 0x01be2e50, 0x000e0e07}}, Y: Field{[10]uint32{0x031fed52, 0x001d460c, 0x0324dbd7, 0x032ccb63, 0x003681fc, 0x0083ac73, 0x01405a55, 0x005f72c2, 0x010a0fb9, 0x003928cb}}}, + {X: Field{[10]uint32{0x03c2a310, 0x01099225, 0x026303ea, 0x02950048, 0x01f186ae, 0x0291a668, 0x0121b82a, 0x00ab9bda, 0x0324e437, 0x00124989}}, Y: Field{[10]uint32{0x0227ded0, 0x006da057, 0x038ce0c4, 0x004a9d7f, 0x036d1636, 0x01c50c0e, 0x02cfa569, 0x02afe568, 0x0373bca7, 0x0004cdf9}}}, + {X: Field{[10]uint32{0x02bd2d31, 0x012c1e73, 0x01b8d138, 0x015bfc1b, 0x004dcc1a, 0x011df8be, 0x02253b3e, 0x00324357, 0x028c1a24, 0x0038c195}}, Y: Field{[10]uint32{0x02546e44, 0x02d020e4, 0x03826692, 0x010af8dc, 0x02ffbc80, 0x03df436d, 0x00f2b107, 0x01098222, 0x03e37893, 0x0003ab1b}}}, + {X: Field{[10]uint32{0x023136b0, 0x0030e78d, 0x01dd9c53, 0x0366aad0, 0x0374ebf8, 0x00fef58c, 0x01b0e762, 0x033bf09c, 0x000e2428, 0x000ee784}}, Y: Field{[10]uint32{0x00dbbc8a, 0x03b05bdb, 0x01f81953, 0x028ceb4c, 0x02a2ae28, 0x03d1d6c9, 0x01533eb8, 0x02edc77c, 0x00152d16, 0x003ebee6}}}, + {X: Field{[10]uint32{0x03485d3f, 0x023c11cb, 0x03eee960, 0x01a2041e, 0x0317ca07, 0x0177b7bd, 0x036ca80f, 0x0326a4ad, 0x0149712a, 0x002ec2ab}}, Y: Field{[10]uint32{0x00a2f975, 0x00e4940f, 0x00bffe79, 0x03e8c59c, 0x00895a5a, 0x00a5f68d, 0x00d201f7, 0x0151e63b, 0x0053c583, 0x003a9a67}}}, + {X: Field{[10]uint32{0x02718dc9, 0x03b4ce8d, 0x023de4ae, 0x0136c044, 0x03e1e58b, 0x02bf8044, 0x028eb197, 0x03f30353, 0x02c8e4ee, 0x001e4242}}, Y: Field{[10]uint32{0x00fae7c5, 0x00c8ac47, 0x0008b963, 0x02dc2ea4, 0x02dd36af, 0x0366aa95, 0x01816cbc, 0x016e3c4f, 0x022b9190, 0x003aaadc}}}, + {X: Field{[10]uint32{0x0360c7d1, 0x025a531f, 0x01ad2a26, 0x039f35dd, 0x028dd71d, 0x01526e99, 0x003dbbce, 0x01ed5470, 0x01ade9f9, 0x0039df20}}, Y: Field{[10]uint32{0x02d72449, 0x01607ca0, 0x006d34ec, 0x03dc70a6, 0x03631470, 0x03aa0550, 0x03c3b323, 0x004c8717, 0x0078eef8, 0x000eb3c5}}}, + {X: Field{[10]uint32{0x01ccf6b0, 0x03ece915, 0x01341501, 0x02ba8b51, 0x003d633d, 0x037b61f3, 0x018878e3, 0x014473cb, 0x00e9dbce, 0x00378ad7}}, Y: Field{[10]uint32{0x01100666, 0x00a7adc4, 0x018bb348, 0x016b198c, 0x0065b8c4, 0x02c68dd1, 0x03717e98, 0x038386ef, 0x02f3d3c3, 0x003c415d}}}, + {X: Field{[10]uint32{0x03c03c56, 0x005182c4, 0x0258b26b, 0x02977919, 0x0329659c, 0x03048485, 0x0259fbd7, 0x028bf87a, 0x01ffd491, 0x00341ef7}}, Y: Field{[10]uint32{0x03405ce7, 0x00fd830a, 0x02ea76be, 0x03fe330b, 0x0161d963, 0x00778135, 0x01c40e2a, 0x025f743e, 0x0308cd3c, 0x002cab51}}}, + {X: Field{[10]uint32{0x036a4d51, 0x036ad06e, 0x0025710e, 0x01710d2e, 0x010f8da4, 0x025b3a38, 0x025ec4c3, 0x005abcdd, 0x027c5d30, 0x0020900f}}, Y: Field{[10]uint32{0x03463b19, 0x024bab5e, 0x03c1b11e, 0x03313b19, 0x0199ab6c, 0x00fa1014, 0x016baddb, 0x02dd9d11, 0x021be27c, 0x00034259}}}, + {X: Field{[10]uint32{0x010680cf, 0x032d219d, 0x0023f438, 0x00f65507, 0x01930f93, 0x0132bd36, 0x03faa58c, 0x009bd498, 0x0131fbd6, 0x003ab70c}}, Y: Field{[10]uint32{0x0087a914, 0x0253fc4b, 0x01a74360, 0x02770de4, 0x01a388fb, 0x01cb5740, 0x024b36c9, 0x02a25d71, 0x03b1c9b4, 0x0034f25d}}}, + {X: Field{[10]uint32{0x007987d9, 0x03ca427f, 0x038ac609, 0x0172ddf9, 0x0336bdd6, 0x019d23d3, 0x018a4b38, 0x03fc9314, 0x025f6758, 0x000e40fb}}, Y: Field{[10]uint32{0x002be83b, 0x03f8ab86, 0x028dab0c, 0x0061249e, 0x018d222a, 0x0348d1d2, 0x0115934b, 0x01075902, 0x014ea152, 0x0003a486}}}, + {X: Field{[10]uint32{0x03e6a5d9, 0x007e2096, 0x00e9323e, 0x010f6efe, 0x015759c3, 0x026a7c86, 0x035bdccf, 0x01228e11, 0x037839ab, 0x0034200e}}, Y: Field{[10]uint32{0x00582f0b, 0x012a4999, 0x01d24289, 0x01b39474, 0x0004ecf0, 0x00e2ebe9, 0x02ec15fb, 0x0325fa84, 0x0180ff29, 0x000b30ec}}}, + {X: Field{[10]uint32{0x00567ed0, 0x018a3ef0, 0x02c19215, 0x008f6a39, 0x018496dd, 0x033e2f81, 0x013a5aea, 0x01d26685, 0x0096b18a, 0x0007d5bc}}, Y: Field{[10]uint32{0x039dff58, 0x004f2d0d, 0x000d51fc, 0x03d06a4f, 0x01c94189, 0x02d9735a, 0x00044360, 0x03d2420c, 0x038a3b52, 0x003fbc8a}}}, + {X: Field{[10]uint32{0x038e213b, 0x03f016d8, 0x032974e0, 0x033f3c80, 0x0079e947, 0x008d2a8c, 0x006f5250, 0x01d0cb8e, 0x01b1a4a4, 0x000767da}}, Y: Field{[10]uint32{0x00d4ccbb, 0x00575bb9, 0x0372041f, 0x02cf4fdb, 0x005438d5, 0x00ac7689, 0x00500c3a, 0x001d86ce, 0x0017949c, 0x0036263b}}}, + {X: Field{[10]uint32{0x03629efd, 0x016a773e, 0x008b1aeb, 0x01537200, 0x00552133, 0x01719eb4, 0x03c43610, 0x032de04b, 0x01134d9d, 0x00004a32}}, Y: Field{[10]uint32{0x03e67c96, 0x01060602, 0x036e45ff, 0x0393b1bd, 0x02c160c8, 0x00267598, 0x03259360, 0x00984365, 0x014add15, 0x003fb8f9}}}, + {X: Field{[10]uint32{0x011a9685, 0x0038f643, 0x011fc49c, 0x015238b1, 0x00301f28, 0x01d581d7, 0x00b8d519, 0x02e53491, 0x012f5a95, 0x00087b00}}, Y: Field{[10]uint32{0x00de08ae, 0x0237864f, 0x00162d12, 0x029bf57f, 0x027418ed, 0x02527ca3, 0x03fef716, 0x0125fd31, 0x010577af, 0x000b7bc8}}}, + {X: Field{[10]uint32{0x02331cc5, 0x008a0d8f, 0x0311c584, 0x039df6be, 0x00761c3b, 0x031f3f1d, 0x0080e894, 0x022f0279, 0x0202fb9d, 0x001a23d4}}, Y: Field{[10]uint32{0x03302cd3, 0x02708631, 0x03d9462d, 0x02be27ba, 0x001a393e, 0x00900d0d, 0x007cabd9, 0x01069cbb, 0x015963b5, 0x0025ae9f}}}, + {X: Field{[10]uint32{0x03f02baf, 0x034ead3d, 0x03f682e4, 0x03bc3a2e, 0x010744d0, 0x0029434d, 0x0314c300, 0x02a3d6cc, 0x02ea1cb9, 0x003ed727}}, Y: Field{[10]uint32{0x03630418, 0x015fa77e, 0x02af0911, 0x0331f949, 0x006868e0, 0x01717a57, 0x028bd269, 0x031547ec, 0x0044e18f, 0x000a7ee2}}}, + {X: Field{[10]uint32{0x02c03421, 0x00d89732, 0x0380de0b, 0x03b1ed48, 0x01593168, 0x012a7787, 0x01f6a5d8, 0x02b8fcbd, 0x03e22eed, 0x003c51e7}}, Y: Field{[10]uint32{0x02764606, 0x015acb88, 0x02131cb8, 0x003120d4, 0x01c0b463, 0x03ef4d06, 0x0350d1a3, 0x022e084e, 0x015d2fd8, 0x0006990b}}}, + {X: Field{[10]uint32{0x031a7950, 0x0171ecaf, 0x0165a69f, 0x01eca261, 0x0200f60f, 0x03f83bfe, 0x005b0e09, 0x025dd24f, 0x01c5e819, 0x00089cfb}}, Y: Field{[10]uint32{0x027bda12, 0x02b8e7bf, 0x03530906, 0x03f13d42, 0x00b64691, 0x021254d6, 0x031a1df9, 0x01e364a7, 0x02388fd9, 0x002ceba8}}}, + {X: Field{[10]uint32{0x03ef5214, 0x0016b5e6, 0x0285656f, 0x03d2c518, 0x03496d59, 0x02ce768b, 0x03d10b32, 0x010de2d1, 0x000c3050, 0x00267e12}}, Y: Field{[10]uint32{0x0264b2cd, 0x029eb998, 0x0215171d, 0x00df9398, 0x02d930e4, 0x02d6aa67, 0x00bd397c, 0x010a1a36, 0x015d8e22, 0x00380075}}}, + {X: Field{[10]uint32{0x016a6f1f, 0x0195aea6, 0x03635bc9, 0x03561fd5, 0x0209c000, 0x024f2190, 0x00fdfc69, 0x004a035d, 0x017fe475, 0x0000e089}}, Y: Field{[10]uint32{0x0351d474, 0x01caab62, 0x019731c6, 0x00e78d96, 0x0130dbfa, 0x01ad7c7e, 0x01a4f1da, 0x032c1899, 0x033dfe52, 0x0030b71c}}}, + {X: Field{[10]uint32{0x00efb24b, 0x01179ffb, 0x034526e1, 0x03e7db57, 0x0262e5ea, 0x02b3211e, 0x01f4e1b2, 0x00e1af91, 0x02329125, 0x0008e84d}}, Y: Field{[10]uint32{0x016854c0, 0x0057d566, 0x03a6f49f, 0x01c0dcd2, 0x01413cc3, 0x03dc557c, 0x03817a1a, 0x02e888af, 0x037e0643, 0x00244a5d}}}, + {X: Field{[10]uint32{0x01149f0b, 0x002b0d5e, 0x039d48a3, 0x00f71102, 0x008cf559, 0x031737b5, 0x01791a18, 0x01937a8d, 0x026058a6, 0x0019967a}}, Y: Field{[10]uint32{0x02f2199d, 0x0031b5ac, 0x031ffc82, 0x036394d3, 0x035300d1, 0x010bf1b0, 0x007b69e7, 0x020dbecd, 0x0305a85d, 0x000ab731}}}, + {X: Field{[10]uint32{0x03a939fc, 0x0299f746, 0x01033037, 0x021d0508, 0x022899b4, 0x027f4a8f, 0x00e6f6c8, 0x034ed1fb, 0x03c6e1ac, 0x0014b70e}}, Y: Field{[10]uint32{0x03d05746, 0x03a270d0, 0x013e2709, 0x028fb946, 0x031e8f6b, 0x0168f13f, 0x003d9da1, 0x0041fef6, 0x034632ad, 0x00176bac}}}, + {X: Field{[10]uint32{0x01573551, 0x01dac435, 0x034f6173, 0x03add7c1, 0x01693fbc, 0x03251ef0, 0x01189ba9, 0x015d16f6, 0x029793cd, 0x001492ca}}, Y: Field{[10]uint32{0x00c80b71, 0x011b86ef, 0x02ca02d1, 0x0318f7b3, 0x01a6865a, 0x03a28bed, 0x02b92cc3, 0x03ec6a77, 0x01d6cb23, 0x0027a026}}}, + {X: Field{[10]uint32{0x0382756e, 0x01e45585, 0x029976fe, 0x02579641, 0x03525b7b, 0x02583a6d, 0x03e6c3dd, 0x01654e48, 0x01a8e2bc, 0x001cc860}}, Y: Field{[10]uint32{0x022e4823, 0x0318869c, 0x01d84eda, 0x0258523c, 0x03e3c42d, 0x02eba62a, 0x03a193c0, 0x03ac290a, 0x02b35592, 0x000945b1}}}, + {X: Field{[10]uint32{0x0102664b, 0x01c04479, 0x0315d8d5, 0x00f7ddba, 0x0249a7ae, 0x00bbdbf2, 0x038496ac, 0x00e3f7cc, 0x002d926e, 0x002e3a25}}, Y: Field{[10]uint32{0x02faf8eb, 0x00bd7b6f, 0x01d77f79, 0x0105a794, 0x03972486, 0x000c79b1, 0x0270ba22, 0x01623935, 0x016e7dea, 0x001e6435}}}, + {X: Field{[10]uint32{0x0098e4e5, 0x006de5f8, 0x001ae18d, 0x03989e25, 0x0119e744, 0x037733de, 0x00ac11e7, 0x02affdcb, 0x00f63e73, 0x000513a2}}, Y: Field{[10]uint32{0x0021837c, 0x027e0f0c, 0x02b3b4e0, 0x033df70b, 0x01158705, 0x029518cf, 0x018197fe, 0x03195431, 0x03f35df3, 0x00018f36}}}, + {X: Field{[10]uint32{0x003a9081, 0x023bef57, 0x0303975b, 0x024da055, 0x0160e5bc, 0x0271cf8f, 0x016a739c, 0x033638b4, 0x03dc489e, 0x00250db8}}, Y: Field{[10]uint32{0x01a7e59c, 0x002fd80e, 0x02d5e03a, 0x02cace99, 0x038e8d76, 0x02a139fd, 0x02a7806e, 0x01baff46, 0x031f50cb, 0x00051814}}}, + {X: Field{[10]uint32{0x00890db9, 0x01b09d48, 0x01e76193, 0x00177d9a, 0x03e840e0, 0x01c43464, 0x019b01a1, 0x03442d1b, 0x01617a56, 0x00274f09}}, Y: Field{[10]uint32{0x00521ea3, 0x019f38de, 0x02aca044, 0x0337a2bc, 0x001f89ff, 0x00b6a6e5, 0x01fee9b8, 0x03a6f30b, 0x00bc4c4a, 0x001aef70}}}, + {X: Field{[10]uint32{0x03db76c8, 0x02a1418f, 0x01d2d0dd, 0x02a2c398, 0x02d0aca5, 0x0114f13c, 0x00c6ae0b, 0x01fe2f86, 0x0250f51b, 0x000a7e63}}, Y: Field{[10]uint32{0x00e5d28f, 0x0038f1fc, 0x01186df8, 0x00c2b4de, 0x0358a6ec, 0x01016018, 0x02b8b211, 0x000c71cf, 0x00dcae8e, 0x0036bcef}}}, + {X: Field{[10]uint32{0x01c22c94, 0x02bc1d13, 0x02e1a538, 0x014a535d, 0x0217a897, 0x0375811b, 0x0005e311, 0x02a8d806, 0x00c2c71d, 0x00359f4c}}, Y: Field{[10]uint32{0x014f670c, 0x00452ee9, 0x03d969c1, 0x02faabd2, 0x00e87ebb, 0x00b81a33, 0x02e690aa, 0x001ec2e4, 0x00e712c8, 0x00122e6c}}}, + {X: Field{[10]uint32{0x03c81649, 0x019809cb, 0x00334835, 0x02e65e9e, 0x03059aa7, 0x0340e805, 0x032c9b76, 0x030b92dd, 0x03a88ce9, 0x003c8b0a}}, Y: Field{[10]uint32{0x01b7028f, 0x001bf77e, 0x019a3cbc, 0x02a4233e, 0x022d92dc, 0x015c09c2, 0x03a4e0f1, 0x02f85890, 0x0310f190, 0x001aaa79}}}, + {X: Field{[10]uint32{0x02c5f894, 0x00c25a66, 0x034a5eff, 0x03b73f01, 0x0336b722, 0x03bcc8d3, 0x02533c90, 0x01320f94, 0x018d06b9, 0x0003179c}}, Y: Field{[10]uint32{0x02eef436, 0x02cc5983, 0x01d7e642, 0x027b3111, 0x03f7f8ce, 0x02a71412, 0x024e810f, 0x01986775, 0x0051ccfc, 0x00092584}}}, + {X: Field{[10]uint32{0x0144d611, 0x019bdcde, 0x014a2c1f, 0x022cccd5, 0x02c291dc, 0x03e1fb93, 0x0218999e, 0x03adf55d, 0x00aac836, 0x0009aa2f}}, Y: Field{[10]uint32{0x03bcecc9, 0x0331976e, 0x027a6c69, 0x03438667, 0x00e57192, 0x00781d8f, 0x022da29c, 0x01998eb3, 0x01ba0723, 0x00308014}}}, + {X: Field{[10]uint32{0x01fa098c, 0x020cd18b, 0x027aa2c0, 0x03841d93, 0x016bcf65, 0x029925b5, 0x0301ba17, 0x0055166f, 0x0170fb7b, 0x000e238d}}, Y: Field{[10]uint32{0x007be798, 0x0003d7e8, 0x02bdea95, 0x0049176d, 0x0299120d, 0x038d12f9, 0x01561e5a, 0x003fc151, 0x0122a2eb, 0x000b5383}}}, + {X: Field{[10]uint32{0x01250709, 0x03e3dc85, 0x03fca7a7, 0x0070ba95, 0x0200da2d, 0x03aacb1b, 0x0227efa4, 0x01e0f88c, 0x03abb5a0, 0x001a0626}}, Y: Field{[10]uint32{0x007ae856, 0x02e0d34f, 0x00855a0e, 0x005cc34c, 0x003e42d5, 0x0145117e, 0x00954f62, 0x034fea85, 0x01833694, 0x002f4c2f}}}, + {X: Field{[10]uint32{0x012190ab, 0x0364344a, 0x03d42b88, 0x020ff5ec, 0x01ea6ff6, 0x00106289, 0x03b7aa90, 0x01de5659, 0x0023bb34, 0x00190b82}}, Y: Field{[10]uint32{0x03b4000f, 0x018e71fc, 0x00903210, 0x02418eda, 0x01286b46, 0x00e76bce, 0x02748926, 0x0014bf8d, 0x02a786ec, 0x0036dcf7}}}, + {X: Field{[10]uint32{0x00924afa, 0x01a0d719, 0x02027f91, 0x00bf4e61, 0x037f4eff, 0x0225abea, 0x01addea5, 0x015415d4, 0x0281e5bf, 0x0026adba}}, Y: Field{[10]uint32{0x0229bb6c, 0x0001eb1d, 0x02f2b47d, 0x026ca659, 0x03dd951c, 0x03392cf9, 0x0329efcb, 0x02979cbf, 0x02a74870, 0x000e301a}}}, + {X: Field{[10]uint32{0x014a8ee7, 0x020563ba, 0x01a62dd1, 0x0056f780, 0x01e059e0, 0x0227993e, 0x0298248e, 0x03da71c6, 0x01aee567, 0x002c2601}}, Y: Field{[10]uint32{0x0183d221, 0x01eca386, 0x0212c814, 0x02a038f6, 0x03dea885, 0x034882b0, 0x01382eb6, 0x004bbf31, 0x016a7ec9, 0x0018aba8}}}, + {X: Field{[10]uint32{0x0107e6e5, 0x01306f00, 0x03b5a82b, 0x03c25d6f, 0x0291d6b5, 0x020c5a46, 0x018bfbc9, 0x03568d29, 0x025b636e, 0x000f58ca}}, Y: Field{[10]uint32{0x03395a1c, 0x033e8c73, 0x01aef682, 0x0273c581, 0x027a7ee0, 0x032d3525, 0x036ba0f9, 0x005b64ba, 0x009e75bf, 0x0015de91}}}, + {X: Field{[10]uint32{0x00cef707, 0x0069a5d0, 0x0150ab1c, 0x00d4e8db, 0x03b51e36, 0x025ab22e, 0x02db69dd, 0x017fcb3b, 0x03f0f70d, 0x001ae086}}, Y: Field{[10]uint32{0x02d12e5d, 0x00ede271, 0x0347a6d8, 0x02d37e8b, 0x00006371, 0x03377aa5, 0x00286745, 0x03048220, 0x0211993f, 0x001484b3}}}, + {X: Field{[10]uint32{0x01728b23, 0x036e1511, 0x0196c789, 0x00c32476, 0x02dc33b3, 0x03364e53, 0x027740b5, 0x03f82e14, 0x01514496, 0x002fca52}}, Y: Field{[10]uint32{0x0112782c, 0x009cac7a, 0x03baec13, 0x00aaed06, 0x034c53bc, 0x004378e3, 0x03f745c4, 0x0339e8d0, 0x01e5da35, 0x001e42bb}}}, + {X: Field{[10]uint32{0x0175ec80, 0x02d80d47, 0x02f06742, 0x026c453d, 0x024906f6, 0x01126251, 0x0268267c, 0x025a2859, 0x00c382bf, 0x002954d5}}, Y: Field{[10]uint32{0x025962e8, 0x0298c332, 0x00c88179, 0x025b460a, 0x019dd6d2, 0x0337ed6c, 0x03319676, 0x00697ca2, 0x01dc4566, 0x000a026f}}}, + {X: Field{[10]uint32{0x0249a693, 0x03e8d109, 0x019f45a6, 0x02be13d4, 0x03b893f8, 0x03ed2603, 0x03a1574f, 0x020c46ef, 0x0036abcd, 0x003f0054}}, Y: Field{[10]uint32{0x019db819, 0x03d9dafc, 0x00789657, 0x03280f9f, 0x02f5542a, 0x026b34fd, 0x01cd0042, 0x03812ce1, 0x02781946, 0x00343da8}}}, + {X: Field{[10]uint32{0x019a7aae, 0x01e26003, 0x024eab75, 0x01b1447e, 0x0059caea, 0x012bef89, 0x02a799fb, 0x03cd489c, 0x010d9f81, 0x00185910}}, Y: Field{[10]uint32{0x025a7966, 0x031c54fb, 0x01ac0abe, 0x03d7539f, 0x034982ff, 0x016e4e5b, 0x03ee69c9, 0x027f34f2, 0x00800ba1, 0x0024af05}}}, + {X: Field{[10]uint32{0x030b5f2d, 0x003f2145, 0x01fc6faa, 0x01f47b01, 0x016e2591, 0x0060ad3d, 0x00f9a9b3, 0x035cddca, 0x01358de9, 0x003be059}}, Y: Field{[10]uint32{0x007ec595, 0x0320fa9d, 0x03d7e155, 0x03732c71, 0x010f1721, 0x02dbf4cb, 0x0249df88, 0x02a71141, 0x0026403c, 0x00370dc9}}}, + {X: Field{[10]uint32{0x0187a8ed, 0x03029222, 0x032e2642, 0x011a107a, 0x00178c56, 0x01c34b10, 0x0304e681, 0x00db7771, 0x00b989a4, 0x0010a30d}}, Y: Field{[10]uint32{0x02eebe06, 0x00deaf4e, 0x01f4f512, 0x01f9c651, 0x003836f9, 0x010da58d, 0x004dc3e6, 0x01191b28, 0x0158251c, 0x002c7c90}}}, + {X: Field{[10]uint32{0x01417a9e, 0x03f88199, 0x024a55ac, 0x01cdfb69, 0x025f19da, 0x02faef5a, 0x01e62437, 0x0055ed05, 0x0382f909, 0x001bad85}}, Y: Field{[10]uint32{0x00577b72, 0x013bfffa, 0x00c3904c, 0x03b8a43b, 0x02af03ed, 0x026710bd, 0x012f168f, 0x03cac5b2, 0x0146baed, 0x0013f9f1}}}, + {X: Field{[10]uint32{0x0376fa4b, 0x01c718a8, 0x01646e43, 0x01cf4530, 0x03cb6f95, 0x02338c77, 0x03830099, 0x013fb17b, 0x02f1466d, 0x00264b82}}, Y: Field{[10]uint32{0x01f9e825, 0x01a4354a, 0x01ae3871, 0x0398c75e, 0x0150d000, 0x002590d9, 0x001e3a90, 0x025acbac, 0x02691e43, 0x003438f6}}}, + {X: Field{[10]uint32{0x01721d11, 0x0210e0c1, 0x039c3010, 0x000e33d6, 0x00513e99, 0x00925a4d, 0x00f31d11, 0x0001e3c8, 0x024badc7, 0x003fb6d5}}, Y: Field{[10]uint32{0x00157a39, 0x01237bce, 0x00b2fa94, 0x021f5502, 0x02ba26ae, 0x015fc580, 0x015d97d6, 0x010833cb, 0x024957e8, 0x0006a38a}}}, + {X: Field{[10]uint32{0x033b24bd, 0x010c3401, 0x03575e54, 0x009989d2, 0x023e6832, 0x03109245, 0x007088d3, 0x02746049, 0x028a4dd8, 0x003cfc81}}, Y: Field{[10]uint32{0x03a2bfa8, 0x0069fdde, 0x00f0e75c, 0x017f87c7, 0x0312381c, 0x002a9f8c, 0x026ab1ee, 0x03d18850, 0x011900a7, 0x003caaaf}}}, + {X: Field{[10]uint32{0x00a13680, 0x00c1dc8f, 0x02e02b3d, 0x016364f6, 0x015b6aa4, 0x01daa160, 0x024e7c14, 0x028d6637, 0x025e4217, 0x000cae48}}, Y: Field{[10]uint32{0x02133802, 0x00d74396, 0x008a396f, 0x0051cce0, 0x03532462, 0x0341c7a5, 0x0185683d, 0x018d004a, 0x00042685, 0x001d19ba}}}, + {X: Field{[10]uint32{0x02e64a8a, 0x0266e7f6, 0x01c7fc62, 0x024fe893, 0x01ee6c6b, 0x03ad64be, 0x03899792, 0x035ac13f, 0x0287385e, 0x00214022}}, Y: Field{[10]uint32{0x0104a2df, 0x01b8a129, 0x023622ae, 0x023e8943, 0x0284b5b3, 0x0020961d, 0x01569f6c, 0x0015dbee, 0x022b8a5b, 0x0007c9e7}}}, + {X: Field{[10]uint32{0x002effd4, 0x0114bdaa, 0x030e9e44, 0x01883c04, 0x010b8353, 0x03f126ff, 0x00edac7c, 0x02ac2fb2, 0x0033ebbe, 0x00136b1e}}, Y: Field{[10]uint32{0x023c740a, 0x03426a80, 0x001f00cc, 0x02d76e3b, 0x01133dc3, 0x02d08df7, 0x014ada57, 0x02a9a184, 0x0170f230, 0x003f2746}}}, + {X: Field{[10]uint32{0x016dbeeb, 0x03cc40b5, 0x03d71031, 0x010406e4, 0x034b44de, 0x014d77d6, 0x0340226e, 0x01755066, 0x008145a6, 0x0026dd56}}, Y: Field{[10]uint32{0x0089a02d, 0x03674478, 0x00e1fa1e, 0x0185679f, 0x01c15160, 0x036ee8ed, 0x03382907, 0x00dedf26, 0x01710d69, 0x00340c90}}}, + {X: Field{[10]uint32{0x03bc8bdd, 0x00fb66b2, 0x004bdb58, 0x03291877, 0x0198b525, 0x02d9176d, 0x02e6e8b1, 0x029f5e99, 0x02b92592, 0x0006f5b3}}, Y: Field{[10]uint32{0x0229944c, 0x0242b126, 0x01e4e7b7, 0x03955473, 0x015a1c4c, 0x0296dc15, 0x037abb10, 0x022fa922, 0x028784a9, 0x00269677}}}, + {X: Field{[10]uint32{0x015b56ee, 0x03d4d56f, 0x00637268, 0x01f62d11, 0x016b3a3c, 0x03f9e1ba, 0x025b08a7, 0x00250594, 0x02b93b36, 0x00096a2c}}, Y: Field{[10]uint32{0x025f22ec, 0x0393a2e5, 0x0240ac45, 0x02bb7dc6, 0x0045f131, 0x03b1b154, 0x01027e63, 0x01a1ff6f, 0x00f75734, 0x000f1633}}}, + {X: Field{[10]uint32{0x03ed9f5f, 0x02c87945, 0x003c0d88, 0x02aa3695, 0x02bf5a1c, 0x0148975a, 0x01a57671, 0x00fbec88, 0x003327c3, 0x000912ca}}, Y: Field{[10]uint32{0x01f53d7d, 0x027c2ff0, 0x000dbc22, 0x0398110e, 0x0237f83c, 0x00a7d404, 0x02cec92a, 0x02254d6b, 0x02ace48d, 0x0008800d}}}, + {X: Field{[10]uint32{0x025dd1b7, 0x01928d4c, 0x01e64e97, 0x00775ab0, 0x0291f0cc, 0x0159a5e3, 0x0042d13e, 0x01e415ad, 0x000f27b8, 0x001be5eb}}, Y: Field{[10]uint32{0x03433d32, 0x0034ffe7, 0x01c814dd, 0x01697cb6, 0x007e937f, 0x0246ce28, 0x02ce1cc6, 0x031c1c89, 0x030cfac6, 0x0020f1b9}}}, + {X: Field{[10]uint32{0x021dce1f, 0x03120055, 0x02badc94, 0x0352c88d, 0x012d6abc, 0x01153c98, 0x00265cad, 0x0138b6ea, 0x020feb01, 0x001cb175}}, Y: Field{[10]uint32{0x03978fe2, 0x02d03698, 0x00bf0690, 0x02db491b, 0x0397b281, 0x03174eb2, 0x03282163, 0x00658ece, 0x02197ef9, 0x0038c466}}}, + {X: Field{[10]uint32{0x01f33825, 0x0367b435, 0x006ea707, 0x0252aba3, 0x002af32b, 0x0110686c, 0x018659df, 0x000619a6, 0x01a001b1, 0x002a5b4b}}, Y: Field{[10]uint32{0x02513f9f, 0x03a04202, 0x016906c0, 0x01c45aa4, 0x025659ea, 0x0230dc2a, 0x03cfd412, 0x0148d67d, 0x018305da, 0x0019835f}}}, + {X: Field{[10]uint32{0x03e3c4fa, 0x00537156, 0x00875173, 0x009e6431, 0x03d906aa, 0x01d8599d, 0x001d2008, 0x017b3066, 0x03634d81, 0x000b339b}}, Y: Field{[10]uint32{0x02ba4b50, 0x008cc8ef, 0x036e5d3c, 0x01d327b2, 0x01b33cb2, 0x03f4151d, 0x02f997a0, 0x027a446d, 0x00ddbd59, 0x00185484}}}, + {X: Field{[10]uint32{0x0245f0c4, 0x0226f5a9, 0x02f4660e, 0x03f1d628, 0x024558fa, 0x02e354ec, 0x00602d98, 0x034e6766, 0x0084525d, 0x00264ac0}}, Y: Field{[10]uint32{0x00e2f98d, 0x01935869, 0x02a572da, 0x0039657b, 0x02f5a5c7, 0x00508180, 0x005f40b1, 0x0168a631, 0x00d22654, 0x0020f2a6}}}, + {X: Field{[10]uint32{0x03eb7357, 0x03dd9ba6, 0x0388e44e, 0x027ad17a, 0x01c6b0c6, 0x03f52ddf, 0x0361ee43, 0x01867f31, 0x03453089, 0x0010d3be}}, Y: Field{[10]uint32{0x029291ea, 0x027bf08a, 0x01bd001e, 0x03220c2e, 0x0126967a, 0x00db02fa, 0x025586d2, 0x02e4b965, 0x016d01c0, 0x000f6ec3}}}, + {X: Field{[10]uint32{0x03fbc156, 0x037171f8, 0x02b884bd, 0x02271370, 0x00f0dbf5, 0x00fbf8c1, 0x02e47359, 0x00cc1828, 0x01ad2c68, 0x0002885e}}, Y: Field{[10]uint32{0x02033c1f, 0x001ebebd, 0x00b20192, 0x008c21b7, 0x0288a2d2, 0x036d8274, 0x00e6dfab, 0x0005da86, 0x01f8ab98, 0x003b914e}}}, + {X: Field{[10]uint32{0x0305a2e1, 0x00e41ebb, 0x00f146d6, 0x00a999c6, 0x02a445f2, 0x024887bd, 0x012bb400, 0x03851ea9, 0x001ed3e1, 0x000e4d02}}, Y: Field{[10]uint32{0x03b5b3c7, 0x02aca429, 0x0206214f, 0x03f9d4b1, 0x03d3a9fe, 0x03c7a566, 0x01e79d49, 0x006de882, 0x02563139, 0x002f0dc1}}}, + {X: Field{[10]uint32{0x0395d8ef, 0x022381f7, 0x013db396, 0x0388414a, 0x03f1f3f7, 0x03310957, 0x00383546, 0x02e4e401, 0x00e159a2, 0x000d6f09}}, Y: Field{[10]uint32{0x0223ae15, 0x03b42a24, 0x02dfa246, 0x034e2127, 0x00e87e0c, 0x0159c93e, 0x02beb5c0, 0x02636bde, 0x00700a96, 0x0037b87f}}}, + {X: Field{[10]uint32{0x0148127d, 0x0394962e, 0x01b48bc7, 0x0386f2b9, 0x0163aa14, 0x00176399, 0x012a0eef, 0x02d1ce15, 0x035c251f, 0x003d7479}}, Y: Field{[10]uint32{0x037170fe, 0x0084aa1b, 0x036fe92d, 0x03d02fde, 0x03e7d586, 0x00a614a2, 0x0009134d, 0x03c1623d, 0x01bc7044, 0x00389830}}}, + {X: Field{[10]uint32{0x03eb121c, 0x03687301, 0x00f54d12, 0x02cd80d4, 0x03f9617b, 0x02b2ddd0, 0x01170dd6, 0x00a0bc28, 0x02d36fed, 0x003b829d}}, Y: Field{[10]uint32{0x020ba5b1, 0x03debc50, 0x035166db, 0x01612d0a, 0x024e56c4, 0x03e78432, 0x02135eff, 0x02583c39, 0x02dbeba6, 0x003e33f0}}}, + {X: Field{[10]uint32{0x00a689d8, 0x01e43467, 0x01676f94, 0x03d85b69, 0x004d1879, 0x005dd345, 0x00ab377f, 0x01d99057, 0x03cf7892, 0x00278ee1}}, Y: Field{[10]uint32{0x02b3b577, 0x02a39b6e, 0x03482266, 0x025ad151, 0x027a9c2d, 0x006c7c9a, 0x033b0c2b, 0x028ab2c9, 0x0122da3c, 0x003e3cd1}}}, + {X: Field{[10]uint32{0x034868f0, 0x016cc43a, 0x0115286e, 0x031d3d89, 0x0012f409, 0x019ae2d4, 0x005b89ee, 0x010b00f2, 0x016fd089, 0x00389bc9}}, Y: Field{[10]uint32{0x02f210f9, 0x03a2fed5, 0x012f21bb, 0x00fcf13c, 0x033552c2, 0x00f26c49, 0x008c6562, 0x0127e9b4, 0x00d96fea, 0x002eacf1}}}, + {X: Field{[10]uint32{0x011da6c2, 0x01626000, 0x0021cf08, 0x014baa31, 0x01a3f5c8, 0x03c1eaf1, 0x00b67634, 0x020e6345, 0x0046a5d3, 0x0022b1d0}}, Y: Field{[10]uint32{0x0229b3dc, 0x0174c91c, 0x0288e149, 0x02543210, 0x024a71af, 0x00d500b0, 0x00f59160, 0x00c66215, 0x0393f56e, 0x00348329}}}, + {X: Field{[10]uint32{0x01932bd0, 0x01dea495, 0x03a83ac6, 0x02fecb20, 0x02753928, 0x03a074a7, 0x01531a86, 0x0253324f, 0x00956346, 0x0016c038}}, Y: Field{[10]uint32{0x00a99656, 0x00fbf598, 0x032d64bc, 0x00cdd200, 0x0242882b, 0x0003561f, 0x02daf180, 0x03123185, 0x027a8071, 0x00234bc9}}}, + {X: Field{[10]uint32{0x0211f0b1, 0x00d5fe27, 0x02a872c0, 0x026ad3a7, 0x01546ffb, 0x02ca9984, 0x01ae4ba7, 0x0175eeac, 0x00c4080c, 0x00058864}}, Y: Field{[10]uint32{0x02423525, 0x024c0c24, 0x019d8796, 0x00ba6317, 0x01bb8419, 0x00ef731b, 0x006d7a31, 0x022a7396, 0x01041244, 0x0036d788}}}, + {X: Field{[10]uint32{0x01b145b1, 0x0299db21, 0x0236cf26, 0x03726bfd, 0x03476774, 0x001805f6, 0x03f8520e, 0x020fa021, 0x0021b4b3, 0x003daa11}}, Y: Field{[10]uint32{0x0037a3b3, 0x01d2a010, 0x020a80ed, 0x0056fe23, 0x02937172, 0x03a3f87b, 0x03a2da82, 0x01c3b401, 0x01a95967, 0x0014131c}}}, + {X: Field{[10]uint32{0x032dd6e5, 0x01d66a64, 0x0013455a, 0x02795727, 0x0183e591, 0x0127e423, 0x038937da, 0x034f62cf, 0x0142f0b5, 0x0007c0b4}}, Y: Field{[10]uint32{0x01863e65, 0x0220b68e, 0x00348fb3, 0x017d22b8, 0x03fbc903, 0x036df27f, 0x02c2eae5, 0x01b7dd43, 0x03338ed3, 0x0039a972}}}, + {X: Field{[10]uint32{0x0178899f, 0x01889e07, 0x03a0434a, 0x03d44b5d, 0x0268e29b, 0x00d21295, 0x02e38c37, 0x0287fa8a, 0x016bc326, 0x00187d36}}, Y: Field{[10]uint32{0x03b4aab8, 0x00deb4b5, 0x02b38b3a, 0x012cdd79, 0x02217272, 0x00603097, 0x03970216, 0x016b1d93, 0x03386200, 0x001947bd}}}, + {X: Field{[10]uint32{0x01c11616, 0x005f2b8c, 0x019c19c9, 0x00ac6be8, 0x007c7ebe, 0x034a45b8, 0x008a71f8, 0x0179e602, 0x000d623c, 0x002e9f57}}, Y: Field{[10]uint32{0x015f5a51, 0x016c1f6f, 0x00958ce4, 0x039f99b2, 0x01a1ec37, 0x03ecd565, 0x02551530, 0x00fdb1e1, 0x03400d7e, 0x00369027}}}, + {X: Field{[10]uint32{0x025bdb09, 0x01be7464, 0x003c3bb1, 0x029a6af1, 0x01fe5a92, 0x036f0f86, 0x02a68ee6, 0x025df1b9, 0x0190eacb, 0x0022e429}}, Y: Field{[10]uint32{0x035df718, 0x00d4603e, 0x039a92a0, 0x01d760a6, 0x024d01ef, 0x01d1a9d4, 0x02734e1f, 0x0175642b, 0x0342ef65, 0x002973d7}}}, + {X: Field{[10]uint32{0x03f4fe4c, 0x03a6ab37, 0x025b71c9, 0x03ffd56c, 0x01f0d994, 0x02d6b85c, 0x00294a3c, 0x0133f73a, 0x02272191, 0x0021fcd4}}, Y: Field{[10]uint32{0x00babb2f, 0x00930a19, 0x03552dda, 0x00fc88a8, 0x01f26b28, 0x026a44cd, 0x027c1efb, 0x031787ab, 0x01af530b, 0x00331c74}}}, + {X: Field{[10]uint32{0x0377a15d, 0x03bb92b2, 0x0358b6c1, 0x027c61fb, 0x0383d550, 0x014c3c7c, 0x00ffe8a5, 0x014566fc, 0x0136ba40, 0x002bba93}}, Y: Field{[10]uint32{0x00d3ac1a, 0x01581e98, 0x033f78d5, 0x01f738da, 0x0196958f, 0x022aa8a3, 0x03031c24, 0x00f7e1f4, 0x01eae740, 0x0036d58f}}}, + {X: Field{[10]uint32{0x03cc7111, 0x00e2966b, 0x02db62a3, 0x00d95dd3, 0x00d8dda4, 0x02016353, 0x006f1ef0, 0x03ae755f, 0x018d3996, 0x000c03fa}}, Y: Field{[10]uint32{0x00c40e77, 0x01962c8e, 0x025e3a49, 0x009b49c8, 0x01d2e6e2, 0x010eddbf, 0x037913c1, 0x029033e4, 0x00178fdd, 0x00345228}}}, + {X: Field{[10]uint32{0x01c19fdb, 0x0017d0a6, 0x0073aa50, 0x006ddb53, 0x03d01e9c, 0x019d0f93, 0x01095a1f, 0x0051ba0e, 0x035e22cd, 0x0031c02b}}, Y: Field{[10]uint32{0x014b32c0, 0x0151aa86, 0x011d28b5, 0x024b0b54, 0x010d4a30, 0x02dba95a, 0x02b1fc6b, 0x00709c9e, 0x0181b1f0, 0x000ff800}}}, + {X: Field{[10]uint32{0x0350bc60, 0x030dd233, 0x034a5941, 0x01d7e5ae, 0x0194228f, 0x0211214e, 0x02147af3, 0x0104e06a, 0x00e117b9, 0x00340f42}}, Y: Field{[10]uint32{0x0096e31d, 0x001c6cea, 0x000fa10e, 0x01dba451, 0x01f47dd0, 0x015076a3, 0x00bfbfdc, 0x02f314b8, 0x03fd2785, 0x0016c467}}}, + {X: Field{[10]uint32{0x022bd361, 0x017697f0, 0x03832b39, 0x00fb2533, 0x03ea9c98, 0x02be0697, 0x017fadb6, 0x0082e15b, 0x00fa17a5, 0x001b19c4}}, Y: Field{[10]uint32{0x02804941, 0x028e4f3c, 0x00ad64fb, 0x002097b5, 0x01b036a4, 0x00225ec1, 0x01964f3c, 0x0207a906, 0x012636e2, 0x0036d3bf}}}, + {X: Field{[10]uint32{0x03d91bbb, 0x03cfef68, 0x021d9b46, 0x03a653e1, 0x025ea3bf, 0x00229766, 0x02cb900d, 0x01e859ad, 0x02399df4, 0x0035ed70}}, Y: Field{[10]uint32{0x00efe8ba, 0x03565f59, 0x03710cff, 0x0194a702, 0x03a3c8a0, 0x0253ff87, 0x003494d7, 0x03097a72, 0x034e4ab1, 0x003b5e47}}}, + {X: Field{[10]uint32{0x00f66c06, 0x02a7a394, 0x029524ab, 0x008c8d06, 0x0253ff2f, 0x03aaa8fb, 0x01eb8dcc, 0x02054b8b, 0x01ab8f72, 0x00243da6}}, Y: Field{[10]uint32{0x02fce91d, 0x0320b27f, 0x0008e641, 0x0339b98f, 0x00561558, 0x00da487e, 0x006d80ec, 0x004aee75, 0x03a77f53, 0x0022f430}}}, + {X: Field{[10]uint32{0x01fb65cc, 0x02b9c6a3, 0x0344abb9, 0x0338ada1, 0x0137557d, 0x0285bd5a, 0x01eaead6, 0x0370d324, 0x023e3d7a, 0x001343ab}}, Y: Field{[10]uint32{0x03a3de5a, 0x01b8bc87, 0x02a5352c, 0x02641425, 0x026e874c, 0x010aa94b, 0x019a6851, 0x021cc6ea, 0x0006a950, 0x00205ac2}}}, + {X: Field{[10]uint32{0x02f7de62, 0x023df26c, 0x031d0243, 0x0266381a, 0x01689a23, 0x00c54617, 0x034f8153, 0x0212637e, 0x02ddec31, 0x0011b367}}, Y: Field{[10]uint32{0x021f29bc, 0x0211be95, 0x0100810a, 0x01a0491f, 0x03e0d5d1, 0x0204ce22, 0x0164a8bb, 0x01e1d232, 0x01a3d5fd, 0x000ed6f0}}}, + {X: Field{[10]uint32{0x02ff730b, 0x013ae0c0, 0x000aebce, 0x03f88696, 0x00653748, 0x01154b90, 0x0176297b, 0x02aadc71, 0x000e3f6e, 0x00012ab2}}, Y: Field{[10]uint32{0x008c7954, 0x00d4e61b, 0x020509e4, 0x02a53c77, 0x0240d331, 0x02b1a811, 0x03e2dd5b, 0x03d1aa03, 0x000d8014, 0x000f50a8}}}, + {X: Field{[10]uint32{0x002a4114, 0x01a06956, 0x006374bb, 0x03d8bb2f, 0x02e03e96, 0x006664de, 0x01e45730, 0x0270244c, 0x0261b73d, 0x00166fa9}}, Y: Field{[10]uint32{0x01afa47d, 0x038f4b2c, 0x035c130b, 0x026af576, 0x00d9f263, 0x03a24541, 0x01062e78, 0x00b0ba07, 0x03e8ee8a, 0x000c6882}}}, + {X: Field{[10]uint32{0x00ca6037, 0x024d59e4, 0x003385e2, 0x02929387, 0x029ee089, 0x03b1e937, 0x019acd3f, 0x03ba48ac, 0x006588b2, 0x0001ffa4}}, Y: Field{[10]uint32{0x01e5c128, 0x03a4da4d, 0x032a7c69, 0x018f9fb1, 0x002659b7, 0x001d8ffd, 0x01eb3262, 0x00fbac7d, 0x0190c5f4, 0x0037ed17}}}, + {X: Field{[10]uint32{0x01322157, 0x03254625, 0x0262f19d, 0x011fcb20, 0x01f3a5fc, 0x03e3cbf4, 0x00b5e4ac, 0x01e225e1, 0x03913227, 0x0036ce43}}, Y: Field{[10]uint32{0x0290bbad, 0x01872b35, 0x02dc8d5d, 0x0302b7a0, 0x012aaeb5, 0x0298f6c6, 0x00fd7d4d, 0x020c7c25, 0x015b241c, 0x0010d925}}}, + {X: Field{[10]uint32{0x0391ebc8, 0x017501dc, 0x03c29e6e, 0x02980714, 0x00985732, 0x02ba3de3, 0x02a9e615, 0x0066b1f6, 0x0266e5fc, 0x000d3740}}, Y: Field{[10]uint32{0x01dd797b, 0x007a87f1, 0x02ddb661, 0x01ad148c, 0x0077a5db, 0x030ad22f, 0x0013b1d2, 0x03f80398, 0x02d80e73, 0x0030b5ad}}}, + {X: Field{[10]uint32{0x011772ab, 0x038f7c67, 0x004db336, 0x0314ca3e, 0x015e6c7e, 0x01b8bbe5, 0x01fcfbe1, 0x0182374f, 0x032b7e31, 0x003ba9fd}}, Y: Field{[10]uint32{0x014004bb, 0x0034c354, 0x029b88af, 0x015831af, 0x03172195, 0x00e6a9d1, 0x02a6d947, 0x02930d23, 0x00f1ccde, 0x002598b2}}}, + {X: Field{[10]uint32{0x00c391f2, 0x00f9e8e2, 0x007fc10d, 0x0190db64, 0x019376d2, 0x03a1584a, 0x01e412dd, 0x003ace4f, 0x007af1b1, 0x0031abc2}}, Y: Field{[10]uint32{0x00825144, 0x02d2b9d4, 0x00959eee, 0x0090b185, 0x01e5ff98, 0x033faae9, 0x018847a9, 0x01915e2b, 0x022e3185, 0x002ea675}}}, + {X: Field{[10]uint32{0x02ccefc7, 0x0132667f, 0x01518136, 0x02fd434d, 0x02aff37f, 0x032d0fd6, 0x033d034b, 0x015d02ad, 0x03356c71, 0x003ab8d1}}, Y: Field{[10]uint32{0x02fe4703, 0x03998e64, 0x01a9879f, 0x01b6d87f, 0x03968525, 0x02513dd2, 0x02f15d84, 0x03d91735, 0x0075da8b, 0x002e4e1b}}}, + {X: Field{[10]uint32{0x0340438f, 0x0093fdfe, 0x0046165c, 0x038c0764, 0x0241b68a, 0x01392589, 0x039a27e6, 0x023d5013, 0x00250f4d, 0x00129523}}, Y: Field{[10]uint32{0x016f6d10, 0x014bca06, 0x01578382, 0x00570a83, 0x014c2742, 0x038a698f, 0x01e40c67, 0x0233dbbd, 0x0085bd60, 0x002ba7cb}}}, + {X: Field{[10]uint32{0x00f744af, 0x02bcac3b, 0x01a53f43, 0x03678603, 0x03453318, 0x032cf02f, 0x019743d7, 0x0116a3a8, 0x0279dd65, 0x00186495}}, Y: Field{[10]uint32{0x03cb184d, 0x002913ca, 0x011a1726, 0x0075138f, 0x0347fc55, 0x00f92a87, 0x02c062ca, 0x014dcba7, 0x0184d721, 0x00281a0b}}}, + {X: Field{[10]uint32{0x0137ea2a, 0x03c05424, 0x004fe025, 0x02e14bfc, 0x0250267a, 0x01097bd8, 0x03a260d2, 0x02addb53, 0x02869574, 0x003876d7}}, Y: Field{[10]uint32{0x011905a8, 0x010f2054, 0x0277483f, 0x012fed25, 0x00836e20, 0x00318494, 0x01a99a1d, 0x03de8db0, 0x00219fd5, 0x00323abd}}}, + {X: Field{[10]uint32{0x0248c7f1, 0x027498f4, 0x004a7d2f, 0x02473f08, 0x0038e636, 0x007f613c, 0x00ab862a, 0x00e108a8, 0x03ca7392, 0x000c18b2}}, Y: Field{[10]uint32{0x019670cb, 0x03011ff7, 0x02b2cf55, 0x03c7327f, 0x00721a85, 0x038610c4, 0x0289eee1, 0x00a5c373, 0x02570e3f, 0x0023c44b}}}, + {X: Field{[10]uint32{0x01a4f739, 0x00500113, 0x00f4e4e8, 0x03ca5dd9, 0x039da74f, 0x02d4fe54, 0x007a861e, 0x00dbf3bb, 0x03ccaa97, 0x0019f0e4}}, Y: Field{[10]uint32{0x01853203, 0x011f1352, 0x013942d1, 0x03551b1f, 0x0033ac24, 0x03566d49, 0x00009d5a, 0x017f88be, 0x01d09a16, 0x0024f4ca}}}, + {X: Field{[10]uint32{0x0099bf5e, 0x00c213fa, 0x03728f94, 0x02c43a2e, 0x01ac5bc5, 0x0160731f, 0x01a5619d, 0x00861fb9, 0x01f236cf, 0x00319d1c}}, Y: Field{[10]uint32{0x01e2c513, 0x039a1223, 0x00aea62f, 0x00dfeda1, 0x003a533f, 0x0132ef32, 0x03c32477, 0x00c63650, 0x009c787b, 0x001d7243}}}, + {X: Field{[10]uint32{0x00ed1b52, 0x01fa62b9, 0x03070182, 0x03301951, 0x0112143a, 0x0096aab1, 0x033d7a40, 0x02376484, 0x03efd593, 0x00354057}}, Y: Field{[10]uint32{0x00f03d6b, 0x01b0975f, 0x0379f400, 0x0182de63, 0x00e99668, 0x00761177, 0x037c0d65, 0x00dbc570, 0x0216a022, 0x00110c15}}}, + {X: Field{[10]uint32{0x0164f2d2, 0x024a73a0, 0x003b73c1, 0x002473d4, 0x02243ca3, 0x0000bb66, 0x008ed564, 0x0258572d, 0x0365aaa8, 0x002baf2f}}, Y: Field{[10]uint32{0x00b3f019, 0x01f4dff9, 0x01ee535e, 0x015554e6, 0x02a6ee7f, 0x027223a1, 0x020305ba, 0x03b8ad08, 0x025d1a30, 0x0013f07c}}}, + {X: Field{[10]uint32{0x03b30e43, 0x03c03ffa, 0x00d8105e, 0x002ed4dc, 0x01bb8f98, 0x00ca8e74, 0x02d68219, 0x037bbd26, 0x02171727, 0x000572c5}}, Y: Field{[10]uint32{0x000ebd7a, 0x039f4afe, 0x02d93b1f, 0x01ad243a, 0x012dfff8, 0x01cd2cd3, 0x035c1b99, 0x0014ffb8, 0x008287fc, 0x00192b63}}}, + {X: Field{[10]uint32{0x0049c123, 0x000c2013, 0x026986bd, 0x008c18f8, 0x0119fb25, 0x00948468, 0x03b88a55, 0x0359d026, 0x009e8530, 0x00350108}}, Y: Field{[10]uint32{0x00a7a128, 0x03318890, 0x032c562b, 0x02fa28d0, 0x0046ef87, 0x02d68c9f, 0x01062753, 0x017467a1, 0x0168fdb8, 0x000dd8ff}}}, + {X: Field{[10]uint32{0x03ffdd96, 0x03a4e066, 0x02a4ed42, 0x025fd08a, 0x00d40b44, 0x030c9eb1, 0x02330c2f, 0x00a12563, 0x00cf0c23, 0x003ceafe}}, Y: Field{[10]uint32{0x015b0d5d, 0x0083a69f, 0x02061cc7, 0x03b1f33c, 0x01d1dfe9, 0x035e9d88, 0x01076432, 0x00c9f0fa, 0x0305d831, 0x00142187}}}, + {X: Field{[10]uint32{0x00874dea, 0x01ffdbdf, 0x03b4e57b, 0x011b0f92, 0x035cf92b, 0x0146e748, 0x004755a6, 0x036fecfe, 0x00932ee9, 0x001e28ca}}, Y: Field{[10]uint32{0x02c85895, 0x005fdae6, 0x02473b46, 0x02ca4b06, 0x01b3c36e, 0x0257aadf, 0x02ccd874, 0x0087d1ba, 0x003a9667, 0x002496de}}}, + {X: Field{[10]uint32{0x0350cd4a, 0x000c8269, 0x01e8df65, 0x0390fb55, 0x011b7d15, 0x01eed9e3, 0x001ed91a, 0x01be286b, 0x010f5d14, 0x00205948}}, Y: Field{[10]uint32{0x015d260d, 0x02e161e4, 0x0363a384, 0x019a87b6, 0x03859541, 0x00e5b1c4, 0x0145875e, 0x00af732f, 0x013a19e2, 0x003f8e43}}}, + {X: Field{[10]uint32{0x01fe3f09, 0x03295fdf, 0x032f3633, 0x007f3c01, 0x00ba7343, 0x00fbe866, 0x0317dd6f, 0x00f4d337, 0x01e86c2f, 0x001d49a7}}, Y: Field{[10]uint32{0x004805bd, 0x03454f9c, 0x020b1f5e, 0x027c77c6, 0x00f463f3, 0x017ba214, 0x006e3dbd, 0x009fb111, 0x025fd199, 0x002c58a9}}}, + {X: Field{[10]uint32{0x027145b0, 0x01394490, 0x02b38954, 0x02dea405, 0x03c520a7, 0x013ecbfd, 0x01c4e104, 0x0252796e, 0x028fb393, 0x00178db3}}, Y: Field{[10]uint32{0x0011614c, 0x0269381e, 0x03a4e7d3, 0x0170320a, 0x0022074c, 0x0152baa4, 0x01822ced, 0x025a9076, 0x0318292f, 0x001f1039}}}, + {X: Field{[10]uint32{0x02632746, 0x0302dac5, 0x03d25b05, 0x0181db69, 0x01c249d3, 0x02b260f9, 0x0176edc6, 0x02ff1b01, 0x0129fdeb, 0x0032331c}}, Y: Field{[10]uint32{0x00716fb1, 0x01d35e13, 0x01e68e46, 0x02bf53dd, 0x022653fb, 0x014e7fae, 0x011a332c, 0x011261db, 0x00e3a77e, 0x00122a33}}}, + {X: Field{[10]uint32{0x0246973f, 0x0303053a, 0x021dd2d6, 0x022dce0e, 0x03fa8579, 0x038f772b, 0x024d2a9a, 0x00f9b4e4, 0x0336f1ee, 0x0027f876}}, Y: Field{[10]uint32{0x0074f6d2, 0x039db38b, 0x0223e7c2, 0x03b2facc, 0x0343dc55, 0x00084ad8, 0x02d96588, 0x01170257, 0x02a86070, 0x00074d6d}}}, + {X: Field{[10]uint32{0x008ecda2, 0x01c4fd6f, 0x024657c9, 0x036f49b4, 0x01e23648, 0x030d449e, 0x019e02dd, 0x01d239b8, 0x038a3d45, 0x00132a2a}}, Y: Field{[10]uint32{0x023e73da, 0x02a68e53, 0x005cf164, 0x0236ec83, 0x0113b8a6, 0x0021db25, 0x03c9f23c, 0x036e489c, 0x02ad9bb7, 0x00229619}}}, + {X: Field{[10]uint32{0x032060c0, 0x01dbd62d, 0x017b13d3, 0x00607604, 0x03f1f308, 0x006c78a7, 0x01bc7242, 0x0227b173, 0x0150e4a9, 0x00032340}}, Y: Field{[10]uint32{0x0082ebd1, 0x018cd954, 0x0271749e, 0x00cb2c9b, 0x027ac4a7, 0x002c800c, 0x0242a9df, 0x00e9286b, 0x00a4c5a7, 0x00171620}}}, + {X: Field{[10]uint32{0x02f2aa31, 0x03868304, 0x03feafc1, 0x0113c4c2, 0x039e3684, 0x02072620, 0x03e1b7c9, 0x03f79927, 0x017bb4b9, 0x000f5855}}, Y: Field{[10]uint32{0x025b56f9, 0x021e64b7, 0x0228671c, 0x0254c63a, 0x021e2336, 0x01ac70df, 0x0160c90e, 0x02102cea, 0x03ff62cd, 0x0024cc59}}}, + {X: Field{[10]uint32{0x00e69e2a, 0x02bc5a49, 0x00552ccf, 0x03b72d89, 0x03feaada, 0x0170fb47, 0x0078dbb8, 0x0328256d, 0x039ffd44, 0x0019d5a7}}, Y: Field{[10]uint32{0x03eb7fcc, 0x006c9b59, 0x00102feb, 0x037abc3f, 0x03d16619, 0x02b7ec92, 0x01412887, 0x02f4b2aa, 0x0148230f, 0x0018aeca}}}, + {X: Field{[10]uint32{0x0372fbc2, 0x02dd4f9c, 0x01af70f3, 0x0340f3c3, 0x006e3075, 0x0319b6aa, 0x037d2792, 0x0050043a, 0x013edebf, 0x0018c4f4}}, Y: Field{[10]uint32{0x03573ef3, 0x0389ab74, 0x039c2f65, 0x01d2fabf, 0x032839f8, 0x00f81b8b, 0x01754556, 0x0049161a, 0x023050eb, 0x00111884}}}, + {X: Field{[10]uint32{0x01d23968, 0x03f78913, 0x031955e2, 0x03c857c4, 0x03088529, 0x01f1b2ca, 0x023085b4, 0x01ba3343, 0x01e7fbbe, 0x001be3b2}}, Y: Field{[10]uint32{0x0136cd79, 0x0031dbfb, 0x0078dc51, 0x002a0c07, 0x0323e195, 0x0311bbba, 0x003b215d, 0x00febad5, 0x0214523b, 0x0007ed87}}}, + {X: Field{[10]uint32{0x010b7f6c, 0x0301519c, 0x022447be, 0x01638380, 0x0336f0ae, 0x020e6d30, 0x01a0ec2f, 0x0286b2f6, 0x01ac3c5a, 0x0015984f}}, Y: Field{[10]uint32{0x02ca79e8, 0x01ceaa63, 0x0316cf7b, 0x02f775fd, 0x03530908, 0x010d2be2, 0x03233194, 0x0263e40e, 0x03ab86c3, 0x00091c98}}}, + {X: Field{[10]uint32{0x03aee08c, 0x02cf0861, 0x01da041e, 0x02c1a167, 0x0217e91a, 0x0169f775, 0x03e6e57c, 0x01c8644d, 0x01e7b414, 0x00327785}}, Y: Field{[10]uint32{0x038b0009, 0x03eff10f, 0x0370fd8f, 0x02c7d792, 0x0040cc5d, 0x00556473, 0x0111c877, 0x015b437f, 0x02a5cfa0, 0x0031c5e3}}}, + {X: Field{[10]uint32{0x016c0504, 0x01aeff7d, 0x01c48a8b, 0x00b74b77, 0x02f90618, 0x02f9925e, 0x02a4b0f6, 0x017a4390, 0x024a627d, 0x0001d642}}, Y: Field{[10]uint32{0x02c38587, 0x00f38aa9, 0x029f81f9, 0x01d4d4ed, 0x00cc5bd8, 0x02a9192f, 0x017e878b, 0x021d8172, 0x021ab549, 0x00358478}}}, + {X: Field{[10]uint32{0x03e19d6a, 0x025e421f, 0x0173b760, 0x0176fcf2, 0x021fcc55, 0x0076ccd8, 0x00dff728, 0x03815b6c, 0x020fb310, 0x00252c76}}, Y: Field{[10]uint32{0x014fc217, 0x021b78ff, 0x01159852, 0x02723cbf, 0x0045c42e, 0x0392e54f, 0x03a2ab4a, 0x0069580c, 0x013dd5b4, 0x0020c622}}}, + {X: Field{[10]uint32{0x00c9a6cb, 0x039b54a1, 0x011a5f20, 0x0084e385, 0x02d6f8f8, 0x02bb0b3e, 0x007d081d, 0x033bc438, 0x0299bcda, 0x002d6bd0}}, Y: Field{[10]uint32{0x0395448d, 0x0091e6ea, 0x00b2043b, 0x03f42bb7, 0x01c8cf65, 0x004df702, 0x032987eb, 0x02e0b7d5, 0x00078a7d, 0x00302611}}}, + {X: Field{[10]uint32{0x0139c3e3, 0x01da11da, 0x03b0c3c4, 0x01066226, 0x03f8ef61, 0x021460a6, 0x000a153c, 0x01161ce6, 0x01437074, 0x0017d26b}}, Y: Field{[10]uint32{0x007e04eb, 0x0346001d, 0x020f7d01, 0x0251172b, 0x022ae25c, 0x0103f092, 0x0208ae1b, 0x01b0f42e, 0x038520f5, 0x00171034}}}, + {X: Field{[10]uint32{0x007da385, 0x0386e792, 0x01c645cd, 0x02fc9bb2, 0x0216bea3, 0x01a24e50, 0x0230d1ae, 0x03047193, 0x027f88cc, 0x003daec1}}, Y: Field{[10]uint32{0x00288f55, 0x03b5c85e, 0x004fead4, 0x0367cafd, 0x0328dbfd, 0x037792a0, 0x01d4ec8a, 0x025e3362, 0x036d7268, 0x000c5691}}}, + {X: Field{[10]uint32{0x01df6950, 0x03b4affe, 0x03f10bee, 0x0124112c, 0x0152690b, 0x03000115, 0x01aea0ee, 0x00678253, 0x02dec02b, 0x001ed1f3}}, Y: Field{[10]uint32{0x00efe9a6, 0x03b64ef8, 0x01330280, 0x03603084, 0x0353b7cc, 0x015e462b, 0x03ac5a79, 0x037b25ba, 0x01f49bee, 0x0006f369}}}, + {X: Field{[10]uint32{0x0140876d, 0x03f59826, 0x01035a78, 0x0087000a, 0x01182236, 0x035c3d4b, 0x025e1ab2, 0x015b67ad, 0x03f3082d, 0x002e9a75}}, Y: Field{[10]uint32{0x035d393d, 0x01b447e5, 0x02c7684b, 0x00d6b86b, 0x001d1cf9, 0x003b894e, 0x036bdb95, 0x00a2703c, 0x02fd56d5, 0x0017d128}}}, + {X: Field{[10]uint32{0x03d929ff, 0x037f6e5e, 0x0347d1d3, 0x017e5d0c, 0x01fe7ec3, 0x00cc2e8e, 0x03713bf0, 0x03065488, 0x0094d226, 0x0028edc2}}, Y: Field{[10]uint32{0x02ae6135, 0x03013355, 0x00aa593c, 0x00b082ec, 0x01495edf, 0x02ace51e, 0x01ad2e10, 0x016a80d5, 0x03df4275, 0x00017432}}}, + {X: Field{[10]uint32{0x01c804e5, 0x0368df74, 0x0384f0e8, 0x02cd1233, 0x025ae602, 0x003aceff, 0x03e73b52, 0x0207f647, 0x023ebb2d, 0x0031d5b8}}, Y: Field{[10]uint32{0x00df49ff, 0x0044840d, 0x035f8985, 0x02a753ec, 0x025a4fab, 0x02192a60, 0x01f52b29, 0x01ae6f2a, 0x02faedf8, 0x00227d2d}}}, + {X: Field{[10]uint32{0x0271822c, 0x00bba10d, 0x02a00d17, 0x0271b37e, 0x0065410e, 0x030e4127, 0x011c2341, 0x0252afde, 0x00356fab, 0x000d8c9f}}, Y: Field{[10]uint32{0x03ed4c6d, 0x034187f4, 0x0127abe7, 0x00c63096, 0x01eb7456, 0x0253dc0e, 0x0201f04e, 0x0234d7c3, 0x00a4698c, 0x003f8d62}}}, + {X: Field{[10]uint32{0x03dd21bb, 0x0278418d, 0x00c32118, 0x02c61d2c, 0x00b66051, 0x017acabd, 0x02ecf6fc, 0x008c47d1, 0x03be8e37, 0x000edd6f}}, Y: Field{[10]uint32{0x02879908, 0x002a8a56, 0x03c2aea5, 0x02575f46, 0x022e42a0, 0x01e502d3, 0x015e2488, 0x00ce6916, 0x0233e3c3, 0x002e4512}}}, + {X: Field{[10]uint32{0x00d3c5e2, 0x029fdd7c, 0x017b4d92, 0x02f4de6a, 0x035f0272, 0x03e3d11d, 0x015ed721, 0x03a22831, 0x031057b4, 0x00112987}}, Y: Field{[10]uint32{0x02d80141, 0x03785120, 0x00086111, 0x0019b705, 0x02181623, 0x016de4e4, 0x016ec1f0, 0x0011925c, 0x02658034, 0x003a1c3a}}}, + {X: Field{[10]uint32{0x0097fefd, 0x026889c0, 0x00acb74c, 0x039b28a5, 0x011ebed2, 0x03a481bb, 0x00c6fe5c, 0x00f02809, 0x02f70066, 0x00046b80}}, Y: Field{[10]uint32{0x03d6a36f, 0x01f4a337, 0x0024bd69, 0x019a5039, 0x01a4e357, 0x01c108b3, 0x008737ae, 0x03ecc140, 0x0387a262, 0x0018d686}}}, + {X: Field{[10]uint32{0x02142f5c, 0x0021728f, 0x01981069, 0x03c84175, 0x008e987a, 0x02cc6cdf, 0x02ab1b0a, 0x017450b9, 0x010adfb2, 0x0031d44c}}, Y: Field{[10]uint32{0x02821014, 0x0250eebb, 0x018864df, 0x00752f30, 0x02ccca85, 0x039a1716, 0x00485a4b, 0x005ea7c4, 0x01d8ed27, 0x002918c3}}}, + {X: Field{[10]uint32{0x03efe46a, 0x02f76dfb, 0x02f7f790, 0x00ac3856, 0x00a639b7, 0x03ac94db, 0x0357b173, 0x03ce7105, 0x03c64009, 0x003ffd35}}, Y: Field{[10]uint32{0x025080e5, 0x01d91433, 0x02dc6e89, 0x01af6b5f, 0x014c110d, 0x024a92ec, 0x030697a2, 0x008b4440, 0x018e0ffe, 0x001a529e}}}, + {X: Field{[10]uint32{0x03f90534, 0x03233a70, 0x00d18c06, 0x0068c495, 0x0300932b, 0x03350dc1, 0x031e8bc1, 0x027d1ba4, 0x0239c13c, 0x001f5dba}}, Y: Field{[10]uint32{0x03e415bb, 0x00727fa2, 0x026d4d2a, 0x022ce696, 0x024cee43, 0x01163245, 0x007cf7c3, 0x00f63cd3, 0x02ba8f0a, 0x002f052c}}}, + {X: Field{[10]uint32{0x0207ad39, 0x00c3a557, 0x037e8a67, 0x017a097d, 0x01625fda, 0x00c2aaab, 0x00807075, 0x0393cdbc, 0x02d2ca6a, 0x002dbbf2}}, Y: Field{[10]uint32{0x01b1c765, 0x00864e6f, 0x005f00a4, 0x00687d90, 0x02469430, 0x00fa9ab5, 0x036f4a32, 0x034c9c0f, 0x00ef8a56, 0x00121a36}}}, + {X: Field{[10]uint32{0x0233a32e, 0x032a9b8d, 0x02b4ae30, 0x02ab034a, 0x0348e38f, 0x01d501b4, 0x03f9050e, 0x03129b4d, 0x012aa889, 0x0006812c}}, Y: Field{[10]uint32{0x0075911d, 0x01baf237, 0x02966c24, 0x0005ebe1, 0x0221e1c8, 0x039fa827, 0x0017dca3, 0x023641b2, 0x008ffad3, 0x003d0e83}}}, + {X: Field{[10]uint32{0x03209b7e, 0x02ab5460, 0x02a6c531, 0x00016935, 0x03b70e25, 0x0323b777, 0x0078b126, 0x0146413a, 0x00fe9b34, 0x002b6bac}}, Y: Field{[10]uint32{0x037522ad, 0x032c0e74, 0x03173f33, 0x03bf19e4, 0x02b1c59d, 0x02639bb7, 0x00c6b4e1, 0x00a69c23, 0x016ddd4d, 0x000ac9ac}}}, + {X: Field{[10]uint32{0x006e0679, 0x013ae20b, 0x010d19a9, 0x00961183, 0x00d97fa1, 0x0358c9d9, 0x012121d2, 0x03cff2d4, 0x02023931, 0x00013932}}, Y: Field{[10]uint32{0x00537467, 0x0208b461, 0x00348515, 0x005fc965, 0x02cc917b, 0x00a3accc, 0x00c68609, 0x029b2515, 0x02cd3704, 0x003be43b}}}, + {X: Field{[10]uint32{0x011e2971, 0x030821f0, 0x02a220a7, 0x02b2b700, 0x035654ec, 0x00e7d80e, 0x01b5ee41, 0x0304e9c4, 0x0279df69, 0x00287cf0}}, Y: Field{[10]uint32{0x02a16b2d, 0x0148eb6d, 0x023b2252, 0x035ea2a4, 0x02e8aafa, 0x03bf88c9, 0x03699165, 0x01e375fb, 0x039454cb, 0x0015c925}}}, + {X: Field{[10]uint32{0x0398c7a5, 0x004f8339, 0x003c4f4b, 0x0321a9a4, 0x03c19424, 0x03259d7f, 0x030c911b, 0x01a39bd2, 0x03814886, 0x002ab1db}}, Y: Field{[10]uint32{0x00dd2978, 0x029cb461, 0x03189588, 0x00dbac9d, 0x02c37595, 0x00d826f0, 0x011df3f7, 0x01f5b04e, 0x02dfdd6c, 0x00092b85}}}, + {X: Field{[10]uint32{0x00034769, 0x036dc074, 0x030a2a5b, 0x025a8578, 0x010ddce4, 0x012639b2, 0x03601666, 0x008bc378, 0x0171e596, 0x001c3a50}}, Y: Field{[10]uint32{0x0103b757, 0x0113c684, 0x0257d5e2, 0x02ef3d1a, 0x02446111, 0x00803e4a, 0x004d4e80, 0x032fbcae, 0x00a775a9, 0x0035b5f0}}}, + {X: Field{[10]uint32{0x02c78890, 0x023825a3, 0x002b6f28, 0x01ad6e0a, 0x03342670, 0x01aac711, 0x02fa849c, 0x01124925, 0x01e711d4, 0x003285f9}}, Y: Field{[10]uint32{0x03ce2c2e, 0x00bcfa22, 0x034105e3, 0x03b938a0, 0x00e6c58f, 0x005f4cb3, 0x039f501e, 0x01dee376, 0x02322ce5, 0x002cf775}}}, + {X: Field{[10]uint32{0x03aa62e8, 0x018c928b, 0x025717ec, 0x0006357f, 0x00255ec0, 0x0290eae7, 0x000700f3, 0x03f7a1ab, 0x018d8d70, 0x000685a9}}, Y: Field{[10]uint32{0x02710c27, 0x003ac746, 0x017e116c, 0x03cde8e2, 0x00dc2eb6, 0x015f074c, 0x03bc1372, 0x03c28f75, 0x02ba65af, 0x003cb2cb}}}, + {X: Field{[10]uint32{0x00b9d4f2, 0x02438ca5, 0x0301e981, 0x01eb8f97, 0x012dd335, 0x02acab04, 0x01c6bbf5, 0x037c430a, 0x02650b4d, 0x0023cb77}}, Y: Field{[10]uint32{0x034c6afb, 0x024ff937, 0x01f5d804, 0x016f4c9e, 0x0179df33, 0x01647df3, 0x02954bd8, 0x00db5413, 0x00f7e5a7, 0x00381ae3}}}, + {X: Field{[10]uint32{0x00950162, 0x0376a401, 0x018c5a3a, 0x0215b223, 0x00ba1d72, 0x0336cd59, 0x014562e0, 0x00f9f203, 0x0153f821, 0x000cc52d}}, Y: Field{[10]uint32{0x0043532d, 0x02a87e7f, 0x00c24fc4, 0x018804eb, 0x02b4dab4, 0x00f2b547, 0x00a7434e, 0x031543e5, 0x005ee3f7, 0x000cfa0f}}}, + {X: Field{[10]uint32{0x01304000, 0x00f16e89, 0x026062af, 0x0153b8ad, 0x03fa5895, 0x01229f30, 0x01b11a33, 0x0030bff1, 0x02f465ac, 0x001f041f}}, Y: Field{[10]uint32{0x035702c5, 0x0398fba5, 0x0124b508, 0x01e708fc, 0x0289b5a9, 0x015b4d97, 0x027fe78e, 0x001c1741, 0x03122e8a, 0x001ad6f3}}}, + {X: Field{[10]uint32{0x03e4f8b3, 0x01a95296, 0x00cb97b7, 0x0014dac8, 0x0019be46, 0x01565b42, 0x01e257ee, 0x037d9d44, 0x0029325a, 0x003a462a}}, Y: Field{[10]uint32{0x032fa8ae, 0x032481f3, 0x00ebfa9d, 0x03bc0ffc, 0x01b70af0, 0x00846705, 0x03a8f0d1, 0x014b0f86, 0x00a0b461, 0x0006a4bc}}}, + {X: Field{[10]uint32{0x01b9b079, 0x032533d0, 0x015d1e3f, 0x01f4b3a8, 0x01c346c9, 0x038c2720, 0x02dd2e3b, 0x0292e7a4, 0x0203d4f3, 0x0021dc36}}, Y: Field{[10]uint32{0x03123c03, 0x03a10b6a, 0x0005a10c, 0x01847ed4, 0x0053f964, 0x013d5feb, 0x01372fe6, 0x00f55c63, 0x030fdc63, 0x00340950}}}, + {X: Field{[10]uint32{0x00d8b22b, 0x012ab56b, 0x03ea1731, 0x01c318a0, 0x01a6589f, 0x02ef00e7, 0x026a57f6, 0x00955ec4, 0x013fae2b, 0x0031ad2b}}, Y: Field{[10]uint32{0x00d29bfe, 0x006bfeb6, 0x036fb46e, 0x023b3cf1, 0x0385f288, 0x01270e37, 0x01f278de, 0x00d048d7, 0x01cd2c1c, 0x003a148f}}}, + {X: Field{[10]uint32{0x03a86e14, 0x0232dc0d, 0x039689c8, 0x006c786a, 0x01462274, 0x03e1c586, 0x03b1e91f, 0x03e610dc, 0x01486ffb, 0x0026b3b6}}, Y: Field{[10]uint32{0x00b352d9, 0x01fd6482, 0x012cde8e, 0x03b29aa1, 0x0316e1e7, 0x02527074, 0x003cc321, 0x00c77ffd, 0x031f1b4c, 0x0035e9fa}}}, + {X: Field{[10]uint32{0x039007f3, 0x0153d7c6, 0x0322b87c, 0x015780e2, 0x01b08bf0, 0x03a2b29a, 0x034015b1, 0x036ad313, 0x036ffccb, 0x002bd454}}, Y: Field{[10]uint32{0x03130f7b, 0x03e12791, 0x027ef00c, 0x02ddc0e8, 0x00cbe813, 0x02ec74c2, 0x03fa85ba, 0x01fb3d27, 0x034c95c0, 0x002daec2}}}, + {X: Field{[10]uint32{0x01823ce2, 0x00bb94c4, 0x00c3e5bb, 0x03e8608e, 0x0156e02f, 0x01707249, 0x0045a092, 0x02aed5bf, 0x02df3ea0, 0x003b14c1}}, Y: Field{[10]uint32{0x01ee8b99, 0x004a100b, 0x009f6898, 0x02ff6507, 0x009457f4, 0x00f242f6, 0x00653524, 0x0197d060, 0x01b6720f, 0x00325433}}}, + {X: Field{[10]uint32{0x032d90a0, 0x0366ebb9, 0x00d876c5, 0x02320779, 0x03587f46, 0x024590d8, 0x0397ecd5, 0x01ef1868, 0x00a5be12, 0x000a4ec7}}, Y: Field{[10]uint32{0x0235d821, 0x01bdd36e, 0x0261bae2, 0x0090f463, 0x010443a5, 0x01d9218f, 0x03d81d91, 0x027c17a4, 0x030f238e, 0x00120840}}}, + {X: Field{[10]uint32{0x00865488, 0x007d21ad, 0x003c1256, 0x01088bbe, 0x00168771, 0x01a2ff04, 0x0151f0ee, 0x01aadaca, 0x037d9987, 0x003af952}}, Y: Field{[10]uint32{0x01381c07, 0x01bbae1b, 0x03c47924, 0x02835206, 0x0158d84f, 0x02090bd4, 0x0299d91b, 0x0200bfe9, 0x011ccaf8, 0x000a8759}}}, + {X: Field{[10]uint32{0x0064acdc, 0x03671a4d, 0x019dfd38, 0x00951174, 0x0133ac83, 0x00a74366, 0x0220109b, 0x035a6fb4, 0x01233ab0, 0x00223ddd}}, Y: Field{[10]uint32{0x03276702, 0x00a0b2f2, 0x00d5b79a, 0x01651670, 0x038e0590, 0x03b1afaf, 0x02a2cb1a, 0x017bd4c7, 0x0122fbd9, 0x0023e454}}}, + {X: Field{[10]uint32{0x02b3bb01, 0x005cd668, 0x0039fb81, 0x02e5ba51, 0x03c7fa40, 0x03afa5e5, 0x036cfa08, 0x00376276, 0x013de721, 0x0007611d}}, Y: Field{[10]uint32{0x01f41ad6, 0x029e187c, 0x0260dabf, 0x00ce7cd0, 0x012e889c, 0x01503121, 0x000b6d6f, 0x029361d1, 0x035aba53, 0x003dcd82}}}, + {X: Field{[10]uint32{0x011d4b2f, 0x033bed4c, 0x01e1c27f, 0x00f979d0, 0x0336f82a, 0x02ce2338, 0x01ae032c, 0x020b073c, 0x01f5176f, 0x000679a7}}, Y: Field{[10]uint32{0x03d5c143, 0x016ee9b2, 0x016e00b9, 0x02bd6ed2, 0x0309d9f7, 0x030745ec, 0x0175dc8c, 0x014efaf8, 0x00fec9ba, 0x0031007d}}}, + {X: Field{[10]uint32{0x02e3f2c9, 0x00d5332b, 0x0372953d, 0x01790ab7, 0x0119b04f, 0x01fca6a9, 0x01a93995, 0x0097ff7c, 0x0202c1f1, 0x001cc627}}, Y: Field{[10]uint32{0x0137f704, 0x00270069, 0x01424010, 0x00710407, 0x00d901de, 0x0390180e, 0x01d21b01, 0x01f3e188, 0x008f1c6e, 0x0014ae3a}}}, + {X: Field{[10]uint32{0x0087a74f, 0x0095ba4a, 0x0366901c, 0x02c296b9, 0x03278fd2, 0x01d1fc74, 0x038956cb, 0x02a2fd4b, 0x00828ff1, 0x00317af8}}, Y: Field{[10]uint32{0x01259860, 0x03c736f3, 0x033823ef, 0x0075b026, 0x02c506e5, 0x035cdad7, 0x0397dc92, 0x012e606a, 0x00b962e7, 0x00033963}}}, + {X: Field{[10]uint32{0x0182da76, 0x02815892, 0x01166435, 0x019f20ee, 0x011a7808, 0x02f220f5, 0x016feed3, 0x0038050a, 0x0221f799, 0x001e0f05}}, Y: Field{[10]uint32{0x0236da30, 0x0158f862, 0x03bc622f, 0x01d2f57f, 0x01f52245, 0x03ae0067, 0x0165c3e8, 0x02271a71, 0x03e2c9a1, 0x0000dc2c}}}, + {X: Field{[10]uint32{0x022b3305, 0x0267dbfe, 0x015794d7, 0x032cb1c7, 0x01fad66f, 0x0294dc87, 0x024cbd64, 0x01a9185c, 0x02800ccc, 0x0015579f}}, Y: Field{[10]uint32{0x004e9e41, 0x036980fd, 0x030eb63b, 0x00242cc9, 0x02db9b48, 0x023f9b75, 0x035ed312, 0x01c10863, 0x0165d39d, 0x0019eefc}}}, + {X: Field{[10]uint32{0x00243471, 0x0084e950, 0x0150a4b0, 0x02932b37, 0x030faa40, 0x010b1ac6, 0x028467e2, 0x0351b3c7, 0x0226ab1c, 0x00103126}}, Y: Field{[10]uint32{0x03dadf86, 0x0204fd8b, 0x0296bdc2, 0x00c19fd3, 0x03ad55bf, 0x00d08930, 0x039fdb4c, 0x0188bf82, 0x03005002, 0x0005a542}}}, + {X: Field{[10]uint32{0x03935298, 0x02d8bdb5, 0x021627c8, 0x009835df, 0x02473062, 0x0164f1d1, 0x0010b9f5, 0x02346272, 0x03e5db09, 0x003adace}}, Y: Field{[10]uint32{0x015c5bc8, 0x01d3c380, 0x022fb9bd, 0x01c512f8, 0x00c84e96, 0x00073b72, 0x01902317, 0x01bd707e, 0x01843f35, 0x000f4a55}}}, + {X: Field{[10]uint32{0x02b26091, 0x019c3397, 0x03ca903f, 0x00da6813, 0x03a06835, 0x034186d4, 0x020a0734, 0x0305a472, 0x00a42b55, 0x0005dc86}}, Y: Field{[10]uint32{0x03a5fa42, 0x02da432c, 0x00f4eced, 0x01c9d67c, 0x02057e0e, 0x017a2e5e, 0x017f243e, 0x02f1cddc, 0x021aa8a3, 0x00258459}}}, + {X: Field{[10]uint32{0x03d2a680, 0x020e99e3, 0x02be37f8, 0x018a2c1f, 0x02ea0c37, 0x009f099e, 0x0028c001, 0x017e29f4, 0x03a2f3bc, 0x002106a3}}, Y: Field{[10]uint32{0x012cf1b0, 0x00b53cd1, 0x0289d9a4, 0x02313e6e, 0x00052693, 0x0236ef73, 0x00577128, 0x007dde80, 0x037db2fd, 0x0015e6fc}}}, + {X: Field{[10]uint32{0x02dea82d, 0x0142985b, 0x01691322, 0x02735f94, 0x00358578, 0x00e6714f, 0x001421da, 0x01fc7b20, 0x01543a37, 0x002c07bd}}, Y: Field{[10]uint32{0x01a90265, 0x000802c9, 0x009eb962, 0x0347998e, 0x0082e119, 0x01e8dfc5, 0x03626a00, 0x02cbc4eb, 0x00e97e29, 0x000a3cc3}}}, + {X: Field{[10]uint32{0x00f38904, 0x006c2b01, 0x029a6259, 0x01f02ce2, 0x00ba344e, 0x03e32646, 0x02e70d6e, 0x03190c5f, 0x014e8e3c, 0x002e4f80}}, Y: Field{[10]uint32{0x000ac3d3, 0x027f2549, 0x001f72b2, 0x03b702b8, 0x00d0b368, 0x00bfe26d, 0x03152e10, 0x034431af, 0x01855bdf, 0x00004a70}}}, + {X: Field{[10]uint32{0x03acd522, 0x02fd5201, 0x0137305f, 0x031a2b20, 0x01a00601, 0x01b58c62, 0x000a1dd2, 0x00366bfe, 0x02f243c5, 0x00383d09}}, Y: Field{[10]uint32{0x02b749fc, 0x0035c177, 0x02d1e143, 0x00abac92, 0x021c1938, 0x033ce70a, 0x00bd848c, 0x037178c1, 0x03e0951a, 0x0025b620}}}, + {X: Field{[10]uint32{0x0073233c, 0x03aa6de7, 0x03df2147, 0x0052ceee, 0x00d5379f, 0x00ee7b01, 0x030adda6, 0x025eb4a1, 0x007440e8, 0x003847a7}}, Y: Field{[10]uint32{0x01c1f019, 0x03c2881b, 0x016c5cb9, 0x013767cf, 0x01e125e3, 0x0388b8d6, 0x01a9df03, 0x01d4c8fd, 0x014b2919, 0x001275b9}}}, + {X: Field{[10]uint32{0x016b2c2b, 0x03d9e9ea, 0x0191c79c, 0x01c26b11, 0x02ae38ee, 0x00009f30, 0x0396eca2, 0x03c514ed, 0x004b0c5e, 0x00246b56}}, Y: Field{[10]uint32{0x030bac2a, 0x030729d4, 0x001e23e9, 0x025fb3a1, 0x01565dfd, 0x017670f1, 0x0379e5db, 0x0314c447, 0x0213a620, 0x00360568}}}, + {X: Field{[10]uint32{0x0299f8d2, 0x01011850, 0x033dabfe, 0x00708c0f, 0x01103297, 0x02cc8bcd, 0x0013785c, 0x00d3c81d, 0x0392f4fa, 0x000f9c94}}, Y: Field{[10]uint32{0x0308ae85, 0x0088f95d, 0x0039e042, 0x015de256, 0x014e0c1d, 0x0241fbe9, 0x01482176, 0x03bb57cd, 0x02515add, 0x00238c8e}}}, + {X: Field{[10]uint32{0x01a98160, 0x03d5e411, 0x039bced4, 0x026e6808, 0x0191d911, 0x02a18fcd, 0x03c00acf, 0x0226ad20, 0x02c201a5, 0x0017a1ef}}, Y: Field{[10]uint32{0x02e7d47b, 0x009408fc, 0x032633a8, 0x00734335, 0x0233625f, 0x03f0e69b, 0x02f3c159, 0x01707e7a, 0x038433c7, 0x002a228e}}}, + {X: Field{[10]uint32{0x0268a0ed, 0x03e87234, 0x00f32489, 0x003b494b, 0x01da1826, 0x013a6642, 0x01cb6524, 0x00ecd5d2, 0x02132cb9, 0x0030b821}}, Y: Field{[10]uint32{0x008a5761, 0x00360aa3, 0x007644ed, 0x01934169, 0x0328e02e, 0x015381dc, 0x03038d68, 0x00d97751, 0x03ad1f16, 0x0034fcb8}}}, + {X: Field{[10]uint32{0x031978af, 0x005ee9c3, 0x0025c745, 0x034392e4, 0x023b9053, 0x0077650c, 0x02193c23, 0x0261a5ec, 0x005eccf0, 0x00264c13}}, Y: Field{[10]uint32{0x009dc789, 0x00066a88, 0x02111338, 0x03cc7836, 0x00ba1324, 0x00f74128, 0x03e77e34, 0x004e59bd, 0x027b638b, 0x003b9dfe}}}, + {X: Field{[10]uint32{0x00c5c6bc, 0x004c8aad, 0x02b1d1c2, 0x000d9435, 0x0325a79f, 0x027be256, 0x01f04f70, 0x03ecdd94, 0x00c559ad, 0x00103842}}, Y: Field{[10]uint32{0x039db653, 0x039192d9, 0x02b2cfc5, 0x02ae8253, 0x00210eb2, 0x011ffbd1, 0x02ff3f8c, 0x03992212, 0x03385733, 0x0022602a}}}, + {X: Field{[10]uint32{0x00c6a78a, 0x03ab3722, 0x01aca5bb, 0x037725c4, 0x006d6276, 0x03d4237d, 0x00315287, 0x001c8483, 0x02572d19, 0x00263220}}, Y: Field{[10]uint32{0x01a61c92, 0x0399dad0, 0x03256f3e, 0x003b8230, 0x00b57f27, 0x0341443a, 0x02ea7f48, 0x017fef44, 0x01761f5c, 0x001746aa}}}, + {X: Field{[10]uint32{0x00af6fed, 0x036ac818, 0x03740c05, 0x002601bf, 0x02d7b4cf, 0x005b0deb, 0x00eeab7a, 0x008c1ae1, 0x027a25e9, 0x000e26ae}}, Y: Field{[10]uint32{0x0065707e, 0x003b3db4, 0x01c13d6f, 0x00dcd7d8, 0x0049c326, 0x004aca64, 0x032ed608, 0x038ba34d, 0x00c9ec48, 0x0019ceac}}}, + {X: Field{[10]uint32{0x0253df17, 0x014fbab2, 0x03732614, 0x02ab94e6, 0x026619ea, 0x017c46ce, 0x02fda62e, 0x0255ba4f, 0x03ba832c, 0x00277193}}, Y: Field{[10]uint32{0x005990ac, 0x02ebf6bd, 0x0089f956, 0x0326520e, 0x038f60a9, 0x0228d63b, 0x0267ad8d, 0x02ac4290, 0x00a93c56, 0x000602ce}}}, + {X: Field{[10]uint32{0x024921f7, 0x0270557f, 0x008a9675, 0x00334f54, 0x03b3439b, 0x02d9c1ea, 0x003528b8, 0x030b0d88, 0x0218e758, 0x001c4463}}, Y: Field{[10]uint32{0x02104ee0, 0x01e78a2a, 0x0000b5ec, 0x03df8732, 0x0176bf22, 0x0046d4b4, 0x0108719f, 0x013a7192, 0x02f12c1b, 0x0030bd86}}}, + {X: Field{[10]uint32{0x02c3d096, 0x02ecaa0f, 0x0224245c, 0x008d94c6, 0x0146218b, 0x02b717f4, 0x00e09909, 0x03cf1249, 0x01ee11b9, 0x000cef3b}}, Y: Field{[10]uint32{0x00fbad0a, 0x0015f56b, 0x03e9d655, 0x023578c5, 0x03f83b3e, 0x011a53f6, 0x01a71f6f, 0x0319ce50, 0x011a6c22, 0x00057d2f}}}, + {X: Field{[10]uint32{0x0213ccb4, 0x02c83713, 0x031d0e66, 0x0101d661, 0x01fbd977, 0x00bf6e95, 0x021e5cb6, 0x03a7c7c5, 0x033a4ab5, 0x0012d666}}, Y: Field{[10]uint32{0x023fb523, 0x020a6752, 0x034232b1, 0x0268b1b7, 0x006c9601, 0x02cd0851, 0x03064119, 0x009cae2d, 0x01da9035, 0x0018d40e}}}, + {X: Field{[10]uint32{0x01269d10, 0x010d96c8, 0x03627569, 0x0368d7a5, 0x02decb8d, 0x0144d809, 0x038f6429, 0x0132a506, 0x034cdae5, 0x00067daf}}, Y: Field{[10]uint32{0x033c95d7, 0x024b1933, 0x03f3da1c, 0x01ad8274, 0x036cb31a, 0x02c9d40b, 0x00bca48d, 0x001b7099, 0x03dc090b, 0x0028930f}}}, + {X: Field{[10]uint32{0x0301314c, 0x03751bc6, 0x0267a058, 0x01d6c5de, 0x028a2708, 0x02b41ceb, 0x0229adf7, 0x034537d9, 0x01a98027, 0x002f0f7c}}, Y: Field{[10]uint32{0x008d1f76, 0x02cc2ae0, 0x005e7b6b, 0x0195dc1d, 0x01934450, 0x03645462, 0x0233e898, 0x00741cbb, 0x029154f5, 0x0026774e}}}, + {X: Field{[10]uint32{0x01d72c3c, 0x012a795f, 0x0285e1ea, 0x00793768, 0x02c34ef3, 0x0306b97d, 0x025f5b5a, 0x01c3a134, 0x0264521a, 0x0025de90}}, Y: Field{[10]uint32{0x039f5a0c, 0x03a6ca8a, 0x0041b4fc, 0x01a0cb87, 0x01dbf44f, 0x03500ff2, 0x0025b61c, 0x00bf9341, 0x00197aab, 0x003c6ff2}}}, + {X: Field{[10]uint32{0x01c9b339, 0x004b1a43, 0x01b47a1c, 0x0044f89c, 0x00098b26, 0x02b71ec7, 0x014a7f58, 0x01694cfb, 0x024a85fc, 0x0017f7f7}}, Y: Field{[10]uint32{0x02c6555a, 0x0113d245, 0x02b1ce97, 0x0222cbdb, 0x01731c25, 0x01bec92e, 0x011bad52, 0x02539825, 0x03afbd6a, 0x000fb7ca}}}, + {X: Field{[10]uint32{0x01e9c50d, 0x000508fa, 0x007476ce, 0x02fe089a, 0x00afc17a, 0x03edf6e3, 0x02c1ac50, 0x022bf3ba, 0x032cdcd2, 0x002e2f35}}, Y: Field{[10]uint32{0x03c55e9d, 0x01144940, 0x026dbf2c, 0x038da9d5, 0x039cb6d0, 0x01dc694f, 0x03d9f2f3, 0x03015e6e, 0x03c52e6d, 0x0002098c}}}, + {X: Field{[10]uint32{0x01f75c77, 0x02290700, 0x01c728be, 0x03a769cd, 0x01721bc2, 0x03a51959, 0x01d01eb6, 0x030def19, 0x0199133b, 0x001b082e}}, Y: Field{[10]uint32{0x00b71e53, 0x037c4550, 0x03f20cf6, 0x0129e717, 0x015e36f4, 0x0296b91d, 0x0342aa47, 0x000db897, 0x0274d8ad, 0x000832bd}}}, + {X: Field{[10]uint32{0x015adb07, 0x03246b4c, 0x03a7022b, 0x03e858ed, 0x03f877b5, 0x00ba4677, 0x00e4bf2f, 0x017c54e7, 0x01416965, 0x002ef924}}, Y: Field{[10]uint32{0x03f93a1e, 0x01dba732, 0x036ac40f, 0x01fc3b21, 0x01a77b84, 0x02e3f029, 0x02b5ff6d, 0x0348f231, 0x00256618, 0x002334f8}}}, + {X: Field{[10]uint32{0x01e73786, 0x00531a19, 0x00c752fe, 0x02bb4e60, 0x03bf6dfe, 0x015905cd, 0x0339bbbc, 0x01d2fc1f, 0x0078e383, 0x001d22cc}}, Y: Field{[10]uint32{0x02811ac8, 0x032533ca, 0x02eb28f3, 0x02c18a5e, 0x03ea86b6, 0x005ff211, 0x01f2c802, 0x037e891c, 0x020a61a7, 0x001fdf2b}}}, + {X: Field{[10]uint32{0x0364e4b4, 0x03522fb1, 0x000bcd23, 0x024b414b, 0x005d39d5, 0x009cb3da, 0x015728b2, 0x00956518, 0x03c5b89a, 0x003e98f1}}, Y: Field{[10]uint32{0x00a47c8a, 0x01f5a4a3, 0x01d31fbe, 0x035972d3, 0x01804724, 0x0359f410, 0x0238a506, 0x02758387, 0x03a27751, 0x003130ca}}}, + {X: Field{[10]uint32{0x0056c91c, 0x014e1c73, 0x024446c9, 0x02c1c38f, 0x0386978e, 0x02520c52, 0x025ea13d, 0x038e028d, 0x0197d014, 0x0030bb5c}}, Y: Field{[10]uint32{0x026a595e, 0x03700791, 0x0007009b, 0x02ddcdf7, 0x033404bd, 0x022e6c3e, 0x0054a09d, 0x033463de, 0x0293e7c1, 0x00171cf0}}}, + {X: Field{[10]uint32{0x03c266be, 0x03fa1c9b, 0x03ab5f22, 0x00130367, 0x026c2b3a, 0x03cfa001, 0x0334e846, 0x002f5b0b, 0x01efcb1e, 0x00094530}}, Y: Field{[10]uint32{0x024e3eb3, 0x007b2531, 0x01ad069a, 0x0376333e, 0x02507c35, 0x017d9bb1, 0x00443466, 0x02cb67fe, 0x006c07bb, 0x0031682b}}}, + {X: Field{[10]uint32{0x02286350, 0x01bbe513, 0x0081df6b, 0x03ff25a8, 0x00e2318b, 0x028e10f2, 0x01d2e289, 0x011fc963, 0x03050116, 0x0016f01f}}, Y: Field{[10]uint32{0x03bcbea4, 0x03e16afa, 0x02c66a41, 0x01947844, 0x017a91c4, 0x0096136d, 0x007d059f, 0x03bc1236, 0x00931217, 0x00084f38}}}, + {X: Field{[10]uint32{0x023cad8a, 0x0285cc66, 0x03dd8862, 0x00d7da80, 0x03db9c13, 0x01eb9193, 0x0173f706, 0x016c0e29, 0x02429737, 0x003b6d5b}}, Y: Field{[10]uint32{0x01ef5fa7, 0x01111fc5, 0x01f2e531, 0x014c7660, 0x00358620, 0x009bcef9, 0x038414a4, 0x03551986, 0x027016f8, 0x0034f986}}}, + {X: Field{[10]uint32{0x03d5d732, 0x0323675c, 0x03d55817, 0x023b435d, 0x02684908, 0x0380a191, 0x03609982, 0x019204ef, 0x036e7826, 0x000a4949}}, Y: Field{[10]uint32{0x0287296f, 0x004ff926, 0x02d22622, 0x004c8375, 0x0184b332, 0x02ec33b8, 0x032d755d, 0x0262773a, 0x03a6a97c, 0x003d4c55}}}, + {X: Field{[10]uint32{0x03c0a034, 0x039027a6, 0x0337fa69, 0x01e70ebe, 0x01912863, 0x00dc067a, 0x02098829, 0x03d294dc, 0x01d5bda0, 0x000b115e}}, Y: Field{[10]uint32{0x02f7d99c, 0x032a4d17, 0x0315c336, 0x019ec6e6, 0x02a319d4, 0x00c41ef2, 0x01acd23f, 0x030f1195, 0x034dd889, 0x0038542f}}}, + {X: Field{[10]uint32{0x00808904, 0x0221516a, 0x00b3d056, 0x02e109a6, 0x02025f21, 0x02bcc60c, 0x02295870, 0x03e1daef, 0x020011f9, 0x0017c982}}, Y: Field{[10]uint32{0x02e02350, 0x01cea263, 0x03a9b534, 0x013b60e8, 0x01736fe6, 0x001bab0f, 0x00d2ce00, 0x02a87de9, 0x0232164c, 0x001ab4ce}}}, + {X: Field{[10]uint32{0x02ac4b8b, 0x016935ed, 0x011000d6, 0x01a7a221, 0x029d1f2c, 0x00fecf5a, 0x02fd430f, 0x017b2414, 0x00c61209, 0x000eeeef}}, Y: Field{[10]uint32{0x010b0c97, 0x03e7ea95, 0x019487e4, 0x032ea8ed, 0x0240d244, 0x03256076, 0x01b090f8, 0x029b9f6d, 0x00283846, 0x0000ca3a}}}, + {X: Field{[10]uint32{0x016acff0, 0x02e76065, 0x0117daff, 0x032998b6, 0x02343e80, 0x03088bd2, 0x009af44b, 0x0363bffb, 0x027bdd0f, 0x00126140}}, Y: Field{[10]uint32{0x038affda, 0x005b088e, 0x0065468c, 0x0053fa05, 0x03460b10, 0x009c5a88, 0x01561b5f, 0x01b904c1, 0x012e37a3, 0x00162fbf}}}, + {X: Field{[10]uint32{0x03959de7, 0x0098f559, 0x0359b92e, 0x03300386, 0x006e826e, 0x000ecf73, 0x01eb2d88, 0x0022466d, 0x00e8d2e3, 0x0008518e}}, Y: Field{[10]uint32{0x0232342a, 0x0350793d, 0x03dd8ad9, 0x03c72379, 0x02dc22c0, 0x03d7f270, 0x02e0454f, 0x0078a4d6, 0x01216f13, 0x00027762}}}, + {X: Field{[10]uint32{0x02f3cfdd, 0x00013db9, 0x01f35444, 0x0041a455, 0x016876c1, 0x0197828c, 0x023532b9, 0x00b5abcf, 0x03055ced, 0x001b3b61}}, Y: Field{[10]uint32{0x02546ec6, 0x03ad5bdf, 0x00ac0a83, 0x000665ff, 0x0355b17c, 0x0079abb9, 0x03ba4e2a, 0x0155be2d, 0x02abc86f, 0x003d46c6}}}, + {X: Field{[10]uint32{0x01dcfacb, 0x007221b2, 0x0172730a, 0x03901086, 0x017fc3ad, 0x0216746b, 0x02634987, 0x024db38c, 0x0267876c, 0x0025405b}}, Y: Field{[10]uint32{0x02f4f660, 0x02ece49a, 0x03160742, 0x00bcb90f, 0x034df723, 0x004016ea, 0x03d284b8, 0x019bbbfe, 0x00c4e6e2, 0x000a679e}}}, + {X: Field{[10]uint32{0x026f23f2, 0x0054c67b, 0x00763513, 0x003e76cc, 0x00c513d2, 0x030e633c, 0x02a8019f, 0x0070e710, 0x02c83040, 0x0012fb19}}, Y: Field{[10]uint32{0x038514fc, 0x02c9cd64, 0x003d58e8, 0x028550ff, 0x034fcded, 0x0224a718, 0x01aa9162, 0x0118261c, 0x02923b7d, 0x003c77ff}}}, + {X: Field{[10]uint32{0x008a59c7, 0x03b69e21, 0x03bb27f3, 0x03bd6ac9, 0x019088c4, 0x00394eb9, 0x000015a6, 0x00ee5dab, 0x03d14051, 0x002d4144}}, Y: Field{[10]uint32{0x01c36399, 0x016252e6, 0x0084129a, 0x0326999d, 0x01dc9282, 0x02de1b33, 0x03254c51, 0x039b08fe, 0x02e51182, 0x00271072}}}, + {X: Field{[10]uint32{0x0290708d, 0x005564ed, 0x00c003e4, 0x01149bcc, 0x01d1df38, 0x02a482b2, 0x029bda38, 0x0280e5a9, 0x02533989, 0x00165e49}}, Y: Field{[10]uint32{0x02ba648f, 0x03b40bc6, 0x00bab3a3, 0x02ce5eb9, 0x034c750c, 0x027b99cd, 0x02561921, 0x021f6d79, 0x00b72748, 0x001fcb05}}}, + {X: Field{[10]uint32{0x01eacf6f, 0x00dc1581, 0x02dd34db, 0x03e4fb05, 0x01251cc7, 0x0245b599, 0x00fe2b3e, 0x00aa4d1e, 0x0366cf01, 0x001ee8ad}}, Y: Field{[10]uint32{0x016404bb, 0x02cc47e1, 0x02a6903f, 0x0230b212, 0x003dcc7e, 0x03a2f745, 0x01212865, 0x01e630dc, 0x0138f950, 0x00053f62}}}, + {X: Field{[10]uint32{0x02b5d6bb, 0x00f7e6fa, 0x013a71c4, 0x008959af, 0x017f9e9d, 0x027a0e73, 0x0147af8a, 0x024367f2, 0x02fef69c, 0x000c18bc}}, Y: Field{[10]uint32{0x02f5ee58, 0x025caf01, 0x02bbaad9, 0x0350868d, 0x02064047, 0x0364a9c5, 0x01e7b719, 0x01b505ff, 0x00334991, 0x0036e12a}}}, + {X: Field{[10]uint32{0x00b06e74, 0x0230bf55, 0x00ce3db3, 0x021f8c9f, 0x00f6fae6, 0x02d119c0, 0x034d695c, 0x03b229df, 0x009d69db, 0x003b57e5}}, Y: Field{[10]uint32{0x018930e3, 0x00bfafcb, 0x019fdee6, 0x008fc566, 0x032a6907, 0x026542f2, 0x0104ff92, 0x00f54194, 0x0060057b, 0x0011c938}}}, + {X: Field{[10]uint32{0x021b7cdc, 0x01c39181, 0x028d3d71, 0x01427af5, 0x0030e129, 0x01ab3004, 0x01312fea, 0x0209d83a, 0x02033002, 0x00135957}}, Y: Field{[10]uint32{0x00ea99bb, 0x03b948c4, 0x00d0b7bc, 0x02789e33, 0x00439957, 0x027a5fc1, 0x01e046b6, 0x01526cbd, 0x01226c27, 0x00243bf0}}}, + {X: Field{[10]uint32{0x02f1b35d, 0x019beaba, 0x0260dbf1, 0x02030d46, 0x0368e05e, 0x0120fe56, 0x029edf4a, 0x03bfb342, 0x0356b888, 0x003dad81}}, Y: Field{[10]uint32{0x00a5fb8c, 0x008a8f4e, 0x01df6bfd, 0x023c2f39, 0x00cb57e9, 0x02bebe6c, 0x0096b241, 0x005611aa, 0x02bdaa78, 0x0009efb7}}}, + {X: Field{[10]uint32{0x03c55748, 0x00c06228, 0x00b516ca, 0x00e23f1f, 0x008c81c5, 0x0235ba8b, 0x004db945, 0x0288ddcb, 0x00aa942b, 0x0033164b}}, Y: Field{[10]uint32{0x03288158, 0x0144b476, 0x0307c63d, 0x02c75900, 0x01bb6bd2, 0x00d870fc, 0x0277d100, 0x015820db, 0x03cd358e, 0x000db8bd}}}, + {X: Field{[10]uint32{0x02c1a456, 0x0280cbfd, 0x00edf6a7, 0x01865db4, 0x00f93721, 0x03b7d0c1, 0x023acb8c, 0x011a6086, 0x01dca5bb, 0x0012b2ea}}, Y: Field{[10]uint32{0x02262437, 0x0393a154, 0x021669ca, 0x00aa5cbc, 0x01d6fb30, 0x02ef40b3, 0x032287e9, 0x011fccf9, 0x003ab2ab, 0x002cdba6}}}, + {X: Field{[10]uint32{0x03061f91, 0x011b76fa, 0x0072d974, 0x00f612a5, 0x017be363, 0x02e73a58, 0x010e0c61, 0x01e74cad, 0x005e0422, 0x00322946}}, Y: Field{[10]uint32{0x03d4b5cb, 0x02348b66, 0x000ff3c3, 0x0347fd97, 0x01cdb7cb, 0x019a3bac, 0x00c1df74, 0x00626f59, 0x00b7445e, 0x0033ea94}}}, + {X: Field{[10]uint32{0x035f18f9, 0x02c41074, 0x0120e052, 0x002197e3, 0x01535faf, 0x0277842b, 0x01168a88, 0x03d844d9, 0x016707f4, 0x00307255}}, Y: Field{[10]uint32{0x00033749, 0x02ae5052, 0x027eb537, 0x0384dc23, 0x02543919, 0x015bd11c, 0x02fc1eb9, 0x01ad8c26, 0x003b3d95, 0x000d3def}}}, + {X: Field{[10]uint32{0x0236a8f3, 0x006b9474, 0x038fa8df, 0x01a3cf87, 0x028bb68d, 0x00fdf495, 0x02093703, 0x01cdbad2, 0x03b736f6, 0x00237d3e}}, Y: Field{[10]uint32{0x0102122c, 0x01ddd917, 0x00c81229, 0x03ddc1dc, 0x00cef6b0, 0x006ece14, 0x007af267, 0x00b400e6, 0x01fe8e9a, 0x000f5c61}}}, + {X: Field{[10]uint32{0x025af3dd, 0x02a979aa, 0x00297c2b, 0x02db47af, 0x01c2c8bb, 0x011d4047, 0x02a1ec0c, 0x01f2e3ca, 0x01f0e35c, 0x0000358d}}, Y: Field{[10]uint32{0x03a51a2f, 0x01a00f1e, 0x006435e3, 0x0264614f, 0x03441e5a, 0x0241eb97, 0x0190a5b5, 0x03a2cc6a, 0x02bdc588, 0x0000249b}}}, + {X: Field{[10]uint32{0x0346a4bc, 0x0181c802, 0x01923d64, 0x0097a2d4, 0x013678b5, 0x0038e381, 0x014ea383, 0x014dd5d4, 0x012d5f86, 0x0002d634}}, Y: Field{[10]uint32{0x03438d3e, 0x01121041, 0x037f648e, 0x0103a920, 0x00d77c9e, 0x0265702d, 0x01d587ce, 0x02eace4d, 0x01835b0e, 0x003ded64}}}, + {X: Field{[10]uint32{0x029a7f36, 0x029db6f6, 0x0178011b, 0x014d9187, 0x0212cb42, 0x01e3a26b, 0x03ad0755, 0x00d903b3, 0x028cb401, 0x002edf1a}}, Y: Field{[10]uint32{0x0036581c, 0x00836852, 0x00ba7d1c, 0x0100c1b7, 0x023c2f5c, 0x01c20a56, 0x0195b835, 0x035861a2, 0x02583774, 0x001f7680}}}, + {X: Field{[10]uint32{0x0114a9e6, 0x00eca60d, 0x03b91968, 0x0065c8b3, 0x02f116b8, 0x03e96dea, 0x00a990a7, 0x0233be77, 0x00f792cc, 0x00053dbc}}, Y: Field{[10]uint32{0x024d7055, 0x01bc840e, 0x000b97b9, 0x017fc8e0, 0x01226104, 0x02cffb2d, 0x00e5aac4, 0x01663243, 0x03927a07, 0x002230d7}}}, + {X: Field{[10]uint32{0x03448541, 0x02ef39dd, 0x014fa76b, 0x034125ab, 0x02fb60f4, 0x015fd2a8, 0x01ad8964, 0x02846177, 0x01f4eb9f, 0x0012e579}}, Y: Field{[10]uint32{0x01e71d21, 0x01c1b451, 0x038f4d27, 0x0023df8a, 0x01502d1f, 0x0004807b, 0x0087f512, 0x032cc6e8, 0x0387513a, 0x00078401}}}, + {X: Field{[10]uint32{0x024b63ae, 0x032f4a8d, 0x01c16dce, 0x01993617, 0x03a7af53, 0x008cd568, 0x004aa312, 0x016cb18e, 0x03c067f7, 0x003a685f}}, Y: Field{[10]uint32{0x027fb8c7, 0x00302177, 0x01ac1956, 0x01a806d3, 0x030a40e0, 0x00ad806a, 0x038fcf01, 0x01148d8b, 0x0388ad67, 0x00108288}}}, + {X: Field{[10]uint32{0x03ff9169, 0x02b55110, 0x0281cf10, 0x010e0cc6, 0x0096d4ff, 0x0020d04c, 0x023d066c, 0x03b2053b, 0x0136f320, 0x0000e761}}, Y: Field{[10]uint32{0x028ca248, 0x01b8d9f0, 0x023be7a7, 0x00d44e9e, 0x00c74345, 0x00152af4, 0x0166a556, 0x03a26183, 0x01e91478, 0x001c3ba2}}}, + {X: Field{[10]uint32{0x03b636e8, 0x036a8f0b, 0x0320e001, 0x024f127f, 0x029f95b9, 0x00dc7389, 0x031dc72f, 0x0135b2fa, 0x00c80862, 0x0025de68}}, Y: Field{[10]uint32{0x00c2712e, 0x00292ae8, 0x03907d23, 0x03629932, 0x03369684, 0x000de482, 0x01a4b0e6, 0x01b14027, 0x03cc6729, 0x00276789}}}, + {X: Field{[10]uint32{0x02f0b401, 0x022d3ed9, 0x01586bd7, 0x007f4559, 0x034a9747, 0x032bcdbf, 0x01c09de9, 0x02d23da9, 0x004a1dab, 0x00335316}}, Y: Field{[10]uint32{0x033446f1, 0x00cd0449, 0x017f0bc4, 0x03b711d9, 0x026fd60e, 0x02b4b0a3, 0x02104b0c, 0x001b8acf, 0x02b10eff, 0x0025640a}}}, + {X: Field{[10]uint32{0x0161aba4, 0x02afba89, 0x0319688e, 0x01957549, 0x02dbeb3f, 0x01cadddb, 0x03164f7c, 0x018b2d44, 0x01f41423, 0x0011b284}}, Y: Field{[10]uint32{0x0034c9ff, 0x00b13569, 0x022f5e83, 0x01198813, 0x01bcfd09, 0x01898f18, 0x036d3cbd, 0x03510b7e, 0x031a2a2a, 0x00201810}}}, + {X: Field{[10]uint32{0x0294a513, 0x030e7622, 0x003b475a, 0x0395fa3e, 0x01eb712d, 0x0000c688, 0x035c7535, 0x018fd5db, 0x01791ffb, 0x0037faf4}}, Y: Field{[10]uint32{0x03be75de, 0x032c6b71, 0x00f0aa71, 0x00b7b2ca, 0x006576af, 0x03df1843, 0x02aa0e22, 0x02d53081, 0x007e39b2, 0x0033fb5b}}}, + {X: Field{[10]uint32{0x012c2469, 0x00e021d7, 0x03fcfe12, 0x0285e59f, 0x0143daf1, 0x028ee53e, 0x0233d9d7, 0x0018ed11, 0x013282fd, 0x0031c719}}, Y: Field{[10]uint32{0x01d376d0, 0x0346d52a, 0x02ba8620, 0x00d94ab7, 0x00f18a47, 0x00eafa50, 0x01f8aed3, 0x01a840e3, 0x03cd0e00, 0x0018bf35}}}, + {X: Field{[10]uint32{0x00c0ff37, 0x022bbdcd, 0x007b1e9f, 0x0107f059, 0x026864ec, 0x0123edd6, 0x02640fbf, 0x02826938, 0x034ddc8b, 0x0018faee}}, Y: Field{[10]uint32{0x024ae28e, 0x01848176, 0x022df772, 0x013dc671, 0x01dbf1ae, 0x01cd82a1, 0x01090e19, 0x01bd2d07, 0x034b0fe1, 0x00396740}}}, + {X: Field{[10]uint32{0x0112814a, 0x00536e77, 0x000bceea, 0x00709c75, 0x01ce6e5c, 0x006d624b, 0x02eac616, 0x02fc5963, 0x00c8cb51, 0x00194126}}, Y: Field{[10]uint32{0x00a65279, 0x0162be59, 0x01e6ee30, 0x0215c2b5, 0x027a6145, 0x02f57452, 0x0057769b, 0x00064c91, 0x03855d8e, 0x0039f999}}}, + {X: Field{[10]uint32{0x03c43fd5, 0x00896a11, 0x0032ac41, 0x02a10304, 0x00090815, 0x0205b7d1, 0x0199c07b, 0x00218e05, 0x003f14c0, 0x00052878}}, Y: Field{[10]uint32{0x01fe98de, 0x03581bcd, 0x02ddb6d6, 0x00e1414c, 0x024926da, 0x02ee3bd7, 0x0366bac9, 0x02a23d1b, 0x0259bc6b, 0x000d4912}}}, + {X: Field{[10]uint32{0x02903c5c, 0x03d4c56d, 0x00f084d6, 0x0056ef54, 0x03a4f14c, 0x004553ff, 0x00f9a167, 0x0287a03b, 0x02b2f6a8, 0x000727db}}, Y: Field{[10]uint32{0x0203a033, 0x0181974a, 0x0187dd26, 0x00f900be, 0x01538638, 0x0143bba6, 0x026fc511, 0x03fd8e6d, 0x01f52ca4, 0x0039af78}}}, + {X: Field{[10]uint32{0x0170f8bf, 0x03c0863e, 0x029d97cf, 0x006b0381, 0x00b43ea6, 0x02c0355b, 0x00809664, 0x039ec41f, 0x02ed0bad, 0x000779c7}}, Y: Field{[10]uint32{0x00ee1434, 0x01f69986, 0x029bb5c6, 0x0176615d, 0x01ea99d6, 0x02def253, 0x00d42e16, 0x03babb5e, 0x02de77ed, 0x0002352c}}}, + {X: Field{[10]uint32{0x035cb4b1, 0x01baaad7, 0x018c35a9, 0x00e420e3, 0x02479f7a, 0x02eeadc1, 0x022f0628, 0x0134baea, 0x0280ce95, 0x003d10ca}}, Y: Field{[10]uint32{0x02d579bf, 0x0286272f, 0x0302cc67, 0x01dca718, 0x0291f3d0, 0x03f024e0, 0x00abf476, 0x0290300f, 0x02adac34, 0x0025bf9b}}}, + {X: Field{[10]uint32{0x0119fb21, 0x022d7a49, 0x00737482, 0x032b0549, 0x01cb37e1, 0x02109046, 0x023d3f96, 0x012bd158, 0x034d1796, 0x0023dc79}}, Y: Field{[10]uint32{0x004865ab, 0x01e15358, 0x0091cec0, 0x008021a7, 0x025b6b17, 0x02fda51b, 0x03678e4e, 0x03292e9d, 0x00dfd7f0, 0x001a643c}}}, + {X: Field{[10]uint32{0x02a6745e, 0x00671271, 0x001a1200, 0x014b3bdc, 0x005a09d0, 0x025aa0e8, 0x01546e20, 0x03097999, 0x01575e3d, 0x00088a4c}}, Y: Field{[10]uint32{0x01c423b0, 0x01bab639, 0x0285986a, 0x020b7bfa, 0x0283d050, 0x02a5072a, 0x012bfae8, 0x01581f1e, 0x00874258, 0x002ab63e}}}, + {X: Field{[10]uint32{0x0248a096, 0x00ea8abc, 0x017c63b7, 0x01a4eb08, 0x00cc57d0, 0x03989d94, 0x02bf5f29, 0x029a6a05, 0x02632ef3, 0x0019617f}}, Y: Field{[10]uint32{0x00fd9f8b, 0x00dea0db, 0x037cc12f, 0x00ff7847, 0x03dc8a89, 0x01bb3157, 0x019ca577, 0x006bfbb7, 0x03bb2028, 0x002082a8}}}, + {X: Field{[10]uint32{0x03f67bf8, 0x007907e4, 0x01339195, 0x00bf9843, 0x01aaec47, 0x02fc18a0, 0x0163ce5a, 0x01472aca, 0x0079e55c, 0x000888c9}}, Y: Field{[10]uint32{0x03f927d2, 0x016a6efa, 0x0104bb7c, 0x0062a359, 0x02888a8f, 0x0304ca68, 0x03f0514b, 0x00b5ff99, 0x03ab2cf2, 0x0003864b}}}, + {X: Field{[10]uint32{0x01df16fc, 0x01f6c097, 0x00f60826, 0x022dc3a6, 0x00446014, 0x02ce5b25, 0x00aba082, 0x001a7af3, 0x02fde4ba, 0x0036a340}}, Y: Field{[10]uint32{0x023fa2bb, 0x01d80879, 0x034d059a, 0x03422d9b, 0x01579756, 0x01e8b993, 0x0167e7c1, 0x0021291f, 0x013de337, 0x00068c08}}}, + {X: Field{[10]uint32{0x02202ebf, 0x02a7c624, 0x02501708, 0x0249e3b9, 0x01ad49e0, 0x01313a2e, 0x038a0066, 0x020b7bc6, 0x0062854e, 0x0029bdcb}}, Y: Field{[10]uint32{0x01d03ba4, 0x00d54dc0, 0x0037edaa, 0x02246a0e, 0x002e2709, 0x008c63bd, 0x03c56abc, 0x0204102d, 0x032db08c, 0x0020d565}}}, + {X: Field{[10]uint32{0x03c7db68, 0x016b8a8e, 0x028ee8d5, 0x033a67d6, 0x02a15077, 0x00df7315, 0x02f8c359, 0x02168171, 0x013a309e, 0x00081d3f}}, Y: Field{[10]uint32{0x022cff97, 0x0387c20c, 0x0182e53a, 0x03a6baa5, 0x023061a4, 0x001aa605, 0x018fc0e8, 0x00f250b9, 0x02eacb78, 0x00384700}}}, + {X: Field{[10]uint32{0x01a1a5e3, 0x0071431e, 0x0106c861, 0x03cc6098, 0x0229aa59, 0x00a92d8b, 0x00d316f6, 0x02a8adc3, 0x0266fae9, 0x00127b55}}, Y: Field{[10]uint32{0x007643f7, 0x02eb1b20, 0x028b6324, 0x0024aa0d, 0x021477c2, 0x0261a59e, 0x000b19ef, 0x0138af73, 0x009aae14, 0x001729f9}}}, + {X: Field{[10]uint32{0x016c1b1f, 0x004d8897, 0x014683ed, 0x03a63864, 0x01b582c4, 0x00dc88cd, 0x03472a71, 0x0393a617, 0x007ea1f7, 0x0008a27b}}, Y: Field{[10]uint32{0x01cbbeb1, 0x0144b2b6, 0x0090261a, 0x022f5c3a, 0x03b03f89, 0x01ff903d, 0x017bff67, 0x00219c14, 0x0318689a, 0x0000478a}}}, + {X: Field{[10]uint32{0x01859164, 0x0273afe1, 0x00635bc4, 0x014bff1c, 0x03fbed0e, 0x022e8ae8, 0x02c64a55, 0x03befb62, 0x02be23f1, 0x003aa14b}}, Y: Field{[10]uint32{0x01cbb824, 0x02a98d50, 0x00fafc97, 0x01456c97, 0x0125ef13, 0x01e93905, 0x0266583c, 0x0298e5cc, 0x0341fe97, 0x002f78bb}}}, + {X: Field{[10]uint32{0x0302f0ea, 0x026f86f4, 0x018553fe, 0x01f6905e, 0x00290b25, 0x03fbc229, 0x001a9548, 0x01f4fc6b, 0x00e67cc0, 0x0015c63c}}, Y: Field{[10]uint32{0x01acbe90, 0x0103b3da, 0x0094fd4e, 0x02828bae, 0x03a6ffca, 0x019169ab, 0x02d8bd53, 0x0175fb9c, 0x015bfca6, 0x00263b13}}}, + {X: Field{[10]uint32{0x03810a4c, 0x03af6492, 0x01ad550b, 0x00fde033, 0x0310269c, 0x01d51638, 0x00f0650b, 0x03f5f7ba, 0x02abd77a, 0x0037d8a8}}, Y: Field{[10]uint32{0x00e4c034, 0x0120a6c2, 0x028cd54c, 0x023a7f22, 0x008d39fe, 0x022198f8, 0x03ea2e95, 0x0349ee02, 0x02cce384, 0x001a9981}}}, + {X: Field{[10]uint32{0x005e6668, 0x01336ba0, 0x039aa497, 0x003bbf5d, 0x039ea7dc, 0x00254239, 0x039bd198, 0x009a2f0c, 0x00454b0c, 0x0004043f}}, Y: Field{[10]uint32{0x016410e1, 0x0197eafa, 0x0001c3fa, 0x03c674f6, 0x02d51194, 0x01adaf4a, 0x030a323c, 0x02d65cac, 0x02db0681, 0x001a1a8e}}}, + {X: Field{[10]uint32{0x035c5c18, 0x0097b5a7, 0x0087bd54, 0x01101e41, 0x02072ca3, 0x0050524f, 0x03e93c96, 0x00e061a7, 0x00527567, 0x0022b1e6}}, Y: Field{[10]uint32{0x01d1c08e, 0x031cb26f, 0x03cec684, 0x03e67496, 0x00775375, 0x027bc7e4, 0x0172e04b, 0x03219f46, 0x0248fcbf, 0x002ecc50}}}, + {X: Field{[10]uint32{0x03848b9d, 0x0321a48f, 0x021605f9, 0x01340866, 0x036f3f17, 0x017c2b78, 0x01f3bf44, 0x031f3b18, 0x031188cb, 0x001583a5}}, Y: Field{[10]uint32{0x01b9cd2f, 0x003bdb74, 0x02277bc8, 0x022b063b, 0x014d133f, 0x01939ba7, 0x03bf21fc, 0x03319efe, 0x02ce6775, 0x0027a4b6}}}, + {X: Field{[10]uint32{0x01fb943a, 0x0241c03d, 0x009fee6d, 0x00bc1fdc, 0x0028eea5, 0x011a6870, 0x015ca088, 0x03ad9b32, 0x02044b95, 0x00231190}}, Y: Field{[10]uint32{0x009d0223, 0x0049c79a, 0x03aa51a1, 0x009654f0, 0x03a34920, 0x03afa965, 0x01b3a615, 0x014604c0, 0x005d7bc2, 0x002fc43f}}}, + {X: Field{[10]uint32{0x031eb5aa, 0x034730a1, 0x013cb4d8, 0x036be1d1, 0x037f2245, 0x0362c0d9, 0x0377247c, 0x022dc4d4, 0x034cf357, 0x0034a4fd}}, Y: Field{[10]uint32{0x024a6f26, 0x02befb69, 0x03423ba7, 0x0352b8d5, 0x03f080e3, 0x02c24143, 0x0245931e, 0x03a8518f, 0x013a61df, 0x0021b080}}}, + {X: Field{[10]uint32{0x03687d35, 0x02f5d135, 0x02aff4c6, 0x029ccd99, 0x01fefbf7, 0x01dbae4d, 0x027611ec, 0x01ec7f1d, 0x0241ae75, 0x000d665c}}, Y: Field{[10]uint32{0x004b2aa0, 0x013e5bf1, 0x01f9c599, 0x03bf3283, 0x022f36e0, 0x02f4e4f6, 0x007fd357, 0x0335330f, 0x021f246b, 0x002f2fa9}}}, + {X: Field{[10]uint32{0x036464eb, 0x00d8095f, 0x006de15f, 0x0316f678, 0x00285a17, 0x013b8d77, 0x01a0ef84, 0x0065f4f0, 0x00977467, 0x00034258}}, Y: Field{[10]uint32{0x013e8783, 0x012dc2ef, 0x0303cd14, 0x01a67a22, 0x023dd448, 0x01e737a7, 0x02954bfc, 0x036e59a4, 0x02a51e06, 0x000d0abd}}}, + {X: Field{[10]uint32{0x0241a777, 0x03e2632b, 0x01470bfd, 0x025c8e89, 0x01621257, 0x0086c3e1, 0x033a3755, 0x03ab59c0, 0x00992aea, 0x0023a1d7}}, Y: Field{[10]uint32{0x03c0bbd8, 0x01ea625c, 0x010c653f, 0x02187b1b, 0x02a5ee66, 0x00c49eb4, 0x020ba101, 0x0066ec13, 0x033d2d2f, 0x00092a89}}}, + {X: Field{[10]uint32{0x02541855, 0x03786e6b, 0x01aee0d2, 0x0110215a, 0x00d622f4, 0x01cb16ee, 0x02f47d81, 0x00e93347, 0x01f30270, 0x002fd474}}, Y: Field{[10]uint32{0x039aa484, 0x0029c433, 0x0030f3c6, 0x00c510cf, 0x005918d9, 0x024d4f61, 0x01e6e409, 0x002b3eef, 0x0352b6c6, 0x0023e078}}}, + {X: Field{[10]uint32{0x0341c26f, 0x02a35320, 0x03aee696, 0x016db372, 0x022ebb11, 0x0020fbd5, 0x032d1415, 0x01a1588a, 0x00620972, 0x001bedad}}, Y: Field{[10]uint32{0x003c9c73, 0x027c182e, 0x02032a89, 0x00c2eb28, 0x01468f25, 0x015e2e91, 0x02923b3e, 0x03367b32, 0x03bff9cf, 0x0027023d}}}, + {X: Field{[10]uint32{0x03617438, 0x0237d8a4, 0x0389d067, 0x01a1acb3, 0x031db56f, 0x03fc117e, 0x026a21fa, 0x03de35f7, 0x02c18b5c, 0x001d560e}}, Y: Field{[10]uint32{0x0369f900, 0x0240d026, 0x0082df67, 0x00526100, 0x02071fe0, 0x0319a725, 0x0237c7d9, 0x011bfc38, 0x022cb085, 0x00209668}}}, + {X: Field{[10]uint32{0x00c0ef92, 0x023fe72d, 0x00f36cdd, 0x038d8404, 0x014aabc2, 0x006ddba5, 0x0051c893, 0x0166b1fb, 0x0133a5d7, 0x00109846}}, Y: Field{[10]uint32{0x01ed4261, 0x00054748, 0x00bf8783, 0x000c3e67, 0x0158cde4, 0x013ae131, 0x038e2bd5, 0x032f3a8d, 0x00ce6b8a, 0x00222991}}}, + {X: Field{[10]uint32{0x02f520d2, 0x00eb78c2, 0x038458a4, 0x025492eb, 0x016dff9c, 0x01c5af71, 0x02e776ca, 0x03e592f6, 0x01bf6128, 0x00090e9b}}, Y: Field{[10]uint32{0x001b7e50, 0x007c6948, 0x0025d609, 0x01368f64, 0x003dda74, 0x024af7ea, 0x0001850e, 0x036d2341, 0x028a5ce4, 0x00098a8b}}}, + {X: Field{[10]uint32{0x00c2ac76, 0x02c4a476, 0x03d58082, 0x00b169da, 0x0046e57e, 0x01f7c56f, 0x01e9307a, 0x031b4810, 0x01751548, 0x00084af4}}, Y: Field{[10]uint32{0x039391bc, 0x032f5dc1, 0x01aaae33, 0x03d1c66a, 0x0257f04e, 0x022c9020, 0x03cc788a, 0x01c9cc99, 0x03c76cc9, 0x00209186}}}, + {X: Field{[10]uint32{0x0161177b, 0x01f05ad3, 0x021fbc1a, 0x011842f5, 0x008ca8a5, 0x022b83b2, 0x00b3e562, 0x01b4aaa8, 0x030b21f9, 0x00369b40}}, Y: Field{[10]uint32{0x023f9fde, 0x02f6f9cb, 0x03d0a1ce, 0x00787aae, 0x012c2aad, 0x02d27b0a, 0x02b85961, 0x000a1d28, 0x02358fab, 0x0016d6f1}}}, + {X: Field{[10]uint32{0x02c1f01f, 0x027d38fd, 0x0010886a, 0x01fb3fa0, 0x004a4313, 0x03ba923f, 0x001e1012, 0x010ec296, 0x02f055a2, 0x003708c2}}, Y: Field{[10]uint32{0x028180ca, 0x03e80f95, 0x018bb950, 0x02ad805c, 0x012eb5a9, 0x00f5ffbb, 0x030120da, 0x011635c0, 0x021be70a, 0x00343e63}}}, + {X: Field{[10]uint32{0x01089df1, 0x01b412ea, 0x00797dc1, 0x01cbc291, 0x00ee9c59, 0x03c8c9a1, 0x00e73b56, 0x031a1a63, 0x023ac815, 0x0020b0b7}}, Y: Field{[10]uint32{0x03b8573d, 0x018b65e4, 0x02432544, 0x0110b07e, 0x010c8598, 0x007f85e3, 0x0253b8ec, 0x033063e8, 0x0065c6c2, 0x0007211c}}}, + {X: Field{[10]uint32{0x020494a3, 0x01d85278, 0x037f6670, 0x0081a901, 0x02cc439f, 0x0002be26, 0x0165dfa2, 0x0245bb86, 0x028874e4, 0x001b28b7}}, Y: Field{[10]uint32{0x02662043, 0x014466a6, 0x02e0699b, 0x0276ba5a, 0x02cd5111, 0x01f71f39, 0x03cc1aa5, 0x02177690, 0x034497aa, 0x001bbc2c}}}, + {X: Field{[10]uint32{0x0051d97f, 0x00ebd4de, 0x031f88d3, 0x029242f4, 0x03cf1149, 0x021003be, 0x02448f82, 0x03ed9481, 0x03c41728, 0x002e89a1}}, Y: Field{[10]uint32{0x02b4c0c4, 0x03c82c61, 0x01de5d61, 0x000090ec, 0x02033455, 0x0318b34c, 0x03803bb3, 0x039eaba2, 0x01f11f2c, 0x0025ab49}}}, + {X: Field{[10]uint32{0x01553e0d, 0x028bc203, 0x01aa5f1e, 0x00cf91a8, 0x03d311f5, 0x02cc0cc8, 0x0032d5a4, 0x03cc0458, 0x00401947, 0x002b0d88}}, Y: Field{[10]uint32{0x00b30a22, 0x01c70fcb, 0x0137fdf1, 0x006dec82, 0x001d5b98, 0x005f6e47, 0x035881fa, 0x00a21169, 0x0395fef3, 0x0014e0e7}}}, + {X: Field{[10]uint32{0x01049e13, 0x01a51d9e, 0x0246bac7, 0x0308b6ee, 0x024158c7, 0x00ecd727, 0x014241ec, 0x01c815a3, 0x00ee5b1b, 0x0019e03b}}, Y: Field{[10]uint32{0x0057d9a8, 0x02fd004c, 0x02e4ee0f, 0x015fb31e, 0x0246520d, 0x0158b9cc, 0x0090b9f3, 0x022234b7, 0x01f031e0, 0x0026b045}}}, + {X: Field{[10]uint32{0x02a63732, 0x0040e434, 0x00254cbb, 0x00eaaca5, 0x01c0f765, 0x02ef4d0e, 0x0110d622, 0x035754c1, 0x0247e7a2, 0x00254dde}}, Y: Field{[10]uint32{0x00195fc0, 0x02f948fe, 0x01d7b091, 0x01a8d992, 0x03bb01f7, 0x0319155e, 0x01abe4df, 0x02d8b3f8, 0x01109daf, 0x0015eb24}}}, + {X: Field{[10]uint32{0x02dd8921, 0x005e85ca, 0x0015e85f, 0x001ccc9d, 0x01486a85, 0x02f50abd, 0x02e97c59, 0x020efc1f, 0x01bf98fd, 0x00013c65}}, Y: Field{[10]uint32{0x011cf3dc, 0x0171ee1a, 0x03b59a86, 0x02f3c7bc, 0x011a057b, 0x01ac72b7, 0x027cae30, 0x008c8d8c, 0x032501c8, 0x00295ab3}}}, + {X: Field{[10]uint32{0x00bcb53f, 0x00a46c53, 0x036bad9e, 0x034b5edb, 0x02cc0510, 0x036eaaf3, 0x0208240a, 0x00a67f48, 0x03d1efe8, 0x003b3347}}, Y: Field{[10]uint32{0x002c667c, 0x020111e9, 0x02b29135, 0x022fff09, 0x012d9b6f, 0x00663806, 0x03d6f2d3, 0x003e9715, 0x03216da5, 0x003b0bfc}}}, + {X: Field{[10]uint32{0x0058f438, 0x0321386c, 0x01f2b1ee, 0x0004307b, 0x01502e76, 0x01f2dd1d, 0x00ff41cf, 0x010971ca, 0x004af2c3, 0x0031d5d1}}, Y: Field{[10]uint32{0x0362e53a, 0x01c0a0d8, 0x014b8fd0, 0x03f1a140, 0x039cd267, 0x0322d995, 0x0301105b, 0x0050f8a5, 0x01b6169f, 0x00387520}}}, + {X: Field{[10]uint32{0x005250b8, 0x006d5f19, 0x00ac636f, 0x0170711c, 0x03aef325, 0x028468d9, 0x01996627, 0x001dd963, 0x037ebff5, 0x000d58a0}}, Y: Field{[10]uint32{0x019234d8, 0x01cb598a, 0x02b9cf4d, 0x00d729fe, 0x00fa1d0d, 0x02f2bf00, 0x01374bb0, 0x0163f333, 0x020d97aa, 0x003373d2}}}, + {X: Field{[10]uint32{0x02d4a3a1, 0x00cc5f21, 0x00a82b11, 0x01f7ed95, 0x03b1f2f0, 0x03eb062d, 0x01339e97, 0x025eaf4b, 0x0245f62e, 0x0033a770}}, Y: Field{[10]uint32{0x00d184d5, 0x0295857c, 0x00b7927b, 0x00c2f9bb, 0x02fcaf1b, 0x030deaf7, 0x03e8520e, 0x03ee3993, 0x0325342a, 0x003db878}}}, + {X: Field{[10]uint32{0x00858a12, 0x0275b8cb, 0x03dd542d, 0x023394e0, 0x02aab481, 0x02807ea2, 0x0271a8c1, 0x0112ea74, 0x033b48ee, 0x002b008b}}, Y: Field{[10]uint32{0x02ca76fa, 0x02e6ea5c, 0x01aaf45d, 0x01f99815, 0x02191e49, 0x00e58477, 0x009e0917, 0x03447c66, 0x03a891f8, 0x00078158}}}, + {X: Field{[10]uint32{0x0251d9f9, 0x026702e9, 0x024ff3a9, 0x020a2332, 0x0355a837, 0x02dbc89d, 0x02e57e6d, 0x033eab91, 0x0282cb12, 0x0034753d}}, Y: Field{[10]uint32{0x01e71a36, 0x016639e1, 0x02960488, 0x0192b2e3, 0x03016072, 0x0059c88c, 0x023b4b07, 0x0064c530, 0x03e5870e, 0x0006c66f}}}, + {X: Field{[10]uint32{0x031c8a37, 0x014c0ebf, 0x012ee243, 0x012cb401, 0x00892e75, 0x026f746a, 0x03bacd4f, 0x02be5117, 0x0171bbdd, 0x001e6588}}, Y: Field{[10]uint32{0x03b98a7d, 0x0056f8de, 0x0320ab85, 0x02a76bc1, 0x00fe47b6, 0x00d304d5, 0x0072f77b, 0x00afad15, 0x03de2a95, 0x002e2b09}}}, + {X: Field{[10]uint32{0x009d3b90, 0x00cb8f14, 0x038d8cf0, 0x02c60e83, 0x0120ecb3, 0x001868bc, 0x03c3573b, 0x02d812ec, 0x03c42390, 0x00111685}}, Y: Field{[10]uint32{0x013f97b1, 0x02b52c5a, 0x026aae34, 0x01079026, 0x024ea769, 0x03bfd259, 0x00057c87, 0x03f97283, 0x00887c07, 0x002dd7d0}}}, + {X: Field{[10]uint32{0x03402051, 0x020ef0c3, 0x02ccfb0e, 0x01244745, 0x038c39cd, 0x0345d5d8, 0x02c49a78, 0x03d1fd7e, 0x01f963a9, 0x001859ad}}, Y: Field{[10]uint32{0x012430b3, 0x005f77fa, 0x01d7e053, 0x03d56811, 0x02933d6d, 0x03b15d24, 0x03e46204, 0x02bac884, 0x02618302, 0x002e8cdd}}}, + {X: Field{[10]uint32{0x03251531, 0x00574fe2, 0x034a9293, 0x036e8d36, 0x0330b6db, 0x012379f8, 0x027d0e40, 0x006bfa39, 0x02742890, 0x0033599b}}, Y: Field{[10]uint32{0x0002304b, 0x0146040e, 0x024f9e54, 0x0147c46c, 0x01440959, 0x027f227b, 0x02398e74, 0x02950390, 0x00b943cb, 0x002bdcb6}}}, + {X: Field{[10]uint32{0x0123ac72, 0x0272eb41, 0x0014ee83, 0x02f35ee2, 0x015a6285, 0x036640d5, 0x01837a11, 0x01bf811b, 0x028cfd2f, 0x00320cef}}, Y: Field{[10]uint32{0x01a6af03, 0x00926132, 0x00ed603a, 0x02fbfa32, 0x02b6c07d, 0x01430ed3, 0x01751531, 0x008d8ea3, 0x010b4411, 0x001faa3e}}}, + {X: Field{[10]uint32{0x025ea477, 0x0000da7c, 0x03613982, 0x013fa109, 0x02e40e4a, 0x03a56c58, 0x010ac1f5, 0x034e1762, 0x03363036, 0x00330617}}, Y: Field{[10]uint32{0x02338236, 0x03bae7c9, 0x02b42832, 0x01d50157, 0x03f66d07, 0x027384bb, 0x02aabe5a, 0x02726262, 0x0036146d, 0x00381da2}}}, + {X: Field{[10]uint32{0x009c4a5a, 0x010f0a63, 0x01770479, 0x0043a4b2, 0x0177ccd9, 0x0101ee02, 0x03c9be70, 0x030aead9, 0x006324bb, 0x00052382}}, Y: Field{[10]uint32{0x02408797, 0x03f8eeb0, 0x036ee55d, 0x00c7edc5, 0x01b706a3, 0x004e3a5f, 0x02733ae6, 0x03f20277, 0x00859cdd, 0x00227a0f}}}, + {X: Field{[10]uint32{0x02c95c76, 0x038048af, 0x03a7e460, 0x012553d4, 0x010cf8b6, 0x00a8dd87, 0x008d9b19, 0x02d60d72, 0x01c1aba5, 0x0026c54e}}, Y: Field{[10]uint32{0x00efdc18, 0x03c8756b, 0x0395b967, 0x010a88c9, 0x00d8472e, 0x02a87389, 0x00895f13, 0x01676b53, 0x021945be, 0x000e4737}}}, + {X: Field{[10]uint32{0x024495cd, 0x02e29cc3, 0x03dd3e93, 0x01d2a5d2, 0x03a60327, 0x03d09f31, 0x029e575f, 0x00074dda, 0x02c175fb, 0x001a28b9}}, Y: Field{[10]uint32{0x00e00752, 0x00f7139e, 0x014f2557, 0x02df89cf, 0x030666ca, 0x03166591, 0x0269b741, 0x0037797c, 0x0084c8c3, 0x00054f99}}}, + {X: Field{[10]uint32{0x01dfb04e, 0x01b08a18, 0x030b66c3, 0x028b9f0b, 0x007669e9, 0x00cf332b, 0x02334405, 0x029030ed, 0x004935a5, 0x00163fa4}}, Y: Field{[10]uint32{0x0136e1bb, 0x03eed815, 0x01555b39, 0x009c569e, 0x0371ac1e, 0x0356669d, 0x0106e2a2, 0x0038b5c7, 0x01c59245, 0x002cda41}}}, + {X: Field{[10]uint32{0x02ac7080, 0x0169e0d7, 0x00378337, 0x029838a6, 0x0103e9bc, 0x026d809f, 0x01aff2a1, 0x0366c2ff, 0x0396dcbd, 0x00208f03}}, Y: Field{[10]uint32{0x02ad0a7f, 0x0334823c, 0x03db8895, 0x02c36410, 0x028831a2, 0x00efcf0d, 0x03eb6d54, 0x026962ea, 0x02ccf34d, 0x00364551}}}, + {X: Field{[10]uint32{0x02d14537, 0x03378800, 0x02caf533, 0x01493df7, 0x03d68121, 0x00c04fb9, 0x03e7b710, 0x03e42157, 0x02aee908, 0x001295ab}}, Y: Field{[10]uint32{0x0222b7a2, 0x02be42b1, 0x00d8d021, 0x03ecb80c, 0x023129a7, 0x01e43ae6, 0x01995b33, 0x00634846, 0x000133b7, 0x001f9832}}}, + {X: Field{[10]uint32{0x01240334, 0x01b28efe, 0x0168a71f, 0x03d27f82, 0x0382a64b, 0x02204c66, 0x0194e2b8, 0x03d7cb11, 0x0055e6c4, 0x001b03ce}}, Y: Field{[10]uint32{0x03b5203c, 0x03f8d348, 0x02fc83ac, 0x0346d355, 0x03e1478a, 0x0016bab4, 0x01ade853, 0x02eea12d, 0x036da9ef, 0x0017239e}}}, + {X: Field{[10]uint32{0x01ac9632, 0x02e8a8cd, 0x033313ae, 0x002d4923, 0x000496e4, 0x005cb992, 0x01de21cf, 0x01241c57, 0x032cd170, 0x003673e3}}, Y: Field{[10]uint32{0x00934344, 0x00e0570f, 0x028e6b07, 0x0242db0f, 0x0315867e, 0x00d755fd, 0x0198299c, 0x03e4c02f, 0x0251b440, 0x0024a9f0}}}, + {X: Field{[10]uint32{0x0193d898, 0x01d9fdee, 0x039e27c6, 0x00a3f3c6, 0x01775927, 0x026bcc0e, 0x027ed43d, 0x0371eebe, 0x00928b91, 0x0012ff2d}}, Y: Field{[10]uint32{0x005d14f7, 0x032a5269, 0x03dda7bf, 0x03a791c0, 0x001854a4, 0x00ea8cee, 0x00c9a4ae, 0x035042cd, 0x02f1ecd9, 0x0009da81}}}, + {X: Field{[10]uint32{0x03c434e8, 0x00066b08, 0x00792944, 0x01d7964a, 0x027cdcc5, 0x0055965b, 0x0193dee8, 0x00cbd13b, 0x0093ac40, 0x002af796}}, Y: Field{[10]uint32{0x0195c40a, 0x012c0360, 0x0116ed77, 0x02c93066, 0x0346162c, 0x033bc0be, 0x002af7a7, 0x018113a5, 0x00092b9e, 0x001780ea}}}, + {X: Field{[10]uint32{0x026e1cc5, 0x00ec3f54, 0x020a803b, 0x02b8c6f8, 0x004482f1, 0x00a07688, 0x00814b49, 0x02a3845e, 0x03077a98, 0x00081758}}, Y: Field{[10]uint32{0x03e4d780, 0x027fd41b, 0x036147a7, 0x03495595, 0x00b9cab7, 0x01b992ff, 0x015cb19d, 0x00d581ae, 0x015c943e, 0x0012ef8a}}}, + {X: Field{[10]uint32{0x001c43bd, 0x02337491, 0x00b7c3b9, 0x02f116fd, 0x01b59653, 0x01b980c7, 0x0228a423, 0x00e871b0, 0x0083e667, 0x0032d313}}, Y: Field{[10]uint32{0x031a2769, 0x013a3ab8, 0x01149cfe, 0x00307fa9, 0x0062f334, 0x016bf9c5, 0x002ff397, 0x01fa83df, 0x02763926, 0x00050b80}}}, + {X: Field{[10]uint32{0x00ca77a7, 0x02ec894b, 0x004f2b5a, 0x02cb7b1f, 0x0392ccf0, 0x024cd5bb, 0x0354a4b4, 0x02f7eceb, 0x00b27ff5, 0x0009687d}}, Y: Field{[10]uint32{0x035c3c38, 0x03fe5ecc, 0x03fe93e9, 0x022ca229, 0x0136c32e, 0x02647cb6, 0x033b3afc, 0x020d05f7, 0x0193153f, 0x0006c977}}}, + {X: Field{[10]uint32{0x0254237b, 0x029dea8a, 0x026dc89c, 0x015255ed, 0x015a1b71, 0x0195f2e2, 0x011c863a, 0x02835a94, 0x02a77eec, 0x00088bdd}}, Y: Field{[10]uint32{0x00b0b289, 0x01680bcb, 0x03492794, 0x0210bda8, 0x01a205c8, 0x019974a5, 0x03a598a8, 0x03e23421, 0x02e064ef, 0x002a3caf}}}, + {X: Field{[10]uint32{0x034dfa8d, 0x032f63ce, 0x002daec3, 0x009a67c7, 0x02379f5c, 0x024dad01, 0x03f10156, 0x01946d06, 0x028d1ad2, 0x000cb50c}}, Y: Field{[10]uint32{0x0188261d, 0x033a4c1e, 0x0290d204, 0x028741a4, 0x02df5de0, 0x0391e025, 0x00d40623, 0x028ced7d, 0x02e23294, 0x0027db79}}}, + {X: Field{[10]uint32{0x01f1d3f0, 0x0195a460, 0x01b14e82, 0x00c33e64, 0x01187d08, 0x01998adf, 0x01937900, 0x0335c0ec, 0x00be6948, 0x00337a7b}}, Y: Field{[10]uint32{0x03029720, 0x03a06c56, 0x015e24bc, 0x03ffe554, 0x01f5abe8, 0x022b55b1, 0x037794ce, 0x00634a6d, 0x03320e12, 0x0021221e}}}, + {X: Field{[10]uint32{0x0348947d, 0x0354f4e9, 0x00b80011, 0x01f89979, 0x02509f4e, 0x0141a801, 0x03435826, 0x03bd32a0, 0x005c3baa, 0x002f227d}}, Y: Field{[10]uint32{0x03e68475, 0x00a7d79b, 0x03a49511, 0x02bdc89a, 0x0209fa15, 0x00d3de6f, 0x0272fce5, 0x02c519e8, 0x00a2714d, 0x003bfd6f}}}, + {X: Field{[10]uint32{0x01b51d4f, 0x003dd237, 0x03df0994, 0x02e6d5fb, 0x0139b409, 0x010d2a6b, 0x014ba655, 0x02eff8af, 0x00c0eea2, 0x001899e3}}, Y: Field{[10]uint32{0x03a74acf, 0x0141470d, 0x00883673, 0x02e79ef3, 0x02a5cc8a, 0x03db7553, 0x0161245e, 0x034c7470, 0x034fd234, 0x00234e13}}}, + {X: Field{[10]uint32{0x02bc93d0, 0x027e4ce1, 0x02f8af21, 0x030d3fa1, 0x02df7c0a, 0x037e89cd, 0x01c89cf3, 0x0388958f, 0x0139c63a, 0x00057807}}, Y: Field{[10]uint32{0x00cfb13b, 0x01d56204, 0x03ef42bc, 0x0267e8c5, 0x01e7efb9, 0x025da618, 0x03251334, 0x032e0705, 0x0132314f, 0x0007d58d}}}, + {X: Field{[10]uint32{0x03ac10e3, 0x03cd92ca, 0x03eb97b8, 0x000c06f6, 0x0052c601, 0x010a2ba7, 0x018e813e, 0x009637fe, 0x03493493, 0x0013e34a}}, Y: Field{[10]uint32{0x0169b73f, 0x02c99380, 0x021bcd66, 0x039085b2, 0x031e8c58, 0x03e467d5, 0x00580283, 0x0176db00, 0x017b6795, 0x00231f44}}}, + {X: Field{[10]uint32{0x016f1d61, 0x02249dad, 0x0136f1a7, 0x02d3d124, 0x003b0d77, 0x0374d623, 0x03e397cd, 0x01ad8260, 0x031a2bf1, 0x00345338}}, Y: Field{[10]uint32{0x013f0910, 0x03cdcd2b, 0x0335611e, 0x031c9613, 0x01833f24, 0x0375eefd, 0x022ca6e4, 0x0360e8dc, 0x0220b227, 0x0026857d}}}, + {X: Field{[10]uint32{0x02f780f1, 0x03a38ed9, 0x008419c3, 0x028b104c, 0x00024c1a, 0x02ffa800, 0x00d656c9, 0x01d7d704, 0x034eb8c2, 0x000d4886}}, Y: Field{[10]uint32{0x03f8e808, 0x0317764e, 0x03fa0f8e, 0x01186d77, 0x0306888d, 0x009de195, 0x038382bb, 0x02bf2ef5, 0x02025274, 0x000f4716}}}, + {X: Field{[10]uint32{0x00a8ddc8, 0x02b02a8d, 0x0043c49e, 0x005dc9c2, 0x0083f686, 0x03d10ec8, 0x00ff6f29, 0x0306e3d1, 0x003b1c76, 0x0020bb67}}, Y: Field{[10]uint32{0x015f1340, 0x0077177a, 0x02fc48a9, 0x0162bbf5, 0x00e81f5a, 0x000009a4, 0x002081d9, 0x00ae19cd, 0x026bc2ab, 0x00098ba7}}}, + {X: Field{[10]uint32{0x00717b85, 0x0078d244, 0x02118d18, 0x012bfd71, 0x009c49b6, 0x010ba5f1, 0x02342f77, 0x02a8dba1, 0x020eacf2, 0x002467a5}}, Y: Field{[10]uint32{0x0145b861, 0x020bf936, 0x016505a0, 0x010b1e08, 0x03ef530d, 0x030ca7c4, 0x01ce9d5a, 0x0059e736, 0x014ea3ea, 0x0012d46a}}}, + {X: Field{[10]uint32{0x03c3ec7d, 0x03f4d996, 0x02c3065f, 0x0386b3c1, 0x02edca3d, 0x0190f398, 0x02abcafa, 0x01546afb, 0x023e20ce, 0x00336b2b}}, Y: Field{[10]uint32{0x02b95bb6, 0x00881c5b, 0x009b13d3, 0x0292cd07, 0x02235df4, 0x02953d3b, 0x00c326df, 0x001dab8a, 0x0313872b, 0x002aab2e}}}, + {X: Field{[10]uint32{0x02a5f2ab, 0x027389a4, 0x015a8f94, 0x03fed98f, 0x00de3a62, 0x001c9bc2, 0x0180f829, 0x017027cf, 0x00e21bd0, 0x00069142}}, Y: Field{[10]uint32{0x00ca97ba, 0x00c83d4b, 0x013e602b, 0x0315b497, 0x00c6e672, 0x02fc0a65, 0x00459bf4, 0x02c0cdd8, 0x03f0976e, 0x00149e03}}}, + {X: Field{[10]uint32{0x003a0b45, 0x005098a0, 0x018ddd52, 0x01dfcea8, 0x02e9129f, 0x03c9b262, 0x00f73d13, 0x03c972a5, 0x02ed5686, 0x002391bb}}, Y: Field{[10]uint32{0x01edcf4d, 0x0326bd87, 0x00200782, 0x0159843a, 0x027253d5, 0x01fc2bad, 0x03f2ed1e, 0x03ba9f21, 0x038d7041, 0x003b95b4}}}, + {X: Field{[10]uint32{0x017e4031, 0x0396ecda, 0x00532a92, 0x0079e828, 0x0168d617, 0x02d8611a, 0x01797c15, 0x02cc276b, 0x00fa3bd6, 0x001e0a44}}, Y: Field{[10]uint32{0x00e4b3f4, 0x0025d4d1, 0x022ddee4, 0x03fdb4fc, 0x00717914, 0x011ac2a0, 0x00c31b89, 0x00a8a3a1, 0x0365c44c, 0x003fc5e0}}}, + {X: Field{[10]uint32{0x01f64e8a, 0x00f246b9, 0x01041ae9, 0x02a3e41a, 0x0265c50a, 0x013c75f4, 0x002d0a29, 0x004329b3, 0x028cc5a7, 0x0000aae7}}, Y: Field{[10]uint32{0x03f89b9b, 0x00ebf269, 0x001c9db2, 0x000a84f6, 0x03185366, 0x0164d251, 0x03cf23da, 0x012eb419, 0x010fa225, 0x0002aaf3}}}, + {X: Field{[10]uint32{0x0382c9e5, 0x006f4758, 0x037a5fcb, 0x03091843, 0x03a094dd, 0x01494a4d, 0x020cc533, 0x016c8a0c, 0x03c44fb2, 0x00341199}}, Y: Field{[10]uint32{0x02b0f74e, 0x0351e52c, 0x00f5ce31, 0x03600c19, 0x026e5a91, 0x02b13ea1, 0x02f436ec, 0x01239e1a, 0x013f8bf0, 0x001f24d8}}}, + {X: Field{[10]uint32{0x0286b0f7, 0x012be0db, 0x01252def, 0x00a724d8, 0x00f157bd, 0x0160e265, 0x01b0476c, 0x03769294, 0x02f9799c, 0x002e711d}}, Y: Field{[10]uint32{0x0297932e, 0x02aad2b2, 0x029eff13, 0x036aa414, 0x03d1a9b0, 0x01a11549, 0x01cefbc4, 0x0122cfc9, 0x019bc779, 0x000bb1d8}}}, + {X: Field{[10]uint32{0x006eee85, 0x036a104a, 0x02e0d64f, 0x03ff7b8a, 0x004ef765, 0x03591ce7, 0x01d8c565, 0x0265012e, 0x01abf13f, 0x00242f7b}}, Y: Field{[10]uint32{0x00cf21f5, 0x00a04138, 0x037255c6, 0x0376e53d, 0x007f8bb8, 0x0061f49b, 0x02812a48, 0x0122ad2f, 0x0082d9a8, 0x002a7d1e}}}, + {X: Field{[10]uint32{0x00485c84, 0x001cdebf, 0x01e7ba68, 0x03377356, 0x03ff4208, 0x013afc3f, 0x02b83107, 0x01dcd300, 0x00a80217, 0x002830e5}}, Y: Field{[10]uint32{0x0109364b, 0x003975c3, 0x02e3fd64, 0x02d8bcd3, 0x00e835ca, 0x026dec59, 0x002434fe, 0x00bcd3f2, 0x0132b4c6, 0x00313c22}}}, + {X: Field{[10]uint32{0x00294c3e, 0x02ad434c, 0x00273b9a, 0x008fafab, 0x02bd3c29, 0x00b9da53, 0x00f949c7, 0x03a318a1, 0x01bd3896, 0x0006c0c6}}, Y: Field{[10]uint32{0x02ee339d, 0x03b54be8, 0x02080053, 0x01c8768c, 0x021401b6, 0x000edec6, 0x038233d7, 0x02ab9f97, 0x029b17c3, 0x000576ff}}}, + {X: Field{[10]uint32{0x03dc719d, 0x00b8f66f, 0x032ab699, 0x00ecea43, 0x001210eb, 0x01463730, 0x03a93540, 0x005afa89, 0x030fe92f, 0x0026453b}}, Y: Field{[10]uint32{0x03c4086b, 0x0370ac6c, 0x02b8398d, 0x00b218cc, 0x005e671d, 0x02bd968c, 0x01f3629f, 0x002c47a3, 0x00650cea, 0x001e82f4}}}, + {X: Field{[10]uint32{0x01f60d3e, 0x03b744f7, 0x03810daa, 0x01b5eb39, 0x015798ad, 0x02572585, 0x02fa1763, 0x03d8e1f6, 0x02195599, 0x000e9a3e}}, Y: Field{[10]uint32{0x00e71a89, 0x025afdf5, 0x0054f5cd, 0x03ba6a2b, 0x00de158e, 0x00190729, 0x00faef1e, 0x01a76ce5, 0x02e6a3f5, 0x001d15d6}}}, + {X: Field{[10]uint32{0x0288b2e5, 0x01a71817, 0x023859da, 0x03b1fc04, 0x0241193d, 0x006fff23, 0x01872b1b, 0x01f8c43c, 0x0141e2b6, 0x002dcd87}}, Y: Field{[10]uint32{0x00668344, 0x0241f860, 0x029c29b0, 0x02f7c42f, 0x00315347, 0x01b9eb34, 0x00f5890f, 0x026f29cf, 0x039566d4, 0x003ea75a}}}, + {X: Field{[10]uint32{0x01174e81, 0x0216e0c9, 0x01bc637b, 0x034c4ba6, 0x02aa93a4, 0x03edffe7, 0x03d13543, 0x011903db, 0x018742d8, 0x000d07a6}}, Y: Field{[10]uint32{0x03fcfc95, 0x00adae62, 0x007ac861, 0x0269bb5d, 0x01e95b4e, 0x018b97f0, 0x01cbcff7, 0x01861d84, 0x00dc91b4, 0x00312582}}}, + {X: Field{[10]uint32{0x0083e6f6, 0x03dd76b1, 0x0026e2a0, 0x02febe1d, 0x001f6420, 0x000b25c6, 0x00849094, 0x03d55d00, 0x0045de34, 0x0020f5a9}}, Y: Field{[10]uint32{0x01dddfc1, 0x030486e8, 0x030fd787, 0x00249df6, 0x00e9fbed, 0x012a5376, 0x01cf48a1, 0x03ed4d7b, 0x034458c8, 0x001ea1b6}}}, + {X: Field{[10]uint32{0x02ac351b, 0x02e12e49, 0x03bdda40, 0x0218bf3f, 0x0032d176, 0x01a92676, 0x0082bf1c, 0x032ba624, 0x035a014b, 0x0013c448}}, Y: Field{[10]uint32{0x014a2acf, 0x018cce7a, 0x022886e9, 0x03b6f967, 0x0308678d, 0x01dce72d, 0x00021c83, 0x009a745a, 0x00f15f31, 0x002d4189}}}, + {X: Field{[10]uint32{0x03ee2b89, 0x03a6a734, 0x0115b998, 0x024b0208, 0x02eafb38, 0x02db8f5f, 0x0285907a, 0x0384b3a9, 0x032721cf, 0x0023eed5}}, Y: Field{[10]uint32{0x02906680, 0x0248e8d9, 0x03ab791c, 0x0296be2f, 0x00ef1bb1, 0x0296d6a9, 0x018de8e2, 0x02386973, 0x0285c814, 0x00369ff9}}}, + {X: Field{[10]uint32{0x0096c3de, 0x00b167d5, 0x02bd63f5, 0x03cbf19c, 0x01286023, 0x00fd6627, 0x0205b1f5, 0x00fd7dd9, 0x023cb924, 0x00201329}}, Y: Field{[10]uint32{0x035233c6, 0x01c2c175, 0x01fd8431, 0x01b52722, 0x00865fab, 0x02bad13e, 0x038300ee, 0x00455a86, 0x0112eedb, 0x00000dca}}}, + {X: Field{[10]uint32{0x012a5365, 0x005da70b, 0x03bf58cc, 0x035c77a6, 0x0060b48e, 0x01598341, 0x018de870, 0x02a091ac, 0x006ab83c, 0x002c9e57}}, Y: Field{[10]uint32{0x0249d820, 0x0024d6ca, 0x0041f90d, 0x015e6f70, 0x01db6841, 0x021aa280, 0x03510441, 0x002dad34, 0x02b58853, 0x0019ba30}}}, + {X: Field{[10]uint32{0x02d9dad3, 0x0317814d, 0x02588208, 0x00ec640e, 0x00caf390, 0x001193ad, 0x0139d07c, 0x03645302, 0x004db61b, 0x0037ad4c}}, Y: Field{[10]uint32{0x015777ca, 0x0281aa53, 0x03b27762, 0x0360fdec, 0x0040507d, 0x039201cf, 0x00b62491, 0x0179d9a9, 0x0343e7e4, 0x00063553}}}, + {X: Field{[10]uint32{0x037714c4, 0x00f3aee6, 0x035cf774, 0x03a15d27, 0x01eb79d5, 0x00cd9a40, 0x0061d696, 0x03b0d2db, 0x0102d177, 0x000446fd}}, Y: Field{[10]uint32{0x016a4e54, 0x030e35da, 0x000f0bf8, 0x0083f99e, 0x0107d8ba, 0x0391e83c, 0x036bad45, 0x02ef33c0, 0x012abc38, 0x002fa035}}}, + {X: Field{[10]uint32{0x00be92a5, 0x006f4e37, 0x00f8b016, 0x01419d34, 0x01daceeb, 0x02e18e19, 0x014e71fd, 0x014e4fa3, 0x0343c15c, 0x00252c43}}, Y: Field{[10]uint32{0x01be6dc7, 0x02e6ddfd, 0x02e9bd25, 0x035fc682, 0x038d087d, 0x004161b3, 0x03f77291, 0x0230d96c, 0x032ea34e, 0x003b156b}}}, + {X: Field{[10]uint32{0x02895593, 0x007c6203, 0x02248d3b, 0x00b44051, 0x03fb4a42, 0x00b4c0da, 0x03e529d6, 0x01de1314, 0x03f22d44, 0x001189ea}}, Y: Field{[10]uint32{0x037b3e4a, 0x018140fa, 0x01c483a5, 0x03d31fa3, 0x00cbea9e, 0x01947a52, 0x00172d56, 0x02d66dce, 0x018d6110, 0x0022cd07}}}, + {X: Field{[10]uint32{0x017c355f, 0x02e91a0a, 0x02a80757, 0x02fb05ca, 0x03585dca, 0x037714c9, 0x035727b5, 0x03730dcd, 0x01cfdfea, 0x00067385}}, Y: Field{[10]uint32{0x01e60f81, 0x0333f613, 0x03a6625c, 0x01f816ce, 0x0283853e, 0x021b3bc9, 0x02ca9ec8, 0x024505cd, 0x015ece82, 0x00014195}}}, + {X: Field{[10]uint32{0x039a3e55, 0x0373f42a, 0x01ef0fe6, 0x00b85b4f, 0x01295068, 0x0387e45b, 0x03e97d80, 0x03f2ba30, 0x02818293, 0x001d6901}}, Y: Field{[10]uint32{0x008c7930, 0x01f45577, 0x01f22a04, 0x002fce7d, 0x03452678, 0x0254a62d, 0x039f2af4, 0x03893604, 0x01c0e02e, 0x0014a4b5}}}, + {X: Field{[10]uint32{0x033bf578, 0x03de6f07, 0x026f1cbb, 0x033a3cc8, 0x0388cb82, 0x03d29ccc, 0x03a341d4, 0x01da1ad1, 0x038def4b, 0x0029fae2}}, Y: Field{[10]uint32{0x018199a1, 0x03f24fef, 0x01cc880c, 0x028a1a19, 0x0124407c, 0x0129c962, 0x0352bf39, 0x015df2ce, 0x036fe238, 0x00217662}}}, + {X: Field{[10]uint32{0x03da647a, 0x024e37ac, 0x02c00e8a, 0x01114385, 0x016c9f83, 0x03067dae, 0x0352d143, 0x00759c2c, 0x02b5dcc9, 0x00296e68}}, Y: Field{[10]uint32{0x039571c1, 0x01cbca1e, 0x00c29634, 0x004ff45b, 0x0126fc4e, 0x009833fc, 0x0335aba1, 0x0011c590, 0x03a83985, 0x003c4b53}}}, + {X: Field{[10]uint32{0x00015cca, 0x00273211, 0x0217157c, 0x00c5e2b5, 0x01df58d8, 0x026c3f7d, 0x037c20ee, 0x02269977, 0x02ed48d5, 0x001e6671}}, Y: Field{[10]uint32{0x018f5756, 0x02dcc750, 0x010145bc, 0x003489d5, 0x00aaacaf, 0x034fc4b2, 0x00b3fecb, 0x030e8715, 0x01053706, 0x00055bd1}}}, + {X: Field{[10]uint32{0x009829b1, 0x02b4de71, 0x028e20fe, 0x0161b70b, 0x01422020, 0x030171eb, 0x01baade6, 0x03b746e1, 0x01f3b708, 0x00223fa0}}, Y: Field{[10]uint32{0x03727c01, 0x035035f7, 0x01b10d99, 0x03376a87, 0x008972a8, 0x0182814b, 0x00341502, 0x01f4aec5, 0x024fb04b, 0x003358b8}}}, + {X: Field{[10]uint32{0x03e86763, 0x015f57d3, 0x0264e895, 0x00dd421e, 0x01912165, 0x01a529df, 0x03192beb, 0x0187f908, 0x02b0cfcc, 0x00063ec3}}, Y: Field{[10]uint32{0x00169785, 0x00a3174e, 0x01922b1f, 0x038d548a, 0x0380f4a6, 0x03b61c75, 0x0288e230, 0x02d594e3, 0x031fdfe8, 0x000f3dca}}}, + {X: Field{[10]uint32{0x03d38aac, 0x006721bb, 0x00b660d9, 0x03ebad7f, 0x02004719, 0x02bc639d, 0x03171d5b, 0x03cb333f, 0x02312be4, 0x0036b6cc}}, Y: Field{[10]uint32{0x018bc0d7, 0x03d2cc3e, 0x039813d9, 0x00c31a9c, 0x0150e0b3, 0x02855112, 0x0340e423, 0x03a2f2c1, 0x005d752d, 0x002359e5}}}, + {X: Field{[10]uint32{0x039e5c8e, 0x015fc1a8, 0x039c2d80, 0x0271b070, 0x027b17e0, 0x038c416e, 0x03aa0cb0, 0x027d91ac, 0x00867cdd, 0x003c2e68}}, Y: Field{[10]uint32{0x02f4e9de, 0x032782d7, 0x01c81370, 0x000f052f, 0x003ff913, 0x020872ef, 0x01cf4319, 0x03460103, 0x025625e6, 0x000ad4d3}}}, + {X: Field{[10]uint32{0x02fcb7e0, 0x03efa2b0, 0x0132d406, 0x0199922e, 0x031cd601, 0x01cba350, 0x010e2536, 0x030e9f97, 0x03052e49, 0x00370382}}, Y: Field{[10]uint32{0x03b791d9, 0x0151f871, 0x01bea086, 0x03ce087f, 0x02223e7a, 0x02487892, 0x0139cb56, 0x01946933, 0x03868e1c, 0x003fe465}}}, + {X: Field{[10]uint32{0x02eb91ee, 0x02a9688c, 0x01038b74, 0x023c4604, 0x016bea74, 0x00571b29, 0x02c365b5, 0x03751cd7, 0x0298fb6d, 0x0039c72b}}, Y: Field{[10]uint32{0x01600266, 0x020af3c7, 0x0106ce66, 0x029ca007, 0x019ed731, 0x036f47d0, 0x03c5bc75, 0x0083db8b, 0x0018396c, 0x002012ba}}}, + {X: Field{[10]uint32{0x00ddfd8c, 0x01e4ad35, 0x03b9f88d, 0x01a081e6, 0x006b5d53, 0x02f4b29b, 0x0194d486, 0x0393fced, 0x01b2f7b2, 0x0014346d}}, Y: Field{[10]uint32{0x015cc744, 0x012f2213, 0x01f5b6e3, 0x039d0083, 0x015c554f, 0x02ae863f, 0x039b03f0, 0x0019821a, 0x00c518fa, 0x00155b3d}}}, + {X: Field{[10]uint32{0x002701aa, 0x00c8746f, 0x01747325, 0x021ad1c2, 0x00966348, 0x008fdb2d, 0x00c5e86f, 0x0365537e, 0x003e2bd5, 0x003021d0}}, Y: Field{[10]uint32{0x03507712, 0x028894a8, 0x00679003, 0x012f8ac0, 0x02258bc1, 0x03b61f81, 0x023a549e, 0x01cc001b, 0x0187d851, 0x00276d12}}}, + {X: Field{[10]uint32{0x016d6894, 0x003d45ef, 0x002b3798, 0x03d47a49, 0x014d45f8, 0x03da28a6, 0x00988fd3, 0x00d08b7a, 0x03f7f384, 0x0037440d}}, Y: Field{[10]uint32{0x01cccce1, 0x030646c9, 0x025f254f, 0x03395ac1, 0x021a9c08, 0x01cc24e9, 0x01ab8b76, 0x02f3762c, 0x01615cfb, 0x0032a39b}}}, + {X: Field{[10]uint32{0x00b5ceb4, 0x02731f4d, 0x01d1473a, 0x0295b026, 0x00424dfd, 0x0063dd93, 0x02840c3d, 0x01626fd2, 0x021967ca, 0x003788a6}}, Y: Field{[10]uint32{0x00122b22, 0x014456d5, 0x00be702d, 0x03046e3a, 0x00a1d352, 0x0391bfd1, 0x023f4b2a, 0x018ea50c, 0x01ca84ca, 0x002563f2}}}, + {X: Field{[10]uint32{0x00cdfd9c, 0x031fb881, 0x01cb1143, 0x03759ea3, 0x02f8a3a3, 0x0028d690, 0x0225f487, 0x0213e858, 0x03c9cc9d, 0x0000578c}}, Y: Field{[10]uint32{0x0260e920, 0x026e6cc1, 0x022562f8, 0x00571fcd, 0x02a59a1e, 0x01792b5a, 0x02058364, 0x033574d8, 0x0206ed48, 0x00104f00}}}, + {X: Field{[10]uint32{0x03d6bee0, 0x03902328, 0x00fc4394, 0x0266deac, 0x00dc010b, 0x02c86b8e, 0x023e3173, 0x01361cb4, 0x0161ca3c, 0x0014d089}}, Y: Field{[10]uint32{0x0103048e, 0x02ecfed8, 0x038b78de, 0x002e9c6e, 0x0020f2c5, 0x01e73872, 0x007c7ab7, 0x02427d94, 0x02e5e505, 0x001bba41}}}, + {X: Field{[10]uint32{0x0282b2fc, 0x00765ca6, 0x02a74a03, 0x0028245d, 0x020308bf, 0x0172dc72, 0x0000bbff, 0x013cdcca, 0x034f9b2c, 0x0020a773}}, Y: Field{[10]uint32{0x038483c4, 0x017dab97, 0x005d3352, 0x03101857, 0x01abe3f8, 0x03d621cf, 0x0249d3c9, 0x014e2938, 0x0200429e, 0x0011cde0}}}, + {X: Field{[10]uint32{0x02e911e5, 0x039970e2, 0x00ebe450, 0x02e8757d, 0x01c05594, 0x033fe5fc, 0x023b989a, 0x02c6c524, 0x02b73769, 0x003b5bdb}}, Y: Field{[10]uint32{0x02c38eb4, 0x01403868, 0x03fbe18e, 0x02768dcb, 0x01d52e2d, 0x027fd886, 0x018cd0b6, 0x02136e2e, 0x032f3fe5, 0x0037fb9b}}}, + {X: Field{[10]uint32{0x00455503, 0x009c8170, 0x013da303, 0x02fb2d24, 0x0370616e, 0x03cac612, 0x00d1982d, 0x01c83a3f, 0x03981fbe, 0x0011f948}}, Y: Field{[10]uint32{0x02f3e900, 0x038bd2ae, 0x012515ea, 0x02e1b118, 0x00179f4c, 0x0378379c, 0x020cfbd1, 0x030c3da0, 0x00ebf360, 0x002bf4b7}}}, + {X: Field{[10]uint32{0x01037312, 0x037812ea, 0x010df49f, 0x02a304f7, 0x00ba10e2, 0x017a2039, 0x03f1170f, 0x0387e1bc, 0x03d58f48, 0x002c0a4d}}, Y: Field{[10]uint32{0x00c18c4f, 0x034f1e8a, 0x03cf5347, 0x0093da32, 0x038a6c79, 0x00d5785f, 0x02de5805, 0x021158c5, 0x024f3e4c, 0x000372c2}}}, + {X: Field{[10]uint32{0x001989f8, 0x015ff43b, 0x025d44ee, 0x03af7f71, 0x03878486, 0x00f019ba, 0x0010c2dc, 0x03070c97, 0x00f53578, 0x0027e64f}}, Y: Field{[10]uint32{0x01c8bb52, 0x00ece18c, 0x0275d914, 0x01bc34e0, 0x01e83eda, 0x03986ebe, 0x026ea432, 0x02047359, 0x000b16b8, 0x0031ae35}}}, + {X: Field{[10]uint32{0x013240e6, 0x03e6e277, 0x0284e599, 0x0213cdbf, 0x01ce4317, 0x037f4743, 0x02730edb, 0x03b077c4, 0x00c25913, 0x00250edb}}, Y: Field{[10]uint32{0x03ed3fd0, 0x01dd2093, 0x0316d09f, 0x03ffead6, 0x029604d3, 0x0153bd56, 0x02d7ca32, 0x03fcff50, 0x02bacac2, 0x00396040}}}, + {X: Field{[10]uint32{0x01acfe0a, 0x02fcbc06, 0x00a6481f, 0x033d1fd6, 0x0059511d, 0x01ed69f2, 0x0043da4f, 0x03e7b146, 0x027e69b3, 0x00026c39}}, Y: Field{[10]uint32{0x01c54dd8, 0x00274c3b, 0x01c674a0, 0x00dbdf92, 0x022e074c, 0x01cccf29, 0x02defc7d, 0x03b2d338, 0x002817a4, 0x001a9377}}}, + {X: Field{[10]uint32{0x00571651, 0x03a19ce9, 0x03acc72a, 0x02d004da, 0x020c8246, 0x012329b9, 0x03b0fd40, 0x03463e30, 0x02339cd8, 0x0025f73b}}, Y: Field{[10]uint32{0x00e693e4, 0x00b4b49d, 0x03d510d8, 0x01192208, 0x0229b952, 0x0224cf71, 0x02e36cfc, 0x02fce62a, 0x0205cc20, 0x001858e8}}}, + {X: Field{[10]uint32{0x02292ced, 0x027fdeb4, 0x00267299, 0x003cadf7, 0x02798c94, 0x01286e80, 0x02a9c26f, 0x007b69f3, 0x02f92696, 0x00287979}}, Y: Field{[10]uint32{0x00d5f19d, 0x0234c6c2, 0x00fbeca1, 0x03e4ee7a, 0x03cfc07a, 0x01b65d95, 0x01384013, 0x003dd3b4, 0x037a6a71, 0x001409d2}}}, + {X: Field{[10]uint32{0x034884a9, 0x0210a596, 0x021a61a9, 0x02c61020, 0x001c21bd, 0x03f1dc60, 0x03c9bdc6, 0x0377f14b, 0x03cf7cdf, 0x0011cf57}}, Y: Field{[10]uint32{0x03d856af, 0x01f16c63, 0x02250eba, 0x03afa2f9, 0x0389ff95, 0x0320b656, 0x032d7036, 0x03d543fa, 0x02a70ad7, 0x000d220d}}}, + {X: Field{[10]uint32{0x0396f613, 0x0147a851, 0x009d454c, 0x004caec5, 0x00db8c1e, 0x00151326, 0x00c33b27, 0x02cb413f, 0x00427384, 0x0027061d}}, Y: Field{[10]uint32{0x00ae0a19, 0x00fdfd7f, 0x0342b791, 0x00d831c4, 0x02c1825d, 0x02573bee, 0x0212e475, 0x0001e4f6, 0x0043970f, 0x000b5b7b}}}, + {X: Field{[10]uint32{0x0162b154, 0x029aa981, 0x0351e0c7, 0x00a57d6f, 0x02ed63c7, 0x039d0392, 0x002d826b, 0x038afedd, 0x00469150, 0x00047387}}, Y: Field{[10]uint32{0x034fa33d, 0x02da9887, 0x00271aa3, 0x0232bca9, 0x0267f3b2, 0x03a2df64, 0x01f8b93b, 0x00a03eaf, 0x014fea38, 0x001ba194}}}, + {X: Field{[10]uint32{0x01656042, 0x0297159e, 0x031cd4d9, 0x01c52eb3, 0x03dde2fd, 0x0234731b, 0x013c3541, 0x0379bca2, 0x0104e4e2, 0x000780de}}, Y: Field{[10]uint32{0x00960755, 0x03a06963, 0x0221b462, 0x0214f007, 0x023c81ac, 0x002bc0d7, 0x028aa38a, 0x01a084a8, 0x01c934c2, 0x0006edd6}}}, + {X: Field{[10]uint32{0x00071d82, 0x007669f0, 0x02800995, 0x0178c731, 0x003f8d50, 0x03e78d88, 0x0294f240, 0x0266abc6, 0x006723f8, 0x0014bf25}}, Y: Field{[10]uint32{0x00bd6dbb, 0x0065a5f4, 0x039db924, 0x02cd2ce8, 0x0239c909, 0x01c2d1ee, 0x00dfb992, 0x00208083, 0x02e07543, 0x000118ca}}}, + {X: Field{[10]uint32{0x0242b20d, 0x027600c1, 0x02a4ff9e, 0x02d35e37, 0x0235069e, 0x025bd4e1, 0x00f9e394, 0x00672c85, 0x01059975, 0x0032d616}}, Y: Field{[10]uint32{0x0093ac7d, 0x038e44fb, 0x02d45064, 0x03cd6643, 0x007131b2, 0x038b5794, 0x02a0f51c, 0x01d68790, 0x02e7a5b4, 0x0006e7d0}}}, + {X: Field{[10]uint32{0x00a69c46, 0x02b803ed, 0x03a12cec, 0x00368471, 0x03e7ab18, 0x034def34, 0x03275845, 0x011561d5, 0x005729f1, 0x000e0b0a}}, Y: Field{[10]uint32{0x00039440, 0x03079f95, 0x008e4a25, 0x028f82c9, 0x03495907, 0x03c4a1a4, 0x02586843, 0x003ecdb8, 0x011220a7, 0x0032c9fa}}}, + {X: Field{[10]uint32{0x034e5024, 0x03b2e213, 0x0164b6dc, 0x00fecbe5, 0x02a4dd61, 0x02cce9a4, 0x00456dce, 0x0039263e, 0x02c6c285, 0x0005bc21}}, Y: Field{[10]uint32{0x039339a9, 0x03bbfb49, 0x01df312d, 0x033b26b5, 0x0073cb5e, 0x0169940d, 0x008ca682, 0x004620d1, 0x020888eb, 0x000b854a}}}, + {X: Field{[10]uint32{0x01a02492, 0x03585dd9, 0x009506ee, 0x007d99cc, 0x014439a5, 0x011ba89d, 0x030f0ae4, 0x00d5dd54, 0x011b1f0a, 0x001d626f}}, Y: Field{[10]uint32{0x00462d49, 0x0365d966, 0x0389c00a, 0x030d8c30, 0x0004076f, 0x00534d8d, 0x01771bb0, 0x02054c79, 0x0212d375, 0x000b6103}}}, + {X: Field{[10]uint32{0x00930890, 0x00c9bd35, 0x004469a0, 0x03d689ad, 0x01a80cc5, 0x030efbba, 0x02dbd2b0, 0x00e944f7, 0x0240cce6, 0x00062e6b}}, Y: Field{[10]uint32{0x022690e4, 0x0293ae4a, 0x0118acf6, 0x035e382b, 0x039e0032, 0x02c9c342, 0x03571382, 0x00f111c6, 0x024dd5ed, 0x00092e1a}}}, + {X: Field{[10]uint32{0x03ebb48a, 0x03a2a2b4, 0x009a4ccf, 0x01b840b2, 0x0394e9ba, 0x012fa189, 0x030db5d1, 0x007bd900, 0x00a4acc7, 0x002307dd}}, Y: Field{[10]uint32{0x0245677a, 0x02c59ce4, 0x01c9416e, 0x00664b57, 0x021af1c1, 0x022c9b21, 0x03ba735c, 0x0294a478, 0x011998ae, 0x0029e7c0}}}, + {X: Field{[10]uint32{0x02bfb080, 0x00b080f0, 0x010465cd, 0x00223b1f, 0x002c0fca, 0x000e096d, 0x0157ba0d, 0x02aadd6d, 0x012d36bf, 0x00236016}}, Y: Field{[10]uint32{0x0151d3f6, 0x02d19bc0, 0x03a51859, 0x01504335, 0x027671a6, 0x014cff4a, 0x00a1bd4a, 0x01d14d34, 0x008791f2, 0x000f91e5}}}, + {X: Field{[10]uint32{0x030ca248, 0x0095d959, 0x02770f71, 0x03a78114, 0x03f36782, 0x00b159dd, 0x005046cf, 0x038563b2, 0x0319f477, 0x003aac2e}}, Y: Field{[10]uint32{0x00c04640, 0x01d3329f, 0x01ebd700, 0x0190fc62, 0x0337f0bd, 0x00ae81c7, 0x0355e563, 0x00ebd36b, 0x00812309, 0x00289f5c}}}, + {X: Field{[10]uint32{0x020a039c, 0x00cb1a8a, 0x0399bdb5, 0x00776d21, 0x0109647e, 0x0149833a, 0x03b249fd, 0x00be89b4, 0x01c9ebbb, 0x003fc343}}, Y: Field{[10]uint32{0x02b31fa9, 0x00e50bbe, 0x010233c4, 0x03d59884, 0x02fad5b0, 0x0366dd82, 0x01c35055, 0x007e2f38, 0x02ae7f16, 0x0004ac3d}}}, + {X: Field{[10]uint32{0x0037d526, 0x00aaa58e, 0x030ad42a, 0x0080fb9a, 0x02be22b3, 0x02c22def, 0x03403468, 0x02f46e48, 0x023571db, 0x0036268c}}, Y: Field{[10]uint32{0x02e3cf27, 0x02dd084d, 0x03b62146, 0x0241551b, 0x03db4a04, 0x039bdbc7, 0x008124d9, 0x03c59cc4, 0x01b99988, 0x0009768d}}}, + {X: Field{[10]uint32{0x025b43fd, 0x013004a4, 0x00a229ec, 0x0055574d, 0x0313ffb3, 0x019d47df, 0x03cdafa8, 0x02acb10c, 0x023bf01c, 0x003c5400}}, Y: Field{[10]uint32{0x02c7a9cc, 0x030f4cce, 0x03f341a9, 0x01a881ca, 0x038ac37a, 0x01ea7920, 0x00966b71, 0x032259b7, 0x0221026a, 0x000c7dc3}}}, + {X: Field{[10]uint32{0x003af2a8, 0x03b80672, 0x0070d9b3, 0x032382d1, 0x0276f442, 0x030b3436, 0x02e9d5e2, 0x0025e1ca, 0x013b2d58, 0x003663af}}, Y: Field{[10]uint32{0x01dba3f5, 0x005f249d, 0x00823e00, 0x01629453, 0x00930fb3, 0x029b1c89, 0x03f9873d, 0x0065c0d2, 0x02a95a06, 0x0027b56d}}}, + {X: Field{[10]uint32{0x03c3c746, 0x03ec06f2, 0x01827583, 0x00efe9df, 0x02817353, 0x03cf2a05, 0x002e313d, 0x0253bb7f, 0x0185833a, 0x00156d8b}}, Y: Field{[10]uint32{0x024a835c, 0x02b4444d, 0x0189715b, 0x02fd1320, 0x011f4dbb, 0x0269e84e, 0x01eb9211, 0x016bdede, 0x03730cb9, 0x0027e121}}}, + {X: Field{[10]uint32{0x01718de6, 0x003fb3ef, 0x021ca286, 0x01268a9e, 0x00ec759c, 0x01b070ff, 0x0069de8f, 0x00fe4d13, 0x0176fef7, 0x0037ebd3}}, Y: Field{[10]uint32{0x025a0671, 0x034c509c, 0x01971357, 0x0054656f, 0x017fba1f, 0x00db64fb, 0x0009f94c, 0x030a1fd9, 0x029344e2, 0x002b12bd}}}, + {X: Field{[10]uint32{0x01fe29da, 0x01fcf9b1, 0x00bf838b, 0x00f16043, 0x03a7839f, 0x005bb88a, 0x0020f29a, 0x0248b0dd, 0x00a34510, 0x00212911}}, Y: Field{[10]uint32{0x0114f06a, 0x02615404, 0x0175fa18, 0x01c032fe, 0x026e89af, 0x01cc1a7f, 0x03f420a6, 0x0304b850, 0x01802215, 0x003bdccf}}}, + {X: Field{[10]uint32{0x032212af, 0x006a94e9, 0x02548629, 0x01260e24, 0x032c3377, 0x025a0468, 0x01d24d12, 0x01c020f7, 0x021146c8, 0x0035f213}}, Y: Field{[10]uint32{0x00844ac4, 0x03350184, 0x01745f84, 0x0344135e, 0x019579b2, 0x0202bb18, 0x01357e54, 0x0102f70f, 0x0158a3be, 0x002c61f7}}}, + {X: Field{[10]uint32{0x0198051d, 0x03a9e215, 0x02a069ff, 0x02d5c68b, 0x00c7fca4, 0x01d41cb3, 0x029f6165, 0x0022fbce, 0x027fa70b, 0x003f7b70}}, Y: Field{[10]uint32{0x03b9bf9a, 0x0118a901, 0x01fbb3ec, 0x01379c91, 0x0253f6f5, 0x029fd378, 0x014d279b, 0x016a780d, 0x031a1c57, 0x003fa6de}}}, + {X: Field{[10]uint32{0x03122e77, 0x0171e57b, 0x039a5c2d, 0x0141365a, 0x03f950c2, 0x01610dec, 0x0022b350, 0x0331aa48, 0x038ad3f2, 0x0033e9d1}}, Y: Field{[10]uint32{0x021409c4, 0x02516c89, 0x023bb158, 0x0028f6a1, 0x022ad780, 0x03f7530b, 0x00f8eedf, 0x00a0d4d5, 0x01cae959, 0x003cf923}}}, + {X: Field{[10]uint32{0x020eefe2, 0x01f73a3b, 0x023f8033, 0x02f36377, 0x02aa1584, 0x01d9e3f3, 0x03b7493d, 0x00825dc3, 0x03f83fd6, 0x0023a455}}, Y: Field{[10]uint32{0x0205351b, 0x027ce94e, 0x0188ac8d, 0x016913ea, 0x003322fb, 0x02d2c8a7, 0x00f91df4, 0x037edae9, 0x02898c05, 0x00181e6e}}}, + {X: Field{[10]uint32{0x03116f75, 0x022e4a00, 0x01dfdbea, 0x03f1a9fe, 0x029d422f, 0x02f77fc8, 0x00eb80a9, 0x02b0c3b1, 0x03b6103e, 0x001efd7b}}, Y: Field{[10]uint32{0x03a71a3b, 0x00e24c4e, 0x03e67ba1, 0x0130d54f, 0x012cba4b, 0x015e5850, 0x01355542, 0x007b7f96, 0x02596479, 0x003beb6d}}}, + {X: Field{[10]uint32{0x00e8df0b, 0x009e0834, 0x0153e85f, 0x03f22747, 0x01690a13, 0x01da5c1e, 0x007b1b53, 0x030b49a3, 0x02b7b7b2, 0x003d6e80}}, Y: Field{[10]uint32{0x02465485, 0x03c54567, 0x013a3af7, 0x01930f1e, 0x00a9266b, 0x034b510c, 0x00329d19, 0x003906ff, 0x0126b264, 0x00198c5b}}}, + {X: Field{[10]uint32{0x03004475, 0x01262fff, 0x008284a1, 0x0297c494, 0x0387c10d, 0x008a547e, 0x02bc3dbf, 0x029325b4, 0x01f3dcec, 0x0017aab3}}, Y: Field{[10]uint32{0x011f122d, 0x0094652b, 0x02106c8c, 0x00425dfa, 0x00b38f58, 0x020c7341, 0x0185d404, 0x0338245a, 0x03ed9721, 0x0032cf6c}}}, + {X: Field{[10]uint32{0x024a5554, 0x0169da29, 0x01e4177c, 0x02fd3e8b, 0x01d1320a, 0x03544cdc, 0x0152ba6a, 0x0044d14d, 0x0017b8d6, 0x00073f97}}, Y: Field{[10]uint32{0x011dcd5d, 0x03a91aff, 0x008945ed, 0x039801e8, 0x0099bcab, 0x00c67dd0, 0x024a2f7e, 0x02e21c79, 0x00f64846, 0x0014e0df}}}, + {X: Field{[10]uint32{0x025dbc10, 0x007c28de, 0x028805e2, 0x02ed1391, 0x02286f47, 0x004843ef, 0x0091dd2a, 0x03321873, 0x03478a2c, 0x0024aa0f}}, Y: Field{[10]uint32{0x0199de94, 0x03d53d72, 0x01043684, 0x03e43b0d, 0x000cb69f, 0x006604cb, 0x0270b8bc, 0x016c0be0, 0x0065fcd4, 0x003fb8d7}}}, + {X: Field{[10]uint32{0x02d277d3, 0x012ada72, 0x01dd14f7, 0x034c92fd, 0x0173c07a, 0x00d6f6de, 0x0186ea10, 0x00e6c3d3, 0x01bad5d5, 0x0005c8a1}}, Y: Field{[10]uint32{0x02ada654, 0x0308be6a, 0x00897314, 0x0100a22d, 0x02cfc290, 0x03b8f883, 0x03afa15c, 0x018d9382, 0x0140cf35, 0x00116afe}}}, + {X: Field{[10]uint32{0x03164762, 0x01badcf2, 0x0032c764, 0x0204e817, 0x013126ce, 0x03e45637, 0x014ae08b, 0x026eae15, 0x015392e1, 0x002b45ef}}, Y: Field{[10]uint32{0x01065586, 0x0115d323, 0x01b94e16, 0x014625be, 0x038139c6, 0x0275c353, 0x01d4f47d, 0x00e61ddd, 0x00191c83, 0x000284a6}}}, + {X: Field{[10]uint32{0x02bdeb1c, 0x01f2cc4b, 0x00a12526, 0x001f1019, 0x03c23fd3, 0x00f94470, 0x02ce9e91, 0x02a2707d, 0x033e91a4, 0x00041086}}, Y: Field{[10]uint32{0x02a53319, 0x0164a18e, 0x03cc1923, 0x00036b1d, 0x03985697, 0x01cc4632, 0x02b8a510, 0x03c3f461, 0x01d09e49, 0x0014e6ed}}}, + {X: Field{[10]uint32{0x01de5bfd, 0x00d6c188, 0x030ff397, 0x03787838, 0x012e8476, 0x0198caa9, 0x039eba60, 0x00a8f772, 0x00fa7815, 0x00310eb7}}, Y: Field{[10]uint32{0x00abdebf, 0x00469567, 0x018801a9, 0x0389815f, 0x031e81c6, 0x036b2ede, 0x03d04f05, 0x01602e11, 0x01ca2122, 0x001b7742}}}, + {X: Field{[10]uint32{0x00bf9a73, 0x036401a6, 0x0227b5c8, 0x00764aab, 0x0014434f, 0x0279f662, 0x02b9e50d, 0x01634131, 0x00cb603a, 0x003dea67}}, Y: Field{[10]uint32{0x031a7ccb, 0x00e9df69, 0x01b0878a, 0x01332bf2, 0x005e6293, 0x032dd04c, 0x02d68091, 0x00e4eba5, 0x024476f4, 0x003337f0}}}, + {X: Field{[10]uint32{0x0209c826, 0x01d6f9c3, 0x01aacb31, 0x005a7492, 0x02f602d5, 0x028b2a6f, 0x038f44f4, 0x013a8d40, 0x01bf7017, 0x0026af25}}, Y: Field{[10]uint32{0x03adfe0c, 0x00663835, 0x03763617, 0x036d32ad, 0x0222a9fe, 0x0233b6b2, 0x027d2c9f, 0x03e28f50, 0x02ed3e71, 0x001b3ef3}}}, + {X: Field{[10]uint32{0x005d8d82, 0x02ee7b57, 0x035c5546, 0x03f03414, 0x03d7bd08, 0x0124f273, 0x034af06b, 0x0121cfb2, 0x009335c8, 0x00229f2a}}, Y: Field{[10]uint32{0x01e31bc1, 0x000064c8, 0x005ba07b, 0x03fb4bca, 0x01209ae3, 0x010511e6, 0x031ee4e5, 0x00f021cb, 0x0372090d, 0x0009462c}}}, + {X: Field{[10]uint32{0x024d1c3e, 0x032489e9, 0x03b79ff1, 0x0373091b, 0x02b39fdb, 0x018be352, 0x01182fd8, 0x018a365a, 0x03798649, 0x001c3238}}, Y: Field{[10]uint32{0x02ea3cbb, 0x0038c849, 0x0386f7f5, 0x005d3bf6, 0x03936c95, 0x03558823, 0x0297d9ef, 0x00292bb0, 0x02d527ec, 0x0031e4c6}}}, + {X: Field{[10]uint32{0x01002121, 0x00b58a0c, 0x0076b957, 0x039f0616, 0x00934a82, 0x012023f7, 0x01dcf61b, 0x007b81c7, 0x02b40612, 0x0035e0fd}}, Y: Field{[10]uint32{0x029c7fbb, 0x007662d7, 0x0262ca03, 0x0055a52e, 0x0028b3ed, 0x02699226, 0x0107c82b, 0x01a52678, 0x01841422, 0x002aa4af}}}, + {X: Field{[10]uint32{0x03654c18, 0x01f939de, 0x007581a1, 0x025671de, 0x02b75927, 0x03aa3931, 0x01ffbb87, 0x02d0eb2b, 0x021c29ab, 0x00307c1a}}, Y: Field{[10]uint32{0x03ecdbf0, 0x006497be, 0x005476cd, 0x01c2a906, 0x03bc1024, 0x03968263, 0x01b0e7d9, 0x010b3eae, 0x01e2f1db, 0x00076b83}}}, + {X: Field{[10]uint32{0x02cc5105, 0x01f98b94, 0x0072487b, 0x009d21a6, 0x02d1498a, 0x0085c998, 0x02633ea3, 0x02d61e19, 0x02113205, 0x000ab5d3}}, Y: Field{[10]uint32{0x00ff779e, 0x01176834, 0x02e105de, 0x01652e2f, 0x02b5c851, 0x01d5720e, 0x01aa7d30, 0x0287f589, 0x0107de1f, 0x0031c31d}}}, + {X: Field{[10]uint32{0x037408b6, 0x00025e35, 0x01ac03d8, 0x015dd2b2, 0x03a9e32b, 0x01c713d5, 0x0374e233, 0x01a919ba, 0x01ad7224, 0x003d243a}}, Y: Field{[10]uint32{0x01dc3d6a, 0x003c06aa, 0x01fb963a, 0x006a2d12, 0x0377e49a, 0x03096141, 0x02ef15e4, 0x005a1ee9, 0x027f8fdd, 0x00151bcd}}}, + {X: Field{[10]uint32{0x001d6149, 0x008cdce6, 0x030553f1, 0x03143781, 0x0280c431, 0x017e2ecc, 0x01788b05, 0x02da5f81, 0x00918357, 0x0008140a}}, Y: Field{[10]uint32{0x028e3b0d, 0x01aaf411, 0x02777796, 0x016d71de, 0x019489ee, 0x0214bf42, 0x01a67712, 0x00388963, 0x00e54411, 0x000e7410}}}, + {X: Field{[10]uint32{0x006eae95, 0x0007acbe, 0x005d1bb0, 0x026780e3, 0x02e4b782, 0x0137a4a5, 0x0359915d, 0x028e8fbb, 0x038ec169, 0x001ba46e}}, Y: Field{[10]uint32{0x00877dfd, 0x0252e8a0, 0x008872ae, 0x03574823, 0x0045305d, 0x0227eb12, 0x0034063a, 0x0327c459, 0x029788f8, 0x0034b084}}}, + {X: Field{[10]uint32{0x03a34905, 0x01e2ec5a, 0x02a01906, 0x02ea79f7, 0x0339e7d0, 0x00796b54, 0x00d0d2fe, 0x0102c184, 0x03c839fc, 0x0033ca51}}, Y: Field{[10]uint32{0x0337c63d, 0x00502c8f, 0x007baaec, 0x01a84c7b, 0x018db00f, 0x01cba1d7, 0x0358d7b1, 0x0354fc35, 0x030f7f0c, 0x00185169}}}, + {X: Field{[10]uint32{0x022366f1, 0x01861d3e, 0x02864ad1, 0x0306b0f1, 0x001c8db1, 0x02b4ca8a, 0x01c9b010, 0x029b2158, 0x0387ea93, 0x002d23e0}}, Y: Field{[10]uint32{0x022d253c, 0x00c5749e, 0x0276b375, 0x02077e10, 0x009f46bd, 0x018273f2, 0x03d971b3, 0x01f4f89b, 0x0333cbe0, 0x0000b2ac}}}, + {X: Field{[10]uint32{0x02a1f827, 0x007b6850, 0x0315ef39, 0x013a0515, 0x0030f605, 0x025bf50f, 0x00ae58c6, 0x00b4d393, 0x03660c57, 0x001f12d7}}, Y: Field{[10]uint32{0x01843d97, 0x034cab66, 0x033b008e, 0x02b57e53, 0x02d0adc2, 0x01848cb0, 0x007c5fcc, 0x016bc0e4, 0x024fbe12, 0x000f2f89}}}, + {X: Field{[10]uint32{0x010d86e8, 0x02a17821, 0x02567378, 0x0147d756, 0x018fe24e, 0x01e1d636, 0x027f9890, 0x02786588, 0x0368d464, 0x00395e58}}, Y: Field{[10]uint32{0x02c9d4a7, 0x030d53bd, 0x0089646e, 0x02e35982, 0x021fa111, 0x01e9f92f, 0x02880bf6, 0x0244a26b, 0x0343c9a6, 0x0001d2ec}}}, + {X: Field{[10]uint32{0x004d637f, 0x00ae963f, 0x016509f0, 0x00994f1f, 0x0167c1ab, 0x038f2976, 0x01b88416, 0x03a7bf06, 0x025efe83, 0x0037e841}}, Y: Field{[10]uint32{0x00a5042d, 0x020fbb43, 0x00a231ec, 0x00668aa8, 0x02e23fdf, 0x021794d4, 0x0270e046, 0x00dee8bc, 0x0167eb02, 0x00008b49}}}, + {X: Field{[10]uint32{0x028af132, 0x01ecdea4, 0x01f2f234, 0x01133c4c, 0x008f4638, 0x039c42e0, 0x01a3ce98, 0x030cca3f, 0x00aad436, 0x000ba876}}, Y: Field{[10]uint32{0x0298dc4c, 0x0187cc43, 0x004328fc, 0x0081e80d, 0x0213ff96, 0x033ca92c, 0x00a243cc, 0x02b44160, 0x020fb8c2, 0x000cfe9f}}}, + {X: Field{[10]uint32{0x0167253f, 0x01477975, 0x031b4c0a, 0x01b3e2a4, 0x03ab6a97, 0x039677cd, 0x008298b5, 0x02bcfe9e, 0x00518122, 0x0004ab85}}, Y: Field{[10]uint32{0x0124877d, 0x034c6807, 0x015a7926, 0x02bad555, 0x021c3ff9, 0x038fc296, 0x02fa7329, 0x0074bb78, 0x01d2b327, 0x00217fc7}}}, + {X: Field{[10]uint32{0x01bf6619, 0x01164c25, 0x00270856, 0x03bd57be, 0x03125579, 0x03b1d68e, 0x02b84fed, 0x02bc6a9c, 0x01efb588, 0x003f51b8}}, Y: Field{[10]uint32{0x03a51b17, 0x01f2dec9, 0x01ea40f5, 0x01eba071, 0x03342e6b, 0x01ce8abf, 0x007d477c, 0x00a4bd83, 0x006eceb6, 0x00341ab7}}}, + {X: Field{[10]uint32{0x0332b52b, 0x024342df, 0x01e614a2, 0x011ac5cb, 0x01c7a179, 0x02f88ab3, 0x009e1bf0, 0x0347bc71, 0x013eb8c0, 0x0003b5f6}}, Y: Field{[10]uint32{0x02303ada, 0x0233a7ec, 0x02246f36, 0x02129a33, 0x02b55522, 0x010aafac, 0x036668a7, 0x0070ebe3, 0x030a39a8, 0x001343b0}}}, + {X: Field{[10]uint32{0x029619ef, 0x0022db43, 0x034dc9d8, 0x004cd893, 0x01585179, 0x01d701b7, 0x02bda814, 0x01e69a7f, 0x03a5cd0e, 0x003f33f7}}, Y: Field{[10]uint32{0x010adf49, 0x009106b7, 0x015139bd, 0x012b5838, 0x02ec6232, 0x024aa58d, 0x01959c69, 0x026fb7e2, 0x000d11d0, 0x001e6e41}}}, + {X: Field{[10]uint32{0x034ac477, 0x02955912, 0x00010a57, 0x029c8ad1, 0x0316823e, 0x02f1c532, 0x02044b27, 0x026bfb4a, 0x02b86a9b, 0x0020c5d8}}, Y: Field{[10]uint32{0x0156c708, 0x005a7926, 0x02ff69c3, 0x0372989a, 0x032754c1, 0x02137f5d, 0x00b3f77f, 0x02ff72d2, 0x00628ef3, 0x00051eb8}}}, + {X: Field{[10]uint32{0x02f26b01, 0x00ee6753, 0x02fb3490, 0x0187c995, 0x01f92cc4, 0x03f8333e, 0x0370adbb, 0x014c0f23, 0x0001a84d, 0x000cd123}}, Y: Field{[10]uint32{0x03b8f2ff, 0x03a9507f, 0x0095f736, 0x00f1bf5f, 0x02208ad0, 0x03b9fe41, 0x00a82840, 0x02e98723, 0x03490ae8, 0x00395c9c}}}, + {X: Field{[10]uint32{0x03d215a6, 0x01533081, 0x024a2482, 0x036ac66c, 0x0160df85, 0x003aebdb, 0x03ccb8c5, 0x004c1055, 0x02616ddf, 0x00248284}}, Y: Field{[10]uint32{0x028d0f4e, 0x028f283c, 0x02e369f1, 0x00738313, 0x03e2cb67, 0x02a302e5, 0x02f7a11c, 0x03a240f4, 0x00f9cc91, 0x00067935}}}, + {X: Field{[10]uint32{0x036b1ba4, 0x03f98b94, 0x026b7fca, 0x029712e4, 0x01458385, 0x02eb0971, 0x020ac00c, 0x002e70fd, 0x021d3e37, 0x00077e33}}, Y: Field{[10]uint32{0x0099a92b, 0x039f9814, 0x01083533, 0x03d6f1c0, 0x023fcbab, 0x01ca4253, 0x02f61602, 0x0141e54a, 0x006ee363, 0x000d137d}}}, + {X: Field{[10]uint32{0x038b7b72, 0x02ca2074, 0x013b6286, 0x03236036, 0x022e2243, 0x00de8149, 0x0018175c, 0x009ae04f, 0x007dabfe, 0x001c89e1}}, Y: Field{[10]uint32{0x03973d24, 0x02622e29, 0x03364622, 0x0104311a, 0x0128b5aa, 0x0185973e, 0x0289c934, 0x00f37654, 0x01eb33da, 0x002fb79e}}}, + {X: Field{[10]uint32{0x03f7fb8d, 0x027ca4bb, 0x01995972, 0x013c9b63, 0x003caff7, 0x03321041, 0x02571f8c, 0x022feac0, 0x0259e121, 0x001b7bee}}, Y: Field{[10]uint32{0x00340a04, 0x025aa353, 0x001a6956, 0x00156487, 0x002c188c, 0x034d39df, 0x03770d1b, 0x03ef165b, 0x028e21f2, 0x00135eea}}}, + {X: Field{[10]uint32{0x002d6bd3, 0x00581478, 0x020f990b, 0x006ad8c6, 0x0208302e, 0x02b7d4ef, 0x031ae022, 0x01f491ac, 0x00eff512, 0x003199fd}}, Y: Field{[10]uint32{0x02d34cf5, 0x00312936, 0x032373e8, 0x00f549eb, 0x02f8de28, 0x01f5d1a8, 0x00d822c3, 0x02f7dbf5, 0x0276ce11, 0x000f5ef3}}}, + {X: Field{[10]uint32{0x0229d866, 0x00b1cbf3, 0x03d2355c, 0x02e39aec, 0x006fbca1, 0x00e8aac0, 0x00dcc242, 0x0083d664, 0x02744416, 0x003b67a1}}, Y: Field{[10]uint32{0x0006ad30, 0x01f08a96, 0x021a5829, 0x01c47b0d, 0x027c03dd, 0x0024c37b, 0x01a12f33, 0x0268aee0, 0x019bb428, 0x0019357b}}}, + {X: Field{[10]uint32{0x0176fb24, 0x03ae630c, 0x02ea0b0e, 0x03bab114, 0x03219e57, 0x018d13bc, 0x0000b256, 0x033b80cf, 0x0057e6b0, 0x0021a8db}}, Y: Field{[10]uint32{0x02fff739, 0x03a36cfa, 0x02f25135, 0x00f9e686, 0x01b147b4, 0x02564ad7, 0x01038748, 0x01637d38, 0x01da9e9b, 0x002d3d2f}}}, + {X: Field{[10]uint32{0x00cca913, 0x0248a02f, 0x00e04337, 0x0208779c, 0x01fd02bf, 0x0285478f, 0x02105acb, 0x01bfce83, 0x03844539, 0x000b88dd}}, Y: Field{[10]uint32{0x03148551, 0x01c5b0d9, 0x0304fc0b, 0x03728cd8, 0x00f43726, 0x02ef3241, 0x00464c43, 0x020fc184, 0x039ce779, 0x003dcd94}}}, + {X: Field{[10]uint32{0x00a1390f, 0x027e6008, 0x028c1689, 0x021eb0b5, 0x009db88a, 0x00682f00, 0x026dbcf1, 0x0364d948, 0x014c7790, 0x003334f0}}, Y: Field{[10]uint32{0x003af907, 0x037f75c7, 0x00a6781c, 0x02a01f7c, 0x00f8a9cb, 0x006264c8, 0x03bac2af, 0x017767cc, 0x035fbd6d, 0x002c902c}}}, + {X: Field{[10]uint32{0x0237b018, 0x033361cd, 0x021b217b, 0x02b6e09d, 0x01eba4ef, 0x015625e3, 0x006566d0, 0x035ec71b, 0x027f0988, 0x001dc4ef}}, Y: Field{[10]uint32{0x00475781, 0x02cd309d, 0x03d9470d, 0x039993b9, 0x01c75f31, 0x017eacd0, 0x02ef7c51, 0x00aea8bb, 0x026fa9d6, 0x0023ee46}}}, + {X: Field{[10]uint32{0x00982b02, 0x0199eea9, 0x0398b1ab, 0x03fc7165, 0x0134c739, 0x02c21573, 0x020acf56, 0x032cee54, 0x0160035d, 0x0015216b}}, Y: Field{[10]uint32{0x02a90f0f, 0x00e658a5, 0x03f9fcd4, 0x01579f72, 0x0357cbd4, 0x0224c46f, 0x03df62e5, 0x005329d0, 0x007b1e7c, 0x00077b1b}}}, + {X: Field{[10]uint32{0x00ee0f19, 0x0268f72c, 0x01ed189c, 0x0007cac1, 0x00411bd2, 0x013a1503, 0x012d1cfc, 0x01213407, 0x003ad3be, 0x002965d4}}, Y: Field{[10]uint32{0x001113cd, 0x0157b8ec, 0x014dce28, 0x03c1d972, 0x00becbd6, 0x036f3d24, 0x02cee664, 0x00466478, 0x027d3800, 0x000d444f}}}, + {X: Field{[10]uint32{0x0191ce4a, 0x03795f37, 0x0046cb94, 0x00de0320, 0x011ae249, 0x02f4bf64, 0x01d07a3d, 0x00c2c55f, 0x0251abb1, 0x002ea46c}}, Y: Field{[10]uint32{0x013e1f6c, 0x030d64c3, 0x01dcfe1d, 0x003f85e6, 0x03837742, 0x03d90bee, 0x01f33f54, 0x03b7ee9a, 0x0080500a, 0x0033f308}}}, + {X: Field{[10]uint32{0x02d324a4, 0x0116ffe1, 0x032e2fb0, 0x012980fe, 0x005c6d2f, 0x01721905, 0x03d33869, 0x01ef4f1b, 0x025883cc, 0x002b7ed6}}, Y: Field{[10]uint32{0x030cdc5c, 0x01554fde, 0x0172222a, 0x014f325d, 0x013a5257, 0x030c36a4, 0x00415a18, 0x00b7f714, 0x02d745d8, 0x000595d3}}}, + {X: Field{[10]uint32{0x03561ae8, 0x013b73e8, 0x023e29d9, 0x029383ee, 0x01ba1f13, 0x00292f8d, 0x0054b141, 0x002972b2, 0x014ddd71, 0x00042124}}, Y: Field{[10]uint32{0x01c25e99, 0x0373e152, 0x003babe6, 0x028d6423, 0x002f2b74, 0x037e3999, 0x02ac6cda, 0x03bd8104, 0x01353240, 0x00194f28}}}, + {X: Field{[10]uint32{0x026c6f7b, 0x0337345b, 0x0033f133, 0x01abe01e, 0x0281876a, 0x02e207bf, 0x028abe50, 0x022c505e, 0x02719af3, 0x001c12a8}}, Y: Field{[10]uint32{0x03769e54, 0x013d9ba8, 0x03b9263f, 0x03d10ae9, 0x0111395a, 0x038a8690, 0x00726c9b, 0x00602f12, 0x02b348c1, 0x0029bfb8}}}, + {X: Field{[10]uint32{0x00aec289, 0x01ee0daa, 0x0108051d, 0x03a250b2, 0x03fe68b0, 0x024f19a0, 0x01f57348, 0x00aa1970, 0x00c17f5d, 0x00118123}}, Y: Field{[10]uint32{0x03288efd, 0x00681e62, 0x03277a46, 0x00d0e106, 0x032e7668, 0x02d3e28c, 0x01bf9c6b, 0x03ddf41d, 0x003089a8, 0x0036173b}}}, + {X: Field{[10]uint32{0x03fce9e9, 0x011d95dd, 0x03c763d5, 0x033d6e87, 0x0107d04c, 0x016634be, 0x02781ba8, 0x00ec858d, 0x02be315d, 0x00143c79}}, Y: Field{[10]uint32{0x026b0b00, 0x017ec3bb, 0x00db7d09, 0x03851f80, 0x0325dd0c, 0x03725887, 0x00249759, 0x02e7ca33, 0x03d62057, 0x003df72d}}}, + {X: Field{[10]uint32{0x0263501c, 0x03ff3402, 0x006d03b7, 0x03cc16f5, 0x02944df1, 0x01d23527, 0x00efa037, 0x0156b404, 0x02446766, 0x001fb428}}, Y: Field{[10]uint32{0x01c18c21, 0x00343c01, 0x028d8269, 0x0196981d, 0x01e9b3ae, 0x00dab91d, 0x02eb2669, 0x0089ed11, 0x0265593f, 0x002a0dde}}}, + {X: Field{[10]uint32{0x03ebccc7, 0x03d18c93, 0x03342c29, 0x00eec7cd, 0x0219b29d, 0x03fc6f4b, 0x01c431dc, 0x030b3d84, 0x00a1ee66, 0x000340e7}}, Y: Field{[10]uint32{0x016d736f, 0x00c4139a, 0x0076e781, 0x03845699, 0x006e652e, 0x033f7321, 0x01ff5e24, 0x0319858a, 0x018214f4, 0x0036c343}}}, + {X: Field{[10]uint32{0x03b092b7, 0x03b60429, 0x015797be, 0x0272ab58, 0x028e3672, 0x01335283, 0x031768d9, 0x03f8bd14, 0x033acc55, 0x000309e5}}, Y: Field{[10]uint32{0x01f41c99, 0x005e8500, 0x020db439, 0x03c7fdd4, 0x000878e1, 0x02e78cc5, 0x02d54029, 0x02c91b15, 0x00eab36a, 0x003370c4}}}, + {X: Field{[10]uint32{0x0046e945, 0x0030cf19, 0x01d846de, 0x02000e8b, 0x01ac14a1, 0x03880b45, 0x0072e48d, 0x031a0c95, 0x0142cce3, 0x000da10a}}, Y: Field{[10]uint32{0x03b8f2f7, 0x000ee581, 0x02bcb574, 0x03e8376b, 0x03208d95, 0x03b55826, 0x009db9ae, 0x020be8d6, 0x03f819ab, 0x0014002c}}}, + {X: Field{[10]uint32{0x0162d0e9, 0x01552b9b, 0x03d7b0c4, 0x03de1783, 0x0074865e, 0x016aed15, 0x03f3a8c5, 0x0086d467, 0x015c3386, 0x00346a86}}, Y: Field{[10]uint32{0x03b737a8, 0x019c9469, 0x03c88c2e, 0x01cea6a2, 0x00832ce7, 0x0221018c, 0x0234576d, 0x00e166d1, 0x0133dc29, 0x0039f877}}}, + {X: Field{[10]uint32{0x000f00f0, 0x03c99fd7, 0x008b0489, 0x00aa3340, 0x03a59b2c, 0x01d9bb04, 0x02bd6ff5, 0x00e7b0d9, 0x01326074, 0x0013d08f}}, Y: Field{[10]uint32{0x00e7a9f4, 0x0075e1e9, 0x034eef5e, 0x016012d3, 0x00b6c3e0, 0x01cb2223, 0x008e6aa2, 0x01305701, 0x029d7ee9, 0x00178f1f}}}, + {X: Field{[10]uint32{0x03f06c4a, 0x006ee641, 0x018c5910, 0x03eabdce, 0x00ebcb9a, 0x02d7ea6e, 0x000859a9, 0x0247bc5f, 0x0280ff89, 0x001aec71}}, Y: Field{[10]uint32{0x0269a253, 0x03fcf261, 0x0039f189, 0x03f54d6e, 0x03217005, 0x01d85717, 0x03c242c9, 0x00ab9745, 0x03750d91, 0x000c6369}}}, + {X: Field{[10]uint32{0x00096f68, 0x00b426b0, 0x03b8bd0f, 0x008cc0c0, 0x02bc3934, 0x03efb8b9, 0x00b251c9, 0x0291a97f, 0x01d44713, 0x00005025}}, Y: Field{[10]uint32{0x0204a2b1, 0x032caeb9, 0x0159322d, 0x03ec2dfd, 0x001c7aa4, 0x0219f1ff, 0x01e632f6, 0x02cdd256, 0x000b3660, 0x00191f80}}}, + {X: Field{[10]uint32{0x035e5323, 0x0184ec12, 0x03b838b2, 0x0068e3a7, 0x02894319, 0x03021e1d, 0x00f831f6, 0x0271b92a, 0x03f0346e, 0x0004844a}}, Y: Field{[10]uint32{0x0257a3d0, 0x010a61a5, 0x0210e30a, 0x0196273f, 0x01faf640, 0x03b936ae, 0x03abf62a, 0x00cf6530, 0x02c2cb45, 0x00390526}}}, + {X: Field{[10]uint32{0x03ca5738, 0x0170dc22, 0x0329b4f7, 0x029e1165, 0x014f2197, 0x02bad67f, 0x00974ebe, 0x01204360, 0x00ccc2ed, 0x003e64d8}}, Y: Field{[10]uint32{0x026f1cb3, 0x020ea4bb, 0x020dbc0c, 0x00524d40, 0x03a06e44, 0x03865c76, 0x001b9f86, 0x01ea2b0b, 0x035e86d7, 0x002e4a8b}}}, + {X: Field{[10]uint32{0x02809ca4, 0x013a01ba, 0x00567a65, 0x02712522, 0x0264ae77, 0x0394fd47, 0x032112bb, 0x00fb3121, 0x024ec81a, 0x000b7b96}}, Y: Field{[10]uint32{0x033d4954, 0x00786931, 0x033b1bcb, 0x018e4d3f, 0x02bdea4d, 0x03f3c983, 0x02a1bcff, 0x011f0702, 0x00a1df6d, 0x00078baa}}}, + {X: Field{[10]uint32{0x01461229, 0x020b1ec3, 0x006a5f23, 0x0346ef5d, 0x00b73688, 0x00371404, 0x01638f7b, 0x03ade3d2, 0x02a2139e, 0x00016ea9}}, Y: Field{[10]uint32{0x01dca81d, 0x00756549, 0x00693cc0, 0x02a58055, 0x03b08a0c, 0x03909427, 0x02a75cd9, 0x014bc67c, 0x038310a3, 0x001c99dc}}}, + {X: Field{[10]uint32{0x02913d70, 0x015a2ea0, 0x0183c8f8, 0x00b365ba, 0x02f60d10, 0x004c6791, 0x034a6f3b, 0x01135add, 0x02b9321d, 0x0028fddf}}, Y: Field{[10]uint32{0x00613a05, 0x033ae397, 0x00077d3f, 0x0195dd1c, 0x00f6db17, 0x01afb074, 0x02386302, 0x039c3c6a, 0x01df8271, 0x003e4f5d}}}, + {X: Field{[10]uint32{0x03f2cf08, 0x02421371, 0x017db72f, 0x019baefa, 0x008588d7, 0x022ba7ce, 0x00fd62d6, 0x0249d0de, 0x02b5fa1f, 0x0011ae99}}, Y: Field{[10]uint32{0x038897f9, 0x02d77648, 0x0385b72d, 0x038bb3c1, 0x01f44bf7, 0x00ab5415, 0x01f9b555, 0x02e37e4b, 0x02243078, 0x000151cf}}}, + {X: Field{[10]uint32{0x0280dbf2, 0x034873b3, 0x02af4291, 0x01732865, 0x000bccb1, 0x01547eb4, 0x03415b6f, 0x000982ca, 0x0246ddcf, 0x0036da80}}, Y: Field{[10]uint32{0x00591d3c, 0x01645fca, 0x01c7ea98, 0x01bf9d78, 0x025f8885, 0x00f34259, 0x02c6f6f6, 0x00725e95, 0x0046f93e, 0x000e5b35}}}, + {X: Field{[10]uint32{0x026c8fa1, 0x00720d1b, 0x02e8c5cc, 0x02e19a64, 0x0338187e, 0x036e86c2, 0x012c4e58, 0x026368e6, 0x011ca7a2, 0x002e0be3}}, Y: Field{[10]uint32{0x01483461, 0x02d80d80, 0x03ee028e, 0x02254cf8, 0x02b1b805, 0x02dd9f1a, 0x00fdbddd, 0x0104f235, 0x036af9b0, 0x0012c2b9}}}, + {X: Field{[10]uint32{0x0085f000, 0x003c0631, 0x014a182e, 0x035edffe, 0x01d106fd, 0x02984a18, 0x00c6348a, 0x0192bfa7, 0x02a4dc92, 0x00111ba5}}, Y: Field{[10]uint32{0x01568440, 0x00cf7c26, 0x02507c8e, 0x0032984a, 0x012771c4, 0x033d9def, 0x0223b7ec, 0x00e9607f, 0x03d92159, 0x000cb7f8}}}, + {X: Field{[10]uint32{0x003a2eb9, 0x02874e4c, 0x01fb81ad, 0x01b3616f, 0x025c8a3e, 0x01941277, 0x0300ca34, 0x01b732e7, 0x03107bfa, 0x0000321b}}, Y: Field{[10]uint32{0x0034219d, 0x02b92b9f, 0x03ed888b, 0x01f92aa9, 0x019dcb27, 0x00c8d1d3, 0x0218c6a7, 0x0020502b, 0x00667e91, 0x003993dc}}}, + {X: Field{[10]uint32{0x036cd710, 0x017d6eb6, 0x01cdb83e, 0x02acc0a9, 0x009201c2, 0x000af9ee, 0x00d94cc2, 0x010a6793, 0x036ecda1, 0x002fb63a}}, Y: Field{[10]uint32{0x01411aac, 0x01226957, 0x01256708, 0x00f08250, 0x0116a1f0, 0x01a49d1b, 0x0367b9f6, 0x02903174, 0x00fab375, 0x00055cdb}}}, + {X: Field{[10]uint32{0x0364d38f, 0x0249b823, 0x02881da1, 0x014b7a0a, 0x00665e0a, 0x035d6520, 0x03171b5a, 0x02b44107, 0x03f2c5f6, 0x002cfbe9}}, Y: Field{[10]uint32{0x031677e6, 0x017eb23f, 0x013ffc53, 0x01840fed, 0x00b6dbd3, 0x03a6380d, 0x02b0dfaa, 0x00689003, 0x00843276, 0x000f7d8f}}}, + {X: Field{[10]uint32{0x0315cbd2, 0x03149749, 0x02921ebd, 0x0305947b, 0x018fa9af, 0x027850f8, 0x01213a84, 0x026d7c8d, 0x01a0cd86, 0x002c1183}}, Y: Field{[10]uint32{0x006fd7ee, 0x02ec486e, 0x00eee865, 0x017b3d8c, 0x0146b472, 0x02d5eca6, 0x033b4c02, 0x0061df39, 0x02adf354, 0x0030468f}}}, + {X: Field{[10]uint32{0x033bc071, 0x03b0f3b5, 0x0152a49c, 0x014e9f43, 0x00b49692, 0x00b58035, 0x00191871, 0x014afacb, 0x0117a174, 0x000a2c25}}, Y: Field{[10]uint32{0x0120a326, 0x01e90f7a, 0x01ae7fce, 0x0341a437, 0x0040ffd6, 0x0102bd65, 0x01635180, 0x01d64444, 0x0308073c, 0x000d9a59}}}, + {X: Field{[10]uint32{0x03b5f136, 0x02946c3e, 0x037536b1, 0x03f11c55, 0x020ad86a, 0x002fc5fe, 0x02e76b7c, 0x032d601e, 0x00d8192a, 0x001486fb}}, Y: Field{[10]uint32{0x01ac858d, 0x01ffa0dd, 0x026691dc, 0x003bb7cc, 0x02ee0671, 0x015145a0, 0x00f399e1, 0x03c4fb33, 0x00c6d7af, 0x00192295}}}, + {X: Field{[10]uint32{0x01f6cf67, 0x02dd87de, 0x01082368, 0x029ddb4e, 0x02a2a200, 0x0161f613, 0x009bca1b, 0x0275949b, 0x01d0b7fd, 0x002def06}}, Y: Field{[10]uint32{0x0370acae, 0x025ba347, 0x023ad2f7, 0x03fbfeff, 0x024a1e9f, 0x01cc58ed, 0x012c29a7, 0x03233d09, 0x02bee0d0, 0x0016b7be}}}, + {X: Field{[10]uint32{0x017aea8b, 0x00c7c34e, 0x03114dc9, 0x01b704f9, 0x0066db7b, 0x0055633b, 0x030c2412, 0x02a35507, 0x03e51b6c, 0x0039238e}}, Y: Field{[10]uint32{0x020f28ac, 0x01079f83, 0x004314bf, 0x00fbe7dd, 0x01f6cb3a, 0x03c4ad19, 0x03064bff, 0x038bc4c3, 0x03575b16, 0x0036f3d8}}}, + {X: Field{[10]uint32{0x03455751, 0x03d0a427, 0x028909b2, 0x02d65d67, 0x014ec795, 0x038a3ca9, 0x02475968, 0x024a9a8c, 0x02de71c6, 0x0000e571}}, Y: Field{[10]uint32{0x0269a13d, 0x030b2169, 0x003c3fcf, 0x0391266f, 0x03b5b097, 0x02b28557, 0x02ed4e15, 0x03768b07, 0x011803c7, 0x003b9780}}}, + {X: Field{[10]uint32{0x02808d99, 0x01814af2, 0x009a81a6, 0x02aa293a, 0x02663da3, 0x0303fb0d, 0x03412919, 0x010e6489, 0x02c3b118, 0x000a24e2}}, Y: Field{[10]uint32{0x03174603, 0x002e6193, 0x025f8031, 0x0256e87a, 0x00da1682, 0x0032e684, 0x03eadb18, 0x0306fa8a, 0x027ab1eb, 0x0012ba37}}}, + {X: Field{[10]uint32{0x0248f5a4, 0x00fb9ad4, 0x036f5852, 0x013f428d, 0x03be3af6, 0x0389fa14, 0x01472f23, 0x0233d881, 0x021895e8, 0x0001703d}}, Y: Field{[10]uint32{0x004be51b, 0x02c70f79, 0x02624b41, 0x0360d107, 0x038473e3, 0x03f6d43e, 0x03634569, 0x03aecedc, 0x0055cd09, 0x002f970f}}}, + {X: Field{[10]uint32{0x023ca1d7, 0x01536b17, 0x02ec0015, 0x004c7ae8, 0x02ae2e8f, 0x01fb416e, 0x028e125f, 0x03dccfb4, 0x03bf22d0, 0x002af87d}}, Y: Field{[10]uint32{0x02b0ab4e, 0x02a8b106, 0x02ffc918, 0x02d656ba, 0x03e553e6, 0x0265b2cc, 0x008ffe4b, 0x007daa5c, 0x00db3de3, 0x000a9692}}}, + {X: Field{[10]uint32{0x008d8be7, 0x03f4a738, 0x02349bcc, 0x03b110a9, 0x015f1dbe, 0x0298244a, 0x0124907e, 0x01c2cde4, 0x002757d3, 0x0030c109}}, Y: Field{[10]uint32{0x01868934, 0x01d73a6c, 0x031448bb, 0x0304a7a3, 0x01528959, 0x02326047, 0x01b35e2f, 0x0369d54d, 0x02b33e0f, 0x0019e993}}}, + {X: Field{[10]uint32{0x0140f5b8, 0x014cbf8c, 0x01c21c81, 0x0119abd0, 0x03031527, 0x038690fd, 0x02f0b6a9, 0x008675de, 0x0146356f, 0x00196966}}, Y: Field{[10]uint32{0x00f35918, 0x00e9871d, 0x0241f246, 0x0164f611, 0x001692b0, 0x001c3688, 0x00cf27fc, 0x013e8146, 0x028d5d3e, 0x001939c4}}}, + {X: Field{[10]uint32{0x001413e2, 0x03ad4fc5, 0x0219ede2, 0x02df536b, 0x0060311c, 0x02e67684, 0x03066f2b, 0x02321d1a, 0x023b4842, 0x001b1f4b}}, Y: Field{[10]uint32{0x00b7e3a1, 0x0192f2db, 0x007ab2a6, 0x03f8a3df, 0x03286292, 0x03b5ece0, 0x022864d1, 0x0319c137, 0x03bfc2e7, 0x00012e91}}}, + {X: Field{[10]uint32{0x03fdcdd9, 0x033d63a4, 0x019cf44a, 0x01fe914e, 0x03565579, 0x0324ffd5, 0x03798a9b, 0x02270ad1, 0x03bdb99c, 0x00037495}}, Y: Field{[10]uint32{0x01b3e4af, 0x00ab8db0, 0x020cc1af, 0x02058e43, 0x03e8194f, 0x010a2440, 0x027e0d71, 0x01fc954b, 0x00f2a920, 0x003e359c}}}, + {X: Field{[10]uint32{0x00c23d7b, 0x02ad79bb, 0x0263eb2a, 0x01f2c23c, 0x026827b8, 0x03351f18, 0x0152b8fa, 0x0310910a, 0x034eb8dd, 0x00094580}}, Y: Field{[10]uint32{0x0216ac9e, 0x031d6858, 0x02826433, 0x00d12d21, 0x00bd2ab5, 0x01cc774c, 0x03545bca, 0x03a81eb4, 0x0079f5fe, 0x002b63a2}}}, + {X: Field{[10]uint32{0x0134246d, 0x037382b6, 0x0180b907, 0x00559646, 0x017f0752, 0x00847b70, 0x01834b38, 0x02478ec6, 0x005427b5, 0x001f9c8c}}, Y: Field{[10]uint32{0x0263a71f, 0x020051d3, 0x034e33b0, 0x03a38c91, 0x032506be, 0x00261d82, 0x01671df1, 0x02129bc8, 0x00bbd8c1, 0x0017247f}}}, + {X: Field{[10]uint32{0x01d1898b, 0x0174e65b, 0x0333e72b, 0x01ffbe77, 0x038d4fb5, 0x0169bdae, 0x03876914, 0x0034a812, 0x0116ac3c, 0x0006c7e7}}, Y: Field{[10]uint32{0x035b4b1b, 0x034299fc, 0x01bd1024, 0x014e5146, 0x0215e944, 0x01890696, 0x00a399e1, 0x039142c5, 0x031e05ff, 0x001910af}}}, + {X: Field{[10]uint32{0x00872f2b, 0x001b18ff, 0x01a23e90, 0x01364f14, 0x0265b514, 0x02598c71, 0x039f6715, 0x03a90e8e, 0x024e57cd, 0x00383c7e}}, Y: Field{[10]uint32{0x0332e564, 0x02705dab, 0x018640a4, 0x037b349f, 0x0374f9a3, 0x00547751, 0x02056170, 0x003450bd, 0x01fb5489, 0x00320e14}}}, + {X: Field{[10]uint32{0x02728c3a, 0x0284bacc, 0x03d0b3e9, 0x009e675e, 0x0040efa0, 0x00a8281e, 0x01a3667b, 0x02082894, 0x03bb697c, 0x0002ba56}}, Y: Field{[10]uint32{0x03aebb41, 0x016c521a, 0x03f10e68, 0x0371ee00, 0x011140e0, 0x016b9427, 0x02a4da94, 0x0025b61b, 0x02970280, 0x003836ee}}}, + {X: Field{[10]uint32{0x002aed31, 0x00d01d9a, 0x01b3069e, 0x02b9b9fc, 0x030afad1, 0x014ffe30, 0x02529ea8, 0x03d0b07f, 0x0085d52e, 0x003f23fe}}, Y: Field{[10]uint32{0x01e3dd14, 0x0382992c, 0x00850433, 0x01c50cab, 0x0209cced, 0x00d5b406, 0x0104f1b3, 0x023d89ee, 0x02d4b26e, 0x001497b3}}}, + {X: Field{[10]uint32{0x02c8e810, 0x0272accc, 0x02546c62, 0x00f04d94, 0x00ed68d6, 0x02a59683, 0x01b57533, 0x01896835, 0x036a459d, 0x001984c4}}, Y: Field{[10]uint32{0x015b65cb, 0x02614ed9, 0x0069b93a, 0x00050049, 0x0228b4cb, 0x02c5a2f4, 0x01732b43, 0x002a52cf, 0x03f824d3, 0x00043ca7}}}, + {X: Field{[10]uint32{0x01ea56f0, 0x03d68df7, 0x01b91f24, 0x0107daf8, 0x0319dda8, 0x01bbced8, 0x02309b39, 0x00cc9f1d, 0x01157b68, 0x00114216}}, Y: Field{[10]uint32{0x01956821, 0x01d953e4, 0x02a12bbc, 0x02fed2c6, 0x032b6ebb, 0x0023569a, 0x0155e34f, 0x022391a8, 0x0046584a, 0x002e69c5}}}, + {X: Field{[10]uint32{0x008a4325, 0x00bcfddf, 0x0064f0e3, 0x013089d1, 0x01be58af, 0x035785c4, 0x0382576c, 0x02e8377a, 0x03bd8f10, 0x0005a3b8}}, Y: Field{[10]uint32{0x0278b34c, 0x01d08099, 0x0388668b, 0x02116082, 0x00465fb1, 0x020be1c0, 0x016891c9, 0x01027ea4, 0x026343ff, 0x001bbbc7}}}, + {X: Field{[10]uint32{0x03048c04, 0x0009c53b, 0x0131b718, 0x013181de, 0x00fdd86b, 0x02c800f9, 0x034db8de, 0x008d053a, 0x0197763c, 0x002cc647}}, Y: Field{[10]uint32{0x02152edd, 0x016a0f30, 0x00a04f88, 0x0358ddc4, 0x03ce6860, 0x03af7570, 0x03d53d83, 0x01d72af9, 0x008559f9, 0x002d2b0c}}}, + {X: Field{[10]uint32{0x022f8738, 0x0280898e, 0x0096a51e, 0x03f3c804, 0x033ec477, 0x03a4fd2e, 0x032acca1, 0x03724cf1, 0x005b4e73, 0x0036a757}}, Y: Field{[10]uint32{0x0012f8aa, 0x02cc826a, 0x015b50b4, 0x03422c28, 0x01400c05, 0x018d9944, 0x01b93b0d, 0x019b0da2, 0x02da65f9, 0x001feda8}}}, + {X: Field{[10]uint32{0x00b0dd66, 0x0196f339, 0x0215c01e, 0x02825538, 0x008d1cfa, 0x0314991c, 0x011730f0, 0x0159e05e, 0x01d2a7e7, 0x00050395}}, Y: Field{[10]uint32{0x0153d5b3, 0x00165042, 0x0118bce8, 0x0397225e, 0x0087e2d5, 0x03bcd8c6, 0x02470d81, 0x00965e47, 0x00d863ea, 0x0012fee8}}}, + {X: Field{[10]uint32{0x02b173d8, 0x00e67ac5, 0x00a1cf3f, 0x03e198d1, 0x03b438f7, 0x03f8f62f, 0x029bd01b, 0x03321f3b, 0x00f64b95, 0x00056a73}}, Y: Field{[10]uint32{0x03b33f3b, 0x018f2366, 0x03f90e03, 0x0269b946, 0x035d0ba5, 0x002cc6a4, 0x01e51fbf, 0x03b49581, 0x02cdbdeb, 0x0013d51c}}}, + {X: Field{[10]uint32{0x00af6e06, 0x032a8f62, 0x0088f814, 0x0244b42a, 0x00c7ed5e, 0x02b4606f, 0x033d3d8f, 0x01c076de, 0x024b6776, 0x003a1b8d}}, Y: Field{[10]uint32{0x01ea7b92, 0x0130d5d3, 0x00915f83, 0x03452989, 0x0124a466, 0x018a1a62, 0x0195518c, 0x001034fa, 0x00600afc, 0x00008bf5}}}, + {X: Field{[10]uint32{0x02500eb6, 0x020beb96, 0x03ddbfc2, 0x00ea9b56, 0x03b1f81d, 0x008faf39, 0x021134c7, 0x03c36c8c, 0x0298cd25, 0x000f0986}}, Y: Field{[10]uint32{0x03abd9c1, 0x00d7f15d, 0x02cbc455, 0x001b7abb, 0x004027a5, 0x0325a99b, 0x00b6ed7e, 0x02084629, 0x01455e49, 0x000ae348}}}, + {X: Field{[10]uint32{0x00c955c8, 0x0151bb7d, 0x0300bd66, 0x017408e0, 0x00368c3b, 0x01deab3f, 0x03b1f6c1, 0x02d45db2, 0x00114d55, 0x00126daa}}, Y: Field{[10]uint32{0x03815b94, 0x00d60e28, 0x01bca5b5, 0x0044e475, 0x020ab944, 0x03c6c2ca, 0x038e0017, 0x039f041a, 0x00a409f0, 0x00346c49}}}, + {X: Field{[10]uint32{0x0125f6b9, 0x02a36b31, 0x03f71f34, 0x007fde90, 0x016cee80, 0x003312e0, 0x01deab62, 0x039694fe, 0x0061f0d3, 0x001bb23a}}, Y: Field{[10]uint32{0x02dcfd6a, 0x00006ae9, 0x02e27782, 0x01c718fe, 0x011e01a8, 0x02dad7ac, 0x009c4f7e, 0x02bef4cc, 0x005b68cc, 0x0010b815}}}, + {X: Field{[10]uint32{0x0195b9ac, 0x02262a91, 0x03e1ac08, 0x015d1903, 0x004b527e, 0x023c5369, 0x005a2e2a, 0x02973f4c, 0x034159ac, 0x001cd0ac}}, Y: Field{[10]uint32{0x03160124, 0x01748d14, 0x01ac121b, 0x0102b21b, 0x0127f64f, 0x03a984a0, 0x03969a84, 0x00bb88d8, 0x0302d244, 0x002d4984}}}, + {X: Field{[10]uint32{0x02686fa9, 0x034c2e56, 0x0054b687, 0x015e9827, 0x00b27477, 0x03c9a59f, 0x01cfc43d, 0x00d42d97, 0x00bd54ef, 0x00210acc}}, Y: Field{[10]uint32{0x0336ead6, 0x016b20fc, 0x0277b9cc, 0x01f1c79f, 0x037d594f, 0x01723795, 0x0331f63f, 0x00dae7b3, 0x02922caa, 0x0013fea7}}}, + {X: Field{[10]uint32{0x01f94862, 0x02381306, 0x02153999, 0x0028fa46, 0x037c13bb, 0x0255d5fb, 0x03fb60d4, 0x029f1ef0, 0x035dd589, 0x000b6e90}}, Y: Field{[10]uint32{0x028cc0a1, 0x03522257, 0x013ed55c, 0x0171f7e1, 0x00931d3e, 0x01dd7940, 0x038eca16, 0x00f2e748, 0x020ea4b2, 0x0031101c}}}, + {X: Field{[10]uint32{0x033bec02, 0x034f1171, 0x01c07998, 0x02f4f40d, 0x02bb284f, 0x0064e42f, 0x035a4578, 0x03396ca9, 0x01248f84, 0x002747a1}}, Y: Field{[10]uint32{0x00eb9ead, 0x0201d325, 0x03f40129, 0x033e126f, 0x036d62e8, 0x02a018fc, 0x038bbc84, 0x0332b08c, 0x024cc935, 0x0023903b}}}, + {X: Field{[10]uint32{0x00b441af, 0x0158b4b6, 0x01cf4e76, 0x008d8b89, 0x019a7f86, 0x005525d5, 0x03639121, 0x029d6f53, 0x02c5d1fb, 0x00349cd6}}, Y: Field{[10]uint32{0x01afc081, 0x023ecd9f, 0x0331da1d, 0x01b4727e, 0x01b4ade8, 0x02d4bcf9, 0x037cb0e5, 0x03cce5de, 0x003619f9, 0x0002f4ab}}}, + {X: Field{[10]uint32{0x00a3e11a, 0x00eb7fac, 0x017cdca6, 0x025b82a5, 0x01b27c2b, 0x015ca4e5, 0x01a68d31, 0x03fc4eb4, 0x0238f46c, 0x002c04c3}}, Y: Field{[10]uint32{0x006aa3c4, 0x01666803, 0x001b5535, 0x00590d9b, 0x02610f15, 0x02c45dda, 0x02ff8443, 0x0100721f, 0x017f4a61, 0x000f67da}}}, + {X: Field{[10]uint32{0x01ec76a7, 0x00b99a0d, 0x02caaed8, 0x01e0a650, 0x03f59faa, 0x02e277a2, 0x022d8f33, 0x01abe2d9, 0x022f1530, 0x00382a81}}, Y: Field{[10]uint32{0x015e6f2e, 0x01115fb0, 0x0218179a, 0x015097f1, 0x0334305b, 0x02b260e1, 0x01ffb8ac, 0x01cc1297, 0x00b56ea7, 0x00317d7c}}}, + {X: Field{[10]uint32{0x019432d5, 0x012f42c0, 0x004139f4, 0x021665eb, 0x002156d6, 0x03a61d7b, 0x03e15c4a, 0x03472461, 0x02c1a8e6, 0x003b4589}}, Y: Field{[10]uint32{0x01f0c35d, 0x01410a5c, 0x00d7e69d, 0x011b164e, 0x037f0fad, 0x039cdcfd, 0x035e531e, 0x0128fd08, 0x015b9dcb, 0x000f0362}}}, + {X: Field{[10]uint32{0x01c92833, 0x034bb413, 0x00be8431, 0x036e1b81, 0x00664744, 0x01325d3e, 0x0025aa67, 0x03f6be33, 0x00314e18, 0x0028b333}}, Y: Field{[10]uint32{0x0359d71c, 0x00e9d3f1, 0x038a846c, 0x02230190, 0x002e1b9c, 0x019cbd79, 0x00e55368, 0x01c7bb48, 0x0249d6d4, 0x002d9043}}}, + {X: Field{[10]uint32{0x0268bf27, 0x03d9d6fd, 0x0331fa35, 0x0018f552, 0x00b3b24e, 0x00b65aa2, 0x0319119b, 0x03d8b12b, 0x012fdb15, 0x0016ff06}}, Y: Field{[10]uint32{0x03d99051, 0x02786611, 0x0223b609, 0x01890087, 0x02dbe0dc, 0x03d8a8e2, 0x0031bb39, 0x03850241, 0x0374acb4, 0x00119dd0}}}, + {X: Field{[10]uint32{0x01227028, 0x02ad7c02, 0x0090e97d, 0x015621ab, 0x0161eb21, 0x01fbec02, 0x022e5539, 0x031010ca, 0x0289da73, 0x0019a10a}}, Y: Field{[10]uint32{0x01941de9, 0x00602448, 0x02f4e90b, 0x031a2726, 0x01da171b, 0x00405b36, 0x012dc9df, 0x02812223, 0x03c3511e, 0x000ea3a0}}}, + {X: Field{[10]uint32{0x01c516e8, 0x001d9af3, 0x002f7181, 0x0137564d, 0x03e3a4a8, 0x03ba2e4a, 0x01f89913, 0x017e6351, 0x01973ba9, 0x003b208c}}, Y: Field{[10]uint32{0x037206fe, 0x0097866a, 0x032aef1d, 0x01b6b265, 0x0177d547, 0x02a54ed7, 0x033bc882, 0x00fd3865, 0x0079f511, 0x0014cb4f}}}, + {X: Field{[10]uint32{0x02fc140b, 0x009467dc, 0x007ad1ac, 0x01b0caac, 0x03e8e8e2, 0x03cfb4e7, 0x015e5b65, 0x0185dabb, 0x0278bc51, 0x000ed97f}}, Y: Field{[10]uint32{0x00208d98, 0x03deb7e6, 0x02c1b9c9, 0x035cc533, 0x02566a1f, 0x019be577, 0x037f9764, 0x03ae704f, 0x02de5190, 0x00215b4d}}}, + {X: Field{[10]uint32{0x018cc346, 0x01880db4, 0x03945182, 0x02cc9c8a, 0x01f9f31e, 0x00ff7402, 0x02545ce8, 0x00d497a7, 0x02ca51c4, 0x0000eb03}}, Y: Field{[10]uint32{0x0213a7e6, 0x00c092a8, 0x01e509ab, 0x0322c4d3, 0x00325beb, 0x01038251, 0x004ef313, 0x02933cc9, 0x018bc3b2, 0x00371c80}}}, + {X: Field{[10]uint32{0x02e23508, 0x014e810b, 0x0172ffbe, 0x02e6ed42, 0x00bcdac8, 0x005f66f8, 0x012db7c2, 0x03b39bb7, 0x018d6c50, 0x00124a59}}, Y: Field{[10]uint32{0x02cec38a, 0x012f642a, 0x00c3a728, 0x03e35e84, 0x016dfc8d, 0x008ca1d0, 0x0155980a, 0x02ef52e1, 0x002c61aa, 0x00396b29}}}, + {X: Field{[10]uint32{0x013a6291, 0x002ad6c5, 0x022781d6, 0x02ad2469, 0x037830e2, 0x031b48a5, 0x029e7488, 0x01924bc3, 0x036f4bc9, 0x002745b9}}, Y: Field{[10]uint32{0x015ac7ab, 0x0099bb22, 0x01711da7, 0x0228113a, 0x015eaa98, 0x01dc2bbd, 0x00363189, 0x01a48815, 0x0300e4ac, 0x00399643}}}, + {X: Field{[10]uint32{0x035df94d, 0x026cae07, 0x0276d5e0, 0x01a89f01, 0x014e13b3, 0x03fe5eb7, 0x02a9bbe7, 0x039febd4, 0x004a1327, 0x002c1927}}, Y: Field{[10]uint32{0x0091acdd, 0x01570f0e, 0x02d120b3, 0x00206981, 0x02d79fdd, 0x01fdd6a2, 0x032a0807, 0x01a12381, 0x0316a6f3, 0x00264720}}}, + {X: Field{[10]uint32{0x0052235d, 0x0304af6c, 0x013c96b7, 0x03d817f8, 0x03eb39a8, 0x0129285a, 0x01ce51c4, 0x00f7b4b2, 0x0221f630, 0x0023c652}}, Y: Field{[10]uint32{0x0330739e, 0x015749a5, 0x030f1bd7, 0x00b3b7f9, 0x01c63517, 0x0268b721, 0x01afb23e, 0x020b8951, 0x03d0c9af, 0x002f477c}}}, + {X: Field{[10]uint32{0x03e21ff0, 0x021fc77b, 0x0262a60e, 0x00871b08, 0x033872b7, 0x03579996, 0x037f6c3d, 0x0133651d, 0x0297cc7a, 0x000769c6}}, Y: Field{[10]uint32{0x00be6a06, 0x03411a01, 0x026e87f0, 0x03a19a8f, 0x030a4d30, 0x009cebfa, 0x032b9af1, 0x01b869eb, 0x02413903, 0x001e345e}}}, + {X: Field{[10]uint32{0x0386aa45, 0x01ebcf37, 0x0290f7a3, 0x006ec604, 0x03e04e40, 0x0148a471, 0x02fabb1c, 0x03c98b4f, 0x0363e493, 0x00027fb4}}, Y: Field{[10]uint32{0x003de729, 0x03fe0d9c, 0x00d6cb3f, 0x00da437f, 0x0353a54f, 0x02972597, 0x01b18276, 0x02b7fefb, 0x033ee164, 0x0004c330}}}, + {X: Field{[10]uint32{0x03a1e49f, 0x01d6a1e9, 0x0298febb, 0x00eb079e, 0x007a601a, 0x032ed850, 0x01ebc38f, 0x00d5a066, 0x00cd221c, 0x003459bb}}, Y: Field{[10]uint32{0x0072f06e, 0x0257dda8, 0x003c9937, 0x01f33952, 0x00b0628c, 0x0152150d, 0x00ec5628, 0x0002f577, 0x02b7e7c2, 0x00098888}}}, + {X: Field{[10]uint32{0x01dbe0fd, 0x002482a3, 0x035cc293, 0x01b8e4d0, 0x02b998a5, 0x02528ba3, 0x03078392, 0x01c30730, 0x00bd3e37, 0x0039e14f}}, Y: Field{[10]uint32{0x000e5a8e, 0x00503da6, 0x0050b80a, 0x02c63e92, 0x00cff1e7, 0x0008f0ef, 0x01d29181, 0x01f31259, 0x02ca6714, 0x001e5df9}}}, + {X: Field{[10]uint32{0x0227a17f, 0x03d27158, 0x03511480, 0x039c108f, 0x0251036c, 0x02c687c0, 0x02a3cd56, 0x000804af, 0x02b1cb14, 0x002a2c3f}}, Y: Field{[10]uint32{0x01ba8a9f, 0x02773e9d, 0x037b527c, 0x02483225, 0x0367afe7, 0x00e00723, 0x00eedd6d, 0x02db6db3, 0x03db9d3a, 0x003335f0}}}, + {X: Field{[10]uint32{0x02d617d7, 0x0167db15, 0x02b26c90, 0x001aa11a, 0x006d02e4, 0x013d62e6, 0x02905797, 0x015d54c7, 0x01d9e181, 0x0015f397}}, Y: Field{[10]uint32{0x02142d14, 0x006b18ff, 0x01bc4e85, 0x03c97bf2, 0x01829f61, 0x02a3e6bb, 0x01598f8a, 0x03cc589a, 0x00904399, 0x00330d30}}}, + {X: Field{[10]uint32{0x00f9c858, 0x02e61bf4, 0x02f2d6c8, 0x031b2fc0, 0x008077b6, 0x0196acf9, 0x03bbc1d3, 0x03f1b6fb, 0x00b64f60, 0x0011e5e4}}, Y: Field{[10]uint32{0x007f2f9b, 0x022cd582, 0x03f435df, 0x006a57a6, 0x025cff91, 0x00f923e9, 0x025382ae, 0x00649774, 0x0182e358, 0x00055fd2}}}, + {X: Field{[10]uint32{0x03f17c68, 0x019421ff, 0x03b1ccb2, 0x0328f2cd, 0x008ee0a0, 0x004ef9db, 0x001b6228, 0x00290486, 0x007b1ffe, 0x000156af}}, Y: Field{[10]uint32{0x0171d99f, 0x03b7532a, 0x032d669b, 0x02fe0a0f, 0x01606272, 0x02877496, 0x039e6030, 0x01314d33, 0x024923e9, 0x002f44d0}}}, + {X: Field{[10]uint32{0x00d2e659, 0x019ce509, 0x011da1dc, 0x03807514, 0x02bd3156, 0x0397dc27, 0x004d4310, 0x0359eae0, 0x00328bf5, 0x001b29f8}}, Y: Field{[10]uint32{0x02ca2647, 0x008815d7, 0x01a69077, 0x03d1b4ac, 0x00d80aaa, 0x03e1c360, 0x011c2ff2, 0x00e42595, 0x0133f368, 0x00310a2c}}}, + {X: Field{[10]uint32{0x01f530d3, 0x0167a44b, 0x014dd999, 0x03ba706b, 0x02346ae4, 0x02ebea2c, 0x03d20baf, 0x0021b132, 0x01a983e9, 0x001837c6}}, Y: Field{[10]uint32{0x0379cc48, 0x022dec0e, 0x01e31d7a, 0x03e211c0, 0x01a09d60, 0x0393a393, 0x01c2f1e0, 0x005e8108, 0x005429f8, 0x0036b9ee}}}, + {X: Field{[10]uint32{0x03686bce, 0x009b5b74, 0x012c7e1d, 0x00141ae9, 0x035c22ff, 0x01668e11, 0x0180ea1c, 0x03cab6eb, 0x010e5ef5, 0x001bc635}}, Y: Field{[10]uint32{0x00d7d7a9, 0x00cdab7c, 0x038f513a, 0x01756d15, 0x00d3f340, 0x030de1b8, 0x00f5c83b, 0x03bf43eb, 0x020fa166, 0x003475fa}}}, + {X: Field{[10]uint32{0x03d949e0, 0x03a281cb, 0x01233b3b, 0x00399796, 0x01fcdfe0, 0x0377ba76, 0x009569a8, 0x004cd92b, 0x009d5ed5, 0x002d8d37}}, Y: Field{[10]uint32{0x0331db69, 0x01b40dba, 0x021a70e8, 0x01d9958a, 0x02fdf189, 0x0370d15b, 0x01a505cb, 0x0095d7c9, 0x02e2c61b, 0x0035cb91}}}, + {X: Field{[10]uint32{0x03445910, 0x0159bf65, 0x00f0e4fc, 0x020da7d7, 0x0340d919, 0x00f6f16a, 0x02461714, 0x0093cf99, 0x00f02dba, 0x00168dff}}, Y: Field{[10]uint32{0x01c69d1e, 0x010918dd, 0x00b59c33, 0x00f4a5d7, 0x0333e615, 0x00531e11, 0x02a95826, 0x01d1b198, 0x01d813f8, 0x002a5834}}}, + {X: Field{[10]uint32{0x0112661c, 0x00eb86fc, 0x029e11b8, 0x023c6aac, 0x01eeeb8f, 0x0065b63f, 0x00201b6b, 0x0200cb18, 0x02a73731, 0x0022abc5}}, Y: Field{[10]uint32{0x039a8e44, 0x02ead22a, 0x0215d611, 0x025661f1, 0x036d03a7, 0x0117cab9, 0x03cc0c28, 0x02929d58, 0x035666a3, 0x0031187b}}}, + {X: Field{[10]uint32{0x035e3434, 0x012e2bab, 0x0004d9cd, 0x024d0b0a, 0x011d85a6, 0x001ca711, 0x03e7f49e, 0x0057bf64, 0x03a5a05f, 0x00115bc2}}, Y: Field{[10]uint32{0x0311cad5, 0x01fb2c9c, 0x0135bb0f, 0x02f612e4, 0x0213f616, 0x00c10785, 0x006da131, 0x006a2dfd, 0x00a99922, 0x0029a03d}}}, + {X: Field{[10]uint32{0x00f5c741, 0x02cd32ce, 0x0170a9d0, 0x003e85e2, 0x014bfdc9, 0x00784b2e, 0x03146d93, 0x015025d7, 0x02a1f190, 0x003e270d}}, Y: Field{[10]uint32{0x0044099b, 0x0348dd67, 0x01646579, 0x0233ad28, 0x034b1df3, 0x0307fe8e, 0x01866159, 0x006e4a84, 0x008058e3, 0x000ed58b}}}, + {X: Field{[10]uint32{0x01f3f76a, 0x030940d0, 0x004289d2, 0x0398cbcc, 0x00e23876, 0x035a73ed, 0x00c49031, 0x02180036, 0x03112e1d, 0x001fdafa}}, Y: Field{[10]uint32{0x00ff4a9b, 0x03743b29, 0x02fb90cd, 0x035ba33d, 0x0008d98e, 0x00589ee6, 0x0194b9b5, 0x016bf2fa, 0x0007c092, 0x002864dd}}}, + {X: Field{[10]uint32{0x02d73511, 0x03718184, 0x000d3827, 0x010c653d, 0x011010f5, 0x03475400, 0x037130ba, 0x031f0de2, 0x00aab585, 0x002416b4}}, Y: Field{[10]uint32{0x037177a9, 0x02e00942, 0x018aab83, 0x007e8b82, 0x00a44782, 0x024745b5, 0x00130aee, 0x0334e054, 0x0301c3dd, 0x002ff381}}}, + {X: Field{[10]uint32{0x03408b6c, 0x0145487d, 0x032aef1d, 0x03d1d542, 0x01e54187, 0x02d80cf4, 0x001e7a30, 0x00bf29c8, 0x02d16212, 0x003d5670}}, Y: Field{[10]uint32{0x00154481, 0x0059eb4d, 0x017f25dc, 0x0108e33b, 0x037695ea, 0x00c4209c, 0x02f04dc4, 0x03ac51fd, 0x0222dfd0, 0x000fc435}}}, + {X: Field{[10]uint32{0x018ce8b4, 0x0364741c, 0x023456f4, 0x00330d85, 0x037c0d8a, 0x022fb7d4, 0x02e5830a, 0x00527332, 0x00a4fa17, 0x00066cca}}, Y: Field{[10]uint32{0x02582f64, 0x01134127, 0x00855126, 0x0024975a, 0x01fdff7f, 0x039e19de, 0x01258838, 0x01a48da6, 0x000a2a4e, 0x0026873a}}}, + {X: Field{[10]uint32{0x01ad5d4a, 0x024d922b, 0x03e533a3, 0x03d02487, 0x032743d4, 0x0069a82f, 0x00abc24c, 0x0066f3af, 0x00a0e756, 0x002beae6}}, Y: Field{[10]uint32{0x023a32db, 0x034e6fa4, 0x017157df, 0x038c4f5d, 0x007c8e5b, 0x007ca684, 0x0341c092, 0x00e695e5, 0x02877591, 0x002fc6ce}}}, + {X: Field{[10]uint32{0x024181c7, 0x0247f63b, 0x01085cca, 0x03ba05db, 0x01b2dfe0, 0x020ea3b2, 0x01b36d9c, 0x028d36b7, 0x037c1d86, 0x0030b2af}}, Y: Field{[10]uint32{0x0191070f, 0x0349ea93, 0x032acf51, 0x0143a725, 0x01159ab1, 0x03b3ae3d, 0x00465bd6, 0x00cd71c9, 0x032453f1, 0x0016ccad}}}, + {X: Field{[10]uint32{0x0289f593, 0x035b3f0a, 0x02be4f5a, 0x03e8b068, 0x024f6e9c, 0x03050d57, 0x028c5347, 0x01d148a6, 0x00248e84, 0x0024a0e5}}, Y: Field{[10]uint32{0x008c3a07, 0x02285c5f, 0x02996c88, 0x0057594b, 0x0051983b, 0x011bebda, 0x00a7b4a1, 0x03b81a67, 0x005dfd41, 0x002ee716}}}, + {X: Field{[10]uint32{0x033c7dfa, 0x030c3431, 0x03b4aa8d, 0x004b4327, 0x0155e55f, 0x005ef5eb, 0x00cba646, 0x03c61082, 0x013c389e, 0x002f28a1}}, Y: Field{[10]uint32{0x01df63a2, 0x02235e78, 0x01340175, 0x00b80799, 0x02fe9a14, 0x01a98bee, 0x005952b1, 0x03b7b4f5, 0x009ef32a, 0x0027d04a}}}, + {X: Field{[10]uint32{0x01bf56fd, 0x013ca05c, 0x037e4a0e, 0x02f4df29, 0x015745b7, 0x03399cb1, 0x0353aea5, 0x0196a3af, 0x03da94b5, 0x00293a9e}}, Y: Field{[10]uint32{0x013e96bc, 0x03339aa2, 0x00fb0970, 0x00c4deec, 0x02629eef, 0x00b1654f, 0x01e1a284, 0x03aa426e, 0x00851405, 0x0032541d}}}, + {X: Field{[10]uint32{0x00d5e169, 0x0139e318, 0x03b1ff75, 0x022a149e, 0x03da57c1, 0x02268900, 0x0327ced0, 0x004e7b5c, 0x0145af71, 0x001c5c1f}}, Y: Field{[10]uint32{0x00223ef9, 0x037a75c4, 0x0185f1b9, 0x00e7f4f1, 0x013eef0f, 0x01691df7, 0x034e4a85, 0x029bce8f, 0x0084fe4d, 0x00092cd9}}}, + {X: Field{[10]uint32{0x03df9a05, 0x029c1b93, 0x028c07dd, 0x03db5cc8, 0x015b1f5f, 0x01ae3fd4, 0x01cf4d23, 0x03d64675, 0x02030296, 0x0014b077}}, Y: Field{[10]uint32{0x02344d0e, 0x0074d356, 0x03c5135d, 0x00524181, 0x01c95097, 0x0368ede1, 0x00066e4f, 0x0355d0e1, 0x01590d73, 0x0036e563}}}, + {X: Field{[10]uint32{0x0368912f, 0x007a9888, 0x03120d8b, 0x001f7e09, 0x0374dc20, 0x02f32ee1, 0x0291989c, 0x03a114c1, 0x00b07852, 0x001ec270}}, Y: Field{[10]uint32{0x002bd263, 0x0027a13e, 0x01f3be9c, 0x01736a5e, 0x0109545a, 0x01e0ae93, 0x02ebeeb0, 0x00a05f43, 0x0317ffc5, 0x0013b7d5}}}, + {X: Field{[10]uint32{0x03b8300a, 0x031a277f, 0x02540681, 0x01899acc, 0x03f26e70, 0x038ecf00, 0x00088343, 0x0346a0af, 0x00ceb29a, 0x003a661c}}, Y: Field{[10]uint32{0x01597f9f, 0x01e16a33, 0x00fadc6f, 0x00f6448c, 0x008ff75e, 0x005345ea, 0x0012dbc6, 0x01f596f3, 0x01927894, 0x0020202b}}}, + {X: Field{[10]uint32{0x005c38e7, 0x00e90d08, 0x02444adc, 0x02f4ae44, 0x022dd2c2, 0x00f5317b, 0x01b4cb9c, 0x0204e617, 0x026de28b, 0x0031f88c}}, Y: Field{[10]uint32{0x02ad940e, 0x02fd7871, 0x0099d195, 0x023150f6, 0x01d31adf, 0x005df3c1, 0x0387000e, 0x0332547e, 0x03f9cdc0, 0x0017ca18}}}, + {X: Field{[10]uint32{0x023f7965, 0x026d574f, 0x02244119, 0x01ad7a94, 0x014c6bb6, 0x023ee922, 0x0186bfd2, 0x02f5e0f1, 0x02c84ca7, 0x00220d65}}, Y: Field{[10]uint32{0x00e9282e, 0x01af3896, 0x03ac6940, 0x016da3b3, 0x0147a22f, 0x00a516b2, 0x02d6d4a7, 0x017c4325, 0x03e85925, 0x003ec452}}}, + {X: Field{[10]uint32{0x020b42cc, 0x03adf8fc, 0x02dcf7ff, 0x0165794c, 0x035cf616, 0x01f95b9f, 0x03029dd3, 0x0103d6c3, 0x0248a196, 0x001fdce9}}, Y: Field{[10]uint32{0x00ff4feb, 0x013fea20, 0x0107f4a9, 0x006e7565, 0x0108ef19, 0x028ed09b, 0x022df3eb, 0x02bb7ed3, 0x008af931, 0x0013dd89}}}, + {X: Field{[10]uint32{0x0341aa3d, 0x030e0aa5, 0x015bddb9, 0x026a291e, 0x0218c873, 0x00465a99, 0x03b56040, 0x0340eb38, 0x034a3660, 0x003227b8}}, Y: Field{[10]uint32{0x02923884, 0x0346e544, 0x02084684, 0x0192e677, 0x03068387, 0x003bca4b, 0x0379ac9d, 0x02b15fcb, 0x008835fb, 0x002928ee}}}, + {X: Field{[10]uint32{0x0141d5bc, 0x0313b4f6, 0x023fd566, 0x02250c15, 0x01b5c468, 0x007607c6, 0x0050cf43, 0x00313940, 0x0056d7dc, 0x00092f93}}, Y: Field{[10]uint32{0x029e6213, 0x0268217c, 0x001cbac0, 0x031e95bf, 0x010f6a5f, 0x03c6b5da, 0x00714a2a, 0x00c5757c, 0x02e24936, 0x00381c8d}}}, + {X: Field{[10]uint32{0x000b94f5, 0x02e614f9, 0x02852c4e, 0x00749a4d, 0x022866a9, 0x008dea7c, 0x00ee5c53, 0x007001e6, 0x031ecaa9, 0x001b0c79}}, Y: Field{[10]uint32{0x00cf8cd7, 0x00f0e167, 0x03922572, 0x0365203d, 0x0134543c, 0x00c2e53a, 0x0117e0ac, 0x00b34704, 0x03232b5f, 0x00196bfc}}}, + {X: Field{[10]uint32{0x0258b7e7, 0x0007b5e3, 0x02286926, 0x01d34c7e, 0x03e470a5, 0x02d860e7, 0x003c0229, 0x01a4f4f8, 0x033c8479, 0x00141b0d}}, Y: Field{[10]uint32{0x01b7ab65, 0x00feb280, 0x023ca167, 0x01db83ff, 0x03e24f86, 0x001ffba0, 0x00bd4ae7, 0x0140d49a, 0x03d3a57c, 0x0013f42f}}}, + {X: Field{[10]uint32{0x018349a4, 0x0314ccb2, 0x01b45b48, 0x00247700, 0x0057571a, 0x01c7dcc7, 0x027b0978, 0x01b3185b, 0x01f3ea1a, 0x00167669}}, Y: Field{[10]uint32{0x01fc8447, 0x005b8355, 0x0363821c, 0x004c6a9a, 0x0153aadf, 0x029fb94e, 0x03c348f0, 0x025b0c98, 0x033eee64, 0x00252b4d}}}, + {X: Field{[10]uint32{0x02d75c69, 0x00e06cc8, 0x008d64de, 0x0274d991, 0x01c6f892, 0x01b399f5, 0x001912fa, 0x005923d9, 0x03ab6537, 0x00294933}}, Y: Field{[10]uint32{0x01782823, 0x028daa51, 0x0214471a, 0x01630fd1, 0x02ac1b61, 0x02f9f1e6, 0x026ae90b, 0x0356645e, 0x03f987fb, 0x0005309b}}}, + {X: Field{[10]uint32{0x0348c550, 0x03cb195f, 0x0276a92a, 0x03537c9b, 0x038aa3fd, 0x029ac8e4, 0x000d3ac6, 0x018c1e1f, 0x006df83c, 0x00049b26}}, Y: Field{[10]uint32{0x014c5c5c, 0x00595acf, 0x03d39774, 0x00757a6b, 0x003f74ab, 0x006b1cb8, 0x00f04dd3, 0x01be3cef, 0x01d3a56a, 0x0020214e}}}, + {X: Field{[10]uint32{0x00e39722, 0x0211d283, 0x01db7318, 0x035ee6a0, 0x00d8ff25, 0x03341554, 0x01a9d5b4, 0x033ec9f8, 0x03c01aeb, 0x000cb2ae}}, Y: Field{[10]uint32{0x03bccee9, 0x01bfac63, 0x035bb957, 0x0087eaa7, 0x02be1910, 0x03b9ad4a, 0x02c070f6, 0x00c71004, 0x020ae080, 0x001f4c04}}}, + {X: Field{[10]uint32{0x02f42c64, 0x03873e08, 0x025da359, 0x01905b70, 0x028a9f08, 0x0356992a, 0x00975aba, 0x035be2a6, 0x00baf7de, 0x000ff787}}, Y: Field{[10]uint32{0x035ac075, 0x00f2580b, 0x03f919ee, 0x02858373, 0x0044ffed, 0x024484b3, 0x0293cae6, 0x03c5d2c3, 0x00ac61f0, 0x0003943f}}}, + {X: Field{[10]uint32{0x01462e24, 0x024cb1c4, 0x0326b3ce, 0x00dc7b87, 0x0336e9db, 0x02c409c9, 0x013a08d6, 0x037ef007, 0x02cad6c3, 0x00272b48}}, Y: Field{[10]uint32{0x00461c6b, 0x0136e554, 0x015a6882, 0x00653967, 0x03422bb1, 0x02aaeed4, 0x00781cb0, 0x033411fc, 0x031d873d, 0x0016ba13}}}, + {X: Field{[10]uint32{0x015872ef, 0x014b465f, 0x0024e1c6, 0x027e4927, 0x010c20cf, 0x00706beb, 0x00ca18e9, 0x01d898ea, 0x0020aa80, 0x00026164}}, Y: Field{[10]uint32{0x03c73e69, 0x00152e34, 0x02dd6a3d, 0x03aecccb, 0x01a084e7, 0x03617e8e, 0x00976f72, 0x01f5b91c, 0x03fd21ab, 0x001150c8}}}, + {X: Field{[10]uint32{0x024eb2b6, 0x00c6e791, 0x033a9d8c, 0x014f112c, 0x00ac00bc, 0x02094a07, 0x03093b6c, 0x032f568a, 0x01a3e7cb, 0x002085a6}}, Y: Field{[10]uint32{0x02a9726a, 0x001cead9, 0x0384023b, 0x0146f39b, 0x03e62cf4, 0x02ef4fa7, 0x0344cbcb, 0x032e6dca, 0x00172400, 0x003df567}}}, + {X: Field{[10]uint32{0x00d370d9, 0x029fdb63, 0x02dad74e, 0x030ff0a1, 0x00440b3c, 0x031233ae, 0x01fc7a55, 0x00e189e5, 0x00be3642, 0x002f41b5}}, Y: Field{[10]uint32{0x0183b90e, 0x03354218, 0x017140ac, 0x014fef34, 0x0361bb12, 0x032ee023, 0x00a56632, 0x03b22329, 0x013a0fdc, 0x000ec246}}}, + {X: Field{[10]uint32{0x03bdf4d2, 0x010448d2, 0x038225bc, 0x013645df, 0x02bb4b73, 0x0010f1b2, 0x00a4ed0e, 0x031e37c1, 0x02e79c8c, 0x000b1c44}}, Y: Field{[10]uint32{0x00391243, 0x00fb108e, 0x01afd6e0, 0x03bd97fc, 0x02bae242, 0x02403d87, 0x012884ad, 0x008921d8, 0x03add42e, 0x00320733}}}, + {X: Field{[10]uint32{0x0122131e, 0x02deabf8, 0x03905762, 0x01bbc660, 0x03b7f523, 0x0377e73a, 0x03cbb8c9, 0x01dcb20c, 0x010fa65d, 0x00146b8e}}, Y: Field{[10]uint32{0x017ba06e, 0x01b86a3b, 0x02ec8125, 0x0387a13a, 0x000f1e96, 0x01f6edc5, 0x02f2a888, 0x01ac18a0, 0x03808040, 0x000f5f27}}}, + {X: Field{[10]uint32{0x02cc59ea, 0x0209b936, 0x027a177d, 0x01c9ae45, 0x02c74326, 0x00ecc4d5, 0x00b8348e, 0x01e90caf, 0x0112de23, 0x00316778}}, Y: Field{[10]uint32{0x01903b25, 0x0131a275, 0x012b0285, 0x000ea381, 0x00aa33e4, 0x017859db, 0x009c1d9c, 0x02d9b67c, 0x03167c5e, 0x000d8427}}}, + {X: Field{[10]uint32{0x0156d978, 0x000608fd, 0x030f757d, 0x039a4867, 0x02077ca1, 0x015d4c09, 0x01cb89a4, 0x02766c54, 0x023ab750, 0x0022e67c}}, Y: Field{[10]uint32{0x016a4164, 0x0380203d, 0x00e9adc8, 0x00be4132, 0x00d338e1, 0x02f355cf, 0x033cf0e4, 0x03f913d4, 0x02adf53a, 0x0021a8c6}}}, + {X: Field{[10]uint32{0x00369dd5, 0x0382ae5e, 0x0271739f, 0x01f277ba, 0x0261f5fb, 0x03bc620b, 0x024135a1, 0x02a6f67b, 0x03657d6f, 0x001319c3}}, Y: Field{[10]uint32{0x03e65417, 0x002de5fb, 0x01dd3c10, 0x00d46d4e, 0x01b54e04, 0x01fe2474, 0x0075dc10, 0x014d8c4a, 0x02265d4b, 0x0014c6a0}}}, + {X: Field{[10]uint32{0x00f38548, 0x0233b778, 0x0333d938, 0x037277c3, 0x0036aed9, 0x015fc190, 0x03024e6e, 0x003e57f5, 0x02359daa, 0x0023a59f}}, Y: Field{[10]uint32{0x010d218f, 0x0285d946, 0x00d2f1f1, 0x02c7c058, 0x0145fa0a, 0x028440e0, 0x008b833b, 0x03ea9632, 0x015ba59a, 0x000dbe01}}}, + {X: Field{[10]uint32{0x032ac9e1, 0x03a78cce, 0x03c3ec82, 0x01f0231e, 0x015e2e09, 0x03c33256, 0x007bfaac, 0x028df417, 0x01159c45, 0x000fd846}}, Y: Field{[10]uint32{0x0197d7d6, 0x00cb80b5, 0x014faf6c, 0x03b896dd, 0x03b9d2f3, 0x03bab694, 0x02087578, 0x01f7148f, 0x034ab743, 0x00032004}}}, + {X: Field{[10]uint32{0x007641d9, 0x0140033d, 0x007459f8, 0x020e1c1c, 0x0366bba6, 0x01faf7b7, 0x03b203ac, 0x0104ad4f, 0x009d7c61, 0x000fd679}}, Y: Field{[10]uint32{0x003ad5b0, 0x038958e9, 0x010f2ae3, 0x01e261b5, 0x0264cd09, 0x03d77353, 0x038f1010, 0x037f8f48, 0x00884243, 0x002fb75c}}}, + {X: Field{[10]uint32{0x03f6d490, 0x032be1d6, 0x02781bbb, 0x036865e8, 0x01ad46d4, 0x033c5c3a, 0x0044b5bf, 0x00da90ef, 0x00c9b648, 0x0016df61}}, Y: Field{[10]uint32{0x034d984f, 0x00ffb0ac, 0x0156a7c7, 0x016e64a0, 0x03f2164e, 0x001f7c12, 0x00b89755, 0x02c3ffeb, 0x029cc7d6, 0x0027d56c}}}, + {X: Field{[10]uint32{0x01744b1c, 0x030a7a94, 0x02a88962, 0x003681c6, 0x0390decf, 0x02bf0faa, 0x03bf1f9a, 0x03a0f3dc, 0x00ae0ac3, 0x00387b9d}}, Y: Field{[10]uint32{0x01277030, 0x0331423c, 0x0221650a, 0x016e0319, 0x01eefbe1, 0x020e60e7, 0x028d6748, 0x02149415, 0x02f8b34e, 0x0027a1b4}}}, + {X: Field{[10]uint32{0x03eea871, 0x03125ada, 0x0200e5dd, 0x02b2fbb8, 0x01eba721, 0x025b29fb, 0x0196c22e, 0x0251238c, 0x015b8d48, 0x003e8733}}, Y: Field{[10]uint32{0x039bc469, 0x0396154b, 0x01829d25, 0x012ff4aa, 0x02851350, 0x01e95b5f, 0x02479a8a, 0x01995275, 0x019a326a, 0x0038adfd}}}, + {X: Field{[10]uint32{0x03fdc8bf, 0x03c30e9e, 0x027a04c9, 0x01afde97, 0x00b29231, 0x02d298eb, 0x02199d1a, 0x0182587d, 0x00d70f38, 0x003bc787}}, Y: Field{[10]uint32{0x0298ef05, 0x014430ae, 0x00687eeb, 0x01dd5677, 0x025783d3, 0x0104794c, 0x015dadce, 0x0044760e, 0x0001a9de, 0x00133be7}}}, + {X: Field{[10]uint32{0x01326120, 0x0391a2b8, 0x02e8e9b3, 0x02565687, 0x020fe9c3, 0x01204f6c, 0x025cc4ed, 0x034eeb7e, 0x02b93e75, 0x0036dc53}}, Y: Field{[10]uint32{0x0271a206, 0x00a56a9a, 0x0067f618, 0x00059970, 0x00fa3cb7, 0x02205a10, 0x0130311c, 0x01e3d213, 0x0286b812, 0x000f7126}}}, + {X: Field{[10]uint32{0x02ea5d5a, 0x03ccbfb9, 0x0045229a, 0x031e6b47, 0x03d70c79, 0x03a74ffa, 0x00cf936e, 0x00a1610f, 0x038dbd57, 0x001665fc}}, Y: Field{[10]uint32{0x03e4a224, 0x01a695a5, 0x00eec45a, 0x01e37d52, 0x031f44b6, 0x01970777, 0x0349e089, 0x00046ee5, 0x0062b716, 0x002b7df6}}}, + {X: Field{[10]uint32{0x03baeb92, 0x03bb0f4e, 0x00039ea4, 0x02f4ef1b, 0x02956654, 0x03f07f1e, 0x008ae666, 0x0015ddec, 0x02d90a92, 0x0025f5bd}}, Y: Field{[10]uint32{0x020068b9, 0x03c6d730, 0x03c684bd, 0x037d39ff, 0x03ce03fe, 0x00f7eefd, 0x015ab971, 0x0261536b, 0x0047ff21, 0x002d1437}}}, + {X: Field{[10]uint32{0x02d307c4, 0x00034016, 0x010abc4b, 0x032875ac, 0x0040232b, 0x013bbe67, 0x0149ae3c, 0x02dcada5, 0x03cd5ec8, 0x0013d14f}}, Y: Field{[10]uint32{0x01683f7f, 0x01303482, 0x038160b9, 0x017b59a3, 0x00bd61f1, 0x0258367a, 0x02442baf, 0x02f21f1e, 0x0168c4a8, 0x002ab7b5}}}, + {X: Field{[10]uint32{0x009424d6, 0x01c9c165, 0x031e6499, 0x0243036d, 0x00ae4c44, 0x02a9e51b, 0x01c0a6ac, 0x00c0d71c, 0x00a35059, 0x00016981}}, Y: Field{[10]uint32{0x033be9c8, 0x01e9bd04, 0x0186a893, 0x0278bde1, 0x01ae8277, 0x03ea2742, 0x02b92b93, 0x00069e80, 0x00126d87, 0x00395e3f}}}, + {X: Field{[10]uint32{0x03c635b3, 0x0061a581, 0x004985d1, 0x0324d382, 0x022de601, 0x02d7fa3b, 0x024cf0d5, 0x00cbe86d, 0x01a29168, 0x000fcc1c}}, Y: Field{[10]uint32{0x011ad3a3, 0x02147911, 0x0070d053, 0x01706f91, 0x038712f2, 0x0277c390, 0x02adb6f6, 0x02c8cec8, 0x01990bae, 0x003a456c}}}, + {X: Field{[10]uint32{0x001c06e5, 0x01252464, 0x02c45318, 0x01b0bb79, 0x02f7476a, 0x03e67088, 0x0302c5fb, 0x0226b3f3, 0x01cd6431, 0x001d16f0}}, Y: Field{[10]uint32{0x029933f0, 0x024741b4, 0x01d21872, 0x0107409d, 0x00be16cb, 0x0039676d, 0x02519bd1, 0x01dd77a6, 0x034a8703, 0x001668ae}}}, + {X: Field{[10]uint32{0x0237238e, 0x02024449, 0x01942175, 0x00da29b0, 0x01ab3967, 0x018e1e62, 0x03591a60, 0x02567614, 0x028cadb3, 0x002ef41b}}, Y: Field{[10]uint32{0x00b8b690, 0x013b7b4e, 0x00c2a02b, 0x000e9968, 0x00d562b0, 0x0242e1a9, 0x006cb880, 0x0397cf71, 0x0296b484, 0x002b8360}}}, + {X: Field{[10]uint32{0x022cf07c, 0x014ff524, 0x017a385e, 0x01a6debe, 0x029f3eb5, 0x00e8ecd7, 0x00b7e436, 0x02f99a14, 0x01b6128d, 0x003f36a3}}, Y: Field{[10]uint32{0x01551974, 0x03d4d7fe, 0x03f283a0, 0x03a0a817, 0x02cd11f1, 0x03135721, 0x0358ee14, 0x03e6a17d, 0x01fc37a0, 0x0012fcf7}}}, + {X: Field{[10]uint32{0x0073cce2, 0x006b7666, 0x015705ca, 0x025d3b7b, 0x034ed2da, 0x01c84332, 0x025e1132, 0x01f7b4a9, 0x03dffc9c, 0x0018c977}}, Y: Field{[10]uint32{0x00f222e1, 0x0355b4d3, 0x033584d7, 0x003ebc69, 0x027ce193, 0x0185e7fa, 0x00ada7e2, 0x01bf1c5c, 0x0099683e, 0x00227f93}}}, + {X: Field{[10]uint32{0x02ee0d7f, 0x038fca48, 0x02d59245, 0x026d068e, 0x03513df5, 0x009e7429, 0x035797a5, 0x014258ea, 0x00a69349, 0x001dd653}}, Y: Field{[10]uint32{0x01faabb2, 0x023760f9, 0x024a9581, 0x00ef299a, 0x03631df0, 0x03cbbd63, 0x02ddf45e, 0x02ff23f7, 0x01122ccf, 0x000657ac}}}, + {X: Field{[10]uint32{0x02a67867, 0x005514ae, 0x0027bede, 0x01f80c21, 0x02e2defd, 0x019649dc, 0x01348fdc, 0x0090bd3c, 0x0067ea9b, 0x003cd5bb}}, Y: Field{[10]uint32{0x0233ba7a, 0x00bed335, 0x00121e4a, 0x00423c41, 0x03d75a21, 0x03262c0f, 0x02b71459, 0x023a9268, 0x01b9e23f, 0x000f4899}}}, + {X: Field{[10]uint32{0x00a205c9, 0x03f74bbe, 0x012ffcad, 0x002d6428, 0x0186149f, 0x03e2b9be, 0x00e30914, 0x02923b1e, 0x02129b0f, 0x000cd82b}}, Y: Field{[10]uint32{0x01d18a34, 0x014b7dc9, 0x00b83dcb, 0x01478cdf, 0x023d7a20, 0x00ac2989, 0x00098722, 0x016844fb, 0x03f2720d, 0x001e6cde}}}, + {X: Field{[10]uint32{0x01e8727b, 0x0056b4fe, 0x032823fc, 0x02ae7fc3, 0x03b29040, 0x0311d84f, 0x031a4c5f, 0x031436cc, 0x0352c703, 0x00113a43}}, Y: Field{[10]uint32{0x02f55f17, 0x027b0178, 0x02feb400, 0x00789b45, 0x0295c249, 0x00624cbd, 0x02d013a7, 0x00f9bd8d, 0x03419265, 0x0018b7ec}}}, + {X: Field{[10]uint32{0x02c84047, 0x000ad793, 0x0209ee79, 0x0225462a, 0x01c9e042, 0x02ca3f8d, 0x01958764, 0x02b888c4, 0x03a9b5c3, 0x003974d9}}, Y: Field{[10]uint32{0x02f8bcf0, 0x02a62f39, 0x02ace9c9, 0x02d308e0, 0x03fbbc06, 0x001c14b9, 0x0337c069, 0x03c3e9be, 0x017f01ab, 0x003a86c9}}}, + {X: Field{[10]uint32{0x01a63957, 0x01504ed6, 0x038de100, 0x02af820e, 0x010559ba, 0x008a01a9, 0x0061e6d4, 0x0396b4f0, 0x00fd7910, 0x00211e3a}}, Y: Field{[10]uint32{0x022df1d6, 0x0306f0c6, 0x03d5cfd8, 0x02f6d24b, 0x032f3f1e, 0x0052f52f, 0x03e38c45, 0x00d2644f, 0x00180519, 0x0013de4d}}}, + {X: Field{[10]uint32{0x0284b42d, 0x033dd84a, 0x01b6dc2c, 0x03ffda15, 0x0010c97d, 0x01e7249d, 0x035e2240, 0x01cc6fd6, 0x03c80587, 0x0030e0c9}}, Y: Field{[10]uint32{0x01abfcd6, 0x015f5493, 0x01b22bc6, 0x03eae157, 0x00a213fe, 0x0004b39d, 0x007d61f5, 0x0040b9fa, 0x03accb1b, 0x003ac0eb}}}, + {X: Field{[10]uint32{0x0051f10a, 0x00ad486f, 0x0214cd62, 0x02d9813b, 0x024662b4, 0x005fca28, 0x00f48c9d, 0x0299c956, 0x00125348, 0x002e7a2a}}, Y: Field{[10]uint32{0x031ccfee, 0x02b5ccbb, 0x0344ce3d, 0x02ee5e85, 0x033813e7, 0x01dc6d48, 0x02a02241, 0x0341ed47, 0x000d65fc, 0x000d709e}}}, + {X: Field{[10]uint32{0x01cc713e, 0x0229ca69, 0x030fdcc6, 0x00f48506, 0x03d3c3b5, 0x002ea1ab, 0x012e4837, 0x028c94e3, 0x02d595cf, 0x002952a8}}, Y: Field{[10]uint32{0x03b8a159, 0x03ea81a2, 0x02baf4e1, 0x02e68cba, 0x007e9552, 0x02a14692, 0x036b9c86, 0x00acbb99, 0x006e63c0, 0x002fdd37}}}, + {X: Field{[10]uint32{0x029fd956, 0x006787f6, 0x015ea4cc, 0x02b61735, 0x00420ce2, 0x02e2212b, 0x00ad145f, 0x0153ae11, 0x003ce2df, 0x003517fb}}, Y: Field{[10]uint32{0x00b81bd6, 0x03122fe3, 0x0208d205, 0x039fb9d2, 0x00bf6be1, 0x02308235, 0x001dbf9b, 0x032da9a4, 0x030065ae, 0x003b633e}}}, + {X: Field{[10]uint32{0x03192172, 0x03892b54, 0x0310187b, 0x02ae390c, 0x005c0136, 0x013360db, 0x0159829d, 0x02cc632a, 0x0298f728, 0x003d2d13}}, Y: Field{[10]uint32{0x01ea9fa1, 0x030a8262, 0x024e84d3, 0x022fc2a9, 0x012febdd, 0x033dee37, 0x0041fd88, 0x033924b2, 0x01b3960b, 0x003bd548}}}, + {X: Field{[10]uint32{0x013d67e3, 0x00b5090d, 0x039e2841, 0x031b8982, 0x00dcec40, 0x0214cc1e, 0x020cd40e, 0x024443ea, 0x01bf0d34, 0x0037b1b4}}, Y: Field{[10]uint32{0x01095895, 0x028bee99, 0x03b7254c, 0x02cc9041, 0x039451b0, 0x00bff243, 0x02fe44f3, 0x032405c7, 0x03813609, 0x001ce85b}}}, + {X: Field{[10]uint32{0x03ff013e, 0x02d6deac, 0x02039238, 0x0092f069, 0x01265f1c, 0x009cd4d3, 0x010b9c02, 0x01f1064c, 0x015372e1, 0x0007ef37}}, Y: Field{[10]uint32{0x006c27ca, 0x031dfc93, 0x0374f22b, 0x01d628a9, 0x03b2358f, 0x01c9d551, 0x004d14b9, 0x00704483, 0x034a06a6, 0x00273d3f}}}, + {X: Field{[10]uint32{0x02ab593b, 0x0004bef8, 0x03890357, 0x03e6a90e, 0x0250ea1f, 0x00e8c76a, 0x02d53f49, 0x01bb5deb, 0x00cb038c, 0x003673bc}}, Y: Field{[10]uint32{0x0253303f, 0x0030b74d, 0x0148604d, 0x004fb410, 0x01e161cd, 0x03c67769, 0x00e66547, 0x01cb56da, 0x02fe2468, 0x000ca905}}}, + {X: Field{[10]uint32{0x03f03da3, 0x01d29807, 0x03ccede1, 0x01f338cf, 0x024e2f60, 0x022348e1, 0x022135f0, 0x00a86117, 0x014988e2, 0x0005906d}}, Y: Field{[10]uint32{0x0194922f, 0x0237ef5f, 0x006fb5b6, 0x03473eb6, 0x0148e3ff, 0x0103e05b, 0x024e1b95, 0x021d9cd9, 0x00d9ed71, 0x003b74fc}}}, + {X: Field{[10]uint32{0x02243cdd, 0x014d9b0e, 0x0376f96c, 0x020eb13b, 0x0237938f, 0x03bd8059, 0x0238b211, 0x027fec6d, 0x00163c5d, 0x00267bdb}}, Y: Field{[10]uint32{0x02f66b48, 0x005da7b5, 0x02499a31, 0x02f9ae87, 0x027f912b, 0x03c10f80, 0x01d7796d, 0x01607787, 0x0362d819, 0x001adbbb}}}, + {X: Field{[10]uint32{0x035bc97c, 0x0119e7d6, 0x03fe4e2f, 0x02ca3a93, 0x02b9c47f, 0x0314d917, 0x03f79b09, 0x00ba2e03, 0x012dc24c, 0x00124d63}}, Y: Field{[10]uint32{0x001cf5b4, 0x00df2bb7, 0x03865378, 0x0121efb8, 0x03b8c807, 0x023872bd, 0x03c1cbff, 0x0103afbd, 0x00a7f9df, 0x00144a85}}}, + {X: Field{[10]uint32{0x00eb206b, 0x03b2119f, 0x02ee8a4e, 0x029690c2, 0x03c8c122, 0x00533ce0, 0x009c5e1a, 0x037fa495, 0x03cfb1de, 0x0038c74f}}, Y: Field{[10]uint32{0x01b0449b, 0x00eb95a9, 0x03687e6c, 0x02b6d379, 0x01effc4d, 0x020d193e, 0x03ad1dde, 0x01d1ec28, 0x026669db, 0x001ef0f0}}}, + {X: Field{[10]uint32{0x02c64adf, 0x00933861, 0x015d44e3, 0x01fe5e68, 0x03ad1fbb, 0x00a35d20, 0x0332e66a, 0x02f2b7ee, 0x01d6ac86, 0x002a0bb2}}, Y: Field{[10]uint32{0x00f74c89, 0x03b1b4c3, 0x01f816c4, 0x03402c78, 0x023a9efa, 0x031de64d, 0x02b46f1a, 0x006b97d2, 0x012bc28b, 0x002eb21f}}}, + {X: Field{[10]uint32{0x00ea113d, 0x02d4f532, 0x01c081bf, 0x030c631c, 0x020dc370, 0x02334eae, 0x01ab82b1, 0x028b891e, 0x01942bff, 0x00085942}}, Y: Field{[10]uint32{0x001fcae3, 0x029df272, 0x03103fec, 0x02fa697c, 0x00f84511, 0x009067e4, 0x0113b6f6, 0x00d142f9, 0x006a2f65, 0x0025ea09}}}, + {X: Field{[10]uint32{0x02dd4b84, 0x03acd8b1, 0x0057f63c, 0x0318f6d6, 0x01e4e666, 0x01123a41, 0x01f8070e, 0x025a21ff, 0x00d8208d, 0x001cd414}}, Y: Field{[10]uint32{0x02b9e2e9, 0x0007e78a, 0x03918900, 0x032eb4c1, 0x00216887, 0x0320866b, 0x03e23f07, 0x0187279b, 0x00385636, 0x000b8fed}}}, + {X: Field{[10]uint32{0x03afe506, 0x02ced991, 0x008ba197, 0x0001e770, 0x0365f878, 0x02e70fa6, 0x00c3813b, 0x0370228d, 0x0061e679, 0x00074086}}, Y: Field{[10]uint32{0x02fd2f1f, 0x029ae9e9, 0x03c50cea, 0x0133b82d, 0x004a10e8, 0x00a56fc2, 0x0292cd0e, 0x0120f427, 0x00b92303, 0x00052db4}}}, + {X: Field{[10]uint32{0x02d7810b, 0x0313d391, 0x0033c1bd, 0x01dd2615, 0x03f91c55, 0x013bfe5b, 0x018c15d5, 0x0225cea1, 0x027486ca, 0x001e9fbb}}, Y: Field{[10]uint32{0x03b498cf, 0x004b2edd, 0x02297c70, 0x006ef078, 0x03448fed, 0x01f46733, 0x035057d8, 0x01439e9f, 0x007f5d91, 0x0017a0e8}}}, + {X: Field{[10]uint32{0x0302beec, 0x039c9b69, 0x00b51f50, 0x0008cbc9, 0x02485938, 0x00a8cab6, 0x0005cce3, 0x00c1851f, 0x03d4fe0a, 0x00020470}}, Y: Field{[10]uint32{0x033d9f0a, 0x03acaf20, 0x034efc95, 0x0274c7b5, 0x03b28e59, 0x016b615d, 0x004214e3, 0x03d3e4ba, 0x016c6c9c, 0x0029bf30}}}, + {X: Field{[10]uint32{0x01ad606c, 0x01f69248, 0x0150b435, 0x0020c2ba, 0x03ca25ed, 0x0112c9b4, 0x00d5b1ee, 0x027a3c09, 0x003889ea, 0x000b2851}}, Y: Field{[10]uint32{0x0026c551, 0x004398c4, 0x0186f42e, 0x038dd04f, 0x03c5e90b, 0x03e39884, 0x002c6560, 0x028a7c2a, 0x02c692d8, 0x001ed229}}}, + {X: Field{[10]uint32{0x010277bf, 0x02c7c7ce, 0x01c80d57, 0x02977bba, 0x005dd3e0, 0x015f9989, 0x01566d29, 0x006bf0ce, 0x03e16104, 0x002a603f}}, Y: Field{[10]uint32{0x03a1c64c, 0x01051581, 0x007fd10e, 0x0015c739, 0x01457d50, 0x0285d366, 0x03440797, 0x00d0ee1d, 0x03a2a139, 0x000c9dbd}}}, + {X: Field{[10]uint32{0x01cd80bd, 0x0275bab6, 0x026bc957, 0x02639977, 0x01fde41d, 0x026364dc, 0x002954a9, 0x02dd3f16, 0x03d9cbcc, 0x00395c28}}, Y: Field{[10]uint32{0x02973a52, 0x026af905, 0x022df273, 0x01af1f7a, 0x019400bc, 0x00b05a2f, 0x01d30351, 0x00e63826, 0x01776658, 0x00169d24}}}, + {X: Field{[10]uint32{0x03ce1110, 0x025530de, 0x018c972b, 0x03ed988d, 0x0171bd25, 0x024a02eb, 0x013d985d, 0x03d4399b, 0x02b8952c, 0x003d7eea}}, Y: Field{[10]uint32{0x03d77175, 0x03d5fcc7, 0x006cfb02, 0x023400eb, 0x03801081, 0x01229d13, 0x03097c9b, 0x03e08693, 0x01236179, 0x0006b288}}}, + {X: Field{[10]uint32{0x018d89be, 0x0277a85c, 0x03375555, 0x017b136f, 0x016f9e52, 0x012adf1d, 0x0008d258, 0x02a2b055, 0x02fbecbd, 0x000b9650}}, Y: Field{[10]uint32{0x00bc790b, 0x0155bec5, 0x0201640c, 0x006a3032, 0x0230e12a, 0x01ad6498, 0x0123d6cf, 0x02669e3c, 0x0107d141, 0x00254419}}}, + {X: Field{[10]uint32{0x015dd296, 0x00cc006d, 0x0013ea2f, 0x00fe9ce5, 0x010a9fc8, 0x026eadc1, 0x01e7f64a, 0x0267a5b2, 0x00a9891c, 0x0024af41}}, Y: Field{[10]uint32{0x022ba587, 0x0067eb60, 0x01fbf130, 0x00d08859, 0x035cc71c, 0x005eda83, 0x0017ba68, 0x03f67395, 0x0333659b, 0x0033d78d}}}, + {X: Field{[10]uint32{0x03b11083, 0x034c1069, 0x008ffed7, 0x02c219c9, 0x024d0e52, 0x00f77358, 0x00c54269, 0x03ab878f, 0x019fa50f, 0x000c377f}}, Y: Field{[10]uint32{0x02eb42ed, 0x036bd989, 0x0241b14b, 0x003e1eb1, 0x0221bdfa, 0x03d09a72, 0x00389e3d, 0x020fbe86, 0x00fe2bb1, 0x003fc574}}}, + {X: Field{[10]uint32{0x012a9f4f, 0x00e779c9, 0x03f1cbaf, 0x036dcbe9, 0x00067ddd, 0x0115c679, 0x03196882, 0x031a2abc, 0x010bdf8a, 0x00233d45}}, Y: Field{[10]uint32{0x0186cfd5, 0x003f0150, 0x0007a213, 0x02ad0516, 0x002a9963, 0x00232636, 0x0318bc25, 0x02ec660e, 0x017ba299, 0x00130a12}}}, + {X: Field{[10]uint32{0x025e46c7, 0x00ca2149, 0x001b8690, 0x002637b3, 0x014a8e3c, 0x03db765e, 0x02ed9f74, 0x013becf2, 0x02fd5097, 0x0007d2d3}}, Y: Field{[10]uint32{0x039fd399, 0x031bfac5, 0x00a76ee1, 0x00a49940, 0x02685352, 0x011f1f02, 0x00adeb8a, 0x02c0370e, 0x00c7f7c6, 0x001b12c1}}}, + {X: Field{[10]uint32{0x0091af81, 0x00a2c634, 0x029a22a0, 0x02e43cb8, 0x003f915c, 0x004f40e3, 0x01883bad, 0x03e8ce35, 0x0100979a, 0x00275492}}, Y: Field{[10]uint32{0x0002be38, 0x0059e79a, 0x033e1e0f, 0x031c2e69, 0x03db3257, 0x02c5874c, 0x004453d6, 0x01ccb444, 0x013c037c, 0x00102684}}}, + {X: Field{[10]uint32{0x01a2e3a1, 0x01fcd2f7, 0x00734c62, 0x0133cfec, 0x005b0398, 0x0308d00f, 0x01c124c1, 0x036743f5, 0x00e446ee, 0x0014b879}}, Y: Field{[10]uint32{0x008320a7, 0x010c85c2, 0x03e5b262, 0x00c1d69d, 0x02e2dbc6, 0x00b05c4e, 0x004104f1, 0x03fea30f, 0x03317375, 0x0019d295}}}, + {X: Field{[10]uint32{0x02401c8b, 0x00bdea05, 0x03148fd2, 0x024e9df5, 0x020e0a6c, 0x031b8dbe, 0x00a8b6e7, 0x0138c79b, 0x031a8eef, 0x00209ec5}}, Y: Field{[10]uint32{0x03ca7540, 0x017cd93d, 0x01f08827, 0x03e84a7e, 0x001d58c7, 0x01e2e845, 0x026d14cb, 0x00073df7, 0x01fdd9b8, 0x00197361}}}, + {X: Field{[10]uint32{0x00df2f9b, 0x03e45edb, 0x00383c83, 0x01506fa8, 0x023db299, 0x0160b891, 0x01abc32e, 0x025909a8, 0x01e961d8, 0x000493d1}}, Y: Field{[10]uint32{0x038d6c62, 0x02d359e5, 0x00f8358b, 0x01f484e9, 0x03e48e7a, 0x018a23e1, 0x020626fc, 0x0196c4b5, 0x03e4110b, 0x001cd38b}}}, + {X: Field{[10]uint32{0x024d67e2, 0x03d5a666, 0x011695f5, 0x035b0234, 0x00fb4ac9, 0x02648131, 0x024f0028, 0x02cc9043, 0x029818b2, 0x0000edc4}}, Y: Field{[10]uint32{0x02c27c3b, 0x01f07ed0, 0x02218560, 0x01a2862b, 0x0154ba63, 0x03119582, 0x0010c51e, 0x005ad570, 0x038b0cee, 0x000a2dbd}}}, + {X: Field{[10]uint32{0x012d8a00, 0x000ced54, 0x020a4290, 0x02871fdf, 0x02e2b887, 0x029ab9c3, 0x0264485e, 0x014d8c39, 0x007e063b, 0x00349c76}}, Y: Field{[10]uint32{0x016da847, 0x008e3ae7, 0x01c9b510, 0x009cd25c, 0x0060ef59, 0x03619134, 0x03122ba8, 0x038a009c, 0x00047865, 0x0019750e}}}, + {X: Field{[10]uint32{0x00dc03a7, 0x0252c943, 0x01661e84, 0x0326b9ef, 0x000c5ca0, 0x00ae954b, 0x00d2d82e, 0x0145819f, 0x01852db3, 0x0007471b}}, Y: Field{[10]uint32{0x02691f62, 0x02c40153, 0x02ebbae8, 0x0132f75e, 0x01e19f87, 0x02bba80d, 0x01b68407, 0x00095bba, 0x00c5673a, 0x002f0c7d}}}, + {X: Field{[10]uint32{0x02efdd9d, 0x01d5bf51, 0x007fb1d3, 0x0331a559, 0x00bf8d2e, 0x02e81f79, 0x02d274c0, 0x02530376, 0x01b471e3, 0x0023fba2}}, Y: Field{[10]uint32{0x012b8c6c, 0x0298bc6f, 0x034c434c, 0x01c51aa6, 0x034ba5cf, 0x00663e73, 0x03ae1487, 0x015e3f45, 0x00c38479, 0x001757b4}}}, + {X: Field{[10]uint32{0x0010a6ec, 0x03ef4c22, 0x02ce55d7, 0x017e4236, 0x018ef938, 0x038fb91d, 0x026302cc, 0x03cd4580, 0x030955a0, 0x001a07f3}}, Y: Field{[10]uint32{0x02a38faa, 0x00d63280, 0x00885e6d, 0x03d0643c, 0x00aa54e8, 0x013195d7, 0x0187edbc, 0x01d89200, 0x035b9992, 0x0010c1fd}}}, + {X: Field{[10]uint32{0x03a6971b, 0x024a4dec, 0x02918907, 0x0225ff0c, 0x026f6c1a, 0x001334f8, 0x0184a289, 0x029c6da9, 0x02ddfcb5, 0x001c5ff5}}, Y: Field{[10]uint32{0x00b17992, 0x036167d6, 0x02511d7c, 0x0174d075, 0x021b05e2, 0x01fdb6a3, 0x00405532, 0x02b4137f, 0x002971d4, 0x002d00fe}}}, + {X: Field{[10]uint32{0x014f2ff6, 0x0004f8dd, 0x03a34227, 0x01e71cc8, 0x00d29832, 0x02b630d0, 0x01f49986, 0x025e1b70, 0x032394eb, 0x003cae55}}, Y: Field{[10]uint32{0x0366763b, 0x02925f9d, 0x0120ddba, 0x00179e99, 0x03bb69e7, 0x02645edc, 0x009645dd, 0x033505c6, 0x03813efd, 0x002d54f4}}}, + {X: Field{[10]uint32{0x02730b1b, 0x01d21765, 0x017b1423, 0x0340755b, 0x019ab6fe, 0x00504d70, 0x0309b524, 0x01b22594, 0x03e6d7d8, 0x00161c52}}, Y: Field{[10]uint32{0x03e3e533, 0x0293579b, 0x03cf81c9, 0x01717e93, 0x03403984, 0x0038c54d, 0x02b84abf, 0x03396f7a, 0x03343e38, 0x00030047}}}, + {X: Field{[10]uint32{0x026ff3c3, 0x0056f01e, 0x0223b7f9, 0x03eecafa, 0x02b30819, 0x0271ad3e, 0x0300d49e, 0x03e306e5, 0x01abc828, 0x0034cf39}}, Y: Field{[10]uint32{0x01a23395, 0x0293045d, 0x0156fcac, 0x013cdf6e, 0x01ef5939, 0x03ef88bc, 0x0372ba63, 0x01262088, 0x02223913, 0x001ce6d8}}}, + {X: Field{[10]uint32{0x03b55479, 0x01ec9b58, 0x020d5983, 0x00235be4, 0x02249048, 0x00bdf652, 0x03a58ff4, 0x0004a13a, 0x0232fc7d, 0x0020880b}}, Y: Field{[10]uint32{0x0163b4c8, 0x000ced89, 0x0004dedd, 0x000a6800, 0x0063aa32, 0x02b0b220, 0x004fb0a8, 0x015793f3, 0x015450aa, 0x003f798e}}}, + {X: Field{[10]uint32{0x01ea7781, 0x027e9f0b, 0x022b7041, 0x021e8d09, 0x02941e64, 0x00322d92, 0x0300e370, 0x013223e8, 0x02185bfb, 0x0009798c}}, Y: Field{[10]uint32{0x0316e640, 0x03736fbd, 0x02a1142d, 0x00915230, 0x0209caa1, 0x019cc75f, 0x032d84cc, 0x02ae6537, 0x03074802, 0x002b9a5a}}}, + {X: Field{[10]uint32{0x005c114e, 0x006a56d8, 0x0048753c, 0x00e87bf7, 0x039da877, 0x010e837f, 0x0068a363, 0x01386bc9, 0x0205b925, 0x00380cda}}, Y: Field{[10]uint32{0x03b12a18, 0x036762eb, 0x01050d96, 0x0056776b, 0x015ba059, 0x011899b1, 0x03974553, 0x0368e1e6, 0x0160377a, 0x001075d6}}}, + {X: Field{[10]uint32{0x02996662, 0x01cc6aa6, 0x0375262d, 0x016b6d5e, 0x0134ee87, 0x01092270, 0x01a9253e, 0x02c6f472, 0x03af7fd2, 0x00210cd8}}, Y: Field{[10]uint32{0x03cde6ca, 0x034d58bf, 0x004734d2, 0x02c59b92, 0x0012c4b3, 0x0054e8ca, 0x00bda36f, 0x03c04fb5, 0x02d1dbfc, 0x00397028}}}, + {X: Field{[10]uint32{0x011178de, 0x03d8cca5, 0x03c0526d, 0x000a74a0, 0x03abb9f2, 0x029f95d8, 0x03955cff, 0x01fc63e5, 0x00b81cdb, 0x002b6c84}}, Y: Field{[10]uint32{0x00ea0e35, 0x02e4695d, 0x02cf068e, 0x03b0b86f, 0x01364db5, 0x0122be84, 0x03847219, 0x00aa9835, 0x0305d818, 0x000b0847}}}, + {X: Field{[10]uint32{0x024d7491, 0x019450bc, 0x036e088b, 0x0139615e, 0x02203460, 0x02684de4, 0x013854f5, 0x0088d7ba, 0x03a1a2fe, 0x002ac317}}, Y: Field{[10]uint32{0x000124d2, 0x00bde16e, 0x0132b8d9, 0x0337b29a, 0x03b9dc48, 0x01ce0d54, 0x00a73840, 0x01b855c7, 0x01cbe36d, 0x003951c9}}}, + {X: Field{[10]uint32{0x0085deda, 0x02f2235e, 0x01835f9c, 0x002d9eb3, 0x03868a08, 0x03d3d51c, 0x03124b0a, 0x018f90fc, 0x037a1d21, 0x000f9779}}, Y: Field{[10]uint32{0x01746630, 0x03994745, 0x036d2254, 0x03130dfb, 0x02e1927d, 0x01dfd452, 0x03e66b83, 0x000ee2e0, 0x00a42f95, 0x0029bb4d}}}, + {X: Field{[10]uint32{0x0191ec05, 0x03abbd92, 0x01ceb050, 0x0057e0ea, 0x01321848, 0x03ccbd9c, 0x031f0688, 0x034c996d, 0x033d31d1, 0x001831a2}}, Y: Field{[10]uint32{0x0000d498, 0x0183f29f, 0x0132a9d7, 0x00a5403b, 0x01898867, 0x021dcde9, 0x01aecbe9, 0x009322a5, 0x00619f7d, 0x0025deb3}}}, + {X: Field{[10]uint32{0x01c135e2, 0x0316cc5a, 0x0065464f, 0x00a5afa8, 0x014a1267, 0x019ae6c9, 0x0004a76a, 0x039656db, 0x02e9b646, 0x00086c14}}, Y: Field{[10]uint32{0x000779e7, 0x00262715, 0x0128538f, 0x035166aa, 0x0318db6e, 0x02c37f5f, 0x007292c4, 0x035c5dba, 0x00cd2fb3, 0x00040a79}}}, + {X: Field{[10]uint32{0x03523d68, 0x01f6e8de, 0x0379dc02, 0x03bd6c47, 0x02f58bb2, 0x002f9332, 0x0101e666, 0x011457b9, 0x02f37c66, 0x0001c032}}, Y: Field{[10]uint32{0x03a08be1, 0x024d31db, 0x00948e1a, 0x01f95bb7, 0x008eac9b, 0x02655e0c, 0x032487c1, 0x011bccb8, 0x0388f1c3, 0x001f7dda}}}, + {X: Field{[10]uint32{0x01541e8d, 0x01a59912, 0x01696299, 0x02bd5969, 0x015d34ae, 0x019160c5, 0x01f1c9f5, 0x02112b39, 0x03d21293, 0x00316ae6}}, Y: Field{[10]uint32{0x01c422d8, 0x0184c100, 0x02f29c03, 0x00315f6c, 0x029b34d9, 0x03b14e9f, 0x01f44678, 0x01b22a83, 0x01c6c61d, 0x000b4820}}}, + {X: Field{[10]uint32{0x016d75a3, 0x034dda80, 0x023dfa4a, 0x0375751a, 0x005713fb, 0x03085476, 0x00d15af8, 0x01770512, 0x032ed53f, 0x0022bf0f}}, Y: Field{[10]uint32{0x039b6c8f, 0x02c69392, 0x0389764d, 0x004fcd15, 0x036767c5, 0x00864f9a, 0x015a99d4, 0x02fb6780, 0x03932627, 0x000047d8}}}, + {X: Field{[10]uint32{0x025007a7, 0x01cf140e, 0x034d86e1, 0x019fb7a7, 0x02c0d698, 0x01eb8da0, 0x00cf7292, 0x03ab7f3d, 0x01c6bb55, 0x001052b6}}, Y: Field{[10]uint32{0x03603585, 0x0374e823, 0x03fd6181, 0x020bb6f7, 0x01dafb6f, 0x019e951b, 0x002306b6, 0x026c7444, 0x00f8f4de, 0x00312f34}}}, + {X: Field{[10]uint32{0x0304a1e3, 0x005c91f2, 0x008fdb23, 0x034eabc2, 0x01a163a2, 0x037109b4, 0x005ec88f, 0x01cc5ea7, 0x0240b84b, 0x00208478}}, Y: Field{[10]uint32{0x02722bbb, 0x0250ab49, 0x029be4e7, 0x02c5c2a7, 0x03a74f10, 0x016586cc, 0x006c4f6d, 0x02fd453c, 0x019bb268, 0x00329da9}}}, + {X: Field{[10]uint32{0x02ba700e, 0x01676bc8, 0x012f429e, 0x02450fb9, 0x023f7cd2, 0x00252c9e, 0x02c44523, 0x0374f1d7, 0x0132363a, 0x0029537f}}, Y: Field{[10]uint32{0x02d4490b, 0x02364bae, 0x02bbb279, 0x01d1aa4f, 0x013639ac, 0x026d1219, 0x038d1304, 0x000260f8, 0x022c5951, 0x003c5820}}}, + {X: Field{[10]uint32{0x018860f7, 0x029f2e52, 0x015e9a3b, 0x010f3ef6, 0x03e2921a, 0x0387a74f, 0x02ee1a81, 0x026c629e, 0x005552b2, 0x001df593}}, Y: Field{[10]uint32{0x0208ff10, 0x01bcb9e0, 0x025978d0, 0x02a43325, 0x020fed03, 0x01b6681a, 0x00ad9d73, 0x0323d110, 0x00f95ea9, 0x003a5eee}}}, + {X: Field{[10]uint32{0x02309ca9, 0x0251f85b, 0x03d61ba7, 0x000d83c4, 0x011b57c1, 0x00396862, 0x007f0f5f, 0x01afc47d, 0x0014b33e, 0x001216ce}}, Y: Field{[10]uint32{0x00e38bdb, 0x02098c81, 0x01b5f152, 0x01bcb1e0, 0x03f99857, 0x011b2194, 0x0050dd09, 0x01f18a98, 0x0070ce60, 0x0039aede}}}, + {X: Field{[10]uint32{0x0072739c, 0x01c1a3c0, 0x029aab0a, 0x032052bb, 0x017ced2a, 0x02dbb714, 0x03618be1, 0x01e30b7b, 0x01eca90a, 0x003b48e0}}, Y: Field{[10]uint32{0x034954c7, 0x0117fec4, 0x00fbc3de, 0x0058b284, 0x02d68599, 0x018d4e07, 0x00c291ec, 0x019148e0, 0x03e0ba32, 0x0032c21c}}}, + {X: Field{[10]uint32{0x00ed971d, 0x01795f11, 0x03a684a6, 0x019a3cb9, 0x02955b6a, 0x0132e83f, 0x03c7369a, 0x03049f20, 0x0379d36b, 0x0039112b}}, Y: Field{[10]uint32{0x03785fff, 0x031553f4, 0x034e9dd7, 0x03780434, 0x02ec50e5, 0x02922662, 0x0355ca16, 0x0208eaab, 0x030327b6, 0x0029e1db}}}, + {X: Field{[10]uint32{0x01fc1fca, 0x035f941a, 0x0278c07e, 0x022a5b2c, 0x03b8677b, 0x014bfa93, 0x024296c1, 0x0168b57d, 0x00d77de7, 0x002be30d}}, Y: Field{[10]uint32{0x0184d673, 0x0330ec8a, 0x00a8cf9e, 0x032e2e07, 0x02f3c451, 0x0118caf8, 0x015899f2, 0x0306a339, 0x0062ab6e, 0x00123396}}}, + {X: Field{[10]uint32{0x027efe13, 0x0150db3d, 0x000cbe31, 0x0221d812, 0x0108940c, 0x0368128c, 0x02745a81, 0x0113b463, 0x0066243a, 0x003a6675}}, Y: Field{[10]uint32{0x0237fe36, 0x0347ec00, 0x013cb2f7, 0x03adfea0, 0x00ef55d3, 0x0337b6f4, 0x02ac0e75, 0x01198708, 0x027063a8, 0x003d07a3}}}, + {X: Field{[10]uint32{0x004bcc72, 0x026d9118, 0x02d66e20, 0x02a962dc, 0x00072caf, 0x00bf7afb, 0x00c923a0, 0x0193fe8f, 0x00aa7d89, 0x003103be}}, Y: Field{[10]uint32{0x03238ce5, 0x03c189ed, 0x02c2f696, 0x031ecfbe, 0x00ff50eb, 0x01dbccde, 0x012c3b61, 0x02879bc4, 0x01b56549, 0x0012038d}}}, + {X: Field{[10]uint32{0x0252982f, 0x006c3ce6, 0x026151bd, 0x02288a89, 0x01679e4b, 0x00826a97, 0x012b546e, 0x01267226, 0x001de3f9, 0x00120bb9}}, Y: Field{[10]uint32{0x00d3de3d, 0x03fba077, 0x009f832e, 0x03b28395, 0x03563f92, 0x03843b1b, 0x012eff0e, 0x006054b5, 0x0070d213, 0x00144398}}}, + {X: Field{[10]uint32{0x0058fae5, 0x033dc997, 0x01fd465d, 0x00cb180a, 0x036df7ca, 0x034dbe2d, 0x0003c694, 0x0307599c, 0x006825a3, 0x00119829}}, Y: Field{[10]uint32{0x0223f618, 0x02fe842e, 0x017c0700, 0x0380540e, 0x03791de8, 0x00b6b7a5, 0x00acc720, 0x030a5a62, 0x03f546b5, 0x000f660a}}}, + {X: Field{[10]uint32{0x035d8f8d, 0x022fbc3a, 0x00d8703c, 0x0385d8c5, 0x00d8a3ae, 0x01d62665, 0x031dc033, 0x01bc2cfe, 0x024c92ba, 0x002e1798}}, Y: Field{[10]uint32{0x0175679b, 0x01861a2b, 0x0148688c, 0x009a19b3, 0x03e2cdff, 0x02cdbbdd, 0x03ff93ef, 0x016e9092, 0x033320a5, 0x002224da}}}, + {X: Field{[10]uint32{0x002683e3, 0x0261d524, 0x014c6b16, 0x00be53be, 0x03b3be28, 0x018bf56c, 0x0187ebab, 0x009afef4, 0x00b5361a, 0x00290648}}, Y: Field{[10]uint32{0x015ea98a, 0x031e92b8, 0x007d1491, 0x027c9819, 0x02c95a8f, 0x00814f80, 0x027201b3, 0x00ed34f4, 0x019629d9, 0x001de428}}}, + {X: Field{[10]uint32{0x03b7f86e, 0x025e7d3e, 0x03937055, 0x022c5541, 0x01ed1abf, 0x03c40762, 0x012f01bb, 0x00a980c9, 0x01a97926, 0x0024e20b}}, Y: Field{[10]uint32{0x009d7e44, 0x01024406, 0x03e0215a, 0x03c4fb4d, 0x0223e570, 0x0357c08b, 0x037450ba, 0x005bbc04, 0x004df0a7, 0x00024e22}}}, + {X: Field{[10]uint32{0x00952e00, 0x008c8972, 0x03b0679c, 0x016799bb, 0x03ebfa6a, 0x01c26c65, 0x0356b643, 0x036982b3, 0x01f83efe, 0x00284142}}, Y: Field{[10]uint32{0x024d1ddb, 0x03c19df0, 0x015fe830, 0x0291f038, 0x005a06e7, 0x0132b93e, 0x0237df52, 0x03793426, 0x03d5559b, 0x001d6420}}}, + {X: Field{[10]uint32{0x03eb3651, 0x02c7be4a, 0x02d294b3, 0x00122a89, 0x03c55de7, 0x03f9d7ab, 0x017e587d, 0x0109e1cf, 0x02976ea7, 0x000ae516}}, Y: Field{[10]uint32{0x02893c65, 0x003bd941, 0x03752698, 0x0043976b, 0x03cb488d, 0x0002d146, 0x01cbabce, 0x02fdae74, 0x03ed27cc, 0x00108f01}}}, + {X: Field{[10]uint32{0x03cc37f0, 0x01115ec3, 0x01073b59, 0x0244a354, 0x03f69516, 0x00fc5c05, 0x0203da01, 0x02ff9003, 0x01bbc1a0, 0x0021be76}}, Y: Field{[10]uint32{0x024c32bb, 0x031b19d1, 0x007eddf3, 0x00099249, 0x0362388f, 0x02f067a3, 0x039cd4bf, 0x00de5a4c, 0x02242e30, 0x003cdc31}}}, + {X: Field{[10]uint32{0x0161ed91, 0x0343e0f7, 0x0206c016, 0x003e42a4, 0x033aa9cc, 0x02f6d384, 0x038d8958, 0x00113988, 0x02f9555e, 0x003e2656}}, Y: Field{[10]uint32{0x02a8a060, 0x00964853, 0x014bcd08, 0x024d2bc6, 0x031febdb, 0x013e8b98, 0x00bdab83, 0x004b20ee, 0x02e31bee, 0x002cb534}}}, + {X: Field{[10]uint32{0x019394ce, 0x015105e0, 0x01dbe2f5, 0x00858f42, 0x00fdea26, 0x02ef071d, 0x01eee7f0, 0x00d4b515, 0x027f69eb, 0x002ad568}}, Y: Field{[10]uint32{0x031b801a, 0x01988038, 0x013534a1, 0x012a25e2, 0x024d5467, 0x012a4c38, 0x0373bc17, 0x0216d5c8, 0x009360f5, 0x0022b159}}}, + {X: Field{[10]uint32{0x023b9fa6, 0x022645a8, 0x02522e8a, 0x00ffeb6b, 0x03ce8472, 0x017a60d4, 0x02a89069, 0x037e6245, 0x02c9c428, 0x0013f041}}, Y: Field{[10]uint32{0x02b92031, 0x00c5a227, 0x02fd1925, 0x0129f066, 0x01fdebbc, 0x00e49a1f, 0x00c88be3, 0x00d0793d, 0x02e83d54, 0x002435cc}}}, + {X: Field{[10]uint32{0x03149a91, 0x01af2080, 0x036b2462, 0x036c2e81, 0x03874080, 0x00ea2538, 0x0187b257, 0x03332ddf, 0x01808831, 0x00327216}}, Y: Field{[10]uint32{0x02abf0b8, 0x00c0b8ec, 0x026e6a6f, 0x01a1e015, 0x02c5f992, 0x002f7e8d, 0x01a6355f, 0x0127e6fa, 0x00cd8c09, 0x0027eb53}}}, + {X: Field{[10]uint32{0x005209e7, 0x01dc5247, 0x00cb7aee, 0x01737756, 0x01a278eb, 0x028508bf, 0x0378c46a, 0x02aee97f, 0x037e2293, 0x003032d6}}, Y: Field{[10]uint32{0x0210c47b, 0x0035ccd3, 0x027d5133, 0x027bb634, 0x03cc7278, 0x0037d328, 0x036b572d, 0x02161976, 0x002e3664, 0x0020407d}}}, + {X: Field{[10]uint32{0x00ce0b63, 0x03c56436, 0x0215d140, 0x03383ef3, 0x01af2f70, 0x0246f75a, 0x02ab60c3, 0x00fe0d1c, 0x03c516d9, 0x0036ff00}}, Y: Field{[10]uint32{0x02d26564, 0x023054ff, 0x03b46465, 0x00937af1, 0x024811fa, 0x00ddaa93, 0x033ecfec, 0x0328ba68, 0x014d7228, 0x003e0e38}}}, + {X: Field{[10]uint32{0x004f59c8, 0x00fcf4d2, 0x03af37cc, 0x02e58b8e, 0x00435140, 0x00d581ec, 0x031d8910, 0x00ffc455, 0x0285eea1, 0x00378981}}, Y: Field{[10]uint32{0x01cfbbcc, 0x023eb966, 0x00accd7f, 0x0132a97e, 0x02c1f5f5, 0x02d9bc79, 0x0363335b, 0x01619798, 0x02c9a602, 0x001af08f}}}, + {X: Field{[10]uint32{0x02a2e71e, 0x00f162fe, 0x01e5f6f7, 0x027f1e06, 0x031ed812, 0x01b05fae, 0x0362f79f, 0x023f6c06, 0x0160b8cb, 0x001635e3}}, Y: Field{[10]uint32{0x004bccc1, 0x029014ed, 0x0353140a, 0x00f6ec98, 0x03b04d6d, 0x018e444c, 0x0222f5e1, 0x0319c630, 0x00f2fd6b, 0x001f2ef9}}}, + {X: Field{[10]uint32{0x0000a490, 0x03afbf8b, 0x01738211, 0x004bd91b, 0x03fde1af, 0x0000538e, 0x00869aa9, 0x013f96ac, 0x031aeed5, 0x0039cae6}}, Y: Field{[10]uint32{0x00af4fc2, 0x03cc9ce4, 0x01d348cf, 0x01a5df49, 0x00d94659, 0x00b320a8, 0x02af020a, 0x0160ce10, 0x014d8f59, 0x003364b4}}}, + {X: Field{[10]uint32{0x030fd658, 0x03cd2355, 0x0085b3b9, 0x00508885, 0x00b725f6, 0x0277fe2a, 0x03cef97c, 0x016f862d, 0x03aed55a, 0x0001aa1a}}, Y: Field{[10]uint32{0x032c5724, 0x001b59fb, 0x01d4081c, 0x00515c6a, 0x0360a14f, 0x01c27ea1, 0x03121407, 0x00c05440, 0x02914c3b, 0x0004e289}}}, + {X: Field{[10]uint32{0x030a1fc5, 0x0002bbae, 0x0316e0e1, 0x0386d891, 0x03b17c39, 0x0193f0a0, 0x00b00595, 0x03c9135b, 0x00f67240, 0x00072823}}, Y: Field{[10]uint32{0x01ef0a55, 0x011ecff6, 0x0016ab34, 0x010d3a70, 0x03deec27, 0x019ab7c1, 0x0236317c, 0x0027b0d2, 0x03ce655d, 0x0008b893}}}, + {X: Field{[10]uint32{0x024a0b0f, 0x01608060, 0x016070f5, 0x022bf525, 0x02b7cf62, 0x03377ddb, 0x021ee30b, 0x012711cf, 0x0128feba, 0x00365770}}, Y: Field{[10]uint32{0x03c7e8a1, 0x00b135b1, 0x02116161, 0x02eab8bf, 0x03633e98, 0x01a6da38, 0x0061274c, 0x0384df44, 0x02b8fea3, 0x00354d02}}}, + {X: Field{[10]uint32{0x00d83857, 0x001cfe33, 0x03afcf3c, 0x022f6661, 0x03ae7e28, 0x01a6a22e, 0x03a14e47, 0x035405b0, 0x022a7f4f, 0x000b3334}}, Y: Field{[10]uint32{0x033b389e, 0x01593741, 0x01f3b0f2, 0x00513b6d, 0x00c2a7b6, 0x03e393ee, 0x010f849f, 0x027f6d1c, 0x023caea8, 0x002ba099}}}, + {X: Field{[10]uint32{0x01628a43, 0x03afac25, 0x001d1c5e, 0x03207ca0, 0x01ae4a9a, 0x0375ed04, 0x03bc0037, 0x03788e4d, 0x01f6c8e4, 0x003b05ed}}, Y: Field{[10]uint32{0x0258df83, 0x01b9ba59, 0x007348e6, 0x0083c1e6, 0x03743196, 0x01a3f9c3, 0x01fa2989, 0x0056c18c, 0x011dfd58, 0x002cf835}}}, + {X: Field{[10]uint32{0x0096b6f4, 0x0216225b, 0x023ca956, 0x00b22eb3, 0x00cee8e1, 0x033c7326, 0x0213cddc, 0x01fd3869, 0x037e6290, 0x00298eab}}, Y: Field{[10]uint32{0x02e8216e, 0x01500c6b, 0x00deeef7, 0x01f7a003, 0x01f8bc1a, 0x00c95688, 0x0144ab12, 0x0265cfa7, 0x02bcdc5f, 0x000be54f}}}, + {X: Field{[10]uint32{0x03ad32f3, 0x03805a61, 0x00b2c550, 0x02bc6685, 0x0390e345, 0x00a5b44d, 0x005636cb, 0x023435ad, 0x0330318d, 0x0023ad3f}}, Y: Field{[10]uint32{0x00a4a3e3, 0x022bddc3, 0x031718f2, 0x0144209f, 0x020cc01d, 0x017aeddd, 0x0200151c, 0x03f1f9f5, 0x038bae7f, 0x0012e388}}}, + {X: Field{[10]uint32{0x0276b8d2, 0x012b7660, 0x02341437, 0x0232d1c4, 0x002432fa, 0x01298ebb, 0x038a6e57, 0x010e5fd5, 0x00afbb5b, 0x002ac508}}, Y: Field{[10]uint32{0x00b94396, 0x03995fd9, 0x0357490c, 0x0335fdd6, 0x038f264a, 0x029e5562, 0x039df900, 0x03a49d96, 0x028ea197, 0x003ebd8c}}}, + {X: Field{[10]uint32{0x006f680a, 0x002f46a2, 0x03b5e963, 0x01acd23f, 0x015102aa, 0x00756667, 0x0016f1cc, 0x0286ab73, 0x010e6b2b, 0x0036a862}}, Y: Field{[10]uint32{0x012fa209, 0x03db7e8d, 0x0051094b, 0x0170b088, 0x038744f0, 0x03caef48, 0x02f6005c, 0x03ae532d, 0x03695a63, 0x00067eb2}}}, + {X: Field{[10]uint32{0x032a28e3, 0x033d91df, 0x03f2e0b1, 0x010af48b, 0x03cb08a6, 0x03e3aedc, 0x01a1b0ed, 0x0346d226, 0x012e5398, 0x003c667d}}, Y: Field{[10]uint32{0x02c2f454, 0x02d66167, 0x03d9e5c1, 0x02b15526, 0x012d5278, 0x01fbe6dd, 0x00f87476, 0x004c7533, 0x03aba5e2, 0x000d866a}}}, + {X: Field{[10]uint32{0x0046ad6a, 0x014888fc, 0x00046e27, 0x03d6727f, 0x01e75c86, 0x025e928d, 0x0320bc14, 0x03b3cdaf, 0x0293a5f9, 0x00060aa7}}, Y: Field{[10]uint32{0x03b8bcfd, 0x0079223f, 0x007a5c73, 0x0328d2bc, 0x03e0924d, 0x021585f1, 0x0067693d, 0x03b8632a, 0x0288c39d, 0x00318257}}}, + {X: Field{[10]uint32{0x0214abbb, 0x0026552c, 0x0327c3b5, 0x02b82418, 0x025ac21e, 0x0109dfec, 0x020a7016, 0x03f99ad9, 0x03530636, 0x00022932}}, Y: Field{[10]uint32{0x01d0ed1c, 0x035a49a8, 0x00bbf63f, 0x01709540, 0x008efcb8, 0x0349758e, 0x02e707fa, 0x02a5048f, 0x00514cc6, 0x001a4f96}}}, + {X: Field{[10]uint32{0x008c1282, 0x00224597, 0x018d42b2, 0x023204ef, 0x02f49517, 0x00b1565c, 0x01e31058, 0x030cf845, 0x035a3b40, 0x0012404c}}, Y: Field{[10]uint32{0x004214e3, 0x02760072, 0x0016624d, 0x00393778, 0x00f26a9a, 0x0387c3a5, 0x02c70eb9, 0x01d03772, 0x0176429d, 0x0011c01c}}}, + {X: Field{[10]uint32{0x004e01dd, 0x01048ca6, 0x02b8fcdf, 0x01772b60, 0x01df64f5, 0x02e7cb81, 0x01b49e14, 0x00d8ad18, 0x01a77c34, 0x00206039}}, Y: Field{[10]uint32{0x0305040b, 0x01d0ab2b, 0x03e650de, 0x02704c3c, 0x01cb3fb4, 0x0016b247, 0x034b0fd0, 0x03c402a8, 0x0221d4b9, 0x000d33d5}}}, + {X: Field{[10]uint32{0x0251ee9f, 0x0217f84d, 0x032a4b10, 0x01f2df48, 0x01a90e1d, 0x023aa975, 0x00aeee35, 0x03d2a277, 0x027efea9, 0x0023dc48}}, Y: Field{[10]uint32{0x0255ad73, 0x036bd3a5, 0x01aaee90, 0x01aaf011, 0x03e27267, 0x02e4531f, 0x03c344f3, 0x01e68289, 0x01bcbb2b, 0x00293685}}}, + {X: Field{[10]uint32{0x03b58264, 0x023508f3, 0x02a3ccc6, 0x02a96821, 0x02d1ea8e, 0x00f30669, 0x03592a2a, 0x02eb2c20, 0x0374cdc9, 0x0036fae6}}, Y: Field{[10]uint32{0x00576161, 0x000268d0, 0x022d45b1, 0x03e6d967, 0x0018e86d, 0x02785aef, 0x00732eb7, 0x01fed60c, 0x039283f0, 0x002f99a1}}}, + {X: Field{[10]uint32{0x01591933, 0x02985f5c, 0x02958ab0, 0x037e0c5e, 0x017d9ea4, 0x02014a37, 0x03b09b62, 0x00b2b0f1, 0x013fa7f5, 0x003cca3a}}, Y: Field{[10]uint32{0x02405547, 0x0108c47c, 0x00a60fc0, 0x005f5faf, 0x002f780c, 0x036174e5, 0x01c3f3a7, 0x027a4187, 0x0059811f, 0x001073a3}}}, + {X: Field{[10]uint32{0x00fea051, 0x0033c20c, 0x00b7d8fb, 0x020544c7, 0x01d4ca41, 0x00087091, 0x005f44c2, 0x006fb127, 0x0003416b, 0x0015b53d}}, Y: Field{[10]uint32{0x00bd39ce, 0x028eb614, 0x002a8d35, 0x024b8f60, 0x0051ae1a, 0x035773a3, 0x00cb6373, 0x01defa4d, 0x0133948f, 0x003317d8}}}, + {X: Field{[10]uint32{0x039022b8, 0x03d3af00, 0x03c49e9c, 0x03e819f3, 0x01dd90c9, 0x00c9ff50, 0x02becf2a, 0x01dadf33, 0x004b8bb4, 0x002388b8}}, Y: Field{[10]uint32{0x00286b8b, 0x0064ecc2, 0x01d6d3e4, 0x024b0b20, 0x00934e79, 0x0074fbd6, 0x0103c023, 0x01a5b4d3, 0x02603204, 0x00007e3e}}}, + {X: Field{[10]uint32{0x02f064f6, 0x019f5e83, 0x00e1a518, 0x01cafe7f, 0x02b396eb, 0x033fbeb7, 0x03624dc1, 0x01f1a3e4, 0x02e4b9a7, 0x000d06c8}}, Y: Field{[10]uint32{0x02d9441a, 0x023fe2e4, 0x01e27cfc, 0x01c9f4ca, 0x03af11ed, 0x036f2cb6, 0x0162bcf0, 0x01a55d65, 0x03877bc3, 0x002560e7}}}, + {X: Field{[10]uint32{0x03324763, 0x02c8098e, 0x0305045e, 0x02670002, 0x00e6af97, 0x013ee2a3, 0x01e86809, 0x01044a1e, 0x02939f23, 0x000fa90b}}, Y: Field{[10]uint32{0x0201a623, 0x01af544b, 0x02f59186, 0x028ce2c5, 0x0160a5c0, 0x03b3ea3f, 0x024d51ff, 0x029bc13f, 0x01676f5a, 0x00110c90}}}, + {X: Field{[10]uint32{0x035d625b, 0x0249efd4, 0x0317342f, 0x01829c70, 0x0023d8a6, 0x02337a47, 0x00faa1bb, 0x01453be5, 0x004cef10, 0x002bf9ed}}, Y: Field{[10]uint32{0x008b4b65, 0x02b3f21f, 0x0042751c, 0x01dde8e2, 0x026cfcdd, 0x012c18fb, 0x0151f185, 0x021dcaf3, 0x03885121, 0x001d85e9}}}, + {X: Field{[10]uint32{0x02034d2b, 0x00fef9a8, 0x01dda37a, 0x038ffc38, 0x0112f69e, 0x00b00d74, 0x00ac725f, 0x003531b8, 0x0202abb4, 0x0028d832}}, Y: Field{[10]uint32{0x016b646d, 0x020c9a64, 0x03814fab, 0x01e49568, 0x039d8bbe, 0x0298211b, 0x01d0f723, 0x00fa80c1, 0x01783fec, 0x0005879c}}}, + {X: Field{[10]uint32{0x00011b88, 0x012a16de, 0x0361ec91, 0x02304667, 0x035984d1, 0x02cbb37d, 0x025d9899, 0x03f9f66d, 0x025ff7d9, 0x00041213}}, Y: Field{[10]uint32{0x0176cdc9, 0x01135be5, 0x031844f7, 0x00f5e3de, 0x03e7f4e0, 0x00b05127, 0x01e1086c, 0x01cd5e7b, 0x00e21e13, 0x0004b470}}}, + {X: Field{[10]uint32{0x0256b138, 0x030e71b4, 0x01ba67ee, 0x03996c14, 0x02b11245, 0x0369f79a, 0x0276c40e, 0x02777090, 0x00e15dad, 0x001db0b7}}, Y: Field{[10]uint32{0x0064ce82, 0x033bc57f, 0x03605ed4, 0x01f4fac3, 0x0361a896, 0x010dce68, 0x023fca2a, 0x0020e64b, 0x01ce585b, 0x00366980}}}, + {X: Field{[10]uint32{0x01d4d2e1, 0x0266dd44, 0x0335627b, 0x0220e951, 0x03d1d839, 0x00f71831, 0x004fcb18, 0x03b662c1, 0x01d4c3e6, 0x0019c68c}}, Y: Field{[10]uint32{0x02053088, 0x034dc6c3, 0x01b3b08a, 0x017a94b0, 0x01281f18, 0x03d0ea12, 0x033762fb, 0x03bcfdfb, 0x01152005, 0x001bf763}}}, + {X: Field{[10]uint32{0x02898a37, 0x0384ad9b, 0x032431be, 0x016e9bc5, 0x00c2343a, 0x01fdc706, 0x03729985, 0x01a40c4a, 0x0165a2da, 0x0024743d}}, Y: Field{[10]uint32{0x0332f681, 0x02c8275f, 0x0147a41e, 0x0359c924, 0x01e6393a, 0x007df377, 0x02906a10, 0x028a2355, 0x01b91956, 0x00275a95}}}, + {X: Field{[10]uint32{0x028512ba, 0x03ba6ad8, 0x032d4de9, 0x0379c902, 0x006b90d8, 0x03d37dee, 0x014d0cd8, 0x028b0f2f, 0x00581953, 0x001f967c}}, Y: Field{[10]uint32{0x0242a173, 0x02da6ee6, 0x03dbd9d9, 0x03f8ca3e, 0x0035a012, 0x027c0dc5, 0x0019b0af, 0x01f583bd, 0x01eb74cc, 0x000cec34}}}, + {X: Field{[10]uint32{0x03788a26, 0x024abf87, 0x0380dd34, 0x016f8100, 0x03f43a28, 0x02c7ccbf, 0x02652ada, 0x006fb484, 0x025e0b79, 0x003bde2d}}, Y: Field{[10]uint32{0x0108d306, 0x007346d9, 0x03910abb, 0x03be4e55, 0x00f156cd, 0x013feb00, 0x027ab1b2, 0x02bf08fa, 0x013896d5, 0x0027cf89}}}, + {X: Field{[10]uint32{0x016b7cd3, 0x02337e6d, 0x02e1f50a, 0x0133b9d4, 0x01cb0c0e, 0x0304b2c0, 0x03ce2f5f, 0x00cfb905, 0x00d01998, 0x001e2e5e}}, Y: Field{[10]uint32{0x01560dd9, 0x00251e30, 0x00cd0197, 0x0245c518, 0x01dd631f, 0x005647d7, 0x01701413, 0x001aef8c, 0x01d73726, 0x0027e71f}}}, + {X: Field{[10]uint32{0x00bfe64a, 0x00f49b5c, 0x00ceff1b, 0x03e9ee9f, 0x02906ffd, 0x002aeadc, 0x012f5e88, 0x016883a6, 0x0331f994, 0x0017de16}}, Y: Field{[10]uint32{0x03881c1c, 0x034285ca, 0x0046e0a6, 0x004f9742, 0x01575224, 0x0089e447, 0x021988d3, 0x00e1abfe, 0x000eb3cb, 0x0028f312}}}, + {X: Field{[10]uint32{0x0006b3d1, 0x03a7f95e, 0x00887fce, 0x01f58dd7, 0x0102c388, 0x0112135c, 0x03aadfa4, 0x0124bf3c, 0x01997cbb, 0x0027fb9e}}, Y: Field{[10]uint32{0x0224c22e, 0x02752b3f, 0x00437a12, 0x03c31b19, 0x00c0f0b8, 0x0039f512, 0x03ef25a6, 0x031d807e, 0x03277e94, 0x0010c450}}}, + {X: Field{[10]uint32{0x02e3f30b, 0x0362c313, 0x031020ac, 0x004fe694, 0x02c0f462, 0x036f5f1d, 0x03befd7c, 0x022215ed, 0x015db75d, 0x0004bcb7}}, Y: Field{[10]uint32{0x034097d8, 0x02d2a94c, 0x010216dc, 0x01c1d0b7, 0x00f85105, 0x00e1901c, 0x013ecfad, 0x00127a6b, 0x018b0e85, 0x003389d6}}}, + {X: Field{[10]uint32{0x03997bd7, 0x020c9773, 0x004d5317, 0x027c74aa, 0x02fbb86f, 0x0306dc63, 0x00e2befb, 0x02d470fc, 0x02b43ee2, 0x0031a52b}}, Y: Field{[10]uint32{0x01050977, 0x0221ea3b, 0x03226bdc, 0x003ab9c7, 0x036fc519, 0x02169be0, 0x02c3e5cc, 0x024c44b2, 0x033eb6a6, 0x00105207}}}, + {X: Field{[10]uint32{0x01047ae9, 0x035e32a0, 0x03ab149a, 0x00002182, 0x029bd161, 0x02bcefbe, 0x033493f5, 0x030172eb, 0x024614c5, 0x003f899a}}, Y: Field{[10]uint32{0x00471e6b, 0x006e5506, 0x0320b074, 0x021d255f, 0x00f58ca0, 0x01dca971, 0x00614ada, 0x025352df, 0x02bec446, 0x0038b863}}}, + {X: Field{[10]uint32{0x016118dd, 0x0149a64d, 0x03250d21, 0x039fd9e9, 0x01daff04, 0x03060fc8, 0x03abfa58, 0x02c1f121, 0x01dc0926, 0x001e5d78}}, Y: Field{[10]uint32{0x011409e5, 0x03f1c24d, 0x029d821c, 0x02366e5c, 0x01f94346, 0x02a536b9, 0x014b779d, 0x02cc0329, 0x039744e2, 0x00032612}}}, + {X: Field{[10]uint32{0x018a2b06, 0x01f3c5a8, 0x02951a13, 0x023adff5, 0x00702284, 0x0061b5c0, 0x0109e8e6, 0x00d62682, 0x00db5018, 0x0024d5cf}}, Y: Field{[10]uint32{0x00bf47d5, 0x02439886, 0x010f0265, 0x022bf27d, 0x02caae2d, 0x004db2b3, 0x0090039d, 0x03dabb65, 0x00663047, 0x001ea55f}}}, + {X: Field{[10]uint32{0x01d77660, 0x01febe20, 0x00829fa3, 0x003b8a6d, 0x026771d8, 0x0217f13f, 0x00ac7dd4, 0x01bfae38, 0x021ea60f, 0x00302f4b}}, Y: Field{[10]uint32{0x0335bacd, 0x03fc96c0, 0x0306556a, 0x00ff896b, 0x002effc8, 0x027c91fa, 0x0076267d, 0x03871da4, 0x00fd9edd, 0x001a16dd}}}, + {X: Field{[10]uint32{0x0024bf3e, 0x031a6127, 0x032538c4, 0x00af6a90, 0x01b67685, 0x01575646, 0x02e5f45d, 0x00881e41, 0x00e19319, 0x0015aeb0}}, Y: Field{[10]uint32{0x03c18ebf, 0x0081fb0b, 0x01096a5d, 0x03a7e342, 0x010f5c0a, 0x022c4639, 0x02480bbc, 0x02e04b4b, 0x01d39856, 0x0038efd4}}}, + {X: Field{[10]uint32{0x0142c06c, 0x01347964, 0x03c65231, 0x002ae4f7, 0x015225fa, 0x02617f7b, 0x03ec7c4a, 0x03774baf, 0x0313fe7c, 0x0014ed06}}, Y: Field{[10]uint32{0x03b69c4b, 0x00bfa6f0, 0x03a988f6, 0x008123ca, 0x03cb4ecf, 0x0334af7f, 0x02e038dc, 0x03d59574, 0x025744e4, 0x00243f2e}}}, + {X: Field{[10]uint32{0x02e765bb, 0x03f3cab0, 0x025f5d55, 0x00019d33, 0x00b11364, 0x0060b28b, 0x02baa269, 0x03b6e51f, 0x0231ccc0, 0x002f6817}}, Y: Field{[10]uint32{0x02cf75e8, 0x0371ae9e, 0x0307b447, 0x036aba3d, 0x032fff08, 0x00c23aa5, 0x00593567, 0x01a60a9d, 0x01793123, 0x0025c9d6}}}, + {X: Field{[10]uint32{0x030413d8, 0x03b78552, 0x0189b21a, 0x0254715c, 0x0291196e, 0x023d97e0, 0x0209f19a, 0x0020807f, 0x006a8a90, 0x00123747}}, Y: Field{[10]uint32{0x009b98f5, 0x022d8eb0, 0x017af78c, 0x00367143, 0x01c5a615, 0x0039cbe1, 0x017e2878, 0x00f72994, 0x02fb1a94, 0x001e687d}}}, + {X: Field{[10]uint32{0x012f1f2c, 0x0010e00a, 0x0051c13c, 0x01bcd119, 0x002be834, 0x03a68b52, 0x02ff4e2c, 0x010a323b, 0x0269e28c, 0x001d5018}}, Y: Field{[10]uint32{0x033e996a, 0x03371684, 0x0289f9e7, 0x03377796, 0x00202c44, 0x024bbf11, 0x00d13d76, 0x0201f88f, 0x0097211c, 0x0011d0ec}}}, + {X: Field{[10]uint32{0x0192ee5f, 0x02181288, 0x03165401, 0x0009376a, 0x00744200, 0x010c53ff, 0x000ae4d2, 0x0204ce21, 0x0193bf31, 0x0006a957}}, Y: Field{[10]uint32{0x00bc3bfc, 0x038e3c4b, 0x0118f041, 0x02204d84, 0x017a6a8e, 0x02db2cb3, 0x02ac7e99, 0x027a2995, 0x035492d5, 0x002eaeb0}}}, + {X: Field{[10]uint32{0x037dcf03, 0x01c48311, 0x02fbab93, 0x03d26c5d, 0x0234d214, 0x03627dc8, 0x00fa8503, 0x0318a799, 0x0050db7b, 0x001d6f93}}, Y: Field{[10]uint32{0x00b6f819, 0x015320a5, 0x003fb511, 0x00a9069b, 0x03ed2e5e, 0x0321831a, 0x033d9343, 0x01b6c820, 0x03ba8c60, 0x002d5482}}}, + {X: Field{[10]uint32{0x00ef6c8c, 0x00e0950f, 0x01c7d8d6, 0x002871c9, 0x036508e1, 0x01846e56, 0x00b2486b, 0x022cb435, 0x0022e4ed, 0x003cd812}}, Y: Field{[10]uint32{0x022dc0f5, 0x00e51188, 0x00105f98, 0x00b2c8eb, 0x0075d99d, 0x00b2f5a6, 0x021a412f, 0x02f1a896, 0x00797404, 0x003d016b}}}, + {X: Field{[10]uint32{0x037cefe8, 0x01f7fc39, 0x012bf2d8, 0x0247c107, 0x01da54ee, 0x0380c9ac, 0x015f727a, 0x009afbeb, 0x02e66f93, 0x001b2485}}, Y: Field{[10]uint32{0x01d16517, 0x00ddfece, 0x01704557, 0x01c94194, 0x031ec2f3, 0x03d48c37, 0x0146f922, 0x011f237d, 0x01b9bc19, 0x00192808}}}, + {X: Field{[10]uint32{0x0105668a, 0x0351d35a, 0x03b09e74, 0x03896c4a, 0x00988346, 0x01a01d9e, 0x03138617, 0x01ccb77c, 0x03bdce97, 0x002b91e6}}, Y: Field{[10]uint32{0x02612929, 0x01f02b24, 0x028b3f4b, 0x025fa8fc, 0x02b33a6f, 0x01366f74, 0x01363366, 0x01821e26, 0x0355c599, 0x0028f380}}}, + {X: Field{[10]uint32{0x014898be, 0x01c14b5d, 0x034ff480, 0x029eaabd, 0x039ccc05, 0x01b3f4bd, 0x02abcf83, 0x0136c871, 0x017966f7, 0x0033a4b0}}, Y: Field{[10]uint32{0x001bb978, 0x039e7298, 0x0127ce44, 0x0200fc42, 0x038adebf, 0x0238d15a, 0x019cec9c, 0x00e31329, 0x03f3530f, 0x003cf8f4}}}, + {X: Field{[10]uint32{0x026ea68d, 0x033c589b, 0x03b9f477, 0x0388de28, 0x01a96f5a, 0x02623137, 0x0153d875, 0x01d705dd, 0x02b68152, 0x002282ef}}, Y: Field{[10]uint32{0x03e77f4e, 0x005e60d7, 0x036d64e9, 0x02b08a11, 0x00a7c74e, 0x0216938d, 0x02a9f770, 0x01504ab2, 0x015e46f4, 0x002562de}}}, + {X: Field{[10]uint32{0x01d9ccfe, 0x03944da3, 0x028d00c2, 0x029c721b, 0x027f0e97, 0x017b479e, 0x02a033c0, 0x00038a44, 0x02e99754, 0x0030a913}}, Y: Field{[10]uint32{0x0275668f, 0x02a5514d, 0x03c60596, 0x02e3afda, 0x0170cd17, 0x00ed44da, 0x03b69b29, 0x02941f6f, 0x01ef7d24, 0x0025590d}}}, + {X: Field{[10]uint32{0x019ea1e1, 0x022471c6, 0x01c293cc, 0x02472057, 0x013d3bbe, 0x01510ef3, 0x03785208, 0x037d851e, 0x0225534d, 0x002d857d}}, Y: Field{[10]uint32{0x02c3ea25, 0x037079db, 0x01e12267, 0x0071ace6, 0x00fe3afd, 0x03d97189, 0x02908764, 0x0051a18a, 0x00f199e2, 0x00132afd}}}, + {X: Field{[10]uint32{0x00a75a0e, 0x002e4efa, 0x030b55fd, 0x0153e020, 0x03b64a0c, 0x02602fb9, 0x016dde93, 0x009cab3d, 0x038dfdcf, 0x002bf32b}}, Y: Field{[10]uint32{0x0042a63e, 0x00b05044, 0x00e9554f, 0x01801f62, 0x03e7d6a6, 0x00d6186b, 0x036d9ba7, 0x03113e27, 0x005d6f6f, 0x0002363b}}}, + {X: Field{[10]uint32{0x03135f53, 0x00cf22a6, 0x033ac328, 0x00ab2ce1, 0x03559d07, 0x03de0c02, 0x039395d0, 0x006c987c, 0x02a8c531, 0x0014d05d}}, Y: Field{[10]uint32{0x02b2f436, 0x031f9b22, 0x03643b03, 0x0175a0fb, 0x020b1615, 0x03e9d5be, 0x02f66398, 0x029ed21f, 0x004b5eee, 0x002ae13e}}}, + {X: Field{[10]uint32{0x0391f34c, 0x03f34506, 0x0393ea65, 0x02f194c6, 0x028705ab, 0x00883cfc, 0x03651ac6, 0x025737d1, 0x017397ef, 0x0017dea8}}, Y: Field{[10]uint32{0x0081da22, 0x01215866, 0x02ab8b75, 0x02ef8118, 0x0270cffc, 0x01e9df63, 0x011b28f1, 0x02cd3cbb, 0x00983cdd, 0x001cbdf6}}}, + {X: Field{[10]uint32{0x008f3d3b, 0x00a1ff2b, 0x034490aa, 0x0161a40f, 0x02b6a952, 0x00d6bf5e, 0x001db193, 0x03edcacc, 0x024cc1e2, 0x00353ed2}}, Y: Field{[10]uint32{0x014154f9, 0x02062538, 0x00306088, 0x03de6ba4, 0x02f213ad, 0x037b9e1f, 0x01098cd5, 0x02ca1c67, 0x02e84a9d, 0x001dad5c}}}, + {X: Field{[10]uint32{0x037a9ff4, 0x03515327, 0x035694c6, 0x01716aef, 0x00dad097, 0x00f6c374, 0x013116c2, 0x00bcebde, 0x0163843b, 0x000f719d}}, Y: Field{[10]uint32{0x016753ae, 0x01da980d, 0x01fbf780, 0x01dd3ece, 0x004894b2, 0x0126a022, 0x010ccf80, 0x00edfd0f, 0x039e4db8, 0x00377d96}}}, + {X: Field{[10]uint32{0x02f897d6, 0x01720b28, 0x036b13bb, 0x0176cdb8, 0x039c3e41, 0x00334599, 0x006c4495, 0x0005344e, 0x02bd1edd, 0x00195e44}}, Y: Field{[10]uint32{0x02d505cf, 0x00249fbf, 0x02143430, 0x012327d6, 0x0178205e, 0x03341b1a, 0x007fb3aa, 0x0389023f, 0x03db11bb, 0x00138bf7}}}, + {X: Field{[10]uint32{0x03d69f99, 0x0205c5cf, 0x027b8f90, 0x017f12b7, 0x036f412b, 0x03cffa4d, 0x00473e50, 0x016173d9, 0x03b35f82, 0x00016914}}, Y: Field{[10]uint32{0x00097ebe, 0x02d985d6, 0x00c4fa29, 0x02d5fcad, 0x03ec2fb4, 0x012ae868, 0x01dbf06f, 0x02d64138, 0x02113448, 0x003f05a7}}}, + {X: Field{[10]uint32{0x00052679, 0x02cdece9, 0x03689093, 0x02c83d3f, 0x03d01c68, 0x025a8c10, 0x02cfaf1f, 0x012f21a6, 0x005ac24b, 0x0030eb7d}}, Y: Field{[10]uint32{0x00ae19cc, 0x00ab1a04, 0x017d7edc, 0x020f3b72, 0x014f0d4b, 0x01cae342, 0x0285bea9, 0x012d274e, 0x0207cd37, 0x000f648c}}}, + {X: Field{[10]uint32{0x021e1d56, 0x0103fa57, 0x006b6e90, 0x003eb2c1, 0x035bd84f, 0x007c976b, 0x016420be, 0x0372109d, 0x01c8905d, 0x00068cbb}}, Y: Field{[10]uint32{0x00eb4c51, 0x0108591a, 0x0059c0ca, 0x0203e33e, 0x03f1612c, 0x01a98bd3, 0x00b73ad1, 0x01dfe307, 0x019d113a, 0x001fd19f}}}, + {X: Field{[10]uint32{0x034d6c98, 0x00efc829, 0x006b7b4a, 0x010bac69, 0x02f925c1, 0x03944092, 0x028b7da2, 0x025deb0c, 0x019862e5, 0x001c255f}}, Y: Field{[10]uint32{0x02f09381, 0x03f49cef, 0x03ec1441, 0x00c7c8c9, 0x037d7ee2, 0x02074b14, 0x01513488, 0x0330d282, 0x02c62e42, 0x0009a6d5}}}, + {X: Field{[10]uint32{0x037537a7, 0x03b72120, 0x02b44bd7, 0x015b65da, 0x01bf6dd2, 0x02db37c9, 0x03ae4540, 0x02c5b041, 0x00165a02, 0x0001f9a5}}, Y: Field{[10]uint32{0x005185f5, 0x01a09ad1, 0x03b243e6, 0x0075e28d, 0x03a6aac2, 0x00f91cd8, 0x010d2ce0, 0x0030478b, 0x00db3836, 0x003fee1d}}}, + {X: Field{[10]uint32{0x01df9678, 0x0355495b, 0x018b60ee, 0x01d78ded, 0x003b9d8a, 0x03d10176, 0x03e7ac6f, 0x03a6d492, 0x01597b42, 0x0013e068}}, Y: Field{[10]uint32{0x02e0a78c, 0x02e125e1, 0x038b377c, 0x035e6494, 0x003558ee, 0x0349f7d3, 0x00ffbe16, 0x018196b6, 0x02071867, 0x002c94c4}}}, + {X: Field{[10]uint32{0x014fd547, 0x0068d74a, 0x002d9359, 0x03586f74, 0x009be6fd, 0x024e04cd, 0x020be8de, 0x0196bc2d, 0x03685770, 0x003e8940}}, Y: Field{[10]uint32{0x00e81625, 0x01873512, 0x02f06d4d, 0x029deda5, 0x033b0a1f, 0x03d7b842, 0x0242f0dc, 0x01f2fd75, 0x01e396c7, 0x003c2e64}}}, + {X: Field{[10]uint32{0x032ba3d4, 0x03c09689, 0x02c4d440, 0x0312961d, 0x006b61d6, 0x00ffb1b6, 0x03da5172, 0x00aff0f8, 0x02bd6716, 0x003d37d7}}, Y: Field{[10]uint32{0x0052212b, 0x038ca860, 0x00d44674, 0x016e425c, 0x026380dc, 0x0278dd73, 0x010e384c, 0x017ecb56, 0x02798bc7, 0x002c8ee8}}}, + {X: Field{[10]uint32{0x01ac5015, 0x021c1da8, 0x0141c4a5, 0x00681955, 0x0051b897, 0x0111835b, 0x0228e5c4, 0x016d97eb, 0x031db372, 0x002ad6da}}, Y: Field{[10]uint32{0x02ee2ece, 0x03a972c9, 0x02a9e286, 0x02e3422d, 0x00424f72, 0x01e16b7c, 0x01d7876d, 0x005c60ea, 0x0057ecdc, 0x0005b4b1}}}, + {X: Field{[10]uint32{0x00869e55, 0x01df380a, 0x03981ac8, 0x0264f0c3, 0x0002e08d, 0x01c34e29, 0x0280dcc4, 0x014dc101, 0x007e13db, 0x002a293b}}, Y: Field{[10]uint32{0x037f60a4, 0x01205472, 0x007bb2d2, 0x0356eaec, 0x00754025, 0x01961e29, 0x03d08749, 0x03b94e25, 0x019c2cdf, 0x0012a77b}}}, + {X: Field{[10]uint32{0x00245f48, 0x02c5042e, 0x00faa5f1, 0x03678aaf, 0x016f914d, 0x01970404, 0x0183d081, 0x01836c01, 0x00f633bd, 0x000cdfd5}}, Y: Field{[10]uint32{0x0176dbfc, 0x0159dc60, 0x00a94ea4, 0x0395022c, 0x00679b58, 0x00eaeb93, 0x035452bd, 0x03f12902, 0x0328696a, 0x002514fa}}}, + {X: Field{[10]uint32{0x01901b53, 0x0190ad7f, 0x020e433b, 0x00354a74, 0x00f6db48, 0x00694153, 0x004c7674, 0x02abc415, 0x03abdc2b, 0x003bb8cd}}, Y: Field{[10]uint32{0x029c27be, 0x019091e1, 0x01830872, 0x03357db2, 0x00825616, 0x01a55be2, 0x03a1d8ba, 0x00035292, 0x038802cc, 0x00196b56}}}, + {X: Field{[10]uint32{0x012f1548, 0x00ff3bdd, 0x010b8451, 0x01f143c0, 0x00f56e47, 0x010fc49d, 0x01aaf0cb, 0x00002bb0, 0x021857cb, 0x00167d4b}}, Y: Field{[10]uint32{0x021698be, 0x0383d4e7, 0x00e70a1a, 0x018665e3, 0x014f2254, 0x01bb078a, 0x007006ba, 0x00ec6601, 0x036e8db0, 0x003632a3}}}, + {X: Field{[10]uint32{0x006f3e12, 0x0297c150, 0x0115e8f5, 0x0043cad2, 0x038583ab, 0x01f618a1, 0x01618d9d, 0x036caa2a, 0x020c25fa, 0x001b0802}}, Y: Field{[10]uint32{0x038081f8, 0x03b6527b, 0x03a617d6, 0x0276c5e4, 0x00050464, 0x0170343e, 0x01af24da, 0x03cd7051, 0x004e374c, 0x00053526}}}, + {X: Field{[10]uint32{0x02ac07fa, 0x03fef0e2, 0x002a032c, 0x03e2628f, 0x02f8144f, 0x00e6d95e, 0x02ad8782, 0x02dbe1c6, 0x02fd51df, 0x00059528}}, Y: Field{[10]uint32{0x021a839c, 0x02410f45, 0x037148d5, 0x0317e977, 0x00e36d46, 0x031c5c17, 0x00dcc1d4, 0x0215a6db, 0x01c382d9, 0x0022da59}}}, + {X: Field{[10]uint32{0x03556d77, 0x008cbdd9, 0x02fae8de, 0x0301fa63, 0x027b3ed1, 0x014fe5b5, 0x0182f339, 0x00d55b26, 0x03c9ab47, 0x0031200c}}, Y: Field{[10]uint32{0x01968bac, 0x01ead2fb, 0x002b6f89, 0x01520a2c, 0x010abe4a, 0x0373feab, 0x03873828, 0x00c5a041, 0x00a87bc4, 0x002bcfd2}}}, + {X: Field{[10]uint32{0x003c6032, 0x01390a0f, 0x003baf1a, 0x007c084b, 0x001a9577, 0x015fdea6, 0x005aaea5, 0x00a35462, 0x03faa9d2, 0x0017765d}}, Y: Field{[10]uint32{0x032eb656, 0x01ca8de3, 0x02b4549e, 0x03349d2f, 0x02abb06a, 0x036a81bc, 0x00e52043, 0x023db34b, 0x014aba17, 0x000effe7}}}, + {X: Field{[10]uint32{0x0242a564, 0x03f7ca73, 0x032abefe, 0x01a69760, 0x03261e4c, 0x00f26aba, 0x03f1d8af, 0x025b12f3, 0x0025dd9a, 0x000a9db7}}, Y: Field{[10]uint32{0x01244806, 0x02ad31b5, 0x02c5b2fc, 0x02ab7d85, 0x0307ff82, 0x03d70e20, 0x00c972aa, 0x032b9f7a, 0x02f23ad5, 0x00124d14}}}, + {X: Field{[10]uint32{0x029a4b8d, 0x02e3d2f4, 0x02d6ff2d, 0x02a69279, 0x02fd3935, 0x01198aca, 0x02bab4db, 0x01e48e08, 0x01064c0e, 0x00336f4d}}, Y: Field{[10]uint32{0x017a90ce, 0x03828f15, 0x03143a8c, 0x0054550f, 0x0358b845, 0x021bf6d7, 0x008a84c3, 0x009d3e9a, 0x032eb61e, 0x002c849b}}}, + {X: Field{[10]uint32{0x0354d978, 0x03dc974a, 0x02a75bf6, 0x00969051, 0x012bcfd5, 0x01c4ebfe, 0x0182d6ce, 0x0353d8d3, 0x009b2cb9, 0x00260fc9}}, Y: Field{[10]uint32{0x028abca2, 0x03c12122, 0x033ef0cf, 0x01dc8e20, 0x02af302e, 0x0280b6af, 0x004d25f5, 0x0380b69b, 0x0006850b, 0x001e7349}}}, + {X: Field{[10]uint32{0x00afd4f4, 0x0370630e, 0x0138396f, 0x0227eb78, 0x019e1284, 0x03ec8f94, 0x017e21ef, 0x02a7ce89, 0x01b4a5a0, 0x002231d9}}, Y: Field{[10]uint32{0x015f46c2, 0x0226df56, 0x006971cf, 0x038d170a, 0x02e3336a, 0x034511a0, 0x005cc031, 0x02568f94, 0x02647299, 0x003d357f}}}, + {X: Field{[10]uint32{0x03d52c31, 0x01e960ad, 0x036926b6, 0x001d1580, 0x031d147d, 0x02234398, 0x01c7d08b, 0x032c2866, 0x01ecd603, 0x00065d41}}, Y: Field{[10]uint32{0x01057f15, 0x0158793e, 0x0208f49a, 0x037e88d3, 0x002f212a, 0x0169d6bb, 0x035a7461, 0x017f142b, 0x013bf2d7, 0x00251fb0}}}, + {X: Field{[10]uint32{0x032eaaf8, 0x00c82d8e, 0x00fec668, 0x003fad8e, 0x019a1979, 0x035af013, 0x02700c30, 0x01817d62, 0x0232e10f, 0x00260610}}, Y: Field{[10]uint32{0x03f9c85b, 0x01e3873b, 0x03d7f395, 0x024aac62, 0x01dbbdf1, 0x01b0c7d6, 0x02a837e3, 0x03e8e4c3, 0x02edc0e2, 0x003bcc1d}}}, + {X: Field{[10]uint32{0x000bc002, 0x03e388db, 0x02764892, 0x0205a1a6, 0x02f0c7d0, 0x00c899c3, 0x00f47a9e, 0x004d2de4, 0x0335cba0, 0x00143c36}}, Y: Field{[10]uint32{0x00396072, 0x00cff2da, 0x00edd832, 0x0112e181, 0x009e466b, 0x02389976, 0x03260f65, 0x0213ab9d, 0x0013d98a, 0x000706c7}}}, + {X: Field{[10]uint32{0x01665502, 0x00770c75, 0x03a8680c, 0x005b35af, 0x0099ac85, 0x03d08a3d, 0x00bb19f3, 0x02ed42b9, 0x00ea1a44, 0x003678d0}}, Y: Field{[10]uint32{0x034aaad8, 0x03d2cd56, 0x00f75355, 0x02b49412, 0x01341445, 0x020eebba, 0x0005251b, 0x00864ffe, 0x0288335a, 0x0004a285}}}, + {X: Field{[10]uint32{0x007c539c, 0x00f03e3a, 0x034c91e3, 0x02a42a51, 0x01d42cb4, 0x01557706, 0x03067020, 0x01377631, 0x013301b8, 0x00056aa0}}, Y: Field{[10]uint32{0x0142dbc1, 0x031a9b62, 0x03b1de22, 0x011d17d8, 0x032a14bf, 0x01d8b32e, 0x01d2ba17, 0x019003af, 0x03209658, 0x001e54c1}}}, + {X: Field{[10]uint32{0x025d34d2, 0x0060be1e, 0x0024255e, 0x00608d81, 0x03d489dd, 0x01f1ef88, 0x010d169c, 0x026936e4, 0x030453d1, 0x001bdc21}}, Y: Field{[10]uint32{0x01c7dde2, 0x01e2aa66, 0x02101355, 0x03f569b7, 0x01c15246, 0x01f136ee, 0x029beabd, 0x00afd282, 0x01567c1c, 0x003814c6}}}, + {X: Field{[10]uint32{0x03167674, 0x03e370f1, 0x03f1bf33, 0x0163f8b4, 0x03867f9a, 0x01a2153d, 0x02d97e91, 0x028e9226, 0x00dfcddc, 0x000c7a48}}, Y: Field{[10]uint32{0x03706f39, 0x020a4030, 0x038afdbe, 0x017ec4b2, 0x01244a9c, 0x03af89f7, 0x01576600, 0x01b96054, 0x003d0b0c, 0x00149c4b}}}, + {X: Field{[10]uint32{0x008d51d8, 0x007cb693, 0x015ab8d0, 0x030a1a8c, 0x028258de, 0x00622325, 0x0381fbcf, 0x03c0765b, 0x0211708f, 0x0024cc03}}, Y: Field{[10]uint32{0x026c33ff, 0x00f52838, 0x01f464c9, 0x00d8495b, 0x009e0b76, 0x01961393, 0x0049b536, 0x00823021, 0x02473b6a, 0x00054da1}}}, + {X: Field{[10]uint32{0x03acb3db, 0x0153d973, 0x017dcecd, 0x00c9c81e, 0x0230c946, 0x01c4b072, 0x016cfdf3, 0x019c0818, 0x010bf62d, 0x0023deb5}}, Y: Field{[10]uint32{0x0043c637, 0x03e2d121, 0x01d347e4, 0x01c4197e, 0x001eff0d, 0x00686532, 0x0290080a, 0x014af0cc, 0x023207dc, 0x0016b042}}}, + {X: Field{[10]uint32{0x0189f4a9, 0x022921ca, 0x03dd7445, 0x007723be, 0x027f5cf5, 0x01431822, 0x028f5d73, 0x0035c711, 0x03827627, 0x001bb602}}, Y: Field{[10]uint32{0x01826dc0, 0x0248f422, 0x035a2e00, 0x03c8058e, 0x0177fd3c, 0x01a1f1f8, 0x01e47b7c, 0x039ded19, 0x03f738f6, 0x002f2e8a}}}, + {X: Field{[10]uint32{0x00e3714c, 0x00aed2df, 0x01e38eea, 0x02ca1a52, 0x027c2b11, 0x01dfab68, 0x02cb85f7, 0x02278a58, 0x017db949, 0x003b1b07}}, Y: Field{[10]uint32{0x02d08fdd, 0x02c0c3a7, 0x02516df3, 0x01354bf3, 0x018ef266, 0x02f295d5, 0x00089d0e, 0x037f6c75, 0x01af6042, 0x002b767e}}}, + {X: Field{[10]uint32{0x0237f093, 0x00982112, 0x0335c1fe, 0x023a5519, 0x01c59bca, 0x0042166e, 0x03a82d35, 0x03064964, 0x032c24dc, 0x0023ddf2}}, Y: Field{[10]uint32{0x03e07202, 0x0266cf13, 0x02213831, 0x02f561f9, 0x00423fde, 0x0029c32e, 0x0355bd4f, 0x0267e9c2, 0x0186fbf4, 0x001459d2}}}, + {X: Field{[10]uint32{0x024b6aca, 0x01e30741, 0x0049f1fd, 0x035890f4, 0x011122f2, 0x03d28cb7, 0x00c4ed62, 0x00c6bea9, 0x0374dae8, 0x0038ab77}}, Y: Field{[10]uint32{0x028b2297, 0x020463f8, 0x0323ccf5, 0x02808296, 0x00a73a1a, 0x0369984a, 0x02560224, 0x03ec2c22, 0x03941ead, 0x001f6f2c}}}, + {X: Field{[10]uint32{0x02b1e3eb, 0x011768c0, 0x0072d3e8, 0x0144d2ea, 0x033a22b1, 0x0233516c, 0x03b7c6db, 0x00c7266b, 0x01bc614d, 0x002fdebc}}, Y: Field{[10]uint32{0x00125a21, 0x00bb0b14, 0x03239754, 0x0193c49d, 0x012b8504, 0x00c99ef5, 0x029e2552, 0x02288bee, 0x01e78cf8, 0x0004234e}}}, + {X: Field{[10]uint32{0x02fe50e4, 0x03af1663, 0x01987093, 0x01a29d60, 0x0035b4f0, 0x014b60b3, 0x012c5f69, 0x0196016e, 0x007f0cec, 0x000223ff}}, Y: Field{[10]uint32{0x01378a4c, 0x03713693, 0x00cf4a63, 0x03262e7a, 0x00d39193, 0x008e5159, 0x01558c78, 0x00b0fae8, 0x00ca94b4, 0x000e0b6b}}}, + {X: Field{[10]uint32{0x013a152b, 0x00d4f51f, 0x003b7a28, 0x001cd33e, 0x039070e2, 0x00dbaac9, 0x00569ae6, 0x02b982e7, 0x03840ef4, 0x002c4528}}, Y: Field{[10]uint32{0x00a3fa70, 0x02311df3, 0x03001b18, 0x01d9b629, 0x03bb8260, 0x02ef972f, 0x036438c9, 0x03882981, 0x033ce58e, 0x000df1d9}}}, + {X: Field{[10]uint32{0x03e801b0, 0x036cea31, 0x009da627, 0x00ac6453, 0x00cfb0cd, 0x00c4064b, 0x0368fa1e, 0x008edbe9, 0x002fe20d, 0x00390469}}, Y: Field{[10]uint32{0x019b1039, 0x02140225, 0x0080b91c, 0x02ba2bb1, 0x028f6828, 0x00a2bca6, 0x012bbc17, 0x01e601c9, 0x039b43ee, 0x003fac6d}}}, + {X: Field{[10]uint32{0x00ee1999, 0x0053f35d, 0x00fd7cb8, 0x035fc7d2, 0x0031057a, 0x037979f1, 0x005182ae, 0x008c4f02, 0x007e4643, 0x000647da}}, Y: Field{[10]uint32{0x026dbc72, 0x03d2c7a4, 0x001e60e4, 0x0100f542, 0x0043e5c5, 0x00e02336, 0x0239efb8, 0x0338b566, 0x002b3f77, 0x0015192d}}}, + {X: Field{[10]uint32{0x006bcd81, 0x0023ae54, 0x01bf0b22, 0x01321686, 0x03983774, 0x006bbd4d, 0x018c4ff0, 0x02927bd8, 0x017733b0, 0x0018ffd2}}, Y: Field{[10]uint32{0x00593d3b, 0x0126ca4c, 0x020903ae, 0x02321f89, 0x0039535d, 0x02a4fca9, 0x0287b500, 0x0164c7ce, 0x0397ca83, 0x001b32bb}}}, + {X: Field{[10]uint32{0x03fc2c1c, 0x01f96b6d, 0x015564c5, 0x0291a361, 0x00f4ce72, 0x00ba318a, 0x027056c0, 0x0016e9a7, 0x0025c377, 0x003bf8d9}}, Y: Field{[10]uint32{0x01970ad5, 0x02443014, 0x032d08dd, 0x0049485c, 0x028faa7f, 0x00b956ec, 0x01a5f52c, 0x0127160c, 0x035f27ac, 0x000e4ae6}}}, + {X: Field{[10]uint32{0x037e94a5, 0x0001477d, 0x00a99988, 0x00dd3968, 0x02841d47, 0x005c1287, 0x01419102, 0x0302346f, 0x026bdd7c, 0x0001b484}}, Y: Field{[10]uint32{0x00e6e806, 0x01be55a1, 0x015f55da, 0x02c236bd, 0x03efb4d4, 0x02b50849, 0x0372ce6e, 0x02fa5d4b, 0x023acda1, 0x000ba6e0}}}, + {X: Field{[10]uint32{0x00933743, 0x037da941, 0x02f54b20, 0x03261ad3, 0x006d453a, 0x00732a4f, 0x006340dc, 0x02716e47, 0x03f4297d, 0x0033dee7}}, Y: Field{[10]uint32{0x03670c15, 0x02ea8ffa, 0x012ca083, 0x031078d8, 0x00c20613, 0x03dd46d5, 0x01efec2b, 0x0000ac44, 0x008a2c07, 0x002295e0}}}, + {X: Field{[10]uint32{0x01f7e83e, 0x0093f981, 0x023f2c15, 0x02ffdf00, 0x0027f5a5, 0x038b5568, 0x01ba4e80, 0x017b8747, 0x002b4cbe, 0x002c5809}}, Y: Field{[10]uint32{0x000fb5a0, 0x016e318f, 0x01567607, 0x03d19f42, 0x024f1faa, 0x03ece74f, 0x02e9f540, 0x0049801f, 0x03956cf3, 0x0002b0d5}}}, + {X: Field{[10]uint32{0x02bb050e, 0x0336a95a, 0x02733c02, 0x031b7f43, 0x021744d9, 0x0098669c, 0x013dce02, 0x0063661b, 0x012c4f89, 0x001ea191}}, Y: Field{[10]uint32{0x010de179, 0x02daf172, 0x0285a91e, 0x03e90f62, 0x00542370, 0x025b3d15, 0x02a1fb35, 0x02c383ee, 0x031cb558, 0x000c34c2}}}, + {X: Field{[10]uint32{0x002323b9, 0x0014bfd6, 0x01372408, 0x01024e07, 0x00af41ba, 0x025f19dc, 0x0296d3ab, 0x001bbc3a, 0x001a64d2, 0x00289e6f}}, Y: Field{[10]uint32{0x00e42046, 0x0129af1b, 0x0261da1b, 0x034d2d60, 0x02e96199, 0x0380cc60, 0x01a7ab1f, 0x02f1119e, 0x013d701e, 0x002bbf21}}}, + {X: Field{[10]uint32{0x01e5cc76, 0x039bb1aa, 0x0301a0d4, 0x0218987a, 0x00f76918, 0x03167e1a, 0x00c301aa, 0x0005ad82, 0x01705c16, 0x003a38a1}}, Y: Field{[10]uint32{0x030a983d, 0x02cfab27, 0x01eb8f2f, 0x01989da6, 0x02c988ea, 0x02509c9c, 0x0303b7a4, 0x0201442d, 0x0315f8e7, 0x00248d40}}}, + {X: Field{[10]uint32{0x029f2bbd, 0x03833862, 0x03e73459, 0x0216e4e6, 0x0046da15, 0x01cd3e73, 0x015f300a, 0x03f20601, 0x02f814f3, 0x0007f673}}, Y: Field{[10]uint32{0x00abb55e, 0x02230367, 0x025cd264, 0x02a5e528, 0x00c26d79, 0x00117c08, 0x003c71bc, 0x033239bb, 0x033fa50f, 0x0037313d}}}, + {X: Field{[10]uint32{0x027e5f11, 0x006b41a4, 0x0174d39f, 0x02db3d39, 0x03c609d4, 0x03cd93db, 0x0148942d, 0x017f583f, 0x02fc7027, 0x000c86c6}}, Y: Field{[10]uint32{0x00add33d, 0x015118e0, 0x01680c5b, 0x03e3b40a, 0x03725a80, 0x0293207e, 0x01ad36f8, 0x02cc46ba, 0x00ef808b, 0x0004da3b}}}, + {X: Field{[10]uint32{0x02d7bf72, 0x02310bbd, 0x01741810, 0x02731433, 0x03f9ef1e, 0x0037b095, 0x010cad9b, 0x038e4f6b, 0x01fb6518, 0x00137fca}}, Y: Field{[10]uint32{0x00dfb70c, 0x003d308c, 0x00efde4d, 0x022d20c1, 0x02d92f8f, 0x004fb23d, 0x03bfd067, 0x013a0935, 0x006e05aa, 0x0010565e}}}, + {X: Field{[10]uint32{0x00ed1e0b, 0x00dcfdd7, 0x001b9274, 0x01ca56a3, 0x00c839b9, 0x028fcb95, 0x03162e11, 0x00157196, 0x00a5eb63, 0x0024dea1}}, Y: Field{[10]uint32{0x0166afc6, 0x0253cdde, 0x01954532, 0x02c6a73e, 0x0162c122, 0x038f9e8b, 0x03fb3b52, 0x028d4769, 0x00bbbf11, 0x00280c1e}}}, + {X: Field{[10]uint32{0x016cc3d2, 0x03c111fa, 0x03c7a56d, 0x024ecc5d, 0x0156f073, 0x0176dff1, 0x032a87d2, 0x01cee13e, 0x029b7cab, 0x002f8fea}}, Y: Field{[10]uint32{0x02faf77f, 0x02625a02, 0x00ee1029, 0x01a9f8d2, 0x02927644, 0x03a47dfd, 0x01dacc44, 0x0252bd5c, 0x02e01ad7, 0x0039c147}}}, + {X: Field{[10]uint32{0x016c9b41, 0x0037c55d, 0x021f8c68, 0x004ec3ef, 0x0136928d, 0x001635f7, 0x01d24da6, 0x035419d9, 0x006bcc36, 0x00162ce7}}, Y: Field{[10]uint32{0x023d74ff, 0x00b4fc10, 0x0063dad7, 0x0278315e, 0x03b4ecd9, 0x00fdeb9b, 0x0012b777, 0x011b669d, 0x0291aaa8, 0x001127a5}}}, + {X: Field{[10]uint32{0x03765798, 0x00af7270, 0x007b2819, 0x00ac71cb, 0x008c9128, 0x02195d0b, 0x00e21000, 0x002d19c8, 0x0171b166, 0x0026c62a}}, Y: Field{[10]uint32{0x02e0f49f, 0x024b8c4c, 0x03d506c7, 0x00dc1673, 0x022be28d, 0x02819405, 0x0007a934, 0x03e0f4b3, 0x012298ad, 0x000a04b9}}}, + {X: Field{[10]uint32{0x02c0f59e, 0x0286cfb7, 0x002d7f73, 0x031724a5, 0x02c86740, 0x005de209, 0x035e2076, 0x0352f5e8, 0x0003dbac, 0x0029b113}}, Y: Field{[10]uint32{0x0056077f, 0x0124f31c, 0x000e0797, 0x027b1032, 0x022258d2, 0x02abce71, 0x03737278, 0x00d041da, 0x037cd1fa, 0x001ccc5a}}}, + {X: Field{[10]uint32{0x01682ee3, 0x00168e88, 0x03aaa21a, 0x010eefe8, 0x005dde20, 0x012b5e28, 0x037495b9, 0x03e35760, 0x0355628f, 0x0007fec9}}, Y: Field{[10]uint32{0x03b5943b, 0x016bfe36, 0x02fec5f9, 0x02b71a43, 0x03a71243, 0x01c38aa0, 0x019962df, 0x022db3ff, 0x00f7006b, 0x0012811e}}}, + {X: Field{[10]uint32{0x019b8283, 0x03c79e10, 0x0025c3d6, 0x039c23ed, 0x02b67a21, 0x023b97dc, 0x02538a80, 0x00451120, 0x008e3605, 0x002ba931}}, Y: Field{[10]uint32{0x01a80b27, 0x01aeea50, 0x0099b221, 0x00c1ad91, 0x0282c7b5, 0x039c44cc, 0x009d216c, 0x02ce5ef6, 0x02b8c28e, 0x001145f2}}}, + {X: Field{[10]uint32{0x034ed3eb, 0x025e6402, 0x03127f52, 0x0050e0af, 0x030b972f, 0x0000f29b, 0x036fabb5, 0x0009c210, 0x03fa5f8c, 0x00377166}}, Y: Field{[10]uint32{0x03d995c1, 0x0014d17a, 0x02696996, 0x0200ea65, 0x01ad7dbc, 0x0108117a, 0x00370b67, 0x01d6d94f, 0x019fb80e, 0x003db0fc}}}, + {X: Field{[10]uint32{0x014c80a8, 0x00f162c1, 0x0237d0d0, 0x032619a9, 0x0394d204, 0x011d0bdb, 0x03f83ed6, 0x006cb58a, 0x03e7ed30, 0x00088613}}, Y: Field{[10]uint32{0x0179b442, 0x00d85020, 0x00ab4ace, 0x01a8ee03, 0x013bc55d, 0x015a6095, 0x03a389dc, 0x028f5585, 0x01281073, 0x00276c9d}}}, + {X: Field{[10]uint32{0x0201cef3, 0x02a8debc, 0x02eeaf98, 0x00421c4d, 0x036488c5, 0x02ebf0f2, 0x030ed2d6, 0x01bd29d2, 0x03f474e4, 0x00396185}}, Y: Field{[10]uint32{0x02aa2220, 0x013e393c, 0x019d436d, 0x038b93d4, 0x00c6b141, 0x0126906c, 0x03f2047d, 0x038179c6, 0x037552dd, 0x00331a9c}}}, + {X: Field{[10]uint32{0x024f8e41, 0x0280de60, 0x0046c5b2, 0x003c740a, 0x02b7394a, 0x029cecfc, 0x02c2c5ab, 0x0317fb79, 0x00925add, 0x00306a90}}, Y: Field{[10]uint32{0x028c687b, 0x0161b074, 0x0357028b, 0x009815c4, 0x032475bf, 0x0020ead4, 0x016ce735, 0x03d58254, 0x0307e30a, 0x0025c4eb}}}, + {X: Field{[10]uint32{0x01df6168, 0x034a46b0, 0x01b5ac08, 0x0082c2dc, 0x0069e4d3, 0x001931c6, 0x00cd1c23, 0x01916407, 0x008d8957, 0x0012a976}}, Y: Field{[10]uint32{0x0113e6e6, 0x0034cab2, 0x006adf24, 0x020b7396, 0x010c0484, 0x01e01920, 0x0336cc3f, 0x00a23b1a, 0x001b915c, 0x000743a9}}}, + {X: Field{[10]uint32{0x02a8a977, 0x025be4e8, 0x031e7432, 0x01c4e477, 0x02738d41, 0x02a1a680, 0x025e192f, 0x01e0d372, 0x01917313, 0x0024e1db}}, Y: Field{[10]uint32{0x026457a4, 0x01beeb5e, 0x03c3de2d, 0x023e74a9, 0x0173fc6c, 0x015e1a9a, 0x0263d9dd, 0x03514093, 0x023d32ba, 0x001e5211}}}, + {X: Field{[10]uint32{0x011b7b28, 0x012243ea, 0x006ee50e, 0x00295310, 0x035d1808, 0x00bcabcd, 0x033dd13f, 0x020096c8, 0x017d3026, 0x00032033}}, Y: Field{[10]uint32{0x0318bc4b, 0x03f9486d, 0x00292278, 0x03249e1c, 0x019e6260, 0x031eb49d, 0x008f904a, 0x0047e459, 0x018b1f1d, 0x0027dced}}}, + {X: Field{[10]uint32{0x00c8c5cb, 0x010943a8, 0x01bb8fba, 0x0310f39e, 0x00e8e7e7, 0x01ea70c3, 0x004e8579, 0x028d16a3, 0x00d97dd4, 0x0034af49}}, Y: Field{[10]uint32{0x02494b9e, 0x0059ae41, 0x030f7665, 0x0257b868, 0x00055ae8, 0x0027ac0a, 0x03310558, 0x0064c640, 0x00b815cb, 0x000cc3c3}}}, + {X: Field{[10]uint32{0x01d7e9f4, 0x000cc1d7, 0x038b8dc3, 0x02254568, 0x015d7225, 0x00eae605, 0x015457df, 0x03a863ec, 0x03a290de, 0x00353928}}, Y: Field{[10]uint32{0x027d1c21, 0x0308774f, 0x038a56ee, 0x01b2e452, 0x0271c57a, 0x014867a6, 0x02bdc9ba, 0x03b2c5d0, 0x013e77d0, 0x00121512}}}, + {X: Field{[10]uint32{0x03236d19, 0x026f9b51, 0x02bea277, 0x00b85807, 0x03d318f8, 0x0039db8a, 0x011b246f, 0x038e67f3, 0x00f4810d, 0x003c3edb}}, Y: Field{[10]uint32{0x00595daf, 0x03b779eb, 0x00d07ad0, 0x034df3d6, 0x022cc9b4, 0x03aca907, 0x030b1973, 0x0008e622, 0x01606648, 0x0038eb54}}}, + {X: Field{[10]uint32{0x00858939, 0x01cec40d, 0x03ab0ebf, 0x03c66191, 0x039a4f9d, 0x000ac3f1, 0x0191740d, 0x011c30da, 0x018e3f4c, 0x003753b1}}, Y: Field{[10]uint32{0x00a3bfe3, 0x00df6810, 0x0246417e, 0x024253fe, 0x00737a63, 0x0107a4b7, 0x038c8395, 0x01633bc9, 0x0086a3b0, 0x000e9bb3}}}, + {X: Field{[10]uint32{0x03904e51, 0x02baedea, 0x01a8b8fd, 0x00eb771d, 0x012af12f, 0x013dab78, 0x02fe1b6c, 0x03655353, 0x01101d7e, 0x0003b15a}}, Y: Field{[10]uint32{0x0050c54a, 0x02df9435, 0x01d6dbe0, 0x02b6cb30, 0x01be7cba, 0x008bc988, 0x027111ae, 0x013dc50c, 0x027f5d59, 0x000d25f1}}}, + {X: Field{[10]uint32{0x03aa35c5, 0x03668676, 0x03da5a85, 0x02c38a2a, 0x03e25ef6, 0x013b70f2, 0x025e1aa6, 0x015a95f2, 0x02f80518, 0x00329177}}, Y: Field{[10]uint32{0x003521b2, 0x034cf6dc, 0x03df04d1, 0x01a569e8, 0x026eb4ed, 0x0044dcb0, 0x013fcde1, 0x02e7af80, 0x0357268d, 0x0036e2c8}}}, + {X: Field{[10]uint32{0x01b49a47, 0x03702485, 0x022e65f6, 0x00550d73, 0x0040f8ba, 0x03722925, 0x003c8b63, 0x00878920, 0x03889645, 0x002d1314}}, Y: Field{[10]uint32{0x02198d00, 0x018aa0f7, 0x031f5724, 0x02a7076b, 0x01509890, 0x021459ae, 0x0125e04b, 0x012e033c, 0x035df30c, 0x000b8590}}}, + {X: Field{[10]uint32{0x005dea26, 0x033fb2b8, 0x00603666, 0x0386d66d, 0x0333a20c, 0x02d1b65d, 0x01291a54, 0x00bc503a, 0x01e23586, 0x00256dcd}}, Y: Field{[10]uint32{0x024aabb9, 0x01159d49, 0x02553211, 0x02c4a1ba, 0x00f22ab5, 0x01ba0302, 0x03c9977b, 0x02f86426, 0x03055f38, 0x00384a05}}}, + {X: Field{[10]uint32{0x03e5bdfc, 0x024a3b5c, 0x027cee56, 0x02c99b06, 0x00a15c71, 0x03b91c5b, 0x028d2313, 0x00098db3, 0x00678fbb, 0x0020f676}}, Y: Field{[10]uint32{0x03949246, 0x021a1eda, 0x00545991, 0x0308df7e, 0x00c35027, 0x0267d280, 0x03e7d784, 0x03c4cbbf, 0x002fbe92, 0x00381253}}}, + {X: Field{[10]uint32{0x01bbae03, 0x010ddc12, 0x016f02e8, 0x0233cc37, 0x031d3b47, 0x02453891, 0x036bad16, 0x0151b6ef, 0x0085a04c, 0x000262df}}, Y: Field{[10]uint32{0x032ace57, 0x02718f4e, 0x00972e56, 0x03e510d9, 0x01ce4106, 0x0042c299, 0x0027da4a, 0x037f6764, 0x03953733, 0x001da70e}}}, + {X: Field{[10]uint32{0x03b12e45, 0x01018aa8, 0x01dfe086, 0x02c46691, 0x0375019c, 0x03699b54, 0x0358a8f4, 0x00d3b0d0, 0x0277852d, 0x000f39ed}}, Y: Field{[10]uint32{0x027e409a, 0x0158b751, 0x03218e42, 0x03677913, 0x0102cf03, 0x0179062a, 0x0272c4bd, 0x022e1a58, 0x010f0183, 0x001a349e}}}, + {X: Field{[10]uint32{0x02d7836f, 0x011c9fb2, 0x03291e07, 0x0320265e, 0x036b50bd, 0x00550ae0, 0x010dca75, 0x01c40507, 0x00f4d4da, 0x00282f0a}}, Y: Field{[10]uint32{0x03e47c88, 0x02d21665, 0x012242a8, 0x02f329e1, 0x02177eec, 0x027c58f4, 0x005a5819, 0x01e0735a, 0x014940f2, 0x001bb5f8}}}, + {X: Field{[10]uint32{0x02185c0b, 0x03846ac7, 0x00b6818f, 0x03126863, 0x0397750f, 0x00350660, 0x01d290ac, 0x0358ad39, 0x03a352b1, 0x002695c6}}, Y: Field{[10]uint32{0x011b4ad1, 0x0078a56b, 0x00128ff6, 0x01c26f76, 0x030f6c28, 0x00d19245, 0x03c0dfed, 0x03d63e73, 0x00cdb2b1, 0x0006a473}}}, + {X: Field{[10]uint32{0x0221b9bf, 0x03d91f8a, 0x00b93d53, 0x00760d23, 0x004e135c, 0x016a312c, 0x024eca55, 0x0379cc34, 0x004fcdd2, 0x003ee815}}, Y: Field{[10]uint32{0x0374568a, 0x015f8109, 0x023f7aed, 0x0327df6f, 0x02f71a6c, 0x03e0ef9a, 0x02fe631f, 0x01ab3cba, 0x0025a4ec, 0x001e8469}}}, + {X: Field{[10]uint32{0x00920a9b, 0x02af2875, 0x00b485f7, 0x00551585, 0x01ecad11, 0x0070eeb6, 0x002bdd70, 0x03d988e4, 0x013a1edb, 0x00365ac9}}, Y: Field{[10]uint32{0x0318c2e8, 0x0341980e, 0x031f2408, 0x0322c5cb, 0x021499f1, 0x03ccc54d, 0x027d09f2, 0x02e0c4bc, 0x0198f951, 0x000af222}}}, + {X: Field{[10]uint32{0x02267c2b, 0x012e2990, 0x0135613a, 0x00ba51f0, 0x01982338, 0x03e5c8fe, 0x02e14da0, 0x02e09652, 0x03ce1081, 0x000acf05}}, Y: Field{[10]uint32{0x036048ff, 0x037e9a4c, 0x0074fdbb, 0x030b6ef3, 0x02e77205, 0x009e8aad, 0x007f1fa4, 0x00916e23, 0x009f2ebd, 0x00293356}}}, + {X: Field{[10]uint32{0x016439f9, 0x0158da72, 0x021252eb, 0x03253f61, 0x013f6bc5, 0x03891367, 0x0313ea72, 0x0148b1a4, 0x0380fdac, 0x001a5a61}}, Y: Field{[10]uint32{0x01a03154, 0x0007ddc9, 0x0020ec10, 0x0053f880, 0x018d6e43, 0x02ee6653, 0x02b59439, 0x011d7f01, 0x03c6460f, 0x003a3bac}}}, + {X: Field{[10]uint32{0x00848c68, 0x0257be68, 0x03c6d763, 0x03f2b8bf, 0x02d1577e, 0x02ff0bd2, 0x03e172c9, 0x03713258, 0x02114cb4, 0x00078d11}}, Y: Field{[10]uint32{0x004f5b19, 0x00d0db10, 0x01e1da47, 0x00858167, 0x01a2bb46, 0x02ef1b54, 0x016d4643, 0x0268382e, 0x00dfe6f5, 0x0037aeee}}}, + {X: Field{[10]uint32{0x006aa61a, 0x022ba34a, 0x03a1fc55, 0x0213109c, 0x03d5c302, 0x034d78a1, 0x012c191b, 0x00aa6ae8, 0x02024c7f, 0x001b33eb}}, Y: Field{[10]uint32{0x02e7cb11, 0x0120e22d, 0x02de854e, 0x03c7ba0e, 0x0194c4cd, 0x00791623, 0x002ade25, 0x028bf74d, 0x01740c78, 0x00308050}}}, + {X: Field{[10]uint32{0x024c728e, 0x02c5b8b2, 0x0077ec32, 0x00fe525f, 0x02db4315, 0x006884a2, 0x03f0a2e6, 0x0284ccd6, 0x008769b6, 0x0016d7f5}}, Y: Field{[10]uint32{0x00f00c77, 0x039df363, 0x0108850f, 0x03694f10, 0x015a54c9, 0x01a1c46d, 0x01f26321, 0x027513ab, 0x013fb23c, 0x0026550d}}}, + {X: Field{[10]uint32{0x035d069e, 0x01aa6f00, 0x0221565a, 0x0277d504, 0x03e6a41d, 0x00c8ed8f, 0x03bbbd27, 0x01137587, 0x025727af, 0x001add28}}, Y: Field{[10]uint32{0x0032a34c, 0x02674cfd, 0x01756480, 0x01185491, 0x0039b87a, 0x03c01326, 0x03d689c5, 0x0237fed6, 0x0214f17b, 0x00029384}}}, + {X: Field{[10]uint32{0x00e372a2, 0x02fc50ee, 0x004b263c, 0x01b02ab8, 0x03868860, 0x03823cc5, 0x03408b9f, 0x03b4060d, 0x01878ae9, 0x00145c68}}, Y: Field{[10]uint32{0x03172d06, 0x01009d82, 0x037e8681, 0x0057164e, 0x0044da8e, 0x02a3c829, 0x024a4728, 0x014f33f9, 0x026b9641, 0x002d79f7}}}, + {X: Field{[10]uint32{0x03c8e80d, 0x03a5b350, 0x0356c279, 0x024a102d, 0x03dbce8a, 0x014a562a, 0x018568ce, 0x03bcc8d4, 0x006a4337, 0x00037e7a}}, Y: Field{[10]uint32{0x03027da7, 0x0246ed1c, 0x001df5f5, 0x037c1865, 0x0250b2cc, 0x03a4e04c, 0x00e8ff61, 0x01182844, 0x02eec72f, 0x001510ae}}}, + {X: Field{[10]uint32{0x0087c850, 0x0200608e, 0x033072ec, 0x024dedb4, 0x00ac9e46, 0x0240fef4, 0x0076ab73, 0x007dc6be, 0x0279eb6f, 0x003381c0}}, Y: Field{[10]uint32{0x02a155eb, 0x0037b52d, 0x01e84aea, 0x025d4e37, 0x016ea230, 0x0247e2b6, 0x03f2a79e, 0x034d1787, 0x01f988f9, 0x0037a0f7}}}, + {X: Field{[10]uint32{0x002f35fd, 0x01fcd213, 0x00c40766, 0x026c3b4a, 0x0296e578, 0x0274234d, 0x0238936c, 0x03213160, 0x006244af, 0x00280957}}, Y: Field{[10]uint32{0x033c6f7a, 0x0383459d, 0x0269f17e, 0x005f3589, 0x0206cd50, 0x02c83c88, 0x0098293f, 0x02635c32, 0x0007aef8, 0x0024f8b5}}}, + {X: Field{[10]uint32{0x02f0d86b, 0x009b72a1, 0x03ef0d51, 0x010370bd, 0x02138e18, 0x00e0ffd8, 0x00e1197a, 0x01775c50, 0x02adb76d, 0x002ba0b7}}, Y: Field{[10]uint32{0x0320964a, 0x02057295, 0x027c65f5, 0x01606668, 0x0072d36b, 0x038c2d64, 0x036d8ec2, 0x001de6a7, 0x03accaaa, 0x0008e76e}}}, + {X: Field{[10]uint32{0x02332393, 0x00dd7645, 0x0088444c, 0x02b27024, 0x0197c597, 0x02250918, 0x016441ea, 0x0178bb56, 0x01cebee6, 0x0033c266}}, Y: Field{[10]uint32{0x02748ca4, 0x017fecce, 0x01880865, 0x03481a4d, 0x011c664a, 0x016b736f, 0x03f8cd54, 0x03b75407, 0x03d2f074, 0x00198832}}}, + {X: Field{[10]uint32{0x00d3965c, 0x01600ce7, 0x0222a762, 0x00065151, 0x029ec068, 0x02eb2ecd, 0x03ff1b41, 0x02c06d8e, 0x03746404, 0x0017ed2b}}, Y: Field{[10]uint32{0x032abff5, 0x0338e489, 0x03e93d99, 0x02d16553, 0x00916a51, 0x01239d12, 0x009529fa, 0x01a5f350, 0x02e12cce, 0x0011932c}}}, + {X: Field{[10]uint32{0x033216b4, 0x00e83cc6, 0x023a0199, 0x003e0453, 0x002c7a35, 0x00af12b3, 0x01e5687a, 0x008cb815, 0x000a46b5, 0x00056bcf}}, Y: Field{[10]uint32{0x01d45a83, 0x00e95d33, 0x03b37ad8, 0x02795a96, 0x0286c818, 0x028ffdee, 0x035acd93, 0x00e2c11c, 0x039bbdce, 0x002b80dc}}}, + {X: Field{[10]uint32{0x000b4b10, 0x00cf8d95, 0x0046576d, 0x021d9034, 0x0232c887, 0x00b65cf6, 0x00b8b5d3, 0x0333150b, 0x01d1d008, 0x0017400d}}, Y: Field{[10]uint32{0x0254c465, 0x00f9ef9b, 0x02f39617, 0x023356d2, 0x0376db8a, 0x00e9d3c5, 0x009061f7, 0x027ca19a, 0x00e5bffa, 0x001123b6}}}, + {X: Field{[10]uint32{0x03c95527, 0x01eeb520, 0x03915e02, 0x0013f12b, 0x02a40b07, 0x03f1a78e, 0x039d322f, 0x01277fb6, 0x00f39cf7, 0x0025131c}}, Y: Field{[10]uint32{0x006c6f0c, 0x023b2f6e, 0x02fc21a1, 0x03f52388, 0x02df10ac, 0x012699a6, 0x026e95ce, 0x024cc992, 0x003bbf48, 0x002c2b03}}}, + {X: Field{[10]uint32{0x011e4402, 0x02f17585, 0x00acc846, 0x0095b34a, 0x0052e262, 0x02b58bc1, 0x0246754d, 0x00f128fc, 0x01f082ec, 0x003e9486}}, Y: Field{[10]uint32{0x027afae9, 0x0138fcc2, 0x0065a01b, 0x00af7340, 0x01eb730d, 0x000a240c, 0x0364f26a, 0x00c4cb5e, 0x01e9d640, 0x000cb3a0}}}, + {X: Field{[10]uint32{0x00a30ede, 0x010e4a0e, 0x03032704, 0x01ad766f, 0x0085c6a1, 0x0162e146, 0x009455a8, 0x03898c14, 0x0230ddbe, 0x00327d2a}}, Y: Field{[10]uint32{0x00ad7b7c, 0x02dd8c8d, 0x01baea15, 0x00d30be9, 0x03add203, 0x01adcee9, 0x00927994, 0x02bcc66a, 0x03c6b438, 0x0017bdc5}}}, + {X: Field{[10]uint32{0x03770319, 0x0305e39e, 0x02120162, 0x018b7bba, 0x020529b3, 0x01cb53ff, 0x00dd2fdc, 0x0355a56c, 0x03ca7454, 0x000bd33c}}, Y: Field{[10]uint32{0x02f7d487, 0x0033ade8, 0x02042d5a, 0x0317fc51, 0x02fe7c87, 0x02dd9c24, 0x03c1ce0f, 0x03af2fd1, 0x020e3566, 0x003736a4}}}, + {X: Field{[10]uint32{0x01969945, 0x02a5ae1e, 0x02af40a0, 0x01080891, 0x02a1cb0a, 0x007e46cf, 0x03a41a75, 0x035d2bc1, 0x01762e0c, 0x000905fd}}, Y: Field{[10]uint32{0x027807d9, 0x02e9ffc7, 0x02ceefcf, 0x01b65aea, 0x01741ef9, 0x0072d13b, 0x02d0a3f6, 0x01c6f2b6, 0x0355f8dc, 0x001aa5b5}}}, + {X: Field{[10]uint32{0x0088852c, 0x02d86e16, 0x008c66cf, 0x002bba45, 0x00d43d06, 0x02ecf6e9, 0x01ca5bac, 0x00707d9d, 0x0384305a, 0x0026ac8b}}, Y: Field{[10]uint32{0x0028a03e, 0x02d45ea9, 0x01c18e23, 0x01acb32a, 0x03b51d99, 0x02b3768e, 0x02ac12a7, 0x0238e9eb, 0x02faa258, 0x002bc141}}}, + {X: Field{[10]uint32{0x00a72b6c, 0x00074749, 0x02f52875, 0x00996858, 0x0077a917, 0x038551c9, 0x00ed8787, 0x01e4980a, 0x02a22462, 0x003dd087}}, Y: Field{[10]uint32{0x0343fcf6, 0x00224015, 0x004dd8f5, 0x03322160, 0x01fe1c72, 0x03351845, 0x032ca6d8, 0x0104cbcd, 0x0265e448, 0x0036c2b9}}}, + {X: Field{[10]uint32{0x035c6f75, 0x00ef5ff7, 0x01e35496, 0x02edf65c, 0x0110a912, 0x02e61d6c, 0x00bb7918, 0x015fa370, 0x02f3548d, 0x000d5d5a}}, Y: Field{[10]uint32{0x0077a1d2, 0x01c26378, 0x0260fc51, 0x023882c5, 0x0186d94b, 0x03538658, 0x02d69aeb, 0x02d3f753, 0x01ba78a2, 0x0007291b}}}, + {X: Field{[10]uint32{0x03f01837, 0x031136c6, 0x01bc0241, 0x030bf80c, 0x03de4041, 0x0036b9ff, 0x0049d9ab, 0x03ebc859, 0x000c494c, 0x0029fa7c}}, Y: Field{[10]uint32{0x021a0280, 0x02013005, 0x008b7d10, 0x03793bd4, 0x005a7760, 0x02d7eedd, 0x013d0093, 0x0101aa5d, 0x01ae480b, 0x003cabae}}}, + {X: Field{[10]uint32{0x0262adb7, 0x03d79bf2, 0x03c1ac88, 0x028a4213, 0x0064838a, 0x0195739c, 0x037755b7, 0x00a1e5dc, 0x01ba9287, 0x001a5147}}, Y: Field{[10]uint32{0x002b1cd9, 0x00fc69ec, 0x0143c0c7, 0x01ed468c, 0x00107153, 0x01b1ee54, 0x01845d49, 0x03c244c7, 0x03a8d40d, 0x00098863}}}, + {X: Field{[10]uint32{0x02abf06d, 0x01b338f6, 0x00ad35eb, 0x003c3148, 0x0089a92d, 0x0220817f, 0x0186a375, 0x0299bf3a, 0x033015cc, 0x0031270e}}, Y: Field{[10]uint32{0x000e354c, 0x01b59f16, 0x01b5e621, 0x02714f8c, 0x03624291, 0x034ab425, 0x00f9ca99, 0x000ac383, 0x004a665b, 0x001ebf7a}}}, + {X: Field{[10]uint32{0x039dae8f, 0x01ad891a, 0x003871ab, 0x0110215c, 0x0090c0c7, 0x0047053e, 0x036ee1df, 0x01b8e316, 0x01bfb68e, 0x003a7860}}, Y: Field{[10]uint32{0x01ef5e1b, 0x0309a8b5, 0x00018fc6, 0x0297868d, 0x00d1af5c, 0x00d946a9, 0x007e260c, 0x010c5c24, 0x02db3f39, 0x002c2f3f}}}, + {X: Field{[10]uint32{0x02392324, 0x00b8c0b7, 0x028bc406, 0x00e2ae67, 0x012e7d87, 0x0035b87e, 0x01c9e52e, 0x01073d6d, 0x006f0adf, 0x00290a16}}, Y: Field{[10]uint32{0x01b8d142, 0x019fc225, 0x031c83f9, 0x00fd37a0, 0x01a2a741, 0x012737ba, 0x03911e8b, 0x0324dd96, 0x018bfe71, 0x001df0f8}}}, + {X: Field{[10]uint32{0x032712cf, 0x03743641, 0x0194d785, 0x039d7bfb, 0x0038077b, 0x0195a99d, 0x00a4830b, 0x0068952d, 0x02d2de1d, 0x003d724b}}, Y: Field{[10]uint32{0x033958fb, 0x019c2e7a, 0x03f1ed7c, 0x01f80699, 0x01228fdf, 0x01471446, 0x01f6dcbc, 0x0127356d, 0x013a4978, 0x001fba63}}}, + {X: Field{[10]uint32{0x009c3f66, 0x023c062d, 0x034bdf26, 0x031ffc95, 0x01e18c19, 0x019ed55c, 0x01b69307, 0x03d418c4, 0x03ca6c85, 0x002a15c1}}, Y: Field{[10]uint32{0x028aa050, 0x006367d7, 0x0273d775, 0x00d5356e, 0x00536543, 0x00dee3ee, 0x0367d103, 0x038626ab, 0x0271cde2, 0x0005e17f}}}, + {X: Field{[10]uint32{0x00a7468d, 0x0250bfb0, 0x0197c0f9, 0x01819e9f, 0x00d084ab, 0x027b2971, 0x01e0cf81, 0x03470bcb, 0x035fa4c8, 0x0002219b}}, Y: Field{[10]uint32{0x0188336e, 0x024c120d, 0x0009afe6, 0x022e9fb0, 0x02291528, 0x01d8af9b, 0x02c49adc, 0x0241e8bd, 0x026c3f33, 0x000c0508}}}, + {X: Field{[10]uint32{0x020688cc, 0x02f8532b, 0x03d66f40, 0x02d59186, 0x0392af22, 0x036901b3, 0x03d07c8b, 0x00b5a385, 0x017337eb, 0x001097db}}, Y: Field{[10]uint32{0x004d4980, 0x035a63f4, 0x03dbdef8, 0x016561c6, 0x00096436, 0x0202f67f, 0x0373290e, 0x038e446a, 0x026f7c42, 0x003a1954}}}, + {X: Field{[10]uint32{0x00323139, 0x03208f5a, 0x019a2f8a, 0x02bcef27, 0x0236bfe6, 0x00f7ad2f, 0x00184414, 0x02cff555, 0x003e1de3, 0x0003dc3f}}, Y: Field{[10]uint32{0x0224ce03, 0x01012d76, 0x0144adae, 0x002d02aa, 0x008ae575, 0x01ac635e, 0x0374a82d, 0x02cc278d, 0x014b1feb, 0x0022d1e6}}}, + {X: Field{[10]uint32{0x0283116c, 0x002cd8ca, 0x0106758a, 0x03650e7a, 0x00d59c66, 0x02be8487, 0x003b10ce, 0x00a8581c, 0x00f3038d, 0x0006fa58}}, Y: Field{[10]uint32{0x01e29aef, 0x0070378f, 0x0201062f, 0x036c67ba, 0x030647e0, 0x02c0403e, 0x01549cc3, 0x03b810d4, 0x022f8218, 0x001fe932}}}, + {X: Field{[10]uint32{0x020cf385, 0x01cb54cc, 0x02a7e484, 0x022520c7, 0x02e915eb, 0x01a52a03, 0x0351e9f5, 0x02028e2b, 0x02d3bc5c, 0x00007ca8}}, Y: Field{[10]uint32{0x013940e5, 0x0194ef9b, 0x00e9ff55, 0x001d9e0b, 0x0147053f, 0x0399c07e, 0x03cb9455, 0x013127e6, 0x0239174b, 0x0028633a}}}, + {X: Field{[10]uint32{0x00d04766, 0x01dfcf91, 0x0140e884, 0x00dff9dc, 0x019aa67c, 0x01f2beaa, 0x03908611, 0x01ac2edd, 0x03607084, 0x0001875a}}, Y: Field{[10]uint32{0x00f2688f, 0x0230472a, 0x024d2533, 0x03ab2bdc, 0x02b7c4b1, 0x0325b799, 0x02eb59a6, 0x026b858c, 0x02908684, 0x0031fd2f}}}, + {X: Field{[10]uint32{0x02e6cc9c, 0x033c3507, 0x03c4fe6c, 0x00e249db, 0x026d5405, 0x012f9fc9, 0x0108daf0, 0x019145e5, 0x00932d9a, 0x0000acdc}}, Y: Field{[10]uint32{0x015beca7, 0x0002438a, 0x01d9f5ca, 0x0111860e, 0x0391cdfc, 0x005b382d, 0x016a1d86, 0x0262c7b8, 0x03f42c89, 0x003000a8}}}, + {X: Field{[10]uint32{0x02708858, 0x03598a7c, 0x0263a87c, 0x0255a89d, 0x0364af0e, 0x03fa6c07, 0x03fd1360, 0x02de8d35, 0x03efaba8, 0x00123d70}}, Y: Field{[10]uint32{0x0232b5ab, 0x03c0fa3f, 0x015e2b88, 0x02fed4a2, 0x0290aefd, 0x00be5cef, 0x02f09cc5, 0x019c91f0, 0x00b7fce4, 0x002330e3}}}, + {X: Field{[10]uint32{0x0262cfa0, 0x007766cf, 0x00b86e98, 0x03a42798, 0x00adfbe9, 0x01edb54d, 0x01cfc876, 0x03089dbd, 0x01972e5e, 0x0039826d}}, Y: Field{[10]uint32{0x02b43081, 0x00cf997c, 0x0189f0a4, 0x005826b8, 0x02335ca6, 0x02fc6c9e, 0x0385e3db, 0x017f4f8e, 0x01eeff20, 0x001afa70}}}, + {X: Field{[10]uint32{0x016d205a, 0x019a806c, 0x02b0b2ab, 0x01ecb69a, 0x02f19a76, 0x03bc3073, 0x02b8ea81, 0x0273211b, 0x031a5b2c, 0x003af902}}, Y: Field{[10]uint32{0x03c67058, 0x01be4525, 0x032f445d, 0x008035c2, 0x02967d69, 0x02593d76, 0x01899bd1, 0x032f440e, 0x00e8e4fe, 0x000bddc4}}}, + {X: Field{[10]uint32{0x018e3abd, 0x037d964d, 0x01b3ff70, 0x01160f60, 0x03dbc72d, 0x02c18af3, 0x03d32f39, 0x02c7bd94, 0x00399391, 0x0025f353}}, Y: Field{[10]uint32{0x03f37968, 0x036629fe, 0x03fe813d, 0x00ae88ce, 0x02263acf, 0x03a7d72b, 0x03c35c56, 0x02db7be6, 0x0184a175, 0x00281698}}}, + {X: Field{[10]uint32{0x02a7e6d9, 0x0128f06f, 0x0100ebf6, 0x02a80de0, 0x03257343, 0x019566b9, 0x00d99fce, 0x0343a14f, 0x00aa1d3f, 0x00209a4a}}, Y: Field{[10]uint32{0x021efc79, 0x02c1ec8b, 0x0399b020, 0x022a26ec, 0x02faad7f, 0x03dbe112, 0x010fddfc, 0x03a42bfd, 0x01b1a3bd, 0x002f128b}}}, + {X: Field{[10]uint32{0x03a19121, 0x03b4e697, 0x02398967, 0x00c59dcb, 0x0283bd14, 0x0042eb9e, 0x02e91814, 0x0257745d, 0x0097f3ac, 0x000f9d50}}, Y: Field{[10]uint32{0x0118df32, 0x03f99d69, 0x01801135, 0x0251fcfc, 0x0000ca7f, 0x033e50db, 0x0107ea15, 0x033fe282, 0x0299c6a2, 0x001d1b33}}}, + {X: Field{[10]uint32{0x029365db, 0x014c998c, 0x028fa446, 0x0118eee0, 0x0282991f, 0x02809c19, 0x00a236c8, 0x02651e02, 0x0064b49b, 0x003394e5}}, Y: Field{[10]uint32{0x022e5dd9, 0x0353009d, 0x00d41a74, 0x027046cb, 0x03a7bda7, 0x0270b0e2, 0x01f2fda2, 0x011d8c18, 0x02c2b8bc, 0x000d5e3f}}}, + {X: Field{[10]uint32{0x03e349dd, 0x0030ebd4, 0x036692c9, 0x01a4854c, 0x0344a2b6, 0x01929df2, 0x0041d6ae, 0x0056b5eb, 0x01d9cda6, 0x00324cf6}}, Y: Field{[10]uint32{0x0172c610, 0x002c36c1, 0x00c11f9f, 0x012a8713, 0x02a25b05, 0x0262eaf3, 0x02a8ede2, 0x03aeee3c, 0x024f83ba, 0x00129b68}}}, + {X: Field{[10]uint32{0x000b2ac4, 0x0068ef20, 0x03d51d08, 0x03bca009, 0x03a78e2d, 0x0237777b, 0x0116f2e7, 0x02057fa4, 0x003b1aa9, 0x001166a9}}, Y: Field{[10]uint32{0x03e993d5, 0x017f1f18, 0x016454bd, 0x01583f0a, 0x025c6151, 0x0377347c, 0x02900d4c, 0x0178c2c5, 0x03c3de99, 0x0006b3b6}}}, + {X: Field{[10]uint32{0x023b0a5e, 0x01fe44c7, 0x004d43b2, 0x00d268c3, 0x00ff4453, 0x018e6aff, 0x00675640, 0x02b4a7ad, 0x01d99862, 0x0017caa9}}, Y: Field{[10]uint32{0x01ace144, 0x01507258, 0x02cfbce7, 0x02df7538, 0x025acfbb, 0x0116ce6c, 0x01ef9ba4, 0x002fcb67, 0x022be61d, 0x0015c7b2}}}, + {X: Field{[10]uint32{0x00f4fd1d, 0x02079822, 0x000f5756, 0x01fe51ed, 0x01fc2c3d, 0x028ce152, 0x0393e681, 0x01756630, 0x021de6cc, 0x003b19ba}}, Y: Field{[10]uint32{0x01280f52, 0x01f6faaa, 0x025978ab, 0x027e8dc1, 0x02554073, 0x0029525e, 0x014dfa9d, 0x0210d562, 0x03db3b37, 0x0035c47f}}}, + {X: Field{[10]uint32{0x016105fe, 0x0205a0ab, 0x007ab1a4, 0x00e31e15, 0x0169ad06, 0x03472ace, 0x003f018b, 0x01fcb666, 0x01f5aa09, 0x001ab14f}}, Y: Field{[10]uint32{0x0218a598, 0x03238159, 0x00578abf, 0x025aee82, 0x013cd517, 0x010c1e5a, 0x008f2242, 0x02e46652, 0x02815127, 0x00257da6}}}, + {X: Field{[10]uint32{0x0396c0b0, 0x00bc4a67, 0x014fd384, 0x02142cd1, 0x0016fb5c, 0x03700b3d, 0x026dcb8f, 0x0343f711, 0x01e29e4a, 0x002a28fa}}, Y: Field{[10]uint32{0x0316dc2b, 0x00e29559, 0x03685ce1, 0x00242f78, 0x03169b8d, 0x00e535f0, 0x016d152f, 0x037a943b, 0x033e3006, 0x0037e1ba}}}, + {X: Field{[10]uint32{0x02db251c, 0x01030f79, 0x0116632c, 0x01f0c618, 0x001dbe98, 0x03b69b7e, 0x02c84a2f, 0x01d06e57, 0x00d2a0d8, 0x001429d9}}, Y: Field{[10]uint32{0x03e41055, 0x03ed089f, 0x00a4085c, 0x03890c29, 0x0176a8c7, 0x03a6d44b, 0x027632ac, 0x005f052d, 0x03f02339, 0x002ca080}}}, + {X: Field{[10]uint32{0x02b51ef9, 0x01d1b286, 0x013a9423, 0x021160a2, 0x011bd9c5, 0x01b8e73e, 0x0056c9fa, 0x037c749a, 0x00b15ef9, 0x0030b0c5}}, Y: Field{[10]uint32{0x012ab759, 0x0086693a, 0x01d4493e, 0x00c79c5d, 0x03a22f1e, 0x0167c22d, 0x009a9f5d, 0x037eaae5, 0x0286ff7f, 0x00289fe4}}}, + {X: Field{[10]uint32{0x02a9d3df, 0x01aee49d, 0x01b75dbf, 0x01d4dc3f, 0x0364868b, 0x00882930, 0x03ce375e, 0x032344ac, 0x0185da44, 0x002e9955}}, Y: Field{[10]uint32{0x024fda50, 0x0198eef2, 0x0073be51, 0x0139bf22, 0x00bdd9d0, 0x00cb3127, 0x0318f614, 0x00e16f7b, 0x016ba03a, 0x000f5938}}}, + {X: Field{[10]uint32{0x006e600e, 0x0173fbe9, 0x001c2aca, 0x004ee785, 0x0256bd0d, 0x00694403, 0x0276a650, 0x000292d6, 0x0249d4d1, 0x000f517e}}, Y: Field{[10]uint32{0x00059176, 0x02f70ad6, 0x001eced5, 0x0039cc60, 0x00da3039, 0x031d6e92, 0x01a93b13, 0x03b90b87, 0x013c38ee, 0x000024a5}}}, + {X: Field{[10]uint32{0x008c3a8c, 0x011ac12f, 0x005964ca, 0x01fd144e, 0x0083e5ab, 0x03ecb043, 0x025d96e1, 0x030f8903, 0x0346e40d, 0x00391930}}, Y: Field{[10]uint32{0x0204cf4e, 0x03243594, 0x0390fc7a, 0x0293d5f3, 0x030ca364, 0x01d3359e, 0x02205aa3, 0x0142f4a0, 0x03461829, 0x0018fc52}}}, + {X: Field{[10]uint32{0x02a42688, 0x010b756b, 0x001e3fdf, 0x03931ce1, 0x00d56f3f, 0x034f71c8, 0x030d218b, 0x02cc1c16, 0x012fe235, 0x000529f8}}, Y: Field{[10]uint32{0x01e9ff2a, 0x02fce8c5, 0x038099ee, 0x01266b84, 0x00eac312, 0x004de93c, 0x02a22d48, 0x03d20bb5, 0x03cc40ce, 0x0035e5a0}}}, + {X: Field{[10]uint32{0x023828be, 0x03ec1e25, 0x01936a99, 0x00ae1757, 0x0061d2ee, 0x02cbfdbd, 0x0334ffab, 0x01cec896, 0x03b821af, 0x00239ebe}}, Y: Field{[10]uint32{0x026b1853, 0x02739f6b, 0x01ec16cc, 0x01c37b98, 0x02bb5284, 0x00838418, 0x015bea0e, 0x01da33c1, 0x03765aa0, 0x00010391}}}, + {X: Field{[10]uint32{0x03297573, 0x0181a414, 0x002465b1, 0x015629fb, 0x017d8440, 0x03973a0a, 0x00f9f1f9, 0x02f43d2f, 0x01623227, 0x00275904}}, Y: Field{[10]uint32{0x0307fc8d, 0x030d70e6, 0x01b2c126, 0x03576974, 0x021f8630, 0x003fb027, 0x0067ea47, 0x006f95c0, 0x03a06800, 0x003b4360}}}, + {X: Field{[10]uint32{0x03c83eaf, 0x0201625f, 0x00f0b7bd, 0x03c512bc, 0x0352bb40, 0x00f69d39, 0x025b52be, 0x02767d04, 0x02d6d9e4, 0x0019d631}}, Y: Field{[10]uint32{0x004fd292, 0x032d0d06, 0x026e36a1, 0x033351a0, 0x005f7d22, 0x0255df6f, 0x0229b3de, 0x00b0d8e8, 0x008ec2aa, 0x001d26b8}}}, + {X: Field{[10]uint32{0x0061d73a, 0x0045452f, 0x03fb80da, 0x0066d28c, 0x01326327, 0x0293047d, 0x0193df63, 0x00b62c53, 0x01a04570, 0x0002cf84}}, Y: Field{[10]uint32{0x01d562eb, 0x01bef66a, 0x02d189a8, 0x02d8d2c8, 0x009660c6, 0x032e5c11, 0x02238928, 0x01fb0806, 0x02b12b26, 0x0031b854}}}, + {X: Field{[10]uint32{0x026fa5f1, 0x03b56835, 0x00b98994, 0x00f08842, 0x02137bf4, 0x002e789d, 0x0371b0fe, 0x02644404, 0x01ea3b30, 0x001428c9}}, Y: Field{[10]uint32{0x0345b70e, 0x02b8500d, 0x00739dfe, 0x027009d4, 0x028a9939, 0x02ce7bfa, 0x03585279, 0x002a9629, 0x011fd39e, 0x00251b6b}}}, + {X: Field{[10]uint32{0x015e9661, 0x0138c8ba, 0x03e39121, 0x029a91bb, 0x02a97341, 0x02b1423b, 0x02802ce8, 0x03568b3d, 0x02493bef, 0x003df23c}}, Y: Field{[10]uint32{0x0234cb67, 0x00f62347, 0x03f5d4e3, 0x039fe8fc, 0x02573883, 0x02639365, 0x00b7ec05, 0x03cdc051, 0x00c4eec1, 0x000f01cb}}}, + {X: Field{[10]uint32{0x038f85b6, 0x01977200, 0x00cc3c89, 0x02ee1b0a, 0x0038c7e7, 0x03127a9a, 0x030b94e9, 0x00ce1bc2, 0x0350c154, 0x000c0b4e}}, Y: Field{[10]uint32{0x00310744, 0x00b496a2, 0x03720567, 0x00a3539f, 0x013588d1, 0x01b1e324, 0x0366e5a9, 0x02a8bd82, 0x03d0d891, 0x00262011}}}, + {X: Field{[10]uint32{0x019f0eb7, 0x014edf48, 0x0386afbf, 0x03f2c363, 0x021d3810, 0x017b7a26, 0x00e8ecb5, 0x016e9834, 0x03282e7e, 0x0032e3b9}}, Y: Field{[10]uint32{0x038094cd, 0x038058ea, 0x0118e75f, 0x018381a8, 0x02bc10bd, 0x03c12470, 0x009a4e3c, 0x00426423, 0x022befad, 0x0012c13a}}}, + {X: Field{[10]uint32{0x03d5fd42, 0x015cb533, 0x0131b211, 0x00d7e42f, 0x0174f920, 0x031ce927, 0x00f6f04a, 0x0362a883, 0x022b4a0c, 0x0019172a}}, Y: Field{[10]uint32{0x037ef5b9, 0x0320d1be, 0x010a6b6f, 0x008dfd47, 0x03b0aa13, 0x03f945b6, 0x022b64ea, 0x035f0779, 0x019635f9, 0x001e4fca}}}, + {X: Field{[10]uint32{0x015f5a21, 0x031289ce, 0x034f3e69, 0x01ccf617, 0x00f00b1c, 0x0185f593, 0x034b8df6, 0x02d79d50, 0x002f6148, 0x00134dcd}}, Y: Field{[10]uint32{0x03a708bd, 0x01df6294, 0x01cded15, 0x0374e341, 0x034eebd7, 0x006dad99, 0x00a7db2b, 0x031c1519, 0x012bd4c5, 0x00190002}}}, + {X: Field{[10]uint32{0x00c0e0d8, 0x024c5c06, 0x02d3dbd6, 0x00d0db9d, 0x01747a21, 0x034a2f4e, 0x02c6285e, 0x001ecad2, 0x0317024e, 0x00398d2f}}, Y: Field{[10]uint32{0x03e9f021, 0x036e1cc4, 0x00a53020, 0x03efa25f, 0x025e9660, 0x02c44e1d, 0x01d9d8b6, 0x02947b0c, 0x02de4b82, 0x003332f2}}}, + {X: Field{[10]uint32{0x020cef38, 0x0044014d, 0x0192ba51, 0x0018eefe, 0x0264c490, 0x00c74966, 0x03ff5354, 0x03144f56, 0x01e62767, 0x00202803}}, Y: Field{[10]uint32{0x028ef572, 0x033737d8, 0x036b203f, 0x03de54c2, 0x03b2620d, 0x03f71f80, 0x027e23e8, 0x00cd9b11, 0x0189e8d7, 0x001f73ad}}}, + {X: Field{[10]uint32{0x028f8a0f, 0x00b8b767, 0x0225d05b, 0x0197dc65, 0x02baf5b7, 0x0047571d, 0x01b8409f, 0x0143b669, 0x00e6d23d, 0x00181b54}}, Y: Field{[10]uint32{0x03b32788, 0x010d9acf, 0x00cc748c, 0x03a2edf2, 0x004cbb41, 0x0305c480, 0x001d2206, 0x02d30bf3, 0x009245b1, 0x00067d55}}}, + {X: Field{[10]uint32{0x024f0420, 0x03583b83, 0x02a247fd, 0x020ce359, 0x02266c30, 0x0392864c, 0x03ea835a, 0x013edd29, 0x0214f7d4, 0x00272282}}, Y: Field{[10]uint32{0x01d9169a, 0x021d1679, 0x028b4d01, 0x01e8ecaf, 0x018737fc, 0x006bb74a, 0x02da6218, 0x023748c7, 0x02373157, 0x0010b1b0}}}, + {X: Field{[10]uint32{0x0235da1c, 0x030cf6c7, 0x00e59ceb, 0x032810ea, 0x001a32d3, 0x02905e49, 0x01a01548, 0x01bd63fe, 0x00f781a4, 0x0035b33f}}, Y: Field{[10]uint32{0x021d084f, 0x037c88e1, 0x016d568b, 0x02f24409, 0x0287cbcf, 0x015c3e0c, 0x00824e61, 0x01ae362d, 0x021ace84, 0x002872ae}}}, + {X: Field{[10]uint32{0x01f2e3c4, 0x01aeb67d, 0x000da459, 0x03b6903b, 0x006eed5d, 0x0251f234, 0x016f4464, 0x00ffc915, 0x036a3e4c, 0x00233ebc}}, Y: Field{[10]uint32{0x00f3c4d7, 0x0381a4b6, 0x031fcc80, 0x00ee5b28, 0x026b7237, 0x00419fc8, 0x03f81d1c, 0x0337f78c, 0x02ccede6, 0x002646db}}}, + {X: Field{[10]uint32{0x03e664a0, 0x03023aed, 0x03da0541, 0x02c1245f, 0x03189849, 0x031a9b31, 0x02f39738, 0x00e82ef3, 0x01815b0f, 0x00351b0f}}, Y: Field{[10]uint32{0x0167c159, 0x033962b6, 0x026421fe, 0x02650107, 0x0158cffe, 0x02a13b60, 0x02dc9b63, 0x03975f22, 0x03b6d053, 0x000d5492}}}, + {X: Field{[10]uint32{0x037adfff, 0x008ffb0a, 0x02f0490c, 0x01d7280b, 0x03e2ce9b, 0x0118df73, 0x02dce33e, 0x0237dfe0, 0x00a52f1f, 0x0023b5fc}}, Y: Field{[10]uint32{0x028d99ff, 0x003088d8, 0x019a55d9, 0x017509dd, 0x024be1aa, 0x037b8ed9, 0x00272253, 0x0344325b, 0x00c7b418, 0x003c0918}}}, + {X: Field{[10]uint32{0x01aaa2ca, 0x02a17d9b, 0x02c2b0ce, 0x02ca2af4, 0x00825c46, 0x03ba8ffc, 0x03a4d6ca, 0x0146f54a, 0x02dca8a3, 0x0010cfb2}}, Y: Field{[10]uint32{0x022977e5, 0x02850bc5, 0x0038f983, 0x03f20f41, 0x03f6d396, 0x01bce438, 0x00d03c48, 0x0345dd17, 0x01bcc2d7, 0x00134edc}}}, + {X: Field{[10]uint32{0x03a006e6, 0x02cfe72e, 0x014eb249, 0x00ec5701, 0x03ba0449, 0x007d990a, 0x01bbddd8, 0x01fe0dea, 0x02f31037, 0x00301dc7}}, Y: Field{[10]uint32{0x034ccb1e, 0x037c963b, 0x015b0784, 0x00ce98e5, 0x00e1ea2b, 0x01e35312, 0x018c6b47, 0x01a809e2, 0x01ab1d81, 0x000f94f7}}}, + {X: Field{[10]uint32{0x03597ad7, 0x00ea7143, 0x03d238ff, 0x02a29d07, 0x0092072b, 0x00d71b36, 0x0197383e, 0x021ee54e, 0x02264a6a, 0x00370b80}}, Y: Field{[10]uint32{0x0012c74d, 0x00f07c5f, 0x00e01d8a, 0x03272f20, 0x018ddbac, 0x03d65fa1, 0x00ac0ff6, 0x03dc8d10, 0x0346ecd5, 0x002263b9}}}, + {X: Field{[10]uint32{0x02dab771, 0x002dd81a, 0x01f0311f, 0x02cbb60e, 0x01d043d7, 0x0273678c, 0x005f7811, 0x0232fc7f, 0x023459ad, 0x0005aeb3}}, Y: Field{[10]uint32{0x002fb1c4, 0x01b077f0, 0x01243e89, 0x02c4af52, 0x0066e835, 0x00acae0d, 0x02239797, 0x025f8cb2, 0x01326ec6, 0x00003d91}}}, + {X: Field{[10]uint32{0x0169c736, 0x017ce95f, 0x001a4072, 0x036a0e72, 0x029af55e, 0x023c00d1, 0x02539a86, 0x0050e451, 0x018f3a27, 0x002bee53}}, Y: Field{[10]uint32{0x035201d8, 0x03a2f468, 0x009cb386, 0x029d5653, 0x00bdf37f, 0x0158f5d9, 0x00a4eff7, 0x000c769c, 0x014ea455, 0x002bf6ca}}}, + {X: Field{[10]uint32{0x00e89b74, 0x0056aa74, 0x01dc706b, 0x02017de0, 0x02ecc337, 0x0006397a, 0x01b0ae76, 0x03dfd07b, 0x02364a98, 0x002ecc74}}, Y: Field{[10]uint32{0x02031a9a, 0x029307f6, 0x01c27a92, 0x0229ee76, 0x0287cbc2, 0x01373657, 0x009f032f, 0x0331fb35, 0x00031f47, 0x00068193}}}, + {X: Field{[10]uint32{0x004318b8, 0x00f0454f, 0x0270001c, 0x01bb5c9f, 0x03241e48, 0x03bdba0e, 0x0204ee30, 0x0176a059, 0x036c4bbf, 0x003dcec6}}, Y: Field{[10]uint32{0x008c9b17, 0x03e6e29b, 0x01ffb476, 0x03bcedf5, 0x0125ba08, 0x03006c98, 0x00ac2255, 0x0132ead6, 0x016e09d6, 0x00268a2b}}}, + {X: Field{[10]uint32{0x01afa8a4, 0x01ba4864, 0x03313b23, 0x01983c34, 0x03708c87, 0x025816ca, 0x038ea7b6, 0x03168213, 0x0212d0dd, 0x00018ef4}}, Y: Field{[10]uint32{0x016c3e67, 0x001da631, 0x01b0fa33, 0x023b33b3, 0x0102fbca, 0x027f4d0b, 0x03bb0b3a, 0x0100c82b, 0x00f60482, 0x0003b9bd}}}, + {X: Field{[10]uint32{0x02bc6465, 0x001fe186, 0x016299e0, 0x01761d7f, 0x00967b95, 0x031a241e, 0x02416b78, 0x020088c2, 0x022b3606, 0x0018d9f4}}, Y: Field{[10]uint32{0x029417eb, 0x00a225fd, 0x020bbec6, 0x011e4967, 0x03118d16, 0x01657e6c, 0x02444ad5, 0x01e4fc5f, 0x032d14e6, 0x0030fb87}}}, + {X: Field{[10]uint32{0x0085976e, 0x00186a25, 0x02c4f2df, 0x003c2d8c, 0x020c922d, 0x0120e531, 0x0101e3a4, 0x03d4b95e, 0x0143fbb7, 0x001938b9}}, Y: Field{[10]uint32{0x00ab2a4c, 0x024df7ff, 0x0011b48f, 0x01093f38, 0x02895119, 0x0218e939, 0x0047e5a5, 0x01a2d3f1, 0x002e336a, 0x00190698}}}, + {X: Field{[10]uint32{0x03fee1c6, 0x03cc0c78, 0x03f38d6b, 0x01298399, 0x02e16e82, 0x036704c8, 0x0179e869, 0x00d72347, 0x02fd18c8, 0x000b8a42}}, Y: Field{[10]uint32{0x01390f21, 0x0199161e, 0x03874962, 0x02b178dc, 0x02da18cc, 0x00a68d89, 0x0286b0ec, 0x01ad9c1d, 0x028ed2fa, 0x001fe158}}}, + {X: Field{[10]uint32{0x00ee401e, 0x03c421cb, 0x0242b17e, 0x0333602e, 0x00c0ba2d, 0x02231ddd, 0x03229079, 0x0174f7d7, 0x008a0c47, 0x00216688}}, Y: Field{[10]uint32{0x0319f5d8, 0x009ffea2, 0x01e31336, 0x0297c4d2, 0x0384b982, 0x03e84bf3, 0x02ed1e3c, 0x01d0eb58, 0x0245778e, 0x002999f1}}}, + {X: Field{[10]uint32{0x02bcaf21, 0x02b00a80, 0x00939b92, 0x036f64ac, 0x03b608d3, 0x00a7f718, 0x01c0b868, 0x002abbc6, 0x0108ccc5, 0x00324a46}}, Y: Field{[10]uint32{0x02cd2599, 0x023406c1, 0x0231a17d, 0x0115df18, 0x0320cb7d, 0x00bf227e, 0x01352c8b, 0x007d631c, 0x03b74711, 0x0039714a}}}, + {X: Field{[10]uint32{0x01cefb26, 0x03507118, 0x00459b04, 0x031d6369, 0x0364bc42, 0x03c68752, 0x02b01411, 0x02d881e2, 0x009042b5, 0x00140d65}}, Y: Field{[10]uint32{0x034f04e0, 0x01147aaf, 0x02af1e5b, 0x00abdef4, 0x03347c13, 0x009cbe05, 0x00d9bd8f, 0x00193fe0, 0x023db68c, 0x003d87a0}}}, + {X: Field{[10]uint32{0x00a4cbf3, 0x007cb7b1, 0x0343e7b6, 0x00067d17, 0x0039f29a, 0x00ed4d7b, 0x02787c35, 0x03c7ed84, 0x02e7d6a3, 0x003e6f3e}}, Y: Field{[10]uint32{0x032ff883, 0x0301e848, 0x0067b28f, 0x018abb77, 0x02a65658, 0x003f211a, 0x02d5a995, 0x035f9e40, 0x026f273a, 0x003d361b}}}, + {X: Field{[10]uint32{0x014a9152, 0x011c0e7c, 0x01dbad77, 0x03a5fe35, 0x01602ac4, 0x001d91c5, 0x03c0004b, 0x03c143a4, 0x028b901c, 0x0000723f}}, Y: Field{[10]uint32{0x0136769c, 0x01ee031f, 0x00c4c99d, 0x009fdbdd, 0x03b42a0f, 0x02c67e1f, 0x0143b6ec, 0x00a50a48, 0x03347c45, 0x002c9776}}}, + {X: Field{[10]uint32{0x0386f552, 0x010c4c79, 0x004dd2c5, 0x033d04af, 0x008ff676, 0x03ad4d38, 0x023947c6, 0x00ea1f4d, 0x03e14cbe, 0x0000f142}}, Y: Field{[10]uint32{0x0305a74d, 0x03b928e6, 0x032388a0, 0x00f6ed94, 0x00194f55, 0x0119b2b4, 0x02277754, 0x03d80362, 0x031c6e03, 0x00110d11}}}, + {X: Field{[10]uint32{0x030522f5, 0x009c0bb9, 0x01409fe7, 0x02b5b677, 0x005b3e91, 0x03e322c9, 0x0168b4b4, 0x01cbe3ea, 0x01b25554, 0x0019335c}}, Y: Field{[10]uint32{0x01ede304, 0x03c5b622, 0x002af5bf, 0x00f05a1e, 0x0140350a, 0x0066f58a, 0x017fc2a8, 0x0121540b, 0x033ae9fa, 0x003c6c72}}}, + {X: Field{[10]uint32{0x019af7a8, 0x038d0518, 0x00bccc41, 0x039f4bb2, 0x02fd8f69, 0x033102c3, 0x03dded87, 0x030d1b46, 0x0044c584, 0x00307001}}, Y: Field{[10]uint32{0x01879436, 0x0240174f, 0x0238eee0, 0x0332f1b7, 0x01f78dbc, 0x016042d8, 0x03b391ad, 0x03aec21e, 0x00943e3f, 0x00358c6d}}}, + {X: Field{[10]uint32{0x03a2a7ed, 0x03d6558f, 0x01b96cbe, 0x00a2be5c, 0x002fbd0c, 0x02df92e8, 0x0050fd03, 0x02ed871d, 0x0182dad5, 0x003e9425}}, Y: Field{[10]uint32{0x033df4e5, 0x038acd8b, 0x03816165, 0x016cd242, 0x012acdff, 0x01af8865, 0x03890d75, 0x00bde26a, 0x0364617c, 0x00099f09}}}, + {X: Field{[10]uint32{0x01a2386c, 0x008351b0, 0x024d0509, 0x0033df49, 0x0235175e, 0x018130b6, 0x0205f04b, 0x0249aa9b, 0x02e6864e, 0x00195773}}, Y: Field{[10]uint32{0x03ee19c8, 0x03853cb3, 0x02df72bb, 0x00e2d788, 0x025f1dc2, 0x01e596ea, 0x02d36c46, 0x00b2d2e8, 0x02dabf06, 0x00368bab}}}, + {X: Field{[10]uint32{0x033c213e, 0x01bf02b7, 0x01beb760, 0x001b4568, 0x002cc1de, 0x03b17135, 0x03c8fbef, 0x03989025, 0x01ac1b7b, 0x001aad78}}, Y: Field{[10]uint32{0x00a9e466, 0x008c7934, 0x01d3cf36, 0x02353a02, 0x00f83392, 0x03fb37d6, 0x003e0247, 0x00c671d1, 0x03b204eb, 0x0009be60}}}, + {X: Field{[10]uint32{0x00c25f3b, 0x02a75458, 0x01af35f5, 0x02951fbd, 0x036224e2, 0x03dceadc, 0x0373a0d3, 0x02a8b7a7, 0x029e039c, 0x0031f6a1}}, Y: Field{[10]uint32{0x00da579f, 0x010adad0, 0x0175dc79, 0x02267b08, 0x02cfdc0f, 0x01ab9312, 0x02f4cf67, 0x001f604a, 0x010249a6, 0x003a66c4}}}, + {X: Field{[10]uint32{0x0144ef99, 0x03034852, 0x01084a9c, 0x0152fc05, 0x03e20b68, 0x03d34526, 0x028091fa, 0x00f3b7b5, 0x00a15f1c, 0x000a9b53}}, Y: Field{[10]uint32{0x02661ae0, 0x01ad8e03, 0x039b4ced, 0x03cc4fc5, 0x015cb44b, 0x029c0eb1, 0x00d92846, 0x0257a6ae, 0x0288ae92, 0x0037f09d}}}, + {X: Field{[10]uint32{0x01c846c0, 0x018b3684, 0x015752de, 0x009c604a, 0x0292600a, 0x0079dc5a, 0x0259f70b, 0x008932a9, 0x00b3bba7, 0x00111c98}}, Y: Field{[10]uint32{0x008999bf, 0x03687837, 0x00996db8, 0x02990098, 0x038331e2, 0x00184e51, 0x000c9220, 0x00bb7a26, 0x020f33ef, 0x003c5f8f}}}, + {X: Field{[10]uint32{0x03781969, 0x0253dbe9, 0x016fd5b9, 0x0299b94d, 0x015a8788, 0x02cc4abb, 0x00b0f441, 0x01c00e35, 0x00adbaba, 0x002336c7}}, Y: Field{[10]uint32{0x00536977, 0x01dfb75d, 0x00fa17c1, 0x0392e81b, 0x03b88750, 0x0355b080, 0x03be06d8, 0x019ceab9, 0x010e262e, 0x002ce96f}}}, + {X: Field{[10]uint32{0x01caaefe, 0x009aa175, 0x00576851, 0x003c5d76, 0x00bc3e2c, 0x033d1b03, 0x0323e6cd, 0x03e41460, 0x0350fb60, 0x000a2f83}}, Y: Field{[10]uint32{0x022b7320, 0x03e6e8e1, 0x009de21b, 0x030fa590, 0x028d986f, 0x01a30c5d, 0x01404295, 0x02313384, 0x00f7fb18, 0x00173016}}}, + {X: Field{[10]uint32{0x014673a0, 0x012128a6, 0x00eb6f23, 0x0189fe3c, 0x02837e22, 0x0273e0e7, 0x029218ad, 0x03eb522d, 0x00badd2d, 0x0002db73}}, Y: Field{[10]uint32{0x022de992, 0x033f533e, 0x02eafb52, 0x01daba07, 0x02496231, 0x03731cc2, 0x00aa2ab5, 0x005899dd, 0x02d7297f, 0x00387052}}}, + {X: Field{[10]uint32{0x03766a87, 0x01c25578, 0x02e1dbe7, 0x03e4066e, 0x02b9cbb0, 0x0317f369, 0x03ecec9d, 0x03df95e9, 0x02c88813, 0x003917af}}, Y: Field{[10]uint32{0x01fbb07a, 0x004d7ac3, 0x028563ff, 0x01fc4e91, 0x03f915cc, 0x02b2eaa7, 0x03848857, 0x00de0df0, 0x00bb4ccf, 0x000e98a8}}}, + {X: Field{[10]uint32{0x00dccdbb, 0x0087faba, 0x030eb07b, 0x001f7d97, 0x0059bc9d, 0x00adf21d, 0x00b9e552, 0x02752078, 0x037726f3, 0x0037a49b}}, Y: Field{[10]uint32{0x004d8e05, 0x00d9fd8c, 0x02ba0f5f, 0x02c75c86, 0x01115be2, 0x008e7db8, 0x03618ce1, 0x01090092, 0x02a9263d, 0x00274643}}}, + {X: Field{[10]uint32{0x00f2caf0, 0x0280fcbb, 0x03091b54, 0x00b84c17, 0x0091e427, 0x01a5c8ad, 0x03948075, 0x027011b5, 0x03842066, 0x003dd884}}, Y: Field{[10]uint32{0x039e4914, 0x00a4f412, 0x00f6d12d, 0x00aed31f, 0x033088c9, 0x016432a8, 0x01945284, 0x03caa571, 0x00e5a227, 0x003431fa}}}, + {X: Field{[10]uint32{0x025ce751, 0x02effa15, 0x0037d4a8, 0x03458669, 0x01a5cdb1, 0x02e83ae7, 0x00d472e8, 0x03b823d1, 0x028644ff, 0x00139e57}}, Y: Field{[10]uint32{0x0190a4e0, 0x03a0f885, 0x03549749, 0x0156672c, 0x0365038c, 0x01d47961, 0x01b4be3c, 0x01a3e6ee, 0x00e54782, 0x0014a4b6}}}, + {X: Field{[10]uint32{0x01b50b3d, 0x0174b4b7, 0x03559bf4, 0x0237a15d, 0x01cdf75e, 0x02248d4c, 0x0333a97c, 0x02c0fcca, 0x0289a944, 0x001c3991}}, Y: Field{[10]uint32{0x00225586, 0x01349483, 0x0151a536, 0x02eea45a, 0x03925a93, 0x01c79bb7, 0x01ae263c, 0x0226928b, 0x02e5460b, 0x00299d71}}}, + {X: Field{[10]uint32{0x0367056b, 0x02d73c96, 0x020fab08, 0x0240ee76, 0x03477ef3, 0x02d2ffc7, 0x00b8c1c8, 0x0091f803, 0x002e682b, 0x000858df}}, Y: Field{[10]uint32{0x0292d882, 0x0125e793, 0x00e04831, 0x01638934, 0x03c5716b, 0x009f60e1, 0x00c2b6c7, 0x006955f9, 0x025e3e76, 0x0038d5c5}}}, + {X: Field{[10]uint32{0x001d1964, 0x015828e7, 0x02949a40, 0x02c5d19a, 0x03d8ae5b, 0x00062f6e, 0x01a41350, 0x034b85d0, 0x039908da, 0x001da468}}, Y: Field{[10]uint32{0x02422b74, 0x020711c2, 0x00be4d8c, 0x0038a31a, 0x03025728, 0x01db9fc9, 0x03f2296f, 0x016edb36, 0x0004b05b, 0x000897c5}}}, + {X: Field{[10]uint32{0x01af9302, 0x0266be1e, 0x012cb698, 0x0244361d, 0x01b0d11e, 0x009faafe, 0x035a14b0, 0x0021266b, 0x02a4f395, 0x001d20c5}}, Y: Field{[10]uint32{0x03fd7ee2, 0x00c11ed6, 0x0061f179, 0x006e7a11, 0x00f600fc, 0x037628b1, 0x0187c126, 0x0027630f, 0x00d26bd7, 0x00337375}}}, + {X: Field{[10]uint32{0x02ed9b8a, 0x03f83bfd, 0x03390c2f, 0x0146001a, 0x00a97089, 0x007814a5, 0x0084aa6c, 0x03a171b7, 0x01ab3839, 0x002bd623}}, Y: Field{[10]uint32{0x03d9cff0, 0x0055058d, 0x0081d870, 0x00d633c3, 0x01616ca1, 0x03800aab, 0x014131f5, 0x01523c9e, 0x02401b06, 0x0028f4dd}}}, + {X: Field{[10]uint32{0x01b42dc6, 0x011b8436, 0x0253735c, 0x001dbc2d, 0x005f869d, 0x0255ca2c, 0x03617969, 0x01bfec66, 0x00603170, 0x002f6477}}, Y: Field{[10]uint32{0x00f153b2, 0x01c41d91, 0x01a6d161, 0x03df5949, 0x00cdce2c, 0x0381c21c, 0x028db8ed, 0x03d71868, 0x02d15a74, 0x000f258f}}}, + {X: Field{[10]uint32{0x01e98f47, 0x01ccbb7b, 0x0382d985, 0x0209f7ae, 0x030c202c, 0x0132c787, 0x03aa583c, 0x002efd70, 0x00a59146, 0x00398971}}, Y: Field{[10]uint32{0x0170b72e, 0x03733056, 0x0299d7fd, 0x0187244c, 0x000812a4, 0x0392b180, 0x02505348, 0x014e5877, 0x01f9a903, 0x003409b1}}}, + {X: Field{[10]uint32{0x03daac1c, 0x023f971f, 0x000e8ebc, 0x015f6566, 0x00122cd0, 0x0060d5f9, 0x014553c7, 0x024ebe2e, 0x03fed4b1, 0x001af489}}, Y: Field{[10]uint32{0x0221a9f9, 0x03549271, 0x039f022f, 0x012792de, 0x03c66a05, 0x0028ad39, 0x01835d3b, 0x02c1127b, 0x01400a98, 0x0017cff9}}}, + {X: Field{[10]uint32{0x02db2609, 0x03d99907, 0x02f495cf, 0x03e5531b, 0x0068a0f0, 0x016cd39f, 0x03d3872c, 0x01bce148, 0x0225895e, 0x0009dc1e}}, Y: Field{[10]uint32{0x02a777ee, 0x0060088f, 0x0335e03a, 0x02452337, 0x01e5de5c, 0x01fd9dfa, 0x0334b38f, 0x035a5da7, 0x038ec893, 0x003bdbd3}}}, + {X: Field{[10]uint32{0x03f0ebde, 0x005383f3, 0x026db1f3, 0x03039d51, 0x00c01770, 0x010a135f, 0x03770ea0, 0x01053aed, 0x008e3359, 0x00181489}}, Y: Field{[10]uint32{0x03f7b7a2, 0x00638ab8, 0x0312c8b1, 0x034c72e5, 0x031a1ac7, 0x02a955be, 0x0262e020, 0x03551a7e, 0x00585cf0, 0x000f6608}}}, + {X: Field{[10]uint32{0x0370f6bc, 0x0168453c, 0x0150e6c7, 0x019a6d15, 0x034d4fc6, 0x02c8a615, 0x01825068, 0x0049305b, 0x03534fa6, 0x003cb2d6}}, Y: Field{[10]uint32{0x0241112e, 0x029d02dc, 0x008a0ad7, 0x02ef17eb, 0x038ec9dc, 0x00f31de7, 0x0152def4, 0x032b484e, 0x030763a5, 0x00173795}}}, + {X: Field{[10]uint32{0x007a502e, 0x0342c8fa, 0x01b20aa9, 0x01453bdb, 0x0304989b, 0x01d71807, 0x00030c7a, 0x02e7e782, 0x02159fe6, 0x001deb60}}, Y: Field{[10]uint32{0x029b703d, 0x031a037a, 0x0132a87f, 0x01e266be, 0x0300c136, 0x02e87aec, 0x0056add2, 0x0124c9d2, 0x01eeffc2, 0x00249a28}}}, + {X: Field{[10]uint32{0x028fd29d, 0x0132f252, 0x001c8a11, 0x003ee93b, 0x035cc9aa, 0x00b5e246, 0x0380fd7c, 0x03e03e9f, 0x008d171c, 0x0011061d}}, Y: Field{[10]uint32{0x031835c1, 0x02ed063e, 0x02aeebab, 0x01aa99f1, 0x029916c1, 0x009e7f9e, 0x0318322b, 0x006dfdcb, 0x028579f0, 0x000144c0}}}, + {X: Field{[10]uint32{0x027355e0, 0x01f5f98d, 0x008831d3, 0x03ff7df4, 0x01126e59, 0x0046a09b, 0x01901b4d, 0x0321edf9, 0x01606f89, 0x0005abd2}}, Y: Field{[10]uint32{0x00b04c2e, 0x0130b353, 0x009f68ca, 0x03a943b8, 0x0012c8e8, 0x03a8ece3, 0x02131ca8, 0x008f27a3, 0x00405372, 0x000684e1}}}, + {X: Field{[10]uint32{0x02120f9d, 0x00e4be77, 0x03e4aae6, 0x00c0d49d, 0x000730a7, 0x03606123, 0x037ba0ca, 0x00c6e33d, 0x003cab44, 0x0008b481}}, Y: Field{[10]uint32{0x011b8acd, 0x03d3dae6, 0x0145a432, 0x03263b4f, 0x034d71f9, 0x01ff33e7, 0x036520ac, 0x011b4270, 0x01ad5e5b, 0x0035de57}}}, + {X: Field{[10]uint32{0x03676302, 0x02cc9c55, 0x017349fb, 0x022ec906, 0x0241d92c, 0x03d8912d, 0x02033602, 0x0194cdf8, 0x028b3482, 0x00015f9e}}, Y: Field{[10]uint32{0x0199b83a, 0x00a00ed1, 0x022a0975, 0x0374f473, 0x015146af, 0x02ecb951, 0x02bd2eb6, 0x0322cb0e, 0x00e8ba4b, 0x0013648e}}}, + {X: Field{[10]uint32{0x02acc359, 0x01156c09, 0x009da9ab, 0x02093018, 0x007ea19a, 0x01776ac7, 0x02b39ed0, 0x0009f8a0, 0x03602755, 0x0011559f}}, Y: Field{[10]uint32{0x0134f5a7, 0x02e92350, 0x03d4c2fb, 0x03dfdc9b, 0x0182c1cc, 0x0104e4b7, 0x02291611, 0x0153b790, 0x015a77a3, 0x0036d57b}}}, + {X: Field{[10]uint32{0x027fa80f, 0x03e9683d, 0x00c383e8, 0x039c68a1, 0x01798a0b, 0x02114c80, 0x001933ca, 0x024d1e77, 0x01549105, 0x0025a3ed}}, Y: Field{[10]uint32{0x00e8920e, 0x01332849, 0x00bd0b16, 0x0007740f, 0x0201c141, 0x019c60dd, 0x02d83945, 0x03d5430d, 0x02b16853, 0x00018d61}}}, + {X: Field{[10]uint32{0x01873107, 0x0050946b, 0x02d1714c, 0x033446bc, 0x013d640a, 0x01e3dee1, 0x03ef522b, 0x00f35fc7, 0x02490f63, 0x003cd9b1}}, Y: Field{[10]uint32{0x0082c6b9, 0x03ed971d, 0x01546e56, 0x0355c46b, 0x0325b260, 0x0275057b, 0x004cfab5, 0x0262360b, 0x02af38f4, 0x0017f0e5}}}, + {X: Field{[10]uint32{0x00201d06, 0x01a1d0ff, 0x026e9ad0, 0x0224540f, 0x0059b192, 0x00acf0a7, 0x0016effd, 0x01a2cbb7, 0x03d44a2e, 0x002a8313}}, Y: Field{[10]uint32{0x033fee33, 0x037e2dff, 0x01b82b5d, 0x028952a9, 0x002763ac, 0x01d89c34, 0x00b5c4db, 0x01e5dd19, 0x02242fba, 0x0018538c}}}, + {X: Field{[10]uint32{0x032cc876, 0x01125223, 0x00ad2b44, 0x033cdd21, 0x01da4cbd, 0x02a0c391, 0x0057abbd, 0x033b1a47, 0x00ee19b2, 0x001b221b}}, Y: Field{[10]uint32{0x02fc16a1, 0x012e5382, 0x01cf5def, 0x025ef3cb, 0x02a197e8, 0x03b19396, 0x03eb384f, 0x037e1c21, 0x03bd9ab4, 0x000933f2}}}, + {X: Field{[10]uint32{0x02095554, 0x005e16f1, 0x02e439a8, 0x032b7cef, 0x00fbe5e4, 0x0045b538, 0x01d1686f, 0x01dbbb20, 0x0199c33f, 0x00135800}}, Y: Field{[10]uint32{0x03ae614a, 0x0057cc97, 0x028e9dad, 0x03127c58, 0x032bf73d, 0x037fb5d0, 0x01d4321f, 0x03dc3845, 0x00ceb769, 0x0032d053}}}, + {X: Field{[10]uint32{0x010a4fc2, 0x01689697, 0x0230aa67, 0x032b4bc8, 0x0212c3ca, 0x02d96ec5, 0x01e84724, 0x0167839c, 0x00a0196d, 0x000ddf74}}, Y: Field{[10]uint32{0x00feb560, 0x010f1d2b, 0x0338fe03, 0x00d8ad47, 0x021159c7, 0x02cd25d4, 0x03f7c270, 0x009f7297, 0x027d8c8e, 0x000b1c9f}}}, + {X: Field{[10]uint32{0x00820f46, 0x024a2967, 0x025529ca, 0x006633cd, 0x02e8aa50, 0x036402e2, 0x031826f9, 0x037cd46e, 0x038a23af, 0x00273033}}, Y: Field{[10]uint32{0x03e67256, 0x0234d1fd, 0x031f8b06, 0x01197554, 0x00693e54, 0x0290e828, 0x0142c53e, 0x0302a320, 0x015be2aa, 0x002d5cbc}}}, + {X: Field{[10]uint32{0x01fa3050, 0x01363b46, 0x000ead4a, 0x03aa9471, 0x024cfb01, 0x02f81107, 0x01d154a2, 0x00ac7a60, 0x02a64149, 0x0035577e}}, Y: Field{[10]uint32{0x03238ac1, 0x02cb9463, 0x012eb45f, 0x01dc30b7, 0x02da0c4c, 0x008e879c, 0x0098f315, 0x01d30aa6, 0x01cb408c, 0x000b9e57}}}, + {X: Field{[10]uint32{0x01210fd5, 0x001b7b9f, 0x024e8463, 0x021c9e5c, 0x02e3d27e, 0x02b1b01f, 0x035efb3f, 0x00c548c1, 0x03d72d11, 0x0011afd8}}, Y: Field{[10]uint32{0x03b0b199, 0x02cb220c, 0x002fc94c, 0x00dccb8a, 0x02dc4a2e, 0x02417128, 0x03b433a2, 0x00c94df8, 0x01f230fa, 0x001dc6ec}}}, + {X: Field{[10]uint32{0x00ca3aad, 0x000165d4, 0x03a3a13f, 0x02e306a6, 0x03594ef8, 0x01d79f0e, 0x02f1826f, 0x01f05e31, 0x038803e7, 0x0012f3f8}}, Y: Field{[10]uint32{0x021b0129, 0x02abd522, 0x009b62dd, 0x008ed1f4, 0x00ec5ea9, 0x03014e27, 0x0283cf56, 0x0119cbe8, 0x02939dcf, 0x002d558b}}}, + {X: Field{[10]uint32{0x00c241db, 0x01d1ee36, 0x02c57df9, 0x00e477dd, 0x016255ba, 0x012eca92, 0x00ce8023, 0x01a7bb5f, 0x02f4715e, 0x00325a06}}, Y: Field{[10]uint32{0x01e038e6, 0x0087dfb3, 0x02e0828c, 0x0204c420, 0x00da530e, 0x006f72c1, 0x02bb8468, 0x0148197c, 0x01cbb03d, 0x00322c5d}}}, + {X: Field{[10]uint32{0x02fbc33c, 0x02c5af30, 0x00101790, 0x02f531ad, 0x01bd5538, 0x02d3daba, 0x022671a3, 0x01ab1fd2, 0x021b56bd, 0x00027e82}}, Y: Field{[10]uint32{0x03129e63, 0x03f62d8c, 0x01fb5c08, 0x01a1b511, 0x0016056f, 0x0122d219, 0x00599593, 0x01f33b92, 0x02be785c, 0x0009fe7a}}}, + {X: Field{[10]uint32{0x03d0381e, 0x03b1a91c, 0x01feaa56, 0x03caf038, 0x03a87203, 0x019de593, 0x023e7b98, 0x022ab01c, 0x01f0ca17, 0x0005410b}}, Y: Field{[10]uint32{0x010183f2, 0x03b8ef63, 0x033a1677, 0x03f49082, 0x03e271cb, 0x0050f9d7, 0x039eb59a, 0x01ac37e3, 0x0257dac8, 0x0011176d}}}, + {X: Field{[10]uint32{0x0337e9b2, 0x022c0c87, 0x00b65eb0, 0x03403abe, 0x036b7f9d, 0x00876dd9, 0x027da3e9, 0x0061df83, 0x02630d4c, 0x000d53da}}, Y: Field{[10]uint32{0x004ea8fc, 0x026a8ac4, 0x03fea555, 0x0361942f, 0x012eb784, 0x010fbf59, 0x032f480a, 0x0202fbad, 0x003bd65b, 0x00040014}}}, + {X: Field{[10]uint32{0x01de065c, 0x010c3166, 0x03d8ac11, 0x0139e6b8, 0x029e4ba7, 0x009c1f5b, 0x00d8864d, 0x023f0127, 0x01617a44, 0x000670d8}}, Y: Field{[10]uint32{0x009acff5, 0x001bcc26, 0x022fa4dd, 0x00605842, 0x0275742d, 0x02dca67b, 0x02f570c1, 0x03ba0653, 0x03d8fd38, 0x000be7e7}}}, + {X: Field{[10]uint32{0x0083f88e, 0x0130519c, 0x01d395bd, 0x01ed5b39, 0x035a5080, 0x03767ea3, 0x027a2d4a, 0x02299ada, 0x008ad2ab, 0x000dce61}}, Y: Field{[10]uint32{0x01f0cbc9, 0x02058b19, 0x0151e6f5, 0x002440da, 0x01068a54, 0x00b86233, 0x01d20569, 0x000af7d3, 0x00206111, 0x001bf5c6}}}, + {X: Field{[10]uint32{0x0010aa35, 0x018bab07, 0x01ba9500, 0x023e2b1b, 0x012dd7e5, 0x0212e13d, 0x00e66f1f, 0x008cd9f7, 0x0345261c, 0x002708b2}}, Y: Field{[10]uint32{0x012a1116, 0x02fb9901, 0x0146ec8d, 0x005c665b, 0x03605b00, 0x021b72e7, 0x00bead62, 0x02f9ca44, 0x03f58c25, 0x003fe138}}}, + {X: Field{[10]uint32{0x01b4538e, 0x02f7525b, 0x03abbd0f, 0x0215d44f, 0x015a4127, 0x038df155, 0x00c71e45, 0x005cc9fb, 0x01c87f31, 0x0015c851}}, Y: Field{[10]uint32{0x0238871f, 0x031e4422, 0x03550242, 0x02b013a9, 0x015338c6, 0x00485523, 0x02d5166c, 0x002368ab, 0x03ac5e39, 0x00058f98}}}, + {X: Field{[10]uint32{0x01e940ef, 0x0078c84b, 0x0285bd93, 0x036636e1, 0x034c641e, 0x006a59b1, 0x03213b75, 0x00fad63b, 0x0154d841, 0x00327c1e}}, Y: Field{[10]uint32{0x01e17fd0, 0x03061333, 0x0041d792, 0x03cfb7a4, 0x0092cf5a, 0x0026f3b3, 0x025fe7cb, 0x00f4f281, 0x00bc804f, 0x00279a11}}}, + {X: Field{[10]uint32{0x007f25e3, 0x024684de, 0x000c3f92, 0x02a83a20, 0x01f7b0e4, 0x0016a294, 0x024a24df, 0x0228a759, 0x0346b07c, 0x002b0a5f}}, Y: Field{[10]uint32{0x01b66cbb, 0x02637a0a, 0x0185875e, 0x01ddd4f0, 0x02b1556c, 0x01297460, 0x01bbca05, 0x016b5ff4, 0x037f78e4, 0x001a1b8e}}}, + {X: Field{[10]uint32{0x00b3e1b5, 0x025e4d26, 0x0198c218, 0x02f202f0, 0x035ad55d, 0x0087b688, 0x00274df1, 0x029a20e4, 0x013bb383, 0x0001b164}}, Y: Field{[10]uint32{0x00b9ccf1, 0x016ab78b, 0x00dc91c3, 0x02d743de, 0x0153e5b4, 0x00789295, 0x011ebf46, 0x027d28bc, 0x003ae364, 0x00152e6e}}}, + {X: Field{[10]uint32{0x032495df, 0x03aa396b, 0x01b45cf7, 0x03f71e4f, 0x01846e3e, 0x0058f2fe, 0x0259ee92, 0x00d5afb2, 0x03a3f503, 0x002e649b}}, Y: Field{[10]uint32{0x02e2a512, 0x03e41510, 0x03047bb8, 0x0030402f, 0x01054fd0, 0x03f05781, 0x0015c511, 0x039e87b5, 0x03c533d4, 0x00035b75}}}, + {X: Field{[10]uint32{0x00e69556, 0x01ceb61d, 0x03d5a314, 0x03314d5f, 0x03cb36ad, 0x0181cc15, 0x00ac758f, 0x02f9dff8, 0x01d2f2ca, 0x0010c974}}, Y: Field{[10]uint32{0x034904a9, 0x029f53d4, 0x01932ed5, 0x02d7116b, 0x03818c8f, 0x01833123, 0x030562d5, 0x00c57e21, 0x01682ff6, 0x003790de}}}, + {X: Field{[10]uint32{0x00164917, 0x022a3045, 0x03f110d3, 0x037346ff, 0x00eed924, 0x0387103d, 0x03c9059c, 0x02ff292b, 0x015ffd84, 0x002860fa}}, Y: Field{[10]uint32{0x01d64b95, 0x0006ed10, 0x017f0a0d, 0x0176fbc1, 0x00c38d69, 0x0337e57b, 0x005046d4, 0x03290405, 0x0210c7ff, 0x0004715d}}}, + {X: Field{[10]uint32{0x00d07114, 0x017a205b, 0x0009184d, 0x03f4eeaa, 0x02ab7af5, 0x0123f6f0, 0x0251414f, 0x00a3c365, 0x00d9ad65, 0x002cd034}}, Y: Field{[10]uint32{0x020dd4e1, 0x03410384, 0x01384919, 0x02a6db0f, 0x02ae2671, 0x00392da3, 0x024dfbd4, 0x01c3dfe5, 0x026a9ecd, 0x00217b5c}}}, + {X: Field{[10]uint32{0x02719377, 0x03cd3085, 0x0240e8e6, 0x038db035, 0x00b146fa, 0x02781d74, 0x015f0a4c, 0x00be9056, 0x02883599, 0x002d4b6a}}, Y: Field{[10]uint32{0x024ad7ad, 0x0324391e, 0x029df85e, 0x020892c5, 0x004f42f0, 0x011e31e8, 0x00b5cbad, 0x00e2269b, 0x01399fa8, 0x0018222c}}}, + {X: Field{[10]uint32{0x02b9d8ad, 0x015c268a, 0x0218d5dc, 0x00d9148e, 0x01f269ba, 0x030ad7f9, 0x03f82bf7, 0x03e23a7d, 0x011542b0, 0x000242ef}}, Y: Field{[10]uint32{0x028fc4e5, 0x039cd214, 0x00743e06, 0x02432a9a, 0x03c69584, 0x034dd0f7, 0x01461d2b, 0x00d1329c, 0x024a51af, 0x003277e4}}}, + {X: Field{[10]uint32{0x03aa8365, 0x023a9aa8, 0x01fd2278, 0x03ed0e2c, 0x02b31c54, 0x00b24c4b, 0x03d4603f, 0x00653fb4, 0x01a81696, 0x003dcbb9}}, Y: Field{[10]uint32{0x010fde8a, 0x0305c879, 0x0307404f, 0x0331e159, 0x010e66f4, 0x035169cb, 0x03c1078c, 0x003d2e3f, 0x0182b6ca, 0x0038a58f}}}, + {X: Field{[10]uint32{0x02b9fb53, 0x02a0e5f9, 0x01298c35, 0x0137667e, 0x0366a10f, 0x03f4d23c, 0x035d6ddd, 0x0014950b, 0x03715bc7, 0x000422ba}}, Y: Field{[10]uint32{0x0209f1ce, 0x0273c70c, 0x0145b49b, 0x01c2b1af, 0x0297b8d9, 0x00dca261, 0x036df472, 0x02381283, 0x033975a5, 0x0020e22c}}}, + {X: Field{[10]uint32{0x0361d5b0, 0x019fedbf, 0x02e86e26, 0x000524f8, 0x00fe54c9, 0x01fd189a, 0x00a5ff5c, 0x017afe09, 0x02ed8734, 0x00370f6b}}, Y: Field{[10]uint32{0x013411e5, 0x003e2776, 0x01d56da2, 0x01e64ca9, 0x02cf0010, 0x02ad1fd9, 0x02c1683b, 0x00119c65, 0x0241238e, 0x002d69f9}}}, + {X: Field{[10]uint32{0x0265c589, 0x01e70190, 0x03ef9381, 0x00cbe35a, 0x03a82c5f, 0x00e14fbc, 0x01e1d26e, 0x018483a0, 0x003c2be1, 0x000fe5aa}}, Y: Field{[10]uint32{0x035c64b3, 0x00dc4c5a, 0x03a0f2ea, 0x03eaebff, 0x01630ba1, 0x03ef409f, 0x020d7349, 0x03c83f56, 0x030e797c, 0x003ae34d}}}, + {X: Field{[10]uint32{0x03f5c4f3, 0x004ee5bb, 0x038661de, 0x01febc6d, 0x03b35835, 0x00913ef8, 0x00a22780, 0x008f8c73, 0x006ce1f4, 0x0009f2be}}, Y: Field{[10]uint32{0x02b30f61, 0x03e86e28, 0x005a139b, 0x0128bcb5, 0x032187e2, 0x036f7283, 0x03ddbc23, 0x033ed18c, 0x0318647a, 0x003a3ddd}}}, + {X: Field{[10]uint32{0x0374d04f, 0x00931883, 0x0236167a, 0x0071f020, 0x012d301a, 0x01206591, 0x007f9648, 0x021e1862, 0x03b9e241, 0x0019a073}}, Y: Field{[10]uint32{0x0015151d, 0x02d28dee, 0x017608dc, 0x01a66353, 0x03f1ce48, 0x0023447b, 0x01f521cc, 0x03a510bd, 0x033a7849, 0x0027227a}}}, + {X: Field{[10]uint32{0x02ba8da5, 0x02c3996f, 0x0280e67f, 0x03705e57, 0x02fcac45, 0x03eeebe8, 0x02747092, 0x0118e59c, 0x00494866, 0x0019c46e}}, Y: Field{[10]uint32{0x014cfcc6, 0x00ac964a, 0x00118b81, 0x017d834b, 0x016b986a, 0x02f2a947, 0x02d8cecb, 0x017b6488, 0x003f1c8f, 0x003284b2}}}, + {X: Field{[10]uint32{0x031dd94d, 0x0210f8ad, 0x010118b7, 0x019c89da, 0x01fdd734, 0x01a61d71, 0x03d22b05, 0x00b36e83, 0x03d0b110, 0x0017ba73}}, Y: Field{[10]uint32{0x007d7d86, 0x00087782, 0x0063aed9, 0x02522d7d, 0x02060d22, 0x026d80cc, 0x03c518f1, 0x027b9385, 0x00e5bd7f, 0x000775e9}}}, + {X: Field{[10]uint32{0x01f4924c, 0x028fcabb, 0x01785e38, 0x0074b4b6, 0x02d7538f, 0x03408937, 0x0195a466, 0x002f9bcf, 0x017b1339, 0x00161b6b}}, Y: Field{[10]uint32{0x002b64d0, 0x0365e1b3, 0x039867be, 0x00072657, 0x00bc2fb1, 0x00467963, 0x035bd337, 0x00d6085c, 0x01a5a68a, 0x0031ddfb}}}, + {X: Field{[10]uint32{0x025091ec, 0x01c94359, 0x02d9184f, 0x0382b63b, 0x00867f6e, 0x003771fa, 0x024b6e69, 0x004b1c64, 0x02d20fa0, 0x000169d4}}, Y: Field{[10]uint32{0x03b95db6, 0x02ba0651, 0x02d27d53, 0x025d7cb2, 0x03ec1ace, 0x01e2410b, 0x01029fc5, 0x0190a7c5, 0x032b32b3, 0x0015fc88}}}, + {X: Field{[10]uint32{0x013e638e, 0x02a01929, 0x02e60002, 0x0381ef9c, 0x02426372, 0x01e3ac50, 0x00fef223, 0x015dfaa7, 0x02ff22bc, 0x003e4f2f}}, Y: Field{[10]uint32{0x03afe50f, 0x00d08de0, 0x00a5996f, 0x01755c64, 0x03eeadb7, 0x009e793c, 0x03166702, 0x036d0a52, 0x02bb401b, 0x002af1dc}}}, + {X: Field{[10]uint32{0x012608a9, 0x00053a43, 0x038cc3dd, 0x03ee15ba, 0x0076052c, 0x029b98eb, 0x03c34c36, 0x0025c8bb, 0x009e9613, 0x002309cb}}, Y: Field{[10]uint32{0x024607b3, 0x03a49f9b, 0x02dfde85, 0x0058d257, 0x03731e37, 0x022d5000, 0x027d2261, 0x01c588ee, 0x016813c5, 0x002661f4}}}, + {X: Field{[10]uint32{0x01769bc5, 0x021f0453, 0x015e23e1, 0x01327e55, 0x0038dfd8, 0x00e1b770, 0x00226c4d, 0x0150ae95, 0x00d61519, 0x002fde28}}, Y: Field{[10]uint32{0x01910280, 0x01bb262c, 0x00fe55d2, 0x01f4c56f, 0x03e16058, 0x010a567b, 0x0014b59d, 0x03020798, 0x01e4d84e, 0x00182538}}}, + {X: Field{[10]uint32{0x02e65caa, 0x03f6e64c, 0x02b28ee1, 0x016b8c47, 0x01497aaa, 0x0109217f, 0x03ab651f, 0x00a86ffe, 0x0376cd09, 0x0016c992}}, Y: Field{[10]uint32{0x01d70d78, 0x0062381a, 0x00c84c8c, 0x008b5762, 0x021dd847, 0x015a56c1, 0x010fdc88, 0x035f0d98, 0x03594b68, 0x002513e4}}}, + {X: Field{[10]uint32{0x0082b559, 0x03810ab0, 0x027974b7, 0x014409d3, 0x01322f71, 0x03451dc1, 0x03c14598, 0x028344ce, 0x00ea8075, 0x002891cf}}, Y: Field{[10]uint32{0x02575a18, 0x01a2a268, 0x004b5d2c, 0x00a9c212, 0x035168d3, 0x03db2416, 0x0309d794, 0x01ec1b66, 0x030db655, 0x001937a0}}}, + {X: Field{[10]uint32{0x009efa45, 0x022a00d8, 0x02350652, 0x002028a4, 0x01f14b07, 0x01c21ef5, 0x001535da, 0x0314510d, 0x01e63dd0, 0x000f8635}}, Y: Field{[10]uint32{0x00288c5b, 0x027fd9d5, 0x030a6e1d, 0x00589aa7, 0x0026dc2f, 0x0394d1c3, 0x02fd041b, 0x01ce0be0, 0x01b97d00, 0x001ba71c}}}, + {X: Field{[10]uint32{0x0294dfa5, 0x03d855a0, 0x0184b71a, 0x01050a16, 0x026a7674, 0x0308a421, 0x0296eb09, 0x018c56f3, 0x03cdb91e, 0x00346b36}}, Y: Field{[10]uint32{0x013da5a4, 0x03a7e218, 0x014522c9, 0x03a59ae6, 0x00accb67, 0x00f8a74f, 0x00072017, 0x00dd70fe, 0x00d89872, 0x00178ec3}}}, + {X: Field{[10]uint32{0x0050c90d, 0x002badf6, 0x024e1a21, 0x00a3103d, 0x0125ddb0, 0x00d7b3dd, 0x02cc880a, 0x0383cad7, 0x01e29344, 0x000eaa66}}, Y: Field{[10]uint32{0x0143d42b, 0x00eaafe9, 0x01951567, 0x013b1f28, 0x01028c45, 0x027a6a20, 0x02e6fcbe, 0x0286fb74, 0x025cfbe3, 0x00334b38}}}, + {X: Field{[10]uint32{0x01a5017d, 0x0359c258, 0x02398146, 0x0389692d, 0x033e1b31, 0x028e9b28, 0x010aa4c8, 0x00572fb3, 0x021d7c38, 0x0026288d}}, Y: Field{[10]uint32{0x0009f2bc, 0x01c4a28b, 0x00de6d39, 0x01753674, 0x01516df2, 0x035e380e, 0x00213958, 0x00304efa, 0x03780304, 0x0007ccf7}}}, + {X: Field{[10]uint32{0x013d98d0, 0x01459d01, 0x03cc4613, 0x011ef86d, 0x03ff3482, 0x0132da72, 0x03a55628, 0x02e1c1b5, 0x018c907a, 0x0014a2e7}}, Y: Field{[10]uint32{0x01eafabd, 0x01fab4f7, 0x01051aba, 0x014c6531, 0x0129700d, 0x00028450, 0x02d67bb8, 0x015de1f1, 0x0036d666, 0x003e47ae}}}, + {X: Field{[10]uint32{0x025029b6, 0x01b07398, 0x0193a355, 0x0398b236, 0x00f4be50, 0x02e33dcc, 0x01a6a866, 0x0034822f, 0x008d3d1b, 0x003c6b7b}}, Y: Field{[10]uint32{0x03cc7224, 0x01d07506, 0x0178f964, 0x0153822a, 0x0257e4a7, 0x00b51e55, 0x03fb61b3, 0x01860896, 0x00aac3bf, 0x0011e0c9}}}, + {X: Field{[10]uint32{0x0124a099, 0x035429ce, 0x00f10f74, 0x0329d0aa, 0x000e0181, 0x01d752a8, 0x0070cf8d, 0x0056b106, 0x0133b1b1, 0x002acbbc}}, Y: Field{[10]uint32{0x026a91ea, 0x00a6ac15, 0x030a5756, 0x0339c29c, 0x012f2baa, 0x02302bda, 0x0149ef53, 0x03baad5e, 0x0374c584, 0x0028b11e}}}, + {X: Field{[10]uint32{0x00576f85, 0x0326c9f8, 0x00c72348, 0x01f4446e, 0x00539a61, 0x024dc21a, 0x0120e2bf, 0x01be0ec7, 0x001af6da, 0x002753ad}}, Y: Field{[10]uint32{0x01f30eea, 0x035accf1, 0x000d7cc5, 0x031c7096, 0x0373acc3, 0x00d4cc17, 0x02dfe904, 0x03213ea2, 0x000db786, 0x003071ec}}}, + {X: Field{[10]uint32{0x03b916d9, 0x01088a4f, 0x011d018a, 0x023e790c, 0x02a55363, 0x0367a418, 0x006dff05, 0x00b20722, 0x017f7b1b, 0x000c3b75}}, Y: Field{[10]uint32{0x00842ee7, 0x039f1291, 0x00502d44, 0x0192a8a2, 0x00f7449e, 0x02b3f38c, 0x0220b485, 0x015e8607, 0x034b16d2, 0x001af11d}}}, + {X: Field{[10]uint32{0x01306583, 0x00715d0c, 0x0066a41d, 0x029c7a04, 0x00f10969, 0x01248053, 0x0058fc6a, 0x02e15597, 0x039d09a2, 0x000a38fa}}, Y: Field{[10]uint32{0x03bb6c2c, 0x00f23f37, 0x00e7ddc9, 0x00577d2a, 0x0359ad3c, 0x030542b8, 0x025245c8, 0x01019c03, 0x03878073, 0x003f194e}}}, + {X: Field{[10]uint32{0x02ac75a3, 0x015c69a6, 0x00e08c91, 0x02d9d276, 0x035a3a8b, 0x03cfa098, 0x03be578f, 0x010b428b, 0x0335e3c8, 0x0032e611}}, Y: Field{[10]uint32{0x03ea8367, 0x0050a6de, 0x02268b48, 0x01efa64d, 0x004c3e25, 0x035c52bd, 0x013f977a, 0x030fd4c0, 0x00cc7181, 0x003a4d68}}}, + {X: Field{[10]uint32{0x000fe170, 0x00146ae9, 0x037a3ed0, 0x016c82a8, 0x015e4d66, 0x021437f3, 0x0283b106, 0x001fabba, 0x02727e83, 0x000d8619}}, Y: Field{[10]uint32{0x00707a6d, 0x03be3440, 0x0124be32, 0x03cb6976, 0x01ab27cb, 0x038b2cd2, 0x014c710c, 0x037007d7, 0x02d32ae6, 0x003b189b}}}, + {X: Field{[10]uint32{0x006b7d2e, 0x020ec5d3, 0x03136021, 0x02c8ed40, 0x034260ab, 0x032099ef, 0x02ccd54d, 0x03cd970a, 0x015e69e9, 0x002c6903}}, Y: Field{[10]uint32{0x01c186ec, 0x011cc28f, 0x027c3af0, 0x02a02eb8, 0x0331edde, 0x03bd8cba, 0x001ff894, 0x0107d490, 0x01ab2a7b, 0x001d9867}}}, + {X: Field{[10]uint32{0x01660825, 0x02c509c5, 0x02be242e, 0x00d75308, 0x00b32a8f, 0x00988019, 0x03f0ccb2, 0x00288fa0, 0x00b3dff6, 0x002af522}}, Y: Field{[10]uint32{0x000b3a89, 0x03dfc8e1, 0x0105be1b, 0x00124684, 0x03fa9949, 0x006122ea, 0x007a463d, 0x038ebe5b, 0x00f217da, 0x001bbfe0}}}, + {X: Field{[10]uint32{0x01d6aa22, 0x01443293, 0x00598c92, 0x0055cff9, 0x002a5721, 0x0086f6c4, 0x00979743, 0x03ad20bd, 0x0304d91c, 0x002b033e}}, Y: Field{[10]uint32{0x034582d5, 0x03958149, 0x02de81c5, 0x0129198a, 0x02395031, 0x0111d366, 0x018ae4a6, 0x0342a419, 0x01874a90, 0x001ad7db}}}, + {X: Field{[10]uint32{0x03c34432, 0x02ebc46b, 0x008e6087, 0x03cd54a5, 0x02a3a0bf, 0x0374762f, 0x03c75410, 0x012d9da5, 0x020f476c, 0x0007ea2f}}, Y: Field{[10]uint32{0x00788d33, 0x036d6ae0, 0x01e5496d, 0x01ae3d71, 0x03fe79df, 0x02071c61, 0x0161d201, 0x011878ca, 0x00848038, 0x0031ac94}}}, + {X: Field{[10]uint32{0x01f90e56, 0x03ed0970, 0x00ec9b29, 0x0355fa34, 0x03f336a4, 0x015717c3, 0x017d3137, 0x022626a0, 0x03c0d373, 0x000a06d0}}, Y: Field{[10]uint32{0x009f4a9c, 0x02a6ef2f, 0x03689921, 0x0111fe08, 0x03686830, 0x0089e9a9, 0x03e3db31, 0x016726dc, 0x030eba10, 0x0009ad41}}}, + {X: Field{[10]uint32{0x008f4052, 0x02c9a532, 0x02f120f0, 0x0118aa4a, 0x013b83eb, 0x01796a0b, 0x006327f5, 0x007b11d1, 0x01e954e8, 0x0035939a}}, Y: Field{[10]uint32{0x01c8622a, 0x0251e5cf, 0x030d58f3, 0x0036bebf, 0x0227a8f0, 0x019ba952, 0x0275565f, 0x00f28a6f, 0x015f284c, 0x002a9fb5}}}, + {X: Field{[10]uint32{0x00e7b028, 0x02f353f9, 0x03a5417b, 0x02315086, 0x01483fb5, 0x0185e08d, 0x035b0c9d, 0x0076c7c2, 0x02eed4b0, 0x003d336e}}, Y: Field{[10]uint32{0x02c63b47, 0x02eac641, 0x013021dd, 0x011e3aa4, 0x01b2b924, 0x02894022, 0x039f48c5, 0x0264137a, 0x00eb29d6, 0x0019b564}}}, + {X: Field{[10]uint32{0x03c9dca5, 0x00ffc2a4, 0x02f4c724, 0x0334779d, 0x00761fc1, 0x01e74868, 0x02ca8090, 0x038cd03f, 0x004a6c46, 0x0023fe53}}, Y: Field{[10]uint32{0x0149abf7, 0x00236bbc, 0x0377c2ab, 0x00d2a2ed, 0x01772071, 0x021ff731, 0x0342d4f1, 0x01a38ca7, 0x00335f3c, 0x00048f77}}}, + {X: Field{[10]uint32{0x03cf267a, 0x00fb3449, 0x01e705c3, 0x0313cabd, 0x00efed70, 0x00ed93ec, 0x007c0e62, 0x0061adfa, 0x01b46e34, 0x00031e1a}}, Y: Field{[10]uint32{0x0011f48a, 0x01c829d7, 0x01a59629, 0x0291a401, 0x03029aef, 0x0368aef5, 0x017d95d7, 0x002260bc, 0x00393662, 0x00198a55}}}, + {X: Field{[10]uint32{0x02cce1a4, 0x02c90c41, 0x00142351, 0x01c9bbb0, 0x0309836f, 0x016d4106, 0x026ba9e2, 0x03721ef4, 0x02c60ad5, 0x00383a9d}}, Y: Field{[10]uint32{0x00eff928, 0x00f52e35, 0x03dbc5a0, 0x005f22bd, 0x016a3a44, 0x02248ad9, 0x02a620a7, 0x0126ae22, 0x00e66320, 0x0022f5c9}}}, + {X: Field{[10]uint32{0x01e30159, 0x029fac4a, 0x027bfc6a, 0x03492d2a, 0x00e8e357, 0x0220fd4b, 0x0019f1f4, 0x022608d9, 0x02c73e5f, 0x000be98e}}, Y: Field{[10]uint32{0x00d8c3fd, 0x02c0e3ae, 0x01d517d0, 0x00a01bde, 0x007251db, 0x02d79711, 0x025b3146, 0x00fea3d6, 0x001cd632, 0x0015f858}}}, + {X: Field{[10]uint32{0x033026a1, 0x01b4cb71, 0x0012f6aa, 0x01dec808, 0x0149d008, 0x02ede99c, 0x02783fc1, 0x0024c08b, 0x0038d4c5, 0x001d3b50}}, Y: Field{[10]uint32{0x0328476f, 0x01bf509a, 0x0035e80e, 0x0200e3a6, 0x0258234f, 0x03deff69, 0x00618e49, 0x0027a233, 0x030e65d0, 0x0016dd3d}}}, + {X: Field{[10]uint32{0x00025f97, 0x03f4b63c, 0x01148eae, 0x03737101, 0x0216ce75, 0x03f7c83e, 0x02d1f934, 0x004f71b7, 0x00a6e387, 0x001c75ab}}, Y: Field{[10]uint32{0x0067e302, 0x00f9829c, 0x02bae0dd, 0x013688b6, 0x02072ffd, 0x0067da74, 0x00c6c4fb, 0x037f209e, 0x01337d48, 0x002d0c51}}}, + {X: Field{[10]uint32{0x03ed5292, 0x01d2b316, 0x004ac8a1, 0x031a25c1, 0x02ee617e, 0x0100a5eb, 0x02d5720f, 0x02f27e68, 0x03f16e91, 0x000a3ed1}}, Y: Field{[10]uint32{0x00b498f7, 0x02e1293e, 0x0059e0bd, 0x03b4ae9e, 0x00ef8e7a, 0x0250f06d, 0x00db6059, 0x01caf93f, 0x0161d724, 0x003412da}}}, + {X: Field{[10]uint32{0x0347a37a, 0x01c3b887, 0x036f8942, 0x0177898b, 0x03828c5a, 0x0269eccb, 0x02fca795, 0x016d7d74, 0x01f5c865, 0x001a3f35}}, Y: Field{[10]uint32{0x038d74ab, 0x009fcc9d, 0x01fb6d3d, 0x01395183, 0x017aa1ad, 0x029c409d, 0x032bc4e7, 0x01c59b0d, 0x02503362, 0x0015d201}}}, + {X: Field{[10]uint32{0x01aa36da, 0x0041a165, 0x03e97491, 0x01346b1a, 0x0117c974, 0x01e9800b, 0x017f8a8a, 0x02af11fb, 0x02d2f423, 0x0031d85e}}, Y: Field{[10]uint32{0x03121d9d, 0x01fd95ed, 0x022e8d59, 0x03f281b2, 0x0269e330, 0x00cf1852, 0x027a9db8, 0x01b2b72f, 0x0367fba9, 0x00366412}}}, + {X: Field{[10]uint32{0x02487cdd, 0x019864a9, 0x028c8df5, 0x00862c93, 0x01474fdc, 0x00966a74, 0x0278b955, 0x03f85b03, 0x029d2396, 0x0029fbd3}}, Y: Field{[10]uint32{0x02f67f28, 0x01427bd6, 0x015c1f40, 0x03753dd9, 0x0323c1e4, 0x01bc8bcd, 0x003f7e68, 0x02f81263, 0x020491c6, 0x00359e09}}}, + {X: Field{[10]uint32{0x031e2578, 0x01ad0d9d, 0x00890eab, 0x00602789, 0x0271856d, 0x00246ecb, 0x00e420f4, 0x00d9d92b, 0x00467ff0, 0x003cef9e}}, Y: Field{[10]uint32{0x0236dbc5, 0x0198aec1, 0x03309434, 0x00e9a047, 0x010dc58f, 0x02c9fff0, 0x026966f6, 0x03cf959e, 0x025745cb, 0x003cc09d}}}, + {X: Field{[10]uint32{0x02f0259c, 0x00fdd54d, 0x0347094d, 0x00a9385c, 0x016c8d9e, 0x03afd3cd, 0x0214c303, 0x0338a414, 0x03955bd9, 0x0017251f}}, Y: Field{[10]uint32{0x035e76cc, 0x02d729ed, 0x039c468f, 0x0235a3bc, 0x0190a81d, 0x015e2893, 0x01fdf498, 0x014a8f4b, 0x03753e75, 0x002daded}}}, + {X: Field{[10]uint32{0x018b2c68, 0x033d02ef, 0x00c134e4, 0x02274410, 0x002c54c1, 0x0309681d, 0x01b87028, 0x01cd789e, 0x0160c3b1, 0x0008dbf6}}, Y: Field{[10]uint32{0x01bbc279, 0x02b0e416, 0x01181873, 0x02fad097, 0x01b44bac, 0x01e69db3, 0x019360eb, 0x03063743, 0x03f7c0ba, 0x0026ad66}}}, + {X: Field{[10]uint32{0x01947b31, 0x0184ecec, 0x00d99cd7, 0x03ff2a2c, 0x02c1a9e9, 0x02e7624c, 0x01d02438, 0x038bdd96, 0x032617cc, 0x00324b27}}, Y: Field{[10]uint32{0x02357a51, 0x03f826d4, 0x0150b725, 0x037c54e7, 0x02e4804d, 0x006b38ac, 0x02707695, 0x0193ad97, 0x014c1a5e, 0x002af7aa}}}, + {X: Field{[10]uint32{0x01a94fc0, 0x0068509b, 0x03bd28bd, 0x03a02f07, 0x02733c2a, 0x0348b0c5, 0x0383a124, 0x018230cd, 0x03c9142c, 0x00261821}}, Y: Field{[10]uint32{0x0342a1cd, 0x01844fea, 0x0068d3fa, 0x0373ac9b, 0x038f5bad, 0x01158b37, 0x0282c650, 0x02d475af, 0x03f5fd76, 0x00052496}}}, + {X: Field{[10]uint32{0x008a1d43, 0x01e18869, 0x021bf914, 0x024e0ed0, 0x0222424e, 0x00d5942d, 0x0244e21f, 0x02eab5f1, 0x0374f4f6, 0x00119687}}, Y: Field{[10]uint32{0x0388cb48, 0x03fa48f1, 0x031579f2, 0x01ee0c91, 0x03d41c14, 0x036c0554, 0x02698d57, 0x00c2f7b9, 0x01e41794, 0x0009b69c}}}, + {X: Field{[10]uint32{0x009796b4, 0x033b9bd7, 0x00a00785, 0x03645643, 0x03c7aa2e, 0x002d1ab6, 0x033c88bd, 0x005f113f, 0x00cdf281, 0x00375d96}}, Y: Field{[10]uint32{0x03cc43be, 0x01ecd033, 0x00f37c1c, 0x0303ddf7, 0x039a9b8a, 0x0391749f, 0x034935a8, 0x03a65c29, 0x000d1e10, 0x000c8c5f}}}, + {X: Field{[10]uint32{0x03c72033, 0x033ae1d5, 0x02d09715, 0x022f766b, 0x006222af, 0x0097d4bf, 0x0148b177, 0x03127ad1, 0x02bfa803, 0x00156f4a}}, Y: Field{[10]uint32{0x013ebf43, 0x037f214f, 0x00e3553a, 0x02e10559, 0x0096b991, 0x0373ca95, 0x03c603b8, 0x0112ceaf, 0x03b39d73, 0x000d2b4c}}}, + {X: Field{[10]uint32{0x0012fcde, 0x0322297b, 0x03c36db0, 0x01d90627, 0x00440068, 0x0056c787, 0x01616d30, 0x0089b232, 0x0006d10c, 0x001def97}}, Y: Field{[10]uint32{0x029ba01b, 0x03f67810, 0x037f6ec8, 0x017b6597, 0x0020e8b5, 0x000d86e7, 0x0327ae1b, 0x01252623, 0x03ca5c47, 0x00333cb2}}}, + {X: Field{[10]uint32{0x012ab21c, 0x02dabcbd, 0x0161830d, 0x03bb52ed, 0x0180b890, 0x03a9f6f7, 0x0060b19b, 0x03c987c1, 0x00863eb6, 0x003eadc9}}, Y: Field{[10]uint32{0x0076d0b0, 0x00bdd322, 0x025c15d2, 0x03ebea76, 0x00b67f6a, 0x0276039a, 0x01174ed9, 0x00b8baaa, 0x003a408a, 0x0002453c}}}, + {X: Field{[10]uint32{0x020b2f66, 0x02e0208a, 0x005a109d, 0x017573c4, 0x02510db6, 0x039e0c52, 0x02671f8d, 0x022e1942, 0x0039fafe, 0x0008ca88}}, Y: Field{[10]uint32{0x0178576a, 0x03cfb0ab, 0x02218d95, 0x0389934b, 0x033be3a6, 0x0085bb04, 0x03b9f6ee, 0x03078d4c, 0x0082510b, 0x0005329c}}}, + {X: Field{[10]uint32{0x037f58e7, 0x00e41506, 0x00cfc64e, 0x028a252a, 0x01deee9f, 0x023c4f9a, 0x01847526, 0x013fde81, 0x0039612a, 0x002cd20a}}, Y: Field{[10]uint32{0x0126ae44, 0x03edc757, 0x0193a3f2, 0x00919ac4, 0x01653b82, 0x01f16378, 0x034e9faf, 0x00096c3a, 0x02eddf30, 0x001c8b40}}}, + {X: Field{[10]uint32{0x02353210, 0x008e6596, 0x017b2858, 0x012889b7, 0x02cf6fd8, 0x024c89c4, 0x0310871a, 0x01d61f2a, 0x02570b0a, 0x0034e1ce}}, Y: Field{[10]uint32{0x0160f186, 0x01789fd4, 0x011d660e, 0x003327f0, 0x01f1f45d, 0x01578cd4, 0x03f95b1c, 0x039c1b37, 0x018459c7, 0x000edf92}}}, + {X: Field{[10]uint32{0x022c20ad, 0x02cb6e85, 0x03281cc9, 0x030c9b72, 0x0226a049, 0x011f029e, 0x01289a71, 0x02caddc7, 0x008ceeeb, 0x00220a1e}}, Y: Field{[10]uint32{0x007b71a7, 0x0197d230, 0x0364cc8c, 0x00b77928, 0x025da2fa, 0x0125c709, 0x0398922b, 0x017c88f5, 0x01958742, 0x00390a28}}}, + {X: Field{[10]uint32{0x027e537d, 0x002cfd3a, 0x0280a37f, 0x02d3a9d5, 0x0052f8db, 0x024fe85d, 0x0186c189, 0x030035d2, 0x013126d0, 0x001e7fb9}}, Y: Field{[10]uint32{0x002cb5b6, 0x0005ea20, 0x035a4560, 0x02fa4f56, 0x01525ceb, 0x00eaceaf, 0x017b4a14, 0x03e652d3, 0x00713143, 0x003f7940}}}, + {X: Field{[10]uint32{0x02814e91, 0x03962a19, 0x01cbaac1, 0x0272fda6, 0x03367242, 0x000ead42, 0x00f3a8ce, 0x017de57c, 0x01f05a9f, 0x003d13ce}}, Y: Field{[10]uint32{0x019a1dd4, 0x02768c35, 0x030e3fc0, 0x01191ab1, 0x02ff75a2, 0x02aca2ee, 0x00a27afb, 0x004c0254, 0x01d1e4de, 0x002e5791}}}, + {X: Field{[10]uint32{0x00aa9abb, 0x009bb0a0, 0x02148504, 0x02fcf0be, 0x02da45af, 0x00cb3def, 0x01d7d788, 0x0326dee2, 0x0209baf9, 0x00044e38}}, Y: Field{[10]uint32{0x006a0d6e, 0x01f9267c, 0x02f88372, 0x005c259c, 0x03ac7d59, 0x0399fcba, 0x02285207, 0x02cabc3a, 0x016a3965, 0x000570a3}}}, + {X: Field{[10]uint32{0x00912c1e, 0x02e0fe4d, 0x02620472, 0x03c56bf0, 0x00dcd3d3, 0x02940c4c, 0x024685aa, 0x035e3183, 0x01421b98, 0x000a74fa}}, Y: Field{[10]uint32{0x02bf5825, 0x011729f4, 0x02ce1a6d, 0x019f222e, 0x01411c8c, 0x02df14ee, 0x01d46b6d, 0x0025a485, 0x00f84968, 0x00242945}}}, + {X: Field{[10]uint32{0x00ff3eb8, 0x025a7021, 0x020c7e90, 0x022294fe, 0x01d6efeb, 0x034b51c2, 0x00c18d7c, 0x00cf813c, 0x02945fdd, 0x002a28da}}, Y: Field{[10]uint32{0x016ab564, 0x025abd7d, 0x002a9bb5, 0x03351e7c, 0x0223db1f, 0x033b872b, 0x02aedbe1, 0x0335c009, 0x0105edbf, 0x000775fe}}}, + {X: Field{[10]uint32{0x02981eff, 0x0030849a, 0x03fd5367, 0x032a0498, 0x003c35f2, 0x00f9e81b, 0x02ab4f0c, 0x02513e43, 0x02ceb3fa, 0x00168123}}, Y: Field{[10]uint32{0x03c886ff, 0x035b52ed, 0x019b24b3, 0x0015a486, 0x008e330d, 0x03a201df, 0x03caf7b5, 0x03b59754, 0x03aeb70f, 0x000493c6}}}, + {X: Field{[10]uint32{0x0132b8ba, 0x0204a23a, 0x031583dc, 0x03b35ca5, 0x00fd1eb4, 0x01917eb1, 0x01ee579c, 0x02f0bd99, 0x02820c5e, 0x000c81c0}}, Y: Field{[10]uint32{0x01bdaa17, 0x036b7ca1, 0x03d55b86, 0x026a00f2, 0x03c17eda, 0x022109c1, 0x03b11ee0, 0x0101fb6b, 0x022d0d68, 0x0023da59}}}, + {X: Field{[10]uint32{0x03afe787, 0x01e91f95, 0x01786db7, 0x024c9e86, 0x02c78105, 0x0202927f, 0x0188a7b0, 0x034fc6ee, 0x025bfb04, 0x001f08a1}}, Y: Field{[10]uint32{0x0036bd3b, 0x03c1b874, 0x00d53097, 0x01c9839c, 0x03d0830b, 0x00e7c672, 0x01997344, 0x02675f55, 0x026e30f5, 0x00280bac}}}, + {X: Field{[10]uint32{0x039385cc, 0x0384f2c2, 0x033a422d, 0x01682abc, 0x01fd842e, 0x00f730d9, 0x02c8269a, 0x02094b01, 0x001330ad, 0x00282e93}}, Y: Field{[10]uint32{0x02239bc8, 0x00a4397f, 0x00960c13, 0x00511d5a, 0x00940fdb, 0x01dee7a1, 0x036d2ce2, 0x02efdfce, 0x03135cfd, 0x00163b2a}}}, + {X: Field{[10]uint32{0x00f76309, 0x007b08d1, 0x038194e3, 0x0121c399, 0x03007be4, 0x00b8b033, 0x03e47a41, 0x02e97723, 0x0042c8a2, 0x0010ab98}}, Y: Field{[10]uint32{0x02a1542e, 0x03c826f7, 0x02c3ce19, 0x008f2f25, 0x0336ea3a, 0x00f19119, 0x010a6e75, 0x022fc888, 0x01ac7ba3, 0x001cab5a}}}, + {X: Field{[10]uint32{0x007b2a19, 0x000b56c2, 0x01e7c6e8, 0x00323f04, 0x01d8f35f, 0x01c081ce, 0x025d82f4, 0x01e8b8fa, 0x00b64550, 0x0023ceba}}, Y: Field{[10]uint32{0x025b4cfe, 0x034ae03b, 0x036a50d1, 0x009f4fe6, 0x03604259, 0x02e6c51c, 0x003420ef, 0x03b5506e, 0x02353028, 0x00186ee3}}}, + {X: Field{[10]uint32{0x005df32f, 0x006d0dec, 0x004c00d9, 0x00498ab9, 0x00a7ba1e, 0x00254f9b, 0x024fb4f3, 0x00648283, 0x024b1e15, 0x000ea12e}}, Y: Field{[10]uint32{0x013e20c0, 0x02eb679f, 0x02ce7d3c, 0x03af3771, 0x0332c44e, 0x02438743, 0x023abe9c, 0x017c51ec, 0x01794352, 0x002c83d9}}}, + {X: Field{[10]uint32{0x03316210, 0x017f6239, 0x005b62d2, 0x0204af05, 0x017b87d1, 0x03918b9f, 0x00c102bd, 0x02940cfb, 0x026c0b04, 0x0019207f}}, Y: Field{[10]uint32{0x0364560d, 0x039709e3, 0x01075b26, 0x003abbcc, 0x03d4e88b, 0x00232461, 0x036538b8, 0x00ab4245, 0x00abf5f3, 0x002f306d}}}, + {X: Field{[10]uint32{0x0151a094, 0x004c1935, 0x02f4d1ff, 0x032b2b02, 0x038e4bd1, 0x03dceccf, 0x01cd3651, 0x0160febe, 0x0174722c, 0x00014d00}}, Y: Field{[10]uint32{0x01a66a8e, 0x02f88840, 0x00a41a3b, 0x016ebafe, 0x01d9e465, 0x021742a5, 0x0035180f, 0x0185b439, 0x0135448a, 0x00392408}}}, + {X: Field{[10]uint32{0x022867cc, 0x003e1493, 0x0349bb35, 0x029e4372, 0x016c9ee2, 0x015ef0cb, 0x024e08bd, 0x017135b0, 0x02aea582, 0x00301a4f}}, Y: Field{[10]uint32{0x03b9a05e, 0x0217618c, 0x00a0462c, 0x022bbf83, 0x01f4f617, 0x032e3ed5, 0x006c601b, 0x01047817, 0x034b7627, 0x0036883e}}}, + {X: Field{[10]uint32{0x00fa0d9d, 0x02dba4cf, 0x0335ca91, 0x006a0d59, 0x01e63e58, 0x02862608, 0x03f9200c, 0x00140b45, 0x037372fd, 0x00314743}}, Y: Field{[10]uint32{0x02352655, 0x02b5308b, 0x03413b3b, 0x01f4f1be, 0x03a2797a, 0x013ae5e6, 0x03ff1345, 0x01fb74b3, 0x02b207ed, 0x00234439}}}, + {X: Field{[10]uint32{0x02c3290c, 0x005837ef, 0x0059dbe3, 0x023b674b, 0x03366600, 0x022d4ab4, 0x02f79f85, 0x0266b8b6, 0x00564d2d, 0x0005a046}}, Y: Field{[10]uint32{0x012e7460, 0x03ddee8a, 0x0202d1ad, 0x0128f021, 0x033e9cc8, 0x0148b342, 0x01dbac34, 0x01e123a0, 0x01a14561, 0x000afafc}}}, + {X: Field{[10]uint32{0x000afeb5, 0x0125d21f, 0x01a0920a, 0x02695e0d, 0x030b1599, 0x01952a9b, 0x00e16225, 0x021496cb, 0x0133e143, 0x001eba52}}, Y: Field{[10]uint32{0x019b95f5, 0x00bd3d6f, 0x0390195a, 0x02dbd10f, 0x01a13b87, 0x038ccc6f, 0x00282a51, 0x0191684e, 0x0237830a, 0x0024644b}}}, + {X: Field{[10]uint32{0x0019d4ac, 0x0166684c, 0x0036b179, 0x02c156cb, 0x02c27709, 0x00b46fc2, 0x014c5f6c, 0x01daac90, 0x0197d02b, 0x0039de4b}}, Y: Field{[10]uint32{0x013f2b52, 0x02e6383b, 0x02e8d16f, 0x00528a05, 0x01dd2746, 0x01755b30, 0x00c75a0d, 0x02c5e6e6, 0x02895fce, 0x0027d365}}}, + {X: Field{[10]uint32{0x0247bde1, 0x0278d34c, 0x004f769d, 0x001bba9b, 0x003d97d7, 0x02b1e514, 0x00ff64f4, 0x0358fc93, 0x01d4946f, 0x0000bfee}}, Y: Field{[10]uint32{0x0381014f, 0x0095edfa, 0x03a9ff32, 0x00c955db, 0x02cff188, 0x038d823a, 0x016907a6, 0x0054c4af, 0x00743488, 0x00019ac7}}}, + {X: Field{[10]uint32{0x00bb2fbe, 0x01722c7b, 0x00ea3c16, 0x02e84b80, 0x01aeb6f4, 0x012b9cd4, 0x012aafab, 0x03bac450, 0x0232f90c, 0x0011512e}}, Y: Field{[10]uint32{0x038f6736, 0x0221f2e7, 0x017b3948, 0x022e0d1e, 0x002bba53, 0x000b6eff, 0x039ede9b, 0x033ba2fe, 0x03b4c2a5, 0x0018bef5}}}, + {X: Field{[10]uint32{0x0118980f, 0x0278f99e, 0x0137a1b0, 0x039e2093, 0x025d981c, 0x02319ed7, 0x02b156dd, 0x03fe89d7, 0x01b925d9, 0x000942c0}}, Y: Field{[10]uint32{0x0209c481, 0x03ae074f, 0x000ff261, 0x0185010b, 0x03eb1851, 0x01d98967, 0x032bcbe6, 0x036a1b94, 0x024a32f0, 0x002e8764}}}, + {X: Field{[10]uint32{0x02beb4d2, 0x0387fb82, 0x030f5ecb, 0x004e4078, 0x0262e0b8, 0x00ba58bb, 0x00468073, 0x017f71cc, 0x02541f2a, 0x00273cc3}}, Y: Field{[10]uint32{0x01510723, 0x035528ed, 0x00741c6b, 0x03ad959f, 0x02848259, 0x02aa3fd8, 0x0201d14b, 0x02ddec65, 0x02cd1281, 0x001f2c91}}}, + {X: Field{[10]uint32{0x02285a2c, 0x005ec695, 0x01c03cd2, 0x03293c47, 0x01b5a90e, 0x0254213b, 0x013be124, 0x0287823e, 0x00b13c61, 0x003b727a}}, Y: Field{[10]uint32{0x021e1f3d, 0x03e67f98, 0x01fda5e9, 0x02168bf7, 0x01b0e8df, 0x02320198, 0x0143b1b5, 0x03eb1d3f, 0x012107e8, 0x0019b0bf}}}, + {X: Field{[10]uint32{0x01e2c66e, 0x020b1c3c, 0x036b6970, 0x000acf76, 0x02cae9d0, 0x009ee06e, 0x02a41649, 0x029260aa, 0x015f8388, 0x0037650a}}, Y: Field{[10]uint32{0x00d6706b, 0x03af0602, 0x00f4bfd3, 0x02c920b6, 0x033b08c2, 0x007eb20f, 0x00d9e8cb, 0x0307aa6f, 0x020cd409, 0x0020e301}}}, + {X: Field{[10]uint32{0x0285ab7e, 0x01d14d41, 0x0087692f, 0x037742b1, 0x0296e96d, 0x02ff1cd3, 0x000d3b35, 0x02f92397, 0x0204dfc0, 0x001f81a3}}, Y: Field{[10]uint32{0x02c70d0a, 0x02100793, 0x036462c8, 0x0021e620, 0x0369351e, 0x024fc52f, 0x00052e60, 0x00972341, 0x014690d2, 0x0037cb34}}}, + {X: Field{[10]uint32{0x009a5052, 0x010fce65, 0x0217a21f, 0x01cdf7b0, 0x00b7c2a0, 0x01b10e68, 0x02e659f7, 0x02b26c11, 0x03cfd10a, 0x001cea6f}}, Y: Field{[10]uint32{0x03be10dd, 0x01092a6c, 0x00ec24a1, 0x03da46a7, 0x03bf379d, 0x023e1b2f, 0x002062c0, 0x02c1481a, 0x01293ea7, 0x001cee45}}}, + {X: Field{[10]uint32{0x0008c55b, 0x0211fb35, 0x0205adaa, 0x012fda6f, 0x0055cc22, 0x0216026f, 0x0234678d, 0x031d539b, 0x03840c8c, 0x003bf77f}}, Y: Field{[10]uint32{0x02f188d5, 0x01b75b70, 0x013fc173, 0x0228ed9c, 0x008aac21, 0x03116d2b, 0x026ed7e0, 0x02aacbbf, 0x03418264, 0x00197763}}}, + {X: Field{[10]uint32{0x03d73f4b, 0x015a23af, 0x03585756, 0x016c5c69, 0x01dc264f, 0x010e1b76, 0x023d6dfa, 0x00e13634, 0x01857118, 0x0011aa51}}, Y: Field{[10]uint32{0x01aaf35c, 0x03004699, 0x02a6d256, 0x03a3a37c, 0x031e684e, 0x0239fd85, 0x03f16cb3, 0x03063d36, 0x037ea298, 0x000f796b}}}, + {X: Field{[10]uint32{0x0021cd3f, 0x03a91fce, 0x0193b910, 0x02326b5b, 0x0045dd0c, 0x038582a5, 0x02fa17bb, 0x03099752, 0x01b27ce3, 0x001a243b}}, Y: Field{[10]uint32{0x03cbd1ab, 0x008103dd, 0x03852dd2, 0x03abad9e, 0x037c24be, 0x02a200aa, 0x00810a7c, 0x01525336, 0x005b10ef, 0x00183d1f}}}, + {X: Field{[10]uint32{0x0205f5ae, 0x02d12d0a, 0x0288d952, 0x03087d55, 0x01e33e68, 0x01e89470, 0x02c4b328, 0x0221aa07, 0x02b6340b, 0x00023327}}, Y: Field{[10]uint32{0x007fb6eb, 0x022fc08c, 0x01c95507, 0x01c05432, 0x01f03238, 0x02f11d6e, 0x011981a3, 0x020a4224, 0x030d90e3, 0x0026c5da}}}, + {X: Field{[10]uint32{0x015b0475, 0x007f8a92, 0x00e0b0fd, 0x03809b25, 0x01227875, 0x025b3785, 0x0001ccae, 0x03782d60, 0x035ada48, 0x000ac18b}}, Y: Field{[10]uint32{0x031eab0d, 0x00d4e40b, 0x0280548b, 0x02523bfd, 0x02da9de9, 0x02fc5c9d, 0x0097bad4, 0x01c31420, 0x00683d51, 0x0014dfc7}}}, + {X: Field{[10]uint32{0x037240f9, 0x01ea2fae, 0x0008252d, 0x037c9fcc, 0x01cd358b, 0x0093a48c, 0x032ff7f2, 0x0354fd0c, 0x011a84b3, 0x0037556e}}, Y: Field{[10]uint32{0x012a5c94, 0x02064206, 0x0158bff6, 0x01ce8eb0, 0x01774d21, 0x037bbe5a, 0x03376094, 0x0194c3b5, 0x0208a40b, 0x00039bc6}}}, + {X: Field{[10]uint32{0x02c59c70, 0x032592bc, 0x01e7516f, 0x02035c54, 0x008986fd, 0x01e0bb8b, 0x000cdb1c, 0x02a5e51b, 0x03e040b1, 0x002b1449}}, Y: Field{[10]uint32{0x03ae5db9, 0x017a806d, 0x038e2476, 0x025e202b, 0x038afbb0, 0x01d9164f, 0x020a82e1, 0x0014e776, 0x0249323d, 0x00212788}}}, + {X: Field{[10]uint32{0x01311123, 0x0084b06d, 0x034bff72, 0x008c54c5, 0x039d1364, 0x038776b9, 0x004e9ce1, 0x033a68de, 0x02daf0b6, 0x0037cbcb}}, Y: Field{[10]uint32{0x006d46a5, 0x031d7dba, 0x027bedba, 0x01105880, 0x02fde6ab, 0x01991009, 0x02da64f4, 0x02f080c5, 0x038ebd78, 0x002e7663}}}, + {X: Field{[10]uint32{0x0373e5f9, 0x03e4f5e8, 0x0002773f, 0x03d0fec2, 0x0097bdc5, 0x00844d84, 0x0385e216, 0x0305d88e, 0x0387d630, 0x003f60ec}}, Y: Field{[10]uint32{0x036cd2ee, 0x019c2daa, 0x00837d3c, 0x02f0e10e, 0x01115805, 0x0303f772, 0x03503d40, 0x00d69675, 0x027d375f, 0x0026a58a}}}, + {X: Field{[10]uint32{0x02cac4df, 0x03ae384c, 0x00c9505f, 0x0079081b, 0x00d565ca, 0x028ffaaa, 0x02ad443b, 0x0322b22f, 0x03c1155e, 0x00363ef7}}, Y: Field{[10]uint32{0x011f73ac, 0x02697a9d, 0x03abc9cb, 0x03587e58, 0x027fb1fc, 0x03afdd90, 0x01258edf, 0x0272d1ce, 0x000fccb9, 0x003e514f}}}, + {X: Field{[10]uint32{0x03bf86d6, 0x00443037, 0x010ddc89, 0x01cae08d, 0x0285f008, 0x01aabcf5, 0x03093891, 0x03a3006c, 0x009a20a3, 0x0027f25d}}, Y: Field{[10]uint32{0x023e19df, 0x0129e661, 0x02379109, 0x02eb9d69, 0x0075c85c, 0x0023c3c6, 0x033bca70, 0x02b1655d, 0x01a76c92, 0x0028bd9e}}}, + {X: Field{[10]uint32{0x03476a3f, 0x032057cb, 0x00f62b58, 0x024b4dca, 0x0365b810, 0x038865ae, 0x02bcf252, 0x0073a6f6, 0x034671a9, 0x000a7838}}, Y: Field{[10]uint32{0x00d0c0e6, 0x02f5a635, 0x039d4174, 0x002aad0b, 0x011ce5ad, 0x0319ac98, 0x00a35fb9, 0x002b91e6, 0x0061b82e, 0x000bd103}}}, + {X: Field{[10]uint32{0x02e102d7, 0x01ad4642, 0x0278f873, 0x002ea1bb, 0x007fbee7, 0x0330f7ee, 0x03e6f929, 0x015683c9, 0x02153989, 0x003901a2}}, Y: Field{[10]uint32{0x03165086, 0x0279a623, 0x014e77d6, 0x010c1d1f, 0x0016b911, 0x012a68d4, 0x01999438, 0x0272dabb, 0x02ad550f, 0x0028fcbc}}}, + {X: Field{[10]uint32{0x026c9f2c, 0x01080a1c, 0x0109248a, 0x01934f55, 0x0010f163, 0x0132065e, 0x03156c8a, 0x0366262e, 0x0210bb1b, 0x00146d17}}, Y: Field{[10]uint32{0x03e141a2, 0x023256f8, 0x03f6bb47, 0x01452315, 0x008a1f1d, 0x00004330, 0x01ac4797, 0x03798ca0, 0x01d04225, 0x0038c1c6}}}, + {X: Field{[10]uint32{0x02a0b83e, 0x032fe96a, 0x005acf6f, 0x00bf5683, 0x0164dc49, 0x01b18ecf, 0x02ec2e60, 0x02dad7a4, 0x01297b8a, 0x00053357}}, Y: Field{[10]uint32{0x03666805, 0x00af5df8, 0x033279b7, 0x01c0a91a, 0x015be192, 0x02c71f63, 0x01ad1faf, 0x032198d2, 0x03d77cdc, 0x0016fcc1}}}, + {X: Field{[10]uint32{0x022c4da6, 0x03376d74, 0x0168f8c3, 0x037d067b, 0x0045e9f2, 0x027060a2, 0x02254cae, 0x03451b0c, 0x031149d6, 0x00296a29}}, Y: Field{[10]uint32{0x00bf6c2e, 0x002eeb4f, 0x012d549c, 0x0205e0cf, 0x00b003f4, 0x0158e6fc, 0x00ae6933, 0x034d16bd, 0x00877bc3, 0x0027d1f6}}}, + {X: Field{[10]uint32{0x039372cb, 0x01303107, 0x038f999a, 0x0394b31d, 0x01bda494, 0x00519893, 0x01b13ddd, 0x0108cb5d, 0x00d24baa, 0x000d64ca}}, Y: Field{[10]uint32{0x001af6d8, 0x0206b3c9, 0x03050a78, 0x01f5923d, 0x03b6695d, 0x0323da02, 0x0084afe0, 0x00e67a64, 0x02b571df, 0x0034c555}}}, + {X: Field{[10]uint32{0x0273e7fd, 0x03e56f79, 0x005e891a, 0x0304349b, 0x00c8fdac, 0x02407b6c, 0x0268a12d, 0x0168b05c, 0x01ca4f2a, 0x00327ae0}}, Y: Field{[10]uint32{0x008adb66, 0x034a5092, 0x008df76e, 0x0394d558, 0x035acb73, 0x026fef5a, 0x01ae19cd, 0x03fa69c4, 0x012fc974, 0x001b5294}}}, + {X: Field{[10]uint32{0x02ca8e2c, 0x037979b0, 0x01f386cc, 0x00c093d0, 0x0248e557, 0x02d840b8, 0x00c9f90e, 0x02cc22b1, 0x01f816f3, 0x0038998c}}, Y: Field{[10]uint32{0x039306bd, 0x011857fa, 0x0224858a, 0x00502f56, 0x0396cfb8, 0x00146094, 0x01e2f102, 0x03b34059, 0x02a8823a, 0x0005b82c}}}, + {X: Field{[10]uint32{0x019110ba, 0x020d57fe, 0x029658db, 0x03e68ec2, 0x02677e5a, 0x01a711cc, 0x0007b242, 0x039f941e, 0x02f365c0, 0x003ddba6}}, Y: Field{[10]uint32{0x012a9407, 0x032c04ef, 0x021028a0, 0x018a5ab6, 0x019d174c, 0x0217e759, 0x02f25423, 0x00593af6, 0x0039d26f, 0x002032fd}}}, + {X: Field{[10]uint32{0x012c5dd9, 0x03d89c21, 0x03421e65, 0x01521079, 0x00bc333d, 0x02a23f38, 0x01d6ab69, 0x00520ca5, 0x005baf89, 0x00373205}}, Y: Field{[10]uint32{0x031e2a19, 0x031866bc, 0x01480cca, 0x03360362, 0x00296155, 0x000d8eec, 0x00d6cd16, 0x039ea6d0, 0x0370a620, 0x0033b6cd}}}, + {X: Field{[10]uint32{0x0203e4fd, 0x00feb4f1, 0x03847ed3, 0x010107b6, 0x007660bc, 0x02ba4c06, 0x02a199ec, 0x01343e95, 0x013a6a1c, 0x001d9178}}, Y: Field{[10]uint32{0x0291e713, 0x01308b2f, 0x002ee186, 0x014ec8b1, 0x02bcfc53, 0x036a2434, 0x01eccbb5, 0x03975449, 0x011b7990, 0x001f23a9}}}, + {X: Field{[10]uint32{0x022f3f25, 0x00acc627, 0x00fb4422, 0x01751788, 0x01465822, 0x00706daf, 0x027210d5, 0x02f3bebf, 0x006ed74c, 0x002e89a2}}, Y: Field{[10]uint32{0x02b3409d, 0x01436e28, 0x02893bdf, 0x009dcd67, 0x01e0b896, 0x02ee8c9b, 0x025fa64a, 0x02b7ba79, 0x01b223dd, 0x003f6217}}}, + {X: Field{[10]uint32{0x01050fe1, 0x03486946, 0x02c92299, 0x023579e4, 0x000fc657, 0x029497a0, 0x01bda654, 0x016c7640, 0x00e13100, 0x001a2d40}}, Y: Field{[10]uint32{0x0312f96b, 0x001757da, 0x0202207e, 0x009e0f80, 0x008df9b1, 0x01f6951a, 0x01ac8e87, 0x012a53cf, 0x017ab354, 0x001c7bdf}}}, + {X: Field{[10]uint32{0x027996ff, 0x03a9d6b6, 0x01064b84, 0x03265029, 0x035b19f7, 0x00b1be81, 0x03f851f1, 0x02a0f09f, 0x03e2613f, 0x000b3329}}, Y: Field{[10]uint32{0x03d7707f, 0x02b83cc9, 0x005703c6, 0x023c2fb5, 0x03cf37af, 0x03164e42, 0x01b2d2f0, 0x006b4343, 0x022222dd, 0x0016adc2}}}, + {X: Field{[10]uint32{0x03179f14, 0x03d369bd, 0x033c1827, 0x03013573, 0x00383ad9, 0x032db729, 0x01af7183, 0x0291686d, 0x012d6a56, 0x001b5e5f}}, Y: Field{[10]uint32{0x000edf3f, 0x0189547a, 0x02ea67b1, 0x0078568e, 0x03b80e54, 0x035bd6a2, 0x0284bee7, 0x03463667, 0x00e5d203, 0x0002ab8d}}}, + {X: Field{[10]uint32{0x018ee327, 0x001665ba, 0x027b5116, 0x0160157d, 0x009a565a, 0x025a94f9, 0x013751ad, 0x01dac655, 0x03c437be, 0x002a9a65}}, Y: Field{[10]uint32{0x00684835, 0x0030cf03, 0x034cb3cc, 0x01de87d3, 0x036532e2, 0x038bd7c6, 0x018a15b2, 0x0103825a, 0x00219cdb, 0x00180d29}}}, + {X: Field{[10]uint32{0x022a0f48, 0x00316fae, 0x02dead01, 0x02137006, 0x0201e624, 0x02c3e25f, 0x005d53a7, 0x0075c28d, 0x03bffb8e, 0x0015b103}}, Y: Field{[10]uint32{0x02f0bd01, 0x032daa91, 0x01f4c458, 0x01e1f8a6, 0x01676a4a, 0x01cf632a, 0x03a0e091, 0x024a409e, 0x0389078b, 0x003a7419}}}, + {X: Field{[10]uint32{0x03918d89, 0x0240f545, 0x010731d2, 0x00dca94d, 0x01b6e1e2, 0x02d4b0f7, 0x0262be08, 0x03b5ef70, 0x02a83963, 0x0036dbfd}}, Y: Field{[10]uint32{0x01951769, 0x02dc461f, 0x03bdc162, 0x019435d5, 0x030e248d, 0x00513283, 0x02f6b18c, 0x03f512d0, 0x02fa0f30, 0x00290044}}}, + {X: Field{[10]uint32{0x03402c6d, 0x03286018, 0x01de4151, 0x01cdd539, 0x03dcdd11, 0x02950c04, 0x00e730d4, 0x018f88ce, 0x0301a46f, 0x00237d55}}, Y: Field{[10]uint32{0x03a1c3df, 0x0344b755, 0x02a93b9d, 0x0196f227, 0x02b3e696, 0x0122efd8, 0x016ddafb, 0x00ffc04e, 0x009a64b6, 0x001933e7}}}, + {X: Field{[10]uint32{0x030588a1, 0x03d22806, 0x00af37be, 0x033b7896, 0x0166485c, 0x01775791, 0x03ae460e, 0x023d5d01, 0x002c5101, 0x0027442f}}, Y: Field{[10]uint32{0x00922c04, 0x0324e261, 0x02ac2fcb, 0x00baba83, 0x01726b30, 0x000f7fae, 0x01ebe44e, 0x0385c5fb, 0x0008b2a4, 0x000e3a8f}}}, + {X: Field{[10]uint32{0x03640367, 0x02e601cd, 0x03e662e4, 0x01ec3f39, 0x02056025, 0x0080581b, 0x027a7068, 0x029e1cb2, 0x0075cc07, 0x0004eef2}}, Y: Field{[10]uint32{0x00c2c708, 0x011d2c70, 0x007697fe, 0x02bf5bd5, 0x02d2ea3d, 0x02abc6c7, 0x00a19acb, 0x00a99b63, 0x031a47c8, 0x002d3365}}}, + {X: Field{[10]uint32{0x02a9c3e1, 0x03273257, 0x02b1e24e, 0x028c4f24, 0x011857d9, 0x00369b72, 0x0147630d, 0x02c5d372, 0x0037f617, 0x0023c9b7}}, Y: Field{[10]uint32{0x033f15ef, 0x03ddb839, 0x0375bd5c, 0x03f0554c, 0x00f887f2, 0x01646b11, 0x00238776, 0x02fc9d39, 0x03031d96, 0x000e1228}}}, + {X: Field{[10]uint32{0x007b5f21, 0x0295e693, 0x01041ad3, 0x026c4419, 0x03a23e0d, 0x01836f84, 0x015236f6, 0x0245bd79, 0x003df290, 0x000b8795}}, Y: Field{[10]uint32{0x01473846, 0x002b4bed, 0x02d28ff1, 0x020ca3f8, 0x03947bc0, 0x00610d2d, 0x00cd9f32, 0x00176b04, 0x0127626e, 0x00221691}}}, + {X: Field{[10]uint32{0x023f3109, 0x02020b3b, 0x0385a123, 0x0143a31e, 0x018bed8f, 0x00fada6d, 0x0076936e, 0x027aa2ee, 0x00a3e050, 0x00320f0b}}, Y: Field{[10]uint32{0x029cd5ed, 0x01f0cc4c, 0x00c0e3b0, 0x01d54c07, 0x0074b75e, 0x00276955, 0x030da10d, 0x02378ac2, 0x02a9bc80, 0x000ae580}}}, + {X: Field{[10]uint32{0x03d29607, 0x0347eaf4, 0x02700578, 0x00724181, 0x01afee8b, 0x038e14c4, 0x024111ae, 0x005394c9, 0x03b4e2c1, 0x00231e40}}, Y: Field{[10]uint32{0x01025731, 0x011cddbc, 0x01b2528d, 0x000620a6, 0x00b488c4, 0x00a8d0fa, 0x02ebea9a, 0x03e53407, 0x02d1964d, 0x003740b6}}}, + {X: Field{[10]uint32{0x02569cc0, 0x029a0769, 0x009bda38, 0x02199532, 0x01b51857, 0x00707ae1, 0x00adfc6c, 0x01d732cc, 0x0054dd75, 0x0012098f}}, Y: Field{[10]uint32{0x0213167f, 0x037ee204, 0x03955dda, 0x017d572d, 0x02e223ac, 0x00964dba, 0x0198e49a, 0x02d4a03b, 0x03bddacd, 0x0039bc41}}}, + {X: Field{[10]uint32{0x02f0d2d3, 0x02c95185, 0x0227495f, 0x009f153b, 0x00accb71, 0x00f35766, 0x018644c6, 0x007d61e4, 0x010aea7d, 0x001a9f01}}, Y: Field{[10]uint32{0x0021e232, 0x01c95bb6, 0x0154628d, 0x020ed2ec, 0x02f80f73, 0x00226c32, 0x03f733dc, 0x0191b8d2, 0x026127a2, 0x003eb464}}}, + {X: Field{[10]uint32{0x035c3ea8, 0x0168661f, 0x01a3bf10, 0x02683331, 0x030ece87, 0x00c72c27, 0x01147dcc, 0x03080b7e, 0x013f62fb, 0x00387c29}}, Y: Field{[10]uint32{0x01706277, 0x02483c79, 0x01d8dcfe, 0x024bf8b9, 0x003968f6, 0x0100dde0, 0x03148489, 0x03a8c030, 0x010f0b0e, 0x000e4c28}}}, + {X: Field{[10]uint32{0x03182b7b, 0x00999d74, 0x0213b485, 0x0029b539, 0x02da9b6a, 0x02293219, 0x026efcae, 0x03296ff5, 0x0113cb0f, 0x002f03ec}}, Y: Field{[10]uint32{0x03090f31, 0x02871b2f, 0x0060131c, 0x01581d17, 0x0037892c, 0x00fb2c52, 0x0315f691, 0x03baef49, 0x025e6993, 0x0038479c}}}, + {X: Field{[10]uint32{0x0342f908, 0x02c0ca72, 0x034fe266, 0x0285d284, 0x030ee7e6, 0x027ab9ed, 0x03f9ebf8, 0x023d2192, 0x00f49c43, 0x0007f968}}, Y: Field{[10]uint32{0x0275f66c, 0x03584271, 0x0379b35a, 0x012b3a6d, 0x02069451, 0x03e9ed65, 0x033878bc, 0x0190724a, 0x01cef912, 0x0036e025}}}, + {X: Field{[10]uint32{0x02524cd4, 0x010c82aa, 0x00f6de43, 0x020cfcf2, 0x00ade6ea, 0x02afe94f, 0x02e61aae, 0x01c00be9, 0x01b49016, 0x001778ff}}, Y: Field{[10]uint32{0x007e08f0, 0x01615e45, 0x00535dc1, 0x028f57a6, 0x016d7e9c, 0x02346b0a, 0x004a1dd8, 0x035b3acd, 0x0288862a, 0x002d72f7}}}, + {X: Field{[10]uint32{0x023da54f, 0x02ff2f00, 0x020738ad, 0x00b78865, 0x02b2964f, 0x02529916, 0x02b0be62, 0x037f3d7b, 0x0193a913, 0x0024ec1a}}, Y: Field{[10]uint32{0x012ae0b8, 0x01285352, 0x0107c4d1, 0x03607a2d, 0x029c151a, 0x0328f1f8, 0x007330ef, 0x02dd1106, 0x002f856c, 0x001e0d9e}}}, + {X: Field{[10]uint32{0x02762f0c, 0x02de1823, 0x01851886, 0x026f8e05, 0x009c3336, 0x01ac1578, 0x005a044f, 0x001d079a, 0x000d27d9, 0x0001c15d}}, Y: Field{[10]uint32{0x033d956e, 0x01772645, 0x03c55d3f, 0x00c87eec, 0x00b2142b, 0x00a7c4ab, 0x013193b5, 0x011b1a7a, 0x03bb738d, 0x00312963}}}, + {X: Field{[10]uint32{0x0193e296, 0x00687847, 0x0086434a, 0x019d8410, 0x02e5b787, 0x0254c3c2, 0x00a20e19, 0x015499cd, 0x0000fc48, 0x001d8668}}, Y: Field{[10]uint32{0x006ebed6, 0x02fa1b41, 0x032014f8, 0x01d5dc80, 0x01ab26f6, 0x028b3ad6, 0x03a0afe0, 0x011e73db, 0x01e1182f, 0x001fcc03}}}, + {X: Field{[10]uint32{0x019ff2fe, 0x0150a296, 0x0060dbec, 0x02d8e139, 0x01cc0d54, 0x00a0504f, 0x01346fcd, 0x014805b3, 0x01a8ddbb, 0x003f883d}}, Y: Field{[10]uint32{0x002d879c, 0x02a4ae49, 0x02e0bae7, 0x01ead3b2, 0x01338cf4, 0x02655ec3, 0x02be551f, 0x0121c6bf, 0x02e6e260, 0x0016d222}}}, + {X: Field{[10]uint32{0x02ad11e2, 0x03878fd0, 0x00b84422, 0x00862ae2, 0x01707681, 0x00f1d47e, 0x0129e077, 0x014b3cb7, 0x0327ba7e, 0x002656e5}}, Y: Field{[10]uint32{0x037fd26e, 0x03d71b4b, 0x0391f42a, 0x0217e416, 0x0049c8d5, 0x00a6f62e, 0x02c5e5f5, 0x0051a313, 0x01c97ee4, 0x0030f277}}}, + {X: Field{[10]uint32{0x002b3136, 0x01f0909c, 0x02a16e26, 0x02836130, 0x01636d26, 0x01458648, 0x02913445, 0x0135f1e7, 0x024d2ca9, 0x0032d3cb}}, Y: Field{[10]uint32{0x003ddb9b, 0x021e77a0, 0x02e49bbb, 0x01c5e9a3, 0x031b9b2f, 0x03df8ae2, 0x000df480, 0x01039b3c, 0x02ee3949, 0x000857ad}}}, + {X: Field{[10]uint32{0x01fce397, 0x00b095ae, 0x00e6fc72, 0x02757869, 0x034572b6, 0x019a3ad9, 0x00b10707, 0x024512eb, 0x025634b4, 0x0032828a}}, Y: Field{[10]uint32{0x03f4841b, 0x023ae0b4, 0x01ebfe95, 0x029c2f6d, 0x036e2562, 0x01ab69e9, 0x0098c855, 0x00beee94, 0x00c974ab, 0x002481e7}}}, + {X: Field{[10]uint32{0x03af7c7b, 0x01ae48b8, 0x00246acd, 0x02259ed3, 0x02bfadde, 0x013bc58e, 0x02f27a02, 0x0302bf5c, 0x032dc6c0, 0x003ee08c}}, Y: Field{[10]uint32{0x0134c7ee, 0x0315032a, 0x030c660d, 0x02646733, 0x032b90d3, 0x038b12c6, 0x00beaa52, 0x02da40ce, 0x0119f21c, 0x00069a5c}}}, + {X: Field{[10]uint32{0x00513dd2, 0x03b10a97, 0x006736af, 0x02818f6d, 0x02d07550, 0x008062f5, 0x02184a4e, 0x0237bc83, 0x0205d925, 0x003415bb}}, Y: Field{[10]uint32{0x0015bffb, 0x0366632f, 0x0031c276, 0x03135a37, 0x0389ab0f, 0x0006b5c9, 0x027cfb62, 0x038d599f, 0x01d0d222, 0x0002bcb0}}}, + {X: Field{[10]uint32{0x02526f12, 0x028494d0, 0x007267ae, 0x004b360a, 0x01c63257, 0x02dde18d, 0x0046c594, 0x01098b10, 0x0222c658, 0x000feb6c}}, Y: Field{[10]uint32{0x0199ae96, 0x019adfb0, 0x02717586, 0x0387aae1, 0x03d181e0, 0x02875d2d, 0x00a7e8bf, 0x00474e13, 0x0007fa68, 0x00369723}}}, + {X: Field{[10]uint32{0x019c4b61, 0x01098ec7, 0x029248ab, 0x023bed9f, 0x03214b81, 0x0274f914, 0x01915dd3, 0x03943977, 0x0169e222, 0x00349eb2}}, Y: Field{[10]uint32{0x033a1c7f, 0x02529db2, 0x03f6f9b4, 0x016b6079, 0x0209a7c5, 0x02100c8d, 0x02709a32, 0x034c15b9, 0x0294baea, 0x0031215d}}}, + {X: Field{[10]uint32{0x02c565d4, 0x0103c05c, 0x02cbcd93, 0x00064686, 0x0399cd3a, 0x03ff5a7b, 0x03a4324b, 0x006b9a97, 0x01b48b98, 0x001048de}}, Y: Field{[10]uint32{0x00fa280e, 0x034fa1ff, 0x023abac9, 0x00ec9154, 0x03c75505, 0x02f9aad5, 0x02523e7e, 0x0393c0b2, 0x02c9c7db, 0x003c900d}}}, + {X: Field{[10]uint32{0x039336f1, 0x037ea8fd, 0x003eace9, 0x027ec849, 0x01bef790, 0x018f4029, 0x028cc3b6, 0x01304ee6, 0x02aa9937, 0x003608d3}}, Y: Field{[10]uint32{0x02755c27, 0x03e412db, 0x00e5cb1f, 0x03e47720, 0x001845d8, 0x00a4aeaf, 0x03c15930, 0x0197d9a8, 0x028ec4b4, 0x0002e32f}}}, + {X: Field{[10]uint32{0x01189009, 0x02ebca97, 0x03bbe47f, 0x00e8f61d, 0x00427d32, 0x03634f00, 0x000ea349, 0x03fe72eb, 0x033568c5, 0x00109be2}}, Y: Field{[10]uint32{0x0100586d, 0x010e672f, 0x03bfd7dc, 0x01fde214, 0x019931f5, 0x01f2e0ae, 0x03a1ba72, 0x00f1ee71, 0x013dce02, 0x0013808a}}}, + {X: Field{[10]uint32{0x0097dfa5, 0x009d8291, 0x036ccfe7, 0x01bb1e03, 0x01871757, 0x0272971e, 0x012a7fdc, 0x017cb090, 0x02f902ee, 0x003c71c1}}, Y: Field{[10]uint32{0x03b7e740, 0x0173eb0a, 0x004d59f8, 0x02575ae7, 0x009ef758, 0x006826e1, 0x01787005, 0x01570ece, 0x01a1727f, 0x00317868}}}, + {X: Field{[10]uint32{0x02c2c679, 0x03c61a4d, 0x00b67608, 0x00799d66, 0x03598200, 0x0094d5ad, 0x00d66825, 0x01661e5a, 0x007ecc1d, 0x002138b8}}, Y: Field{[10]uint32{0x0028555a, 0x01ce19b3, 0x03bb6281, 0x03dbd6d0, 0x012903f4, 0x01ff3ae9, 0x0275a8ab, 0x03b3732f, 0x03438ab5, 0x00106ac4}}}, + {X: Field{[10]uint32{0x02ad2b54, 0x0226d01d, 0x020689c6, 0x002fbc3d, 0x023d599b, 0x028633da, 0x02bb6993, 0x01608d12, 0x02c2fe53, 0x001e4d7b}}, Y: Field{[10]uint32{0x03371910, 0x033ef554, 0x01b406c4, 0x02b78f5d, 0x01b77480, 0x0393d721, 0x00ed574f, 0x022186db, 0x016aab97, 0x00338bf2}}}, + {X: Field{[10]uint32{0x00dbd9a0, 0x029a8c2c, 0x0383927a, 0x02250878, 0x013e8c26, 0x0368e802, 0x01abbef9, 0x01b55ade, 0x00a8319f, 0x003550a9}}, Y: Field{[10]uint32{0x038173e1, 0x01e6bb1e, 0x037a4f19, 0x00326161, 0x026badb7, 0x00654681, 0x019f3e9c, 0x0217aa3e, 0x016265d2, 0x00144128}}}, + {X: Field{[10]uint32{0x00ece2be, 0x009f6691, 0x0232fd3c, 0x02e49bec, 0x00041011, 0x000e049b, 0x02f0157a, 0x02624012, 0x02194228, 0x002f1a49}}, Y: Field{[10]uint32{0x0252f3bc, 0x00da71ff, 0x034f9847, 0x00bb6c97, 0x0311e202, 0x032e3bdd, 0x032e8543, 0x0298c24d, 0x00c147e2, 0x00238bc4}}}, + {X: Field{[10]uint32{0x018d8d03, 0x0086fd74, 0x03e51f45, 0x024257d0, 0x00ae079a, 0x0122ad94, 0x02cdd80b, 0x0230237a, 0x0336bb17, 0x003af86d}}, Y: Field{[10]uint32{0x01db7514, 0x0028bab3, 0x02bbb0cd, 0x0187f23b, 0x03782f20, 0x00aa049a, 0x0378ef4b, 0x01437917, 0x02590b14, 0x002b6071}}}, + {X: Field{[10]uint32{0x01e2774c, 0x014b7b2e, 0x03e7bde1, 0x012a4e0a, 0x02666d09, 0x03e3c158, 0x01f887ad, 0x0214f93f, 0x010849e1, 0x003989ae}}, Y: Field{[10]uint32{0x034834ea, 0x004ffe43, 0x027c30f5, 0x010b1658, 0x002dca73, 0x033ee1d6, 0x02ab4062, 0x00a89c32, 0x01daa419, 0x002433d5}}}, + {X: Field{[10]uint32{0x00381e67, 0x021ea739, 0x000b61a9, 0x0072f1eb, 0x000d8f57, 0x0291453c, 0x013b8b5b, 0x021e488c, 0x0057ba04, 0x003ee9e8}}, Y: Field{[10]uint32{0x029ec44a, 0x03b9ebb5, 0x000f718c, 0x0243b94c, 0x037cea5b, 0x016295fa, 0x005133f9, 0x014eeafc, 0x03fc1426, 0x001f4abd}}}, + {X: Field{[10]uint32{0x00c35a54, 0x02f9a265, 0x039ea1e3, 0x01691595, 0x03023973, 0x01c0cf99, 0x02e5bdb5, 0x01460568, 0x03955b5d, 0x00051336}}, Y: Field{[10]uint32{0x0253f1e6, 0x021e9dd8, 0x02a83919, 0x023e28ba, 0x03ed0a10, 0x0204d6d2, 0x0150d2b0, 0x03f16600, 0x0389e896, 0x0039805b}}}, + {X: Field{[10]uint32{0x003c0a24, 0x009787c6, 0x01eb681c, 0x023c099e, 0x03ad28cd, 0x02566767, 0x034a2d1a, 0x006d7b35, 0x026ee7ab, 0x00014e37}}, Y: Field{[10]uint32{0x00121004, 0x021012c5, 0x009601de, 0x01cc84f4, 0x012482b9, 0x016ce281, 0x01bac87d, 0x00464d6f, 0x03477961, 0x000db029}}}, + {X: Field{[10]uint32{0x03c03794, 0x001856ba, 0x02f2e9d1, 0x029c152f, 0x007876eb, 0x018edd5f, 0x00a38062, 0x01cfb883, 0x030fd28f, 0x001da453}}, Y: Field{[10]uint32{0x03a12642, 0x00c1a00c, 0x0008ec39, 0x014be7e2, 0x00593307, 0x0189b18b, 0x03557861, 0x0156fc88, 0x01cae168, 0x001b7893}}}, + {X: Field{[10]uint32{0x0234e4a7, 0x00caeaa7, 0x000af27e, 0x02eea960, 0x0186bee7, 0x03244bca, 0x015f7f96, 0x03df6bd6, 0x026cf675, 0x001a6457}}, Y: Field{[10]uint32{0x039513c9, 0x00b3c88a, 0x00d56df7, 0x006ddd9d, 0x03139bc3, 0x0374b68e, 0x0353c918, 0x026155de, 0x03c02f10, 0x0018253e}}}, + {X: Field{[10]uint32{0x00ce3015, 0x02ea11c6, 0x03e5d859, 0x00d790a1, 0x022c37eb, 0x02e4460b, 0x0142dcfd, 0x0353f6fa, 0x020c900b, 0x0013b9b0}}, Y: Field{[10]uint32{0x0062cd64, 0x03543cc8, 0x00f7590e, 0x0319311f, 0x0142e2a9, 0x030a4f4f, 0x0338e668, 0x0186312d, 0x0369863d, 0x00212b25}}}, + {X: Field{[10]uint32{0x00a0fa61, 0x01c5e5a2, 0x02c6ad22, 0x00442be7, 0x01aa5982, 0x01323160, 0x00e11dca, 0x03e28e3b, 0x001af57b, 0x0029a04f}}, Y: Field{[10]uint32{0x038edca4, 0x00ba0256, 0x000e1d18, 0x026f7168, 0x01d415c9, 0x0263ecbc, 0x03e2335e, 0x0258c56d, 0x034df4e2, 0x00190809}}}, + {X: Field{[10]uint32{0x010fce84, 0x03f9aadc, 0x03d6c0fd, 0x01ddbb94, 0x0269d910, 0x01d76d27, 0x01fc7432, 0x00a25c93, 0x03b7107b, 0x00108400}}, Y: Field{[10]uint32{0x02f9427f, 0x023ccf1d, 0x0002ac21, 0x021ceaa0, 0x020a9320, 0x022f3fa9, 0x01cb1498, 0x010e570c, 0x01697b92, 0x0032e555}}}, + {X: Field{[10]uint32{0x00c8c522, 0x002f7192, 0x02df8fc6, 0x02616d51, 0x015e1252, 0x02b3d7c9, 0x009d362e, 0x0313f100, 0x01e10cb8, 0x000272c6}}, Y: Field{[10]uint32{0x03d70d12, 0x03a253b1, 0x036231b7, 0x0382416f, 0x028fd286, 0x035f3fe1, 0x0220e70e, 0x039a2d8f, 0x01d32c6e, 0x00089c05}}}, + {X: Field{[10]uint32{0x03b953c2, 0x00d8d8a2, 0x03704362, 0x012dd78c, 0x03c4a7ac, 0x038b3832, 0x03412d64, 0x01623ce3, 0x01968193, 0x0031d04d}}, Y: Field{[10]uint32{0x0108aa6b, 0x01d7bd2a, 0x008019ae, 0x03c949de, 0x015e1d70, 0x03b05ace, 0x02dd4c90, 0x03135b48, 0x03a01b7c, 0x001efb9f}}}, + {X: Field{[10]uint32{0x01df22cc, 0x00b99d98, 0x02cec9dc, 0x02603a1b, 0x00c2f8e3, 0x02a5f319, 0x03ac1ea8, 0x01249ba3, 0x0205321f, 0x000aa3a2}}, Y: Field{[10]uint32{0x001fae42, 0x007ef6e6, 0x037809c8, 0x001febfd, 0x0364f0c0, 0x0034fe04, 0x0360c21c, 0x0372aab2, 0x01074e4f, 0x0018ee19}}}, + {X: Field{[10]uint32{0x0097a14d, 0x008a4fb5, 0x02127355, 0x031f1bd9, 0x025af1d8, 0x02a38b72, 0x02ab014e, 0x00d65122, 0x02607d40, 0x003cfbcb}}, Y: Field{[10]uint32{0x022cccc9, 0x01f0c758, 0x03ca9c63, 0x012fd0f6, 0x019e9ce4, 0x0275e305, 0x01d1d964, 0x027d12f1, 0x0334214b, 0x0037f354}}}, + {X: Field{[10]uint32{0x0057ead9, 0x0100a012, 0x0365a80e, 0x0092effa, 0x03a93964, 0x02c759c4, 0x0111b361, 0x00ce9744, 0x01c8169c, 0x001b5710}}, Y: Field{[10]uint32{0x005e84c8, 0x031522a9, 0x02a4a6a0, 0x00829486, 0x023d6742, 0x003d66f7, 0x0291d370, 0x02f0a89e, 0x00c49f01, 0x001307dd}}}, + {X: Field{[10]uint32{0x02fff85c, 0x031c7d12, 0x03c73488, 0x00891f81, 0x01608223, 0x013f51e3, 0x01982ce3, 0x021ac0b1, 0x0261c6a9, 0x0017604a}}, Y: Field{[10]uint32{0x03a960b8, 0x036894ff, 0x001fdcc8, 0x005e2fb5, 0x00680b15, 0x03248d21, 0x0349e164, 0x023f1095, 0x037b1601, 0x000dc20f}}}, + {X: Field{[10]uint32{0x0373093e, 0x02aa11df, 0x027d5dc6, 0x029827be, 0x01720177, 0x00a44615, 0x03a97108, 0x03cd1f0e, 0x02ecb82f, 0x00380565}}, Y: Field{[10]uint32{0x005b3bdd, 0x01faceed, 0x0177e554, 0x03061dd9, 0x03a17aca, 0x02963929, 0x00da5d06, 0x0212e74e, 0x00328498, 0x00299d32}}}, + {X: Field{[10]uint32{0x01980f55, 0x01100b02, 0x00d0b834, 0x0183bdac, 0x00ad52b9, 0x0373fdfc, 0x032fcaea, 0x03fcb9ec, 0x01000313, 0x0019e96a}}, Y: Field{[10]uint32{0x000a4a02, 0x01c0f24f, 0x02a03f41, 0x022bae2d, 0x009fdf92, 0x01f10783, 0x00075753, 0x022197ae, 0x01db5e8e, 0x0039dfbf}}}, + {X: Field{[10]uint32{0x0066b277, 0x0035f0d9, 0x01c217df, 0x02cd5ca0, 0x0353d77d, 0x03798960, 0x01c16477, 0x002b60a0, 0x039c2e2d, 0x000ae5a1}}, Y: Field{[10]uint32{0x00b62b25, 0x02f211a0, 0x030743cb, 0x0019e1a9, 0x027e0dae, 0x012a7f9f, 0x032408f6, 0x030caf31, 0x007343ba, 0x0037574d}}}, + {X: Field{[10]uint32{0x010367e9, 0x038b670c, 0x02bad825, 0x012fedc9, 0x03639b05, 0x00f8f848, 0x03137aea, 0x01235cb7, 0x038df087, 0x002ae50d}}, Y: Field{[10]uint32{0x03a10f03, 0x03740610, 0x011c99e3, 0x027fcb7c, 0x017f9d76, 0x01e376bd, 0x0331865c, 0x01f446a0, 0x02244003, 0x0015e173}}}, + {X: Field{[10]uint32{0x03e7439f, 0x02aaec10, 0x00985fa3, 0x036e1ef9, 0x012f3fd4, 0x028edb23, 0x013def6c, 0x03f78e32, 0x01560fd6, 0x001c1e09}}, Y: Field{[10]uint32{0x038ebec7, 0x02cfee05, 0x036af8f9, 0x03603e88, 0x0151894b, 0x03abd4d4, 0x01274b48, 0x01408331, 0x0365ecf1, 0x001e44ef}}}, + {X: Field{[10]uint32{0x03ca3942, 0x028062dd, 0x01eb3e71, 0x0203bf3b, 0x036b4d5e, 0x000928fd, 0x038c72c1, 0x03541ecc, 0x0070138b, 0x000c0974}}, Y: Field{[10]uint32{0x02b470ae, 0x03759a43, 0x03096f83, 0x02558e96, 0x038d5032, 0x00a93b94, 0x00172b5f, 0x03fe56a5, 0x020e175e, 0x000ea29a}}}, + {X: Field{[10]uint32{0x039ab0b6, 0x028f4602, 0x03ac9901, 0x02864e25, 0x02576081, 0x02a34079, 0x0069e7b2, 0x01eaee50, 0x02d065e9, 0x000ff8dc}}, Y: Field{[10]uint32{0x00842e5a, 0x00082895, 0x00c2d4c1, 0x014b3898, 0x00824035, 0x0359ed69, 0x03315e41, 0x037300dd, 0x02923154, 0x000bbf3b}}}, + {X: Field{[10]uint32{0x02f55636, 0x03968c0a, 0x001640bc, 0x03836a04, 0x03c3c373, 0x0301af5f, 0x02be8f9c, 0x00cfba5f, 0x00113a91, 0x000da31c}}, Y: Field{[10]uint32{0x006162a8, 0x03e1ad34, 0x024a135b, 0x03969bea, 0x02eb7d70, 0x0305a5c4, 0x028b942b, 0x02a385bc, 0x00fa4870, 0x00086f50}}}, + {X: Field{[10]uint32{0x00d96810, 0x03ab253b, 0x0100387e, 0x01a3953f, 0x0357682f, 0x02b5b5c4, 0x0040f230, 0x01793879, 0x03d8beb4, 0x001f7e3f}}, Y: Field{[10]uint32{0x002ed0df, 0x01d99f66, 0x013c9ec0, 0x0034281f, 0x03dc5555, 0x0131fff9, 0x0057d789, 0x016a6512, 0x00f9908e, 0x000f6793}}}, + {X: Field{[10]uint32{0x036f23d4, 0x036fdf42, 0x038bbdd2, 0x01c9413e, 0x02882691, 0x026c449d, 0x02162624, 0x031fb9f0, 0x0139eb49, 0x0032dab6}}, Y: Field{[10]uint32{0x0298346d, 0x000063ba, 0x01cb345e, 0x019785e2, 0x005480ca, 0x027e399a, 0x01319c45, 0x01cd9f78, 0x00db18f2, 0x003b2181}}}, + {X: Field{[10]uint32{0x00f4265a, 0x0263ca1c, 0x0053d390, 0x010b9a13, 0x01d8a1e0, 0x02766c81, 0x014e6a75, 0x00679b81, 0x02c80fc3, 0x0016b949}}, Y: Field{[10]uint32{0x010a9a63, 0x022185f5, 0x03850f24, 0x02af678c, 0x00a03f4b, 0x0155df02, 0x033ef80d, 0x016a433f, 0x028114c2, 0x00368784}}}, + {X: Field{[10]uint32{0x01ff7661, 0x021ab9c9, 0x03323a87, 0x019d6e34, 0x02174777, 0x000115b5, 0x03f2b10e, 0x02eb306e, 0x008906dd, 0x0021a35e}}, Y: Field{[10]uint32{0x0322ca1d, 0x030c24eb, 0x00ef296f, 0x0120d0a8, 0x0246e6ce, 0x027051bd, 0x03e57baa, 0x0037e38a, 0x001d189b, 0x00364b5a}}}, + {X: Field{[10]uint32{0x03686b74, 0x00762675, 0x025a4834, 0x02611f0c, 0x0223bd32, 0x01041a8c, 0x01d1f8a7, 0x0206db13, 0x034de7b8, 0x0027cbc2}}, Y: Field{[10]uint32{0x02440088, 0x013f0523, 0x016e3c44, 0x0172d1fc, 0x02deca28, 0x016158bc, 0x0329ca66, 0x012be2d5, 0x0111c297, 0x001beef5}}}, + {X: Field{[10]uint32{0x03fca8a3, 0x0140ddb4, 0x00b4fe69, 0x03afa302, 0x02c522f5, 0x03b8babd, 0x032da983, 0x0037c56f, 0x022b813b, 0x003eabc8}}, Y: Field{[10]uint32{0x000b472e, 0x036d0751, 0x01469b2c, 0x01b175b4, 0x0147f00e, 0x013c4aaf, 0x032ae874, 0x036b1a3e, 0x02692e98, 0x002fb14f}}}, + {X: Field{[10]uint32{0x03161475, 0x01f48a69, 0x00008fd6, 0x020293b1, 0x0313c81c, 0x01b1718b, 0x02a7ab70, 0x02e7e8b0, 0x01b9db4a, 0x001fd482}}, Y: Field{[10]uint32{0x0248d193, 0x033a82d2, 0x00ce4e69, 0x002e6b31, 0x00a58be4, 0x03c64736, 0x017d1c76, 0x01a67fce, 0x00daf9e8, 0x00284f5b}}}, + {X: Field{[10]uint32{0x02c84c2a, 0x012fd3c4, 0x00c04683, 0x02490168, 0x0050c7b4, 0x009c0285, 0x025f395e, 0x00dbc201, 0x016e80b1, 0x003d0d85}}, Y: Field{[10]uint32{0x017e60c4, 0x022546ef, 0x020e5911, 0x002e220a, 0x00e7aa89, 0x026c01fa, 0x020807d3, 0x03806e9d, 0x03b05684, 0x00337655}}}, + {X: Field{[10]uint32{0x00f1d06e, 0x03c70c4f, 0x0169f201, 0x0150ac93, 0x02882167, 0x00d153e9, 0x020c2bb0, 0x00df6081, 0x03495c5b, 0x003be6a9}}, Y: Field{[10]uint32{0x027a4aa9, 0x033d32bc, 0x0366654c, 0x03bf47dd, 0x0050003a, 0x0139b35f, 0x0125750e, 0x012a3eb0, 0x024df1d8, 0x003e1036}}}, + {X: Field{[10]uint32{0x035de05a, 0x00a25bfe, 0x01d40b12, 0x0322965c, 0x016d9e1c, 0x0179e4db, 0x010809c2, 0x02e4eb0a, 0x0043e96e, 0x001f7bb7}}, Y: Field{[10]uint32{0x02a8e0ce, 0x009ad949, 0x03381220, 0x03edaf24, 0x01de6683, 0x033c4bf3, 0x027b349c, 0x03439003, 0x026627b9, 0x00399703}}}, + {X: Field{[10]uint32{0x006d6459, 0x012cf3a6, 0x0215c0e7, 0x03d3ca0f, 0x01878384, 0x020bcd87, 0x03e74955, 0x01e5711e, 0x03156669, 0x001686fb}}, Y: Field{[10]uint32{0x00cf39ff, 0x01e711cb, 0x00d61b11, 0x020777e3, 0x0069b28b, 0x020cf8e0, 0x035b97e1, 0x000aca78, 0x02811fdb, 0x0033a616}}}, + {X: Field{[10]uint32{0x0125fa8e, 0x014d5639, 0x0383bfa4, 0x033e12c8, 0x0173b8fd, 0x020f1beb, 0x00eeb789, 0x004f0ac5, 0x01392334, 0x0036048f}}, Y: Field{[10]uint32{0x0233ef73, 0x009a51e9, 0x00095ea2, 0x028c3256, 0x02835e35, 0x02ecf2d5, 0x03f78a5a, 0x01c8011b, 0x019d905b, 0x003aa74e}}}, + {X: Field{[10]uint32{0x024d4bc8, 0x00c4cd03, 0x035d8939, 0x03469e9a, 0x0310d3df, 0x0026bed7, 0x02a36c39, 0x030c4099, 0x01d4f1f4, 0x0018bd0f}}, Y: Field{[10]uint32{0x0190f3ed, 0x028772ed, 0x028ef89f, 0x00a76a8b, 0x02755258, 0x00e8407c, 0x034fe225, 0x03591cb8, 0x01f1f83b, 0x002edd62}}}, + {X: Field{[10]uint32{0x039d72f7, 0x033cc4bd, 0x01f4fcc1, 0x0111bd8b, 0x00865f6e, 0x033d6535, 0x015aa750, 0x03011450, 0x0371d549, 0x00001b3c}}, Y: Field{[10]uint32{0x01e93af4, 0x006b7172, 0x0216a758, 0x02741a33, 0x002b3dee, 0x020ad168, 0x024ce206, 0x026f4a0a, 0x022b5c97, 0x003e33ad}}}, + {X: Field{[10]uint32{0x03cdd7e7, 0x03bf16d1, 0x01f3c509, 0x01c545af, 0x0249aeb3, 0x03e55021, 0x01638dd8, 0x03a70df0, 0x0380770b, 0x0016f5ed}}, Y: Field{[10]uint32{0x006ba9ff, 0x0242664a, 0x031e3021, 0x000ca8a2, 0x01efc12c, 0x02b74309, 0x006b91c5, 0x02abd3d8, 0x00488a87, 0x00351b1e}}}, + {X: Field{[10]uint32{0x036b6a62, 0x02fcf6f0, 0x001af0e6, 0x01ffc55a, 0x0081eecd, 0x02e566e8, 0x02086653, 0x02f52b96, 0x0154a319, 0x0031dc12}}, Y: Field{[10]uint32{0x016d0fe7, 0x00ecf294, 0x0337836e, 0x0002c571, 0x03e508f6, 0x02273312, 0x013b9c61, 0x012ea0fd, 0x03e82478, 0x000dcd50}}}, + {X: Field{[10]uint32{0x01b19cda, 0x0371b40e, 0x039588fe, 0x02342790, 0x02d6e92c, 0x0040b07b, 0x007da707, 0x00ea7760, 0x03fe4153, 0x000ad3c9}}, Y: Field{[10]uint32{0x001fb424, 0x038ab67e, 0x01d6b089, 0x02009005, 0x0049ba21, 0x024bd30c, 0x01fadd4a, 0x01f2c704, 0x03100ecd, 0x00262ea0}}}, + {X: Field{[10]uint32{0x014c0e5a, 0x001b2297, 0x03db54d3, 0x0204f5f0, 0x032c920c, 0x01a4c7e5, 0x000c581d, 0x030d3498, 0x01710b3d, 0x00039f50}}, Y: Field{[10]uint32{0x029a409a, 0x00513c92, 0x011f75b6, 0x01c74735, 0x0303e75b, 0x0169b128, 0x03a97efb, 0x014e1e67, 0x01ba9a82, 0x002ca560}}}, + {X: Field{[10]uint32{0x01c5d52e, 0x0198357c, 0x0284b2b5, 0x0187a01b, 0x032face7, 0x01a89c5f, 0x02700435, 0x00d5dc14, 0x022c18f4, 0x001880c0}}, Y: Field{[10]uint32{0x036a720d, 0x02021944, 0x024eb06c, 0x035aaa21, 0x020212ef, 0x0150ae5f, 0x035fe973, 0x0135d409, 0x03255d0a, 0x0006294b}}}, + {X: Field{[10]uint32{0x02e43b2b, 0x00700124, 0x026300e8, 0x01e5e479, 0x02489876, 0x02c3f332, 0x02327fe3, 0x02036e83, 0x03a28c1c, 0x002f6071}}, Y: Field{[10]uint32{0x003871c0, 0x0388d1e0, 0x00678db1, 0x02b3a4ea, 0x02416064, 0x03c6154d, 0x00831f07, 0x02f19278, 0x004ea14b, 0x0032942a}}}, + {X: Field{[10]uint32{0x004bc29a, 0x01aa6d3f, 0x0154a062, 0x0139bce9, 0x01b875eb, 0x000e9b83, 0x01385cd6, 0x00e43f34, 0x021ad3c1, 0x0026f10f}}, Y: Field{[10]uint32{0x00cb2cd4, 0x00b9a9b8, 0x0222e6b1, 0x02f763d2, 0x0264ea39, 0x01e5c5ec, 0x00d8b34b, 0x012ed5eb, 0x00bf9aa5, 0x00215e96}}}, + {X: Field{[10]uint32{0x03e40f33, 0x01da7329, 0x039082c8, 0x01c7195b, 0x015e5bfb, 0x0262fea8, 0x030117cb, 0x038f1e7b, 0x028d194d, 0x000c1569}}, Y: Field{[10]uint32{0x000d1d10, 0x008cf90d, 0x0086c1c9, 0x01ca9ff8, 0x00acbd8c, 0x01aae9af, 0x00218cfb, 0x038712fc, 0x01eadfeb, 0x000060fe}}}, + {X: Field{[10]uint32{0x034b08ac, 0x01e7eedc, 0x03e1b710, 0x00c5f62e, 0x002cec12, 0x00d60ee0, 0x02710724, 0x03462324, 0x0184ad1f, 0x0012b6fe}}, Y: Field{[10]uint32{0x03ec04e6, 0x013578f5, 0x01954709, 0x02dbde7d, 0x032192ce, 0x038fcb42, 0x01507668, 0x033bfcf6, 0x01889560, 0x0005149c}}}, + {X: Field{[10]uint32{0x016487cc, 0x01947469, 0x00b0cd00, 0x00daa81d, 0x0283fc6a, 0x033c5b48, 0x03ae3979, 0x0107671e, 0x01cc27e0, 0x000e3dcb}}, Y: Field{[10]uint32{0x033dc0bf, 0x01830ea4, 0x0188df71, 0x0110b946, 0x02496104, 0x002dbff1, 0x030d6f2c, 0x001b904d, 0x017c33a1, 0x00148e32}}}, + {X: Field{[10]uint32{0x015be2d3, 0x00623199, 0x03813322, 0x011d1f09, 0x02045606, 0x03167fca, 0x0013828a, 0x03f78285, 0x018a7bdf, 0x0037956f}}, Y: Field{[10]uint32{0x0042d9da, 0x034eed40, 0x0151ce65, 0x0146e65b, 0x0367bf9d, 0x01ec2bed, 0x039d0979, 0x0097cdd7, 0x01b0df5b, 0x0011de18}}}, + {X: Field{[10]uint32{0x023bcc66, 0x026e2797, 0x03893873, 0x03a9b159, 0x02e19340, 0x019bfa44, 0x00edf986, 0x000ae246, 0x00fdc47e, 0x003185ef}}, Y: Field{[10]uint32{0x01117072, 0x0098d259, 0x00d473b8, 0x01cad6c2, 0x01a6e046, 0x01133f12, 0x020f4e86, 0x01da0cab, 0x0117357e, 0x002e42e8}}}, + {X: Field{[10]uint32{0x01c84758, 0x02aceefc, 0x036724ad, 0x036fb2b6, 0x03c455f4, 0x024acc0c, 0x02402f1e, 0x0223252d, 0x01961b51, 0x00119570}}, Y: Field{[10]uint32{0x02fbc4a0, 0x0071b779, 0x01b5cf2c, 0x0300a0e2, 0x02714600, 0x012f017a, 0x0202df4f, 0x017d37ec, 0x0093a257, 0x000f3bb3}}}, + {X: Field{[10]uint32{0x03726a45, 0x021ba375, 0x004c9e5f, 0x00c67077, 0x00110df4, 0x02ad0f68, 0x013c503f, 0x0396b4da, 0x0340dc05, 0x003f2a43}}, Y: Field{[10]uint32{0x035771ca, 0x0321bf17, 0x021c3e6c, 0x03b1a323, 0x027478ed, 0x0269c29b, 0x0337aeb1, 0x0198106b, 0x039bbe3e, 0x003d608b}}}, + {X: Field{[10]uint32{0x027f61e9, 0x03c546f4, 0x00afb93f, 0x0015e31f, 0x02a31cbe, 0x02434ecf, 0x01e88d7f, 0x020961de, 0x004adcb2, 0x000c5db3}}, Y: Field{[10]uint32{0x02cc0135, 0x00308c50, 0x006aac34, 0x01115b34, 0x036a18ce, 0x03ed6ad6, 0x00fe7bba, 0x00290f25, 0x02cc148a, 0x000e18fc}}}, + {X: Field{[10]uint32{0x03b2ddc4, 0x0079943a, 0x014e0b81, 0x02734c69, 0x0151d9c1, 0x013e0b31, 0x030db151, 0x00842b41, 0x0373d124, 0x0018c9a7}}, Y: Field{[10]uint32{0x005cd0ac, 0x003c36f6, 0x02188e30, 0x02f0fdaa, 0x03038246, 0x002230e1, 0x034114e5, 0x01e90929, 0x03dd8a78, 0x002fe3b1}}}, + {X: Field{[10]uint32{0x032003d0, 0x00f39518, 0x02708dee, 0x0124d374, 0x000f07e7, 0x0104c9aa, 0x027f5445, 0x014ed86b, 0x01328d0f, 0x0019e687}}, Y: Field{[10]uint32{0x025c350f, 0x0240629c, 0x0085c034, 0x0157268d, 0x02c9b3eb, 0x03dbba69, 0x03e341d5, 0x03b28c46, 0x03488f21, 0x0020f284}}}, + {X: Field{[10]uint32{0x00b38b28, 0x033ce678, 0x036fb846, 0x0277a009, 0x03f7172f, 0x0153624c, 0x0148568a, 0x00b2134e, 0x01792998, 0x001a689f}}, Y: Field{[10]uint32{0x03b26168, 0x0058f90e, 0x034f3a02, 0x03d6b0b6, 0x0369c8b7, 0x00bce6f5, 0x00b16a12, 0x002ee15d, 0x0207cb0f, 0x003d0474}}}, + {X: Field{[10]uint32{0x0373ee4d, 0x015b23d9, 0x03c7f9dd, 0x02e72bfa, 0x02abfdab, 0x000a73bc, 0x03f21716, 0x01410b2f, 0x005701af, 0x000a6354}}, Y: Field{[10]uint32{0x0297e9e1, 0x00f0156a, 0x0222075e, 0x029e733e, 0x034271bd, 0x03db70db, 0x02e62c4b, 0x02113904, 0x0271d271, 0x003d0d0f}}}, + {X: Field{[10]uint32{0x000c4653, 0x022e5e48, 0x023b1f8f, 0x0391513d, 0x00e26f66, 0x02f3ce4c, 0x00eb9845, 0x03c4063e, 0x03da46d1, 0x000fca60}}, Y: Field{[10]uint32{0x01d71db0, 0x03166542, 0x01b53b26, 0x02f1e760, 0x009b2c38, 0x00c9b4e0, 0x02d57e6b, 0x00cec40d, 0x0114c4ad, 0x00125cea}}}, + {X: Field{[10]uint32{0x023538dd, 0x02aa2fdf, 0x03b1359f, 0x0287bda8, 0x0154412e, 0x0074a9be, 0x02d64b2a, 0x02e23650, 0x013e30ce, 0x003e0dbf}}, Y: Field{[10]uint32{0x037f9367, 0x0380a0b3, 0x02ba3b28, 0x038c1b9a, 0x00c8161e, 0x0162ddc8, 0x01fd29c1, 0x01ad69c2, 0x00815347, 0x001c828c}}}, + {X: Field{[10]uint32{0x00ef583a, 0x038b7c80, 0x03930b3a, 0x008807bb, 0x01295ed5, 0x03a647fa, 0x03c8ee4f, 0x00e2898e, 0x039b911e, 0x00375cba}}, Y: Field{[10]uint32{0x00c1b2ef, 0x02d03250, 0x00b8683c, 0x02c50fc4, 0x02398e86, 0x0182d4ec, 0x0285d9b3, 0x03dfe5e4, 0x01a5688b, 0x000a8369}}}, + {X: Field{[10]uint32{0x0168a619, 0x00fc0cd2, 0x019be028, 0x02912584, 0x037cef92, 0x00962dfc, 0x027bd818, 0x00957310, 0x025046ab, 0x00154789}}, Y: Field{[10]uint32{0x03bc4f30, 0x01e8dc39, 0x0223b200, 0x02a8f1ba, 0x02e5ca16, 0x00560a9b, 0x006a5ecd, 0x03cd6e6e, 0x03d24cd8, 0x000c5f0c}}}, + {X: Field{[10]uint32{0x0336c650, 0x00eb5e14, 0x02a90fbd, 0x01857214, 0x01ab28cb, 0x01e09564, 0x0319a304, 0x038f43b2, 0x0292131d, 0x0019a0f7}}, Y: Field{[10]uint32{0x002225f8, 0x01b4224a, 0x019e4d63, 0x03082397, 0x00b3c3b2, 0x011be839, 0x029556ec, 0x01548fe2, 0x018e7fd9, 0x00127ba9}}}, + {X: Field{[10]uint32{0x00f97805, 0x0127224f, 0x03ac7bea, 0x00f4c692, 0x01ca99ef, 0x023e257a, 0x029b146e, 0x03a99782, 0x01e284a6, 0x002d6cec}}, Y: Field{[10]uint32{0x01b6fe0d, 0x013ba239, 0x01667ffa, 0x030d51fa, 0x023cf16c, 0x0065402f, 0x0391437e, 0x038a5bca, 0x0294f333, 0x00285c82}}}, + {X: Field{[10]uint32{0x03cbf466, 0x009007e6, 0x00d1011a, 0x00e954d4, 0x03ccdde4, 0x01c63518, 0x009a2329, 0x01da125c, 0x03737c33, 0x00294065}}, Y: Field{[10]uint32{0x01d429e2, 0x03eb61ea, 0x0027e12e, 0x0233efcf, 0x03c51fff, 0x01add47a, 0x03a5e09b, 0x031777a3, 0x029effef, 0x00027301}}}, + {X: Field{[10]uint32{0x001588fb, 0x00dad8fb, 0x03849e12, 0x0092238b, 0x02e5cb72, 0x02c7162c, 0x0041b663, 0x0361850a, 0x018feb2b, 0x0027b0d2}}, Y: Field{[10]uint32{0x001f5f12, 0x00194bc3, 0x0333ba00, 0x0216a01c, 0x01e517e5, 0x005437fb, 0x02719bf2, 0x025fc0d8, 0x01a5e14b, 0x00380324}}}, + {X: Field{[10]uint32{0x03c5b6b2, 0x00c6afbc, 0x004b1f47, 0x02f16abc, 0x03581f97, 0x02e49999, 0x00b446ba, 0x00c615d4, 0x00b4adc1, 0x003842db}}, Y: Field{[10]uint32{0x01e2b9c3, 0x017f720d, 0x00ed3c1f, 0x010bc998, 0x01d5520b, 0x02d97007, 0x0287bba5, 0x0011dfce, 0x02137db2, 0x0014e944}}}, + {X: Field{[10]uint32{0x013ae314, 0x01873877, 0x00d0d3ff, 0x009c4ec6, 0x0360ace9, 0x000ad810, 0x0093691e, 0x029f1e63, 0x0167e36e, 0x002dd52a}}, Y: Field{[10]uint32{0x0073d849, 0x02e0a855, 0x0359be12, 0x00a64cf3, 0x00d83ee0, 0x02ac0794, 0x02f8d5fb, 0x03b96690, 0x01639aa7, 0x0022a68e}}}, + {X: Field{[10]uint32{0x02efa869, 0x0060ffcc, 0x02c8d489, 0x01d58d02, 0x017999a2, 0x02fa95a7, 0x038a51e6, 0x02fcf81b, 0x0361c10c, 0x0017fbf2}}, Y: Field{[10]uint32{0x02881e83, 0x02f86fd3, 0x0120715b, 0x01426cd2, 0x01dfe499, 0x02308150, 0x008c0932, 0x020d7076, 0x0093cbc4, 0x003606cc}}}, + {X: Field{[10]uint32{0x03d2d848, 0x02910bc9, 0x0118470a, 0x002aca6e, 0x01f0ed6f, 0x009f2265, 0x0009400b, 0x025f8658, 0x03bb04ac, 0x003f9468}}, Y: Field{[10]uint32{0x01116a58, 0x03f55a32, 0x00bd6ec5, 0x013c020f, 0x03d30625, 0x027c2c60, 0x02b8aaf5, 0x0279103c, 0x00e0a4c3, 0x00215a3f}}}, + {X: Field{[10]uint32{0x02b7dee3, 0x024519be, 0x0158d7b5, 0x0263911d, 0x00391df7, 0x03aca908, 0x00d5d38a, 0x03fb6f16, 0x02299fcc, 0x001a8f91}}, Y: Field{[10]uint32{0x02a5e548, 0x00fba6c8, 0x01a91aec, 0x02e78c58, 0x0289873e, 0x02ac7679, 0x02e7b5a3, 0x01767750, 0x03ba7bb1, 0x0006fb63}}}, + {X: Field{[10]uint32{0x03450c37, 0x01fff225, 0x012ee745, 0x0134e492, 0x0233db30, 0x0385af4c, 0x0162d970, 0x03537bdf, 0x00b83c40, 0x002b7f6f}}, Y: Field{[10]uint32{0x00138e0e, 0x0216e1fd, 0x001956be, 0x0064b873, 0x038fde78, 0x0055ab08, 0x00b588c4, 0x0127b0aa, 0x03dc1635, 0x001ec20a}}}, + {X: Field{[10]uint32{0x0113bf61, 0x030f7540, 0x02cb9f06, 0x0371bb31, 0x01509ed7, 0x00b45c04, 0x0254c270, 0x00b1520d, 0x03cc9c20, 0x0025a143}}, Y: Field{[10]uint32{0x0281aaf7, 0x022e2c34, 0x03b6c008, 0x01568070, 0x01b9fcc4, 0x01fb062d, 0x00c05dac, 0x01b126bc, 0x00327f96, 0x00041011}}}, + {X: Field{[10]uint32{0x00458bbe, 0x01026d57, 0x03ac4f09, 0x005059bc, 0x031703f5, 0x0010de69, 0x00151ca8, 0x03285362, 0x01978f78, 0x000ab884}}, Y: Field{[10]uint32{0x01ecf7b1, 0x03277106, 0x012c86cb, 0x009fe80c, 0x022328e3, 0x021e5873, 0x01c7dde3, 0x00d7f514, 0x00d95760, 0x001379d3}}}, + {X: Field{[10]uint32{0x02987e57, 0x03ab1846, 0x006cfb79, 0x038f149d, 0x027e5816, 0x0358b109, 0x021a332c, 0x03265899, 0x0342e1b5, 0x003b7061}}, Y: Field{[10]uint32{0x01b4fe5e, 0x00868d01, 0x01bc02c0, 0x00c8c0c4, 0x0129ba90, 0x02eaf95e, 0x01d484fe, 0x0026fcfe, 0x033fc633, 0x0020000e}}}, + {X: Field{[10]uint32{0x0243a244, 0x0299033f, 0x025aa1d6, 0x012610dd, 0x0038b35d, 0x022e50da, 0x0290885c, 0x03c2b8a6, 0x022a5fa0, 0x001e00aa}}, Y: Field{[10]uint32{0x0192a803, 0x03dc59e4, 0x025dd7f5, 0x004616ea, 0x037e3dda, 0x005b126e, 0x03297e04, 0x00e6a101, 0x029fe632, 0x00031fcc}}}, + {X: Field{[10]uint32{0x012335cf, 0x01efdfe6, 0x02386bf6, 0x03a0d79c, 0x02c2173d, 0x038ff16a, 0x02ede712, 0x011d6b0d, 0x0179b124, 0x003eddd1}}, Y: Field{[10]uint32{0x03a82c94, 0x032f3011, 0x02c01cdf, 0x029add8e, 0x01b6f413, 0x006a3590, 0x03ebf0e3, 0x01edeb90, 0x035163c1, 0x0030399a}}}, + {X: Field{[10]uint32{0x00bc2852, 0x03886cff, 0x02982051, 0x00928c6d, 0x00695a9c, 0x03a70480, 0x0394881f, 0x02ba78cb, 0x018a43ab, 0x0036068f}}, Y: Field{[10]uint32{0x0112673f, 0x03dafcb7, 0x00dbf2cc, 0x028f2419, 0x01a693e3, 0x002a636d, 0x0351de7e, 0x032db5ef, 0x0011e8a8, 0x0018c376}}}, + {X: Field{[10]uint32{0x03324cf0, 0x01ddadf1, 0x0249f9bf, 0x02812f94, 0x027cb2ed, 0x0089a336, 0x00da0c7e, 0x001a2e01, 0x03d497cf, 0x001467f3}}, Y: Field{[10]uint32{0x0162fdb9, 0x039bff25, 0x0391dc20, 0x03b0ef28, 0x03a357c8, 0x03912ae7, 0x02916466, 0x02cfaef9, 0x00cd198a, 0x002fb1bd}}}, + {X: Field{[10]uint32{0x028ef592, 0x024a5be1, 0x0044124f, 0x021389dc, 0x023e31b2, 0x003e6c70, 0x0193853e, 0x0181cd78, 0x03e48fd6, 0x003312b4}}, Y: Field{[10]uint32{0x0383c27b, 0x0098eb75, 0x02f68996, 0x007b6c96, 0x019b1215, 0x01ec0f1d, 0x01520ac6, 0x0311d1f5, 0x018d8583, 0x00222bc5}}}, + {X: Field{[10]uint32{0x00d24117, 0x00240d1e, 0x01e338f7, 0x02852e17, 0x02c06a57, 0x0137b5ba, 0x0340cf96, 0x021a9662, 0x00ae6f51, 0x002b7654}}, Y: Field{[10]uint32{0x03affa7d, 0x01effd28, 0x0165bc04, 0x03f1c013, 0x00111f6d, 0x002fb1d1, 0x03d6853a, 0x00a1737a, 0x00bd2d69, 0x00316729}}}, + {X: Field{[10]uint32{0x02b383e4, 0x030fdb6e, 0x027ddd0b, 0x0319f124, 0x03ef0437, 0x032cd62b, 0x03c81730, 0x01f79c4a, 0x03454309, 0x003701c6}}, Y: Field{[10]uint32{0x015ca8ed, 0x0042d03a, 0x0385f9e4, 0x0283ec46, 0x03f28fca, 0x0061f7ef, 0x03b2adfc, 0x00c1305c, 0x02a9899b, 0x001e4e44}}}, + {X: Field{[10]uint32{0x02c167c7, 0x01e6c6ab, 0x03abe94d, 0x01c91fda, 0x02fd97a6, 0x025ade9c, 0x0037da4a, 0x002676a7, 0x037e6db6, 0x0017738c}}, Y: Field{[10]uint32{0x024377f6, 0x0276f593, 0x021d5754, 0x015993ac, 0x00eb35bf, 0x005ae8a8, 0x0082991f, 0x02290ed9, 0x03ba1f09, 0x0006e21f}}}, + {X: Field{[10]uint32{0x01f5cfcb, 0x02133e78, 0x009e5ba2, 0x03d0f984, 0x02900a83, 0x03a02260, 0x022ead80, 0x029989b4, 0x02ad8493, 0x00145bad}}, Y: Field{[10]uint32{0x00e05042, 0x00c3fbfb, 0x03e3c68d, 0x0046ecdb, 0x03ef6a85, 0x0074fe51, 0x018308c6, 0x02d1bd23, 0x02b38085, 0x00328d42}}}, + {X: Field{[10]uint32{0x000e5e75, 0x03c71f3c, 0x020a335a, 0x02e02321, 0x03732b3f, 0x03a45f21, 0x03912114, 0x00b68796, 0x01503b1f, 0x003dd9f0}}, Y: Field{[10]uint32{0x01aaab54, 0x02d1cf68, 0x0165795b, 0x003854f3, 0x0109ec61, 0x015776ad, 0x00f64a26, 0x0119ee22, 0x00c8cdbe, 0x000fb3be}}}, + {X: Field{[10]uint32{0x03c977f0, 0x00eb099c, 0x01e7531f, 0x00b0b319, 0x02418558, 0x005df79e, 0x03bc5d8f, 0x00b2329e, 0x03cf0f79, 0x003e6efa}}, Y: Field{[10]uint32{0x01614a85, 0x026595d2, 0x02f52b8c, 0x02aab3b2, 0x03ac751e, 0x02867957, 0x02f767b8, 0x00e89895, 0x00fefecb, 0x000a42ad}}}, + {X: Field{[10]uint32{0x0147c45f, 0x01dff3d3, 0x00e8eaf4, 0x02f326c2, 0x016ec3ad, 0x0048f7d8, 0x01bff42c, 0x0236c7d5, 0x01febe5c, 0x0031aff8}}, Y: Field{[10]uint32{0x0241792f, 0x02b55b35, 0x02995c79, 0x0004d1fa, 0x0041c271, 0x0159e624, 0x032eddc9, 0x028bff60, 0x0082d6d6, 0x0031657e}}}, + {X: Field{[10]uint32{0x00d3ce1e, 0x020a7978, 0x02425761, 0x00862e1c, 0x03c55595, 0x005c2ed1, 0x01cfe6e5, 0x02d321c7, 0x0371808f, 0x0015b0b5}}, Y: Field{[10]uint32{0x000468ba, 0x003f27d5, 0x0229f5ee, 0x02bdc58d, 0x0112ec15, 0x039c8718, 0x00a91889, 0x03989bf7, 0x02e69e03, 0x001b79ca}}}, + {X: Field{[10]uint32{0x0109d663, 0x028d99d4, 0x00fb5066, 0x03fbf181, 0x02da9ecf, 0x03033df4, 0x0296d8c3, 0x016f961e, 0x0305ec9f, 0x00080862}}, Y: Field{[10]uint32{0x038f6993, 0x00a0eefb, 0x02e12e79, 0x00ea22d0, 0x02b41bfa, 0x029cc86b, 0x02ea0aa7, 0x01f8907c, 0x03c2c535, 0x000bb069}}}, + {X: Field{[10]uint32{0x036be4ee, 0x03f2bfe5, 0x00f09e2a, 0x03d2ece9, 0x03519035, 0x01252bfc, 0x03db4f33, 0x0333656f, 0x02690a04, 0x000e8224}}, Y: Field{[10]uint32{0x0042d1a2, 0x006b615a, 0x02757ed9, 0x00899036, 0x020bbeba, 0x00d012cc, 0x0293757b, 0x0287fa45, 0x0225fb0b, 0x00395a03}}}, + {X: Field{[10]uint32{0x005b3f07, 0x01948ebd, 0x01a2e285, 0x0006ca5d, 0x02dfd3e1, 0x02618125, 0x00fd0f25, 0x022d4f6c, 0x0296a0cd, 0x0023e7c8}}, Y: Field{[10]uint32{0x01c625b5, 0x02d5c8ad, 0x01920a3f, 0x00295de1, 0x038ab3be, 0x018a435d, 0x029015cd, 0x037cc6c8, 0x01072cac, 0x00187056}}}, + {X: Field{[10]uint32{0x0288070e, 0x03d1d33f, 0x0106c836, 0x024347a8, 0x00097e2b, 0x0352d8ca, 0x01599b26, 0x036a5f34, 0x03e8695b, 0x00219602}}, Y: Field{[10]uint32{0x017d7d21, 0x03146aec, 0x00ac6166, 0x02a276e9, 0x022bb220, 0x001f71fb, 0x022fe5fd, 0x02b160e2, 0x00a17e19, 0x002aeb9a}}}, + {X: Field{[10]uint32{0x02b4d762, 0x00b74a5c, 0x03d048c7, 0x0163ec61, 0x01eb1f94, 0x015ea879, 0x005b4f0e, 0x035627b3, 0x038a1e69, 0x003edab0}}, Y: Field{[10]uint32{0x02ac32c1, 0x0004c061, 0x000147fb, 0x01bc2e58, 0x03e5d180, 0x02e0ad72, 0x031d3af2, 0x01c7cc5b, 0x0116bec2, 0x00358077}}}, + {X: Field{[10]uint32{0x02a5f0b0, 0x02e36f9f, 0x027b4242, 0x00c6d9b8, 0x02c5bb7d, 0x00aec273, 0x03aec947, 0x03aa06fc, 0x006bc54f, 0x001f0418}}, Y: Field{[10]uint32{0x01f68f54, 0x035df6ef, 0x010abd14, 0x00a8f809, 0x0202ea52, 0x0102d116, 0x01839872, 0x01590dd9, 0x0180d3d6, 0x00048854}}}, + {X: Field{[10]uint32{0x0152a1a6, 0x00ac05cb, 0x02495204, 0x0398ee11, 0x02740a5b, 0x0367ce12, 0x007822b1, 0x024ef1d3, 0x03948335, 0x002179aa}}, Y: Field{[10]uint32{0x01fae93a, 0x0397af80, 0x030f981f, 0x033371d7, 0x02d6e69f, 0x0334a38f, 0x02512138, 0x03e1aa3d, 0x00d068d6, 0x003d7058}}}, + {X: Field{[10]uint32{0x0351cfe5, 0x0044eb7f, 0x00a27f02, 0x03b2e203, 0x005e626a, 0x0151c7d4, 0x0374ea0e, 0x006e8146, 0x013a99cd, 0x001f878b}}, Y: Field{[10]uint32{0x01ad89bc, 0x012c0267, 0x0299781f, 0x033b0018, 0x02c1eb96, 0x00dbc6b7, 0x02322291, 0x03f8de30, 0x002ee9d4, 0x00104fb2}}}, + {X: Field{[10]uint32{0x007aaacd, 0x03af407a, 0x02bd2928, 0x02b1ca70, 0x016a9490, 0x024c7187, 0x03a08dd6, 0x00d7cbb5, 0x00ad8137, 0x00162590}}, Y: Field{[10]uint32{0x00485429, 0x0009c648, 0x02e15c1a, 0x026f8d0f, 0x017a1e90, 0x025b1335, 0x039fc330, 0x03ed2cd9, 0x010b8a89, 0x002275ac}}}, + {X: Field{[10]uint32{0x026e6608, 0x02b41017, 0x00c5d7b7, 0x03511046, 0x0191fdd7, 0x01d07067, 0x00db0ef3, 0x0173a3f7, 0x034ff346, 0x001c2033}}, Y: Field{[10]uint32{0x022441fe, 0x02b627e3, 0x03d347df, 0x0274d050, 0x00303348, 0x02036c76, 0x006d334f, 0x002e82d7, 0x01a95cbc, 0x001e8fc3}}}, + {X: Field{[10]uint32{0x02917c55, 0x026a1d89, 0x0261c7d5, 0x000d954f, 0x01091deb, 0x01dcdf0c, 0x0196bd4d, 0x0009a4b7, 0x034c2d40, 0x002ed982}}, Y: Field{[10]uint32{0x00983c24, 0x028fd030, 0x002faf5e, 0x00446370, 0x03f150af, 0x017a2e1b, 0x00684031, 0x00125c18, 0x0113a756, 0x002d252b}}}, + {X: Field{[10]uint32{0x03221b27, 0x03141b67, 0x02e0c1e2, 0x02c23376, 0x013f4f4f, 0x03629719, 0x008161c5, 0x0056c910, 0x01ec7ebf, 0x001ce890}}, Y: Field{[10]uint32{0x0063640a, 0x02f05d75, 0x0332b5e1, 0x024a8bdb, 0x0364bbe1, 0x03520363, 0x00865041, 0x0295bde1, 0x03b433a0, 0x002014d2}}}, + {X: Field{[10]uint32{0x00b1fe07, 0x0056aa9e, 0x03a6f89a, 0x000b0f5e, 0x039e45f2, 0x028ad62f, 0x005741e6, 0x03f6f1dc, 0x0351f08b, 0x003f707b}}, Y: Field{[10]uint32{0x016c0586, 0x039683a6, 0x00e36880, 0x0051d57d, 0x001684f7, 0x0160c950, 0x03ac05b5, 0x0121e191, 0x00dcdc1e, 0x001fa740}}}, + {X: Field{[10]uint32{0x033618af, 0x01ccf4e8, 0x007bc6d6, 0x00ea449a, 0x03a15ab1, 0x02838cf7, 0x0344736e, 0x017304ea, 0x02cba0ce, 0x00081210}}, Y: Field{[10]uint32{0x016bd521, 0x03e4ab32, 0x03a35896, 0x03708516, 0x029e1804, 0x0062a53c, 0x01187418, 0x02472feb, 0x0205a6e9, 0x002bf248}}}, + {X: Field{[10]uint32{0x017ed768, 0x02f2d805, 0x0193e0b2, 0x02660eeb, 0x01a47c4a, 0x00121a1a, 0x00095675, 0x00c54604, 0x001ef82c, 0x00280ea7}}, Y: Field{[10]uint32{0x02090a65, 0x033c67fd, 0x0263ca26, 0x028b7361, 0x0302158b, 0x02690ee2, 0x033e5eed, 0x01a603bb, 0x0164fb9c, 0x001e1be4}}}, + {X: Field{[10]uint32{0x03c00ed2, 0x026c56f6, 0x025baee1, 0x010b1515, 0x01fa18bd, 0x036a04f3, 0x015e3ff7, 0x005e118d, 0x025f6cb4, 0x00178edb}}, Y: Field{[10]uint32{0x02ee603f, 0x0000db10, 0x02cfde34, 0x022b1722, 0x019d6f35, 0x0234f936, 0x03b8f9f8, 0x008a13f0, 0x015342bf, 0x002e70e9}}}, + {X: Field{[10]uint32{0x005dbc70, 0x010e1728, 0x0254b015, 0x01d840a6, 0x00abf764, 0x03ec9d1b, 0x03dfbd6e, 0x004a0198, 0x020e082d, 0x00066c25}}, Y: Field{[10]uint32{0x01504773, 0x01993d39, 0x02f312d2, 0x03b64845, 0x0133df5d, 0x00d74107, 0x03356451, 0x004aa517, 0x03bc4401, 0x003e2ca2}}}, + {X: Field{[10]uint32{0x03f3677e, 0x01d98e37, 0x00d05098, 0x0076dafa, 0x006f1c2d, 0x028688b3, 0x039b274b, 0x02ebf9d2, 0x01007597, 0x0004187a}}, Y: Field{[10]uint32{0x01444b21, 0x0171e048, 0x00fa9815, 0x03c533d3, 0x01fe2fff, 0x03894629, 0x017b59eb, 0x024bb113, 0x0122dec5, 0x001c1eb2}}}, + {X: Field{[10]uint32{0x03030b85, 0x01c73c7c, 0x01f5709a, 0x0078ec55, 0x01cc0e22, 0x02683940, 0x039b5676, 0x01f61d50, 0x001160fc, 0x00324613}}, Y: Field{[10]uint32{0x00327805, 0x00fa608a, 0x02e308c4, 0x02527ec7, 0x018e83e5, 0x017c8e26, 0x01d30f87, 0x01a27f5b, 0x01e37c04, 0x002202da}}}, + {X: Field{[10]uint32{0x0374cf04, 0x01567fd0, 0x02f12d37, 0x0190988a, 0x01c8fa23, 0x01b09ae9, 0x005af94e, 0x014b363f, 0x03044dec, 0x0028d7ec}}, Y: Field{[10]uint32{0x012242fd, 0x035d5704, 0x0284042d, 0x01c614c9, 0x038b3604, 0x00d08b73, 0x03adcb9a, 0x00d612b1, 0x0375692a, 0x0005513c}}}, + {X: Field{[10]uint32{0x010929ca, 0x0012f46e, 0x00a8c1b2, 0x0069e000, 0x021b2c50, 0x02c4c3da, 0x00efbe8e, 0x03afa046, 0x03ad60ff, 0x002ea300}}, Y: Field{[10]uint32{0x03aaafbe, 0x00da71b8, 0x03722f11, 0x011eb84d, 0x0365b88d, 0x03de002a, 0x03732112, 0x010783eb, 0x0329a3f3, 0x003a57bd}}}, + {X: Field{[10]uint32{0x0330ddb9, 0x0346d4a3, 0x03ba3361, 0x017d7992, 0x02fe0849, 0x01268042, 0x03ba189f, 0x0229de5f, 0x0355842d, 0x0034ae95}}, Y: Field{[10]uint32{0x03df7957, 0x00c2fe94, 0x03d477c0, 0x00b0e42d, 0x000549e7, 0x00e95758, 0x00bc5f0c, 0x005e7de1, 0x01b10cad, 0x00368d9a}}}, + {X: Field{[10]uint32{0x008703f2, 0x036e6b9b, 0x0194a086, 0x01e552b2, 0x00d3de15, 0x020332c9, 0x031d2b28, 0x0222c9de, 0x03587ec9, 0x000f813a}}, Y: Field{[10]uint32{0x0328dd9c, 0x0336d3f9, 0x0207bb98, 0x02273170, 0x00ff3c60, 0x037e5bef, 0x031d6503, 0x021767ba, 0x0113e6dc, 0x003e9048}}}, + {X: Field{[10]uint32{0x019fe7f6, 0x0368f09a, 0x01ca17a0, 0x008177e4, 0x0260c9f1, 0x007d19b5, 0x019aefa9, 0x029274f8, 0x03424339, 0x003bf96e}}, Y: Field{[10]uint32{0x005156e9, 0x00fa74c9, 0x0008ff9e, 0x0029f2d1, 0x01e3576b, 0x01f3e7f1, 0x0221db29, 0x01903f3a, 0x012ffb39, 0x00263188}}}, + {X: Field{[10]uint32{0x02a0908b, 0x0359a92e, 0x008a302b, 0x00b6605b, 0x03bca2dc, 0x031383a9, 0x03e65915, 0x00cdb7bb, 0x02e5a330, 0x0028a510}}, Y: Field{[10]uint32{0x02a135e6, 0x0109ea77, 0x023112db, 0x02251199, 0x02dc5e77, 0x029bee79, 0x0374c130, 0x0391f0ed, 0x00297320, 0x00286fe2}}}, + {X: Field{[10]uint32{0x008bb792, 0x022aa23c, 0x013714da, 0x03fe0063, 0x0148e877, 0x0324862c, 0x01f632d1, 0x0097daa4, 0x00ba6f72, 0x001152f3}}, Y: Field{[10]uint32{0x01ec713c, 0x02562dd1, 0x00e3e918, 0x00f681f8, 0x01815775, 0x000ba837, 0x021106b2, 0x00ac0582, 0x01312d53, 0x0036837b}}}, + {X: Field{[10]uint32{0x00c2dca9, 0x0160d337, 0x01fced42, 0x020ba503, 0x00565737, 0x00941501, 0x00631afa, 0x02559b2c, 0x014032c3, 0x0000c58e}}, Y: Field{[10]uint32{0x03cc5fc7, 0x016a36f3, 0x004dd844, 0x017e9555, 0x0267f089, 0x03d359a2, 0x037464c6, 0x02c34691, 0x01c41b15, 0x00063158}}}, + {X: Field{[10]uint32{0x01b07703, 0x03f22112, 0x00a92bc4, 0x00e8ef38, 0x01524089, 0x03f1c4cb, 0x015fcedf, 0x01efc83c, 0x035f53f0, 0x00152d4d}}, Y: Field{[10]uint32{0x01abdee7, 0x0058fb98, 0x026a7b3f, 0x031b59c8, 0x00f5df11, 0x028ba886, 0x02922bdf, 0x01094794, 0x033f0a94, 0x000c6f8a}}}, + {X: Field{[10]uint32{0x0058b3bd, 0x02dfb980, 0x003280d2, 0x03118e7a, 0x00de9033, 0x025368f3, 0x03b9b6a6, 0x03419caf, 0x031b0745, 0x000a0f38}}, Y: Field{[10]uint32{0x00c0245a, 0x00801136, 0x0338ff9d, 0x02a99eaa, 0x010dc1c7, 0x03a074b2, 0x01c24e76, 0x02ed5b8f, 0x00a4d452, 0x003daa52}}}, + {X: Field{[10]uint32{0x00e99967, 0x0059fc84, 0x033e3a60, 0x00c5892e, 0x0148d5f8, 0x0012515e, 0x012419cb, 0x029d51ec, 0x0353117b, 0x002d79d3}}, Y: Field{[10]uint32{0x018dd3e6, 0x0120a01c, 0x01b5e10d, 0x007d33f6, 0x003da833, 0x03ce0c02, 0x03c22e89, 0x03e6aaa0, 0x0354d635, 0x0017d8d5}}}, + {X: Field{[10]uint32{0x03f83080, 0x0159c4f2, 0x031340a8, 0x012c7349, 0x03d587c3, 0x0335476b, 0x00dc776f, 0x00c60c5c, 0x0332cfa3, 0x001a0797}}, Y: Field{[10]uint32{0x0279266a, 0x0106951c, 0x010e38f2, 0x03bfef8e, 0x0276f646, 0x01ff3cc2, 0x00361d9b, 0x039375ed, 0x00b8d144, 0x003161f6}}}, + {X: Field{[10]uint32{0x029f1d0c, 0x01697f40, 0x00621b92, 0x00857fe3, 0x012f28b2, 0x00177d5b, 0x021ec17d, 0x00a27c94, 0x02b7722f, 0x0007ee97}}, Y: Field{[10]uint32{0x0311f5ba, 0x0372fa7a, 0x037d1524, 0x018d6cae, 0x0234283b, 0x032b2d9a, 0x03f287ef, 0x03f537e9, 0x00d997ec, 0x0037c450}}}, + {X: Field{[10]uint32{0x020d0a77, 0x004c029a, 0x00f2031e, 0x01933095, 0x0217855b, 0x00cfc6f3, 0x038fc5a7, 0x022cf3b4, 0x00b0df37, 0x000e2ffd}}, Y: Field{[10]uint32{0x0206b1be, 0x03728719, 0x03dc2520, 0x01979cef, 0x01f35a50, 0x0094dd1d, 0x00485ee3, 0x00a5b993, 0x025df634, 0x001b53c1}}}, + {X: Field{[10]uint32{0x017de831, 0x023dd3b9, 0x015ed6e0, 0x0281df32, 0x03779df8, 0x01ed5e63, 0x00050d52, 0x00992ef9, 0x03c359a9, 0x001c1c04}}, Y: Field{[10]uint32{0x014ea422, 0x032455c0, 0x00c3fda9, 0x029d8cb9, 0x02582313, 0x00f3662b, 0x03b8dcc5, 0x021b0195, 0x01a03153, 0x002e7cde}}}, + {X: Field{[10]uint32{0x01642ef5, 0x028fd8d1, 0x0135a73d, 0x02467799, 0x03fc5b8c, 0x0082416a, 0x010abbb3, 0x00921392, 0x012f7028, 0x002b653b}}, Y: Field{[10]uint32{0x02c88457, 0x01c0b0aa, 0x02bd6cb8, 0x01cdb409, 0x020fdf49, 0x01951485, 0x00011fec, 0x0387cfa6, 0x0013a554, 0x00276fa2}}}, + {X: Field{[10]uint32{0x0362612e, 0x0115613f, 0x001f54f5, 0x021d62e2, 0x00fd174f, 0x0110de17, 0x01ad1552, 0x021da926, 0x01e4e991, 0x0011ed5b}}, Y: Field{[10]uint32{0x00efdced, 0x0356695f, 0x012d986b, 0x03483524, 0x03383d92, 0x03dd4ddd, 0x016117a5, 0x02faddf1, 0x01375855, 0x00028501}}}, + {X: Field{[10]uint32{0x01f431e8, 0x03ded205, 0x036af03c, 0x013433cc, 0x03f31f62, 0x0047ca04, 0x024643af, 0x029a4c7c, 0x024e9291, 0x00146f39}}, Y: Field{[10]uint32{0x0107e552, 0x00eaaebb, 0x02e13a06, 0x01a435d6, 0x03f40c4c, 0x00480e53, 0x0235d284, 0x00891c3b, 0x03d9a301, 0x00023dd0}}}, + {X: Field{[10]uint32{0x03f7a43f, 0x02e550b9, 0x03447a0c, 0x03b80ef1, 0x0083b80b, 0x026d3af8, 0x018e56b4, 0x01683f3a, 0x00feb52c, 0x001d8a1f}}, Y: Field{[10]uint32{0x02a7a7bc, 0x00cfadb8, 0x007ff13e, 0x026f7161, 0x03e9e339, 0x003662c1, 0x01d064a5, 0x0112ef4e, 0x0256fa57, 0x001cdadf}}}, + {X: Field{[10]uint32{0x036b8f5e, 0x02b37037, 0x0155b181, 0x0333c713, 0x028dc29b, 0x006dddc6, 0x011aaa2c, 0x000430c6, 0x039ead01, 0x0018535c}}, Y: Field{[10]uint32{0x002f8085, 0x036d9b43, 0x031664f4, 0x036eabc1, 0x025591ef, 0x00001193, 0x0296c2c5, 0x01eddb22, 0x028fe860, 0x00173353}}}, + {X: Field{[10]uint32{0x024e1bc9, 0x00b4ce97, 0x0380803e, 0x02262598, 0x0035cd58, 0x00354fb4, 0x039404d9, 0x00d7cacc, 0x00c8ee8c, 0x0030e111}}, Y: Field{[10]uint32{0x00cd29f2, 0x02febd9b, 0x03f441f4, 0x02685ae4, 0x031d2ffc, 0x021fea6a, 0x02221092, 0x014baf70, 0x00cdde54, 0x0022d102}}}, + {X: Field{[10]uint32{0x01c8f349, 0x0077dea6, 0x02539239, 0x025cb6ed, 0x0256a1c1, 0x014aff79, 0x019bf028, 0x01bcd760, 0x0249c601, 0x0022a725}}, Y: Field{[10]uint32{0x0369a8ed, 0x03a5d2b5, 0x001afdc6, 0x0168ce46, 0x031797aa, 0x0132d402, 0x00a6030a, 0x0067e9b1, 0x0157be2c, 0x002cb736}}}, + {X: Field{[10]uint32{0x02a04b03, 0x02ccc46f, 0x026bced6, 0x02d0745d, 0x0196292a, 0x0334a35d, 0x010ea0a6, 0x025c2497, 0x011be444, 0x00283d73}}, Y: Field{[10]uint32{0x027ff95b, 0x03e56524, 0x034b868a, 0x00681c73, 0x00c8d793, 0x03912738, 0x0045d923, 0x00a6c338, 0x01e9291b, 0x00349c2c}}}, + {X: Field{[10]uint32{0x033a9614, 0x03530447, 0x03a64709, 0x0372a550, 0x0025c64d, 0x00a38964, 0x03bdbaf0, 0x01661deb, 0x03368767, 0x0029e3c8}}, Y: Field{[10]uint32{0x02a6de83, 0x007c108c, 0x01e7ee24, 0x02690e7d, 0x01de34aa, 0x007d4346, 0x0245b3ab, 0x0116fb94, 0x02c9a5d2, 0x0004d97e}}}, + {X: Field{[10]uint32{0x03391769, 0x03f0f902, 0x03b514a9, 0x00c27b8f, 0x03af6cae, 0x0104e91a, 0x03aa6f5a, 0x00b16e4a, 0x03e3ae48, 0x000eff4d}}, Y: Field{[10]uint32{0x016d1c59, 0x01553c0e, 0x03d66bdc, 0x0019371f, 0x03d0219c, 0x01de3273, 0x02424a07, 0x02c3719b, 0x001834bb, 0x000b64c2}}}, + {X: Field{[10]uint32{0x013881a2, 0x00735c74, 0x00e5d1b4, 0x00f580bb, 0x02d426f2, 0x039e5b4a, 0x036ea757, 0x00748f9d, 0x009a0026, 0x0024b2b1}}, Y: Field{[10]uint32{0x031521c1, 0x02124b95, 0x035dac0d, 0x032061e8, 0x00c7a43a, 0x02303176, 0x023e587a, 0x00df2266, 0x00138e0f, 0x00231dbb}}}, + {X: Field{[10]uint32{0x0356842a, 0x01008502, 0x01d6b829, 0x0379ea5b, 0x03718944, 0x0124d59e, 0x03708941, 0x03719f30, 0x01e00ea7, 0x00033dbb}}, Y: Field{[10]uint32{0x00627cb7, 0x03a343d5, 0x0042ca76, 0x0343d646, 0x020fa070, 0x00f72314, 0x016128a5, 0x01822deb, 0x03d4e939, 0x0038adc5}}}, + {X: Field{[10]uint32{0x0291e17a, 0x006fe0be, 0x0035e3dd, 0x00b44781, 0x00968c8c, 0x02c1b886, 0x02cb92bb, 0x00a5149b, 0x0198ba51, 0x00188132}}, Y: Field{[10]uint32{0x00cd0ea4, 0x0362b765, 0x03939d12, 0x031e6981, 0x03d1ed18, 0x002bca8f, 0x03ae21ef, 0x01972723, 0x015fe783, 0x0005a428}}}, + {X: Field{[10]uint32{0x00c0aa5d, 0x006bff79, 0x03f12ef7, 0x001fc88d, 0x02d8ce07, 0x01ab0b85, 0x0268d13a, 0x000384d4, 0x0348cc55, 0x0028b13e}}, Y: Field{[10]uint32{0x000cd839, 0x03cb5c0f, 0x039509e5, 0x01ea3566, 0x03c403f5, 0x016048ea, 0x03e3906c, 0x03225f2d, 0x000ee608, 0x000e0251}}}, + {X: Field{[10]uint32{0x03656f60, 0x01e1cf7a, 0x024f2b66, 0x03135cc8, 0x016acc8e, 0x00ecb8c2, 0x01a36a6d, 0x00f92f17, 0x03a1cc30, 0x00362bdf}}, Y: Field{[10]uint32{0x00c6de0d, 0x0333fffc, 0x02e5ddd4, 0x006e7b7a, 0x015e14d8, 0x00116c4d, 0x03b39f97, 0x00cf1437, 0x02bd5a55, 0x0027f1fc}}}, + {X: Field{[10]uint32{0x02dea0e7, 0x035dd75d, 0x0390a864, 0x00fb476b, 0x01377073, 0x0014c12f, 0x00e6bbdb, 0x00a46981, 0x00adb873, 0x000fa680}}, Y: Field{[10]uint32{0x0101ded0, 0x023bad02, 0x0063051f, 0x026cc86d, 0x0320a5cb, 0x0066a35d, 0x0124e37f, 0x0313bd4d, 0x0057f6d1, 0x0037ad25}}}, + {X: Field{[10]uint32{0x03dc3d7f, 0x03943974, 0x0136809d, 0x0357a862, 0x01760ca8, 0x0306cab2, 0x014346aa, 0x01883261, 0x02e930aa, 0x0002fbd6}}, Y: Field{[10]uint32{0x00dfc48f, 0x037eb592, 0x03034c0f, 0x028ff8dc, 0x0105da98, 0x03501079, 0x0212b9c7, 0x017d66c0, 0x0042f792, 0x00083603}}}, + {X: Field{[10]uint32{0x0155f67f, 0x00ad2424, 0x0035d592, 0x011e2229, 0x0238215e, 0x03ce5916, 0x01743088, 0x03541db0, 0x01fbcd28, 0x0033505a}}, Y: Field{[10]uint32{0x01e74674, 0x030bc98d, 0x025b929d, 0x03192d6a, 0x00a170da, 0x015b06da, 0x025f2743, 0x01937569, 0x00a21a55, 0x003e798b}}}, + {X: Field{[10]uint32{0x015a4c28, 0x02d810bb, 0x0121d538, 0x004533ce, 0x014bd37b, 0x025f5db3, 0x01a25047, 0x009893f7, 0x01ed34cd, 0x00292da4}}, Y: Field{[10]uint32{0x026af55d, 0x01b08174, 0x02d12c33, 0x01ddcb1c, 0x025c045a, 0x00f8ce5f, 0x030ca545, 0x02d30456, 0x00b16781, 0x003194dd}}}, + {X: Field{[10]uint32{0x00aa4818, 0x01576f62, 0x0047dc9e, 0x0056fe7a, 0x03c2b3a6, 0x02a14303, 0x03cf68fa, 0x02de2065, 0x016a4226, 0x001793a4}}, Y: Field{[10]uint32{0x0398951e, 0x02128c6d, 0x032808d9, 0x0014fac9, 0x03f3395d, 0x0193d2cb, 0x01991f44, 0x014b9972, 0x02a25c7c, 0x000fcf0f}}}, + {X: Field{[10]uint32{0x03a74a7c, 0x011d357a, 0x0105ca5f, 0x02e88653, 0x01f743e6, 0x00293180, 0x011b3ad5, 0x027dcb25, 0x02cff4d6, 0x003751e0}}, Y: Field{[10]uint32{0x00977b99, 0x0304b208, 0x0281d6c7, 0x0247536c, 0x0205d3a7, 0x018a3630, 0x03dd6ae8, 0x03bdf178, 0x035e9854, 0x0025e9ee}}}, + {X: Field{[10]uint32{0x01adce36, 0x02026470, 0x02f0bcc0, 0x01044f92, 0x00281aff, 0x019a701f, 0x03945432, 0x0017b376, 0x02d54ab4, 0x002854c2}}, Y: Field{[10]uint32{0x0263e756, 0x01125612, 0x0168a774, 0x02dbf6ee, 0x01b18550, 0x038aa96c, 0x01dda781, 0x0210b977, 0x02212732, 0x003cf494}}}, + {X: Field{[10]uint32{0x0264719e, 0x035db2a7, 0x013234a2, 0x00cab639, 0x03e5ee0d, 0x00cabd92, 0x014523f2, 0x0393c018, 0x02f7b438, 0x00146493}}, Y: Field{[10]uint32{0x028a8095, 0x01631dc4, 0x00176268, 0x01563ab6, 0x03fdfe6e, 0x02d912fe, 0x036e82b8, 0x0136d59c, 0x01a811f9, 0x0021f045}}}, + {X: Field{[10]uint32{0x03fada6e, 0x03555a14, 0x03563a3b, 0x01701ae5, 0x016ac905, 0x03882a75, 0x03625d4b, 0x0361d041, 0x0268e137, 0x0020b3fb}}, Y: Field{[10]uint32{0x00733b7a, 0x019e61cc, 0x01cc06ff, 0x01e140a9, 0x02a363e9, 0x037b9e9c, 0x02804d76, 0x031471ca, 0x0246c4f5, 0x0037526a}}}, + {X: Field{[10]uint32{0x032e623a, 0x03f5f957, 0x03f30a4e, 0x03f4b30e, 0x02e02b70, 0x00db1f69, 0x021346b0, 0x03bd1016, 0x0076f7f1, 0x0028dce2}}, Y: Field{[10]uint32{0x0204a21a, 0x0365847a, 0x02edf368, 0x00d9606c, 0x02b1204d, 0x01200cc6, 0x00de46e5, 0x014acaf8, 0x012be1ea, 0x001965bd}}}, + {X: Field{[10]uint32{0x0180bcbc, 0x000d960a, 0x01d7dd82, 0x02cc62c3, 0x028d8382, 0x00b33c92, 0x0224fd6b, 0x00635cad, 0x02f7aec8, 0x002b9329}}, Y: Field{[10]uint32{0x018f1ae2, 0x02325eb7, 0x015e9237, 0x02586aa6, 0x03348155, 0x015322ee, 0x02a29f25, 0x01f15c78, 0x020335ad, 0x001a9eb6}}}, + {X: Field{[10]uint32{0x01d12732, 0x03df7ea2, 0x006b1400, 0x0250b614, 0x004d6ac8, 0x03732e72, 0x018d1984, 0x01d8be6c, 0x022bfa9d, 0x002f8cd5}}, Y: Field{[10]uint32{0x0075d442, 0x034b9ba5, 0x008fe473, 0x015a40c1, 0x01c4f5c9, 0x013a1d29, 0x0336cc21, 0x019a9cd4, 0x03b877c6, 0x002d99bb}}}, + {X: Field{[10]uint32{0x03c74446, 0x02e4b68d, 0x01ecf37c, 0x007c1711, 0x03f38289, 0x02983fda, 0x003b2888, 0x00f6e14c, 0x02d9815b, 0x00275f69}}, Y: Field{[10]uint32{0x015b12a8, 0x00ada35d, 0x001ac540, 0x003627f3, 0x00df3d2c, 0x02d04f51, 0x01f6d734, 0x016f8398, 0x007372ba, 0x0011b0a4}}}, + {X: Field{[10]uint32{0x030d4d3f, 0x02a77d0e, 0x02366b62, 0x03edf266, 0x020b5981, 0x02edecef, 0x02028498, 0x030af301, 0x0131e513, 0x000e48cf}}, Y: Field{[10]uint32{0x0116dfd8, 0x038e136e, 0x03c81f97, 0x012ea6bf, 0x001ec57d, 0x0187e9dd, 0x00ac3e1c, 0x03a93d36, 0x017c92e0, 0x003f09e1}}}, + {X: Field{[10]uint32{0x037768be, 0x039450f6, 0x004b43f7, 0x00cea0b6, 0x02547e6f, 0x02d63d06, 0x00d02dd7, 0x03a0ec16, 0x0388db90, 0x0016f8b5}}, Y: Field{[10]uint32{0x03de1026, 0x0127cbdb, 0x00875b90, 0x01ae6899, 0x03d585ef, 0x0213edb3, 0x01396f2e, 0x03e8cf9c, 0x03a86b2d, 0x0002e33c}}}, + {X: Field{[10]uint32{0x00f162ac, 0x01e187a2, 0x035d682f, 0x02f8e09f, 0x027c53a0, 0x01c011e7, 0x03600c25, 0x02853044, 0x01e8191f, 0x000ffd67}}, Y: Field{[10]uint32{0x01c77ba2, 0x01730c8b, 0x024dfd81, 0x03ed79e6, 0x0308ae4e, 0x009e6847, 0x03f5f60c, 0x02db9efb, 0x01856ab0, 0x00009756}}}, + {X: Field{[10]uint32{0x019a256f, 0x01d6f05c, 0x01b5875f, 0x029398c1, 0x00b61a18, 0x02803e36, 0x02d9475d, 0x00648262, 0x0030ed22, 0x00207727}}, Y: Field{[10]uint32{0x014682a5, 0x01e34a3d, 0x03fc2ca6, 0x00913503, 0x009cccf0, 0x01a6897e, 0x038f9c98, 0x032c9e9b, 0x005e5c44, 0x000a5c1d}}}, + {X: Field{[10]uint32{0x0370e9da, 0x0168f926, 0x00d24f76, 0x010eedea, 0x02ea3869, 0x00c353d2, 0x036121b2, 0x01026455, 0x0216579c, 0x002e8f87}}, Y: Field{[10]uint32{0x02c72f4e, 0x02088d8c, 0x02abd90f, 0x039956ae, 0x0154eb0d, 0x034c39ec, 0x01d8d9c7, 0x03e99e2a, 0x0008653c, 0x00287bae}}}, + {X: Field{[10]uint32{0x03f854f8, 0x02271220, 0x0304ca05, 0x0250ee5b, 0x01fa66d1, 0x02df479a, 0x01f52a51, 0x02bb8450, 0x028150fa, 0x0000d7ff}}, Y: Field{[10]uint32{0x01366fad, 0x03422a32, 0x00dc9b7d, 0x018c181c, 0x00b4ad31, 0x03c44170, 0x00a09b8d, 0x01b74ff3, 0x0022e83f, 0x00359a86}}}, + {X: Field{[10]uint32{0x00763a06, 0x0142ab58, 0x00f685b9, 0x038f95c9, 0x038b50d7, 0x00e2e605, 0x0214c0ae, 0x03e5c870, 0x00221435, 0x000e63af}}, Y: Field{[10]uint32{0x00811f46, 0x016e0120, 0x03011682, 0x021c5240, 0x0115551b, 0x030b233a, 0x00d4da7f, 0x03baaff3, 0x009d0eb2, 0x0030b7d5}}}, + {X: Field{[10]uint32{0x00a89e96, 0x0284e243, 0x01a0d6cf, 0x00aa913f, 0x029ca89d, 0x01397387, 0x018511a8, 0x029d7474, 0x0333e7d0, 0x000ae89f}}, Y: Field{[10]uint32{0x017cf4a7, 0x02d98ae6, 0x02f19c6b, 0x0153f304, 0x0045c2ac, 0x02472845, 0x039946cc, 0x01d70e3c, 0x004b8323, 0x001408da}}}, + {X: Field{[10]uint32{0x01e829c2, 0x034547be, 0x0014465c, 0x00fbc7fc, 0x032b5497, 0x014c60ba, 0x02cd4856, 0x007e4813, 0x023e7ec5, 0x001095c1}}, Y: Field{[10]uint32{0x01232c1c, 0x01518ad5, 0x015d747c, 0x016a04ab, 0x00919f8b, 0x01a6af59, 0x009ab35b, 0x00145447, 0x034116dd, 0x0011cd47}}}, + {X: Field{[10]uint32{0x034063a8, 0x03c5cb66, 0x006ebe3e, 0x025623b9, 0x0180da81, 0x00b95946, 0x0218582d, 0x03295a50, 0x03c1b5b3, 0x001df9cd}}, Y: Field{[10]uint32{0x01d1587a, 0x038830a2, 0x007b50e0, 0x017135ec, 0x03651ae4, 0x032e44b8, 0x008d4f11, 0x0262b4df, 0x01c5e667, 0x0003df2d}}}, + {X: Field{[10]uint32{0x00cdaa4f, 0x03bb1e8d, 0x028c44a7, 0x010d1ed7, 0x01ef027d, 0x02932dcb, 0x02f98b82, 0x02307ef7, 0x024d7101, 0x0037f2ed}}, Y: Field{[10]uint32{0x03972a23, 0x02c31765, 0x01a92e06, 0x0160b72a, 0x01bc2f4e, 0x014713c2, 0x03379e87, 0x01d6222b, 0x01bcc720, 0x0037f033}}}, + {X: Field{[10]uint32{0x0355ae8a, 0x0258ab74, 0x00e78ce6, 0x0388a94b, 0x01b39855, 0x011b5c62, 0x02c52567, 0x007a38ca, 0x02d0a787, 0x0023ada1}}, Y: Field{[10]uint32{0x00cc30da, 0x038cc71b, 0x02a5ed71, 0x01d5ba29, 0x0389b796, 0x0308b17e, 0x00afe424, 0x00a0dff4, 0x0211fec5, 0x003aa2cd}}}, + {X: Field{[10]uint32{0x02cc3e54, 0x025ac74d, 0x0298785a, 0x00b6fa9e, 0x02ee5652, 0x0313083f, 0x02703ff8, 0x00b754c5, 0x0313ebaf, 0x00345f61}}, Y: Field{[10]uint32{0x01c10b54, 0x007616f7, 0x038b5682, 0x01c9391b, 0x00e9fdb8, 0x03e25074, 0x00a7a19b, 0x018b2a76, 0x03e86d78, 0x003a9c2d}}}, + {X: Field{[10]uint32{0x00b3ba89, 0x000df88c, 0x02cfa3ec, 0x007e0b35, 0x02249c47, 0x0053bbb6, 0x02d28e9c, 0x00287215, 0x03e6ae05, 0x001f531d}}, Y: Field{[10]uint32{0x0265fe60, 0x01cffa58, 0x027bcea7, 0x0230f686, 0x01900ad6, 0x009f440b, 0x0180f393, 0x037e4d2c, 0x0253f5fb, 0x0031681d}}}, + {X: Field{[10]uint32{0x017ebcab, 0x014306d3, 0x01e88f4f, 0x03b4378e, 0x003721dc, 0x02c942f3, 0x021d51b3, 0x0179a1b5, 0x0109451e, 0x00258e04}}, Y: Field{[10]uint32{0x00801b64, 0x01745959, 0x003947f1, 0x00529c8a, 0x0209f065, 0x035bc3f9, 0x017642bd, 0x032951fc, 0x0019b088, 0x0025263d}}}, + {X: Field{[10]uint32{0x038c2ba7, 0x02be42a5, 0x00d208af, 0x020ff68f, 0x0385f44e, 0x023d3a54, 0x02da8f2f, 0x00f5cdec, 0x01505435, 0x001d002d}}, Y: Field{[10]uint32{0x01909771, 0x022ab9ff, 0x008be6b1, 0x00749d41, 0x02e36bed, 0x036c7572, 0x0129a04c, 0x00d9df88, 0x00a3ce50, 0x00264ceb}}}, + {X: Field{[10]uint32{0x026ff59f, 0x00792e81, 0x01be2a01, 0x030e4ed4, 0x00d1de3b, 0x03c4baf6, 0x02f59639, 0x02ff49c7, 0x0011fff7, 0x000f5ec3}}, Y: Field{[10]uint32{0x02404b9d, 0x007133cc, 0x01789b79, 0x00bdd51a, 0x008bddb1, 0x02a21851, 0x01eb57d8, 0x02839738, 0x00317f7c, 0x002d8e5d}}}, + {X: Field{[10]uint32{0x01c46328, 0x01bd33d9, 0x0343c5cd, 0x0377f78d, 0x0245d128, 0x03237665, 0x03125455, 0x01fc5398, 0x01ec7ebf, 0x00125136}}, Y: Field{[10]uint32{0x00589996, 0x009c6fcb, 0x01d1f5bf, 0x036449b2, 0x035c2f49, 0x02747cf4, 0x01cd408c, 0x02bb04ca, 0x019313ba, 0x003c1954}}}, + {X: Field{[10]uint32{0x01bdecf1, 0x0391b49e, 0x00b5189c, 0x00cda6eb, 0x01f37b99, 0x03822cd5, 0x0207d6d8, 0x02c743e1, 0x032b4764, 0x00265810}}, Y: Field{[10]uint32{0x03160ebd, 0x02b15ac1, 0x0386578f, 0x03e37aea, 0x03f7e1a9, 0x030852b7, 0x0200ea9e, 0x034be8a4, 0x034c0921, 0x000c13ae}}}, + {X: Field{[10]uint32{0x033de4d6, 0x0212a8ee, 0x0281d9ca, 0x01658cc5, 0x019196cc, 0x009ad77b, 0x03409cc7, 0x015963f0, 0x035b6358, 0x000c4fd4}}, Y: Field{[10]uint32{0x016c9716, 0x01024bf1, 0x01fb3dd6, 0x03fe3266, 0x0159b049, 0x0007fd3c, 0x0323bcfd, 0x0383af97, 0x008aa55f, 0x00394469}}}, + {X: Field{[10]uint32{0x008ed7b2, 0x03c0d315, 0x01bcb3cc, 0x03597004, 0x00c99478, 0x03d3dd3b, 0x01b9006e, 0x01b7036e, 0x006f8cd3, 0x00217116}}, Y: Field{[10]uint32{0x03434229, 0x02d34416, 0x01f63a75, 0x01699d8e, 0x00144c8c, 0x03e6c01c, 0x02325923, 0x0175b371, 0x03c0045c, 0x00335a54}}}, + {X: Field{[10]uint32{0x00671af8, 0x01c1be65, 0x0251d21d, 0x0036d935, 0x03d489b2, 0x01ce07ba, 0x01b668db, 0x00d6747b, 0x02d2a7fc, 0x0025a2f1}}, Y: Field{[10]uint32{0x00725186, 0x02f6df3c, 0x033ce0d0, 0x03f02d4b, 0x02de88bc, 0x0396545f, 0x032f3304, 0x01c1f306, 0x02a3723d, 0x003ec2b5}}}, + {X: Field{[10]uint32{0x0328985d, 0x023158ef, 0x024200e5, 0x03373fda, 0x0326d343, 0x01bb03a1, 0x00c72215, 0x039dfb9b, 0x00eb3722, 0x0008c96b}}, Y: Field{[10]uint32{0x038d39e1, 0x03323fe1, 0x03a5a21a, 0x03f7a06e, 0x0019b9c8, 0x03cfa7bb, 0x02596836, 0x0165e3ca, 0x0353dd29, 0x0018069f}}}, + {X: Field{[10]uint32{0x03acd2e4, 0x001ff759, 0x01dff054, 0x00d61f0c, 0x024b1c93, 0x02abcca9, 0x00667f99, 0x00efab70, 0x02abb231, 0x00231b9d}}, Y: Field{[10]uint32{0x0250c29f, 0x01444b47, 0x02a46b3f, 0x00b8d036, 0x023d7bb9, 0x00a6ce43, 0x03b19c42, 0x037ceb24, 0x0050d422, 0x0009f8ee}}}, + {X: Field{[10]uint32{0x0236748f, 0x03508c17, 0x037af9d8, 0x02a22e60, 0x000352e7, 0x0354e285, 0x02b2c728, 0x0234f935, 0x02313446, 0x0038c7fb}}, Y: Field{[10]uint32{0x010309be, 0x02686c9b, 0x00139e41, 0x00f8a035, 0x0237f9df, 0x02684078, 0x03974f6b, 0x0123e24d, 0x02e12d19, 0x00226c25}}}, + {X: Field{[10]uint32{0x00d306c6, 0x0305f52c, 0x02981215, 0x02c19eb8, 0x00da748a, 0x03968ce6, 0x0342fdd7, 0x0012d1f1, 0x006e8494, 0x00165ad6}}, Y: Field{[10]uint32{0x02a0a16b, 0x03863e18, 0x02791ff6, 0x0180acb3, 0x012ac277, 0x036b7c86, 0x00e8f05e, 0x031c4579, 0x00c5912c, 0x003a5b17}}}, + {X: Field{[10]uint32{0x01aa1c02, 0x01492185, 0x03317714, 0x028e0c4f, 0x03d453d5, 0x006549c3, 0x019c3b71, 0x00032e86, 0x01675cf5, 0x00080330}}, Y: Field{[10]uint32{0x0320ce61, 0x01e73d54, 0x024b3e7b, 0x013b05f7, 0x011905e2, 0x024900dc, 0x005c1334, 0x010a7191, 0x00c87e34, 0x001e02ab}}}, + {X: Field{[10]uint32{0x02d2025f, 0x017a774a, 0x01767dfb, 0x01be04cc, 0x0370f0e9, 0x01e93c91, 0x01148f87, 0x007f3c1e, 0x0032e10e, 0x001f9355}}, Y: Field{[10]uint32{0x03aa432a, 0x02d49458, 0x0136eec0, 0x03284f8c, 0x01fa58f0, 0x0105e60b, 0x03f5fd7d, 0x00a0dfcd, 0x03b26ee8, 0x000d7d76}}}, + {X: Field{[10]uint32{0x000237b7, 0x02edef67, 0x030e5776, 0x01e4d4a1, 0x00ff21f8, 0x01bac430, 0x038f800b, 0x01f9b9e9, 0x010895c9, 0x00307b5d}}, Y: Field{[10]uint32{0x03418fb9, 0x005063fa, 0x01bb1d8b, 0x02565c82, 0x01a38e80, 0x013ffb0f, 0x031e89f6, 0x02aa2670, 0x02068dc0, 0x00241c8e}}}, + {X: Field{[10]uint32{0x02104770, 0x0339cc2c, 0x018defc7, 0x02b9a55b, 0x029948dd, 0x00576374, 0x01239b2a, 0x02027e0f, 0x02e8a53e, 0x00397f52}}, Y: Field{[10]uint32{0x031c4fa2, 0x00bc37bd, 0x0112ade0, 0x03d77d30, 0x03050c7b, 0x017cb76e, 0x00e8ebd3, 0x00865c82, 0x029c1cbb, 0x001a9376}}}, + {X: Field{[10]uint32{0x0251f30d, 0x01bab076, 0x03f2ca76, 0x0057d9cc, 0x03e3534d, 0x00be7b3b, 0x0372cdb4, 0x02f621ea, 0x01f24b33, 0x0000f39d}}, Y: Field{[10]uint32{0x02838ed7, 0x03c132c6, 0x0136213b, 0x02334f72, 0x01a43eb4, 0x00a2bd56, 0x00e9b5d8, 0x03db898b, 0x015b51dd, 0x0027b68c}}}, + {X: Field{[10]uint32{0x0013391c, 0x033bcee2, 0x01d34ad8, 0x02a23867, 0x00527fb9, 0x01fb7d66, 0x018d8ce7, 0x00735392, 0x004f33a8, 0x00263013}}, Y: Field{[10]uint32{0x038bd3a7, 0x03c185ff, 0x01949483, 0x00ea3fc8, 0x03acb484, 0x00158255, 0x0371c463, 0x03e04bd0, 0x0167f853, 0x003f4af3}}}, + {X: Field{[10]uint32{0x0287bbf3, 0x02281e42, 0x001b10fc, 0x00a1b905, 0x01f3d2dd, 0x004f390f, 0x00e62f84, 0x032c1b2f, 0x00882906, 0x000143a7}}, Y: Field{[10]uint32{0x002fa3fb, 0x01890f36, 0x00a9ce1c, 0x0168bcf2, 0x02479a61, 0x028111d2, 0x01eefb2b, 0x006731a1, 0x013bb05f, 0x00010f1c}}}, + {X: Field{[10]uint32{0x03adf2d1, 0x022a0c50, 0x023a2eeb, 0x0190a9cf, 0x0071bf65, 0x03c86ddb, 0x00faa663, 0x0378ec19, 0x0217458b, 0x0017506e}}, Y: Field{[10]uint32{0x03b6cec5, 0x031117d5, 0x0351087c, 0x029da1d8, 0x0307f64f, 0x01eac163, 0x039e22b0, 0x008564ac, 0x0054b308, 0x0005fbff}}}, + {X: Field{[10]uint32{0x00d5b077, 0x00e3e749, 0x023e789d, 0x018191bf, 0x026b34cc, 0x0364b81d, 0x003cb8e1, 0x0164edba, 0x00bf2a02, 0x00138ccb}}, Y: Field{[10]uint32{0x039e1f95, 0x00aa1679, 0x01955c8b, 0x00f77b34, 0x01744ad0, 0x0278e478, 0x03699859, 0x000c0256, 0x005c3ab9, 0x00143e9d}}}, + {X: Field{[10]uint32{0x01a2dae9, 0x005baecd, 0x013f8347, 0x01f3776d, 0x03c83cd4, 0x00d04141, 0x017455e4, 0x02096f0d, 0x029d27ee, 0x0006efd8}}, Y: Field{[10]uint32{0x01e9bb75, 0x03ea250f, 0x0370971f, 0x01a58074, 0x018fb72f, 0x002f6179, 0x000070ec, 0x014fcd3d, 0x00c1e997, 0x00214242}}}, + {X: Field{[10]uint32{0x01cde650, 0x03d6c06d, 0x01b8aa25, 0x026f71e7, 0x0023aece, 0x03af72cc, 0x00cb3f5d, 0x0358aab4, 0x02eff9db, 0x002a4526}}, Y: Field{[10]uint32{0x00c327bd, 0x03c2fdad, 0x01a79918, 0x02318766, 0x02ae3c14, 0x037da1b5, 0x00a16d09, 0x00447d1a, 0x0346e6db, 0x0029eed2}}}, + {X: Field{[10]uint32{0x01b72a71, 0x0385c87f, 0x0037ffc5, 0x0375d7e0, 0x03b98ffc, 0x02c876b2, 0x01e5b406, 0x03590867, 0x01ee0185, 0x00200402}}, Y: Field{[10]uint32{0x03e26441, 0x00b96bcd, 0x010f2daf, 0x00162619, 0x01382839, 0x01171d7c, 0x0136f706, 0x02b5b077, 0x020957c7, 0x003a0859}}}, + {X: Field{[10]uint32{0x00ba6770, 0x01a2a1b0, 0x0068ab73, 0x00e4e401, 0x0096c6b6, 0x01bc4cbb, 0x02345846, 0x03d9e82c, 0x019ae466, 0x00301c3a}}, Y: Field{[10]uint32{0x00769362, 0x01124154, 0x00171a15, 0x033e703c, 0x03be6f8f, 0x02ca47ff, 0x016f77e3, 0x013d5a29, 0x03df358d, 0x00220fea}}}, + {X: Field{[10]uint32{0x00109f4a, 0x017fc7d5, 0x039da71c, 0x014c77fd, 0x018e028c, 0x0342be68, 0x03549a9e, 0x009d85e3, 0x0239cf61, 0x001afa25}}, Y: Field{[10]uint32{0x0204cf14, 0x017f6ce5, 0x02e0d821, 0x03c5b5d9, 0x00ff2dd6, 0x03e65c31, 0x0292f38f, 0x0244c49a, 0x017ddd37, 0x001ddebb}}}, + {X: Field{[10]uint32{0x0224ce8c, 0x016bf165, 0x01009219, 0x0014ae76, 0x03100945, 0x036ec6a1, 0x0052e796, 0x00792808, 0x01d41ce7, 0x00347f4c}}, Y: Field{[10]uint32{0x013fded1, 0x00425249, 0x01a2e5b5, 0x02aba8af, 0x0136d5f2, 0x02183979, 0x02796d91, 0x000a77aa, 0x03d378a8, 0x003cd5ea}}}, + {X: Field{[10]uint32{0x03169d9e, 0x0351a6e3, 0x010337ae, 0x022bab66, 0x02614c32, 0x02909a65, 0x01e617c0, 0x03c52cf3, 0x002d66fe, 0x0007214e}}, Y: Field{[10]uint32{0x038a71f9, 0x02257bc1, 0x01113a8f, 0x0137f6fe, 0x01e2406a, 0x01c9f669, 0x018702ab, 0x039aa13d, 0x031cb236, 0x0016316b}}}, + {X: Field{[10]uint32{0x0336b5ea, 0x03b7f653, 0x0212e272, 0x02dd0f2e, 0x03eec32c, 0x0304a2b5, 0x025c2d52, 0x019edd0b, 0x01edd5fd, 0x000b63ea}}, Y: Field{[10]uint32{0x032cd37d, 0x026b4763, 0x0331f0aa, 0x0103de01, 0x02231453, 0x0325930c, 0x0133af4b, 0x00a827e5, 0x033937eb, 0x001c6c57}}}, + {X: Field{[10]uint32{0x03dbafb4, 0x00e048b7, 0x00c954c5, 0x031a1c0c, 0x0240ceb1, 0x014376f7, 0x00d0a159, 0x031659c0, 0x0379d9f6, 0x0013d448}}, Y: Field{[10]uint32{0x0248c05b, 0x01f020d0, 0x01674c7f, 0x03ef80e0, 0x034b320a, 0x01f76159, 0x0061980c, 0x037d7aea, 0x0305f864, 0x001537a6}}}, + {X: Field{[10]uint32{0x01e7cd1c, 0x02348b36, 0x02834016, 0x0173b64f, 0x032c6999, 0x0350fb28, 0x02609496, 0x00b08563, 0x01ba4856, 0x002697e4}}, Y: Field{[10]uint32{0x0322b86b, 0x0034aa6d, 0x036382d4, 0x00fb84bd, 0x0129bfa3, 0x02b3e714, 0x01b11266, 0x03b28b80, 0x03ecc668, 0x0027e228}}}, + {X: Field{[10]uint32{0x02f9f610, 0x01df7614, 0x03cf0065, 0x03f83563, 0x01d84d54, 0x020cedd7, 0x00cc6b6e, 0x03eb9313, 0x0102d417, 0x003768c1}}, Y: Field{[10]uint32{0x015469a1, 0x036ff045, 0x02b0c5d4, 0x01e9b1fe, 0x0207f4c5, 0x000b8a90, 0x005468d1, 0x019079b5, 0x01da2e74, 0x003eee23}}}, + {X: Field{[10]uint32{0x0326e117, 0x036978d6, 0x025e8e88, 0x02c58635, 0x000600df, 0x00c7397d, 0x00e50cc6, 0x00507612, 0x027c5586, 0x00234ba7}}, Y: Field{[10]uint32{0x0251aa86, 0x0287b400, 0x009a9e33, 0x02f3dd8f, 0x02bb72fa, 0x0170a955, 0x01ab4fd8, 0x01f15355, 0x01ecffd6, 0x0026270e}}}, + {X: Field{[10]uint32{0x001ee995, 0x029f2a59, 0x01bbfa27, 0x03378f56, 0x0310c911, 0x00f47689, 0x031cee1c, 0x00f5b2c1, 0x0076e6b6, 0x001c9b38}}, Y: Field{[10]uint32{0x010af9c1, 0x02588b98, 0x015951c4, 0x02043522, 0x0206ea5e, 0x022ad74d, 0x02d01acd, 0x03e34d34, 0x02a0c91f, 0x0013906e}}}, + {X: Field{[10]uint32{0x02a43a1a, 0x02eb366f, 0x017aa27d, 0x01c7b4ba, 0x02c0d429, 0x027a5418, 0x02c0dc2c, 0x000f4fee, 0x01fe1835, 0x0037af24}}, Y: Field{[10]uint32{0x022d2f11, 0x01e8ccef, 0x00100d49, 0x0323fda2, 0x026dfdf3, 0x0357c9b9, 0x03b2ab80, 0x033a6bcc, 0x0315a6fe, 0x0004d64d}}}, + {X: Field{[10]uint32{0x00fd4b28, 0x017a443c, 0x00f41c58, 0x013b5ac9, 0x03237c79, 0x01cbfcb5, 0x0039e8c4, 0x012ae39c, 0x03357791, 0x00314e50}}, Y: Field{[10]uint32{0x0126087b, 0x01bf1533, 0x0310d1fc, 0x03da691c, 0x0123c26c, 0x002a8a83, 0x03041128, 0x027139ec, 0x019b628a, 0x000a014d}}}, + {X: Field{[10]uint32{0x005f29b0, 0x022f1e68, 0x00e1cc99, 0x00412fb9, 0x0072b818, 0x022a3ebb, 0x02bf1fbe, 0x0002c600, 0x02fd33c3, 0x00268a24}}, Y: Field{[10]uint32{0x01186e33, 0x03dcbfd1, 0x00bebb37, 0x0177d7ea, 0x00553870, 0x01738df3, 0x02ebc53a, 0x0004d948, 0x023bc2fa, 0x00265fc4}}}, + {X: Field{[10]uint32{0x039a351a, 0x0160412c, 0x0279f4c5, 0x02ff5cf7, 0x001503bb, 0x0382fc60, 0x017fe427, 0x013ef9fb, 0x00ac0f22, 0x0035288b}}, Y: Field{[10]uint32{0x02ce752b, 0x02bdae0e, 0x02860341, 0x00442a0b, 0x02232603, 0x01238d1a, 0x01133495, 0x00b824a9, 0x02973062, 0x00209a3f}}}, + {X: Field{[10]uint32{0x00c11659, 0x01653ee7, 0x0003c077, 0x02ee1df7, 0x0111d4d2, 0x001c27ee, 0x0014963b, 0x02f87635, 0x03ff15ad, 0x0012933c}}, Y: Field{[10]uint32{0x01ced874, 0x03b75834, 0x0336fc2d, 0x002f0e7f, 0x035109a3, 0x03a992b4, 0x00418100, 0x0254a989, 0x018336f1, 0x0015f211}}}, + {X: Field{[10]uint32{0x018e1539, 0x026fc305, 0x02f441f6, 0x009e1c72, 0x00e85e0b, 0x00b28992, 0x00836cf4, 0x0354c263, 0x00edb580, 0x0016303b}}, Y: Field{[10]uint32{0x0042467e, 0x005e0fba, 0x03fd7412, 0x0027e847, 0x0292e54a, 0x000b346a, 0x023d36f7, 0x02f25139, 0x00491e1d, 0x003abde7}}}, + {X: Field{[10]uint32{0x024892bb, 0x03326fdc, 0x0016f634, 0x0009fd39, 0x03261323, 0x03961a8c, 0x02154f3f, 0x01fa24e2, 0x00e8a60c, 0x002c3ef4}}, Y: Field{[10]uint32{0x02a5d3c3, 0x00cc31e0, 0x03d079a0, 0x024c4df0, 0x026dd83f, 0x0012662e, 0x00fcb501, 0x03d036d5, 0x027d6757, 0x0009ee9d}}}, + {X: Field{[10]uint32{0x0192f0d3, 0x01b630b6, 0x000818c1, 0x03de132d, 0x00ee90c2, 0x013bc611, 0x01fecf3e, 0x004d6849, 0x012a26b0, 0x002a52b8}}, Y: Field{[10]uint32{0x018e2050, 0x0229d808, 0x03c95bbc, 0x00d8221d, 0x02e046fe, 0x02ee8f59, 0x0016a6f6, 0x01d6571e, 0x03ba665e, 0x0028dd11}}}, + {X: Field{[10]uint32{0x00dcbeb5, 0x02f8c223, 0x02eeb9ad, 0x0101cc16, 0x00c540e2, 0x03e40137, 0x036c4844, 0x013eb8ca, 0x009b3eb7, 0x00232f6c}}, Y: Field{[10]uint32{0x00c932fe, 0x01cb3d0d, 0x023b810e, 0x01146d27, 0x01912df7, 0x0139685a, 0x007b14c0, 0x03bf4bfc, 0x03a291f6, 0x0000ae18}}}, + {X: Field{[10]uint32{0x00cdbac8, 0x00e721cd, 0x03afcf8f, 0x0071034d, 0x020ab313, 0x01422af5, 0x02fb89ed, 0x03af8731, 0x02c3b70e, 0x000fe33e}}, Y: Field{[10]uint32{0x0158b65e, 0x0124e84b, 0x01321f0c, 0x021ed10f, 0x01a68b52, 0x0122592d, 0x00b303db, 0x03c975e5, 0x0111846e, 0x0036ec08}}}, + {X: Field{[10]uint32{0x0315b25b, 0x01f69837, 0x004b9054, 0x0136ceb2, 0x0331fcaf, 0x020598c2, 0x03e9a4e1, 0x039e704b, 0x00e0cea3, 0x002d8581}}, Y: Field{[10]uint32{0x01b86801, 0x03a7660a, 0x0192cea2, 0x02224063, 0x00317d53, 0x02849929, 0x0265b41b, 0x03e96d59, 0x03ad9ea0, 0x0006abca}}}, + {X: Field{[10]uint32{0x011327d7, 0x021bbc11, 0x00a3f07c, 0x028d9347, 0x02fa51bd, 0x03ef5a2d, 0x026630a7, 0x02ce3870, 0x00103c6a, 0x003ac39d}}, Y: Field{[10]uint32{0x00e82e6d, 0x01a05eb8, 0x037d44c3, 0x0330bb8d, 0x0045cdaa, 0x027edd0e, 0x001c9c7d, 0x034f0655, 0x001757c4, 0x0037e814}}}, + {X: Field{[10]uint32{0x0156b7ae, 0x0342fda5, 0x0144f4bc, 0x01f92c95, 0x031fcfdd, 0x01d8b012, 0x02d28126, 0x03993236, 0x0103be51, 0x0018dbf1}}, Y: Field{[10]uint32{0x013f4cd9, 0x021c0e8c, 0x011e6984, 0x0375414b, 0x02b633c8, 0x022df621, 0x03b6735a, 0x010525fc, 0x030f0510, 0x0015ee0e}}}, + {X: Field{[10]uint32{0x012ab330, 0x031cd639, 0x02288c15, 0x01953a8f, 0x005ba9dc, 0x034b7867, 0x02fc2bd1, 0x008d6f1a, 0x00ec4d42, 0x000bf31c}}, Y: Field{[10]uint32{0x016a30ce, 0x01df9949, 0x01069395, 0x03a09467, 0x0135bde8, 0x03f36da5, 0x024cbbfc, 0x00788b6d, 0x00182bfa, 0x001a8d58}}}, + {X: Field{[10]uint32{0x02a94b54, 0x0043889f, 0x007d01cd, 0x0396f56f, 0x0183be81, 0x01af7ea5, 0x00969ebd, 0x02e2ff6e, 0x02c38d38, 0x00045401}}, Y: Field{[10]uint32{0x0080e08a, 0x01687508, 0x02780250, 0x00e9cc94, 0x023fac02, 0x01ba1e00, 0x0339e83f, 0x00feea6b, 0x010216eb, 0x001810eb}}}, + {X: Field{[10]uint32{0x01b3aaf1, 0x0194fca3, 0x019a515b, 0x021afb70, 0x013756a9, 0x03f95340, 0x00a2da82, 0x0070a583, 0x025a15ba, 0x00005f55}}, Y: Field{[10]uint32{0x03c7399c, 0x012b5ea6, 0x00c35f27, 0x0064cd4d, 0x027a6338, 0x0274c494, 0x00b05aab, 0x002cf92e, 0x01dd4204, 0x00245eee}}}, + {X: Field{[10]uint32{0x03221ef2, 0x01d31b5a, 0x0330e023, 0x022ad20b, 0x01d2af8f, 0x00f96f2a, 0x00598f7a, 0x00710c2e, 0x00898850, 0x00037309}}, Y: Field{[10]uint32{0x03652e72, 0x01919193, 0x02b0a578, 0x02d667c7, 0x01cd14ca, 0x03c037b3, 0x03102a6e, 0x03b14ac7, 0x017dd5c6, 0x002a165d}}}, + {X: Field{[10]uint32{0x011f0b0f, 0x00fea3cd, 0x03a03d83, 0x030f50f2, 0x03ae2cf9, 0x03a0229f, 0x01919db6, 0x00c2df37, 0x039f4e94, 0x0029a2ca}}, Y: Field{[10]uint32{0x00786526, 0x0096f165, 0x00f66d65, 0x0137cbe7, 0x017f45b1, 0x009de008, 0x015614d9, 0x00248e3a, 0x0232d3ad, 0x0038d2e2}}}, + {X: Field{[10]uint32{0x010e9462, 0x0020a7e3, 0x013c2319, 0x005d1c0b, 0x01fe7e2f, 0x02b5654e, 0x02d11e9e, 0x00466174, 0x025a938e, 0x000be553}}, Y: Field{[10]uint32{0x03b16dd5, 0x02ac79c2, 0x02c61e55, 0x02fe7e26, 0x01f6aaa6, 0x01a8e4ec, 0x02fecc84, 0x01f502e8, 0x0379fa8b, 0x002cbc34}}}, + {X: Field{[10]uint32{0x027ffe4f, 0x00e4e330, 0x03556fa9, 0x0234f33f, 0x033cc33c, 0x02ecb77a, 0x03fcae86, 0x0253f66c, 0x01136bca, 0x00088f4f}}, Y: Field{[10]uint32{0x01512915, 0x01329614, 0x00ec09c7, 0x02294eed, 0x0327f6cd, 0x00f58866, 0x016f7dd8, 0x0061f309, 0x0106e317, 0x0021f864}}}, + {X: Field{[10]uint32{0x028f7b2e, 0x020d2b67, 0x02abf517, 0x00ae83ce, 0x00b61443, 0x02d3d257, 0x01f3a3e9, 0x0186d90f, 0x00e82911, 0x00156476}}, Y: Field{[10]uint32{0x026d07c2, 0x03bd6503, 0x01416673, 0x01fb1028, 0x0130b3fe, 0x02e91c67, 0x03d454eb, 0x01f94b66, 0x0235f626, 0x000b235a}}}, + {X: Field{[10]uint32{0x01f29a29, 0x024dd451, 0x02252c8e, 0x0078b939, 0x03414184, 0x027a6bbe, 0x00cbaecb, 0x0068521c, 0x004ad15d, 0x003acb3f}}, Y: Field{[10]uint32{0x0052e5ac, 0x019c855c, 0x00b955bc, 0x0035b4d7, 0x00e62f21, 0x01d94054, 0x0304c79c, 0x03664ade, 0x020810bf, 0x001e2043}}}, + {X: Field{[10]uint32{0x00a3f74b, 0x0178fa7b, 0x0392700d, 0x01f4b867, 0x02bdcdb4, 0x00e7310d, 0x00b1d4c5, 0x02a06179, 0x03f99680, 0x001844b0}}, Y: Field{[10]uint32{0x00da4403, 0x03694ae6, 0x00f353b8, 0x01f1a9a4, 0x02f2579d, 0x007db2a5, 0x008f9d40, 0x022feb6b, 0x03dd723c, 0x001ba182}}}, + {X: Field{[10]uint32{0x03d58b16, 0x02477b69, 0x015797b3, 0x00535f8c, 0x03b9b329, 0x0283c5f0, 0x002c23b9, 0x0362c031, 0x00d8d552, 0x00224848}}, Y: Field{[10]uint32{0x01cf7941, 0x0008c5ad, 0x00edf325, 0x025b33c3, 0x03cc4a94, 0x02f7300d, 0x013d1f64, 0x01e3cbe4, 0x03acb3c7, 0x00398948}}}, + {X: Field{[10]uint32{0x03c4dc0a, 0x0347a447, 0x021c5ecb, 0x01245a11, 0x0160ca4a, 0x018c1129, 0x03155839, 0x034ef808, 0x0056217a, 0x0011d62d}}, Y: Field{[10]uint32{0x01d83679, 0x0121e336, 0x027ca960, 0x01ec0f13, 0x03bb7498, 0x030c2b06, 0x03eec6a1, 0x025cfc15, 0x015a4f30, 0x00267909}}}, + {X: Field{[10]uint32{0x025629da, 0x039d5d5b, 0x02143b99, 0x031f658b, 0x03a3b95d, 0x01e11e6b, 0x03a0c6f9, 0x01ea1e5f, 0x02a69a20, 0x002ac108}}, Y: Field{[10]uint32{0x01823faa, 0x01b8b8e9, 0x02dfa7a0, 0x01c12653, 0x0184af0f, 0x02e37f3b, 0x00280c32, 0x026157af, 0x010f00fc, 0x001cce63}}}, + {X: Field{[10]uint32{0x0145d227, 0x02b50fb5, 0x01b20ee7, 0x02983c28, 0x01852cc7, 0x020a4dd3, 0x010b4c35, 0x002c50c3, 0x032accb9, 0x00066010}}, Y: Field{[10]uint32{0x028b05c5, 0x023696e7, 0x01546766, 0x03e3cb94, 0x0069c919, 0x02e626f4, 0x03d1a0e9, 0x0233acab, 0x0073bfbc, 0x0025ab8e}}}, + {X: Field{[10]uint32{0x00e93f17, 0x01894bb8, 0x010cbb71, 0x0055d0f5, 0x0293b8a0, 0x02aefbcf, 0x0361cd72, 0x03eceb29, 0x037fe2df, 0x0010a204}}, Y: Field{[10]uint32{0x02238825, 0x0021b76a, 0x008de456, 0x0011679e, 0x0271fddb, 0x03681d9c, 0x01855f14, 0x019a9bef, 0x033e36c3, 0x00300b0c}}}, + {X: Field{[10]uint32{0x02b6cde2, 0x024a06b5, 0x03d3d52d, 0x01db836d, 0x0077e432, 0x02a9cfe9, 0x03c4d160, 0x0227682b, 0x003505bc, 0x003597eb}}, Y: Field{[10]uint32{0x0007383f, 0x01e11e30, 0x02b13056, 0x03906221, 0x038e9f07, 0x000e18b4, 0x01005456, 0x03ccded1, 0x0175a6c5, 0x0039bd32}}}, + {X: Field{[10]uint32{0x018f6ca7, 0x00665e2e, 0x014c843e, 0x021346ca, 0x02beb967, 0x0181e4db, 0x028b54e1, 0x0349e93f, 0x0144e62d, 0x001c0a6c}}, Y: Field{[10]uint32{0x0140a25c, 0x023ca99c, 0x0114aa47, 0x011f1cf7, 0x009a1af3, 0x0155113c, 0x02c90c38, 0x01b1b8e8, 0x01665805, 0x0022c43b}}}, + {X: Field{[10]uint32{0x039183b2, 0x0256d0f3, 0x01711502, 0x013911c5, 0x01fa343e, 0x01768306, 0x00ea87da, 0x026f77a0, 0x00ebdf96, 0x0013c9d8}}, Y: Field{[10]uint32{0x03e28167, 0x00a59de0, 0x03425d46, 0x017536bf, 0x0115d862, 0x023da6da, 0x001fd39b, 0x03bc27e8, 0x017bf3f9, 0x0010f8b0}}}, + {X: Field{[10]uint32{0x0374a5fc, 0x01c98570, 0x03e52143, 0x015fcbb9, 0x01b573ce, 0x02e7e94e, 0x015f0d23, 0x025aa3cd, 0x02addb41, 0x0033265a}}, Y: Field{[10]uint32{0x028ef28d, 0x027cb702, 0x019232c0, 0x02b6fffe, 0x0144284b, 0x02fa1744, 0x00a9cb66, 0x00a4d70c, 0x03871878, 0x002c7103}}}, + {X: Field{[10]uint32{0x014ade42, 0x010c0f35, 0x006313cf, 0x0214ef6b, 0x01cd9b32, 0x017adc24, 0x0038e398, 0x036416cb, 0x02d3f3e3, 0x0031e062}}, Y: Field{[10]uint32{0x00339eee, 0x01feebe5, 0x03937800, 0x03f747d7, 0x033403a5, 0x030510f3, 0x0363fb0f, 0x02142c51, 0x004e7bbb, 0x001555d3}}}, + {X: Field{[10]uint32{0x0189c4fd, 0x01d5cdc9, 0x0045e52a, 0x03279de5, 0x009a45db, 0x02b97496, 0x0344d1f3, 0x023affd0, 0x01846fc4, 0x001b340d}}, Y: Field{[10]uint32{0x03416e34, 0x03a33224, 0x00723a44, 0x024a34b5, 0x014d811c, 0x039347ea, 0x0367dda8, 0x038dc6b7, 0x037db165, 0x002bea16}}}, + {X: Field{[10]uint32{0x003b2e0a, 0x03aeeb51, 0x00fd3bfa, 0x02491d37, 0x00f5231b, 0x004548c5, 0x02b72359, 0x02c6b98c, 0x0205f716, 0x003594a8}}, Y: Field{[10]uint32{0x013bedcf, 0x02281bae, 0x02dcba45, 0x008fb059, 0x03c4646a, 0x03780f62, 0x002f0d85, 0x0103df2e, 0x0021b782, 0x00348661}}}, + {X: Field{[10]uint32{0x0052fb54, 0x0014be37, 0x02d73a6a, 0x02bf4d38, 0x0181ff0b, 0x00d00116, 0x01b3e4fe, 0x012877e6, 0x004dcd84, 0x002a01f4}}, Y: Field{[10]uint32{0x02e2cd9a, 0x0067a7e8, 0x03151af0, 0x011e5f3e, 0x00c385c0, 0x03eef1c6, 0x03e5079f, 0x0260d4ee, 0x00bb7393, 0x0006229e}}}, + {X: Field{[10]uint32{0x009eb2d7, 0x03f705f3, 0x02de224e, 0x017a7d33, 0x01b8c3a9, 0x01b2c0ae, 0x03acd07d, 0x02b523a4, 0x03bca5d6, 0x0007bf4a}}, Y: Field{[10]uint32{0x02745b39, 0x00fbbcd9, 0x01a05006, 0x02baa2bc, 0x0202a9d2, 0x02ecd5fd, 0x03e191a1, 0x031f98d5, 0x03881b98, 0x003e547b}}}, + {X: Field{[10]uint32{0x0395888f, 0x002e6b08, 0x01f666ed, 0x004df0ef, 0x030ea0ff, 0x025ff838, 0x02bcd044, 0x00f6d660, 0x0254d27d, 0x00016f17}}, Y: Field{[10]uint32{0x02ec3300, 0x03d97ca0, 0x003754c1, 0x01d409c4, 0x025a22d9, 0x00c86cda, 0x01f8b857, 0x03ac0598, 0x0002d4f4, 0x000d556f}}}, + {X: Field{[10]uint32{0x006a3247, 0x02e023dd, 0x02f221f5, 0x01c456f9, 0x02158cca, 0x022b4bc7, 0x022ea80e, 0x0234379b, 0x028d26b0, 0x0003d802}}, Y: Field{[10]uint32{0x03ca3523, 0x02ceac62, 0x00aa3cd5, 0x0371945b, 0x0276c753, 0x03a3846e, 0x02f75b28, 0x03e96c1f, 0x02134bc3, 0x0008ef96}}}, + {X: Field{[10]uint32{0x00ccaf7b, 0x00af49a4, 0x0381ae49, 0x030db1cf, 0x01f5119b, 0x0396404d, 0x01712a8b, 0x029ea331, 0x020b2ab2, 0x003f1f93}}, Y: Field{[10]uint32{0x001151a6, 0x03242ace, 0x01cddb31, 0x02d6aa0d, 0x01e4a682, 0x01b7624a, 0x02862b8a, 0x011a41ba, 0x02f41f27, 0x0012f584}}}, + {X: Field{[10]uint32{0x01442655, 0x00eced62, 0x01700bcd, 0x0161daaa, 0x0141641d, 0x01e6d8f9, 0x0067eecd, 0x03402feb, 0x033cfe12, 0x00144c97}}, Y: Field{[10]uint32{0x033ef941, 0x00de92c4, 0x03b33a44, 0x03964730, 0x03982a35, 0x01e595ff, 0x01623605, 0x039b8b6e, 0x00ad7b7a, 0x0035aa25}}}, + {X: Field{[10]uint32{0x0198aec8, 0x009b92b1, 0x03a09056, 0x01b6e3fb, 0x02afee9a, 0x005fc00e, 0x01bd2d57, 0x03d823c8, 0x00271a55, 0x000b6ceb}}, Y: Field{[10]uint32{0x03f9533e, 0x03832226, 0x03dd6e0d, 0x01a2d1f3, 0x013c6621, 0x0199827d, 0x00c9fc9d, 0x00718307, 0x0333a0c0, 0x003149af}}}, + {X: Field{[10]uint32{0x01fa7dcc, 0x03481775, 0x01be51e1, 0x00d8fce4, 0x0135fbd4, 0x01f790c8, 0x0305b554, 0x02c06d7a, 0x037293de, 0x00024201}}, Y: Field{[10]uint32{0x02d7442d, 0x01304097, 0x03f23e03, 0x02134f30, 0x0164dfef, 0x01718856, 0x013d318b, 0x00ccdc19, 0x02ac1724, 0x003fa587}}}, + {X: Field{[10]uint32{0x039ed9d6, 0x030def0c, 0x017cce2e, 0x02b4f4d6, 0x03045557, 0x01e43353, 0x02cc03f6, 0x013f20b6, 0x0181e5a6, 0x000ca86b}}, Y: Field{[10]uint32{0x027cb07a, 0x01c41898, 0x02cf3d13, 0x0362a41d, 0x0279cb55, 0x01e573b1, 0x017b63ca, 0x000089c2, 0x03681801, 0x0021eaf3}}}, + {X: Field{[10]uint32{0x019246f9, 0x01c745d3, 0x016e9a37, 0x027556ce, 0x0108c584, 0x01c745ea, 0x031af769, 0x02714683, 0x00fa5868, 0x003df2ea}}, Y: Field{[10]uint32{0x0358ee45, 0x01ee7b2b, 0x0072cac3, 0x030bf20c, 0x025309a0, 0x01757ee8, 0x024d7333, 0x02a72bb6, 0x03a910d5, 0x003d2c2a}}}, + {X: Field{[10]uint32{0x0329ea81, 0x022be098, 0x006d58ee, 0x0156b9c1, 0x03fab75f, 0x0015e690, 0x01b6b7bc, 0x00036759, 0x01042da9, 0x003369ac}}, Y: Field{[10]uint32{0x011771e3, 0x035bc773, 0x000fc068, 0x038a6b1f, 0x01a8ee20, 0x038d8078, 0x01171a01, 0x01d00568, 0x000eacfd, 0x001c321b}}}, + {X: Field{[10]uint32{0x027ee58b, 0x021e3c3d, 0x03f2ac23, 0x032b446d, 0x01a46f3b, 0x0113282f, 0x00f27b05, 0x02c73a6a, 0x024009c5, 0x00289869}}, Y: Field{[10]uint32{0x03fff888, 0x01b9043c, 0x014d420c, 0x030c1496, 0x0185da67, 0x034cf5c9, 0x029cda8f, 0x036ba6d3, 0x031d4c42, 0x000789a9}}}, + {X: Field{[10]uint32{0x01f4db57, 0x0252e9ba, 0x028846b3, 0x00f1a0bd, 0x009435aa, 0x007edb4d, 0x018e885d, 0x0210b300, 0x0167fd7f, 0x002f1c32}}, Y: Field{[10]uint32{0x00bd9468, 0x0213847e, 0x03e5718d, 0x03121f11, 0x013032ef, 0x01e195c0, 0x00a07840, 0x00b78310, 0x013a837e, 0x0028ae67}}}, + {X: Field{[10]uint32{0x0077a9c2, 0x000e269c, 0x020269c6, 0x019c4147, 0x02c7a265, 0x03ebc8d2, 0x03fdba3f, 0x00c52532, 0x02f75dc4, 0x000d9054}}, Y: Field{[10]uint32{0x0146d265, 0x0130ca81, 0x018eae08, 0x000496f3, 0x013c8fa6, 0x03b79c75, 0x038ae4e7, 0x02150cc0, 0x03d9f4ec, 0x002b0eb1}}}, + {X: Field{[10]uint32{0x00f3043d, 0x01b765a5, 0x01326cc3, 0x00be8f62, 0x01d82ca4, 0x01008b7e, 0x02f59d8e, 0x01756364, 0x00bed57d, 0x0014bfa9}}, Y: Field{[10]uint32{0x004feb35, 0x0150a363, 0x0399b249, 0x00216daa, 0x005708c6, 0x0299ece7, 0x038f9a37, 0x0229d7dc, 0x032852f9, 0x002dfa60}}}, + {X: Field{[10]uint32{0x023e1a4d, 0x035a08a1, 0x03ce67b8, 0x030f4af8, 0x039c32ec, 0x026b0ffe, 0x033a096a, 0x032203e5, 0x0110c8ba, 0x000d3fba}}, Y: Field{[10]uint32{0x009c7a17, 0x0155881a, 0x008b2243, 0x02825c74, 0x002231f6, 0x008b8983, 0x00db14b1, 0x03111b1e, 0x00969c9d, 0x00383c04}}}, + {X: Field{[10]uint32{0x0349c65b, 0x026cef76, 0x024bb401, 0x02c3d1da, 0x030f815a, 0x007c1dbd, 0x02424ec3, 0x034ba064, 0x030bf4c9, 0x001abca3}}, Y: Field{[10]uint32{0x02a45248, 0x0143fadb, 0x005d3f13, 0x03742f29, 0x0017d1e1, 0x005fd819, 0x01aa3469, 0x00ecc46a, 0x012fbb66, 0x000b157f}}}, + {X: Field{[10]uint32{0x01320e46, 0x01d3dc93, 0x0003b8bc, 0x0204eebb, 0x03a4f0ad, 0x02b174db, 0x00f1b6b6, 0x02d07991, 0x036639e4, 0x001c2daa}}, Y: Field{[10]uint32{0x02913a14, 0x02030622, 0x02c95237, 0x01777f37, 0x0196f713, 0x025b4f37, 0x01ad5f10, 0x013f3346, 0x01e64f4e, 0x003b1902}}}, + {X: Field{[10]uint32{0x0065724d, 0x00212068, 0x000bc155, 0x01a84e18, 0x03061419, 0x03df6ef8, 0x03eff50f, 0x01d6bab6, 0x03114ab9, 0x003b795b}}, Y: Field{[10]uint32{0x0336ecfc, 0x02b7f254, 0x0173c02d, 0x018dbbf7, 0x0371906b, 0x006c1a12, 0x01839dc6, 0x0087b49b, 0x024c11f4, 0x00279feb}}}, + {X: Field{[10]uint32{0x016df8a4, 0x01f0f915, 0x03efe685, 0x03e7c5a0, 0x025de54a, 0x01992399, 0x0019d746, 0x01cc40f6, 0x003c840a, 0x0020f0d3}}, Y: Field{[10]uint32{0x0086cd10, 0x035c2903, 0x0040fd31, 0x00dfc426, 0x0290aa81, 0x0338bbb4, 0x00d97719, 0x035b03bb, 0x0041562d, 0x002708e0}}}, + {X: Field{[10]uint32{0x00c7e200, 0x00164f68, 0x037c6102, 0x0114934d, 0x0052cbdb, 0x0017a1e9, 0x028cf032, 0x026e6148, 0x00900008, 0x002a8abf}}, Y: Field{[10]uint32{0x02be01f4, 0x017309e5, 0x006af2db, 0x0093fa2a, 0x006d8129, 0x00c58780, 0x013bc4fa, 0x02b0674f, 0x016ab382, 0x000d10c6}}}, + {X: Field{[10]uint32{0x0155c520, 0x01d5cc10, 0x02800e3a, 0x0116207b, 0x03e90eb0, 0x03efdc7e, 0x02956a02, 0x03322e7c, 0x03dc4310, 0x00390bb1}}, Y: Field{[10]uint32{0x0225336c, 0x0099e735, 0x027b693c, 0x011562af, 0x012d0009, 0x02369536, 0x00324bbe, 0x02473f88, 0x02cfa52d, 0x0024e7bc}}}, + {X: Field{[10]uint32{0x02ec2b21, 0x0315818c, 0x01dd34a3, 0x02ac99ff, 0x00181617, 0x005bbe7d, 0x038de47a, 0x014803f5, 0x0124937c, 0x002f02f7}}, Y: Field{[10]uint32{0x02b63035, 0x034a64d4, 0x03ac9df6, 0x00448175, 0x004a0285, 0x024ac21c, 0x02e0e1d1, 0x0087de61, 0x024c10b5, 0x00036c12}}}, + {X: Field{[10]uint32{0x01adc8e7, 0x013aebab, 0x03990626, 0x03559037, 0x0155c005, 0x03dd838a, 0x0310fbb3, 0x029ccd78, 0x01d89b43, 0x00372232}}, Y: Field{[10]uint32{0x002fc512, 0x00f2353f, 0x0163625a, 0x00cb308f, 0x033fe37b, 0x027faded, 0x03fc6777, 0x011e5196, 0x01e46f98, 0x000b59de}}}, + {X: Field{[10]uint32{0x00111c20, 0x0278d260, 0x03210f6f, 0x01422315, 0x035ee3dc, 0x00175dbb, 0x030cb02e, 0x00cb18bf, 0x018ab0c9, 0x0029eb83}}, Y: Field{[10]uint32{0x02e553a2, 0x001f6864, 0x03cdd01d, 0x0115a48c, 0x03ac8dcc, 0x00c87794, 0x039dc94b, 0x018b2262, 0x03c9d631, 0x00358caa}}}, + {X: Field{[10]uint32{0x00be0e97, 0x0296b317, 0x03215592, 0x026e97c0, 0x00d631ac, 0x01f69b99, 0x0203af75, 0x01baaf6c, 0x036ee7bd, 0x00118808}}, Y: Field{[10]uint32{0x00627c6e, 0x025da40a, 0x018c88fa, 0x02f1c0a3, 0x02707851, 0x03eb99a8, 0x0330cdf4, 0x0078a9b3, 0x004f69ea, 0x00177d09}}}, + {X: Field{[10]uint32{0x03d8f671, 0x036647c9, 0x00a38e2b, 0x03fcd276, 0x015cd35f, 0x03e4c8c0, 0x0350acac, 0x0364c147, 0x004a3d8b, 0x0020132e}}, Y: Field{[10]uint32{0x00ae8d3f, 0x026a391c, 0x01267bbc, 0x014aef9b, 0x00cdc395, 0x000d884a, 0x02b2f192, 0x03e0d65a, 0x00129ee0, 0x0012ddee}}}, + {X: Field{[10]uint32{0x011c2ed2, 0x0076ef6e, 0x032378e7, 0x01343881, 0x02b4f6fb, 0x02918e44, 0x001fcbee, 0x02cbcae0, 0x030f5382, 0x001ba94d}}, Y: Field{[10]uint32{0x00b2d88d, 0x02f85064, 0x025b1a8b, 0x038b4de0, 0x008b513e, 0x006567b2, 0x012a002f, 0x03fc203a, 0x0109d8f3, 0x003d6d3e}}}, + {X: Field{[10]uint32{0x02e22ba6, 0x031c1ca8, 0x01f4769f, 0x000ee068, 0x031ee564, 0x03d871ac, 0x03b0852a, 0x01d6984a, 0x021c4ff5, 0x00362e37}}, Y: Field{[10]uint32{0x02468c0e, 0x00e37d38, 0x018928d5, 0x032d1ec1, 0x01f23cbd, 0x017095b9, 0x02ad8275, 0x02fe2625, 0x0190d37a, 0x00078f10}}}, + {X: Field{[10]uint32{0x01f1b147, 0x0320a47b, 0x00a9e475, 0x019c1420, 0x0080d384, 0x00e8035b, 0x033f3ea4, 0x02f5ba71, 0x006404a0, 0x0019ab06}}, Y: Field{[10]uint32{0x03a1260e, 0x02207313, 0x030bca61, 0x0319cf6a, 0x029be98e, 0x0147868d, 0x0103efd5, 0x02ddd805, 0x000f7db6, 0x000b3183}}}, + {X: Field{[10]uint32{0x0360e942, 0x0314d9cf, 0x0185bef3, 0x00d70dd7, 0x02f27844, 0x022d6972, 0x0263cf93, 0x008f9c1d, 0x022c4ed2, 0x0011c652}}, Y: Field{[10]uint32{0x03d9f920, 0x01213034, 0x036045f4, 0x033aaf7d, 0x035808a3, 0x01409f55, 0x032738c7, 0x03704def, 0x011b5a64, 0x002c3f78}}}, + {X: Field{[10]uint32{0x024c6186, 0x034f3d0a, 0x0229010b, 0x00ab17c1, 0x009fdc1b, 0x02375da3, 0x02747428, 0x03660e20, 0x00599af2, 0x00045072}}, Y: Field{[10]uint32{0x02f0226e, 0x014234fb, 0x02c64d6b, 0x034aea63, 0x005392a0, 0x015e343e, 0x017555a0, 0x01184ccc, 0x034761ed, 0x001e90c7}}}, + {X: Field{[10]uint32{0x03496f79, 0x00c030f9, 0x0251d4ba, 0x03585ab1, 0x01487002, 0x03ee3952, 0x01da689b, 0x03fa7b59, 0x01d8e80a, 0x003e416f}}, Y: Field{[10]uint32{0x03bfcf72, 0x0096c65d, 0x000fca7e, 0x0317e7d3, 0x03cd999f, 0x01fc1419, 0x021b03ba, 0x01411751, 0x037f3bfb, 0x0007b1ef}}}, + {X: Field{[10]uint32{0x0315e9e0, 0x03c7eb03, 0x023e5573, 0x00beb51e, 0x00232ea6, 0x0053c2be, 0x004faadb, 0x014bb88f, 0x00e4fba4, 0x002e952e}}, Y: Field{[10]uint32{0x00f5cda8, 0x02f52818, 0x030b8da1, 0x002c044d, 0x039c96ed, 0x00ab203c, 0x018e48a8, 0x02ef36ef, 0x02e9efca, 0x002bd55a}}}, + {X: Field{[10]uint32{0x0226a80a, 0x028a2d02, 0x035e9c08, 0x01080e9d, 0x001494a0, 0x00d868ad, 0x0287f3cf, 0x01b890c3, 0x02d0561f, 0x001674fa}}, Y: Field{[10]uint32{0x000a9bc8, 0x007863c0, 0x015d9ac5, 0x00730b42, 0x02f5f1ba, 0x009f1cc1, 0x00a278d4, 0x0088a70a, 0x007d50a9, 0x0026c9bd}}}, + {X: Field{[10]uint32{0x00865d47, 0x03641c2b, 0x00f5b129, 0x0023bfc0, 0x0315520a, 0x01f83cf3, 0x032924be, 0x0324a363, 0x023fab4c, 0x000a9b96}}, Y: Field{[10]uint32{0x00a625a5, 0x01dc60d7, 0x000cb38b, 0x037ba4e0, 0x00919913, 0x01824d47, 0x01191964, 0x01c08e1b, 0x03505872, 0x00015700}}}, + {X: Field{[10]uint32{0x00907502, 0x022c00aa, 0x03d84682, 0x00716aba, 0x01fff1fb, 0x010b3d96, 0x00afe918, 0x03b90422, 0x00d1c35b, 0x002263d4}}, Y: Field{[10]uint32{0x02f3267b, 0x02e3e3d8, 0x01a79daf, 0x03c528f1, 0x02fc9bd0, 0x01ae1300, 0x0202e490, 0x00ab406b, 0x0280c97c, 0x002c915b}}}, + {X: Field{[10]uint32{0x016af85a, 0x03119c43, 0x03bf9422, 0x028eb013, 0x03bda5d9, 0x027b8f34, 0x01d2304e, 0x03c32c7e, 0x02b8b49b, 0x00346152}}, Y: Field{[10]uint32{0x03155c20, 0x03fafa51, 0x03fabd0a, 0x00085f7d, 0x00d7bdeb, 0x00fb77cd, 0x016a0775, 0x0206016c, 0x000fd881, 0x00013894}}}, + {X: Field{[10]uint32{0x02af4680, 0x037f19bf, 0x01303a3e, 0x03d0a15b, 0x024a417d, 0x025a3bdf, 0x03cc787d, 0x02db87c0, 0x008a394d, 0x002187ee}}, Y: Field{[10]uint32{0x02135da6, 0x0348d882, 0x018dddc6, 0x022f6f00, 0x0268f3c3, 0x018e3380, 0x03ff11b0, 0x002c4c8f, 0x015aab8b, 0x002975fa}}}, + {X: Field{[10]uint32{0x013403d6, 0x033d8b60, 0x0111cb0c, 0x000ce7f0, 0x03ea5269, 0x019db3de, 0x0155d90b, 0x0277f0f0, 0x0368b9fa, 0x0025513d}}, Y: Field{[10]uint32{0x006e047f, 0x02659c20, 0x0290253e, 0x000d78c0, 0x0328d876, 0x02fd4552, 0x011ed21b, 0x01893c21, 0x012fcbde, 0x0033b136}}}, + {X: Field{[10]uint32{0x01db68e9, 0x01732a34, 0x009ba2cb, 0x0034edc5, 0x00311cd4, 0x027ce825, 0x00d7b078, 0x019af88f, 0x0192f80a, 0x003ddc88}}, Y: Field{[10]uint32{0x001b516e, 0x03bf83f2, 0x03462d40, 0x00809dfd, 0x011c11e3, 0x03321479, 0x02266610, 0x035939cf, 0x029f3243, 0x00010743}}}, + {X: Field{[10]uint32{0x018e14ed, 0x0381eb5a, 0x02fc1be9, 0x01f10e7d, 0x01b6bd8e, 0x027aa479, 0x039927a8, 0x01ca6f6f, 0x00651f88, 0x0021dad3}}, Y: Field{[10]uint32{0x016b49da, 0x00c7773e, 0x004e16ad, 0x02121aae, 0x037b5730, 0x018bc94d, 0x0387b88f, 0x03a7773d, 0x03811cfa, 0x003b38b3}}}, + {X: Field{[10]uint32{0x03b70b10, 0x032c0f01, 0x03127b7e, 0x03d8cd4e, 0x00721be8, 0x0245e267, 0x00614278, 0x02649221, 0x00e46224, 0x001c1abd}}, Y: Field{[10]uint32{0x0258a5f3, 0x0141ba5f, 0x03545aa6, 0x0383984b, 0x00cdcf0e, 0x004f7add, 0x015bd298, 0x0348039a, 0x01720c65, 0x00325cb6}}}, + {X: Field{[10]uint32{0x03863c9d, 0x0256df7c, 0x03ddef14, 0x016fe745, 0x024301b7, 0x009f97d2, 0x00dde0ba, 0x01898ad7, 0x0218c9c9, 0x0033a5e8}}, Y: Field{[10]uint32{0x02a1ef10, 0x01c2b280, 0x03f55c57, 0x02c9cac0, 0x01c12900, 0x01ebda3c, 0x0116410d, 0x00509a22, 0x021a20fd, 0x003a4e63}}}, + {X: Field{[10]uint32{0x013be895, 0x03991275, 0x019bca8f, 0x03afa6cf, 0x037dae0f, 0x00b6cf54, 0x02a1f01c, 0x020c7a21, 0x039a92cf, 0x003ed896}}, Y: Field{[10]uint32{0x02599a37, 0x0165f7a0, 0x0344c30d, 0x030a9947, 0x031fe2a8, 0x00b2fc88, 0x029d68f1, 0x02781028, 0x0274ba56, 0x001fde0f}}}, + {X: Field{[10]uint32{0x01f4747d, 0x00b16955, 0x01bc4c6b, 0x03ced0b7, 0x02f126c6, 0x020cc912, 0x039098a8, 0x00ae2d46, 0x03697a7d, 0x00207fef}}, Y: Field{[10]uint32{0x0006f33b, 0x000858bc, 0x00d0a8b0, 0x037b43f5, 0x0190b4d1, 0x0336aa9f, 0x013d5303, 0x03bedcc8, 0x0357982e, 0x0038b19c}}}, + {X: Field{[10]uint32{0x020ed0e4, 0x00c6d55a, 0x01ba8c0f, 0x01def9a5, 0x00679d6b, 0x002728bb, 0x016d4d63, 0x02adf2bc, 0x03668c30, 0x001b7f03}}, Y: Field{[10]uint32{0x015a563c, 0x03fe1f6c, 0x03d905ae, 0x00e2ff77, 0x01367724, 0x003d107a, 0x002d7a62, 0x02a9d0c6, 0x02b2d9a0, 0x002907b4}}}, + {X: Field{[10]uint32{0x03501b44, 0x03e530ce, 0x0023fe77, 0x037e22f3, 0x001d5715, 0x03d8f0ca, 0x01a9b5b0, 0x0395aae8, 0x01d1b953, 0x00071afc}}, Y: Field{[10]uint32{0x00e4b0ef, 0x00d82279, 0x02d3a8e3, 0x037e4688, 0x028f1e74, 0x01f0ae92, 0x01c368bf, 0x005e0806, 0x014db4ca, 0x003199c8}}}, + {X: Field{[10]uint32{0x02def93d, 0x03f491fe, 0x00ba6b2a, 0x03c3479e, 0x035417b9, 0x005134bc, 0x00632319, 0x027d8176, 0x02df5d99, 0x002da444}}, Y: Field{[10]uint32{0x018df4ae, 0x00d318d5, 0x020209a0, 0x01722508, 0x00464f11, 0x02b2b77b, 0x00fafeb8, 0x021b9c1c, 0x037a3028, 0x000858f3}}}, + {X: Field{[10]uint32{0x0176b6e0, 0x0192f792, 0x0287cda4, 0x03363805, 0x019737a2, 0x027be48a, 0x018b8fcf, 0x003e45f1, 0x0332ac23, 0x002f00e1}}, Y: Field{[10]uint32{0x025682d2, 0x007011a8, 0x00ab3719, 0x03677d8e, 0x017a7ae0, 0x01f88ce1, 0x03e1d6fa, 0x018dcd80, 0x02010079, 0x0000ce49}}}, + {X: Field{[10]uint32{0x03e32d81, 0x00faf689, 0x001ae183, 0x0032b7b4, 0x007489c2, 0x0166ec03, 0x024d9aee, 0x02b531aa, 0x02951047, 0x0025b7cc}}, Y: Field{[10]uint32{0x02e2034b, 0x02313bf8, 0x00466181, 0x03c7999d, 0x02cbfaa8, 0x01743c19, 0x01189bbf, 0x018cf060, 0x002d74ce, 0x001063db}}}, + {X: Field{[10]uint32{0x02304979, 0x034be9da, 0x001d263c, 0x03e8bcd4, 0x01cb6a65, 0x02d864f0, 0x02fcefde, 0x0102afb1, 0x0227939e, 0x0028f14c}}, Y: Field{[10]uint32{0x03c967e4, 0x0283b5b6, 0x00de8caf, 0x02637180, 0x0300f467, 0x01e8bd99, 0x0329ade3, 0x029bc64b, 0x02a5498e, 0x00111a32}}}, + {X: Field{[10]uint32{0x0145eb2b, 0x02bc2b49, 0x01a92601, 0x011ae475, 0x017a0c7d, 0x0385ca98, 0x005f1b31, 0x01b5b5ae, 0x02073dfd, 0x0024ff60}}, Y: Field{[10]uint32{0x0163a847, 0x025f51f5, 0x02866883, 0x026c82e2, 0x03961155, 0x02b3faec, 0x03ca8636, 0x01a9046f, 0x02c19a8a, 0x001806fa}}}, + {X: Field{[10]uint32{0x02ca0a9b, 0x01e82ea1, 0x00a2bee8, 0x027ad179, 0x01a5bc0d, 0x011a2b63, 0x039acef2, 0x018fc403, 0x03ef2e2c, 0x002e9f4e}}, Y: Field{[10]uint32{0x015114dc, 0x03bf2ba9, 0x02e097c6, 0x02c5eefc, 0x01376f29, 0x0316daf6, 0x0133ed0b, 0x0278c443, 0x02673312, 0x003fffe6}}}, + {X: Field{[10]uint32{0x036157a8, 0x010a4380, 0x03011190, 0x03ea5fbc, 0x00218898, 0x025935e9, 0x01972582, 0x0270d65d, 0x01c02a4f, 0x00383655}}, Y: Field{[10]uint32{0x01c617f0, 0x02ee6140, 0x0397baa2, 0x01a75699, 0x01b28cbc, 0x021c1de2, 0x0382f0f0, 0x002ee681, 0x039e7d42, 0x0005dbf7}}}, + {X: Field{[10]uint32{0x03f81ac9, 0x0111d42f, 0x02dcd0a4, 0x03f785d4, 0x036cd226, 0x01a435aa, 0x02da689c, 0x032e4c44, 0x01408320, 0x0005acb0}}, Y: Field{[10]uint32{0x018bb281, 0x031de436, 0x01edd2ab, 0x02494f19, 0x025025f7, 0x02a85edb, 0x0217488f, 0x00e4cbc9, 0x00e3dafd, 0x000a8beb}}}, + {X: Field{[10]uint32{0x01f502da, 0x00af043a, 0x020c7fc2, 0x02e3ad36, 0x02220db4, 0x02569053, 0x01d61d97, 0x00f8bd91, 0x00329c82, 0x000beec1}}, Y: Field{[10]uint32{0x00ebc31d, 0x02d89664, 0x00246a0a, 0x0239a7d6, 0x030cbfe5, 0x021c1a2a, 0x03cda69c, 0x0377eeae, 0x02ef15ea, 0x0006b7d9}}}, + {X: Field{[10]uint32{0x03208ebf, 0x00b79399, 0x01ccce13, 0x020e3277, 0x02c178f8, 0x00135915, 0x0122f2f4, 0x0095e6d9, 0x00daf42d, 0x0019244d}}, Y: Field{[10]uint32{0x009355cb, 0x015b0efc, 0x00e8a4a7, 0x0147f991, 0x02e7709b, 0x02a6ba96, 0x00446480, 0x012f09e2, 0x03fc3c55, 0x0010e16a}}}, + {X: Field{[10]uint32{0x013991cd, 0x03b7e2c3, 0x03023dbc, 0x02c2e264, 0x03128d62, 0x0271ff7b, 0x0201c172, 0x007e7381, 0x00b1dcb8, 0x002e5551}}, Y: Field{[10]uint32{0x029dcd2a, 0x0314e0dd, 0x02b0f33c, 0x01824f02, 0x03206fe7, 0x013c1c9b, 0x01f2d450, 0x0378cb54, 0x02dcffba, 0x003e1c7e}}}, + {X: Field{[10]uint32{0x01d668de, 0x00f03297, 0x0389fd06, 0x005c0a23, 0x02ace1ea, 0x012c6c25, 0x03df5b4a, 0x03430288, 0x03fc5034, 0x0033500e}}, Y: Field{[10]uint32{0x02717742, 0x0387f509, 0x0316054e, 0x01529763, 0x023fa92e, 0x00e92fc3, 0x0359760f, 0x03d1bd27, 0x0131aa56, 0x00304a58}}}, + {X: Field{[10]uint32{0x0004c581, 0x03a91e0f, 0x019394b6, 0x01e656d3, 0x021ad784, 0x026a3d5a, 0x0202074c, 0x02f72640, 0x0337d7f8, 0x000292ab}}, Y: Field{[10]uint32{0x0316da34, 0x00d234eb, 0x03431009, 0x032ce22b, 0x031a8cb9, 0x001dcf5c, 0x02594f94, 0x02d873f4, 0x02f2dc02, 0x00132ced}}}, + {X: Field{[10]uint32{0x03f438c4, 0x01f67e2a, 0x039376c3, 0x031f9b9e, 0x0297478f, 0x021915e3, 0x02dd3c52, 0x00123a17, 0x03f8ebdf, 0x0015c40b}}, Y: Field{[10]uint32{0x00161d4f, 0x00763bbe, 0x01128833, 0x005a42ad, 0x01915aef, 0x0146cbcc, 0x01e308c2, 0x00658b9e, 0x019beaec, 0x003213c7}}}, + {X: Field{[10]uint32{0x03c9b6ac, 0x02c188e8, 0x01774832, 0x02171a02, 0x01124246, 0x03ebf1c0, 0x00c08c58, 0x017f8442, 0x00e93c5c, 0x001a3fa6}}, Y: Field{[10]uint32{0x004df273, 0x02033e43, 0x01cd4d64, 0x023fba1c, 0x03cb5ea5, 0x011bc878, 0x00078e2c, 0x01ae1fba, 0x0017fd95, 0x00124ab1}}}, + {X: Field{[10]uint32{0x024a5e77, 0x022f900a, 0x03d43ec0, 0x028ac224, 0x03d97bae, 0x00bba92a, 0x0132cef0, 0x0388ebc2, 0x03b69ef5, 0x0000352e}}, Y: Field{[10]uint32{0x03c7c98c, 0x03e92c11, 0x00166607, 0x0130a8b7, 0x019e7488, 0x00334231, 0x01e223df, 0x02b8c7d9, 0x02609c1d, 0x00016063}}}, + {X: Field{[10]uint32{0x0283192a, 0x01f9a416, 0x03b5d68c, 0x00fdd8fc, 0x0123a5c5, 0x022b314f, 0x00d872f2, 0x022dc9fc, 0x0157a8eb, 0x003a589e}}, Y: Field{[10]uint32{0x010d984f, 0x026ea1f3, 0x008d66e5, 0x015d3d68, 0x020cab10, 0x01329b32, 0x0066d17d, 0x005a5b65, 0x027ddc29, 0x00176a4b}}}, + {X: Field{[10]uint32{0x0311caf5, 0x008e0bc5, 0x032076dd, 0x03cb7e0f, 0x001cd547, 0x003e7fa1, 0x0108ffb7, 0x03cbadf1, 0x00ada83b, 0x00127c87}}, Y: Field{[10]uint32{0x01f31931, 0x022497ce, 0x00114ca1, 0x00693fb6, 0x03244761, 0x00cb9bbf, 0x033afc21, 0x013b62b1, 0x01295f83, 0x00071f60}}}, + {X: Field{[10]uint32{0x02fa792e, 0x034060ab, 0x0364dfd6, 0x03316c3f, 0x006c34a8, 0x0061c4f5, 0x011d110c, 0x00754c53, 0x02a940f6, 0x000160a0}}, Y: Field{[10]uint32{0x005f6ddd, 0x03c28d04, 0x0091e677, 0x0124fab0, 0x012a96ee, 0x0360f5f7, 0x03701457, 0x03cb5948, 0x0155d3e0, 0x001e1578}}}, + {X: Field{[10]uint32{0x03ca118d, 0x01a46648, 0x012e5f55, 0x039d0f52, 0x01dc3a14, 0x01c2fb1f, 0x01db6f1d, 0x0009e9ed, 0x02324b07, 0x0032725e}}, Y: Field{[10]uint32{0x0264b56d, 0x035d31a5, 0x001e8747, 0x03678bb1, 0x0115d600, 0x03080cae, 0x031e99f7, 0x037f870a, 0x000f894d, 0x003d807d}}}, + {X: Field{[10]uint32{0x019e054e, 0x00568845, 0x0062b8d5, 0x0332a9ca, 0x039bbbe0, 0x0047e49c, 0x027bcdda, 0x01d4061a, 0x01758ed6, 0x00279370}}, Y: Field{[10]uint32{0x03c6c0ab, 0x020e04f3, 0x03d3bc94, 0x0321c57a, 0x03fcf4f4, 0x026df8db, 0x00736aa1, 0x019a9af8, 0x031f2bb8, 0x00328470}}}, + {X: Field{[10]uint32{0x02afe2b5, 0x03c31ae2, 0x0152f7a7, 0x03d89a3d, 0x028e5af1, 0x0337ef76, 0x00c1e5e8, 0x000c2f36, 0x03893ae0, 0x003f418d}}, Y: Field{[10]uint32{0x01c8e676, 0x008754c3, 0x00435b2e, 0x02037c68, 0x01f4a354, 0x00c9b700, 0x0068a8e4, 0x01d12881, 0x030b068d, 0x0023027a}}}, + {X: Field{[10]uint32{0x014af04e, 0x00ac9cbf, 0x02c77b3f, 0x02d6d19b, 0x00d85360, 0x004ddd60, 0x0281c3ec, 0x01d9466e, 0x033b6e7a, 0x000df7f7}}, Y: Field{[10]uint32{0x00fb7844, 0x02d3e3b4, 0x01727ea3, 0x0217b250, 0x03043dcd, 0x0004a79d, 0x00f3b078, 0x009d635e, 0x03b27b73, 0x00330c4d}}}, + {X: Field{[10]uint32{0x001dbae0, 0x0291751b, 0x018ffe72, 0x0127785b, 0x010a69cb, 0x034af832, 0x01a2f18b, 0x038971dc, 0x006ac8a5, 0x00117bc4}}, Y: Field{[10]uint32{0x020ab158, 0x022da608, 0x00bf42ad, 0x006cc646, 0x0060e568, 0x00058d24, 0x03bd452e, 0x01f6dcfd, 0x000d742e, 0x0032b5a9}}}, + {X: Field{[10]uint32{0x01fdfca4, 0x0091a704, 0x02d14be0, 0x036f0414, 0x0099648c, 0x011cafd6, 0x03cde710, 0x0328941c, 0x02f988b9, 0x00096314}}, Y: Field{[10]uint32{0x01939dfd, 0x02be7b0a, 0x00ffc359, 0x02e20e53, 0x010d60d0, 0x0296d87f, 0x026c9e21, 0x0171f1a9, 0x008b26ea, 0x00112476}}}, + {X: Field{[10]uint32{0x01e65217, 0x014464ea, 0x01c83afd, 0x019f7a20, 0x01d4f8ff, 0x034dbc76, 0x00cddb90, 0x0138d8f4, 0x00a7727c, 0x002f24a9}}, Y: Field{[10]uint32{0x03aa5120, 0x004c4898, 0x039d79dd, 0x02d2e8dd, 0x00331c22, 0x01193a70, 0x031c024d, 0x011e5587, 0x0208b18b, 0x001dbfda}}}, + {X: Field{[10]uint32{0x01f27ebd, 0x0304b451, 0x03353249, 0x00dfed7f, 0x0223e4e8, 0x03055aef, 0x01ceccb0, 0x0120d3c4, 0x00c258c0, 0x0022867a}}, Y: Field{[10]uint32{0x00e92c1a, 0x017941f9, 0x01f065d6, 0x032e1706, 0x018f50a9, 0x02e5e3f8, 0x016caca2, 0x023a8831, 0x0070bff4, 0x00057f1b}}}, + {X: Field{[10]uint32{0x01d70eea, 0x02447a95, 0x00572d9c, 0x02a30a91, 0x03e6f3b1, 0x00e65a2f, 0x013c1a7a, 0x00d136c4, 0x02d1ab90, 0x003966e0}}, Y: Field{[10]uint32{0x013b91be, 0x00abf20c, 0x00b80cc2, 0x02640205, 0x036634d6, 0x00baa9db, 0x01f0bc01, 0x01a86f93, 0x018cd58c, 0x002478cf}}}, + {X: Field{[10]uint32{0x0371a7d0, 0x000c6c1c, 0x03eb3330, 0x034976b2, 0x020f3456, 0x03e506fa, 0x0017db72, 0x01335af1, 0x025f8824, 0x003e653b}}, Y: Field{[10]uint32{0x019c62e2, 0x0102816b, 0x03d40514, 0x027d09c1, 0x03d9c268, 0x036b923d, 0x02bf9c04, 0x0266ccc0, 0x006aecc2, 0x002409be}}}, + {X: Field{[10]uint32{0x0000410f, 0x00e9a4de, 0x015ffc1e, 0x03355976, 0x018000cc, 0x0200f448, 0x0317bc79, 0x03e9409e, 0x008c32d1, 0x001ddb13}}, Y: Field{[10]uint32{0x00785149, 0x03c2eb72, 0x03803165, 0x0298e104, 0x01988b64, 0x00f4f8c6, 0x00201d50, 0x01dce1be, 0x0234438e, 0x00103b38}}}, + {X: Field{[10]uint32{0x01c9b12e, 0x00feb96d, 0x02620fb8, 0x022b1780, 0x0032c196, 0x02fc95cc, 0x00aea3d8, 0x02c004a7, 0x01a5dd13, 0x000e4d9d}}, Y: Field{[10]uint32{0x035a8b00, 0x0129a7e9, 0x02dc0378, 0x01cd39d0, 0x032e5dc7, 0x02c3af30, 0x016ff4c4, 0x00033bb4, 0x03c47934, 0x000e79b3}}}, + {X: Field{[10]uint32{0x03401b1e, 0x027ea330, 0x00eaa2f0, 0x03c9efce, 0x0094dcfd, 0x0242f87f, 0x01de130e, 0x031ed8b3, 0x029422ed, 0x0035f374}}, Y: Field{[10]uint32{0x014fb184, 0x031c194d, 0x00302db5, 0x03662fc5, 0x020728bd, 0x031e7ad1, 0x00ca141d, 0x03462edd, 0x0328073c, 0x00372e72}}}, + {X: Field{[10]uint32{0x0256bc2c, 0x019f73db, 0x021b99cb, 0x01ea6216, 0x01902613, 0x00925274, 0x02206718, 0x011278fd, 0x01272726, 0x002f38fc}}, Y: Field{[10]uint32{0x02e76217, 0x0355e1b9, 0x0097d296, 0x01f714a9, 0x011c33c3, 0x02b4496b, 0x0168f040, 0x037692fa, 0x0017ee92, 0x00290900}}}, + {X: Field{[10]uint32{0x035d6e52, 0x037ba5ff, 0x01eb9738, 0x00ddd0e6, 0x03700801, 0x0078d7eb, 0x02daf442, 0x010529e6, 0x00cdefe9, 0x00277c26}}, Y: Field{[10]uint32{0x01abf15d, 0x0223ae94, 0x01baf3b7, 0x02d36fbc, 0x03f04bf4, 0x01a45f65, 0x0317bb80, 0x0250f343, 0x035fef36, 0x001afe48}}}, + {X: Field{[10]uint32{0x03d43f1d, 0x0332536c, 0x02522e8d, 0x02d1c888, 0x0005d88a, 0x0249c4e8, 0x00839a82, 0x03712a69, 0x002ee561, 0x00265616}}, Y: Field{[10]uint32{0x028c226a, 0x013a2341, 0x00dc78cb, 0x02cd0ed7, 0x02850008, 0x00966cde, 0x0376cba2, 0x03c8fa1b, 0x0214b63a, 0x00382562}}}, + {X: Field{[10]uint32{0x01fb1f24, 0x024cf11b, 0x02871bad, 0x01e548ce, 0x03dda933, 0x02230122, 0x0292447c, 0x009e79f4, 0x00ce7d7b, 0x000f9fee}}, Y: Field{[10]uint32{0x008806e5, 0x01bb2b59, 0x0309d229, 0x02aa4e17, 0x02e36352, 0x001ae92f, 0x037a5dd9, 0x0208e4b5, 0x01083410, 0x000109e7}}}, + {X: Field{[10]uint32{0x01e8ed62, 0x0029a8dd, 0x001c71ac, 0x01a7f2da, 0x0097611d, 0x0209b3d6, 0x02c93ee7, 0x01684433, 0x0050f740, 0x00073415}}, Y: Field{[10]uint32{0x0334d0f0, 0x02880eeb, 0x0136b039, 0x017264c6, 0x025759d3, 0x002e54db, 0x020a3a02, 0x02c10358, 0x0070bb52, 0x000216ef}}}, + {X: Field{[10]uint32{0x03c9b367, 0x02b6fdf5, 0x005e3c76, 0x03283ed3, 0x0393cf99, 0x02e040cb, 0x0387bd01, 0x0168f7db, 0x03763214, 0x0001411d}}, Y: Field{[10]uint32{0x03d1d2c3, 0x01820115, 0x03f7a1ed, 0x008e2132, 0x00a0e67b, 0x031c7d06, 0x02b97ce6, 0x01ddc627, 0x0359919c, 0x0001eeb7}}}, + {X: Field{[10]uint32{0x0070e6ea, 0x03de8391, 0x030be636, 0x00afdfcb, 0x0079fd30, 0x03452629, 0x01b8d87a, 0x012ea0c2, 0x02c949b6, 0x0007aa44}}, Y: Field{[10]uint32{0x002b7650, 0x0021b401, 0x02b4d029, 0x039b3e0e, 0x014acd50, 0x0140aba3, 0x014896d3, 0x00477a10, 0x03dd0b12, 0x0026c9e7}}}, + {X: Field{[10]uint32{0x01a01628, 0x00c0a3c8, 0x007ac8c0, 0x026f4bd3, 0x03e1ed32, 0x017c0f12, 0x00e0b009, 0x001daf2d, 0x00d34b00, 0x0026cfe8}}, Y: Field{[10]uint32{0x03d420de, 0x02549f09, 0x01f4126e, 0x035543bf, 0x038cef81, 0x033b1987, 0x00d5dcb0, 0x023bd4b8, 0x0248b2a5, 0x0004045e}}}, + {X: Field{[10]uint32{0x024c94eb, 0x01e3f020, 0x03e22ff6, 0x00a34095, 0x036200d1, 0x02eb4530, 0x02c7f7f5, 0x027712ce, 0x03b801d3, 0x00197fbd}}, Y: Field{[10]uint32{0x0308b475, 0x026bc249, 0x032fe325, 0x03b1e80a, 0x02f2dcd6, 0x01bbc9db, 0x0373b9b3, 0x013f09dc, 0x01ee680c, 0x000c0878}}}, + {X: Field{[10]uint32{0x0385f9ac, 0x00a45fdf, 0x01d46c5a, 0x02ee3f7b, 0x036ef5e1, 0x030afbd6, 0x004c0f2b, 0x00e95419, 0x023daf76, 0x000f9dec}}, Y: Field{[10]uint32{0x024f3221, 0x02cf930a, 0x0021b415, 0x021443f4, 0x018d4fc7, 0x00b6cb1e, 0x03f0766a, 0x01e1e671, 0x00e95bb0, 0x00156c9e}}}, + {X: Field{[10]uint32{0x01de2965, 0x023022c8, 0x0378396f, 0x0228c8cb, 0x02f69fbf, 0x0335f4d4, 0x0215fba1, 0x0248af11, 0x02bf2fec, 0x000ab136}}, Y: Field{[10]uint32{0x019f957f, 0x03cfab08, 0x0089fa92, 0x00947bfc, 0x006d6494, 0x03e16946, 0x03e60187, 0x022f3c0a, 0x00177623, 0x000b0cf0}}}, + {X: Field{[10]uint32{0x0162c66e, 0x0150a153, 0x0155868d, 0x03c65f8c, 0x03748be0, 0x00acb3ae, 0x01feac74, 0x00134215, 0x022067da, 0x003faf22}}, Y: Field{[10]uint32{0x01d96083, 0x012a3499, 0x03bd1a55, 0x01b6898a, 0x01e3db34, 0x004169dc, 0x029d583e, 0x0398ffe6, 0x02873d45, 0x002bb8e4}}}, + {X: Field{[10]uint32{0x0206a569, 0x023da261, 0x038d3e1c, 0x000b7138, 0x02026542, 0x01715006, 0x002d10bd, 0x009d4623, 0x00b4a598, 0x0029045d}}, Y: Field{[10]uint32{0x03732a00, 0x0021fa47, 0x0367e3bd, 0x00be3643, 0x016b589f, 0x020ad947, 0x0165337e, 0x03e17b1a, 0x03b99fb5, 0x002f1ad8}}}, + {X: Field{[10]uint32{0x025de220, 0x02919396, 0x02ae93a3, 0x0134f2bc, 0x02907c19, 0x004bdd26, 0x0397fc6d, 0x028ebcee, 0x02cf5d10, 0x00048865}}, Y: Field{[10]uint32{0x0304e533, 0x031ba4a4, 0x032b946f, 0x03175016, 0x01674697, 0x02508ff7, 0x00e2c7c5, 0x03884d51, 0x0342b3c1, 0x00333d19}}}, + {X: Field{[10]uint32{0x021eadb3, 0x02d98f0b, 0x0373e799, 0x0187a38e, 0x019f93ec, 0x03219dd8, 0x03bfaa08, 0x03731f86, 0x01cb0104, 0x001deeb5}}, Y: Field{[10]uint32{0x02faa3cc, 0x03a18271, 0x00fea411, 0x02317bc2, 0x014023fd, 0x03c948bb, 0x021214dd, 0x037afd23, 0x007bad8b, 0x0002225d}}}, + {X: Field{[10]uint32{0x02d4a98b, 0x005faec4, 0x015d2f55, 0x0225a578, 0x024e3f6c, 0x00cc9f9b, 0x01451637, 0x02b505ab, 0x00758c49, 0x0007a350}}, Y: Field{[10]uint32{0x023b09f4, 0x01a05803, 0x01cd1259, 0x02835220, 0x0398d94a, 0x032f13e0, 0x03379a2e, 0x02986726, 0x00b00730, 0x000745b3}}}, + {X: Field{[10]uint32{0x03b6ee42, 0x01a7e97e, 0x028cfb18, 0x02b3d280, 0x01880ff2, 0x03ed6d4d, 0x03f4974a, 0x01077521, 0x016b2402, 0x00321e99}}, Y: Field{[10]uint32{0x02757beb, 0x02bfdc2f, 0x01cb76dd, 0x02a2d326, 0x0134f694, 0x029a9e43, 0x0174412f, 0x0254e17b, 0x033a6fac, 0x0005bc97}}}, + {X: Field{[10]uint32{0x0355a4eb, 0x02f67092, 0x03b8071f, 0x005b9ce4, 0x01669adf, 0x03385a81, 0x0369944c, 0x01ba23a5, 0x0007482c, 0x0025ac05}}, Y: Field{[10]uint32{0x00b50223, 0x02fffee5, 0x00ca4578, 0x03886c5e, 0x0082b786, 0x021a2006, 0x00d68de3, 0x0213c382, 0x02805903, 0x002ccaf8}}}, + {X: Field{[10]uint32{0x01ae4af5, 0x02fe211b, 0x01eff7eb, 0x01888b87, 0x00b2afd1, 0x01b423d5, 0x0272fb74, 0x018b9a07, 0x00b37395, 0x000483da}}, Y: Field{[10]uint32{0x000bcc78, 0x0305a40c, 0x00743ded, 0x02758572, 0x0102f4da, 0x03643853, 0x03c6729b, 0x01dbe51d, 0x034f2b23, 0x001f07ad}}}, + {X: Field{[10]uint32{0x02acd157, 0x03177139, 0x00989b65, 0x0074a170, 0x0049a441, 0x00923fba, 0x008be2cf, 0x02d15618, 0x01ec2789, 0x0039921c}}, Y: Field{[10]uint32{0x00e10a6b, 0x01d8a516, 0x02145843, 0x039740bc, 0x02f3dbfa, 0x017be47f, 0x039ecfd4, 0x02c2d56d, 0x02d14999, 0x000a602c}}}, + {X: Field{[10]uint32{0x026798ad, 0x010e18ea, 0x012660eb, 0x03894ea3, 0x0243daa1, 0x01cf9721, 0x0324adfc, 0x00f8b094, 0x0009b20d, 0x001822c4}}, Y: Field{[10]uint32{0x010e13df, 0x03f8b223, 0x0038b3b4, 0x00f10fbf, 0x03a021e1, 0x033c3998, 0x0181c68c, 0x0258e144, 0x0203ad5c, 0x00209b96}}}, + {X: Field{[10]uint32{0x01bb152a, 0x017e1068, 0x033e57c6, 0x00ada142, 0x00cdc4dc, 0x01bd306a, 0x02614353, 0x03917d82, 0x01558132, 0x002325e0}}, Y: Field{[10]uint32{0x037460fc, 0x03504df6, 0x0344ba6e, 0x00f670c6, 0x001875d6, 0x02193c65, 0x01083c53, 0x0207bc2a, 0x0098394d, 0x00328ecc}}}, + {X: Field{[10]uint32{0x0021bf3e, 0x0323e366, 0x00627f80, 0x015da084, 0x03100727, 0x0380441b, 0x018e731c, 0x00920be3, 0x011ac73b, 0x0000d4d6}}, Y: Field{[10]uint32{0x01eb6412, 0x02131ed0, 0x03df9d4f, 0x02067d12, 0x0370ae89, 0x009823aa, 0x02306db0, 0x02d1a6b1, 0x011a501a, 0x000adf8f}}}, + {X: Field{[10]uint32{0x00d78857, 0x03710c27, 0x02978b05, 0x01f6a7f6, 0x023c387b, 0x01e3f38c, 0x0270a671, 0x01cdcbb3, 0x0188ec35, 0x003acb7f}}, Y: Field{[10]uint32{0x024b88e4, 0x011fbc68, 0x01f6318c, 0x01ff2828, 0x023dd7aa, 0x02148dcb, 0x001a8cf9, 0x01548711, 0x02ed1f5a, 0x001bcaed}}}, + {X: Field{[10]uint32{0x012eb279, 0x03fdcca6, 0x00487b29, 0x03a619cb, 0x00abd72a, 0x03bbd9b7, 0x018f3b07, 0x001439a6, 0x03f65db1, 0x00290703}}, Y: Field{[10]uint32{0x01a99cd4, 0x0147bba6, 0x00244ba9, 0x03acaab3, 0x03bc0786, 0x014841c9, 0x019d7f86, 0x03fe77d8, 0x03205616, 0x0015be9e}}}, + {X: Field{[10]uint32{0x02217e92, 0x009395e8, 0x00ea9415, 0x02b6186f, 0x01615d85, 0x021677c4, 0x005917e0, 0x00540329, 0x0335f5bb, 0x00239d22}}, Y: Field{[10]uint32{0x00a46df8, 0x01d78fbf, 0x0266c9ef, 0x028e5b3f, 0x00825515, 0x025cef14, 0x03f86043, 0x031a9e12, 0x0362e226, 0x0015504c}}}, + {X: Field{[10]uint32{0x02dd17e5, 0x0354d709, 0x03708f35, 0x009f3339, 0x02bc506c, 0x01fb1eff, 0x00de2c7b, 0x001891cf, 0x0007cce7, 0x002a0fd8}}, Y: Field{[10]uint32{0x026af268, 0x00edd318, 0x02cbb26c, 0x005221e8, 0x015a1ac6, 0x03543585, 0x0397a379, 0x01f9718c, 0x012daf21, 0x002b523b}}}, + {X: Field{[10]uint32{0x0282d2fa, 0x022bfb44, 0x033abf11, 0x0376d1d5, 0x025cf208, 0x03f4e5f7, 0x000246eb, 0x0058924e, 0x02927e45, 0x003e7b5e}}, Y: Field{[10]uint32{0x00237b70, 0x02eed772, 0x01324087, 0x001ed2f9, 0x0303c844, 0x01c34e03, 0x015d53c6, 0x00c3de03, 0x02163a6f, 0x003055d1}}}, + {X: Field{[10]uint32{0x002ea08e, 0x00499c9b, 0x0255af01, 0x00491b14, 0x02c7dff0, 0x03c27e04, 0x01177078, 0x031e99fe, 0x038a175e, 0x0028af79}}, Y: Field{[10]uint32{0x01ca12ec, 0x004c8f72, 0x01e20b09, 0x00aa976e, 0x013b5dd6, 0x037140fe, 0x03d27419, 0x01302db5, 0x018fe82d, 0x001c495a}}}, + {X: Field{[10]uint32{0x039899b2, 0x03a88c6f, 0x01a56e62, 0x010b861d, 0x036b37da, 0x02385a42, 0x01cc0e9b, 0x019cda41, 0x01c79dcb, 0x0032a301}}, Y: Field{[10]uint32{0x0087534c, 0x003c67c5, 0x0199641d, 0x0275c4e2, 0x02275125, 0x03eea72a, 0x0160c1e3, 0x02b6e999, 0x01ca1e19, 0x00141314}}}, + {X: Field{[10]uint32{0x00eca02b, 0x01ec0655, 0x0397c061, 0x008725e7, 0x0061fd4b, 0x0140609e, 0x037ecdd1, 0x004eb104, 0x02ee61db, 0x0003f041}}, Y: Field{[10]uint32{0x03bef3ee, 0x0265945e, 0x0308e6bc, 0x035d724b, 0x02971f2c, 0x037168b0, 0x03ce9c2c, 0x0198e0ab, 0x02284fc2, 0x001b6956}}}, + {X: Field{[10]uint32{0x0092a8ab, 0x02da9c59, 0x0390b8b9, 0x012f0be3, 0x03504f67, 0x02b1e11b, 0x019a3217, 0x0041a150, 0x0039f47b, 0x000b2c86}}, Y: Field{[10]uint32{0x000a5757, 0x0204927c, 0x017aff10, 0x00cc116a, 0x00637264, 0x01978bf2, 0x0007feb9, 0x00112bda, 0x0332ae75, 0x00007fac}}}, + {X: Field{[10]uint32{0x0161f3ae, 0x03c84c95, 0x002245d4, 0x01c9e65c, 0x0356ba35, 0x02e957b6, 0x022963ef, 0x001ffff2, 0x00ee759c, 0x0019e314}}, Y: Field{[10]uint32{0x02cba96c, 0x022ffd2b, 0x03107c49, 0x015f6a9d, 0x01780b16, 0x00e2787e, 0x03afce2d, 0x00130724, 0x0387abbf, 0x0006626d}}}, + {X: Field{[10]uint32{0x024aa6fc, 0x00724420, 0x01da41b2, 0x032907cf, 0x0275d407, 0x002cbc99, 0x015097c3, 0x00d36608, 0x01ceaa2e, 0x002ad8f8}}, Y: Field{[10]uint32{0x00e2363c, 0x00955a9b, 0x00d82479, 0x0395f43d, 0x02812eb7, 0x011506b5, 0x01d3da2c, 0x03fdc9c5, 0x02611150, 0x003b196f}}}, + {X: Field{[10]uint32{0x003dd336, 0x02466ba4, 0x03cc9f5c, 0x01e6c14a, 0x03ec5672, 0x00499260, 0x0239a2a3, 0x02565d69, 0x01cafad5, 0x0029a4e6}}, Y: Field{[10]uint32{0x010d97dd, 0x00f84bb1, 0x017551c4, 0x012d8d24, 0x001c8730, 0x024eb8d2, 0x02799dcc, 0x013d369e, 0x0259c30c, 0x002d4971}}}, + {X: Field{[10]uint32{0x00fc5f3e, 0x01d4ef70, 0x001fbe13, 0x02bf4ef9, 0x00bd7a48, 0x00e720b4, 0x01cb5ed4, 0x033d7b49, 0x0282507b, 0x000cafd0}}, Y: Field{[10]uint32{0x0279bff2, 0x02eda543, 0x0033ac20, 0x02607a00, 0x026773c5, 0x038d1fa0, 0x0282f90b, 0x0367f495, 0x017a4336, 0x00336480}}}, + {X: Field{[10]uint32{0x02dfd862, 0x00ba6e3b, 0x032ec5e4, 0x0213da06, 0x02f2fe64, 0x005141c5, 0x003e2cc1, 0x000259c8, 0x01837e72, 0x00287f32}}, Y: Field{[10]uint32{0x01ed4fd7, 0x01b0c58c, 0x03a964ba, 0x03f6f05f, 0x02a419af, 0x008b7927, 0x03fa79a7, 0x03ee277f, 0x02c317e8, 0x000785ad}}}, + {X: Field{[10]uint32{0x030ceae0, 0x02ccae5f, 0x00838472, 0x03cceafa, 0x0360485c, 0x0073dce2, 0x01f1e822, 0x01f94063, 0x014e6961, 0x0036168c}}, Y: Field{[10]uint32{0x000a52f1, 0x02a8d9f8, 0x024e86e1, 0x033ccc22, 0x00fbbcba, 0x02229e6d, 0x034b5daa, 0x0379999a, 0x03eee92d, 0x001c683f}}}, + {X: Field{[10]uint32{0x020c2e7f, 0x000feabc, 0x0224e4ee, 0x017a010f, 0x02f5a53b, 0x00d5bab0, 0x01b20e31, 0x031c3905, 0x02fa0688, 0x00062489}}, Y: Field{[10]uint32{0x01515aa6, 0x0161f7bc, 0x00eaa1a0, 0x01fe54b9, 0x02fc2bba, 0x0261f3d8, 0x00be5759, 0x0354f9ef, 0x00ac40c7, 0x00366ff6}}}, + {X: Field{[10]uint32{0x019e1330, 0x001c2695, 0x01241ff7, 0x009534b6, 0x0132465d, 0x00b3c84d, 0x02674e63, 0x00458b5e, 0x020a6a93, 0x0034d50b}}, Y: Field{[10]uint32{0x0357c369, 0x01e645d2, 0x032bf9a0, 0x021012c7, 0x03dbd427, 0x008aef60, 0x00be5ed6, 0x0108d0d3, 0x0351e266, 0x000097a3}}}, + {X: Field{[10]uint32{0x013a2bc5, 0x01af861d, 0x0245f287, 0x016ab6ff, 0x029a8c0a, 0x0161d615, 0x006e6b82, 0x02d8487b, 0x0286fb2c, 0x00145367}}, Y: Field{[10]uint32{0x03cbf261, 0x02a10615, 0x0179145c, 0x02f1218a, 0x011b8370, 0x0197de76, 0x01918d9f, 0x008f10d0, 0x01c0be54, 0x001c01e1}}}, + {X: Field{[10]uint32{0x023fe495, 0x01a128fa, 0x03f6ad6d, 0x0188b5c8, 0x0343f9aa, 0x02b981aa, 0x031db335, 0x0333f787, 0x036512e9, 0x00327e18}}, Y: Field{[10]uint32{0x0230270b, 0x00efac87, 0x01db3a3b, 0x0163cc7d, 0x01b7b80b, 0x0372f8ee, 0x02f9445d, 0x02807271, 0x02313868, 0x000c34e9}}}, + {X: Field{[10]uint32{0x002deb93, 0x03481bcb, 0x00768357, 0x029cae42, 0x03641200, 0x0039e436, 0x00cd96fa, 0x0227f826, 0x020c8fc0, 0x000089bc}}, Y: Field{[10]uint32{0x025f66bc, 0x00ee56aa, 0x00cff1c0, 0x01bfb860, 0x015e0262, 0x012d0f6a, 0x03c20452, 0x024d880f, 0x03b8b43e, 0x000b88fe}}}, + {X: Field{[10]uint32{0x035350bd, 0x0125adb2, 0x03da0a38, 0x03f62366, 0x019fcc79, 0x02e29f98, 0x019bd9e6, 0x03e531c8, 0x0268d4b6, 0x00286c9d}}, Y: Field{[10]uint32{0x02d68a32, 0x013ccb75, 0x01b94264, 0x01d2dcae, 0x01c96b5f, 0x0003f57b, 0x02a62bc2, 0x0305ab9e, 0x005eb6e1, 0x000e4cff}}}, + {X: Field{[10]uint32{0x03e28887, 0x0037dfab, 0x01ae38c4, 0x01f05643, 0x0357dd4e, 0x02023ac2, 0x03b71810, 0x02f0c47d, 0x02570087, 0x00043c4d}}, Y: Field{[10]uint32{0x03366d84, 0x031ba178, 0x03995db5, 0x02d29e68, 0x02291338, 0x00753b73, 0x02c570d9, 0x030fb139, 0x008709bd, 0x000694b9}}}, + {X: Field{[10]uint32{0x01be3e46, 0x03861073, 0x01884273, 0x03623e62, 0x00f613b3, 0x0003717b, 0x03558615, 0x03d60fe7, 0x00eea984, 0x00022aa8}}, Y: Field{[10]uint32{0x0133260d, 0x025f48a8, 0x017b8f21, 0x016055b6, 0x0124e564, 0x00bc91bb, 0x02c46abc, 0x009df700, 0x01540f85, 0x0014a588}}}, + {X: Field{[10]uint32{0x01c89d2e, 0x019990fc, 0x034aa3bd, 0x03be96e2, 0x00dc9472, 0x01ea4ea6, 0x0397ce5f, 0x02c6de6c, 0x02710024, 0x000ca016}}, Y: Field{[10]uint32{0x003091fd, 0x01439621, 0x002a2f4d, 0x019702e2, 0x029e23c7, 0x00a9d3b5, 0x02d0a858, 0x00e7d734, 0x007cb7c1, 0x002bd497}}}, + {X: Field{[10]uint32{0x01412451, 0x0141d26a, 0x02b12cde, 0x030a1fda, 0x01058db0, 0x03ce9483, 0x030835a4, 0x035125fe, 0x00cc909a, 0x0031cbc4}}, Y: Field{[10]uint32{0x02c7c65a, 0x0044b5bc, 0x03030a7a, 0x00c99d19, 0x03b8e2ca, 0x0192d83c, 0x015ff15b, 0x02ea78df, 0x027d5197, 0x0029599b}}}, + {X: Field{[10]uint32{0x03fc9a22, 0x0082195d, 0x01f97c03, 0x016b5301, 0x0172c0fa, 0x0080ef50, 0x01a74adc, 0x0046c905, 0x00c78702, 0x001bb1da}}, Y: Field{[10]uint32{0x031b09fb, 0x009833ab, 0x014d05da, 0x010b6d9f, 0x03b51cbf, 0x01527230, 0x01e67100, 0x036ec249, 0x02220aa2, 0x00060e52}}}, + {X: Field{[10]uint32{0x00a64737, 0x00e9c70f, 0x01e61dc9, 0x0343bbe4, 0x01a846e7, 0x01c117f2, 0x01061438, 0x03455981, 0x03bbff99, 0x00378dba}}, Y: Field{[10]uint32{0x000f4270, 0x0292d3a4, 0x00c81b39, 0x02e86d34, 0x00488208, 0x011db138, 0x0247dcda, 0x02cded01, 0x02520f3c, 0x0031605d}}}, + {X: Field{[10]uint32{0x00c00218, 0x0082adcf, 0x0297bc0c, 0x008ad1a8, 0x0019bea3, 0x037a9bd3, 0x0001ef86, 0x03f1a16b, 0x015d5538, 0x003d4d05}}, Y: Field{[10]uint32{0x03b9523c, 0x0355c1ac, 0x026030d3, 0x013c5376, 0x03f9d092, 0x028b4494, 0x02b38a49, 0x02632bbb, 0x01f2979d, 0x0013eadf}}}, + {X: Field{[10]uint32{0x0286129d, 0x01ff304c, 0x035210bc, 0x0223436a, 0x0008db20, 0x0156da1f, 0x00ecb981, 0x02409420, 0x0050a1db, 0x0036bf6e}}, Y: Field{[10]uint32{0x011ada22, 0x03cbfbd9, 0x0291aa2e, 0x014183ff, 0x027d0ccc, 0x00dbeef4, 0x02be601f, 0x013050ff, 0x03fcae6c, 0x0010e597}}}, + {X: Field{[10]uint32{0x01d705ce, 0x027e7d26, 0x03721299, 0x01a5a02c, 0x022efe40, 0x00cf31a7, 0x016893ee, 0x02f21460, 0x02211dca, 0x002b2682}}, Y: Field{[10]uint32{0x00c728ef, 0x00e5c6e6, 0x03a8879c, 0x02c4e7d6, 0x02acf64e, 0x034035c4, 0x021e02c2, 0x034af7fe, 0x02408281, 0x0005baff}}}, + {X: Field{[10]uint32{0x00503030, 0x0207afa6, 0x02ceb1db, 0x00bc0ede, 0x0131ae2b, 0x02e2da7f, 0x01eb8b97, 0x03dba578, 0x03d4b48c, 0x002becde}}, Y: Field{[10]uint32{0x024b7929, 0x0336c582, 0x01d84d3f, 0x037b3913, 0x01c47c06, 0x017e8c4f, 0x0231af3e, 0x033765bc, 0x0164f8d9, 0x000733d0}}}, + {X: Field{[10]uint32{0x0088e709, 0x000a494e, 0x007d51a6, 0x00b4ac4a, 0x00f55368, 0x007591c3, 0x0318e7f2, 0x013e0cea, 0x02ef6c29, 0x00006e40}}, Y: Field{[10]uint32{0x00d69ebe, 0x007b3bb7, 0x024aa24b, 0x00091b1c, 0x0066ca01, 0x00359a93, 0x005e9fe4, 0x027f9c8e, 0x01ff34e4, 0x001dcd71}}}, + {X: Field{[10]uint32{0x003133e2, 0x0138a2df, 0x030b255e, 0x031630ef, 0x00c61b41, 0x00cc883f, 0x01b4ec3d, 0x00a561f1, 0x03108a20, 0x001b9396}}, Y: Field{[10]uint32{0x028fcfbe, 0x012a6766, 0x02f660f1, 0x0011b3a8, 0x00b55ae5, 0x01224569, 0x01ea4106, 0x01abd11a, 0x03065c33, 0x002d27e0}}}, + {X: Field{[10]uint32{0x037e9714, 0x00346ac6, 0x0280b5b1, 0x0261f607, 0x0112342d, 0x034e4c6e, 0x00532760, 0x0008416e, 0x037fbb80, 0x0021f38f}}, Y: Field{[10]uint32{0x00f0f635, 0x0065ce93, 0x02e16d1e, 0x0263751b, 0x016b71f8, 0x03078ce1, 0x013c3869, 0x03ce700a, 0x004779db, 0x0015b1aa}}}, + {X: Field{[10]uint32{0x01426b2d, 0x0199eab2, 0x01d0c9f6, 0x00189d1f, 0x02d368a7, 0x01687a51, 0x00193724, 0x01927270, 0x029bb7ba, 0x0021c90c}}, Y: Field{[10]uint32{0x010b944c, 0x0243fe59, 0x030d89d0, 0x03548745, 0x0155b109, 0x003e811e, 0x03a5a5bb, 0x03512d76, 0x00e848d7, 0x00011116}}}, + {X: Field{[10]uint32{0x02a1a4bc, 0x025fd8ad, 0x005cd7d2, 0x03333b21, 0x03c6338d, 0x01935f5f, 0x01b18b6b, 0x030244cb, 0x03a64735, 0x002e46fb}}, Y: Field{[10]uint32{0x00138467, 0x03dc0778, 0x0340b14c, 0x00323e7c, 0x0015e7ca, 0x0391d9a8, 0x03f16cfb, 0x01e71a19, 0x01ef8c9b, 0x002ece58}}}, + {X: Field{[10]uint32{0x00d08fb3, 0x038c8028, 0x0296cd8d, 0x02e19735, 0x009ae3d6, 0x0228d227, 0x00fbb896, 0x025fa8ef, 0x0259332e, 0x0010c87a}}, Y: Field{[10]uint32{0x00cd538e, 0x032d8021, 0x00f7ee31, 0x008d7394, 0x0203f6b0, 0x01ce8d7a, 0x0182e3fc, 0x02754f5d, 0x00d4c514, 0x0025f920}}}, + {X: Field{[10]uint32{0x02f1bc6d, 0x014b29bd, 0x02069057, 0x0357a230, 0x017950a8, 0x02a63508, 0x01051d25, 0x025a990c, 0x03b2836d, 0x00371165}}, Y: Field{[10]uint32{0x03df36ff, 0x01cfc814, 0x02ad7f9b, 0x03f79310, 0x03362bb4, 0x00d5c96a, 0x00e3a83c, 0x00c32ba1, 0x000d16ba, 0x0031c496}}}, + {X: Field{[10]uint32{0x0159a009, 0x00b4e700, 0x00992997, 0x0194b67e, 0x03c5f19b, 0x037801ee, 0x02617508, 0x00c0242c, 0x02f085ff, 0x00339913}}, Y: Field{[10]uint32{0x033cc8f7, 0x02641b35, 0x02c17c08, 0x01a48299, 0x00c9402a, 0x019026ac, 0x0200c92f, 0x02e596ea, 0x01d0058d, 0x00002690}}}, + {X: Field{[10]uint32{0x0136b41a, 0x01138066, 0x002b4a74, 0x0309611a, 0x022ec439, 0x00f2e3bc, 0x01aecf42, 0x02d2eae0, 0x035cb6c7, 0x0002e878}}, Y: Field{[10]uint32{0x01bd6272, 0x0339a50d, 0x0128ad2f, 0x00cc73ab, 0x0001098b, 0x02c5ea39, 0x0178d6f7, 0x037918f8, 0x0252f91d, 0x003cecf1}}}, + {X: Field{[10]uint32{0x02e3920f, 0x0344d821, 0x0114d72e, 0x011c640b, 0x036988c7, 0x011763d0, 0x03c839f8, 0x006efd83, 0x02a02a33, 0x002e7e63}}, Y: Field{[10]uint32{0x020d03d3, 0x03eca4b1, 0x0327d318, 0x013ea52e, 0x0235d9b0, 0x02a85f04, 0x0326f5e8, 0x00e85b31, 0x0101a7f2, 0x00027ec9}}}, + {X: Field{[10]uint32{0x007e886f, 0x028da7a0, 0x02ed09c1, 0x03c45b5e, 0x00dc10db, 0x03f3fe4c, 0x038e702f, 0x003e0711, 0x034655f9, 0x001c1645}}, Y: Field{[10]uint32{0x0205a59f, 0x0255426c, 0x02f8c64b, 0x010747cd, 0x03d09d3f, 0x0182a8fd, 0x031ec925, 0x03c32836, 0x00a4b9d6, 0x002099e8}}}, + {X: Field{[10]uint32{0x025434bf, 0x00886b30, 0x0031eb76, 0x01b938c7, 0x0114cc5a, 0x01004858, 0x036469f8, 0x02818e9e, 0x00bcc43c, 0x003bf69e}}, Y: Field{[10]uint32{0x02fa2864, 0x038de055, 0x032aa92b, 0x0191126b, 0x034cdf80, 0x00c64f44, 0x0121b135, 0x03e1643d, 0x03f6ef45, 0x001ed0db}}}, + {X: Field{[10]uint32{0x010ccc34, 0x01b4251d, 0x02f0e430, 0x01d00068, 0x0335fbd8, 0x02015aba, 0x0230988c, 0x002578e9, 0x030f5d62, 0x0008a692}}, Y: Field{[10]uint32{0x0234de6e, 0x028d6578, 0x034288be, 0x00d771a8, 0x00741acf, 0x01a9466f, 0x01694cef, 0x01d38f4b, 0x03af491c, 0x0005c34c}}}, + {X: Field{[10]uint32{0x02f07100, 0x0238bb1a, 0x03f178ce, 0x02d2069a, 0x03f91860, 0x02b343e4, 0x01d44b83, 0x0084c862, 0x008e20a0, 0x0031dc3d}}, Y: Field{[10]uint32{0x00266eec, 0x03e18870, 0x038c9610, 0x02fdf82f, 0x02a6d8db, 0x00c96fab, 0x0143aca3, 0x00647e7b, 0x00d38b2a, 0x001f8448}}}, + {X: Field{[10]uint32{0x0286aa44, 0x0121a6bc, 0x00af8eb7, 0x0260f509, 0x01e89b89, 0x002c626a, 0x020a48a2, 0x00754a2d, 0x00630390, 0x002976cb}}, Y: Field{[10]uint32{0x00af1e50, 0x03868dc9, 0x03a1446f, 0x021a0146, 0x010384e1, 0x0270dfbb, 0x034e6abd, 0x0356c069, 0x01926a93, 0x002e6587}}}, + {X: Field{[10]uint32{0x0241db1c, 0x01eca636, 0x005ff007, 0x01233a8b, 0x024b447e, 0x005a36e6, 0x03897b7c, 0x000a2298, 0x029e9f33, 0x000fb1c5}}, Y: Field{[10]uint32{0x03053fb2, 0x01de0d7c, 0x00b49e44, 0x01a04b96, 0x024b3be2, 0x034d2935, 0x004aa34e, 0x003b688b, 0x034de8e6, 0x0030ffa5}}}, + {X: Field{[10]uint32{0x035bf3b3, 0x00b0453e, 0x02b777cf, 0x024f3a4b, 0x03810cff, 0x0267923a, 0x0060d4cf, 0x00461356, 0x0217c331, 0x002dccf7}}, Y: Field{[10]uint32{0x000c11b0, 0x038690d2, 0x0290ad28, 0x033a7c9a, 0x0157fc4a, 0x02ed855c, 0x000d537e, 0x002b4c80, 0x00dd72d2, 0x00031d70}}}, + {X: Field{[10]uint32{0x002ed278, 0x0140585b, 0x01df28b4, 0x0279aa08, 0x00027db5, 0x005601d7, 0x0149616a, 0x02f09057, 0x0208d555, 0x0015f5b8}}, Y: Field{[10]uint32{0x0346eba8, 0x00d31b0d, 0x02891fca, 0x00b9b3ca, 0x0274b5d0, 0x014ecd3d, 0x028e3533, 0x036968d4, 0x0279d130, 0x0020e1c2}}}, + {X: Field{[10]uint32{0x02d3673d, 0x0249621a, 0x03aab8d7, 0x0027f6cb, 0x026f0694, 0x00823dbc, 0x032fd3c3, 0x0291e0ef, 0x00f1aa69, 0x0027908d}}, Y: Field{[10]uint32{0x008d0653, 0x00dccf8a, 0x0029bd75, 0x005abffb, 0x019fb42b, 0x01e81610, 0x03ed0414, 0x03af0fa2, 0x03737725, 0x0017e691}}}, + {X: Field{[10]uint32{0x02b68173, 0x00fc7ce6, 0x00a758d4, 0x03c9d81a, 0x0322e4fc, 0x0362ba44, 0x0096202f, 0x00bff6f6, 0x039d9fc1, 0x001bf8ff}}, Y: Field{[10]uint32{0x0109fa1b, 0x00f688ad, 0x02a3c2ab, 0x0058f9fe, 0x010bf94e, 0x02482316, 0x03ef7b50, 0x0118209c, 0x02821d41, 0x003bc355}}}, + {X: Field{[10]uint32{0x005c4631, 0x02ab96ed, 0x0161fff2, 0x015f446c, 0x0154c492, 0x01532d26, 0x02af415e, 0x01b867be, 0x014fd258, 0x000b0c79}}, Y: Field{[10]uint32{0x03311346, 0x003908c4, 0x0308bd8e, 0x015069c1, 0x00039af3, 0x03ee0979, 0x0353c0e9, 0x02c6b39f, 0x00ad364a, 0x002fb7ec}}}, + {X: Field{[10]uint32{0x00203ebc, 0x019839de, 0x037823b8, 0x0225270b, 0x004d745b, 0x02e4ce16, 0x00ea2ee2, 0x01230d1e, 0x02590231, 0x0014565c}}, Y: Field{[10]uint32{0x02aa1817, 0x027cefd9, 0x033628a5, 0x03396984, 0x03b81ff7, 0x015e4140, 0x03dc4702, 0x02dd0f13, 0x0153f688, 0x000ca7d8}}}, + {X: Field{[10]uint32{0x01caf1f4, 0x010791b3, 0x03d6070d, 0x0213378d, 0x020d3946, 0x03d4733e, 0x03fcb3bd, 0x035ee370, 0x032458f7, 0x000622cc}}, Y: Field{[10]uint32{0x03901910, 0x0195a934, 0x03104487, 0x030a22ab, 0x003d1dde, 0x026671aa, 0x026b04c8, 0x02845cc6, 0x01dad112, 0x000137a9}}}, + {X: Field{[10]uint32{0x03a6e471, 0x00dcb573, 0x0090e307, 0x033dfc4f, 0x0085f804, 0x0384f8aa, 0x02b0a494, 0x03856233, 0x0241a503, 0x00248163}}, Y: Field{[10]uint32{0x00ec108a, 0x01c95761, 0x0151068e, 0x01e96334, 0x01bcbe17, 0x0085dfa5, 0x025a230e, 0x01a1785f, 0x02d4449e, 0x000da01c}}}, + {X: Field{[10]uint32{0x00099fcf, 0x011e20cd, 0x0105d5b6, 0x03a27a0c, 0x03726f79, 0x01bab14d, 0x03a7a689, 0x01941bc9, 0x022644e0, 0x001a9bd4}}, Y: Field{[10]uint32{0x01132586, 0x0268cb69, 0x013214c1, 0x0269692d, 0x007104e7, 0x01d261fd, 0x027b6645, 0x0360fac5, 0x014bd8ce, 0x0033cfb7}}}, + {X: Field{[10]uint32{0x0376bb26, 0x03e49bc8, 0x0148d89c, 0x0008d3c0, 0x03c77c34, 0x035523cd, 0x021e0efa, 0x03730f28, 0x02a2340c, 0x001f8df3}}, Y: Field{[10]uint32{0x009a0016, 0x027fa6b3, 0x0369e83b, 0x00af4c72, 0x026b02d4, 0x0172f08a, 0x022938e0, 0x01f1aac1, 0x029b42a2, 0x0031cb60}}}, + {X: Field{[10]uint32{0x00d0b667, 0x023ee0b6, 0x00c5ad84, 0x00314b0f, 0x00800d01, 0x0325ea37, 0x03b4b39b, 0x01b3deeb, 0x0069cf0f, 0x00079b08}}, Y: Field{[10]uint32{0x0260196f, 0x031c8e23, 0x03e81f86, 0x02198c2d, 0x00491469, 0x032c2450, 0x02cfbdc2, 0x03611a1b, 0x0276bca1, 0x00030607}}}, + {X: Field{[10]uint32{0x02f07e16, 0x00fbd6c1, 0x00be3520, 0x00f32901, 0x02f36ba4, 0x0112d1fa, 0x02336c8d, 0x0293dec1, 0x000fe6ee, 0x00155998}}, Y: Field{[10]uint32{0x01057e55, 0x03f87380, 0x0278b5a7, 0x0059da56, 0x0269e5ac, 0x03cdcbb6, 0x00acb4c0, 0x0065e7b5, 0x008f7adc, 0x001aeef4}}}, + {X: Field{[10]uint32{0x01c791b5, 0x0341f64c, 0x03a7619a, 0x005b54a6, 0x00690450, 0x017653e3, 0x01c5adc4, 0x00717008, 0x034ded45, 0x0010d718}}, Y: Field{[10]uint32{0x034d4cc1, 0x02d391f1, 0x02c14024, 0x01d8adbd, 0x02850098, 0x0254f032, 0x006f9591, 0x02943c88, 0x02688252, 0x000c7b78}}}, + {X: Field{[10]uint32{0x0057b9b6, 0x0108d0a7, 0x027e9dd1, 0x00abe157, 0x01f19a0d, 0x014a9053, 0x01c06122, 0x01c71ce5, 0x00e6a660, 0x001bee33}}, Y: Field{[10]uint32{0x0368e052, 0x017627c9, 0x034c5b84, 0x03baaff8, 0x02183dad, 0x0208c989, 0x0399fad6, 0x014c5351, 0x0249e2f0, 0x0005fe50}}}, + {X: Field{[10]uint32{0x0180dc36, 0x037a30ca, 0x01890148, 0x028a6781, 0x0011c711, 0x0153b98d, 0x016a695f, 0x01325252, 0x029920fc, 0x00219bcf}}, Y: Field{[10]uint32{0x018d62f7, 0x0221e1b4, 0x0109bae1, 0x000ba0de, 0x01f5211f, 0x030036cb, 0x00a11e13, 0x030f074e, 0x01af4f8d, 0x003a6715}}}, + {X: Field{[10]uint32{0x00468b2d, 0x01bd8620, 0x03c79461, 0x002df009, 0x0162404f, 0x0372f941, 0x024f7234, 0x0122669c, 0x0010b716, 0x0020304d}}, Y: Field{[10]uint32{0x000b91aa, 0x037e254a, 0x016216d8, 0x03870b10, 0x01bd6e8f, 0x0371a74e, 0x03592819, 0x00793f5e, 0x002e71a0, 0x00218c65}}}, + {X: Field{[10]uint32{0x02a7da99, 0x00577060, 0x004d2c38, 0x030292e9, 0x00bf37ab, 0x005eedbb, 0x03e68bec, 0x02762014, 0x01eeef4e, 0x0023e16f}}, Y: Field{[10]uint32{0x0217897e, 0x027edfbb, 0x02962b4a, 0x017927b9, 0x034e8c29, 0x02a96468, 0x00f8ce78, 0x00d0b2bc, 0x03df8ae9, 0x000db516}}}, + {X: Field{[10]uint32{0x01600749, 0x01280692, 0x022aa440, 0x039209b6, 0x0317a920, 0x03ba286c, 0x00edaf40, 0x03369833, 0x032b3393, 0x00027342}}, Y: Field{[10]uint32{0x02fc5a5a, 0x03977baa, 0x00463414, 0x024a9258, 0x023a00c4, 0x03c313a8, 0x0101e348, 0x01942ec6, 0x035a51d9, 0x000e0c74}}}, + {X: Field{[10]uint32{0x009f33b0, 0x0380ddf5, 0x032d3bdb, 0x032b7fe8, 0x02003ab7, 0x01d31de6, 0x03832f79, 0x01fff5b3, 0x01af15c6, 0x0028317c}}, Y: Field{[10]uint32{0x01cb91ec, 0x00a5a080, 0x03c57800, 0x00aee210, 0x03307939, 0x0188317f, 0x03344123, 0x01898905, 0x00d442de, 0x001abfd0}}}, + {X: Field{[10]uint32{0x00edfacc, 0x0208c4d6, 0x02d7890a, 0x01c0df2c, 0x02c01113, 0x03b100e7, 0x021fbf02, 0x03885f5f, 0x03400013, 0x002bce5b}}, Y: Field{[10]uint32{0x02cfb936, 0x03a53d66, 0x024bc936, 0x0267a161, 0x016754c5, 0x0017c397, 0x0035d167, 0x014d28b7, 0x01e25a57, 0x002aabae}}}, + {X: Field{[10]uint32{0x01ed0eaf, 0x039c7124, 0x01307cf1, 0x01c7cbe2, 0x0187d4c0, 0x02f8d65e, 0x02871b0d, 0x03b3179f, 0x0057e3e0, 0x003f6b0f}}, Y: Field{[10]uint32{0x00a09fc7, 0x03981a0f, 0x00b18cde, 0x03fd7684, 0x02b14d14, 0x033f8db5, 0x00877afc, 0x03c259cf, 0x00cca22e, 0x000c0a28}}}, + {X: Field{[10]uint32{0x02fa88b7, 0x011c767b, 0x0103e14a, 0x035aab14, 0x00ae745f, 0x023bebb7, 0x012b6a96, 0x02eaa6b8, 0x01239587, 0x0038ebac}}, Y: Field{[10]uint32{0x02f769c7, 0x00ce5ef2, 0x036cd2d3, 0x00168b23, 0x017b4603, 0x02c9f469, 0x006833fb, 0x01512f8c, 0x038652c1, 0x001fb471}}}, + {X: Field{[10]uint32{0x038352f5, 0x01694335, 0x00a0e605, 0x01e8f8f8, 0x000eb83d, 0x0246b2e5, 0x00cc663c, 0x00058bed, 0x01e3382a, 0x0025aebb}}, Y: Field{[10]uint32{0x00c50cbc, 0x02b8167c, 0x039972ad, 0x0187a963, 0x0105100d, 0x02e4c022, 0x00c3a80f, 0x00a090e2, 0x0297b3ad, 0x001e1c8b}}}, + {X: Field{[10]uint32{0x03f5f5b5, 0x0013b88e, 0x03e408de, 0x008911a8, 0x02ba93d1, 0x036d51bf, 0x01e1eda4, 0x0158dfcd, 0x01561697, 0x001a1c12}}, Y: Field{[10]uint32{0x014ca494, 0x00d86f18, 0x005ff46e, 0x0099dc90, 0x02934bd2, 0x01310986, 0x006c7a20, 0x011c7ce8, 0x02feb5f7, 0x001891f4}}}, + {X: Field{[10]uint32{0x00bcf749, 0x0257827d, 0x01ad7940, 0x014be0fb, 0x0362eaf6, 0x02c374ac, 0x0202d72e, 0x03e1622b, 0x02342ca1, 0x001c7331}}, Y: Field{[10]uint32{0x012a45fb, 0x027e60f7, 0x02c686cb, 0x02510aa5, 0x01aee177, 0x01c0f968, 0x00e3f222, 0x0039a52a, 0x03d923b1, 0x00121eba}}}, + {X: Field{[10]uint32{0x0235d3f0, 0x002cfb3d, 0x00dff25d, 0x02ebc927, 0x01713844, 0x03a2d842, 0x00cd1831, 0x0268b816, 0x01d06573, 0x001bf687}}, Y: Field{[10]uint32{0x0078108e, 0x02597d48, 0x013df60a, 0x00f554dc, 0x00a232a9, 0x02a22a2c, 0x00a96c32, 0x032dc93e, 0x00f48afc, 0x0028bb91}}}, + {X: Field{[10]uint32{0x01147f45, 0x005b31b5, 0x03b64b10, 0x03d60e39, 0x0165cbfc, 0x02651c45, 0x02395c13, 0x0365ed17, 0x0309ff5a, 0x0034fc9d}}, Y: Field{[10]uint32{0x03265077, 0x024559e4, 0x0161a043, 0x03854767, 0x0329006e, 0x026ef5b1, 0x02026ed2, 0x03870d53, 0x0016cdc8, 0x003e5b2b}}}, + {X: Field{[10]uint32{0x00a011d6, 0x038d9ba9, 0x0278641e, 0x024e38af, 0x0268f827, 0x02e0a4b1, 0x027d064b, 0x01bbfde2, 0x0144a28a, 0x0009ee86}}, Y: Field{[10]uint32{0x027bdcab, 0x03dea613, 0x014d0a77, 0x01755d1a, 0x01fcbe30, 0x0163c15c, 0x0312fc94, 0x0190c39c, 0x00759d21, 0x00092fbe}}}, + {X: Field{[10]uint32{0x004fe190, 0x039f4025, 0x0348ee35, 0x011061c1, 0x01772f4c, 0x021cb83a, 0x03ca9ff7, 0x01f3820b, 0x00125fd8, 0x003f4dee}}, Y: Field{[10]uint32{0x03dcb453, 0x01ee6809, 0x02951184, 0x01118041, 0x028ec68a, 0x02ccdf7c, 0x01b8c43f, 0x0066376e, 0x0125d9ae, 0x00251429}}}, + {X: Field{[10]uint32{0x02071c69, 0x013322a3, 0x00b802c2, 0x02296576, 0x03446751, 0x00caa005, 0x0329b63f, 0x00f83634, 0x00ca9258, 0x0036659f}}, Y: Field{[10]uint32{0x03376c25, 0x0192ba5c, 0x02ab97ed, 0x034c85e7, 0x0328361c, 0x00b96bc9, 0x0086dbb9, 0x0275a4ef, 0x0273c2c3, 0x001ab28d}}}, + {X: Field{[10]uint32{0x014a0a3c, 0x027b502e, 0x0044f3d8, 0x017c38f4, 0x02f53cd4, 0x03f65705, 0x02798efb, 0x0007af48, 0x013c4a8d, 0x0023ba0b}}, Y: Field{[10]uint32{0x011e1b2d, 0x0189b1de, 0x022f036c, 0x02836ceb, 0x0379c8b6, 0x0356e702, 0x0271c3af, 0x03ee742a, 0x037e9167, 0x00382c2a}}}, + {X: Field{[10]uint32{0x00562caa, 0x022876c3, 0x01a4764c, 0x0336fc8b, 0x038d709c, 0x0140a5c1, 0x03ea0291, 0x02d526a7, 0x03d2817c, 0x001187b0}}, Y: Field{[10]uint32{0x036684af, 0x01abd1eb, 0x0259adb1, 0x0036c218, 0x0126cdf8, 0x00594100, 0x00f6e126, 0x025e4144, 0x017dcb5c, 0x001986cb}}}, + {X: Field{[10]uint32{0x01f5793e, 0x00406f50, 0x01890673, 0x0203cf79, 0x0059f517, 0x014ffdae, 0x01bb7ffb, 0x032bb51a, 0x005c0935, 0x000c5562}}, Y: Field{[10]uint32{0x0043dfff, 0x010d3388, 0x0181e28d, 0x0309a71d, 0x0208ca6a, 0x023cd5db, 0x00bbdfe0, 0x00423e34, 0x00e992ac, 0x00180d65}}}, + {X: Field{[10]uint32{0x024ea9eb, 0x0109d60a, 0x02f0dcad, 0x028ae7ed, 0x00c68a60, 0x03621d39, 0x02267a0a, 0x02670641, 0x03b0ad91, 0x00172b24}}, Y: Field{[10]uint32{0x000032ab, 0x008ee662, 0x0234a0e4, 0x0254df99, 0x03c48e72, 0x035d20fa, 0x0161fe7a, 0x036ae5a6, 0x0298a116, 0x0020dbea}}}, + {X: Field{[10]uint32{0x0156cc42, 0x03b15b1a, 0x039047e3, 0x01d09121, 0x0154d052, 0x02a3c05e, 0x02eea1c4, 0x03bd5a2d, 0x03acafd5, 0x0007edb4}}, Y: Field{[10]uint32{0x022a5411, 0x00f6bf4b, 0x00839313, 0x0120460f, 0x027431be, 0x014318d8, 0x036a1ec0, 0x013cc9b7, 0x01f2f89e, 0x002e3be4}}}, + {X: Field{[10]uint32{0x002b28f2, 0x03f1dcf6, 0x02bdcd31, 0x015fdeec, 0x0369fe01, 0x03f7b9ec, 0x00618f03, 0x0001768c, 0x01e152f0, 0x0022702c}}, Y: Field{[10]uint32{0x00b4a507, 0x01deac60, 0x007a9254, 0x0362b27d, 0x01ad8223, 0x009b19ed, 0x0105de5b, 0x01a05ab3, 0x0357bbf4, 0x001875b8}}}, + {X: Field{[10]uint32{0x039a211e, 0x01eac6ed, 0x01751080, 0x02f83cc7, 0x007cb968, 0x01064c90, 0x023875a3, 0x006bf359, 0x018b1f9d, 0x0001f174}}, Y: Field{[10]uint32{0x00779ff3, 0x02e70def, 0x01b3b6dc, 0x02c4a5b2, 0x03d136b5, 0x0353a517, 0x023b4495, 0x03683ef4, 0x03ea985b, 0x00117ef9}}}, + {X: Field{[10]uint32{0x0159f85c, 0x027744fc, 0x03792ddf, 0x034e978b, 0x00b6afda, 0x017adfc0, 0x031ad4db, 0x0042326c, 0x03c19393, 0x003209f3}}, Y: Field{[10]uint32{0x013a1cb1, 0x006aa99d, 0x01a129c3, 0x00f758cd, 0x000330ea, 0x0265478b, 0x03e12fc8, 0x03500553, 0x007a3025, 0x001717f8}}}, + {X: Field{[10]uint32{0x03cc5d9b, 0x005e1d55, 0x001e6571, 0x0201541d, 0x002e0dfa, 0x01ac806d, 0x01e2fa40, 0x03df7081, 0x032bb1f3, 0x0018d1ec}}, Y: Field{[10]uint32{0x028c3ba4, 0x02f868eb, 0x02e52e22, 0x03cec5c3, 0x01a455d3, 0x03e2b09b, 0x00d72553, 0x034d3292, 0x02109508, 0x003e3cc3}}}, + {X: Field{[10]uint32{0x03ae1014, 0x00748999, 0x00130e0a, 0x00ea5266, 0x02bfa21f, 0x036c0cab, 0x02e42837, 0x0040757d, 0x0195e822, 0x0035227d}}, Y: Field{[10]uint32{0x027c66a9, 0x0299b648, 0x000c22b4, 0x037fae54, 0x012bfa98, 0x00987e32, 0x024c33d1, 0x02851a3d, 0x02898dc4, 0x0022c44b}}}, + {X: Field{[10]uint32{0x00a6205b, 0x0016372e, 0x000b276f, 0x01cf50ef, 0x0102200d, 0x039da991, 0x02b8f981, 0x03ef3ab7, 0x0063fb4a, 0x002432e7}}, Y: Field{[10]uint32{0x02e74645, 0x00c93394, 0x0087ba02, 0x01ed6fdb, 0x002611a7, 0x00811c76, 0x02f19c67, 0x01fc6aee, 0x01c0f6ba, 0x002252bf}}}, + {X: Field{[10]uint32{0x02196af4, 0x0269e55a, 0x0018bbc4, 0x01b1a67a, 0x00869bb0, 0x002a6255, 0x026a1bef, 0x0087d395, 0x00bb19f1, 0x001037da}}, Y: Field{[10]uint32{0x020cec90, 0x02f758c8, 0x0269da31, 0x034a90c7, 0x02e1d6b3, 0x01843dad, 0x009f8303, 0x037df0c7, 0x0009d0ce, 0x001c3507}}}, + {X: Field{[10]uint32{0x03da41bf, 0x00450ea0, 0x009d78b4, 0x007acd55, 0x00a888dd, 0x00c7c5ff, 0x00962b64, 0x01411647, 0x0174a0ac, 0x00124dbf}}, Y: Field{[10]uint32{0x03ff4f92, 0x02d7fc86, 0x03392c5a, 0x00ad7743, 0x013fc5b7, 0x02cfc73d, 0x0068af85, 0x0214fb5f, 0x01dd6517, 0x000cea38}}}, + {X: Field{[10]uint32{0x02023557, 0x03a0ac36, 0x03594288, 0x039eca8f, 0x03c1a0c6, 0x025601d2, 0x03aad592, 0x01d6e3d6, 0x01388110, 0x0005c5dd}}, Y: Field{[10]uint32{0x01b10837, 0x02ec1cb0, 0x0077504b, 0x00a08e6a, 0x01b163fe, 0x00d36848, 0x03a0c5f7, 0x01d0b179, 0x0014efd8, 0x00160f52}}}, + {X: Field{[10]uint32{0x038926a2, 0x01dc33d3, 0x02bab586, 0x023c0da4, 0x006abb11, 0x03c87c82, 0x014c82d8, 0x0117aad0, 0x03fbad51, 0x002849ad}}, Y: Field{[10]uint32{0x022ec669, 0x032cb46b, 0x00394452, 0x0251a679, 0x0288d465, 0x007dffb0, 0x02bfdb74, 0x02d34868, 0x0017b601, 0x001e6d2b}}}, + {X: Field{[10]uint32{0x02871163, 0x0039c0eb, 0x004fdba3, 0x02361a61, 0x023485db, 0x03619694, 0x015de512, 0x00012035, 0x0361f884, 0x00147b33}}, Y: Field{[10]uint32{0x02a8d50f, 0x032bb4cb, 0x03dcee87, 0x02a55e94, 0x0012b2c6, 0x0003a824, 0x000c46a2, 0x0327c20b, 0x025397bd, 0x001652b4}}}, + {X: Field{[10]uint32{0x02b3c7a9, 0x016e8ed4, 0x02882510, 0x00e22d45, 0x03d89844, 0x01e7496b, 0x01966cca, 0x01c4c7d5, 0x02336f1b, 0x0025de05}}, Y: Field{[10]uint32{0x03214c60, 0x03a2764e, 0x01516e47, 0x03bbd0d5, 0x02105011, 0x0149d7ad, 0x01a20e0a, 0x023f8337, 0x0141b4b0, 0x003c77cd}}}, + {X: Field{[10]uint32{0x0093f7fe, 0x01e6f80b, 0x03f01cdb, 0x00ea1c2e, 0x0064231d, 0x0068d73a, 0x038cf6db, 0x0236ad71, 0x003a7224, 0x0022f0b1}}, Y: Field{[10]uint32{0x00cbb425, 0x02ef8385, 0x01b2ef49, 0x001e009a, 0x030b428f, 0x03eee75e, 0x028106af, 0x0276fc27, 0x0276173e, 0x00354b8b}}}, + {X: Field{[10]uint32{0x01aef9f2, 0x014f9401, 0x020d9799, 0x01d7a267, 0x036c3271, 0x012e42cd, 0x00abd033, 0x02846729, 0x00816c7c, 0x00167b5e}}, Y: Field{[10]uint32{0x02449910, 0x02981a85, 0x02133152, 0x0094d2f1, 0x02207794, 0x019a7836, 0x01b46a28, 0x003faf93, 0x0027690c, 0x0008e7f0}}}, + {X: Field{[10]uint32{0x03c70fda, 0x0033dacb, 0x025200ca, 0x0268b2ad, 0x01c8ff8e, 0x00a8e716, 0x01923907, 0x01265750, 0x01d17671, 0x002fb0e6}}, Y: Field{[10]uint32{0x010ba8e7, 0x0266ff6b, 0x03fbf709, 0x01f3bf17, 0x02a21a2f, 0x0394bcd1, 0x021ab9ad, 0x0082348e, 0x01ef7831, 0x003ff12f}}}, + {X: Field{[10]uint32{0x020c4d34, 0x00d62167, 0x0307668a, 0x036d6318, 0x019e3b87, 0x0348a9df, 0x01f99517, 0x03c76fe9, 0x01eef4ce, 0x0024ef49}}, Y: Field{[10]uint32{0x0335b4dc, 0x039aa1d9, 0x00860794, 0x018c0d01, 0x01fa008c, 0x03e265c3, 0x003b1f94, 0x006e1269, 0x00129736, 0x00375f45}}}, + {X: Field{[10]uint32{0x02ddcf58, 0x039b2483, 0x00f8e3e8, 0x0316f7a9, 0x0344e553, 0x01d15695, 0x00b2e708, 0x01354456, 0x0257fb4e, 0x002c80e9}}, Y: Field{[10]uint32{0x02d8c99c, 0x0200d657, 0x03a6a0ac, 0x029e866b, 0x03c74ae5, 0x010fee9e, 0x030d4c75, 0x03860987, 0x01480c63, 0x0026091a}}}, + {X: Field{[10]uint32{0x00f6aa69, 0x01a0f760, 0x024e70be, 0x008533fd, 0x023e20ac, 0x0076a2aa, 0x018a28d1, 0x009ed604, 0x013c1dcd, 0x002bce2d}}, Y: Field{[10]uint32{0x009fd919, 0x030cbe70, 0x02c16acd, 0x01e463e2, 0x035ec101, 0x028feb19, 0x02867237, 0x00ad08d1, 0x0136ba8b, 0x002478e2}}}, + {X: Field{[10]uint32{0x03fd8518, 0x0315d3da, 0x02d862f8, 0x01c83d79, 0x02988ed4, 0x002ad33b, 0x00587562, 0x03601788, 0x025b0b99, 0x00157936}}, Y: Field{[10]uint32{0x00eb2d35, 0x005845eb, 0x0130940b, 0x00963c5e, 0x02e7713b, 0x00d30d9b, 0x01b5976c, 0x0274cb85, 0x02347517, 0x001cda2f}}}, + {X: Field{[10]uint32{0x002133f5, 0x00e83279, 0x035d9018, 0x01b74968, 0x01a3608c, 0x03605f64, 0x021a15e1, 0x0389020f, 0x002aa7eb, 0x0034f5fa}}, Y: Field{[10]uint32{0x005d504b, 0x029f53ff, 0x03bfcae6, 0x01a5b06f, 0x024b1c6d, 0x031789dc, 0x01080b06, 0x00df1a25, 0x01cce895, 0x00029491}}}, + {X: Field{[10]uint32{0x02e48799, 0x01b9699b, 0x003f2231, 0x012da31b, 0x03beab75, 0x03732641, 0x021e8031, 0x0110de5d, 0x039fe6b5, 0x0022f453}}, Y: Field{[10]uint32{0x0178fe19, 0x0042bfda, 0x00603891, 0x009f66ba, 0x00ecb2eb, 0x0158ce1a, 0x0263a263, 0x01895d45, 0x0150a387, 0x003e2770}}}, + {X: Field{[10]uint32{0x02212932, 0x0223f488, 0x0370485c, 0x016c1208, 0x023a7dbc, 0x01ca9688, 0x02b08589, 0x003d0b3f, 0x036503f5, 0x002c75c8}}, Y: Field{[10]uint32{0x002143ac, 0x03cdc5b0, 0x0025570b, 0x013801f4, 0x01627986, 0x0216c877, 0x00aa52d3, 0x0387e6dd, 0x01d8594e, 0x0010165f}}}, + {X: Field{[10]uint32{0x039d3023, 0x03d3dc99, 0x013a8593, 0x000c1787, 0x01c22d44, 0x001173bd, 0x03e4763e, 0x0248324e, 0x03e1cb7d, 0x001134c0}}, Y: Field{[10]uint32{0x0189a70c, 0x004b1857, 0x02004769, 0x02a6806c, 0x03e77e41, 0x00f8f3b8, 0x03d6fcc8, 0x0368bcc6, 0x02fc5ed6, 0x001e7ef7}}}, + {X: Field{[10]uint32{0x030cb3ca, 0x03ae848e, 0x00aed3df, 0x026420f5, 0x02925589, 0x0183ae65, 0x03bd4b90, 0x02aba5c9, 0x0054447a, 0x0005957b}}, Y: Field{[10]uint32{0x0226fcdf, 0x03b39419, 0x017443b9, 0x029ac76b, 0x006ea28f, 0x027c1b65, 0x00f7bf8a, 0x038c7a62, 0x0178cf96, 0x0023a439}}}, + {X: Field{[10]uint32{0x005a3f29, 0x01eedf61, 0x02cb1971, 0x00120032, 0x027902b1, 0x0226439b, 0x01a93261, 0x019afd9b, 0x03fb5305, 0x002c0ab8}}, Y: Field{[10]uint32{0x03006876, 0x000c1f5e, 0x0105162a, 0x00ca4a98, 0x03d8c052, 0x02ce5d09, 0x03b76311, 0x00c0c466, 0x0313f448, 0x0031b4c9}}}, + {X: Field{[10]uint32{0x00c5bcd3, 0x03927344, 0x02c6e065, 0x0266854f, 0x018e1236, 0x02c4ae6b, 0x015e1402, 0x0010ae1d, 0x016653a0, 0x0004f119}}, Y: Field{[10]uint32{0x02d41c88, 0x024b1441, 0x002b0044, 0x02a29e2c, 0x007bab13, 0x00eb0f84, 0x0121ea40, 0x0180f8f1, 0x032c498f, 0x001c3cd9}}}, + {X: Field{[10]uint32{0x00f1483f, 0x03b68f01, 0x034c6361, 0x00fc5077, 0x010dee48, 0x017a5ece, 0x01c7bffc, 0x00dee0ba, 0x022b03fc, 0x0039f1d5}}, Y: Field{[10]uint32{0x03454066, 0x00be39b0, 0x028331b1, 0x026076ec, 0x021a9372, 0x01e85b43, 0x03dce515, 0x01256306, 0x00603d2b, 0x001cd2f9}}}, + {X: Field{[10]uint32{0x0159aefc, 0x035fee8a, 0x038d2263, 0x00870c12, 0x03332f39, 0x02f1ec9f, 0x02b2ed1e, 0x03f1d4d0, 0x012dfb6c, 0x00378097}}, Y: Field{[10]uint32{0x02de12f1, 0x01dbc705, 0x005985e6, 0x007601a5, 0x001a88c3, 0x020dce8c, 0x02fc30c3, 0x03cf40b6, 0x01b16ab6, 0x0011b182}}}, + {X: Field{[10]uint32{0x02ca2e01, 0x00b0c8cf, 0x03e4b6a4, 0x03d20e05, 0x0225730a, 0x02ebc14e, 0x01db714a, 0x0070f497, 0x00b4fed2, 0x000879e2}}, Y: Field{[10]uint32{0x01c1c4c6, 0x00a7f6b9, 0x03c58ddd, 0x03e73504, 0x01b249b1, 0x008cd6e7, 0x02af9b83, 0x01d64ad9, 0x02bda7d0, 0x0007f9c5}}}, + {X: Field{[10]uint32{0x0379edce, 0x033fc41e, 0x02012e39, 0x02776a5f, 0x02d1bc1a, 0x01d6ca39, 0x0058242c, 0x03542c69, 0x03ca7481, 0x0029f6c9}}, Y: Field{[10]uint32{0x01ae73f8, 0x00d860dc, 0x02238851, 0x0348ec47, 0x00084239, 0x02569f31, 0x0055fc17, 0x039b074d, 0x006dcabd, 0x00313e1a}}}, + {X: Field{[10]uint32{0x022d477a, 0x03d92d97, 0x01ccf41a, 0x00faf56f, 0x01e80a7d, 0x02b22533, 0x01616275, 0x03c90388, 0x01732790, 0x00314814}}, Y: Field{[10]uint32{0x022ba20b, 0x02fab27d, 0x03cda463, 0x00290150, 0x00af8770, 0x03ab70fe, 0x028e216d, 0x004283c3, 0x015b2094, 0x003a6a8a}}}, + {X: Field{[10]uint32{0x0172846d, 0x00dc7125, 0x01d05ea9, 0x03aa2e15, 0x0138e91e, 0x00dbaf36, 0x0025f86d, 0x036bafc7, 0x00ad99d1, 0x00121efd}}, Y: Field{[10]uint32{0x00febf70, 0x02a55dbf, 0x00ffe791, 0x01c21b78, 0x0032f729, 0x013062b8, 0x004b2a50, 0x03b42fb8, 0x0037ac6d, 0x00204a4e}}}, + {X: Field{[10]uint32{0x0208cb53, 0x005120c3, 0x03cb13cd, 0x01d083b7, 0x01355675, 0x03958097, 0x03e2d550, 0x01a22e13, 0x02a6bfcf, 0x002f5b74}}, Y: Field{[10]uint32{0x01ab0fca, 0x00dcc936, 0x01a1a1b0, 0x00b34714, 0x000c467d, 0x00a14566, 0x02a1501c, 0x00e018e3, 0x01e184c8, 0x00321a91}}}, + {X: Field{[10]uint32{0x035ec737, 0x02931f08, 0x02ce7936, 0x00619caf, 0x0070dbca, 0x0019cc7a, 0x034fbb69, 0x0223904c, 0x03fdfbf1, 0x00252905}}, Y: Field{[10]uint32{0x01be8e34, 0x026910f6, 0x01765029, 0x024d51be, 0x03564e9f, 0x033edf65, 0x02af124b, 0x03052e07, 0x0207343e, 0x00380f19}}}, + {X: Field{[10]uint32{0x02aba51e, 0x02236519, 0x00fa8ebd, 0x034c0e5a, 0x002ac597, 0x005e88f0, 0x02d9b733, 0x00ec9aa5, 0x02c33fa1, 0x000a95f6}}, Y: Field{[10]uint32{0x00c13b61, 0x02ca4dfa, 0x010c442d, 0x0366016d, 0x013b05bf, 0x0117cd3f, 0x027996e5, 0x02cee2c2, 0x02bf1db7, 0x0005d529}}}, + {X: Field{[10]uint32{0x007e7df7, 0x0242dffb, 0x01742eae, 0x0284b0fe, 0x02d1c66d, 0x00c20f0c, 0x00613e99, 0x00a8e59f, 0x02710614, 0x002e8b92}}, Y: Field{[10]uint32{0x034cb07e, 0x01eb3fa0, 0x00c971da, 0x00d6091f, 0x02ccc6de, 0x02b7b197, 0x03fc60c5, 0x03a0efb5, 0x00c1a704, 0x003098be}}}, + {X: Field{[10]uint32{0x00c01ca9, 0x018baa3b, 0x015a80a8, 0x02681cc3, 0x0008bb0b, 0x03eef609, 0x00a12b11, 0x00944b4a, 0x0343b313, 0x0012b865}}, Y: Field{[10]uint32{0x0017eece, 0x01323de8, 0x0019320b, 0x00f0fe75, 0x00cb2788, 0x029aa2e8, 0x001ec7c0, 0x00fa8747, 0x027d48fa, 0x0019edc9}}}, + {X: Field{[10]uint32{0x0306ddcb, 0x0143a9dd, 0x023ad618, 0x02fd046d, 0x000778b9, 0x01dd24fc, 0x00e6ff9d, 0x00d99fc6, 0x026c8182, 0x000133ec}}, Y: Field{[10]uint32{0x00e4028e, 0x00789dc9, 0x020c778e, 0x01e70e5e, 0x01aa6c60, 0x001f0c84, 0x017af164, 0x024f7c13, 0x023e3a8c, 0x000437e2}}}, + {X: Field{[10]uint32{0x01130349, 0x034f6e57, 0x02561934, 0x0009bdf5, 0x0215f061, 0x00f01418, 0x03bc3efb, 0x02d9bc03, 0x0166a014, 0x0027e791}}, Y: Field{[10]uint32{0x0396c592, 0x005f4964, 0x015fb0a4, 0x027333f2, 0x02ab6e5c, 0x01682a9e, 0x03d0c17c, 0x009aee63, 0x03a276d5, 0x00124ae2}}}, + {X: Field{[10]uint32{0x00239301, 0x033c7dab, 0x03bd222e, 0x0252d57c, 0x03ecf2a1, 0x0045678b, 0x039f4c10, 0x02d582c3, 0x01133641, 0x0038db01}}, Y: Field{[10]uint32{0x0343736c, 0x01696f6e, 0x00c7faa0, 0x004eb0ac, 0x0220e9a1, 0x027e0ea0, 0x022aea8e, 0x03f1018c, 0x00ba48e7, 0x0031ff5d}}}, + {X: Field{[10]uint32{0x00480bbf, 0x027e0936, 0x025e033e, 0x02938fb1, 0x02a0bbe0, 0x03c76846, 0x0337580b, 0x0115a1e1, 0x03b3b94d, 0x00246c04}}, Y: Field{[10]uint32{0x00cfc5b4, 0x00bc8afa, 0x03f00647, 0x02b0f4d9, 0x02948790, 0x038cf45c, 0x026f8247, 0x0094a48a, 0x007ec13a, 0x000578dc}}}, + {X: Field{[10]uint32{0x02324f56, 0x00fdc8fa, 0x001077d4, 0x01eb5d74, 0x00041f66, 0x0354e7cb, 0x02782de2, 0x01b5488d, 0x03888c67, 0x00095345}}, Y: Field{[10]uint32{0x0014094a, 0x00944cf2, 0x002755fd, 0x037e5e5d, 0x0309bec3, 0x02cb6fc9, 0x034aa03b, 0x0079744f, 0x012e9351, 0x003dc10b}}}, + {X: Field{[10]uint32{0x02f4079a, 0x00d59e15, 0x03f0b061, 0x018a65a5, 0x0234fce6, 0x0288bc5b, 0x03abe442, 0x003dc4ab, 0x037ece7d, 0x00114b5a}}, Y: Field{[10]uint32{0x03776998, 0x00c5691f, 0x02d23db3, 0x0164504c, 0x029a39ee, 0x0384c812, 0x000d69fc, 0x03f9d8d0, 0x03a128cf, 0x00087aa2}}}, + {X: Field{[10]uint32{0x004c508b, 0x01451e73, 0x001631f1, 0x02157ca3, 0x02817831, 0x02c660b4, 0x0386b855, 0x023d0606, 0x01d00788, 0x0005602e}}, Y: Field{[10]uint32{0x01d689ff, 0x03403d70, 0x02dc3ecd, 0x02abd95d, 0x0365b69f, 0x01e306df, 0x03cbbe87, 0x036775ce, 0x029c78b3, 0x00136747}}}, + {X: Field{[10]uint32{0x02fc2700, 0x00e582a8, 0x02f450c4, 0x01fb4212, 0x0245a5aa, 0x033c9680, 0x011470c2, 0x0253245b, 0x023fc316, 0x001e7768}}, Y: Field{[10]uint32{0x015bc978, 0x03c968ea, 0x03c03c34, 0x0086855b, 0x02d7158c, 0x01dc0c73, 0x0374e0f3, 0x02363312, 0x0169a58b, 0x001f1ef0}}}, + {X: Field{[10]uint32{0x0149dbe6, 0x036bb850, 0x013b5fe2, 0x00141119, 0x02419b49, 0x017d2a83, 0x02500afb, 0x0337084f, 0x03a9bf80, 0x00219b69}}, Y: Field{[10]uint32{0x026bd3d7, 0x02066add, 0x0124b239, 0x00b1af19, 0x02081a28, 0x022af126, 0x027e8adc, 0x015ea9a1, 0x00b3b45d, 0x00189b4e}}}, + {X: Field{[10]uint32{0x0011d374, 0x012e02e5, 0x0122e102, 0x032be641, 0x02cdb502, 0x01818ae5, 0x01624cfc, 0x01c7a4c8, 0x0112bed2, 0x0010caf2}}, Y: Field{[10]uint32{0x0011cf01, 0x0339a8f9, 0x03605bcd, 0x030aebae, 0x034cb341, 0x03175177, 0x020cc5ac, 0x01350507, 0x009edd7c, 0x00399151}}}, + {X: Field{[10]uint32{0x0010518e, 0x00fb27d9, 0x01be477b, 0x02b420e9, 0x030717f5, 0x009764de, 0x02970865, 0x00e16854, 0x032883ec, 0x002b0f4e}}, Y: Field{[10]uint32{0x00b9b8db, 0x031c9a21, 0x01a125fc, 0x03e55061, 0x033dde58, 0x0039e439, 0x00d01b2c, 0x01f9d704, 0x02fcc9ed, 0x003449bb}}}, + {X: Field{[10]uint32{0x03d6aa37, 0x00f690ea, 0x0064a5c1, 0x018a5834, 0x03fa18b2, 0x01ab8999, 0x03696d95, 0x00e175b6, 0x034b2a82, 0x00115c20}}, Y: Field{[10]uint32{0x01236f28, 0x0121ac18, 0x004e121a, 0x0192b590, 0x03d9d15c, 0x02a565f9, 0x022eb590, 0x02fe21ee, 0x0083b249, 0x0007a758}}}, + {X: Field{[10]uint32{0x0183ef15, 0x00d5752e, 0x03fd3341, 0x0144dabb, 0x02b224b0, 0x0058f02a, 0x029bf792, 0x03816df0, 0x02a0ffaa, 0x00223a69}}, Y: Field{[10]uint32{0x018d1e5a, 0x01a4c91c, 0x00413999, 0x01d746ba, 0x00fe4574, 0x01e6aebf, 0x00ef5e25, 0x018fab71, 0x022dfa2f, 0x003b4e0a}}}, + {X: Field{[10]uint32{0x02dff706, 0x0361d20a, 0x0348c04f, 0x00ef5b25, 0x00b39703, 0x02b5fd86, 0x005663dc, 0x009f1a94, 0x02b4de33, 0x0005a043}}, Y: Field{[10]uint32{0x0260c81b, 0x02f0b3fb, 0x0111901f, 0x01f96a7b, 0x0230693b, 0x00370a6b, 0x019e84c4, 0x01b27485, 0x03d89132, 0x0000d4ba}}}, + {X: Field{[10]uint32{0x014adf7b, 0x00cc0726, 0x01cabe2e, 0x03650fea, 0x0088c861, 0x0223455f, 0x01c65035, 0x01260473, 0x02929506, 0x0035f40e}}, Y: Field{[10]uint32{0x002f9627, 0x00578d8e, 0x003ef2a9, 0x023f66aa, 0x02ef419c, 0x0339e079, 0x023042d5, 0x00b01472, 0x03fe933c, 0x00232082}}}, + {X: Field{[10]uint32{0x01cf11b0, 0x03c994b7, 0x018d91c6, 0x01df9154, 0x03f33aed, 0x0220339e, 0x0225c4ae, 0x02b24093, 0x0104f645, 0x0016cb25}}, Y: Field{[10]uint32{0x01296449, 0x02271d8a, 0x00354fc2, 0x02893abb, 0x03440e1d, 0x023ca901, 0x01681e5e, 0x013cc847, 0x03bcc776, 0x001402cd}}}, + {X: Field{[10]uint32{0x00fbd761, 0x012b7523, 0x01c2d628, 0x0137d5e7, 0x03bab1a6, 0x03567bb0, 0x01826759, 0x022ef05a, 0x02edd2c7, 0x00346389}}, Y: Field{[10]uint32{0x010770c3, 0x031fbd5f, 0x021a44a6, 0x03684e4b, 0x00685915, 0x016eda51, 0x018989aa, 0x00f9e23f, 0x0172037a, 0x00068780}}}, + {X: Field{[10]uint32{0x0258222d, 0x00d338a3, 0x0077224f, 0x02fe1759, 0x02dc9e46, 0x03c94951, 0x0221e88d, 0x011e5632, 0x00169bbc, 0x0017dac5}}, Y: Field{[10]uint32{0x037fd6a6, 0x02ab6bd2, 0x00600e02, 0x02378e0f, 0x033a5791, 0x018f992e, 0x03ca0bf1, 0x00140651, 0x02164d5a, 0x000ea39d}}}, + {X: Field{[10]uint32{0x03762bc7, 0x036f2283, 0x0137339b, 0x00289508, 0x01ec2e05, 0x03fa15a4, 0x00020238, 0x02d159a6, 0x01e8dcc8, 0x0035e989}}, Y: Field{[10]uint32{0x02ea3643, 0x0142d34d, 0x0080620d, 0x029c4000, 0x00208683, 0x03b07f63, 0x017bcbcf, 0x00981eaf, 0x0135a8ce, 0x0023c7e6}}}, + {X: Field{[10]uint32{0x015913f9, 0x03198fa3, 0x027716ba, 0x0325780a, 0x027ffb42, 0x0286cd3a, 0x01c891b3, 0x0293dc57, 0x001972ae, 0x00295a95}}, Y: Field{[10]uint32{0x03c3f994, 0x0266a41a, 0x038971e9, 0x008d9038, 0x0059b440, 0x01fd7451, 0x00f7bbfa, 0x0159c460, 0x03cdad78, 0x0011ecf7}}}, + {X: Field{[10]uint32{0x02ade31e, 0x0045beae, 0x03c3ad93, 0x02ccd86d, 0x0030325d, 0x028c1ad1, 0x031a3cd4, 0x032f44de, 0x01d7e574, 0x0007aee2}}, Y: Field{[10]uint32{0x00da4dc7, 0x01401d4e, 0x03e6cb95, 0x00cd24d5, 0x02ee020c, 0x0108a8d0, 0x003d1185, 0x03212d26, 0x012fbd30, 0x00080e71}}}, + {X: Field{[10]uint32{0x009706fe, 0x024ea22d, 0x030c5ad4, 0x03e8fb93, 0x03e189ef, 0x01e63b09, 0x01cd1a4a, 0x0195d52d, 0x0208931a, 0x002d5ca0}}, Y: Field{[10]uint32{0x03ede9ee, 0x037df442, 0x036c214d, 0x0028c5e0, 0x03358f68, 0x01881e2f, 0x029a6125, 0x034c072c, 0x01e72da3, 0x002ae9e1}}}, + {X: Field{[10]uint32{0x01a775c9, 0x015f2161, 0x00a8aa24, 0x025d1ebf, 0x02f5162a, 0x03ff07bd, 0x02a00dee, 0x01f1dc80, 0x0270d67b, 0x00159985}}, Y: Field{[10]uint32{0x018803f6, 0x01128953, 0x019b2ea0, 0x024ce7c6, 0x014de8a8, 0x015274f0, 0x0055122e, 0x01441c13, 0x00e183bc, 0x002b6bc2}}}, + {X: Field{[10]uint32{0x01f2704d, 0x001a3c37, 0x023e93fd, 0x0346c5c2, 0x01c18521, 0x015cded4, 0x01042433, 0x01ada5dc, 0x02e1ecc8, 0x00062ad5}}, Y: Field{[10]uint32{0x0119e94a, 0x020967a0, 0x039ff46b, 0x01fb387f, 0x03df74f0, 0x032cc158, 0x009572ca, 0x02ea6c83, 0x003f43bf, 0x00331a53}}}, + {X: Field{[10]uint32{0x020ac357, 0x0283c6f3, 0x027c3c1a, 0x0214b83c, 0x036e9451, 0x02fd7d43, 0x035b7540, 0x000d8055, 0x00744827, 0x002f04aa}}, Y: Field{[10]uint32{0x01ada1e9, 0x0005f1bc, 0x036f95de, 0x01598bfc, 0x00abe12d, 0x00812b39, 0x027783c7, 0x01738759, 0x036bac17, 0x00271b39}}}, + {X: Field{[10]uint32{0x01054584, 0x01eb119e, 0x024572c2, 0x0259776f, 0x01756667, 0x014fb29d, 0x01bdd6c3, 0x036835bb, 0x002699b2, 0x00291253}}, Y: Field{[10]uint32{0x0082d621, 0x014e1b54, 0x01d03554, 0x01a4ee2b, 0x02e8f0cf, 0x00756c6e, 0x022a9146, 0x02a79f4f, 0x00d58360, 0x00162601}}}, + {X: Field{[10]uint32{0x023aea6e, 0x012b2733, 0x009c7828, 0x038ba8f7, 0x03f1baf9, 0x000da809, 0x034de77d, 0x0139faf8, 0x02f96d0e, 0x0007fe11}}, Y: Field{[10]uint32{0x013f2e6a, 0x00f84b59, 0x009748d0, 0x03be94b7, 0x0327ba3e, 0x01302da3, 0x035d1a8d, 0x00d580c7, 0x036b9f0e, 0x0022828c}}}, + {X: Field{[10]uint32{0x0110b374, 0x023c7ca5, 0x00099ffa, 0x0090d5d1, 0x026862d7, 0x005cfdc5, 0x00839e04, 0x00f771ca, 0x02ae9157, 0x000cc606}}, Y: Field{[10]uint32{0x01c5223e, 0x039f27ef, 0x01fedad0, 0x01acf86a, 0x01f01ee2, 0x030d3129, 0x01aaa0a4, 0x03393077, 0x029a8cc8, 0x00049484}}}, + {X: Field{[10]uint32{0x00012594, 0x0232795e, 0x02ae5702, 0x001bf931, 0x00644264, 0x01c9d2a5, 0x0249b157, 0x0112bbdd, 0x032dfb0e, 0x0039a1e0}}, Y: Field{[10]uint32{0x0113b7c0, 0x030312a9, 0x030028ca, 0x0263bb2a, 0x03c5de4f, 0x01dffedf, 0x01caec8c, 0x00d2ded9, 0x009706b7, 0x001796ce}}}, + {X: Field{[10]uint32{0x00b37def, 0x031cbce5, 0x02aa5755, 0x01477d31, 0x0000c229, 0x028631db, 0x0174b5e2, 0x01c6b160, 0x02c3ed93, 0x000d52ef}}, Y: Field{[10]uint32{0x0214c29a, 0x02a0ff31, 0x0244b5c2, 0x03beeeae, 0x033c2f4d, 0x01d0078f, 0x0213ac73, 0x0105b6cd, 0x00769283, 0x00103432}}}, + {X: Field{[10]uint32{0x0039a485, 0x01bdc99d, 0x00511ae3, 0x02ffe8bd, 0x02a8bc68, 0x02d7afbc, 0x01e8aa68, 0x02e07cf2, 0x006c5205, 0x003e91ab}}, Y: Field{[10]uint32{0x0367d180, 0x01354b8f, 0x03b35c1b, 0x01e9d97e, 0x010f2565, 0x00fe4461, 0x00de37b1, 0x034aa007, 0x01fab016, 0x000e14fe}}}, + {X: Field{[10]uint32{0x0024328c, 0x01fb50cc, 0x02688562, 0x01de517d, 0x0256a53d, 0x008fee1b, 0x005263c9, 0x017e387a, 0x02b73325, 0x00109be1}}, Y: Field{[10]uint32{0x028c4fdf, 0x03bef353, 0x011486a2, 0x0105abfe, 0x01658c63, 0x01ec8885, 0x013c4c45, 0x0322756c, 0x01685301, 0x0024bb00}}}, + {X: Field{[10]uint32{0x00bc64e3, 0x02db9620, 0x01edeb47, 0x03b2d6b8, 0x017685df, 0x01f5233c, 0x01d3f4d1, 0x00b56f85, 0x009bf9a7, 0x00172347}}, Y: Field{[10]uint32{0x01bda7e5, 0x0343df4a, 0x02dc4e18, 0x014d9074, 0x00b6a26b, 0x0083c37b, 0x038a3c7c, 0x02054198, 0x010e286c, 0x00188155}}}, + {X: Field{[10]uint32{0x0283422f, 0x02f95c39, 0x03c80271, 0x01cfe998, 0x01be6733, 0x01aa72c0, 0x00313562, 0x01407f77, 0x01bc7bf7, 0x000e8087}}, Y: Field{[10]uint32{0x001bfa53, 0x01ec3793, 0x00fff54c, 0x0209217f, 0x02a7a71b, 0x0015924a, 0x00e508ad, 0x037e25e1, 0x00540dda, 0x00192a27}}}, + {X: Field{[10]uint32{0x03ba47bb, 0x012bc9c8, 0x0326fa50, 0x030c8a59, 0x027c0062, 0x007590b6, 0x01d2dd91, 0x027c001d, 0x02491d71, 0x002360aa}}, Y: Field{[10]uint32{0x03e4e77a, 0x01718b14, 0x026991ff, 0x03f51d83, 0x007c2ae8, 0x031b4f14, 0x00ed10d6, 0x01e3da62, 0x03506d14, 0x001b985b}}}, + {X: Field{[10]uint32{0x005e536f, 0x03c2394f, 0x02d76f27, 0x0145b9ea, 0x010bbe54, 0x032b06cf, 0x015d60ef, 0x023869bb, 0x0188fe48, 0x001bfbba}}, Y: Field{[10]uint32{0x0044c502, 0x00a6632c, 0x00eeff48, 0x0184d781, 0x0073dcee, 0x0096da28, 0x026d8484, 0x02ea5ae8, 0x0395839f, 0x00003ba7}}}, + {X: Field{[10]uint32{0x0216fa1b, 0x00f9672b, 0x00e5d2df, 0x002ba257, 0x02306388, 0x005024f1, 0x03cadc73, 0x00355dcb, 0x0179bafd, 0x000d8902}}, Y: Field{[10]uint32{0x004afa48, 0x005f1872, 0x036ca65f, 0x003055e0, 0x03eb2082, 0x01f60cb2, 0x02fe3267, 0x00f6169e, 0x037658ef, 0x00186740}}}, + {X: Field{[10]uint32{0x036a18f4, 0x026128f3, 0x03407009, 0x0132461d, 0x000b7849, 0x01ba05c1, 0x0046fc32, 0x01814f08, 0x00474da5, 0x00130ae2}}, Y: Field{[10]uint32{0x0328142c, 0x007f884e, 0x03398dda, 0x038f432a, 0x03734286, 0x01716a08, 0x00a0b438, 0x035c4587, 0x026917a4, 0x001166a7}}}, + {X: Field{[10]uint32{0x01478ac2, 0x004beeac, 0x005ad84e, 0x0142bdee, 0x00d6e54f, 0x0141130d, 0x034eb5b1, 0x0046ea9f, 0x01fdb332, 0x003e4872}}, Y: Field{[10]uint32{0x02016973, 0x005243eb, 0x014f9317, 0x030d7356, 0x01e31fae, 0x03dfd893, 0x006b16a5, 0x0120f923, 0x01b8c850, 0x000e336a}}}, + {X: Field{[10]uint32{0x0319b257, 0x00b1ac86, 0x038b8ca4, 0x01f7d079, 0x02850ae0, 0x028ff6d3, 0x006c8a7d, 0x035a3e3e, 0x01e66181, 0x00295dda}}, Y: Field{[10]uint32{0x027cfc6c, 0x0276bf14, 0x00eb3882, 0x0260a03e, 0x011dcd66, 0x013542e9, 0x017e00d5, 0x0310afdd, 0x007e644b, 0x00084aa6}}}, + {X: Field{[10]uint32{0x03c11d9f, 0x02a526b1, 0x0063901e, 0x0053fb5d, 0x03375a27, 0x00f26c5a, 0x00c91952, 0x03b2b622, 0x010437ab, 0x002569e0}}, Y: Field{[10]uint32{0x02cfdf78, 0x007b2ca8, 0x0274809e, 0x01da4688, 0x00ec6428, 0x03c46925, 0x02723df1, 0x0015ac90, 0x00aa227b, 0x003ab8c8}}}, + {X: Field{[10]uint32{0x01cfa42a, 0x03503d0a, 0x020e5d10, 0x01761612, 0x009f034a, 0x03a61002, 0x01a9a64c, 0x00f850ab, 0x0034f7ef, 0x001da9f8}}, Y: Field{[10]uint32{0x028effa2, 0x0251a2d9, 0x0240479c, 0x025948a8, 0x009f2e49, 0x02f0bbb7, 0x00ec9319, 0x03acf0a9, 0x00e49633, 0x00266770}}}, + {X: Field{[10]uint32{0x035881d6, 0x023347ba, 0x0247df4e, 0x03357a50, 0x01427010, 0x036df60b, 0x00ddf929, 0x01e01407, 0x03964756, 0x003aea24}}, Y: Field{[10]uint32{0x03bca552, 0x029a6d76, 0x026a50d4, 0x022a3692, 0x02aebe0f, 0x005b3175, 0x037d8be6, 0x014850fc, 0x01f1c088, 0x002e4ab8}}}, + {X: Field{[10]uint32{0x0223704f, 0x03cf875b, 0x028addd3, 0x0225c4f3, 0x01dc0b75, 0x02bb51cd, 0x014f872a, 0x038559ac, 0x00d8059f, 0x00294e92}}, Y: Field{[10]uint32{0x01387fb6, 0x022d454e, 0x02a0d252, 0x00619db3, 0x004f4634, 0x03b9f559, 0x009403f3, 0x028ea0f6, 0x01a07e85, 0x00279ce3}}}, + {X: Field{[10]uint32{0x0307d3bc, 0x013f57a9, 0x00fb595b, 0x03e660a2, 0x03c831cd, 0x001418e9, 0x039b1481, 0x03e28e38, 0x010bdba5, 0x0020c996}}, Y: Field{[10]uint32{0x03768982, 0x01986caf, 0x02b06cb4, 0x013ca5f9, 0x03061b7d, 0x03e904c3, 0x000d62ec, 0x037494b4, 0x0388a2a1, 0x000280b3}}}, + {X: Field{[10]uint32{0x03916030, 0x02b1b7c5, 0x014af7f5, 0x00b02571, 0x03b0c35a, 0x01e9d2cb, 0x01714a21, 0x0042ff8c, 0x0194ba8c, 0x001a9248}}, Y: Field{[10]uint32{0x00c77b87, 0x01b148be, 0x0145db6b, 0x0001bfaf, 0x01c531cd, 0x013f0ca2, 0x02e8b4fb, 0x024dea4b, 0x01658e0c, 0x000f3c2f}}}, + {X: Field{[10]uint32{0x03c52a57, 0x030c1a0c, 0x007474b6, 0x004df8f5, 0x013b34bf, 0x01ae8887, 0x0180c494, 0x01fbb587, 0x01c6ff79, 0x002d2b1c}}, Y: Field{[10]uint32{0x012820f7, 0x000d41b5, 0x03683905, 0x01837e04, 0x0214ae3b, 0x01893835, 0x03d23434, 0x03fbf3bc, 0x02e48fb6, 0x0011ab2c}}}, + {X: Field{[10]uint32{0x0286e0bc, 0x0064c5b0, 0x02f9b49a, 0x024e8707, 0x0113b19b, 0x0155ec84, 0x03f05b4e, 0x00a7845a, 0x011e65bc, 0x0022c45c}}, Y: Field{[10]uint32{0x02af0dde, 0x0241e322, 0x004910aa, 0x03d71c8b, 0x00faa6bc, 0x02d3ab96, 0x02d695e5, 0x00d4e086, 0x00cfcf38, 0x001e7128}}}, + {X: Field{[10]uint32{0x0008e098, 0x013d90d1, 0x0192d897, 0x030db5e8, 0x00727362, 0x0203f789, 0x0203f82e, 0x0095e65d, 0x0276e86b, 0x002e2c02}}, Y: Field{[10]uint32{0x013e56c6, 0x006dbe14, 0x03d0a585, 0x03ede121, 0x029e0b9f, 0x03ab5ecb, 0x006fa1cf, 0x002375f3, 0x03188b01, 0x000176d9}}}, + {X: Field{[10]uint32{0x01d89814, 0x038b4b58, 0x03a52c50, 0x01a41917, 0x02bebe8f, 0x026dc4f1, 0x0027a8f6, 0x02e5a14d, 0x021b0fb6, 0x0022130e}}, Y: Field{[10]uint32{0x03a3749b, 0x01963381, 0x00fbf14d, 0x012f56c6, 0x00ff28aa, 0x03d537b0, 0x003f821d, 0x00bbbcdd, 0x00e5094b, 0x000f6b30}}}, + {X: Field{[10]uint32{0x00637596, 0x0291fe5d, 0x037d8496, 0x006abad8, 0x02c004dd, 0x02fdbed3, 0x004100dc, 0x02fd8ff8, 0x01cf51aa, 0x000f4307}}, Y: Field{[10]uint32{0x025df51c, 0x010c8d82, 0x0305d228, 0x004cf8bb, 0x02883fe0, 0x0267eedd, 0x0242a6f5, 0x038b3418, 0x015bbf5d, 0x0015dbaf}}}, + {X: Field{[10]uint32{0x02bca8c7, 0x020478b6, 0x028fa13f, 0x02d8f54c, 0x031ae972, 0x009deddf, 0x0057f79a, 0x026b7097, 0x01af6153, 0x0015acfb}}, Y: Field{[10]uint32{0x012e98eb, 0x02b19b4b, 0x01347dbd, 0x02ade6cf, 0x0096bdfb, 0x0376a574, 0x02b3d2b5, 0x021809c6, 0x0100a2b2, 0x00100e0e}}}, + {X: Field{[10]uint32{0x03cfd3e2, 0x02417eca, 0x01457a74, 0x0360c67e, 0x025fbb11, 0x0115217f, 0x00eacfa8, 0x01327d0d, 0x01bf50f3, 0x00109b8a}}, Y: Field{[10]uint32{0x03cb117a, 0x004c660c, 0x017a35d6, 0x02237c7d, 0x00eeb60b, 0x00ee77d0, 0x0110cd5c, 0x01031883, 0x02e8eeff, 0x003ab11f}}}, + {X: Field{[10]uint32{0x02929308, 0x014329d8, 0x03ea67ed, 0x03ed6ff0, 0x03cf0a91, 0x00bb6b71, 0x01419baa, 0x0135fb1b, 0x03c9f4e2, 0x002555cd}}, Y: Field{[10]uint32{0x001675dd, 0x02b3bb52, 0x0260867b, 0x02d6ee0b, 0x01b69831, 0x0166fd91, 0x02783143, 0x024100be, 0x009d18fd, 0x0025eeee}}}, + {X: Field{[10]uint32{0x00b3e514, 0x021405fa, 0x004a1cbb, 0x02820e9e, 0x00704e74, 0x035f9eb4, 0x03ae639f, 0x009e83cb, 0x0013d464, 0x00175caa}}, Y: Field{[10]uint32{0x00876c2f, 0x00584f2e, 0x005ac9bc, 0x00dbd471, 0x022e8c26, 0x0267ae56, 0x01d6839a, 0x03187956, 0x010e851f, 0x00324bd0}}}, + {X: Field{[10]uint32{0x0369b6ef, 0x0146edf9, 0x02406225, 0x02701e14, 0x02dda784, 0x01c12570, 0x00876d91, 0x02224188, 0x0359e9bc, 0x0031f6a4}}, Y: Field{[10]uint32{0x01c10653, 0x02530fc1, 0x001c6d37, 0x031720bc, 0x01cb41f6, 0x012831f6, 0x01907872, 0x02340257, 0x01687150, 0x000489e0}}}, + {X: Field{[10]uint32{0x029ac683, 0x024193d5, 0x01ace972, 0x035ff86b, 0x02d92697, 0x0082b945, 0x03ee080f, 0x03c3f70b, 0x0226da7a, 0x0019c202}}, Y: Field{[10]uint32{0x0316d94d, 0x008b3f08, 0x03714aa5, 0x0339e7dd, 0x008e08c5, 0x01443ab0, 0x0144107e, 0x01c22cc2, 0x03acfbba, 0x002b6681}}}, + {X: Field{[10]uint32{0x03fc0dbf, 0x00015c16, 0x01a4163a, 0x00117055, 0x023947f4, 0x00b8ebeb, 0x0078ddc8, 0x00a3ddbe, 0x0239d614, 0x00084356}}, Y: Field{[10]uint32{0x028c511c, 0x02c600cb, 0x017ac96e, 0x01324fa6, 0x002efa80, 0x01ea464f, 0x014cc296, 0x00a70bb4, 0x03e6b0a6, 0x00185fbf}}}, + {X: Field{[10]uint32{0x0334ed98, 0x00874138, 0x015fc590, 0x0071bfd9, 0x039b8e46, 0x01e0df44, 0x03242a93, 0x0046e714, 0x0231ca15, 0x001742e4}}, Y: Field{[10]uint32{0x03e924ae, 0x00e99baf, 0x01986bd1, 0x0387dbe3, 0x011a2f58, 0x0279f5b3, 0x03ae1b4a, 0x013b69c4, 0x0121f479, 0x003201c0}}}, + {X: Field{[10]uint32{0x02907392, 0x01e299f8, 0x00ab63ce, 0x00abf344, 0x019013fe, 0x0131c65d, 0x00c8bd54, 0x004587b4, 0x002c4210, 0x001a1eee}}, Y: Field{[10]uint32{0x000d9eeb, 0x017a5984, 0x03e356a2, 0x020440e5, 0x03fafc8e, 0x022c8273, 0x03c721cf, 0x028e9be7, 0x0187758a, 0x003abd8f}}}, + {X: Field{[10]uint32{0x025f5d33, 0x01a9b473, 0x00da40e6, 0x0347d2f3, 0x03c63527, 0x03cb0ffc, 0x02a3931f, 0x023da068, 0x0157b804, 0x00146910}}, Y: Field{[10]uint32{0x0047dd31, 0x009ffa7a, 0x02a1ec51, 0x019cb6e5, 0x001a0c56, 0x00298e24, 0x03dc8f42, 0x00a50053, 0x0116519c, 0x001bff23}}}, + {X: Field{[10]uint32{0x01e86775, 0x01c2f2e3, 0x004f989f, 0x02c8af5f, 0x000a5dd7, 0x01e30eff, 0x024786a4, 0x00568d58, 0x017256f5, 0x002ca189}}, Y: Field{[10]uint32{0x0264f3a3, 0x0364cb51, 0x03692abc, 0x037917c5, 0x02f53b64, 0x024a4bfe, 0x0267e5b2, 0x014e5ade, 0x02a80a5a, 0x0008aba5}}}, + {X: Field{[10]uint32{0x0035bc30, 0x01f1ff82, 0x02e584bb, 0x02f3ee4a, 0x036ee129, 0x028e5884, 0x03d89a5c, 0x01e32bba, 0x021e2010, 0x003ddadc}}, Y: Field{[10]uint32{0x02c0d561, 0x00bd28f9, 0x024b7a06, 0x00e07a5a, 0x03223a0a, 0x0186ebff, 0x02b3d171, 0x026100f5, 0x02b10841, 0x0016671a}}}, + {X: Field{[10]uint32{0x00178e9c, 0x001f0d31, 0x01b9793b, 0x022cdb7b, 0x01d9a3b8, 0x03da5a44, 0x02f20b7f, 0x03b81ba0, 0x028763ad, 0x0004bc92}}, Y: Field{[10]uint32{0x0055b7f1, 0x01e35638, 0x021b7351, 0x037c230b, 0x02b2427f, 0x00a09efb, 0x025d939c, 0x007edec9, 0x039f96f0, 0x00167f5e}}}, + {X: Field{[10]uint32{0x0122260a, 0x008878c6, 0x010cefa0, 0x0117123e, 0x00bcfaf1, 0x01609033, 0x0082d477, 0x01aef8a8, 0x0290de6c, 0x002786e2}}, Y: Field{[10]uint32{0x03390f9f, 0x02966042, 0x000a66cd, 0x001ba923, 0x008a71eb, 0x0025f401, 0x02a54f42, 0x036781f0, 0x02a5b54b, 0x003e97a1}}}, + {X: Field{[10]uint32{0x03baae9c, 0x00240c4b, 0x020a38c1, 0x03e1b134, 0x01ed4117, 0x00a38c7c, 0x01b6a66e, 0x00fadec0, 0x010320b7, 0x0018fc16}}, Y: Field{[10]uint32{0x0101d8eb, 0x02fa2c65, 0x019c501a, 0x032aebd7, 0x0340bd68, 0x0098e1df, 0x0288967a, 0x0207f81b, 0x01d2d34a, 0x00092e32}}}, + {X: Field{[10]uint32{0x03905999, 0x0264ad18, 0x003a8e27, 0x01ba671d, 0x01e5c89b, 0x0367ca15, 0x03569a4a, 0x00a8f687, 0x0009f540, 0x00111f1d}}, Y: Field{[10]uint32{0x0149e154, 0x0240dc2b, 0x0328db77, 0x01ce2e4f, 0x00716baa, 0x03805b02, 0x0337723b, 0x01e8251e, 0x019ab34a, 0x003513a3}}}, + {X: Field{[10]uint32{0x00793254, 0x03c437fe, 0x006df1bb, 0x03d28fe6, 0x0025eed4, 0x003c65f9, 0x037db0c2, 0x0102bead, 0x006a4c53, 0x001d2910}}, Y: Field{[10]uint32{0x03742023, 0x0261fad9, 0x0246dfc7, 0x02f014aa, 0x02dc4c07, 0x00711ac5, 0x0136907d, 0x029c4a33, 0x038a0a4b, 0x00058b59}}}, + {X: Field{[10]uint32{0x03047c07, 0x00c91ba3, 0x005ff3a2, 0x01d814e9, 0x022bf5e0, 0x010731ed, 0x00e63cc8, 0x0098deac, 0x01713187, 0x003dc0d4}}, Y: Field{[10]uint32{0x021097ef, 0x03ba7076, 0x00936cca, 0x032599c6, 0x02b3c7ee, 0x025cad67, 0x01762a95, 0x001e15c8, 0x03914f47, 0x003212c0}}}, + {X: Field{[10]uint32{0x02eaae11, 0x0267dbdc, 0x024f6ac9, 0x01a37285, 0x022194d1, 0x02c29054, 0x013bd706, 0x00d604b1, 0x007b57b2, 0x003b13f8}}, Y: Field{[10]uint32{0x02fff789, 0x00a3d728, 0x004d7b55, 0x01e6f74c, 0x01b2f9df, 0x026dd814, 0x02b1dc4e, 0x02ca7fb0, 0x029145de, 0x002bd254}}}, + {X: Field{[10]uint32{0x01d2ac9d, 0x02ead2b3, 0x0238878d, 0x011c47cd, 0x00c65520, 0x005a3435, 0x00b274ee, 0x005d3de8, 0x01e8fa96, 0x0005c55b}}, Y: Field{[10]uint32{0x0061ac3d, 0x01a00fc5, 0x00ca6abb, 0x0211e78a, 0x03c2de9f, 0x037b2e23, 0x00e37ed6, 0x01183261, 0x02c436c1, 0x0000ab8f}}}, + {X: Field{[10]uint32{0x021b2ede, 0x032990e6, 0x02a6aabf, 0x00302541, 0x01549cb9, 0x00374c33, 0x029be560, 0x011feb3e, 0x022b9c5a, 0x003906d1}}, Y: Field{[10]uint32{0x017507f4, 0x002fc440, 0x01311d38, 0x01308885, 0x03e1b360, 0x0231a563, 0x00fb3533, 0x02982b1a, 0x02b208bd, 0x000423f8}}}, + {X: Field{[10]uint32{0x0344aa38, 0x01bd0ddd, 0x015ad38a, 0x01e314ee, 0x03f357ea, 0x006a00e3, 0x00800515, 0x01e20f5e, 0x015920a6, 0x002e9b00}}, Y: Field{[10]uint32{0x02002cf3, 0x026d6e45, 0x03680457, 0x006d9a1b, 0x00cda144, 0x003a39c4, 0x0366aa5c, 0x02dd1a0c, 0x00e7deb6, 0x00369270}}}, + {X: Field{[10]uint32{0x00cbf1ae, 0x020d5a3e, 0x0329cee2, 0x014e1255, 0x037e8a95, 0x01f94998, 0x0102ab7f, 0x012dae1c, 0x006e883a, 0x0009bc06}}, Y: Field{[10]uint32{0x03d5f47a, 0x009176d2, 0x002d398b, 0x008c1d5c, 0x00aad788, 0x02568628, 0x01519809, 0x025f2b33, 0x01e4bb21, 0x0003bbe3}}}, + {X: Field{[10]uint32{0x000c9d22, 0x0007296d, 0x03cddc45, 0x038f6998, 0x03e00874, 0x00050398, 0x01b5588c, 0x033af0d4, 0x03de80c0, 0x000042e4}}, Y: Field{[10]uint32{0x00903258, 0x016d3407, 0x002842d0, 0x03c850d6, 0x001dfef7, 0x03b1257b, 0x0186b027, 0x03cdaf9e, 0x01ddf79a, 0x003b4c62}}}, + {X: Field{[10]uint32{0x03769dde, 0x0268f9dd, 0x002558bc, 0x0101db25, 0x017a1595, 0x03d6a315, 0x03b32da8, 0x020b0725, 0x0274337a, 0x0039e7b0}}, Y: Field{[10]uint32{0x028a06f6, 0x0145d898, 0x0102c3b6, 0x03660f5d, 0x02e527da, 0x02223cfb, 0x024c175d, 0x03f38d52, 0x039f22da, 0x0027c8c1}}}, + {X: Field{[10]uint32{0x03c101e1, 0x034c685b, 0x01b0c1b7, 0x038e4810, 0x002be265, 0x023832a9, 0x039915e0, 0x02b4ff22, 0x017544f0, 0x0003f680}}, Y: Field{[10]uint32{0x018902e7, 0x00bd7061, 0x0030d0db, 0x01dae128, 0x03e4d49a, 0x029415cc, 0x03e42981, 0x0271baf1, 0x022785d5, 0x001093a6}}}, + {X: Field{[10]uint32{0x0099c6bd, 0x033c46e8, 0x01b31577, 0x028f2f3f, 0x008327d8, 0x022f20c3, 0x03147258, 0x0337f940, 0x01cb5380, 0x001a07c0}}, Y: Field{[10]uint32{0x039002bc, 0x0252463c, 0x018cd007, 0x02b63836, 0x0359c02f, 0x03f279d5, 0x006cef06, 0x02c17e70, 0x0117cdc3, 0x002fe748}}}, + {X: Field{[10]uint32{0x03d12f64, 0x00825736, 0x039611de, 0x0236e7bf, 0x03d6fe9f, 0x02b28942, 0x0251f4d9, 0x00b30b74, 0x026b2a2d, 0x001c3096}}, Y: Field{[10]uint32{0x02966126, 0x02669346, 0x021f46b2, 0x00136647, 0x03134dae, 0x024fa96d, 0x03f4dc47, 0x02cb3f34, 0x0368a386, 0x00327bab}}}, + {X: Field{[10]uint32{0x03ccbb9d, 0x00486e27, 0x0330403b, 0x02143fa2, 0x023b466e, 0x03d02199, 0x03d5ea45, 0x010b53fb, 0x012c404b, 0x0011937b}}, Y: Field{[10]uint32{0x005d910b, 0x009c4884, 0x01260796, 0x01ef9069, 0x03610bb4, 0x0295a0d9, 0x02d2d3e0, 0x03d84c8e, 0x01046ad3, 0x002b044e}}}, + {X: Field{[10]uint32{0x03a103db, 0x00bc4d04, 0x023f02ad, 0x02406d73, 0x01b7ff89, 0x023177f0, 0x0055109a, 0x02466175, 0x037248e7, 0x00028cb7}}, Y: Field{[10]uint32{0x03160e72, 0x0084d292, 0x02173821, 0x034cf997, 0x00cf9ad8, 0x01d8a5b2, 0x02a2d1d8, 0x0241ae6b, 0x00fb9d60, 0x001b6d2d}}}, + {X: Field{[10]uint32{0x0165179a, 0x0254c540, 0x03fe9a76, 0x0370a971, 0x023ccb74, 0x013b13fa, 0x00297746, 0x034e725c, 0x029e7ee5, 0x003f9273}}, Y: Field{[10]uint32{0x03e7dc8c, 0x023c3e8f, 0x026e63f5, 0x020ad310, 0x0390bfc5, 0x018555c8, 0x03b98662, 0x01773bbb, 0x013a3592, 0x00194fd5}}}, + {X: Field{[10]uint32{0x0354ad14, 0x01cc5b8c, 0x01a878aa, 0x0028ab75, 0x01ec0f1a, 0x0049ac43, 0x0224750c, 0x029f0936, 0x0255c895, 0x0021a2cb}}, Y: Field{[10]uint32{0x02c299ef, 0x0187c91e, 0x00324efb, 0x02080201, 0x00776bca, 0x0298a46f, 0x03035941, 0x0067f5c7, 0x0074cdea, 0x00178a22}}}, + {X: Field{[10]uint32{0x00098461, 0x03422d63, 0x011aec63, 0x01fbf4cb, 0x03d267ff, 0x003f121a, 0x013f1c08, 0x00d31a2b, 0x00da90ae, 0x003f81e4}}, Y: Field{[10]uint32{0x00f7177e, 0x00efabdb, 0x03ef416f, 0x036d5a02, 0x02cdbfcc, 0x008b184c, 0x01a02444, 0x02ca0d1c, 0x0393de35, 0x002b4cc4}}}, + {X: Field{[10]uint32{0x03e9a9d9, 0x03609e5b, 0x039557f6, 0x03d59a0d, 0x0242a23b, 0x019f7fbe, 0x016b1961, 0x020373fc, 0x028d0f4f, 0x003f9ff2}}, Y: Field{[10]uint32{0x00d4eb3b, 0x023c72f6, 0x01b1e71c, 0x02738605, 0x02ccc572, 0x02051dab, 0x000cb3d6, 0x03a49776, 0x018a0d7e, 0x002ef137}}}, + {X: Field{[10]uint32{0x0034cfc2, 0x00da1625, 0x03fd23aa, 0x0263a7c0, 0x02ae7975, 0x00473d30, 0x011b11b5, 0x03882fad, 0x0270aa4c, 0x00288db0}}, Y: Field{[10]uint32{0x0088f29b, 0x00e8c7c8, 0x01f4c486, 0x0103eeda, 0x028bc370, 0x00230842, 0x00c3ade6, 0x02f7ad07, 0x01c575a7, 0x00164d66}}}, + {X: Field{[10]uint32{0x02519248, 0x0151bf1d, 0x03644565, 0x03ab6787, 0x02800472, 0x00e0d938, 0x028a3485, 0x0309fcfa, 0x00a56bb8, 0x00035a81}}, Y: Field{[10]uint32{0x0142deb9, 0x01c1a6ad, 0x00e079b7, 0x019889ba, 0x03dbf6e4, 0x015d8490, 0x03099aba, 0x01d8a48a, 0x030d50b9, 0x0012e551}}}, + {X: Field{[10]uint32{0x00a30e7f, 0x000baa7e, 0x02ebd74e, 0x00a0c986, 0x00677732, 0x035c0689, 0x0276f974, 0x00117f86, 0x0377d64a, 0x00342734}}, Y: Field{[10]uint32{0x0188ffea, 0x02a49359, 0x02e57b90, 0x03abb81a, 0x0141a342, 0x032be203, 0x02ed2d01, 0x000acf5d, 0x02b902b7, 0x0027c250}}}, + {X: Field{[10]uint32{0x01d98b8b, 0x0343a979, 0x03440b2e, 0x02fffc29, 0x01b9a469, 0x0071f8ff, 0x02e52456, 0x006a75b0, 0x032c16d0, 0x00340c31}}, Y: Field{[10]uint32{0x031f2c8e, 0x02c3c454, 0x006f473d, 0x019f2850, 0x03fddeee, 0x02baa10e, 0x02b60ffe, 0x03e60405, 0x0308dba4, 0x00031ac4}}}, + {X: Field{[10]uint32{0x0345a691, 0x031aec78, 0x03ba1100, 0x03dd5c1a, 0x0157d0c6, 0x002ce695, 0x01980ab8, 0x0129f510, 0x02c6d2c0, 0x0015b115}}, Y: Field{[10]uint32{0x02084819, 0x00d39909, 0x03189fae, 0x00968184, 0x02825ce5, 0x01d4f0ac, 0x0310ffc2, 0x01743e3b, 0x00dc2c73, 0x00316cbc}}}, + {X: Field{[10]uint32{0x008400c9, 0x0146eb0c, 0x0037d75e, 0x03178396, 0x0129d911, 0x0353f779, 0x01d1b98d, 0x0347d0a3, 0x01f3b505, 0x002ab56b}}, Y: Field{[10]uint32{0x0377acc6, 0x02ae1f89, 0x036e46af, 0x03c877d2, 0x00f55569, 0x01e431a3, 0x03aa411b, 0x02530448, 0x03674f79, 0x003a52b7}}}, + {X: Field{[10]uint32{0x026a0ef0, 0x0219e8d7, 0x0034e6b1, 0x030c67b4, 0x02ca1d43, 0x0062d32c, 0x006b089f, 0x02e3dd22, 0x00b4dd76, 0x002b2336}}, Y: Field{[10]uint32{0x037ba96d, 0x02753dc4, 0x001f3c75, 0x02d26f32, 0x02ffb71d, 0x032b73f1, 0x013f8271, 0x02ac55d0, 0x0094f9da, 0x001c75c2}}}, + {X: Field{[10]uint32{0x0047ca1d, 0x0314d5f7, 0x0394841d, 0x0143d085, 0x0093eb41, 0x01665ad1, 0x01d7a4d0, 0x03e91502, 0x006df110, 0x000e5900}}, Y: Field{[10]uint32{0x03ad7cdb, 0x0291b7c0, 0x017d6395, 0x01d0daff, 0x01c2f244, 0x00fc15f9, 0x022a2bd2, 0x0364ebe4, 0x006d21db, 0x00392847}}}, + {X: Field{[10]uint32{0x03ca56ec, 0x0387efde, 0x01d551a0, 0x03e3ed0f, 0x03723a1f, 0x02fe442d, 0x02a37b19, 0x004aedd3, 0x039227a3, 0x000af842}}, Y: Field{[10]uint32{0x02df59ab, 0x014bb731, 0x000b4590, 0x03a3076f, 0x03755b2d, 0x00a42c92, 0x03ecca94, 0x037034a4, 0x02fbc886, 0x00066aa2}}}, + {X: Field{[10]uint32{0x01ad6ae5, 0x018c96ad, 0x01342a4c, 0x005c70e3, 0x03ccc1e4, 0x03ff22ea, 0x0219a34d, 0x03d46874, 0x01562bd7, 0x000de705}}, Y: Field{[10]uint32{0x03185907, 0x00feb10b, 0x0348db98, 0x00d1fc81, 0x01e7bc67, 0x0036554d, 0x01ce2231, 0x0077d59b, 0x028fa637, 0x0011e87c}}}, + {X: Field{[10]uint32{0x03ce9809, 0x033dea07, 0x014f9914, 0x02426277, 0x0130a362, 0x01e0443a, 0x03584a7d, 0x011674ab, 0x01c2e675, 0x00090153}}, Y: Field{[10]uint32{0x017ae592, 0x016128b9, 0x02a7612b, 0x02069bc0, 0x013553dc, 0x008345a9, 0x00e06d48, 0x03429c71, 0x021d3e05, 0x00195cab}}}, + {X: Field{[10]uint32{0x002420a4, 0x02d323a8, 0x0298fa3b, 0x0322e140, 0x02913199, 0x00408ecc, 0x03cd8790, 0x02a5e6ad, 0x02a6f46c, 0x002604b9}}, Y: Field{[10]uint32{0x00f937f0, 0x004ae722, 0x0315152a, 0x00ed595d, 0x033afd96, 0x021be4dd, 0x03baf369, 0x0364cc06, 0x02eddfec, 0x0011a3db}}}, + {X: Field{[10]uint32{0x0313c700, 0x000e969f, 0x03c6b962, 0x03ee5720, 0x029f6c14, 0x00b2778a, 0x00c928d6, 0x02392b61, 0x02446a34, 0x00118161}}, Y: Field{[10]uint32{0x022d57ab, 0x00079dd8, 0x021ad904, 0x004415ec, 0x034c873f, 0x02c62103, 0x0359c203, 0x01c07f99, 0x02e3ca3d, 0x00277157}}}, + {X: Field{[10]uint32{0x00be006a, 0x002541ef, 0x003228e9, 0x03298e6b, 0x021cb877, 0x012bb43e, 0x00d862fe, 0x0017ca91, 0x03972d5b, 0x002a36eb}}, Y: Field{[10]uint32{0x036fa4bc, 0x0312a5c5, 0x0190251a, 0x00a6e0f2, 0x03253e67, 0x0050742f, 0x018d38c6, 0x024df13e, 0x0003f082, 0x000f6d53}}}, + {X: Field{[10]uint32{0x011149fe, 0x01e0024e, 0x01128741, 0x0064899c, 0x02008b30, 0x013e611a, 0x0324bcd4, 0x004ca44c, 0x01f4f4d9, 0x0026e2ce}}, Y: Field{[10]uint32{0x0052c1d3, 0x025aa647, 0x030976b3, 0x01fcb82a, 0x034e4cae, 0x002c346c, 0x03fc6939, 0x00b96a23, 0x03721c45, 0x00124293}}}, + {X: Field{[10]uint32{0x014615eb, 0x00d62b4c, 0x0059773e, 0x00909e99, 0x017406ce, 0x039407e0, 0x02404ea9, 0x011b6c65, 0x01d5a7ef, 0x000cd1a0}}, Y: Field{[10]uint32{0x03ad6c0d, 0x01951094, 0x02b6d6c1, 0x0304dff9, 0x02e328fd, 0x0081a778, 0x004775a5, 0x0335aa7c, 0x003a1d80, 0x000ac8d8}}}, + {X: Field{[10]uint32{0x01c32529, 0x00fc380a, 0x02a88202, 0x01cadeba, 0x02bd5f83, 0x02933390, 0x00639b40, 0x01baf4a5, 0x0310c63c, 0x003fae38}}, Y: Field{[10]uint32{0x0343b213, 0x02fe1b76, 0x02617fbc, 0x018ef7df, 0x0068a45c, 0x019a0898, 0x017934b8, 0x035e02a9, 0x02ad6a0c, 0x0032db90}}}, + {X: Field{[10]uint32{0x0305cb67, 0x003cb121, 0x013b3fcf, 0x02d8acf6, 0x01a8ca5c, 0x02e44295, 0x01232523, 0x013a4b72, 0x03c2c733, 0x003d285e}}, Y: Field{[10]uint32{0x026e9dfe, 0x011c6c36, 0x02304bb0, 0x038f573e, 0x02e7f4a9, 0x03d14982, 0x03d55a32, 0x011ca52c, 0x039501b2, 0x00204add}}}, + {X: Field{[10]uint32{0x00cf181b, 0x011e6e93, 0x0324c7e0, 0x0257c208, 0x02c330a9, 0x03f2abd3, 0x016d596b, 0x010d2552, 0x007b8551, 0x0023b0ab}}, Y: Field{[10]uint32{0x01250130, 0x03aeea4d, 0x00258ce4, 0x025c9ec7, 0x0070e927, 0x0173c2f1, 0x00b3bcf0, 0x03498def, 0x00b67811, 0x003a8562}}}, + {X: Field{[10]uint32{0x00d4f19a, 0x010f1b01, 0x04001534, 0x02ddf68e, 0x03e4aa9e, 0x039231bd, 0x01c4b6d9, 0x0336f032, 0x021bd9ae, 0x002c79b5}}, Y: Field{[10]uint32{0x028cbf4a, 0x03e62bec, 0x031a35ae, 0x02e83b32, 0x011bc20a, 0x0235bcce, 0x01fdb344, 0x0325da2c, 0x0355b2e2, 0x0010ebde}}}, + {X: Field{[10]uint32{0x0313b2be, 0x03c8124b, 0x022e4b69, 0x018c0b53, 0x031a9519, 0x036cd50c, 0x004a3974, 0x011f70e4, 0x02e8210d, 0x001360f4}}, Y: Field{[10]uint32{0x0137a6b3, 0x015cbd8f, 0x000367c8, 0x02b25500, 0x017a0e3b, 0x039610ae, 0x005f1d88, 0x03f25ef9, 0x00833874, 0x001fb65b}}}, + {X: Field{[10]uint32{0x03b20b84, 0x02dba3ca, 0x01c36b9e, 0x03bac2ca, 0x0325f5c5, 0x01549fd9, 0x035d5143, 0x03f0875b, 0x012efd51, 0x0005123a}}, Y: Field{[10]uint32{0x02e344ad, 0x02efae65, 0x03f4cea8, 0x0298e790, 0x0013336a, 0x021a25cf, 0x011c9a22, 0x020f94be, 0x038fc8be, 0x0009228c}}}, + {X: Field{[10]uint32{0x024e4ead, 0x01c24f24, 0x03e63dcf, 0x02c09617, 0x0239d928, 0x03828863, 0x01cc7d44, 0x0142b0b3, 0x03d69c22, 0x00388ec0}}, Y: Field{[10]uint32{0x01b9aea9, 0x03ee2b9c, 0x024542ef, 0x02e84f7b, 0x0380b91c, 0x02b6c135, 0x017ef44f, 0x012df066, 0x03d04a8a, 0x00231a71}}}, + {X: Field{[10]uint32{0x02b5d7cb, 0x01c8ad0c, 0x02f94e5a, 0x0093699a, 0x00786632, 0x02baff2e, 0x02a929b9, 0x00ff9a51, 0x035e21fb, 0x00133478}}, Y: Field{[10]uint32{0x0167e3bc, 0x012ac1dc, 0x02984cba, 0x035dcc32, 0x03eca892, 0x00a5e185, 0x02887803, 0x016c42e9, 0x02dc5e86, 0x001ac444}}}, + {X: Field{[10]uint32{0x020db647, 0x03ec8102, 0x01bf5f2e, 0x02c363c7, 0x00bf25c6, 0x0165bb38, 0x00b92123, 0x02dec09f, 0x02f8092c, 0x003cf3ae}}, Y: Field{[10]uint32{0x0168d8e0, 0x0160af2a, 0x02ab7e12, 0x01cbbef6, 0x02cf3c71, 0x02ee974f, 0x0123b887, 0x03004e46, 0x01eb8418, 0x00298577}}}, + {X: Field{[10]uint32{0x01655e7d, 0x02168b1b, 0x01736a3a, 0x0379ec75, 0x02dfe341, 0x00c605c1, 0x0337c813, 0x03e235a0, 0x0128500b, 0x0012e2b3}}, Y: Field{[10]uint32{0x01219bb8, 0x0325b83f, 0x018ac624, 0x021e113c, 0x027b7c5d, 0x014bcec1, 0x016f76e0, 0x0159d613, 0x03c3825a, 0x002fa4f5}}}, + {X: Field{[10]uint32{0x00eb9fe1, 0x01c6541f, 0x03c53d47, 0x020616ba, 0x003e567d, 0x0331a37a, 0x03d2de62, 0x0002218f, 0x0081d04e, 0x002371eb}}, Y: Field{[10]uint32{0x01fa9198, 0x02e53104, 0x000e8214, 0x0224bb84, 0x031eb14c, 0x0097200f, 0x03a7755e, 0x0064c711, 0x024abe7b, 0x0018b52d}}}, + {X: Field{[10]uint32{0x01b89a23, 0x01394c30, 0x02033710, 0x015e400f, 0x01a817c2, 0x03d3cb06, 0x002bbbed, 0x03523425, 0x003f3078, 0x002a98cd}}, Y: Field{[10]uint32{0x02a7b524, 0x0256399b, 0x009bbfe7, 0x01b4338e, 0x0013befc, 0x037a51d6, 0x0020f4d9, 0x01cc3da7, 0x003423a6, 0x0009dfbe}}}, + {X: Field{[10]uint32{0x01121d30, 0x0135e841, 0x034955d0, 0x0186f085, 0x02dadeba, 0x028df7ce, 0x01096c01, 0x0079023a, 0x00619f30, 0x000df794}}, Y: Field{[10]uint32{0x0138898a, 0x00cbef39, 0x00c31f57, 0x01c35b6d, 0x00e3f6aa, 0x0001565f, 0x0136516c, 0x002e59a8, 0x009c33e4, 0x0001f9c1}}}, + {X: Field{[10]uint32{0x01eb83b4, 0x03cb0311, 0x0045e011, 0x0208be45, 0x003ebc66, 0x00d1d207, 0x028cd44f, 0x01673a8f, 0x0355506d, 0x001b4633}}, Y: Field{[10]uint32{0x00a30cdb, 0x03cabdee, 0x03854c8f, 0x029f3a01, 0x00220f7b, 0x03536e28, 0x039818e5, 0x01cfd1fe, 0x01c1ca8b, 0x003a4c3a}}}, + {X: Field{[10]uint32{0x02caa7d3, 0x025ece45, 0x01c0a5b7, 0x03f7ac74, 0x00f70243, 0x00054b27, 0x00203c49, 0x036b1775, 0x02606de7, 0x001df615}}, Y: Field{[10]uint32{0x019c659c, 0x01f6123d, 0x0122e8c3, 0x03b3e481, 0x031a2722, 0x02cf038e, 0x01b0fc94, 0x03554327, 0x03e39b37, 0x000fd5f3}}}, + {X: Field{[10]uint32{0x0381bf16, 0x0398d77c, 0x01229670, 0x002f5a76, 0x00ea5645, 0x03e753ee, 0x01dc8b56, 0x016ec715, 0x01a6c44b, 0x00170b9a}}, Y: Field{[10]uint32{0x01a3588d, 0x03c0499d, 0x03049f1a, 0x03c930d2, 0x009ec21a, 0x03f42d1b, 0x0021a8c2, 0x032a6e8a, 0x009d0a69, 0x003c2081}}}, + {X: Field{[10]uint32{0x01a393ee, 0x0339002d, 0x02af1918, 0x023626ca, 0x02aaacb9, 0x00afac1a, 0x01944ed9, 0x02496c94, 0x01f5066d, 0x000ca700}}, Y: Field{[10]uint32{0x02a57abf, 0x02bfb7fe, 0x032a9c3c, 0x0114f531, 0x02e21c2c, 0x0292494b, 0x0150c80a, 0x003ffdab, 0x0038427a, 0x001f8a6c}}}, + {X: Field{[10]uint32{0x029525da, 0x02d26f58, 0x0099df62, 0x03f21519, 0x02b670f4, 0x01c75ec3, 0x02bb4017, 0x037e90df, 0x031f18b2, 0x00130b98}}, Y: Field{[10]uint32{0x029a6f9c, 0x022728ff, 0x013701f7, 0x00b68fe1, 0x00050c6c, 0x02df0813, 0x01314326, 0x00fe9d30, 0x03fb8742, 0x0022a57a}}}, + {X: Field{[10]uint32{0x03d03fdc, 0x03efc6d8, 0x03fd9392, 0x0393184c, 0x01d3808c, 0x0384295d, 0x037cf02c, 0x0111971f, 0x03930d25, 0x003f8486}}, Y: Field{[10]uint32{0x009e0ba6, 0x0032f3a9, 0x036352a8, 0x022bcd82, 0x030e5943, 0x0110e83f, 0x03b997f9, 0x010c4653, 0x03077bda, 0x000cc4a6}}}, + {X: Field{[10]uint32{0x03784c23, 0x00ab984b, 0x0316da53, 0x03510600, 0x032cf8c5, 0x0079d2e2, 0x0220521f, 0x03cfddd3, 0x027b1cdb, 0x000c8eb0}}, Y: Field{[10]uint32{0x03c3dc18, 0x025acb4f, 0x01197bb2, 0x005bcf4c, 0x01c8489e, 0x00d2ea69, 0x00b15fe8, 0x012b1622, 0x0108f6a6, 0x00084558}}}, + {X: Field{[10]uint32{0x03afd533, 0x006a3481, 0x00d3741b, 0x0287964d, 0x01eeccbc, 0x03830840, 0x01f0ed5c, 0x02c780e9, 0x0362fdfc, 0x000451e3}}, Y: Field{[10]uint32{0x005f9153, 0x025a667b, 0x0366c70d, 0x02c82614, 0x02aba8d0, 0x0344549e, 0x00cdb176, 0x03b32191, 0x02732fd3, 0x002a7de5}}}, + {X: Field{[10]uint32{0x00b9d078, 0x010fbf08, 0x016e5e73, 0x02d5d9e2, 0x02bc8d82, 0x03b569a9, 0x008acf3a, 0x0306b7ae, 0x01b6c9d3, 0x0027c242}}, Y: Field{[10]uint32{0x007db181, 0x03ce1139, 0x017a33b0, 0x035ee669, 0x0061a579, 0x023d948d, 0x0263e30b, 0x01759371, 0x00a6c5c9, 0x00294587}}}, + {X: Field{[10]uint32{0x024a6b9f, 0x0255f4e9, 0x01711c55, 0x02c6d4bc, 0x032807ac, 0x006be02e, 0x01d8cd1a, 0x02b508a6, 0x007532a9, 0x0012582a}}, Y: Field{[10]uint32{0x02976625, 0x02e42d37, 0x03dd8cd6, 0x000bbbdd, 0x004bfc62, 0x00fe0bc9, 0x008f54a9, 0x0198a3ad, 0x01f3f1b4, 0x0015e394}}}, + {X: Field{[10]uint32{0x01310354, 0x0160bc17, 0x0066854b, 0x00d92d7b, 0x01d142d5, 0x03f27dcf, 0x010951cb, 0x00997952, 0x01c20bdb, 0x0019d70a}}, Y: Field{[10]uint32{0x008bd6d1, 0x00a411f8, 0x03a49832, 0x017e768c, 0x028cb8ad, 0x021af7e9, 0x02d4f9a1, 0x037a1080, 0x02693d82, 0x0008b47d}}}, + {X: Field{[10]uint32{0x007ce605, 0x02df26c4, 0x01d36f65, 0x037eb612, 0x01a9053a, 0x005aaccb, 0x01221779, 0x034389aa, 0x00bd6c75, 0x0031025b}}, Y: Field{[10]uint32{0x01c2bb46, 0x016f94e5, 0x023c294f, 0x01440092, 0x01b2b97e, 0x018ceb81, 0x0361efb9, 0x0325e4bf, 0x03472ae3, 0x0017c8da}}}, + {X: Field{[10]uint32{0x03905c0b, 0x003b66ce, 0x03789dd8, 0x018007e8, 0x01b1ddd4, 0x031d5055, 0x01205ec2, 0x015007c0, 0x0341ddd0, 0x0027a834}}, Y: Field{[10]uint32{0x01a28e69, 0x00570803, 0x03b717e6, 0x016654fd, 0x00ba7ce0, 0x00e625d9, 0x03692cd5, 0x0342ddbc, 0x010197e7, 0x000efd20}}}, + {X: Field{[10]uint32{0x02fb92e4, 0x035d690c, 0x028c7b4d, 0x03cb78dd, 0x01637367, 0x026056c3, 0x026edd2d, 0x03e8cdca, 0x02d784bf, 0x002f7aef}}, Y: Field{[10]uint32{0x03d0b9c0, 0x01312bb3, 0x00067673, 0x007f28ac, 0x01297a43, 0x02882507, 0x016af105, 0x026d8b70, 0x037eb62a, 0x0017fcd0}}}, + {X: Field{[10]uint32{0x02910932, 0x031f5b27, 0x020c7bcc, 0x01d1ded5, 0x000cbfe6, 0x03d55084, 0x02ea82c8, 0x00d3cb5a, 0x0244b46e, 0x002921be}}, Y: Field{[10]uint32{0x0097317a, 0x007208be, 0x03ca8323, 0x02a9fd1f, 0x01b8ad5b, 0x01532955, 0x023caa0f, 0x038a1022, 0x036d8a15, 0x0006adf8}}}, + {X: Field{[10]uint32{0x01cbba08, 0x0069f44a, 0x03769fbd, 0x02c4631f, 0x0366e7ab, 0x0082bbea, 0x0204376a, 0x02a49aa8, 0x00a557a1, 0x001118e8}}, Y: Field{[10]uint32{0x0034af0d, 0x036ada74, 0x02ce09a9, 0x0148973a, 0x037dc081, 0x002e2b44, 0x00f01de2, 0x0180a9c1, 0x02a5ab7b, 0x0012a08e}}}, + {X: Field{[10]uint32{0x01825ac4, 0x029cf7d3, 0x00b4c593, 0x0318bbad, 0x008cbdc5, 0x03647476, 0x03135840, 0x0237eead, 0x024fc45e, 0x0035b822}}, Y: Field{[10]uint32{0x02b4c55f, 0x020032d7, 0x02506c59, 0x036588bf, 0x0108be98, 0x003f8b6f, 0x031ae8fc, 0x0342e941, 0x03b477c0, 0x000b3616}}}, + {X: Field{[10]uint32{0x016a10f1, 0x00fea1fe, 0x03656a43, 0x034293e2, 0x00546d31, 0x026eff4d, 0x0076dca2, 0x032b5398, 0x02992a69, 0x002d89b8}}, Y: Field{[10]uint32{0x03cb5bc6, 0x015bd0d0, 0x03d343c6, 0x00ee32ef, 0x0162ac5e, 0x01789d95, 0x01686325, 0x0249a3c5, 0x02ceba91, 0x001b7d2c}}}, + {X: Field{[10]uint32{0x007139a5, 0x006959a5, 0x03b057e3, 0x03ad8678, 0x0225a4df, 0x03f93497, 0x01d61965, 0x0141c2cb, 0x02eb7464, 0x000d8679}}, Y: Field{[10]uint32{0x0282093f, 0x0035c944, 0x014311aa, 0x00ed1430, 0x0379940c, 0x02519f1e, 0x036c3bf2, 0x01848674, 0x0189ba15, 0x002592e2}}}, + {X: Field{[10]uint32{0x00bda2e9, 0x03dfd232, 0x02a847cc, 0x01838c9a, 0x0141e5c0, 0x014cc258, 0x00a3a65d, 0x0210ff10, 0x035e6718, 0x002cd4a6}}, Y: Field{[10]uint32{0x01c1b935, 0x03f15496, 0x030579d4, 0x01eca99e, 0x0131111e, 0x0216fb3d, 0x00595ac2, 0x02fd17a7, 0x00d37ce1, 0x001279b8}}}, + {X: Field{[10]uint32{0x03a9e05b, 0x02bf7c4b, 0x01598d42, 0x01e2500d, 0x014a1997, 0x03491fbc, 0x0385527d, 0x00517ff3, 0x00675bd7, 0x003947c0}}, Y: Field{[10]uint32{0x01b32666, 0x00a72ff0, 0x02c8cec7, 0x017cc3ad, 0x017d2e17, 0x026c11f9, 0x023d5fc6, 0x01cbad14, 0x033e8b4d, 0x003566ab}}}, + {X: Field{[10]uint32{0x01e79b28, 0x017e0c73, 0x00720170, 0x03935148, 0x0391c930, 0x0029ed52, 0x025eb6aa, 0x0311a348, 0x0066f64b, 0x0022a1fc}}, Y: Field{[10]uint32{0x02800227, 0x03afa959, 0x0113bb5e, 0x02b18954, 0x03249c34, 0x0343909d, 0x019062f5, 0x01f256c8, 0x0195e005, 0x002a4a97}}}, + {X: Field{[10]uint32{0x01310b06, 0x03661eff, 0x03632cd7, 0x03eee2bb, 0x013a926a, 0x03e236ab, 0x01c771eb, 0x023b969a, 0x0015aa87, 0x00362a04}}, Y: Field{[10]uint32{0x020acbdd, 0x017d4ff8, 0x02ad3d5e, 0x03680667, 0x03ec9f31, 0x03ce50b1, 0x03e3a262, 0x03b53a58, 0x03e8f276, 0x002bddfd}}}, + {X: Field{[10]uint32{0x020cc5c1, 0x01d0f533, 0x034d2c3b, 0x02f5466b, 0x02051c9a, 0x01974a35, 0x025b8a38, 0x01364f6f, 0x02194f3f, 0x002230fe}}, Y: Field{[10]uint32{0x020d8f8d, 0x0192381d, 0x039d9a9d, 0x036a660a, 0x0226b5de, 0x01dd16fb, 0x03671a7e, 0x03e089ec, 0x037a0f9f, 0x0004132b}}}, + {X: Field{[10]uint32{0x01ce648e, 0x00b0f650, 0x02484553, 0x0045b169, 0x02220701, 0x031ca6a2, 0x01e9c763, 0x02c3abc1, 0x03253434, 0x003e1ce1}}, Y: Field{[10]uint32{0x006f7bd7, 0x0327885e, 0x0320146f, 0x0055e059, 0x024c286e, 0x0034f86f, 0x01f66270, 0x01e44eda, 0x02d1d4ee, 0x002a2d7b}}}, + {X: Field{[10]uint32{0x009acc33, 0x021083e4, 0x02f606b1, 0x03e3723f, 0x007b35c8, 0x01a25817, 0x00ca8265, 0x00087e53, 0x01385afb, 0x00017f29}}, Y: Field{[10]uint32{0x01b2b3a8, 0x0246bd75, 0x036392b7, 0x01e35752, 0x03c5b4d0, 0x008facaf, 0x01f9a527, 0x022ff7ac, 0x0251f5c2, 0x000075fe}}}, + {X: Field{[10]uint32{0x035007db, 0x01193eb3, 0x01a51891, 0x013f8558, 0x03f1fddf, 0x03b52f43, 0x02cef9db, 0x02b366ec, 0x0148d4b2, 0x0011d211}}, Y: Field{[10]uint32{0x028f44a8, 0x02a8f20c, 0x02bce3dd, 0x00efb620, 0x01b93e22, 0x03ed113f, 0x03a25397, 0x033f811b, 0x0154f011, 0x003a9878}}}, + {X: Field{[10]uint32{0x02c5b8f1, 0x01ab2179, 0x0234ab46, 0x01b49500, 0x01dd8ef5, 0x0106a008, 0x029a6feb, 0x0350ffb1, 0x03ff0b14, 0x000cc7c5}}, Y: Field{[10]uint32{0x02ec144b, 0x015a6c27, 0x0299b68d, 0x01840b11, 0x0337d8c0, 0x02864c47, 0x0364a0f8, 0x011cc6da, 0x00a18d77, 0x002e882f}}}, + {X: Field{[10]uint32{0x03dc68ce, 0x02c51b76, 0x027f15e9, 0x0073e710, 0x0205b897, 0x0014c395, 0x0388ce98, 0x034b192a, 0x022d200b, 0x0001aae9}}, Y: Field{[10]uint32{0x01f832c8, 0x02ac09ba, 0x00c5b000, 0x035de376, 0x01fcf65f, 0x03c1c7cb, 0x0126ef0c, 0x022466b3, 0x02d7d7d9, 0x0039324d}}}, + {X: Field{[10]uint32{0x03ca19c5, 0x032f1a48, 0x014fcf52, 0x02371cc9, 0x02c0cfee, 0x027b1bb3, 0x01022b4d, 0x02867188, 0x0035e72f, 0x0031dadb}}, Y: Field{[10]uint32{0x0213efc9, 0x02ea0c7e, 0x03fb1ee7, 0x0215ec86, 0x01b49dba, 0x01fe80a2, 0x034d0a1d, 0x0216666d, 0x027a48ee, 0x0016c3fe}}}, + {X: Field{[10]uint32{0x021bb77a, 0x024e1533, 0x014a404a, 0x03b50549, 0x02aaa438, 0x00a70529, 0x01590fa4, 0x00f7e6c0, 0x023d43f3, 0x003015ba}}, Y: Field{[10]uint32{0x033dca7b, 0x01ee31fa, 0x0231cc33, 0x000a2e80, 0x0258355a, 0x01da95c7, 0x0079e7f5, 0x02a7c4b1, 0x00e32337, 0x00356c65}}}, + {X: Field{[10]uint32{0x01ac938a, 0x0222cf6f, 0x003a147e, 0x03124f2b, 0x037df652, 0x01ae3ced, 0x03bb897e, 0x003bc44d, 0x00cc8ddf, 0x000f5a23}}, Y: Field{[10]uint32{0x015879fc, 0x02bc8b53, 0x03b4a691, 0x0269ebce, 0x0338b6bc, 0x0045563d, 0x00daead1, 0x0387ca58, 0x03884d7a, 0x002f2a51}}}, + {X: Field{[10]uint32{0x00d2a179, 0x012ccf42, 0x009cf392, 0x027d7cb9, 0x00c59d7a, 0x03dbf60d, 0x0145f0cd, 0x004602a4, 0x02f669ce, 0x0013ebfe}}, Y: Field{[10]uint32{0x020159d2, 0x03d55841, 0x00485b71, 0x01c9e6f3, 0x03dcbad8, 0x032442ae, 0x000c16d8, 0x00bb0956, 0x00ac2dca, 0x00278057}}}, + {X: Field{[10]uint32{0x024aecad, 0x00c15e68, 0x02f614ac, 0x031d9a67, 0x000e8ba0, 0x037b31f1, 0x01a44eb3, 0x03ade1ad, 0x00e37cd7, 0x00011d5e}}, Y: Field{[10]uint32{0x03171651, 0x03be3259, 0x0056945e, 0x019a7af2, 0x0007fd00, 0x02d8a3b6, 0x00eab83f, 0x03802f1a, 0x0017a6be, 0x002522b2}}}, + {X: Field{[10]uint32{0x00618836, 0x0386a577, 0x01dfe103, 0x029dded6, 0x038c72fd, 0x01d221f6, 0x02d1a35f, 0x0191a892, 0x02753eaa, 0x0026ab78}}, Y: Field{[10]uint32{0x002bca96, 0x000dcf74, 0x0025687e, 0x03b771fd, 0x03ceef2f, 0x0325120f, 0x02e7a050, 0x0097cc79, 0x03848f46, 0x002d9470}}}, + {X: Field{[10]uint32{0x03aed711, 0x004cebd8, 0x02f9a276, 0x027d8a72, 0x03321c9b, 0x011ecaf3, 0x02818524, 0x03b9d556, 0x03e0b1c6, 0x002c6c30}}, Y: Field{[10]uint32{0x000ac827, 0x02eac90c, 0x01571759, 0x019d632f, 0x03c2c741, 0x03fc5c44, 0x001d0dca, 0x01bfcf7f, 0x00fd624e, 0x00124eb3}}}, + {X: Field{[10]uint32{0x032a8ff6, 0x0373cfaf, 0x0201c156, 0x01881eeb, 0x032a0ce4, 0x03ce46a6, 0x02c5762f, 0x028163ab, 0x018fb192, 0x003155dd}}, Y: Field{[10]uint32{0x011bd3b3, 0x011e5a5b, 0x01766399, 0x02129dc6, 0x03989212, 0x006ff6fc, 0x010f671b, 0x0386567c, 0x0353d209, 0x000753a6}}}, + {X: Field{[10]uint32{0x037b5e0e, 0x02b648ca, 0x00d07cc9, 0x0209237d, 0x020edcc0, 0x037d686d, 0x01b5ca60, 0x03b53ed2, 0x01ed5120, 0x001cd48b}}, Y: Field{[10]uint32{0x02e08d74, 0x02233e37, 0x01a96e43, 0x013b25c9, 0x037f87db, 0x016f3f71, 0x01299ced, 0x009c3b47, 0x0194cdf0, 0x0011d5a7}}}, + {X: Field{[10]uint32{0x00323506, 0x02e70bfa, 0x033ad72b, 0x0033c3b1, 0x00fd6fbc, 0x030afb94, 0x03ae46df, 0x02258ca8, 0x000d6632, 0x000595c7}}, Y: Field{[10]uint32{0x03ec68d2, 0x00911212, 0x03143d22, 0x02135d67, 0x00a936d6, 0x01f39854, 0x0157911e, 0x0071833b, 0x01869e00, 0x001977a7}}}, + {X: Field{[10]uint32{0x00e5f090, 0x00be5626, 0x03343dbe, 0x00ba0b72, 0x01b1810d, 0x0327be1b, 0x020cc8d7, 0x00c29721, 0x01642eb6, 0x003d7f95}}, Y: Field{[10]uint32{0x03adfa87, 0x03244fa7, 0x03504e20, 0x02f75fb5, 0x02eec2da, 0x030b025e, 0x0340dcdf, 0x036b2328, 0x021fbea9, 0x00173b9e}}}, + {X: Field{[10]uint32{0x016e3592, 0x0138f28e, 0x00591881, 0x005d635e, 0x037aece0, 0x021f3b6b, 0x01a67a0b, 0x02410d0f, 0x033270d0, 0x003bc276}}, Y: Field{[10]uint32{0x03b675e2, 0x0288e6b1, 0x036ea80c, 0x01c4ab81, 0x037df142, 0x03bf7d38, 0x01c6161c, 0x01ba7e59, 0x0005ba24, 0x00164d3e}}}, + {X: Field{[10]uint32{0x033a54e8, 0x03f948cd, 0x030c13ed, 0x008be5d2, 0x025e1746, 0x03c807b4, 0x012b102b, 0x03c26661, 0x03d727d2, 0x00221b36}}, Y: Field{[10]uint32{0x00a73b2b, 0x029ec277, 0x021426ee, 0x021ce351, 0x015166f6, 0x019393e2, 0x03518255, 0x01b96b94, 0x028a7fca, 0x0036b2cc}}}, + {X: Field{[10]uint32{0x02237cff, 0x03be0ab3, 0x011f96e4, 0x00226ef6, 0x01620713, 0x02367cfa, 0x029ff848, 0x02fcba14, 0x03cd04f7, 0x002df61a}}, Y: Field{[10]uint32{0x03702f0e, 0x03f623ce, 0x0002ee32, 0x0293b434, 0x0303acf2, 0x01d5d210, 0x0146dc41, 0x0151faa1, 0x03f1375a, 0x0031ac2b}}}, + {X: Field{[10]uint32{0x03388c67, 0x03f1eeba, 0x02c4d22b, 0x02659ef1, 0x00c24f5e, 0x0257653b, 0x03910593, 0x02ae14c1, 0x01b28132, 0x0035f45c}}, Y: Field{[10]uint32{0x001a8f8f, 0x01950f77, 0x00744bfe, 0x020a5c22, 0x037be396, 0x02ece6fd, 0x013c1351, 0x038ad957, 0x00e02421, 0x00260ddc}}}, + {X: Field{[10]uint32{0x0394b1be, 0x024202a5, 0x03502a42, 0x025b0524, 0x00f01a18, 0x00cf6b64, 0x01f1cfa8, 0x00c39c8a, 0x02fd881e, 0x003ff9c4}}, Y: Field{[10]uint32{0x00505da8, 0x03063395, 0x01586cda, 0x01e94c59, 0x02f18b03, 0x03cbe8af, 0x0311ae58, 0x00212842, 0x0203075d, 0x003d0a67}}}, + {X: Field{[10]uint32{0x03d13f7c, 0x01919555, 0x03d669f6, 0x03781bc0, 0x03dff3f0, 0x03decd71, 0x03cd10b3, 0x01a54735, 0x02b30322, 0x00158f24}}, Y: Field{[10]uint32{0x03ec10c1, 0x0272cdcc, 0x01f43076, 0x0252153d, 0x009bb210, 0x0105be52, 0x030ccfb2, 0x03bd0602, 0x02f4085b, 0x0037287b}}}, + {X: Field{[10]uint32{0x00f32437, 0x0353591a, 0x013dd9a0, 0x00a19a9f, 0x01dd52c2, 0x03e91f05, 0x00056d7e, 0x03af3985, 0x02f33a2c, 0x002e39db}}, Y: Field{[10]uint32{0x018651c2, 0x01068a24, 0x004a22aa, 0x03084277, 0x003076cc, 0x00986687, 0x02539ba4, 0x039e668e, 0x039d652a, 0x00111539}}}, + {X: Field{[10]uint32{0x02f1c971, 0x01d5182a, 0x002d2c56, 0x03cf8219, 0x0107b4a4, 0x022a6610, 0x02e429fb, 0x000e8b7c, 0x0304f607, 0x000db6c8}}, Y: Field{[10]uint32{0x0284b5cc, 0x010bf269, 0x03ef00f8, 0x02d02323, 0x03ecf7f9, 0x009ac6ae, 0x03859eee, 0x002a8f66, 0x028f5cc3, 0x002814db}}}, + {X: Field{[10]uint32{0x00d9a5ab, 0x01562862, 0x02314f9d, 0x0286df1a, 0x00d537c1, 0x03a6b8a9, 0x0055e529, 0x018df758, 0x011d1521, 0x00317539}}, Y: Field{[10]uint32{0x03eb3f6d, 0x036cce9b, 0x02d0de04, 0x00f12d22, 0x00aaf709, 0x0195c265, 0x0365b08c, 0x01e0b3ef, 0x02ed6a13, 0x0032107b}}}, + {X: Field{[10]uint32{0x01c4bffd, 0x0263e7dc, 0x032207cd, 0x00cd802b, 0x02b05615, 0x018d785e, 0x0379ed3f, 0x0167dbfe, 0x01c29858, 0x0014300f}}, Y: Field{[10]uint32{0x03137720, 0x01929df5, 0x02b0a68b, 0x00a22dfd, 0x025c4255, 0x01471d22, 0x01a2bd74, 0x008a6bd6, 0x0397a7ed, 0x0031a321}}}, + {X: Field{[10]uint32{0x008333ef, 0x014d1b7c, 0x01ff3364, 0x0245c74c, 0x03985606, 0x03d6ec3b, 0x010ae5dc, 0x01be68b8, 0x004b3e7e, 0x000a01b6}}, Y: Field{[10]uint32{0x007b429d, 0x026d40f2, 0x0385e54a, 0x0099090d, 0x02bf8cac, 0x00e9ad63, 0x00b5ddbf, 0x01332d33, 0x004338e3, 0x001cbc8d}}}, + {X: Field{[10]uint32{0x008790a4, 0x02254bce, 0x0353f4c5, 0x006f888a, 0x0282bb9c, 0x026103fb, 0x03e33c62, 0x02374710, 0x01dd1ef5, 0x001035c3}}, Y: Field{[10]uint32{0x030770d5, 0x00a875fd, 0x0130d96b, 0x016ce51a, 0x02e65468, 0x03d35545, 0x00d170ea, 0x0264c8ce, 0x0157b6dd, 0x0026c6a7}}}, + {X: Field{[10]uint32{0x0387c835, 0x01598222, 0x03905d01, 0x00105e60, 0x02ac7338, 0x038876a0, 0x037b193e, 0x00484ef5, 0x003204e7, 0x0022143b}}, Y: Field{[10]uint32{0x01c160e2, 0x00dfddf7, 0x00d3a7d6, 0x02cac32d, 0x02961480, 0x019701c5, 0x01f58eaa, 0x002e464b, 0x03a0a916, 0x002abffd}}}, + {X: Field{[10]uint32{0x00ad6e8b, 0x0033dc54, 0x00bd2c24, 0x02c1a8c2, 0x030de291, 0x02f92175, 0x039d4a62, 0x00a7d1df, 0x0109bd7c, 0x00152545}}, Y: Field{[10]uint32{0x03ef2722, 0x01b1ccb1, 0x02f27f13, 0x027ddf00, 0x01b1d8f7, 0x013307ea, 0x0245c764, 0x00ee7e8e, 0x007cf2a2, 0x000bf6cd}}}, + {X: Field{[10]uint32{0x037e5d44, 0x023da7eb, 0x0221facf, 0x022f990d, 0x031c3d3e, 0x0028f9f3, 0x01af1ab7, 0x03ad3ef9, 0x0355cdf8, 0x0027d7b0}}, Y: Field{[10]uint32{0x01d3c06e, 0x01bcb286, 0x00a58488, 0x017a4afe, 0x0312b8be, 0x0368712e, 0x03da94ba, 0x00d5401b, 0x015fb38b, 0x002c80f7}}}, + {X: Field{[10]uint32{0x02c0b3da, 0x00dc688b, 0x0037bbdf, 0x0388c18a, 0x028b72f0, 0x022cc9bf, 0x035e606c, 0x02794a32, 0x029c1bba, 0x00204b92}}, Y: Field{[10]uint32{0x00e222a1, 0x0347163e, 0x00f24d10, 0x01227be4, 0x015d98d2, 0x03b4004d, 0x02bd36a1, 0x02b8e718, 0x01b714a9, 0x000ae9ed}}}, + {X: Field{[10]uint32{0x023d924a, 0x0072a18a, 0x02c36c5c, 0x03d8a89b, 0x01af52c6, 0x03575ff4, 0x00ff16ec, 0x0185ad50, 0x01dbcf85, 0x003980d7}}, Y: Field{[10]uint32{0x001eec86, 0x03ed77fc, 0x0154ad6c, 0x0011a716, 0x01173d31, 0x007ca7c6, 0x0118718a, 0x03f2b1be, 0x009ef687, 0x002a514e}}}, + {X: Field{[10]uint32{0x02033446, 0x0079d49a, 0x00bc6032, 0x00a69ad4, 0x032643f1, 0x01ac8ce6, 0x01696938, 0x0351c6dc, 0x01e8d771, 0x0035e229}}, Y: Field{[10]uint32{0x017d3990, 0x026259fa, 0x030e0b25, 0x00bde7f8, 0x01c0c9a4, 0x01f646d9, 0x017fe32a, 0x01e0fbe9, 0x02225095, 0x000d2e15}}}, + {X: Field{[10]uint32{0x03c6f41c, 0x0175291d, 0x01802561, 0x00bdc1af, 0x020c8ef4, 0x03e8cad5, 0x01b5f116, 0x013e7c07, 0x03dd2937, 0x00198dcc}}, Y: Field{[10]uint32{0x0078676d, 0x03b09b74, 0x013c1394, 0x0199b895, 0x0185b59f, 0x005002de, 0x014e916a, 0x03f16458, 0x01453ae0, 0x0000d617}}}, + {X: Field{[10]uint32{0x0323ad9c, 0x02c08f6c, 0x006f0a5a, 0x00ccd585, 0x016affda, 0x0278b8f5, 0x03ad4d11, 0x00504cf6, 0x032805ae, 0x0017b1b9}}, Y: Field{[10]uint32{0x00884579, 0x008f5a70, 0x029f645c, 0x03919a37, 0x03d35a56, 0x00683f28, 0x00d609db, 0x00c078a7, 0x01bfcfc6, 0x000f7490}}}, + {X: Field{[10]uint32{0x00f8f3c5, 0x019d28cb, 0x02ceee4a, 0x03975105, 0x0087532b, 0x01165c5f, 0x03366471, 0x019a89f0, 0x00421fbb, 0x003c63f1}}, Y: Field{[10]uint32{0x0359d560, 0x008a7344, 0x00de9b4f, 0x0397dd60, 0x02026847, 0x01a1b03e, 0x03b4e836, 0x00f7c403, 0x00813bb3, 0x0034e282}}}, + {X: Field{[10]uint32{0x01f5345a, 0x0089108e, 0x01719206, 0x03fbba87, 0x017dec0d, 0x004d0919, 0x038d3362, 0x03f87c52, 0x009ed9bc, 0x002063d5}}, Y: Field{[10]uint32{0x006602ee, 0x00b237e1, 0x013688cc, 0x0170ae7d, 0x0048b24c, 0x01fd2cfe, 0x001a8e9d, 0x03d12117, 0x011fcca2, 0x000df398}}}, + {X: Field{[10]uint32{0x02dce942, 0x016c02c7, 0x02a6417a, 0x03ad9086, 0x024f4fa8, 0x00cba1e5, 0x034ee3a5, 0x00ff20a9, 0x0391f98e, 0x001d78b1}}, Y: Field{[10]uint32{0x03e5f6b4, 0x0153354d, 0x00b26f2d, 0x02f888aa, 0x007c4d37, 0x00582157, 0x02a17c71, 0x004d89a2, 0x033ba495, 0x00147c8d}}}, + {X: Field{[10]uint32{0x023954d3, 0x01a0db87, 0x011199ca, 0x01667d2e, 0x009b44de, 0x0264ddcc, 0x03f4ec1f, 0x01b4c76b, 0x01b64c0c, 0x001c47e3}}, Y: Field{[10]uint32{0x00caa4b0, 0x038f9f5c, 0x03eb5b75, 0x02e85c2e, 0x016e4dfb, 0x02cd4673, 0x0170fcf7, 0x0320b7cc, 0x01e3432a, 0x00121655}}}, + {X: Field{[10]uint32{0x033ba6a5, 0x01c6f237, 0x0003a160, 0x003f8878, 0x005216f5, 0x0232a70b, 0x022104ee, 0x0168792f, 0x00266f75, 0x0018d40b}}, Y: Field{[10]uint32{0x01bea942, 0x00a2a852, 0x028dd90f, 0x022bc7ce, 0x033954b8, 0x03f9de5d, 0x01075bda, 0x00fd2bd5, 0x01eac8fc, 0x0029720a}}}, + {X: Field{[10]uint32{0x02850872, 0x00425530, 0x0138c92d, 0x0358e49e, 0x0213f5c3, 0x00bb95f9, 0x01bb82fd, 0x0381c06d, 0x0059ccfe, 0x000a99dd}}, Y: Field{[10]uint32{0x037cbe71, 0x035717bb, 0x02053714, 0x00a3ace7, 0x00401bbf, 0x02c0f831, 0x031cbf5d, 0x02c2ca6e, 0x03985c5d, 0x003fdba5}}}, + {X: Field{[10]uint32{0x02b52cbe, 0x006c020c, 0x00d99f05, 0x03417c8c, 0x015b359b, 0x035febe5, 0x01b4a223, 0x01a69c27, 0x038778fb, 0x001a3e17}}, Y: Field{[10]uint32{0x03c92210, 0x0357cf3f, 0x0389e405, 0x0302cef7, 0x01ef9c65, 0x022d5ae1, 0x037b771f, 0x00c62713, 0x0149f4fc, 0x000370ba}}}, + {X: Field{[10]uint32{0x02b74ade, 0x02413cf4, 0x0390e1c2, 0x0321bd2e, 0x009e9883, 0x039642c9, 0x01fd8b9d, 0x0080d942, 0x01b73b54, 0x001fba75}}, Y: Field{[10]uint32{0x03343e62, 0x030c3b81, 0x03828002, 0x01aa7759, 0x03492063, 0x02497775, 0x01c6977b, 0x03c817e4, 0x0013241c, 0x00260489}}}, + {X: Field{[10]uint32{0x00aa33c8, 0x01d54f89, 0x03391381, 0x0011e7ab, 0x00102b5d, 0x03503948, 0x03680230, 0x0249c76c, 0x0090cdb1, 0x002111ec}}, Y: Field{[10]uint32{0x03c0bdb0, 0x02a3087d, 0x02a78c14, 0x0295e225, 0x03121d02, 0x00096948, 0x02eacd39, 0x01d20700, 0x03e655a2, 0x00096d0f}}}, + {X: Field{[10]uint32{0x0016a645, 0x02a2dbca, 0x03268c89, 0x00b9de8b, 0x03e45e62, 0x00317bce, 0x0151f569, 0x01439ade, 0x03b93f15, 0x000c581c}}, Y: Field{[10]uint32{0x007624be, 0x00b6cc65, 0x02caf6a5, 0x02286191, 0x03a1a6f3, 0x00c7571d, 0x0254a4db, 0x0033a30f, 0x01ac2fc7, 0x00155f29}}}, + {X: Field{[10]uint32{0x0036d6ac, 0x007addd2, 0x004ae5fc, 0x03c7264a, 0x00cdaa8e, 0x030046c6, 0x00fe9495, 0x0086b0d6, 0x012da2ef, 0x003eb88c}}, Y: Field{[10]uint32{0x030b76c7, 0x03ba358f, 0x00b8b54e, 0x0366ca6d, 0x00aa948a, 0x03f32fc2, 0x00ee7cb3, 0x03a196c3, 0x02612d99, 0x001bcefd}}}, + {X: Field{[10]uint32{0x00f839f0, 0x0339e0d5, 0x023e12f8, 0x031addbc, 0x007d4c72, 0x00c58abb, 0x01e1691d, 0x037f7c2c, 0x03ef5588, 0x000a028a}}, Y: Field{[10]uint32{0x03683f72, 0x02d21ce4, 0x01c73ca7, 0x018f3036, 0x01b2b4ba, 0x03910161, 0x03be1bc7, 0x025dd2a1, 0x011bc31a, 0x003c037b}}}, + {X: Field{[10]uint32{0x037ccdcd, 0x03dab02f, 0x01ddb86b, 0x02ca2a99, 0x034d0609, 0x031d5113, 0x037e5d28, 0x024b264a, 0x037a9b7b, 0x000fd0f9}}, Y: Field{[10]uint32{0x0072a2d6, 0x01c2a113, 0x015366cf, 0x0155401d, 0x00ac2678, 0x00ae3617, 0x02bd6b99, 0x002952f1, 0x0103bb3c, 0x002cc45e}}}, + {X: Field{[10]uint32{0x0069f2de, 0x03c58b75, 0x0229646d, 0x0037d941, 0x02953550, 0x00147843, 0x02539290, 0x03e8d21f, 0x01c8387b, 0x000e82bf}}, Y: Field{[10]uint32{0x01bb29c7, 0x0061eb32, 0x0324e8b4, 0x03df23fc, 0x01907d4c, 0x03cb294f, 0x0386dff3, 0x0242db87, 0x00c8f0f6, 0x001d5a5f}}}, + {X: Field{[10]uint32{0x0170809d, 0x03a905de, 0x01660949, 0x02aa288f, 0x002789d0, 0x01c81ca8, 0x026e7c4a, 0x01c8fa66, 0x0364209f, 0x000fe5ca}}, Y: Field{[10]uint32{0x02e47d15, 0x0293e110, 0x02342b32, 0x00fb98fc, 0x039a7c05, 0x0280b17f, 0x0026e769, 0x03f672bf, 0x00287a6b, 0x001e9209}}}, + {X: Field{[10]uint32{0x0089b0b4, 0x036bd2ba, 0x004df0e8, 0x0175c7d0, 0x01c21ff8, 0x02e138f4, 0x01f1ecc4, 0x00d93447, 0x000ffa73, 0x00024e2b}}, Y: Field{[10]uint32{0x01be0312, 0x02e9d291, 0x0204a63f, 0x0255932d, 0x004e9689, 0x03681a84, 0x02e8820e, 0x02ce0437, 0x02d3d526, 0x00287027}}}, + {X: Field{[10]uint32{0x00e28bcc, 0x007b22bd, 0x01071831, 0x016993a6, 0x01631c9b, 0x02f4d15d, 0x01eb9ed3, 0x039d309d, 0x01752993, 0x0014d57b}}, Y: Field{[10]uint32{0x006ad088, 0x01c94f3f, 0x01a40ddf, 0x011c0c24, 0x01c81885, 0x0003c614, 0x010279f6, 0x02aabeb0, 0x007d680a, 0x002eec40}}}, + {X: Field{[10]uint32{0x03f277b7, 0x0224c47e, 0x024574e9, 0x01bead8b, 0x02b03369, 0x010d0191, 0x03bda46a, 0x01db1b60, 0x02ed70ba, 0x0022038c}}, Y: Field{[10]uint32{0x020410bc, 0x0331ea1b, 0x00e7c623, 0x02bccc39, 0x0308dcda, 0x01a59a1a, 0x02763d5f, 0x03578901, 0x02cb8d10, 0x001dbfac}}}, + {X: Field{[10]uint32{0x00f11aa8, 0x03447c42, 0x02beebd6, 0x000f6ab5, 0x00857ac5, 0x012dd3a7, 0x00beec11, 0x016da0ae, 0x00aaa275, 0x0036bdde}}, Y: Field{[10]uint32{0x00a5f428, 0x0260bba6, 0x01c88fd4, 0x03c24a60, 0x02e38325, 0x01bb5a5d, 0x00f3024d, 0x00c05e7c, 0x0062710d, 0x0007b617}}}, + {X: Field{[10]uint32{0x03b474dd, 0x01eaf6a3, 0x004641cf, 0x01690b23, 0x009a60b9, 0x00d4cfe0, 0x01c0a4ff, 0x00f49f46, 0x01dd7563, 0x003970fa}}, Y: Field{[10]uint32{0x01fb0dfc, 0x01ec9063, 0x02afb251, 0x03f858cc, 0x0371b7b7, 0x03c82f27, 0x03036990, 0x0021faac, 0x02f65c5c, 0x003c795a}}}, + {X: Field{[10]uint32{0x00096973, 0x01a0df70, 0x03afdd11, 0x00302335, 0x016859c2, 0x03ec9d32, 0x03f3bf2f, 0x0361c25d, 0x0334ecdf, 0x0017500f}}, Y: Field{[10]uint32{0x00f6aeb1, 0x004a4e76, 0x01e4a5ba, 0x00d110f9, 0x022335c3, 0x005d935c, 0x001ba707, 0x01b3165e, 0x007c7024, 0x001ad6f9}}}, + {X: Field{[10]uint32{0x02246b12, 0x019162d7, 0x01f81389, 0x00d3cf95, 0x03993bf0, 0x02642ac9, 0x01b4caac, 0x007dc6cd, 0x013c2551, 0x00142e81}}, Y: Field{[10]uint32{0x02291f63, 0x03e8aefc, 0x025b88a7, 0x028af32f, 0x009f8a22, 0x0018f6ac, 0x02903993, 0x00c5c19d, 0x02455c7a, 0x0034bc4a}}}, + {X: Field{[10]uint32{0x026629cf, 0x02fc0bc1, 0x03a00b38, 0x0088e670, 0x039f2906, 0x00d961e4, 0x03898f0b, 0x02a7b681, 0x00eaee4a, 0x000e16a0}}, Y: Field{[10]uint32{0x03efcd50, 0x029a5d02, 0x01eb16e6, 0x00091a64, 0x038cfe49, 0x02a42e3e, 0x010806d6, 0x031b975d, 0x020bd72a, 0x002950cc}}}, + {X: Field{[10]uint32{0x03dedbef, 0x03866582, 0x00a9b276, 0x02948d88, 0x02eaa669, 0x03501463, 0x029de6c3, 0x0378e1b9, 0x00b9904e, 0x00026184}}, Y: Field{[10]uint32{0x0206b581, 0x03436522, 0x03315c4a, 0x034d8760, 0x03b88f72, 0x016d7fe3, 0x00d0c892, 0x02840343, 0x01a2eb6a, 0x00241dd5}}}, + {X: Field{[10]uint32{0x011b7fe8, 0x01e66646, 0x0329ed45, 0x016d1d53, 0x0219ae21, 0x032efda8, 0x007b0d3d, 0x0034ef7f, 0x0007d964, 0x0020fc42}}, Y: Field{[10]uint32{0x03293364, 0x029be681, 0x035e2489, 0x012bef0a, 0x02fe719e, 0x002778b1, 0x00e69c65, 0x035b4a18, 0x031b5095, 0x003d8b48}}}, + {X: Field{[10]uint32{0x03b1c246, 0x03285f53, 0x0059e74d, 0x03f19ed8, 0x01e3f287, 0x009d67f4, 0x002b0285, 0x00d718be, 0x02939273, 0x00147488}}, Y: Field{[10]uint32{0x0063745d, 0x008677db, 0x0187be05, 0x0374c4a1, 0x02f7184b, 0x00f22c49, 0x00b909e2, 0x016d3462, 0x03a3b514, 0x002e6e00}}}, + {X: Field{[10]uint32{0x03465006, 0x0277bc53, 0x03c70368, 0x01316827, 0x013e8cc2, 0x009b0df1, 0x02919458, 0x00f50f49, 0x0342e578, 0x002f9a98}}, Y: Field{[10]uint32{0x007ef000, 0x0236e89f, 0x0004c200, 0x012c70d8, 0x0081bc7e, 0x00f773f6, 0x01efc141, 0x0149e76a, 0x00fc3fc1, 0x002071c6}}}, + {X: Field{[10]uint32{0x00790036, 0x023c89af, 0x02e81a4e, 0x03642a0a, 0x00448681, 0x022c9c1c, 0x03b043b5, 0x004a1292, 0x00d9c36f, 0x003c84cd}}, Y: Field{[10]uint32{0x0016eff2, 0x03d1d4e2, 0x0308e428, 0x02e0b3c9, 0x03f5f143, 0x00878a4e, 0x03dcc1eb, 0x03f4c114, 0x00513a87, 0x00000112}}}, + {X: Field{[10]uint32{0x01730508, 0x03abebb2, 0x022cb419, 0x00ca494f, 0x020932a8, 0x01cef49f, 0x00cb1f1b, 0x0118fe04, 0x00e5af34, 0x00055631}}, Y: Field{[10]uint32{0x00c917f8, 0x007f937d, 0x0149e2dd, 0x00dd0a28, 0x006921bb, 0x029d4217, 0x023f3f41, 0x0104c8d9, 0x025025e1, 0x0032e331}}}, + {X: Field{[10]uint32{0x025d71e2, 0x02428699, 0x02e642e0, 0x03b6641c, 0x01b575a4, 0x02238e09, 0x00d3596a, 0x0083606d, 0x032c8f60, 0x000614e8}}, Y: Field{[10]uint32{0x003a8367, 0x03b660a8, 0x005e89e3, 0x0222ca50, 0x03eaf268, 0x006187ff, 0x024aedbb, 0x02ba838d, 0x031cb170, 0x002368a8}}}, + {X: Field{[10]uint32{0x00cd323d, 0x00d4e233, 0x0190b8cc, 0x02d0ef75, 0x002da679, 0x03ebea77, 0x01f60dbc, 0x00efb087, 0x00bcf0f0, 0x003bd617}}, Y: Field{[10]uint32{0x00c2f296, 0x03db601e, 0x03acdd93, 0x02e876a9, 0x01f02ccd, 0x00a04e41, 0x0192e078, 0x007db4e1, 0x0203aff9, 0x000af178}}}, + {X: Field{[10]uint32{0x02fd5c14, 0x01da022c, 0x03471a14, 0x01938344, 0x031fa458, 0x0092cf1e, 0x03d99714, 0x01a3aefb, 0x0237e1ea, 0x000fd30b}}, Y: Field{[10]uint32{0x020eeaa5, 0x038da91f, 0x005e330d, 0x005ed50e, 0x01051b9c, 0x03cca6d4, 0x02665b04, 0x00ecfeaa, 0x00ab3d28, 0x0019e264}}}, + {X: Field{[10]uint32{0x0021693a, 0x02d04679, 0x0133b621, 0x004082d5, 0x0059fc9b, 0x00eafcab, 0x01cb20ab, 0x02b12860, 0x038ad557, 0x000ac006}}, Y: Field{[10]uint32{0x02c6b94a, 0x00a5c8e0, 0x006758fa, 0x0234b283, 0x01310a32, 0x0122c949, 0x026f8c30, 0x0276c5cf, 0x0007f8d1, 0x003f93cc}}}, + {X: Field{[10]uint32{0x012cd229, 0x016f24d1, 0x00bb98d0, 0x009d62e8, 0x0379c90d, 0x007ec328, 0x02b5b108, 0x0023fe37, 0x01dd7d5a, 0x00196274}}, Y: Field{[10]uint32{0x028149a9, 0x01e45966, 0x007faa11, 0x016c64af, 0x01fdc547, 0x038003f5, 0x008dca23, 0x00a64d2f, 0x0080ed84, 0x00209025}}}, + {X: Field{[10]uint32{0x03950a6f, 0x027c3d49, 0x028a83b8, 0x03968e8e, 0x00ab4377, 0x01da9aa4, 0x00553162, 0x020d6e3a, 0x010df5d3, 0x00308cff}}, Y: Field{[10]uint32{0x00f6f3e5, 0x0088e4ad, 0x0384f494, 0x00c61ae2, 0x02314680, 0x016bbf81, 0x00fbac08, 0x02690c4b, 0x00a8775a, 0x0023fa38}}}, + {X: Field{[10]uint32{0x024cc14a, 0x02c4f41d, 0x036e7b65, 0x003e27db, 0x02a38867, 0x01d68afe, 0x02e3f57f, 0x023bbb5b, 0x02852a84, 0x00209cc6}}, Y: Field{[10]uint32{0x01117583, 0x0039334e, 0x004c1208, 0x026e29d4, 0x011ffacc, 0x0238d288, 0x03096883, 0x017a1fc6, 0x009a307c, 0x00300314}}}, + {X: Field{[10]uint32{0x02d2a50d, 0x03a9b401, 0x0097707e, 0x02d54fab, 0x00c9dde3, 0x008a50bb, 0x02b51501, 0x02c6c16a, 0x03a0e5d8, 0x003884e1}}, Y: Field{[10]uint32{0x01b0ff83, 0x02043723, 0x00349bb2, 0x02564cd5, 0x000fc81c, 0x012b177f, 0x003c9207, 0x024f7c0d, 0x0109f90d, 0x0031d379}}}, + {X: Field{[10]uint32{0x039fdc25, 0x03269256, 0x0236a00b, 0x0305b410, 0x0292780f, 0x0358d6e3, 0x035c3414, 0x010f6716, 0x01fd2fa4, 0x0006021c}}, Y: Field{[10]uint32{0x0314d120, 0x021400ea, 0x00146599, 0x00db89de, 0x021f25e6, 0x02f80971, 0x02014a8b, 0x03cde908, 0x01506008, 0x00359b1c}}}, + {X: Field{[10]uint32{0x00cb2c42, 0x034c382f, 0x03ab4b44, 0x024d360f, 0x00d64dff, 0x00455ae4, 0x0329a9a3, 0x00aa307b, 0x027eed11, 0x002d6a77}}, Y: Field{[10]uint32{0x0139db38, 0x029c7d0d, 0x03d91130, 0x033ec3fc, 0x0130315c, 0x03be15c8, 0x00afe660, 0x00febcec, 0x0279a81c, 0x00159d69}}}, + {X: Field{[10]uint32{0x00aee7d6, 0x00047f40, 0x03b4d40d, 0x01ec01b4, 0x018ce569, 0x0016973e, 0x02baf78c, 0x039437d0, 0x007261f1, 0x0026b339}}, Y: Field{[10]uint32{0x0107a05c, 0x0223fae5, 0x01e0a95f, 0x00c6b74a, 0x026cb8c8, 0x00c969e7, 0x03568304, 0x0131a795, 0x013c4046, 0x003edf10}}}, + {X: Field{[10]uint32{0x03574e5c, 0x03303ae2, 0x01100a02, 0x038d9f61, 0x01916796, 0x0064f7bb, 0x007bc4b2, 0x01dc48bf, 0x039b7bef, 0x003e02ad}}, Y: Field{[10]uint32{0x015c8f6d, 0x00067747, 0x022aac77, 0x02142d74, 0x003a1ac5, 0x01b372b3, 0x035834ed, 0x022c9766, 0x003f842d, 0x0031b534}}}, + {X: Field{[10]uint32{0x009366a1, 0x0287e62f, 0x01aeefae, 0x0123b058, 0x0125d814, 0x0182c936, 0x005845ef, 0x008c30c0, 0x0355cdb4, 0x002d0c78}}, Y: Field{[10]uint32{0x0241c1cd, 0x0345db76, 0x0390ef69, 0x0395731c, 0x017aebac, 0x014adb9a, 0x02ddb985, 0x002850e0, 0x01d4ae23, 0x003af36b}}}, + {X: Field{[10]uint32{0x0275f1fb, 0x01aa001b, 0x009c593f, 0x037db082, 0x02efe56e, 0x01b72939, 0x02b686f4, 0x00e98d47, 0x039e08c9, 0x001ea982}}, Y: Field{[10]uint32{0x03a0347e, 0x03c03bd7, 0x00c98328, 0x0002d01a, 0x00cb4248, 0x038cf9a5, 0x013e3892, 0x002fc781, 0x01e21770, 0x00001320}}}, + {X: Field{[10]uint32{0x0286b30b, 0x039d8404, 0x0296ba72, 0x03bc9cbd, 0x01d304fb, 0x028ded37, 0x001d1a4d, 0x0090edd1, 0x010b3aa4, 0x0006a209}}, Y: Field{[10]uint32{0x01b7a473, 0x017d2ada, 0x033fe3fd, 0x0163d166, 0x02b33b76, 0x0015aa6f, 0x02d8cb0f, 0x02056f81, 0x010557d3, 0x001896e7}}}, + {X: Field{[10]uint32{0x022b57c7, 0x03b6f0ea, 0x0196682d, 0x011c7aea, 0x0106c4ca, 0x02d773b8, 0x034db23c, 0x015628b4, 0x02eb49fd, 0x0016d493}}, Y: Field{[10]uint32{0x038ae50c, 0x014a41ae, 0x02d5dbf2, 0x009caf28, 0x0025c8b2, 0x01b80af7, 0x01b163d5, 0x033875cd, 0x009756b7, 0x000b570b}}}, + {X: Field{[10]uint32{0x0276d2c5, 0x0016139d, 0x007d1892, 0x03610cef, 0x00191550, 0x03dd5826, 0x00cb8b10, 0x02f9e749, 0x03776d9f, 0x002b9839}}, Y: Field{[10]uint32{0x018d7784, 0x0249bec5, 0x0311ffff, 0x0350d1a8, 0x00b76c36, 0x03bf219e, 0x011be83e, 0x0091cb28, 0x01867377, 0x0010c3fa}}}, + {X: Field{[10]uint32{0x02efb9d4, 0x03e04a98, 0x03105ab4, 0x00c2710b, 0x0353e8d7, 0x017739be, 0x020b081a, 0x03d9a351, 0x023d9e29, 0x000c8e97}}, Y: Field{[10]uint32{0x004776ba, 0x0295afa0, 0x01830c2f, 0x02911d98, 0x03da6216, 0x02d7aa6b, 0x0256d1d3, 0x00fd0859, 0x03b36948, 0x0000ad15}}}, + {X: Field{[10]uint32{0x027c1c9d, 0x00d9445e, 0x022a2a8b, 0x0125e965, 0x02b3db86, 0x01a50a6c, 0x00e612ed, 0x0154b219, 0x01b6591e, 0x002b346d}}, Y: Field{[10]uint32{0x026e88b8, 0x01886423, 0x00fa3265, 0x00947af1, 0x0067544d, 0x009498d2, 0x02ba7729, 0x01a40249, 0x03ff056f, 0x003984c7}}}, + {X: Field{[10]uint32{0x005b36f4, 0x02fdd3de, 0x02cf114e, 0x018211d0, 0x02f2e61e, 0x01549233, 0x026286b1, 0x014b80a8, 0x00708178, 0x001ad38b}}, Y: Field{[10]uint32{0x01b893df, 0x03a19139, 0x01a1a1e4, 0x03f359b9, 0x037398f7, 0x007354a5, 0x007130d0, 0x026f7080, 0x011c7a52, 0x00210025}}}, + {X: Field{[10]uint32{0x0084ab31, 0x01e5a7e0, 0x017c7151, 0x017e02a0, 0x004e6a37, 0x0230d1d1, 0x004cb914, 0x0029187d, 0x0327d67b, 0x0030acb1}}, Y: Field{[10]uint32{0x036d5f59, 0x0207ebb0, 0x01718824, 0x03522414, 0x03a52c47, 0x030a07f4, 0x00aa2519, 0x01ec3e66, 0x0359ebf3, 0x003fb590}}}, + {X: Field{[10]uint32{0x004f202e, 0x01f286e4, 0x02f71220, 0x008af683, 0x022ec564, 0x01e283e1, 0x014609d9, 0x02f653de, 0x02dab5b2, 0x000ce17b}}, Y: Field{[10]uint32{0x003d7443, 0x01eedc58, 0x0074b490, 0x0219d1a9, 0x01b12a21, 0x006a7d10, 0x01975aa3, 0x02a3b871, 0x02af1db8, 0x000a0234}}}, + {X: Field{[10]uint32{0x00c803f2, 0x006701c5, 0x02a82335, 0x03c35314, 0x02edce15, 0x03ead1e1, 0x030c2923, 0x010dee11, 0x00d7f2cb, 0x002003db}}, Y: Field{[10]uint32{0x00a37056, 0x0054bd35, 0x03734ad0, 0x0233b0e5, 0x0023e0a8, 0x02c980a3, 0x0206ca59, 0x006a8337, 0x023e0ad1, 0x002607cb}}}, + {X: Field{[10]uint32{0x02aa2f3b, 0x0071803b, 0x01f32474, 0x02dd853c, 0x02ebfaf4, 0x01eedb2a, 0x00103c6d, 0x00a1bf4f, 0x03ff3a9f, 0x001cea82}}, Y: Field{[10]uint32{0x00c6f7b1, 0x03c76946, 0x02846701, 0x00f13f79, 0x00a54a2e, 0x0362f39f, 0x009fe73d, 0x02e60f2e, 0x012981a9, 0x0000c2f1}}}, + {X: Field{[10]uint32{0x0178f2c5, 0x005a7ee8, 0x029ca789, 0x02626f3c, 0x03863804, 0x00f9d84b, 0x03fdfa9c, 0x004fda02, 0x00e6ab5c, 0x0024a03f}}, Y: Field{[10]uint32{0x00ae36bb, 0x013df373, 0x03b233e7, 0x02f76c28, 0x03aeb6a7, 0x03dfd6ed, 0x01397b18, 0x00b8ecbf, 0x00dbc5bc, 0x0012e5bb}}}, + {X: Field{[10]uint32{0x026e03ca, 0x02fda769, 0x00b8107d, 0x020397b3, 0x029f4387, 0x01c344ba, 0x009be162, 0x02e7bed6, 0x004bbb50, 0x001c8157}}, Y: Field{[10]uint32{0x036bc7cb, 0x0169b183, 0x023f9891, 0x0016a87f, 0x01985ad7, 0x006a188f, 0x01746935, 0x01df7561, 0x017fc30a, 0x002baa89}}}, + {X: Field{[10]uint32{0x03c1879f, 0x017411f9, 0x008e0308, 0x021c4aaf, 0x000eb8e8, 0x03ea09f3, 0x02687c73, 0x038f6c2e, 0x03d0c771, 0x003c3cf3}}, Y: Field{[10]uint32{0x00936b33, 0x026054e9, 0x02e20eff, 0x01733db8, 0x031bf8aa, 0x013f8428, 0x030c4b32, 0x013153e3, 0x027d8b74, 0x000b184b}}}, + {X: Field{[10]uint32{0x02f5dcfa, 0x01ebe6f9, 0x033ec67a, 0x01df979e, 0x00d8b611, 0x0290ddab, 0x02c8fe8e, 0x03c9c1be, 0x036570b0, 0x0025f1e2}}, Y: Field{[10]uint32{0x03e14c3d, 0x027563ce, 0x00daa127, 0x026cd1f1, 0x01133460, 0x00f2d650, 0x03da765c, 0x016162a5, 0x010cfea9, 0x0006bae5}}}, + {X: Field{[10]uint32{0x02509e69, 0x0327bfa7, 0x03eeb9b5, 0x03d4ce9c, 0x024b7908, 0x022c1dfe, 0x013a9de4, 0x01bf0f52, 0x021e967e, 0x002ce7fe}}, Y: Field{[10]uint32{0x0265dc05, 0x01039d7a, 0x01e16f3b, 0x00bc4486, 0x03f76c30, 0x007205f8, 0x0218c007, 0x01cb3035, 0x015181ac, 0x003d57ce}}}, + {X: Field{[10]uint32{0x00e7baaa, 0x007198fe, 0x03fd1735, 0x01ca2c79, 0x0201b2a9, 0x0246c582, 0x003fcc4d, 0x01f1346f, 0x037a5ff2, 0x000566e7}}, Y: Field{[10]uint32{0x00c4360a, 0x0202df29, 0x02697a83, 0x01f55e30, 0x015e6012, 0x01e27f50, 0x021c7f0d, 0x013febae, 0x036d86c5, 0x002c2abb}}}, + {X: Field{[10]uint32{0x0385e44c, 0x027dfcf2, 0x021aaf72, 0x02acf04d, 0x016dff76, 0x0189bf11, 0x0107a62b, 0x012c5b1f, 0x03d18d4a, 0x00096043}}, Y: Field{[10]uint32{0x036a2d9b, 0x0348864b, 0x00f442fc, 0x017ccd5e, 0x009252dd, 0x02d2e2c0, 0x0295526a, 0x02f5c2b4, 0x03257794, 0x003d0148}}}, + {X: Field{[10]uint32{0x033352b2, 0x024d37d1, 0x0241d6e1, 0x02440b69, 0x01eab362, 0x0241d620, 0x019864c0, 0x028ca312, 0x024d5860, 0x0009f882}}, Y: Field{[10]uint32{0x03b45203, 0x02e52640, 0x02a7b65c, 0x00ac03a1, 0x03d3822a, 0x000f0469, 0x030b4905, 0x02d43f89, 0x00f2888c, 0x00305663}}}, + {X: Field{[10]uint32{0x001448a2, 0x03cef44d, 0x032dd685, 0x01a13651, 0x006d684a, 0x02885ed8, 0x008f465b, 0x0253999c, 0x014e517a, 0x00120fd1}}, Y: Field{[10]uint32{0x039ad11f, 0x01a2985f, 0x02aa82ba, 0x01bfc308, 0x01d338d0, 0x01772dc3, 0x0123346c, 0x0268d917, 0x0144d93b, 0x00304ecc}}}, + {X: Field{[10]uint32{0x0204e6e5, 0x002967af, 0x03266e2e, 0x023e0e93, 0x0267ef06, 0x03054cbc, 0x024c9a30, 0x012a996b, 0x02f63173, 0x0013d1ec}}, Y: Field{[10]uint32{0x00d99d2b, 0x00d35996, 0x03a27c01, 0x00bb7551, 0x01682439, 0x03b6adcb, 0x033ebcf3, 0x0272d174, 0x034cf11b, 0x00163c7c}}}, + {X: Field{[10]uint32{0x0397db07, 0x02d8d05d, 0x0057424f, 0x00ac4711, 0x00d6f42a, 0x03a04330, 0x031774b8, 0x033a12d3, 0x037e0835, 0x002a9e3a}}, Y: Field{[10]uint32{0x005e743b, 0x0124fa86, 0x0311b0cf, 0x018c85c4, 0x03ee9ffc, 0x00fdcb8c, 0x00c7541d, 0x0351f167, 0x0139d957, 0x000e5900}}}, + {X: Field{[10]uint32{0x00033d49, 0x02c33a33, 0x0194417e, 0x03daa97d, 0x0031a3f1, 0x00dd602c, 0x01c0655c, 0x00158047, 0x018583c0, 0x00349662}}, Y: Field{[10]uint32{0x02f24b08, 0x00744696, 0x02d8bc84, 0x00193413, 0x02b6a830, 0x036af85c, 0x014622a2, 0x02062e8a, 0x01739de8, 0x000d9072}}}, + {X: Field{[10]uint32{0x01e26634, 0x004a9215, 0x03faf487, 0x017567df, 0x03f2d2b8, 0x010d641e, 0x0338f877, 0x02dd3d5b, 0x03a0eccc, 0x0013c08e}}, Y: Field{[10]uint32{0x01a6a456, 0x020a57ec, 0x02e95bc4, 0x012e1a9b, 0x03a2ae09, 0x024edb0f, 0x03c35ea3, 0x014496e3, 0x0033b15d, 0x003e03bf}}}, + {X: Field{[10]uint32{0x023a1589, 0x03df8b5d, 0x003c670b, 0x00a3df05, 0x028eda41, 0x0056b22f, 0x03e13cfa, 0x03425def, 0x008b48ab, 0x002721bc}}, Y: Field{[10]uint32{0x01c2df45, 0x014bc570, 0x00a171a1, 0x036b211a, 0x0217d4ee, 0x00a7536c, 0x02ff453d, 0x032e20e7, 0x03870e9e, 0x00045447}}}, + {X: Field{[10]uint32{0x02137576, 0x00362e3b, 0x0120e913, 0x01dda760, 0x01c5e6ac, 0x0355f89a, 0x03affcec, 0x017323ff, 0x018b72e9, 0x000e021c}}, Y: Field{[10]uint32{0x01ea728f, 0x0227f4cc, 0x00ceedb7, 0x0068278f, 0x00c614a6, 0x03b62d63, 0x02e59cf8, 0x02dc8936, 0x01ebcf5e, 0x003d03af}}}, + {X: Field{[10]uint32{0x00dda3df, 0x03e9d4bf, 0x03b4255d, 0x011d71f7, 0x00eb349f, 0x03b68091, 0x01c80a13, 0x024bf01c, 0x015e3994, 0x00237bf4}}, Y: Field{[10]uint32{0x03f7a771, 0x01317d9e, 0x00c7ff9e, 0x033b8ec3, 0x01a01786, 0x03f0e58c, 0x03b0d19f, 0x03430ed3, 0x03784353, 0x0034f7e9}}}, + {X: Field{[10]uint32{0x0024bf8a, 0x02a2a9f7, 0x03d466ea, 0x03430c92, 0x03ed99f9, 0x0263eb79, 0x00052487, 0x0341f8ea, 0x01425ac1, 0x00236b23}}, Y: Field{[10]uint32{0x02ef8009, 0x0042dcaa, 0x00087d64, 0x0098834a, 0x0262e9d9, 0x00d5375b, 0x032f097d, 0x00d3f362, 0x01b79232, 0x003c8cbf}}}, + {X: Field{[10]uint32{0x03a90e1b, 0x032b011f, 0x01d35329, 0x03f1be04, 0x01e45d26, 0x0090f0f4, 0x03178b4f, 0x039b78a1, 0x0043f3bc, 0x0021f399}}, Y: Field{[10]uint32{0x01724138, 0x00cfa54e, 0x02875fac, 0x03523dc3, 0x000f0af0, 0x01fb7cec, 0x002799d7, 0x012ad316, 0x00196241, 0x0002a25c}}}, + {X: Field{[10]uint32{0x00fdf08d, 0x0259b1aa, 0x02f3bd22, 0x03201d06, 0x02124a21, 0x02dddd6e, 0x0360a3f8, 0x02ddfa7a, 0x03fabf2f, 0x002ffb9a}}, Y: Field{[10]uint32{0x03ba76f7, 0x0339757e, 0x03fa69c9, 0x03a102e0, 0x02cd2e8b, 0x00bf20fb, 0x026f2155, 0x012fc5fc, 0x0399541e, 0x000a6870}}}, + {X: Field{[10]uint32{0x00c2bec1, 0x026bcad7, 0x0341daef, 0x02be0e06, 0x00044873, 0x02bfdcae, 0x001a5537, 0x02a0008d, 0x01a5b553, 0x00030c3f}}, Y: Field{[10]uint32{0x039fea6d, 0x01054ed0, 0x0162e7d1, 0x01b99775, 0x028a96f7, 0x0338d011, 0x004aafc0, 0x023593e9, 0x02b587d8, 0x001738fa}}}, + {X: Field{[10]uint32{0x0000ed97, 0x0375360d, 0x030a00f1, 0x001dca35, 0x014d9226, 0x006d067d, 0x01cadbfe, 0x00675c31, 0x01fd5941, 0x00179c54}}, Y: Field{[10]uint32{0x02108917, 0x03654c7a, 0x0020d73b, 0x0259895e, 0x024c64ec, 0x032f75d7, 0x0136816e, 0x0129f58b, 0x02a5a51d, 0x001aa33b}}}, + {X: Field{[10]uint32{0x0086100b, 0x01a436fb, 0x007c04bf, 0x01ead435, 0x03e974af, 0x01494896, 0x03d06208, 0x0357c3cc, 0x030a66cd, 0x002a723a}}, Y: Field{[10]uint32{0x038e0a2f, 0x02786ca2, 0x02bf329c, 0x0223cebb, 0x00a4371e, 0x03ca4335, 0x02a24bcf, 0x00c7cec0, 0x039d8987, 0x003c8272}}}, + {X: Field{[10]uint32{0x03a2e439, 0x021446b8, 0x0253b946, 0x01cd7ebd, 0x01cb8043, 0x00bb9848, 0x01b16595, 0x0245411c, 0x01d79366, 0x0025579e}}, Y: Field{[10]uint32{0x03930d06, 0x001c02f3, 0x028261de, 0x037c4839, 0x002e82cd, 0x0295b1e8, 0x02a3bcc1, 0x019e8043, 0x03e32a9b, 0x001a36ab}}}, + {X: Field{[10]uint32{0x03a34a71, 0x00ad0277, 0x005fac19, 0x0014f21a, 0x02bef248, 0x02edf875, 0x03bc70b3, 0x0331a96c, 0x0293d3c1, 0x0008b49c}}, Y: Field{[10]uint32{0x039b3357, 0x020dfa58, 0x02389e6c, 0x037ece77, 0x014d5d76, 0x01036ed6, 0x004e42e7, 0x0156dd4f, 0x00e34fc8, 0x0031d2d1}}}, + {X: Field{[10]uint32{0x0137abc0, 0x013a3108, 0x03835b2f, 0x022ce80d, 0x0370d46e, 0x0121ebaf, 0x01d91f71, 0x005d9d3a, 0x02cef74b, 0x003467f3}}, Y: Field{[10]uint32{0x02db7580, 0x02b6db12, 0x00a83fe9, 0x0397cd97, 0x0334ca9f, 0x025332e8, 0x02224f74, 0x002604f3, 0x03f63dca, 0x0016e412}}}, + {X: Field{[10]uint32{0x02336899, 0x00df2470, 0x0073f2a4, 0x01b1492a, 0x001723c3, 0x02f1a9aa, 0x02091136, 0x01200359, 0x022aadc7, 0x001aa85c}}, Y: Field{[10]uint32{0x02319d07, 0x03c7b8b5, 0x03c369a4, 0x0367b599, 0x023d9709, 0x00855273, 0x01640583, 0x016d318c, 0x004cdf49, 0x0023a5c0}}}, + {X: Field{[10]uint32{0x00ea6efc, 0x01be146c, 0x01052f73, 0x01ac1c83, 0x02b16e3b, 0x025ab461, 0x0107262e, 0x0348804b, 0x02239ee4, 0x001e6f4d}}, Y: Field{[10]uint32{0x0018729e, 0x03d36fbd, 0x000fe42d, 0x01beb5ae, 0x036a3116, 0x031f24b0, 0x00972c71, 0x03369077, 0x03dbf568, 0x000292d0}}}, + {X: Field{[10]uint32{0x00f16ce9, 0x00460be9, 0x028c9e40, 0x00800500, 0x03a1c7d8, 0x01a43033, 0x0183c5d3, 0x00ded59d, 0x032c1463, 0x002d780a}}, Y: Field{[10]uint32{0x0069e0b2, 0x0389e564, 0x026fb938, 0x0299c634, 0x021a819b, 0x003a2850, 0x013516fa, 0x02a9c39e, 0x02be3fac, 0x0012e591}}}, + {X: Field{[10]uint32{0x03a7403a, 0x02bdd0c1, 0x0057dd05, 0x02152ce2, 0x0114a2b6, 0x021fde43, 0x0044d643, 0x03ad3419, 0x0271de2d, 0x00238cf8}}, Y: Field{[10]uint32{0x01ecc429, 0x00f5b8a2, 0x0171fc91, 0x03fc3fa7, 0x00e08d73, 0x00f833ac, 0x02011bd0, 0x028773aa, 0x03a2c7a4, 0x00360b54}}}, + {X: Field{[10]uint32{0x0019c2f5, 0x0164f293, 0x0036b074, 0x03d8bd7b, 0x020abd6e, 0x03b68df6, 0x0369b73f, 0x029e0395, 0x004277db, 0x0013ffbd}}, Y: Field{[10]uint32{0x0392f854, 0x021a04f4, 0x01d694a1, 0x02f59efe, 0x03796755, 0x02ec27e6, 0x036162cf, 0x0282ae7b, 0x0057378a, 0x002a28c2}}}, + {X: Field{[10]uint32{0x01f57368, 0x00dc49ba, 0x02bdefb7, 0x035bb2e9, 0x03f7e42e, 0x006e491b, 0x00b03341, 0x001722d6, 0x012a6338, 0x0021e2d9}}, Y: Field{[10]uint32{0x02e85836, 0x007bf055, 0x0020ad54, 0x004749d2, 0x02148c97, 0x01290750, 0x02e71f0b, 0x0056334e, 0x033ed691, 0x000b3efa}}}, + {X: Field{[10]uint32{0x01eb415e, 0x002c41a7, 0x02783dd4, 0x00bc6c20, 0x01a0aa0b, 0x01e6b2f0, 0x0399ee6a, 0x02bb451a, 0x0215aee2, 0x003be69a}}, Y: Field{[10]uint32{0x01e97240, 0x02f42392, 0x00d826d9, 0x03686715, 0x02cffd9c, 0x02d271ea, 0x03c44802, 0x00d45286, 0x02ba7fd5, 0x00264278}}}, + {X: Field{[10]uint32{0x0245bf37, 0x02b081c1, 0x008fcdcf, 0x00630b55, 0x02c7814e, 0x036c33a3, 0x00358855, 0x0348c182, 0x00d41551, 0x00357092}}, Y: Field{[10]uint32{0x01a36f05, 0x02013045, 0x029cb3c3, 0x017e0b6a, 0x003cbeb4, 0x0053542a, 0x0378c88c, 0x007e0a32, 0x009e7bf0, 0x003e717a}}}, + {X: Field{[10]uint32{0x03227d1a, 0x016467d5, 0x00289f2c, 0x003c25bb, 0x026dad0c, 0x005155a0, 0x036e6148, 0x0055f659, 0x01cca526, 0x003b6fc9}}, Y: Field{[10]uint32{0x0299554d, 0x036b80bb, 0x034c7409, 0x007bdb95, 0x03d0ca70, 0x0034dc95, 0x0033c137, 0x0191592a, 0x0088be05, 0x0001a115}}}, + {X: Field{[10]uint32{0x00cf09bb, 0x039ba953, 0x0378b26f, 0x02c37f3c, 0x0314be80, 0x033e4a1a, 0x021f5cf0, 0x038dd894, 0x026fb8e2, 0x00170480}}, Y: Field{[10]uint32{0x02daa596, 0x0299d619, 0x010471bf, 0x014102ea, 0x0094b81a, 0x02072691, 0x010154d5, 0x0194a1e5, 0x01ef4e2c, 0x000f6635}}}, + {X: Field{[10]uint32{0x008e2d6d, 0x0134acb9, 0x030a0b43, 0x0352bce5, 0x03ae728b, 0x019cce31, 0x00dcef7f, 0x00157585, 0x02435056, 0x00309f98}}, Y: Field{[10]uint32{0x018525c9, 0x004dea9f, 0x033ced82, 0x025e158c, 0x029e372d, 0x0334a315, 0x00839eeb, 0x03e51bde, 0x02fc703c, 0x001dad61}}}, + {X: Field{[10]uint32{0x01abaf8a, 0x036bb794, 0x027e7b96, 0x00feac52, 0x007f6760, 0x0263b981, 0x0024e8af, 0x0061ad35, 0x03045140, 0x0028a631}}, Y: Field{[10]uint32{0x00108fda, 0x0358e35a, 0x031085d7, 0x027ae9cb, 0x00463b77, 0x01283087, 0x01b430db, 0x0064d529, 0x01582a1b, 0x001371c0}}}, + {X: Field{[10]uint32{0x012013c4, 0x00bccf86, 0x02f073a6, 0x005223ae, 0x02fdf400, 0x0125a8cc, 0x0204fb19, 0x03a2c2b0, 0x015782da, 0x00387f3a}}, Y: Field{[10]uint32{0x01d02f4c, 0x0138d9c7, 0x008a4a26, 0x00e513cc, 0x01e8ca64, 0x01de8435, 0x022b50aa, 0x01bfe5aa, 0x02e5d578, 0x0010145f}}}, + {X: Field{[10]uint32{0x03097d6d, 0x00e6ff02, 0x033a21e1, 0x010bd9cf, 0x001a2b0c, 0x008d8551, 0x00e49bb6, 0x02e00239, 0x03fc5f06, 0x00039c66}}, Y: Field{[10]uint32{0x02fd7822, 0x0118b0ab, 0x025e1a0a, 0x00cd3e45, 0x01d14e2c, 0x00631251, 0x023929ee, 0x037da287, 0x001d83f5, 0x003c320f}}}, + {X: Field{[10]uint32{0x00ad0a4e, 0x0130e2d4, 0x0235a17f, 0x01436723, 0x020dc27c, 0x039a5f6e, 0x00b11277, 0x03358a10, 0x024ba9d8, 0x001ddd9a}}, Y: Field{[10]uint32{0x031b6431, 0x02da7388, 0x00554b26, 0x01b9bdb9, 0x0060b758, 0x01b0642f, 0x02265ac8, 0x009ee808, 0x02d94483, 0x0016ce8a}}}, + {X: Field{[10]uint32{0x008514b4, 0x03ca390d, 0x00292597, 0x035d8983, 0x004f2c9d, 0x00418da4, 0x0260cda4, 0x02a157e1, 0x021f6215, 0x003c8ddc}}, Y: Field{[10]uint32{0x02cfef79, 0x02e4ce06, 0x03651bcc, 0x03a755ec, 0x0046f5ad, 0x00f2e61d, 0x02e8c6d3, 0x027e73b2, 0x021c187b, 0x0004276a}}}, + {X: Field{[10]uint32{0x027b3e08, 0x014fc269, 0x033b9f19, 0x00edb16b, 0x0397517b, 0x01436f20, 0x004e7a8a, 0x006868f3, 0x01d5e889, 0x0025023d}}, Y: Field{[10]uint32{0x01691555, 0x01e7b256, 0x02b90ed8, 0x0150cb67, 0x03ca33e9, 0x0173b4af, 0x01f87b90, 0x006ba725, 0x0212c32f, 0x0006e0bc}}}, + {X: Field{[10]uint32{0x012a7064, 0x027db055, 0x020f4c4f, 0x03223c59, 0x03883649, 0x03a419d7, 0x03214f13, 0x01e49b27, 0x02551170, 0x002ca0dd}}, Y: Field{[10]uint32{0x011abfcf, 0x02c2f5db, 0x00131829, 0x01054671, 0x03be6ee0, 0x02f5545b, 0x0303ca45, 0x02258b9b, 0x033915be, 0x0022554d}}}, + {X: Field{[10]uint32{0x0378f4a9, 0x019eff92, 0x039c1437, 0x00c4fe4b, 0x03986413, 0x01b034a7, 0x012a9dcb, 0x03d5293b, 0x020036b5, 0x003390ae}}, Y: Field{[10]uint32{0x03a048d4, 0x02f4dff8, 0x028024a7, 0x0360914a, 0x0339b757, 0x03dc1afe, 0x00c91792, 0x02ebd1da, 0x0292cf35, 0x001b951c}}}, + {X: Field{[10]uint32{0x00cbcc59, 0x03b738bb, 0x0007d8e9, 0x02f10bc2, 0x00d3942b, 0x0352bd08, 0x009325e8, 0x00ea5efb, 0x02a01a06, 0x002ecf68}}, Y: Field{[10]uint32{0x02d70b32, 0x016749fe, 0x00d9d5c5, 0x00023685, 0x0225d6eb, 0x035b9ecb, 0x018a19ec, 0x0241ffbd, 0x03aabc39, 0x001f0a39}}}, + {X: Field{[10]uint32{0x02c490ee, 0x00b0378d, 0x02acf539, 0x0249b7a3, 0x01dd3e95, 0x01bec9a4, 0x036f620d, 0x0281d3a9, 0x003c97f3, 0x00097613}}, Y: Field{[10]uint32{0x02d5651a, 0x01ce90c5, 0x0154016f, 0x01b279d6, 0x03415309, 0x02b5bf49, 0x0391ffb1, 0x022a6c1e, 0x0345088c, 0x0017839d}}}, + {X: Field{[10]uint32{0x00d5765b, 0x00e511a1, 0x034a7faf, 0x00af9d0e, 0x03764994, 0x01f01d85, 0x015a01de, 0x01bc60b9, 0x03fdca25, 0x0022ea8e}}, Y: Field{[10]uint32{0x030506f1, 0x0022e034, 0x018117f3, 0x01f41f9c, 0x01587bfe, 0x01cc2c84, 0x01c28164, 0x0057345c, 0x00978bbe, 0x001851fa}}}, + {X: Field{[10]uint32{0x021f5170, 0x01a5e5c0, 0x0319274c, 0x026ca1f1, 0x024d3b6b, 0x000931c1, 0x0065dea8, 0x000e1447, 0x020a5b7d, 0x00141f5a}}, Y: Field{[10]uint32{0x037bf5d3, 0x00eb6b5f, 0x03b372dc, 0x034338c3, 0x03c12793, 0x00eb8cae, 0x02a8141c, 0x020eb91f, 0x024770ea, 0x0004e7c5}}}, + {X: Field{[10]uint32{0x02bbd846, 0x003f4e89, 0x030d6d64, 0x03ced3fc, 0x00e45620, 0x003f085f, 0x037354b1, 0x0316fa66, 0x02f7a059, 0x001f1a64}}, Y: Field{[10]uint32{0x01e0bee6, 0x006838ed, 0x02d03274, 0x02814386, 0x001f64e6, 0x004e7efb, 0x027062d7, 0x019070aa, 0x034efa63, 0x00025911}}}, + {X: Field{[10]uint32{0x02698bf2, 0x0319a496, 0x0238fcfc, 0x005efec2, 0x033d5e33, 0x03a9bc55, 0x00507509, 0x016c8c52, 0x02b01bf6, 0x003d8a0c}}, Y: Field{[10]uint32{0x00c1ec95, 0x0230a995, 0x0040d366, 0x00ee31d6, 0x011546cc, 0x013cdd6f, 0x02ce6f88, 0x037f5cfd, 0x00107b8f, 0x0035cc52}}}, + {X: Field{[10]uint32{0x03d1ebad, 0x03e2e71a, 0x02657def, 0x022b3332, 0x00594f62, 0x02f8f1f1, 0x00e20913, 0x03b0d8ad, 0x00abd8e4, 0x002bb487}}, Y: Field{[10]uint32{0x037100f8, 0x03759cae, 0x01dfdf9c, 0x00158094, 0x02b880a2, 0x03d07515, 0x02de1ac2, 0x01ffeaa2, 0x02f3833c, 0x0003e003}}}, + {X: Field{[10]uint32{0x014bf405, 0x0337f6dc, 0x01f66e06, 0x032adb00, 0x029e0ba8, 0x032a5094, 0x011b877a, 0x026905ae, 0x00a9343a, 0x0011b79e}}, Y: Field{[10]uint32{0x014d2bcf, 0x027662fb, 0x00bf66c8, 0x021c237e, 0x0181f30b, 0x00646136, 0x02809c6f, 0x029cfb84, 0x02524f3e, 0x00305104}}}, + {X: Field{[10]uint32{0x00bd41bc, 0x000ed095, 0x02174a63, 0x02469d42, 0x03ba4b65, 0x0010ee66, 0x016ae193, 0x03a4c94d, 0x01b8ab82, 0x000a0cad}}, Y: Field{[10]uint32{0x00aba440, 0x0398fdcd, 0x0049e249, 0x0093d242, 0x01a82752, 0x032e19a5, 0x02ce5340, 0x03c5248f, 0x02033f59, 0x00300d8f}}}, + {X: Field{[10]uint32{0x03e43f9a, 0x017c3132, 0x007ff939, 0x00109cdb, 0x020d85bd, 0x003cdaf6, 0x00abe39b, 0x005885df, 0x01024b5c, 0x0016d5f1}}, Y: Field{[10]uint32{0x0120766c, 0x0032306f, 0x00c06853, 0x0131eb73, 0x01b282ed, 0x00d7613b, 0x03f57b9b, 0x0011cfc6, 0x0007dc0c, 0x00002109}}}, + {X: Field{[10]uint32{0x01c2f103, 0x0132ec70, 0x03af3dac, 0x0362a7b6, 0x00814c45, 0x025ad2a7, 0x01bf8211, 0x01d63a09, 0x02708063, 0x002ce136}}, Y: Field{[10]uint32{0x030fa325, 0x002fbf48, 0x02d13df3, 0x0056bcc3, 0x03aa2375, 0x0241d5fe, 0x03925965, 0x033101d3, 0x01df6400, 0x0039b998}}}, + {X: Field{[10]uint32{0x009a5e1c, 0x00031697, 0x008f8e73, 0x01c8057b, 0x0282a5b6, 0x0069519a, 0x00a5da96, 0x01122a6c, 0x0191563e, 0x000dbff6}}, Y: Field{[10]uint32{0x00bb961c, 0x03b625c0, 0x013b632a, 0x035812d4, 0x01d1a742, 0x0135c8a9, 0x01873208, 0x0351fa50, 0x0035fc17, 0x0025c19e}}}, + {X: Field{[10]uint32{0x0189d81c, 0x02acd2bb, 0x022e7f5a, 0x00b31b0d, 0x035b9d14, 0x00eb7361, 0x0260ecc3, 0x000d9f93, 0x005257c2, 0x0020d9f9}}, Y: Field{[10]uint32{0x008be121, 0x00efc665, 0x0327af1f, 0x0356ef73, 0x02b77ce2, 0x03d0e067, 0x00a9e74d, 0x02c9bb4e, 0x00903ffa, 0x003f1ffc}}}, + {X: Field{[10]uint32{0x00b0564b, 0x0225a6f7, 0x02d179c9, 0x02e752c6, 0x0004719f, 0x0048e196, 0x00539e24, 0x00a5bed0, 0x03e48cc9, 0x003db391}}, Y: Field{[10]uint32{0x03950e1c, 0x003582a1, 0x02a60093, 0x0019e002, 0x02b524a6, 0x033464ab, 0x01590175, 0x03702dbc, 0x036afe5e, 0x000da34a}}}, + {X: Field{[10]uint32{0x01fae013, 0x00769efe, 0x02ac6509, 0x01623fe7, 0x03194ccb, 0x01c95917, 0x03d20c2a, 0x029bc149, 0x03e4beda, 0x0010e308}}, Y: Field{[10]uint32{0x02ff15f8, 0x004c69a4, 0x00b456d6, 0x02ffe392, 0x03e28dc6, 0x01c8a884, 0x01c93b53, 0x02095f6f, 0x0230c721, 0x00151882}}}, + {X: Field{[10]uint32{0x02bee7bd, 0x02124b61, 0x03fbc84e, 0x02acbbb1, 0x03a1fa1d, 0x0176d405, 0x00e87228, 0x00d2fdeb, 0x02f8cc94, 0x00073d9c}}, Y: Field{[10]uint32{0x01cafdcc, 0x00d2f16d, 0x01018167, 0x0047891e, 0x018932b5, 0x01d9f3bf, 0x03cccedb, 0x03769655, 0x01258bb4, 0x0035b48f}}}, + {X: Field{[10]uint32{0x021a2861, 0x01688fcf, 0x00bf4432, 0x018e2bca, 0x01943052, 0x03dc557f, 0x01cd1574, 0x00a6d9ba, 0x0212b0fa, 0x0011d193}}, Y: Field{[10]uint32{0x02b05141, 0x02a19368, 0x01e5681d, 0x02c286c6, 0x03a2468d, 0x0121a6a0, 0x0166e808, 0x03d5997a, 0x01d53bcd, 0x00082690}}}, + {X: Field{[10]uint32{0x02a964a2, 0x0301d69a, 0x02ff8717, 0x008f82c0, 0x020c4ee2, 0x02efdceb, 0x0077a0a9, 0x0324139a, 0x03a1c884, 0x002a6b7e}}, Y: Field{[10]uint32{0x03f79dc8, 0x02b90120, 0x0236c6cf, 0x0282121e, 0x02b2d809, 0x03fad49f, 0x03371d4a, 0x030d71cf, 0x001da7bb, 0x002ac584}}}, + {X: Field{[10]uint32{0x018edcbe, 0x00071bf1, 0x03f97d31, 0x02b97d05, 0x01824421, 0x0167b3e5, 0x00983dd6, 0x000c496b, 0x02de1060, 0x000a4cbf}}, Y: Field{[10]uint32{0x0176d727, 0x01d508f7, 0x02176e10, 0x0385f210, 0x012df54f, 0x03d32c47, 0x0234fe06, 0x0055afcb, 0x0343e666, 0x00218069}}}, + {X: Field{[10]uint32{0x03a50216, 0x0359969c, 0x01df3e31, 0x00e79a62, 0x0064f9ba, 0x03fdd103, 0x02b62c58, 0x02b41080, 0x01282f87, 0x0016afd5}}, Y: Field{[10]uint32{0x01a1fabf, 0x01a4a541, 0x029c5d32, 0x015ca0b5, 0x00610b6f, 0x03b71738, 0x00a1b370, 0x0170080b, 0x0216f270, 0x001c7713}}}, + {X: Field{[10]uint32{0x0001843a, 0x02670f6a, 0x013ec573, 0x02f34902, 0x020f359c, 0x00b0b1f9, 0x0087fc28, 0x0072b506, 0x015d9a12, 0x00010652}}, Y: Field{[10]uint32{0x033e0c31, 0x014daabd, 0x009d2956, 0x01f3638e, 0x02d5e661, 0x00e641cc, 0x02fefc78, 0x01425046, 0x01974029, 0x002454b8}}}, + {X: Field{[10]uint32{0x01fbc3af, 0x016ade8a, 0x03eae416, 0x013889bd, 0x00a902bc, 0x02b2ec56, 0x027979a5, 0x039270f0, 0x0082ea2b, 0x003f28e1}}, Y: Field{[10]uint32{0x0346f5f4, 0x015a9b73, 0x0234f288, 0x01d5ec03, 0x01bad50a, 0x00a5b110, 0x0235f0f7, 0x00999242, 0x035e5fe6, 0x0004981c}}}, + {X: Field{[10]uint32{0x01065d06, 0x02bd1595, 0x02de14b7, 0x01023244, 0x02d499ec, 0x016f0eac, 0x02135305, 0x00da22b2, 0x01233d70, 0x002f3c14}}, Y: Field{[10]uint32{0x01fb8bf9, 0x032d97e9, 0x0271d5f5, 0x0245d9c3, 0x01c16d49, 0x00d15a21, 0x0084e63a, 0x01a42cd5, 0x03f10645, 0x003cc995}}}, + {X: Field{[10]uint32{0x029a92e1, 0x036292e3, 0x018e479d, 0x03128999, 0x0268bf6c, 0x017f25ac, 0x019cf74f, 0x02d092c5, 0x002f6391, 0x00139c2d}}, Y: Field{[10]uint32{0x013b3688, 0x02ccfdf9, 0x03d36591, 0x02c8ff93, 0x0266c595, 0x02db38d5, 0x0324fa44, 0x007019de, 0x00111af3, 0x0022e9e2}}}, + {X: Field{[10]uint32{0x0121742f, 0x0213c37a, 0x00e6e1be, 0x03ce2897, 0x013cdb83, 0x01d8a370, 0x013703ca, 0x0183ab08, 0x03d7331c, 0x000ffa14}}, Y: Field{[10]uint32{0x01dca5d6, 0x00c39517, 0x0076d0b2, 0x00966d81, 0x03f27b51, 0x003c9374, 0x01961540, 0x03704dbd, 0x0377c2c6, 0x003edf6e}}}, + {X: Field{[10]uint32{0x0248b9be, 0x0098d27d, 0x025f5ee7, 0x0208f33d, 0x01ca42f5, 0x013a5d90, 0x02aa8100, 0x03750028, 0x037fc3ca, 0x003600cd}}, Y: Field{[10]uint32{0x03d6fe99, 0x011c67a3, 0x02900d82, 0x00616b44, 0x00aeed21, 0x033044eb, 0x02b7fbfe, 0x02020152, 0x004f281a, 0x0018d5ee}}}, + {X: Field{[10]uint32{0x030bebe1, 0x001b2781, 0x03845941, 0x00535b62, 0x0290a051, 0x01fe97b4, 0x037128e7, 0x01c5880a, 0x007b6f9e, 0x001777f7}}, Y: Field{[10]uint32{0x01cd76ad, 0x0047b915, 0x021e9d59, 0x03644663, 0x02714b6d, 0x00740c19, 0x0274c81a, 0x03edefeb, 0x00edfa1e, 0x00008fab}}}, + {X: Field{[10]uint32{0x036f7dd5, 0x0133528e, 0x004115bc, 0x01bb5c85, 0x037913b4, 0x004b459e, 0x01353e6b, 0x02523fa4, 0x0243c964, 0x0017c540}}, Y: Field{[10]uint32{0x00af903f, 0x0375366e, 0x014e571c, 0x0336555d, 0x03b18147, 0x028d8313, 0x00991e2b, 0x03440805, 0x01497a2f, 0x000daaf2}}}, + {X: Field{[10]uint32{0x00942647, 0x01a6eb14, 0x00e14979, 0x00898551, 0x030539f0, 0x02c49fbf, 0x00cc89c2, 0x0110a5e9, 0x00975b0c, 0x00092d3f}}, Y: Field{[10]uint32{0x02b5c207, 0x00e895e7, 0x038f9a82, 0x00b290f2, 0x0311d96f, 0x000529de, 0x02f88819, 0x001f617e, 0x03df54ad, 0x002f4f8f}}}, + {X: Field{[10]uint32{0x002202e0, 0x03395739, 0x0276e1dc, 0x03aab987, 0x03f11b18, 0x02191061, 0x025ba2b2, 0x02d7f277, 0x03355556, 0x0028083a}}, Y: Field{[10]uint32{0x02639f66, 0x02416755, 0x0188027e, 0x01bafadc, 0x039765ac, 0x02a60b8a, 0x03667c00, 0x03d15c5a, 0x021f1ad2, 0x00269c7a}}}, + {X: Field{[10]uint32{0x01f37a68, 0x01abf6b8, 0x00a0f86f, 0x01e33356, 0x038a224c, 0x018711f8, 0x0131de59, 0x00fab181, 0x0064f717, 0x00182de4}}, Y: Field{[10]uint32{0x010786b7, 0x017ce312, 0x016decfc, 0x038d89c9, 0x013437e4, 0x022d529f, 0x01fcbaed, 0x01f5b5ae, 0x024cf6a4, 0x000eb412}}}, + {X: Field{[10]uint32{0x01f7d60b, 0x01edf8e8, 0x01685177, 0x02d74442, 0x03d2e233, 0x03238ff7, 0x002d9159, 0x0079512b, 0x01f2b57d, 0x0020d73c}}, Y: Field{[10]uint32{0x02a84b31, 0x017281fd, 0x01b16166, 0x0255f24a, 0x01a7112f, 0x03871b80, 0x03f77339, 0x036c4eee, 0x0135136e, 0x001f48f7}}}, + {X: Field{[10]uint32{0x037f77ed, 0x00e549e0, 0x00dcab1d, 0x0378c623, 0x03606cd7, 0x012cc66e, 0x021d8ade, 0x036b540b, 0x03501f1e, 0x003ebdd0}}, Y: Field{[10]uint32{0x0221bcc9, 0x0122f7ff, 0x0147616d, 0x006e15d4, 0x030fbcd1, 0x026deb3f, 0x01a0fa03, 0x0160392e, 0x00bdbffb, 0x0036efac}}}, + {X: Field{[10]uint32{0x012de938, 0x02775dc3, 0x027620a3, 0x02974eca, 0x01044091, 0x004849c7, 0x03f74edf, 0x02eb88f9, 0x03c3e072, 0x000e5b1b}}, Y: Field{[10]uint32{0x026fa667, 0x027458b7, 0x024799e9, 0x01dbd1aa, 0x029fb0e0, 0x01ae3d53, 0x00499409, 0x01513533, 0x02f8a143, 0x00177948}}}, + {X: Field{[10]uint32{0x0144ab88, 0x0051fb83, 0x03684881, 0x0170790e, 0x00ae8e60, 0x0023bc83, 0x02622f80, 0x03cb2870, 0x0140ad8d, 0x0003e2ae}}, Y: Field{[10]uint32{0x01bff796, 0x00f9c377, 0x011e0406, 0x03d4cf91, 0x01630d28, 0x0201310a, 0x0057163f, 0x009f3b26, 0x0281fa74, 0x00267f94}}}, + {X: Field{[10]uint32{0x01772367, 0x0106d1af, 0x01e78758, 0x01325640, 0x008197af, 0x020a70dd, 0x0122219a, 0x03fff078, 0x0068af6d, 0x0029880a}}, Y: Field{[10]uint32{0x01e9af45, 0x03deeac1, 0x00e4d145, 0x031360ec, 0x03fe9c4f, 0x0235a363, 0x0254eb6f, 0x0127053e, 0x020bc82a, 0x000981e8}}}, + {X: Field{[10]uint32{0x0067e41e, 0x0312611c, 0x02bda4d7, 0x017edda8, 0x00cfbced, 0x00e93f6f, 0x03644842, 0x02185a41, 0x019349a9, 0x002c4b46}}, Y: Field{[10]uint32{0x02d75e31, 0x0270cf70, 0x037ec009, 0x0155c006, 0x0173fdd5, 0x01c05112, 0x0045eb3f, 0x022ac4a4, 0x00e0ac6c, 0x00299b75}}}, + {X: Field{[10]uint32{0x01eb3b3c, 0x01ef7085, 0x01c64fd6, 0x00d17372, 0x009ae0a7, 0x0064e0c1, 0x00d3b97b, 0x003d7f1b, 0x0355b499, 0x00023723}}, Y: Field{[10]uint32{0x01435d83, 0x01044679, 0x002f5fa6, 0x00e3211f, 0x02c00ce4, 0x021c8bd2, 0x0354cc38, 0x023f632e, 0x017d62cc, 0x0006f9d1}}}, + {X: Field{[10]uint32{0x018feeec, 0x03586719, 0x0053b1b6, 0x00f6b743, 0x01f12864, 0x018d47d9, 0x0121c4b3, 0x02792df5, 0x0337d1db, 0x000b02dc}}, Y: Field{[10]uint32{0x039bad53, 0x0264016c, 0x02d9ad8b, 0x0254ec20, 0x01ef765b, 0x001f3b85, 0x03dae62c, 0x004867de, 0x039ceb7c, 0x003a289e}}}, + {X: Field{[10]uint32{0x023bab35, 0x001b24f6, 0x00d0e66d, 0x024aed7c, 0x02b17ad6, 0x009052ac, 0x00a0d1d2, 0x001a2692, 0x00a25010, 0x002247ed}}, Y: Field{[10]uint32{0x027260f6, 0x014f8903, 0x00c7c0cb, 0x00399869, 0x0052d06c, 0x00d1fcf2, 0x013c03bc, 0x00f04efa, 0x0166cdf4, 0x00105a14}}}, + {X: Field{[10]uint32{0x01ca1738, 0x027b4eda, 0x03b02ed9, 0x02d87d6e, 0x0039fbcc, 0x0399a3bc, 0x0213729d, 0x01103f9c, 0x01b1511c, 0x00128cde}}, Y: Field{[10]uint32{0x03ac0f6f, 0x00519328, 0x02b0039d, 0x000f505c, 0x0017b3bf, 0x02d133a2, 0x01d75eed, 0x006476a2, 0x01c239e9, 0x002c4a8f}}}, + {X: Field{[10]uint32{0x03815521, 0x01c18697, 0x000d22c5, 0x00f0721e, 0x017dc58e, 0x00efe359, 0x01a360f8, 0x01afe98b, 0x03c85493, 0x002e2ca9}}, Y: Field{[10]uint32{0x02a2d15b, 0x0168f57d, 0x03021c06, 0x00b05f0a, 0x021cd441, 0x014aa26e, 0x02c70012, 0x00d8b096, 0x000b7719, 0x0023e48b}}}, + {X: Field{[10]uint32{0x039624fb, 0x024491f6, 0x03a7ff01, 0x02d88b25, 0x002fb56a, 0x01f3dcea, 0x029341d7, 0x014b941e, 0x0219d1dc, 0x002419bf}}, Y: Field{[10]uint32{0x011baf50, 0x00f9f51c, 0x00896215, 0x02f02aef, 0x00c281f5, 0x02d9e269, 0x01d4929e, 0x0315d760, 0x03436ec3, 0x0008f466}}}, + {X: Field{[10]uint32{0x00ced8ec, 0x00d35d5f, 0x017c2b05, 0x0379b99d, 0x029f32c8, 0x02d6dcfb, 0x01a18df2, 0x03a6c728, 0x014c19c9, 0x002fe6ac}}, Y: Field{[10]uint32{0x029759c0, 0x007c5d03, 0x011dd048, 0x01d756f2, 0x0385e793, 0x00de8ebd, 0x02724188, 0x018f782a, 0x01233c38, 0x003b25a6}}}, + {X: Field{[10]uint32{0x016f9d03, 0x01978d4c, 0x031af102, 0x021ba216, 0x0378c656, 0x023adeab, 0x01b7e69e, 0x01280889, 0x006f9c65, 0x001a2c9a}}, Y: Field{[10]uint32{0x014da9c3, 0x012e06fc, 0x0019af28, 0x035bd3dd, 0x03b6b407, 0x00e49caa, 0x014d4077, 0x009af615, 0x01048468, 0x00074f5d}}}, + {X: Field{[10]uint32{0x010bf2fa, 0x009c00dc, 0x01a7de04, 0x01a6fdef, 0x024d3bf6, 0x00b27cda, 0x00989d39, 0x02886a53, 0x03855251, 0x00083720}}, Y: Field{[10]uint32{0x01aa749f, 0x01d83c25, 0x0224a974, 0x0251588f, 0x03975d67, 0x0182321d, 0x0080c4b3, 0x00ca7fe4, 0x02ff713d, 0x000085f9}}}, + {X: Field{[10]uint32{0x01fd0368, 0x026872ad, 0x01568168, 0x011a6a1d, 0x025c822e, 0x03164612, 0x01859bf8, 0x0266328e, 0x009b555d, 0x003c2fad}}, Y: Field{[10]uint32{0x02664aac, 0x0022d01c, 0x032f53bd, 0x03c05830, 0x002e8ff7, 0x029d74fd, 0x033b3b30, 0x037e52e8, 0x02e7a23d, 0x00383816}}}, + {X: Field{[10]uint32{0x00a0ee57, 0x0168ed71, 0x022cfaab, 0x032b7229, 0x0016ddc1, 0x00b3d311, 0x01ad8abf, 0x03e7ae90, 0x0173270f, 0x0023c6aa}}, Y: Field{[10]uint32{0x015920ec, 0x038c2996, 0x00a87071, 0x02c0ae68, 0x002bd6bb, 0x00bdbae8, 0x02a441f1, 0x026c5ea1, 0x0260e340, 0x00242a8d}}}, + {X: Field{[10]uint32{0x028a9957, 0x0208a0e4, 0x01dfb413, 0x02a02ab2, 0x00fecd43, 0x024d2e20, 0x00ca847a, 0x03051d83, 0x0135278d, 0x0031c7ac}}, Y: Field{[10]uint32{0x02003804, 0x021c57ad, 0x03299a9d, 0x0311f9c6, 0x0351d23a, 0x03b31fdb, 0x0307ad5d, 0x0206e224, 0x03774852, 0x0010599f}}}, + {X: Field{[10]uint32{0x02c41c81, 0x03b5946f, 0x01180b0f, 0x00f6ee87, 0x00fa904d, 0x01259717, 0x0109df5d, 0x01aa7cdf, 0x026e50d6, 0x003a401c}}, Y: Field{[10]uint32{0x01028e39, 0x0317c25c, 0x01d5a921, 0x0095e1ba, 0x03117f77, 0x0371f5ec, 0x00e64f2c, 0x01bd02cd, 0x0230db03, 0x0035482a}}}, + {X: Field{[10]uint32{0x0123fa38, 0x0398ed80, 0x00c3beda, 0x035d3e1f, 0x0258d72d, 0x0083bf79, 0x03a6d6b7, 0x014aa6e8, 0x00afa159, 0x002502ac}}, Y: Field{[10]uint32{0x03bfcbcd, 0x01974a3c, 0x00702f87, 0x03c14f10, 0x016e5061, 0x012445b8, 0x01e443aa, 0x022866e1, 0x03476f78, 0x003fb1b5}}}, + {X: Field{[10]uint32{0x00c76949, 0x00b9c32a, 0x006be8b6, 0x01a81903, 0x02a03ba4, 0x004b1739, 0x033ce9d4, 0x02619937, 0x026d643e, 0x002684f7}}, Y: Field{[10]uint32{0x0126dd5e, 0x000e54da, 0x02499061, 0x00c0bada, 0x01a46016, 0x02f1b2f2, 0x00c914d4, 0x02361e2d, 0x02966c2d, 0x00108e20}}}, + {X: Field{[10]uint32{0x02c577c3, 0x03e0ee9d, 0x01d6f256, 0x0176f782, 0x01b76d6a, 0x035fd8ba, 0x006b1497, 0x00a7652a, 0x01b2b311, 0x0010e10a}}, Y: Field{[10]uint32{0x00bc1c7d, 0x013e4c97, 0x006cd2e4, 0x0261f11b, 0x03b2398e, 0x03a0cef6, 0x03cb600b, 0x026f86cc, 0x0186a722, 0x00390d80}}}, + {X: Field{[10]uint32{0x02d02605, 0x019df1a5, 0x00f018c1, 0x02f9a8ea, 0x03c8bb59, 0x010c03a5, 0x007b524e, 0x01cb97eb, 0x025d66d4, 0x000fd8ec}}, Y: Field{[10]uint32{0x00ca39dd, 0x0257ced4, 0x0249d44c, 0x028bef7d, 0x01d9971a, 0x033fcb1a, 0x0119bbe5, 0x006734af, 0x0042158e, 0x0001161c}}}, + {X: Field{[10]uint32{0x038cc0c5, 0x00d716ae, 0x013d1e17, 0x03b5b3ef, 0x0047afe5, 0x0237b7bc, 0x004f90b9, 0x0294828e, 0x01f717c7, 0x0001987f}}, Y: Field{[10]uint32{0x01a80abd, 0x01c0a4df, 0x02549d99, 0x00cec765, 0x03b83b74, 0x014be083, 0x012f00ea, 0x00386496, 0x003ab43c, 0x002f6689}}}, + {X: Field{[10]uint32{0x02b951ce, 0x0317e256, 0x018cc279, 0x01f1d6f1, 0x000c999d, 0x03a8b532, 0x0027c367, 0x01abdf43, 0x0326daac, 0x002e706e}}, Y: Field{[10]uint32{0x03140f4e, 0x02e1fac6, 0x0138a767, 0x01eed632, 0x01b872d1, 0x03b575fc, 0x026c5b2e, 0x021aedf1, 0x0334a42b, 0x002934ef}}}, + {X: Field{[10]uint32{0x0127e8fa, 0x006fe82c, 0x010999b1, 0x03b2ead7, 0x017d9b23, 0x03bf4aee, 0x02af4733, 0x03676142, 0x00a0fc6c, 0x0033d6b1}}, Y: Field{[10]uint32{0x011070ec, 0x03c5817e, 0x002872ca, 0x01dff521, 0x01ad465d, 0x0298b2bd, 0x03a94fe3, 0x005c601f, 0x0316c37f, 0x00112498}}}, + {X: Field{[10]uint32{0x02b3b422, 0x02191c6f, 0x01b7413c, 0x0286cf0a, 0x03749caa, 0x03c28d3e, 0x0082c57f, 0x028cb8ee, 0x02afab8d, 0x002a94ac}}, Y: Field{[10]uint32{0x000859ce, 0x038fb303, 0x00244ac4, 0x02105b18, 0x03733260, 0x00c8094b, 0x028df35e, 0x0396546d, 0x03284a7b, 0x0012d589}}}, + {X: Field{[10]uint32{0x0068211c, 0x01fc60d2, 0x0217ad34, 0x0159e61c, 0x007926b0, 0x011a25af, 0x032909c5, 0x002342a7, 0x022eb3aa, 0x0001843c}}, Y: Field{[10]uint32{0x0019e6bb, 0x030d5492, 0x006eac1b, 0x01ef09dd, 0x012dbf63, 0x019bb68f, 0x01571e61, 0x0312cc06, 0x010df35f, 0x00294b86}}}, + {X: Field{[10]uint32{0x011a6d80, 0x00f30d31, 0x03b44acc, 0x01690997, 0x02db65f1, 0x025449e5, 0x00543307, 0x02963381, 0x00c3a485, 0x00004fc9}}, Y: Field{[10]uint32{0x03f3bc3b, 0x01261301, 0x02e611a4, 0x01b6c93e, 0x020f0797, 0x03e01cd9, 0x01c4327c, 0x01a7fcf3, 0x03b618e0, 0x003eb32f}}}, + {X: Field{[10]uint32{0x00eb0f24, 0x02176768, 0x02bdf922, 0x03ed0573, 0x01caeb18, 0x008b16a1, 0x00112e69, 0x026ca72c, 0x02a84927, 0x000573af}}, Y: Field{[10]uint32{0x0075d833, 0x03a27e38, 0x00d05821, 0x014a3430, 0x01c36de4, 0x029dec70, 0x01af7ed4, 0x03e6f54e, 0x00fe158f, 0x0008f973}}}, + {X: Field{[10]uint32{0x004d97f6, 0x03721c80, 0x029a55f2, 0x032025bc, 0x02cf92e0, 0x00093586, 0x001b1d60, 0x014d9f71, 0x018efb7d, 0x00098168}}, Y: Field{[10]uint32{0x0266d375, 0x012f5417, 0x022f4f94, 0x0132500b, 0x02fd6d67, 0x002b5bf4, 0x018ae518, 0x02dfb371, 0x0374f111, 0x00235a99}}}, + {X: Field{[10]uint32{0x027f9995, 0x002c172f, 0x0356c33d, 0x004cda52, 0x0225cd05, 0x00d6cd8a, 0x0236d6cd, 0x015bcdfe, 0x0272a787, 0x00396238}}, Y: Field{[10]uint32{0x0072fbb7, 0x015bff55, 0x0191766e, 0x0300341c, 0x02115425, 0x0348f94f, 0x00715c6a, 0x010a5a6e, 0x018320b8, 0x00056fae}}}, + {X: Field{[10]uint32{0x016b46a5, 0x021d436f, 0x00b6ccb9, 0x00e64d16, 0x023a02cc, 0x03de729f, 0x03205cb0, 0x03b716da, 0x0122f264, 0x002000c9}}, Y: Field{[10]uint32{0x011a44a8, 0x01c60ee1, 0x01043bca, 0x03a3530f, 0x02fd2c1d, 0x02aa5c97, 0x038b93b5, 0x007aea63, 0x02f4fb4e, 0x0011e724}}}, + {X: Field{[10]uint32{0x0241bfaa, 0x01a8be85, 0x013f3c16, 0x02dfe45b, 0x0394b525, 0x0084a1f9, 0x0101308a, 0x0206d5c1, 0x000ee1a5, 0x00254301}}, Y: Field{[10]uint32{0x0338ea71, 0x03bc76ed, 0x01a751e4, 0x022370e1, 0x0252441a, 0x01d808de, 0x0171725f, 0x01c29a7c, 0x020e911d, 0x00390f6c}}}, + {X: Field{[10]uint32{0x02c391fa, 0x015402a1, 0x018759db, 0x02f8a0b7, 0x01a634b9, 0x02e2f03d, 0x030aecad, 0x03b95cb9, 0x0336423f, 0x003a267f}}, Y: Field{[10]uint32{0x003a9bd1, 0x01231f2d, 0x02790a02, 0x02432c62, 0x01886117, 0x03e1ea44, 0x03100340, 0x02da3899, 0x03b0dfe6, 0x0001fb65}}}, + {X: Field{[10]uint32{0x00a1a51b, 0x00a972f6, 0x0045e833, 0x034a715e, 0x006a7415, 0x01b867ee, 0x00ce5c76, 0x01adea3e, 0x008f0c20, 0x00348d9a}}, Y: Field{[10]uint32{0x016ec9e9, 0x00170b19, 0x01113adb, 0x021d5486, 0x01d50988, 0x0060ed49, 0x02d65085, 0x012983f9, 0x019fe3d5, 0x001cbc8d}}}, + {X: Field{[10]uint32{0x019dcccf, 0x038be884, 0x0286ae94, 0x017f7709, 0x01430eab, 0x01718a3d, 0x02458c58, 0x00bc920f, 0x0071da4b, 0x00234f5f}}, Y: Field{[10]uint32{0x0361178f, 0x01e3d607, 0x00aad827, 0x000c7d65, 0x021f435c, 0x0191ffc7, 0x039c22ad, 0x03c832f5, 0x00e47948, 0x000cf102}}}, + {X: Field{[10]uint32{0x032651a9, 0x01ff66ed, 0x028a587d, 0x01431585, 0x03fee4b7, 0x034418fe, 0x02542ba5, 0x02066546, 0x037ae891, 0x000c83c4}}, Y: Field{[10]uint32{0x03c402c5, 0x016f3cf4, 0x02232679, 0x0262a317, 0x03086036, 0x014efc00, 0x0275a021, 0x0387bcc8, 0x006ae2a4, 0x002e1015}}}, + {X: Field{[10]uint32{0x0081352c, 0x015df186, 0x020de8ce, 0x01fe691b, 0x027546c8, 0x03519006, 0x01686072, 0x02c967d1, 0x03ce3fe6, 0x0027a2bf}}, Y: Field{[10]uint32{0x029d02f1, 0x01def530, 0x00f9273e, 0x03db14fb, 0x01af8639, 0x01c8d949, 0x00ebaf09, 0x01fdf098, 0x0301d83b, 0x00343a8d}}}, + {X: Field{[10]uint32{0x021eef64, 0x031cacf1, 0x03f539be, 0x03d26b4a, 0x03daf70f, 0x0090487b, 0x03c915ea, 0x00e61ca4, 0x01b81d35, 0x00177d19}}, Y: Field{[10]uint32{0x01e690af, 0x01069eb5, 0x03e54385, 0x01f3ccf0, 0x038b3804, 0x003d1820, 0x00c193d4, 0x03210416, 0x01ff5ae4, 0x000c81b1}}}, + {X: Field{[10]uint32{0x02f28f58, 0x01197523, 0x0064d6e1, 0x00e621a8, 0x011312bb, 0x009ae8f1, 0x0061d488, 0x00d42fd2, 0x0326a18c, 0x00266734}}, Y: Field{[10]uint32{0x00b1ef12, 0x02244772, 0x00b0dd41, 0x02c2fa21, 0x00a9fcea, 0x02554582, 0x018e6629, 0x0337d9e6, 0x032ad6dc, 0x000b362a}}}, + {X: Field{[10]uint32{0x03ce163b, 0x02c09ada, 0x034cdc0a, 0x019d1d86, 0x03479a66, 0x01551832, 0x02ba6f42, 0x02705be8, 0x00ee574d, 0x0020763f}}, Y: Field{[10]uint32{0x00673143, 0x02d2b166, 0x00ca638c, 0x03f3f5f2, 0x003cf771, 0x0169a605, 0x039a996f, 0x01e9a8ed, 0x0334f589, 0x0016539f}}}, + {X: Field{[10]uint32{0x0096d278, 0x01b610f4, 0x020dd4da, 0x027b254e, 0x0385839c, 0x01be1460, 0x032b42d5, 0x01cefbe4, 0x0324b9ac, 0x0027a0f5}}, Y: Field{[10]uint32{0x00c88869, 0x03e9788c, 0x01689a1a, 0x00029287, 0x0100d3a0, 0x03125bb1, 0x02fda95a, 0x016b2e27, 0x00abfed0, 0x003e2c63}}}, + {X: Field{[10]uint32{0x02320c3e, 0x0244510f, 0x0231764f, 0x00ecd6ea, 0x01908ec3, 0x00ecb640, 0x00b1f647, 0x00f022bb, 0x00b13b44, 0x00262e8e}}, Y: Field{[10]uint32{0x0399b84f, 0x0075808f, 0x020a44df, 0x01e8d0d2, 0x010d8ece, 0x01bd0bd2, 0x012f972e, 0x00cbefd7, 0x01d7fc22, 0x000d0fd8}}}, + {X: Field{[10]uint32{0x02a875ec, 0x00120194, 0x01285de7, 0x01ef9b0d, 0x01582244, 0x03a5c19c, 0x03a94886, 0x017bb169, 0x025a9adf, 0x000824ba}}, Y: Field{[10]uint32{0x024e7f35, 0x02b71efa, 0x0228f304, 0x03099650, 0x0195a7e9, 0x00985998, 0x00facc8e, 0x009c8aa5, 0x02eb5238, 0x00377edc}}}, + {X: Field{[10]uint32{0x02eeb75a, 0x00c13080, 0x01e765b9, 0x00e65687, 0x00c044c6, 0x02f25d04, 0x037bce4e, 0x02817ab1, 0x009a8f45, 0x003e7ba4}}, Y: Field{[10]uint32{0x0301705e, 0x03b93b84, 0x01d51a41, 0x034df8ba, 0x023a39c0, 0x02babc4f, 0x03e50fd2, 0x02c3a11c, 0x01ba93f5, 0x0021840c}}}, + {X: Field{[10]uint32{0x01df101c, 0x03394d4d, 0x00603c75, 0x009f18fa, 0x015c676e, 0x03baa6fe, 0x002dfc02, 0x0169f2cd, 0x00e23bc5, 0x00284e1e}}, Y: Field{[10]uint32{0x03108427, 0x03ffe09e, 0x02ed001b, 0x0214d71c, 0x02233f05, 0x034fa069, 0x02a2f833, 0x02c24424, 0x02d03d4b, 0x000d7033}}}, + {X: Field{[10]uint32{0x004ae3e4, 0x01ec6d84, 0x0065d34f, 0x03e0e9c6, 0x03b863a7, 0x02760300, 0x004cfce0, 0x037f61ca, 0x01d2cd32, 0x003a3b20}}, Y: Field{[10]uint32{0x0017648b, 0x009c89c1, 0x01e4ec6e, 0x03a2c219, 0x011d24c4, 0x0145eff2, 0x032b01af, 0x0375ffd4, 0x0377ee12, 0x00182fa6}}}, + {X: Field{[10]uint32{0x00f35b60, 0x00ae2607, 0x0297a664, 0x0261a6e6, 0x00d48e98, 0x013818e4, 0x030b18fe, 0x03710cd1, 0x02551529, 0x003c1f2c}}, Y: Field{[10]uint32{0x0223b550, 0x00a5e9b0, 0x03d2b0a3, 0x00856544, 0x01c6e854, 0x0388d56a, 0x034b9412, 0x018cf566, 0x03776d74, 0x002f51ba}}}, + {X: Field{[10]uint32{0x02af7f51, 0x022136ae, 0x03dd82fe, 0x00fcbcb2, 0x0242becd, 0x02982e0d, 0x03189ae0, 0x02a7c2a5, 0x0023dcfd, 0x000e6f39}}, Y: Field{[10]uint32{0x022c8e4d, 0x01e2ec7a, 0x01a2b2db, 0x03a0525e, 0x01f3430b, 0x00c0fb24, 0x00903127, 0x008679d1, 0x00aa4b71, 0x00305667}}}, + {X: Field{[10]uint32{0x029ad3cf, 0x03f44147, 0x00ec80e0, 0x019f3cb6, 0x0358142f, 0x00f2793f, 0x033de211, 0x02e05062, 0x01cbd51d, 0x001b6984}}, Y: Field{[10]uint32{0x001e4b7f, 0x01e3fcc1, 0x00d704d1, 0x01a0b867, 0x02f7fe55, 0x02c0d203, 0x03d494eb, 0x03d953f6, 0x00483250, 0x001af0bc}}}, + {X: Field{[10]uint32{0x031aed8a, 0x0327eee2, 0x00c709a3, 0x011de51c, 0x01f4e13a, 0x029fa571, 0x00a5e8ef, 0x003ae629, 0x00038d2e, 0x0033b6e7}}, Y: Field{[10]uint32{0x019a0d40, 0x01ab5361, 0x028feeca, 0x0297dfd7, 0x0046804f, 0x034213d0, 0x00d5d56e, 0x0362f208, 0x0131de42, 0x001e68bf}}}, + {X: Field{[10]uint32{0x01ae3d82, 0x01e841c1, 0x02d8a3a0, 0x02134037, 0x0225393f, 0x01b107f9, 0x0340458f, 0x001b40cb, 0x00986d11, 0x001f6255}}, Y: Field{[10]uint32{0x026d0d61, 0x03561a86, 0x01866ee7, 0x030ac842, 0x02edd110, 0x0382b783, 0x02a117c7, 0x01652d86, 0x02cfff1c, 0x001753ed}}}, + {X: Field{[10]uint32{0x03dc3df7, 0x000310f5, 0x01aa175a, 0x01431ba7, 0x00851aaf, 0x00fb3b18, 0x01e26069, 0x010ebfac, 0x01627370, 0x00293ca4}}, Y: Field{[10]uint32{0x039c4439, 0x009a0871, 0x00846b27, 0x01ef118a, 0x0392265d, 0x0116abb4, 0x03abb201, 0x012c54e3, 0x00e8fb76, 0x002fbaff}}}, + {X: Field{[10]uint32{0x011cab70, 0x0058bc3e, 0x000a29cb, 0x01959a03, 0x00e0ba81, 0x01a26ef3, 0x00ce964e, 0x032c23b0, 0x01acde4c, 0x002d8e27}}, Y: Field{[10]uint32{0x00303529, 0x00103294, 0x02cdd679, 0x029fbbf6, 0x039ee836, 0x0238c7f9, 0x032826d2, 0x0091d05e, 0x03dbd2d0, 0x00391031}}}, + {X: Field{[10]uint32{0x02fcc9e1, 0x022bbefd, 0x00b4927b, 0x005a6673, 0x01ae4ee0, 0x03bbcdfd, 0x00ac2d6a, 0x030dbe5e, 0x01acf752, 0x001cb39b}}, Y: Field{[10]uint32{0x039bbca6, 0x017c43b5, 0x03bc67c4, 0x03379e5a, 0x028ad38a, 0x0380409f, 0x00c6d4d5, 0x01100f58, 0x0297bbd8, 0x00339ab0}}}, + {X: Field{[10]uint32{0x00255f06, 0x004e119b, 0x0117531b, 0x02b43e2b, 0x014fb3e5, 0x01af1430, 0x00931faa, 0x01096958, 0x036fcfd7, 0x003beb4c}}, Y: Field{[10]uint32{0x015a82c0, 0x008ba3f8, 0x0203b2b4, 0x00251064, 0x039eab6b, 0x00605c58, 0x03ab5597, 0x026847b1, 0x00f4eeee, 0x000fede1}}}, + {X: Field{[10]uint32{0x034eaae3, 0x0177ac80, 0x0349c289, 0x01b3ce0a, 0x0322002c, 0x00e4f295, 0x034bd1f0, 0x008599f1, 0x022d04bb, 0x003e6352}}, Y: Field{[10]uint32{0x016fd148, 0x01b3116d, 0x0269e9a3, 0x022b59a7, 0x0297a26f, 0x01851f2e, 0x0350763c, 0x01e2a0d1, 0x031f7e37, 0x00261d78}}}, + {X: Field{[10]uint32{0x0134183f, 0x02251832, 0x02eafb0b, 0x0079961d, 0x012b0d16, 0x02b04fb4, 0x01eea342, 0x0108ccb1, 0x034d2bc2, 0x001da33d}}, Y: Field{[10]uint32{0x02fdc34e, 0x0003e9e8, 0x022654ba, 0x00cb9cb9, 0x00af083b, 0x0341a954, 0x02e9f72d, 0x0135ebe1, 0x0207e55b, 0x00108cdd}}}, + {X: Field{[10]uint32{0x01beff7b, 0x0049d369, 0x01c59979, 0x01b88949, 0x03d34cfb, 0x02a45b42, 0x01ec27aa, 0x03189645, 0x03b01d05, 0x002b09bc}}, Y: Field{[10]uint32{0x014f4045, 0x033b37fa, 0x0254a42f, 0x01dae2f7, 0x01a30055, 0x03afac66, 0x0113bcb1, 0x005a0746, 0x00ac89b6, 0x0038d9d8}}}, + {X: Field{[10]uint32{0x0374fbac, 0x0263cd07, 0x01285212, 0x00368234, 0x02fcd905, 0x02c10a8e, 0x025045e1, 0x002f8b99, 0x0181741a, 0x0036b750}}, Y: Field{[10]uint32{0x00a84f60, 0x01b80339, 0x0002b805, 0x02f2a40a, 0x03f6a4df, 0x018d5d39, 0x01e4e2c8, 0x03741098, 0x03e0da78, 0x001b3d1b}}}, + {X: Field{[10]uint32{0x0286a3e8, 0x0342ae46, 0x00f82a6f, 0x03aa46a2, 0x032c4e1e, 0x010fc6dc, 0x03139ed1, 0x01aa18be, 0x0198ce9e, 0x00395945}}, Y: Field{[10]uint32{0x01f1ac98, 0x03bf6cbc, 0x0221a9e9, 0x022b55a6, 0x000770fd, 0x03d357db, 0x01723d8f, 0x01b04042, 0x033669ab, 0x002ed084}}}, + {X: Field{[10]uint32{0x030f5b02, 0x03922b89, 0x03d65de9, 0x02dc3730, 0x032d47a2, 0x0007b8ea, 0x0369b454, 0x03d658e6, 0x011eb4f0, 0x003c9bde}}, Y: Field{[10]uint32{0x030ff699, 0x026f02d1, 0x004fbe1a, 0x02458cea, 0x002693c5, 0x02915d5f, 0x003c799e, 0x02efc946, 0x03251fe5, 0x0008b8d2}}}, + {X: Field{[10]uint32{0x023da9da, 0x0379a398, 0x018ac19f, 0x008a76de, 0x032d2bec, 0x02137628, 0x01da048a, 0x00bd21ea, 0x010b9561, 0x0029433c}}, Y: Field{[10]uint32{0x03dcc576, 0x020554c2, 0x02888e4c, 0x033730f7, 0x00ce345e, 0x03358166, 0x039f9f47, 0x02899076, 0x013c0a76, 0x0014041f}}}, + {X: Field{[10]uint32{0x0245c13c, 0x025fc6c2, 0x00c10a11, 0x02ad7b17, 0x03e917e5, 0x0205f2e6, 0x0386a5c1, 0x01b06f57, 0x03b90273, 0x0031d220}}, Y: Field{[10]uint32{0x008beedc, 0x03d2f44b, 0x0232e847, 0x01570ade, 0x01d1c2bd, 0x003a89d6, 0x013e73b6, 0x00f3fc35, 0x03bce739, 0x00380f10}}}, + {X: Field{[10]uint32{0x01e1c0a9, 0x03fa0002, 0x02e9c98d, 0x02937400, 0x01be7cad, 0x00a78b23, 0x005c00f6, 0x03b622ec, 0x03d01741, 0x00028d0d}}, Y: Field{[10]uint32{0x007bca1c, 0x0181c4e1, 0x01c9ed21, 0x019c2ed0, 0x00fc268e, 0x0134fbbe, 0x01a00afa, 0x032af47f, 0x005a257f, 0x002989f8}}}, + {X: Field{[10]uint32{0x01c8312d, 0x027fe8e6, 0x03093832, 0x01dc128f, 0x0090c00c, 0x00c1a1bf, 0x018ba895, 0x02ead37a, 0x0188f179, 0x0029b312}}, Y: Field{[10]uint32{0x0170b6df, 0x03fd1d67, 0x01643712, 0x03bd3d84, 0x01bbba86, 0x004d191c, 0x03cad7c1, 0x0169e4a6, 0x00737db2, 0x003d3ae9}}}, + {X: Field{[10]uint32{0x00b84dbe, 0x0286b29c, 0x02f2400d, 0x020c4e4d, 0x039e6801, 0x03286af8, 0x03330776, 0x02355ecc, 0x00a8f577, 0x0003becd}}, Y: Field{[10]uint32{0x03428d3f, 0x00a61e1f, 0x025952f0, 0x0328526c, 0x027e5845, 0x019d4dae, 0x00878e71, 0x03ea60c8, 0x016efc53, 0x002a5288}}}, + {X: Field{[10]uint32{0x00dfa07a, 0x017ef5bf, 0x01a94a2c, 0x02e0fe91, 0x03019ec3, 0x021fee6a, 0x03914ef4, 0x039aeec8, 0x02d81385, 0x0004e611}}, Y: Field{[10]uint32{0x00fce099, 0x0132f1ab, 0x02aa09c3, 0x02cba325, 0x0362d837, 0x0237f682, 0x01f6aff2, 0x004336a6, 0x004e599b, 0x0013edf3}}}, + {X: Field{[10]uint32{0x01f2a101, 0x02336aeb, 0x01bb7a53, 0x00284ca6, 0x0249c209, 0x02d4fa98, 0x01f6eeaa, 0x0159ea0f, 0x03af98ba, 0x00198248}}, Y: Field{[10]uint32{0x0094bd29, 0x003c3623, 0x0078d446, 0x021a5c55, 0x00ee2a56, 0x0118bd10, 0x01890ee8, 0x025c89a6, 0x00cab1a2, 0x002ca2d6}}}, + {X: Field{[10]uint32{0x012be3c6, 0x000e243d, 0x01a98d3e, 0x03430772, 0x02d2f86b, 0x00698d16, 0x0389d31f, 0x005f78fc, 0x02b58c75, 0x003c6024}}, Y: Field{[10]uint32{0x00f9c906, 0x02a6bf5a, 0x006d07e8, 0x018ca8db, 0x00440ca7, 0x00ec0c87, 0x00276973, 0x013b5df7, 0x02049148, 0x002a0f9e}}}, + {X: Field{[10]uint32{0x01d0ab75, 0x03844e20, 0x03f74bfe, 0x019d9233, 0x017b7004, 0x02d7eca5, 0x026a6e25, 0x01503ce2, 0x020d1b2c, 0x003a342a}}, Y: Field{[10]uint32{0x0314409a, 0x02ee2af4, 0x016e9f19, 0x032ffaa9, 0x021abfc0, 0x022a0260, 0x00c3f298, 0x01706f43, 0x03be5205, 0x0028c932}}}, + {X: Field{[10]uint32{0x03526c1a, 0x00b7f11b, 0x025f3c7d, 0x00b540c0, 0x021d8ee7, 0x007dd18f, 0x01613df5, 0x001d0c3e, 0x00c0230a, 0x000961a8}}, Y: Field{[10]uint32{0x0016c735, 0x000eb026, 0x02653ede, 0x02891d01, 0x03ce9b1d, 0x02143d70, 0x007b4694, 0x011c350f, 0x01a1eb2b, 0x0028a5cd}}}, + {X: Field{[10]uint32{0x037dffd8, 0x032ad099, 0x00e48a12, 0x015390b0, 0x018be682, 0x0375f23d, 0x01bb2d27, 0x01b51b0c, 0x02888d82, 0x00085f3e}}, Y: Field{[10]uint32{0x001ac4ce, 0x025adab0, 0x031a006d, 0x015fd204, 0x0134179c, 0x02be477b, 0x01f99017, 0x03ec540d, 0x00309ff0, 0x00135767}}}, + {X: Field{[10]uint32{0x02edf4c0, 0x00e8d4c6, 0x03ccb820, 0x02fc4035, 0x03943af3, 0x00df3f59, 0x02791eb0, 0x00ee3e79, 0x013471aa, 0x0013a996}}, Y: Field{[10]uint32{0x00b7b4c5, 0x004a6121, 0x02ca506c, 0x00d3222f, 0x03ded8a5, 0x03257a65, 0x00474035, 0x000b1160, 0x02c419a3, 0x003fbb66}}}, + {X: Field{[10]uint32{0x00c7a1ae, 0x02b09346, 0x01f7d4fa, 0x03cb2591, 0x007d7759, 0x0125fbaf, 0x0122150c, 0x01aa93a9, 0x028b5102, 0x0025d2e0}}, Y: Field{[10]uint32{0x03aa9d26, 0x0063fb53, 0x0109396d, 0x000ff2c1, 0x0165cd3a, 0x02a07c98, 0x026f344c, 0x01ccd895, 0x01a0c308, 0x00300da7}}}, + {X: Field{[10]uint32{0x00978186, 0x031c25a7, 0x01755529, 0x0113b475, 0x0299bb45, 0x033d16cd, 0x01c8ae93, 0x035e9653, 0x0379d572, 0x00366056}}, Y: Field{[10]uint32{0x035241fa, 0x038d62b9, 0x013ecd67, 0x036193b5, 0x035b6c20, 0x0023e99f, 0x00ea24f5, 0x006552b1, 0x02cbf518, 0x0027f3ae}}}, + {X: Field{[10]uint32{0x00368837, 0x00acc3ae, 0x02d38efd, 0x02f7e7da, 0x01478208, 0x03596ab0, 0x01506f1b, 0x03539f2f, 0x01970d9b, 0x00149c49}}, Y: Field{[10]uint32{0x033df18e, 0x008c98a2, 0x01d79aef, 0x03044b5b, 0x0068bbf0, 0x014da004, 0x00911d16, 0x03b2b668, 0x0196ba2c, 0x0014bb2a}}}, + {X: Field{[10]uint32{0x009abf6d, 0x01577a11, 0x018186af, 0x0278ae2b, 0x00ed2fc8, 0x022a3d3a, 0x030e1fee, 0x03d7e7bd, 0x01afd890, 0x0036508c}}, Y: Field{[10]uint32{0x019e2867, 0x01195248, 0x01e27e06, 0x03d23343, 0x0384278f, 0x00b61972, 0x03475fc3, 0x0248609c, 0x036ef078, 0x0009964a}}}, + {X: Field{[10]uint32{0x019a7d90, 0x00a2936a, 0x034bfe53, 0x02c1c534, 0x02b661f7, 0x01d8fae6, 0x03a99d4b, 0x036558ec, 0x02317a69, 0x00192144}}, Y: Field{[10]uint32{0x01d46bc6, 0x024828d4, 0x02fb4af4, 0x02cde048, 0x021e06d3, 0x028fa485, 0x02020885, 0x01038dbe, 0x02335150, 0x003ac82e}}}, + {X: Field{[10]uint32{0x0368a8c2, 0x00e0473b, 0x0021779c, 0x037c3b80, 0x0370df9e, 0x03018959, 0x03413a5f, 0x00bc5e63, 0x011bef66, 0x0034292c}}, Y: Field{[10]uint32{0x0170b9cd, 0x00a7dd37, 0x00dbe8b3, 0x018ffd35, 0x03748b7a, 0x02ace7ba, 0x00ef5c99, 0x01a5170e, 0x012018e1, 0x00352ee6}}}, + {X: Field{[10]uint32{0x005802b6, 0x001fc1a6, 0x0249b3dc, 0x00dcef54, 0x01dcf546, 0x032f5dac, 0x03e103dd, 0x0121a07e, 0x0086c4b2, 0x0007626e}}, Y: Field{[10]uint32{0x0369535d, 0x0024e7d8, 0x01f3030d, 0x01150af3, 0x02a7885a, 0x00e9c31a, 0x036056ba, 0x00415df8, 0x00caaacd, 0x0028ce73}}}, + {X: Field{[10]uint32{0x00dbb256, 0x01d72cb9, 0x036c010a, 0x008efac2, 0x039dbab2, 0x00e2e82d, 0x036682fa, 0x010f93c4, 0x01d59363, 0x002db3b3}}, Y: Field{[10]uint32{0x019f7be8, 0x0236c0cc, 0x01d583ba, 0x00ba090b, 0x025f77d1, 0x03604d99, 0x01a5d1fe, 0x021e896f, 0x005387dd, 0x000a4d70}}}, + {X: Field{[10]uint32{0x032f8e24, 0x02ba942f, 0x002c4028, 0x0244261a, 0x0040f1b4, 0x03d6065a, 0x00a6c5fb, 0x03611cd7, 0x00e0a0ca, 0x00212c91}}, Y: Field{[10]uint32{0x021f7a71, 0x0226b221, 0x021bad82, 0x018b6837, 0x03148c8e, 0x038e9762, 0x0313087e, 0x002c47d5, 0x028c7df8, 0x0018b8a3}}}, + {X: Field{[10]uint32{0x00114d1a, 0x037db073, 0x036d1638, 0x01650ffa, 0x01664331, 0x038ddf10, 0x00366102, 0x0200a0e5, 0x00ff2a90, 0x003e57b3}}, Y: Field{[10]uint32{0x0158eba2, 0x00e34af9, 0x039ca7de, 0x020586d3, 0x0256d16e, 0x022615bb, 0x011b9ea1, 0x001b36e3, 0x003f1a03, 0x002f436a}}}, + {X: Field{[10]uint32{0x010f55e3, 0x03bcc874, 0x0132727f, 0x00d79043, 0x032a1e63, 0x0268b748, 0x02ccd255, 0x00f792bc, 0x01fd3e61, 0x001f133b}}, Y: Field{[10]uint32{0x03d7b1d8, 0x030893b9, 0x026960cd, 0x01f504c1, 0x0111d482, 0x01ca9983, 0x017f73c6, 0x0014db1a, 0x0109d9d0, 0x000cc7c8}}}, + {X: Field{[10]uint32{0x00269713, 0x03dc80e8, 0x021c34b9, 0x019bb4c6, 0x02f88af8, 0x010d789d, 0x03918de0, 0x0360a792, 0x02381bf2, 0x0008d70b}}, Y: Field{[10]uint32{0x00dbf929, 0x00413be8, 0x03d0ff26, 0x00111803, 0x02815a13, 0x013aaa1e, 0x00486144, 0x0024bb9f, 0x030d2671, 0x00143737}}}, + {X: Field{[10]uint32{0x0207cd73, 0x00a1a0fa, 0x02923761, 0x021b1777, 0x000cdf26, 0x007128e2, 0x03ca488d, 0x0025d545, 0x00d09ab5, 0x000aa587}}, Y: Field{[10]uint32{0x0398abe5, 0x024efa48, 0x0152dd7f, 0x00bbb75d, 0x0384f84c, 0x01d951c8, 0x000f7fde, 0x011b48f3, 0x0076b2ee, 0x00217244}}}, + {X: Field{[10]uint32{0x00fd65e3, 0x023d0393, 0x01b51a62, 0x01d424f4, 0x03e00c47, 0x02fc60fd, 0x013f591c, 0x02e32e1c, 0x0091f0af, 0x002562f1}}, Y: Field{[10]uint32{0x009a65b3, 0x01431a82, 0x02eef92d, 0x01eaba3d, 0x01b2a09a, 0x03c1d868, 0x013e026a, 0x037f9244, 0x0339fa21, 0x002fd6f8}}}, + {X: Field{[10]uint32{0x015f78fd, 0x0196f60f, 0x0273ddc8, 0x03319093, 0x030adb5c, 0x01adfa54, 0x035a2e24, 0x01eafe67, 0x00a37b5b, 0x001ba583}}, Y: Field{[10]uint32{0x025e0e15, 0x0166cd5a, 0x01a81bd6, 0x02ca7335, 0x00dcc4b0, 0x0285bf32, 0x02df612e, 0x0190fd7c, 0x03d1d5e9, 0x0014eb52}}}, + {X: Field{[10]uint32{0x00d05871, 0x03b3a3fc, 0x01b5a8b2, 0x029e9237, 0x00e747e4, 0x036475aa, 0x01615257, 0x02eeb776, 0x020e9272, 0x0035eb24}}, Y: Field{[10]uint32{0x00c87ed8, 0x019b893c, 0x02dc4adf, 0x008186d9, 0x039d4c76, 0x00302630, 0x000b96d0, 0x02b178e3, 0x01fcc37b, 0x0018e06e}}}, + {X: Field{[10]uint32{0x01730609, 0x00754c57, 0x00078b6c, 0x00bfcb67, 0x024481c1, 0x02fa506b, 0x0123844e, 0x015c1bb0, 0x003b1de9, 0x00026c20}}, Y: Field{[10]uint32{0x033fb1b0, 0x00258a9a, 0x03ef2f5f, 0x02ec4f30, 0x005a5ff0, 0x0392e007, 0x002ed01f, 0x03f7f3ab, 0x03d6b12a, 0x0005833c}}}, + {X: Field{[10]uint32{0x00c5fd88, 0x0154ef29, 0x033ea689, 0x0027c08b, 0x02991bd5, 0x02e81085, 0x00e0153a, 0x03801a77, 0x006e5b74, 0x0017541d}}, Y: Field{[10]uint32{0x03259ff8, 0x018462da, 0x00e58927, 0x01bedbb4, 0x0299cb33, 0x00a724ad, 0x03a2e484, 0x012c6ef6, 0x005fd2a1, 0x002c3ec8}}}, + {X: Field{[10]uint32{0x00be04ff, 0x0006a17f, 0x02cf0bbd, 0x02af1a1b, 0x01ef4483, 0x0180230b, 0x03087483, 0x018a7249, 0x0269fa27, 0x00386f09}}, Y: Field{[10]uint32{0x00d95ecf, 0x0027e103, 0x00e783d4, 0x0124efb6, 0x0315e8b1, 0x02ce86ca, 0x033fd435, 0x00248585, 0x0371083c, 0x001bedeb}}}, + {X: Field{[10]uint32{0x00bfbf78, 0x003732f6, 0x017a2fe9, 0x00833dc0, 0x02f36ac6, 0x037e873c, 0x00519797, 0x024f6d03, 0x001cb5a8, 0x0033f242}}, Y: Field{[10]uint32{0x02a69ac2, 0x00a6b9a5, 0x01659b5f, 0x00695713, 0x00db321d, 0x026fe05f, 0x0377c15a, 0x00bf0cbc, 0x01235077, 0x0009aa23}}}, + {X: Field{[10]uint32{0x0229bb9b, 0x03677d08, 0x014b05fa, 0x01621163, 0x00cd8ad1, 0x0263b5e3, 0x021246db, 0x01a314e5, 0x009d12bd, 0x00015367}}, Y: Field{[10]uint32{0x021cbff6, 0x01275db7, 0x025eba45, 0x00161248, 0x00f8de70, 0x034cf5f5, 0x00c961fe, 0x0089658c, 0x00311dec, 0x002d7a5f}}}, + {X: Field{[10]uint32{0x03057dff, 0x02d694d0, 0x002e8d64, 0x02a987f9, 0x02bfb11e, 0x01cd71ec, 0x00f19248, 0x01986740, 0x02e67e9d, 0x0022a453}}, Y: Field{[10]uint32{0x03c040c8, 0x0046b0c6, 0x01b05a63, 0x011a8bd6, 0x0199c518, 0x00a9be94, 0x002f018c, 0x0369262f, 0x01da3374, 0x0006e478}}}, + {X: Field{[10]uint32{0x00240522, 0x02c16574, 0x03b030a0, 0x010bef48, 0x00aa2f4c, 0x026ac2ae, 0x0304fbae, 0x0077eaf1, 0x01773e64, 0x00352e04}}, Y: Field{[10]uint32{0x025cc726, 0x03ef8159, 0x007b8ce6, 0x00d405c4, 0x01cf2e68, 0x003d037c, 0x01bd3642, 0x02853d29, 0x023b1ea4, 0x002b0c33}}}, + {X: Field{[10]uint32{0x00780ba9, 0x00999c05, 0x02004362, 0x00b9cb83, 0x006f3c8e, 0x024927d9, 0x002c3517, 0x00d5f2ee, 0x0387c232, 0x002e0429}}, Y: Field{[10]uint32{0x018319e2, 0x036eec05, 0x02ef76a2, 0x00c3c6de, 0x034a422c, 0x02af2119, 0x02bac769, 0x0375fc85, 0x00341078, 0x00150d90}}}, + {X: Field{[10]uint32{0x0134a833, 0x01cb4ffd, 0x00e0d14e, 0x00b63b1f, 0x00d29c76, 0x00e9fbb4, 0x01691eac, 0x023bdc6b, 0x00cedc73, 0x0035c7e2}}, Y: Field{[10]uint32{0x00fbcd99, 0x0139c583, 0x02ad9d2a, 0x0052570e, 0x0197c1b5, 0x02d31449, 0x019d0d97, 0x02b6ba8b, 0x02831aaa, 0x00291f33}}}, + {X: Field{[10]uint32{0x01147ffc, 0x02675c5b, 0x0217496c, 0x00b331b1, 0x011ad709, 0x018b3978, 0x01d9d896, 0x018a384e, 0x031d4cac, 0x0005c33c}}, Y: Field{[10]uint32{0x006d77a5, 0x02977b33, 0x013a46f9, 0x03b9a549, 0x01adf6c4, 0x0377cc46, 0x01e8baaa, 0x03d61405, 0x0094e741, 0x0013ecee}}}, + {X: Field{[10]uint32{0x00c316af, 0x0269913b, 0x034d3172, 0x01250216, 0x03bfd48d, 0x032e6956, 0x00cbf66e, 0x017a00e3, 0x02a3b127, 0x00239da4}}, Y: Field{[10]uint32{0x00c504b1, 0x02ad501a, 0x0241134c, 0x029ae291, 0x024fc0bf, 0x0399aa46, 0x0100665c, 0x01497899, 0x01d3af07, 0x003cce70}}}, + {X: Field{[10]uint32{0x02ca891a, 0x032fbe92, 0x00d40a27, 0x01a79da1, 0x02a07ca8, 0x038addf3, 0x0047002e, 0x017a04cb, 0x03383dda, 0x001747fc}}, Y: Field{[10]uint32{0x035fbb8b, 0x0246006f, 0x039cf5b0, 0x00ce34a5, 0x02fe8438, 0x01d31145, 0x032e62e0, 0x032f6d9d, 0x03acb0de, 0x00286b6c}}}, + {X: Field{[10]uint32{0x002b8af7, 0x03fdbb0f, 0x003ebd75, 0x01717d50, 0x00375e1c, 0x00deb556, 0x032605da, 0x0319af77, 0x03dda9de, 0x003559b3}}, Y: Field{[10]uint32{0x019c78bd, 0x02b78398, 0x01ed8427, 0x035efedd, 0x00b6007b, 0x016a4293, 0x01598bb2, 0x01b6a5d0, 0x032c7858, 0x0004f888}}}, + {X: Field{[10]uint32{0x03d96493, 0x0265f40b, 0x01e33764, 0x03389271, 0x033cb85b, 0x02e7b8f6, 0x01ae74b2, 0x00ebc666, 0x00f9cc71, 0x0032f5c2}}, Y: Field{[10]uint32{0x004cb2cb, 0x03e499da, 0x026d655c, 0x02fdae01, 0x01c264f4, 0x02276376, 0x037a5af8, 0x02c2e24c, 0x016c4ca9, 0x003c0687}}}, + {X: Field{[10]uint32{0x00ed0fe2, 0x02d6e8fc, 0x013f4ad4, 0x02e3e241, 0x03e8d049, 0x014e003c, 0x020bea21, 0x01cf2208, 0x00e4e8ac, 0x003fb87b}}, Y: Field{[10]uint32{0x0226aad6, 0x015a8bba, 0x0154f53d, 0x02c2f6c2, 0x02f9763d, 0x033d0bda, 0x013354a7, 0x0019028d, 0x00ea17c8, 0x0026d482}}}, + {X: Field{[10]uint32{0x02ee843f, 0x0122f251, 0x01dbb79c, 0x00cc5305, 0x01db916f, 0x032cd6a3, 0x03a6c3af, 0x01214e35, 0x0266de44, 0x0031aabe}}, Y: Field{[10]uint32{0x01505b1b, 0x02bceff4, 0x01bfa7cd, 0x016cc2c4, 0x0234c49d, 0x029b893e, 0x001a7617, 0x0243def2, 0x02b67fc5, 0x00229871}}}, + {X: Field{[10]uint32{0x01aac415, 0x0199e076, 0x02f1e0a8, 0x03ffc017, 0x02dcbe21, 0x0199aef3, 0x018551e7, 0x007df922, 0x016083d9, 0x002b0d45}}, Y: Field{[10]uint32{0x0334483d, 0x01f59804, 0x014945ac, 0x002e369b, 0x03557741, 0x03bb2289, 0x00318fbe, 0x026beca3, 0x01977710, 0x0035c276}}}, + {X: Field{[10]uint32{0x01914e18, 0x01a3dc8f, 0x02ef9219, 0x00d25419, 0x017a212e, 0x00eb013d, 0x0055d199, 0x0092d205, 0x021607c0, 0x002a2709}}, Y: Field{[10]uint32{0x03a3c1ab, 0x00867b84, 0x02199ac8, 0x01a10cf7, 0x013569ce, 0x03b636ac, 0x01f092f5, 0x0219b1df, 0x02626127, 0x0015474d}}}, + {X: Field{[10]uint32{0x00a3f06b, 0x02202347, 0x02a3a72e, 0x016bf491, 0x02b045b9, 0x03ee458b, 0x00018d8c, 0x0267aba5, 0x031db584, 0x00265460}}, Y: Field{[10]uint32{0x01e4d773, 0x021ec5b6, 0x01188fd4, 0x02856c34, 0x0081696e, 0x02ce1202, 0x0027146f, 0x03e19f56, 0x02ecb9d5, 0x003f8e6b}}}, + {X: Field{[10]uint32{0x001fba96, 0x009a489a, 0x02e8c78d, 0x03a4df34, 0x028615e2, 0x007b3af1, 0x01be26c6, 0x01111e55, 0x03e01456, 0x002dc785}}, Y: Field{[10]uint32{0x03b9e3bf, 0x007142d8, 0x03dc4301, 0x02a7324a, 0x031a6c5b, 0x03bfa554, 0x023cb224, 0x02e32e57, 0x01f1d21f, 0x003af3f7}}}, + {X: Field{[10]uint32{0x01914074, 0x020fff05, 0x002c22d6, 0x03b5399d, 0x032fe89f, 0x030f52f2, 0x020ef6a1, 0x027fdb51, 0x001edbdd, 0x00385c3e}}, Y: Field{[10]uint32{0x0396e67f, 0x019f9caa, 0x014d2d6f, 0x03af1f7c, 0x03801fa7, 0x03dbe72b, 0x02206e3d, 0x0072b233, 0x00ee0f97, 0x0024fc44}}}, + {X: Field{[10]uint32{0x02c104f2, 0x01757207, 0x00c73acf, 0x02291f73, 0x014ac8dd, 0x007eaeec, 0x00f04eda, 0x0017157b, 0x0147318d, 0x0010c695}}, Y: Field{[10]uint32{0x03a779e7, 0x0022fcaf, 0x00dea6fd, 0x01c1d72a, 0x027a6f1f, 0x01f2a09e, 0x03a1f045, 0x0068d92b, 0x00ad7b14, 0x000f8c62}}}, + {X: Field{[10]uint32{0x02203394, 0x03ffb098, 0x01eec383, 0x0245fc2d, 0x013c1932, 0x007e032c, 0x0226ce4a, 0x01d48caf, 0x026ee158, 0x000a679a}}, Y: Field{[10]uint32{0x01301575, 0x00a9df81, 0x010c93bb, 0x0393b4de, 0x0123c9b3, 0x03002815, 0x008e8bf4, 0x028846ff, 0x00ed3ad4, 0x00176edc}}}, + {X: Field{[10]uint32{0x038934ee, 0x01e32730, 0x0359fb09, 0x026fa80a, 0x01bc99ac, 0x0079fe09, 0x03b5f786, 0x0221a6cb, 0x008ff2b5, 0x0019b6d2}}, Y: Field{[10]uint32{0x00ae6a5f, 0x01adcc3a, 0x0017fc31, 0x03bfac52, 0x006040e7, 0x03da19b1, 0x010e9972, 0x020fe02c, 0x0112b51c, 0x002addb8}}}, + {X: Field{[10]uint32{0x02274932, 0x02091f49, 0x002a1c3c, 0x02d7fb50, 0x0054c812, 0x022b56dc, 0x03912fa7, 0x00354aec, 0x016b6698, 0x00049661}}, Y: Field{[10]uint32{0x02150383, 0x011631fc, 0x03c2245d, 0x02ee1c31, 0x02d70dfc, 0x015a06f0, 0x03e0557d, 0x02571fb7, 0x013fc678, 0x003ab5f3}}}, + {X: Field{[10]uint32{0x01f1cf00, 0x01d177ff, 0x02cf9102, 0x0233bfaf, 0x00426996, 0x03494b1f, 0x025272fd, 0x03cf732a, 0x0214cbb0, 0x00140b21}}, Y: Field{[10]uint32{0x03c53c3c, 0x0242654e, 0x0154c10b, 0x0001921c, 0x001b2f45, 0x01abc28e, 0x01d06951, 0x038d5bf6, 0x028807e4, 0x001c46f1}}}, + {X: Field{[10]uint32{0x02a8d6fd, 0x026f31c2, 0x00c42224, 0x03b05f00, 0x01f43acd, 0x01edadff, 0x01c10734, 0x01900fda, 0x013c323c, 0x00381446}}, Y: Field{[10]uint32{0x02560455, 0x0045f8e2, 0x039f1c85, 0x02c61fe2, 0x00c574d9, 0x0097098c, 0x011d2bcf, 0x023b985b, 0x0271ce42, 0x000840b0}}}, + {X: Field{[10]uint32{0x01f1dc46, 0x0381d06b, 0x02cb800a, 0x0162d4e2, 0x030abe7c, 0x030ecdf9, 0x03d90c15, 0x0234c8a7, 0x03ae0d76, 0x0032461e}}, Y: Field{[10]uint32{0x01c92c0f, 0x011ccd62, 0x000f8d75, 0x0373c9ff, 0x015714f6, 0x0056b0a7, 0x03d02526, 0x02e92865, 0x0043f9eb, 0x00304c35}}}, + {X: Field{[10]uint32{0x010fe897, 0x03b2367a, 0x017a16ea, 0x03513a0a, 0x0123dba4, 0x031ac190, 0x003ae701, 0x02cfb8ac, 0x027eb9f3, 0x0016c215}}, Y: Field{[10]uint32{0x010c27c9, 0x006a61ea, 0x02d92aa8, 0x012dd43f, 0x03914d4b, 0x03a3d32e, 0x02e9c726, 0x03246b37, 0x00159079, 0x002b41c7}}}, + {X: Field{[10]uint32{0x003ba7cc, 0x03d2946d, 0x0286f839, 0x015343aa, 0x038a9cc5, 0x0189a46a, 0x0306a26d, 0x01ea1b3e, 0x008ac581, 0x002b96d9}}, Y: Field{[10]uint32{0x032db311, 0x03a49750, 0x019830d5, 0x004a9bfa, 0x0166e752, 0x0285f18a, 0x00a48c3d, 0x0308aaac, 0x030db665, 0x0007aa2a}}}, + {X: Field{[10]uint32{0x010178d2, 0x00085222, 0x038f0421, 0x034c9f95, 0x0004f2e0, 0x03326aed, 0x02ea5c5c, 0x0215b663, 0x00d0a092, 0x000ee6eb}}, Y: Field{[10]uint32{0x01bd5052, 0x031977c8, 0x024911fd, 0x011fc606, 0x00b79be4, 0x02a4a6b8, 0x03628d7e, 0x02e8715e, 0x008e9603, 0x002da07a}}}, + {X: Field{[10]uint32{0x0259fef4, 0x0016a191, 0x02d7ee8d, 0x01e8707d, 0x03f6dfbf, 0x0179056a, 0x022f8279, 0x019b6b54, 0x0180a740, 0x0014937d}}, Y: Field{[10]uint32{0x0252f35f, 0x02ae9c89, 0x039c1ed2, 0x03e78d62, 0x019c72c5, 0x034c0bbc, 0x03c210ca, 0x0307869b, 0x03285f3b, 0x000feb31}}}, + {X: Field{[10]uint32{0x010e4363, 0x034c2751, 0x00cdff6e, 0x03a9ff1c, 0x01599a34, 0x01202e1d, 0x0109a383, 0x01d7121f, 0x03f2ade7, 0x000b818d}}, Y: Field{[10]uint32{0x0364738e, 0x0228283d, 0x023696da, 0x03bab69c, 0x031aafb7, 0x012b557c, 0x038e903e, 0x01392731, 0x03087e2f, 0x0038f1ba}}}, + {X: Field{[10]uint32{0x020cc483, 0x0184c2ea, 0x0364bbda, 0x00a089bd, 0x033f7857, 0x021ee509, 0x013fb335, 0x02f4ef90, 0x02adbeaf, 0x003dffb1}}, Y: Field{[10]uint32{0x0208c68d, 0x014c7467, 0x00544c66, 0x00eb967f, 0x03dd4209, 0x018ee5da, 0x00fefd8e, 0x015f1ff2, 0x01748eb4, 0x003d91aa}}}, + {X: Field{[10]uint32{0x023608be, 0x0362f122, 0x0229929a, 0x025d3609, 0x00cd6eb4, 0x03624b72, 0x02c95b12, 0x01310cad, 0x00e06af6, 0x001d7e53}}, Y: Field{[10]uint32{0x01958a29, 0x0221deec, 0x026c622e, 0x0248b1ef, 0x026e32c8, 0x007b001d, 0x0316b322, 0x0241a9a4, 0x02d0a2b7, 0x002fe1c5}}}, + {X: Field{[10]uint32{0x03fb4d85, 0x0370733c, 0x0104331b, 0x03a74c04, 0x00f62e07, 0x0321a424, 0x00f039fc, 0x03cf2c31, 0x02de5e0d, 0x001040a5}}, Y: Field{[10]uint32{0x03fecfa0, 0x03dcbb4f, 0x0396c383, 0x01ff2187, 0x02da7426, 0x018996e0, 0x00a82ff8, 0x03765aae, 0x039ca314, 0x003a58d5}}}, + {X: Field{[10]uint32{0x033ffa05, 0x03ff8035, 0x03b23cbd, 0x02605b3e, 0x0369b4e6, 0x025f699e, 0x03c1703d, 0x0385acbd, 0x02ac05f5, 0x00332093}}, Y: Field{[10]uint32{0x013e8abb, 0x03c428cd, 0x02aa8b8c, 0x006a4abe, 0x03d18c6f, 0x01f1e203, 0x00582182, 0x013be577, 0x01a69f41, 0x0005f0c3}}}, + {X: Field{[10]uint32{0x026e5820, 0x03fc44df, 0x00d03a83, 0x0193e976, 0x03d2074b, 0x00c5dc1d, 0x00f0b3fd, 0x03b6335e, 0x00ef4d26, 0x002b306c}}, Y: Field{[10]uint32{0x003ce6c3, 0x01432367, 0x04000111, 0x03405a79, 0x014fcd24, 0x03e3efbb, 0x01d2a804, 0x02ba4406, 0x00c68519, 0x001b3391}}}, + {X: Field{[10]uint32{0x010da922, 0x03f1c6f2, 0x038257c2, 0x0238c61d, 0x01583c2b, 0x00c62e48, 0x034bccf4, 0x00766c1d, 0x036eccce, 0x00072cc1}}, Y: Field{[10]uint32{0x00e373cc, 0x021d2393, 0x03b04c62, 0x03cb3c96, 0x02a6372d, 0x03b37168, 0x0217dfd3, 0x0181760a, 0x036c0058, 0x000a8bc9}}}, + {X: Field{[10]uint32{0x00fe13f2, 0x02096aa1, 0x039783d5, 0x0085e8e2, 0x008cb3a5, 0x02796900, 0x03ea9750, 0x03d26d61, 0x00512a22, 0x001bbf69}}, Y: Field{[10]uint32{0x038e2424, 0x0251d621, 0x0103954a, 0x03f6f2f5, 0x0360673c, 0x03968a96, 0x032a54ad, 0x00becc7f, 0x02d56dfe, 0x00047513}}}, + {X: Field{[10]uint32{0x01bf0858, 0x00c30ee7, 0x01cdd51b, 0x03345f7a, 0x02e2fcf1, 0x02a3f665, 0x00931ecd, 0x00de2d73, 0x0219aef4, 0x0011fda5}}, Y: Field{[10]uint32{0x00b5e274, 0x0242251f, 0x03ee9bf8, 0x022b0cea, 0x020d2fa2, 0x0135c359, 0x0057af2a, 0x038f5b69, 0x02a19776, 0x00052555}}}, + {X: Field{[10]uint32{0x014d28e4, 0x0120cd5e, 0x00d4f8ff, 0x02f0691f, 0x028b2eae, 0x00e86789, 0x01032c51, 0x0375754e, 0x021e97f5, 0x00374f63}}, Y: Field{[10]uint32{0x00467e83, 0x03e7aa93, 0x029c2e0f, 0x02ec0d2f, 0x030c2233, 0x020bafcc, 0x033d7c63, 0x02a0eaa5, 0x000020f6, 0x001e5a2f}}}, + {X: Field{[10]uint32{0x01e16d78, 0x02b4ad99, 0x01f9197a, 0x02dd414d, 0x027de2a2, 0x00f2d2cc, 0x015737cd, 0x00e9b2f9, 0x00eea19d, 0x000af515}}, Y: Field{[10]uint32{0x029f7f99, 0x03c7f5c4, 0x037549c1, 0x01221f8f, 0x039f7c62, 0x02b503fa, 0x0271c667, 0x009e3cd0, 0x00f0d6a1, 0x00029c2c}}}, + {X: Field{[10]uint32{0x035a5ee0, 0x00cc6103, 0x02d91047, 0x037c4eb0, 0x02915462, 0x02899e13, 0x02035b29, 0x01d2d136, 0x01bb2a7e, 0x00233f9d}}, Y: Field{[10]uint32{0x0207cd1e, 0x03cb8919, 0x01ca1eef, 0x0289ff6b, 0x00b65c2d, 0x02491550, 0x02226d1c, 0x01f2193d, 0x0056bdc8, 0x001923ff}}}, + {X: Field{[10]uint32{0x01724d36, 0x02cc9559, 0x02f6e665, 0x01a13c44, 0x005e046a, 0x012d5ef2, 0x03dab832, 0x018b2f0b, 0x00ae19c4, 0x0017bfcd}}, Y: Field{[10]uint32{0x004d68a4, 0x03378568, 0x026b0ccf, 0x020d1f1a, 0x01d551e7, 0x00b80414, 0x0289629d, 0x011fff08, 0x01bb9db3, 0x000663ed}}}, + {X: Field{[10]uint32{0x00f92b91, 0x0198e7de, 0x02a61042, 0x02e07c62, 0x00a2c51b, 0x01d8c5dd, 0x02db6244, 0x00ec238d, 0x0154f367, 0x0026a951}}, Y: Field{[10]uint32{0x01384806, 0x0235e118, 0x006fa75c, 0x01197c97, 0x011d167b, 0x01cad42f, 0x0222faf2, 0x01d0134b, 0x03ad4a6e, 0x0021d128}}}, + {X: Field{[10]uint32{0x03f259e0, 0x032d4e97, 0x0165a955, 0x02a2e75d, 0x03ac88a2, 0x037c1bae, 0x007463c5, 0x0165c37f, 0x01758cfb, 0x0012e0dd}}, Y: Field{[10]uint32{0x028df208, 0x0069793e, 0x02aa9917, 0x01aaadea, 0x02ed7076, 0x0048cf7d, 0x0074396a, 0x0294fdb9, 0x0142bda1, 0x0021d647}}}, + {X: Field{[10]uint32{0x02428bb1, 0x03317bdd, 0x00428226, 0x009615cd, 0x03c49dc7, 0x01671f3b, 0x03f5a579, 0x03e4399c, 0x00b49134, 0x001752dd}}, Y: Field{[10]uint32{0x02d89425, 0x001e83ef, 0x03cfcb1f, 0x02efc670, 0x00cdc2f6, 0x00036368, 0x026bf3f1, 0x03b856af, 0x0110f466, 0x0006caa2}}}, + {X: Field{[10]uint32{0x03cad2d8, 0x00a8c255, 0x002b2570, 0x0105eae7, 0x002d4754, 0x018bb9a0, 0x013bafaf, 0x01133976, 0x02c0c552, 0x003542f8}}, Y: Field{[10]uint32{0x0162f583, 0x00735700, 0x0144ef24, 0x03c82f11, 0x005a4dc0, 0x03aa9779, 0x01854617, 0x026ad300, 0x024c6ee8, 0x003f881f}}}, + {X: Field{[10]uint32{0x0075bff1, 0x0280d384, 0x032e9a1d, 0x03c505b6, 0x02f93bbf, 0x02fe616a, 0x02489155, 0x02ce1193, 0x01ce8e0e, 0x002ec3d8}}, Y: Field{[10]uint32{0x037b7d0e, 0x03dbefed, 0x00412631, 0x0184c51d, 0x034e6b05, 0x02f2c23b, 0x02a1032c, 0x02c37cc3, 0x03152dde, 0x000004e9}}}, + {X: Field{[10]uint32{0x01dcb2f5, 0x00cafe13, 0x03d22886, 0x02785366, 0x0263e22b, 0x00bf17be, 0x00e41fb2, 0x0006c85c, 0x01db473f, 0x000f39af}}, Y: Field{[10]uint32{0x00e0922e, 0x01e896ab, 0x01edf8d4, 0x023c6eb0, 0x029a8426, 0x0043714b, 0x02b73081, 0x034a6109, 0x0057f4b3, 0x0010c218}}}, + {X: Field{[10]uint32{0x038f81aa, 0x01d182ec, 0x03c85bd3, 0x03c695b0, 0x02bbcbbf, 0x01f36dd7, 0x00b5490c, 0x0202ff24, 0x014aef16, 0x003ff7ec}}, Y: Field{[10]uint32{0x02f4af0d, 0x005bb87a, 0x00a547c2, 0x031ceef3, 0x0124f228, 0x02522d69, 0x02880d0e, 0x03c6788c, 0x01ef02f1, 0x003cc117}}}, + {X: Field{[10]uint32{0x0223172c, 0x03e93020, 0x000fed59, 0x000941eb, 0x02c828d1, 0x008cc2bb, 0x026eb60a, 0x00993604, 0x02e19ab4, 0x0006b07c}}, Y: Field{[10]uint32{0x00e18bf8, 0x03c64db6, 0x027f5133, 0x018e06d3, 0x02d8fae0, 0x020363c0, 0x015e3a8f, 0x021abec8, 0x00bc3394, 0x001d8da9}}}, + {X: Field{[10]uint32{0x01ec228e, 0x01987b2b, 0x009a22d6, 0x02d81f9b, 0x01b1a1a6, 0x0083c8ce, 0x002957aa, 0x03a26985, 0x000a0740, 0x001494d3}}, Y: Field{[10]uint32{0x0261b669, 0x02a5f3cc, 0x022f1365, 0x00d6ba00, 0x02e1a318, 0x02213ebe, 0x02c2fa5d, 0x03226707, 0x02bafe41, 0x0033dbf9}}}, + {X: Field{[10]uint32{0x011b09eb, 0x03d91899, 0x0278d5b9, 0x00b25928, 0x0104f36f, 0x00df4cac, 0x00dccd61, 0x00b0b1e3, 0x02857cd2, 0x00102480}}, Y: Field{[10]uint32{0x01031d0d, 0x0384b10b, 0x025fb3bd, 0x023ae2a1, 0x01f6b773, 0x013c5824, 0x01fef1bf, 0x00f8fd9b, 0x0373a5fa, 0x00103253}}}, + {X: Field{[10]uint32{0x03029289, 0x006f1466, 0x019e70c8, 0x030901a7, 0x0225a5b3, 0x021036c5, 0x02ac6e4e, 0x0336c852, 0x00334b9c, 0x0022c74f}}, Y: Field{[10]uint32{0x0223e853, 0x035b6d57, 0x006e5630, 0x027c517e, 0x03802076, 0x01e0889d, 0x01658985, 0x0256647f, 0x00642acf, 0x000453f5}}}, + {X: Field{[10]uint32{0x00a242bd, 0x01ce5e7d, 0x020fd7e4, 0x0398f4d1, 0x008a6055, 0x019058b7, 0x006bbd20, 0x03c4e967, 0x0260b7c7, 0x002b8537}}, Y: Field{[10]uint32{0x0065a412, 0x031a8f93, 0x00ef16ca, 0x039ebe80, 0x03afccfe, 0x01dbc844, 0x00463e23, 0x028cce85, 0x0089cdb5, 0x0022e581}}}, + {X: Field{[10]uint32{0x02d3e3d7, 0x020e1b8b, 0x02420078, 0x01204df7, 0x03b81539, 0x037f76eb, 0x00d4e395, 0x0179b0fa, 0x004099c9, 0x003cdfc7}}, Y: Field{[10]uint32{0x03fb3606, 0x003028ec, 0x01af5031, 0x004413d4, 0x030a5644, 0x033dd95d, 0x0283d769, 0x02b4d2c8, 0x008082f6, 0x0007ca40}}}, + {X: Field{[10]uint32{0x03017a84, 0x00fb2c86, 0x005dfaa5, 0x00cd99b4, 0x00a13f89, 0x030925af, 0x0041c1d3, 0x022270d1, 0x03ae9636, 0x0007ec1f}}, Y: Field{[10]uint32{0x037753c0, 0x03e32718, 0x03cb7b8d, 0x011bea5f, 0x0358e6da, 0x01ffd546, 0x0368934b, 0x015dab12, 0x01c93931, 0x0004a062}}}, + {X: Field{[10]uint32{0x0015f3cc, 0x0365ca12, 0x0371552b, 0x0087435a, 0x032afb07, 0x02e88ae9, 0x00ea2b51, 0x03b3b520, 0x0354e112, 0x0011347a}}, Y: Field{[10]uint32{0x02ed7043, 0x02a6cabc, 0x0288e3c3, 0x02df56db, 0x02ea1855, 0x035e4e3e, 0x0273e02e, 0x0149bc49, 0x0328574c, 0x0029b84e}}}, + {X: Field{[10]uint32{0x0103238e, 0x02559168, 0x03cbfd87, 0x0229d669, 0x00ec9491, 0x01dbdef4, 0x02311cff, 0x02e1d5ff, 0x032e5732, 0x001a6025}}, Y: Field{[10]uint32{0x03d26a5e, 0x03ac18d8, 0x03c262d2, 0x03385f16, 0x02ac4a0f, 0x024be826, 0x0376b24a, 0x02450c85, 0x00324ffb, 0x001ee7fa}}}, + {X: Field{[10]uint32{0x00efcfa3, 0x00c09554, 0x0379bf70, 0x018a7616, 0x01a8566a, 0x03d901a8, 0x019639c4, 0x02c79379, 0x009d405b, 0x001a8ea3}}, Y: Field{[10]uint32{0x02c038ba, 0x023799b2, 0x0124d0ce, 0x03ae7546, 0x002e0f59, 0x025ad1e9, 0x01b408e1, 0x03412a3f, 0x02e87b22, 0x000fa2ae}}}, + {X: Field{[10]uint32{0x0012ed0b, 0x00e42d91, 0x036831da, 0x013251b0, 0x03bfb680, 0x02f3e809, 0x01844c4d, 0x01192afd, 0x00d41598, 0x003fcc42}}, Y: Field{[10]uint32{0x03d0a317, 0x01cb51f2, 0x03515dc0, 0x03408672, 0x0011f5d4, 0x01c15192, 0x02abe857, 0x03422571, 0x01e33ee1, 0x00201559}}}, + {X: Field{[10]uint32{0x01517d73, 0x024c93a5, 0x011bb213, 0x01406012, 0x03499727, 0x00d772d6, 0x0134e533, 0x0126acf8, 0x036a2f85, 0x0003b93d}}, Y: Field{[10]uint32{0x0071a838, 0x0204125c, 0x0075c8fe, 0x01f628a4, 0x03830736, 0x032509d9, 0x0189e899, 0x00ac45a2, 0x01672240, 0x001af640}}}, + {X: Field{[10]uint32{0x0053e0a4, 0x023d4693, 0x01966ac7, 0x00163342, 0x00230c63, 0x032eae83, 0x023b7205, 0x02563cda, 0x01cb01ca, 0x0030845d}}, Y: Field{[10]uint32{0x0072bf51, 0x008da233, 0x02a44ea9, 0x03acbff9, 0x01585a02, 0x03021760, 0x02a0ecd2, 0x0282bc95, 0x03a67a7c, 0x001a8860}}}, + {X: Field{[10]uint32{0x0237d6fc, 0x0272fce6, 0x01292c40, 0x030317cb, 0x03953141, 0x01f2ae46, 0x0246e39e, 0x02ce60d3, 0x0008a9a0, 0x000b5793}}, Y: Field{[10]uint32{0x01c6e15e, 0x0190119d, 0x03054d61, 0x0087713b, 0x004b5127, 0x024017b4, 0x0234f37e, 0x00c7e824, 0x01c531a3, 0x001d5a6e}}}, + {X: Field{[10]uint32{0x0315dbc3, 0x030a932e, 0x01c26ef7, 0x019dade6, 0x015d573b, 0x00c5d97c, 0x00124086, 0x03ac2730, 0x0041bfbb, 0x0018c0b0}}, Y: Field{[10]uint32{0x02491025, 0x02bc209f, 0x0063f915, 0x02201279, 0x01a1e514, 0x0024cba4, 0x00ddfedd, 0x010a82b1, 0x020f67ce, 0x000caa3c}}}, + {X: Field{[10]uint32{0x01934e2d, 0x00d98481, 0x0308ca3b, 0x0330b7aa, 0x005b6c67, 0x027be6e5, 0x01c9cfb8, 0x03823bdf, 0x016c198d, 0x000f9854}}, Y: Field{[10]uint32{0x037520d9, 0x01b818c0, 0x00dbee95, 0x03b41239, 0x005692f3, 0x003d89e1, 0x03849447, 0x01c413dd, 0x03f74d5f, 0x0007bfee}}}, + {X: Field{[10]uint32{0x0142fe30, 0x02ac2bb9, 0x005a7d8a, 0x0064422c, 0x01b89892, 0x03ccc148, 0x0335a378, 0x00d3492a, 0x02b2d7d1, 0x0028022e}}, Y: Field{[10]uint32{0x01b475a1, 0x027f8c54, 0x01de6be0, 0x03aa0ae6, 0x03f5454a, 0x02701790, 0x03ec2fde, 0x001b9518, 0x03ec903c, 0x001de8dd}}}, + {X: Field{[10]uint32{0x0224005f, 0x02645fa9, 0x022f8c38, 0x019c05bc, 0x03287114, 0x00b90c05, 0x00f42b80, 0x0258aa54, 0x0348b928, 0x001de0bf}}, Y: Field{[10]uint32{0x03608c15, 0x0322263e, 0x03c18c78, 0x033d6c8a, 0x008ad2c9, 0x026ebf8c, 0x01b766db, 0x00f832b4, 0x024938a0, 0x001e3c8f}}}, + {X: Field{[10]uint32{0x03ddcfc2, 0x019dbe09, 0x03c20d20, 0x01c633fb, 0x02f6ffbe, 0x03225bba, 0x0019d648, 0x02d13f44, 0x0278c26a, 0x0008ced2}}, Y: Field{[10]uint32{0x033b655c, 0x00fb679d, 0x037b518f, 0x0108b825, 0x01f553d3, 0x020a1337, 0x03ddc1a4, 0x037e4121, 0x0036d976, 0x00379421}}}, + {X: Field{[10]uint32{0x01b8bb0e, 0x0177831c, 0x02a0792c, 0x008ca57c, 0x023f7a46, 0x03630cd0, 0x03d7aed2, 0x03524f60, 0x022906ee, 0x0020052a}}, Y: Field{[10]uint32{0x03583d92, 0x01b75543, 0x02444f3e, 0x02be0687, 0x01695f39, 0x0215aa78, 0x030caba4, 0x02f26c45, 0x029df2a5, 0x0037161c}}}, + {X: Field{[10]uint32{0x03bbdfce, 0x012ad676, 0x012c1b28, 0x03abafab, 0x0060882a, 0x02f18723, 0x03050ce7, 0x02b9c46e, 0x010b233d, 0x0022807a}}, Y: Field{[10]uint32{0x0291fdb0, 0x0376eb5d, 0x01cf4ca4, 0x03bc8294, 0x03b34b72, 0x00b2569d, 0x0006cc41, 0x01a4fa4b, 0x035dc9e3, 0x001603b5}}}, + {X: Field{[10]uint32{0x02e733b4, 0x02e48c86, 0x011a44cb, 0x006825af, 0x03a56988, 0x020ae81f, 0x026372d5, 0x024561c3, 0x034924a2, 0x00014288}}, Y: Field{[10]uint32{0x038cc751, 0x02af3699, 0x03cde3ed, 0x0038bdf3, 0x03aa21d0, 0x0111bf38, 0x01d8e2fa, 0x0007529e, 0x0220a977, 0x001a50f0}}}, + {X: Field{[10]uint32{0x02aa6d83, 0x00821ebb, 0x015cecbd, 0x01b6a299, 0x02b51b8f, 0x0209903b, 0x0307bd61, 0x01d13dea, 0x03578c96, 0x0032fd24}}, Y: Field{[10]uint32{0x028d4bf0, 0x03c1f13b, 0x011d5e75, 0x02961f41, 0x0129e79f, 0x01212813, 0x00bdb1c9, 0x036e6501, 0x02f45711, 0x001346cd}}}, + {X: Field{[10]uint32{0x028efe38, 0x026e9c62, 0x03d89ad5, 0x007fe93a, 0x007c63d1, 0x00a2cc76, 0x0164c2e8, 0x034a5a34, 0x0175e4ed, 0x001cdecf}}, Y: Field{[10]uint32{0x01f31586, 0x0208ad4d, 0x03439e7c, 0x01b74e1d, 0x02ff1ebf, 0x03720c9e, 0x027002ee, 0x03945514, 0x03a18aa8, 0x003b1fde}}}, + {X: Field{[10]uint32{0x0038813a, 0x008bff2b, 0x00b8bb7e, 0x03166aaa, 0x028812e0, 0x035ed105, 0x03f46d69, 0x00e6b9b1, 0x00642519, 0x000a72ca}}, Y: Field{[10]uint32{0x00a2e6e9, 0x02edcebb, 0x038f0528, 0x01477af4, 0x03b5f1eb, 0x01043fc6, 0x02d77c8b, 0x02cb1725, 0x000a7c98, 0x0030fb0a}}}, + {X: Field{[10]uint32{0x0228fe9d, 0x01653f17, 0x01d352c9, 0x015091d0, 0x03f36689, 0x0065e553, 0x00dffa25, 0x00bef791, 0x02592428, 0x0006162a}}, Y: Field{[10]uint32{0x02d4bd46, 0x03b0a074, 0x0248596f, 0x03512f9d, 0x00be50b1, 0x01f92ad3, 0x03d7879a, 0x027eae7e, 0x01d6b0a6, 0x00283a24}}}, + {X: Field{[10]uint32{0x022eb75c, 0x03a45d21, 0x004fc2a9, 0x02374d1b, 0x0126c137, 0x013c24ba, 0x03ae314d, 0x003abd9e, 0x00581a42, 0x001cb39f}}, Y: Field{[10]uint32{0x0025ae1c, 0x012f781d, 0x02ff3628, 0x007fdd18, 0x038bec12, 0x002162ee, 0x02236ae3, 0x00f833db, 0x037a5a9c, 0x0008ca45}}}, + {X: Field{[10]uint32{0x03112903, 0x035bd1ab, 0x0031517b, 0x02f403b3, 0x00a3f9dc, 0x02777e6f, 0x03dcb830, 0x02db492a, 0x025e5dfa, 0x000d3072}}, Y: Field{[10]uint32{0x02a1f803, 0x02a01ec8, 0x021a27ac, 0x0093ad26, 0x0080088a, 0x02962682, 0x03c4aeb6, 0x03325c0d, 0x02adc931, 0x0024fdbf}}}, + {X: Field{[10]uint32{0x00392c36, 0x02e83749, 0x02243284, 0x011e7389, 0x028d348b, 0x03b8f59d, 0x003100cc, 0x01619fe0, 0x004a80af, 0x0001f16b}}, Y: Field{[10]uint32{0x02fc5828, 0x003a9019, 0x01b86337, 0x03faad61, 0x00a3201c, 0x03a9eae1, 0x03db23d1, 0x03991cc7, 0x0164903b, 0x002911a2}}}, + {X: Field{[10]uint32{0x00363caa, 0x012dfb13, 0x00b35e59, 0x00f69d1b, 0x010b57bf, 0x01a0ffdf, 0x018851c8, 0x01dca06a, 0x0113244c, 0x002f8b77}}, Y: Field{[10]uint32{0x02580fa2, 0x0391648f, 0x01f257df, 0x02151e56, 0x018c45ea, 0x02f1ee99, 0x033e5b92, 0x028b3c73, 0x01390af8, 0x002b6dd6}}}, + {X: Field{[10]uint32{0x02c13806, 0x0285d923, 0x039b7901, 0x00ae0665, 0x037f7b22, 0x018b7f67, 0x0244471d, 0x03bf7292, 0x036a3b3b, 0x001b7b87}}, Y: Field{[10]uint32{0x002e5651, 0x02e66657, 0x01ab6af3, 0x00c43d90, 0x021a9a24, 0x02c04c48, 0x000356ce, 0x03dbffe3, 0x01014fa5, 0x001767a1}}}, + {X: Field{[10]uint32{0x01e68c19, 0x039bf9e7, 0x03c3180e, 0x01afdaeb, 0x02c76438, 0x01ec4544, 0x00355b3a, 0x023b5d24, 0x00e68e2c, 0x00057c99}}, Y: Field{[10]uint32{0x00326aba, 0x00fe315c, 0x0374eddf, 0x02ae9daa, 0x03c41291, 0x01c73ca6, 0x01053fd3, 0x03d023be, 0x0126302b, 0x002415d3}}}, + {X: Field{[10]uint32{0x029c91a3, 0x026017af, 0x036660df, 0x01ec60fc, 0x016d4c5e, 0x02a61323, 0x0192b785, 0x022433a9, 0x03e904cc, 0x000f5f3e}}, Y: Field{[10]uint32{0x03f62808, 0x01f7f979, 0x00d12682, 0x01239d8c, 0x0042b30b, 0x01aa12d5, 0x0351694f, 0x00196be3, 0x01d44ea7, 0x00355737}}}, + {X: Field{[10]uint32{0x003a1e10, 0x00773667, 0x02e1445b, 0x02c1ffaf, 0x011ec637, 0x0125c480, 0x035dd3e7, 0x014771ea, 0x03f90d79, 0x00150e22}}, Y: Field{[10]uint32{0x02e5a547, 0x03bfd52a, 0x03dcf6fb, 0x030aa75b, 0x03725f99, 0x03d58348, 0x008738b3, 0x00a97e6f, 0x038825dc, 0x0005ecd9}}}, + {X: Field{[10]uint32{0x02088313, 0x03c065da, 0x03c94be5, 0x03154818, 0x00425327, 0x024a05e5, 0x00a0d2cc, 0x02029652, 0x03dd9a00, 0x000f08a7}}, Y: Field{[10]uint32{0x02926a1c, 0x036ee34a, 0x01d8d3a8, 0x01c7fb48, 0x01192f0a, 0x00dcf141, 0x0083d12c, 0x020ed2be, 0x0395a84f, 0x000d25d5}}}, + {X: Field{[10]uint32{0x03c63210, 0x00149c49, 0x02b26157, 0x0138dbc6, 0x011974e7, 0x03ea35eb, 0x0291f368, 0x01669b85, 0x036ee146, 0x002d84ae}}, Y: Field{[10]uint32{0x00df5bb4, 0x0181cb29, 0x00dc223b, 0x005fa382, 0x02052408, 0x0357a3aa, 0x0077733d, 0x0337c7e5, 0x005dd623, 0x00016523}}}, + {X: Field{[10]uint32{0x0305f613, 0x037bf81e, 0x03d64d2e, 0x0108bbec, 0x03ae381e, 0x024038ce, 0x0341ed3e, 0x003750a0, 0x01855447, 0x003b15b9}}, Y: Field{[10]uint32{0x015e9c45, 0x03d9b3ca, 0x016d9df8, 0x00334ec5, 0x0286effe, 0x01e2f39d, 0x03f2bd65, 0x038c237f, 0x0151acf6, 0x003b35fc}}}, + {X: Field{[10]uint32{0x0011f80d, 0x039d23ff, 0x0308f25e, 0x02bf9353, 0x02a565ee, 0x026c56c9, 0x000c8baf, 0x027e3ef6, 0x03ca85ff, 0x00006fbc}}, Y: Field{[10]uint32{0x012914f9, 0x0315a0fe, 0x03135272, 0x002b7a22, 0x01125f0a, 0x006f2262, 0x014b8927, 0x0125ee86, 0x00bb96be, 0x003f8098}}}, + {X: Field{[10]uint32{0x0107c20a, 0x0020fa64, 0x0325168a, 0x03968bae, 0x010c4b27, 0x034afd2b, 0x00e42653, 0x01a38aa4, 0x004a522b, 0x0006f6eb}}, Y: Field{[10]uint32{0x00d63ea1, 0x00a10e54, 0x03a9e3d2, 0x009c38fe, 0x025b09e1, 0x00ba2c81, 0x00467b9d, 0x01fe8004, 0x03263ede, 0x00135838}}}, + {X: Field{[10]uint32{0x0262fc84, 0x027aab4d, 0x038373bd, 0x01ffa252, 0x026e601b, 0x02cb0b08, 0x01e0f8b1, 0x02e36954, 0x039a567a, 0x003a40cb}}, Y: Field{[10]uint32{0x00eb70e9, 0x00c65b5d, 0x0400064e, 0x0252372c, 0x0121d609, 0x02bf783c, 0x00b0a49d, 0x006bce83, 0x03e647d2, 0x0002b158}}}, + {X: Field{[10]uint32{0x00f79c75, 0x0241f0c2, 0x011a9fda, 0x03af2281, 0x03a9608d, 0x015b8d19, 0x0108044f, 0x03dd2295, 0x02ec044a, 0x001f39d1}}, Y: Field{[10]uint32{0x02aa426a, 0x0103f57c, 0x017d5406, 0x02814beb, 0x012c6b8f, 0x01bcf006, 0x03bbb804, 0x02f48ef9, 0x01c13166, 0x0023c21e}}}, + {X: Field{[10]uint32{0x0359eecd, 0x01b7932e, 0x01fc906c, 0x032fbcda, 0x0068862d, 0x01b34c80, 0x01298564, 0x01b47282, 0x038919de, 0x00383549}}, Y: Field{[10]uint32{0x02886b20, 0x028a51b2, 0x03ce88cd, 0x03c74faf, 0x01f46680, 0x025d02f5, 0x03547912, 0x03764293, 0x039db4eb, 0x00263d19}}}, + {X: Field{[10]uint32{0x025ca397, 0x004eba9f, 0x01f1800a, 0x02159070, 0x02e28c8b, 0x00bc8222, 0x000a4d48, 0x012d6110, 0x01cdcf1f, 0x0031a891}}, Y: Field{[10]uint32{0x021ac628, 0x0399da25, 0x01bf3605, 0x02a0cc08, 0x01cb11ec, 0x02d79b34, 0x00ff944a, 0x032c2656, 0x03b9f8f2, 0x0034c1b6}}}, + {X: Field{[10]uint32{0x0295c910, 0x00a1b9cd, 0x02b06a1b, 0x00652837, 0x024ade09, 0x026661ff, 0x0334acec, 0x03c20a87, 0x008d9710, 0x003fe55b}}, Y: Field{[10]uint32{0x03bcc306, 0x008f4304, 0x0239fb78, 0x03b2c38b, 0x01a8086a, 0x0362a4dd, 0x028c832f, 0x03f5187f, 0x012b866a, 0x003eafb1}}}, + {X: Field{[10]uint32{0x02c23af0, 0x00485489, 0x00cc73ff, 0x0059bd2b, 0x025cef12, 0x0313709d, 0x0344fe45, 0x01813343, 0x024a0d1a, 0x00152776}}, Y: Field{[10]uint32{0x000631ef, 0x03dd9784, 0x00381a33, 0x025d58b1, 0x01166fec, 0x02aec578, 0x02eede71, 0x02a0980d, 0x03c0e05b, 0x001c78eb}}}, + {X: Field{[10]uint32{0x02776416, 0x01f99127, 0x01723207, 0x004bb708, 0x016070dd, 0x037647e7, 0x01896e82, 0x01cf339a, 0x03090215, 0x0019b4f7}}, Y: Field{[10]uint32{0x03b46d5d, 0x03c9e756, 0x01ebc25f, 0x0327aa4c, 0x0009ccf1, 0x02bc162f, 0x0029dd3e, 0x03b8fb65, 0x021359a2, 0x0024e605}}}, + {X: Field{[10]uint32{0x01e4f8d9, 0x01c0bd5e, 0x01be737b, 0x02083eb8, 0x028a4d7a, 0x01713c61, 0x013ede5a, 0x018e1a71, 0x01bc0942, 0x00186f4f}}, Y: Field{[10]uint32{0x0082e780, 0x015cad38, 0x02caac1b, 0x020788cd, 0x00502aee, 0x003be923, 0x01ddf540, 0x013d24b2, 0x0247e27d, 0x0023015a}}}, + {X: Field{[10]uint32{0x00178f4e, 0x01bcee60, 0x0000647d, 0x01dbe99f, 0x004ef20c, 0x005236c7, 0x002f7849, 0x036aa49c, 0x03464a31, 0x00229b62}}, Y: Field{[10]uint32{0x028f7407, 0x019f2eab, 0x00d8ccfe, 0x02864efd, 0x03c31309, 0x02081451, 0x0082f9e3, 0x01d8065b, 0x02eee408, 0x00347d01}}}, + {X: Field{[10]uint32{0x022e573e, 0x03f47924, 0x02b1b809, 0x01096b3d, 0x0137893b, 0x03b76607, 0x00aa90e1, 0x021105c0, 0x029399eb, 0x0038ad83}}, Y: Field{[10]uint32{0x0219f7af, 0x004fba93, 0x029ed635, 0x02b42003, 0x01bd8a38, 0x02cd75e2, 0x0209dc0a, 0x020a6a2b, 0x025fe394, 0x001a2831}}}, + {X: Field{[10]uint32{0x00f55e85, 0x03c9b375, 0x00574ac6, 0x031cad56, 0x01fc23b8, 0x0277e950, 0x0316cad9, 0x03f24993, 0x030fe85c, 0x00131d80}}, Y: Field{[10]uint32{0x012b7bb6, 0x0166fa28, 0x000902d9, 0x02aa62bb, 0x01e98c63, 0x006157df, 0x039a5745, 0x02d3b323, 0x02d89a31, 0x00112cd4}}}, + {X: Field{[10]uint32{0x03baed2e, 0x0151d897, 0x01580fe4, 0x025cd98f, 0x002f0e89, 0x00e304e8, 0x022c9ef5, 0x00f0d42a, 0x02a35910, 0x00372ea5}}, Y: Field{[10]uint32{0x036544b4, 0x00530885, 0x003deb4d, 0x034b6cb6, 0x00b13053, 0x016fedcf, 0x01f91bd7, 0x01a62b7a, 0x005f0727, 0x002be788}}}, + {X: Field{[10]uint32{0x02dc7883, 0x02cacc7c, 0x02a433b5, 0x01ffa6d9, 0x03e68242, 0x0327b71c, 0x03d3e036, 0x03fe6b2f, 0x03d8f75f, 0x003f4125}}, Y: Field{[10]uint32{0x00d62d79, 0x002eb7ff, 0x0213509c, 0x022625b7, 0x01445762, 0x002f792a, 0x03fb2fcc, 0x0041deac, 0x00b69c8d, 0x00348c05}}}, + {X: Field{[10]uint32{0x01f48040, 0x0331bb7b, 0x01077542, 0x026bae28, 0x02e70500, 0x013a0fe7, 0x011b7795, 0x03904d0f, 0x01bb0b38, 0x0016ed00}}, Y: Field{[10]uint32{0x02599c14, 0x020afe20, 0x03a5ee7a, 0x01cc03b3, 0x00ca9445, 0x01e38f2a, 0x00ea6283, 0x004e47da, 0x00b5acec, 0x0010c7f3}}}, + {X: Field{[10]uint32{0x00bb283b, 0x00b6d6d2, 0x01d20a26, 0x00119ef1, 0x023acac7, 0x00d70ddf, 0x0341c38b, 0x01ab62c9, 0x024ff9cc, 0x0007ea5a}}, Y: Field{[10]uint32{0x02b963eb, 0x02a3fafb, 0x02ac8bfc, 0x031c6c88, 0x036404dc, 0x0278527a, 0x02af7f1f, 0x016bf3c7, 0x0092ffc6, 0x0030d123}}}, + {X: Field{[10]uint32{0x002f86ea, 0x00c8a459, 0x00f11614, 0x0080bfb2, 0x03697ea4, 0x01c74298, 0x02384531, 0x014749e9, 0x02ef1ae5, 0x000254d2}}, Y: Field{[10]uint32{0x03729591, 0x00aab03b, 0x03849643, 0x0084b2ff, 0x0346fd7f, 0x0284fa5b, 0x0148a4ec, 0x01f740cf, 0x003c3883, 0x00334325}}}, + {X: Field{[10]uint32{0x001b8ceb, 0x000ca834, 0x038b7b57, 0x02fc06a3, 0x02138440, 0x02a93fd2, 0x018d08f3, 0x000e42f2, 0x03ed4330, 0x003a9cab}}, Y: Field{[10]uint32{0x0058663e, 0x0299b4b6, 0x0280925e, 0x0112145c, 0x00af4fb0, 0x03ab9fa5, 0x02856a44, 0x00b30a72, 0x018c0369, 0x00385d37}}}, + {X: Field{[10]uint32{0x00122327, 0x03e1b517, 0x01fa9a01, 0x0188d75e, 0x03165698, 0x02fce874, 0x03801f2a, 0x0148e980, 0x01343ca2, 0x000e564d}}, Y: Field{[10]uint32{0x0153dd96, 0x00b80026, 0x0175b45d, 0x021eb1b2, 0x0142a5b8, 0x0111d449, 0x01cbf0e9, 0x01b72154, 0x03e92cd7, 0x002b34f8}}}, + {X: Field{[10]uint32{0x002d4721, 0x038f827b, 0x02a3f246, 0x03e1c9d0, 0x034f74ef, 0x037eed46, 0x027d4b53, 0x01683da5, 0x022a375e, 0x00355eca}}, Y: Field{[10]uint32{0x013ed306, 0x03495443, 0x03b036a0, 0x0251c6b9, 0x01c0aeeb, 0x01209e07, 0x02c20913, 0x01fb0c43, 0x00484d10, 0x0004b5be}}}, + {X: Field{[10]uint32{0x002f1082, 0x02eabd91, 0x0119c59b, 0x023f5480, 0x01fc5def, 0x03804d75, 0x02c781af, 0x03bbd839, 0x03c51b99, 0x00027cb7}}, Y: Field{[10]uint32{0x0320dd0d, 0x022d5b96, 0x01a77e0f, 0x01626789, 0x017ad1d7, 0x02a5bf83, 0x03ca6e4e, 0x00c123e8, 0x0162fd27, 0x00023c82}}}, + {X: Field{[10]uint32{0x0229884b, 0x00b06f40, 0x0216a935, 0x01d96316, 0x01afa587, 0x03037b68, 0x0336c1f9, 0x03244d26, 0x03c6f030, 0x002c70c2}}, Y: Field{[10]uint32{0x02ecdfc3, 0x00e43187, 0x019f1939, 0x009fd4ed, 0x035563e7, 0x028b8a32, 0x01c63d18, 0x02223735, 0x01d16e77, 0x003e2916}}}, + {X: Field{[10]uint32{0x01c6e53b, 0x03866369, 0x002eb665, 0x00ce14f8, 0x02305429, 0x02ed7499, 0x01ad6f91, 0x0348dc4b, 0x03e740ca, 0x00022998}}, Y: Field{[10]uint32{0x035c1e99, 0x007bb9ae, 0x03812c0c, 0x03f8081d, 0x000786a8, 0x00ec2463, 0x00cf7116, 0x0174576b, 0x03995117, 0x003881ac}}}, + {X: Field{[10]uint32{0x012941a1, 0x02aa2d2a, 0x03696fe1, 0x03a09f98, 0x005f4a5a, 0x01b302c0, 0x00fac0a7, 0x0247bbd1, 0x02cbe0ca, 0x000ac255}}, Y: Field{[10]uint32{0x006cffd2, 0x00aa588e, 0x03423ddf, 0x03fb68a7, 0x033f84b8, 0x018989f8, 0x02e1e110, 0x013abe43, 0x03a8dd45, 0x0028c79b}}}, + {X: Field{[10]uint32{0x0262c3bd, 0x00a449b9, 0x01330d54, 0x02001a83, 0x006b0099, 0x03847ed3, 0x02381df7, 0x0325c3ad, 0x01517a2a, 0x00380510}}, Y: Field{[10]uint32{0x008dfcee, 0x02e8d810, 0x03a1e7f4, 0x00d12218, 0x03aeb3fd, 0x0234636f, 0x01639341, 0x03203085, 0x029ba691, 0x00208e33}}}, + {X: Field{[10]uint32{0x02c86c37, 0x008568df, 0x02eba08b, 0x035c78a2, 0x02f344e0, 0x01682d99, 0x0316c530, 0x00bccf2b, 0x013e8b06, 0x0002f8c8}}, Y: Field{[10]uint32{0x0151cd1f, 0x02ca725f, 0x00adc3f1, 0x00f7476c, 0x03550fb8, 0x014a8990, 0x03956838, 0x00e29335, 0x03baeaca, 0x00154948}}}, + {X: Field{[10]uint32{0x01e8ff2b, 0x03859faa, 0x030abc4f, 0x01b6d7ac, 0x001c18eb, 0x0396389d, 0x03aa1db9, 0x02f593f1, 0x03b6bfbf, 0x00188ce4}}, Y: Field{[10]uint32{0x00e42cd3, 0x03537f8d, 0x00b500ba, 0x025ed4ac, 0x031339a1, 0x028edee5, 0x025e316f, 0x016fca80, 0x0174f0fd, 0x001f0390}}}, + {X: Field{[10]uint32{0x01cfe97a, 0x00856c43, 0x0326fbc6, 0x02aa2bea, 0x01bffe79, 0x0233d02f, 0x01eb624b, 0x007a1d9a, 0x0302dd0a, 0x0036b7ad}}, Y: Field{[10]uint32{0x03253490, 0x030e37c5, 0x00bb48fb, 0x026686ac, 0x025a5225, 0x0334e6f2, 0x0260acb8, 0x026d04b5, 0x00cae4c2, 0x0024c224}}}, + {X: Field{[10]uint32{0x01362f33, 0x03edde32, 0x03c13627, 0x03563894, 0x010ac98a, 0x00986133, 0x01c9cfec, 0x026e0aec, 0x03b78317, 0x002d4a34}}, Y: Field{[10]uint32{0x038babab, 0x00af54b6, 0x004f047c, 0x00222ed1, 0x01aa902e, 0x028b4628, 0x0140676b, 0x0048a98e, 0x03af1545, 0x00018c80}}}, + {X: Field{[10]uint32{0x01734a6a, 0x0096adc4, 0x036e02d0, 0x018835d0, 0x017a4de5, 0x0013a7a0, 0x0018a5c8, 0x01b88ab9, 0x03e09398, 0x000bfc88}}, Y: Field{[10]uint32{0x0100f678, 0x029e7000, 0x000965ef, 0x01d75280, 0x03819904, 0x01e0e2ad, 0x0276d8a9, 0x036866f6, 0x0188ec9c, 0x00317234}}}, + {X: Field{[10]uint32{0x01eb1742, 0x01b9d2e6, 0x0312ff94, 0x03da67f1, 0x019ec839, 0x0322ac73, 0x03d2c393, 0x014f2733, 0x01d50e1e, 0x0032e1cc}}, Y: Field{[10]uint32{0x02d19fb5, 0x02394f3d, 0x0076d8c1, 0x0123921c, 0x00a9db38, 0x024b3a29, 0x01252480, 0x03141374, 0x01f838fe, 0x00334be7}}}, + {X: Field{[10]uint32{0x00cf4a2e, 0x02c49c78, 0x0379936b, 0x0376fa61, 0x006dac52, 0x03c9c9a4, 0x02c265aa, 0x02972ddb, 0x0045d776, 0x0004ddeb}}, Y: Field{[10]uint32{0x02a04670, 0x02b287b0, 0x010d4f34, 0x0154353b, 0x0025ab21, 0x036524f8, 0x027a8187, 0x0124cb56, 0x030dd595, 0x00292ccc}}}, + {X: Field{[10]uint32{0x001a5ccd, 0x006894d9, 0x00724c51, 0x01cdeb04, 0x0222fbac, 0x020107ea, 0x03489bd8, 0x031d7f80, 0x03f2f140, 0x002612e6}}, Y: Field{[10]uint32{0x00d14ff3, 0x0050c7f2, 0x02bb590b, 0x026a50a8, 0x03d82f4c, 0x03135431, 0x010ea82a, 0x03bb2e9d, 0x02399733, 0x00311d3d}}}, + {X: Field{[10]uint32{0x03bdcb06, 0x025835eb, 0x00c4d857, 0x01e5ca63, 0x01d50504, 0x0000afe6, 0x035d56ac, 0x01f3e6c4, 0x000074f5, 0x0012e3f4}}, Y: Field{[10]uint32{0x00c703bf, 0x038deccd, 0x0097e3a8, 0x03a531b4, 0x0095560e, 0x01833ddb, 0x01937a4c, 0x03dbddc8, 0x01031df0, 0x001f0110}}}, + {X: Field{[10]uint32{0x018b6079, 0x0215a0c8, 0x000b6605, 0x006e2fb3, 0x0334fc75, 0x022f4376, 0x01250b25, 0x0088d986, 0x02536841, 0x0015cc59}}, Y: Field{[10]uint32{0x01652904, 0x010142a4, 0x01c37da6, 0x016f8e8e, 0x0216f833, 0x022bf850, 0x0172898b, 0x00715d22, 0x024f30f0, 0x0034755b}}}, + {X: Field{[10]uint32{0x0369f286, 0x01c883f6, 0x03bd253c, 0x019d3cae, 0x00607373, 0x019f50fd, 0x032cb597, 0x005bcbef, 0x0197a0ff, 0x00326800}}, Y: Field{[10]uint32{0x00142f0b, 0x03314610, 0x034e4009, 0x03b694c7, 0x006b4dfe, 0x018172af, 0x02074b0c, 0x0045f077, 0x0383d739, 0x0005df19}}}, + {X: Field{[10]uint32{0x021881cb, 0x03b1b3a9, 0x03ff645e, 0x03d5fba2, 0x00c87b9e, 0x01e6cc02, 0x01616185, 0x008ea76c, 0x02da91df, 0x00388d05}}, Y: Field{[10]uint32{0x00b8da15, 0x01cb755c, 0x00137937, 0x03d28f78, 0x02e42fbc, 0x005c60a5, 0x02c82e0e, 0x00da479f, 0x017f8404, 0x00395590}}}, + {X: Field{[10]uint32{0x038e9ad8, 0x038a5558, 0x01c1e3b0, 0x03ba29d2, 0x0114293e, 0x01def62a, 0x0214c450, 0x01d4f399, 0x03f2369d, 0x0027e5b8}}, Y: Field{[10]uint32{0x021ddff1, 0x012cae68, 0x00ff6b49, 0x025b94a7, 0x039b01a3, 0x0104f83a, 0x0250d10e, 0x029369c5, 0x02681567, 0x003d7344}}}, + {X: Field{[10]uint32{0x01301fd2, 0x013efdae, 0x03d5f1d9, 0x01e16e90, 0x01ae4880, 0x039a8c91, 0x014317dd, 0x00048f35, 0x03a4b24b, 0x0012195e}}, Y: Field{[10]uint32{0x02f0d890, 0x02319beb, 0x03e36a4a, 0x02824a69, 0x00dd4931, 0x02a4086c, 0x013ca772, 0x00de04a0, 0x02c06eb5, 0x000647b7}}}, + {X: Field{[10]uint32{0x0236f24a, 0x021f9a5a, 0x032d4e01, 0x03201de0, 0x02c6c858, 0x00500b5e, 0x03155111, 0x02193632, 0x02e9d72e, 0x0019ecc8}}, Y: Field{[10]uint32{0x03f6946a, 0x03f7ceb1, 0x02208c3d, 0x019fdfe6, 0x030e15c8, 0x017eaa0c, 0x0387058c, 0x02fc54ef, 0x02c26b58, 0x0033fac4}}}, + {X: Field{[10]uint32{0x004ded15, 0x0381bc29, 0x02d40fbd, 0x004c5820, 0x03c545ba, 0x014800b6, 0x00e89250, 0x037663f3, 0x0068542b, 0x00010ba0}}, Y: Field{[10]uint32{0x03c4aae5, 0x0111146f, 0x02402bf6, 0x0139eab1, 0x01a1ee81, 0x0313c987, 0x03649158, 0x00f3d49c, 0x01b0c1f3, 0x0005916a}}}, + {X: Field{[10]uint32{0x0290d4c7, 0x0230417f, 0x00e30758, 0x03292a32, 0x013e058c, 0x02eeb001, 0x02191079, 0x01437555, 0x00e1339c, 0x0023b9f7}}, Y: Field{[10]uint32{0x02c9d5f9, 0x01a6a05b, 0x011d2b46, 0x03fc79bc, 0x0098e102, 0x036fa7f8, 0x01a61705, 0x0209e4b3, 0x02f48aae, 0x003fef42}}}, + {X: Field{[10]uint32{0x03a368e6, 0x01e2a087, 0x02ece559, 0x03c3319b, 0x0237a935, 0x02c82485, 0x01aaaf27, 0x01a9c5ab, 0x01041292, 0x0002af25}}, Y: Field{[10]uint32{0x01f79203, 0x0317db5c, 0x027c9624, 0x01234e91, 0x02155a4a, 0x036b93f4, 0x0375c484, 0x01879e7e, 0x0135e9b4, 0x001cb952}}}, + {X: Field{[10]uint32{0x02976ba8, 0x037746e9, 0x02f3b433, 0x0235e0fc, 0x00fd72fd, 0x000de3f3, 0x000568d4, 0x03a6d4ec, 0x032081e0, 0x002f4940}}, Y: Field{[10]uint32{0x003ceb39, 0x0318e55b, 0x021ca4c3, 0x01f4a75a, 0x02e8c4c8, 0x005ee39e, 0x00ca8797, 0x01526265, 0x03db8585, 0x0016b6e2}}}, + {X: Field{[10]uint32{0x02e25f71, 0x02297862, 0x00740c01, 0x03812222, 0x01b31609, 0x039ea836, 0x02e91677, 0x03a13926, 0x0262fbee, 0x0002d3ec}}, Y: Field{[10]uint32{0x0176e5fc, 0x0371fe38, 0x0003b24c, 0x00da3a8d, 0x01265d6d, 0x033d85ba, 0x00ecbe41, 0x00754496, 0x0386dc09, 0x000d37cf}}}, + {X: Field{[10]uint32{0x02605c01, 0x03a20cef, 0x021c495d, 0x005c86cd, 0x03e46048, 0x00418ed7, 0x005ad148, 0x013abe85, 0x036766f2, 0x00346ea6}}, Y: Field{[10]uint32{0x01e8400a, 0x011da8f6, 0x03a75068, 0x00f292e2, 0x01f87194, 0x0245f8ea, 0x03ce7f28, 0x00bc7998, 0x00bd17de, 0x003a029b}}}, + {X: Field{[10]uint32{0x022639b3, 0x009d4ba4, 0x01ba8373, 0x0009a771, 0x03a80c67, 0x03ae78aa, 0x006652d5, 0x016a34b5, 0x02b03a3e, 0x0017262d}}, Y: Field{[10]uint32{0x010f4a54, 0x03d944f1, 0x012e06b8, 0x02d98d4a, 0x006a35ef, 0x03e41e81, 0x011bd130, 0x003374b1, 0x039a145d, 0x0002078b}}}, + {X: Field{[10]uint32{0x002618f8, 0x036d7753, 0x02a840c8, 0x00382a1e, 0x02908abf, 0x03ec97cb, 0x00b70714, 0x02e1bd87, 0x0288f75f, 0x00307e91}}, Y: Field{[10]uint32{0x028397ea, 0x00f32e72, 0x01d9b204, 0x0396ae18, 0x039db869, 0x02aa44f2, 0x0355d0b1, 0x03c9b45f, 0x02776d4b, 0x003cbdd2}}}, + {X: Field{[10]uint32{0x03227ec1, 0x00ae9b3d, 0x01f76dc2, 0x022d1017, 0x0396aec7, 0x00269d56, 0x0062ba2f, 0x03acc947, 0x02e9a644, 0x00017a01}}, Y: Field{[10]uint32{0x033e614b, 0x013e1fe9, 0x01bba9d8, 0x03adcbcc, 0x02b871d2, 0x01d08c4e, 0x02caa050, 0x020a75ab, 0x0118d6a1, 0x002e2320}}}, + {X: Field{[10]uint32{0x01c8de9a, 0x018c9bb4, 0x00c1434c, 0x01b7bfd5, 0x01096863, 0x031e406f, 0x023d965b, 0x0069efd8, 0x03fefd2c, 0x003e7451}}, Y: Field{[10]uint32{0x029caffd, 0x01235cb4, 0x00c33cd5, 0x032e1260, 0x0040de44, 0x0045cc18, 0x027d77b4, 0x021b1e4e, 0x0249ab66, 0x0031e21c}}}, + {X: Field{[10]uint32{0x030ccdb1, 0x0283fb29, 0x0023babe, 0x02b8c5c4, 0x009f7020, 0x001e658d, 0x0138a1f5, 0x03447ea3, 0x015685f6, 0x002e6332}}, Y: Field{[10]uint32{0x010ecf7f, 0x00ab6f26, 0x01f49571, 0x0085c25d, 0x013dcbdf, 0x002208d5, 0x024cc0d4, 0x03a28dbb, 0x00953689, 0x003c1d35}}}, + {X: Field{[10]uint32{0x0017b474, 0x0229925a, 0x02b03464, 0x024fceed, 0x02184584, 0x0052f2e9, 0x01091dc7, 0x005f9fbe, 0x02d41008, 0x003c5872}}, Y: Field{[10]uint32{0x03740904, 0x0227db66, 0x01ffd612, 0x03e7e946, 0x01c4410a, 0x01798945, 0x0081eb24, 0x03cc908a, 0x012e396a, 0x002dfbae}}}, + {X: Field{[10]uint32{0x0326914c, 0x02c70214, 0x038fb1b7, 0x03da2899, 0x03fb54af, 0x01bb7022, 0x02abac24, 0x00187915, 0x00892ea4, 0x001f22db}}, Y: Field{[10]uint32{0x027692f8, 0x02722bd7, 0x015b10d6, 0x00f736ae, 0x02296072, 0x00acd1a0, 0x035eacd0, 0x034b0a7f, 0x03026ea1, 0x003c2387}}}, + {X: Field{[10]uint32{0x00f28729, 0x00d7bb49, 0x01e5dd36, 0x023dc937, 0x023ab207, 0x03dc681d, 0x01b93cce, 0x01196065, 0x029f1633, 0x00119a30}}, Y: Field{[10]uint32{0x0074ea4f, 0x039d0013, 0x00fa129e, 0x01f0bd87, 0x008fd22f, 0x02766545, 0x024c7233, 0x03b1480c, 0x00c98391, 0x00176c8a}}}, + {X: Field{[10]uint32{0x0167b65e, 0x0071f94c, 0x00b2f4e2, 0x00a724a4, 0x0296fa67, 0x00d9c994, 0x0239f8cf, 0x03697066, 0x00f39dd6, 0x000d10f4}}, Y: Field{[10]uint32{0x03429234, 0x01f03a25, 0x014b92a8, 0x002edfb6, 0x0114a432, 0x0301e514, 0x0131f637, 0x0237723b, 0x02399a08, 0x0012db6d}}}, + {X: Field{[10]uint32{0x03c227b4, 0x031e0422, 0x020e8ffe, 0x02a6beb0, 0x02458dbc, 0x015d3025, 0x0281e693, 0x013a5560, 0x010117a0, 0x0034f38d}}, Y: Field{[10]uint32{0x02eb9908, 0x01ff2ac1, 0x0384a9b7, 0x01ba4338, 0x007696ee, 0x03555ab4, 0x001e47f8, 0x01bba4d5, 0x03b9628f, 0x002f3f1d}}}, + {X: Field{[10]uint32{0x015127af, 0x0005583e, 0x03080233, 0x030f34b5, 0x00f2bc1a, 0x03782b0a, 0x01f86409, 0x00914888, 0x0363ad77, 0x00313718}}, Y: Field{[10]uint32{0x012d3038, 0x025ae2dd, 0x0271b3e0, 0x03165fda, 0x00038a79, 0x020d1494, 0x01bc9493, 0x0299990e, 0x028fd789, 0x001e326e}}}, + {X: Field{[10]uint32{0x015ac666, 0x034a769b, 0x01075b23, 0x0332ef37, 0x021bf4ed, 0x008f4b83, 0x0178d7a1, 0x011fb3f3, 0x0394221a, 0x00031dc7}}, Y: Field{[10]uint32{0x028d6091, 0x0157dc73, 0x01980d91, 0x01bd6e3d, 0x03f2ec52, 0x01778a4f, 0x00719246, 0x016abbd1, 0x0330829f, 0x00137b8e}}}, + {X: Field{[10]uint32{0x01e6e199, 0x00945f5e, 0x03d50e77, 0x02fc9d6b, 0x0136a1e9, 0x012287c9, 0x02516e64, 0x023dfd6d, 0x00e89633, 0x002ffe23}}, Y: Field{[10]uint32{0x0388c206, 0x01d05629, 0x03f68532, 0x00a6ed56, 0x01c15526, 0x03a5d876, 0x00b62117, 0x004293ac, 0x007ab620, 0x0023cfc3}}}, + {X: Field{[10]uint32{0x01a3b97a, 0x0287ca82, 0x002da576, 0x01dbcb38, 0x006a467e, 0x00f2b089, 0x010e7e3d, 0x02fc93a1, 0x00645d57, 0x0012bf34}}, Y: Field{[10]uint32{0x0110f0a2, 0x02b95393, 0x01f93984, 0x00ec301b, 0x00ef927d, 0x021db5b0, 0x00692f61, 0x02be4db3, 0x035487b2, 0x0014bc8e}}}, + {X: Field{[10]uint32{0x02b1f373, 0x022e884c, 0x03abdf8a, 0x00d26001, 0x0379e23c, 0x0136c04b, 0x03933fd9, 0x0038815f, 0x022cb9bf, 0x00312f04}}, Y: Field{[10]uint32{0x02fbfc6d, 0x01e21859, 0x00ce1a87, 0x02f5ef7e, 0x031daf76, 0x02ad5b5d, 0x005d4273, 0x0206eb71, 0x03b6a31d, 0x00390311}}}, + {X: Field{[10]uint32{0x01f821a8, 0x01a3c614, 0x019ddb4c, 0x0229f4d3, 0x02837a0f, 0x02ac46b2, 0x0223d27b, 0x01de4738, 0x01b1d1be, 0x00121e86}}, Y: Field{[10]uint32{0x01d0ef98, 0x027912a9, 0x00e67f51, 0x000dec97, 0x01055524, 0x0150578d, 0x02335544, 0x013a6821, 0x034316ff, 0x00294f35}}}, + {X: Field{[10]uint32{0x0301a326, 0x00cb2e10, 0x007f8106, 0x0202a162, 0x01f4ac3d, 0x022333ff, 0x02035165, 0x031d201d, 0x00ecbe06, 0x0009d28f}}, Y: Field{[10]uint32{0x01a9f40d, 0x02627121, 0x019b3ff4, 0x01e98efc, 0x035d06b4, 0x00e172db, 0x0272cab5, 0x022d1426, 0x03e3afbe, 0x0005e892}}}, + {X: Field{[10]uint32{0x03afa9e8, 0x01e4418c, 0x022c48a0, 0x01a8002f, 0x03e82fcc, 0x01563e74, 0x03fc34e7, 0x0266b00e, 0x0377b0cb, 0x000cacc7}}, Y: Field{[10]uint32{0x018f5bc2, 0x036a0297, 0x032a8993, 0x03542c5c, 0x0217f422, 0x02e0111c, 0x02b3f71d, 0x036a4383, 0x004cc191, 0x000111ed}}}, + {X: Field{[10]uint32{0x024a2752, 0x022e1680, 0x03c2925d, 0x038419b7, 0x03945285, 0x03f424cd, 0x0339d46f, 0x0051a370, 0x01cf5556, 0x001e30e7}}, Y: Field{[10]uint32{0x03a3ac55, 0x022119de, 0x009ce890, 0x00c57844, 0x02a66809, 0x03008f98, 0x03df63d5, 0x032a17ba, 0x01bb4e41, 0x0035a477}}}, + {X: Field{[10]uint32{0x0134e5ff, 0x035bece7, 0x0325fa04, 0x0258ac79, 0x00d2f21f, 0x03bbf06a, 0x0102116d, 0x001ddf11, 0x0111a492, 0x0017f1d6}}, Y: Field{[10]uint32{0x017512f2, 0x0182ecd2, 0x00d507a4, 0x01892dca, 0x01f3fe16, 0x0284e5d2, 0x03524d96, 0x0221737f, 0x037f18f5, 0x00167cdb}}}, + {X: Field{[10]uint32{0x0108fa8a, 0x00a274eb, 0x0364ae38, 0x039bda4e, 0x01fa62dd, 0x038d1b86, 0x010fc164, 0x00ad269b, 0x00e9152b, 0x00328564}}, Y: Field{[10]uint32{0x0046dc8c, 0x023fcc20, 0x007f524a, 0x01124da5, 0x01535ea7, 0x00499157, 0x029eae17, 0x03b5d527, 0x033c1174, 0x0011a9ee}}}, + {X: Field{[10]uint32{0x0111fa1f, 0x01433767, 0x037f1f3d, 0x02f16ea6, 0x01743d94, 0x03d9b56b, 0x036e660b, 0x02f7ae9f, 0x02665ff0, 0x00171c54}}, Y: Field{[10]uint32{0x0073a03e, 0x03ffa711, 0x00c39b31, 0x02903c82, 0x02e41684, 0x03333293, 0x01ee9ddc, 0x02570e88, 0x031556e9, 0x001f688e}}}, + {X: Field{[10]uint32{0x00177e82, 0x0361a139, 0x017c8c29, 0x03387255, 0x03fa0c09, 0x03cb840c, 0x01c38774, 0x031ce957, 0x01a36361, 0x0031fdc7}}, Y: Field{[10]uint32{0x01b0dedf, 0x03b6e156, 0x01f92078, 0x0030d0a7, 0x0177c6f5, 0x0013c3e5, 0x022dbf9a, 0x033b2dac, 0x007fb5c2, 0x000235b9}}}, + {X: Field{[10]uint32{0x0058afab, 0x00070af7, 0x0316da01, 0x03339be9, 0x024130b4, 0x00cedd4d, 0x01259004, 0x0284f8de, 0x019f5264, 0x001ba46f}}, Y: Field{[10]uint32{0x00fd604f, 0x008e946d, 0x034499ed, 0x00d077d6, 0x01ee0f94, 0x00826a80, 0x0020c20f, 0x01612576, 0x0055506b, 0x0016ea9d}}}, + {X: Field{[10]uint32{0x02ef0d33, 0x015065ae, 0x01072689, 0x0280d416, 0x03244907, 0x00cc8a04, 0x01c789df, 0x01f2ff1d, 0x028e69ac, 0x0007c037}}, Y: Field{[10]uint32{0x02e040f4, 0x020dc0f6, 0x02feab2e, 0x032106e9, 0x020e65fe, 0x0120ad9e, 0x000c30b4, 0x00c3b4a0, 0x0290f323, 0x000a24b3}}}, + {X: Field{[10]uint32{0x01300638, 0x01e4515f, 0x01e1091d, 0x002c8c93, 0x001a2f5b, 0x01c76356, 0x01efa3ad, 0x0311a508, 0x03f507d8, 0x0030004c}}, Y: Field{[10]uint32{0x00f18895, 0x010d3b4d, 0x027a2f86, 0x004bf72d, 0x031aa3dc, 0x027a38c6, 0x005ea455, 0x03a60b74, 0x01820d3e, 0x000f1dac}}}, + {X: Field{[10]uint32{0x020cad49, 0x03a420f1, 0x0248d2f8, 0x03819b37, 0x00cdb172, 0x012efe5c, 0x00ef7560, 0x009a784b, 0x01e795e8, 0x0002bd8e}}, Y: Field{[10]uint32{0x0026abb4, 0x00b11d09, 0x03219808, 0x02bd59ce, 0x030c479d, 0x03477921, 0x0014a74c, 0x0334a439, 0x0179ce92, 0x0006f404}}}, + {X: Field{[10]uint32{0x01f4c9a1, 0x01e5e5cc, 0x00cd54e9, 0x00e22dcf, 0x00ede585, 0x03af2e68, 0x03a0a5d8, 0x03011063, 0x027d5447, 0x0039b6f4}}, Y: Field{[10]uint32{0x01242153, 0x037aaf8f, 0x038ee6b5, 0x00dcd236, 0x01a20710, 0x03433e2f, 0x00c780a0, 0x020c80f5, 0x0124f284, 0x001dfce1}}}, + {X: Field{[10]uint32{0x036360a9, 0x037f54cc, 0x0246e4c2, 0x007b9015, 0x028d1e3e, 0x0304467a, 0x02dd904e, 0x01c2ab40, 0x0123c95b, 0x003d46a3}}, Y: Field{[10]uint32{0x00f46c57, 0x012c6a70, 0x0113873e, 0x02ad4651, 0x02ae5c6a, 0x02566b36, 0x03488714, 0x00f3d831, 0x009a1d70, 0x00109acb}}}, + {X: Field{[10]uint32{0x00f6bcf4, 0x01135428, 0x01863429, 0x02b07b91, 0x00a3e4d1, 0x00eb8e98, 0x038d8fc3, 0x00dedfd5, 0x01e70fe4, 0x00384bc4}}, Y: Field{[10]uint32{0x0019f5d2, 0x01b64011, 0x01253e3c, 0x0359b71f, 0x038bfec8, 0x00453255, 0x03985b14, 0x0226ad58, 0x015835fa, 0x0008b457}}}, + {X: Field{[10]uint32{0x0188e14c, 0x02f1fb7a, 0x00bb9bf6, 0x01467624, 0x03ac6193, 0x02562853, 0x0351e56d, 0x018b418b, 0x020a8ec7, 0x0039d621}}, Y: Field{[10]uint32{0x027ecd78, 0x0070a5d5, 0x03b23ec4, 0x0208ec00, 0x03104386, 0x032d1d43, 0x008d780d, 0x013c87ee, 0x00ef10b8, 0x0010b678}}}, + {X: Field{[10]uint32{0x00a64163, 0x00e8e608, 0x032c6e42, 0x020bbe47, 0x02d47998, 0x022952de, 0x022b90c7, 0x00797360, 0x03e90ba2, 0x000f24cf}}, Y: Field{[10]uint32{0x029080df, 0x00b77cd9, 0x03f96b67, 0x00d447d9, 0x017fc161, 0x01c02d2b, 0x01b23a56, 0x008b8b29, 0x00be5319, 0x00307aa8}}}, + {X: Field{[10]uint32{0x02857872, 0x004d3f7a, 0x00e07939, 0x0138f027, 0x00df828e, 0x02469e70, 0x02b6b08e, 0x0019b2db, 0x036a83c9, 0x0011d5d5}}, Y: Field{[10]uint32{0x0038277a, 0x03b9b183, 0x00d7b058, 0x03a27654, 0x01818248, 0x0249c311, 0x03e8388d, 0x01fc5778, 0x03b262d7, 0x0004fc8b}}}, + {X: Field{[10]uint32{0x031045c7, 0x0275ad00, 0x00aa8012, 0x03361987, 0x0246570f, 0x029fffd0, 0x01df9039, 0x014502c6, 0x01037008, 0x000d798e}}, Y: Field{[10]uint32{0x01b9e8c9, 0x0272b979, 0x011f1b0e, 0x02b6961a, 0x0053cfb3, 0x00f0a3a1, 0x004f022b, 0x018361a9, 0x00bcaa9d, 0x000a157d}}}, + {X: Field{[10]uint32{0x02126fa3, 0x0398cb8c, 0x024fe82b, 0x0371aa2f, 0x02ad5330, 0x0342a17d, 0x025f0316, 0x02081cd5, 0x02011f11, 0x002b511b}}, Y: Field{[10]uint32{0x00e83e39, 0x00653d8a, 0x00d4315c, 0x0150bdcc, 0x021d8acb, 0x02b03aac, 0x012b2f81, 0x038fd47e, 0x02f1dece, 0x000900e0}}}, + {X: Field{[10]uint32{0x02718815, 0x0359001a, 0x021aff82, 0x03d75dd1, 0x0289164e, 0x03108869, 0x00af7529, 0x02b0de08, 0x01f3eb01, 0x003efa79}}, Y: Field{[10]uint32{0x02d088e6, 0x0007fd84, 0x00468478, 0x0210aafe, 0x01ba2073, 0x0137a485, 0x013e0884, 0x00b8338e, 0x00add85a, 0x003cbcc3}}}, + {X: Field{[10]uint32{0x03038135, 0x014bc4ce, 0x029166e9, 0x03d8cb4c, 0x00b9b585, 0x020b326e, 0x0149aa24, 0x03d0c281, 0x0320d81f, 0x000799d4}}, Y: Field{[10]uint32{0x00686aa7, 0x02d326bc, 0x01db1b44, 0x006cd9b4, 0x002e2c7f, 0x02621c03, 0x03aa5de2, 0x03665716, 0x0276c9c7, 0x003283c4}}}, + {X: Field{[10]uint32{0x02267718, 0x00e45f35, 0x0285f359, 0x010cc383, 0x0394c3f6, 0x0349e492, 0x02b8068a, 0x0394ae8b, 0x037023b0, 0x0005db71}}, Y: Field{[10]uint32{0x017ca8d9, 0x003cff8a, 0x02701d51, 0x03da1746, 0x000548d4, 0x03d98254, 0x010686fd, 0x016c1bd1, 0x02885df7, 0x0034b718}}}, + {X: Field{[10]uint32{0x01a9c938, 0x002aded0, 0x008dd99a, 0x01080f3f, 0x017ac839, 0x0331f150, 0x02feadbc, 0x00aceacd, 0x02c232a0, 0x000f214d}}, Y: Field{[10]uint32{0x025186b5, 0x013d6b68, 0x03d9dbdc, 0x014b5a8e, 0x018ebc7f, 0x00c08ab4, 0x00dd8f17, 0x0344ab49, 0x02a5249c, 0x0029a13b}}}, + {X: Field{[10]uint32{0x02f006fd, 0x028c8b5e, 0x014a5605, 0x000f58f1, 0x00ec6ea0, 0x02a20466, 0x00c446fb, 0x01dadb95, 0x03abc61a, 0x00122a9c}}, Y: Field{[10]uint32{0x02403a64, 0x03e64d63, 0x00d4ecdb, 0x02dc1039, 0x035977fa, 0x033cf77c, 0x00185065, 0x002208b4, 0x02eeffb2, 0x0030a317}}}, + {X: Field{[10]uint32{0x03cc1ff1, 0x028e86d4, 0x024cbd83, 0x0034329f, 0x01263d17, 0x022eb292, 0x02d2b363, 0x000a3676, 0x03620abd, 0x001d1cc9}}, Y: Field{[10]uint32{0x0136c2c6, 0x02f5a779, 0x01f3fddf, 0x03f982ea, 0x00927a88, 0x03008edb, 0x02ef7ce5, 0x02827cfc, 0x030ce8df, 0x00328477}}}, + {X: Field{[10]uint32{0x01698522, 0x01cb16e5, 0x0002eb86, 0x0095491f, 0x01a40427, 0x0053fa40, 0x03dc9188, 0x016455d9, 0x0309520e, 0x003adc6a}}, Y: Field{[10]uint32{0x0148e995, 0x027d5b93, 0x031eb874, 0x0007001f, 0x01c81b69, 0x0008ecaa, 0x02563cb2, 0x016ce3b5, 0x02e0a7e9, 0x0017eb5e}}}, + {X: Field{[10]uint32{0x02f5be6b, 0x0110dc5f, 0x021cef84, 0x0256595d, 0x02af5e86, 0x02c5e731, 0x02da74be, 0x00f7d5cb, 0x03f6c776, 0x000ac406}}, Y: Field{[10]uint32{0x03140ce9, 0x03fa188f, 0x02597067, 0x0065fe26, 0x01f66647, 0x03c96108, 0x014629fe, 0x0068f663, 0x02c84e1d, 0x00003745}}}, + {X: Field{[10]uint32{0x020ab337, 0x02910d9b, 0x033ebca2, 0x03fa3cec, 0x0213976a, 0x017a06e8, 0x032b0507, 0x0195494c, 0x03a82c66, 0x0028267b}}, Y: Field{[10]uint32{0x01136c07, 0x02a66f57, 0x013abdc0, 0x02d796dd, 0x02fb1e33, 0x0049ab32, 0x016c7faa, 0x03cacf77, 0x017b5cf1, 0x003e20e5}}}, + {X: Field{[10]uint32{0x0362f95d, 0x02f267e2, 0x00f153d5, 0x03340bd6, 0x018cc107, 0x01c2f7ac, 0x032ab6d4, 0x00f3a56d, 0x0056a61c, 0x003d0e5a}}, Y: Field{[10]uint32{0x029f6133, 0x01db005b, 0x02567cfd, 0x03cf87bc, 0x03df81c2, 0x00c9d398, 0x03240caf, 0x02c2c019, 0x011aa8ed, 0x001b8fab}}}, + {X: Field{[10]uint32{0x014050c0, 0x038e1fda, 0x00008bd5, 0x01f12516, 0x0353215b, 0x0124f600, 0x00aabe5a, 0x02ec6128, 0x019726aa, 0x00369cc8}}, Y: Field{[10]uint32{0x01a0eeb6, 0x0211813a, 0x01b4666d, 0x01339f38, 0x019489af, 0x017a5538, 0x00b987d8, 0x012da1af, 0x03291772, 0x003881d7}}}, + {X: Field{[10]uint32{0x000a6792, 0x01359be6, 0x02f4575f, 0x0345343c, 0x018fea44, 0x025d0080, 0x0259c09b, 0x01860fd0, 0x021e1959, 0x002645c6}}, Y: Field{[10]uint32{0x01219a4f, 0x01d9ec5d, 0x03f5f27a, 0x034b9d81, 0x0066af1b, 0x0381efb0, 0x032cbd80, 0x03bbcf9f, 0x000c83e1, 0x00148ae1}}}, + {X: Field{[10]uint32{0x018cf08f, 0x034d329d, 0x0323f8f0, 0x03da44cc, 0x001db7bc, 0x01122270, 0x008997a9, 0x013cd890, 0x02848a2c, 0x000d4f31}}, Y: Field{[10]uint32{0x0267ebe7, 0x01449373, 0x01fa243d, 0x0051b839, 0x0097effd, 0x000a0d32, 0x02b283f7, 0x000559f8, 0x0062f4ba, 0x0006196f}}}, + {X: Field{[10]uint32{0x02312852, 0x0090b75e, 0x026d5deb, 0x00f755e8, 0x01b9ed7e, 0x02dbf330, 0x027c77f1, 0x034f4e39, 0x003b5053, 0x0022c5a6}}, Y: Field{[10]uint32{0x005d47c6, 0x03217976, 0x00e9fbe6, 0x034b1ca8, 0x000caeb3, 0x03fd26b2, 0x02adeedc, 0x014f4e55, 0x0392fa59, 0x0012764f}}}, + {X: Field{[10]uint32{0x010cabc9, 0x0381191d, 0x002ef505, 0x00c0eeb0, 0x02efb367, 0x020fed88, 0x03b25130, 0x00c9f089, 0x02a4b1da, 0x001a3d77}}, Y: Field{[10]uint32{0x03d31782, 0x01a263f8, 0x0350c435, 0x0115c72d, 0x02146de0, 0x01b271d0, 0x01257744, 0x012e76bb, 0x039c5d62, 0x00099d03}}}, + {X: Field{[10]uint32{0x020c699b, 0x02ec8080, 0x01244e74, 0x001a6156, 0x03cc9367, 0x008229b5, 0x019d8bd7, 0x03c03238, 0x007fc3ac, 0x003ebd48}}, Y: Field{[10]uint32{0x02f1936c, 0x019282f3, 0x03eebb85, 0x009c2181, 0x03d42c15, 0x01c77a39, 0x00186ac9, 0x031b952b, 0x004617a6, 0x003eaded}}}, + {X: Field{[10]uint32{0x00d17630, 0x03d4207a, 0x004a2bca, 0x00828998, 0x02917c04, 0x00bc0685, 0x0204707a, 0x0316f4f6, 0x0291b541, 0x0030f46a}}, Y: Field{[10]uint32{0x00d9ce27, 0x03450d7f, 0x02c64d8c, 0x028d1324, 0x01c9b631, 0x0397ded1, 0x02d7ce54, 0x031017c1, 0x006e5a58, 0x0016d5e0}}}, + {X: Field{[10]uint32{0x02c8db1a, 0x03267ea2, 0x01455623, 0x016bf8b0, 0x0254b5bd, 0x0246cc3c, 0x00db5263, 0x02e48114, 0x02354970, 0x0008c9e2}}, Y: Field{[10]uint32{0x00e1888b, 0x03b91064, 0x0144d55d, 0x01afef48, 0x03357048, 0x018150b7, 0x0093b746, 0x02791c6b, 0x01dae8df, 0x00219360}}}, + {X: Field{[10]uint32{0x038c0146, 0x01d97151, 0x02d25485, 0x00ac3b2b, 0x017c12c3, 0x02773440, 0x00de4ab2, 0x0329341d, 0x018133cb, 0x00180bd8}}, Y: Field{[10]uint32{0x027aa968, 0x02791800, 0x0011f91c, 0x010b39a8, 0x019ffab3, 0x0266e721, 0x03d2da15, 0x030d43dd, 0x03b7279e, 0x001310b3}}}, + {X: Field{[10]uint32{0x01843ee9, 0x03b2ab49, 0x02690fd4, 0x02af1e58, 0x03c545a9, 0x0373233f, 0x002aa463, 0x030ec976, 0x03c70126, 0x00077133}}, Y: Field{[10]uint32{0x03fedeb1, 0x0097986c, 0x003ac182, 0x02e4aa6d, 0x036002b1, 0x0178cabe, 0x0020f172, 0x0155d4d6, 0x01825c53, 0x002a4d5e}}}, + {X: Field{[10]uint32{0x0235af82, 0x0308f3f3, 0x028b33c6, 0x037e2c13, 0x01887a95, 0x032997f1, 0x00d99108, 0x02f1e453, 0x01216e02, 0x000da53c}}, Y: Field{[10]uint32{0x00555d88, 0x00d9090e, 0x006d1d1c, 0x03266e0e, 0x02c61e57, 0x021162e7, 0x016e7428, 0x0065db51, 0x0291b1c4, 0x001fffb8}}}, + {X: Field{[10]uint32{0x01f1bdbf, 0x0248ac87, 0x003b4b65, 0x00eea483, 0x00457be0, 0x03c1b0b1, 0x00725e0a, 0x019081ee, 0x0275a959, 0x001d0eb6}}, Y: Field{[10]uint32{0x000f908f, 0x035c5d6d, 0x026c0b16, 0x03e4e6c4, 0x035629b9, 0x00b706d0, 0x00c23ed9, 0x03176027, 0x01b55ac4, 0x0023cae0}}}, + {X: Field{[10]uint32{0x02420085, 0x02bdf5ac, 0x0394f210, 0x00b89b5b, 0x00f047cf, 0x0011181f, 0x00c42d7f, 0x03129ee7, 0x03977c7c, 0x0002ffa4}}, Y: Field{[10]uint32{0x02373d64, 0x00241beb, 0x01d92126, 0x03fa80b8, 0x01666c3d, 0x037b94f5, 0x02f2b510, 0x03720c07, 0x00598f80, 0x00189758}}}, + {X: Field{[10]uint32{0x03240eb9, 0x01b62e46, 0x01f8373e, 0x03ff21e5, 0x01cb56eb, 0x0219e86b, 0x01447517, 0x011b230a, 0x000e6ee6, 0x0021b00b}}, Y: Field{[10]uint32{0x005be4ed, 0x0299abf2, 0x037b40bf, 0x01224591, 0x0159d39f, 0x03d5be02, 0x02af5290, 0x004262dd, 0x029fda4b, 0x001966d7}}}, + {X: Field{[10]uint32{0x007bfda4, 0x02a48a4e, 0x02ce5dc3, 0x011d2e0a, 0x026c4f8f, 0x02a13719, 0x01d357d3, 0x0007a665, 0x0045857f, 0x000eca04}}, Y: Field{[10]uint32{0x02e9fd4c, 0x02039ff4, 0x00f8a16d, 0x008cfd40, 0x01e318a1, 0x03cc4f6b, 0x007c42f1, 0x0055091f, 0x032ccdeb, 0x00265209}}}, + {X: Field{[10]uint32{0x02fc47c0, 0x0294a13f, 0x007a3da9, 0x02380cc2, 0x02985903, 0x01b5bfca, 0x004d33d4, 0x025e7c14, 0x01d3b54d, 0x00337733}}, Y: Field{[10]uint32{0x016683b8, 0x00ebad01, 0x00321213, 0x02469fac, 0x010196c9, 0x001f7759, 0x0191e5e8, 0x004f0513, 0x03f83693, 0x0027ca84}}}, + {X: Field{[10]uint32{0x030e16d7, 0x014b0d21, 0x00088403, 0x027ccdc2, 0x018f8c2e, 0x0008c9c4, 0x034462bd, 0x00f76fb8, 0x0102a602, 0x00260401}}, Y: Field{[10]uint32{0x0169b9cb, 0x0253a406, 0x01a5747a, 0x019af5c8, 0x004cf8fb, 0x0152a13b, 0x0381c084, 0x00ecec78, 0x02f469af, 0x0006a2ff}}}, + {X: Field{[10]uint32{0x01978179, 0x0088f966, 0x02316c90, 0x03e6cd77, 0x03c26092, 0x02e08492, 0x00168479, 0x005e6c24, 0x017db2fc, 0x0022dd9d}}, Y: Field{[10]uint32{0x02b16f05, 0x03e69cd0, 0x009606ea, 0x01a07a2d, 0x01ee4492, 0x00459cc8, 0x01a71a6a, 0x01972950, 0x0326588e, 0x0011fabc}}}, + {X: Field{[10]uint32{0x02cc3b43, 0x015c759f, 0x02771bf2, 0x02cb557a, 0x0045c83b, 0x01ac3187, 0x004d8a94, 0x02d981bd, 0x03dc897f, 0x00399bb5}}, Y: Field{[10]uint32{0x0214dcbe, 0x03316a7c, 0x01810518, 0x03e64dd3, 0x017f1745, 0x0229016f, 0x00ffd470, 0x03fd3b1b, 0x039b8a9f, 0x00394dbd}}}, + {X: Field{[10]uint32{0x02bc88c8, 0x01aa84fc, 0x020d2262, 0x00241a82, 0x01ead632, 0x03bd7045, 0x02ad0656, 0x002e7e33, 0x0192cc9c, 0x00381801}}, Y: Field{[10]uint32{0x035a584f, 0x035472df, 0x03f7ca42, 0x01775527, 0x02e7f75f, 0x0304e105, 0x02552544, 0x01c1745b, 0x00b78b84, 0x0018a365}}}, + {X: Field{[10]uint32{0x01152767, 0x016b01c6, 0x02cfbffc, 0x0109ace4, 0x0362db2e, 0x018f8bc1, 0x0358fc70, 0x00975331, 0x0242a9cf, 0x0006c2bc}}, Y: Field{[10]uint32{0x0056a2be, 0x010ff0f2, 0x035a0ed0, 0x012c0be5, 0x00592dec, 0x024d5012, 0x0128da0d, 0x0015668f, 0x02a5eec3, 0x000ceba2}}}, + {X: Field{[10]uint32{0x035acb7d, 0x02a935ab, 0x00ed5439, 0x0137396f, 0x009b8092, 0x02c2f2fc, 0x005beeed, 0x01fb68d4, 0x03aa142f, 0x0038813f}}, Y: Field{[10]uint32{0x018911ba, 0x0136d257, 0x0159e692, 0x00c11e69, 0x03a02f70, 0x03bcb08a, 0x02acdd1a, 0x005466b7, 0x019b98e1, 0x0028a013}}}, + {X: Field{[10]uint32{0x01515ed5, 0x03c26683, 0x0196469c, 0x03d24a11, 0x00a35431, 0x00c5cf53, 0x00ea1fc1, 0x00c7d885, 0x02676515, 0x002bf103}}, Y: Field{[10]uint32{0x00b648e0, 0x01b4ccc0, 0x01b45589, 0x001f34ef, 0x035e6297, 0x02c13499, 0x02e85963, 0x0037a4ca, 0x02f41e48, 0x0015fbdb}}}, + {X: Field{[10]uint32{0x03e8d226, 0x037b88aa, 0x001d4690, 0x00197298, 0x01729634, 0x017038f2, 0x00588b04, 0x01907e00, 0x03db747b, 0x001654e2}}, Y: Field{[10]uint32{0x002d4438, 0x000c773b, 0x00e28652, 0x00a174de, 0x0352ca7a, 0x037a5821, 0x026547a3, 0x0270d530, 0x006a3c91, 0x00280c12}}}, + {X: Field{[10]uint32{0x0197ed8f, 0x0391a6aa, 0x026f1efb, 0x01106012, 0x02b964cf, 0x03b6ca9d, 0x03a4baeb, 0x0100a318, 0x034fc38d, 0x001aa474}}, Y: Field{[10]uint32{0x01073260, 0x00075d76, 0x02a00f2b, 0x034729b3, 0x0345f221, 0x034f9cfa, 0x02ead10d, 0x0149d0b4, 0x00836a0b, 0x000c9403}}}, + {X: Field{[10]uint32{0x02c28d61, 0x018330a2, 0x02ee8f77, 0x02772170, 0x00332ae3, 0x038870d1, 0x01c44ab5, 0x025fba5f, 0x0287b11d, 0x00249839}}, Y: Field{[10]uint32{0x0223e778, 0x03a61458, 0x01d1892c, 0x020e8cf9, 0x01c1d13e, 0x03736765, 0x0124f5e2, 0x01953bdc, 0x033de8d8, 0x0003d1f7}}}, + {X: Field{[10]uint32{0x00fe3cba, 0x02410413, 0x03e06a03, 0x030f73e6, 0x00b48820, 0x02d3ca4f, 0x038561f4, 0x03cc07d9, 0x03337a66, 0x000d2439}}, Y: Field{[10]uint32{0x029bbd6c, 0x0281c857, 0x006f1f5e, 0x00d94ca2, 0x02a81695, 0x016eec8a, 0x03876368, 0x01c2b1d3, 0x02797edb, 0x00125646}}}, + {X: Field{[10]uint32{0x0107b4a0, 0x0029a023, 0x03c8a6ec, 0x02049e00, 0x01d71d7a, 0x02a55228, 0x00b1311e, 0x02a68df7, 0x00fe1f47, 0x0025ca7d}}, Y: Field{[10]uint32{0x0317f896, 0x02e2bcba, 0x0386c2dc, 0x01cffa2a, 0x01c8f03d, 0x008bbfa9, 0x03ee569e, 0x03f5ca39, 0x01d4ccc4, 0x0015b869}}}, + {X: Field{[10]uint32{0x029c2caf, 0x036360eb, 0x034b1c37, 0x02d60332, 0x005e694e, 0x0200113c, 0x03d77a66, 0x0108f473, 0x004f06da, 0x002bd8e4}}, Y: Field{[10]uint32{0x03e110b2, 0x006cc1b6, 0x02400f3d, 0x003df1e6, 0x01b8cfaf, 0x029f8bb7, 0x01fa10b4, 0x02e52345, 0x002f5fe2, 0x001b7b37}}}, + {X: Field{[10]uint32{0x00435a3f, 0x00bede8b, 0x031f2f24, 0x03831ede, 0x01403cf0, 0x01f0a53f, 0x0274edf8, 0x007c8688, 0x03721f4a, 0x002589c7}}, Y: Field{[10]uint32{0x025adddf, 0x03d6c872, 0x01e7951c, 0x01deb904, 0x01719400, 0x027dba52, 0x03bbca44, 0x033f54af, 0x00731fc8, 0x0019bfef}}}, + {X: Field{[10]uint32{0x03717c7d, 0x03653292, 0x0296a95b, 0x00f1fb89, 0x00dfa5a1, 0x02ea3658, 0x0027287e, 0x03168056, 0x02151f0c, 0x00290bbc}}, Y: Field{[10]uint32{0x00046fec, 0x0257dad4, 0x03a1ba49, 0x01c82d48, 0x02e32431, 0x0051823b, 0x02969298, 0x029644c8, 0x02d45f08, 0x00179247}}}, + {X: Field{[10]uint32{0x0062e5e4, 0x00b01eee, 0x02c2f7fb, 0x00ac4d6f, 0x00fc4ce9, 0x022f89e0, 0x019c2896, 0x029d5f61, 0x01ede770, 0x00064ecf}}, Y: Field{[10]uint32{0x00716700, 0x0066d7bc, 0x0177522d, 0x01026031, 0x02d1d1d7, 0x02378155, 0x01d5cd13, 0x01cd7828, 0x03baffbb, 0x00064b12}}}, + {X: Field{[10]uint32{0x001e8dc7, 0x0029f3a3, 0x02029e29, 0x02c389d5, 0x02054084, 0x01bfbbcf, 0x03b4fc82, 0x0113933c, 0x0075da6f, 0x00333e68}}, Y: Field{[10]uint32{0x0235a183, 0x02c83266, 0x03a67bf6, 0x0247ffa6, 0x020a5d64, 0x00208671, 0x020f0a23, 0x030c2e40, 0x004dccf2, 0x003413e1}}}, + {X: Field{[10]uint32{0x025b0140, 0x039eb3b4, 0x03831873, 0x02e5b738, 0x00d3ddff, 0x02614c82, 0x00ec69ef, 0x02ed0fd8, 0x025b1d69, 0x001fafa8}}, Y: Field{[10]uint32{0x03ec3d65, 0x00f9f293, 0x01d16fc8, 0x01d62557, 0x002a9483, 0x004e8fce, 0x031a47d0, 0x0358dd53, 0x02f2bf87, 0x00091502}}}, + {X: Field{[10]uint32{0x00a038c7, 0x004718e1, 0x02e45d71, 0x03af5ca6, 0x02674662, 0x00e11e2d, 0x03ff0380, 0x006c066d, 0x034ac2a3, 0x0000327a}}, Y: Field{[10]uint32{0x01f32240, 0x02f77b60, 0x016a6e26, 0x02cca744, 0x0312f6e8, 0x022b90a8, 0x032b90d7, 0x00fd3afb, 0x003dcaed, 0x001f8bb8}}}, + {X: Field{[10]uint32{0x01acd867, 0x03651bf9, 0x007b87fe, 0x00361b15, 0x02cd0b29, 0x03f61ed2, 0x0323bc5c, 0x013a7a9e, 0x020c08c8, 0x00115d5b}}, Y: Field{[10]uint32{0x00acdd1f, 0x0076829c, 0x00413461, 0x00b216c2, 0x0031326e, 0x01f705b4, 0x03984c3d, 0x03005cf6, 0x022ce577, 0x00270fd4}}}, + {X: Field{[10]uint32{0x03e3c0da, 0x0036dfc4, 0x0225ce4a, 0x039c42ae, 0x0359438d, 0x0197891d, 0x009e3416, 0x0358db1e, 0x008121be, 0x0006f561}}, Y: Field{[10]uint32{0x0386a90b, 0x03d0d451, 0x008e7350, 0x035e5627, 0x00ffd4d6, 0x001e1d0c, 0x028a7b75, 0x014e658e, 0x0097bf90, 0x0032c3ae}}}, + {X: Field{[10]uint32{0x01324dc1, 0x01f3b676, 0x00063054, 0x038333e9, 0x0032eda7, 0x01677663, 0x02a80a97, 0x026e9612, 0x022c8e80, 0x003c6655}}, Y: Field{[10]uint32{0x0008d1d0, 0x026b1ead, 0x00f32400, 0x0047374e, 0x022f7ea8, 0x00f28537, 0x01dbcea3, 0x00126252, 0x02ad7643, 0x000cd467}}}, + {X: Field{[10]uint32{0x005ea6f3, 0x00f4f53d, 0x03559674, 0x03a61372, 0x02975319, 0x00162548, 0x02ac3b93, 0x01f707d5, 0x0110e9e3, 0x001fed3a}}, Y: Field{[10]uint32{0x03c960ee, 0x00341399, 0x0062855f, 0x029ef553, 0x005f4d94, 0x038c80f7, 0x02b59bcf, 0x03b273cd, 0x003c0cdb, 0x0002dd28}}}, + {X: Field{[10]uint32{0x006c03e6, 0x03ea7fa2, 0x031364c6, 0x0229ae73, 0x03c1a1d6, 0x0137108c, 0x02270205, 0x0275e2b2, 0x00fd1983, 0x00140f42}}, Y: Field{[10]uint32{0x02448e0a, 0x00def463, 0x02f77589, 0x0355f10d, 0x02698459, 0x01cf48f7, 0x01059144, 0x03ae1ef6, 0x01db9a09, 0x00212b65}}}, + {X: Field{[10]uint32{0x01e1e713, 0x025820d4, 0x02c25091, 0x032390be, 0x0162db42, 0x021c5629, 0x02d0deac, 0x034f8961, 0x0204e6ae, 0x000cd724}}, Y: Field{[10]uint32{0x00c1c2f9, 0x027c2b3d, 0x01ce67ef, 0x01774d06, 0x0049b60c, 0x004bf761, 0x00849d42, 0x02fb8a50, 0x01bb10f8, 0x00056cd6}}}, + {X: Field{[10]uint32{0x0034bc9f, 0x01104d0a, 0x035ef30c, 0x0262738f, 0x00f218c2, 0x01c82ed4, 0x01117df5, 0x00567e08, 0x01cbe0f7, 0x002e9a39}}, Y: Field{[10]uint32{0x00fa5d72, 0x01ef2510, 0x017f3ca5, 0x011dc719, 0x03101ff4, 0x0104a8a1, 0x005a2ede, 0x01393bfd, 0x03dd0ff3, 0x000ab096}}}, + {X: Field{[10]uint32{0x037e6baa, 0x017b0821, 0x03a0a02a, 0x010e8791, 0x03446d79, 0x00e71252, 0x00202677, 0x0210c163, 0x0313311d, 0x0024f5b9}}, Y: Field{[10]uint32{0x001a0856, 0x01a99748, 0x0324fdb5, 0x0055f353, 0x01e10bf6, 0x02d427e7, 0x00710410, 0x03f49b81, 0x019c99a2, 0x001665f0}}}, + {X: Field{[10]uint32{0x03397172, 0x01402917, 0x00c22ac7, 0x009a3b30, 0x00cb8f46, 0x031746da, 0x0284fbe0, 0x01e829ce, 0x001b5cc7, 0x001ea52f}}, Y: Field{[10]uint32{0x0178bee5, 0x03dad341, 0x02cef34a, 0x025405b7, 0x03032d36, 0x02fb7d34, 0x01c9f8c1, 0x0354a9c6, 0x006e82a4, 0x0004a307}}}, + {X: Field{[10]uint32{0x0021b809, 0x00f165b2, 0x01c54c21, 0x00b6eb2b, 0x0375fbe5, 0x01bcf919, 0x02ec848f, 0x020f6517, 0x01a7c193, 0x003c0c7b}}, Y: Field{[10]uint32{0x03cabab8, 0x0031dd88, 0x03ea0517, 0x00dabe5a, 0x01eb505d, 0x0394bc65, 0x001e2e7e, 0x0393d76e, 0x010d1c17, 0x002d29e3}}}, + {X: Field{[10]uint32{0x0039907c, 0x02df5c08, 0x0360857a, 0x01d58329, 0x010ce9f3, 0x01d34065, 0x00cb924c, 0x03820b75, 0x02cd5c17, 0x0021bbc6}}, Y: Field{[10]uint32{0x00f3bb3c, 0x0383b093, 0x03de1ef7, 0x0172731d, 0x0136c310, 0x01b559cf, 0x02d34b10, 0x022b2509, 0x013db907, 0x001a4da8}}}, + {X: Field{[10]uint32{0x03c6d720, 0x005ad832, 0x00bc9409, 0x0324aac4, 0x006d24ee, 0x00a853ee, 0x039beeb6, 0x00e8d526, 0x00c9c78e, 0x003f3adb}}, Y: Field{[10]uint32{0x03f7583d, 0x005e1cdd, 0x0162f08b, 0x024ba9d5, 0x009f8d92, 0x004b2946, 0x03697015, 0x007c7382, 0x00245f56, 0x001f0b98}}}, + {X: Field{[10]uint32{0x03a5c8d9, 0x0084fbb7, 0x00f3ecd2, 0x01b8ec50, 0x00d475e3, 0x02bf90e0, 0x0026d837, 0x03cd207d, 0x011b9a36, 0x0028767b}}, Y: Field{[10]uint32{0x03a558a0, 0x016fc1f7, 0x00c6007d, 0x00ef9aaa, 0x0078bd5e, 0x03a7fb95, 0x002cb779, 0x00fca7b0, 0x017ca127, 0x000da0f2}}}, + {X: Field{[10]uint32{0x01bd48c7, 0x03e43814, 0x03dac844, 0x0269dfac, 0x013e8f62, 0x022bff28, 0x01bbdc75, 0x03b55785, 0x01996311, 0x0036637a}}, Y: Field{[10]uint32{0x00ef2a22, 0x01127ca1, 0x037cc07d, 0x014e5a75, 0x02693943, 0x01de3970, 0x011b8100, 0x023b9da3, 0x014d272a, 0x0022bd86}}}, + {X: Field{[10]uint32{0x019aac60, 0x022e8fea, 0x023edbee, 0x008e625e, 0x0060f4d2, 0x0197e014, 0x031ba80d, 0x03e8a6db, 0x01b7cd6a, 0x001e0ca3}}, Y: Field{[10]uint32{0x02fc5efb, 0x031ea79d, 0x02f01f35, 0x02171265, 0x02629f81, 0x0384d910, 0x023377f4, 0x00eb1204, 0x016f1d14, 0x0038df92}}}, + {X: Field{[10]uint32{0x0336db5e, 0x0347d9b8, 0x02117223, 0x033f36c9, 0x005d9747, 0x02ca7b9b, 0x001e1c09, 0x02bc2cdf, 0x0093031f, 0x000f5c05}}, Y: Field{[10]uint32{0x037600ad, 0x033474f9, 0x008b6648, 0x0316e1fe, 0x03414ea3, 0x02d3a774, 0x01f7ce0a, 0x02c82ad0, 0x01408311, 0x00347a64}}}, + {X: Field{[10]uint32{0x02288628, 0x03dd8ab3, 0x03a96e90, 0x021bf6fd, 0x000e2239, 0x02953b31, 0x015ba2a7, 0x0352ac2f, 0x00c047e0, 0x003d866b}}, Y: Field{[10]uint32{0x001564f2, 0x013b299e, 0x01de68fa, 0x037f3bed, 0x02f9cdcc, 0x039ff07b, 0x016a2d70, 0x017443f2, 0x023de154, 0x003c93ad}}}, + {X: Field{[10]uint32{0x02d0a2d2, 0x02f0032a, 0x03489a1d, 0x00d678be, 0x0291718f, 0x03de5ff3, 0x004a8514, 0x016800cd, 0x01b871f8, 0x00332a02}}, Y: Field{[10]uint32{0x0090b037, 0x0047045a, 0x012f712b, 0x03b4e0a6, 0x03aba642, 0x007d8be5, 0x018f260a, 0x020d6489, 0x02b83565, 0x002df5ca}}}, + {X: Field{[10]uint32{0x01c81958, 0x00fb471f, 0x03eeaa7d, 0x016d4706, 0x01aa26c4, 0x003ee851, 0x034eec03, 0x014076be, 0x0366ee2c, 0x002ef465}}, Y: Field{[10]uint32{0x035250fa, 0x03c6b3f7, 0x03cfeb98, 0x033b0cbb, 0x036c1ca4, 0x01c9110b, 0x030a6e89, 0x0184b9f3, 0x01ff70b3, 0x002f1c27}}}, + {X: Field{[10]uint32{0x001cfadd, 0x01352bfb, 0x025f79c3, 0x03a0e9a2, 0x01ca8f0e, 0x01912a97, 0x03a19381, 0x02065c99, 0x00a0e4a5, 0x001a9bf7}}, Y: Field{[10]uint32{0x02732081, 0x0145fa74, 0x00c36db6, 0x01bf2b6c, 0x006bd7ff, 0x01faf31c, 0x0104298d, 0x01495730, 0x02367658, 0x0030a2c4}}}, + {X: Field{[10]uint32{0x035c8006, 0x014c85b7, 0x00be02c5, 0x00ac05e9, 0x029564af, 0x014bc2b7, 0x03d693de, 0x00688bb9, 0x03e1fd40, 0x000248b8}}, Y: Field{[10]uint32{0x0088f757, 0x03ac7105, 0x004aa3b9, 0x031c82e5, 0x03696841, 0x032a2889, 0x0379e0c5, 0x012902e6, 0x0065aae8, 0x0029ec40}}}, + {X: Field{[10]uint32{0x0276eac8, 0x020be629, 0x01490383, 0x036b5225, 0x03aff8a6, 0x00f2f4ec, 0x02bd9dae, 0x02d54fe4, 0x024e3526, 0x0014ffeb}}, Y: Field{[10]uint32{0x01f8c6f4, 0x0390fb66, 0x03d23cfd, 0x024b115b, 0x009e6652, 0x033a183b, 0x023b2228, 0x0202e0f4, 0x00aeb51f, 0x00207f7f}}}, + {X: Field{[10]uint32{0x0203d119, 0x009e1882, 0x015b9772, 0x031ad574, 0x027c2e70, 0x00a73f92, 0x03e70289, 0x025be274, 0x01d1c945, 0x00052837}}, Y: Field{[10]uint32{0x036dd086, 0x03c7efa5, 0x02e83806, 0x03bed663, 0x007e8c94, 0x00f71956, 0x03e14835, 0x0074777d, 0x0071febe, 0x000ad770}}}, + {X: Field{[10]uint32{0x0168c8f9, 0x0143c78f, 0x03f4dc01, 0x00a9ce7b, 0x00bebe27, 0x032bcee4, 0x01a25428, 0x03cd6ed4, 0x000dfb74, 0x001cda09}}, Y: Field{[10]uint32{0x00a7a27f, 0x02ea17b9, 0x03cd8fd2, 0x01cac572, 0x0321801a, 0x031191a7, 0x00c71687, 0x03a0b9dd, 0x0317b4c5, 0x00254e4a}}}, + {X: Field{[10]uint32{0x00580560, 0x00340408, 0x0079e640, 0x0041ef16, 0x035fbdb6, 0x0105a217, 0x016825e2, 0x02ce748e, 0x0053b9ea, 0x001302a0}}, Y: Field{[10]uint32{0x03db5427, 0x02a5eef5, 0x002f093c, 0x0099820f, 0x02f5a6f8, 0x01022de7, 0x03f67f65, 0x0394c985, 0x02a75b7d, 0x00216888}}}, + {X: Field{[10]uint32{0x01dabbf8, 0x00c814cf, 0x00a1e91e, 0x01abd5e4, 0x026751a2, 0x00cf7f2c, 0x01447a49, 0x03e2b2f6, 0x02a824a6, 0x00328359}}, Y: Field{[10]uint32{0x01395d18, 0x003cca5e, 0x016b2155, 0x0020297c, 0x036f7d7d, 0x03bc0790, 0x01fd49b1, 0x00211447, 0x018d4f8b, 0x00187322}}}, + {X: Field{[10]uint32{0x01e9d6d4, 0x01629b95, 0x03a76453, 0x03dcd572, 0x01a3d7df, 0x031fec20, 0x020763b5, 0x01a8db54, 0x0375e62f, 0x00191a81}}, Y: Field{[10]uint32{0x037dbbb4, 0x006807de, 0x026f7a6b, 0x011b85f1, 0x01b11000, 0x00b24dbe, 0x01b23662, 0x00299083, 0x0044e738, 0x000f94a2}}}, + {X: Field{[10]uint32{0x0055d070, 0x000c00d9, 0x007f2303, 0x00faa044, 0x01bac77f, 0x0014b69c, 0x02d7c477, 0x02f04c50, 0x01ecf3d6, 0x0010d559}}, Y: Field{[10]uint32{0x00c9f6bd, 0x027ad369, 0x02d159fa, 0x01706ba5, 0x03ab6edc, 0x027c31c3, 0x03ca8f6c, 0x023658d0, 0x009689fd, 0x0013b54a}}}, + {X: Field{[10]uint32{0x03aa8f9d, 0x029d82e4, 0x0316fff6, 0x02b000dc, 0x037a014a, 0x018171a4, 0x01f22fee, 0x01512a94, 0x00969328, 0x00362c06}}, Y: Field{[10]uint32{0x0206edf3, 0x03dc964e, 0x020ac989, 0x020b9318, 0x01dd4127, 0x00525ed7, 0x0160719c, 0x01e6b4db, 0x0242a2b8, 0x0018fd47}}}, + {X: Field{[10]uint32{0x023d48d7, 0x039511b5, 0x0399a21e, 0x02ed1fc1, 0x0283a30a, 0x03c60b97, 0x02f6f2b6, 0x00c14a52, 0x01504a9b, 0x002e51d6}}, Y: Field{[10]uint32{0x002fb876, 0x0241a243, 0x01018042, 0x01f0d2b8, 0x02968027, 0x038d62b5, 0x03896769, 0x0266fde6, 0x002837a8, 0x0032f1d0}}}, + {X: Field{[10]uint32{0x038e0ef0, 0x01a89c7f, 0x02f0fc3e, 0x019c6c98, 0x01d521b4, 0x0121084d, 0x0201b5e3, 0x0356fb16, 0x00492972, 0x00050c5f}}, Y: Field{[10]uint32{0x02069381, 0x02419470, 0x006cfc20, 0x027930d2, 0x01d318e7, 0x036d20f6, 0x02a476a7, 0x033f48b9, 0x0235d1ce, 0x00331348}}}, + {X: Field{[10]uint32{0x0144f8c6, 0x03753927, 0x005f8fcd, 0x01cd3a57, 0x0278c4b8, 0x0224a354, 0x0062ab33, 0x019fd13c, 0x03575b68, 0x0022ef6c}}, Y: Field{[10]uint32{0x0173a778, 0x025fccd4, 0x019fa90b, 0x028bb86d, 0x021279ec, 0x01f40398, 0x01a67e6c, 0x01015301, 0x03873242, 0x0034e34c}}}, + {X: Field{[10]uint32{0x006aa685, 0x002c643c, 0x014761ab, 0x03e53b4c, 0x03380b00, 0x0265b035, 0x0279786b, 0x02f9e024, 0x02f636ec, 0x001ddd7f}}, Y: Field{[10]uint32{0x0355407b, 0x025bafcb, 0x018e12a9, 0x014cae0c, 0x00342431, 0x02e21711, 0x0257d7fc, 0x03596773, 0x0273162d, 0x0014c54a}}}, + {X: Field{[10]uint32{0x01693b48, 0x0247030e, 0x0242ba74, 0x02955143, 0x00bc9b0e, 0x0279cbed, 0x02649502, 0x038ddef2, 0x03d139eb, 0x0036d792}}, Y: Field{[10]uint32{0x005a0abb, 0x025399b3, 0x00e62141, 0x003af6f9, 0x00416ca2, 0x00e209f7, 0x037ceb32, 0x025ab68c, 0x0113a5a7, 0x002991a0}}}, + {X: Field{[10]uint32{0x01c619eb, 0x013fc47c, 0x020fc241, 0x00c5c255, 0x016ebf06, 0x03c1a73c, 0x0011be39, 0x014b8bab, 0x03b0578c, 0x003aac15}}, Y: Field{[10]uint32{0x01023f67, 0x036d157f, 0x01f750cd, 0x03386031, 0x006fb041, 0x030b787a, 0x00e5c6c3, 0x02e2a116, 0x023fcf69, 0x00150880}}}, + {X: Field{[10]uint32{0x03f5e44c, 0x00460ff9, 0x02fe6d02, 0x00c90639, 0x02c231ba, 0x01944ccf, 0x02d43cc0, 0x035845f8, 0x00d3c657, 0x003a557f}}, Y: Field{[10]uint32{0x028e6b57, 0x008a3d20, 0x02369cfe, 0x03f2cb8d, 0x02973095, 0x0311b176, 0x014953a4, 0x00bc9c91, 0x02986521, 0x003743aa}}}, + {X: Field{[10]uint32{0x002d8e49, 0x01fe46c1, 0x027a72a0, 0x01cfabec, 0x03ec0f5e, 0x00759817, 0x011f596f, 0x03f0c30c, 0x005758ea, 0x0017d68f}}, Y: Field{[10]uint32{0x01cdf1a2, 0x00fbca97, 0x0090ccf2, 0x017a132a, 0x01c6d9f5, 0x02914dbd, 0x005a04aa, 0x02cbaa76, 0x00b01d1f, 0x0000f378}}}, + {X: Field{[10]uint32{0x00b99bab, 0x00b64902, 0x019c0757, 0x03c9ab48, 0x0049c82c, 0x0012bc46, 0x03fbd7ae, 0x03787bbf, 0x01e4ff0a, 0x003ede8c}}, Y: Field{[10]uint32{0x01df2a01, 0x00ac1fcc, 0x0345a550, 0x00b01cd8, 0x039e6910, 0x03918f75, 0x006bc4eb, 0x0395fbba, 0x020c431d, 0x003aa1ea}}}, + {X: Field{[10]uint32{0x03ae1ffb, 0x005de352, 0x02b44e41, 0x00f79ac8, 0x036ec18d, 0x020fb8e8, 0x01f8dd96, 0x01dde52e, 0x016aa3e8, 0x00355ec7}}, Y: Field{[10]uint32{0x000f62ee, 0x0235eaf7, 0x008ca73f, 0x015c08b6, 0x009fcb9e, 0x00f32ebb, 0x01adb0e4, 0x034bc027, 0x02d6b85b, 0x00095bff}}}, + {X: Field{[10]uint32{0x03b8f1a6, 0x02b15232, 0x00b5bbd6, 0x00cb1c2f, 0x030f7268, 0x020da5ec, 0x00fc90e1, 0x0128e3bc, 0x0052d3a2, 0x0024c9bf}}, Y: Field{[10]uint32{0x02889a2b, 0x01629bc4, 0x0330801a, 0x03095355, 0x00d7d766, 0x0267ebea, 0x01176f5c, 0x00afab48, 0x00a0cc0a, 0x00218ef4}}}, + {X: Field{[10]uint32{0x013caff4, 0x01e6d2ea, 0x036da360, 0x0354c4fb, 0x03d5d310, 0x0082b421, 0x0217e946, 0x02d7995d, 0x00d5abc9, 0x00160d8b}}, Y: Field{[10]uint32{0x022fc52f, 0x012350bd, 0x021c03da, 0x03cf098b, 0x03d6923c, 0x0390c88c, 0x03b673b2, 0x02ef635c, 0x00044e86, 0x00017ca9}}}, + {X: Field{[10]uint32{0x001738ee, 0x03f3a061, 0x03681034, 0x01a5fa68, 0x01b8c4cd, 0x02cc6358, 0x001b3a96, 0x039a3c38, 0x00b9cd06, 0x001f7522}}, Y: Field{[10]uint32{0x019782cf, 0x0267af82, 0x0010f34a, 0x03414998, 0x00d963de, 0x00f4a4a8, 0x0370846a, 0x03225f2d, 0x01ed0130, 0x003f5ea9}}}, + {X: Field{[10]uint32{0x00fe798d, 0x01419003, 0x0061df95, 0x0091aea0, 0x011fa2a3, 0x00ed05c1, 0x030d7d5a, 0x005550cc, 0x0302524c, 0x0026fde2}}, Y: Field{[10]uint32{0x00cf5a83, 0x009d5224, 0x00f48104, 0x0215da59, 0x00c7d063, 0x02d08672, 0x01d5a703, 0x01a0075e, 0x03d66d2e, 0x00167d4d}}}, + {X: Field{[10]uint32{0x02b3fc47, 0x00f70d83, 0x03c39366, 0x02dbbbaf, 0x00e71513, 0x02ef5b47, 0x01b4f879, 0x03572c63, 0x0173743a, 0x0013205a}}, Y: Field{[10]uint32{0x0141105f, 0x010b6243, 0x00254ab1, 0x03af545b, 0x0044c6f8, 0x0003e594, 0x033ef09f, 0x025002a4, 0x02ac37a4, 0x00069b71}}}, + {X: Field{[10]uint32{0x01051be8, 0x00715bec, 0x031a835c, 0x0169fc00, 0x00173f4e, 0x003ce89b, 0x02964084, 0x018d0d64, 0x03c2c748, 0x001818da}}, Y: Field{[10]uint32{0x03e88e8b, 0x03763d76, 0x01b08541, 0x01adf3e0, 0x020efc2e, 0x0346f95b, 0x024190b0, 0x00af25c2, 0x037a3aed, 0x001c69e2}}}, + {X: Field{[10]uint32{0x03f8d00a, 0x01e83cc1, 0x00a2f004, 0x00dd0329, 0x03122115, 0x03579b34, 0x0263fc94, 0x0029c1b1, 0x02dec3e9, 0x0029b9dc}}, Y: Field{[10]uint32{0x00eed520, 0x029f1cf4, 0x032ca76b, 0x00875e30, 0x00f10902, 0x002a87ae, 0x02175a81, 0x01c60529, 0x021f5c72, 0x00096e3f}}}, + {X: Field{[10]uint32{0x00b89262, 0x00c9395f, 0x026c9019, 0x004c598c, 0x031692f6, 0x02a2feeb, 0x03b4b2aa, 0x01c857ea, 0x013c6030, 0x001e7199}}, Y: Field{[10]uint32{0x02197bcb, 0x039fb4b4, 0x028f8db1, 0x00f08138, 0x03c24eaa, 0x0025572f, 0x0379da4c, 0x02525b8a, 0x0112b6b4, 0x000db57b}}}, + {X: Field{[10]uint32{0x0246cb15, 0x02a151b5, 0x0242ed4b, 0x013aaaf6, 0x034a2bdb, 0x03911530, 0x0374af4c, 0x03eb7b51, 0x032e4530, 0x000fd55a}}, Y: Field{[10]uint32{0x00fd25c3, 0x00a4e27b, 0x039e0588, 0x0360e5f3, 0x02c9fd04, 0x01717138, 0x028996bf, 0x010cc4ef, 0x03211ce8, 0x002eac74}}}, + {X: Field{[10]uint32{0x03b3913a, 0x009cedcf, 0x01dd93b7, 0x00abce18, 0x02d645c5, 0x03dcc7f8, 0x011e0fbc, 0x03fa7d78, 0x02238d21, 0x003b6966}}, Y: Field{[10]uint32{0x012bbfee, 0x006e6a1c, 0x02562416, 0x015d032c, 0x03d3cea8, 0x01d6dfad, 0x0029c06d, 0x0082e0b3, 0x03014ba3, 0x0008bc8b}}}, + {X: Field{[10]uint32{0x01e68548, 0x02909e5f, 0x02cb0c42, 0x00aea7d8, 0x033a2bea, 0x01c753c0, 0x0158adf0, 0x03ed3cda, 0x0277323d, 0x0001e87a}}, Y: Field{[10]uint32{0x024825a0, 0x030fc809, 0x01940f6c, 0x0147dbd0, 0x006d2d7f, 0x00984c63, 0x036f9766, 0x00ad7689, 0x0225ee7a, 0x001219b3}}}, + {X: Field{[10]uint32{0x0323de2a, 0x0330f668, 0x00178a0e, 0x023d8b57, 0x0233d102, 0x02421db8, 0x027c51d5, 0x035b42eb, 0x013aad62, 0x0002b43f}}, Y: Field{[10]uint32{0x003b0601, 0x0100e082, 0x02787a6d, 0x01f7b660, 0x01d16315, 0x01e4b5d8, 0x034a64eb, 0x011a7d53, 0x00c59672, 0x00223809}}}, + {X: Field{[10]uint32{0x002729d3, 0x001b3718, 0x00dfd207, 0x01c6358d, 0x03ee7437, 0x02e12972, 0x016e9d67, 0x0129a55b, 0x0032f404, 0x0006fc65}}, Y: Field{[10]uint32{0x00516aa9, 0x00710c1f, 0x0292263d, 0x0270fe93, 0x034f2acd, 0x01b0dfa6, 0x02f8e3e1, 0x028681d7, 0x0200afb6, 0x0010452c}}}, + {X: Field{[10]uint32{0x0121d93b, 0x008130b8, 0x019afc35, 0x017c4b48, 0x012fb1af, 0x0002da53, 0x023b9d5f, 0x036bea2f, 0x02f20bc2, 0x00145185}}, Y: Field{[10]uint32{0x022eaf9c, 0x01cb33e4, 0x0058a740, 0x02dc1140, 0x0257ba8e, 0x0196b6fc, 0x03f4e0a0, 0x00a673d9, 0x0253608a, 0x000f973b}}}, + {X: Field{[10]uint32{0x0121a661, 0x000b685a, 0x01a1c3b0, 0x00c1aa38, 0x00fdc423, 0x033fcd39, 0x0321d181, 0x03b4c64d, 0x00e85338, 0x00238ffb}}, Y: Field{[10]uint32{0x00f686d2, 0x01993e08, 0x03b2e077, 0x010e2ccc, 0x03128945, 0x032b267b, 0x02dfc249, 0x0121ad9d, 0x034b6736, 0x002c255c}}}, + {X: Field{[10]uint32{0x03ad4447, 0x0350e329, 0x03355916, 0x02682b98, 0x016db1eb, 0x0362882e, 0x00421867, 0x007b4a4a, 0x0020df10, 0x0011b01a}}, Y: Field{[10]uint32{0x01f1afa9, 0x031eaf37, 0x0226f9ac, 0x01606f3f, 0x01d7d439, 0x0051ed4d, 0x00d1b601, 0x02dcff12, 0x00f4059b, 0x003f2a84}}}, + {X: Field{[10]uint32{0x03722b31, 0x031f6ff3, 0x02dba0fe, 0x01a470bb, 0x013fff8c, 0x02cdebdc, 0x001e406a, 0x00e42ac0, 0x01f71f9b, 0x00158cd3}}, Y: Field{[10]uint32{0x026707dc, 0x01082f1c, 0x006904af, 0x031011d1, 0x038a3724, 0x01269b24, 0x03c4b0bf, 0x03055a9c, 0x0394340d, 0x0008b410}}}, + {X: Field{[10]uint32{0x00a67c4f, 0x020998c3, 0x03d37cb8, 0x03e86d72, 0x03b2fd55, 0x03294b48, 0x03e3dc97, 0x017e3276, 0x006d8904, 0x00080b89}}, Y: Field{[10]uint32{0x017a62b1, 0x039ec828, 0x033659a2, 0x038d44f2, 0x027a6241, 0x0116201c, 0x01f661ec, 0x03c08c72, 0x03899cbc, 0x003d39b3}}}, + {X: Field{[10]uint32{0x039bd4d5, 0x008e7a66, 0x0009dece, 0x01735979, 0x03c56b63, 0x00d54bbf, 0x03c1ff94, 0x0070b3d6, 0x02e01021, 0x00320153}}, Y: Field{[10]uint32{0x03f31057, 0x008a09c5, 0x0046b46e, 0x034419e3, 0x010bf1eb, 0x02e152c1, 0x02842b43, 0x0072f379, 0x01af5160, 0x003d4145}}}, + {X: Field{[10]uint32{0x00438383, 0x00954e05, 0x004f51c6, 0x02b95be6, 0x01ea3282, 0x02e5c068, 0x01407084, 0x02d86b4a, 0x008c235e, 0x00270a5e}}, Y: Field{[10]uint32{0x0359ead7, 0x01c3b125, 0x0286c2ab, 0x010a6774, 0x00c116cc, 0x02b4c38c, 0x02469db4, 0x03bcb88d, 0x02ecefdb, 0x000c8447}}}, + {X: Field{[10]uint32{0x01a57ef8, 0x005d1706, 0x009e74bc, 0x008cd9d4, 0x02729990, 0x02530f35, 0x028dc86f, 0x030e51c1, 0x00d0b7b5, 0x0016153a}}, Y: Field{[10]uint32{0x023eb98d, 0x02dd72e9, 0x005f2345, 0x001505f5, 0x00edafec, 0x03834b4f, 0x00c41134, 0x02faf7d4, 0x01c50c06, 0x001f9e40}}}, + {X: Field{[10]uint32{0x033fef34, 0x03ea247d, 0x010b74d0, 0x03767239, 0x011104a5, 0x0151e913, 0x0046e1b3, 0x039e2681, 0x03f0f45b, 0x0022ecbf}}, Y: Field{[10]uint32{0x03b182c1, 0x02a45cdc, 0x03a7935d, 0x037dc888, 0x03efb979, 0x00e0fdd9, 0x0171e2bc, 0x00fa99b1, 0x0365a534, 0x0030ccb8}}}, + {X: Field{[10]uint32{0x00cd209e, 0x022d5863, 0x033c45ad, 0x015b71cc, 0x02992f56, 0x02d90f36, 0x0165faac, 0x00ce1e18, 0x02656ee4, 0x0003aa23}}, Y: Field{[10]uint32{0x01f0f909, 0x02a0e897, 0x006f1fd0, 0x012a10e6, 0x02af9f4f, 0x0115c971, 0x03357ab8, 0x00d0f62a, 0x00d64a7a, 0x0030e310}}}, + {X: Field{[10]uint32{0x0046295a, 0x0075aa51, 0x01ff6698, 0x02e33236, 0x02a3b18a, 0x00352e8a, 0x0322c2ee, 0x01fa984c, 0x00df857c, 0x00303075}}, Y: Field{[10]uint32{0x0172b981, 0x00bf8167, 0x02918729, 0x0123aede, 0x029a2846, 0x0326f91a, 0x02ae1dbe, 0x03bdf739, 0x01d10e8e, 0x00091c45}}}, + {X: Field{[10]uint32{0x007fc72a, 0x0380a33b, 0x0265db74, 0x0049e4ae, 0x0267b8e2, 0x02dc8faf, 0x0008d8dd, 0x00d800aa, 0x00f9407d, 0x002479a9}}, Y: Field{[10]uint32{0x005721ba, 0x0394104f, 0x0299547e, 0x02ed1e92, 0x0212e57d, 0x00841b82, 0x00e98f7b, 0x022fa173, 0x016035f5, 0x003bdab9}}}, + {X: Field{[10]uint32{0x03208454, 0x0253823e, 0x03078187, 0x000b8873, 0x0224a7a4, 0x020340d9, 0x015cf613, 0x0074d8a6, 0x02189a8c, 0x00335d25}}, Y: Field{[10]uint32{0x03af0bd9, 0x00b17b72, 0x024f6ba0, 0x00bc748e, 0x022dd6ba, 0x022bf2ae, 0x03debcf8, 0x03e44a80, 0x02be15d1, 0x003cf724}}}, + {X: Field{[10]uint32{0x02943018, 0x01d4bfe0, 0x015e9f71, 0x0196bc28, 0x0285f630, 0x013ac929, 0x004f3fa4, 0x0239c30c, 0x012d02e6, 0x00267d74}}, Y: Field{[10]uint32{0x020b8a9e, 0x01a37076, 0x01dfb611, 0x020091b5, 0x01dff9f9, 0x0028a5ec, 0x03962c9c, 0x02fccda3, 0x021ad97e, 0x00167c64}}}, + {X: Field{[10]uint32{0x01f7608f, 0x03580aee, 0x02dff7b3, 0x036e77ae, 0x01a6ac02, 0x01745c64, 0x0256b1e7, 0x01c25845, 0x0130f9c0, 0x0018f1b3}}, Y: Field{[10]uint32{0x021083f0, 0x00fffbd1, 0x017234b7, 0x03d03b9c, 0x006d8b1e, 0x02add6f9, 0x025f0a13, 0x006e3f83, 0x037370a4, 0x000b90e4}}}, + {X: Field{[10]uint32{0x01184d92, 0x0357a5d7, 0x01e9394c, 0x011c602c, 0x019e04fe, 0x01f9b06c, 0x037fc551, 0x03a84766, 0x032690a5, 0x002dd01f}}, Y: Field{[10]uint32{0x013de6d2, 0x0233df54, 0x0301aaed, 0x0200f835, 0x03828ee8, 0x0299e5b9, 0x020f7277, 0x012611d0, 0x012947dd, 0x0006e54e}}}, + {X: Field{[10]uint32{0x0383fd40, 0x03e69b78, 0x02297150, 0x023761ad, 0x02c29ce4, 0x01e94015, 0x0121e962, 0x02210375, 0x0116161c, 0x000925e4}}, Y: Field{[10]uint32{0x00b9a70b, 0x03826c0a, 0x03649143, 0x010fdee8, 0x0076f999, 0x03ec5992, 0x00d3e325, 0x0273dce1, 0x01ab3dd6, 0x0004f75c}}}, + {X: Field{[10]uint32{0x01d73b7d, 0x037a3dfe, 0x0196b6f2, 0x00651943, 0x030b4199, 0x03210542, 0x016c80d4, 0x02c9e219, 0x02c36122, 0x003c426d}}, Y: Field{[10]uint32{0x011c96ac, 0x03ab575e, 0x01c77142, 0x01ad284f, 0x01bd971f, 0x02525be1, 0x0291d4a3, 0x03553702, 0x0369bef8, 0x0029d15c}}}, + {X: Field{[10]uint32{0x01118df9, 0x038edb5a, 0x015169f0, 0x000289ad, 0x0136be99, 0x03ef42b0, 0x017c9297, 0x030dc13c, 0x03f82031, 0x00166cc0}}, Y: Field{[10]uint32{0x03d678c3, 0x0197af4b, 0x01e02d6c, 0x01b431a5, 0x01983030, 0x00d41a30, 0x008c936b, 0x009c696b, 0x00dd1666, 0x000c31f1}}}, + {X: Field{[10]uint32{0x0062fc52, 0x00e5d3b5, 0x02cd6602, 0x006b4afd, 0x01a67862, 0x01ee2132, 0x0254cd6c, 0x00436d2e, 0x019aeb39, 0x001989cd}}, Y: Field{[10]uint32{0x0110d487, 0x03115f6a, 0x010b2555, 0x0377a93d, 0x00feab83, 0x024de5de, 0x00867347, 0x01e29ff1, 0x01bad2de, 0x002f2f3e}}}, + {X: Field{[10]uint32{0x0151f1d9, 0x009e16b7, 0x0281e921, 0x00104610, 0x00ec7efc, 0x003a062b, 0x01d23059, 0x0141f672, 0x0180c4fb, 0x001dbf6b}}, Y: Field{[10]uint32{0x03a8c346, 0x03b376f8, 0x0119a18c, 0x0035ff27, 0x039b88b7, 0x01566156, 0x00adf7ef, 0x03cc1fcd, 0x03cc349c, 0x00332331}}}, + {X: Field{[10]uint32{0x01313330, 0x00ede478, 0x00700b98, 0x032d30a2, 0x037f2380, 0x02a6ebf6, 0x03ed9cc4, 0x03c2294b, 0x0006e99c, 0x0001e24d}}, Y: Field{[10]uint32{0x0111d149, 0x03e02bc9, 0x0007450e, 0x00ede96e, 0x00d0c2e8, 0x02f56e3b, 0x001acd3f, 0x03f96b42, 0x01af39ea, 0x003b0578}}}, + {X: Field{[10]uint32{0x038c81d5, 0x02c6e820, 0x039ff3bb, 0x033760e8, 0x01018f16, 0x003a0d3d, 0x013c229d, 0x0084cfb6, 0x02a4e8d0, 0x00031152}}, Y: Field{[10]uint32{0x03ac51f0, 0x00ecea1c, 0x01f5c67e, 0x039b7afd, 0x018af57b, 0x00a69b96, 0x00959245, 0x00e023d2, 0x01cf89c4, 0x002a6398}}}, + {X: Field{[10]uint32{0x02402880, 0x002d845c, 0x0327bf99, 0x03b8e55e, 0x0097dac1, 0x0108e404, 0x02ba8f96, 0x03048b74, 0x021ccbe5, 0x003fc2f0}}, Y: Field{[10]uint32{0x03bca50a, 0x0334e59d, 0x020da467, 0x03dc14a5, 0x01ecd634, 0x039117b0, 0x00cd5f89, 0x00860635, 0x009c1f7b, 0x00030d02}}}, + {X: Field{[10]uint32{0x0331c301, 0x00789e4d, 0x0373586f, 0x03a74fad, 0x003a0e61, 0x004ade3c, 0x0132e398, 0x0108ef60, 0x02e349a0, 0x00239121}}, Y: Field{[10]uint32{0x022053a1, 0x01ee6ca6, 0x0083ca8a, 0x02130422, 0x0116bbf0, 0x037088bb, 0x021866f4, 0x0098354b, 0x00d437cc, 0x00225ec9}}}, + {X: Field{[10]uint32{0x01c579e7, 0x03e96d13, 0x03584590, 0x01b04e11, 0x010bf7fb, 0x00d44227, 0x00a30d20, 0x0313a5ab, 0x017f84f5, 0x0013d329}}, Y: Field{[10]uint32{0x01e63a9e, 0x0094396b, 0x010b717d, 0x01d63ca3, 0x01336349, 0x0286e46a, 0x031cb1f8, 0x0155b0db, 0x03dc1691, 0x00354f6d}}}, + {X: Field{[10]uint32{0x03c203bb, 0x002ab633, 0x02423c76, 0x01bce22d, 0x0279b3a9, 0x02bb63ee, 0x00618300, 0x013ea417, 0x00b2d7a2, 0x003fa249}}, Y: Field{[10]uint32{0x00b056be, 0x033a8cb4, 0x0026a7e3, 0x02103ea3, 0x00e92c37, 0x02c5f82b, 0x0279df9c, 0x0038afd3, 0x0229c6be, 0x002f4c0f}}}, + {X: Field{[10]uint32{0x006abb5d, 0x03345371, 0x03fc5dcd, 0x028cc83c, 0x03008ed9, 0x014be66c, 0x005895d1, 0x031cbe1a, 0x035cf6a8, 0x000c267d}}, Y: Field{[10]uint32{0x02fc9f1c, 0x0082cba9, 0x000bc6fc, 0x0313038b, 0x0304a939, 0x02a570a9, 0x038a32c2, 0x014a7289, 0x002aec76, 0x003eed6f}}}, + {X: Field{[10]uint32{0x0072f4eb, 0x0170b727, 0x004b9741, 0x0088ab0e, 0x03432443, 0x00901727, 0x0232de01, 0x009bced9, 0x0383f841, 0x000ee4e7}}, Y: Field{[10]uint32{0x005607fb, 0x030932bc, 0x0255f1d3, 0x031fd22f, 0x01c1e602, 0x00e84e2d, 0x014cc202, 0x010e03a7, 0x0353ec45, 0x00210edc}}}, + {X: Field{[10]uint32{0x01c732d8, 0x03191b65, 0x009327b0, 0x025f5b4c, 0x00b032f1, 0x00e12a4e, 0x023cbc06, 0x038d1772, 0x02a04a50, 0x00371d41}}, Y: Field{[10]uint32{0x03d5772a, 0x0378e766, 0x039eae8d, 0x013ad88f, 0x01c6a39d, 0x0345bd0f, 0x039559a3, 0x02758a67, 0x0311f6d4, 0x003fa508}}}, + {X: Field{[10]uint32{0x03b30dea, 0x03483aa0, 0x01433f84, 0x03ed2af2, 0x003dde68, 0x01c875d7, 0x02fb61a2, 0x01a8d45c, 0x0196c699, 0x003d6931}}, Y: Field{[10]uint32{0x01f26572, 0x01a02ee7, 0x018e35ae, 0x00c3bdf7, 0x02fd783b, 0x034c2e58, 0x02ef9220, 0x03d8eeec, 0x013e77d2, 0x0005d783}}}, + {X: Field{[10]uint32{0x02a4029e, 0x02f87e6b, 0x03133cb9, 0x01a4098b, 0x01373c2f, 0x03de7d2c, 0x01222ae2, 0x00127f97, 0x00e2c499, 0x001fa40e}}, Y: Field{[10]uint32{0x0025c737, 0x01bccae0, 0x03dfe714, 0x012c888e, 0x031d7dc6, 0x015428d8, 0x00162766, 0x00d6f038, 0x026a3433, 0x000d64b9}}}, + {X: Field{[10]uint32{0x022b1f41, 0x01227ffd, 0x0050f0af, 0x00eb6482, 0x02e2cb80, 0x03e643ad, 0x0028e921, 0x03f1bf5b, 0x0373d16b, 0x00203c8b}}, Y: Field{[10]uint32{0x03503b28, 0x02f5df9e, 0x02d682a1, 0x00471c9b, 0x00370e67, 0x0133d360, 0x03e11fd2, 0x01d2f01c, 0x01d3c5ee, 0x0021c529}}}, + {X: Field{[10]uint32{0x020c897d, 0x021efebf, 0x03535fc8, 0x001f6748, 0x03007c31, 0x02e5bf82, 0x0070a58a, 0x014fe10d, 0x02e9e86e, 0x0012628a}}, Y: Field{[10]uint32{0x0001bb53, 0x033b4e99, 0x0209ec3c, 0x02754ee1, 0x037ec380, 0x02acc207, 0x020f6516, 0x01078509, 0x02b373e8, 0x0011eaa7}}}, + {X: Field{[10]uint32{0x033a010e, 0x0377cc0e, 0x03b6d960, 0x026a009d, 0x028e9c06, 0x029e31d1, 0x012c5427, 0x03861329, 0x024cd14c, 0x001806bd}}, Y: Field{[10]uint32{0x02b7fa18, 0x00734833, 0x00d59916, 0x026c00ef, 0x0156dd57, 0x00b21fbd, 0x0346c273, 0x01db4046, 0x023fca15, 0x000a4029}}}, + {X: Field{[10]uint32{0x0174a25b, 0x00d07fcb, 0x019849a1, 0x03c41775, 0x03957f2b, 0x008aa9a0, 0x018b06a8, 0x032f12b5, 0x00f07b2f, 0x0023ecb8}}, Y: Field{[10]uint32{0x01070aa4, 0x01a32d1d, 0x016e6b7c, 0x032427db, 0x0306137d, 0x0357e0ab, 0x03386f75, 0x01f3aac6, 0x03508d79, 0x001f3608}}}, + {X: Field{[10]uint32{0x0269e6d9, 0x03962bda, 0x0282c9bd, 0x02bebbcc, 0x0083468e, 0x01cb18ef, 0x01a14980, 0x0053a2d5, 0x000f0e9d, 0x000cdb5e}}, Y: Field{[10]uint32{0x023d2261, 0x008c8529, 0x00fb00b7, 0x01e7d3f8, 0x02ac3e66, 0x03f4061e, 0x02eba682, 0x02fb9ae3, 0x0004be45, 0x00024b44}}}, + {X: Field{[10]uint32{0x00d5872d, 0x011fbea4, 0x021a5e4e, 0x000f338f, 0x02b06343, 0x02c0eaba, 0x00d2cbdf, 0x021c113e, 0x0321f4d5, 0x00141eb1}}, Y: Field{[10]uint32{0x007174d9, 0x0348b20c, 0x02f0e917, 0x0254e72a, 0x009ba53c, 0x01ee0f58, 0x00550939, 0x00175e84, 0x018de7db, 0x002e268e}}}, + {X: Field{[10]uint32{0x033ba343, 0x01a22a51, 0x009a046e, 0x0132fa86, 0x00992c60, 0x019b004b, 0x0171026f, 0x03ee58a4, 0x02c13bb7, 0x00310b73}}, Y: Field{[10]uint32{0x014f7bb5, 0x007380b9, 0x0064be3c, 0x03b00d4d, 0x018fe010, 0x0104e4a7, 0x021bfe7c, 0x008f2e80, 0x0331a532, 0x0022a8dd}}}, + {X: Field{[10]uint32{0x02866a2c, 0x010651ca, 0x00417d9f, 0x02d9400e, 0x00857eed, 0x03144212, 0x026b5c45, 0x024e8b57, 0x02c3cd60, 0x002c0ba8}}, Y: Field{[10]uint32{0x03a5527c, 0x027049cb, 0x01bf86ac, 0x03a31d69, 0x03ed1d8e, 0x033f3a4e, 0x037c5058, 0x0243186e, 0x0050cea1, 0x003aed17}}}, + {X: Field{[10]uint32{0x0370d84b, 0x005f117b, 0x02db151e, 0x010566df, 0x0185626d, 0x03aad0ed, 0x03dc2c9a, 0x03b4b89c, 0x03d29f20, 0x003d3464}}, Y: Field{[10]uint32{0x02dd0974, 0x03946586, 0x027e7280, 0x01b1847a, 0x0101f84b, 0x0133695e, 0x013f8cf1, 0x00d28b12, 0x023f19b8, 0x002f6866}}}, + {X: Field{[10]uint32{0x025f1bb0, 0x01fed93f, 0x02857eef, 0x02ec7fdb, 0x03cc84f6, 0x0340c0b4, 0x0059b9e4, 0x0318add6, 0x00eb19ea, 0x0021d037}}, Y: Field{[10]uint32{0x03c6ca49, 0x023eda39, 0x01d1b1d9, 0x03780522, 0x00f2f151, 0x03ad4887, 0x01d5b6e7, 0x008168b8, 0x02b04783, 0x00029ca7}}}, + {X: Field{[10]uint32{0x00fcc9cb, 0x017a88e1, 0x03f6c92a, 0x0098da4e, 0x0050aec6, 0x011273a2, 0x010bc940, 0x027c2364, 0x024a85a2, 0x001e7b11}}, Y: Field{[10]uint32{0x02f53b39, 0x039a3a83, 0x03a2cd44, 0x01131896, 0x03a1d7c5, 0x0216aeb8, 0x02d476d0, 0x0342ca6a, 0x00f5b52e, 0x001df45c}}}, + {X: Field{[10]uint32{0x0207fceb, 0x03bf338c, 0x01238847, 0x03011622, 0x006fb3aa, 0x0157abf5, 0x000e29b2, 0x02edc72f, 0x00d5dd54, 0x0013c406}}, Y: Field{[10]uint32{0x03e7dd8c, 0x00bd938e, 0x0222224a, 0x0364b505, 0x03a64531, 0x01c7ef8e, 0x029b2a02, 0x030b9dce, 0x01e5d23c, 0x0030ca06}}}, + {X: Field{[10]uint32{0x03e969a1, 0x00181efe, 0x00eb033a, 0x02ae05e0, 0x00e53768, 0x032a1735, 0x0325de68, 0x03a17f76, 0x01362094, 0x0037efc6}}, Y: Field{[10]uint32{0x0380e563, 0x025f876b, 0x0067193d, 0x02eb82df, 0x00a2ca3a, 0x00cb7af3, 0x005f1e49, 0x00870cab, 0x035933ba, 0x00097a82}}}, + {X: Field{[10]uint32{0x01226649, 0x02ed06a1, 0x034f9b67, 0x01c41505, 0x010940a3, 0x02184912, 0x01805f10, 0x01a20cb0, 0x02c002c3, 0x00061319}}, Y: Field{[10]uint32{0x00662eaf, 0x03fb1f7e, 0x03487ec4, 0x016ea442, 0x00736f81, 0x03814c39, 0x034a24c1, 0x031e453e, 0x0244f1cf, 0x0033d8ff}}}, + {X: Field{[10]uint32{0x03043686, 0x01043d43, 0x022e0a0f, 0x0027d40c, 0x03ede9de, 0x02090b90, 0x01a8a51a, 0x03813b8e, 0x0206d386, 0x0036aacd}}, Y: Field{[10]uint32{0x0011718a, 0x01dc63b5, 0x015e5dbb, 0x0208ea75, 0x00fbb2b6, 0x03a3dba3, 0x010d0ac4, 0x01f441bf, 0x01c40ebe, 0x000302e8}}}, + {X: Field{[10]uint32{0x0204530f, 0x0330ce5f, 0x00dfa89d, 0x0059a408, 0x0026b0e2, 0x021234cd, 0x00219d1f, 0x03c94ae8, 0x034a5311, 0x0002a21f}}, Y: Field{[10]uint32{0x01edeace, 0x023de7e7, 0x03195287, 0x0113bb34, 0x02a5b4fa, 0x03680773, 0x029bff3e, 0x032b1fd0, 0x00bd8c37, 0x00169f01}}}, + {X: Field{[10]uint32{0x002d207a, 0x008fd85f, 0x0158d281, 0x001eca12, 0x024784a9, 0x0216bef3, 0x01dbfd5a, 0x03ae6135, 0x0264409f, 0x0006cc55}}, Y: Field{[10]uint32{0x03a205bb, 0x02715a2a, 0x01c37311, 0x02eaa66f, 0x0384eea5, 0x0165ff55, 0x001d4634, 0x02396961, 0x007cba34, 0x000a5cb3}}}, + {X: Field{[10]uint32{0x01fe4984, 0x037e85ac, 0x00d1f019, 0x027e0bb2, 0x016727e6, 0x035fa119, 0x035de1e0, 0x00355b57, 0x03d427c3, 0x000552b7}}, Y: Field{[10]uint32{0x020372b5, 0x0265dd4f, 0x02079981, 0x0312487c, 0x03882477, 0x01fe94b7, 0x01f61baa, 0x009e7912, 0x028a324b, 0x0016ea1b}}}, + {X: Field{[10]uint32{0x00480994, 0x03b03562, 0x02f9494f, 0x027ed130, 0x02585fe8, 0x02c6bcf0, 0x00df417c, 0x03057eca, 0x01f9fe55, 0x0037af5a}}, Y: Field{[10]uint32{0x03f9708d, 0x038f35d5, 0x03c9ef8d, 0x03fe4d17, 0x03002564, 0x03f3d85a, 0x031b8314, 0x01b493a2, 0x002155c1, 0x00263633}}}, + {X: Field{[10]uint32{0x03baf9e2, 0x01124abb, 0x0066b71d, 0x00f7edcb, 0x01e0316c, 0x01563119, 0x0055fc09, 0x0153e68a, 0x00902a7c, 0x0027f34d}}, Y: Field{[10]uint32{0x03f5d14c, 0x029a47fd, 0x00be51cf, 0x03a09926, 0x03143e1d, 0x0356ae99, 0x029e49c8, 0x02905a27, 0x0160c2b5, 0x0029eb10}}}, + {X: Field{[10]uint32{0x0143a727, 0x02fe9ce2, 0x019bbfda, 0x024bbb83, 0x00586fd7, 0x03cf79f8, 0x00fb1d2d, 0x02ba6566, 0x01f6fe4b, 0x001672b3}}, Y: Field{[10]uint32{0x020df035, 0x0348d045, 0x01acfed8, 0x031034de, 0x03624599, 0x02471213, 0x00d349e1, 0x02b45b1d, 0x01347b3e, 0x001f1cc3}}}, + {X: Field{[10]uint32{0x03fb226c, 0x008bfb01, 0x00821677, 0x01cd01ea, 0x0134e6b3, 0x012b398d, 0x03a4c9ec, 0x00765f6c, 0x03d1fb29, 0x0017386a}}, Y: Field{[10]uint32{0x023b7526, 0x0037a3c0, 0x01d3f763, 0x01bc149d, 0x030a39de, 0x03fdea06, 0x02110255, 0x0025cf62, 0x0234b407, 0x002af091}}}, + {X: Field{[10]uint32{0x0207d73c, 0x02c6a8c0, 0x01baf3af, 0x03433856, 0x01e70897, 0x02cc053d, 0x02680015, 0x002d3dbb, 0x028ebd0a, 0x003de0d8}}, Y: Field{[10]uint32{0x0039af61, 0x027e0273, 0x031df284, 0x03ee0ecb, 0x026c7a6e, 0x03d7efcc, 0x0268b6b1, 0x02e23252, 0x00fd5b96, 0x0034190e}}}, + {X: Field{[10]uint32{0x037ba0b3, 0x01659614, 0x0200c6c1, 0x011dcbaf, 0x029a988d, 0x011074ba, 0x007130db, 0x00a7b8d7, 0x02bccc72, 0x001e0c3e}}, Y: Field{[10]uint32{0x0338fa7f, 0x02aab746, 0x0157e835, 0x02249fcb, 0x0378acc8, 0x0200e8cf, 0x01c901fa, 0x0345e0f5, 0x018e6aea, 0x00127a2d}}}, + {X: Field{[10]uint32{0x03cba9e1, 0x014bead7, 0x03482062, 0x01270a3d, 0x006416d5, 0x03e692a4, 0x024399ee, 0x004a1886, 0x010ea890, 0x00324c0e}}, Y: Field{[10]uint32{0x0161cfce, 0x00443bec, 0x0019704d, 0x01f36aac, 0x023bab13, 0x0052d2f2, 0x014e8fdd, 0x0062883d, 0x03da3d06, 0x003e83a1}}}, + {X: Field{[10]uint32{0x029cd28a, 0x0308f736, 0x018b52d0, 0x02c2979d, 0x03ba0924, 0x017c03b0, 0x0149876e, 0x00645dbe, 0x00672057, 0x000a836a}}, Y: Field{[10]uint32{0x00907647, 0x0342fc3f, 0x01dd1975, 0x007b3413, 0x0390c1fa, 0x01b7c473, 0x01b4870f, 0x00256565, 0x00fc6935, 0x0025b341}}}, + {X: Field{[10]uint32{0x0046fc83, 0x00dd2cc5, 0x01c53256, 0x033b7072, 0x00f2bef6, 0x00e5a389, 0x036e92e0, 0x01606bd5, 0x01e260da, 0x003d9220}}, Y: Field{[10]uint32{0x027c8b94, 0x02dcbd43, 0x01ac3863, 0x0027e28b, 0x022aacec, 0x01247e95, 0x02f833db, 0x019fd10f, 0x005b660b, 0x002022a5}}}, + {X: Field{[10]uint32{0x0381f052, 0x005fe66a, 0x00341330, 0x02205597, 0x00c181e4, 0x00243c78, 0x03cea175, 0x017c34e8, 0x013305ec, 0x0025c2f6}}, Y: Field{[10]uint32{0x02e9fc48, 0x0050c7c6, 0x00a796ca, 0x036ce519, 0x038eb30b, 0x01730066, 0x03b6658d, 0x01dd2bf2, 0x030fe284, 0x00134749}}}, + {X: Field{[10]uint32{0x00c4779a, 0x0056f3b9, 0x03073354, 0x021824a0, 0x032c0588, 0x0172b465, 0x023ecfdf, 0x01507d1c, 0x033124c4, 0x0037fa52}}, Y: Field{[10]uint32{0x0140e23b, 0x0169eae5, 0x00b1c185, 0x03da2c65, 0x01d047af, 0x034d00f1, 0x03afe8c5, 0x0181aa83, 0x0253d547, 0x00330a0f}}}, + {X: Field{[10]uint32{0x018df800, 0x00e8e7a1, 0x007e3bf3, 0x03463dc1, 0x0216c8bd, 0x021cdf43, 0x0230bbad, 0x0396523e, 0x0379673a, 0x003c604c}}, Y: Field{[10]uint32{0x007d294a, 0x011102ea, 0x015d2ed5, 0x03630921, 0x0220bfb9, 0x002d347c, 0x0008d50d, 0x00b6fe6c, 0x01a6139a, 0x002b34b0}}}, + {X: Field{[10]uint32{0x01423740, 0x001810db, 0x00f3ec21, 0x025e70da, 0x008890ec, 0x03036c32, 0x0192bd01, 0x006f7d44, 0x0156fb63, 0x003d3ef0}}, Y: Field{[10]uint32{0x03b7149f, 0x02409b07, 0x03f4b4f6, 0x00eb7d21, 0x039cfccd, 0x0061d2eb, 0x01faf91e, 0x037bfd0c, 0x00f05b07, 0x000f2c23}}}, + {X: Field{[10]uint32{0x0393de6d, 0x00893881, 0x01bbed36, 0x0179d150, 0x00cb9267, 0x033116a0, 0x03a9a725, 0x0275c929, 0x00e83b07, 0x00049369}}, Y: Field{[10]uint32{0x008d00e7, 0x02d26195, 0x01e6ac6f, 0x00c7a819, 0x001cd155, 0x029d6555, 0x02200fb2, 0x0032e935, 0x0066f12e, 0x000f9c00}}}, + {X: Field{[10]uint32{0x038d1138, 0x033a586d, 0x00c16428, 0x00b40ab2, 0x006c2b11, 0x019ae5f4, 0x02045bb2, 0x01e09877, 0x01c4455e, 0x001d25c8}}, Y: Field{[10]uint32{0x015a3032, 0x01567f01, 0x03b87086, 0x0250e7c1, 0x01025bc5, 0x00cc9b1f, 0x015b237d, 0x00c70bfa, 0x02eda3f3, 0x0009d55a}}}, + {X: Field{[10]uint32{0x0227a028, 0x026a46dd, 0x00e979ff, 0x02eff531, 0x00257676, 0x0143efd6, 0x0060dfed, 0x023d5487, 0x02490aa5, 0x0018b372}}, Y: Field{[10]uint32{0x015c37b5, 0x03b58156, 0x00fbbd10, 0x02229c52, 0x0317c4a6, 0x03d0cfa3, 0x021528b4, 0x0043a9fb, 0x039ae16d, 0x0022f526}}}, + {X: Field{[10]uint32{0x006478c6, 0x01692c5a, 0x01344789, 0x03a205d6, 0x011cd3a1, 0x03b4592c, 0x013b2275, 0x00ea985b, 0x00f139b1, 0x00193594}}, Y: Field{[10]uint32{0x01fa5c2f, 0x00f61fcf, 0x03a426b8, 0x0195ee56, 0x02f9e2a0, 0x02590d00, 0x039595b7, 0x00b61fcc, 0x012af757, 0x0037bbb9}}}, + {X: Field{[10]uint32{0x009ab59d, 0x0327d280, 0x0365a1ec, 0x017b6c00, 0x0237cb93, 0x02149b7d, 0x017c17cd, 0x00dbbcd0, 0x025566c6, 0x0034228f}}, Y: Field{[10]uint32{0x000dc103, 0x02b91889, 0x02a549c9, 0x03f49090, 0x00e9ed32, 0x00e15b69, 0x00d35023, 0x0145d8ff, 0x01c75eec, 0x000b6c12}}}, + {X: Field{[10]uint32{0x00f20d89, 0x0237c38c, 0x007c6f4b, 0x020926e9, 0x02971547, 0x006166bf, 0x0220d626, 0x031426be, 0x005a35bc, 0x0021d85c}}, Y: Field{[10]uint32{0x01b726ae, 0x03c37e2b, 0x03f64436, 0x027af8b6, 0x010fd43b, 0x02011a82, 0x029c3db7, 0x02588924, 0x01eebb02, 0x002cd309}}}, + {X: Field{[10]uint32{0x006f5f85, 0x0278468f, 0x03307c4e, 0x03d038de, 0x020e35f6, 0x0139f39f, 0x02cc3175, 0x00990c51, 0x01334ce2, 0x0038d14e}}, Y: Field{[10]uint32{0x0065d97d, 0x03417075, 0x03bf700a, 0x01eccda8, 0x031afdde, 0x00aed144, 0x022a0caf, 0x0206fbfc, 0x038a941e, 0x001cfb85}}}, + {X: Field{[10]uint32{0x00ca917b, 0x00d8208d, 0x01e27fac, 0x02fe5783, 0x02246b36, 0x036ff3a3, 0x00e6f11f, 0x029f9eb2, 0x012f6609, 0x0020e246}}, Y: Field{[10]uint32{0x032b636f, 0x030de303, 0x019bec68, 0x01db94f2, 0x0267c889, 0x033ec6a8, 0x027b681c, 0x023b0a75, 0x03a55044, 0x00255c1c}}}, + {X: Field{[10]uint32{0x03c5d387, 0x0186bd30, 0x02b8de5a, 0x03ede893, 0x03bbf287, 0x025ff618, 0x0278029a, 0x03897f8b, 0x00c067bb, 0x0022ff5c}}, Y: Field{[10]uint32{0x03f952fb, 0x0251d03c, 0x031fd5d8, 0x0069bb6e, 0x008b5900, 0x03c93f3b, 0x01b1d644, 0x01973568, 0x026bee72, 0x0038b9b1}}}, + {X: Field{[10]uint32{0x02ff257d, 0x0164f839, 0x01269fdb, 0x0055a21d, 0x03eaf820, 0x02601482, 0x021582d0, 0x002ec566, 0x019aa05f, 0x00297426}}, Y: Field{[10]uint32{0x0023635a, 0x01970d31, 0x0050bf9c, 0x03469910, 0x00fe6d27, 0x00b392cd, 0x02b62b36, 0x015d999d, 0x03205ef0, 0x0038d365}}}, + {X: Field{[10]uint32{0x015043ce, 0x01eeaa97, 0x02544282, 0x02164b53, 0x01176451, 0x0227ff67, 0x03942e30, 0x03222d41, 0x01a7b949, 0x0011391e}}, Y: Field{[10]uint32{0x013a7087, 0x013b7788, 0x02e23250, 0x01deb84b, 0x01e2b10d, 0x01295c2a, 0x02714162, 0x03118ec2, 0x00298c12, 0x001ee1bb}}}, + {X: Field{[10]uint32{0x012aa558, 0x01b38f4d, 0x013c4317, 0x02355648, 0x023f37bb, 0x002af432, 0x02e0251e, 0x01e045c1, 0x0143d979, 0x001837b2}}, Y: Field{[10]uint32{0x01fcaab8, 0x0042759a, 0x03d508bc, 0x013e331b, 0x0116b076, 0x01a614cd, 0x0181448d, 0x0167db14, 0x01f4a31c, 0x000b71a2}}}, + {X: Field{[10]uint32{0x01f7709b, 0x039eacc0, 0x03b24af7, 0x027f9906, 0x00d4ab82, 0x016506e6, 0x013c5c53, 0x0127983e, 0x01385b54, 0x00172963}}, Y: Field{[10]uint32{0x017cd575, 0x019607b0, 0x03eb74d9, 0x0213574f, 0x00945d9d, 0x03ce7770, 0x00ce0907, 0x01bd2044, 0x02e980eb, 0x0020abee}}}, + {X: Field{[10]uint32{0x018b031c, 0x02641234, 0x01138100, 0x028f34ca, 0x03b9a23e, 0x01afe1b0, 0x009cf3d2, 0x0358326c, 0x027ea1b1, 0x002ddd65}}, Y: Field{[10]uint32{0x0040fef1, 0x001025c2, 0x030b7120, 0x023211bd, 0x0366f12d, 0x0373eb73, 0x01885c4a, 0x004155c3, 0x029becfa, 0x0034adc5}}}, + {X: Field{[10]uint32{0x00220f96, 0x01ade690, 0x0044e92e, 0x03047e8e, 0x03a23bc4, 0x026a8175, 0x003595fb, 0x00bd840f, 0x00f67d60, 0x001cf635}}, Y: Field{[10]uint32{0x0000ce3d, 0x015d6ac9, 0x0285d331, 0x00f55a3f, 0x00bb17fb, 0x03b3453b, 0x02185309, 0x03fb96fa, 0x022cffc9, 0x002fdc8a}}}, + {X: Field{[10]uint32{0x01182b75, 0x02c46026, 0x024d61e7, 0x01151230, 0x008b1e97, 0x0271b7c3, 0x012bcce7, 0x01e08805, 0x01f9f49f, 0x003a0413}}, Y: Field{[10]uint32{0x02137361, 0x00494fe0, 0x0102396b, 0x02087175, 0x03e14fc6, 0x03e57fee, 0x03b0da00, 0x00afac6f, 0x0139ec8f, 0x00370bf5}}}, + {X: Field{[10]uint32{0x006113e6, 0x03a65715, 0x03209e89, 0x00912403, 0x01777e55, 0x00586039, 0x01449b6d, 0x010cb238, 0x02f6fb6c, 0x003b35cb}}, Y: Field{[10]uint32{0x0226e135, 0x03593ade, 0x029e0e00, 0x00f89a04, 0x00425291, 0x00516180, 0x009f518e, 0x02ea6794, 0x015d358f, 0x00059c5c}}}, + {X: Field{[10]uint32{0x00fc36cc, 0x001c1429, 0x02455a99, 0x0041fa75, 0x01464bfe, 0x029b5f0d, 0x01fc6b5f, 0x026f45bc, 0x00cfbe82, 0x00038ed7}}, Y: Field{[10]uint32{0x028044f5, 0x01ea1f68, 0x03fa331e, 0x03c042d7, 0x02296cb5, 0x016d9c7e, 0x017a2c9b, 0x03069b78, 0x039b5471, 0x00339eae}}}, + {X: Field{[10]uint32{0x03107734, 0x0286ae49, 0x01c5ed7c, 0x013c97e2, 0x0041c1ce, 0x013af48b, 0x03e75f7f, 0x024753ad, 0x0202ffab, 0x003cd646}}, Y: Field{[10]uint32{0x00fa4b3d, 0x015f0ae5, 0x01c1018a, 0x01aef8bb, 0x03cf0474, 0x00c52eda, 0x03c7d535, 0x02e49921, 0x0211f2ba, 0x000d168b}}}, + {X: Field{[10]uint32{0x0345c635, 0x006b65f2, 0x021a6550, 0x034c89eb, 0x00c61349, 0x03f16a54, 0x01184f9f, 0x02b654df, 0x005dae54, 0x003292c1}}, Y: Field{[10]uint32{0x03c1d806, 0x01312d35, 0x00d72eaf, 0x015833a7, 0x014660f4, 0x0110747a, 0x02f3c24b, 0x02fb28d4, 0x017e255e, 0x0038c3e0}}}, + {X: Field{[10]uint32{0x0341ea38, 0x00a6ed9b, 0x02a72dfd, 0x00819d6a, 0x02300947, 0x01daa57d, 0x00ebdb7b, 0x03a987ee, 0x034054a9, 0x003df315}}, Y: Field{[10]uint32{0x02556eac, 0x00b207ac, 0x009900f5, 0x02ffd4b5, 0x03b3dd7f, 0x03811af8, 0x0275aeb5, 0x00936460, 0x018cfc54, 0x0027518f}}}, + {X: Field{[10]uint32{0x016ab6c2, 0x007dc37b, 0x029f876b, 0x03ec9eda, 0x01b4fd9b, 0x034d3a2a, 0x024bbef7, 0x038fe3b9, 0x0379fba3, 0x003dd6d7}}, Y: Field{[10]uint32{0x00a43faa, 0x00c3b024, 0x014f9d40, 0x019be168, 0x037e0e82, 0x01d159df, 0x0048e362, 0x02ddedcb, 0x00bc5c3f, 0x000882d0}}}, + {X: Field{[10]uint32{0x019cd450, 0x023e9303, 0x00fde0e8, 0x0191cd69, 0x0189d86a, 0x03428e63, 0x03d89b6a, 0x008da989, 0x03a25060, 0x000aa8d9}}, Y: Field{[10]uint32{0x0041fc32, 0x02512336, 0x038f6e82, 0x03ffa6bb, 0x021e70ec, 0x0135df61, 0x00a802bc, 0x006c69d9, 0x00250249, 0x000affb7}}}, + {X: Field{[10]uint32{0x0141620f, 0x00df0e28, 0x0325765a, 0x039ec7ac, 0x03a1078c, 0x01609ec1, 0x01a1e221, 0x00f3db9f, 0x01c11178, 0x003fdfd2}}, Y: Field{[10]uint32{0x00702733, 0x026b3d95, 0x00bead51, 0x02177d91, 0x03a488c5, 0x0049477e, 0x00a8b542, 0x00163a2f, 0x009e2e48, 0x001a5543}}}, + {X: Field{[10]uint32{0x003aa39f, 0x000a82d7, 0x016016fd, 0x02d1799e, 0x0076d017, 0x034faee4, 0x01f7338f, 0x03d3b291, 0x03581164, 0x000c7414}}, Y: Field{[10]uint32{0x0163f575, 0x03364aa6, 0x011fe6bc, 0x003b46ff, 0x03d4d3ea, 0x0387e348, 0x022fa902, 0x01ffc411, 0x019b7217, 0x003c490c}}}, + {X: Field{[10]uint32{0x026a3bd0, 0x023ed7df, 0x006eabb8, 0x034ead7c, 0x030c8a02, 0x0236a6b5, 0x00bf2f30, 0x000fb28b, 0x02ddfd12, 0x001babc3}}, Y: Field{[10]uint32{0x03e05f08, 0x0242719c, 0x016d4125, 0x01d28c56, 0x02815a0c, 0x0028ee0e, 0x00521a01, 0x0251d127, 0x01012d8e, 0x00364cdb}}}, + {X: Field{[10]uint32{0x02da1347, 0x006ea5df, 0x011b9e9a, 0x0320472e, 0x0168e759, 0x03d7ea23, 0x03943acf, 0x006adff0, 0x01197799, 0x0002e569}}, Y: Field{[10]uint32{0x01e5ef23, 0x0208afdb, 0x0287f533, 0x0054dbba, 0x029758bd, 0x0168bfe9, 0x018fbfe7, 0x0112296a, 0x035f446d, 0x00233cb2}}}, + {X: Field{[10]uint32{0x011427e8, 0x03071608, 0x02eeada6, 0x03d5ae43, 0x021fd386, 0x03a0139f, 0x031dc212, 0x03b6ebce, 0x01d48ce5, 0x001394c0}}, Y: Field{[10]uint32{0x01b9f0d9, 0x00297600, 0x016b76fb, 0x0364ddb6, 0x00dcabaa, 0x02f675a1, 0x012f684c, 0x03f6cb87, 0x003de169, 0x003d40fb}}}, + {X: Field{[10]uint32{0x00f49cd2, 0x0080cf0f, 0x017a3914, 0x0152b587, 0x02fc7c2b, 0x01270b42, 0x01f92cdc, 0x006d0dc5, 0x01e50903, 0x0013f46a}}, Y: Field{[10]uint32{0x024adcb1, 0x02169b23, 0x031602c8, 0x02fa2e1d, 0x022d99c9, 0x033bda52, 0x034b43be, 0x0196f0ea, 0x011cab01, 0x001cfb30}}}, + {X: Field{[10]uint32{0x00257c84, 0x00402648, 0x00b86745, 0x03e8ba29, 0x00384070, 0x02363eb8, 0x03b7fa4a, 0x010fe97a, 0x0065b325, 0x0019d01a}}, Y: Field{[10]uint32{0x03c62008, 0x021625ae, 0x0271f3fd, 0x0173bcf4, 0x03e829a4, 0x00c89f7d, 0x00451f5e, 0x0382e53d, 0x02d593a4, 0x000ff766}}}, + {X: Field{[10]uint32{0x006569e4, 0x024a9969, 0x01cb4e49, 0x02b46723, 0x00de7e8d, 0x036b1028, 0x03dcfa0e, 0x016f9bbc, 0x01aed6ee, 0x00052e55}}, Y: Field{[10]uint32{0x022daf70, 0x0029757e, 0x011ebed6, 0x03097aa7, 0x017d9f31, 0x0184d4f7, 0x001eff67, 0x00fe0612, 0x00b62182, 0x00352e48}}}, + {X: Field{[10]uint32{0x0339ae42, 0x0297c88c, 0x00fb722c, 0x00d318da, 0x004003e4, 0x0390bf48, 0x02a0b3ff, 0x0357eb7e, 0x03bc5608, 0x00053ca0}}, Y: Field{[10]uint32{0x02db7397, 0x015df3e7, 0x008c37c1, 0x00c0aebb, 0x03bf0ba6, 0x002a1ff6, 0x004d4bfb, 0x03f4ff19, 0x023dc3ae, 0x002c9057}}}, + {X: Field{[10]uint32{0x03bd1c1f, 0x00ce8c87, 0x03d098e7, 0x01701637, 0x005416a5, 0x03e032ea, 0x02275be7, 0x038829b9, 0x00677d3c, 0x000ff783}}, Y: Field{[10]uint32{0x02daaac6, 0x01740cc6, 0x0389a115, 0x00962498, 0x009a018b, 0x02fa87c2, 0x01782f90, 0x0064b252, 0x03dc610f, 0x0026e3bd}}}, + {X: Field{[10]uint32{0x02d17267, 0x00cca883, 0x01247df5, 0x01310776, 0x00b993bf, 0x020a4150, 0x01c74dd4, 0x00f417c5, 0x0269df5f, 0x00271579}}, Y: Field{[10]uint32{0x024979f6, 0x02d3829b, 0x00810981, 0x00c8b498, 0x018c6b3c, 0x00dd5ff0, 0x01abd783, 0x01d9945d, 0x00e930c9, 0x0008f6c3}}}, + {X: Field{[10]uint32{0x02968d16, 0x01a2a4a0, 0x02ee7d85, 0x030d2cfe, 0x02506d2d, 0x003d05d1, 0x00da60b3, 0x006835ba, 0x00dfae14, 0x0002f7a1}}, Y: Field{[10]uint32{0x02b3ab04, 0x03ce3112, 0x00dcb468, 0x03cdb0a6, 0x02900374, 0x0269b1a1, 0x024697b9, 0x01877f9c, 0x0214ff13, 0x001168cc}}}, + {X: Field{[10]uint32{0x019546a3, 0x00e76bf2, 0x030c0549, 0x021651ac, 0x01e5d970, 0x03183168, 0x0368f454, 0x030b2917, 0x014ab8f3, 0x0006500a}}, Y: Field{[10]uint32{0x00e3b81e, 0x025aed3b, 0x0386abfd, 0x009b9db8, 0x00848bc9, 0x01f186ec, 0x020ea767, 0x0318a879, 0x03993816, 0x00158fe7}}}, + {X: Field{[10]uint32{0x032ccb0e, 0x027f33ac, 0x00ad6682, 0x0358dcf3, 0x00757a34, 0x0348b60e, 0x00df92ea, 0x00f991f4, 0x01e0d0d1, 0x00375ba8}}, Y: Field{[10]uint32{0x0233c313, 0x00023c3b, 0x003fdd8e, 0x01f2a803, 0x00384b55, 0x012797fe, 0x03ad27fa, 0x03a2ca14, 0x01e36bf4, 0x0030063a}}}, + {X: Field{[10]uint32{0x037fbf19, 0x01a58596, 0x01ffec06, 0x00dd0b13, 0x00dc1047, 0x02f09ee1, 0x02656bfb, 0x01158b89, 0x03e8c784, 0x00195e11}}, Y: Field{[10]uint32{0x015f2df5, 0x03daad82, 0x001725b5, 0x02d39e69, 0x0242c6a4, 0x0292a6a2, 0x01beda90, 0x02b69240, 0x03b658b6, 0x00376437}}}, + {X: Field{[10]uint32{0x023dea6b, 0x0141acff, 0x00d3e352, 0x007ce5ae, 0x0349b8e7, 0x036de072, 0x02d26c2e, 0x0275ba41, 0x00b140be, 0x003edc09}}, Y: Field{[10]uint32{0x0308efdf, 0x03f28cba, 0x0061c5a0, 0x0014501c, 0x02fea360, 0x03746b11, 0x02d961e9, 0x008ca2da, 0x03f4e50b, 0x00379023}}}, + {X: Field{[10]uint32{0x01d8e8e0, 0x004cd434, 0x018dfa31, 0x0031268e, 0x00b3f2be, 0x034fa251, 0x0280179c, 0x02c9e74e, 0x000865a7, 0x000b4a70}}, Y: Field{[10]uint32{0x02efcf8f, 0x027648f6, 0x03ee992e, 0x0017c999, 0x0125c550, 0x02592791, 0x00027485, 0x01292996, 0x027aee70, 0x0032abc4}}}, + {X: Field{[10]uint32{0x03d5662d, 0x01f07314, 0x036326d8, 0x02269f0c, 0x02392685, 0x00f06f8e, 0x028d42ba, 0x00827d37, 0x007479b7, 0x0036da41}}, Y: Field{[10]uint32{0x03aa4e00, 0x01dddc3e, 0x0063c0b7, 0x02fca48b, 0x01c58c1f, 0x020f893a, 0x013ce32c, 0x021eaa64, 0x03e95c35, 0x002437a2}}}, + {X: Field{[10]uint32{0x0141697b, 0x011cd5b2, 0x03f0adf2, 0x021f33c4, 0x01723c70, 0x01635bf0, 0x0154ada2, 0x013c2abf, 0x006f922e, 0x00260194}}, Y: Field{[10]uint32{0x016bc237, 0x011684bc, 0x037c9252, 0x0125dec9, 0x01b97fef, 0x034c72b4, 0x0298eef3, 0x02e104dd, 0x0018a8ca, 0x00301f88}}}, + {X: Field{[10]uint32{0x00e40187, 0x02b9ebd8, 0x025eaae1, 0x03478cf4, 0x01661e0a, 0x023c5188, 0x011c1122, 0x0096b16c, 0x013fe6da, 0x002ae1a3}}, Y: Field{[10]uint32{0x00bf54ad, 0x0357c4cf, 0x001d4d47, 0x0222ef4c, 0x014b12c4, 0x015e9ff6, 0x01195ced, 0x02614068, 0x0298334a, 0x003b892d}}}, + {X: Field{[10]uint32{0x018dcda2, 0x03627bbf, 0x02f4931f, 0x019aafd9, 0x003122f3, 0x01095f8a, 0x0056be17, 0x023b9848, 0x03d19d2a, 0x0039d587}}, Y: Field{[10]uint32{0x02166d5a, 0x02a0004f, 0x0118d5a8, 0x0242281e, 0x0385bcb1, 0x0089edd6, 0x0366ea73, 0x01b63171, 0x034be365, 0x000814b9}}}, + {X: Field{[10]uint32{0x00f21e6c, 0x00b7e6fa, 0x0082083c, 0x0004e654, 0x017b562f, 0x02a1132d, 0x008f2e0f, 0x038c1ef8, 0x023d84bb, 0x0017c654}}, Y: Field{[10]uint32{0x0265d7fa, 0x039f105c, 0x02cb9d9b, 0x0109ba46, 0x00333775, 0x01c93ae2, 0x029ad2d5, 0x007778ab, 0x021628ee, 0x000ea5bf}}}, + {X: Field{[10]uint32{0x01c10cc1, 0x00df4a36, 0x03545698, 0x005c9571, 0x022fdcad, 0x015407bf, 0x022ec1dc, 0x026c4490, 0x02683c94, 0x00327e91}}, Y: Field{[10]uint32{0x03fd1dba, 0x008fb7b1, 0x03ffab5e, 0x00d1db51, 0x00b5b6e7, 0x03a380d2, 0x01dcd8d9, 0x0246b33c, 0x035d18f6, 0x0006aab9}}}, + {X: Field{[10]uint32{0x03eb8d8c, 0x02de4ec2, 0x02401b1a, 0x03505690, 0x011799b2, 0x024ee081, 0x03a084c3, 0x0061e733, 0x022a1e91, 0x00076a43}}, Y: Field{[10]uint32{0x009c0b63, 0x0134a3b2, 0x013322da, 0x03947d3f, 0x0274994e, 0x00ecff0c, 0x02cbae15, 0x0134e011, 0x006911ea, 0x000f4fdf}}}, + {X: Field{[10]uint32{0x031b3186, 0x03e26b7c, 0x029153e6, 0x026363d9, 0x03707e40, 0x02de11fd, 0x01504ac0, 0x0390c9af, 0x010f3851, 0x0031bf3c}}, Y: Field{[10]uint32{0x03a50ced, 0x029494e4, 0x00bff03e, 0x02bea726, 0x004e2705, 0x03e3b972, 0x036ea108, 0x018f61b8, 0x01f4a16a, 0x00342b22}}}, + {X: Field{[10]uint32{0x02378233, 0x035fd185, 0x02588fef, 0x01ac7e6d, 0x0003cf23, 0x00495eb8, 0x02b7d4ef, 0x0319f32d, 0x022eeb56, 0x0005415e}}, Y: Field{[10]uint32{0x004930c2, 0x012ec3f7, 0x010cf505, 0x0188be6a, 0x036f205a, 0x038f42a1, 0x01543ef5, 0x029ea312, 0x0130ccc0, 0x00136ead}}}, + {X: Field{[10]uint32{0x0308b20f, 0x039067c0, 0x01ea36d1, 0x02de300b, 0x0145bf1c, 0x001f77af, 0x027337dd, 0x02b039ba, 0x02e072d5, 0x000dfbab}}, Y: Field{[10]uint32{0x0361d506, 0x02458c3c, 0x0394aebb, 0x036efd68, 0x01a5761a, 0x00ca8e8f, 0x0077249a, 0x02a85067, 0x00965d9d, 0x002c3191}}}, + {X: Field{[10]uint32{0x0157745c, 0x009cd889, 0x03ebe61a, 0x022deb66, 0x01f1d6ce, 0x024a2f71, 0x031cd96d, 0x03438cf1, 0x03f83a8b, 0x0016881e}}, Y: Field{[10]uint32{0x00f54dad, 0x031d9998, 0x0213819e, 0x0004c8f1, 0x03ee8789, 0x015d1044, 0x01494ac1, 0x026da8a9, 0x0357fadc, 0x000eb32d}}}, + {X: Field{[10]uint32{0x03abd139, 0x034e6efe, 0x006d1642, 0x002241c1, 0x02f6b2ee, 0x0206fbed, 0x0391271e, 0x038c9568, 0x016a1a0f, 0x003f8237}}, Y: Field{[10]uint32{0x0181ef40, 0x00319380, 0x030d6c52, 0x00984de6, 0x03665d23, 0x027c8130, 0x02f1b436, 0x0208bb93, 0x02d13535, 0x0010b0d0}}}, + {X: Field{[10]uint32{0x00706111, 0x032e665e, 0x01daca39, 0x03800f47, 0x01d6d859, 0x0201132b, 0x003edcf3, 0x036ee992, 0x02c908df, 0x002df498}}, Y: Field{[10]uint32{0x00d798e8, 0x01ff91ca, 0x01689ee9, 0x0044194f, 0x0230bb4c, 0x00606d6e, 0x0007c8f5, 0x02ce5da8, 0x0350b308, 0x00258218}}}, + {X: Field{[10]uint32{0x00130c86, 0x01be008d, 0x00407683, 0x015f731e, 0x027d354b, 0x006eb7d6, 0x0297d7c0, 0x00ddd4eb, 0x032e23b3, 0x0012c4aa}}, Y: Field{[10]uint32{0x023c450e, 0x03ee3c3c, 0x005c0f52, 0x027926b9, 0x012bc964, 0x007f9605, 0x0211e73a, 0x022fd00b, 0x020d9f70, 0x00106753}}}, + {X: Field{[10]uint32{0x00e88dac, 0x00331276, 0x034f74f3, 0x02addd42, 0x008f362b, 0x02f311f1, 0x009570c8, 0x0333692d, 0x0282a96e, 0x003f1b49}}, Y: Field{[10]uint32{0x00beedbb, 0x0090eb3d, 0x0184808a, 0x03c25800, 0x000694af, 0x024165fe, 0x0322612e, 0x01160347, 0x01273026, 0x0006bd59}}}, + {X: Field{[10]uint32{0x02607e8b, 0x026d9547, 0x00f0632e, 0x0303910b, 0x025e07e6, 0x012bf6e7, 0x0342c40c, 0x03ae8151, 0x03a9a189, 0x0031ee70}}, Y: Field{[10]uint32{0x001822ab, 0x02010bfc, 0x03e30fc5, 0x02e35370, 0x02ef6b38, 0x03069517, 0x0084cd19, 0x01d36d88, 0x02772f22, 0x0016eda0}}}, + {X: Field{[10]uint32{0x00dfd956, 0x001be9d4, 0x01627034, 0x030aedbe, 0x0246c761, 0x03b50c1a, 0x02339ba3, 0x029cbca6, 0x034230de, 0x003ae934}}, Y: Field{[10]uint32{0x01237cee, 0x0172fd77, 0x0106d215, 0x02961e4d, 0x01d31b01, 0x001a1033, 0x01a17477, 0x01e2cb8f, 0x020f23d2, 0x003f385e}}}, + {X: Field{[10]uint32{0x02c04155, 0x0295a7e0, 0x02cc8944, 0x03d1b366, 0x013595dc, 0x02b7b0a1, 0x034358c6, 0x0351c4d6, 0x01c02177, 0x002934db}}, Y: Field{[10]uint32{0x01f00281, 0x00ddfd20, 0x03ad1013, 0x01770beb, 0x0365f3e4, 0x016983f7, 0x038fd0fb, 0x006f838d, 0x037963b2, 0x002168a5}}}, + {X: Field{[10]uint32{0x02109ba2, 0x002b255d, 0x00a16906, 0x02a939b5, 0x020eb165, 0x0379ceaf, 0x035bf56f, 0x03eb878f, 0x0063ae8b, 0x001245b4}}, Y: Field{[10]uint32{0x003f22ee, 0x026d3513, 0x006564ae, 0x013d9d8e, 0x003b2b0b, 0x014dadf2, 0x027a08ca, 0x010357e5, 0x03034a0b, 0x0029e459}}}, + {X: Field{[10]uint32{0x02edd046, 0x02b90483, 0x03f97ecb, 0x01e61605, 0x009de019, 0x0012ad27, 0x038f1a44, 0x0180c217, 0x0310b296, 0x001d8736}}, Y: Field{[10]uint32{0x02193db7, 0x00bce88b, 0x010cf2ee, 0x03aa376a, 0x039789f0, 0x022079fe, 0x038f50ab, 0x015175cb, 0x0320763b, 0x00074455}}}, + {X: Field{[10]uint32{0x01c64ea3, 0x03f28ae3, 0x019d2e05, 0x0053a377, 0x02860ff0, 0x0242f04f, 0x005541b4, 0x023a4b7e, 0x01704d71, 0x00035e89}}, Y: Field{[10]uint32{0x034cb90c, 0x023d0f94, 0x00acec15, 0x0216a8eb, 0x026102db, 0x02f1b7b1, 0x000e035f, 0x019d9dc7, 0x039d2134, 0x00179152}}}, + {X: Field{[10]uint32{0x014d3bbe, 0x00290fcf, 0x025dfeb2, 0x02653716, 0x020a6b9a, 0x00a5d6ef, 0x02bcb063, 0x0314aec3, 0x004f7962, 0x000abd80}}, Y: Field{[10]uint32{0x001a14f3, 0x03825776, 0x01933d91, 0x006d4c8e, 0x02be1deb, 0x01a31965, 0x0108e3eb, 0x0330540c, 0x01e226f8, 0x001a622a}}}, + {X: Field{[10]uint32{0x01504255, 0x0023d72a, 0x00959741, 0x0061d6e9, 0x03ca805d, 0x034cc613, 0x027571e5, 0x00218044, 0x00e53bab, 0x002a49d0}}, Y: Field{[10]uint32{0x02d2379f, 0x01d7adb1, 0x0244e68d, 0x0214436a, 0x0096d49c, 0x00eaa138, 0x02dfd3d0, 0x01adc419, 0x011e2eb7, 0x00177ca1}}}, + {X: Field{[10]uint32{0x00014939, 0x01fb661c, 0x02057bcc, 0x01c0341d, 0x02768567, 0x00e8323a, 0x0287c449, 0x0229ad82, 0x021a510d, 0x00243425}}, Y: Field{[10]uint32{0x00aa545d, 0x01d80eb3, 0x034d3f8d, 0x00be16d2, 0x037c13dc, 0x008e1ab4, 0x036f7a8a, 0x00c2219a, 0x013c1c91, 0x001d351d}}}, + {X: Field{[10]uint32{0x00ecd12b, 0x02f98441, 0x00ded249, 0x029b28ce, 0x038dd5c6, 0x00b8b820, 0x02bfa279, 0x029813d8, 0x03eaf2e3, 0x0003394a}}, Y: Field{[10]uint32{0x015c009e, 0x0220020b, 0x031a1a49, 0x002a3e3f, 0x03dd0867, 0x0097cf66, 0x00244449, 0x0028adf2, 0x0273738a, 0x002a1a77}}}, + {X: Field{[10]uint32{0x03cd05c4, 0x038d43fc, 0x02be7cc3, 0x0105b3c5, 0x01122154, 0x0301ab12, 0x0139a471, 0x03f34bff, 0x01c210e3, 0x002672a3}}, Y: Field{[10]uint32{0x03bc4982, 0x03925ab7, 0x02142c6c, 0x03a00244, 0x024550fb, 0x03c1c82f, 0x0326309e, 0x0370b1af, 0x0280131a, 0x001e021e}}}, + {X: Field{[10]uint32{0x0202d1c6, 0x03b18428, 0x0211ab51, 0x0285f639, 0x00cbfcc6, 0x008b7ae4, 0x03ff1f43, 0x01ef1741, 0x00c29f5a, 0x002f910b}}, Y: Field{[10]uint32{0x03c084a2, 0x01584a1d, 0x03734111, 0x00978c92, 0x02fb3d1f, 0x02b3d6ec, 0x028f2c01, 0x0364d200, 0x02c4680e, 0x0018943c}}}, + {X: Field{[10]uint32{0x00ec8e54, 0x01c2ec39, 0x00e65677, 0x03e6e3e0, 0x03e75d95, 0x006e6c53, 0x030346b5, 0x02c04084, 0x01f4037f, 0x0014fd7d}}, Y: Field{[10]uint32{0x00c62f93, 0x0331774a, 0x020f9cb1, 0x01c4ca14, 0x0224c0d5, 0x00f8b870, 0x00dd2ef2, 0x00cfd6a8, 0x0353c6e7, 0x0023694a}}}, + {X: Field{[10]uint32{0x008c4d6c, 0x039b6a97, 0x0155411d, 0x006461bb, 0x02a897ab, 0x00d295bd, 0x0399e3a1, 0x03affdf5, 0x01650e90, 0x00081b39}}, Y: Field{[10]uint32{0x02a75804, 0x02a6a5a9, 0x006754dc, 0x00f0e2b8, 0x00aaa5d5, 0x01e754c8, 0x03ec5c2e, 0x01b729f7, 0x0122bd2d, 0x0030bfd7}}}, + {X: Field{[10]uint32{0x0073f443, 0x037cab1c, 0x03744faa, 0x0083308f, 0x0002176a, 0x009b4ad5, 0x01f2a727, 0x00beae04, 0x03bb87ee, 0x0034772f}}, Y: Field{[10]uint32{0x01d17db9, 0x003e5a3b, 0x0350c187, 0x024f87d0, 0x00f71da6, 0x03e0cdf6, 0x02fc27e3, 0x002edef2, 0x023b4180, 0x000041b1}}}, + {X: Field{[10]uint32{0x03749328, 0x005ce4b6, 0x002f6db1, 0x0343bc5f, 0x020a516f, 0x01bff26a, 0x039d4322, 0x01dae87a, 0x0173c543, 0x003486a8}}, Y: Field{[10]uint32{0x0074e424, 0x0131a098, 0x00b24772, 0x0293b5d3, 0x002326f9, 0x00e9d52c, 0x00f79de6, 0x02035981, 0x01f4e014, 0x000df3d7}}}, + {X: Field{[10]uint32{0x011fa3d2, 0x03553adf, 0x0203178d, 0x020fe387, 0x0215e563, 0x032edf39, 0x01acfbe2, 0x01a69d5a, 0x0024a22c, 0x00148d2c}}, Y: Field{[10]uint32{0x03c000cb, 0x02258c22, 0x02ddfd91, 0x02569d2b, 0x02b41038, 0x0296cd0e, 0x03c3b042, 0x02d4b58a, 0x0042651d, 0x000afab9}}}, + {X: Field{[10]uint32{0x01412f64, 0x010704cd, 0x00b6a509, 0x033d7b9b, 0x01f5048d, 0x01662253, 0x009dbd4f, 0x0086ae9c, 0x00759f3e, 0x00279ba6}}, Y: Field{[10]uint32{0x01757ea8, 0x009a418c, 0x034a92dc, 0x00ce9f93, 0x01431110, 0x03811c62, 0x00dd1690, 0x00b96909, 0x0199e38f, 0x000ad9c0}}}, + {X: Field{[10]uint32{0x0343ae45, 0x03ca4a21, 0x017fcd28, 0x01ce0c96, 0x0289232c, 0x00b7a6ec, 0x01f8a927, 0x0239dc43, 0x02959a71, 0x002105b8}}, Y: Field{[10]uint32{0x0133d139, 0x01c487c4, 0x004db4c7, 0x01d1d931, 0x0220732a, 0x03347c00, 0x01b79044, 0x01023b60, 0x0202801b, 0x001bbd24}}}, + {X: Field{[10]uint32{0x013561a5, 0x02389eb5, 0x0029bb10, 0x01ca7a8d, 0x0027462f, 0x014ae8b7, 0x02405ebe, 0x00ecbcc9, 0x03a7048a, 0x00214a93}}, Y: Field{[10]uint32{0x0162e520, 0x0332bce9, 0x02ac6a81, 0x03de3418, 0x02770b99, 0x032fad9c, 0x00e441c2, 0x02708dac, 0x0046ee0d, 0x000f81b0}}}, + {X: Field{[10]uint32{0x0277c1bd, 0x00a50b8d, 0x00c5d328, 0x02872c8d, 0x01fa6097, 0x03020f3b, 0x03b876d3, 0x015afae4, 0x01a02dbe, 0x000a2037}}, Y: Field{[10]uint32{0x031bb43a, 0x01991043, 0x019d3bf9, 0x01e103a4, 0x023d371f, 0x00dc37e8, 0x015366c5, 0x01aed3fa, 0x021092d4, 0x0037ec3a}}}, + {X: Field{[10]uint32{0x01819c65, 0x027fe27c, 0x006f0770, 0x01549d72, 0x0037b535, 0x02699da8, 0x03dbf869, 0x0235ff00, 0x00029e82, 0x0032dbef}}, Y: Field{[10]uint32{0x02062266, 0x00589de1, 0x02bdace5, 0x03ef816e, 0x00ce9161, 0x032ddb2e, 0x00d50c21, 0x01ce6457, 0x019a3657, 0x003f138b}}}, + {X: Field{[10]uint32{0x001afebe, 0x00c17bfe, 0x021615f6, 0x02962a1c, 0x030abc76, 0x001b43b0, 0x03241066, 0x00d0e086, 0x035bff1c, 0x002021ee}}, Y: Field{[10]uint32{0x0024ce72, 0x0305f782, 0x00353d9b, 0x01fa513d, 0x0223a443, 0x03a6918c, 0x01c5030a, 0x0300ae3d, 0x007aa602, 0x0015e2ca}}}, + {X: Field{[10]uint32{0x02d3a33a, 0x028a3ed0, 0x01482653, 0x0274493b, 0x00f8ae82, 0x0145f396, 0x030def22, 0x032431eb, 0x00bc30f2, 0x000da7d5}}, Y: Field{[10]uint32{0x01b59d16, 0x009855ee, 0x01b40b45, 0x02f71330, 0x0361f466, 0x01658850, 0x03c97aef, 0x01f8cb18, 0x02af35af, 0x0002e3cb}}}, + {X: Field{[10]uint32{0x03ed8f7d, 0x00f54cc7, 0x01eb6edd, 0x00a1af92, 0x03df2946, 0x03f6dab1, 0x03b2448f, 0x03e1c54e, 0x004c01b2, 0x0021ef93}}, Y: Field{[10]uint32{0x020effb1, 0x01bd3af2, 0x00a2adfe, 0x02a19a4e, 0x0071fdc8, 0x00735474, 0x031ec542, 0x0302855d, 0x00bc6386, 0x001fbd1d}}}, + {X: Field{[10]uint32{0x0214715e, 0x00fe8a47, 0x01cfbc01, 0x006d7bb4, 0x0280393f, 0x00e7b6f8, 0x0310eeb2, 0x016faa30, 0x00f018f7, 0x001ed99e}}, Y: Field{[10]uint32{0x038b1fd7, 0x006a2c7c, 0x02890c18, 0x01f4f754, 0x03d98570, 0x02a86efc, 0x008275d2, 0x039a69ce, 0x00e2666e, 0x001e3a2e}}}, + {X: Field{[10]uint32{0x0160f135, 0x009ce52c, 0x00aed90d, 0x01b5acdf, 0x0377d282, 0x03ee8e22, 0x01608f58, 0x027808aa, 0x02419672, 0x000227b1}}, Y: Field{[10]uint32{0x00786cff, 0x025055e9, 0x021f80ac, 0x02c36466, 0x035e3030, 0x0077ac62, 0x01ee5a74, 0x01ce1c06, 0x0142108d, 0x00177bcc}}}, + {X: Field{[10]uint32{0x02177f8e, 0x01b4698d, 0x0131199e, 0x0275907e, 0x008b8374, 0x01e30feb, 0x022acbab, 0x00242cea, 0x03393769, 0x000b2fb1}}, Y: Field{[10]uint32{0x03de8886, 0x024820fc, 0x03bad2ca, 0x0332240b, 0x0367fea7, 0x013c9aba, 0x034a007f, 0x00b56b2c, 0x03e757ad, 0x000c5039}}}, + {X: Field{[10]uint32{0x01946908, 0x033c3baf, 0x03cf02eb, 0x0061198f, 0x0229d576, 0x000c082b, 0x027b116d, 0x02962d4f, 0x03cda2d6, 0x0019e33b}}, Y: Field{[10]uint32{0x026a3491, 0x02f40a03, 0x01713314, 0x0310cc70, 0x0118834f, 0x00caca90, 0x00d56ee9, 0x023bbcdf, 0x01e01329, 0x003d16fa}}}, + {X: Field{[10]uint32{0x033ec0df, 0x03c608b1, 0x01524b43, 0x01cf2230, 0x015073b0, 0x01337c04, 0x012305a9, 0x013b391a, 0x0278adcc, 0x002376f4}}, Y: Field{[10]uint32{0x00fc5b0c, 0x024ec5e0, 0x0102268b, 0x016e8cec, 0x005d2d67, 0x00a31de1, 0x029ea1ae, 0x031b232a, 0x02dd3c52, 0x00241443}}}, + {X: Field{[10]uint32{0x03e36626, 0x00743035, 0x00739304, 0x01e2abdc, 0x00607d78, 0x008e0983, 0x03149c3d, 0x03fd7c8a, 0x0082b162, 0x0025cafc}}, Y: Field{[10]uint32{0x004087dc, 0x01416f93, 0x01324797, 0x0093408d, 0x026eca9f, 0x03a42910, 0x01b64f43, 0x02f29366, 0x03baf61c, 0x0011a16c}}}, + {X: Field{[10]uint32{0x03c97230, 0x03315f2e, 0x0280f540, 0x0182f218, 0x01d8c1f7, 0x0145348f, 0x02801c54, 0x012ae5f7, 0x01526660, 0x0010abc3}}, Y: Field{[10]uint32{0x0299ce38, 0x024afb05, 0x03b89771, 0x01a26378, 0x01cced06, 0x025edd35, 0x017160bd, 0x00a7b50d, 0x03898c90, 0x00015926}}}, + {X: Field{[10]uint32{0x03bb30ac, 0x0188fcf5, 0x010a9fa5, 0x00853010, 0x021748ee, 0x02686831, 0x02138bca, 0x01b47639, 0x03708729, 0x00014d99}}, Y: Field{[10]uint32{0x015cac1d, 0x02e3f63b, 0x01f31fd8, 0x00b96564, 0x027c297b, 0x01cb642e, 0x0219c2f6, 0x02834d49, 0x0260786b, 0x00381a0e}}}, + {X: Field{[10]uint32{0x0039fc24, 0x0157047f, 0x002559de, 0x02d2b648, 0x017d5d0a, 0x033903a4, 0x00308d6b, 0x02c63fc1, 0x0284e85b, 0x00280ed8}}, Y: Field{[10]uint32{0x00785493, 0x0356a3fa, 0x035644ca, 0x016f8052, 0x02c07300, 0x024e76e2, 0x03e7235a, 0x030d208f, 0x0282c22c, 0x0009ce7b}}}, + {X: Field{[10]uint32{0x02b66e97, 0x00b893c9, 0x03a63733, 0x0326648c, 0x01f5801d, 0x02893df7, 0x01980550, 0x014e9af6, 0x02d7268a, 0x000bce53}}, Y: Field{[10]uint32{0x03918d88, 0x03d3375c, 0x014138d3, 0x027d7415, 0x000e49d0, 0x009af130, 0x03d3714a, 0x02ea1b46, 0x033ee934, 0x002d4ad3}}}, + {X: Field{[10]uint32{0x0133f8ab, 0x01684b1c, 0x016ebbb3, 0x03b7bc2d, 0x027740bc, 0x0047bd7f, 0x020c19a6, 0x014df8ea, 0x0010527e, 0x00245dcc}}, Y: Field{[10]uint32{0x029fb5b6, 0x012053fa, 0x0396500f, 0x017333ee, 0x01b097ae, 0x02ef0dad, 0x021063ab, 0x0120249f, 0x03b328b6, 0x001a3e4d}}}, + {X: Field{[10]uint32{0x004af615, 0x018035a4, 0x00b24763, 0x03154280, 0x0028486b, 0x0354a77e, 0x020c1aeb, 0x022bc5e8, 0x01bfcddc, 0x000a146f}}, Y: Field{[10]uint32{0x00cb1356, 0x016cb5b7, 0x017585d1, 0x0320edcc, 0x02ee2acf, 0x00cc0d75, 0x006c3760, 0x009eb9b5, 0x0085702e, 0x0034c0b0}}}, + {X: Field{[10]uint32{0x014bdfef, 0x0136920c, 0x029c25d3, 0x018d69bc, 0x038be3d3, 0x02d1f965, 0x0210b791, 0x0267c515, 0x03ab0254, 0x003a61b5}}, Y: Field{[10]uint32{0x03de35a6, 0x00f0cc51, 0x01c165f5, 0x00b4c710, 0x01cfdb18, 0x00441156, 0x02c63b96, 0x03054043, 0x00dcb3b3, 0x0003418e}}}, + {X: Field{[10]uint32{0x038bfc03, 0x019238a3, 0x02099b2e, 0x0329fefe, 0x00ab44da, 0x020c7609, 0x001c5e0d, 0x02cb38b7, 0x032c5639, 0x002f1176}}, Y: Field{[10]uint32{0x03213e32, 0x03e6d481, 0x028842c1, 0x02020981, 0x0079a805, 0x02a7d4f8, 0x02327400, 0x0226b527, 0x03b127b2, 0x001764f8}}}, + {X: Field{[10]uint32{0x00a8dfc6, 0x012632d4, 0x022fd667, 0x004b29ec, 0x01849ef5, 0x0278a440, 0x027b4c84, 0x020274b1, 0x027e47d9, 0x00105175}}, Y: Field{[10]uint32{0x0113f096, 0x0085ce91, 0x00ea9492, 0x001f58a4, 0x03daeae0, 0x0036a993, 0x008604d9, 0x01fe0a5c, 0x00fc2a4f, 0x00151c7d}}}, + {X: Field{[10]uint32{0x00686825, 0x035d03d7, 0x02fa3c1a, 0x021f9e96, 0x02427e30, 0x01ce373a, 0x015314aa, 0x02755aec, 0x037f4cd7, 0x000b455f}}, Y: Field{[10]uint32{0x016fc1c0, 0x03c7a88a, 0x034eeeab, 0x0084e9c8, 0x02962a4e, 0x01d9aed1, 0x027a29a2, 0x027d2e53, 0x03187615, 0x0030713c}}}, + {X: Field{[10]uint32{0x033933ba, 0x035e5869, 0x0187b361, 0x025a089a, 0x03d6e896, 0x0304aa06, 0x03e26cb0, 0x002cb977, 0x02847704, 0x000bd098}}, Y: Field{[10]uint32{0x0144075e, 0x0120f460, 0x024bd45e, 0x010a1e7c, 0x00a384f9, 0x01d54cbe, 0x03cf601c, 0x00a1e7bf, 0x020d141b, 0x002f7384}}}, + {X: Field{[10]uint32{0x03bf527f, 0x007fff0e, 0x0220ab8a, 0x0110dfa8, 0x03bf9f8f, 0x03bc8f29, 0x003c9c0e, 0x004c0b9a, 0x03a76cc9, 0x002d0673}}, Y: Field{[10]uint32{0x02929517, 0x009478ea, 0x00dba3c0, 0x015b8f34, 0x00a911e9, 0x012201ad, 0x0091a70b, 0x00906792, 0x014e290f, 0x002ee1a5}}}, + {X: Field{[10]uint32{0x0125236f, 0x035cb552, 0x018dcae2, 0x0026c0da, 0x012b17bd, 0x0037b64e, 0x02f2913f, 0x00593f1e, 0x02f95734, 0x00336d29}}, Y: Field{[10]uint32{0x02c8e7aa, 0x03e39baa, 0x025ffc9e, 0x00f013c4, 0x01d57c96, 0x01265914, 0x0100c47d, 0x03d75c39, 0x0236bd1b, 0x00227b68}}}, + {X: Field{[10]uint32{0x0008c256, 0x02003e3d, 0x00a3e321, 0x013088cf, 0x00a12a8c, 0x000e4bfa, 0x026f2f15, 0x031128cf, 0x0351a45a, 0x003b53a9}}, Y: Field{[10]uint32{0x030ffef2, 0x01018d25, 0x0264acaf, 0x018e62b3, 0x00a296d9, 0x0013644b, 0x01266d4d, 0x00d26aba, 0x01a74a2b, 0x00271fa7}}}, + {X: Field{[10]uint32{0x00fbf5d3, 0x03b3428f, 0x0287c96d, 0x000be9e6, 0x0384a74b, 0x037c229c, 0x00ccfcd1, 0x018f0a0c, 0x0138fdf9, 0x0026c1bf}}, Y: Field{[10]uint32{0x03226416, 0x0277801a, 0x020d4eb2, 0x028ca86c, 0x023ede27, 0x0136b435, 0x004ba3cd, 0x018056bb, 0x021ce7ee, 0x003a1991}}}, + {X: Field{[10]uint32{0x02f6ae75, 0x01b94846, 0x004ef516, 0x012f7869, 0x02c2b789, 0x001c0815, 0x0213f1ee, 0x03346a5f, 0x001eefc1, 0x0037c452}}, Y: Field{[10]uint32{0x022b7e02, 0x0152ae88, 0x03ad4a83, 0x0185c5ea, 0x0180c766, 0x039cf8b3, 0x02e1f24d, 0x027e87af, 0x00563542, 0x00285046}}}, + {X: Field{[10]uint32{0x02a3c9f5, 0x0280cb44, 0x0284523d, 0x00569462, 0x0146e4df, 0x0201f186, 0x03bc65de, 0x00fecf41, 0x01010b1f, 0x003e0ca3}}, Y: Field{[10]uint32{0x01ca6216, 0x003c4033, 0x01df0d5e, 0x0051e9c2, 0x02de1749, 0x0172a7af, 0x029a6d0b, 0x0351e272, 0x00747746, 0x0038a76f}}}, + {X: Field{[10]uint32{0x013fff86, 0x03c024d3, 0x01e461fc, 0x01ea4b82, 0x01ff0d1b, 0x02b313ed, 0x02135900, 0x008c07e6, 0x03bdb7fc, 0x000f8ebe}}, Y: Field{[10]uint32{0x02b6ebd6, 0x0098849b, 0x00742f0f, 0x0070fb0a, 0x01a5c2af, 0x01866bac, 0x004c8d09, 0x007146f5, 0x03e1b982, 0x0007f1fd}}}, + {X: Field{[10]uint32{0x03f86125, 0x007aa6c7, 0x0166074d, 0x02013154, 0x0078ede8, 0x0274cd6d, 0x0019f8b6, 0x02005673, 0x02ea6834, 0x002ab45f}}, Y: Field{[10]uint32{0x01365257, 0x033e77e7, 0x008e8ed6, 0x02749ad2, 0x00dfa174, 0x0187ba44, 0x00f45bf3, 0x02276d9f, 0x038cebab, 0x0003a64e}}}, + {X: Field{[10]uint32{0x010ea35c, 0x03a65ca4, 0x0072d37c, 0x02e3eca4, 0x00286442, 0x0389a85e, 0x00f44b6f, 0x031a1bfa, 0x03195515, 0x00084fee}}, Y: Field{[10]uint32{0x0152a852, 0x0225a77b, 0x0136218e, 0x016189e0, 0x03d68c39, 0x0261d880, 0x00ee5771, 0x03d2ecb4, 0x011b7df7, 0x00125ee5}}}, + {X: Field{[10]uint32{0x030120fa, 0x024de40d, 0x021a2924, 0x011c24a0, 0x03eba91b, 0x022e31e9, 0x013321ec, 0x020678fa, 0x02a578ed, 0x00335fdc}}, Y: Field{[10]uint32{0x01bb1148, 0x03d7f3d1, 0x03ce2d8f, 0x02464fa5, 0x02ca4eac, 0x02441df9, 0x02c537d9, 0x003cb3e8, 0x00709928, 0x0028f547}}}, + {X: Field{[10]uint32{0x027f3b51, 0x0248f82d, 0x01b19068, 0x03061e3e, 0x038240ae, 0x0346a78b, 0x023a28a1, 0x00a4e7e6, 0x00c700a7, 0x001c28d8}}, Y: Field{[10]uint32{0x01710259, 0x001554ab, 0x021b73eb, 0x0261b4bd, 0x00dd175c, 0x01a82ee3, 0x024ae36b, 0x036f08ba, 0x007c53a4, 0x00287670}}}, + {X: Field{[10]uint32{0x01b5e46a, 0x01d98048, 0x02d337a0, 0x03f67369, 0x00eedc35, 0x027a72fa, 0x021dd199, 0x00ad983e, 0x015b4f8e, 0x00151298}}, Y: Field{[10]uint32{0x028451e5, 0x0142cd6e, 0x026bd751, 0x0269cc23, 0x03d7ba7a, 0x0376725f, 0x0286aecb, 0x03235d94, 0x01b9c76f, 0x001d749b}}}, + {X: Field{[10]uint32{0x02c8acef, 0x030d19e3, 0x03c92a01, 0x03dcdb08, 0x00f8b779, 0x01356d72, 0x019b2657, 0x01cf5ebc, 0x039f76a0, 0x00108635}}, Y: Field{[10]uint32{0x02cfb28e, 0x0007ae6f, 0x00bdaf2c, 0x0157881f, 0x0187e603, 0x02ca1308, 0x01c05f4e, 0x00ed7f99, 0x02314907, 0x001a057d}}}, + {X: Field{[10]uint32{0x0269b0a9, 0x00bf06a8, 0x03b3864a, 0x01767936, 0x0203deca, 0x018d7e0e, 0x03337598, 0x02b30628, 0x02381a82, 0x001ab689}}, Y: Field{[10]uint32{0x02da6c08, 0x03388a57, 0x033bae8a, 0x03e2d854, 0x012e77b6, 0x022d7e10, 0x0105f32b, 0x0149bd83, 0x02da65f7, 0x0014f4d5}}}, + {X: Field{[10]uint32{0x0118b09e, 0x019863b8, 0x03579336, 0x0291e04f, 0x018bd46e, 0x030e0b10, 0x0118e987, 0x026965d5, 0x0101d9f2, 0x0017ea67}}, Y: Field{[10]uint32{0x03fc3b39, 0x003a0b4c, 0x034cd6fc, 0x000b6fb0, 0x02f15f66, 0x0260994a, 0x00e381e4, 0x02e06f73, 0x023838de, 0x00351e74}}}, + {X: Field{[10]uint32{0x00d76f6e, 0x000656d1, 0x03e4412d, 0x0002cadf, 0x030bbb4a, 0x03fbe5b4, 0x02676d72, 0x019eadba, 0x017634cc, 0x00331bb5}}, Y: Field{[10]uint32{0x03bf820c, 0x002bd8bd, 0x03e94f52, 0x00343692, 0x03dd801b, 0x020d0a13, 0x009e5f15, 0x0266e2ab, 0x015ad509, 0x0002c570}}}, + {X: Field{[10]uint32{0x00ffceb4, 0x00bb8e90, 0x03ddfec3, 0x01e761d1, 0x01ff4476, 0x00289adb, 0x0310bf89, 0x03a8ff7a, 0x03db5323, 0x00393343}}, Y: Field{[10]uint32{0x0220e1f5, 0x021a8c34, 0x00c48d5d, 0x01ef107e, 0x00e2caa8, 0x02dd8a71, 0x02af718d, 0x010d5d95, 0x00c8ba9c, 0x003ef6d0}}}, + {X: Field{[10]uint32{0x0388a8af, 0x02df3626, 0x025686af, 0x03b1e9d5, 0x030b3c1f, 0x008d1a0c, 0x01e3ca1a, 0x02e4a6b0, 0x022aba51, 0x001dff5c}}, Y: Field{[10]uint32{0x01e98505, 0x0243d6cf, 0x006919cf, 0x016cb1ec, 0x006b5b55, 0x037d2edd, 0x0378ee31, 0x0272d13c, 0x01e10d6e, 0x00340946}}}, + {X: Field{[10]uint32{0x017a41dd, 0x010630a6, 0x033e2665, 0x008e57fd, 0x006291e5, 0x00a67d3e, 0x03ca57bf, 0x00f51e74, 0x03bca9dd, 0x00134e47}}, Y: Field{[10]uint32{0x00ce899e, 0x03afc96d, 0x02fce1a9, 0x0310e7b1, 0x03e5d4a3, 0x024f10fc, 0x03e9fcd5, 0x0181aee4, 0x0033b55e, 0x0017327b}}}, + {X: Field{[10]uint32{0x03084e97, 0x00e9115c, 0x022ba83f, 0x03e20586, 0x012eb232, 0x0324bfa0, 0x019d63c3, 0x01ee1172, 0x004617b1, 0x001d02f1}}, Y: Field{[10]uint32{0x00355464, 0x00952bfe, 0x00c67883, 0x00aa640a, 0x02fb1074, 0x004c061d, 0x0317481c, 0x02559dc5, 0x006e0f4f, 0x0003f63b}}}, + {X: Field{[10]uint32{0x01b46e5c, 0x004396c0, 0x00392b2d, 0x03106f73, 0x00c6aa12, 0x0333b40c, 0x02fd8d60, 0x02114d6e, 0x021cadeb, 0x00309630}}, Y: Field{[10]uint32{0x01171d31, 0x01884e57, 0x022af4cb, 0x029d7b0f, 0x02b73646, 0x0083797c, 0x01d08afa, 0x02f5fdce, 0x037f3e60, 0x001f37c0}}}, + {X: Field{[10]uint32{0x00130d44, 0x03fee0c9, 0x01768dbe, 0x01786fff, 0x01fac22a, 0x00327299, 0x0180261c, 0x0135742f, 0x0069733a, 0x0023f220}}, Y: Field{[10]uint32{0x02fc946e, 0x03d2a804, 0x00a95954, 0x0298e3c3, 0x01ca5bf0, 0x0073b9a4, 0x0137ba74, 0x0010b553, 0x014bf88c, 0x0010846a}}}, + {X: Field{[10]uint32{0x0096ad4c, 0x0186ee43, 0x027c967a, 0x038ccae0, 0x00f5152d, 0x03a674c5, 0x03b0e0bc, 0x007091fe, 0x021a4032, 0x0033d8bb}}, Y: Field{[10]uint32{0x02c4a3fe, 0x00259007, 0x015a19bb, 0x00d99043, 0x02e61373, 0x01f70348, 0x01978c07, 0x01ee352f, 0x03c3e64f, 0x0018a129}}}, + {X: Field{[10]uint32{0x009f8ba7, 0x00103915, 0x019d06c0, 0x032bf5bf, 0x00bb00b3, 0x026da458, 0x00884431, 0x01dd83b3, 0x038a4d44, 0x0014cd47}}, Y: Field{[10]uint32{0x037f6b83, 0x014af34d, 0x02a0a163, 0x02e23027, 0x00c7c1cb, 0x015220e1, 0x01c148fd, 0x039bfdd5, 0x02193816, 0x0020e113}}}, + {X: Field{[10]uint32{0x0106bb0c, 0x00cd2287, 0x000a9e17, 0x01eb4b98, 0x03baa015, 0x02b3a501, 0x010e1f62, 0x02464653, 0x03ceee2c, 0x00280818}}, Y: Field{[10]uint32{0x03146339, 0x03061ba7, 0x01de05f4, 0x02c0401f, 0x03fcdaee, 0x011122a2, 0x01b40eac, 0x00fd4b6a, 0x01b55565, 0x0018c118}}}, + {X: Field{[10]uint32{0x01d35660, 0x02a35bf8, 0x018575a6, 0x027a546e, 0x02c360c0, 0x0259822a, 0x034f3741, 0x005d91c9, 0x01cc25de, 0x001c2f2f}}, Y: Field{[10]uint32{0x03461d74, 0x02c3d3b6, 0x02b64a90, 0x00c252a0, 0x003a1c74, 0x02787503, 0x035e719a, 0x01673a02, 0x019b7163, 0x000ef56f}}}, + {X: Field{[10]uint32{0x02dc8fc7, 0x004b466a, 0x01fff138, 0x0305d055, 0x0054b161, 0x02945778, 0x03b1fe52, 0x030f01be, 0x017783cf, 0x00037e2b}}, Y: Field{[10]uint32{0x00069569, 0x031cd560, 0x0060444e, 0x006c4993, 0x01af3840, 0x002df2e6, 0x034ff20a, 0x036c3274, 0x00f60416, 0x002f1024}}}, + {X: Field{[10]uint32{0x000a30f9, 0x02a76795, 0x009ed777, 0x011f8154, 0x028788df, 0x014b55be, 0x02fff3a4, 0x0260017c, 0x01ccef39, 0x0009413a}}, Y: Field{[10]uint32{0x0390612a, 0x0167de5c, 0x00a51116, 0x013b6da4, 0x036fd651, 0x02d7f60c, 0x03f4d2fa, 0x023bf2bd, 0x02a2c6f4, 0x001cf141}}}, + {X: Field{[10]uint32{0x03c97025, 0x005068d6, 0x03a61571, 0x00320678, 0x0218a9ce, 0x0225e7f3, 0x02a6fa56, 0x000cd0e9, 0x03241c92, 0x00093b81}}, Y: Field{[10]uint32{0x00bd7b8a, 0x00909f2c, 0x00bf6ba2, 0x00580bec, 0x03fa0c68, 0x035fd364, 0x0140a6cc, 0x0213a1a2, 0x02cd605b, 0x003b990b}}}, + {X: Field{[10]uint32{0x023929b3, 0x01b6465e, 0x03093e1c, 0x00ac9700, 0x014961e1, 0x00825fcd, 0x00d8eb11, 0x0301698f, 0x00e09665, 0x0007ab57}}, Y: Field{[10]uint32{0x0156fcc3, 0x012a9b5c, 0x0009dc2f, 0x03d77b9c, 0x007284b5, 0x00775c48, 0x0032fbea, 0x03312ac7, 0x035da1ab, 0x00060037}}}, + {X: Field{[10]uint32{0x0205d507, 0x01e247ba, 0x009c098e, 0x03bcb97a, 0x03160c69, 0x020e21d2, 0x020b0dcd, 0x013e3e40, 0x03f22608, 0x0011f3cb}}, Y: Field{[10]uint32{0x01fb7d48, 0x03e948b5, 0x03516cf8, 0x03723720, 0x00bca2ef, 0x00e19919, 0x004d0d2c, 0x016bfc41, 0x03df129b, 0x0028d034}}}, + {X: Field{[10]uint32{0x02d6cbdd, 0x038e7110, 0x03e75b04, 0x02a0fe69, 0x0151f050, 0x0391d293, 0x018bb8ea, 0x01254a88, 0x039b8e2e, 0x0010193e}}, Y: Field{[10]uint32{0x0035de10, 0x0221b76e, 0x03d2b9c7, 0x030346b7, 0x0118ea66, 0x02b77383, 0x013e02aa, 0x0064c24b, 0x0076a2ef, 0x003fe73b}}}, + {X: Field{[10]uint32{0x0381904e, 0x038cd4fe, 0x000d222d, 0x0101a766, 0x03cdd70a, 0x029b5007, 0x01e0150b, 0x008340c8, 0x00d6e58e, 0x0020e2b2}}, Y: Field{[10]uint32{0x015614bc, 0x015222b6, 0x027105f9, 0x03f03a24, 0x01b1ef24, 0x01054ccc, 0x01a6b251, 0x036efdee, 0x03962909, 0x00264e9b}}}, + {X: Field{[10]uint32{0x0202f266, 0x03a6d7b8, 0x033855fc, 0x01caf133, 0x035aedee, 0x03b3d650, 0x016ea260, 0x010f48d3, 0x0183189d, 0x002978db}}, Y: Field{[10]uint32{0x01822c55, 0x02c7251e, 0x03fe954a, 0x02d79fae, 0x03dfc2d1, 0x01050d68, 0x012933fb, 0x00ee2677, 0x003ce25c, 0x001e300b}}}, + {X: Field{[10]uint32{0x03ba72c9, 0x0323f8c7, 0x035725dd, 0x01ea6d47, 0x015ad79e, 0x0235bdeb, 0x03312095, 0x03134cd3, 0x00bcd357, 0x00278903}}, Y: Field{[10]uint32{0x0111f06b, 0x0245cb2d, 0x030eb672, 0x00433be7, 0x0068cc5e, 0x00c2cf27, 0x01476b7b, 0x02818bb0, 0x025ced60, 0x002ba8d2}}}, + {X: Field{[10]uint32{0x02dc2eba, 0x036bb0ed, 0x020c7ea8, 0x016a182f, 0x02dfc9ed, 0x03b91e89, 0x022b91d1, 0x014e0170, 0x0246bb31, 0x002b46c1}}, Y: Field{[10]uint32{0x02dd2083, 0x02e65564, 0x018bb353, 0x02a5b4c3, 0x03a298da, 0x0285661c, 0x0110c9ee, 0x0314246a, 0x01a22499, 0x003b8b98}}}, + {X: Field{[10]uint32{0x030ec72b, 0x02df34d6, 0x020cc35c, 0x01d288da, 0x02fa12df, 0x0047b2a9, 0x00d8c7f0, 0x03d92954, 0x008911d8, 0x0013dec2}}, Y: Field{[10]uint32{0x01bb21e3, 0x00549713, 0x01d993e3, 0x0143c778, 0x0129b942, 0x035fe1a4, 0x019ffac8, 0x01f862d3, 0x001b0d29, 0x0024c6bd}}}, + {X: Field{[10]uint32{0x03d3a7ee, 0x00d48f24, 0x01870d2d, 0x01d0d5a5, 0x02834d02, 0x002ec4be, 0x03ba8747, 0x023cf24f, 0x0170e410, 0x0036aca8}}, Y: Field{[10]uint32{0x0173ae4d, 0x002cbef1, 0x0251e7bb, 0x01bc5d19, 0x03293a5c, 0x002338d6, 0x02ecb24d, 0x0004377a, 0x02cfc37f, 0x00098bc4}}}, + {X: Field{[10]uint32{0x03cf39be, 0x031d2128, 0x03a317ab, 0x021f12f3, 0x02d499f6, 0x0046d699, 0x01e50823, 0x035cb906, 0x017b0784, 0x000d0dc9}}, Y: Field{[10]uint32{0x01c398d3, 0x02cef6a9, 0x00ec2a49, 0x0281dbc7, 0x00f38bd0, 0x02c1b5f0, 0x013fa143, 0x035a3a11, 0x03076da8, 0x0033a6f3}}}, + {X: Field{[10]uint32{0x0099545b, 0x0179cd82, 0x0155c9ed, 0x0024d2b4, 0x03939fa4, 0x028d2feb, 0x0386024e, 0x006ad6fd, 0x029f8261, 0x0011652b}}, Y: Field{[10]uint32{0x02d450f5, 0x00fe4a3a, 0x00da4c4b, 0x0178fb83, 0x0177d3f1, 0x01ded1e3, 0x0034e72e, 0x02e9cb0e, 0x03f562b0, 0x00089571}}}, + {X: Field{[10]uint32{0x01898819, 0x0084b760, 0x003c2f13, 0x00dac89d, 0x033aebb0, 0x01ad6169, 0x02b21fc2, 0x001bec0d, 0x030512db, 0x0001ccdd}}, Y: Field{[10]uint32{0x00307887, 0x00315fd4, 0x03c51515, 0x03b4a4a0, 0x00848b53, 0x0161fcfe, 0x01cf461c, 0x02c28958, 0x0159725f, 0x001d4f77}}}, + {X: Field{[10]uint32{0x029790ff, 0x02af59b5, 0x0372e3f2, 0x00b41953, 0x00a53f4c, 0x0231d2af, 0x02d81c10, 0x03fbcd54, 0x00144d2a, 0x002f6456}}, Y: Field{[10]uint32{0x0027763e, 0x01fb4b46, 0x005b950e, 0x016e5783, 0x0231ae89, 0x017d1c52, 0x02b3277a, 0x038dced0, 0x01e17f27, 0x0006bd82}}}, + {X: Field{[10]uint32{0x015bb557, 0x0395b6e4, 0x03c73d4c, 0x01007d27, 0x01677827, 0x00f621c3, 0x001ced90, 0x03fb88a3, 0x014ca51d, 0x00228473}}, Y: Field{[10]uint32{0x02f5cf23, 0x003d8655, 0x017196be, 0x03c09cce, 0x02ca46b3, 0x03d1c403, 0x00278229, 0x02725fbb, 0x03eeae9f, 0x0034c2b5}}}, + {X: Field{[10]uint32{0x039bfcfd, 0x011b61db, 0x01ea697d, 0x035f0291, 0x03cfd058, 0x016c09ca, 0x023e6886, 0x02ffadb0, 0x01f02802, 0x001e4a6d}}, Y: Field{[10]uint32{0x00fde5d0, 0x02d538bd, 0x00b36963, 0x033507c2, 0x018c80d1, 0x00aa2430, 0x01e366c3, 0x01e0f534, 0x02218039, 0x003e6eeb}}}, + {X: Field{[10]uint32{0x03d89d01, 0x0131498e, 0x018bcf6e, 0x01566c69, 0x03d55f88, 0x0327c07c, 0x000e79bc, 0x0259be02, 0x02ac1d5b, 0x002037c1}}, Y: Field{[10]uint32{0x01136538, 0x006ab250, 0x03a7ebe4, 0x00dc9983, 0x025ee5c3, 0x030043cd, 0x025614ba, 0x0162a498, 0x02d0a595, 0x000d1a49}}}, + {X: Field{[10]uint32{0x025ccaf7, 0x020cc56f, 0x00ac6efc, 0x036b483d, 0x03ed4b01, 0x020eb44e, 0x0292b4f3, 0x020fca52, 0x00789ff3, 0x001d1515}}, Y: Field{[10]uint32{0x0160fa9a, 0x01ddf2f0, 0x00ceafae, 0x018679d8, 0x03e82173, 0x0133cad7, 0x01ea165c, 0x01dffb78, 0x037781ee, 0x000d9227}}}, + {X: Field{[10]uint32{0x02f8fe85, 0x00af3616, 0x01e67de6, 0x0357e1df, 0x03e562d7, 0x00a0a2df, 0x0011fdb4, 0x02a28257, 0x01bcb213, 0x000b1b4d}}, Y: Field{[10]uint32{0x035d159b, 0x02f9ad31, 0x0163144d, 0x0270af4d, 0x002e6013, 0x00bc8ca6, 0x002206c7, 0x013e7d14, 0x03703409, 0x002a8c38}}}, + {X: Field{[10]uint32{0x02e338db, 0x0369c3ec, 0x027be830, 0x0274c12a, 0x024b4342, 0x00a33458, 0x011846a7, 0x013ac0a0, 0x017a9d93, 0x0020d4d9}}, Y: Field{[10]uint32{0x00e02b71, 0x0275011d, 0x003b166a, 0x02bcebfe, 0x02ed4a4c, 0x039a4f22, 0x0189c5ac, 0x03e974a0, 0x0038020f, 0x003e1001}}}, + {X: Field{[10]uint32{0x02ae494f, 0x02a377ea, 0x027f6fd1, 0x01cd3b61, 0x012177ca, 0x018698a6, 0x02f63365, 0x015b5f1f, 0x013a54ce, 0x003c85ba}}, Y: Field{[10]uint32{0x00d30611, 0x00fa912b, 0x036723f4, 0x02dc0bc6, 0x038da296, 0x004730d1, 0x03e8fadb, 0x020c9818, 0x0313a0fe, 0x0036c28f}}}, + {X: Field{[10]uint32{0x008324fb, 0x0342046a, 0x03112273, 0x032379b9, 0x002e9a3d, 0x018bb1fd, 0x022baa4b, 0x01cfe595, 0x02219b5d, 0x00370dc4}}, Y: Field{[10]uint32{0x0357c004, 0x02c553f7, 0x000fb581, 0x0055f0cc, 0x004f1c90, 0x00a7e6ed, 0x020acaa9, 0x00fa58dc, 0x0092ec56, 0x003bb324}}}, + {X: Field{[10]uint32{0x02649475, 0x02641c8d, 0x0116dd44, 0x01ed0959, 0x02b10f04, 0x03bd4d2b, 0x02f60296, 0x02d3c787, 0x036d48f0, 0x0036cd1c}}, Y: Field{[10]uint32{0x00586bec, 0x02f93fab, 0x00fdfdd1, 0x01985934, 0x001a1169, 0x024f9462, 0x02c34c9b, 0x031e1a54, 0x016cf7a8, 0x00070a73}}}, + {X: Field{[10]uint32{0x03696add, 0x031ca5c0, 0x03d3378f, 0x03b4d63e, 0x01971b09, 0x00bd6f3c, 0x015af536, 0x021093cd, 0x00572046, 0x00028921}}, Y: Field{[10]uint32{0x02547803, 0x028ddd89, 0x006948c9, 0x00c6f214, 0x03baffc9, 0x00b8915c, 0x0367a56c, 0x037ae28d, 0x016137d0, 0x00269c0f}}}, + {X: Field{[10]uint32{0x024436c4, 0x027ea8c4, 0x01ed240c, 0x02e63ec9, 0x023eba38, 0x007da343, 0x02aa4293, 0x01d4eeef, 0x006fa9ac, 0x002edee0}}, Y: Field{[10]uint32{0x02426752, 0x020daa04, 0x02e646e5, 0x0273e6d0, 0x0007c6ff, 0x026c0543, 0x03682e3d, 0x02efa366, 0x0174a1a8, 0x0023e049}}}, + {X: Field{[10]uint32{0x03ecf446, 0x0025bff0, 0x01ad517b, 0x02a9d125, 0x00489344, 0x02783c1a, 0x02194276, 0x02808fd9, 0x0076fc28, 0x0019c0f1}}, Y: Field{[10]uint32{0x00e2a38c, 0x02b10f4a, 0x0215eed3, 0x02ac148b, 0x00f42699, 0x019cc785, 0x00211a30, 0x029c8d61, 0x023f7c9b, 0x0022d200}}}, + {X: Field{[10]uint32{0x02dbf6a2, 0x012e9878, 0x023b71b4, 0x02a8d251, 0x0214cf0d, 0x00584ae0, 0x023f3b7a, 0x02d123f8, 0x00e4bfa4, 0x002f2abe}}, Y: Field{[10]uint32{0x01c7f404, 0x0385c435, 0x01736d6f, 0x03b1a333, 0x03b07498, 0x02fa1e4e, 0x0108835d, 0x0254ffa7, 0x0300e2cc, 0x002f7fc9}}}, + {X: Field{[10]uint32{0x0310cd49, 0x0361e464, 0x00f7bbfe, 0x005cfb1d, 0x02217945, 0x01c9a8b9, 0x015b446d, 0x01c88077, 0x03da1a55, 0x00241ad3}}, Y: Field{[10]uint32{0x012653cf, 0x029d34e2, 0x00f93441, 0x0240b5fd, 0x01cf8384, 0x021a421c, 0x0304bc47, 0x0134a340, 0x02dbcd2c, 0x0035d4fc}}}, + {X: Field{[10]uint32{0x02f93d5f, 0x009ab0e7, 0x029058d7, 0x0337ade1, 0x00fa5369, 0x006ff741, 0x000e326e, 0x01f65546, 0x0383018f, 0x0027b025}}, Y: Field{[10]uint32{0x03acf205, 0x0252b765, 0x02049d17, 0x03e3e252, 0x00ad22ba, 0x034a3edc, 0x02c68424, 0x0059054e, 0x0057994b, 0x002732a0}}}, + {X: Field{[10]uint32{0x02b8209d, 0x038cc504, 0x030f3a2d, 0x02faec00, 0x036f823c, 0x004534bc, 0x0362a96f, 0x0103b0a0, 0x0106b754, 0x0014cd1e}}, Y: Field{[10]uint32{0x020c1fa0, 0x02824332, 0x0034ab06, 0x0200f864, 0x01595816, 0x025543b1, 0x02f1bf02, 0x022af91f, 0x00e0471f, 0x000332ce}}}, + {X: Field{[10]uint32{0x023a4870, 0x023e0374, 0x013373b9, 0x00445485, 0x03a33e54, 0x02cd5e01, 0x0224b18e, 0x0012024f, 0x032961b7, 0x0009f14f}}, Y: Field{[10]uint32{0x02575601, 0x02e222f6, 0x014fe2f3, 0x03ea2016, 0x00703fa5, 0x02b23139, 0x03c70e59, 0x00db11c7, 0x038de186, 0x00168fd2}}}, + {X: Field{[10]uint32{0x0259b68f, 0x03339d77, 0x02a5beac, 0x028f9d72, 0x0322ed51, 0x03d57084, 0x02616bac, 0x017e684a, 0x03e37a11, 0x00248649}}, Y: Field{[10]uint32{0x0327b141, 0x00db1341, 0x00ae2e06, 0x01c45e19, 0x0155884e, 0x0098f5de, 0x02fb5906, 0x0316d662, 0x007bc1e4, 0x002f6edf}}}, + {X: Field{[10]uint32{0x033ea8c2, 0x01b35b8f, 0x01ff8dde, 0x002468f6, 0x01efb3e6, 0x0390c9d4, 0x03c692ca, 0x007ff59d, 0x00876eb8, 0x0025cecf}}, Y: Field{[10]uint32{0x03bbb0ed, 0x03af7655, 0x003b849a, 0x02b8ea5a, 0x018684b0, 0x036f3b36, 0x0112c5da, 0x01442e90, 0x03710129, 0x000d037d}}}, + {X: Field{[10]uint32{0x0301ae71, 0x017a6b06, 0x02ce4020, 0x00c84995, 0x00d5972c, 0x024811c0, 0x038ef036, 0x00dd9e64, 0x03def053, 0x00082e05}}, Y: Field{[10]uint32{0x0395707b, 0x0052aa20, 0x01c1234a, 0x0193faa6, 0x01c6b1ce, 0x01282af1, 0x025c3529, 0x02805871, 0x025be2da, 0x000ab8bf}}}, + {X: Field{[10]uint32{0x03c95876, 0x02226d28, 0x01402aa6, 0x0358f64c, 0x01ca9fc5, 0x01cbad0f, 0x02347b7f, 0x0246041e, 0x004f7a7e, 0x0018f895}}, Y: Field{[10]uint32{0x000d16b1, 0x032b5c4a, 0x02067f91, 0x02c7e1b9, 0x02adf49c, 0x022f57eb, 0x01cdf521, 0x00533801, 0x026d20d7, 0x00398abb}}}, + {X: Field{[10]uint32{0x022aeb80, 0x00e5d4f8, 0x034216ac, 0x01cb9060, 0x01a69dd4, 0x011f5d8b, 0x0183abfc, 0x0233c2cd, 0x02107150, 0x000be437}}, Y: Field{[10]uint32{0x0388d389, 0x024eaf4d, 0x0264b761, 0x0226708f, 0x00880f3a, 0x02846122, 0x01e5e025, 0x0375d189, 0x02bd04a0, 0x0014dc6f}}}, + {X: Field{[10]uint32{0x02ed7209, 0x0373ca74, 0x0048ac9a, 0x03082b47, 0x037c9359, 0x03968d47, 0x0237cf75, 0x01b41517, 0x00e8faa9, 0x0023508f}}, Y: Field{[10]uint32{0x03ab40f2, 0x002c4a42, 0x03d6eea8, 0x03056b02, 0x03bb9d23, 0x0299570f, 0x00df7948, 0x03100686, 0x003dee76, 0x0020f52e}}}, + {X: Field{[10]uint32{0x00181efd, 0x03b04420, 0x03ea3bec, 0x0220156c, 0x02a9c91d, 0x02451090, 0x03111a20, 0x022bfcc0, 0x01425e02, 0x0004be90}}, Y: Field{[10]uint32{0x00c3ff57, 0x00ab103a, 0x03d4dc4d, 0x022ecb8d, 0x03ee5c3b, 0x018bac43, 0x010eddb3, 0x00ad5eb0, 0x03708e79, 0x001ae56c}}}, + {X: Field{[10]uint32{0x02706f73, 0x011e20a2, 0x00bbff83, 0x01bfff43, 0x00ce7019, 0x037cb5cc, 0x0105632c, 0x0375f35d, 0x015f2a3b, 0x00248f2a}}, Y: Field{[10]uint32{0x0346abbc, 0x0106ad49, 0x032ee3e5, 0x036f2b42, 0x031903af, 0x00433ffc, 0x003983b2, 0x0185cece, 0x0066c39b, 0x003e2c32}}}, + {X: Field{[10]uint32{0x00893646, 0x027835a2, 0x01776a86, 0x02859882, 0x0064ce3a, 0x00a3d1c1, 0x023875a7, 0x0103a58f, 0x013e8782, 0x00021135}}, Y: Field{[10]uint32{0x03eeaca1, 0x01579cdb, 0x032b25b8, 0x031c67ec, 0x011c84f9, 0x01c4ef1d, 0x00c47b4a, 0x02307fe6, 0x029192bf, 0x00318334}}}, + {X: Field{[10]uint32{0x01dc98f3, 0x01eb087c, 0x02b2a65e, 0x027d998d, 0x03883829, 0x00016977, 0x0277ff81, 0x007636e8, 0x03d6c547, 0x0010de1b}}, Y: Field{[10]uint32{0x02091b51, 0x00bd4a95, 0x0127e914, 0x0213e630, 0x03745ff8, 0x021c1bf9, 0x039109cb, 0x016ef63d, 0x02c29c8c, 0x0034a4a8}}}, + {X: Field{[10]uint32{0x0236d7ab, 0x01cdb72b, 0x0257ce94, 0x01162c1c, 0x02bb0dec, 0x02e628b3, 0x0383f71f, 0x03b3d8e1, 0x028df5e9, 0x001b46f0}}, Y: Field{[10]uint32{0x00d549e6, 0x020008e2, 0x0238da0e, 0x001c8c85, 0x00e2c00e, 0x00a04237, 0x0214cf7a, 0x00111e18, 0x0192bfd8, 0x0030b150}}}, + {X: Field{[10]uint32{0x02ff86c6, 0x0255aac5, 0x037f67d8, 0x0333fe12, 0x016c742c, 0x00f89975, 0x033f89cc, 0x0338f0bb, 0x03347f74, 0x001af13b}}, Y: Field{[10]uint32{0x01b46408, 0x03f33c5e, 0x0066b8b0, 0x03918317, 0x01be26a6, 0x01af798b, 0x036be35c, 0x02c13c49, 0x02fd2d2a, 0x003ad124}}}, + {X: Field{[10]uint32{0x03678b38, 0x03ea66ef, 0x00ddcb35, 0x00af2ccf, 0x000d67a6, 0x00342357, 0x02a756e0, 0x00256350, 0x0075fa81, 0x001abd14}}, Y: Field{[10]uint32{0x025bff28, 0x01ffe7ee, 0x00bfd528, 0x024e1258, 0x02886c7b, 0x02dce199, 0x00ffc3fa, 0x020b1d9e, 0x024f0e76, 0x002b6edc}}}, + {X: Field{[10]uint32{0x01260600, 0x03a29995, 0x011caa24, 0x003e416b, 0x00939f34, 0x0156dd18, 0x02f49cd3, 0x018d96a5, 0x03763646, 0x003adb62}}, Y: Field{[10]uint32{0x03bea3cd, 0x02eb835f, 0x015c33c2, 0x021c0cfe, 0x0241f7a1, 0x000ee074, 0x03a11ff6, 0x002dfee6, 0x02fdaea3, 0x001eba73}}}, + {X: Field{[10]uint32{0x01795068, 0x0115d7a4, 0x000af11e, 0x026eb594, 0x01b34d5e, 0x02eb533d, 0x038dd694, 0x01f4fd9c, 0x02332fef, 0x002f4308}}, Y: Field{[10]uint32{0x011cf209, 0x02082fa7, 0x0113676f, 0x015ceaa7, 0x01a91c4d, 0x01a08e93, 0x01100b66, 0x02c8702a, 0x004e2ea0, 0x003aae97}}}, + {X: Field{[10]uint32{0x02b7e392, 0x03261e54, 0x034b5054, 0x027e010d, 0x030aa56d, 0x01092455, 0x003e0831, 0x025064d2, 0x03bdc504, 0x0031788e}}, Y: Field{[10]uint32{0x02597751, 0x022b1e9b, 0x00fe2f7f, 0x019a156d, 0x038d59e7, 0x02a92b8f, 0x01cd02e3, 0x0085feff, 0x00cbf684, 0x00132bae}}}, + {X: Field{[10]uint32{0x0092d2a3, 0x019f3e23, 0x00bd8108, 0x02637a8e, 0x0017178e, 0x03487181, 0x003edb03, 0x02ae4955, 0x0231f3aa, 0x002d5c5d}}, Y: Field{[10]uint32{0x0011942a, 0x01027ca3, 0x020e9a02, 0x02b23c74, 0x00d2bdf0, 0x00936ead, 0x03318745, 0x02a7bc22, 0x01cc0324, 0x0039d082}}}, + {X: Field{[10]uint32{0x01305cfc, 0x012d7a57, 0x00cca2fe, 0x01f1ee0e, 0x01b2d17b, 0x00c281f8, 0x00a85d5d, 0x007cbf2b, 0x00994960, 0x00271158}}, Y: Field{[10]uint32{0x0304eeb6, 0x03b81bbf, 0x00674674, 0x030d6172, 0x00329273, 0x0079401e, 0x001b61b3, 0x0371f0a1, 0x0140a109, 0x000b5e85}}}, + {X: Field{[10]uint32{0x02a82f63, 0x01de9462, 0x00d5498c, 0x0175cc8a, 0x03e33dae, 0x00ed9812, 0x02ff1757, 0x00db12a2, 0x0146c0ab, 0x0014ab8a}}, Y: Field{[10]uint32{0x037f87b4, 0x035dc71d, 0x0104d24d, 0x0320190c, 0x027179f5, 0x019524fc, 0x003f899b, 0x006fe934, 0x019b6606, 0x001c388f}}}, + {X: Field{[10]uint32{0x0394adf9, 0x0167c280, 0x03dcef4f, 0x030b0a7b, 0x0189db9a, 0x0210207a, 0x01ba4903, 0x0118b770, 0x03bf55ff, 0x000527b0}}, Y: Field{[10]uint32{0x009dd7af, 0x02a2f05e, 0x01801341, 0x01737e52, 0x0049642b, 0x039a5472, 0x028fbc7c, 0x02e508ab, 0x0188b91d, 0x00016707}}}, + {X: Field{[10]uint32{0x02ea7ea7, 0x018e0410, 0x005768a1, 0x00270534, 0x03dbe14a, 0x0054e368, 0x03835346, 0x0063777f, 0x0294d667, 0x002bfe24}}, Y: Field{[10]uint32{0x0159266b, 0x0139d913, 0x00bb9a92, 0x0244aa23, 0x017b6154, 0x02f095b7, 0x022352ac, 0x021e97b3, 0x03ebcf58, 0x001c619a}}}, + {X: Field{[10]uint32{0x004e76fc, 0x02ed0196, 0x02b78da7, 0x02dce38a, 0x0133887e, 0x000f8ad0, 0x012d49b3, 0x0011cab5, 0x00782cb3, 0x0037913d}}, Y: Field{[10]uint32{0x02482bf5, 0x0348f273, 0x01da7eef, 0x03ea0c3b, 0x01b13d08, 0x02b23bc8, 0x03c630d7, 0x0360b015, 0x018425ba, 0x0019e62b}}}, + {X: Field{[10]uint32{0x01682e61, 0x03b1f1ce, 0x021345a2, 0x03aca253, 0x02b3a380, 0x006e80b1, 0x032c88be, 0x024d9b05, 0x02737616, 0x00382f1e}}, Y: Field{[10]uint32{0x022cb2e0, 0x01827349, 0x024d3c23, 0x030aad50, 0x035ad1f7, 0x01edfa64, 0x027c0ec8, 0x023fa37f, 0x02b933b1, 0x002f451f}}}, + {X: Field{[10]uint32{0x032f0e6d, 0x01e91d80, 0x03b1127c, 0x0269c73e, 0x02ed2613, 0x0294da88, 0x033cfa70, 0x027cce51, 0x03272af6, 0x0017b8d3}}, Y: Field{[10]uint32{0x00e13b8c, 0x018abab1, 0x036cb807, 0x004370d8, 0x011316bf, 0x01737bf1, 0x0257de98, 0x01360bda, 0x0396dc0d, 0x003077e3}}}, + {X: Field{[10]uint32{0x0199a0f2, 0x03397a39, 0x0113a68b, 0x011afb57, 0x03672968, 0x03855f5e, 0x00c274df, 0x01e98e6e, 0x03c177fa, 0x0013728e}}, Y: Field{[10]uint32{0x012fb234, 0x030cb14f, 0x032a1d01, 0x01a14bbf, 0x012fb489, 0x03d6723a, 0x033fd758, 0x026baff6, 0x015836fb, 0x0023f4ad}}}, + {X: Field{[10]uint32{0x00b48136, 0x0211d47e, 0x004f5bc1, 0x00d280d2, 0x00980810, 0x03a64fd5, 0x01ed9373, 0x000a43be, 0x03c18756, 0x001553da}}, Y: Field{[10]uint32{0x0172b26a, 0x0129af28, 0x0183d206, 0x00e8783f, 0x03de8086, 0x0230fd43, 0x03834e0e, 0x004a8d45, 0x03b7dfd5, 0x002d1530}}}, + {X: Field{[10]uint32{0x01592ad4, 0x00a096e1, 0x02ba420b, 0x01f2d4e7, 0x02955af8, 0x018b708b, 0x0160b2e1, 0x021e69aa, 0x0350a6c0, 0x00256a06}}, Y: Field{[10]uint32{0x0045c712, 0x006ac303, 0x011af265, 0x021bd9c0, 0x037c7d50, 0x00e2a930, 0x0072b75f, 0x008b47d6, 0x00c4dfed, 0x002f957a}}}, + {X: Field{[10]uint32{0x037e5c4d, 0x02e2f9d1, 0x01d853ef, 0x029ba8a4, 0x0244a4f8, 0x00c7d560, 0x00d14d34, 0x01a9b8d6, 0x01539e49, 0x00241edb}}, Y: Field{[10]uint32{0x03150eac, 0x021cb91d, 0x0265c21f, 0x0000a489, 0x01ff33e2, 0x0375f475, 0x0017fad1, 0x02ee799e, 0x02943853, 0x002cf4f5}}}, + {X: Field{[10]uint32{0x03f17aa6, 0x03330271, 0x003575bc, 0x0191adea, 0x01c8884c, 0x00fc5d81, 0x0337cb23, 0x015dbd9d, 0x001bb342, 0x002149f2}}, Y: Field{[10]uint32{0x037604fc, 0x013a3d61, 0x02a64504, 0x0274cce1, 0x019cd47b, 0x0115ddfc, 0x031930c1, 0x0149255e, 0x01bcdb8d, 0x002db59d}}}, + {X: Field{[10]uint32{0x03ab00ec, 0x025d38bb, 0x01e9f913, 0x00ea066e, 0x03bc6bf8, 0x03e41ba6, 0x02134360, 0x0036493a, 0x027d5a32, 0x0023878e}}, Y: Field{[10]uint32{0x0018b0b9, 0x002783fd, 0x01c4aff3, 0x01f1e4a0, 0x000792e0, 0x029e4b14, 0x023dad4e, 0x017c970c, 0x03abd81d, 0x003653c0}}}, + {X: Field{[10]uint32{0x019a8d76, 0x03eadd54, 0x0034d72c, 0x0125731d, 0x02dd0d89, 0x031a32da, 0x02cbd86b, 0x012a3426, 0x0393be1f, 0x003f00b2}}, Y: Field{[10]uint32{0x024d4f94, 0x00f1dc9f, 0x004e98b7, 0x027659fa, 0x02ffe4cd, 0x0216895b, 0x026ceb08, 0x01171662, 0x0132729e, 0x001c7de9}}}, + {X: Field{[10]uint32{0x03e6e7b8, 0x00a26c42, 0x016af80a, 0x01fe6cbb, 0x03ff7635, 0x03c21d46, 0x02c44db4, 0x022ceec6, 0x0302a285, 0x0033e604}}, Y: Field{[10]uint32{0x0173b528, 0x006fa223, 0x007bad3a, 0x00a2e221, 0x02f1a8a8, 0x0213c7e8, 0x0205ded9, 0x0199b9c0, 0x0012bf23, 0x0008dfa7}}}, + {X: Field{[10]uint32{0x00231d82, 0x03712faa, 0x01228e97, 0x00782e81, 0x0371718d, 0x03235433, 0x0274cbba, 0x03a480f2, 0x01dc1408, 0x000f9b91}}, Y: Field{[10]uint32{0x031ef848, 0x01d19dce, 0x028a3147, 0x0387c3f7, 0x03961009, 0x01fbe1b7, 0x01f287ca, 0x02a017d8, 0x037a2ad3, 0x000b8ff6}}}, + {X: Field{[10]uint32{0x007d4657, 0x02e7b69c, 0x028b3749, 0x02cb7c99, 0x023ce1b2, 0x00466c3b, 0x00090888, 0x0051c442, 0x03950758, 0x002ec11d}}, Y: Field{[10]uint32{0x01c67587, 0x00e45a1d, 0x01bc1bc4, 0x016ff38a, 0x028d6ee5, 0x036fbbb4, 0x01ad6977, 0x03ce9abd, 0x02fc5f95, 0x002569cb}}}, + {X: Field{[10]uint32{0x00dd6748, 0x01746e5a, 0x0193903f, 0x01b604a4, 0x0100fe35, 0x0338132d, 0x03a31034, 0x00b0412a, 0x0142b8b0, 0x00138057}}, Y: Field{[10]uint32{0x00a870fb, 0x010b001c, 0x00d2dd39, 0x03ea046f, 0x02746419, 0x02499d08, 0x00e96ffc, 0x01b5c765, 0x00e7dfbf, 0x0034d6c8}}}, + {X: Field{[10]uint32{0x00a49daf, 0x00dd1649, 0x0386792a, 0x03c90437, 0x0270850a, 0x01a341e3, 0x037391bd, 0x02c8427a, 0x005790c8, 0x00182693}}, Y: Field{[10]uint32{0x03ad0e98, 0x01540bc2, 0x00e8a0e3, 0x000347cd, 0x0314431d, 0x02290e42, 0x01cb14e7, 0x016ce960, 0x027ebc96, 0x003ce98c}}}, + {X: Field{[10]uint32{0x027fc730, 0x02eac0e8, 0x00aa1780, 0x0184c16d, 0x01b9ea07, 0x005fb3d8, 0x01b7558a, 0x016b0138, 0x03362a95, 0x00332f81}}, Y: Field{[10]uint32{0x0092cd3b, 0x0311fe47, 0x03abb71f, 0x00492c0f, 0x00d981a0, 0x00190ca6, 0x02a4e3ae, 0x02875d97, 0x00166c98, 0x003e5adf}}}, + {X: Field{[10]uint32{0x03ccab14, 0x01471a70, 0x008c3e21, 0x01a6a10e, 0x009143c5, 0x01384738, 0x0310ef90, 0x008c0b9a, 0x028285df, 0x001bb580}}, Y: Field{[10]uint32{0x02d196e7, 0x0247a946, 0x026081d5, 0x00709614, 0x03e91b0d, 0x0199798b, 0x03c75649, 0x00ede3a3, 0x03b0687a, 0x0019d7a8}}}, + {X: Field{[10]uint32{0x0349d8e0, 0x01ffda72, 0x02c7f4c0, 0x01dd10f6, 0x02708061, 0x0214554c, 0x033c5923, 0x02853156, 0x01cba0cc, 0x002f7fc1}}, Y: Field{[10]uint32{0x020c9a50, 0x0041b69b, 0x017981dd, 0x024eaab2, 0x03f09d79, 0x020ce443, 0x00a72390, 0x023b309d, 0x010486cd, 0x0014526b}}}, + {X: Field{[10]uint32{0x022bff2b, 0x01e64453, 0x0386eed5, 0x01570b1c, 0x00af9f6e, 0x01e6bb47, 0x03e53665, 0x00c96c8a, 0x028ccc70, 0x00019339}}, Y: Field{[10]uint32{0x01cb1cae, 0x01abb791, 0x0106bd59, 0x0387aad9, 0x0211bf1b, 0x0084f2ee, 0x021dddf2, 0x02683bbd, 0x01763c8a, 0x003e3226}}}, + {X: Field{[10]uint32{0x00ab2bb4, 0x0051c686, 0x007edaf0, 0x03d58984, 0x02b40de7, 0x007968bd, 0x02f3c06e, 0x0143cf72, 0x006f4891, 0x003350b9}}, Y: Field{[10]uint32{0x01bcfada, 0x03f68280, 0x025c281d, 0x0227d9e7, 0x0017f11f, 0x0094e9e2, 0x00921f4e, 0x01a59ed3, 0x00ddd202, 0x00367094}}}, + {X: Field{[10]uint32{0x01619735, 0x0157c062, 0x02c4359d, 0x0070d713, 0x025e9b12, 0x03b136ba, 0x01a7e8e3, 0x0150838b, 0x0007e714, 0x003df0a4}}, Y: Field{[10]uint32{0x03a493b7, 0x02928cfa, 0x023ddc2b, 0x00e8db3e, 0x005ea293, 0x0281b76c, 0x03735a56, 0x02a4f98d, 0x00064dbd, 0x00199145}}}, + {X: Field{[10]uint32{0x0293b7a8, 0x007d9e57, 0x010f2c5c, 0x034b6445, 0x00377609, 0x01c560d7, 0x033d2214, 0x0121589a, 0x01e1d494, 0x0018ce70}}, Y: Field{[10]uint32{0x02d59b28, 0x00cbf1cf, 0x02d95be5, 0x018261d8, 0x01d10a69, 0x03eb2e30, 0x015a20d8, 0x03a3dffd, 0x01ea47b4, 0x003bef9b}}}, + {X: Field{[10]uint32{0x0089b37b, 0x0160050d, 0x00b4daaf, 0x01e367d0, 0x0207b1ec, 0x027d3ae1, 0x00bbcf1e, 0x03b4197d, 0x03137d22, 0x003f33c7}}, Y: Field{[10]uint32{0x01bf3e10, 0x012d541f, 0x0111c64a, 0x02bc86cd, 0x016646be, 0x025d5ad3, 0x01559d9d, 0x02b30e20, 0x002fef9f, 0x002969df}}}, + {X: Field{[10]uint32{0x004f62d2, 0x03058010, 0x03d4e935, 0x035d63b0, 0x00a13434, 0x01ef23d7, 0x023b5541, 0x0213b3c4, 0x031006f2, 0x0036a5ff}}, Y: Field{[10]uint32{0x0312e168, 0x00c0732b, 0x0093cf8b, 0x008a2069, 0x024f3082, 0x0362ae4a, 0x031e3d1c, 0x00cc37cb, 0x028b4900, 0x00197085}}}, + {X: Field{[10]uint32{0x033e4fd8, 0x00b6260c, 0x039bddce, 0x03c887c2, 0x03343ab6, 0x006d1164, 0x0157556c, 0x009338da, 0x00d5428a, 0x00199da9}}, Y: Field{[10]uint32{0x01af7b41, 0x02c717cf, 0x01593854, 0x01611686, 0x03b7afcf, 0x0119f5e4, 0x034d3d83, 0x0094d7d7, 0x00a4b933, 0x00116f77}}}, + {X: Field{[10]uint32{0x017859ca, 0x004ab7b9, 0x01ccd302, 0x01e8a986, 0x0153396e, 0x00f7ba90, 0x0222c7cd, 0x00508152, 0x02becf46, 0x001e479a}}, Y: Field{[10]uint32{0x02dd37a1, 0x01ec333e, 0x02c9268a, 0x03745f93, 0x03e2ec07, 0x03fd0fb2, 0x0332990a, 0x01724fb1, 0x03fd08c5, 0x003900ce}}}, + {X: Field{[10]uint32{0x030018a1, 0x005fcc6b, 0x005ae207, 0x011d2f5f, 0x02c66dd9, 0x012dcc91, 0x00985aa8, 0x0055429e, 0x03b2d518, 0x000e9f1e}}, Y: Field{[10]uint32{0x029d7459, 0x014b517f, 0x03d1437b, 0x0094612b, 0x02b6c38d, 0x039417e2, 0x01f732a9, 0x03b71488, 0x0317e03c, 0x0008e23a}}}, + {X: Field{[10]uint32{0x013ab999, 0x0082f150, 0x00c3bef7, 0x005cad15, 0x0362b740, 0x0004e075, 0x03ca9361, 0x00725a72, 0x01b18680, 0x0009268b}}, Y: Field{[10]uint32{0x01d5e7a3, 0x0225ed74, 0x030cff71, 0x002cfb24, 0x002f708e, 0x01701d7a, 0x003cf9c8, 0x0247075e, 0x004176aa, 0x00368617}}}, + {X: Field{[10]uint32{0x034f8590, 0x029a215a, 0x0313614d, 0x01fede4a, 0x0032c085, 0x01595794, 0x01f21e0c, 0x03302661, 0x0153b4e0, 0x002c9783}}, Y: Field{[10]uint32{0x0183eda2, 0x021399d7, 0x01055d6b, 0x02010ac8, 0x0300ac5b, 0x034a360d, 0x00fac42f, 0x038eb387, 0x02ff6b02, 0x0006f45e}}}, + {X: Field{[10]uint32{0x03862fcd, 0x0167aaed, 0x02cd6013, 0x03dd45ff, 0x02bd1073, 0x0044090f, 0x029db66f, 0x00ce22a1, 0x036805e8, 0x001cd814}}, Y: Field{[10]uint32{0x015f9d56, 0x00494d9b, 0x02913d69, 0x039569d7, 0x03e767fa, 0x0384b507, 0x02434076, 0x0316983e, 0x002d0842, 0x003a71e8}}}, + {X: Field{[10]uint32{0x03f1b1d9, 0x0172585d, 0x03ff9711, 0x036979c3, 0x022e5b52, 0x03c96750, 0x038a0c9a, 0x00ba5c0b, 0x03567139, 0x003b0bc2}}, Y: Field{[10]uint32{0x008183a8, 0x025263a4, 0x00818204, 0x00ad3f7b, 0x02d49e07, 0x02395b4c, 0x00571fa9, 0x01396432, 0x02bbadb2, 0x0011fdf7}}}, + {X: Field{[10]uint32{0x03e2d378, 0x02981612, 0x038e5cbf, 0x025484dd, 0x01afc255, 0x00838630, 0x022ad2f3, 0x0350ea46, 0x03a8250d, 0x001f5ea3}}, Y: Field{[10]uint32{0x00fea3be, 0x00384458, 0x0352e02a, 0x01e904fd, 0x03fab2b0, 0x026f0835, 0x0300f110, 0x01f5dc09, 0x02168962, 0x001ad22e}}}, + {X: Field{[10]uint32{0x026713d7, 0x01a57fea, 0x0036605c, 0x02433fd3, 0x0206e594, 0x009820b1, 0x03aaa01e, 0x01c8ee99, 0x01ce52b6, 0x000c5a9c}}, Y: Field{[10]uint32{0x02a1cb9e, 0x016bdcf5, 0x020200e9, 0x03f73e0b, 0x0184152f, 0x0172d2e8, 0x0344cf6e, 0x0318484a, 0x01a07820, 0x0035bc70}}}, + {X: Field{[10]uint32{0x03bcca51, 0x01b9caa7, 0x01930ade, 0x015c476e, 0x029ace88, 0x02b65e88, 0x02e5fc6e, 0x0227ff0c, 0x00c30ade, 0x000868aa}}, Y: Field{[10]uint32{0x0082e4d0, 0x01b073e2, 0x001e47c5, 0x00e28ae5, 0x01726fd4, 0x00cbc38d, 0x012aafb4, 0x0145ed5c, 0x010438df, 0x00257f4f}}}, + {X: Field{[10]uint32{0x028f94d5, 0x027b0c9c, 0x01535536, 0x0378107e, 0x021ad2cf, 0x0144ebeb, 0x0146c68f, 0x0205c36b, 0x0067b3ad, 0x000fc606}}, Y: Field{[10]uint32{0x02317527, 0x0277c428, 0x00a915f0, 0x03c0e2c0, 0x0191abb8, 0x0088aac3, 0x01991894, 0x003aab55, 0x00e4e9f2, 0x002946a5}}}, + {X: Field{[10]uint32{0x01f63c1e, 0x0024bc22, 0x02a697d0, 0x01b4c563, 0x0079b7aa, 0x0243b3ed, 0x01ecb9b6, 0x00e6f3c4, 0x013911be, 0x003a59cc}}, Y: Field{[10]uint32{0x0103abc2, 0x02050b52, 0x035461f9, 0x03a184c1, 0x00da9be6, 0x00c808a8, 0x022017c0, 0x020f8e37, 0x00f76f87, 0x00030403}}}, + {X: Field{[10]uint32{0x0008b122, 0x0153eba4, 0x00cd8615, 0x010caf42, 0x02d3096d, 0x03ce61b1, 0x03e94b06, 0x02b1f951, 0x02b01407, 0x00187aa2}}, Y: Field{[10]uint32{0x00a4d182, 0x0172a3fd, 0x02792a10, 0x03d0a0fe, 0x02150167, 0x01a7c73b, 0x0090488e, 0x004ea5d9, 0x03cca6f7, 0x00397156}}}, + {X: Field{[10]uint32{0x02dab9fe, 0x01cfe4ef, 0x02402cab, 0x03dc928e, 0x0149673d, 0x008e68fc, 0x00815540, 0x01ff767d, 0x027a1745, 0x002b63eb}}, Y: Field{[10]uint32{0x00f03e6b, 0x01fbfbd4, 0x035d4d77, 0x0080bb4d, 0x01485172, 0x00958fde, 0x001d0371, 0x0312eeec, 0x03ef7966, 0x0014edf7}}}, + {X: Field{[10]uint32{0x02a829d3, 0x02062f6d, 0x0020c586, 0x01324640, 0x02cdf997, 0x0136750d, 0x0362f274, 0x00b9534f, 0x02dfbf7f, 0x00218173}}, Y: Field{[10]uint32{0x01946b88, 0x01bd52df, 0x01873d78, 0x03c143a1, 0x02e7a33d, 0x01dc23fd, 0x009fe4da, 0x02a86988, 0x015f0ca2, 0x0016be29}}}, + {X: Field{[10]uint32{0x03921d87, 0x034b5b3f, 0x014c8cbc, 0x00f0bc8b, 0x016e8325, 0x029e533e, 0x00ffa5a7, 0x027bd1f7, 0x004b465b, 0x002f7795}}, Y: Field{[10]uint32{0x00aadcd8, 0x02f5b3a3, 0x01a7414e, 0x0237e228, 0x030ec97c, 0x0206f9aa, 0x01e7d230, 0x019fd57b, 0x03677ba8, 0x001b14d8}}}, + {X: Field{[10]uint32{0x02fe1cdb, 0x039cd18c, 0x016bbfe3, 0x034aeb64, 0x0162a47b, 0x0170a3d2, 0x02eafca8, 0x0223724f, 0x0245e8b0, 0x000c620a}}, Y: Field{[10]uint32{0x01f176bc, 0x0075a4d5, 0x021a6fd1, 0x02a780aa, 0x01d03557, 0x00b80a32, 0x02b833c1, 0x01b8784a, 0x00f0c5f8, 0x0002cd62}}}, + {X: Field{[10]uint32{0x01dc1202, 0x0013dda9, 0x00883b0d, 0x02f589e6, 0x03e49fad, 0x000ee398, 0x0110b726, 0x003e7b6d, 0x00524580, 0x0005ef90}}, Y: Field{[10]uint32{0x0132fc54, 0x00ce92e3, 0x01cb9c9e, 0x01568bd6, 0x0181667e, 0x010349df, 0x00f7738e, 0x0156b80a, 0x03dcdf88, 0x0005413a}}}, + {X: Field{[10]uint32{0x03629537, 0x01abeb72, 0x0308c9c5, 0x03d69806, 0x00a303ea, 0x001fcaca, 0x03c4e697, 0x01f4a9af, 0x0133bb69, 0x00318cef}}, Y: Field{[10]uint32{0x0218cef8, 0x03566dee, 0x01eac2b4, 0x01e0cc4e, 0x039f3b7f, 0x0187193c, 0x0006b924, 0x01936fcb, 0x00132d47, 0x0021b8fd}}}, + {X: Field{[10]uint32{0x0260bb52, 0x01863d60, 0x00062570, 0x02d8ed18, 0x03633434, 0x00cf3444, 0x00881f3a, 0x0043dc64, 0x008af4c7, 0x003ce788}}, Y: Field{[10]uint32{0x01e2e62c, 0x014be4ae, 0x014e2bfe, 0x038ee973, 0x03d0171e, 0x03650f0c, 0x02e2b664, 0x00dbd89c, 0x0005807b, 0x0024315a}}}, + {X: Field{[10]uint32{0x00a16c54, 0x01808cbd, 0x033db893, 0x0053d67d, 0x01ee4e54, 0x00b6e2b1, 0x00ddfb37, 0x02581e95, 0x039414f2, 0x0033a610}}, Y: Field{[10]uint32{0x0224e0d7, 0x033eebae, 0x03d7f627, 0x00b6e97a, 0x02bb8054, 0x03502ba5, 0x02f78354, 0x01ec4f1c, 0x01a1d105, 0x00069201}}}, + {X: Field{[10]uint32{0x030a76bb, 0x01fd8cee, 0x0273f625, 0x008a8569, 0x01945041, 0x022175d5, 0x0171af10, 0x01e93ee9, 0x039f8110, 0x001499b9}}, Y: Field{[10]uint32{0x0159b457, 0x003f25a9, 0x01918d3b, 0x0003edce, 0x0018d382, 0x01ed5708, 0x033ca397, 0x017c4a1d, 0x01d09cc8, 0x00179eb4}}}, + {X: Field{[10]uint32{0x027056e4, 0x030563ef, 0x035c11ff, 0x0025449b, 0x03675070, 0x01de2f22, 0x0370113c, 0x01ea8efc, 0x025763f4, 0x0013ee77}}, Y: Field{[10]uint32{0x0086f7ef, 0x021d54c5, 0x0175e52e, 0x01d61e27, 0x0229fe02, 0x00bf8f6c, 0x022fa347, 0x01c65c2a, 0x02368eec, 0x000b365d}}}, + {X: Field{[10]uint32{0x03cc0226, 0x015d01c8, 0x0345bded, 0x02a348cd, 0x024ae7bb, 0x005632e4, 0x03ec8406, 0x0376f6aa, 0x0024a99e, 0x002b45a0}}, Y: Field{[10]uint32{0x014095de, 0x03dc103c, 0x003cba21, 0x01ae47b8, 0x029ee638, 0x014f12f9, 0x01e230bb, 0x0119ce3b, 0x0015968e, 0x002ac414}}}, + {X: Field{[10]uint32{0x03719cb8, 0x0320005c, 0x028d55a7, 0x02e8522e, 0x01277923, 0x03c6cc1f, 0x03aea9b0, 0x01556dcc, 0x01aef7cc, 0x0001560a}}, Y: Field{[10]uint32{0x03267689, 0x03c269d8, 0x03d3d3c4, 0x03db12eb, 0x00382969, 0x031829ef, 0x003b47d6, 0x02561550, 0x02eb9c9b, 0x001a9ecb}}}, + {X: Field{[10]uint32{0x0378b935, 0x03af0e1a, 0x01910960, 0x010d1435, 0x014e1e4c, 0x013a7780, 0x004bbe78, 0x01383888, 0x02338efa, 0x0008467c}}, Y: Field{[10]uint32{0x00e7bb93, 0x00da44ee, 0x0195711c, 0x01a4d29c, 0x0052acb4, 0x027144ea, 0x0337db96, 0x011319e8, 0x01c37785, 0x0027c867}}}, + {X: Field{[10]uint32{0x01295bbf, 0x003f96ec, 0x01b3257f, 0x0260fd70, 0x02c52274, 0x0095634d, 0x01e53caa, 0x006fa75f, 0x021b0949, 0x00047f0f}}, Y: Field{[10]uint32{0x004cf6f5, 0x02314a21, 0x00ed6219, 0x02234427, 0x0191b8d1, 0x00c4416b, 0x026b6c02, 0x0164cdaa, 0x034decb0, 0x00071a71}}}, + {X: Field{[10]uint32{0x03d2a908, 0x02fa8ef7, 0x0182180a, 0x00626421, 0x015e64ac, 0x01f981ab, 0x0091bc86, 0x01450e54, 0x026fea6e, 0x000d2db3}}, Y: Field{[10]uint32{0x03ccad6d, 0x00e5908a, 0x00694403, 0x00953860, 0x0328e9f3, 0x00b1e8c4, 0x01e41a13, 0x02fbcfee, 0x0104f4bd, 0x0016dbb6}}}, + {X: Field{[10]uint32{0x0210a84c, 0x0103254d, 0x02e2e22a, 0x00f4b6da, 0x00b326fb, 0x01fbdd17, 0x01c567d9, 0x01a2acec, 0x01cab457, 0x001b0897}}, Y: Field{[10]uint32{0x002a1084, 0x03f5da10, 0x0229cd72, 0x010b403a, 0x03912fe0, 0x03610ef6, 0x0363cfa2, 0x03f633af, 0x03522180, 0x001fa175}}}, + {X: Field{[10]uint32{0x028ed7d7, 0x001c5116, 0x003e32a7, 0x008039c1, 0x03cbfd20, 0x0052da22, 0x03cc7570, 0x025708cb, 0x02e541dd, 0x00017ddd}}, Y: Field{[10]uint32{0x03273c0e, 0x002cda62, 0x022ff2a2, 0x00fdb435, 0x01c11680, 0x0299354a, 0x009de0b9, 0x020d50e8, 0x0078fc6d, 0x000ee317}}}, + {X: Field{[10]uint32{0x011b0e23, 0x02f64ca2, 0x014e9b8b, 0x01205bf6, 0x01d5371e, 0x00913ea9, 0x037eaa63, 0x010fbd78, 0x00c55315, 0x000f89b6}}, Y: Field{[10]uint32{0x0379bb65, 0x03eaaf82, 0x034b0c70, 0x003db62b, 0x02a5b4c7, 0x01b0fafe, 0x01a53bc0, 0x0280dbb8, 0x011b43a4, 0x000c2827}}}, + {X: Field{[10]uint32{0x018b36af, 0x0036affc, 0x0085e8aa, 0x03efb84b, 0x0106be8a, 0x01954f91, 0x02970ac2, 0x00d5a2aa, 0x0291c17a, 0x00318d36}}, Y: Field{[10]uint32{0x01a925f0, 0x0088067c, 0x0346d6d5, 0x0267181b, 0x0016eb9f, 0x02361fb5, 0x01d34bd9, 0x0029ef41, 0x01bae139, 0x001925a0}}}, + {X: Field{[10]uint32{0x027e9a7e, 0x0258b7cb, 0x0347e806, 0x02ceb235, 0x024e8361, 0x03090b5f, 0x02ab4eef, 0x00d6631b, 0x01d64d64, 0x0003b4cd}}, Y: Field{[10]uint32{0x00aa93e7, 0x01ad803f, 0x015e1eb5, 0x039fd5e3, 0x025a1552, 0x023ca2fb, 0x034b6909, 0x01ea9c8c, 0x03f819c9, 0x003c39f0}}}, + {X: Field{[10]uint32{0x02521581, 0x03656147, 0x0328ed72, 0x0191d54f, 0x02d10be1, 0x021c3fec, 0x023dbf22, 0x0167b0fd, 0x00094113, 0x0034dfe3}}, Y: Field{[10]uint32{0x011f1922, 0x0391ed27, 0x0351a191, 0x03532f8e, 0x02831467, 0x01b4f26f, 0x01f1be75, 0x0380d9cb, 0x03b9ba3a, 0x00369f2f}}}, + {X: Field{[10]uint32{0x0115c360, 0x00cd4b9d, 0x0391943c, 0x0017ba1b, 0x0005b32d, 0x031ad083, 0x02ae0611, 0x017a970e, 0x01d7c747, 0x003b8c48}}, Y: Field{[10]uint32{0x004c1686, 0x03c916ef, 0x00281b76, 0x012ae9a4, 0x01b80916, 0x02b5ec4b, 0x0047411d, 0x028eca6d, 0x023797be, 0x001c0ecb}}}, + {X: Field{[10]uint32{0x0187a12b, 0x02005f46, 0x032b5fe9, 0x024109d5, 0x023f5c72, 0x024a984c, 0x02f1a594, 0x00453a83, 0x01bc5c2b, 0x001ed0b2}}, Y: Field{[10]uint32{0x020d27da, 0x03736549, 0x019c9dc7, 0x0378c377, 0x01dd57ed, 0x024909c9, 0x03cd92a9, 0x01cf5d5b, 0x0382e85b, 0x00173dd8}}}, + {X: Field{[10]uint32{0x00a555cd, 0x01d248be, 0x033c3ad0, 0x02117da4, 0x007c8f9b, 0x003e4975, 0x039b6b9a, 0x014e8a4f, 0x039ab13a, 0x0026bd7f}}, Y: Field{[10]uint32{0x025d4153, 0x01bc7eaf, 0x0042ca33, 0x0065905c, 0x0113a9ec, 0x02423215, 0x02a13fa5, 0x011cd322, 0x009e8995, 0x0032a4fb}}}, + {X: Field{[10]uint32{0x0048dacc, 0x02061dce, 0x017b659c, 0x014215af, 0x00a5b2b8, 0x01c260f7, 0x021d591f, 0x037c6c1b, 0x027401a2, 0x0017afe8}}, Y: Field{[10]uint32{0x00f7ad18, 0x01a7f1e8, 0x020fb5fb, 0x0047d1cb, 0x0046e124, 0x008a647a, 0x004c15e8, 0x00f190a4, 0x00b96ac2, 0x0002c2b7}}}, + {X: Field{[10]uint32{0x00c81e6f, 0x00979b3f, 0x01dd3ac1, 0x0219f699, 0x000daeb4, 0x007dbafb, 0x018382bc, 0x017ab214, 0x0108465e, 0x0024ed63}}, Y: Field{[10]uint32{0x0224a4e7, 0x02cfbd46, 0x01b8cf4f, 0x03618ec7, 0x038a50b8, 0x02f2a722, 0x00646c36, 0x005e135d, 0x0118c315, 0x00152fa2}}}, + {X: Field{[10]uint32{0x036fc858, 0x00c7c772, 0x0211132c, 0x02643b6a, 0x005bc868, 0x00ad0199, 0x00943ee3, 0x0191d3ff, 0x039b4fb4, 0x0028a295}}, Y: Field{[10]uint32{0x02f14670, 0x026c54e6, 0x0239646c, 0x0053ebbd, 0x036e059b, 0x03d942ad, 0x016605f0, 0x01592006, 0x01a3d562, 0x00103ba4}}}, + {X: Field{[10]uint32{0x0206ac9a, 0x0397cab5, 0x01078e8d, 0x011fe432, 0x01add7cb, 0x0143482b, 0x01f60297, 0x015582dc, 0x0109781d, 0x0003a61e}}, Y: Field{[10]uint32{0x029819d2, 0x01d3c63b, 0x00907102, 0x037ab233, 0x01c55318, 0x031786a0, 0x02a346f5, 0x036b3fff, 0x02c34c80, 0x0001c486}}}, + {X: Field{[10]uint32{0x01e1dcef, 0x02cefd18, 0x00a7d1d2, 0x02a5d7a1, 0x025c84bc, 0x00e5515b, 0x00ee62ae, 0x02035ff0, 0x011d1587, 0x000a47fc}}, Y: Field{[10]uint32{0x03ec2616, 0x000d9a94, 0x02ceec23, 0x00de4cd6, 0x0171e79e, 0x00892a51, 0x00298ce8, 0x02152d9c, 0x03e8abb6, 0x00317232}}}, + {X: Field{[10]uint32{0x01e315b4, 0x02600fbf, 0x03d824bd, 0x005ae37f, 0x01efda7d, 0x01cea84c, 0x03d9e573, 0x02d4f90a, 0x03909e28, 0x0012b6c4}}, Y: Field{[10]uint32{0x00b1456a, 0x03b37d75, 0x023eefa2, 0x00093f79, 0x0124eb70, 0x0303266c, 0x00a796e5, 0x02b9f25c, 0x0312b827, 0x0019b5fa}}}, + {X: Field{[10]uint32{0x027591ff, 0x029c0936, 0x033846b3, 0x0237902f, 0x0201707a, 0x00951807, 0x007e47b2, 0x003bf78f, 0x034b9524, 0x00157897}}, Y: Field{[10]uint32{0x00c830c2, 0x038ad6de, 0x022664b1, 0x038c8ba0, 0x03e4491a, 0x00b72e82, 0x03000b37, 0x0181b5d0, 0x017b7e98, 0x003a7c89}}}, + {X: Field{[10]uint32{0x02747eca, 0x00016c7e, 0x03ad8aa3, 0x00063084, 0x01388ddd, 0x0118e0d3, 0x03a6d8d5, 0x03f0caf9, 0x0093e41d, 0x0034939d}}, Y: Field{[10]uint32{0x00c26cac, 0x02de18d2, 0x01e93fc4, 0x028260ae, 0x026d7feb, 0x0053527c, 0x01f5bee4, 0x012c597a, 0x0216a51b, 0x0039cea0}}}, + {X: Field{[10]uint32{0x01fd8b2a, 0x03ba84d8, 0x027d9ed8, 0x01880648, 0x03caa035, 0x03b586bd, 0x03e46003, 0x0176872d, 0x02526d01, 0x0029442c}}, Y: Field{[10]uint32{0x02bea726, 0x0174bce2, 0x01adc356, 0x03ca8004, 0x01eaa2b2, 0x0031b11e, 0x02b15a28, 0x02aee98f, 0x02a09015, 0x000f6630}}}, + {X: Field{[10]uint32{0x03b314d1, 0x030ad221, 0x01f4f6b8, 0x039bf9a0, 0x008404cd, 0x029575db, 0x03ac63cc, 0x00035456, 0x00d81275, 0x00301341}}, Y: Field{[10]uint32{0x034d9d59, 0x01019eb6, 0x02e1b98c, 0x01637dff, 0x00e3cd44, 0x006f0205, 0x00db9373, 0x003aea67, 0x01779fb8, 0x0032cff3}}}, + {X: Field{[10]uint32{0x02bd0649, 0x01c3e43b, 0x0245a0df, 0x03fe9e24, 0x006b5dd2, 0x023fe9dc, 0x0051e691, 0x00cd5eea, 0x0061146c, 0x003b271f}}, Y: Field{[10]uint32{0x01186170, 0x03438f4f, 0x027a4daf, 0x0026c498, 0x03b36b07, 0x02458648, 0x028803ce, 0x01a48f01, 0x03fa10ca, 0x00268274}}}, + {X: Field{[10]uint32{0x020488cc, 0x033b5602, 0x030640ba, 0x0044b294, 0x03b25985, 0x02017952, 0x037e8403, 0x013117d2, 0x013f5d50, 0x002577d7}}, Y: Field{[10]uint32{0x00e8ecc6, 0x01ab5213, 0x00c21c7a, 0x036dd0f7, 0x0235079c, 0x00facc16, 0x03d1ef32, 0x014c16c1, 0x018589b8, 0x00290f73}}}, + {X: Field{[10]uint32{0x033a6d16, 0x00b511d8, 0x016510c7, 0x0135aec6, 0x012fc8ec, 0x0177fe52, 0x02bf50eb, 0x00314b11, 0x020c3a95, 0x002e3bb3}}, Y: Field{[10]uint32{0x01583744, 0x02c23875, 0x0384b8d0, 0x00b338fe, 0x024a4957, 0x025a68b0, 0x02c1460d, 0x02fe0ee9, 0x02a31b75, 0x001d3a50}}}, + {X: Field{[10]uint32{0x02dd09a2, 0x002fc71c, 0x000ba052, 0x01df178b, 0x00c82b2d, 0x014487a8, 0x01eac517, 0x0270894f, 0x0216d1f6, 0x001667b3}}, Y: Field{[10]uint32{0x0111bb14, 0x00f48c6a, 0x038599f7, 0x01c99908, 0x00b2fdb6, 0x035eebd2, 0x00e2e725, 0x00f43b76, 0x00c325af, 0x00012284}}}, + {X: Field{[10]uint32{0x0282ab32, 0x017f37c3, 0x023bc35a, 0x006eee93, 0x007fff71, 0x0186b360, 0x02fdfaa9, 0x0162a5b8, 0x02068d94, 0x002e2e96}}, Y: Field{[10]uint32{0x00f8ca4d, 0x0133b314, 0x007e32d4, 0x005db8ab, 0x03c2d824, 0x0134ca94, 0x00388454, 0x0160b824, 0x03227554, 0x00200d6a}}}, + {X: Field{[10]uint32{0x027e65f4, 0x017b45c8, 0x00c508c3, 0x020285c4, 0x03ae8063, 0x006c7ffc, 0x02d3d7af, 0x01e19795, 0x03e1cccd, 0x002da11a}}, Y: Field{[10]uint32{0x00bc7201, 0x039bed83, 0x0224177f, 0x03527039, 0x03361ee9, 0x0208c1d8, 0x0189f526, 0x017c2b7a, 0x00253294, 0x002ef6dc}}}, + {X: Field{[10]uint32{0x01a9d0fe, 0x0203fe03, 0x032ffc35, 0x02ce8464, 0x0120dd31, 0x0211b668, 0x0009e53f, 0x00aefbb4, 0x025e6987, 0x00287fe9}}, Y: Field{[10]uint32{0x02da215b, 0x00116c73, 0x02adadc0, 0x032c9a11, 0x0331c210, 0x022dae9b, 0x00549996, 0x00efe774, 0x0180d576, 0x002a8cb9}}}, + {X: Field{[10]uint32{0x030d0fa2, 0x03e6885c, 0x02ebeb62, 0x035b7997, 0x022ad73c, 0x0033bc22, 0x008c7078, 0x0071f7d1, 0x036d6709, 0x0026ce05}}, Y: Field{[10]uint32{0x02609207, 0x01813b53, 0x019d26fb, 0x02206412, 0x0264a459, 0x023fd665, 0x02c86bab, 0x026dfbc7, 0x0319c0fb, 0x0008b49a}}}, + {X: Field{[10]uint32{0x01fd0cd2, 0x014a104d, 0x008981fa, 0x0135f7ab, 0x020accfa, 0x036ad0fe, 0x0132553b, 0x03193eec, 0x009e209d, 0x002f0b33}}, Y: Field{[10]uint32{0x015ccfa6, 0x0160c169, 0x0134374d, 0x004dc624, 0x01350d1d, 0x021e47ef, 0x034931ba, 0x03e22c19, 0x02dc176f, 0x0011cd9a}}}, + {X: Field{[10]uint32{0x00730f6a, 0x01f735c9, 0x03aa607a, 0x00d39fe4, 0x00d45187, 0x03ef4a8c, 0x0036f514, 0x00a98974, 0x00a16545, 0x00073800}}, Y: Field{[10]uint32{0x01c6811d, 0x0018abcd, 0x02c19ee3, 0x0336dac3, 0x03fa288a, 0x038f56fc, 0x0334baf3, 0x03c3b552, 0x03fb5b90, 0x00382440}}}, + {X: Field{[10]uint32{0x01e0031f, 0x033742b7, 0x0109d63d, 0x01a13682, 0x034cc63d, 0x02718911, 0x03b26a44, 0x019303a3, 0x029a887d, 0x00211b15}}, Y: Field{[10]uint32{0x0212c07e, 0x010231be, 0x03be47df, 0x0111de61, 0x0207dcbe, 0x013fc105, 0x03acf93d, 0x027e635f, 0x0353132c, 0x0000151d}}}, + {X: Field{[10]uint32{0x00fe59e9, 0x0207a95d, 0x00b82f5c, 0x007d5321, 0x03701f7b, 0x01a1ac62, 0x00585185, 0x01b88f27, 0x00f72865, 0x0018d96a}}, Y: Field{[10]uint32{0x0316c2eb, 0x0273e9fa, 0x0023fc8d, 0x02d5fff3, 0x01be27f2, 0x027302cf, 0x0151d46c, 0x0394f2b4, 0x01fda992, 0x00231f37}}}, + {X: Field{[10]uint32{0x012939fc, 0x019fe01f, 0x0237fbd2, 0x03d66314, 0x0371dc5b, 0x017a3f45, 0x01726195, 0x00f6365e, 0x033c89ae, 0x003b5097}}, Y: Field{[10]uint32{0x01a3590b, 0x03f580a6, 0x01d74daf, 0x0341b8f0, 0x02010c98, 0x0273c53d, 0x03285fd1, 0x0280ef35, 0x03dc14f7, 0x001089aa}}}, + {X: Field{[10]uint32{0x031f00c7, 0x01b728e5, 0x03d5662a, 0x01e8ba40, 0x0285a0bd, 0x02b8c42f, 0x0267f235, 0x01fafa35, 0x006c2e1b, 0x00336949}}, Y: Field{[10]uint32{0x01247f56, 0x020922ca, 0x013f6eae, 0x03cc879b, 0x0296b2c2, 0x006293fa, 0x00534ba3, 0x026cd246, 0x0296f8ea, 0x001e47bc}}}, + {X: Field{[10]uint32{0x00eaf99e, 0x01a968fd, 0x03bc6f90, 0x0260e1be, 0x02f5017d, 0x025a8470, 0x01d3f7e5, 0x030786fb, 0x00e6ce79, 0x002d0aa1}}, Y: Field{[10]uint32{0x0007e6ac, 0x03e903b5, 0x02610823, 0x0005c2c0, 0x03cc3d06, 0x01d427f2, 0x03fad5e4, 0x00dc60db, 0x00c960bb, 0x000b9c8b}}}, + {X: Field{[10]uint32{0x030bcf90, 0x01a807ea, 0x024c16d4, 0x0342ea14, 0x01be23ca, 0x021c021d, 0x03149df5, 0x03a6f2d0, 0x008ce1e2, 0x000d62f8}}, Y: Field{[10]uint32{0x039d1308, 0x00171107, 0x01b0034f, 0x0298d922, 0x03462318, 0x01bd4446, 0x00fe0bfb, 0x02b333d9, 0x02f070ba, 0x003cf13f}}}, + {X: Field{[10]uint32{0x0016a789, 0x02784d58, 0x03ac985c, 0x03de6d0c, 0x01427d16, 0x0115c410, 0x0374bfe1, 0x0188c293, 0x035de5b3, 0x000fb590}}, Y: Field{[10]uint32{0x0041f26f, 0x0249d898, 0x02d9104b, 0x01b56a95, 0x03ee0dc5, 0x014b4f7f, 0x03e677e3, 0x010f4ad6, 0x005e1427, 0x00071cba}}}, + {X: Field{[10]uint32{0x0016c910, 0x00f67989, 0x00610c25, 0x0142e494, 0x000afb7e, 0x01c85dbd, 0x000d7e26, 0x03685965, 0x022c580d, 0x000927df}}, Y: Field{[10]uint32{0x02a9f50c, 0x01c51ece, 0x02e486dc, 0x0021e7a5, 0x021630f5, 0x037378db, 0x030f8423, 0x0245ba3d, 0x031149e9, 0x001bf058}}}, + {X: Field{[10]uint32{0x009cc85f, 0x00379bb2, 0x00d4c69f, 0x01bdbd06, 0x0114d2d7, 0x014b2fe4, 0x00f6f0b7, 0x006e8c6c, 0x0144e838, 0x0025ecec}}, Y: Field{[10]uint32{0x0188724f, 0x00111372, 0x01dc2182, 0x01827904, 0x02f72822, 0x03c77a16, 0x00492570, 0x0082d685, 0x013033b7, 0x0019f26f}}}, + {X: Field{[10]uint32{0x03395a85, 0x03bbc697, 0x01b68cfa, 0x0038e57a, 0x0380610d, 0x00491421, 0x010fcaf4, 0x00a44947, 0x019e868b, 0x000ece11}}, Y: Field{[10]uint32{0x0225ce6f, 0x02392754, 0x023a3c3e, 0x00966c5f, 0x0391ec4c, 0x01dc917a, 0x00cc9a2b, 0x01d1531e, 0x00ddbfde, 0x002f9460}}}, + {X: Field{[10]uint32{0x02163ebf, 0x03f88725, 0x017efc54, 0x03452680, 0x0074fb35, 0x0209c3f4, 0x00974f44, 0x03822a45, 0x03909f33, 0x00139bc5}}, Y: Field{[10]uint32{0x02b9fd15, 0x03341e39, 0x026a3e56, 0x02035dd3, 0x000dcd28, 0x02a69793, 0x02d34913, 0x01c5596d, 0x038f06f4, 0x0003ed95}}}, + {X: Field{[10]uint32{0x015c75de, 0x02ccb68c, 0x01a9218d, 0x02ddd586, 0x0272e301, 0x00289597, 0x025a0a67, 0x024df5d0, 0x0063e408, 0x0024506b}}, Y: Field{[10]uint32{0x006d6045, 0x024713d5, 0x007a05de, 0x037ef5e1, 0x03f10b34, 0x00aa95f6, 0x0055e721, 0x030f84f3, 0x010a56be, 0x0034d78a}}}, + {X: Field{[10]uint32{0x015ba578, 0x00b1844e, 0x01aa2e21, 0x018a23b7, 0x00337c91, 0x013f2480, 0x01c006a0, 0x009d4559, 0x03ca7205, 0x003b26dc}}, Y: Field{[10]uint32{0x00224887, 0x014043cf, 0x039051b1, 0x01d53139, 0x01ba1922, 0x031d38bc, 0x015f3ab4, 0x00b9dce3, 0x02f5c1a2, 0x000df847}}}, + {X: Field{[10]uint32{0x021caca3, 0x016e06b3, 0x00d7ef0f, 0x0022f94c, 0x01aef502, 0x03aab1b9, 0x00430b1f, 0x024a3f38, 0x00e1bb1a, 0x0015bf05}}, Y: Field{[10]uint32{0x00209001, 0x01fcc1e4, 0x01865f6d, 0x01f30e36, 0x03b05e59, 0x0203d14a, 0x03101d7a, 0x00341e7c, 0x0084f868, 0x00139698}}}, + {X: Field{[10]uint32{0x017df731, 0x00ea2699, 0x021e4d80, 0x030fc603, 0x00cf3997, 0x003c6c8b, 0x037c3627, 0x0353320a, 0x001b2ceb, 0x002bb35d}}, Y: Field{[10]uint32{0x010b8e21, 0x0315f9fe, 0x03d4d8cc, 0x005c2bff, 0x02256bd3, 0x037426ce, 0x036356e8, 0x03d27c64, 0x03336c0d, 0x0017c412}}}, + {X: Field{[10]uint32{0x01836cb8, 0x03e2f505, 0x03f0d418, 0x01c8c70f, 0x039b5c10, 0x00c27a7a, 0x0222b9a4, 0x00f54892, 0x03af54f8, 0x00145899}}, Y: Field{[10]uint32{0x03efe4fc, 0x0248261e, 0x0313d865, 0x017628f6, 0x01cc37e8, 0x02dae10e, 0x02f6fd54, 0x00b05fd3, 0x009b9e06, 0x001061ce}}}, + {X: Field{[10]uint32{0x0066fed5, 0x023d50c9, 0x007e7f25, 0x0371b84a, 0x036e7658, 0x00e0ed3f, 0x01a03687, 0x0111cfe4, 0x02bd8d3f, 0x001a2efa}}, Y: Field{[10]uint32{0x017049c4, 0x018d6b42, 0x03c27048, 0x01e9a8e0, 0x008656fc, 0x025e356c, 0x027f7ccd, 0x026d09e9, 0x000f0ac9, 0x0033d8f2}}}, + {X: Field{[10]uint32{0x007b67be, 0x036fad6c, 0x018a2b90, 0x023e4259, 0x0049ba90, 0x02d4b079, 0x01592138, 0x01fa6d47, 0x02ab6946, 0x00083388}}, Y: Field{[10]uint32{0x0297ce2d, 0x008374b7, 0x00c3e68f, 0x03c52a77, 0x0331649f, 0x026e8b05, 0x032d17e4, 0x01cfda48, 0x007d9f41, 0x00158b68}}}, + {X: Field{[10]uint32{0x02798f78, 0x00582b1b, 0x00b07d04, 0x0241ffe0, 0x029c86cd, 0x014855e1, 0x03c1ec6a, 0x027e48eb, 0x02d3a4a5, 0x002d6df5}}, Y: Field{[10]uint32{0x029d4de5, 0x03cf9e7f, 0x02dbcb8e, 0x02e96efd, 0x0045b5ea, 0x034565ed, 0x03c55af4, 0x0097b836, 0x02c97751, 0x0034178c}}}, + {X: Field{[10]uint32{0x03f45df4, 0x0130c28c, 0x03d4acdc, 0x024dac1d, 0x023967e5, 0x01d7db6e, 0x023d848f, 0x0202c577, 0x00897a42, 0x002556f5}}, Y: Field{[10]uint32{0x01453a02, 0x03e5cd0f, 0x016b2749, 0x006d12c5, 0x01644826, 0x03c97700, 0x03b9fe5b, 0x026473bc, 0x03cb5d79, 0x0012efad}}}, + {X: Field{[10]uint32{0x020a5a98, 0x0391fe19, 0x02211201, 0x0126721d, 0x0150fee8, 0x02fd4dcd, 0x0002fe18, 0x00dc3acf, 0x015198e7, 0x0027d83a}}, Y: Field{[10]uint32{0x00d613cc, 0x00b13e93, 0x00a6a3a6, 0x03a98b8a, 0x03c865a7, 0x00c87626, 0x02570f59, 0x01619a80, 0x02a933ed, 0x0018e56a}}}, + {X: Field{[10]uint32{0x00d776ee, 0x03cb5394, 0x01468999, 0x01642895, 0x009c2b64, 0x02269c40, 0x00041c75, 0x00f436f9, 0x00b6f592, 0x001c207c}}, Y: Field{[10]uint32{0x028f9fc9, 0x02a7fdd9, 0x00758403, 0x028ca231, 0x0227f3f0, 0x02fca2d2, 0x02ec9c91, 0x00067a4e, 0x0005e067, 0x00272d80}}}, + {X: Field{[10]uint32{0x0369561f, 0x02adcecc, 0x023fffb0, 0x00161f99, 0x02b607d6, 0x0358fbe6, 0x00e982ab, 0x0169f06c, 0x01800d8d, 0x00038a40}}, Y: Field{[10]uint32{0x00d924f7, 0x022345f5, 0x01f7861b, 0x006850a6, 0x01993f74, 0x002d5394, 0x00ccc7b8, 0x02692894, 0x02fe7728, 0x001189dd}}}, + {X: Field{[10]uint32{0x00598bfb, 0x031590d6, 0x035212f4, 0x037f10b2, 0x00ac254c, 0x017231ad, 0x03d5939c, 0x02f57ad8, 0x0328b285, 0x0022ba9c}}, Y: Field{[10]uint32{0x01568ec2, 0x0064be02, 0x01e228e0, 0x03ba6436, 0x0213819a, 0x03281602, 0x00a559a8, 0x0157ffad, 0x027704fc, 0x002da0b6}}}, + {X: Field{[10]uint32{0x03256e68, 0x005e418b, 0x010feb3a, 0x01e877fa, 0x0127302d, 0x01619702, 0x00fc2874, 0x012d5fa9, 0x00b254b2, 0x003a7442}}, Y: Field{[10]uint32{0x03a128d0, 0x01ee4e6a, 0x032c48f6, 0x026a9169, 0x018d0ba6, 0x02bc50d9, 0x030fc0b1, 0x0367ef9e, 0x02746d29, 0x0003ffdc}}}, + {X: Field{[10]uint32{0x01ba0fee, 0x021ae1ab, 0x009136d8, 0x00505f4a, 0x00b81f29, 0x00a79332, 0x02d49094, 0x01f985e1, 0x013d1f31, 0x0027a87e}}, Y: Field{[10]uint32{0x0180ec0a, 0x031af91a, 0x036e45d9, 0x0002e564, 0x01975a5c, 0x03f7b845, 0x023ba6aa, 0x02cd45b9, 0x0325d3b0, 0x0008c77f}}}, + {X: Field{[10]uint32{0x001e7a0d, 0x006da352, 0x000c5718, 0x00042166, 0x0080701d, 0x00fa354c, 0x00d687c4, 0x02efb81f, 0x0015e5fa, 0x003a2849}}, Y: Field{[10]uint32{0x022f62c6, 0x02886e64, 0x005dd5d6, 0x03c8b80e, 0x030ac53b, 0x021d15c9, 0x0062f185, 0x039d1a65, 0x039ce263, 0x00375a60}}}, + {X: Field{[10]uint32{0x02c3def2, 0x011bfcc1, 0x02cefb44, 0x01009d8d, 0x02ed7968, 0x03db5706, 0x002e04c7, 0x01851687, 0x03baae48, 0x0038a1fc}}, Y: Field{[10]uint32{0x01968c63, 0x02e7efe7, 0x016e0be5, 0x0239f9af, 0x005bcfbe, 0x03c85560, 0x0053baef, 0x02c3a93b, 0x013d401d, 0x0024e550}}}, + {X: Field{[10]uint32{0x02ad1194, 0x02583755, 0x03927641, 0x00c9aadd, 0x01fb23e2, 0x0053239f, 0x01756eba, 0x016ac39e, 0x039cec20, 0x0023e67d}}, Y: Field{[10]uint32{0x0019a2ea, 0x03ffe67a, 0x02de8c5d, 0x013f27c2, 0x0089cbff, 0x0226c92f, 0x021b0da3, 0x01b5b8bd, 0x03e615cc, 0x00201654}}}, + {X: Field{[10]uint32{0x0366f586, 0x00f0d0f1, 0x03e14c6b, 0x0351ebcc, 0x013adb63, 0x01687fdb, 0x00dfb59e, 0x008eb783, 0x036a8cb7, 0x002721ea}}, Y: Field{[10]uint32{0x0165bb19, 0x031ba2aa, 0x002004ed, 0x038dd61d, 0x036a3699, 0x032073fd, 0x01012cbb, 0x035e79f5, 0x01227a3b, 0x001d1e60}}}, + {X: Field{[10]uint32{0x019dc00a, 0x03b1d776, 0x03c3ec75, 0x0141f622, 0x006042bd, 0x02d44bfd, 0x02a10b7f, 0x0177902e, 0x02086f24, 0x00314b21}}, Y: Field{[10]uint32{0x02b3f844, 0x016b80d2, 0x01cc2ca0, 0x01b017ed, 0x0385e540, 0x01f50bf9, 0x00762d83, 0x02e2f672, 0x013abae8, 0x003a30a0}}}, + {X: Field{[10]uint32{0x028dafb2, 0x0138582e, 0x030ded8d, 0x03f419aa, 0x000dd7c3, 0x02f58d2b, 0x039c6b6e, 0x02f89669, 0x02e194d5, 0x0002d8a1}}, Y: Field{[10]uint32{0x019b5910, 0x00e156a2, 0x034aa18b, 0x0090a80c, 0x0027eaaf, 0x01e64549, 0x03cdf7b4, 0x03c9c1dd, 0x02a8ee0b, 0x001cbb0b}}}, + {X: Field{[10]uint32{0x03086b6d, 0x035b4d0b, 0x024ce8c5, 0x02817cee, 0x0245c648, 0x01c32a26, 0x013792e3, 0x00be2dc8, 0x02f2045f, 0x0037ded5}}, Y: Field{[10]uint32{0x0196ab4a, 0x008eb985, 0x02cb43df, 0x0335765f, 0x0139ac18, 0x000e6e5b, 0x009fc90d, 0x02f73d08, 0x01483850, 0x000e1b3b}}}, + {X: Field{[10]uint32{0x0146a3b0, 0x03341a1b, 0x0020f48e, 0x00dd9d79, 0x01459b2b, 0x0192aad6, 0x01110eda, 0x008d5cfa, 0x009f4cd4, 0x000ab3d3}}, Y: Field{[10]uint32{0x022cc579, 0x00a15f56, 0x000cff62, 0x02be5513, 0x0258b37b, 0x009487fe, 0x01ff9bbd, 0x03a60737, 0x0029aea5, 0x0017c696}}}, + {X: Field{[10]uint32{0x00d33f36, 0x02da1367, 0x03877586, 0x02b29082, 0x026a64f2, 0x00d48dcb, 0x010033db, 0x034de1c8, 0x01aaeb55, 0x002febe5}}, Y: Field{[10]uint32{0x00a3d8ee, 0x000f36ac, 0x03b0f608, 0x00b97c50, 0x0378c6ed, 0x02fe7b20, 0x02fce3eb, 0x039db8a8, 0x0313bb61, 0x001f48ae}}}, + {X: Field{[10]uint32{0x00f31421, 0x035f635d, 0x01f6a6ad, 0x02a4528a, 0x01faacb6, 0x01627329, 0x0393c9ef, 0x02a24369, 0x03604eab, 0x001e3374}}, Y: Field{[10]uint32{0x0219a634, 0x028e373a, 0x00bfd327, 0x023bebfd, 0x0376430c, 0x02d788a1, 0x030d60ef, 0x0007445a, 0x001505b8, 0x003b5fa7}}}, + {X: Field{[10]uint32{0x01213d2e, 0x010f08a3, 0x00276d98, 0x0131f2da, 0x01edb894, 0x019aa292, 0x03977135, 0x00e47f1e, 0x03a9050a, 0x003cbaf3}}, Y: Field{[10]uint32{0x00fa4eaa, 0x03d79e2c, 0x01900bb3, 0x00593cf7, 0x0309513d, 0x01a754d3, 0x03a180c5, 0x027c4f14, 0x030d956f, 0x002c71d8}}}, + {X: Field{[10]uint32{0x02af4c2b, 0x0142e746, 0x00adfca8, 0x02aba056, 0x02857593, 0x01154bab, 0x00199433, 0x032ecc33, 0x020d83bf, 0x00010f35}}, Y: Field{[10]uint32{0x007e8f62, 0x02784418, 0x0130247e, 0x00313f33, 0x01099623, 0x00926633, 0x023d6592, 0x0079ae78, 0x02b10f72, 0x003fd92e}}}, + {X: Field{[10]uint32{0x038ea93c, 0x0025c27c, 0x01315f92, 0x03ee97b0, 0x0302168d, 0x009fc4ed, 0x020c3a3b, 0x012775ef, 0x00e0c01a, 0x00106497}}, Y: Field{[10]uint32{0x00f77110, 0x03c362e5, 0x02c26c48, 0x01dbc512, 0x01a725a6, 0x02c0b66a, 0x02f49c19, 0x002b0068, 0x015ecb6a, 0x0014d1ae}}}, + {X: Field{[10]uint32{0x023877e5, 0x03b396cc, 0x03eee3e6, 0x00c9f89b, 0x000fa1c2, 0x0343b836, 0x011bb478, 0x00b60aa1, 0x02106c76, 0x003f48c4}}, Y: Field{[10]uint32{0x016fa162, 0x00bead3e, 0x0266e7eb, 0x018876cf, 0x014bf334, 0x00d3bb70, 0x03748d62, 0x03b3a2eb, 0x0316f5a6, 0x000e5d8c}}}, + {X: Field{[10]uint32{0x00556ef7, 0x01a0f63d, 0x01cb26ea, 0x012c0341, 0x03d5ad68, 0x028f4727, 0x0254a0a0, 0x02f87cda, 0x0298cb7a, 0x003f8fa2}}, Y: Field{[10]uint32{0x031223bf, 0x02503813, 0x0346c3fa, 0x01d6af81, 0x00837b44, 0x02b56992, 0x03f05f9b, 0x00198e87, 0x027734d8, 0x001f4881}}}, + {X: Field{[10]uint32{0x035ec5dd, 0x023adcd3, 0x01ab69ba, 0x02521060, 0x0338232e, 0x01c5c5f6, 0x03f9b1d2, 0x006f7130, 0x0364ae0d, 0x003980a9}}, Y: Field{[10]uint32{0x00916fdb, 0x00f9bd33, 0x03450d51, 0x03d5ed20, 0x028bc9be, 0x02dded20, 0x001f9516, 0x022c400b, 0x00aa2626, 0x002b440e}}}, + {X: Field{[10]uint32{0x0181e086, 0x02f1bfe3, 0x0364eeb0, 0x00b40d91, 0x03321814, 0x01774e46, 0x01cd9620, 0x01cb65c6, 0x01cfadb7, 0x0021c625}}, Y: Field{[10]uint32{0x0337722e, 0x0322658f, 0x029cb555, 0x03293989, 0x00dda2c9, 0x00e184d4, 0x011ef565, 0x01908675, 0x0064f791, 0x00126824}}}, + {X: Field{[10]uint32{0x03a7e4b4, 0x00e83803, 0x0107f4ab, 0x013d3052, 0x028ed4ec, 0x03ef315b, 0x014ec278, 0x01601720, 0x016e7775, 0x00388a75}}, Y: Field{[10]uint32{0x00e48af2, 0x02ae4205, 0x03ce5795, 0x026ab9ba, 0x006d4265, 0x00f3abaa, 0x017a46b6, 0x020156fb, 0x02bd66d6, 0x00336c1f}}}, + {X: Field{[10]uint32{0x00bbf8ed, 0x02a54dda, 0x01dd6ca4, 0x02be9c2b, 0x03471066, 0x034835a3, 0x00a31189, 0x0321a223, 0x03856b0c, 0x000154d7}}, Y: Field{[10]uint32{0x030ac5e8, 0x012096dd, 0x02c296ab, 0x014d3de9, 0x01f6f529, 0x030c81a8, 0x027822fa, 0x00a99e10, 0x0044245e, 0x00219572}}}, + {X: Field{[10]uint32{0x00767ad6, 0x00d7b949, 0x0130c0dd, 0x00843edc, 0x00b8c48d, 0x00f4419b, 0x000d78e0, 0x033a6b89, 0x01054b37, 0x0004195e}}, Y: Field{[10]uint32{0x03e125f5, 0x02077520, 0x02be2e8b, 0x02bf84ce, 0x004393a5, 0x000d57dc, 0x00eb013c, 0x0186400a, 0x037a508a, 0x0014a0da}}}, + {X: Field{[10]uint32{0x00868c1c, 0x02c3fce8, 0x00e4be6c, 0x00321d0a, 0x00e796db, 0x00d11dde, 0x029e311e, 0x03408e67, 0x02072521, 0x000cd9ac}}, Y: Field{[10]uint32{0x0311638c, 0x0168a350, 0x00ae3025, 0x0191d28d, 0x00ac908c, 0x026660e5, 0x032f15d3, 0x0374b29f, 0x02a422a8, 0x003b1808}}}, + {X: Field{[10]uint32{0x035953ca, 0x00c0c582, 0x03332f26, 0x01919905, 0x0291bd01, 0x027f6d07, 0x0208a1f5, 0x0391b1cd, 0x0396339b, 0x00129e24}}, Y: Field{[10]uint32{0x01b4c442, 0x008fbe79, 0x021013a1, 0x011ab86e, 0x016e6e03, 0x03ae1863, 0x01c0af84, 0x02b51602, 0x017f615a, 0x003516d9}}}, + {X: Field{[10]uint32{0x01f1302e, 0x0251f8e2, 0x030fcae9, 0x02d5eae7, 0x00d75d70, 0x037d818a, 0x00c64ad4, 0x0271ff70, 0x0084fa0a, 0x003b93c9}}, Y: Field{[10]uint32{0x01f80170, 0x03afd082, 0x003cbf81, 0x00fd1e95, 0x03409207, 0x036add28, 0x03dbd0d8, 0x037ebb7d, 0x0094d8ec, 0x0014adde}}}, + {X: Field{[10]uint32{0x01f30a1f, 0x02567f89, 0x02c0eaf9, 0x01831421, 0x039aa9b7, 0x000d7da8, 0x037fbb83, 0x0089bde4, 0x035c163f, 0x00010256}}, Y: Field{[10]uint32{0x01dff7ab, 0x011f1601, 0x025aad55, 0x00ca4c11, 0x006a15d0, 0x030167d9, 0x03145955, 0x01353ba6, 0x00ac6555, 0x00073860}}}, + {X: Field{[10]uint32{0x00436a24, 0x03318bec, 0x034943d6, 0x02734bd4, 0x037a36a5, 0x00062fee, 0x02ecd9fd, 0x02750904, 0x013b067d, 0x001a8897}}, Y: Field{[10]uint32{0x027c2701, 0x0213e67a, 0x008da6a3, 0x02f31cf1, 0x03cc698a, 0x00c0164b, 0x023c91ee, 0x038332a8, 0x023d9352, 0x000a6cf5}}}, + {X: Field{[10]uint32{0x01d36e93, 0x0343235c, 0x0057cf46, 0x015253c8, 0x02172492, 0x00fd2e78, 0x0153a89e, 0x02eeff1a, 0x0241e5f9, 0x0008fbea}}, Y: Field{[10]uint32{0x00db789d, 0x023924df, 0x0386ef21, 0x02844c56, 0x0188cea3, 0x0309a486, 0x03d70755, 0x01c68816, 0x03b17f26, 0x00332269}}}, + {X: Field{[10]uint32{0x033ae55f, 0x02b42053, 0x0066a258, 0x01afd8df, 0x02f97217, 0x028e62b8, 0x01591bd6, 0x02655d63, 0x0297f7f9, 0x0038c307}}, Y: Field{[10]uint32{0x026509e1, 0x0192c061, 0x02df311e, 0x0155a096, 0x013e8e47, 0x034a6f62, 0x01edb4d4, 0x03a497f0, 0x036c3e66, 0x00069c32}}}, + {X: Field{[10]uint32{0x0308e278, 0x0328caf7, 0x01265b57, 0x02444f23, 0x03f05aac, 0x018061da, 0x0212f534, 0x005b54ad, 0x0382acd4, 0x002f9935}}, Y: Field{[10]uint32{0x03ad7e4a, 0x01ab3561, 0x0261f946, 0x017d6887, 0x03bff8f1, 0x00f2d413, 0x03b81c87, 0x00df24a4, 0x004a43e8, 0x001e9061}}}, + {X: Field{[10]uint32{0x023822ac, 0x00930e3c, 0x0145076d, 0x02e35291, 0x0073ada0, 0x00bf7cbc, 0x032b4c28, 0x02987019, 0x02bee009, 0x0032ab00}}, Y: Field{[10]uint32{0x0216d06f, 0x03298be4, 0x008ea500, 0x013f1984, 0x0172a9a6, 0x01711579, 0x02cc3047, 0x03d3888e, 0x00bba040, 0x001f64f9}}}, + {X: Field{[10]uint32{0x0284ccb3, 0x03b079c1, 0x02860fc0, 0x030e1b43, 0x03c1ef94, 0x0385c66c, 0x009321e0, 0x03aa5248, 0x01b03a9c, 0x0036894e}}, Y: Field{[10]uint32{0x023cf9f5, 0x0172fc33, 0x01f15779, 0x01bda8cf, 0x00b1b130, 0x0019fa69, 0x03f601f8, 0x033a8bd9, 0x0387bef1, 0x003a1784}}}, + {X: Field{[10]uint32{0x019cc0ed, 0x003a4d9e, 0x00198070, 0x01eefa6d, 0x024ce4fe, 0x03673ee9, 0x03c1bd8a, 0x01492192, 0x01525c96, 0x002fcbb9}}, Y: Field{[10]uint32{0x0058f18e, 0x00c0c3d8, 0x0304f634, 0x02639d80, 0x035df423, 0x000ce408, 0x01529bc3, 0x02289284, 0x021db129, 0x0022277a}}}, + {X: Field{[10]uint32{0x03abde36, 0x0259f051, 0x0226430b, 0x00a9c829, 0x01113060, 0x0290b18d, 0x024c9ff7, 0x00d98a7f, 0x0141cb0c, 0x002cf92c}}, Y: Field{[10]uint32{0x02865657, 0x01f22a94, 0x01f56a7d, 0x02ecb906, 0x03eff979, 0x035abffa, 0x00ff83e5, 0x020a3631, 0x0118c38a, 0x003d9bdc}}}, + {X: Field{[10]uint32{0x009475a0, 0x01ee9622, 0x03e01496, 0x024d8f0c, 0x0124a255, 0x02888d92, 0x01818265, 0x00846844, 0x024ffad7, 0x001147ac}}, Y: Field{[10]uint32{0x00565bb6, 0x01506791, 0x001a21fe, 0x0316fec5, 0x034cb2f8, 0x0307ccf8, 0x01bd3211, 0x030ede69, 0x014049f6, 0x002227fe}}}, + {X: Field{[10]uint32{0x00f5984c, 0x019741ce, 0x03c53b5d, 0x02fd2f03, 0x03ea4c77, 0x012e2bcc, 0x027a0b0c, 0x011de084, 0x018a6a75, 0x000a6ad9}}, Y: Field{[10]uint32{0x03f0f2c1, 0x0380688a, 0x016d215e, 0x02aae02c, 0x02947b8b, 0x01cb69af, 0x0219f9ad, 0x01b0ec29, 0x01a9c77d, 0x002aac6f}}}, + {X: Field{[10]uint32{0x017b24db, 0x026cd04a, 0x038ac287, 0x026b1953, 0x0209d9e7, 0x0076967e, 0x03bb9c0d, 0x03089016, 0x0007d815, 0x0026d671}}, Y: Field{[10]uint32{0x0276d190, 0x006ae369, 0x0376cc76, 0x02d826c6, 0x0117bb35, 0x02eb302a, 0x0027811a, 0x0004530a, 0x018ee630, 0x00293bc1}}}, + {X: Field{[10]uint32{0x026c9fd0, 0x01939d29, 0x0220fc05, 0x01e94ab1, 0x0378e69a, 0x01b0eb1d, 0x01b970e7, 0x02e5d62e, 0x036582ae, 0x0021f49e}}, Y: Field{[10]uint32{0x03511e03, 0x0026384d, 0x00b1acd9, 0x01724c9a, 0x0004d03d, 0x03c1fd07, 0x0083e087, 0x024cdd07, 0x03ccdec2, 0x000ffcec}}}, + {X: Field{[10]uint32{0x009701dc, 0x02e9bda6, 0x00bf4d9b, 0x020edc36, 0x037fe7d3, 0x01af2e4e, 0x005a0ab3, 0x02058ef6, 0x004d3895, 0x003eecda}}, Y: Field{[10]uint32{0x03b94504, 0x02f89921, 0x014c0301, 0x0109a297, 0x01759e73, 0x00981b42, 0x01c2af7b, 0x02cef443, 0x01c6c9c5, 0x001ec1f3}}}, + {X: Field{[10]uint32{0x0314a453, 0x033de7d0, 0x034eacc7, 0x0253e549, 0x01a3ef14, 0x019b9629, 0x03cc1adc, 0x00ae7488, 0x02e4ccc4, 0x0020808a}}, Y: Field{[10]uint32{0x01d2b695, 0x03439245, 0x02a3bb5c, 0x017a6a3a, 0x003a8180, 0x02d36d14, 0x030481a9, 0x00b6841b, 0x02509ddf, 0x00309090}}}, + {X: Field{[10]uint32{0x0220f901, 0x03b2562f, 0x0001a1db, 0x01f15f42, 0x01ab4e65, 0x0247e25d, 0x02475fae, 0x032cdeef, 0x005b3b51, 0x002e9735}}, Y: Field{[10]uint32{0x0341b0a5, 0x00e807b3, 0x0016478e, 0x0062d639, 0x007f9eb7, 0x026394c9, 0x007eddd2, 0x03d638d0, 0x03c0f8b4, 0x000b8353}}}, + {X: Field{[10]uint32{0x026703fc, 0x00197622, 0x02d277cd, 0x00eb7d6d, 0x02cfadaf, 0x00f9cb88, 0x02b44445, 0x0346f9da, 0x0041b316, 0x0004a4f2}}, Y: Field{[10]uint32{0x0133c2fa, 0x01c2ab54, 0x01749286, 0x01122012, 0x002488f1, 0x01081c27, 0x004ab523, 0x012622e1, 0x033740fb, 0x00263d63}}}, + {X: Field{[10]uint32{0x035015c6, 0x02aa6237, 0x037c2c69, 0x03923610, 0x03987d77, 0x022b8db1, 0x03972dea, 0x006f6b6e, 0x03c854bf, 0x003b27ec}}, Y: Field{[10]uint32{0x01486d3f, 0x01047329, 0x00cb2a00, 0x0152ff3b, 0x00fe425d, 0x020c9583, 0x01d6b364, 0x03a5d258, 0x03fdea59, 0x00357cd6}}}, + {X: Field{[10]uint32{0x0144d244, 0x01372dc9, 0x02d62769, 0x03b1ab6b, 0x029950ea, 0x039f563d, 0x03d44662, 0x016da5b2, 0x003f4cd5, 0x000bb338}}, Y: Field{[10]uint32{0x03f68879, 0x01857990, 0x0082f0f6, 0x00ff79e4, 0x00d1bc79, 0x001f3133, 0x01403cae, 0x03dd1fab, 0x00a97f1c, 0x003853cc}}}, + {X: Field{[10]uint32{0x026fb3b2, 0x000973d5, 0x03c3d77c, 0x02beb141, 0x024c6ad5, 0x01bdbbe2, 0x025e7fa5, 0x039481e0, 0x037fa63e, 0x003b63eb}}, Y: Field{[10]uint32{0x03684a9d, 0x0011b620, 0x008f2c9b, 0x03123afe, 0x01cb0636, 0x03e8f953, 0x02f10407, 0x009cf296, 0x00b8ab21, 0x00037c48}}}, + {X: Field{[10]uint32{0x00c32e4f, 0x01e317c5, 0x023a5bc0, 0x027cf0a3, 0x030bf3fd, 0x00c3f645, 0x02b456af, 0x036afb07, 0x037b8780, 0x0011f2e3}}, Y: Field{[10]uint32{0x00aa3203, 0x00c6f4ad, 0x029af669, 0x006625e3, 0x02c5889d, 0x0087b8b7, 0x02fc948f, 0x02a9b1a2, 0x02021f16, 0x003e181e}}}, + {X: Field{[10]uint32{0x01762009, 0x0056890f, 0x025cacf2, 0x011c78e3, 0x02d49620, 0x02bf9c3a, 0x01a3ee38, 0x02acbcee, 0x02c1fdeb, 0x001d8d96}}, Y: Field{[10]uint32{0x0253aa28, 0x03146d53, 0x01c3211f, 0x00d03737, 0x025d7783, 0x01f517e9, 0x037d3a69, 0x02d803fc, 0x03728b4b, 0x000b2b2b}}}, + {X: Field{[10]uint32{0x0027b424, 0x00cc27b3, 0x00ea8a23, 0x0078461a, 0x039f0931, 0x018fb720, 0x03750550, 0x03954b84, 0x01e099b8, 0x00327757}}, Y: Field{[10]uint32{0x00f8c1a5, 0x0088daee, 0x039e4b38, 0x022ec45f, 0x0338163a, 0x02bf9f4a, 0x00f134ae, 0x017adf1a, 0x02384e61, 0x0012f534}}}, + {X: Field{[10]uint32{0x010a8961, 0x0164cb6b, 0x02a3183e, 0x02de08b8, 0x009a1e08, 0x036f2dbe, 0x01c2f96b, 0x01baf1f0, 0x03adcc40, 0x0008ada9}}, Y: Field{[10]uint32{0x020ac794, 0x007b77eb, 0x02d5e22c, 0x0389dd4d, 0x0287b553, 0x00d2bcb5, 0x02be9a95, 0x013d3f4b, 0x0095bab2, 0x0014ae18}}}, + {X: Field{[10]uint32{0x0381a158, 0x006a6da7, 0x00d24a33, 0x0012cb79, 0x0296f06c, 0x02adfdaf, 0x03017fec, 0x01f7c30d, 0x00a749fa, 0x000fba02}}, Y: Field{[10]uint32{0x0039cb4a, 0x008f0709, 0x02d0c01e, 0x015b6107, 0x016c4b13, 0x01933ff9, 0x03dc1740, 0x027b3621, 0x00ef5f1f, 0x000fa553}}}, + {X: Field{[10]uint32{0x00fa4803, 0x027088ae, 0x0048f3e4, 0x0009c10c, 0x00aa97d3, 0x0356d890, 0x0269ae44, 0x01225837, 0x00588a7a, 0x000a4e2f}}, Y: Field{[10]uint32{0x01ada03e, 0x0015340e, 0x0081865b, 0x0071672d, 0x029ea59a, 0x029ba80a, 0x034826cb, 0x00764379, 0x02619fad, 0x003c9aef}}}, + {X: Field{[10]uint32{0x01a15451, 0x025df5f8, 0x030b12c3, 0x01737dca, 0x0094962e, 0x037d0c9d, 0x03ea34f5, 0x03277932, 0x00ecda97, 0x001a0956}}, Y: Field{[10]uint32{0x01fedc6c, 0x02092bee, 0x0220f112, 0x00cd6bad, 0x028b543f, 0x023b1b31, 0x0253c4cc, 0x0004fc64, 0x036522c7, 0x003130b9}}}, + {X: Field{[10]uint32{0x02493620, 0x029a2d01, 0x03d8c08b, 0x00243dfd, 0x010cbfad, 0x007cf411, 0x036811de, 0x003695e7, 0x0068fc52, 0x001c8363}}, Y: Field{[10]uint32{0x004c9cb5, 0x01517899, 0x03a2950d, 0x030ed217, 0x0107ac26, 0x02eecc6a, 0x016fd4b8, 0x01b41813, 0x00a84f7a, 0x002e19fa}}}, + {X: Field{[10]uint32{0x00b84831, 0x01fd7afd, 0x029e02a1, 0x00beceb2, 0x01994d5d, 0x030118ea, 0x02153ec6, 0x019634d5, 0x03e71bdf, 0x00259fec}}, Y: Field{[10]uint32{0x007cc83f, 0x0180bad5, 0x03a094cf, 0x03271e21, 0x03e3cddf, 0x0326a135, 0x01d0926e, 0x0092ccbd, 0x01f88617, 0x002e1299}}}, + {X: Field{[10]uint32{0x03cedc85, 0x029063a2, 0x03d88db2, 0x0353e19c, 0x0273f6eb, 0x03bc4ee6, 0x01fc1131, 0x030f7a39, 0x025c77ec, 0x000767f4}}, Y: Field{[10]uint32{0x028035d7, 0x02b713ab, 0x030e4aa6, 0x032758af, 0x03033012, 0x00fe908c, 0x03ff58e2, 0x003ed2fe, 0x0301d972, 0x00152818}}}, + {X: Field{[10]uint32{0x01311c0a, 0x033aa27c, 0x0144a0b4, 0x027e4143, 0x017d0402, 0x00d1b8ce, 0x00dff5ff, 0x01ebcc45, 0x0158a113, 0x002004e0}}, Y: Field{[10]uint32{0x025a6b31, 0x008d2a9a, 0x01c36bdd, 0x0225f157, 0x00bc5e94, 0x028ebf9c, 0x01cc712d, 0x02b06309, 0x0076e6d6, 0x0005bd26}}}, + {X: Field{[10]uint32{0x03ef632f, 0x00de4cf0, 0x00c55c6c, 0x006088aa, 0x0233aa34, 0x0041f7c8, 0x020906b3, 0x0161138e, 0x002177fa, 0x0002aad0}}, Y: Field{[10]uint32{0x0201b092, 0x0139780c, 0x03d2f703, 0x00e669fe, 0x019a0620, 0x028225c4, 0x02d58767, 0x0373b4e0, 0x008f3ad0, 0x0026e0c8}}}, + {X: Field{[10]uint32{0x03a72f10, 0x004bc4c3, 0x00fe1d36, 0x00dc52ef, 0x003c5232, 0x00052f98, 0x02f1e3b3, 0x03d19367, 0x014c7670, 0x0023cff4}}, Y: Field{[10]uint32{0x0205c68e, 0x01b022d0, 0x030a4b54, 0x03d75c70, 0x02862ef6, 0x032181b9, 0x03a593a5, 0x02e07eef, 0x00947901, 0x002132dc}}}, + {X: Field{[10]uint32{0x021f4933, 0x0254fb52, 0x00d88e49, 0x000cc32e, 0x00df69a9, 0x00e5e7b2, 0x034578a3, 0x0301bfab, 0x011caba3, 0x000eea72}}, Y: Field{[10]uint32{0x026f99cc, 0x03b91ede, 0x0072f582, 0x016ed248, 0x03fdcff6, 0x01646efb, 0x00107990, 0x0188c7a1, 0x034c3eb6, 0x001c1229}}}, + {X: Field{[10]uint32{0x00f36a7c, 0x026a72b7, 0x006455f2, 0x0070a618, 0x017344c2, 0x027db2d8, 0x01524682, 0x02c38354, 0x03d289da, 0x000be30d}}, Y: Field{[10]uint32{0x03508396, 0x01d3503a, 0x00201d2f, 0x024dea0d, 0x014223d0, 0x0271e659, 0x02f145e6, 0x01c43afe, 0x024e9d02, 0x000dfc2d}}}, + {X: Field{[10]uint32{0x02dce846, 0x0310329d, 0x012d300e, 0x00a33b6f, 0x0273fc61, 0x02995bf2, 0x03f60500, 0x02749ee1, 0x03a2c920, 0x001179ba}}, Y: Field{[10]uint32{0x035f16ec, 0x018b24ef, 0x02d908a0, 0x015d399a, 0x02813867, 0x03b88960, 0x0091a635, 0x020aef47, 0x0144ba18, 0x0028f8a3}}}, + {X: Field{[10]uint32{0x01767ee9, 0x03ee2c7f, 0x023cc605, 0x026e62b4, 0x0182ea7d, 0x03a10b67, 0x027143ff, 0x03348d11, 0x03d380a0, 0x00297b34}}, Y: Field{[10]uint32{0x0311353f, 0x029b8a53, 0x03b959be, 0x00cc3459, 0x02c9ab6c, 0x0140573c, 0x0331fe5b, 0x0109a4fe, 0x00238ea8, 0x0008bc4a}}}, + {X: Field{[10]uint32{0x0174be83, 0x00ffe400, 0x034a2c94, 0x02a7fd80, 0x0051eb66, 0x0060dd3a, 0x03698213, 0x00ec3510, 0x0271c466, 0x003dfd16}}, Y: Field{[10]uint32{0x0346fce5, 0x030290d6, 0x021498ac, 0x01b3d4be, 0x017fbdf4, 0x01a8ca07, 0x013d6e3e, 0x025fd503, 0x03cd4ec1, 0x000e858c}}}, + {X: Field{[10]uint32{0x007cb59c, 0x02c9d2d2, 0x00832a94, 0x020a957b, 0x0252bf6c, 0x015c5f50, 0x0303b7de, 0x01385d6b, 0x02866b31, 0x00249608}}, Y: Field{[10]uint32{0x02811f68, 0x03c149d2, 0x004a0369, 0x00b377eb, 0x03d6c2f5, 0x01256ef1, 0x02346700, 0x00277194, 0x01847368, 0x003f23a5}}}, + {X: Field{[10]uint32{0x02556da4, 0x01db3043, 0x027b5a7f, 0x03c53754, 0x011d7849, 0x02b9be9d, 0x017fa966, 0x034028bd, 0x00d32303, 0x003057fa}}, Y: Field{[10]uint32{0x01c10951, 0x03ec4260, 0x00d067b5, 0x01ab8ba7, 0x03e017c0, 0x00334d22, 0x03c445c5, 0x037fc699, 0x03d04685, 0x000d890a}}}, + {X: Field{[10]uint32{0x022b5355, 0x013d8331, 0x03e5ca46, 0x00d9f5ca, 0x0004dd71, 0x01c2fc35, 0x00372df2, 0x029838c4, 0x0026152a, 0x000127be}}, Y: Field{[10]uint32{0x00c4c645, 0x01f4b2c8, 0x02165d9c, 0x00bad597, 0x024e369d, 0x01ea4f85, 0x01c572c7, 0x01202e68, 0x03a20dc4, 0x001f2b52}}}, + {X: Field{[10]uint32{0x0091a18f, 0x02b848a7, 0x006a3be4, 0x0077b59a, 0x03629b2f, 0x018c4cf8, 0x02c876e1, 0x03e53f84, 0x01e7538f, 0x00323782}}, Y: Field{[10]uint32{0x017c2635, 0x02d891da, 0x03e885ea, 0x003c69db, 0x029cecb1, 0x01825958, 0x031e872d, 0x02228417, 0x031fe580, 0x002d69fc}}}, + {X: Field{[10]uint32{0x02abb344, 0x007ffae5, 0x00576946, 0x0067bdd9, 0x016b3d51, 0x026bc92a, 0x03a6cd3d, 0x010ebc75, 0x03a4616f, 0x00361ae7}}, Y: Field{[10]uint32{0x0003bcab, 0x01c3867c, 0x02539fb5, 0x01cb8e4b, 0x0056df6f, 0x01a72e3a, 0x001b6606, 0x006d2652, 0x028e8f93, 0x0008e233}}}, + {X: Field{[10]uint32{0x00cbbf88, 0x00eb9bc0, 0x0055a743, 0x02793cfb, 0x0187c496, 0x003f8c10, 0x027b7193, 0x038ac4fe, 0x0218f351, 0x0028b35d}}, Y: Field{[10]uint32{0x0119d685, 0x034dae17, 0x0324aa8d, 0x034e8258, 0x0229870c, 0x00c430d8, 0x015711ab, 0x00d8ec51, 0x0062436a, 0x000f82d7}}}, + {X: Field{[10]uint32{0x0100b2ca, 0x010b33c8, 0x02b87ab4, 0x00efb4be, 0x02ad6c21, 0x00e6d55d, 0x036e4f6b, 0x0128f5e0, 0x00d4e33e, 0x002dca0f}}, Y: Field{[10]uint32{0x02abc9ea, 0x00c5cfa3, 0x008fc273, 0x019c0109, 0x03090833, 0x0097aacf, 0x021e7e30, 0x008c1c60, 0x02fb111c, 0x00246001}}}, + {X: Field{[10]uint32{0x00b9a769, 0x02903d92, 0x00d9a0cd, 0x0151bbf3, 0x01d12e18, 0x0328c4d9, 0x01b123b9, 0x02ea34d5, 0x012e9707, 0x002c7f4b}}, Y: Field{[10]uint32{0x035e674e, 0x027bd2d1, 0x0294b58c, 0x00f58b6b, 0x021a40cf, 0x00a062ff, 0x004d2226, 0x01577bd8, 0x00168e8f, 0x00230df3}}}, + {X: Field{[10]uint32{0x0339f90f, 0x034ae0b2, 0x0262e7c0, 0x031ce574, 0x02cf6077, 0x0216d69b, 0x034be328, 0x03a17832, 0x03e74242, 0x0006c265}}, Y: Field{[10]uint32{0x037760b3, 0x01a48eda, 0x03183fa3, 0x00493052, 0x02f30fae, 0x00ef3e33, 0x00c2d2ef, 0x00762bb6, 0x00d427cd, 0x00156d36}}}, + {X: Field{[10]uint32{0x018d78d6, 0x01541976, 0x03e698e0, 0x02e06ff5, 0x034f1dc9, 0x03b86eec, 0x02362588, 0x0324977a, 0x03bc094a, 0x0015bfee}}, Y: Field{[10]uint32{0x00edc65f, 0x029c6636, 0x022089f8, 0x02dee00d, 0x02a517fc, 0x02fc716e, 0x02f3d235, 0x00af6c82, 0x008f46d7, 0x002a9cc8}}}, + {X: Field{[10]uint32{0x02d7045e, 0x00f8364e, 0x00685353, 0x02459c8a, 0x00e39081, 0x0049847a, 0x026cd368, 0x01fe70d0, 0x02b07ddb, 0x0030497e}}, Y: Field{[10]uint32{0x0377e5ae, 0x034c3c66, 0x024b68cc, 0x03d137d1, 0x031f235e, 0x00b07763, 0x003f1189, 0x01952bdb, 0x003f622f, 0x000a019c}}}, + {X: Field{[10]uint32{0x027f4a17, 0x014508ff, 0x0130148a, 0x03efc967, 0x02dbab85, 0x0207a02b, 0x01fa6fee, 0x031d0a2c, 0x01dbe4e0, 0x0039fb7a}}, Y: Field{[10]uint32{0x033fc066, 0x01695b34, 0x021d9e63, 0x016f0b6e, 0x02e23692, 0x039fd434, 0x00d32e65, 0x0173eb20, 0x037a9fbc, 0x0024eac9}}}, + {X: Field{[10]uint32{0x03df93f3, 0x02545668, 0x01cc8aa3, 0x00a3122c, 0x03a47c16, 0x0214fe59, 0x00c3da9d, 0x01af311c, 0x0363f1bd, 0x001d1c05}}, Y: Field{[10]uint32{0x018ac8ee, 0x01bb5557, 0x029d8a4b, 0x01eca3b5, 0x02bd2223, 0x001551ee, 0x0393dd5f, 0x0043ccdc, 0x011c7c55, 0x002acb00}}}, + {X: Field{[10]uint32{0x039081b8, 0x02403579, 0x0257689c, 0x00717195, 0x020a6554, 0x00de138c, 0x01ffb8d8, 0x03dc7f9b, 0x039755ba, 0x0002349f}}, Y: Field{[10]uint32{0x02c250ad, 0x02184946, 0x01386e55, 0x0032dfcc, 0x03f308f9, 0x0354889f, 0x021f837b, 0x0258052b, 0x0268f3c8, 0x0029c5db}}}, + {X: Field{[10]uint32{0x00cc7ea9, 0x01e633ab, 0x028c10f5, 0x00063a60, 0x0071b0db, 0x02b0976e, 0x000a0ff1, 0x02d4c7ab, 0x02fe9040, 0x0018f81a}}, Y: Field{[10]uint32{0x00910aa5, 0x003001fd, 0x0213e930, 0x0112ca9a, 0x010c9112, 0x00126bb5, 0x028fcf99, 0x03822dac, 0x0084a9db, 0x002aa846}}}, + {X: Field{[10]uint32{0x004ed50f, 0x0256251d, 0x004b5dde, 0x030a2082, 0x036bf8ba, 0x00f92c6a, 0x01617d02, 0x002acd0b, 0x01ae27d6, 0x00371fa8}}, Y: Field{[10]uint32{0x002f3dfa, 0x000a4705, 0x0140e48a, 0x029b8445, 0x03b63efb, 0x01d52968, 0x03e97fc0, 0x0317feef, 0x036e2b95, 0x0024f1f5}}}, + {X: Field{[10]uint32{0x02e842d7, 0x00ef46fd, 0x02253221, 0x00e6ee5d, 0x0136e402, 0x02d6baa6, 0x03dfb691, 0x03bd28f5, 0x036df69c, 0x003cebbb}}, Y: Field{[10]uint32{0x0208de5d, 0x0343d188, 0x001151fb, 0x023bd24f, 0x0272e562, 0x032c7a2b, 0x03bde031, 0x01c00be1, 0x01da339c, 0x0015f4df}}}, + {X: Field{[10]uint32{0x02bec3ce, 0x0286b29d, 0x01b67816, 0x03eca3da, 0x02ae87da, 0x00f5c9cb, 0x005d0812, 0x0193a837, 0x004c316e, 0x002096f6}}, Y: Field{[10]uint32{0x00a52251, 0x032846d0, 0x00f1dc28, 0x01925d96, 0x00849a25, 0x018be1fc, 0x03e3f69d, 0x01c2a1a8, 0x03fdba83, 0x001878e9}}}, + {X: Field{[10]uint32{0x0056a75d, 0x03bae4ce, 0x03ba7f5a, 0x02e543b0, 0x010edb63, 0x03a509a8, 0x02988cd8, 0x014dc274, 0x00d74dec, 0x000c428b}}, Y: Field{[10]uint32{0x03122c97, 0x00ee07c5, 0x00228ffa, 0x03b8f863, 0x03e3ff1e, 0x02bb0943, 0x02b4ab3a, 0x0395fdfc, 0x02aedfa5, 0x00175b61}}}, + {X: Field{[10]uint32{0x03425217, 0x0160b006, 0x024d85af, 0x02e25dfb, 0x0369f04d, 0x026edb0f, 0x02355aef, 0x004b43e0, 0x007562a5, 0x000d1c75}}, Y: Field{[10]uint32{0x039cba31, 0x00e67af6, 0x00358aed, 0x02a51410, 0x01ccd444, 0x000ded09, 0x006d68c5, 0x02da7afe, 0x02702fe0, 0x0009cb77}}}, + {X: Field{[10]uint32{0x00257a2f, 0x01a01f93, 0x0138d808, 0x03ac3a8d, 0x00aaeee4, 0x020a6bb2, 0x022b3df6, 0x02bc9082, 0x0163bfaf, 0x002fdb49}}, Y: Field{[10]uint32{0x000b496d, 0x003b8ac1, 0x03ff1a92, 0x03113079, 0x003a2738, 0x0155d1ae, 0x03847ef7, 0x0125ad93, 0x02007e7b, 0x003a01de}}}, + {X: Field{[10]uint32{0x039cddc4, 0x03b5094a, 0x023fbbdb, 0x0194c9c8, 0x02d6f4d4, 0x03361db9, 0x03ce42a3, 0x03dc614b, 0x03c4a883, 0x003accf3}}, Y: Field{[10]uint32{0x02e5453f, 0x02b69287, 0x028d2a7d, 0x00df8977, 0x03eaab91, 0x01f7a1be, 0x00f03ad2, 0x022f6641, 0x00f2ef60, 0x0026f500}}}, + {X: Field{[10]uint32{0x00c2279f, 0x002475bb, 0x0108f082, 0x00f68363, 0x016b123d, 0x037a5591, 0x0383edf7, 0x03cc67ec, 0x00d03e5d, 0x0004c5f8}}, Y: Field{[10]uint32{0x03675afd, 0x0348a48c, 0x03b252a9, 0x025fab2e, 0x01dcae42, 0x001a951c, 0x0122b607, 0x02755ac3, 0x024d5c6f, 0x000efd90}}}, + {X: Field{[10]uint32{0x009aeb56, 0x02f38d0c, 0x03456c99, 0x039099ee, 0x007e00f8, 0x01501bcc, 0x022cf5dc, 0x010fafac, 0x032e99dc, 0x00206c27}}, Y: Field{[10]uint32{0x03361932, 0x02006028, 0x03d7c495, 0x01bfafc5, 0x011dbc5f, 0x00b8cc72, 0x035b1df9, 0x03bab10b, 0x02a4b300, 0x00275215}}}, + {X: Field{[10]uint32{0x015a62f2, 0x02199121, 0x01f7e98b, 0x00c8348f, 0x03ed436d, 0x03d3a8cd, 0x02626bae, 0x03fc65c8, 0x01670a32, 0x00037ba9}}, Y: Field{[10]uint32{0x01032414, 0x019b50e7, 0x005a6dfe, 0x03bda79e, 0x014a8310, 0x00305e4b, 0x0157ab34, 0x005ff821, 0x0297c61a, 0x00172449}}}, + {X: Field{[10]uint32{0x003444e5, 0x03713a39, 0x02755ef3, 0x02c73ba1, 0x0296ae44, 0x01ea46e7, 0x00e02ffa, 0x0345cf9a, 0x00835746, 0x003392b4}}, Y: Field{[10]uint32{0x0303aa7d, 0x001bd89f, 0x02a20d34, 0x006bfc70, 0x00df7cc8, 0x01517fa1, 0x013e2891, 0x023532d5, 0x03890523, 0x002fa1b2}}}, + {X: Field{[10]uint32{0x030b077e, 0x0339ffd4, 0x004f6fbb, 0x0131f606, 0x032e3638, 0x02281c57, 0x0119a324, 0x006bdb93, 0x023d407f, 0x0026a64f}}, Y: Field{[10]uint32{0x001a7a7e, 0x03baf04c, 0x034e2481, 0x0077150f, 0x023f8700, 0x01b65bfe, 0x027bd6fe, 0x019fba66, 0x012d80a2, 0x00392869}}}, + {X: Field{[10]uint32{0x039bd0d8, 0x00d844be, 0x03ccc06b, 0x03bd16ab, 0x039247c7, 0x0099ea98, 0x017ae6a1, 0x0017205c, 0x032d7c7f, 0x0007c437}}, Y: Field{[10]uint32{0x00760410, 0x01e0ec16, 0x029affdc, 0x010c9f30, 0x03e45ad6, 0x0259fa6b, 0x0283b0ec, 0x036de4c9, 0x025b71e2, 0x0019c2c9}}}, + {X: Field{[10]uint32{0x02621b53, 0x0355c461, 0x00a5a0ba, 0x03fe7645, 0x02d57d1d, 0x0329dd77, 0x0317633d, 0x008239f6, 0x025729c9, 0x001c33ac}}, Y: Field{[10]uint32{0x01df0c62, 0x0307b0d2, 0x0164ace7, 0x00941fa7, 0x0200ee98, 0x01b475d6, 0x0211c0ec, 0x01157f37, 0x0291b3f3, 0x001b805b}}}, + {X: Field{[10]uint32{0x00694e3e, 0x024fdf9d, 0x032fd466, 0x0312b3a7, 0x00043fb6, 0x02841818, 0x03b79210, 0x020bec37, 0x01e64dc8, 0x002e91b9}}, Y: Field{[10]uint32{0x01789acc, 0x010b221f, 0x009cb0f3, 0x02cf7a81, 0x025868d0, 0x0276310d, 0x0208e060, 0x0207fe28, 0x02b90793, 0x003abad3}}}, + {X: Field{[10]uint32{0x03c30d81, 0x0034e200, 0x037a9e32, 0x01538123, 0x02a631d1, 0x00f5d5e7, 0x0179beaf, 0x02b48390, 0x02dfd233, 0x002ee8ee}}, Y: Field{[10]uint32{0x021b961d, 0x03e400d7, 0x011e8ed3, 0x039a3229, 0x0202bdfc, 0x01d95a4f, 0x03a0af4e, 0x01131cc5, 0x030d69dd, 0x003ca9f1}}}, + {X: Field{[10]uint32{0x02d3f8a5, 0x01d4298d, 0x01283d93, 0x007ce396, 0x02057d49, 0x010782bc, 0x0258f1bf, 0x02e9a05f, 0x0369d300, 0x001b7da9}}, Y: Field{[10]uint32{0x033a4a6f, 0x0268db69, 0x02819dad, 0x024a67c4, 0x01ebf0f4, 0x0337ed36, 0x02d1f31c, 0x031dcbb3, 0x03b3aa51, 0x0018e820}}}, + {X: Field{[10]uint32{0x03174f2c, 0x02970529, 0x022361ad, 0x014c74bf, 0x034fab19, 0x024e945c, 0x00c7ea87, 0x026a60a5, 0x031a4b8c, 0x002bff44}}, Y: Field{[10]uint32{0x0011be6d, 0x00a59c4d, 0x01708734, 0x0072cc81, 0x03342689, 0x022a5e23, 0x02ed3225, 0x00da60ff, 0x00d9ec4a, 0x00130f79}}}, + {X: Field{[10]uint32{0x030abc7e, 0x028914ce, 0x016ee2f0, 0x031af086, 0x01d42cca, 0x031f1c23, 0x01ba5464, 0x02c62867, 0x00499e54, 0x000b68c4}}, Y: Field{[10]uint32{0x032db974, 0x001527c8, 0x03e7c0bb, 0x028fded1, 0x02426981, 0x00713414, 0x0109d445, 0x027e2d5b, 0x009120ad, 0x003cd52b}}}, + {X: Field{[10]uint32{0x02e57b61, 0x01f433e4, 0x03f2b2dc, 0x0007bb24, 0x0323cdd2, 0x036d30c7, 0x01381ace, 0x03e0aba3, 0x0053cbe3, 0x000e20bb}}, Y: Field{[10]uint32{0x037e6e3a, 0x020328bb, 0x03c786cd, 0x014cbec2, 0x0271a43d, 0x009d0191, 0x02b0046b, 0x02ff3124, 0x015de5a7, 0x00074d0c}}}, + {X: Field{[10]uint32{0x0387f9f1, 0x026ed21c, 0x00b28d55, 0x01d4a997, 0x03468259, 0x03a7ad78, 0x03c8e4e8, 0x02ac98e6, 0x02356a08, 0x003f2ae1}}, Y: Field{[10]uint32{0x00fceb94, 0x02c81532, 0x03f540d7, 0x023413bd, 0x02bef2b3, 0x034d5c2b, 0x0166753a, 0x001f395d, 0x00c0d08f, 0x002bd020}}}, + {X: Field{[10]uint32{0x0136bb58, 0x02275d67, 0x00ebe5dd, 0x00468552, 0x02847bf0, 0x01d5032a, 0x01dcd5a5, 0x01f84a8a, 0x00bb8a89, 0x003f4d2e}}, Y: Field{[10]uint32{0x0110b2f3, 0x00d465de, 0x0255b762, 0x00ef4356, 0x00d19b60, 0x008c41b9, 0x0127eaa7, 0x03e5cd5e, 0x02ac6a56, 0x0014699a}}}, + {X: Field{[10]uint32{0x03d4b469, 0x03663961, 0x002fa808, 0x01826776, 0x031d3b46, 0x01f1f605, 0x007a1678, 0x016fc1db, 0x0120c0d8, 0x0007a26f}}, Y: Field{[10]uint32{0x00fe882a, 0x03218a4f, 0x01353eaf, 0x0243ef13, 0x03dcf115, 0x01d3cc48, 0x02dae475, 0x021d80f7, 0x01d0e576, 0x0013d4ea}}}, + {X: Field{[10]uint32{0x03aa05ed, 0x00ea55de, 0x0048f5fb, 0x02795231, 0x01ddca45, 0x03beeaea, 0x017d93ea, 0x026b3b23, 0x03ba6690, 0x002287a9}}, Y: Field{[10]uint32{0x037be091, 0x030133e2, 0x00f99e09, 0x033e2ba5, 0x01ea1f1f, 0x0140600c, 0x037655b2, 0x00de90e7, 0x01e9064f, 0x00356016}}}, + {X: Field{[10]uint32{0x011331a1, 0x03ddb587, 0x032cbd7f, 0x00302d55, 0x00e4451f, 0x03ca586c, 0x0086549a, 0x02649a5a, 0x000d80d5, 0x003830de}}, Y: Field{[10]uint32{0x0145491d, 0x013da392, 0x02551114, 0x02baefb6, 0x03d827dd, 0x008c39ec, 0x03e6f1e5, 0x00ec7f0b, 0x02e6a13c, 0x00267674}}}, + {X: Field{[10]uint32{0x03996035, 0x032303a0, 0x0260ef7c, 0x0373fc83, 0x008e7e1b, 0x036ab786, 0x03ed36c5, 0x02b0485b, 0x00e6ed23, 0x002590d5}}, Y: Field{[10]uint32{0x0028998a, 0x02f4c98d, 0x03529aa8, 0x0234f18c, 0x027e6a40, 0x039bc188, 0x02531984, 0x031ba1c8, 0x009a8563, 0x003dd228}}}, + {X: Field{[10]uint32{0x02fe3f9b, 0x036f0f06, 0x014a1ab1, 0x00556150, 0x038bd094, 0x01a61871, 0x02eab869, 0x03218bf1, 0x03295125, 0x00260279}}, Y: Field{[10]uint32{0x007b9fd7, 0x01afd8e6, 0x0005efd4, 0x02250cbf, 0x00ab0fc0, 0x03f21296, 0x03909f86, 0x0155a20c, 0x0228bbf5, 0x003614d8}}}, + {X: Field{[10]uint32{0x0301ed17, 0x03b31303, 0x03b34abb, 0x01cf6852, 0x011d8d71, 0x00097f1f, 0x0183bf94, 0x013108a3, 0x0102305e, 0x000657d3}}, Y: Field{[10]uint32{0x009d637f, 0x02e1d99f, 0x0221a726, 0x0174ea23, 0x03ce1384, 0x00f2d119, 0x00152e02, 0x02e7341a, 0x00b497ae, 0x00255f6e}}}, + {X: Field{[10]uint32{0x014e0b37, 0x011286a1, 0x036c0f2c, 0x039a06e0, 0x02b0203f, 0x0009243a, 0x023f726d, 0x01f8d3be, 0x02ba3eb1, 0x00158baa}}, Y: Field{[10]uint32{0x0152b1e8, 0x015a9be1, 0x02da59db, 0x02935ecc, 0x0397093b, 0x003bd094, 0x03a35a77, 0x012010b4, 0x00ed9e66, 0x002d3996}}}, + {X: Field{[10]uint32{0x01ec8282, 0x027ca383, 0x01a288d7, 0x00b0292c, 0x03de3a60, 0x00c0bcd3, 0x00579693, 0x02405203, 0x01eb1efa, 0x002128b1}}, Y: Field{[10]uint32{0x02207cf1, 0x018acd91, 0x02023bdf, 0x00fd7c36, 0x00c70331, 0x0372b110, 0x03261dba, 0x03bb6161, 0x01c788cf, 0x001c0354}}}, + {X: Field{[10]uint32{0x0272f913, 0x00025ccd, 0x007fb8ba, 0x02b5df53, 0x00b93e2b, 0x031b52e1, 0x00e73406, 0x0245a2c5, 0x03cf0dbd, 0x0020f44b}}, Y: Field{[10]uint32{0x03279a7b, 0x02d44c79, 0x018ee523, 0x03f61848, 0x013c0dd6, 0x020b3a73, 0x03c78b36, 0x00cb3eeb, 0x0226bf25, 0x0039215b}}}, + {X: Field{[10]uint32{0x015451cf, 0x0001a3b7, 0x03701dfb, 0x008a7b52, 0x00ce64d5, 0x03d190fe, 0x03e73bf9, 0x00c8383e, 0x02f2bbd9, 0x00266229}}, Y: Field{[10]uint32{0x02882d5b, 0x02877462, 0x01910ed5, 0x0070aafa, 0x000d2f43, 0x024be269, 0x0244e4d8, 0x00994342, 0x02fcbd3b, 0x002eecd4}}}, + {X: Field{[10]uint32{0x03ff0724, 0x0202842b, 0x00b5160f, 0x0130aa9c, 0x0183017d, 0x028845ac, 0x0321d1e2, 0x00571ccd, 0x003dcfa6, 0x000fa486}}, Y: Field{[10]uint32{0x002dc945, 0x0202ce45, 0x03d7f226, 0x0029d395, 0x0276a2f3, 0x029cfcf4, 0x01fe5453, 0x02f98bc3, 0x0251f4bc, 0x0031e220}}}, + {X: Field{[10]uint32{0x0239492f, 0x018f5b20, 0x0044de77, 0x02617a96, 0x01e5f85b, 0x02cd89d7, 0x03130faf, 0x03f8e932, 0x0300fa1e, 0x003645d4}}, Y: Field{[10]uint32{0x03678b4b, 0x0199c0a6, 0x03521c55, 0x036217ba, 0x00fbad38, 0x00596aff, 0x0236220d, 0x00a83366, 0x0065e959, 0x001644e3}}}, + {X: Field{[10]uint32{0x02d933dc, 0x01044a4d, 0x01068b47, 0x02e1ea57, 0x03ed74c5, 0x01d9b99d, 0x017f7b47, 0x02fb9974, 0x025f7c12, 0x001bfd60}}, Y: Field{[10]uint32{0x038c0edf, 0x0200920d, 0x0038131f, 0x02a10334, 0x002ea9ac, 0x034ae360, 0x004be0a4, 0x025d2c8c, 0x01de0cb7, 0x001986ba}}}, + {X: Field{[10]uint32{0x00b1c31d, 0x03ac4594, 0x035ab15c, 0x01aeeba1, 0x03956036, 0x030093de, 0x027d580a, 0x004190c1, 0x02b1a876, 0x003b5b2f}}, Y: Field{[10]uint32{0x0217dede, 0x01f59aa1, 0x03f4519a, 0x01dbc675, 0x011269c4, 0x000ba040, 0x024d60f7, 0x02270595, 0x007ed1e8, 0x0024501a}}}, + {X: Field{[10]uint32{0x03d69164, 0x02f812a2, 0x03ca443a, 0x01b8e190, 0x000853bf, 0x02c4c88c, 0x016b56ee, 0x016a8c42, 0x00eb32d7, 0x0017e333}}, Y: Field{[10]uint32{0x0195da3a, 0x0396df9e, 0x02d456bd, 0x03c08734, 0x024f6576, 0x013d60d2, 0x02ac0fac, 0x0077352d, 0x023dd0c8, 0x000d7dca}}}, + {X: Field{[10]uint32{0x002d0b7b, 0x029b88e6, 0x02f7c479, 0x018bc056, 0x0186580d, 0x03b599d4, 0x02896c67, 0x00e5dd48, 0x00859bb2, 0x00207808}}, Y: Field{[10]uint32{0x03fbb669, 0x036f1933, 0x019601eb, 0x00e38abe, 0x02fce84a, 0x017558ac, 0x02ddc088, 0x03c9bed0, 0x029e4159, 0x0021e47e}}}, + {X: Field{[10]uint32{0x01d8f721, 0x0109c4a5, 0x005f141d, 0x03a1eb2a, 0x003eb435, 0x018eeb72, 0x03aba7ad, 0x01709a6d, 0x0316dd1e, 0x0037889a}}, Y: Field{[10]uint32{0x02c8423a, 0x01591c06, 0x0120d841, 0x01a90d37, 0x03342841, 0x038cf644, 0x007dc03d, 0x039cb0fe, 0x0399fa2c, 0x0018b878}}}, + {X: Field{[10]uint32{0x03d140f3, 0x0282f765, 0x012b1d13, 0x02549f2f, 0x00fa7629, 0x03dffc59, 0x0058be59, 0x00ca57f4, 0x03423fcd, 0x0018291b}}, Y: Field{[10]uint32{0x037f1219, 0x034dc3b7, 0x02c8e0f4, 0x015332ff, 0x01912cb8, 0x0280f2ad, 0x02bc31e1, 0x02785f91, 0x02de7b78, 0x00255c74}}}, + {X: Field{[10]uint32{0x032249c0, 0x0227f2f0, 0x027f5ce0, 0x0164fd0a, 0x0080d7e7, 0x028318d9, 0x013a77ab, 0x02f647ef, 0x005ce1b4, 0x001bfbd1}}, Y: Field{[10]uint32{0x00fa347d, 0x00b17a7d, 0x01a919a9, 0x0361f532, 0x03f82e73, 0x01605e5b, 0x020cae2e, 0x036e0e6b, 0x00fbaf46, 0x000457ef}}}, + {X: Field{[10]uint32{0x0293522f, 0x01713f90, 0x02a30914, 0x01705120, 0x03a9892b, 0x03b7af95, 0x025f7c26, 0x03e54e8f, 0x011ca8d2, 0x001b4dfd}}, Y: Field{[10]uint32{0x015309af, 0x019fbba7, 0x03dda0a9, 0x016ea212, 0x00cbefae, 0x00ee4382, 0x026897cd, 0x02b52c37, 0x01f36718, 0x001e3944}}}, + {X: Field{[10]uint32{0x03d46098, 0x02c0d440, 0x02ceaa76, 0x0157f9d2, 0x02738aa1, 0x0376fa65, 0x01cb035e, 0x01c07d72, 0x00275bd0, 0x000302b2}}, Y: Field{[10]uint32{0x00e3cd97, 0x020c807e, 0x026b7c3e, 0x00c5a996, 0x0031d762, 0x003389a9, 0x01684906, 0x029c21aa, 0x022a188f, 0x0039fcca}}}, + {X: Field{[10]uint32{0x00cde108, 0x00481814, 0x02b935d0, 0x02352c95, 0x01822a64, 0x017ebd29, 0x00507df8, 0x01408c7f, 0x03a86f89, 0x00240036}}, Y: Field{[10]uint32{0x014ef3fd, 0x0360f2d9, 0x00ff1779, 0x0008bd63, 0x00323319, 0x03d32c0f, 0x018383c2, 0x03a7a2ef, 0x003694b2, 0x0026deba}}}, + {X: Field{[10]uint32{0x029098a1, 0x02ba35a5, 0x01d9a28a, 0x029d18f8, 0x01ad58de, 0x01b0a8b8, 0x02092532, 0x02f23cd9, 0x03f4b490, 0x003c4426}}, Y: Field{[10]uint32{0x012f24c5, 0x00014257, 0x030224a8, 0x030b0c96, 0x006e3382, 0x032305fb, 0x02305141, 0x00b04200, 0x02279fd7, 0x0021d0c6}}}, + {X: Field{[10]uint32{0x028c0003, 0x0372155b, 0x018b00d1, 0x02353db8, 0x03929adc, 0x01b587e0, 0x00aac8b3, 0x031bc231, 0x01e54e9c, 0x00137a1c}}, Y: Field{[10]uint32{0x00d3bba6, 0x021fc1dc, 0x029c7f01, 0x01c3a68f, 0x00805f4b, 0x027785af, 0x01d7fce1, 0x03a29b1d, 0x03cfca98, 0x00009747}}}, + {X: Field{[10]uint32{0x02766ece, 0x0004f618, 0x01c80b66, 0x019ff633, 0x008f47b4, 0x01384004, 0x02e89ff9, 0x00aefce9, 0x02759297, 0x00288f2d}}, Y: Field{[10]uint32{0x03cf548c, 0x016bae51, 0x01dc7cae, 0x0337f5fa, 0x03cbca18, 0x01f48eab, 0x02811267, 0x0308f685, 0x0384ed05, 0x002371c2}}}, + {X: Field{[10]uint32{0x004244e5, 0x00385256, 0x0032bbb4, 0x00e296df, 0x0179d3c9, 0x039c0f31, 0x03a9dd3b, 0x023e2e46, 0x00cce96d, 0x0000a574}}, Y: Field{[10]uint32{0x0303c926, 0x00fdfb8a, 0x02c95265, 0x02304ace, 0x02745e07, 0x014e2b97, 0x030fe376, 0x0352fdab, 0x0206a16b, 0x0029b516}}}, + {X: Field{[10]uint32{0x02babbce, 0x0009517b, 0x008af9e1, 0x0337bf49, 0x016cb40b, 0x03ef45da, 0x00b13d51, 0x01da9b50, 0x03919d53, 0x001f1a0e}}, Y: Field{[10]uint32{0x01fd3f73, 0x02c6b6ab, 0x02e39332, 0x0169f08e, 0x02197d4e, 0x0367c558, 0x03ed30b8, 0x0215bd6d, 0x01d03608, 0x000f6832}}}, + {X: Field{[10]uint32{0x000c3189, 0x039fbe07, 0x001ecdf5, 0x027b2a7d, 0x038505f3, 0x0388bb08, 0x020e21ff, 0x00926a57, 0x012ed27e, 0x000c3dd4}}, Y: Field{[10]uint32{0x00875169, 0x010790b9, 0x00164fad, 0x01fd5ba2, 0x039e4e7f, 0x02d1cc65, 0x01286514, 0x00e8e856, 0x005e25ea, 0x000bd7f6}}}, + {X: Field{[10]uint32{0x03514961, 0x03d69d8b, 0x00835431, 0x00bed244, 0x031c7f84, 0x02358c52, 0x00a41c77, 0x013c9cc9, 0x038c9658, 0x0024ddef}}, Y: Field{[10]uint32{0x01f3df42, 0x03f5b4da, 0x00ad4335, 0x00b4ea27, 0x003cfa89, 0x03b60c34, 0x017fe92a, 0x036cab9f, 0x0055e2ed, 0x00356673}}}, + {X: Field{[10]uint32{0x0131e9be, 0x0307555b, 0x00ca240a, 0x01e1affd, 0x0328a66e, 0x03e0f153, 0x03530b85, 0x001256e8, 0x03e867f2, 0x000d627f}}, Y: Field{[10]uint32{0x01224c89, 0x02a49d1b, 0x0385b581, 0x019e3f74, 0x00d75b3a, 0x03c4cf71, 0x01c22a89, 0x02278482, 0x02aa9830, 0x0026208b}}}, + {X: Field{[10]uint32{0x023f8935, 0x036e2e3a, 0x03f85999, 0x01e84754, 0x012c79e7, 0x03f31905, 0x00e0f841, 0x03713396, 0x01f4b2da, 0x000e706c}}, Y: Field{[10]uint32{0x00256721, 0x026aa135, 0x0131e628, 0x010985b3, 0x0350bb8a, 0x03fe76a0, 0x036991de, 0x00ce2590, 0x031ad9df, 0x0039e149}}}, + {X: Field{[10]uint32{0x0325be33, 0x03bb7b62, 0x0372cad5, 0x0368914e, 0x00b103f9, 0x02d84639, 0x00799188, 0x00b0b666, 0x0059d3d6, 0x00373c45}}, Y: Field{[10]uint32{0x03a1c074, 0x00f31cbc, 0x017b330a, 0x0323eb9f, 0x02a190f6, 0x031f7771, 0x01a92fe7, 0x01c398d1, 0x001aaf32, 0x003700e3}}}, + {X: Field{[10]uint32{0x02623d1d, 0x018d6cc1, 0x038f0eed, 0x0179bac8, 0x00a32ff0, 0x02f60143, 0x00d82e55, 0x02c304fd, 0x01dd1de9, 0x0018524a}}, Y: Field{[10]uint32{0x00d8a24b, 0x02a9d7b1, 0x02a6ae0e, 0x010c6b2f, 0x02afafdc, 0x020603fd, 0x0118e3be, 0x03c5ee86, 0x0117c9e7, 0x0002bfa1}}}, + {X: Field{[10]uint32{0x00ce743c, 0x006c2ea7, 0x00296a7c, 0x027ed66a, 0x03ef8160, 0x03b22b6f, 0x005da355, 0x036a5029, 0x0228cff6, 0x003d29c8}}, Y: Field{[10]uint32{0x019cdacb, 0x02a069b8, 0x01e50a25, 0x0094f328, 0x032fbcd0, 0x015a71af, 0x01e90f10, 0x016ab827, 0x00fbde09, 0x00151480}}}, + {X: Field{[10]uint32{0x022c93f7, 0x03f94903, 0x01a650b5, 0x0133f23f, 0x0357aa16, 0x00dc6e50, 0x0262fbf5, 0x01565d1b, 0x02736caa, 0x0018f310}}, Y: Field{[10]uint32{0x02ce5665, 0x011f1142, 0x004fe09b, 0x0139143c, 0x01e7d822, 0x012c20a2, 0x02d2bd30, 0x0104eb5a, 0x035bc5a6, 0x0007e93b}}}, + {X: Field{[10]uint32{0x02ab8889, 0x012f8ae3, 0x002016b8, 0x022659e3, 0x00aa7f9d, 0x00d172c1, 0x02cf761f, 0x00e29834, 0x02281184, 0x002b05d4}}, Y: Field{[10]uint32{0x024af2b1, 0x016a60aa, 0x03396343, 0x02266684, 0x00832f29, 0x03ddd97c, 0x02b01b68, 0x00f6b09e, 0x00ae2964, 0x00375f7e}}}, + {X: Field{[10]uint32{0x024a0e48, 0x01e205a7, 0x02c03dd6, 0x008bcde1, 0x03823e86, 0x00bbead6, 0x00a5a2f7, 0x0106d831, 0x02b9637c, 0x00276ed7}}, Y: Field{[10]uint32{0x03d924d7, 0x00e353ad, 0x025cd1ba, 0x001e2718, 0x0205aa01, 0x021466a8, 0x01cde34b, 0x03587d0b, 0x02ba13f4, 0x0001dcb5}}}, + {X: Field{[10]uint32{0x02f7dddc, 0x015cc70f, 0x02fb173d, 0x0266e30c, 0x004e88f5, 0x01683622, 0x015b5866, 0x0304d440, 0x01ddd2fc, 0x001c5c25}}, Y: Field{[10]uint32{0x024fa5af, 0x03f7ed1f, 0x0020e581, 0x01b74638, 0x03472732, 0x031ed902, 0x023da3f3, 0x01c2f3ec, 0x010952b4, 0x0007783c}}}, + {X: Field{[10]uint32{0x025872ca, 0x026a5909, 0x03b2a331, 0x01a0b336, 0x01a32c4a, 0x00535ba7, 0x01e3964c, 0x02c7a900, 0x00d3f829, 0x0016b08c}}, Y: Field{[10]uint32{0x01c026ea, 0x0373ebb2, 0x02e8151b, 0x0360c85e, 0x03423484, 0x00c67290, 0x0206a16e, 0x03d9af17, 0x03a627db, 0x003eb0f0}}}, + {X: Field{[10]uint32{0x038752ef, 0x01f3dd87, 0x00100857, 0x02854446, 0x01382496, 0x00b9d387, 0x0057537b, 0x03d05785, 0x02af0a39, 0x00349fb2}}, Y: Field{[10]uint32{0x01c6c037, 0x037e92dc, 0x03ae35dc, 0x0213eb38, 0x00d5938e, 0x010486da, 0x03d8eb60, 0x02bcc438, 0x036746cb, 0x003f1202}}}, + {X: Field{[10]uint32{0x02ac6cda, 0x007882fc, 0x00d6477f, 0x0064e822, 0x01703af6, 0x03eb6a31, 0x0387d539, 0x0266df13, 0x03ddf92d, 0x003821dd}}, Y: Field{[10]uint32{0x01ccfee9, 0x0169404a, 0x00070db0, 0x039fb6f7, 0x001202c4, 0x03384357, 0x016ecc53, 0x0062c93a, 0x008ac6cb, 0x0009693e}}}, + {X: Field{[10]uint32{0x019ba6ed, 0x0284601a, 0x00776753, 0x039a2015, 0x0363bbe3, 0x0225aae5, 0x02a6a138, 0x01603ef6, 0x02b7afe9, 0x00116b9e}}, Y: Field{[10]uint32{0x0156f322, 0x01b9aa28, 0x00ff16c4, 0x01f83fbf, 0x02502f79, 0x0365bd0f, 0x00d440e3, 0x0381b934, 0x03ed127f, 0x003706bd}}}, + {X: Field{[10]uint32{0x00d00590, 0x0387793d, 0x00045327, 0x00516007, 0x026ae265, 0x01a2d30b, 0x00f509a7, 0x00114ecf, 0x033b71c5, 0x003f4a32}}, Y: Field{[10]uint32{0x00e5a7b6, 0x01994617, 0x02159c26, 0x00ac95fd, 0x013298a2, 0x005d3388, 0x01081f08, 0x033d12a9, 0x03954867, 0x002c1a13}}}, + {X: Field{[10]uint32{0x001d850d, 0x02cc9807, 0x01d7a158, 0x0181d9c7, 0x03956816, 0x00ee7ee9, 0x015e4e22, 0x0127c286, 0x000dac6f, 0x003c89bc}}, Y: Field{[10]uint32{0x0109ef86, 0x01c6d968, 0x0150f10f, 0x0228da45, 0x01d823a0, 0x00661bfa, 0x0230e53a, 0x028e2ad1, 0x004f6925, 0x00341757}}}, + {X: Field{[10]uint32{0x020337a3, 0x0113a41d, 0x0340ff0e, 0x03b23271, 0x00a994e1, 0x02cc0e3e, 0x00e23a72, 0x0212021f, 0x0213a80d, 0x000f3185}}, Y: Field{[10]uint32{0x013c3956, 0x036ef6b3, 0x033f5a11, 0x00794a85, 0x0090377f, 0x0256ac04, 0x0221f09f, 0x00ebda50, 0x016a2409, 0x00211d3e}}}, + {X: Field{[10]uint32{0x0260e736, 0x036b3833, 0x02223e5c, 0x03572579, 0x02633e7e, 0x03d5f5a1, 0x03be2331, 0x025c4af4, 0x01898cd9, 0x001c87b3}}, Y: Field{[10]uint32{0x00ffd69f, 0x02b064a8, 0x028ad532, 0x0284bdd9, 0x0221dc34, 0x03b18cf1, 0x009450bf, 0x01f2b928, 0x00d86fc0, 0x000c74a5}}}, + {X: Field{[10]uint32{0x032eff38, 0x03f3fe8a, 0x03aa2db0, 0x00b03fea, 0x00d5b106, 0x03963ea3, 0x01862715, 0x0366c6c9, 0x02581144, 0x00372eb2}}, Y: Field{[10]uint32{0x01ec7d34, 0x00ec95c8, 0x00689e6d, 0x03986bce, 0x00708b53, 0x038b185d, 0x02fbdca5, 0x01b3fe43, 0x021d339f, 0x00273dd8}}}, + {X: Field{[10]uint32{0x01db8b92, 0x007ccdc5, 0x03878342, 0x02654a39, 0x02b9300b, 0x031e895b, 0x00919382, 0x03b0af39, 0x0293e649, 0x003b4c53}}, Y: Field{[10]uint32{0x00744a11, 0x01f772d8, 0x0318bc83, 0x01238f7e, 0x0153ea03, 0x007c5519, 0x0122355e, 0x03fbcb8a, 0x02af0229, 0x001c2a06}}}, + {X: Field{[10]uint32{0x01c036ee, 0x00dae30a, 0x01c09854, 0x02d8010a, 0x005f5c7e, 0x017d96ba, 0x02977689, 0x02f23466, 0x03cc7a59, 0x001af466}}, Y: Field{[10]uint32{0x00999090, 0x0109cd41, 0x0332c0bc, 0x039de2d5, 0x0131803c, 0x010d5171, 0x03ea28f8, 0x015a06f6, 0x01e3f4f6, 0x00144d1b}}}, + {X: Field{[10]uint32{0x003d9acf, 0x01f1ac75, 0x03e15577, 0x0101eb62, 0x03ebe9d6, 0x02f8222f, 0x00228bb5, 0x037ecd81, 0x02156ac8, 0x00267b47}}, Y: Field{[10]uint32{0x01d2c922, 0x024430c2, 0x03c61e19, 0x02683d11, 0x0169f57e, 0x01c90dab, 0x02a0ac04, 0x01332a03, 0x01a4478b, 0x001d6c56}}}, + {X: Field{[10]uint32{0x02452045, 0x03821dec, 0x0171cc7f, 0x030e30d8, 0x000f00c3, 0x000c0e5c, 0x02dd90fb, 0x0377c212, 0x038c793a, 0x000f859b}}, Y: Field{[10]uint32{0x015bbd59, 0x0086aa07, 0x038da019, 0x0209ee52, 0x019f07e3, 0x0269b31b, 0x0330f6fb, 0x00a997b0, 0x0263b0cd, 0x00245966}}}, + {X: Field{[10]uint32{0x036df936, 0x01567345, 0x03656cf8, 0x00c82107, 0x01a1b1a4, 0x01027427, 0x00d1b168, 0x017ce2fe, 0x02d9a3a9, 0x003f06ea}}, Y: Field{[10]uint32{0x008af43d, 0x0158fc68, 0x0263884a, 0x024486db, 0x02e0b4d7, 0x020ad6d3, 0x005f2489, 0x02e27541, 0x03bdb013, 0x000c7de9}}}, + {X: Field{[10]uint32{0x037ff340, 0x02a0673f, 0x0125a5a5, 0x010d3a72, 0x003bd318, 0x00ce1a21, 0x003c8795, 0x007b2b24, 0x013d4b37, 0x00202ceb}}, Y: Field{[10]uint32{0x012af178, 0x039336dc, 0x02bfdf20, 0x00a1cd1e, 0x010108ae, 0x0197eb1a, 0x03ed7d3b, 0x01b61319, 0x00bdaac9, 0x003ec72a}}}, + {X: Field{[10]uint32{0x00616af2, 0x0330b91a, 0x03422073, 0x012535c9, 0x0002a87d, 0x023bdeab, 0x02c6c364, 0x03dc9f5d, 0x01ab2901, 0x002eb419}}, Y: Field{[10]uint32{0x030a37ed, 0x00ca71d1, 0x01d92236, 0x00d04fc5, 0x02fa925a, 0x02ae8a5c, 0x01d69a2e, 0x03bab536, 0x010216b5, 0x002ba75e}}}, + {X: Field{[10]uint32{0x029b8fe7, 0x010d7e44, 0x03ca9bce, 0x023dfa06, 0x01a2fb75, 0x0321e079, 0x01beb99c, 0x00329a65, 0x02d90d70, 0x00347c11}}, Y: Field{[10]uint32{0x0111a4df, 0x00d16818, 0x01017fca, 0x0029195d, 0x033090fc, 0x0110cc50, 0x03167188, 0x0056bcd1, 0x025d7eb8, 0x0009d3b7}}}, + {X: Field{[10]uint32{0x03f0a22f, 0x02811e8c, 0x03ea1751, 0x01851ce9, 0x0299df17, 0x00a6a83d, 0x01ea798d, 0x02a02963, 0x0355e3dc, 0x0036d4d7}}, Y: Field{[10]uint32{0x0353ff6b, 0x014a2b56, 0x037cced3, 0x03591de8, 0x00e61b86, 0x039ea3c4, 0x013df837, 0x00ef2846, 0x015d931a, 0x0039f600}}}, + {X: Field{[10]uint32{0x00a42a80, 0x039a4703, 0x01d5082a, 0x03945933, 0x008635b7, 0x02693c61, 0x00b1a5db, 0x03c3ebe6, 0x0206a56e, 0x0036876e}}, Y: Field{[10]uint32{0x0210c9ff, 0x0238c4a8, 0x01508d92, 0x0196c85e, 0x008807e2, 0x0172d058, 0x00066210, 0x00c6f2ba, 0x003ca695, 0x0021aa0e}}}, + {X: Field{[10]uint32{0x01aa42e7, 0x03b0a282, 0x008aeff5, 0x01de6cd6, 0x033b176b, 0x01ed509d, 0x014f29ff, 0x0019b1f7, 0x02b4d980, 0x00099f09}}, Y: Field{[10]uint32{0x0027161d, 0x03c82d42, 0x0034142f, 0x0231fe8c, 0x01d58465, 0x0364f6aa, 0x02300531, 0x03ac9574, 0x003ff4e5, 0x000ce430}}}, + {X: Field{[10]uint32{0x01cbea0a, 0x0120fff0, 0x0027d4f3, 0x00a7fb97, 0x025561fd, 0x0021246a, 0x00c79152, 0x03e5541c, 0x03524e6f, 0x0020092b}}, Y: Field{[10]uint32{0x02dd86b0, 0x0075f2ec, 0x00a16dff, 0x01c5cd17, 0x03df7a8a, 0x00279dbf, 0x0078fc06, 0x01c9ac20, 0x00d0498f, 0x0032779e}}}, + {X: Field{[10]uint32{0x0208f661, 0x014d1158, 0x002d2779, 0x025501a2, 0x00dc3dc1, 0x01c73c00, 0x030d7dd3, 0x02d0801f, 0x0268c7be, 0x00047fda}}, Y: Field{[10]uint32{0x03b4092c, 0x0306f029, 0x03dbd658, 0x02ea5e9f, 0x03916b75, 0x007df8ee, 0x03cac25c, 0x0206d479, 0x00252547, 0x002d4f77}}}, + {X: Field{[10]uint32{0x02e3c929, 0x02309fcd, 0x011f6aa8, 0x025ac01d, 0x02b70d65, 0x016a660a, 0x0232d7a6, 0x02080ce6, 0x0083f9a6, 0x00158a84}}, Y: Field{[10]uint32{0x01e05b51, 0x0112b2ec, 0x03364557, 0x01854248, 0x0166ec20, 0x0042b5d0, 0x00e7d255, 0x02022e54, 0x007f0908, 0x0028e03b}}}, + {X: Field{[10]uint32{0x0341c413, 0x0020b8b4, 0x037af68d, 0x029533c1, 0x030e097f, 0x03bd915c, 0x02a75987, 0x0035a4ed, 0x00fd327c, 0x0013bf9c}}, Y: Field{[10]uint32{0x00ce3dc7, 0x02afbcb2, 0x0098a4a1, 0x0118233b, 0x00b110a3, 0x03b476c4, 0x028befc3, 0x02d8b766, 0x039b92e0, 0x0004351e}}}, + {X: Field{[10]uint32{0x03a51f20, 0x03027008, 0x0034ff9a, 0x0260b34c, 0x03354abd, 0x00780709, 0x028576c9, 0x00a2c2f7, 0x030cd7f1, 0x0013592f}}, Y: Field{[10]uint32{0x00a5e28f, 0x030cb97a, 0x00d6eb9d, 0x013cf532, 0x03da3c52, 0x0136f0b9, 0x03bf38e1, 0x037feb79, 0x001af57f, 0x0005679d}}}, + {X: Field{[10]uint32{0x00a187bf, 0x03cc2cc0, 0x0243bc48, 0x02b0dcab, 0x03466de2, 0x03bb3be8, 0x02f0064c, 0x01e35acf, 0x034aff32, 0x00269058}}, Y: Field{[10]uint32{0x02aeae2a, 0x01faa801, 0x03c3cad2, 0x00c3d014, 0x02f409e5, 0x01591262, 0x007a1936, 0x01df3e11, 0x020faebb, 0x0003bbfb}}}, + {X: Field{[10]uint32{0x0102418b, 0x0137b4a4, 0x014cf4fc, 0x03f39e09, 0x002c85cf, 0x039719dd, 0x02fec2d2, 0x03782023, 0x00fb9a6b, 0x00038601}}, Y: Field{[10]uint32{0x02fcdda7, 0x01aacd1f, 0x01e7bfa5, 0x030c60f3, 0x02447e93, 0x00e9996b, 0x03e81c9b, 0x0192e70b, 0x01eb9c16, 0x003a72ac}}}, + {X: Field{[10]uint32{0x00593212, 0x018bc6d9, 0x03b411eb, 0x03c097e7, 0x00717611, 0x03fd134b, 0x021705ad, 0x01ec2be0, 0x0344c024, 0x0002980d}}, Y: Field{[10]uint32{0x02603b61, 0x0066ee32, 0x01d9ce5c, 0x0056a5ae, 0x026dcdb0, 0x021c4ee6, 0x035c0a2f, 0x01d8e10c, 0x032b706a, 0x002083f4}}}, + {X: Field{[10]uint32{0x015f20b0, 0x01882812, 0x036cb66a, 0x02ceab89, 0x01a1108a, 0x03258193, 0x0172a2fe, 0x004a60d2, 0x01b6895b, 0x0029bc76}}, Y: Field{[10]uint32{0x01c8273c, 0x027550db, 0x0288029c, 0x03be0e81, 0x037f55d7, 0x0219e70f, 0x03f5ea81, 0x020e518f, 0x00d0df03, 0x0026a577}}}, + {X: Field{[10]uint32{0x01ac5c48, 0x02bc49b3, 0x0041893b, 0x03cef5d3, 0x02f09f30, 0x01b88850, 0x00f920ab, 0x00ad8f80, 0x00320782, 0x0012b145}}, Y: Field{[10]uint32{0x00f43885, 0x012f0c68, 0x02a6ad7e, 0x031dc83d, 0x027ff037, 0x025156ef, 0x03da161f, 0x01291917, 0x014877e9, 0x002afd74}}}, + {X: Field{[10]uint32{0x03fb7a9b, 0x02efdebd, 0x004752da, 0x00dccd81, 0x0248af6e, 0x02cce508, 0x02c588e1, 0x03ab9633, 0x015ba16e, 0x00168b3d}}, Y: Field{[10]uint32{0x029322e2, 0x00001039, 0x01c4fe0c, 0x007dc58f, 0x01a45f8c, 0x03795688, 0x005aeca5, 0x01cb353f, 0x022d32ff, 0x0023c9ef}}}, + {X: Field{[10]uint32{0x03011c99, 0x00acf636, 0x0388f023, 0x00f8c32c, 0x02a87605, 0x01bff13a, 0x0012b27f, 0x0307d810, 0x03e8ef48, 0x00385bc8}}, Y: Field{[10]uint32{0x00c56000, 0x030e43ee, 0x017990e8, 0x03a84d0a, 0x0247ffe3, 0x02f69853, 0x015bb977, 0x0297036a, 0x0152b0af, 0x000657ff}}}, + {X: Field{[10]uint32{0x0124fb84, 0x02f458e1, 0x0145ac1b, 0x00ebfe5a, 0x0228923a, 0x03761ba4, 0x01e4263c, 0x027dc543, 0x00d7ac10, 0x00194d9f}}, Y: Field{[10]uint32{0x0347d731, 0x020d2945, 0x006b68a7, 0x02541a02, 0x00a7687c, 0x03ad3fa3, 0x009b170b, 0x01f75934, 0x01bafbe6, 0x00033c2e}}}, + {X: Field{[10]uint32{0x03d6eac2, 0x03bcd99a, 0x00d54a5c, 0x02723a55, 0x0389da48, 0x01b75991, 0x004228bd, 0x00ee35e9, 0x000b3944, 0x00042a21}}, Y: Field{[10]uint32{0x0261eff2, 0x01f80d31, 0x00a60798, 0x01571384, 0x03d8cc40, 0x03dfeb44, 0x01163ace, 0x01637861, 0x036ee4aa, 0x001ffdbd}}}, + {X: Field{[10]uint32{0x0245d6a0, 0x02c4c9d4, 0x000e1528, 0x03aa46ba, 0x027b1db5, 0x0315dfc5, 0x039d0380, 0x020809ae, 0x00a6c01b, 0x000ffbfa}}, Y: Field{[10]uint32{0x03637b5e, 0x01630e8e, 0x02350ecd, 0x01e9f27f, 0x03a95975, 0x0275a3bf, 0x00a0b543, 0x00512915, 0x01a937e6, 0x002a5b7d}}}, + {X: Field{[10]uint32{0x00052b61, 0x02b68871, 0x00c626c3, 0x03575861, 0x0058595f, 0x01759534, 0x03fb908f, 0x018ba5af, 0x037c0e41, 0x003be4f5}}, Y: Field{[10]uint32{0x03cd0bf5, 0x03efd03c, 0x0066b953, 0x007db35d, 0x01e53526, 0x011745a7, 0x01a23a86, 0x025f1fd6, 0x0385c18d, 0x00100222}}}, + {X: Field{[10]uint32{0x00ca4872, 0x01ef60ac, 0x01d40d62, 0x0335466f, 0x009224a2, 0x025c6df1, 0x01edbd84, 0x0240f521, 0x035eb0fa, 0x003c5e27}}, Y: Field{[10]uint32{0x031a9da8, 0x000587e9, 0x028d0583, 0x0016b6aa, 0x019e36a9, 0x01ec7d28, 0x03570f47, 0x0115fa8b, 0x00b65456, 0x00132117}}}, + {X: Field{[10]uint32{0x009b3274, 0x03313533, 0x004bfff3, 0x02422a1c, 0x00641938, 0x0353907c, 0x000d15ba, 0x017b4083, 0x0388ebc7, 0x00342ec5}}, Y: Field{[10]uint32{0x022a7641, 0x02aeffc8, 0x022fd8f7, 0x0091137d, 0x0143ac55, 0x00199992, 0x02877963, 0x009fd239, 0x00a895a3, 0x000e8483}}}, + {X: Field{[10]uint32{0x00e8963a, 0x0337df37, 0x0005a3fa, 0x0186bae6, 0x022f05e4, 0x00844350, 0x02aab317, 0x01eb9935, 0x010cf780, 0x000592b0}}, Y: Field{[10]uint32{0x02549b69, 0x037166fa, 0x032093f9, 0x0098c07c, 0x009b6dca, 0x0127e63f, 0x01d6f858, 0x037642ec, 0x03d440f1, 0x002373d0}}}, + {X: Field{[10]uint32{0x001fbe5f, 0x01b1e0a5, 0x02e40987, 0x00a5ce68, 0x00cd3aca, 0x00a527c3, 0x017dcf89, 0x0038eae1, 0x0165a8e4, 0x003c48b6}}, Y: Field{[10]uint32{0x02447371, 0x03409a36, 0x02257f50, 0x01cb4863, 0x00715043, 0x02d9c2fb, 0x02192d0b, 0x02260de2, 0x039dd9e6, 0x00136652}}}, + {X: Field{[10]uint32{0x008870a8, 0x0050e939, 0x03829662, 0x008605b9, 0x01b975fc, 0x015e07c2, 0x02e2cdbf, 0x02a4a86b, 0x014775e5, 0x002b25c5}}, Y: Field{[10]uint32{0x03c9aa71, 0x010f1c50, 0x03edef89, 0x0373e2ef, 0x0253fff7, 0x01e3725e, 0x03679452, 0x005d0a59, 0x0203795b, 0x000927ed}}}, + {X: Field{[10]uint32{0x01330906, 0x0312174b, 0x03fbdd48, 0x01b8512c, 0x02fb0add, 0x03a721c3, 0x013da811, 0x03f73243, 0x011edfd5, 0x002567b2}}, Y: Field{[10]uint32{0x0257ebdc, 0x02428898, 0x024b9aed, 0x01d4a91c, 0x0229f489, 0x014d617f, 0x01b5ebc6, 0x031d86d8, 0x0128b707, 0x000797b0}}}, + {X: Field{[10]uint32{0x02982859, 0x02ea4f87, 0x028b7c59, 0x02348ed7, 0x003c6abd, 0x01b7827c, 0x03b2d157, 0x0208c915, 0x01d8ed7d, 0x001641e5}}, Y: Field{[10]uint32{0x00576708, 0x014a4b4d, 0x003c0683, 0x008ea760, 0x01a09cb1, 0x011ead0b, 0x0216490a, 0x02210583, 0x02861a3c, 0x0017b74a}}}, + {X: Field{[10]uint32{0x03e0ba9e, 0x005373a8, 0x02555897, 0x02d6fc6e, 0x0348fdb4, 0x032b4541, 0x02178535, 0x00916fb6, 0x03987439, 0x00314dca}}, Y: Field{[10]uint32{0x00bca987, 0x02266c58, 0x035a022e, 0x010e2d92, 0x00767afc, 0x01ada713, 0x01536a54, 0x036e300d, 0x03617159, 0x003e0b42}}}, + {X: Field{[10]uint32{0x035bd38a, 0x013e5b38, 0x01ee1653, 0x00a1f72f, 0x00101611, 0x00c3c9b1, 0x00d20166, 0x032f4fb2, 0x01fcae39, 0x003cf656}}, Y: Field{[10]uint32{0x009b3562, 0x00f3c5eb, 0x016ce160, 0x000fb42b, 0x03da586a, 0x03918051, 0x03e2f97f, 0x009e0cbf, 0x001f8760, 0x00387957}}}, + {X: Field{[10]uint32{0x037fad9e, 0x033b0b94, 0x02cf8dd5, 0x010fe2a4, 0x0103a280, 0x0226c193, 0x023d9604, 0x038de0af, 0x036ebe3c, 0x00248af1}}, Y: Field{[10]uint32{0x01122109, 0x0302657d, 0x02b54352, 0x016f440c, 0x00116fbf, 0x006a5486, 0x00b9ea75, 0x03bf688c, 0x03572508, 0x002cc667}}}, + {X: Field{[10]uint32{0x01f0360d, 0x00e1cd36, 0x00a1299a, 0x02236ebf, 0x022c461d, 0x001c2b32, 0x02b1df08, 0x00b255e6, 0x01407a6d, 0x001171f7}}, Y: Field{[10]uint32{0x03e85ac4, 0x01349799, 0x00e73264, 0x029a983a, 0x02d076eb, 0x03765bd2, 0x03c4e044, 0x01a7b5b0, 0x015b5f24, 0x000e85e1}}}, + {X: Field{[10]uint32{0x0159bacb, 0x038b49ae, 0x00d5b33e, 0x02787c24, 0x00f1af5c, 0x01104705, 0x0189a5b7, 0x02c028f7, 0x0198dfd4, 0x001908b6}}, Y: Field{[10]uint32{0x037a3bb7, 0x03df6240, 0x03a09cdb, 0x01f1c0ee, 0x03376f59, 0x01dbd6cf, 0x018cea22, 0x0062864f, 0x03344912, 0x00388d63}}}, + {X: Field{[10]uint32{0x00b0535c, 0x03320b31, 0x01a6f535, 0x033c14d9, 0x0295b1a3, 0x00afdb07, 0x00640f19, 0x01b45469, 0x02143319, 0x00238120}}, Y: Field{[10]uint32{0x017c34ce, 0x023bd43a, 0x00e65b63, 0x02562ea5, 0x00200121, 0x017d56a8, 0x0282ee53, 0x00b1567c, 0x033a1f65, 0x0035b4b5}}}, + {X: Field{[10]uint32{0x024a79bb, 0x001c27f9, 0x002c4a1c, 0x003c0575, 0x02b8a708, 0x0049184f, 0x025a9e17, 0x00bc3e28, 0x01a8b5eb, 0x00168acf}}, Y: Field{[10]uint32{0x0386e6b7, 0x01fc622f, 0x00cd4422, 0x0209ae09, 0x01a6435a, 0x03be7629, 0x0095f8e6, 0x02abf9b7, 0x011deb54, 0x00181f1e}}}, + {X: Field{[10]uint32{0x02cd7ccf, 0x034b573d, 0x0213e1a0, 0x0000f377, 0x01c5296e, 0x0082afd2, 0x00f3d912, 0x005299d4, 0x03a35cf6, 0x00050d61}}, Y: Field{[10]uint32{0x02a653d7, 0x00bcb7e1, 0x0201b662, 0x01f0ba0c, 0x0315f14c, 0x011b0d02, 0x021af490, 0x03162d26, 0x01fade6c, 0x00126f21}}}, + {X: Field{[10]uint32{0x00a93193, 0x006f8677, 0x031a3ac8, 0x01f3fc97, 0x01ba357b, 0x03276141, 0x032c4bc8, 0x031d330e, 0x00428737, 0x003c0203}}, Y: Field{[10]uint32{0x023951f1, 0x00970e52, 0x00f0b5cf, 0x0364b289, 0x001c6a5a, 0x01c09f47, 0x03cfe320, 0x019d29f5, 0x019f57bf, 0x002f7404}}}, + {X: Field{[10]uint32{0x01130034, 0x01235417, 0x009cef77, 0x02bab01d, 0x023e162d, 0x0175f109, 0x00b26b68, 0x03fbd0db, 0x0373e547, 0x0021deb8}}, Y: Field{[10]uint32{0x00dfcf5f, 0x03db7c35, 0x00a8e6f9, 0x0054cb97, 0x03e1275e, 0x03c9a328, 0x0156b798, 0x00d06bb6, 0x0095b750, 0x0007c2bd}}}, + {X: Field{[10]uint32{0x00e619d4, 0x03caae7a, 0x02ca0d1d, 0x00182dce, 0x03e55f07, 0x01a689cb, 0x016a0714, 0x03286232, 0x036f0635, 0x00290637}}, Y: Field{[10]uint32{0x02f754e3, 0x03ff3580, 0x00856525, 0x0061a52e, 0x002e7558, 0x0296d646, 0x0099a6da, 0x009383f9, 0x01bb5bbb, 0x000ac1b3}}}, + {X: Field{[10]uint32{0x02aedeab, 0x001d8de8, 0x029671d9, 0x00253ad4, 0x00114dc2, 0x0131ec2d, 0x02dce4f4, 0x02eb4897, 0x0174bb6f, 0x0013084f}}, Y: Field{[10]uint32{0x03970b51, 0x0037dce7, 0x01be0e48, 0x03ec81b1, 0x01402fb5, 0x022bea73, 0x012c7d54, 0x0170561d, 0x039fccc6, 0x001d06fb}}}, + {X: Field{[10]uint32{0x00deb13a, 0x02dc1588, 0x01bff0ec, 0x030eed33, 0x032cf93b, 0x02240046, 0x014073a4, 0x03946c6a, 0x02fd3f94, 0x0028de41}}, Y: Field{[10]uint32{0x00e6030a, 0x028b59cc, 0x02332f01, 0x0376252a, 0x008a8a16, 0x00cc52dc, 0x00d5e552, 0x026c7461, 0x00b1c14a, 0x001828ec}}}, + {X: Field{[10]uint32{0x01e72301, 0x013b1353, 0x0225c5e8, 0x02396e14, 0x02d6d652, 0x01aed194, 0x038ae3d2, 0x02bd4592, 0x02ed639e, 0x000b19df}}, Y: Field{[10]uint32{0x03ee832a, 0x006e7fc1, 0x0278eaca, 0x00c4ecb4, 0x005fe639, 0x02b01f09, 0x0389240c, 0x01f2e85f, 0x0006d3bb, 0x0037c393}}}, + {X: Field{[10]uint32{0x017e77b4, 0x0077d2df, 0x009395d6, 0x02c33eb2, 0x01684473, 0x02c07000, 0x035fc3c5, 0x01af940c, 0x0014eaf8, 0x002d547e}}, Y: Field{[10]uint32{0x0246664b, 0x026738c1, 0x00bb1bd3, 0x03984693, 0x038818b6, 0x012b879f, 0x033f923b, 0x0057e0c0, 0x03354697, 0x002a5e72}}}, + {X: Field{[10]uint32{0x01f45c39, 0x020851b7, 0x01984fba, 0x02a1d050, 0x012cd47b, 0x0037c31c, 0x0361ad74, 0x0013abc7, 0x03185c8c, 0x00263571}}, Y: Field{[10]uint32{0x00050804, 0x034ae928, 0x01bc5b36, 0x00b10a3d, 0x019d4a8e, 0x007b3aa2, 0x02f88f5f, 0x01fb083a, 0x01915c73, 0x002b2949}}}, + {X: Field{[10]uint32{0x00cefc7c, 0x008f8ae5, 0x03bc9a0b, 0x021bbe3e, 0x02ed1e13, 0x03ef3318, 0x00104854, 0x02d949a3, 0x02f7260f, 0x00145238}}, Y: Field{[10]uint32{0x03ca2500, 0x01c914a9, 0x016e1296, 0x00581f2a, 0x039e9b27, 0x0068236e, 0x024a8ccb, 0x0292616e, 0x012d35de, 0x00196d37}}}, + {X: Field{[10]uint32{0x020e753c, 0x03a44c63, 0x031daf91, 0x01f260b7, 0x00a08a22, 0x02fad145, 0x0240cccb, 0x019042e2, 0x01c18c9d, 0x0004b1a6}}, Y: Field{[10]uint32{0x032fcc99, 0x0008b624, 0x028e120b, 0x01a013b4, 0x004889e9, 0x00145ba2, 0x029a1975, 0x015c90d1, 0x004289b5, 0x001f654f}}}, + {X: Field{[10]uint32{0x020a8d20, 0x01a75204, 0x02c639dc, 0x01e540e6, 0x02134e44, 0x03aec8c4, 0x02ecac37, 0x010046cd, 0x03f8a773, 0x0013434f}}, Y: Field{[10]uint32{0x0144ec64, 0x025816c0, 0x02a57397, 0x00a7c2c3, 0x03960b3d, 0x025fc85c, 0x00f10261, 0x013180f1, 0x03a0e098, 0x003b7fc5}}}, + {X: Field{[10]uint32{0x0136e42d, 0x00941855, 0x03be4481, 0x036606a7, 0x03ccb069, 0x019a0cdb, 0x01b0985a, 0x01e9c6a4, 0x030b3e7b, 0x0033a42d}}, Y: Field{[10]uint32{0x01569000, 0x00e91e01, 0x01e672e6, 0x039915fc, 0x00d3af73, 0x021d581b, 0x00640ca2, 0x03ab5d49, 0x015612e0, 0x002337a7}}}, + {X: Field{[10]uint32{0x0163b2d8, 0x03124c41, 0x0297e360, 0x02c720ef, 0x00d197f5, 0x034bea42, 0x03bf9851, 0x021e7667, 0x03276bb1, 0x000a31e4}}, Y: Field{[10]uint32{0x00643868, 0x02125b3b, 0x010857c1, 0x00f8cf64, 0x03bc0f3e, 0x03873ef8, 0x02b10f6a, 0x02d5196d, 0x0240e2f3, 0x00322513}}}, + {X: Field{[10]uint32{0x03442443, 0x03fa94f9, 0x006659a1, 0x02021f4c, 0x03864d4c, 0x016dc1fc, 0x00c2b6b5, 0x033c0601, 0x01062413, 0x001b8b6b}}, Y: Field{[10]uint32{0x029430e0, 0x000d77c4, 0x01f7dc4c, 0x00a10d10, 0x02497bc0, 0x02703f8d, 0x021fba73, 0x01a450c2, 0x0064e05d, 0x0027699f}}}, + {X: Field{[10]uint32{0x004d20fe, 0x016dc923, 0x0254f871, 0x022248fb, 0x0119f261, 0x037d0dfe, 0x034d03df, 0x00e51b10, 0x02c80376, 0x002fbe52}}, Y: Field{[10]uint32{0x031e25db, 0x033b5500, 0x038aaee7, 0x01cf39f8, 0x02386484, 0x02578501, 0x0383032e, 0x007719be, 0x0134e5fc, 0x00348c91}}}, + {X: Field{[10]uint32{0x018e433d, 0x033b6be0, 0x01125918, 0x0190f517, 0x009b7d86, 0x003c994f, 0x0166a24c, 0x01707728, 0x0057f1b4, 0x0014d523}}, Y: Field{[10]uint32{0x010c3b44, 0x024e013c, 0x0240db6a, 0x0170f2b5, 0x01c36aec, 0x00c2c4ea, 0x01307e21, 0x001fe700, 0x0146f0c2, 0x003304e2}}}, + {X: Field{[10]uint32{0x00b5867e, 0x01bfd001, 0x0188f90f, 0x02aff51e, 0x012aee71, 0x022dc8fb, 0x00b0e09b, 0x0324053a, 0x03847f25, 0x001ff53d}}, Y: Field{[10]uint32{0x00a1bd9d, 0x0174899d, 0x0297641b, 0x0234dd7e, 0x0358eec1, 0x01b900b6, 0x0205805a, 0x004ab659, 0x02bc901f, 0x003ff0f7}}}, + {X: Field{[10]uint32{0x0397dd9d, 0x031e7e94, 0x003ccd3d, 0x03da72e2, 0x03d4251b, 0x036411bb, 0x0062424c, 0x0226d127, 0x027e4997, 0x001112a2}}, Y: Field{[10]uint32{0x03b30282, 0x03117936, 0x03f828f7, 0x0106fce4, 0x02abbe8e, 0x002355b0, 0x028c7757, 0x02c0802b, 0x003b3356, 0x0013317c}}}, + {X: Field{[10]uint32{0x0326bd8b, 0x0033aa15, 0x02bc1acb, 0x019e398a, 0x0204af8c, 0x0108071e, 0x0294bd0a, 0x01897481, 0x007784d8, 0x003fc172}}, Y: Field{[10]uint32{0x0196eeb3, 0x030b79ea, 0x012d906e, 0x028242f4, 0x02a55f6a, 0x02fa613b, 0x025a0b5c, 0x01894f3e, 0x00ce6ac2, 0x001f3c3a}}}, + {X: Field{[10]uint32{0x027e4ab2, 0x020ce6b7, 0x027c679b, 0x001223c2, 0x00e29f47, 0x00ff649d, 0x0094ea08, 0x006daf3a, 0x03ae6aa3, 0x00203f7d}}, Y: Field{[10]uint32{0x0152fb75, 0x01b9828e, 0x018fe3f4, 0x02fc2f79, 0x0249e066, 0x03515d71, 0x004a8b4b, 0x009d158d, 0x017b1696, 0x001df5cc}}}, + {X: Field{[10]uint32{0x01879214, 0x012bab50, 0x01589685, 0x01edfad2, 0x03ef2022, 0x0035dcb5, 0x0020a74f, 0x001f2b54, 0x00c810a3, 0x002b0e29}}, Y: Field{[10]uint32{0x035016ac, 0x034b3a87, 0x01213c7c, 0x02acd057, 0x00d75ecf, 0x00b88a7b, 0x02f77ca9, 0x01616105, 0x00bb3c67, 0x003d2713}}}, + {X: Field{[10]uint32{0x01f75514, 0x02445569, 0x036fea26, 0x00d77a6a, 0x013a90a4, 0x03d40bc6, 0x0162f408, 0x00098bf5, 0x02ddf1e1, 0x002cdcdb}}, Y: Field{[10]uint32{0x015a78c8, 0x020c15eb, 0x027514e4, 0x037995fb, 0x000eafa2, 0x02856b83, 0x01cb0682, 0x00d4f3c0, 0x03aff190, 0x0020633b}}}, + {X: Field{[10]uint32{0x010dc295, 0x00e2cccc, 0x0322f127, 0x03d73ed9, 0x03e698d4, 0x031aa16a, 0x03f6d5ea, 0x03045ad5, 0x0212d100, 0x0019b59f}}, Y: Field{[10]uint32{0x00a05dd3, 0x0097fa85, 0x0318fd4e, 0x0318cb5c, 0x02685fae, 0x026ef5fa, 0x0208ea70, 0x0269534d, 0x021f3a0c, 0x0027353e}}}, + {X: Field{[10]uint32{0x02b59043, 0x011c4d4f, 0x0333eb87, 0x01ae9ee6, 0x029fa10c, 0x01bb37c2, 0x02eb6514, 0x0392136a, 0x035f756a, 0x002e15b5}}, Y: Field{[10]uint32{0x01cb0a38, 0x0069f6e2, 0x004c4b04, 0x0071c9ca, 0x026566da, 0x037c91bc, 0x03a177d8, 0x0259252c, 0x02b12f24, 0x00172150}}}, + {X: Field{[10]uint32{0x01c47d27, 0x014a547e, 0x01548afc, 0x017ee165, 0x03c736b1, 0x01869950, 0x00142cd6, 0x008e4d16, 0x03d70320, 0x0001a0ef}}, Y: Field{[10]uint32{0x022de166, 0x018d045d, 0x01746b41, 0x028a3653, 0x02420387, 0x031a3365, 0x0029f84a, 0x037c9945, 0x0240f5db, 0x00243d4a}}}, + {X: Field{[10]uint32{0x032923c2, 0x003e2a46, 0x018963d0, 0x029fe25d, 0x0141ee1c, 0x00ce8250, 0x00959345, 0x0079944e, 0x01f0811e, 0x000bfaa8}}, Y: Field{[10]uint32{0x00499c1a, 0x00e843fa, 0x0202b07e, 0x0081f41b, 0x03690d18, 0x039bb87b, 0x03701c35, 0x03500575, 0x0176b884, 0x00277602}}}, + {X: Field{[10]uint32{0x0287cda4, 0x001ed608, 0x0009780e, 0x02a86a5a, 0x01847070, 0x01134833, 0x0365e9b1, 0x02ebcea5, 0x0137da9e, 0x0033994a}}, Y: Field{[10]uint32{0x001ba572, 0x00c87cc1, 0x01b6801b, 0x00dbade8, 0x00454e17, 0x0279eba1, 0x01db3782, 0x00b6f96a, 0x03fb5f15, 0x0030711b}}}, + {X: Field{[10]uint32{0x00976211, 0x017f9a1e, 0x008a84fd, 0x02dac137, 0x03556087, 0x01d42f71, 0x03f9738a, 0x018feeac, 0x03d91701, 0x00269a56}}, Y: Field{[10]uint32{0x02aeda70, 0x0273c48f, 0x03c27d0c, 0x00b5935a, 0x010dce26, 0x02521a36, 0x002b1332, 0x03361669, 0x01f375ac, 0x003d02e8}}}, + {X: Field{[10]uint32{0x0134ba44, 0x034c88ef, 0x00ec718c, 0x0285d55e, 0x035908b0, 0x03936930, 0x02bd6d09, 0x020fb2fe, 0x0368bd30, 0x00396eab}}, Y: Field{[10]uint32{0x03a27fb0, 0x03bee642, 0x03dbce4d, 0x011aa6be, 0x005feb7f, 0x028fa1a9, 0x0076d0ed, 0x030f0541, 0x01f0365c, 0x002ae194}}}, + {X: Field{[10]uint32{0x03e59cc7, 0x00ddb63f, 0x0104ce06, 0x0322fd8f, 0x03dd0c4d, 0x01fb87f6, 0x033530bb, 0x03f9df63, 0x02a2b507, 0x000b09b3}}, Y: Field{[10]uint32{0x0230d62e, 0x002da739, 0x0004a500, 0x030abbf0, 0x03c30a1c, 0x016114a5, 0x0367151b, 0x00fae6c2, 0x03af54d0, 0x002cd138}}}, + {X: Field{[10]uint32{0x00bbd0e4, 0x00527d72, 0x027a3c2a, 0x02701ff2, 0x024d5333, 0x0281f8bd, 0x01eadaf0, 0x00b98623, 0x039f52af, 0x001f19d4}}, Y: Field{[10]uint32{0x009067c9, 0x039cfa4c, 0x0303896e, 0x02f986d8, 0x03df7a2c, 0x01990bb1, 0x02cc97ec, 0x0244d813, 0x02fdc21c, 0x000fe61c}}}, + {X: Field{[10]uint32{0x02249574, 0x02b7072a, 0x01aab8f9, 0x013dd080, 0x00334561, 0x00769c72, 0x02e1d17e, 0x002f24ed, 0x012dec8b, 0x0012d777}}, Y: Field{[10]uint32{0x02c5460b, 0x02cdaa2a, 0x03d695df, 0x0155b957, 0x036e16e7, 0x00aa169a, 0x00d18b3d, 0x03bf6d0d, 0x02dcaa3e, 0x0033eb68}}}, + {X: Field{[10]uint32{0x00d80e4b, 0x02f0d6e2, 0x03e59216, 0x0200bac2, 0x00f9bb66, 0x01cea13e, 0x0266edb8, 0x0020d61a, 0x02f2ccfc, 0x0035dd70}}, Y: Field{[10]uint32{0x0053ddbb, 0x02ce933f, 0x01ea765b, 0x015e444d, 0x02ff56ca, 0x025902a1, 0x02aa0b51, 0x0088c73d, 0x01b7988a, 0x00322976}}}, + {X: Field{[10]uint32{0x00d9bb4a, 0x0200ea6f, 0x014dcd3c, 0x01ec0dab, 0x00b005b0, 0x00f70f69, 0x001d9844, 0x003e77ec, 0x03097881, 0x001c68f3}}, Y: Field{[10]uint32{0x03caaa55, 0x00c41002, 0x01f5a1ad, 0x01362627, 0x01bd4a3c, 0x0185eb55, 0x000c5b39, 0x00c06e59, 0x02217db0, 0x0022aae3}}}, + {X: Field{[10]uint32{0x011f53b7, 0x03a2ec66, 0x00d3fdde, 0x00160970, 0x02a82f7d, 0x035de3bd, 0x00596ae3, 0x025b9880, 0x005492b6, 0x002f1c68}}, Y: Field{[10]uint32{0x029a2a15, 0x02abd85c, 0x03b52b07, 0x00db9003, 0x00d11255, 0x018c2a42, 0x03744600, 0x02e362c4, 0x01259785, 0x00055e24}}}, + {X: Field{[10]uint32{0x00847abc, 0x0247193f, 0x01f7e6f8, 0x002f1ade, 0x00e8d94a, 0x003d8396, 0x001ec81a, 0x02ff73ee, 0x0119ee62, 0x00274882}}, Y: Field{[10]uint32{0x02d0c675, 0x002f1f9b, 0x02a16e53, 0x03229efe, 0x0075f3a7, 0x027d3a53, 0x03fe8865, 0x00f0ae37, 0x039b1a07, 0x0020524d}}}, + {X: Field{[10]uint32{0x03f33425, 0x0230cfbb, 0x016e5c6c, 0x006d38da, 0x00d25bff, 0x038eb565, 0x030c6c91, 0x02f4668c, 0x026ad30b, 0x0020da5d}}, Y: Field{[10]uint32{0x02e79e4a, 0x02562e5c, 0x008a4e4b, 0x0236185f, 0x038ed5d2, 0x0087df6b, 0x00970d9c, 0x015d7216, 0x0282b3f4, 0x00289fdd}}}, + {X: Field{[10]uint32{0x00542451, 0x02cba2c8, 0x00ab457d, 0x02b4735a, 0x03e91f51, 0x021fed09, 0x00d36b54, 0x03aaac6a, 0x00750e4a, 0x001389de}}, Y: Field{[10]uint32{0x026566e0, 0x014083a8, 0x0123e763, 0x0036a3e1, 0x02d138fd, 0x0054a951, 0x02bf1d2a, 0x012e07e5, 0x03655bbc, 0x0027ebbf}}}, + {X: Field{[10]uint32{0x01a0d2fa, 0x024408ce, 0x036b108b, 0x0306c84c, 0x01825046, 0x009816a4, 0x028d2027, 0x03ffcc39, 0x03b51b9d, 0x0009fe41}}, Y: Field{[10]uint32{0x012d4a15, 0x035ec301, 0x0068acbf, 0x0167ff10, 0x000105f4, 0x03571276, 0x004bf3dd, 0x00d803ee, 0x01c36cb1, 0x00045489}}}, + {X: Field{[10]uint32{0x02b1fab3, 0x010bbb55, 0x0281864b, 0x02a3cf35, 0x02ef0900, 0x007dc3c5, 0x03ff42d4, 0x01d3110d, 0x03206506, 0x001b67fa}}, Y: Field{[10]uint32{0x03a02065, 0x015d3483, 0x02444f60, 0x0000e6a8, 0x035f7f7b, 0x014ebe8e, 0x015f8576, 0x00f070b9, 0x03ecd82b, 0x0020b365}}}, + {X: Field{[10]uint32{0x0187bfac, 0x03cb3de0, 0x03558857, 0x02f4ef45, 0x01ecb9cd, 0x00a139ca, 0x01c3b363, 0x019a74d8, 0x02b43360, 0x00226074}}, Y: Field{[10]uint32{0x00d48498, 0x01b5e05c, 0x0245a3e8, 0x018db09d, 0x000216b2, 0x0053b357, 0x011bf736, 0x0174761e, 0x0327d5a4, 0x0006e6ba}}}, + {X: Field{[10]uint32{0x02e1d72e, 0x026169dc, 0x010ce9c5, 0x0215b4f0, 0x02816916, 0x01fa4b38, 0x0140d557, 0x0347f895, 0x0118e47a, 0x0021299d}}, Y: Field{[10]uint32{0x01631658, 0x0294d071, 0x03356dc8, 0x0389a67b, 0x0016ca04, 0x0312dcff, 0x0011777d, 0x00ba8b9b, 0x03af8507, 0x0034f2e4}}}, + {X: Field{[10]uint32{0x00a8c683, 0x030a346b, 0x03418d50, 0x0376e77e, 0x007e666c, 0x0196999d, 0x00111e2e, 0x033ddd43, 0x035672a6, 0x0034f999}}, Y: Field{[10]uint32{0x02556dd9, 0x027eb8e9, 0x023f0735, 0x016f7441, 0x034e2e81, 0x008cfe0f, 0x01aca5d8, 0x031b0ead, 0x00aa20e5, 0x001dddbb}}}, + {X: Field{[10]uint32{0x01b87bba, 0x00b6ce19, 0x03c4af7b, 0x02129a3b, 0x02522a76, 0x0394958f, 0x00e76b5e, 0x015a2201, 0x01ef71d4, 0x003b7a5f}}, Y: Field{[10]uint32{0x01ae702f, 0x01eda4bf, 0x03513758, 0x023eddfa, 0x0285bafb, 0x01d62a03, 0x02279f95, 0x0049d982, 0x020f0c9c, 0x0024b9b4}}}, + {X: Field{[10]uint32{0x02e8c871, 0x0282e73a, 0x006ed025, 0x021091eb, 0x036ff84f, 0x00c4b9c0, 0x03db3ae2, 0x01213b3d, 0x0142e000, 0x000cd678}}, Y: Field{[10]uint32{0x021cdf66, 0x019be774, 0x0377f871, 0x0024db90, 0x00d00ada, 0x00e76fca, 0x00c98bf7, 0x017e87ce, 0x01f23c84, 0x0019ec0e}}}, + {X: Field{[10]uint32{0x022b44a1, 0x018b1f84, 0x0158f8fd, 0x02bb3c36, 0x0196f675, 0x00245295, 0x014a3dc4, 0x000bf499, 0x01720c05, 0x0038342a}}, Y: Field{[10]uint32{0x036b0312, 0x01ef51d5, 0x021718db, 0x00b46c47, 0x033ee29e, 0x03684640, 0x03d916ed, 0x0169faef, 0x01bc3457, 0x00032fac}}}, + {X: Field{[10]uint32{0x01a4c987, 0x01f7e108, 0x02605939, 0x00676368, 0x014f3320, 0x007d757b, 0x0031ac7a, 0x01dc1190, 0x03675df7, 0x00142e24}}, Y: Field{[10]uint32{0x0292f293, 0x013ccd74, 0x01204cb0, 0x014cf67b, 0x0045c382, 0x01b5bfc3, 0x009c3f25, 0x0327ae82, 0x0181063e, 0x00311d97}}}, + {X: Field{[10]uint32{0x016d446a, 0x0390cb73, 0x0111391c, 0x02f9073a, 0x037f80cb, 0x03e3a048, 0x01e84e99, 0x017fdbc8, 0x018e6677, 0x0017718b}}, Y: Field{[10]uint32{0x0373a9c2, 0x01bac505, 0x01de99ad, 0x02fc497d, 0x00b020ca, 0x0058ff57, 0x021cdabd, 0x011695db, 0x037de270, 0x0012d15a}}}, + {X: Field{[10]uint32{0x02c10971, 0x0353e588, 0x01b03fdc, 0x01f88bbf, 0x004e56ba, 0x0241c430, 0x0232e187, 0x00611749, 0x038fc792, 0x0022e85d}}, Y: Field{[10]uint32{0x023e3854, 0x031ebd8f, 0x00c53f48, 0x03a23d06, 0x0048ffeb, 0x025c1c9a, 0x01d7d435, 0x025962ce, 0x00ffa835, 0x0007cc7f}}}, + {X: Field{[10]uint32{0x00db9fc7, 0x03681b02, 0x0294be7a, 0x00aeea2d, 0x02999a10, 0x02fe6042, 0x03ad055f, 0x029eef9a, 0x02147d1e, 0x0028e851}}, Y: Field{[10]uint32{0x006ac294, 0x01fab0e2, 0x03d57a69, 0x01ec69c9, 0x00b3bdb8, 0x014c7ff3, 0x00cd6eb3, 0x004a108f, 0x0331d432, 0x0032609d}}}, + {X: Field{[10]uint32{0x00af78f5, 0x03470bf8, 0x0328621a, 0x03d93637, 0x01f6ce1a, 0x00d9a0b1, 0x01671c44, 0x00d2ab20, 0x0047bd20, 0x0025882a}}, Y: Field{[10]uint32{0x01826e1c, 0x03855553, 0x01f0d099, 0x0017a256, 0x016168a2, 0x0055af37, 0x007e32f4, 0x037ffb2d, 0x0108a7e3, 0x0038731b}}}, + {X: Field{[10]uint32{0x0396016b, 0x03663881, 0x016eebc9, 0x01f16126, 0x0395b2c5, 0x012363ff, 0x00b6a52c, 0x01a9e4fc, 0x02a0aa7d, 0x00290361}}, Y: Field{[10]uint32{0x02351ea2, 0x03365402, 0x0087396e, 0x02d117d1, 0x00062911, 0x009585f6, 0x014c15cb, 0x0119b6b6, 0x00e2d453, 0x003b1535}}}, + {X: Field{[10]uint32{0x03484c80, 0x0241de6c, 0x02fbd5ed, 0x03a6e993, 0x037e5f40, 0x01d1661b, 0x0173b979, 0x009a295d, 0x01a6f60f, 0x001c7bcd}}, Y: Field{[10]uint32{0x038a1ba3, 0x0058ded3, 0x01669875, 0x00f2f91d, 0x0302f369, 0x03d69ab5, 0x037df7f6, 0x01642b15, 0x021e9ff3, 0x003aaffe}}}, + {X: Field{[10]uint32{0x00f68de2, 0x031db5e9, 0x0267486f, 0x02fbc40f, 0x005308ab, 0x017dc256, 0x01ffa52c, 0x028ecb92, 0x0008c742, 0x002ef469}}, Y: Field{[10]uint32{0x01246124, 0x002d86d7, 0x0079a2ac, 0x00201428, 0x01ee6e1e, 0x01cca116, 0x00fbe96c, 0x0384f86c, 0x03ec9d07, 0x00125072}}}, + {X: Field{[10]uint32{0x00ba9009, 0x03c7e7a1, 0x012ab433, 0x03fe5613, 0x03805d60, 0x00b226d7, 0x009c92ff, 0x01b7d4f8, 0x03389211, 0x0005a7af}}, Y: Field{[10]uint32{0x03c6228d, 0x000d6641, 0x02a08345, 0x01247a4c, 0x02c997d1, 0x03c77923, 0x01b5adeb, 0x01fb8560, 0x0116e766, 0x002453d5}}}, + {X: Field{[10]uint32{0x00666acc, 0x01d40b3e, 0x020c3977, 0x02781313, 0x01d71c8d, 0x02436391, 0x00115458, 0x031fefab, 0x02bc4c5e, 0x0023c55e}}, Y: Field{[10]uint32{0x03f25908, 0x00604e0f, 0x021bc635, 0x0026260b, 0x02014dc7, 0x000af28f, 0x019883e6, 0x02a7ee62, 0x02ba1e78, 0x0035055d}}}, + {X: Field{[10]uint32{0x00ec9a8d, 0x03632d6d, 0x0010091e, 0x024e53ee, 0x0284f71f, 0x026801b6, 0x00ebcd83, 0x009b7001, 0x00d5694b, 0x002334ce}}, Y: Field{[10]uint32{0x00002578, 0x03b34874, 0x03d952a6, 0x00d30809, 0x0303fd9d, 0x015192ac, 0x000eccf4, 0x0366e702, 0x0010dd88, 0x00100c63}}}, + {X: Field{[10]uint32{0x013272f2, 0x003b8f8a, 0x02e28cbf, 0x030a5224, 0x03a64748, 0x012b5d83, 0x036171af, 0x02e8a834, 0x022f7ba5, 0x0008391f}}, Y: Field{[10]uint32{0x03be00bd, 0x00549519, 0x020a771b, 0x03e1db1c, 0x03162dda, 0x02279099, 0x00520897, 0x02608570, 0x022056b8, 0x002e5ab4}}}, + {X: Field{[10]uint32{0x032bb880, 0x032d7997, 0x015793f3, 0x031bfefc, 0x02f9c31e, 0x03d0477b, 0x02942d11, 0x023e736d, 0x00a5a0d3, 0x00160bb6}}, Y: Field{[10]uint32{0x03ce8486, 0x03d1e580, 0x02352a4c, 0x0248d29b, 0x02948ea8, 0x012ebd2f, 0x00a8db56, 0x0274f7b1, 0x000e4f9d, 0x000524a3}}}, + {X: Field{[10]uint32{0x001896d6, 0x03ac6d18, 0x01e7b877, 0x022db47d, 0x03b0bcab, 0x023011ba, 0x03daf30b, 0x030474fd, 0x019a6e76, 0x003d29bd}}, Y: Field{[10]uint32{0x0070f0c5, 0x0229922c, 0x01abeedc, 0x010792f6, 0x01ccde46, 0x026c5239, 0x01a05d4a, 0x01055956, 0x02e9e5d8, 0x000b4e71}}}, + {X: Field{[10]uint32{0x00957b24, 0x00a6bdcc, 0x0252d2c3, 0x02e31d8e, 0x02fc8564, 0x01588fc1, 0x0266bf01, 0x033d71db, 0x00600f71, 0x000aa083}}, Y: Field{[10]uint32{0x03ff3ca2, 0x0249919d, 0x02d370fd, 0x01f6e655, 0x0236f77f, 0x01401e34, 0x009a1d72, 0x0256679b, 0x0303d742, 0x002ce301}}}, + {X: Field{[10]uint32{0x02e2799e, 0x00612281, 0x03872623, 0x00ef075f, 0x0133634d, 0x001de8ea, 0x01d48026, 0x02fd921c, 0x004e9fcc, 0x00230b67}}, Y: Field{[10]uint32{0x01351a7d, 0x0152162a, 0x02db8d59, 0x01dd8130, 0x03cf032d, 0x02026169, 0x009c534e, 0x02edb631, 0x036cae43, 0x002b5404}}}, + {X: Field{[10]uint32{0x00061ba9, 0x003466dd, 0x004906eb, 0x017eb7f1, 0x03db00d2, 0x00e49d64, 0x00b991e2, 0x02cfb434, 0x00530744, 0x002c63a4}}, Y: Field{[10]uint32{0x033877b6, 0x03faa4ac, 0x002a702f, 0x02e1108c, 0x0343a8aa, 0x02600d34, 0x01edd739, 0x02cb19dc, 0x0244c829, 0x00243d72}}}, + {X: Field{[10]uint32{0x00e835be, 0x01e37347, 0x00109330, 0x01f3d2b1, 0x01d12482, 0x0314efe8, 0x01d2f58c, 0x010d6e41, 0x0157b03d, 0x00033c74}}, Y: Field{[10]uint32{0x0271b459, 0x01b65672, 0x031ab119, 0x037d87ba, 0x003ea656, 0x01147359, 0x0303cf21, 0x031f5a83, 0x01a15547, 0x003b8dea}}}, + {X: Field{[10]uint32{0x014a6007, 0x0358fdf9, 0x004c1562, 0x0347c8be, 0x0192fc13, 0x01bd2f39, 0x021ac36a, 0x02103ecb, 0x018ad91a, 0x002362e7}}, Y: Field{[10]uint32{0x03842dba, 0x006d1ac2, 0x02ee1ce6, 0x03851f39, 0x01ee9227, 0x00e6af7b, 0x020ec3b4, 0x023cb76b, 0x024393ca, 0x00254a2f}}}, + {X: Field{[10]uint32{0x0087fc9d, 0x006d18ff, 0x0106f256, 0x02387569, 0x037ae04a, 0x00366932, 0x02c936fb, 0x02c355c5, 0x0144bbc5, 0x001812d5}}, Y: Field{[10]uint32{0x016ac8eb, 0x00649528, 0x01d8a3e3, 0x01bc41a8, 0x03ee3cde, 0x034f67b6, 0x001e5fe7, 0x029b9d07, 0x039c4fb9, 0x000cff8b}}}, + {X: Field{[10]uint32{0x03aed8f6, 0x030245be, 0x03e5309e, 0x0191e567, 0x02cbd16d, 0x02785328, 0x017aab74, 0x03b91181, 0x00141058, 0x000f9fb5}}, Y: Field{[10]uint32{0x012e79fc, 0x00915a25, 0x006481ba, 0x01860bc6, 0x01f66bd3, 0x00280574, 0x01aa6971, 0x031b8324, 0x024186de, 0x003f056c}}}, + {X: Field{[10]uint32{0x0143f326, 0x034149de, 0x00f26736, 0x01a531a7, 0x0126e46f, 0x01b3d0b0, 0x01242431, 0x01ee2b25, 0x003586c1, 0x00342b9d}}, Y: Field{[10]uint32{0x034e0757, 0x007386fd, 0x0304b197, 0x00fa2ed7, 0x00fbaca0, 0x02fdada7, 0x0398865a, 0x01622b50, 0x01e8b983, 0x002fe80b}}}, + {X: Field{[10]uint32{0x00be1441, 0x0147ae62, 0x0197f5f8, 0x01967781, 0x023627bc, 0x014e02b7, 0x02ce2f94, 0x010f8df9, 0x01ced4f3, 0x003bd701}}, Y: Field{[10]uint32{0x00103281, 0x0031865d, 0x036350d6, 0x030ab527, 0x01b681e7, 0x012ba388, 0x010e40b7, 0x03c678ef, 0x001b0379, 0x0036499f}}}, + {X: Field{[10]uint32{0x008f49ae, 0x01921917, 0x038ca8dc, 0x01971efc, 0x03d7cf42, 0x02c2766b, 0x033015c3, 0x022b65f1, 0x03ebd799, 0x0005dae3}}, Y: Field{[10]uint32{0x0122f1b4, 0x0086fce1, 0x034c5fc8, 0x017a8053, 0x017f989f, 0x019db1e0, 0x00da1905, 0x03268da7, 0x024c8267, 0x002d2f2f}}}, + {X: Field{[10]uint32{0x0116c3dd, 0x00e9d9af, 0x03a0097b, 0x0374d50b, 0x03b20771, 0x02db698b, 0x0358d69f, 0x03053bae, 0x03db0cff, 0x00223da0}}, Y: Field{[10]uint32{0x011cb601, 0x03fdc607, 0x02219f52, 0x025aca5c, 0x020cf800, 0x0094add3, 0x02797ca0, 0x000f1499, 0x03de8121, 0x0002efbc}}}, + {X: Field{[10]uint32{0x0237abaa, 0x03f88e3d, 0x00854dd1, 0x0208c7ee, 0x018488b0, 0x00f59e24, 0x00c4121c, 0x03b113f6, 0x038f1247, 0x00299750}}, Y: Field{[10]uint32{0x023f36a3, 0x012a0be6, 0x00986d4d, 0x0257743f, 0x034bb500, 0x0131dc6b, 0x01cf3c0b, 0x010cff7f, 0x004e551e, 0x0017d972}}}, + {X: Field{[10]uint32{0x0398cc27, 0x0169a818, 0x03d2ff6a, 0x02e40a20, 0x02d5cdda, 0x03c565f1, 0x0208148a, 0x022edfdf, 0x0251c502, 0x002f5a9f}}, Y: Field{[10]uint32{0x0059d885, 0x02dc3d9e, 0x02f662dd, 0x01369dbb, 0x030c1ed1, 0x026a63a4, 0x0397979b, 0x03748ba2, 0x00c4247c, 0x000fc8a0}}}, + {X: Field{[10]uint32{0x009d274b, 0x00468264, 0x02202344, 0x02b1d34d, 0x0158f7a3, 0x01440514, 0x031814ec, 0x02837152, 0x036c2896, 0x00299c90}}, Y: Field{[10]uint32{0x03c2ec3f, 0x03f3b3af, 0x02654a7a, 0x02765590, 0x02c81f3d, 0x02b6b795, 0x02acea6b, 0x01e3656e, 0x02934681, 0x0037ba00}}}, + {X: Field{[10]uint32{0x003a24b0, 0x0380de7c, 0x004bc8d9, 0x02a4c844, 0x0257891b, 0x01f4b6a9, 0x01b0993d, 0x03433c6b, 0x01fed3a1, 0x003283d5}}, Y: Field{[10]uint32{0x023cfa6f, 0x010f9bd6, 0x0399db58, 0x020e59c4, 0x03520166, 0x02f2a363, 0x0188baae, 0x00b73645, 0x00e46346, 0x0037006e}}}, + {X: Field{[10]uint32{0x036429a1, 0x03c2d712, 0x034ccb91, 0x029fa831, 0x02211843, 0x02cbf881, 0x004961cc, 0x00087815, 0x008d9bff, 0x001843fc}}, Y: Field{[10]uint32{0x01d46b28, 0x01d82fb4, 0x020dd9b0, 0x00d8d7c5, 0x02d889bc, 0x03f34f84, 0x03daee68, 0x017e9f6a, 0x018aee96, 0x0012f8ec}}}, + {X: Field{[10]uint32{0x01ff42ae, 0x03318e2a, 0x0162238f, 0x032588b7, 0x026b695d, 0x037e3c28, 0x00f006cd, 0x03b32de3, 0x0215a70a, 0x000b5be0}}, Y: Field{[10]uint32{0x01a3927b, 0x011521e5, 0x010fd3ff, 0x005491b1, 0x037a9887, 0x03543ccd, 0x01e4e5be, 0x0325a798, 0x0164e2a3, 0x0000ff02}}}, + {X: Field{[10]uint32{0x00a1bbbb, 0x00318c22, 0x004ea70b, 0x009a90bf, 0x02998468, 0x0386826b, 0x010b132d, 0x00e716d8, 0x01b4868e, 0x002303a6}}, Y: Field{[10]uint32{0x001cfe52, 0x01314d85, 0x01a95c38, 0x00b821e1, 0x036ead99, 0x0186e305, 0x036a41de, 0x01032ca1, 0x0242f0a2, 0x000cae32}}}, + {X: Field{[10]uint32{0x03c96ed7, 0x0327ac23, 0x007e4dba, 0x007596be, 0x03658c6d, 0x013bdb5d, 0x0062af77, 0x02b9d78c, 0x028f9000, 0x00054a2e}}, Y: Field{[10]uint32{0x013b5651, 0x03b29914, 0x0253a5fa, 0x03571cc6, 0x012d39f0, 0x01d4ea2f, 0x00e64665, 0x01af3475, 0x038d54df, 0x002a3749}}}, + {X: Field{[10]uint32{0x03f1d7a4, 0x027bde9b, 0x037d2fa0, 0x02feb16b, 0x00104394, 0x02545616, 0x03a040e2, 0x01a9ebc4, 0x02a5d925, 0x0030519b}}, Y: Field{[10]uint32{0x01be5128, 0x0115ec9d, 0x00a7bc05, 0x02db8414, 0x00d8bab3, 0x01800f7c, 0x0284b540, 0x0361e7c1, 0x02c6fb36, 0x0032adbf}}}, + {X: Field{[10]uint32{0x03e98cb4, 0x004604b4, 0x02b56c6f, 0x02ea1e9d, 0x022ea946, 0x03e430fc, 0x0297a87c, 0x002274a8, 0x0093e051, 0x0033a2ec}}, Y: Field{[10]uint32{0x003a0470, 0x014ba578, 0x028884c2, 0x02b642c3, 0x00679cbc, 0x0344eeab, 0x03f556fb, 0x0213f9b7, 0x0251b906, 0x002a36ee}}}, + {X: Field{[10]uint32{0x02d6c86d, 0x01960b81, 0x016ea918, 0x018e85ea, 0x027c4267, 0x0024aa53, 0x030ddd9b, 0x02785634, 0x02737c9d, 0x0001dbce}}, Y: Field{[10]uint32{0x01d16c8a, 0x00a808b9, 0x00443b20, 0x00081f90, 0x01b29c53, 0x01b38fc1, 0x00ad27ec, 0x0179b1de, 0x007c4f34, 0x0016c728}}}, + {X: Field{[10]uint32{0x0274017f, 0x015cb542, 0x001adee1, 0x03fabdda, 0x032ed997, 0x0375f50e, 0x03988725, 0x002c84ee, 0x03c32339, 0x003dd5f7}}, Y: Field{[10]uint32{0x01b83cf8, 0x034912e9, 0x016be461, 0x019f2869, 0x0374ec4f, 0x023ace55, 0x00b63d98, 0x025c99c0, 0x00ea6787, 0x00342d39}}}, + {X: Field{[10]uint32{0x02d5f5d0, 0x00aa1ee7, 0x0065c149, 0x01a43647, 0x03f27a57, 0x036f8f19, 0x000ec6d3, 0x02bbf7c2, 0x0198a2de, 0x00166fd8}}, Y: Field{[10]uint32{0x0010f8b2, 0x00f5c3e1, 0x029b3a2f, 0x03b58054, 0x016e02f2, 0x03519e15, 0x010834c4, 0x028a08c4, 0x03399011, 0x002fd7ad}}}, + {X: Field{[10]uint32{0x0149ba16, 0x02020b81, 0x0052d53f, 0x0173c4b3, 0x02a7b0e8, 0x02463056, 0x02857900, 0x021d5d21, 0x030ac86d, 0x002c740b}}, Y: Field{[10]uint32{0x031a19d0, 0x00dff095, 0x0106b854, 0x00965b4f, 0x03972977, 0x00fce14a, 0x000878d6, 0x01adda2a, 0x02039992, 0x0001e497}}}, + {X: Field{[10]uint32{0x001d1905, 0x0393900e, 0x02908882, 0x03bc53ce, 0x027e5267, 0x01f10610, 0x03d2ec12, 0x0381f406, 0x032f41d8, 0x003349cd}}, Y: Field{[10]uint32{0x01c77297, 0x02bc3257, 0x003522ac, 0x005d4826, 0x02c33296, 0x01045a4e, 0x03810f3b, 0x027ccf33, 0x0203661b, 0x003338db}}}, + {X: Field{[10]uint32{0x019d3ace, 0x036d26f7, 0x01695b01, 0x033eef20, 0x03ad2258, 0x032eaad3, 0x028940f5, 0x00d664ed, 0x00fc26ca, 0x00044991}}, Y: Field{[10]uint32{0x01c0bf60, 0x01341245, 0x01b904e7, 0x00acefa7, 0x037ff136, 0x03b7c274, 0x03a49b3b, 0x02e57cbd, 0x03907b5a, 0x0021a17d}}}, + {X: Field{[10]uint32{0x0197d3ce, 0x001b8b03, 0x018bb3a6, 0x03abae12, 0x0192fb51, 0x00d68936, 0x02845759, 0x01285883, 0x032a99ce, 0x0024637d}}, Y: Field{[10]uint32{0x038a8461, 0x0333faee, 0x03065602, 0x00609d26, 0x01bb6b79, 0x0241e533, 0x038b0d3c, 0x03fe63c6, 0x01ec9ebb, 0x00222cce}}}, + {X: Field{[10]uint32{0x00dcb83b, 0x02b3eaff, 0x01af2a7d, 0x0093cd28, 0x00436e64, 0x035229dc, 0x0025b510, 0x03ff2025, 0x00f265c4, 0x0026e3c6}}, Y: Field{[10]uint32{0x0185ba55, 0x0152a6b5, 0x012475e4, 0x03e4fd8f, 0x01476c4a, 0x0318a04e, 0x02e8c78f, 0x0306e4b0, 0x01e86a34, 0x0002fee5}}}, + {X: Field{[10]uint32{0x0024ce30, 0x031e3fef, 0x0340c9b9, 0x002b62cc, 0x00382174, 0x03a87639, 0x02be52a1, 0x0189a90a, 0x032ac396, 0x0002b40b}}, Y: Field{[10]uint32{0x022885fb, 0x030b41c6, 0x01b13255, 0x03978953, 0x03ad8c97, 0x02deede9, 0x0027cfe1, 0x01e1cbfe, 0x00e6cf8a, 0x003f31ce}}}, + {X: Field{[10]uint32{0x026d85a3, 0x03ee6b76, 0x0076c84b, 0x00a23d51, 0x029b5c19, 0x016b3c49, 0x02e34f3f, 0x036b2423, 0x03bd5e60, 0x0000d66b}}, Y: Field{[10]uint32{0x03088955, 0x0055e7ec, 0x030f6b50, 0x00da8608, 0x03443586, 0x024cb385, 0x02721553, 0x03fb59c4, 0x01e79cd3, 0x000b8aa8}}}, + {X: Field{[10]uint32{0x00b279de, 0x0024459a, 0x033ca55e, 0x03008187, 0x030c3c15, 0x0335b1e3, 0x00c34a31, 0x00bc7384, 0x023e230f, 0x00158e6a}}, Y: Field{[10]uint32{0x0111bef1, 0x01b0bb2d, 0x0309c8ed, 0x006c1189, 0x02e3a7d5, 0x02a7a0f8, 0x023bc263, 0x01fc2cfe, 0x015c15de, 0x00382dba}}}, + {X: Field{[10]uint32{0x0269ec44, 0x015d94b5, 0x00e4ad86, 0x01b2b50b, 0x03693d3b, 0x0097bf0a, 0x00ef3d0c, 0x02567617, 0x03cc7b2f, 0x000c273f}}, Y: Field{[10]uint32{0x0150077d, 0x02596dea, 0x0274bcf7, 0x0299e664, 0x0232f949, 0x01487548, 0x00095205, 0x02c6f9e6, 0x022fd917, 0x0000eaed}}}, + {X: Field{[10]uint32{0x033b86b2, 0x006bdb94, 0x033cace9, 0x01a922af, 0x00534a02, 0x01d7244c, 0x018eab63, 0x035f0017, 0x01d2dac1, 0x00147cf5}}, Y: Field{[10]uint32{0x03e99f74, 0x0262a3e8, 0x0235aba9, 0x00aab410, 0x0234f9cf, 0x02816f76, 0x03fbfe0c, 0x0123b67c, 0x027f4bdc, 0x000142c7}}}, + {X: Field{[10]uint32{0x01c2a244, 0x03897b8a, 0x00e1fa3f, 0x03d22cf9, 0x034158b0, 0x014074c9, 0x000e0c6f, 0x01040115, 0x011833aa, 0x0023d58f}}, Y: Field{[10]uint32{0x03432193, 0x01d64a19, 0x03589028, 0x024f0600, 0x033d031d, 0x0004a263, 0x035248da, 0x00cdc55f, 0x01d85ea9, 0x0013531c}}}, + {X: Field{[10]uint32{0x037177a9, 0x031cb229, 0x01108ee7, 0x0303b867, 0x003c4853, 0x02c25ab0, 0x0045b39f, 0x036ae72f, 0x0109d68f, 0x000db28a}}, Y: Field{[10]uint32{0x024301b0, 0x00588234, 0x02ed6905, 0x018cc384, 0x0269cbf3, 0x00519e97, 0x033d0953, 0x00a58217, 0x01dfc825, 0x00193d44}}}, + {X: Field{[10]uint32{0x02a306e0, 0x00d1c0a3, 0x00cf3807, 0x023ad35c, 0x0358dd91, 0x036c9bc3, 0x001ca9c2, 0x03f5f308, 0x00d51f3f, 0x003d8a2e}}, Y: Field{[10]uint32{0x00adc2e8, 0x00d82ef6, 0x01c1ea2d, 0x01f798ca, 0x03b7c2d7, 0x03d55f7b, 0x00d6eb27, 0x00ba6cba, 0x00e30ea8, 0x0002f5af}}}, + {X: Field{[10]uint32{0x00e67c1b, 0x010454b0, 0x02f2586e, 0x035d8400, 0x00b44fa7, 0x0340d435, 0x026922c9, 0x00b02eca, 0x03f500a8, 0x003ede9a}}, Y: Field{[10]uint32{0x02702da1, 0x017af252, 0x02cfb034, 0x00cc8e86, 0x018419fc, 0x03fa3cfa, 0x01f1406e, 0x031c0c00, 0x0037f1c9, 0x00304a87}}}, + {X: Field{[10]uint32{0x0278d092, 0x0247ef3f, 0x03033753, 0x00769696, 0x01bf8ec0, 0x0003231d, 0x014080f4, 0x00abcb7c, 0x01195c3e, 0x00308246}}, Y: Field{[10]uint32{0x031adeb9, 0x01ad8c83, 0x01e6c382, 0x0063a203, 0x037aec38, 0x02d9b0c9, 0x007b1fa3, 0x036acfbe, 0x016fcbeb, 0x002cc1ed}}}, + {X: Field{[10]uint32{0x013192d1, 0x02ff8a2f, 0x0003e8d1, 0x03e3466f, 0x0073c3be, 0x00ddd292, 0x02d7c4c9, 0x009fea81, 0x03893d17, 0x001d89f7}}, Y: Field{[10]uint32{0x028451e1, 0x01c9ac6d, 0x026f4bcf, 0x033fdb4d, 0x021326da, 0x001ddb14, 0x029a865f, 0x0157dea8, 0x036c36f4, 0x000d7499}}}, + {X: Field{[10]uint32{0x002c62b9, 0x012ca580, 0x01639ed5, 0x01cf2c16, 0x01a3df6f, 0x036ff80d, 0x025df658, 0x00cea5b4, 0x01187c9f, 0x00099999}}, Y: Field{[10]uint32{0x0286630d, 0x00096931, 0x037ba468, 0x02bbd2a5, 0x02c4e7fc, 0x00d5aa1d, 0x01fe7578, 0x01789a94, 0x03c7d34a, 0x002ecc2e}}}, + {X: Field{[10]uint32{0x022ac683, 0x02fce931, 0x037bbc7a, 0x017dcd60, 0x01ef8b12, 0x03ca9bdc, 0x006a02e8, 0x000b9df7, 0x0185fa98, 0x000ef6a4}}, Y: Field{[10]uint32{0x00a05b85, 0x00b95300, 0x02118936, 0x0172ec32, 0x0222b347, 0x002b8e1d, 0x0075a76a, 0x005e135e, 0x032bc11d, 0x00080bb7}}}, + {X: Field{[10]uint32{0x003a5c4d, 0x00cf5ae6, 0x00097bc0, 0x022dfd49, 0x023be197, 0x0215c348, 0x0313c714, 0x02d93604, 0x00de4486, 0x000be42f}}, Y: Field{[10]uint32{0x00384f89, 0x03f69c6f, 0x01705270, 0x027b3d5e, 0x01f4aa75, 0x0332a677, 0x01b2e300, 0x0351d4d9, 0x02502028, 0x0018e193}}}, + {X: Field{[10]uint32{0x00becda7, 0x02f3ef32, 0x01cb6562, 0x0309b1c7, 0x017083ed, 0x0327f35c, 0x0192e654, 0x0039bf72, 0x01d4e9b0, 0x002224fd}}, Y: Field{[10]uint32{0x0238ab50, 0x00c4ed2c, 0x003130fe, 0x0275b36e, 0x02a80fa2, 0x03831a65, 0x03566a1f, 0x0041d3ef, 0x00558e63, 0x0007ebcc}}}, + {X: Field{[10]uint32{0x0155abba, 0x030d2561, 0x0237d855, 0x0094c273, 0x00f482fc, 0x0369cd44, 0x024fac54, 0x01778fb6, 0x02e686be, 0x002b3f12}}, Y: Field{[10]uint32{0x02c52d87, 0x01c5a14a, 0x0037cb90, 0x01f3e6f4, 0x0176423f, 0x03b0a47f, 0x03a5b998, 0x0229ab4d, 0x0197d187, 0x000e1fd1}}}, + {X: Field{[10]uint32{0x0017a469, 0x00a95788, 0x020d9542, 0x039f5d19, 0x01d5fe35, 0x00a2948a, 0x03a892dd, 0x03a620bc, 0x0090a4c5, 0x000ab134}}, Y: Field{[10]uint32{0x03086c09, 0x03095c77, 0x01914a3b, 0x00afdd68, 0x01927d17, 0x03639a1a, 0x0279f2d7, 0x03b1151e, 0x01162aa3, 0x0018163d}}}, + {X: Field{[10]uint32{0x02badef6, 0x03d6139f, 0x0024e9c9, 0x03b09430, 0x02c9b1a3, 0x004f1f98, 0x03c235cd, 0x0315cb96, 0x013ffc13, 0x00004dfb}}, Y: Field{[10]uint32{0x02c6fdba, 0x0214daa3, 0x00bf54fb, 0x030bcdeb, 0x010319e7, 0x0321d63c, 0x003ff023, 0x013d442d, 0x01cc3a46, 0x000307a5}}}, + {X: Field{[10]uint32{0x033ecfe4, 0x013615fb, 0x02002cfe, 0x03dd63c2, 0x006cfb16, 0x00454ae5, 0x009f6068, 0x0228f4b2, 0x037a7214, 0x0000a280}}, Y: Field{[10]uint32{0x03973d10, 0x02ce613e, 0x03aa8a1b, 0x0093ea40, 0x02ec5951, 0x031b9e8e, 0x03788cf5, 0x037a6e34, 0x0250135c, 0x002cbd2d}}}, + {X: Field{[10]uint32{0x027a9eeb, 0x02b773c6, 0x000ae3bb, 0x016d7cd3, 0x0378ad6d, 0x01d869db, 0x01d426e8, 0x00cfef3a, 0x01518fd4, 0x000c0fb3}}, Y: Field{[10]uint32{0x01abb602, 0x0158ce66, 0x01385ea9, 0x00fa2761, 0x02cbd8dc, 0x009d72c6, 0x03a5945a, 0x02c67a59, 0x02443b73, 0x001a9ff2}}}, + {X: Field{[10]uint32{0x01533202, 0x008ce054, 0x0140a509, 0x01e7e2cc, 0x02c69cf0, 0x03595a6e, 0x001defd9, 0x03dc7099, 0x002e5680, 0x0033d8c1}}, Y: Field{[10]uint32{0x00eb4ee8, 0x03cd007b, 0x009b6b8f, 0x00ebd437, 0x00017664, 0x0386a90a, 0x01a20525, 0x03f715c6, 0x036dfb17, 0x000e7ccd}}}, + {X: Field{[10]uint32{0x031fe4b7, 0x01216a86, 0x0168c44f, 0x02a38b76, 0x0334a229, 0x0395b124, 0x0123b6f2, 0x027eda5a, 0x03efb4a4, 0x0033ebee}}, Y: Field{[10]uint32{0x029f9007, 0x034971b1, 0x02a160b5, 0x0260063e, 0x01f39506, 0x0075dbdc, 0x03afbc70, 0x005f8777, 0x034d4a9c, 0x003703b4}}}, + {X: Field{[10]uint32{0x010d363e, 0x034bcc4e, 0x0153d785, 0x01da6822, 0x004a7ffd, 0x00f1aa90, 0x0093ff7b, 0x009fa9a9, 0x01e10fd5, 0x003b038f}}, Y: Field{[10]uint32{0x027a35dd, 0x030a17e3, 0x03528fc5, 0x0303fcd4, 0x01723129, 0x005fd4f3, 0x02f3c6a7, 0x00d30420, 0x03ce3002, 0x00252f76}}}, + {X: Field{[10]uint32{0x032bcde0, 0x038a9012, 0x02f7f84b, 0x0213bac0, 0x0113e9cd, 0x000645af, 0x039c0c35, 0x008b3f52, 0x00d19144, 0x003c1f4f}}, Y: Field{[10]uint32{0x01637320, 0x007ddece, 0x018103aa, 0x001a2b8b, 0x01dfe912, 0x01b47dc1, 0x0048de51, 0x00c860df, 0x02facb39, 0x0033c325}}}, + {X: Field{[10]uint32{0x0248db10, 0x01c267cd, 0x003e2821, 0x01f799d9, 0x038a6fab, 0x00031e98, 0x0264ac0a, 0x00813a8c, 0x00b66f2e, 0x00129095}}, Y: Field{[10]uint32{0x02e5023a, 0x02acaf0b, 0x0157ac26, 0x0022eb2c, 0x01b187ab, 0x017df7e5, 0x03ef9891, 0x03f0d7be, 0x0229be93, 0x002d5443}}}, + {X: Field{[10]uint32{0x007774a8, 0x0204fa3a, 0x001d9b5d, 0x02c0e017, 0x01910285, 0x03d9c651, 0x02625829, 0x02bc74d7, 0x03cfb38e, 0x00015bce}}, Y: Field{[10]uint32{0x01ed9dc6, 0x029e9d74, 0x026bac57, 0x01c219df, 0x038a1e82, 0x0051fddc, 0x03f3e5ca, 0x01fe6a6a, 0x00e79e6b, 0x002a6e59}}}, + {X: Field{[10]uint32{0x03081295, 0x01586f9a, 0x03561ace, 0x021947f9, 0x01af6b98, 0x03aa9327, 0x02d95bff, 0x00bbf030, 0x034e07d3, 0x003e2763}}, Y: Field{[10]uint32{0x01bacc69, 0x03b1c663, 0x030d1449, 0x0145235d, 0x0075e48f, 0x01c61a65, 0x02656911, 0x00e19d8e, 0x031156a3, 0x003298cb}}}, + {X: Field{[10]uint32{0x03c5530b, 0x03948149, 0x02af9758, 0x00cf1b66, 0x032890b9, 0x007c3a4a, 0x02e4a075, 0x005bad42, 0x01a0d3e7, 0x00170de4}}, Y: Field{[10]uint32{0x03b34616, 0x03e2eae9, 0x021c3ca1, 0x0070cdab, 0x02c4ed86, 0x0244d24e, 0x01e30dae, 0x00b4445e, 0x03c62de5, 0x00113bc4}}}, + {X: Field{[10]uint32{0x03a38d27, 0x02804caa, 0x0233115f, 0x03c34e8f, 0x038ab94e, 0x01b3bab6, 0x00d71561, 0x0292b98b, 0x025ae6ba, 0x0009d21d}}, Y: Field{[10]uint32{0x03f69e48, 0x013c7c9d, 0x033590cd, 0x00cea4ec, 0x020f36b3, 0x031eba4a, 0x0105bbe6, 0x01dc3582, 0x019dde63, 0x001c7534}}}, + {X: Field{[10]uint32{0x0327e254, 0x00d8efae, 0x0145322e, 0x028116a5, 0x000d2c41, 0x01fb8f9e, 0x00e4ee18, 0x035de00b, 0x03a2f8ec, 0x002593c7}}, Y: Field{[10]uint32{0x00138a2e, 0x01598435, 0x022e6775, 0x0000ee60, 0x015137ae, 0x00b33988, 0x0081a5fa, 0x02a20fa5, 0x03cade64, 0x0031d12e}}}, + {X: Field{[10]uint32{0x01b8ca3b, 0x0217895e, 0x02754589, 0x001d3df4, 0x03ee758a, 0x01b0de7f, 0x003594fe, 0x0327ea14, 0x03758709, 0x0022fd81}}, Y: Field{[10]uint32{0x03dd51a4, 0x03986221, 0x03715a5a, 0x03b9c629, 0x02ccc193, 0x02c46343, 0x011cfb8f, 0x0375cbfd, 0x0192b3fb, 0x000f98e2}}}, + {X: Field{[10]uint32{0x02e06612, 0x008e3740, 0x015f5a10, 0x03603b83, 0x00fbff70, 0x036fb9e6, 0x03c5a95d, 0x008e70af, 0x01239189, 0x003e841c}}, Y: Field{[10]uint32{0x0168e7f1, 0x01311a3e, 0x03936c62, 0x0384b5dc, 0x02315a6b, 0x00757b07, 0x0133ea97, 0x02c29664, 0x015e1a4e, 0x00029833}}}, + {X: Field{[10]uint32{0x00975588, 0x00d39451, 0x0059383c, 0x00f2a251, 0x033fe250, 0x01e5f2e2, 0x03d145ef, 0x025ffb00, 0x02d09f6f, 0x0016d231}}, Y: Field{[10]uint32{0x006e30a0, 0x00428ea4, 0x03d83c64, 0x0114a01d, 0x02173d6c, 0x02597c4d, 0x0291762d, 0x0046f304, 0x02893526, 0x00113619}}}, + {X: Field{[10]uint32{0x02b94fd0, 0x03c6f2bb, 0x025b1ae8, 0x013552f2, 0x005d4e85, 0x0397a232, 0x025d1ea1, 0x01f8fca1, 0x03e823aa, 0x00203854}}, Y: Field{[10]uint32{0x006b9728, 0x01eb2ea8, 0x023f73ed, 0x00b01c60, 0x03c888a1, 0x03d3d904, 0x03a92d8e, 0x03046c04, 0x0229e435, 0x003b74ff}}}, + {X: Field{[10]uint32{0x01ccf2c4, 0x03b5b41e, 0x03e3dae7, 0x027c1ec7, 0x03cd25de, 0x0131b8a6, 0x0190dd15, 0x01d49b09, 0x01d977bf, 0x0005b889}}, Y: Field{[10]uint32{0x01710768, 0x00622b02, 0x0274dd85, 0x014b83e8, 0x0340088c, 0x033708ad, 0x02db82af, 0x01d551b4, 0x0123b9b5, 0x00381c0b}}}, + {X: Field{[10]uint32{0x01456938, 0x0247bf36, 0x013ce7a6, 0x028b78d6, 0x03bb064a, 0x02097af2, 0x021b65e7, 0x01b1d208, 0x020915a1, 0x0028d102}}, Y: Field{[10]uint32{0x00dbf40c, 0x01c24135, 0x0226bbe9, 0x00f79f0f, 0x0326fa5d, 0x03d0de99, 0x001323a7, 0x00aa3d59, 0x02a03a58, 0x003fdf1e}}}, + {X: Field{[10]uint32{0x01aa2b5f, 0x00c3a7b3, 0x037c80a0, 0x000e4fac, 0x018d6072, 0x00b564e1, 0x0320401f, 0x0111a008, 0x034cd116, 0x0020550c}}, Y: Field{[10]uint32{0x033d5142, 0x004e7196, 0x03d54150, 0x0361f55c, 0x0017126a, 0x02824522, 0x030676f4, 0x03939ec3, 0x014e5f97, 0x002ee902}}}, + {X: Field{[10]uint32{0x014d93c7, 0x039a96df, 0x01efa329, 0x0184f86d, 0x02fe7f23, 0x0138265d, 0x0092b257, 0x02eb28e8, 0x00ca27b5, 0x003244d2}}, Y: Field{[10]uint32{0x0176b44a, 0x0079cf16, 0x036399d6, 0x02550257, 0x01e7c372, 0x0006fed6, 0x020e62dc, 0x0268b141, 0x010de9d4, 0x00338907}}}, + {X: Field{[10]uint32{0x026e8a88, 0x0096435f, 0x024363ba, 0x0101cdf9, 0x01cf3629, 0x0272a592, 0x0235e995, 0x02b5319d, 0x01a879fe, 0x0025022d}}, Y: Field{[10]uint32{0x03994fc0, 0x005d915f, 0x00fdfcbf, 0x034a12e0, 0x00e02155, 0x007d1825, 0x02858d52, 0x004306fc, 0x010a26c7, 0x003842d0}}}, + {X: Field{[10]uint32{0x02bdd2ce, 0x00f9f975, 0x01b92e7d, 0x02436408, 0x02f80ddf, 0x02160aab, 0x020a159f, 0x0122e1e7, 0x0158eefe, 0x002e1474}}, Y: Field{[10]uint32{0x02d85469, 0x02f6a8b1, 0x0293f06a, 0x036394dd, 0x0060facf, 0x0271f560, 0x00c53f06, 0x00908707, 0x02e10079, 0x000a42b8}}}, + {X: Field{[10]uint32{0x013d10fc, 0x01c79ab9, 0x005eb1b9, 0x02e15368, 0x0387e7a5, 0x0394d824, 0x00053875, 0x00801d96, 0x034d4a7c, 0x00274c82}}, Y: Field{[10]uint32{0x01d7c456, 0x000fd1c9, 0x0306e796, 0x018729a0, 0x009b44be, 0x039e0ec3, 0x022acd0a, 0x006435a0, 0x037b6a1f, 0x0013dab2}}}, + {X: Field{[10]uint32{0x018ac7b5, 0x002a7a0d, 0x004c22f3, 0x0053401d, 0x01eaa491, 0x004e9362, 0x0386799d, 0x03b1953f, 0x00107b29, 0x001b5de6}}, Y: Field{[10]uint32{0x03823950, 0x028f9e76, 0x038804b0, 0x00d00ee8, 0x0177b2a3, 0x03899731, 0x0060a2ac, 0x013c26e8, 0x03cc105c, 0x0023de64}}}, + {X: Field{[10]uint32{0x017f6489, 0x02476a79, 0x0372d73c, 0x001cb209, 0x00680c96, 0x02015b4a, 0x017d62db, 0x013eda68, 0x02ce77e1, 0x002f6cb4}}, Y: Field{[10]uint32{0x03aa590d, 0x02790b96, 0x030c184c, 0x00000f0a, 0x0008a3bc, 0x029bd592, 0x038ecede, 0x00ec6773, 0x0371d43c, 0x0002707b}}}, + {X: Field{[10]uint32{0x0055b3fa, 0x03ff68fc, 0x02dea741, 0x02a34286, 0x001f7897, 0x01ceec16, 0x01b4787f, 0x002a5293, 0x00ff1ab7, 0x00126a33}}, Y: Field{[10]uint32{0x006ba426, 0x024a0a9b, 0x0243d8bd, 0x0053f5b7, 0x0115b419, 0x03814eb5, 0x02414ed6, 0x03af47b8, 0x02772049, 0x003ca634}}}, + {X: Field{[10]uint32{0x029d2236, 0x0285ce9d, 0x000d77f1, 0x014ad441, 0x013b3d56, 0x00c5e80b, 0x0267992d, 0x02dec158, 0x016eb466, 0x00328fdf}}, Y: Field{[10]uint32{0x02145c37, 0x036ec4a3, 0x021b7126, 0x02b7dbc6, 0x0090e538, 0x025a90b0, 0x00e6f2bf, 0x00e13bde, 0x02259dcf, 0x00289b58}}}, + {X: Field{[10]uint32{0x037176e4, 0x03a98c1c, 0x0065bc00, 0x02b699af, 0x01902e9c, 0x003422e6, 0x038469cb, 0x009f46d1, 0x0214f1c4, 0x002d9cb3}}, Y: Field{[10]uint32{0x00865efa, 0x022fdd9a, 0x03eddb81, 0x0142e312, 0x0083f4f5, 0x00f1695b, 0x020f1aff, 0x0145d89e, 0x01790001, 0x0005db02}}}, + {X: Field{[10]uint32{0x029c199b, 0x03244ebb, 0x0168bda3, 0x01e23cba, 0x022c26dd, 0x010dde2a, 0x01b6866f, 0x01886f5b, 0x0357d4ad, 0x002f72ea}}, Y: Field{[10]uint32{0x00df5603, 0x01548ca2, 0x03c11240, 0x003ba4f1, 0x021cee9f, 0x03585a36, 0x0075a338, 0x004ff5f7, 0x00729bb2, 0x001e61a2}}}, + {X: Field{[10]uint32{0x01fbf9f5, 0x00e12c95, 0x001961cb, 0x03420b60, 0x020d5bee, 0x0317d08f, 0x0064aa96, 0x01f7d5d3, 0x031e382f, 0x003d7c97}}, Y: Field{[10]uint32{0x02210221, 0x0277febc, 0x0324c98a, 0x01a03849, 0x00f54bc0, 0x02942934, 0x0393a829, 0x012ab960, 0x030b5ad8, 0x003a8e23}}}, + {X: Field{[10]uint32{0x02ae09c3, 0x002e2505, 0x0250aa73, 0x01261689, 0x03603720, 0x009d1f10, 0x026e280b, 0x02ae7872, 0x0064f9f8, 0x0034a841}}, Y: Field{[10]uint32{0x029c5962, 0x033da2c8, 0x01b454fd, 0x03aeacf0, 0x032c9ffa, 0x00b240ba, 0x00d8dcaf, 0x0194cc0a, 0x01ed8dc4, 0x003465c6}}}, + {X: Field{[10]uint32{0x00410038, 0x02068008, 0x0291cc5f, 0x00ffcffd, 0x0119058c, 0x03979aa9, 0x01221058, 0x01312f15, 0x02fee672, 0x00224956}}, Y: Field{[10]uint32{0x023fd7bd, 0x01f62bf6, 0x013e6914, 0x02d19c5c, 0x00c833c3, 0x03eead40, 0x0352ffb4, 0x0324d046, 0x02dd9560, 0x00023589}}}, + {X: Field{[10]uint32{0x016e3952, 0x004bef55, 0x03f94beb, 0x03c81b24, 0x015165e3, 0x01e06406, 0x027d73f5, 0x03bbb8a9, 0x0042c5ec, 0x001791a3}}, Y: Field{[10]uint32{0x00f240de, 0x01994163, 0x021edc38, 0x02d0e92b, 0x03ce1fde, 0x00c39003, 0x00b6a8c3, 0x025f8aae, 0x024a467f, 0x002be0f8}}}, + {X: Field{[10]uint32{0x019c4e2c, 0x021401fa, 0x0036d7fc, 0x023a4e14, 0x03552caf, 0x03d52ac0, 0x006850e8, 0x00662fd8, 0x03ac9eca, 0x001c30af}}, Y: Field{[10]uint32{0x02ea37b3, 0x03fadb35, 0x00591544, 0x010034b1, 0x023b45d9, 0x0033dd65, 0x00f99392, 0x02b95e2a, 0x0365f5ff, 0x00180c88}}}, + {X: Field{[10]uint32{0x01c2f318, 0x0107032e, 0x001eeab6, 0x006993a4, 0x03bbb0db, 0x031e58c3, 0x000f86d7, 0x01ad0814, 0x013afe5f, 0x0005850f}}, Y: Field{[10]uint32{0x036a8a94, 0x022c91f5, 0x01e68ecb, 0x009132b4, 0x039fd749, 0x0134734d, 0x0109561d, 0x02075e04, 0x00140bdf, 0x001c1e3a}}}, + {X: Field{[10]uint32{0x02b62bce, 0x01ba5985, 0x03ed029f, 0x02ddce82, 0x03e1326e, 0x003fd82a, 0x025b0346, 0x0059136c, 0x02ada934, 0x0022b0cf}}, Y: Field{[10]uint32{0x00945cc6, 0x0276ff46, 0x0005dc6d, 0x013f6918, 0x00ea9e61, 0x0266f694, 0x0055d0ed, 0x0062d2f4, 0x03566f0d, 0x0001b41d}}}, + {X: Field{[10]uint32{0x0166e22a, 0x02a78189, 0x03ce771e, 0x0096843e, 0x0270cb33, 0x038323ad, 0x01f01166, 0x03abf7bd, 0x00b89e7f, 0x0011dae6}}, Y: Field{[10]uint32{0x02a91050, 0x01743875, 0x03f4730c, 0x0176e03e, 0x00fd98bd, 0x0004bc88, 0x0138483c, 0x00ae19f8, 0x00418325, 0x000e36fc}}}, + {X: Field{[10]uint32{0x01497f11, 0x03114fbb, 0x03058a19, 0x01fc64a5, 0x012e383a, 0x0086b7e8, 0x0302bcb3, 0x0270ef4c, 0x02eff0de, 0x00393498}}, Y: Field{[10]uint32{0x022781d3, 0x01f3def3, 0x0050bfec, 0x0039f008, 0x01953d0c, 0x03a92400, 0x02070c49, 0x0048323c, 0x00fc2fd6, 0x00287e0c}}}, + {X: Field{[10]uint32{0x00b5cbf8, 0x0303f3fc, 0x019871be, 0x01e5065b, 0x03e2e092, 0x027ccf99, 0x00c4f7cb, 0x02f86fc6, 0x010f48f0, 0x0019ef21}}, Y: Field{[10]uint32{0x0352d32f, 0x0373ae17, 0x03355526, 0x02f24b83, 0x01b7e6fa, 0x034bc833, 0x013e9271, 0x0292c91a, 0x0070334a, 0x00389581}}}, + {X: Field{[10]uint32{0x02ef2797, 0x0147849c, 0x02b8d58f, 0x029689c4, 0x02b543a6, 0x00aac9d3, 0x024be020, 0x01250895, 0x02c5c0dd, 0x0014372c}}, Y: Field{[10]uint32{0x02b04ea0, 0x0227e352, 0x03ca890d, 0x01a8bddf, 0x038d2ea1, 0x01c17732, 0x03854b49, 0x01132671, 0x036fb69c, 0x000b2f00}}}, + {X: Field{[10]uint32{0x0358bd6e, 0x029edda1, 0x0287644b, 0x013a2644, 0x01f86080, 0x0377d599, 0x00a57f1b, 0x0123d07a, 0x01777849, 0x001b26f1}}, Y: Field{[10]uint32{0x03b3ff20, 0x003fd13a, 0x00260cd4, 0x005724a0, 0x03a04019, 0x00892406, 0x029ca3d1, 0x02b211cc, 0x01f35998, 0x0021299c}}}, + {X: Field{[10]uint32{0x0382a868, 0x01f12520, 0x010e7a33, 0x011919ce, 0x0128b441, 0x0231bab4, 0x03ceb361, 0x036ee67c, 0x03c6d27c, 0x00176b24}}, Y: Field{[10]uint32{0x002df508, 0x0292fe0d, 0x02d8bac2, 0x02e38c57, 0x008a91c2, 0x025dc13e, 0x034578aa, 0x0020b9d0, 0x00651805, 0x002195c8}}}, + {X: Field{[10]uint32{0x01780c86, 0x00af9f21, 0x0196f2ed, 0x002ad1ae, 0x03f6b2a4, 0x00c1cf03, 0x02e9484d, 0x015f85e9, 0x03c65e1c, 0x00081e40}}, Y: Field{[10]uint32{0x03f6a442, 0x018cf051, 0x02c14854, 0x020c4569, 0x020bbdcb, 0x00f85e8e, 0x00fd3107, 0x01353db1, 0x00202956, 0x0012d5a1}}}, + {X: Field{[10]uint32{0x02dc2f90, 0x0118884b, 0x011dd295, 0x01320a44, 0x036ffbc9, 0x00a0a0c3, 0x03351132, 0x024fa4ea, 0x03639be5, 0x00368097}}, Y: Field{[10]uint32{0x016d2723, 0x0250e0e4, 0x02e68eb6, 0x02997bd2, 0x00714def, 0x006b3d72, 0x02dea9a2, 0x0395dbc3, 0x01eba315, 0x0026d2b3}}}, + {X: Field{[10]uint32{0x02823cb1, 0x002943ec, 0x02ea5603, 0x03d7b91f, 0x012a0f61, 0x021f3c64, 0x026ffa6b, 0x02272084, 0x02cd01b4, 0x000c9fea}}, Y: Field{[10]uint32{0x00c33b9b, 0x03e7b3ee, 0x037e96b7, 0x019d7f85, 0x0314c00c, 0x000f97e2, 0x00c5ac29, 0x00026c51, 0x03426010, 0x00018d2a}}}, + {X: Field{[10]uint32{0x037e8084, 0x0091561e, 0x010cc79a, 0x005fd6fd, 0x006c9cab, 0x02746ff6, 0x013478ba, 0x03d18aa1, 0x03ee1619, 0x001133fe}}, Y: Field{[10]uint32{0x008e7da4, 0x031c535d, 0x01f64563, 0x00703f8d, 0x0176442a, 0x0041e691, 0x02f8c288, 0x0278a1fa, 0x03db6207, 0x002c2260}}}, + {X: Field{[10]uint32{0x02a6fe3a, 0x0085c381, 0x0393a43a, 0x02141203, 0x03beb197, 0x00d3477a, 0x01ad6797, 0x00338b08, 0x01ca1373, 0x00317651}}, Y: Field{[10]uint32{0x023cc3fb, 0x01efc6eb, 0x02f0446e, 0x03ec328f, 0x0374102f, 0x0392a707, 0x03f72878, 0x01c503d9, 0x011b4d8b, 0x0028eab4}}}, + {X: Field{[10]uint32{0x02c0de31, 0x0290b873, 0x019e677f, 0x03d90d4d, 0x01d4bf22, 0x03c76c3b, 0x032694b8, 0x03a4d446, 0x031984df, 0x003d3633}}, Y: Field{[10]uint32{0x01a30845, 0x02e970ba, 0x03f020c0, 0x01753ec3, 0x025b48a5, 0x01f8eff7, 0x02d76bfc, 0x0062035e, 0x01223aae, 0x0020f40b}}}, + {X: Field{[10]uint32{0x0037c4cd, 0x002b9f06, 0x02e707e5, 0x0387854e, 0x03a2dce0, 0x0343c3b9, 0x006380af, 0x002f2243, 0x01dc8e7b, 0x0004f5c8}}, Y: Field{[10]uint32{0x00841116, 0x01844ba2, 0x00d28e97, 0x004b57c5, 0x009309c4, 0x002bdf93, 0x039e8237, 0x015045fa, 0x01e3e157, 0x00318830}}}, + {X: Field{[10]uint32{0x0265ce1a, 0x018b8458, 0x01783928, 0x013389ec, 0x02516482, 0x013076bc, 0x03eb55d9, 0x019ca081, 0x03a666fc, 0x00397e7b}}, Y: Field{[10]uint32{0x000d9975, 0x00bc8f57, 0x0156c771, 0x033d4f82, 0x0201f0f3, 0x018f5e6d, 0x03f9fbe1, 0x00aed48b, 0x03e61830, 0x001402a7}}}, + {X: Field{[10]uint32{0x0319c9ec, 0x0180f0f0, 0x016988da, 0x038290fa, 0x02a48ea0, 0x009ec6cc, 0x027abb98, 0x0284dd96, 0x00bd0a1b, 0x001cfb8f}}, Y: Field{[10]uint32{0x02b38f58, 0x017b1686, 0x00744b0a, 0x03408386, 0x03bbc909, 0x00ba097c, 0x0330bd5a, 0x01a272fa, 0x02b44093, 0x00365a0c}}}, + {X: Field{[10]uint32{0x01990d91, 0x0074b3f1, 0x0255df10, 0x0007c09e, 0x003e0285, 0x0089d429, 0x03285e71, 0x01aeea04, 0x03c59404, 0x00046e4b}}, Y: Field{[10]uint32{0x00315417, 0x0245c5a9, 0x03b639fe, 0x03347655, 0x0023b324, 0x002526cb, 0x01cfcd08, 0x033f8103, 0x00aae20f, 0x003822c9}}}, + {X: Field{[10]uint32{0x0160935b, 0x032873e4, 0x006a0623, 0x0148d8bc, 0x01b1bf49, 0x008a9897, 0x014442a0, 0x003717ec, 0x029c22be, 0x000c10d9}}, Y: Field{[10]uint32{0x00d0eb34, 0x034b2189, 0x00a2206d, 0x02c9724b, 0x0341eead, 0x0349b886, 0x0152c044, 0x01f5afeb, 0x00b04bf4, 0x0037120d}}}, + {X: Field{[10]uint32{0x015f9a0c, 0x02d71f4f, 0x00495132, 0x0185aa72, 0x023f92aa, 0x001f7b12, 0x007622b4, 0x034510ae, 0x01aac290, 0x0012430e}}, Y: Field{[10]uint32{0x0126b986, 0x01a36b8a, 0x021eab3d, 0x03799dcf, 0x03110f87, 0x00f2cc53, 0x001361f7, 0x012a9bfa, 0x00fd5784, 0x00171db0}}}, + {X: Field{[10]uint32{0x0002d03a, 0x02c90ce4, 0x03f2d2bb, 0x02528f82, 0x023a4caf, 0x01cac310, 0x01fb2127, 0x00cd1f28, 0x015867d7, 0x003f7573}}, Y: Field{[10]uint32{0x03411995, 0x033a425d, 0x0117210b, 0x01321762, 0x01bd69f8, 0x02f25369, 0x035bcc06, 0x01af1dbe, 0x0007d1d2, 0x003bf97d}}}, + {X: Field{[10]uint32{0x00435ea9, 0x031405c5, 0x012d80e9, 0x02272b46, 0x00e2d359, 0x01956b10, 0x03db2722, 0x003f3910, 0x008eb083, 0x002f2284}}, Y: Field{[10]uint32{0x03c979f9, 0x01a6e4f8, 0x00d60220, 0x03d8a41f, 0x0076bd3a, 0x024c65b0, 0x008a384b, 0x0369d29c, 0x0258cbc3, 0x00249300}}}, + {X: Field{[10]uint32{0x02924b44, 0x0177e3ab, 0x02e3b339, 0x02904054, 0x012c706e, 0x00626273, 0x02e431a7, 0x02db2e1a, 0x036e41f4, 0x003b6026}}, Y: Field{[10]uint32{0x00315da8, 0x0326ff19, 0x01f8a324, 0x02642c46, 0x00bede66, 0x0251eaa2, 0x0142ffe0, 0x01562723, 0x005c0329, 0x0004d760}}}, + {X: Field{[10]uint32{0x00da52d8, 0x02145edb, 0x03276797, 0x0049e7a7, 0x00043982, 0x0390b5aa, 0x007d2f1e, 0x00781d05, 0x02c75d87, 0x0009ad42}}, Y: Field{[10]uint32{0x005dd7a0, 0x011aeb55, 0x005180e3, 0x02814879, 0x021fe37e, 0x00d253c3, 0x014b4c80, 0x01ba7c2c, 0x00638642, 0x00099667}}}, + {X: Field{[10]uint32{0x03e8efd5, 0x02e53527, 0x01dd725a, 0x00419de1, 0x01679f6b, 0x02241f3c, 0x02746ff9, 0x033351fd, 0x00de27d0, 0x00333b62}}, Y: Field{[10]uint32{0x03f5729a, 0x037d0f5c, 0x00825fe4, 0x019f38af, 0x00e2beba, 0x014ad09a, 0x036adc2c, 0x0212b2d2, 0x022b4dc5, 0x0016c3b7}}}, + {X: Field{[10]uint32{0x003c6249, 0x02a20f76, 0x032bb52d, 0x005863d1, 0x02bf3fe5, 0x01e221b3, 0x00429c11, 0x018cc8c2, 0x03cb3152, 0x00363b7d}}, Y: Field{[10]uint32{0x03984be3, 0x036bc1c5, 0x033437f3, 0x0201ad21, 0x0108c71b, 0x002e9a47, 0x03427e13, 0x03bbdb50, 0x003ec155, 0x00295aaf}}}, + {X: Field{[10]uint32{0x0164b4ef, 0x02dc711d, 0x02515c2f, 0x00414fd9, 0x02526489, 0x035b23f3, 0x0149aa5c, 0x00e9d542, 0x03c9f8db, 0x003b60b0}}, Y: Field{[10]uint32{0x00b2f0b4, 0x03a3f948, 0x00f39b06, 0x032057f3, 0x0141ddcc, 0x0112a291, 0x029a26d4, 0x034f1dbe, 0x014906d9, 0x0017b966}}}, + {X: Field{[10]uint32{0x018ca937, 0x006b910f, 0x0365e777, 0x02b61620, 0x005853b3, 0x01b54212, 0x026249d5, 0x03ad5017, 0x03aee89a, 0x001b89de}}, Y: Field{[10]uint32{0x01f40b8e, 0x01f408ce, 0x025b403f, 0x03713892, 0x008f9623, 0x00e845c3, 0x01a3fe66, 0x02529f0c, 0x03d81e6f, 0x002121c6}}}, + {X: Field{[10]uint32{0x00a03c5c, 0x00abee52, 0x00967f70, 0x0109d9da, 0x00f2f8b6, 0x0386bfe5, 0x01b12293, 0x00484159, 0x02c86727, 0x002bad9e}}, Y: Field{[10]uint32{0x00bde197, 0x0034875e, 0x0289b698, 0x02fcdc1f, 0x02747100, 0x01bfd6b1, 0x027898d6, 0x02700f37, 0x01889425, 0x003f34f1}}}, + {X: Field{[10]uint32{0x0283da79, 0x01f381d4, 0x03af23ba, 0x024e8f44, 0x00457531, 0x00e18cfa, 0x00967d1e, 0x031d5a53, 0x034baa20, 0x0027c1ff}}, Y: Field{[10]uint32{0x03f2136b, 0x017edff7, 0x02e36397, 0x03df656e, 0x0014308c, 0x02b28fc7, 0x03c5f363, 0x0185a3fc, 0x030d49d0, 0x002ba2df}}}, + {X: Field{[10]uint32{0x013e1520, 0x00e5755c, 0x03df7243, 0x0325dab3, 0x03baafc3, 0x02f15406, 0x004b3ef7, 0x036ae859, 0x0114a026, 0x0009011b}}, Y: Field{[10]uint32{0x02029ae6, 0x0219f32a, 0x016cd321, 0x0202eb43, 0x0037fd53, 0x00554d2d, 0x013cd0e9, 0x0028c6ea, 0x01e96dc4, 0x00099521}}}, + {X: Field{[10]uint32{0x033de519, 0x02f08cca, 0x010c913b, 0x02adf67e, 0x011806af, 0x015d39ae, 0x0344f48c, 0x03471a00, 0x0126bf8f, 0x00004dda}}, Y: Field{[10]uint32{0x01a61fa5, 0x02f9e575, 0x01ced56e, 0x014685d5, 0x018aed90, 0x01f4da5b, 0x02b2198e, 0x01309be1, 0x00e7c4b4, 0x0028d040}}}, + {X: Field{[10]uint32{0x035a7d6e, 0x03268fbb, 0x015f11ef, 0x02996073, 0x025e4c38, 0x0045aba0, 0x037c85fb, 0x0319a21f, 0x014e816c, 0x00250f1b}}, Y: Field{[10]uint32{0x029de8dd, 0x00c69825, 0x02b24eca, 0x01c0c5a7, 0x0274112f, 0x0220fb8d, 0x02351657, 0x0369b4a7, 0x0324f618, 0x00364f51}}}, + {X: Field{[10]uint32{0x005432d9, 0x002023a2, 0x03f53d4d, 0x0252bd82, 0x03a0f46e, 0x017d3e19, 0x03c9e61d, 0x0183f72b, 0x001f1592, 0x002b7e01}}, Y: Field{[10]uint32{0x03e57958, 0x01680dc6, 0x02d952b9, 0x01779b0f, 0x02c055ff, 0x03a42cdb, 0x0331bcbb, 0x0145bcf5, 0x021f99d2, 0x00313aae}}}, + {X: Field{[10]uint32{0x022dcc44, 0x014df01b, 0x01bb8d96, 0x01860c97, 0x01dc0d94, 0x001ea7ea, 0x01defb67, 0x02b82047, 0x0313a404, 0x0005705f}}, Y: Field{[10]uint32{0x01b6898e, 0x03ce0eba, 0x01dc679d, 0x01898359, 0x01a799fb, 0x0144b5e7, 0x0042b482, 0x0257a0da, 0x0352021f, 0x0021d034}}}, + {X: Field{[10]uint32{0x02cb8ca0, 0x012df372, 0x0143580e, 0x03b46b0c, 0x00966ec9, 0x01ae04f7, 0x01bd5758, 0x01665271, 0x03356236, 0x0021eeee}}, Y: Field{[10]uint32{0x022a48c4, 0x01892a34, 0x00a36f83, 0x03a472b5, 0x036a28f4, 0x00928fa6, 0x0214ccbe, 0x00f09257, 0x012c1bfc, 0x00005666}}}, + {X: Field{[10]uint32{0x031fa105, 0x01705da7, 0x00daf95b, 0x00f35751, 0x03564da7, 0x02ba710c, 0x0082b5fe, 0x01530678, 0x004a0964, 0x000e6f45}}, Y: Field{[10]uint32{0x016fb207, 0x01dec4c9, 0x019bcfa2, 0x009ccc0c, 0x01dadf15, 0x030f2a3e, 0x02be12eb, 0x03535be2, 0x011c30b5, 0x003ffa28}}}, + {X: Field{[10]uint32{0x003bca7a, 0x02ef592a, 0x00a9ab78, 0x01dbba5c, 0x00a1c696, 0x0196cbd3, 0x0399bfe2, 0x030319ae, 0x034f9bce, 0x0031393a}}, Y: Field{[10]uint32{0x02bfc286, 0x012283a5, 0x03cb7c22, 0x00ed13f0, 0x012ecb49, 0x001798e0, 0x024be2bd, 0x02e712f3, 0x003d316c, 0x0006ee6a}}}, + {X: Field{[10]uint32{0x03244e69, 0x0392bb33, 0x01801488, 0x00d3d4f0, 0x028b53f0, 0x023280d7, 0x01dd2f44, 0x034cd3c3, 0x03831c80, 0x003060f9}}, Y: Field{[10]uint32{0x01a8b820, 0x00c362f6, 0x020b1593, 0x02552539, 0x0008ff2f, 0x03770203, 0x03389268, 0x007520f6, 0x02aac771, 0x003e663f}}}, + {X: Field{[10]uint32{0x02d47d92, 0x0309007f, 0x03b6be39, 0x03655d4e, 0x027ac812, 0x00dd3674, 0x013b630f, 0x038423c2, 0x03ac22a2, 0x00267475}}, Y: Field{[10]uint32{0x02d0e1f0, 0x031378d4, 0x008b039c, 0x00f70d9b, 0x0352080a, 0x00daa25e, 0x01ca3d9b, 0x038d07a3, 0x033488df, 0x000299f4}}}, + {X: Field{[10]uint32{0x0161cea5, 0x033324ab, 0x012bc5c3, 0x00e79fd7, 0x02985a33, 0x01a42420, 0x03d6f187, 0x0226ef7c, 0x025d16cd, 0x00381c02}}, Y: Field{[10]uint32{0x00a0b0f0, 0x025381dc, 0x007e3bd9, 0x00a529eb, 0x001fd08b, 0x02756708, 0x03ec97bc, 0x00fea102, 0x03e03895, 0x0009bdaa}}}, + {X: Field{[10]uint32{0x01a7e721, 0x021e8f98, 0x0268b554, 0x01734fe9, 0x025415e9, 0x01ea98bb, 0x03813b56, 0x0360e546, 0x02e8cf36, 0x002c66fd}}, Y: Field{[10]uint32{0x0170153d, 0x00fe2e46, 0x01041fc0, 0x016e9dc2, 0x0246c105, 0x030439c4, 0x019f59e4, 0x036cbb35, 0x00a5ca2c, 0x0018c39e}}}, + {X: Field{[10]uint32{0x0371fd44, 0x039b867f, 0x03943c6f, 0x01c870cc, 0x0039abaf, 0x025c051d, 0x0027adfa, 0x0343b220, 0x0156e90d, 0x00094024}}, Y: Field{[10]uint32{0x033afc11, 0x019b87d5, 0x01dec9c4, 0x0000b467, 0x01b78255, 0x02e4ce16, 0x014ed74c, 0x01d8c808, 0x03dc8647, 0x000c9011}}}, + {X: Field{[10]uint32{0x01a3e4ae, 0x02e14e18, 0x00681771, 0x007e588e, 0x02aca501, 0x03531402, 0x030c98d9, 0x0174726e, 0x03e8bbe4, 0x0011739f}}, Y: Field{[10]uint32{0x0392f8b1, 0x0018b908, 0x008327ca, 0x01d804d6, 0x019e41b1, 0x02db1fd9, 0x00725702, 0x02e3c297, 0x02afd1ad, 0x00232f08}}}, + {X: Field{[10]uint32{0x019ec059, 0x020522d8, 0x026834e3, 0x014d0ec4, 0x02b939e9, 0x028a1bbd, 0x03392120, 0x01ff19f7, 0x0107d3a2, 0x001cc955}}, Y: Field{[10]uint32{0x01c35b63, 0x013a4fc9, 0x00e28a35, 0x03b44d13, 0x00eeba10, 0x03b5b233, 0x00f3deda, 0x0008376c, 0x02e6e941, 0x000c5d35}}}, + {X: Field{[10]uint32{0x0011df58, 0x0002b072, 0x03885978, 0x00b68481, 0x03602596, 0x0322eb4f, 0x009a9458, 0x030e787b, 0x02f401c6, 0x0025acb3}}, Y: Field{[10]uint32{0x027fa8cd, 0x009271a2, 0x01a997d1, 0x00b660f7, 0x002fbf9e, 0x003000d7, 0x01ab5b7c, 0x02b498eb, 0x012141b4, 0x003b617b}}}, + {X: Field{[10]uint32{0x02b9c772, 0x00fbbd90, 0x01cdbb98, 0x0324dc09, 0x0357f23c, 0x0244aba1, 0x007bebb0, 0x02ca2a8c, 0x001cd941, 0x0015d906}}, Y: Field{[10]uint32{0x00ac7089, 0x0234afb8, 0x01b8ef2c, 0x0133cf38, 0x01249576, 0x0115e90f, 0x01f64375, 0x0023f76d, 0x034fc239, 0x003a05ce}}}, + {X: Field{[10]uint32{0x03ec1b61, 0x00a7b724, 0x02c60efd, 0x028e0aed, 0x02ea16d2, 0x0356c9e0, 0x031e3145, 0x0141580a, 0x00397e96, 0x000e3b1e}}, Y: Field{[10]uint32{0x018ec96e, 0x0353258c, 0x01089744, 0x00c47354, 0x02f522e6, 0x012fc995, 0x02caa3ba, 0x0378b362, 0x02a4c7b6, 0x002b3c13}}}, + {X: Field{[10]uint32{0x02c0b572, 0x03b55e5d, 0x01eb8b7a, 0x03752ca1, 0x0179c9f7, 0x0023dce2, 0x00439fa1, 0x0071e5d6, 0x038013d0, 0x001bb13b}}, Y: Field{[10]uint32{0x0098be7e, 0x006e8bf2, 0x004df13c, 0x01abd7cf, 0x017a6d26, 0x03adabc5, 0x026560e3, 0x03b37c0e, 0x0242e618, 0x0008ca39}}}, + {X: Field{[10]uint32{0x0377141b, 0x0249127b, 0x027ba884, 0x020713b5, 0x034c40a5, 0x029da1a0, 0x000fc149, 0x01ec6940, 0x036b30c2, 0x00363687}}, Y: Field{[10]uint32{0x01519758, 0x00ecd20b, 0x007dc49a, 0x0385c9ca, 0x03d92464, 0x00e4e1f5, 0x038c3108, 0x024b3c0a, 0x02d6876d, 0x00332d4c}}}, + {X: Field{[10]uint32{0x037ccb90, 0x03b458a3, 0x022b4e5f, 0x01b0ce1c, 0x026894d3, 0x032a1287, 0x02aa9f0e, 0x01c3b259, 0x00027349, 0x00213c95}}, Y: Field{[10]uint32{0x035cd8b1, 0x0308648c, 0x02944983, 0x00df4e51, 0x0109bee1, 0x027c18c6, 0x017d283d, 0x018c0b32, 0x0109f07e, 0x003cb5ff}}}, + {X: Field{[10]uint32{0x029503e3, 0x02cb7733, 0x00038136, 0x03533c02, 0x033adabf, 0x00761bfd, 0x01190e39, 0x010dca16, 0x02b55887, 0x003bd9d4}}, Y: Field{[10]uint32{0x03131c56, 0x00567e0f, 0x010f91e6, 0x0391850e, 0x0273f949, 0x02373e63, 0x03aa6759, 0x02d1e5f2, 0x0250013c, 0x0008f672}}}, + {X: Field{[10]uint32{0x0085ba6d, 0x02f0b004, 0x02a46602, 0x01d3f845, 0x00fe198f, 0x01df1ddb, 0x001cb52c, 0x0399f3d9, 0x01903b3f, 0x003e2361}}, Y: Field{[10]uint32{0x0208742d, 0x001fedee, 0x03a32405, 0x028a39b3, 0x0021da61, 0x0377c539, 0x0295714c, 0x02b5a28d, 0x02bd2178, 0x00162bca}}}, + {X: Field{[10]uint32{0x01b9c01c, 0x037805cb, 0x01354645, 0x03543457, 0x0218cde6, 0x0177b5f4, 0x01daaa8c, 0x02e5719d, 0x01bdd366, 0x0024edce}}, Y: Field{[10]uint32{0x01cf3627, 0x02e21b89, 0x03fb4748, 0x03c71f22, 0x017afea5, 0x02b83f2b, 0x03af5b96, 0x023aa98c, 0x01356c2f, 0x000093b1}}}, + {X: Field{[10]uint32{0x00443394, 0x00fc88c0, 0x00f95d41, 0x02496260, 0x006d313b, 0x02030455, 0x0382f801, 0x03968b6f, 0x0004da7a, 0x001ccb3d}}, Y: Field{[10]uint32{0x01596953, 0x035e2693, 0x01e431b7, 0x021054f2, 0x02e88200, 0x029dded5, 0x02eae580, 0x02e42a40, 0x03261758, 0x002163a0}}}, + {X: Field{[10]uint32{0x01d36e32, 0x0296652a, 0x02f7528e, 0x00ad6f92, 0x0365fc25, 0x006e0e2d, 0x002e024a, 0x0000b4fe, 0x03192c40, 0x003bf781}}, Y: Field{[10]uint32{0x01d9107b, 0x00be034f, 0x01483f0c, 0x02d5a751, 0x03b8dd69, 0x020ea71b, 0x02635851, 0x00d5da46, 0x035c3a15, 0x00227074}}}, + {X: Field{[10]uint32{0x02c90a15, 0x03764307, 0x034a6b42, 0x016e6c69, 0x02f114e6, 0x02a542f6, 0x0020c1cd, 0x00ce49d9, 0x02f28069, 0x0027bb6a}}, Y: Field{[10]uint32{0x03164de2, 0x022e81f4, 0x035337de, 0x03842b0e, 0x0226f427, 0x0134a314, 0x009728da, 0x010334c9, 0x00247fa5, 0x0004e677}}}, + {X: Field{[10]uint32{0x01433195, 0x034f5086, 0x017dd877, 0x031f52e8, 0x03775805, 0x03f6d21f, 0x01eaafeb, 0x028851a7, 0x028d342a, 0x0008fc3a}}, Y: Field{[10]uint32{0x03699b03, 0x02ff5182, 0x0306e4fc, 0x030e79f0, 0x0163444d, 0x0353a4f0, 0x032ca8d1, 0x02071574, 0x0231d2a4, 0x0037071b}}}, + {X: Field{[10]uint32{0x03e060b8, 0x032ddbaa, 0x0052c074, 0x003538cc, 0x02edd47c, 0x01a8c174, 0x0116e827, 0x02798162, 0x027058c2, 0x00003614}}, Y: Field{[10]uint32{0x010cfac8, 0x03f69baf, 0x012583a2, 0x02da2a68, 0x0384d497, 0x027a9264, 0x009e5105, 0x016ee57b, 0x0104e4db, 0x00268392}}}, + {X: Field{[10]uint32{0x009f28b8, 0x02411acc, 0x0363ad4d, 0x00ddeacd, 0x00f7d36b, 0x0033ce18, 0x022d2d19, 0x00481164, 0x015cccf9, 0x0006cd32}}, Y: Field{[10]uint32{0x0151e948, 0x0128478a, 0x0008f6f1, 0x03a246ed, 0x01f7080d, 0x0181f2d3, 0x0078c3d2, 0x0198ead9, 0x020c3f5f, 0x001c308c}}}, + {X: Field{[10]uint32{0x0384b228, 0x02851cd2, 0x028c28fc, 0x00d85263, 0x0289569d, 0x03c41c1e, 0x016d4e20, 0x0165aedd, 0x03dcae5e, 0x000c9563}}, Y: Field{[10]uint32{0x02038d86, 0x0241be45, 0x03cfb501, 0x0381d2db, 0x01fe63f6, 0x0356ab36, 0x03978c43, 0x01d56ec8, 0x00b75ed5, 0x001dd66a}}}, + {X: Field{[10]uint32{0x01984acd, 0x032c7a37, 0x02bf8577, 0x03b3e8f5, 0x016028d7, 0x00102bef, 0x01a38202, 0x02f15ce4, 0x037737d2, 0x00192062}}, Y: Field{[10]uint32{0x01ca2300, 0x001d225c, 0x03e1f057, 0x03b29c99, 0x012cf895, 0x0298c12f, 0x027b8914, 0x01553648, 0x01346ae9, 0x001080ae}}}, + {X: Field{[10]uint32{0x0177b333, 0x00b61f63, 0x031aae57, 0x0015cb86, 0x01bcd337, 0x010a2154, 0x02a23732, 0x01f2d50a, 0x02c6ec2d, 0x0031abda}}, Y: Field{[10]uint32{0x02c78cbf, 0x031f36b7, 0x023529fc, 0x022e17c8, 0x015d5af1, 0x034101fb, 0x02393bcd, 0x028b7c63, 0x01594ae5, 0x003fff95}}}, + {X: Field{[10]uint32{0x00f1cef0, 0x00378fa9, 0x02f13a8b, 0x00d0a3ba, 0x002e7a9e, 0x03ccbf51, 0x022a0317, 0x004be03e, 0x004494ea, 0x00247e3f}}, Y: Field{[10]uint32{0x0154dbcf, 0x03fdb669, 0x02a42481, 0x0097aba8, 0x03e76c22, 0x003309ab, 0x02765f42, 0x007742b1, 0x007ad81b, 0x0001a829}}}, + {X: Field{[10]uint32{0x01c1c017, 0x00ff1084, 0x016c8e35, 0x01848cd7, 0x02dc610a, 0x030056d1, 0x01b081fd, 0x03d5f21e, 0x01fa6a26, 0x0038566a}}, Y: Field{[10]uint32{0x013e8851, 0x0126beaa, 0x010b6bd7, 0x031f2a07, 0x00f1c181, 0x013077cb, 0x01656f9b, 0x0380269d, 0x0243445a, 0x00308271}}}, + {X: Field{[10]uint32{0x00f9330b, 0x02fae969, 0x01813556, 0x01a6e279, 0x031a7051, 0x001b4a0f, 0x011eda9c, 0x00ea5c48, 0x005e135f, 0x003a3a7f}}, Y: Field{[10]uint32{0x01af0abb, 0x02c4353a, 0x01553fe0, 0x02e7cff1, 0x01c88423, 0x03c7912d, 0x03b55fa6, 0x03a3db69, 0x00993b73, 0x003a2e5a}}}, + {X: Field{[10]uint32{0x000edead, 0x010d4daf, 0x035b1642, 0x0062bbbe, 0x0011aa98, 0x004ce12d, 0x0027ec6e, 0x013030db, 0x0129d5ae, 0x003cfd75}}, Y: Field{[10]uint32{0x033d34b9, 0x016f9876, 0x02ae533f, 0x00190f94, 0x021dd1e3, 0x03f1782a, 0x01abbc4f, 0x0304ccd1, 0x02431e40, 0x000fdd01}}}, + {X: Field{[10]uint32{0x00c81159, 0x013db5db, 0x0206a02e, 0x01727285, 0x0209eae6, 0x00505d80, 0x039acffe, 0x02ee6b86, 0x0030f5d8, 0x00316dd9}}, Y: Field{[10]uint32{0x032429c1, 0x03a1b633, 0x00fad0d2, 0x00ce6800, 0x0229b139, 0x02454e02, 0x00875916, 0x02426090, 0x03097008, 0x00201a27}}}, + {X: Field{[10]uint32{0x00fc09b0, 0x01442703, 0x00261e93, 0x0191ca25, 0x00ff2755, 0x03edb6d4, 0x02d30c9f, 0x0241d117, 0x00b434f5, 0x002552a9}}, Y: Field{[10]uint32{0x0072e4ad, 0x01974f43, 0x00ec5832, 0x01ba029c, 0x03a808b7, 0x00ec3f3c, 0x0176be8b, 0x00b095b3, 0x02861bad, 0x002008f2}}}, + {X: Field{[10]uint32{0x023d528b, 0x03c4cd5b, 0x00249d6d, 0x01512eed, 0x021b96ee, 0x002960cd, 0x020c9b93, 0x03cce4c0, 0x00bb4803, 0x0001576a}}, Y: Field{[10]uint32{0x02e5b64c, 0x03bdf38c, 0x02575799, 0x0134d568, 0x002387b1, 0x02805e17, 0x00bb209d, 0x03a7d61b, 0x0388ca06, 0x00373112}}}, + {X: Field{[10]uint32{0x03a1de03, 0x01fe2ee8, 0x0236877a, 0x02f285db, 0x01db59ea, 0x0098ad38, 0x02d48d3d, 0x02ca1ac2, 0x0000d810, 0x0020213a}}, Y: Field{[10]uint32{0x03dc1480, 0x0223f118, 0x00f85e08, 0x02b3acd2, 0x00070d60, 0x02f17e60, 0x0309c129, 0x0197f027, 0x029c59f8, 0x00362fba}}}, + {X: Field{[10]uint32{0x0318b39b, 0x03be9055, 0x00bd7f85, 0x005ec030, 0x03d15e02, 0x00252526, 0x00f49a15, 0x01fe21d2, 0x02c236c8, 0x0006caed}}, Y: Field{[10]uint32{0x01029c74, 0x006b4514, 0x001dc810, 0x00b02c3a, 0x00c3c3f4, 0x01afaa69, 0x03dd0180, 0x03cdbbc6, 0x01956aad, 0x0008592c}}}, + {X: Field{[10]uint32{0x00377872, 0x0368e295, 0x02d84830, 0x03667e46, 0x01de9139, 0x034bfafb, 0x01c65ce3, 0x030dcb97, 0x03e80125, 0x003ee9a1}}, Y: Field{[10]uint32{0x03e001c9, 0x00fb049c, 0x03f83092, 0x03c95fd2, 0x0355aabb, 0x0016a584, 0x00a7a821, 0x02540729, 0x02df03b8, 0x0022513a}}}, + {X: Field{[10]uint32{0x01560cbd, 0x038b7fbf, 0x03a948aa, 0x017bc246, 0x03d21e15, 0x0168b5e5, 0x00699c97, 0x0305bfe7, 0x0380a5f1, 0x002d6392}}, Y: Field{[10]uint32{0x02cec3ec, 0x02944a14, 0x02fec937, 0x01f64097, 0x0304606f, 0x00b5aaa5, 0x031b7f41, 0x02fe9b95, 0x02ba1429, 0x003ffe72}}}, + {X: Field{[10]uint32{0x0026edec, 0x03c5f38d, 0x02900fce, 0x01f2750e, 0x00114fdb, 0x00171af9, 0x0222551e, 0x01b08554, 0x0126da5d, 0x0023af35}}, Y: Field{[10]uint32{0x013aa97e, 0x01f7e194, 0x0021eae9, 0x00d2bbb7, 0x03de11f0, 0x014bd519, 0x02aafb1a, 0x0006d8fa, 0x03986b33, 0x001ce83e}}}, + {X: Field{[10]uint32{0x03ee325e, 0x0159a446, 0x00d2dbb9, 0x00c99010, 0x037354e0, 0x025c5526, 0x01c68f0e, 0x00a7a257, 0x000b924b, 0x003ee915}}, Y: Field{[10]uint32{0x0105ebd4, 0x039bd464, 0x0321b6c9, 0x009c5bd4, 0x02290f3c, 0x0394a10e, 0x02ba0d07, 0x015eb8d0, 0x00c33b98, 0x0014a422}}}, + {X: Field{[10]uint32{0x039c44de, 0x01bd3a2f, 0x025b0ab4, 0x025d946c, 0x02ce014c, 0x01bcfcdb, 0x006301a6, 0x034c91b6, 0x0097a1a7, 0x0022de8b}}, Y: Field{[10]uint32{0x00b247c7, 0x00ca3f69, 0x017b94cb, 0x02110ff0, 0x027c88a6, 0x007a9d4d, 0x006c1f47, 0x00d6cd9e, 0x00ab699c, 0x002e0a15}}}, + {X: Field{[10]uint32{0x02d2279c, 0x00e6963a, 0x0096f40c, 0x01dd2f52, 0x03931796, 0x006ea426, 0x0003bbba, 0x01c5539c, 0x03435adb, 0x00277c45}}, Y: Field{[10]uint32{0x01b884eb, 0x03c866d0, 0x02f8377e, 0x019775e8, 0x01d45668, 0x01eae190, 0x02913d6e, 0x0330db0d, 0x034ea216, 0x0029e48b}}}, + {X: Field{[10]uint32{0x02931cd8, 0x02b6b915, 0x03e9e414, 0x005707e6, 0x02c54b62, 0x01cc5224, 0x02fd9e73, 0x0111320b, 0x0384749b, 0x0016fade}}, Y: Field{[10]uint32{0x03abb95c, 0x0183a6cb, 0x01f7b64f, 0x03f3ad47, 0x03d32b7c, 0x03cc23bf, 0x02753fbf, 0x0029f0a3, 0x025f32cd, 0x00026790}}}, + {X: Field{[10]uint32{0x00788879, 0x004abd93, 0x02f43cd5, 0x01745c19, 0x01c9f8ed, 0x028edec2, 0x005114f4, 0x0012e9e3, 0x00430ff2, 0x000aa0c3}}, Y: Field{[10]uint32{0x02666c84, 0x02588c18, 0x0286561e, 0x00267b90, 0x009ba148, 0x0081fac0, 0x02827fed, 0x00994bae, 0x03a4e888, 0x00004948}}}, + {X: Field{[10]uint32{0x0057486a, 0x02488787, 0x014191b6, 0x00500670, 0x00985a77, 0x0334cb65, 0x00ab408b, 0x00a8639a, 0x02a14c1f, 0x003dc691}}, Y: Field{[10]uint32{0x00534875, 0x01d6db48, 0x00f0aef6, 0x00feca07, 0x034fac44, 0x03303683, 0x00ce36a4, 0x02694d3f, 0x033e0ea7, 0x002b7c66}}}, + {X: Field{[10]uint32{0x029d193b, 0x010da9f1, 0x012fdcb6, 0x02acdb10, 0x00bbad2b, 0x01f58f03, 0x00ae2d9f, 0x00acc59e, 0x01dcaa9c, 0x000ae039}}, Y: Field{[10]uint32{0x022119c3, 0x00875880, 0x00ffa276, 0x00670821, 0x038f3c90, 0x0141891e, 0x001ce04c, 0x00018ada, 0x004d71d6, 0x002f20f8}}}, + {X: Field{[10]uint32{0x023beece, 0x0148d739, 0x01d5bb97, 0x00300f11, 0x0175424a, 0x011124d0, 0x0375b58d, 0x031a71a0, 0x033be521, 0x001272f7}}, Y: Field{[10]uint32{0x0062de7f, 0x01b12697, 0x017a8ae4, 0x03c558e6, 0x0291d260, 0x00e84dab, 0x0356abad, 0x039f3b0d, 0x02eaf0f0, 0x00315857}}}, + {X: Field{[10]uint32{0x029ee1b2, 0x016e8c73, 0x0373979c, 0x00ee72a1, 0x03f7aa66, 0x03741c3d, 0x015e2f31, 0x02c45648, 0x0314b643, 0x00339351}}, Y: Field{[10]uint32{0x02feac38, 0x023f76c7, 0x010aad6f, 0x02d08030, 0x00479745, 0x0188406c, 0x0359ef5e, 0x00ea8d36, 0x0212a2fc, 0x002c7cd7}}}, + {X: Field{[10]uint32{0x01e10054, 0x00b53758, 0x01656299, 0x01e7b5f1, 0x01a8bef4, 0x03562071, 0x013bb1b5, 0x016b0e36, 0x02bbaa90, 0x001a09ed}}, Y: Field{[10]uint32{0x016bb869, 0x03e3b3ca, 0x0064d1af, 0x009dfbc8, 0x0030fc37, 0x016007d5, 0x00484279, 0x00083646, 0x007baf65, 0x0021492a}}}, + {X: Field{[10]uint32{0x0056535f, 0x03d2b460, 0x0112519a, 0x0062c5b7, 0x00ab9472, 0x000e9268, 0x037879aa, 0x035fc71e, 0x00d548f4, 0x00039c79}}, Y: Field{[10]uint32{0x0232f574, 0x006ece03, 0x01c09f0d, 0x01a0f7b4, 0x0383aeed, 0x02d72604, 0x03e3beda, 0x02cf55bd, 0x00617098, 0x00125741}}}, + {X: Field{[10]uint32{0x0200e032, 0x00199f1b, 0x02542632, 0x005a1cf3, 0x00656528, 0x00ffb69a, 0x036aa32a, 0x03ecc350, 0x01797429, 0x003bda0e}}, Y: Field{[10]uint32{0x0134613f, 0x028d8d41, 0x01404fbb, 0x001bc053, 0x0002f175, 0x006229ab, 0x01ed846f, 0x025fa03f, 0x024ade11, 0x002d2c63}}}, + {X: Field{[10]uint32{0x012deaf4, 0x0162c0f9, 0x0245b0a2, 0x00db07b1, 0x01dd557e, 0x038bbb61, 0x008007d0, 0x01fbffa4, 0x01c1ac8f, 0x000031ca}}, Y: Field{[10]uint32{0x021305fe, 0x01fafd15, 0x00f27bde, 0x02242b0e, 0x0312365b, 0x00cd6821, 0x02bade6a, 0x013dab17, 0x01c21858, 0x000ba0fb}}}, + {X: Field{[10]uint32{0x015735ab, 0x031fec44, 0x0288cc1c, 0x03088492, 0x01290d54, 0x02b8b7b4, 0x03c4f2c3, 0x01b54eca, 0x01199a71, 0x0033c74e}}, Y: Field{[10]uint32{0x0100e6e6, 0x02dc35b7, 0x029089b7, 0x03bab550, 0x03c276c8, 0x02ae14e2, 0x0180970d, 0x0100b3a2, 0x01a57ec3, 0x001ad13d}}}, + {X: Field{[10]uint32{0x03ecdeae, 0x03582696, 0x00f55cf9, 0x01ffe0b6, 0x01a9c28a, 0x03a4369d, 0x031f772e, 0x03b8a3cf, 0x03a0266d, 0x001b3cf5}}, Y: Field{[10]uint32{0x01bc58d4, 0x037ebad2, 0x01e14034, 0x02d3113b, 0x00ede5c9, 0x0366a66f, 0x01b9cf94, 0x03338a25, 0x03b31e11, 0x000ef463}}}, + {X: Field{[10]uint32{0x01395542, 0x01d2701f, 0x00be7f28, 0x02bb3e0c, 0x0256393c, 0x0002ba4c, 0x02e4274f, 0x03bb2b37, 0x0032ae63, 0x003692d6}}, Y: Field{[10]uint32{0x01b2210b, 0x03220633, 0x00ec4dfe, 0x038c6da5, 0x02106374, 0x005a12e4, 0x01610c9d, 0x0103c605, 0x023bd2d9, 0x0026aaec}}}, + {X: Field{[10]uint32{0x0330bbfa, 0x0357de90, 0x002d4b8a, 0x0043a561, 0x03407d1a, 0x03a8b1af, 0x0063270c, 0x00385be7, 0x03502321, 0x003e46b8}}, Y: Field{[10]uint32{0x013aa1c2, 0x00421ae4, 0x01e161b5, 0x010ccd94, 0x0153c915, 0x034f46bc, 0x029290ef, 0x0095cd65, 0x01acd196, 0x00007c58}}}, + {X: Field{[10]uint32{0x02f1ac02, 0x021d2cbc, 0x0025556c, 0x01cfe872, 0x02c72e3f, 0x01cca149, 0x0047c862, 0x00a8b916, 0x0352cc3e, 0x001f86fb}}, Y: Field{[10]uint32{0x02f6e6fe, 0x0305e1f9, 0x017f44c4, 0x008fba36, 0x0008ff05, 0x003f13d4, 0x03048fee, 0x03934f6d, 0x037ea706, 0x002f92c3}}}, + {X: Field{[10]uint32{0x03d5998f, 0x03f20534, 0x020ecb27, 0x03c52f9c, 0x03706567, 0x03724bad, 0x00e256cc, 0x00bb8dd2, 0x015d30dc, 0x0003749a}}, Y: Field{[10]uint32{0x032dc74f, 0x000a8668, 0x0396ed1a, 0x0103c3c2, 0x01bba677, 0x01151cad, 0x027cf998, 0x02004e7b, 0x0044f102, 0x0026bccb}}}, + {X: Field{[10]uint32{0x009dbb9d, 0x002ccdd9, 0x037c94d2, 0x02550fec, 0x02125fe3, 0x00ceddb6, 0x02602ba0, 0x018f2344, 0x02507147, 0x001e3eb9}}, Y: Field{[10]uint32{0x03ce3aa6, 0x0388d46f, 0x00ce121d, 0x00c81989, 0x00c3b925, 0x02bc7fa9, 0x01826e5e, 0x03339bd9, 0x000f0726, 0x001e3713}}}, + {X: Field{[10]uint32{0x01c98bd5, 0x02498da3, 0x018dfee6, 0x02e16476, 0x021b6fb6, 0x0005ad16, 0x01d3e00d, 0x01774aa8, 0x021e510e, 0x0007b7d4}}, Y: Field{[10]uint32{0x01311f86, 0x02369055, 0x00a59751, 0x034d8efb, 0x00aeafd8, 0x006ac3c8, 0x034d8177, 0x026e3743, 0x016d9b2e, 0x00268340}}}, + {X: Field{[10]uint32{0x00101d39, 0x01aa8634, 0x02b4d416, 0x0250dd58, 0x007ce286, 0x00f31a79, 0x013272cd, 0x02d82e45, 0x030c5e53, 0x002181ee}}, Y: Field{[10]uint32{0x02eb519a, 0x0159b565, 0x00e988ef, 0x015c9e49, 0x02388707, 0x01922be3, 0x01a294aa, 0x0195070d, 0x031ec83c, 0x00005728}}}, + {X: Field{[10]uint32{0x02d02eab, 0x02d97de5, 0x02df7166, 0x001e44bc, 0x03037f96, 0x010ae6ed, 0x020dbb7c, 0x000fde02, 0x000d9a05, 0x00197f4c}}, Y: Field{[10]uint32{0x02a3b5d9, 0x02e4a2d3, 0x00aa5335, 0x00f3513b, 0x02904caf, 0x03dad0fc, 0x03945401, 0x02a14847, 0x035084fb, 0x003f3454}}}, + {X: Field{[10]uint32{0x0002d148, 0x03c51633, 0x03f99f47, 0x02a4cc24, 0x0336d031, 0x01332fac, 0x01845f03, 0x01f38700, 0x03a76c84, 0x0032462c}}, Y: Field{[10]uint32{0x03728568, 0x00eb7f5f, 0x00eb53ed, 0x02772a17, 0x02059632, 0x03ea9b98, 0x00632700, 0x00b880c8, 0x0003dbbb, 0x003c95bd}}}, + {X: Field{[10]uint32{0x01661817, 0x014ab381, 0x03bb5c13, 0x03536f82, 0x01532e54, 0x0102b783, 0x02cb4291, 0x02e1e42f, 0x00fd02f0, 0x001ab0b7}}, Y: Field{[10]uint32{0x029e2af3, 0x02ab8592, 0x026dccca, 0x038c1811, 0x03784c3d, 0x01c89470, 0x0323074e, 0x00e5b16b, 0x0310abf9, 0x003cb098}}}, + {X: Field{[10]uint32{0x033f3d19, 0x02ffcbf2, 0x0295f5b0, 0x02a517da, 0x02cf8e95, 0x017facac, 0x0239b94b, 0x03ce273b, 0x00ee54ac, 0x00235c71}}, Y: Field{[10]uint32{0x031ce52d, 0x01d611c3, 0x00cb6548, 0x015e26d1, 0x03f0bc88, 0x00cc1840, 0x03a3881e, 0x030711f6, 0x03d95a02, 0x0026110a}}}, + {X: Field{[10]uint32{0x00f583c3, 0x03b84911, 0x03072b3d, 0x01a2a426, 0x002e5d73, 0x01447a1d, 0x000abbb0, 0x01c463cb, 0x00d3fd55, 0x003a2f49}}, Y: Field{[10]uint32{0x03ce6538, 0x02c6fc22, 0x0343a4d4, 0x016b3583, 0x02238028, 0x01c59167, 0x037992a6, 0x008b6d96, 0x03a6e286, 0x003874b0}}}, + {X: Field{[10]uint32{0x00075217, 0x01c9568f, 0x011d032d, 0x0092acab, 0x00483fd0, 0x00c478ed, 0x02c8c516, 0x033e2794, 0x01755cf8, 0x0018b70a}}, Y: Field{[10]uint32{0x000e2a97, 0x0247e3d7, 0x00d1e093, 0x02a523cf, 0x018b3fc8, 0x00255094, 0x0301e9cd, 0x008b6383, 0x0132d80d, 0x0001e678}}}, + {X: Field{[10]uint32{0x004c0e13, 0x014125b5, 0x01451a60, 0x013d9aa5, 0x034d4323, 0x031f4f01, 0x01027099, 0x01f9832c, 0x03aacf72, 0x000df6c4}}, Y: Field{[10]uint32{0x01b1066b, 0x0090cd22, 0x02fb0629, 0x01b7427a, 0x02d3402a, 0x0004e87d, 0x02e9d07e, 0x03bfd065, 0x03be8f8c, 0x00030e0e}}}, + {X: Field{[10]uint32{0x032aa1ab, 0x01d6cc3e, 0x02c39378, 0x00e49a67, 0x01be9dc4, 0x01cbc77c, 0x018e17c4, 0x01c67b21, 0x0365eab7, 0x000defed}}, Y: Field{[10]uint32{0x01721364, 0x014d58f4, 0x00eea23b, 0x017419bc, 0x025cf44b, 0x022be329, 0x0135f4a9, 0x031308be, 0x03fd865d, 0x001c9c62}}}, + {X: Field{[10]uint32{0x005d1b94, 0x02e914aa, 0x0145606d, 0x03f84803, 0x03b5d5c3, 0x01885229, 0x01ba6e1f, 0x02fcd57f, 0x021287fc, 0x0010cfb7}}, Y: Field{[10]uint32{0x0357c20e, 0x01765251, 0x02e60571, 0x01f1ebb9, 0x01137a4c, 0x00f8c1e0, 0x030c9591, 0x0144eca3, 0x0213ad6e, 0x002c9f15}}}, + {X: Field{[10]uint32{0x02671861, 0x02695f4f, 0x03b323af, 0x0342e2c9, 0x02d23295, 0x02adf7d1, 0x021917f6, 0x00379a4a, 0x019fc5ed, 0x0003960b}}, Y: Field{[10]uint32{0x00073154, 0x0077bff5, 0x01fd6557, 0x01cc6de3, 0x01d1c9e0, 0x021b2c74, 0x039faa53, 0x0036f5f9, 0x0385e277, 0x000cfba1}}}, + {X: Field{[10]uint32{0x009442c2, 0x00a18013, 0x0189e4e4, 0x000529a8, 0x02ad8fae, 0x003c1ab7, 0x02d4e5da, 0x03c56bb8, 0x0340634b, 0x00182c1e}}, Y: Field{[10]uint32{0x004b283d, 0x00466c6f, 0x00f37ff2, 0x027295ec, 0x011557f2, 0x02362ab1, 0x034a2cd6, 0x010ee98a, 0x03cd00d2, 0x003fb821}}}, + {X: Field{[10]uint32{0x01e03100, 0x0196b4cb, 0x009b2102, 0x029f38df, 0x02643e6d, 0x01ba23ee, 0x0245e35b, 0x03df2828, 0x027601e5, 0x0012c59c}}, Y: Field{[10]uint32{0x02d8dde7, 0x024324e3, 0x00a6473b, 0x00aed8c5, 0x00cacda0, 0x03547c57, 0x0126c1dc, 0x021f8243, 0x03024768, 0x000a2ab3}}}, + {X: Field{[10]uint32{0x022a3170, 0x034be6ff, 0x027b2a17, 0x03853b53, 0x02fab97d, 0x026a22b8, 0x0003e638, 0x01f9d312, 0x013d6d79, 0x00175584}}, Y: Field{[10]uint32{0x01cd524f, 0x00ac79f6, 0x033abee4, 0x024b8b65, 0x02c65459, 0x03acacd3, 0x02462a27, 0x02cbfe98, 0x02a8534e, 0x000253bc}}}, + {X: Field{[10]uint32{0x0234f828, 0x02cf418e, 0x03a7ee38, 0x0363ca37, 0x03f4a06c, 0x03a3111c, 0x01572878, 0x006b6344, 0x03ae7511, 0x002a740f}}, Y: Field{[10]uint32{0x03517881, 0x0347e54c, 0x0262e4d9, 0x02d31f78, 0x03480c94, 0x01a3daea, 0x02665bf9, 0x0261e4b2, 0x000cc731, 0x00281ccf}}}, + {X: Field{[10]uint32{0x020e1ad5, 0x0157c959, 0x00522508, 0x0058599b, 0x0058fd37, 0x02cfdf9c, 0x00db3b77, 0x02f3a7b5, 0x01712b1a, 0x001d0665}}, Y: Field{[10]uint32{0x00da44db, 0x019ef640, 0x0385f22b, 0x03062ab0, 0x00ea3ef2, 0x009c9800, 0x013b8a32, 0x01d6273f, 0x02a8097f, 0x001c432b}}}, + {X: Field{[10]uint32{0x01918dc8, 0x02ae5bc9, 0x00be7cab, 0x03cab31a, 0x02ba0106, 0x0119cf85, 0x03a1e5f8, 0x0296c7ba, 0x010dbf81, 0x0027c5a6}}, Y: Field{[10]uint32{0x00ebc4f5, 0x01962314, 0x007b0f0b, 0x03c7a996, 0x03135d46, 0x000e01aa, 0x0049d39c, 0x004108d3, 0x007b6232, 0x00035835}}}, + {X: Field{[10]uint32{0x0301d57d, 0x01c302c8, 0x00619b6a, 0x03d322c9, 0x03c99143, 0x02af4569, 0x011c888f, 0x02e69eb6, 0x01bc4f12, 0x000ed41a}}, Y: Field{[10]uint32{0x01dd1a79, 0x020a31ff, 0x035a8979, 0x013aa1ad, 0x02da1854, 0x02cc4759, 0x034ddfd4, 0x02a5127e, 0x00d1ae59, 0x0036ee1f}}}, + {X: Field{[10]uint32{0x02baee90, 0x026e51b6, 0x01c68115, 0x035c26dd, 0x01f90cdc, 0x02feaecc, 0x03bf9afb, 0x028db82e, 0x03a967b5, 0x00277a98}}, Y: Field{[10]uint32{0x02bc4464, 0x019989f1, 0x01e57b8a, 0x03ae5353, 0x0305c7d2, 0x02460348, 0x01a605ce, 0x02e5638c, 0x019b11ba, 0x002c52ee}}}, + {X: Field{[10]uint32{0x01e31e79, 0x0377d215, 0x03a188e0, 0x00b30cf0, 0x0309fe6b, 0x0104798e, 0x025cb534, 0x01aa1095, 0x03921da3, 0x00342c8c}}, Y: Field{[10]uint32{0x0374f8e9, 0x010d7943, 0x02a7515c, 0x01d90fed, 0x02991172, 0x00d42cec, 0x02f1cfcc, 0x01524b72, 0x03ea1a6e, 0x00203b64}}}, + {X: Field{[10]uint32{0x00b03d20, 0x0205ece4, 0x01da552c, 0x0323dc44, 0x03acfe85, 0x03d1078f, 0x00ca7a49, 0x03912fe6, 0x0255966a, 0x0022b725}}, Y: Field{[10]uint32{0x03c0021e, 0x0069b95c, 0x013b4eed, 0x019b6c6e, 0x005dd1d5, 0x024cdd0c, 0x00c80eac, 0x01cc4860, 0x014c6a71, 0x00339c81}}}, + {X: Field{[10]uint32{0x020c1670, 0x0059c987, 0x03fe3ec9, 0x00438b84, 0x02141ac6, 0x00062929, 0x00800b6d, 0x00f7a9c0, 0x03f8cf6d, 0x003dbdda}}, Y: Field{[10]uint32{0x039a302c, 0x0070e54f, 0x01a54e24, 0x03dd9913, 0x0263e4fe, 0x01ace93b, 0x025e2a10, 0x0261da63, 0x00afe1ea, 0x002cb11e}}}, + {X: Field{[10]uint32{0x00b898e5, 0x00f61bc5, 0x039fef87, 0x0235b697, 0x03217638, 0x01cece44, 0x00fcaa18, 0x0368c05d, 0x007d38b7, 0x0003560a}}, Y: Field{[10]uint32{0x02fc8402, 0x00ba7b1a, 0x005ee350, 0x03d58795, 0x03da2b8f, 0x0052b433, 0x018f91d1, 0x00217a0c, 0x013469ed, 0x001e17f2}}}, + {X: Field{[10]uint32{0x01a3661c, 0x02fd9d0e, 0x0354a02f, 0x0047d2e0, 0x01538e3d, 0x0361c0b0, 0x03e810c6, 0x03b9567f, 0x022350c5, 0x001ddcb2}}, Y: Field{[10]uint32{0x006edddb, 0x036690da, 0x00d6c931, 0x02a2b87f, 0x03fe3dd3, 0x00fa6393, 0x008aefb2, 0x0368516d, 0x02de853f, 0x001688c4}}}, + {X: Field{[10]uint32{0x02433ad5, 0x01c177dc, 0x02308069, 0x00f9dab7, 0x0046ce90, 0x03f0fecb, 0x010ac95e, 0x00da1deb, 0x0176c50f, 0x0028be7e}}, Y: Field{[10]uint32{0x00c285f3, 0x03c15bf2, 0x0238a22a, 0x012da2be, 0x01f201dd, 0x03e35d11, 0x0211b22b, 0x0227ccd7, 0x031124c2, 0x003b1594}}}, + {X: Field{[10]uint32{0x038b15f7, 0x0086a013, 0x0211bcb2, 0x019ad4b3, 0x0026fce1, 0x02b49c44, 0x010ec165, 0x03159c93, 0x036585f8, 0x00388365}}, Y: Field{[10]uint32{0x018f33fb, 0x01753766, 0x0031bfc8, 0x008059ab, 0x0321d082, 0x01aaed52, 0x0348b6bc, 0x00e18a62, 0x0133c7f6, 0x0018ed86}}}, + {X: Field{[10]uint32{0x00ecc18f, 0x033b00eb, 0x0093e42d, 0x0222cafc, 0x03659ba6, 0x001b6c77, 0x0298d945, 0x00778b2f, 0x019d00ca, 0x00221a2d}}, Y: Field{[10]uint32{0x00f2fd0e, 0x005760ff, 0x03076e22, 0x0146bed4, 0x02dea562, 0x01493afd, 0x01dbfe84, 0x023ec014, 0x030796b9, 0x003c0ba6}}}, + {X: Field{[10]uint32{0x01fb677c, 0x01606e22, 0x016a43f8, 0x0099e09b, 0x0099c832, 0x029afc3a, 0x005f86b9, 0x004d869e, 0x002fe32a, 0x0004267e}}, Y: Field{[10]uint32{0x0044445b, 0x03cdf627, 0x01aac7fc, 0x01866bfa, 0x02cd2d3e, 0x024bab11, 0x0320cd35, 0x03c9c4b3, 0x03f29aa7, 0x0004fee0}}}, + {X: Field{[10]uint32{0x01cbeea3, 0x00147d0d, 0x01d31ef2, 0x032bb8b5, 0x03deae65, 0x032986c9, 0x03329698, 0x039ecd7d, 0x029677ec, 0x0012be71}}, Y: Field{[10]uint32{0x024e5ef0, 0x00420999, 0x006985b2, 0x025a04c3, 0x00ebfe51, 0x00910229, 0x02e3f80a, 0x02a5dbe5, 0x0196429d, 0x001cc011}}}, + {X: Field{[10]uint32{0x03dab473, 0x00ed50d5, 0x02045edb, 0x022f45bb, 0x01300d1f, 0x01c4f2ae, 0x02d4bbe8, 0x02e2c0c8, 0x03ca5ace, 0x0025a032}}, Y: Field{[10]uint32{0x010df58a, 0x004c766f, 0x02aec0e9, 0x00f09e62, 0x006904ee, 0x0026ccf8, 0x014697c2, 0x02874bb3, 0x0140e36b, 0x000bca4e}}}, + {X: Field{[10]uint32{0x03fae7c2, 0x036e6b89, 0x000ee4e2, 0x03eb5ba7, 0x023eb7fd, 0x00520324, 0x01c37203, 0x011fc17e, 0x003afd63, 0x001fbbf3}}, Y: Field{[10]uint32{0x035cac06, 0x023c42fe, 0x0357e973, 0x0276b3ac, 0x007bb93d, 0x01eec78a, 0x0353e421, 0x017051f1, 0x02754f74, 0x002e3a7e}}}, + {X: Field{[10]uint32{0x039fddb4, 0x0351becb, 0x002fe98f, 0x0016c097, 0x01065e78, 0x02252557, 0x021fbf36, 0x004ae4d1, 0x0156d636, 0x0002e08c}}, Y: Field{[10]uint32{0x00bd465a, 0x02771604, 0x0360cdab, 0x031a8aa3, 0x00d0b537, 0x03a7ab75, 0x03453ebf, 0x03a47917, 0x017a826f, 0x003c8f14}}}, + {X: Field{[10]uint32{0x01bdadd9, 0x005134e1, 0x002b44d5, 0x008ba246, 0x01bfb9de, 0x00b9d96a, 0x0178706e, 0x03f55248, 0x035e2035, 0x003a0074}}, Y: Field{[10]uint32{0x02956a26, 0x0186025d, 0x03478481, 0x0000fea9, 0x011c2162, 0x00678dea, 0x00868e04, 0x039bc206, 0x023427de, 0x00079920}}}, + {X: Field{[10]uint32{0x01c67f3a, 0x0123d4b3, 0x01a1c2f3, 0x01402122, 0x0029fd77, 0x01fa243f, 0x00369e50, 0x0025a4a1, 0x010e56b7, 0x003a7518}}, Y: Field{[10]uint32{0x008e4a0e, 0x02a13fad, 0x02c1f7d9, 0x008895f0, 0x031df0e6, 0x03b9145a, 0x01bfca22, 0x020b868a, 0x02ac357d, 0x002397da}}}, + {X: Field{[10]uint32{0x03b7609b, 0x0206bdb4, 0x028ff4a4, 0x022838d4, 0x00b94bae, 0x011a0021, 0x00d7aa09, 0x0377b8d0, 0x030f51d6, 0x001c70fb}}, Y: Field{[10]uint32{0x015f6b96, 0x03d5f8cc, 0x03ca4544, 0x0351264b, 0x03db6886, 0x02985690, 0x00adc4da, 0x021e8c4e, 0x00dc2f80, 0x0013459d}}}, + {X: Field{[10]uint32{0x027d6f20, 0x02670392, 0x03947ce9, 0x020f055e, 0x0121aadb, 0x00e2aeb1, 0x038b44d9, 0x03107ef7, 0x0243b6f5, 0x002559f3}}, Y: Field{[10]uint32{0x03a35538, 0x0280084c, 0x00fe35e2, 0x0366cb79, 0x011fd0fd, 0x011730d7, 0x0247ca89, 0x028c6029, 0x0317031e, 0x00327618}}}, + {X: Field{[10]uint32{0x02dcc141, 0x02c8ade3, 0x0163eb9d, 0x014c3f62, 0x014f8fc7, 0x00468648, 0x033de850, 0x019ce442, 0x014f8116, 0x000d148f}}, Y: Field{[10]uint32{0x0022ac90, 0x03a43121, 0x01ce77d6, 0x0213c9df, 0x02877bca, 0x009df62e, 0x000a0660, 0x0223ae6e, 0x01fe268b, 0x002403ee}}}, + {X: Field{[10]uint32{0x03c1bd98, 0x002b5e78, 0x01278159, 0x03f2d873, 0x01f2993d, 0x0083973c, 0x034350bf, 0x010f7e8b, 0x037e5f1c, 0x001a7f47}}, Y: Field{[10]uint32{0x0051d7f3, 0x0327ce9b, 0x01615043, 0x008caf37, 0x0302d1c9, 0x0249de5c, 0x0315665a, 0x02502bb6, 0x02cf8b74, 0x0018cdc9}}}, + {X: Field{[10]uint32{0x014a3de7, 0x021e2bfa, 0x03aa2a9f, 0x01d78c5f, 0x02411b2a, 0x02d3f1ae, 0x006dd39b, 0x02e3dcc5, 0x0024c28c, 0x003930b1}}, Y: Field{[10]uint32{0x0321ae89, 0x022a527a, 0x01158fcc, 0x023a6cef, 0x01c86137, 0x00814573, 0x02607398, 0x017bd236, 0x03e8468e, 0x003ee345}}}, + {X: Field{[10]uint32{0x00e32773, 0x035ec78d, 0x019ea5de, 0x004c8984, 0x0398e445, 0x03125218, 0x01feb590, 0x005b4270, 0x019aada9, 0x0015c411}}, Y: Field{[10]uint32{0x023871bc, 0x00fb2939, 0x009f0738, 0x00abccfd, 0x02905bf1, 0x002a0d57, 0x016b4093, 0x00e96139, 0x01bdd2d8, 0x002277bb}}}, + {X: Field{[10]uint32{0x03d48e64, 0x0085e81b, 0x01bc189b, 0x02a642e1, 0x0359a3a8, 0x01c406c9, 0x0017f913, 0x001b856b, 0x02d41718, 0x00355beb}}, Y: Field{[10]uint32{0x00a6652c, 0x00c511cd, 0x038c76d7, 0x01de9221, 0x01ebe439, 0x00da3d52, 0x02f513f5, 0x02cb5ad8, 0x02c33408, 0x003ea1c7}}}, + {X: Field{[10]uint32{0x02599bcb, 0x014976ea, 0x003f7604, 0x004a0134, 0x00cb5cf0, 0x03b7e1f7, 0x0347be8e, 0x02016da2, 0x02ebda0b, 0x0039d05b}}, Y: Field{[10]uint32{0x01a56c19, 0x03d510ae, 0x01185bbc, 0x00dc4ec4, 0x03533d4f, 0x01f90c52, 0x03eb4c77, 0x0159f8c4, 0x0316f11c, 0x00218431}}}, + {X: Field{[10]uint32{0x01fa997d, 0x03c581f5, 0x0175f2d5, 0x0291b980, 0x02a4fbfc, 0x00f38cb1, 0x00606081, 0x00d50647, 0x0062ebdd, 0x00232966}}, Y: Field{[10]uint32{0x037698f4, 0x0355a478, 0x031c6980, 0x03bbeab5, 0x01113dd6, 0x00ac5343, 0x01fa1950, 0x03fab1ab, 0x000fb132, 0x002abcd2}}}, + {X: Field{[10]uint32{0x03243413, 0x02e9bc54, 0x0218172f, 0x0314a30a, 0x036eb8e4, 0x011b1480, 0x015867a8, 0x00ed1464, 0x00451fd4, 0x001925b7}}, Y: Field{[10]uint32{0x004da1f2, 0x01358939, 0x03e87cb1, 0x02f1722c, 0x03153fe2, 0x00a4b3c6, 0x00a281b9, 0x03267b80, 0x00410f85, 0x000113f7}}}, + {X: Field{[10]uint32{0x01925a5d, 0x02cbf064, 0x035d6c9c, 0x008753a3, 0x0067d207, 0x032b3348, 0x00bc248d, 0x0105aa8e, 0x0063aa82, 0x000e9091}}, Y: Field{[10]uint32{0x02fa9fb2, 0x01e11922, 0x03ca9c31, 0x02fea949, 0x00d4857a, 0x01f206fc, 0x00775cb3, 0x0096450d, 0x0063fd24, 0x001c6959}}}, + {X: Field{[10]uint32{0x0178c2e6, 0x01344274, 0x03418157, 0x0079ade1, 0x03881178, 0x02a17f98, 0x03f7985a, 0x014652b6, 0x030551d5, 0x001aa516}}, Y: Field{[10]uint32{0x0357ac44, 0x03a67fe6, 0x01d31924, 0x03c4c989, 0x0380df9a, 0x0099f289, 0x0021fc0d, 0x02a0d8c9, 0x003a1ca3, 0x00061b4d}}}, + {X: Field{[10]uint32{0x02add47f, 0x03f5df4e, 0x008aac9f, 0x003adfe3, 0x0132baac, 0x031704ec, 0x027381b8, 0x0012dedf, 0x0292682d, 0x0004fc7d}}, Y: Field{[10]uint32{0x02e99f0e, 0x02a92b89, 0x03ce2282, 0x00cce311, 0x03433725, 0x01745003, 0x03368528, 0x03fe227a, 0x01e49622, 0x0015ca81}}}, + {X: Field{[10]uint32{0x02804330, 0x0198d2f4, 0x02522a51, 0x001f9533, 0x01a27007, 0x03b6ddfd, 0x018e7b33, 0x03a3c7b6, 0x03c14f0d, 0x001e7e84}}, Y: Field{[10]uint32{0x01987c65, 0x02247bb5, 0x03aa096e, 0x02ad68bb, 0x00cf2484, 0x0183dc66, 0x001e40e0, 0x027b9cfd, 0x0188e196, 0x0028252f}}}, + {X: Field{[10]uint32{0x0133130a, 0x0280f6f9, 0x011019dd, 0x01f6ecf7, 0x01fb0837, 0x029b6acf, 0x033f7350, 0x006fdf09, 0x02dbd2c6, 0x0037c7fd}}, Y: Field{[10]uint32{0x023f886e, 0x02584764, 0x02824fd1, 0x02dd6ac3, 0x00cd0061, 0x023452a5, 0x025c969d, 0x021a264b, 0x03ad68c5, 0x0000bf71}}}, + {X: Field{[10]uint32{0x02cbdb34, 0x021b4a86, 0x032ec51d, 0x006f7de5, 0x032bff65, 0x00204331, 0x00f87760, 0x00e6b460, 0x02805f59, 0x002a088c}}, Y: Field{[10]uint32{0x03c2dfba, 0x013fed45, 0x025b5278, 0x00ab52c4, 0x01e7f2ef, 0x00010dd4, 0x02ea9b44, 0x00d8caca, 0x010f982e, 0x0025a056}}}, + {X: Field{[10]uint32{0x004c7c44, 0x01a9a212, 0x018c479e, 0x02b6e8ff, 0x02b3780f, 0x00f1ce4c, 0x010ada16, 0x02fd61a6, 0x00c049f3, 0x00101ac3}}, Y: Field{[10]uint32{0x036503dd, 0x008205f7, 0x012d31bb, 0x00ca1646, 0x028b2179, 0x0062bb9f, 0x0074fe02, 0x023951e4, 0x00eff250, 0x002aac39}}}, + {X: Field{[10]uint32{0x0116bcc8, 0x00cc033d, 0x014604b7, 0x03ab6eb2, 0x00523c81, 0x031366f2, 0x00f103db, 0x011e70f7, 0x03fd5783, 0x00139c10}}, Y: Field{[10]uint32{0x002d1133, 0x014f5a7a, 0x007fa98f, 0x02d9ce93, 0x0177c859, 0x01b24989, 0x0033ead6, 0x006f47a0, 0x03b73ed0, 0x000658a1}}}, + {X: Field{[10]uint32{0x033e9997, 0x03d003c3, 0x0344e43c, 0x0003a74b, 0x00a7d55b, 0x03c9301c, 0x0175c0ef, 0x0297d641, 0x0271b945, 0x002a68a9}}, Y: Field{[10]uint32{0x020c6285, 0x029636db, 0x014ca5b2, 0x0390ed1b, 0x039ae22c, 0x03dfcbcf, 0x03f957ca, 0x009c5459, 0x0220cb97, 0x001b3517}}}, + {X: Field{[10]uint32{0x003d3c01, 0x028ffca2, 0x0208b22b, 0x031da01d, 0x0312b2de, 0x00c569bb, 0x0247ae49, 0x02ba23ee, 0x039475ff, 0x001a4a84}}, Y: Field{[10]uint32{0x02e46131, 0x0197059b, 0x0340685a, 0x00fc2018, 0x00c83477, 0x029df458, 0x02867321, 0x01295302, 0x034a03c1, 0x001d3756}}}, + {X: Field{[10]uint32{0x022cfad8, 0x02aa3235, 0x016e77dd, 0x02b3d740, 0x01063b44, 0x0003f352, 0x0128e75d, 0x00e2ee22, 0x01fd1566, 0x000dbe45}}, Y: Field{[10]uint32{0x0042e8b9, 0x01fd76fa, 0x00e3c0cf, 0x02c38dff, 0x02991dc8, 0x008b3db7, 0x0217d027, 0x03460d7b, 0x02b616ed, 0x0000fc47}}}, + {X: Field{[10]uint32{0x02a53b31, 0x028e3592, 0x02c8f99a, 0x01f82ece, 0x00a5202a, 0x00d90c51, 0x002fd6ca, 0x00302d51, 0x035a7e01, 0x000fc3db}}, Y: Field{[10]uint32{0x0035c649, 0x027f41c3, 0x01f9ab86, 0x035fc4f3, 0x03ab1f9e, 0x02c3fecf, 0x00099acd, 0x038a6a54, 0x03cf5b33, 0x00095d35}}}, + {X: Field{[10]uint32{0x00b7b067, 0x02559ccd, 0x00cfd26b, 0x03eaff00, 0x03508a9d, 0x024aab3c, 0x01d4258a, 0x019876c8, 0x02ff071f, 0x0023163e}}, Y: Field{[10]uint32{0x03944893, 0x0285359c, 0x0273f694, 0x01c56778, 0x01e9a8a1, 0x002c44c9, 0x03d08a88, 0x013b8a10, 0x0094ea1d, 0x000e347a}}}, + {X: Field{[10]uint32{0x01da78de, 0x021fedf1, 0x03a9c0f2, 0x020219ad, 0x02dbc6f5, 0x036502c4, 0x03918642, 0x0068f192, 0x031a205c, 0x0036019c}}, Y: Field{[10]uint32{0x01d0e05e, 0x030bafb3, 0x02ba8d43, 0x001b4907, 0x03704020, 0x018d497e, 0x01da8318, 0x01eaedcd, 0x00302ff5, 0x0021c2a1}}}, + {X: Field{[10]uint32{0x03848648, 0x0108138a, 0x02741335, 0x00244ae6, 0x03416bde, 0x029f3765, 0x01de1515, 0x02c10693, 0x037e195d, 0x001f6f68}}, Y: Field{[10]uint32{0x00715e71, 0x03ec00c4, 0x00cf3885, 0x006a1ea3, 0x03e1c026, 0x00bd82a7, 0x0284ff13, 0x0001c3f7, 0x007a649d, 0x0020f227}}}, + {X: Field{[10]uint32{0x03ec54a1, 0x0233ba00, 0x0245e58d, 0x0149f52f, 0x03410a1b, 0x02dddb3e, 0x038ee093, 0x02c38b7d, 0x03c0c803, 0x0022bf08}}, Y: Field{[10]uint32{0x012ed76b, 0x03ba270d, 0x035b401b, 0x028ae5fa, 0x02bf7b11, 0x0218e52f, 0x02529573, 0x039282ce, 0x02ce4f4a, 0x002c107b}}}, + {X: Field{[10]uint32{0x0252207b, 0x02e4084d, 0x0211236f, 0x033795e1, 0x031b2531, 0x01588452, 0x0003b4b2, 0x03eac12e, 0x00c22c50, 0x00139109}}, Y: Field{[10]uint32{0x01796e6f, 0x02e74376, 0x02ab57e7, 0x0297052d, 0x03889d5c, 0x02c33c90, 0x03421e4f, 0x01c4603e, 0x01815118, 0x0008afd8}}}, + {X: Field{[10]uint32{0x02e97453, 0x024a5079, 0x023828fd, 0x03bb24ee, 0x02f394b1, 0x038e6cd2, 0x0016e396, 0x002be282, 0x03885a23, 0x00181c5d}}, Y: Field{[10]uint32{0x00dc4b26, 0x03d005c0, 0x016f49f8, 0x03ea278d, 0x03fc0a18, 0x037db6e1, 0x03247620, 0x02906c53, 0x029f2b9d, 0x002a137c}}}, + {X: Field{[10]uint32{0x00af3213, 0x00b28923, 0x022ac602, 0x01a40b70, 0x00a271f1, 0x02b3dc39, 0x03bbf8df, 0x015bb0de, 0x0120384e, 0x00327dcf}}, Y: Field{[10]uint32{0x01fb5437, 0x02897e23, 0x02cb069e, 0x022e5d85, 0x0089070e, 0x02fd6d5e, 0x03c9bfa8, 0x025606dc, 0x03f4c77f, 0x001d88b9}}}, + {X: Field{[10]uint32{0x0245282a, 0x0297b6bb, 0x03c4a81e, 0x02718c2f, 0x01a8b995, 0x023643db, 0x002bfea4, 0x0287630f, 0x01fbdab5, 0x00067a97}}, Y: Field{[10]uint32{0x01f1d56c, 0x03876e3f, 0x00c653b8, 0x0275f5b9, 0x00870a95, 0x03cc1ec7, 0x03a4d62a, 0x02f605f0, 0x015d0014, 0x0003084a}}}, + {X: Field{[10]uint32{0x01617b58, 0x032f9b70, 0x025cb290, 0x01a5c5f7, 0x02047806, 0x02febe14, 0x030e1491, 0x030a4b37, 0x031e30b2, 0x001592f6}}, Y: Field{[10]uint32{0x022b1c0d, 0x013dd39f, 0x01984700, 0x00703aee, 0x0332508c, 0x01dfd777, 0x02841988, 0x02e57e67, 0x00e86fc0, 0x0026a368}}}, + {X: Field{[10]uint32{0x010bf06b, 0x011a54df, 0x023b54bf, 0x00778376, 0x0150b39d, 0x02fb81ce, 0x02e21237, 0x039b3249, 0x00424f3e, 0x0016f24e}}, Y: Field{[10]uint32{0x00fd5d16, 0x0277a908, 0x01e00c11, 0x00eda52d, 0x0032bb00, 0x035d4e94, 0x03f4bd4c, 0x01e2f82d, 0x03a96627, 0x00353a70}}}, + {X: Field{[10]uint32{0x00b7f99e, 0x036e6f17, 0x003a5980, 0x00b68ba3, 0x035b2a5f, 0x02071f5f, 0x02f4fc31, 0x022d5cfb, 0x0294829e, 0x000650cb}}, Y: Field{[10]uint32{0x02bcbcf6, 0x039caee6, 0x003f7a4b, 0x0205715c, 0x032e8607, 0x01b806b3, 0x029316e3, 0x02159eed, 0x019e5c5b, 0x003dd726}}}, + {X: Field{[10]uint32{0x00080b8d, 0x00c33688, 0x01672ea2, 0x0346fbbc, 0x018d0235, 0x002c6d56, 0x02c28bfa, 0x0338668b, 0x001e6196, 0x0034e64a}}, Y: Field{[10]uint32{0x0168aa19, 0x013468d4, 0x03ea9638, 0x03c357b6, 0x03d5483c, 0x017ae90c, 0x02949319, 0x0338e8cf, 0x029520ff, 0x0000729f}}}, + {X: Field{[10]uint32{0x00e73c88, 0x032a3a84, 0x026bae21, 0x025dd2b8, 0x0239372e, 0x000bd995, 0x01f55563, 0x03ea7f95, 0x035ab220, 0x001b2138}}, Y: Field{[10]uint32{0x0101b2b3, 0x02d30084, 0x029b89a7, 0x0195c7bf, 0x0001d154, 0x003a2c8d, 0x01711e7b, 0x00b02b52, 0x032abd44, 0x00262846}}}, + {X: Field{[10]uint32{0x00f8f64b, 0x002a0328, 0x00858118, 0x02dba77d, 0x03ec4205, 0x020ef601, 0x0397f14c, 0x0117b685, 0x018ab1b0, 0x001e0533}}, Y: Field{[10]uint32{0x0115f33b, 0x038e34ed, 0x022841b0, 0x00c106bc, 0x036bf177, 0x03798eb7, 0x03e8b704, 0x02e3ffd4, 0x0240edc8, 0x003be45f}}}, + {X: Field{[10]uint32{0x0196235f, 0x0381b1c2, 0x03993fb6, 0x0035c4e2, 0x02444e71, 0x034a014c, 0x01accfcc, 0x008aa2ff, 0x02831c8e, 0x001e807b}}, Y: Field{[10]uint32{0x001a5519, 0x009f9f0a, 0x00b41045, 0x02606058, 0x00dcb061, 0x024370ef, 0x02f2e080, 0x0170aad8, 0x01091989, 0x003f944b}}}, + {X: Field{[10]uint32{0x039bd908, 0x02085f07, 0x000ce72e, 0x01bcfcf9, 0x01512e85, 0x0352979e, 0x00b56605, 0x0327be46, 0x02bcdf86, 0x001957b9}}, Y: Field{[10]uint32{0x02f87721, 0x0253d8c4, 0x035c3cae, 0x02e848f7, 0x037dfdef, 0x002079a6, 0x0196ea9d, 0x02c217ce, 0x01a691fc, 0x0032fae9}}}, + {X: Field{[10]uint32{0x025219bb, 0x021fb877, 0x01d9e1cf, 0x0051103c, 0x003d4d48, 0x01e045ef, 0x00be25fe, 0x01cba3ac, 0x0009fb03, 0x003af5a0}}, Y: Field{[10]uint32{0x0258814b, 0x039e6d2e, 0x0068bd8c, 0x02dbfd96, 0x036da8cd, 0x02f6dd7c, 0x00aed2d6, 0x037d56fc, 0x02386f96, 0x0023bedf}}}, + {X: Field{[10]uint32{0x01a3865b, 0x0358ed86, 0x039149f1, 0x033c45a3, 0x028b7834, 0x01f56af5, 0x015cf051, 0x016eed3a, 0x00189ac0, 0x0021cd02}}, Y: Field{[10]uint32{0x00480838, 0x00fe4f05, 0x0330cdf6, 0x03eb78af, 0x027d24c0, 0x03eb828f, 0x01d4deed, 0x003c5724, 0x012772ce, 0x0027c7ef}}}, + {X: Field{[10]uint32{0x00513df3, 0x03cb18cc, 0x0368ba12, 0x0136aa5b, 0x035dda3a, 0x0055a432, 0x0262e925, 0x01eed937, 0x0213b02a, 0x00186dac}}, Y: Field{[10]uint32{0x02b6144e, 0x01894230, 0x03d56e01, 0x03994e65, 0x03c42c6c, 0x03000e86, 0x02d29628, 0x020650da, 0x00f24eff, 0x00331c6e}}}, + {X: Field{[10]uint32{0x0125fe37, 0x0028190e, 0x0187298f, 0x0388060b, 0x02ed5e02, 0x02126106, 0x01c9e663, 0x006b8b8e, 0x024d7717, 0x0012e9fb}}, Y: Field{[10]uint32{0x0296dbd6, 0x0371cd23, 0x004f1f1f, 0x03ddd46f, 0x035a9da4, 0x02029c9b, 0x032158eb, 0x013c5b2d, 0x01b4fe34, 0x001736f5}}}, + {X: Field{[10]uint32{0x008badb7, 0x011f9bc8, 0x01de2ee2, 0x01c7fa78, 0x026f9a39, 0x01a24ba6, 0x025bd7a4, 0x037350cb, 0x027fc4d5, 0x0035609e}}, Y: Field{[10]uint32{0x0098e1fa, 0x03c28698, 0x00f18ca0, 0x0298ed4b, 0x002fb667, 0x02c8f183, 0x02fb5349, 0x00303d87, 0x02dc9d0e, 0x003de43e}}}, + {X: Field{[10]uint32{0x03237633, 0x032e6ca4, 0x0098d411, 0x03f72894, 0x01e9086d, 0x027bf9a4, 0x0144d4a8, 0x0033df03, 0x01597f95, 0x00207b14}}, Y: Field{[10]uint32{0x039a1e7f, 0x0182dcfa, 0x000655fa, 0x028aaa0a, 0x000741d3, 0x03e4bed8, 0x0253f28e, 0x03e03251, 0x03ddc9ef, 0x002216c9}}}, + {X: Field{[10]uint32{0x02b6dec7, 0x02e8bf5a, 0x01e684cd, 0x01e762b2, 0x026e7237, 0x03c2bfc7, 0x023e06da, 0x03da01da, 0x01f4a0d4, 0x000a3f10}}, Y: Field{[10]uint32{0x01657225, 0x0328aa92, 0x01f54d80, 0x0236c421, 0x01482c6a, 0x0056c8d7, 0x02b9415c, 0x02af1cfa, 0x031e7aff, 0x002c792b}}}, + {X: Field{[10]uint32{0x03ae4f47, 0x02c62a3d, 0x035d1328, 0x02333d66, 0x036341a8, 0x01fe8be7, 0x00f5b857, 0x01d71f2c, 0x03d6c5bf, 0x003579d4}}, Y: Field{[10]uint32{0x00a1bff9, 0x00315031, 0x013cffaf, 0x003765e5, 0x02fc2f38, 0x03b359ba, 0x018a10c8, 0x0068c894, 0x00b98eb0, 0x00346a95}}}, + {X: Field{[10]uint32{0x0076e836, 0x03521cc5, 0x0286d8ba, 0x00f5d624, 0x01257d41, 0x0130696a, 0x0008fac4, 0x010a5f98, 0x015d8909, 0x0005a08d}}, Y: Field{[10]uint32{0x0309cf4a, 0x001151ba, 0x02a0278d, 0x03677b53, 0x002ec9c2, 0x014fb613, 0x0059b11d, 0x024327a1, 0x0362e29f, 0x0013da71}}}, + {X: Field{[10]uint32{0x03e781db, 0x000902c8, 0x032e7903, 0x006b4089, 0x0273425d, 0x03311b88, 0x03511a78, 0x02b9ccba, 0x005fb64c, 0x0027bdea}}, Y: Field{[10]uint32{0x009ce73c, 0x02ce61f4, 0x0204b03e, 0x027ce9dd, 0x0278a50c, 0x03d7a4b8, 0x035e2f20, 0x01691cfc, 0x016f6f6a, 0x0031c80d}}}, + {X: Field{[10]uint32{0x02e915ec, 0x03b1c280, 0x03612dd7, 0x01a304f3, 0x02021744, 0x03383aaa, 0x031be48a, 0x02694932, 0x03b36f42, 0x0013daba}}, Y: Field{[10]uint32{0x038e761f, 0x0082c473, 0x036c6396, 0x01ba1e03, 0x010b28f9, 0x014adb5f, 0x02d36092, 0x035e400a, 0x014da8b6, 0x00101ab6}}}, + {X: Field{[10]uint32{0x023f8232, 0x01586ec8, 0x01f8e088, 0x03c690ac, 0x037a3cc7, 0x03035fa2, 0x0310dae5, 0x00b99999, 0x020e5ac0, 0x00132b0f}}, Y: Field{[10]uint32{0x03263142, 0x00168232, 0x019318ba, 0x015b0bf9, 0x03dca655, 0x0230a749, 0x03fcb9cd, 0x03cf2013, 0x008eaa96, 0x0024e5bb}}}, + {X: Field{[10]uint32{0x039367b8, 0x0282983d, 0x0193738e, 0x01e18186, 0x02f61fbd, 0x01931d81, 0x00a9dd10, 0x02b15cb1, 0x00633aa2, 0x00021bcd}}, Y: Field{[10]uint32{0x01824f05, 0x008f9609, 0x0312a03f, 0x0186d6b9, 0x03cfb2aa, 0x02d30e2b, 0x0376c9fd, 0x01e76d7d, 0x012b5561, 0x003200bf}}}, + {X: Field{[10]uint32{0x007103a9, 0x0371ffcd, 0x034da318, 0x008ee8f5, 0x000bcd6f, 0x0074e7ea, 0x025ab4cd, 0x03848f9e, 0x01457685, 0x0014c8fc}}, Y: Field{[10]uint32{0x00691cb1, 0x0000de22, 0x028e3461, 0x03c7fb87, 0x0394cab4, 0x02efce3e, 0x01ec977c, 0x02ca784b, 0x0379eccc, 0x000c24be}}}, + {X: Field{[10]uint32{0x03ea74fd, 0x03c45e0c, 0x030e71a7, 0x001a60ff, 0x03f85cf1, 0x02838717, 0x000c45f3, 0x00471f9a, 0x01464027, 0x0034f5c3}}, Y: Field{[10]uint32{0x00d07bad, 0x01bd896a, 0x03c90fdf, 0x03cf855d, 0x01e4f722, 0x03ba9fee, 0x0093b9e0, 0x003cc45a, 0x0373d9b9, 0x00246609}}}, + {X: Field{[10]uint32{0x036d4359, 0x02192ef6, 0x02fdd6fd, 0x03e86ac7, 0x01f8cb89, 0x00d953c7, 0x01b5d714, 0x01d84c0b, 0x013728a8, 0x0037d8ee}}, Y: Field{[10]uint32{0x02ce5510, 0x02b2ded8, 0x012a791b, 0x035212de, 0x02a2c7be, 0x00cbe96c, 0x03930348, 0x00fb2db1, 0x01ca191a, 0x001f0ede}}}, + {X: Field{[10]uint32{0x01b70c74, 0x01afa15c, 0x00ec3974, 0x02531f7b, 0x0328a994, 0x0138898a, 0x0303169a, 0x00d3657c, 0x02228cc3, 0x003c7fa4}}, Y: Field{[10]uint32{0x0351a10e, 0x03944db9, 0x02b6469d, 0x00d630a3, 0x03b67a24, 0x0266bc78, 0x0335f60f, 0x03e9ca8a, 0x03b84e65, 0x0015623c}}}, + {X: Field{[10]uint32{0x0274fd95, 0x0324216e, 0x03c7dcb3, 0x02d7e8a7, 0x00fb0adb, 0x01f2ca34, 0x03ec14cb, 0x028cc3b7, 0x035d918c, 0x00240c39}}, Y: Field{[10]uint32{0x00b427f7, 0x0366768e, 0x004cd71a, 0x0304eef7, 0x035a452d, 0x00e2b7b5, 0x0128821c, 0x02261302, 0x01286169, 0x001f7c80}}}, + {X: Field{[10]uint32{0x03ad641a, 0x01f3d71d, 0x007d5ddd, 0x0218b0f3, 0x03dfa0b5, 0x01d9047a, 0x00f628c5, 0x036e1c4d, 0x013935be, 0x000734f0}}, Y: Field{[10]uint32{0x039a324d, 0x012f7852, 0x02bcf592, 0x03c40c3e, 0x0288264c, 0x03211ec9, 0x013a25e0, 0x02ec22fa, 0x01f25488, 0x0008553b}}}, + {X: Field{[10]uint32{0x0046ad96, 0x03c49f49, 0x01f42202, 0x03feb265, 0x03bd6e91, 0x03b0356e, 0x039f4621, 0x03b1f1e2, 0x0337a19f, 0x00395b81}}, Y: Field{[10]uint32{0x02ad70d7, 0x02226a8f, 0x0177698f, 0x00bd2cbb, 0x011e69b4, 0x01a4fa5d, 0x028d9bbb, 0x01d83902, 0x0027368c, 0x00220c36}}}, + {X: Field{[10]uint32{0x03b6b101, 0x0398fc57, 0x02657587, 0x0219e021, 0x0156fd08, 0x012b6299, 0x026dfeb2, 0x03978d8f, 0x02c458ab, 0x0006c29a}}, Y: Field{[10]uint32{0x035178dc, 0x00b3124c, 0x01926521, 0x01acb87d, 0x029a35e8, 0x03777b97, 0x033e5aab, 0x018e8ac4, 0x03dae642, 0x0034b7db}}}, + {X: Field{[10]uint32{0x03ea22b2, 0x03302048, 0x00679d80, 0x01d9173f, 0x0250bb16, 0x011b58a8, 0x01390a62, 0x0186393b, 0x01468fd4, 0x00042850}}, Y: Field{[10]uint32{0x0140185f, 0x00ce003f, 0x015620b0, 0x0096f0c3, 0x01f9a09b, 0x013aec54, 0x0113dbaf, 0x03746bb3, 0x0068dd7f, 0x000ce0ee}}}, + {X: Field{[10]uint32{0x003f5e35, 0x00f90669, 0x006ac8a7, 0x035e5755, 0x02e357f7, 0x01a2be9c, 0x038837e5, 0x028d45b6, 0x03515378, 0x0027712a}}, Y: Field{[10]uint32{0x0305903f, 0x02359a98, 0x01a06cc6, 0x0386410e, 0x02bfe05c, 0x03a9647b, 0x02422be1, 0x033eff8a, 0x022d9bce, 0x0002376a}}}, + {X: Field{[10]uint32{0x00ed7196, 0x02b1db8f, 0x035de1aa, 0x0264d880, 0x0213539e, 0x0226c82b, 0x038eb19e, 0x0387ef14, 0x035de7a4, 0x002aa4c5}}, Y: Field{[10]uint32{0x02afb9ad, 0x02e192b0, 0x01a05eff, 0x01afb38f, 0x00c18d14, 0x022d2001, 0x03e133ad, 0x0115a27c, 0x0304c134, 0x003b73b6}}}, + {X: Field{[10]uint32{0x022edf7b, 0x03bdbec8, 0x00e27536, 0x03e8d753, 0x0294f3ce, 0x0341b31a, 0x036fcbc6, 0x0366822e, 0x03e4da02, 0x00205c7c}}, Y: Field{[10]uint32{0x01e6dd6b, 0x0272967a, 0x03189749, 0x02de9963, 0x03c32038, 0x00f06993, 0x002b55f7, 0x00aae870, 0x01fcaae6, 0x003a46f9}}}, + {X: Field{[10]uint32{0x02a19ab6, 0x00201606, 0x024b111b, 0x009d0dd1, 0x01893fe6, 0x031e73de, 0x01888c93, 0x00a3998d, 0x0183c891, 0x00147db2}}, Y: Field{[10]uint32{0x0081a067, 0x003c164e, 0x03252a3d, 0x0003578d, 0x00b8cee4, 0x02a37194, 0x001dbf41, 0x0193d483, 0x01494bb1, 0x00174bbc}}}, + {X: Field{[10]uint32{0x03d7d38a, 0x002ae3db, 0x02580950, 0x02b1d36b, 0x03ec34df, 0x036c3769, 0x01016b19, 0x00c371a9, 0x0184766b, 0x0030287c}}, Y: Field{[10]uint32{0x02c6f01e, 0x024d65fa, 0x01490528, 0x007b1a57, 0x01b27f36, 0x009349aa, 0x01410516, 0x036bc4a7, 0x03e2c7b6, 0x002f72b4}}}, + {X: Field{[10]uint32{0x03a0eb02, 0x00e51c8c, 0x00a222bd, 0x026c7ade, 0x02fde927, 0x00d07bee, 0x02b6fe07, 0x0145a412, 0x02cc9543, 0x002c6ec7}}, Y: Field{[10]uint32{0x001689a8, 0x02fead32, 0x021d55a7, 0x02137931, 0x014b1490, 0x01c78325, 0x00dbf0a6, 0x010b8b03, 0x035b5253, 0x0037d48f}}}, + {X: Field{[10]uint32{0x000b5dce, 0x00f79f59, 0x00470180, 0x039da063, 0x023b0891, 0x010dce47, 0x0139ea7e, 0x013b5621, 0x00dc86d0, 0x002d730c}}, Y: Field{[10]uint32{0x02d4ec14, 0x00798bd0, 0x00b65ca4, 0x0077fff9, 0x009f5556, 0x00b80fca, 0x031acc86, 0x00c4b43e, 0x019e45c7, 0x003c7303}}}, + {X: Field{[10]uint32{0x0263ccb6, 0x03a503e4, 0x016b0da8, 0x008d47f8, 0x008cacee, 0x01f56507, 0x0155b3ea, 0x03fd4ca0, 0x01e705f0, 0x00378ad2}}, Y: Field{[10]uint32{0x018de99f, 0x01364fdb, 0x032ab74b, 0x02d5c0d5, 0x024690d5, 0x01e0552b, 0x017c6801, 0x02fd9ec3, 0x002bb12d, 0x000d35e9}}}, + {X: Field{[10]uint32{0x03cc8f51, 0x017cf395, 0x0311ad51, 0x02c3bcbb, 0x00ea5c0d, 0x0161c33f, 0x00984046, 0x03845c3a, 0x00e7c129, 0x0022c63d}}, Y: Field{[10]uint32{0x01111f37, 0x00b80226, 0x00aff884, 0x009f9acb, 0x0372281c, 0x0323b72c, 0x01e9d6cd, 0x012964f1, 0x0086c867, 0x001ac784}}}, + {X: Field{[10]uint32{0x03c86889, 0x0160aa45, 0x03442f9e, 0x0092da97, 0x01822ce4, 0x018aa0c3, 0x00e46f17, 0x03222246, 0x02c027ce, 0x001c9c58}}, Y: Field{[10]uint32{0x03223cca, 0x01bce28b, 0x02e7e841, 0x008f3145, 0x03248656, 0x024f9491, 0x03de5af6, 0x028da79b, 0x02961452, 0x00378d20}}}, + {X: Field{[10]uint32{0x0105058c, 0x0215adcd, 0x016056d0, 0x03f28fd8, 0x02946a75, 0x0309252f, 0x00eb9b81, 0x01d20fc6, 0x001f4dd1, 0x0012b93f}}, Y: Field{[10]uint32{0x032563e7, 0x011a4843, 0x017a39ae, 0x00db8b18, 0x0059999b, 0x0361e11c, 0x0034a05b, 0x03f05f68, 0x0012e901, 0x00361f9e}}}, + {X: Field{[10]uint32{0x03f43cd1, 0x00548197, 0x010bf58b, 0x02e93bda, 0x0272007b, 0x01abff40, 0x0026f016, 0x01cffa46, 0x01ace9e8, 0x003a42f2}}, Y: Field{[10]uint32{0x0164fa87, 0x0398d811, 0x02d58905, 0x00b34b95, 0x0147f076, 0x0196e6ff, 0x009b0c00, 0x03f5a147, 0x00e89acd, 0x0012f208}}}, + {X: Field{[10]uint32{0x011450ba, 0x0101db7d, 0x010209af, 0x0295fc14, 0x0208340b, 0x03a7bdd1, 0x021af7db, 0x00bedbde, 0x02a1db43, 0x002e82b9}}, Y: Field{[10]uint32{0x012be720, 0x021dabe4, 0x02908c58, 0x00630cba, 0x0351019a, 0x0068b0c2, 0x029894c5, 0x0250805c, 0x01b70409, 0x001f4e0e}}}, + {X: Field{[10]uint32{0x03accfeb, 0x020808b4, 0x03a5def8, 0x02fca607, 0x034f9682, 0x035ee5f5, 0x018b403e, 0x0194c476, 0x0381f77c, 0x001c1986}}, Y: Field{[10]uint32{0x02d06387, 0x02f13929, 0x0277e4e5, 0x02497d19, 0x027b4eeb, 0x02c1bf99, 0x024bd7cf, 0x027d366b, 0x01731895, 0x002408ae}}}, + {X: Field{[10]uint32{0x00471a47, 0x038248bf, 0x011d80e5, 0x0056347c, 0x0029451c, 0x0367be8e, 0x0381b817, 0x00e81c47, 0x03472815, 0x003f86de}}, Y: Field{[10]uint32{0x02b0f847, 0x02280d34, 0x01fae19c, 0x037c8d13, 0x0285725b, 0x03930c6a, 0x0115dc05, 0x02df1bec, 0x01cc68cf, 0x0025681d}}}, + {X: Field{[10]uint32{0x02cc3fc0, 0x01c3dfa6, 0x01e867ab, 0x00dfb171, 0x004325bc, 0x009f8e97, 0x0013d04f, 0x02a41ca0, 0x03d2bbae, 0x0022b3ce}}, Y: Field{[10]uint32{0x0216174e, 0x012195cf, 0x00785ee1, 0x03bf6f8b, 0x01b3e2e0, 0x02547e03, 0x01c06a25, 0x009f53ca, 0x03fb36da, 0x003d9e78}}}, + {X: Field{[10]uint32{0x02f395e3, 0x03aa3612, 0x0314f1d6, 0x03443283, 0x00d2db01, 0x03d8ae9f, 0x03fc6a47, 0x01f56ae1, 0x013725fc, 0x00076157}}, Y: Field{[10]uint32{0x020b1b90, 0x037234c0, 0x012a5815, 0x03436a24, 0x019b0a9a, 0x0189a317, 0x0255183f, 0x01953b51, 0x03ac2d41, 0x0033ac98}}}, + {X: Field{[10]uint32{0x012a8cba, 0x009b5c16, 0x0302e039, 0x02601147, 0x03099344, 0x01c3466d, 0x00ec6f6d, 0x01338f21, 0x016630c2, 0x0006aed1}}, Y: Field{[10]uint32{0x00525885, 0x0065521d, 0x01863f4b, 0x024d048a, 0x021778d2, 0x00c91514, 0x01886ef7, 0x01ff5cab, 0x006f6be8, 0x001189dc}}}, + {X: Field{[10]uint32{0x03eac036, 0x03cafaa4, 0x00a5fb86, 0x01992c26, 0x03620e5c, 0x0128fcc2, 0x01d07e24, 0x004bfe59, 0x00fa672c, 0x0006d1e4}}, Y: Field{[10]uint32{0x03edd60e, 0x00634939, 0x012831b0, 0x01c27278, 0x017c19fd, 0x02e0e47f, 0x022a9a06, 0x038b47ca, 0x00fca758, 0x003bb414}}}, + {X: Field{[10]uint32{0x00de3dd3, 0x00dcca9a, 0x01c98a43, 0x0280878f, 0x0344c106, 0x01584d9e, 0x01dcfc12, 0x032238c3, 0x032cfc9c, 0x001861e2}}, Y: Field{[10]uint32{0x02aed78e, 0x000037c7, 0x0229d436, 0x002dac4f, 0x03afc6f5, 0x0262a7be, 0x014cb774, 0x009e746d, 0x00a0037c, 0x003e8915}}}, + {X: Field{[10]uint32{0x0144308a, 0x010042a1, 0x030b5335, 0x006a4c5c, 0x00abc727, 0x0114088e, 0x00c21ecf, 0x03fac5ef, 0x01f02767, 0x00210123}}, Y: Field{[10]uint32{0x0193c32f, 0x03223b3a, 0x00b7c838, 0x02a90e33, 0x02605acc, 0x01dd8f1b, 0x03f9814f, 0x00239751, 0x024a39d6, 0x00351c4b}}}, + {X: Field{[10]uint32{0x02683a94, 0x02eb0cf2, 0x015cf889, 0x0032a201, 0x018ba37d, 0x01fa27e5, 0x031e1e03, 0x005d7b0f, 0x00e56c96, 0x003adeb1}}, Y: Field{[10]uint32{0x0285da8a, 0x00e053d7, 0x030112bc, 0x00ccbd45, 0x03cc07de, 0x004f7f1b, 0x00bfe075, 0x009d2db6, 0x02672ccc, 0x00125078}}}, + {X: Field{[10]uint32{0x02142e91, 0x00656bc8, 0x03eaf1a4, 0x0154e027, 0x014cbce4, 0x000a2370, 0x02b452ba, 0x012f6ad8, 0x02c9877d, 0x001228da}}, Y: Field{[10]uint32{0x0369659c, 0x0143aeaa, 0x02e2530b, 0x027087fd, 0x0027eec3, 0x013a5436, 0x02d88480, 0x018a21b1, 0x018a0125, 0x0038935b}}}, + {X: Field{[10]uint32{0x00cca1b5, 0x00b385af, 0x02a91252, 0x019320b4, 0x02e817b6, 0x02c8e803, 0x029af3b1, 0x028975e1, 0x01d05a62, 0x00270c49}}, Y: Field{[10]uint32{0x01e5afe3, 0x026daf4e, 0x03450a18, 0x0185541a, 0x01385663, 0x03863d7d, 0x00172774, 0x01c5a061, 0x0210f670, 0x0031bb36}}}, + {X: Field{[10]uint32{0x00f80d68, 0x02a479a4, 0x0116bc2c, 0x03b526bc, 0x0310160b, 0x013722f8, 0x033843e0, 0x019c371f, 0x0221dcc7, 0x000cfa07}}, Y: Field{[10]uint32{0x01757b6f, 0x024a4195, 0x01bb8fa5, 0x03a27b01, 0x029ce417, 0x03bf8e2b, 0x01f11678, 0x021b4b9b, 0x01d3a0a3, 0x0039a530}}}, + {X: Field{[10]uint32{0x036a1ad2, 0x00700cc6, 0x03056d8e, 0x012e29a3, 0x035c1d0d, 0x00256609, 0x02b10715, 0x0383f2ff, 0x029e6899, 0x002550dd}}, Y: Field{[10]uint32{0x009b0d7e, 0x01e54d3b, 0x00b163f5, 0x0219fd9a, 0x0301c4be, 0x00bb473a, 0x035f1487, 0x021041d8, 0x03fdafc5, 0x0001c033}}}, + {X: Field{[10]uint32{0x0039efdd, 0x0142099d, 0x00203a0d, 0x018f8877, 0x026ca9b1, 0x02d4201f, 0x0081e6e5, 0x00b0e5f5, 0x00d173e6, 0x0013d073}}, Y: Field{[10]uint32{0x0069f79d, 0x0339df43, 0x011eed95, 0x02ff8563, 0x008fea56, 0x02dd2c95, 0x00b309ba, 0x0065cb62, 0x02d6aa8c, 0x003efe63}}}, + {X: Field{[10]uint32{0x005f12e5, 0x03b3c819, 0x03bd9064, 0x01a91946, 0x00a667fe, 0x023baf0a, 0x03fd9c33, 0x00037ef8, 0x0245584b, 0x00133eda}}, Y: Field{[10]uint32{0x0214652b, 0x006486bd, 0x0312f550, 0x028979ca, 0x00219638, 0x00495640, 0x00fac21d, 0x003a1d1c, 0x02dafe08, 0x000b77f5}}}, + {X: Field{[10]uint32{0x01eca626, 0x005dd5dd, 0x039821f2, 0x0324605f, 0x038e536b, 0x03eb94ce, 0x02217fd8, 0x028cf297, 0x03ecd9bb, 0x0027bee2}}, Y: Field{[10]uint32{0x00658fb4, 0x003e32ac, 0x02f8e944, 0x02e21d78, 0x018e3573, 0x029f70f8, 0x00bcf9c1, 0x03057a46, 0x00ed0529, 0x001984c0}}}, + {X: Field{[10]uint32{0x0030e441, 0x039876b9, 0x02470da9, 0x03e7a143, 0x00f5d3c0, 0x02f9b717, 0x01ab953e, 0x039302e1, 0x01525be7, 0x0030aa02}}, Y: Field{[10]uint32{0x009d9d2d, 0x02713be0, 0x0277b483, 0x018f5434, 0x036be063, 0x03027ef0, 0x026fa221, 0x01a5f1f6, 0x0136bf72, 0x00074b7b}}}, + {X: Field{[10]uint32{0x03baa707, 0x010b808e, 0x0030c0a2, 0x02d006fe, 0x032501a1, 0x031882c4, 0x02162764, 0x0208afd6, 0x036b49ae, 0x0010adff}}, Y: Field{[10]uint32{0x02b71d6d, 0x00288da0, 0x028b0eb9, 0x0254317a, 0x00fb2c75, 0x032ed68e, 0x02de994d, 0x039001c4, 0x005883f0, 0x003907f8}}}, + {X: Field{[10]uint32{0x03b0c28c, 0x007c38aa, 0x0386df78, 0x02d1fb8e, 0x01e00cc3, 0x017de3ce, 0x03e15185, 0x02d904ab, 0x0129d420, 0x003b82ec}}, Y: Field{[10]uint32{0x000aec61, 0x00d0fad7, 0x01099258, 0x015552ba, 0x0154b174, 0x003b6eb7, 0x006204b6, 0x02891d9f, 0x027a5a4f, 0x003dc743}}}, + {X: Field{[10]uint32{0x00ef5b9a, 0x0121f01e, 0x02e789ca, 0x0390a894, 0x0077546c, 0x009b140f, 0x031a7160, 0x00efd499, 0x02079cdb, 0x0007c762}}, Y: Field{[10]uint32{0x03571c20, 0x027a6365, 0x01cfc5c3, 0x02a98f47, 0x00180ee4, 0x03ef0c19, 0x00e8e6f9, 0x0144b7aa, 0x030dae55, 0x00318444}}}, + {X: Field{[10]uint32{0x02a31310, 0x004bfb34, 0x017b8b29, 0x01b97e4c, 0x027cf313, 0x01063c05, 0x026ebe55, 0x027ec564, 0x0006ecdc, 0x0016f6a7}}, Y: Field{[10]uint32{0x005ecad7, 0x02370a01, 0x023feb72, 0x01a285ed, 0x03890761, 0x01cbab6c, 0x03e59d5b, 0x00983203, 0x0370dce1, 0x000d63fe}}}, + {X: Field{[10]uint32{0x03866ea6, 0x011d5137, 0x01be91f8, 0x01cd2018, 0x01edc789, 0x0383bf5c, 0x0252dec8, 0x031c9d99, 0x0103fa50, 0x0030cbd9}}, Y: Field{[10]uint32{0x01fca304, 0x02e71c40, 0x008566de, 0x00a882e0, 0x006a34af, 0x02c4fc2c, 0x0309443c, 0x03b3101e, 0x02267a13, 0x0019c8d2}}}, + {X: Field{[10]uint32{0x0089caed, 0x0337aa25, 0x03069941, 0x01ce25ae, 0x00849bb6, 0x02584990, 0x026c83f2, 0x03ac19c3, 0x0111b71f, 0x001520f5}}, Y: Field{[10]uint32{0x008c1148, 0x034e49f6, 0x03ecfbfe, 0x0141e512, 0x03494d53, 0x03639377, 0x02df0f38, 0x00d0dd02, 0x0262d323, 0x0028269a}}}, + {X: Field{[10]uint32{0x02a322ef, 0x00625603, 0x010472d5, 0x03f6710f, 0x02d5e3c6, 0x029b3091, 0x00b93425, 0x01aae47b, 0x035ff0b8, 0x000f4b63}}, Y: Field{[10]uint32{0x0155b830, 0x027cd936, 0x00509c73, 0x03b28613, 0x00fb45d7, 0x01c75d82, 0x039cf4ab, 0x03381461, 0x008b4c23, 0x0010620d}}}, + {X: Field{[10]uint32{0x01af1dc0, 0x011d5d08, 0x01e9e40b, 0x000eaae2, 0x00735ddf, 0x024daf04, 0x01ffa9df, 0x019e017f, 0x013929ed, 0x000e970e}}, Y: Field{[10]uint32{0x00a7011d, 0x020893a4, 0x0081e0dd, 0x00aea517, 0x0344dcd5, 0x00a5d720, 0x002a7de2, 0x00a458ab, 0x01197675, 0x001d82c6}}}, + {X: Field{[10]uint32{0x00590a83, 0x03752135, 0x01f900e5, 0x0120cdcf, 0x00648869, 0x03892831, 0x039272ef, 0x0301b8fb, 0x02ac7c1c, 0x0028f548}}, Y: Field{[10]uint32{0x021b6be2, 0x007cb13b, 0x00795566, 0x031a4c15, 0x0328c377, 0x000005a5, 0x01684a95, 0x03758486, 0x022cb739, 0x001bd4ee}}}, + {X: Field{[10]uint32{0x00e8180f, 0x01451176, 0x01d42367, 0x021f76e5, 0x02c1437d, 0x00b80aa8, 0x00785836, 0x00806110, 0x01311399, 0x003bc2c2}}, Y: Field{[10]uint32{0x0086c634, 0x03210ae5, 0x019801b9, 0x0029065c, 0x00217352, 0x024be31d, 0x00408cdf, 0x011dc9f4, 0x00078d18, 0x001cefd1}}}, + {X: Field{[10]uint32{0x0115da20, 0x01bd031b, 0x03e070f2, 0x01734728, 0x02a770c1, 0x01846169, 0x02118991, 0x033ae708, 0x03fd1498, 0x0020503b}}, Y: Field{[10]uint32{0x0022a474, 0x03127f40, 0x01c3e45f, 0x0008280b, 0x03051c11, 0x0058bc0e, 0x028b7eb2, 0x02dfc6f9, 0x03df6d2d, 0x00131d3c}}}, + {X: Field{[10]uint32{0x03e122f0, 0x02966f3a, 0x00b74215, 0x03c000de, 0x017603c7, 0x03f5bf59, 0x0132f4d3, 0x027c7e4f, 0x03208e08, 0x000d1175}}, Y: Field{[10]uint32{0x010b6d5b, 0x0388e922, 0x013d4b63, 0x00dfa0a5, 0x0238da06, 0x000db868, 0x03c8626f, 0x013bcce8, 0x035dfdb5, 0x001b5040}}}, + {X: Field{[10]uint32{0x03a58cd7, 0x008f50fd, 0x02b9c72c, 0x01b57f9a, 0x01789a36, 0x00493378, 0x01933f97, 0x00da6874, 0x025a6235, 0x003852ca}}, Y: Field{[10]uint32{0x01fc8f8f, 0x011342fe, 0x013be447, 0x00658954, 0x01d67a9f, 0x022a7962, 0x02fe6ce5, 0x030409b2, 0x02c52f63, 0x00085bc1}}}, + {X: Field{[10]uint32{0x01891e0b, 0x00fa4b8b, 0x00deaf8f, 0x00199cd2, 0x00eec931, 0x0302205c, 0x010b2b33, 0x02f113f3, 0x00bc8389, 0x001b6590}}, Y: Field{[10]uint32{0x0104227d, 0x00af105f, 0x0331a185, 0x02c20586, 0x0068b5d4, 0x010a21ff, 0x0204759a, 0x036d927f, 0x00856e42, 0x0012d305}}}, + {X: Field{[10]uint32{0x019b2916, 0x002bf3bf, 0x0232462a, 0x0016e781, 0x02fd028a, 0x01f00ec6, 0x027cc60d, 0x007c84fd, 0x00045c46, 0x0009cbc5}}, Y: Field{[10]uint32{0x03348416, 0x03350cea, 0x00b1e825, 0x020cc551, 0x03fd6b75, 0x0003ac37, 0x023f78d8, 0x00d4e029, 0x02c0c0b2, 0x002618d7}}}, + {X: Field{[10]uint32{0x033a07e3, 0x00ca7b87, 0x02257681, 0x013b7a45, 0x02415233, 0x0378738e, 0x01250bec, 0x01d1698c, 0x0128eaae, 0x002a3266}}, Y: Field{[10]uint32{0x03351621, 0x03358479, 0x006209f5, 0x02df9879, 0x0124ae51, 0x0058bfb4, 0x01149aa5, 0x00fdfa38, 0x0286abdf, 0x00133309}}}, + {X: Field{[10]uint32{0x00975409, 0x00e18036, 0x01ceffac, 0x01403f4c, 0x011c660d, 0x02c79320, 0x01be6869, 0x03559626, 0x03337f93, 0x003ec092}}, Y: Field{[10]uint32{0x00c7fdb0, 0x01cbd1f1, 0x01e127b0, 0x028a2765, 0x03ee562c, 0x0115e59b, 0x00730c39, 0x00f255fa, 0x02b78bff, 0x000ce5a1}}}, + {X: Field{[10]uint32{0x00562f9c, 0x021c15ca, 0x014f2351, 0x03e73912, 0x00a6cb14, 0x0246e136, 0x03ecfe36, 0x00d525dc, 0x0147aa61, 0x00383921}}, Y: Field{[10]uint32{0x00a7b307, 0x01dbbbf7, 0x03676a6d, 0x03e1a7d1, 0x03778609, 0x00e58012, 0x03488389, 0x01d60149, 0x018b5640, 0x00182db7}}}, + {X: Field{[10]uint32{0x025d16e4, 0x01bbd644, 0x02169807, 0x00f77fb0, 0x03ed9e38, 0x001786c2, 0x0374d296, 0x022d4c27, 0x002d378b, 0x002f5b10}}, Y: Field{[10]uint32{0x01ef2c24, 0x0086c8a7, 0x00f10755, 0x012de544, 0x02a27692, 0x0231b4b0, 0x036a8f8c, 0x0071ecdd, 0x009cbb76, 0x00330eab}}}, + {X: Field{[10]uint32{0x01e451c0, 0x0085eb01, 0x02ef552c, 0x02f78542, 0x01d5886c, 0x03da548d, 0x00e2c554, 0x013d1051, 0x0231eefa, 0x0039a464}}, Y: Field{[10]uint32{0x03b1cfa7, 0x02ea6b18, 0x0346bc2a, 0x03f1a49f, 0x0173a888, 0x00a8473f, 0x0156133c, 0x00984ad3, 0x01d4d34d, 0x0039d3b8}}}, + {X: Field{[10]uint32{0x003d03a9, 0x02e92868, 0x01463f9c, 0x007a3051, 0x02037c48, 0x00a2f6ce, 0x012ac5a3, 0x01e1d136, 0x006a2a48, 0x0006a6b3}}, Y: Field{[10]uint32{0x01f0fb10, 0x01f1623f, 0x01ca126a, 0x0206d26d, 0x02df71fc, 0x01ff87d7, 0x02224224, 0x00d8a3eb, 0x029a960e, 0x0002e981}}}, + {X: Field{[10]uint32{0x02070910, 0x033bd33d, 0x028d536c, 0x0108f5b6, 0x00abfde6, 0x00b6e66e, 0x004e9395, 0x038c07cb, 0x03a92e5f, 0x0016d4ae}}, Y: Field{[10]uint32{0x0347ae29, 0x01bb796d, 0x00341f54, 0x02c0bf9d, 0x02cc1ab1, 0x01c6bb42, 0x00c68f0a, 0x0089f446, 0x03dd901e, 0x00042376}}}, + {X: Field{[10]uint32{0x01e05242, 0x00ce29ac, 0x022860f1, 0x02935fe6, 0x000652b0, 0x00ef8a0a, 0x01a096a7, 0x020aa6c4, 0x03601ebe, 0x0024b04d}}, Y: Field{[10]uint32{0x02449d7c, 0x02b01b02, 0x0027559f, 0x02f74538, 0x0251a588, 0x017db1e6, 0x003dd578, 0x0343e975, 0x03fc2dc6, 0x000b8fa4}}}, + {X: Field{[10]uint32{0x014318b8, 0x03ff97c7, 0x01d69a12, 0x01e7d818, 0x0194b4f2, 0x022550af, 0x021c749e, 0x01305dce, 0x00da7996, 0x000f2dbe}}, Y: Field{[10]uint32{0x03b11956, 0x02e904da, 0x01d54d05, 0x01c5b9ac, 0x0272a777, 0x02bb8a55, 0x023bd02f, 0x016b6370, 0x01a8b4f4, 0x0010b930}}}, + {X: Field{[10]uint32{0x03dbf5db, 0x00545142, 0x0183f664, 0x01366a00, 0x013c60a1, 0x01437839, 0x01a51100, 0x00637444, 0x0351d345, 0x0017fb58}}, Y: Field{[10]uint32{0x0346c3f6, 0x0299621d, 0x036cd056, 0x0078a579, 0x01da77e0, 0x026f60dd, 0x00140b64, 0x029342dd, 0x0190de07, 0x001ade69}}}, + {X: Field{[10]uint32{0x015d3840, 0x0064f8f6, 0x0356e7d3, 0x02c7f43e, 0x00a14132, 0x0301844a, 0x00245d37, 0x0213cadf, 0x00a781c3, 0x000ae23c}}, Y: Field{[10]uint32{0x01a0e10e, 0x021cfe22, 0x02981bd4, 0x02e520e2, 0x00c1632b, 0x0089125d, 0x01b6453c, 0x01b95d95, 0x03a21144, 0x003de1f9}}}, + {X: Field{[10]uint32{0x03293443, 0x02ec0b60, 0x02fd2047, 0x0253a623, 0x0118507f, 0x0368d9c6, 0x030ac3e1, 0x0157ecd6, 0x03b15a3f, 0x0031ec91}}, Y: Field{[10]uint32{0x01b85f4f, 0x01ee341b, 0x00b6799e, 0x03d993cf, 0x00c3c8e5, 0x0309f152, 0x02b6ac8b, 0x017c448d, 0x003734c6, 0x0012ad01}}}, + {X: Field{[10]uint32{0x003647dd, 0x02a8dd78, 0x005344c6, 0x03484875, 0x0045df69, 0x00b04df8, 0x0008a201, 0x02520417, 0x01338dcb, 0x00377f6a}}, Y: Field{[10]uint32{0x03795c1b, 0x02ff96d5, 0x02091bbc, 0x015691be, 0x0095f912, 0x0161c4b4, 0x032e93ac, 0x005af565, 0x01fd02a1, 0x003a57de}}}, + {X: Field{[10]uint32{0x031da7db, 0x013fbe8d, 0x00c29da0, 0x02d99dfe, 0x029d15a6, 0x0091fa1f, 0x03e3233b, 0x02c415b1, 0x02455084, 0x00372369}}, Y: Field{[10]uint32{0x001449c3, 0x00c81211, 0x00c80931, 0x00a198df, 0x018fc66d, 0x022f5da1, 0x0207fea0, 0x03b00fda, 0x01a3fde3, 0x0030a8d1}}}, + {X: Field{[10]uint32{0x01ff5333, 0x015520b4, 0x0395b8e3, 0x0334ea31, 0x02a31547, 0x0190e415, 0x0263bc7a, 0x02fea3c4, 0x0326c5fc, 0x003d4fce}}, Y: Field{[10]uint32{0x02716ac1, 0x022f8eb9, 0x031d1bb6, 0x03b1e662, 0x035249e8, 0x005f13ec, 0x0188f1da, 0x02e72a63, 0x0145e664, 0x000044fb}}}, + {X: Field{[10]uint32{0x0246cae9, 0x0277242d, 0x03a391d8, 0x021a4c4e, 0x027d7546, 0x0365a77d, 0x021d6477, 0x012d793b, 0x03fd0c6d, 0x00192348}}, Y: Field{[10]uint32{0x03e18962, 0x036f8a00, 0x0120615e, 0x01500c98, 0x009b3364, 0x02b81a5f, 0x02ffbd4b, 0x01d74d39, 0x00452393, 0x00340d78}}}, + {X: Field{[10]uint32{0x002839b1, 0x020ff84f, 0x011cb1c4, 0x038ac72a, 0x03bd51bd, 0x035c2cd0, 0x0073f3ed, 0x01603e09, 0x010e5dbe, 0x0024b9b7}}, Y: Field{[10]uint32{0x039577a5, 0x03d1852c, 0x012015dd, 0x007a8432, 0x01a61ab0, 0x02826ce4, 0x02d1a465, 0x01ef4964, 0x03fea544, 0x00336437}}}, + {X: Field{[10]uint32{0x009f687b, 0x013b983d, 0x03b782ef, 0x020daf9b, 0x00eaec05, 0x02505695, 0x0223ec54, 0x03be33e8, 0x018a7616, 0x0004c579}}, Y: Field{[10]uint32{0x03e1431c, 0x016109b5, 0x0280f1ac, 0x0285cdf6, 0x022fe189, 0x036b1caa, 0x00e1fa45, 0x01832f15, 0x0100802d, 0x001ca780}}}, + {X: Field{[10]uint32{0x033e2a3b, 0x0008522a, 0x035e6c94, 0x03579b41, 0x0186b001, 0x00d55394, 0x026b284a, 0x03f61438, 0x03999857, 0x000f22a5}}, Y: Field{[10]uint32{0x00b25977, 0x01a76f4a, 0x012f6d6c, 0x00568410, 0x03a722e9, 0x00140819, 0x0087b3d6, 0x00829565, 0x0092acc7, 0x001193c1}}}, + {X: Field{[10]uint32{0x027591c8, 0x00ba9d84, 0x00879f86, 0x03e3fc0f, 0x010bf3c7, 0x01be6b38, 0x02b37cae, 0x0317d10d, 0x0230cc94, 0x003a905c}}, Y: Field{[10]uint32{0x01a4faa6, 0x01819f61, 0x033ace91, 0x01d5c09a, 0x006f4ec4, 0x02735010, 0x00cff1eb, 0x03542eeb, 0x00cb8d95, 0x0025848e}}}, + {X: Field{[10]uint32{0x021a6ceb, 0x0066854d, 0x0040bceb, 0x0282c316, 0x0348496c, 0x00b262bd, 0x01a8c816, 0x001e78ca, 0x01c2f271, 0x0023b33e}}, Y: Field{[10]uint32{0x017e56af, 0x00f5a1ec, 0x03a5b0b5, 0x00e684cb, 0x01c8ac52, 0x00bcdeca, 0x00c6a7c5, 0x03c6a98c, 0x0219165b, 0x000f8966}}}, + {X: Field{[10]uint32{0x030f296d, 0x00e62d53, 0x0155677f, 0x004e10b3, 0x027bf3d9, 0x0153adaa, 0x033c34ab, 0x00e965a1, 0x0083b350, 0x000cbc3f}}, Y: Field{[10]uint32{0x0381a811, 0x036328be, 0x01e26655, 0x02b73268, 0x00311e50, 0x032d7dec, 0x02da3459, 0x01e2dd8b, 0x016d906f, 0x00351cdb}}}, + {X: Field{[10]uint32{0x00d7accb, 0x00c60db8, 0x00a9f638, 0x0302c985, 0x03e4fa4c, 0x017fdf2f, 0x03c171da, 0x00ea3e90, 0x011077c8, 0x002df58c}}, Y: Field{[10]uint32{0x016be9de, 0x0217af5e, 0x037e35e2, 0x02d30648, 0x008b84a5, 0x0307ae99, 0x02c27ef9, 0x00554aa2, 0x02405644, 0x0018257d}}}, + {X: Field{[10]uint32{0x02536954, 0x009a52ef, 0x02cf06c3, 0x03e35a49, 0x010588b4, 0x0158f95b, 0x00cd74e6, 0x013ec295, 0x004a22df, 0x003bdb24}}, Y: Field{[10]uint32{0x025dbaa4, 0x02568881, 0x00c9fb10, 0x024b83a7, 0x02aa7a04, 0x00dc5788, 0x03c3d3c4, 0x00de9396, 0x00b144cd, 0x000c2244}}}, + {X: Field{[10]uint32{0x02941a6a, 0x00b5eac8, 0x02e27067, 0x0079baaa, 0x02b37524, 0x012385fe, 0x00eebf0b, 0x0096f2b3, 0x03d1e628, 0x0006784e}}, Y: Field{[10]uint32{0x00b613f7, 0x00f2430a, 0x03bbad3e, 0x019b92bc, 0x02855ea6, 0x02fe3330, 0x01308bbd, 0x016f0455, 0x03290700, 0x001bc8b0}}}, + {X: Field{[10]uint32{0x008e9420, 0x02dec447, 0x025df967, 0x02af5e4a, 0x009a98a7, 0x03ca602c, 0x0349ae45, 0x03de41e4, 0x00df10f2, 0x0015f66f}}, Y: Field{[10]uint32{0x0265db68, 0x01a29ca6, 0x0265eb50, 0x03d6ff93, 0x0142ebfd, 0x033009ec, 0x00f8fcb1, 0x0215378d, 0x01e1d9b7, 0x002fd997}}}, + {X: Field{[10]uint32{0x03df06b2, 0x03e1eb80, 0x0057e4e3, 0x0087c4f4, 0x00bb530a, 0x0347b4c9, 0x038874e3, 0x017a2c21, 0x02857c3d, 0x000def19}}, Y: Field{[10]uint32{0x00998539, 0x00711493, 0x02ec83a8, 0x02f5cbd7, 0x0377764a, 0x00729eef, 0x02abbeac, 0x02c4bbc4, 0x03dc764d, 0x00055066}}}, + {X: Field{[10]uint32{0x01c2cec2, 0x01962a7e, 0x021387f3, 0x00729d04, 0x00b572e1, 0x01944b0b, 0x00012a59, 0x024544cf, 0x01d99ca5, 0x0006cc31}}, Y: Field{[10]uint32{0x02f39697, 0x02c16417, 0x0169101d, 0x01445a97, 0x002344f7, 0x01ebe327, 0x004d8421, 0x03343150, 0x020b2a0d, 0x0037108c}}}, + {X: Field{[10]uint32{0x01efd0bf, 0x02d387f0, 0x03e65b8d, 0x008616e4, 0x01e6e89f, 0x016b5297, 0x0329f4f8, 0x0156b374, 0x01b3050c, 0x0025a0c7}}, Y: Field{[10]uint32{0x03d47837, 0x0127b673, 0x00ef455e, 0x035687e3, 0x0082bd8b, 0x01c1cbcb, 0x0275ef61, 0x01ce6b43, 0x0020fd03, 0x0021bd0e}}}, + {X: Field{[10]uint32{0x00e3d8ad, 0x024f3551, 0x0379266b, 0x027a85f2, 0x02bce799, 0x01eb3550, 0x0309f28f, 0x00129560, 0x000faa1f, 0x00334bd4}}, Y: Field{[10]uint32{0x00dd8c29, 0x025011b2, 0x0009e929, 0x00158fbc, 0x0127dd1b, 0x02057de5, 0x00743c24, 0x03abba5f, 0x0080ddfc, 0x0007e5dc}}}, + {X: Field{[10]uint32{0x02d01c08, 0x00af85d2, 0x003e8ff3, 0x0279829e, 0x00802f51, 0x00d54a4a, 0x0318ff9d, 0x02789e8c, 0x027d237c, 0x00180e4a}}, Y: Field{[10]uint32{0x02893fdc, 0x03615bc8, 0x02065663, 0x00714e7f, 0x0088ae9e, 0x03ca5f11, 0x0194afbd, 0x0347e362, 0x0147df91, 0x003adfcc}}}, + {X: Field{[10]uint32{0x0237ee9a, 0x015d3e7e, 0x03c90d22, 0x01e45e6c, 0x03d8abb6, 0x03cf075f, 0x00d68fb9, 0x02adcc08, 0x03ad0df6, 0x003db3dd}}, Y: Field{[10]uint32{0x0042ebd1, 0x031de389, 0x03523280, 0x02e873e6, 0x0177e81e, 0x037dd8c4, 0x01d513b7, 0x03dc59ad, 0x01c33587, 0x0023fe8a}}}, + {X: Field{[10]uint32{0x027cdf7a, 0x001c50b6, 0x00abd018, 0x028b49a9, 0x00944a0e, 0x0046f8bf, 0x01b6f4ff, 0x03145165, 0x015af542, 0x0015f200}}, Y: Field{[10]uint32{0x00b05da9, 0x0319cfaa, 0x03e3d2c9, 0x02ff45b8, 0x00ffb692, 0x028dd537, 0x02b32d33, 0x00f319ed, 0x039e8015, 0x002d9f1d}}}, + {X: Field{[10]uint32{0x034fe462, 0x0390679a, 0x03b4bfa1, 0x01feed90, 0x012f58a1, 0x02ba664c, 0x03d5c51c, 0x01248bfe, 0x0158ac18, 0x001ff821}}, Y: Field{[10]uint32{0x01ec7a11, 0x023ef9de, 0x0079e5a8, 0x01745664, 0x007268cb, 0x03565616, 0x027e9e4c, 0x0162d4db, 0x037d8bbf, 0x001d8011}}}, + {X: Field{[10]uint32{0x01517b75, 0x0367cfb7, 0x0177d87b, 0x017d62f8, 0x023d8109, 0x03639f13, 0x029b87a0, 0x026fbf5c, 0x016e73b3, 0x000b85bd}}, Y: Field{[10]uint32{0x035fcb7a, 0x013905cd, 0x011aa69b, 0x03c1e808, 0x0177aa59, 0x01a3c260, 0x02c950e6, 0x00e836ea, 0x01ef5732, 0x0013389c}}}, + {X: Field{[10]uint32{0x00ffdedb, 0x03ae9886, 0x017ad9c2, 0x039b4b76, 0x0049200d, 0x0328929a, 0x0381f666, 0x01e00af9, 0x000d456d, 0x0029351c}}, Y: Field{[10]uint32{0x026e4532, 0x0350d3f1, 0x036d5efe, 0x0396bc4b, 0x009124aa, 0x02192936, 0x030e7628, 0x0283c3a3, 0x006d0e7b, 0x0030267e}}}, + {X: Field{[10]uint32{0x033fc059, 0x02306676, 0x0145dc04, 0x01d061fc, 0x01a2327e, 0x00795eb9, 0x016c9219, 0x0278fa8c, 0x01505011, 0x002d1d93}}, Y: Field{[10]uint32{0x0398653c, 0x00f55a91, 0x03092c2f, 0x01c13e93, 0x004f1270, 0x0005a862, 0x00831ea9, 0x0084a4fb, 0x00facc27, 0x0038e6fa}}}, + {X: Field{[10]uint32{0x027e2d0e, 0x0064c6c3, 0x02235503, 0x008ebae0, 0x02c29fe1, 0x0213f1a5, 0x015b352e, 0x02afc33b, 0x03a7d291, 0x000f9a1a}}, Y: Field{[10]uint32{0x0185d266, 0x0371306a, 0x02ed88c7, 0x001e6327, 0x005a889b, 0x00c86e6e, 0x00caf9a9, 0x00f207e1, 0x00ab07cc, 0x001ecd70}}}, + {X: Field{[10]uint32{0x024a46c5, 0x02501f34, 0x03346db4, 0x0014a234, 0x03584001, 0x00c488c5, 0x0161e563, 0x01c3bf16, 0x032d1d4c, 0x0035e21b}}, Y: Field{[10]uint32{0x00b9efc8, 0x02501015, 0x023e868d, 0x00fe053c, 0x03c5ef50, 0x0135f6ea, 0x0225903d, 0x018092cb, 0x02e617c4, 0x00369917}}}, + {X: Field{[10]uint32{0x03a17a40, 0x01e643c2, 0x03475d3a, 0x03c8c976, 0x02cea867, 0x038dd519, 0x0257ba71, 0x0135016a, 0x03cc1465, 0x001f2f48}}, Y: Field{[10]uint32{0x02dcbc51, 0x03968774, 0x0303954c, 0x01ffb74d, 0x02088d32, 0x018e3b3a, 0x005541ee, 0x01b6d2e6, 0x01af96e6, 0x003b7739}}}, + {X: Field{[10]uint32{0x03eb9795, 0x02e62505, 0x00a5c5d2, 0x02ed6185, 0x0018f877, 0x00cf0864, 0x00ea0a92, 0x03876bbb, 0x0185c279, 0x00151898}}, Y: Field{[10]uint32{0x00e9b6f8, 0x0342e1b8, 0x0309d928, 0x03c37192, 0x018cfb07, 0x033f1e46, 0x03967305, 0x0211502f, 0x0185dc8f, 0x001941fb}}}, + {X: Field{[10]uint32{0x0163c32e, 0x02170201, 0x00681892, 0x03e78880, 0x0259e68c, 0x0376afbe, 0x02db20aa, 0x030b38af, 0x01551cbe, 0x003b73bc}}, Y: Field{[10]uint32{0x02753179, 0x035e8f6f, 0x00b33b03, 0x03f677da, 0x00bed59e, 0x032e936d, 0x016ab45b, 0x00a14f0a, 0x01437559, 0x002b799c}}}, + {X: Field{[10]uint32{0x023380cd, 0x02342180, 0x02dd99cf, 0x017320d2, 0x036a30bc, 0x032476df, 0x03db47fb, 0x03e74fc9, 0x0153ff6e, 0x003809ea}}, Y: Field{[10]uint32{0x03a2bbf5, 0x00d8b6b2, 0x032e4c7e, 0x02025d61, 0x0162eafc, 0x03114aa0, 0x012d174a, 0x03408239, 0x004de18a, 0x00079ac9}}}, + {X: Field{[10]uint32{0x02e2b2d6, 0x02b1bd9c, 0x00960e17, 0x00b2aa88, 0x0366dbf9, 0x01e1f549, 0x02a251f3, 0x00090953, 0x0168db98, 0x0029401b}}, Y: Field{[10]uint32{0x020b2b9c, 0x00fea95a, 0x01babfa6, 0x037d735b, 0x0372d1e6, 0x003dd1c8, 0x0198766c, 0x03756e53, 0x017ee854, 0x002864e3}}}, + {X: Field{[10]uint32{0x0027be11, 0x039419a1, 0x004e03d5, 0x00943b94, 0x01dbb020, 0x00a65646, 0x029adf73, 0x03f67b69, 0x01f201a1, 0x000c9c1d}}, Y: Field{[10]uint32{0x03c4debb, 0x02ace05a, 0x02df32de, 0x03091466, 0x02611a4e, 0x036157e8, 0x00ee3356, 0x0252fa52, 0x02b1c32e, 0x0010695f}}}, + {X: Field{[10]uint32{0x023363bd, 0x01e567c6, 0x0399ac1c, 0x0013188d, 0x039c87ac, 0x03a57dd2, 0x010cdcd7, 0x012f29ac, 0x01c66669, 0x0025f869}}, Y: Field{[10]uint32{0x00ab5e88, 0x026e49f2, 0x006a948c, 0x02601095, 0x01566894, 0x0359c709, 0x032bb6c4, 0x01587ded, 0x008d1ec7, 0x000f3269}}}, + {X: Field{[10]uint32{0x00c07a21, 0x0243b4ec, 0x01a047f7, 0x01a27dbf, 0x03d0a2d8, 0x013bad2a, 0x01bce28f, 0x01373f44, 0x0240a737, 0x001143e9}}, Y: Field{[10]uint32{0x03a77f4c, 0x00f285bb, 0x0231fc4c, 0x01b1fae8, 0x02aa35a5, 0x0034774d, 0x002a1f17, 0x033e8752, 0x0298dc17, 0x003aba20}}}, + {X: Field{[10]uint32{0x020a6559, 0x007bd2e7, 0x004a8a7a, 0x02461fa5, 0x00d81fad, 0x01025090, 0x0209ce1f, 0x019a84b6, 0x0340fc0a, 0x003d6a9c}}, Y: Field{[10]uint32{0x02eb5017, 0x0367f1ca, 0x022e349a, 0x004276d4, 0x00899d98, 0x02136e9d, 0x02e7738f, 0x024bc718, 0x03da9ef9, 0x0004956c}}}, + {X: Field{[10]uint32{0x0242f1b4, 0x032529e2, 0x02c8c90c, 0x022a2c53, 0x028857ac, 0x01fef5d6, 0x03238419, 0x01e0da9e, 0x01655519, 0x0001a402}}, Y: Field{[10]uint32{0x031b027b, 0x02eb6305, 0x007100f1, 0x02d3a7bd, 0x02952b5b, 0x02f817cc, 0x02271072, 0x025db6d1, 0x01d2038c, 0x00077060}}}, + {X: Field{[10]uint32{0x03f290aa, 0x00b484b0, 0x01e878ff, 0x03e4cd55, 0x03bc3bc0, 0x030dd830, 0x019f377b, 0x0104d9fa, 0x005a8ed8, 0x000ac6a8}}, Y: Field{[10]uint32{0x0013e280, 0x019f9633, 0x00a417b2, 0x002b2f74, 0x0035e900, 0x01fcda2f, 0x01f58965, 0x02f0c645, 0x02f41eb8, 0x0011ec96}}}, + {X: Field{[10]uint32{0x0052d81d, 0x00574974, 0x01a7ab53, 0x00e75320, 0x03454b1e, 0x00017976, 0x013540d3, 0x02bfc366, 0x029ca18c, 0x002939ad}}, Y: Field{[10]uint32{0x015d70c5, 0x02b70068, 0x0182236f, 0x00845f22, 0x00df4fcb, 0x00b9e9bb, 0x02d78edc, 0x01e41290, 0x01039c58, 0x001f3fc8}}}, + {X: Field{[10]uint32{0x039d2582, 0x01a45bec, 0x00fa17a3, 0x02ca029f, 0x01f728e1, 0x02775de5, 0x039cb0fd, 0x03292cf8, 0x0396c74f, 0x002ad12e}}, Y: Field{[10]uint32{0x0026f5c1, 0x01a8b264, 0x00ab7cb7, 0x036079e5, 0x037edc0d, 0x00645659, 0x0373febb, 0x03633279, 0x03a4519f, 0x00167646}}}, + {X: Field{[10]uint32{0x01e332a2, 0x036f08e7, 0x03cc7715, 0x01d5750b, 0x00934729, 0x015108a2, 0x016a31ae, 0x030f9232, 0x005b3fb9, 0x0020ec32}}, Y: Field{[10]uint32{0x01a6da6e, 0x034c07cd, 0x014b1e36, 0x00e4b592, 0x009652d7, 0x03c21a00, 0x0033b342, 0x00160bf6, 0x0240fb62, 0x003a67d5}}}, + {X: Field{[10]uint32{0x03954537, 0x02c856bb, 0x0078841e, 0x03d10381, 0x03e5bd10, 0x01402f03, 0x02911ee0, 0x033e059d, 0x013e624e, 0x003a914c}}, Y: Field{[10]uint32{0x000c7445, 0x0344c4db, 0x0244e81a, 0x0005342d, 0x00d5afb1, 0x027a2915, 0x03bde53b, 0x02733880, 0x000ce235, 0x0012ae2c}}}, + {X: Field{[10]uint32{0x01a3cd4e, 0x033a87d4, 0x03412ac4, 0x0278df3d, 0x03ae6d60, 0x023249f2, 0x03f7a269, 0x00f65a7d, 0x00e4af82, 0x0024db04}}, Y: Field{[10]uint32{0x017b7213, 0x023a37ec, 0x02b60bf6, 0x01ec04f4, 0x00bdb906, 0x000d67db, 0x03e5bdcf, 0x02142e38, 0x03bb10dd, 0x0011bdca}}}, + {X: Field{[10]uint32{0x02e9bfd6, 0x0243583c, 0x0296b36c, 0x00597478, 0x01847bb1, 0x01aa26cc, 0x02cf8e13, 0x030f6ce4, 0x015b61aa, 0x0010da97}}, Y: Field{[10]uint32{0x0336d68d, 0x0155a18b, 0x0247e336, 0x036839cd, 0x025e342b, 0x012a43e7, 0x038559c8, 0x032b3065, 0x008dae67, 0x003e079a}}}, + {X: Field{[10]uint32{0x00b315d7, 0x02136001, 0x0067aabd, 0x0108b986, 0x02d931a4, 0x0153d898, 0x024b929e, 0x022684e8, 0x00273fe7, 0x0027ae55}}, Y: Field{[10]uint32{0x012ef59c, 0x03e568d3, 0x01c60768, 0x012bfb04, 0x02d29f20, 0x03bfea0a, 0x0020fba8, 0x03990002, 0x01927dc0, 0x000e2ff0}}}, + {X: Field{[10]uint32{0x02280d8a, 0x0392e97e, 0x0277a0e6, 0x00342f68, 0x02ecb77a, 0x0003d8f9, 0x02b4328a, 0x02f02b2d, 0x02f587ec, 0x000e09ad}}, Y: Field{[10]uint32{0x024ef271, 0x00cbc10e, 0x016e6572, 0x024e2e8f, 0x01db35e2, 0x03698fe2, 0x03e6eb9e, 0x039a6c84, 0x01fedcef, 0x0003650d}}}, + {X: Field{[10]uint32{0x00a1dde2, 0x03e32881, 0x00a21cd0, 0x02e36cf3, 0x034dbdce, 0x010d92e7, 0x0193bcf8, 0x0286f8fe, 0x0111ae0e, 0x0028d233}}, Y: Field{[10]uint32{0x0083ac75, 0x03522107, 0x001e91d1, 0x02f5b591, 0x0007078e, 0x004ada28, 0x01c202f2, 0x03ebc9a8, 0x01d3db7c, 0x0007f214}}}, + {X: Field{[10]uint32{0x03df7329, 0x03a6818a, 0x002053c4, 0x039cf2dc, 0x025d70d1, 0x01c90993, 0x027646d0, 0x037cf139, 0x0239237f, 0x002ff855}}, Y: Field{[10]uint32{0x035f88e4, 0x03413e4a, 0x023adf12, 0x0373924b, 0x03345488, 0x01dd9d20, 0x03c09d1d, 0x03967670, 0x03e61ec5, 0x00240acd}}}, + {X: Field{[10]uint32{0x003dfa5e, 0x004f3270, 0x02944144, 0x00409c1f, 0x012642ae, 0x02081608, 0x00dc346c, 0x02dbd350, 0x014d81a1, 0x0038bf6c}}, Y: Field{[10]uint32{0x0088fceb, 0x0028f88d, 0x004086c6, 0x02ca6c03, 0x02131e37, 0x01d9d818, 0x026925ae, 0x021545b1, 0x00ed846e, 0x000c046d}}}, + {X: Field{[10]uint32{0x013c7416, 0x0377b1a4, 0x0038a535, 0x03aab09f, 0x02cf1119, 0x02d2b088, 0x0263659d, 0x019d205d, 0x01c68f47, 0x002ef196}}, Y: Field{[10]uint32{0x0154b954, 0x026099de, 0x00c7a477, 0x00825d6e, 0x03482501, 0x034ff84e, 0x01d13a40, 0x0144abeb, 0x02e19fdb, 0x0007e2db}}}, + {X: Field{[10]uint32{0x02505521, 0x0137a368, 0x02056cef, 0x02dbf67b, 0x01ce9141, 0x03e169e2, 0x016f743a, 0x01e26f6f, 0x02029866, 0x00196f4a}}, Y: Field{[10]uint32{0x0378f5a5, 0x017ce74c, 0x0370c6b6, 0x0135c429, 0x02990b18, 0x030f9b15, 0x01644a46, 0x02def175, 0x00301ced, 0x000cb6f8}}}, + {X: Field{[10]uint32{0x0278e981, 0x01645ac8, 0x01406a3a, 0x02427817, 0x00e9318d, 0x0303cdc9, 0x0175a49f, 0x033df093, 0x02eb8382, 0x0007b039}}, Y: Field{[10]uint32{0x0015715a, 0x033f0acd, 0x019fc240, 0x0018cdf3, 0x02fa56ac, 0x01a5f7af, 0x008ade3c, 0x02f2bfab, 0x029cf486, 0x00394384}}}, + {X: Field{[10]uint32{0x03a9eb8c, 0x032c43d8, 0x00d9e10d, 0x0248cd96, 0x00c0399c, 0x0284058a, 0x01aceb1e, 0x02896678, 0x031c203d, 0x001ce42b}}, Y: Field{[10]uint32{0x037c3126, 0x03837c25, 0x02418320, 0x028ce6f3, 0x002c3ada, 0x037af9f6, 0x03cad451, 0x01ec275e, 0x00966064, 0x001f4855}}}, + {X: Field{[10]uint32{0x021a533b, 0x01c7a05a, 0x01eb2b4b, 0x007b624c, 0x01127baf, 0x00267311, 0x03ff7f37, 0x00dd91e0, 0x00697b91, 0x00266945}}, Y: Field{[10]uint32{0x03e2e8e4, 0x022018e9, 0x00d4c8a2, 0x03c23a8e, 0x00809d21, 0x02b9d23f, 0x00bd57db, 0x01dc2c3f, 0x000f7503, 0x00127034}}}, + {X: Field{[10]uint32{0x020394d9, 0x03eb5962, 0x018cbf12, 0x038313f2, 0x02320ba2, 0x03c6dc09, 0x03b7dbfe, 0x00133033, 0x00b13b48, 0x003935b8}}, Y: Field{[10]uint32{0x03761a41, 0x01d74d8e, 0x01b6c750, 0x03760619, 0x03af5fc3, 0x038338be, 0x035ad203, 0x001bf9a9, 0x02ac73a0, 0x002bac3a}}}, + {X: Field{[10]uint32{0x01fe1a04, 0x01445b86, 0x03459d88, 0x0160ad54, 0x031a9aa0, 0x02b48fec, 0x03e1c460, 0x0397ab2c, 0x0141507c, 0x00122290}}, Y: Field{[10]uint32{0x0312bd12, 0x008d7d33, 0x0104f0d7, 0x01ce97f6, 0x00e82f80, 0x02b58ec1, 0x01eaf25e, 0x03e31d33, 0x0066043e, 0x001af5a8}}}, + {X: Field{[10]uint32{0x03babaa1, 0x03057659, 0x028c55d2, 0x011f290b, 0x032cb65b, 0x00b7eeb0, 0x011c2ffd, 0x0295346b, 0x024ded0c, 0x00303ff8}}, Y: Field{[10]uint32{0x027e9289, 0x01f1af5f, 0x0167dbbd, 0x03859d59, 0x03a0a330, 0x037dc047, 0x01bbba88, 0x0137c867, 0x023e29c5, 0x00345731}}}, + {X: Field{[10]uint32{0x027780b1, 0x016e48dd, 0x03fb2830, 0x003fc82f, 0x0131b05d, 0x023f17bc, 0x02dd36dd, 0x01389677, 0x030206c7, 0x000cdb66}}, Y: Field{[10]uint32{0x014e647b, 0x0179fd50, 0x01fd1b05, 0x0184051c, 0x032b1b64, 0x006f6e27, 0x03e6510e, 0x029c1eba, 0x00fc9886, 0x0012bb6b}}}, + {X: Field{[10]uint32{0x02dcf04f, 0x03b38b40, 0x024a706a, 0x016b3a11, 0x019a2a17, 0x031ee1b9, 0x03d3711d, 0x029ef8ee, 0x02b98973, 0x00260d4f}}, Y: Field{[10]uint32{0x02ee767e, 0x01d187ea, 0x0196d980, 0x0290f5b1, 0x028e45b4, 0x00178704, 0x02108873, 0x01290e3d, 0x02c22789, 0x002a1dfe}}}, + {X: Field{[10]uint32{0x02da1e61, 0x01f0d84d, 0x039053f3, 0x01df0e3a, 0x0271c9fb, 0x0153f2c2, 0x0239cecb, 0x03e77d8d, 0x021c17ff, 0x003370d7}}, Y: Field{[10]uint32{0x0094eace, 0x026d9a25, 0x017782bb, 0x0275f58a, 0x0087ae55, 0x030528c7, 0x024f0ccd, 0x01c9837d, 0x02bafe91, 0x002a332d}}}, + {X: Field{[10]uint32{0x00111941, 0x026a4d20, 0x00b5b515, 0x03b149b3, 0x015d7407, 0x02701bc5, 0x00584093, 0x0282c9c5, 0x01c15e62, 0x00244b2c}}, Y: Field{[10]uint32{0x03049bf6, 0x02f561cd, 0x035adbf4, 0x02e60d23, 0x026fa710, 0x031c3769, 0x00cecc86, 0x03111f34, 0x00d51723, 0x00161305}}}, + {X: Field{[10]uint32{0x03bff3bc, 0x0339a4f0, 0x0102b5dd, 0x01a26003, 0x01ffd195, 0x03fd00d0, 0x02ec6e2c, 0x022b3667, 0x017c7c1e, 0x00085178}}, Y: Field{[10]uint32{0x0236356f, 0x02ffd3dd, 0x02b68957, 0x0222bebf, 0x00a5c430, 0x02769eeb, 0x030e9b89, 0x02cdce56, 0x01a240c0, 0x000ee29c}}}, + {X: Field{[10]uint32{0x010b1692, 0x00baa523, 0x004ab3aa, 0x002882ff, 0x0143e091, 0x000f3721, 0x024f7e1d, 0x01c9c888, 0x03367e87, 0x00392824}}, Y: Field{[10]uint32{0x02cf846e, 0x00557df0, 0x00f80328, 0x0372bdf4, 0x02898f48, 0x03e9b8d3, 0x02b8315a, 0x01bc0e3b, 0x00313314, 0x00092c7b}}}, + {X: Field{[10]uint32{0x0328db40, 0x026cdb34, 0x02bb0f57, 0x0361001b, 0x012b1390, 0x01900a1d, 0x03387ed4, 0x01166edf, 0x02dd464d, 0x003f7d49}}, Y: Field{[10]uint32{0x013a3987, 0x011f0379, 0x00963141, 0x026a9d17, 0x01937326, 0x004993b1, 0x02cf7766, 0x005b4774, 0x02c56792, 0x0010e5b9}}}, + {X: Field{[10]uint32{0x00729f86, 0x016fed3b, 0x01da4fab, 0x012539d4, 0x0252ca4c, 0x02b77cfd, 0x01933ebc, 0x01c9cd42, 0x0016b3e3, 0x0001b217}}, Y: Field{[10]uint32{0x03648d6f, 0x019bc5ba, 0x01cf1217, 0x02646e7e, 0x01e592ce, 0x0177a64a, 0x0249040c, 0x0201f979, 0x03c8520b, 0x0026d4c3}}}, + {X: Field{[10]uint32{0x00e28e58, 0x0031e44b, 0x03203feb, 0x02889560, 0x03004e7d, 0x0378033e, 0x0098ce4b, 0x038b0043, 0x023c596e, 0x0013efeb}}, Y: Field{[10]uint32{0x026ff099, 0x00d55fb6, 0x017993e7, 0x01960ef0, 0x02396b8a, 0x03d43f58, 0x02dcfdcf, 0x00d92e57, 0x0104ed0e, 0x003fb3c1}}}, + {X: Field{[10]uint32{0x0378bab8, 0x00d44f81, 0x001fa150, 0x02ef4f0a, 0x0197c1d7, 0x003a7204, 0x0283c2b9, 0x0045e4ed, 0x037b8017, 0x0026f30e}}, Y: Field{[10]uint32{0x01bc0b43, 0x002e45d0, 0x03e9f3b7, 0x00275f62, 0x03a887f0, 0x02166ea8, 0x03825ab9, 0x0227469d, 0x00928782, 0x00368bab}}}, + {X: Field{[10]uint32{0x03635150, 0x0380be5a, 0x03c8a024, 0x0098ed78, 0x00855b0a, 0x01cb44c5, 0x02956956, 0x028ecfd6, 0x00400e70, 0x00110568}}, Y: Field{[10]uint32{0x023986be, 0x02961a76, 0x0223ec58, 0x0158e7cc, 0x016843ac, 0x026bf571, 0x02921603, 0x02a7e207, 0x038fcf55, 0x0036294e}}}, + {X: Field{[10]uint32{0x005b2341, 0x00212dc1, 0x030924d2, 0x00d8b54d, 0x01b617b5, 0x03880e0e, 0x00988fcb, 0x02f3da8e, 0x01c9cdaf, 0x001579d6}}, Y: Field{[10]uint32{0x0131bb95, 0x03e0abfe, 0x015d6cf7, 0x02dd0bae, 0x013c1191, 0x0288c561, 0x01524834, 0x00d01626, 0x03eaca8a, 0x00129a4c}}}, + {X: Field{[10]uint32{0x0140e9c8, 0x018d2215, 0x024b95ed, 0x0162b6f7, 0x018d1153, 0x03720f82, 0x017e072b, 0x00f0bc29, 0x0325bee2, 0x00084087}}, Y: Field{[10]uint32{0x01a8c9f0, 0x02ff8f3e, 0x008d4ba5, 0x0071fe19, 0x034ed8dc, 0x037208a8, 0x002c98f8, 0x003bfdf1, 0x0291a770, 0x0026bbd5}}}, + {X: Field{[10]uint32{0x01b376d1, 0x031e60b3, 0x024a7a28, 0x03bda413, 0x02c70771, 0x003502e2, 0x03f3c641, 0x006bffb7, 0x011ddded, 0x000ad38c}}, Y: Field{[10]uint32{0x0309b05c, 0x02b1cc35, 0x02575d20, 0x034db1e4, 0x0248b25d, 0x015fd6e5, 0x0243d02b, 0x016c1c3f, 0x00f56b25, 0x0005170c}}}, + {X: Field{[10]uint32{0x015378b3, 0x022d7d17, 0x0091e8b9, 0x02be412c, 0x025ed91c, 0x0017496d, 0x00dbf5be, 0x01840324, 0x021c7e16, 0x0014642c}}, Y: Field{[10]uint32{0x02650073, 0x0102d299, 0x01166040, 0x01b085b0, 0x001826d2, 0x02f83550, 0x00e3f268, 0x0317e2d4, 0x02471fbd, 0x002e0f33}}}, + {X: Field{[10]uint32{0x005b56f7, 0x03d00c15, 0x016ae1f2, 0x0025df40, 0x0188b1b0, 0x01d82062, 0x007c7b28, 0x01702cd9, 0x02e454c6, 0x000ac847}}, Y: Field{[10]uint32{0x02854f5c, 0x01c3775d, 0x03506f9b, 0x01a6e18f, 0x00fff746, 0x01e984a2, 0x01a25634, 0x03f0755c, 0x015917d8, 0x001d5d0e}}}, + {X: Field{[10]uint32{0x024134d4, 0x03e52bb9, 0x021b6d4a, 0x013e5063, 0x03a3caad, 0x03dae99b, 0x038ec37f, 0x002bb8d1, 0x0392b41e, 0x0032cc2d}}, Y: Field{[10]uint32{0x028358c5, 0x006aad88, 0x008e771b, 0x00376bac, 0x00914230, 0x003471ca, 0x02b8b4ec, 0x027d2e48, 0x02decb3a, 0x001155c6}}}, + {X: Field{[10]uint32{0x00e4bc6c, 0x00f34c81, 0x012e065c, 0x0149fba8, 0x03e46879, 0x0226f99e, 0x0349d070, 0x02a85ba5, 0x03a8d2fc, 0x003d390d}}, Y: Field{[10]uint32{0x03ba97c4, 0x02798a9d, 0x009c4344, 0x03f0e489, 0x008e7647, 0x03743b8a, 0x01e51f8b, 0x02ba28c3, 0x028b7e81, 0x003ed4b4}}}, + {X: Field{[10]uint32{0x0350d518, 0x0314f377, 0x00080545, 0x012f2d9e, 0x00ce85a9, 0x024f677e, 0x02a726c1, 0x0066cef1, 0x02a76a2a, 0x0028299d}}, Y: Field{[10]uint32{0x03190a71, 0x01ff2223, 0x03fe8e43, 0x01a28f26, 0x0041198d, 0x02b901c0, 0x01816e5a, 0x02f4842e, 0x00c6b1b7, 0x00191ffa}}}, + {X: Field{[10]uint32{0x03ff7b7e, 0x00296eed, 0x0171c786, 0x01745762, 0x0275a2ba, 0x03abbbb9, 0x00544ab1, 0x0250a2c4, 0x03ead7f3, 0x00057753}}, Y: Field{[10]uint32{0x0038445c, 0x00b11c67, 0x02961844, 0x007c6c7e, 0x0253924d, 0x02dcc8b4, 0x02313427, 0x008551f4, 0x01dd5fab, 0x00226557}}}, + {X: Field{[10]uint32{0x030ca522, 0x03d8c864, 0x012b8850, 0x00ffdcb3, 0x0301bdea, 0x035d3767, 0x037a188e, 0x012d1d8d, 0x00004029, 0x002a01ae}}, Y: Field{[10]uint32{0x02b97213, 0x02fb7237, 0x010db9c6, 0x02b18624, 0x0253e49a, 0x02aceee1, 0x03f1fa88, 0x02c6bda5, 0x036547d8, 0x0012db5c}}}, + {X: Field{[10]uint32{0x039f148b, 0x02e8fd56, 0x0006df31, 0x02b3cf01, 0x0058a983, 0x0390c7ba, 0x036ff9f6, 0x01921de8, 0x023dca08, 0x001078dc}}, Y: Field{[10]uint32{0x038392e4, 0x0252074e, 0x02007913, 0x00b37ff2, 0x022753c5, 0x0336a7f4, 0x000b136d, 0x0163406a, 0x02caf27c, 0x0022ac59}}}, + {X: Field{[10]uint32{0x01bba3c4, 0x002f2a19, 0x00953ea0, 0x011fe353, 0x01690e04, 0x00251985, 0x03a3e587, 0x02322766, 0x00f27855, 0x0018ee28}}, Y: Field{[10]uint32{0x03cf787f, 0x0002cc90, 0x03a0c2d3, 0x025dca2c, 0x008c09b2, 0x03c01320, 0x0295da00, 0x022d254e, 0x014185eb, 0x000c87eb}}}, + {X: Field{[10]uint32{0x014c5963, 0x00aa6a6c, 0x0056c894, 0x036b4bfe, 0x01c1ca21, 0x0088a698, 0x01cae5f8, 0x0034e941, 0x037faa8b, 0x00018afa}}, Y: Field{[10]uint32{0x02bffd4b, 0x0275efd5, 0x030451ac, 0x0008bd6d, 0x03a36f4c, 0x00fbf710, 0x01886550, 0x0309fd73, 0x00bd7120, 0x0038f673}}}, + {X: Field{[10]uint32{0x03d20427, 0x03cb1206, 0x0199ac65, 0x033cf2cb, 0x03bc133f, 0x024bc0c4, 0x01d79a90, 0x02e27af9, 0x000af524, 0x002dd686}}, Y: Field{[10]uint32{0x021d2747, 0x02e08952, 0x02d48c39, 0x01918cfb, 0x036a6369, 0x0398b7ec, 0x03094b41, 0x0301534d, 0x0056b11c, 0x0039e154}}}, + {X: Field{[10]uint32{0x024949e9, 0x03bb413f, 0x032f2f03, 0x00f3bbc0, 0x026b51f9, 0x013418e8, 0x01df9cbe, 0x03f1da5f, 0x036d5298, 0x001396ef}}, Y: Field{[10]uint32{0x02a12188, 0x039138c5, 0x00119476, 0x02fa6495, 0x001871fb, 0x0336024c, 0x0114a19e, 0x02771951, 0x028640cd, 0x00199c09}}}, + {X: Field{[10]uint32{0x00173237, 0x02fdb7c3, 0x01200074, 0x039b72d8, 0x02b78e86, 0x0357f06a, 0x02edb836, 0x03c1a4ee, 0x003df509, 0x002a5de3}}, Y: Field{[10]uint32{0x01d0cab7, 0x03804fca, 0x025d690e, 0x0072302f, 0x019230a4, 0x002a1759, 0x03a0e50d, 0x03e44e57, 0x019186a0, 0x000cea72}}}, + {X: Field{[10]uint32{0x03570449, 0x01eed8f3, 0x03c95cdb, 0x039c9b32, 0x00757fb3, 0x02924dab, 0x01790bc1, 0x012f9f12, 0x02ad1666, 0x003c6cea}}, Y: Field{[10]uint32{0x0060cc06, 0x003ed29d, 0x02a3a52b, 0x0098934e, 0x02006434, 0x011899e0, 0x02183981, 0x037040fc, 0x01cbea3f, 0x003477f8}}}, + {X: Field{[10]uint32{0x0349f598, 0x02293164, 0x022d0698, 0x0172bd33, 0x019563a0, 0x0133c067, 0x0036ad6a, 0x035615a9, 0x013ab015, 0x00359b3f}}, Y: Field{[10]uint32{0x011efc4d, 0x033dbe84, 0x01756d07, 0x02fbee54, 0x00d8e91b, 0x036e503e, 0x03b73056, 0x03679598, 0x01b6d097, 0x0017a85e}}}, + {X: Field{[10]uint32{0x020ac7aa, 0x03f8ef36, 0x00470ea8, 0x01bcb036, 0x015d87a1, 0x0260bb7f, 0x030f30aa, 0x01744efb, 0x00f0924b, 0x00294ca9}}, Y: Field{[10]uint32{0x038d5c1c, 0x00aa49c7, 0x017ad553, 0x03eab188, 0x0374fd1e, 0x03d40e1b, 0x003de70d, 0x00d204f3, 0x0019ca4e, 0x0030b98b}}}, + {X: Field{[10]uint32{0x00439b70, 0x0397fd8a, 0x03b3e1a3, 0x03bcff8b, 0x0281ebb3, 0x0381ed8c, 0x03d08c09, 0x0220d7fe, 0x01125df7, 0x002a6ac9}}, Y: Field{[10]uint32{0x01877514, 0x00696d61, 0x00c7e350, 0x02d53a54, 0x01f2eaad, 0x0330d77c, 0x0243698a, 0x0056aa6a, 0x01db56e0, 0x00163fd5}}}, + {X: Field{[10]uint32{0x020466eb, 0x03fd1b11, 0x02521f2c, 0x012907b5, 0x0153df17, 0x024571b5, 0x004dc830, 0x00f7b306, 0x03849081, 0x00338163}}, Y: Field{[10]uint32{0x02f3e745, 0x011acbe2, 0x03d47c76, 0x01065ecd, 0x02282377, 0x013d3dc6, 0x02815a78, 0x01d05016, 0x00c45881, 0x0010534e}}}, + {X: Field{[10]uint32{0x02406299, 0x02faaa5b, 0x003d4737, 0x014e76d8, 0x010afe92, 0x0059137a, 0x0385c7f3, 0x02cdaaac, 0x036530a2, 0x002647ea}}, Y: Field{[10]uint32{0x008eed57, 0x00abe7f9, 0x014df4f8, 0x03edeb6a, 0x005d373c, 0x0136807d, 0x016dc9d4, 0x0112f7c5, 0x017677c5, 0x000a8a6d}}}, + {X: Field{[10]uint32{0x03715d8e, 0x0070fcab, 0x01e140e9, 0x03fa84fc, 0x03ddfdd2, 0x016ad205, 0x00419210, 0x013bbf32, 0x001fbd03, 0x003b9b32}}, Y: Field{[10]uint32{0x0386d8be, 0x00ebcef8, 0x00a3f689, 0x011ea5ef, 0x00df8fd8, 0x02972f01, 0x007358de, 0x03a59487, 0x03fe48c3, 0x002e3de7}}}, + {X: Field{[10]uint32{0x019c5ef2, 0x02b33685, 0x017a3c5d, 0x03fa04cd, 0x0316ff2d, 0x00507800, 0x004d5cc5, 0x01995d55, 0x0372d642, 0x0019a8b4}}, Y: Field{[10]uint32{0x01bc8929, 0x0368fdd3, 0x029a05ba, 0x03416608, 0x00780000, 0x03c99781, 0x01423b9a, 0x03d234e2, 0x016b91c6, 0x002d5f4b}}}, + {X: Field{[10]uint32{0x02421da9, 0x0171a48e, 0x00ac6adf, 0x0396b2d3, 0x037a5798, 0x031fcda8, 0x0043e73f, 0x0378e854, 0x01d9f697, 0x0008280b}}, Y: Field{[10]uint32{0x01cf34f7, 0x00db0c33, 0x02b97338, 0x00e0bf31, 0x02ab4ab5, 0x00478f72, 0x02ab61e7, 0x00d87aa9, 0x0100d162, 0x00079b3c}}}, + {X: Field{[10]uint32{0x037bf552, 0x00e8c0f2, 0x0211092e, 0x026873b6, 0x019f92b7, 0x036894cc, 0x0298b154, 0x03a07daf, 0x02437818, 0x00282e32}}, Y: Field{[10]uint32{0x01543be6, 0x02ff968f, 0x030baa1a, 0x039922d8, 0x02218508, 0x003f38b6, 0x0263ca11, 0x03664141, 0x00ebf447, 0x0011506f}}}, + {X: Field{[10]uint32{0x00c52c63, 0x005d3ac7, 0x00ffb9e4, 0x02376d6e, 0x01e0d501, 0x0172ea73, 0x015c25fb, 0x039221f8, 0x02ad73dc, 0x00145c53}}, Y: Field{[10]uint32{0x03dafebf, 0x024507e6, 0x0309773b, 0x00c6665d, 0x01a5c248, 0x019b7480, 0x02272c7d, 0x01587afb, 0x00a082ef, 0x0011ede5}}}, + {X: Field{[10]uint32{0x02451c59, 0x012b0b35, 0x03a2fba7, 0x02904d05, 0x017da195, 0x026487a4, 0x03c41f6a, 0x03781cf9, 0x03631fe4, 0x00063a89}}, Y: Field{[10]uint32{0x024df316, 0x02bb5435, 0x01e6b106, 0x020cba55, 0x00d31b3b, 0x0235f24f, 0x03e0428e, 0x02eea6cc, 0x0337fff6, 0x000e6282}}}, + {X: Field{[10]uint32{0x03c5a87e, 0x02e415c5, 0x030cd0e8, 0x029675d6, 0x03c3d1f0, 0x033ea617, 0x01ec341a, 0x0060d298, 0x034fc39e, 0x00387562}}, Y: Field{[10]uint32{0x006b3c47, 0x02648967, 0x007f2cf2, 0x00e83767, 0x01af8215, 0x02dfe679, 0x03e2ab3b, 0x03f7b023, 0x020215fd, 0x0006d8bb}}}, + {X: Field{[10]uint32{0x016c5a84, 0x03b0f9dc, 0x039a3bbd, 0x0104472b, 0x032c19c5, 0x02c94f70, 0x03f5ba8e, 0x030495f7, 0x011730d3, 0x000e5e4e}}, Y: Field{[10]uint32{0x01f18015, 0x02a929fd, 0x021e3f78, 0x02f5070a, 0x00be7b4e, 0x021476a3, 0x02cded5c, 0x00db6644, 0x0350189f, 0x0035a87e}}}, + {X: Field{[10]uint32{0x039ede88, 0x003c5e96, 0x02ef1552, 0x002c93ca, 0x021d5736, 0x02c09467, 0x01dbf888, 0x0101b4e0, 0x024b601b, 0x00126d27}}, Y: Field{[10]uint32{0x0169a38d, 0x01f9dcbe, 0x02fadbff, 0x02734390, 0x03a0a76e, 0x00279168, 0x03e7be10, 0x035ecd66, 0x00ca02f2, 0x003f3cf3}}}, + {X: Field{[10]uint32{0x00bdc871, 0x036a914a, 0x024c32bf, 0x02848907, 0x01d64e38, 0x003fc5e8, 0x0188548f, 0x03cdb483, 0x010d0b42, 0x000b3606}}, Y: Field{[10]uint32{0x00259187, 0x03bd66da, 0x02a67077, 0x0034ac5a, 0x022fff78, 0x016affab, 0x0284f45e, 0x0052416a, 0x03692214, 0x003dca70}}}, + {X: Field{[10]uint32{0x0241025a, 0x00218997, 0x006f2308, 0x03a91747, 0x02b5b642, 0x007e7466, 0x020cb2cf, 0x015198b6, 0x03111738, 0x0007f43e}}, Y: Field{[10]uint32{0x029ce0e9, 0x02460791, 0x0008f557, 0x035b6edb, 0x0294e928, 0x031c04b6, 0x007825d1, 0x002082af, 0x0288fec6, 0x000c4da9}}}, + {X: Field{[10]uint32{0x02f3a141, 0x0391101e, 0x0387107d, 0x02ec4834, 0x013f93d5, 0x02f61139, 0x0248a0f5, 0x02d6f861, 0x033bd7f8, 0x003c2397}}, Y: Field{[10]uint32{0x01902fac, 0x01b857f6, 0x0289fa52, 0x02f37c74, 0x01bf7ea1, 0x03253a83, 0x0361bdfc, 0x03ab872a, 0x03259067, 0x0000f761}}}, + {X: Field{[10]uint32{0x005ee207, 0x0172ac47, 0x005a5d3f, 0x03c07fbb, 0x03a0584c, 0x0171af75, 0x03a046bb, 0x03ea58dc, 0x0006b997, 0x002800cf}}, Y: Field{[10]uint32{0x03e268b4, 0x002a36f0, 0x03a17d14, 0x02d8f53f, 0x0039a577, 0x00823503, 0x00c2cda2, 0x039235c2, 0x0131aacb, 0x003bb586}}}, + {X: Field{[10]uint32{0x02c16f70, 0x0246db98, 0x03b1e1ea, 0x01c1109a, 0x0383ff8f, 0x005de469, 0x001e29b1, 0x0299c77c, 0x000868be, 0x001df7bb}}, Y: Field{[10]uint32{0x0264861d, 0x009ac015, 0x024b5dc4, 0x009f0288, 0x00fcc1fe, 0x0067d7a7, 0x031ae7ef, 0x01cfd8c9, 0x0228ba8f, 0x002e4228}}}, + {X: Field{[10]uint32{0x01aa72b1, 0x016a86ea, 0x019605fd, 0x03070623, 0x01994a03, 0x00d41acf, 0x01bd1fc6, 0x0043b468, 0x015ffe2f, 0x000bf37b}}, Y: Field{[10]uint32{0x02bbefc6, 0x02df5d81, 0x0145d3fa, 0x00a13fe7, 0x02b4df66, 0x004a8319, 0x00d7c12e, 0x021bc748, 0x03f6f09a, 0x000556fa}}}, + {X: Field{[10]uint32{0x015db3ad, 0x00438826, 0x02904c83, 0x03fddf0a, 0x018667f8, 0x02e91f02, 0x00add0c9, 0x039cceaf, 0x032dfdf5, 0x0007c302}}, Y: Field{[10]uint32{0x037bc566, 0x035d5995, 0x03e448ef, 0x020a1732, 0x0170f631, 0x00c9a122, 0x039b7613, 0x03d57d44, 0x03cb84ce, 0x002f5c46}}}, + {X: Field{[10]uint32{0x0237dcf8, 0x03aa3e42, 0x005ef465, 0x03b52aa2, 0x03d603fd, 0x03b7d953, 0x01bdf3c5, 0x00b11183, 0x0144e716, 0x0002d2a1}}, Y: Field{[10]uint32{0x003c62b2, 0x00e28f48, 0x0134c139, 0x01bb6f86, 0x0099f8ee, 0x00a4b2ce, 0x032e27b2, 0x03a2c800, 0x0391b3f2, 0x0014f010}}}, + {X: Field{[10]uint32{0x005bd68c, 0x016c2dcb, 0x0221a9d8, 0x0031b650, 0x03d00a90, 0x034c1ce5, 0x0331cdfa, 0x02dcd4e3, 0x0282dcde, 0x0037c3af}}, Y: Field{[10]uint32{0x00decfb2, 0x03d1cce2, 0x001c68a2, 0x038b5c1c, 0x034a1d07, 0x0292b3e2, 0x03b869e3, 0x00b95511, 0x0239e7fe, 0x0030ca65}}}, + {X: Field{[10]uint32{0x03c101c0, 0x032499c0, 0x01576ec7, 0x00396cde, 0x02f9fd46, 0x034a3e27, 0x02ed101f, 0x0230cf87, 0x01b6d1c3, 0x003ac12e}}, Y: Field{[10]uint32{0x01e0ee9e, 0x0363ca3d, 0x024eb008, 0x0120e5d2, 0x00f5ee75, 0x020b5ba7, 0x013cab57, 0x03e02cac, 0x00497f47, 0x0013c9b6}}}, + {X: Field{[10]uint32{0x03294334, 0x03dc7434, 0x01cface9, 0x003ba9ee, 0x017db4ee, 0x032ae619, 0x014b37a0, 0x031b3ab2, 0x03e2197c, 0x001ef27b}}, Y: Field{[10]uint32{0x01a72013, 0x01e0b697, 0x009a37ff, 0x024c7057, 0x01ad8fb4, 0x02d6ce94, 0x001d9404, 0x01e41aa5, 0x00ad5234, 0x00364c6f}}}, + {X: Field{[10]uint32{0x033e0b9b, 0x0106b4ed, 0x00844e0a, 0x01433259, 0x011321dc, 0x01a8fa2d, 0x010c10c6, 0x014b192f, 0x01e8f4bd, 0x002248b4}}, Y: Field{[10]uint32{0x0241c431, 0x00a9e8d2, 0x003182a0, 0x031b57b7, 0x0261c9ee, 0x00cdf714, 0x00e6abd3, 0x03887a24, 0x00f17d23, 0x000ad90f}}}, + {X: Field{[10]uint32{0x02ddcc72, 0x006746bc, 0x00e9acdc, 0x0369df28, 0x030139a7, 0x0311a007, 0x036a842a, 0x004bb48b, 0x01e33a93, 0x0010bcbb}}, Y: Field{[10]uint32{0x0326f99b, 0x038d25e3, 0x0376ac70, 0x0029afd1, 0x02ab9536, 0x037238d0, 0x0260edff, 0x026172e4, 0x03cc715c, 0x00143516}}}, + {X: Field{[10]uint32{0x016761c6, 0x009c1453, 0x02ea2f3b, 0x03ca4a4d, 0x00627549, 0x01c9ad79, 0x00792550, 0x03fac962, 0x03201862, 0x001ef725}}, Y: Field{[10]uint32{0x01a4fa8c, 0x02a1504b, 0x02269f1c, 0x039032b5, 0x0065372e, 0x02101998, 0x026f0bff, 0x02b7d5db, 0x032b7f77, 0x001c03ad}}}, + {X: Field{[10]uint32{0x006314cf, 0x0366385d, 0x023066b6, 0x011f4840, 0x01f79d16, 0x008a3868, 0x002e0d85, 0x0126fd79, 0x03a64bf5, 0x002e6d49}}, Y: Field{[10]uint32{0x020cd93f, 0x00a66aaa, 0x00eb7499, 0x00e71b61, 0x02e35b15, 0x000bcc3a, 0x022a2b68, 0x007d6e4e, 0x00642a72, 0x002386cd}}}, + {X: Field{[10]uint32{0x01e3dda9, 0x02b0961d, 0x02d74978, 0x00c56434, 0x03d187c4, 0x00f3845d, 0x00291929, 0x01dd9407, 0x012934d4, 0x002d9779}}, Y: Field{[10]uint32{0x039fa529, 0x038db58e, 0x014ef324, 0x0027b2f6, 0x03f07555, 0x00c0d915, 0x01c55351, 0x02d73acf, 0x03e74ab9, 0x000f5bf2}}}, + {X: Field{[10]uint32{0x027c6b9b, 0x0198d9b3, 0x02ca5c2e, 0x03a8d016, 0x01a036ed, 0x00fc1584, 0x03604f6a, 0x01d47abc, 0x02320608, 0x00063aad}}, Y: Field{[10]uint32{0x015074c5, 0x00acd942, 0x03dd99d1, 0x001492f5, 0x02ccd426, 0x027e479b, 0x0211f057, 0x004464db, 0x03bc9467, 0x00227ac1}}}, + {X: Field{[10]uint32{0x02d360d5, 0x007183ba, 0x000a14eb, 0x03928c6d, 0x03c7502e, 0x025b4e76, 0x01a16065, 0x02590e42, 0x00664a47, 0x00289844}}, Y: Field{[10]uint32{0x01814901, 0x01fcdc9d, 0x00ac03e8, 0x0207cc8f, 0x0085721a, 0x02066086, 0x022d9fe3, 0x0155d8c9, 0x034d8802, 0x0012d175}}}, + {X: Field{[10]uint32{0x0008a8a7, 0x0250d74f, 0x019595da, 0x03ebd800, 0x01c77ac0, 0x0173c972, 0x019dc583, 0x0214de80, 0x00b12c10, 0x001e2515}}, Y: Field{[10]uint32{0x01829041, 0x02b82fe9, 0x007a2591, 0x000c949a, 0x008841da, 0x0282f5d8, 0x02f43378, 0x0167eb2f, 0x030fed28, 0x001afba1}}}, + {X: Field{[10]uint32{0x02791569, 0x03897518, 0x025ed7cf, 0x03e67d98, 0x01f81570, 0x00b837e5, 0x03683b9c, 0x0197c046, 0x0206fb4f, 0x00065df0}}, Y: Field{[10]uint32{0x03698479, 0x0390d7af, 0x01de467d, 0x02c9d764, 0x019dcc79, 0x02a7af81, 0x03f435e5, 0x0112aa57, 0x01a3c222, 0x00379db7}}}, + {X: Field{[10]uint32{0x01f4222f, 0x02b26199, 0x02585189, 0x03530fd5, 0x01ec3b5a, 0x02b0d35f, 0x03e60861, 0x0354d903, 0x01f7d259, 0x002247c3}}, Y: Field{[10]uint32{0x032de219, 0x002b3a46, 0x0257dba9, 0x02ac1010, 0x025c3293, 0x02a35ac3, 0x027a6011, 0x0228a87b, 0x03f70f53, 0x00331782}}}, + {X: Field{[10]uint32{0x0299530b, 0x02a4dfff, 0x01e55c80, 0x0380f171, 0x0350169d, 0x0104ad34, 0x026c282f, 0x03e07964, 0x03f69262, 0x00214d2e}}, Y: Field{[10]uint32{0x017423b5, 0x0239fad5, 0x01cf9fb0, 0x008d3505, 0x00f70cfc, 0x0395147a, 0x00764c0b, 0x001cdd33, 0x0181e0bb, 0x003efbb9}}}, + {X: Field{[10]uint32{0x006f63fb, 0x012c1faa, 0x001989e4, 0x01f03c04, 0x0158fc89, 0x01516635, 0x034eafa3, 0x037f4dd1, 0x016404e7, 0x00396dbd}}, Y: Field{[10]uint32{0x0118da79, 0x01b38998, 0x00ad0b2c, 0x03242ce0, 0x008e153c, 0x022201e0, 0x01e7d983, 0x00ea2ddb, 0x03fa68a8, 0x0010da2e}}}, + {X: Field{[10]uint32{0x02c2b850, 0x02435381, 0x00e29f7c, 0x03ced38e, 0x0046e184, 0x001c91ea, 0x03dc5e55, 0x03945260, 0x028b11c3, 0x003e5646}}, Y: Field{[10]uint32{0x010ff6b5, 0x025e82b6, 0x032a51fe, 0x024fca7f, 0x02957de3, 0x00d9a87e, 0x024e288a, 0x03d61f32, 0x00362361, 0x00108ed9}}}, + {X: Field{[10]uint32{0x0372384c, 0x02482c7f, 0x038212f2, 0x01655ef1, 0x017c9950, 0x025918de, 0x01eb617c, 0x017a7bbe, 0x01d3252f, 0x000f4c8e}}, Y: Field{[10]uint32{0x02a2e57a, 0x00f2a7c8, 0x03df78f7, 0x0386a6d9, 0x03ef860e, 0x0257ad37, 0x02798bf6, 0x02beb394, 0x03b6fc9b, 0x00070f8d}}}, + {X: Field{[10]uint32{0x00c5dfb8, 0x035719ef, 0x00055201, 0x018707c5, 0x02a0a6ce, 0x002184a8, 0x028e8554, 0x0135da1a, 0x03234b57, 0x003d0225}}, Y: Field{[10]uint32{0x000a56a4, 0x014c8243, 0x03af3c74, 0x029d80bf, 0x03c3a62f, 0x015969e7, 0x02aac242, 0x03f24552, 0x03b73e72, 0x001ae0a0}}}, + {X: Field{[10]uint32{0x02267ccf, 0x02d18a8b, 0x03c64bc4, 0x034ac104, 0x0395058e, 0x0262e2d1, 0x03e65f84, 0x031d17da, 0x02e7aea9, 0x002b381d}}, Y: Field{[10]uint32{0x028b97aa, 0x0076b045, 0x0120a31f, 0x018aa651, 0x02dc58f3, 0x02bcd4f8, 0x032ed6dc, 0x02a797ad, 0x0217377f, 0x0002d8b1}}}, + {X: Field{[10]uint32{0x006ec161, 0x01bf0b42, 0x036af29d, 0x00ced3f7, 0x01b4e63f, 0x02b6c747, 0x030b848e, 0x0181a4c8, 0x03a7408c, 0x001c332e}}, Y: Field{[10]uint32{0x014d6959, 0x020b1ee8, 0x02ec4d77, 0x00e1c7ef, 0x025a4ff3, 0x0152a032, 0x01286776, 0x00398390, 0x01a046d3, 0x003f0736}}}, + {X: Field{[10]uint32{0x0358d372, 0x03798a79, 0x02ede7a8, 0x02ce65c2, 0x019e33fc, 0x02bd6af1, 0x0258d3a4, 0x016c317a, 0x00b27c0c, 0x0039b9ea}}, Y: Field{[10]uint32{0x018d4a66, 0x036cf972, 0x017049a8, 0x0297262f, 0x00b40df3, 0x024f8b20, 0x011fee27, 0x02d69754, 0x01c4c8c8, 0x00350344}}}, + {X: Field{[10]uint32{0x03216346, 0x02c74c88, 0x02739117, 0x029433fd, 0x007910e9, 0x0278b109, 0x01495b71, 0x00b9a0ca, 0x01c7e0a0, 0x00337125}}, Y: Field{[10]uint32{0x001583d4, 0x00816c5a, 0x022f0559, 0x0231b390, 0x00d51fc6, 0x03c77dbb, 0x01ddcd87, 0x0302b3ca, 0x036e9306, 0x0018d993}}}, + {X: Field{[10]uint32{0x022fc5cc, 0x025d741e, 0x02e4f825, 0x0065bcd6, 0x01d0142f, 0x02e09370, 0x022ba333, 0x00878000, 0x009c2fd7, 0x0009e13a}}, Y: Field{[10]uint32{0x003b8cf4, 0x00d7bd77, 0x001db4a3, 0x0113c021, 0x005a391e, 0x00958a3d, 0x00232b9b, 0x019874d5, 0x0266bdfa, 0x0002e962}}}, + {X: Field{[10]uint32{0x001a2390, 0x023b37ac, 0x00d0b9b9, 0x02ffdabd, 0x030c9118, 0x0212e8f3, 0x001dd831, 0x01ce0085, 0x0362ebcb, 0x002ada66}}, Y: Field{[10]uint32{0x00766905, 0x0241128d, 0x03e71a60, 0x01ede611, 0x012be011, 0x02829f33, 0x0142547d, 0x0083db17, 0x0210b714, 0x00179520}}}, + {X: Field{[10]uint32{0x035756ec, 0x00f53c2d, 0x02e08dda, 0x00aa60d6, 0x02220955, 0x01b747aa, 0x03ad6d39, 0x038dfee7, 0x03a567ff, 0x001e07a9}}, Y: Field{[10]uint32{0x02637256, 0x0141683c, 0x034b2af9, 0x001f6b37, 0x000403a5, 0x02e99933, 0x01481744, 0x00ee5f93, 0x007b46f6, 0x000f1db6}}}, + {X: Field{[10]uint32{0x0374029c, 0x002f4fb8, 0x033fd39d, 0x00ef882c, 0x03a0e1ce, 0x023fb968, 0x0004fe7b, 0x002a0a97, 0x0130dd5c, 0x001d6acb}}, Y: Field{[10]uint32{0x01914b9f, 0x0057f358, 0x0121a722, 0x03ead7be, 0x0330536e, 0x0253073d, 0x01f6f8e6, 0x00e4eb2e, 0x0147fdb1, 0x002abd18}}}, + {X: Field{[10]uint32{0x00ddaff0, 0x00433e02, 0x03ced85a, 0x00cf4471, 0x01087124, 0x0212b55b, 0x023caea6, 0x00f6a5b4, 0x02983730, 0x000a52d9}}, Y: Field{[10]uint32{0x0346f7c1, 0x02993de6, 0x00b4222f, 0x03f20be7, 0x01e5861b, 0x00e2fc7c, 0x0007fa8b, 0x00fa7aa5, 0x02f7feb7, 0x002bd35f}}}, + {X: Field{[10]uint32{0x0024c8d6, 0x031b8d2e, 0x02e55ea3, 0x03a4495f, 0x00f290f6, 0x0365c047, 0x0283b06b, 0x018e7f25, 0x02ea7433, 0x003619da}}, Y: Field{[10]uint32{0x03a7456d, 0x0296dc65, 0x0230fd71, 0x00ab79c7, 0x0309017b, 0x01aab04c, 0x00f3e5cd, 0x01551424, 0x007635d4, 0x001c4322}}}, + {X: Field{[10]uint32{0x021270d0, 0x02fb9d05, 0x03544fd8, 0x009ea4ed, 0x00cee714, 0x0361a916, 0x004771c6, 0x03d6b0ab, 0x02030d90, 0x001793b2}}, Y: Field{[10]uint32{0x00c97351, 0x02bc2dd0, 0x03b9ff0c, 0x0293d232, 0x00a93bb4, 0x00d8a225, 0x03a6d603, 0x03e2febf, 0x0143b970, 0x00113f80}}}, + {X: Field{[10]uint32{0x0180097e, 0x03c496e1, 0x021dc157, 0x00f76f1d, 0x01265c3a, 0x026d5521, 0x0308f212, 0x02ea17f9, 0x01aa244f, 0x0024054b}}, Y: Field{[10]uint32{0x03ef2cf7, 0x00d5ce60, 0x03939b94, 0x00b120d5, 0x038a6d39, 0x03f0bd84, 0x01fa3b28, 0x021a42d6, 0x02c9200b, 0x0005a534}}}, + {X: Field{[10]uint32{0x005637b5, 0x02cf2423, 0x020f191f, 0x0265ccbb, 0x00daf3a1, 0x032fcae7, 0x03a953fa, 0x01c7114f, 0x00f096f1, 0x0019f755}}, Y: Field{[10]uint32{0x02de74b1, 0x009e6f13, 0x005dfb36, 0x02914d99, 0x025fd6c4, 0x028ce318, 0x01022365, 0x019db6d9, 0x03432d33, 0x0014c9f6}}}, + {X: Field{[10]uint32{0x036c51ef, 0x037e57ee, 0x00790142, 0x015d57bf, 0x032e7704, 0x01d33d50, 0x020f1447, 0x03fd5d96, 0x02838f95, 0x0031925a}}, Y: Field{[10]uint32{0x00d752a2, 0x0099ff2f, 0x038caca8, 0x0078e8e2, 0x031177b5, 0x022c16d4, 0x0186f01d, 0x0075ce4b, 0x01d6604d, 0x00330010}}}, + {X: Field{[10]uint32{0x00c11c74, 0x03f6dbda, 0x029ad933, 0x02da5187, 0x02425bf4, 0x02043674, 0x01e5e728, 0x00eff51d, 0x030a0b16, 0x0039e675}}, Y: Field{[10]uint32{0x00ba8600, 0x027f0605, 0x02b215ef, 0x0274689c, 0x03e50444, 0x00631b44, 0x00adcf76, 0x03b8fe6c, 0x005fe29b, 0x003f0d1d}}}, + {X: Field{[10]uint32{0x01489d3b, 0x03d16b17, 0x0175acb6, 0x01d30f73, 0x02820c87, 0x0060f60b, 0x032aa221, 0x02404540, 0x03b0151a, 0x001b4f25}}, Y: Field{[10]uint32{0x02d4749f, 0x03356c52, 0x023231c2, 0x03e7b99c, 0x0264b57d, 0x033b767b, 0x0295d438, 0x035dee3d, 0x01013d15, 0x0016aa2f}}}, + {X: Field{[10]uint32{0x02517539, 0x0163bfc2, 0x00165456, 0x030ea0be, 0x03b96d8e, 0x0131a8e6, 0x01cf2d9a, 0x01f79d06, 0x02001c1e, 0x0021b94f}}, Y: Field{[10]uint32{0x0344ad86, 0x01d7c06a, 0x03520ce4, 0x02b099b7, 0x00c24491, 0x00198c45, 0x01da5254, 0x03b3033b, 0x0370f2ef, 0x0003e2c6}}}, + {X: Field{[10]uint32{0x02a9880a, 0x014210d4, 0x0074347c, 0x02407cf2, 0x03075feb, 0x023b6ccf, 0x023267a7, 0x01f33aa6, 0x0339ac87, 0x00299070}}, Y: Field{[10]uint32{0x03982163, 0x029c9583, 0x01009c34, 0x031abf72, 0x01407559, 0x01f5a729, 0x03dc101b, 0x016b14f1, 0x014f2b27, 0x0036229b}}}, + {X: Field{[10]uint32{0x0182511a, 0x004d5a27, 0x00ceb9e0, 0x03550243, 0x00b925aa, 0x0378c5d5, 0x001de436, 0x02099916, 0x03a94d77, 0x000e8054}}, Y: Field{[10]uint32{0x00802035, 0x00cf5e96, 0x0055e35a, 0x00367c2b, 0x0111154b, 0x03fc1b3e, 0x0252df38, 0x017169e8, 0x02489493, 0x00003db2}}}, + {X: Field{[10]uint32{0x032b170f, 0x030a9851, 0x0058c5be, 0x035f18fd, 0x002c2e51, 0x009ba5bd, 0x0126b31d, 0x0326b501, 0x00e8a131, 0x0039e009}}, Y: Field{[10]uint32{0x034e0c53, 0x01fd9627, 0x008eaf19, 0x00125d90, 0x013a3092, 0x036ad977, 0x0093d9ce, 0x02c63c8d, 0x014b1ad7, 0x00315028}}}, + {X: Field{[10]uint32{0x006a5162, 0x004cce2a, 0x007cc7df, 0x01878b76, 0x007f05a1, 0x0064919a, 0x00380fab, 0x03c3b1d0, 0x005e8351, 0x001e1632}}, Y: Field{[10]uint32{0x02a6de1c, 0x035f96cd, 0x03a60928, 0x001969db, 0x037e658e, 0x03111354, 0x002897e7, 0x0281bf0e, 0x03445313, 0x0032b650}}}, + {X: Field{[10]uint32{0x030263e6, 0x01c51eb2, 0x024b82f3, 0x022b5666, 0x00ddb9da, 0x02597ccd, 0x0268c170, 0x037750d6, 0x02281c5b, 0x0001990f}}, Y: Field{[10]uint32{0x032cf79b, 0x022d6229, 0x03f36d72, 0x03e9a513, 0x016f2dc8, 0x02125a35, 0x008f9282, 0x02a82e6f, 0x02368ee1, 0x0027e7e7}}}, + {X: Field{[10]uint32{0x01b2254b, 0x0164b5ae, 0x035e7106, 0x008fa684, 0x02b31325, 0x03a81755, 0x03e8f9e3, 0x03c5325b, 0x0137a286, 0x0017cdb6}}, Y: Field{[10]uint32{0x0056310a, 0x011922e4, 0x02cfc2e5, 0x0070f21a, 0x029adb0e, 0x03cbf4e7, 0x02bf753e, 0x017fcb73, 0x037cc826, 0x0002758d}}}, + {X: Field{[10]uint32{0x023e2224, 0x019dfaf1, 0x0212fb17, 0x01c9187a, 0x02310f91, 0x00a140f0, 0x0226f266, 0x0282a97d, 0x01ae93d3, 0x00084bac}}, Y: Field{[10]uint32{0x036d1b67, 0x033f51d2, 0x02fa51df, 0x03fbd7f5, 0x010bbc5a, 0x03d4a09a, 0x038d9fdc, 0x00805b1c, 0x0233347f, 0x0014795f}}}, + {X: Field{[10]uint32{0x01e9eab4, 0x02175dcd, 0x0277e9a0, 0x024e39bc, 0x01dedb3b, 0x000f3898, 0x00481452, 0x027e4cca, 0x02c8940b, 0x00149a54}}, Y: Field{[10]uint32{0x01a42918, 0x013d3361, 0x0210952e, 0x023c50fe, 0x001d9aa5, 0x006013fe, 0x01fe2fd8, 0x00aabe69, 0x03a356df, 0x002195f3}}}, + {X: Field{[10]uint32{0x001c099f, 0x022f81d3, 0x036ef8f9, 0x00f2e5ea, 0x010419e0, 0x0254e8b4, 0x03a8778c, 0x00a04b92, 0x010def76, 0x00083c5d}}, Y: Field{[10]uint32{0x02cd485e, 0x03a2cc6e, 0x0060ebd8, 0x01396af0, 0x01d9d97b, 0x01a87b0b, 0x020bf881, 0x034a9fec, 0x01f53e7a, 0x0034bfba}}}, + {X: Field{[10]uint32{0x027ee910, 0x024db735, 0x02496da2, 0x0397bed9, 0x01dbc7f5, 0x03c4f1a4, 0x023cfb27, 0x00599708, 0x03b7ea01, 0x00388c68}}, Y: Field{[10]uint32{0x0365d53f, 0x02d7f02f, 0x0011e96e, 0x000bec5c, 0x0345e4f6, 0x0337c4f0, 0x027316c7, 0x0004c7cf, 0x002e18e8, 0x002a9917}}}, + {X: Field{[10]uint32{0x01c702ad, 0x005d2d89, 0x002cbed7, 0x0189a1e8, 0x01d01aa9, 0x014b9ca6, 0x02eac355, 0x009b74f6, 0x01523fd0, 0x001e9393}}, Y: Field{[10]uint32{0x01b965d2, 0x02ccc13f, 0x01b8471e, 0x03047e50, 0x007d2bdf, 0x0335f269, 0x00612044, 0x02396ab9, 0x02b6a739, 0x000d4704}}}, + {X: Field{[10]uint32{0x03f137b3, 0x013471b2, 0x03eaa557, 0x019c6688, 0x039a8589, 0x0000431b, 0x00a5a5ca, 0x0159c19f, 0x007e7696, 0x003f4bdc}}, Y: Field{[10]uint32{0x00315408, 0x01d4c1be, 0x038aa1ae, 0x021e78ef, 0x01df00e2, 0x033957d0, 0x039b1613, 0x0391ccc7, 0x030c1d5a, 0x00311690}}}, + {X: Field{[10]uint32{0x002bb89d, 0x024634fc, 0x01373f3f, 0x0293e099, 0x036c2ac2, 0x034c121d, 0x0011d676, 0x03d3f384, 0x001e8cf2, 0x003141b3}}, Y: Field{[10]uint32{0x01d3118a, 0x019078a9, 0x02f0c058, 0x01b8bd63, 0x01bea33d, 0x03dee982, 0x0247f6d1, 0x026cccbe, 0x03b37402, 0x002379b7}}}, + {X: Field{[10]uint32{0x035c0369, 0x0012dd6a, 0x02eebb82, 0x035f63e1, 0x00ad1bb4, 0x0327378f, 0x02b901c3, 0x03e6661a, 0x0102d9cc, 0x000ba9eb}}, Y: Field{[10]uint32{0x02b0ed43, 0x000c6543, 0x03d9ce40, 0x0189253a, 0x032b2135, 0x02bdda51, 0x03648ddd, 0x000c09d8, 0x03d86d75, 0x0004488a}}}, + {X: Field{[10]uint32{0x02159c5c, 0x00e33467, 0x0279c4c3, 0x00eb77f4, 0x00f8a602, 0x028ab04d, 0x004b421b, 0x039394be, 0x01923555, 0x002ae330}}, Y: Field{[10]uint32{0x0351ee1a, 0x007c8fe1, 0x00ff514d, 0x03ad532a, 0x015a5b54, 0x0311241e, 0x029fbda6, 0x0236f08f, 0x03bdcc26, 0x000b1238}}}, + {X: Field{[10]uint32{0x01dad430, 0x02bd01fd, 0x00e04c54, 0x009fcb3f, 0x02c37784, 0x029c4226, 0x0348e1c2, 0x0107ea46, 0x02e1cc7c, 0x00223fb0}}, Y: Field{[10]uint32{0x033ed80b, 0x02277ae2, 0x02cf3c4b, 0x019bec7f, 0x02dce306, 0x02c0d709, 0x02c7a049, 0x01994d7e, 0x02884f69, 0x00332d17}}}, + {X: Field{[10]uint32{0x034b0d41, 0x034dda1d, 0x0357c011, 0x02871931, 0x02940522, 0x03a83373, 0x02c31272, 0x03d746d0, 0x03ae1acc, 0x00101161}}, Y: Field{[10]uint32{0x030e787b, 0x028e4ffb, 0x01325f96, 0x03ad7395, 0x0163401d, 0x02cd46cd, 0x0368c369, 0x0187d3dc, 0x025b25ae, 0x003a373c}}}, + {X: Field{[10]uint32{0x02b9ab8a, 0x0093469f, 0x01097514, 0x033ef136, 0x0128a377, 0x009d4245, 0x00cf20ab, 0x02a30234, 0x02b9cade, 0x00229c07}}, Y: Field{[10]uint32{0x02ba5a45, 0x02737ab2, 0x0143a454, 0x0099bc0b, 0x01265e8b, 0x02a62d68, 0x0076154c, 0x02b1c30f, 0x018282a9, 0x0013c116}}}, + {X: Field{[10]uint32{0x01ad3d56, 0x00aa9e22, 0x0038929b, 0x001b1b59, 0x0366e15e, 0x00422930, 0x02141fdb, 0x00270a76, 0x01781940, 0x0030a04a}}, Y: Field{[10]uint32{0x035db5c1, 0x024db22d, 0x01afa974, 0x039db952, 0x029c9db5, 0x032c7951, 0x0034255d, 0x03a5a68a, 0x02fb6670, 0x00215027}}}, + {X: Field{[10]uint32{0x031d72fe, 0x03ee0401, 0x021298ad, 0x02d0aea9, 0x000f8ea4, 0x002e0af8, 0x03b04d19, 0x03210e4a, 0x02b1c810, 0x0027ff4d}}, Y: Field{[10]uint32{0x01b38404, 0x028f5a80, 0x03d871ca, 0x0291a997, 0x026f25fd, 0x03ea7f86, 0x002955eb, 0x0037e069, 0x024ba11f, 0x0004789e}}}, + {X: Field{[10]uint32{0x01a48b96, 0x01be1e69, 0x02b25f1c, 0x011d78ff, 0x0239e431, 0x0143bb18, 0x01072107, 0x02c05f2b, 0x0044bc92, 0x002b1280}}, Y: Field{[10]uint32{0x02b8dfe1, 0x02233907, 0x00de2d5f, 0x02fd15ed, 0x03f526bb, 0x011307d4, 0x03498533, 0x000bfc79, 0x03ba7310, 0x001071f0}}}, + {X: Field{[10]uint32{0x0306eb5a, 0x0393a19e, 0x0214224a, 0x01b35d93, 0x0357d808, 0x03467f17, 0x03c83bf9, 0x02a482cf, 0x001c157c, 0x0031e2c4}}, Y: Field{[10]uint32{0x038126c8, 0x00dfc674, 0x001d2deb, 0x033570a7, 0x02b7a9d7, 0x013cee3d, 0x035f533b, 0x0183ffeb, 0x006eb9d6, 0x0006a34b}}}, + {X: Field{[10]uint32{0x03147cd2, 0x0396ba1d, 0x03d13578, 0x02e39b45, 0x01c24b0d, 0x02bb7648, 0x03c1c2db, 0x0122e57c, 0x03055723, 0x003423ce}}, Y: Field{[10]uint32{0x022713cb, 0x0187899d, 0x00696914, 0x02bd77f8, 0x034987df, 0x0028e148, 0x02e3e5c9, 0x01f2eda6, 0x00de0a06, 0x0009ed7f}}}, + {X: Field{[10]uint32{0x01e312f5, 0x02312ca9, 0x004893d0, 0x01471602, 0x001091cf, 0x01f1707f, 0x01db0f1c, 0x03d87ae0, 0x003d5060, 0x00103a81}}, Y: Field{[10]uint32{0x0166b27c, 0x005a8007, 0x01f30848, 0x00fbed96, 0x02043de0, 0x0167c54d, 0x02719be2, 0x00c0bf80, 0x02c42836, 0x000bbc47}}}, + {X: Field{[10]uint32{0x018362e7, 0x0212b40d, 0x02ec39f1, 0x03e76ec7, 0x0117db73, 0x0090bae9, 0x00827b28, 0x02d2cb7a, 0x00bdfb53, 0x003e7441}}, Y: Field{[10]uint32{0x01771877, 0x0333f3d3, 0x03167296, 0x03052bdb, 0x0268f4e3, 0x01f50fc2, 0x02707b6d, 0x006520ae, 0x020b6c37, 0x0035d912}}}, + {X: Field{[10]uint32{0x03f9ddc9, 0x00dde37b, 0x02b6e570, 0x028905c4, 0x00fea5f8, 0x0268176b, 0x02132b40, 0x0120a539, 0x02ee14c3, 0x003749da}}, Y: Field{[10]uint32{0x01ceb7ef, 0x0260d4e9, 0x0066b7bc, 0x0180add0, 0x034803f7, 0x025a4343, 0x02de6553, 0x03bb25ff, 0x017d5d92, 0x00026f98}}}, + {X: Field{[10]uint32{0x01155d49, 0x03a13c18, 0x012f4c8b, 0x035de149, 0x032104c7, 0x03c36e36, 0x03d11f67, 0x01ef4319, 0x0039d5f1, 0x002148be}}, Y: Field{[10]uint32{0x023ea117, 0x00ea5656, 0x00777316, 0x0375667e, 0x02e01f3e, 0x03729256, 0x039b59cd, 0x007e3db2, 0x01518031, 0x002dde46}}}, + {X: Field{[10]uint32{0x02b5b225, 0x000c362d, 0x0264eeb2, 0x01992ff3, 0x02510491, 0x018519ca, 0x0002a624, 0x02fa383f, 0x02bdb4f3, 0x001cca00}}, Y: Field{[10]uint32{0x02a3c6f3, 0x01aadc91, 0x01f8e35a, 0x018b4455, 0x02d9022d, 0x0302c973, 0x0105f92c, 0x03b875a9, 0x01ec590e, 0x001ef533}}}, + {X: Field{[10]uint32{0x0167af62, 0x036d5cd6, 0x02fc68fb, 0x02bf1125, 0x01f5ffcb, 0x022f7a85, 0x0273276b, 0x020d4887, 0x01a12c4f, 0x0006cd90}}, Y: Field{[10]uint32{0x01664048, 0x03619b66, 0x021cef0f, 0x00c81ea3, 0x000b824c, 0x02d33407, 0x01e2e153, 0x00adecbb, 0x02f5e5d1, 0x0000f543}}}, + {X: Field{[10]uint32{0x0301a7ce, 0x0254974f, 0x00c852c7, 0x01576efa, 0x010c8972, 0x02d9b4e4, 0x02cbe60c, 0x0213ffb5, 0x02184e92, 0x0034c0d3}}, Y: Field{[10]uint32{0x01d09e25, 0x03e3e67e, 0x013b48c4, 0x0313bacd, 0x0211172a, 0x017c6e87, 0x0094b058, 0x01439ca8, 0x030416ce, 0x002cd998}}}, + {X: Field{[10]uint32{0x01e9db17, 0x00c9c29a, 0x0176d65c, 0x00aa8eb4, 0x0261c6db, 0x023d3e16, 0x03a44610, 0x03d7bc63, 0x0200bd22, 0x00239ea0}}, Y: Field{[10]uint32{0x03530568, 0x012cec7c, 0x01ceadee, 0x01d466cd, 0x004a4824, 0x01c7d335, 0x03536edc, 0x025e6fe1, 0x03b51cce, 0x002107f8}}}, + {X: Field{[10]uint32{0x00a4027e, 0x02c2d958, 0x009e85da, 0x00f60e40, 0x01c4af5f, 0x005086b8, 0x02aee276, 0x0219c746, 0x00de29ab, 0x003f332d}}, Y: Field{[10]uint32{0x037f993b, 0x02f48b83, 0x01c47fa6, 0x0352fa8a, 0x01a6e269, 0x03a5df9c, 0x036ac069, 0x0226bf56, 0x0396203b, 0x002808a7}}}, + {X: Field{[10]uint32{0x004c8a26, 0x00b001f9, 0x02576925, 0x01d87e67, 0x039e74a4, 0x03ab5c16, 0x00681f0a, 0x02060213, 0x017f4435, 0x0039a33f}}, Y: Field{[10]uint32{0x0028f82e, 0x004874b1, 0x013c1672, 0x01863a7c, 0x01712291, 0x03c343ad, 0x0378d50c, 0x038ab908, 0x00a7b027, 0x002b7670}}}, + {X: Field{[10]uint32{0x006891d8, 0x0381184b, 0x029a8072, 0x0022dc9b, 0x0263bfe0, 0x022ecc94, 0x026de7ac, 0x02b05921, 0x03ad4b81, 0x0022dbc3}}, Y: Field{[10]uint32{0x024bc9ca, 0x03b2bb6e, 0x01288092, 0x023e98a4, 0x0391493e, 0x0289ff84, 0x008d328c, 0x0012de02, 0x0108a8d6, 0x0026eb59}}}, + {X: Field{[10]uint32{0x024b78b1, 0x035266f5, 0x021ba8cf, 0x010d5ea4, 0x02470f89, 0x0019d185, 0x03178cf2, 0x00652498, 0x00aa37ac, 0x00042283}}, Y: Field{[10]uint32{0x0265bf55, 0x0067d928, 0x032a75a8, 0x0149844a, 0x039b7c04, 0x03fd45f1, 0x03e302e1, 0x0255bd7f, 0x0122be05, 0x001a0543}}}, + {X: Field{[10]uint32{0x0357edb6, 0x0100a131, 0x0208b429, 0x02949952, 0x02ab8e13, 0x00dc2971, 0x032daa83, 0x0315e474, 0x03330844, 0x003fb460}}, Y: Field{[10]uint32{0x02457fe5, 0x02707fcd, 0x01e56f83, 0x00bb4fe2, 0x00b1b52c, 0x0254ba8d, 0x0229a976, 0x02ae13ae, 0x03378395, 0x0019ef77}}}, + {X: Field{[10]uint32{0x00170a2f, 0x02cbb824, 0x00da501f, 0x02108d46, 0x00848b2d, 0x02933789, 0x03ed6f10, 0x01b3cd42, 0x039decd5, 0x002fafec}}, Y: Field{[10]uint32{0x03a11573, 0x0350328a, 0x0275197d, 0x036c2987, 0x0005acb2, 0x0051b652, 0x0125fbde, 0x03e21c8a, 0x00b3bb86, 0x0004c0ad}}}, + {X: Field{[10]uint32{0x001e716c, 0x01efca06, 0x0286c9c6, 0x015e74a2, 0x02af8d50, 0x01369ed5, 0x0070d3cb, 0x034edb11, 0x02ed2a58, 0x0019c4d6}}, Y: Field{[10]uint32{0x02fd6664, 0x01202723, 0x03040019, 0x00fc14fa, 0x0230fa2f, 0x03cdd111, 0x00f3e778, 0x038fbf72, 0x02ab2786, 0x0025f102}}}, + {X: Field{[10]uint32{0x0354f90e, 0x024a3950, 0x038b9c37, 0x01782436, 0x03c3dea7, 0x0135b7c0, 0x0309dd41, 0x01b96b36, 0x01bb0956, 0x002c03ad}}, Y: Field{[10]uint32{0x029b1258, 0x03e4fbb9, 0x0164d8ae, 0x01c044b2, 0x02ccc3a6, 0x02666bce, 0x0173aa63, 0x0399d3a6, 0x02411cb6, 0x001b4483}}}, + {X: Field{[10]uint32{0x03bb73a2, 0x03cce13c, 0x03bb8ecd, 0x024b7a7b, 0x01233375, 0x028e6cb6, 0x01db6d3b, 0x00808bc2, 0x026cbe8d, 0x001c86c6}}, Y: Field{[10]uint32{0x0205310f, 0x01632392, 0x020885b4, 0x039e542f, 0x014acbb2, 0x0253e01d, 0x01ae1f2e, 0x003d1c1d, 0x0362631a, 0x00336d06}}}, + {X: Field{[10]uint32{0x038a0837, 0x028f9137, 0x03f71d10, 0x020e5226, 0x0242f60b, 0x02431083, 0x0147cde1, 0x004b2a37, 0x00ac015b, 0x0032e35e}}, Y: Field{[10]uint32{0x0296dbc2, 0x01f33ffa, 0x022d5d17, 0x022c4206, 0x03abdc44, 0x03ecb849, 0x00d3846c, 0x00d9d7a3, 0x01a6a307, 0x00202f8c}}}, + {X: Field{[10]uint32{0x00781920, 0x03b1e15b, 0x0017a0af, 0x00af8bb8, 0x0137e5c5, 0x03450f95, 0x03f3ae66, 0x03621348, 0x03cc4919, 0x0012473e}}, Y: Field{[10]uint32{0x02874189, 0x01fb3115, 0x03ee62b1, 0x0353b706, 0x003ba714, 0x01367cbb, 0x004d29cc, 0x00c2234d, 0x03502628, 0x001d8c86}}}, + {X: Field{[10]uint32{0x02b507b4, 0x01c02cda, 0x0027cfb3, 0x011b17af, 0x038145d1, 0x02088c0e, 0x02ed33ff, 0x00898c8e, 0x03ee4899, 0x0001b28c}}, Y: Field{[10]uint32{0x00b11f4e, 0x00fa34b0, 0x03ec644e, 0x002a7276, 0x038c376a, 0x002548af, 0x00a20cfd, 0x03419078, 0x02b3f189, 0x0025adce}}}, + {X: Field{[10]uint32{0x01d842c7, 0x032aea06, 0x00f8997c, 0x03be6058, 0x001bf602, 0x008b3e9a, 0x03b33d38, 0x025c6db2, 0x03cb3c48, 0x001b47f7}}, Y: Field{[10]uint32{0x03b1713f, 0x01b4a733, 0x0376909c, 0x0311565a, 0x00fa555a, 0x01bc1180, 0x017c0629, 0x02098979, 0x03c46608, 0x00020af1}}}, + {X: Field{[10]uint32{0x02a43554, 0x038fea7f, 0x01b55c88, 0x00f0f87a, 0x02daeb53, 0x01ac8de5, 0x01ac3ca3, 0x00bd069a, 0x02991cf9, 0x0028fa05}}, Y: Field{[10]uint32{0x012855f1, 0x02520c8c, 0x020fa25e, 0x03d5e1b4, 0x0165887d, 0x015014c2, 0x0206b0b4, 0x0119ebe8, 0x029be802, 0x0021e9be}}}, + {X: Field{[10]uint32{0x01d49c70, 0x0230fa1f, 0x03ab571f, 0x013cfcbf, 0x007f570e, 0x0142cab1, 0x02c7438d, 0x030ca53a, 0x03d7cbfb, 0x003f212a}}, Y: Field{[10]uint32{0x03f73dd9, 0x014ddf69, 0x0075b691, 0x00ee959b, 0x02589f6c, 0x0266d905, 0x01b3f1cd, 0x015ac396, 0x02690713, 0x001d11ec}}}, + {X: Field{[10]uint32{0x0355d1b1, 0x02090200, 0x01769539, 0x02a1ce9a, 0x01af4e02, 0x03b28568, 0x00d31252, 0x0056e860, 0x02408fc5, 0x002fac8c}}, Y: Field{[10]uint32{0x019c1459, 0x030d0fd4, 0x01e95b3b, 0x028417ae, 0x00e2bbe6, 0x006dd96c, 0x02deba93, 0x02a6ab97, 0x000d6fa8, 0x0004be92}}}, + {X: Field{[10]uint32{0x0299eb8e, 0x0180d906, 0x00f13df7, 0x00ed810d, 0x010a50e6, 0x02f0094a, 0x02373d71, 0x035fcc66, 0x0279cffa, 0x001a2245}}, Y: Field{[10]uint32{0x00772fb8, 0x01ed6dda, 0x00524da0, 0x0258b9bb, 0x037736ce, 0x01b40540, 0x02a7c1e8, 0x022a8b4b, 0x01b76db2, 0x00102de3}}}, + {X: Field{[10]uint32{0x03068817, 0x0007b8ae, 0x01d96ed4, 0x03350a3a, 0x03b42e2f, 0x023ed754, 0x022f736e, 0x02c103f7, 0x01ad1ae7, 0x0003b10d}}, Y: Field{[10]uint32{0x0096f9f2, 0x02fb23bf, 0x03ac244b, 0x01175943, 0x0126860c, 0x01b13de5, 0x0028a856, 0x010dbd2a, 0x02aa1283, 0x0004efdb}}}, + {X: Field{[10]uint32{0x03de3033, 0x0165341a, 0x0249f374, 0x01d9885a, 0x0060a755, 0x01df9241, 0x03b7ce7f, 0x01a22df7, 0x02fa661f, 0x0019e7d6}}, Y: Field{[10]uint32{0x03617ca1, 0x03ecd71b, 0x017094e0, 0x00ca921f, 0x02c8fddd, 0x023c172d, 0x00f14bfc, 0x013f6956, 0x03d96c25, 0x003fcfff}}}, + {X: Field{[10]uint32{0x0233be60, 0x026994bd, 0x02d68ba8, 0x000bb3ad, 0x011aa2fc, 0x010c1ec8, 0x0348aeb6, 0x009b97ef, 0x00ea05dc, 0x0027faf6}}, Y: Field{[10]uint32{0x02630bee, 0x0390d923, 0x0099272b, 0x0258b1de, 0x033fc5dc, 0x02ef1783, 0x036e785c, 0x00e292b4, 0x03c8ea62, 0x0030219e}}}, + {X: Field{[10]uint32{0x000b1601, 0x00df24d8, 0x03acfe21, 0x02046d64, 0x010347b3, 0x03763e7c, 0x02bed696, 0x02d23b6d, 0x0154c534, 0x003621ac}}, Y: Field{[10]uint32{0x0375d077, 0x02ad7583, 0x03964f10, 0x03064edd, 0x03d74028, 0x03faa8fd, 0x02246c8e, 0x036aa713, 0x0118aa07, 0x002932f0}}}, + {X: Field{[10]uint32{0x006e9d47, 0x03929d11, 0x0349ab7e, 0x009f73b0, 0x01096a8e, 0x03fc85e8, 0x03f6ab68, 0x028e9820, 0x03efc187, 0x002be332}}, Y: Field{[10]uint32{0x03e941f0, 0x01c5b3da, 0x03dc4990, 0x00cc96a3, 0x031662a7, 0x0395539b, 0x025b625b, 0x000e49f6, 0x027c9988, 0x0000fb8c}}}, + {X: Field{[10]uint32{0x01d3d26a, 0x00662f1f, 0x033654a6, 0x0162a65e, 0x0042d334, 0x012952a1, 0x0051d224, 0x0098728d, 0x00e7891c, 0x0007a600}}, Y: Field{[10]uint32{0x01a215d4, 0x0269dcd9, 0x013bd566, 0x03259bdd, 0x03978120, 0x020b9acd, 0x031a321e, 0x03f03757, 0x0186bd6f, 0x000c8be2}}}, + {X: Field{[10]uint32{0x03150044, 0x0193159d, 0x015e415d, 0x029a8b49, 0x00aae4ff, 0x00ea43cc, 0x000dc97f, 0x02002561, 0x02f29f00, 0x00045718}}, Y: Field{[10]uint32{0x02d8af95, 0x035f8cba, 0x01a14a8f, 0x017a2f0b, 0x02cceef9, 0x0393f7c2, 0x03660e01, 0x03397bf5, 0x00127e37, 0x00136513}}}, + {X: Field{[10]uint32{0x02e0178c, 0x01565a0a, 0x02ba2598, 0x017fd0a0, 0x033f5313, 0x0144896f, 0x00d78e8e, 0x01e776cd, 0x039dacbf, 0x000072e7}}, Y: Field{[10]uint32{0x011a4bf5, 0x01a32d2f, 0x0284a50c, 0x03421577, 0x02d7b602, 0x02f3c8d3, 0x01595e20, 0x026f2508, 0x00e37a18, 0x0023f4e9}}}, + {X: Field{[10]uint32{0x03bfe357, 0x01e7b94b, 0x0370b66a, 0x0163e779, 0x01af86d2, 0x0326478e, 0x02b2a5bd, 0x03059d2e, 0x03c463e4, 0x0018a856}}, Y: Field{[10]uint32{0x02f52749, 0x02f792e3, 0x01e9f9f7, 0x0107a3af, 0x02d376fe, 0x01bd1548, 0x02da69fe, 0x01f93495, 0x029fd946, 0x002de3f2}}}, + {X: Field{[10]uint32{0x02df505e, 0x0047a4d7, 0x01ec454b, 0x00a96867, 0x026bd2c8, 0x01cefb53, 0x0170914a, 0x006520c5, 0x00e05bf3, 0x0015d29b}}, Y: Field{[10]uint32{0x00001318, 0x0206a5d7, 0x00b789b2, 0x02ea2ed7, 0x02d02dba, 0x006a6943, 0x02a60b8c, 0x03cce3c3, 0x02cccbd6, 0x0039ecb8}}}, + {X: Field{[10]uint32{0x024084e6, 0x02b47549, 0x023194ad, 0x02ad5839, 0x01c5ae50, 0x027b493f, 0x039cedad, 0x018692eb, 0x037ca3a3, 0x001931b8}}, Y: Field{[10]uint32{0x00116067, 0x025bb59a, 0x008d3f79, 0x003a09c7, 0x004b7a48, 0x00d6b801, 0x0054a07f, 0x02d01027, 0x035656b6, 0x0039b90b}}}, + {X: Field{[10]uint32{0x0100fd84, 0x002041d2, 0x03b11553, 0x011ab79f, 0x0371b277, 0x01d581e9, 0x0246af84, 0x02379555, 0x0297fe4a, 0x00124196}}, Y: Field{[10]uint32{0x030ae7f9, 0x0217c6b5, 0x03342834, 0x01efeed0, 0x0094e721, 0x01ec9d9f, 0x038eb43c, 0x00c2426a, 0x009f67a0, 0x0026175a}}}, + {X: Field{[10]uint32{0x030999cb, 0x02532a8c, 0x009aa443, 0x0079f962, 0x028500c9, 0x03a227cc, 0x02a683b7, 0x0242f61d, 0x03f91857, 0x001bf4cb}}, Y: Field{[10]uint32{0x01d2de3b, 0x025ea321, 0x0278c644, 0x024e3c69, 0x03efbd64, 0x031afc07, 0x013784e9, 0x03c975ea, 0x00841be1, 0x0004bfa0}}}, + {X: Field{[10]uint32{0x02d3b185, 0x02e4ad98, 0x0098b4eb, 0x03109bf7, 0x012d6d12, 0x01c25214, 0x0334812f, 0x027239bf, 0x00da4818, 0x001299f5}}, Y: Field{[10]uint32{0x038150f5, 0x033a945f, 0x01540684, 0x0174e269, 0x033e5009, 0x03e9c6e3, 0x03c668ee, 0x02ddddcd, 0x03f2f6e5, 0x00163aa0}}}, + {X: Field{[10]uint32{0x039f4db2, 0x0386fae9, 0x00c85987, 0x03165708, 0x00edecf4, 0x026b6d19, 0x020752db, 0x009dc174, 0x0131d3a9, 0x003a86b2}}, Y: Field{[10]uint32{0x0322b83e, 0x03dbcd19, 0x008309c3, 0x014da292, 0x03426b57, 0x001bf646, 0x0316597b, 0x02580560, 0x030e25aa, 0x0033da26}}}, + {X: Field{[10]uint32{0x01545c5a, 0x0136fd37, 0x006c12de, 0x03cfc65b, 0x0161414a, 0x02af2672, 0x032663f7, 0x00149f55, 0x026e248a, 0x00232cd6}}, Y: Field{[10]uint32{0x000cfcfa, 0x0254b99a, 0x02a7c4a3, 0x02afcdaf, 0x01c43292, 0x00235403, 0x02dfc3fa, 0x0336d99b, 0x00e047da, 0x0012ccb9}}}, + {X: Field{[10]uint32{0x027f21c8, 0x02673374, 0x008e3c8d, 0x02110c1e, 0x00843186, 0x01160558, 0x02f8dfbf, 0x030bab3f, 0x000cf150, 0x00091f20}}, Y: Field{[10]uint32{0x031d0db6, 0x010ba147, 0x030a7579, 0x01776cf9, 0x02a70839, 0x020a7adf, 0x026462f5, 0x03468398, 0x00dc914f, 0x003320b6}}}, + {X: Field{[10]uint32{0x03426673, 0x012191cc, 0x02482c9f, 0x0133b480, 0x025e0c4a, 0x0040dc23, 0x00f35666, 0x0249f3ec, 0x03c407fb, 0x001950f5}}, Y: Field{[10]uint32{0x0107ebab, 0x023cf51e, 0x0019c88d, 0x00c0ff72, 0x0020bbc7, 0x00c7a9d4, 0x00ae0d16, 0x02b5d605, 0x029a69b4, 0x003894ac}}}, + {X: Field{[10]uint32{0x0388e6d0, 0x0155ad30, 0x026c29b3, 0x036cb840, 0x02d5e759, 0x03d72705, 0x01da4aca, 0x00ce8e82, 0x0255d81c, 0x00313c44}}, Y: Field{[10]uint32{0x00a8fd49, 0x03554747, 0x014f24fc, 0x02ac61ba, 0x0195379e, 0x0123d463, 0x00e5530e, 0x022ad605, 0x02a81af4, 0x0038b98d}}}, + {X: Field{[10]uint32{0x02019eec, 0x0363be57, 0x005981ba, 0x023f2798, 0x01b08284, 0x012bd681, 0x003d92a1, 0x00e6ddce, 0x029d85da, 0x0033c61a}}, Y: Field{[10]uint32{0x0079e3fc, 0x01156f2c, 0x0064248f, 0x01f81873, 0x006b49f3, 0x0100425a, 0x03672a16, 0x03f8214f, 0x021bc860, 0x0032af78}}}, + {X: Field{[10]uint32{0x02ea8f32, 0x02ba40e1, 0x037f6be9, 0x011cf517, 0x00fe9d1d, 0x0222e3f6, 0x015c2c7a, 0x03704f96, 0x0353ad69, 0x0039b0f8}}, Y: Field{[10]uint32{0x00690be1, 0x001f0a2b, 0x02b57021, 0x008357b4, 0x0396b5a9, 0x012617cc, 0x0210800a, 0x01707485, 0x00c94f45, 0x001f4efb}}}, + {X: Field{[10]uint32{0x01060988, 0x029ecbb0, 0x01c118d6, 0x03ddcc34, 0x01d1ba01, 0x033c8a44, 0x0295dc6b, 0x01553551, 0x03a39bcb, 0x000e09ec}}, Y: Field{[10]uint32{0x0225a211, 0x0142bff2, 0x027bfd9f, 0x01890648, 0x00c800a3, 0x02e3d304, 0x0018c5ec, 0x03ba0c6e, 0x0047b7c9, 0x000c904c}}}, + {X: Field{[10]uint32{0x006d24fa, 0x01582373, 0x0013e48f, 0x021446d5, 0x004b55ed, 0x0102c3bd, 0x01ae898c, 0x01268aa3, 0x0138a4b1, 0x003fcdf3}}, Y: Field{[10]uint32{0x01c49048, 0x00cb2b2e, 0x03ceca68, 0x0354810c, 0x01f3ffde, 0x01a14ea5, 0x03a489b8, 0x019995f0, 0x01198f4c, 0x00179856}}}, + {X: Field{[10]uint32{0x020ce509, 0x034fa28c, 0x001def68, 0x01f11545, 0x01d9e53c, 0x03a0edd4, 0x03343229, 0x00beb87b, 0x03c85b49, 0x002f7fd3}}, Y: Field{[10]uint32{0x03de3d20, 0x013f7822, 0x00b8a43b, 0x0139135c, 0x02531f8a, 0x02656784, 0x015088a2, 0x01759985, 0x00649dcc, 0x003a3f66}}}, + {X: Field{[10]uint32{0x03bcd0af, 0x02a6cf0e, 0x02aef625, 0x001c9051, 0x02e59d10, 0x00063c47, 0x032719d9, 0x03cb55fe, 0x029c313f, 0x003f5ae8}}, Y: Field{[10]uint32{0x01c1079d, 0x00fa5f7d, 0x02bf6de7, 0x03a078e2, 0x035018db, 0x0065ae1d, 0x01f584b3, 0x00430c0e, 0x035e9133, 0x00061f6b}}}, + {X: Field{[10]uint32{0x0329ff28, 0x02dc42c6, 0x03b621d0, 0x01e05017, 0x004f4b5f, 0x02b0c05e, 0x032ae1c3, 0x01a4a7bd, 0x022d4860, 0x003a8f10}}, Y: Field{[10]uint32{0x03bf208c, 0x03fbe48c, 0x02af2564, 0x01f3be66, 0x01d10b37, 0x028c5b89, 0x03637eef, 0x0381bf0d, 0x001ec6c3, 0x0039162d}}}, + {X: Field{[10]uint32{0x007b3978, 0x01c14fd2, 0x03c390f8, 0x03b6bc6c, 0x0002ba8a, 0x002d166e, 0x0228924f, 0x03580234, 0x01334982, 0x001194dc}}, Y: Field{[10]uint32{0x01adf3f0, 0x03fd9693, 0x017006bb, 0x0368ee25, 0x023b2444, 0x00850f72, 0x003bb29e, 0x0277bfc9, 0x014c1318, 0x003f6599}}}, + {X: Field{[10]uint32{0x0178d8f5, 0x00dc5da1, 0x039dd996, 0x012a8b43, 0x01b5b29b, 0x03e78414, 0x036227f9, 0x001a6ab1, 0x03f11226, 0x003f6924}}, Y: Field{[10]uint32{0x01d46fa3, 0x02e1b1f8, 0x03a06d8e, 0x02d4958c, 0x02e04e55, 0x02600e98, 0x03a69d7f, 0x004db7d0, 0x013df63d, 0x00168cd6}}}, + {X: Field{[10]uint32{0x01f3e4c1, 0x0185d3ce, 0x000cd096, 0x015f15c8, 0x027ab5e7, 0x03a8dbfb, 0x028e2835, 0x00062951, 0x02e95f09, 0x001d3f10}}, Y: Field{[10]uint32{0x018751f0, 0x02c94848, 0x010b32a8, 0x01d52ff4, 0x033760e0, 0x017e3d75, 0x006204d4, 0x0324536a, 0x03403802, 0x00332a82}}}, + {X: Field{[10]uint32{0x00483d53, 0x022ec6bb, 0x03bafe11, 0x030a0503, 0x030d98f8, 0x0239051d, 0x03818da5, 0x01e68032, 0x004a997b, 0x0002633b}}, Y: Field{[10]uint32{0x02aaec08, 0x01a26b1f, 0x02ae4d81, 0x02782103, 0x01ac422d, 0x020b0675, 0x03b82fa1, 0x017354d9, 0x00581494, 0x000bf398}}}, + {X: Field{[10]uint32{0x03cba60f, 0x00dd2c44, 0x01fc13c2, 0x01025b31, 0x01e4fa15, 0x025ff55d, 0x015119f6, 0x032f7081, 0x01b789a5, 0x0031d0b7}}, Y: Field{[10]uint32{0x02f3532d, 0x02837a91, 0x0168013f, 0x03d3cac7, 0x01b32248, 0x039b6ea8, 0x002474b0, 0x02438750, 0x012834a9, 0x0026c2bc}}}, + {X: Field{[10]uint32{0x0391eb89, 0x0027f479, 0x0019b774, 0x0360ec4e, 0x005b5973, 0x03131c89, 0x00979136, 0x0019aad6, 0x004f9a78, 0x0036e8b8}}, Y: Field{[10]uint32{0x033baf43, 0x03f29798, 0x016a889d, 0x03821c11, 0x03aa0e90, 0x005e3c1d, 0x00240e7a, 0x017dd05a, 0x01223adb, 0x000d1d1e}}}, + {X: Field{[10]uint32{0x02f6538d, 0x0271a710, 0x01fbf106, 0x02183ada, 0x036cc47f, 0x03091cac, 0x0184dcb6, 0x021619ee, 0x02436e59, 0x001b532b}}, Y: Field{[10]uint32{0x01e0a84f, 0x02ec7cf5, 0x01cedb98, 0x019f59fc, 0x02125c2b, 0x00fbfbd4, 0x03c53c92, 0x03df3b75, 0x00c9f0c4, 0x0031fed6}}}, + {X: Field{[10]uint32{0x00523982, 0x005a80ee, 0x0010f9cc, 0x00e5bf65, 0x029ec5b5, 0x02eb8a46, 0x0264ed43, 0x01ec156d, 0x036ed5b6, 0x0013115f}}, Y: Field{[10]uint32{0x00f344eb, 0x007fb548, 0x00e988e9, 0x01ffb086, 0x02a435f4, 0x029ca09e, 0x022ed682, 0x03867d51, 0x03cf20aa, 0x00124b96}}}, + {X: Field{[10]uint32{0x0346eb3f, 0x035107f2, 0x018179cd, 0x030c1933, 0x0151fd8a, 0x01d2b8a5, 0x00033bfd, 0x022907d6, 0x01223477, 0x00135f9a}}, Y: Field{[10]uint32{0x022750c4, 0x024bd1b1, 0x012ad0c0, 0x001ef443, 0x036d7bbd, 0x01eb692e, 0x00538791, 0x0274f0e9, 0x00b2ff5c, 0x001d5bb0}}}, + {X: Field{[10]uint32{0x03d464b2, 0x0311f8c1, 0x0115cfef, 0x027292be, 0x004a4839, 0x02dd3be5, 0x03c565ea, 0x0351e6f6, 0x025069ba, 0x0002b16f}}, Y: Field{[10]uint32{0x02874345, 0x02df3eb7, 0x00381928, 0x02a94a6d, 0x008bad5d, 0x02739176, 0x0322c546, 0x0042d8dd, 0x03febc58, 0x000c91b8}}}, + {X: Field{[10]uint32{0x023995b2, 0x027a1036, 0x002d15d6, 0x002d8362, 0x0224f91e, 0x014d2c96, 0x026a4812, 0x0004e6ff, 0x01412135, 0x001f6a23}}, Y: Field{[10]uint32{0x00b9c587, 0x0080d23c, 0x03eb5cbc, 0x00b262b6, 0x026a2d09, 0x025dc90c, 0x00bb03cf, 0x0293e1c0, 0x018d62a7, 0x0026222b}}}, + {X: Field{[10]uint32{0x01abf149, 0x014af8ec, 0x037d4e8b, 0x00ac1744, 0x015d3b92, 0x034f3ad2, 0x01aa3eb4, 0x02734832, 0x031a6323, 0x000e27fc}}, Y: Field{[10]uint32{0x00fe7c93, 0x03000dce, 0x02d49dc3, 0x03b55456, 0x01042f54, 0x01db0521, 0x022ab22b, 0x002fca28, 0x022fbc84, 0x002c3b0a}}}, + {X: Field{[10]uint32{0x016c4370, 0x009e9756, 0x036f8f3c, 0x012637f3, 0x02a94b2e, 0x00f55cdb, 0x025afaad, 0x00a2cba9, 0x02cf5fb1, 0x00307306}}, Y: Field{[10]uint32{0x034fd38e, 0x010279a4, 0x0153b27c, 0x02a706ec, 0x00ecfec6, 0x028aa233, 0x006bf2da, 0x02b4c5b3, 0x004d1986, 0x002240d6}}}, + {X: Field{[10]uint32{0x03c9aa3a, 0x01462d21, 0x03cf98b3, 0x015fa46c, 0x0002a349, 0x00725b01, 0x0340be83, 0x01a28a91, 0x0252b927, 0x000e66b3}}, Y: Field{[10]uint32{0x00800005, 0x03ac4d12, 0x02869786, 0x030f2812, 0x03fd9af1, 0x035827e8, 0x017ae095, 0x00e91e84, 0x00b3abdb, 0x002420c5}}}, + {X: Field{[10]uint32{0x0206d0a2, 0x020eea6e, 0x03c76d82, 0x001832b6, 0x01470cc6, 0x001694ae, 0x02d98593, 0x000695c0, 0x03fd8c9d, 0x0001a550}}, Y: Field{[10]uint32{0x031057df, 0x03a2865c, 0x01d1b6f4, 0x030e2a40, 0x00404eb1, 0x00ca6022, 0x0348f17b, 0x01cbb4b8, 0x03d9a0c3, 0x003a6639}}}, + {X: Field{[10]uint32{0x00200100, 0x02dabdfa, 0x02d6d400, 0x00f3dc0e, 0x00911e55, 0x01cac70a, 0x01289a58, 0x011bbd68, 0x014fdf9b, 0x00085cb5}}, Y: Field{[10]uint32{0x03687a8c, 0x00625c46, 0x035d9edc, 0x03afd90a, 0x0334a8fb, 0x01cac89b, 0x0020df57, 0x00397832, 0x007d3b79, 0x0008486d}}}, + {X: Field{[10]uint32{0x015e8b56, 0x017df3a7, 0x03f286d4, 0x00e84390, 0x01cc2713, 0x01248e59, 0x026847d2, 0x00939743, 0x03e937a3, 0x003d81bd}}, Y: Field{[10]uint32{0x0286e007, 0x039d5c4f, 0x008d1a30, 0x02024728, 0x03f5b805, 0x024c9284, 0x03379448, 0x00878b44, 0x03b8622a, 0x001c004f}}}, + {X: Field{[10]uint32{0x0040fc99, 0x03639c5f, 0x0214edfc, 0x00b7526a, 0x012f95bb, 0x00d0abcd, 0x0032013b, 0x02d93c7d, 0x00c2dfce, 0x0027c548}}, Y: Field{[10]uint32{0x018e863d, 0x035534e2, 0x001996ca, 0x029040c2, 0x02d53dc0, 0x0192a41f, 0x024fe3b7, 0x03c0123e, 0x0226feb1, 0x003fa3f2}}}, + {X: Field{[10]uint32{0x031eaa08, 0x024dc288, 0x0260518a, 0x00632ca1, 0x0053afe4, 0x01724f4e, 0x00674eb7, 0x019dbbac, 0x036e7587, 0x00199c2b}}, Y: Field{[10]uint32{0x03eb09f3, 0x02933b92, 0x0053734b, 0x03314936, 0x00fb59fc, 0x02ec4bf6, 0x03fcee90, 0x01c7b825, 0x035edfc0, 0x000a64ff}}}, + {X: Field{[10]uint32{0x03898350, 0x0166a52c, 0x0152465f, 0x013ab5b2, 0x0140650a, 0x03a5530b, 0x00a4e2fe, 0x0312f393, 0x018b345c, 0x000571b5}}, Y: Field{[10]uint32{0x0363cf7f, 0x0039de28, 0x02cf3a6b, 0x02a9cf7c, 0x00221b12, 0x014a34b0, 0x020f3adf, 0x01865996, 0x013b4727, 0x00022531}}}, + {X: Field{[10]uint32{0x01389621, 0x00665ddd, 0x024548a9, 0x0082583a, 0x00adfffd, 0x017e1692, 0x0293ef17, 0x03790b24, 0x02bf60db, 0x002f12ad}}, Y: Field{[10]uint32{0x01040e42, 0x00d1d846, 0x01a4437a, 0x01d18552, 0x0100791a, 0x0335c64c, 0x016bb68e, 0x038a9d17, 0x00ba24a4, 0x003f8a28}}}, + {X: Field{[10]uint32{0x013e6ee1, 0x03cb8443, 0x01c8054e, 0x0141001f, 0x0064f20e, 0x031c0eea, 0x015e87f1, 0x03cbdb92, 0x006323fb, 0x00176ac7}}, Y: Field{[10]uint32{0x02695d93, 0x00d2a194, 0x023059c1, 0x0305acc3, 0x03e7f01a, 0x039a2ffe, 0x02db4153, 0x0182f6b9, 0x0200cf44, 0x0007f430}}}, + {X: Field{[10]uint32{0x028acaf2, 0x01f0625a, 0x03bb2dd6, 0x03639c0b, 0x035cea0b, 0x030ce73a, 0x0228dbb0, 0x01f111ef, 0x0157d735, 0x000b7c73}}, Y: Field{[10]uint32{0x02f1b9e8, 0x03d096b8, 0x01741492, 0x019e6577, 0x0186eefa, 0x0136ddbd, 0x039c0319, 0x0323770e, 0x001120cb, 0x000cc648}}}, + {X: Field{[10]uint32{0x00d9ab8d, 0x01377bd8, 0x02fea058, 0x019054d5, 0x023d9f97, 0x034aeb1d, 0x0100585e, 0x036bc20c, 0x00175a02, 0x000b606b}}, Y: Field{[10]uint32{0x01f9a0b7, 0x02060f0b, 0x011c9cd5, 0x00b33a7d, 0x0021052e, 0x039b09b9, 0x0297fd49, 0x0217d5e0, 0x00d13b17, 0x003e6423}}}, + {X: Field{[10]uint32{0x037dc097, 0x0241c090, 0x00db59ef, 0x03d3c47a, 0x0367b1e7, 0x00d5bac5, 0x000d40a5, 0x00b9cc91, 0x0362fb73, 0x0007eb05}}, Y: Field{[10]uint32{0x039b8729, 0x0176569e, 0x031584df, 0x009c04a7, 0x015ae7ce, 0x01d72cc3, 0x01a08ace, 0x01444cad, 0x004ca58d, 0x003b755e}}}, + {X: Field{[10]uint32{0x00c8c98e, 0x00659e0e, 0x01a9cc2b, 0x03c266c5, 0x0245caba, 0x02aa421b, 0x0093e884, 0x02e42e03, 0x035b4694, 0x00341a82}}, Y: Field{[10]uint32{0x0347def3, 0x00833ec1, 0x02da4986, 0x00517de2, 0x0114fcc8, 0x008bfcec, 0x01b391b2, 0x02c93f34, 0x02ba2777, 0x00132b51}}}, + {X: Field{[10]uint32{0x01e53445, 0x0054ac5f, 0x01d6929b, 0x02e33e6c, 0x01870059, 0x02dbc1a5, 0x007928ac, 0x0103e664, 0x03275902, 0x00124a37}}, Y: Field{[10]uint32{0x0300d505, 0x029d468c, 0x00ac53db, 0x0330a1aa, 0x03240b83, 0x01f70cda, 0x00c400f3, 0x00ec39ec, 0x020b655b, 0x002ddcf9}}}, + {X: Field{[10]uint32{0x03a28390, 0x018e7fe1, 0x01dda1b8, 0x01430cc7, 0x03f945d4, 0x00c8a09f, 0x02992617, 0x0060452e, 0x01f9cd54, 0x002986f3}}, Y: Field{[10]uint32{0x00d93a68, 0x03fa01ee, 0x004eeb40, 0x01c3af99, 0x018e61b3, 0x0007f893, 0x0201b2b3, 0x02eca151, 0x016ed6fd, 0x000f9dc7}}}, + {X: Field{[10]uint32{0x01db93c3, 0x0106c544, 0x0093f9f6, 0x013041fc, 0x030fb8e3, 0x00029e5d, 0x031228c0, 0x02deaece, 0x01b93e2f, 0x0014d68d}}, Y: Field{[10]uint32{0x02ff786f, 0x027fb26c, 0x02e96f0c, 0x02d7a354, 0x0292475f, 0x01f0b8f0, 0x0283fba2, 0x033230e0, 0x03355657, 0x00091c7f}}}, + {X: Field{[10]uint32{0x0065d4d0, 0x01e42d31, 0x00acfa5f, 0x00ab442e, 0x00f23ad4, 0x01af9c2c, 0x02888bbc, 0x003ca4dd, 0x012ce014, 0x0039a299}}, Y: Field{[10]uint32{0x001a7385, 0x03e7074f, 0x0094c06c, 0x01f82e03, 0x00ea6e0c, 0x02b54848, 0x034ecb6d, 0x00182cc4, 0x010cc368, 0x001275ce}}}, + {X: Field{[10]uint32{0x03e25fde, 0x03c3a64d, 0x007576b4, 0x01bc22f1, 0x01f5f05f, 0x03a883a6, 0x017855c3, 0x03334fbc, 0x027a74df, 0x003a24e7}}, Y: Field{[10]uint32{0x0261b173, 0x020a7fb5, 0x0388b3e0, 0x015368b0, 0x033773f4, 0x0127930a, 0x00c0fdf4, 0x0156df24, 0x033eff0a, 0x001ad229}}}, + {X: Field{[10]uint32{0x00751543, 0x0003ebd2, 0x01dafbfd, 0x020d9f0c, 0x007fe164, 0x029b9c2b, 0x00fa2930, 0x0061d200, 0x03ea3145, 0x00125804}}, Y: Field{[10]uint32{0x038c4332, 0x00b8bc6a, 0x03f65614, 0x0022e14d, 0x02581e15, 0x020accc4, 0x00001cb2, 0x0155be29, 0x01118790, 0x002d5c54}}}, + {X: Field{[10]uint32{0x004b1e1f, 0x0370f060, 0x0120189d, 0x00a79f31, 0x01bb0f6c, 0x00981342, 0x0157a072, 0x030ea55a, 0x01b0b1ef, 0x001111cd}}, Y: Field{[10]uint32{0x0259d6e4, 0x02f9001f, 0x0321f9ae, 0x027cca96, 0x023e9a43, 0x00143956, 0x0332a857, 0x02eacea5, 0x00a3461a, 0x002c6b58}}}, + {X: Field{[10]uint32{0x02d9511c, 0x02d0450f, 0x02475da3, 0x02279dea, 0x03e88821, 0x02e72630, 0x01a40e74, 0x01f573e1, 0x02c84acd, 0x00016016}}, Y: Field{[10]uint32{0x023c07c0, 0x0204d35a, 0x02363bb4, 0x00882bab, 0x0301ad00, 0x03635a6d, 0x0170dcf0, 0x014cfdef, 0x023bfbba, 0x003254a4}}}, + {X: Field{[10]uint32{0x039a9501, 0x02ddfbc9, 0x00898dca, 0x02f711b2, 0x02c12619, 0x02da4080, 0x01c53a12, 0x031e1578, 0x011830fd, 0x0022b045}}, Y: Field{[10]uint32{0x01ca4fa4, 0x035af52a, 0x0053ad59, 0x02e376cc, 0x00d5deb3, 0x02fec800, 0x0015493a, 0x03e83874, 0x00c77867, 0x000a7edf}}}, + {X: Field{[10]uint32{0x02ab542d, 0x01ed1102, 0x01ec67bd, 0x01bc8bd0, 0x014d7022, 0x031efbfd, 0x03c8a7cc, 0x02632da3, 0x01d3e429, 0x002a91eb}}, Y: Field{[10]uint32{0x003683e9, 0x0079d731, 0x01816f77, 0x013f0656, 0x024f8e8c, 0x03d9d166, 0x034f9e39, 0x036630eb, 0x0081ebef, 0x0033e96b}}}, + {X: Field{[10]uint32{0x0199889a, 0x02236e79, 0x013e419e, 0x026390cf, 0x03d39848, 0x019248ad, 0x0133f753, 0x0053ba48, 0x0127a27a, 0x003cd410}}, Y: Field{[10]uint32{0x001b45df, 0x0337c218, 0x03313c09, 0x008e819a, 0x0256c6d4, 0x01ef2e21, 0x02cdae54, 0x01a2a213, 0x037e9f98, 0x003c6be7}}}, + {X: Field{[10]uint32{0x024bf08d, 0x03bbbb5f, 0x0398c7c6, 0x03964986, 0x02272d3c, 0x026a6269, 0x00870766, 0x039a20d6, 0x0344edcb, 0x000cdcc3}}, Y: Field{[10]uint32{0x01775a6b, 0x0172f9b8, 0x02794860, 0x01fb31c2, 0x01b6fd05, 0x02f4b5e2, 0x02a32d81, 0x005b412c, 0x0128d877, 0x000fe0ce}}}, + {X: Field{[10]uint32{0x02dfb0d6, 0x02d2850f, 0x034786e5, 0x01fef84d, 0x00a33d41, 0x02492730, 0x00bdf072, 0x03d61220, 0x02dc8c06, 0x000c5a75}}, Y: Field{[10]uint32{0x0274ce5f, 0x018fa1aa, 0x037fcea1, 0x0030bf79, 0x00a31160, 0x023d0a32, 0x0382f596, 0x00e0e6e9, 0x022dec56, 0x000aa450}}}, + {X: Field{[10]uint32{0x002a4429, 0x03f331bc, 0x038e980c, 0x0114355f, 0x03c8c43a, 0x02a370fa, 0x007a64d5, 0x02ba073c, 0x0182013a, 0x00363191}}, Y: Field{[10]uint32{0x03822aea, 0x012312a4, 0x02a7be7f, 0x011e1278, 0x02c4773d, 0x027fb8ec, 0x012f195c, 0x018eba32, 0x00519688, 0x003121cc}}}, + {X: Field{[10]uint32{0x002b6f11, 0x007da7d0, 0x03fe1789, 0x03605368, 0x007e59c8, 0x018c6e21, 0x03cb0395, 0x0091bde9, 0x001f307e, 0x002b99c4}}, Y: Field{[10]uint32{0x01ed44cb, 0x007871c4, 0x022aee41, 0x03e5f608, 0x031d3900, 0x027e68d5, 0x02767afa, 0x0027a2e5, 0x03b4a90b, 0x003d7cb6}}}, + {X: Field{[10]uint32{0x01dbd8ee, 0x035fc520, 0x00f0c1a9, 0x010e095d, 0x02b4e2ff, 0x02068b17, 0x00a7dc9c, 0x020ce070, 0x023183ba, 0x002a7a1c}}, Y: Field{[10]uint32{0x02468901, 0x03775be5, 0x023354b7, 0x02b0f5ce, 0x03333153, 0x039a0d13, 0x01fb59be, 0x0038cf5a, 0x019990d9, 0x0025a041}}}, + {X: Field{[10]uint32{0x003376f2, 0x01078d39, 0x0048dad1, 0x01e7ed6f, 0x00694ef8, 0x00cf9a12, 0x014f43aa, 0x03502c9a, 0x021c0ae7, 0x00185afc}}, Y: Field{[10]uint32{0x0080fc77, 0x01772526, 0x02799bf0, 0x016a8f67, 0x024a2772, 0x02d693ea, 0x02451153, 0x0282ea0c, 0x03832aa8, 0x002fb063}}}, + {X: Field{[10]uint32{0x033f5c2d, 0x0144262b, 0x0295f8d3, 0x033dc069, 0x0339be47, 0x03a6f96e, 0x02882b11, 0x00cf51e2, 0x0335601f, 0x000487a0}}, Y: Field{[10]uint32{0x0103b3e8, 0x00a8a613, 0x03659f68, 0x01c11216, 0x03010dd0, 0x02ffe077, 0x005fdfdc, 0x02812df6, 0x013318fa, 0x000ba64a}}}, + {X: Field{[10]uint32{0x009f1141, 0x02325eee, 0x0193325c, 0x00a12a42, 0x003a83cc, 0x03bc6f12, 0x0013948f, 0x032a7025, 0x03973025, 0x002fe211}}, Y: Field{[10]uint32{0x02ad5386, 0x01c4fd9b, 0x0363f0e2, 0x0181aaee, 0x016de247, 0x020e3449, 0x015ae3a7, 0x03475e1b, 0x03263d26, 0x000654e8}}}, + {X: Field{[10]uint32{0x02f811f0, 0x0180295a, 0x02124e86, 0x0383ebb6, 0x00dd1b06, 0x0371d734, 0x0094d4bd, 0x0003e617, 0x01a65a38, 0x001f0a3a}}, Y: Field{[10]uint32{0x02b5c277, 0x005218e2, 0x03863134, 0x035bcb90, 0x002d396f, 0x001d09ed, 0x014cedb7, 0x027c0e24, 0x01b70e33, 0x0028dd5b}}}, + {X: Field{[10]uint32{0x00a66077, 0x024c5ca4, 0x02b9cb8b, 0x0244c6f0, 0x0346be07, 0x02e48e1e, 0x00b5bf6b, 0x00b3d073, 0x01ad45e6, 0x00397b1b}}, Y: Field{[10]uint32{0x004f0e19, 0x00ceaeb9, 0x00eda67c, 0x0249e884, 0x012bacd0, 0x038f1348, 0x014bea4b, 0x000f2be1, 0x02cc7757, 0x00340117}}}, + {X: Field{[10]uint32{0x018c2fed, 0x00d85a44, 0x02043583, 0x00f8d363, 0x00703626, 0x0112965d, 0x031c3525, 0x025517ec, 0x021f9203, 0x001bf25b}}, Y: Field{[10]uint32{0x038a9a51, 0x02eaeb62, 0x0089d9aa, 0x00376434, 0x026ca7c2, 0x010e5f8d, 0x030457f8, 0x037a365a, 0x02871571, 0x00340cb7}}}, + {X: Field{[10]uint32{0x006e4133, 0x0244569d, 0x0149acf4, 0x03738684, 0x021db684, 0x01f04c51, 0x02790914, 0x02711d0b, 0x03511c21, 0x002278f4}}, Y: Field{[10]uint32{0x030c5c90, 0x00be4618, 0x00b03689, 0x02eeec89, 0x0352fde5, 0x000f55fa, 0x00b53d23, 0x0211a361, 0x030b672e, 0x002aaf65}}}, + {X: Field{[10]uint32{0x010d5890, 0x0238628e, 0x01de84ff, 0x011c3fa8, 0x00c043e9, 0x02b6e36a, 0x00eb44ea, 0x01914e1e, 0x00f0b213, 0x000ade98}}, Y: Field{[10]uint32{0x004a5244, 0x02eeadf4, 0x02f41ae8, 0x01b46409, 0x01b80668, 0x02ce2cd9, 0x03407091, 0x00ca8164, 0x03161ba0, 0x000320a6}}}, + {X: Field{[10]uint32{0x009627e7, 0x01c8141b, 0x029d42f8, 0x01e6498e, 0x01bfeb98, 0x021e0bc9, 0x037c3dfa, 0x02badf9b, 0x031ac2c2, 0x001192e7}}, Y: Field{[10]uint32{0x02f7502c, 0x016d6d6d, 0x028aadac, 0x001db2d3, 0x029a23a1, 0x0140e1d7, 0x03761dbe, 0x02f30b7d, 0x03f459e1, 0x001f0982}}}, + {X: Field{[10]uint32{0x019b616f, 0x02d8e89d, 0x035ab268, 0x006a61ba, 0x000b2514, 0x01dd2d9c, 0x0331519e, 0x008a5438, 0x02304357, 0x001e494f}}, Y: Field{[10]uint32{0x027f88e1, 0x000d61b8, 0x03f69100, 0x0363c95d, 0x02ed6467, 0x01a59972, 0x00f5bae9, 0x008d4ec8, 0x017a55b6, 0x00369827}}}, + {X: Field{[10]uint32{0x01399556, 0x010b45b7, 0x02773876, 0x00250d65, 0x01019acb, 0x0154643e, 0x02b1967f, 0x03032d70, 0x007ce900, 0x00018d0a}}, Y: Field{[10]uint32{0x03debead, 0x02d186b0, 0x037581fc, 0x00f8c4af, 0x00223c47, 0x014ccd2b, 0x00042db2, 0x005804c3, 0x01098cf0, 0x00288d42}}}, + {X: Field{[10]uint32{0x021bee98, 0x01fc60d0, 0x00223358, 0x012e4588, 0x02d7ef2f, 0x01a9d6d0, 0x0018557f, 0x03f56e8d, 0x01c38bd8, 0x001d8448}}, Y: Field{[10]uint32{0x02dd530f, 0x025ef6d4, 0x010405c8, 0x00d2bebb, 0x0276070e, 0x02eca489, 0x026eeb01, 0x01d0d443, 0x015ff9c1, 0x0010051c}}}, + {X: Field{[10]uint32{0x01453413, 0x0375819b, 0x034b3e63, 0x03870bc1, 0x0077990f, 0x039428ac, 0x01a30784, 0x037c6967, 0x00c1bfbb, 0x00098632}}, Y: Field{[10]uint32{0x02a48da0, 0x01a7774c, 0x01ab0581, 0x016cc9bf, 0x024bdaf3, 0x03a8f2d1, 0x00e584b4, 0x02daac63, 0x023720f5, 0x002b94e6}}}, + {X: Field{[10]uint32{0x00f685be, 0x007c76e4, 0x0020dab3, 0x02d70266, 0x00d91699, 0x0124c22d, 0x03a57e19, 0x03c097f1, 0x00cc10c6, 0x00350a7f}}, Y: Field{[10]uint32{0x02648edf, 0x026f5396, 0x00964068, 0x00f5bedb, 0x00a8df04, 0x02f945a2, 0x0014ae91, 0x01646379, 0x01c1ee15, 0x00368ac5}}}, + {X: Field{[10]uint32{0x00e8b705, 0x036a3639, 0x00b6d56d, 0x03d8d994, 0x01bf1e0c, 0x028b6bbd, 0x0207625b, 0x0232acdb, 0x03c7c04b, 0x001a8638}}, Y: Field{[10]uint32{0x00e94eec, 0x005762f0, 0x0049ed62, 0x010097f3, 0x0120e754, 0x03149507, 0x039c9dab, 0x025b6faf, 0x0330f56c, 0x00198a44}}}, + {X: Field{[10]uint32{0x00f97756, 0x01e848be, 0x032201a3, 0x03fe906c, 0x01d7ca3e, 0x01a88719, 0x002fa4ad, 0x03cff952, 0x0046d1c9, 0x002616da}}, Y: Field{[10]uint32{0x02a3a92e, 0x03d5102a, 0x01592d56, 0x030234e4, 0x03bb9dc6, 0x03150fe2, 0x022f2c32, 0x023dadda, 0x03dd98e1, 0x000f8ac8}}}, + {X: Field{[10]uint32{0x026e8c64, 0x024a5b27, 0x03f3355c, 0x038e5953, 0x0296fba8, 0x031ef328, 0x02ee3395, 0x00e2918f, 0x01db4ba8, 0x00252283}}, Y: Field{[10]uint32{0x00f5c1d8, 0x010c970f, 0x00d2e12c, 0x03b4bde5, 0x01c7b705, 0x03949f58, 0x03b69b52, 0x0360fad9, 0x0025da19, 0x00316cd3}}}, + {X: Field{[10]uint32{0x00a3de2e, 0x02a903ea, 0x028c4256, 0x0331a521, 0x020a437f, 0x020985ec, 0x0246b47e, 0x02c0fede, 0x002c1332, 0x0010ccb4}}, Y: Field{[10]uint32{0x02aa5289, 0x02f83762, 0x01de1e1b, 0x02adcdd9, 0x00393985, 0x025045e0, 0x00327c03, 0x015576a5, 0x016f5f9c, 0x0039b946}}}, + {X: Field{[10]uint32{0x022a5aa3, 0x0330fedc, 0x01d96a67, 0x0315ac84, 0x02f7e12d, 0x0235a7d6, 0x0150b68a, 0x032257cc, 0x03b92ac1, 0x0017725d}}, Y: Field{[10]uint32{0x0107844d, 0x0342e567, 0x0217d10f, 0x00d0d040, 0x0283260c, 0x0331a5b4, 0x03d29123, 0x03b27872, 0x00a74bf1, 0x00116223}}}, + {X: Field{[10]uint32{0x03d15764, 0x006a078f, 0x022b0c6e, 0x035f418e, 0x00605e3b, 0x00000e49, 0x030cb6df, 0x03c492a6, 0x0134ca94, 0x0016e73d}}, Y: Field{[10]uint32{0x00897458, 0x006f2f00, 0x03d1d0d8, 0x01233a22, 0x03f9ba4b, 0x0282cb59, 0x0248790f, 0x01bffaf6, 0x01c3b051, 0x00113a63}}}, + {X: Field{[10]uint32{0x01372f59, 0x035ffdb5, 0x00a6697f, 0x02c25d1b, 0x02e2feb4, 0x022578b7, 0x026baf9c, 0x01c531f4, 0x00073a63, 0x00210d4c}}, Y: Field{[10]uint32{0x00c7a175, 0x00fcda2c, 0x022d23ca, 0x01f209b1, 0x023f9fea, 0x03cbcd14, 0x037361c0, 0x02751132, 0x029e3768, 0x0035cdce}}}, + {X: Field{[10]uint32{0x021e6a61, 0x000c3eb0, 0x02619804, 0x037fe1d1, 0x008f1a28, 0x00e09b9e, 0x008485fc, 0x026d7227, 0x000e3eef, 0x00273c00}}, Y: Field{[10]uint32{0x0291543c, 0x0184bdff, 0x020a1ac2, 0x01daaa47, 0x002764cd, 0x00801708, 0x021fcb9d, 0x012cb653, 0x033ad868, 0x000acf6a}}}, + {X: Field{[10]uint32{0x00e1235c, 0x01c68913, 0x035e9996, 0x014e0ebf, 0x038ee028, 0x012469d5, 0x0088b25b, 0x00623882, 0x03dc5897, 0x002eca4b}}, Y: Field{[10]uint32{0x012507e5, 0x00bd6690, 0x023a09e0, 0x03dc9f86, 0x00d5e9b8, 0x01624cd2, 0x03839909, 0x01e18ef2, 0x01c350ba, 0x0034edb6}}}, + {X: Field{[10]uint32{0x03b7d680, 0x01c32403, 0x01ced2d7, 0x01afc9f1, 0x03efd2bc, 0x008e6d88, 0x008a21a9, 0x03b55daa, 0x01d89835, 0x002575b4}}, Y: Field{[10]uint32{0x00baf048, 0x02ff819b, 0x02468e40, 0x00e31cb3, 0x02b39e7d, 0x03cf39a4, 0x034ac720, 0x01973bea, 0x01ad39db, 0x0032454d}}}, + {X: Field{[10]uint32{0x01d09a46, 0x01428ea1, 0x00fd89ee, 0x021f7cb2, 0x0115ea37, 0x00328325, 0x02c3fb90, 0x03b08270, 0x020fa164, 0x0032f8fc}}, Y: Field{[10]uint32{0x02fb9a28, 0x00bbfe42, 0x00e8b825, 0x01469962, 0x01734a22, 0x0061b9bb, 0x02222804, 0x00596d23, 0x0354faea, 0x00335625}}}, + {X: Field{[10]uint32{0x039f604a, 0x0278a4ec, 0x020949f3, 0x03d121f5, 0x01002942, 0x0299e0d7, 0x031c215b, 0x02788166, 0x02b99bab, 0x000f8076}}, Y: Field{[10]uint32{0x0123d481, 0x0172d7a1, 0x022670bd, 0x03e7a2da, 0x00d0a556, 0x019e7cfa, 0x03509798, 0x014113b8, 0x00323336, 0x002d0777}}}, + {X: Field{[10]uint32{0x02afef7a, 0x004e991d, 0x03350972, 0x0238578f, 0x01c79891, 0x012d8cc7, 0x031cfd2e, 0x03725857, 0x00c05543, 0x000a625d}}, Y: Field{[10]uint32{0x0299da2f, 0x0360181e, 0x0257de5c, 0x028d8b2d, 0x0222354e, 0x011fd82c, 0x00e02e87, 0x0362fa9d, 0x035555f2, 0x001a0060}}}, + {X: Field{[10]uint32{0x011fdc61, 0x019e4fd4, 0x003dfd93, 0x0322824f, 0x022aabde, 0x0107453d, 0x03764b46, 0x00f25ba8, 0x034d5476, 0x00075c19}}, Y: Field{[10]uint32{0x00dfe632, 0x03ad2f8e, 0x0010e8a4, 0x000588f7, 0x02807741, 0x025d4fd0, 0x024378e5, 0x0112f18c, 0x01ac697e, 0x00259d2b}}}, + {X: Field{[10]uint32{0x000fece1, 0x02c713c1, 0x00fbacc0, 0x02be46ae, 0x0073c47a, 0x023e2d8d, 0x021875ec, 0x02e5c189, 0x0107b43a, 0x001d4880}}, Y: Field{[10]uint32{0x03aeaffb, 0x01580ba8, 0x00b7b088, 0x035670d4, 0x0041bc9a, 0x02d5bbee, 0x02ebf2bf, 0x001f404a, 0x027cc3bf, 0x000a4253}}}, + {X: Field{[10]uint32{0x03779720, 0x039e4883, 0x03df92e7, 0x0232743b, 0x03fc7f4c, 0x002eb20e, 0x01b31aab, 0x013b0c9f, 0x01ffb347, 0x0033eb6e}}, Y: Field{[10]uint32{0x019a09b2, 0x002e64c3, 0x00b06ab0, 0x001b34ae, 0x0297d418, 0x02a67ea0, 0x0322ee02, 0x023315e3, 0x017f6f7b, 0x003fedd9}}}, + {X: Field{[10]uint32{0x01cb828f, 0x03a2daf0, 0x026f464c, 0x03d35ee0, 0x0334a7b4, 0x027612a9, 0x02e46e13, 0x01580eb7, 0x019dbe3c, 0x00093ba4}}, Y: Field{[10]uint32{0x03ff1506, 0x0297a985, 0x03e29364, 0x01dbb55f, 0x01ca6514, 0x00e6e3c4, 0x020b63c5, 0x0151ee4d, 0x0356794b, 0x001100e5}}}, + {X: Field{[10]uint32{0x00b100f4, 0x00c3bfdf, 0x011dd1b5, 0x014ff90e, 0x00c50ddb, 0x02972fbb, 0x016b8f10, 0x01495bd3, 0x02462f75, 0x00166578}}, Y: Field{[10]uint32{0x001dc64a, 0x005875b6, 0x0018ce08, 0x01ac4f74, 0x03fe78ac, 0x010049ff, 0x02d7ba20, 0x01459711, 0x027c7da0, 0x001df776}}}, + {X: Field{[10]uint32{0x034d54dd, 0x035470c8, 0x019c29db, 0x00dc073c, 0x00364f8c, 0x02464f02, 0x029fa205, 0x011e3384, 0x007197dd, 0x0029c8cd}}, Y: Field{[10]uint32{0x01796e68, 0x00bbbc4c, 0x019ad92f, 0x00446874, 0x009cfdd7, 0x006a5999, 0x00a5fa00, 0x00b32ce1, 0x015eec2b, 0x000b139a}}}, + {X: Field{[10]uint32{0x032251a5, 0x015b3404, 0x01c234ed, 0x0358eb50, 0x01a57cfe, 0x037a7f32, 0x0275fcc5, 0x00872f5f, 0x0369d5bc, 0x001919aa}}, Y: Field{[10]uint32{0x01294dc9, 0x0037e909, 0x005d2099, 0x033f12bc, 0x022e0c1e, 0x03da2536, 0x0222f5e5, 0x005b89d9, 0x03896dbb, 0x001db9fb}}}, + {X: Field{[10]uint32{0x01c28e60, 0x02b3683d, 0x014f11e0, 0x02d478cf, 0x017fab8b, 0x03c85851, 0x02fca2ab, 0x0222af79, 0x0390a293, 0x00297b33}}, Y: Field{[10]uint32{0x020e3ac3, 0x0016c998, 0x023f7948, 0x038b2044, 0x03110e74, 0x019a42b7, 0x02886435, 0x0047cdcf, 0x0116468a, 0x002bf5d6}}}, + {X: Field{[10]uint32{0x029c2779, 0x03561c7b, 0x01cdf89e, 0x01813472, 0x006a15d0, 0x00fb6796, 0x02e52a1e, 0x01e367c9, 0x02c74936, 0x0010946e}}, Y: Field{[10]uint32{0x02987aa5, 0x016b62dc, 0x0138d3a1, 0x032437fe, 0x004bb023, 0x01980ef3, 0x0190c60e, 0x01c5b5da, 0x027d92e6, 0x003e877c}}}, + {X: Field{[10]uint32{0x027db30e, 0x00b0a93e, 0x01903f04, 0x03409aa0, 0x030f40c9, 0x006078a0, 0x00f6b973, 0x03308763, 0x02a204c3, 0x001dea79}}, Y: Field{[10]uint32{0x00155aa0, 0x00f79746, 0x03180b6e, 0x0041cacb, 0x03e78d93, 0x02a84333, 0x01b757fa, 0x017336f7, 0x03ef23f2, 0x00287bd3}}}, + {X: Field{[10]uint32{0x03dbea6b, 0x007fdf9b, 0x0239de75, 0x003a667d, 0x02e9c0d2, 0x015dfe8a, 0x02de73c4, 0x01386f5a, 0x0161c40d, 0x000cff9e}}, Y: Field{[10]uint32{0x01f54849, 0x0102e335, 0x03037058, 0x0251c8ca, 0x039a5919, 0x01930c33, 0x016e7c14, 0x00c1b38c, 0x01cd4eeb, 0x00246df5}}}, + {X: Field{[10]uint32{0x01179564, 0x02085c3e, 0x003115b6, 0x00054927, 0x03395357, 0x01216f8b, 0x00a9d8cb, 0x00884692, 0x032e5ee5, 0x0010fd9a}}, Y: Field{[10]uint32{0x01a46a45, 0x03de1d0b, 0x028921db, 0x0265ca39, 0x003555e6, 0x018fd7e2, 0x030cf7fe, 0x03aefc30, 0x015ffec0, 0x0014dc2d}}}, + {X: Field{[10]uint32{0x00b19bfc, 0x0116db0e, 0x0170e1a7, 0x010dcfd6, 0x03ad2f0b, 0x011baa1e, 0x00c7f6b4, 0x0041d35d, 0x021497ef, 0x0012b4d9}}, Y: Field{[10]uint32{0x035cfd39, 0x0133583b, 0x03cfc0cd, 0x0208ca7a, 0x036f9eea, 0x00dbe143, 0x02da00d4, 0x016ff57a, 0x01aa769a, 0x0023d770}}}, + {X: Field{[10]uint32{0x0012754d, 0x035654f0, 0x012f9155, 0x019a6cbc, 0x02593368, 0x016de5ea, 0x0334dc97, 0x013553cd, 0x02ef9520, 0x0025e66a}}, Y: Field{[10]uint32{0x003e6353, 0x016a1d7a, 0x02f3a984, 0x03b3a88d, 0x0044c256, 0x03124b55, 0x025b476b, 0x0385cd0e, 0x00a3d31f, 0x0012dacd}}}, + {X: Field{[10]uint32{0x01d828a1, 0x03275045, 0x00dca0fb, 0x0145be6a, 0x03c1c22f, 0x0038d759, 0x003f2525, 0x018d70b4, 0x01f0c6e4, 0x00321892}}, Y: Field{[10]uint32{0x0295ec73, 0x026519fb, 0x0102586d, 0x024d1a7c, 0x02465238, 0x012f1dac, 0x01260b39, 0x013437d3, 0x030b37dc, 0x0003885d}}}, + {X: Field{[10]uint32{0x0256038d, 0x03370b99, 0x0308e3ac, 0x039824be, 0x0061a08f, 0x033f5018, 0x0282c840, 0x021fbf1c, 0x00c5de56, 0x002d237f}}, Y: Field{[10]uint32{0x00e8927c, 0x02db467f, 0x01566277, 0x0254deb4, 0x01c0b52a, 0x01c51d99, 0x0369c7bc, 0x01c1d1c7, 0x021fec73, 0x00021f8f}}}, + {X: Field{[10]uint32{0x02357fca, 0x000ff353, 0x02da8585, 0x0134d9cc, 0x030146fa, 0x034e0da8, 0x025c828f, 0x0154d718, 0x036c62d6, 0x001df73a}}, Y: Field{[10]uint32{0x00228bd4, 0x00747a86, 0x0367e909, 0x02321fee, 0x024304d0, 0x034dc3b4, 0x01b85213, 0x025c4d49, 0x02005a13, 0x003642c9}}}, + {X: Field{[10]uint32{0x0175e49a, 0x0191d40c, 0x01c17473, 0x00f8ccbd, 0x0069cfb4, 0x0331c2b2, 0x031cd633, 0x00061137, 0x00bf4cda, 0x0016d623}}, Y: Field{[10]uint32{0x02d55cda, 0x022432be, 0x017c0d47, 0x01e11d1a, 0x01a52e19, 0x03e57f39, 0x02b823b2, 0x02792a13, 0x031df9e6, 0x0005093b}}}, + {X: Field{[10]uint32{0x0320b20c, 0x001da164, 0x003b7da1, 0x02944711, 0x032c50ce, 0x03277764, 0x00702518, 0x01082023, 0x03ba8393, 0x003021ee}}, Y: Field{[10]uint32{0x0209d996, 0x00881ee4, 0x02b5f6ec, 0x00f1faf0, 0x00f637c2, 0x032f92cc, 0x030e3455, 0x0157cec0, 0x02697175, 0x001dfc9a}}}, + {X: Field{[10]uint32{0x0031ed94, 0x011d304c, 0x02a3835e, 0x0183c45f, 0x00247d7d, 0x030b1563, 0x00b3e7cf, 0x0020bc82, 0x017b68f8, 0x00234581}}, Y: Field{[10]uint32{0x02ba3eca, 0x01442475, 0x0314fed5, 0x029fbb1a, 0x016ffb8c, 0x02710e78, 0x00f6e0d1, 0x0344f440, 0x01b662ff, 0x000f4c17}}}, + {X: Field{[10]uint32{0x01c184b7, 0x03f7307b, 0x019d9242, 0x02597878, 0x03d17daa, 0x03dcdc7f, 0x03b8cd2a, 0x00af21b6, 0x00a603d3, 0x001d7fb8}}, Y: Field{[10]uint32{0x03efa2f8, 0x03f71924, 0x0040910b, 0x027a6810, 0x01061ee8, 0x020245e5, 0x03c992ff, 0x0025d7f9, 0x00ffabc3, 0x0030ac79}}}, + {X: Field{[10]uint32{0x03368abb, 0x0170789b, 0x007a110d, 0x01d51839, 0x02dda7fb, 0x02a1dc42, 0x00925990, 0x0024f5f4, 0x0159b147, 0x0019768e}}, Y: Field{[10]uint32{0x01862844, 0x01171708, 0x03ce95e3, 0x00a32eb8, 0x00a6f530, 0x0268c08c, 0x032b463d, 0x0307870f, 0x01f52f92, 0x000d6678}}}, + {X: Field{[10]uint32{0x027933d3, 0x0102dbe5, 0x03f4df81, 0x016fd101, 0x005dda1a, 0x01d4e61c, 0x02b787ca, 0x0084975d, 0x00109463, 0x0019587f}}, Y: Field{[10]uint32{0x020e6337, 0x02a6d564, 0x01ad629f, 0x00ddb4e8, 0x02cd083f, 0x02dba200, 0x02e8aeca, 0x00a0a0fa, 0x03cea88e, 0x001301b1}}}, + {X: Field{[10]uint32{0x00c4410e, 0x0179e920, 0x016a35ca, 0x00c19993, 0x03c8a3fc, 0x02748cd0, 0x03041a6a, 0x00dc0548, 0x03807049, 0x0032694f}}, Y: Field{[10]uint32{0x036e4bf9, 0x01128882, 0x02d42183, 0x02b7c8d9, 0x02369d4d, 0x038ec9cd, 0x02f0dd06, 0x003517af, 0x00a9b2e3, 0x0026bd1c}}}, + {X: Field{[10]uint32{0x03b89158, 0x00d165cc, 0x03bf03c7, 0x00517d5d, 0x00c203f8, 0x02e68550, 0x009f45a1, 0x015b76c0, 0x01f3443e, 0x00170549}}, Y: Field{[10]uint32{0x034f4f18, 0x00d24efa, 0x03c02f5b, 0x03eb2e67, 0x0358574a, 0x01895c1e, 0x00f4c803, 0x03646b5d, 0x02f7cb3e, 0x00259e24}}}, + {X: Field{[10]uint32{0x001648ed, 0x024e72d5, 0x01454d69, 0x02a5d7d8, 0x0269bb6e, 0x01cbfb83, 0x00add6d4, 0x005c75c5, 0x00dad87c, 0x000d5973}}, Y: Field{[10]uint32{0x0062aef8, 0x01a8b64d, 0x014edd48, 0x029daa35, 0x034f02d3, 0x00022c65, 0x03d09bbd, 0x018d6176, 0x03bfec2b, 0x0027df61}}}, + {X: Field{[10]uint32{0x010e3614, 0x03799847, 0x01edabd8, 0x03744e2d, 0x004527d3, 0x00a85297, 0x00f29df4, 0x0386a2bf, 0x0334c0f5, 0x001000fb}}, Y: Field{[10]uint32{0x003048c4, 0x0131a093, 0x00e2cd3c, 0x003cd85d, 0x033d3ead, 0x0160e70b, 0x03d0a763, 0x0133bf30, 0x01524489, 0x0019c80c}}}, + {X: Field{[10]uint32{0x012ea57f, 0x01574764, 0x013931cf, 0x0088024a, 0x02138864, 0x02d25689, 0x03b7de39, 0x0141e4fa, 0x035b3796, 0x003d7137}}, Y: Field{[10]uint32{0x01eb3482, 0x0011f80c, 0x02968f30, 0x0295f4c6, 0x03aca34d, 0x028d8434, 0x03672c74, 0x02331168, 0x003e12a9, 0x002c2e4f}}}, + {X: Field{[10]uint32{0x029e213a, 0x0259e4d5, 0x010b397a, 0x0239a73b, 0x01cbe869, 0x019600a2, 0x023533e5, 0x021b36e9, 0x0280e211, 0x0002f27d}}, Y: Field{[10]uint32{0x032e06a3, 0x004fea6c, 0x01d72007, 0x03d6e478, 0x017bf54e, 0x01f48137, 0x03b94ff8, 0x01463543, 0x03788105, 0x001ab7fe}}}, + {X: Field{[10]uint32{0x01a16516, 0x02674ab2, 0x006b055f, 0x011d39c1, 0x01549e83, 0x028f8988, 0x03e15d37, 0x02204514, 0x0397f1fe, 0x001373a1}}, Y: Field{[10]uint32{0x03e668ea, 0x0381d52a, 0x01d4337c, 0x02a1d26a, 0x02fc8a8a, 0x035c35ec, 0x00fd9f37, 0x02096a57, 0x0377cca7, 0x003a979a}}}, + {X: Field{[10]uint32{0x0359b16b, 0x01a74fa5, 0x01eee818, 0x02149944, 0x02af2a4f, 0x000024e0, 0x032a0c04, 0x0255c2f5, 0x02ba1ef2, 0x003d26d6}}, Y: Field{[10]uint32{0x017c7f7d, 0x02391675, 0x01202865, 0x010ed060, 0x021d2fb3, 0x0182af19, 0x02125d0f, 0x03a349a5, 0x0020b996, 0x000b925b}}}, + {X: Field{[10]uint32{0x012125ec, 0x006fb902, 0x03fa054a, 0x001df5f5, 0x00a2d02f, 0x00afca52, 0x00ff7657, 0x038749ed, 0x014a7573, 0x0009a45f}}, Y: Field{[10]uint32{0x03cd8f97, 0x0173a0c1, 0x006780ad, 0x00c02986, 0x017eb125, 0x03e32232, 0x02fd2d5c, 0x019a80a9, 0x037eae9b, 0x002e391f}}}, + {X: Field{[10]uint32{0x0329d290, 0x03eab53e, 0x03cb1cd7, 0x01bb3e2e, 0x007ead77, 0x0084f9b6, 0x00b71daf, 0x00bf9263, 0x00d6285a, 0x0006d252}}, Y: Field{[10]uint32{0x00d3bfd8, 0x00306d09, 0x0227bdd3, 0x0266cbd7, 0x00d56984, 0x00b4a186, 0x0336c7a9, 0x0364966d, 0x001fef87, 0x0006ad02}}}, + {X: Field{[10]uint32{0x01ae64ca, 0x022f55e6, 0x036c7725, 0x03d29a58, 0x00f8b20f, 0x02a6594f, 0x019676fe, 0x02ebde77, 0x02ec8179, 0x000535c4}}, Y: Field{[10]uint32{0x000c6ef0, 0x01b8138e, 0x03ad6d36, 0x00e14eeb, 0x0006f385, 0x01cb38fc, 0x030df37d, 0x0143b0ca, 0x00a64246, 0x000b876e}}}, + {X: Field{[10]uint32{0x01952453, 0x01a53dc7, 0x038134d9, 0x02222d6f, 0x03a11119, 0x01111644, 0x01967e15, 0x01da1278, 0x02204174, 0x0001d9d4}}, Y: Field{[10]uint32{0x0182fd31, 0x01da10fb, 0x01c27377, 0x00f58253, 0x00de1a5c, 0x029c8b79, 0x0155a906, 0x02d80ce8, 0x00636457, 0x000fc7ec}}}, + {X: Field{[10]uint32{0x0149fc63, 0x012e8d37, 0x00937fc8, 0x01be5ac9, 0x020a53b1, 0x002ec789, 0x0016d028, 0x022d9d00, 0x0134a882, 0x0016b239}}, Y: Field{[10]uint32{0x00a1fc73, 0x03881bae, 0x0187a8e5, 0x021c457a, 0x0018568f, 0x0242739c, 0x005a4296, 0x03edec0b, 0x020f68f5, 0x00064f40}}}, + {X: Field{[10]uint32{0x034a14b8, 0x00880b6a, 0x02c43337, 0x0375ab3d, 0x02d618d0, 0x0064d127, 0x01135b60, 0x0158a94c, 0x02b28d16, 0x0021f377}}, Y: Field{[10]uint32{0x03846e2e, 0x01a32ea7, 0x0084be5b, 0x009404d7, 0x01cd7094, 0x038ba44a, 0x011cecbd, 0x022b6650, 0x00e67c95, 0x00170779}}}, + {X: Field{[10]uint32{0x024c84cb, 0x01de2810, 0x02d52f8c, 0x01fbac35, 0x004d4f8b, 0x03ea198c, 0x021dfe7a, 0x03427d23, 0x0225a39e, 0x00310c72}}, Y: Field{[10]uint32{0x0100d825, 0x02b8299c, 0x034292ae, 0x035b8d7f, 0x00489ede, 0x00c4a4cc, 0x00f2d11d, 0x02f9b4d7, 0x03d65b2d, 0x00114181}}}, + {X: Field{[10]uint32{0x00a3dd5a, 0x03cda0e2, 0x02c1d9bf, 0x000970bc, 0x03aaa930, 0x003b7128, 0x03af3d44, 0x0068452f, 0x01e8985c, 0x00231408}}, Y: Field{[10]uint32{0x012fb108, 0x02d82aa8, 0x01db13c2, 0x02bb50c5, 0x02b6d31f, 0x0025bf52, 0x01d74ba6, 0x0360701c, 0x00aa8077, 0x00132e58}}}, + {X: Field{[10]uint32{0x02513d4f, 0x0275c5db, 0x01bb770b, 0x012c99e0, 0x0306e7a1, 0x005df6ef, 0x017c07a0, 0x01d21630, 0x00bb38a4, 0x000ce395}}, Y: Field{[10]uint32{0x00420548, 0x02033e31, 0x026fb92f, 0x03554bb9, 0x02c44a6a, 0x019dd8ee, 0x02951def, 0x033e9308, 0x024e84ca, 0x001e1dab}}}, + {X: Field{[10]uint32{0x031f3c5a, 0x01bba34b, 0x0061bcb0, 0x0385fbfd, 0x013c7b0f, 0x03349a2b, 0x03683abc, 0x00e88645, 0x00a9efbb, 0x0021fcef}}, Y: Field{[10]uint32{0x01229b61, 0x028cfb55, 0x007f8361, 0x03c6845f, 0x00e5cc11, 0x03d7eef2, 0x001f258b, 0x03f15122, 0x02a1eccc, 0x0029e874}}}, + {X: Field{[10]uint32{0x013a3e40, 0x001eeed0, 0x01aad524, 0x037119f2, 0x00de27d6, 0x029a9e36, 0x016a0375, 0x01615a39, 0x03df8ed8, 0x0003d008}}, Y: Field{[10]uint32{0x03e178cc, 0x03e7da87, 0x001615cf, 0x0114f89d, 0x03d5e2c5, 0x03567cdc, 0x0230e566, 0x00e845aa, 0x0142fc4e, 0x002c9264}}}, + {X: Field{[10]uint32{0x006f2d3a, 0x00215927, 0x001a8927, 0x00bcdd38, 0x03453b51, 0x0398ecbe, 0x013d282f, 0x02288a27, 0x03c6d55a, 0x0033ed47}}, Y: Field{[10]uint32{0x0070635d, 0x01ffa724, 0x0125eb56, 0x004872c9, 0x03e4ea53, 0x01879874, 0x02c120e7, 0x0047b4a3, 0x02232838, 0x0023528c}}}, + {X: Field{[10]uint32{0x0243c539, 0x01f3a5ab, 0x00486893, 0x02c45c87, 0x01c45f77, 0x0089258d, 0x03219db2, 0x00051c2f, 0x020b9705, 0x00166912}}, Y: Field{[10]uint32{0x03039afa, 0x0364c781, 0x00efd158, 0x01644ddd, 0x02400ff9, 0x017ae29d, 0x021d0cd5, 0x003cfc77, 0x00a66a91, 0x0000c787}}}, + {X: Field{[10]uint32{0x00a8ee7e, 0x015c3a0a, 0x0386f8ab, 0x01cc67f5, 0x02d8e26d, 0x012ecea3, 0x03446281, 0x01e8ddaa, 0x0256ec27, 0x002e673b}}, Y: Field{[10]uint32{0x023494ad, 0x02c44d70, 0x0223062a, 0x00c74773, 0x00b6be5d, 0x01360305, 0x013b16ab, 0x017535c9, 0x0398dda0, 0x0011b83c}}}, + {X: Field{[10]uint32{0x01172bd2, 0x001eb403, 0x03cb0252, 0x00ad4a51, 0x001c6b92, 0x0369d6ce, 0x00398725, 0x006889b4, 0x036ad96b, 0x0028e784}}, Y: Field{[10]uint32{0x02abb532, 0x00286e6d, 0x023a2d91, 0x01de2bc6, 0x007dbfc9, 0x0258e7ea, 0x010fa717, 0x038238f4, 0x0358074d, 0x001e9701}}}, + {X: Field{[10]uint32{0x03001976, 0x02365d15, 0x039c45b4, 0x0154d7d1, 0x032c23c8, 0x02dd44ad, 0x02dd59ae, 0x02dd3989, 0x01253b2e, 0x001ba2d0}}, Y: Field{[10]uint32{0x012bc88e, 0x02667a33, 0x02b47873, 0x020bb086, 0x020715bc, 0x032e16a8, 0x0004068a, 0x0301157a, 0x00e1e4e8, 0x003302e2}}}, + {X: Field{[10]uint32{0x01abb019, 0x0111e294, 0x024189c4, 0x01bc7263, 0x03cd1fb6, 0x03bf44d0, 0x03b6ec98, 0x010627df, 0x02f5681e, 0x002650ad}}, Y: Field{[10]uint32{0x010e7a9a, 0x01459e63, 0x02430569, 0x01afb499, 0x02d2fe98, 0x01f26278, 0x0211e6ff, 0x00b54a42, 0x02bbb0cc, 0x00080343}}}, + {X: Field{[10]uint32{0x0078506d, 0x0383df94, 0x01744642, 0x03dcbabf, 0x02759636, 0x0122bcd4, 0x0166918b, 0x02e52510, 0x01ec3c57, 0x001ff738}}, Y: Field{[10]uint32{0x03baabd2, 0x004e8ab5, 0x0146b2e3, 0x01e5974f, 0x0353cfb9, 0x038b4b39, 0x03786ed1, 0x01db8dce, 0x02efc19a, 0x0035de16}}}, + {X: Field{[10]uint32{0x03989c57, 0x035381a4, 0x01b04a70, 0x01362065, 0x035f5165, 0x01df1e6a, 0x030906bd, 0x020fc3c5, 0x005c958c, 0x001bc4c8}}, Y: Field{[10]uint32{0x03b55ee0, 0x023c4fdc, 0x02c99e84, 0x02655445, 0x01033deb, 0x0254368d, 0x028d4f1c, 0x03920ec9, 0x015bb386, 0x0022b268}}}, + {X: Field{[10]uint32{0x0297654e, 0x03352d8d, 0x007e6e50, 0x013d6d09, 0x03cd405f, 0x0137fefe, 0x00a0665f, 0x01a6f810, 0x035d833c, 0x003e5568}}, Y: Field{[10]uint32{0x03c9ee44, 0x03e93d62, 0x0183e4e2, 0x02c9f686, 0x00f56e80, 0x0103acdf, 0x02f2407f, 0x020e2692, 0x03ce2246, 0x00227d3e}}}, + {X: Field{[10]uint32{0x02248007, 0x03edaa09, 0x00132e65, 0x0346248e, 0x010b58b8, 0x037e5e63, 0x02257431, 0x011a8d0a, 0x012d6196, 0x0036f345}}, Y: Field{[10]uint32{0x02d8ba13, 0x02d34d8c, 0x01dcec02, 0x038f4086, 0x03e57d23, 0x039a0c3d, 0x0025e9e2, 0x023f4f91, 0x017ec194, 0x0019be9c}}}, + {X: Field{[10]uint32{0x026e8ebe, 0x03a854d7, 0x035cc71e, 0x02ca2cd6, 0x0399f713, 0x00b9e54f, 0x03cfb1da, 0x02427eb1, 0x00e8e57b, 0x003c6baf}}, Y: Field{[10]uint32{0x01d9d516, 0x03d842f9, 0x0157e1b7, 0x0365617f, 0x0288b0bf, 0x00b93d65, 0x01c24d09, 0x0396a983, 0x02143e77, 0x0021d57e}}}, + {X: Field{[10]uint32{0x00b55187, 0x01b92281, 0x005f5fef, 0x016a4754, 0x01c002bc, 0x0010c241, 0x01ceab65, 0x0212ffe2, 0x024d941f, 0x00288085}}, Y: Field{[10]uint32{0x02f057ff, 0x00ecfbf0, 0x004c1bee, 0x0256b7a2, 0x01b6d4b0, 0x02e6f393, 0x0172e978, 0x01a2d479, 0x002b2bc2, 0x00038335}}}, + {X: Field{[10]uint32{0x028ad68a, 0x01011f72, 0x02861e78, 0x02942009, 0x02b1344d, 0x021fe2e6, 0x000eccb2, 0x039f7a52, 0x025746fd, 0x0015cb85}}, Y: Field{[10]uint32{0x01eb5d9f, 0x01a585cc, 0x01170475, 0x01ac283f, 0x0239eda8, 0x00176b5d, 0x02461eb4, 0x02aed234, 0x01e7c066, 0x00305d2b}}}, + {X: Field{[10]uint32{0x03eba31d, 0x0333a696, 0x00dac58a, 0x03296799, 0x00b67047, 0x01db927a, 0x00b1052b, 0x035d4f02, 0x0107fee4, 0x003d38b2}}, Y: Field{[10]uint32{0x0011c42c, 0x02fe1c4b, 0x030f8f41, 0x00d09201, 0x032b76d1, 0x02a3fa25, 0x00b8317c, 0x034b6392, 0x022d3a92, 0x002c90ea}}}, + {X: Field{[10]uint32{0x01f06dd5, 0x0258e97f, 0x00463e06, 0x0207c934, 0x02266987, 0x01a2026c, 0x029e436d, 0x015c5bd7, 0x02ec8445, 0x0029bf1a}}, Y: Field{[10]uint32{0x0018ca8d, 0x02402a86, 0x013d5073, 0x013a4614, 0x00a96b7f, 0x01d2367c, 0x02135fdf, 0x03f461ab, 0x0215548e, 0x003705a9}}}, + {X: Field{[10]uint32{0x0205f026, 0x03378b56, 0x009bcc00, 0x033ac133, 0x00c4ffb3, 0x00dfcb2f, 0x00d8eec9, 0x02594a73, 0x00175fde, 0x002f601a}}, Y: Field{[10]uint32{0x00a26216, 0x008a2cd9, 0x03f76bce, 0x01d1454a, 0x02db0482, 0x02daf771, 0x03e6a0d8, 0x010ca383, 0x02e78e01, 0x002c9e46}}}, + {X: Field{[10]uint32{0x000165ef, 0x021b74d7, 0x0251e163, 0x02c8e976, 0x032d8614, 0x032b9ae3, 0x015e810e, 0x00f482e7, 0x02676f8c, 0x003e2229}}, Y: Field{[10]uint32{0x009a0dea, 0x00f6b724, 0x0223942a, 0x014f7890, 0x03579788, 0x031ec7ae, 0x034bfe39, 0x03cfbfdb, 0x020fe429, 0x003ed3b8}}}, + {X: Field{[10]uint32{0x009ae200, 0x0221df10, 0x02fd23ba, 0x039af69d, 0x01c3182e, 0x034583f3, 0x01023a48, 0x02a9c7b2, 0x02055adb, 0x001f2347}}, Y: Field{[10]uint32{0x03907ceb, 0x0385d90b, 0x00524f16, 0x0293cb23, 0x01c489b9, 0x033a0dde, 0x02936f4f, 0x01548f65, 0x020bec59, 0x00228ee0}}}, + {X: Field{[10]uint32{0x02fabf43, 0x00539d89, 0x0159e75c, 0x02dd48a6, 0x026dfd9b, 0x024eebdc, 0x00ccd715, 0x01c48184, 0x02a4ee25, 0x0006221b}}, Y: Field{[10]uint32{0x0091531d, 0x026361b8, 0x01d31ffa, 0x0210e622, 0x02898a31, 0x01f40ade, 0x033ad3f0, 0x01a2c034, 0x0295f570, 0x00099b19}}}, + {X: Field{[10]uint32{0x03e52cba, 0x03f73e9a, 0x009a3184, 0x0265419e, 0x011242a0, 0x02b00dae, 0x039a44ec, 0x02b6f4cc, 0x031e38c8, 0x003fa9c3}}, Y: Field{[10]uint32{0x039e7915, 0x009bb38e, 0x0046883e, 0x00bf5d17, 0x02076c0e, 0x00d99c2d, 0x0058093a, 0x0306e777, 0x01f50ba8, 0x00277fdb}}}, + {X: Field{[10]uint32{0x03d1365a, 0x0312d28d, 0x00c8fb1d, 0x01eff908, 0x0096dcbf, 0x01e5146e, 0x0199142e, 0x00f241db, 0x038945aa, 0x001378c0}}, Y: Field{[10]uint32{0x0287cba4, 0x0193b634, 0x0316d356, 0x02884ec2, 0x03992ac0, 0x0006ccdd, 0x001eb2e2, 0x03799090, 0x029e9093, 0x0033b9d3}}}, + {X: Field{[10]uint32{0x02104fb2, 0x02220c06, 0x03da3739, 0x01adad6f, 0x028c2d8e, 0x03040a60, 0x03b8c401, 0x02f9e718, 0x01d1eafe, 0x0019f427}}, Y: Field{[10]uint32{0x01360a5f, 0x03ea96ef, 0x0098461f, 0x016367cb, 0x00d4f035, 0x0063e26f, 0x019049e8, 0x00365a3a, 0x01089266, 0x00043ad5}}}, + {X: Field{[10]uint32{0x00e6010f, 0x03f75dd0, 0x01b5af5f, 0x03d3fe8c, 0x01325e55, 0x01c0c735, 0x0396d4d8, 0x00d3e34e, 0x00fe1868, 0x000ad75c}}, Y: Field{[10]uint32{0x0095ed02, 0x029351ea, 0x03b1f7bd, 0x024327d4, 0x00384398, 0x02c8206d, 0x031f54af, 0x028dcde2, 0x025324d2, 0x00191b9f}}}, + {X: Field{[10]uint32{0x017be248, 0x03d8b7f8, 0x00752527, 0x008f2893, 0x005d600b, 0x02bb42b4, 0x03f7b446, 0x029db064, 0x02998700, 0x0032d098}}, Y: Field{[10]uint32{0x0019a8b6, 0x03a4e796, 0x006e65ac, 0x01413086, 0x03bcfd02, 0x03339dc8, 0x01f74eb8, 0x01832439, 0x0213f3eb, 0x0024a10f}}}, + {X: Field{[10]uint32{0x018e4e41, 0x00137b50, 0x00d25f9b, 0x014ff638, 0x0322d0b8, 0x039b7a22, 0x01ce4d01, 0x02f15c4d, 0x037e75b3, 0x000fb9aa}}, Y: Field{[10]uint32{0x034bcc87, 0x0154da06, 0x027689ad, 0x013da03b, 0x006ee1ab, 0x00cfd480, 0x01b6afc9, 0x01466e4c, 0x03984e52, 0x001a720f}}}, + {X: Field{[10]uint32{0x0087e7be, 0x010217f2, 0x01724e90, 0x031ca8e1, 0x016918ac, 0x005f5e0a, 0x0232df6f, 0x01450c5c, 0x00b0a95a, 0x00160ddd}}, Y: Field{[10]uint32{0x007c3e7b, 0x01cdaaa0, 0x0042418c, 0x03f8542d, 0x03f8f047, 0x019970d4, 0x00160730, 0x033c5cc3, 0x02660ee8, 0x000ceec7}}}, + {X: Field{[10]uint32{0x0079dc1a, 0x020e381c, 0x03fcb0a8, 0x000269e8, 0x03eb3341, 0x02990fa8, 0x0082b772, 0x009e1de4, 0x01ef3982, 0x002bccb8}}, Y: Field{[10]uint32{0x0295fd4c, 0x027b2dd3, 0x037f8b3a, 0x00c792d2, 0x03169383, 0x0068d9a5, 0x02ee7e8b, 0x0048f9ce, 0x028dc660, 0x001a6178}}}, + {X: Field{[10]uint32{0x0034d0c4, 0x02b705b8, 0x03f9c948, 0x02737aae, 0x0150f724, 0x03eff0fd, 0x020c740e, 0x01d5466d, 0x03dd3266, 0x001bb7df}}, Y: Field{[10]uint32{0x02f46026, 0x01144f43, 0x016d40bb, 0x0052edf6, 0x0164534f, 0x02c249a4, 0x030de819, 0x01f69d7e, 0x03185def, 0x003c2317}}}, + {X: Field{[10]uint32{0x01f16b42, 0x00293c00, 0x01f0072a, 0x0182cff6, 0x0086257a, 0x02060878, 0x0104120a, 0x023e51b1, 0x02455d26, 0x000ee699}}, Y: Field{[10]uint32{0x00fe7c7b, 0x006f774b, 0x00117e2e, 0x0121916c, 0x023dfa48, 0x01864041, 0x03601090, 0x01b02257, 0x0215aedf, 0x003b560e}}}, + {X: Field{[10]uint32{0x007a1039, 0x00eb429d, 0x03ae2d68, 0x010e0ba2, 0x0327b529, 0x02804ac3, 0x03cbdf07, 0x03f6c345, 0x03082b5c, 0x002f40d6}}, Y: Field{[10]uint32{0x03b2ef54, 0x003e68e6, 0x03f61ac9, 0x030e2d8a, 0x00e94a23, 0x01cafa2b, 0x0135ccd5, 0x035fa2a8, 0x03aded4a, 0x00192532}}}, + {X: Field{[10]uint32{0x015338c3, 0x0116d13c, 0x02ff7a8c, 0x02c50408, 0x024dda59, 0x022780e0, 0x03316ef0, 0x00602eb8, 0x0319fe9b, 0x003897ef}}, Y: Field{[10]uint32{0x034c7cf2, 0x0220d8c5, 0x03be6f63, 0x00467d3e, 0x007c2c8f, 0x0214b9a5, 0x02412581, 0x037548d0, 0x03f658a3, 0x00117b11}}}, + {X: Field{[10]uint32{0x00ffc9b8, 0x01cb993b, 0x02e6c7c0, 0x0170e1c7, 0x01f30f59, 0x00059501, 0x02ebea75, 0x01cd5814, 0x01cd8ffd, 0x000b88c7}}, Y: Field{[10]uint32{0x0359317a, 0x03cc591b, 0x0127d29c, 0x032fb946, 0x027610d4, 0x02892b78, 0x018f3d3e, 0x02586a11, 0x0052db15, 0x00031991}}}, + {X: Field{[10]uint32{0x01338fc8, 0x0161983d, 0x020483b4, 0x01d299a9, 0x01fd2a41, 0x00c5b819, 0x01ae1260, 0x0189bc6c, 0x01c93932, 0x001f03ca}}, Y: Field{[10]uint32{0x01cd037f, 0x008cee9d, 0x00162350, 0x013e6326, 0x01b76e2c, 0x021fd5aa, 0x0255d7a5, 0x0049cb00, 0x033ddf6f, 0x0009fbd4}}}, + {X: Field{[10]uint32{0x00d5bb48, 0x02da881f, 0x019ba31b, 0x0385c2ca, 0x027bd857, 0x01e53ecc, 0x003e0144, 0x027fbfed, 0x021cea6f, 0x0039c0b5}}, Y: Field{[10]uint32{0x023f79c9, 0x0303acc6, 0x02f2112e, 0x02bf298e, 0x00ee5e28, 0x03781de5, 0x0228a712, 0x03b8f9fc, 0x0081c924, 0x00311de6}}}, + {X: Field{[10]uint32{0x02c852a8, 0x02b917d9, 0x026d8cc2, 0x02900d69, 0x01c362c5, 0x030591fb, 0x0275c117, 0x0306d6fb, 0x0044eade, 0x003c5e00}}, Y: Field{[10]uint32{0x029e1c18, 0x01dd5c8c, 0x030f89a6, 0x00121727, 0x01e8b7a3, 0x00e00c43, 0x00f63ac1, 0x00e5dfc2, 0x01f0f31b, 0x0017e37a}}}, + {X: Field{[10]uint32{0x0312dd9e, 0x001c07c7, 0x0369f8d0, 0x02dc5982, 0x011582cc, 0x00999969, 0x0152c533, 0x016c6352, 0x037f22ec, 0x001e906c}}, Y: Field{[10]uint32{0x007fc443, 0x01425458, 0x002b9db7, 0x017890a7, 0x01344886, 0x028bc780, 0x00cd74d2, 0x00967020, 0x02132c57, 0x0021102f}}}, + {X: Field{[10]uint32{0x002db6d3, 0x033342ca, 0x02779ca4, 0x005b5482, 0x02a5ce63, 0x01f0d546, 0x00f4e165, 0x035a7866, 0x037d8111, 0x000253ff}}, Y: Field{[10]uint32{0x005c6fc0, 0x00926f14, 0x03b909c3, 0x00c0ea4c, 0x0342541d, 0x02c763b5, 0x00a75d38, 0x0030155e, 0x0270026c, 0x00120b24}}}, + {X: Field{[10]uint32{0x03f4e9d1, 0x03251005, 0x02560a54, 0x0224bdc3, 0x01d37759, 0x02c1692a, 0x00ac76b1, 0x03eaa55b, 0x004e8a3f, 0x0035a9b5}}, Y: Field{[10]uint32{0x00863e1a, 0x01ee95e4, 0x00b6cdc5, 0x021f78e2, 0x03c7b93e, 0x00ea2815, 0x023bbe78, 0x0277a645, 0x0322cd83, 0x001230ee}}}, + {X: Field{[10]uint32{0x00cdf80c, 0x00813e54, 0x03d53699, 0x024e56e4, 0x02c47c09, 0x00550ee4, 0x01dbc477, 0x03b6ac79, 0x01c08e24, 0x00330389}}, Y: Field{[10]uint32{0x011fb70b, 0x00a0af41, 0x038c8220, 0x015490c6, 0x031a977c, 0x02d29b4e, 0x0376ab2c, 0x033ced0e, 0x00b37170, 0x0008314b}}}, + {X: Field{[10]uint32{0x02f8d827, 0x0095ced8, 0x01be3db7, 0x0291041e, 0x01efddb6, 0x03ee0f2d, 0x025d0eac, 0x0346be84, 0x03684cb7, 0x0033e54f}}, Y: Field{[10]uint32{0x00909c0c, 0x027b76cc, 0x009ac0b8, 0x01406bf2, 0x03b302fa, 0x038f9428, 0x0047a7b8, 0x0046c42a, 0x0366a45d, 0x001c33f8}}}, + {X: Field{[10]uint32{0x0015d5dc, 0x02675ada, 0x0319fbff, 0x01d450ea, 0x02f8ce69, 0x03f57f87, 0x016b7112, 0x02ac1bfc, 0x02942b34, 0x0006b089}}, Y: Field{[10]uint32{0x036539fc, 0x038fe96a, 0x026154d9, 0x0348911d, 0x011bd823, 0x027859a0, 0x01b7fddd, 0x0025d53a, 0x017e02bd, 0x00290f51}}}, + {X: Field{[10]uint32{0x024d65c2, 0x03dc8c9e, 0x029e9bb9, 0x03f6904b, 0x00496349, 0x0256501b, 0x03800bcf, 0x02012bc3, 0x03ff1153, 0x00340aee}}, Y: Field{[10]uint32{0x0002a384, 0x03fff06e, 0x032f2876, 0x02087083, 0x020d41e6, 0x03bc22d5, 0x0344f9b9, 0x00cbdc75, 0x00de3c78, 0x000177a0}}}, + {X: Field{[10]uint32{0x031831a7, 0x021496d3, 0x0204025a, 0x009920de, 0x02d8a603, 0x0312ca67, 0x021cc2b2, 0x013b8d0b, 0x03478d46, 0x000f32b4}}, Y: Field{[10]uint32{0x002691c0, 0x00dac9b4, 0x0035af30, 0x00f926d4, 0x0147492f, 0x033acd00, 0x0079fdd6, 0x0156d82b, 0x024ca59b, 0x000d7a8a}}}, + {X: Field{[10]uint32{0x02033688, 0x01ee90cd, 0x0106b80f, 0x02cc1067, 0x01b3a758, 0x03fe12cf, 0x0362e90f, 0x030f3835, 0x01543e69, 0x003ab135}}, Y: Field{[10]uint32{0x01deacbe, 0x01a84bf4, 0x01dbf17f, 0x01b7250d, 0x02ee00fb, 0x036a8611, 0x00449aad, 0x01d2effa, 0x02dac543, 0x002a993e}}}, + {X: Field{[10]uint32{0x03fca753, 0x02383318, 0x037a9a02, 0x01974f6e, 0x015df624, 0x00cef8a0, 0x026d0c61, 0x00dc4ccc, 0x01b173d9, 0x000f4a1e}}, Y: Field{[10]uint32{0x00d6e0f0, 0x029ca59a, 0x00c9d8f0, 0x0230a9aa, 0x01fd38a0, 0x01336e34, 0x023eecb3, 0x02d7a2a7, 0x024d9b95, 0x0015db39}}}, + {X: Field{[10]uint32{0x0176ca14, 0x0138c11a, 0x03ce4cf7, 0x015a67ae, 0x0272358a, 0x02a31d9a, 0x0137087c, 0x01a0b894, 0x038d56a9, 0x000fd62a}}, Y: Field{[10]uint32{0x0321f29d, 0x010169ec, 0x02315447, 0x00280579, 0x01f6bce2, 0x02d2036b, 0x030f45f1, 0x02a2a07c, 0x03d101a2, 0x000f2414}}}, + {X: Field{[10]uint32{0x03fd12d7, 0x01776c44, 0x01b97314, 0x004d6211, 0x022a4ed9, 0x022bab90, 0x029df0fa, 0x03346506, 0x0289b48d, 0x0013d7c4}}, Y: Field{[10]uint32{0x00dc1428, 0x03e095b8, 0x03e86077, 0x01a968f0, 0x0342ac0d, 0x0288cf77, 0x02286ed0, 0x0195dc0f, 0x032cc40c, 0x002d70f8}}}, + {X: Field{[10]uint32{0x03376a76, 0x00e4b724, 0x03bc5ad0, 0x037fe682, 0x03e4a9dc, 0x028aeb35, 0x00e70ddd, 0x031beb9d, 0x01e2a52d, 0x0029928a}}, Y: Field{[10]uint32{0x018a9590, 0x02c05990, 0x0330b4eb, 0x0332c395, 0x01c776f2, 0x00f770d9, 0x02efe873, 0x02c6ddee, 0x00a6faa9, 0x002b78be}}}, + {X: Field{[10]uint32{0x00480e70, 0x0331f6f2, 0x02f04994, 0x017788d2, 0x00b8694b, 0x0071b4f8, 0x0186f94e, 0x03e22b47, 0x0212c4d6, 0x0037b82a}}, Y: Field{[10]uint32{0x02f93389, 0x01947e18, 0x002193d4, 0x0320034d, 0x02413ae1, 0x00cb4c35, 0x01368df3, 0x00df3ea7, 0x00d4cbda, 0x0032f66b}}}, + {X: Field{[10]uint32{0x01796936, 0x003c6235, 0x01f74f9c, 0x023220bf, 0x01772b95, 0x003ad9bf, 0x013e2948, 0x01ab86d9, 0x019dc8af, 0x00219dea}}, Y: Field{[10]uint32{0x0397232e, 0x03abe07f, 0x029ed783, 0x0075370f, 0x00662115, 0x002187d1, 0x03a24f3a, 0x0012392d, 0x00c8348c, 0x000c719a}}}, + {X: Field{[10]uint32{0x02997fee, 0x005e307d, 0x01d80ed6, 0x0306633b, 0x02f44aed, 0x02f5b59d, 0x0229bc79, 0x029f30ac, 0x013acb73, 0x0014445f}}, Y: Field{[10]uint32{0x01110cd6, 0x0395a30e, 0x01a4d174, 0x01c0c870, 0x0278f207, 0x00258d0f, 0x00651d30, 0x0217045c, 0x0004123f, 0x001718e3}}}, + {X: Field{[10]uint32{0x03141b12, 0x0328e0e7, 0x024689c3, 0x03e0d08f, 0x020a83c9, 0x00ba8490, 0x03585d45, 0x0020a3a1, 0x03646967, 0x0012362b}}, Y: Field{[10]uint32{0x0265e9de, 0x035938d4, 0x0040fdc4, 0x00d6501b, 0x011998dd, 0x00157b41, 0x029843b9, 0x01269f1a, 0x0342f07f, 0x001562a3}}}, + {X: Field{[10]uint32{0x02966d2c, 0x03a03d7d, 0x0317aecb, 0x01f7d6ee, 0x01d4060c, 0x0070593a, 0x003d4574, 0x03bb9685, 0x02c1b0fd, 0x0018aea6}}, Y: Field{[10]uint32{0x01d9450e, 0x01b04629, 0x00aedb58, 0x019cec0d, 0x019329fe, 0x01c2cee6, 0x0096494b, 0x0105b17f, 0x013f2290, 0x00196819}}}, + {X: Field{[10]uint32{0x01febf0d, 0x00a5f492, 0x0004a486, 0x00150fcc, 0x00508d8d, 0x00f1e4c4, 0x02f20580, 0x0295ad43, 0x03cb679d, 0x002f937d}}, Y: Field{[10]uint32{0x01f3ba9b, 0x01b10f35, 0x03a0995f, 0x00183e8f, 0x00ca6973, 0x032a21a5, 0x018cb8ba, 0x00f9fea2, 0x0150dd5f, 0x00306d59}}}, + {X: Field{[10]uint32{0x00c9979d, 0x010d6c0a, 0x010c3a0c, 0x00b33855, 0x02424eac, 0x0211ccc5, 0x02cdf340, 0x0381a016, 0x036ccca2, 0x00392700}}, Y: Field{[10]uint32{0x01609a1b, 0x02264b98, 0x03bcab16, 0x0078ed0a, 0x0121186b, 0x009ebf5f, 0x010d273d, 0x03f7956f, 0x025f0457, 0x00115af0}}}, + {X: Field{[10]uint32{0x03fd58e3, 0x01e9be25, 0x01302705, 0x006ab570, 0x02976e70, 0x02ddd30a, 0x03ddfc9c, 0x017642cf, 0x01eda81d, 0x002b9a11}}, Y: Field{[10]uint32{0x02d755bc, 0x01299d5f, 0x03e11e5b, 0x01b39a6c, 0x00450112, 0x014e694d, 0x026194e7, 0x038d8264, 0x0055322a, 0x0014a6f7}}}, + {X: Field{[10]uint32{0x02a25e1b, 0x03ab8c6f, 0x02d183fb, 0x02652867, 0x004c2744, 0x035c4e19, 0x00717e02, 0x02ddcb32, 0x00f8bcc2, 0x0014a876}}, Y: Field{[10]uint32{0x0189011b, 0x01a79810, 0x001dc9f8, 0x01cf1c0d, 0x03dbb806, 0x00edd4a2, 0x00e77f95, 0x01e25212, 0x032ce7f1, 0x00368a82}}}, + {X: Field{[10]uint32{0x02a2250a, 0x03ce0165, 0x02918425, 0x02724349, 0x010cc552, 0x035692af, 0x0119f50d, 0x01e01357, 0x0301d89a, 0x003feeeb}}, Y: Field{[10]uint32{0x029880e2, 0x00dfb666, 0x0214538c, 0x0043dac6, 0x022d5144, 0x00bf84c8, 0x02a47a6c, 0x018af416, 0x03b7eba6, 0x00222d7d}}}, + {X: Field{[10]uint32{0x038c942e, 0x0296783f, 0x011f9fe5, 0x0323fd81, 0x014473fb, 0x013e15c9, 0x03840eed, 0x006adebe, 0x0038aab5, 0x0001bfe9}}, Y: Field{[10]uint32{0x0202d775, 0x02131fb9, 0x01f8e668, 0x0168ab1f, 0x0350a0e9, 0x02584ef2, 0x0060dc66, 0x028100ce, 0x02dd3b88, 0x0016c089}}}, + {X: Field{[10]uint32{0x00a2fc79, 0x03b250c2, 0x00cb5a45, 0x01eb22f2, 0x00c2c1b7, 0x00749a84, 0x00f5ee59, 0x0311f8c6, 0x0258f92a, 0x00272255}}, Y: Field{[10]uint32{0x001045f9, 0x02b3ea70, 0x0338e516, 0x0057fdd3, 0x00ef4b01, 0x0378963b, 0x0255e286, 0x02f563c5, 0x01e2665e, 0x001c201c}}}, + {X: Field{[10]uint32{0x01861ba9, 0x037dbc30, 0x03bb5df1, 0x0338153e, 0x00a59bb3, 0x03afb38f, 0x01bffd18, 0x00d6c4ff, 0x020defba, 0x0014cb9b}}, Y: Field{[10]uint32{0x02bc5b8a, 0x02d1d52b, 0x027fff61, 0x003e942e, 0x0336f04b, 0x0192d164, 0x0332ed24, 0x02ef0fad, 0x01dad326, 0x0006bd19}}}, + {X: Field{[10]uint32{0x01fff425, 0x01238039, 0x02ea138d, 0x02020f69, 0x038a8a9f, 0x01432d28, 0x01add8eb, 0x01c24833, 0x0321e3f2, 0x0026410c}}, Y: Field{[10]uint32{0x0377ea6f, 0x0347c123, 0x03786ef9, 0x00937ca6, 0x02404ecb, 0x0394b0cd, 0x025b1be8, 0x00943f67, 0x0197325c, 0x00046fa1}}}, + {X: Field{[10]uint32{0x004084f9, 0x02bd1b9f, 0x0217287d, 0x01730cc7, 0x017d7908, 0x008308af, 0x00a6e941, 0x00d2a668, 0x00803a09, 0x00259e64}}, Y: Field{[10]uint32{0x00005e03, 0x011b08e6, 0x02d047dc, 0x02ab5d72, 0x02574903, 0x02ca04bb, 0x0120b5c9, 0x002ff9a9, 0x012d1845, 0x003aa400}}}, + {X: Field{[10]uint32{0x02a0afb9, 0x036b0dce, 0x006ab729, 0x006d3f0e, 0x021f36f7, 0x03bfdd85, 0x02d99819, 0x03f8433d, 0x0157915f, 0x001d3d74}}, Y: Field{[10]uint32{0x01b29eb5, 0x02750846, 0x0009a2c4, 0x02925069, 0x034e4ce4, 0x03323111, 0x02e225cd, 0x02f1d04a, 0x011e4922, 0x00152800}}}, + {X: Field{[10]uint32{0x01927855, 0x0335aa30, 0x0231e3e7, 0x035caa81, 0x0176e5f3, 0x0235e9d4, 0x000ddebe, 0x00e5555c, 0x035381c6, 0x00049a49}}, Y: Field{[10]uint32{0x039ae553, 0x03833070, 0x017b72c5, 0x03f544cd, 0x013eefef, 0x0387442d, 0x00554fa1, 0x000b5513, 0x00768110, 0x002e4b94}}}, + {X: Field{[10]uint32{0x00230d9f, 0x03801ee0, 0x028e11aa, 0x02f37471, 0x00d7cdcf, 0x03c63604, 0x036ae35a, 0x00f5cc16, 0x001b1d14, 0x000213be}}, Y: Field{[10]uint32{0x0175d42a, 0x028bb72d, 0x001bb33c, 0x0116a9b8, 0x02b0dda6, 0x00e28b96, 0x02bcf2c6, 0x033a3087, 0x022ba5b4, 0x0032b8e6}}}, + {X: Field{[10]uint32{0x009037ad, 0x00544b7b, 0x02a62dd7, 0x034a9ccf, 0x01c8d89d, 0x03b58aa1, 0x007af5e0, 0x01ab1d99, 0x01a3326e, 0x000708ab}}, Y: Field{[10]uint32{0x02aab458, 0x00126045, 0x00b64493, 0x03726580, 0x00bc4142, 0x02e79bf5, 0x0246283c, 0x029abe67, 0x00c61562, 0x003d6966}}}, + {X: Field{[10]uint32{0x024aff1b, 0x01c7307e, 0x03f4e736, 0x012142ef, 0x03c00f1f, 0x02781054, 0x00dd35fe, 0x02af56aa, 0x024ff08e, 0x001ae472}}, Y: Field{[10]uint32{0x01b31852, 0x00943f84, 0x039778cb, 0x0069f761, 0x01b3c955, 0x00413d61, 0x0368c8b6, 0x03e6753e, 0x02da85ad, 0x0031b36a}}}, + {X: Field{[10]uint32{0x01f85bc2, 0x01e2573b, 0x0188e23f, 0x02d7a3dc, 0x00b99063, 0x020dcdb9, 0x03f03219, 0x00855d84, 0x01996d2e, 0x0015eed2}}, Y: Field{[10]uint32{0x0347cc3a, 0x036dd96a, 0x0150e94f, 0x0050156d, 0x02d0a1ad, 0x01cea0b6, 0x034b9b20, 0x02a43a49, 0x01c672ee, 0x0024ed1b}}}, + {X: Field{[10]uint32{0x0233ba6e, 0x03d49812, 0x001ccb40, 0x0289e2be, 0x00067c38, 0x018f7e3c, 0x016d9f24, 0x0159b841, 0x0327ebf7, 0x001d5e42}}, Y: Field{[10]uint32{0x009d2045, 0x0267172e, 0x02dac6be, 0x01c66b81, 0x003af8dc, 0x011bab75, 0x025decf3, 0x002976c1, 0x00a3d99b, 0x00328323}}}, + {X: Field{[10]uint32{0x0074ebe9, 0x02f2ed41, 0x00a08f32, 0x03d36e31, 0x028dd7b4, 0x00c01287, 0x032b6fde, 0x01642fdf, 0x01ada90b, 0x00329e9d}}, Y: Field{[10]uint32{0x03fc69e3, 0x037b5a60, 0x03a1efd3, 0x0166b372, 0x00512732, 0x003c7700, 0x00e8a08e, 0x01479efd, 0x019c5c93, 0x002cc9e3}}}, + {X: Field{[10]uint32{0x0390b2d1, 0x013d754b, 0x0365c07a, 0x016bcc61, 0x0147b65a, 0x014aecd9, 0x02a8d6ce, 0x018a50e4, 0x00b93bf4, 0x0029b71a}}, Y: Field{[10]uint32{0x010ad45b, 0x00970cf2, 0x024de8f9, 0x01220648, 0x0237f533, 0x024c7718, 0x033c76a0, 0x01558683, 0x0167fc57, 0x00106e9b}}}, + {X: Field{[10]uint32{0x03b6bba5, 0x036b87da, 0x01b56fe0, 0x0130fd49, 0x002fafed, 0x0030d844, 0x035a0252, 0x03242b1f, 0x01f3f8af, 0x0036884e}}, Y: Field{[10]uint32{0x036349db, 0x001819c6, 0x02c369ad, 0x00743d6e, 0x0271e92c, 0x03968e53, 0x0097522d, 0x03605b70, 0x0388fa9e, 0x00256b72}}}, + {X: Field{[10]uint32{0x013da4de, 0x023893d0, 0x002cdf5a, 0x01ec8fc4, 0x03215935, 0x02aea732, 0x034194bf, 0x00018eb2, 0x00752f0e, 0x0028cac9}}, Y: Field{[10]uint32{0x03e576cc, 0x034c587a, 0x013dbddf, 0x02e0d3c1, 0x03e09f8a, 0x030d40db, 0x0316ffd8, 0x009ff31d, 0x0143bd8b, 0x0015f7d0}}}, + {X: Field{[10]uint32{0x01e9bedc, 0x00e2532b, 0x01392b89, 0x03c8b248, 0x02741718, 0x008cf1ce, 0x0319d8ba, 0x013fcf1c, 0x011d3382, 0x002aba92}}, Y: Field{[10]uint32{0x001a63a7, 0x02d85513, 0x02f4eb24, 0x00cb57e3, 0x01a7ad0d, 0x016bb61b, 0x026a3a1a, 0x0371964e, 0x029184d8, 0x000323ec}}}, + {X: Field{[10]uint32{0x007f2c75, 0x0222b362, 0x015e7ed3, 0x0170ac0c, 0x01ccf75d, 0x01a3ed8e, 0x00f3eb3d, 0x0026f489, 0x00e27a84, 0x000a4d78}}, Y: Field{[10]uint32{0x0168aad4, 0x026a4e31, 0x001640c8, 0x00343f7f, 0x03977e90, 0x00603530, 0x03d00680, 0x02b90260, 0x002462c9, 0x000313fc}}}, + {X: Field{[10]uint32{0x030fe577, 0x0091339d, 0x0218163d, 0x02581419, 0x03fdebbd, 0x02fabfb2, 0x034259aa, 0x01c94d60, 0x00769e2e, 0x001ff2a0}}, Y: Field{[10]uint32{0x01bc3542, 0x0384f355, 0x02ed99a5, 0x02e9f6eb, 0x0369cfec, 0x03f453fe, 0x003b8f6f, 0x03b48b2b, 0x03abf04d, 0x0028f770}}}, + {X: Field{[10]uint32{0x028b483e, 0x02d06457, 0x002a96a7, 0x031c4c59, 0x00bc129e, 0x01ed144d, 0x01e665f5, 0x02929fe9, 0x01c601ca, 0x00316d7c}}, Y: Field{[10]uint32{0x00b538e4, 0x01efeee7, 0x012576d3, 0x019b6332, 0x0173dabb, 0x0098047a, 0x0358fd0c, 0x0263368f, 0x0016da50, 0x0009b2ce}}}, + {X: Field{[10]uint32{0x01a50d88, 0x03eda81e, 0x034f456b, 0x01d33ff6, 0x03d7d5b1, 0x01e400d6, 0x01ecf4bf, 0x019dc993, 0x0274df43, 0x00104368}}, Y: Field{[10]uint32{0x039a6abf, 0x034aefbb, 0x000f88e1, 0x00e56efc, 0x02254a19, 0x01065e7e, 0x002ef1e8, 0x02cd25b7, 0x0168188e, 0x001c7206}}}, + {X: Field{[10]uint32{0x0367769a, 0x01634173, 0x03387540, 0x02b142af, 0x036f7976, 0x00e89a06, 0x036c5a24, 0x032002ae, 0x00ca334d, 0x000f664a}}, Y: Field{[10]uint32{0x01d2beb7, 0x03d3a7e5, 0x0115b2e4, 0x02af137c, 0x0062bf01, 0x00282879, 0x0183cdd8, 0x009ed4f8, 0x01dc7661, 0x0033f300}}}, + {X: Field{[10]uint32{0x00040cec, 0x03d0db32, 0x009192e4, 0x0387ce7f, 0x02d858ea, 0x000028c8, 0x037ce312, 0x0392991d, 0x017bc523, 0x00196a3d}}, Y: Field{[10]uint32{0x01192432, 0x01ff7018, 0x01b323f0, 0x03f30815, 0x03c9df69, 0x008affd8, 0x03f7b0ea, 0x00dd16c7, 0x00b99e95, 0x002081a6}}}, + {X: Field{[10]uint32{0x0192fb79, 0x00f99a97, 0x021531ac, 0x00e4929c, 0x0055f4e5, 0x0189c969, 0x013ef5ca, 0x001b0bff, 0x03ccbaa6, 0x00213954}}, Y: Field{[10]uint32{0x00c5f8d2, 0x03f43ce7, 0x01d674dc, 0x01d4640b, 0x014c0b5f, 0x03004887, 0x01f77311, 0x025197f6, 0x03324aaa, 0x000d35ab}}}, + {X: Field{[10]uint32{0x00773783, 0x03059a80, 0x036ac5f8, 0x02d3de68, 0x00dda3d4, 0x03451b6a, 0x011578d5, 0x00489bce, 0x01582885, 0x000ed29d}}, Y: Field{[10]uint32{0x01a59e53, 0x0021306c, 0x007877d0, 0x02f1335f, 0x021a4249, 0x013534d6, 0x00b3cc14, 0x00f30bad, 0x02fc4de8, 0x0038df25}}}, + {X: Field{[10]uint32{0x00cee6b0, 0x01b67bd4, 0x01db8922, 0x01e1920b, 0x02743395, 0x01ff344b, 0x00898193, 0x013a37a9, 0x012c0616, 0x001b6ef4}}, Y: Field{[10]uint32{0x01e02b90, 0x005845ab, 0x02a70333, 0x03182000, 0x020eed3b, 0x0069a2b3, 0x0247c17e, 0x0345514b, 0x0349b3f5, 0x00227923}}}, + {X: Field{[10]uint32{0x03c441f6, 0x03edcaa5, 0x03e02f0b, 0x0275b307, 0x02f1118e, 0x03e12bdc, 0x020b7431, 0x019205d2, 0x00db3b92, 0x002d9060}}, Y: Field{[10]uint32{0x03b25fd2, 0x03c30b13, 0x004d99e1, 0x036fab1c, 0x0033cc19, 0x03256817, 0x03a4f0f8, 0x00205899, 0x019783d0, 0x002ce53e}}}, + {X: Field{[10]uint32{0x016b5c56, 0x003c0e88, 0x02115b26, 0x02fb91ac, 0x0137e96f, 0x02ed9fca, 0x037fc08e, 0x01df1b65, 0x038cf473, 0x00085cfc}}, Y: Field{[10]uint32{0x012e2abf, 0x008becc8, 0x0136f27e, 0x006939e7, 0x023bd1c6, 0x01afb3d5, 0x008c6df0, 0x029a13f6, 0x027803c4, 0x002f680a}}}, + {X: Field{[10]uint32{0x005c5214, 0x03899b7f, 0x0356a222, 0x029aa289, 0x02ea2b89, 0x033cd781, 0x00df0b48, 0x00bc3619, 0x00d3f373, 0x0027767b}}, Y: Field{[10]uint32{0x03e921fe, 0x035c4b85, 0x0106fa70, 0x0069437b, 0x01dcf00b, 0x01f6e52b, 0x019256a5, 0x0209083b, 0x03202ba6, 0x00390ba9}}}, + {X: Field{[10]uint32{0x03af71a9, 0x004873f9, 0x0136b02a, 0x00c98134, 0x029d3982, 0x03dca424, 0x0149526a, 0x02d8bb75, 0x03ed5ceb, 0x001c17e7}}, Y: Field{[10]uint32{0x010d30a8, 0x00b30a5d, 0x01d2c44d, 0x00028580, 0x002b32c1, 0x01e9e18f, 0x0269a4a5, 0x01cbac4b, 0x017daa44, 0x002ecb2c}}}, + {X: Field{[10]uint32{0x00ef4410, 0x02130acb, 0x031a217b, 0x028a3637, 0x033fbcda, 0x03f04978, 0x037fcd8c, 0x01a6f5fe, 0x00d18071, 0x003c6a42}}, Y: Field{[10]uint32{0x00911512, 0x02a91a2e, 0x02cc14e7, 0x03921e04, 0x02d792bb, 0x0214799e, 0x01cfa759, 0x01b15be0, 0x0008804c, 0x0003a1b3}}}, + {X: Field{[10]uint32{0x01355f57, 0x03370938, 0x00d5fd40, 0x00d1491f, 0x005625e4, 0x02148983, 0x012a4756, 0x00f2071d, 0x01793569, 0x0036c317}}, Y: Field{[10]uint32{0x0283daea, 0x030ba371, 0x02629fe8, 0x0354d533, 0x01d0de9b, 0x014e7af9, 0x0321f1e2, 0x034a54dd, 0x02a9fb00, 0x00048317}}}, + {X: Field{[10]uint32{0x02423ec6, 0x03b652f2, 0x00af59a2, 0x01c1ed4f, 0x02e979d4, 0x010476a1, 0x0158f683, 0x01fa486c, 0x01355600, 0x00179356}}, Y: Field{[10]uint32{0x0272d935, 0x01ddcf98, 0x026dcb94, 0x02824a1d, 0x01c309b5, 0x0339abbf, 0x0062fb37, 0x027b4c9e, 0x03001a0e, 0x001c5622}}}, + {X: Field{[10]uint32{0x03ec7f28, 0x00abd013, 0x02bcd487, 0x0019fb3e, 0x00a264d1, 0x00904059, 0x017fd112, 0x0397e23a, 0x02083c46, 0x00069e7b}}, Y: Field{[10]uint32{0x02349111, 0x03de8c8c, 0x02aacc4d, 0x03536501, 0x0254f94b, 0x0229723f, 0x016289f1, 0x01d54c0d, 0x03fc49bf, 0x003e4a36}}}, + {X: Field{[10]uint32{0x00ac5468, 0x028ebcdb, 0x0346e86c, 0x00492af7, 0x011c3a18, 0x00e8290d, 0x000a2d7f, 0x00311b2d, 0x008be3be, 0x0039a4fe}}, Y: Field{[10]uint32{0x01649cc4, 0x002529b7, 0x00efb78f, 0x0135994e, 0x03fb4f35, 0x022bb16b, 0x032db89d, 0x00a8aebb, 0x03bd24ab, 0x00157c2d}}}, + {X: Field{[10]uint32{0x029ca25e, 0x0315468c, 0x03e581bc, 0x015d7435, 0x0043bb61, 0x017a5b8a, 0x03b12d4f, 0x00f1dbdc, 0x00b1f3c7, 0x001b457a}}, Y: Field{[10]uint32{0x017f069d, 0x030d620b, 0x0365db74, 0x02f9b8ed, 0x01173f8c, 0x0067e296, 0x020d05e4, 0x01909cca, 0x02e18438, 0x003c87cf}}}, + {X: Field{[10]uint32{0x03ddb682, 0x02aab78e, 0x02dc48a5, 0x0393fd4d, 0x0220dd98, 0x01964f45, 0x0303f2cf, 0x012bd254, 0x0127b261, 0x00122e3c}}, Y: Field{[10]uint32{0x03546e3f, 0x0395fb0b, 0x02e99c7c, 0x0075a00e, 0x02a50d19, 0x0175e1b5, 0x027e23b5, 0x01f18944, 0x01baec13, 0x0023b46e}}}, + {X: Field{[10]uint32{0x02eb3028, 0x029f03d6, 0x023d4170, 0x02923fdf, 0x008c29fc, 0x028cb828, 0x0319f291, 0x01144251, 0x0231ee1e, 0x000bb0c9}}, Y: Field{[10]uint32{0x017aa945, 0x015e171a, 0x02c91610, 0x03e04faa, 0x02491572, 0x0341f426, 0x010ee359, 0x014db963, 0x019fe21b, 0x003ae187}}}, + {X: Field{[10]uint32{0x03afce3a, 0x02e3282b, 0x017b6776, 0x019ba861, 0x007ab72f, 0x01573251, 0x012c13fb, 0x0353517b, 0x02cb3b35, 0x003de583}}, Y: Field{[10]uint32{0x0010f08a, 0x0366b9e1, 0x00510cd6, 0x01fe3e1f, 0x03d8f7cf, 0x0280bba9, 0x0140334d, 0x01ad029c, 0x00f8d40f, 0x00240917}}}, + {X: Field{[10]uint32{0x02613ef2, 0x011c496e, 0x035af7a2, 0x02e31f72, 0x01139b29, 0x0163cea8, 0x0385780d, 0x03df9bbc, 0x003e4b22, 0x002a5333}}, Y: Field{[10]uint32{0x02845409, 0x03511768, 0x00c45e94, 0x032e33e9, 0x02782471, 0x02f1a99b, 0x01ba357c, 0x03e836a2, 0x00fadd6a, 0x003bdc14}}}, + {X: Field{[10]uint32{0x01485c38, 0x018bd53d, 0x0239956d, 0x03b45c21, 0x028c42b3, 0x0315bc09, 0x03d6f576, 0x03d0c034, 0x03f86d80, 0x0039229f}}, Y: Field{[10]uint32{0x029a6255, 0x03671697, 0x00231a7b, 0x00091ee6, 0x03e429b7, 0x01ffed0a, 0x01e3c65c, 0x01ec2c8a, 0x0229b499, 0x002c5a54}}}, + {X: Field{[10]uint32{0x0322d2ae, 0x027a6edf, 0x00d9eac7, 0x02efd922, 0x02cccb09, 0x00a98cf5, 0x025b422b, 0x0320eb36, 0x008c7d46, 0x0037e652}}, Y: Field{[10]uint32{0x0345fd4b, 0x01dd58bc, 0x038c3e04, 0x01176468, 0x03aaf83a, 0x02f4f1ca, 0x001a8785, 0x03d17114, 0x0280a958, 0x00225240}}}, + {X: Field{[10]uint32{0x0322fd84, 0x03bd06bb, 0x03770553, 0x00f8a6c9, 0x032bb4e4, 0x02e8d23b, 0x024368eb, 0x03e7d1bd, 0x02c04db9, 0x00285431}}, Y: Field{[10]uint32{0x01c5c201, 0x0193ca46, 0x01ccae1f, 0x01fad121, 0x00e7b539, 0x0038fb47, 0x0122ab02, 0x01683b0e, 0x0274e152, 0x001877ea}}}, + {X: Field{[10]uint32{0x03aa0edd, 0x02a9507c, 0x024e1204, 0x03ff615a, 0x00937392, 0x0326128a, 0x03aa167b, 0x031be475, 0x01fa452e, 0x0026df7b}}, Y: Field{[10]uint32{0x03d2c74a, 0x012a113f, 0x03e7910a, 0x002732b6, 0x03b4262c, 0x0326cc6a, 0x020ef6e7, 0x01a37af2, 0x01122f51, 0x0028dfd2}}}, + {X: Field{[10]uint32{0x00e51904, 0x03b4d60a, 0x01a23d38, 0x00f3e482, 0x02ad1aa8, 0x01e69641, 0x00f75c55, 0x03a9c6c8, 0x02516d0c, 0x0031f5de}}, Y: Field{[10]uint32{0x00a44bd6, 0x0393635d, 0x00e7f56d, 0x02232d7b, 0x0108e5a2, 0x026c36ba, 0x030a7a14, 0x00d980de, 0x007d9e1a, 0x000e669f}}}, + {X: Field{[10]uint32{0x02fe73fd, 0x009e52d0, 0x02e8d806, 0x03b2cee1, 0x02fc1d1d, 0x01cf6604, 0x026c2b0f, 0x0396e685, 0x00298e4d, 0x0034c4ea}}, Y: Field{[10]uint32{0x03708fe4, 0x02a20c07, 0x02a16fc9, 0x027182bd, 0x03b8514c, 0x02ef6d36, 0x03062c5d, 0x01b8bcd3, 0x023a7eb2, 0x00194911}}}, + {X: Field{[10]uint32{0x03211e5f, 0x0181ffa5, 0x038b9787, 0x00f1263c, 0x022e6c2a, 0x00f13c63, 0x0069b8e8, 0x031a4c19, 0x023b4d66, 0x0012efcd}}, Y: Field{[10]uint32{0x011c60c3, 0x01ba301f, 0x025629f2, 0x01670378, 0x0382bb0d, 0x00605dd0, 0x03b64061, 0x01cb1631, 0x024b2438, 0x002790b2}}}, + {X: Field{[10]uint32{0x021e9cf2, 0x0114d7e1, 0x0003e3f8, 0x00ddd19d, 0x01d471bd, 0x0199f3c6, 0x027ef1da, 0x033a1b52, 0x00ed23a0, 0x0000ef84}}, Y: Field{[10]uint32{0x0066d885, 0x02c10cd0, 0x00ead0a7, 0x02432e57, 0x00edfd20, 0x026ee7ea, 0x034748a4, 0x005f0194, 0x03780cb3, 0x002ee564}}}, + {X: Field{[10]uint32{0x01ca2076, 0x02736cd7, 0x01d96b16, 0x026032e9, 0x00946da1, 0x034a7bb1, 0x01074ec8, 0x0258f20a, 0x0080d723, 0x003f347e}}, Y: Field{[10]uint32{0x02a87b01, 0x024674ec, 0x013467c0, 0x02b896fb, 0x02d3b105, 0x03e97f21, 0x00ec2755, 0x018b8713, 0x00e3a313, 0x0025226f}}}, + {X: Field{[10]uint32{0x02b317c4, 0x03009c7e, 0x0217cf0e, 0x02a14b34, 0x01f39f42, 0x023a81a0, 0x027114cd, 0x00d98acb, 0x0358993d, 0x0002d7ec}}, Y: Field{[10]uint32{0x03a71b43, 0x02ceeefc, 0x0334a791, 0x0314537d, 0x0380a653, 0x02c12b09, 0x01bfa828, 0x00b2f3c3, 0x02b8ee62, 0x00227623}}}, + {X: Field{[10]uint32{0x03e274e7, 0x00920563, 0x037c9556, 0x01fd8139, 0x0330fc13, 0x00b32acf, 0x000f39bd, 0x0118291d, 0x02d17fca, 0x002a1aee}}, Y: Field{[10]uint32{0x030753fb, 0x02de8a40, 0x01a0bd03, 0x038498fd, 0x031394ed, 0x01258b01, 0x0294742e, 0x026b1e34, 0x0259ba96, 0x00309b70}}}, + {X: Field{[10]uint32{0x0330d29a, 0x02486004, 0x01467887, 0x025309f4, 0x019dd3fc, 0x024d744a, 0x034bc7ba, 0x02f259f8, 0x01f6348c, 0x0003b4c8}}, Y: Field{[10]uint32{0x03f7c3b5, 0x00349468, 0x021351be, 0x00085400, 0x00fc5ac4, 0x03c1ef72, 0x03b44d6c, 0x0177871d, 0x0360832b, 0x002d01e0}}}, + {X: Field{[10]uint32{0x02d17dea, 0x035c6506, 0x0097996e, 0x023dc07f, 0x022c425b, 0x03825312, 0x01e827ed, 0x02e4dbd5, 0x0275e4dd, 0x003205e4}}, Y: Field{[10]uint32{0x002553a7, 0x03fa6776, 0x02622e16, 0x018f14ac, 0x038ce5e9, 0x019921ab, 0x009b0b92, 0x034597ad, 0x005be241, 0x003667c7}}}, + {X: Field{[10]uint32{0x0284985b, 0x03435f77, 0x02512df1, 0x00b87647, 0x010eeaf8, 0x03e37f3f, 0x02743283, 0x02ce0d24, 0x013f23b9, 0x001bc23c}}, Y: Field{[10]uint32{0x00bd602e, 0x00ff8236, 0x03a76a4a, 0x00788b31, 0x010665d6, 0x000dc2b1, 0x0258ed05, 0x010ce9bb, 0x0029f99f, 0x0025adaa}}}, + {X: Field{[10]uint32{0x038f9d5a, 0x031f99e7, 0x015e4b35, 0x01b28461, 0x03e6ab5d, 0x03ab0f97, 0x01f8b609, 0x02753fbe, 0x03e3410f, 0x002510e9}}, Y: Field{[10]uint32{0x03eded57, 0x003e4d8e, 0x01b538fa, 0x03756847, 0x02ac9b2a, 0x001eaf08, 0x03c93e6d, 0x0230fcc6, 0x03b57818, 0x00363141}}}, + {X: Field{[10]uint32{0x033c502b, 0x01c0fd44, 0x013d2e37, 0x0120378a, 0x01d38c88, 0x01c015bb, 0x03afcfa5, 0x00da06b4, 0x00ca3ed5, 0x0010cbaa}}, Y: Field{[10]uint32{0x03edff71, 0x00ce26da, 0x00118faa, 0x0371909c, 0x010965dd, 0x009b1a98, 0x0266a498, 0x00aec023, 0x028b70b5, 0x00278648}}}, + {X: Field{[10]uint32{0x0182403b, 0x0240ff86, 0x032c130f, 0x03ab8adc, 0x005e22ff, 0x00f1ffb6, 0x02584a3d, 0x00bf6316, 0x009a42f8, 0x000745d6}}, Y: Field{[10]uint32{0x00c39ceb, 0x003d549e, 0x00e9454e, 0x017ef978, 0x03511e96, 0x0117c31a, 0x0164ed02, 0x03482099, 0x03b48f18, 0x0027def3}}}, + {X: Field{[10]uint32{0x018e6b2d, 0x00da87f8, 0x0098b554, 0x03fffdf0, 0x021ab8c6, 0x024104b3, 0x02778ea7, 0x0211bd97, 0x01b5cd84, 0x001d0ce6}}, Y: Field{[10]uint32{0x00b784bc, 0x03d26cb6, 0x03145fb1, 0x02739733, 0x01e84ff4, 0x0006dbf4, 0x0166d3fc, 0x006f9399, 0x001a8280, 0x00371b32}}}, + {X: Field{[10]uint32{0x0110b2a7, 0x0268369e, 0x0071fa27, 0x00cb817e, 0x025330d2, 0x02d7e490, 0x023e80e3, 0x0123058b, 0x01583b28, 0x00390de1}}, Y: Field{[10]uint32{0x01624b68, 0x036b3c15, 0x011f080c, 0x006f41db, 0x01d5e242, 0x005e6862, 0x013f99f8, 0x01e3901f, 0x0171aa49, 0x0030e6d0}}}, + {X: Field{[10]uint32{0x0318d63e, 0x0009acd9, 0x02a10664, 0x033bd7d0, 0x038f8a99, 0x00029918, 0x0355ac7d, 0x00e6a3c5, 0x00a31b16, 0x003bbdda}}, Y: Field{[10]uint32{0x0224a991, 0x01211cc7, 0x01ef5ee6, 0x02e22f8a, 0x01878efc, 0x03a5ec19, 0x030043af, 0x039a186b, 0x01f4cbf4, 0x000aa401}}}, + {X: Field{[10]uint32{0x03c91fe9, 0x0032a86f, 0x0129a180, 0x027ecb7a, 0x00fc2afa, 0x01807612, 0x00dce1bd, 0x0184b3d0, 0x02872504, 0x000576d1}}, Y: Field{[10]uint32{0x027eded8, 0x01c43313, 0x03515f17, 0x002e568b, 0x021e7236, 0x0242e0b2, 0x00678a9d, 0x02366941, 0x024e7d50, 0x002a2db9}}}, + {X: Field{[10]uint32{0x014a4191, 0x015eeb43, 0x022a0c77, 0x00fbf1e3, 0x01d2b330, 0x015a87f6, 0x028d2a04, 0x02a12e74, 0x02cf2529, 0x002b517e}}, Y: Field{[10]uint32{0x0254f069, 0x012a234d, 0x0125aa6b, 0x002583e6, 0x01bf8d81, 0x03ddf56b, 0x02f58678, 0x00c0d45b, 0x0171473f, 0x00069e39}}}, + {X: Field{[10]uint32{0x01151824, 0x02526d6e, 0x03d8958c, 0x01b57e92, 0x021c19b6, 0x0224aeb0, 0x0375050a, 0x01ed33ad, 0x03446e02, 0x0010680d}}, Y: Field{[10]uint32{0x01140317, 0x0150df65, 0x00e74bb4, 0x033590d7, 0x0027c53a, 0x00381ea1, 0x021cb2e6, 0x034e3e9c, 0x00ddfa96, 0x003b5f11}}}, + {X: Field{[10]uint32{0x03217ae0, 0x0047c749, 0x00740560, 0x035836b0, 0x015a70d5, 0x003c410f, 0x03645890, 0x031ffcb3, 0x006958f4, 0x0008082e}}, Y: Field{[10]uint32{0x01c4e9e0, 0x02e53df8, 0x02aa0490, 0x0184a754, 0x02b37f59, 0x0093ac71, 0x01946171, 0x03d0c686, 0x01e22757, 0x00044656}}}, + {X: Field{[10]uint32{0x02bd4ba1, 0x00e0ea7a, 0x00180283, 0x0155c400, 0x0299c5f7, 0x021685a7, 0x033bf27d, 0x01d2a543, 0x0146859f, 0x000be66a}}, Y: Field{[10]uint32{0x0389fc53, 0x0153dd37, 0x039fa128, 0x02753a35, 0x0236ecba, 0x03982164, 0x024ed246, 0x03aa891e, 0x0182d3ca, 0x000f9888}}}, + {X: Field{[10]uint32{0x02369baa, 0x03af7467, 0x03a3c177, 0x01d752a0, 0x010e7c56, 0x03889fca, 0x027688c2, 0x014e4005, 0x018957f6, 0x003773ce}}, Y: Field{[10]uint32{0x034b2431, 0x0077004b, 0x01b873da, 0x0233cac4, 0x01c3c342, 0x02437408, 0x01a3ceea, 0x020ce88e, 0x023f3fa6, 0x0029c031}}}, + {X: Field{[10]uint32{0x011ace4f, 0x03441086, 0x0117b73b, 0x02ab02de, 0x0392df1e, 0x024c6716, 0x022fa9e0, 0x008d8067, 0x03b80425, 0x002618e9}}, Y: Field{[10]uint32{0x003b69e6, 0x018d58b8, 0x02b6a3bf, 0x02b93c6c, 0x023a1fa7, 0x00928c3a, 0x0309f8c7, 0x02ac852f, 0x01a9281d, 0x00126926}}}, + {X: Field{[10]uint32{0x01733886, 0x02a3d637, 0x01d2e467, 0x03bcf1b5, 0x0219cb4d, 0x012e3a4b, 0x033734a6, 0x01645cd3, 0x01f9ea2c, 0x001b1519}}, Y: Field{[10]uint32{0x020e733c, 0x03f110c7, 0x03c8d3da, 0x017e8701, 0x03768f65, 0x00c66acf, 0x02a2616a, 0x03cd7456, 0x02bb179d, 0x00015f88}}}, + {X: Field{[10]uint32{0x00f3fcdd, 0x01e7c514, 0x03a530d9, 0x0153f9c0, 0x0025acb6, 0x02c281a4, 0x00ca387f, 0x00efac34, 0x0113360b, 0x002acdd5}}, Y: Field{[10]uint32{0x0041be4a, 0x01170bdb, 0x027c5464, 0x01d940fb, 0x0157f0f7, 0x030de9bb, 0x03842f43, 0x00b7966d, 0x0149309a, 0x000fa704}}}, + {X: Field{[10]uint32{0x002603d2, 0x00481e93, 0x03111482, 0x02a7a450, 0x00ff0878, 0x0016c8b4, 0x03aee379, 0x03bac2c8, 0x03ea4a72, 0x001ab2f8}}, Y: Field{[10]uint32{0x030d32b9, 0x032c6777, 0x025330ae, 0x00f39256, 0x02ac2ca2, 0x03279a01, 0x023dad76, 0x01365a85, 0x00be9f93, 0x0007b3bf}}}, + {X: Field{[10]uint32{0x02955d89, 0x03e573ce, 0x008c3653, 0x00141fc7, 0x03b4ddd1, 0x01d9b894, 0x00ac9f9c, 0x00310979, 0x014458fd, 0x001e5574}}, Y: Field{[10]uint32{0x0250aaca, 0x00d40925, 0x01245847, 0x00ec0349, 0x0340c672, 0x00e880a1, 0x02892255, 0x021fc252, 0x01f73043, 0x0023ea71}}}, + {X: Field{[10]uint32{0x01ace377, 0x0083360d, 0x0213228c, 0x02ff95e0, 0x02d488eb, 0x01ef4f68, 0x02b25a22, 0x010cfdc0, 0x010c0090, 0x002d65cb}}, Y: Field{[10]uint32{0x02b008fa, 0x035932d0, 0x03212cf3, 0x0211702f, 0x00e3e78f, 0x005d2cbf, 0x01ef70ed, 0x00f7949e, 0x00bf7fbc, 0x0008d51c}}}, + {X: Field{[10]uint32{0x00bcf886, 0x02d22f41, 0x038e4d9c, 0x01f91257, 0x02cc500d, 0x00f31e7c, 0x004f3bc5, 0x03e9a288, 0x001033a5, 0x002899aa}}, Y: Field{[10]uint32{0x015949f8, 0x022def7d, 0x011ecb56, 0x00916c2e, 0x03d52b78, 0x011bcf8d, 0x00390e6a, 0x0056dd99, 0x01a1958d, 0x000c6a2c}}}, + {X: Field{[10]uint32{0x00b9cc15, 0x03908751, 0x03123451, 0x00fdf783, 0x01ae7f4f, 0x03a7df08, 0x03bf47e1, 0x006d8d6e, 0x02ec2119, 0x00071904}}, Y: Field{[10]uint32{0x002c685a, 0x0188a131, 0x0169d82a, 0x006c8bfe, 0x016e7fec, 0x000958c2, 0x0173851d, 0x0313cfd6, 0x022c1111, 0x0020cfe2}}}, + {X: Field{[10]uint32{0x020b7fda, 0x018841cf, 0x01f68a74, 0x01f17989, 0x03817267, 0x03b813fc, 0x019ccbef, 0x016d5e70, 0x02ab1757, 0x003b8d4c}}, Y: Field{[10]uint32{0x027e8718, 0x03d1441b, 0x00f53a9a, 0x02d24acb, 0x0304b704, 0x03123b9a, 0x01ff04dc, 0x0261ee0f, 0x00c8b2fd, 0x003c4b84}}}, + {X: Field{[10]uint32{0x021a3838, 0x011367fb, 0x0115e379, 0x012c0259, 0x0152ef9a, 0x01fd6d2f, 0x012765af, 0x01e4dcbb, 0x03be0486, 0x0017b443}}, Y: Field{[10]uint32{0x00080573, 0x03218ced, 0x028af2a8, 0x01ed7ef1, 0x02a4bffd, 0x00977399, 0x00ac6410, 0x00e493b6, 0x01b49fbe, 0x002313ae}}}, + {X: Field{[10]uint32{0x001378d2, 0x00754d74, 0x0152a15a, 0x0165c208, 0x01b8f6b8, 0x01cd0838, 0x03e7345f, 0x0217b5a7, 0x0221f04c, 0x003f8d22}}, Y: Field{[10]uint32{0x001f2b7b, 0x0273f482, 0x019117fa, 0x00f5f67e, 0x03506947, 0x038e3908, 0x02abd103, 0x02afd173, 0x0046c9f5, 0x00356575}}}, + {X: Field{[10]uint32{0x032436e9, 0x0221d17e, 0x0223dbda, 0x02730245, 0x03b57367, 0x016e8e5c, 0x021e1c0b, 0x012e8021, 0x0369b7b6, 0x0001c500}}, Y: Field{[10]uint32{0x03a12b2d, 0x01da9520, 0x010ad1f3, 0x01881cb1, 0x0240dfa3, 0x003199cb, 0x003bc213, 0x02581ca3, 0x0350f979, 0x003c1dc0}}}, + {X: Field{[10]uint32{0x01dad15d, 0x020855e6, 0x01bd40aa, 0x036ea0e0, 0x020a7465, 0x0048c025, 0x02c6b88b, 0x0078eb9f, 0x00e48e98, 0x001b4531}}, Y: Field{[10]uint32{0x03e0f841, 0x016c1439, 0x0299a50e, 0x023ed6fa, 0x01f9c6de, 0x02d62cb5, 0x02635f6d, 0x0344aa93, 0x02aaa5f2, 0x00097934}}}, + {X: Field{[10]uint32{0x024383da, 0x036c2bc6, 0x0228daea, 0x01c416ed, 0x004dffe0, 0x015413a2, 0x020558e5, 0x01f5f8d8, 0x01c6a683, 0x001e4c6e}}, Y: Field{[10]uint32{0x03e80c0b, 0x033fb7be, 0x002ff9d5, 0x0012108b, 0x0196b7a9, 0x03cef4e3, 0x0112128b, 0x00971b77, 0x02733209, 0x00161b2a}}}, + {X: Field{[10]uint32{0x01cec834, 0x03342f79, 0x03d95b0e, 0x01149eaa, 0x0088dca1, 0x005462e2, 0x00e1f32a, 0x00f50d74, 0x016a35b8, 0x000527a7}}, Y: Field{[10]uint32{0x025606f5, 0x01d316b3, 0x02e1fcbc, 0x03300641, 0x00f87b11, 0x03404bed, 0x01d49b38, 0x033197a4, 0x02a0fd84, 0x0011601e}}}, + {X: Field{[10]uint32{0x01297394, 0x026f49c3, 0x03ff7b80, 0x025b0a12, 0x001bf6e6, 0x01e52404, 0x02f2b59d, 0x0146a088, 0x036eb4b3, 0x00195ac9}}, Y: Field{[10]uint32{0x03763291, 0x01cca05e, 0x025d9b64, 0x034feaa3, 0x03905eb6, 0x0038d624, 0x00ebfa9a, 0x010e8a4a, 0x03095f86, 0x0021d1bc}}}, + {X: Field{[10]uint32{0x031eb02e, 0x012d8283, 0x000a6988, 0x00814e62, 0x033656a7, 0x01e14b87, 0x022370ff, 0x01a627b9, 0x01e36808, 0x00183ce6}}, Y: Field{[10]uint32{0x0044ad59, 0x02cadbf5, 0x0267d4f1, 0x03f937bc, 0x039e5976, 0x0082dde7, 0x0251676d, 0x02f85214, 0x005a8347, 0x00157728}}}, + {X: Field{[10]uint32{0x006eaa13, 0x036f9062, 0x00e0d4ca, 0x016a4063, 0x01034a30, 0x013e6f70, 0x006f4175, 0x02907029, 0x03030a67, 0x00136f68}}, Y: Field{[10]uint32{0x03a48fc4, 0x01616e0f, 0x03970c22, 0x025748f5, 0x01909a3b, 0x010cedd1, 0x01f9fe64, 0x00d16359, 0x0086fec3, 0x003818b3}}}, + {X: Field{[10]uint32{0x010363d1, 0x03ca8037, 0x03111d07, 0x0313d256, 0x03f8c8b1, 0x0360671a, 0x03c10c8f, 0x01336569, 0x01ca04d6, 0x00205ab8}}, Y: Field{[10]uint32{0x02526009, 0x03470619, 0x0366b2df, 0x03c83524, 0x03b12187, 0x03a744ee, 0x02a55208, 0x035bf55b, 0x03ffc331, 0x003027da}}}, + {X: Field{[10]uint32{0x0081b52b, 0x00636be0, 0x020a000f, 0x011305b5, 0x01872029, 0x0178a22b, 0x032b8fae, 0x03829f0e, 0x039c983f, 0x001160e7}}, Y: Field{[10]uint32{0x01dd8649, 0x02169a99, 0x004db2a7, 0x01af3684, 0x01aff40c, 0x0020d6be, 0x01f7beb3, 0x013ad020, 0x02074de7, 0x003e4da3}}}, + {X: Field{[10]uint32{0x00223465, 0x016dba35, 0x00d5063c, 0x01f6c8ef, 0x0244b715, 0x0309153c, 0x004c482e, 0x0080ec78, 0x02483a49, 0x00142b92}}, Y: Field{[10]uint32{0x015f3008, 0x02e8df9f, 0x0065836d, 0x00a170d9, 0x010a6190, 0x0160ef69, 0x032031ec, 0x00b87d97, 0x03d7e7bd, 0x00386e33}}}, + {X: Field{[10]uint32{0x016b72d6, 0x010657d8, 0x039dba69, 0x012fb49b, 0x03c5d8bb, 0x0086b39d, 0x02dde15b, 0x01422467, 0x02316039, 0x0037ddec}}, Y: Field{[10]uint32{0x034344a4, 0x03254022, 0x0303717d, 0x0032ccfc, 0x00c99e27, 0x019cd997, 0x00cff822, 0x02fef2e2, 0x01b89ece, 0x002292dd}}}, + {X: Field{[10]uint32{0x0233277d, 0x02c2e3bc, 0x01345437, 0x02358ecb, 0x016d2d23, 0x0009d01d, 0x00419d67, 0x00bc62dd, 0x0219978e, 0x003b1b03}}, Y: Field{[10]uint32{0x0236e553, 0x018fc2c9, 0x02d8a4a3, 0x01a05cf3, 0x0296bd39, 0x016ff931, 0x0171dc13, 0x03133189, 0x039a02df, 0x003e436a}}}, + {X: Field{[10]uint32{0x017b3329, 0x00640458, 0x03e4ba46, 0x0215214a, 0x005af2a8, 0x029c8886, 0x014eacb1, 0x03f39a9b, 0x016f90e7, 0x000a1d10}}, Y: Field{[10]uint32{0x02eb4466, 0x0374997a, 0x0282d448, 0x01256d36, 0x03b8628e, 0x0244ab5f, 0x024c9af7, 0x0359222e, 0x0275f6ce, 0x0007cc8d}}}, + {X: Field{[10]uint32{0x00ff4247, 0x02b3cfdc, 0x01d2be7d, 0x032e25f2, 0x02529de5, 0x00edb74f, 0x0087f3e8, 0x00ea03e3, 0x03ec586d, 0x0021c8d9}}, Y: Field{[10]uint32{0x02a3ac05, 0x01a144a9, 0x02eeceef, 0x032792d8, 0x017dc571, 0x0109f802, 0x00768b5e, 0x0210ede2, 0x00e0fae0, 0x00396ed8}}}, + {X: Field{[10]uint32{0x024713cc, 0x02368f90, 0x01f4891b, 0x02c84efc, 0x004339a0, 0x00312bcd, 0x0030ce94, 0x03f4c2b9, 0x00040baf, 0x003043c8}}, Y: Field{[10]uint32{0x0231c7ee, 0x00dfef61, 0x02e59c35, 0x01e58d0f, 0x03bf6dbf, 0x00fe0bb7, 0x006d456b, 0x026cdb15, 0x0055f0c3, 0x000defa4}}}, + {X: Field{[10]uint32{0x00d847c5, 0x01b7651c, 0x0059da35, 0x02cee4ef, 0x00733b8b, 0x00cd4fa0, 0x01f0f150, 0x00c015af, 0x02e191c8, 0x0005384b}}, Y: Field{[10]uint32{0x03efcfb2, 0x01438ea6, 0x020dab15, 0x00c80634, 0x01d487f0, 0x019b5c91, 0x0332ba7c, 0x005e044a, 0x038ee00c, 0x003a5c1e}}}, + {X: Field{[10]uint32{0x009fdf36, 0x01e08f12, 0x003057b5, 0x02d2ba01, 0x003687ea, 0x02b414f9, 0x00dd89f6, 0x00de774b, 0x021e2583, 0x0036b0ee}}, Y: Field{[10]uint32{0x03e2c041, 0x011d171b, 0x03fa4761, 0x010bf4de, 0x02d13a69, 0x00b47b13, 0x0020ab1c, 0x00546557, 0x024d8821, 0x001178f6}}}, + {X: Field{[10]uint32{0x03800bf4, 0x01373faf, 0x00b09264, 0x02eff74b, 0x00a2507d, 0x000e968b, 0x039fad0b, 0x021abba1, 0x027a05c0, 0x00366ff1}}, Y: Field{[10]uint32{0x02be6730, 0x00518d00, 0x02ca42fc, 0x023ac8f9, 0x02e5bb4e, 0x024d243d, 0x036c8b1e, 0x03d6f454, 0x014b5a39, 0x00380577}}}, + {X: Field{[10]uint32{0x0196c61e, 0x01861cde, 0x00b34007, 0x00704bdb, 0x028a9a98, 0x03659660, 0x00d7e581, 0x03283c5c, 0x00522f04, 0x00379bcd}}, Y: Field{[10]uint32{0x032a0cc7, 0x00153bbd, 0x00e3b826, 0x0053fc09, 0x012fc6d8, 0x00d3857c, 0x039c251f, 0x013ea50e, 0x033b28d7, 0x0007b05b}}}, + {X: Field{[10]uint32{0x00e30eaf, 0x02fe0a28, 0x00d93f54, 0x00e93ea3, 0x02b35c87, 0x00d94a0f, 0x00a15ef2, 0x005eba21, 0x0355338e, 0x0010caac}}, Y: Field{[10]uint32{0x01447807, 0x00f73fe5, 0x02b9e870, 0x0029f61a, 0x01caa9af, 0x00830429, 0x023e0767, 0x0036fc22, 0x02a10a13, 0x003d5819}}}, + {X: Field{[10]uint32{0x037c4d99, 0x0102359f, 0x02afa35a, 0x0036d6fa, 0x008d9699, 0x02550c75, 0x010f546d, 0x009f0e8d, 0x0107cfa1, 0x000f4b8d}}, Y: Field{[10]uint32{0x035f74f2, 0x015564e8, 0x02ac51b2, 0x0020aef4, 0x017f4a05, 0x003e288d, 0x01655cab, 0x030dcc51, 0x005f4711, 0x00369822}}}, + {X: Field{[10]uint32{0x00ba87ef, 0x01b94609, 0x0183f457, 0x03180646, 0x03f781c7, 0x017cedc6, 0x0029d0a5, 0x0352f8df, 0x031cb96d, 0x001fcfd0}}, Y: Field{[10]uint32{0x00b8bfec, 0x032009d8, 0x021c1695, 0x03093a45, 0x02cfdb08, 0x01c5dee5, 0x00259f6f, 0x034930ae, 0x03457649, 0x003d37d0}}}, + {X: Field{[10]uint32{0x03687143, 0x00129fcb, 0x017163d6, 0x0357c4a3, 0x026f7b67, 0x015639ab, 0x036cdd8b, 0x01c00112, 0x0359f2c8, 0x00109c2f}}, Y: Field{[10]uint32{0x01a99315, 0x023aaf53, 0x0174e0d0, 0x0037b494, 0x006c4a18, 0x01689549, 0x025da0a1, 0x03e465a1, 0x00ef2e8f, 0x00000d63}}}, + {X: Field{[10]uint32{0x03603852, 0x0256e31f, 0x02ebd46f, 0x02ac3af8, 0x01b7931c, 0x0147194e, 0x013af50d, 0x03f27104, 0x022b9930, 0x003198dc}}, Y: Field{[10]uint32{0x025ecfab, 0x01c237a4, 0x0313f719, 0x0231e3e3, 0x020b9476, 0x00f292cc, 0x0132a310, 0x008f63ad, 0x03b32cdf, 0x000d10f9}}}, + {X: Field{[10]uint32{0x006c4e14, 0x023c58b2, 0x0214f21f, 0x03ce56b9, 0x010168e8, 0x019b95fe, 0x03d7b65c, 0x03fc0b3a, 0x0064e396, 0x002c0052}}, Y: Field{[10]uint32{0x002eb876, 0x02f92e86, 0x0272cb7d, 0x027a8381, 0x004a80b6, 0x02d4048c, 0x025007da, 0x02537bb9, 0x01d7e2ec, 0x000fdb26}}}, + {X: Field{[10]uint32{0x0284f41a, 0x00310436, 0x03b2e125, 0x03d34919, 0x03c2d735, 0x032e0b90, 0x03329f0c, 0x02768d74, 0x019398fe, 0x00193273}}, Y: Field{[10]uint32{0x024372e9, 0x02544555, 0x0105ec8d, 0x01e3fd42, 0x01c223ef, 0x033b7c12, 0x0206fc6d, 0x0180cf44, 0x00ab71bf, 0x003492d4}}}, + {X: Field{[10]uint32{0x0129b766, 0x03f676f3, 0x02736ab4, 0x03533cc9, 0x00ecccfa, 0x009f6e58, 0x0359706b, 0x0161893d, 0x001d51e0, 0x003ff821}}, Y: Field{[10]uint32{0x01cf2562, 0x001d245e, 0x00a0177c, 0x0244c2cd, 0x03eb5d83, 0x01360193, 0x02c15952, 0x01b0413f, 0x01c9f695, 0x001af47c}}}, + {X: Field{[10]uint32{0x03ca7432, 0x034fe6dd, 0x020fa47f, 0x01873c3c, 0x034b4518, 0x03103479, 0x0138d630, 0x03165eeb, 0x00c0c053, 0x00034774}}, Y: Field{[10]uint32{0x0055976f, 0x0288ef5b, 0x0103280b, 0x02b77a4a, 0x035c9dc5, 0x02aabd9a, 0x03b5628d, 0x0257c0f9, 0x03fdb594, 0x000d2aa5}}}, + {X: Field{[10]uint32{0x028e5779, 0x03b2916b, 0x01d8df99, 0x00106c61, 0x019153f7, 0x03e65bc7, 0x0249cd3a, 0x035fde8f, 0x02e8c76b, 0x0021e90d}}, Y: Field{[10]uint32{0x011006f3, 0x02f9e5fc, 0x02027b6d, 0x03fdaa26, 0x00369ea4, 0x0287f0db, 0x0105d5b2, 0x00e113fe, 0x03f91255, 0x00234b3c}}}, + {X: Field{[10]uint32{0x0327c379, 0x03a7b2f7, 0x016e4b59, 0x0037354e, 0x00180107, 0x023f58bb, 0x00f707da, 0x031100e1, 0x00a74899, 0x00295140}}, Y: Field{[10]uint32{0x03cb2668, 0x00d15c8c, 0x02cae2f3, 0x00fc4768, 0x005315df, 0x00b249fe, 0x035b5e57, 0x02ec1817, 0x004a6d26, 0x00388591}}}, + {X: Field{[10]uint32{0x03d8187b, 0x02f54695, 0x00a9c88f, 0x01c821a4, 0x0328417b, 0x012358c8, 0x01aea85b, 0x0067d3e9, 0x00f799a3, 0x0024dfa9}}, Y: Field{[10]uint32{0x03dc9d9d, 0x03215533, 0x027bbb24, 0x036a9f4f, 0x00fce77b, 0x00510e2b, 0x01ce4afd, 0x02bb22df, 0x03fc9eb4, 0x000a4c69}}}, + {X: Field{[10]uint32{0x03fa6f36, 0x02c1766d, 0x03f07a1e, 0x018e3525, 0x02c70608, 0x02c13fc9, 0x00dbc96c, 0x012a8c81, 0x0076bb91, 0x00141e4f}}, Y: Field{[10]uint32{0x00bdab21, 0x00ff59c1, 0x03fbdeb1, 0x000daec7, 0x03d963b6, 0x0077a7bc, 0x00940df4, 0x001d8ada, 0x0078b5e3, 0x002beabf}}}, + {X: Field{[10]uint32{0x02d8bb5a, 0x025d9bc1, 0x01bf13a2, 0x02098755, 0x01f8da52, 0x02ff86b5, 0x011c5709, 0x03959373, 0x0230fada, 0x0022d801}}, Y: Field{[10]uint32{0x032916c0, 0x0108481a, 0x01f4dc11, 0x026e7080, 0x01788538, 0x0164dd30, 0x005a7c38, 0x010e6bb1, 0x024a3bd0, 0x003efc6d}}}, + {X: Field{[10]uint32{0x038c8458, 0x03cf40b9, 0x027bd635, 0x010c8ac5, 0x021fc616, 0x03ff062e, 0x03c96500, 0x0057b68d, 0x03dde32a, 0x00053a22}}, Y: Field{[10]uint32{0x036f02c9, 0x007bfa65, 0x009d735b, 0x004dd809, 0x035cc2cd, 0x01d6bf82, 0x02355be4, 0x003ea97e, 0x02c3dc24, 0x00020b07}}}, + {X: Field{[10]uint32{0x011c6c06, 0x00bf3d26, 0x00a30a91, 0x024bbf1c, 0x01975a3d, 0x031e2c72, 0x013dc028, 0x0211cb51, 0x00a324b6, 0x00308079}}, Y: Field{[10]uint32{0x00e2dc08, 0x01a7a73c, 0x00cee624, 0x02334e37, 0x02a82f5f, 0x031e1a84, 0x03f3e503, 0x039b423a, 0x015441d6, 0x000098ea}}}, + {X: Field{[10]uint32{0x019db4fb, 0x03443b82, 0x035a70c5, 0x00b9846c, 0x01409418, 0x0060a337, 0x0061b1e1, 0x022cfdc6, 0x025d319a, 0x001025d9}}, Y: Field{[10]uint32{0x027a506a, 0x02dc3540, 0x027a85dc, 0x0255415c, 0x03322a6b, 0x01bffb80, 0x02cd1ef5, 0x00ac7d5d, 0x00ebb1aa, 0x0032835f}}}, + {X: Field{[10]uint32{0x0027fa92, 0x03aad26d, 0x037a445d, 0x007cde94, 0x01371334, 0x02f814b6, 0x02021a04, 0x00a4fb74, 0x007aeff9, 0x0005cf4a}}, Y: Field{[10]uint32{0x02432548, 0x02691b05, 0x00e541fb, 0x00b34fe7, 0x0172e530, 0x015c9519, 0x03c37b58, 0x00621b09, 0x0204f03a, 0x002589b8}}}, + {X: Field{[10]uint32{0x014d4256, 0x0086911a, 0x039e78f1, 0x031a3c7c, 0x01227fb8, 0x0098a6fb, 0x014b03c9, 0x00453cc3, 0x034d001b, 0x003248f1}}, Y: Field{[10]uint32{0x035b3d29, 0x004d1016, 0x002731f4, 0x000f62b5, 0x00c9f918, 0x03c089e2, 0x00d1e08e, 0x004e0842, 0x026bdd5e, 0x00163b6f}}}, + {X: Field{[10]uint32{0x00b92d46, 0x0312adc3, 0x01a57c88, 0x02f9b2e4, 0x0393e5a8, 0x025b3cc7, 0x03104c51, 0x0170b4f7, 0x0106b1f2, 0x0024be9e}}, Y: Field{[10]uint32{0x0087f307, 0x0185d472, 0x0024079a, 0x017b3962, 0x00ae99a7, 0x02f34367, 0x0374db62, 0x007f07a3, 0x02bd7934, 0x00284858}}}, + {X: Field{[10]uint32{0x00639140, 0x02a8f102, 0x0294c691, 0x024412ba, 0x00976a9c, 0x034c3577, 0x008e17ee, 0x01e30aa7, 0x01f6f51f, 0x000dd1df}}, Y: Field{[10]uint32{0x00089872, 0x0357f0aa, 0x037305c2, 0x019bd419, 0x0325c3da, 0x0142c114, 0x006e15de, 0x0195b193, 0x02ed1955, 0x001a9a89}}}, + {X: Field{[10]uint32{0x010521bf, 0x03682637, 0x0359667a, 0x0090db17, 0x00be9bc7, 0x02fc03ec, 0x034e78ca, 0x03ce37e0, 0x02591195, 0x002d6cbb}}, Y: Field{[10]uint32{0x01ddd5e4, 0x01c1b885, 0x03e44314, 0x02c03f63, 0x00cc8bae, 0x0146afa4, 0x01d276d9, 0x00c0211b, 0x03859523, 0x00043cdb}}}, + {X: Field{[10]uint32{0x02a137bb, 0x0116c0f4, 0x03630948, 0x00d5dbb2, 0x02560393, 0x034c1fbc, 0x02415e90, 0x006ff8da, 0x01b8443f, 0x0002c174}}, Y: Field{[10]uint32{0x01066cbc, 0x01fc189f, 0x02f6465f, 0x01200f87, 0x0054098f, 0x03c358fe, 0x002a4156, 0x002cb0c4, 0x024bddc9, 0x00267fb3}}}, + {X: Field{[10]uint32{0x01d918fd, 0x01aba281, 0x03179de7, 0x0219b342, 0x03d69dcd, 0x025496d6, 0x03d703ae, 0x02cef73b, 0x01bd4778, 0x003975c4}}, Y: Field{[10]uint32{0x01b64248, 0x0070d71b, 0x01327542, 0x0092bce2, 0x009685d5, 0x03fbd5a4, 0x0088e218, 0x016ca683, 0x00ae5aa0, 0x0022bc05}}}, + {X: Field{[10]uint32{0x02fa4f30, 0x007de1a1, 0x03eb9f4f, 0x00471092, 0x001e217d, 0x0344de66, 0x031c6fc4, 0x0120beff, 0x02b8377a, 0x001dc0f2}}, Y: Field{[10]uint32{0x0084e8b3, 0x000d5c7a, 0x03f0a8e9, 0x03b5082b, 0x008dd329, 0x015a324b, 0x02247fd5, 0x02e36f1f, 0x01d13c80, 0x000cc8fb}}}, + {X: Field{[10]uint32{0x014f3cc8, 0x017d8985, 0x03085540, 0x00b3052c, 0x032c87da, 0x00a910d5, 0x02cf7225, 0x02d220d9, 0x0329c18b, 0x003e0d2b}}, Y: Field{[10]uint32{0x015ab248, 0x0007fb6f, 0x015c2820, 0x0311c5d8, 0x026bd8f7, 0x03f56f31, 0x027dc094, 0x01068a78, 0x02c0ca54, 0x000ba282}}}, + {X: Field{[10]uint32{0x03bbaee0, 0x01d0cd92, 0x03a794c7, 0x01f40740, 0x0213bbcd, 0x007614ab, 0x038ee845, 0x00f18076, 0x013d13f3, 0x001e0ec2}}, Y: Field{[10]uint32{0x00ae5b4b, 0x0326e09d, 0x001ab66e, 0x031c105c, 0x036b5fb1, 0x03b0b3be, 0x00dbfb20, 0x01aaffe8, 0x0301cfde, 0x000eaa42}}}, + {X: Field{[10]uint32{0x001c3391, 0x00b69678, 0x022666f9, 0x02087062, 0x033ae42e, 0x023bcb1d, 0x00a243b4, 0x002e6405, 0x0035a777, 0x002f8f31}}, Y: Field{[10]uint32{0x00e4a701, 0x02a49d97, 0x01c51e6a, 0x00149775, 0x00a560f7, 0x0187af16, 0x01fc64de, 0x02316056, 0x01360911, 0x003c34ef}}}, + {X: Field{[10]uint32{0x003b606d, 0x0024a15e, 0x02a08fc9, 0x001a115d, 0x0197f89e, 0x03fb86b8, 0x03624545, 0x0003bbf8, 0x03d7adac, 0x000fa602}}, Y: Field{[10]uint32{0x01c5c228, 0x00ccffba, 0x0088a34d, 0x00c14ff5, 0x0367455e, 0x03824451, 0x00734347, 0x0251b1d1, 0x0241204c, 0x003193c3}}}, + {X: Field{[10]uint32{0x0182b442, 0x02f3ecb5, 0x027c335b, 0x01517757, 0x0291d7b1, 0x025e435c, 0x0159bf12, 0x0079a8d2, 0x0140aa62, 0x0029ac10}}, Y: Field{[10]uint32{0x03cce830, 0x00705a6a, 0x0137f804, 0x0363b90b, 0x03a997f8, 0x010abdb9, 0x021d1515, 0x01765d79, 0x01e29cc0, 0x00272cb2}}}, + {X: Field{[10]uint32{0x03fa721b, 0x02038a91, 0x002e51f2, 0x00b4888e, 0x0229ba43, 0x00a6cb0e, 0x009a6a1b, 0x032e3e84, 0x003fc133, 0x001fa9ea}}, Y: Field{[10]uint32{0x0299d7e8, 0x01f763a9, 0x031b45bb, 0x01d78e15, 0x026aabab, 0x03450c29, 0x01c5562a, 0x01dcc60c, 0x00e88a1f, 0x0032f8e1}}}, + {X: Field{[10]uint32{0x010fa042, 0x00ab2982, 0x026c8d84, 0x03b851aa, 0x008189f9, 0x0052e9b5, 0x002b5fca, 0x027af8be, 0x007ef0fc, 0x0021497a}}, Y: Field{[10]uint32{0x0332c86f, 0x01c39d5a, 0x022a686c, 0x0391f7f8, 0x00192873, 0x028d295c, 0x02a393f2, 0x028f3c60, 0x0278f311, 0x00373c1a}}}, + {X: Field{[10]uint32{0x03d56dce, 0x029ed06e, 0x00fc0952, 0x03cdb341, 0x0316daff, 0x0197fa59, 0x0129c337, 0x0034327b, 0x037dfa05, 0x001d5569}}, Y: Field{[10]uint32{0x03152177, 0x035bc7c5, 0x019cfd0b, 0x024a0c1a, 0x0118dc03, 0x002bcc44, 0x03d0a3cd, 0x03707f62, 0x00a7bdc3, 0x00261530}}}, + {X: Field{[10]uint32{0x02ac296b, 0x03b85f66, 0x02f710be, 0x02eefb98, 0x00972bb3, 0x00cf8031, 0x026f0261, 0x036b0453, 0x02a07a0a, 0x0027b450}}, Y: Field{[10]uint32{0x037a9d08, 0x0142880a, 0x03f6a391, 0x02144709, 0x009f4dca, 0x01a66bd4, 0x00d4006f, 0x038ee349, 0x02416c80, 0x00307aba}}}, + {X: Field{[10]uint32{0x03c56b79, 0x00ec6a37, 0x029d5fb1, 0x0310b805, 0x00c9d761, 0x00463f60, 0x02aa67c8, 0x02333424, 0x00b3784d, 0x0028ff4b}}, Y: Field{[10]uint32{0x007ea755, 0x02ff56fe, 0x01f6d659, 0x03c9e827, 0x02b0d13d, 0x03243562, 0x00fcdd48, 0x0157cb54, 0x034155db, 0x001d7366}}}, + {X: Field{[10]uint32{0x005ad251, 0x014880d8, 0x0142fc99, 0x038a2edb, 0x01554338, 0x02703884, 0x01ad598b, 0x01fba1e6, 0x0205217e, 0x000aad2f}}, Y: Field{[10]uint32{0x0076d853, 0x03d78c55, 0x01dc7bd8, 0x0320f231, 0x03b788af, 0x00f8791e, 0x008c8eb8, 0x01b529ff, 0x0258da06, 0x000b0a86}}}, + {X: Field{[10]uint32{0x0248c383, 0x02959ee1, 0x033592ce, 0x002767e3, 0x0308c95d, 0x019bb33a, 0x02268af5, 0x006ababd, 0x0088af8c, 0x0012bf0a}}, Y: Field{[10]uint32{0x004f5eed, 0x0164cdaa, 0x0005458b, 0x012f8778, 0x03cf3f28, 0x03a671fa, 0x01025797, 0x03a4ba62, 0x03825e69, 0x002c789a}}}, + {X: Field{[10]uint32{0x018e3d4a, 0x00086d4b, 0x0188b548, 0x03236bf6, 0x02f63f5f, 0x02b070ac, 0x0038600a, 0x0274b920, 0x03aa9231, 0x00376003}}, Y: Field{[10]uint32{0x0039ed7d, 0x006a5dc4, 0x0260ce8e, 0x024853fb, 0x028fdbc1, 0x006206f1, 0x02522ac9, 0x01a35d83, 0x00926e04, 0x00167fa0}}}, + {X: Field{[10]uint32{0x02378c91, 0x029d3cf1, 0x017e2af5, 0x0209b7e7, 0x0007bb51, 0x02bec1fe, 0x039bc886, 0x0297e226, 0x03d1daa3, 0x00212abc}}, Y: Field{[10]uint32{0x0035afbb, 0x030a920e, 0x030e8011, 0x021add13, 0x03a04fd5, 0x0333825a, 0x0331218e, 0x0375be98, 0x02b845ea, 0x003d0592}}}, + {X: Field{[10]uint32{0x03c40b2b, 0x02b4ea09, 0x02fcc8ad, 0x0202e233, 0x00d2ffc1, 0x037feda4, 0x02823a3a, 0x0276e2a4, 0x02c39e2e, 0x002ddc3c}}, Y: Field{[10]uint32{0x000d53e6, 0x01667a37, 0x0122e79f, 0x025f29b3, 0x037e319c, 0x01ba9593, 0x01b90a91, 0x01260974, 0x02370989, 0x0003df1b}}}, + {X: Field{[10]uint32{0x02bb2b29, 0x00879fae, 0x0336236a, 0x021c924f, 0x017cb1db, 0x02c41f32, 0x0145c5fb, 0x039559c0, 0x00a8a0d7, 0x00298182}}, Y: Field{[10]uint32{0x0354de5f, 0x009715de, 0x00e1906f, 0x007ed603, 0x01a289c9, 0x03528e06, 0x0006f906, 0x01152259, 0x027c4e41, 0x000d08d4}}}, + {X: Field{[10]uint32{0x03414597, 0x02d926d4, 0x032d921e, 0x03dff2af, 0x0320f6b0, 0x0324469c, 0x02b4e5fc, 0x00e4e979, 0x00f97b7f, 0x00203d1c}}, Y: Field{[10]uint32{0x03d9adc3, 0x033a7c4a, 0x03e4afa1, 0x01392d6d, 0x03770fa1, 0x004f0fce, 0x028faea0, 0x02f8304c, 0x02f96e1b, 0x0015f63c}}}, + {X: Field{[10]uint32{0x015abb6f, 0x032ccea6, 0x017fe261, 0x036c7c0e, 0x0072e4a3, 0x01929ed6, 0x03f0096c, 0x012330ff, 0x03f21f52, 0x00138446}}, Y: Field{[10]uint32{0x02eb2b9f, 0x02b2eda5, 0x02b0f6d5, 0x0050c7ea, 0x00c03af6, 0x0182f64c, 0x01829c1d, 0x00cefd7f, 0x01721027, 0x0009273c}}}, + {X: Field{[10]uint32{0x022844c9, 0x005b1a31, 0x034f0184, 0x0037ce05, 0x00960cb7, 0x0083a17b, 0x0254660a, 0x00763040, 0x00b547fa, 0x001f6303}}, Y: Field{[10]uint32{0x0335a271, 0x00015c57, 0x00743404, 0x02b87daf, 0x0372b0f1, 0x00d633f4, 0x017335bf, 0x0135e685, 0x023c17ec, 0x000b5e6e}}}, + {X: Field{[10]uint32{0x030a0034, 0x00aabe59, 0x013aaf61, 0x02e26d65, 0x0014b132, 0x016a7cbc, 0x023d48fa, 0x01be95fc, 0x00bd9589, 0x002f0353}}, Y: Field{[10]uint32{0x03a0639d, 0x0283d20b, 0x01412480, 0x00fca3a9, 0x0383d756, 0x015dcef2, 0x02410915, 0x019605e9, 0x02707b31, 0x003d7419}}}, + {X: Field{[10]uint32{0x02d37a40, 0x039c3ead, 0x006a42df, 0x029a9f99, 0x015cceb0, 0x024c8785, 0x02ddbe1c, 0x03445657, 0x02aead08, 0x002c5528}}, Y: Field{[10]uint32{0x0216592a, 0x01794fcc, 0x00756c8b, 0x0234278f, 0x0217120d, 0x0257225b, 0x01e586f6, 0x0344af40, 0x0221674d, 0x0026aeb7}}}, + {X: Field{[10]uint32{0x0372e1e4, 0x01729615, 0x03325531, 0x0159f91d, 0x02314be7, 0x0107f8b9, 0x013bc318, 0x001bc9c1, 0x0034a6ce, 0x003bd80f}}, Y: Field{[10]uint32{0x009ad65d, 0x02b965f1, 0x00f5164a, 0x023cef42, 0x0115fced, 0x0206688c, 0x03a7e57d, 0x02c2e648, 0x022896f3, 0x003e7aef}}}, + {X: Field{[10]uint32{0x02aa9376, 0x0388ffa0, 0x016e2c04, 0x03686b12, 0x01014f7b, 0x02b70010, 0x01a05d91, 0x007aeeb5, 0x036c2d90, 0x00298045}}, Y: Field{[10]uint32{0x02e88ab8, 0x0228c0c6, 0x01e68f8c, 0x03e74fab, 0x03d59abc, 0x03a450dd, 0x032fb849, 0x00d924dd, 0x01b7ce0c, 0x003de077}}}, + {X: Field{[10]uint32{0x0031e6a7, 0x00c54e57, 0x007eb273, 0x03bcea40, 0x03b1c7f0, 0x0326a409, 0x03968b9b, 0x00413bea, 0x0147b6b3, 0x002af105}}, Y: Field{[10]uint32{0x017e0ec9, 0x02e28df6, 0x00dce879, 0x034d498a, 0x03594c5b, 0x035e0e66, 0x00a1821d, 0x0075bef6, 0x00a228f2, 0x00334a16}}}, + {X: Field{[10]uint32{0x007f5a81, 0x038e85f6, 0x008a92f2, 0x029b4c6d, 0x02941d1d, 0x009b904e, 0x024c4300, 0x031c86cb, 0x010500c9, 0x0024a240}}, Y: Field{[10]uint32{0x0260a5da, 0x025fca36, 0x03e2bb30, 0x02669f2f, 0x0015c223, 0x004ed1f1, 0x0032e17c, 0x03185c79, 0x007b1bdc, 0x003072b6}}}, + {X: Field{[10]uint32{0x037ca563, 0x01129f70, 0x00228ad1, 0x0201af59, 0x00500a7a, 0x0251da43, 0x02468319, 0x00d7291a, 0x02a69f4b, 0x00394837}}, Y: Field{[10]uint32{0x022a82de, 0x02c34f22, 0x03356638, 0x002b6d9c, 0x01e2330b, 0x02b538b6, 0x0355dda6, 0x023efa40, 0x0366ac3f, 0x001b0035}}}, + {X: Field{[10]uint32{0x017fadc4, 0x00b5c071, 0x03fb3750, 0x005463c3, 0x02ac2e93, 0x035bbc97, 0x03d18a79, 0x03c70695, 0x0223e2b3, 0x00300cde}}, Y: Field{[10]uint32{0x00808b65, 0x00851bd4, 0x021eccdd, 0x00e3db81, 0x017ac7e9, 0x001e95c3, 0x029c3d5b, 0x037cd51c, 0x0073be22, 0x003f3a96}}}, + {X: Field{[10]uint32{0x0181ac04, 0x0049e6ca, 0x0193cfa5, 0x02583d4d, 0x001b796a, 0x00b47589, 0x01fb6a76, 0x00b01dad, 0x02bb6a8e, 0x0009db18}}, Y: Field{[10]uint32{0x021afc1a, 0x00ba85db, 0x0292b73e, 0x01e0223d, 0x00773c45, 0x01a588db, 0x01284d7d, 0x000748fe, 0x025abb6b, 0x001714e9}}}, + {X: Field{[10]uint32{0x01663a5f, 0x00776fa3, 0x01ed4fad, 0x01bd9ea7, 0x00c4a2de, 0x00f23b79, 0x037ccdd4, 0x00770ae0, 0x0287e505, 0x00181387}}, Y: Field{[10]uint32{0x03429bee, 0x001ac9e2, 0x0034902d, 0x01ce670d, 0x02ace4c4, 0x01113618, 0x014d6759, 0x0065ce4f, 0x023ce351, 0x003dc3f8}}}, + {X: Field{[10]uint32{0x0041f6fa, 0x038e21d7, 0x00eec3b6, 0x02bbdf93, 0x024aba16, 0x03a40e6e, 0x00b05be5, 0x02441b56, 0x011f470d, 0x003cbf05}}, Y: Field{[10]uint32{0x01e98de0, 0x02a485b8, 0x037b85d2, 0x01ce705a, 0x00d41887, 0x001da418, 0x027f2d6e, 0x01718f63, 0x02c7f1aa, 0x003d26f4}}}, + {X: Field{[10]uint32{0x000ac560, 0x0240b84d, 0x00315eb0, 0x025359ac, 0x007ee0b2, 0x0391babe, 0x001d9cd7, 0x00d3bcee, 0x03460e9f, 0x002380c4}}, Y: Field{[10]uint32{0x00394296, 0x00517e4b, 0x00dca450, 0x023003b0, 0x02006b02, 0x03b81413, 0x027441c0, 0x00787944, 0x00bda5e2, 0x003fc032}}}, + {X: Field{[10]uint32{0x01a9970b, 0x027d03f9, 0x01a0a96b, 0x02cea174, 0x03d4e26e, 0x02ca553a, 0x021cbe16, 0x01ea3c9e, 0x031ad75b, 0x002a1a03}}, Y: Field{[10]uint32{0x02070c01, 0x0065cef9, 0x024c6950, 0x02fb10a5, 0x02757401, 0x00fd4a25, 0x03281f2a, 0x036b18e5, 0x0341a55b, 0x001831af}}}, + {X: Field{[10]uint32{0x004f4658, 0x039b1bd4, 0x03066128, 0x00035372, 0x0009ca8c, 0x002171e5, 0x03407c05, 0x00ba8780, 0x01e7f4d8, 0x00135a28}}, Y: Field{[10]uint32{0x03d1ce76, 0x009979e8, 0x02af4d36, 0x0028e99c, 0x0126a955, 0x030db75b, 0x0295d2d2, 0x00da44aa, 0x0211e5dd, 0x00217177}}}, + {X: Field{[10]uint32{0x02c2a7a9, 0x02882bb9, 0x024835c6, 0x0306b9e2, 0x01758c0b, 0x0340bace, 0x003cdc1b, 0x021925a6, 0x001c2a6d, 0x000dc23d}}, Y: Field{[10]uint32{0x03ec4152, 0x014febea, 0x039e7f45, 0x01171c2b, 0x023c2b71, 0x02aac64f, 0x01ae0f87, 0x03d77572, 0x019e79b7, 0x000c42de}}}, + {X: Field{[10]uint32{0x0115f059, 0x038de028, 0x01a92f6c, 0x0334eaec, 0x022d1a18, 0x00fd6dcc, 0x03961814, 0x02317fc6, 0x01674502, 0x0023220e}}, Y: Field{[10]uint32{0x020725d8, 0x0229f9d8, 0x00e10b00, 0x01097237, 0x0040128e, 0x019b761f, 0x03441800, 0x01212830, 0x02d4e4ae, 0x0009158e}}}, + {X: Field{[10]uint32{0x018f8fb0, 0x0387fd35, 0x0305d0a0, 0x03098d08, 0x03652e83, 0x0129c98e, 0x010fd1a9, 0x01eb4ef7, 0x036a7b37, 0x00311179}}, Y: Field{[10]uint32{0x03acc89d, 0x033a9872, 0x01b8cc94, 0x039c8c19, 0x02f60ae2, 0x02ab9f71, 0x03bd3c13, 0x036d84eb, 0x001adc8d, 0x0012fd69}}}, + {X: Field{[10]uint32{0x02419f16, 0x03d976a3, 0x02e8deb2, 0x017bb6ab, 0x0236949d, 0x0292e7f5, 0x019f1d4d, 0x00d7f983, 0x013ac8a6, 0x0012b658}}, Y: Field{[10]uint32{0x00b0d7c4, 0x02d2545a, 0x0331642a, 0x01ded2c1, 0x01387458, 0x03c6a06e, 0x0131c83e, 0x0283eceb, 0x03068f67, 0x0016a6d6}}}, + {X: Field{[10]uint32{0x0360c943, 0x0074a7f5, 0x00b0c20d, 0x02f163a4, 0x022e397f, 0x0122a998, 0x0349d776, 0x03f9b26a, 0x02e1958b, 0x002facfa}}, Y: Field{[10]uint32{0x0382c9b8, 0x03bfe200, 0x02678dba, 0x01edaa08, 0x03ec76f2, 0x02a9a36b, 0x01dc6fb5, 0x019eac89, 0x02bef43a, 0x00035691}}}, + {X: Field{[10]uint32{0x0134f397, 0x026867f4, 0x018ab9df, 0x0050f900, 0x034623fc, 0x035281da, 0x03f1daea, 0x0086cef8, 0x02b0bc0e, 0x002aaa6a}}, Y: Field{[10]uint32{0x0342e40b, 0x01c0ee89, 0x0390ed3c, 0x03e2ead9, 0x02d3f094, 0x03e8b6b4, 0x000347e8, 0x00b1969b, 0x03fe1964, 0x000271f5}}}, + {X: Field{[10]uint32{0x0199dc52, 0x035a956b, 0x01356604, 0x01867f57, 0x00d40116, 0x0073e749, 0x017ae86f, 0x03d118bf, 0x028999d6, 0x00154f07}}, Y: Field{[10]uint32{0x0150cebc, 0x002f5bfd, 0x004ed646, 0x0250de4d, 0x013f6fe4, 0x01f17c37, 0x02ba776f, 0x02b169b4, 0x013b8410, 0x0009ad03}}}, + {X: Field{[10]uint32{0x02a1abc8, 0x03afe096, 0x0128ab47, 0x0025567b, 0x00c3d565, 0x01c97581, 0x00dae9c4, 0x023f10e6, 0x01ea3637, 0x00216621}}, Y: Field{[10]uint32{0x000687f5, 0x00c7f3fc, 0x030669e5, 0x02a8f102, 0x020e6e84, 0x02cb458d, 0x02fd9305, 0x02e58eec, 0x02f9fc74, 0x003eb96b}}}, + {X: Field{[10]uint32{0x00368f93, 0x01ef7bbc, 0x0254b0bb, 0x00ca9c31, 0x0189e510, 0x00ee08d1, 0x00bf7c16, 0x01752155, 0x0118679c, 0x0017ec28}}, Y: Field{[10]uint32{0x03c2a2d0, 0x03c6099a, 0x00c70a4c, 0x02b4e765, 0x005b9966, 0x02e5761a, 0x0302111e, 0x005b4efe, 0x01f04a68, 0x0003a355}}}, + {X: Field{[10]uint32{0x00f91dfa, 0x02fa0be5, 0x00302194, 0x0175df39, 0x02bbed44, 0x039c376b, 0x03d737c1, 0x03854f26, 0x034786f3, 0x00029090}}, Y: Field{[10]uint32{0x03beed46, 0x00595239, 0x02496971, 0x02963b04, 0x01a54239, 0x0096da7f, 0x0012f4df, 0x03f6a704, 0x02d6abd9, 0x0009f472}}}, + {X: Field{[10]uint32{0x00c821e7, 0x006e4868, 0x003eef57, 0x0115cac2, 0x00394659, 0x01ca4c43, 0x028213cc, 0x0307ce82, 0x0108063f, 0x0017401d}}, Y: Field{[10]uint32{0x02b2df3a, 0x00744aff, 0x007f939f, 0x0205ac10, 0x02d99bfa, 0x0048e121, 0x00c26056, 0x01681ecb, 0x03c45d05, 0x00394e3e}}}, + {X: Field{[10]uint32{0x002e3db9, 0x00bd7a0a, 0x02a525f8, 0x02a9c737, 0x01e80393, 0x012aadfe, 0x00605a0e, 0x000a1a4d, 0x01b897b1, 0x0028fac9}}, Y: Field{[10]uint32{0x01e7f77d, 0x00f60fdc, 0x00c6f030, 0x022f9a24, 0x036beec5, 0x00a259f1, 0x036baaf1, 0x03117908, 0x00c21430, 0x0038acd5}}}, + {X: Field{[10]uint32{0x0097981b, 0x00b8273a, 0x01f0fff7, 0x01453a8d, 0x021e309e, 0x0043f205, 0x033f51cd, 0x00c80a5b, 0x02208a13, 0x001cfd8c}}, Y: Field{[10]uint32{0x02420179, 0x03b41cc2, 0x01dc4015, 0x01ea286d, 0x02309525, 0x00d26a4b, 0x01f7ded0, 0x03ccbb5b, 0x0159cc78, 0x0010d04a}}}, + {X: Field{[10]uint32{0x00da41af, 0x03b139d2, 0x01bb4ccf, 0x00b7c6ee, 0x00776051, 0x01811992, 0x00d9628f, 0x02d7ce3c, 0x01d1c21b, 0x0017c209}}, Y: Field{[10]uint32{0x025c0cab, 0x0108e7ff, 0x02323b37, 0x02e30925, 0x005becd4, 0x01964a09, 0x031abd5b, 0x03784a13, 0x020e1d95, 0x0037aeb1}}}, + {X: Field{[10]uint32{0x03d84294, 0x00967fbd, 0x0276da10, 0x03ff19a9, 0x02efc26d, 0x03448a53, 0x023f624c, 0x03a7cbeb, 0x02f2b4a8, 0x003310a9}}, Y: Field{[10]uint32{0x03230519, 0x0383850e, 0x016901ba, 0x0385a804, 0x03118a7a, 0x02d7ec5f, 0x03f2adb2, 0x02f417c4, 0x0200f92c, 0x00246c99}}}, + {X: Field{[10]uint32{0x03635a17, 0x0000bb1b, 0x022618f0, 0x035af44d, 0x034de0c5, 0x03bef347, 0x01aad7a8, 0x0384fea0, 0x00e76eeb, 0x001f55b8}}, Y: Field{[10]uint32{0x03fa1ad8, 0x004eb090, 0x01754f7d, 0x03b156a4, 0x00051122, 0x03a9779f, 0x01ca813e, 0x038fb91b, 0x0307fe55, 0x00255189}}}, + {X: Field{[10]uint32{0x03a5be61, 0x015301bd, 0x00dc6add, 0x03f0f1d9, 0x02fba8ca, 0x02b6d5ad, 0x03605b3a, 0x017b12b2, 0x021b4fe8, 0x001e5cad}}, Y: Field{[10]uint32{0x02b8c7d8, 0x0249b24c, 0x037dd9f4, 0x03397516, 0x024764c4, 0x011aa3a4, 0x00f5141c, 0x03e9ba9f, 0x02702642, 0x002e8619}}}, + {X: Field{[10]uint32{0x01025626, 0x00208d75, 0x02e0bbbe, 0x01fcd87e, 0x034344c8, 0x019d3e43, 0x01f63609, 0x00540226, 0x0040347b, 0x003b7229}}, Y: Field{[10]uint32{0x032cd77b, 0x007b3106, 0x024864d0, 0x008a6947, 0x027bf841, 0x034502cb, 0x00c7cefa, 0x02fd666f, 0x03409a14, 0x000be049}}}, + {X: Field{[10]uint32{0x01b16899, 0x021df34f, 0x00d18d54, 0x02fc9558, 0x02d4ea1b, 0x027e6661, 0x0327b571, 0x03d354bd, 0x01c97a8c, 0x002f66d9}}, Y: Field{[10]uint32{0x02fe432d, 0x02638af0, 0x019af7db, 0x00fd77fa, 0x01ee9c8e, 0x02f93e18, 0x00d9e02d, 0x023972fc, 0x01274e87, 0x001673dc}}}, + {X: Field{[10]uint32{0x00f35782, 0x038ab313, 0x02106f3b, 0x00096542, 0x0072d918, 0x01317636, 0x03565714, 0x03a3334d, 0x02381191, 0x0009d8d7}}, Y: Field{[10]uint32{0x00d1ab7d, 0x0264bdc3, 0x00ce9db1, 0x03cdf9ae, 0x00eb5251, 0x03d46eb5, 0x03fa3ab8, 0x021c3401, 0x0247a019, 0x0030d67f}}}, + {X: Field{[10]uint32{0x0321d85c, 0x0377c84e, 0x03261839, 0x03d2577e, 0x00359950, 0x01e803a6, 0x02abad14, 0x014c02a5, 0x00c316c0, 0x001124b7}}, Y: Field{[10]uint32{0x009ad35b, 0x00d3b5f7, 0x02433189, 0x02fe9630, 0x02fafed4, 0x008a7716, 0x03b8c6d2, 0x00790b6f, 0x0371a4e8, 0x0003b7c4}}}, + {X: Field{[10]uint32{0x01f9c67b, 0x02a981bb, 0x03c01279, 0x031b3b8d, 0x0325887f, 0x02f623e3, 0x028a3869, 0x00079637, 0x0040409e, 0x003e0493}}, Y: Field{[10]uint32{0x026fa6bc, 0x01830868, 0x009d3655, 0x0231879d, 0x022b0f00, 0x035fcd98, 0x026269c3, 0x03b82a28, 0x01d1d31f, 0x0003801c}}}, + {X: Field{[10]uint32{0x0205a2b5, 0x0212f0e6, 0x030b1b57, 0x00ce3d57, 0x02ce3aed, 0x03579470, 0x000716ad, 0x03337e8b, 0x0367066e, 0x0033165e}}, Y: Field{[10]uint32{0x00682865, 0x00e9061d, 0x022da74e, 0x039fcfbc, 0x03df52da, 0x00a3a356, 0x0212ec40, 0x010f6747, 0x01fc394a, 0x0004b80c}}}, + {X: Field{[10]uint32{0x005aeda2, 0x034c78a0, 0x022ee6fd, 0x01c698c8, 0x03d4a45f, 0x03549774, 0x01642707, 0x020fef48, 0x02c6bc12, 0x00050b2c}}, Y: Field{[10]uint32{0x02d66ec0, 0x017b7197, 0x02f2e181, 0x03edf1a1, 0x00ed082b, 0x02fb1916, 0x015b7180, 0x0108ab93, 0x0112c72c, 0x002f7a4f}}}, + {X: Field{[10]uint32{0x001d2d3c, 0x03645230, 0x0147968f, 0x01d78fc3, 0x01c33273, 0x02a25dea, 0x016704a1, 0x0165079a, 0x0202dd76, 0x003efd35}}, Y: Field{[10]uint32{0x006afa8d, 0x03c4e5b0, 0x0118d08e, 0x02ca6bdf, 0x00c7b96f, 0x01a3d858, 0x014cae8e, 0x02572e9b, 0x01f799e8, 0x00196d1b}}}, + {X: Field{[10]uint32{0x01bfffb8, 0x0048f863, 0x02bc7c6d, 0x036f3163, 0x01f09436, 0x03053143, 0x0300ea5e, 0x03a3338c, 0x0157bb5f, 0x003bf6d7}}, Y: Field{[10]uint32{0x0203fe01, 0x01ee2900, 0x00deb813, 0x01fb7758, 0x01d444e4, 0x019ef627, 0x019ce931, 0x00318988, 0x0003d9a9, 0x000e420e}}}, + {X: Field{[10]uint32{0x003f35ad, 0x0241d08b, 0x03d74976, 0x03c7ab7a, 0x02921f59, 0x01afcb53, 0x00b36c7b, 0x00155c2d, 0x0334faa3, 0x0016f290}}, Y: Field{[10]uint32{0x021206e3, 0x03489ef0, 0x0345b520, 0x00a8d4fe, 0x0179d27f, 0x03591b6d, 0x03f2fe1c, 0x018fdc8a, 0x02f5e2a6, 0x000f25ee}}}, + {X: Field{[10]uint32{0x01156632, 0x03c7cfd4, 0x00d4c49f, 0x025c69cf, 0x01ff921e, 0x012a9990, 0x018a0f05, 0x03c1956b, 0x03bce90c, 0x0026a876}}, Y: Field{[10]uint32{0x031a4200, 0x00efd00a, 0x012dc651, 0x01eae404, 0x016e0b33, 0x02730449, 0x002f0f0b, 0x03a176e0, 0x001d8bf1, 0x0032fdba}}}, + {X: Field{[10]uint32{0x03c2d408, 0x02a5589c, 0x01b86aba, 0x01bfbfc2, 0x035386e5, 0x037b0a09, 0x01d4d23d, 0x01d9d935, 0x005586ed, 0x000bf1ff}}, Y: Field{[10]uint32{0x01d6285f, 0x0272041a, 0x03f3f54f, 0x01617531, 0x016019a5, 0x000c42d7, 0x037b0c3e, 0x00d2bb91, 0x01e4773c, 0x0016ffda}}}, + {X: Field{[10]uint32{0x034190b2, 0x03332ef4, 0x03f34764, 0x00403cbf, 0x026ef3b2, 0x0037e445, 0x01954878, 0x01bcb10c, 0x0141c3ac, 0x002397ee}}, Y: Field{[10]uint32{0x0110d2ce, 0x026ebaff, 0x02c4b1df, 0x027b73c6, 0x038d29b5, 0x039eccbe, 0x03ae154c, 0x01a38b18, 0x01b15f66, 0x0036f8b0}}}, + {X: Field{[10]uint32{0x033d49c6, 0x006f5842, 0x03690480, 0x001c99a4, 0x02dcfbaa, 0x02a56e36, 0x013389ea, 0x035b7417, 0x03594748, 0x001e96ee}}, Y: Field{[10]uint32{0x034187c0, 0x03b7ab18, 0x03fa7fd4, 0x0073bff8, 0x00ca1386, 0x0048d71a, 0x00b755c6, 0x00cffa36, 0x0043a42d, 0x0030b4a0}}}, + {X: Field{[10]uint32{0x03b76753, 0x03ebc86f, 0x00745f87, 0x0388894d, 0x00917c2f, 0x02d8c738, 0x033ee1b1, 0x00d4c6b9, 0x00bdf0d3, 0x00256fae}}, Y: Field{[10]uint32{0x0064f45b, 0x030bc2c3, 0x00adaa43, 0x020df88c, 0x03b9bd77, 0x01283932, 0x03e269fb, 0x0165d549, 0x0200d9c5, 0x0031b3e1}}}, + {X: Field{[10]uint32{0x02968d25, 0x003488f8, 0x03a32054, 0x0365dae3, 0x03576dbb, 0x002ae5e4, 0x00fa4809, 0x01b700c1, 0x030c6d89, 0x003d13b2}}, Y: Field{[10]uint32{0x0321086a, 0x027cd4f0, 0x038106d1, 0x003d79db, 0x01e20e47, 0x03a91a82, 0x0203c629, 0x010ca5da, 0x00f62964, 0x00151419}}}, + {X: Field{[10]uint32{0x038109de, 0x01274994, 0x01e074fb, 0x0309dc18, 0x01d56d68, 0x03deb899, 0x033ef501, 0x024db985, 0x00d33dbd, 0x002374cb}}, Y: Field{[10]uint32{0x003f1e76, 0x0217dc1f, 0x00851ae9, 0x00968430, 0x00ad158c, 0x011f5b64, 0x012bca8a, 0x02b0814e, 0x025c80da, 0x001ac443}}}, + {X: Field{[10]uint32{0x0237997b, 0x01d77698, 0x01a8c770, 0x00fe2473, 0x010fea5e, 0x01c74113, 0x03bc77eb, 0x03d5e353, 0x0130b0f0, 0x000f52bf}}, Y: Field{[10]uint32{0x018bb9ce, 0x02c7bf01, 0x0093ed83, 0x02af9d21, 0x020ae286, 0x02708eb6, 0x013d4424, 0x03d5fb1e, 0x00e8664d, 0x000a05b8}}}, + {X: Field{[10]uint32{0x01d95ff1, 0x03ff45e1, 0x020200a5, 0x0204b4af, 0x02b83913, 0x01a81ee8, 0x015ccac8, 0x00ec8aca, 0x01fbbeaa, 0x002a6dce}}, Y: Field{[10]uint32{0x03b84f1b, 0x016cabaf, 0x02d401a5, 0x00ae3b5e, 0x00d3c5d4, 0x0310ff7b, 0x016d7323, 0x029abbda, 0x023021d6, 0x00287420}}}, + {X: Field{[10]uint32{0x0203715a, 0x01fd1ae4, 0x03632bb7, 0x019eb3e6, 0x02a37e5d, 0x022d5659, 0x02cc754c, 0x0147aff0, 0x0347e512, 0x003a4025}}, Y: Field{[10]uint32{0x02f9df72, 0x036ad3f3, 0x03907d9c, 0x01e85f38, 0x00756f27, 0x015c6962, 0x03476f25, 0x03e65dc6, 0x01679ea8, 0x000d0962}}}, + {X: Field{[10]uint32{0x021a3f2e, 0x01d90e7c, 0x006c1a83, 0x0104eb13, 0x002108fe, 0x02ccc821, 0x00d09b96, 0x035d3309, 0x00ed55aa, 0x001f8d23}}, Y: Field{[10]uint32{0x00389e5f, 0x033e0fad, 0x020f91ed, 0x00bcd964, 0x01c884c2, 0x010e793d, 0x0065706e, 0x009e5761, 0x038e3b72, 0x000e61d3}}}, + {X: Field{[10]uint32{0x03b1f55a, 0x029d29be, 0x01220aaa, 0x02da2834, 0x038e340f, 0x003f3034, 0x032cdabf, 0x035c055b, 0x02765ec2, 0x0029f759}}, Y: Field{[10]uint32{0x0341d447, 0x029439cb, 0x00e73760, 0x02b5117a, 0x0163710d, 0x02c02efa, 0x02ded9b0, 0x0298f4a4, 0x03f2ab00, 0x002dc246}}}, + {X: Field{[10]uint32{0x03f57025, 0x02354780, 0x03a96a30, 0x00a91a4f, 0x0051c085, 0x01b624d3, 0x0033a481, 0x032fdb70, 0x01e9a8cc, 0x0002e15e}}, Y: Field{[10]uint32{0x0158268b, 0x0337315c, 0x00feca8b, 0x00cdbda5, 0x0242c888, 0x02f046f6, 0x0164a3e0, 0x00546cbc, 0x00df4d79, 0x0039a5bb}}}, + {X: Field{[10]uint32{0x03f57af8, 0x00b0b0af, 0x03cdabb4, 0x007519e1, 0x03184f1c, 0x01ed669f, 0x00c8c72e, 0x002032fe, 0x00459de0, 0x0001eca7}}, Y: Field{[10]uint32{0x03801799, 0x011b7a57, 0x026145dc, 0x02dc97d3, 0x02817578, 0x000ddbb7, 0x0101ca56, 0x0344f506, 0x0367a6d8, 0x001037a0}}}, + {X: Field{[10]uint32{0x02f00f9f, 0x026bf765, 0x0214e017, 0x0276cc7f, 0x030d1c4e, 0x002df940, 0x020e34ef, 0x016f9eb0, 0x026f89b6, 0x00073bfe}}, Y: Field{[10]uint32{0x0276f179, 0x01d12d46, 0x02da979a, 0x03d6f2a9, 0x008e293b, 0x005e4384, 0x018feb78, 0x00c2f7b6, 0x00b1f059, 0x001bf7ba}}}, + {X: Field{[10]uint32{0x01e58d74, 0x0365f645, 0x01e47ca2, 0x03fa8013, 0x0280ba4e, 0x00078bb1, 0x01d01e9a, 0x000715b5, 0x016d11d3, 0x00155b8b}}, Y: Field{[10]uint32{0x0249d711, 0x00b175d4, 0x0096108a, 0x031cbd36, 0x013d66e6, 0x03bb2f26, 0x01ba7eef, 0x035edad5, 0x009bb633, 0x0025620d}}}, + {X: Field{[10]uint32{0x01e51586, 0x02ae45e8, 0x026ba6a7, 0x03d3a7b9, 0x02b97f7b, 0x00ad8ba8, 0x004518a4, 0x00f723b4, 0x028873b9, 0x002cd41b}}, Y: Field{[10]uint32{0x030b3b38, 0x00eb9306, 0x023fd582, 0x027c7e3f, 0x025917a3, 0x02b2ea7f, 0x0293eaa7, 0x03edeff9, 0x01001230, 0x0011d3e0}}}, + {X: Field{[10]uint32{0x012628f3, 0x01d2e5af, 0x00504e97, 0x00e86665, 0x001ba7ff, 0x0243b99f, 0x001a886f, 0x0124236c, 0x02f389cb, 0x0003461a}}, Y: Field{[10]uint32{0x02a2db7d, 0x023dfbbc, 0x0021d5d0, 0x01bfd046, 0x02d01d74, 0x0218bbcd, 0x0378c75a, 0x01f372d1, 0x002bc656, 0x000ece5e}}}, + {X: Field{[10]uint32{0x03987bb7, 0x02215cbb, 0x00d55d67, 0x0200aa04, 0x0119e8c9, 0x018b18e7, 0x02459000, 0x016b08fe, 0x0121e106, 0x003e5476}}, Y: Field{[10]uint32{0x01d7d950, 0x002631fe, 0x0207055d, 0x019aedda, 0x01051abc, 0x03d54ed7, 0x03db2397, 0x03a5d409, 0x01c187f8, 0x00373df7}}}, + {X: Field{[10]uint32{0x00d915ec, 0x00f83eb1, 0x0242ebb5, 0x01d3f20a, 0x038bcbf8, 0x03cd0382, 0x021b75e8, 0x01bf1845, 0x02167bac, 0x002373a3}}, Y: Field{[10]uint32{0x00ae940c, 0x004985f8, 0x03674e32, 0x03d240cb, 0x039c0287, 0x01349bb5, 0x00b410b3, 0x02e7ae6d, 0x03a14a9e, 0x00047394}}}, + {X: Field{[10]uint32{0x01e26e2b, 0x00e7baa6, 0x005dc4f4, 0x016bb56a, 0x02755dfc, 0x0304a9ea, 0x012ed15e, 0x0290f35f, 0x00dda0a7, 0x00338b4f}}, Y: Field{[10]uint32{0x03a5a145, 0x025f1801, 0x0009a36b, 0x0191f886, 0x036a8eed, 0x03160881, 0x035c2853, 0x009d03a9, 0x02bbe7ca, 0x001aa5ab}}}, + {X: Field{[10]uint32{0x00d92092, 0x00e42a37, 0x000f05ea, 0x00295632, 0x00f712c4, 0x020ce492, 0x03367b5c, 0x0353173b, 0x02fcdcc2, 0x0008e519}}, Y: Field{[10]uint32{0x03ac28cd, 0x02157849, 0x0318ed0e, 0x02acedf5, 0x0265d176, 0x023805cd, 0x023ee8e9, 0x03c22f29, 0x023c9b49, 0x003cb388}}}, + {X: Field{[10]uint32{0x0163e033, 0x0297fb8d, 0x0395e0f6, 0x01911d98, 0x034a2f3c, 0x00c7825c, 0x005bcd83, 0x00f02367, 0x0364341d, 0x000882ad}}, Y: Field{[10]uint32{0x02df5011, 0x03360dd5, 0x03f4cf9d, 0x028d5e05, 0x03aa51a9, 0x02d48300, 0x03dc7a42, 0x004fbd19, 0x0060d030, 0x003b0791}}}, + {X: Field{[10]uint32{0x004b469f, 0x03ffa024, 0x03db4ee2, 0x004993e8, 0x02845f0b, 0x00f13443, 0x03ffd81f, 0x01a9b1c3, 0x01fe1640, 0x00355157}}, Y: Field{[10]uint32{0x020aaf9a, 0x00428401, 0x019b8088, 0x03c0abe5, 0x0028a20a, 0x0056125f, 0x01d99e49, 0x00798899, 0x038d257e, 0x00283e4e}}}, + {X: Field{[10]uint32{0x00e60c72, 0x03627ca2, 0x0137e1a9, 0x03e73f07, 0x02f5039c, 0x007bb034, 0x0054665f, 0x03c1777c, 0x0377a1f6, 0x00148d9c}}, Y: Field{[10]uint32{0x02c7bb41, 0x027f1767, 0x01ce6a03, 0x005b663e, 0x00d05e70, 0x038925e8, 0x018d0477, 0x030d4b35, 0x0355430f, 0x001e3627}}}, + {X: Field{[10]uint32{0x03a56395, 0x0377a957, 0x02c9f4c1, 0x03c644b9, 0x01a8e569, 0x01cd9049, 0x023dc886, 0x0250889a, 0x01133ecc, 0x0016e658}}, Y: Field{[10]uint32{0x02436d0a, 0x010abd93, 0x00f19101, 0x02a84226, 0x03f7a0bc, 0x0178bf57, 0x00ac902c, 0x01b2bd76, 0x03641207, 0x002ee75d}}}, + {X: Field{[10]uint32{0x004c13fb, 0x0093ccae, 0x00f0c07c, 0x010f6e5b, 0x03eecd1a, 0x02c299dc, 0x007fa4a5, 0x03479963, 0x035cbfbe, 0x003cdb36}}, Y: Field{[10]uint32{0x018c394c, 0x01b24640, 0x039b9315, 0x039d1e4d, 0x01993744, 0x006d8996, 0x016aee18, 0x03b68a45, 0x02f05ee9, 0x0033f1b4}}}, + {X: Field{[10]uint32{0x0079a6f9, 0x017ee45c, 0x03e44059, 0x00cc43b1, 0x030842ce, 0x014c499b, 0x00bf7545, 0x01ebcace, 0x018e2510, 0x000c8231}}, Y: Field{[10]uint32{0x02c785d7, 0x011d628c, 0x001c645a, 0x028b2220, 0x03653599, 0x0257b0b2, 0x01d9ab58, 0x02db2581, 0x01cb5346, 0x0020c71b}}}, + {X: Field{[10]uint32{0x009927a7, 0x014e4623, 0x025a8c52, 0x020d9406, 0x02472535, 0x01135cd5, 0x0021b80b, 0x00438aa8, 0x02071f85, 0x002981ce}}, Y: Field{[10]uint32{0x0364fec9, 0x03c64698, 0x032462a9, 0x00361600, 0x026fefa3, 0x033f26ee, 0x0318baad, 0x01d84859, 0x03c54c8a, 0x003a4ea7}}}, + {X: Field{[10]uint32{0x01f0d913, 0x00d5d62e, 0x007139e3, 0x01f8d589, 0x00f7ec1a, 0x02a9fffa, 0x00f21476, 0x02bdfc98, 0x0062f79e, 0x000cd42d}}, Y: Field{[10]uint32{0x01152959, 0x01c5c448, 0x00d4e805, 0x02f120a9, 0x03020f33, 0x02a34ba4, 0x03d2341b, 0x0048883e, 0x01b30fce, 0x0007c327}}}, + {X: Field{[10]uint32{0x03073caa, 0x03893380, 0x0344c11d, 0x00f99bd9, 0x00177391, 0x02859433, 0x007c89b5, 0x00a9d248, 0x03170bc8, 0x00295356}}, Y: Field{[10]uint32{0x02cd3ab8, 0x01edec4c, 0x033afcdb, 0x009be4ad, 0x02fe62dc, 0x02488b27, 0x007fe5d4, 0x0374460f, 0x035f5309, 0x000f090e}}}, + {X: Field{[10]uint32{0x00a04cf8, 0x0095ca41, 0x005cae5b, 0x01b558e4, 0x028a7d34, 0x0071e18f, 0x0024f7b0, 0x01e8d285, 0x02bf676a, 0x00196428}}, Y: Field{[10]uint32{0x03e781e7, 0x01419168, 0x02f09396, 0x03b10919, 0x004f8d0c, 0x03a8bdcd, 0x002d972e, 0x0106684e, 0x00030490, 0x00047356}}}, + {X: Field{[10]uint32{0x03cba9a5, 0x025bb271, 0x0159289e, 0x00f7ed6e, 0x01884039, 0x028d9c04, 0x03461a20, 0x03d22f4b, 0x00029fc7, 0x002cf027}}, Y: Field{[10]uint32{0x00f5cfa9, 0x03324ac2, 0x0360ab97, 0x035abcb6, 0x03c6a3e6, 0x0300c38a, 0x03bb1bda, 0x012b4065, 0x026cbce5, 0x0039ed6a}}}, + {X: Field{[10]uint32{0x00fa8bc0, 0x024a4e46, 0x0064426a, 0x03be3f75, 0x02cdc693, 0x022ca65c, 0x03361439, 0x004de9f6, 0x02a8044a, 0x0035e5a3}}, Y: Field{[10]uint32{0x0157a75c, 0x009bb22b, 0x022e5283, 0x01d35d36, 0x0156dd31, 0x004338b9, 0x015dd294, 0x010d3b2f, 0x01892901, 0x00209009}}}, + {X: Field{[10]uint32{0x038e8304, 0x0167c020, 0x0365c6d9, 0x03212d40, 0x033bf6ed, 0x009406b6, 0x02ca172b, 0x03e73347, 0x006c2f98, 0x002295ef}}, Y: Field{[10]uint32{0x03e7d14e, 0x02ff8361, 0x038b992c, 0x00404691, 0x01bf6434, 0x02fe9a30, 0x00b5d67c, 0x0166150e, 0x0062a0f8, 0x000bafd5}}}, + {X: Field{[10]uint32{0x0073fd22, 0x03435418, 0x03b4e551, 0x034dfc3b, 0x011a555d, 0x023218f3, 0x00b8d18f, 0x0142a30f, 0x00416847, 0x0014621a}}, Y: Field{[10]uint32{0x02f3f192, 0x0145f68d, 0x03691f30, 0x0141b14b, 0x006a28ce, 0x00bd660f, 0x00e0f15c, 0x00eb429b, 0x009b9e98, 0x003ac17c}}}, + {X: Field{[10]uint32{0x027c85f3, 0x0124f8bd, 0x037b0ab7, 0x005a6e7a, 0x02d3a026, 0x00575574, 0x02ab8566, 0x01e53ea7, 0x035f27e4, 0x003faa30}}, Y: Field{[10]uint32{0x00148864, 0x012940a3, 0x03c889b5, 0x03d52aa5, 0x03b24158, 0x038ae8b9, 0x01123378, 0x01b8ea61, 0x0297cf0a, 0x0030c977}}}, + {X: Field{[10]uint32{0x01f94b63, 0x01409fb4, 0x0051077b, 0x01a5fbd3, 0x01d79d5f, 0x01707273, 0x01ab955d, 0x009793e3, 0x00ccd7bc, 0x001984b3}}, Y: Field{[10]uint32{0x0057860b, 0x0012668d, 0x0320073d, 0x0200570e, 0x03e9bd6a, 0x0094f7e6, 0x02abab50, 0x02342b9e, 0x02c17a37, 0x00185544}}}, + {X: Field{[10]uint32{0x006f8746, 0x02f5f92a, 0x03533cbd, 0x019e7db4, 0x02f8a7ae, 0x00c66655, 0x009d6983, 0x01676c13, 0x007a4998, 0x0032662c}}, Y: Field{[10]uint32{0x01d17138, 0x0046fc23, 0x038a66af, 0x03a444e0, 0x0137d6b5, 0x03a881ba, 0x019d81b0, 0x01dd7a89, 0x0371919e, 0x00367804}}}, + {X: Field{[10]uint32{0x024cc1e1, 0x003ec30e, 0x004bb052, 0x00551835, 0x00c32e39, 0x00f77242, 0x00fcd0d2, 0x02597e15, 0x0269c5cf, 0x00170391}}, Y: Field{[10]uint32{0x035adea1, 0x02e42719, 0x0055464f, 0x03b722cf, 0x0189f5ed, 0x0343df2e, 0x0335ffac, 0x0269374b, 0x03af7e0f, 0x0033faee}}}, + {X: Field{[10]uint32{0x0158c0fd, 0x036fee1c, 0x0350bcb2, 0x016d93e5, 0x037ab319, 0x01aa74fe, 0x02f6433c, 0x01459fc1, 0x02483038, 0x00343f76}}, Y: Field{[10]uint32{0x031283db, 0x000838fb, 0x03c358f0, 0x0057442a, 0x03f5c6e3, 0x01860cda, 0x02e13598, 0x03d87f20, 0x01776a34, 0x00133795}}}, + {X: Field{[10]uint32{0x024a3e81, 0x01c0617e, 0x00fd37bc, 0x014c66df, 0x0007cab1, 0x0088b39d, 0x01482656, 0x03d96817, 0x030fd78b, 0x00364955}}, Y: Field{[10]uint32{0x03c1924c, 0x0360dc21, 0x00ed1673, 0x03833740, 0x00ff52be, 0x027195d7, 0x021a5c7b, 0x02ea4068, 0x019ac448, 0x00000f0e}}}, + {X: Field{[10]uint32{0x018374c8, 0x030861c2, 0x00f9a1d0, 0x013f5e06, 0x02a023cc, 0x0212c200, 0x037d6074, 0x012eb081, 0x016d81f8, 0x001174ad}}, Y: Field{[10]uint32{0x0019d7f4, 0x01901067, 0x03f05030, 0x007e122e, 0x00982941, 0x009598f3, 0x010506ea, 0x032cdeb5, 0x00d192a9, 0x00053286}}}, + {X: Field{[10]uint32{0x02157400, 0x005c2de7, 0x03fba5b7, 0x01e196a4, 0x00ea8c19, 0x03e6843e, 0x013404dd, 0x0316efde, 0x00118588, 0x001ab4eb}}, Y: Field{[10]uint32{0x011686d7, 0x018bfa60, 0x02c97a87, 0x02b45cc7, 0x02382eb5, 0x035d8a4b, 0x0320e80f, 0x00b0ffb7, 0x001f1e24, 0x003e895d}}}, + {X: Field{[10]uint32{0x02595f52, 0x0387afd2, 0x00bf5028, 0x00a00b77, 0x0026d540, 0x004ac876, 0x03ea9e39, 0x02582de4, 0x0045b6dc, 0x00176891}}, Y: Field{[10]uint32{0x01f16026, 0x01007cd9, 0x005fd01b, 0x03663222, 0x02fabfa0, 0x03e28bf4, 0x015063bf, 0x0329a626, 0x038cad1d, 0x002f063f}}}, + {X: Field{[10]uint32{0x0132b346, 0x0057bf2b, 0x00f445ed, 0x0227549f, 0x03d7b5f1, 0x01975c4c, 0x039b89f8, 0x021b4a4e, 0x006811ce, 0x00377fd9}}, Y: Field{[10]uint32{0x027f5737, 0x03b68d95, 0x0110db1a, 0x019c4fa9, 0x034d236b, 0x004ac070, 0x021ae080, 0x0005af84, 0x0194cb22, 0x001c983a}}}, + {X: Field{[10]uint32{0x0097f029, 0x0279a6fe, 0x012436ad, 0x02637275, 0x02c1030d, 0x02142611, 0x032f50bc, 0x03ea4f43, 0x033b9120, 0x002a2e7f}}, Y: Field{[10]uint32{0x0066c591, 0x01f8cca1, 0x017b2359, 0x03da8ac7, 0x00c866aa, 0x00ec1fbf, 0x01a4c2ca, 0x01a1cbaa, 0x029a4e51, 0x00172fe8}}}, + {X: Field{[10]uint32{0x01dbcafd, 0x03068054, 0x00eb7a2f, 0x01921a3b, 0x02628752, 0x03237bac, 0x03c18eda, 0x0275a9c8, 0x03fb177b, 0x00250c1d}}, Y: Field{[10]uint32{0x00e7eb4e, 0x03d2a546, 0x01442e48, 0x004be97f, 0x03ccb6e3, 0x031f7e4f, 0x038248da, 0x0007274f, 0x01fc41ad, 0x0000866a}}}, + {X: Field{[10]uint32{0x0058b8e3, 0x0043cd99, 0x0174e9e8, 0x027e9593, 0x0382b33f, 0x00917aef, 0x0360f524, 0x0205ebf7, 0x01ac09c9, 0x001d72d8}}, Y: Field{[10]uint32{0x0003c367, 0x02b7f7bb, 0x00fb85b3, 0x01df3563, 0x02664414, 0x0277dae7, 0x00986f5f, 0x00210d18, 0x01bdf66f, 0x002aa04d}}}, + {X: Field{[10]uint32{0x031fccc8, 0x0039f238, 0x010c5075, 0x03cee6eb, 0x02c34fdc, 0x0239fc2b, 0x00922b22, 0x023a152f, 0x017727cb, 0x0006edf8}}, Y: Field{[10]uint32{0x00221ca3, 0x00368e30, 0x023d5238, 0x0030f989, 0x02855ea0, 0x0109737a, 0x01e322c2, 0x0179c2f6, 0x00861e85, 0x002efdca}}}, + {X: Field{[10]uint32{0x03ee8dbb, 0x02a536a2, 0x02a2eafd, 0x01c72638, 0x0087f024, 0x001743cc, 0x034b41cf, 0x036fcd16, 0x004b39e9, 0x002510ce}}, Y: Field{[10]uint32{0x024544ee, 0x0380723e, 0x02504aba, 0x015fdbde, 0x03e7b5da, 0x01f8e4e7, 0x00ac6e22, 0x0047d8e3, 0x0173ccb2, 0x0038d984}}}, + {X: Field{[10]uint32{0x03740d25, 0x033a9dbb, 0x0183961c, 0x015359a4, 0x00b4c27d, 0x0306a59a, 0x011638ae, 0x02aaca35, 0x01d5a68c, 0x00126f45}}, Y: Field{[10]uint32{0x0318c6e4, 0x01d0e7cf, 0x03e579db, 0x0183ab3c, 0x0377563b, 0x02657303, 0x03b9f0bd, 0x0391f7ef, 0x00688760, 0x001923f2}}}, + {X: Field{[10]uint32{0x02cfed85, 0x02517f5e, 0x02f9073f, 0x01e2960c, 0x02c151aa, 0x001e241f, 0x013684fd, 0x027a1613, 0x038e9280, 0x003431ed}}, Y: Field{[10]uint32{0x02970c89, 0x02e56ce3, 0x01d5707a, 0x01d48ab6, 0x03be91e4, 0x030c1480, 0x0129046b, 0x012902d5, 0x01abbe49, 0x002a0365}}}, + {X: Field{[10]uint32{0x02eb9275, 0x01af5f64, 0x00bf0cd9, 0x0361e5d2, 0x027c4c28, 0x033721d6, 0x018f9c75, 0x0088c97a, 0x01463ab2, 0x0037af77}}, Y: Field{[10]uint32{0x02b9799c, 0x02531c42, 0x00754ab5, 0x0192c4af, 0x0150d020, 0x01cebc96, 0x03b3dd7a, 0x03f2c17f, 0x008dc3ff, 0x0003440f}}}, + {X: Field{[10]uint32{0x03f33998, 0x01004bc6, 0x02dc33f6, 0x032152c0, 0x029f9ebc, 0x03681cc4, 0x022d6bf9, 0x01a8563a, 0x017c192a, 0x00075e6c}}, Y: Field{[10]uint32{0x00f60a5e, 0x039aef53, 0x00a12b78, 0x020af102, 0x020c7876, 0x033d91c0, 0x00d986fb, 0x0322a014, 0x00b3dbc1, 0x001bb206}}}, + {X: Field{[10]uint32{0x0281ca1b, 0x03f4db9b, 0x018449ed, 0x015c9931, 0x0374bd3b, 0x03454d7f, 0x009c38d7, 0x011fa5ca, 0x02ebff5d, 0x000bfadd}}, Y: Field{[10]uint32{0x01f93b74, 0x030ceee2, 0x00899378, 0x01d1e267, 0x03bb462e, 0x03e72af1, 0x02e18cd1, 0x02a08f7e, 0x024a7ba3, 0x00116f53}}}, + {X: Field{[10]uint32{0x00682573, 0x00bf82ec, 0x013c0637, 0x00e52619, 0x013eef1b, 0x0393d7bf, 0x0372ab62, 0x0169dfd4, 0x0190faef, 0x00005343}}, Y: Field{[10]uint32{0x02081453, 0x02a4bd8d, 0x0131236b, 0x025dcae8, 0x01601a4f, 0x01c65a0c, 0x0130f51d, 0x02e4c13d, 0x029a80c2, 0x00145fc5}}}, + {X: Field{[10]uint32{0x03313321, 0x008aafff, 0x02476fd5, 0x00dd1b4b, 0x02ad0941, 0x0042ce6c, 0x00bd9adb, 0x02470ce1, 0x03a5728f, 0x001cc1a9}}, Y: Field{[10]uint32{0x03a915a2, 0x005ee06d, 0x02a85a8e, 0x03b496e1, 0x01574c85, 0x0124bc6c, 0x03bd4e4f, 0x03a1ecd6, 0x02aba5b9, 0x00085788}}}, + {X: Field{[10]uint32{0x0255aaba, 0x0134d89a, 0x0171976d, 0x01e9cdfa, 0x00fd2406, 0x0263eb48, 0x02873a06, 0x036e32cc, 0x014f870c, 0x00217611}}, Y: Field{[10]uint32{0x0117e4a2, 0x010d2c4c, 0x033bb951, 0x03b8446b, 0x01539fe7, 0x02e720cf, 0x02a0715c, 0x027a3948, 0x000a36eb, 0x000db58f}}}, + {X: Field{[10]uint32{0x034384c3, 0x0028392c, 0x00dffc1f, 0x00a25b63, 0x0202f7da, 0x0386448a, 0x01b21cb9, 0x019ea896, 0x03829930, 0x0031a3d9}}, Y: Field{[10]uint32{0x0079e94a, 0x030da04c, 0x014ffb7d, 0x024daca6, 0x0308dcd4, 0x026575a8, 0x02484fb0, 0x00ce1dfa, 0x016a331c, 0x001d39ba}}}, + {X: Field{[10]uint32{0x00214dd3, 0x038c6101, 0x0217fe18, 0x0141a1c2, 0x00e29cd8, 0x00d47227, 0x02d5c9c3, 0x01554211, 0x01115dbe, 0x00205120}}, Y: Field{[10]uint32{0x030d19a8, 0x02af2c59, 0x02785210, 0x00f97b75, 0x01540ea3, 0x011e1a27, 0x03740e92, 0x030a71a5, 0x00b3d4cd, 0x001d775e}}}, + {X: Field{[10]uint32{0x00c945f5, 0x00120558, 0x00ebe3e2, 0x006f3d85, 0x0324214e, 0x01c1bc87, 0x0325993a, 0x0351e3d7, 0x0319de24, 0x000c42d6}}, Y: Field{[10]uint32{0x004318c3, 0x00ccc9c4, 0x021a147e, 0x014fc0a8, 0x01bf04cc, 0x03a1035a, 0x01d017e2, 0x03481782, 0x02ca0f01, 0x0022d0b1}}}, + {X: Field{[10]uint32{0x03c4bc3e, 0x0165d302, 0x03420a02, 0x00471a13, 0x01b0a90f, 0x00b9b514, 0x01e4bcab, 0x038ae77f, 0x03c74baf, 0x0033e291}}, Y: Field{[10]uint32{0x034c97d1, 0x00806ef8, 0x01c3d1cc, 0x01a70299, 0x02614d8a, 0x0321d8af, 0x02331e62, 0x021a65e1, 0x0264a9a7, 0x003c2dec}}}, + {X: Field{[10]uint32{0x038650fc, 0x011ebe62, 0x002d33d7, 0x0221a6e6, 0x03ab5533, 0x00f4ed82, 0x00100ec6, 0x02a4139c, 0x02267352, 0x00283f18}}, Y: Field{[10]uint32{0x0385865f, 0x025bcace, 0x02497e2b, 0x02cfe659, 0x03cd162e, 0x00870e67, 0x0388c395, 0x013ad192, 0x014c16b2, 0x002e8eb9}}}, + {X: Field{[10]uint32{0x00ff8bdb, 0x038f08db, 0x03fb07dc, 0x01c29386, 0x032e1eaf, 0x000114cc, 0x00d03391, 0x03751d61, 0x03e2535e, 0x002ab976}}, Y: Field{[10]uint32{0x03a7449b, 0x02554ced, 0x00321911, 0x03168d56, 0x02a51d85, 0x011cdccb, 0x02784392, 0x001adeec, 0x01f6e558, 0x001f3ea9}}}, + {X: Field{[10]uint32{0x0103ae39, 0x0285eec1, 0x01bd50b0, 0x009a1b69, 0x005c3172, 0x009c1686, 0x000792fb, 0x01d5432f, 0x03115b89, 0x002293a4}}, Y: Field{[10]uint32{0x017cef2c, 0x03a48ff4, 0x016922dd, 0x0362a770, 0x022442ae, 0x02a85d5c, 0x011b976d, 0x00231c5d, 0x01c8d85f, 0x000588eb}}}, + {X: Field{[10]uint32{0x03066463, 0x0336b1a1, 0x03f26a51, 0x028332eb, 0x018627e1, 0x02404096, 0x015cd612, 0x002c254a, 0x0135eca9, 0x0032f3bd}}, Y: Field{[10]uint32{0x03212653, 0x01fee35a, 0x03c259d8, 0x005cd18b, 0x02498fee, 0x03143855, 0x00afb9d8, 0x032670ff, 0x03fac2a2, 0x0019470b}}}, + {X: Field{[10]uint32{0x010f8c99, 0x00bab07b, 0x02609990, 0x0134bab5, 0x010bf12c, 0x00ae7210, 0x0290e336, 0x00af42ea, 0x01594d6a, 0x000965c5}}, Y: Field{[10]uint32{0x0075245e, 0x02b4afca, 0x02a8294b, 0x008b4289, 0x01d974dd, 0x00cfa2ec, 0x004002bc, 0x00132e05, 0x036cc974, 0x00127806}}}, + {X: Field{[10]uint32{0x02f1445f, 0x00b34a6d, 0x02a89167, 0x0178fa6c, 0x00a707da, 0x0203c0d9, 0x0389044c, 0x027daeb0, 0x028b2b04, 0x002dd535}}, Y: Field{[10]uint32{0x01e37740, 0x02bb1793, 0x01da1af2, 0x01097d37, 0x02bea555, 0x037f0bd3, 0x0092e3ed, 0x008f459c, 0x03c1625e, 0x0006ca6d}}}, + {X: Field{[10]uint32{0x03084037, 0x02263fd3, 0x0040aafa, 0x022f4a53, 0x02ab0bde, 0x03ce2d68, 0x03ca2fe2, 0x023ce731, 0x01a850e6, 0x00082ba9}}, Y: Field{[10]uint32{0x03f59444, 0x03877c00, 0x00fc20b4, 0x00f0c48c, 0x02ab1e88, 0x03f9f86c, 0x02fd6a56, 0x019bb1aa, 0x02b3f176, 0x001bb55d}}}, + {X: Field{[10]uint32{0x031979a6, 0x017876f8, 0x01e7bf0d, 0x0341f340, 0x02c6939f, 0x025fae16, 0x008cba9a, 0x03a48cca, 0x0202919d, 0x0009a113}}, Y: Field{[10]uint32{0x009ebfb7, 0x03154817, 0x005a16c7, 0x030a0cb1, 0x00cc08a6, 0x0063ed83, 0x026f11e5, 0x03eb4409, 0x028e06a5, 0x0000f7e6}}}, + {X: Field{[10]uint32{0x0028414c, 0x0372a577, 0x033fd485, 0x01ac68e2, 0x00efbe0a, 0x03b37e6d, 0x00fd413b, 0x026abc9f, 0x026133a6, 0x00046bf2}}, Y: Field{[10]uint32{0x03737b1c, 0x007d6b36, 0x0377b212, 0x03eee724, 0x009e4678, 0x0391ed00, 0x0047bbf8, 0x01ff988a, 0x0390c067, 0x002352e1}}}, + {X: Field{[10]uint32{0x00d2a63d, 0x01e37bba, 0x0160df3d, 0x01ec8f9c, 0x00498633, 0x039fa578, 0x03be09fc, 0x017594de, 0x00d52fe2, 0x00311b85}}, Y: Field{[10]uint32{0x01d2b723, 0x01d7563d, 0x017589b1, 0x03bd0fe8, 0x011f04b9, 0x0377d9e9, 0x0008dd77, 0x03a7fcb4, 0x01ab4211, 0x0028803f}}}, + {X: Field{[10]uint32{0x0055e4d7, 0x03673635, 0x02142d31, 0x00f23d63, 0x01241228, 0x00429d81, 0x01f598a2, 0x03f82491, 0x0212578a, 0x00015c2a}}, Y: Field{[10]uint32{0x00c50ac8, 0x00b03c4b, 0x01601b93, 0x02a57429, 0x019a2bed, 0x0144a81c, 0x03439e08, 0x00378750, 0x0361f8e9, 0x0030a3f6}}}, + {X: Field{[10]uint32{0x03c3fa64, 0x00c4237e, 0x00d1f3a3, 0x02b33ec5, 0x02224236, 0x00e15385, 0x0170b84e, 0x033a80a1, 0x035e88a1, 0x0034c4b6}}, Y: Field{[10]uint32{0x0397e1de, 0x0185fdb3, 0x026cf36b, 0x012ba9cb, 0x0064b8aa, 0x000c724c, 0x01fa0aae, 0x00e0f211, 0x00891843, 0x00329794}}}, + {X: Field{[10]uint32{0x02398087, 0x013b022a, 0x00a6d1fe, 0x02e1d889, 0x01c9be5e, 0x009e7c00, 0x01a9ad99, 0x019c3853, 0x00769981, 0x0007b88a}}, Y: Field{[10]uint32{0x02176dcc, 0x00c727c0, 0x034526ff, 0x02896031, 0x00b68603, 0x01511835, 0x0242c650, 0x038deb7f, 0x0114e303, 0x00188404}}}, + {X: Field{[10]uint32{0x03bb81a0, 0x02a6a955, 0x004a94af, 0x035cb530, 0x011700b9, 0x03259300, 0x005511d1, 0x013fd2ba, 0x02cde2b8, 0x0007ee72}}, Y: Field{[10]uint32{0x03737fcb, 0x0159d497, 0x0038ee04, 0x01acb3e8, 0x0115b130, 0x0108050d, 0x019f59f7, 0x017cab5b, 0x03c1295c, 0x0010c2dc}}}, + {X: Field{[10]uint32{0x011c085b, 0x00685d98, 0x01145f19, 0x02e7e913, 0x034a998b, 0x0201f9d0, 0x032934a9, 0x002d1da7, 0x002dd3cf, 0x00341332}}, Y: Field{[10]uint32{0x01be5fa9, 0x00805a40, 0x0392d155, 0x02b32196, 0x018f4c13, 0x03848f75, 0x02cf1cac, 0x03454710, 0x01afb551, 0x001e9286}}}, + {X: Field{[10]uint32{0x03e7e9aa, 0x03a1c133, 0x01e15712, 0x02295237, 0x038a544f, 0x009f7d77, 0x00b97f1f, 0x0345faea, 0x02088bd4, 0x0007932c}}, Y: Field{[10]uint32{0x019b828d, 0x0119b369, 0x03e515e8, 0x025971c6, 0x03db0663, 0x00ff68fc, 0x019930a5, 0x00cfb39e, 0x021eb729, 0x00360171}}}, + {X: Field{[10]uint32{0x0251590d, 0x01b71237, 0x028c717d, 0x01a77cf7, 0x008f769f, 0x02f3f6ae, 0x032bbadc, 0x02168359, 0x0398707a, 0x001482a8}}, Y: Field{[10]uint32{0x02e9ada8, 0x01495513, 0x0052a39a, 0x01366638, 0x013b5472, 0x0045daab, 0x01095e2f, 0x01e88b02, 0x00e4a904, 0x002634d1}}}, + {X: Field{[10]uint32{0x03614ef2, 0x032b1b9e, 0x005d7a79, 0x0325e0c9, 0x00e7080a, 0x001a4ff2, 0x00d45a06, 0x03bdf0b8, 0x03de165b, 0x000ea7f8}}, Y: Field{[10]uint32{0x03038d4a, 0x00187bdc, 0x0398e151, 0x0126a9b5, 0x007607ff, 0x024d3222, 0x02895f52, 0x037bbf1e, 0x0046fd3f, 0x00014625}}}, + {X: Field{[10]uint32{0x02149938, 0x03639cf6, 0x0005665f, 0x00190dcc, 0x018e3c68, 0x02db5a32, 0x0289a3a2, 0x00201790, 0x01ccc26c, 0x002724a7}}, Y: Field{[10]uint32{0x016ba2fa, 0x0285034e, 0x02dd956a, 0x00b6aaf9, 0x02c81edf, 0x00409d8a, 0x039f6bab, 0x024824fc, 0x0140b4c2, 0x001b7efe}}}, + {X: Field{[10]uint32{0x01be419e, 0x005dd222, 0x00a660d1, 0x02af1a6b, 0x03ee22ab, 0x0179e822, 0x02f1e42e, 0x0019462e, 0x00cef4e0, 0x000d56d8}}, Y: Field{[10]uint32{0x002604e2, 0x011bd0ff, 0x031b1ed1, 0x02baed13, 0x034fc01d, 0x02d4fedc, 0x020eaaac, 0x03ec417f, 0x023bb277, 0x001fd1e2}}}, + {X: Field{[10]uint32{0x03f7f37f, 0x039efcf5, 0x01705dfc, 0x02465d0e, 0x01ea9660, 0x00478406, 0x0389bb1c, 0x01110b84, 0x014f21ad, 0x001daffc}}, Y: Field{[10]uint32{0x0289d763, 0x01a95260, 0x0307b93f, 0x03e2488f, 0x02a29a34, 0x0308b80b, 0x034da79b, 0x02ac4ad7, 0x0291376a, 0x000e1568}}}, + {X: Field{[10]uint32{0x0156b454, 0x023e2d98, 0x021dbfa0, 0x02ffe88b, 0x02becbb4, 0x01620ce5, 0x023aadd3, 0x01e8edf8, 0x00df1057, 0x00246ee7}}, Y: Field{[10]uint32{0x00edbb91, 0x0333c965, 0x01a1ef2c, 0x010b0b2a, 0x00a3edea, 0x005846d7, 0x0053e93d, 0x026c0bb7, 0x039e4f14, 0x003b1b2e}}}, + {X: Field{[10]uint32{0x00865562, 0x00c4296a, 0x02537f8c, 0x01f53acc, 0x010a7dde, 0x003116c2, 0x0081204f, 0x01b184d9, 0x010f1ba8, 0x002795ac}}, Y: Field{[10]uint32{0x028aa67c, 0x010d8756, 0x022d516f, 0x02bc3461, 0x028b523e, 0x027ba31a, 0x03ca1a37, 0x0305b122, 0x013d8552, 0x00337cd1}}}, + {X: Field{[10]uint32{0x008e09f9, 0x0125cb66, 0x00af500f, 0x01d53a69, 0x01a11dcb, 0x00e4c15c, 0x02e28a42, 0x01af7939, 0x014daf28, 0x00139cd6}}, Y: Field{[10]uint32{0x018a36e7, 0x02d47c51, 0x02418cd1, 0x014c20a2, 0x01af0d8e, 0x0289d00d, 0x03d812ce, 0x010b3b80, 0x03d070c0, 0x002967c8}}}, + {X: Field{[10]uint32{0x0123d860, 0x02b254ce, 0x01bb1d9f, 0x01cc12c4, 0x00393d59, 0x032cb185, 0x01d3c557, 0x0227e9a4, 0x03f7e92d, 0x00055bf7}}, Y: Field{[10]uint32{0x013b360b, 0x03ac04e8, 0x032ee620, 0x033408c4, 0x00bff653, 0x0199408f, 0x02d68f64, 0x01d833bd, 0x0237c448, 0x0013a4a5}}}, + {X: Field{[10]uint32{0x028ea03b, 0x0029f9eb, 0x0356998b, 0x01487e24, 0x0170d23d, 0x00f4d36e, 0x017a9052, 0x008cd975, 0x0250eb37, 0x003cb22d}}, Y: Field{[10]uint32{0x001a7881, 0x010aa1c6, 0x0183d72f, 0x031d9ce5, 0x00204488, 0x002f7a7b, 0x03422a56, 0x026fda5c, 0x031484a9, 0x002f66b0}}}, + {X: Field{[10]uint32{0x0351e3e3, 0x01399eb1, 0x0316cd4a, 0x028806b8, 0x0288d526, 0x01ee05ae, 0x01bb92ba, 0x01d0c17d, 0x0257a4a3, 0x0009f74d}}, Y: Field{[10]uint32{0x03be3304, 0x019092e0, 0x00e8c022, 0x0007df61, 0x008a756b, 0x03fa5d79, 0x03af3d51, 0x029005ab, 0x01d3c0fa, 0x0022033f}}}, + {X: Field{[10]uint32{0x03b3d1bc, 0x013c58fa, 0x037081c6, 0x020b099c, 0x037a3901, 0x03312dfc, 0x00c5d981, 0x00d5f00f, 0x020c19f7, 0x003db097}}, Y: Field{[10]uint32{0x0289e43d, 0x039f08a3, 0x03c2f183, 0x014ab7cd, 0x01295341, 0x010ecd62, 0x0144d666, 0x0283e8e6, 0x03ea7c05, 0x0023202c}}}, + {X: Field{[10]uint32{0x03fad4f2, 0x02b1fd29, 0x01f45087, 0x0015c5bf, 0x02ae2803, 0x0274dd84, 0x02847d3d, 0x017a87a8, 0x000c7130, 0x00319e20}}, Y: Field{[10]uint32{0x000b63c6, 0x0127a21b, 0x022d92d5, 0x00e7c41b, 0x0055d41d, 0x02fabd76, 0x0349a42e, 0x00ae3376, 0x03f4d2fb, 0x002f97fe}}}, + {X: Field{[10]uint32{0x03f6d560, 0x0244ba04, 0x03d30931, 0x037e816f, 0x02f98177, 0x023c347b, 0x01e2d3a6, 0x01de1bf2, 0x0221e66b, 0x003cd76c}}, Y: Field{[10]uint32{0x003f29fa, 0x01f30039, 0x007c7bb6, 0x0054da9f, 0x0209eccb, 0x03f96c7b, 0x0174ca5a, 0x00810226, 0x00080e6b, 0x0012266a}}}, + {X: Field{[10]uint32{0x03e69de9, 0x00718e64, 0x00debd02, 0x0013101d, 0x035d944f, 0x00ce2230, 0x01843d6c, 0x018cfb6e, 0x037da915, 0x000ae4f8}}, Y: Field{[10]uint32{0x030522f0, 0x034f2212, 0x001676f2, 0x017f1c94, 0x00366a4a, 0x004c83bf, 0x0372a58f, 0x0287324f, 0x0095c6ff, 0x003acf44}}}, + {X: Field{[10]uint32{0x02091b69, 0x02407459, 0x02331060, 0x02522c52, 0x03e4875b, 0x03f6d01b, 0x01913ab0, 0x011c5bd4, 0x03b39045, 0x00206008}}, Y: Field{[10]uint32{0x0227e7b1, 0x039130a8, 0x00990f98, 0x0227e9f6, 0x026fe573, 0x00e393cb, 0x01af3e1f, 0x03911c31, 0x018a6224, 0x002cfd5c}}}, + {X: Field{[10]uint32{0x00662bb6, 0x00fc180f, 0x001fbdb3, 0x01ec84f7, 0x006645ce, 0x016c5061, 0x02e565b6, 0x029a76ca, 0x026a244c, 0x000059db}}, Y: Field{[10]uint32{0x022e0298, 0x028c7ee0, 0x001fdcf4, 0x026c5bb3, 0x01aeb968, 0x034b1f03, 0x03208300, 0x0177049a, 0x03a5deef, 0x00223872}}}, + {X: Field{[10]uint32{0x00298d54, 0x00b2c877, 0x02e4c391, 0x0150c38c, 0x01d96574, 0x008f8bc8, 0x0229d733, 0x00df78e1, 0x01a1a925, 0x0000be4c}}, Y: Field{[10]uint32{0x030ef904, 0x0077eba8, 0x03ccc52e, 0x03442f6e, 0x0195a5b2, 0x015899c4, 0x036fe43f, 0x003ebbbb, 0x01086fbc, 0x0024ca4b}}}, + {X: Field{[10]uint32{0x01fd0279, 0x01cc3228, 0x001af2d1, 0x03044898, 0x02be8a32, 0x013d1521, 0x03f20d9b, 0x0232462f, 0x0212f0dd, 0x001ee935}}, Y: Field{[10]uint32{0x02401179, 0x00d39e34, 0x00310d02, 0x0316f131, 0x013018e3, 0x0334126a, 0x0220af14, 0x0190c6cb, 0x02a1f5b0, 0x0022ab5e}}}, + {X: Field{[10]uint32{0x001d5e78, 0x01aa9872, 0x023d8528, 0x00233323, 0x03d6974d, 0x008de67a, 0x039b2be7, 0x01ea45a9, 0x02b085fe, 0x0003a37e}}, Y: Field{[10]uint32{0x023f926c, 0x02ead01b, 0x0181c37d, 0x00eec637, 0x00fbaec5, 0x01521eee, 0x0195d47a, 0x02d55b99, 0x006e519d, 0x0008485a}}}, + {X: Field{[10]uint32{0x0184ab5e, 0x02432683, 0x0264c94c, 0x028554d6, 0x02ea751d, 0x01facb9a, 0x01071061, 0x01fbd1be, 0x03bcb159, 0x001f5588}}, Y: Field{[10]uint32{0x00ce7575, 0x0372f0a8, 0x037e4204, 0x0351759a, 0x00701b3c, 0x02f8ba2e, 0x0114b70e, 0x031378c5, 0x03318004, 0x003718e7}}}, + {X: Field{[10]uint32{0x00a7ffa3, 0x03213ee2, 0x02ad57b9, 0x005a0778, 0x001e4ac9, 0x00ee0880, 0x0186194b, 0x02fb1d22, 0x022d8074, 0x00023a07}}, Y: Field{[10]uint32{0x019fa890, 0x02052641, 0x03e6cdc7, 0x026a37e4, 0x03fa94e9, 0x018b40fd, 0x016f6cf7, 0x01120329, 0x001df4a3, 0x0010217b}}}, + {X: Field{[10]uint32{0x028da71e, 0x034ea169, 0x0052b53e, 0x0324ad73, 0x0173e68a, 0x01a71a0a, 0x018affd1, 0x03b98978, 0x03e78290, 0x002a7568}}, Y: Field{[10]uint32{0x00805fd6, 0x026f92ad, 0x02536ee8, 0x0083391e, 0x028d6e8b, 0x01e4ce22, 0x009ed298, 0x01622546, 0x016bf9eb, 0x000736ab}}}, + {X: Field{[10]uint32{0x03dba2cd, 0x02c48f15, 0x00497d64, 0x03c391ab, 0x00984985, 0x00c4be12, 0x037b3134, 0x01f0380e, 0x03cabcda, 0x0013df05}}, Y: Field{[10]uint32{0x034a25d7, 0x02d72a28, 0x00f5e888, 0x002a6eaa, 0x00c87701, 0x0141c334, 0x00be7c1d, 0x0030efcf, 0x01d95f47, 0x002182fb}}}, + {X: Field{[10]uint32{0x03a64921, 0x02ec2ae7, 0x025b5b4f, 0x00f14d5c, 0x01034b8c, 0x0155cd3a, 0x01bd016f, 0x029ee6a4, 0x017a9234, 0x0011e3cf}}, Y: Field{[10]uint32{0x00051a1f, 0x02d364ee, 0x021018ff, 0x015360fc, 0x003f2530, 0x0087a69f, 0x02bca05c, 0x00fc63ae, 0x0394f025, 0x0036e5e8}}}, + {X: Field{[10]uint32{0x027963d5, 0x014bac7f, 0x02329f25, 0x02ad87ee, 0x033ea09a, 0x007685e7, 0x037cc01b, 0x01b9f5a7, 0x017b73d9, 0x002b39f9}}, Y: Field{[10]uint32{0x02908918, 0x03bee249, 0x0211b796, 0x013040c1, 0x017e213e, 0x03809659, 0x010f824b, 0x02f413b2, 0x01f22b8d, 0x003e8094}}}, + {X: Field{[10]uint32{0x0108d1fd, 0x001039ea, 0x01f24374, 0x03e28742, 0x034401f2, 0x0337da7b, 0x013757cd, 0x001dc609, 0x0067f517, 0x003355ba}}, Y: Field{[10]uint32{0x03338fe1, 0x012ee89f, 0x03b90a45, 0x02109ded, 0x0183e4bd, 0x03d8831f, 0x02b29a22, 0x002e9228, 0x021652cf, 0x0021e3dc}}}, + {X: Field{[10]uint32{0x024d5329, 0x00f944fb, 0x03e33e92, 0x01cae819, 0x0167a2c6, 0x01ec9769, 0x031dd249, 0x03e26992, 0x025cd9d2, 0x000c10ba}}, Y: Field{[10]uint32{0x0268b1fb, 0x03906cd6, 0x0261281c, 0x021a3817, 0x02d3fa1d, 0x01b489e8, 0x028568cd, 0x01a85282, 0x0144d551, 0x0002e130}}}, + {X: Field{[10]uint32{0x02712ec0, 0x0147b267, 0x03f1bce3, 0x02455ebc, 0x0130a2e2, 0x02be80d1, 0x002b042b, 0x03b49802, 0x008da094, 0x00015782}}, Y: Field{[10]uint32{0x026b33e9, 0x03274bb1, 0x01db2082, 0x037e0b54, 0x0100caca, 0x00531512, 0x00919335, 0x020c9258, 0x017f6439, 0x0031be0a}}}, + {X: Field{[10]uint32{0x03408966, 0x02d1a44e, 0x01875e63, 0x020fbb5c, 0x01e0e0da, 0x0295e83a, 0x03f91817, 0x024ef28d, 0x013a69dd, 0x002f4b6c}}, Y: Field{[10]uint32{0x01b0da2d, 0x029d0a82, 0x00cf8078, 0x0391016e, 0x00187ee6, 0x03d96cfe, 0x03c25d50, 0x026cbc48, 0x0260f948, 0x0011b849}}}, + {X: Field{[10]uint32{0x03d3d210, 0x0158939f, 0x03ecb609, 0x006661a9, 0x00ef7c52, 0x013b4685, 0x02678e62, 0x0211557f, 0x0110cdbb, 0x001f5e94}}, Y: Field{[10]uint32{0x02c6c37c, 0x01d2965a, 0x00867727, 0x03680570, 0x00626a46, 0x02ea9281, 0x019d640a, 0x011493e0, 0x01c3c0a5, 0x003255e3}}}, + {X: Field{[10]uint32{0x037a3fa7, 0x02cc3d24, 0x037825bd, 0x00a406f5, 0x02fd4e6d, 0x013b6af1, 0x01669813, 0x004d50aa, 0x0317513b, 0x0007bc48}}, Y: Field{[10]uint32{0x010e1ade, 0x012276d6, 0x00039909, 0x02651a13, 0x01123198, 0x01aa327e, 0x011cee33, 0x02f3bcd1, 0x0288a391, 0x0038392d}}}, + {X: Field{[10]uint32{0x0206baaf, 0x00c33a85, 0x01d1949d, 0x021a2e68, 0x029f463b, 0x00cb4bc4, 0x02c6b2e3, 0x02e5db6f, 0x0003766f, 0x003bfe81}}, Y: Field{[10]uint32{0x001cb082, 0x00877bef, 0x003c2382, 0x03116d28, 0x03b0cbfd, 0x0280f785, 0x00de1b7d, 0x03e993ce, 0x0083bf3e, 0x002316c7}}}, + {X: Field{[10]uint32{0x0087d65c, 0x03699868, 0x02069df5, 0x0036743a, 0x0320bf78, 0x01cebd6f, 0x025f0222, 0x02810955, 0x01e976a9, 0x0037249c}}, Y: Field{[10]uint32{0x023d6063, 0x033629ad, 0x010c1944, 0x01f18852, 0x0055ce7c, 0x031ceddb, 0x02f11bb1, 0x034c3261, 0x01e7b27b, 0x0037219e}}}, + {X: Field{[10]uint32{0x00264619, 0x02ad052e, 0x031b2384, 0x024c0376, 0x02a1336b, 0x01d54075, 0x00f69462, 0x0280b086, 0x01c21e1c, 0x0002b877}}, Y: Field{[10]uint32{0x01b26b48, 0x03d0881f, 0x0076a01f, 0x0326a21f, 0x0332466b, 0x026a9db5, 0x00e5c8e1, 0x018497b2, 0x039d300b, 0x000871ac}}}, + {X: Field{[10]uint32{0x0282cf5b, 0x0338ead3, 0x00a1285c, 0x0226fcaf, 0x01033dd9, 0x00c5918d, 0x00924808, 0x00d724ae, 0x000ffe58, 0x002ba8b0}}, Y: Field{[10]uint32{0x03dfa97f, 0x0064eca4, 0x029673e8, 0x035014ee, 0x039aad65, 0x019c2c64, 0x0220e84e, 0x0184490a, 0x00cf935a, 0x00185566}}}, + {X: Field{[10]uint32{0x02ebf696, 0x02322fa2, 0x0066b634, 0x00f98db2, 0x01b45e72, 0x02451d9f, 0x01b30b65, 0x00ea1bd5, 0x021634b4, 0x00244f43}}, Y: Field{[10]uint32{0x01971a9f, 0x01e9710e, 0x00305148, 0x00385235, 0x0039c0c1, 0x00c5c809, 0x02574af4, 0x03f69340, 0x020751af, 0x00385319}}}, + {X: Field{[10]uint32{0x03c26fc0, 0x0094b48e, 0x0005a301, 0x00f621e3, 0x0040fc16, 0x02ec3e72, 0x00d61916, 0x02b20178, 0x0354775c, 0x0013c2cc}}, Y: Field{[10]uint32{0x018da1e3, 0x03f0fcef, 0x01ac3fa8, 0x01ddba15, 0x016c0e10, 0x03cf897c, 0x02eb2eb5, 0x03f7e0e9, 0x00863aed, 0x002c2dd5}}}, + {X: Field{[10]uint32{0x0316129d, 0x028f693c, 0x0083b181, 0x02583e02, 0x02f469df, 0x03197ab4, 0x033b2f75, 0x025e3dd9, 0x014073cc, 0x00176886}}, Y: Field{[10]uint32{0x02f311d1, 0x03051663, 0x031eaf3b, 0x036d8a16, 0x030237b1, 0x0067ad50, 0x00d5e63e, 0x0099c15c, 0x0080743d, 0x002145b4}}}, + {X: Field{[10]uint32{0x03e74a23, 0x03bbb45a, 0x0163dd4b, 0x00c89a74, 0x02a8fbc1, 0x00d0134d, 0x0392fb46, 0x03e46b32, 0x0330ca7a, 0x001db86c}}, Y: Field{[10]uint32{0x027f5326, 0x02b83787, 0x02791bca, 0x000000c6, 0x0002ce28, 0x03fe837b, 0x016f2e52, 0x023bcfb2, 0x0253c590, 0x00042ce4}}}, + {X: Field{[10]uint32{0x02393e64, 0x025d743b, 0x01be1d76, 0x015d9c77, 0x018fe8ef, 0x022c8cd6, 0x03912637, 0x003b860b, 0x008b2f21, 0x00312f92}}, Y: Field{[10]uint32{0x0379f449, 0x01389c2e, 0x02aee10d, 0x01c3e01f, 0x00b910cd, 0x02632809, 0x00beadcb, 0x02695120, 0x012fa1a0, 0x002fb04e}}}, + {X: Field{[10]uint32{0x0333ff37, 0x00329724, 0x0254256d, 0x000134da, 0x0025f5be, 0x00f58230, 0x0313848d, 0x03f5dec7, 0x018da141, 0x000151a4}}, Y: Field{[10]uint32{0x01914ac7, 0x008fa3ce, 0x004dcc2d, 0x02920cdc, 0x03b0b82b, 0x033e686f, 0x0300d716, 0x02f86973, 0x00c79684, 0x0000f475}}}, + {X: Field{[10]uint32{0x026078de, 0x03065809, 0x0210a320, 0x02c6719f, 0x002e6df8, 0x023fc3d0, 0x03368b09, 0x03af44b7, 0x03c42c51, 0x00337f1b}}, Y: Field{[10]uint32{0x0189cb0d, 0x02f81a3f, 0x0063c0fe, 0x0046dbdd, 0x03c26894, 0x02cddd3c, 0x03bef456, 0x01499151, 0x0130023e, 0x0016617a}}}, + {X: Field{[10]uint32{0x00f03034, 0x02ef351f, 0x00e99c99, 0x012d1c63, 0x02036f0e, 0x01023851, 0x021eec62, 0x005281bc, 0x00cc593b, 0x001dcc3f}}, Y: Field{[10]uint32{0x02016b72, 0x023e644f, 0x0001ccc2, 0x02ddbe5c, 0x0152beac, 0x024aa9f7, 0x030151b4, 0x03904a70, 0x03e20736, 0x003c5f43}}}, + {X: Field{[10]uint32{0x0141b3ea, 0x01acd51e, 0x03090572, 0x02a57eb7, 0x01d855a7, 0x03e256f1, 0x00c7b559, 0x0023d19d, 0x03de4743, 0x0022a930}}, Y: Field{[10]uint32{0x00b8594d, 0x0357dc57, 0x018be7db, 0x01085432, 0x0278d9da, 0x03d00fb4, 0x034ae9ad, 0x00988c6f, 0x004a0eac, 0x003c9d71}}}, + {X: Field{[10]uint32{0x0325bb79, 0x01534434, 0x0313c5cb, 0x0375e156, 0x01f32d33, 0x02250124, 0x036f87ff, 0x03a49625, 0x01a497a4, 0x0005649b}}, Y: Field{[10]uint32{0x03ce8e51, 0x03c5b619, 0x00d40d35, 0x01e20a20, 0x001aa03c, 0x0327dc6e, 0x031bf67e, 0x02fea3a1, 0x00b65b1e, 0x00056b18}}}, + {X: Field{[10]uint32{0x01b1710d, 0x02bbaf7d, 0x02dbb35f, 0x01175159, 0x02fc99f5, 0x00005a23, 0x0062b48f, 0x0055d1e5, 0x00feaa74, 0x00157d3d}}, Y: Field{[10]uint32{0x0302d15f, 0x01486d2e, 0x03e0f662, 0x02b6db8f, 0x03d015a4, 0x01f7fb0f, 0x027b8945, 0x0132139d, 0x020563f2, 0x00203b3a}}}, + {X: Field{[10]uint32{0x00e93cee, 0x00dfda38, 0x03e0d0b1, 0x035d335c, 0x02f04a60, 0x0136ccdf, 0x0357c4ae, 0x01fccfe8, 0x02cf402f, 0x0025695a}}, Y: Field{[10]uint32{0x036501fd, 0x0086d3bb, 0x021a4bd5, 0x038f396d, 0x01d21c89, 0x00c326b9, 0x034e72ca, 0x02ea105b, 0x01bfb7c9, 0x0039c901}}}, + {X: Field{[10]uint32{0x027a2aac, 0x02206ae3, 0x03cd64b0, 0x03fc1266, 0x03c2a697, 0x00daa5e0, 0x0034b7bc, 0x01eed44c, 0x0190b50d, 0x000a2a7f}}, Y: Field{[10]uint32{0x0394a788, 0x00fea8e5, 0x01720b58, 0x03d453e8, 0x01a37cfa, 0x005421e0, 0x02635968, 0x01fa9268, 0x01b05c7e, 0x001dac54}}}, + {X: Field{[10]uint32{0x0334b672, 0x03e97bf9, 0x0393cb36, 0x034e6736, 0x00b571e2, 0x02b0e3ac, 0x0116b93e, 0x018b1290, 0x01136d64, 0x001901b7}}, Y: Field{[10]uint32{0x01d7fd1e, 0x03a8d617, 0x0274fdef, 0x006a5df6, 0x01b4c5eb, 0x00aa447e, 0x019c9d06, 0x0398514b, 0x037b92b8, 0x000e5d31}}}, + {X: Field{[10]uint32{0x01066529, 0x022d99bc, 0x003c2e3c, 0x01f8dd9c, 0x029d40c3, 0x024cdd1f, 0x03ef9039, 0x03870253, 0x023fcb62, 0x0023f63c}}, Y: Field{[10]uint32{0x014ab5c8, 0x003815c3, 0x02baf310, 0x004c8244, 0x025ba190, 0x016498a5, 0x029099d7, 0x005d6c92, 0x039bde10, 0x0022c2cb}}}, + {X: Field{[10]uint32{0x03a1a24b, 0x03bb0558, 0x023cc3e0, 0x02acb49c, 0x03cc525b, 0x02325390, 0x00679bdc, 0x01cda270, 0x022bd445, 0x00145e02}}, Y: Field{[10]uint32{0x00e01109, 0x000fe8bc, 0x03dfc646, 0x028cd4c3, 0x014b6b08, 0x024e4713, 0x006e5db2, 0x02347b1d, 0x019b0e17, 0x001409b3}}}, + {X: Field{[10]uint32{0x00283561, 0x02d0aa63, 0x01065bee, 0x00d1a123, 0x025b8c85, 0x0364e772, 0x02fe0e5c, 0x03e6fcf4, 0x013ae7c7, 0x002a8052}}, Y: Field{[10]uint32{0x00da82d9, 0x0220440b, 0x030f0e9e, 0x0022cf84, 0x021783e9, 0x006678f4, 0x023af145, 0x02d78d91, 0x03454a42, 0x002823c2}}}, + {X: Field{[10]uint32{0x00ceab70, 0x029814c6, 0x01afb97f, 0x035065b3, 0x010e4456, 0x01a89fa0, 0x001c4fad, 0x039b52b2, 0x0349d4bb, 0x003362ad}}, Y: Field{[10]uint32{0x01f59beb, 0x00bc6e17, 0x01231da3, 0x020ec14a, 0x01ca8621, 0x0335eb4f, 0x01c92493, 0x02883780, 0x0339bd68, 0x003f1b1d}}}, + {X: Field{[10]uint32{0x01fe3e32, 0x02fb1715, 0x027eae00, 0x03871668, 0x02379f56, 0x002ed221, 0x017bc54e, 0x014079e8, 0x02f2e824, 0x0039a737}}, Y: Field{[10]uint32{0x02c41cd4, 0x03616362, 0x03c80f41, 0x0399b12e, 0x013fe735, 0x018a45e4, 0x0125338f, 0x014e6040, 0x01104037, 0x0003a03b}}}, + {X: Field{[10]uint32{0x03ff8a8d, 0x00623836, 0x004a2f30, 0x01a5e406, 0x00f6b6ec, 0x038c6073, 0x0308af19, 0x007dfbbe, 0x02d9182b, 0x0016939c}}, Y: Field{[10]uint32{0x01f9da19, 0x0049408b, 0x00bee2d9, 0x0189ed6c, 0x017b62ea, 0x02b0ce97, 0x031c5885, 0x015f60ec, 0x03f2d5a8, 0x000b473d}}}, + {X: Field{[10]uint32{0x00984a2b, 0x00f46d7e, 0x0330a8f2, 0x01517740, 0x020d78f1, 0x024829e7, 0x00416b03, 0x01884504, 0x005948bd, 0x00278002}}, Y: Field{[10]uint32{0x008e3f62, 0x00459d32, 0x03338db6, 0x01683634, 0x00151ab8, 0x036c37f2, 0x030680ce, 0x03f4f308, 0x00920412, 0x000dab81}}}, + {X: Field{[10]uint32{0x018bc6ff, 0x00bc84c9, 0x00d18ac8, 0x0217c2f2, 0x0399f884, 0x03a90971, 0x02d35d4a, 0x021cd3b2, 0x03aeb12f, 0x001f82e5}}, Y: Field{[10]uint32{0x01f3946e, 0x01902d5a, 0x037bccc7, 0x01011a4b, 0x00ab95fb, 0x02c2db97, 0x003b0b8a, 0x006da8ff, 0x0224a4be, 0x0039dbd3}}}, + {X: Field{[10]uint32{0x01038ee2, 0x00cdb198, 0x00c860b9, 0x039606f8, 0x02b3064b, 0x019e1e3e, 0x0281ff28, 0x03125772, 0x00fb1bdf, 0x00188a17}}, Y: Field{[10]uint32{0x009b5161, 0x013705e1, 0x024f771f, 0x0360869b, 0x00a65ca8, 0x03c56775, 0x0285ea08, 0x03a7cd03, 0x03e45f60, 0x003cb246}}}, + {X: Field{[10]uint32{0x02c82623, 0x03c49aa9, 0x00ac8006, 0x02ebbbcf, 0x00cd3765, 0x01b57067, 0x01870ef3, 0x02d735a6, 0x02812de1, 0x001c08d3}}, Y: Field{[10]uint32{0x01330736, 0x00e6ee10, 0x036ec071, 0x01a43f56, 0x023140f7, 0x0011ce2e, 0x03f3c920, 0x029ddc98, 0x018a0f92, 0x0038b6fe}}}, + {X: Field{[10]uint32{0x015db07d, 0x025e29f3, 0x025e6136, 0x0399fd2f, 0x037dc1b4, 0x010d2c29, 0x0240ef57, 0x035737b7, 0x00618f31, 0x002b9dc1}}, Y: Field{[10]uint32{0x013d16e6, 0x034fa4f6, 0x03b01d46, 0x004a5459, 0x005cc43e, 0x001d00df, 0x0120e420, 0x01121cfd, 0x01646558, 0x00293894}}}, + {X: Field{[10]uint32{0x006f2b53, 0x0126dbc9, 0x026049e3, 0x039f590f, 0x005b7f4c, 0x01a39825, 0x02b78fb7, 0x01a62d22, 0x008fe4db, 0x0033b1eb}}, Y: Field{[10]uint32{0x025fadfb, 0x01b4006d, 0x03c325ca, 0x03d2035a, 0x017f5d3c, 0x0293f20c, 0x03bfd2a7, 0x001a150c, 0x01459933, 0x001246ed}}}, + {X: Field{[10]uint32{0x005eee36, 0x013571df, 0x006658db, 0x033f0bfe, 0x010852e4, 0x01588a5e, 0x02f62e83, 0x03927c9d, 0x0296b051, 0x002009db}}, Y: Field{[10]uint32{0x002f6d9d, 0x035f713d, 0x0330cf06, 0x0394dccf, 0x002c4d4c, 0x03dd44e9, 0x00d526e5, 0x0227c21c, 0x02968825, 0x003d4435}}}, + {X: Field{[10]uint32{0x0285b27d, 0x0110c5f6, 0x02741b89, 0x03260af6, 0x00e9e351, 0x03e3e142, 0x0163934e, 0x03eabb98, 0x03d49d85, 0x002c6409}}, Y: Field{[10]uint32{0x0247a824, 0x02ecdcba, 0x002d6dba, 0x0048815d, 0x028439f8, 0x00bac10b, 0x038443af, 0x039a72cd, 0x01cbdec0, 0x00304918}}}, + {X: Field{[10]uint32{0x030c792c, 0x0016cb95, 0x0308129e, 0x01bfef10, 0x01989c65, 0x02b851fc, 0x013fc78a, 0x0300074f, 0x014acf07, 0x0015d667}}, Y: Field{[10]uint32{0x018514b0, 0x02ef7100, 0x03a23f13, 0x03ce4042, 0x0238b57a, 0x02d2d3c0, 0x00e181b1, 0x02e85b86, 0x020fd215, 0x00173e3a}}}, + {X: Field{[10]uint32{0x02e6e4b7, 0x01b9063a, 0x01490bad, 0x0230ac1f, 0x00306e6f, 0x014f9d8f, 0x03cda2b6, 0x002e0b14, 0x0283fa11, 0x0016add8}}, Y: Field{[10]uint32{0x015e8ea0, 0x00deaead, 0x02884f74, 0x01c9058a, 0x03aebe82, 0x00decfe0, 0x027de95b, 0x01e38c5e, 0x0243cc2a, 0x003fcd95}}}, + {X: Field{[10]uint32{0x019d4a85, 0x000f9fe5, 0x00898649, 0x03910943, 0x0266ea88, 0x02800c77, 0x012dd45f, 0x035edfa9, 0x01e48602, 0x001ee4f6}}, Y: Field{[10]uint32{0x022b52f0, 0x01474cc5, 0x01099a48, 0x01807cab, 0x030f6dd0, 0x03beb5b0, 0x00f50a0f, 0x007fa428, 0x02015ab9, 0x0026732c}}}, + {X: Field{[10]uint32{0x0396ebb6, 0x038b38be, 0x00a9307e, 0x0086e584, 0x011de26a, 0x02cded2e, 0x0101be72, 0x009dd904, 0x00b6af64, 0x000b561e}}, Y: Field{[10]uint32{0x00fc585a, 0x012f5f0b, 0x018f547d, 0x01aedf48, 0x00a88706, 0x019c5bcb, 0x00815d94, 0x00013a08, 0x005ddf4b, 0x0004e3b8}}}, + {X: Field{[10]uint32{0x0160af3b, 0x00c9a739, 0x03ee7ac1, 0x03d4e33e, 0x03cf1ccf, 0x039072d5, 0x00a0fce2, 0x00cb6809, 0x0068eebc, 0x000758dc}}, Y: Field{[10]uint32{0x0276eadb, 0x0333f4b0, 0x009ed1b4, 0x0252dfba, 0x02d589a4, 0x0377282b, 0x005ce542, 0x0191159a, 0x01f1a289, 0x001aa4cb}}}, + {X: Field{[10]uint32{0x027de64c, 0x0273c111, 0x029a3947, 0x03bc3fa4, 0x0326a478, 0x0244ac15, 0x0187a680, 0x0048d7cc, 0x036b460e, 0x0020aeae}}, Y: Field{[10]uint32{0x0345647f, 0x00227844, 0x00faff51, 0x0068c9f4, 0x015de43a, 0x013560da, 0x033c11c9, 0x000e5807, 0x0233603d, 0x000ea7d3}}}, + {X: Field{[10]uint32{0x0348090a, 0x01b72a82, 0x01262c27, 0x00d0306e, 0x00a01c51, 0x036ab984, 0x03d899a9, 0x016ff6d8, 0x031d4e71, 0x002ba1b9}}, Y: Field{[10]uint32{0x00fd7b5e, 0x00778a53, 0x02126a30, 0x020e7271, 0x006f2f9e, 0x02d1619e, 0x02c4df93, 0x023deffa, 0x008bfcae, 0x000d592d}}}, + {X: Field{[10]uint32{0x02a413e8, 0x01d0d90a, 0x0000ef57, 0x02f247d0, 0x02664c50, 0x007accad, 0x02d6ad7f, 0x00730fd2, 0x02fbfc66, 0x000d6970}}, Y: Field{[10]uint32{0x02d6cde5, 0x006f33b2, 0x02752711, 0x0249332b, 0x01b901d6, 0x022a0721, 0x00727826, 0x019920f8, 0x01a2887f, 0x0012940a}}}, + {X: Field{[10]uint32{0x0058e2dc, 0x01ac1a56, 0x0360ecbc, 0x0259b1b5, 0x02763244, 0x03494766, 0x027c29ad, 0x00229d87, 0x007f4dd5, 0x000e1afc}}, Y: Field{[10]uint32{0x02407696, 0x006b61f7, 0x01f41e81, 0x008456a0, 0x020f07c6, 0x023ec52c, 0x0103e196, 0x0280e076, 0x00049c1f, 0x00353c52}}}, + {X: Field{[10]uint32{0x02346f96, 0x0379aa84, 0x00909fab, 0x01f32f5c, 0x03f9c46c, 0x02441361, 0x02c445ec, 0x03d33142, 0x001c9bd6, 0x0037fb0e}}, Y: Field{[10]uint32{0x017553f1, 0x033fc09e, 0x03f2e56c, 0x01da922d, 0x03d1ce0f, 0x0365a516, 0x017ef3ca, 0x01926f7e, 0x00f825b6, 0x00179cd1}}}, + {X: Field{[10]uint32{0x002abbb2, 0x0307aa21, 0x00aaa007, 0x000b48d6, 0x02f8a243, 0x03a82ff0, 0x013e0b70, 0x00133152, 0x00c604db, 0x000d81b7}}, Y: Field{[10]uint32{0x0287301d, 0x011f9e15, 0x025edbb5, 0x02c6f880, 0x0387eea8, 0x03b28d99, 0x03569a1f, 0x026dd2e2, 0x003bbc4d, 0x0029721d}}}, + {X: Field{[10]uint32{0x012b0016, 0x014a0979, 0x012b6660, 0x00e239db, 0x00db0860, 0x007464a8, 0x03025a47, 0x025b8a68, 0x0337e190, 0x000d1079}}, Y: Field{[10]uint32{0x01eef0da, 0x02d83de0, 0x01b9e7db, 0x0128de18, 0x015eb9bd, 0x02c8ce8e, 0x003ad47b, 0x032639cf, 0x037ed5ca, 0x0001b443}}}, + {X: Field{[10]uint32{0x02636e99, 0x01504289, 0x03030002, 0x02fd737f, 0x01b1d902, 0x015aa73d, 0x02a7a5c4, 0x0230d2d7, 0x002e460d, 0x002cb25f}}, Y: Field{[10]uint32{0x02057b7c, 0x0227a8f8, 0x02bfa232, 0x007c9c85, 0x021f151e, 0x03da5cf8, 0x03417b3c, 0x03bcc1d4, 0x0081a8c8, 0x0019c4cc}}}, + {X: Field{[10]uint32{0x03e045fd, 0x03054055, 0x01a973b6, 0x02dcf6d1, 0x019b7932, 0x016409ed, 0x03fdabed, 0x00f773e3, 0x018b59a4, 0x0009d02f}}, Y: Field{[10]uint32{0x03b02a85, 0x01e01fa4, 0x0182e1ea, 0x0392c3af, 0x03987aab, 0x0304ddd4, 0x00787a63, 0x006b50b0, 0x02b1f69f, 0x002041bc}}}, + {X: Field{[10]uint32{0x01b6c21b, 0x01597862, 0x009a69ee, 0x01a76331, 0x00aaa8e2, 0x00fe5003, 0x00b4f400, 0x02530336, 0x03d9bdbd, 0x00286b3f}}, Y: Field{[10]uint32{0x02f0235b, 0x0305afc3, 0x00a66df7, 0x03033065, 0x00bcc4fd, 0x03d393d1, 0x00acfbd4, 0x03d4625d, 0x017e0733, 0x0018bb1f}}}, + {X: Field{[10]uint32{0x03349847, 0x007d05d5, 0x00cff630, 0x02f4ccb6, 0x019a5357, 0x00e34eab, 0x038c0f15, 0x012b30c9, 0x02d68d52, 0x00142eca}}, Y: Field{[10]uint32{0x03acfb32, 0x00d4a1fe, 0x03139b85, 0x039659df, 0x02ba4b33, 0x03bc062e, 0x03d4c6e1, 0x009af6e5, 0x03d5d035, 0x00363f0c}}}, + {X: Field{[10]uint32{0x034fdbd9, 0x03420e17, 0x0132ec9f, 0x02823f43, 0x01948e2c, 0x008a2040, 0x035e8601, 0x02d3eb59, 0x02626031, 0x003af7ec}}, Y: Field{[10]uint32{0x000dbf2e, 0x018a69e9, 0x02a0a9c4, 0x010a2546, 0x034f853a, 0x019b8c66, 0x03964e44, 0x0044f76c, 0x026cc470, 0x002c1e01}}}, + {X: Field{[10]uint32{0x018bd48f, 0x022dd0ba, 0x001f63a4, 0x03e05c55, 0x01d57b35, 0x0023f56b, 0x02f73e82, 0x00a8bef7, 0x00236548, 0x00176bd3}}, Y: Field{[10]uint32{0x0287f967, 0x031d728b, 0x0327db2c, 0x03cb08c0, 0x009cbd11, 0x03e8f7fb, 0x03fc83c4, 0x02181fd7, 0x03cb5a24, 0x0024056f}}}, + {X: Field{[10]uint32{0x028533c7, 0x0147327b, 0x0277d085, 0x017cac4a, 0x01238c90, 0x00d4fe09, 0x0219517f, 0x0020519e, 0x00205d84, 0x0008b6e7}}, Y: Field{[10]uint32{0x006dcdf8, 0x01c0e2ce, 0x0231c85f, 0x00a6d811, 0x027ad19e, 0x02e6b3c3, 0x02192642, 0x00a8a28c, 0x03c82343, 0x001a0286}}}, + {X: Field{[10]uint32{0x00c100ae, 0x01ca1875, 0x00d4f4db, 0x016111a5, 0x019fb446, 0x021b9b95, 0x0225213f, 0x02f94649, 0x01d102e8, 0x0010110d}}, Y: Field{[10]uint32{0x011586d1, 0x0213de1b, 0x00f4cb62, 0x016a5078, 0x02dd734e, 0x03e09246, 0x02047768, 0x03bbeba3, 0x0282b321, 0x0027af39}}}, + {X: Field{[10]uint32{0x0037530f, 0x00994cba, 0x009f260c, 0x027331a7, 0x00fe59df, 0x0354b687, 0x0200d1a3, 0x029b7be1, 0x02ff6831, 0x003730db}}, Y: Field{[10]uint32{0x0377a893, 0x0256b307, 0x014d65b7, 0x03fda643, 0x03b6b385, 0x01e159b2, 0x0298c135, 0x02dfa17a, 0x01e67360, 0x0021826d}}}, + {X: Field{[10]uint32{0x001a1514, 0x014f9e67, 0x019a8b43, 0x0101178b, 0x00e991d1, 0x018cf2d2, 0x004cd04c, 0x00e0f929, 0x03941a1c, 0x003bc37e}}, Y: Field{[10]uint32{0x036f6f42, 0x01721abd, 0x006d461e, 0x02f0f8cd, 0x019c3599, 0x01a4fb41, 0x033afabf, 0x017e6adc, 0x0160f2a7, 0x00009a17}}}, + {X: Field{[10]uint32{0x01766b8a, 0x02f14dc7, 0x01b3086a, 0x02eb6758, 0x02410b0f, 0x03299ac1, 0x012e18f2, 0x03bf5ad3, 0x00fdc6c3, 0x00092213}}, Y: Field{[10]uint32{0x00e2267d, 0x01ec5f6b, 0x0119e465, 0x0066a9a1, 0x0086a786, 0x0288f04c, 0x015c6bf8, 0x036a9f4e, 0x008566f3, 0x001f0737}}}, + {X: Field{[10]uint32{0x02cd8b20, 0x01d18c92, 0x01a450de, 0x00219e36, 0x01485b07, 0x0206dbc1, 0x0207756f, 0x012a04b1, 0x0291c700, 0x001506d9}}, Y: Field{[10]uint32{0x01c609d7, 0x0179d931, 0x0117fc7f, 0x037eba61, 0x00cefff3, 0x008e0de1, 0x009f0d50, 0x010a6b1d, 0x03018a3c, 0x0037733c}}}, + {X: Field{[10]uint32{0x01fa822d, 0x0090b068, 0x03b9a138, 0x0322ee76, 0x02f792cf, 0x03c7e0a5, 0x005eea4f, 0x00b8fea4, 0x01696726, 0x0001518a}}, Y: Field{[10]uint32{0x01e6880e, 0x02b6ff88, 0x0218570d, 0x01c043db, 0x03da2d73, 0x02195967, 0x02d8e7f9, 0x02549d3e, 0x02898e42, 0x0018c048}}}, + {X: Field{[10]uint32{0x00848e83, 0x0200833b, 0x01f6d6e1, 0x01241b3a, 0x003ddfd9, 0x001185bf, 0x0122bb97, 0x004a7734, 0x0112ad2c, 0x002501c2}}, Y: Field{[10]uint32{0x0314017b, 0x02e9b66d, 0x01536d1f, 0x03e0ad5c, 0x00b5d261, 0x0169cca9, 0x0101080b, 0x0327c532, 0x00e56bfa, 0x00270ece}}}, + {X: Field{[10]uint32{0x023ca6c9, 0x02e4a95b, 0x020173ed, 0x0180d94e, 0x02ea73b0, 0x00505ee4, 0x028071cc, 0x01987abe, 0x00e48ddc, 0x000a98cc}}, Y: Field{[10]uint32{0x03fc7d79, 0x01d878f0, 0x016f3d8b, 0x00e1ad54, 0x035802bc, 0x02fd3eea, 0x02d56a3f, 0x030d42e8, 0x01cd4754, 0x002ce314}}}, + {X: Field{[10]uint32{0x03f7424d, 0x02c11eb4, 0x00c39dac, 0x0071fbf1, 0x008c418c, 0x03fd69f5, 0x024078c5, 0x03685d6b, 0x00935f95, 0x002450b9}}, Y: Field{[10]uint32{0x0085cd05, 0x022b732e, 0x02ac0e69, 0x01fd629f, 0x0137d0ab, 0x0293e6c1, 0x0284ea55, 0x00cea7a1, 0x0274c471, 0x00054596}}}, + {X: Field{[10]uint32{0x0285804d, 0x03a995b2, 0x0169ad1e, 0x01c9ff2f, 0x000bb8d3, 0x022351fa, 0x0263ef38, 0x0137bb6e, 0x03295cac, 0x000b8662}}, Y: Field{[10]uint32{0x0380fd52, 0x01ae7b19, 0x02e63067, 0x01a07148, 0x00eb3824, 0x02c720c3, 0x02b0c2b1, 0x03fef854, 0x01b3e700, 0x000c7757}}}, + {X: Field{[10]uint32{0x0272f72d, 0x03d4db2c, 0x0264e5a3, 0x038befc0, 0x0032a671, 0x02f66f16, 0x023e52a7, 0x032bebc4, 0x01e9b2ef, 0x002d138d}}, Y: Field{[10]uint32{0x02a43423, 0x005a9696, 0x02b0871c, 0x0304e4d2, 0x03f80c81, 0x0090f992, 0x032b80a1, 0x027f5098, 0x03e3beb3, 0x00235227}}}, + {X: Field{[10]uint32{0x003a3cd7, 0x037d906e, 0x013beefd, 0x02d6439b, 0x00f609f0, 0x008918f7, 0x02cf365c, 0x012db6d7, 0x0101e132, 0x0037266b}}, Y: Field{[10]uint32{0x0111b682, 0x03f921bb, 0x003decf0, 0x02511e81, 0x03a4c1e7, 0x00e4f021, 0x000ad6a4, 0x02fabccb, 0x02ca2fea, 0x002d2d08}}}, + {X: Field{[10]uint32{0x0162a359, 0x03146ebe, 0x0237648f, 0x03f3a8a1, 0x013029eb, 0x021a3d34, 0x02af89bb, 0x0070b73e, 0x038eeb99, 0x00385d20}}, Y: Field{[10]uint32{0x00e7570b, 0x016b4aa8, 0x01ec70c0, 0x018a086a, 0x000238dc, 0x0369731d, 0x031b60a4, 0x0377252e, 0x008727cb, 0x003e0373}}}, + {X: Field{[10]uint32{0x02583d33, 0x00437ea8, 0x0349765d, 0x0062d5a2, 0x014ca21d, 0x02dce7ad, 0x00d79a48, 0x005b510b, 0x018b15bd, 0x0018900d}}, Y: Field{[10]uint32{0x00ec2d00, 0x00f0375b, 0x0013fa61, 0x005b7ccd, 0x01fc5461, 0x0290db54, 0x02d8caa8, 0x01d543b5, 0x014d724e, 0x001ab2c1}}}, + {X: Field{[10]uint32{0x023f8d70, 0x01a0d0b9, 0x007b2e62, 0x01dcb070, 0x02aa61c0, 0x03f4ebde, 0x03a29b4b, 0x02b03d50, 0x00eb560a, 0x0029d5ff}}, Y: Field{[10]uint32{0x000352da, 0x0031033d, 0x0057b39d, 0x01419d25, 0x02b4c074, 0x02f1a880, 0x00713e27, 0x015743ed, 0x02eff808, 0x00161933}}}, + {X: Field{[10]uint32{0x03777bba, 0x02f5044b, 0x008143a1, 0x02602f1d, 0x01d4b1f4, 0x03942746, 0x02e94162, 0x00527640, 0x007357c3, 0x003cdb84}}, Y: Field{[10]uint32{0x03d1993e, 0x02a5a60e, 0x0025a14a, 0x010de3c3, 0x0045f74b, 0x01b0ff92, 0x00d93967, 0x009a4f90, 0x022d139a, 0x003535f6}}}, + {X: Field{[10]uint32{0x024af99a, 0x01a75648, 0x0020b172, 0x013f3125, 0x004a8e0e, 0x0189dfbc, 0x0134949b, 0x003fdc4e, 0x014b55a4, 0x00213bcb}}, Y: Field{[10]uint32{0x01ea73a6, 0x020c2161, 0x03e3e80a, 0x01d9d53b, 0x0260465e, 0x02c759d4, 0x03f2b7a0, 0x01423d97, 0x00b701d3, 0x0015ebff}}}, + {X: Field{[10]uint32{0x03ce7576, 0x01e1e10f, 0x03f4784f, 0x037d022c, 0x0296b046, 0x03fca2eb, 0x02fdca34, 0x03d9b5f7, 0x024b274f, 0x0004e3bd}}, Y: Field{[10]uint32{0x02e1ecf1, 0x021546ff, 0x03d4ced9, 0x004bb929, 0x01dfe979, 0x000c94bb, 0x02010cbd, 0x01f10d04, 0x00e51d51, 0x003af741}}}, + {X: Field{[10]uint32{0x011f318c, 0x032d820f, 0x0189b435, 0x00a38b66, 0x032d4547, 0x01434c15, 0x02a11455, 0x015a4884, 0x03fe2ba0, 0x003a0bc0}}, Y: Field{[10]uint32{0x0012dcda, 0x017d8fd6, 0x010f2eb2, 0x00dd8099, 0x03613b29, 0x028d3848, 0x02aaf1fe, 0x0162064a, 0x03b9cf29, 0x0006469b}}}, + {X: Field{[10]uint32{0x02afb317, 0x02f4b216, 0x0296be44, 0x02630346, 0x00111170, 0x03cd17b0, 0x035fb3e7, 0x01beb1fa, 0x0000676b, 0x0015a9a1}}, Y: Field{[10]uint32{0x031dfb4e, 0x016c33a7, 0x0194903f, 0x03f33874, 0x02f49ff2, 0x03106067, 0x01dcb5f4, 0x02df316e, 0x027a5ae1, 0x000e9060}}}, + {X: Field{[10]uint32{0x001309f5, 0x028f0cb7, 0x010084ef, 0x006b9029, 0x028f735b, 0x007c9982, 0x02fe255e, 0x00f6d3ce, 0x007f1b35, 0x0020bd5d}}, Y: Field{[10]uint32{0x024a0144, 0x02a64189, 0x03bd7dd5, 0x028a933d, 0x03d05f9e, 0x0055caef, 0x007e4c67, 0x03007dfa, 0x0103f4cc, 0x0010ba2e}}}, + {X: Field{[10]uint32{0x02e0cf13, 0x02b5651d, 0x002bb0bf, 0x03040678, 0x0280ef76, 0x01dacc4d, 0x0389e0c3, 0x00659292, 0x0141c47b, 0x002244da}}, Y: Field{[10]uint32{0x002d3f3b, 0x01d4de8b, 0x0221af6f, 0x01641dfd, 0x01d722e6, 0x005df18d, 0x0071bc50, 0x01593fd2, 0x0385fb6a, 0x002ce8a9}}}, + {X: Field{[10]uint32{0x02238909, 0x018297d0, 0x01df1c73, 0x02ee5d9c, 0x010b9954, 0x03bd7628, 0x030cb51e, 0x03d60003, 0x01690c98, 0x00318942}}, Y: Field{[10]uint32{0x018ec724, 0x01cc68c1, 0x01240219, 0x0365ac7b, 0x01552d5b, 0x0065f83a, 0x013f935e, 0x02ac8937, 0x024c915e, 0x0020f40c}}}, + {X: Field{[10]uint32{0x03c7e3b4, 0x0047f523, 0x00184274, 0x02377439, 0x01ad1293, 0x03aa6761, 0x024a481d, 0x00c80119, 0x02d96391, 0x00388e66}}, Y: Field{[10]uint32{0x03c69d47, 0x01537e24, 0x03298f9b, 0x0287ec43, 0x005d8b1f, 0x02270de0, 0x02836ed3, 0x00a388ba, 0x0162beae, 0x00183fff}}}, + {X: Field{[10]uint32{0x0003d959, 0x03e0870c, 0x007b85a1, 0x035f09f3, 0x020a59c5, 0x032345e5, 0x02383d6c, 0x00a64a69, 0x031c186d, 0x00013402}}, Y: Field{[10]uint32{0x02487640, 0x00c9fa33, 0x01cb4687, 0x0375be35, 0x02dd4aa3, 0x002df1f9, 0x01c8ce7a, 0x0067f527, 0x02d127eb, 0x0021d4ba}}}, + {X: Field{[10]uint32{0x0264121e, 0x025ceba4, 0x003185ea, 0x028d6591, 0x00933cbf, 0x02df8712, 0x02548e98, 0x014b246a, 0x03ef8b8b, 0x000d1198}}, Y: Field{[10]uint32{0x014d9efd, 0x02b9d814, 0x02b06dfe, 0x01738bdc, 0x036fe388, 0x02fa959c, 0x017e6240, 0x023bb2e5, 0x01c89dfe, 0x001cf426}}}, + {X: Field{[10]uint32{0x00de6648, 0x0222ef68, 0x019e35c7, 0x0355f28c, 0x03f411d3, 0x02526d3c, 0x03038d47, 0x00aa60cc, 0x004ddbd2, 0x000dffd2}}, Y: Field{[10]uint32{0x00547c67, 0x02b9aa48, 0x00bfba9a, 0x021a0e60, 0x03a45cf0, 0x03b07d70, 0x03b14554, 0x0236074b, 0x014b5161, 0x0015694e}}}, + {X: Field{[10]uint32{0x03556ca5, 0x0256c185, 0x012e14d7, 0x01c035bc, 0x00d2881f, 0x0331b4f6, 0x01339d14, 0x0019ae42, 0x01db0ad5, 0x0033cef3}}, Y: Field{[10]uint32{0x01678a6f, 0x025e91c4, 0x000b13c1, 0x03dc22df, 0x00b61b90, 0x009d8089, 0x020e4023, 0x003c8188, 0x02bc99e2, 0x003849a1}}}, + {X: Field{[10]uint32{0x01a73402, 0x000bb7d7, 0x00d4149f, 0x02852606, 0x03d35e47, 0x00f5d296, 0x00f91101, 0x0346b28e, 0x02e7db8f, 0x00258740}}, Y: Field{[10]uint32{0x01fed240, 0x0014561c, 0x0282a1db, 0x02b7f8be, 0x01765dc8, 0x03fc85fa, 0x0115ca3b, 0x019df059, 0x02acd698, 0x002518ba}}}, + {X: Field{[10]uint32{0x006ec3ba, 0x02be5fad, 0x0135c5e1, 0x00901169, 0x003648b7, 0x01d2052b, 0x0122ca60, 0x02399497, 0x0390574a, 0x0010f98b}}, Y: Field{[10]uint32{0x01939734, 0x01a8d6cf, 0x033a318f, 0x02167b71, 0x03e141dc, 0x00634140, 0x029e20ed, 0x033c5e4d, 0x025617c1, 0x001b7bc2}}}, + {X: Field{[10]uint32{0x03dfdbb7, 0x02001495, 0x0116033b, 0x02d2a58b, 0x020457e4, 0x0237a4ec, 0x02113cf9, 0x000630d4, 0x03799d79, 0x00279a0a}}, Y: Field{[10]uint32{0x0049041b, 0x00fb1754, 0x001e93f2, 0x0153ba6a, 0x01b29833, 0x010174b2, 0x00468a06, 0x018d0e27, 0x0316bfe9, 0x00276e72}}}, + {X: Field{[10]uint32{0x01a1a8b4, 0x021db935, 0x008f9436, 0x0390800b, 0x025f9682, 0x02148064, 0x0222d130, 0x02d676ca, 0x03a78079, 0x001e4061}}, Y: Field{[10]uint32{0x03fa456e, 0x02564b2b, 0x004de17e, 0x0075a981, 0x02ade0ad, 0x01aa39aa, 0x014381e5, 0x00c600d9, 0x0346f6b4, 0x00009722}}}, + {X: Field{[10]uint32{0x00169583, 0x0339557c, 0x02b1d683, 0x030c356e, 0x01662a0d, 0x016887ff, 0x0222d653, 0x012cce67, 0x038a6c74, 0x0024a292}}, Y: Field{[10]uint32{0x026fcf84, 0x01373266, 0x01eaa75d, 0x03d9a1ff, 0x01323d55, 0x03fb21ea, 0x01af7e45, 0x02552f87, 0x0284c064, 0x000947fb}}}, + {X: Field{[10]uint32{0x02084c88, 0x01b0fd2f, 0x03fde6c1, 0x00fa6efe, 0x03a6ffb7, 0x03262e1b, 0x01872de8, 0x00bcb2b1, 0x00da8118, 0x001a13a2}}, Y: Field{[10]uint32{0x036383fe, 0x03c19173, 0x00bb60bf, 0x02c1abee, 0x03ad179e, 0x01d55eac, 0x01ae45ff, 0x018b5648, 0x019dfc9d, 0x0031146d}}}, + {X: Field{[10]uint32{0x01174343, 0x02defe93, 0x02f6cad7, 0x033aa165, 0x038e8166, 0x02526f3a, 0x00ebfa86, 0x02c335ea, 0x0283a403, 0x0022f74b}}, Y: Field{[10]uint32{0x00177172, 0x032f23ea, 0x03bad08c, 0x0167a7bf, 0x03643bb3, 0x03b24df0, 0x0307b2fe, 0x020be1f5, 0x014797f6, 0x001c8830}}}, + {X: Field{[10]uint32{0x02399543, 0x03a02c2f, 0x008b4b69, 0x01a791a5, 0x03b71958, 0x03e487da, 0x0258ef50, 0x01254a14, 0x03216e3c, 0x0030fe8e}}, Y: Field{[10]uint32{0x02ec1796, 0x03b654c2, 0x0310fc8e, 0x0285d22e, 0x015a519c, 0x0009b0b1, 0x00880503, 0x01986ddc, 0x00ed21f6, 0x003ac811}}}, + {X: Field{[10]uint32{0x037e63a2, 0x028e29eb, 0x02b483d6, 0x034b990a, 0x00195a8b, 0x0034d578, 0x01fb0df5, 0x00a564de, 0x0013eb2d, 0x0007018f}}, Y: Field{[10]uint32{0x030f2abb, 0x03d5cde1, 0x02ed7cfc, 0x01d1fd11, 0x02b00428, 0x0310389a, 0x005005c8, 0x027fd9d7, 0x0392d14c, 0x000814e3}}}, + {X: Field{[10]uint32{0x0331d452, 0x006d7803, 0x0399981f, 0x037841f8, 0x016c6086, 0x009f2d4e, 0x002dc6c2, 0x03063d2e, 0x03977b54, 0x00183019}}, Y: Field{[10]uint32{0x0098429a, 0x0157c637, 0x0013b737, 0x03dc2ab3, 0x02ce0e8b, 0x015ebebf, 0x03d2617b, 0x0046cb9b, 0x02c4e3eb, 0x000fd151}}}, + {X: Field{[10]uint32{0x02a36856, 0x03c022ff, 0x01722c0a, 0x00aebc61, 0x03421cdc, 0x008c7b62, 0x0263e90a, 0x01aaef3c, 0x03999225, 0x003f0573}}, Y: Field{[10]uint32{0x0235d798, 0x00d375f1, 0x0197e276, 0x025fd726, 0x00c01dbd, 0x0268efc9, 0x01d46e46, 0x00214dc3, 0x02a4d9c4, 0x002af8d1}}}, + {X: Field{[10]uint32{0x03249454, 0x023f9109, 0x02ee5c6f, 0x01a99649, 0x001a92b0, 0x0322c1ee, 0x00da262b, 0x00eedd0a, 0x01851817, 0x003d850e}}, Y: Field{[10]uint32{0x0301cf84, 0x00f38635, 0x004aab9f, 0x03a6731e, 0x0011fced, 0x02fa397a, 0x001f06d4, 0x01630835, 0x02ef3a25, 0x002c760c}}}, + {X: Field{[10]uint32{0x0261b5f5, 0x0085b73b, 0x00bc7ad5, 0x010c4275, 0x0301f1fd, 0x01a845aa, 0x02685427, 0x02110907, 0x00a96221, 0x0015e516}}, Y: Field{[10]uint32{0x0053e2d8, 0x0352d84b, 0x03e237bd, 0x01365eba, 0x0021274a, 0x00d6fb5c, 0x00c8d461, 0x015f1857, 0x007468c1, 0x000cf959}}}, + {X: Field{[10]uint32{0x01fe62e7, 0x01479e90, 0x023bd8c0, 0x0007f85f, 0x03abab20, 0x038d57a3, 0x0162678f, 0x0104cad5, 0x03dcb080, 0x0018dd54}}, Y: Field{[10]uint32{0x03572dce, 0x005e4826, 0x00d3c319, 0x025a1d38, 0x036989b2, 0x019ee853, 0x026a9511, 0x01b87fc6, 0x01c2ad58, 0x000a2f5b}}}, + {X: Field{[10]uint32{0x0180e2a3, 0x00dc8bad, 0x028ea66c, 0x036d5dfe, 0x0389e99d, 0x03953d60, 0x01ddb923, 0x02156f88, 0x030f6f64, 0x003baef5}}, Y: Field{[10]uint32{0x02fd4d68, 0x021a09cc, 0x00e1dedc, 0x0260f7d8, 0x007c9866, 0x034eb13b, 0x015606ea, 0x000d1529, 0x017915b5, 0x000f46da}}}, + {X: Field{[10]uint32{0x006c56fb, 0x0143909a, 0x01ddb2e3, 0x022db971, 0x023a6e88, 0x01de448d, 0x011135f3, 0x02c769a2, 0x031f2bf4, 0x0013b224}}, Y: Field{[10]uint32{0x02a09bc7, 0x0277c8d5, 0x019f535d, 0x004155a4, 0x003cbab9, 0x02370f8a, 0x03197704, 0x00c1aaf5, 0x02794c2b, 0x00357db1}}}, + {X: Field{[10]uint32{0x02e9730e, 0x03094eaf, 0x001a735b, 0x01733137, 0x018f4937, 0x03f571dc, 0x004deabf, 0x01f9e9f6, 0x0376fc5b, 0x001ad69f}}, Y: Field{[10]uint32{0x03b58af8, 0x0277d910, 0x00b7af8f, 0x02afdab6, 0x039eafb8, 0x006155d5, 0x02562df1, 0x017daac4, 0x01c48fbf, 0x0007a4d7}}}, + {X: Field{[10]uint32{0x02013af7, 0x0391e227, 0x00f27683, 0x03cc8753, 0x035f5b73, 0x01f8a601, 0x024c7591, 0x02562909, 0x01ebf620, 0x000a8c4a}}, Y: Field{[10]uint32{0x01020da4, 0x006487f4, 0x036c689a, 0x00be9b09, 0x01406673, 0x036e2b1f, 0x0346edef, 0x00a2cfe8, 0x01e4c1fc, 0x003a503d}}}, + {X: Field{[10]uint32{0x0328b5ab, 0x03d458ee, 0x02d124c6, 0x00ef120d, 0x0294a872, 0x02fcb209, 0x0307f345, 0x010fcde0, 0x001ce994, 0x00022ffa}}, Y: Field{[10]uint32{0x00433c71, 0x0192b0fc, 0x01348364, 0x01214b99, 0x0087de98, 0x02345de9, 0x028edc26, 0x017ebe5d, 0x0227857e, 0x00162c5b}}}, + {X: Field{[10]uint32{0x02d61be3, 0x00cdef62, 0x00f831c1, 0x024a8143, 0x01054236, 0x03934d5b, 0x039daf3e, 0x0159b4b4, 0x00d9449c, 0x0011e083}}, Y: Field{[10]uint32{0x0152c2e4, 0x03ca3326, 0x026655e5, 0x0232a6ba, 0x011200d3, 0x00bc9d11, 0x02d069d2, 0x02a04001, 0x02032988, 0x001237eb}}}, + {X: Field{[10]uint32{0x01a934e2, 0x03a64855, 0x01131cd6, 0x0149075f, 0x00f9e8dc, 0x0130fbca, 0x01221d88, 0x00d81627, 0x03ce8e45, 0x000b5fc0}}, Y: Field{[10]uint32{0x03ee9c72, 0x00ae3a2d, 0x0043a57a, 0x01c9b5b2, 0x0116a7b2, 0x00a1813e, 0x014d55fe, 0x03ce387c, 0x03c05a39, 0x0021052c}}}, + {X: Field{[10]uint32{0x01d8e37b, 0x008017a6, 0x0267f1dc, 0x01b2cec7, 0x03f5a5b0, 0x02109416, 0x0150d4ee, 0x02321b08, 0x00ec919d, 0x0020e21f}}, Y: Field{[10]uint32{0x02b4c009, 0x03ba5064, 0x03e327a2, 0x039fe620, 0x03fcea9d, 0x03962117, 0x0134fe12, 0x03ab89e3, 0x03cdf5c9, 0x003fb839}}}, + {X: Field{[10]uint32{0x01ca1e24, 0x037c6474, 0x010f3f37, 0x002469ed, 0x00a9d0b7, 0x01970ff8, 0x028c03f5, 0x02eac836, 0x01e1138b, 0x0001467e}}, Y: Field{[10]uint32{0x0261ba9e, 0x0300da86, 0x039eb367, 0x02a6b79a, 0x01ef6cd6, 0x0207a5bd, 0x0231ec07, 0x033908fd, 0x02fe2bff, 0x001935ae}}}, + {X: Field{[10]uint32{0x028fba61, 0x004eb652, 0x02e6c3cd, 0x03998fb7, 0x023946ff, 0x00a4d854, 0x02de2087, 0x01d3a9a6, 0x038f84bc, 0x0020247d}}, Y: Field{[10]uint32{0x030bda1a, 0x00ea7302, 0x02212fe1, 0x03b0e79e, 0x006765fa, 0x01c02aab, 0x03a5d90d, 0x01a23072, 0x018baf84, 0x0006aaa9}}}, + {X: Field{[10]uint32{0x02db3afc, 0x023a5f9e, 0x01bb49ed, 0x00815b35, 0x018388cf, 0x028dbc43, 0x02a53434, 0x015d21f0, 0x000dd3fe, 0x00142af0}}, Y: Field{[10]uint32{0x01ed25ea, 0x00390763, 0x015d68a8, 0x03640eb7, 0x01670fe0, 0x026e76c0, 0x0064f01d, 0x00103ec7, 0x019514b6, 0x002ae2eb}}}, + {X: Field{[10]uint32{0x02a2f110, 0x001dcacd, 0x0131faa2, 0x00b9b44a, 0x0120e572, 0x010dab9d, 0x024f2533, 0x007d12a7, 0x00bb4da0, 0x002a690a}}, Y: Field{[10]uint32{0x034c0c5f, 0x0321141d, 0x037a0557, 0x02da16d0, 0x00f8c226, 0x03e94f88, 0x00f05822, 0x0289b110, 0x021a1830, 0x002e8144}}}, + {X: Field{[10]uint32{0x007a83ce, 0x026c742b, 0x03ecf64e, 0x0396ddd4, 0x01d6948b, 0x0047a668, 0x03fa11b2, 0x0359ddc9, 0x03d46314, 0x0035ebf6}}, Y: Field{[10]uint32{0x00e21d04, 0x02e8734d, 0x008f480a, 0x03e945ca, 0x03ee9b2a, 0x0272d0aa, 0x010ed9d7, 0x012aee8e, 0x017d748a, 0x002d7e2e}}}, + {X: Field{[10]uint32{0x036de265, 0x00aaff66, 0x03a99d62, 0x006b5462, 0x0113f19b, 0x019cab15, 0x0141694b, 0x01119a8f, 0x034cd2b5, 0x000adae0}}, Y: Field{[10]uint32{0x02b9b0d6, 0x033b141e, 0x01df187c, 0x026e24b6, 0x0174ec84, 0x032facb9, 0x01d52dd3, 0x02cf4ab4, 0x0193ddc0, 0x00306489}}}, + {X: Field{[10]uint32{0x016ac8ea, 0x018326ea, 0x025a2513, 0x012c68fb, 0x03f29c34, 0x0270471a, 0x016ef7ea, 0x00fe8c56, 0x034ad7f9, 0x003ce4f3}}, Y: Field{[10]uint32{0x028133e1, 0x03b6ea9e, 0x027ec41b, 0x02ccd78e, 0x01fbfa56, 0x00341849, 0x02480163, 0x033bae43, 0x00a9de67, 0x0013a047}}}, + {X: Field{[10]uint32{0x008f418a, 0x0235d7a7, 0x03c0e084, 0x02f414be, 0x00bbc546, 0x028922a5, 0x03050120, 0x02c95204, 0x02504e14, 0x002f0ee4}}, Y: Field{[10]uint32{0x02a58223, 0x03bcab69, 0x022d9af0, 0x00e31d86, 0x018f5eca, 0x00475e31, 0x013a911f, 0x021f05d9, 0x03c6f8b4, 0x002694ab}}}, + {X: Field{[10]uint32{0x036055c0, 0x019fbbd7, 0x01cec014, 0x00eefdbe, 0x03e71edc, 0x02af6c7d, 0x021e1704, 0x03ee29cc, 0x0273c601, 0x000bd683}}, Y: Field{[10]uint32{0x0153e393, 0x00fd1099, 0x002ebc5a, 0x033c4f65, 0x02b79a5e, 0x03e01c84, 0x01d97f80, 0x00b2c4ee, 0x010d142d, 0x00362ec7}}}, + {X: Field{[10]uint32{0x03a54ae8, 0x00fb4d1c, 0x0215bfa1, 0x01efd72f, 0x018d8d8d, 0x0245b047, 0x01099b96, 0x01a6b213, 0x01e3b4fc, 0x002e0f94}}, Y: Field{[10]uint32{0x023dda5b, 0x00d970b2, 0x02a78f3f, 0x0211b876, 0x01daeb7a, 0x01f3f094, 0x0018084a, 0x00e48c88, 0x038869c5, 0x0008cb83}}}, + {X: Field{[10]uint32{0x03516377, 0x026902f9, 0x00c0ea24, 0x00c16423, 0x00e90e9b, 0x03ba2416, 0x032b3722, 0x01e8c854, 0x019350b0, 0x000425c6}}, Y: Field{[10]uint32{0x020a1055, 0x025adb96, 0x03f672c7, 0x03e7395b, 0x010dc735, 0x00c21e67, 0x023a3a5e, 0x0168126f, 0x027c7bd5, 0x001a682d}}}, + {X: Field{[10]uint32{0x005c4477, 0x009e88fa, 0x01647dcb, 0x0053051a, 0x02622508, 0x000a6774, 0x0171711a, 0x014063cf, 0x035cc95d, 0x0036fbbd}}, Y: Field{[10]uint32{0x00d66413, 0x01daa422, 0x0175335e, 0x038c72fe, 0x00676311, 0x03148dfe, 0x02a68556, 0x013e38ae, 0x02cd1633, 0x003751c4}}}, + {X: Field{[10]uint32{0x03af114f, 0x0201b55a, 0x00d29d96, 0x02239328, 0x03027238, 0x00ded043, 0x0005f185, 0x03a4e3cd, 0x01992bde, 0x000a32c4}}, Y: Field{[10]uint32{0x001e5aa3, 0x03afd2fa, 0x03fea695, 0x01b30a95, 0x01c3e2ef, 0x00e973a2, 0x029fc1e8, 0x0376078e, 0x03febbe5, 0x00039b18}}}, + {X: Field{[10]uint32{0x029f60ba, 0x02e8b893, 0x02da3790, 0x016b919d, 0x00caef38, 0x0273b175, 0x039f1768, 0x03a67997, 0x030b64ef, 0x003c28b7}}, Y: Field{[10]uint32{0x007a4519, 0x02db4520, 0x01a85713, 0x0081ef3c, 0x02006a25, 0x02a9df69, 0x0098c12a, 0x03d99051, 0x0208b900, 0x0029f29f}}}, + {X: Field{[10]uint32{0x002b0f00, 0x037ff952, 0x01410799, 0x001a6aec, 0x0254fe9b, 0x03d54c41, 0x007ad4f0, 0x010e5837, 0x02eb38e5, 0x00346ed1}}, Y: Field{[10]uint32{0x02ce4214, 0x007e48ba, 0x00b14a03, 0x00b2be4c, 0x00d03bbd, 0x01a09adb, 0x00a54639, 0x00c2d834, 0x019fe088, 0x00052c18}}}, + {X: Field{[10]uint32{0x0369517a, 0x00333807, 0x00a8415c, 0x00083152, 0x0185d740, 0x03074268, 0x01adb31a, 0x0049a97d, 0x02567705, 0x0009ef4b}}, Y: Field{[10]uint32{0x01468d32, 0x01e064a9, 0x0008f655, 0x02b61cd3, 0x03202690, 0x0238c0b5, 0x01ce428a, 0x00734a7e, 0x01d7cba2, 0x0004880f}}}, + {X: Field{[10]uint32{0x03d21d9c, 0x010c806f, 0x003bd61d, 0x0376e36f, 0x0355441a, 0x02cad9db, 0x03835efa, 0x038805a4, 0x03901c72, 0x001acb31}}, Y: Field{[10]uint32{0x02dd7456, 0x016ce8d2, 0x015601bd, 0x0014639d, 0x006690bb, 0x018bfce3, 0x03f90d4b, 0x00124f6b, 0x0006deea, 0x001665cd}}}, + {X: Field{[10]uint32{0x00840f27, 0x0027ed65, 0x012675df, 0x024f981f, 0x01c63c3b, 0x02ff35af, 0x02a8bcc6, 0x014f158c, 0x003f32f9, 0x001d7a17}}, Y: Field{[10]uint32{0x00b6bb30, 0x03c07b5b, 0x01c47723, 0x02832fdb, 0x00bc59ac, 0x0109b99a, 0x0324f89d, 0x031cf65a, 0x03768714, 0x0008bd68}}}, + {X: Field{[10]uint32{0x006d56a7, 0x00802e7e, 0x0268315e, 0x0149a314, 0x02f26e17, 0x038a3c79, 0x000eed57, 0x0054bd07, 0x0071969e, 0x0034de8c}}, Y: Field{[10]uint32{0x02ff6181, 0x0080d59d, 0x036d3abe, 0x030ed1d0, 0x0370e296, 0x025885c8, 0x004b1fbd, 0x00747437, 0x03269875, 0x0014f549}}}, + {X: Field{[10]uint32{0x03414976, 0x014407a9, 0x001d237d, 0x0262538d, 0x02676931, 0x03860eec, 0x01466408, 0x01a5ccd9, 0x03047f5e, 0x001c56ec}}, Y: Field{[10]uint32{0x01a968d4, 0x01827ba8, 0x01acadb7, 0x03ec0f60, 0x02a89dd1, 0x03a570f5, 0x01ea6722, 0x0357a1e9, 0x035f9e82, 0x000a1103}}}, + {X: Field{[10]uint32{0x02c642e8, 0x022b7df6, 0x0013968d, 0x0292c21f, 0x028e4924, 0x01a04bb0, 0x034a52cc, 0x0056569e, 0x002a4f5b, 0x003dcb45}}, Y: Field{[10]uint32{0x021087dd, 0x023e5e9d, 0x007a6537, 0x0333eebd, 0x00585486, 0x03165305, 0x02ab9bbb, 0x0010b3c5, 0x004bb5d8, 0x001406d9}}}, + {X: Field{[10]uint32{0x01284c26, 0x00ee58b0, 0x03f28024, 0x01b363ef, 0x00384084, 0x0291a7cd, 0x003cf020, 0x0228e97f, 0x038fb4ca, 0x001ecfbf}}, Y: Field{[10]uint32{0x01748579, 0x0240ad6c, 0x00522811, 0x01bbf544, 0x023bbf63, 0x03858408, 0x00bc5555, 0x01849294, 0x00fd1539, 0x002f8962}}}, + {X: Field{[10]uint32{0x02113dd8, 0x017f0de2, 0x018a59cc, 0x00d7fcad, 0x03ec2a70, 0x025d3933, 0x03652257, 0x03b29334, 0x00d771fb, 0x0009106a}}, Y: Field{[10]uint32{0x02447981, 0x00a624e0, 0x00fccae1, 0x00b64c5b, 0x00fe035d, 0x02b08cd8, 0x03f4c6a7, 0x019c4d2e, 0x03760531, 0x000152c1}}}, + {X: Field{[10]uint32{0x00cf7591, 0x03a68a85, 0x0024de78, 0x01f2d92e, 0x02512d09, 0x03d2ace1, 0x03916b12, 0x019f2916, 0x024ed054, 0x003083f2}}, Y: Field{[10]uint32{0x00eecc02, 0x008d56b9, 0x0346d02b, 0x022c8e33, 0x03931fc4, 0x036b4439, 0x007e69c9, 0x0101cb2a, 0x00c796ee, 0x0022146b}}}, + {X: Field{[10]uint32{0x009ec8e7, 0x024bac81, 0x01d67634, 0x01b5a437, 0x00a34c6c, 0x035d604c, 0x00e415aa, 0x01498edd, 0x028d0137, 0x000bdac3}}, Y: Field{[10]uint32{0x02f25dbe, 0x01354e36, 0x02868e38, 0x01d7d88d, 0x03adc722, 0x02d327d9, 0x02cb614e, 0x03da9e5d, 0x01f8438c, 0x003431e4}}}, + {X: Field{[10]uint32{0x02b665dd, 0x02e47aac, 0x00762c5a, 0x00f0f763, 0x01fc0037, 0x00dd36c8, 0x00b3ed11, 0x0015b5be, 0x01be426f, 0x002febf0}}, Y: Field{[10]uint32{0x010e2a2e, 0x00d84545, 0x02781684, 0x01429d64, 0x006dc400, 0x02841b69, 0x027b0710, 0x0000e9fe, 0x0297a4cf, 0x0027107c}}}, + {X: Field{[10]uint32{0x01cb4e8c, 0x024c1db3, 0x01be91df, 0x03dc5ca3, 0x03895980, 0x01d675d3, 0x0376f860, 0x0009cdb5, 0x01ca9056, 0x0033dc47}}, Y: Field{[10]uint32{0x034f1cd5, 0x0102a9dc, 0x020124e1, 0x02991fb3, 0x022f91f6, 0x02226c8f, 0x0156defe, 0x0085bf8d, 0x01bfcf25, 0x0014a8de}}}, + {X: Field{[10]uint32{0x03d1384b, 0x0145b26a, 0x0394e1c3, 0x01d46191, 0x03f516fd, 0x00da43cb, 0x0001ec36, 0x03c6630c, 0x01de27aa, 0x002e6fa5}}, Y: Field{[10]uint32{0x02cb6df9, 0x030489c7, 0x013cd27f, 0x0160aea1, 0x001ff85d, 0x02232e3e, 0x029b6144, 0x03710c0f, 0x0397dca1, 0x001a21d7}}}, + {X: Field{[10]uint32{0x00e9638e, 0x014ddcca, 0x03331fff, 0x02cf095f, 0x037bec31, 0x01466b80, 0x0042b377, 0x01aa314d, 0x03e6c4d0, 0x003d7c95}}, Y: Field{[10]uint32{0x03e986dd, 0x03c85950, 0x0169e35f, 0x03b2ed00, 0x02c80bea, 0x03483432, 0x012e3ed0, 0x00c84eed, 0x020a48d0, 0x002da879}}}, + {X: Field{[10]uint32{0x00099ce7, 0x02455799, 0x02bf9df0, 0x00ff2db3, 0x02a5281b, 0x002bdf64, 0x00036033, 0x022a8456, 0x034c17e3, 0x003f0d71}}, Y: Field{[10]uint32{0x0379dae9, 0x00e489f6, 0x0245ac62, 0x02ecbb23, 0x018421fb, 0x0205344c, 0x00c1c589, 0x01a4ed69, 0x004d41e8, 0x001b8be6}}}, + {X: Field{[10]uint32{0x014384dd, 0x00bf33b5, 0x00aa7473, 0x0287338d, 0x02c1bc18, 0x027feb29, 0x005e5a98, 0x01cd8dd0, 0x020149d9, 0x002b04d7}}, Y: Field{[10]uint32{0x02f021d0, 0x00685882, 0x01cb1c47, 0x014d844f, 0x01d8e545, 0x027e35c2, 0x00cbf630, 0x0129adaf, 0x02cdff95, 0x000f8e2e}}}, + {X: Field{[10]uint32{0x035f345d, 0x01d3e4a7, 0x01055f36, 0x015f3d30, 0x01bfd8f6, 0x01e46806, 0x02400c4e, 0x03175e00, 0x03fbefb3, 0x00182804}}, Y: Field{[10]uint32{0x00a1bd97, 0x00817cce, 0x035b2711, 0x019151a2, 0x039907e3, 0x028c8004, 0x00a5138c, 0x03f8f8a8, 0x00483582, 0x001f9d8f}}}, + {X: Field{[10]uint32{0x01a7acb7, 0x03413a86, 0x013a906e, 0x01642fbe, 0x02ceb3a6, 0x029e2664, 0x023d0273, 0x01ea290e, 0x01065d90, 0x00282668}}, Y: Field{[10]uint32{0x03c5a50d, 0x038f5ed6, 0x007db06f, 0x02836c50, 0x02d5cca4, 0x03c326d1, 0x034bb579, 0x008bff00, 0x03fbfe3c, 0x0004dfe7}}}, + {X: Field{[10]uint32{0x00a792ab, 0x03d3f0e5, 0x0107b09e, 0x005c127c, 0x00c6ed70, 0x00472769, 0x03ea5a8c, 0x018f5861, 0x0286d027, 0x0026e876}}, Y: Field{[10]uint32{0x0263f741, 0x00866759, 0x01650c47, 0x029970b6, 0x008716ae, 0x0005d461, 0x03879089, 0x0167156f, 0x02d8ab54, 0x003c6788}}}, + {X: Field{[10]uint32{0x0277ada0, 0x01453269, 0x0134f63a, 0x00e24d42, 0x01b5e022, 0x03ca3643, 0x03e93633, 0x0050c05e, 0x001ad30d, 0x000d909c}}, Y: Field{[10]uint32{0x01aba970, 0x00378efc, 0x02c22344, 0x02613d4a, 0x026432fa, 0x02a2ef61, 0x0279f487, 0x02ef1b13, 0x02b9c76b, 0x000bf7e6}}}, + {X: Field{[10]uint32{0x02941a5b, 0x028e94b5, 0x02c31c2e, 0x003551c4, 0x0106188c, 0x00b261c6, 0x0153012e, 0x01c26363, 0x0058100b, 0x000a7de7}}, Y: Field{[10]uint32{0x022d524b, 0x01a242e6, 0x01bf3721, 0x02dc0b56, 0x02919d5b, 0x021a8a01, 0x00ec42f5, 0x0306ec34, 0x0199eaa6, 0x002fa7b7}}}, + {X: Field{[10]uint32{0x01ba1bbc, 0x034b11e2, 0x03061e5e, 0x0342b17f, 0x0004b470, 0x00ffacd4, 0x02d5030c, 0x00a13e05, 0x02dfbc35, 0x0038046a}}, Y: Field{[10]uint32{0x00c979e3, 0x0030068f, 0x0270055a, 0x02a4fd2c, 0x03021ec1, 0x00a4ef9d, 0x026ee97f, 0x016468db, 0x03934f2b, 0x00382a63}}}, + {X: Field{[10]uint32{0x03d78585, 0x025bb813, 0x02dfb3ed, 0x0145dfff, 0x020ee06a, 0x022e4887, 0x02b54b68, 0x014d58df, 0x016b00fe, 0x00297220}}, Y: Field{[10]uint32{0x01ff8e5f, 0x02f96a32, 0x0076fe03, 0x0076bb59, 0x037d6595, 0x029abb54, 0x00977929, 0x02c46912, 0x037b9d63, 0x000fe198}}}, + {X: Field{[10]uint32{0x03194707, 0x03c5b271, 0x02509abe, 0x038244a8, 0x022e6d49, 0x01c23f39, 0x0207798e, 0x00d42e54, 0x00237e44, 0x000ee54b}}, Y: Field{[10]uint32{0x01d68936, 0x026d676f, 0x02edaff4, 0x00c5af37, 0x02e6ebb6, 0x01e44b99, 0x0141a385, 0x01b22b27, 0x032a419e, 0x003de125}}}, + {X: Field{[10]uint32{0x0157af04, 0x000bc937, 0x02632725, 0x004667e1, 0x02b75dd6, 0x021e92aa, 0x007982a1, 0x0054be03, 0x02bcd9d8, 0x002365e5}}, Y: Field{[10]uint32{0x03e611bd, 0x026080ad, 0x0092c89c, 0x034a63a6, 0x010317c2, 0x035a2654, 0x015695f2, 0x0078e8a3, 0x007994a3, 0x003ee6c5}}}, + {X: Field{[10]uint32{0x0202de40, 0x005dc11a, 0x03f51845, 0x01edbbd9, 0x014fde4d, 0x01e2259a, 0x036f689d, 0x01911454, 0x005b2f4e, 0x0025acaf}}, Y: Field{[10]uint32{0x008e89cc, 0x01712842, 0x0178b214, 0x026cd4b0, 0x01914eee, 0x03eff394, 0x039bbf5a, 0x020b6d40, 0x0126f919, 0x00382ddb}}}, + {X: Field{[10]uint32{0x032e2d79, 0x03bd7490, 0x0103625b, 0x02e68743, 0x034e3ab2, 0x01963be5, 0x028f54d8, 0x0254038a, 0x03109f12, 0x0026fdf3}}, Y: Field{[10]uint32{0x016e8582, 0x0343c652, 0x0020be32, 0x029c66f3, 0x01dd6373, 0x0223af49, 0x038bb521, 0x0071a146, 0x03adf77e, 0x000844f5}}}, + {X: Field{[10]uint32{0x03d4f1b7, 0x0013cabc, 0x00dab11a, 0x00f58756, 0x00c91f85, 0x0366a861, 0x008c7414, 0x016d7abf, 0x03a72037, 0x000434ff}}, Y: Field{[10]uint32{0x03298c90, 0x0043a8c3, 0x0321beeb, 0x002b505b, 0x02c98d75, 0x03e30fc0, 0x015c7046, 0x03d0f2c8, 0x032a8a96, 0x00307e12}}}, + {X: Field{[10]uint32{0x003a5eb6, 0x019e7a03, 0x00e92c0e, 0x01fa210c, 0x030e9257, 0x006da1cc, 0x01636920, 0x007342e3, 0x022b6adf, 0x0015b593}}, Y: Field{[10]uint32{0x02f71cc0, 0x0069badf, 0x0382451b, 0x01f89792, 0x025d4b68, 0x01f579a5, 0x00427c25, 0x02108d22, 0x030efbe9, 0x0000004d}}}, + {X: Field{[10]uint32{0x031528bf, 0x02b70d1c, 0x021c1420, 0x014a95a0, 0x026dbfa3, 0x003091e4, 0x01eddbd2, 0x033c81d7, 0x003e1c83, 0x003fb128}}, Y: Field{[10]uint32{0x01a95509, 0x01f9aa2f, 0x00b2aa78, 0x023bf5ef, 0x031bab78, 0x00e1fa6f, 0x03a0d98f, 0x0390b4ee, 0x02af8670, 0x002854ac}}}, + {X: Field{[10]uint32{0x03ee92eb, 0x030983cb, 0x03001779, 0x036ca6a1, 0x02a45d11, 0x02256796, 0x02e6d53e, 0x02a6b18e, 0x01177cce, 0x0016029d}}, Y: Field{[10]uint32{0x029e8edd, 0x03d3e719, 0x02a06862, 0x02436304, 0x0086733a, 0x0054dd69, 0x008c4111, 0x03193081, 0x029c3263, 0x001e4ef9}}}, + {X: Field{[10]uint32{0x02f636f6, 0x036e5d9a, 0x002f535e, 0x034b437b, 0x02991b46, 0x004de866, 0x017431b1, 0x0073af3e, 0x03e57893, 0x0024a1af}}, Y: Field{[10]uint32{0x0329f516, 0x006d6974, 0x015f28cb, 0x020147b7, 0x00c55fce, 0x0014ede0, 0x00b38fb2, 0x036d0a0f, 0x0130e962, 0x001f9dd3}}}, + {X: Field{[10]uint32{0x00f4890d, 0x008b070a, 0x02041e54, 0x01476982, 0x02803e38, 0x03fbb196, 0x002cf2ee, 0x0099494e, 0x01a99b70, 0x00181b55}}, Y: Field{[10]uint32{0x00eda1a7, 0x02295314, 0x02e5407f, 0x00147d3b, 0x0379ae2c, 0x006e2a85, 0x004a1e03, 0x01904528, 0x026e3c2a, 0x00372256}}}, + {X: Field{[10]uint32{0x01f917f5, 0x001fda5d, 0x00df66e8, 0x03180139, 0x0011387d, 0x033f23b6, 0x03ef2f1b, 0x03073773, 0x0140833e, 0x00285a83}}, Y: Field{[10]uint32{0x022d6527, 0x0246f620, 0x01388ba9, 0x03658c04, 0x037fd281, 0x02203421, 0x01f32a82, 0x01294c54, 0x013713de, 0x0015235f}}}, + {X: Field{[10]uint32{0x039f0329, 0x027430d3, 0x0262d9b7, 0x0057b7d6, 0x004a687a, 0x03881c9b, 0x03e3e7aa, 0x01388e68, 0x01d2be57, 0x00001652}}, Y: Field{[10]uint32{0x005288a9, 0x02a44851, 0x0255f337, 0x01de5c8f, 0x02f7f4e7, 0x01203de3, 0x01d94275, 0x02c970c4, 0x025a167a, 0x001c772c}}}, + {X: Field{[10]uint32{0x0168b240, 0x01f1395e, 0x01536cef, 0x00ce0840, 0x03cd1e23, 0x02707fd3, 0x017b295e, 0x00362927, 0x024ae67b, 0x002107d3}}, Y: Field{[10]uint32{0x031f4161, 0x019c7415, 0x03d5cb56, 0x00de335c, 0x01ccae80, 0x0236f99e, 0x03979f4a, 0x0293b43a, 0x009c265f, 0x0007d587}}}, + {X: Field{[10]uint32{0x02cb7442, 0x00fb0791, 0x0240ddd4, 0x02b80289, 0x03faf680, 0x0109e23f, 0x03d4b831, 0x03a7ca22, 0x01f8c748, 0x0008988f}}, Y: Field{[10]uint32{0x03a55da3, 0x003804e1, 0x03aaad5e, 0x01ed2530, 0x0317d582, 0x033a7de1, 0x024381d0, 0x02d64be5, 0x000adfcd, 0x000e03bc}}}, + {X: Field{[10]uint32{0x005185e4, 0x0319523d, 0x02e2dc88, 0x037aced9, 0x02670083, 0x0298285f, 0x007a21e5, 0x00c07ba8, 0x03c36438, 0x00205819}}, Y: Field{[10]uint32{0x01c4cbf7, 0x020abb93, 0x02647f59, 0x03b11409, 0x022eeedc, 0x00dbf0e7, 0x00f4e8e2, 0x03a7c7c1, 0x011b9a95, 0x0016be8e}}}, + {X: Field{[10]uint32{0x02085c1f, 0x01a49373, 0x02485354, 0x0270b065, 0x017d28af, 0x02a38109, 0x00f6431b, 0x0314c493, 0x01614745, 0x003e3c8d}}, Y: Field{[10]uint32{0x0334750f, 0x0199d4d9, 0x01e7507f, 0x01d6b34a, 0x02bd1012, 0x03f9dad7, 0x008c1b93, 0x006d5695, 0x0067e3b4, 0x00028594}}}, + {X: Field{[10]uint32{0x03f2f57a, 0x00ee4cd5, 0x03e23775, 0x00f77812, 0x0228bb93, 0x01c214ec, 0x01537d4c, 0x02285709, 0x0184e25b, 0x00084c95}}, Y: Field{[10]uint32{0x02e873e2, 0x02dc9fa1, 0x01f53d20, 0x03c566e8, 0x03f627b5, 0x01fc869b, 0x00b00d51, 0x03d5e83c, 0x00f2078e, 0x000dc232}}}, + {X: Field{[10]uint32{0x03dfbda3, 0x0335a98f, 0x01c77845, 0x02b2f245, 0x0188b0ba, 0x03feb050, 0x00c24b37, 0x0066cb00, 0x03fcf485, 0x002cbd3d}}, Y: Field{[10]uint32{0x0157702c, 0x0138a31f, 0x03e171c9, 0x00eb356c, 0x03de4972, 0x03d33cf1, 0x03196bb5, 0x03b90cf9, 0x019e6f52, 0x002c81ad}}}, + {X: Field{[10]uint32{0x027f7265, 0x004bfb3b, 0x02064622, 0x014f6b2b, 0x03fd9c5c, 0x01593e70, 0x0070fd39, 0x00001adf, 0x014f5f42, 0x002d3997}}, Y: Field{[10]uint32{0x016bee0e, 0x01cd41a0, 0x025bffc0, 0x0235a119, 0x0003c75b, 0x020fb0b1, 0x021723ea, 0x00efd3cc, 0x02f2e399, 0x000c1edb}}}, + {X: Field{[10]uint32{0x023a7240, 0x00d4ac77, 0x00bab8f2, 0x007410fd, 0x03aa58b6, 0x01e63ba4, 0x033968e9, 0x0026b497, 0x01939ac6, 0x0013c411}}, Y: Field{[10]uint32{0x038179ae, 0x00887b9f, 0x024bd186, 0x0224fd2a, 0x03ed9d0a, 0x01569424, 0x01698f5c, 0x0257e960, 0x03bb9883, 0x003b6361}}}, + {X: Field{[10]uint32{0x014672fa, 0x01f00592, 0x00738d09, 0x02148e22, 0x0390018e, 0x02b5d4a7, 0x026b2157, 0x0304967e, 0x00ffe515, 0x0026d79d}}, Y: Field{[10]uint32{0x01fece15, 0x00f8ebc8, 0x00bc43db, 0x03610786, 0x01fe2df3, 0x00fecee7, 0x01bf70c4, 0x00c3c5ef, 0x026d4c4e, 0x00075561}}}, + {X: Field{[10]uint32{0x0217e302, 0x0205f21f, 0x02cf510d, 0x030b1da8, 0x0330f8a2, 0x024e1ec6, 0x02968f94, 0x03dc6040, 0x0042ac8c, 0x0001defd}}, Y: Field{[10]uint32{0x032af0e9, 0x039d5bf4, 0x021f26a6, 0x0217dbbb, 0x01e4daaa, 0x01b16fbb, 0x03b1103e, 0x0011ac74, 0x02611d90, 0x002ec3e7}}}, + {X: Field{[10]uint32{0x00c266a9, 0x034e22de, 0x00fe64bc, 0x01a4c20d, 0x00d2f5d4, 0x005aa662, 0x0028f34b, 0x008125ac, 0x025cd49f, 0x0009f784}}, Y: Field{[10]uint32{0x00b54bfe, 0x00f78957, 0x039b81a4, 0x00b4c8e5, 0x0384cdfc, 0x000e6b4a, 0x019dac24, 0x0364a8ab, 0x02a8483d, 0x003d0f61}}}, + {X: Field{[10]uint32{0x03e9c116, 0x00262712, 0x01b13225, 0x03c1fe11, 0x017f026c, 0x03bed6a3, 0x03b60ae4, 0x01d78652, 0x0178ae1d, 0x00086fdc}}, Y: Field{[10]uint32{0x01b8d967, 0x03da26bb, 0x0081d434, 0x02455a59, 0x0076b522, 0x034ed63e, 0x03444664, 0x037c5745, 0x02adbc21, 0x001b2aa0}}}, + {X: Field{[10]uint32{0x0232e234, 0x00916c15, 0x0156a66d, 0x03e6702e, 0x02dc9100, 0x020a2768, 0x0365b7f0, 0x0005a906, 0x025493ee, 0x00000924}}, Y: Field{[10]uint32{0x03c45b3d, 0x01738c41, 0x016f82ed, 0x0119ebb2, 0x00d883ff, 0x013dbe41, 0x004c5367, 0x007e6054, 0x01941cb5, 0x002f28c0}}}, + {X: Field{[10]uint32{0x01867f76, 0x039d4e1f, 0x016fe230, 0x00966e4c, 0x00ea8e94, 0x02e4dc42, 0x02d89b96, 0x00ad3351, 0x00c1e347, 0x0034fd91}}, Y: Field{[10]uint32{0x018cade5, 0x02cb6943, 0x03b7c597, 0x02b8c5af, 0x0202e536, 0x01489e50, 0x0337ed9d, 0x025cca8e, 0x0203fd62, 0x00246089}}}, + {X: Field{[10]uint32{0x0325b261, 0x00dfdeb8, 0x02e89d03, 0x01d51894, 0x01915c26, 0x011fd95b, 0x00e52c81, 0x034532a2, 0x034b0e2b, 0x00321187}}, Y: Field{[10]uint32{0x00dcae06, 0x033bb6a7, 0x02b07e38, 0x016aa2a4, 0x01fa3b61, 0x011bbf7d, 0x0232868e, 0x01e66cfd, 0x018197ac, 0x000625c4}}}, + {X: Field{[10]uint32{0x0395a380, 0x00cd0ab0, 0x0060d913, 0x01aaaa96, 0x01a8c240, 0x01ef5b28, 0x0357e1da, 0x02a4e306, 0x0190be20, 0x002db97d}}, Y: Field{[10]uint32{0x018a04b6, 0x011b579f, 0x02026ff1, 0x0325a9b7, 0x01cf01ee, 0x02d698c1, 0x0186569a, 0x03ab79cb, 0x00f1a2f2, 0x00299ca3}}}, + {X: Field{[10]uint32{0x01eb5d6c, 0x013b2556, 0x008c0312, 0x0237c524, 0x018b7013, 0x017bf043, 0x014eee4b, 0x0007415b, 0x039d4657, 0x000f4945}}, Y: Field{[10]uint32{0x0395980f, 0x00ca9c62, 0x03c8c3e0, 0x028ab155, 0x023b56f7, 0x00f1625e, 0x03e88e2b, 0x035fb18c, 0x03fe1d61, 0x000562de}}}, + {X: Field{[10]uint32{0x02f94d99, 0x026965d1, 0x02927984, 0x004646bd, 0x00d85155, 0x03689fc4, 0x0093425b, 0x00526656, 0x0154c717, 0x0002aed7}}, Y: Field{[10]uint32{0x00b9a161, 0x015108b1, 0x03ad04e4, 0x002b64f5, 0x037012ff, 0x03d08270, 0x0106e89f, 0x0237a8db, 0x03cc3be2, 0x001337fa}}}, + {X: Field{[10]uint32{0x0325c73e, 0x014a41ec, 0x0224c523, 0x0219cfb1, 0x02f12433, 0x038c72ec, 0x00dedaa4, 0x03e70a40, 0x0125115e, 0x00262740}}, Y: Field{[10]uint32{0x00c6c8df, 0x01a081a5, 0x000c8d16, 0x018ca547, 0x00d553df, 0x0109e5d4, 0x01f28ee1, 0x0381c3f0, 0x02e9945d, 0x0034da67}}}, + {X: Field{[10]uint32{0x02013884, 0x03908c97, 0x02af82d0, 0x004f20a8, 0x015e05db, 0x003b7dc3, 0x028bbe4e, 0x0347fc18, 0x01d429c3, 0x00313171}}, Y: Field{[10]uint32{0x03a97eea, 0x02e9f9fb, 0x023ee0f2, 0x003744cc, 0x03ccee86, 0x002b7a5f, 0x029da677, 0x0222a7f0, 0x00b88251, 0x0030b1db}}}, + {X: Field{[10]uint32{0x02c0807b, 0x00552789, 0x01edc360, 0x0047b02e, 0x03be9471, 0x000283a0, 0x035080a9, 0x02d97236, 0x0050c623, 0x002198b6}}, Y: Field{[10]uint32{0x01da840b, 0x03c3db8d, 0x01526b3d, 0x01333e32, 0x03f91e72, 0x0246020e, 0x02a72b32, 0x039e93d9, 0x0277b0c9, 0x00029c75}}}, + {X: Field{[10]uint32{0x01083898, 0x03b6c5c7, 0x02626cbd, 0x031f03aa, 0x00543b73, 0x00eaef51, 0x0309b389, 0x0166fccc, 0x03497e73, 0x00349bfb}}, Y: Field{[10]uint32{0x01851395, 0x00e07e1e, 0x03ad956d, 0x00835236, 0x0004d60c, 0x0141c3e4, 0x0101ea9a, 0x002ce5ad, 0x0209bb09, 0x002b62ec}}}, + {X: Field{[10]uint32{0x029d8d0f, 0x01e17488, 0x009838f8, 0x03d7c5cf, 0x025b4560, 0x02d00844, 0x0342ff85, 0x02da09f5, 0x00e8c584, 0x0015a6fa}}, Y: Field{[10]uint32{0x001b8559, 0x036bf1f5, 0x0235422e, 0x00cd789b, 0x0247c74a, 0x02692754, 0x015581bf, 0x01f626a3, 0x01a4a826, 0x002c24e0}}}, + {X: Field{[10]uint32{0x030116d4, 0x0279e534, 0x02255d4a, 0x02ef256a, 0x03842f82, 0x01658363, 0x0167bc6c, 0x021eceb6, 0x00c34d17, 0x00378d2b}}, Y: Field{[10]uint32{0x021816d3, 0x02cf5de8, 0x00505b6c, 0x002fbc26, 0x00e322c4, 0x0220f4fc, 0x00f4d3e0, 0x02d4a95f, 0x001cb2b6, 0x000bf76d}}}, + {X: Field{[10]uint32{0x01c50b1a, 0x01bea671, 0x003d5544, 0x0101c376, 0x03ece852, 0x01d0a96c, 0x0149b861, 0x02dd89b5, 0x034876db, 0x0011d0c2}}, Y: Field{[10]uint32{0x03200df1, 0x00d5e92b, 0x033e85af, 0x01223771, 0x02b53dd0, 0x0323b1dc, 0x006a0ead, 0x0115cd63, 0x02ba0700, 0x0035d564}}}, + {X: Field{[10]uint32{0x02e9fe13, 0x002c25f5, 0x00fd7914, 0x03fbdb1a, 0x018c2d8f, 0x01aeeadb, 0x017339b7, 0x01c99ae8, 0x00b5e668, 0x003c7478}}, Y: Field{[10]uint32{0x0324e580, 0x0150f56f, 0x0350bb96, 0x013699f6, 0x03a1d849, 0x008c03e5, 0x01c54837, 0x00ce14d2, 0x0226fc23, 0x00002958}}}, + {X: Field{[10]uint32{0x00cdbcd0, 0x0056e17e, 0x004c3c05, 0x03fce0fd, 0x006e8132, 0x025a30dd, 0x03d0426e, 0x003784f6, 0x03357614, 0x0008a9bd}}, Y: Field{[10]uint32{0x03d18d1b, 0x038d157e, 0x01e48e69, 0x0276a101, 0x03430a39, 0x003e5690, 0x00dc0044, 0x0038f8d6, 0x01a89027, 0x00277362}}}, + {X: Field{[10]uint32{0x01a9ada2, 0x019538f8, 0x02867b46, 0x00c30a78, 0x02fc307b, 0x01d10ba3, 0x030c6ea5, 0x0232826e, 0x03280afd, 0x000b7714}}, Y: Field{[10]uint32{0x0087dee4, 0x03b6dcf0, 0x03393b5f, 0x024c665d, 0x0107d077, 0x007fe438, 0x02daa6e3, 0x039ba1ef, 0x010edb84, 0x001ee6ae}}}, + {X: Field{[10]uint32{0x01da0fca, 0x0078b065, 0x03a9e1a0, 0x015151b7, 0x011fb1c8, 0x0162e719, 0x00a116c0, 0x03d4bf4c, 0x0039a60a, 0x00182dbe}}, Y: Field{[10]uint32{0x00d26c40, 0x01360f88, 0x02bcdca5, 0x00187615, 0x03b0e743, 0x011a763a, 0x039b07b2, 0x02d052f8, 0x029f28cf, 0x00179dfd}}}, + {X: Field{[10]uint32{0x01dee53c, 0x009a9f43, 0x02776dcd, 0x00a15f25, 0x022a1f1f, 0x0257a90e, 0x0306bfdf, 0x024b9432, 0x019b9b90, 0x0009e430}}, Y: Field{[10]uint32{0x014e7f64, 0x01767cdc, 0x005b6271, 0x01662caf, 0x00de0677, 0x00085c26, 0x0387afaa, 0x01b9e2c8, 0x0120d04e, 0x003f7ba8}}}, + {X: Field{[10]uint32{0x01113803, 0x03e411bd, 0x037c00d7, 0x028d1453, 0x02db181e, 0x03eb65e0, 0x03576b16, 0x02f22c49, 0x020f9ee8, 0x0039510c}}, Y: Field{[10]uint32{0x00510741, 0x00465cb0, 0x01e0f952, 0x002b89ad, 0x023c7368, 0x03739f0c, 0x01b63dd9, 0x01d1139a, 0x02fb0239, 0x002e4dd8}}}, + {X: Field{[10]uint32{0x0355313d, 0x026abeb6, 0x00cee39f, 0x0335a6ed, 0x038e2706, 0x02f535d3, 0x00a236cb, 0x00a35618, 0x01ae73e4, 0x001b1fc9}}, Y: Field{[10]uint32{0x00dc9121, 0x012d6072, 0x030916a4, 0x012f577f, 0x018db30c, 0x0163aa48, 0x020864be, 0x026c63a6, 0x03c9e33f, 0x003632e3}}}, + {X: Field{[10]uint32{0x0393d4e8, 0x03a94ee6, 0x03499121, 0x00e80c3b, 0x03dd9eaa, 0x00e54bc9, 0x01e9c3ef, 0x00351d34, 0x0328ff71, 0x000a2746}}, Y: Field{[10]uint32{0x02880667, 0x02ce52bb, 0x03e38cf2, 0x00c9dfd2, 0x02642859, 0x0116cf2e, 0x00d5cb72, 0x00b75613, 0x000aaebc, 0x003cdabe}}}, + {X: Field{[10]uint32{0x0110b5aa, 0x028769d6, 0x03476b9f, 0x022b53bd, 0x002a6f4a, 0x0244c306, 0x0287b5d2, 0x0359cc97, 0x0197ac01, 0x003c0aad}}, Y: Field{[10]uint32{0x00e38adb, 0x025902b3, 0x02aaffe8, 0x007d97b2, 0x01d3262d, 0x030d18cf, 0x02c53795, 0x022c4fb3, 0x002aecf2, 0x002ba230}}}, + {X: Field{[10]uint32{0x00a0413a, 0x03e10637, 0x01a8d2d8, 0x01c13b0a, 0x03c625bb, 0x01b531b4, 0x0332c82d, 0x00c4195d, 0x034f71a7, 0x0002a6a5}}, Y: Field{[10]uint32{0x01b372cd, 0x022496e4, 0x01c2126e, 0x02b33f47, 0x01af1497, 0x0183b479, 0x02f222d8, 0x03a5bf57, 0x0033eed4, 0x0030837d}}}, + {X: Field{[10]uint32{0x0177496a, 0x0073d023, 0x0071f4a2, 0x03f05941, 0x024cc392, 0x018d2d57, 0x020e9c78, 0x00226466, 0x010d728e, 0x001e1986}}, Y: Field{[10]uint32{0x000cfd22, 0x004a44eb, 0x01b23035, 0x038ea4da, 0x0029d79d, 0x00d68799, 0x028e265c, 0x008bbf2a, 0x00d95404, 0x0006ed7f}}}, + {X: Field{[10]uint32{0x0333b9ac, 0x004c2920, 0x00773ce0, 0x016a4443, 0x0025cc11, 0x018f6550, 0x00e4e2de, 0x02e3afc0, 0x03e344b3, 0x003229ff}}, Y: Field{[10]uint32{0x02e67b6e, 0x0148ff97, 0x02806dbb, 0x003f6a5f, 0x02ca9128, 0x032a1c91, 0x00141aa5, 0x018ed59d, 0x03e5010c, 0x003287fe}}}, + {X: Field{[10]uint32{0x039208ba, 0x0259b993, 0x033472f9, 0x00cf533c, 0x019cc1e6, 0x01369a1c, 0x0019e84e, 0x01ab4e0d, 0x026a13ff, 0x0001b2ee}}, Y: Field{[10]uint32{0x02214a88, 0x0228a987, 0x011fcfac, 0x02258a9f, 0x03058598, 0x02711986, 0x0392c34e, 0x024fd13e, 0x01820c78, 0x000d4489}}}, + {X: Field{[10]uint32{0x019de719, 0x008ff6bf, 0x03e1287b, 0x020526e8, 0x00ffe9aa, 0x031d976b, 0x01450c82, 0x021847ad, 0x01bd691a, 0x00381fe3}}, Y: Field{[10]uint32{0x00fbc509, 0x02c18763, 0x02bc6894, 0x01b96d49, 0x030acb0c, 0x0384631f, 0x01937994, 0x033fba89, 0x01f08e39, 0x0024cb8d}}}, + {X: Field{[10]uint32{0x02d2c5d4, 0x00ce8b21, 0x029b84b6, 0x00e3f331, 0x0151f3e2, 0x034fcca9, 0x02720d71, 0x02505b37, 0x009832fd, 0x001884da}}, Y: Field{[10]uint32{0x02784e9c, 0x03dc576f, 0x00f68206, 0x01b5a72f, 0x03791f3b, 0x03c79665, 0x016d9684, 0x01f90616, 0x024d6224, 0x0004dfa6}}}, + {X: Field{[10]uint32{0x03a7b9eb, 0x013a3036, 0x004f2325, 0x02e87a9a, 0x0240a318, 0x01c43021, 0x03eb2faf, 0x019c1894, 0x018862de, 0x0022c041}}, Y: Field{[10]uint32{0x01bfd264, 0x008dc686, 0x0348e2ce, 0x00655bc3, 0x03dbd7e4, 0x01e8cfe7, 0x00bf43cf, 0x01b18333, 0x0062dcc5, 0x00152922}}}, + {X: Field{[10]uint32{0x00f213d8, 0x01203aa1, 0x031cfeaf, 0x021f70c2, 0x023fb2ed, 0x015af2eb, 0x03bbbace, 0x020d1bfb, 0x008c14af, 0x0004b4e4}}, Y: Field{[10]uint32{0x0267fdfc, 0x0206a626, 0x0024ecb1, 0x01766396, 0x01fef41e, 0x000b1366, 0x02764210, 0x036b2611, 0x01fbdf7d, 0x003f1185}}}, + {X: Field{[10]uint32{0x01784cd2, 0x018b4580, 0x013dc8da, 0x01bb7df0, 0x02b47428, 0x00a48a64, 0x00e368f6, 0x0331a6ef, 0x01e2a7b8, 0x00086741}}, Y: Field{[10]uint32{0x034c7f5c, 0x00785e28, 0x02de2076, 0x00ec8587, 0x03dd2820, 0x023eeafb, 0x029407de, 0x02c79e3b, 0x03739a7e, 0x0022bb93}}}, + {X: Field{[10]uint32{0x005de204, 0x00016db6, 0x03074852, 0x004f0e32, 0x0049bbe2, 0x034997ce, 0x011fa23a, 0x03ea47da, 0x01599a76, 0x0035f433}}, Y: Field{[10]uint32{0x011ce2fa, 0x023cdf24, 0x019d1e93, 0x018302c7, 0x03ed1a2d, 0x01c9683b, 0x021330ea, 0x0036b97a, 0x032c6075, 0x003cd255}}}, + {X: Field{[10]uint32{0x02bb6c6d, 0x03d25e3a, 0x0042d635, 0x02ecb1dc, 0x009f65cf, 0x03ea3f0f, 0x018b73f6, 0x02408e0f, 0x01f5a04c, 0x0028fe9a}}, Y: Field{[10]uint32{0x03cbdea2, 0x007296b0, 0x03e8372c, 0x035d6665, 0x010accb2, 0x00e268bc, 0x0395b18f, 0x02aac52b, 0x01a89994, 0x0031e628}}}, + {X: Field{[10]uint32{0x03b2d1cd, 0x0322bec4, 0x00e92cc5, 0x01307414, 0x00854073, 0x0176505c, 0x0072e71e, 0x0115f5e6, 0x001a825c, 0x00240ba2}}, Y: Field{[10]uint32{0x01a62d43, 0x020b0c2f, 0x01e338ac, 0x001f33f2, 0x02de099f, 0x018be091, 0x0163cccf, 0x01bee444, 0x013263bf, 0x003fc1d4}}}, + {X: Field{[10]uint32{0x0329c144, 0x03318381, 0x03505d34, 0x01693e32, 0x036923ea, 0x03c64cae, 0x021aa2b3, 0x00155b4d, 0x01f24c47, 0x000c97c6}}, Y: Field{[10]uint32{0x0294bec4, 0x01f11ae7, 0x021782a5, 0x03058665, 0x0173e3e9, 0x006fe3e7, 0x001bf358, 0x028337e6, 0x02b829a6, 0x003d2a6b}}}, + {X: Field{[10]uint32{0x021edd4b, 0x02c1f1be, 0x0024763b, 0x0117ac1e, 0x00bcdf72, 0x033ffeb3, 0x025f8602, 0x033d854f, 0x03b441a6, 0x001a653c}}, Y: Field{[10]uint32{0x0074c174, 0x02c45806, 0x03bd927d, 0x02ae1fdc, 0x02198ee4, 0x00fc1454, 0x00479d8d, 0x02a25ca7, 0x01ea892d, 0x003b0bf1}}}, + {X: Field{[10]uint32{0x02cb2d8c, 0x0284149a, 0x0137f3b7, 0x028ad6eb, 0x005663c5, 0x02307daa, 0x011bd2f0, 0x01e5bff5, 0x00324e8f, 0x00086156}}, Y: Field{[10]uint32{0x01897c2d, 0x03475da8, 0x00cf4b15, 0x0255759f, 0x033b93c4, 0x000d0efd, 0x0290d44b, 0x0300f265, 0x02cb33ce, 0x0039df3b}}}, + {X: Field{[10]uint32{0x0191b099, 0x01d33be7, 0x021b0a56, 0x00fd21ea, 0x01319693, 0x0391dcad, 0x027c312a, 0x02a00695, 0x023b32f2, 0x0024176a}}, Y: Field{[10]uint32{0x01cf369f, 0x0161c710, 0x021d6b69, 0x010d6cb2, 0x0382b648, 0x019ff705, 0x0291d5d7, 0x005c644d, 0x01c36d27, 0x002fd8a1}}}, + {X: Field{[10]uint32{0x025339f1, 0x02547bad, 0x017f5b39, 0x01d8c54e, 0x031b6853, 0x036f839f, 0x03e51613, 0x001491d7, 0x038434b6, 0x0037df3e}}, Y: Field{[10]uint32{0x03558243, 0x00333d37, 0x00d2ee58, 0x00f1be91, 0x010d1beb, 0x03659475, 0x0153393d, 0x039154b6, 0x017e1419, 0x0039c973}}}, + {X: Field{[10]uint32{0x01732491, 0x016f2d39, 0x024a5d8c, 0x01d8a33d, 0x00385cb2, 0x03297ae0, 0x0096b821, 0x00ae7a8f, 0x02fc8884, 0x0039fee7}}, Y: Field{[10]uint32{0x00f22331, 0x00a054de, 0x03d5f5e9, 0x00a3b76a, 0x011353c1, 0x019d6a5f, 0x03b83900, 0x0380dc98, 0x02bca6f9, 0x0032399d}}}, + {X: Field{[10]uint32{0x0124285b, 0x008da773, 0x012fecc1, 0x00575c78, 0x01bad797, 0x029103d6, 0x02ac0a3f, 0x02885879, 0x030c272b, 0x003468d7}}, Y: Field{[10]uint32{0x019edb3c, 0x02e526b2, 0x02ec1806, 0x02a25840, 0x0049dc41, 0x02c55900, 0x02f2f21b, 0x01c5b6e7, 0x00f7d475, 0x0007d6dc}}}, + {X: Field{[10]uint32{0x027b079f, 0x0043694a, 0x032e5551, 0x00a41164, 0x024f4204, 0x01eb98a7, 0x03da74ac, 0x03753385, 0x02e85f2d, 0x00019ae9}}, Y: Field{[10]uint32{0x03a80402, 0x002279c1, 0x03733263, 0x0010d921, 0x02219679, 0x026f7fef, 0x01a4f357, 0x03bef3d3, 0x005beb8e, 0x00363aeb}}}, + {X: Field{[10]uint32{0x00f3a749, 0x03ce682d, 0x01e487b1, 0x008875ee, 0x00c36e7c, 0x01d7e714, 0x03cf8065, 0x00414ad2, 0x029a2688, 0x0001bdfd}}, Y: Field{[10]uint32{0x0331a4c4, 0x00d6a99c, 0x0202b892, 0x016096ed, 0x00bc1835, 0x03058394, 0x00352b9c, 0x02e22ead, 0x03840d89, 0x0004741a}}}, + {X: Field{[10]uint32{0x026c0abd, 0x00308724, 0x01b90eda, 0x03fa132b, 0x0141c23a, 0x017006b1, 0x01699067, 0x0140ec98, 0x016f571d, 0x0012f85b}}, Y: Field{[10]uint32{0x02c1d06d, 0x013f8ca7, 0x011bd9a0, 0x023f2c8c, 0x01d9ede7, 0x034cffb5, 0x02116c5d, 0x03cb7586, 0x02deffa1, 0x00004107}}}, + {X: Field{[10]uint32{0x01e75886, 0x03c142c0, 0x029bd33b, 0x00d43b95, 0x03191603, 0x005a6315, 0x00abbc79, 0x02b2d9d8, 0x005db55e, 0x0022be23}}, Y: Field{[10]uint32{0x01d9a12c, 0x02fd65af, 0x02beaf61, 0x02d74af9, 0x00ca203e, 0x025801f0, 0x02eeb245, 0x02d2c4a6, 0x010b6bf2, 0x0013d6e1}}}, + {X: Field{[10]uint32{0x00ef8672, 0x02d82213, 0x035072e2, 0x00602339, 0x01edb695, 0x00e457a0, 0x03648491, 0x03ae3869, 0x037a3316, 0x002b4cf9}}, Y: Field{[10]uint32{0x037ccd90, 0x0297932b, 0x0313f16c, 0x0227c563, 0x016c4f4f, 0x025431d7, 0x01157fd7, 0x022f6769, 0x01e24bc8, 0x003e8058}}}, + {X: Field{[10]uint32{0x01d8c2bc, 0x037b6cf6, 0x01ba069e, 0x007d808b, 0x01cdb51e, 0x0070d121, 0x0196ee9b, 0x02bf9e47, 0x01ef7620, 0x001112a0}}, Y: Field{[10]uint32{0x0351e2fd, 0x006bc465, 0x03b52e64, 0x00a47beb, 0x02bd2683, 0x02ff366e, 0x02811c7f, 0x013af0bb, 0x03d9a49d, 0x002a2005}}}, + {X: Field{[10]uint32{0x02aa5c51, 0x002d98f3, 0x00aa51d1, 0x034492b2, 0x0377af3a, 0x01940e8b, 0x0387e9d2, 0x03e2d981, 0x03a39530, 0x0016c781}}, Y: Field{[10]uint32{0x037810b9, 0x00311c3d, 0x0013b450, 0x0041eef4, 0x02e87cb5, 0x021aa01a, 0x031e59b6, 0x0383ec9c, 0x00d38d55, 0x003f3d30}}}, + {X: Field{[10]uint32{0x03174309, 0x00cfb45c, 0x02844ba5, 0x01f65897, 0x01b1d42e, 0x00c5f99f, 0x034c4033, 0x01aa195e, 0x00170e98, 0x00000fa3}}, Y: Field{[10]uint32{0x00cd6caa, 0x03d54865, 0x03e5e696, 0x03d70a5b, 0x029db702, 0x00f1fb83, 0x020f3966, 0x028d743a, 0x009ff4f5, 0x0037baf9}}}, + {X: Field{[10]uint32{0x00d112c1, 0x03a0f601, 0x017e5746, 0x0241fc75, 0x036432af, 0x011ad4a2, 0x024c078b, 0x032c6674, 0x02ee5e9b, 0x0028425b}}, Y: Field{[10]uint32{0x02e7c6d4, 0x0229db74, 0x02fc13f0, 0x003f87a4, 0x0097eace, 0x033553cf, 0x02b3019a, 0x00db3595, 0x00fe6994, 0x002f44f9}}}, + {X: Field{[10]uint32{0x0265f2f0, 0x001c6dd9, 0x0093898c, 0x024d37b4, 0x00368610, 0x0269d7ba, 0x000a6d89, 0x0379d76d, 0x01794218, 0x00151d61}}, Y: Field{[10]uint32{0x01174548, 0x0184fd86, 0x021b5c6f, 0x02fca71d, 0x026bcde4, 0x0376a995, 0x00dcd94f, 0x031a25c3, 0x024213e1, 0x000ef555}}}, + {X: Field{[10]uint32{0x01456057, 0x02f1a511, 0x02df7f7b, 0x02417ba6, 0x02a44002, 0x013dd161, 0x0356604f, 0x02f112ff, 0x0192fcb4, 0x0013acca}}, Y: Field{[10]uint32{0x0245c3d4, 0x0185502e, 0x03609216, 0x02319b6d, 0x00e0cc9d, 0x0014400c, 0x0277c673, 0x027c06b6, 0x00f26834, 0x00215daa}}}, + {X: Field{[10]uint32{0x0261a22d, 0x016d322d, 0x01ea269c, 0x008fe4b9, 0x000f2917, 0x026429f0, 0x01428e75, 0x0124cf1b, 0x01efd2eb, 0x000d42cb}}, Y: Field{[10]uint32{0x00de6943, 0x003ec964, 0x0159e354, 0x02a04c83, 0x0370f807, 0x0203bd6f, 0x02126d83, 0x03cd2fcd, 0x0300add9, 0x00186b36}}}, + {X: Field{[10]uint32{0x01f360ff, 0x03f6611d, 0x03017d7a, 0x01ac0c1a, 0x032da3c9, 0x02b284a6, 0x037341ee, 0x0220654c, 0x00bece7f, 0x002453aa}}, Y: Field{[10]uint32{0x01ac7b53, 0x01ca98e1, 0x01213d32, 0x02927f22, 0x03582948, 0x022c90b6, 0x03b563ce, 0x02029d20, 0x0148ebef, 0x003caa95}}}, + {X: Field{[10]uint32{0x03dc0fef, 0x01891ae0, 0x01a33459, 0x03e714f8, 0x03ad6d44, 0x01c38fd7, 0x02baa6bd, 0x0097d2ea, 0x021738da, 0x0003d95b}}, Y: Field{[10]uint32{0x01fd83e5, 0x0076b256, 0x03ef54c3, 0x012c8103, 0x00c742ce, 0x00dcf0b1, 0x025f53cf, 0x024a1c29, 0x00fc3463, 0x00102a2d}}}, + {X: Field{[10]uint32{0x033b618f, 0x0399dc64, 0x00182ce3, 0x008e8849, 0x02d77e10, 0x0036a99b, 0x00310bbc, 0x00f39519, 0x02f0334e, 0x00291f22}}, Y: Field{[10]uint32{0x000c7f08, 0x0254a503, 0x02c4b522, 0x00ba1c57, 0x0341ec5b, 0x0285c4fa, 0x031694ff, 0x01f1d579, 0x0354056d, 0x001b6f32}}}, + {X: Field{[10]uint32{0x00753ca9, 0x01bba74c, 0x02688676, 0x00c47ab3, 0x003b5fde, 0x0085e357, 0x007947f8, 0x0012997a, 0x00625e1d, 0x0002a28a}}, Y: Field{[10]uint32{0x02fc2169, 0x03cbc78b, 0x023ba94d, 0x01d75ce4, 0x021feb3f, 0x03e8426f, 0x039e672e, 0x02813429, 0x02f7483a, 0x003e0ab5}}}, + {X: Field{[10]uint32{0x01c017d0, 0x00fde88c, 0x008371e8, 0x002283d1, 0x034fe062, 0x03f501fb, 0x02903cb3, 0x02e15789, 0x014e5f8e, 0x002807fd}}, Y: Field{[10]uint32{0x032edf92, 0x016cbb83, 0x03ee2f0e, 0x00009d98, 0x009fd59b, 0x01f64945, 0x0018ec07, 0x0069a213, 0x02f9c52f, 0x000891f1}}}, + {X: Field{[10]uint32{0x0142aed1, 0x01f21d63, 0x0072ff2d, 0x038c47d8, 0x0061ef4f, 0x02668c83, 0x02adbd60, 0x03226db2, 0x003a626a, 0x0039ec27}}, Y: Field{[10]uint32{0x00609fdc, 0x02bbf34e, 0x005e2c0f, 0x0285b667, 0x0337c3c5, 0x000f3d68, 0x01c64ace, 0x0143a639, 0x02d36a7b, 0x0023b665}}}, + {X: Field{[10]uint32{0x023ff2fd, 0x016916e1, 0x037173f3, 0x025cdcf2, 0x0196307c, 0x01816410, 0x009fb522, 0x00a81b2a, 0x0253336c, 0x000eeea7}}, Y: Field{[10]uint32{0x03d24799, 0x03a0d049, 0x0160d52a, 0x008dba32, 0x00419d51, 0x0153a6e3, 0x00ccaeae, 0x03f05bd6, 0x01093faf, 0x003cbfa4}}}, + {X: Field{[10]uint32{0x000630a3, 0x0017e70b, 0x00acdaf9, 0x0086d890, 0x0311950c, 0x010cbd4c, 0x01224000, 0x0005d088, 0x02b6dc66, 0x003d8748}}, Y: Field{[10]uint32{0x009ffb05, 0x006915c1, 0x02796142, 0x01405778, 0x00692bb2, 0x0337eac6, 0x02b7e865, 0x00b3ce4f, 0x035a1a66, 0x000181a3}}}, + {X: Field{[10]uint32{0x00a80962, 0x026f9c3a, 0x02d13718, 0x037009c0, 0x01891c45, 0x03cf91c8, 0x0038dcb8, 0x0288b62f, 0x00556b1a, 0x00296d82}}, Y: Field{[10]uint32{0x00b1ddb6, 0x02640cbf, 0x0234a071, 0x01a5f357, 0x023a9b3a, 0x01b060ab, 0x0220b99e, 0x0017287f, 0x03d2d5e3, 0x003ddfe5}}}, + {X: Field{[10]uint32{0x01e1a259, 0x02a97321, 0x02ac1be3, 0x006ca008, 0x02f03030, 0x039bd64b, 0x00ae950b, 0x00958b87, 0x02f900eb, 0x001c30ea}}, Y: Field{[10]uint32{0x00587583, 0x0085ee53, 0x01deb61f, 0x02fa85eb, 0x033f91f2, 0x004eabbd, 0x00626f72, 0x034c6739, 0x03cd31a8, 0x000fcb2d}}}, + {X: Field{[10]uint32{0x0106e530, 0x01744da3, 0x03d93b97, 0x02bf0cf9, 0x01a67952, 0x010f9e44, 0x01fcc4d4, 0x0178dca3, 0x01d1a875, 0x000775c3}}, Y: Field{[10]uint32{0x0190d084, 0x0077f35c, 0x020c4014, 0x01f6dafb, 0x01240e67, 0x03b31cf7, 0x00400742, 0x0253bd1c, 0x01741f58, 0x0011a13e}}}, + {X: Field{[10]uint32{0x0083fcf9, 0x020331a4, 0x035462b1, 0x00f5195c, 0x02f5d37c, 0x034372a0, 0x016bb7f2, 0x03f52f63, 0x018d7aac, 0x0035135a}}, Y: Field{[10]uint32{0x007dc407, 0x026fafc2, 0x03e47281, 0x0104dd02, 0x03c0c940, 0x031056f5, 0x0067b0f4, 0x00a59643, 0x003d0423, 0x00286360}}}, + {X: Field{[10]uint32{0x01b34ca5, 0x02700414, 0x019f9410, 0x00418553, 0x0362730a, 0x02c6f0ee, 0x0122ae74, 0x015d0a15, 0x02e13045, 0x00211626}}, Y: Field{[10]uint32{0x03b3606c, 0x03d88d4d, 0x0390349b, 0x02e8f78e, 0x03de14fc, 0x00be9c1f, 0x02ffce9b, 0x02bd26fd, 0x0208f2a9, 0x002e5e7e}}}, + {X: Field{[10]uint32{0x03724627, 0x034bc122, 0x006f5469, 0x00fff413, 0x01bc84e7, 0x03fc5707, 0x0131c1ef, 0x02265afb, 0x03df8911, 0x000f7b23}}, Y: Field{[10]uint32{0x03eb2c8c, 0x0389c406, 0x0310c16a, 0x028aff50, 0x03daccca, 0x013fe237, 0x011a555f, 0x016f3f6f, 0x03c1e20b, 0x002c50fc}}}, + {X: Field{[10]uint32{0x00cac160, 0x03d0dd02, 0x0012a2f0, 0x037905ed, 0x02023a8d, 0x00339197, 0x01bfcc47, 0x0367180e, 0x03c5519d, 0x000d9e97}}, Y: Field{[10]uint32{0x03f021a6, 0x03eb1729, 0x03cc2dba, 0x00825ea1, 0x03faa648, 0x00f83e3c, 0x011b136a, 0x03f2438a, 0x01df2c6b, 0x0016e3ef}}}, + {X: Field{[10]uint32{0x0063efc1, 0x00c95b25, 0x02cce5fa, 0x03f521ee, 0x031e7c2e, 0x003623a4, 0x03ab6b32, 0x0181bd82, 0x007e7777, 0x0022a956}}, Y: Field{[10]uint32{0x03f091dc, 0x00e7f474, 0x00c1888a, 0x00d11278, 0x0150beeb, 0x02b548a2, 0x02921eca, 0x0284cb05, 0x036c98bf, 0x002b16e9}}}, + {X: Field{[10]uint32{0x0084cae0, 0x01afcf03, 0x038c6a5d, 0x0107b299, 0x02af3aa4, 0x02c34471, 0x00fd9e60, 0x00cba80c, 0x01910ea6, 0x001e7000}}, Y: Field{[10]uint32{0x01dfb899, 0x034b608e, 0x01e85472, 0x037caf46, 0x01ae9c8b, 0x03d0070b, 0x000b659b, 0x02a504eb, 0x00703b19, 0x000fe550}}}, + {X: Field{[10]uint32{0x03a04fc8, 0x03e2fe00, 0x018b3d4e, 0x0292b692, 0x01e858aa, 0x01920c95, 0x01951a06, 0x027a5737, 0x032221a5, 0x00321379}}, Y: Field{[10]uint32{0x02f0a0b9, 0x02f11452, 0x01102158, 0x03483d8e, 0x010548fc, 0x01888112, 0x0011109a, 0x02fca37e, 0x0158915a, 0x001cf37a}}}, + {X: Field{[10]uint32{0x01a9d6d5, 0x01ae24ad, 0x00c218cb, 0x0373f9a5, 0x01fedf74, 0x028f164d, 0x023822b2, 0x01f58781, 0x0050c632, 0x0022c6e3}}, Y: Field{[10]uint32{0x00fe168b, 0x01832c00, 0x037f841f, 0x01ad6d90, 0x00c03676, 0x03fd0c53, 0x03dfc479, 0x0190d7d1, 0x01529f15, 0x0015ef62}}}, + {X: Field{[10]uint32{0x00702c52, 0x00ff5492, 0x03650e78, 0x039dc675, 0x0033a31c, 0x0107e061, 0x0117c4a3, 0x00be6148, 0x008a3ae8, 0x002d17bb}}, Y: Field{[10]uint32{0x020a1c90, 0x0231b867, 0x0046dc98, 0x02167ba4, 0x03254117, 0x0280525e, 0x005d0fce, 0x01ad3c24, 0x035cc708, 0x0033555a}}}, + {X: Field{[10]uint32{0x00757319, 0x001de020, 0x01cd2c57, 0x004e196a, 0x0031ab70, 0x031632f7, 0x034871ea, 0x025b1d9e, 0x00ddd930, 0x0028b577}}, Y: Field{[10]uint32{0x03064547, 0x0351ab92, 0x001a60a6, 0x02a2bd8b, 0x03227ae8, 0x00782d4d, 0x02b5978b, 0x02c8fa79, 0x02b4b130, 0x001ea901}}}, + {X: Field{[10]uint32{0x01ed2b2d, 0x0053066e, 0x025db3d3, 0x0064486b, 0x01e97f6e, 0x01426fb0, 0x0164ea83, 0x0165429d, 0x02b4e5d3, 0x001c480d}}, Y: Field{[10]uint32{0x00a93616, 0x01d0539a, 0x0172a21d, 0x00cbe725, 0x00e3a322, 0x0094d0b2, 0x0298d2f4, 0x0183a811, 0x03f38d05, 0x0009618b}}}, + {X: Field{[10]uint32{0x00bfb392, 0x00ad54bc, 0x02df0756, 0x038c1e56, 0x03dca402, 0x026bf25c, 0x02e58c87, 0x0322ea50, 0x00f7d70f, 0x0016f3bc}}, Y: Field{[10]uint32{0x03af1919, 0x032c2242, 0x0247454c, 0x0391cc95, 0x011a444c, 0x00ff15be, 0x03b0e12c, 0x016ff4fb, 0x024cecb4, 0x001f3216}}}, + {X: Field{[10]uint32{0x01741ada, 0x0076164e, 0x02b0eb5c, 0x00519d9e, 0x03b9e5f2, 0x03d713a6, 0x03ab9f0a, 0x02286c2b, 0x002f9d50, 0x0037355c}}, Y: Field{[10]uint32{0x01cc1fa1, 0x009463b7, 0x0335f9eb, 0x0161bc31, 0x013369d5, 0x00949940, 0x00d40a4a, 0x038e9f73, 0x02d7ea13, 0x003dfaba}}}, + {X: Field{[10]uint32{0x02cb3d9f, 0x02e46ef9, 0x02ec9784, 0x02e4974f, 0x02363bfc, 0x02e2dc5d, 0x01c3ade1, 0x018a7424, 0x00d0004f, 0x000b3a8c}}, Y: Field{[10]uint32{0x01c42624, 0x011825a8, 0x036e3444, 0x0152ce6c, 0x03c48ba4, 0x00f778d2, 0x009a76aa, 0x02c5c73f, 0x03ada42a, 0x002a0fd2}}}, + {X: Field{[10]uint32{0x01c32f8d, 0x01b7f1e8, 0x035d009c, 0x035ba540, 0x01150e54, 0x029064d3, 0x015fcb13, 0x00647b7c, 0x01f2767b, 0x002162d0}}, Y: Field{[10]uint32{0x03de8dd7, 0x03b3e0a7, 0x01358e5c, 0x0277d975, 0x00b34d6e, 0x01200a8a, 0x00a21720, 0x0257d51e, 0x017d76dc, 0x0020602e}}}, + {X: Field{[10]uint32{0x030e81e6, 0x03f40830, 0x01294245, 0x01a034bc, 0x033eb9a6, 0x03d06004, 0x01234e5f, 0x0166e1b4, 0x0002bee3, 0x00357260}}, Y: Field{[10]uint32{0x033781de, 0x02bad256, 0x0376d921, 0x03a47640, 0x03a0b6bc, 0x00bf21ed, 0x01a2e4ee, 0x031e5419, 0x01a4cd2b, 0x0013948b}}}, + {X: Field{[10]uint32{0x0120c1ed, 0x01b0e865, 0x00fb7d4d, 0x01db6a2b, 0x0134002d, 0x00b792df, 0x024ddf58, 0x03aa7dc6, 0x01622f9c, 0x0003afe4}}, Y: Field{[10]uint32{0x02d4e251, 0x02074616, 0x0136ecd4, 0x0126394d, 0x027e43d0, 0x00631d6a, 0x03fb4833, 0x02073638, 0x03223e18, 0x003bb9d4}}}, + {X: Field{[10]uint32{0x0261db4d, 0x01bdb202, 0x01ff6b40, 0x0013cd9a, 0x000acc45, 0x03dd2f9a, 0x002e111a, 0x015bcc23, 0x02a9d087, 0x0000e1fd}}, Y: Field{[10]uint32{0x03cdd28a, 0x02d54ba1, 0x00c4a59d, 0x0288dc89, 0x01ed0bbb, 0x033d73d3, 0x01f96d5d, 0x017e449b, 0x01e3ea1d, 0x000a2165}}}, + {X: Field{[10]uint32{0x03e46714, 0x01d255b7, 0x020df255, 0x03ba7fbc, 0x009aa409, 0x01648051, 0x03a2d70e, 0x0354b8e0, 0x01c0989b, 0x00225ffc}}, Y: Field{[10]uint32{0x01adc9d1, 0x03b3e942, 0x016c6bca, 0x01a4db7f, 0x02de0940, 0x0112a1ce, 0x0295a006, 0x0194a7d3, 0x00c9308c, 0x000f3ef0}}}, + {X: Field{[10]uint32{0x01a395af, 0x01fbc6ad, 0x03eefb57, 0x00ddbe13, 0x03bbcbb3, 0x00b62c93, 0x02bbf21e, 0x02131e2d, 0x00a68e04, 0x000c956a}}, Y: Field{[10]uint32{0x0112aeb3, 0x0089664a, 0x0081fd81, 0x0355107a, 0x0379ef3f, 0x00b5d224, 0x014a426d, 0x012e139b, 0x0002f920, 0x0005ecf0}}}, + {X: Field{[10]uint32{0x01c55599, 0x023be7f7, 0x01b7e277, 0x00079c1c, 0x011fbca1, 0x007b6889, 0x003eeafb, 0x038ec0e5, 0x0152d4d9, 0x000b292a}}, Y: Field{[10]uint32{0x03891e00, 0x00b858c8, 0x016a0989, 0x032d8f28, 0x03e98631, 0x01d231fa, 0x01a2c044, 0x030637e0, 0x02ccdf02, 0x002feb2e}}}, + {X: Field{[10]uint32{0x024383b2, 0x0017dab7, 0x03d73105, 0x03e22936, 0x02046ee5, 0x006dbb2d, 0x03b0410e, 0x00cd2b51, 0x009c478c, 0x0030fa0a}}, Y: Field{[10]uint32{0x02f0f55f, 0x00012cf5, 0x0391fde4, 0x03b89c9e, 0x0000229b, 0x02d3b488, 0x03f4309c, 0x0048e191, 0x02ceb043, 0x0015e4b0}}}, + {X: Field{[10]uint32{0x01119049, 0x02f49f05, 0x019d5f87, 0x02376e4b, 0x0086fb96, 0x01fe6108, 0x03ad63c6, 0x024be619, 0x0360a862, 0x000aef7b}}, Y: Field{[10]uint32{0x00a85362, 0x0219d598, 0x03538802, 0x018953c0, 0x00e75dac, 0x03503534, 0x0099d193, 0x0311e4a4, 0x03623536, 0x003d292d}}}, + {X: Field{[10]uint32{0x032496a9, 0x00cf2e7f, 0x03d2ce03, 0x01ef88ab, 0x01fe3ee4, 0x005292f8, 0x0014ef07, 0x02b2cc60, 0x00909e7d, 0x001de9b8}}, Y: Field{[10]uint32{0x0251065f, 0x01746214, 0x00384381, 0x009f858f, 0x0234461e, 0x00658524, 0x01915d18, 0x0241b347, 0x0075b1a9, 0x00153c39}}}, + {X: Field{[10]uint32{0x00f40ff0, 0x00e79141, 0x00b1145c, 0x0391e4d4, 0x02ea94d5, 0x01e7d935, 0x034f4139, 0x0249537a, 0x016b7871, 0x0034656e}}, Y: Field{[10]uint32{0x00e0636c, 0x01fdca70, 0x0069bd99, 0x02b696bd, 0x00b8245c, 0x002936e2, 0x032d4b2b, 0x0211ba51, 0x0040613c, 0x0008e291}}}, + {X: Field{[10]uint32{0x00815b1f, 0x029866c1, 0x01bd8113, 0x00552369, 0x00ad024d, 0x00213d05, 0x03b0f3c6, 0x029975d6, 0x0336208a, 0x0030e6a8}}, Y: Field{[10]uint32{0x0126fe5a, 0x00cc54c4, 0x012004b2, 0x014db612, 0x02455a00, 0x0395cfb9, 0x0083b226, 0x00775052, 0x02d63274, 0x001eaac7}}}, + {X: Field{[10]uint32{0x01e31f30, 0x01dd933f, 0x028d2296, 0x01c11362, 0x01d6661c, 0x00932ecc, 0x020bd270, 0x020b6f2f, 0x023d0baf, 0x003a0328}}, Y: Field{[10]uint32{0x0197451b, 0x0211d129, 0x017138c4, 0x01091a18, 0x01f67e81, 0x03ae0f97, 0x03c583a5, 0x01e1e2f2, 0x01d47318, 0x002854f4}}}, + {X: Field{[10]uint32{0x0272ef80, 0x032dec0b, 0x00120711, 0x017f82bb, 0x01f3e850, 0x0356569f, 0x016723a4, 0x0308e83e, 0x0265a5a9, 0x000e56de}}, Y: Field{[10]uint32{0x009bf990, 0x026979f9, 0x034b6222, 0x000ca64b, 0x034f88cf, 0x02895950, 0x02d37b19, 0x01b8e4da, 0x01d54747, 0x00164083}}}, + {X: Field{[10]uint32{0x010b495c, 0x03f688a4, 0x02577644, 0x0117ffbc, 0x02e8b495, 0x0144a976, 0x017e2cd9, 0x008f49ed, 0x00dbb83e, 0x0019e9fa}}, Y: Field{[10]uint32{0x00965735, 0x014c0cba, 0x01f15a87, 0x03b9a338, 0x0041fd34, 0x03a02d04, 0x00a89f78, 0x02e7d040, 0x019d3791, 0x001f0052}}}, + {X: Field{[10]uint32{0x01c0c7e7, 0x02cecfdb, 0x03892ac9, 0x00218508, 0x03ecfb4b, 0x032f8b38, 0x01863952, 0x039ec21a, 0x027d76d2, 0x003100e3}}, Y: Field{[10]uint32{0x01e92f3b, 0x0080d459, 0x0229e72f, 0x002d9909, 0x00012946, 0x030d3f23, 0x02a27bab, 0x026df4c9, 0x030d9efc, 0x00186ece}}}, + {X: Field{[10]uint32{0x03a25e5a, 0x0095a630, 0x019a88a5, 0x00201c28, 0x01b9bdda, 0x03f0fd5d, 0x029c52f5, 0x034ebbb9, 0x01e226a4, 0x001dc169}}, Y: Field{[10]uint32{0x03c7a1b7, 0x020f92d4, 0x022073a8, 0x00088901, 0x0244be9e, 0x0071aa60, 0x0026973d, 0x001be309, 0x016cf019, 0x00116382}}}, + {X: Field{[10]uint32{0x00ff48d0, 0x028d1d4d, 0x028759e4, 0x03c6d192, 0x0268a5f1, 0x007f80e5, 0x02994fa0, 0x02d7985a, 0x03c35958, 0x003cf3a2}}, Y: Field{[10]uint32{0x010058fe, 0x02891cf8, 0x00d6b222, 0x02821d40, 0x038dc92a, 0x01ebb18f, 0x008c441f, 0x035e2d9f, 0x0197be3a, 0x00270687}}}, + {X: Field{[10]uint32{0x00a4e0d0, 0x0279fccf, 0x005d7664, 0x02b6bd5a, 0x003ebb94, 0x00075be2, 0x029d764e, 0x033af6e6, 0x0120de69, 0x002417b0}}, Y: Field{[10]uint32{0x00a9d554, 0x039127a7, 0x030e93a8, 0x004b5e6a, 0x024d42ce, 0x01470032, 0x00a75d0e, 0x02a8e9dd, 0x02993974, 0x0024985f}}}, + {X: Field{[10]uint32{0x0321eeed, 0x02b69a26, 0x006b4f15, 0x011ff6c9, 0x0127d484, 0x01993078, 0x02d0edc3, 0x02164a2e, 0x024da357, 0x002c6dd2}}, Y: Field{[10]uint32{0x013206d9, 0x02c9baa7, 0x021328f5, 0x0240cf13, 0x00c14e4d, 0x00c8b134, 0x00e38231, 0x027a3ef3, 0x01c7b84e, 0x00310d4e}}}, + {X: Field{[10]uint32{0x03d8bcf1, 0x03ee58c0, 0x02025bd5, 0x01344b4f, 0x038dcf81, 0x0310b6ad, 0x03a2a471, 0x00b51acb, 0x0165c72f, 0x00035100}}, Y: Field{[10]uint32{0x0343ae3e, 0x001c87d4, 0x0022aca3, 0x01247601, 0x03fabab7, 0x031da0f7, 0x03ad9cff, 0x017eb3a5, 0x0150261f, 0x00382192}}}, + {X: Field{[10]uint32{0x0053b303, 0x00fe4e54, 0x02ed1de0, 0x02bd9602, 0x03fe08d5, 0x0355ce95, 0x03910be6, 0x00669fde, 0x004f722c, 0x003fd493}}, Y: Field{[10]uint32{0x0353bf0d, 0x02ea986d, 0x0391398f, 0x01a18bd7, 0x035b9f13, 0x00c80cd6, 0x0262deab, 0x02aa2ece, 0x014e5b25, 0x0003f52b}}}, + {X: Field{[10]uint32{0x018d091e, 0x017fbc63, 0x01a4463a, 0x02c128eb, 0x038fafa2, 0x02706e90, 0x0376a53c, 0x00420f92, 0x00bd331c, 0x003bff78}}, Y: Field{[10]uint32{0x01947dde, 0x038530c7, 0x02b9aee0, 0x037cad06, 0x02c563bd, 0x01b33bc3, 0x02e54208, 0x0084179a, 0x029ca75c, 0x003f5ea1}}}, + {X: Field{[10]uint32{0x033875e8, 0x03115c4b, 0x01278f40, 0x01939027, 0x021115ba, 0x0160eb6c, 0x034a304b, 0x03667a22, 0x02c099c8, 0x002979d1}}, Y: Field{[10]uint32{0x02934a68, 0x0307bbcb, 0x00c07fd2, 0x00e7767a, 0x02841709, 0x001cfdff, 0x00baba4f, 0x00e0c0b1, 0x0112c2af, 0x001fe0c8}}}, + {X: Field{[10]uint32{0x02ccb431, 0x006424cc, 0x0246a1ba, 0x01d121be, 0x037df5e2, 0x03f91544, 0x00daa722, 0x03a50e76, 0x01e3af5e, 0x001ab32e}}, Y: Field{[10]uint32{0x0328dcae, 0x03277267, 0x01dc443e, 0x00207f3d, 0x01a3faf1, 0x01a3e4b9, 0x03c26a9b, 0x01960141, 0x0258842d, 0x003c3785}}}, + {X: Field{[10]uint32{0x032b6d4e, 0x0225e2bd, 0x023ba1ec, 0x00c7b404, 0x00b86f3d, 0x03be15a6, 0x00e782b3, 0x00cafdba, 0x0055e40d, 0x003204f4}}, Y: Field{[10]uint32{0x01068ca6, 0x01e40463, 0x0128d288, 0x03d0aee5, 0x0047d37e, 0x021318a0, 0x01a41916, 0x0118c713, 0x03572f92, 0x002ebdb5}}}, + {X: Field{[10]uint32{0x03c7aaf9, 0x02a11365, 0x01177038, 0x0398bf7c, 0x03599dfa, 0x02f93561, 0x03baeb58, 0x03f18913, 0x00122cad, 0x0022e208}}, Y: Field{[10]uint32{0x02f7a6a3, 0x00f1e081, 0x00b2d409, 0x0291da02, 0x007867c8, 0x029690aa, 0x016e131f, 0x003693dc, 0x0293ac90, 0x003d79b0}}}, + {X: Field{[10]uint32{0x017310ce, 0x006760cb, 0x017ee096, 0x00d1341c, 0x03bc02ff, 0x03fea910, 0x00a5acc4, 0x03960ad5, 0x0050f49e, 0x0023c1d4}}, Y: Field{[10]uint32{0x01f7fd3f, 0x0284c56d, 0x021c9b99, 0x02a1adc0, 0x01f1f9f9, 0x011e668f, 0x00555c4a, 0x034c95f3, 0x01bb7ab3, 0x0004ee40}}}, + {X: Field{[10]uint32{0x00374c58, 0x035047ec, 0x01f66921, 0x036c8720, 0x0389a456, 0x00bdcb25, 0x025fb1df, 0x00f950f1, 0x02f8cf64, 0x002ef214}}, Y: Field{[10]uint32{0x030a590b, 0x012ee8ac, 0x032cd4c1, 0x00be13c0, 0x03a27e1c, 0x02c922cf, 0x03f604cf, 0x007892ca, 0x02bbe797, 0x002b423a}}}, + {X: Field{[10]uint32{0x0280bc1f, 0x000940c6, 0x009fcffa, 0x0332c795, 0x03009278, 0x03730b72, 0x00edddc9, 0x0156ee1e, 0x004b662b, 0x000b5df7}}, Y: Field{[10]uint32{0x00d058eb, 0x01821c3b, 0x03fffa8e, 0x0282272b, 0x02c07707, 0x01dbbdbb, 0x01a62f4e, 0x03ca86b4, 0x00d84fa7, 0x000a22ec}}}, + {X: Field{[10]uint32{0x03ccbdf9, 0x01e452b5, 0x00b4ffea, 0x02ae7216, 0x00c90945, 0x012ee9b2, 0x03df7d99, 0x02a1bae6, 0x031ff3b4, 0x002f20fd}}, Y: Field{[10]uint32{0x03232292, 0x034f9252, 0x00b30020, 0x018e8ea2, 0x01fa3c25, 0x03446550, 0x01ed4553, 0x01f48e02, 0x03a3e506, 0x00063a47}}}, + {X: Field{[10]uint32{0x00200919, 0x036d0d4b, 0x037b3205, 0x03038aee, 0x0045f83d, 0x011f4149, 0x0211b7e8, 0x02239ac3, 0x02578d9b, 0x001f56e5}}, Y: Field{[10]uint32{0x00515ba9, 0x03d55c24, 0x00d352fa, 0x01caabf5, 0x00b1c9e6, 0x015a6bd3, 0x00e7230c, 0x0304370a, 0x037b8830, 0x00079a27}}}, + {X: Field{[10]uint32{0x000cdc80, 0x03e4a288, 0x03cdc1ba, 0x021f2b30, 0x01516148, 0x01183128, 0x01bab4c7, 0x021a20c7, 0x03648d75, 0x00217a7c}}, Y: Field{[10]uint32{0x01369e27, 0x0239684c, 0x03a9dd5f, 0x03d300ff, 0x035ba5e4, 0x001fdff0, 0x025224cc, 0x01170161, 0x01180d50, 0x001fd339}}}, + {X: Field{[10]uint32{0x02cd0810, 0x00765d12, 0x0065da10, 0x01dd16c7, 0x029c1d10, 0x02ef6dc6, 0x0055816d, 0x0252f4d2, 0x00dfc1c0, 0x001094e4}}, Y: Field{[10]uint32{0x0349bc00, 0x01df53c7, 0x0327d1e2, 0x030c2303, 0x02707547, 0x0027785d, 0x0026d94f, 0x0135c1a4, 0x00dd20ef, 0x00207c53}}}, + {X: Field{[10]uint32{0x013549d7, 0x036bfd90, 0x004194ce, 0x0026fe39, 0x02dbb594, 0x00283dd6, 0x00d00bb6, 0x024eb094, 0x030b66dc, 0x000f31f3}}, Y: Field{[10]uint32{0x00204a58, 0x01307587, 0x0323a066, 0x00668afa, 0x02ae17b7, 0x037dc399, 0x008bcf99, 0x036267da, 0x032fc3db, 0x000cc698}}}, + {X: Field{[10]uint32{0x0270853d, 0x00acfaf3, 0x035f017e, 0x00a8af8e, 0x009d6a0b, 0x03fde276, 0x03c923bc, 0x02f3a023, 0x008db8a1, 0x003f5c82}}, Y: Field{[10]uint32{0x01eaf599, 0x0037b242, 0x03494b71, 0x02a37d91, 0x0193db4a, 0x0282fb76, 0x03296383, 0x0066ebac, 0x0323a388, 0x0034e44a}}}, + {X: Field{[10]uint32{0x03e65060, 0x02cd6b3b, 0x037a6b72, 0x01071f74, 0x01c73185, 0x0282ea89, 0x00940af9, 0x025b6936, 0x038d5e00, 0x000f9563}}, Y: Field{[10]uint32{0x0260e90a, 0x01414f79, 0x00dde769, 0x00c5ffb0, 0x03f78f64, 0x02ea56e1, 0x03bdb3ef, 0x020170fa, 0x017f069d, 0x000a900f}}}, + {X: Field{[10]uint32{0x00694a7e, 0x03c81276, 0x00b01e82, 0x00aa43f4, 0x03721ec3, 0x0386dd17, 0x0000149f, 0x03c8885b, 0x0223f525, 0x001c1c20}}, Y: Field{[10]uint32{0x03d12569, 0x036afafb, 0x0354b410, 0x02218d98, 0x01fce17d, 0x01f650ed, 0x0186ac90, 0x0354fc67, 0x0387f0b4, 0x003bd2b5}}}, + {X: Field{[10]uint32{0x02414f72, 0x03a4452a, 0x012fc6e5, 0x02537be7, 0x02440b4a, 0x007933dd, 0x01eddb71, 0x03ebd92e, 0x0225eabf, 0x003b28a5}}, Y: Field{[10]uint32{0x037618cf, 0x00e2e388, 0x009dcd35, 0x00a0a0e6, 0x03f798b6, 0x03162433, 0x03bb2274, 0x028ff2c8, 0x007575af, 0x003c7e0e}}}, + {X: Field{[10]uint32{0x03297695, 0x00e3d957, 0x00108778, 0x02959b5b, 0x02da7423, 0x02186496, 0x0206db46, 0x03c31311, 0x0350542d, 0x0016df11}}, Y: Field{[10]uint32{0x011f784d, 0x008ae79e, 0x010795f9, 0x00b57a01, 0x01de04db, 0x033669a9, 0x00cb1a24, 0x02227f5b, 0x03661ae1, 0x0010a044}}}, + {X: Field{[10]uint32{0x00012042, 0x026e61af, 0x0038cb37, 0x01a20016, 0x02bd5da1, 0x039e20bf, 0x02982dd1, 0x02cbbb4d, 0x03e6040c, 0x002bc697}}, Y: Field{[10]uint32{0x013e6224, 0x0104856b, 0x00778b7e, 0x023a18f5, 0x02576877, 0x03f3f228, 0x03d12ed1, 0x0298d298, 0x0149305f, 0x001c55c1}}}, + {X: Field{[10]uint32{0x0366b1d2, 0x00659da4, 0x0346a9a3, 0x022c755d, 0x03e1e8b1, 0x00627132, 0x03cd1be1, 0x01f9c3e0, 0x03a24678, 0x001c9d10}}, Y: Field{[10]uint32{0x0116d540, 0x024a341b, 0x03dead68, 0x0303480b, 0x004df56a, 0x01dc396d, 0x02565cc1, 0x00fa2684, 0x00269bba, 0x00218d5e}}}, + {X: Field{[10]uint32{0x02640b8d, 0x03866284, 0x012556c5, 0x00aeafcf, 0x03ae2c9a, 0x004e647d, 0x01e68352, 0x0398a852, 0x0179db34, 0x0000259e}}, Y: Field{[10]uint32{0x019edcc4, 0x0301f07f, 0x03b014d4, 0x009c946c, 0x018547b8, 0x02fcf47b, 0x02e44ac3, 0x015944f3, 0x014f5244, 0x00267707}}}, + {X: Field{[10]uint32{0x03203601, 0x03ee20eb, 0x038b159d, 0x01f6f95e, 0x02be5693, 0x0016c1ac, 0x02f9d739, 0x0124789f, 0x01db08f3, 0x001e5002}}, Y: Field{[10]uint32{0x02da40b6, 0x0329878a, 0x017e750e, 0x009090e4, 0x005db60d, 0x022761ad, 0x026a0872, 0x03873456, 0x024d7ee5, 0x00169ab5}}}, + {X: Field{[10]uint32{0x01851d10, 0x018a5faa, 0x015110cf, 0x00bd41e4, 0x03d2f421, 0x03ec3747, 0x029470b1, 0x02c2436e, 0x02396f90, 0x0021f2f6}}, Y: Field{[10]uint32{0x001b63f0, 0x02480169, 0x013e773a, 0x014b8473, 0x03fb8f79, 0x01561771, 0x01fb4c9c, 0x03e65d40, 0x01f3a2a4, 0x00272825}}}, + {X: Field{[10]uint32{0x0110acb0, 0x0116c06e, 0x01fa84b2, 0x036816e5, 0x02cd1f3a, 0x006f9f84, 0x00207720, 0x005d4963, 0x0303475d, 0x0027b55e}}, Y: Field{[10]uint32{0x03bbd5eb, 0x03ba8da8, 0x0350d324, 0x0112387b, 0x03253106, 0x0032cfa2, 0x0058a7bd, 0x0206be17, 0x005443bd, 0x00356324}}}, + {X: Field{[10]uint32{0x028b0402, 0x00d53980, 0x02be7d5d, 0x0087f499, 0x0335fd95, 0x01844cd8, 0x02c77e38, 0x011260b6, 0x022292ca, 0x003be342}}, Y: Field{[10]uint32{0x00b58b6b, 0x01629d0f, 0x0037ff97, 0x034b8ad0, 0x02f2f547, 0x01df06a6, 0x0223e5b6, 0x02076a92, 0x034a5568, 0x00395712}}}, + {X: Field{[10]uint32{0x0127e3d9, 0x000565f4, 0x01c75abd, 0x0386c4bd, 0x002299f6, 0x03e93b42, 0x02d369f4, 0x03ca7540, 0x01f5a274, 0x001b6e88}}, Y: Field{[10]uint32{0x01a39d94, 0x0369de94, 0x00f3c930, 0x02774b7c, 0x01c951f6, 0x039ba720, 0x00302de3, 0x03907a31, 0x032f0a0c, 0x001da17d}}}, + {X: Field{[10]uint32{0x00399a3d, 0x0111a4f2, 0x032aa6ba, 0x026dfecc, 0x02784196, 0x01bb4a94, 0x001b0f42, 0x0308d5f7, 0x02bf857a, 0x0023370f}}, Y: Field{[10]uint32{0x03f910ca, 0x01dbe92d, 0x02beca58, 0x02ac9d22, 0x03df250d, 0x02da2866, 0x00d87249, 0x031c501b, 0x03c1915a, 0x0008d374}}}, + {X: Field{[10]uint32{0x01eca2da, 0x03f620ad, 0x00de1e88, 0x03e8a4d1, 0x00a9c790, 0x011c1a26, 0x03391b6f, 0x0196d1f8, 0x01c8caa6, 0x0028020a}}, Y: Field{[10]uint32{0x01424110, 0x02d4c5bf, 0x02aa8184, 0x025d81a3, 0x00234862, 0x020c6095, 0x004b1299, 0x01333962, 0x00c71e83, 0x002df23f}}}, + {X: Field{[10]uint32{0x0149ce6a, 0x02007748, 0x005f5640, 0x00bbbfdf, 0x02a4ed5b, 0x0353c8b5, 0x012e54a1, 0x02fac528, 0x0362446c, 0x00161cbd}}, Y: Field{[10]uint32{0x00ee198f, 0x0283070a, 0x01e2ac75, 0x0362eeb3, 0x004c37d5, 0x010d93bd, 0x030c29e2, 0x015fe869, 0x03e88627, 0x0022ab34}}}, + {X: Field{[10]uint32{0x02fd34f2, 0x0331ae40, 0x03b2fec4, 0x02b24674, 0x0353e7ce, 0x016d4cb3, 0x02677d2e, 0x01c543c8, 0x01c05dba, 0x002dc3b5}}, Y: Field{[10]uint32{0x00d28cf8, 0x035120a9, 0x0083126b, 0x026c2158, 0x0376c3d6, 0x006363f2, 0x03cee0b0, 0x005c728b, 0x0128cc74, 0x001f90fd}}}, + {X: Field{[10]uint32{0x0053bb52, 0x00305ae0, 0x027d309d, 0x00169e42, 0x022e8ca5, 0x03ac272e, 0x01a6d7c8, 0x0187431f, 0x02133c61, 0x0012faa8}}, Y: Field{[10]uint32{0x01d4f6d5, 0x02b372a6, 0x03ffadb1, 0x01b30a62, 0x03070349, 0x012cbb84, 0x0226d8fe, 0x0368bb19, 0x003c9cbd, 0x00369302}}}, + {X: Field{[10]uint32{0x01804831, 0x003a07c1, 0x035fc8a1, 0x00d134d3, 0x0108594b, 0x017e6af4, 0x00de363c, 0x0060d29e, 0x02c653ce, 0x002a34c7}}, Y: Field{[10]uint32{0x02c5cff9, 0x0130a1b6, 0x00bce64f, 0x00616529, 0x008c462c, 0x02df22e9, 0x01b5601c, 0x038dc27b, 0x01cd7cbb, 0x002d35aa}}}, +} + +var prec = [64][16]XY{ + { + {X: Field{[10]uint32{0x02f81798, 0x00a056c5, 0x028d959f, 0x036cb738, 0x03029bfc, 0x03a1c2c1, 0x0206295c, 0x02eeb156, 0x027ef9dc, 0x001e6f99}}, Y: Field{[10]uint32{0x0310d4b8, 0x01f423fe, 0x014199c4, 0x01229a15, 0x00fd17b4, 0x0384422a, 0x024fbfc0, 0x03119576, 0x027726a3, 0x00120eb6}}}, + {X: Field{[10]uint32{0x00709ee5, 0x03026e57, 0x03ca7aba, 0x012e33bc, 0x005c778e, 0x01701f36, 0x005406e9, 0x01f5b4c1, 0x039441ed, 0x0031811f}}, Y: Field{[10]uint32{0x00cfe52a, 0x010c6a54, 0x010e1236, 0x0194c99b, 0x02f7f632, 0x019b3abb, 0x00584194, 0x030ce68f, 0x00fea63d, 0x0006b85a}}}, + {X: Field{[10]uint32{0x00e036f9, 0x007c44ef, 0x019b0860, 0x01160dbe, 0x01b531c8, 0x0227548a, 0x0344f85f, 0x030c4124, 0x02019258, 0x003e4c22}}, Y: Field{[10]uint32{0x00b8e672, 0x027f5d61, 0x0231b6cb, 0x0264d308, 0x026500a9, 0x028dfcd5, 0x02337e62, 0x03a0503f, 0x030f632d, 0x000e23de}}}, + {X: Field{[10]uint32{0x00c4cd13, 0x02a52afa, 0x0358474f, 0x02403b81, 0x00cc6c13, 0x00c2c501, 0x01e49049, 0x0203cd60, 0x03f1c10d, 0x003924f6}}, Y: Field{[10]uint32{0x03739922, 0x025ef711, 0x03e40cfe, 0x00cefef7, 0x00d967ae, 0x03a94512, 0x002e2098, 0x0156dd59, 0x013ea0d4, 0x00147b66}}}, + {X: Field{[10]uint32{0x0240efe4, 0x02355a6c, 0x01ab7cba, 0x02f77186, 0x00e88b84, 0x0297144a, 0x034a7250, 0x00824d56, 0x024d1a07, 0x000be2f7}}, Y: Field{[10]uint32{0x02ac62d6, 0x021f4ea9, 0x02840dca, 0x006eac35, 0x02f78827, 0x01b27109, 0x01ba9dda, 0x038f5b53, 0x022636e5, 0x00362b08}}}, + {X: Field{[10]uint32{0x00297556, 0x015e8518, 0x0218b2f0, 0x00be15a2, 0x0382f647, 0x01548d74, 0x0053a143, 0x03ba9081, 0x03d5755e, 0x003ffe5e}}, Y: Field{[10]uint32{0x0075f297, 0x01c30dac, 0x024a03c8, 0x03d9463f, 0x00de80f0, 0x03d17158, 0x03e96017, 0x02d883ce, 0x037aacfb, 0x002b849d}}}, + {X: Field{[10]uint32{0x02c4f9bc, 0x02f77b72, 0x0239ce92, 0x01f80cc3, 0x023d419b, 0x00ba9e83, 0x018f365f, 0x02d3aa8e, 0x00646e5d, 0x00172f7c}}, Y: Field{[10]uint32{0x007264da, 0x02098a02, 0x027b5a50, 0x02e04ff7, 0x03a813d0, 0x01869536, 0x0178d6d8, 0x0165828c, 0x0240ba25, 0x001abaf2}}}, + {X: Field{[10]uint32{0x010a2a01, 0x0213bcf8, 0x0088a677, 0x001796be, 0x030a1bdd, 0x01c3cf0b, 0x033843fb, 0x00d476bf, 0x01e15cca, 0x000bc079}}, Y: Field{[10]uint32{0x00bde904, 0x028b2ddb, 0x03617b5d, 0x035ae96d, 0x00c2e213, 0x00cb44ed, 0x03d082a1, 0x026524a4, 0x00a74153, 0x0017136a}}}, + {X: Field{[10]uint32{0x0027ccbe, 0x03c4437f, 0x02714c35, 0x025d315f, 0x01e09796, 0x03d566af, 0x02d178a9, 0x03d94c26, 0x00e2f0c7, 0x002b3521}}, Y: Field{[10]uint32{0x024f9c37, 0x03098ab1, 0x00e0f05c, 0x0290dd7e, 0x01add888, 0x018ed87a, 0x03809717, 0x0367f590, 0x0121b0a7, 0x00330ce2}}}, + {X: Field{[10]uint32{0x03e247c7, 0x01a38a91, 0x002b752a, 0x026c650f, 0x013442d4, 0x02b9ab97, 0x0077c7b1, 0x032188d5, 0x019e47f3, 0x002810d3}}, Y: Field{[10]uint32{0x037368d7, 0x03b94ec0, 0x021593cb, 0x00bb61de, 0x016f794c, 0x00e8931a, 0x036c7e69, 0x02f09e8e, 0x02425419, 0x00224eae}}}, + {X: Field{[10]uint32{0x01a008cb, 0x0305e257, 0x03891bbe, 0x002f9705, 0x00564998, 0x003196ab, 0x034246b7, 0x0104797b, 0x03f858a9, 0x001dd2b9}}, Y: Field{[10]uint32{0x0153c61b, 0x035d3272, 0x016a8301, 0x038b7fe7, 0x01372db1, 0x01edecd9, 0x003dd56d, 0x01786409, 0x0032eb6b, 0x00366128}}}, + {X: Field{[10]uint32{0x00afe85a, 0x003d1c1c, 0x0095bc5b, 0x01065880, 0x03687cf4, 0x035cd18c, 0x0038f004, 0x01586c57, 0x01d548e7, 0x00340445}}, Y: Field{[10]uint32{0x00062327, 0x0146c4fd, 0x02d526b0, 0x017766a1, 0x0179238c, 0x005ef605, 0x0364537e, 0x03835ea2, 0x03fdc815, 0x002a7cd3}}}, + {X: Field{[10]uint32{0x01405aa8, 0x0377e3c6, 0x018cddee, 0x03198439, 0x01b075fb, 0x00dd2194, 0x011d205c, 0x00a22f1f, 0x03c2d975, 0x003ca1dc}}, Y: Field{[10]uint32{0x0303ed81, 0x0172d4b6, 0x0291f29b, 0x0369487e, 0x033a1a06, 0x01736bd1, 0x00212eb6, 0x002a25d6, 0x002e8d88, 0x0002ac24}}}, + {X: Field{[10]uint32{0x00e823e4, 0x02c90698, 0x009e6e49, 0x018d9e25, 0x0226aa7b, 0x01f4e38c, 0x024e67f0, 0x01c673f5, 0x039e895e, 0x001267f7}}, Y: Field{[10]uint32{0x03a13f5b, 0x03d03500, 0x015bcc65, 0x0309e8fe, 0x00464279, 0x01ecf519, 0x03044e4a, 0x02154643, 0x02c4b54e, 0x0032b0bd}}}, + {X: Field{[10]uint32{0x027e080e, 0x036f3e38, 0x0379e44a, 0x01bcf217, 0x0131e594, 0x0257fd04, 0x0065ae30, 0x03aa5969, 0x014f7d43, 0x0035e493}}, Y: Field{[10]uint32{0x02a26b58, 0x013727fd, 0x013a5c50, 0x00af625b, 0x03ea40af, 0x02331b7b, 0x0042ec22, 0x01ca9a0e, 0x0072a86c, 0x0016078a}}}, + {X: Field{[10]uint32{0x026dec0a, 0x03ba278a, 0x01ae9c44, 0x01a6e1e9, 0x03b2a313, 0x00708fa5, 0x011aabc2, 0x027b14c0, 0x0293b59e, 0x003983f3}}, Y: Field{[10]uint32{0x01616821, 0x00cb339a, 0x03f0be1f, 0x00791348, 0x00129689, 0x015e4dc4, 0x0399f34f, 0x02564a76, 0x007399e5, 0x003df8d4}}}, + }, + { + {X: Field{[10]uint32{0x026dec0a, 0x03ba278a, 0x01ae9c44, 0x01a6e1e9, 0x03b2a313, 0x00708fa5, 0x011aabc2, 0x027b14c0, 0x0293b59e, 0x003983f3}}, Y: Field{[10]uint32{0x01616821, 0x00cb339a, 0x03f0be1f, 0x00791348, 0x00129689, 0x015e4dc4, 0x0399f34f, 0x02564a76, 0x007399e5, 0x003df8d4}}}, + {X: Field{[10]uint32{0x03143e65, 0x0036f501, 0x0261d75d, 0x02e26412, 0x02dacffc, 0x00bcde33, 0x036e054e, 0x0288b51e, 0x01d74fb5, 0x0034c066}}, Y: Field{[10]uint32{0x00106ab9, 0x00ffc7c9, 0x0019605b, 0x030d93b6, 0x011f760c, 0x0260e019, 0x016dec9e, 0x03570ecf, 0x019d0ae3, 0x002540e3}}}, + {X: Field{[10]uint32{0x0118e5c3, 0x021c2a84, 0x02bc19bd, 0x009d14af, 0x03fc579b, 0x013996d2, 0x001656ef, 0x00c1f6d1, 0x035d9645, 0x001bb28c}}, Y: Field{[10]uint32{0x01a08668, 0x028bde01, 0x02c34498, 0x00e8efe3, 0x003a496a, 0x012e1d68, 0x02f57907, 0x001c4164, 0x03b57a7a, 0x00354048}}}, + {X: Field{[10]uint32{0x0074ef8b, 0x024639be, 0x03d81e37, 0x007736eb, 0x00fc4c6f, 0x020ca08f, 0x01051eaf, 0x03aadc2c, 0x01542d16, 0x002fc8f0}}, Y: Field{[10]uint32{0x02831d9f, 0x00dfbf99, 0x02f784dc, 0x01520478, 0x00c522fc, 0x0294e4b9, 0x01928a0b, 0x000dcdeb, 0x026fc330, 0x00172ce1}}}, + {X: Field{[10]uint32{0x0387f62e, 0x034c7853, 0x021270ec, 0x00e18dc5, 0x0010e6e6, 0x00d1967c, 0x03c744ed, 0x0243b035, 0x03bef1bf, 0x003a588e}}, Y: Field{[10]uint32{0x004ee737, 0x004fabe9, 0x0044e530, 0x032775a2, 0x01fe6043, 0x03b6aa4a, 0x03e953a8, 0x0267a783, 0x003b4bc2, 0x000e2a5d}}}, + {X: Field{[10]uint32{0x038cb0e3, 0x00ceb29f, 0x023a4439, 0x00ff87bf, 0x02a22eb5, 0x02cbadcb, 0x0264e044, 0x01b63e3e, 0x00e57445, 0x000fc3a0}}, Y: Field{[10]uint32{0x025f404f, 0x00a278ba, 0x013a4cb0, 0x00ea996d, 0x03950125, 0x0217406c, 0x00b9c084, 0x02f247a4, 0x03d7296c, 0x0032d9b5}}}, + {X: Field{[10]uint32{0x028d733c, 0x02ab7e0a, 0x028f9eb0, 0x02fd8bf2, 0x02ffc274, 0x002035a0, 0x004a36f2, 0x0076e822, 0x0173e516, 0x002f20b7}}, Y: Field{[10]uint32{0x007797f0, 0x0218413d, 0x017301e7, 0x02eb9ce2, 0x03ae93a0, 0x0067c0b7, 0x029b4bf7, 0x0072b152, 0x003a044b, 0x00397ca3}}}, + {X: Field{[10]uint32{0x0369a24e, 0x001dd159, 0x01655647, 0x035c014d, 0x00bcf55c, 0x01f459c7, 0x02c3d09f, 0x01e819a5, 0x03e4033f, 0x000d3fce}}, Y: Field{[10]uint32{0x03cc2f1a, 0x00419e9c, 0x03681849, 0x030fa3e2, 0x0055df16, 0x020c8263, 0x02619d89, 0x01b154fd, 0x01623a23, 0x00176744}}}, + {X: Field{[10]uint32{0x03bc7671, 0x03f88c57, 0x00e32d7e, 0x03214a16, 0x00743f1b, 0x01e63d24, 0x00291ce1, 0x01c84748, 0x0248c765, 0x00238f44}}, Y: Field{[10]uint32{0x00717dec, 0x00771906, 0x0144a7ef, 0x02aa98f8, 0x02b9352b, 0x00e4fa43, 0x00480e19, 0x032e07d9, 0x00e10ecf, 0x00026692}}}, + {X: Field{[10]uint32{0x01b03f6c, 0x030cab54, 0x0184b05e, 0x0048aa6c, 0x02a4d047, 0x03dcfd5d, 0x00776838, 0x036488af, 0x03a27a52, 0x000c2244}}, Y: Field{[10]uint32{0x00fe4c67, 0x02d7bf3a, 0x01f1260a, 0x03aa0af4, 0x01a8333f, 0x01b00dd7, 0x023531f6, 0x02f97e47, 0x009543fe, 0x003d296c}}}, + {X: Field{[10]uint32{0x02b31db2, 0x021d0caf, 0x006a0f32, 0x009e23d4, 0x028fcae8, 0x002228ad, 0x02a193ed, 0x02926225, 0x01aa2234, 0x001e2a24}}, Y: Field{[10]uint32{0x01fa4343, 0x027588ee, 0x0382d306, 0x03376002, 0x0254379b, 0x01cc0b7d, 0x035f2552, 0x00d72ff3, 0x035beb50, 0x001a44a8}}}, + {X: Field{[10]uint32{0x03ce1752, 0x01d43dcc, 0x0204ec7b, 0x025f5f34, 0x02e783c7, 0x026726ba, 0x02ddf64d, 0x0318d604, 0x0258d01d, 0x0035e836}}, Y: Field{[10]uint32{0x0362cef4, 0x0009ce01, 0x03742bbc, 0x02a3018a, 0x010be040, 0x0038a119, 0x03292834, 0x0200cbdb, 0x00e06800, 0x002449dc}}}, + {X: Field{[10]uint32{0x01b0e595, 0x0123dde3, 0x002bb653, 0x02e7ee82, 0x03a7163c, 0x00581dba, 0x00e37658, 0x006c5f5f, 0x001855db, 0x001f619e}}, Y: Field{[10]uint32{0x00733de8, 0x01478eaf, 0x01532999, 0x01383897, 0x00293784, 0x0353e20e, 0x0162e2be, 0x03e1dcb9, 0x02dfec86, 0x0038ae66}}}, + {X: Field{[10]uint32{0x00e6b514, 0x03115c1b, 0x03322609, 0x031e6cd5, 0x01890905, 0x00211352, 0x005c3560, 0x03b45622, 0x01c2f919, 0x00022f22}}, Y: Field{[10]uint32{0x00c95157, 0x00fd33aa, 0x036f06f6, 0x0158449d, 0x01172d30, 0x02d624b0, 0x0376fec3, 0x03305b79, 0x03cdd7cd, 0x0034c4fc}}}, + {X: Field{[10]uint32{0x02060dfc, 0x03fbe145, 0x02a2a008, 0x02108179, 0x0276545f, 0x0106ac21, 0x0094b9dc, 0x00ab2121, 0x010f0058, 0x0037714c}}, Y: Field{[10]uint32{0x03820ca8, 0x03e2adb9, 0x00730fb5, 0x031aaf41, 0x0041dbaf, 0x0323c3a4, 0x011ab6dc, 0x025a4806, 0x033af20d, 0x002e834b}}}, + {X: Field{[10]uint32{0x01f51508, 0x01b88ff5, 0x01ca1064, 0x02af56b0, 0x00d8c39c, 0x01cb788e, 0x02a6e3e1, 0x002767a8, 0x023212c6, 0x0020a089}}, Y: Field{[10]uint32{0x02e26caf, 0x02dbabfd, 0x017bed31, 0x02b0bdec, 0x0262d613, 0x002d82b3, 0x00256e83, 0x037f917a, 0x00098557, 0x00047e2a}}}, + }, + { + {X: Field{[10]uint32{0x01f51508, 0x01b88ff5, 0x01ca1064, 0x02af56b0, 0x00d8c39c, 0x01cb788e, 0x02a6e3e1, 0x002767a8, 0x023212c6, 0x0020a089}}, Y: Field{[10]uint32{0x02e26caf, 0x02dbabfd, 0x017bed31, 0x02b0bdec, 0x0262d613, 0x002d82b3, 0x00256e83, 0x037f917a, 0x00098557, 0x00047e2a}}}, + {X: Field{[10]uint32{0x0334a24d, 0x038b003b, 0x019d0926, 0x01a36785, 0x010adbc9, 0x033e4635, 0x01a857a9, 0x027fce41, 0x00b287a7, 0x001194dc}}, Y: Field{[10]uint32{0x033887f4, 0x023ec82c, 0x03a10a2f, 0x02c8574d, 0x01588e09, 0x037bb0b0, 0x02f8bdaf, 0x03020a92, 0x01b38368, 0x000d794c}}}, + {X: Field{[10]uint32{0x017e8dfa, 0x03032e79, 0x02184fcf, 0x02468f1f, 0x00098091, 0x032a6328, 0x01a30f8a, 0x02713036, 0x032ff079, 0x002098b3}}, Y: Field{[10]uint32{0x03ac376a, 0x03fe363e, 0x0047835c, 0x00ccac53, 0x0057b6ed, 0x016cd3cd, 0x03ee22ec, 0x0279399b, 0x01e20910, 0x0020ff65}}}, + {X: Field{[10]uint32{0x0285131f, 0x02406cb8, 0x03088d5b, 0x0337204e, 0x00aaec6e, 0x01ab5890, 0x024a18f6, 0x02f5df59, 0x03b8e23c, 0x000907fa}}, Y: Field{[10]uint32{0x0350026d, 0x00f99bc9, 0x035afabb, 0x003ef432, 0x00cd50fd, 0x00e6077e, 0x00420bd1, 0x03e34f5b, 0x00d9ff94, 0x00144cde}}}, + {X: Field{[10]uint32{0x026bdb6f, 0x00b922c0, 0x00b94905, 0x0351edcd, 0x037ca41b, 0x033a6721, 0x00105b24, 0x0377545a, 0x008b1da0, 0x00066097}}, Y: Field{[10]uint32{0x009cfc9b, 0x03dc2131, 0x013a6b5d, 0x033233db, 0x00ebe9ee, 0x013d67db, 0x00261cc9, 0x021e3cc8, 0x010f0d4c, 0x0018a50c}}}, + {X: Field{[10]uint32{0x0070620c, 0x03307c9f, 0x008d9d17, 0x02faaf0a, 0x004998c4, 0x02d9c5e0, 0x00dd31a2, 0x008db718, 0x00a48d2c, 0x000594ea}}, Y: Field{[10]uint32{0x015b32cd, 0x00ba074c, 0x01c526ca, 0x01237f4f, 0x00012af7, 0x03be9c07, 0x03a99474, 0x01fdebab, 0x010935af, 0x0000ce0a}}}, + {X: Field{[10]uint32{0x0182824c, 0x0342548f, 0x034e650e, 0x00d17854, 0x02dfa58e, 0x01b0a667, 0x005f56ec, 0x0064510f, 0x006c1160, 0x001bc4b6}}, Y: Field{[10]uint32{0x02eb34d0, 0x0270d201, 0x03c5b857, 0x01042152, 0x01391c92, 0x03588dda, 0x01994f3f, 0x02fe821d, 0x03f44ab3, 0x001713fd}}}, + {X: Field{[10]uint32{0x03920471, 0x02d8c1a6, 0x01e0dedc, 0x0217d08f, 0x01fc318b, 0x00f63e36, 0x024cc298, 0x03e9e7f3, 0x034ea172, 0x001746f6}}, Y: Field{[10]uint32{0x03b83103, 0x00c199bd, 0x02e7b703, 0x02665b15, 0x0279eb1e, 0x02288995, 0x00bb9943, 0x0278b9e5, 0x02677937, 0x000a10e0}}}, + {X: Field{[10]uint32{0x03453629, 0x037700b6, 0x02603076, 0x03703d67, 0x0245cfdc, 0x008eafbd, 0x0262716a, 0x02a97450, 0x006f9a0a, 0x00080ea3}}, Y: Field{[10]uint32{0x03f89f84, 0x0071e14f, 0x01ed4597, 0x009714a1, 0x02686deb, 0x03d04184, 0x00c76d15, 0x0366e4db, 0x0353de5d, 0x000ec3c2}}}, + {X: Field{[10]uint32{0x0147f3d6, 0x011955ec, 0x00b45b94, 0x0085eae3, 0x03553199, 0x01195440, 0x026a3632, 0x02c78467, 0x0332c294, 0x0011d291}}, Y: Field{[10]uint32{0x00628ba4, 0x03a14a0a, 0x01300dce, 0x005c0438, 0x0311fa7f, 0x00e922a8, 0x02cc30cc, 0x03c13bb4, 0x02231206, 0x00251897}}}, + {X: Field{[10]uint32{0x006c7ecb, 0x004c3779, 0x00ce9783, 0x00ff96ed, 0x009d3aed, 0x0219b87b, 0x01ef7334, 0x01060720, 0x02eb3d03, 0x001b8ab2}}, Y: Field{[10]uint32{0x02bc8720, 0x024807bb, 0x0112c844, 0x02e46d9d, 0x02fac706, 0x003ed90e, 0x000c4daf, 0x03b85276, 0x006797ef, 0x00279869}}}, + {X: Field{[10]uint32{0x031dabcd, 0x010ae9b9, 0x00b4f47d, 0x01262797, 0x0354d3fe, 0x002d4dcf, 0x018ae326, 0x03d0f182, 0x00fb6b63, 0x003527b9}}, Y: Field{[10]uint32{0x016603c2, 0x02a433c0, 0x03031e66, 0x024c4bfd, 0x02129c50, 0x0186fcd5, 0x0087ea7a, 0x0124375f, 0x039209a5, 0x00014c78}}}, + {X: Field{[10]uint32{0x00a4147e, 0x00063cfc, 0x03201eb7, 0x022fddd7, 0x002747dd, 0x02924296, 0x021717e8, 0x0055aebd, 0x0092e9e9, 0x003569c1}}, Y: Field{[10]uint32{0x03fb65ff, 0x02cf2e0c, 0x0357f8e4, 0x0211e59f, 0x02f4c4d9, 0x0197814c, 0x00909907, 0x02271bf1, 0x02f5dbab, 0x00276d49}}}, + {X: Field{[10]uint32{0x003841c6, 0x02a3da2d, 0x02fbd63d, 0x03034d0f, 0x0212aa3c, 0x033afd30, 0x03b6b52d, 0x00226526, 0x009e03df, 0x001b3044}}, Y: Field{[10]uint32{0x0154e94d, 0x00ce91ae, 0x02cf5b97, 0x00f8b641, 0x00d79b43, 0x028a7ffb, 0x03d3d6b0, 0x012dd83f, 0x02fe9c09, 0x002bd586}}}, + {X: Field{[10]uint32{0x00edcec6, 0x036d1af6, 0x00f454ed, 0x030b4d8d, 0x02a1061c, 0x000b36b1, 0x023efc63, 0x022ea014, 0x019aabe1, 0x000e3144}}, Y: Field{[10]uint32{0x0133db08, 0x0382fec6, 0x030a6456, 0x0208ad54, 0x0328a16c, 0x01d7ca0b, 0x00cb2da2, 0x01cca99a, 0x012285d9, 0x00399277}}}, + {X: Field{[10]uint32{0x01e5b739, 0x03396d54, 0x022ed73f, 0x00cff488, 0x01e0b938, 0x01bf211b, 0x0399cc6c, 0x021969cb, 0x019f728b, 0x0005d785}}, Y: Field{[10]uint32{0x01fed695, 0x029bffba, 0x0345c6ef, 0x016b7490, 0x02acb595, 0x03fdc7d7, 0x02f97a51, 0x01e7ae93, 0x020d9e3c, 0x0034d41b}}}, + }, + { + {X: Field{[10]uint32{0x01e5b739, 0x03396d54, 0x022ed73f, 0x00cff488, 0x01e0b938, 0x01bf211b, 0x0399cc6c, 0x021969cb, 0x019f728b, 0x0005d785}}, Y: Field{[10]uint32{0x01fed695, 0x029bffba, 0x0345c6ef, 0x016b7490, 0x02acb595, 0x03fdc7d7, 0x02f97a51, 0x01e7ae93, 0x020d9e3c, 0x0034d41b}}}, + {X: Field{[10]uint32{0x02bc47d6, 0x02012791, 0x0121bce7, 0x02d71b68, 0x0130fdfe, 0x004e7188, 0x03fbcc8e, 0x00cb5e97, 0x013f03ff, 0x00108e80}}, Y: Field{[10]uint32{0x03548a34, 0x00db9b62, 0x0009ed12, 0x030d493c, 0x03720d8e, 0x02bdacf1, 0x0179f7bb, 0x0365c284, 0x000fe1e1, 0x002e46b8}}}, + {X: Field{[10]uint32{0x01041216, 0x01fe3c71, 0x0036a65b, 0x03da10ae, 0x023f7335, 0x030bfb54, 0x00b59efd, 0x02b3d04a, 0x017b21f7, 0x00369d4c}}, Y: Field{[10]uint32{0x02708572, 0x034ca61b, 0x00edadae, 0x01eb9deb, 0x02e9aac0, 0x010b5ff1, 0x019e21b3, 0x0357c37c, 0x0046bf72, 0x001cfe28}}}, + {X: Field{[10]uint32{0x0016824a, 0x037dbde1, 0x02741302, 0x00bcecf8, 0x0249df66, 0x0335a1dd, 0x0107a7ab, 0x02e41422, 0x0245ac1f, 0x0004475a}}, Y: Field{[10]uint32{0x0108e9d0, 0x00447508, 0x00a4ca9a, 0x02265b6b, 0x02f07000, 0x03c19654, 0x00d48dbf, 0x02bfeee4, 0x011c478e, 0x0001a5a4}}}, + {X: Field{[10]uint32{0x0065a930, 0x010f9c79, 0x012fdb01, 0x0305ac4d, 0x022587f1, 0x02a0bac7, 0x033c58c4, 0x01275c15, 0x01b48e97, 0x00071c71}}, Y: Field{[10]uint32{0x034638b5, 0x01cfdb30, 0x00d471d8, 0x00fedc5d, 0x0079345e, 0x0092eda3, 0x013f1f28, 0x03e8309c, 0x0334e8f5, 0x0012a470}}}, + {X: Field{[10]uint32{0x0062bac0, 0x014c93cf, 0x02b06950, 0x037d47c2, 0x0219150d, 0x00fa2dc3, 0x024b7d2c, 0x011a704d, 0x00f9023f, 0x00254c3c}}, Y: Field{[10]uint32{0x0218e309, 0x02af6a5d, 0x01c68478, 0x0214bc7f, 0x00e25b32, 0x026cccf8, 0x01d2f7f5, 0x008788d3, 0x005a8f9f, 0x0023cf0c}}}, + {X: Field{[10]uint32{0x02db6ee7, 0x0236b96e, 0x02077e31, 0x010c9d12, 0x007850dd, 0x0026d327, 0x02e837a9, 0x02959a4d, 0x02fc1f31, 0x00361392}}, Y: Field{[10]uint32{0x002ebed2, 0x0155b9b5, 0x0264982d, 0x025d2a8f, 0x01fdd8ac, 0x01597793, 0x0238d58f, 0x01e7384a, 0x009a7c7b, 0x00394960}}}, + {X: Field{[10]uint32{0x03ced775, 0x03b77806, 0x00e56ab5, 0x02297bdd, 0x037290b6, 0x032e773f, 0x0395dbeb, 0x0322e2b5, 0x01c97ac7, 0x0012929b}}, Y: Field{[10]uint32{0x038dd66d, 0x03e3da29, 0x002acb2b, 0x036d091d, 0x031de90c, 0x02703d15, 0x03ef9f73, 0x0079ca50, 0x01b01663, 0x0014a644}}}, + {X: Field{[10]uint32{0x009e6d10, 0x03a7b3e9, 0x019d2394, 0x03cebab2, 0x03f60adf, 0x017fdbb4, 0x0322b928, 0x02053506, 0x004bde66, 0x003cf511}}, Y: Field{[10]uint32{0x0347da3f, 0x00e33014, 0x02c630a0, 0x01433a75, 0x03fc1ada, 0x026292d6, 0x02b95ac1, 0x0058f52e, 0x00dfa6f0, 0x000290c9}}}, + {X: Field{[10]uint32{0x0147b4b3, 0x0246dde9, 0x01411f5e, 0x0347f599, 0x00356929, 0x0026548b, 0x0382efee, 0x013dd477, 0x002f1d8e, 0x003c01b1}}, Y: Field{[10]uint32{0x006aa74b, 0x03d127ea, 0x03ae1b5e, 0x03bb5af9, 0x0275c933, 0x0393df45, 0x007848a4, 0x01482971, 0x00d4a666, 0x003da055}}}, + {X: Field{[10]uint32{0x01d33a07, 0x02cd01ba, 0x03cab48c, 0x0022a8e6, 0x004e72ee, 0x036f7d01, 0x0085520c, 0x007627e4, 0x012c9d9c, 0x002b8c19}}, Y: Field{[10]uint32{0x00a0b2a6, 0x01c303d8, 0x0295c748, 0x03d77f5f, 0x031c9c37, 0x036e3573, 0x00ce7d33, 0x03f95fbf, 0x01c38d63, 0x001b2e76}}}, + {X: Field{[10]uint32{0x003c9c8f, 0x0010e177, 0x027b2067, 0x03b8f90d, 0x00f2816f, 0x02a8ccac, 0x009ff43a, 0x0263f5bc, 0x02dcbe42, 0x0019ef80}}, Y: Field{[10]uint32{0x013652d9, 0x02126616, 0x002be553, 0x03d82e23, 0x03cd993b, 0x020a45a4, 0x00945b60, 0x03be128b, 0x01a73e4d, 0x001ea6d5}}}, + {X: Field{[10]uint32{0x0028caca, 0x01952e43, 0x001da759, 0x02ef320a, 0x021869c7, 0x00ce2326, 0x0217e758, 0x03872057, 0x032a5bd5, 0x00363706}}, Y: Field{[10]uint32{0x03b3ec7a, 0x019dba88, 0x028f6cdb, 0x00b3b204, 0x007d315d, 0x00091f65, 0x02d8da42, 0x031f5631, 0x02d927ce, 0x00233b02}}}, + {X: Field{[10]uint32{0x018b01b5, 0x00be5d14, 0x03adac5c, 0x022e1c42, 0x01ddccc8, 0x0149016c, 0x0250c453, 0x03a21706, 0x0346403d, 0x00039a6c}}, Y: Field{[10]uint32{0x00d965c5, 0x03b8da1e, 0x0283e418, 0x017cf401, 0x03cedf59, 0x01f5f74d, 0x01ed70ab, 0x03914987, 0x02c5fcd7, 0x0002d3be}}}, + {X: Field{[10]uint32{0x03c4416f, 0x007ed98e, 0x00402892, 0x008fcc2c, 0x01a7aefd, 0x000cbcc7, 0x01425a8d, 0x013b3356, 0x0292c5f8, 0x0009d278}}, Y: Field{[10]uint32{0x006bbd8e, 0x022f78bf, 0x021057e9, 0x02d97ba5, 0x02f59e9f, 0x03f2b6cf, 0x03d94990, 0x00af1100, 0x014e3767, 0x0014330b}}}, + {X: Field{[10]uint32{0x03ff4640, 0x02eb63e0, 0x02ffe526, 0x01f95554, 0x0053441c, 0x01898bb8, 0x00eac05b, 0x00327267, 0x00d447b0, 0x000d8f64}}, Y: Field{[10]uint32{0x03ee9de9, 0x000f1fce, 0x01ecb620, 0x02402066, 0x0145b9a8, 0x01fccd8c, 0x03b44539, 0x00888654, 0x03adfc73, 0x0001389c}}}, + }, + { + {X: Field{[10]uint32{0x03ff4640, 0x02eb63e0, 0x02ffe526, 0x01f95554, 0x0053441c, 0x01898bb8, 0x00eac05b, 0x00327267, 0x00d447b0, 0x000d8f64}}, Y: Field{[10]uint32{0x03ee9de9, 0x000f1fce, 0x01ecb620, 0x02402066, 0x0145b9a8, 0x01fccd8c, 0x03b44539, 0x00888654, 0x03adfc73, 0x0001389c}}}, + {X: Field{[10]uint32{0x0392c541, 0x004a972b, 0x0359dd27, 0x0004bb7e, 0x030b62fb, 0x024ec0af, 0x03973c6c, 0x01fa6d54, 0x0066ed9a, 0x001306e6}}, Y: Field{[10]uint32{0x028fe020, 0x013cff71, 0x031ad72c, 0x035f90fa, 0x00c652ea, 0x0395b9a7, 0x03cb753c, 0x02283dfe, 0x02d320be, 0x00307de4}}}, + {X: Field{[10]uint32{0x02e55dc8, 0x024485bd, 0x004394b8, 0x02dbab28, 0x026ff95a, 0x00142510, 0x004a440c, 0x03fecaea, 0x004790c5, 0x00110c50}}, Y: Field{[10]uint32{0x03e323b3, 0x02512bb6, 0x02e5031d, 0x02de7aa8, 0x03a66a29, 0x0190bfb5, 0x019837f5, 0x019be3fa, 0x0142e653, 0x0025ac30}}}, + {X: Field{[10]uint32{0x02aaf3d1, 0x023ca32f, 0x03135e0c, 0x02f068a3, 0x023233ed, 0x01e02d53, 0x01a2f3c0, 0x02c4ad4a, 0x0077ba83, 0x0029020e}}, Y: Field{[10]uint32{0x00b254b9, 0x02d4d37c, 0x02f90b12, 0x015dbb47, 0x022001e7, 0x00d86cf8, 0x03f83d69, 0x02f1e6e2, 0x0212feef, 0x00103a7d}}}, + {X: Field{[10]uint32{0x001b23a8, 0x0252175c, 0x02e0adfe, 0x011c2a1f, 0x01ab7b7d, 0x02484227, 0x02243d5b, 0x02a1f049, 0x028d866c, 0x002788bf}}, Y: Field{[10]uint32{0x0084edae, 0x0104f142, 0x01cecf7a, 0x0127ed44, 0x03c0f7c9, 0x0267054c, 0x03f3f020, 0x00b4405d, 0x00e9ca12, 0x003f4bfc}}}, + {X: Field{[10]uint32{0x03f0e9aa, 0x0178658c, 0x0134b3eb, 0x01dac46f, 0x02681127, 0x01604e34, 0x0124ae0d, 0x009ab6de, 0x03e8575f, 0x00394e03}}, Y: Field{[10]uint32{0x0082720f, 0x02904d90, 0x0318ec4b, 0x0177d1a0, 0x016fb94e, 0x00932380, 0x02913639, 0x02d0756d, 0x00739087, 0x002e5ff6}}}, + {X: Field{[10]uint32{0x031a70e4, 0x01022fc1, 0x03475dd7, 0x007d7d73, 0x01cd5ee5, 0x01c14c1b, 0x01d69e64, 0x00aa34bb, 0x02d503ce, 0x0014237d}}, Y: Field{[10]uint32{0x01950984, 0x0396fdca, 0x02dfedf2, 0x00a3ba2a, 0x014ec032, 0x00cf9271, 0x03304aa7, 0x0310b5dd, 0x039b933b, 0x00055310}}}, + {X: Field{[10]uint32{0x0140d33a, 0x00f6d69e, 0x003b98cd, 0x00291508, 0x036e0d88, 0x03d5b21b, 0x00e3e1a2, 0x0302d4e9, 0x0241d28c, 0x002a0131}}, Y: Field{[10]uint32{0x0146967a, 0x03a57e9b, 0x036a943c, 0x02a273dc, 0x001af18c, 0x005811fa, 0x02c2842c, 0x029b40f7, 0x03252b2f, 0x00256fa0}}}, + {X: Field{[10]uint32{0x021abe11, 0x03f69db3, 0x0220f6ea, 0x0309672c, 0x02dab921, 0x00c0496c, 0x00df5819, 0x025d8cce, 0x03845510, 0x0038f6ff}}, Y: Field{[10]uint32{0x03a8de63, 0x026b5527, 0x01c414b4, 0x0240f1ad, 0x03d3c97d, 0x02e2a3bc, 0x038fa75d, 0x00508590, 0x01099a34, 0x0001bcbe}}}, + {X: Field{[10]uint32{0x023968b6, 0x00a4de2d, 0x03ab2e69, 0x0197b678, 0x02f40261, 0x0224224e, 0x005a9600, 0x01e7ed0f, 0x023dfc65, 0x003de92f}}, Y: Field{[10]uint32{0x00c34882, 0x03768cb4, 0x0105e494, 0x02e34440, 0x0299702f, 0x023294b4, 0x01290303, 0x03185487, 0x036ce823, 0x0035b77b}}}, + {X: Field{[10]uint32{0x03593449, 0x006c8d80, 0x006ffdcf, 0x004b90a9, 0x02f61b7c, 0x001f4052, 0x00d9c13a, 0x0250361e, 0x0064c7de, 0x00066b38}}, Y: Field{[10]uint32{0x01f83631, 0x0052e4eb, 0x0068a3a4, 0x027d0210, 0x02ac710b, 0x02500b11, 0x02bd739d, 0x028cceff, 0x02035268, 0x0038de64}}}, + {X: Field{[10]uint32{0x02bc61d6, 0x034d86fb, 0x002de1ae, 0x029f67fd, 0x018a8fd3, 0x035ac7d4, 0x015f0d15, 0x026bc30e, 0x03e4a3ed, 0x0024e7fc}}, Y: Field{[10]uint32{0x03f5cb70, 0x03a919a8, 0x03f82e75, 0x01bade31, 0x00980bf2, 0x03c05b01, 0x006fc4ee, 0x02a43a75, 0x03cf08b7, 0x0037aace}}}, + {X: Field{[10]uint32{0x00ba6b63, 0x03a624b3, 0x03bb5ee3, 0x01d3f42c, 0x010a0fe6, 0x03aa238c, 0x00c33228, 0x01f6a842, 0x00ec20f8, 0x00361d03}}, Y: Field{[10]uint32{0x0134c5f3, 0x028db01a, 0x0294abee, 0x01730e05, 0x0140104f, 0x000eb0df, 0x00a6ee99, 0x00cafcde, 0x0133c6b9, 0x00191cb0}}}, + {X: Field{[10]uint32{0x028ff2cf, 0x03b5ba22, 0x02094a34, 0x0171ec18, 0x0038ea75, 0x00901469, 0x03a98dba, 0x02b8c1e5, 0x025f1c4c, 0x000066a7}}, Y: Field{[10]uint32{0x030e4352, 0x01f9d9b6, 0x02d353a7, 0x03ba2121, 0x000ce7eb, 0x0004adcc, 0x01062925, 0x02bd7bea, 0x0067ea85, 0x00079987}}}, + {X: Field{[10]uint32{0x033ec038, 0x013fcb06, 0x02b27619, 0x01ab9831, 0x00d9fd51, 0x03ca4294, 0x0083e762, 0x01820d92, 0x03391b50, 0x00162b0c}}, Y: Field{[10]uint32{0x00246279, 0x02a8fc44, 0x03bca16e, 0x00f02d3e, 0x03021904, 0x02647fa5, 0x0379249e, 0x024b65e1, 0x0306d55c, 0x002458f5}}}, + {X: Field{[10]uint32{0x03fdf80c, 0x01e69577, 0x00d1b69f, 0x0206856f, 0x0043e4a7, 0x01d158e2, 0x02244b5b, 0x030afa31, 0x03165df3, 0x0022d2d7}}, Y: Field{[10]uint32{0x03d4fd36, 0x03fc3197, 0x02e56b3e, 0x0151858b, 0x00f9e336, 0x02ac3681, 0x03bd7813, 0x0022d2cf, 0x026f68d3, 0x0012ab42}}}, + }, + { + {X: Field{[10]uint32{0x03fdf80c, 0x01e69577, 0x00d1b69f, 0x0206856f, 0x0043e4a7, 0x01d158e2, 0x02244b5b, 0x030afa31, 0x03165df3, 0x0022d2d7}}, Y: Field{[10]uint32{0x03d4fd36, 0x03fc3197, 0x02e56b3e, 0x0151858b, 0x00f9e336, 0x02ac3681, 0x03bd7813, 0x0022d2cf, 0x026f68d3, 0x0012ab42}}}, + {X: Field{[10]uint32{0x0355e4be, 0x03c99c51, 0x0197abb3, 0x03b905f2, 0x0071af64, 0x020f1844, 0x0217c7ec, 0x0245c633, 0x00e4e132, 0x003b4317}}, Y: Field{[10]uint32{0x007bf42f, 0x027e9ba8, 0x01ab163f, 0x0095d8f7, 0x0049d939, 0x029fa9a0, 0x03dad7f5, 0x0116f6fc, 0x03c7bc23, 0x000886a7}}}, + {X: Field{[10]uint32{0x015812dd, 0x00a960bd, 0x030e2a0a, 0x008d54b4, 0x023d4467, 0x00163de3, 0x02abed6c, 0x00d4bc2d, 0x017a92ff, 0x001c0a6f}}, Y: Field{[10]uint32{0x022d2927, 0x03319ac6, 0x0073c721, 0x01090ecb, 0x0047dae8, 0x00c1a0eb, 0x016544ae, 0x02cf49f7, 0x02dafde8, 0x002c3bbe}}}, + {X: Field{[10]uint32{0x03cec8ab, 0x01b9b201, 0x012ced4b, 0x0159b815, 0x00e53254, 0x00fc7eba, 0x0315c3f8, 0x039a52ce, 0x0013c44c, 0x003ebb2c}}, Y: Field{[10]uint32{0x03155070, 0x0077f66a, 0x02e2e898, 0x021ae178, 0x019c32b2, 0x030bec4f, 0x02e02c6e, 0x032d5ff0, 0x01e90e9e, 0x0033026d}}}, + {X: Field{[10]uint32{0x01486ed1, 0x0395a0ef, 0x01b6a49c, 0x02e92559, 0x005745be, 0x0233dd58, 0x01d4109d, 0x01726402, 0x01caeae6, 0x002733fb}}, Y: Field{[10]uint32{0x01e95d8d, 0x03567b5d, 0x02aa24f6, 0x0165a564, 0x01242167, 0x0002cd04, 0x01224812, 0x00cb3ed8, 0x01713d6a, 0x001f0bd3}}}, + {X: Field{[10]uint32{0x0181fdc2, 0x02affe6c, 0x02364dcd, 0x02ed7318, 0x02dd2f62, 0x0228d39f, 0x02264b81, 0x01b91d2a, 0x002af47e, 0x003d0b04}}, Y: Field{[10]uint32{0x0085d7fd, 0x000024e9, 0x00f2681f, 0x00b668ab, 0x024c1550, 0x021bf88a, 0x03ad05cb, 0x0201b1e3, 0x02b46cfe, 0x0015d40e}}}, + {X: Field{[10]uint32{0x03d0eaca, 0x01ac69d6, 0x00ab7a20, 0x01dae8b5, 0x01d0c745, 0x032937c6, 0x028fde33, 0x01050cd6, 0x03876341, 0x00336692}}, Y: Field{[10]uint32{0x03ff4acc, 0x03ebed6a, 0x0234f6e6, 0x023bb5bd, 0x030127b3, 0x00cfa822, 0x01488ae9, 0x03c8fa05, 0x0079a1e8, 0x003c1156}}}, + {X: Field{[10]uint32{0x02d1b1f7, 0x0193aba6, 0x00d3e07f, 0x02093c8f, 0x01b3b2dd, 0x01f2f2bf, 0x0331a0b3, 0x034bcb21, 0x02132dca, 0x00026ee2}}, Y: Field{[10]uint32{0x03811c80, 0x00c189f0, 0x02d53641, 0x0103d1d4, 0x010f54a8, 0x03e18fa1, 0x039dd284, 0x038ee6db, 0x02b2afee, 0x002516ec}}}, + {X: Field{[10]uint32{0x03bc57c6, 0x0254e8f1, 0x036cbf20, 0x0288fac9, 0x004903d7, 0x00f58c25, 0x00f2d2e9, 0x026faa21, 0x002f88ed, 0x002b4262}}, Y: Field{[10]uint32{0x024a0ab8, 0x00b03b6b, 0x022d3ca3, 0x00dcd643, 0x037b311d, 0x0276af97, 0x00186c72, 0x0294ae8a, 0x008c42fb, 0x001c90f0}}}, + {X: Field{[10]uint32{0x03927dc7, 0x036ad913, 0x018a49e2, 0x00358f50, 0x0337a7a4, 0x019a8508, 0x029ed953, 0x029aef99, 0x00cc082b, 0x00389828}}, Y: Field{[10]uint32{0x02aef35d, 0x03cdbd11, 0x0382da45, 0x02d118b2, 0x00edbcc0, 0x0096fd10, 0x033cb3d7, 0x02759fc1, 0x0344b0da, 0x000dfb99}}}, + {X: Field{[10]uint32{0x03a56302, 0x00c31caa, 0x01862ea8, 0x00debc3c, 0x00f506a9, 0x027eb4b8, 0x02da2d2a, 0x02907c7a, 0x010aeb3c, 0x0036744a}}, Y: Field{[10]uint32{0x00291c29, 0x0376bea2, 0x00f2aeaa, 0x03367e9d, 0x001739ae, 0x0098e1b9, 0x01715c67, 0x00fbb40a, 0x0113ec2d, 0x001fad4c}}}, + {X: Field{[10]uint32{0x02dd7dd6, 0x01b51f7b, 0x0168c386, 0x03899786, 0x0049376f, 0x039f3f7b, 0x01a7840e, 0x01492f29, 0x036a24c7, 0x000cb3f3}}, Y: Field{[10]uint32{0x0208e330, 0x03512bbf, 0x0208b25f, 0x03480d26, 0x027a0d8c, 0x0027d587, 0x008096a4, 0x01dd2188, 0x0234976a, 0x0008611a}}}, + {X: Field{[10]uint32{0x00d1243a, 0x034dc13d, 0x025fdbac, 0x0008fd52, 0x0002b126, 0x018fd561, 0x00d21ac0, 0x01b3be47, 0x01de539d, 0x002f141e}}, Y: Field{[10]uint32{0x015db68a, 0x02545a21, 0x03169f5c, 0x03d6c7d1, 0x035f7ee4, 0x037ff235, 0x02c72b94, 0x0172ee3b, 0x023b3a70, 0x0019418a}}}, + {X: Field{[10]uint32{0x02abf83d, 0x0340ff7d, 0x00596696, 0x0163ecb4, 0x02b8f940, 0x00348b00, 0x00be68f1, 0x03127cfb, 0x02dde85a, 0x0008d72a}}, Y: Field{[10]uint32{0x0133e191, 0x03b27a43, 0x010ae7f4, 0x0358c8d8, 0x013f0518, 0x0324eb62, 0x00232a5b, 0x011fafb9, 0x01c745fd, 0x003704be}}}, + {X: Field{[10]uint32{0x034a3f9f, 0x009139ad, 0x0016908d, 0x01977026, 0x02c287a6, 0x036c9896, 0x03deaae7, 0x031fa244, 0x037e505f, 0x00134c69}}, Y: Field{[10]uint32{0x001e0ba7, 0x02c0904c, 0x00a754fc, 0x0146db80, 0x03cbf6fb, 0x01e009d4, 0x0318f38c, 0x015d6c1a, 0x02c96098, 0x00088907}}}, + {X: Field{[10]uint32{0x0232fcda, 0x00456494, 0x0277bcb6, 0x03fe9b03, 0x03b700db, 0x02f55231, 0x03771c00, 0x0265b5af, 0x02a6e5db, 0x001c8f2e}}, Y: Field{[10]uint32{0x02b39f5f, 0x0301a767, 0x0094801d, 0x0194dde5, 0x022660a0, 0x0220935b, 0x02113748, 0x031262a4, 0x03b5595c, 0x0025ba19}}}, + }, + { + {X: Field{[10]uint32{0x0232fcda, 0x00456494, 0x0277bcb6, 0x03fe9b03, 0x03b700db, 0x02f55231, 0x03771c00, 0x0265b5af, 0x02a6e5db, 0x001c8f2e}}, Y: Field{[10]uint32{0x02b39f5f, 0x0301a767, 0x0094801d, 0x0194dde5, 0x022660a0, 0x0220935b, 0x02113748, 0x031262a4, 0x03b5595c, 0x0025ba19}}}, + {X: Field{[10]uint32{0x00a030d5, 0x00e0f583, 0x009071fd, 0x010c1e61, 0x022d240a, 0x01dce8f1, 0x03d7dc45, 0x01d134d0, 0x0386437b, 0x0015fbe9}}, Y: Field{[10]uint32{0x00b02f9e, 0x02ad109d, 0x0174ab07, 0x00ab97a6, 0x00689b6d, 0x023780fb, 0x03627c92, 0x02146224, 0x030bd1b4, 0x0035c4b6}}}, + {X: Field{[10]uint32{0x00633cb1, 0x01f827a0, 0x02113256, 0x012da740, 0x03575a22, 0x008607f2, 0x00627321, 0x032b5003, 0x00f317aa, 0x001b77a7}}, Y: Field{[10]uint32{0x03ce6b34, 0x03526a99, 0x01ef357d, 0x036b3e16, 0x0080b27f, 0x006e99aa, 0x019ef86a, 0x03907572, 0x03e7a707, 0x0024623e}}}, + {X: Field{[10]uint32{0x00584dd5, 0x03f1ddc3, 0x0012a7fa, 0x01f8c9ec, 0x01108057, 0x01489b2e, 0x01f7e9cd, 0x02f10a8b, 0x01436a28, 0x000992ef}}, Y: Field{[10]uint32{0x0304ab11, 0x0089e4dd, 0x00d8de61, 0x010dc5ee, 0x026a1182, 0x030cef88, 0x0375ce24, 0x024ed353, 0x03a94ee0, 0x00361f1b}}}, + {X: Field{[10]uint32{0x0133f3c5, 0x0294634a, 0x02522419, 0x01c457c4, 0x00085a0f, 0x0391ee14, 0x004bb7f8, 0x0337a04f, 0x032cd5b5, 0x00121be9}}, Y: Field{[10]uint32{0x02fb0f53, 0x0129c6b2, 0x023b79ad, 0x020f3c3c, 0x0362d9b7, 0x03323c67, 0x00c48bae, 0x03750f92, 0x0319f56b, 0x0018b848}}}, + {X: Field{[10]uint32{0x00e5467d, 0x02f5da91, 0x03ace4d0, 0x02e066ef, 0x0140908a, 0x03b25c3a, 0x021f62e0, 0x028488b0, 0x00f0fc69, 0x0025f419}}, Y: Field{[10]uint32{0x029cb3fa, 0x00c03f47, 0x03ccd797, 0x02e153c5, 0x03da5fb3, 0x02142187, 0x037c66fa, 0x000b300f, 0x032ed334, 0x002265d3}}}, + {X: Field{[10]uint32{0x0299f728, 0x01650897, 0x02204ebd, 0x03ef9bc4, 0x03677375, 0x01da94c0, 0x024ff27b, 0x02bd3ed9, 0x0174a894, 0x00091e5a}}, Y: Field{[10]uint32{0x03aaebff, 0x000145ba, 0x022d837a, 0x030255d6, 0x025adbf3, 0x03635992, 0x012e87e7, 0x00c007b1, 0x0144688f, 0x0038f5e3}}}, + {X: Field{[10]uint32{0x032438e8, 0x009af612, 0x02c9d2bf, 0x007f56f7, 0x01a78bc6, 0x008da9e7, 0x0085c056, 0x034aef6b, 0x0124bd40, 0x002a5319}}, Y: Field{[10]uint32{0x018661f4, 0x00b236fc, 0x01b2bc2e, 0x0182838e, 0x027e5d3c, 0x0140678e, 0x03921950, 0x018a03f5, 0x03d992f9, 0x002d4807}}}, + {X: Field{[10]uint32{0x03b0079a, 0x0031b50b, 0x02049c9e, 0x03dc8e49, 0x00916f9e, 0x01ace0c9, 0x01a59ee7, 0x017fc18c, 0x03daa3d5, 0x000bce72}}, Y: Field{[10]uint32{0x005690ba, 0x00a5cc0b, 0x00230fe2, 0x02f220a8, 0x039bfb3f, 0x01e36962, 0x02936d02, 0x00e60d36, 0x03de1386, 0x002afab6}}}, + {X: Field{[10]uint32{0x018086c8, 0x01bca26e, 0x023ff5f4, 0x00d2d899, 0x0040c10e, 0x02aa39bf, 0x01263b70, 0x00af74a2, 0x025baa80, 0x000fa10b}}, Y: Field{[10]uint32{0x02e939a9, 0x012d44e3, 0x03d4ef99, 0x01dadd79, 0x0037b8e5, 0x006c1df0, 0x01370463, 0x039cb86e, 0x03f5fc92, 0x00227c93}}}, + {X: Field{[10]uint32{0x00f7ab73, 0x00c02cb9, 0x003a7793, 0x03aa7511, 0x0262e3d4, 0x014d2bb4, 0x0239e86c, 0x0186e95a, 0x016c327d, 0x003968c7}}, Y: Field{[10]uint32{0x00561f42, 0x00e8ff1c, 0x03a21391, 0x0126a032, 0x01bf8c44, 0x0293b397, 0x0118a977, 0x0275e830, 0x003d8d1e, 0x000dde23}}}, + {X: Field{[10]uint32{0x03613bec, 0x02072e44, 0x03e67cca, 0x02744073, 0x028bb5fc, 0x01d3e5ca, 0x031b33dc, 0x00def7b7, 0x02b8c939, 0x000b73f2}}, Y: Field{[10]uint32{0x02039215, 0x00c24926, 0x01f383e7, 0x02eb4cfd, 0x003732cf, 0x01bdb1bd, 0x03088b7d, 0x02904997, 0x00dd9474, 0x0011b6f1}}}, + {X: Field{[10]uint32{0x014dcd86, 0x024a68f0, 0x031b588f, 0x00825afd, 0x011fc5d4, 0x0014773c, 0x010dd982, 0x00d11f7d, 0x014a0d15, 0x00330e27}}, Y: Field{[10]uint32{0x00f0a873, 0x02db7672, 0x0387468e, 0x0063f9f9, 0x0205c57e, 0x03aa4432, 0x0168bdbb, 0x02efb66d, 0x03d660f6, 0x0024eb93}}}, + {X: Field{[10]uint32{0x03b4f6be, 0x00f5d937, 0x02b64844, 0x03fd3e8f, 0x02b567d5, 0x023c3a2d, 0x004bb042, 0x0208a23b, 0x03d1ae75, 0x0028ab94}}, Y: Field{[10]uint32{0x02eeb9a2, 0x008959d2, 0x00436c04, 0x019f0f50, 0x004c0efa, 0x0306d51f, 0x015679c7, 0x028261f2, 0x014d44b3, 0x001a4cd6}}}, + {X: Field{[10]uint32{0x00819311, 0x0271bade, 0x0314724f, 0x0388421d, 0x030b3e1e, 0x033d7b47, 0x010a17e0, 0x03a408dd, 0x01c89d71, 0x001fe4a4}}, Y: Field{[10]uint32{0x002eb125, 0x03e6d5eb, 0x02174aa9, 0x0102721a, 0x02120aaa, 0x0149056d, 0x010de8c4, 0x00fbc3d7, 0x011063ec, 0x00276803}}}, + {X: Field{[10]uint32{0x027dd7fa, 0x00cfb283, 0x019839a5, 0x0048dea4, 0x01094796, 0x00b0b4ed, 0x01feec81, 0x02fe62e9, 0x00d493be, 0x003bafe9}}, Y: Field{[10]uint32{0x01de8999, 0x0353f6b8, 0x03712ddf, 0x030e9c47, 0x019ae4cd, 0x005e0227, 0x02e7edaf, 0x03c3c9a7, 0x00a3970e, 0x001766a3}}}, + }, + { + {X: Field{[10]uint32{0x027dd7fa, 0x00cfb283, 0x019839a5, 0x0048dea4, 0x01094796, 0x00b0b4ed, 0x01feec81, 0x02fe62e9, 0x00d493be, 0x003bafe9}}, Y: Field{[10]uint32{0x01de8999, 0x0353f6b8, 0x03712ddf, 0x030e9c47, 0x019ae4cd, 0x005e0227, 0x02e7edaf, 0x03c3c9a7, 0x00a3970e, 0x001766a3}}}, + {X: Field{[10]uint32{0x03d297fd, 0x03ba4211, 0x026d676b, 0x03023d9d, 0x03c4ea4b, 0x00461257, 0x01c6031c, 0x01eff698, 0x02d7a7a9, 0x000e0712}}, Y: Field{[10]uint32{0x01493fc5, 0x0338c61f, 0x01c0093a, 0x00cb6e4e, 0x00f04510, 0x026457b3, 0x03e5fa70, 0x03bb923c, 0x013b238e, 0x0024dabd}}}, + {X: Field{[10]uint32{0x037ceceb, 0x019e3fee, 0x03af0f3f, 0x024e225f, 0x0073a59f, 0x03db9a05, 0x03fb8126, 0x035140db, 0x02204276, 0x0010dea1}}, Y: Field{[10]uint32{0x02c181e1, 0x00ef30d5, 0x01782736, 0x033f723e, 0x0387220f, 0x0274a5ff, 0x038feb69, 0x030cbda6, 0x03a13eea, 0x0002e45a}}}, + {X: Field{[10]uint32{0x02de454c, 0x035c108b, 0x008b2448, 0x017fbf74, 0x039cf1d0, 0x0254e311, 0x0210831d, 0x0318ef33, 0x01cd05ad, 0x00387bee}}, Y: Field{[10]uint32{0x00913797, 0x03f48cea, 0x014c6ad9, 0x01129e8b, 0x03464e32, 0x0391dc48, 0x0154c1ff, 0x026f9ec0, 0x0130d8af, 0x0003b2d1}}}, + {X: Field{[10]uint32{0x017f96f2, 0x035ca782, 0x0335cd58, 0x00a74b21, 0x03358235, 0x028f309c, 0x00b7e3b9, 0x0226f20f, 0x0313e2a4, 0x002a7be7}}, Y: Field{[10]uint32{0x02c04be4, 0x03556c15, 0x00702c03, 0x02bd6a6d, 0x01b74f89, 0x03aed84f, 0x016ee160, 0x0275f365, 0x00e59455, 0x003a0533}}}, + {X: Field{[10]uint32{0x00bf00eb, 0x036761f7, 0x002274c9, 0x022f0634, 0x0241b4e9, 0x0068c2f0, 0x03e16f6a, 0x03537126, 0x00ae96ea, 0x002e241c}}, Y: Field{[10]uint32{0x030e664e, 0x03c6f346, 0x02a671b7, 0x001adae5, 0x02cb0d8b, 0x007129d9, 0x02294e4c, 0x03623d1c, 0x00c2c8a2, 0x001bc932}}}, + {X: Field{[10]uint32{0x010cf77e, 0x02ad684d, 0x02b0dbc0, 0x01d152a2, 0x0207dbf5, 0x03ea8190, 0x03827d69, 0x00d6f954, 0x0141ee1d, 0x0019b601}}, Y: Field{[10]uint32{0x00eaa3a6, 0x03e5ebe8, 0x0376d2a5, 0x00eadec6, 0x029444b4, 0x00d584fd, 0x031d4205, 0x03ed0b0f, 0x03e732ff, 0x001473f7}}}, + {X: Field{[10]uint32{0x01eb99a4, 0x03fbacca, 0x03b18d33, 0x027ccf51, 0x00c7e541, 0x02bd1d6a, 0x02c235e9, 0x01c04316, 0x01b1a269, 0x0014c63e}}, Y: Field{[10]uint32{0x0291f92d, 0x009bbbbf, 0x02c652c7, 0x0103478f, 0x00a41f2b, 0x02ed017a, 0x032d93ae, 0x0290655d, 0x03eb4bed, 0x003d1333}}}, + {X: Field{[10]uint32{0x03213a5a, 0x01218a21, 0x0262b935, 0x0129e17e, 0x000b7320, 0x019330f2, 0x03508a1c, 0x00fe8afc, 0x01e13650, 0x0018ab01}}, Y: Field{[10]uint32{0x006a9e45, 0x0348703d, 0x014efc10, 0x000605e6, 0x01e55909, 0x01ea495e, 0x015e79e0, 0x029b934e, 0x01f3a0d1, 0x0008dbef}}}, + {X: Field{[10]uint32{0x03c76ac1, 0x0086cf3b, 0x02c05d6b, 0x02572908, 0x016124c3, 0x0354fa26, 0x021859a7, 0x00de10df, 0x03bfab10, 0x000623bc}}, Y: Field{[10]uint32{0x028f00bc, 0x0180ca94, 0x03875351, 0x03a0f1d8, 0x00e4d66d, 0x03ce638e, 0x005fb18c, 0x02ea6740, 0x017a052f, 0x0039bf26}}}, + {X: Field{[10]uint32{0x03bad12b, 0x03f52619, 0x02e1ec30, 0x0003abd9, 0x0385d5ea, 0x031bcb6c, 0x03613af5, 0x023d6d6f, 0x00497244, 0x003284f1}}, Y: Field{[10]uint32{0x0323b0f2, 0x0267d1a5, 0x03566896, 0x01c44695, 0x026370ab, 0x02ab68f5, 0x015fa64e, 0x021f22b0, 0x018361c2, 0x0020ea82}}}, + {X: Field{[10]uint32{0x02fbe7b2, 0x01bfe6ad, 0x025a3b9d, 0x03051635, 0x005eaded, 0x00aa2118, 0x036bbb1b, 0x0107e3cc, 0x03669cb4, 0x00099221}}, Y: Field{[10]uint32{0x01bc2a34, 0x029e2f08, 0x03603932, 0x0205a83a, 0x005638d9, 0x000b77c6, 0x02f2dcad, 0x0112623c, 0x02b4b201, 0x00278576}}}, + {X: Field{[10]uint32{0x0080414e, 0x03b97e57, 0x00f7fdda, 0x0218b59b, 0x0114ef8a, 0x01182792, 0x0011c4f4, 0x00aba16b, 0x0101a705, 0x00073b2c}}, Y: Field{[10]uint32{0x02169a3b, 0x03a524b4, 0x031d0dca, 0x039511c8, 0x02907557, 0x017b6b45, 0x01aa3283, 0x01f3ed39, 0x00669609, 0x003cd0d8}}}, + {X: Field{[10]uint32{0x0320907d, 0x00793462, 0x0051c50d, 0x0358581e, 0x003b15b2, 0x012143fd, 0x002f4589, 0x03089ec0, 0x01bc3e54, 0x003e62d7}}, Y: Field{[10]uint32{0x00c926af, 0x004c66d7, 0x00e35835, 0x038096a4, 0x0241fcd9, 0x02ea7327, 0x0139b706, 0x004fe90a, 0x00bd4f4a, 0x0038b542}}}, + {X: Field{[10]uint32{0x02d810a9, 0x016f2313, 0x00155c4f, 0x00fcf1c0, 0x024f889d, 0x0077c8e4, 0x010daf5f, 0x023e7325, 0x007504d7, 0x000a9a64}}, Y: Field{[10]uint32{0x029b4728, 0x01ace23e, 0x005c7cf8, 0x03a5fb05, 0x00667d47, 0x013ec13f, 0x02c58695, 0x03ff6b0f, 0x039b6c3d, 0x00153e40}}}, + {X: Field{[10]uint32{0x01a48db0, 0x01e0d6ce, 0x003bfefd, 0x028a6cf0, 0x019f1215, 0x02def791, 0x011d0a09, 0x01c59c9e, 0x00da696e, 0x000403d1}}, Y: Field{[10]uint32{0x03c65a09, 0x0357358a, 0x015ac0fb, 0x0063fd46, 0x02b7ff4a, 0x03024199, 0x008f3300, 0x002ddcbb, 0x013192a0, 0x00337678}}}, + }, + { + {X: Field{[10]uint32{0x01a48db0, 0x01e0d6ce, 0x003bfefd, 0x028a6cf0, 0x019f1215, 0x02def791, 0x011d0a09, 0x01c59c9e, 0x00da696e, 0x000403d1}}, Y: Field{[10]uint32{0x03c65a09, 0x0357358a, 0x015ac0fb, 0x0063fd46, 0x02b7ff4a, 0x03024199, 0x008f3300, 0x002ddcbb, 0x013192a0, 0x00337678}}}, + {X: Field{[10]uint32{0x024df706, 0x014a13c7, 0x008084b0, 0x03e48df4, 0x01d8d9c8, 0x02d31066, 0x0015dff2, 0x031dc6a1, 0x01f2ceb5, 0x00230262}}, Y: Field{[10]uint32{0x0172fa98, 0x02b168d7, 0x011aa736, 0x03d45594, 0x0060de6b, 0x0277259b, 0x012172cb, 0x0080d3ff, 0x01044f43, 0x003ed36f}}}, + {X: Field{[10]uint32{0x01bc15b4, 0x02684d25, 0x02ee69cb, 0x02391968, 0x01927502, 0x03b5f2a3, 0x0058ee9c, 0x02b727b6, 0x022e51ee, 0x00043a43}}, Y: Field{[10]uint32{0x00aa258d, 0x02f98256, 0x02a8834e, 0x018c0aed, 0x014ca589, 0x01ab47dd, 0x017a8c61, 0x03810935, 0x030380d5, 0x0031a28d}}}, + {X: Field{[10]uint32{0x0047bffd, 0x018f0cf7, 0x03c1bb1e, 0x00e6f256, 0x019c5285, 0x0098b009, 0x02481743, 0x019c1312, 0x013c5e26, 0x003ee3c5}}, Y: Field{[10]uint32{0x0149b095, 0x02917776, 0x02613090, 0x0226b150, 0x031dde13, 0x012f3354, 0x03a11d9b, 0x0188605b, 0x029dc5e0, 0x001b289e}}}, + {X: Field{[10]uint32{0x03e75269, 0x00ff0c0f, 0x033182dd, 0x033014f4, 0x01a377a3, 0x0052df73, 0x035b90b7, 0x0058e115, 0x0342da54, 0x003dd08b}}, Y: Field{[10]uint32{0x03e49bd5, 0x0203a1c5, 0x018e0189, 0x00dfd28e, 0x037fb3a2, 0x027d8d65, 0x00ce7dcb, 0x0024ff46, 0x031a3313, 0x00101b0b}}}, + {X: Field{[10]uint32{0x021c0a80, 0x00aaf21e, 0x01c740f6, 0x0163196a, 0x034d6251, 0x000bfe70, 0x03c9be70, 0x033296c5, 0x0268a614, 0x002dac56}}, Y: Field{[10]uint32{0x01ce0a03, 0x03404410, 0x016eeb6c, 0x02cc20b8, 0x009c9a12, 0x03d94db5, 0x00e223ee, 0x02d87a95, 0x0214d6cd, 0x003eb98b}}}, + {X: Field{[10]uint32{0x01a7175f, 0x02d9a5bd, 0x0342a653, 0x01c74c73, 0x03edb8e7, 0x00b577ae, 0x0079a558, 0x00f3fdca, 0x010417d4, 0x000b632b}}, Y: Field{[10]uint32{0x039d592a, 0x01eee46e, 0x025e0cf3, 0x03f672d7, 0x037a846b, 0x004b274d, 0x03232fa6, 0x02a529ee, 0x0383318c, 0x0031cfce}}}, + {X: Field{[10]uint32{0x03b2629a, 0x0286e2d2, 0x027b8b8f, 0x0161dcde, 0x0065a02c, 0x01ca1c21, 0x00cc9f0a, 0x0145d568, 0x033fd75d, 0x0039d1cc}}, Y: Field{[10]uint32{0x0146f6d6, 0x0365869a, 0x0169a9f8, 0x02a9b86a, 0x01c88376, 0x00130960, 0x00436038, 0x00304533, 0x02014507, 0x003cabff}}}, + {X: Field{[10]uint32{0x00b51045, 0x0326f0e5, 0x025b3e34, 0x025bcc70, 0x03bbc6c8, 0x007a33dc, 0x0273d4eb, 0x01ba962b, 0x011db98a, 0x0007b2ff}}, Y: Field{[10]uint32{0x02c70026, 0x019c4040, 0x0022d53a, 0x011ad0d9, 0x00b19006, 0x0126a6ce, 0x03d0bb18, 0x030e9911, 0x02308b99, 0x00073db8}}}, + {X: Field{[10]uint32{0x0013e439, 0x016d5b19, 0x02f674a3, 0x03bf7757, 0x02f92f69, 0x01fb6d92, 0x00b1bfeb, 0x038a5abe, 0x03b8b477, 0x00265d06}}, Y: Field{[10]uint32{0x0032cd5b, 0x015f609a, 0x026e43e6, 0x0325a5d1, 0x02b17c15, 0x01638f9e, 0x035aa562, 0x0326979c, 0x01b07bd9, 0x003791fa}}}, + {X: Field{[10]uint32{0x01358533, 0x0335d9ba, 0x00b9df7a, 0x03e753ed, 0x0010a933, 0x0074caa3, 0x02955a29, 0x01d4a20f, 0x00c5fe57, 0x00268225}}, Y: Field{[10]uint32{0x0360ba08, 0x03871770, 0x01dadfb3, 0x02f6ee03, 0x0165a6e5, 0x0153f0c8, 0x0117d5f9, 0x023f0c7e, 0x03c4201b, 0x0029e620}}}, + {X: Field{[10]uint32{0x02b062d4, 0x02a942a4, 0x02141a7c, 0x03966eda, 0x027a5ce7, 0x00fa889e, 0x03b17128, 0x03ab281b, 0x02a43256, 0x000d658f}}, Y: Field{[10]uint32{0x03b25302, 0x02a9346e, 0x019b1a10, 0x02e59379, 0x02d04082, 0x027022a5, 0x00ce196f, 0x039726ff, 0x01454951, 0x003d96f8}}}, + {X: Field{[10]uint32{0x018ef7f6, 0x01017586, 0x00f9f694, 0x03dde81e, 0x025923f3, 0x00ee2ba9, 0x019c8527, 0x034b8d6f, 0x0049db4f, 0x00199376}}, Y: Field{[10]uint32{0x011eac94, 0x025bfcd7, 0x02ecee74, 0x02cc6e39, 0x03fc3d3a, 0x03411633, 0x0048ce5d, 0x01e4ca85, 0x001717f2, 0x002b5448}}}, + {X: Field{[10]uint32{0x019334f0, 0x02d9bcc4, 0x011b60d0, 0x03ece82b, 0x0174728e, 0x0170a790, 0x020e8248, 0x030c871a, 0x037b02cf, 0x0033aede}}, Y: Field{[10]uint32{0x01e45191, 0x0142f494, 0x036cb167, 0x0276e780, 0x004765a2, 0x0374b8dc, 0x01ec0f74, 0x0128cae8, 0x0243633b, 0x003f8f7c}}}, + {X: Field{[10]uint32{0x03c934b3, 0x0029adf0, 0x022c4e0c, 0x02016c2b, 0x022b31f5, 0x020469c0, 0x031d9669, 0x02e18e08, 0x029377d0, 0x0020844e}}, Y: Field{[10]uint32{0x002c6a0f, 0x01798ab1, 0x0280377e, 0x009a6911, 0x00aa1f7c, 0x0168318a, 0x0066cf2b, 0x00d99821, 0x00dac9ae, 0x0023686e}}}, + {X: Field{[10]uint32{0x0134fd2d, 0x02b379b9, 0x033852c8, 0x011193ce, 0x03a77f8d, 0x02813005, 0x009227a4, 0x03b46c77, 0x03e262c7, 0x003840c6}}, Y: Field{[10]uint32{0x0056a00d, 0x03c63ca5, 0x02d79a44, 0x01067873, 0x02f292dd, 0x0165d4d6, 0x036a4176, 0x010179ae, 0x01928940, 0x00275c18}}}, + }, + { + {X: Field{[10]uint32{0x0134fd2d, 0x02b379b9, 0x033852c8, 0x011193ce, 0x03a77f8d, 0x02813005, 0x009227a4, 0x03b46c77, 0x03e262c7, 0x003840c6}}, Y: Field{[10]uint32{0x0056a00d, 0x03c63ca5, 0x02d79a44, 0x01067873, 0x02f292dd, 0x0165d4d6, 0x036a4176, 0x010179ae, 0x01928940, 0x00275c18}}}, + {X: Field{[10]uint32{0x015c8356, 0x009f8daa, 0x0185784e, 0x03177a53, 0x01028a6a, 0x03ca6cb2, 0x0395dcd0, 0x0227aae7, 0x03224c80, 0x003d2e4f}}, Y: Field{[10]uint32{0x02001fd3, 0x02186e6f, 0x0209abd5, 0x00d12455, 0x00c37ef1, 0x0103bba4, 0x025f6a7a, 0x018b7ec3, 0x02ec0629, 0x00299ea4}}}, + {X: Field{[10]uint32{0x03028d83, 0x0188ebbb, 0x03961579, 0x01b6e9d0, 0x03619592, 0x01779a76, 0x01abe5a1, 0x0217b1a9, 0x03c4e3c7, 0x0029fafd}}, Y: Field{[10]uint32{0x01d0bed1, 0x000e4ae6, 0x03919964, 0x009d2c14, 0x0347a389, 0x00112012, 0x019c7377, 0x018b573f, 0x012fbfe3, 0x00188145}}}, + {X: Field{[10]uint32{0x03160e8a, 0x018bf85e, 0x0296c20d, 0x004be5f9, 0x00d51e85, 0x0096c22c, 0x01622ea0, 0x0148dac6, 0x00a1fce5, 0x0002746b}}, Y: Field{[10]uint32{0x00a04c44, 0x0014315f, 0x035e534e, 0x03ba484a, 0x026fe9e0, 0x0036309f, 0x016692ce, 0x03c318f9, 0x008f5101, 0x000454c6}}}, + {X: Field{[10]uint32{0x03dd5cfa, 0x00390089, 0x014b5bae, 0x004dfc27, 0x036a89c5, 0x0098d18c, 0x01c6a534, 0x013d3073, 0x008dcb02, 0x0016d728}}, Y: Field{[10]uint32{0x0248e98c, 0x0129be67, 0x029d3e66, 0x0332bcc9, 0x00bfd067, 0x0221a425, 0x011f0cea, 0x016097a6, 0x02f70aa1, 0x000fb32d}}}, + {X: Field{[10]uint32{0x03b61ee5, 0x021104de, 0x00c13f28, 0x038bec7c, 0x02da4f04, 0x025d2b9b, 0x02638cd8, 0x0086e198, 0x0230cc87, 0x003524cc}}, Y: Field{[10]uint32{0x01d694a8, 0x03693439, 0x00ddc662, 0x0231690e, 0x021ad12c, 0x03b2bed7, 0x00c5e9d1, 0x02748fb7, 0x01abf51a, 0x00008702}}}, + {X: Field{[10]uint32{0x03531f82, 0x014a38c8, 0x02c9f2b9, 0x01aec430, 0x01ff5132, 0x02708b0a, 0x02f3e748, 0x012ed733, 0x02acc111, 0x00011bc9}}, Y: Field{[10]uint32{0x03ceda07, 0x017f22c2, 0x01c7fa50, 0x01736ad5, 0x01d02594, 0x03f0c95e, 0x02370ac2, 0x020bab38, 0x0331635b, 0x001ae012}}}, + {X: Field{[10]uint32{0x01ba7fc2, 0x035f411d, 0x01562e97, 0x024eff0e, 0x03518b3a, 0x02087379, 0x022ad793, 0x00ae7862, 0x01cc454c, 0x00319b16}}, Y: Field{[10]uint32{0x035f5956, 0x00f1a73d, 0x015977ec, 0x0376c565, 0x02f00a60, 0x02b0432c, 0x024f3cea, 0x003f3efa, 0x03e2bfb3, 0x0036564b}}}, + {X: Field{[10]uint32{0x00432711, 0x00550dc4, 0x02b9060b, 0x00bf7645, 0x02cf140b, 0x02265916, 0x0396f0f0, 0x03bed4d7, 0x02d931e0, 0x00304649}}, Y: Field{[10]uint32{0x03e2610c, 0x009878bb, 0x00055e49, 0x00b283cd, 0x0383ab92, 0x01b331b3, 0x0094bf18, 0x02da2461, 0x00cc7d25, 0x0022f87e}}}, + {X: Field{[10]uint32{0x02be316c, 0x01b1b348, 0x03ad0f83, 0x00fc9e39, 0x016bf404, 0x0097bd7c, 0x017cef5b, 0x00deccac, 0x01aa4a0b, 0x00156735}}, Y: Field{[10]uint32{0x03e04013, 0x02ae7267, 0x000e71a6, 0x0074d81e, 0x038a389a, 0x01d31a4b, 0x01ba9298, 0x0101dbcb, 0x009c08d4, 0x002ab551}}}, + {X: Field{[10]uint32{0x01257963, 0x0261d3e8, 0x02861c17, 0x014b0d2a, 0x005b018d, 0x00e25e71, 0x01bb54b5, 0x023cb9b3, 0x02e9eb68, 0x001a4211}}, Y: Field{[10]uint32{0x026f9835, 0x01d96651, 0x02b253a5, 0x02a08724, 0x036cbc3c, 0x024beedf, 0x0017024f, 0x03af16d0, 0x03cb7f3f, 0x00389217}}}, + {X: Field{[10]uint32{0x0004554a, 0x03772f3b, 0x00ffe530, 0x02ed1a23, 0x00aadcff, 0x028428bb, 0x00652c27, 0x0346811d, 0x03c89873, 0x00225bcd}}, Y: Field{[10]uint32{0x029138df, 0x03e7f864, 0x017dcd68, 0x0186b310, 0x01e6085b, 0x03a046fc, 0x0222bb04, 0x0312b369, 0x03e7224a, 0x000e0108}}}, + {X: Field{[10]uint32{0x02e23ace, 0x004e52f7, 0x012fd2d1, 0x0196d537, 0x01dec87c, 0x0128ca45, 0x027552df, 0x0082eaee, 0x03fb8c92, 0x003ecf7d}}, Y: Field{[10]uint32{0x0322e8de, 0x037bd325, 0x03f5ee09, 0x010bfb49, 0x029e7271, 0x036ead62, 0x02251540, 0x00f1594a, 0x01bc11c7, 0x0014438a}}}, + {X: Field{[10]uint32{0x00d36f89, 0x003c4c17, 0x00b925f9, 0x031b9c03, 0x031e4754, 0x00a403b8, 0x01d68b87, 0x0148e594, 0x03176915, 0x00120adb}}, Y: Field{[10]uint32{0x00a4f423, 0x0328dc9c, 0x01a68467, 0x00d10b52, 0x0219ee07, 0x035ffa4b, 0x018c23e6, 0x03316b2c, 0x011df9a5, 0x003a30f0}}}, + {X: Field{[10]uint32{0x00272351, 0x01f3fbd4, 0x03109860, 0x00f7e67f, 0x0170734b, 0x02ac7350, 0x038a3eb3, 0x01462cfa, 0x02c24f5c, 0x001b7617}}, Y: Field{[10]uint32{0x03c7664b, 0x01fe8adf, 0x0017c9b0, 0x03df0f82, 0x03877c6f, 0x03d7106d, 0x01407f9a, 0x0109f827, 0x03f4121f, 0x0005ba99}}}, + {X: Field{[10]uint32{0x0094696d, 0x039a2364, 0x02af52d5, 0x019a9075, 0x005cf8b2, 0x010ef5fb, 0x002839f1, 0x016d4c2b, 0x00ae46d5, 0x003fba9b}}, Y: Field{[10]uint32{0x00090088, 0x0177afc6, 0x0042d315, 0x015f3105, 0x00981c89, 0x03cfb357, 0x02e4e12b, 0x0386eac1, 0x036c97dc, 0x00395f1a}}}, + }, + { + {X: Field{[10]uint32{0x0094696d, 0x039a2364, 0x02af52d5, 0x019a9075, 0x005cf8b2, 0x010ef5fb, 0x002839f1, 0x016d4c2b, 0x00ae46d5, 0x003fba9b}}, Y: Field{[10]uint32{0x00090088, 0x0177afc6, 0x0042d315, 0x015f3105, 0x00981c89, 0x03cfb357, 0x02e4e12b, 0x0386eac1, 0x036c97dc, 0x00395f1a}}}, + {X: Field{[10]uint32{0x02752b08, 0x010102bb, 0x021870aa, 0x0382ccc6, 0x01141eca, 0x036cb85e, 0x03261af9, 0x021f8714, 0x03621adb, 0x00134002}}, Y: Field{[10]uint32{0x00302cea, 0x00a147d2, 0x0293a3e7, 0x03c4671c, 0x00cb7df5, 0x00b65cb3, 0x02d82558, 0x0349572d, 0x038f18e0, 0x001a8356}}}, + {X: Field{[10]uint32{0x00dfd587, 0x00d86ed2, 0x02656079, 0x00e326c0, 0x015ec4ba, 0x033d684b, 0x0067aaa2, 0x01422cd2, 0x001bacf4, 0x0014212d}}, Y: Field{[10]uint32{0x01470e89, 0x027a5fe4, 0x035606e7, 0x0181a247, 0x035db6f5, 0x014a49d1, 0x01aa6c85, 0x0034c586, 0x031a1d98, 0x000d2a58}}}, + {X: Field{[10]uint32{0x035c58ef, 0x0258bf51, 0x01b77f89, 0x0100f87c, 0x00d657a0, 0x011c5c4a, 0x02a26211, 0x0281775a, 0x00ca203d, 0x001c7d5c}}, Y: Field{[10]uint32{0x035d420e, 0x01269cb4, 0x03e7df86, 0x00030cd8, 0x01f2445d, 0x02f256e3, 0x01557345, 0x02203749, 0x015b95dc, 0x003ad090}}}, + {X: Field{[10]uint32{0x02b34cc6, 0x008c985e, 0x00a12d08, 0x01d9f3cc, 0x00c80c29, 0x00635c4a, 0x03b3f1fd, 0x0357a94f, 0x003e0642, 0x0013c530}}, Y: Field{[10]uint32{0x007e681f, 0x03094be6, 0x01d0225e, 0x033a3a07, 0x00b9de3c, 0x00e98950, 0x013a70f4, 0x03a25319, 0x00a8caa4, 0x001ed4f4}}}, + {X: Field{[10]uint32{0x00953fa9, 0x01655b5b, 0x003db4d0, 0x00a7c2e3, 0x0228ab26, 0x02f46301, 0x01f485d4, 0x024c8ce9, 0x010eaaab, 0x002927b4}}, Y: Field{[10]uint32{0x02fb4c72, 0x00af4891, 0x0181b67b, 0x00d25a38, 0x035ae875, 0x0037f77e, 0x03476c0a, 0x014e6380, 0x0094660f, 0x00331cae}}}, + {X: Field{[10]uint32{0x0241d90d, 0x01dc4044, 0x004f8342, 0x01076c91, 0x03e81cf1, 0x03b774d8, 0x01436095, 0x027b4750, 0x007e49c7, 0x0029d36e}}, Y: Field{[10]uint32{0x037adad4, 0x01462e0f, 0x02313f32, 0x024d1282, 0x00a9ee50, 0x02205c72, 0x03dd08a5, 0x03bbcc9f, 0x01cdaf23, 0x003de1a4}}}, + {X: Field{[10]uint32{0x03ff8359, 0x022c1810, 0x03651604, 0x00771979, 0x0046b482, 0x00876805, 0x01282b5c, 0x03494edf, 0x03629f7b, 0x0028adec}}, Y: Field{[10]uint32{0x0286fec2, 0x025ffb3f, 0x03835a23, 0x00d411bc, 0x0110d108, 0x01c78a72, 0x02937a3f, 0x0048b55e, 0x00941695, 0x001a4c0e}}}, + {X: Field{[10]uint32{0x01c1ae1f, 0x0332888c, 0x000b2a5e, 0x031a2b35, 0x00456e58, 0x02e8d596, 0x00dcd44e, 0x028b3e6b, 0x025744ba, 0x001a407e}}, Y: Field{[10]uint32{0x022838b0, 0x00cc1974, 0x03a930f8, 0x0297971d, 0x01d79f3b, 0x00a72403, 0x01b5380c, 0x03084918, 0x00882273, 0x000d7797}}}, + {X: Field{[10]uint32{0x01f1f366, 0x002404e6, 0x036be34f, 0x01e8f401, 0x004a7905, 0x01265364, 0x015f216b, 0x01fdee92, 0x025c5da4, 0x001744d3}}, Y: Field{[10]uint32{0x00990f2c, 0x0034fa71, 0x00b39e2b, 0x005882a2, 0x03cf02d6, 0x00ea0adc, 0x03e2a4ae, 0x011410b6, 0x034d3e08, 0x0000ec7b}}}, + {X: Field{[10]uint32{0x027a4bdb, 0x00c4206c, 0x00cac4b0, 0x0010d525, 0x01046a6d, 0x006ee8d7, 0x004b643f, 0x02049e89, 0x002d1d43, 0x00234f36}}, Y: Field{[10]uint32{0x029a8a2c, 0x00d31f39, 0x01296c3d, 0x01f4dc2b, 0x02d4e380, 0x001d88db, 0x00fbf9d0, 0x0107d1c3, 0x016180ee, 0x0026f509}}}, + {X: Field{[10]uint32{0x03a1d916, 0x025b4ff9, 0x01f3a3c0, 0x00e5747c, 0x00315b0a, 0x0176ec1c, 0x006158a6, 0x027432eb, 0x01acb6d5, 0x001943be}}, Y: Field{[10]uint32{0x0068387b, 0x0127299c, 0x026ba858, 0x00229db0, 0x0158bb46, 0x01e6e0b1, 0x029c0b92, 0x02c461c3, 0x01f21162, 0x00021744}}}, + {X: Field{[10]uint32{0x00ec1d2d, 0x0334f1ad, 0x00f45440, 0x0171b9f6, 0x03d9099f, 0x019eda47, 0x029d6729, 0x011ce6bf, 0x0363d606, 0x003abe60}}, Y: Field{[10]uint32{0x00838452, 0x039d5813, 0x00b53fcf, 0x01515fa1, 0x02a9f52d, 0x01ac666a, 0x01228a0e, 0x023489dd, 0x003a7fe7, 0x00394606}}}, + {X: Field{[10]uint32{0x03d98ee1, 0x0323a022, 0x012bed42, 0x01ea4226, 0x03579df3, 0x023ee865, 0x027c924a, 0x00860ffa, 0x02ce0ceb, 0x00075dc2}}, Y: Field{[10]uint32{0x0138ffca, 0x02e05e47, 0x017ecf9f, 0x029038f5, 0x0237f61c, 0x01954aa1, 0x0163038b, 0x03d779e2, 0x0005f46e, 0x0009e3e2}}}, + {X: Field{[10]uint32{0x005ae767, 0x00d6fdc1, 0x0371cbcb, 0x032e7a25, 0x00c273a9, 0x0301b976, 0x0340e052, 0x02d8d19b, 0x01163aed, 0x003ee56f}}, Y: Field{[10]uint32{0x03bf0e11, 0x00fa82be, 0x03134185, 0x01c62967, 0x03b816f4, 0x01a089d6, 0x0004d9d3, 0x0376f148, 0x00d811a8, 0x00199305}}}, + {X: Field{[10]uint32{0x01ec6cb1, 0x02a5e2f0, 0x003de33f, 0x01f60216, 0x00feed65, 0x01bff28f, 0x027be4be, 0x027372cd, 0x011d9104, 0x003699ea}}, Y: Field{[10]uint32{0x0268be1d, 0x03aa389e, 0x000a17e9, 0x031423dd, 0x01dec7ad, 0x0325e039, 0x03463f7e, 0x010af107, 0x02354816, 0x0026eb2a}}}, + }, + { + {X: Field{[10]uint32{0x01ec6cb1, 0x02a5e2f0, 0x003de33f, 0x01f60216, 0x00feed65, 0x01bff28f, 0x027be4be, 0x027372cd, 0x011d9104, 0x003699ea}}, Y: Field{[10]uint32{0x0268be1d, 0x03aa389e, 0x000a17e9, 0x031423dd, 0x01dec7ad, 0x0325e039, 0x03463f7e, 0x010af107, 0x02354816, 0x0026eb2a}}}, + {X: Field{[10]uint32{0x03e741c9, 0x00f32087, 0x01a835ee, 0x00d733a9, 0x018bbd9f, 0x03c0361c, 0x00c0cfaa, 0x03bd61f0, 0x01365fa1, 0x00136eb3}}, Y: Field{[10]uint32{0x038eb623, 0x03843e0c, 0x0135f60b, 0x02827f01, 0x010cc384, 0x020e0a67, 0x01cfd59e, 0x0224b9ff, 0x000e8a51, 0x0005b0d5}}}, + {X: Field{[10]uint32{0x01bc8a44, 0x03741945, 0x011a19ef, 0x01df2f85, 0x03684101, 0x029697f1, 0x00565a4b, 0x03b68f4e, 0x00583cfc, 0x00134060}}, Y: Field{[10]uint32{0x02dbc09e, 0x03e53246, 0x01a362f1, 0x011a160b, 0x03969420, 0x01f58e04, 0x029ba800, 0x03d74d9f, 0x02c18cb4, 0x000e8cf1}}}, + {X: Field{[10]uint32{0x00e218da, 0x036a2ead, 0x0205087e, 0x03c549a1, 0x010f4c85, 0x03d07096, 0x00f17d8f, 0x026fbb9a, 0x03c48150, 0x0004f47f}}, Y: Field{[10]uint32{0x03191c19, 0x02d06776, 0x01127e0d, 0x0081b56f, 0x01a4ad01, 0x006dd62f, 0x00b9337b, 0x0258773b, 0x011fa991, 0x0018020e}}}, + {X: Field{[10]uint32{0x01daeb00, 0x02ad4a19, 0x01f76bc1, 0x00933991, 0x015923eb, 0x00edba74, 0x02cb6a27, 0x03e55c20, 0x0107df5c, 0x000bd985}}, Y: Field{[10]uint32{0x033992c0, 0x01d9e260, 0x0308c122, 0x009c6574, 0x006ecdee, 0x00802b74, 0x039537a8, 0x02ccfdbb, 0x02136f52, 0x003f5704}}}, + {X: Field{[10]uint32{0x035b4eb8, 0x0084f924, 0x01a3cf52, 0x03c6ae2d, 0x0207f557, 0x032bcb73, 0x03f54a3c, 0x00895bc3, 0x00e43adf, 0x0030465a}}, Y: Field{[10]uint32{0x03911add, 0x01265b5b, 0x0149b704, 0x02504a9c, 0x0242f8b4, 0x019d9be0, 0x039d81fe, 0x01163e0d, 0x02937786, 0x002ffd79}}}, + {X: Field{[10]uint32{0x016aa6d9, 0x02a42824, 0x02dcf182, 0x02d91dc0, 0x003662c8, 0x0060d68e, 0x00f174da, 0x011f4895, 0x017d05fe, 0x003d6504}}, Y: Field{[10]uint32{0x032e50cf, 0x001a5baf, 0x01b86c7d, 0x0220f9ad, 0x037a9277, 0x00252f3a, 0x025dbdab, 0x006c4b3d, 0x01a56e97, 0x0032a9d8}}}, + {X: Field{[10]uint32{0x02e96db8, 0x02d032a8, 0x01bff133, 0x005b38a7, 0x033cc9d9, 0x016c14ce, 0x019c79c4, 0x018001d9, 0x039cef6c, 0x000866d3}}, Y: Field{[10]uint32{0x013b6bc7, 0x03c069e3, 0x0176527d, 0x0314fa41, 0x02394f8a, 0x000dca9b, 0x0244180c, 0x03bfabd6, 0x0205d959, 0x00093671}}}, + {X: Field{[10]uint32{0x02c6f4c0, 0x0380e55e, 0x01c4ccaa, 0x03a3312f, 0x01da4e8d, 0x01a59c47, 0x021c38be, 0x02737b13, 0x017f1f4d, 0x0003cb53}}, Y: Field{[10]uint32{0x02339b58, 0x01eeeb5c, 0x02656e7e, 0x029e4090, 0x028f6a10, 0x00e079c7, 0x03b27fdf, 0x0379345f, 0x03857e93, 0x000fb227}}}, + {X: Field{[10]uint32{0x00284327, 0x0347e6bd, 0x02facc56, 0x02c0e0e9, 0x03ac4020, 0x001a8d05, 0x003ebdd8, 0x02d17375, 0x00bdcd64, 0x0003da10}}, Y: Field{[10]uint32{0x01e2ab72, 0x0349d691, 0x01eb7400, 0x029dc4ae, 0x03b68dab, 0x02d8452b, 0x01e8bff4, 0x0069dd25, 0x037f100f, 0x003cc134}}}, + {X: Field{[10]uint32{0x03428cb2, 0x01414ff7, 0x02b55d85, 0x03f59a88, 0x01233822, 0x0256343c, 0x037a1815, 0x012ef47a, 0x02c2e2a1, 0x00075773}}, Y: Field{[10]uint32{0x015b189b, 0x03b44022, 0x004a51e5, 0x00be1d81, 0x00bd3e91, 0x021bc2e2, 0x00787824, 0x03231434, 0x0083b142, 0x001b9710}}}, + {X: Field{[10]uint32{0x01dffc96, 0x02e84256, 0x01857295, 0x0296beb1, 0x019228cd, 0x0205fac0, 0x039b395c, 0x00f7abdb, 0x00bee148, 0x0005871b}}, Y: Field{[10]uint32{0x03492de4, 0x02f3d846, 0x00621c93, 0x0324babe, 0x019b9634, 0x032c60c1, 0x01259391, 0x03fe616f, 0x0292a6b9, 0x002289b2}}}, + {X: Field{[10]uint32{0x00381273, 0x03aa23ea, 0x01ae5fb0, 0x02581a4f, 0x02d84376, 0x031049b3, 0x01ea9b2c, 0x019d0e7f, 0x02fd3009, 0x00227668}}, Y: Field{[10]uint32{0x0309773d, 0x03acfbb4, 0x03324a03, 0x0202b449, 0x018f61d6, 0x01b3d8bd, 0x03aaf207, 0x01bd40dd, 0x01b451d6, 0x0037f289}}}, + {X: Field{[10]uint32{0x010a683f, 0x018557e0, 0x031be4cf, 0x00c6fdba, 0x005248bd, 0x00626aa3, 0x02c7285f, 0x035283f9, 0x02cc3f64, 0x001e0f43}}, Y: Field{[10]uint32{0x00f54c4c, 0x019b38b8, 0x01ee9dfd, 0x0221c8e5, 0x02b5de92, 0x01fcb547, 0x02b74572, 0x03d28c05, 0x01029073, 0x0008029b}}}, + {X: Field{[10]uint32{0x01c71d91, 0x00cacb2d, 0x00fd21cc, 0x00b8aa25, 0x0223945e, 0x0056bfb3, 0x02a1c131, 0x002b8714, 0x038783a5, 0x0020c646}}, Y: Field{[10]uint32{0x02148a61, 0x027b0238, 0x005ee70b, 0x0145d411, 0x0217a11f, 0x005f2ba2, 0x006de13d, 0x006dc278, 0x03157380, 0x00382b1f}}}, + {X: Field{[10]uint32{0x0237b7c0, 0x01173306, 0x0069f575, 0x03deec44, 0x01ec08d0, 0x03bc8854, 0x02000935, 0x0133769b, 0x03aa0b33, 0x0014e413}}, Y: Field{[10]uint32{0x022771c8, 0x02c25ac0, 0x034699dc, 0x02078510, 0x00139999, 0x00834f07, 0x009eccac, 0x0041b623, 0x03d0bc80, 0x0016f021}}}, + }, + { + {X: Field{[10]uint32{0x0237b7c0, 0x01173306, 0x0069f575, 0x03deec44, 0x01ec08d0, 0x03bc8854, 0x02000935, 0x0133769b, 0x03aa0b33, 0x0014e413}}, Y: Field{[10]uint32{0x022771c8, 0x02c25ac0, 0x034699dc, 0x02078510, 0x00139999, 0x00834f07, 0x009eccac, 0x0041b623, 0x03d0bc80, 0x0016f021}}}, + {X: Field{[10]uint32{0x00a47ca9, 0x0343c7ce, 0x005ad57c, 0x02aab43e, 0x012a6ee7, 0x00c5a657, 0x03991196, 0x0119d4f3, 0x01af9d41, 0x0000695d}}, Y: Field{[10]uint32{0x03ebcdb7, 0x0177cb9d, 0x03ea667c, 0x01767d35, 0x00bdb93c, 0x006ee1a6, 0x015fc52e, 0x00370f31, 0x01cb8ab2, 0x000c0e3c}}}, + {X: Field{[10]uint32{0x00a2050e, 0x0310bf92, 0x00a6771a, 0x015d857e, 0x01742ef5, 0x0391e6e2, 0x03769cc6, 0x01cc625a, 0x00fd24bc, 0x0019cdc9}}, Y: Field{[10]uint32{0x021d3d70, 0x03269241, 0x01cc2b90, 0x03f50cd2, 0x01be6bac, 0x02a21adb, 0x03482c09, 0x01288080, 0x0257896a, 0x003933e0}}}, + {X: Field{[10]uint32{0x0315565b, 0x0275d578, 0x00c6ee30, 0x020f4f08, 0x02d3a61a, 0x01d85575, 0x031f5c1b, 0x0350e729, 0x00437621, 0x003d7c38}}, Y: Field{[10]uint32{0x012ecc82, 0x010c2bf7, 0x0240a678, 0x02fcfb5f, 0x02a5bf61, 0x037dc406, 0x02189160, 0x0014afd8, 0x0262be5a, 0x001ae7d3}}}, + {X: Field{[10]uint32{0x02de63bf, 0x01b920e0, 0x01c66cbf, 0x00ca1c98, 0x00e03af5, 0x03d859aa, 0x0198a631, 0x0130c279, 0x03a472df, 0x0010d9bb}}, Y: Field{[10]uint32{0x017924cd, 0x01a90238, 0x02d6b02c, 0x01496aa9, 0x02f33b0c, 0x00c09a3a, 0x022537e1, 0x035f38bb, 0x0109bee2, 0x000b9f76}}}, + {X: Field{[10]uint32{0x01a78179, 0x03d807ea, 0x02afe34c, 0x00149835, 0x036b50e9, 0x00827b67, 0x01a47336, 0x02e37241, 0x03f37081, 0x00265729}}, Y: Field{[10]uint32{0x03ec1f47, 0x03eed32b, 0x00e52931, 0x015a6ad9, 0x02bbcc85, 0x0124a18e, 0x0234d880, 0x015cead7, 0x01e95553, 0x00366816}}}, + {X: Field{[10]uint32{0x02f96190, 0x0149ffc1, 0x0125ef10, 0x03a41f25, 0x03d1f02d, 0x019ea9d7, 0x03e55696, 0x02ac7e5e, 0x03627991, 0x001ef5d4}}, Y: Field{[10]uint32{0x03da00f6, 0x005c812a, 0x02695a3d, 0x0170783a, 0x02ce0fcc, 0x010e09f5, 0x02d64749, 0x018c2757, 0x02b3dbba, 0x0020cdbc}}}, + {X: Field{[10]uint32{0x01362d33, 0x01e0767d, 0x03642cbe, 0x00851889, 0x0347cbc9, 0x01c32938, 0x027f36d9, 0x01ba695e, 0x030b6c0b, 0x0023d41b}}, Y: Field{[10]uint32{0x03fa243f, 0x021f4321, 0x00eaf304, 0x01750eee, 0x0048cf92, 0x03c70cda, 0x030c5424, 0x0185c654, 0x015d2afa, 0x0011a7e5}}}, + {X: Field{[10]uint32{0x02ad41ed, 0x0054c555, 0x0352433b, 0x00d7d3c0, 0x020308ac, 0x02463724, 0x023419e8, 0x035706be, 0x027bddaa, 0x0013dfa4}}, Y: Field{[10]uint32{0x02642d57, 0x00d5e19f, 0x0375bdf4, 0x01c53abd, 0x022e7314, 0x00ea3da9, 0x02980df5, 0x022c4154, 0x005156a8, 0x0037f9dd}}}, + {X: Field{[10]uint32{0x025e6618, 0x010e868f, 0x03cb4c18, 0x03d6763f, 0x03166d65, 0x03904918, 0x02017141, 0x01f6fe1f, 0x007338b9, 0x003ef084}}, Y: Field{[10]uint32{0x0230c860, 0x01536808, 0x00cf20ed, 0x00fc772f, 0x017f3c4f, 0x03ce6c47, 0x0160c1a6, 0x025052d2, 0x0059185c, 0x0027e6c2}}}, + {X: Field{[10]uint32{0x03748690, 0x01814499, 0x00b01cfa, 0x0137618c, 0x007d5790, 0x0374cf40, 0x03452b1e, 0x00733252, 0x03867d29, 0x0008d572}}, Y: Field{[10]uint32{0x0089582b, 0x011d4c53, 0x0139147c, 0x01633472, 0x00582868, 0x016a9f16, 0x01b85ec1, 0x0387e3d5, 0x018a5a71, 0x000870bc}}}, + {X: Field{[10]uint32{0x009135d3, 0x02361761, 0x031fc13d, 0x03404b90, 0x0274203c, 0x004c2c5a, 0x00134294, 0x02a16997, 0x03c7ef82, 0x00016502}}, Y: Field{[10]uint32{0x022255d2, 0x035d1465, 0x02391d02, 0x00a32640, 0x02f12863, 0x02ad9a1e, 0x035b0c7a, 0x02ad84bd, 0x0185eb4f, 0x002414de}}}, + {X: Field{[10]uint32{0x02de7f16, 0x03a88582, 0x0028c6da, 0x03a4f2f8, 0x00ae9cba, 0x0309d749, 0x03592ab6, 0x0295b004, 0x025b9b3d, 0x0002d9a0}}, Y: Field{[10]uint32{0x00c56217, 0x01109a12, 0x00d2bd94, 0x0037cf9f, 0x03b7243c, 0x02d5ea5f, 0x03a76ba8, 0x026cffbc, 0x00b818e0, 0x00287ee8}}}, + {X: Field{[10]uint32{0x00d2374d, 0x00c1c059, 0x02b2bc63, 0x025a133f, 0x00dcf38a, 0x02cffda9, 0x025a9f71, 0x03274976, 0x02d8b5e5, 0x0005bba3}}, Y: Field{[10]uint32{0x00865998, 0x016f2d3f, 0x01dd980e, 0x003b9b53, 0x02075513, 0x016dbfd8, 0x026b843e, 0x03c44228, 0x03f0546f, 0x003d4039}}}, + {X: Field{[10]uint32{0x01060d5b, 0x01ac08a6, 0x03a7c290, 0x02c470e8, 0x03904613, 0x027e5472, 0x0109b2fd, 0x0008b2d8, 0x003cf0bd, 0x003d8081}}, Y: Field{[10]uint32{0x02f88f13, 0x01bd42c6, 0x01a3f76f, 0x034adf74, 0x0237aa56, 0x0313defa, 0x01a8f64a, 0x033c6620, 0x0306c1f0, 0x003c0dad}}}, + {X: Field{[10]uint32{0x02d86047, 0x02567d0e, 0x00bcaeff, 0x0010ea6e, 0x0379b53a, 0x0132a419, 0x01cca776, 0x020e9dc6, 0x010bd359, 0x00239ef3}}, Y: Field{[10]uint32{0x0060372a, 0x00011fa1, 0x028b3ea1, 0x00b91ff5, 0x0179e88e, 0x032a5451, 0x00310420, 0x0292ce50, 0x030b2a3d, 0x00042ddd}}}, + }, + { + {X: Field{[10]uint32{0x02d86047, 0x02567d0e, 0x00bcaeff, 0x0010ea6e, 0x0379b53a, 0x0132a419, 0x01cca776, 0x020e9dc6, 0x010bd359, 0x00239ef3}}, Y: Field{[10]uint32{0x0060372a, 0x00011fa1, 0x028b3ea1, 0x00b91ff5, 0x0179e88e, 0x032a5451, 0x00310420, 0x0292ce50, 0x030b2a3d, 0x00042ddd}}}, + {X: Field{[10]uint32{0x013f0351, 0x00a022fc, 0x009e777d, 0x0234f40e, 0x033bc15b, 0x025a5437, 0x010f3199, 0x01ca770d, 0x03aa195e, 0x000cecd6}}, Y: Field{[10]uint32{0x038d7418, 0x0140f332, 0x01b702bc, 0x03bef222, 0x00aa6560, 0x012354af, 0x00640362, 0x02fe1fe5, 0x0185640a, 0x00296280}}}, + {X: Field{[10]uint32{0x001ead4b, 0x0221e681, 0x003c1ffe, 0x03eda46c, 0x023a75ed, 0x02bf9daf, 0x014734ef, 0x00cdfb1c, 0x000c8c8f, 0x002ff243}}, Y: Field{[10]uint32{0x02fedaed, 0x00b1bc21, 0x02e3e745, 0x03fccb82, 0x02fb468e, 0x01410b4d, 0x03a718dd, 0x037b4936, 0x01b1e09c, 0x001ea520}}}, + {X: Field{[10]uint32{0x0014bb36, 0x0371ec91, 0x03ca6d71, 0x00272b5e, 0x0256f6e1, 0x01c7df88, 0x0383ad20, 0x00fe5572, 0x02ae22c9, 0x000dd37b}}, Y: Field{[10]uint32{0x01af734a, 0x016faa63, 0x00321787, 0x018c0395, 0x013828d6, 0x0201bdca, 0x0032c06f, 0x013e6458, 0x01b64fcd, 0x0005c459}}}, + {X: Field{[10]uint32{0x01bb3b3e, 0x01ef41dd, 0x033cb26e, 0x005fbe7d, 0x03507536, 0x030b4fd6, 0x025993e8, 0x02aa9372, 0x011cbe3f, 0x001ccb7c}}, Y: Field{[10]uint32{0x03366693, 0x01df87b5, 0x00436cc5, 0x01b59316, 0x02e69dad, 0x00094e45, 0x03e25584, 0x0265df2d, 0x003ede8f, 0x001fd064}}}, + {X: Field{[10]uint32{0x01b7ad0d, 0x03215bb9, 0x011d3694, 0x01f2a743, 0x0076ee76, 0x01b45b11, 0x010d8a49, 0x0380370b, 0x010dabb5, 0x000e955a}}, Y: Field{[10]uint32{0x02e8c407, 0x0261e42c, 0x01218d6c, 0x022b2b0c, 0x0301cacb, 0x01fbe67c, 0x021fbac9, 0x0195efec, 0x021975a0, 0x0030f8a3}}}, + {X: Field{[10]uint32{0x008dc3b9, 0x016cf062, 0x00c99c5f, 0x0093a5dd, 0x0019a669, 0x0325fbd8, 0x01a8840c, 0x011ed0a3, 0x00b96039, 0x00133825}}, Y: Field{[10]uint32{0x01c0de52, 0x013dedb9, 0x006502c1, 0x008327a8, 0x0216205b, 0x029dab28, 0x03b4d80c, 0x026cfb55, 0x03babf1a, 0x00014e43}}}, + {X: Field{[10]uint32{0x02e7d616, 0x02992b5a, 0x01f0c5e8, 0x03cad8aa, 0x00944dba, 0x016bac37, 0x006e0739, 0x03ab95f1, 0x009c7f3a, 0x0008e030}}, Y: Field{[10]uint32{0x021bbc1a, 0x026f9205, 0x02756009, 0x00523e11, 0x0293af92, 0x01426c26, 0x0198aefd, 0x0255abc5, 0x02193464, 0x001be3a1}}}, + {X: Field{[10]uint32{0x02aafe5a, 0x01d782c2, 0x02edd4c3, 0x02ce9426, 0x00e25470, 0x02c08ff4, 0x018a6a95, 0x019f7a5b, 0x02b76fc6, 0x0026a5a3}}, Y: Field{[10]uint32{0x02d975c0, 0x02ff5093, 0x00cc0ce6, 0x0029979c, 0x02e7b588, 0x03618743, 0x03c66d03, 0x02e8a553, 0x0307a6d3, 0x002afdbe}}}, + {X: Field{[10]uint32{0x03a32402, 0x018b453b, 0x025348d9, 0x0184f19a, 0x025e659c, 0x000e00d3, 0x037db3bb, 0x03aaaf83, 0x02ced74c, 0x00060293}}, Y: Field{[10]uint32{0x00894b4e, 0x00de0371, 0x0118b320, 0x024dff73, 0x01a602c5, 0x013fafa1, 0x03bfc2f2, 0x035f8ab6, 0x015747ba, 0x00126293}}}, + {X: Field{[10]uint32{0x034c6397, 0x0072fe7c, 0x00d09375, 0x02d401d3, 0x0107dd3d, 0x014dac88, 0x00aef802, 0x0186553c, 0x03ed0171, 0x0034f1be}}, Y: Field{[10]uint32{0x00cb3f9c, 0x0323415a, 0x00e00b1f, 0x00224178, 0x028a0c77, 0x00baad91, 0x018394d9, 0x00abc651, 0x02c55e5e, 0x00128374}}}, + {X: Field{[10]uint32{0x01b2df82, 0x0291ec26, 0x00fb1927, 0x00591c41, 0x00ec5e7a, 0x0338cb01, 0x012d18ec, 0x02e4b332, 0x005c62bf, 0x00101699}}, Y: Field{[10]uint32{0x01307dbf, 0x00a0d282, 0x0062b5da, 0x02cb3b71, 0x022ffa9d, 0x008df9c4, 0x00aca61e, 0x025b83d7, 0x0014f44d, 0x002f0f2d}}}, + {X: Field{[10]uint32{0x02c3137e, 0x020964c2, 0x0244619b, 0x018a96bd, 0x03fe925b, 0x02aace54, 0x02f06a76, 0x010ee380, 0x03981292, 0x00132f78}}, Y: Field{[10]uint32{0x02c02fe6, 0x023c573b, 0x02d60c00, 0x02b9623a, 0x00d193a7, 0x02e530dc, 0x0092a134, 0x01856540, 0x00608f13, 0x001b3955}}}, + {X: Field{[10]uint32{0x010ce56e, 0x006788f9, 0x014a3c71, 0x03c35de4, 0x02c8293a, 0x032f9e05, 0x00590fca, 0x006bcf9a, 0x00d3ce53, 0x002a9b71}}, Y: Field{[10]uint32{0x01edd739, 0x03ce8d1f, 0x010a8b9d, 0x036be3dc, 0x03c11984, 0x03997998, 0x01f6edc5, 0x0394a5b8, 0x018fa241, 0x003af1e6}}}, + {X: Field{[10]uint32{0x00fbf84b, 0x008c1b38, 0x00b8a47a, 0x032ef0fc, 0x0303c48f, 0x030533ae, 0x03d9c730, 0x01891ee2, 0x033c82b1, 0x0012e74c}}, Y: Field{[10]uint32{0x036c3c48, 0x03b92d28, 0x035e6239, 0x010f8bd6, 0x036766d5, 0x019e6dfa, 0x0313d982, 0x03054954, 0x03fbe24c, 0x003f5ff1}}}, + {X: Field{[10]uint32{0x01c43862, 0x01078566, 0x026690a8, 0x03c60e5f, 0x0271a7f4, 0x026e06f7, 0x01081868, 0x03fc879b, 0x0134c1cd, 0x000e17bb}}, Y: Field{[10]uint32{0x002e5453, 0x0163f955, 0x01c8cc04, 0x03b0821b, 0x036b304e, 0x027afd15, 0x001de19e, 0x008fd59c, 0x03c3e8ea, 0x000a0efa}}}, + }, + { + {X: Field{[10]uint32{0x01c43862, 0x01078566, 0x026690a8, 0x03c60e5f, 0x0271a7f4, 0x026e06f7, 0x01081868, 0x03fc879b, 0x0134c1cd, 0x000e17bb}}, Y: Field{[10]uint32{0x002e5453, 0x0163f955, 0x01c8cc04, 0x03b0821b, 0x036b304e, 0x027afd15, 0x001de19e, 0x008fd59c, 0x03c3e8ea, 0x000a0efa}}}, + {X: Field{[10]uint32{0x00f2827c, 0x00e89c1e, 0x01ce2dc8, 0x010afbf0, 0x0147c826, 0x0357d9f4, 0x016be134, 0x01520011, 0x02083daf, 0x003dbd88}}, Y: Field{[10]uint32{0x00aaa102, 0x02c82d48, 0x01bf6d15, 0x01d120c8, 0x03e657ca, 0x00d9f3b9, 0x02c5715b, 0x00e83ebc, 0x02817de7, 0x0006f353}}}, + {X: Field{[10]uint32{0x02e2d9b3, 0x034c1aad, 0x0163514b, 0x020c6ce3, 0x0241db92, 0x0273e115, 0x012ea613, 0x00179d78, 0x00f397c7, 0x000668c5}}, Y: Field{[10]uint32{0x03aaaf33, 0x00bb8972, 0x03e56d55, 0x00749012, 0x03a5021d, 0x01fd4a2c, 0x00965f88, 0x00a3748d, 0x00f5dac7, 0x001b2b36}}}, + {X: Field{[10]uint32{0x015adcb6, 0x024c825c, 0x02f369d8, 0x0339f631, 0x01cd91c3, 0x0347f095, 0x030cb3c3, 0x00f78af5, 0x01188f95, 0x003ec9b9}}, Y: Field{[10]uint32{0x00ba68f3, 0x02f28ed6, 0x02b5449d, 0x00c6e2de, 0x0116d2cb, 0x027405da, 0x02846a71, 0x028d3563, 0x00811012, 0x003cf84a}}}, + {X: Field{[10]uint32{0x02f00480, 0x0161fac4, 0x01cee7d8, 0x00128403, 0x01203588, 0x013d9c86, 0x01c98636, 0x036a8d57, 0x014b95a8, 0x0016103b}}, Y: Field{[10]uint32{0x0222cf9e, 0x00b578af, 0x03872159, 0x01514ab8, 0x02ba7522, 0x00577636, 0x0168deaa, 0x03c5041e, 0x026b220b, 0x0019c336}}}, + {X: Field{[10]uint32{0x03a52264, 0x01cdf658, 0x00b3752e, 0x000c5500, 0x03d0adfc, 0x02b9473f, 0x006e2a9a, 0x01ffa6a0, 0x000de818, 0x00217ff7}}, Y: Field{[10]uint32{0x02da2082, 0x01f4a6a0, 0x01d0498c, 0x0324ac5e, 0x00678182, 0x01551c1b, 0x02568f50, 0x0252342f, 0x00187ae2, 0x000ffb8c}}}, + {X: Field{[10]uint32{0x03f54c42, 0x0137ba08, 0x03dc8e48, 0x00f09a68, 0x0145dc1a, 0x03b394c9, 0x0058c1f4, 0x0063ec77, 0x01a53469, 0x0027d5c0}}, Y: Field{[10]uint32{0x03eb6a21, 0x0387124b, 0x02527860, 0x012ac867, 0x0189ee78, 0x01ca6ff7, 0x0395b6b5, 0x02795efe, 0x03b8801d, 0x00339ee3}}}, + {X: Field{[10]uint32{0x00788c1e, 0x0136dd58, 0x011d7ed4, 0x00183a2f, 0x03d18c37, 0x018f3aad, 0x035c6bc7, 0x004cb4a3, 0x025911b9, 0x00226448}}, Y: Field{[10]uint32{0x028f0ef1, 0x031088a3, 0x01e11635, 0x0213f7be, 0x0236969c, 0x026c4dbe, 0x03876355, 0x02b26c9e, 0x01987cc9, 0x0036a2d3}}}, + {X: Field{[10]uint32{0x0122461a, 0x0104cca5, 0x018327e9, 0x00996f1c, 0x00bcb30a, 0x019fbe68, 0x03b87010, 0x0233f006, 0x0169235a, 0x0009fd84}}, Y: Field{[10]uint32{0x03301a2d, 0x0132be71, 0x039446aa, 0x00836a18, 0x00e4981b, 0x01d0a3ba, 0x008c5612, 0x01ab4ba9, 0x01a9900a, 0x003944bc}}}, + {X: Field{[10]uint32{0x02ddd3ac, 0x03662579, 0x006516db, 0x00ce8bc0, 0x037bf8f6, 0x0338b568, 0x012d90d6, 0x00b82561, 0x03e6732a, 0x0025bb94}}, Y: Field{[10]uint32{0x029b6fde, 0x0096cd9c, 0x01c06fbf, 0x025db19b, 0x02ef0d07, 0x03afc783, 0x004c9711, 0x00a7cb63, 0x02eae4b6, 0x000e6e72}}}, + {X: Field{[10]uint32{0x014f36b9, 0x00b26cb4, 0x03390cce, 0x02ed8ee7, 0x012598ca, 0x017d2a60, 0x01bf2f43, 0x03e50498, 0x01856cee, 0x001901de}}, Y: Field{[10]uint32{0x00b4b50a, 0x02c7ba79, 0x02eb2894, 0x01c12673, 0x008cda08, 0x02169edb, 0x010d75fd, 0x01bbebbe, 0x028f44e5, 0x00369864}}}, + {X: Field{[10]uint32{0x02a88c9c, 0x03fd692d, 0x01f069c1, 0x0198c527, 0x02a37b68, 0x01cb2a8a, 0x021d9ac9, 0x0244e62c, 0x0081e547, 0x001e1964}}, Y: Field{[10]uint32{0x01a7d19b, 0x0164d15d, 0x02a155e0, 0x026c0ead, 0x0112cf91, 0x017a0658, 0x028fa722, 0x0034ada7, 0x007792a3, 0x0016688c}}}, + {X: Field{[10]uint32{0x00d6b76f, 0x018f7e65, 0x015dbcef, 0x03eed320, 0x027fe5a9, 0x00277fab, 0x02f708bc, 0x019a7d14, 0x00e31c85, 0x00288dd4}}, Y: Field{[10]uint32{0x01cca8da, 0x024b3323, 0x008d141d, 0x0047f6e1, 0x03e7707c, 0x03504444, 0x032fa3e4, 0x0379b6b0, 0x0314a6e7, 0x003dcce6}}}, + {X: Field{[10]uint32{0x00c13079, 0x0336c4f4, 0x01688d4f, 0x00055374, 0x026f3e5a, 0x036bcc05, 0x01fea76e, 0x003aee02, 0x010b6e1f, 0x001794ad}}, Y: Field{[10]uint32{0x00e1296f, 0x00f1239c, 0x00e1cc10, 0x0344f58f, 0x004a3829, 0x01280fab, 0x02987853, 0x012c326d, 0x02e73a35, 0x000667b7}}}, + {X: Field{[10]uint32{0x00eee475, 0x03a7193f, 0x0382b12e, 0x00a103b5, 0x01ab6ac8, 0x00f2bfd0, 0x013c021f, 0x00de357b, 0x0007a3f2, 0x002efc6b}}, Y: Field{[10]uint32{0x03fe5067, 0x008a8021, 0x001d6846, 0x02250e2d, 0x0324eb9d, 0x01ac57f8, 0x0083cc83, 0x01839842, 0x00deead4, 0x002d2fee}}}, + {X: Field{[10]uint32{0x03fac3a7, 0x01bb61b0, 0x03bc9c60, 0x0129651f, 0x000fddf8, 0x004f7e86, 0x03c73a44, 0x03c6458d, 0x01b803ec, 0x0001be76}}, Y: Field{[10]uint32{0x02842160, 0x0224180e, 0x01002d86, 0x00bd70a0, 0x007ea4dd, 0x03917135, 0x038e2a30, 0x0166e9a6, 0x028e6030, 0x001f2031}}}, + }, + { + {X: Field{[10]uint32{0x03fac3a7, 0x01bb61b0, 0x03bc9c60, 0x0129651f, 0x000fddf8, 0x004f7e86, 0x03c73a44, 0x03c6458d, 0x01b803ec, 0x0001be76}}, Y: Field{[10]uint32{0x02842160, 0x0224180e, 0x01002d86, 0x00bd70a0, 0x007ea4dd, 0x03917135, 0x038e2a30, 0x0166e9a6, 0x028e6030, 0x001f2031}}}, + {X: Field{[10]uint32{0x037fd72d, 0x03489d12, 0x01a175c9, 0x03969f93, 0x01da1745, 0x01120a4e, 0x01c36c28, 0x01047073, 0x02ea252b, 0x002ba1bb}}, Y: Field{[10]uint32{0x02ee38bc, 0x0132de93, 0x03728233, 0x015451cb, 0x018d9211, 0x0227fc3a, 0x02b0ace5, 0x000be58a, 0x03c97073, 0x00067a64}}}, + {X: Field{[10]uint32{0x021ce204, 0x035d7a34, 0x023d524e, 0x0239099d, 0x03b2a725, 0x0329bdcb, 0x0374d859, 0x03193ee0, 0x01d162b3, 0x0010f290}}, Y: Field{[10]uint32{0x034a8f6b, 0x014113a4, 0x02468e52, 0x02ccfa92, 0x039ab6c7, 0x0236e8c7, 0x0250f921, 0x008fe871, 0x0282e370, 0x00373a96}}}, + {X: Field{[10]uint32{0x00169290, 0x011d099f, 0x032ee7a1, 0x01d73cdb, 0x008718be, 0x01b70b12, 0x01d2f8c5, 0x03fd5798, 0x01f90bbf, 0x00089232}}, Y: Field{[10]uint32{0x003ea257, 0x036284a2, 0x02be2369, 0x0008d768, 0x00e16375, 0x010d6e86, 0x006bb55b, 0x03bb5e94, 0x00692d21, 0x003e8165}}}, + {X: Field{[10]uint32{0x03e6efda, 0x033a4b3a, 0x0005964f, 0x03cfe1ca, 0x01922d4f, 0x0216941b, 0x026f7237, 0x00afd6d9, 0x02ef2289, 0x00270f81}}, Y: Field{[10]uint32{0x03aefc7d, 0x0103cca9, 0x03df7df1, 0x01a1ecdb, 0x01d43bc8, 0x03389bf5, 0x030b2d44, 0x0248f62b, 0x01e5e762, 0x0029edc2}}}, + {X: Field{[10]uint32{0x00978583, 0x0290c805, 0x0213f5b3, 0x02bbc185, 0x00cdd6e9, 0x003e4885, 0x03841999, 0x00c4dd25, 0x009b9cf2, 0x000c2afe}}, Y: Field{[10]uint32{0x01c75777, 0x00600d47, 0x004ac446, 0x0288eed6, 0x0063120e, 0x00386ae0, 0x037b4f2d, 0x01d26337, 0x0115477f, 0x0012c0d4}}}, + {X: Field{[10]uint32{0x02c88be2, 0x009ead71, 0x025e2791, 0x008341bb, 0x03ea2c78, 0x020c1dd6, 0x0372759d, 0x003c0cee, 0x02a313e2, 0x00175be2}}, Y: Field{[10]uint32{0x017ad75d, 0x03954fc3, 0x012c2892, 0x023a9afe, 0x00edab6f, 0x02c22f08, 0x01aaf33a, 0x0353a31c, 0x018d8d56, 0x002b712c}}}, + {X: Field{[10]uint32{0x010964e3, 0x036b12ed, 0x02f76fd0, 0x01df7471, 0x00a99f08, 0x02502174, 0x0011b48d, 0x01101d2b, 0x0216e05c, 0x0038469b}}, Y: Field{[10]uint32{0x0282bfc8, 0x03efe2c1, 0x00c6f767, 0x0384e0c6, 0x0017adc6, 0x01bc2bc9, 0x02d5e259, 0x0350c386, 0x025b87a2, 0x0021f581}}}, + {X: Field{[10]uint32{0x02d1b844, 0x024d46e4, 0x02484f28, 0x020b05cf, 0x01c69c03, 0x004e22f1, 0x02b15c3c, 0x00357f21, 0x01c304a6, 0x003d5f4d}}, Y: Field{[10]uint32{0x01266837, 0x02eaef58, 0x01c6a464, 0x0080c245, 0x00700697, 0x027918d3, 0x004d3f5a, 0x03d365e4, 0x019ea98e, 0x001c1fcf}}}, + {X: Field{[10]uint32{0x021f51d3, 0x01c591ec, 0x03df8739, 0x0118b0e7, 0x0011f80d, 0x036842ea, 0x00d419b9, 0x02a5573a, 0x03216726, 0x001a9cfe}}, Y: Field{[10]uint32{0x01224b17, 0x00937669, 0x03774018, 0x011a2d82, 0x022db482, 0x025c844c, 0x02a7d294, 0x03cf09ff, 0x02fca1ed, 0x0013cf3b}}}, + {X: Field{[10]uint32{0x00c7cb09, 0x03401fcf, 0x03435234, 0x01a28746, 0x023bc7eb, 0x00f61c51, 0x016e1fee, 0x025297d6, 0x007a3a65, 0x0004f9d8}}, Y: Field{[10]uint32{0x00079160, 0x01d6a282, 0x036411be, 0x02ed9ad5, 0x0165eae2, 0x02cd0a67, 0x025fdd85, 0x02e2c78c, 0x008de8fb, 0x000a1372}}}, + {X: Field{[10]uint32{0x00288015, 0x00df98fb, 0x019cc39a, 0x014fbb72, 0x024673f8, 0x0016daa9, 0x01fac61a, 0x0379bda0, 0x02aad936, 0x002a8053}}, Y: Field{[10]uint32{0x02c1006f, 0x00539991, 0x00ad9df8, 0x001d0f3b, 0x03ef4b9b, 0x03dec3d8, 0x032a7e43, 0x02fa6b0f, 0x03c04636, 0x000f7a44}}}, + {X: Field{[10]uint32{0x00cdee05, 0x00338496, 0x003b9006, 0x02c85cbb, 0x01a8761f, 0x02c1a407, 0x000250b1, 0x020b9890, 0x03225681, 0x000a6fa8}}, Y: Field{[10]uint32{0x022651c8, 0x0280d669, 0x018e39e4, 0x02db231a, 0x03f9fc31, 0x021c17b1, 0x0009b3fb, 0x02683aa4, 0x01a2690e, 0x001f1036}}}, + {X: Field{[10]uint32{0x011d45f9, 0x02155e3c, 0x026144cf, 0x0379b1e5, 0x02ba4c1c, 0x01f6de5b, 0x022ef2c7, 0x0144ad3a, 0x03d35337, 0x000dabb8}}, Y: Field{[10]uint32{0x00febad4, 0x02eacfdf, 0x036069d3, 0x0342b11c, 0x00004b35, 0x01f263d5, 0x00b95470, 0x018271e7, 0x0235cd69, 0x0032ab76}}}, + {X: Field{[10]uint32{0x02f18ada, 0x01b1d584, 0x01bcc11b, 0x024eef6f, 0x01d460bd, 0x00cf5296, 0x0036faff, 0x02239f67, 0x006d2382, 0x003d485e}}, Y: Field{[10]uint32{0x03953516, 0x01a2bf48, 0x030981dd, 0x028db16f, 0x02aa5ef4, 0x03347475, 0x0026102b, 0x036d5fb3, 0x03bf6038, 0x00381a1b}}}, + {X: Field{[10]uint32{0x02d0e6bd, 0x01f839d0, 0x01e5313b, 0x018f6c3d, 0x03f774d1, 0x00135bb2, 0x022147c1, 0x0138960a, 0x0001243c, 0x000cc8b5}}, Y: Field{[10]uint32{0x0028b2a0, 0x00e8ba5b, 0x03af624f, 0x00fa8a1c, 0x032805f6, 0x0376be6d, 0x03019bc4, 0x013bd6fe, 0x0397e966, 0x0015b9c1}}}, + }, + { + {X: Field{[10]uint32{0x02d0e6bd, 0x01f839d0, 0x01e5313b, 0x018f6c3d, 0x03f774d1, 0x00135bb2, 0x022147c1, 0x0138960a, 0x0001243c, 0x000cc8b5}}, Y: Field{[10]uint32{0x0028b2a0, 0x00e8ba5b, 0x03af624f, 0x00fa8a1c, 0x032805f6, 0x0376be6d, 0x03019bc4, 0x013bd6fe, 0x0397e966, 0x0015b9c1}}}, + {X: Field{[10]uint32{0x00ade462, 0x025b4cb0, 0x00f29fc6, 0x0323ab6f, 0x010d4cdd, 0x01320335, 0x00ef31b0, 0x02f6b848, 0x000250ce, 0x00234988}}, Y: Field{[10]uint32{0x0326470c, 0x002a2e43, 0x00b3ad8e, 0x0139c99e, 0x021d4afb, 0x00fb8dae, 0x01f6f2dc, 0x03d0df4c, 0x03b4715b, 0x003afb4e}}}, + {X: Field{[10]uint32{0x019ab499, 0x0274fc81, 0x00330abd, 0x0271b9cf, 0x000b1329, 0x019fc06f, 0x02196b3c, 0x0016e974, 0x03f3015c, 0x001e2eab}}, Y: Field{[10]uint32{0x02e097fd, 0x0348c63f, 0x01199681, 0x03ba3449, 0x0291632e, 0x0360820b, 0x00a84e0e, 0x0302bebf, 0x00dbdb06, 0x002b52f7}}}, + {X: Field{[10]uint32{0x0116e633, 0x01190f85, 0x01c8b916, 0x00341cb6, 0x038ed493, 0x0165340e, 0x00068a1f, 0x02faa739, 0x00766eae, 0x00048e30}}, Y: Field{[10]uint32{0x037b7805, 0x036dca31, 0x0022805c, 0x00b731d0, 0x03094625, 0x0070f705, 0x00979e2d, 0x004d675b, 0x002dbb27, 0x0022a76c}}}, + {X: Field{[10]uint32{0x0106ace6, 0x00f85b3f, 0x020ca449, 0x00dbe0e8, 0x0223709b, 0x024a6ac6, 0x00b84984, 0x038f5308, 0x0211a14a, 0x001bdc3c}}, Y: Field{[10]uint32{0x0202d5de, 0x02fb4d2d, 0x005ee048, 0x019af96b, 0x00753295, 0x01ee67d4, 0x015d8f34, 0x01edcdbe, 0x02309402, 0x001e47a2}}}, + {X: Field{[10]uint32{0x01cd5379, 0x018ccc29, 0x03cadc30, 0x00e161c2, 0x032db794, 0x02a93488, 0x002481b8, 0x004e0a9e, 0x02d56bdd, 0x0005f01c}}, Y: Field{[10]uint32{0x0108cd25, 0x02b8146c, 0x02d0df7c, 0x01d8996e, 0x038959ac, 0x03c740d3, 0x03c1247a, 0x0281939d, 0x01f4283d, 0x0036406f}}}, + {X: Field{[10]uint32{0x00ee1b40, 0x03b8fb98, 0x02247dc8, 0x016dc7a5, 0x008ced48, 0x0040f335, 0x00949f19, 0x029057e0, 0x01b29d6a, 0x00385667}}, Y: Field{[10]uint32{0x038f93a6, 0x018997b5, 0x0199de1d, 0x01d2f0ca, 0x03a6363a, 0x028bf1f3, 0x02f894aa, 0x035283be, 0x02232a81, 0x001e4cd8}}}, + {X: Field{[10]uint32{0x008e7a66, 0x0005549e, 0x0021619b, 0x00a0ac3b, 0x01cddcd7, 0x029a846e, 0x032ea758, 0x0270579e, 0x030770cb, 0x0009c756}}, Y: Field{[10]uint32{0x003c9727, 0x035c9638, 0x0024e7a8, 0x038d422a, 0x03e2a065, 0x026b21df, 0x017d0994, 0x03d24791, 0x005834e7, 0x00174ea9}}}, + {X: Field{[10]uint32{0x01c00c3e, 0x037e8a12, 0x008e2f81, 0x000f2448, 0x01f00e8f, 0x03514616, 0x02562d33, 0x01a5590d, 0x00970440, 0x002ec2c1}}, Y: Field{[10]uint32{0x01955a35, 0x02a60b44, 0x0090a799, 0x013a4177, 0x02fe6704, 0x02ac6c14, 0x01d2fa17, 0x027d8d95, 0x005853af, 0x001019f9}}}, + {X: Field{[10]uint32{0x00a923b7, 0x03a1f62a, 0x01b30da1, 0x03bb6071, 0x02aef650, 0x020ce099, 0x00708ab6, 0x0269c150, 0x039b2199, 0x002b0ab2}}, Y: Field{[10]uint32{0x03cd20a6, 0x030492b5, 0x03a4fa2d, 0x02fc4b49, 0x0360b0d0, 0x004f67ac, 0x01afa0df, 0x01c93472, 0x028511c1, 0x001da110}}}, + {X: Field{[10]uint32{0x01dd32e6, 0x01d6e701, 0x01ee7e0e, 0x0146d4f9, 0x03c663b5, 0x01d697ef, 0x0249dbe0, 0x01e27a6d, 0x01554195, 0x00371690}}, Y: Field{[10]uint32{0x014a99b9, 0x01f6de9d, 0x01bcf80e, 0x0241db92, 0x002ff2ee, 0x006fd651, 0x00ea5e20, 0x019e9db7, 0x00a63f9f, 0x0012bcea}}}, + {X: Field{[10]uint32{0x022d8dae, 0x00f00632, 0x01ea9579, 0x03e47f49, 0x02ac32a5, 0x032c895b, 0x02b25ef9, 0x024be6e9, 0x00026211, 0x002209c7}}, Y: Field{[10]uint32{0x021e77d9, 0x009b03cf, 0x01099fb4, 0x01b71c5f, 0x00c30087, 0x016afd6b, 0x01c8b3ae, 0x01daa900, 0x01535071, 0x0035c677}}}, + {X: Field{[10]uint32{0x0144e7cb, 0x0116eb11, 0x020359ed, 0x0096d4a5, 0x01a10642, 0x004053a6, 0x03354a57, 0x00ee76f8, 0x01703987, 0x00055b86}}, Y: Field{[10]uint32{0x01250a37, 0x00e4b02b, 0x039cd6d5, 0x02357ad0, 0x009496d5, 0x00e0d2fa, 0x039572a6, 0x0241f6a4, 0x019f8f31, 0x001af023}}}, + {X: Field{[10]uint32{0x0089240f, 0x02eb7267, 0x03b858f5, 0x02ebe8b9, 0x0274f8c4, 0x01f8385d, 0x00ee0919, 0x01cce386, 0x010d652d, 0x00056e0e}}, Y: Field{[10]uint32{0x0326f04a, 0x03e7be38, 0x033352e2, 0x02ad7068, 0x01b30367, 0x01e967e6, 0x03dd7ccc, 0x023420ea, 0x020c8efe, 0x001e1b3c}}}, + {X: Field{[10]uint32{0x019853ca, 0x02f0a731, 0x03f54dbf, 0x01ae7c66, 0x0348e962, 0x0239c584, 0x00a76a22, 0x010e09af, 0x00cecb68, 0x00109a6f}}, Y: Field{[10]uint32{0x01b8d367, 0x0163bd4d, 0x028a3da9, 0x0297e796, 0x01fd3940, 0x010c6902, 0x0084ca9c, 0x005adc8f, 0x001a82c0, 0x003b4ac7}}}, + {X: Field{[10]uint32{0x0134ab83, 0x035d34a0, 0x03397721, 0x026bdd90, 0x00741b3f, 0x0259961a, 0x011770d8, 0x02df68af, 0x007d2de0, 0x002159cb}}, Y: Field{[10]uint32{0x010313a6, 0x00c253de, 0x00f44c8e, 0x03f314a6, 0x01e77f17, 0x0298b0b9, 0x034049bf, 0x02cbad8d, 0x039b5b43, 0x001f1206}}}, + }, + { + {X: Field{[10]uint32{0x0134ab83, 0x035d34a0, 0x03397721, 0x026bdd90, 0x00741b3f, 0x0259961a, 0x011770d8, 0x02df68af, 0x007d2de0, 0x002159cb}}, Y: Field{[10]uint32{0x010313a6, 0x00c253de, 0x00f44c8e, 0x03f314a6, 0x01e77f17, 0x0298b0b9, 0x034049bf, 0x02cbad8d, 0x039b5b43, 0x001f1206}}}, + {X: Field{[10]uint32{0x0317fc25, 0x02e42f07, 0x02d96998, 0x011b7cb9, 0x033b89ea, 0x01722987, 0x00186121, 0x027b00db, 0x036b740f, 0x0014d333}}, Y: Field{[10]uint32{0x03e86e76, 0x031fdbb3, 0x028ddd71, 0x01deff74, 0x010ae3d2, 0x00b550d5, 0x02ae3dd3, 0x00b76d18, 0x00b09c8b, 0x00355c57}}}, + {X: Field{[10]uint32{0x03ba9000, 0x001c8ea0, 0x028b6fdf, 0x0271a097, 0x01c4872f, 0x0210050f, 0x00876075, 0x036305a1, 0x00f9fff1, 0x002b0e1d}}, Y: Field{[10]uint32{0x0310cf0a, 0x00f1f65b, 0x029fa4da, 0x0035fd9b, 0x03085e35, 0x01045fe4, 0x022dde89, 0x0301a6e1, 0x012308a1, 0x002a997a}}}, + {X: Field{[10]uint32{0x00bee8b6, 0x01c248fa, 0x008d2c71, 0x011fb3ef, 0x0179020d, 0x023e2abb, 0x01e14201, 0x02dfcc20, 0x035cee87, 0x002a4747}}, Y: Field{[10]uint32{0x010644c1, 0x0345aa90, 0x03225003, 0x027d8a32, 0x02f80056, 0x0376b4ec, 0x03189c8d, 0x023b8569, 0x024ee2df, 0x001d228c}}}, + {X: Field{[10]uint32{0x0106dbd4, 0x001bd9bb, 0x00d081a6, 0x0215e288, 0x01ec0e3f, 0x0268f9ca, 0x0114075e, 0x01c04e6b, 0x00e7aa68, 0x0015c357}}, Y: Field{[10]uint32{0x011ed495, 0x016fb3af, 0x00bed5a6, 0x01b71918, 0x03b683a3, 0x007406ee, 0x0366e671, 0x000bd816, 0x0349420e, 0x0029ab94}}}, + {X: Field{[10]uint32{0x03ba402e, 0x0358c2c5, 0x02989ae5, 0x0170b410, 0x03c3b81a, 0x021238f0, 0x03ead0c4, 0x0280a962, 0x035cd18f, 0x0023a246}}, Y: Field{[10]uint32{0x00fad9e0, 0x02d89e71, 0x027ee8e1, 0x0090855e, 0x02af650c, 0x013ca8c1, 0x038d0e40, 0x0319a02c, 0x020e6a9e, 0x003974c3}}}, + {X: Field{[10]uint32{0x012d230e, 0x0307e482, 0x03928434, 0x02834a4c, 0x01daee32, 0x000d9bbd, 0x03c229ee, 0x022edbe1, 0x00702826, 0x001d6d7e}}, Y: Field{[10]uint32{0x011570b8, 0x032f7ef5, 0x038fb037, 0x02c01447, 0x020267a4, 0x01377ea3, 0x01787455, 0x02148d8f, 0x0221e3a7, 0x00149f33}}}, + {X: Field{[10]uint32{0x0184cf74, 0x02870956, 0x01f10aa1, 0x0116fbd8, 0x000735ae, 0x00b50e0f, 0x02214dde, 0x0238d706, 0x0023d90c, 0x00305723}}, Y: Field{[10]uint32{0x01ccb000, 0x0123360e, 0x015a2c4a, 0x00b542c0, 0x0247bf77, 0x0097f5ee, 0x01c6f45e, 0x0088d723, 0x00d82852, 0x000aea55}}}, + {X: Field{[10]uint32{0x034fcc0e, 0x01afdab0, 0x0084c47b, 0x0290af8e, 0x00927f10, 0x01f49672, 0x025b80e2, 0x037b0ac2, 0x02fae1ed, 0x00113f23}}, Y: Field{[10]uint32{0x019c420a, 0x03c0c79c, 0x0089d9cf, 0x0292f341, 0x03720e94, 0x020cf4f5, 0x01267e78, 0x004d9f92, 0x0294ba9b, 0x0034b1f7}}}, + {X: Field{[10]uint32{0x0142dea9, 0x004fc3a2, 0x03130584, 0x0232e2df, 0x02ab35a9, 0x0182a1ff, 0x006ad8ba, 0x0176d9e5, 0x02133428, 0x000559a1}}, Y: Field{[10]uint32{0x027be3df, 0x0151bc0d, 0x02dcbf92, 0x01a22c8f, 0x02de4828, 0x02c83f48, 0x02894eff, 0x03c14413, 0x03aa0e82, 0x0013cd65}}}, + {X: Field{[10]uint32{0x03b69991, 0x01207f22, 0x03175d5a, 0x028b0cc1, 0x01fffb3f, 0x0380bd4d, 0x02a16620, 0x01ef1a19, 0x0247bace, 0x0037a8ae}}, Y: Field{[10]uint32{0x016fe2df, 0x01d0aa7c, 0x019bc706, 0x02cd887b, 0x03229dcd, 0x013dee79, 0x01cbfec8, 0x00a392b1, 0x03d6d90c, 0x002b8a2f}}}, + {X: Field{[10]uint32{0x036bcfe8, 0x03b58794, 0x03bb3e61, 0x027b5a6d, 0x020e0c17, 0x001acc66, 0x02ca8f23, 0x02666d1c, 0x00bc1cc6, 0x0004ccbe}}, Y: Field{[10]uint32{0x02e78402, 0x00374b36, 0x0021451b, 0x009356a3, 0x01ba93b4, 0x017701a0, 0x0367c453, 0x00bb5c4f, 0x03ee2960, 0x0030e771}}}, + {X: Field{[10]uint32{0x014fc9cc, 0x01034094, 0x021658c2, 0x02f0a691, 0x0226d00a, 0x012e2a0d, 0x001cf6cc, 0x01a35bbf, 0x0098a6e1, 0x000e5a3f}}, Y: Field{[10]uint32{0x03ad37dd, 0x00e52257, 0x03334019, 0x01dbfe23, 0x011a1465, 0x02ab4cb2, 0x037982d1, 0x0164a048, 0x03d0db4b, 0x001e272e}}}, + {X: Field{[10]uint32{0x00cc84bf, 0x00ebcf85, 0x01f27c02, 0x01b7bae8, 0x0380bf1d, 0x030a9254, 0x00e37159, 0x00205a0c, 0x01364e54, 0x002d775a}}, Y: Field{[10]uint32{0x0374750c, 0x01485f38, 0x01a90c78, 0x037b75ac, 0x01353110, 0x01635051, 0x0118733c, 0x032dadaf, 0x005853c7, 0x0012cdbb}}}, + {X: Field{[10]uint32{0x020c85f1, 0x0308646b, 0x03a250ae, 0x014d80e8, 0x01a6a52e, 0x015e5175, 0x0325df09, 0x01a8a49a, 0x010698e0, 0x001a25a4}}, Y: Field{[10]uint32{0x01c1de21, 0x01208ccb, 0x003922c7, 0x02768354, 0x011f40c1, 0x021175cb, 0x03305c1d, 0x025e495b, 0x03b4b38c, 0x002bbf4f}}}, + {X: Field{[10]uint32{0x00c82a0a, 0x02566bd8, 0x00832ffd, 0x03183d9a, 0x010f9226, 0x006504ec, 0x006c9f19, 0x022291ac, 0x03809b19, 0x0002522f}}, Y: Field{[10]uint32{0x00c8e589, 0x02dfe236, 0x012bed4c, 0x002325f3, 0x006d4dff, 0x0070d063, 0x02b74c5d, 0x01991b71, 0x02856dcb, 0x0014e958}}}, + }, + { + {X: Field{[10]uint32{0x00c82a0a, 0x02566bd8, 0x00832ffd, 0x03183d9a, 0x010f9226, 0x006504ec, 0x006c9f19, 0x022291ac, 0x03809b19, 0x0002522f}}, Y: Field{[10]uint32{0x00c8e589, 0x02dfe236, 0x012bed4c, 0x002325f3, 0x006d4dff, 0x0070d063, 0x02b74c5d, 0x01991b71, 0x02856dcb, 0x0014e958}}}, + {X: Field{[10]uint32{0x028b000a, 0x03ac115f, 0x01e51396, 0x00cc7a09, 0x02ef16c1, 0x00a47c2d, 0x01ce4c66, 0x0164d835, 0x007f372e, 0x0009a54b}}, Y: Field{[10]uint32{0x01ef705a, 0x035007c1, 0x027318c3, 0x023d94f5, 0x02debe39, 0x035a2108, 0x03c893d2, 0x029a218a, 0x024c5800, 0x003d44fa}}}, + {X: Field{[10]uint32{0x00c8ac7f, 0x00bf97ee, 0x02a52728, 0x03b9978a, 0x01641242, 0x0015be12, 0x003396d2, 0x00aef2d7, 0x02fbe382, 0x0026516c}}, Y: Field{[10]uint32{0x01aea3b0, 0x0250e85a, 0x00dfa96d, 0x008fbb6b, 0x01282f7a, 0x02ca3bfd, 0x03db44ff, 0x00a0b581, 0x01824b0f, 0x000fbbfb}}}, + {X: Field{[10]uint32{0x02134f96, 0x0096225d, 0x030e9f10, 0x0195cb5a, 0x03f52119, 0x00c7fc90, 0x032be8b1, 0x0316f6fb, 0x00e6fc23, 0x00318b96}}, Y: Field{[10]uint32{0x014cf97e, 0x01dfb534, 0x01c3e822, 0x00d58dcc, 0x01bcfb85, 0x00c507f1, 0x03d67675, 0x02859e30, 0x027d45b1, 0x0010e5e0}}}, + {X: Field{[10]uint32{0x029e353a, 0x035e78e5, 0x021f6ed1, 0x00214aef, 0x0210a044, 0x0041f57f, 0x01f82227, 0x01c3988d, 0x006b2058, 0x000a8c53}}, Y: Field{[10]uint32{0x01746067, 0x0249b879, 0x018bfc25, 0x02ab6c99, 0x00138a54, 0x02ea86e8, 0x0063e476, 0x009eb069, 0x000bf35a, 0x0005692b}}}, + {X: Field{[10]uint32{0x02fccf64, 0x02926624, 0x0318e3ba, 0x03789604, 0x033bd278, 0x01f2576f, 0x028772c7, 0x018df6c1, 0x015c0eb4, 0x00031f44}}, Y: Field{[10]uint32{0x0078fee0, 0x01b4ecca, 0x0268d53f, 0x020e566b, 0x0148785d, 0x01e2bc51, 0x02424b84, 0x02c111ea, 0x007b1925, 0x0012aa1d}}}, + {X: Field{[10]uint32{0x01b84966, 0x00bd27ba, 0x03ff989e, 0x001b75fc, 0x011b4f41, 0x029adb24, 0x00b6faf3, 0x03f0b526, 0x0100b703, 0x00165669}}, Y: Field{[10]uint32{0x03473a6a, 0x0198c861, 0x0242640a, 0x030233f8, 0x009100dc, 0x03720a9c, 0x00312820, 0x02a25fe5, 0x02741f5c, 0x0000dc39}}}, + {X: Field{[10]uint32{0x03188cbb, 0x01be2002, 0x01e97368, 0x0080201f, 0x00b81c03, 0x005988ac, 0x003329a7, 0x0171d05a, 0x00520eec, 0x00041d18}}, Y: Field{[10]uint32{0x03272124, 0x01ed8d87, 0x03da601d, 0x01d23738, 0x01242e0d, 0x033d5284, 0x0326b9b9, 0x016630d4, 0x00c09a21, 0x002af975}}}, + {X: Field{[10]uint32{0x03c6b173, 0x0326e48a, 0x03feb3b0, 0x00f1fbb4, 0x017dd862, 0x0016d7e7, 0x0160c463, 0x00bfa384, 0x01393722, 0x0027bacc}}, Y: Field{[10]uint32{0x0323a71d, 0x02588365, 0x00c4b953, 0x02fb439c, 0x030ea71a, 0x02ee86b8, 0x02aabfdb, 0x03563654, 0x01e0110e, 0x0038487c}}}, + {X: Field{[10]uint32{0x02d2cf25, 0x03a6f24a, 0x03a94457, 0x0136f249, 0x037ba49b, 0x009ecf0b, 0x011e80ba, 0x02a72c63, 0x029bf3da, 0x00148366}}, Y: Field{[10]uint32{0x0285181f, 0x02db20e8, 0x030c7610, 0x019446fd, 0x022bab0b, 0x012ea5c1, 0x030ae71b, 0x007ab923, 0x009b1027, 0x003949bd}}}, + {X: Field{[10]uint32{0x02c805f3, 0x00910fdf, 0x01591577, 0x01d42766, 0x007de40f, 0x001ba5e2, 0x02bb2388, 0x0063d45b, 0x03e4c7f7, 0x000e7313}}, Y: Field{[10]uint32{0x023c48d3, 0x0068304e, 0x012e4d19, 0x00dcff24, 0x01bbb957, 0x03d0b79f, 0x01e6693c, 0x03e3cc54, 0x032c5a46, 0x003b2c51}}}, + {X: Field{[10]uint32{0x008d5622, 0x02baeb15, 0x03d2e8b5, 0x03bde946, 0x03e1db07, 0x02fcce06, 0x01586a81, 0x0254d68e, 0x011e6168, 0x0017f1b0}}, Y: Field{[10]uint32{0x01ac1683, 0x03610040, 0x03f300d0, 0x00239b1e, 0x030e05ad, 0x000d9eb2, 0x019ba2db, 0x03676e70, 0x02549aa1, 0x00043a03}}}, + {X: Field{[10]uint32{0x0222580e, 0x018bed73, 0x0388793d, 0x025b4b5b, 0x02c71328, 0x0136f534, 0x012ffde6, 0x0371a5a2, 0x007466ec, 0x003e5320}}, Y: Field{[10]uint32{0x0127db82, 0x0148fd9c, 0x01d4e81e, 0x0114c8dc, 0x029887ec, 0x02d6a07d, 0x014bff6a, 0x00896a46, 0x03dc6785, 0x0017a71f}}}, + {X: Field{[10]uint32{0x00a3d8a5, 0x02ad81f0, 0x02f99123, 0x01a115cf, 0x0126d77d, 0x00fb426b, 0x031274a3, 0x035ba4d0, 0x03e5d872, 0x0016a90c}}, Y: Field{[10]uint32{0x013c2ba7, 0x03dfbddb, 0x02ef4fb5, 0x03d4b675, 0x0116475c, 0x01ca2958, 0x02394aec, 0x039e6866, 0x01fc682a, 0x003773a8}}}, + {X: Field{[10]uint32{0x00c4f21f, 0x0102eb44, 0x01a7a6be, 0x0165340f, 0x025024a9, 0x02c66674, 0x0002068d, 0x03458bf3, 0x006c6ad5, 0x0023332e}}, Y: Field{[10]uint32{0x029dfea0, 0x0049ba9c, 0x03e28f7f, 0x02b20992, 0x014b92dc, 0x0321d629, 0x01bef549, 0x00710da6, 0x02586275, 0x0015fe25}}}, + {X: Field{[10]uint32{0x038fd8e8, 0x0336067c, 0x0352acce, 0x0137f1a5, 0x00f1b0e4, 0x000a1cea, 0x0067ce0f, 0x00070d3c, 0x027f4618, 0x00189833}}, Y: Field{[10]uint32{0x02b4ae17, 0x0213a56c, 0x00198c1a, 0x008e0147, 0x03ecd292, 0x01da87bd, 0x03090497, 0x02d5c69f, 0x002b6fa5, 0x002f0b6a}}}, + }, + { + {X: Field{[10]uint32{0x038fd8e8, 0x0336067c, 0x0352acce, 0x0137f1a5, 0x00f1b0e4, 0x000a1cea, 0x0067ce0f, 0x00070d3c, 0x027f4618, 0x00189833}}, Y: Field{[10]uint32{0x02b4ae17, 0x0213a56c, 0x00198c1a, 0x008e0147, 0x03ecd292, 0x01da87bd, 0x03090497, 0x02d5c69f, 0x002b6fa5, 0x002f0b6a}}}, + {X: Field{[10]uint32{0x01477c2d, 0x019d1bcf, 0x0127e076, 0x01465aab, 0x0316e65c, 0x0213c684, 0x008409be, 0x0069cf7b, 0x024748ad, 0x00217636}}, Y: Field{[10]uint32{0x03d1dd70, 0x02605bf1, 0x015a6207, 0x0080cf13, 0x0094b0a0, 0x007bf1ef, 0x02b53653, 0x019a4161, 0x0353665c, 0x00162522}}}, + {X: Field{[10]uint32{0x01136602, 0x02e91950, 0x03a5bbb0, 0x01203678, 0x0138c46f, 0x008ccecf, 0x0058937f, 0x037f0cf4, 0x03280482, 0x0021f449}}, Y: Field{[10]uint32{0x00af6aac, 0x020f1076, 0x03f7c4f6, 0x01d1bf4e, 0x0387a884, 0x03d9dd14, 0x02a276cf, 0x000f7a49, 0x00870a5a, 0x001c7389}}}, + {X: Field{[10]uint32{0x000b80d9, 0x000c4b5b, 0x007f0485, 0x00403f71, 0x024d1e7e, 0x030fb8fb, 0x00892e9c, 0x012e5a30, 0x0166e7ec, 0x00238a9c}}, Y: Field{[10]uint32{0x02b29f50, 0x0187cab5, 0x0349a49c, 0x02235c18, 0x005297b6, 0x005aa752, 0x02dd29b7, 0x02f964b3, 0x03a9ae2c, 0x003ab6c2}}}, + {X: Field{[10]uint32{0x00c5a916, 0x00175cd2, 0x010f25b2, 0x00354d58, 0x013f5c44, 0x02ad52a8, 0x00acc63d, 0x03a5d1ac, 0x013fe261, 0x003f575f}}, Y: Field{[10]uint32{0x02db8bda, 0x02cdec1e, 0x02faab14, 0x0052f73d, 0x03e5d738, 0x0271ed4b, 0x0343ca67, 0x016c1f4a, 0x02d0eeb5, 0x0003760f}}}, + {X: Field{[10]uint32{0x00e74459, 0x028d722c, 0x036dd674, 0x018e1f76, 0x01fef237, 0x004f22a4, 0x00f46587, 0x015a0164, 0x001d4ec0, 0x000a37de}}, Y: Field{[10]uint32{0x035e656f, 0x001f303b, 0x02f0a8de, 0x029406b9, 0x00a3795b, 0x003c89e5, 0x00db1789, 0x003c5f2c, 0x02a66a13, 0x003c5267}}}, + {X: Field{[10]uint32{0x01f7529c, 0x0264258d, 0x011dd45d, 0x0262d6f5, 0x0138765b, 0x034d10e0, 0x02453c32, 0x009848ae, 0x0010981c, 0x00378375}}, Y: Field{[10]uint32{0x00cd88fe, 0x008300b9, 0x0374063c, 0x031a226d, 0x00178924, 0x035e8d5c, 0x02109822, 0x00517e6c, 0x029d10a2, 0x0035c29b}}}, + {X: Field{[10]uint32{0x004561be, 0x007e8f4b, 0x0190f992, 0x03a04d67, 0x00ee4ab2, 0x01e3e254, 0x00366ecd, 0x03d63b72, 0x035842bf, 0x001da6f1}}, Y: Field{[10]uint32{0x00d9685f, 0x0082ffec, 0x033add59, 0x01d9ede1, 0x0341a177, 0x01cfd751, 0x01ce4cef, 0x020eeb23, 0x03362fe7, 0x0012fe05}}}, + {X: Field{[10]uint32{0x00f76d11, 0x00bd234e, 0x015573c8, 0x003efe14, 0x02151100, 0x0270a4a8, 0x005befc3, 0x03d139a7, 0x008ada4c, 0x002c9b08}}, Y: Field{[10]uint32{0x03b7356b, 0x03002c78, 0x0224bdc1, 0x01967609, 0x03050030, 0x0033590c, 0x004e87d9, 0x034cf3c3, 0x00820949, 0x0007c73e}}}, + {X: Field{[10]uint32{0x008e129e, 0x00e76825, 0x01b10312, 0x02cb00a2, 0x032bd1df, 0x0394f0b7, 0x00f8de28, 0x0133debc, 0x00efb7b2, 0x0019b8ff}}, Y: Field{[10]uint32{0x02e7bbea, 0x02f0d80b, 0x03b5172b, 0x027b4694, 0x035fd7d9, 0x0337e032, 0x00b5bf34, 0x0303d966, 0x034fb770, 0x00082fe2}}}, + {X: Field{[10]uint32{0x029e22db, 0x038ec199, 0x00933f94, 0x03d67e72, 0x02ac993f, 0x00630a53, 0x023bd290, 0x03d48e9f, 0x00b8fc7f, 0x003f3ac5}}, Y: Field{[10]uint32{0x002260a1, 0x01cb6c97, 0x03e4cbf5, 0x01e4e93a, 0x00ad550e, 0x0097c249, 0x018a5a75, 0x02e347f3, 0x033a40d6, 0x00192a9a}}}, + {X: Field{[10]uint32{0x01c71143, 0x0367714a, 0x017ea346, 0x02b113c1, 0x012e7ead, 0x0008fe8d, 0x027ccf90, 0x03a840f2, 0x039622bb, 0x0003ad17}}, Y: Field{[10]uint32{0x0370b136, 0x02336882, 0x01bf4c8a, 0x03a9a8ac, 0x03d65969, 0x00078a15, 0x03601f59, 0x02f43d5c, 0x03585838, 0x0014b10b}}}, + {X: Field{[10]uint32{0x038a2755, 0x02105e68, 0x005506f0, 0x01c59527, 0x0253721a, 0x02d41fea, 0x00175774, 0x0172b157, 0x02623ccd, 0x0013a426}}, Y: Field{[10]uint32{0x03cca3de, 0x02927d88, 0x0000caf7, 0x025348a6, 0x03b6cd53, 0x001d5676, 0x03246dd5, 0x00d6bb3b, 0x02878cce, 0x002b95b6}}}, + {X: Field{[10]uint32{0x0007d7c8, 0x0345234f, 0x0232f00c, 0x01d7e0a7, 0x01e0f196, 0x03cf5226, 0x0070411b, 0x02dcf5a1, 0x008ab230, 0x000f3e48}}, Y: Field{[10]uint32{0x024cee08, 0x02a476b6, 0x0059c0c4, 0x032356e3, 0x009d4684, 0x017059c8, 0x02ce6ca6, 0x02197547, 0x024c15af, 0x003780f1}}}, + {X: Field{[10]uint32{0x003ba64d, 0x01625666, 0x015a3a82, 0x01de2316, 0x02bde60f, 0x02e39038, 0x030a145e, 0x01300efe, 0x015c22e0, 0x0030d9d1}}, Y: Field{[10]uint32{0x022181fd, 0x03323e5a, 0x00f14614, 0x02b285de, 0x0342626a, 0x01365931, 0x00e0e6e8, 0x0180cc20, 0x02d069cb, 0x000e9482}}}, + {X: Field{[10]uint32{0x0037fa2d, 0x00f32348, 0x01c43295, 0x03d5d6ff, 0x03043ec8, 0x02efd040, 0x00348414, 0x036350f6, 0x01e0afc1, 0x003940df}}, Y: Field{[10]uint32{0x01755bda, 0x01772107, 0x01f10e0e, 0x000fb120, 0x01bd5f5b, 0x02e642f7, 0x0398d09f, 0x034ed7e7, 0x034baa94, 0x00115c54}}}, + }, + { + {X: Field{[10]uint32{0x0037fa2d, 0x00f32348, 0x01c43295, 0x03d5d6ff, 0x03043ec8, 0x02efd040, 0x00348414, 0x036350f6, 0x01e0afc1, 0x003940df}}, Y: Field{[10]uint32{0x01755bda, 0x01772107, 0x01f10e0e, 0x000fb120, 0x01bd5f5b, 0x02e642f7, 0x0398d09f, 0x034ed7e7, 0x034baa94, 0x00115c54}}}, + {X: Field{[10]uint32{0x023d34ef, 0x00f231e7, 0x02ddb8c6, 0x01f1e4a8, 0x02c3ab21, 0x00b586cf, 0x00b6cf7d, 0x015253d0, 0x01a467fd, 0x00297803}}, Y: Field{[10]uint32{0x037adb4c, 0x0171738b, 0x000acb85, 0x03f9e424, 0x025b60dc, 0x026fd0f4, 0x01726fe9, 0x02155508, 0x01f5e560, 0x000263f9}}}, + {X: Field{[10]uint32{0x037e7775, 0x02a29b85, 0x015f6388, 0x024e23b6, 0x02b5e155, 0x03d4a46b, 0x00543bac, 0x00cf3b96, 0x023aff96, 0x0027625a}}, Y: Field{[10]uint32{0x02056691, 0x03db4eae, 0x0253befc, 0x01fb8a64, 0x01e899cd, 0x0094249f, 0x02964ed7, 0x02fc2e53, 0x01e43f49, 0x0037646a}}}, + {X: Field{[10]uint32{0x03b91252, 0x00dc5835, 0x0172ae67, 0x00b911dd, 0x006d4afd, 0x0326fef1, 0x019f4bb1, 0x00ad00d4, 0x01f5ef3a, 0x002a6505}}, Y: Field{[10]uint32{0x03edc264, 0x00ddeb12, 0x00ddd73a, 0x02b5643d, 0x02899a16, 0x013dbdad, 0x022f10f2, 0x03e12ee7, 0x024cae81, 0x0020b439}}}, + {X: Field{[10]uint32{0x002a3293, 0x0381378f, 0x0076c5fd, 0x01bba40d, 0x015688b8, 0x00a0bd33, 0x02b0a573, 0x00de4b43, 0x00ee7116, 0x0020c9ee}}, Y: Field{[10]uint32{0x020df9bd, 0x02153863, 0x02a416bc, 0x02d3b8c9, 0x0096afda, 0x009e5c21, 0x03b3ea66, 0x02a63862, 0x02266ee0, 0x0001265f}}}, + {X: Field{[10]uint32{0x00904ed3, 0x015fc7a3, 0x01784159, 0x01624161, 0x00df2a74, 0x0049c8e1, 0x03f8e643, 0x00637fe5, 0x002d2db8, 0x000033e3}}, Y: Field{[10]uint32{0x016f77c1, 0x02658ede, 0x02827b00, 0x01e74cbd, 0x0122991d, 0x0146f604, 0x01d5c1bd, 0x03510467, 0x000ea781, 0x002aab40}}}, + {X: Field{[10]uint32{0x0162c042, 0x006c9b11, 0x03b1a242, 0x008d2e37, 0x02092d23, 0x03e6a3b5, 0x016661d8, 0x02c5a25f, 0x02aa2a6d, 0x0016b90a}}, Y: Field{[10]uint32{0x0379269c, 0x017337e3, 0x018dbf90, 0x025441f3, 0x0294e0db, 0x000e2752, 0x01c1ddc6, 0x00147aad, 0x027c05ff, 0x0026764e}}}, + {X: Field{[10]uint32{0x02540f17, 0x01196d9a, 0x0132bd8c, 0x01c17c30, 0x004c750d, 0x023e4d7e, 0x00edde09, 0x0347f1f6, 0x029f9e4f, 0x002d5bd3}}, Y: Field{[10]uint32{0x0200102d, 0x00bf2b80, 0x0285446a, 0x018f2f32, 0x0121d429, 0x00160b47, 0x01c11adf, 0x02a15b4f, 0x013429cc, 0x000cba39}}}, + {X: Field{[10]uint32{0x0285af61, 0x02204a17, 0x02766b34, 0x008b752b, 0x034e8ed7, 0x01b086c3, 0x02eb68ff, 0x0323ad66, 0x02e426a1, 0x0024b08e}}, Y: Field{[10]uint32{0x036a2b09, 0x008d9a70, 0x02fed4e7, 0x020ad8a1, 0x012d23ad, 0x01ce355e, 0x03217d5c, 0x006ed027, 0x008f0155, 0x0010533e}}}, + {X: Field{[10]uint32{0x01e5d1b3, 0x02a92096, 0x02a3e280, 0x0227f5b2, 0x0048c9b7, 0x003f36cc, 0x027e4c6f, 0x0120ef47, 0x0151caf6, 0x000eae94}}, Y: Field{[10]uint32{0x02f30087, 0x02d9e350, 0x02ee6a85, 0x01674b79, 0x01e18463, 0x01f5cb32, 0x024ec804, 0x01474241, 0x0223bff2, 0x0023079c}}}, + {X: Field{[10]uint32{0x03b5eba8, 0x02bc6cb1, 0x02a36ce2, 0x031fe463, 0x022dabed, 0x02be37d0, 0x010f4176, 0x037c4223, 0x008c76af, 0x003fb958}}, Y: Field{[10]uint32{0x010b9b5c, 0x00574da3, 0x014793f5, 0x010afe41, 0x02e380ff, 0x00a1f053, 0x01402f99, 0x0162bec4, 0x019134fe, 0x000e01d6}}}, + {X: Field{[10]uint32{0x00f8cffd, 0x02d66223, 0x01ae61b2, 0x0056de91, 0x01432e6b, 0x01e6f762, 0x01afb88f, 0x02306f51, 0x037f1fe7, 0x00002026}}, Y: Field{[10]uint32{0x01b5f32f, 0x03516863, 0x01f93d91, 0x03eb64ae, 0x0112a340, 0x0394bf72, 0x008c836d, 0x02a18c0a, 0x0022bf41, 0x003e05f8}}}, + {X: Field{[10]uint32{0x0063caf4, 0x00ee92cf, 0x03d5281e, 0x02aca3d4, 0x00a28ff3, 0x018a9abf, 0x02113b4c, 0x019f9882, 0x00eb92e6, 0x0010b951}}, Y: Field{[10]uint32{0x029c29c8, 0x02bb0265, 0x005f1187, 0x01edafbf, 0x0073a50e, 0x01d0579e, 0x01f220c1, 0x0319c7dc, 0x00e0f91c, 0x0027fe15}}}, + {X: Field{[10]uint32{0x03ed9ef9, 0x006417bd, 0x0063d6c6, 0x02803bc3, 0x02ad2ba5, 0x01ff064a, 0x01f78494, 0x03529d07, 0x02ddd352, 0x000cb779}}, Y: Field{[10]uint32{0x031fb871, 0x02e11a00, 0x034b21ab, 0x00de7263, 0x0059ec1b, 0x0356307d, 0x036a4f94, 0x019ef388, 0x03dc3420, 0x0010745e}}}, + {X: Field{[10]uint32{0x020f09a1, 0x00af6617, 0x0328380a, 0x03c6e500, 0x02f0a109, 0x011c03bf, 0x0196ed2a, 0x00b38e0e, 0x03b66553, 0x001ebb60}}, Y: Field{[10]uint32{0x01857d73, 0x036337a1, 0x00a54045, 0x00c03cfd, 0x02d88b2f, 0x0040cb63, 0x01afd0ab, 0x03bdf1f7, 0x005f9a31, 0x003d6e15}}}, + {X: Field{[10]uint32{0x00fce725, 0x019a82b9, 0x005b7258, 0x03471a9b, 0x00e7e8db, 0x03c5dc6d, 0x02a905e8, 0x001eb7d7, 0x02b0f4a2, 0x003818dc}}, Y: Field{[10]uint32{0x02ee31dd, 0x000d3e53, 0x00870b27, 0x01de1c41, 0x00d7484a, 0x03569223, 0x0227bb2a, 0x0233f84a, 0x0174bce1, 0x001ea422}}}, + }, + { + {X: Field{[10]uint32{0x00fce725, 0x019a82b9, 0x005b7258, 0x03471a9b, 0x00e7e8db, 0x03c5dc6d, 0x02a905e8, 0x001eb7d7, 0x02b0f4a2, 0x003818dc}}, Y: Field{[10]uint32{0x02ee31dd, 0x000d3e53, 0x00870b27, 0x01de1c41, 0x00d7484a, 0x03569223, 0x0227bb2a, 0x0233f84a, 0x0174bce1, 0x001ea422}}}, + {X: Field{[10]uint32{0x02d2ff3e, 0x026bb90f, 0x02d3cfe0, 0x036d3b1b, 0x00045ebf, 0x03eb4fcf, 0x00dbd304, 0x01ae3e72, 0x034ca204, 0x0003ab04}}, Y: Field{[10]uint32{0x01210988, 0x0081881f, 0x01376e17, 0x025adfc8, 0x01ac19f6, 0x00ac45e6, 0x03f103bf, 0x026d0916, 0x01be7935, 0x001258c3}}}, + {X: Field{[10]uint32{0x02328d6a, 0x02a06236, 0x0018bdba, 0x00ea56b7, 0x03b24d77, 0x016c23e9, 0x00689918, 0x0138028d, 0x005ba623, 0x003198f0}}, Y: Field{[10]uint32{0x02c9b8c0, 0x002edaaf, 0x039cc23b, 0x03a944af, 0x03dd8551, 0x01d5c4c5, 0x01afdcf2, 0x0070e34e, 0x018d5f72, 0x000ccc7a}}}, + {X: Field{[10]uint32{0x03bfa4dc, 0x01c1b937, 0x01b17476, 0x01e01321, 0x03f5948a, 0x02b6ed07, 0x012119d7, 0x03a8660e, 0x0190731f, 0x00359e21}}, Y: Field{[10]uint32{0x013b5406, 0x02f35aef, 0x0207cca7, 0x03137726, 0x026206f1, 0x008704ea, 0x00ef5c6d, 0x018f1250, 0x00c89d50, 0x000a3aaa}}}, + {X: Field{[10]uint32{0x0196de2f, 0x0072120e, 0x01114bc9, 0x00bb82c9, 0x0177cedf, 0x0283f93a, 0x02b30dee, 0x01a91673, 0x0282dfb8, 0x0034ff09}}, Y: Field{[10]uint32{0x00526f8c, 0x02489075, 0x03f168c4, 0x02637dea, 0x024e59b4, 0x013de076, 0x00b4754d, 0x002863da, 0x0399a45f, 0x00313c37}}}, + {X: Field{[10]uint32{0x02143fb0, 0x00d69958, 0x005dd6dc, 0x020c2f08, 0x03a9fb92, 0x011e6565, 0x03aff339, 0x020de433, 0x001c33af, 0x000a4ab7}}, Y: Field{[10]uint32{0x036ad01c, 0x036d8f38, 0x01d4d8a9, 0x00b5cd7a, 0x02d83e66, 0x03313b3d, 0x031968a0, 0x02d91fcf, 0x021bcee0, 0x00281c99}}}, + {X: Field{[10]uint32{0x03e697ea, 0x03123440, 0x003e85c6, 0x03ee617e, 0x019ce678, 0x028feaf4, 0x00a1fec9, 0x03008df7, 0x0343feb2, 0x00305e92}}, Y: Field{[10]uint32{0x02dc6c87, 0x00ee1f77, 0x002ab0ee, 0x02d5fe7c, 0x0296e1a1, 0x025807eb, 0x02178f71, 0x0165532b, 0x002d55ab, 0x000e4d57}}}, + {X: Field{[10]uint32{0x008ff9b3, 0x017ed039, 0x0301a727, 0x00815666, 0x03c7b1a6, 0x00adc752, 0x03f210f1, 0x01025d2a, 0x00cbd9a0, 0x001a4c3f}}, Y: Field{[10]uint32{0x02e96a4e, 0x036ad7e3, 0x0051acfd, 0x004f92b3, 0x00090f9b, 0x01d7db5e, 0x030fcdb8, 0x0007ab68, 0x0294b947, 0x001fc0ab}}}, + {X: Field{[10]uint32{0x0163da1b, 0x00b0c08c, 0x0231182d, 0x03983e4e, 0x029a0ede, 0x03f047f7, 0x009349d7, 0x0242d1a3, 0x037ca267, 0x0023d862}}, Y: Field{[10]uint32{0x03bdd76e, 0x00c48440, 0x036e7c7f, 0x01a8c926, 0x026450c6, 0x01eb1690, 0x03bda74d, 0x03adbad7, 0x0325f08b, 0x001e08cf}}}, + {X: Field{[10]uint32{0x010cec10, 0x02c26d53, 0x016b084f, 0x03f2ab7b, 0x02ba25f0, 0x00b4f39c, 0x02b0e61b, 0x0079a6ba, 0x029ca332, 0x0013654a}}, Y: Field{[10]uint32{0x03d06932, 0x00dac4ee, 0x014da8ee, 0x037f213d, 0x02ba4aa2, 0x01ed72d3, 0x002aec78, 0x009e7915, 0x004a66dd, 0x002c5e06}}}, + {X: Field{[10]uint32{0x02c8ae90, 0x01643f83, 0x005deee8, 0x024ba2ef, 0x00cfb26b, 0x0320fc6e, 0x02d5b8da, 0x0079bae1, 0x00f15b7a, 0x0025e630}}, Y: Field{[10]uint32{0x012844d3, 0x02b0bab9, 0x008e27a9, 0x016f40c6, 0x02e2e496, 0x03e71cef, 0x02ec9494, 0x00bb4f74, 0x02aa75a4, 0x002e9038}}}, + {X: Field{[10]uint32{0x00b90e0b, 0x03079b0c, 0x00a4589e, 0x00e7ec25, 0x03d6ff1d, 0x02719d6c, 0x01c804a5, 0x019f4ffb, 0x03f9ad54, 0x00290d41}}, Y: Field{[10]uint32{0x021fdc20, 0x0002e64e, 0x01b5a3f0, 0x00d94d66, 0x00dc2a20, 0x0102fa30, 0x02d07ccb, 0x035c6850, 0x01c94c3f, 0x001f23cb}}}, + {X: Field{[10]uint32{0x01d66b7f, 0x0065e3c4, 0x01c8105a, 0x0141461f, 0x017aa692, 0x0224a11d, 0x00f1b90b, 0x00b59d1f, 0x02e3fb5a, 0x003f7e9b}}, Y: Field{[10]uint32{0x00e5178b, 0x023e019e, 0x00de9daa, 0x03744f5e, 0x00d846f9, 0x00f68631, 0x000c1c9a, 0x02636e4f, 0x031e2249, 0x0013673c}}}, + {X: Field{[10]uint32{0x01c0d7ad, 0x01ad6196, 0x0093ab83, 0x036de8ad, 0x011ddb64, 0x01d2799c, 0x0211ca1a, 0x03eeebbf, 0x02cd4b7b, 0x001cac13}}, Y: Field{[10]uint32{0x0323cd97, 0x039bfd19, 0x034fb2ef, 0x01a0771b, 0x0196265d, 0x0364d340, 0x01d452d6, 0x028d633b, 0x03ea0e64, 0x001a196c}}}, + {X: Field{[10]uint32{0x0265bcf0, 0x01d5e124, 0x03d30b80, 0x01e10471, 0x0269ce2b, 0x0073c883, 0x01ea9a46, 0x02790eb7, 0x0238de22, 0x003f5633}}, Y: Field{[10]uint32{0x03996292, 0x039ea73a, 0x00d1df33, 0x03f8a3c7, 0x0387261b, 0x0121793e, 0x0382ab9a, 0x00856f54, 0x01e53763, 0x003ff829}}}, + {X: Field{[10]uint32{0x00559754, 0x035a4234, 0x0358540a, 0x03778a8f, 0x0204b10b, 0x03033808, 0x010bbf9d, 0x03514d63, 0x02715cd5, 0x00084f1e}}, Y: Field{[10]uint32{0x00b458f2, 0x00b09d4d, 0x03eeddff, 0x03d7cda9, 0x00bb4850, 0x0116e864, 0x013ad062, 0x018941c0, 0x010b5ae4, 0x0012db6b}}}, + }, + { + {X: Field{[10]uint32{0x00559754, 0x035a4234, 0x0358540a, 0x03778a8f, 0x0204b10b, 0x03033808, 0x010bbf9d, 0x03514d63, 0x02715cd5, 0x00084f1e}}, Y: Field{[10]uint32{0x00b458f2, 0x00b09d4d, 0x03eeddff, 0x03d7cda9, 0x00bb4850, 0x0116e864, 0x013ad062, 0x018941c0, 0x010b5ae4, 0x0012db6b}}}, + {X: Field{[10]uint32{0x02c87fac, 0x00e25783, 0x03cf0899, 0x01d188b9, 0x020d1ab9, 0x00c8d203, 0x02e9fed8, 0x0269fd9a, 0x008132b4, 0x00071795}}, Y: Field{[10]uint32{0x03c2d4ef, 0x035ecf57, 0x0324c555, 0x03ac9bf8, 0x03a3deac, 0x03530ab4, 0x03959fa1, 0x011a3cae, 0x020f837f, 0x0013ff3d}}}, + {X: Field{[10]uint32{0x0205dccc, 0x03600467, 0x0293e532, 0x03b53066, 0x02ae3fa3, 0x0254f45c, 0x006e096b, 0x0280c255, 0x02e1753d, 0x002e33bd}}, Y: Field{[10]uint32{0x006d5750, 0x012833f3, 0x02813301, 0x030da9ad, 0x01df757f, 0x0134af66, 0x00d4a74e, 0x026efda9, 0x0260a6cc, 0x000c0ae2}}}, + {X: Field{[10]uint32{0x00531dbc, 0x03f2e875, 0x00970e20, 0x0067fb57, 0x021f901c, 0x002ef1f3, 0x036e9421, 0x019a377b, 0x010602c5, 0x001189db}}, Y: Field{[10]uint32{0x0286b8e2, 0x01cc0265, 0x03c99af8, 0x03efff86, 0x01498bad, 0x01c37b66, 0x02922875, 0x01d6e128, 0x0324d44c, 0x000383df}}}, + {X: Field{[10]uint32{0x033bb31a, 0x037fb84d, 0x017b485b, 0x01ad7f6e, 0x01701f7b, 0x03aed7d2, 0x02a0bde2, 0x01ce1780, 0x03e779b4, 0x0000fecc}}, Y: Field{[10]uint32{0x01215c9e, 0x032f9a5f, 0x000d4e34, 0x01db11d9, 0x03c65a7c, 0x02eed5ca, 0x00c161aa, 0x03f8a078, 0x0152548e, 0x003cdab6}}}, + {X: Field{[10]uint32{0x006df50d, 0x03bb405a, 0x012bd0c4, 0x00a871be, 0x00cd5e79, 0x03020818, 0x03d87442, 0x007c0b5b, 0x0230935c, 0x000e95c5}}, Y: Field{[10]uint32{0x0059679b, 0x0162ca3a, 0x01a11d21, 0x007aede0, 0x01e0aaf8, 0x015c2837, 0x02f3ff2e, 0x03ccbd45, 0x0073b599, 0x0021784e}}}, + {X: Field{[10]uint32{0x019a4ab4, 0x01457af7, 0x037c0a5b, 0x0306156e, 0x02717c36, 0x0343de8d, 0x0316f7b4, 0x00f84587, 0x00d109ec, 0x0012c5df}}, Y: Field{[10]uint32{0x035ab6f7, 0x0377f918, 0x01f558aa, 0x0157c5d0, 0x006e37e2, 0x00d89ad2, 0x028f6729, 0x03e997f6, 0x02e9a5e2, 0x000fb259}}}, + {X: Field{[10]uint32{0x022f001d, 0x013bc4d4, 0x01899611, 0x02b371e3, 0x036850e0, 0x030c6458, 0x025eb211, 0x03093d39, 0x00eca7a6, 0x003bfa9a}}, Y: Field{[10]uint32{0x03bc4415, 0x021067dc, 0x00771c12, 0x027ece12, 0x03e41395, 0x00dc6685, 0x0150307a, 0x00f05368, 0x03869d58, 0x002aae11}}}, + {X: Field{[10]uint32{0x001c23a4, 0x01beca6c, 0x01cf56f4, 0x01611e92, 0x01c22a41, 0x026e735d, 0x0203829b, 0x01e81b0a, 0x035206a2, 0x0017a1c0}}, Y: Field{[10]uint32{0x00d986f9, 0x01e65ac4, 0x00fda121, 0x021d2933, 0x01a2171d, 0x038b1b8b, 0x01755d1a, 0x0248879c, 0x004efb9c, 0x0016e599}}}, + {X: Field{[10]uint32{0x0291dc6e, 0x007bc8b0, 0x01fbd8b4, 0x02a537ca, 0x02661fa8, 0x028f8e3c, 0x03136c23, 0x016c9171, 0x0347a3f1, 0x0033c2f7}}, Y: Field{[10]uint32{0x037a8196, 0x00f05136, 0x032a99c7, 0x03f4aed7, 0x02b4fc6c, 0x015e463d, 0x00523b4e, 0x03d44693, 0x001c6e61, 0x000e30b8}}}, + {X: Field{[10]uint32{0x007b0c66, 0x03cd7480, 0x006fb1f3, 0x039195b2, 0x0034a7fe, 0x002b3add, 0x032244f6, 0x01a02911, 0x0301930d, 0x00395170}}, Y: Field{[10]uint32{0x01f2d470, 0x03d5f49c, 0x0239dd87, 0x02386d68, 0x0397e582, 0x02566f2f, 0x01c6fda3, 0x025579f9, 0x000e8c62, 0x00381a8d}}}, + {X: Field{[10]uint32{0x008f7e09, 0x028ad9fe, 0x012cde2a, 0x01e6e9f6, 0x02b3a037, 0x0117702f, 0x00e12e5a, 0x017f2ef6, 0x023d4f20, 0x00179aa1}}, Y: Field{[10]uint32{0x00dfca97, 0x018a19d2, 0x00fe3bbd, 0x00dc8ed3, 0x00a68e50, 0x01a5008d, 0x004a8d1f, 0x023b7f11, 0x02078a38, 0x003095c6}}}, + {X: Field{[10]uint32{0x03648bba, 0x020642e0, 0x007444a5, 0x02c1a70f, 0x0082a0f0, 0x03c06ce6, 0x033ee225, 0x03d60284, 0x02157a54, 0x002ca910}}, Y: Field{[10]uint32{0x00fb6452, 0x03ead280, 0x017bb246, 0x00547270, 0x01c0d855, 0x03ef5f8c, 0x01fbc978, 0x0199867a, 0x03c2b693, 0x003f93d7}}}, + {X: Field{[10]uint32{0x0304ab91, 0x039d78ac, 0x01557679, 0x00650914, 0x0325a40c, 0x02de0470, 0x02383063, 0x00452e29, 0x03ea8fe5, 0x0001e87f}}, Y: Field{[10]uint32{0x0397e554, 0x03d18ed9, 0x01d9d35a, 0x03a86402, 0x01287e5d, 0x00d12965, 0x010437c4, 0x01f151a4, 0x0021b0fd, 0x00384301}}}, + {X: Field{[10]uint32{0x03ab27d0, 0x03748bba, 0x0103fcf6, 0x03e8b114, 0x03f70b41, 0x02365c01, 0x02970191, 0x00e1946e, 0x020f3d45, 0x0006e423}}, Y: Field{[10]uint32{0x00d3d110, 0x0219d790, 0x011b571e, 0x024d61f9, 0x02b5bbca, 0x005f12e6, 0x0357c918, 0x01ad79bc, 0x025eec46, 0x0026db58}}}, + {X: Field{[10]uint32{0x00fbd53c, 0x030e8ec2, 0x02cddf0c, 0x01c2b718, 0x03e2838c, 0x015066a1, 0x03b9352a, 0x02cd3a36, 0x032a7af4, 0x00139f09}}, Y: Field{[10]uint32{0x03dcaae6, 0x00e50605, 0x01d33e0b, 0x0052ffdf, 0x03530b96, 0x037bda06, 0x02fd09f6, 0x002c6385, 0x00766c9d, 0x0005dd27}}}, + }, + { + {X: Field{[10]uint32{0x00fbd53c, 0x030e8ec2, 0x02cddf0c, 0x01c2b718, 0x03e2838c, 0x015066a1, 0x03b9352a, 0x02cd3a36, 0x032a7af4, 0x00139f09}}, Y: Field{[10]uint32{0x03dcaae6, 0x00e50605, 0x01d33e0b, 0x0052ffdf, 0x03530b96, 0x037bda06, 0x02fd09f6, 0x002c6385, 0x00766c9d, 0x0005dd27}}}, + {X: Field{[10]uint32{0x006e1b4d, 0x00879b9f, 0x00790e28, 0x01686fbe, 0x009b11f2, 0x038e1767, 0x00a269f4, 0x02223c9a, 0x03b02696, 0x00226405}}, Y: Field{[10]uint32{0x0014ab2b, 0x02baf6b6, 0x03212009, 0x0303e4ca, 0x02e4e51b, 0x018d62fe, 0x00579833, 0x00d3c2ed, 0x00dab5b3, 0x0010eb8b}}}, + {X: Field{[10]uint32{0x0121b3ff, 0x02611939, 0x0350cee2, 0x005fa6a9, 0x01233c07, 0x026b8929, 0x0244d2be, 0x011571d7, 0x023010c9, 0x00009213}}, Y: Field{[10]uint32{0x0269da7e, 0x02b92e40, 0x008bbcc1, 0x037a48eb, 0x03ad7006, 0x02cb43ba, 0x02c2b3c2, 0x038c341f, 0x00a0aa23, 0x00258674}}}, + {X: Field{[10]uint32{0x025f712f, 0x018d685f, 0x003a8af2, 0x02fe46d6, 0x022831f5, 0x00c89fc3, 0x034728e6, 0x017f52a3, 0x00f76e90, 0x0019fd91}}, Y: Field{[10]uint32{0x007160e5, 0x02b2d79c, 0x02198d68, 0x0223df4d, 0x005e0e14, 0x0161b3de, 0x01adeb7b, 0x017413c1, 0x028f6644, 0x002e0cf5}}}, + {X: Field{[10]uint32{0x004ba7b9, 0x02de7ea0, 0x01751f96, 0x01c0c1d0, 0x0220d6a4, 0x01cb2553, 0x039b70d6, 0x03395fbd, 0x0126cfb6, 0x0005b071}}, Y: Field{[10]uint32{0x005bd741, 0x02f8e947, 0x029cc475, 0x0006f726, 0x02ec755c, 0x0322a537, 0x02627459, 0x0050e418, 0x037c3403, 0x0036c55f}}}, + {X: Field{[10]uint32{0x00692fd1, 0x01825850, 0x00dfe2b2, 0x01b32f64, 0x02dcf43c, 0x02c7c643, 0x00aadef4, 0x03fe0038, 0x00b49901, 0x001394f2}}, Y: Field{[10]uint32{0x028625e0, 0x024c39cc, 0x01753934, 0x03695ff2, 0x01a87a50, 0x01c86768, 0x02cd709a, 0x02807861, 0x024f4d41, 0x00375b8f}}}, + {X: Field{[10]uint32{0x036683fa, 0x01921ea8, 0x00825e83, 0x014e03b0, 0x0295821b, 0x01149ed9, 0x0289ce77, 0x00c6be1e, 0x00d753f9, 0x0000e5cf}}, Y: Field{[10]uint32{0x034a577f, 0x03ecaddf, 0x001dedf5, 0x03863fa6, 0x00d77884, 0x00ad689b, 0x03e12b63, 0x028e8d90, 0x022cc30c, 0x000e33d6}}}, + {X: Field{[10]uint32{0x0389a762, 0x0098fb4e, 0x02b8dc10, 0x00c04bb9, 0x02930dc9, 0x01a2d1c4, 0x000a0549, 0x009557ea, 0x036c9365, 0x000c9fe1}}, Y: Field{[10]uint32{0x01203301, 0x03f6566e, 0x03dfe9c9, 0x01c3faf5, 0x01755350, 0x038665ee, 0x01969255, 0x01009ac2, 0x00eab352, 0x002cb501}}}, + {X: Field{[10]uint32{0x00bf6f06, 0x02ce6670, 0x03b57180, 0x00c89410, 0x01713c13, 0x000815d9, 0x02c04f4b, 0x03c54470, 0x03ba72ec, 0x002e9aa6}}, Y: Field{[10]uint32{0x001db551, 0x02fbdc1e, 0x03aafe32, 0x03deb1a5, 0x029e5d14, 0x01562f63, 0x0020bf2e, 0x0046c0c8, 0x0238b34a, 0x0004ddc7}}}, + {X: Field{[10]uint32{0x01637b39, 0x03c46655, 0x01fa2799, 0x02617b1d, 0x026c52b9, 0x0300c05a, 0x015b9286, 0x02b1730f, 0x01da6b99, 0x00033cf1}}, Y: Field{[10]uint32{0x02852a40, 0x01e8f5e8, 0x01c3cd24, 0x00148f09, 0x0137acd3, 0x00600929, 0x00671adc, 0x026d904d, 0x012fd9f3, 0x0000b3ed}}}, + {X: Field{[10]uint32{0x01231a43, 0x03be7c1c, 0x003b9fd1, 0x035996b5, 0x0344d514, 0x0137910b, 0x02ed9506, 0x01374b62, 0x00cc27cc, 0x000d716f}}, Y: Field{[10]uint32{0x0220c8f6, 0x01cb9145, 0x030ae7db, 0x033018f3, 0x014cf7a4, 0x01be9627, 0x00e5820b, 0x011b39cd, 0x01723b97, 0x00038d9d}}}, + {X: Field{[10]uint32{0x0149827b, 0x038d5f6d, 0x03d6148c, 0x03cf8486, 0x01fcc4f7, 0x038b38c4, 0x0212e06d, 0x01d7cea0, 0x00f5e0d3, 0x003391f4}}, Y: Field{[10]uint32{0x03aed097, 0x032697fb, 0x029df43c, 0x00bfc15d, 0x0329e659, 0x016e6b43, 0x009139fe, 0x00352756, 0x00fb9963, 0x000571a6}}}, + {X: Field{[10]uint32{0x01d40609, 0x002f15bf, 0x00d76bf4, 0x02603607, 0x02c74190, 0x01620d5a, 0x022f12fc, 0x021af284, 0x00245c55, 0x003f51e7}}, Y: Field{[10]uint32{0x0264ca53, 0x00bc4d9a, 0x024739de, 0x035c9872, 0x019113ae, 0x0326107f, 0x00ad7a43, 0x02bfbfcb, 0x03b52694, 0x000c1a73}}}, + {X: Field{[10]uint32{0x0148be00, 0x03f9c55f, 0x03e13b38, 0x03a85a63, 0x03f60682, 0x03e550f1, 0x030e2207, 0x010bcd3a, 0x00bd4a8e, 0x0024c6fe}}, Y: Field{[10]uint32{0x0344f452, 0x01aa44c7, 0x01df5158, 0x01aacccf, 0x026a43ee, 0x00503afb, 0x03388e61, 0x00820f46, 0x03f0489c, 0x003c454e}}}, + {X: Field{[10]uint32{0x03799a7f, 0x01c0bd4a, 0x028424db, 0x03354ee3, 0x004f18b6, 0x03cb1f55, 0x02d8eb9a, 0x036192f7, 0x002a3acc, 0x001b1000}}, Y: Field{[10]uint32{0x03c81e32, 0x03320b34, 0x003f68b5, 0x01320812, 0x01c07abd, 0x0387772f, 0x00b836a0, 0x00d6f9a4, 0x001530b6, 0x002570b7}}}, + {X: Field{[10]uint32{0x00fb27b6, 0x009f8a10, 0x00576324, 0x02caf90c, 0x01c76e3d, 0x005a1aa9, 0x03238ad6, 0x022c6c43, 0x023dbe77, 0x003fa9d3}}, Y: Field{[10]uint32{0x023cb96f, 0x034f6dfc, 0x03b77701, 0x01ae5cfd, 0x03126b59, 0x032dabe4, 0x03674dec, 0x004ca5f3, 0x00db9b0b, 0x001b815a}}}, + }, + { + {X: Field{[10]uint32{0x00fb27b6, 0x009f8a10, 0x00576324, 0x02caf90c, 0x01c76e3d, 0x005a1aa9, 0x03238ad6, 0x022c6c43, 0x023dbe77, 0x003fa9d3}}, Y: Field{[10]uint32{0x023cb96f, 0x034f6dfc, 0x03b77701, 0x01ae5cfd, 0x03126b59, 0x032dabe4, 0x03674dec, 0x004ca5f3, 0x00db9b0b, 0x001b815a}}}, + {X: Field{[10]uint32{0x039756e4, 0x025f2587, 0x030488fd, 0x039778dc, 0x02bb570e, 0x003a3343, 0x00e03d85, 0x0203fc60, 0x01c83042, 0x003b6510}}, Y: Field{[10]uint32{0x033abfae, 0x03827e4f, 0x0298bff0, 0x01d3f937, 0x0209f237, 0x02c4e447, 0x02176128, 0x03e866be, 0x029efe8b, 0x000f6fa7}}}, + {X: Field{[10]uint32{0x02889756, 0x0206ba6f, 0x00bb25dd, 0x0265ec01, 0x03f27b64, 0x01c6267c, 0x02cd97b2, 0x03faa089, 0x03c33211, 0x001d8ba2}}, Y: Field{[10]uint32{0x00a6b774, 0x0096781f, 0x03a5e25e, 0x00c52213, 0x031972db, 0x0260b8d1, 0x03cc4f14, 0x03a5f0f1, 0x00260af3, 0x00300a25}}}, + {X: Field{[10]uint32{0x011cf119, 0x02b40cf5, 0x00d3015b, 0x03613ead, 0x015b10bd, 0x012d21d4, 0x03ed3f62, 0x01f0ff27, 0x018ee67a, 0x000a765a}}, Y: Field{[10]uint32{0x01056339, 0x021d015d, 0x002963c8, 0x003a4e9f, 0x03b89c94, 0x013c725b, 0x03a12540, 0x00ad149d, 0x00517dc8, 0x001ff40b}}}, + {X: Field{[10]uint32{0x0175d2ea, 0x01d7a5c2, 0x028ea26f, 0x03e84053, 0x011e52ac, 0x00c23d2a, 0x019bdbb2, 0x0254d238, 0x0147df60, 0x0037c1df}}, Y: Field{[10]uint32{0x01936f95, 0x030b678c, 0x01277aa3, 0x02e13ef7, 0x008a1ec5, 0x0228949f, 0x008425c9, 0x01fd1093, 0x028800ef, 0x003e185e}}}, + {X: Field{[10]uint32{0x02714560, 0x01602969, 0x006c2875, 0x0009f95b, 0x00247f21, 0x00696a17, 0x007ef64f, 0x034dae75, 0x0275579a, 0x000e2e0a}}, Y: Field{[10]uint32{0x0374299e, 0x021ccd29, 0x02284ada, 0x00efbdc5, 0x017d94f2, 0x00590d16, 0x03f56346, 0x007bd0a2, 0x02976f26, 0x003e7629}}}, + {X: Field{[10]uint32{0x004c92d7, 0x01247eef, 0x011b45b8, 0x01bb950e, 0x0135db4d, 0x00d2c50a, 0x017dea83, 0x03680cb8, 0x01758bd3, 0x0027cf9f}}, Y: Field{[10]uint32{0x014906dd, 0x02eff3ec, 0x021186cb, 0x000f5a53, 0x02452a23, 0x02eac540, 0x0062b21c, 0x0119ad62, 0x001ea77d, 0x003b34a1}}}, + {X: Field{[10]uint32{0x03422491, 0x031114df, 0x00cff467, 0x012a1818, 0x01fd453e, 0x00d6028c, 0x03fb7bd3, 0x024db5bc, 0x03d05013, 0x00049ad5}}, Y: Field{[10]uint32{0x01a3ef84, 0x00c7c667, 0x01347afa, 0x030c2fce, 0x00e148ba, 0x00afcfec, 0x004a3eba, 0x018b0b8f, 0x00130616, 0x003069f7}}}, + {X: Field{[10]uint32{0x02a8c483, 0x0035ccac, 0x00ac35ae, 0x02231410, 0x01174b0c, 0x03be54a0, 0x038c3d22, 0x033e7b70, 0x015d7b5c, 0x0028331e}}, Y: Field{[10]uint32{0x02cc6ba9, 0x019d1564, 0x03605509, 0x006f7da4, 0x006b348f, 0x008c77de, 0x0374fc97, 0x021cfb88, 0x0122f8b3, 0x002af0c0}}}, + {X: Field{[10]uint32{0x02faf403, 0x01588e8e, 0x03576051, 0x03ee5eb5, 0x0338a0ae, 0x02282d6f, 0x00faffac, 0x007d59c3, 0x0179b9e8, 0x00068904}}, Y: Field{[10]uint32{0x00d79a16, 0x02db9039, 0x0360d590, 0x03d05e37, 0x002c8177, 0x02416ddb, 0x03f27493, 0x01030b12, 0x00c0a867, 0x00238728}}}, + {X: Field{[10]uint32{0x01dd3aee, 0x03c6daf1, 0x012f2170, 0x022a3e5b, 0x0213153a, 0x01aa5db2, 0x0222a9ac, 0x031f3383, 0x00a51553, 0x001b4714}}, Y: Field{[10]uint32{0x01f597f7, 0x00d5393f, 0x013adfee, 0x002aa3b5, 0x00851e31, 0x00a1f51d, 0x03272002, 0x037f725d, 0x008e06ab, 0x002bffc5}}}, + {X: Field{[10]uint32{0x03720b26, 0x00bac126, 0x03cd0762, 0x017e6333, 0x0026f283, 0x004e4188, 0x006bbed4, 0x01a3b87d, 0x01ae9ac9, 0x000f8431}}, Y: Field{[10]uint32{0x01d92db5, 0x03a631eb, 0x01e43346, 0x02936f82, 0x00e2ff79, 0x01c8578a, 0x00665b28, 0x0222456a, 0x02cffe42, 0x0031cd71}}}, + {X: Field{[10]uint32{0x00a6d0bb, 0x032a6df9, 0x02fdc678, 0x008bd686, 0x03659d31, 0x02299063, 0x011a6d8a, 0x03e7cfcc, 0x01618b97, 0x001797c7}}, Y: Field{[10]uint32{0x0033eaf9, 0x00e11e44, 0x0253a168, 0x00b941bd, 0x0272555f, 0x0139c876, 0x00f6bcd0, 0x039bdcd6, 0x002b06a7, 0x0035ec54}}}, + {X: Field{[10]uint32{0x01543cb4, 0x020e9f59, 0x00299e00, 0x02db08b4, 0x003c4529, 0x0203aa28, 0x03684d05, 0x02152a2a, 0x03ae9734, 0x001cfe1e}}, Y: Field{[10]uint32{0x00856cdd, 0x03761cb1, 0x02d7a3d2, 0x03d4d5fc, 0x019d5c42, 0x028500a2, 0x03fbfc11, 0x03e1bfba, 0x00f03a87, 0x000df19b}}}, + {X: Field{[10]uint32{0x03005e3f, 0x026d7913, 0x01bd2dda, 0x00c6fb0e, 0x015af68e, 0x03806852, 0x013cb9ac, 0x0109ffff, 0x026b3c16, 0x003e04e2}}, Y: Field{[10]uint32{0x03357eb7, 0x01f8080b, 0x0221342d, 0x02f5552f, 0x01f4ec41, 0x02a972d4, 0x01015e57, 0x03af67e7, 0x033befb4, 0x00329d63}}}, + {X: Field{[10]uint32{0x03bdde39, 0x000a9105, 0x0032952c, 0x01e6dd81, 0x031544e1, 0x02665a34, 0x022570d5, 0x033c3842, 0x0113f677, 0x001db990}}, Y: Field{[10]uint32{0x0101ac01, 0x005d4b46, 0x02032b4b, 0x034ad5b4, 0x035e2a33, 0x01a07c34, 0x03066d70, 0x02573d5d, 0x038dee4e, 0x00324377}}}, + }, + { + {X: Field{[10]uint32{0x03bdde39, 0x000a9105, 0x0032952c, 0x01e6dd81, 0x031544e1, 0x02665a34, 0x022570d5, 0x033c3842, 0x0113f677, 0x001db990}}, Y: Field{[10]uint32{0x0101ac01, 0x005d4b46, 0x02032b4b, 0x034ad5b4, 0x035e2a33, 0x01a07c34, 0x03066d70, 0x02573d5d, 0x038dee4e, 0x00324377}}}, + {X: Field{[10]uint32{0x021187a5, 0x02666a0e, 0x02e691cf, 0x0188b0a6, 0x00005d57, 0x00587204, 0x007c9d88, 0x031cefba, 0x030e9e52, 0x001c2294}}, Y: Field{[10]uint32{0x033db9c0, 0x013c66d1, 0x03e8a58a, 0x00f1b4d4, 0x003ecda7, 0x02db4e0a, 0x01656dcb, 0x02a25fea, 0x0011e1f9, 0x0026e212}}}, + {X: Field{[10]uint32{0x0078ee8d, 0x01424730, 0x019442f0, 0x033941a4, 0x024ebf20, 0x02a6d3fd, 0x03f7263a, 0x02a6f897, 0x03ad859d, 0x00342395}}, Y: Field{[10]uint32{0x01a63e86, 0x01fd370b, 0x02d9de99, 0x033e508b, 0x00123ef7, 0x015f9b7d, 0x02172ee7, 0x02235cb5, 0x03984ab4, 0x00214ba5}}}, + {X: Field{[10]uint32{0x01e4f5be, 0x02c5b1b3, 0x0359e2e1, 0x01b61aca, 0x039f374b, 0x017918b3, 0x03d64839, 0x00ef8866, 0x034fc48b, 0x000673c0}}, Y: Field{[10]uint32{0x03321af2, 0x0054cadb, 0x01c0c0a9, 0x0324fc3c, 0x03ef91d1, 0x02c60651, 0x034be68a, 0x02d19b0e, 0x0306a15a, 0x000a38ca}}}, + {X: Field{[10]uint32{0x029129ec, 0x00519c10, 0x02548159, 0x033c7920, 0x000cae3a, 0x0334c742, 0x018be80e, 0x01349d7d, 0x0085e4d4, 0x001f69b0}}, Y: Field{[10]uint32{0x00d9ff0e, 0x002bb8ab, 0x0186aeb5, 0x02195329, 0x030448c0, 0x024589ef, 0x01d02074, 0x00615d44, 0x006bb9f4, 0x003d2605}}}, + {X: Field{[10]uint32{0x029c22bc, 0x02b950c3, 0x0042fd43, 0x035a46f3, 0x0201da67, 0x026f1ef9, 0x01b3444d, 0x03ac8dd9, 0x02a5e99e, 0x0014cd73}}, Y: Field{[10]uint32{0x03dacb60, 0x03099cb2, 0x0319b3c2, 0x008db287, 0x02c8c30c, 0x0033ae1a, 0x027f080f, 0x01489281, 0x0020769c, 0x000efe34}}}, + {X: Field{[10]uint32{0x01654f22, 0x00f52554, 0x02ee94f8, 0x02508c6a, 0x03b2f7f3, 0x039a7653, 0x03e9001b, 0x02f9b886, 0x00cff5c1, 0x00243424}}, Y: Field{[10]uint32{0x001a43e1, 0x037815d8, 0x038740f5, 0x0194f68f, 0x036dd635, 0x01afdc0c, 0x03f021e0, 0x03d86a54, 0x021d2bac, 0x003355a6}}}, + {X: Field{[10]uint32{0x017cf3e8, 0x02f08274, 0x02219e3a, 0x000d2fa8, 0x02ee93bd, 0x00e5fd5d, 0x0319c2f8, 0x017c35f1, 0x00a078cb, 0x002bdb11}}, Y: Field{[10]uint32{0x0351baea, 0x03741805, 0x01435b8a, 0x03a9f283, 0x03ec362a, 0x032c91b7, 0x01e73153, 0x012cc2be, 0x016fe85d, 0x0001e102}}}, + {X: Field{[10]uint32{0x036b19fa, 0x03bd9471, 0x019d71b6, 0x01b41a20, 0x02d9d6e0, 0x02084a4b, 0x0322c310, 0x0347b31c, 0x00587cf1, 0x003691e6}}, Y: Field{[10]uint32{0x026f5af7, 0x009bbacc, 0x03c206aa, 0x00fa554f, 0x02a67bd1, 0x038595a7, 0x03369077, 0x02bc0745, 0x03789bcc, 0x003aec75}}}, + {X: Field{[10]uint32{0x02569044, 0x03e47b75, 0x02ef96d2, 0x01b3e833, 0x0033c039, 0x017163cc, 0x002bafe9, 0x01894e75, 0x020d6f7d, 0x002a8871}}, Y: Field{[10]uint32{0x02f37766, 0x00931070, 0x00334c19, 0x03044e4a, 0x02ee5aba, 0x0106b7d3, 0x01d26add, 0x01aba9b4, 0x0086fc4e, 0x002cab9a}}}, + {X: Field{[10]uint32{0x01135dbd, 0x00bed96e, 0x0231ecd9, 0x02bce761, 0x00f0c087, 0x00ba625f, 0x017aaf58, 0x03b9ab60, 0x0104a8dd, 0x0038f91d}}, Y: Field{[10]uint32{0x0348045d, 0x01abcf91, 0x01da9690, 0x03fd7b25, 0x02a5a202, 0x00ae0fff, 0x018c8195, 0x031b102e, 0x03f809cb, 0x0024c296}}}, + {X: Field{[10]uint32{0x03f4de54, 0x00798853, 0x002be5bc, 0x0247a74f, 0x00a5cabd, 0x00528a16, 0x034031cf, 0x000a8b0e, 0x00355df2, 0x0015c5b7}}, Y: Field{[10]uint32{0x00100fa5, 0x0293f554, 0x02417d3e, 0x0333411f, 0x01ebf3fe, 0x0264c931, 0x02aa661a, 0x020fce47, 0x00400a5b, 0x002617db}}}, + {X: Field{[10]uint32{0x01ee455f, 0x002e7973, 0x00075cbf, 0x039ba339, 0x02ff67ff, 0x0202f6d2, 0x0345338f, 0x02a6c291, 0x016fe870, 0x001fa319}}, Y: Field{[10]uint32{0x031b9cba, 0x037a6605, 0x02627173, 0x019d1bd1, 0x034aa2d1, 0x0200e94e, 0x03f760f4, 0x01d03ca8, 0x0232ca30, 0x002f7771}}}, + {X: Field{[10]uint32{0x0369b57c, 0x00540365, 0x03c7b1e6, 0x02f0e78b, 0x01da5033, 0x02f8fc13, 0x008f1925, 0x00a0ad4d, 0x01cb592d, 0x0000c194}}, Y: Field{[10]uint32{0x033236e3, 0x00e9417c, 0x038057ff, 0x0061ce7d, 0x03192a4d, 0x0215a0b0, 0x00e2423e, 0x030262b1, 0x0033bb7a, 0x00094822}}}, + {X: Field{[10]uint32{0x0298b59e, 0x025ae6d9, 0x007a4377, 0x009624d1, 0x020a3359, 0x00f8f1c9, 0x02b035ab, 0x017ac56f, 0x01f891a9, 0x000f7e10}}, Y: Field{[10]uint32{0x0392baf5, 0x02399e5a, 0x009f8bcf, 0x01ec8525, 0x027bfc86, 0x00473ce1, 0x002bae8f, 0x02430768, 0x02df98b0, 0x002ce3f9}}}, + {X: Field{[10]uint32{0x03cbb891, 0x0054090a, 0x00bee3ab, 0x010f7c9b, 0x028f7cc6, 0x010fe3e6, 0x0281baa7, 0x02af87a0, 0x016b03b2, 0x0031ce31}}, Y: Field{[10]uint32{0x019a84c3, 0x01cd765a, 0x00fe917e, 0x03bde203, 0x0382314e, 0x032feeee, 0x0318f2ea, 0x03494dfd, 0x0178951a, 0x00224fed}}}, + }, + { + {X: Field{[10]uint32{0x03cbb891, 0x0054090a, 0x00bee3ab, 0x010f7c9b, 0x028f7cc6, 0x010fe3e6, 0x0281baa7, 0x02af87a0, 0x016b03b2, 0x0031ce31}}, Y: Field{[10]uint32{0x019a84c3, 0x01cd765a, 0x00fe917e, 0x03bde203, 0x0382314e, 0x032feeee, 0x0318f2ea, 0x03494dfd, 0x0178951a, 0x00224fed}}}, + {X: Field{[10]uint32{0x0262ab1b, 0x02ac1e11, 0x009e4dda, 0x03a926e3, 0x00647197, 0x00b9eaa5, 0x0332a699, 0x000dd0d6, 0x005ecd7c, 0x00155e21}}, Y: Field{[10]uint32{0x016f3511, 0x03463cc1, 0x024de316, 0x01d1a975, 0x03f653a7, 0x034a9014, 0x026d0a51, 0x038b0f3a, 0x03978b6d, 0x00398741}}}, + {X: Field{[10]uint32{0x0361d58d, 0x02abcce1, 0x00e2f34b, 0x03902358, 0x02ca4c9b, 0x01c837de, 0x02240a35, 0x01851842, 0x0127823f, 0x002e3118}}, Y: Field{[10]uint32{0x011051a4, 0x03a82ea7, 0x03c5b638, 0x01e17841, 0x013f7504, 0x01fcf141, 0x02458f69, 0x038df452, 0x016c5170, 0x0023e7b6}}}, + {X: Field{[10]uint32{0x008b6c29, 0x021a6e25, 0x0196094f, 0x0153f38e, 0x0122f123, 0x03433b33, 0x03fa3bc1, 0x0193312a, 0x003888a3, 0x0011fcce}}, Y: Field{[10]uint32{0x02537ef9, 0x03b84483, 0x014a81ed, 0x025623e6, 0x0118bb49, 0x02d05b1c, 0x00e48675, 0x00a4dc64, 0x028d0f03, 0x001232a6}}}, + {X: Field{[10]uint32{0x010b0040, 0x002cc101, 0x00adc2db, 0x02e7c04d, 0x01f3f47d, 0x03a68d9c, 0x010c993f, 0x01c7de8d, 0x029f7102, 0x0002355b}}, Y: Field{[10]uint32{0x033fd0a1, 0x03899e96, 0x002beb58, 0x01c8385e, 0x01f6d7c4, 0x035e6ca1, 0x03d150a8, 0x026a887f, 0x01aebd0a, 0x00284861}}}, + {X: Field{[10]uint32{0x0166ff40, 0x037a8684, 0x0336da14, 0x012907ff, 0x02caeebf, 0x0392028b, 0x038125d8, 0x0234adf1, 0x00331881, 0x001ac010}}, Y: Field{[10]uint32{0x0171b847, 0x0104c3a7, 0x02de9eb7, 0x03db9fcf, 0x00076883, 0x0242fcbc, 0x00943a05, 0x03eb265a, 0x033ae8aa, 0x00107346}}}, + {X: Field{[10]uint32{0x03573b7f, 0x0158f7c4, 0x02270f56, 0x017b4c2d, 0x03889a1c, 0x02f9968d, 0x0220f977, 0x03398d07, 0x0232d42f, 0x003704fc}}, Y: Field{[10]uint32{0x001f2ba6, 0x03348a13, 0x00b1c42a, 0x01c05d01, 0x02704554, 0x012a429d, 0x03410da8, 0x00d030f1, 0x0280429e, 0x0032426e}}}, + {X: Field{[10]uint32{0x01ff4adb, 0x029b23c1, 0x03768a81, 0x035bf2fb, 0x0214f570, 0x01a9757d, 0x026b4c9c, 0x02e33f91, 0x0334ae41, 0x00303007}}, Y: Field{[10]uint32{0x00351065, 0x03bfdceb, 0x01b85fc4, 0x0345c345, 0x02cdbc43, 0x001d6e33, 0x0137a0b4, 0x01fd71f2, 0x01bee435, 0x0002e13d}}}, + {X: Field{[10]uint32{0x03ae9ceb, 0x03d642e1, 0x02d14b02, 0x03a9c3bc, 0x00226c21, 0x02c8466a, 0x0319565d, 0x01fc1ceb, 0x01e601df, 0x0009700b}}, Y: Field{[10]uint32{0x03c6e275, 0x024344d2, 0x00726470, 0x037c2996, 0x0137c641, 0x03eb4475, 0x0084e0dc, 0x00e0f032, 0x02d2c812, 0x0022a7fa}}}, + {X: Field{[10]uint32{0x032c1a1c, 0x000675e4, 0x01d6e365, 0x006808af, 0x03a2f32b, 0x002d8ee4, 0x0229ea40, 0x032f6cf4, 0x03bc468e, 0x000ea4cb}}, Y: Field{[10]uint32{0x01343540, 0x02a49a5f, 0x028b684a, 0x0055d268, 0x02c0417e, 0x03720742, 0x009547d4, 0x015ea007, 0x00540f34, 0x002b4f60}}}, + {X: Field{[10]uint32{0x005a3c34, 0x00263dbb, 0x009fe1f8, 0x0300a565, 0x00aece82, 0x01eb8f96, 0x02b9f4ca, 0x039273a2, 0x011b2cf8, 0x003fb767}}, Y: Field{[10]uint32{0x013d7714, 0x0152fd38, 0x0029762b, 0x011a66fe, 0x00adaeb5, 0x0323d2c0, 0x03e85312, 0x02e382c2, 0x00c31853, 0x00294b89}}}, + {X: Field{[10]uint32{0x00d6bf1f, 0x00841ae0, 0x03cbb045, 0x00fa6093, 0x0146bd03, 0x01acd1ae, 0x0121e927, 0x02e0f28d, 0x0343451c, 0x0030ccdc}}, Y: Field{[10]uint32{0x00b01f48, 0x0396108f, 0x02162f95, 0x01083899, 0x0198ba36, 0x01cb0c55, 0x01ff31af, 0x00b3684f, 0x01391b81, 0x000bbbfa}}}, + {X: Field{[10]uint32{0x02b6a396, 0x0395346a, 0x020769b4, 0x0246844d, 0x0373021b, 0x03a1222c, 0x02e2d7f5, 0x029230b7, 0x0286bc6e, 0x000f838c}}, Y: Field{[10]uint32{0x0180e27e, 0x00c79236, 0x00f6a2eb, 0x0107cd1a, 0x026ab010, 0x02d14ff1, 0x031fe1de, 0x00de593c, 0x0172fa3b, 0x00329120}}}, + {X: Field{[10]uint32{0x02f027e9, 0x03d31236, 0x0277e27b, 0x036fb951, 0x03d7ca75, 0x01fb5b45, 0x03c7cd53, 0x00f894f0, 0x033d3ea8, 0x001698a1}}, Y: Field{[10]uint32{0x004c68b4, 0x02764161, 0x035fb319, 0x00c27299, 0x03988af4, 0x03b15e90, 0x02409cfe, 0x01abf69d, 0x0079a5bf, 0x003db651}}}, + {X: Field{[10]uint32{0x001023ec, 0x00d6188d, 0x03570aaf, 0x03ddbfb3, 0x035645d8, 0x0260ae6b, 0x002e0200, 0x00b4a126, 0x013080c3, 0x000d12ae}}, Y: Field{[10]uint32{0x021eeb87, 0x02260a47, 0x015d704f, 0x01abf0e6, 0x03fc4e97, 0x02945317, 0x038f2d1e, 0x0118a9cf, 0x03042b24, 0x001b870a}}}, + {X: Field{[10]uint32{0x00f6c14b, 0x03a7d962, 0x01014372, 0x017cea49, 0x03d1d72e, 0x0325ca1d, 0x024c7637, 0x016e0789, 0x026548b6, 0x00362558}}, Y: Field{[10]uint32{0x017d991f, 0x018fb5d7, 0x027e1793, 0x018caec1, 0x0303428d, 0x0230d03a, 0x00ec6081, 0x01fab9ca, 0x0238f2bc, 0x003fafea}}}, + }, + { + {X: Field{[10]uint32{0x00f6c14b, 0x03a7d962, 0x01014372, 0x017cea49, 0x03d1d72e, 0x0325ca1d, 0x024c7637, 0x016e0789, 0x026548b6, 0x00362558}}, Y: Field{[10]uint32{0x017d991f, 0x018fb5d7, 0x027e1793, 0x018caec1, 0x0303428d, 0x0230d03a, 0x00ec6081, 0x01fab9ca, 0x0238f2bc, 0x003fafea}}}, + {X: Field{[10]uint32{0x03078424, 0x02d652dd, 0x00c3fba5, 0x01e83b10, 0x0303ecaf, 0x0000e899, 0x03a43622, 0x00113a28, 0x02ef8971, 0x003f44db}}, Y: Field{[10]uint32{0x0271ddf1, 0x007bbbf1, 0x01fa8cd6, 0x03de28ab, 0x017cf2b1, 0x01717be9, 0x021d191b, 0x014b319e, 0x0034f3c6, 0x0008636a}}}, + {X: Field{[10]uint32{0x0127b756, 0x02a1ffd8, 0x0170480b, 0x0392ae82, 0x0203428b, 0x00182d05, 0x01362da5, 0x03c499cb, 0x002f716d, 0x001b631e}}, Y: Field{[10]uint32{0x03172571, 0x007dd2af, 0x01cca655, 0x0368b5f3, 0x034e3aa6, 0x01b4d36b, 0x019a82d3, 0x02e44451, 0x030896fd, 0x00266bb7}}}, + {X: Field{[10]uint32{0x01b1cb3c, 0x03613b23, 0x0024a5f1, 0x028350fc, 0x021b7003, 0x01d467e1, 0x01cca536, 0x0234503a, 0x029dd963, 0x003667a3}}, Y: Field{[10]uint32{0x038637a7, 0x028a78da, 0x0365cd88, 0x03e3ff21, 0x026286fe, 0x02f3ae9b, 0x005bb321, 0x028e9ea5, 0x01ad1cc0, 0x000db706}}}, + {X: Field{[10]uint32{0x018cf17a, 0x03869cdd, 0x023524de, 0x032e9620, 0x00f1f85d, 0x02d025fe, 0x0059aef1, 0x01eb2a34, 0x02dd95bf, 0x003af2af}}, Y: Field{[10]uint32{0x00aa0ccd, 0x033717d7, 0x0295c446, 0x004b42b3, 0x0310fad2, 0x01f0cb9a, 0x0000a1b6, 0x02e72c0b, 0x020f8f22, 0x0011f4f3}}}, + {X: Field{[10]uint32{0x01a3c43c, 0x012cb154, 0x02258e4c, 0x032a3b3b, 0x000df701, 0x02ab99c5, 0x00c1f2b4, 0x03356d23, 0x029467ca, 0x0015b276}}, Y: Field{[10]uint32{0x00d7c9ed, 0x0362df48, 0x00aa1824, 0x03e4cbb7, 0x0241d40f, 0x0372da14, 0x03c7964d, 0x027b0bcc, 0x02cb42c7, 0x000e351a}}}, + {X: Field{[10]uint32{0x00855c5b, 0x03b9456b, 0x00afbbce, 0x006805f2, 0x00118562, 0x0385ff0a, 0x0331a369, 0x03389114, 0x012e4bd4, 0x003a37d3}}, Y: Field{[10]uint32{0x02465650, 0x0179cb0b, 0x00d7d59d, 0x017c7879, 0x019663b5, 0x027bccb1, 0x004db4f5, 0x026c9911, 0x0170c47f, 0x001b15ff}}}, + {X: Field{[10]uint32{0x00385172, 0x01bda34f, 0x02636fd4, 0x00781103, 0x01d20335, 0x016c2464, 0x03d8a54e, 0x020c5e86, 0x01619a19, 0x0000ff7c}}, Y: Field{[10]uint32{0x00cb9794, 0x0319fc3f, 0x0232b79a, 0x027a439c, 0x015b9b92, 0x03215cdd, 0x0070c7d3, 0x004b0ff9, 0x02c06e5c, 0x00102340}}}, + {X: Field{[10]uint32{0x02e7e454, 0x03d6f694, 0x02150d08, 0x03bc3c39, 0x02fe32ef, 0x02a60598, 0x02486023, 0x02a0ca44, 0x03d718ec, 0x00101a34}}, Y: Field{[10]uint32{0x00ef191e, 0x02b37976, 0x03332779, 0x03b44f0d, 0x01988d21, 0x03674e34, 0x02c14597, 0x011eaae7, 0x03b7254a, 0x00233614}}}, + {X: Field{[10]uint32{0x01d8247e, 0x0307fd4d, 0x011eb400, 0x0309445a, 0x00cd4780, 0x03e82de8, 0x02101f9a, 0x0157395b, 0x01bba2c3, 0x000cfab2}}, Y: Field{[10]uint32{0x033da9bf, 0x005aac2b, 0x0007f372, 0x00dedfa9, 0x0184f8cf, 0x03457bcb, 0x0061f2af, 0x01f10751, 0x0173e4e1, 0x000d65cc}}}, + {X: Field{[10]uint32{0x02c5d939, 0x01eb7e11, 0x033de085, 0x021deea4, 0x02a475a2, 0x0032809f, 0x01bf32e6, 0x009782d5, 0x02cdb1d8, 0x00049543}}, Y: Field{[10]uint32{0x01e757c9, 0x01d3f156, 0x0143192a, 0x007fb363, 0x02838b74, 0x01dc929c, 0x008e43c1, 0x035e9d51, 0x0334f872, 0x001ee3e0}}}, + {X: Field{[10]uint32{0x01f771c8, 0x0092740b, 0x00c87b9e, 0x0047b825, 0x00335a52, 0x0007e1d4, 0x032c2b3c, 0x03240a74, 0x006d922d, 0x002dc795}}, Y: Field{[10]uint32{0x03f48c51, 0x00e89be4, 0x02286245, 0x00ad56ee, 0x0026bd52, 0x0338a23d, 0x0112a4cc, 0x03e401e2, 0x03a8cec9, 0x0039f33b}}}, + {X: Field{[10]uint32{0x02c8a56f, 0x002ab195, 0x0342138d, 0x0150d3cd, 0x0385093c, 0x02beb423, 0x01bb7b53, 0x0217531a, 0x031ac3b5, 0x00251359}}, Y: Field{[10]uint32{0x027be289, 0x01371976, 0x0117eb9f, 0x01d37419, 0x0167d4c1, 0x00ceb186, 0x01439361, 0x007ffd30, 0x01977b50, 0x0029c419}}}, + {X: Field{[10]uint32{0x03194444, 0x01cc24b4, 0x03ea268f, 0x0252ea9f, 0x02850fea, 0x0361e867, 0x02239666, 0x009ae184, 0x0196ba15, 0x003eb3d7}}, Y: Field{[10]uint32{0x00bad676, 0x02fd2211, 0x0100b552, 0x0116e51f, 0x02be72b2, 0x024b76b1, 0x01b77563, 0x0113da4d, 0x007bb8ad, 0x001f3ae4}}}, + {X: Field{[10]uint32{0x0208f15a, 0x02e2862b, 0x0100baee, 0x01b7204a, 0x01fd69e5, 0x02b4f0c1, 0x02b03655, 0x026833f9, 0x0291cd09, 0x0021a953}}, Y: Field{[10]uint32{0x01388308, 0x013479f0, 0x0254d352, 0x00496cd4, 0x0377129d, 0x035d5a19, 0x032a8d06, 0x021180e9, 0x014837a7, 0x0033fb98}}}, + {X: Field{[10]uint32{0x03676e03, 0x01429593, 0x00edd491, 0x00da4fa1, 0x01ceffc7, 0x01c7a1d8, 0x00f64335, 0x01d463ac, 0x00032a95, 0x002e36a5}}, Y: Field{[10]uint32{0x02fdf6e7, 0x023939d3, 0x03b51148, 0x013657fc, 0x0092cc58, 0x018a022c, 0x0099cc97, 0x0287935f, 0x03a44805, 0x000a0137}}}, + }, + { + {X: Field{[10]uint32{0x03676e03, 0x01429593, 0x00edd491, 0x00da4fa1, 0x01ceffc7, 0x01c7a1d8, 0x00f64335, 0x01d463ac, 0x00032a95, 0x002e36a5}}, Y: Field{[10]uint32{0x02fdf6e7, 0x023939d3, 0x03b51148, 0x013657fc, 0x0092cc58, 0x018a022c, 0x0099cc97, 0x0287935f, 0x03a44805, 0x000a0137}}}, + {X: Field{[10]uint32{0x01af726a, 0x00fd0531, 0x036e6d41, 0x0172c96f, 0x01469a3e, 0x02ad883e, 0x032cb698, 0x0317394f, 0x0105ed8c, 0x001b4db4}}, Y: Field{[10]uint32{0x03f9fc7d, 0x00124684, 0x00a35c57, 0x00dad042, 0x01dcc599, 0x0171400a, 0x018c66c9, 0x019a79cb, 0x0034e377, 0x00392e97}}}, + {X: Field{[10]uint32{0x02e1346b, 0x02612771, 0x031c5ea1, 0x0040e16b, 0x005abe7b, 0x013454b0, 0x00c761f1, 0x03442f95, 0x00ff0982, 0x0001a41a}}, Y: Field{[10]uint32{0x03226c13, 0x01629535, 0x0026e7bb, 0x00e65318, 0x02a4f689, 0x0021910a, 0x005db2bd, 0x03789b6a, 0x03e090bf, 0x002e18f8}}}, + {X: Field{[10]uint32{0x0140db99, 0x00a8c329, 0x0012286e, 0x03014d2e, 0x03eb1309, 0x01bc2c38, 0x02883fa6, 0x02b03341, 0x01e10cd3, 0x000eadaf}}, Y: Field{[10]uint32{0x03da78a3, 0x01cff8c6, 0x00043e68, 0x02c38da7, 0x0038d137, 0x0284fa67, 0x03117a96, 0x01c75ff0, 0x02079be8, 0x002eb298}}}, + {X: Field{[10]uint32{0x00a1f6a1, 0x01a47f37, 0x03f1a30e, 0x0050d233, 0x01068cbd, 0x007a1b38, 0x006dc5cb, 0x025d854a, 0x0093cb25, 0x0022630d}}, Y: Field{[10]uint32{0x024f647c, 0x037083c5, 0x0179ca4a, 0x025e7caf, 0x03b2a7cf, 0x00ab1ba4, 0x00454245, 0x02955276, 0x0186ab56, 0x001d7dd6}}}, + {X: Field{[10]uint32{0x0235c795, 0x038aef1c, 0x001d7584, 0x0163af55, 0x030b0d89, 0x03472275, 0x03b05b37, 0x025d2ce4, 0x022435ef, 0x00018f11}}, Y: Field{[10]uint32{0x03110258, 0x00b70256, 0x029bd3f3, 0x02b3e926, 0x029e4acb, 0x00c7216d, 0x01f660d9, 0x0210110c, 0x03b91303, 0x00389fe6}}}, + {X: Field{[10]uint32{0x011e3998, 0x02780f0f, 0x00328aa6, 0x02e45e81, 0x025e56c8, 0x008a89d3, 0x01299d70, 0x022fc069, 0x02fed291, 0x002c84f8}}, Y: Field{[10]uint32{0x025fb81e, 0x032f718c, 0x01175ec2, 0x016faf7b, 0x03d53416, 0x00e90ef0, 0x0161ebf8, 0x00f04b0f, 0x02c20f2d, 0x0008a7e3}}}, + {X: Field{[10]uint32{0x031048da, 0x01efc9e7, 0x013ba777, 0x03cdcf77, 0x02ba2fd4, 0x0341ef38, 0x03a069d9, 0x015bc3f6, 0x00e3f1ad, 0x001e598d}}, Y: Field{[10]uint32{0x0106cf01, 0x026f8928, 0x00862e8f, 0x03633f5d, 0x02532576, 0x029e49fc, 0x01e74735, 0x002e255b, 0x02b6cfb2, 0x001363b8}}}, + {X: Field{[10]uint32{0x025be234, 0x0387fb28, 0x0350700b, 0x039c377c, 0x020e83e3, 0x00581b81, 0x01d0ba69, 0x03e4f974, 0x02d816c7, 0x0012cece}}, Y: Field{[10]uint32{0x020e8362, 0x02df80e4, 0x01b84063, 0x024b3c84, 0x0041e7fd, 0x03633013, 0x035e96df, 0x02f271e1, 0x023b85da, 0x0017bb00}}}, + {X: Field{[10]uint32{0x005201e1, 0x0026b270, 0x0377dab2, 0x016ba0da, 0x01d264cb, 0x03a8d7e6, 0x02bd55cd, 0x01e2ba14, 0x02b06e6c, 0x0030a671}}, Y: Field{[10]uint32{0x00f51ba3, 0x00cc4e94, 0x02ae9add, 0x03d60eb0, 0x03bd74dc, 0x035dd335, 0x0084f24f, 0x02016ce2, 0x01923611, 0x0016a9ce}}}, + {X: Field{[10]uint32{0x0289f55e, 0x018d29f8, 0x02707b96, 0x03c38b1d, 0x022976b0, 0x01e2596f, 0x00251b02, 0x013e5808, 0x00b6ddb0, 0x0027dee2}}, Y: Field{[10]uint32{0x021e4bde, 0x034ed97f, 0x022b1b3c, 0x0383ac42, 0x03c0e536, 0x0263f1c7, 0x03146b42, 0x0043def8, 0x0384c704, 0x000cbe7d}}}, + {X: Field{[10]uint32{0x001cbaab, 0x01e9fc5b, 0x0164cfd3, 0x01e40cf5, 0x001acab8, 0x029c18d7, 0x00ab6c18, 0x0181c566, 0x0298fb35, 0x00340c6b}}, Y: Field{[10]uint32{0x01116b26, 0x02411fe1, 0x01fdc4c3, 0x013f6f59, 0x036dfb4a, 0x0372d373, 0x02e4c06a, 0x01613a39, 0x02b4e954, 0x00105465}}}, + {X: Field{[10]uint32{0x01fe1d2b, 0x01272307, 0x038e5165, 0x002795a1, 0x00c493f5, 0x00fedce9, 0x02ccadfd, 0x01238f9d, 0x03e9cb74, 0x00356290}}, Y: Field{[10]uint32{0x00d50922, 0x009e56e3, 0x02fbffcf, 0x008572f5, 0x0354d9ba, 0x020a09da, 0x02729132, 0x020f3c42, 0x026ba058, 0x003f05e1}}}, + {X: Field{[10]uint32{0x007996c0, 0x03ef5611, 0x0269a626, 0x01c9dae8, 0x016e2eed, 0x02fb743a, 0x03979577, 0x00d590e6, 0x02d86a95, 0x0005ba16}}, Y: Field{[10]uint32{0x00151d48, 0x022f192e, 0x01d54488, 0x02b6715a, 0x0221b642, 0x0003b556, 0x0217e5ce, 0x0124fbec, 0x00aeb424, 0x001d022c}}}, + {X: Field{[10]uint32{0x009c795e, 0x00546f89, 0x0005e124, 0x02aa673a, 0x02ed4406, 0x0309fa93, 0x02d969c3, 0x020c4335, 0x01397111, 0x0008749c}}, Y: Field{[10]uint32{0x01208ece, 0x004bb0e6, 0x03761b00, 0x01292b7e, 0x03d67194, 0x008aed30, 0x0335b855, 0x02b3a85d, 0x01b4b075, 0x0025317e}}}, + {X: Field{[10]uint32{0x03c0df5d, 0x0045de38, 0x02792f1a, 0x03ed455a, 0x032019ef, 0x01d75fea, 0x00adab94, 0x02cce9f6, 0x0214441f, 0x003a03fa}}, Y: Field{[10]uint32{0x02c9ec78, 0x010a46da, 0x02ea9fcb, 0x0202bcc8, 0x032d155e, 0x00f2a511, 0x009768ca, 0x0001dc7a, 0x027f638e, 0x003bb477}}}, + }, + { + {X: Field{[10]uint32{0x03c0df5d, 0x0045de38, 0x02792f1a, 0x03ed455a, 0x032019ef, 0x01d75fea, 0x00adab94, 0x02cce9f6, 0x0214441f, 0x003a03fa}}, Y: Field{[10]uint32{0x02c9ec78, 0x010a46da, 0x02ea9fcb, 0x0202bcc8, 0x032d155e, 0x00f2a511, 0x009768ca, 0x0001dc7a, 0x027f638e, 0x003bb477}}}, + {X: Field{[10]uint32{0x0383cd58, 0x0039e2c3, 0x039162db, 0x00e1df4b, 0x03122dcc, 0x03bf9e8d, 0x01ac4ed1, 0x00499660, 0x01f08ea4, 0x00110328}}, Y: Field{[10]uint32{0x008a3f4b, 0x02f01a6e, 0x02260b07, 0x0109a702, 0x02a21e4d, 0x03538bc0, 0x00954dc9, 0x03848abe, 0x00d2cd5e, 0x0029b22c}}}, + {X: Field{[10]uint32{0x03592d55, 0x00d67b35, 0x010192c0, 0x011d038d, 0x0106d5b9, 0x00cf38ec, 0x02fef696, 0x00149822, 0x02dbc4a1, 0x00174bb1}}, Y: Field{[10]uint32{0x035183a7, 0x039743ab, 0x01174266, 0x0336b445, 0x010e2a7b, 0x01a335a5, 0x03710fa2, 0x0117ad63, 0x01f89c6e, 0x0002a4b3}}}, + {X: Field{[10]uint32{0x02998b10, 0x02f689c4, 0x029d9e81, 0x02f306c8, 0x019bc70e, 0x00ea41e0, 0x037f829d, 0x01b07317, 0x03af2b96, 0x003da532}}, Y: Field{[10]uint32{0x00f05e51, 0x0222c5c0, 0x02a47f67, 0x030c60f0, 0x02eb6c64, 0x0311b60a, 0x03c5ffac, 0x03c0f58c, 0x02ba61be, 0x0010298f}}}, + {X: Field{[10]uint32{0x028f9f5c, 0x03d2d27f, 0x00a51991, 0x03856620, 0x017361f1, 0x0057d013, 0x02cae342, 0x03dd0bf8, 0x01c3b11b, 0x002b0dc7}}, Y: Field{[10]uint32{0x025a503c, 0x020ffccc, 0x01e1d17a, 0x0163b9d4, 0x01229534, 0x009539cd, 0x02101e73, 0x0291dffc, 0x02c18709, 0x00314585}}}, + {X: Field{[10]uint32{0x015bf84c, 0x012e3e39, 0x01027a74, 0x03b55c36, 0x03d964c6, 0x008f2b93, 0x01d3c252, 0x01b32397, 0x0099ceb9, 0x00189e0a}}, Y: Field{[10]uint32{0x0315fa2a, 0x0073ead7, 0x036ed6f5, 0x039f7745, 0x039a020d, 0x025c99e0, 0x00549722, 0x028a2407, 0x00a40911, 0x00359c2b}}}, + {X: Field{[10]uint32{0x01e33446, 0x00723546, 0x0385df4a, 0x03114abc, 0x0240893b, 0x0088a85e, 0x008c0bd0, 0x0210324d, 0x003a14f1, 0x00225080}}, Y: Field{[10]uint32{0x02387689, 0x00e28039, 0x00f9840d, 0x00d9e79d, 0x006bfd77, 0x03bf7938, 0x00b2d6d0, 0x001de936, 0x039595a5, 0x002a7f40}}}, + {X: Field{[10]uint32{0x01d553fd, 0x0284cd63, 0x02414f95, 0x0257022d, 0x0047abf6, 0x02689654, 0x036d4f43, 0x01a12142, 0x022a3556, 0x0022dba1}}, Y: Field{[10]uint32{0x029be5ed, 0x00f6b4cf, 0x003d0d80, 0x016860ce, 0x0124ac3c, 0x013ae7e8, 0x010bc2df, 0x0072d034, 0x00910ed1, 0x003a9782}}}, + {X: Field{[10]uint32{0x0113cb26, 0x00a3256e, 0x016d03d7, 0x027004ef, 0x0099eb41, 0x01541726, 0x00da44ff, 0x010aa28b, 0x026b30a3, 0x0009dc09}}, Y: Field{[10]uint32{0x0348a7a2, 0x01c5ccfc, 0x01bebbfe, 0x006f3205, 0x00e940c9, 0x01fcacc9, 0x012d24d0, 0x036c6955, 0x005e79b0, 0x003d926f}}}, + {X: Field{[10]uint32{0x030c58bd, 0x010912b3, 0x024ce23f, 0x0137d911, 0x0228d49f, 0x01aabb3d, 0x019e1005, 0x013024cb, 0x006e2484, 0x0034eb7c}}, Y: Field{[10]uint32{0x03c89387, 0x0392ae4d, 0x00c9ce52, 0x027e92e6, 0x02aee386, 0x03fd8e2e, 0x03b2febc, 0x0181def7, 0x01b4fc2a, 0x0015fa67}}}, + {X: Field{[10]uint32{0x015e8247, 0x02a80856, 0x00d1af0a, 0x01155a1b, 0x0097bfdc, 0x033e2ea4, 0x025e6e01, 0x03b485e3, 0x00d383cb, 0x001d7934}}, Y: Field{[10]uint32{0x01982d22, 0x00ff6756, 0x01893ca2, 0x02dbaa6b, 0x007ddab5, 0x01edc9b5, 0x01f970ec, 0x002641d0, 0x02a17541, 0x0007f390}}}, + {X: Field{[10]uint32{0x039715c2, 0x011c743c, 0x0129a399, 0x0087e629, 0x01690065, 0x028cffb7, 0x011f78ce, 0x00f616d0, 0x0288f19a, 0x000bc627}}, Y: Field{[10]uint32{0x0171dfea, 0x018d6110, 0x014f066a, 0x038b0da1, 0x03eb3333, 0x03443e7d, 0x0308475e, 0x035f3f7d, 0x01f8f3c5, 0x0032468e}}}, + {X: Field{[10]uint32{0x02333323, 0x027d1369, 0x02bf4747, 0x0071a3d2, 0x009cbbbc, 0x026136a1, 0x0020d605, 0x02efc0fc, 0x02383361, 0x000fb46d}}, Y: Field{[10]uint32{0x01d61ba3, 0x00ff122d, 0x037294b1, 0x02842de3, 0x02a9b728, 0x0223e4a7, 0x017c9896, 0x013b9d76, 0x01a48b5b, 0x003613cb}}}, + {X: Field{[10]uint32{0x023eb3fc, 0x018bb73e, 0x02398875, 0x02513643, 0x0277ee68, 0x02229bdf, 0x0246b408, 0x01aedddf, 0x00bb0a1b, 0x0034b372}}, Y: Field{[10]uint32{0x02d37564, 0x021f6cf7, 0x00927442, 0x02e4c42d, 0x02c1f217, 0x033e49bb, 0x01e95362, 0x018411b7, 0x02f9e5c5, 0x003154e2}}}, + {X: Field{[10]uint32{0x033980bf, 0x0015f52c, 0x000baf25, 0x00b94374, 0x0368a370, 0x00d23750, 0x006fd772, 0x020606e1, 0x02f06a75, 0x001c3f74}}, Y: Field{[10]uint32{0x00b75785, 0x03aa33a8, 0x00a5612e, 0x020e175d, 0x030a1035, 0x007b965a, 0x03a410d1, 0x021a5a55, 0x02c0d0d5, 0x0017b7f2}}}, + {X: Field{[10]uint32{0x00e16070, 0x001eef31, 0x02915ddc, 0x000c7bf5, 0x03f2a182, 0x03559d50, 0x03a48e51, 0x01c10c4e, 0x017bdfcd, 0x0028c05a}}, Y: Field{[10]uint32{0x02177ea1, 0x03468107, 0x01a130c0, 0x03df0284, 0x031735db, 0x017503e6, 0x01809fa2, 0x0393d420, 0x011cfb67, 0x001cdc3e}}}, + }, + { + {X: Field{[10]uint32{0x00e16070, 0x001eef31, 0x02915ddc, 0x000c7bf5, 0x03f2a182, 0x03559d50, 0x03a48e51, 0x01c10c4e, 0x017bdfcd, 0x0028c05a}}, Y: Field{[10]uint32{0x02177ea1, 0x03468107, 0x01a130c0, 0x03df0284, 0x031735db, 0x017503e6, 0x01809fa2, 0x0393d420, 0x011cfb67, 0x001cdc3e}}}, + {X: Field{[10]uint32{0x024ba5ae, 0x0080c5bc, 0x035d8114, 0x000130d2, 0x00b43965, 0x0382ffdd, 0x028d2419, 0x03c127cf, 0x019cff79, 0x0009f879}}, Y: Field{[10]uint32{0x003a45b3, 0x016ffba2, 0x023f784a, 0x029a6be9, 0x01df48a1, 0x031e77c1, 0x01b5e3cf, 0x038827b8, 0x02a6c804, 0x000c42c9}}}, + {X: Field{[10]uint32{0x038011fc, 0x0049c004, 0x00562670, 0x019eb5ca, 0x0183596a, 0x00880293, 0x02b13308, 0x03ac4455, 0x03a30815, 0x001ba0c4}}, Y: Field{[10]uint32{0x0315ab7d, 0x02da7e8f, 0x01f9a6ac, 0x016ba714, 0x0026af91, 0x0076b0c1, 0x0212db20, 0x03c81306, 0x018bdc24, 0x003051e0}}}, + {X: Field{[10]uint32{0x00aed7ae, 0x0245d727, 0x03b4f996, 0x037a13ef, 0x035a39ad, 0x024b5f93, 0x0188ec38, 0x012bb859, 0x03a5f686, 0x0031c4b9}}, Y: Field{[10]uint32{0x02156294, 0x00522a91, 0x0263784d, 0x01512c33, 0x01380d8e, 0x00477679, 0x02d4b823, 0x018ecd97, 0x01075163, 0x00125910}}}, + {X: Field{[10]uint32{0x000e6ba7, 0x01d26e34, 0x02f7f53a, 0x016d1245, 0x003d36ec, 0x0136786d, 0x011e038a, 0x02147caf, 0x01099784, 0x003e54aa}}, Y: Field{[10]uint32{0x0175e4c1, 0x02bbb940, 0x022b98db, 0x01ed318a, 0x02555716, 0x009fe83d, 0x01376a2e, 0x033afe18, 0x025b08ab, 0x00362a4e}}}, + {X: Field{[10]uint32{0x015b6f7e, 0x0127d716, 0x02021f95, 0x014f4e2c, 0x01beb32b, 0x00261db3, 0x02053aad, 0x028c320e, 0x011d04cd, 0x00296b1f}}, Y: Field{[10]uint32{0x02b19c84, 0x02edcc22, 0x00a4848d, 0x0183d606, 0x0399e391, 0x01f67b86, 0x00c3c924, 0x03d56cdb, 0x020ab540, 0x0037c2e2}}}, + {X: Field{[10]uint32{0x03aa0e93, 0x001968a0, 0x01f62690, 0x010ebbec, 0x028f2e39, 0x0367a24e, 0x00031a19, 0x03fb9d41, 0x015e31d3, 0x0025005b}}, Y: Field{[10]uint32{0x03addac2, 0x03b49a21, 0x0307a38e, 0x00eea95e, 0x03f48437, 0x03bb9bf5, 0x0355d354, 0x01365900, 0x02ee5c45, 0x0019d40c}}}, + {X: Field{[10]uint32{0x00a6db03, 0x00f87f91, 0x01d791b4, 0x01bd609d, 0x00b2c85d, 0x02e19d7f, 0x01c0d426, 0x008d7419, 0x0104a4b3, 0x0002ff01}}, Y: Field{[10]uint32{0x024b8542, 0x03234691, 0x00f0558a, 0x025cd175, 0x02374271, 0x0129b264, 0x038ec7f9, 0x03cd14fe, 0x027a6c34, 0x00065551}}}, + {X: Field{[10]uint32{0x0266b17b, 0x01218b80, 0x03b32b0f, 0x0288098a, 0x02023568, 0x02a7c270, 0x03978846, 0x02ca246e, 0x0174d59f, 0x003bc8b4}}, Y: Field{[10]uint32{0x01dac83e, 0x01b810de, 0x001b732a, 0x01bdc70d, 0x033ee727, 0x038d2841, 0x039ccc3a, 0x0131d5a3, 0x00c97ab2, 0x002f15e1}}}, + {X: Field{[10]uint32{0x034318b5, 0x00b150ba, 0x0045657f, 0x0204bd6e, 0x0272ed5c, 0x03c815fb, 0x0388a38d, 0x02343d55, 0x01fbe194, 0x0026217d}}, Y: Field{[10]uint32{0x0199175c, 0x01509505, 0x004af2fe, 0x03b59da4, 0x027c82ad, 0x01a33ae3, 0x012c4677, 0x0263e65b, 0x02f69ef1, 0x0004d7f5}}}, + {X: Field{[10]uint32{0x02d382a0, 0x00c056a4, 0x019ae231, 0x02f38bb3, 0x03f28dcb, 0x02cb7e49, 0x00acc780, 0x0224b4e7, 0x03ce4ceb, 0x002d7dfb}}, Y: Field{[10]uint32{0x01b4b532, 0x03c2aee9, 0x038c5ba2, 0x01b4a6b3, 0x0371fb09, 0x0032f774, 0x00957c6e, 0x03c8d4f0, 0x005b51c3, 0x001a10d5}}}, + {X: Field{[10]uint32{0x0281c1bc, 0x0292b933, 0x01b33b93, 0x03962aed, 0x03d25365, 0x01a339d9, 0x01815b8d, 0x00118d6b, 0x0305465c, 0x0000cd83}}, Y: Field{[10]uint32{0x026cbedd, 0x034a2595, 0x0150176d, 0x03ad7204, 0x03231728, 0x004c19d4, 0x0369c425, 0x0140053f, 0x01f90c57, 0x001f922d}}}, + {X: Field{[10]uint32{0x012cffa5, 0x02491910, 0x005c47e6, 0x00219a33, 0x0389ed42, 0x02f51890, 0x00754d8f, 0x0041d902, 0x03d2b2e7, 0x00073770}}, Y: Field{[10]uint32{0x0121954e, 0x01b62735, 0x03528ade, 0x0109acda, 0x02c41c98, 0x0250ac22, 0x01b126bf, 0x03e298ff, 0x020cb2f1, 0x000791da}}}, + {X: Field{[10]uint32{0x008993f7, 0x027dcd01, 0x03ce1150, 0x008fe09c, 0x02962552, 0x0322eb90, 0x034fbe1b, 0x0214458c, 0x006a56a3, 0x00021d4d}}, Y: Field{[10]uint32{0x02b9dcc2, 0x030b205c, 0x0018e601, 0x03c6c498, 0x03c9f4d4, 0x01d7e8a1, 0x02994e6e, 0x022c0c43, 0x00a8a2ef, 0x0001939b}}}, + {X: Field{[10]uint32{0x00a9f22f, 0x03f90e4d, 0x00e2ad35, 0x031485ea, 0x00cc0819, 0x01220d6c, 0x01f8b8b9, 0x03a4e7c8, 0x0359f25c, 0x000ab32c}}, Y: Field{[10]uint32{0x035c4927, 0x01772ced, 0x0150b7b7, 0x02fb16e9, 0x01154bd7, 0x037c3b7c, 0x0213a37e, 0x034b9464, 0x00e9588a, 0x00354629}}}, + {X: Field{[10]uint32{0x03b04ed4, 0x02b18f8f, 0x03fffab7, 0x002c44c1, 0x0208cc33, 0x0099e378, 0x03f9d051, 0x02e4d918, 0x01b389d6, 0x00242b61}}, Y: Field{[10]uint32{0x036ef150, 0x03535232, 0x0094d991, 0x02f8560a, 0x0039aefa, 0x009c88ae, 0x03dcbd94, 0x020986bf, 0x023620a3, 0x0003941e}}}, + }, + { + {X: Field{[10]uint32{0x03b04ed4, 0x02b18f8f, 0x03fffab7, 0x002c44c1, 0x0208cc33, 0x0099e378, 0x03f9d051, 0x02e4d918, 0x01b389d6, 0x00242b61}}, Y: Field{[10]uint32{0x036ef150, 0x03535232, 0x0094d991, 0x02f8560a, 0x0039aefa, 0x009c88ae, 0x03dcbd94, 0x020986bf, 0x023620a3, 0x0003941e}}}, + {X: Field{[10]uint32{0x03dc0151, 0x022c3b69, 0x03bad281, 0x039919c1, 0x017e125b, 0x0210978f, 0x00b1d154, 0x0101dfd1, 0x000ef8c9, 0x001f8b35}}, Y: Field{[10]uint32{0x00721ec7, 0x02f14e48, 0x0082c9a3, 0x0102bbb8, 0x01889bee, 0x0087be57, 0x0261a8b3, 0x03eace0a, 0x01082adc, 0x002416dd}}}, + {X: Field{[10]uint32{0x00b7b678, 0x0176ccec, 0x03816627, 0x0046f3d8, 0x02f13c43, 0x009adb1d, 0x0186bca4, 0x008c6e86, 0x017334e4, 0x00061b92}}, Y: Field{[10]uint32{0x00d91fc1, 0x001dbcbe, 0x035dca7a, 0x00951254, 0x02110772, 0x002df99f, 0x03fc825c, 0x02f612a9, 0x00e49807, 0x00303518}}}, + {X: Field{[10]uint32{0x0345e597, 0x000eb904, 0x03cf90e1, 0x03e76e14, 0x039c636b, 0x007bd4a9, 0x00975bbd, 0x036b3887, 0x012195be, 0x002851bd}}, Y: Field{[10]uint32{0x005a770a, 0x0159dabd, 0x014b0767, 0x02c887c2, 0x00ea67a5, 0x02ecc6d0, 0x0295dd2d, 0x03fac26b, 0x030ab053, 0x00296a66}}}, + {X: Field{[10]uint32{0x03421fb8, 0x01b972ec, 0x015d0cf0, 0x03cbbd69, 0x02984971, 0x00edc904, 0x0206b34c, 0x02fd8b9f, 0x01834f6d, 0x00018723}}, Y: Field{[10]uint32{0x023ccd80, 0x03bd9a13, 0x00dd2995, 0x012ce9bf, 0x00806713, 0x03817ad7, 0x01392590, 0x02d2deea, 0x02d99003, 0x001b7f1a}}}, + {X: Field{[10]uint32{0x03b9dc8f, 0x03226e12, 0x01333d08, 0x00fbd7b7, 0x01aba9e9, 0x0149e1f4, 0x00f70353, 0x01a19092, 0x01cee1c2, 0x003f6650}}, Y: Field{[10]uint32{0x019780d5, 0x03ab94f9, 0x0138d743, 0x03f7bbfa, 0x027872b2, 0x02221679, 0x0297e057, 0x039bd1b7, 0x0075bd40, 0x001e907b}}}, + {X: Field{[10]uint32{0x036b35a4, 0x012f862b, 0x03b48712, 0x029aac9f, 0x01889f37, 0x00ce9a2b, 0x03632407, 0x03944edc, 0x023a208e, 0x003da9ad}}, Y: Field{[10]uint32{0x01f422a6, 0x02dbfb20, 0x01862cae, 0x01b9d7b8, 0x0319d575, 0x0158061b, 0x02d3704f, 0x004e2c72, 0x00a8002d, 0x000f7df2}}}, + {X: Field{[10]uint32{0x00e45444, 0x02d4ff13, 0x004e20cb, 0x007bfb33, 0x00dbde42, 0x0096a045, 0x03bf9dab, 0x024ee6f3, 0x01a1cf19, 0x0034931d}}, Y: Field{[10]uint32{0x03dd4a57, 0x00c91a61, 0x02524cb9, 0x03d267c7, 0x02bf7593, 0x003969e2, 0x00b7d181, 0x0307473f, 0x012de84d, 0x00163f87}}}, + {X: Field{[10]uint32{0x02954c11, 0x0208fa29, 0x01018b96, 0x00f05583, 0x037fa8a4, 0x0141de3f, 0x00d1b0f1, 0x030dd888, 0x0028c286, 0x0021e8bf}}, Y: Field{[10]uint32{0x032a8b45, 0x038ccb89, 0x0124b756, 0x00fca9e0, 0x02cc4893, 0x00349d4c, 0x031948da, 0x03b3be5e, 0x018b45aa, 0x000ceb54}}}, + {X: Field{[10]uint32{0x03a43ddc, 0x006bfa61, 0x02e4aeeb, 0x0286a655, 0x0124282c, 0x039ef7d5, 0x001eb85e, 0x02b1b684, 0x03864946, 0x002a2c22}}, Y: Field{[10]uint32{0x03a2a6b8, 0x000720b7, 0x036c3870, 0x0114ac41, 0x00a325b4, 0x03c3a3b7, 0x01591ffd, 0x01a807cc, 0x028bc8a3, 0x001fc03f}}}, + {X: Field{[10]uint32{0x02706ab6, 0x01d1cab8, 0x03c0dae4, 0x00774b94, 0x023c0b34, 0x030e133f, 0x0156efcb, 0x02069a11, 0x02046e78, 0x003851cb}}, Y: Field{[10]uint32{0x0158de05, 0x021a85a7, 0x0127536e, 0x015514f3, 0x00aa589d, 0x0321887e, 0x03691978, 0x023f1a0f, 0x02aa47c5, 0x0020b364}}}, + {X: Field{[10]uint32{0x03963645, 0x0250cb0e, 0x031f8e3e, 0x0201f9c7, 0x032dcdb2, 0x038c4cbe, 0x034781a2, 0x0298f9b9, 0x014fb1b8, 0x00317c25}}, Y: Field{[10]uint32{0x008be2dd, 0x0221d3c0, 0x03e4edbf, 0x00ac011e, 0x02a33050, 0x009835f9, 0x023cb440, 0x02dbec62, 0x031021b0, 0x003554b4}}}, + {X: Field{[10]uint32{0x03a84fb6, 0x02b95081, 0x01021ebf, 0x01d43e85, 0x03c42368, 0x03922e7a, 0x00b4d601, 0x02bbd77a, 0x02c804f8, 0x00072be4}}, Y: Field{[10]uint32{0x03149109, 0x00606409, 0x0267616b, 0x01a5a8b3, 0x02ec1cc1, 0x03c40588, 0x01a64f8f, 0x0394e920, 0x005ac976, 0x002f092e}}}, + {X: Field{[10]uint32{0x01c8381f, 0x024c48fa, 0x011a753a, 0x0358e0f0, 0x000ed3d6, 0x013f8404, 0x02beb463, 0x025f38d3, 0x0355bc6d, 0x0037ceb3}}, Y: Field{[10]uint32{0x0347de3a, 0x03f5a588, 0x009e61af, 0x01f99f8e, 0x03b10195, 0x036b347a, 0x0099c1de, 0x01e9d698, 0x00ca5190, 0x001acf76}}}, + {X: Field{[10]uint32{0x02955911, 0x0233f852, 0x0152db76, 0x0289837b, 0x03107e16, 0x00f5e0e5, 0x009efe9b, 0x01943496, 0x0169af09, 0x001c16ff}}, Y: Field{[10]uint32{0x03d200e4, 0x01f1a4ff, 0x0272d8bb, 0x0148a90b, 0x02297f3b, 0x0150147e, 0x0263d81f, 0x03e6429f, 0x00130b73, 0x003852a9}}}, + {X: Field{[10]uint32{0x02c4c0da, 0x02d11327, 0x023351b7, 0x01e1c8fa, 0x02e88c56, 0x0207c58b, 0x039c1ad9, 0x017cce48, 0x01d2f63b, 0x0023da2e}}, Y: Field{[10]uint32{0x001fff82, 0x032fde54, 0x00bfdf23, 0x03fa5544, 0x01bbea2c, 0x01af8857, 0x01d90c2b, 0x00e61b78, 0x032dba06, 0x00198aa7}}}, + }, + { + {X: Field{[10]uint32{0x02c4c0da, 0x02d11327, 0x023351b7, 0x01e1c8fa, 0x02e88c56, 0x0207c58b, 0x039c1ad9, 0x017cce48, 0x01d2f63b, 0x0023da2e}}, Y: Field{[10]uint32{0x001fff82, 0x032fde54, 0x00bfdf23, 0x03fa5544, 0x01bbea2c, 0x01af8857, 0x01d90c2b, 0x00e61b78, 0x032dba06, 0x00198aa7}}}, + {X: Field{[10]uint32{0x00f27076, 0x011f7e13, 0x03eaee68, 0x02b79d89, 0x01d89858, 0x03f66bd6, 0x02febe77, 0x020563f2, 0x02fd784e, 0x0013526b}}, Y: Field{[10]uint32{0x03aa781e, 0x002d9880, 0x018466b9, 0x0069f7d3, 0x006e0f2d, 0x016729bc, 0x023f2103, 0x0344d79c, 0x0059a10d, 0x00334cbf}}}, + {X: Field{[10]uint32{0x023809fa, 0x00ae3b74, 0x014be18e, 0x02cd4765, 0x00fd845c, 0x009147c2, 0x0293363f, 0x027c8a2e, 0x01be2e50, 0x000e0e07}}, Y: Field{[10]uint32{0x031fed52, 0x001d460c, 0x0324dbd7, 0x032ccb63, 0x003681fc, 0x0083ac73, 0x01405a55, 0x005f72c2, 0x010a0fb9, 0x003928cb}}}, + {X: Field{[10]uint32{0x01b62026, 0x02f2d5ca, 0x01d4ee8d, 0x03822274, 0x038d2a3d, 0x03d716a9, 0x016619e1, 0x01be14df, 0x039e85d5, 0x001d5914}}, Y: Field{[10]uint32{0x02ce0cf3, 0x00b23eb6, 0x01f33417, 0x036552de, 0x01684aac, 0x029c8a49, 0x031df524, 0x02cf1948, 0x01413749, 0x003075a1}}}, + {X: Field{[10]uint32{0x03c2a310, 0x01099225, 0x026303ea, 0x02950048, 0x01f186ae, 0x0291a668, 0x0121b82a, 0x00ab9bda, 0x0324e437, 0x00124989}}, Y: Field{[10]uint32{0x0227ded0, 0x006da057, 0x038ce0c4, 0x004a9d7f, 0x036d1636, 0x01c50c0e, 0x02cfa569, 0x02afe568, 0x0373bca7, 0x0004cdf9}}}, + {X: Field{[10]uint32{0x03663da4, 0x019b0640, 0x00b81f81, 0x02467d74, 0x03a5a362, 0x03112a8a, 0x008a6ed7, 0x01c179a0, 0x02356aa5, 0x001a9992}}, Y: Field{[10]uint32{0x03fc22c4, 0x00c4fecc, 0x004c9c28, 0x0049f9b0, 0x01089916, 0x01afc335, 0x0386ec19, 0x03a62ca7, 0x025954fd, 0x00112684}}}, + {X: Field{[10]uint32{0x02bd2d31, 0x012c1e73, 0x01b8d138, 0x015bfc1b, 0x004dcc1a, 0x011df8be, 0x02253b3e, 0x00324357, 0x028c1a24, 0x0038c195}}, Y: Field{[10]uint32{0x02546e44, 0x02d020e4, 0x03826692, 0x010af8dc, 0x02ffbc80, 0x03df436d, 0x00f2b107, 0x01098222, 0x03e37893, 0x0003ab1b}}}, + {X: Field{[10]uint32{0x03b4a278, 0x0136b355, 0x0082b536, 0x017c7fd0, 0x0078f61a, 0x02b67332, 0x006ff301, 0x009de59d, 0x017ad9df, 0x000842a4}}, Y: Field{[10]uint32{0x007b2231, 0x01c4ff43, 0x00bfc7f2, 0x006abfc8, 0x013789e6, 0x02359cdf, 0x039be81f, 0x0395ede8, 0x035450b5, 0x0019c386}}}, + {X: Field{[10]uint32{0x023136b0, 0x0030e78d, 0x01dd9c53, 0x0366aad0, 0x0374ebf8, 0x00fef58c, 0x01b0e762, 0x033bf09c, 0x000e2428, 0x000ee784}}, Y: Field{[10]uint32{0x00dbbc8a, 0x03b05bdb, 0x01f81953, 0x028ceb4c, 0x02a2ae28, 0x03d1d6c9, 0x01533eb8, 0x02edc77c, 0x00152d16, 0x003ebee6}}}, + {X: Field{[10]uint32{0x0190124e, 0x023ad4f7, 0x0085dea9, 0x01a14a07, 0x02c1e802, 0x036ce055, 0x029a1946, 0x015505df, 0x0293c06c, 0x001ebab2}}, Y: Field{[10]uint32{0x02021e31, 0x001e0408, 0x0104b3f5, 0x03e6e42a, 0x0159bc1b, 0x01b07654, 0x02caff04, 0x0243c13e, 0x03190c13, 0x0037eca6}}}, + {X: Field{[10]uint32{0x03485d3f, 0x023c11cb, 0x03eee960, 0x01a2041e, 0x0317ca07, 0x0177b7bd, 0x036ca80f, 0x0326a4ad, 0x0149712a, 0x002ec2ab}}, Y: Field{[10]uint32{0x00a2f975, 0x00e4940f, 0x00bffe79, 0x03e8c59c, 0x00895a5a, 0x00a5f68d, 0x00d201f7, 0x0151e63b, 0x0053c583, 0x003a9a67}}}, + {X: Field{[10]uint32{0x01ed815e, 0x01c0b541, 0x017b470f, 0x02af0700, 0x0166f440, 0x02551eb4, 0x035fad21, 0x0128cbae, 0x02c679f7, 0x00155a36}}, Y: Field{[10]uint32{0x00602df0, 0x02fd9300, 0x02151d9b, 0x03bb8960, 0x03eb05f7, 0x0341cfca, 0x00d6fe01, 0x02e99160, 0x00742788, 0x001ea17e}}}, + {X: Field{[10]uint32{0x02718dc9, 0x03b4ce8d, 0x023de4ae, 0x0136c044, 0x03e1e58b, 0x02bf8044, 0x028eb197, 0x03f30353, 0x02c8e4ee, 0x001e4242}}, Y: Field{[10]uint32{0x00fae7c5, 0x00c8ac47, 0x0008b963, 0x02dc2ea4, 0x02dd36af, 0x0366aa95, 0x01816cbc, 0x016e3c4f, 0x022b9190, 0x003aaadc}}}, + {X: Field{[10]uint32{0x0244a0c8, 0x0306f70b, 0x01932abe, 0x0100bb8a, 0x032c9be7, 0x031d0db0, 0x01bae600, 0x0250f2f2, 0x02884807, 0x001807a7}}, Y: Field{[10]uint32{0x0200e557, 0x024d04ae, 0x02659547, 0x0169ad1b, 0x01424e0c, 0x03feaeec, 0x00b8cfa9, 0x023b31c5, 0x02aa6fdc, 0x00169e88}}}, + {X: Field{[10]uint32{0x0360c7d1, 0x025a531f, 0x01ad2a26, 0x039f35dd, 0x028dd71d, 0x01526e99, 0x003dbbce, 0x01ed5470, 0x01ade9f9, 0x0039df20}}, Y: Field{[10]uint32{0x02d72449, 0x01607ca0, 0x006d34ec, 0x03dc70a6, 0x03631470, 0x03aa0550, 0x03c3b323, 0x004c8717, 0x0078eef8, 0x000eb3c5}}}, + {X: Field{[10]uint32{0x03231e11, 0x01bf5414, 0x01e3e668, 0x01940da0, 0x011f48e8, 0x02630d82, 0x0399ff91, 0x0217597f, 0x030176af, 0x00393cfe}}, Y: Field{[10]uint32{0x03eb73bc, 0x030e15db, 0x011c9822, 0x013b2547, 0x006cc7e7, 0x0280adca, 0x021a6d0e, 0x013c7059, 0x033ad0ef, 0x000798d8}}}, + }, + { + {X: Field{[10]uint32{0x03231e11, 0x01bf5414, 0x01e3e668, 0x01940da0, 0x011f48e8, 0x02630d82, 0x0399ff91, 0x0217597f, 0x030176af, 0x00393cfe}}, Y: Field{[10]uint32{0x03eb73bc, 0x030e15db, 0x011c9822, 0x013b2547, 0x006cc7e7, 0x0280adca, 0x021a6d0e, 0x013c7059, 0x033ad0ef, 0x000798d8}}}, + {X: Field{[10]uint32{0x03cdaf2f, 0x03b888ce, 0x032953bf, 0x02096e85, 0x0388531a, 0x02f6cd8b, 0x0064110a, 0x01cf807b, 0x03b76867, 0x0012cc32}}, Y: Field{[10]uint32{0x0126b5b7, 0x00cf518f, 0x00575680, 0x020790d2, 0x011fdf3c, 0x01f0f12a, 0x01e2c577, 0x018a6dbe, 0x010265bb, 0x001d318d}}}, + {X: Field{[10]uint32{0x03f05bd6, 0x027c139a, 0x01946539, 0x000c84aa, 0x00a2f56e, 0x02d1c37b, 0x032f51fe, 0x013fa420, 0x0241bee4, 0x0024030c}}, Y: Field{[10]uint32{0x000d358b, 0x00ab4efc, 0x03b15de5, 0x0160f13b, 0x01d69853, 0x01c2c90e, 0x01c72045, 0x03c3d7e5, 0x01e8e8b1, 0x001b0c7e}}}, + {X: Field{[10]uint32{0x0273059f, 0x03a70a69, 0x03a192ff, 0x01414383, 0x03ec1171, 0x01d19205, 0x015b20b1, 0x01c03734, 0x00aa7ae1, 0x0032ed0d}}, Y: Field{[10]uint32{0x027c070c, 0x02a59088, 0x03845b7d, 0x013c2b57, 0x0141d45e, 0x022d77eb, 0x02d49233, 0x02f45d58, 0x000ab4da, 0x00128688}}}, + {X: Field{[10]uint32{0x03105c50, 0x030a3327, 0x005257a7, 0x03bdec4e, 0x0182e0de, 0x00f08cf3, 0x028cc340, 0x0242ab58, 0x0362ab05, 0x0016a340}}, Y: Field{[10]uint32{0x00a4cde9, 0x02c8060e, 0x013c35c9, 0x02299b40, 0x00a605f6, 0x0050ffdd, 0x02a6b724, 0x0394da4d, 0x02b113d4, 0x0030167a}}}, + {X: Field{[10]uint32{0x032e294d, 0x03ecbde9, 0x00dd5be6, 0x028fc034, 0x02f158eb, 0x037dfb71, 0x02289eae, 0x00d2e469, 0x00805cd5, 0x000a77f9}}, Y: Field{[10]uint32{0x00469b52, 0x00dc983b, 0x02e69441, 0x0070e4a7, 0x01d1f196, 0x02281793, 0x0034e758, 0x01cb866d, 0x0026d006, 0x002fd9b6}}}, + {X: Field{[10]uint32{0x02d64feb, 0x03862e6c, 0x0292c647, 0x02964a48, 0x003772f8, 0x01b2e93a, 0x02f3a577, 0x03d82923, 0x01031232, 0x00364fd3}}, Y: Field{[10]uint32{0x00698359, 0x03ef564d, 0x00da37b0, 0x002fbb24, 0x0193e043, 0x01372313, 0x037311c5, 0x009cce88, 0x015d45cb, 0x001e4955}}}, + {X: Field{[10]uint32{0x02de12c0, 0x01e1b841, 0x010e94d4, 0x03161d18, 0x006d9cda, 0x0155c913, 0x02d7b1e7, 0x00b07341, 0x016d9c10, 0x003d1e01}}, Y: Field{[10]uint32{0x025361fe, 0x01db39b2, 0x012d769a, 0x03d826ae, 0x0026c17e, 0x001a1a53, 0x00095e01, 0x00e51b9a, 0x0210f33e, 0x001fc279}}}, + {X: Field{[10]uint32{0x039fbc84, 0x00813350, 0x02016722, 0x0245815e, 0x037e7062, 0x018ab196, 0x014e2bc6, 0x00a1106c, 0x01c6e36f, 0x000bc1da}}, Y: Field{[10]uint32{0x00201bec, 0x0240b787, 0x015d73fb, 0x01a93137, 0x01cca79b, 0x02438852, 0x01df0079, 0x02f777e9, 0x03724d73, 0x002d0d3c}}}, + {X: Field{[10]uint32{0x0026dea2, 0x02cbf4b4, 0x005d8928, 0x0114b167, 0x0187c84c, 0x0269b758, 0x01a1e26d, 0x02efef5c, 0x0248d561, 0x0007773e}}, Y: Field{[10]uint32{0x003de522, 0x0121cf46, 0x0273406f, 0x02314701, 0x00666fd6, 0x0100b008, 0x03ea34d6, 0x00e9f507, 0x001fa992, 0x0031be90}}}, + {X: Field{[10]uint32{0x02a758ea, 0x01fab321, 0x019c4d53, 0x006249fc, 0x01911883, 0x01505b8e, 0x006895a1, 0x000c2656, 0x0380559e, 0x003f9f99}}, Y: Field{[10]uint32{0x037ab649, 0x008b6576, 0x020d1e4f, 0x001d10c4, 0x033b8017, 0x02124947, 0x0008e169, 0x0372e623, 0x0167a281, 0x000e2a9a}}}, + {X: Field{[10]uint32{0x033773f7, 0x03c011b0, 0x019953c7, 0x034d16d6, 0x0150d44f, 0x0278dca8, 0x01410c00, 0x008db4f8, 0x0226f5dd, 0x000d56cc}}, Y: Field{[10]uint32{0x0087c182, 0x00f0ffc6, 0x01109005, 0x01e33389, 0x001e25df, 0x03487f2e, 0x0310eedd, 0x000eb527, 0x00807047, 0x00023b29}}}, + {X: Field{[10]uint32{0x00fffefa, 0x005589a3, 0x01afade7, 0x013dc194, 0x01101804, 0x0030ebe1, 0x01f6f915, 0x00c49f5b, 0x01ca7538, 0x00246ebd}}, Y: Field{[10]uint32{0x037f6faf, 0x00dbcd37, 0x0303dc7d, 0x00439bf4, 0x02f4bef3, 0x01f74f64, 0x01969f12, 0x02f3af97, 0x03119347, 0x00013973}}}, + {X: Field{[10]uint32{0x00785491, 0x037d01a4, 0x025d1dd3, 0x01792baa, 0x035291de, 0x00be19ad, 0x019f43cb, 0x002eb958, 0x00f17f26, 0x0024ac78}}, Y: Field{[10]uint32{0x00be555b, 0x0234d816, 0x00d7b9c9, 0x01df88a2, 0x003985fb, 0x00d396b4, 0x027c1d10, 0x02798f85, 0x00028d8d, 0x00207b11}}}, + {X: Field{[10]uint32{0x0133c546, 0x00245fa3, 0x01af32fc, 0x02cca17b, 0x0382575f, 0x003d7775, 0x02c5373e, 0x01e29f2c, 0x0121cb3f, 0x00111610}}, Y: Field{[10]uint32{0x000b4fd4, 0x01b461c0, 0x0273660a, 0x00f3ecb2, 0x00852f0a, 0x0246b688, 0x0225eae3, 0x01d4e9dc, 0x0377f3f8, 0x000c2364}}}, + {X: Field{[10]uint32{0x00eae29e, 0x02dbab88, 0x01d0716f, 0x00bc3538, 0x02c7034f, 0x01169099, 0x0161537a, 0x03ccc7ae, 0x029b18eb, 0x0023003e}}, Y: Field{[10]uint32{0x0302414b, 0x00a93199, 0x02c54e7d, 0x03ea078d, 0x00c2fada, 0x01cdb25d, 0x01c343a3, 0x008686a7, 0x0267fea5, 0x003be91c}}}, + }, + { + {X: Field{[10]uint32{0x00eae29e, 0x02dbab88, 0x01d0716f, 0x00bc3538, 0x02c7034f, 0x01169099, 0x0161537a, 0x03ccc7ae, 0x029b18eb, 0x0023003e}}, Y: Field{[10]uint32{0x0302414b, 0x00a93199, 0x02c54e7d, 0x03ea078d, 0x00c2fada, 0x01cdb25d, 0x01c343a3, 0x008686a7, 0x0267fea5, 0x003be91c}}}, + {X: Field{[10]uint32{0x018ada5f, 0x0326ac30, 0x02fb3e84, 0x01fca448, 0x03fd7e29, 0x00daf87b, 0x03b5bf96, 0x02d1bea2, 0x00176da2, 0x000933f0}}, Y: Field{[10]uint32{0x038a586b, 0x02984e65, 0x014f268f, 0x028693e0, 0x03ed959c, 0x037b6a49, 0x028714d5, 0x01869a61, 0x03bb079c, 0x003affe3}}}, + {X: Field{[10]uint32{0x03fd913d, 0x025580fa, 0x009eac3f, 0x039bb953, 0x0050a680, 0x030aa348, 0x0107a084, 0x0377e1d3, 0x02a7e907, 0x000d8d8a}}, Y: Field{[10]uint32{0x012e243d, 0x03e6bab1, 0x03aafc44, 0x00435acb, 0x02d830bb, 0x00368aa0, 0x01624437, 0x02bf54d0, 0x00676cb8, 0x00123c9e}}}, + {X: Field{[10]uint32{0x00679da2, 0x00c62565, 0x017edf10, 0x01ff1fc1, 0x0216ddd6, 0x004a4bb1, 0x02ded72a, 0x02f20ba8, 0x0158d4b9, 0x0000129f}}, Y: Field{[10]uint32{0x039ffe26, 0x01fd211d, 0x0228a487, 0x025258fe, 0x0371c3b4, 0x03b1c6ce, 0x031d8147, 0x032dd79a, 0x01b76702, 0x002e62b1}}}, + {X: Field{[10]uint32{0x01132896, 0x02eafe6b, 0x02c967ca, 0x02eadef1, 0x01fcb1e3, 0x03764803, 0x015ad962, 0x00780bca, 0x036df32a, 0x001121e5}}, Y: Field{[10]uint32{0x03685248, 0x0006c4ab, 0x02a7a48c, 0x016989da, 0x0306b40d, 0x0115868c, 0x009a9077, 0x02bf87bf, 0x0060d115, 0x0009ef56}}}, + {X: Field{[10]uint32{0x035732c0, 0x021934dd, 0x037aa859, 0x039c8cdd, 0x02202fe5, 0x032c425b, 0x00a5d1b7, 0x012e6d89, 0x0331f8b7, 0x0023cf33}}, Y: Field{[10]uint32{0x01b9415b, 0x02f79799, 0x00825e73, 0x01dd5216, 0x00a90e68, 0x01f394f6, 0x02f46d99, 0x0394c627, 0x013e2d39, 0x0019fc73}}}, + {X: Field{[10]uint32{0x03a2670c, 0x0055bdaf, 0x033e6e08, 0x00ae8189, 0x007400f8, 0x00cd40c9, 0x02a9caa8, 0x020de22d, 0x02c28bcb, 0x0012934e}}, Y: Field{[10]uint32{0x02c1764d, 0x02e7ff75, 0x03eed808, 0x0132fca6, 0x01493059, 0x03bc0ae7, 0x027711dd, 0x01693c5f, 0x011c0184, 0x001c2aee}}}, + {X: Field{[10]uint32{0x007c4b65, 0x00d3ab72, 0x032a9ccf, 0x0228781e, 0x0196f880, 0x0019b392, 0x036c5e2c, 0x00071ff1, 0x01c4cbd0, 0x003b9f5a}}, Y: Field{[10]uint32{0x0136a95a, 0x023d13b4, 0x002e523e, 0x0266eba5, 0x02c33e89, 0x00c3cbb8, 0x0192abf0, 0x004e0868, 0x026ec1a4, 0x003b3218}}}, + {X: Field{[10]uint32{0x00b24aa7, 0x01abf893, 0x01c530d9, 0x0318e4d1, 0x00903108, 0x03fe3f86, 0x02e6fd89, 0x00600b0e, 0x01190ae9, 0x0017decb}}, Y: Field{[10]uint32{0x02693d7d, 0x0201d0d2, 0x01d0c6d7, 0x01c24f20, 0x03ce8deb, 0x03399f11, 0x023f80a3, 0x03caccc2, 0x0200c4fd, 0x0001dc0d}}}, + {X: Field{[10]uint32{0x03004130, 0x018cb5ff, 0x02b09842, 0x00ce070d, 0x0249fd86, 0x01532d6a, 0x02a14e52, 0x0061ac99, 0x01b5f72d, 0x001435dd}}, Y: Field{[10]uint32{0x036e406d, 0x02e31937, 0x024c3456, 0x0117bbda, 0x032975d9, 0x0004018f, 0x01724346, 0x02955f14, 0x023b0f4e, 0x000d007b}}}, + {X: Field{[10]uint32{0x037fb8bd, 0x006f17cb, 0x0090a419, 0x02857f90, 0x007bc464, 0x025221b6, 0x02c24e6d, 0x024340ab, 0x0051339d, 0x00144e5d}}, Y: Field{[10]uint32{0x03908c0f, 0x012b0b60, 0x00d5a809, 0x034f8fe6, 0x03fafc32, 0x03a05711, 0x008fefda, 0x00efcd2e, 0x003e4764, 0x003f35c5}}}, + {X: Field{[10]uint32{0x00889f3f, 0x007e0e4d, 0x01da7f2a, 0x022d1425, 0x03c4feb2, 0x005a6c3a, 0x02a3469b, 0x00465887, 0x0026f1b2, 0x0021e644}}, Y: Field{[10]uint32{0x03bb792b, 0x00b7e6f0, 0x0037b49e, 0x006fca18, 0x01e932f6, 0x005fc9e7, 0x032f2cb7, 0x00765884, 0x014ca5a9, 0x00377aae}}}, + {X: Field{[10]uint32{0x0236ca73, 0x01d2457b, 0x033ede2b, 0x034daeef, 0x03eac864, 0x03c05221, 0x0029112b, 0x037ee2a9, 0x02d62bfb, 0x0033e0c5}}, Y: Field{[10]uint32{0x02c25534, 0x0248650b, 0x0310f5b4, 0x02636235, 0x001c9615, 0x0037329a, 0x00445089, 0x0275cf8e, 0x018deb5d, 0x00027fad}}}, + {X: Field{[10]uint32{0x019c8f0a, 0x036611af, 0x00e64afc, 0x00b22f61, 0x00af3e9f, 0x0300ea1f, 0x0126603b, 0x02913f0e, 0x00ed297b, 0x001b8845}}, Y: Field{[10]uint32{0x016a2c9b, 0x02452374, 0x0195ebd7, 0x01d743e5, 0x01090bec, 0x00317647, 0x026d50f8, 0x001b89f6, 0x020cc26f, 0x00015646}}}, + {X: Field{[10]uint32{0x0352f97d, 0x024df5ad, 0x036613c8, 0x031d7cd1, 0x025a2efb, 0x0233e985, 0x039d2866, 0x02d27794, 0x029a4c4b, 0x00218437}}, Y: Field{[10]uint32{0x031b1af2, 0x01f73507, 0x003e0805, 0x027d5155, 0x0257ab4d, 0x014cfe67, 0x03cd99b2, 0x002ef24d, 0x03a02b63, 0x0034c665}}}, + {X: Field{[10]uint32{0x00cb3e41, 0x03f77f18, 0x012c0997, 0x013cc22e, 0x03143d08, 0x027a63b4, 0x010cec0a, 0x020a7cf8, 0x00e69dd4, 0x0039e89b}}, Y: Field{[10]uint32{0x032cfd51, 0x02a50873, 0x003e20e8, 0x0301083a, 0x00d0a6b2, 0x02abeec6, 0x01b006a1, 0x02612d1c, 0x02300fa7, 0x000a9d63}}}, + }, + { + {X: Field{[10]uint32{0x00cb3e41, 0x03f77f18, 0x012c0997, 0x013cc22e, 0x03143d08, 0x027a63b4, 0x010cec0a, 0x020a7cf8, 0x00e69dd4, 0x0039e89b}}, Y: Field{[10]uint32{0x032cfd51, 0x02a50873, 0x003e20e8, 0x0301083a, 0x00d0a6b2, 0x02abeec6, 0x01b006a1, 0x02612d1c, 0x02300fa7, 0x000a9d63}}}, + {X: Field{[10]uint32{0x034ae861, 0x0396e45e, 0x02fa9d97, 0x03935b8c, 0x01203c35, 0x01c8227d, 0x038bfb67, 0x03e34034, 0x02ba036b, 0x003d72be}}, Y: Field{[10]uint32{0x0182239c, 0x0308e703, 0x005f3cc9, 0x027154bc, 0x019b3b2a, 0x01020e45, 0x03f99046, 0x01b605ef, 0x038a022a, 0x00067a0e}}}, + {X: Field{[10]uint32{0x02ee42db, 0x027f4afe, 0x0314a70f, 0x016d1cc1, 0x01d9bbbc, 0x007b2ff0, 0x03b6edb9, 0x024543f1, 0x03e7d9b5, 0x00330d09}}, Y: Field{[10]uint32{0x01d87bdb, 0x00a70045, 0x0022dc62, 0x02b639c9, 0x0010e5cb, 0x02c85480, 0x01e3fd3f, 0x031a8621, 0x0041a521, 0x003a8926}}}, + {X: Field{[10]uint32{0x012a9651, 0x035335ef, 0x0182084f, 0x02712532, 0x028f9e50, 0x01fa0150, 0x01f5156d, 0x00fc7c4b, 0x0024ceb6, 0x003a4e24}}, Y: Field{[10]uint32{0x02786824, 0x0378add7, 0x00bfefef, 0x033b19dc, 0x018d7110, 0x019c6abc, 0x0287abaf, 0x019657e4, 0x00872372, 0x0021921a}}}, + {X: Field{[10]uint32{0x02d4a086, 0x00d9b19f, 0x0010eff4, 0x00563a71, 0x00b1d75c, 0x02f2d73d, 0x003c585f, 0x011177b2, 0x01bacd98, 0x002523c1}}, Y: Field{[10]uint32{0x022bca4b, 0x006003e7, 0x022d1a2a, 0x029c70fe, 0x011c2328, 0x00044e50, 0x03450a66, 0x00a8ce0b, 0x009ffb5a, 0x0021932a}}}, + {X: Field{[10]uint32{0x0296e4f1, 0x029c594b, 0x00030cb0, 0x01802ba0, 0x02ff5f01, 0x00d7bf32, 0x01777083, 0x0065f880, 0x008f0198, 0x0015aec5}}, Y: Field{[10]uint32{0x02b0582e, 0x027c067b, 0x030eb588, 0x0348012b, 0x037313d1, 0x038c3aa7, 0x0303ed8b, 0x0028cefa, 0x00a56130, 0x00282561}}}, + {X: Field{[10]uint32{0x03542c21, 0x02fa9b2d, 0x00c15c0c, 0x034a3a99, 0x03ae19f4, 0x01475b50, 0x016fc454, 0x026b2419, 0x01629291, 0x00096106}}, Y: Field{[10]uint32{0x032bfabf, 0x02f8c659, 0x02d7b3be, 0x021b930a, 0x01f3e3a1, 0x031d44f5, 0x025daa4c, 0x00912007, 0x031f1cdb, 0x003f2cd6}}}, + {X: Field{[10]uint32{0x00ddab8b, 0x03506b9f, 0x00e6fcf2, 0x00494f1a, 0x039f0e4d, 0x020b430d, 0x0116900d, 0x0095afb4, 0x01d87829, 0x00099156}}, Y: Field{[10]uint32{0x001de473, 0x0192d140, 0x031e6c9f, 0x02bce72b, 0x037a8631, 0x00d01cb5, 0x03bc6370, 0x0144b3bd, 0x011926d3, 0x001e796f}}}, + {X: Field{[10]uint32{0x001ecbf8, 0x01187d03, 0x017ca43c, 0x037a6bbb, 0x036489f0, 0x007a1087, 0x029754cc, 0x0314948a, 0x01c41373, 0x001f84b3}}, Y: Field{[10]uint32{0x00bed615, 0x016e336c, 0x019f59d4, 0x00763f87, 0x01c969f6, 0x03934496, 0x03f94dab, 0x0320dc50, 0x0388888d, 0x001c4a13}}}, + {X: Field{[10]uint32{0x018a26c1, 0x028a3ee2, 0x0304ae2d, 0x0285ce4e, 0x019a954f, 0x0309b871, 0x02351579, 0x014aedba, 0x00fd373b, 0x002da832}}, Y: Field{[10]uint32{0x0278217c, 0x0143b6a2, 0x01a06f55, 0x03a162ad, 0x00fc94a5, 0x02f69feb, 0x0101e3fe, 0x01d2526a, 0x03bfda03, 0x0017bc64}}}, + {X: Field{[10]uint32{0x00557d86, 0x01994705, 0x03ff417e, 0x011e3999, 0x031cfeec, 0x028169b3, 0x02b91ca7, 0x010a99dc, 0x02ff2a37, 0x0012e3b0}}, Y: Field{[10]uint32{0x01167eb9, 0x026c646d, 0x03692bdd, 0x03bc3f0f, 0x0328d5f2, 0x0149eb17, 0x024072de, 0x015eac52, 0x03ff04c1, 0x003f79b0}}}, + {X: Field{[10]uint32{0x01f23d1f, 0x015fd660, 0x036d8a4c, 0x035c8300, 0x02b6b25f, 0x03f62829, 0x03d489e1, 0x002eeef4, 0x00153d67, 0x002ce63a}}, Y: Field{[10]uint32{0x032ff3fc, 0x00faffe0, 0x016cd158, 0x022b4985, 0x02ea791d, 0x02c02e94, 0x037feb2f, 0x03d1fc1f, 0x0022572d, 0x001a7d67}}}, + {X: Field{[10]uint32{0x0380763c, 0x020b4ed1, 0x0291d52b, 0x017a4995, 0x025f8a6d, 0x025eb01f, 0x02436dc6, 0x00e9094c, 0x01073396, 0x003f3570}}, Y: Field{[10]uint32{0x00e851cb, 0x039d080e, 0x023a4b54, 0x00b9c591, 0x00b119b2, 0x03dcb8e3, 0x0320db35, 0x00b118ed, 0x03e2e552, 0x0006376a}}}, + {X: Field{[10]uint32{0x03e9fc8d, 0x0311e98c, 0x028ad2b1, 0x0026093c, 0x0348b848, 0x0118c69c, 0x00d0b205, 0x0177fe9b, 0x01c1bb42, 0x0018d283}}, Y: Field{[10]uint32{0x033f87b6, 0x01fcc2c9, 0x00616958, 0x02863b57, 0x03519ad5, 0x03792a73, 0x0205a657, 0x012db2bf, 0x021fe75a, 0x0035d6f8}}}, + {X: Field{[10]uint32{0x018ef686, 0x00ef8c17, 0x02e66bce, 0x03d0089c, 0x03f68e48, 0x02099b94, 0x038a5daf, 0x032f9488, 0x00ee5843, 0x002403cb}}, Y: Field{[10]uint32{0x0121a8cf, 0x029259f8, 0x016d5073, 0x03d0f245, 0x00596cdf, 0x00d27444, 0x01c551b1, 0x01096b58, 0x0155ec60, 0x001ccab0}}}, + {X: Field{[10]uint32{0x026b80ef, 0x00a7acf7, 0x0024f3cf, 0x0259f5e5, 0x0171cbcb, 0x00ef2f71, 0x03540c22, 0x00bb2348, 0x020ee366, 0x002d9167}}, Y: Field{[10]uint32{0x0271ba45, 0x02fc2d86, 0x01b2ff30, 0x01b5238d, 0x03c4b3ae, 0x0159876c, 0x01adf16e, 0x0381b787, 0x036d06f3, 0x00019f21}}}, + }, + { + {X: Field{[10]uint32{0x026b80ef, 0x00a7acf7, 0x0024f3cf, 0x0259f5e5, 0x0171cbcb, 0x00ef2f71, 0x03540c22, 0x00bb2348, 0x020ee366, 0x002d9167}}, Y: Field{[10]uint32{0x0271ba45, 0x02fc2d86, 0x01b2ff30, 0x01b5238d, 0x03c4b3ae, 0x0159876c, 0x01adf16e, 0x0381b787, 0x036d06f3, 0x00019f21}}}, + {X: Field{[10]uint32{0x033eb51f, 0x03bcdd40, 0x00211253, 0x01daf9e7, 0x03b68905, 0x007d0564, 0x0136f730, 0x00f22393, 0x00f0d982, 0x0039763a}}, Y: Field{[10]uint32{0x0262a2d9, 0x016f6596, 0x0354979d, 0x011b67c3, 0x00e509dc, 0x023fbbbc, 0x0316a57d, 0x00f812ae, 0x01b7861e, 0x0013707a}}}, + {X: Field{[10]uint32{0x019888e9, 0x033c9e4c, 0x00a8b439, 0x01afc912, 0x033d12ba, 0x0259a059, 0x0260d302, 0x029b8b77, 0x02773ac3, 0x0007e43a}}, Y: Field{[10]uint32{0x03113b79, 0x037f25fb, 0x022e656f, 0x03fb9654, 0x00213751, 0x007ae5aa, 0x00153d27, 0x02843a56, 0x027c15da, 0x00226f8d}}}, + {X: Field{[10]uint32{0x03155e64, 0x019d9203, 0x0011737a, 0x013ea28c, 0x01ab66be, 0x006eb837, 0x02b0f732, 0x0230f715, 0x03f77dbc, 0x002a7289}}, Y: Field{[10]uint32{0x021b3297, 0x03cccf15, 0x030ae1f3, 0x02086f2b, 0x00875d41, 0x0300b401, 0x017d2246, 0x00535346, 0x035678fb, 0x003d2ecc}}}, + {X: Field{[10]uint32{0x0162222c, 0x03bedbcd, 0x032c6085, 0x01e6479b, 0x02de0344, 0x00d2d4ae, 0x0302bad3, 0x0382b5b9, 0x014dedff, 0x0004e939}}, Y: Field{[10]uint32{0x00200145, 0x0059a32a, 0x004c08cb, 0x01deb724, 0x02d4f9c5, 0x03582694, 0x00ac2f81, 0x03a04ecb, 0x014e5816, 0x0032759f}}}, + {X: Field{[10]uint32{0x01bf6c42, 0x02acf770, 0x0075393e, 0x026c4662, 0x02f7793d, 0x01b3b9d3, 0x03465481, 0x00171fb9, 0x033cd6c1, 0x00340b86}}, Y: Field{[10]uint32{0x03bc54cc, 0x018ca3e1, 0x02aac133, 0x026e4c6d, 0x02bca587, 0x00349149, 0x0332270d, 0x00896049, 0x00f3ca8e, 0x002682dd}}}, + {X: Field{[10]uint32{0x003b46bb, 0x0393703d, 0x02525437, 0x018feb24, 0x0112ed3a, 0x0211576f, 0x0007c05d, 0x02ab7475, 0x02bf233c, 0x00186647}}, Y: Field{[10]uint32{0x0020a848, 0x03d64073, 0x00d8ef48, 0x027294bb, 0x011ca872, 0x01beeb7c, 0x02f38716, 0x03924a54, 0x0308f3fd, 0x00007178}}}, + {X: Field{[10]uint32{0x02ee247c, 0x02f18a75, 0x00ee06d4, 0x0211fd47, 0x011f478e, 0x0073f9d6, 0x03a10561, 0x035fc97a, 0x01800686, 0x001a3edc}}, Y: Field{[10]uint32{0x0201865d, 0x03e08b46, 0x03c9dae1, 0x002c131c, 0x039a8d58, 0x0006c301, 0x03354275, 0x0258d9cd, 0x023462dd, 0x003344b4}}}, + {X: Field{[10]uint32{0x021add3b, 0x02f8f774, 0x03d8f7e5, 0x013d15c9, 0x018b9a94, 0x03458984, 0x0039cdb0, 0x034e1d24, 0x02a4b787, 0x003a89eb}}, Y: Field{[10]uint32{0x028ce7dd, 0x038a476d, 0x01be71b5, 0x035a3938, 0x0278b212, 0x00970bd8, 0x023ceb23, 0x005f795c, 0x01e6e42a, 0x0031c3fc}}}, + {X: Field{[10]uint32{0x02da1f54, 0x016af6f8, 0x025df934, 0x03088c50, 0x021b2b52, 0x024d1445, 0x03550ab1, 0x0183ae61, 0x03b23df2, 0x001c4dfd}}, Y: Field{[10]uint32{0x01c3edbc, 0x02350db3, 0x01bb84af, 0x03551b3f, 0x03ebf081, 0x03c98029, 0x00dacb17, 0x0201d397, 0x02d80435, 0x0017f9e2}}}, + {X: Field{[10]uint32{0x011ff757, 0x02be2ed8, 0x0226e6e8, 0x01d07130, 0x029b4ce9, 0x01b8adb6, 0x01010f8b, 0x03f552ea, 0x01356b7f, 0x00165194}}, Y: Field{[10]uint32{0x014d031a, 0x019bb2a2, 0x03e3b28a, 0x01edfeff, 0x01961bbc, 0x017101be, 0x02038d01, 0x009d4010, 0x020ce5df, 0x000d844d}}}, + {X: Field{[10]uint32{0x036c15c2, 0x03d1fc63, 0x00f1ca1e, 0x005323ce, 0x003de764, 0x027450d2, 0x01739813, 0x01d5ffa8, 0x0052bca1, 0x002115aa}}, Y: Field{[10]uint32{0x03174134, 0x03bf0ca2, 0x03671ff1, 0x002615be, 0x034cc90f, 0x0041e79f, 0x0349ec37, 0x00b37bf4, 0x0246d484, 0x00386e76}}}, + {X: Field{[10]uint32{0x036160b5, 0x009628d8, 0x02bc0676, 0x0091c39f, 0x00ccc53f, 0x000247b0, 0x003af797, 0x00ca43a1, 0x023915f7, 0x0005ac9b}}, Y: Field{[10]uint32{0x00a1dc0e, 0x0097efd6, 0x03ef8146, 0x02b1c2e8, 0x00e1363a, 0x018d9535, 0x03643524, 0x03be2ed8, 0x025a6302, 0x000183d5}}}, + {X: Field{[10]uint32{0x021b793e, 0x0077a4e3, 0x025183d6, 0x028ac34b, 0x01d36aee, 0x033eab93, 0x002eccf2, 0x00739970, 0x017c9835, 0x0013c545}}, Y: Field{[10]uint32{0x03ba9889, 0x03307f70, 0x007aab4f, 0x012cd529, 0x02c0daff, 0x03352833, 0x01da9db9, 0x02e4e7f2, 0x0366079d, 0x00302538}}}, + {X: Field{[10]uint32{0x03b32db8, 0x0134a24d, 0x0391f396, 0x0127d91d, 0x01c91ed7, 0x010b3aa1, 0x02a143c8, 0x027e4c6f, 0x0295c455, 0x000092d4}}, Y: Field{[10]uint32{0x0264f760, 0x0153eaaa, 0x001a9594, 0x0044816e, 0x0062ab68, 0x031796fa, 0x02e2821c, 0x00c271ed, 0x038f5bff, 0x001827fb}}}, + {X: Field{[10]uint32{0x016943e8, 0x0283d6d2, 0x005a5ded, 0x0319f9cf, 0x031d6f1f, 0x0063c188, 0x03234aa1, 0x02e101e4, 0x00c8280b, 0x0035a2a0}}, Y: Field{[10]uint32{0x03133120, 0x0321099a, 0x0295a294, 0x023de114, 0x035b0e7b, 0x01ec38a2, 0x00b1f917, 0x021b4031, 0x01fff4b5, 0x0036e2ea}}}, + }, + { + {X: Field{[10]uint32{0x016943e8, 0x0283d6d2, 0x005a5ded, 0x0319f9cf, 0x031d6f1f, 0x0063c188, 0x03234aa1, 0x02e101e4, 0x00c8280b, 0x0035a2a0}}, Y: Field{[10]uint32{0x03133120, 0x0321099a, 0x0295a294, 0x023de114, 0x035b0e7b, 0x01ec38a2, 0x00b1f917, 0x021b4031, 0x01fff4b5, 0x0036e2ea}}}, + {X: Field{[10]uint32{0x0012b6fd, 0x02888b29, 0x02b828bd, 0x00f1bdc0, 0x00aced05, 0x01d48dcf, 0x02f8efb3, 0x0102f900, 0x009c677a, 0x003c5a90}}, Y: Field{[10]uint32{0x00a052da, 0x036b9dfb, 0x03ca4268, 0x0164927a, 0x02165406, 0x0138c393, 0x026a75a7, 0x009e675e, 0x01171453, 0x000a904c}}}, + {X: Field{[10]uint32{0x00a1c4f9, 0x010aa863, 0x0228235b, 0x00d32adf, 0x004f4efe, 0x0187c5bd, 0x000b83da, 0x01ca3131, 0x038f22bd, 0x001e057d}}, Y: Field{[10]uint32{0x0378bc15, 0x007a8dad, 0x011e19ab, 0x039855df, 0x015cb42d, 0x011630d7, 0x0193cf31, 0x02bda9f7, 0x01e8cd39, 0x00307180}}}, + {X: Field{[10]uint32{0x026dd4e4, 0x0282db8c, 0x018325c1, 0x00bdafb6, 0x01b89f4f, 0x025dbe13, 0x0237f699, 0x01bd0bef, 0x0106ab76, 0x0010552d}}, Y: Field{[10]uint32{0x035ded1c, 0x0164a541, 0x02dd46c8, 0x03674788, 0x02414ea9, 0x004097fd, 0x006e44d6, 0x02622253, 0x035043c5, 0x0008eb41}}}, + {X: Field{[10]uint32{0x028c8530, 0x01b870fb, 0x00d8e6d2, 0x0207be3d, 0x01512df6, 0x005a9b1b, 0x0377c640, 0x01005db8, 0x03cda0ec, 0x0030e49c}}, Y: Field{[10]uint32{0x018446c7, 0x00c3c3de, 0x01715c40, 0x02f68bbb, 0x0050edfc, 0x0070c666, 0x001d3944, 0x00f23a74, 0x02425743, 0x0023106f}}}, + {X: Field{[10]uint32{0x03ed5996, 0x0133a2d0, 0x02f53bde, 0x01664d82, 0x006831fe, 0x00a06e49, 0x02fbc903, 0x0293a924, 0x03e9fe99, 0x000691ad}}, Y: Field{[10]uint32{0x00c85cae, 0x013b447a, 0x0345c2ee, 0x02a7bd49, 0x01508794, 0x0018fafd, 0x03ee084a, 0x03715c38, 0x001ea3f1, 0x001a0f3a}}}, + {X: Field{[10]uint32{0x037a26c1, 0x00902ec8, 0x036a531f, 0x0163036f, 0x01166c6e, 0x00740ec9, 0x0122431c, 0x0046c09d, 0x0047f584, 0x00368c5d}}, Y: Field{[10]uint32{0x00f74d6f, 0x020dbb3b, 0x01525f51, 0x03175ea0, 0x03d36836, 0x0096762d, 0x0384167c, 0x0231a748, 0x03b87f5d, 0x001d4ee5}}}, + {X: Field{[10]uint32{0x037f0246, 0x0069e98f, 0x03ddf4c5, 0x0127f1c9, 0x0293e86e, 0x02d655ba, 0x00a8d4d0, 0x02570420, 0x012769cc, 0x002dcf19}}, Y: Field{[10]uint32{0x022a407b, 0x0394593a, 0x014e5597, 0x03931b95, 0x021a0d72, 0x016db07a, 0x0135893c, 0x032a752d, 0x03107174, 0x002699f6}}}, + {X: Field{[10]uint32{0x0339dc49, 0x018a2a4d, 0x01603d2b, 0x03699bd5, 0x02239392, 0x02ffc8c6, 0x024ac508, 0x0039b041, 0x02cb02af, 0x001a92f9}}, Y: Field{[10]uint32{0x02edd5cf, 0x028ae77c, 0x00a4d3e6, 0x0132c529, 0x00ab7e2b, 0x003ea016, 0x00166e36, 0x001d65f7, 0x03aa2a89, 0x003c5763}}}, + {X: Field{[10]uint32{0x00f8fb8c, 0x026fe776, 0x01e148ad, 0x026ea96f, 0x014cdc2b, 0x031cc044, 0x012facb5, 0x00803254, 0x027060d8, 0x000d966e}}, Y: Field{[10]uint32{0x00c8a3d1, 0x011ae31f, 0x0313575e, 0x0353912e, 0x031e142e, 0x031d261f, 0x01725f8e, 0x00685c4e, 0x01e806e0, 0x0013b9ea}}}, + {X: Field{[10]uint32{0x02987fac, 0x03a28311, 0x02f6798b, 0x021902a1, 0x008bc90f, 0x03b2628f, 0x02982603, 0x01fc4d13, 0x029f13ae, 0x00007df1}}, Y: Field{[10]uint32{0x01174c68, 0x0079ce06, 0x03c263f9, 0x038867da, 0x01cb7f5d, 0x00a6adbe, 0x031036e3, 0x0288b796, 0x003f36fd, 0x002753b3}}}, + {X: Field{[10]uint32{0x022e607b, 0x034d673b, 0x036aa1f4, 0x03b1b03c, 0x0388aa1e, 0x015ff74a, 0x01111f56, 0x01dcb083, 0x0367fd31, 0x0001dccf}}, Y: Field{[10]uint32{0x00614763, 0x03cc4773, 0x017d26a2, 0x03816f80, 0x0089e3bd, 0x02ec55bd, 0x0263a8c5, 0x020a17ab, 0x00fbac17, 0x003f67fa}}}, + {X: Field{[10]uint32{0x02daba4d, 0x00e86f5d, 0x016261d3, 0x003880c6, 0x039c65fb, 0x023e8af2, 0x03062edd, 0x034e072d, 0x0001761f, 0x00155fa5}}, Y: Field{[10]uint32{0x03a52316, 0x01d286ed, 0x0190a513, 0x03d7e90d, 0x02c5e9b8, 0x01732f21, 0x0135cfa1, 0x029f811b, 0x033a601f, 0x001e9fa3}}}, + {X: Field{[10]uint32{0x0005fbdd, 0x00b6734f, 0x001396e2, 0x0149d392, 0x0279589d, 0x01abe80c, 0x0120654b, 0x003120e2, 0x010a0031, 0x0038f91d}}, Y: Field{[10]uint32{0x0135b883, 0x0088c745, 0x02ffbcba, 0x02ff173e, 0x00b46587, 0x01868481, 0x02350499, 0x00964014, 0x0301abad, 0x0003e9e5}}}, + {X: Field{[10]uint32{0x01f5341a, 0x03d4bfca, 0x036b8038, 0x00b19a58, 0x019cc7a3, 0x01ec4050, 0x029d40ea, 0x0216a4ec, 0x02821998, 0x000eb6b6}}, Y: Field{[10]uint32{0x0186c6cc, 0x016024d9, 0x00fbcb51, 0x0396d17a, 0x03e9d6d2, 0x01aac405, 0x02e35bf3, 0x00da7d54, 0x02228999, 0x002ffa87}}}, + {X: Field{[10]uint32{0x028d3d5d, 0x016603f0, 0x01cea409, 0x02e5cd12, 0x009612ae, 0x001e8c2c, 0x01c02709, 0x0201094b, 0x017df65c, 0x000c92bb}}, Y: Field{[10]uint32{0x02ab7c84, 0x00892be5, 0x02843967, 0x0031f8cc, 0x0319213b, 0x02bb07d3, 0x030c0c35, 0x007cbfc4, 0x025774b6, 0x0019228d}}}, + }, + { + {X: Field{[10]uint32{0x028d3d5d, 0x016603f0, 0x01cea409, 0x02e5cd12, 0x009612ae, 0x001e8c2c, 0x01c02709, 0x0201094b, 0x017df65c, 0x000c92bb}}, Y: Field{[10]uint32{0x02ab7c84, 0x00892be5, 0x02843967, 0x0031f8cc, 0x0319213b, 0x02bb07d3, 0x030c0c35, 0x007cbfc4, 0x025774b6, 0x0019228d}}}, + {X: Field{[10]uint32{0x02919749, 0x00e0e06c, 0x01b1fa8f, 0x012a3783, 0x03f72b3e, 0x02035c80, 0x01326818, 0x012408a3, 0x031ea26f, 0x000cb24c}}, Y: Field{[10]uint32{0x0290b5e3, 0x03a5ec3c, 0x02b09631, 0x02f6b8e6, 0x00268a4a, 0x01bcf6ee, 0x01a2f02b, 0x0272d5a5, 0x032b3420, 0x0035f349}}}, + {X: Field{[10]uint32{0x03d53ed3, 0x0245d60b, 0x02ccef5c, 0x03ee7695, 0x01163f74, 0x0077df12, 0x00f60b93, 0x01cab56e, 0x03d59967, 0x00082102}}, Y: Field{[10]uint32{0x027a7132, 0x010ff946, 0x00899871, 0x01ce539c, 0x025487c4, 0x01aebeb0, 0x03bd476a, 0x02090d21, 0x0097cec1, 0x003ca64d}}}, + {X: Field{[10]uint32{0x039795e4, 0x0308949e, 0x02b8e1e1, 0x02db8611, 0x0069c161, 0x03fb1ac7, 0x002f6a70, 0x00de1528, 0x033b3b98, 0x003aca4b}}, Y: Field{[10]uint32{0x0253a0fe, 0x03a74beb, 0x01c6f5b7, 0x01d42444, 0x0357131d, 0x005160d6, 0x016634af, 0x02fa005a, 0x025a96ee, 0x002310f0}}}, + {X: Field{[10]uint32{0x00a35b35, 0x00b2ed62, 0x0121edbd, 0x02297028, 0x011ab5d8, 0x01623aff, 0x013d029e, 0x00e6eef4, 0x03f60eb3, 0x0039adaf}}, Y: Field{[10]uint32{0x001007bd, 0x00a4f6e7, 0x019c7c57, 0x0274efa6, 0x01fe3b6c, 0x00d65877, 0x02f43e38, 0x034bcc99, 0x02bd3300, 0x000697fc}}}, + {X: Field{[10]uint32{0x0032f9a2, 0x02e38a48, 0x006ccc48, 0x0143e87f, 0x03ce566f, 0x007fe3d8, 0x02374cb3, 0x009903b4, 0x02bd9a6b, 0x00096ab1}}, Y: Field{[10]uint32{0x0351d4f0, 0x008c284a, 0x033d9e76, 0x02ef1067, 0x02559883, 0x013c643d, 0x0332f54f, 0x0151b05b, 0x023ba644, 0x003d69b1}}}, + {X: Field{[10]uint32{0x00360dd3, 0x03be34b0, 0x022090d4, 0x00db6143, 0x0347a8a8, 0x038338ee, 0x030b8086, 0x0266ca22, 0x03745be4, 0x003814c5}}, Y: Field{[10]uint32{0x0024f87b, 0x03b3644f, 0x03dc2b2a, 0x037a6040, 0x0061b987, 0x016da805, 0x0009582b, 0x00bce736, 0x0371a5d9, 0x0037070e}}}, + {X: Field{[10]uint32{0x01303fdd, 0x00e755e2, 0x02d35aea, 0x01fc6747, 0x014d7145, 0x00127ef8, 0x020d4310, 0x017bcb98, 0x0201df3b, 0x0029968e}}, Y: Field{[10]uint32{0x02e68703, 0x0112a340, 0x013cadad, 0x00093ebb, 0x0286861d, 0x003b4b1d, 0x0343d8d9, 0x0171bee3, 0x00940cff, 0x001e63a8}}}, + {X: Field{[10]uint32{0x0098dfea, 0x011998b4, 0x038797c1, 0x0324ba99, 0x03fadcb3, 0x020e9795, 0x018e5d2a, 0x01b16780, 0x033a7788, 0x002a054e}}, Y: Field{[10]uint32{0x026d892f, 0x026a77db, 0x034158a4, 0x03dd0b6b, 0x03b1b5e0, 0x01e14f80, 0x018db9c5, 0x0183f14f, 0x016461d0, 0x000a91ce}}}, + {X: Field{[10]uint32{0x024c9489, 0x00c354b4, 0x00a98616, 0x039b8539, 0x00c0aef4, 0x01ba754a, 0x027887ff, 0x019f0a68, 0x0315d9d5, 0x0018a06e}}, Y: Field{[10]uint32{0x01f42bc6, 0x01fc9ae7, 0x033ad918, 0x01374c86, 0x0145fd96, 0x01ba6efd, 0x02738f45, 0x02a19648, 0x01a0908d, 0x000bf4f1}}}, + {X: Field{[10]uint32{0x03cecfa5, 0x039de922, 0x03b020a7, 0x03686c5a, 0x032a0d62, 0x00e3b68e, 0x034695c6, 0x02b76b7a, 0x03b30fec, 0x0013c170}}, Y: Field{[10]uint32{0x01d37b53, 0x034092a5, 0x008cd2ec, 0x00c7c06d, 0x01447ee4, 0x01654d2e, 0x01632361, 0x0109beb7, 0x01ea603d, 0x0014e926}}}, + {X: Field{[10]uint32{0x00445a7a, 0x00c72ea5, 0x01ec5901, 0x03c2073c, 0x01df9535, 0x01807235, 0x02f11b6c, 0x031afec4, 0x03bc9f06, 0x003e0bfb}}, Y: Field{[10]uint32{0x002a7a98, 0x02b38619, 0x011e5963, 0x02d91903, 0x00b51c83, 0x02502d29, 0x003942c1, 0x01ad9d54, 0x03bdc6fb, 0x00252ecd}}}, + {X: Field{[10]uint32{0x004b96aa, 0x039d9642, 0x03cce461, 0x00d548aa, 0x02d02986, 0x028ee603, 0x02405e1a, 0x02a46f89, 0x02b99f67, 0x00364c26}}, Y: Field{[10]uint32{0x02b28a86, 0x0313cdf0, 0x02978f26, 0x03eebf3f, 0x03d3b6c9, 0x009d32d7, 0x0210f066, 0x03155f5f, 0x032a9b4e, 0x001bbe66}}}, + {X: Field{[10]uint32{0x02b7d2d5, 0x03750ac5, 0x02a66f6f, 0x0134755b, 0x022637b8, 0x00bbd40b, 0x030f3d32, 0x01080f20, 0x03aa9783, 0x0028a16a}}, Y: Field{[10]uint32{0x0001f99c, 0x01754be4, 0x013e9c40, 0x0086dadd, 0x02d86573, 0x0042cb8a, 0x03952dfe, 0x01eb1a4a, 0x0292cd1b, 0x00395ba5}}}, + {X: Field{[10]uint32{0x038fcf0e, 0x02e34167, 0x026facf7, 0x03f79f12, 0x01d65b6f, 0x03aa8d04, 0x01c3446d, 0x00b4d6ea, 0x00a13856, 0x001f561f}}, Y: Field{[10]uint32{0x00bc9459, 0x03068276, 0x0380a501, 0x002b4c8d, 0x00c46390, 0x033f5ab4, 0x023400b6, 0x0131849c, 0x00038830, 0x0029ca57}}}, + {X: Field{[10]uint32{0x01054c96, 0x02f4dcff, 0x00a888e8, 0x00eea347, 0x00eec414, 0x017fb977, 0x011dfdbe, 0x03987db5, 0x014919cd, 0x00137e70}}, Y: Field{[10]uint32{0x02d10d5d, 0x02eb01b2, 0x0090192e, 0x03370a21, 0x00b5d506, 0x02876175, 0x00974c23, 0x021ca014, 0x0051092d, 0x00000d7b}}}, + }, + { + {X: Field{[10]uint32{0x01054c96, 0x02f4dcff, 0x00a888e8, 0x00eea347, 0x00eec414, 0x017fb977, 0x011dfdbe, 0x03987db5, 0x014919cd, 0x00137e70}}, Y: Field{[10]uint32{0x02d10d5d, 0x02eb01b2, 0x0090192e, 0x03370a21, 0x00b5d506, 0x02876175, 0x00974c23, 0x021ca014, 0x0051092d, 0x00000d7b}}}, + {X: Field{[10]uint32{0x01a49e04, 0x01ac3f07, 0x00d70c0c, 0x015395ea, 0x00e9de45, 0x012e1c22, 0x01317d4e, 0x02663349, 0x02d8d2cc, 0x003b4cb2}}, Y: Field{[10]uint32{0x001db9e0, 0x0048345f, 0x02b7db63, 0x02b2d27e, 0x0352da9f, 0x02167482, 0x001ca375, 0x00081295, 0x035f1d03, 0x0004a7fb}}}, + {X: Field{[10]uint32{0x01ef001d, 0x00897697, 0x0227ef4f, 0x035a626e, 0x0321f9bb, 0x0278ed92, 0x020bd1c0, 0x00b2bc83, 0x032db27e, 0x00295268}}, Y: Field{[10]uint32{0x00624783, 0x036c69fc, 0x0305add5, 0x00a98b25, 0x02eb141e, 0x02296515, 0x00cc30ed, 0x019b2f7d, 0x027906d9, 0x001e66de}}}, + {X: Field{[10]uint32{0x0083f855, 0x0106353a, 0x00016cb7, 0x032d8f0d, 0x0228c36d, 0x031c0d9b, 0x009e4111, 0x0183c601, 0x03724d63, 0x003a086a}}, Y: Field{[10]uint32{0x01852ddf, 0x03831a96, 0x023efed4, 0x031853b0, 0x018b3b19, 0x0105b3d6, 0x010d4115, 0x00f38d9f, 0x03f863f5, 0x002b7bf2}}}, + {X: Field{[10]uint32{0x012ed4cb, 0x03bc7971, 0x02c5a05a, 0x03ecf027, 0x02c954de, 0x00d4cb9b, 0x0308bd98, 0x03b3448f, 0x0330da07, 0x001f9e63}}, Y: Field{[10]uint32{0x00bb9462, 0x005981e5, 0x037a1257, 0x006ffe7c, 0x03b17357, 0x03bcbc15, 0x01a9549d, 0x02b20c10, 0x00c4a24d, 0x00348f73}}}, + {X: Field{[10]uint32{0x0206e37a, 0x01de2b10, 0x00731a24, 0x02523141, 0x034d8c18, 0x02d689d3, 0x00e83f46, 0x02000b3d, 0x0387f286, 0x002d49aa}}, Y: Field{[10]uint32{0x00c5ccab, 0x019e3ffc, 0x0392abf3, 0x026c03e8, 0x0128ce53, 0x0029bc63, 0x00aaced6, 0x00363b57, 0x01d77810, 0x001907cd}}}, + {X: Field{[10]uint32{0x03630834, 0x00e83ef4, 0x00067fdf, 0x00a18f6b, 0x008463f1, 0x02a32042, 0x01b9e96b, 0x011e0eb5, 0x02003151, 0x000893e8}}, Y: Field{[10]uint32{0x007a2272, 0x0311cdf1, 0x00f75cd3, 0x013b0294, 0x013d6292, 0x0247427d, 0x00b70fa3, 0x036970f1, 0x0232bb3e, 0x002ef953}}}, + {X: Field{[10]uint32{0x0041742e, 0x03d67bad, 0x006e9fbf, 0x011ebce0, 0x032f14a5, 0x0325a4e9, 0x015452fb, 0x03484bd1, 0x0194e51a, 0x000fc362}}, Y: Field{[10]uint32{0x03ecadbe, 0x014d8ef3, 0x03d958c6, 0x00b0eb44, 0x031e205e, 0x011e9b82, 0x025cb0e8, 0x00f71117, 0x0023f28c, 0x003ef5db}}}, + {X: Field{[10]uint32{0x003c19d7, 0x01927456, 0x0357bb67, 0x0116b0b3, 0x02bbbb5e, 0x0108a3bc, 0x01a25cce, 0x00e7904a, 0x00cc600a, 0x0030b528}}, Y: Field{[10]uint32{0x0107928d, 0x00a2e0b1, 0x01c9772f, 0x020c5cd1, 0x0126804a, 0x03d04983, 0x0183b5f7, 0x018a5350, 0x00f9c080, 0x00196b68}}}, + {X: Field{[10]uint32{0x01848116, 0x01507957, 0x027bba04, 0x0003f278, 0x001cc9b1, 0x03a52115, 0x0072ce10, 0x034ef814, 0x019abb39, 0x0005a4de}}, Y: Field{[10]uint32{0x027198b3, 0x03d9b080, 0x012e483d, 0x03971366, 0x02c03193, 0x01b1837b, 0x02af60f1, 0x03631539, 0x033b9cb2, 0x00312710}}}, + {X: Field{[10]uint32{0x00940c9a, 0x0202b52f, 0x0233084c, 0x0384ebd0, 0x0113cf3c, 0x01137708, 0x01585e27, 0x03cc6439, 0x027ec305, 0x000bb08a}}, Y: Field{[10]uint32{0x011e7a4d, 0x0253f661, 0x01bdacd1, 0x020f668d, 0x03124051, 0x00a71ffa, 0x02e24f50, 0x01e5a130, 0x0068de33, 0x0022c769}}}, + {X: Field{[10]uint32{0x01d9123f, 0x00e0c7ae, 0x03a7d7e9, 0x006c7e22, 0x0129fc79, 0x03ef47a4, 0x015f8eca, 0x01a9bcbe, 0x038f72aa, 0x000d06d4}}, Y: Field{[10]uint32{0x00bb9a40, 0x0282abc6, 0x026ed19e, 0x029c14a8, 0x0072dee6, 0x0049366b, 0x02f2f041, 0x03167ae9, 0x024719c1, 0x00161604}}}, + {X: Field{[10]uint32{0x01683eeb, 0x003b97f7, 0x03133aa7, 0x00e28234, 0x033e36eb, 0x00212e3c, 0x01af6525, 0x0233b2ac, 0x01738f9a, 0x002bf19a}}, Y: Field{[10]uint32{0x00cd4509, 0x00a72acc, 0x01fdc91e, 0x015497b7, 0x02570bab, 0x0288e705, 0x0359c7fc, 0x009d4af0, 0x01976dd2, 0x00000b08}}}, + {X: Field{[10]uint32{0x03aad77f, 0x001ec731, 0x03b7fa7d, 0x037c3d69, 0x006d4ebb, 0x01da659c, 0x004afc3a, 0x02e378ca, 0x033ec68e, 0x0013c3aa}}, Y: Field{[10]uint32{0x00e6eea8, 0x00fc4773, 0x0092ce6c, 0x0234096b, 0x00adaa07, 0x00ab0bca, 0x008de306, 0x02dd5d68, 0x027176eb, 0x002ca3a8}}}, + {X: Field{[10]uint32{0x036f4293, 0x0007e1ed, 0x01139ea2, 0x02d594f1, 0x0210e978, 0x01c2ca0b, 0x01bc8cf3, 0x00cc2448, 0x035a9f34, 0x0034955e}}, Y: Field{[10]uint32{0x0282740a, 0x0061e894, 0x01a5f1db, 0x00e37901, 0x03e34b68, 0x02d2b487, 0x0282f06e, 0x009fc049, 0x034355e4, 0x0029e1ec}}}, + {X: Field{[10]uint32{0x001f98cd, 0x0326722b, 0x00308cbf, 0x001535fc, 0x01523489, 0x03319808, 0x02d8a9c1, 0x0121c3eb, 0x01a84a47, 0x00270e46}}, Y: Field{[10]uint32{0x00fc599d, 0x039780f5, 0x008e6be7, 0x03ddb193, 0x01905326, 0x00983990, 0x00f044bf, 0x03755d61, 0x030f4a4d, 0x00376e13}}}, + }, + { + {X: Field{[10]uint32{0x001f98cd, 0x0326722b, 0x00308cbf, 0x001535fc, 0x01523489, 0x03319808, 0x02d8a9c1, 0x0121c3eb, 0x01a84a47, 0x00270e46}}, Y: Field{[10]uint32{0x00fc599d, 0x039780f5, 0x008e6be7, 0x03ddb193, 0x01905326, 0x00983990, 0x00f044bf, 0x03755d61, 0x030f4a4d, 0x00376e13}}}, + {X: Field{[10]uint32{0x014a09ec, 0x03bededa, 0x035f0435, 0x0294fa14, 0x000cd326, 0x01724aa9, 0x002fc69d, 0x03603c29, 0x01326255, 0x000b8f01}}, Y: Field{[10]uint32{0x00c7327e, 0x0121a062, 0x02651253, 0x00f1c1ed, 0x03e048a5, 0x020bf06a, 0x01ae240b, 0x01bed6f7, 0x0091656c, 0x000007fe}}}, + {X: Field{[10]uint32{0x03b64db3, 0x026354e3, 0x0138417b, 0x0328e775, 0x02a7ede4, 0x0394ee35, 0x03bb83fb, 0x0332dd02, 0x039229bd, 0x00304508}}, Y: Field{[10]uint32{0x000259be, 0x0033a7ff, 0x027d1e23, 0x02413515, 0x01a87580, 0x03a5e2f4, 0x00ecde4f, 0x01bf0a97, 0x02dc5b48, 0x00048dfd}}}, + {X: Field{[10]uint32{0x039c7ce6, 0x03c668aa, 0x00934205, 0x005a8642, 0x00337103, 0x03893769, 0x015fb7e3, 0x00561eb8, 0x024ccfa4, 0x003a38a8}}, Y: Field{[10]uint32{0x0036267c, 0x0007ada2, 0x03a73b2c, 0x000ed709, 0x016e09e6, 0x02fb8816, 0x02f2b2b3, 0x01746d32, 0x03ce0c6f, 0x0011b260}}}, + {X: Field{[10]uint32{0x03081e46, 0x03b60d00, 0x019ea1ed, 0x02315515, 0x013a5221, 0x02498d1c, 0x02d9c2c1, 0x01c89020, 0x03f831a7, 0x001b16d2}}, Y: Field{[10]uint32{0x03fbcd70, 0x03e72e02, 0x02a62ed1, 0x0209ab08, 0x0041d0cf, 0x038af91e, 0x0347863c, 0x0350bec8, 0x03714926, 0x0032c144}}}, + {X: Field{[10]uint32{0x011349e2, 0x00cab77c, 0x00c05808, 0x03d05d49, 0x0160e3ec, 0x0106b5e3, 0x02147e9a, 0x030b9f98, 0x0324c6b9, 0x003e0160}}, Y: Field{[10]uint32{0x032025fc, 0x0311a796, 0x0288d5fa, 0x02d589b7, 0x03509498, 0x03a84488, 0x0281aa60, 0x015b3737, 0x025a0a88, 0x00257183}}}, + {X: Field{[10]uint32{0x024dcd4b, 0x0396bb11, 0x00124dca, 0x03566447, 0x010c30c7, 0x02ac4291, 0x0270665c, 0x02b792d5, 0x0056670c, 0x00387a6a}}, Y: Field{[10]uint32{0x03041f2c, 0x02d897ae, 0x02b292d0, 0x026ab285, 0x027f44d1, 0x02c95de4, 0x02c43599, 0x0314c6de, 0x02954455, 0x00158ac2}}}, + {X: Field{[10]uint32{0x02c7b3c2, 0x034e59a2, 0x01b5f5b0, 0x0248e0f5, 0x0212acaf, 0x01c00ca8, 0x030a38b1, 0x01cf0acb, 0x02ac5d85, 0x0029d526}}, Y: Field{[10]uint32{0x0287eaef, 0x03245c64, 0x016dffa0, 0x00554dc4, 0x035d6b51, 0x00651f4a, 0x01a1d70c, 0x009054cd, 0x01b90d1c, 0x002f45f4}}}, + {X: Field{[10]uint32{0x03add73c, 0x021dbf8a, 0x00b7d005, 0x03640a99, 0x008fd9cd, 0x03b70508, 0x00a74e42, 0x02c265de, 0x0257ad11, 0x00146c86}}, Y: Field{[10]uint32{0x0336d8d1, 0x0352b87a, 0x034ba6f7, 0x003ca31c, 0x026c2013, 0x034b073e, 0x00a07f01, 0x034f9755, 0x0010001f, 0x00001e4c}}}, + {X: Field{[10]uint32{0x017e2c95, 0x037265af, 0x00d82ab7, 0x02852e1e, 0x036f3f2b, 0x02b15055, 0x019a12a8, 0x034697b7, 0x03fbb24a, 0x003281f2}}, Y: Field{[10]uint32{0x0150dfa2, 0x0266eb23, 0x00cbf05e, 0x03ccedf8, 0x013ac306, 0x030419b2, 0x00a2267b, 0x003b7d2a, 0x011032df, 0x002bb70c}}}, + {X: Field{[10]uint32{0x0309f34b, 0x01742dce, 0x026ce6d7, 0x03982331, 0x01e58873, 0x00fce758, 0x02b6296f, 0x02de6186, 0x03a63b1c, 0x0025c07c}}, Y: Field{[10]uint32{0x00df5793, 0x03214330, 0x00794acd, 0x00e5ff73, 0x037104bc, 0x0055a0cd, 0x03031b53, 0x003b4575, 0x03bb8caf, 0x000f7512}}}, + {X: Field{[10]uint32{0x02548418, 0x01c7446b, 0x03923173, 0x01f62260, 0x02dce488, 0x00de8d06, 0x03072b05, 0x01f8a4be, 0x00c9e481, 0x000b9b6c}}, Y: Field{[10]uint32{0x00a2b918, 0x01e4b004, 0x035f1e69, 0x01cf870f, 0x004b8e1d, 0x022a4459, 0x01314897, 0x01befe88, 0x02411d77, 0x001d3ada}}}, + {X: Field{[10]uint32{0x031e2f46, 0x039888ef, 0x0383015c, 0x007a1c9d, 0x035270f7, 0x00358f15, 0x01592e04, 0x019b3111, 0x001d2c9e, 0x00280dad}}, Y: Field{[10]uint32{0x02ffb349, 0x00789a57, 0x031f4f73, 0x020b3fc2, 0x010680e2, 0x01e7ac23, 0x031f6aa4, 0x01acf5f7, 0x01a003e9, 0x0030efe4}}}, + {X: Field{[10]uint32{0x03db2a09, 0x00154580, 0x01bbf096, 0x021f7080, 0x01f63142, 0x029d9b68, 0x01638800, 0x0030d4af, 0x0004d9c3, 0x002c2773}}, Y: Field{[10]uint32{0x00b1a093, 0x01f6cea0, 0x014e7aed, 0x035305ab, 0x026a951b, 0x02bab403, 0x008d1635, 0x009037dc, 0x006481cf, 0x00229fcc}}}, + {X: Field{[10]uint32{0x004cea08, 0x022e40e3, 0x0221dbcd, 0x02e8383a, 0x02654b58, 0x01001194, 0x00a61153, 0x023141bd, 0x02dbaa4e, 0x001aa17e}}, Y: Field{[10]uint32{0x0062f4f3, 0x037b3966, 0x021b6a19, 0x012d0f5c, 0x00b4271a, 0x023f988c, 0x01933c14, 0x0196754c, 0x0204bae4, 0x00002d91}}}, + {X: Field{[10]uint32{0x00a959e5, 0x004e0848, 0x014cc5a2, 0x00ea2e47, 0x0391e149, 0x036381ae, 0x0205f281, 0x00bf7e37, 0x030b1dd1, 0x001815c5}}, Y: Field{[10]uint32{0x0385a2a8, 0x026fa4c8, 0x00c65e89, 0x02f0fb89, 0x02465152, 0x01c77c98, 0x019a2daf, 0x01201eb7, 0x00b26a6a, 0x002686bc}}}, + }, + { + {X: Field{[10]uint32{0x00a959e5, 0x004e0848, 0x014cc5a2, 0x00ea2e47, 0x0391e149, 0x036381ae, 0x0205f281, 0x00bf7e37, 0x030b1dd1, 0x001815c5}}, Y: Field{[10]uint32{0x0385a2a8, 0x026fa4c8, 0x00c65e89, 0x02f0fb89, 0x02465152, 0x01c77c98, 0x019a2daf, 0x01201eb7, 0x00b26a6a, 0x002686bc}}}, + {X: Field{[10]uint32{0x02fd545c, 0x02729760, 0x00e66189, 0x0237528a, 0x037c133f, 0x01b72177, 0x014110a4, 0x0381900e, 0x01677c52, 0x0019dcff}}, Y: Field{[10]uint32{0x007eb1ae, 0x01fc0d25, 0x00f98e8c, 0x03d6871b, 0x03ead780, 0x034ac91a, 0x00f25c9d, 0x0194bc3c, 0x02d8cd97, 0x001113ad}}}, + {X: Field{[10]uint32{0x031c032b, 0x036858a5, 0x01c980d4, 0x02285ebf, 0x01ff6b66, 0x03f1d9b1, 0x0111b5fd, 0x000980f7, 0x00fcd6e0, 0x001c7aea}}, Y: Field{[10]uint32{0x0268359f, 0x02d6a385, 0x00755e7a, 0x0345dd2d, 0x0371931a, 0x01532edf, 0x0260516f, 0x034e77bd, 0x02624b61, 0x0034bfc4}}}, + {X: Field{[10]uint32{0x0386f021, 0x03185ac2, 0x00050373, 0x00e0411a, 0x020374e4, 0x038321f0, 0x03c79aac, 0x0395948d, 0x0194d17c, 0x00383e1b}}, Y: Field{[10]uint32{0x01bf325a, 0x02de732d, 0x0045b3b6, 0x0300457f, 0x009a80bc, 0x0072268b, 0x011e832f, 0x02f3d1ea, 0x0073730a, 0x000315c7}}}, + {X: Field{[10]uint32{0x0203a61c, 0x0391d14a, 0x00574d06, 0x03d1a41c, 0x00507868, 0x02aaa774, 0x0217442b, 0x02748cb2, 0x0305b324, 0x002157b0}}, Y: Field{[10]uint32{0x025dfc07, 0x031baab1, 0x004965df, 0x013a85f9, 0x02d332f7, 0x02d0bed3, 0x003cbff9, 0x00705fd5, 0x012ec5f0, 0x00037617}}}, + {X: Field{[10]uint32{0x02aa138b, 0x00367dce, 0x02cd66df, 0x002fbde1, 0x0363efba, 0x03119c7f, 0x003ebc18, 0x02b8a1e5, 0x0249d3c3, 0x00105ff8}}, Y: Field{[10]uint32{0x021ae869, 0x0246ccd2, 0x026afd1c, 0x037b0155, 0x03c19daf, 0x003ea795, 0x00a5d29f, 0x00f8e308, 0x01d7bcd2, 0x00008d62}}}, + {X: Field{[10]uint32{0x0332d706, 0x03029207, 0x00678b00, 0x0291d1a8, 0x020618cc, 0x00256fe8, 0x010d29a3, 0x03efc7c5, 0x006abab3, 0x000f3912}}, Y: Field{[10]uint32{0x007fd9e4, 0x01cd8dff, 0x0289f40b, 0x010f3587, 0x02edd156, 0x00425241, 0x02fd046b, 0x01e14a23, 0x008daae3, 0x0039dd50}}}, + {X: Field{[10]uint32{0x02da6e03, 0x001dcb00, 0x016038ad, 0x03e4232b, 0x034c277d, 0x035a5bd3, 0x0191e193, 0x0141073a, 0x01ab9f24, 0x0010b285}}, Y: Field{[10]uint32{0x00347793, 0x02227ea3, 0x03ea7836, 0x029a041a, 0x02d66e85, 0x032e003b, 0x03ce4d1f, 0x015f2591, 0x0326c81c, 0x001a34bb}}}, + {X: Field{[10]uint32{0x011cd3fb, 0x01032ede, 0x03e686db, 0x03f65ca6, 0x034a2a33, 0x03e2113a, 0x02e03218, 0x00dfebc0, 0x01143f4e, 0x00047331}}, Y: Field{[10]uint32{0x01160d86, 0x01c5ae95, 0x03472a93, 0x03f4b374, 0x01fa0b1e, 0x00e3308e, 0x028e2449, 0x00477ad4, 0x032a902b, 0x0012a95a}}}, + {X: Field{[10]uint32{0x01583a3e, 0x02ebc10a, 0x02808108, 0x02662c55, 0x00b15205, 0x036521c7, 0x0275dbbe, 0x03df955c, 0x033f16d0, 0x00162255}}, Y: Field{[10]uint32{0x025b124f, 0x016632df, 0x029cf8f1, 0x01335331, 0x0096fe29, 0x0269ad39, 0x00f5df8a, 0x015bf811, 0x0062c558, 0x0006be8a}}}, + {X: Field{[10]uint32{0x018f7552, 0x02e44658, 0x00fac387, 0x022e6015, 0x01bd4113, 0x0208e0b7, 0x0397774f, 0x0271bd0e, 0x0317e514, 0x0000942e}}, Y: Field{[10]uint32{0x0110b14d, 0x0212588d, 0x02f1e3f0, 0x00f0ccf5, 0x03da006f, 0x03fa7605, 0x02d7df75, 0x020208d0, 0x00fc9bbe, 0x001cc64c}}}, + {X: Field{[10]uint32{0x0307e636, 0x0162d040, 0x011d97e1, 0x039cc858, 0x00b4a77d, 0x028844b2, 0x01bc29bd, 0x01d910f7, 0x01601638, 0x0008867c}}, Y: Field{[10]uint32{0x01f15109, 0x0286cb5c, 0x02f55e07, 0x0034fdce, 0x016dd723, 0x02e08c2f, 0x0006d4f1, 0x028bd86e, 0x00ac5cb6, 0x00012a61}}}, + {X: Field{[10]uint32{0x03725d12, 0x004fa4e7, 0x0347505d, 0x02ef72d7, 0x03d94642, 0x02808bef, 0x00a39ce0, 0x01ff4ead, 0x0088b346, 0x00069d27}}, Y: Field{[10]uint32{0x03ac56e4, 0x01945348, 0x01aa7013, 0x01a62643, 0x03607208, 0x00abcf63, 0x018be75c, 0x0038b3d1, 0x019573ec, 0x001fa474}}}, + {X: Field{[10]uint32{0x02c704c0, 0x00b59c2d, 0x0394f5d2, 0x0183b378, 0x00560446, 0x00d41e09, 0x027f8a6e, 0x0099d285, 0x0107c92f, 0x0029deaa}}, Y: Field{[10]uint32{0x02dfea48, 0x02f1c11f, 0x01462af8, 0x0311d056, 0x014c921f, 0x030af56a, 0x01e188e5, 0x033f93c8, 0x02e5bf35, 0x002e2206}}}, + {X: Field{[10]uint32{0x01fae458, 0x0012394a, 0x0097fd61, 0x0109d9bb, 0x028b0a5c, 0x037edecc, 0x01d156a5, 0x00863042, 0x005be0f8, 0x0031d41a}}, Y: Field{[10]uint32{0x0357b598, 0x01a10655, 0x011a2b01, 0x0140cd65, 0x000a5dca, 0x019cb1ed, 0x012f414c, 0x007817ed, 0x01f8cf92, 0x003ab5e5}}}, + {X: Field{[10]uint32{0x00b94266, 0x01a5cfbb, 0x01f12b1a, 0x03ee9f53, 0x0080cef0, 0x006368c6, 0x01439a45, 0x02104508, 0x038e23a0, 0x00295db7}}, Y: Field{[10]uint32{0x01b28ec8, 0x02f846b8, 0x019f3ee8, 0x029fd453, 0x00432e10, 0x0163360b, 0x02b97afe, 0x0102cb24, 0x0320e766, 0x001029af}}}, + }, + { + {X: Field{[10]uint32{0x00b94266, 0x01a5cfbb, 0x01f12b1a, 0x03ee9f53, 0x0080cef0, 0x006368c6, 0x01439a45, 0x02104508, 0x038e23a0, 0x00295db7}}, Y: Field{[10]uint32{0x01b28ec8, 0x02f846b8, 0x019f3ee8, 0x029fd453, 0x00432e10, 0x0163360b, 0x02b97afe, 0x0102cb24, 0x0320e766, 0x001029af}}}, + {X: Field{[10]uint32{0x02704896, 0x015c96f6, 0x03b8dcec, 0x018f26b3, 0x026f3ba0, 0x02f9c6eb, 0x02520867, 0x0168ed51, 0x0062ef3b, 0x00279773}}, Y: Field{[10]uint32{0x0282c835, 0x009da772, 0x0351248f, 0x006180c3, 0x0279605d, 0x0131d848, 0x03d3a215, 0x017cfa97, 0x012ddb92, 0x001bfb74}}}, + {X: Field{[10]uint32{0x019ed6c1, 0x02bad633, 0x013d6b68, 0x016f0f56, 0x02c24e74, 0x0017b743, 0x03fc1877, 0x03d4fa02, 0x036dcb74, 0x0000ca0c}}, Y: Field{[10]uint32{0x00fafeee, 0x01baf9be, 0x0094adec, 0x037c972d, 0x00265bf4, 0x00835f23, 0x02d5943a, 0x027ca311, 0x003812fd, 0x001c6a26}}}, + {X: Field{[10]uint32{0x00bf7ea0, 0x03b561d1, 0x01833953, 0x028173bd, 0x00e33625, 0x01bc0ec8, 0x016e9f97, 0x0116b7e3, 0x00375b87, 0x0029f782}}, Y: Field{[10]uint32{0x03bcabaa, 0x030154e6, 0x01aa2e04, 0x0303faf1, 0x02645a47, 0x012223a6, 0x004a0b33, 0x02979484, 0x02b057ad, 0x00298f65}}}, + {X: Field{[10]uint32{0x0235983a, 0x02a6a34c, 0x00eb2919, 0x00dc04ef, 0x01e38a10, 0x003f854c, 0x023926d7, 0x00715371, 0x02ae8b91, 0x003393d3}}, Y: Field{[10]uint32{0x013cdecf, 0x035ac643, 0x0340aecf, 0x008a3afd, 0x03526c65, 0x039c1d50, 0x02de0249, 0x03eeecfa, 0x0173c390, 0x003cf27e}}}, + {X: Field{[10]uint32{0x02da57e4, 0x01592299, 0x019f86b7, 0x01bbf737, 0x0298c499, 0x018c6f07, 0x01ea2a74, 0x0062e76f, 0x02e39839, 0x001a4336}}, Y: Field{[10]uint32{0x033f33bb, 0x00656d24, 0x023d42b6, 0x03ef3a56, 0x01f863d8, 0x01656253, 0x01fd91bf, 0x01e691ea, 0x0079677b, 0x002102b7}}}, + {X: Field{[10]uint32{0x01b0e6c9, 0x02aad995, 0x00c89a6d, 0x033de1b9, 0x01db5ff9, 0x037e2f2f, 0x0228fb36, 0x018889e3, 0x03a54b98, 0x00136faf}}, Y: Field{[10]uint32{0x02b2cc25, 0x029e1557, 0x00efae94, 0x02caf141, 0x03589311, 0x03888a7c, 0x01a626e6, 0x00ebb7d1, 0x03b03c91, 0x00043fb9}}}, + {X: Field{[10]uint32{0x02d916fb, 0x023e8412, 0x024a3a9f, 0x03f7a527, 0x03e68065, 0x0073fd32, 0x03c35ac0, 0x02032704, 0x018e6890, 0x00309999}}, Y: Field{[10]uint32{0x00887814, 0x03bd4ae8, 0x0138856a, 0x037fad84, 0x036b8fec, 0x009189ea, 0x0398170b, 0x036aac3d, 0x013854e7, 0x0039fa16}}}, + {X: Field{[10]uint32{0x01857295, 0x00068469, 0x03f0164e, 0x01fc0d0c, 0x0069c8e4, 0x02872848, 0x02e118fc, 0x0170862c, 0x000bfef4, 0x00290a89}}, Y: Field{[10]uint32{0x027eb9c1, 0x00ddffb2, 0x0139556b, 0x00b34546, 0x0027a1c2, 0x01376931, 0x026b22b2, 0x0175159e, 0x03f26100, 0x000ea82c}}}, + {X: Field{[10]uint32{0x005c5b40, 0x02f3f580, 0x03d1e269, 0x021e6ee7, 0x03150b96, 0x023330f7, 0x01ed382e, 0x0334536b, 0x00c8bf53, 0x00292d4f}}, Y: Field{[10]uint32{0x01c61bfd, 0x017b45b4, 0x019e3d1f, 0x026fdd49, 0x03199cca, 0x037f6961, 0x015ca003, 0x016e0112, 0x00ce8300, 0x0033bbc2}}}, + {X: Field{[10]uint32{0x03cdc098, 0x003fd55b, 0x02803222, 0x003dab91, 0x01550ae0, 0x00312670, 0x03f1f86c, 0x008899e9, 0x032f96fb, 0x000d384a}}, Y: Field{[10]uint32{0x027474e2, 0x02c6b79a, 0x003f664c, 0x00c3c662, 0x0304df51, 0x005e5cb6, 0x034cbc84, 0x034c8b65, 0x02ddd7b5, 0x002992b0}}}, + {X: Field{[10]uint32{0x00fb8036, 0x02262a97, 0x035085f9, 0x024b0368, 0x033ad09a, 0x03f59fa0, 0x02117dd1, 0x011ed22b, 0x0351fb16, 0x0033fd89}}, Y: Field{[10]uint32{0x00f59de0, 0x03ced689, 0x02825843, 0x0363d80c, 0x0278a589, 0x021850f1, 0x03e34b58, 0x00b46b17, 0x0126bd54, 0x00337d3b}}}, + {X: Field{[10]uint32{0x03173b92, 0x01bad7a3, 0x037611cd, 0x03d05a7e, 0x003b7e72, 0x03d3595a, 0x0231a218, 0x0247ca6f, 0x0240d9bb, 0x00043d34}}, Y: Field{[10]uint32{0x033146c2, 0x00801b58, 0x02db7c90, 0x0274521a, 0x0290bb76, 0x00ce422e, 0x01b25a5a, 0x014eb484, 0x01950917, 0x0021438b}}}, + {X: Field{[10]uint32{0x004393d7, 0x01983b74, 0x01de1ee6, 0x00959dd2, 0x03869dff, 0x008d5cf8, 0x017f8936, 0x03cee10c, 0x00018a78, 0x0037a87f}}, Y: Field{[10]uint32{0x01710ccd, 0x01f53be5, 0x00cbdbf9, 0x0268ade7, 0x03af6def, 0x01b59b80, 0x03f134ff, 0x0171434e, 0x01cc942e, 0x0013d952}}}, + {X: Field{[10]uint32{0x00d84958, 0x03f4766a, 0x005caee6, 0x02c5b2b3, 0x026a11de, 0x03503321, 0x0319b976, 0x01df9d27, 0x000b69b6, 0x003a11ba}}, Y: Field{[10]uint32{0x0082cf9f, 0x01191ede, 0x001a640c, 0x00d9c783, 0x03ad51a3, 0x01e62ddb, 0x01bd9104, 0x01f89507, 0x00fc894c, 0x0028a72e}}}, + {X: Field{[10]uint32{0x0258ad71, 0x018e226f, 0x03a208f7, 0x03d73e68, 0x00bb30d1, 0x0277a30e, 0x005fe962, 0x030f8c28, 0x038c28de, 0x001dde29}}, Y: Field{[10]uint32{0x019f43ac, 0x004ff07f, 0x02c563b5, 0x0047fc92, 0x0087b384, 0x00bfd600, 0x0098e12f, 0x02c8bfdc, 0x019ab5a5, 0x000d189b}}}, + }, + { + {X: Field{[10]uint32{0x0258ad71, 0x018e226f, 0x03a208f7, 0x03d73e68, 0x00bb30d1, 0x0277a30e, 0x005fe962, 0x030f8c28, 0x038c28de, 0x001dde29}}, Y: Field{[10]uint32{0x019f43ac, 0x004ff07f, 0x02c563b5, 0x0047fc92, 0x0087b384, 0x00bfd600, 0x0098e12f, 0x02c8bfdc, 0x019ab5a5, 0x000d189b}}}, + {X: Field{[10]uint32{0x0073e879, 0x02870944, 0x02ea7a7e, 0x016b8413, 0x032cf16a, 0x03c3f8e4, 0x02f482d7, 0x001b458c, 0x016b5ca0, 0x0039ee5e}}, Y: Field{[10]uint32{0x02a89d98, 0x01c4226e, 0x00af338e, 0x0097b6a6, 0x029cb5bf, 0x00df3072, 0x002102a7, 0x0278bf7d, 0x008c1916, 0x0004ae26}}}, + {X: Field{[10]uint32{0x0319c869, 0x031bab8c, 0x032702f7, 0x0175d87a, 0x0018a9f9, 0x03f32b37, 0x01839022, 0x00ff2340, 0x005d9817, 0x000c0601}}, Y: Field{[10]uint32{0x02b856f0, 0x031db274, 0x01a7bfc0, 0x032928f6, 0x03ca2a84, 0x03588b8e, 0x02624320, 0x02dedbe1, 0x01782503, 0x002b17f1}}}, + {X: Field{[10]uint32{0x02628f0f, 0x035c8afc, 0x02919865, 0x02abcabb, 0x0365423d, 0x02f8269c, 0x00915a24, 0x01880f0b, 0x00185087, 0x0001c6fc}}, Y: Field{[10]uint32{0x01a1c334, 0x03172f51, 0x000bbb57, 0x01a88c72, 0x02098f9c, 0x03021338, 0x03600bc1, 0x033d2b8c, 0x015d504d, 0x00149ea8}}}, + {X: Field{[10]uint32{0x01ed29b5, 0x01a61be9, 0x01d1b4c6, 0x0181c4ab, 0x01f5830b, 0x0298f221, 0x02b67db9, 0x01fbcd0e, 0x01b61ee5, 0x000c8a20}}, Y: Field{[10]uint32{0x00d15ad2, 0x03c49b9f, 0x03604ef4, 0x02ae53b9, 0x01ca83ae, 0x01054c78, 0x010b19df, 0x00d13ac4, 0x028417a0, 0x00059dc0}}}, + {X: Field{[10]uint32{0x00953133, 0x01f726c6, 0x021ae647, 0x00a9d21c, 0x017fb3b4, 0x03f337ea, 0x012806c0, 0x03748e20, 0x034fed0d, 0x000282ca}}, Y: Field{[10]uint32{0x00af0fc9, 0x00928dcd, 0x00ba94bc, 0x03a2c3b5, 0x016fa384, 0x01916323, 0x001c6ca8, 0x02fcbc0f, 0x002cfb5a, 0x00336846}}}, + {X: Field{[10]uint32{0x02c96100, 0x02a101e1, 0x008e63bf, 0x006a9ba7, 0x00a16301, 0x037cf6f3, 0x003dd9b2, 0x006e7fed, 0x033ac0fb, 0x000fce11}}, Y: Field{[10]uint32{0x02624707, 0x00ab06fc, 0x031bcf1e, 0x01f02dd7, 0x0166571c, 0x03c1e739, 0x034c4462, 0x000e5494, 0x0055f5d4, 0x001c31a7}}}, + {X: Field{[10]uint32{0x039620e1, 0x00ddb7e8, 0x013786f6, 0x03214048, 0x025b1911, 0x0300f0e7, 0x0232e594, 0x0395a0ce, 0x003acb9b, 0x0000860d}}, Y: Field{[10]uint32{0x006998b5, 0x00667d94, 0x009ec5e0, 0x0290bd0f, 0x00443299, 0x000beff0, 0x03f24fd6, 0x0142fabc, 0x0148970a, 0x002faa07}}}, + {X: Field{[10]uint32{0x0122d2ac, 0x031bb1bf, 0x02ce0234, 0x0049b72a, 0x0310ddfe, 0x01e177cb, 0x003c0e09, 0x029db72d, 0x03c5fd27, 0x000a2044}}, Y: Field{[10]uint32{0x0342a268, 0x03ad57e3, 0x008fd081, 0x01285523, 0x03ddc3d4, 0x0325d84d, 0x00777260, 0x031723c8, 0x030158fb, 0x002869fa}}}, + {X: Field{[10]uint32{0x02e515dd, 0x0284ebbf, 0x024228c1, 0x008cd0ea, 0x029d0453, 0x012f7f8b, 0x035866ab, 0x0306083b, 0x02fee6ee, 0x0028afe6}}, Y: Field{[10]uint32{0x02c30212, 0x02a5ac01, 0x018745c3, 0x02aa6a3a, 0x0000f2e3, 0x03017a8a, 0x00a5e2ab, 0x02adece8, 0x0071c55c, 0x0016846f}}}, + {X: Field{[10]uint32{0x005f8ea8, 0x02a03749, 0x02900d4b, 0x038e5934, 0x01d17248, 0x01c467f9, 0x03f4d95d, 0x00e8a954, 0x0200c846, 0x003e58e8}}, Y: Field{[10]uint32{0x01bc99eb, 0x0157ec16, 0x020824bc, 0x00d6762d, 0x008bb8f2, 0x03fd09c8, 0x03722301, 0x020f028e, 0x00268c7f, 0x00272165}}}, + {X: Field{[10]uint32{0x030a2a53, 0x03c3b037, 0x0211e7ea, 0x02cfe059, 0x02d51dca, 0x00ea6e24, 0x00394574, 0x0265f0ea, 0x018d07c3, 0x001be194}}, Y: Field{[10]uint32{0x033bfeb2, 0x02695d1c, 0x01f35113, 0x01cbaa81, 0x00bf54f7, 0x029c265a, 0x0376ea95, 0x020bca6d, 0x0216fd45, 0x003542bd}}}, + {X: Field{[10]uint32{0x0206a315, 0x02a20c49, 0x023ad9e1, 0x01cbc9a5, 0x02407260, 0x0243825f, 0x00d8b2a5, 0x03669fe6, 0x024cff70, 0x00297648}}, Y: Field{[10]uint32{0x023b68d1, 0x0184cd67, 0x027c9d35, 0x00d1f446, 0x01ed4d0d, 0x01e6037a, 0x03306abd, 0x03696cd0, 0x03003b20, 0x0021cca2}}}, + {X: Field{[10]uint32{0x00d52891, 0x027abd36, 0x01f52af1, 0x03620fae, 0x0339a0f7, 0x02c5ffe9, 0x0244de90, 0x02378d19, 0x03c9cbc5, 0x000ef092}}, Y: Field{[10]uint32{0x0105b79c, 0x03478a13, 0x032d1386, 0x00a02921, 0x004da845, 0x02fed23d, 0x02bed840, 0x00f629ff, 0x00a48a78, 0x003c238c}}}, + {X: Field{[10]uint32{0x02231493, 0x02ded501, 0x00d469cd, 0x020c3331, 0x0096411a, 0x003979a9, 0x034e41d0, 0x030d813a, 0x002e1b73, 0x003c7fa6}}, Y: Field{[10]uint32{0x018848c1, 0x02a6699d, 0x030d0196, 0x00d1b97f, 0x03f173fb, 0x03df6674, 0x02d3c205, 0x01377085, 0x01eaed9a, 0x000b8806}}}, + {X: Field{[10]uint32{0x02d903ac, 0x03b6a701, 0x03e5cb09, 0x01d396b5, 0x02d5f962, 0x039ebf4b, 0x0329fd30, 0x02a1118d, 0x015ee637, 0x00024a25}}, Y: Field{[10]uint32{0x03cd091f, 0x0203a4d6, 0x0183fc51, 0x03bea2a3, 0x02ac3d26, 0x024ea57b, 0x0378a130, 0x010aa09e, 0x01003d3f, 0x00309588}}}, + }, + { + {X: Field{[10]uint32{0x02d903ac, 0x03b6a701, 0x03e5cb09, 0x01d396b5, 0x02d5f962, 0x039ebf4b, 0x0329fd30, 0x02a1118d, 0x015ee637, 0x00024a25}}, Y: Field{[10]uint32{0x03cd091f, 0x0203a4d6, 0x0183fc51, 0x03bea2a3, 0x02ac3d26, 0x024ea57b, 0x0378a130, 0x010aa09e, 0x01003d3f, 0x00309588}}}, + {X: Field{[10]uint32{0x0359dd9e, 0x0011e983, 0x030e7231, 0x03156d63, 0x027ce5e9, 0x032c62b5, 0x01163b04, 0x034d436b, 0x01ee3771, 0x0013e26f}}, Y: Field{[10]uint32{0x0156b049, 0x01ab8c80, 0x01f5c101, 0x014198e3, 0x031e4882, 0x010eec91, 0x00baf4c0, 0x007da571, 0x02d5227a, 0x00329e54}}}, + {X: Field{[10]uint32{0x0074b839, 0x004a1d5e, 0x02b41811, 0x02ce54f4, 0x02be4115, 0x008c2dab, 0x03df0dfb, 0x0396a014, 0x001fc0e1, 0x000f80ee}}, Y: Field{[10]uint32{0x000594ba, 0x0073959f, 0x01b8da0c, 0x03c3f6ad, 0x027de5c5, 0x01c663d9, 0x00f66075, 0x01fd0b11, 0x0163dff0, 0x00344eb8}}}, + {X: Field{[10]uint32{0x03f01197, 0x030c533f, 0x005bf529, 0x03c1e689, 0x0194b668, 0x00b0f132, 0x0396baca, 0x0316a030, 0x0304cae3, 0x0032e7a0}}, Y: Field{[10]uint32{0x03989c1d, 0x01381d8e, 0x00a24c33, 0x02300578, 0x0341b2d1, 0x03c22245, 0x03258cdf, 0x0039a849, 0x02801eb8, 0x0018b1f4}}}, + {X: Field{[10]uint32{0x0357a513, 0x03de39a0, 0x0023f3a3, 0x004d16cc, 0x01f151bd, 0x028a48b1, 0x02fa283a, 0x0124b358, 0x00b7a2f4, 0x003998b0}}, Y: Field{[10]uint32{0x0017d07e, 0x02880728, 0x00d89192, 0x0358954e, 0x01d8035c, 0x00486906, 0x01ae208a, 0x01148c17, 0x013ce612, 0x002ac2c6}}}, + {X: Field{[10]uint32{0x01a7d197, 0x03a434ee, 0x019459ba, 0x030623a9, 0x035e83a8, 0x008b08d2, 0x038ffe0a, 0x03d8e51d, 0x0254280d, 0x0030b162}}, Y: Field{[10]uint32{0x01eeb5e9, 0x00732fe2, 0x002484e4, 0x011516b6, 0x020a47ec, 0x00bb4e69, 0x03041ab6, 0x00249d5c, 0x0288366e, 0x001cba8c}}}, + {X: Field{[10]uint32{0x0337d242, 0x017dfbf7, 0x014b0499, 0x02981e70, 0x01c29fec, 0x02f8d61f, 0x03862c7c, 0x03db2e10, 0x00b1c94c, 0x00102fe0}}, Y: Field{[10]uint32{0x02405088, 0x03609e69, 0x035583d1, 0x02e90af4, 0x0274321e, 0x02c9bf84, 0x013fe9b1, 0x02abc13d, 0x0135d856, 0x002d5e77}}}, + {X: Field{[10]uint32{0x008d2cc2, 0x027ff094, 0x0058c15f, 0x0351c123, 0x018e0bee, 0x001cc371, 0x00cf2a41, 0x01a6f4f2, 0x01b0f89c, 0x0038bcd2}}, Y: Field{[10]uint32{0x00d4c04f, 0x011ef638, 0x03db37e3, 0x03a38272, 0x0242344b, 0x0180856e, 0x0060aec7, 0x01c8de06, 0x03280f82, 0x0007facb}}}, + {X: Field{[10]uint32{0x015a3558, 0x00acd916, 0x027f2baf, 0x021788d2, 0x02ac071f, 0x0236d67d, 0x02f97813, 0x0329c201, 0x0297601d, 0x000f453f}}, Y: Field{[10]uint32{0x0043df4c, 0x036ceb19, 0x01727c6a, 0x03851f07, 0x0082e0a2, 0x02fd5b85, 0x029a931d, 0x0207be3c, 0x01d6e846, 0x0005b1af}}}, + {X: Field{[10]uint32{0x00ea4178, 0x031c0905, 0x03cd510f, 0x0153931d, 0x03782e03, 0x01dd2532, 0x00453c6a, 0x018da1a0, 0x0072d175, 0x00011c2a}}, Y: Field{[10]uint32{0x00098bd6, 0x01127c6e, 0x01aea079, 0x01c1a613, 0x0319b568, 0x034e7032, 0x02145e9f, 0x026b359d, 0x03a9c110, 0x00022669}}}, + {X: Field{[10]uint32{0x02b1fc24, 0x027d6b60, 0x03570ede, 0x0071f8fd, 0x012528d8, 0x03249219, 0x001ac4d2, 0x01949473, 0x0140e82e, 0x00375be9}}, Y: Field{[10]uint32{0x029b74ca, 0x00c71183, 0x022304a4, 0x01afb5cc, 0x03ec10de, 0x00595f9d, 0x026f1ebf, 0x0061bf8d, 0x037eb1d3, 0x0019f98a}}}, + {X: Field{[10]uint32{0x03369217, 0x0379b658, 0x011ead74, 0x01a40198, 0x01ca1c39, 0x01013ab3, 0x01a278f5, 0x03589288, 0x00ffcba4, 0x0010b714}}, Y: Field{[10]uint32{0x022dbc57, 0x0025f88f, 0x01e841c3, 0x03b2a380, 0x03a7a139, 0x0182ea14, 0x0178f5f1, 0x016c75fb, 0x021f6638, 0x00296ea6}}}, + {X: Field{[10]uint32{0x01d08e02, 0x02a4564f, 0x0302881e, 0x02dff6b7, 0x00108547, 0x028f47a0, 0x0069499a, 0x0175e03e, 0x01a82de5, 0x0004fe8b}}, Y: Field{[10]uint32{0x00b03410, 0x0150770f, 0x02b97da5, 0x02ec6690, 0x03e644af, 0x02ed0cb1, 0x03356206, 0x0369c8c4, 0x00b04555, 0x0004d8ce}}}, + {X: Field{[10]uint32{0x0246a9e9, 0x006b3a45, 0x03b0423f, 0x029f62b9, 0x015dcbb7, 0x03329d77, 0x01f82bb9, 0x03bdd5f4, 0x039c4b0a, 0x002560ad}}, Y: Field{[10]uint32{0x0256a698, 0x035d24ea, 0x002ffbc4, 0x0317c4ee, 0x0001cbb5, 0x02be39a9, 0x02c6acee, 0x009bbb53, 0x01800ed4, 0x0008819f}}}, + {X: Field{[10]uint32{0x004ee41a, 0x00ceae65, 0x029a6ac2, 0x0374edf5, 0x02879b56, 0x00b1a0a0, 0x03c10b67, 0x002910fd, 0x0051d3c7, 0x00341b12}}, Y: Field{[10]uint32{0x03295e6f, 0x03e13a62, 0x02e252f1, 0x00d1858b, 0x019b7b84, 0x013d8c24, 0x030acd4f, 0x0342b6ee, 0x014c0584, 0x0016057f}}}, + {X: Field{[10]uint32{0x03d82751, 0x02b9d458, 0x0354527a, 0x02a41eb4, 0x015645b4, 0x0038eca1, 0x01064f3a, 0x02c424e6, 0x02f3ec6d, 0x0021743f}}, Y: Field{[10]uint32{0x02b1f962, 0x008de893, 0x0331582c, 0x03a5a1dc, 0x023e8751, 0x020b3d59, 0x01d496e5, 0x02302f8a, 0x008413a3, 0x0007c0d9}}}, + }, + { + {X: Field{[10]uint32{0x03d82751, 0x02b9d458, 0x0354527a, 0x02a41eb4, 0x015645b4, 0x0038eca1, 0x01064f3a, 0x02c424e6, 0x02f3ec6d, 0x0021743f}}, Y: Field{[10]uint32{0x02b1f962, 0x008de893, 0x0331582c, 0x03a5a1dc, 0x023e8751, 0x020b3d59, 0x01d496e5, 0x02302f8a, 0x008413a3, 0x0007c0d9}}}, + {X: Field{[10]uint32{0x015fcade, 0x015b4507, 0x01ff7563, 0x038025c4, 0x0068b482, 0x034477c1, 0x007a6cfc, 0x0313d3d8, 0x034b19a4, 0x001ade43}}, Y: Field{[10]uint32{0x0338d3ff, 0x03fe1bf0, 0x02b0ab6f, 0x02d1ef89, 0x03a83fa5, 0x032b8272, 0x016661f9, 0x03acfbca, 0x001b2ff9, 0x00340ea6}}}, + {X: Field{[10]uint32{0x00de4cf3, 0x0154187b, 0x0066ab99, 0x00d51e28, 0x039340e5, 0x005766b9, 0x03c2d26d, 0x008b0ef9, 0x034ac114, 0x000e136a}}, Y: Field{[10]uint32{0x012d0566, 0x01e5ac89, 0x03a73b7c, 0x00ce5d46, 0x001f430a, 0x00ad31bc, 0x034ed6da, 0x03290efe, 0x01bcd1b9, 0x0035b8f1}}}, + {X: Field{[10]uint32{0x03a3e0cb, 0x03336af8, 0x00be0bb0, 0x037a165e, 0x023d2479, 0x03313e3f, 0x022c367a, 0x02fb4f05, 0x032c2d7e, 0x00104526}}, Y: Field{[10]uint32{0x039033a8, 0x024ba60c, 0x00f2470e, 0x0017bd24, 0x00b3ec78, 0x0240b3ca, 0x0015c9b9, 0x00c150ad, 0x0392db7c, 0x00324356}}}, + {X: Field{[10]uint32{0x025238c2, 0x03cfa487, 0x00b8b98a, 0x0170e03b, 0x0040355f, 0x03a0bb52, 0x031610b4, 0x0056a906, 0x000eb7d4, 0x00053c3b}}, Y: Field{[10]uint32{0x02f07922, 0x01a8d1e4, 0x0139d6e8, 0x03600c12, 0x03d25c00, 0x02109d1f, 0x01fc73e3, 0x01760248, 0x013dd483, 0x002ac4b5}}}, + {X: Field{[10]uint32{0x02972627, 0x00d9a822, 0x01e1f8a4, 0x00100948, 0x00e19216, 0x02f11068, 0x018c1efc, 0x03857206, 0x030949bf, 0x00228c61}}, Y: Field{[10]uint32{0x02bb8af9, 0x011ed591, 0x00bcce7b, 0x016b0fbf, 0x00174436, 0x0161eea9, 0x0177ed28, 0x02993425, 0x008768f7, 0x00192edf}}}, + {X: Field{[10]uint32{0x0143e94d, 0x00d4bbf5, 0x00e188f6, 0x029d5be6, 0x02dd1302, 0x02968376, 0x01c34678, 0x00a1fb10, 0x03bb782c, 0x003ad0bc}}, Y: Field{[10]uint32{0x01924d89, 0x01677911, 0x02d42405, 0x02379835, 0x034cd846, 0x03f37edd, 0x020dd572, 0x0364b726, 0x01074f25, 0x0008d29b}}}, + {X: Field{[10]uint32{0x03f3d3fc, 0x03774a38, 0x01cebf8d, 0x0208170a, 0x02664a9b, 0x021ca9ee, 0x02c3dfe2, 0x021277eb, 0x00fa4e7c, 0x00347eb5}}, Y: Field{[10]uint32{0x00f3704d, 0x008d0f14, 0x03326ed2, 0x00c7bfcd, 0x00bad371, 0x0162de06, 0x033f70e8, 0x03f7f951, 0x0314a348, 0x0023f865}}}, + {X: Field{[10]uint32{0x0219aaed, 0x01396d5f, 0x03327032, 0x037a3199, 0x00459bac, 0x0381aa48, 0x02ec02f6, 0x008366a7, 0x00ca5168, 0x00073c4e}}, Y: Field{[10]uint32{0x012f400e, 0x01ba975a, 0x03ffbc13, 0x023fbf1d, 0x03479eef, 0x02db7785, 0x00372a66, 0x018e197d, 0x02f3171c, 0x0035bff6}}}, + {X: Field{[10]uint32{0x00ba68dd, 0x01cee8b8, 0x02d65374, 0x010e31fa, 0x02bca7c9, 0x0076b4c4, 0x0266838c, 0x01d049fc, 0x02abfe2b, 0x000172fa}}, Y: Field{[10]uint32{0x01d03959, 0x00a7cc9f, 0x033b5942, 0x01c17794, 0x007f3d96, 0x0141bbe8, 0x01386665, 0x0055baba, 0x03b6fa90, 0x0004f288}}}, + {X: Field{[10]uint32{0x02a8aa39, 0x0303a7ed, 0x03ac55f6, 0x01ed29e3, 0x0137a663, 0x01266436, 0x035a0968, 0x03504b21, 0x02be5f40, 0x002d61a1}}, Y: Field{[10]uint32{0x03493c1f, 0x01e4d74a, 0x0347b8fc, 0x02639b6c, 0x01abbdaf, 0x01302a47, 0x01478d45, 0x0230b052, 0x014324c7, 0x00158cb5}}}, + {X: Field{[10]uint32{0x023a1550, 0x011319f2, 0x01f279a5, 0x027e3bff, 0x01801da9, 0x007e2dd4, 0x0130976e, 0x015d04b7, 0x01ab3405, 0x003aff1a}}, Y: Field{[10]uint32{0x01362f6e, 0x010afd90, 0x00b1951f, 0x00639a30, 0x037983c8, 0x01fd3f41, 0x01f199db, 0x02d5028f, 0x00cdb99c, 0x0038bffa}}}, + {X: Field{[10]uint32{0x003b4cc5, 0x007af8ec, 0x037c2ee9, 0x02e96871, 0x02572831, 0x01fcea00, 0x035bc4fe, 0x0330ad9e, 0x01b06b8b, 0x0017f067}}, Y: Field{[10]uint32{0x01b57c28, 0x00e7ee19, 0x03ec4a3b, 0x000f3021, 0x009276f5, 0x028e97bd, 0x022138f9, 0x031f19bb, 0x00c0ec98, 0x003b23a1}}}, + {X: Field{[10]uint32{0x028d319f, 0x02fce397, 0x018e948b, 0x0185b510, 0x00e66aa5, 0x01eab260, 0x010b6533, 0x02a19841, 0x0350ce93, 0x001b3970}}, Y: Field{[10]uint32{0x01cf513f, 0x031af5e5, 0x0378308a, 0x03803b14, 0x012da8f2, 0x02ef88fc, 0x013e3e8c, 0x00f216fb, 0x0026e250, 0x00254340}}}, + {X: Field{[10]uint32{0x00b38cb5, 0x02e15f53, 0x00948bb4, 0x037d34e2, 0x03e10b7f, 0x034fba86, 0x03a8a40f, 0x038a277a, 0x030d42ed, 0x002e23ed}}, Y: Field{[10]uint32{0x0165f3d7, 0x03e9d596, 0x00c7197b, 0x00489ebe, 0x024d4f3e, 0x02cd6a38, 0x034bb994, 0x00ca0180, 0x02ad46ea, 0x0035b1cd}}}, + {X: Field{[10]uint32{0x0126087e, 0x01012091, 0x020308f5, 0x02220b68, 0x01fdfb6d, 0x01e62e17, 0x009b6041, 0x033a5f07, 0x01ce97ee, 0x003fcac3}}, Y: Field{[10]uint32{0x00c29907, 0x0147807c, 0x02ceb2c9, 0x01bee438, 0x02c7b7ed, 0x01341e4d, 0x034c4dc5, 0x02e8622b, 0x03fef524, 0x00124f44}}}, + }, + { + {X: Field{[10]uint32{0x0126087e, 0x01012091, 0x020308f5, 0x02220b68, 0x01fdfb6d, 0x01e62e17, 0x009b6041, 0x033a5f07, 0x01ce97ee, 0x003fcac3}}, Y: Field{[10]uint32{0x00c29907, 0x0147807c, 0x02ceb2c9, 0x01bee438, 0x02c7b7ed, 0x01341e4d, 0x034c4dc5, 0x02e8622b, 0x03fef524, 0x00124f44}}}, + {X: Field{[10]uint32{0x0149f8ef, 0x00ea6bcc, 0x034583bd, 0x013b98e2, 0x023deb5c, 0x032c6ec8, 0x0229ebbe, 0x01b27de3, 0x03bc5f36, 0x000a60b6}}, Y: Field{[10]uint32{0x02c7a248, 0x01c9ac05, 0x02d8456e, 0x02504b8f, 0x01095db9, 0x01ed6f27, 0x03a5339c, 0x00882ae7, 0x03e9af66, 0x002986d6}}}, + {X: Field{[10]uint32{0x01d681f9, 0x00153f9e, 0x02b9fc59, 0x03beb23f, 0x0066ce0e, 0x000b252c, 0x037ff25e, 0x008c2222, 0x01f2775f, 0x0031d17f}}, Y: Field{[10]uint32{0x03bb1247, 0x005cd0de, 0x005c7603, 0x00d719f5, 0x038cdbd3, 0x003a0619, 0x031394c7, 0x03979e29, 0x02f2f6b9, 0x00164088}}}, + {X: Field{[10]uint32{0x0380441b, 0x0227d848, 0x03658852, 0x01160385, 0x0060011f, 0x0125f6d6, 0x036eb590, 0x0303dad0, 0x01042af0, 0x00068a39}}, Y: Field{[10]uint32{0x0052af25, 0x03d81aa1, 0x027aeb05, 0x016d1bb9, 0x0104b3e7, 0x025dbc3b, 0x038329a8, 0x0276adf1, 0x027996c5, 0x00155de6}}}, + {X: Field{[10]uint32{0x01cd0ea3, 0x0133bb4d, 0x004815e0, 0x03a0832b, 0x02b34478, 0x019cb9fc, 0x0259e5eb, 0x00142c9e, 0x01f3a975, 0x002aec9e}}, Y: Field{[10]uint32{0x00307bce, 0x024c4cdf, 0x033b6470, 0x0016780b, 0x007c9769, 0x00c1e3b5, 0x034be0c0, 0x025c367e, 0x003bbf17, 0x00177b84}}}, + {X: Field{[10]uint32{0x009a2115, 0x03f54d19, 0x025ebe77, 0x00245e95, 0x02ec7960, 0x01902606, 0x006aca9d, 0x031b1b75, 0x0052b194, 0x003f5cf0}}, Y: Field{[10]uint32{0x02ba6cda, 0x032adee9, 0x0021f049, 0x0158ba75, 0x0104f601, 0x01bdf5b6, 0x00abab02, 0x02211008, 0x00c1c817, 0x001881da}}}, + {X: Field{[10]uint32{0x03c9ee3e, 0x038bcfc6, 0x0382c5c2, 0x02a58f9c, 0x01ea9fa1, 0x0099fb44, 0x03aeaa74, 0x01a0a09f, 0x010b59fc, 0x000fe045}}, Y: Field{[10]uint32{0x019aae06, 0x02b6c316, 0x001603ce, 0x0373f36a, 0x027623b2, 0x011e5598, 0x031beb3c, 0x02a0b519, 0x0268fdbf, 0x00067222}}}, + {X: Field{[10]uint32{0x021e30a7, 0x03c38e58, 0x003242ee, 0x02de6176, 0x002edd5e, 0x034fc805, 0x0250cc0b, 0x00c18074, 0x03e9535f, 0x000322e0}}, Y: Field{[10]uint32{0x03f688de, 0x03defae7, 0x0134dbeb, 0x00dee61c, 0x00aacad2, 0x03bf7215, 0x010e3f17, 0x036b1ee1, 0x0077065f, 0x0003731c}}}, + {X: Field{[10]uint32{0x00e4a007, 0x006fbebe, 0x0358b617, 0x033c22ec, 0x0015ecee, 0x0295b1fb, 0x014ba33a, 0x00b79a56, 0x032dd008, 0x00173e04}}, Y: Field{[10]uint32{0x0068b883, 0x00fc2424, 0x03fe8ce6, 0x025b1e71, 0x02c8946f, 0x01230f7d, 0x02d41588, 0x03e837d2, 0x025c0d61, 0x002d16bb}}}, + {X: Field{[10]uint32{0x003c18e1, 0x00fbf313, 0x03230300, 0x03eeeab5, 0x00ba4ae5, 0x012eb1fd, 0x02267110, 0x0035ae44, 0x01458351, 0x002cfe81}}, Y: Field{[10]uint32{0x02aa2b4f, 0x007efb84, 0x02542cb1, 0x0267c433, 0x01aa55a4, 0x0193f9bf, 0x02182980, 0x03d5adee, 0x00759340, 0x002a1709}}}, + {X: Field{[10]uint32{0x02c2d4a7, 0x01bf9ec9, 0x03fb1095, 0x024cef3f, 0x021bc36f, 0x031013b4, 0x03e33973, 0x02925194, 0x024d0d4b, 0x002db57f}}, Y: Field{[10]uint32{0x02e86371, 0x03739f8e, 0x03cc8118, 0x0139bd78, 0x02745b7e, 0x037fff63, 0x03cf9209, 0x035b0537, 0x03a13abb, 0x0011fcdc}}}, + {X: Field{[10]uint32{0x03816b2f, 0x021b0d46, 0x02e11fdb, 0x021048a3, 0x01ee0cb7, 0x009b1757, 0x00165fe1, 0x00699dba, 0x02dd6595, 0x00169351}}, Y: Field{[10]uint32{0x03e86c60, 0x01ebae1c, 0x00cebaf9, 0x0317ecfb, 0x02b50e6c, 0x03cf7f35, 0x003e27f8, 0x0182ac0a, 0x0396ca0e, 0x001df248}}}, + {X: Field{[10]uint32{0x0066dd33, 0x00cd88bf, 0x036dc509, 0x023fc771, 0x02ea8fbc, 0x000a6c08, 0x03b1b150, 0x01621c1a, 0x03c066cf, 0x0018722e}}, Y: Field{[10]uint32{0x02f10bfa, 0x02ea7ced, 0x00c8ca3b, 0x03ab0a08, 0x036a5106, 0x026174fe, 0x0269994b, 0x03dc0d11, 0x02239e54, 0x0024d667}}}, + {X: Field{[10]uint32{0x035cacbb, 0x019233cc, 0x01b26fce, 0x00a2f58d, 0x0118ac30, 0x0318899c, 0x0177e5bd, 0x003335ee, 0x01b12c72, 0x0013f5a6}}, Y: Field{[10]uint32{0x021ad839, 0x00bbea23, 0x03e6133b, 0x02cba088, 0x00aa998e, 0x036d878b, 0x0079dbfc, 0x0282bb65, 0x02f3f511, 0x0031b243}}}, + {X: Field{[10]uint32{0x016b2ff8, 0x016df337, 0x008fa980, 0x0305ca1b, 0x01876336, 0x03b0ef7c, 0x009f5373, 0x01e1461f, 0x03a57426, 0x002538ca}}, Y: Field{[10]uint32{0x00e1af3e, 0x0121554b, 0x03e13add, 0x010949af, 0x00b33af0, 0x018b67a3, 0x031e4886, 0x0013864b, 0x008b43da, 0x000346d1}}}, + {X: Field{[10]uint32{0x0056e241, 0x03978b3e, 0x01d28780, 0x0052335b, 0x0357f1ee, 0x0006c84a, 0x012b2e63, 0x0203aa7b, 0x03e4b1e8, 0x00209fee}}, Y: Field{[10]uint32{0x02c293ec, 0x016da2eb, 0x03166d60, 0x00c61a40, 0x007ff7a6, 0x0347449a, 0x03ef2c67, 0x01ec2dc6, 0x00923c72, 0x003183e7}}}, + }, + { + {X: Field{[10]uint32{0x0056e241, 0x03978b3e, 0x01d28780, 0x0052335b, 0x0357f1ee, 0x0006c84a, 0x012b2e63, 0x0203aa7b, 0x03e4b1e8, 0x00209fee}}, Y: Field{[10]uint32{0x02c293ec, 0x016da2eb, 0x03166d60, 0x00c61a40, 0x007ff7a6, 0x0347449a, 0x03ef2c67, 0x01ec2dc6, 0x00923c72, 0x003183e7}}}, + {X: Field{[10]uint32{0x00b1815d, 0x03912dc3, 0x03461ef6, 0x024862e1, 0x0260470a, 0x01db9acd, 0x02d7c8d5, 0x01ae5cf8, 0x02a7dce5, 0x002ddfc4}}, Y: Field{[10]uint32{0x0257dbc5, 0x00f4af23, 0x0016d6ba, 0x03e46912, 0x014c42f0, 0x00f30b99, 0x00cefb37, 0x02b310fc, 0x01b14f86, 0x0012dbe1}}}, + {X: Field{[10]uint32{0x03b80fa7, 0x012172ce, 0x01388634, 0x01aedc10, 0x033aa7da, 0x00c82067, 0x011a06bd, 0x030bef03, 0x031f6308, 0x000215f8}}, Y: Field{[10]uint32{0x01366b2d, 0x020847c2, 0x0016abd9, 0x0010f35c, 0x03172e37, 0x0372dc51, 0x017cc9d1, 0x005c824b, 0x03423ae0, 0x003d90e4}}}, + {X: Field{[10]uint32{0x005565ec, 0x0176b4b1, 0x005970fe, 0x037d25df, 0x02d858d8, 0x02de7e55, 0x03308b2c, 0x02fc491e, 0x03943018, 0x001225ce}}, Y: Field{[10]uint32{0x02ed07e9, 0x01e41d7e, 0x037b83b8, 0x02596011, 0x01511b35, 0x005116bc, 0x037bb3a0, 0x03706d90, 0x01684f3c, 0x001d87dd}}}, + {X: Field{[10]uint32{0x01c70e63, 0x000b0e82, 0x01496f5d, 0x01e39d4f, 0x029cbb8b, 0x019299cb, 0x005c6557, 0x018010d5, 0x00ea56bd, 0x000a2ab3}}, Y: Field{[10]uint32{0x0057da4e, 0x000e20bc, 0x021e8b9f, 0x03391136, 0x03f5fc59, 0x01da3aed, 0x0289667c, 0x0038559e, 0x022ef81a, 0x000ada4c}}}, + {X: Field{[10]uint32{0x036d6cd3, 0x0002af9e, 0x0378833a, 0x00740e24, 0x03341661, 0x015948e5, 0x0269b870, 0x02061206, 0x02167f2b, 0x003a8499}}, Y: Field{[10]uint32{0x00f450be, 0x018a497d, 0x01a88aae, 0x00b7aef8, 0x01b1c975, 0x00451789, 0x00e112bf, 0x038ff6ab, 0x02e5078e, 0x00086938}}}, + {X: Field{[10]uint32{0x03e674b5, 0x03714bdc, 0x00aac601, 0x02739c18, 0x0392d8f6, 0x033ae293, 0x01db2c9b, 0x02998517, 0x0225a055, 0x0028bced}}, Y: Field{[10]uint32{0x02937941, 0x00e32383, 0x03a53b09, 0x00c5f0cf, 0x039222fa, 0x00ca9f12, 0x0044a90f, 0x01a2ba00, 0x0159614c, 0x001883a8}}}, + {X: Field{[10]uint32{0x03fd71fa, 0x0135d0ae, 0x027d4a4d, 0x00996d14, 0x030b775a, 0x029c1305, 0x02972728, 0x015671b5, 0x018e8eb5, 0x003a4c49}}, Y: Field{[10]uint32{0x034d3307, 0x02f434c5, 0x035f33d9, 0x0386ed78, 0x00b3946c, 0x032552d0, 0x01eb4169, 0x037b83a1, 0x03364c3f, 0x003ec78c}}}, + {X: Field{[10]uint32{0x011eb056, 0x00058c76, 0x01386c76, 0x036e3b3f, 0x01a002ef, 0x00fd457d, 0x018b5c6a, 0x01648c76, 0x03c9eaae, 0x000f13e0}}, Y: Field{[10]uint32{0x005cecab, 0x01624f68, 0x02b87742, 0x0112073d, 0x001982b5, 0x00ec9e20, 0x02d6573c, 0x022da8ce, 0x0007514a, 0x002511e4}}}, + {X: Field{[10]uint32{0x008fadf1, 0x00f632d5, 0x01f9de64, 0x021e9c4b, 0x0300359b, 0x0224605e, 0x0365f8de, 0x01091270, 0x00387f7f, 0x003b7ce1}}, Y: Field{[10]uint32{0x00415fb6, 0x010db3db, 0x03d2879c, 0x004f7a8d, 0x030f4e88, 0x0082a9ad, 0x01802351, 0x0214037b, 0x01b0a189, 0x001cb4ed}}}, + {X: Field{[10]uint32{0x0186dfa9, 0x0187f6ef, 0x013a7190, 0x029026e6, 0x02dc38b4, 0x02040eea, 0x01c1e03e, 0x019f538a, 0x01288a99, 0x002bfe38}}, Y: Field{[10]uint32{0x01d12681, 0x000f0db0, 0x039c7071, 0x02a51067, 0x00f9116d, 0x03f3d4fd, 0x013ebaa1, 0x01f0ff4f, 0x03b32137, 0x002362d2}}}, + {X: Field{[10]uint32{0x00ff55c5, 0x008f5097, 0x01ec9771, 0x00a0689d, 0x035f4efd, 0x020ad2d8, 0x0012c1e7, 0x0110b29b, 0x01fdfb25, 0x0033cdab}}, Y: Field{[10]uint32{0x01a0228e, 0x009e2148, 0x02706aca, 0x03097034, 0x03a7547e, 0x02f67c81, 0x002f58b3, 0x01da1927, 0x02166ae0, 0x00345a84}}}, + {X: Field{[10]uint32{0x009ba9c1, 0x009cdae6, 0x0338e28f, 0x02968274, 0x01e40f7c, 0x03b3b95e, 0x0058262a, 0x0002cfa1, 0x004528dc, 0x0034fede}}, Y: Field{[10]uint32{0x0351b267, 0x02e237fa, 0x02de0061, 0x03570046, 0x02341ced, 0x022dc3f9, 0x03ca0575, 0x02d39f29, 0x0034efa6, 0x003e2535}}}, + {X: Field{[10]uint32{0x0181f79b, 0x015032f0, 0x02db4fe8, 0x01943392, 0x02e045d8, 0x01a97289, 0x01f82e7c, 0x037ebb8b, 0x00a26c63, 0x000c7203}}, Y: Field{[10]uint32{0x01225400, 0x027949b5, 0x025f1f0b, 0x03abd444, 0x01622ff9, 0x023cc364, 0x014e4d36, 0x009b7cc2, 0x02c12029, 0x0024ad67}}}, + {X: Field{[10]uint32{0x032bb909, 0x025b0743, 0x00d999da, 0x01f14d66, 0x03639102, 0x02461f5f, 0x00729883, 0x02aa23fd, 0x000e0ac9, 0x0013b24c}}, Y: Field{[10]uint32{0x00cf4071, 0x028e0fe9, 0x03827b88, 0x020836b0, 0x02d52e16, 0x0213126e, 0x000dc451, 0x00137172, 0x0106be1b, 0x001e0ae8}}}, + {X: Field{[10]uint32{0x0120e2b3, 0x02d63e88, 0x039aa7f3, 0x0339fd1f, 0x017a58fd, 0x0339b948, 0x03e4ae34, 0x02f6eb9e, 0x01f21f51, 0x003aa992}}, Y: Field{[10]uint32{0x025ad93d, 0x0294c16e, 0x03e59d47, 0x0197c4fd, 0x0201a6b9, 0x021e6a96, 0x01a80f89, 0x02c0eb1a, 0x01ed5bbb, 0x002f8c9e}}}, + }, + { + {X: Field{[10]uint32{0x0120e2b3, 0x02d63e88, 0x039aa7f3, 0x0339fd1f, 0x017a58fd, 0x0339b948, 0x03e4ae34, 0x02f6eb9e, 0x01f21f51, 0x003aa992}}, Y: Field{[10]uint32{0x025ad93d, 0x0294c16e, 0x03e59d47, 0x0197c4fd, 0x0201a6b9, 0x021e6a96, 0x01a80f89, 0x02c0eb1a, 0x01ed5bbb, 0x002f8c9e}}}, + {X: Field{[10]uint32{0x03c9b0a8, 0x02f07307, 0x03db453d, 0x0171c17c, 0x029e337b, 0x00089e7a, 0x0223ea50, 0x025fbb09, 0x01b3beb9, 0x000eb6e7}}, Y: Field{[10]uint32{0x005bbdda, 0x039e5d7c, 0x026cc61a, 0x03e61c09, 0x02aad9c8, 0x030257fd, 0x0374de07, 0x0139c4f1, 0x016daee7, 0x000dd38b}}}, + {X: Field{[10]uint32{0x032e070d, 0x00ff4e8f, 0x02a98f58, 0x007314a9, 0x0229aab7, 0x021411f8, 0x00731c3b, 0x012affd2, 0x01e9042f, 0x0012dca9}}, Y: Field{[10]uint32{0x016dd780, 0x02ea0bba, 0x00c3de44, 0x03774a52, 0x00b0b465, 0x0343cf04, 0x0277bb36, 0x03873d80, 0x014e1d6a, 0x00166787}}}, + {X: Field{[10]uint32{0x00ae86f9, 0x03a78324, 0x03caf054, 0x015a58f9, 0x01fefdff, 0x01b17f1a, 0x010955e5, 0x0272edf8, 0x03ac428e, 0x0004a794}}, Y: Field{[10]uint32{0x0289c85d, 0x03bf7347, 0x0201b822, 0x03f45acf, 0x03b2a232, 0x01c4860f, 0x01a2115b, 0x0268a6cb, 0x03958aee, 0x001057b2}}}, + {X: Field{[10]uint32{0x0202591c, 0x039ff612, 0x025a1e9c, 0x02596144, 0x013ef549, 0x01787f58, 0x026bfbeb, 0x03238a16, 0x03fc6539, 0x002a7f24}}, Y: Field{[10]uint32{0x01bec2dc, 0x02b77bda, 0x03253790, 0x01057f3d, 0x01ca888c, 0x02a45979, 0x004c17a1, 0x021c5cfa, 0x0339dc53, 0x00270b39}}}, + {X: Field{[10]uint32{0x005912ec, 0x01c0283e, 0x01113428, 0x00139182, 0x0327f9ca, 0x02abc150, 0x03499694, 0x016de1aa, 0x01d4e3fb, 0x002a9c48}}, Y: Field{[10]uint32{0x02e35978, 0x0132c992, 0x02cbdb11, 0x02a33815, 0x03fee134, 0x01a8bb7a, 0x005266b9, 0x02542714, 0x0077dad0, 0x0031a43c}}}, + {X: Field{[10]uint32{0x01968b59, 0x001b838b, 0x03c2e110, 0x02b84f2e, 0x0309a28b, 0x0026c09d, 0x03d7ac12, 0x027c29a9, 0x017c1a6f, 0x00325000}}, Y: Field{[10]uint32{0x01e572fb, 0x035d9023, 0x009c8fef, 0x02d90e43, 0x00e2842c, 0x016d5d0b, 0x038a1bfa, 0x0218804e, 0x02500c9b, 0x000e7648}}}, + {X: Field{[10]uint32{0x0055b8da, 0x0090f57a, 0x00711922, 0x01f44a25, 0x02c75626, 0x03b84255, 0x005ecb6a, 0x0251216e, 0x0094c8f6, 0x00180511}}, Y: Field{[10]uint32{0x034e4bbd, 0x0001643c, 0x02a4bad5, 0x0309f8fc, 0x03543955, 0x004cb996, 0x00be1fd9, 0x03991a7a, 0x0269f681, 0x0022ed75}}}, + {X: Field{[10]uint32{0x026b3332, 0x01cccd5c, 0x01de6a28, 0x0341cfb9, 0x00310388, 0x01c2fe38, 0x02793a5f, 0x000093b1, 0x039d7eed, 0x0007e12e}}, Y: Field{[10]uint32{0x00e8d52e, 0x010a28c5, 0x003a2554, 0x00b50db7, 0x00c2bcce, 0x016e7b7c, 0x007c27f7, 0x027b3095, 0x01072bca, 0x003b9c9b}}}, + {X: Field{[10]uint32{0x01972bcb, 0x02565e6c, 0x00ceb9dd, 0x00f8907b, 0x02c2f22e, 0x03b685dd, 0x028e0213, 0x027c0a3d, 0x0057c8bb, 0x000f7cb4}}, Y: Field{[10]uint32{0x025d09df, 0x008b34f5, 0x00771b28, 0x025a0065, 0x031b9144, 0x011a9a12, 0x026b23b0, 0x01bbab5b, 0x01c640c8, 0x00371fac}}}, + {X: Field{[10]uint32{0x01efa98e, 0x02a952b3, 0x027995cd, 0x01a046b0, 0x03724844, 0x02647a71, 0x028157b3, 0x03f341b2, 0x00890945, 0x0003c4f8}}, Y: Field{[10]uint32{0x02286767, 0x029dda6f, 0x02ccdc08, 0x01785b3a, 0x03287e70, 0x01ecd8b6, 0x023f8b0a, 0x01f140d7, 0x01f1764e, 0x002b7548}}}, + {X: Field{[10]uint32{0x03d292dc, 0x001a893f, 0x014ce1b8, 0x0202c5dc, 0x01775e26, 0x01ef5e76, 0x008070d3, 0x03e4d2e9, 0x01533720, 0x0012e645}}, Y: Field{[10]uint32{0x03095ca6, 0x0297ff95, 0x02afd433, 0x03116cdd, 0x03938323, 0x017c07d5, 0x03c0a74b, 0x00e889b7, 0x01496110, 0x0038c9dd}}}, + {X: Field{[10]uint32{0x01f59b6b, 0x00700efa, 0x00e2fa5e, 0x018f0622, 0x03e9b38c, 0x035609b4, 0x0328a1d2, 0x03b1f6cd, 0x01a551dd, 0x00377864}}, Y: Field{[10]uint32{0x02cb1410, 0x03658a49, 0x00fecf6a, 0x02ef9c55, 0x028b5738, 0x0314b853, 0x02757d61, 0x01d72f82, 0x03780282, 0x0016cafe}}}, + {X: Field{[10]uint32{0x03b43eeb, 0x0346cd08, 0x0184feee, 0x0006fe04, 0x00181c94, 0x03cd6717, 0x024825ff, 0x017a4dfa, 0x03979eb9, 0x0020f100}}, Y: Field{[10]uint32{0x0084fb51, 0x00d021b5, 0x03b40aff, 0x032ad54f, 0x0295b6bf, 0x0003586c, 0x03c1e46d, 0x03b8f42f, 0x03f2437c, 0x000a55d7}}}, + {X: Field{[10]uint32{0x01c6b699, 0x03157f72, 0x02871b68, 0x00d5af91, 0x02a86f57, 0x01ed05a0, 0x016d7bf9, 0x01bde968, 0x012eed83, 0x0017eac0}}, Y: Field{[10]uint32{0x01c6c3aa, 0x00c854b0, 0x03519b17, 0x01ffaa20, 0x0390ab11, 0x00358bde, 0x02bb4113, 0x034513a7, 0x0270a3c3, 0x000b66fe}}}, + {X: Field{[10]uint32{0x0234d24f, 0x00d8cb76, 0x037401e2, 0x03c32684, 0x0141b6d8, 0x033d0bb9, 0x011df6de, 0x005a764e, 0x0143c5cf, 0x0039290b}}, Y: Field{[10]uint32{0x02ba9414, 0x03dc4c77, 0x024f13a7, 0x037ea363, 0x00e886ee, 0x02e2b4d3, 0x03c99ccf, 0x031cd49b, 0x02e716d1, 0x001367e4}}}, + }, + { + {X: Field{[10]uint32{0x0234d24f, 0x00d8cb76, 0x037401e2, 0x03c32684, 0x0141b6d8, 0x033d0bb9, 0x011df6de, 0x005a764e, 0x0143c5cf, 0x0039290b}}, Y: Field{[10]uint32{0x02ba9414, 0x03dc4c77, 0x024f13a7, 0x037ea363, 0x00e886ee, 0x02e2b4d3, 0x03c99ccf, 0x031cd49b, 0x02e716d1, 0x001367e4}}}, + {X: Field{[10]uint32{0x028f62bb, 0x03cba8cf, 0x00d2a303, 0x018bdeb9, 0x010553c5, 0x01b13bd3, 0x030acf85, 0x02c634fb, 0x01fb84cf, 0x003f5914}}, Y: Field{[10]uint32{0x032c0911, 0x03642184, 0x0283fd0a, 0x024b4803, 0x00fa2ab4, 0x02f0d133, 0x03e7a5c1, 0x0055e2db, 0x02b2b187, 0x0039d173}}}, + {X: Field{[10]uint32{0x03ea0c68, 0x01042bce, 0x0392b5c8, 0x008d9dec, 0x03094301, 0x034e5beb, 0x009bc8e8, 0x028e8925, 0x0234e156, 0x000f9065}}, Y: Field{[10]uint32{0x0245edb6, 0x02dbfdc6, 0x01a1abcb, 0x0118c0f3, 0x022fa119, 0x01c1a4c1, 0x033cbfe3, 0x0087dfcd, 0x019d924b, 0x000048f1}}}, + {X: Field{[10]uint32{0x01fe696b, 0x0347ee75, 0x007a1fa1, 0x035773cf, 0x030042e2, 0x03e7b6ee, 0x02e81a06, 0x021af1c5, 0x007cb240, 0x0007bb88}}, Y: Field{[10]uint32{0x0029337b, 0x0159c39d, 0x0294ebb4, 0x00b82bf5, 0x037a0206, 0x01187257, 0x03196d12, 0x009a734a, 0x0119aef6, 0x00194b2f}}}, + {X: Field{[10]uint32{0x039824d7, 0x01748f24, 0x01897af7, 0x0130d472, 0x036eb7b6, 0x03dfc2d5, 0x014a3e62, 0x01d423bb, 0x00f5455d, 0x0023650e}}, Y: Field{[10]uint32{0x0366489f, 0x0013d224, 0x0063d8a0, 0x02e0c9ac, 0x038fb9e2, 0x02adbbdb, 0x0260bd31, 0x01b0a8b2, 0x00734fee, 0x000c9878}}}, + {X: Field{[10]uint32{0x03d4b84a, 0x02053105, 0x033e69a9, 0x0123c7d0, 0x00621ddf, 0x00a141c1, 0x022a492d, 0x00bf2c31, 0x01e58dc7, 0x003c4ea6}}, Y: Field{[10]uint32{0x03fd1c81, 0x0243f154, 0x01962859, 0x011c43cb, 0x02b6e37d, 0x038ff81b, 0x02b91cd1, 0x03a656a9, 0x00cd0f0b, 0x000cf0b2}}}, + {X: Field{[10]uint32{0x00d713de, 0x0201c6a6, 0x026208e4, 0x03edd0a3, 0x039360c2, 0x03f95150, 0x00a912a2, 0x01510835, 0x00c558ee, 0x002dc949}}, Y: Field{[10]uint32{0x038350e9, 0x03f94966, 0x01fcb76f, 0x01bf9129, 0x010482d2, 0x0275a505, 0x002d182e, 0x00f91441, 0x039a8a28, 0x0013146c}}}, + {X: Field{[10]uint32{0x0394c0d5, 0x0103c67b, 0x0257908d, 0x0005f15c, 0x01e1c0fc, 0x011b8844, 0x025ab2c3, 0x03ac5351, 0x033ea8a9, 0x003303a8}}, Y: Field{[10]uint32{0x03452fe6, 0x02f965eb, 0x03543dea, 0x0099844f, 0x03f6074f, 0x017ef998, 0x03dd203b, 0x0228bec8, 0x023b711c, 0x003e641e}}}, + {X: Field{[10]uint32{0x023b2cb4, 0x01b0a4ff, 0x010402cc, 0x016fcdc8, 0x023049f3, 0x00484527, 0x01c76e38, 0x0049466b, 0x035a216d, 0x000f7917}}, Y: Field{[10]uint32{0x007eb02f, 0x038ceb0c, 0x0044cf61, 0x03996a1c, 0x02823e28, 0x025f2441, 0x0208aa4a, 0x02b77143, 0x0198405e, 0x002e8aa1}}}, + {X: Field{[10]uint32{0x020c0222, 0x02f5d44a, 0x00b559cc, 0x03e720ba, 0x0016937e, 0x005c03cb, 0x00a18bfc, 0x0228111b, 0x024d9ca5, 0x002792b1}}, Y: Field{[10]uint32{0x00fdc9bb, 0x03dd9ce9, 0x0104e16c, 0x003cf6ae, 0x001c6203, 0x00ecc034, 0x000e8df6, 0x039d34c2, 0x011d9fe4, 0x0033a917}}}, + {X: Field{[10]uint32{0x00e4e5bf, 0x011d9bdb, 0x005b1723, 0x021a8240, 0x029b67ca, 0x012241ab, 0x023fce37, 0x02fa1f07, 0x01c68959, 0x0021447c}}, Y: Field{[10]uint32{0x01789c08, 0x024a5130, 0x025262fc, 0x0226f14d, 0x032da878, 0x01aa8008, 0x01ddf7ec, 0x03521d30, 0x01cf91bc, 0x003b37fd}}}, + {X: Field{[10]uint32{0x02735a1e, 0x030ec513, 0x01fa05f0, 0x0259af98, 0x004003e0, 0x018480bf, 0x038cddad, 0x015b2d1a, 0x03c0799b, 0x0019e2b1}}, Y: Field{[10]uint32{0x02f7c055, 0x00e97dc4, 0x01457a36, 0x02ccf4dc, 0x02597fff, 0x01c417a3, 0x030ff3d5, 0x00a16de9, 0x0233d9a5, 0x00021453}}}, + {X: Field{[10]uint32{0x013258ab, 0x0159a28f, 0x014dc31b, 0x02062af0, 0x0157d242, 0x03852ad6, 0x03a1c72e, 0x018088b3, 0x012e81cf, 0x00231681}}, Y: Field{[10]uint32{0x022d0f8f, 0x038214c0, 0x004ade57, 0x03e70365, 0x0246dae8, 0x00130230, 0x01a80c79, 0x02f6841e, 0x034bb443, 0x001a0476}}}, + {X: Field{[10]uint32{0x022aa9b8, 0x03a5dc20, 0x02f8ed7b, 0x00a4cd41, 0x0300006e, 0x0316b517, 0x026895d9, 0x003db375, 0x0114d868, 0x00192ea5}}, Y: Field{[10]uint32{0x02163565, 0x0347ee6d, 0x03b35e93, 0x01bda0c1, 0x025fef1b, 0x0066f927, 0x0207728c, 0x006f6edf, 0x0322a643, 0x002049cf}}}, + {X: Field{[10]uint32{0x0391bcee, 0x030a82af, 0x00d84158, 0x023c7830, 0x03f5cf1d, 0x015afc4d, 0x0063cec5, 0x00d582f7, 0x0016debd, 0x0033bdfe}}, Y: Field{[10]uint32{0x01966b33, 0x0136a7e0, 0x036ac6bb, 0x000a85cb, 0x03a63e4b, 0x00074917, 0x023b339c, 0x021c0491, 0x00836374, 0x0019f9d3}}}, + {X: Field{[10]uint32{0x0300bf19, 0x01cee750, 0x02a49471, 0x01daa23f, 0x0392b535, 0x02cd4ada, 0x0160fada, 0x02f76550, 0x03ef360c, 0x0007b203}}, Y: Field{[10]uint32{0x0107cefd, 0x03370730, 0x0207b671, 0x01fd8a56, 0x020146e7, 0x01eaefd7, 0x03a4958a, 0x00d034bc, 0x013756b5, 0x002bbbfa}}}, + }, + { + {X: Field{[10]uint32{0x0300bf19, 0x01cee750, 0x02a49471, 0x01daa23f, 0x0392b535, 0x02cd4ada, 0x0160fada, 0x02f76550, 0x03ef360c, 0x0007b203}}, Y: Field{[10]uint32{0x0107cefd, 0x03370730, 0x0207b671, 0x01fd8a56, 0x020146e7, 0x01eaefd7, 0x03a4958a, 0x00d034bc, 0x013756b5, 0x002bbbfa}}}, + {X: Field{[10]uint32{0x014ff9e4, 0x03a01750, 0x010560da, 0x03dbaf62, 0x038e8462, 0x013f242e, 0x02eaa034, 0x012f1b2f, 0x023519f0, 0x0016f9fa}}, Y: Field{[10]uint32{0x03e0bdbb, 0x002c1e11, 0x02309403, 0x00c08466, 0x020e99c6, 0x0156adff, 0x03f890f6, 0x0398151d, 0x02c3f638, 0x000cbccb}}}, + {X: Field{[10]uint32{0x02fea1f9, 0x01f2ef14, 0x012b94b1, 0x01423011, 0x01c4ff0b, 0x01c4194c, 0x00fddab6, 0x03cba0ef, 0x000a55d1, 0x0029b722}}, Y: Field{[10]uint32{0x03c345e9, 0x0305391e, 0x037e63b1, 0x036df9a3, 0x00057b89, 0x01ab2f14, 0x00683a11, 0x019f0c0e, 0x00547dc3, 0x001fbc6a}}}, + {X: Field{[10]uint32{0x01db7bb8, 0x02d517d3, 0x03991e3f, 0x01927e14, 0x00d50028, 0x0237dfd7, 0x013fc869, 0x01399420, 0x01116eae, 0x00163c26}}, Y: Field{[10]uint32{0x025b2d6e, 0x031cd60b, 0x00302bde, 0x0018b45d, 0x02507ee4, 0x0118e019, 0x022ff761, 0x00446835, 0x002aaffe, 0x001f81c0}}}, + {X: Field{[10]uint32{0x02d6c9b3, 0x01030fc1, 0x01637c8d, 0x03a1d219, 0x028c6c4c, 0x0229206e, 0x01c229c7, 0x011664af, 0x013fea42, 0x003f9aea}}, Y: Field{[10]uint32{0x0148bdfb, 0x031e23ea, 0x029b00c2, 0x02fc170b, 0x02d980f1, 0x01504ed5, 0x03b41b34, 0x0261cada, 0x00d74053, 0x001fba46}}}, + {X: Field{[10]uint32{0x007985c4, 0x004f9dc7, 0x02b108b6, 0x01256e78, 0x00134bfc, 0x00bdd30d, 0x00284280, 0x026df395, 0x01caf7b5, 0x0008c82d}}, Y: Field{[10]uint32{0x002c6d44, 0x013c77d3, 0x02b8d4ff, 0x00847367, 0x03d96f10, 0x03e6f2a4, 0x00721b81, 0x03a50c63, 0x003dc88b, 0x0031e7e5}}}, + {X: Field{[10]uint32{0x00f95151, 0x03c41cc3, 0x00b64422, 0x01b910b1, 0x01b96480, 0x030237b4, 0x020c8c2d, 0x0262fec0, 0x02f146fc, 0x00057578}}, Y: Field{[10]uint32{0x03f8ecf2, 0x0281f30b, 0x000f9482, 0x02e5f763, 0x01bb204f, 0x022408fe, 0x010e1097, 0x0353b1fe, 0x0231915f, 0x00296dcb}}}, + {X: Field{[10]uint32{0x009a8e2c, 0x030581b3, 0x021c1413, 0x00693306, 0x03823d8d, 0x021832c3, 0x03cc04fd, 0x0242d8ce, 0x00b9b297, 0x002c3e79}}, Y: Field{[10]uint32{0x033d0db4, 0x0019b137, 0x00ee76c2, 0x000b05c7, 0x003350cc, 0x01bf78fc, 0x00bb0b90, 0x0379b507, 0x03f1843a, 0x00127a0a}}}, + {X: Field{[10]uint32{0x016a5658, 0x02042e4a, 0x025643d7, 0x014907bd, 0x023814b2, 0x01eb8a6f, 0x007e0092, 0x0111eb63, 0x00725688, 0x0021303a}}, Y: Field{[10]uint32{0x001b80d1, 0x019ca6f6, 0x01fd22d9, 0x02607d3c, 0x02d3a61a, 0x0194dc97, 0x007e3190, 0x008b1282, 0x0380c160, 0x00099660}}}, + {X: Field{[10]uint32{0x01d6fad4, 0x000bca76, 0x0124c5aa, 0x033c7268, 0x0094b357, 0x004f567d, 0x02d04ce2, 0x0247b23e, 0x0280670a, 0x0015b6d8}}, Y: Field{[10]uint32{0x019e0836, 0x02703f4d, 0x01cc867a, 0x02868c79, 0x03f5b8b2, 0x035a0c31, 0x03591016, 0x009c9143, 0x0394db57, 0x0036834e}}}, + {X: Field{[10]uint32{0x00dc6a0f, 0x02ed7225, 0x01575375, 0x02450bf8, 0x02744341, 0x00b01df0, 0x01264e7a, 0x01cc7559, 0x01c71a93, 0x003fb5ac}}, Y: Field{[10]uint32{0x036fc7e0, 0x0235cb65, 0x00409ccb, 0x024c28ff, 0x031374d5, 0x0134eb88, 0x039181ae, 0x03fc2a11, 0x03e6b0ff, 0x002378aa}}}, + {X: Field{[10]uint32{0x023a809c, 0x0382c2f2, 0x0346d79f, 0x03d75e60, 0x02dab662, 0x00952a27, 0x03cf97e4, 0x037d5afe, 0x02c83933, 0x0004979f}}, Y: Field{[10]uint32{0x009e70d9, 0x032402a5, 0x00a3dda8, 0x00bbc1ff, 0x031e4e3b, 0x015c868d, 0x03747caf, 0x032ce221, 0x02ede254, 0x003834fd}}}, + {X: Field{[10]uint32{0x00e29355, 0x02217c46, 0x00d86db3, 0x024ce5c8, 0x002f1c8e, 0x0008ee76, 0x00ef8604, 0x032f1c3f, 0x01d992d3, 0x000a9a93}}, Y: Field{[10]uint32{0x01cc2872, 0x00f803ed, 0x0076c005, 0x00e99313, 0x01fe905a, 0x009a3e43, 0x00fdc81e, 0x01f831d8, 0x03ba7c4a, 0x00219df7}}}, + {X: Field{[10]uint32{0x03681028, 0x00a54479, 0x01bb47f5, 0x017abf2e, 0x03196e23, 0x036bcf63, 0x033ce97d, 0x008386fc, 0x03f1185d, 0x00286b2c}}, Y: Field{[10]uint32{0x00a11c9d, 0x02918f85, 0x017881f1, 0x009c7e83, 0x0266eecb, 0x0223c316, 0x00475882, 0x02ca6da8, 0x03a61abb, 0x00156a20}}}, + {X: Field{[10]uint32{0x0148dabf, 0x03ea23f8, 0x038eb1f9, 0x02e4d275, 0x01c1add2, 0x017eb9cd, 0x0364ec23, 0x01d51b65, 0x03026c92, 0x00390b64}}, Y: Field{[10]uint32{0x011e1361, 0x00b1d5a0, 0x03eb9d77, 0x01c0679d, 0x00327275, 0x037ce14c, 0x0338cebf, 0x0212c362, 0x022c6e2d, 0x001904e1}}}, + {X: Field{[10]uint32{0x026642be, 0x02d64a0d, 0x03a889dd, 0x01c5f562, 0x03ce3490, 0x02037ea2, 0x0300af46, 0x0030be46, 0x038c0467, 0x00051a9d}}, Y: Field{[10]uint32{0x0183efd0, 0x00a5d20f, 0x01ed1d0b, 0x0074bdf9, 0x030aaa97, 0x02752ca1, 0x0269827f, 0x000a2b75, 0x00ec3354, 0x002cc638}}}, + }, + { + {X: Field{[10]uint32{0x026642be, 0x02d64a0d, 0x03a889dd, 0x01c5f562, 0x03ce3490, 0x02037ea2, 0x0300af46, 0x0030be46, 0x038c0467, 0x00051a9d}}, Y: Field{[10]uint32{0x0183efd0, 0x00a5d20f, 0x01ed1d0b, 0x0074bdf9, 0x030aaa97, 0x02752ca1, 0x0269827f, 0x000a2b75, 0x00ec3354, 0x002cc638}}}, + {X: Field{[10]uint32{0x01de5cac, 0x008d955e, 0x0261911b, 0x00f1fb2c, 0x03eefc98, 0x02f34533, 0x0270b5c0, 0x01f89395, 0x00ce8a59, 0x0015d3bc}}, Y: Field{[10]uint32{0x035a4805, 0x026ba9b1, 0x0008cae5, 0x01efbc40, 0x011a260a, 0x01a6de11, 0x016ada05, 0x00671cef, 0x0130281f, 0x00026e66}}}, + {X: Field{[10]uint32{0x03315443, 0x00e1ce09, 0x027299d9, 0x03552ba1, 0x013d79bb, 0x002850a8, 0x02c89982, 0x024d7fd0, 0x00040660, 0x003f1a5b}}, Y: Field{[10]uint32{0x03d28960, 0x003582d5, 0x011b1749, 0x0218426f, 0x01487ff4, 0x01a59ded, 0x030e1cdd, 0x01624aef, 0x03ebf83b, 0x00383389}}}, + {X: Field{[10]uint32{0x020966d3, 0x030b5d09, 0x00645808, 0x0306bbfe, 0x0110a770, 0x026320d7, 0x0109397b, 0x03e7e176, 0x02799d8b, 0x0034f65f}}, Y: Field{[10]uint32{0x033c2e52, 0x03ae1420, 0x004eebdd, 0x0046fa37, 0x03b5e487, 0x03500eb4, 0x02a89275, 0x032579aa, 0x006376ba, 0x002376ed}}}, + {X: Field{[10]uint32{0x02fdb4eb, 0x02cbd705, 0x02a79d1b, 0x01e718b9, 0x028fa3dd, 0x00afac24, 0x0256a356, 0x03cab46b, 0x0221ff4f, 0x0025d2bc}}, Y: Field{[10]uint32{0x01f6f484, 0x0270f7ea, 0x00234840, 0x00a8efff, 0x01111c57, 0x00b0243b, 0x011e43d0, 0x000f2993, 0x007d5350, 0x0015548e}}}, + {X: Field{[10]uint32{0x006b5b56, 0x01857f5f, 0x00b607f3, 0x02abb622, 0x014185c8, 0x02fc8039, 0x03587ed3, 0x010ce337, 0x025700ef, 0x00283a21}}, Y: Field{[10]uint32{0x021d7518, 0x02f7944e, 0x00a51a16, 0x0075c216, 0x01526b87, 0x0214f7ab, 0x01a6b89b, 0x02b542e6, 0x02839fa9, 0x003d6e91}}}, + {X: Field{[10]uint32{0x015aeee3, 0x0012b6d7, 0x00813739, 0x030d9963, 0x01e8284b, 0x01a49c31, 0x0121b3a6, 0x00e62c24, 0x019b49de, 0x0016eaad}}, Y: Field{[10]uint32{0x00f69717, 0x00a6bedc, 0x01eed82d, 0x0276af4c, 0x03215ddc, 0x007ff6bd, 0x01a00866, 0x01fa15b9, 0x03617c0f, 0x002295df}}}, + {X: Field{[10]uint32{0x028c6d4b, 0x003ee4e5, 0x00c12004, 0x033e3d25, 0x02b2be78, 0x032efb82, 0x0174e782, 0x006261ee, 0x013288b3, 0x002c6a99}}, Y: Field{[10]uint32{0x0091ac51, 0x02798aba, 0x03cc383d, 0x02427588, 0x03100a1d, 0x0358ea0e, 0x004aa8e2, 0x0035c49a, 0x031c6081, 0x001fb581}}}, + {X: Field{[10]uint32{0x01726890, 0x02c7913d, 0x03d15851, 0x03fab20d, 0x02e59025, 0x03e44283, 0x0032fceb, 0x0310f404, 0x03a7eb49, 0x003eda17}}, Y: Field{[10]uint32{0x0035783a, 0x03aa3cee, 0x039b2606, 0x004ba439, 0x014fa6cb, 0x02192e82, 0x01ca16d9, 0x0178ba1a, 0x0322c98e, 0x0035d437}}}, + {X: Field{[10]uint32{0x02c6e5bb, 0x03b6bb18, 0x03e6ab7e, 0x03b8d5b3, 0x0324fdff, 0x024a965f, 0x00ab0b83, 0x00417cd6, 0x004108c7, 0x0009445b}}, Y: Field{[10]uint32{0x037e1321, 0x011cca83, 0x0272d4dc, 0x037d4730, 0x0377c508, 0x02057763, 0x037406dc, 0x01df807a, 0x0113e771, 0x0018361a}}}, + {X: Field{[10]uint32{0x00bca48a, 0x012fc4ea, 0x0362f546, 0x03d3a0f7, 0x0178b4d5, 0x00a1fdc7, 0x0327b91c, 0x0265682a, 0x03f659e2, 0x00177963}}, Y: Field{[10]uint32{0x02fd41cd, 0x0253a034, 0x00aa9587, 0x0271383e, 0x003fe5bd, 0x014b4f21, 0x01a623c2, 0x026d54c2, 0x033d8035, 0x001a168e}}}, + {X: Field{[10]uint32{0x00cedd26, 0x01977dd4, 0x015541d7, 0x0277a95c, 0x023cc8b9, 0x0258e78a, 0x01d8100f, 0x03aec984, 0x00372961, 0x002be212}}, Y: Field{[10]uint32{0x00e43f7f, 0x039eb4ec, 0x001708b6, 0x01219ea9, 0x0254549e, 0x02fb4be5, 0x00cbb88e, 0x01c0c34a, 0x03f97b16, 0x003715fe}}}, + {X: Field{[10]uint32{0x01ef63b6, 0x00e0d139, 0x0182ebde, 0x0059cc6c, 0x005ab4d0, 0x02d3f072, 0x01b7fda3, 0x0062febc, 0x01cdead6, 0x001bc609}}, Y: Field{[10]uint32{0x01c655f3, 0x0211b3d1, 0x0145412c, 0x019009fe, 0x013c895a, 0x020ccd15, 0x034204d7, 0x02446e63, 0x027dd591, 0x003fc25f}}}, + {X: Field{[10]uint32{0x02a50e2d, 0x02796c7e, 0x00bdc39f, 0x03b3dab9, 0x00b5a275, 0x00206b74, 0x0256e3ea, 0x0200d96c, 0x02605b88, 0x00148435}}, Y: Field{[10]uint32{0x02fda8ee, 0x026a24d6, 0x0286eb02, 0x03371909, 0x035a273d, 0x03fd9622, 0x0013c0e7, 0x034c04e7, 0x034a5dec, 0x000d7d99}}}, + {X: Field{[10]uint32{0x00a63f3b, 0x0011fb7d, 0x039727b5, 0x000665e3, 0x0183203b, 0x039db1d9, 0x007115f5, 0x028ddad6, 0x0095f762, 0x00317b2e}}, Y: Field{[10]uint32{0x01005024, 0x03cdd1a1, 0x03ee5b53, 0x03b978c2, 0x008beb65, 0x03e48cfb, 0x02a4058f, 0x0207cdd3, 0x01181978, 0x00088949}}}, + {X: Field{[10]uint32{0x0180eef9, 0x01aa1e4c, 0x039776d7, 0x008268a2, 0x028d0012, 0x02a81ec4, 0x03acebb1, 0x0397c1f8, 0x00f61d22, 0x003e9430}}, Y: Field{[10]uint32{0x034f2811, 0x03635f4f, 0x0213b38c, 0x024e95e8, 0x025e6832, 0x00a069a2, 0x02cd2872, 0x03aea6dc, 0x02922397, 0x001ae131}}}, + }, + { + {X: Field{[10]uint32{0x0180eef9, 0x01aa1e4c, 0x039776d7, 0x008268a2, 0x028d0012, 0x02a81ec4, 0x03acebb1, 0x0397c1f8, 0x00f61d22, 0x003e9430}}, Y: Field{[10]uint32{0x034f2811, 0x03635f4f, 0x0213b38c, 0x024e95e8, 0x025e6832, 0x00a069a2, 0x02cd2872, 0x03aea6dc, 0x02922397, 0x001ae131}}}, + {X: Field{[10]uint32{0x007f5048, 0x016f88c6, 0x006d459c, 0x0349120e, 0x02e72328, 0x00ba420d, 0x00140fe0, 0x01d381e0, 0x02ee6190, 0x0018e593}}, Y: Field{[10]uint32{0x01309df8, 0x028a1362, 0x02c84383, 0x024d3779, 0x013d580b, 0x00d2fef2, 0x01ff9b1c, 0x033d068e, 0x033a6b89, 0x000edb3e}}}, + {X: Field{[10]uint32{0x01da5e12, 0x03838ce4, 0x00b2971e, 0x0100572b, 0x02a9c60a, 0x028728ad, 0x02329f93, 0x038c6f36, 0x023c4379, 0x003dd40b}}, Y: Field{[10]uint32{0x0385f4eb, 0x02e717a0, 0x00ebc7a4, 0x00bbdc97, 0x007b86d3, 0x00f59c81, 0x0170945c, 0x03ebf566, 0x01edd67c, 0x000f15fd}}}, + {X: Field{[10]uint32{0x02db2a65, 0x012e87ae, 0x01a31f81, 0x00ab4f2f, 0x01afd7f1, 0x003f27dd, 0x01469ddf, 0x02df88b4, 0x025b4d15, 0x00168f38}}, Y: Field{[10]uint32{0x01327f1d, 0x005c33c7, 0x03e8ed8b, 0x030f6097, 0x033ee28b, 0x03cfe66b, 0x03a6dbfb, 0x017d8e1c, 0x025b92e0, 0x0022cd04}}}, + {X: Field{[10]uint32{0x00b7d105, 0x0124cc44, 0x03c9f207, 0x012e5395, 0x03f4ca5c, 0x038d156c, 0x024f6624, 0x01618a8e, 0x00f983ae, 0x0004bf9e}}, Y: Field{[10]uint32{0x03794a60, 0x02b1bee7, 0x010b8458, 0x01975bba, 0x031dece2, 0x0269f2dd, 0x02b5aa19, 0x02f3dde1, 0x01a338d6, 0x000818bc}}}, + {X: Field{[10]uint32{0x0232478e, 0x00c481cf, 0x027ed237, 0x023caa6e, 0x0024ab31, 0x03cccac8, 0x02c6b7f3, 0x004e203f, 0x01d60106, 0x00350804}}, Y: Field{[10]uint32{0x004e88d4, 0x0015a074, 0x00cc31ce, 0x00bcd542, 0x036fb24b, 0x012fe11e, 0x02d5f5f4, 0x0138306c, 0x00e9a37d, 0x002eb975}}}, + {X: Field{[10]uint32{0x020c5d05, 0x00760ce7, 0x02daff62, 0x0142a95c, 0x02480e6c, 0x020212c6, 0x004bb102, 0x011cf563, 0x031347df, 0x001daab0}}, Y: Field{[10]uint32{0x01ece63e, 0x01866dd4, 0x02ee3556, 0x033c0579, 0x034b1225, 0x00809897, 0x02f32c83, 0x01c3beaf, 0x02ef0d5c, 0x003bd55d}}}, + {X: Field{[10]uint32{0x029f44d0, 0x01ccdd52, 0x03a0016a, 0x01b9a6a3, 0x0385dbcb, 0x0037907f, 0x010be34f, 0x00fb69a4, 0x01af98f9, 0x00173981}}, Y: Field{[10]uint32{0x01d30105, 0x0017cd22, 0x00cc6c0d, 0x02fe8cbb, 0x00ab3cb1, 0x0071db16, 0x0256bd03, 0x01aff9ee, 0x039bec22, 0x00133773}}}, + {X: Field{[10]uint32{0x0053c086, 0x01bd217f, 0x01aec9e2, 0x00d27268, 0x00c6b55c, 0x017a2041, 0x0260c314, 0x0173321f, 0x025bbe5c, 0x002998ff}}, Y: Field{[10]uint32{0x01016201, 0x03140ca9, 0x00fc0e69, 0x0295ce65, 0x03991ecc, 0x02608f70, 0x01b102c8, 0x007efd74, 0x017f6b21, 0x002d5066}}}, + {X: Field{[10]uint32{0x01f40840, 0x0035a472, 0x0359eaa2, 0x010a7954, 0x03a71df4, 0x00e290d1, 0x00eaa239, 0x03dd07f9, 0x0121121f, 0x00380d1b}}, Y: Field{[10]uint32{0x03d7ce72, 0x0286abfc, 0x033edc39, 0x0269baf4, 0x02269cd3, 0x03b9ee8a, 0x016d4a97, 0x02255b5d, 0x03713c99, 0x000fb9a0}}}, + {X: Field{[10]uint32{0x03758574, 0x02007b52, 0x01c6e9ad, 0x02250d3e, 0x03d83266, 0x02b8af7c, 0x03ca1027, 0x0336096d, 0x027a0206, 0x0037a554}}, Y: Field{[10]uint32{0x0367232a, 0x037c7f3e, 0x02deb4b7, 0x00145568, 0x03bae6a1, 0x03c5a7b5, 0x021dc847, 0x03453938, 0x0056ac93, 0x001334f8}}}, + {X: Field{[10]uint32{0x016ddcd3, 0x01c8dee8, 0x0003556a, 0x000087a8, 0x03044b11, 0x02e1d86b, 0x035beb6c, 0x0267b7de, 0x0136f64e, 0x0006b86b}}, Y: Field{[10]uint32{0x027eb2b7, 0x0118674b, 0x0213c7cc, 0x0377f2ed, 0x0159616a, 0x00841122, 0x0074f775, 0x02488167, 0x014987a0, 0x001c0581}}}, + {X: Field{[10]uint32{0x0185474f, 0x026e2aff, 0x00668d77, 0x00ae258d, 0x02894c4a, 0x011e16ba, 0x02dccbe4, 0x00ab76ff, 0x00e066d3, 0x002369af}}, Y: Field{[10]uint32{0x017b4ef7, 0x03e71f4f, 0x01d7a5fd, 0x024c176f, 0x010b1cc5, 0x01c77ffc, 0x03ddf5d0, 0x0353fe13, 0x006af31e, 0x0004ff1b}}}, + {X: Field{[10]uint32{0x029de533, 0x03ffe242, 0x02e3c80f, 0x019c08d5, 0x002a9bb5, 0x0191c49d, 0x02979f6a, 0x0243e483, 0x01123337, 0x00044e2b}}, Y: Field{[10]uint32{0x01332573, 0x02dc253f, 0x040006a8, 0x002d1528, 0x03f679bd, 0x03e569f7, 0x030dc3e9, 0x0076521b, 0x01b75875, 0x002cd549}}}, + {X: Field{[10]uint32{0x01d042ea, 0x0350959f, 0x02fd06b5, 0x0299163a, 0x02ebfa26, 0x00cf24ef, 0x03d6649e, 0x02e8e6c6, 0x00c7cfb3, 0x001cca6b}}, Y: Field{[10]uint32{0x035c94a1, 0x0233fb0b, 0x034f0ada, 0x01cc77ea, 0x02184897, 0x03eada3b, 0x0284e794, 0x01bc5224, 0x013541b7, 0x00249c92}}}, + {X: Field{[10]uint32{0x03067ec2, 0x00f4cad7, 0x025220e5, 0x02d756ee, 0x021a288a, 0x03623a10, 0x025bf6b7, 0x006846c6, 0x01d0ca72, 0x00368758}}, Y: Field{[10]uint32{0x02d836f1, 0x03ee83c6, 0x0348a655, 0x026749e6, 0x0166a738, 0x0072478a, 0x00076616, 0x00c1b1e7, 0x015a7c99, 0x002055fd}}}, + }, + { + {X: Field{[10]uint32{0x03067ec2, 0x00f4cad7, 0x025220e5, 0x02d756ee, 0x021a288a, 0x03623a10, 0x025bf6b7, 0x006846c6, 0x01d0ca72, 0x00368758}}, Y: Field{[10]uint32{0x02d836f1, 0x03ee83c6, 0x0348a655, 0x026749e6, 0x0166a738, 0x0072478a, 0x00076616, 0x00c1b1e7, 0x015a7c99, 0x002055fd}}}, + {X: Field{[10]uint32{0x00d3c369, 0x0084348b, 0x02934b3c, 0x020f87e3, 0x02236054, 0x03704a0e, 0x005d5f61, 0x0311137e, 0x000b4ef4, 0x00271ef8}}, Y: Field{[10]uint32{0x02329515, 0x038ffae8, 0x01cbd29e, 0x00e859da, 0x003e3115, 0x03390052, 0x0226d455, 0x0034814a, 0x00de74b2, 0x00248830}}}, + {X: Field{[10]uint32{0x0295a8db, 0x021dccbe, 0x036f615d, 0x03111e74, 0x03b83ec0, 0x0246c5c8, 0x02966469, 0x03741067, 0x01a46303, 0x0038fa43}}, Y: Field{[10]uint32{0x030d1cf9, 0x01b3dfc6, 0x00d3d101, 0x025f3261, 0x02fbb1ef, 0x01c0b9da, 0x00faa90c, 0x005e2ec0, 0x03c0056c, 0x003ef94e}}}, + {X: Field{[10]uint32{0x03b8c9e3, 0x03364b5e, 0x0178e76b, 0x029c1504, 0x0174dd06, 0x02333124, 0x01664b23, 0x0098eed5, 0x03f42825, 0x0003f360}}, Y: Field{[10]uint32{0x034aa9ad, 0x03557ef7, 0x03bf4e86, 0x0337c589, 0x03adbeae, 0x017f6da0, 0x018232de, 0x03ef3b47, 0x01cfeac5, 0x001b02f0}}}, + {X: Field{[10]uint32{0x012ee214, 0x02bf5904, 0x0154017a, 0x025e564c, 0x00782a4e, 0x01703007, 0x03650dfd, 0x035dd6a2, 0x02c732e3, 0x0027d3ff}}, Y: Field{[10]uint32{0x0085f37a, 0x01108894, 0x000283ef, 0x024c2f22, 0x019719b6, 0x035d71a7, 0x0296682f, 0x00bcb983, 0x02e1318e, 0x0018e738}}}, + {X: Field{[10]uint32{0x001d0ce6, 0x030f72d5, 0x00d41f4f, 0x028b3d66, 0x02748992, 0x00e817ec, 0x0214cce3, 0x02a504bb, 0x022937f1, 0x00050a56}}, Y: Field{[10]uint32{0x0338bb86, 0x0206a2b5, 0x0241a52a, 0x01806d74, 0x01310895, 0x011020ec, 0x0031c448, 0x0141c46c, 0x0363df11, 0x003fa9d4}}}, + {X: Field{[10]uint32{0x0361a0a5, 0x01a05147, 0x00e3ef8b, 0x0386cf05, 0x004b1253, 0x03d102cb, 0x031a0a41, 0x012b06c5, 0x022d4113, 0x0010c7d8}}, Y: Field{[10]uint32{0x00cef899, 0x01edff9e, 0x0177246b, 0x0010d559, 0x0241baaa, 0x01c8ea9c, 0x02de6519, 0x010e3db5, 0x027fe7aa, 0x0028a60c}}}, + {X: Field{[10]uint32{0x026b64f1, 0x00e6512c, 0x02d995cf, 0x00a3d51d, 0x01b7edcf, 0x01447967, 0x00da4c62, 0x03c04353, 0x007f1b58, 0x001c5d50}}, Y: Field{[10]uint32{0x024234d5, 0x039fbeac, 0x01d2a426, 0x02ddd11c, 0x02b01fe8, 0x00d3321b, 0x02d34011, 0x035543cd, 0x014344e3, 0x0010ed15}}}, + {X: Field{[10]uint32{0x03748503, 0x0099f559, 0x028e7cac, 0x011dcc4c, 0x000e6e0e, 0x03e284ab, 0x0362ef39, 0x023ee1b2, 0x02ddece7, 0x00264f6e}}, Y: Field{[10]uint32{0x02b0cee2, 0x01cd84df, 0x01aa49ba, 0x03da6e2b, 0x0217f87b, 0x01e87d46, 0x01f78478, 0x03bbade1, 0x01ee8569, 0x0029486a}}}, + {X: Field{[10]uint32{0x03421e21, 0x0136ea65, 0x022f4e46, 0x0288f3bf, 0x003aca86, 0x010633eb, 0x00289212, 0x005dcaea, 0x006b84e5, 0x0003083a}}, Y: Field{[10]uint32{0x01aa6a45, 0x020f5928, 0x01349dfc, 0x03d96f42, 0x0386ee76, 0x0386696d, 0x01237a11, 0x02b6b068, 0x01bf76d0, 0x003d587a}}}, + {X: Field{[10]uint32{0x02d23d80, 0x02889d69, 0x00d478de, 0x007c991d, 0x00e10bd1, 0x024258b0, 0x039431cb, 0x017a968c, 0x02ba06ad, 0x001d7c5e}}, Y: Field{[10]uint32{0x000dd57e, 0x02a16c0a, 0x02590986, 0x03b6ed3a, 0x02372ffb, 0x0066d8a4, 0x03c7d0bf, 0x026a031f, 0x02fe1563, 0x00281e98}}}, + {X: Field{[10]uint32{0x03344f7f, 0x0233e712, 0x020c4c71, 0x03f52339, 0x00ee8b89, 0x0349b504, 0x017e32cb, 0x0382b83a, 0x004bd972, 0x000d5332}}, Y: Field{[10]uint32{0x01db82d6, 0x02c46ba9, 0x020ec7e4, 0x0006180b, 0x018e36c6, 0x026ea215, 0x010b493f, 0x01ad759d, 0x0329291c, 0x0027012f}}}, + {X: Field{[10]uint32{0x01ad3413, 0x02e6db58, 0x01684ae2, 0x00100c9f, 0x028db9c0, 0x032e1ede, 0x0295f485, 0x03d2829b, 0x015e11d9, 0x00199e15}}, Y: Field{[10]uint32{0x02bca672, 0x0204081f, 0x02660124, 0x0054eb71, 0x02a6ce2d, 0x01f2f7e7, 0x01266d92, 0x03d91a49, 0x023de278, 0x00144376}}}, + {X: Field{[10]uint32{0x0102b4b1, 0x01ed7e0d, 0x00a44748, 0x01535b02, 0x01c4af25, 0x018884ea, 0x0086c0f2, 0x0250a101, 0x0018da0f, 0x002b3bc5}}, Y: Field{[10]uint32{0x02e85bfc, 0x007e9e59, 0x0078c6f8, 0x0242b7c6, 0x012a3f62, 0x03625c73, 0x00017b53, 0x01e93781, 0x019fd7e8, 0x003134d5}}}, + {X: Field{[10]uint32{0x02cc8563, 0x002bd6c1, 0x001eaac0, 0x016fff84, 0x009224df, 0x00658da2, 0x02c82bd8, 0x01dd22b6, 0x02362cda, 0x003af712}}, Y: Field{[10]uint32{0x0394ccfa, 0x005ef3a8, 0x00f9249b, 0x02492481, 0x03bec407, 0x033753c1, 0x01ee35e6, 0x034d7e6c, 0x0144e856, 0x0019668c}}}, + {X: Field{[10]uint32{0x01064e13, 0x00ec1843, 0x01e062a7, 0x038111bc, 0x0215311d, 0x023f5059, 0x015ff98e, 0x001a41c8, 0x02ff0c97, 0x002a38a0}}, Y: Field{[10]uint32{0x01f4cc0c, 0x01f1cc44, 0x02bd6cef, 0x00f94375, 0x008b679a, 0x02c94562, 0x03b7f3c5, 0x007026af, 0x015b8db8, 0x001fe5cd}}}, + }, + { + {X: Field{[10]uint32{0x01064e13, 0x00ec1843, 0x01e062a7, 0x038111bc, 0x0215311d, 0x023f5059, 0x015ff98e, 0x001a41c8, 0x02ff0c97, 0x002a38a0}}, Y: Field{[10]uint32{0x01f4cc0c, 0x01f1cc44, 0x02bd6cef, 0x00f94375, 0x008b679a, 0x02c94562, 0x03b7f3c5, 0x007026af, 0x015b8db8, 0x001fe5cd}}}, + {X: Field{[10]uint32{0x037653a1, 0x03ae7a9f, 0x027c1c15, 0x02a9d4f5, 0x03efbe9e, 0x03a99b98, 0x0076f805, 0x02bb2f2e, 0x02e7e27f, 0x0032b1bc}}, Y: Field{[10]uint32{0x02c5e556, 0x0042b43f, 0x003a068c, 0x0395a204, 0x0081e83a, 0x010a8d14, 0x01b65d9a, 0x01bc6533, 0x02e5e2aa, 0x003df505}}}, + {X: Field{[10]uint32{0x023979b5, 0x00666c2e, 0x0029e22a, 0x023799fa, 0x00ba288f, 0x03b90394, 0x0337f0b1, 0x03898c9f, 0x03c5cdad, 0x002b8881}}, Y: Field{[10]uint32{0x0050fa6f, 0x00f359a1, 0x0388968f, 0x01f4df53, 0x00fca87b, 0x00eb5c18, 0x00c92452, 0x027dc6b5, 0x02510c07, 0x003aa47f}}}, + {X: Field{[10]uint32{0x0224003d, 0x03d2ac21, 0x00b11cc9, 0x00a508e3, 0x014ab767, 0x016390c9, 0x03c5932e, 0x03481bbe, 0x0246ee37, 0x0039b7f7}}, Y: Field{[10]uint32{0x0216b93b, 0x02194388, 0x017dd754, 0x03a949ff, 0x003b1ce5, 0x0223e488, 0x02f48f7b, 0x00e5263c, 0x03b7be91, 0x0021c9ec}}}, + {X: Field{[10]uint32{0x02fca824, 0x00064403, 0x024fae41, 0x013fa885, 0x01e0be0c, 0x01961518, 0x02c54100, 0x02b39673, 0x010cad72, 0x0032e37b}}, Y: Field{[10]uint32{0x03227361, 0x002f4163, 0x01742f14, 0x037f1e4c, 0x0096ad1f, 0x028b32f1, 0x0316c487, 0x0223216c, 0x008f740d, 0x000ce940}}}, + {X: Field{[10]uint32{0x00e4dd6a, 0x0384787b, 0x01cef559, 0x02728c88, 0x020a00e4, 0x02359311, 0x01eca37e, 0x00ad92f2, 0x00f7b279, 0x001276f9}}, Y: Field{[10]uint32{0x029e3eae, 0x02dca90a, 0x03b69b13, 0x00bf2816, 0x021c3855, 0x01a48956, 0x01fe33db, 0x02071cb1, 0x02984704, 0x002e2d5c}}}, + {X: Field{[10]uint32{0x03cbd327, 0x006d368e, 0x02aee941, 0x01488792, 0x02b04e08, 0x01f9dbb5, 0x0294900d, 0x020d9c23, 0x03298af1, 0x002c314e}}, Y: Field{[10]uint32{0x017be436, 0x01af128b, 0x02a0f161, 0x0031d18d, 0x03d82a22, 0x02d9acab, 0x00f6a601, 0x01fa858e, 0x03401fbd, 0x003b8aa5}}}, + {X: Field{[10]uint32{0x00dce109, 0x00440d52, 0x011d3b0e, 0x005273c8, 0x02e250e3, 0x02b25820, 0x0240cfc7, 0x0208f59a, 0x009cd9a6, 0x000f1382}}, Y: Field{[10]uint32{0x0219aeea, 0x03d9648e, 0x02697e2b, 0x010b65ff, 0x039579e1, 0x015d934d, 0x0357bca1, 0x0246d201, 0x02669fe1, 0x0010feef}}}, + {X: Field{[10]uint32{0x03b836a1, 0x03bed8e5, 0x01ef7de6, 0x017fdd9e, 0x02c80640, 0x039dfd49, 0x018862ec, 0x02e48353, 0x033f329d, 0x001bdae9}}, Y: Field{[10]uint32{0x02832b84, 0x037cbec1, 0x03f934db, 0x014a2387, 0x00d8990c, 0x016fba70, 0x030b8a40, 0x030638f6, 0x0217ff5f, 0x00371de2}}}, + {X: Field{[10]uint32{0x025d5241, 0x015adfe0, 0x012f6680, 0x032a482f, 0x02563ed7, 0x002cfaa2, 0x00277d34, 0x019d394d, 0x01ada779, 0x003e3307}}, Y: Field{[10]uint32{0x0070e10a, 0x02bc0e3c, 0x00bd4960, 0x01b187ac, 0x0052c2d7, 0x01459bc1, 0x03e892fa, 0x01c3facc, 0x024410b1, 0x0004f793}}}, + {X: Field{[10]uint32{0x02b39ede, 0x038d0827, 0x012d42ae, 0x00cb5c18, 0x00310880, 0x004090d8, 0x00ff467e, 0x00abd2ef, 0x027dc742, 0x001f51c6}}, Y: Field{[10]uint32{0x03f6607e, 0x02f3652a, 0x028fd0c9, 0x01f4708a, 0x027795cf, 0x03ff21be, 0x0382231e, 0x0215941e, 0x0319f3a6, 0x0000129e}}}, + {X: Field{[10]uint32{0x00e5f03a, 0x022d6f7d, 0x006d54fe, 0x03ac7858, 0x0196565f, 0x035f7f8d, 0x03dcfb33, 0x02f8cdcd, 0x03dd0289, 0x002030d3}}, Y: Field{[10]uint32{0x023ca504, 0x03d151bf, 0x005cb117, 0x03bc7cc9, 0x03d30b2a, 0x01f72680, 0x02db5700, 0x007b3557, 0x0056a78c, 0x00091f82}}}, + {X: Field{[10]uint32{0x025eb1c1, 0x03527895, 0x01c5aa56, 0x019f36b9, 0x027fcd75, 0x0260bc25, 0x030fcc31, 0x00feb1c1, 0x0163f9b7, 0x003c0094}}, Y: Field{[10]uint32{0x01de2ae0, 0x01f5c11b, 0x011e57da, 0x01735b34, 0x018576ff, 0x0289abfb, 0x026b4a5d, 0x00837d31, 0x01e8883d, 0x000153aa}}}, + {X: Field{[10]uint32{0x0214f422, 0x00281872, 0x00deca61, 0x03b67931, 0x00b383e4, 0x0136f1ef, 0x03e80221, 0x037cf52b, 0x02e897a9, 0x001b3b46}}, Y: Field{[10]uint32{0x004fc091, 0x00f690f6, 0x00932ae7, 0x0321e6a7, 0x008ca102, 0x02f9ae6e, 0x0095a728, 0x0239eaed, 0x02eb1b0f, 0x00096222}}}, + {X: Field{[10]uint32{0x02c32c64, 0x00d424f6, 0x00bf84cf, 0x000fb2b9, 0x020e36fe, 0x03d1dc57, 0x0304e950, 0x008ea83d, 0x000001ed, 0x002b0485}}, Y: Field{[10]uint32{0x02b1a867, 0x00ab6eb7, 0x03089881, 0x00e9694f, 0x03ed5a5d, 0x00c12668, 0x030b6957, 0x022ebc61, 0x00cbac33, 0x0033a3af}}}, + {X: Field{[10]uint32{0x0319497c, 0x00e0b7a0, 0x008c022f, 0x03e94494, 0x015d59b1, 0x0244f2ac, 0x039e56e6, 0x02161cb4, 0x03b9c9a2, 0x0005d294}}, Y: Field{[10]uint32{0x039afa73, 0x0284eb01, 0x0054383d, 0x007632e6, 0x02646b3a, 0x0311fe79, 0x034155f2, 0x0270595e, 0x0037abfc, 0x00333277}}}, + }, + { + {X: Field{[10]uint32{0x0319497c, 0x00e0b7a0, 0x008c022f, 0x03e94494, 0x015d59b1, 0x0244f2ac, 0x039e56e6, 0x02161cb4, 0x03b9c9a2, 0x0005d294}}, Y: Field{[10]uint32{0x039afa73, 0x0284eb01, 0x0054383d, 0x007632e6, 0x02646b3a, 0x0311fe79, 0x034155f2, 0x0270595e, 0x0037abfc, 0x00333277}}}, + {X: Field{[10]uint32{0x000dd273, 0x0368dbe1, 0x001115f5, 0x00383914, 0x03d53d28, 0x006e4ba8, 0x007071ef, 0x01aed8c3, 0x02e79694, 0x000839b8}}, Y: Field{[10]uint32{0x0346b593, 0x033f456e, 0x0293cc07, 0x01e4f6a1, 0x01811ec9, 0x01e1d195, 0x00ba1ad9, 0x01679128, 0x02fe4f15, 0x0034eb5e}}}, + {X: Field{[10]uint32{0x014b8367, 0x0201cf5d, 0x006bfe94, 0x01f59f54, 0x01b775b7, 0x0210da97, 0x00aa5d45, 0x0149b903, 0x014ae446, 0x00179682}}, Y: Field{[10]uint32{0x01ce85ca, 0x00a6a764, 0x03fa4453, 0x03bcf797, 0x02796aa9, 0x01ca92de, 0x00901f15, 0x0178170b, 0x00c9a479, 0x002ba2be}}}, + {X: Field{[10]uint32{0x02077674, 0x0153cc06, 0x00ca3e7b, 0x004db309, 0x0035ae68, 0x039c76dc, 0x00280a07, 0x01476ea0, 0x0024d7a3, 0x0023832a}}, Y: Field{[10]uint32{0x02b7ed98, 0x0132fb04, 0x010290b8, 0x00674be4, 0x03cff604, 0x0298b3d5, 0x0169d24d, 0x00b50771, 0x02075919, 0x00013b15}}}, + {X: Field{[10]uint32{0x03b10d9d, 0x0215e4e5, 0x00fcaf19, 0x0062747e, 0x01e6a52f, 0x00432e0b, 0x02ccb833, 0x00ba1677, 0x00adb970, 0x00003538}}, Y: Field{[10]uint32{0x0140dced, 0x0040121c, 0x01923e82, 0x0325e38b, 0x030b5898, 0x00c8a1fd, 0x012f8464, 0x0190251f, 0x01981837, 0x0021ee00}}}, + {X: Field{[10]uint32{0x00bcad59, 0x017a0d83, 0x02aa07b0, 0x00169382, 0x017c845a, 0x017e40bc, 0x0217c85a, 0x00d801ea, 0x001152ac, 0x000bb5db}}, Y: Field{[10]uint32{0x00ea66fe, 0x031ea271, 0x0394114a, 0x0004c29f, 0x015f72c6, 0x0205d9fb, 0x01a6eaec, 0x017c88b3, 0x014043b8, 0x0018e7d3}}}, + {X: Field{[10]uint32{0x009caee8, 0x00469827, 0x030bb208, 0x0116c689, 0x03632e20, 0x03b12999, 0x037a19ae, 0x01d303db, 0x021368ef, 0x0000d994}}, Y: Field{[10]uint32{0x0372b711, 0x03b1a8ed, 0x03a7f0a9, 0x0224ca56, 0x0101cba9, 0x02e9a511, 0x009fc681, 0x037b6665, 0x032b2a93, 0x0007c630}}}, + {X: Field{[10]uint32{0x00192441, 0x02bf17aa, 0x034afe96, 0x00868c86, 0x01afdb58, 0x038f59b0, 0x03a63553, 0x020b4717, 0x00da51c9, 0x003deed4}}, Y: Field{[10]uint32{0x005165ae, 0x0103a875, 0x0074bbc6, 0x007eef13, 0x01b1cfdc, 0x03799217, 0x01bc63bd, 0x029498c4, 0x03e30334, 0x0024f30e}}}, + {X: Field{[10]uint32{0x0046c85c, 0x03e5d465, 0x0006353f, 0x00239807, 0x02de37de, 0x00fdb1ba, 0x00676c45, 0x023c7ea8, 0x01056fdb, 0x00039624}}, Y: Field{[10]uint32{0x0148972e, 0x031df9c8, 0x01add5f6, 0x013a0337, 0x00f49023, 0x03d20626, 0x007418ba, 0x01ef683b, 0x005f11fa, 0x0038e692}}}, + {X: Field{[10]uint32{0x015ae087, 0x01240401, 0x00a57e03, 0x01be8d25, 0x00c671b9, 0x010e8544, 0x03945fb7, 0x029660b4, 0x03155b6e, 0x0028d199}}, Y: Field{[10]uint32{0x02887627, 0x03cd98c8, 0x030bccb3, 0x01bc8e53, 0x01c53eab, 0x028a8c14, 0x02fe9a1a, 0x0316f637, 0x03a5e56b, 0x00087297}}}, + {X: Field{[10]uint32{0x022e1259, 0x022b7cf0, 0x0362aff1, 0x02901a04, 0x01931739, 0x0001dddc, 0x02cf5faa, 0x0118fcad, 0x026d26f1, 0x0029d004}}, Y: Field{[10]uint32{0x034a5f43, 0x01c5c90c, 0x02dad5f7, 0x01d4ec75, 0x0117865e, 0x019f1fb9, 0x005f174a, 0x03c7fc6c, 0x03baf194, 0x00016a7f}}}, + {X: Field{[10]uint32{0x00b84b48, 0x03d15c79, 0x017ea830, 0x031e67a0, 0x0091adf4, 0x03505fdc, 0x0110f577, 0x0293d506, 0x030e7d45, 0x0017ec77}}, Y: Field{[10]uint32{0x03be8eb8, 0x037a9a8d, 0x021ad77e, 0x02421cfc, 0x020629c3, 0x039b4960, 0x00f4646f, 0x013527ef, 0x03bcbc3c, 0x000854be}}}, + {X: Field{[10]uint32{0x0308f1fe, 0x0285e8f2, 0x007bfd88, 0x039c2e82, 0x03d7ce7e, 0x0360b45d, 0x01405765, 0x01d39299, 0x00216d94, 0x0021f92e}}, Y: Field{[10]uint32{0x02d5e2ec, 0x01d2b26b, 0x02d9d75f, 0x036f59e1, 0x006e2f23, 0x00be30b3, 0x03d7f8ea, 0x01233b35, 0x02c07663, 0x003dd38e}}}, + {X: Field{[10]uint32{0x01b8f255, 0x01b661fe, 0x00d21114, 0x039d24a8, 0x01e77d43, 0x02aa0bfa, 0x022e4608, 0x02e29058, 0x017478e1, 0x00256ef6}}, Y: Field{[10]uint32{0x00361439, 0x038ffa0a, 0x03fc1010, 0x02bbf1dd, 0x00f2ba72, 0x003cb436, 0x032c208f, 0x031dff7b, 0x02d129e3, 0x002fb50e}}}, + {X: Field{[10]uint32{0x01c4d15c, 0x01c039a8, 0x0274b9a8, 0x02fc1f03, 0x00105ea7, 0x00495291, 0x02c22c0c, 0x01e696a4, 0x03463fea, 0x000d7a86}}, Y: Field{[10]uint32{0x033fe1ea, 0x00e6ebdf, 0x0095edc9, 0x0280c194, 0x005d633a, 0x01d34ec6, 0x008fa5fd, 0x034b35e2, 0x01651b9e, 0x002b4864}}}, + {X: Field{[10]uint32{0x0075b7ba, 0x03f7fc25, 0x00b3d884, 0x00c39246, 0x03e039e7, 0x01406336, 0x03e57edf, 0x01e170f4, 0x02981943, 0x002564e5}}, Y: Field{[10]uint32{0x0124f2fd, 0x022afe1d, 0x01385e9b, 0x019321c2, 0x009c653f, 0x02e735a1, 0x020386a4, 0x00c7762e, 0x012888c3, 0x000b9f95}}}, + }, + { + {X: Field{[10]uint32{0x0075b7ba, 0x03f7fc25, 0x00b3d884, 0x00c39246, 0x03e039e7, 0x01406336, 0x03e57edf, 0x01e170f4, 0x02981943, 0x002564e5}}, Y: Field{[10]uint32{0x0124f2fd, 0x022afe1d, 0x01385e9b, 0x019321c2, 0x009c653f, 0x02e735a1, 0x020386a4, 0x00c7762e, 0x012888c3, 0x000b9f95}}}, + {X: Field{[10]uint32{0x03c8f53b, 0x01d6a502, 0x007c7072, 0x01ace45d, 0x02d70222, 0x035cf657, 0x0232ca7d, 0x029f7abf, 0x0005ff0d, 0x0032fb85}}, Y: Field{[10]uint32{0x00c87f45, 0x00b9ac9e, 0x03728292, 0x03da049b, 0x030d9ff4, 0x02e0a533, 0x01f3e689, 0x03e40ad4, 0x034f4e75, 0x003d8847}}}, + {X: Field{[10]uint32{0x03d69985, 0x03177643, 0x032aea09, 0x032db77d, 0x009f309c, 0x02f333c5, 0x00f690df, 0x00bdf9e2, 0x0275ceb7, 0x0002ba5d}}, Y: Field{[10]uint32{0x0009a003, 0x023ad045, 0x01aff89c, 0x0105ebb8, 0x01d0b99d, 0x01469531, 0x038dfee0, 0x023453a6, 0x0173f6e4, 0x00244866}}}, + {X: Field{[10]uint32{0x00b311dd, 0x01f222c5, 0x01b9cf37, 0x02bbef5c, 0x003de3be, 0x02e894b8, 0x0180bfa0, 0x03d6b375, 0x02d28faa, 0x002b756e}}, Y: Field{[10]uint32{0x01d6c38d, 0x0260bcd2, 0x01b8902f, 0x039d9a6e, 0x0352d4e1, 0x00d66053, 0x00e434f8, 0x030e965d, 0x00f4da3d, 0x003a710f}}}, + {X: Field{[10]uint32{0x01262b90, 0x0064f7f6, 0x0029a9dc, 0x0307f8f3, 0x03b723c4, 0x02009747, 0x0365f177, 0x0184bb26, 0x022a5ac1, 0x000ac561}}, Y: Field{[10]uint32{0x003d7557, 0x0265b992, 0x009a4991, 0x01c3e652, 0x026f5349, 0x02a1d241, 0x0230d52d, 0x00cfea9e, 0x013daa0a, 0x000bac01}}}, + {X: Field{[10]uint32{0x0078afb0, 0x016b9e58, 0x021974e7, 0x031b1049, 0x0314ff12, 0x019b45c1, 0x00d4468c, 0x018ed492, 0x03cd7661, 0x0008275a}}, Y: Field{[10]uint32{0x0340b310, 0x006ddd69, 0x023e385d, 0x024ce7d3, 0x0301edb7, 0x02626296, 0x0165baba, 0x00ca0282, 0x03429e7b, 0x00068bc4}}}, + {X: Field{[10]uint32{0x00e7be40, 0x025c532a, 0x00ee593f, 0x02524410, 0x02f2d2c8, 0x01b91da6, 0x0295c161, 0x03b99dfb, 0x02ed1a96, 0x001abe7a}}, Y: Field{[10]uint32{0x02387e1c, 0x005b809b, 0x01569fa4, 0x019a83d6, 0x0145e3f6, 0x00d1f720, 0x009ea428, 0x0199259c, 0x02116900, 0x002ce04a}}}, + {X: Field{[10]uint32{0x017c0979, 0x01900283, 0x00c96f5f, 0x0052f16a, 0x024a29b3, 0x03d073b4, 0x029df3df, 0x005c50fe, 0x032ba817, 0x0014fc90}}, Y: Field{[10]uint32{0x037b36a2, 0x01fa4314, 0x03845f9f, 0x03d727a2, 0x024bd5a4, 0x0046c1f7, 0x014e3e09, 0x01e6df33, 0x03fbc1f0, 0x002f54bb}}}, + {X: Field{[10]uint32{0x0082801e, 0x02dbe83d, 0x00155d26, 0x022f16f5, 0x0140794f, 0x032e35be, 0x03aab424, 0x00513bac, 0x00ee0444, 0x0016599a}}, Y: Field{[10]uint32{0x00870c37, 0x01c523c1, 0x0135ad47, 0x032d8f4d, 0x028db6c1, 0x01dc4c13, 0x008f9608, 0x03bd7c7b, 0x00a85bba, 0x002526a8}}}, + {X: Field{[10]uint32{0x00977063, 0x00102962, 0x00c4fef4, 0x022fec4c, 0x0365bf6f, 0x019f83f6, 0x0150f838, 0x0269bd87, 0x029e047f, 0x0029d8b9}}, Y: Field{[10]uint32{0x014f6ef1, 0x00da7e0a, 0x00e62a06, 0x028e5b7f, 0x01958b48, 0x00cdcaa2, 0x021732d9, 0x00455e06, 0x0157cbed, 0x001ae637}}}, + {X: Field{[10]uint32{0x032c19fd, 0x026cb9f0, 0x028c3e4c, 0x03a41600, 0x034acab8, 0x02d5c2d6, 0x01f4d17a, 0x0141d8bf, 0x01881b50, 0x002fa134}}, Y: Field{[10]uint32{0x02f1281f, 0x025294dc, 0x01c37676, 0x03d57943, 0x007955a7, 0x00c20e65, 0x01e65f48, 0x01425134, 0x00cb32dc, 0x003bfe58}}}, + {X: Field{[10]uint32{0x0355a9bf, 0x02c0a637, 0x01bf8ebc, 0x03bca7a9, 0x00f6b015, 0x0075f15e, 0x00307f60, 0x00c60604, 0x00eb9c6e, 0x001c98a6}}, Y: Field{[10]uint32{0x003accae, 0x01be2c2f, 0x033b4e11, 0x032f0019, 0x00be797b, 0x00f42678, 0x0035a2ef, 0x026ff6a6, 0x0001a9de, 0x000e3522}}}, + {X: Field{[10]uint32{0x02c69482, 0x02dd7f55, 0x02167bd1, 0x01004cbe, 0x00cbeab5, 0x02bcaf22, 0x0357274c, 0x01fb9507, 0x00314c0d, 0x002619e8}}, Y: Field{[10]uint32{0x03792cd7, 0x0018451b, 0x028a916f, 0x033d4558, 0x039e6245, 0x006ea658, 0x0392d55b, 0x020d3e71, 0x015a3b10, 0x00340b98}}}, + {X: Field{[10]uint32{0x01a7e7d2, 0x01fcb610, 0x03d85995, 0x0230fbea, 0x03a4c90e, 0x0251b791, 0x03af7555, 0x039229a4, 0x030f1339, 0x002e4d04}}, Y: Field{[10]uint32{0x00653d39, 0x02646a26, 0x00c41a4a, 0x036f9c37, 0x03ffd381, 0x02fde347, 0x00929a5f, 0x0015daa8, 0x036b9b2d, 0x002548cf}}}, + {X: Field{[10]uint32{0x01557aa1, 0x008e7647, 0x03c2978a, 0x03fb3407, 0x03df1d92, 0x002675aa, 0x027f2ea0, 0x02056964, 0x024540d8, 0x002a19bc}}, Y: Field{[10]uint32{0x01430634, 0x006eed30, 0x01a4b798, 0x0319f184, 0x0161eb69, 0x036c384e, 0x013d8fa5, 0x00ad135e, 0x01f6a802, 0x002d61ce}}}, + {X: Field{[10]uint32{0x0182b151, 0x004d0327, 0x03a2dbb5, 0x00f5587e, 0x03cca0a4, 0x02c426a3, 0x005a1153, 0x00795b59, 0x0250ae40, 0x0034a98e}}, Y: Field{[10]uint32{0x00f89405, 0x01085d37, 0x00a52d41, 0x002bd213, 0x00a70f75, 0x00a52088, 0x01aee58b, 0x03f2dd59, 0x02fb6443, 0x003a0b61}}}, + }, + { + {X: Field{[10]uint32{0x0182b151, 0x004d0327, 0x03a2dbb5, 0x00f5587e, 0x03cca0a4, 0x02c426a3, 0x005a1153, 0x00795b59, 0x0250ae40, 0x0034a98e}}, Y: Field{[10]uint32{0x00f89405, 0x01085d37, 0x00a52d41, 0x002bd213, 0x00a70f75, 0x00a52088, 0x01aee58b, 0x03f2dd59, 0x02fb6443, 0x003a0b61}}}, + {X: Field{[10]uint32{0x0272da5f, 0x0312eb32, 0x013497c6, 0x01acdb10, 0x0122b9cd, 0x00cdc97e, 0x03c72020, 0x0149788e, 0x03a76100, 0x002ebc60}}, Y: Field{[10]uint32{0x00f2a0cf, 0x03398a2a, 0x01361377, 0x031729ce, 0x018e2336, 0x035a6c74, 0x008bd58d, 0x0134cd5a, 0x03be9ccb, 0x0037ab27}}}, + {X: Field{[10]uint32{0x024b3ba0, 0x027d8d7b, 0x031f1785, 0x03d7c62f, 0x035c2abe, 0x006fc917, 0x03e170f3, 0x03edcefb, 0x0105221f, 0x00104204}}, Y: Field{[10]uint32{0x03525595, 0x02587705, 0x02455486, 0x02159681, 0x00133649, 0x035ae126, 0x00a65ae1, 0x0159a3cb, 0x036976ff, 0x00370dfc}}}, + {X: Field{[10]uint32{0x016c3943, 0x02b29631, 0x02a5ffa5, 0x00b55add, 0x015adbd0, 0x03923dbf, 0x01332906, 0x01008e3e, 0x00a7e384, 0x003debbe}}, Y: Field{[10]uint32{0x00f442f1, 0x03d89feb, 0x01003431, 0x0212a373, 0x03eec301, 0x00eacff3, 0x0042bbdc, 0x0369e5f1, 0x0344d5ff, 0x00138ec2}}}, + {X: Field{[10]uint32{0x03d98ded, 0x02726e24, 0x00218462, 0x020cee28, 0x02dbdf22, 0x014c7597, 0x00f22990, 0x03032323, 0x0210a16c, 0x0018e8a8}}, Y: Field{[10]uint32{0x00d1cfc2, 0x0065f538, 0x0073a519, 0x0280271e, 0x021fabf6, 0x013b6511, 0x02503325, 0x031dbf41, 0x02e2e7fe, 0x00220ad0}}}, + {X: Field{[10]uint32{0x000e5485, 0x02799a80, 0x01df0208, 0x022fd769, 0x02451306, 0x01cc83c4, 0x02c70862, 0x02f7fe38, 0x02d793a2, 0x0007349d}}, Y: Field{[10]uint32{0x005fbd7f, 0x033c1462, 0x024ecca5, 0x01c2c826, 0x0399d0e2, 0x014ba5df, 0x00b34d45, 0x02bdce35, 0x01d18b2e, 0x0019856f}}}, + {X: Field{[10]uint32{0x00045445, 0x0186942e, 0x00d7eea8, 0x01c6407a, 0x0080ff73, 0x0355efbc, 0x0312e2e5, 0x019f28f7, 0x015d449d, 0x00030560}}, Y: Field{[10]uint32{0x0054a206, 0x03e1f550, 0x00ea3214, 0x0390d963, 0x00ba3054, 0x0198f34a, 0x0293c3b6, 0x01045742, 0x020a3ae9, 0x000bcc35}}}, + {X: Field{[10]uint32{0x01924459, 0x032515c4, 0x0278c1fa, 0x00968f1e, 0x037af2fa, 0x03776ec7, 0x022e29f0, 0x0240db16, 0x03cb1001, 0x0037ed51}}, Y: Field{[10]uint32{0x0065fd9e, 0x00178373, 0x031dcfa2, 0x00c39700, 0x0022af09, 0x03721933, 0x00389ce9, 0x011c222e, 0x02a9ba0f, 0x0026b334}}}, + {X: Field{[10]uint32{0x03857faf, 0x0048e730, 0x019701e9, 0x03787a58, 0x03882fca, 0x020a3bdf, 0x017ba8f4, 0x022a7035, 0x036b89ae, 0x0031d5fa}}, Y: Field{[10]uint32{0x00584ca4, 0x0276c328, 0x014c101d, 0x00344062, 0x03627d31, 0x022fb186, 0x03369f20, 0x03fcd895, 0x01cfcd23, 0x003c0e96}}}, + {X: Field{[10]uint32{0x02f8b517, 0x02ecd463, 0x01bac9a8, 0x00691c5c, 0x0177c277, 0x02845789, 0x01bc8064, 0x036c9257, 0x02f7ccc4, 0x001c4808}}, Y: Field{[10]uint32{0x009da1ac, 0x01f7ca09, 0x01d7748b, 0x037cef5e, 0x01a3603e, 0x00251d50, 0x03101f9b, 0x03a4a2b9, 0x0338de4d, 0x002f55e0}}}, + {X: Field{[10]uint32{0x0059225d, 0x034613d5, 0x018d10e4, 0x01f8b621, 0x0244faf7, 0x006700a8, 0x015d4099, 0x028343e0, 0x03aeadaf, 0x003ea018}}, Y: Field{[10]uint32{0x02ce1507, 0x02df8edf, 0x0059c3a2, 0x00db401f, 0x000a2b6c, 0x00931097, 0x00de2208, 0x0301a458, 0x039057c0, 0x0002e9c7}}}, + {X: Field{[10]uint32{0x010bc03e, 0x014f566a, 0x015e33c7, 0x024d4780, 0x0084b0f3, 0x011143e0, 0x01a925f7, 0x001cba79, 0x00ed2c82, 0x000b3bb6}}, Y: Field{[10]uint32{0x02b82adc, 0x01cae2de, 0x03cd01cb, 0x033c8354, 0x034a1df9, 0x03f1f6ba, 0x0050eb7a, 0x0378fb36, 0x0380e9b9, 0x002909da}}}, + {X: Field{[10]uint32{0x02f0d044, 0x027fa505, 0x021a7967, 0x03524279, 0x01aaba9f, 0x018bb829, 0x02f69cf8, 0x015ea278, 0x03c59d02, 0x00196328}}, Y: Field{[10]uint32{0x03cb872d, 0x007ccbbd, 0x00e89add, 0x018f1063, 0x0255a167, 0x004ef4dd, 0x0165d627, 0x0095183c, 0x01377aea, 0x002b9730}}}, + {X: Field{[10]uint32{0x02aa2494, 0x03538c50, 0x00c9a50c, 0x03f9f744, 0x027bdcdd, 0x013aef20, 0x01136e7c, 0x03a3b374, 0x009a4539, 0x000de71d}}, Y: Field{[10]uint32{0x02c86c63, 0x03ea7a33, 0x016435be, 0x029edfa1, 0x011364f6, 0x019e0fc4, 0x01c0ef1d, 0x0300c4f2, 0x03848bf9, 0x00289518}}}, + {X: Field{[10]uint32{0x0296756d, 0x02b255cd, 0x01417ab5, 0x01815958, 0x00676af1, 0x034fcc17, 0x00c19835, 0x03caeb39, 0x034aaf91, 0x000c7252}}, Y: Field{[10]uint32{0x0208ae78, 0x0117a377, 0x01070abc, 0x032b9ab4, 0x0283aedf, 0x02bd0581, 0x00b8b59a, 0x020ea6fd, 0x004b556e, 0x003e03e2}}}, + {X: Field{[10]uint32{0x0217e073, 0x01be6d15, 0x0317b343, 0x02f4e0e4, 0x026bacbd, 0x01f3f721, 0x02e7896d, 0x007ae243, 0x02233547, 0x0019161f}}, Y: Field{[10]uint32{0x03af6589, 0x026797a7, 0x02ab3582, 0x00e44ceb, 0x0185b90a, 0x01f0a668, 0x016dd644, 0x000b8aba, 0x01d5bf69, 0x003667f3}}}, + }, + { + {X: Field{[10]uint32{0x0217e073, 0x01be6d15, 0x0317b343, 0x02f4e0e4, 0x026bacbd, 0x01f3f721, 0x02e7896d, 0x007ae243, 0x02233547, 0x0019161f}}, Y: Field{[10]uint32{0x03af6589, 0x026797a7, 0x02ab3582, 0x00e44ceb, 0x0185b90a, 0x01f0a668, 0x016dd644, 0x000b8aba, 0x01d5bf69, 0x003667f3}}}, + {X: Field{[10]uint32{0x0384480d, 0x03362310, 0x032ef44b, 0x0288aa47, 0x0294e0b6, 0x024bc304, 0x0328b54c, 0x02503cb3, 0x02b142df, 0x002e19b5}}, Y: Field{[10]uint32{0x004cafa8, 0x0166d1c3, 0x006d60e6, 0x02012c76, 0x0024e522, 0x02a6b5eb, 0x02278d7e, 0x03adc226, 0x00b3426a, 0x0006452c}}}, + {X: Field{[10]uint32{0x02103dd6, 0x01c51c83, 0x00859adf, 0x0301f001, 0x02c34604, 0x0164a85e, 0x02213cfc, 0x000fe0da, 0x03d55a42, 0x002f11de}}, Y: Field{[10]uint32{0x02f7c343, 0x0020b635, 0x004ac639, 0x01cb18ed, 0x015d2935, 0x01b7a98e, 0x03ac552c, 0x037549b2, 0x022429a8, 0x0038c787}}}, + {X: Field{[10]uint32{0x01b20d6c, 0x02736a07, 0x02455d22, 0x0393b53f, 0x03e2d52a, 0x0040aea1, 0x019d1646, 0x02067b13, 0x009085de, 0x003b0aee}}, Y: Field{[10]uint32{0x029cf4a0, 0x02671358, 0x03a98a0e, 0x012fa1fb, 0x0233a236, 0x01425031, 0x02f66f06, 0x004e84cc, 0x017661e0, 0x00333b30}}}, + {X: Field{[10]uint32{0x004eab31, 0x0370ec35, 0x034907d0, 0x00501398, 0x000ac5af, 0x019efe3a, 0x003b4232, 0x02e0e00c, 0x00fe5a6b, 0x0016276d}}, Y: Field{[10]uint32{0x01361f6a, 0x02baf9d4, 0x038db941, 0x01548523, 0x031f610e, 0x012f643c, 0x00706202, 0x028a93d8, 0x005c108a, 0x00189551}}}, + {X: Field{[10]uint32{0x02695f94, 0x0202c60d, 0x03fa592d, 0x031a4589, 0x0362a169, 0x02be6a73, 0x00cb8683, 0x023d7f43, 0x0151b455, 0x002c7497}}, Y: Field{[10]uint32{0x02e32736, 0x01fae697, 0x03edca5b, 0x0236ae18, 0x0360f6f1, 0x026aea05, 0x03ea0ac1, 0x0242c7de, 0x0272030e, 0x001c1b76}}}, + {X: Field{[10]uint32{0x020c2c41, 0x02585ca6, 0x036c67bf, 0x0071580c, 0x0042831c, 0x035bb6df, 0x00a1860a, 0x00be8baa, 0x0337d16e, 0x0004ce6c}}, Y: Field{[10]uint32{0x01f1bc2b, 0x03c152ea, 0x023a4185, 0x03e1f7a4, 0x006b1227, 0x0044e8d0, 0x023240fd, 0x02b96e9e, 0x016362c7, 0x0027e6ca}}}, + {X: Field{[10]uint32{0x03b09d0f, 0x0183b2c8, 0x03ecf38a, 0x01903d42, 0x01e50050, 0x03951641, 0x01d75ef5, 0x025b3b4e, 0x03e389e2, 0x001c7129}}, Y: Field{[10]uint32{0x020ddb62, 0x02c7c05c, 0x03fc7637, 0x0021298b, 0x02786f2b, 0x00be042a, 0x033e0a29, 0x03cee82b, 0x02db737a, 0x0004c4fe}}}, + {X: Field{[10]uint32{0x00fc47af, 0x012c7e16, 0x00dec370, 0x0320cb03, 0x00a8ddfe, 0x00006d5a, 0x010329b5, 0x033c5f31, 0x03a11363, 0x001ffcee}}, Y: Field{[10]uint32{0x01ba43a7, 0x0185933e, 0x02c297f8, 0x006b462e, 0x0317a53b, 0x011cd11a, 0x03c891b7, 0x0298a682, 0x03ae8018, 0x0007dae9}}}, + {X: Field{[10]uint32{0x0241e20e, 0x03132ea7, 0x03864d1d, 0x00f5e34c, 0x0138a87a, 0x00e934fa, 0x030f7f00, 0x013722f2, 0x01c4a511, 0x003f0e57}}, Y: Field{[10]uint32{0x03cf42ee, 0x036330b9, 0x00e2b77a, 0x0169a179, 0x02022147, 0x02f76db5, 0x02b81a98, 0x01f42533, 0x009108d0, 0x000e19b8}}}, + {X: Field{[10]uint32{0x01213775, 0x01358025, 0x02a99018, 0x00ec8f50, 0x0100b429, 0x03fb1fd8, 0x001e9395, 0x0182ed85, 0x00463ceb, 0x0023b19c}}, Y: Field{[10]uint32{0x0041ffff, 0x0043cf9e, 0x011e90e0, 0x0282f33d, 0x0271da98, 0x033b7b83, 0x02643415, 0x016f8c1b, 0x026fa0da, 0x0023d629}}}, + {X: Field{[10]uint32{0x02f83231, 0x01c4062d, 0x025e3499, 0x0239d810, 0x00b7c30d, 0x016cff74, 0x01158276, 0x02e89aa3, 0x00c53502, 0x002143e3}}, Y: Field{[10]uint32{0x032e8373, 0x00c6a757, 0x0177f4a0, 0x0285dc8b, 0x010a85bf, 0x020b31e2, 0x03f7086b, 0x02414f42, 0x01be02a7, 0x002f12a7}}}, + {X: Field{[10]uint32{0x0052abbb, 0x00ffe34d, 0x01c2e3cb, 0x00bf8ae5, 0x01ae6aa7, 0x03657525, 0x01bac3fe, 0x0006ee27, 0x01b441e7, 0x0020f798}}, Y: Field{[10]uint32{0x014eb66e, 0x0145dac1, 0x002918a0, 0x00daef39, 0x03d79c5f, 0x03138558, 0x03fb6af8, 0x01827e9a, 0x0334a34c, 0x000cbc38}}}, + {X: Field{[10]uint32{0x032e6ffa, 0x00441937, 0x0176388b, 0x00dedc55, 0x0246be9f, 0x011d4351, 0x005bb6a9, 0x0067ec51, 0x02f98f94, 0x0014ffa2}}, Y: Field{[10]uint32{0x00e92eb5, 0x03acdc99, 0x030c22a1, 0x03980ef5, 0x005fb5f8, 0x01193797, 0x000cf6c4, 0x01518859, 0x017e7b51, 0x0024ca20}}}, + {X: Field{[10]uint32{0x019276f1, 0x022309bd, 0x03b15e96, 0x02ca4a85, 0x0033ae25, 0x03df361a, 0x00bb5c00, 0x03076c6a, 0x03898f50, 0x000f5d98}}, Y: Field{[10]uint32{0x019cbcb3, 0x012996e1, 0x0178601e, 0x008066c6, 0x02f32198, 0x02b60ccf, 0x0176e34d, 0x01f76d82, 0x01737a18, 0x0034dd9a}}}, + {X: Field{[10]uint32{0x0145e458, 0x035b21b7, 0x027fd358, 0x033a8943, 0x002f0aa6, 0x01527781, 0x02546d3e, 0x036216ce, 0x01e0e4e4, 0x0021206f}}, Y: Field{[10]uint32{0x0379057e, 0x012c6d65, 0x02e556d6, 0x0310ac98, 0x02900a79, 0x033b2cb2, 0x0225bf39, 0x00137612, 0x038cba54, 0x000e3b9e}}}, + }, + { + {X: Field{[10]uint32{0x0145e458, 0x035b21b7, 0x027fd358, 0x033a8943, 0x002f0aa6, 0x01527781, 0x02546d3e, 0x036216ce, 0x01e0e4e4, 0x0021206f}}, Y: Field{[10]uint32{0x0379057e, 0x012c6d65, 0x02e556d6, 0x0310ac98, 0x02900a79, 0x033b2cb2, 0x0225bf39, 0x00137612, 0x038cba54, 0x000e3b9e}}}, + {X: Field{[10]uint32{0x00e9f114, 0x010cd49b, 0x021dde54, 0x0014a655, 0x03392ed6, 0x007524af, 0x0143c6cd, 0x00ea2e7f, 0x0050bd38, 0x00258a69}}, Y: Field{[10]uint32{0x024aa391, 0x025cb128, 0x02f8dca3, 0x00f9715a, 0x01b92559, 0x0033bd93, 0x02befd22, 0x02db5d5d, 0x03280c5f, 0x002fd0e6}}}, + {X: Field{[10]uint32{0x012da17d, 0x0283e905, 0x0246b160, 0x036c2341, 0x0011dc13, 0x03f802f2, 0x014e6b05, 0x02317c22, 0x011e0f51, 0x000efabb}}, Y: Field{[10]uint32{0x00c768d2, 0x0012617b, 0x00416ce7, 0x01ee37fb, 0x0154cde7, 0x03a0386d, 0x034a8beb, 0x01eb37fb, 0x03f55aff, 0x0030ec35}}}, + {X: Field{[10]uint32{0x02ca6cc3, 0x00e36589, 0x0218383d, 0x011f861f, 0x031477d7, 0x033224f7, 0x01730da7, 0x011a23ac, 0x0047ef1e, 0x002dcec7}}, Y: Field{[10]uint32{0x014fdba3, 0x00d75da9, 0x03f5afac, 0x014825d5, 0x017322a2, 0x03320142, 0x017d64bb, 0x008aa429, 0x01cb2949, 0x001610c5}}}, + {X: Field{[10]uint32{0x024edcc5, 0x03e85f6e, 0x011b7234, 0x0085080c, 0x03e74e32, 0x0249d665, 0x012dfc03, 0x0275861d, 0x03a0cbdc, 0x001b9cf6}}, Y: Field{[10]uint32{0x019da0e4, 0x007df375, 0x039037b3, 0x0369c019, 0x03278a77, 0x0220a1a4, 0x02455088, 0x033122fa, 0x01fc49ee, 0x003b82b0}}}, + {X: Field{[10]uint32{0x0063e1be, 0x026b4134, 0x01a75c1b, 0x028bdf8e, 0x03a92429, 0x036f3c09, 0x02615253, 0x00ac51c8, 0x01d11d60, 0x0004c590}}, Y: Field{[10]uint32{0x01fec890, 0x007fcf88, 0x01b77fdd, 0x0303e5d1, 0x03bd0fae, 0x036f4afa, 0x002e30fc, 0x00e7c1a9, 0x02617960, 0x00130ef6}}}, + {X: Field{[10]uint32{0x0280b979, 0x03131092, 0x03b31409, 0x03e8ca6a, 0x000490f5, 0x0291f0c4, 0x027d97ea, 0x02d649d8, 0x018937e5, 0x001dc1b7}}, Y: Field{[10]uint32{0x0126cfde, 0x03d20410, 0x03e3214c, 0x00d3f5fb, 0x0117fa0a, 0x007aa71c, 0x038dd799, 0x02dc51dd, 0x01827d5b, 0x002280aa}}}, + {X: Field{[10]uint32{0x038f93e0, 0x038864b4, 0x0099f9c6, 0x00eed9da, 0x03d05b2a, 0x01e8bfbd, 0x03989200, 0x00600c47, 0x02b2db40, 0x003b7f85}}, Y: Field{[10]uint32{0x029405ad, 0x005e4f78, 0x0227e3d0, 0x000311b8, 0x025b3d51, 0x02c17434, 0x0174faa4, 0x036cda53, 0x02f1fca5, 0x003b9a40}}}, + {X: Field{[10]uint32{0x026fe285, 0x02e712dc, 0x03127dcd, 0x00a504fb, 0x02a45bac, 0x007e781a, 0x02f3c7a4, 0x0303e034, 0x02c5929b, 0x0005b508}}, Y: Field{[10]uint32{0x0155b441, 0x003ff9b0, 0x00d4233e, 0x0044dcd9, 0x01e93f0c, 0x018d4c6c, 0x02b7e69a, 0x009906a2, 0x00fa51e2, 0x00037e22}}}, + {X: Field{[10]uint32{0x01e306a5, 0x004cae1a, 0x007f15d3, 0x00931309, 0x02b8b5f6, 0x017cb971, 0x027129b3, 0x0030cd24, 0x0363f9f3, 0x0025cb2c}}, Y: Field{[10]uint32{0x02e86295, 0x007f502d, 0x00f35d06, 0x03b732b5, 0x01b85702, 0x02f1941e, 0x01e77fe5, 0x024aa97e, 0x0304e2df, 0x002b98d1}}}, + {X: Field{[10]uint32{0x02cfa513, 0x0042f2ae, 0x023aeae3, 0x027e6983, 0x004e2407, 0x003d5aa7, 0x01a34475, 0x01b58ea9, 0x0247eec7, 0x0007f303}}, Y: Field{[10]uint32{0x007afc9c, 0x01d6e904, 0x03918750, 0x03459260, 0x004beded, 0x00ce7e6d, 0x00e38754, 0x0151e2d2, 0x01a041e3, 0x00059770}}}, + {X: Field{[10]uint32{0x0046e079, 0x0280d49f, 0x0078dd12, 0x002e17a7, 0x00ab6693, 0x000ae8dd, 0x02f75adb, 0x02b14c3f, 0x02ad2acf, 0x002ae1b0}}, Y: Field{[10]uint32{0x0236ffe1, 0x00a2f05d, 0x017c0ec4, 0x03a12143, 0x01ce7728, 0x01cc8032, 0x01c46d4d, 0x00a6af3d, 0x0286019f, 0x00048270}}}, + {X: Field{[10]uint32{0x02dc69b2, 0x009c1f3f, 0x0371721a, 0x0226c9ad, 0x02a50a60, 0x0172a8e1, 0x00643043, 0x02e285cc, 0x0073ad6c, 0x00304ae4}}, Y: Field{[10]uint32{0x00dd41dd, 0x02ba6c08, 0x032a0032, 0x02f8f49e, 0x02b8ee1d, 0x03e2525d, 0x0372dc89, 0x0337c765, 0x003fe534, 0x000c5cf1}}}, + {X: Field{[10]uint32{0x02341142, 0x031ef3a7, 0x02760d3e, 0x03add91c, 0x007ae684, 0x0268459a, 0x021bd217, 0x028ec06e, 0x00110c2d, 0x00319c07}}, Y: Field{[10]uint32{0x020f4dad, 0x01318567, 0x03e57892, 0x02e96f26, 0x015d07fc, 0x03867d68, 0x03869bbd, 0x0376654b, 0x02b38d6c, 0x000a8083}}}, + {X: Field{[10]uint32{0x0161fe4d, 0x03d6177e, 0x03197ab6, 0x01be2c41, 0x028a1488, 0x004b29cf, 0x033e9313, 0x01ea3e8f, 0x0385dc32, 0x0034166f}}, Y: Field{[10]uint32{0x02e823c2, 0x00d6c19a, 0x0364cb99, 0x0287d36a, 0x00fd388b, 0x0212556d, 0x020765dc, 0x014978ff, 0x0260c08b, 0x0011441e}}}, + {X: Field{[10]uint32{0x00af666b, 0x018c0fdb, 0x00e30bcd, 0x034f12c7, 0x037ffcfe, 0x0205fd18, 0x036979ae, 0x000aa98a, 0x0257a781, 0x0004d192}}, Y: Field{[10]uint32{0x036ecc27, 0x0256a41f, 0x002e13f4, 0x02a07425, 0x0248f300, 0x00f32c32, 0x03e43345, 0x011603bd, 0x01900461, 0x001a6f85}}}, + }, + { + {X: Field{[10]uint32{0x00af666b, 0x018c0fdb, 0x00e30bcd, 0x034f12c7, 0x037ffcfe, 0x0205fd18, 0x036979ae, 0x000aa98a, 0x0257a781, 0x0004d192}}, Y: Field{[10]uint32{0x036ecc27, 0x0256a41f, 0x002e13f4, 0x02a07425, 0x0248f300, 0x00f32c32, 0x03e43345, 0x011603bd, 0x01900461, 0x001a6f85}}}, + {X: Field{[10]uint32{0x025084ae, 0x02127181, 0x02577c75, 0x01f73aaf, 0x019182be, 0x017f84b4, 0x005c88c8, 0x014d8bb0, 0x00f53224, 0x003acf3e}}, Y: Field{[10]uint32{0x016b9480, 0x01f07ffe, 0x012a66f6, 0x03179f6f, 0x01f52b45, 0x03f72928, 0x03e63dce, 0x035c010f, 0x038222d9, 0x00320cf1}}}, + {X: Field{[10]uint32{0x02ca5f51, 0x01ac8263, 0x01aebf21, 0x006e53f2, 0x03ddea17, 0x03c16d73, 0x02ed6b2b, 0x039a58b1, 0x0114dd9e, 0x00377a75}}, Y: Field{[10]uint32{0x00c638f7, 0x01a69cf4, 0x0171f9ad, 0x03a37a25, 0x0150feeb, 0x029fe3c2, 0x011f34b0, 0x02044762, 0x01133ce2, 0x002e139a}}}, + {X: Field{[10]uint32{0x02e9a5d0, 0x016f2f30, 0x001d9f8e, 0x03e61288, 0x02a576fc, 0x0211466c, 0x03a60f21, 0x02665d3d, 0x027d092d, 0x002f7c69}}, Y: Field{[10]uint32{0x0162ff7b, 0x013dc061, 0x02461cdb, 0x01879589, 0x02a6280b, 0x01afdeea, 0x00be54a8, 0x0286aaa0, 0x002bab65, 0x00102564}}}, + {X: Field{[10]uint32{0x019c88e4, 0x001ac166, 0x006ec2f9, 0x00f882b5, 0x039aed51, 0x004812c5, 0x01f406eb, 0x024dcdba, 0x02102369, 0x003f4698}}, Y: Field{[10]uint32{0x015bc8df, 0x02324596, 0x000f299c, 0x03525730, 0x02dc6b71, 0x0125dde0, 0x013c0695, 0x03082fec, 0x0354b9c8, 0x0006b25e}}}, + {X: Field{[10]uint32{0x009b0cca, 0x031a9568, 0x016f01cc, 0x02249293, 0x01a34575, 0x028a3696, 0x00454f68, 0x03d32357, 0x00b1dbb0, 0x000354e3}}, Y: Field{[10]uint32{0x00929e05, 0x02c51f83, 0x034c9731, 0x02676244, 0x038534cd, 0x003bb5f3, 0x00a8d5c4, 0x0304432c, 0x03ac7a3e, 0x0032065a}}}, + {X: Field{[10]uint32{0x038018ce, 0x0056d6d7, 0x02d68bd5, 0x01ce3624, 0x03cf2da5, 0x00b21b71, 0x03ffce4f, 0x025ae7c4, 0x0131d8c2, 0x0013b921}}, Y: Field{[10]uint32{0x0248381f, 0x016986c7, 0x006013c3, 0x01c6d3a0, 0x02710749, 0x0031f179, 0x03b4408d, 0x03e2d7f1, 0x02d4810b, 0x002da3e7}}}, + {X: Field{[10]uint32{0x0327e771, 0x017f05ce, 0x0262abde, 0x02591df6, 0x008c3b41, 0x019120ed, 0x01be267b, 0x03b0a735, 0x026eddc4, 0x001a215a}}, Y: Field{[10]uint32{0x03bbdab6, 0x02358a81, 0x0333a611, 0x03ca4ec1, 0x02331d22, 0x0067ded2, 0x036fd49c, 0x0287ec4e, 0x01f14f79, 0x001de8cf}}}, + {X: Field{[10]uint32{0x01473678, 0x014ba47c, 0x012f7028, 0x0254250e, 0x00cba057, 0x016e301c, 0x01e314c5, 0x00036ffd, 0x009c34c4, 0x003f5db3}}, Y: Field{[10]uint32{0x01144f4f, 0x0193baa3, 0x008437e1, 0x03b85007, 0x0260628e, 0x0340cb35, 0x03ee0a73, 0x010f6b83, 0x01437871, 0x003c8119}}}, + {X: Field{[10]uint32{0x02e66b24, 0x00014cb3, 0x00366b5f, 0x003fb5ee, 0x02e8b9c6, 0x03c6b7b4, 0x0244d99b, 0x031ee203, 0x00cfb9e9, 0x00133576}}, Y: Field{[10]uint32{0x000932fd, 0x03bf6ebd, 0x03aed221, 0x01784b4b, 0x03ca61e4, 0x0335b440, 0x024e8c39, 0x012d567f, 0x0282deb9, 0x0015dbab}}}, + {X: Field{[10]uint32{0x017a2193, 0x002dc523, 0x0146edf0, 0x0113c65d, 0x012c691e, 0x012d3a88, 0x026ce827, 0x02d00867, 0x03a33123, 0x002168aa}}, Y: Field{[10]uint32{0x00cdcf3a, 0x0320f52c, 0x012427f0, 0x037e70ec, 0x03e1c6da, 0x007300a7, 0x02c6082d, 0x00145b60, 0x0057eb2b, 0x002704a6}}}, + {X: Field{[10]uint32{0x01d7e577, 0x00c0f3bb, 0x004d56ae, 0x015a14db, 0x03d3a0f2, 0x003a8841, 0x00604727, 0x03dec96b, 0x010f8828, 0x0030d4b5}}, Y: Field{[10]uint32{0x00d9b570, 0x013fe23e, 0x017063ca, 0x02cad848, 0x0300a8ab, 0x02f39e7e, 0x03d53145, 0x02e6e5aa, 0x0038ba76, 0x002f9dca}}}, + {X: Field{[10]uint32{0x037568b0, 0x000c16cd, 0x03b0535b, 0x03406780, 0x0335ae8d, 0x01e0d943, 0x00b6d6c5, 0x03f9d110, 0x03fc73cf, 0x00349776}}, Y: Field{[10]uint32{0x0339929c, 0x004e49b7, 0x03f0060a, 0x022078f0, 0x03832273, 0x0379f64a, 0x02aef74c, 0x01224e2f, 0x037593f8, 0x001e8ebf}}}, + {X: Field{[10]uint32{0x02712536, 0x0158fa07, 0x03e71a33, 0x03d5bfd7, 0x02a85051, 0x02d8d7a7, 0x006de71a, 0x00ea7f82, 0x0286b0a4, 0x0001a453}}, Y: Field{[10]uint32{0x001128f1, 0x011dc4e0, 0x029da2a2, 0x01ac2bde, 0x00896c22, 0x016b0a30, 0x018aceae, 0x02f4149f, 0x012852d9, 0x000adf9e}}}, + {X: Field{[10]uint32{0x031d7c13, 0x03944629, 0x03a3855f, 0x03dfe83f, 0x01641ab5, 0x01eab201, 0x0307e9a9, 0x0129c957, 0x013143e9, 0x0011604d}}, Y: Field{[10]uint32{0x02ff63cf, 0x022f154e, 0x016b9963, 0x01550af6, 0x01702006, 0x01f75a72, 0x03f50f17, 0x026b62d5, 0x00ec1497, 0x0027d616}}}, + {X: Field{[10]uint32{0x0183f366, 0x028e834b, 0x00588cad, 0x03b78bca, 0x020cd9cc, 0x0307725e, 0x02f430bc, 0x03f8ba6b, 0x01f5b713, 0x002f12a7}}, Y: Field{[10]uint32{0x001f33c1, 0x02359996, 0x03b16d75, 0x03efe951, 0x02a6e8a9, 0x012de632, 0x03937adf, 0x017018e0, 0x01ca6e78, 0x00034ea0}}}, + }, + { + {X: Field{[10]uint32{0x0183f366, 0x028e834b, 0x00588cad, 0x03b78bca, 0x020cd9cc, 0x0307725e, 0x02f430bc, 0x03f8ba6b, 0x01f5b713, 0x002f12a7}}, Y: Field{[10]uint32{0x001f33c1, 0x02359996, 0x03b16d75, 0x03efe951, 0x02a6e8a9, 0x012de632, 0x03937adf, 0x017018e0, 0x01ca6e78, 0x00034ea0}}}, + {X: Field{[10]uint32{0x03fceb19, 0x0379517c, 0x00409282, 0x0087de17, 0x002e89b2, 0x0339eead, 0x005c7626, 0x033302af, 0x015e11ce, 0x003690cf}}, Y: Field{[10]uint32{0x02f5cc64, 0x039c4829, 0x03277684, 0x00b6489e, 0x018e77fc, 0x03e57948, 0x02bbdc4a, 0x0040c077, 0x03d321a8, 0x00392636}}}, + {X: Field{[10]uint32{0x0312be3c, 0x028b8cbd, 0x02a66b06, 0x023b6851, 0x007295f1, 0x02c0054d, 0x00725dba, 0x02cde34f, 0x009d9331, 0x000e75cd}}, Y: Field{[10]uint32{0x006ff65c, 0x00067d07, 0x01644cc3, 0x0297b290, 0x00ef5ef7, 0x019a04ba, 0x0127554c, 0x00efdfec, 0x034f56ef, 0x0023e4a6}}}, + {X: Field{[10]uint32{0x02cf692a, 0x0389d716, 0x03e0654d, 0x0229c881, 0x01bcc483, 0x00705bbf, 0x01c11698, 0x031fb070, 0x021ee9e8, 0x0000c7a3}}, Y: Field{[10]uint32{0x016f667a, 0x00aa13ac, 0x033b09cc, 0x009f16fd, 0x03706498, 0x00359d0e, 0x01097029, 0x00d4f767, 0x035b465b, 0x002b5f9f}}}, + {X: Field{[10]uint32{0x0377f22b, 0x0393ef37, 0x02e035aa, 0x00e653e0, 0x02c69972, 0x02656bc9, 0x011cd6c2, 0x00774279, 0x0217f7dc, 0x003c32e9}}, Y: Field{[10]uint32{0x0109a03c, 0x0238b1d6, 0x015661fc, 0x01fa4282, 0x0004f18c, 0x0145b410, 0x03326c36, 0x037e627b, 0x034313f9, 0x0006896a}}}, + {X: Field{[10]uint32{0x03829372, 0x002a929d, 0x00553dec, 0x003222e9, 0x03c49b30, 0x00e15e5a, 0x03626ae5, 0x0034ecc4, 0x00c90f3e, 0x002d0c67}}, Y: Field{[10]uint32{0x02dd5427, 0x02733002, 0x011bb772, 0x005728f8, 0x02707b12, 0x03087168, 0x037afe09, 0x0140affe, 0x00499a6f, 0x0011c1f5}}}, + {X: Field{[10]uint32{0x02509c12, 0x03373531, 0x0347658a, 0x008d6f47, 0x018d6bfe, 0x021c9a3b, 0x01170e8d, 0x01534c87, 0x02b9db21, 0x000e075e}}, Y: Field{[10]uint32{0x02b46102, 0x010aa38b, 0x02af7546, 0x0161b39b, 0x03205828, 0x02996079, 0x01d24573, 0x00f6a7ad, 0x035b7fda, 0x00291eaa}}}, + {X: Field{[10]uint32{0x01f488b6, 0x02f5ffe0, 0x0291592b, 0x00d8ff1e, 0x03e9c9bf, 0x00995fdc, 0x03e00d86, 0x01845574, 0x0207a88d, 0x002a61e1}}, Y: Field{[10]uint32{0x031dab1d, 0x029eeec0, 0x01c6d495, 0x006592b5, 0x0239d0f0, 0x00855f08, 0x0063e7c8, 0x02575870, 0x01abd588, 0x00346068}}}, + {X: Field{[10]uint32{0x004fe955, 0x00ed358e, 0x03ce48db, 0x0296818e, 0x03f69956, 0x02532294, 0x013b73e6, 0x021f991e, 0x005467ab, 0x0029c0fc}}, Y: Field{[10]uint32{0x021344bd, 0x02cbbef5, 0x0277fa26, 0x00a7165c, 0x03539e16, 0x02c64666, 0x02a792d6, 0x011eb703, 0x0135a2b0, 0x0035403e}}}, + {X: Field{[10]uint32{0x038a8cc6, 0x0024edb0, 0x038fbe64, 0x007a7da7, 0x00ba2e12, 0x03b5fcf7, 0x02279ff6, 0x0105f923, 0x00c750b3, 0x000cc649}}, Y: Field{[10]uint32{0x02587810, 0x02383ed1, 0x01b54c4e, 0x026b3a7a, 0x017fb99e, 0x038bfecc, 0x025b601b, 0x03c060ae, 0x01411b33, 0x0032a3de}}}, + {X: Field{[10]uint32{0x02eace58, 0x02595b01, 0x0211d349, 0x018e8bcc, 0x031b7e45, 0x0014e80f, 0x006ad0d7, 0x01435d1b, 0x03c5aad5, 0x001cf1ac}}, Y: Field{[10]uint32{0x02f8654e, 0x002a45ca, 0x01291717, 0x0236eee3, 0x02aa6a87, 0x019b6471, 0x02909913, 0x013dd06e, 0x00a4733a, 0x000e8bed}}}, + {X: Field{[10]uint32{0x01cbcb9e, 0x03c449b3, 0x03c3df4b, 0x02277360, 0x01d6fa56, 0x03f50dd8, 0x00c32447, 0x00cdea7b, 0x02d7119d, 0x003372c4}}, Y: Field{[10]uint32{0x0161cfd1, 0x029616b2, 0x03340a08, 0x0090d637, 0x01a199af, 0x01b7a652, 0x02fbea09, 0x03c47eff, 0x02e17bb9, 0x0039a678}}}, + {X: Field{[10]uint32{0x00181d5e, 0x00e22fc0, 0x02f2054b, 0x02a6e56a, 0x00de71b3, 0x0303b76e, 0x0100d3a1, 0x011ff687, 0x03e7506d, 0x003189fc}}, Y: Field{[10]uint32{0x029f886d, 0x0240298d, 0x022c3927, 0x0015272f, 0x028ef6b0, 0x02287df5, 0x01696013, 0x00a98ecb, 0x01d71e44, 0x0035e3e7}}}, + {X: Field{[10]uint32{0x025fe9cc, 0x011f3dcc, 0x008db1d7, 0x02ecd276, 0x03fbb883, 0x00b52b08, 0x00411084, 0x00c6c4dc, 0x026328ec, 0x0031bb57}}, Y: Field{[10]uint32{0x028fd94b, 0x02f38712, 0x02cf10c0, 0x00ad83c8, 0x02844f97, 0x031fdeca, 0x032ee125, 0x03e0c0a4, 0x005b49d7, 0x003791d0}}}, + {X: Field{[10]uint32{0x03828b16, 0x00a367ed, 0x0047f34e, 0x023ca292, 0x03a04795, 0x03c1b794, 0x025f40a6, 0x0348cfe8, 0x02be0edf, 0x002ee23e}}, Y: Field{[10]uint32{0x02ea5df7, 0x011ce882, 0x02969c51, 0x01d38e87, 0x03ec4a81, 0x00456458, 0x01dc5960, 0x03a374d1, 0x02b304f5, 0x002dcd9d}}}, + {X: Field{[10]uint32{0x01324caa, 0x02acc3f9, 0x032a3954, 0x038c2a51, 0x02694b65, 0x0114a8cb, 0x03d8c749, 0x022f0348, 0x017bf829, 0x00230a2a}}, Y: Field{[10]uint32{0x03ef9482, 0x00771cf2, 0x039459e7, 0x03c11472, 0x037ae784, 0x03df303a, 0x00fedf31, 0x01464cde, 0x0063a330, 0x001028c1}}}, + }, + { + {X: Field{[10]uint32{0x01324caa, 0x02acc3f9, 0x032a3954, 0x038c2a51, 0x02694b65, 0x0114a8cb, 0x03d8c749, 0x022f0348, 0x017bf829, 0x00230a2a}}, Y: Field{[10]uint32{0x03ef9482, 0x00771cf2, 0x039459e7, 0x03c11472, 0x037ae784, 0x03df303a, 0x00fedf31, 0x01464cde, 0x0063a330, 0x001028c1}}}, + {X: Field{[10]uint32{0x0211d8e2, 0x02c807dd, 0x03c4d5df, 0x03a37927, 0x02c8130f, 0x011fc368, 0x03ed5a60, 0x028bc65a, 0x01872a38, 0x002ac6b0}}, Y: Field{[10]uint32{0x0029d15b, 0x01607cf1, 0x0145f01a, 0x034cf879, 0x02f7ef93, 0x02da90ad, 0x02a5f39d, 0x005e87a6, 0x037a324d, 0x0004fd28}}}, + {X: Field{[10]uint32{0x0354dd40, 0x03a1c551, 0x026cf863, 0x00c7f0d1, 0x01a24226, 0x035cbdba, 0x034841fc, 0x037f3d16, 0x007032c0, 0x0025ca49}}, Y: Field{[10]uint32{0x02a36143, 0x02d24bca, 0x02f49384, 0x014956b2, 0x0290dae8, 0x02f537cd, 0x015c75dc, 0x03a87734, 0x0244265f, 0x00247468}}}, + {X: Field{[10]uint32{0x0251b3fa, 0x02bb9909, 0x03434226, 0x0195dcb7, 0x038ea1b3, 0x014fcc7b, 0x003a6072, 0x03e0b4dc, 0x029b5bee, 0x0009593f}}, Y: Field{[10]uint32{0x01e5122d, 0x00b9a8c0, 0x0016edb8, 0x02adade6, 0x0314f37d, 0x0080e497, 0x03a14ae1, 0x00e24257, 0x03a60678, 0x0022b67d}}}, + {X: Field{[10]uint32{0x002ca7ff, 0x0360bae3, 0x0021a3c2, 0x0176577c, 0x03180364, 0x028bc9eb, 0x00791ad5, 0x01e5b814, 0x0397580a, 0x002258df}}, Y: Field{[10]uint32{0x00493e68, 0x0105785c, 0x02ab7bed, 0x028e390b, 0x01f87bc6, 0x010d5d22, 0x03b9cf15, 0x02109355, 0x01248c88, 0x000b47f8}}}, + {X: Field{[10]uint32{0x007a89ee, 0x030d4cc3, 0x014f8057, 0x0271eadb, 0x024bdbc5, 0x03261962, 0x0060b88f, 0x01e7844a, 0x00e26a41, 0x001c7be9}}, Y: Field{[10]uint32{0x01366a2e, 0x0224ca70, 0x01a0b4f4, 0x02e2397a, 0x022aaafa, 0x005ca528, 0x03b2c32b, 0x0092ba7b, 0x001f8bb6, 0x000517ea}}}, + {X: Field{[10]uint32{0x00a8dd7f, 0x01b58e83, 0x0381a618, 0x000d5a84, 0x021bc728, 0x0354d5d0, 0x01c9da03, 0x017824bf, 0x00e71be2, 0x000c204e}}, Y: Field{[10]uint32{0x0292c7f2, 0x017c91e2, 0x01915e41, 0x01190d2b, 0x00c81656, 0x00502386, 0x039ec45d, 0x03f24978, 0x02d28828, 0x000a3478}}}, + {X: Field{[10]uint32{0x02180068, 0x0238f4eb, 0x03103b17, 0x01b082f4, 0x027ea3d5, 0x00c37006, 0x006c5c0c, 0x016c32ff, 0x0136ffac, 0x003fcf58}}, Y: Field{[10]uint32{0x008c6077, 0x01aedb86, 0x035e670a, 0x03c90007, 0x01547676, 0x0365ab70, 0x010372cd, 0x00003903, 0x01be84e4, 0x0004cc8e}}}, + {X: Field{[10]uint32{0x026a3fb1, 0x03315a21, 0x02206c0d, 0x00a0664b, 0x036ec009, 0x016da18b, 0x025750c8, 0x03ad9747, 0x00e82a6d, 0x0015d7f1}}, Y: Field{[10]uint32{0x002655ad, 0x023a42a4, 0x02f2f09b, 0x01cf1a8e, 0x02ed33b5, 0x01e3a1f6, 0x031dbc29, 0x03f28b59, 0x039042a6, 0x001bdbb6}}}, + {X: Field{[10]uint32{0x0121250a, 0x039ff72f, 0x00ad4954, 0x01d60e66, 0x03df45e1, 0x010d5579, 0x01e342ba, 0x022b494c, 0x01480bab, 0x000fea45}}, Y: Field{[10]uint32{0x02a76731, 0x021b00be, 0x01fb791c, 0x01680cad, 0x002e45e5, 0x00eec49f, 0x01bdf960, 0x02c0c33d, 0x02905499, 0x002fe6d9}}}, + {X: Field{[10]uint32{0x010117df, 0x01aa291e, 0x0102921b, 0x02ef3880, 0x03da253b, 0x03ba8aa3, 0x03f26f81, 0x02ade889, 0x0036b64e, 0x00297b24}}, Y: Field{[10]uint32{0x006462fe, 0x00a04cfe, 0x02363d81, 0x03c15852, 0x031c8461, 0x0347e83d, 0x0197983a, 0x01010031, 0x02625ec1, 0x002de771}}}, + {X: Field{[10]uint32{0x01e0545f, 0x0008d263, 0x0074f5cb, 0x0368841b, 0x0080e625, 0x02cd422b, 0x035ea004, 0x01c4928d, 0x03cc58e0, 0x00148116}}, Y: Field{[10]uint32{0x006c3d91, 0x028d3014, 0x01af236e, 0x003caa3f, 0x03793b9d, 0x00338c4a, 0x030ed9c2, 0x0048eb50, 0x01fcebe3, 0x0006cfcc}}}, + {X: Field{[10]uint32{0x032ad712, 0x03e5d705, 0x007290b0, 0x02c37841, 0x015a398c, 0x0118d26e, 0x01e79761, 0x002c2527, 0x03e91331, 0x002854f7}}, Y: Field{[10]uint32{0x0148fdd2, 0x017d94e3, 0x03329c8a, 0x00a16bc2, 0x02bd053f, 0x007c6e26, 0x00318d5f, 0x016cbf12, 0x00413fb0, 0x003f6536}}}, + {X: Field{[10]uint32{0x0220479f, 0x004f430c, 0x0338a89f, 0x02579796, 0x035de47b, 0x00dd80d8, 0x0162c8d2, 0x00bf6e00, 0x036ebe47, 0x00162d50}}, Y: Field{[10]uint32{0x027db17a, 0x01cdd795, 0x0334144a, 0x03120a6e, 0x0396af27, 0x00bdb7a0, 0x02913a25, 0x019cb138, 0x02b055cd, 0x002175ed}}}, + {X: Field{[10]uint32{0x01cf5b3a, 0x030dc044, 0x02781030, 0x020ef6d6, 0x00c4433a, 0x023b7209, 0x01c34d08, 0x0118564d, 0x02c6af79, 0x00269506}}, Y: Field{[10]uint32{0x02a44ae4, 0x0155d7cd, 0x0252d63f, 0x0389487a, 0x035548fe, 0x0223d1d7, 0x03e1af36, 0x01aadf2b, 0x00c1cb10, 0x002d9852}}}, + {X: Field{[10]uint32{0x03accae0, 0x012e8447, 0x0333748c, 0x0031692e, 0x023c8b35, 0x03c1c7f4, 0x01d94ce4, 0x009ea307, 0x02661395, 0x00023aa5}}, Y: Field{[10]uint32{0x0262b945, 0x03cd28c3, 0x038e955a, 0x02fa73c3, 0x0335b783, 0x02e57175, 0x00e7c0cf, 0x009e0b89, 0x02bbc8ee, 0x001883be}}}, + }, + { + {X: Field{[10]uint32{0x03accae0, 0x012e8447, 0x0333748c, 0x0031692e, 0x023c8b35, 0x03c1c7f4, 0x01d94ce4, 0x009ea307, 0x02661395, 0x00023aa5}}, Y: Field{[10]uint32{0x0262b945, 0x03cd28c3, 0x038e955a, 0x02fa73c3, 0x0335b783, 0x02e57175, 0x00e7c0cf, 0x009e0b89, 0x02bbc8ee, 0x001883be}}}, + {X: Field{[10]uint32{0x0190b632, 0x00c4c768, 0x01ab9a29, 0x008e92ad, 0x0263cf2a, 0x01556760, 0x0266df31, 0x003367ce, 0x03717622, 0x003097d8}}, Y: Field{[10]uint32{0x009590cf, 0x02fcf5bf, 0x03a1d6ee, 0x03fe7809, 0x000a9f04, 0x020275e6, 0x01049903, 0x00a1ce62, 0x03ede94d, 0x0014c553}}}, + {X: Field{[10]uint32{0x02a06f5e, 0x0102d659, 0x0037021a, 0x0145ba82, 0x02a34192, 0x0098edc5, 0x03b0d421, 0x0094eb0d, 0x00fbea14, 0x000e0ec9}}, Y: Field{[10]uint32{0x03c6e772, 0x03d1e1b4, 0x02b04089, 0x01d2ee30, 0x01e8f6ae, 0x013a9686, 0x00f566d5, 0x02e88113, 0x006ac4ed, 0x001533dc}}}, + {X: Field{[10]uint32{0x0066d561, 0x032cedf5, 0x00b4de2c, 0x0370c65e, 0x000c7b55, 0x01a21513, 0x002d82a5, 0x01aeacfa, 0x01fe3cce, 0x000aa7a3}}, Y: Field{[10]uint32{0x02e76373, 0x0333d494, 0x02182f96, 0x03b05e80, 0x035e01ea, 0x0022e5b3, 0x007b5ad6, 0x01947eeb, 0x01a5c16e, 0x000077fb}}}, + {X: Field{[10]uint32{0x0238a136, 0x01d70751, 0x00195c79, 0x038cda0e, 0x002b0d1c, 0x01835e43, 0x01e59c6b, 0x03b5b5e2, 0x02d03e02, 0x0039a10c}}, Y: Field{[10]uint32{0x006c2584, 0x03460423, 0x03336aaf, 0x03af6cd5, 0x032e09e3, 0x02807991, 0x012a7303, 0x01699893, 0x001398e3, 0x003296f9}}}, + {X: Field{[10]uint32{0x03cf2dce, 0x026d0236, 0x006c0213, 0x00417077, 0x0068114a, 0x00bfe660, 0x009e4c99, 0x018862f5, 0x014292e4, 0x0025798b}}, Y: Field{[10]uint32{0x00c86594, 0x0377f7d6, 0x0120e62b, 0x0180dc13, 0x025e7b30, 0x010a354b, 0x03a26e2b, 0x00a1d460, 0x0184296c, 0x0001ada0}}}, + {X: Field{[10]uint32{0x02e8c10c, 0x021f1105, 0x016807ce, 0x017ce46f, 0x03b47298, 0x01cc1b9f, 0x02fbdece, 0x0170a83b, 0x0159e2fe, 0x000e5775}}, Y: Field{[10]uint32{0x01fe638e, 0x035b64c1, 0x0122cbc3, 0x0013719a, 0x034c909c, 0x03fe9389, 0x0013e87a, 0x00ab1741, 0x00d4b459, 0x003f58b7}}}, + {X: Field{[10]uint32{0x038be384, 0x034c810f, 0x036c3e8b, 0x02b68c76, 0x0271ec0a, 0x03f7bc1c, 0x01ad6c94, 0x00f86c94, 0x00a42be6, 0x002c8de4}}, Y: Field{[10]uint32{0x0319880e, 0x0291cf7a, 0x00b58d10, 0x03d0527b, 0x0117f004, 0x02a07e51, 0x0150f88a, 0x017b6fa3, 0x014919d5, 0x003f1ada}}}, + {X: Field{[10]uint32{0x016c14ef, 0x01936c83, 0x03c8f516, 0x01d41be4, 0x000858fc, 0x03b89920, 0x02eed5be, 0x01772e7d, 0x02dc3552, 0x001e9452}}, Y: Field{[10]uint32{0x033fbd13, 0x00f861c2, 0x0224f7ad, 0x03dcaa9b, 0x0329beae, 0x0323d70d, 0x017f0b94, 0x039363a2, 0x01fed152, 0x0015bb74}}}, + {X: Field{[10]uint32{0x017ec94b, 0x03c14f42, 0x01c2dff9, 0x02472356, 0x0127ed70, 0x02b9a060, 0x02215aa8, 0x03bfb47b, 0x03cb7b4a, 0x002c844e}}, Y: Field{[10]uint32{0x007831ad, 0x03efff1a, 0x010fdbd5, 0x002c8d5f, 0x03094322, 0x01532d3a, 0x01a0b534, 0x03b9cc41, 0x027399e8, 0x0024efa7}}}, + {X: Field{[10]uint32{0x036d65eb, 0x0118f413, 0x021524a9, 0x01dd5100, 0x035a9910, 0x012423c8, 0x028ef3bf, 0x0364363a, 0x01584325, 0x0007b87f}}, Y: Field{[10]uint32{0x0122941c, 0x00dae497, 0x002b11e0, 0x03a618d6, 0x02ca32f4, 0x03d0bf3e, 0x03ab9fc4, 0x031cf073, 0x0091bdd6, 0x002eda4a}}}, + {X: Field{[10]uint32{0x03a6257f, 0x01499165, 0x02c40b80, 0x02c689e9, 0x011873c3, 0x02c1f9e2, 0x0024274a, 0x013c9699, 0x01c8e1f5, 0x001c7a4d}}, Y: Field{[10]uint32{0x01b1e582, 0x005d1874, 0x00f7a5b2, 0x015033dc, 0x02ef2523, 0x01eb8a94, 0x02d86ba4, 0x008944f7, 0x0259f47c, 0x001e364f}}}, + {X: Field{[10]uint32{0x0236cb44, 0x02543bc3, 0x020191f1, 0x01b23728, 0x01617e8b, 0x0220cd5f, 0x0058fd0d, 0x02aaa2f0, 0x0234d38f, 0x00055455}}, Y: Field{[10]uint32{0x03495a68, 0x02bd1947, 0x001e5329, 0x01d7c083, 0x01a8c371, 0x0118c817, 0x030e3f0b, 0x0148578d, 0x03c75557, 0x002ad3ff}}}, + {X: Field{[10]uint32{0x01ca950e, 0x0211c91e, 0x03bacbf0, 0x01d8aec4, 0x0139e015, 0x03b8b118, 0x02f8be79, 0x02572b14, 0x01ca4ee7, 0x002af114}}, Y: Field{[10]uint32{0x029490d2, 0x039f6326, 0x013ec07c, 0x00033a95, 0x02526840, 0x00b24515, 0x01dfb80c, 0x0029676c, 0x00befe82, 0x002b89c6}}}, + {X: Field{[10]uint32{0x0027bacc, 0x0251841d, 0x022e151f, 0x019374b5, 0x029e7331, 0x0163712a, 0x0358eb09, 0x014804d8, 0x006446bf, 0x000ef1af}}, Y: Field{[10]uint32{0x02d6fda6, 0x00cff57a, 0x02b4714c, 0x02948a2f, 0x03d71b75, 0x01b5b00a, 0x0362ee22, 0x030c1736, 0x00c07176, 0x00238c17}}}, + {X: Field{[10]uint32{0x039a9787, 0x01db313a, 0x0168092f, 0x02056566, 0x0189bdde, 0x02f4de23, 0x0269716b, 0x028181d1, 0x01faef5b, 0x00374d89}}, Y: Field{[10]uint32{0x0244a573, 0x01a34031, 0x0395937f, 0x0260a20c, 0x02941461, 0x0115cc72, 0x01a25010, 0x00c35187, 0x03a3520e, 0x001e8623}}}, + }, +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_init.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_init.go new file mode 100755 index 0000000..051b8d1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_init.go @@ -0,0 +1,113 @@ +package secp256k1go + +/* +import ( + "os" + "fmt" + "time" +) + + +var ( + pre_g, pre_g_128 []XY + prec [64][16]XY + fin XY +) + + +func ecmult_start() { + return + sta := time.Now() + + g := TheCurve.G + + // calculate 2^128*generator + var g_128j XYZ + g_128j.SetXY(&g) + + for i := 0; i < 128; i++ { + g_128j.Double(&g_128j) + } + + var g_128 XY + g_128.SetXYZ(&g_128j) + + // precompute the tables with odd multiples + pre_g = g.precomp(WINDOW_G) + pre_g_128 = g_128.precomp(WINDOW_G) + + // compute prec and fin + var gg XYZ + gg.SetXY(&g) + ad := g + var fn XYZ + fn.Infinity = true + for j:=0; j<64; j++ { + prec[j][0].SetXYZ(&gg) + fn.Add(&fn, &gg) + for i:=1; i<16; i++ { + gg.AddXY(&gg, &ad) + prec[j][i].SetXYZ(&gg) + } + ad = prec[j][15] + } + fin.SetXYZ(&fn) + fin.Neg(&fin) + + if false { + f, _ := os.Create("z_prec.go") + fmt.Fprintln(f, "package secp256k1\n\nvar prec = [64][16]XY {") + for j:=0; j<64; j++ { + fmt.Fprintln(f, " {") + for i:=0; i<16; i++ { + fmt.Fprintln(f, "{X:" + fe2str(&prec[j][i].X) + ", Y:" + fe2str(&prec[j][i].Y) + "},") + } + fmt.Fprintln(f, "},") + } + fmt.Fprintln(f, "}") + f.Close() + } + + if false { + f, _ := os.Create("z_pre_g.go") + fmt.Fprintln(f, "package secp256k1\n\nvar pre_g = []XY {") + for i := range pre_g { + fmt.Fprintln(f, "{X:" + fe2str(&pre_g[i].X) + ", Y:" + fe2str(&pre_g[i].Y) + "},") + } + fmt.Fprintln(f, "}") + f.Close() + } + + if false { + f, _ := os.Create("z_pre_g_128.go") + fmt.Fprintln(f, "package secp256k1\n\nvar pre_g_128 = []XY {") + for i := range pre_g_128 { + fmt.Fprintln(f, "{X:" + fe2str(&pre_g_128[i].X) + ", Y:" + fe2str(&pre_g_128[i].Y) + "},") + } + fmt.Fprintln(f, "}") + f.Close() + } + + if false { + f, _ := os.Create("z_fin.go") + fmt.Fprintln(f, "package secp256k1\n\nvar fim = XY {") + fmt.Fprintln(f, "X:" + fe2str(&fin.X) + ", Y:" + fe2str(&fin.Y) + ",") + fmt.Fprintln(f, "}") + f.Close() + } + + println("start done in", time.Now().Sub(sta).String()) +} + + +func fe2str(f *Field) (s string) { + s = fmt.Sprintf("Field{[10]uint32{0x%08x", f.n[0]) + for i:=1; i 4 { + log.Panic() + } + + return sig +} + +// SignDeterministic generates signature in repeatable way +func SignDeterministic(msg []byte, seckey []byte, nonceSeed []byte) []byte { + nonceSeed2 := SumSHA256(nonceSeed) //deterministicly generate nonce + + var sig = make([]byte, 65) + var recid int + + var cSig secp.Signature + + var seckey1 secp.Number + var msg1 secp.Number + var nonce1 secp.Number + + seckey1.SetBytes(seckey) + msg1.SetBytes(msg) + nonce1.SetBytes(nonceSeed2) + + ret := cSig.Sign(&seckey1, &msg1, &nonce1, &recid) + if ret != 1 { + log.Panic("Secp256k1-go, SignDeterministic, signature fail") + } + + sigBytes := cSig.Bytes() + for i := 0; i < 64; i++ { + sig[i] = sigBytes[i] + } + + sig[64] = byte(recid) + + if len(sigBytes) != 64 { + log.Fatalf("Invalid signature byte count: %d", len(sigBytes)) + } + + if int(recid) > 4 { + log.Panic() + } + + return sig + +} + +// VerifySeckey renames ChkSeckeyValidity +func VerifySeckey(seckey []byte) int { + if len(seckey) != 32 { + return -1 + } + + //does conversion internally if less than order of curve + if secp.SeckeyIsValid(seckey) != 1 { + return -2 + } + + //seckey is just 32 bit integer + //assume all seckey are valid + //no. must be less than order of curve + //note: converts internally + return 1 +} + +/* +* Validate a public key. +* Returns: 1: valid public key +* 0: invalid public key + */ + +// VerifyPubkey renames ChkPubkeyValidity +// returns 1 on success +func VerifyPubkey(pubkey []byte) int { + if len(pubkey) != 33 { + //log.Printf("Seck256k1, VerifyPubkey, pubkey length invalid") + return -1 + } + + if secp.PubkeyIsValid(pubkey) != 1 { + return -3 //tests parse and validity + } + + var pubkey1 secp.XY + ret := pubkey1.ParsePubkey(pubkey) + + if ret == false { + return -2 //invalid, parse fail + } + //fails for unknown reason + //TODO: uncomment + if pubkey1.IsValid() == false { + return -4 //invalid, validation fail + } + return 1 //valid +} + +// VerifySignatureValidity renames ChkSignatureValidity +func VerifySignatureValidity(sig []byte) int { + //64+1 + if len(sig) != 65 { + log.Fatal("1") + return 0 + } + //malleability check: + //highest bit of 32nd byte must be 1 + //0x7f us 126 or 0b01111111 + if (sig[32] >> 7) == 1 { + log.Fatal("2") + return 0 + } + //recovery id check + if sig[64] >= 4 { + log.Fatal("3") + return 0 + } + return 1 +} + +// VerifySignature for compressed signatures, does not need pubkey +// Rename SignatureChk +func VerifySignature(msg []byte, sig []byte, pubkey1 []byte) int { + if msg == nil || sig == nil || pubkey1 == nil { + log.Panic("VerifySignature, ERROR: invalid input, nils") + } + if len(sig) != 65 { + log.Panic("VerifySignature, invalid signature length") + } + if len(pubkey1) != 33 { + log.Panic("VerifySignature, invalid pubkey length") + } + + //malleability check: + //to enforce malleability, highest bit of S must be 1 + //S starts at 32nd byte + //0x80 is 0b10000000 or 128 and masks highest bit + if (sig[32] >> 7) == 1 { + return 0 //valid signature, but fails malleability + } + + if sig[64] >= 4 { + return 0 //recover byte invalid + } + + pubkey2 := RecoverPubkey(msg, sig) //if pubkey recovered, signature valid + + if pubkey2 == nil { + return 0 + } + + if len(pubkey2) != 33 { + log.Panic("recovered pubkey length invalid") + } + + if bytes.Equal(pubkey1, pubkey2) != true { + return 0 //pubkeys do not match + } + + return 1 //valid signature +} + +//SignatureErrorString returns error string for signature failure +func SignatureErrorString(msg []byte, sig []byte, pubkey1 []byte) string { + + if msg == nil || len(sig) != 65 || len(pubkey1) != 33 { + log.Panic() + } + + if (sig[32] >> 7) == 1 { + return "signature fails malleability requirement" + } + + if sig[64] >= 4 { + return "signature recovery byte is invalid, must be 0 to 3" + } + + pubkey2 := RecoverPubkey(msg, sig) //if pubkey recovered, signature valid + if pubkey2 == nil { + return "pubkey from signature failed" + } + + if bytes.Equal(pubkey1, pubkey2) == false { + return "input pubkey and recovered pubkey do not match" + } + + return "No Error!" +} + +// RecoverPubkey recovers the public key from the signature +//recovery of pubkey means correct signature +func RecoverPubkey(msg []byte, sig []byte) []byte { + if len(sig) != 65 { + log.Panic() + } + + var recid = int(sig[64]) + + pubkey, ret := secp.RecoverPublicKey( + sig[0:64], + msg, + recid) + + if ret != 1 { + log.Printf("RecoverPubkey: code %d", ret) + return nil + } + //var pubkey2 []byte = pubkey1.Bytes() //compressed + + if pubkey == nil { + log.Panic("ERROR: impossible, pubkey nil and ret ==1") + } + if len(pubkey) != 33 { + log.Panic("pubkey length wrong") + } + + return pubkey + //nonce1.SetBytes(nonce_seed) + +} + +// ECDH raise a pubkey to the power of a seckey +func ECDH(pub []byte, sec []byte) []byte { + if len(sec) != 32 { + log.Panic() + } + + if len(pub) != 33 { + log.Panic() + } + + if VerifySeckey(sec) != 1 { + log.Printf("Invalid Seckey") + } + + if ret := VerifyPubkey(pub); ret != 1 { + log.Printf("Invalid Pubkey, %d", ret) + return nil + } + + pubkeyOut := secp.Multiply(pub, sec) + if pubkeyOut == nil { + return nil + } + if len(pubkeyOut) != 33 { + log.Panic("ERROR: impossible, invalid pubkey length") + } + return pubkeyOut +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/input-hashes.golden b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/input-hashes.golden new file mode 100755 index 0000000..445d849 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/input-hashes.golden @@ -0,0 +1,14 @@ +{ + "hashes": [ + "66687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925", + "72cd6e8422c407fb6d098690f1130b7ded7ec2f7f5e1d30bd9d521f015363793", + "ae1d9ccf7ce3717a9aa3316c6b7850d0a85bc0466bc1b572545f90ccf1b59130", + "a4cfaddadceb816c4dad0a10d933a1880f9b47b9f943ca93b91cc3a046567fda", + "1d93be8a70df9e7450a0ce98231c58d7353e025cd1e9db32a00c2fd0a1643d96", + "a0c10151fc212bc313332c58aba5e19de1d6787178613819ff8dc6db270c66fc", + "fc54b1c9039285084cec65510329331a82397afff54706a9ac611b95c933f783", + "621484cec82cca5d8fb163d80c361ddf7320913fb294a3855c3e4db60440919b", + "b780c445c161b65c3dc1046cfba900161fe8a5f644907995b077f1afd231b230", + "4eefdc2b82e79d98fd3f323b5c284a1c35f4a8a862d9e83c8b96cd647ca3794d" + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/many-addresses.golden b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/many-addresses.golden new file mode 100755 index 0000000..e5e8edc --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/many-addresses.golden @@ -0,0 +1,5005 @@ +{ + "seed": "d2lyZSBqdW5rIG9yaWdpbmFsIHN3b3JkIGJyZWFkIGJvdHRvbSBhcm1vciBkb2cgc25vdyBhY2NpZGVudCBpbmZvcm0gcmlnaWQ=", + "keys": [ + { + "address": "2Niqzo12tZ9ioZq5vwPHMVR4g7UVpp9TCmP", + "secret": "e7550f33084a1b8ba935e2a943201adbea065ba9e87ae1e07c5a0b1d87ea8f3e", + "public": "024386ad78055064e65086ab69ae5c1629aca2fc7e4857261d141c181236700ae0" + }, + { + "address": "2UDzBKnxZf4d9pdrBJAqbtoeH641RFLYKxd", + "secret": "cd6c5e2d56c302496009c0cd8006e9264a69606524fc7f58b45351d2cd883209", + "public": "02b7e753683d5b53b5ce1c800dbfee62594d7d3f1d5f8a2af8f9b9b6d01fac02e3" + }, + { + "address": "8LbGZ9Z9r7ELNKyrQmAbhLhLvrmLJjfotm", + "secret": "4976bba22c7f481334844d8f6c8d513c573d881f64a55981506b11dab581c39f", + "public": "038c977ea6bdef6f74ab9864cdbfa3065b5aeecfb1b9fc71f2459e3609a242082b" + }, + { + "address": "7KU683yzoPE9rVuuFRQMZVhGwBBtwqTKT2", + "secret": "097669b9fa165f102c4c9aa098ae3ee4ff2554788b875cb5b0aa76d225eaccf5", + "public": "021c52a4b715fc1cdc6ab6d7c8bc8d9e0ace43ae5321a07a950d63eced0b82f8fc" + }, + { + "address": "gwgdez9f3BLvQyNE5tMFS75p69zs2i3mRq", + "secret": "52d5cba120ee89ac59506d19900833e0d4d696fa56549f3f2418958791d5f880", + "public": "022e678bb9add17994fb4603914c8fa229b5c0aac6b725e24e256f6533bb185ae7" + }, + { + "address": "aSEqXrooiycfyXDc2aLYLGSmjrozJh3jCn", + "secret": "3bd338e8674ca06431eeca83d062f17557402b88afa9daa015783e47788168b1", + "public": "038f4cbfb7b0548f53a8fe25cce2c938acbf2d17ccbea347a10872317cb5168178" + }, + { + "address": "2Z6WpR2RoBBF722hZ75ShDp1LVmojSRfAiF", + "secret": "d7f3f12937a4429299e67d5f916a503fdc2ba3064d89b6b39930f5265a8d792a", + "public": "0363044bd9d59c9461dddd3a0aeb5e973d696ff5f1153c1e930263244aa8066a87" + }, + { + "address": "25sH1HLTQbr1CR4uxkMFtJY2WLLwFVPqzKQ", + "secret": "2c47f82501fdb00b7d47a545ab5d1e0a148c1ed6d47e8f5630091561465ed40e", + "public": "03992d87f8e40ed2e55304a05e3bf7e12c9e8713498a90acfa51c046c9746d8f0f" + }, + { + "address": "MGiD4Bg65F7bQhaKmhCLsaVKKeEFLuGgA3", + "secret": "fc7f9fb98804537752ec2d2e58618ac316e556af202294a109ddad5747b18d31", + "public": "02f4bb55716f1c7d7bd69e1f0fa7ffc50094fa348be3633a916c8da21298c2db55" + }, + { + "address": "2bYFuBzZ7QiEbpJophC2pFhQLbEFt3YSSJH", + "secret": "c8c40438a94ccfff9b2fe7150ff7a4193341a55893aad88c06f05b904bc2aab3", + "public": "0377b14de3039f77bcf3f5f4ba852a9b36eab3d7618c59c33336aa17870162d446" + }, + { + "address": "yExu4fryscnahAEMKa7XV4Wc1mY188KvGw", + "secret": "ccf9b32c1f573a7e1cbdaefb791e515847e857fa6e44a42a4bcb396c5e5e7544", + "public": "0399e8ac882b086491e424a04cd8289e340a5cf132c74950659bd21262db5674a7" + }, + { + "address": "23GxEvPcy5vFPuzuP8o3PBag3HgQdoaWyXb", + "secret": "815d3fb815e4cc29c5e17acd597c570a8f1f9108ae955c01fd756ba5564bba4f", + "public": "0370dc9f523c4bef8697e87a59cc6c54f4e89d513a8bf08b1cabab7a357a508957" + }, + { + "address": "2C3JbrfoE4dSjZ5dE4hxrYCmmmrcFEGyiUL", + "secret": "5e01bf90d5331617a5c83afec44ce5b13dadbfc94efa58f2445ac2e9885c867e", + "public": "03761fa32c428788d875e670ad62f128da4ee70ccafc9577b6f1e3ba69a5195137" + }, + { + "address": "KE9oA24AuPzDzWBEjhGJu7PHZsQjGXYcww", + "secret": "70a250282d1b56abffee25badeb702c2ca82650c67ffa8be526cd600007406da", + "public": "034e06e04e3c6a32ddbc25c7572343d50a3c4eedd596550ccea33aeb24410d2422" + }, + { + "address": "2KnZdRBrVkK7EyzPxFdYrAoZ17MwjxxaCR", + "secret": "4627499983552fea4be50a879b5923f039959baa3af2e0699381a95507f0e6ab", + "public": "02dba9c7be5ea5668554d295027eaec51b69a582f4561d13afa8ee9004b2941b2a" + }, + { + "address": "2NGNQTdVNxZQPpBvj64ecidwXF3ZhhkX922", + "secret": "76446750f1f12301fed6037803d0560c008a98a2fa34ab5a1ddaa8ff9dcd3a52", + "public": "026341de878a483526cbf90a591fe8b6fa77fa775d3dfabca8ac5be72aa83690ef" + }, + { + "address": "3sNLvvtb5wFLMhoFxhSb9FiySLGoAzNbGd", + "secret": "9f9b67cde19a83f752c9639a86ec935526e1ab8a38dd23a702686e0e9d4e45b0", + "public": "0398a29c3eb0462bb65757990a762f7e5062db04fa228168c8a308348f1ff5903d" + }, + { + "address": "2kaTspbcfCyWNatPbRNZ55Xg8zyp77rNgv7", + "secret": "2ef76df65020b8c65ba9c6d71dd027cac4892e7e8ff1c8b12f87a48be1e117d0", + "public": "02d16798077bb6dc624d3dbbe99c698c7b91b17157beaba72216b6d85b436a3529" + }, + { + "address": "2mcYBt3gpiYFjkTZQHP142R3NF4JZimhSzk", + "secret": "7c2e5e465f172630375aad2b57a45b654c10a9a805f0f25b1a34ceec1b420a74", + "public": "024ab0a1303bbe5e09222c39276da19ff1f761cd1a164dabbb48e6f388a7a82f8d" + }, + { + "address": "d4vFNveNynBj56XWK4M5cHw5JGLdc9arDb", + "secret": "0e956d92efe55a0b6c0b4db9a2f25d370961da54295ebf45fa8cd0bf4d4c3a3e", + "public": "0396a73e38515653a2b58030489cdb85b8dd000293597eab9616dcbfe0d02892a2" + }, + { + "address": "trJzid787SDzbZke8HGGabsRJxf5UYQ24t", + "secret": "aa3eab38c574d811d2238f88a8db27c3973c5f3454e50224340abbb70510da2f", + "public": "037570e5c30c2cd11af39ef7cfd8d3d1d09bc9a6618fa649b484f76560f27d9fdb" + }, + { + "address": "843rtbppb1fS7GLipW2VdAJ6U3ASNYEYXS", + "secret": "f700853e5a35c9993f7951b5b7c9bcba595f8a0ac6394e233fdb40c2955bafd9", + "public": "027b6f77c26d08e3ad3bed214f8bd450635c3f53879c60ad51560eb877753dccda" + }, + { + "address": "Jn8SM7bRtzC49hb5ndj8RSjbqUUUPqMj3A", + "secret": "dd09b66bc338c831be7d3e781345957e0b04c691cb9e3fec7104202aabc3b949", + "public": "036abfb1f082662fbe2d39ad34c9cfa4f58f57160d77a7ef997c6738ce7cc496fd" + }, + { + "address": "2BwTfjCK38ucP4UAdAX1HbzR7etZcBY6FXr", + "secret": "68928b66031781cc596dd42bf1234c6ae315df97791a2f96bd5c74d2251497bb", + "public": "0328b1281495e1547dc27a29fb29f4a1b66b66fb8358e126beafd76dadbc8272c5" + }, + { + "address": "2XRhzqNgRJgT6rNp1FVp2SyZfrDedjSKUWx", + "secret": "8800062e991bed81298c23b773050edc552390bc5d0eefa6abec0237524a1866", + "public": "020c41cb5d5294a18378f8141b7868d39c9f9c7b0ed2d5f862222a103cd9d491e9" + }, + { + "address": "o8xuJ8PVfeBCSsZkR5hoB12ooBwXJzVztB", + "secret": "7a54ee9f88101d3623b81556b36922b18b6fe2bff154170322544602daa2685a", + "public": "02d8f4e328d0c04218f563ad17edf39af82dcc8b5f8d5639a6ece03239c7695d4e" + }, + { + "address": "S49fz7SUwStZvhTM7DuJfN2DKPgkb9bo5r", + "secret": "9cd5662056a5ebfd882c63852c8bcff133d7fdec0c7c51d3cecc4b41dbb9c5aa", + "public": "02bc622382316e90b2dc4c63a6638719f710dad0024818d96a42c67bbf49f49632" + }, + { + "address": "FZRetm6mneEEkXzZTGhMfWvK4yaSo1rjf4", + "secret": "673a827dc5452987a4e944dd5edfc286f815c3fcaa7a9f219d46cfcbb56b5dd4", + "public": "03abc7caef609535b9bbec78b24c2f0944e2d3cd472021e2e714f5136b757b85c4" + }, + { + "address": "pC4nG37Nz9VWTfEXJjgSP7wKDRzNkF4bn2", + "secret": "a76c7a8c63a7c65eedf815ec927b0ec4236944d57bd975cbe3b0ba7c15a238a7", + "public": "03e9bf477af127058244bd5ada03d17f966ae1ac35fee464347aeca568643dae4c" + }, + { + "address": "uVfk3t6iE5f37MVCDKrquUewt2KJWZJNTP", + "secret": "f1fada84b0e61f65814ac2647a8e8f776fed9d07659cf5540817e712ee4d603e", + "public": "03ac4c5040d5e6c0fb9536968e4c59b826a5bcded4af44a1c70cb06c2998e772b6" + }, + { + "address": "25sESDqRTSKZbq1Z7UUykw1UxnxejaeHKNV", + "secret": "e66fce8a4934642b40de3206937bab985279d043a5dd063e04c2718d93612d00", + "public": "024b1e68e39344b6e3857434c4929f3c0409897725ddf6b82e363446964a5a7f8f" + }, + { + "address": "agYZZqeEPpHYS2Ks9tmtbBEg6xTCYZVatb", + "secret": "8b111a441d22f5bc465913e318ff99a5dfe7df5cb011c59d8197809209e47ad6", + "public": "03e36c45480e687f6f2ac25608d0b8e75ea8ada441965c927a4b15a78e3f94c82a" + }, + { + "address": "2TpoqeGL2tHKnfBzaBpD6oo3E37rA5X74bA", + "secret": "09bc51ed1979b9c3011519f2a6c900762cea345aa1af5c73a2ab94054c0e177c", + "public": "021b11212bd1127d4606e48c36938a92696d115dfb37880e3e81b8d5b59171fde3" + }, + { + "address": "22y8iKcVhL9337QPXWAM5m68f9eKHcjhU44", + "secret": "af7212e928b268c0c8078fe972dd394cace9551d36b6c0c60fd264542b6b5256", + "public": "02c1147a11a54d5545f696f6c5047d1571e6b432de8a57e3dff461f159f59a88ea" + }, + { + "address": "f1YscDhp9YWMEnYbPtdJE4F7yaV7GsNTPS", + "secret": "d8e41cba017811d71814bd36bcd31eb63fd6ee9745a3b2436eebdd2700f58bc1", + "public": "03346a3a79d5d6eea45ba3abca39284ff97d0ccd4371487d72f3b4767d70a5df79" + }, + { + "address": "nHPDziRL3wwDpe9rGsTUEocAQbyRHAJigC", + "secret": "c1bfbcd71db2d80d2cfd1d703a2c77d218cfcf887bdc31e54c8de628b9056fbc", + "public": "038e900f336f7c079594b2932ab6a477c88c0fc15499eca290c1901408ac0f5b6b" + }, + { + "address": "bx6Z6THQsmto8ANcgNb9WGhpedQWhvKiPD", + "secret": "909c29237a00742601bd955e68bd816f7e7bc6dd59ce3073c29bd33d541a2bae", + "public": "037b9af02809edd2690be5816a2884c2c13b81dac4664ae9b77955c1311b270116" + }, + { + "address": "2NAfLeTNC19wof25NSBNpKGTtKt1iEZtxDT", + "secret": "2e9162ff3277034514612537d06bff053b0739de417887d3aff7f4cad7234422", + "public": "02210135701345e15b2aaf4deda129cd751c47e3a37911d38c9cc69c2865b69c5f" + }, + { + "address": "9L2uQrmvmgeQDYSgiPAmczWAgJTWekBG6X", + "secret": "74e851270b94649cc8b53aa56ae2e188de32d43346a17e7e82e492dab1104a3a", + "public": "02adcb621c62eb75c79ea6436017e5d34631cd376aa8e965d760cfd8bf7f9a225a" + }, + { + "address": "8pDsA7hNgcGmugiq9SqbpBAr8LNvqXhYCd", + "secret": "df3557714a662940a82c11d84663c55c8de236095c28a31b9ec1b149b0a7bdfc", + "public": "03f1ea020b8a21dcf7c6fc3540f96ff6444f121f397ae04cadf65cb057848b80c6" + }, + { + "address": "HDVGBNTJmnVeU1wY4iEiDmT4KoNoJ97DVk", + "secret": "5041f6146dd91ca0213e2df48cf8c9bd0f99c64fc8a0b64726b44fbbc5f547d1", + "public": "031a66ada2536a17a5490072f0aee3d980b13de58700d933b691d2b95491701eaf" + }, + { + "address": "28GUdCt1ACa7Rn8pN9ekxugDh1hWgiY8W5m", + "secret": "a60c4ba7fdf08fd40149620ae0e8fc4286d6283269239f302407cd1281d57580", + "public": "023fecb3e413741c3f97ef44ae34a3c9b1d32bc77ec1cb5d2e0a62c61dbb336248" + }, + { + "address": "zW4yhXcYE1ehseDfsCyRJCfsT9aFJ1P7j9", + "secret": "121b9d7572889ef55b0208dca8a483887c0b2058db5a891196f561210f0fddb4", + "public": "037cfcbe2648f52ff55a77fbd120797beeeb12b3dafa78ad161bcbf539dedbe336" + }, + { + "address": "8oEmZLjUnFx8DCt6Jpbyz7iNDEfgg5FwXG", + "secret": "4c3c253abc435b410fd2705af8f0f790c3eab26415e25b7209472a40d0b0d1f3", + "public": "028d7c6613d9a95c0eab9698afbc2f2429c2fc67e62380b6536421e1b4cb4cf059" + }, + { + "address": "2FxepT5DXPGNW647tuCakM4HxzLPKXA5mnP", + "secret": "a938eed62cfb072cc74404a3133c91cd2cc056ceb466c00f466e000bd466983d", + "public": "03e72d38296b249fe8104308120c09a46155d8a31abb0e1869a56c66bd3e87f7f5" + }, + { + "address": "2Rt2P1Vh4o4GK5EwfqF8ndxscxRZErTuyV9", + "secret": "ee422bd4c063752400d45bae49135f9af10fe29d20fd5eca3116377406523de1", + "public": "0314e0b4a496c865dd68c18cf89f19d8f09cfc0fd4f6e94578af99c6325e699802" + }, + { + "address": "Y1g9wuCKZjCArscCAdw2YjyWoiwv5Dgv7U", + "secret": "550c62a0491ad444acf71d6eae431b4b0503df53f9e495d2340f36d4da47e9c4", + "public": "032f92422e238e703eded027945a9836efad0f1007bee51e4c32b457cade288e80" + }, + { + "address": "2Fafftp7czxeoiio5bNHUN3WbfvrJPghVZn", + "secret": "f4a0576bbff57e5d01ca0fc14b26407325ee7f5bc5b7f5f146dee7a6cfb0a31e", + "public": "038f0dadbe3227fae1a18427cacf83a004c63c51dc8860b7028e95cf148d000d57" + }, + { + "address": "2W5K63cGj1DsvB7RkjmpM43PgajoJKemynv", + "secret": "f0f2c983402bf6273aa88b42de4f03876f7beda8f8ad4d94ff35cf1c784667b4", + "public": "02d1c067f11e13275865477cdbd4596be460eace6d76a28e2a4190869c2a2ce598" + }, + { + "address": "2JmV5HRoUcQY4qfBCfUFgg1GKSbAW24iFDP", + "secret": "95d2a4a278f65f262f265a485d0341b5cbadfa913a06fe4ec168a94eb469c78a", + "public": "03b3856f613e7cf421e89c7ed8d9f218835bfff56fc85813a774545d811c4a1d05" + }, + { + "address": "JWyJu3N51syANQWy8CR5H8UyoM1W4zHbja", + "secret": "40709c6b0060a61fcbbff96623330fb65bc38d193ccaaf612ad06157c5135772", + "public": "03bdf149804ccfa96942a0985132dcadba7275b30f7cecff92f36dfff4195c4336" + }, + { + "address": "atsx4Dc6dnqoJQHKPDjR6hgjjEtF7cNhSw", + "secret": "c4e95cc86105d81321c5d7c5d93f7ca9956511e621ebe0a92a18e36c333922e9", + "public": "0314ab127f4fc734f7421a4e470f8bd763f6c63c6bd7e27644a0964f50fb736a5a" + }, + { + "address": "G6TVGZhGKttfCybksiQ77EYuQ6QUuXVsFs", + "secret": "5a1e028796d742347c7f17c2cabbcafc47c5d8fef5c34e31bcfa012cca8bb724", + "public": "028f2dc1e3dbb4cd78cdfec0a0a9d8e88d4f7d3a231530136030714b5c82040c2a" + }, + { + "address": "tnmiayXaehMjUutwQiMnjfwumiJii3Negi", + "secret": "ad96aca0144c11368637c0a0c204cb54812d2e6e401c35b414ac3b8e020a3d56", + "public": "03aa85be4ad8bde40cdd03f1733cab365ffe8645ac8860c13f8ee98eee7f587a47" + }, + { + "address": "qKBvbpxDrCC13fJih6z786gYkCMfPr4yt9", + "secret": "e62bcf14a9c22421cf790b112a49a41d292abf8f957c595d1604fe242218617f", + "public": "033fb1376285345ea5d55f282239c9ebe6a34b0bdcc2a24fd7e50f2dcd7a9f0323" + }, + { + "address": "2Q3fiiv1VnZq52EXRegs7Zm2uNuN1VqYEr6", + "secret": "402d0cd54cf447d0d1a6edce5b363f6d052ac923ac07880261ab1966323970f3", + "public": "036491f6619e034c7031284cd222785b9ee0873f20019e49eb80e599423050a4f2" + }, + { + "address": "2XTfvKh4sjavjxWzUpun2aEioprqmjy8DRg", + "secret": "4dccf074e0c8e4d01fb29a41da3b05acea13693c0d83ccef456f78493787de7a", + "public": "023c992a18276d82533dc77c0d12f65668083a75f9b4b8963fc1284f34b1bfd6dd" + }, + { + "address": "rDdVaVDJhB1idZHPXbQ3PmDFV1ieXp51hq", + "secret": "2fa5575b7df071950d930de9c9e00adfc8d7e41ae4e7731296b938874c4d324f", + "public": "0252de761de10cf981f0cec0171f713090944a85970cc911e35433427991e5381c" + }, + { + "address": "5MyhUZ9JkQ8nNh11JManWvm8btNEmBDHm9", + "secret": "12be2aab0d9b3556254e6ac9ec5480f9eeee5a9e9cd48d4ee5b26863cde25694", + "public": "03d0325101940bac1762da47ed2a30916fb381a461474ed6611afaed556d32836b" + }, + { + "address": "2faGziNRteqfmS2iT2JHrqg3DGJCr7bwPuf", + "secret": "d90f354a51fccdb09f854300ad60d85999062cb716b1f3e8ad706b20e99f6571", + "public": "03637c8155e9858f168a15283d0804840e01b02654ab30dc7505fdf88d7aa88ae4" + }, + { + "address": "s6nvRxY2XmgzUNxHPhpvZWL7KxgXHjpeEx", + "secret": "caa73fdc76cecdf09c278d82eda4ce9ff40c297580dcdc191a4bd43ac0804d53", + "public": "03af813f6b8137f46ba8b77cc9f1cba50f93689ba7ce5498a7edc59a0e3314c6c4" + }, + { + "address": "i4NJfp663DS2BKoZqRrwZWyqJmhV49rWVM", + "secret": "5becbb9a2f3dd5ddfe991b5d8d4c7c2d578ae4d612e92fc64fe902a4233a1ee1", + "public": "0237fa3963e2fc18f0f29e323ce3c01a7ec26550a4e17fa5dfbdd748d4a0a9e116" + }, + { + "address": "fcvhLM6vswQ1Gv6TjSjiadS6zoE7zDshJa", + "secret": "3dcf4be5fbd7fcec93f17a2a07854e902396f8ee7f0ee136633520c00bf8f26a", + "public": "022c509d2fa07aa98b90d4056497822853c53115f519eef7560aa0b08504c59a73" + }, + { + "address": "nfSyJEW2ABm9W8vEQiRsrWEiFu7t68YkYc", + "secret": "26e4d66a9d8a84b8bb249179d360817f042b065ed4f6dbd88ced895efdd660d8", + "public": "025898ccdd8f913077758d97d7dff8704eecbfcdc9d6ed6aac6e46884aeeff1b80" + }, + { + "address": "bQB98uNcaCJXWWeGr6x6xrGq5NMzbSfw7B", + "secret": "e01f466060b0a3ed01a453362d3ffd0f0612ae7dd8f9b5c1d23f3e5df7cc40c2", + "public": "0361f9eb0b245e30d44fe15780b06d67f04d1c175f2ee155e6028a14f6dba72864" + }, + { + "address": "242BmWuosWU4Sj5e3kvDQ6ibvzNqZUzZ4de", + "secret": "4730bf793535f544e4c3abe6d54921801305850f769cbcb64bd65f76da1928fd", + "public": "02f311980d0636ff8fe655b6a695d6214fd09d02d03ba426d1da42dce5585802e2" + }, + { + "address": "26BWqf1QCBxGUdnbuonjWRi27LVVLmab2Z3", + "secret": "ea4b5510b9a4fbac1057012004999622d16b0e8b89cadce161ff1196cdb5cd17", + "public": "02080ce1982679c7cc351d36a4f4d4725bec9167c781df0f93de7a63d02117eaa2" + }, + { + "address": "MLXZvSFYD2Q3ST9hWHJK4wgMmoSCBW4cvi", + "secret": "fb0b97b8fcd171b41fd436b8b513794adfda84fdfd2c6f472a40380a49508462", + "public": "0314787b7d974e093a356713a5be01b14586351a91464f8762ed179290e1324f9d" + }, + { + "address": "wdVZgcdoPVpdEhAM5SBQ4gm3aZQU5rbCjm", + "secret": "4f6c7aa166ebedcf651b11804a969cb0ab939b1bea36bc0c7ca50f0bcb208798", + "public": "03876a421f40c2fc8c6aabc3e4449f882915c2ab5a1d15b5c3329c46e61e417508" + }, + { + "address": "22z6getjDD2GNjXZqe8tHjt5ypjutAEFoLo", + "secret": "0f3d5966a4dc8b6dc64a338e16de058728c1cf2c3f839b3cb05931bd1745eec6", + "public": "029512639e507dcccabde5d47fc5e8a4a95e222c86f5b62bf210329aec935a63b0" + }, + { + "address": "2GEFesXK5Uv14hn5Bmqwd61c1CCQGMvbZLh", + "secret": "4cf001cad4d96d2f2a43089246a1c756e1c23729d1d024f5d332de17e7800c53", + "public": "03045c57e07f9a97d650fe10bf7f3fee1ec1fcaa706e4d7438b5dab09198b840a0" + }, + { + "address": "24zxvoEFNb6ww8zDnchMsqdBoJuBL2t6LQD", + "secret": "fdae58716ebdc041a3a15c70b829af15f13560a371f57086a9f44f3a0faa772f", + "public": "025b943230dcdca2a78d9e2ef9b655c310fcc1bbe6493f05f5cb685b8fa4c570b8" + }, + { + "address": "2F9PfKBjsUMEViRoM1jKAG55T1fSu6hg1aU", + "secret": "219b0e3e367bb102d9e221b3f9505fb808bc086c9bd39d85f3043d59a0b858e4", + "public": "037cd54ab5c37e03c911ee05f7a06dac32bb55b5a18c8c51a2098905ee4f4d2731" + }, + { + "address": "k6s7miNx1cnYVEgUPQD2iqufKzQpRDmzQ", + "secret": "ccc0b397cada9ce4237a0a99697ade6adb57902cb30b7205c1572c377b34b778", + "public": "037bb2652a57a019ba2409b589522ef8a469a140537b33550e161676c0ba609fb4" + }, + { + "address": "S8kVNfBsuRPY8UcwVC44L4JmHF9c2vdoz", + "secret": "02a608c34f19e5f5d48eb3779bc61997c6228d6a83d32ffa21cc5e00c0c66a63", + "public": "0264d8c516969cbe5bf6882187105c72e33c44534203c935cba5bceda4875bd48b" + }, + { + "address": "2ELFHvS8iJs7g9hAYmSQ4d3fPkHPZ7GSYb2", + "secret": "c4d7f23d8df026b38083120e820bc90150557567591f16891de724d1cbef936c", + "public": "02773b43ebe9825f49ffbf9869a63870427c0a2d952e259fb6f14d177100fc918a" + }, + { + "address": "hVeQGNagmE3VdB8FAipt4Ya792T7JhXruJ", + "secret": "4197e0ecf350e45e082214b47e17284ecfaf1fea454032595b143a0d89d79aeb", + "public": "037e25ac47ca505d157eb26196263b1747e71548381130bacdf8688c0f31e29d58" + }, + { + "address": "2gzCB5wvkKAAjind13d6r4oSm2wasV4aTjA", + "secret": "9e7cdb5242980b321a79f4247362d34c0df1552dcacab20f8dc831c06d4687a1", + "public": "020b81829cd7049a05c9403d9243247b62099a7373b5687300c4f05a3d6996522b" + }, + { + "address": "6DhQZL3HQG1Ai4pH9c72G2Svy2ELaozDpH", + "secret": "ea67b633edf994dae447cfbf50852ba075be004e23f4d99962317c62d25be769", + "public": "03e11ab39dadfac039500dd103f7f466b266a08e69ab2b3b0990b620720bafebfe" + }, + { + "address": "2Tw4op3FCi2aXuSySqPEkxUxAVHCi8Wyxwp", + "secret": "9a921268064f24b0e07d8740b72cfc658ca198dfe2af0b373ddf643dba4de755", + "public": "02aba206211ca5a9eff06f96823d3214dd21b2b7456de48f7fe51ffe4f7b7074bd" + }, + { + "address": "2apYHtvxjoen5tFVrb88XkjPRHp61bnMmYF", + "secret": "7828fe7605bbbf70fc0003d04ec85a860376e8d1d8ea13fda2079be6b11b5c2d", + "public": "02e717897f6b0f94f69a393f895c9df2da0e45d895cddbbe95256f6ae0c433c7fe" + }, + { + "address": "1NdzQhMertw6PGza5eSxqfWMhMjGhbYszx", + "secret": "6f539af4e8b9001e591421e2830a3a2508dcb1637f46203e5a80fe84a9952a9b", + "public": "0263b7563c486dcc9ab1f0d46a5c10ceae652339c353031296c9f1d7deb3fd2683" + }, + { + "address": "xQgKsD9dAHf3NAazojsQ8WYzbaAyrJZeVy", + "secret": "ac07ce6a66f23f5ecfd0e0d983297e18a945730cf653405029c2e94cc7975ad6", + "public": "037104e7bbc30d57f60ce85bd56b19ad72507079dbb9befeb524bec6c6f6b35f8f" + }, + { + "address": "2SShMG5rU7mJ7v6wsjtFYgxrNB56P3cpdrS", + "secret": "4a59d42ba0cf18052321f70d008820256b790ca132461ec0bbbdbe1e03bcab40", + "public": "0321b0224eae60e8518343b6cc8ac9943561edb276bfc468aac589eed9e1044415" + }, + { + "address": "M6JKu4bqGgnJ9ZFuodqfxdzN7Y4q6yoDYZ", + "secret": "dd8a0861ba597070c6d3b43be005e764dd2960bd12ba86baaec4c914132eff60", + "public": "03b046f7c69dee941ebdd54498386338bc2378ae983c9d6b949e3019205dcc7be6" + }, + { + "address": "21vVXWwfSgmhVjMZKzRqQphhHWJhQN9PDmy", + "secret": "29d4bc0900ad68a07c4d4678f9b75155fd06aae8d8c96637a75cce4f2cb332ed", + "public": "029b294458e653d166fddc0f96898b19b74b7ef9f5372c722ac159dcdd7a633557" + }, + { + "address": "HPju6EpzFnWijK4YF2PKhGw36zpC5MTPqc", + "secret": "c1a77068a552a8183a634ee9aa117b21cb9c9d3d71bf885f747cf45a109f3bb9", + "public": "03b13f40cb83bc0fe2386b36ce0fa0c4426ebe68cca13d969951e019539aaa67dc" + }, + { + "address": "B4X6nsN8LUFZnyzPU3xuVJvJseVy5QFywn", + "secret": "5eb166ba3ca4da3353078eca2ca23fda60698388b37f860456a84a1317c669d5", + "public": "020d49986dc4f72bbf500b1d334570fbe96938b51b659f2628f51f65a8211e3afc" + }, + { + "address": "rA8hZGYDhU6mpYdXvwJwdMkCijiGHxGG22", + "secret": "d8e8829f9729315b9ba98dc56e4aad0e85464b9f6bbb4728f705c1c40414177c", + "public": "022764a5135d53da5c995b93ec79259ad4895d0252f61020f9244914957ec4e67b" + }, + { + "address": "fHnsaH3e5F4iMSAaRBFdDvNuEXWMiG4h6z", + "secret": "01897cda7e654eaa1204a88bdd0cc1a3c97ead4a56d5fdf0392bea2e5e188146", + "public": "03f1ff4bbe86bcd2b9a352f886df871b09b2cdd0820db6ec12473a620e3ab40cab" + }, + { + "address": "NpcgbvncaoAW2TZDbLvA3SgRBKGKjFBnss", + "secret": "afc18ea7580c9563bac4fad5408e27bed5fa5c3b48f72b71de3771e4f4daa9e5", + "public": "02401f34ac31518444750a1aec8aebbb98396a788bcee54235c62cc8c7f1855d38" + }, + { + "address": "7mZibtJzH5BV7nTsk2L2E8ybPJQzXgsjjY", + "secret": "4f8468222e72f899d3eca4bb752e46338430df815ff32dbea405077a970a42a3", + "public": "033c5e16a1857eb18cbdaa0760defc375c11c7a990f22947b32f603127fe8fec81" + }, + { + "address": "rTrV5jQZ1116ubbxqTD3r9VVgd9bRausbm", + "secret": "f26dfd8767fe4f2d99a006b20dcc1b760a1784e11469f601e33da7413006721d", + "public": "02d53189e1719326ca40f472c452f18bcf499f2eec21e11f39c366ba3cd1693f4d" + }, + { + "address": "2HCBvVq4Z7rsJ7o3NdRGoG2DT1KZ5EinoD7", + "secret": "02a404e6b1ef80a48f9339deab225c0ded0b6a80d26b28746e1292ab01413a14", + "public": "025318a298154019bda73f131fde9878ec04832efb78369cf1fc90d2c3a6da74f0" + }, + { + "address": "2RUhPZhqiAoSiEYBrymsdAJ6t5VkEVV8sTc", + "secret": "4557c781294d893b66792f88bd6c7557ed85bc471d735b0cdaaa9e070dab173f", + "public": "02e2dd3b4e6ba39a59977a0ea678293255b3bc7d29351f0ec053c203a778dcefe2" + }, + { + "address": "Avk4QuxAyeFr7VtchVebEY6Raz4uRs4UZM", + "secret": "c73eb18af7efe89e31f452d912719611f8cab5872fa2d66c61ff376cf57fc9fc", + "public": "03907b52c063332d80a3aa3b9824c2a1873e966caee5a05c495487cd4bd30d2662" + }, + { + "address": "MGgcz3urE7CCqBm7BrUyiv5YgSkzM1zmAk", + "secret": "7ba7d4ae04765fe5f69d8e1072b22dc2bd5d8e89fc7ea9177e51e7407cb80324", + "public": "023ef86e43a831ed5ea3faa6c0b6c92ef447ead071c32085ba186b615af3e7849f" + }, + { + "address": "2MYqwgpjcM4KooQG5kPE7nqicqqma8TPoQH", + "secret": "5a26e22f142054c7e91ac5de6e257d341a66dea9b377f5a1524e8733909061be", + "public": "033956c4733f9983bb70877076e9a16da0a3192bb6412fe7285048f1efba2a835d" + }, + { + "address": "ae8Ah32GU21Jk2K8ryWB3xdcyBmLZT7Gob", + "secret": "1831d4b0c420224c83020eb30671836d8722e752619e8bbfff631ef4f4d229fb", + "public": "03b88178014789d21bc222e02cd802496baac40ad729b0183fb2da47d6b0bdf879" + }, + { + "address": "Hft6JuhuFhKpQmCteJp4y63GHadLWbtP5m", + "secret": "815d2fdde17cdf80623cb0e4798553f929b247b79faea9cde29cb213be378b56", + "public": "02fb184a0fa61e856f1c3e6324ed6089fe81e211bfc1ab746c89d4962b4ffe525a" + }, + { + "address": "dNwZxggozhUJ9Kvfm3ArnH2KDVFi6gkG9z", + "secret": "9547add3c5808753234603f06a90dbee06728be93345d74c6e1a5639341053f0", + "public": "03ba596f4f81a2b4033a557175e9fff808ea41804ebdfb2583bbb7807c1a7242d8" + }, + { + "address": "2LBqp8gpoo7V5Am7ExiaycspCkzwDybmCus", + "secret": "2fefb1881c3102faaa2105597a139f601105fb705f2a7c7a23e12049507b9236", + "public": "035421fe09128dbccb1bb951847800525cfd979006482a0576f3db7983f005b9b9" + }, + { + "address": "CNoWEhb8kKXFWESa5vyqkpnEm37owGLncC", + "secret": "3afab960a2d0fc16cc418946397251ada6243348bfb8cda133157e1932e519e9", + "public": "03e8f8a2ba639a925de7f93538838b6530b68ef53a7ebdafdc399b1e2e6066088e" + }, + { + "address": "2jSnuGTDS7fbkfgwjkNErXGyz4Xx8hNT5CX", + "secret": "7c124e22cba0f682a2a2a94144adf670f8e5c09228decab2a1cf531ffa59f82c", + "public": "03f88d2c546d56f7034fdd597f6e2c6cb1c00d54d69b605e3d0bb02b743bd9159b" + }, + { + "address": "BK1sByWwm6ZyCFvt1MYCnuhutEEoVKm1sL", + "secret": "51607221de3b4eede57796c66a418200535af5af75b73b8d48d47effa0d08e9c", + "public": "03efb377e6ee222a37a0d7f73be09a25947c5afc5b0aba90138344b44dce8e11c0" + }, + { + "address": "zmQok3As5KxobevD9YvReWkQDGC6AVNExn", + "secret": "f121104cd3d4fa345efd445fb8a39f52dec4a01d9948805dbe2fb2d8dd1153a0", + "public": "03997df1f0d27b539122782b6612529fdbef763de2ec3142844953b7f1fd91a254" + }, + { + "address": "JGRc5N3eEWYhasHmjWpiQ8RqFEQHFsgVev", + "secret": "efe5cb99efa43af9966268472eb5f2836af65d1878e12b3483dee1cd7f5ee967", + "public": "02d3cddc6ceb7eb6bc94244760b1b80e0fd8d32653c762a046f07379473e7a069b" + }, + { + "address": "5yDKACKJgXGeMLTJoT9Ak8GMKQrMuZtAXX", + "secret": "311d2ac25e2e93b75e4b221744a0544cd2c61cbed0f2ae9f2d1b96fb685de826", + "public": "03a460ee0fa4ae57cece255da2d237b155ef36add87596945c45ee399d9d092a61" + }, + { + "address": "Qt4eK48vohSAe9KL1VguDCdTsRbwqm4Nxi", + "secret": "65e4f0874bed373e927927bcf2c4a0b3695d623dcd9b82699a23e090f4d695ff", + "public": "03cdb9a9ca9e32fa1c21f45f97951d2e86d5801800f0e199a171a5932c46ee59d0" + }, + { + "address": "oDydBKTwxrA5SG8BRXkjgC8p8bCLCKX7CB", + "secret": "532b52c6afc906733f9a8d54f571bb46f8236aedbf99950f9441fd66195869e7", + "public": "033a17e3b255c31d2c462612cf55c7822b462072823c7aebd64d758013eb321ef8" + }, + { + "address": "2mtd6hKNAebgEXs3MKLUZj2Hbw98B6RWVJu", + "secret": "1d5df1bf4861aca59db4601886abf9c14215bb47dd498328d0854f5958e2cd52", + "public": "0217ffc7084bdd74bc7c512251ae2b6875d6dad5e519d6d91a39e9cec457b77b58" + }, + { + "address": "SnSBaGjufieLSyi193EDTNP2nqS3CRuEDr", + "secret": "f22dd87c70e283100b42adafc2d766153ed090247dcd909894e9340b35926464", + "public": "031d9e9e4e86b10f0a32a6af86dfd4c0ab8c1e18e1a2410a3abfbcdc6fa54d74f9" + }, + { + "address": "aBbez48E247uZMtn4vQVCFkac8iuuJZXu3", + "secret": "cd5ccab9036554e4d7d5124393ca441e115d3b681543c1ae0e09e8cdce38ccc8", + "public": "022c1a6fcad7a9a2ae3a66dc2802482f028dcf9e156377de508592b6ddabc84a4a" + }, + { + "address": "RY9YMTk1PavUEQNbdqyVHdNNVPDDQvisys", + "secret": "7ce9cc17a56b261615d768361a89bd287ea24f845267e5cc5fdd8f8d492e5cf1", + "public": "030ff1f4d7abb8780198d610d84a21bddc57cbea7625b43eab90a612f5e360345f" + }, + { + "address": "YVjTfb8TGxDRfXCnqNmZj9WocQ8t48bXid", + "secret": "94594f06051e8d60e315dd05dc7efdd99b033bb01071a48f2c4f0c5d14bfdeb6", + "public": "036d46388cb90f08c49d8c58ceb89b9713f9f28d5e40fc6ebeca7d1ffb628a3b93" + }, + { + "address": "4y2U1dJwDgL17A919tqmjqEfzXqMN1sfJr", + "secret": "0d845f4f5b6fef53b40bfd07d7175881f96cf26861a298c96d1310969174e9d0", + "public": "0349290922a67e016f3fa308f0a7dbb151b1f86f19be4cbcab6ba870b5075f1fb7" + }, + { + "address": "NcapPnAXXQbKGRrxGi83uJJLb5vk2VaRT5", + "secret": "183ceb7edab8ee4a5aa307f66f3cf7a55f1e271f8064e0ed74f2390a954c9005", + "public": "02977fcd738a85253b58b7a2ef2ff36d47a5b3a6aa1aa343bf6bf62954b878b9ed" + }, + { + "address": "D8PPZ13Ex6wr5Mn64RRBorPcQnfGYYrpHo", + "secret": "8f619639b6eb91aedd1213d9581e1651fe0b564ddf7a2623cfed817c8c181da6", + "public": "02d41cdbdb8785fd538e887f82752fbef97efc94669001849fae65fc1d68f84f52" + }, + { + "address": "2d4fGA1RtyybodYc3q7sMiKX1BrznHP53Px", + "secret": "c7eea265a0472d0de21010f87c0db5a88b7f6bbccbb7b2fc89f12bd9198d9f80", + "public": "03b0599b68daa9ec4c330d840517d041f638dcae1ca8cb93bad5c2e83db2a6010b" + }, + { + "address": "vaeR4TDLoUiYzJULM7FByv9owEKMkX5cG4", + "secret": "e27f88009bf53b0253ebfeec1c5cfa3831041a6a977a0a1fbaeebcfa3b515ff0", + "public": "0394fbf78b5909af228443f95e3bba853e1669a17e328314e27906637ee3e879c5" + }, + { + "address": "HHiby3rggQqcvcMWey7B2FFAwn4UPQSsky", + "secret": "0e513ab67bc9eae469626faee07dcdc95d886feee2dba72160cd824dbdcb002f", + "public": "025ac4561cbd4acecd25d95e09d1c0df88f3f181120be234cb182e4c6422090172" + }, + { + "address": "DRbn4e9kumeadJD6bx5Zwc9hJR33pCJ3Eu", + "secret": "e1a3e5b5f6378bbac69f4c851aba44d5508b6879ae173ed538a7f58eee98c005", + "public": "03b2ec20a6bc7089b22e02f3877648ae92d6a961cbb0764264aff9635cb9b8bc66" + }, + { + "address": "eF2QTjnUujZiyEReWFFtgCcF78bseuf2uR", + "secret": "5f9ac6bf76829a442c2e524d424fb91123e2afc9520df6fdeb9fa7985c017e9b", + "public": "021bc1cd131c269c4413aa235851449bf66d433ad2f7a6abe426f3d4251a38b4e3" + }, + { + "address": "GpdAHSAGjNBLy7f35PSgQd8fvmCYBWDS8k", + "secret": "18fe04699878a57546523dc3076b1c47d63bdb091eeefb2839eec162619fc1d7", + "public": "025d0f942436a465d4f027c00652717f6b77a09485ae5631a7cb0c7c0ac3edb40b" + }, + { + "address": "2epTtuKgNH7hzfbFV6QNSzEvP9vv2uUpfnT", + "secret": "c8755985ea031954c0501c048d8950c35685577cd543adc214c03437af59cf20", + "public": "03c88abdb994b24ea489bda4ab140e4c5cd9fadb95d395a11fb99fe7e790bbc4c0" + }, + { + "address": "2Qpz4d9HZzb1uaeN5uyjDonR3MR1f5v4qjV", + "secret": "b8ea20e202b9e411ab47c6da122aa0d2b2953567d61a99471a4ce66518bcb8be", + "public": "025c77a070003120f1af15aa42ae9740b44abe229ea7250b77eb1ba0033220a9d2" + }, + { + "address": "2iG4Fs82QP6WxCxayVbTfmoTH4M4N7Lvos9", + "secret": "9fcb5c59bf38c087b0e427e6c10db9990056b65560b79402e1fce98f14652cd3", + "public": "031d315e2eb87ee8032dd461a5485876c1139a9c28c7e624cea4a3649f8aef35ec" + }, + { + "address": "2NKE64LsSB77PCUPud1heKa8xmjadonV3SU", + "secret": "9b05f64e513868d2388c06a9ad974146a2b036a40910f9ddab77a9d75c11a751", + "public": "03adfe42ccd50b9577fa7620945d72c70a5b096d6c97d0b6fe3a3f25a4fad56f6f" + }, + { + "address": "Aezo2HdLAbaoZguPpszC9ZUxhmJHmAFnfT", + "secret": "c4a375cc88e1b0164a8a6e1d02d309312e256f84b18ea085d31806a1268c98cd", + "public": "03bc9e850dd82d2171f821fe8eeb98497dc0d3864544099ed2df96d26afa407e30" + }, + { + "address": "rhhySrhPyMSZ9DxDHFrHR7ktnEu7AkqB4K", + "secret": "0c41ee6da35751a7dbaca48f0634f69ddc5b69d2586093a1047011cbf10cfde7", + "public": "03b1952ff8bcfd8d1febcd8876e11212108860879eec9e05d8f985951861df81b1" + }, + { + "address": "bxfcnYtu2tJU23uVKmw9qV9CffuN2Lzvu9", + "secret": "a999df119d86f4a42617d53bad1a7536c5241d9bf63600a9d4245f07df3d3bd3", + "public": "0350e14e6de722e11f27ccb942e2a564738748a4678213a640ba3d3af0083f1f92" + }, + { + "address": "2m8ndBh1iPqPNBNGJe9vd5gThJ45KzTz4Fd", + "secret": "0523f1e4e57c30371b7f7b7f89f47ee9bb4d2d177c57da5a28d25ebd7ce71a46", + "public": "02e8a36d23ea250088c113d0b6f41ed40d22c3cff4ca3356f50637eb020088aa43" + }, + { + "address": "PHXhq5ArUzYZJSJ8PiBSUj4ef2sc4zEtW4", + "secret": "afc892144fd61f4c3ad6c1cbc493c317ed007dc43fc414f73a380f08697303a8", + "public": "037ffedafde38ebc382fd26c61622a258a1ed18d2f7a0587a5c37a93b6e48e0f96" + }, + { + "address": "2WCPdhx6QR9RxRxDntTG6iZa1as2ja6btJR", + "secret": "1818a34ac2b005aa1f3f259dc16d189620f76515a3528985766761fe9198c53d", + "public": "027fee0b90497183521704f2929cded0adb3cf7123fc17b929e9de3a45d9927833" + }, + { + "address": "2bFrdk6bqR8FLQ6kYF4UPgnVjs2mF1DsfoS", + "secret": "f5c7bd0bd1853186cdf8a529d904f1916076880a1c5cd4a828730674a09817f2", + "public": "02c4e443c03b8c12e140ab0270fc0c67a144144e3dcd02963e107facc5dac5e428" + }, + { + "address": "2cwNZy4SWDT1zX5uJesdCKU2fFKjrcmpzvL", + "secret": "38296af1206f02b7650d5be42b8533ef5870c54c146c39239beabf6d500218e4", + "public": "0290aaa6866d979208b6a7ac2984015813ed4ec47f6a9ac49cc032fbc16b4533f3" + }, + { + "address": "2bwm9u7aGPMc7pfmHezfhLFabAuH7H6EBTx", + "secret": "c98a3735e47a9c498dabae93f8b40683619eb1a37756e3b786b2d40dd001d7be", + "public": "03b9f0815dd914ef4e71caba76a11cfa41fc8d7063038b337a9c600c9a36273822" + }, + { + "address": "d4i4nQXJnoPiyPXnBFobXGM7nFqR7kJNZe", + "secret": "e3ed12b80054877ae1d5d9ca1be4dfc483d5ad4b44dffb14b331e9b8c07acae0", + "public": "02317c1f881a8f39c9987cf6daa3c8887ca03d91b3bd5f915d3dd3c8eb7dc90c29" + }, + { + "address": "2H9VJjLXy8nugAdyLLCRSJi1dwRx8oWxFaU", + "secret": "e296d63f3558df4bd455a9850bd9420e2ac5f3bd2cbf8de148a14369705370a6", + "public": "03b4fec118a0e5409f5c7ae65462f56d5f40f477b0227083f238f49b9f90f8f70b" + }, + { + "address": "2Mvc6WgBeU4p7QKaDbKPspwfNvTbncAY5Et", + "secret": "20dd7688888654a5f214bee8d411c5635e0be8c8b13d9ea4719521959e65840f", + "public": "020993b1c2fb2e251064b1c53bcd1e5f18e7f7b5b845d8fca619ff5654de57bab6" + }, + { + "address": "2UjjeJqwrL8zhL9hiQHsfyQS1ACo7oQQnsE", + "secret": "8dad55ff69be245c2f6714dd514338118b4e18f4743b65c1a318b8ae8acafae4", + "public": "0294b9b8baa6b0f15f00f707a02c5f4002074bd9461982c6153b87573c7e2176ec" + }, + { + "address": "2N5b3ujSAFtGPbAVvZ5PSMtirXPAGxXDbzm", + "secret": "0c878e067cb6dbecf3af796ea802d685a6bd463f24b84a3ef973797596081e52", + "public": "033df20062b208d521babdbc6105e65e02f40283132af33fea83aaf1e41b9a5c23" + }, + { + "address": "2LD16WXviY1JcFLL3Zz1Amcb4NPhMAzeqCB", + "secret": "aa9f09e643003c1227741d2c7c031d84cc4bc78269e988576a1e96ad94ab7baf", + "public": "037f33fdad8e27e15217a7c5a9b9ad7072439ee03176fd747c16a240938fe855dd" + }, + { + "address": "NRA6Li4MRknBbKaNEhRoxkP8g6r94r2Gnm", + "secret": "4c44a49639f2885c2e2897a98a4d1135255a8a5fcfd17cec0f452571f547d7f0", + "public": "0334f64e4c6af2e283a7a994132ac8d6f652b1de0442540028c168e36007c998ac" + }, + { + "address": "2hnM4BQEaaNjdyGDcRe5yRVXE9i3oLDUxY2", + "secret": "fc1b2dd7770ff800de4fee7eb01ec6c06499939dd9c4ae6ac51047dc803f177d", + "public": "036c44f8a8ba59edcccf49a6dee7d22ddda61272fff258ba19614a529768105dc9" + }, + { + "address": "LZh8LgTSoTo1YgRpSkh5etREEyFgkLtQyh", + "secret": "08d6246e2b3ae9ead57557f64d369507f2c6de10823864c33b68ab824229b7a0", + "public": "038f5db7aef3d2086f0e4f5fa6fb84057b8a7ad37eff06ee446911a385fd8197f1" + }, + { + "address": "KGToyy5gNPmoSxM4hUu4HDYjEVEv7kf7xQ", + "secret": "ad4a60e329f80e0b3ed882b9497f5078f61e15168c92181c4cf6c86142cabfd2", + "public": "036e48c7dd1294354ec1181c1c41f55211c5c27069fa98c2c192c1fb6f1095fc23" + }, + { + "address": "2eVWTrgYXbDZnke76xyAFdFZeRWykNf8SFx", + "secret": "3e2680dc4b231fe0c8f51b8a2c134b1fbde1f03ef8967011c1eac2054f65c741", + "public": "03c40c4d319aecf727e8b79e8b5dd2bba74d2d97d8da3486bf0e7df85458c3e7ab" + }, + { + "address": "EXeNXEayVMot8oAPsa4moaMyZ7ZqTNHdKN", + "secret": "bb4b593aac3b8938757e975b5f2f1ea203d56d4072c53e80f9b605ab35a70d55", + "public": "037a7744437290765a6024781596087b7554387227430c1feb5829879d242e3409" + }, + { + "address": "2Vt7Jv3tRKuTKu3H7eBffotFssGtcmxeUGG", + "secret": "5c6e8086199ecec957180e2bc5ddc894f91cb2ff118f10815358766dd6ce03d7", + "public": "0227df153973f5468a6b601b0aec4bf6c4f50ad3293b705d47fbc767dfe112cfdc" + }, + { + "address": "2anB6NqHTEP4MZ1kBf25m1AoZPaF5HCRNf2", + "secret": "f458a9a6f1345679295b52660daaab2e6c2ddfd9eec96de1309d29b8645de564", + "public": "030651edf0fa34aa2a8bd48f55304c30fa3156636ab22b72978fa2ede9c035238d" + }, + { + "address": "2MR9xtMD2fVReBmXauYAomuaMgjvgnuBzit", + "secret": "97150bc09d496aac364d1e9dd497a082b8671d47c1fa3479f55131bcdbdd9e02", + "public": "02ff32925ac8e230d9652d112b61908ae00ced09d71b9353bfa8eba16c328e772d" + }, + { + "address": "2iRSWoCyw9nNSkcWzV1ntHZDzq4g5d7EjpM", + "secret": "4d60df4c11698ccd0ee61e1df48016f37bf4f2f5bb14518003b1d69b1397bcd5", + "public": "03907ffdf7c2ce2d673625e03967b9bb40b5ecdee8143f92a61bc5f8e46cafeaa1" + }, + { + "address": "Up9XUznLumQuJ6waAJAYCCvFimKkStGJ8", + "secret": "5519a06420ba5c073901876d3b1f11a9fb8b5be9766e0f05c025e525fc0a1ab2", + "public": "022463fb3a5fc5a850c12fa1da8a7c6b23f604a60136600234ea6a5ce7224e0735" + }, + { + "address": "2LQzzLF1wzgXVJGfrJwbj8fbCCKHsYPcpdk", + "secret": "ee48e87aa610c69d99b3257bcc5359730d16e6afc06b9b9a9757c277c0c94c47", + "public": "02da4067d72fe2d00b13d22843fac5d8b6153eed2cbed55810c22416906f7072b0" + }, + { + "address": "LKziTaWPqm1mqcuuFy25uk3nPgjQCeKpG9", + "secret": "6222fdf0802f55ca91e656fe74408245aa477486acc16a1dff9bec220f26c3c1", + "public": "023298ce81f51ba19e8b93442cdebb4d34c5d25e82ed9cf89da090a6919bac92a4" + }, + { + "address": "2KJ5NEvapzdghqB7b8gVdU9eaYMk5Tgy2Me", + "secret": "6aa4dc4a06ef5063e3ebc083430def90f28cd90a05b13ce4ccbff29661340547", + "public": "0391782a7b3a5d8d2b34f7d2d0220a8471c1bf049ec51ea87712ba8f24a735f0fc" + }, + { + "address": "wteD4LYHyxZSBfnaik89dbELxBWoQubkB7", + "secret": "03f083aced4af42b6aab54b7aa648825fbee5fe9b5b6c61535e9f6017142e256", + "public": "027c3406cfff5e4af70371660b31bc6cacca686299f24eb69becbdf30c991c8510" + }, + { + "address": "2L1CsK1CdeAG7tkwa27y5QVkHPLxzizcdTC", + "secret": "c92dbefc11b3067762d632b5c0dfb335de6503ec5611599a98021ffccc72f3e4", + "public": "03910aaf182abbfb2cab0b137c90c2069451858ba4178f8e3b37ef395514581943" + }, + { + "address": "2Hba4NtNTJNhCPbbPTgiXNf7zGiuN22WDhC", + "secret": "9ee66eee2ed4f0025c5f83e6042eebe189eaa46bfe6f6670bc0b32400cc46e98", + "public": "03fac3efccaad9eb1302982d97e76d0b675752e98f37d7b6bbf7a014bfa373a292" + }, + { + "address": "Fct5xp4TiAfoVj53FsVgz2Xvfu3VoSoGwh", + "secret": "68533cfb6e102c1218d07c468bc0111e378ee524438c7493f0c6599280885cff", + "public": "034f00bfef452bdbdcdd0c55cf0e328acd67c9769dff7c8097f968734598c512d9" + }, + { + "address": "22n8VjKLqCBWMBrsmorJL4LwN3tezm5gEmS", + "secret": "4412597ea62ba47aa723023684be9f579628c79c40df98b139400304c4b32429", + "public": "037334c374d9ab761d5d9b738b07a48434444156f3fe293f222ee621615a008cd0" + }, + { + "address": "ZpBxiDKig7YMP4kpb26aGHyL2smaebcEHr", + "secret": "d941ba613cdc2b87609c336d2063bf612e540875a4dc904ea4e63d9db4210650", + "public": "036c7bc521bf8a4700a2629a0643dcd1d157959284aed13b74339a0006357838df" + }, + { + "address": "2P6fGBjKESXhkpCPmij9e6A1NerU2ryy3xV", + "secret": "5a6082c021c71535cacc07a5df04fc0e8a6eacebbdbd454ebeec87be95309c7f", + "public": "03c981d0bc997b4ab838a0f2009fa4e3211b2073b4b15a12a711ded2895bd69f9d" + }, + { + "address": "gByzB6sPJ7RmVpk1md1sXm6HLGKU8knjWi", + "secret": "e4f6298b83374823d72aa3796d7a4054a669c377090f61d1a11521390ce56745", + "public": "0227e1fd95615063c435c4f9ebe82c2d5dea86491c8b412d60b56a7e48bfbd9a4a" + }, + { + "address": "CwbKzRpBo1KMi4hrBBhQpfRbYqp4V8Zbf4", + "secret": "688f61a4f695771ec1bc1329c86d057b551cf5aff926b184be538846483028ce", + "public": "03407a7bf3e89de64044ff4d28d289a54651c3320edf98640dfa479501b5c67de3" + }, + { + "address": "HvvEsysCjqffVAu4YWubvfv5yYYzf57Vnw", + "secret": "08b6180067c0e32854776a2b70c226abc9bccbb9c03b718ebfe625563d139d4a", + "public": "03015c8f13f0029cd5f666211955f1a1208735844256cf32ca32486853175c2abb" + }, + { + "address": "nVyEuvxiTYTzN6QqcmRj9wU17fHMa4VJta", + "secret": "98bb4aea9cdc25f26e9ea16f0c17f171fc2b52645c25c72ebc02e2be0b561b86", + "public": "03b557c6cdb5bf376a38d06f53450b3fd5a9925e73f1c3ce03daf7702f98040621" + }, + { + "address": "2Swcj8nQBcNTtpExUnDLxhfYuvgo1ZPzX2N", + "secret": "c3f23a6efd8d79499b054bf933460d843aa62ff66dfdaf69306ad92ceb0b63f8", + "public": "0256bee55434ce76ae429e74b63cf7c3c7961bb1c702203200f08ab063f1f895dc" + }, + { + "address": "fYMS9Gw91GaQcUNS8yCSVR8aWXC7RCJ79H", + "secret": "64ef7e0063f803ec119a6afc327c4a4df9d196ecec2deac3e4c64b418a72fb79", + "public": "02ac29f3444911103ce467990640372b23c2f1a98e8495e193ac576686eeee6948" + }, + { + "address": "AsNPg1CrLTFKNa1vviV5HkMJSZ38NXvVev", + "secret": "68d3bec66658ca2f4723d3c514a3ff65cab561e75e694204849b5c1b4733def2", + "public": "03c8d03e195092d202c6f75bd17c26d30c9841df9266a450e5a153bbb85951c2a8" + }, + { + "address": "uomhwkEj2mEc9JNvZTFpufDuxpornqcLr4", + "secret": "b0b2c25646387fad2336a3abd66d20fc7fd261b5a776e4e510e46975d5678034", + "public": "02047af97b315e20bb41c74427bf67feb838eca34bd82d8a1a78631c6450409a36" + }, + { + "address": "288trEspbRwW1NXhMUG6zSMmn1z1Yupss7K", + "secret": "248d74d293a4689cb6a0160b4d3368b4ed8dd7a850587b3b23d069ea1e61039b", + "public": "03b65684d345fb8b319d50f4cffb672e9fd2ef99cbabf8ed13db898a1b40c2eb54" + }, + { + "address": "mC5F53X8PeJTqw8C8oAmbG6AcYA7zHTpWv", + "secret": "f88ee9fd93b3ef3bbc3e0abc31c0e14132079f91877bf27fc45fc612a11c8d04", + "public": "02ffacc6e508e69889db4b3df93b5c04f9ee20655bca13c0c76ae7d442d9a824a2" + }, + { + "address": "2N9TR5jDQWfSPvf2UTneWTTPzAzGixTUbxt", + "secret": "4e8e791dd29ea7842d682b42a7e1236be9c787706dd5f130de9b2262f4aac59b", + "public": "03e1288e0f91cc983220bbde8a8eedcf82e0727670fe746d54ccad7aad336919ee" + }, + { + "address": "xQZoBgh6s3YEkaWxJcBJJj1caCqEr3qs18", + "secret": "09e91887df03369c64df32b6c05c19d4eab03760c6949586173b8df7f55e5528", + "public": "026e4ee5352bd39ed09ccc6b4f1f6893b450b6c554680277af3127d66925aa29ff" + }, + { + "address": "o1DeUpx1vAjsgz6xwdHQmjpVPsmaeArGYy", + "secret": "eb76ba401eb1ce6f42a8a9b24766f98add7e717c96197b79806c5ae08c7fc36f", + "public": "03a5931787aa1f2e1bc5f03c160b1e72c42f00cc8ed5a6f78181ae26cf016699f4" + }, + { + "address": "26uyax1suGxdRZ7gJUjFKH3t8ptAnB3f1Ab", + "secret": "42b0c6d8afdc6c266e6afd7feec00f6fbc4298bf4b3e63e2c20a29c736b7ee3e", + "public": "02be4b56afdba2426151e542100fdb523271e8d0ca4fff3dde46a5ef90a2010bed" + }, + { + "address": "2GYqEYdWH4wd3aeCxWnAXAVBvfMiYL1rRpk", + "secret": "8662f1b8d3ca64d2eb00eebe3e245e99054d4bcb67d8bf7aad5f928516885e09", + "public": "0307c321ea95fd65d2e6b3985155d0d9899b6818bd7892347ffe8c261862da2b23" + }, + { + "address": "Xp5R1dYx4haxYjmZDpjBTUaGAqYTU6jRtP", + "secret": "f5c6a132ec483f08b48d7965fa5c034a26247f1e55d77e6dc4ebccc781902680", + "public": "03245b41ed7ac350d9993fa89a6afddaf52d61244229a8b89c653af757054b9516" + }, + { + "address": "ZLwQzFUw75sbsMWTLS8H9jA2m3czji6hop", + "secret": "1f05950172c640ab56ec5752c11139569f7c76736f00b94b397cad2c4f4977c8", + "public": "03b8b5bc8dd2c640e69c5f88c98f6ac0bed85f8119409147e7638b80c3931a2313" + }, + { + "address": "mLP32Fyc39JZxnvp2ZsEDK2xVKUv4YSQ49", + "secret": "8d74584cca5c9941d4306ed7061a4d5632546d22635f0aaf54fabf4081078c10", + "public": "03bca03957963890c237254b7a6293d398df43f275d1705d9d2ee81dcad889163e" + }, + { + "address": "9H2rHSAsnEPey7Q9reVfQjFcn6HeuA6nZU", + "secret": "f57f5c41a54b051c24195e9fda9e17c69ada46354ad0e100358db1153c15219c", + "public": "0294cac47535ba46b16380074e5a20b2e106eda46ef58d8588b34ffdda2b649753" + }, + { + "address": "RWeWyPo5jMW3RTQZhi4umoomc26asiQg71", + "secret": "3dcce71b3d62e7e9d60a8b0a7e7db415d2f29dabbbf9a90d9e4d028f5a2526d5", + "public": "0255f81c8260bb65c55b53ad5fcacfe14542dbb1478230bfc465f74d35f63d2ef7" + }, + { + "address": "489PcrGj1QQtFvdnrLYpabE99gVhK7CZDb", + "secret": "25e23bc3379bb160ee17faeb169d5b10e378cd4ff0c241ea47639d5ca5e3393b", + "public": "02351b30079c2adcc588fd1c50a68ca4c6b217129f0605f35057668eaf8528563b" + }, + { + "address": "fvAjpa6JpTXEEbuDLVd7fbaxyRpS97a35S", + "secret": "52724a60664d7b0d1b3f463324910c2b1924450be5b05e8d7a2db4bc53d453eb", + "public": "0209f0eb2cf37d24b74f01d385e77200d75e5ee67b2977c578443c8310fb9b2d7a" + }, + { + "address": "ZCV1g67KVwHfSGNfafFSSQBUHYeERkPNas", + "secret": "d6a7110de3a1ad13e9c01390c665810a596d8c6d1d4941532b32260b6defe285", + "public": "03b765ba10a5e030c8da62982214f549120fe18358f18f60855325939adad24c4e" + }, + { + "address": "2UQ9bjUN8YBtaLZrXFoFgdEz6H3PqfQRPnJ", + "secret": "8312de52989274e63b461bcd89cf9341b8014d3324892b8424146f3538e2ee27", + "public": "0318382d608f7da849b65e058db3afa32136f3b893f90b678001f0241a196ab325" + }, + { + "address": "2MdhNzpmAJxHnHBqsGmvSJVLzVYmMiX2qVq", + "secret": "fe3cd4f2731045ae184501ce477eb7745300158369ee44c3fdf5a87a2d5b8952", + "public": "039c452532ea6ca6af3eb68772172d42778c090cd199ba3e7009c06b0cb6c51b1f" + }, + { + "address": "816Gwzyu248U21D6f46r75pnVuv3AtHWrF", + "secret": "a71958850157ca5af9430ac1f7150f12970a3e5cc49f2b2f0b250f7262ee657e", + "public": "023385b52bd7cb2b0e5a749b59f1402237ddc355258a36011e03b860679e4b2728" + }, + { + "address": "NKYP3ZvpAa6ad2SvENi6T5HKwHeLbrVYT4", + "secret": "01ca13b25a13f4fc7d4712b11861bba3d213e4ccb65d06e0572cdc7d14ce15a6", + "public": "02b313de4985803a1d054804fba3e723f88e64c6a2ec7fbe44303d1c4652c98c3c" + }, + { + "address": "2VjJfmxYideGu2ypmZJfLJZhVv3yxYED7of", + "secret": "f58e7c75269761d1cbd1c9c034afb754434f05f327e291ba96ca8ed727caa66e", + "public": "02be84a327e37a6d8267bc626c38bed05d2950e2ca1e4349905704f7f5c404ebeb" + }, + { + "address": "eAPpk64h74tsYepanFtSFzPzr82B2avcDT", + "secret": "7a0d7756af1ceb796d4aa202b10dd626bae3b530b714a3c90e075a2f0e301ab1", + "public": "0280324942ed3da9244cc0fec7fc32240792529d313e565c5f7cc8fb3dd38f453e" + }, + { + "address": "dT9rzRU52tZEUGohPpibWgGwZHSe7H5xjG", + "secret": "39b16997962b2a8749203fc137aaa5bc3ed17f0202f6e7965a60c2dd7302f4b2", + "public": "02c35a4dc1a33451a49ff10a38cf2e040054d775df92749f98c220d9665de0d3b4" + }, + { + "address": "2NJ6w1Q7oKUnLPZ4rkdFqxoSXSh7jPdkPMg", + "secret": "cfb00a95d0bfbb4a1f2f5fbaab246b537ce130006f503dd3ed6108cb2f6fc25e", + "public": "03628ab3111affac3e804cca531c6392f25cb9accad0bc3439bc3fa3396c075756" + }, + { + "address": "sdrAWYjVrewkKMcpmxvcfS8NpFVoz8mQta", + "secret": "122f3a66ae026891431a535ecd4a7ce87b766b36ee06cc982bae63d55b48840d", + "public": "03856a4861a9d5d1d0dcbce11fccfd15b14e621965577d7f84ad44a008a3a82488" + }, + { + "address": "AtpEoDv9QzZ1msqRpS67AfKmNUYMdZqtWR", + "secret": "ad22f66b3f09fe8150b318dc2bf070c0e994a7a303eea67e5c784dc91cf93781", + "public": "03c43d4d1115804698e7f1e154b93537c91a61e579044682385b38abf606fc13f3" + }, + { + "address": "2RJsEraWYadfeoBhfJrBrvidi3u9VxTYpow", + "secret": "828c57ebac860ef0f55510655de61e642aa329bd0ef90a0a407ad88a4cdb6c2f", + "public": "0200ba05a1798468845e97875530a31317ed9a428393f972f4f0bad6786cb77d77" + }, + { + "address": "8hjVBQTV9x3eL7MRXgqV9UM64rYur64iJt", + "secret": "202190f9d8a5adbc1ba486df7f076fba0338440a97595a88c49c870e4f1cc39b", + "public": "02d25d29264dab7b03d48aa58091d249de7ce2ccad2db54bf18949bf19b2c9eb05" + }, + { + "address": "PEq6dSumPciu9yo98jMQdHQ8msF2JbfnXc", + "secret": "fb4a81bfb954ec7bdc5f6c6ccb2bc18d00428be1a64ad095154939ea8d945449", + "public": "02fc4697cb9d1a8c364b685342894127d162ef5d7a3b7b9b26a0d9931247a4d549" + }, + { + "address": "2VV5BMupLapDN23JrhZu1rbS97zcYBbqkgU", + "secret": "6970bfcd764f98f6095604f78a59ede3b079fdc7b9b369c28617405def807d85", + "public": "02a25a01476d6ea82a58c4022a8b5a379f4257a1aed8bee8968cbf3c162c84a16d" + }, + { + "address": "QcQpkqG2fRxcQsirLKHGJ2sYs5HTYrf7v9", + "secret": "1aa78e544b013fba58e38ae786767d93384cd75e02f3d4d059fcd0a099e34ae5", + "public": "0310f3a6b1152884ecc8d16417f0b9de900d86c29707538900f1fed76a8388af64" + }, + { + "address": "GEir5to36spsZ5uzSTck3pdLCFG2Tuq1p8", + "secret": "f48ba7c9a2b190d50b093a4bda6b0979dd4110cfd7fb3405c965805aebe44b67", + "public": "02c20825470a7658c012e38b3901631f41d4371b0048653f62975cfb0fbdd2c867" + }, + { + "address": "8KM9nD2XJTrSSff2vfuFYVvZcGbLj8eA7u", + "secret": "f274cd6a8279bab87069888a3d1dbf029ff46be4fd2e57d1a2fc82643a99878e", + "public": "0234e5b6d95fe79d493d0ecec613e9e0f0bc738c36ba1b77addf4b1f2fa6b71c67" + }, + { + "address": "2XaPonNm8z6upuKv5xtQpd7WmeRKTPUuoKH", + "secret": "b866d4cac48a0670f498e9b4c10edbc27560db7fb0701e4ff87a13f6e24f9f19", + "public": "0321c3fb78a69728088f6b7316e03795bc487b41ba87a5cb92c3be85377ae95871" + }, + { + "address": "iN2qYbja7wU1Gp2JnoMUH5QiSammUC7baZ", + "secret": "588ceb37fe6370051d4cdabce2bf19035fd8ad9e8dfd334322d43fc2e16acae0", + "public": "02e3132cdd81d56c6628cd5d851cea5930f0f53e5ffc6a5e35d87a9f85186d823a" + }, + { + "address": "GbTRDoRiK7FrTca2MVEbQ9r9TK9PGqLhLX", + "secret": "89898c1b41e26fcd6a41e97c27f560f5db50c92e6830377379d84d767e6b6a3c", + "public": "03bfb7365227b03415f2f4e56821a7ad1baeae87b7c35b3e4bd393e7ff5218c392" + }, + { + "address": "SnfWDBRmDkshVcSgLfw5cYoAgmKVFygyS", + "secret": "26030f3717e988f6739b27292401aaf8f9f7731c016fa1f5e1a7af384f22db2e", + "public": "03c754deb4f25d2d81cba3b6f0bdfa68907a37d9d87b7f5127f477cf3b1446d567" + }, + { + "address": "3SLNRTzvWE2qxPJH3zJdFZmZSNu2gnpXwr", + "secret": "bf33312864090d552a1f1c17435fab813d9dcfc5000f9b2a7aa693355856fef0", + "public": "02f684e4edc5d1dfeb37a770e08e57dd6a49cd8bda524631b7b208d6523c29b0ba" + }, + { + "address": "rsnD7sxaPfXqbqYXPggvLnWYQ9FTTERHYA", + "secret": "aae8981a907d7e0e5bd0baf1919f8dc663504a215223c3ed57cf70c823a3cacd", + "public": "03d18f871b16e48337b99fa6d9cee89212e53bb26eae9d73017ec796a09480fe64" + }, + { + "address": "2Ni5D2DznHv38gyn6E5Hc8mqBkrMQ1VfKq3", + "secret": "7673157ecbf104fec8687bebc5d8ad81dd5e93a0a8b92bbfcbee246dc7d3c7ef", + "public": "02bac8f5f1120987cb3fd7ffd4958cdc50e3906ffdd6062fd9ef4b96c7ff769970" + }, + { + "address": "2bso1AeKwYVDgZuiN8XLjNKx3xBHMm7M7xo", + "secret": "c41954726c0d4369932006758b39f1afdded0d309ff99d8c1772f993570f267f", + "public": "039c3f264f985f26dd31cff7b0830c2bcc58ce13f54c191fce6d45fb827500ae83" + }, + { + "address": "2kooXVM5k6vn4y4jJcmgCJPnoqB4ydkTtUo", + "secret": "4db9d88541c0efd0cdb9fa3acbb3b6e0ab3db4010a59aa78dd1488ad8c28ed14", + "public": "03bed7e9a58022dd6b2727439e1993b03088a61f2518a78436e4208efa19c4883e" + }, + { + "address": "2QiJF7CCM1tf6ESVHzrJbVckHcehKtGKAXP", + "secret": "d530371a1e54014249b716d0f58ea68ca94a8c29cc2c77766032f9ee7675d076", + "public": "021bec8c0d092baf315dc4f51bb6a74ab276f3366a7f5a9aa72da8531b6dfdc93a" + }, + { + "address": "2ZFwFc7gPebsz3329NMpZPdrbSdTCvioRjn", + "secret": "7bae0524fb5739792d1ca70ff661eee59d193113d2959308472efad7f745abc0", + "public": "02a497a0c6534627babf9ac0c9613702bf0774e3c663faa3a173daa489cfe9c032" + }, + { + "address": "2crTgsFrcHwrx96qTgNd5v2eZRhDSGwD9KU", + "secret": "0144fa3a146902f05d05ce1ea93d7f9f7740cd9515463541234b035ac7c13c10", + "public": "02a749c44375ac2f409ccade010712fc0b7108faedc9066e52656df90713407c1f" + }, + { + "address": "WTGdQJWnTZJy8BheAdohn9bDj1S1CJbcMK", + "secret": "320fff3d17aee027ab0a021d62984dc71e20e2a313d550d6bc71a7037da76ad4", + "public": "030b6ffda04d9048c4bcc32a2746f994eefde6b4a1707b5b2f4148503115227cbc" + }, + { + "address": "28JuPfNb5KQcTbMZorM5ffH5Z6dnqYoH5rs", + "secret": "5bf42214cfb2fb2b370dde6c400b89659c5b10d82623d5fb37051082be4dbc69", + "public": "03f727682db76736b93347b8f31414520db4fbfa8de36864ec33a5e397ced943de" + }, + { + "address": "2jYZCimvDikD1etTuiwNVkYdDVYoRkW5ajL", + "secret": "05140478b6c6839636564892946b45df6b3019681672f9b104c86ccfad644f1e", + "public": "02b04c95e8face2cb50c64526ca0d7c804811e4ca45ccd34ccc954d86692a39537" + }, + { + "address": "2Ws2CbP8zi2rmDoTV5wxXHYiBSgC4FcFbDH", + "secret": "2bd204df49886647bad2806269730ca62d071fc446f42881cd2b4f1fcc98d00a", + "public": "022aa6887280a4006676f44589b4b74a0e8358b627e797964f4d9ac466b35cf42d" + }, + { + "address": "eZLF5WNWovZ5N4KC8vZtS38K2A4u4BQs7w", + "secret": "e7a78096dcea1a150b559775f643908650d1eac4bcca20de411a2764790ab1f5", + "public": "03ee354b340b4a723fdcb1ba2c11331bda62c40fd1c0f0cc52c5f876c66c95ff58" + }, + { + "address": "fadbXiZAhdLmL4DPDPFYGyqsZJxhDGrBnv", + "secret": "c05043fe99c3315c8354326c6a7e38410372f2b27f68eab88e74d6f73f170993", + "public": "02a96ee70543de38766532aa7d58eb3d36ec7846ff57f3ac251e2522ff072cf046" + }, + { + "address": "dmEhj2EdVXyP6gTmNVwAv9cg1jsHNFR9kG", + "secret": "a09c86ebcaff266c7213d42a8fa98c1ffbbe12b91559a0d0b6a7936b3e16503f", + "public": "039dbf5a286018aa46bb4714984cdce0ae4eee0f35803495ca595b69adc5e07769" + }, + { + "address": "6MyEQAeTLFjYYxG52FPgpNrHDasYFrjXgy", + "secret": "7a37469469c1063b3ec2ff3504df6e7a6a91aa1055a998dcc11e2781168b3797", + "public": "02980f6dc6efc5b1a259b1c588fb27b9c01ce6c366da9dacba815616351d62afc6" + }, + { + "address": "2Qh8ycrQGRuDaTmqjtJ6GQQCjL5KRCpAE7L", + "secret": "53c278e573892656e5ebc94420ad4f4460f368c2c9ea6a89b3534414d5cd8635", + "public": "021543e5108cd46d6038eb2f2274c59cc2670ac395b73611b0f381734f2acf6641" + }, + { + "address": "2aceT88Aq7FHfqxo2aBoiyDDw7rB57QsWtn", + "secret": "d30bc636046b7fd619fa64d056c7bcae6d183b1e64e003ce9a358bd9be3ef3bc", + "public": "02f7c3b95e046785f21c280ead0a1eb3db86e87ba56a95671d1c44b5f72e93cb32" + }, + { + "address": "4Smrr2YzK2W52cxZxiCLoJhgPi81mSSZ2U", + "secret": "0641dcb8d208b0012909b8e7705ec077fd485e43778e4b8dbcaef8eb925c42cc", + "public": "023143e54417d2df738825c2d521e283ba6b2ef611b3d53bb4fa0ec09ca33671f7" + }, + { + "address": "2b7YVEDW5WkLzrqfoZrkxzhuESHEwHF3xph", + "secret": "77ebcdd32c08a25ff00b56603fbacb18d44eb869107e1b0a5b34f85bdcbb1672", + "public": "033c0e22d985b797c944acb9d176ff51200446aeed5a31cbd452b8aaa3f0364e1c" + }, + { + "address": "JaR22JZKMWEBSPNFiDKKCM8gatkWo9LVrJ", + "secret": "e31e98a9043ecbb6ffa15fd480e0f1f169d86ffc440a56581f2cb994b887f71f", + "public": "02d604d042b35e8882515b5bb6d3c3a8f66b0fc816fa6dac3b88aa97ea9a8c8442" + }, + { + "address": "2j5pAjhg9yPyLuzBJnG6jPFq8Moi58Db1Fy", + "secret": "7ca8e3dec55937eb12e1abce3ae262ae1ecba643c69d4268c0b39b7c38e902f8", + "public": "0321f9d1f269d36138604eb84dc1087ac7b06e3bd0511a1f1128c089fc6b61dcb2" + }, + { + "address": "25PWupb7kLuFdM3UQK8tvcT98h7i5UDHkXT", + "secret": "15c148fca7434a18c484b539830abfd9ee169d39c3bf95e13cec5877ae5137bc", + "public": "023ba5a705ac79594261ebe524de80c022dfd42bda9094e8a4fa69889e6ccfcac2" + }, + { + "address": "2LWHyVRV3AEtYLvN6TwUzbFE7g2ccmhTVEm", + "secret": "3bd05a85518a0596564796356e6ef267e99e8de6aa529a0bb70a992dfbd1abfe", + "public": "023f07f1368ace33dab9fdf039e05137b8df01ac5864723a8e913d7c74eed72c3a" + }, + { + "address": "2mJ7HbAJiYmNahgLpCSmxWg8HbAx15XPkzy", + "secret": "4929beb2e5e57a9a5f1679b3a60bd6d20dbcd7b2a2527dd55f036d6e0a0eede7", + "public": "03ecbda83c01407aaf4f4856865fdbf082c12884a82e787ec0ce3d9c02bd6fa565" + }, + { + "address": "rVg9n43dSffZoVYdPyhpNemNbHDcZcnFnh", + "secret": "c564ddbf95b83a7806655aed2277f7aab9b7fb14bb106baa03f497dbf3d7882f", + "public": "03972a262ab0052092640c9ab72b82617883a49b58df548f00b627286dd658efea" + }, + { + "address": "BvURWh8mAbBBqpqN6YcaVMo4xaqABPkjAK", + "secret": "53f6d7e20bab00854fe7cb1671eac9ce35f997ccef7a5c68088a60709ba3598a", + "public": "02b92fba69673ce455c828a6eb473a185a3b5739fd928bbdf0e017c85bf973a084" + }, + { + "address": "298GYxeyvXBFpA9b32nf838vHz2L5bGQoKs", + "secret": "e30820c25276c84d31b3048597f19f42b3eb204572d8d275c8f5f76788c9d3f5", + "public": "0278dc9c5578ed235bf491b5ce0fb47afcb1a1a57f73db7cc9f303055a124ba7e9" + }, + { + "address": "nRJwAXzpr766ne9BbdgX4wtf3vCkb6FFe", + "secret": "70ca6ef64244fd4f00651ed245f1f87390320b79ef721bdb6d87c14b52693c6e", + "public": "0362e369ee21ff7d59208212a8b9b696c617dda85821e4ef42194aa96c3581549c" + }, + { + "address": "TCXZMKsbdqy5yMnkuWgpVA5h8rZdK6odrS", + "secret": "6d5b53a3cd6e1b4b6cdfc44989627c71d5fe406dda8043eee286e40d4691890e", + "public": "037a95a70a38f2371799bc3cf2f329986d6f64bcad8455b93ec368c619696df252" + }, + { + "address": "yUMbbPX3JyD4oSA6L9cYDiEHpRqM5DZzEK", + "secret": "ac9c752c92b9fab9859f41d4df2799ba3083c0d0261557d1563ce10ba2c14763", + "public": "027c5e3452c791d2d21e9a11f2362fc86258ea4470d3271422cfea29aa18d65e0d" + }, + { + "address": "22LAVaqjZaQk66dw8thM5eN9883pfwxF7ve", + "secret": "1da6d30d4fed6353c051770fa8df8bb25073d2a65c83be50516c7ece3407b698", + "public": "0333620b3e2078bcd027a76ffe66baa972baea3b1eefe02ed76b9a17ccc7d995b1" + }, + { + "address": "Gn9QCBzKVxHHh8SGb66wpu84BZuCw7PHbm", + "secret": "16b00b79e3747c8e166120fe366546c32799aee2bab5ad442227b5c2173dc94f", + "public": "024726f46895b7ac02795bd5bea795ba7a51dc2ffd53a90c840c73657b25680c63" + }, + { + "address": "2kT2ZUiL7vzt446hY8Xc2Nx2ohGzcFjtZwM", + "secret": "f0daf3cfa005eb279b7244beb2ea779ac76b1ea77045cf00c7379b75aad4805a", + "public": "03a8f0fef09af25c1f30e8267af7759b02942875d12e265a3896e7ef6399cf43af" + }, + { + "address": "2g7bpFrHiyyZhjFr8NNLoVoEL1HLcGyfXFP", + "secret": "42e7c043b5bad590914cabd9da1c64fd95ba0e3618cf217c9e56e2cda849a1dd", + "public": "03d315900f1fa2b0363971f66067cb95b5e062799542417861acce3905ef009924" + }, + { + "address": "2aFx6zgr764yaew5kBJL83xKvJXtaFYrNe5", + "secret": "609ef2d18c07a72423ae24c2c0de839b900dd660106a4d2352606be503ab887f", + "public": "03070b88d231d49d34e46cf719e47fb0abd2d9b9db9dd571931cd0e33e9a21f251" + }, + { + "address": "2axw8SpzvpY6QJze48DubE7SVwhpfEdTt1e", + "secret": "3ae1e46578207468ba3ff0dc9e8670d3e92361eb8e4bdc7f372096a10fdea1fd", + "public": "02bda68d95c5516ec84e5e8ce328f6354a7f3fa1e8e0376b8708d570dc4e7cb551" + }, + { + "address": "y8DV3nCwaDs9PtsQbiZnueVcbqB5FNho3h", + "secret": "c4c7d8f99d6df9127b6ce974e4b5791619b7a6d9230bd7ea494ddd5321c3b02d", + "public": "032da1fe104a466b03731eb9fd85709ee31a91b3eaedbaca165413526ecdd87dd9" + }, + { + "address": "eJHjp2SLL6ZUtYHhfEMNdN3c49k6QU8W1k", + "secret": "fc4c34570ee70911601b48a8881e93c713d9552cb9499c871454b1247619f7f1", + "public": "036cbcc6c350ae878de0382b4d4a998f85490f6ccd288aa37356730eae31e1d3e4" + }, + { + "address": "ZBRYcydEtrkGHYVFRmHQpzVwfDimNC7rfj", + "secret": "2df0754861dd3c563c5c1a3efb75befff40774022fd74835abe23fae37c03f49", + "public": "03f5e7d8028debaee9b5f29b2196c652cc7dbeb05f6dfd2ff19e1a7934febac699" + }, + { + "address": "J2Lu6gP8zXyq6EjayWtV8cDmdi6M73Jn5B", + "secret": "4f82d68560df1e74999982c4087955f02eadadce6502054ec431a2a2958c27d5", + "public": "038494fb1ea6767a31005b3e2018500644fe5f9229d1facc6d3cbd086c1434a120" + }, + { + "address": "kXVPezUrC5jjzS1bcVEUgaXfqqPYpPG3jQ", + "secret": "72b9f75282bcfaf7c3e468f7a090bb3322ea4dceb96449a0e02d25826e242dcb", + "public": "0335224bb5460f92b2afc546fac694cc6af797543dbddc491235fe9469c269b5a8" + }, + { + "address": "sfBsXAZBz5VynyFGyEx1TA1EVA2SNS4Q3S", + "secret": "599c05c64d67fbf675b01219f15e82a4837acdefa30d714a7d9162550604ed51", + "public": "025eef68fc3790f499996747cf941398c8f90f57a47d8ec93cccbea84081b51058" + }, + { + "address": "2Q6guBQ4Mota7bUYx2TD3xwWd9oMRScu8q4", + "secret": "34378458342db0df22be23ec49aa0f0e911900447c6c7f8ee2e69b79d6e9d309", + "public": "029cb1684854b84198bc61cc8fd7f42d39d259912c6f7e65d228bef8846433720f" + }, + { + "address": "9DqzJkWCWK5kCVaqY1cXszUtNdwvNZJSJd", + "secret": "e381d7d02fc85b55ef129e13a10d5e7980bf88ecb631d55a9564085b6955f7cb", + "public": "033005b5aac2fdba5442c2d30adf6bac3bef6989b8f71530c91a28a7fe76908a78" + }, + { + "address": "CitkJhr47JTB2gTQhwcYXBsJrxLiHqixK4", + "secret": "7c776045c28bc10641f50461d4e985d6f28687f01a6635fb52406e2c073837b4", + "public": "0251c6fff14db8af2f982a840921ab6b228bab890ffcb2047ca9999029aa26f068" + }, + { + "address": "vFUe7fcmLXGhF2fKRF8zfWCLUujDEgLVAn", + "secret": "f643dfd7a3fa2b46e5ea2ec8d63e1fa81aa0124f24cec7902b55e8090f354867", + "public": "03cd6e4e5cc5779262e293938773a1fe3537e8bd0da18f8353a002c516a491a364" + }, + { + "address": "bNM3CoJCTquonnV3fGAHSHjkXU4VVXAtnm", + "secret": "b1303503a813b58803536d68466a197b1bb3a101ec9a1bf8fbd2369d49b364db", + "public": "02a1e47b9d9f2438582fb53aeb049c715b7a061ec5f5ff0a4390a27c1c9fb5daee" + }, + { + "address": "2BDGGpDt5TeQqtxJiwCsYfUqSH3RnDaJvrT", + "secret": "62ae0cb5fb989bac7245e194d13deb83bbe7997b316a13b384afaab7d8160c27", + "public": "02285851f4a07f8247d0e718dfc9ba3c0739eb0384025bd1088e5b2fc5075cb544" + }, + { + "address": "WPP7JbSpJbHy13p3tAtSxFgKg15tna37nz", + "secret": "81158f1ca73b5b92e88e35864c2cc32a7e6dc4aa1dc69549b69488be0f939210", + "public": "0399c5c339ea989ac64e6c0b8c46088241e654ea12be19055b0f3602185f59113c" + }, + { + "address": "CLWUkduHRQ3VDqWCtLPu73CWRuyYRcywUh", + "secret": "a2e2f95581ae88117371cbae30bfe82ab85b16ab30ee792c99815515f4b03144", + "public": "021025967d1d2d7cd6bae8259ade3dbec5c5c7340f7cc96ef9faa98a4e8e89356b" + }, + { + "address": "2hsch7LCnK94zgFRBbL6N5nSwHHoZLv55iY", + "secret": "919e0a2d7d8f4ebb28bb9f8f4725433850e5e3d3ec90ba4f2b8bed56b736b095", + "public": "021da1eacfee5cf2ad3c323953c8ee5be4ef8ee23fb2abe88b2cb4114c24402ac1" + }, + { + "address": "GJLtCoZnL4di3kHwvkJtR8CW92iN8Vjmcv", + "secret": "e7102c8e401b2d30627764d44d7233d37ad7f5e83f935499581c4118e7c3e545", + "public": "0297dd6e1b2b55a29022578bcb8f2a97c4ebd1f04e14004c83742948baf15db34a" + }, + { + "address": "dF5jq7t2pMQJbacvfPFbxbiTRYi8dt8Mh2", + "secret": "aa520684df5e3db05607e59f3e1a039348113fa32f844473c5a3b5be8cba448b", + "public": "039230da7d6b4324dbab6315c9268dec4c913e9eb2fc2cc59daf29e2195ba0c0fb" + }, + { + "address": "W1DHb2MP4dfnLYgS7YmTGrwT3jGkyYzTaV", + "secret": "4dc879f1a4d782bfcd3921714deb2371da5df3b2f46537283ccbfe919a21ee3f", + "public": "02a1596f4f937a01189f494ed81fb8354101e1c5f633d34ab6e6b189c99bfd5d95" + }, + { + "address": "14Dzj9AmYcmqHADtmZaiaGAAYPTJF5iu3Q", + "secret": "3179eab44f64ab0e35f3b4842112eb6cbb18ccba16b7668866adcda6ddac4882", + "public": "0395997101d2d8ca8ab15058f8e465d4b87a422ab825aaa8616dc62373f01c81ec" + }, + { + "address": "Qt3q3oPi1HN4v6iPj3EbfaaV9kMU6Qb9hh", + "secret": "ea350bd2044b3a9352393f5169c3881d8146a5577da478c0e2185b56d7e84e59", + "public": "028959d6882142bb5dec9fdd5b4a2c93b2762df2923598e056622b899ed332f062" + }, + { + "address": "2LdwMr8hZ7MeQ6uS5e89Jwq3KjqvWQguXpN", + "secret": "2e145d25d59f1e5314ba3f290a81ccd6d71dfe6b998352688dda120aafeb2b4c", + "public": "02e0a927394aa47473cf544a5ef5a21985d14204adb5e1bea315096f41d5d38307" + }, + { + "address": "6z7d9KEtvBw8q2VZqz7PBSwHaCAYD9SBiz", + "secret": "ec9dc327f748b8a02b7b931d761e41f9406fa1ef637113acfea60a395f07f703", + "public": "03610bf697e09ce02f54c830792678c008542d19fca2e625706fada2eb5012a3a8" + }, + { + "address": "SeECPVtog2nqdBuhCASpu5GFW7kAQ2aWse", + "secret": "45cf169176971687dd96d56d544dd4739b3c3c7b24eef38e2b2eec449259fa09", + "public": "02f2ecfb3e58709626fdc9de870bb11d8a5ada1b5088af73b0d49ee2397ebdadfc" + }, + { + "address": "2RfMB8P2jTG5dLcrLus4CTZZH6mke47G1yF", + "secret": "72082e472815e974af51c5ca2611dbd65be5d498305616aeff0e21845eb2f6fb", + "public": "022736c896b113689d8891ee1dadd6e90a357d25143199202223637127c1c082be" + }, + { + "address": "jsHspZyTeoWLQ5R3GAXPDmMdXiWMos8Lfr", + "secret": "d3b02aa4038b4c0a71588a45d9f75a670c35e28c600cee1d2de7d2a04bdb720f", + "public": "03a2ddc1d41e53f6b73967a1b47a6928be2bd29a3c0729a267d71ef8df83b4a05f" + }, + { + "address": "25CSv2NqfsHSodz2cRueFGwAbdzUiuHHLxb", + "secret": "f556a089f138f59e3000571593b7f9559c1f546b5f9d1f475bcf6768611c9baa", + "public": "0305705d3549479c977fed1227e84c0bb1e349c6fa2374e4f8931c7592f1e980d5" + }, + { + "address": "2SitgCMQcxkiCF9Jf4pACRa5H5z1Y78BQ87", + "secret": "219e289fee89a7afeb2fc1316e8399953bf879f607cbebab264bbe1927cf7527", + "public": "027a4480740e264da975b95df8333c4877180c546e26cd4ef280de97822491b479" + }, + { + "address": "Gr1aAJwLcHgR2bumhPAyS9en2VnRFZz278", + "secret": "9980f094f2582e0810ce8cbf488c44d68ed60f6a45b94d4a5a56f4dd95ee0954", + "public": "02554006809341e915b01dc0e9687efab3f00b274b47bb61febfb2b5898128b95b" + }, + { + "address": "22k2EBqKnNRAbuGRdSCoL9EkrfvocHs2w8j", + "secret": "8382c706a7533cff4bca93e5dd7428eef94df089461c3fb11c9dc9a0ee3b4bd6", + "public": "023f7dc5cbc6164735acf1e0abab395d99a41fb4ed26056be2f7844c31a03c48f4" + }, + { + "address": "N31RqZUYjL4e4VFFR14rtN7DqgrnZwqbC3", + "secret": "2b6c4d56af2d787de889eaad0d97a07f209851a2b6589edf5a1c7a3a4f33e09f", + "public": "0312eccb8c1542b4c5d108538da52ddc5850175df7a7de3b1398155614e792cc7e" + }, + { + "address": "9Pkybqiwz1EmDy2b9L9Nkc88mc6zvPRsWT", + "secret": "1c055ba9e77726033ebfe32237bd425a140110549d82e2311d086bb48af1608c", + "public": "035304c818e2c5c93aa671d150ec763a193064d9cd95d8711254a77c8995e3f52f" + }, + { + "address": "BKvj6kmqdx2j35qJdJ5DPAKjJR8vzLU9q9", + "secret": "30130b623de1c08e1cb7ad95a1dd87a3a321f402b9712229e6ce62b7e1efc501", + "public": "026878a7175b2fc3d0ef5a458079eeb1b63d1a63505ac71fa0667239efb3a348da" + }, + { + "address": "RFR4UhmnBPFZb5sg7zyQrr3Jw4So1u7tmv", + "secret": "bb50fcc6980cdcd78fb3e58dd73b9a0adf6fc4539c7e56b8af9f04437f740b10", + "public": "034aac6f55a6ec5e87ace89ae7823b04ef43851316eb3bf85b52a783cb9f97927a" + }, + { + "address": "2W81p8QoSnMKvTdnBqb91J2aucdtjwVNUFo", + "secret": "b3e1914296ef75748cc4cc7772880186b0ea31afea9f36a92836c3d03d66b28b", + "public": "03d9677912768e36ebab0aecb6849c9e09b161e689521bb93e3cfd5687d5eea42b" + }, + { + "address": "rLjhyJVYUrqpgimkycfCdPfi77GGTerroe", + "secret": "192af09cc5032ee7dc03652c72ef0936efc1a413eb74c3b98acb50ccac9a97a8", + "public": "032eb1861040be977bd41a7ddfb8230e6d9f0ecc53b43dc6bfe3f873455011ac45" + }, + { + "address": "2GahVFLmUyYWycDo9eXvq51ekc32VgxKwRs", + "secret": "536ee03f10031d63eb4c1f4433598dfa587a9edf031c162770eb76ea300b2410", + "public": "02be4a70bcb626976057df5e8a87f2727c6dc6dec80c1a5aa63e14d14a606387ac" + }, + { + "address": "23CNqwuhjigvmeGq1MABeYoTceo6PMFndun", + "secret": "89a4c39206bfe84ee531233692ec4d7da526f15e24fe66b06c0f539920620f87", + "public": "028b954910c22532fc7a3af3b5b3b03460209711c048c19d46e756312c06f6bf44" + }, + { + "address": "2M7tTKyESdcKE66Q4gJpvbDGAxryCM2MfjF", + "secret": "72c021662645cc9b8b2177ad62e0f5211ade182742976a8fbbea55a44c26dba4", + "public": "031bfaf003af08ef951f3ce58096fb09eeb6935b6e3e7e5a230b70c963652f9d40" + }, + { + "address": "2A8vRNeRFyB423goYsfaf2XJfFnwLVBEogG", + "secret": "3f193e4554fd7e6755b017b7db495c2d290351cb65ef3cce34c69e340cfaf177", + "public": "030b4d89c711efc08d9392c4cfa106bc1313c478826453fdcbc115d69866a6d896" + }, + { + "address": "2QRYen7D9tDdLeJD5bXuKfuYKBbo23o4ABo", + "secret": "69da90dc5871fc04146acf8a1e4121de64e55b97e1629cee8d0bba6b464f6a8d", + "public": "0203ffa8dfeb26dda72992ef3d4126c989651cd6279d4e738110296ab9b90b2515" + }, + { + "address": "2SkcSFj97J2BQU5hd4QTm5onBeXiwRsVtmd", + "secret": "3d3e5bbba89085b9f3925abf1a892d4e6be4f459e935e05a71ad04ea88fe6ddc", + "public": "03c1cafc2eae3d0f3b109f942234d1fd83489e040373477dba9e27a801b3bd6588" + }, + { + "address": "fA4ByNSX3amgkeVF3ZFQ44gAsDybhD1urU", + "secret": "68a10f706545aa984a8df888700d822793d8ddf9c1999e329ea6a579bbc33175", + "public": "02cd9aaccfabadcc58ae9612cc034054595a8004401c05b314121a4d83fd966339" + }, + { + "address": "2m6BdfcCCGxbSXELzBjGNnAMxPoej35TLwt", + "secret": "bafb45146ecd2536e463c08c6b3b18534dff04f03d2a2828c889792b83b2b6b7", + "public": "039ae122d8357f4d6053be5d29a3d9ea72926c6c3fe6b586179fb11808e561c0b9" + }, + { + "address": "f9hJHRytfpoEa8B4BpNs8gvT1unMjvTFpf", + "secret": "ed643cc27ce09053207c7b8eacb7ab98cff341217f2d398dc80728ba3dbc319a", + "public": "029e91944afc94461da0b314b75f07e1aca7de0af053329bf9eca191f5e9480471" + }, + { + "address": "26F9aPSV1mHR2wmqWtiY2FdXwiZG6GC1WxZ", + "secret": "5207daceea9d884ed6e35ce719fbb356a33d6a2013e1d1159d021da4cbc4ebf1", + "public": "03d41debc510d99b3be9a3fd290ed44cb6edbd4c94fd6e18cef6faacaf8a931e1f" + }, + { + "address": "62mX2aD2aDNfh5zCrrLAyw5bPPoVtsmsaS", + "secret": "c702c01d2a48e072f21d811535ec30edf8d1940957ec61bca0082e3959f6b2fe", + "public": "03b1daa11a074fee7dda44270d842753c49eb916c19066e85bf5bd0608409060aa" + }, + { + "address": "QroU1WomNFwEpKNooGfSVqJhaPepn82jx7", + "secret": "21e0c30a0af7930ebbab4de7723849b2c712c670d8caa66c7a600c44774b1f30", + "public": "0379bef14165a6c65fc2bd41d11077d25fd4701afffb0e3203422cdc85d0cd2b88" + }, + { + "address": "B2qurPj5Vosgdb3vMF9tNSbzvCwQvZT6Vt", + "secret": "67538ed445290e3552443d4b0b5def55ce9e14127055b89ca1a58a21589896e7", + "public": "0374a42e90a4336a0c7147d624f69070ac3ad046a3c2540fac75d874a518f2ef6e" + }, + { + "address": "rKR2aYWXsKdPe7TfeLCKpC99zZe9KrTjMK", + "secret": "4249267d631619da0bcbb7296779c2c74df42c3a21e7fb0241e9e45ebdf31bef", + "public": "03d0abd9eeb44e08e9e57f2c750657113eca20b16bf0ad63c46834bf526b9c7067" + }, + { + "address": "2fH2mNcRGcwTqUhi6yBhieXGuU45AiR1rSA", + "secret": "c1bbea6cb9ae73181b273c5f5bd7918b4c28d0e3902efe8eefa837a03c8b6f61", + "public": "03289894de48c672ca592a35fd083859bbb1d991d77cfef8d20b0fed1159e80e3b" + }, + { + "address": "61w9ZrrWmSXprKv87Nt4QRVf7vy6xZxx3S", + "secret": "9473ca381c03ece2f1895ca34c58ebd8ecfd6469e486d8e15baff9badbb8798c", + "public": "03095b664426e488732806e0c08b4b7e5cd49a2653c029eee6931b93cb361130e4" + }, + { + "address": "EiRhqw7RKPTSwmkEUzmWTB9anAfxB2u3HT", + "secret": "847acc35d8932f3f0d2e9fbc57557b949be580e93a7228a4e6b8fb154f448208", + "public": "033f3d37b184bac7eccb3fbe9bb6f3fc1416f7234b8670b67b65f8948e8f8fec16" + }, + { + "address": "2SNQebSnRZUyMKRyEZyemuRZWPiiN4iSUSu", + "secret": "b065935a2dc91950e4381a88907ea5bcb081eb9115e88e573c8ee73baa3bdce2", + "public": "030d9f84a7af08f7d8b104113e72e1bf56efa5cf8f9bec50356f442ac71fbcf767" + }, + { + "address": "FuBAryyosutbMmanUFRzJyqwXkwh7kdGEU", + "secret": "0ff066fed0235320963798399f2a8def41aa9700d2f84205f6caa63422ba6dcf", + "public": "0333e807c0be00d228199cb50869176b8d3021e58faf2f3e0403a09bd010216f28" + }, + { + "address": "ovUyGnQCsAFCY4CzfNGPfpBNe4L1yXoPS7", + "secret": "cab4652334411dc9504f420b936d5ac85a6a50c4bc5245cec04e08898ae6a236", + "public": "030ef30e7219e020b9f9e77240fed42739b5b47063373b8e5fa2a4cd19cab80d9c" + }, + { + "address": "z8EFc9WUA6Z4PnWDHC1rcby6mMxR6yq8uj", + "secret": "396b40376a1f66fe79b8050d8c2b7fd72c5442429cea1de9c3e9b7b10b93c36c", + "public": "032194941eefbd5480556832f47fc9495f2dd4daee52153fe4bca687f13e102c54" + }, + { + "address": "2cgrysvL5TgPD3Zo1bQ7atHePjU7pBbi5HM", + "secret": "66dd774702819987b97c150b2baef6ca69d7fa77b474ae6b827b434a4a22190e", + "public": "02e84cfcfbaae65066fc96271c87c2a74f6af8870cd5f90b19003abb2695bceef0" + }, + { + "address": "CBC3XTB4jQeeQiw1K25MBVy665AmN7ndcS", + "secret": "dec7e76355a27ffaaf7d706091b3321a877bff8acd255fda5a34a21819b413c0", + "public": "02c7e48a9e20852a8e25ea0670ac9a320c682d4a2f1602c1ff4b00e00bde283e91" + }, + { + "address": "x8Amv5taKJPoBogmVgNJjtyddz21hYeGzY", + "secret": "a11279a7533f382fe1c4797a35ca4c8e62577de9d32be5002037abb63c917937", + "public": "037d4322a6cedd200aeb6403700b5f723b8a4aea1f922527657572ae7da751dc8f" + }, + { + "address": "2f5JG9tVG1eJsCV6MiSAXXn9z2qLu1WwPBZ", + "secret": "63cb1ce295c72df8d9a5cdf619aaab3f6531a6f8f428fb61676f319f6443b1ba", + "public": "028e3738fa11f56333e6c6319de2acc192d998767100b079dec938c66c33447d10" + }, + { + "address": "2YnwtL7Eax6ALym5ZhtbZc5mVi69SAQa7qW", + "secret": "fabc193d52d4bf936067eadd28c936e7c4bbf5b65bdf904e00cc80e7aad8aec4", + "public": "037e8be0c5076b7b7d9aafcbbeb1deaa872bde340171362dca6a32595c08a71501" + }, + { + "address": "n8VxbBynsNFRjMpjx2PoyCsqCobNd3tTGy", + "secret": "d3b704c0fa85c62df383ef4c5d691920cb56f8a2eb0c676662349f592b2fda35", + "public": "0223c0bdc26f80f6b8689286475a1f6a1462b3f763368c8926681dc212e8a49d37" + }, + { + "address": "2GcfeP65kgZJsQxgjTnAbUDNXUX5pMS6qwA", + "secret": "3084c64edd34f827750497f7ae3c432484bc86ec1ee03c236c83c10c2189100f", + "public": "02cd4aed33c68c2380060d807b2eae38c8460bcb494a68882b3560e5e917808150" + }, + { + "address": "SC23LSoVTHMLfdsy1dZA4ysYzLWYwLe3VW", + "secret": "04c3536aec2531dbab08bd614adfd9839150b82b8f15cb7a7228b04171cf9310", + "public": "0357e08cbc0fae044ee6109394bb70675c05effee3d0bc76c95cd1f3814498dcb2" + }, + { + "address": "2mBQma7LZa74M3WFJCws6dwZKn3YQBMg6rA", + "secret": "aa5e825ace5471708b05f3f50929c180f85e8cc19db9975bc02934a3e0469cd2", + "public": "03474646c2920067a9fe223c1ba7411afe48327370afa1298fdf08b8077d9ee19e" + }, + { + "address": "2FxdQDCLe7c1mhtKGJEnj5sTmcyoEuQwit4", + "secret": "5732ba0920c7688da18a7d2313c982cb4f05de6c8f8cd953b57883c64d19d01f", + "public": "020bd054f35df3619681e88b8f5b1e02d16e92136067ea29d0e944065bc17febe8" + }, + { + "address": "opjMWDaZnfGytaigCzDS1WZcMRCZQEvDSh", + "secret": "960c1024d6b803bb61d729f56edaca88bebd8dd25d611cd90f8c1553d72cc23f", + "public": "02c6ca3390d4ca5b9f9d8ffa81f217438b371505f7943f1b821ccaf267502896c7" + }, + { + "address": "287avDBot4sKcLa6uVHX6CEActGrW5z9W8J", + "secret": "0b7f4c468e9b57a69e7af6887e055ff0bc9b6c0dbd236c738b8d83e515eba25d", + "public": "0297142932f8df1b0e6def85fad14db4f5e99cc34a2bdaf9e1d4d94d5d43ff09b6" + }, + { + "address": "VDkbYkMPHKbXHs3hLyh4XC5ohQVUeyhw91", + "secret": "92e524d5eaeea948e6d5562488d971f0e4dc45d2a5f94dd4af7191bb91b93fb6", + "public": "02a5d4694d6485b3b9bc18e875d04773fd35eb4bd68cfa10bcc6e9348b5c845965" + }, + { + "address": "mAtUfYshMbtEJzjuKYcU2t6T3dZe4y2khb", + "secret": "c553186bcc8b7b6da5dcff3f522153b6a5af4df9e358f028e3fab1b02d7a7dd9", + "public": "039a29f469d54ff46f32bc5f246aa5c3714480304984e3232b723838c4d06dad0a" + }, + { + "address": "2NAdsgf4ZJJt5mFNw8at8hCR5RMQDNzwiwJ", + "secret": "652f9b2e81b4882b0a3ed0acad1870f906c47b741f3264e9437578270a77fd6f", + "public": "0224d49247228129e7e7ac57aa56be2d2a318dc57841975d5d11400ec226101326" + }, + { + "address": "vcGe4piafnmA7HooScfnaPoMeAUzkGV2es", + "secret": "3d36f0ff8d896a4e29ee908c90269ef4da1950f5d43d709d46ebef82b42ec902", + "public": "0232b6196f9a91a97bcef66cefd06ced834b6e57962915762b7f3d93347eb7512a" + }, + { + "address": "TU2RS7a9ZDUuj1X7fTBXhqo9jJpa5wRGEh", + "secret": "3404371d8a927f2b948ad1050a085d8c152051e6ee97aedb77c44ed3f6c0a86b", + "public": "029b1d98a32c56d68abb0c7b74f5508b4b0cbb23ffe2d6c53e7859c8fc047ac16f" + }, + { + "address": "2d7H8CquSYs2nin9jaZ13hGZta5FsStFZo8", + "secret": "5039e52f7321bfa5b97ea5b6bc585df9e54d5e5d1a27758135cc842b65898882", + "public": "03e9ea87ac0e016f2fe8b789bbfa4a941c3cfcfdbadae82c4c5fdb13b5ba7389f7" + }, + { + "address": "AvV5YY5QUnFLLSJMKhu9DsuxxrZt5wpvdQ", + "secret": "a75da19d2e65a262e1a3560376e2d292a741f3a4b679fc3b86a6f342c41f7595", + "public": "03388b89a69105f3fbad86cff7edbbda8c7a6b65f670bd1ea65c1bd29ab8927794" + }, + { + "address": "ZnvGRWPCyM8BVpFWNMwAuNJu3W9Qu4EcjM", + "secret": "b36e756f2985b372c860d9c8ee82d701446a99df55369a09d9245cebffb7f6fc", + "public": "03211ffaccb7fc6be9ec8dfca941bd18a24834ce783071324e7797167966c169dd" + }, + { + "address": "qoVWHHmz3cst7ejrDs5Ak1veNqXvc6bKNs", + "secret": "6d9ba763e4b5ece32546a46271be8024627663f8a05eb90cf7ff10aad43bb0b4", + "public": "03ae2573c7cac526eed1b7ea204d98b57b905ccfa565317562903238d9047318b6" + }, + { + "address": "27WSr8SckJGeSd9wZeuWmEXhkwZagupQBhQ", + "secret": "0eed689ddc8783a2d7405b3c7b727f5e283adf51a79c00633e06f4d7af69ea71", + "public": "03e01b17ede565155704d1d38b169772189c572f3d8daf7217bf10cfdec744f00e" + }, + { + "address": "jfHgeppkfWrLrfLDefT1ubVcX8CZtEHrxd", + "secret": "ac6093af30358cd772157c99144ca77b8b51374d4d42d16ff4c044a79f659d1b", + "public": "0244bb127e905e68ac4f77a02d36f8bd43a180fdfda205c5dde80c216027fe5d3d" + }, + { + "address": "7kUKMbna5G2BnYdRaUNguDcRxZqU4DJE5Y", + "secret": "aeb2ba2cd9a26758c46ff42fdd59fa2e109a57a2a7e0b6a71cd929cfb7d3c734", + "public": "02020ceac637c2e0a627a5b495991925432b2f38b278a39972c6ae3e77b5cf72dd" + }, + { + "address": "uXumjBr72CzvyStXFAcQZ7KyHazCGC7bYF", + "secret": "3e1745a1032a59a4f381389fb0371169a87286a29f9d7697d095b5d65cca2457", + "public": "02da2344d15c5d43d19b9f350b1c725c636004934f087b67b240fb44d674344af7" + }, + { + "address": "2cjZgqBybtHQNio2h1hmb8W1VuNHZ9CiJMo", + "secret": "866bb52ec8c6e51e52120b64bc42277b0123c5d200ea17d20cf365eb0f343087", + "public": "039391283693aa699e839a7ac00962bc23dbb563882d1b5db5774418a5d16093d4" + }, + { + "address": "2KuhVZmuxygrtPKYXygnzWmrJxyth7aHmHo", + "secret": "114e79415b9b6162578bd08983fde25c8708fbc204669e32d244761adf81be6d", + "public": "034f94c72ad911244a5dae6a7d2cafd9e1e88edf87d244fb8478ebfcc607c8b5c0" + }, + { + "address": "9f51KEwdZ2k6fbJKw2No5QcEZfh1FcQT99", + "secret": "e36c8f6818e4f3a759b1f1c22339cb7a1a560bee4b590270ecde2789990280a1", + "public": "02dec657da3437d526c7bec71d91cbe3ebb9993e7cbb69b5844fe8d02c035a29dc" + }, + { + "address": "CUFdMUnVtSmLtXAC5ktYSSywEaQ9uxUivn", + "secret": "f8c15fcb6c56e3d1a5f13b02f3d6f3d751c9f113ec3837ac9ca49986e5c79938", + "public": "032e56e60227fdc1c4e7100e1a5bb8853c102efd072f7e3d3b255d98da7645e7ff" + }, + { + "address": "2QVfVHQ7c81vSHQjXwjfueUxmycPXeSoh8p", + "secret": "dd71cbe703a2aafbd6e4e9e33d5dd9845d432ca8c16dd0076330cd2aad1ea18a", + "public": "029f3682ffb06648d5ccae4e579920840a162e884cf18ea1c76f7861038d41c715" + }, + { + "address": "2aT8vQA3MncGyw2XfhqisJUuTeL8gt67r7N", + "secret": "6f4002a5258fd36acfca3ffca8f46148788346ba97e290ce1580e3f0e40a67ed", + "public": "039ca89216842186b5d4c3d8824d9a62aa7e6a7258c51fbbde2b7582c6ab3cfd61" + }, + { + "address": "2LjJYUvxEeiuSHdmqa6WriCcrVMUgbYsC4g", + "secret": "9d5b1907abaf169e86622e520f46530b15016a3c56e6473980783eb9e7e3bb1f", + "public": "03d47c7a4ba64efd5ceec1d90370dcb79c4a5792334f2a8fb3f816ab3de0aba6f3" + }, + { + "address": "H8WyRMJiyuttgg7raK3MHvuaP1sYYVt2GR", + "secret": "d8d258e9d6ac67a32b2bbdb2fe56c753a3d4b2c45370c2081f539c87119db3e8", + "public": "0237505507f545ffb6e5762d3ee5ba7b2dbe03e1cb0b73454538331009dbb06474" + }, + { + "address": "RnvXdAurMy5aeEpGKfanQsphVYXtvPvyws", + "secret": "b3767d3cb4903870b7c40b50d235366e58fb24c7a2e5ac1607ced94126d308e8", + "public": "02cf83f66d10e315d6d84644682cd792e45cbad330704c7fc8951176c301ce6a09" + }, + { + "address": "2EGguQkd9xNM6rz43bQpPH5SUBbyPCypu2Y", + "secret": "544b281008d4de4530b39b3cbfa257b8d6c7df865fadb0f3ff875f0a024f16ad", + "public": "03b2d7195dabc09a3ed2ac92d44436ad57e5150d02be25db571fa2a9db513c72ed" + }, + { + "address": "2Zo7LMedeibm88xHbD6BihxYF9VbxueAsww", + "secret": "10cb3fc3bfe1039921b82dd2be1a036ae7d989ac5f1308441e7cb27bfa999706", + "public": "02b69743fab8f7ef1c5572ed9efded6802054e8668c8372a718a1ed231f376e9eb" + }, + { + "address": "Er7xL49Yz8yTdxTHZ2aWF899fZwuBcN2w9", + "secret": "ee2dd1b1a27c83e12f78fd0eacb66c0b9ee63f71f49f62f2163cacaf24c96724", + "public": "037c596ce52db6b28e1a9080c0e8d0914768e7f7cb4c1b56ae01437602d91c14bf" + }, + { + "address": "Ssu5YEgifibQKpoPKNZmwPVAKEt6gdqXrS", + "secret": "94c8c227b8cef1971f0c88b79742da648da391682eaaaf72639bfc516024ce14", + "public": "03e6aa8cd03076584a0664a1d61609e20ea12e900eba179c7c0f1c935ae90faf52" + }, + { + "address": "6ZEir4GMrZ9dCu3LjF1txAyKxmHP1Z6B64", + "secret": "567c951ab4d83106e0ec0dfcabf84d9d4f553e828a8bf29ba3ebe2c3f2f6a6df", + "public": "026eb292c89a292a5386cf84cc0150b9d246b80e7993b15bdb63ac6ad84ff3ebcb" + }, + { + "address": "uF1CcstJsQwissNWqN6HUzbedUVHeWN919", + "secret": "3063086d76d5cb9e8a6b5fb1cfe9cb962dec10b02f84b52823ef66a29031b883", + "public": "0374369d1129cb7e0ee36c245f1de5cdce492addf44a3121fadc088aeea218b41c" + }, + { + "address": "LumhVq7XrSSzaV6EcGFcNJa2PRhUw4EvRS", + "secret": "b8e85174ad383c1b31cf412e36a8dfc5c7a70be075bb6dbb3f1265c8d45a1716", + "public": "033e763b16e8be84bf728c03a8a842de3e9b668db298e1d7a9a42fcbac397a87b9" + }, + { + "address": "928Epy9MYb3aXiSX3jViUK2quJUHddzm24", + "secret": "3b6bf331929bba2a60117ede5aa6e82be42dcb59fec6dfc8b7d56da04229ac15", + "public": "0247c4215f2b6d5b7e9741b229653aebcb9fd407023ce710dfa8a0dcbd6f2061b8" + }, + { + "address": "x6fedkRZ2f3uAFWYuAhMHbwvezuW4YakrZ", + "secret": "be633fc2e4797327d173ff4129d17b7f00164cdf4e6bcda36575ed50e733f6be", + "public": "03b73a0b399d47ce4790adee1f5b7cab3beaf7d127ce8137d93fd8dd0589e69fb3" + }, + { + "address": "jzij8bbtnsQMJox9mVxE9Wbt2cZji1av1Q", + "secret": "6c5f2687c2a14db0bdd44e293294da17b6c48cf1a245dec3a724a503ac7d2d20", + "public": "03ea4ff6cc2f3bc601adfad608e0558418bf0982b803bd6c61fab1d5f7082504bb" + }, + { + "address": "24JypXuBsutTE9Au31byi6cgYUVfXDa76Yx", + "secret": "caa801e43715a4080604ab1962a74b6985481a4c42377f5c210b969bae817522", + "public": "02fd5562bea861fec333eddd21a49611e9efaab8e593b7f8898614982e414fa537" + }, + { + "address": "sq1oxMdWKu9y1GqYDQzydUsLsnCaSsgFdV", + "secret": "115a9ee9d3a969c4c6777347e3047af13158f6b2feb2f96a207fc2bbbe6b989c", + "public": "0357723a1e36cfc4ca932d05aef4ff571a74dd01d72bb21df6a1df2b6dd6634c06" + }, + { + "address": "XF3MJCJf34rbZ71QSmTWzsc2K1EW5zp11L", + "secret": "a15da09058bb45eee32fd2ea2421f1cd9910e1f822355aada7abaf98ac09820d", + "public": "0296785ce0760c05db6e9f81d1650d5dd71a70fe9881039592e91f3ae1f905cf37" + }, + { + "address": "2MuLPu4CtC8rCaGvVXdaFsvZCGEBSFquKyT", + "secret": "c2d06a485140ef111c0df041d019cf7f5f6f2a57a88f98b4818bcd3471fefbf8", + "public": "02d037fa293b9c13d7332fb57873a5c9ef6fd3faec48e2192073e4cecafa383c7f" + }, + { + "address": "2AjTTLFwqFBTv9B4TqEttxgGxd6qdb6Rc95", + "secret": "00755ec32e300f700b65e584e00d642a7f94b68bac09fa56d9dd52f68367d06c", + "public": "021767b3cb8da064c221e18e5da4aba858c0783253b807cb0e7d3034e2a6971a40" + }, + { + "address": "YVao3N44KWz1gWwFA99SzE4eEWuiNDQa6", + "secret": "5d419baf49e43360a2db92ff445473ae5369a3854274088447f3b8aaa730e4a1", + "public": "02671cc9348c2b37412f7be7f44cfaf887878faa61ba2977d76a341121ec8543f5" + }, + { + "address": "2B6CQHAyf7hXBdujhdth8m3iXeGKoj1cUy5", + "secret": "5ce953dbca541c64186c6cd9be8ea528b4b2e46ca018da86c568eff924bc2950", + "public": "0346f13ae7df82aeacc3f1a0264b7e1d710f09e8464acd68989bd4009d8df44912" + }, + { + "address": "9qNtyuayg8LsLBxwByHFrSo6dMK5okoFVj", + "secret": "22c33cd73e3c93597e7a30e0e2f7263100dff55d1fbb1cbc28862a4adc01e393", + "public": "039f4e4dcdc790708675a86f89ff79ece90e2d2db6963453bb05639cea1277e0e6" + }, + { + "address": "KEaVf8Zwk9erYrwqYg5vLuTWGDZfFZvzH6", + "secret": "52b2e3d1fe43daef1de9ecc03f26d769d2a585e75caf027dcdd8e9a001de559e", + "public": "02e4ef2ea0fe31a8cacff87eb21d60c54bae50e6e69c725c06dae4851853c1f821" + }, + { + "address": "273HzqvvGsbfqN4DzmLXSHwxoQGvr6h2JDa", + "secret": "76ad5b4e12a5ab1a7b8b229bda86214d00a8c96a48d36ea2b10c7407ce385477", + "public": "0251e9738384fe9bd8c9bcdb49db45b37cb817032ad5e972bbc4e62fe221f6537e" + }, + { + "address": "tCmpCM4QEmcW4KmfyGJHCUGtdpwKM95M36", + "secret": "430d620b2194fa6ae143bf501ce4c6afa86cf59deff48e94d4a61aa0eac3af84", + "public": "0336454abd9fcfc96d5b9089939265878f0c192beaab0266792496b3547b999624" + }, + { + "address": "2Nr54S79UTeMQai98FHMbytUvoYpVhhTXSA", + "secret": "302e30106eb4510299016075449887cfe695e7b5bcc64acadd2b9257caaf8307", + "public": "026f54ddb61336452eb33fc82ce2eaa1cb2a1fc463d5061a6437e6a379763d6725" + }, + { + "address": "VETgdwGFKAc417h7jG8AcpDWvVaSvJja3A", + "secret": "ee896d44fd6a6d9a3c5d54843e1d5e2acdfd8f8b94a89e971af11250b7001ab6", + "public": "0321a92b89701a16780e524564a01b8a8c487927f6be5e5d1e8e503c1db8b6656f" + }, + { + "address": "aDooZkbTToo2zhsthv4DLzy4b2sB1hL72y", + "secret": "5036311405ab856a08752b575c77f9689d034804fd88013cd61ab1ef8ecfdc88", + "public": "0332eabe8dd5ad5bf2df2eed4c194a194688f55d559873362e19879486395404fe" + }, + { + "address": "2TeicjTeiN788NHkpLCYXabcViRYRzyHnS4", + "secret": "0d5615b3585c8039e8111839037d5f278761e3e2516ee747b92a8bdfa8a3042d", + "public": "02e46c9b263f06841bb8df6d05edb7f965272cfd7a84c79a7cc34eca522f3d5aa7" + }, + { + "address": "9gAGvw6ALttV6qsCv9yoHn2duKkvawUMT5", + "secret": "4461a0e36f4e178dd98d073e524f6c175c4af13d69e5895ca7d113155b7058b6", + "public": "036d44c748a5f4a0da05e9f08412ac59370fcc1456657c8da02696042b6e549319" + }, + { + "address": "2RymuWexhMxWGqZMK8H7gjcpKHYzJ7KTW3K", + "secret": "fef98b243643886cd6eaeb4b03718b2583e98a5cd335f7aa145888df0e3e62ac", + "public": "0363f7994223cc65f5c344a5418bedd4fc7ec3f153651fe9babff0e387c07cfdb1" + }, + { + "address": "tRzJDgcGujKjFLvhiP29DwCFcSENXwD8NQ", + "secret": "c550510324920ebc38c2b3d8f7207b45c72f53146bbe75297f65fda29adefe70", + "public": "03f1c9b77f74670325f9ed5c9144405e227a4ebc19fa2f71f263197cac542f1090" + }, + { + "address": "4fnAyeKwaaFqhL7KpWVk3dXGjTUKkZMWAE", + "secret": "adefed215155b9c86cf6b529cdaedeecf54813be2a92b7e25cf3607b635def63", + "public": "02b9ee73048d5e1547f6064c8ef19a40e334c239a0d50e2e7742881abccf4834db" + }, + { + "address": "cUg6C5xPeULFUYAi7k5z825UCFktGr8QHg", + "secret": "6ece6dd12c75bbc6147091af4ee1eb6b9ca83daa4c8c74fb857dde9a559ff354", + "public": "03ea642b0f6dfe84807c2be013b697e811b056f38854185c0624e509fb115696b9" + }, + { + "address": "vJVpVYYvDY4mA8kdrtuo8W1A1TeyRqou8y", + "secret": "a1536d32a2a0b53847cfc69a2ac15934c8f4b5d5d3601a7ce683f454c958a9bb", + "public": "031edeb3a15926ab996d39934138f4776c8903cdd2b3373b93464a19352fc0119e" + }, + { + "address": "y8hhvxPjZpinCChM9K2PLDBW4g1av1ZcHE", + "secret": "e29e15da9d8b981d7e511eee9ce4b3320b72eb476a7ea405431b15ebb04e8a9c", + "public": "0220c85610ff73b1eec67c09305d94cf094acdde37396da909de697e6c2a91f9ec" + }, + { + "address": "2mMfN6DGbDSjaUVVkigCvBUvrW2Te1jkWCt", + "secret": "8409735d24e573dd2c8b49f9eed1a4b43a92a0b0538fdb1a3453b012b7862c41", + "public": "0203e0317f62b21015090c038e8402cf9f68e90b4f309f848479290fff989ea77c" + }, + { + "address": "2fZZnSM65DF5XKtnNttaVkNBAEky9GNdoEG", + "secret": "ccc43a9f9b194263c547e8bc7c386513d0aeed9d16747e86ff0be5e70994515b", + "public": "0358b3ce59c1362d05214c30b581fc4571053672e84c4a7bc2a94293f4b3f47c89" + }, + { + "address": "8yh8LN8kFCg3pXqEtzyTKNMwyjNAVDsNVU", + "secret": "38d2135b506023ea860c37fd7b7744daa81e25f170a746cbcd7dc0ecf54e2415", + "public": "02112e98e0e9c524440a36f77cab80a971369f4e21d9e19492481318ccdc081090" + }, + { + "address": "jkFvb3j5YzTCg1LnEKrUGnjbAQmJqFhHuc", + "secret": "be596616d27c8e0396ebefdcb1897829bb39a7710b92f17548ae6812cb367b2e", + "public": "02959ca4a318184bc71c8e7df8636fc4d6cb3704386453967972fcece861df57df" + }, + { + "address": "m7QnzaABKgNqx4ekdVLf5SdWGUxVSFgPHP", + "secret": "d1c9d0827322a843c37fe58d3169d145d5e8477f9714e44ac6575de9f20c5bce", + "public": "022169ceb4f864b4766f7f1c085564f1334a63c6c7611787ea7f80828d9e41671d" + }, + { + "address": "2Db6fRqRY7fkYpdFMp7ik9eSicRHUPcXXuY", + "secret": "1ca5d69c367a4dd6f7ad4b702825e17fe66a2c0a6e219b03f00f4648598b056d", + "public": "0215e7d934e04d7b12385ffbe6e55b4dd539d4bb45b138396c18c5aa9854562896" + }, + { + "address": "6MiD95xbpTiX85WaezBFMx31qHU2Cy8mGb", + "secret": "cc3e2454363c09febf2940941b07477d226af5ab09d598f57818423586ddc3a7", + "public": "025ed910484ad0d8d837475339882248638efa73f1d96b29ee681b8dd1f3e710bf" + }, + { + "address": "2j3PE1Gnw7dimka8tbe2DWM7nadFtKZDRCi", + "secret": "b33249380ad2c5ca60577db005bbf15e24cd260e5dbe06c8da9e877373d79bea", + "public": "02e90a239e782a8dbfbee2aac3d2d729bc45059a80f67ee3d52ce4e24b24a7aeae" + }, + { + "address": "oUmQZvH1kKqfKEhj9EkjPH7mJsDd9PekUH", + "secret": "ed2166711c446df7efe1615619a99ae9f9192cd548f28c2d76e0ef224003ea01", + "public": "03f2707b4ce0ab1664b4ec6ca958e9a6ad53de97687b933b11f36309c3ae9463ec" + }, + { + "address": "P381ZTCxZB7XJgTBnv8Je6YdQj5oRCnWrV", + "secret": "20412f51c1283546151fae13238c8173f71517e839df2399f59d6975d867ba00", + "public": "022fdf6aab50d1c7ba9f07dca660507294c2347e9f0455e9d906a8b76d46232be5" + }, + { + "address": "bvjjm4USaFY153twBg4k11mKKW1SZri7Kr", + "secret": "9ebc684f04adf27593e3d3862042c867d9e7b93a15486d1b910cd3df01d6f5e1", + "public": "03a26dd8d7c5536fa1ba0b8ea88974a1449796bd7a03613c7a8d0386f634d83605" + }, + { + "address": "SjAB5JX8MngBBmZqHAQv6b4xBf8EU6TUdH", + "secret": "ef9391016d560ed1bb76e27712b3eafba14a97d765e3a2c95e4a33c91e3daba7", + "public": "03e7e8262b1b397ef1f5d956b9b4ef46a87670c6e74bb84dd63d649074d6a90d95" + }, + { + "address": "AaowUNsWWGCTSQt8Ubg9t7t66WXgNm8qj6", + "secret": "ce21b58c3a7f7eb5d7c5231a906215a39d13771d903ee07b1bd6ed2175180f68", + "public": "03c5b1e76ad124d9558599a670af3f196aa8380ba2068a3f8fd86b78959553af50" + }, + { + "address": "7M5c2bpc6vChU5LjgSenmEiRxKvFrjdJRm", + "secret": "a9b800fd9e55855e3938b2d81b7ef5f38c3ca48f4ff6f16e2a846bc8924daf9e", + "public": "02db984277e99de74db246766d96923d0da2025588bce93b3002f67020bef74a60" + }, + { + "address": "2A5Bu1Ho179P2EyoNcY6iuuweMpnTo6Dszj", + "secret": "916a59a3fb9e8cf7ca8b57e12c479a3bececb4e2cc045b138c30d24193b2907d", + "public": "03f05db64aacd7f1872deade0890c84144ce00e38a5dc07e2880079f8e480a2eab" + }, + { + "address": "25dcnottoLnueHerPbKAhZRmUoXjKHpUTi1", + "secret": "787132dcc79020e6037ad2b33708a2ccf0221154be3a53779bb13ac7fff938ab", + "public": "03b740ebcd062875de83f984c37d71f1dbe56b054bb39ac1d1294d52e8cb702d58" + }, + { + "address": "Yez45aeDFBzSDLpLRT4j1ZW6Wu4dH487QH", + "secret": "b55fe82dbcab00982ae20bdc5d6d2205132161e91eb4bc80646e5d3e56e26deb", + "public": "024b71d54e31d943a04299bee61abaa0410b665724fddbc02062544521826b66c8" + }, + { + "address": "4wzjraRSLhkmQBfdzPYu9DcLoJCLtg4PjN", + "secret": "a0297d49a0ac7db02f303fca9e342fde7d3fa9588322a50be65711f3b33125ce", + "public": "0363eb9e525f712ce3549366d42944d9bb11f4489d38f61d30bf319f242f0bfcf6" + }, + { + "address": "PCgs68kierVHr2ZqQKkACJe5uFCaqn4Twa", + "secret": "362097a58bdd050e595df2f2e49ad7be2202eacb5a7bd86c50a9b44c9d10ad73", + "public": "023f74ca7041a7d9f3ac4c524f8686018d8a24a735fbf942b271ceb2eaa840c875" + }, + { + "address": "pJ1EMgaUEpeTSXu1X469gtXhjd6RvCjNq1", + "secret": "556e1fab62c57725765b5250062b6b9e3d2af8bbdb522255d1304f12047d283e", + "public": "020a6a5ab65ffb60e706fc1febcdbabdee7f8f3f916a2100dcab925cc8ed0b34c0" + }, + { + "address": "PY91kddKVU4mVe2pcM4ZmEvsdP25rFze7J", + "secret": "23bfe9afcd904fd9aff9838dfd1edd67b897cc9b2aef6fa5eeff116103887a6a", + "public": "038824148c1b8ecf7848dd3d1acb359423334c5822fc46dba4016da02810d30f74" + }, + { + "address": "2NRQSCu82A61Q3Crm6fMJLUuwEnwMraT2FF", + "secret": "c352efce59357fb758de15e09f00e2638b504123212003157a3917e8f41a2e96", + "public": "0202ccfdf6248cab6f045e620789fc7c9eb2a561ff80c2a89f0cd478b15d1576b0" + }, + { + "address": "3RRzhD77qJoXvM6v5D9qxdHfoKjUhnEYhX", + "secret": "63c1cb5a1c165c78c847548390a01b8bff6682a1b247373ed6887aed21dc4bb3", + "public": "02d608b2d0df929b6ab7b261f5670d53f406e27b2bcfb00e024dd256c85623b77a" + }, + { + "address": "2d1BVVuCTEhTxdKfKJnRYB1QZvAZQnzKqKb", + "secret": "c888dc692ac017a6e7937fe04612473ee816f3f35c0a5a099d13adb9af7f7571", + "public": "0219c3f2baf3665dc97ddbeabbfbda43c37f9a797c66623c2d2f991e8b39a99858" + }, + { + "address": "HqZLYWBYACeiSgC3ZugJuq9hwgmDTrDgRN", + "secret": "fd1780ef43c24ede009e36107e15903a29fc150a1581a7844370e440cc922e56", + "public": "021ebef79e0e5afce2d4d4eafb2199cd558507ca1a0ab33556c464b41b020aa5e8" + }, + { + "address": "2cXxCXNXbFx6vF7AyK4Jq4Tn8gvL1tGxjJZ", + "secret": "fb90dd91878c0a09f823b8142f71f702bbe2cec4319403b37967e17cef6aee0c", + "public": "022491a0e903acf81c62f8e13c2e342905374acc4afe48b8cf8650f269899e5bee" + }, + { + "address": "u1qW96EaRAuxaKWTJT4Uu7v1EEiiDkDbpT", + "secret": "5a3211ed2aff62a77006ae14b4af4cbece71e3932fe835cab03e7778b42684dc", + "public": "02676a8a39902a79d7057b177552fa7c99ccfeacd8d1ed5f4cef52d20909bdf067" + }, + { + "address": "K5PVBVZjJkg84f83p6A4Bu66NJPJBoVHYp", + "secret": "1214af921adc1234c210a62675b5c4b962be4708638a67b2c840b950a7da2bc3", + "public": "02ac6ece3449fcaa163302eed3e3dd9293a46457533e4b5f28c137bed59da53e4b" + }, + { + "address": "2Gg92Ak9qtPMmijPb5W6kB8M3S5J41qwJHT", + "secret": "7a9d1e7742bca2aeb4a5b1a2bdbb304293477bb14345676a27a2052e5d4ca1f8", + "public": "03eea804e1a66b4b00ab6957a03e07750b9bf716be5deec43642e20549f54af1e6" + }, + { + "address": "CmFiKdFeKorB7hsKCmjhKCw8UScJCfXx5d", + "secret": "7be562525ad05357770a38a48380a23ee8d1b9b6118ff0d36f1205d3b265727a", + "public": "0316c776b70f4ae4c158e68c3393a68b3f9bc76864c805386e93057fccde70953b" + }, + { + "address": "29tcDz14WSM58YkXMhaPJfiwUtTJDAXt2zn", + "secret": "c0bb01bbb159b0bedf44cb7ba6f8d688ba94370daa08bdaaa5b8644b57045758", + "public": "029f5edc881fd9c965626bd57608b3d39cbc03bc12891684bd3545e02e77932c98" + }, + { + "address": "23QXSzuMwpeTpdfag88sM7teo2BC2dEiqUm", + "secret": "34ba38674aef49b33ce5deee37b685e6ebec56f3e1f249c4d9ef6bb5169c775b", + "public": "0242e775c22b176ec52c313fdb2c070c34a1de75b9f5b0aaeb5c4f37858c7541e5" + }, + { + "address": "j2twcqftn4NGiaEKTG8C8EE8ThV5E854NL", + "secret": "646c729eb1df22aef8c1ae4ae5fbc493241b2beffbed8cf80fe29b59c61b5946", + "public": "03ceae5231f5e67bbc1958e45cd8e13861373bd273f8a014c031af845384c26642" + }, + { + "address": "XPNkBF8xkXbFZnwvJs2mGKVtzqbYT1sxMu", + "secret": "69e76a9701546342dc4a67b4b96d88387113cd0ed03334e76ecfb7f760539b90", + "public": "029dc62e8c891bf8996292dd7b9dbd4f35de762e82ca1e34075aa7772f3bde6340" + }, + { + "address": "2GWkZ9KZZ3tqL5b3WU7bWQBBAPTnoffrRch", + "secret": "e8b1495cd299d98bc817123bc3925aa58b43d80fc2e54f2572bce0ebcf890167", + "public": "02763f7a152c2190cabe16a1f29035c6c70b80a3636e5568fa4fdfcfe35094bfae" + }, + { + "address": "DmJHLWMHp5JNCFcpwt3JmxbywjNrne5jEi", + "secret": "8c2f4d83eafc53c13a85ff8035403c61d9e4c17f1453cf87b6be7b0dc6ef9e9b", + "public": "0371288fe9beaa9fc75a63444803969ad821550141e74712e9dbee02b21725875d" + }, + { + "address": "26jmnqf7s3FPRu2wLBqQc5KfbBKrkgtLerT", + "secret": "026406771a4e3b8baf98de0521150c91eb068422d37af2974bfc6ae0d4fdcd50", + "public": "03e47579aced7c10ad1c479e46e13e930b535ac90b628d29d89f6d02a75ce6bf80" + }, + { + "address": "2UUvsfNWQNycy6smEG8c2bMNyCh9qQ9P5EY", + "secret": "1814c9a6e012f1b4dabac7e7040adbe519e3e8071c15089b5620d091e3c26cc5", + "public": "020429f24353d0ebf7a17c9acb952df72b6364a010c69d5d98c61ccb462a65b2b5" + }, + { + "address": "haWRgQvuH4MdCSyjAUxzzunVLwNi3vgoj4", + "secret": "5ae9f61a0c40f15c178775033192c68581f7dc014a5c7f23b1f8342e853a919d", + "public": "022139698f089264428fe2e194d7ff0138e633f3b21cb39768b9c6f65dfa689eb5" + }, + { + "address": "28wV2r2XHDMdAgriHeYL9Mq1W7TmJufBwp9", + "secret": "bc37955215e69841e42c9881e284fe53eb090598f3f511fed533e3e82478e83a", + "public": "03c2c2c3a698da61e8a3d95744326e1015c1842aa84a091565cd3b235b1d55a16d" + }, + { + "address": "28WhxGF5tSuvWF4D9tSJqp4Tz3dAynY4rkx", + "secret": "c7666cc0687a4cf835972c65c58f5a395beca834eeb8c7e0db1e87de1ee5ea43", + "public": "03c2ed06a2d7c5ab80d35d0c792ef4b3c9630a50ebb6c23aa886d4981437c79389" + }, + { + "address": "etcmKzzd4K8NT6n8aTiMtUkNxFc8sz8vyx", + "secret": "a3fd517ccfa8ab4623d02331e818c4d713e26f7cc7d18b2a7e1125ce3e405335", + "public": "02e1438126acabe6a4c2eaff465a5b0899b4cf66fe762f92434d6ad91b44a3ae3a" + }, + { + "address": "F4YnpYwedDV3DSuTVgAqN2F7mikJkRhcTP", + "secret": "efa78a590bd91f5b51964d3a4537abd76f03c41d93e2f68923df89662f52d32f", + "public": "03b05cc039402bd180818546c50dce27f21cc34f85d0f0a108fdadf8a6aa670d82" + }, + { + "address": "2c6N2MabsomEg3JKDkch4Jpz29bsNU2chWp", + "secret": "f0873cd7a110412e885761425372f29c72555e50fbba2af0cbdc2745f60717b6", + "public": "030da68239a9b2f59b09726846321a3ab9268912b01802743098721229b4e36c90" + }, + { + "address": "23LApPWq6hQYCe6G4cgaPnYVS8pAX84FBaR", + "secret": "52aa35161bc67fbeb4db60e92872d737679da25a4fb65331f8ff49cebe9ec56f", + "public": "03038fde27b7f8ef7554632abf454ddb8e0dc428785851afb742599a4a69371822" + }, + { + "address": "xFw9ZDCbQFG7DpRiQPTzb2WNRHqrkj7RGQ", + "secret": "eca2b0b5b6b1d84723b01384112f25786c5c8f3445c941070a71cc76aa95ba88", + "public": "039b957325b2c35cd8734b8d1cf83facc02e497ad886940350a68e2f480768b0e5" + }, + { + "address": "268GpgoU9Hv289M8Hse1akwZde5ag9uj53x", + "secret": "2b5b22635f3aacc25b8e49aeef42bd6d64a02417a80e9ec724a68cb219a7c0a2", + "public": "02d8e1b7b6ceee82a2ed233139abca00cf638c8f2398d477f0dd06b4660e294f45" + }, + { + "address": "2FCo3HNQxWgh5K56mfG2RwLAvzagB6d1jah", + "secret": "4d9df01b27be68b30693b07335823009231b9da913c91b8e5d8b8d4bf0f52f5b", + "public": "0313287d7d4684f66fe587df1543766dd415c9086e8c95b8daba9242d0853b164a" + }, + { + "address": "2MpDqMjjZ5yULWt4CVDCxdPQGJVuGhaajfw", + "secret": "f54df30c69b3319ed9b23ab5a6b8f304bde489876d94a321929551d0a8308519", + "public": "02b67fe14d0c9341f3ac2aee4469517c8afe0a7e4377bd17a23016a08489f4a9a5" + }, + { + "address": "2Xz7wn9Bxb2tszHxPDNgewe4FkxQk4SccBT", + "secret": "2c1a5fd49bb16649b9a928dcdb0d3c1ecd6846a53cc59d1456883b7669dc89fb", + "public": "03c627ab67dfafd83933b644c17154cb3952fefd97cc88d80b4710c0e90f4175fd" + }, + { + "address": "sGEef8vBoVE4EroM3Zt1f1isXbpyEkQDMb", + "secret": "8a630f2682bd44c03490b6387bae44e5842af0b6b08b2b1c0a4549e73342fb53", + "public": "029d3349abd73409c2ab4ca0d69159dd09f3648abd85128f559a422a61499cf46d" + }, + { + "address": "HxKmR2d1tRHRXeAQ4tL7ekbi3MRfyHVWow", + "secret": "3d7de091a784479b3af9ca73d8dcb8646b055b33faf8ee18b88a188a6048bd40", + "public": "03fa8f11fc56eab51d0f1658b8476afda73eae0e5d4adb3af4e721fcbd732ca25f" + }, + { + "address": "2eD58A32HBAUhHVfCgF9udzJRdswTuuG5mi", + "secret": "6d6790b0807b0dc719eddfe623b1ea711075609d3be17609731f5d9ed05d6365", + "public": "021a69827e26d0c81e1fd1a690f84d94fc183bfc066e8aea1f0485ce1fffb4faa6" + }, + { + "address": "2e2Mr8MjvUHmMSf4DayyoVqgSerZyFsK79W", + "secret": "f09b7f763a7cbbcf01a63a81dd0a60fa014e0a96ff609dc544b3d003d0f82b70", + "public": "02746c6784634fb65f5d0b6a73a023464c47a4232831b548a57b5d4039a177388d" + }, + { + "address": "27JVEagjW413PVigf6ALjqNCgm99xS5jj25", + "secret": "e4d69a0e022f119941ece60c0b0fe8f36d93f7f7115fba75ba6c3c646bc0b804", + "public": "039ad4b9726873f1ddd35ee87cd49aafd1734cea699ed9feb3c5fcc6f5a20ab237" + }, + { + "address": "d2LgfFBTFTwxP7PyzHwpqhHKc4BLPbA5cv", + "secret": "fc46fbbfa893010b6b3b7a82aeb52290d58f6d14d25a68232f0143b99eb95966", + "public": "0248ef5a23acdf96f41e3a3f1b796baa6e4bcd303f223f92b34025f11f3875117e" + }, + { + "address": "DYnuqgGZsGk49sU7c8SFqCezEzeZMnYT6h", + "secret": "dc7b04fe3530713ecb0bc55ad66236040f3df7962d0f7764184059a5300de5ae", + "public": "023240e626ea68612bf3a722df5cf567052e807a555b63eafd3c3fdabab1aa60fc" + }, + { + "address": "2XpYsb37q5XDQHvtK19wZbsTrNzkH7BVc21", + "secret": "b2d00fb19032ca52ab73f6308248e3fbdaa6e747a5f00af9cdb4fa914d76e19e", + "public": "021a7d5d53479b596f9510b9fa23e682dc02930e715550cf70ef9844c62a9f7944" + }, + { + "address": "ucW7K9gf3qU3RN2b4i6bGxFYrL3woqAGgb", + "secret": "9ad70994a257aee7ada71f7f93ce52973febe7cbeeeaac7ebdbdf1e6c481dfec", + "public": "02ea5e47e063bdf92c93e0bcfa3ce25fba9f4df0c28ff008c6b17737bd0e994292" + }, + { + "address": "25fbmTF3vThUywruNQqVXE45sViGFJREY18", + "secret": "f62247d6d0644814ab52dd187d34a409d7e4fd92cf84525adb6703a1d85aad7f", + "public": "021f05d696dedef4f9739c6a7a258e49d62cef2d53c23a37a0a3589f95e6cf7b02" + }, + { + "address": "xYMp4hezFHZQDDyRZeAdv12fwaCiJ2vMdY", + "secret": "6b4ab66f5d8913678ba852718f6ea0e663a6433f7f3d748966b4063c3a6177d9", + "public": "0302f82272e3d4ab41c5f2d90af3d457f1317ec703cb28e10f657f34c4b702142d" + }, + { + "address": "2QtyuU4brhrHAfUTKba4nRTMzGk1tEXruVM", + "secret": "6e9aa8ecbedcefbbae841c8b9abf7c72d047ee02d02ab3de3235e02d24d9bcd9", + "public": "03eb4850fb800b164540382b34d7d92c07f054383c4c5e8cd6da2b2d721fb27c42" + }, + { + "address": "2kvThk3SQYaNSNN5HrjPTbTFM74vXj3T65T", + "secret": "bdf9c95a73abeb67f87cb4cd628ffe1c8f11efb6538feca26b50bd8697b6df2e", + "public": "02d4cec5d6667aee1afb4c077f34031b05879ab4246decd0eed08218a8bfca1778" + }, + { + "address": "gEnn3tL7KwqmVuXQgndgbdxKesw8XLwMJ4", + "secret": "e98a343f67ba8e50dcdd8d23a32bb4fca328fc6c3ed3dfb21646a48e396c0c08", + "public": "03a69b41e972c2735d740f1c1e96b7bfcc9c20d157c3fd6981170f5171fdb0a5de" + }, + { + "address": "QhJj9DnTETkK6BKN5hX8CNxoiDrpRvp9p8", + "secret": "e4e661663ed2750e8abdb0c6a66dd61bf3883155212c83e0d6e2ebfaf47c4138", + "public": "02e8d9982798c5f006a0adcbef9ec806a894bc88de7adce0b7839a197a437fc417" + }, + { + "address": "occqAdzZCGaz6ZHLmyW1FCSrRcL5Am49Pv", + "secret": "20b851a7b0615ceade0f4777e0d58b0f6f8531d1e367a4523f8f182d534bfe55", + "public": "03bea4e1361b538fe990a04555d9dd02fbf7f7b6a7e04fffa80914a5b1f5b9d74d" + }, + { + "address": "22YUVaU84KrbVogn9sjpATTEVH4KsVWdmsh", + "secret": "d75b07572d7bbd6aed033392cef11e46ea53b07a309e10a88cb13b7dc7b895fd", + "public": "0235ac4849583dde931ab62f283ca3b6788acfbcdc9118f95e8e70b9235b0f20f6" + }, + { + "address": "67Bvi6FjvJrmtVs8knw5jrhbB9CHbydGmb", + "secret": "f1ab28b4d9a4e7154200f9e97021b505680f2b6aff67b84556d3595f24b3526b", + "public": "03658ae2dfaf17d476e66d3fc37c60589a358dc2cee8a0da100745672266c6f174" + }, + { + "address": "234EUS3L1CSktQjv7Gew3XyuiWfuyYsW7zk", + "secret": "34d2973733c9907551bd889bf373e43a2e8c5b725c047f30fd280c11fc5022a0", + "public": "03f26a30354f239883057cb42ef7c332ab02509d0cf65abf0a4a62023a8d649ecc" + }, + { + "address": "rh4HV53HPjP5EVzovH1N3MpS56xEFHBWR9", + "secret": "1ea8940d0b18999efd6f6cf7d59f40372732e10abd9f08d2bdf366fe3daddbd4", + "public": "03eaf9fc065239fba9e5fc042b250988c52aa6ac9e5775d4719004b20b431297cb" + }, + { + "address": "2YzJk1MuPpnAvKXYMTyRM1VsgwrvsdxfjT", + "secret": "bfc39b678b8ab0c31baf501d510548b7e88f1a2c4c0d61a56d99ac334eb4420a", + "public": "02e73b0cb3d96c20b4611e74cdb81501f5dc8aec50784e021cee7e3a3599eb8de4" + }, + { + "address": "2EkVeCkNTSD7QEaz88g6tL72174si87xSVL", + "secret": "4412a0ad23f28be3735698d4a086e9c285a5f6ae1651a95b526f3bed320b3de1", + "public": "02fbf462883546a2e516aa22f1f5f06c89a6a3b7cde80b59e7ef39bfcb94a78e50" + }, + { + "address": "2L8NW3x6F9fnMVgosWWdEcXmdkt5Sfhkyip", + "secret": "da5743dd6f09bd139c9c6e2105843b19de9a3393a7549c79edf91532387bd6ad", + "public": "03fd90e6f33e338fa4e9f6111396585c124b83d6b390b39f92d072bdd862831d7e" + }, + { + "address": "22ZB5dM2NVyz13YiuwvW9X7uKABoEbHSwYN", + "secret": "910176e477b73d66007ae2f5d44a7bc71fc21891ad1bbfd988d8badcfb1fdcab", + "public": "036d9ba5504a7fa6f55577ee34b5e8f2e989aab504dca6ba265d26e6518f5fc5a6" + }, + { + "address": "2RcNdAmomK5hPkrzEagpBPbJKPG1YhfqBZX", + "secret": "8b656b8a83350a408db0258f81c1fff913c6caf10fcb53049be6cdf5f6850ccd", + "public": "03e0e7fd4a33c7e2af83e476ad5d78f5fa91cd8f16c5f3a3904875444f76b038de" + }, + { + "address": "mECP2omm6nNKCRbUUEA3ngU83gBtbG2p53", + "secret": "3306fa898776691df724ca8b72dd5ebebe9a166a9f107a281b7e83e0bcf34d8c", + "public": "034a9096445d1401a979fc821bdefa15f44df8dc02ae88e051c6a7b45a577dfc64" + }, + { + "address": "22nsdEVSxa5aDvpFPeyTz9qpcc2h8PLzRt4", + "secret": "e6fe5bdf75d6e4f7aaea16388cf2450fc1839b088c415bd3f7b9a65958c08f18", + "public": "03349d2964d9d6dada8ae6934b76145cc4d92bc43a41edb55d548a7da36530ed2a" + }, + { + "address": "2gadfsU9qYJSKcjYSbYGjrRXffK9grr74T6", + "secret": "56d995f35b80a3046af165ad9dc0a507ecdafa9a947403ceb63c79a3084be6ba", + "public": "034010692d87e47df712c37a3490f096d4323b0148d71eb06756d1153e47de9558" + }, + { + "address": "24krePYfSFjn21YTDA2e5FAWZefu8qE8Z3R", + "secret": "493102a3bbcfb4178ec7c1072631ce03f7f3e1d07d5876f07c3902cddea3e5fc", + "public": "03253e2a852b5aa4f8fe11d5d32cb8364dcd5460665935b47138ab945a1b7550a7" + }, + { + "address": "rcqLsBcsWXHodbDaCLHcjQJKSJ8kD1q4Ff", + "secret": "cc8d395693f126bdbdabb3622933d1c0bc148a2d929bc30e66e22f07421f1592", + "public": "027558c499a52a96043a001f8999a6cd38a3fd2527fccf28d12edbc90fb7641aee" + }, + { + "address": "wvFzxVWV9xGs2ppokV3wmpy2C9BcUe3DZy", + "secret": "e8e09e51b8add90be81a392196c76930e876c97cb8b1df408eec8df13c215b19", + "public": "028e99b6990ae84d590aa30acffe4b9a1fe5033cbbdbcd9971022c6e249b43d98a" + }, + { + "address": "21124BfJReTshKP7zKthRyLAkjSnvbo3JL2", + "secret": "f452d999bbfbe7da6cf10d8e602a09543ed716167649dbc6b260f218d08d0a33", + "public": "0323535070dbdc40d0e3e5ce3f1f75af79922dafed3f8a3d102fbc891b9be3efaf" + }, + { + "address": "KKqLNqWvbsMZ5sYKAZpXLZm39jZ8zUamy4", + "secret": "0fd7f48cc79b6252dcbd7a24d5f3e4099acfd16368f8f2e7c7db356ad1488284", + "public": "02cc8fbdac02a1050df58a28793247184b810bceeda25b7e2879ccc4b695cdfd20" + }, + { + "address": "2afkMQHbNM5EGuVPt69yjjzxfPsih4hzfAt", + "secret": "7ef7f98aa685734f83c7faeae4cb687b246c21998d29961d5899757814a1c28b", + "public": "0321f6a774876011ce97bb51f15a35ef2aedee2bf9aa9e5a2be3193d7bdd4020df" + }, + { + "address": "QqrvnPdiJm4qg2PZuhAEYWCHo4s9VRzQ1d", + "secret": "3ccaf169d3c906c5475f0d2ed148a6a0bedb23b88df3a16f485fb7a27c61f465", + "public": "031d90572ce93b645673c299b4d3540fcb11cac5137356ebff65f29e47e75bf921" + }, + { + "address": "26oEbwGTv2tGemBwWvbANw5z9oW1odHLKU", + "secret": "cbdfa24088c30d9c07bf634e84a739773b79bfadea68db57e7e690cdce00395d", + "public": "0320275a12cbc4888b9b0390de849c2bf6811a128212e43c2359fcecd2e5bc3fd0" + }, + { + "address": "2bNwEBFte5ezxWk4hVB2gSDzh3YTacKYxKo", + "secret": "a216d679e012a931b34ddf4716f4d5184073afd962f3ffd293cdd1974eb5e919", + "public": "03fca51ddac76f423fc3863eeb7681a564f75c16026da6bafa50096c6748bf4dce" + }, + { + "address": "2M9Ms8uouj4wVZSd9sJXNFMYMDCBrLQPwNj", + "secret": "2e3757e0b1c32e5c930c27f9ef8a60f8eaf934b063cdfb788370f0f4a0b12100", + "public": "03022caa31c325e86fe4f9f28b7a3f4474587722821c7e0384a7e05b7aa6a8e72e" + }, + { + "address": "ZVD9KiPi2BjuXvqa2uVSUz9UVvyt6bCin7", + "secret": "16d14664cb9c65122d76a74d8fcdf542f5a4badc4e63da12f9a2e21a49364142", + "public": "027044e66f79defc67e06bcd5aab6921a985c1a78e5f9c965b2b8b576aec5be7a4" + }, + { + "address": "EWFzgYgdjU6CVtPXyP4WrwMondHoPX9VSi", + "secret": "bf6f0cf4e0786300a07294f18d9c0619ee77e224274ddb0b4c74ef9b5ae12bec", + "public": "02c402d13f5bda635669b0b384e2a7f937ea3668d14c6667472fbe974027f338fd" + }, + { + "address": "frgeQ5LGCQiJdqbBPmzJrvHf7osA95iCN", + "secret": "1b533323661fc93337c9a09546613f13f10c0dedb756a935791336b1c847a012", + "public": "022dc106b9222bd5779688fbc75010ee6f24d9491a7db1dea0bfad969d27080483" + }, + { + "address": "2Ygc9Y4SWt6pErg3smALUqb4nxe8y3Aa5SV", + "secret": "5aff64e7ee0c57c08b80c66d91c5db5d0892a7a182eaaf9fb775eb77d128e731", + "public": "0349af83b3db967df7319957aad339eeb85550e57835f4acc07293e2eb353de8de" + }, + { + "address": "VZSQ6ji6oeLZgxd5Nzzt67JPUFzm9oXa7D", + "secret": "bdcf7de5460ecaca02d4e485892a4858ad4c4a7a17d57fdfa8f311a0a3b386c2", + "public": "0335f1138f086f04fba73c261ddbc263f9187454b9dcaaac91d2f628ff64e2d7fb" + }, + { + "address": "2UtPuf7UmE1RMaKaRnQnsUmHsHmTyv2GCqd", + "secret": "33f62c9b2d5984aaa7df578a2d8109a010f400b522d95294dad79d0579b69790", + "public": "032c2ca487f68198688cff80a29f59ff68dcd659082b8b28e850343a810702b6d0" + }, + { + "address": "CQNjG6VeT7XLoFd2DHxj7Bdu1ofdkvf9Hz", + "secret": "0d323574b86731c76d23912641b4272aad76c610641794f6008de85245d90501", + "public": "03cdb086cb3d513a001501591289093bff66c0e4694390b120c9997af573789fee" + }, + { + "address": "cFhdRpgfDXFD1d9tzSGTDxVkyexiHHbscT", + "secret": "04b1bc8cc808c62c32ff387b2cfae435b3fa48e6775a98cf564e5c77d58c4d80", + "public": "03214b11698b52fa5efea3549a08c69afad4d14d2e1949a267f29a7486f40d1662" + }, + { + "address": "EPqkNxDnvQorZaKoEtjGcGKURNcywr3dny", + "secret": "de6c09ad0b43723096aa1b5ad133a194954793f2005066d2f3f7f629bbd14429", + "public": "0285584deec2240b44f3ba9fa9380b39aed1582896e38fe0c8254bdb1e14bd7f0a" + }, + { + "address": "UhCE6NpRtm1Bd44MkPgVKToavRRLqoJbDr", + "secret": "3fb29d455a7d5917a88f001aec8bb44ea20d17d7a68019b4e29320cb1bcd4561", + "public": "025c453cb7b8c4470678976e1e08baf10852d9b28a5a21b55376766f302af15d32" + }, + { + "address": "j6rcr86aiDCMtHj57zQt3f4MkG9zoscywy", + "secret": "1e05688f0796d4bc347a92bac8748bca26fc4cf749836672d240fcae8b8ac467", + "public": "038b8875d803161483165346766f9a1bdea5b123b38d7705538d6a1d8d5cdf54c8" + }, + { + "address": "G8unj5XY9mKMjPZ66KNrADKojueP3FxpFV", + "secret": "4eb017d642be8864dd5c54d0e81d4804fd588361fa14f31b099cb5211a0b14e4", + "public": "03c0b736889e8cfa84b9fbbe9053f508a5cfe44c6148e0b575cf0d136204adc9c0" + }, + { + "address": "iEY1wongyqqfMMCwwKa6yKnrBPzWRv6Cjd", + "secret": "205d5d8cac7ef46d7049a8e360b5db56690c939178ca1cd46db8a686d9f2ca81", + "public": "026953569b00b6d1545899246f12bbace2fd78f568a004d0d08ac61525c0eb8e10" + }, + { + "address": "8MofVFHLEyfDbybjEuj8Av3tvtAHm7aB6i", + "secret": "b88a93973a8a62453a83c10e00817112922471d2270d1cb0c8490fffa98ff4a5", + "public": "034abbe2d59395e30fa5e769961bc54beaa08598370b3e85193a9e200d8b18213c" + }, + { + "address": "LokNHE2zyrZgjpXXWrWY5L5BNsXR6qJR6D", + "secret": "fab1c44ee39d0839860710e49df3f47b35d48465573c0251bd844fd90a6366f2", + "public": "0251740aa6f68cb3290cb0d72db8d9c03447bc747da7f272847417cc8e40330e9c" + }, + { + "address": "NXV5XL7rggQ8GAPDjJ62jpXkYGJ8VAXSba", + "secret": "631b5a1fd96e7a99ebe33d4788a8d6e45a6d4b116b11bac53aadd116f39c4c11", + "public": "03670833bc074d7009dfcd1a61cf5b63a08ea0bd58f0f295121b8d5825d897dba8" + }, + { + "address": "frEtjtXJoKyuyq49akz1Zx3yLMpni5gYh2", + "secret": "8d50af61f21107f572606d21c35e453f997ec17e941f2b7afbc051acb36283f2", + "public": "038daf6200f2ca021673a6915e57b4c424ab2ac1c1b749db8dc059607d2092b1e3" + }, + { + "address": "2Fp1fioauYwyMikcL9VphTrG72ZBwP21WF8", + "secret": "af01bdd50bf4187bc8fd855962fc0a68ba55b3950d9abb192ec7b5179638e045", + "public": "02619d27f77c97b36ce895a9ad47339ef69a9f02a6953379d077d078ba7bc6535b" + }, + { + "address": "PeoTufGJDpATgy7y5fKUkM9xoL8tzk4LUA", + "secret": "f8c45f4c7034fff54f2c8f2f2b8f9ea356b299c73a66a9979832ab7e162ecf59", + "public": "03f4f3d208cea7bb257b6e6e84def31a26b22a2375c9ed50e0e02041ece9b09f50" + }, + { + "address": "2avexrXAe1yFcmEaFSMpp4E6bkHDyonTg8i", + "secret": "4f62ec6881c21bc8ec63676b124ce103a59d2acfac567827d29d9f3bd8015562", + "public": "03e17e14a0c2691b025b2a07d63ac21fb28451db69d8e18904ff8161ca6bd93f68" + }, + { + "address": "pwNab8Wa7Sag9Cg2FmEDF56izp8mD7kzQw", + "secret": "fcdf5e499b22ec63290dc2c680f87745aea192abf5aaef858c007e946ac3002b", + "public": "02ad66e1ecc629d989a0c80f81997906f5465ab1d4ff908f02f23e8a96cfe00f50" + }, + { + "address": "scN5GgoA6epthFqoXEKc2Y5QZz8jyT9FNf", + "secret": "24decfe6e2e505c5fb7a9a7a6608587883554ed81bfdc581921525a5a23f6305", + "public": "0344f0bedc327fa09c9686235ea3b2139c07259497264c2b4461cedda3f55399fb" + }, + { + "address": "SEAR4hqpuvGLPVoGLpd5U61aoYHUc6jNqG", + "secret": "b5093a711d22263967e5ce2b2aad751e6742cb34ab51c8d517a328cb406cf801", + "public": "02b5fd3eb5a00f7bb172fab386af63c965e72c1874520fcf2121bb3bb96988f68b" + }, + { + "address": "2agxCQqyVw2Ne1n4CtBboaWQ3YjmhXaocdh", + "secret": "ae897238f5b80a8312437b2335442d83c695feb68b44482f5bc2684079ca40a1", + "public": "0294e9cf3b98d6c5386dee498da50e2a0fd28244d9edc82aa0aa3212c4c0ef06a7" + }, + { + "address": "XoHShPLTkcUeFqiwSEfRgvJnHHKhNYAHc6", + "secret": "bcc65eae057e0fcf3e423255a0f5ae2ce146919bb707dfd4bd3fb762fd69d78e", + "public": "03c740e434cf3614b53c2788274f7a356905a8a1a27725d6ae9e67cb1a006027cf" + }, + { + "address": "2hGNn3KRW1Amg5xWEW8HXDW9pNhdyvp3Bxa", + "secret": "7b39b68fc581a9bd7d759a74dbc1d7beab35e0a64660372ea1d598ced36d9ee8", + "public": "02a8f5bdc94366497ffbdf88fdc423b51718947a0a523ec63547f88b1c10c0382e" + }, + { + "address": "26T57mqYiFif4KBVW3N9w16RGfSg8VP9FfW", + "secret": "c71f7cabea5b39352997f647f1481710c13ae1a29a06f01480af3cab1e6b2f8b", + "public": "032f0a83a1826005975aad6e23c87088000bef7fafd11a52e1dadfae590e859a0e" + }, + { + "address": "2eCjgi3o6eTNtj5fiTs9Lu7CW5WMXWZhfXN", + "secret": "8d6142ee69ff6eba19bcd25fb16f1c781a93d404385dd9b90e85a4881187797e", + "public": "0339f788c880d61c3f6fcc23e0e90a1c18f79460533f392389650151314d59058b" + }, + { + "address": "22a6YptFqi4MjqsDjFp2L3d5ZGV9NDuczfh", + "secret": "865f1a3d7d1a95b54627dcf64e3677cca758a7cf35aab7389cb2eba2ec6607d9", + "public": "0266e102621ee4087707692aca8cb858cb51ecbcb5579b99cb2725749674394766" + }, + { + "address": "2Tzi3mCkXk2h3GshRuw89zcku2WbvZiYXmf", + "secret": "1a4167d782b49faacbb3c89994bad131ce61850641f79e52e4246bb1a05bbce2", + "public": "02632b4a6bb063f28ddf1034ede2e900194dc1d4d709c33672fd33070291f53d3c" + }, + { + "address": "9YRxCxLexL89oe8RV2SFCZy4AQaBYXAsLf", + "secret": "253249e9c22d9c28a110be2d8be3acbdc6a3d04bd001a07aa6759a3be2a4c591", + "public": "02548f69543f4622659ee0ef77db503e734112813f70d3bfe6b4223b395a74364e" + }, + { + "address": "EXAHo74kkrdfFnFTEU6zKSMubBYyY6ZmWL", + "secret": "1a5f08c53c600ab5a52e948bbbe77cce9ad52e90aa14d16d78938fbacebc2c4b", + "public": "02cfb2fcf1ff02fe24d210df86d12cbbdc81429eea6613824c031a8da77db2065e" + }, + { + "address": "2RRBNvJSxReWxHRTqxHoUs8gMuhkBAvQaVM", + "secret": "4ad2c6899bdad0d7a8b36ae0ba0fa22cf6713fe48a454327ebafd2a2cee2bf57", + "public": "02835fe7180f085ed98bbb305c84470d585a391a9b53cccb344f26ab0591efe186" + }, + { + "address": "DLLAzoNAdSqmjoeHY1Zs4C8cF5TsVrhxMw", + "secret": "436f14e457a94af30f1064a3ebe4b925feb0bb08728b9b37ce6e3fb2f048e6d3", + "public": "03e6c236453466b1c7e7ec6edb05d8ce526f9b34ed696526e39cfa0e7974289043" + }, + { + "address": "2g7WeX2ieVcucWtFhqVouh2U34VT7jBTKvY", + "secret": "6c147b748cde69b07054d13132180dff1e2968ec311727c3d5b430074abcc53d", + "public": "02515f6a52401a03498092aa16c0fe94725030545b987e2572c5700e91c7dbb7a1" + }, + { + "address": "27rnygUUorp69QkwCHqzy5WJMc1hnxoxN6n", + "secret": "2f0606e012fa536aff11702f3fc192550abbea7ca580f65ff44013f6e6d2ee62", + "public": "02ddafc8f9963dab80b74c602d49a42f9ae8fbee1ebe9c10d72ef00284c563527f" + }, + { + "address": "2RcdcDLnqB9pvNPy15MaqcSNjFjZ3ToYQt5", + "secret": "0fd61a8d1265e0479293983b5b6628867fd99f965179e5d51901c602ef2c8671", + "public": "03b9420f1acadb53799c7bcc7693d1024e45b66998821c957abf57def534c82d3e" + }, + { + "address": "2L4E53nxkgMtdEJMVEetmEqN8VsH8bvN3qL", + "secret": "5bcf2fd07fa946483b0bff30d0008398e584ff001093e588c99d4fb4303a6654", + "public": "02cc1fd871d6ad834a8c7997c38b1101b7bb781ca886add7ff39032d7e11774031" + }, + { + "address": "nasKi6MWvCCyupab4SoScbhxJDYyzS6NzC", + "secret": "9c3dce71afa6edd50d843534d0d5bc755c36e0609ebb4d42c14f144d67b57867", + "public": "033b9a12e3ac267d17c0ad1fcbd0e6204d57f021cdc3e7d63a186fb6b46c9a9344" + }, + { + "address": "JtrbAukxBVGesZgcuU46nqwYnMJxSvS69w", + "secret": "f6f2398e745d764547fae8d939cc137b21f0788f4bcc2b18aaa98ce9b5bfe3e6", + "public": "028a5936ce42aae51a92e89ed3d000b81e186892e3ab72da8ea02f36e1a09656d9" + }, + { + "address": "CmJZiinFtNVFsFGCo4ad5Trup7DBmehmB1", + "secret": "deb89ee1539b6cb4ed4a3ac1153f6893565b4279d9aec526651e712a02bd29e4", + "public": "03b3ff7fb687b17b45178138fbce9bba96f1def5781564adb5964bb5c1d292f2da" + }, + { + "address": "28t9se5L397uuatoiv2y4q65ZB73C2dxRRw", + "secret": "ac33995bc96e8ff83a12a49b22673484f8c3f742e2a9be2ccb74739d603e023e", + "public": "02863968a7c079c5ec060dea520c87396a60b840d7373cb6ea1a1c250f8e273031" + }, + { + "address": "2bjyscrwVN6nSWxM8L1yhavTY5326GUgdMU", + "secret": "54faa9a7a42f6159ddd56d8edf97acf1004129786d6e7beb88e0c7471ca32c67", + "public": "023f441a065b9026c6574ab08869d322d1dee79cae99f7bc1b71b98db92fab567d" + }, + { + "address": "2fmezc3WLhTCwfTz5AG9C9s7YtmGaisLSLz", + "secret": "c2c7d6d6cda61f543af9793d80508bc62b19896216039ef946d8ba68fcf84798", + "public": "0290d8e460b751e0cafe38855a130effeb6f090a0213374b537d6759c617ff4c68" + }, + { + "address": "2PwxALhCSc4XrgRCMknLxFWMoRwc8WYF2cr", + "secret": "c7c3b8f070204163dac5aa2b4318181540662a63bd4f0ba14906e44a6337fbd8", + "public": "028af1aceed2ebe9cf27ff522fecf8136c066d6c6c3af1e4030c8f9e124ef71602" + }, + { + "address": "BQFdx54A54kcGLx15CGi6Ffnaz8iCTksfX", + "secret": "f7ec3ed86093aebef546cb068c0aff22079f84f388d16399ae7410d171b8a095", + "public": "020310b0d4934d5f28db1e6db364392d3e71cd6e31b95a94d4bd5cc23b7d9e8c41" + }, + { + "address": "UNEV8oNtzoUHHTRuYSZs4uMCEYZFk8Bob5", + "secret": "8e0c7f3926a867b0bfdd1d1b62ed3462f9e564040f013039ee4e94c8b7519512", + "public": "02450766db9e74917020297e0e3d509a584390be68fed4ee488362734f075f38d1" + }, + { + "address": "2ZMV9ShQLokk1HTUVhqzR8J9tABBxnzASnA", + "secret": "ab2059ce17a55d13e96137be6838b108105d561e6a888116550d0fbfbe8d1e31", + "public": "02d21a40b09a09dbf8947f67317f2262d2c72fbf0a96c8f143c65a09355a3b96d1" + }, + { + "address": "KeykKcYHZy4WKXXsEor6o9PuUJFTUVXbz4", + "secret": "d7a282eeb2a7b1182977013d3583fa13e80d955be8ce2cdd2125635812a79a73", + "public": "022d38ed4c43431b5ac35352b2aa5291c3754075a232b694a6e06740be7f2353c7" + }, + { + "address": "irKDBpNkRF59SEC4aeJ3uBnGfsX6T991dx", + "secret": "be96ac4a73e5aedd538eb1c38bdd31ecd4600b1f4987bf64128bede52820f02a", + "public": "0233d41add351854a597a7fd80ba47c5124ae8d926c3c24b531600c2e4f9688275" + }, + { + "address": "2LWEVDkftAQjJBgaW8MPPTrijdXyH4wGjEn", + "secret": "f6639cb6b9a3ae2cabfe37404110cb17a0787fd92a109258a6fa19b183003764", + "public": "0381f5570ce75b62b655e9aecbb02bf5376adba0e91f21e893ea92e21c8a50bc2a" + }, + { + "address": "u7uJsj6EsCd7Z57jQnGQNFAis2YiyoeuuM", + "secret": "034d44196c5ee1eded33599fb1bc8cf205b544f86e8947afbf49a868d081206b", + "public": "0245a408560b1f747c86b47033b083729f5785ef6b00cb37fba401ddc4545384da" + }, + { + "address": "EuuHKQUFGgHN68T6VkssAwNxP4e1htMEAU", + "secret": "cda4c7df62d18d8ce0141c62fb52f05c7a987706ccbc26fdc8a900836711772f", + "public": "02894d1a4b8e222e1ae067c20567475322f925dfeca1405e2e30b845e3ef047756" + }, + { + "address": "TFVXLJKgoGENxDPfiNn9h1eXWLbER71Dgn", + "secret": "0e7d7e87f806b6d5e1063318268fc1df380d1e0aa13499d2b7e6034b89e94943", + "public": "033e8aba7f8c579c7164aa2369c62a3cbcb24bd0b49bf5339841d3c42048405a38" + }, + { + "address": "2bFS9uBumCkSkFhbaV8q3dYnNxx7725JVDV", + "secret": "28672a34711c4d818c8feb835dd2198e0dda20d4dffeaf78dcdffef05c991370", + "public": "03c88bdfb32a4c8932ef3b06d066495700cc5161886f6350f7dd46469b56ac3ca2" + }, + { + "address": "a3QUbyUgZaXcZtZPFm9ChWNt5DjYgo2wKH", + "secret": "dc644efb58c344e4f999080d7d8847ff159710c85d0726b80036c47e336a0ec0", + "public": "03494aee0e1406ba2ebf85de3d3fa5cd19877e81720be24140d9d703eadd14d881" + }, + { + "address": "2NZGkbUWx7CHzJ6LHTf7KpcDJNbMmM7PG6z", + "secret": "5d4fa6c7fdf51ef26a9095245dfe6ad181f5284d338cb5b008e38a6e07399b68", + "public": "035492a39daa2b6abd7530b5846e06fce0ff45f69f62ac722f0e315a092d377923" + }, + { + "address": "2daa3YQCFEXFqwZ7HwrfhSQXgmDucjkKC2R", + "secret": "a9d6dc77d7e4633075d0581eb43cb6266bedba600c62a98fd2a6349b04b98ef2", + "public": "03d83767f81104accce7893437d33f613567d85ddede6b88c0973ee8ec672fa7f0" + }, + { + "address": "2HrVw78xZrjDMz8YahiRXVgghRJNYxvoMv7", + "secret": "65a75bf3ea1df83c1d56297990620ef347b6671e4530991a15a4a0abc4b91c53", + "public": "0306ca67b3fd9b45f14865afe7405dd8810d81ef0fb27e11d4a98862565ea54eda" + }, + { + "address": "isQzfULaF8qsZwEjVqttXC5p3CwWdVrsEm", + "secret": "f421529f43cf5de54382f390fb7d4118f7151bf2b114eec6205d9fe557d07024", + "public": "02727f6d688ffc1afb11202b85b37e35478b5619afde09081620018f485970cae9" + }, + { + "address": "bBHE5LpRBZEaY7upVZrk9THomitAmUQ7pw", + "secret": "22f23e4560ace182ebb9e4c809236e3c37e636d02cbe41dc7f57f1b0d53c3034", + "public": "03457a68ca3c395a1615bd7b41db4338b1648c076fe008973377252f23d538637e" + }, + { + "address": "R2Tmy6uLAyyBVkV9c5EzLvx7dn7QWkgRCp", + "secret": "5f6cd6f06cc6c5658f2212002bb31984e98edce455cae435b0abd2dd68549c95", + "public": "03a51c801274b5774032661bbfb691d832da2ecf19d77a6be035a4e0080b618d8e" + }, + { + "address": "2FbLk1kx2pqoKJifFNVKYYdhxKQEJLqBa4p", + "secret": "bd3591b1afd596cdceb604d4c8755faf9effaa8e6a42637066db28b22bfbfd7e", + "public": "03717c0ad9214a4e590fc0379be9696c4168443458e75a3552cb1cce9f40e5bae4" + }, + { + "address": "D4F4Vo5xPLu4YX1sTaKzQfUGnmGk3yCUb3", + "secret": "03e60b222f3d7571669e7f943e85d08a65693c8d2054da755149802a69307411", + "public": "03078a2be8905c0c4bd5bb15bc52388f90c996f7e59c8a0351dcba8876e0102c55" + }, + { + "address": "uZKWALKm9AYC3GQxxC1T5i4SZTtDaQ3ov4", + "secret": "be694dcc0b7c37ca2251b509dec610b1501ea16cf2dc7e48fb44953eb881373b", + "public": "028fb5be4d87deb707259c4fd9fba441f3f89f171c9b5b39cc7cdb3aa694694bec" + }, + { + "address": "2Bg7DduvSuHQQodT8rDm3zgubnLApfwe1qF", + "secret": "6a10bfa1c59f6d4cd1be7e707320efa6160853bdfbcc7969f9b30fbf0a9626b9", + "public": "03bdc46bff88f5854dd6aacf5a69e8b344a45633c6b2fe46b902188f70d7f4af46" + }, + { + "address": "XLkHshahJQ4QM3XdFqeuTEfzq2B2Sut1gB", + "secret": "48d4aed38ddaf9131b75c34976cd6983d4c35009eda7461217f9f24dcf51c854", + "public": "02ea0380924ec74c9a1e61ad665c283c6dd8e69d5a403318ea0c9f6dfe6bb71c47" + }, + { + "address": "2BPMq8EUBGRyrz8NDSaUSGT9NrFrcDjq1pN", + "secret": "96819304e4803e15daa655205cee676dc04417c368b9851280c2c54fe509956c", + "public": "02382b4e6a8feb6d13de1394bcd4fd9dab6e6bdf4de96c9f0efd917d5997b94f21" + }, + { + "address": "2GGWkSEStqCKs2kGUa4pDbg4RxHJVhh3DyQ", + "secret": "e81e01c500a5f159cd5451b054568ee1ffb2700ddf61fd38371d0e128934007a", + "public": "0270cfe30a0fb41dfe30b9d897580ea16a401c4c41babfb41a78b1f20c12caf0d1" + }, + { + "address": "2JAihz1jHZxDVSJ478Yx2cdkseqm6ZfNnr9", + "secret": "c40ae6bb5a1c19764797563de1eb978ba85c686a379247adcf36426918f8f25c", + "public": "03d8a1fd67726ce2aba192f8358ce9143b8eec0066d80e93333f27931c8c96af56" + }, + { + "address": "2e3SyTQALdRjunDL4VpUkQqZ7kL45twGSvy", + "secret": "443200ff2becf64f313a047c0afe64470a1b79ea56802a2a782d8a4c3b0e8bd7", + "public": "03245acebda4649d21578bd2ac5466470125d9785668e0d0e6d6969ef23d99dfc5" + }, + { + "address": "iXws2tgmeN1i68GAoneEcEzASNosHZCrR4", + "secret": "a525b3c37481552bebf2b7f6849d5cbf8d891f804427ceb01b4d0fcffc3e6a6b", + "public": "03631cb9c53d25e67cede82f50e5fb1c905a166569894b2f1a75109253ea455ce4" + }, + { + "address": "RULqwD1WjY678XddBPK3qRJC1KC1MLg5zi", + "secret": "9d465bdd07bbde238dc7dfe872cb05a3a8461893af61ea37f85a8805edce44d4", + "public": "0379f5996ed66ac9a17a990cba9b619cfabf87336fb41043145d240bf88c1c4087" + }, + { + "address": "2e4ekDcVtjG6PHuaeVBd6y7JSiLKphizGo9", + "secret": "601832e7a373217b5c84c5d77cfb1581069f970c0ec3f96f59f2907a69bb9c6a", + "public": "026302c344271cc040efd6536cdf77fb09f2a8b7cf49a2159a595770e25a741873" + }, + { + "address": "2iLYSsW9o3GGnEWRgcuPiXrmZ3xpKR5SbH3", + "secret": "130179676d01bc4f06e818b9746ebefbb2ae3d7aeeb287e85db1dbcfd1f12ede", + "public": "02057b44f1b07039ff175a24e133240ee378d036fa07b82b6f897ae352b8e9c66b" + }, + { + "address": "5Xx14ZZYBtd32jH8vRaQVydBo37PKDPXSn", + "secret": "bd8f3c1423a321e75bb1358e9e48befad2730aa0eb351f35b89264686482833e", + "public": "024cac9550b8b534595cc4b648335256ce22e25911cfe85e6b50a59484ef0a6331" + }, + { + "address": "28m9mZA2vpkYVRotYxaWU2cAJ5rNA4fU8qo", + "secret": "43e19b1dde61837e9237afd145664c21d57ef0878c298b22db20d9f1383c5a0d", + "public": "02c2d5b3e587facaa13bc9b480be8995b06cdbb83edecc7b9a751342a1dc47d3e0" + }, + { + "address": "k5zSTYgM1JJygeyj1HiH29quDhz7kp7CdE", + "secret": "037824cdfa5b27ea0918ffaa34a700a32a8d216f04aef0335d775adc5dd47ef9", + "public": "0257aaf74b90dce0b3bcc41b0d28ccbcb6f4bd6c06fb24c283a740bfae74cdc136" + }, + { + "address": "2Q8onKZCoJE6YLfSqENhPyvkHtxvduBy2t5", + "secret": "53e6dde235adc370674fa60b7718b8b8e66e37ddadad2c4a75acf50f8d1975a5", + "public": "0244e3aefc7b751b97ca4a0302d31f361a93fcbb1d89ac1b1b8bf6039975c6088e" + }, + { + "address": "2K9tDb6pEaLXzndCDnSEotEiYBQazoDEmMd", + "secret": "127cf350a9dd07e2622d53b5c3ddbf73030882d55538746896b135004e9668e8", + "public": "0299325e94d7e822b53055d1400a91d914993b96b78b2273d52e9032710a2d7404" + }, + { + "address": "2Po1yzP4RSDm8p1w1tF2nbwcUcCKaEEoQJq", + "secret": "74ed922d8ee20fa41c5cbbec171d1248da080b3a974d0784737709749c6d9374", + "public": "0316f6d02dc551aef7eb45cd6d271a333ffea11c2a3b6c95ba84f44b1a7e366da9" + }, + { + "address": "ztvFFxYHYLzGDmW83chkUToB8Htkz8119D", + "secret": "1696d5006de140218790c9620873ce0b1b605711686a0b9fced1c0b10677b5be", + "public": "025d0053049ba7034a6d227041ee2800b3d4b575506c85b62a0a2e22791f88c093" + }, + { + "address": "22QmSnYryfxUNRpgM6j9uA57Dn7Jhn3JxFG", + "secret": "05042fa3951fcc1c3e392349d8589cefdc6a1eb6d986f497fce500bcc454b4c4", + "public": "023ec539cc83b92a8121c0e45a3d21ac79c364455efd3df406a87845ecb7f120be" + }, + { + "address": "1EXdxZfNk4VW9ZdXd8VHUah3nBmARtfD4r", + "secret": "291a3c544d77662dd4266425368f39e05b91ca916a8b0b4bcc773567b0bc461a", + "public": "03612f2c6450b0e95960d8b5d6b56dbb12652193f843b30cc9770e46761cdfd24c" + }, + { + "address": "AH5WE6cxeqJ7g8ThBWCt6351dpmqZxEtvR", + "secret": "387d9f7de29bbcac267ce51dd1cd09cce463cf4daa2e208f5a5caf79129cb03e", + "public": "02144e16ad2e88d743de602393d93b9154c30579789546f39b1538c787934d23e9" + }, + { + "address": "2bUvBzrA2rySkTsTz8ubjxUiLG2X2UXk132", + "secret": "730001c2c9564606fe0148a9b25a22150b386edbc657b81bcf63fe4f5e77e9ae", + "public": "03ae3acf63026f08d3369d57ea42f277c6b5dcf5c2c36f1dbe1d1d8b54b493cc82" + }, + { + "address": "K8jHVZcygoN3e7Uh57nUfQJzmews7rWi79", + "secret": "02b6931812541d3cb7de3dcc88c877918d477ca0cf6f25ee7d728059bf11ba97", + "public": "0225b37ef3f5014dd5b6eeefcc480e1b136c28e9147f98e14ffcbaa6ee2283ff11" + }, + { + "address": "Cr2ErUjL1UqhiVMVuPu5o73NDQhRFp43up", + "secret": "e55e26e1fa9decc1e8030bcabfe2c996e08a2a009984128e7301cb815d96bd61", + "public": "037599174736e30d76f9ecc5dd1107ba032353641ed7eb6acce126b0018c7ce71e" + }, + { + "address": "2UrDkbr8qkLaUJHMYkXN3k9xvmh4D19Ucei", + "secret": "4a8f360f40ee58ff53e957782eb3aadb861a6e0ec252339c83b5579c1990a37e", + "public": "03b9c9c0631811a24edf9e79901114d1d03b762561183d2651443ccd65e16568d7" + }, + { + "address": "2SnMjTtr3WRJ6q8GU68CnT3vMPtrXcRLiHK", + "secret": "9ca92d31e7fa4b7827126bab0ab02d2bcb608af1e9efbf4ee0edbca3c387fa36", + "public": "03856adf3f6a7079e6d42275a21fa0ce851eda69b1cbfbd96d25f2d72228498b1b" + }, + { + "address": "2dXPVZij2rRzCERmaXs5fjnB2epMy6ftAsj", + "secret": "28ca80b3f0db34c13e73b7ad5ff8605a6ce9099f06494a1a7b6727c51c64110d", + "public": "03545172070d03df86e8ad6580ae6fcebb6a775f2a0612d373395279debd7269e6" + }, + { + "address": "aMdRuCA5s1Ak8QqcEn7gmX9xFUJXebbntH", + "secret": "d24f4bb16b89077ab63a2faa921162f4f9ff33558c6ac33ac72f76af45cd6fb6", + "public": "02866b765a68f1befb293cce71775697e8cd03cf3102a9888f337e5b1703e751d1" + }, + { + "address": "HJd5e87cu7zu2GEWweaf4SVYX1PCxHnHmE", + "secret": "be3aa9e7df5bf981a75ed0b655c7490d2611c23b973a902d8dc5295c4b41b555", + "public": "02833598127e11f7935000892baf351e5a0de50a008d5864f9a951fd5449859e66" + }, + { + "address": "RjvjFhLR8UWA8UUBwmyPFV4V99snhSujJU", + "secret": "9f17ea1077558a3c898f0d080eccb1bb2385beabf092b3f84e027a9a84fa2e1b", + "public": "02f6ae99ad5a0e79e75f681b8c365e33ed31041d6038139c8f0c46a9cc467b0efe" + }, + { + "address": "smnUYq9hco8u5Q19wWRNtMieS91EA76vCY", + "secret": "b813a912be979cabdbca7b9b7d432b6b969c8b7d9b9b0c69f7e697945989aa98", + "public": "03ac5574e7787a94d7e79733f7c1f428805bd502608888a670e41c548cd3d466d9" + }, + { + "address": "2KKp3DbztvFi1Dq7fCbqJW3jyMLxRcVgoXf", + "secret": "8bbb021e60073065cd2250b0784e47fb0cca7974853166e3e942c070ad192a95", + "public": "02fd39b777e33098fa4c953b2f98660005a27fbfbea9c8ec8bb96fda649a139edf" + }, + { + "address": "oPWJvhk5tDy222LCYAzJUJZce13cVoZTba", + "secret": "0ac8ae1963c9b62b27d6a0dc32a21daab5197c4e81ce81bd5f06253a36b0eece", + "public": "03c29d315728a212c153f094f68a93693bb09aa3868f5c0ce9dc349e2792f0bbb9" + }, + { + "address": "V2KpF1Yoht3iGMEpJ6VKLpm65uYxEmk6L8", + "secret": "c1786113036db1edbd2e7e85322ba5b0f49a71b49d975cc503ec0bbeef70c8ff", + "public": "02a7359427fc56d44639ad1823805fe2790034811320361c0884e8dc3f9253bea1" + }, + { + "address": "ghZL4ds3pEAQ86zaZ2VqXaHajC7AWPvazN", + "secret": "7ecedb39e58d7dad0d035c947e350d7266a836533294dd0b645288f31fb6ce3e", + "public": "03ff6b7ae9a48247ae440fe8277a748995d1294ad40175eb63810864bb05624984" + }, + { + "address": "jRzDnixfu9hJoTGA19diDvUZmx4wFMFzYz", + "secret": "184e8fdc7e1cd4d666c578601f9230f93611f465bce0e429b2e7406f41a249f2", + "public": "030e121a88721a5e312c6508e3d76cae63d27cfcd5fa0d5109a620174bfecc7355" + }, + { + "address": "24ZgZVdovTJGACYDmzTr2UmCiXvLS2BDisr", + "secret": "6201e4a74d799d9322a373d5577466f0b958ebc66e36b0c943837be70c4856c1", + "public": "03cfde6af9a8673a45c7394073a7bef3d5c734ed5fbd9e5d6bff0905521508f036" + }, + { + "address": "9QLaTBBFzbNT7FqtLyr4mC3SjUF81wscKu", + "secret": "e14ed2a6506c03fb7235637ec696508d9a4f224130db2112448284d97319f729", + "public": "0257544ad0489b631d7f839ba50ba8d817fce3b68849b014535c7c579b053af479" + }, + { + "address": "2mrdnsDH8GkDxzTfKLGM5Qic6twVNnUzUCp", + "secret": "4272244bad296247de956a03b15027018dc3eaa997c7eddb62e11eb4b62a5fce", + "public": "025079ec188d81448851558da00f1375167a99f5a47ba55178c23bd5fd83e8fdf8" + }, + { + "address": "5r1ppyYuyjxLRchj8iR88z2v2YmSjA4uRH", + "secret": "41399be04144c30fba7767d2a8b320b051efd72727a73b0eede7503a150b82c0", + "public": "0348852f17e6e423f99a927ae6711f0ca386950dadfd23e87d986e13c049249636" + }, + { + "address": "d6Kr1rcKXZFsbiA9XnAvYraR7K9b14mtJN", + "secret": "6dde963a31bd1c4ea9dac7c262a503f73f7f00a30b6bd684d39c7b774fbff32b", + "public": "039e9dfa055b56922799d5abeb4d9ac9afd653563b5827c1c0a3382cb33d32b937" + }, + { + "address": "23w3Mpx7B6T7YzS61KzGRTdFaqqVhfhSPVh", + "secret": "3e1e627486422c1e38525ffd5f3a20b84698337fd376a6298914b9f7ad215cc5", + "public": "03fc41d428a7984ab2e8a86de2c72fc843e3cd0822694a58b33f1d30295384b091" + }, + { + "address": "2UE1RjgYByFJTaZWm7CASrJ1zLpD6A2ibpN", + "secret": "1658c7ea9d9c887b47df2bf778a2a9f02acc7342c7ee98e16250e51193f70e20", + "public": "020d1c92e2a29a11e5b77449d817edaebb620f4bcf089108fd5892d5e293760855" + }, + { + "address": "2gUQycnLvW5PNbjx8zbX6qqKSMx8AZcbHJN", + "secret": "29990b7a22aeaea7dc196cd588c0855ae29b9cc501ef5f36a0e48493994c8121", + "public": "039a9f1c0426e4acc12d754e38373d7db58eb5fb5eab6adfd920ab57ee786d7b5c" + }, + { + "address": "LJJtdHQ8YwTXyv9ZiNTrCGgh8N6iud2jH8", + "secret": "0f7a45ac7fa48214e22ae57d598357c6502b0120a53f0846a89d24b278869625", + "public": "03f96bd4d570ad5e3a424ca6b5e1fcbe2baa3990e9f930d8d096ae6e72f41908da" + }, + { + "address": "2erBQmqWbCn42XHgv5mX4FGdYmWwGWNwJtF", + "secret": "fc8ca55c4e86af2ab9d79035618bfbeea89c4582c39f6a53cf254fa0334eadd6", + "public": "02950e3d4516dc08c46228b6a77b0f28d73eeea47fd4d31ad9fb9246ff0c02fb13" + }, + { + "address": "pvvZnFhT5braNsvEF1LEDABDLXJPPy9n3D", + "secret": "f9d86da49c0584a6640aa990599f0d9986f58650eefad763a7eaaa90b747666e", + "public": "0268c65be7256ea4d769e8a723698db683faccc1e21b1fd38a31a591825d07202b" + }, + { + "address": "6SnfZwj1UeVtzg25n9wnkj1dun4ZWHMUwa", + "secret": "6d3afb2bab90de214060fed091f8dfde04fa19c540d896b5c81495d98e5256af", + "public": "03484096e0e52f26f11fd5bdb501666d4c74cd15c291d038aa9b3f9680f097d6f1" + }, + { + "address": "22Y6d1jn78SCSrea9dipxWZsHMmGYVVzrEa", + "secret": "0669359fcf951af5c51ae9731c5064bd7c937015ff88842ea15971fd8a01cf8c", + "public": "03004bda791425eb21c1143628c200df0cbe2e26349a175fdcb2a6dd54e135e03c" + }, + { + "address": "c6sPKAa4oJ6pnVdLSpcsfBtvseHFCN66p3", + "secret": "983bb4b8c8390b8a00024074b43227e2afeb1b30080e91bdb241f2434cba3c9a", + "public": "037b6f7922f08910e0b282e08206517659565254795299cf212724bc10063a76dd" + }, + { + "address": "HgoqRHGQCqjBaib5JnGxzzqJerYpSQDoDo", + "secret": "c43caa26364198a11e898020edb42eb38b48715a7047b4a970b6bd80038c7c6e", + "public": "03b6ece9d98596d9ac7b3e2297c0b321a897bdb539f38c7850a9981ab940a464e7" + }, + { + "address": "vujxJAz6RJrNhwGpRKEHTnwFvTQ4mQwfrs", + "secret": "031b4b8e634853c180f13d3f8aebf5a44dc3d85eef6f5e86ae3091abf8e49a06", + "public": "03bdd90e83de029d7d1e9950d4ea800542b47fb1bb2e5666ab1b5ba4f5d12c1d05" + }, + { + "address": "HXdBWU4ned4Q19MUJvr1T8BkC2Y7gYJHhq", + "secret": "06962e39a38fbe298731924221cfa42ed0ae9abb105843cbac487019252879a1", + "public": "02363ee0442a993d4dad2666ebdc7465e2ad30b38f74ebc2ce5be39cc5731283ab" + }, + { + "address": "2mJtA9XppXTh9o2267QFqmgUc4vQtMxH4Pf", + "secret": "a3c41a8aa49ac7c989744f59037ab6e7ba02305e3ddb09948664698fb3c7b546", + "public": "025677fc7e26cbff2de1d162979d011fb49c2f94a51ae0049a96354798f8df9493" + }, + { + "address": "2WuGtr54gfEM6E4hzARgeDMiVke4mZGjyK8", + "secret": "e701ca2b190297d5b5d17fc8e85400e555a1cd4ce59d9ec9039615560d5a77e1", + "public": "03e4a81a81a0b38d3804c998ea6d3e40eca24b301d9200d7a40f47a7bef8b1bfaf" + }, + { + "address": "21SkhMpvCAxvVnVRa3QnKEocXrPbEfpQXer", + "secret": "06f71a679c3dba236d942839f9cecd105c93df008dbda4e88502a70c67aa66b9", + "public": "02e0b7a344d4a571cdaf8b0f46feb2007a80c24027f71848745568685a33ce9a84" + }, + { + "address": "2Hch5H6WNpXjExggAWUVUozAZaBRWEWvpsE", + "secret": "ffbd71a2fe82aeb6afeba8f7dc4247820bf479ac5beb7a95ee12e1d511736cf9", + "public": "028b22c80b41a8a2fdf64d78ceefc639745b87b6909dc4130c7bfa8828d5aad1f5" + }, + { + "address": "2FRNJ4e3FDtY9c8RALijiiXqsqZNbkHHGsB", + "secret": "ea2a4ac1c298304f065d00f113125596155c2c99641988240be833c09673bf05", + "public": "030f33fa43b5854f000799468b1802e61baf183baac079e66f124c2a133e3997ab" + }, + { + "address": "iszc3eZpwcUu1GQQSz3CMnN4veQ44yMYRs", + "secret": "ea333ff90f76fb162dae8290d0984043e39cf6339e608e1265fb5b747b49d9a1", + "public": "038f2cbe9174da40beffc058f1a89467b1c37dce1777ab9352992f90a38763f02c" + }, + { + "address": "2iaaVJguAHYeytjfLcDVLLJLVSgPtAxBHHb", + "secret": "0c4a939514204b5f8a7327b36c491281652900993a1d78d356cad26f4370ea23", + "public": "023611dea864deef27decd48b58def13dab411eb9cdb8c32662f457af30cbece7b" + }, + { + "address": "2W3ep1m7sk4opyxoX3k4CTsmgHeqfSGuZ7y", + "secret": "3b21495ebefdbe33ecd33bbd9bef707648252d3306256b3852f2c1e32cf19301", + "public": "030e7e2017177e74a272c6f231dc429d47d842b86032f9e825e26dcd33808d7052" + }, + { + "address": "27qTt9ETdo1L8WjA38ui2mVctqu1akWnPn2", + "secret": "bd2722b3935a9f91cb7d158a36a53c33a27f32a07d02f4ea160596d96d9d2682", + "public": "02932a6c3dbb4efebec33236009ed9f625560df67703ce162d8579af9c2c28817e" + }, + { + "address": "dBFXCh3oZmfLEadzRpZuLvp7b6ty6MUH8B", + "secret": "080caa4dbf128bbb328ec33fc87ccca81171ce16f30697b4198e247bdd49295f", + "public": "0260863678aacc4fd7ab87668e54d7be15a7a762a276070efd6cf3f93a285ee4a9" + }, + { + "address": "Vm38DRDiryXCdiUUy7L3ewfsADF8x3xrvG", + "secret": "9f8df7712861e96c82d2af651ebd06ddfe79b31635aca4539a018e6ee3533ecf", + "public": "02d40797f08f3d9ac42c73367db84b4243fc87dedcefe91f1ad44e288e58177389" + }, + { + "address": "x4FCuwHK2B8uxy6TcW7v9V4rMTe2inrjCp", + "secret": "ccc879b0ea61fc4960ad3933d592c407618af109c4cc87221fe9235adba4c499", + "public": "02ab01ad4cad7b1bcc9d20219415fb92fd9bc819f6cac43cf36867e8284d41d50b" + }, + { + "address": "2moHfKQdFLvdpdioxUiewyQz81yBKA2T22m", + "secret": "cb2e589bc0fc5c3fc5f9dfbaf454f5c5d6eb2fc7be47a547c4ffceeafe074cfa", + "public": "020233f795f9380e7d04c9c8d4639c7d8ec598e4e4c8de59a4c73a76c3bfd4f161" + }, + { + "address": "eNpWwxqZeY1PYuj8M4M5TwoF3jPFsoKifj", + "secret": "73ba8fe059ce1c08c5c716300d2bc92097b9dd92fbb0581f624d7b064ba0fb29", + "public": "037382d2900cea5956f8cdedd21e8cd81a63ea0227090deec7f5a7685279c711f4" + }, + { + "address": "2g51QorpyKSr6rrCxf4dD4CeZEYAMURc3dw", + "secret": "f3861c2d1e69b93b666aacdf0cc2cdffea36c7e7b83dc1718829ce79e7513c68", + "public": "02381d60f8d1803ec10ac693e9d3060b9b796946f503ee7eb01f967c8bd5e5d89d" + }, + { + "address": "2DKTyBvzGiaPU2kL51AVubLGQFq2mjTr4HE", + "secret": "c3b3d02cea87e4f6c335784d4cfbdaaec7bcd7e45836567c60230f49ec8b304c", + "public": "02274e27234d8e7a0a15155fda616f7e75188cc1b96e463ae399d77cd17ac56db8" + }, + { + "address": "2CFcXpDqV5vNd4UzoHTsjPDTWuryZcQExsR", + "secret": "a239a35c1279ceeaa4f6f23837e92c464e71dcc86a2217587b1c1d0fdf9d4657", + "public": "02c8dfb3b231c7ba9cc67d84b9c6fdae1945f5c61ea5ff9b443abf866e373e2050" + }, + { + "address": "2gDrnTUUeZ1xrC3hCJyXhkrkm79yABLpdxP", + "secret": "6c3652adfe9e2cd2704fa0b1181b90ffd7dc4f8a4153a633103057e08b5ff881", + "public": "024b3b047a60af29f997d46cfe157a57bc77bd53a894dc6c8557d038e6d817d763" + }, + { + "address": "5fHL9AfwcqgYEMvjqyX5RVeksU5x4hEG75", + "secret": "f3451f3fc143fbb7dc7b1302841dbfb29c795dfd86402e2dd625c9870382b801", + "public": "02a858158514e7355b25ade1ff88d7381c3a0bc2b3d0af7dc7a15fc085e3e9ef36" + }, + { + "address": "2BbgUyWCqJ66xaznA5o84Fu64DzBrCTwvyK", + "secret": "17bb9b6b89948673b6faf3bba8c0680ca1b77ee23b16e0b2b23d4d31693de961", + "public": "02fd5e3ac72dbec55b340529bf913c62075ccf8cb399d008c8716048468cb1931a" + }, + { + "address": "2G8GaA8JYfVqj3ooDtkzWN2fNideKU8b9xK", + "secret": "770fa4cc2d8f1a8a686281e8aab3ff589a852ae450983bc3accca5080495829b", + "public": "02d69f91cb1e70caeaa8839c1635643b0360f0cafc9d890ef8c1bb7c91ca40ea35" + }, + { + "address": "2BwjUtSuGKCph4EfkthDa2CdyaGzHy4WDjD", + "secret": "b6dccd72e79f39bb939f2efdf1a90868a09dadf400629465e1ab97e2236ee7cb", + "public": "039cc9b2602ab2ffa175f87ad776a1e040555d4dd3485fc09a03dbdbe39c8740f7" + }, + { + "address": "wa5sR5oYKKY5PyqG5rnBCzafjhFmU5Mk2o", + "secret": "3879cdb11ae8bd760a2378c178b29fd694d3c7447e03d161f8fd19dcfad6512d", + "public": "02d6fb32ef1862b79b935dff7bb5aa868b040749ff08a9dbe8f6054e953dd3504a" + }, + { + "address": "2APKsjpuiYDw7DgC1rK4NEtGCu61V4zAc4o", + "secret": "91b23e1ef44587743475ca071a4ebdc3be0e87ffe46657be9299e17b3f0fbdc0", + "public": "0314cb0648861cb94994bc2631a4c782bcf0bdabec37bf3de1a170fd0503b9d258" + }, + { + "address": "2FwB1ZYgAB44ENWpudrpmYujkFZBT1ARF2q", + "secret": "16f82f75f6ea09ab92cb4110e1a397dd71fbec81ad7faa9c7a54c90875757a3c", + "public": "03017078b4d051aee4050e7dacd1b886cf27432d4e90286e47fd9501922476617d" + }, + { + "address": "WFNNgbZzsTztN2HvLroNXNDjP4y2qz2Wgw", + "secret": "b245f9311b8a69ade2b61164e18585ec636b0b4b9a5356b7561950c9b5beedb6", + "public": "029b5a844da9c824f7338a5d759402f7dc871ca4e331f38bf363f7e91cf7057ee3" + }, + { + "address": "JrF81tT3NehqrGLEWJPqTntBecMkZHbTLa", + "secret": "a7fc0662dfd8fd39f8589903c95abc60b22cdf45ad67fb2a5a65dc7e2c3ef9ab", + "public": "03c67fef9d6aec9e842b7915d78a060ae2271b01cb8945d1e14fb8c16ae2b8a3c5" + }, + { + "address": "h3vEzWCwWSGxyEXHhmVbGurjYNfJbnxgpX", + "secret": "287cdfea83b55bf184e81c0ea6889832db112c8a8762f2331d78caa7cf9baca7", + "public": "02b1104780c99c9e6f9d94ae9a564517362f374c536271f18fdad6334f219f45c4" + }, + { + "address": "2UnSqnvfPVgWXEuNuEdmBKoyJ3xBvPnY2fo", + "secret": "df35877a008cf9e514c9f64b245b5a3e0ad134bbc2e95ce9557551c79e46fd52", + "public": "03284b8af8e7cf913f02734f74a00a1df9102e8f6e93e826176a830a7aa5324fdc" + }, + { + "address": "VZptjy7VaWQjY5crMtFbDWq3mu4t5Lypso", + "secret": "f91ba72711696fa175a549dbed4efdff703664fbd7dc98dc7c64619ba32e6390", + "public": "02b1bc13a83d263633164df5fb9eb71e913105bf2e6589ac9b5607223f7170b481" + }, + { + "address": "K6Zvz4DHtdih5k8JBcPdcXZRRDhTBWMtD3", + "secret": "fd515d026596d95fd283ea3ff94a3220e58c1e283711f79b0720d8bae7df5801", + "public": "03bb2baf3490d40fab6171d4d2e4387d72f43d40f516e8ea219530ebab2fc19a47" + }, + { + "address": "23WQc4TFLtfZQADK42fTfqLvqd5fVc3eCFb", + "secret": "9f49138a3f36e5fe5b2b020e7595ea39cedb7db6c55da6864d15966b118ab3d7", + "public": "02a25227209e5620211e2b5c61f20f7376c83015fdd338f6ab30a5221d71a5fcb7" + }, + { + "address": "GLSoByoK4BEQWfiZ3rbLqLxmSyhfijHrbj", + "secret": "027bf03c34f696cee5042061902d4b15e7f9c5163e2abef6d2bbb24989e3660b", + "public": "038d3c9c0734574ab07c02d905a7c045571803fc0ee93cee1626b3a15b4c993f49" + }, + { + "address": "tNdNWcH2F96PAUtB7pC4n5M5TBSTpxKVse", + "secret": "e9415a0e3e395800cc7551be12b54bd04dc3c4bd29995a031dbf11ea3121998f", + "public": "02db97fd454c0d93e60841a153d22471ba7e82b6aa2e3f49d19fb4bc52a8c1f5ba" + }, + { + "address": "2VNyTcriS4FrYVotvAJaqmQuYwYSBAYEKjk", + "secret": "347e2aa0653c13973c2694e3bf368f9e84deada71edc0cd4d6f8b587b81d767d", + "public": "02b4a1fa85c4a9d2a6868efde449a41249bb4f8c1b3081fa9dd0085ed414286497" + }, + { + "address": "2eu6HH8nryPEjbg9TMvxNi5miWwiFHdXEbf", + "secret": "e1086f1538f9f99ac01dda8b722c6973ac2b890fbd8c0836115a1ecf8196c84b", + "public": "03e52237f3adc43fb7f086c089c452f85fd9fedf8b50bd1c69965124e7828c31eb" + }, + { + "address": "UG8Dvm24teXpSs4MWY4BpBENnT7BnFbDNK", + "secret": "3bddb147f42c46c265fa2cee35c90c182604618d822e22760dedfd5bc2c41199", + "public": "039087ce76a965f0b3dbbcb3b3532544b94c96d73ee4d41804f358d19648642bce" + }, + { + "address": "dzdJh62tUkWbFkHcEJYNeDrNYF6osZew1S", + "secret": "e5b4fd658c62ede1ec0a9b073ab9a70cf63fd0cb55a00d173657893c935d4909", + "public": "037a2e8f9a1600a8550a27792d7a543bfeaf4e6183f2ff280bef6c1f8ed85d9d07" + }, + { + "address": "a6zxRQZdY7ZurpcUXEo3GBpX5Kf95F7JhX", + "secret": "d3968dada23fbe55a954aa2d6b34c7570d5846a84b806c052c3a3adcab120b79", + "public": "03db3c65748908d1b55ad7b8c96eb8973df440e1971f05066636f4c39b53262361" + }, + { + "address": "2GGTTctwYB3iHjYBDE9WFxGXJLFBUn7UzXn", + "secret": "48435832c57f48ee7f19f6a09c752e5c2e0f230ce6ff1904445b39c3e9203e0b", + "public": "02c686311de0b0f37073bef4e2743c2f42052e0258e1dc6541cff2571268d1c852" + }, + { + "address": "2aVNmkkrKkCRSxe5JnX9QnvMhNXwwczk6nN", + "secret": "0eeef28c43478e967e0434dcd1231af081abd3ba31d80a8b021cf0fdc8847307", + "public": "03881a9cc92cf911a5d1c7e7c7ed6e1f38f85cdf42415dbc27a5bee88c17c52836" + }, + { + "address": "21py334hX7LKskHjLZhUPeEtJ7TYKVqfaFY", + "secret": "eb9e056f34028cf4546c287c7f4dc37c92d58c26b6546dfc17911359c93ae7aa", + "public": "02e3c5bbe2ccd4edee09601caa941e19847df1e8b40117557fbcf95354b817abda" + }, + { + "address": "2TKYS9gbr3CnSmAiLewX7RppUzC7r8NX6Hd", + "secret": "f792b0c3e445775b4ba17400525848f3e27199bebd29380474ffcacc1a8a6ac7", + "public": "033ed56d7ba7138d71a213adcf823d9728547e849afcdf02aa0c40f6536537109d" + }, + { + "address": "27T6vpidojqAZgPhFA1gV32hbAGEvxYhrhk", + "secret": "f5b982ac586e994fa405c8b57225d4cb9f79e6823439e930ca6c3675856bf87a", + "public": "033f52847eda3a395ba83baa7aff6c40b6c27cab7e31bbff2e59aad5fcd2c39f7a" + }, + { + "address": "fKRmxuEydH3xr84jJbM2RmXLTrUQY754CM", + "secret": "26d4a55a93849fdbe9df353a8a94f36fdc29850c26a80af1efd9052d77f7f97e", + "public": "035ef6fdf9d281e09fe89737a9d5aa1ba7a2f353471ccf753035a4d59b084a36c4" + }, + { + "address": "oxCKHFyceqKrQz5ufoNkiNou9vx6yiCxrf", + "secret": "7d88523fb836a1e68249bd8b30052e2dd0105f925b0bee6192f318df099e8104", + "public": "03be2cbff63238343dfa80072c431a7fdc09efddf529b0fd403722ae3976ef6981" + }, + { + "address": "3RJy9j7ztK14sJgA5NyoLMLAUNxAFg11Lt", + "secret": "7476b76ac6ad3254575f2cebf43333b02ca6b263ad06938286c00e217f39864f", + "public": "03755eb7bbd9500055a58a6c05144b2479888bc59d4284b3d66bbc7e9b8d78c903" + }, + { + "address": "99Rq9gQBzT6o7hHVh9mwBi2KWpDrVueokr", + "secret": "efc2a3b8cb9d78f38c3432040e2e2ecc6588125338224a90ba96a72e6df63150", + "public": "03bd8601f987579cebe725c52db9f343744165c023c8cc011b643df1cd0f9c4187" + }, + { + "address": "229uFKbAxjKb3S3dWxGLRUhU7nN2rm7AjJ", + "secret": "9fb9f20b2e6a51603689d48f53f7c65f3fbe37019f6e4dd86f37602599a8c4fc", + "public": "03735784436e95bd5de80a203aebf28f4ff01d51c15bc724cafca7b7681abbc5f8" + }, + { + "address": "R1EMZ6BCUN2euBPftE5P9xMcR2wH6wFyuV", + "secret": "29b9c973254a1fde206af582fb3bb1dd6fe5719180640d5f15a52c963bfa17d5", + "public": "0371f270f8f053116ab75c995f06ad975417c10a3bd6134d6032fffad8e8d08114" + }, + { + "address": "KbDQwkTKbeG5WSWJo1Vvp4RoRktGyDuUTx", + "secret": "55bf5909518a71986710f11bb911c42c9a2af2714041c2cd5cb85f3232035fec", + "public": "02d133fc33f2ecef76aff19b8e0730a1fb3b63287b1a68023ab5403cfc56d02f27" + }, + { + "address": "xVa8iZKV9oFwgCDooUJRpSmj6GV7HGywBp", + "secret": "8590b46cec2d565adf8e9463a5a28b3f8e3c6f6ac7ca54e7446f5f8aa61ee7c3", + "public": "033d2efefd95dc97173cec2327ef9ad8f643ef40811cee511e63370ed052904e71" + }, + { + "address": "mhkWnCSekNPca91xzoGijAzk7pK5xe7YVa", + "secret": "81bef4b4678092a023b72b425ba9518d577e86f5a8b9337f77ce3cacfea56f6a", + "public": "027616c1c5cf8efdd7a148fa20c037c2a3910ad6cb6518844aa56f4b8cc0cbdae9" + }, + { + "address": "2H5W2Jw38hV6eoLWNUPqExSJ8AuQC96Qfav", + "secret": "c3680727fbdd7b7d8b79d7f736886df08470801cb2a868e010b27e4d8414e1d9", + "public": "02811390fbacb53a0b30d76f70acc9da9e06aa5acf0166b8206dbc73c3836b5ebf" + }, + { + "address": "gBqUqD4wvWmsEMk73iZ77fL9QwKXMX2C4c", + "secret": "c44b381379048198f1d676149bc496aee52a78ae356cc8ada3f6ceded0b8f9bc", + "public": "02603067281ccef6bef438e77296ef76679128c0eaf4a43c215df5dcb08a1d15fc" + }, + { + "address": "2aBtN3zU8f5nHW4z9HgRyaviqQAx4kNoUBt", + "secret": "2584c7512d2ec4a9e2836db33adfd709676768b823266260d8ef86abcfaf3cb0", + "public": "03c64e69cd4d2c448425dacbd34b68104820d14dcda260a9e088e1aa6bb13f9832" + }, + { + "address": "MpJfVPxdSwDePFQqzqreFqFHyFPnFvPmxZ", + "secret": "8bf59fcce66654480b1ab5f0d792532b11829ec84b93ee325f4fcd7b7da99fa0", + "public": "02dc2a97e5e0b5986db4d7682928b3d18aad18a4375b2ca4f5d5b611592d629170" + }, + { + "address": "fMXu7ACfhpAddDQUcYMhFVtBjfeXTxPZSg", + "secret": "ad848094a7299cf5e485debc38ae745312f1de43297c214eca1712a8ed56aeda", + "public": "022e13429bd73cf57a0b81b2d14e99a6f215ca643f567275b9a4ea48aa98d2bc36" + }, + { + "address": "2HzJgfGUhaszpeqvvBkxTunGQWvMo4oi4De", + "secret": "817eafc5caff271c2a4caa381c4340d70594110ac5a5564b322b2bd9b7317fd2", + "public": "03f2f8dd9b867e863d7afc5e222d49788cc80f937b3a69d27775866f28ee557f00" + }, + { + "address": "TEfAFxc3b7BTnq2nBQNbwNDdNQVGLEDzZi", + "secret": "040e3177db9566e5902b2c8313d31e29aa17015580de4b66b0dcc3a6760fe697", + "public": "02a8cdd0040d877f7553f35021f8ff7bc13cb6f6f7b16d4bf71f1eeab8b417ae48" + }, + { + "address": "MQ9xeCGvPPcQsrjeu1tQ6h4W1Kf2q9BoG2", + "secret": "9aad6041f7eede6e858e0379c0afd24f60a9c73346be12ce9fa23bc58607f0e3", + "public": "032afabdf323ebf7b961340fd32b8cd5dceaca5b58f81f3f28bf547fc978fb34c8" + }, + { + "address": "23cxi2zraJZqyHLG1ModJpLBSohWDn7T9ZP", + "secret": "cb9886037a6d33329a05f8eb2668f9c68721682ac4f68767bbed2dd087938b5e", + "public": "03923baf3cc7f3e53edf3cdc60c7d64f83649ec9b8ad611a190bfc93f77cf165ca" + }, + { + "address": "2ARxqoM21PhW9zLqreZvoyhG2xuVQBnWVsB", + "secret": "b8d18a20d90c3be8509e1a1c14ea2a084c546dce3800fcfd64427e8e11cb842a", + "public": "03c6a58df05a703a561a9bda49ac053ee063f4684e2d689e64a57eb415a799bde1" + }, + { + "address": "2hFDnFqkKbfBgrShepvK2DazTQv4Lvcb2fS", + "secret": "300d26fcf88f23e874f714b16e5c9539064e74d3e5fd379e0bcd407811885ca9", + "public": "02c8b777679aa8fff406b3065f92815e1e7dd4e06acfb2cc2cf73d834640efba6f" + }, + { + "address": "2EMb44AyrsLU9tcMaGZH5qKMAWURWjXtj1C", + "secret": "2c7d8fbc9e91d0754a184b52363b2c5ce304031b30d7488a15ec53404ca1f81b", + "public": "03aeb51a80bd56711beef6bbbfc26cfeb2356e932fbc3c6c6b8c6d7442b1d2556d" + }, + { + "address": "RsWcgENNPyhM7KHFTo9VCLw5b4uU4CLmpU", + "secret": "ac9a2f724bba9198c756b026e5df829b8e72df7837182cff61a961a84ded209b", + "public": "0364313c902a7e6197e95aaa85218532b2626b10836d2dcc8078dd18022d3a28ad" + }, + { + "address": "2SvGwVovNFjwS91HNF1vrMjEfT7STTG9r4N", + "secret": "ffb644d19360dd7eebf66abfa70e492ed3a276aefe38c172a11b0284aa169541", + "public": "03f3a1532a61087e9bc8f6a6ba81102d429de7414ae0085ba9f51594e68e3d1a97" + }, + { + "address": "rZMkh43Pod6kpNBGNaBXNoqXotme9NHBC8", + "secret": "5558f95e18cf37496521c244e37fc0f842e936d20cb203c3a0e6bc8f6d2e8a9e", + "public": "03f571e0a9a233ce8cd348606b097c728649f7c5c1dcbe0f5ca2874dad3de77919" + }, + { + "address": "2RxvaL652F4Wyoq3PLjr4tFEaSbbeeJZBqe", + "secret": "f5b3d206cc14c4b57df04a2fabbbaf91cd6a7e9d07c1d09bde4c0ebaa43b3ee1", + "public": "03bf9105249ae909f87dab44e18a8a052940a17180b4da0f5222f8cb5f2562da76" + }, + { + "address": "2Mt4eBP7iXYxYJD59UET1DpFJSG6HoTavJg", + "secret": "7ffc75211c93ae6363522dd6b1750ff54204c0f1204edce6e368ca3b771ba821", + "public": "0221463c98407c8e24b21cfa4ec10960747daca19569ea4b3f11c71e98d27da0f6" + }, + { + "address": "qDQMt3d5dYCohkMT5B6izsGHkPRUeVZcLK", + "secret": "b683a64ccb4319188831f8ba86c7bcb596da63d10ce89d0ca64c8dd1915cf669", + "public": "02b6a6fa5b9c8ff7836fc761be9ab4da0d2e27c53ebde0d8869a7d128cc72801a8" + }, + { + "address": "2S5Nk6LmUD1cPeVk1gBkVT9ca47EPxrmZqi", + "secret": "d3874feee7af97339d66a43890b16e1fa4e490ad6d8bca3eb69ce2b20fd8ad55", + "public": "036918969f7908670b5dffd58efd16003757f43e647c7698496ef534bb7332703e" + }, + { + "address": "2j8fTL6mXwNG1aHz4xfGLcNxomnNtsDeyXY", + "secret": "0f3bdc50d6664a7b9b1b537aa8c34bdfa648c9a3cbe5f45afa88cdeb15feec44", + "public": "0242704747967357dda0fe5f6f2868e2e558dc7fe8bbd653164cf87b94bf309cdb" + }, + { + "address": "2kEpigdrfgbuN2sczody557JbVjLVd6CtZb", + "secret": "a34e6bf7b8d3b20500f51695d36b667d9b88ba9f442cf4290260baf8e15bedbe", + "public": "03300db6dc465d523c01152f1e91ff50537804890a0b4457607e5bed41ce268993" + }, + { + "address": "2KGErAn9X6KUykj175VQ6GWkcHTQ9xg4yvK", + "secret": "c6f96ec8d7b9bbd628852c417ec221fd8cbe301af5800914bd48886099a99a31", + "public": "027b6393a34246599475d26a5c35169431d79ce0b062d3bb25ce4a00b5f469b63a" + }, + { + "address": "Md27STrLZhDXCzeyiWV4dnYha4LLwoWbjo", + "secret": "2a0b423abe24b1554fbdf5a0cb23b8c537ae9763e94b27a4492ec5f73fe37c10", + "public": "0249ab7ea2652438992c2cda1f23b01678f9de1b037d2db8c1171c7e3a67fdddc1" + }, + { + "address": "23YsH6ZZcyVsVmoKhJ1GgFL3HudWQwUgrm9", + "secret": "db525456d04f0fec18a228065fe5c977e818854337937d491a4eeb9401236550", + "public": "022bbdf07624dc2bb2ae619781cf217cee4121fa53267a7e99c275ec9b692f8f76" + }, + { + "address": "SCWSUcZYva8MDEKRY7YmdYRoNj5sFe1XQJ", + "secret": "e0912a7bb851cedca4500657294f1bdd3fb6549f2187d458edd7c8cd468566ed", + "public": "032e20e706fd2f9745569d6f714c6fd0941f6c4b2806c00ecf15409a8d9256db72" + }, + { + "address": "2JgFxPbynhqiMvRREQ45cKiDdsiibSjK2et", + "secret": "09d3054ad1d287561b31569e18c1d46a3a45ff74ea86515c1d0aa119a993b717", + "public": "031e2aa54504dd6cfb2d6911033df39de005a31bc110916dd046bf15f82fc9347c" + }, + { + "address": "2k9byFja2RVJa4rFc9reVuNdn3Qq3cZFoRY", + "secret": "943b62a940a348d81993958200d8bdfc00c13b1b376478635e07b68f080a6178", + "public": "02421da715e7043dbab22e0016018e4c94e8bee58f4c9335fa115f0c83244dce18" + }, + { + "address": "2MoEjzeLCtzMPv8ZGbkAkQeC5479wH9ha4w", + "secret": "c65414ed2eb2d83ac87c77ac6646ada456573761400108b8e0d05de9a5ce5fff", + "public": "03741c4051901ea5bff8e8d59676f0fd6ed7763d295e92fd1d800c6363da1609ff" + }, + { + "address": "zTtMPPtk2wiUac2uB7Qc1k7JC6ssPnTeRy", + "secret": "79a8da2939915b0da33fe11abce0fe80c7a68e0fc6d372b500fbe06f3269d165", + "public": "02489ef908c3f224d8b8e68d7e9399dfa66ff53dbda4a452d55a01ca2ff7278d7a" + }, + { + "address": "21jfiioBpG4oYW8KjYpSs9cV14aub75ZQha", + "secret": "9aa3371acdc4444d281a770e7579c42d2b81f24b5e8c7434fd3754212b577bd1", + "public": "03d4e9be8f6b7378f7448435a1043636bf9a77602b6a2446c417c8f0d289cf04b8" + }, + { + "address": "2jhGXgUkXV7L6o2ooBSJTRiZp8voCXsws8L", + "secret": "312c20808b5c6ccb4305db4cc49831322ed841aa354c5e6f6f78ad58ea770381", + "public": "038aec6a7a2ff76b2ef68347d8cae7b6fbad292a07466ec69ba0643bf21ac3b2cf" + }, + { + "address": "hkQ28aDsUPiqtGAvVdhq9HS2JYGZPvSy7c", + "secret": "fa115d4a9929c01d41d7c1c23a197f377fb06166d0207f859bf469e75675c6dc", + "public": "02896b7c2842f4b641a3f723adc9445620f6ef1f6c354846958569349e19f15a9b" + }, + { + "address": "2HXGxGiyTiiA5JViSuYDva96pacPkKEg2DU", + "secret": "1091f0c9a82613f7879461d623e5420981116629d8163a6486ee564c95407f9f", + "public": "0277d34e24239b4be68dee716c04c4f29961bfdc89c0f1a90250d8a4a1b0ec508b" + }, + { + "address": "ETt8tPLv7KdEn3isJ8ovCk6Arpt38R8Xi9", + "secret": "2d5964c37e55bdb7daba25b8f73cd30e7658263f679a9771c6eaa76d73a469da", + "public": "021098ab98d1dd4beabaab7108e2dc267d96085defb391db4797119bdeb7b6c10d" + }, + { + "address": "2aL2T8aem5nGM2dzzkQUZyhoYziUZ2q6fWG", + "secret": "ce625aaeeb7aa8d0967c20a572040b71622d225abcde8c7166f0e355163be56b", + "public": "027ab9006f88a03876f9ffa2bdd87fb687f3c9edfcec37bcb4023f7fbed35832df" + }, + { + "address": "MKutfh1PF7dQ2yyLLyVyUyKLrCcKFcrXi8", + "secret": "c52636ac3ebdadae875e9a74b264d1b2ce4c82034415ebefb5827e1bb6fd1e4b", + "public": "029ecbd866ab779ed2cd90dbfb34b7283da00d3f9b71ed805ca92c6944ee30955f" + }, + { + "address": "BcpL5eUt2jXBMCUEYJMKbDzsNHqFbapSUf", + "secret": "0ec1616139c61bdcd4f93d86c1115077e769080410b5d077718d43715eb49323", + "public": "03550226d015d7cd3298e48acd54bc0a5698905a87c5ada8467d4d0a0565362f7a" + }, + { + "address": "C6wHriSkyTXN1MxkX3c4tDFUw8qAS6gZt6", + "secret": "7e74eceae672c54786531c9c37840da266cdccdd334271a4034fe87805fa22dc", + "public": "036af0726c32dbda8b224d655b1f572bcf625bc8701ecc1f53fa0e5ca45b2a5809" + }, + { + "address": "21QWTX5QyFovW5ezTQ2as3ndPtmk5ScYiFS", + "secret": "65da770ee49d0b6f62cd85db5153a6961d4345f02cd1e460209b9abac795624a", + "public": "03cb526f36a2bc9dce0adaa33c27cb10302927c9ad50de88ea541e81789b246298" + }, + { + "address": "LA9fKvqm5A9k1agtszrWfnPKKjgtu8VxFR", + "secret": "4e02f9b57a3ad01a77e30951c2ca97ca0955f39a54346ce47311cadcedfc2f08", + "public": "027ca7b0b8a83845c3d1318b3e54ba94fccd14f259865dd770b80443b5631fa10d" + }, + { + "address": "2TxMvLAFWwm145FndHzESjU6HZLU6r4vQAq", + "secret": "c0c11b487b7d307d0cce023520f94c9d2e5d1e656ea3eb2ca3adc1361998ad04", + "public": "03ac77cd63f2176fef590a3a30e619e4127fe6c1b45368682b468375bc908dbcf3" + }, + { + "address": "xd9dBK1mKxiXDBHgd9Eg35Cz9sLbkgcLws", + "secret": "ff38df8c6834713082048d42afd3218bab991ca44044c971774ff2fa7a0dc918", + "public": "029b1c4622f0248a0975cfcd8502fa6d528d6a2a6d397601af0628fd09b6c4dcbb" + }, + { + "address": "NwGDy3Qoj6k8nqRqaTQk7r2jUfzLs5AEny", + "secret": "b79e882093fd2adb54b4fa6e408cea0273f8252acd4179540d7fdda6ad367dcf", + "public": "03dbed449745129f24b6b18b68272ff5d9fe3008ad4670adee385b669674f34d4f" + }, + { + "address": "d4H2t1an8nB89LEK4Jt5mWdFokoW1cWieK", + "secret": "4d9d83192e7fed98e7db7ce06a84c0c0b7d909fecdfbe5d0c357f69ac9838869", + "public": "0259d4c22e3388e6720f75481de2c0ae3b45d08c0e1c8ba6876d2cda2c65d2d225" + }, + { + "address": "2jTF7ftopY2Hj6xqNeLGcWv9PtPZoo2JYav", + "secret": "5342506eefc9b01f50e4844179ec6d2c180e35b28b05f56b8f6af2de40f6edd1", + "public": "03d628a9bb74f35bc9318b7b28ba90421fbabd774cc0c004bb26b567c3beaefb94" + }, + { + "address": "2Zbxb2VLkptcheURB1GvfgCor8c7QMtiWbr", + "secret": "7c4cf9f367c4e6b48edd68b8c8cd9e8871f7e221374f2b5d8cd3d08203b076f7", + "public": "02aef811f1013bbb834716e05e798f73e5a6921f58dfea6c8c3398b9f3019fdc6a" + }, + { + "address": "2m8BVtBjvPHX5gki7X1BnyiTmK66t35mQDD", + "secret": "b057ced7e5492e9ded80586b5eb2f76114a6c251ed5e39b24c3ec21251fea1be", + "public": "034b17a6fd6bfd049ef97e8784cbf60e107c8221b78d5500cba83aa9e59cf738ec" + }, + { + "address": "2FaK8WZ1F1BKHSjbdhyfSsJsEK3QoHcJSKi", + "secret": "c79f87f1bf048398a6472d874391d4cd3b5c7a39a6ff61e086f175640d7447bf", + "public": "033db0c425c4155a970fd67804944b021d40ff2d3551950ed9da5c610a43425d55" + }, + { + "address": "2CRGhkAxp5buiGacrgrfubi7Uhn4X8KHJdG", + "secret": "26865442a8640529bbe092aa2f91668866ab75c8bf0749f4be250f873f62881a", + "public": "03cc4acb6abce20eadd4ac2733842dc94d8b8af31cc6ba1199190c48bfcd07e7ff" + }, + { + "address": "VNy1SQuLkrD7DFtUGCv2ZRovVoRYTgQxBB", + "secret": "246e7490fb721da5d00e3ef037a0cf91e83b9448db618d4e7f1529a5db2f3dbd", + "public": "02c5697d970be8cae8b2f74e5b8482b872f130fd396d317494865d761303c969ae" + }, + { + "address": "gRiFHzstLZD8DYbVGUwy5wnX9zA6yVaUs", + "secret": "d1e407b654de28a5edc1e76efe740d22c57e12dffb6651851272e1b50543822f", + "public": "03acd87ee0ba18abf1f86526d38e7e0e38869cc08f612439ee3a30fb3c35406167" + }, + { + "address": "2XAGsYg7bbb6wcFb6TJzSsutWpGQb95LQLS", + "secret": "e6a4e56812750dd194a556f6e0777f09fea03b4bb22e2529344f7ab664e64321", + "public": "031039ebe4e1d925358ce5640fa9b740238ce14f568d26835927449c5274e8a992" + }, + { + "address": "pYg6r2ysRY1v84tzCunvg9G3VZkF6cD2LN", + "secret": "7c553337f10619cd16eb1659a3edd2e897e7687960f27c6fc4b56805b048c3e6", + "public": "02a21ce35dc6e62279f2276e5a3eb684c6f15164218be90b39caf52fb2b5cc092c" + }, + { + "address": "wRT6Q3pkwHcgqWQBMh5QJQgzGQ9p2rDo64", + "secret": "b0736043e34e014da806c851fd4ba9b5884871f1a8bf907255d0d75087295424", + "public": "0231bdbf26e1d2bf65a713ed36008a6b471db068266de238ec15d02f46b1a349ee" + }, + { + "address": "Zu6t4hJBBUJU4ovfceA2HL7VSPybkzxPk2", + "secret": "1994b927514fdee4f75f6421a03536eae2fb2af384e9fdd8d070cd1b8bb1d310", + "public": "0220bd88e29aec79bdd0b5ff0117273722f4e27e37e2fda6211489bbe3df06c1a8" + }, + { + "address": "rj8c2gwEmCqPPQ8aeCrDTkJdmxDoScddVA", + "secret": "3bff5ba7558f7b7dbb57f9bac31ed15f5c8593497e847124808990dba099137c", + "public": "02f4de29bd53fe8376aee85bbdca748fb83bf80b1161efeaa3e23cc939035de782" + }, + { + "address": "EhEDFabctpkEQaJQ733WLfWUn6MpqZU42v", + "secret": "29da61ba08814ac6cfc1c06e931142afe3785bcc8640ad712d817de2fbb0eb23", + "public": "02c890ef71edf9fe2b1d3b8a8a7cd8e0925e9a55b093fe0e34a1ed5c336b0051c9" + }, + { + "address": "gpAimarggdCr22gAJ4kxiF3aQecXaxQR2V", + "secret": "83b195bedb8c8ab123ac337aa943fb8366e87a0b78a46f11a6e99811b754cc28", + "public": "0233a097a9f450f42884d32110ba6b9b384339044ad7abbdca8a9dbd10644c7c04" + }, + { + "address": "277i1qEXLAMWB4EWpimpnHSrVu6zB765nfM", + "secret": "d4e2ab32dfac3fd6db1aa5e48f93369f71fb22519512aa08e27780e900bcab8e", + "public": "02734ce3a6116b3701a67d169c0cae42422bf81f2e16ee10626ae8b2534fffc8cf" + }, + { + "address": "vKSL2GSF1kf1GQ7dLqqLsvJBXbaijecZwm", + "secret": "1e9ba0985d8e225e6b5df2a15e38503886df0fc2173b3e3d9ac7660a72f3ab5b", + "public": "0321019f74d1f922b8bb10eb6a5445c7fd7cf4e4dd4f0867bf64f43c0be0c0c800" + }, + { + "address": "2E83iNBy7MQyBCuHy42D69ib4fY3PmpJGzK", + "secret": "ac1edd6226835a859e5fe8c5cb1a0fdf94f68ed17219da5743083aaf93f3eeac", + "public": "03c4b5da359619972014f1f55197d9493e392aedc96d9e814ca71128747cfc20b4" + }, + { + "address": "CpZCFZEjSxMnMqeWWXuo3QgNw8zMUS35fb", + "secret": "db3c84f4b276bf9985c9a645f92a477fea63e5d5eff9a51c35d323a87f9b4c42", + "public": "03dc61b6619fb09fd7d69559f5c6775651b92c5c988290f481cbb7e7a2fb8365e7" + }, + { + "address": "14fcNNPALfDmtfjt3iqnUx5ECKozQwpNuY", + "secret": "00d33565e34e583a79468d6401a4789e7d623fb3e69d8d20b9f4d5751f7d0551", + "public": "0244b282442667183a585263c8a631c7abf0245228829b59d7314da2792066f92d" + }, + { + "address": "yqK6WFVBpuDN4kfcqVqMi5YDVkwE2iuozQ", + "secret": "e155a8a39e9e4ba79e16ec0ba2f7c60bf2bbb9b70011219400999a920706345f", + "public": "02b55a56bc0b74fd16fd17aba5211421f040950e9484483af788ea07dd3d7183e5" + }, + { + "address": "W51H6pd82ZWMw69h51yqufMkFKKTLJ6cUD", + "secret": "ee32e6b847c7061bf1a351c1b37ab31d7c2f7d530a59757c6c69929c9a50277c", + "public": "03186946c764572808287eff9ec29cb1db45511785f3ab3372d77ba90fb27c8f1c" + }, + { + "address": "WeBMYEagMqSvmHsFA3KuPAaarBwZyXGSG", + "secret": "1b3c9c5dd6b081a20bc2d24262b8007dbc2c541b71d18cf38c21f41451f90205", + "public": "031f28f96a5ea3640814207a223679603599e47b4f5f97f84788263760051d72be" + }, + { + "address": "xDmCFbvJ54uUFsWs9JdMVRc4pLgGSfMJg7", + "secret": "8ab8de8bcd5b3ca578efc354834fd5808e732785424f14041b5bd88e52d74058", + "public": "03afbbefa4aab3a996d06d66db94d6a2bfe3c73e2ab06866b267322eedc4e8ad74" + }, + { + "address": "X6yjHdHhJjoZd22mBKzPbtmoAdn1c1GEFd", + "secret": "960bf9bbad1970f6e29a9dc94e7257fd97c2921336b71345575b701853b1b03b", + "public": "029a88fc03edbea796c19081151942fadad9def61bacbe4acbb2d8e5cc32b3791d" + }, + { + "address": "2NtkQYTkB1Gtv5vEuxnJ2rnw7vBx2MaFZ3f", + "secret": "244dff8ab639cd4d1ae38e838fcb970d0e409440214aade40ccac2b0c93748c0", + "public": "02f15c4404d16679aecaf06a4c0a84599287f9a672ef81311c85b25f6d11fe2bac" + }, + { + "address": "qdUuCBtnWFPkqoLS4T4QeJhv1MTFd65ir9", + "secret": "328e730c6ed08d616ca8740bc05de4144f1f39a89b2840636d13dd9eeb69a1fc", + "public": "033cae48014b7dd9aaf8ac182b9d11acaf2119c4e8b136ea2eb8ef42a75e7b45c0" + }, + { + "address": "Ce24goELgjozPagSMjUJrKdYCwfzi7guUF", + "secret": "f37bba7af44d3338c12bd91f95d0879aed78bd8763925dc657faf33f0335b089", + "public": "038ec03df3b4b5c5a51abc135de0d2641a892382732fd2471133b70b9da2a99944" + }, + { + "address": "C5x5R9HUaTp5nr44tX7KgguMp7FW3874Ri", + "secret": "fa0d9ece0ac17368976ec01348503cc026a19510218f660ae0abbe6965233e2e", + "public": "029e6d69030cb4730b95648443820e3f974e70b9d7d5ce2a2559163e0463668153" + }, + { + "address": "2b8k8jUXfHnDpEDk9APRWowqVHMs1C6u2xd", + "secret": "fbe064b4fcd145c2155d717bb1916b1c7d73c1d624691b36bf7df1332de410b2", + "public": "0292d4e8e577b274d72e74b3fb54e56443cc2f4ea586748e86a8311a474457e2b4" + }, + { + "address": "MPZ54f9653bA1V9sDRTgPFgnYWdqdU7ye6", + "secret": "2fdf6ae40789196480461853f075b6bf34fda7f118949c4401b5d4c05dca43c8", + "public": "03e3178668134726e267877354a3e34383823bdffee27b3f7edde6b882fa4b2183" + }, + { + "address": "CicfeSE7jKdooXwA6pb2SFVmTKnBd2b2RB", + "secret": "a1f4b57b2de3389fd1b45bdb838b789a7699c5ca1d0bf458d84faa4a9e68512a", + "public": "0343a7cfd8b57d9359de6062547c3fda453cccbc4ba7524656e9ca58bd5e4f1ec1" + }, + { + "address": "2itVDbUu9t6Y1sJB5hqGUECp3r2mA1KEg3D", + "secret": "2b5a9358c31be11e49985c2f6e11c9039e105ca9175980609c7052cd5ad10b73", + "public": "03c06daebbf6d2c25955b3461fcc8fe73c93f1fb35ec46f0129cd03560137cab17" + }, + { + "address": "hmMGDgFx1gEVCA7FsB9Xo2AmiGXnYaZAck", + "secret": "a53404405b2c79359d04eaea710d283371a92e18caabe8e0cd169bb77cada7ac", + "public": "0332aed6d0d7cb573817142a69be2f34257bd95b95e04a7f29750ef284fe248ffd" + }, + { + "address": "2Hz4RbBvSeNbTwhFer6vV1Y7uUfqbN7FiFX", + "secret": "f5643dcfc17be04b092340b11fdad373d4bc5cab710761bdcfb94d76c005383e", + "public": "033fe130623f83bba6cbfeed537952d030f0ee3f99a4b9bcc18ebf6471274e1851" + }, + { + "address": "9Q5qJ39aeRmY8ippsZCiodMyon2wzfhDYk", + "secret": "37e970e52d13e3b95c4db1e5e5b8b13b87a03fcc433e81d49912726033ba5b12", + "public": "02d02350a1b27a087cf0301583551ad488d336b5cd2dec48006b6dcf2a08ab0509" + }, + { + "address": "pXys5mPkk4jwQW3xYRyqEyQJLKz4WEypsv", + "secret": "381dd50ffc4dcc059beeada39ce30da070c0fa67fbeff5f4b183c2c3e427e7c6", + "public": "021a36d9ab658c57ff3f5734eafed081feed61ae1d6e15f0fd56bef992ab9a326d" + }, + { + "address": "aVp2GMSoJaXJp98jfksbyGxUVmkyYCTyHK", + "secret": "9598203aeae46c16a3f57551ba6541dc83052eb62bfffa65c67beb66e2468c16", + "public": "037985090f64098cbe218815361bf49a1143de4260e85519b9bbe64a18d7a009a0" + }, + { + "address": "2d6weK4E7LmeQ6viCECBKteexwQfmXJefeV", + "secret": "55c82c51607d2612d2c558c87c0ccd2b1c1b02a16616d632f09eded8ca9eeb5d", + "public": "0378bb0f40994c3bd0d789b5cc48aea01872136c0e25eb27e0593c4f8fdae2b63c" + }, + { + "address": "17eYicrsFCUDmQ9Ay6k2enNG6kDRpH27Um", + "secret": "1d5a0997833672800fbf7f55b9dbd5eef6bc53c033c0659db8a474faba7428bb", + "public": "039fa99bbce21aaf219d1eadd3c9851280b447a21f5e42c3083e01243093f5d237" + }, + { + "address": "2SSfBC3MeLVgb3XyBGGXsKYzckjCbYKUgsP", + "secret": "c948107863c1f274f82c8e7759521f575b616fc0b593bb7a3f16cb84337ead51", + "public": "03fb19b4b9769665a86d3554ee26b7e44585f6d9a90109a915cfde83271d7bc5c3" + }, + { + "address": "2n18ViQiVXuUqwjEszaSWvi1kANDYKeQH5y", + "secret": "497d87deccaf1e7c30cf18833c580ac4263ae6e010273805b1940a0e652ffc3f", + "public": "02e5ee7a913f43f7f6adeb6a6f52f0eed025267b930426747909af342b5123e106" + }, + { + "address": "2UmBGe17SSXBpYpp1t68zCU9ojfjk66dYNH", + "secret": "d42ac161ded15f405c83b5bd2645ffb3f9c8f28095dbe2277de723395550a453", + "public": "02118d8b12f20485921989d7156e9cd06a9233abe03286992fd94116fa57b8df4d" + }, + { + "address": "U8YL4g25u9NnpALPn5aBGbosJXidvCooCr", + "secret": "b6b75cfa9529e12e39394a5852a077061b172da0cd6090a4271f4f942b82e7d6", + "public": "02c5094141d4e994dd81e81e4e91a6b81051370b96ebf41a624f3499f9b4525119" + }, + { + "address": "2U2k86ibWdUoe5BNBj54d96sw3rFYXnSySH", + "secret": "e715f598acf607c8552679d0d1833e4ca10aef44e4d662aca8ea84adb71840e9", + "public": "024041c3512656d1736bf7ee532a726ff43a4b4b93a89cf437640ca3f6f17f8eee" + }, + { + "address": "FaibKxHFYdqaorDr3KYXq1pnAYE8581MuH", + "secret": "cf2ebf9d3f6d34189b32c7e7730de432e6ccf9858becc80be734523c5876ce2e", + "public": "02b6b3963a2517bc2010d3042e5e8e595c6074538b22db7fdbcc0c2d6cf5931922" + }, + { + "address": "pB9Q5eXorXGxNZtxfr2Mzuk7xFBYNpMnEo", + "secret": "8f92555b725ed6e25a5e5805f53c5624b58a9706cb144d5a07d60509713fbdc7", + "public": "03c97d38b690b41240cd7e1bbf23529d178742736d6f1ff9f5a8a688747eda0e71" + }, + { + "address": "2Rbxzsa7C3B6cYTdk3Fun32woki93ewxvNu", + "secret": "bb6d4b2d400e6c1b631eed7d4f572fabb51081327bb6645c425d9663e0ef8a12", + "public": "0363d28fb085932c0cfcc17f1174fd70973798ce480af85ff4430bf0bcd4715199" + }, + { + "address": "Diq3gG7K6evBUEE8osDTPq4QKtXzbxUtDi", + "secret": "81b5d2598b5dbb522a57b67073bbb6a130f0711923448dff127c02861b03a946", + "public": "03b0bb0ab5ca2984c0f0fcada6907ca8250d22a001ee69380b083df443265e3a98" + }, + { + "address": "2epzEVetCYHwuGNZefGrZmzYtpeaHoDAQEY", + "secret": "8dacd77988acda3ff11b62ea1d8ae24b45d398b43f91147cac23451c5b68afb8", + "public": "035afc03e6b69359125261b3c78994c6b04525f09b0ae1c5111357be772ca88aa1" + }, + { + "address": "2Qkx7LFzEfxJzqWRPxTGjE4h8sFwnnfZSsw", + "secret": "d828a1ea868827488473c9cd4347c10408c00b4b42c649a975f9385560128607", + "public": "0381df65e2ae07acc12d48e09253698fa510bcc9c9f8ec34a136c9fe248c432103" + }, + { + "address": "gj6RTW7z32ScNorWP5WzHCgPPrh3KT8kmU", + "secret": "6d10041a9ef43512dffb1a94c82171ae2afecdb62a729c48072a877967d2264e", + "public": "036bc174c86d63f4470e151ada6b664dfd7c29bce402543ed249aa7ba67568df00" + }, + { + "address": "zAS1wCFHtdeUgwRWFY2N4cMCPnSTLd5R6A", + "secret": "0c072c2ec7c3a4feb9b946856082b9ee4f35295bf9b278349a254d3d12260c80", + "public": "02439f39e43b0a399cf84982f1e7085b5a2c0fcc248aa6ff6a7a80e1260c8293c2" + }, + { + "address": "6Fs7FRMk3GN8Z1wxksyJQTbmwjgZPcT3Qj", + "secret": "11fa5cc4f1da12b142b18f031b8de70588492f3f7c136b8227236da184bbd17b", + "public": "02773f6b07f15b38a96b3f3395206513372e92376098c2421bc8778424ef19a199" + }, + { + "address": "WpjbGPfvrPARdjnfARbsPhA64BU36oaKms", + "secret": "a3ca77abbd98c442c15ec3a9d755f708474576986d00a082b4999939786b8bd8", + "public": "03a4b79952218f7d035de076d464eb61ef837bf58db060a4765462c95b4342a8a6" + }, + { + "address": "26XKvqVnXe91pE1a6nnfZyjHRmNcHNQX14Q", + "secret": "816345565c3d408ec600f7f012185e5e35fb201a2517f56235e96730021a032d", + "public": "02d5ee48f9e78e6ccfcf20716ad8991624df0e2f08f9585071852d7cdab2505306" + }, + { + "address": "6ymppMLFLv9hDKngn3vUGXuKa82n8fVNRX", + "secret": "04341a22e621f8e46dace5b8f4e6b4a7160b864474c04c3d96874e02d1ef1277", + "public": "038c519a633e90ad55987f55ee03acac4bf269323dd3e5367597e56dab4f0a16dd" + }, + { + "address": "3BfpvXz5km93FKb1L9q3e4gZ5tiLoNN6ES", + "secret": "388a333fde8f497babb32008b17f4172849320f16bdd6688fd6582a52d61be2f", + "public": "03ed04ed7f880f3cd8290b53ea0f41f44f227e842abcc43d73a9640e5ce216a79a" + }, + { + "address": "EaBntaU8c9V3EnfSo6uALdB7NVNVm7BSfU", + "secret": "2f0cea8d8d0be0bb2b826b813cd24da9bc6a059f785dfca5f372d1fa3ed66020", + "public": "03893d78ebea3f3835ec5b88aa5b0fa616a165af23384328a1689c684af46f74e0" + }, + { + "address": "85ewkkmYE23QsaJ8QGHDQ6c788CUTDEh2m", + "secret": "8156a464cd249208b3456c7c1be5d8ecad3d42212278cb5db58d036503316501", + "public": "02cf694432823e75825bf1a9034c2b7ad054210bad5d58250b0dd8e8107a808abb" + }, + { + "address": "2fkBZZHm9KzJCj9uTwyU2EKeGVGaq2T6Tsh", + "secret": "1ba157b63be9213eac9504fe35bb9b8b8441256bf486e1184d1ec95de2360b62", + "public": "03026989d4b9ba7c82055586525a3081b52ef0bdec1c60dd72c5cd2a317d7b7b9a" + }, + { + "address": "shgRMgZie6idoREA27V8zzB4YKHp6g3D53", + "secret": "0b530bc844170e8c96e2fa0270bc25b18158b1cd0a0dc335a2082ad78ab952ce", + "public": "02b9be84fbe4377cb38084efb37101296fa74871438153bc7c10b50e648a467f59" + }, + { + "address": "2WXMUMWm9BxPgg1nu8Pjo9VAA3kv6z1wctC", + "secret": "677e5a6bd11d2d7950ed67cdf19b2321a7ef6735793540615d7dee25f4a89099", + "public": "036d544ff08e196318752c2d0694cfdd2df265fd37f8f701309b206169c894464a" + }, + { + "address": "9h7vgZXrxvpSNkh9v4di38NfsAAoCKxdTV", + "secret": "64687125d8d1d0301bcb7c7f8254148ba674f2fd7976fbfd478e388e2fbdaf34", + "public": "03dda10d0169d9492fe86e73dcb4bee444f8655a3ec54630599e1873b49d62361c" + }, + { + "address": "2A8uy8LLb5VxUt9z2V2tqvFJZujEQKBvHk", + "secret": "4418550903f77fb6afc475aa45f6d46385505aaa261d3333782739aac63775c7", + "public": "022ed942f2c7f4ae006a56d40d2f2973a9f6489539712b09755611e519861a915d" + }, + { + "address": "QcURHwLk8cNaycfrcB2Rw4eLojXTXFafrG", + "secret": "22ca073353e4e79b3568d7f273bdd4d7798f32211856394caa568c06e45eb379", + "public": "02a633a0584586a40799160dc620f5198cbf9288ca1e067cce1f9983e7cd536616" + }, + { + "address": "251iuEvBheMsacZDSmnQeekfPtwjQpf33hH", + "secret": "63751fb3da5decacd945ca81560f083dff8eb89807b8e9111e306e547578ad5b", + "public": "02ed51caff4445482542a0b6ff7156da9bdf7cfa8d722c7b181c1c402e5b33beea" + }, + { + "address": "CJPiAxCd5B6SEg8gwPDGFi8wfQ7MmmCY5U", + "secret": "1ac56d8474ba1909a44e93fd62516514219c3df4b1d83a0caa3cfc8a9926ae98", + "public": "021c30a39512cd8ae0a1dac9bbe80031548c2efea00046312e84bb90265c674315" + }, + { + "address": "2WngTwv8JkpeBGnz78k9WuzUYhspAcjV4zF", + "secret": "e077f3e181e3870cb6c3f3ee95b61c3cb61a05c40661073729a71e228940486c", + "public": "03da594d2e0fa86a0e77bc47b832fd1f270189b8e509dcc14e801103a202388467" + }, + { + "address": "282LaqNpQNhgBAGQW3uVJgTTFFbjX1qvAEp", + "secret": "26e1bf94fa2c8a12ea407e10bea604142e7b81c879cadd378a8c151503a1dbcb", + "public": "03609ceab8230f56a60c6d85f9a4ee0b5f3275ae6ee204c297cf3906404a0e607d" + }, + { + "address": "2M2nyEzS8KcEgBHTFpTpQu5WuCHMqpwyaZQ", + "secret": "485604374652f35a5812dd9b75019d7082209c02cf775e837500fd0233436a03", + "public": "03a7cdab6917f1f5d458774a1a6a37216da8476822bc1f9e89c66bdc7cd0650997" + }, + { + "address": "P9xPYDRBaZxSczCGXnkepWtZfvjKWcjAJr", + "secret": "9abd8aca5eb851431dde8a2aba245fa3dca2f196596c75bee0b4b1f5c54a8bae", + "public": "02baac3167bc9450f0595027f30bdd5fa52e8e7e2c3db98528b4bec3b116ba03ad" + }, + { + "address": "23avPf1yDCPwYDooFJ2uA3ygMshBq24oa3b", + "secret": "425570cb9fd473ffafa9c3b10aa9658301e94171cf6625b8a0c8f1a1f284575e", + "public": "02b3c25bc926088840fe0325c4c277d1e5e135ecc47d77ee30135824767a682af3" + }, + { + "address": "MFY41NGXYtAxyWsrSPFGojAVuLRUS24tZ6", + "secret": "aed7361510bb9fad15a1efb6599d7759ae3e4c154145f386e415d2d86af09b3b", + "public": "027658dc03f023433ebae5b19fc13110b8bc81786355a62cb0395fc4f3e44f200f" + }, + { + "address": "2mJhg63fvEcfvHkjABt1sqhsV9U1R9fi67g", + "secret": "c0739f6996b0fece57a490c12a6b037739526f709e56e8ec93db7ec58b27a341", + "public": "0383d00c097840d92b66c828d555f038dd23f160e1408394ab9708ad9602811803" + }, + { + "address": "B7uERaApqSwMahW6VeqZ2HekW6EHSRLuhu", + "secret": "e68379b76208250614afae494bbfe5da612e9c0de863ad2c916aae46f5a92887", + "public": "0256404e09850fdbd455763e45b75b79aec15b5eb005cb89b906fa5c6099f84ec3" + }, + { + "address": "68qcyx2YJY1C1sFvBkSPpmqpN2G88e2CvA", + "secret": "f9adaa10140355edb590e61818712040662491a6eb59765fd3d8364badcb27bc", + "public": "0321c06486d367c4c40313672c3b6998c7291e3cbe0519e13827a7c4049d5c16a3" + }, + { + "address": "2FaMkeRPxhdiuDhUhXqLPv15pnmsS1oSkqo", + "secret": "f0ad71ef9b7bbd682988ee3b7ec68ead4c9e7dae2e0fc41813ccf719b6ce2857", + "public": "02647a9839758ed0830bdeb1c1ce2769acbe4e8deeee42ee745d3d7f18e8f261d2" + }, + { + "address": "CFdDHPNwmVk6WhC39WCvWyrzs6SRo2bLXz", + "secret": "ffa8b3da58c93aba377e1292afc33849cd796d826d185aa04964473f0e978343", + "public": "0288f6df8b041860d17fd8d991c87a164ab51905f79c85bf93930042ce196c1df9" + }, + { + "address": "FKmFe5i5z2krYxQkg8NTq8PgPXRdP6xjLs", + "secret": "06e70a542984378260026ba1a0cb09fec849a6e3de827129be09234c45959046", + "public": "022df795fa62b6497c171898520b4012b89ef28e66dfb2ec4c01dbd83d6a633d08" + }, + { + "address": "NxKCPRWfvHmpavAZw5MjP5d9JcXieC34Kp", + "secret": "9ccb0d6970a675903491fe280f6b07dcb018d3d7e470f3c1a6ec2984aaee7bcc", + "public": "0220b8d468f5f1f65ef33948aca4606fd21bc8b908a28f14b0de18dd18ccebb838" + }, + { + "address": "RJgPnJMTKBo7KuEDPd7GQQB4DeEtyczUT5", + "secret": "3a765a74fd919c407a95ce6d2ad9491641589a60878b785d9e18639e3ed185da", + "public": "03fbfd66876c8200c688488876f227df16a665e50f455ad01b3264658797c54f73" + }, + { + "address": "2ZK6KxmX9T9qk5UnFb9SfNM8LvrJejux5kt", + "secret": "0990c94bb8b0d8f7cd3e7e097efc6e85525720992a9b8af9bf1f2e5127f11277", + "public": "0393941b893f7b4efa9d0ecc06df1b55d46ade9fe9b385bed458fc172094b9cbf8" + }, + { + "address": "2N3RdM5K4r3eYmHCFDH58CnUGx1gFMmx9o7", + "secret": "8cb43acb4b196c151e45227fbde9488d9e15bbf8da3a1b45b8997dada8700cde", + "public": "03f6c1da3c8f27ab64794a00599887c97f32cc9e42a822451ecf26d508eca9ad82" + }, + { + "address": "2H1VNSr9z5w1szqtva9bRUCLXsyvLNSXWrq", + "secret": "b695dcc4a615914926331365f1e894c6efb33078e44d87542bee580574f075b5", + "public": "035020067ebc6f0b5ada96bf2ee82177cbe2fab157cc6733cb52a05047e122e0fe" + }, + { + "address": "msNB3k7p23RwHgHhttqpuvw4psfysq1Rkh", + "secret": "75b36b96993b83d56a21376aefb2638fcadc03b3e1a1d67332aa4d5e05842167", + "public": "02cb48b18b854d05d3fe595c9036a3e0f486761c43e7dea7858a5378b97040f5f0" + }, + { + "address": "2f7axMoMyTFgCbkbsXvi7zRYgQFdhPZXh6P", + "secret": "04fbee77d3726559ed06eb2f63c11dcc231547910d70869a0e061cc858efd0fd", + "public": "02594db5ca23a3c18801205e3aa94b1e70e1eb632ff0e5fe092d1b8f109932a9e1" + }, + { + "address": "4nJxCkfZkzFC3Gcng9yB4jTYbc9jYoeWui", + "secret": "7b4eaa2f5be99c3ff630558e26ec8df249d2f3faa2f6d5e150ada68946e56024", + "public": "02d6e473a3f1d0ab1d10f3e49b22a0f10a0c7aaf6a91ea20a4c0cc402e7be557aa" + }, + { + "address": "yuGQw5TzntwHHSFZ3Fj1yNfU6DuVtrK2Bx", + "secret": "d716d9193356f96d634913768b0a9fd5c76378d87e472a20afb086566b17ba7a", + "public": "03442b91d87ed6772e0fb557ba5ad2b481c78cca2730b4ffbc0cb637c14472f054" + }, + { + "address": "1L33Kg34Gj7yccMoJKXj2ivzQyxihoybaY", + "secret": "4583af591c90d5df33029f874c76ada794ba7ba2800fbd91778131ab8fcccfa2", + "public": "03723d1d42bfc722cfdebee030af95936030f602ce3c464593eac6bb048df5989a" + }, + { + "address": "2NwiemjJATwoJ9r25Jfmi6biyYtBUJqZ7vD", + "secret": "c96a2a6ecc7c964766e15cb3e6e976500153b5d6192d8dd4520a8ac9077bac4f", + "public": "03054413578006144e776be5d65c171667fd0466f41c865fffa8d8ca4f58d3b46d" + }, + { + "address": "wh6cxtvGracfHfKPga1Gw5aAYL7YjiaoLV", + "secret": "8c2e6470f1505d55fb80d4112807f7dfafcbebb3e33ed5e5bdf844fcd8415e09", + "public": "02a8e00fd4e4a06e017c17f3d93edac7060a8f97ec4c2226552b6881d94e102449" + }, + { + "address": "2jTGRGAkWVojYeNrJ1PtE1ppcq2mt2dCQP2", + "secret": "f41b9f940cc71f9fc889bf8e1c42df2c8cdcfe051f6e9c0bca2f3567f991d9de", + "public": "03de30a46efc8ae7e14926487fd940bfbf9752fc48f8260d17362e59fcd98c3326" + }, + { + "address": "2gunAdaL2kStrQEcaiN3wYXpyuTZVdCQgJu", + "secret": "ad8a98fea822a9f6e3dde77720ac33b645f1ee653653b5002daf0b51b36054cf", + "public": "03e71f0b9923dea45f5b36f03cb39ec95091be101f50b515dc4e7305786265f12a" + }, + { + "address": "2aqkXB7Ktc9UqD3cpD85LXWM6K15sExbmjd", + "secret": "ed8a62664b20244f817ba415b88748ece10c6c017b47c1eadb6aefa81a1339e4", + "public": "032340ae72ed38c789d18e9c79337dc7ed3b758bf79ca46bc96d859842522579e2" + }, + { + "address": "wAzQNGrVRX4YUpa1cVAHHAfhDUNedenZq5", + "secret": "3142f3da96ee43338c96f9adfa031a4c8f9fd6c2ecb1a3445dcbb1120c25e9e1", + "public": "023795f20aace810257af3d7b3657f91871dd420dbf71b8325bf5d4c7483f64566" + }, + { + "address": "EPMifzsxYan5zGa4vQucqTqRhoD3FVppLJ", + "secret": "c4822448039a8158ce1df9226658200617b9567731d40eeb194932420d3fa3b2", + "public": "02d9cf102f49f1f4a179bc1c3f1b1f98d9b048521a4030adefec219c578b084a40" + }, + { + "address": "S2A5TZc9KreFuyALfSrAEqtfAnDpNZc94m", + "secret": "447e435d5b33194e4d9e4fc2843f0565a7d0d4b70f5aa9e5013b41f248cf91cd", + "public": "03c1fb28de9f691912d2a70babbc75bbb98f631600e271abfabf61d91cc8cc4daa" + }, + { + "address": "iAYSpkDoyaLaR84EfrtQvN717B9u6fj4qh", + "secret": "e7f0edcc22d803e6cb9d267e081749371654f455ca285fe89933c036dcb371bc", + "public": "033557467e9d623824a3fedd7291f0305b8ee6ae2425031a9950bff58174971671" + }, + { + "address": "2K1nzfXsFnvSVZwMJL6WEvhW8qxobLtaQR7", + "secret": "e7698cbafa77734600bafc754f0d9a24ef84b94c16d69ef4594c375bc0c849f2", + "public": "026525ef0253337c276ccbd8d7c0182ab7ab48583d5ec743ab408514d6af2ecb0f" + }, + { + "address": "2NLypD5yFCBvqNQ46f8y2AjTzrQtmdR8Amg", + "secret": "63356b3d581b1416150cfe17c698db997c734b2303b7e7364b91b42139597a14", + "public": "02174eda85628cdf4a38a6059ff96b58435c1f841d70ebde77838f14ce029de210" + }, + { + "address": "ycaUcxZ297suGDQHX8rAE2o66uBbaHSa9K", + "secret": "22f75ca0d85ba3ab8ab6133c4f8222cca188418422d6c8f30535f0db6399a747", + "public": "0287d014af5975037275978bd20691124f4d906be9c09ac5901d6388abc6fb2806" + }, + { + "address": "cvDxKoZWNEhuG73dxxjwBHJwHqHoj82qQJ", + "secret": "3cbc7c5436572ea5ff736489d84420158600d5c39e8175d3d1f752bc1ced2b90", + "public": "03279f03cfaa48f1eb80c66138e4e32b22b943c0b46c387c4a26dbd1cca5ac4147" + }, + { + "address": "2V6bLf431P4U8odSUTozXtNVyVhhfD1x8ks", + "secret": "4a9234206aefb76345294863efc3e344ac8294542d6c78eaa8f0f94a396eca29", + "public": "02a096ec8754944a523602aa7141c17e76de62c2d910edc107d9e5d2e2ddfafac9" + }, + { + "address": "78CiJEYytgY1GY3e7YkEEtc3iKUh17BsRB", + "secret": "e9fe953daa778f1a4e2ebac0f2d5efd9a10835d3301f51f6c23b3c03c1d6bd2f", + "public": "0311cf95a60d6e04ac1b08b3354efa2d364fc1f26d552b1f6f864379a264d49dcb" + }, + { + "address": "KxXp9kXfiUwqYApRBpSieRjG2gUz8MCAeA", + "secret": "f9b6f18626230dc0221df145949885138b66add73f216febbe8da03216852fa5", + "public": "0200780f30aeb162071b8e8f863d81ca0a9aff46fbf8475da8faa702ac66f7a705" + }, + { + "address": "TRXyHSr7oGbVbJurhkJGgSA3Q1NvPQadqs", + "secret": "189694b3d311db623cb393808e89cfcdff228f1675a8392f3a85882d116a442c", + "public": "0280a7a939f549d5d8c8fe377ebdde1413223b36708ea770a9fc37fc5bb4cfc742" + }, + { + "address": "2dzxhFNvfELuA7cPFsHR6z8NnoCZbBrwq8b", + "secret": "626fa9e02b3cb633ec3f5bd75aa7f39cb9c0c494ee9ffa1c059032086542ba54", + "public": "03aa1d51380d5ad3fe1e6c3bda6fc013d02dcd620784d5c1e37dbee85ad2296cb7" + }, + { + "address": "2NWM7ZKdpa1KAKbJGoh2kjKQWnF4PSRuTWd", + "secret": "77a01079dad73056ca87d84251811bd0e4925e59e64ea2a957fcab3368f56d5c", + "public": "02ab48fa9293ae86ce7eb083a2c90d8f63301e115052cebe7e1dbb281f424ddb8a" + }, + { + "address": "23X2NT6wQJicBDvZMUDysSV3wMgXVSoxMr3", + "secret": "aa7aff9bedd949cd11efdb243fea9e09e8a36700cf97d611122d9eeee9d597b4", + "public": "02bd0d5009b71f203acec6294881215d7db08595e9ed86dc92e634d5b0d2f23f0a" + }, + { + "address": "LH1YBP5AjvYaen4k7DYgFyAzqi9pKXBkgW", + "secret": "464afa06ba6e8c59a1f16315cdaba68549cd1616644a7a25b343390ca5d86bd3", + "public": "039bde448da1bd733e8582cd0a99f6288fa227e0f36f1e945603b2d83e5bb1edd1" + }, + { + "address": "LPedwEmoxZPp1Hfh2gM19aadcfjznvdcvA", + "secret": "ea2e750dbbaba5eb4f25597e27f0ecdad267de8404adbcbdffdf9ece9cb0e168", + "public": "021d0f2e38c66ea712101b9c522e9ae53c827e8c3124608ef64fc3cb316b4f099f" + }, + { + "address": "iuEGDZe6HGaVkR8Z2UgdDopPQaJZ9GahVc", + "secret": "88f6191752848ad861182bc02853fa7a62b2ef1e6a037a81738eee0ee0d5d495", + "public": "0224a18069cbaa5ce86031530cc6c53f5be72cce4affe5aa9e2fad32e93b231c58" + }, + { + "address": "2fFT7hVto1ijQx5S7mNtiRA14nkxKHmd8X2", + "secret": "a2a4095a7ee80b306c02c0dfa672f6de067ba62f6dd23e48cbf925e7cffeb376", + "public": "03b12f22cfdccd4999c0f8623e1b482f11679591198d76d7c448de1209c2b75a6e" + }, + { + "address": "2epcFgre2Cfgzr1nkLgB5LHmQNPxdebFHVW", + "secret": "3b9ab3594ba9909e49e46438c637f9247c3b343027196533047369af3f86d761", + "public": "034075500701002c771f867a354c5b63dfd7a27b230d6604e2b8063b945e1c83d4" + }, + { + "address": "Vwgtss72ku5Ud7UDZL836MQJohdcSuwGub", + "secret": "76690e5179208d5b72b57b19e492cd8201ee8867d5ebe40bdc8667af33b62da3", + "public": "03b88ae823021df56ada42cfc8c1fd88c7143eadea1ef884f1f0ee2e2943b8cdef" + }, + { + "address": "cXJ5ihXqFezFnWMygwsfifaskFT7xV4ghw", + "secret": "dc352ef72b282321a30ec9b0d959d4d9b77063a45f32d8c905448d0873460b69", + "public": "0320b8d9fb36ac1b22177930e31430d5b84c89aeb89ecdcd554872362c85afdc2e" + }, + { + "address": "2B5gSmoLbRppmBiHx8wxWwnX9Wt5XhV8c4m", + "secret": "aa687c90db3b0c2f87bad5455fd030bc8775dd0ff8a65948bddb2476f573aa46", + "public": "03bc34b2d5cfb361477821c4d7707f239b95c87d26e6928d4f3f4acc2d6718149a" + }, + { + "address": "CrMPQ1PjwKWnDdPVAQaSfozkHPuKzDe4JK", + "secret": "688c5018bec02673824ff63699d3002f80382aa6ecc7d2767f8f3c74ffb0590d", + "public": "0341fb80c77b69a986a39d1797a0c5b8cf1b9ebbcbf4c108a122b153e2d8ac3063" + }, + { + "address": "UxFfwBKAquEJYus4FZRJXu3Hqcrb6XgVXA", + "secret": "1be47e095bab584745b8474c9b8e3c1bd03cd14ab6d4cdad4278a33d804e6018", + "public": "022b2ca9b29ffab11f2ce848851c326eb8f016e7d402477c80fadea819b4c7dc2c" + }, + { + "address": "2bKghkQxAUpLRL2CH5UXi5obZR3e7bMXjev", + "secret": "4c8f815282e42bf87fd63533bd11c27bf2f684886419927ab539165869dabb47", + "public": "0327ff01fc52d974f53769efad15458ddfafc7526628faff0834b1688429abdb3a" + }, + { + "address": "yNQkWKwwyYaSWQRqxkuCPWLBDUny2VwRW5", + "secret": "e0a08d6aaa1efe1fd000901732256ef93946d68c038735b3ea99b54d0aeee8c2", + "public": "02c8c10b617f36160a432cf69551aaf10e5d92a3ef55b7960bfdea86b85c6a2aac" + }, + { + "address": "Ehy18wxh4BaU4H4ddKzhTe8upRdHdKgM3C", + "secret": "cf82029c3429bf9e3a2918fbb059dfdf667f56ebab79c62bb3379c4bcad9fccd", + "public": "0341b4c77a846dfb985f5e25c21dded44577d51b8cbd2c6728f1ccfea6f80ba547" + }, + { + "address": "87CxDUGMUEG4TbmKuJrnE81tnDfdbji3iD", + "secret": "7d9656cb64662392ed93c60d66c7c2e5c6d917bf955729c4672841b63e6967ff", + "public": "038a4b918b57f7b303ceb32f8b3e4a0a3f93907edca2c028b1eb1730890ff9de1c" + }, + { + "address": "M5Hd2UfGCYHHHAMRhhRNuMiH1L4PFTdBu7", + "secret": "7f96a3f77ee706de79268dc5b161305f0d60b32b5e39f827fb7c59c9d2c6f594", + "public": "03355b8c6ee5d09e41c5cfd0aefa230b3de94484bf65fe04b2b4ddad68a452cefe" + }, + { + "address": "7dCt8NcfvF2eqSDU31BSX6sdfbuYg6D7s3", + "secret": "c6d2f40294eeb8d5e9b05f79ff0011dcd641c318981f2a6fa118c1fee8301787", + "public": "026a28127485642665a7d791b8a94b7a19ec42ebaa30a6cae318ded26fc2e120eb" + }, + { + "address": "EfjaJj1zqUT7c44FtWTpTtZd9SctAsgYgN", + "secret": "5fa1c6aefa6b2c3265181f94362798bd97ac1157e2825a555c3a73ab298c9085", + "public": "03c51dbc5d349755cb608535d9678b67690a83ce6f4b4abd2b4b1bfa3d8deda428" + }, + { + "address": "G4t7VPjovTXpPkB4WFR5NsQs6UCKsZMrTV", + "secret": "a92f1ab3e1c387727a160af2236d5b1140b69016d8e328d0600e3ba933eae344", + "public": "02f5ef7788d11f164cb17facc1c3d755954373ad43c350ee22de71b1b4d3f6a921" + }, + { + "address": "EqnAHqETs7ZqSEwmVGcUBWENuXfF3AwX7u", + "secret": "8ed59413c05a8fb4258a38bc8e2ae33c549c31e953737433edccc00f6e281375", + "public": "03e99890fcf8468447dda686a52fcc4d2ebcb4a2a9598645cf17bd35e1b2036e4a" + }, + { + "address": "9JY67nL2TLrh4rf8W5KezEjakLffjJ7ZJv", + "secret": "819c8cc72b0c266c144c6c77f359d0c5f476fefc7d5e48b0cc32e694e00a1be9", + "public": "024eb7dd60ec2195640e68ae70cafbf9d3f32ed84491e9ef9917d50a15da31156a" + }, + { + "address": "eJhighy1FQDgytHobEPkFUrc8MRRDUrERX", + "secret": "d8ec3cefb2571360c9a63e100c133e1a28f5298479f6b71f24fd2e35a2ff391b", + "public": "02ae12cd82ddf09f2d41f2eeb4c89d7bcfcf7ea6d045825d5e7ff480006c873cac" + }, + { + "address": "sXKjeTQx1Kxg7JiUsY1s9JzxmaZAxJGz71", + "secret": "6d2213281136b28c2311ba20c7f06dfa2631023cb9c41600a343b12eab7a1fae", + "public": "03efe76de2c6f2bb427d311f819421fd737d9796ec4b5e884724bc83313bc7df25" + }, + { + "address": "2P4vNsCQX5e2TEFsA3phiEzzLNcsa55z5ZN", + "secret": "7e34200c29f235e7d41165de73e3e24345b333f2d62b1332d1645c79a131fe41", + "public": "02431861ed3afa26be09c750021b2f0e91b115216ad177403e45135346d037c421" + }, + { + "address": "2hK3XCyTcLDihcW1EpBqvRhUEfQTySJvtZj", + "secret": "26e1cbc5e0d46ed4ce85ffec8e2673ceb4703796b88a3dc47207f2e08dcff8dd", + "public": "03c07daec002df3915d53e49dd3bf592056f9ec01c4c9f71463bebf622d8db9651" + }, + { + "address": "CMyzndV7XRPcWyvLQtUckf4AqXh2BzeDaZ", + "secret": "016be155c064286b20c31e3eb78570aee436b4a1bcb51553a98a3b88db3f1a0e", + "public": "02dffd952d6087b6839ff2fb5406f8df0a588b47fa37f6b6501adef82237cc91e5" + }, + { + "address": "2Sx6BgyjTNa4SRGzrtQ3XczPtwKykMDNYUU", + "secret": "fd0f956556804aa600fbe8d179a5cd5293fa543f4b301496df71d44ca18f9f44", + "public": "021306263d266c508be82703eca67e924138e8373fad6db63fb082b173e3790a83" + }, + { + "address": "X54kZpzfh2QgJKptToev26n3DKtREcoPu3", + "secret": "5ebdaf145155d2c3b8f3c2058878121d4da049de70569287afcabdcedf9e548f", + "public": "0318d7c0dee3c80ed280adeddc136dfb8addc4a96a0fe1686ae40ad48c4538485a" + }, + { + "address": "2dy28oXtQ5xjMmk5WZoxestCyYrdDKp4k9a", + "secret": "9fef49579fb653c9a1cb089f286318cd125db8da7a02e1603a516ce0e90b9519", + "public": "0367c6fa57634d2dd0ed737eeaf9a968ee566f0f9ff8c080fb5d3a20955f1b9cd1" + }, + { + "address": "2YsSC6ULU9ud1HFPx61iK1EmbtFPwuPvLmX", + "secret": "93ca92327524ca10a615c97c803c31e181ec25e1221a66f6cf4ed45549832f05", + "public": "0272595118ad56acb6fd1a7e733d580fef7bd7177c8f5150e834daa4ade1f69d2c" + }, + { + "address": "c9yNnwGMSciNxtfCfDpZYQBqkKhcruoCBR", + "secret": "1837ba45ee86dbaa69529292dfbcc93c1424326ebdf8a77608f1a0f7f4e46679", + "public": "03a7a4a53f0e573ea39f83bb9bacd91ed402937678c7909a2630c852f6a677659c" + }, + { + "address": "2cPy9RXG1kqppk6hvBWJdYPusTM9oaNpaGY", + "secret": "5838f6f51f7ecda21c6bb33bb6878c0a9d25a86015dba6d79b0cdc472577dc4a", + "public": "02fb56f26293d4ac62f3e49e3b87e81c78661b8af91ccff7ee4f452cace307d842" + }, + { + "address": "2RrSuZnng4zVoTt4Ytq2tGqg9yYSXB4pwCn", + "secret": "97b347bb13110f84c58bb17e8ed424714a897f72893ed476f285db2e4fd8c80f", + "public": "0302adfd41a08a7f23338dcc45dd6fbd0bf3f4352f8abf814c10729a63c99863e9" + }, + { + "address": "3ThUUSbyeiP8sYcKUJfjTh68rZSBh2K1Qe", + "secret": "b5396837ab1890a661f493011d5d3198849ddf54f3620ddc89c7127cdc6e1031", + "public": "02a9b07fce49c94f70ad821eed6691d35435124528e4dfa060b218098794288782" + }, + { + "address": "2P7eu8oaRGRqfZMkm7XQCA4bkAMVuW7XarV", + "secret": "aa11b35c65657a62aa20b44fa2d79d7e39f0d50af94c83758db244e63cf3deb7", + "public": "0301a3fe3b088d93bc40f197f476017d02a3f269bf7e402bc30e8028f95eeb323d" + }, + { + "address": "wDgABtGkzH1fFoPRFRdXXPC8Eh4fbXA44X", + "secret": "e7e5b7774a59efaa663bb190f4141a443811fd915a0542ae6d5b80350ab4d566", + "public": "0398a4a1db8426a805b7c78a101605173073a26395b9e870894bcc19edad3ca1bf" + }, + { + "address": "2bxejRENs8r4JTvfcjzzPrYqAFHCZWZpUgT", + "secret": "fd684a261ce599c7e60b4ae3dd8c25ce6f379cd0917145e784b2d65bee3dbd40", + "public": "035ecac650a6ad90a0c7ce37c4a8f60470f720bc323665342b4c8a0891223e24fe" + }, + { + "address": "2KGpywnakyuFh8JwrQzkZVYZCNTUjNUP4QH", + "secret": "1f6f6a383bde7f74e62906fdd0e732777bdbe083d8cbc3f937911ea97527fb09", + "public": "02710b1c5b760022a5defcd04a471cb156304bc97b0f2888ec0319677de684d1b3" + }, + { + "address": "RtK2DJPZQKcDtFQUEvmjDrVWGzZ7yBL5SY", + "secret": "398bcee8a98af1760b796cf0ffb3b97915a5f7395976af48e56a88ff1723abc4", + "public": "0395443d2c26ad2e5b14c62d83d742c212741ea90a9f862270e9b6fa65f7f93eec" + }, + { + "address": "gSHFa7incxNmjnTRVeu9adx3H491Q6Z7gL", + "secret": "6f75672a799f02d99f8be68c3f5ec9cdaa4e225d6b63fb28413210592852339d", + "public": "0296ca726068a5902489957ec48c85cc9d77e868b159ba9ccd50e6a5a7208515b4" + }, + { + "address": "2VErjgC2zSFHYp8upgaUmYTpyqZm54HuaTy", + "secret": "d9a70bdb789be436b144ff6b337fc2179ae4dab76cd17ac61c69f81eb669b7db", + "public": "032ddb910371263818b94e8d5d763718ad8d6a1134bb806c1f6c84358482cc68aa" + }, + { + "address": "aGCeAXjw7P3grVg2N7ccWqvM6Urtsrr56k", + "secret": "1f6ac2fb2540969789c1e435cbf10e32f537603beb33afb9cc2561e1612bd3f0", + "public": "03930f9ac4c718599a2bb6dfa60215ea9679d393a57e2f1d0c1df60dd813b0e320" + }, + { + "address": "2Amstf2g1ABsQwZARZdP1hsyuTF2To4Qb7E", + "secret": "d5500918f2cf90b27f68e476a7f542201f881f62ab571c1a56f92b3ef2bbde98", + "public": "02d5c5807716a26bd520189294ee1394f9e331b052904bb74529e11af87ed4725a" + }, + { + "address": "LZH9W2Au9PdRNYChRYhQQ1WygQR2m1Gv8E", + "secret": "8565e2c08db9f98f6dceb06f01b6234960005f049360f9ab778864b278f53935", + "public": "035c4e48eba28145bf0c949a21b2d6d8ef0bb34112a5f75341372af93aa23d749b" + }, + { + "address": "tCNwshNocxoMVaRprwjnbfSoBtNXYdZbva", + "secret": "e5125d5a11dd0bd007cb96b665ce5a6924b3980d9707324961f3a5d98eb37fc3", + "public": "0203fa587df0939b087dcfa338bdf509674ae0b3b8c2554717c0f9bd0accf7c0b1" + }, + { + "address": "2KiyEu5BhXanjwmjASUNXS3d5fgk1ra2Dwj", + "secret": "556baa1dc55107be4cfe1c345350aa3d0d6c029b3b7e11287b06ef648ef799ab", + "public": "03003633353160cdf7887f5cd7a1631c28b52589d6349fe26105fc7831822dac1f" + }, + { + "address": "26PYDLjvhxjrKMaRnqrBoNtD523VdpsbsfA", + "secret": "a14b726d7f34d630b51c2d668c9d4a309ef13caa9d29faa9b25fb1acea77971f", + "public": "024015911a99f20fd61a7c836ef8bfb8c036322e9555d4f87fbfec8a280f251b13" + }, + { + "address": "2PMnPZxbrtjJBj4HtWnbNEJXGqNVuzg7L6T", + "secret": "1e057bdc28c90b117348301d61b7788799fa48747633b3ef65f128db85bf5f94", + "public": "032c82d55599f47c022b7ec1f2d94a63a980f88ed47e07eac48bbf0ac0bde7c3b3" + }, + { + "address": "ngEoKTA5kLWYecYcHpLUSrP8Renp5xG3Vf", + "secret": "63e673ad8615535dfec17d8d4232df7ce645556517e3a7a9b77cc535b62755c8", + "public": "037ffe90571b19501cc7c0e7619b6ee64f00f2f5f9bffc54b82e9637506a5179c7" + }, + { + "address": "2XTu3GjDN1haGmdP15JiedULe17Yvou3PUA", + "secret": "d0354da826bc9131d5c511bab8180df24445d4ecf3ac1d163c586a60ba691639", + "public": "03ae79c37f3806808c63ee7ccb22f82b2f43ac4da2081fd15c26c2361585415d11" + }, + { + "address": "Mi81U5WwUVeD8gvQUHk4uVwARQbW6GGdCN", + "secret": "cf4559eb1ab7e0dc0e2589ae74744a6c6440acc1c47c1e20af6597839302cfd8", + "public": "03f39538cbdae0192c6e467950c14e8b78181ac80a4f4be7118b920a0419d4748e" + }, + { + "address": "JS6ktiN7Ms79KoTQWGzZ1M8VAtRcrERu2N", + "secret": "753330d28ab5b9236fc9e3d2b0e289b61dd9f08f38f1326cb2adc79d10465d4e", + "public": "0369365644818b84383ec3f85eaaf5de68874b2f0993a2ca80e9fd5520a80f1142" + }, + { + "address": "2ZNsWDs1TacJQw5JxiRgVhUAcxThC6WHuJe", + "secret": "fe014fb4af0b644d30ca6cbf94dd56f9489cfe049e76ea7868f4ff77302934f4", + "public": "032efedffc122bff9baef556ea5925ecfa2c67c495cb19d981a1bdcaa44e74351e" + }, + { + "address": "LxgmkPM2f1HRcRrmzr9N3cEXugNmXsN8qH", + "secret": "a21b407ba7d8c319036912b3959a158be0f06aae3736502c8b6f9e45c3622239", + "public": "0370e1ef67eefb04dc4b36793e1d8dacef50f1956062a41e16aefd0df257ae0690" + }, + { + "address": "222JtJnk5pvmP8nbET1au9SZbomfzwUKFs5", + "secret": "fd1d0d6acb0f13009f1cc4067456d8b3e2ef43b1cd7ca9a5dceb9b682a29d10a", + "public": "03e193aa4c3448f010c380254a79bf4ec7936b92acda213d33b46f684c52077237" + }, + { + "address": "24voKQR8GY8aWuDp6deB16Nq8ZQMo1eKpmB", + "secret": "dc2d1c7680935541cd768d6a15304edbd709b2d8a6d2414d138292a707b17fbd", + "public": "03e75c1f8746e2d0c7001212b5a2f81b1703efc0bf9cb8f8b34fb10be810fd543b" + }, + { + "address": "vWtNWUB6gkdeCn5YUXbXArYNVfJLP4Cz87", + "secret": "0fb2a5b69860ebb7b5b17dcc20d283aa5f45983cbe0cd4a9fc2972f3b17b90f1", + "public": "02977a6e8bd289782fe6bc933e212fa7f13c6e915b44f8de61bed4786dd16f8f3e" + }, + { + "address": "F7vSLH9cg77q973YtGaWc5iodkMBpHiJ3T", + "secret": "57ed144cbfe320f19d3a3ad3d5d3e7103aa2fb62586d42da71e7f987da14b648", + "public": "022187aaee0d76e40534cc89ec0b299bc9e80fbf3fc10bcc0c01fead840cf80eb2" + }, + { + "address": "FuTw7roSkr6CNsKqzpUyQJvMpUReBSFTUd", + "secret": "31ca978b4bd2bf895eee56004c56e7a3d21e8ebdafeb572bbbecb36e0e16a5c2", + "public": "029eb0564cc27d0a4a65c1942e446585105cd05dc22a96f19764cdc8b7d0228f9b" + }, + { + "address": "hFGCMRbvKs4m1zAV1RqEGcyAi5SpMCco5N", + "secret": "68cdd1bbbf0b0b8774a6f45be72e0b561e6d30348d64dacec06b194e4c957365", + "public": "03d126e5cdea74eda90d02651be16a70d0580315e1617a70fe46531016a2c00cd4" + }, + { + "address": "6GPVFb8T8Y4iBd3bAmyojBiMM8RnPYgZKS", + "secret": "ccb1e0206867f641e3abd217c1e9811ae39ab55909a7711a04702e5603827655", + "public": "02fd2e9b6e7468dc351f32e6dda6ab83edaab1eb3d7e4acdc3d740677f106ff907" + }, + { + "address": "Ef8qDc2Q7Sz7J3eFnvd98SMEJCHmURdzS8", + "secret": "3a09f2bf6b43df6c213a94214dc65a9ad30c651d09e008be435e66e46ed41c14", + "public": "03cba4c199f928595615b8dbec52e7b20f1a10b40735adbbf7b6f107cd12751308" + }, + { + "address": "2DHxwQdqxY8NvwXBnwX7xhzs9aGKsspDbX1", + "secret": "e8813cacbdddfa7e48271964fb91a63eea487ca3f462e64ef598d3b5748f13aa", + "public": "02f156980f66466742b818fbe5fc452f7557f9e51f51e188543b746e5496fce569" + }, + { + "address": "gecvozAwkyuw9r6eUn8Rg59Y8DcgYk2dFB", + "secret": "fa9f8353f6a67de64f4a7d2719bd0c53bc80d48d05c272d59c7c3bd45d458bba", + "public": "02afa8788e25f7be793cd8c9cb505f7613015f1c0a2de08649757ed5bdffefcb94" + }, + { + "address": "81eQpxzb3xiQs6C9R16rTKJKKcPjAYP8CS", + "secret": "fb50e96115ca8e95e5def16d2ad10834dd2c5fc3fc5cf819d86cc47355bf9579", + "public": "02e5f672d5af83ce1aaab51e99a1225574598b27c922b4f1a3feca3c20cd6d3ee3" + }, + { + "address": "9RckSwNRZvVSWHRYTGW5TpYzWYAfa14CuW", + "secret": "c0c14f4b99871b6ab8da7d3e44e76f943481e7d313f7df492f15512c42fd9bfb", + "public": "02f57a28bc829e1fb9862d0a063f19b99d7a1acf93ee52b21ef838ca5cce45a822" + }, + { + "address": "kR5sYz4U3hpfvV9UpJoHpGe4b5dvSgxq8d", + "secret": "9b8e0a6e8e1ab9f089049a33be70b0ba67f9204227e49fa7085cfb12b9ffff44", + "public": "0271bc6796ff472cc141b0afc0169efccc865786b0d3a607cbaf31dd45fe1262e8" + }, + { + "address": "Nxo31uJshFSDeQqKTrFBayX2Kp4CELgnbi", + "secret": "29e4fdb5b7725afb1db7035cef6d4ef29cd818c81e66981a58d597c5d4259758", + "public": "02e95df9d7dca346d3fbbfb4a5c71689ff2226200f41118f951a3cf8d4f5574f78" + }, + { + "address": "2A7CxHDjsapYNt6NHQjWVKvxrXCFccKi6a4", + "secret": "2087742e97dd285b394d6b2f171009da8b0fb858bd4a0527a4e1fd8d04f922c3", + "public": "02a10f6ff9086e45bb2ffd96f56dcaf5adc8759da06fac9265cd116f6da6cb8d0c" + }, + { + "address": "MydhPQrxZubrT36DLVBvm4ww8jPgwXh3FR", + "secret": "a7d1a0b8a57b64b6149903ebf0b6aec407c5d8a7f5a0765b0fb62807fefdd9ee", + "public": "02858feda2754c0e692228f459b4f5b563adfc1c0d231d32777c369bfd12025261" + }, + { + "address": "2RCHxBQrfCpWpDgHhQMx9CDdNXuRSdBvQW7", + "secret": "9e59e8c9248db0067f382ec45f8b50fdb229b7d35145912cbda5a60652e4e2fe", + "public": "03ebf7323c9d07ae87639780e7fd2368dbb2a2be81fe2422a0a6caa3fe95af8070" + }, + { + "address": "2CibMMEZLdQNDNUkeGTxukCyP9ZQyKTdTwr", + "secret": "20ef1184fdf206000b3afe262bb8c7c1f7e47779c37e25b4aa8bc9ce1fcdd5ce", + "public": "0228a3cbbdbe7b3c06de4ba6a57b90f0a32353d967b1df3d2a735eea9985483531" + }, + { + "address": "2kS7peVSHev3CmmdN7DLaZtjEzvfvKkk5YD", + "secret": "92bc9d6ddf02530375b614e6dd951c0ae3732ba6186cdbac6ec2f0c85f40136d", + "public": "025a3b72d6a01728ddb251dc64295c7ccc8ece2dd068054c694ff856db247cf232" + }, + { + "address": "21oC4NFV2TGUjrGcrvPwVKpzgFkKM97kmB8", + "secret": "e61d9affee3d90ba37ea488fc7afc55ab78dd71e8b1b93b04ff83226aa4b73ce", + "public": "035d082c055d9c298234e57ec9871914c996884b2014de1c0eba6f958bd1353077" + }, + { + "address": "8u6dLFZSABo5ALndKjJ5ScYpDFv9R9uZDG", + "secret": "aa14f51b05ab597628809bed7e01008280d702fa85dcd8d6a284bdd5d18a5402", + "public": "02c089c13a962d52e5c46a445c5b6b4beb86ba95fa56359465e2308821e92e1261" + }, + { + "address": "k5Tw2oc5wEF7msAycqGdG6f7dFmSg3Y1Zb", + "secret": "a6134facf7ed270bc3bc2c69cc8883f8f63e9c937232bc4c0cf6cead6bcce999", + "public": "02a63bff81da219a749e513ac2971ddf06938ecf358c7a0d4ab4a2cd3498deed9a" + }, + { + "address": "JYXHANNbaSnXJhNsCxjytkA2F6rxE2KidV", + "secret": "19b88e4a1a08ca94d8b1a63ebb5cac5e3f862bfd33c246ce754db589e322e19f", + "public": "033ff55a1af67ae3b294be6a2d8995572681e3b71b95aa70aa2d26ace15d2fa165" + }, + { + "address": "2MiD5TDqRpKggn1kKrgrtpAUsYaREZrAcPg", + "secret": "14d82b366ef04a93bde3bce086256e54cbd55f597f9d9cdd9fcbfb17c7fc751e", + "public": "0352d8e915e865373d83be53fc117872ad560b7a82e2f5db84bb4785dfa7f2fc26" + }, + { + "address": "2hSv2av4dyyrsA7PWyt8Z6DfRgTxQCZV6KF", + "secret": "0cd99b278bbd4b0c3de49d5ea72b853e45e22b699086efacd3989aca748be469", + "public": "02382bffabcbfd3b8511528b3e0a2a17a543c8739475fdfe750874f3e04f57e3a1" + }, + { + "address": "RMEbHrzzidye3H366c38zoT9sEHcxbsndj", + "secret": "4d8949fda234c91983c3fed2b20e2122136f027b415c53c3b28fd3a9401030e4", + "public": "03413090be4d221f8a0d6a14bd411c296569417d04efd2a6bb75459a6808380bda" + }, + { + "address": "Vu9f2FuXNzXHhVZqLPjDjyaNLvF3eirA5B", + "secret": "d2de1f7c3105cbac90d122261c0fcfcc74cca0b0bfbfe9f334f753f3e36f9021", + "public": "039923f773cb3c12812c304aab95965c1a86c576d88508bc8ef97265568684c465" + }, + { + "address": "PvJvPdr2V2B4rRZosBo2x2tHmWefXdgQhr", + "secret": "2ac57beaa74675d799d24540f398b2f08672db637eda8cf024eea9e458af72cb", + "public": "02ded23068562062cccd51936e7fad88f7a202a55349f54c47cfc6f9be27a78309" + }, + { + "address": "2kaCFQ7x8rBJ6JttjYP4psf6ejKwADrH3Ed", + "secret": "341b2bec8e242e758ccce37178a134a50b3a97821c9d8a78c5f7f7c8fa545b72", + "public": "020dd4d4be64e0e7305e59bb928340e27f8381c3659e0b4f5fb3b746882e8fc609" + }, + { + "address": "2AYJYq4zBgKb1ZtC5RCF4TdG2zbbEAnfNch", + "secret": "1c304b592dcc3f935134a24eb57988bb8344a8c061d2f82c045868295c8be5a3", + "public": "0213136dc207e6b37ac9de79bd26598d2fa2ec25dd0f1fb4b9d41595b58502b348" + }, + { + "address": "GK9gno6miV6T9UTUswvc8pRdFf8NfNQLwN", + "secret": "fcc02916da58e734019b145f5850d1859905b9cdd48944de073f12d2115702b7", + "public": "02a97331c4f06faef53ba8936e0965516c6ef605724decfe69481443cf4fc2a755" + }, + { + "address": "iUkqHafpgjy6onWwQnvzdHnZDEe8rQXLdR", + "secret": "01f973071fd0188319092052ac43ffce7972283d98855265d3d82ea6a5c7cff9", + "public": "039a5cab52c9950588ac44cb5ac805d27aca17a6f7515f03f6d8b2ba5f6b12c93d" + }, + { + "address": "txb8qzZRZT1WRXrg84kQS93omLXhnTF8As", + "secret": "bf709d3b0eed838ff3edf0838a585d48de69b9ce8bdf389bb7d657cdde26a132", + "public": "03a08d2ab339e68465101d9dfbfa2b83265902ff5326b11b7ce53ea7f419bcd6e1" + }, + { + "address": "wydSm3axBbXCtygk3LEoUC6TDYzrASvY5e", + "secret": "8f3691f710738866731a562873a18a11b17aefeb5981a1c528cf94fb2961c1aa", + "public": "0342b15f8b54187e0528d67455f4f13fee993d2ce6c3e0330a48e805cdd8ffe8fe" + }, + { + "address": "GrcRWScVaDgjfY3vfybHCh4NiE3satxdYm", + "secret": "7e10f5ebf6a8ebf21e62c80ea90bf39c8c885b0b682d488dbe5b3146ae3df21e", + "public": "03be16c5650fd39e75e6344f1f94e56b8e2e32200cde1caea4a2d6a9d0b72260c8" + }, + { + "address": "2bWdKXnEMhTD1XUY2aMeiVS5bZkUHpYmMGH", + "secret": "185c0f312da84fecb88764438b48185aad42c7236180dc1961cedf4ca3bcccef", + "public": "030436246f3aea56925db62803f8e30d620b744aeac79e494890e2ecaaf6699fae" + }, + { + "address": "2V2Zi5eW2Uizu8mqBoCgfM2wNEsuBUV75MA", + "secret": "21f8705279bc92569a2d0cc3be054f6a34da982c7d8046ba3f92a7165bdaad2b", + "public": "030a582da2554ca666e19603ab129046e69afc88b2e10a643a053f935fa1ac91f9" + }, + { + "address": "2eoMqcWAh4CZ6fr5VF1P7JWByp9ZZyXxoLt", + "secret": "596d3109aa4d63509bae68a6d23bfa9b31f5118823208fafaa93e37dfb388ecc", + "public": "0212d52f6325785a064fda843f18936f41ab825adaf9d013b0cf6beb792ef3ac3d" + }, + { + "address": "2UJfBnL4wU9YrrC6qadiNHysCXn5uYSgJag", + "secret": "00e57b2fea94a45bb324b69c6efe451164dcff3f030197294e71c9e38abae3db", + "public": "031fdd5da24da4f04ad91c96c764caff0c9d5f61234446b2d4587c141e7741b754" + }, + { + "address": "Prd3few66cjZHCdB6za6G4v7fnPzeSD2iN", + "secret": "efa8feb48f1da1eeff8a66b0e051127846b73aa22c5bed6966048b8e09a17f47", + "public": "03f6e0fc17b5b3efc249986380633183ae578edd267055e9cb4b5c753414acd523" + }, + { + "address": "bs2oWEVpaH8fi2YqaDZ4VpSgEAcpjrBuLH", + "secret": "2376d1e38d7b79a5edc8db82291f7d23226ae0c9c8e541f8197e67bdef978660", + "public": "036a9e6eee4f778b184b8252ff0fa93e7054cf00e01cdba67907a3d04cf4812b27" + }, + { + "address": "jdXefcHXereUDbC6JyM9p6YKDMr48q2WPg", + "secret": "92181da42717c4ef58029f272e56e497b15147268b0c9e3830d8a76ac8293a73", + "public": "025e49a895fdd528d99561d7864076d1067683e374fcdd2b550a8bededeab01337" + }, + { + "address": "5NxWC4oktPpNE1bHAPksR6WRBuKj1dgdgj", + "secret": "3797eb0d846c2bfa231b21a88f68aaecddc3e4bb5f5c40b08e12a30ca5a9a8b8", + "public": "031ad96ab1dfbeeaca199c561a185165fb957dbc9ab615af157954319936759915" + }, + { + "address": "8MAM31HoWXZvDucv6K2qXDoTiVEDUoTZVo", + "secret": "d8c3a2b3899f1a4564d12960caf8bd2e02135981224d1f1251209209a1a7c3eb", + "public": "02be30b3205f3dd43c5224c96fc73460ba227ce463dbe3accb9f8cdd5e36e05bbc" + }, + { + "address": "Mzymc2SJmEtizbeBctHtWvLwkejj88PG84", + "secret": "5450122d57559c9524eb51445add43f6fdb9b5b3ef514daedbbb2409380f8091", + "public": "02a630725197056ad33d7d65e93ef00353de3b8516732ad3bf01b227457d4e2d33" + }, + { + "address": "pg3L2zkpFxWvZoFFrqJB6rpbLCc6AGzuRb", + "secret": "e43543544e2c5587a10cb0ac69cdb99a46f31cb8fcedf0d1aba4bef755175915", + "public": "035b250809634ca72f8ff5951c8b33b26665aa4d62e367befcee476d654c2db75b" + }, + { + "address": "2ND4LcwLPgoVf9h3mWCwNzRoMKRWiNtDaVb", + "secret": "e8338cb5e4f5008d4c2a133a5f2c5daef0b9ad807b1edca149a3ce48302cd4e6", + "public": "028f8a7bed139ce4a708872273115dee124e9187936318afce6614aaeb68efe348" + }, + { + "address": "JbxjtGo3m6fb9NHD1PXdXiePmjQoCxYGcJ", + "secret": "4e8ca2101270bdf9d18826f5b4cb19d2dad0aff9e848583d4574ca4442e6c721", + "public": "03b1b4eb17becc25c2299489bf28db1bff7d4cd282128591ba6c849d2e76c7ded1" + }, + { + "address": "2Lu6tTQ72MKV9wquyaXFja6XU9vLFScmUiF", + "secret": "e5dbfadb988d7117ff6ffe71064f6b0af0f689a7a30a605444f45a22dd998d43", + "public": "03b6764c3cf877df3cd6cc04813061985ca1fab72eeb0fdac8020d491a9b9cc8e6" + }, + { + "address": "Bk9aopdh4aVS9DXFVteEfnvK6B1G5ZQ6yF", + "secret": "3fb44c013e9119aae6de00c4d31911a9e3c8a8f7574d6087c16e97161b8d4fd7", + "public": "03679e922161ee237706bfb3b5d08b0ff3cd83cfb91b62687ce400e917115e84a3" + }, + { + "address": "pPHJkUrsgLHLrTW3W6A8MgdrYTCyb6uipf", + "secret": "e5efc89a01ff944f078aaa553ce1fd81774c5a0b8f74f39c49404cdb69bb3e41", + "public": "035b2e1d01c7dd09eabc905b3c274365abed2a5439b2dee9754bb1d3d760aaef48" + }, + { + "address": "2euWrr8eWQUwofQ84zQfpStygyUdLBmHG6T", + "secret": "8985df67d23fe2ed3ba1a487d9f4e6677752497c7690ef1d6b97242bba7e218d", + "public": "03092935e59628015a627db9dc3816d2b6323fc1b383d7b6c1bf0e7ffaebb7ff78" + }, + { + "address": "2JbV1HpUFaQNxBGGzXvmgKgsMRtRLiuu4iW", + "secret": "403c5105e61a06dae3846df4bb9cb015c7073137fe8c5b69633ab5fafb2f50d2", + "public": "021bf36446a0583323f37b4ccf6c3a1f7eeb9c5b16dc164a9222ce1bf58e9765d8" + }, + { + "address": "nkSd3RskDcX1UVrbi7McpTWjDDHTatAFuC", + "secret": "936535f0861ab8774e63a0da8910311215ee5b868d2b0fb7c63e9a6bd52556f3", + "public": "039b7b5687043d02634c7a37bdc49763da72ab6dd94e0e4bb9a57f46572d1c2c5f" + }, + { + "address": "2Tsgim6KU6LQmfdvhdWMFBQmLtYU8HhJ6h2", + "secret": "9e4dd2b272096951ef4776cdc7f176629c4fcdc964034847a482c3cc7de5eb02", + "public": "02a8e2ab0a854e1381b0632b0961633d541f31841512aae1089be8b8a89de1f96f" + }, + { + "address": "mF5CK5hbyT59F5mjS8Nmxhc8eqpu7ZoeiV", + "secret": "9f4424d21a2ae111217aadf776c9070f9e499beede5c0c6ab9d6a7e8f9e5a691", + "public": "03c3bb8a4676d5eb6d32c53c82c9b2bc6d37b8d98f414e67e59fc3ec4766e52b22" + }, + { + "address": "J5XUnSVpD5BoUQHPsJb1iHXBsmpZBnFoYV", + "secret": "c41cd6d22063a0f9d674e1c23f52f1842bed8938b17bf1f32db7d1ac70b10ac0", + "public": "02489d6562dacd0b39bd71d53c123dcb69b0edda93ee428554a904bfab2d77bed2" + }, + { + "address": "QJ9mJXCzFBRSL3xgVRSD9N2qJBZJfsMXDc", + "secret": "7f399ba3f61828187c23d5649ca93a4dccff0170df1b98eace826bc10c44987a", + "public": "022a0380050debb4516116c052c6b6369da3f99d8e983227d1f1ab083a776c38f0" + }, + { + "address": "qeSQ75vnGJSdfBwHLdaxNbmmh4ubrnDAju", + "secret": "022965e0753ecc622455ce3e794efc10afd2969f588a5653cd14858a922de550", + "public": "02f3aba0f28b0c36eabf82777f7eac06b65da1b344b4d1564d66255fd9ecaabde1" + }, + { + "address": "DQBDX9kunUZc8EhaCDaTsWCsR8fQdMFqNJ", + "secret": "34b344be4497e6969cbfae8e154d837c72c85f246bff54fa5a18eb16964b3479", + "public": "02e96f90e75ea904486562d31ec162cae8b75036a75d44888e55a2a062276c3c2b" + }, + { + "address": "2M8ffrt5gQ96ec8mid58y8dob4RpEQeKRtR", + "secret": "d072f6a2b4f85461aef64cac0d2f63134ddec4b9891359295b9a155eae735c15", + "public": "02fd82ff7a4f209b35152da7dec8c55a6d715c3643ffe23e53cd701b7d665da62d" + }, + { + "address": "23q2Y6do8YQ5hLqgMWPLRJoGCgHCpnmFceJ", + "secret": "ce494783eaea98c9c19083b79aef2f8fd4ff0e5ee27acc3ec3ab810706e7d8f3", + "public": "036226b6d29fc4db7410d7887be144b48ec7cf865bc2c8457417f2e5a4fe6c95e5" + }, + { + "address": "Mj8Az1NanWTB2bmQyyGjybYuVBvnRKjJvf", + "secret": "f75fd40219820fd2984e000c531e758cc5b8ae4fbc422f63ac3f8835b0eda06e", + "public": "0388fc76f02ccc90b86c240d880c9abf9a1a2299f7a59eb21f26f3d8d55bf5a6b9" + }, + { + "address": "2ZrbqGFYr8p9AHYrsGpMX81Svf3esHnv23w", + "secret": "e84439ec6b8da8758f88e91f33fa37a47ff218098520c634e71fa21897720bf9", + "public": "03db7a56071a216deb554b5b3bba3966c531a63c4312a18504e2d0b5780303fca0" + }, + { + "address": "2buvFGVozbDCzRpadgLt8gYqwkYApVzWzXq", + "secret": "648af6bb80e569e9e7d8155f81459d717fd7951362fde9ca5521cec0d7a8b44a", + "public": "021559a6f9630c7345bfa81feb9181624af8a21d831a49ecc9003a107619dd7cf0" + }, + { + "address": "rYd8g48TD4MQtPbKaCoZt8xzMNx1ppHqPd", + "secret": "fa0a33e154a972151f7b7b371d5184b07ac8ddda8141e1d0b521003ddf05dd69", + "public": "03b12cef132a3b0d6fcf79acac849681f24478df506c778c34389b5a02c660778f" + }, + { + "address": "2LVoYHBtfPiXybV5D6DRq6X6qrQxbDB6wB4", + "secret": "5a350017532d09953ed6e32bd8abb0f7a47268e0e4022cf15cbfadedf890518f", + "public": "03c7475b5097a89c68652a7aeabbec758aa18f102b2fc87289f993d694f0e89c80" + }, + { + "address": "nCGXsbdNQgf8HjjRDYzDouvFvQikmaZZVr", + "secret": "f6579d55c6fc7525d283831af9360d8a20a7c856dbf92fb1c5a02c146f0413a9", + "public": "021780bf8d1862a81ea1a75a89a9576e0330d0b4d20a61e0817bf3b9f9d52a815a" + }, + { + "address": "9z44BB51AgYhr3Ljqb2zMWQrvLpbLYd27j", + "secret": "80530625c63b9b6c1dc510039f379a8b01b0d646fe569ea2ce35322a1894fdfe", + "public": "02765c54f55f261a24c164a2ece6662d0008eb3a9f3a379d19d2b624d431738a53" + }, + { + "address": "ZHmtrHfaxG8U7y7pjf9azLyUtvYuX15egH", + "secret": "14b437e7aee69001945c95d203c08f9d19dc8a8dde97c7133d296b883e58292c", + "public": "0394c3de2b6d85c29b7b066318a8bf83f9758474f595541d9154399a790d1a0299" + }, + { + "address": "bd1D8ZA24hn2nnXJFu8BVdCZ9k1TmMADoQ", + "secret": "e32ec60d9815b47f4de798dec53ce29d706abd85838f6aed87bb9d251ef25114", + "public": "036c0a31bd777b096d09636c11892bcf197668cadd72d339a926a404fdb6e6c9d7" + }, + { + "address": "2g5eNKbSsUF2NXqGkPP9TuTa6YuiJTaPKgF", + "secret": "12346069b478a1004cd81e9056a4d56c8e8dbce92cca698916e93e1609bd603f", + "public": "03861f1e168860ff59e647b1b64617bb08133815ffa56fe56a79d95f2a97654298" + }, + { + "address": "tDw9LMweotZST3PeEAneUJKM4qn2Ti8Pwz", + "secret": "a84d45ad2f527acbb1baa76fb15f252a4e5e79763a059232a412e585030446a8", + "public": "02300b36d580deb81b563d5430f1f91b930ec72838008a1f7304c466ffc70bec66" + }, + { + "address": "wHVfmjDbVKmfYntbXYARdPyDuUUoAAw6op", + "secret": "206f1e19e7b1b8c61fa20a1aef9863d3119f348c9b82d4f8fcae8de42525e6d9", + "public": "039a54db3c39cfc2fdd8a2386f9e98e55462c1f1a041432ee5fa87c1fa4f70efba" + }, + { + "address": "FgkCgYgEbc9rAuuNUdZgeUwCw3XrnGFX3s", + "secret": "db7cde643d4847775836ec285af69de816f699048e64571cb911444e258cc40f", + "public": "028332c7267e536582c2308c166c5be90c1365fea194a4916bec575f19295259d3" + }, + { + "address": "2R9QoPRT5ucDMXQku5T3ZbHymPGkX6SNSgH", + "secret": "9cb4301d96c544ce6f3c19071c5145b89b100ec8aef58bdf90c90aec054ce985", + "public": "03e9b2e1541e9559887ddc09f22f575de87db66b895eadce25cbb68bb243068b20" + }, + { + "address": "2n1NfYxcLwoH1jakovQ2sM4ShKH3Tcs4rWL", + "secret": "7b031409b353b33f8921ede8a6b03c6b61a6b1a4fe81769c79751aa7b023ae3c", + "public": "03f024762d6f497aef1a1fb90deeb34da641b8a1a0470040a784fe85dae164a406" + }, + { + "address": "2E21TE2z5qCtTT9WwXNWD2jQBLeH7nGB6Kt", + "secret": "555190ea46cad100a23dc8261250dce85ae205d2848c81477ad0eec31d9070dc", + "public": "0252684dff78d0b15faadb0e0d4f3fdc9ac9f168b62721119bcba98609bded5caf" + }, + { + "address": "2gRYextJNcQE2TJUSCBxhcnEK1siAtH7mhU", + "secret": "fd895903859ca6a879f8a6214b67a4458a804965fcf85f893d04df4fcc1dbe30", + "public": "037b4075a8e23d4d14e5b2090fb78c0cb72737197f27ce1da81ccd1097cee99db4" + }, + { + "address": "2M2KmM33LeLGZ18e4G9CioqzSqaAsii44bE", + "secret": "2bd1ff5e663a33f3d36df0dce93148789ec358093ff3e335e88897027a639f81", + "public": "02e579ce75e735146329eb9b67c5af870fd95ab070bc18b80ce8a536c92db98189" + }, + { + "address": "zeUUj9uFNSgkW8VTHjR7AwhcfKsa7xDwMi", + "secret": "ed2b56c6babfc1a1a55f8d393f35b517993a61651b6380d938ab0dc322a00e66", + "public": "029306804e046440a614e43dca6854a37d194dd58867c2efbc109500a63b85a38f" + }, + { + "address": "2DdyebEM9mHwrX3jmcTvzgnmdBQYetyNWY3", + "secret": "4eb31d856d118fbf86e151a08615bd20248315f8ff9666e7470e5ded6423019e", + "public": "026812e3cfcfac2970a723e05c5c457ba99e2298b4ec06a5464e59064f29a10d95" + }, + { + "address": "WXAafhTwvot8bnNY1ekUDmad1b3xzW5KoB", + "secret": "98690f96a8bcb814cdb88a6ca5c5bf260586a1919913a2af3e5bf47f4843cfc0", + "public": "03c1ef010a6891cb5f9a34302b52f6cf47e1859dfebbb0d8aec889ff93e95a27c8" + }, + { + "address": "5Qf7bQMDQgJSGMXPh6nNJdFHjbbPr6vyB3", + "secret": "87cac60697e5670624b0086a10e5a3a29b54fabcd302e8fb22e1f46a319c14b2", + "public": "020edf7e9ddb148abc5e22cca11b3eae82a28832d0069c0dd54d75f87105f1d2b1" + }, + { + "address": "SKVDSRbKdqMjhR2ciTEc8nr8zXNHAcrSfS", + "secret": "84f3f3b47fc67662ff7353d14f28c64d824b2e877d457fc749bc437e6bcd7058", + "public": "021e6d35f208aa9bb7d4c920c3b4d10eda891efd7f9af569e6e6bc624ec5c8f3f4" + }, + { + "address": "gowLNZDHBB9tNmEG6qz2NNwGkY1SouL1tm", + "secret": "b25ece468580847a3857d3d694924060e1e385d8d6c85e98c1b495bdfd8cdcdd", + "public": "036a8d7baac3beadb20bf1b5b6e900c99f1a476b91e3ffdbd8ad6cbc2310055bb5" + }, + { + "address": "Fsh4tkUymVnqmGiAYC9wX48fw2fucNipFb", + "secret": "e3877a2e5b413ff58ac84a792cbdb604d38b960dd5e5ea978fafd0a60850f746", + "public": "025775cf3978b487bf7aa201683a82930a0c1e8a61d466936c07006f719bb7fdf5" + }, + { + "address": "2Ma9qXTpbJ9JmYuUhZU6y1nwXKzJwbE3i5B", + "secret": "6625fc71d334dd607a82f6cc4e73a260eb9ae5a08b31f323bd896714eb38c7a0", + "public": "03132099778fce50227afc5e41c65d9830ee2930bc789e242dc11f153dab5538dd" + }, + { + "address": "nsjzo4SXJK9AXaw8fSkossG7einZQxmjuj", + "secret": "5665f7c5048337a78dc75c98c591b31901ce7fc43a8ba5ebe7f45a5ab062d80f", + "public": "0263deef3218d427110f58d0d72a66d0deadfb2d9cca0aa2b2cd283ec805cf87ba" + }, + { + "address": "2ipWusQvA7UN552H7e1zY8pXb5h7z9cvwaj", + "secret": "e0842dc4b26eb0d3f04ac0aa9abe86fd1bfa7202789543ff34fb08078457c419", + "public": "0252193f968bee3c45adb88c4881c0770b49440782a1ebc5095ef6c1453a3a039d" + }, + { + "address": "f1xfUvKjRCeBzvwdfCu399cebpX1vDFESV", + "secret": "f7b7138be61f2785e5d7dc9c4e987c1dabb7913c5c675d68cf0dbf6ea3511238", + "public": "0313f2f2a40cff2672943935a0b529624bd8be43d65de1eb076e983b2f0b60d36e" + }, + { + "address": "o3YhEi1J9QoEkk48YwCdhdSPTZVX3FJDGQ", + "secret": "2acfe55aaeccf96199403b04f37e350244b04875946bbacefc321f5514de675c", + "public": "02eded9af107b76a0339242ac409f01664979a8edf182760c393a2a67e9f78ed40" + }, + { + "address": "49SvQFsbWdBB5y7ijBYFcDJL59Aj5NckFY", + "secret": "766221b7013f73b64fa328c2633456eb66fbc9dab7dabb17d3a87d1ed1fb1517", + "public": "03268b627d2d62a7541c7a376738a170c897316d93a07cfb3890414f010fb00db2" + }, + { + "address": "joV4SQMdpCUDUZftsKLd7NNLshkHxeysLY", + "secret": "83fd7eaa0dfd5f7e7897994d162de93d91b09aff9b9b685133c3b3f372e00ced", + "public": "02afb8fbb2f77e29f3751a5e3c9be92b4a42e05955c7b58d5c09d878c233571460" + }, + { + "address": "SmSro39dpb6RCTSd3xAVpQcXtauUk2zzL4", + "secret": "88c46c1b53ce49abc62814e5564496b3b0c1c3a51dad775191f8ddeec522f30f", + "public": "03cf3e3cb197c3746187b8a0f3550c8389e2a00af834dfcb81ef3eeb21c5143dd7" + }, + { + "address": "QQwrjn5k3khUgvHjPst6GVHn6F2AwNYs1p", + "secret": "c82e491f70f9bbadc4bc518cc6d74eb9149b1a10e67529874dc9292339277d74", + "public": "027ab1776783179393527326b64836d737832cc5b9909cfd1219024e1e0fd0fdc3" + }, + { + "address": "JAgmiif855wDZgaC7U5wYg9dyuWi5nxPHr", + "secret": "25830dd91c4037776b390ee7f598aa8fe65847169437dd925e240883b1947b8d", + "public": "02b9f656a6ac504eac5f22cab1472e4760fd5064589ea36492dc6d7ba2753ee5e0" + }, + { + "address": "26MHnfJWUL4uNee9LjdAGLGa7HC4EpLH7S", + "secret": "e70d55437795dda9fae07616b2eddc1f3ea6f3ab0f971e5f7091a225caf2fd88", + "public": "03440d9fd95ada18ac1076623f92f9e2fd7d2c4493c504bfb5faa2250aa7d50cdb" + }, + { + "address": "k4jTLy6nhFhpxXKogNAcbbhXeKYJXKqgA1", + "secret": "fb3c20a167fa642a78d55347fa54d9e1d7e2a3a0f0b43534faa6d846b84516c8", + "public": "026648469e9a9f18ec527885fe8f2665acffa546979007758fe6ce2892f0a26e65" + }, + { + "address": "gMDDYLmdNigohzJbpH4pkZEVHGzdpJC9KR", + "secret": "b06b09ff98110ed0e7b76ca84288d7a0a73693d0d1058310b46922873b276252", + "public": "0298bcde4659aafc2d6f55b394de41107c400ea786460e01595c1b0ce568d0f928" + }, + { + "address": "2QXKE1KgQvHLfrUuP7pK1xDo8BHsNNR5wu1", + "secret": "b476c0ede7587bb5d76532c984fa5a4d810aa4341990837ebdb70e9e4d4c2099", + "public": "0378972efc8ed0aff8fe5a9b530bd70b697150c45799567bb21fc24542802157e9" + }, + { + "address": "zRH1vs7WRARth893W7ZXL7dkp24JJEHLfm", + "secret": "137303696ccf1fe9c4a3167dcfdab890f10fd46861634c17b75203d1ed181bcb", + "public": "03b241d494fff26c5fc1a8f9c509284151794696e4bd5736184e42bda7a2d1ceb5" + }, + { + "address": "2bgEuW1vkDRfSvzVaHrsN2V7mahtMsopgJB", + "secret": "7584cf68badbf5cf89950fa55e92d38ad678b320a2dd87baac186ed272e3fc73", + "public": "033697a7ff566de076c1f62e21964078876ff0bf00cb52c6b0ec28885a5703b4c6" + }, + { + "address": "S3M5uARXPFWon4dVxJbFt9oL5cPZDLGEzW", + "secret": "34b07e4545dc8d5681058630b94d16b76e302020a295fa72f1f3ea5f9e555ec2", + "public": "021f506a48039b0b9daf3857207c85213a2e6e9a86b9e7f19174835c0a7fc7ff3b" + }, + { + "address": "29LsJE9Rp9EfDjMCoFSwhsJPy1BvB9v7iaY", + "secret": "dc9574c4593e48481e7ed0e4178289f238f63cbeaf659d9d7d9e67a919b60ddb", + "public": "022922ad2cb0d3f22f0d7c8b990db9b1c98bbbdc5c172598da5c9b0cef6d8f3537" + }, + { + "address": "29gtaNw6Sh6Eza9CLNTR6AsLYP2s5RqxBcZ", + "secret": "a76b65ce9b49e5ecd1952d117713097b3c8610bd6a024190fbee18e516e87d86", + "public": "03428a59615bb06d26ac224215f79b47b3b90aa677db112a2a80d8a9848722ec25" + }, + { + "address": "21iG54TP9jygdxhcdceUrk2Szvg3PRHteTc", + "secret": "67c4ef1f760b5953ebb32055fd76d8c2bc2415c72ef8bfe1a8eb40647b199d7b", + "public": "0397a70380961422ea32c25a34b0cec7cc58fe7f62f9501177ece0b6acadc86c59" + }, + { + "address": "XEzXQfHKhQuMtgCHRRNWYZ7VTNCJUCy5Dr", + "secret": "8b71c09585dcede6d668bf0020787ac50c9556714321c288b4e0eb8302864386", + "public": "03bbb9313b566fa2e5bb153af95992adb39d1f3a8f77ebe6d36cf1d9e874dec0fe" + }, + { + "address": "8safALsBasgBw5U52rryWk5vWa3XWmQfks", + "secret": "ebb458a1777415e80574e94ba3fd381ecefd7871dd3f8e231ac97948d9d6af2e", + "public": "027841bd654f450121a3730982808e7526365f4ead99ed226cde64fbf460c9ef52" + }, + { + "address": "o5j27rParabrSJPUGGC26yX6pBqqNcDi7", + "secret": "5091e3ea0d50a88d12c2f331717f87b5289f26f12aab3145c017e59823617b9b", + "public": "024a2c3b28276e59db236ac1458c165a30f6e8fa8af411e663aa815d2f0e0f5a1e" + }, + { + "address": "26XbTkFX3sXem69GaSBHezQkmRzGJLJsdio", + "secret": "dbad683919d198390157accf51d1c246fa6282d0ab494aa418aeae9152219445", + "public": "03e4009cac3088edb22bfea5ad639016b64b36debb1f12475cf036c37ad4e5e69f" + }, + { + "address": "yuFUDW1RSa226gQKLG7d8GcCFxFVaSb3Zk", + "secret": "d2b5f0954912e055d0dd56cc3e921147c62942cb665b4d52e60530edb32d72d3", + "public": "03d12828f548687480d31b41dcc6c4e90b6abce46ddec55586a6e8acb7727157d4" + }, + { + "address": "2kmy4ccRfRCDcaFJw2G5WwikcoFCxTyFmTM", + "secret": "4381f86b3987baf546fd72efa280b8dc6b0819fb463d8ae5d591ff5061b1c12e", + "public": "021b20bd44372c14999ddb5f777d7d16bb7c2df0123b210e1a8c7e56701accc848" + }, + { + "address": "2K5dB6rem74XYuajLLhmxk1Ym5ktyF2rHK6", + "secret": "d6aeac3755497bac024965298fa8e8c02766122c5e99af88091751a051a1a84f", + "public": "0243b5a4cb7d2a422e2ab703520fcafcad3a62c071a1e18e827cbdd16b982af1c7" + }, + { + "address": "DS89RK7MsmZErHe4vc4a3zqp7BCatZYYh1", + "secret": "198614c6bac55b6f1ff6561051c70cf4aea344587f637e526de39e9179d3a4da", + "public": "02c92b2f731386e94d4a43f965cc443c19e5da1b7915084ab4888cb8348944194d" + }, + { + "address": "ccuSWwS7Hvw7UdQgNaZGqeAXH4v3kCsoJi", + "secret": "b1e8829213ff5231968cf5e7b9ff13cf83d945a7de3eb903eee46d857903f544", + "public": "0334c602e039256862c040ff3200bfd591fe65c5f10e0ec6fa8b173a03ab4b20c1" + }, + { + "address": "QxgofLYmG7Cyyqg9PPbcYWUE4Jf5r6JMmK", + "secret": "9e617dceff8339cd34094b9ff8cf3ad9f66c702528b58391e94f7c9b775a2313", + "public": "02913bac8d16a9df9c8a94507a2d93d21d7bbeb5733e3f16a1a619c8d4649f610f" + }, + { + "address": "24BL6QMtEsank54gFDG6JfGbKkzcfmbYHvH", + "secret": "64dbde8e8125fc928c4805122ed1def7a968ac458d949d50e77b02a9b72ff16a", + "public": "029a30417b752a63570caf8b4caf3bbc9df6ace56320121f59d9f3f73ee5c66419" + }, + { + "address": "iNCaYPUY7iFwuNdKkBdF2QRbuJG2Z89T5T", + "secret": "4532262c82d391663f96fb922d3eee86179deab0395f32e658c243dfc4b259f6", + "public": "03e9f19634daa5aea15533f097d2e65fee7e427a26f690530f8bdf8592e08563f8" + }, + { + "address": "B5PrWYoMX4X6xQy6vavi6aSB7niTTxBEUo", + "secret": "e43f066ecb51d8b88e92ec6bdc39b62482ef349353eea9daa6ba866f336d12dc", + "public": "03e36925d3826236e41efb6fa4c7efea1c84979cdcbb299707028fe8deb3344140" + }, + { + "address": "huYwnnc82FHNNdF6MomXUGE2aFu4Apo1eB", + "secret": "e835d2a47abf7865afaf03d7399e038ade3c79ed40ded121b3879010ea437ada", + "public": "0397c04c78b5f17306d04bdb8aa986808e2aa9f736376cba5246bc3c766a552f29" + }, + { + "address": "2Uidx5h6vU5ijGsigtrhtCymmXgkdScXu2A", + "secret": "9c97a07295238b5e968fb6d256efc0298b2d86ad339f41a22aa99208e441462f", + "public": "0366fa3afaa882fe120c5461c7831818ad771eb4454ac1833be66e4409d68c1d5c" + }, + { + "address": "sssGhHuMTELS4afckMa5xCfFwUdoTpQogR", + "secret": "b682db37d4e64798e7ffba455ecef95ee7134582f7ad72a4f077a4612dc71eff", + "public": "036b3043af63338f60227ecd8b810e122f6efae22fd83e579b7cfa75dffaca7638" + }, + { + "address": "23FmY9Rvb9WWDZnQegW9HcwPcSSWXJYy9rW", + "secret": "92bbd9023b9bd5a1871b23a4ec30144b4a9403a27aacd207df2072096fc74a92", + "public": "02530c3e0158aeb99422c5c23114e494ccefbc6581b27e46b9c1163fe71973fbac" + }, + { + "address": "fqdRNStjfsNdmpK3DQK9WVTtSs2mph8Kwt", + "secret": "66fb2e78682b560c4ae978c5ab294c8d7f6d710cdd5914b4d613aebd89d3572f", + "public": "022d6a236600e6672d9e4f7f10bde1b42f2950fcf21248c8f6488b95303539a3cc" + }, + { + "address": "ZJiG2CGoqtSx2GkuxFvoToLdcnVHHzDtHi", + "secret": "6d95dac69ac754af9e1afae5ca34aabdf9b810a108804c58723248fcf4f05466", + "public": "02092f669a4858e627bb5a371f629aa9de2db91e1ad7ba633d027b6354af8b6811" + }, + { + "address": "stC7w5uT6NxykyuDTr8wa5yXhHL1RQHHHC", + "secret": "61073b41891fb56c71e5f7483e63807b6912763019630267c19ea9d9cfc93d84", + "public": "035c445fb99914723945b2c1e1b54b7ac35bed350284b0d93e5d492a41cc87d86d" + }, + { + "address": "BpWeZBhPNCYMpzBiKMcUNaR8qX4kdxdy3E", + "secret": "5ab3d7484566f08ff1be3c9c9dc74d001c5531fb5ecdf98f87bf4e36b6154153", + "public": "0229270ef80ce2340bdfffa6e4809fc43f9a033037f63a865acc69c12773b64054" + }, + { + "address": "2SMsFtscMGLu9Sx87HBebRG8naW4iLA2cZz", + "secret": "1e528bd5632186db07cdef8449c1eedfae575ac4c56f0bf9440b4e6be28ccb27", + "public": "031b597d85b54343593060588e1c4d820a0295ca573cfb88b066be174b69a93a69" + }, + { + "address": "bnDptZijEK6av5LjjaywjhgkqyU3xRyadj", + "secret": "abaad2674b08b8869a3c66dd86a6197c3f0505cf07b1f20a8f9ae934ba2dbd1b", + "public": "027e4a5d95c683171da70094a3a12c2bdf9012745d509d1ee732e58c0045035a9a" + }, + { + "address": "wwW42DUNggV9cmupj1Qf6uHU5RmipL1dSC", + "secret": "1b9a75bdcaf6b9b4d4f4994233126f28d63f56ed11d7067a69fabf946b313456", + "public": "02a842939d4a77bfcce9994708751b564ca29233672149b4d144da27586c98ecde" + }, + { + "address": "BnRkAyySwtJ3RU1AcqLfNBFUwi1wp4SoLP", + "secret": "9d3cbe92944aba5c8c0649161a398d3f8f458c269d760e9b625acce3a476ed8d", + "public": "025e1cd036ecbdbfb9123ff839f007ec0feb3cc66d1a82965ad373508079669031" + }, + { + "address": "jdgX9aogovnV3BLVg43MoRmSBXUKAaKwaT", + "secret": "3291f3e77bcc03cb913fa0aaec62c75f43311037ee80c80df8d162969a8756ce", + "public": "02551abd2d1ba1bbd28d2e6016bc5e41a56d153313c762797c7b8749643134c4f1" + }, + { + "address": "ZG3RtZogdoEj2gUGkgZgyqD36EJnGaBKFL", + "secret": "3dc50dea1948cac53baa20453eb4e457c545e7b6d07c07eab23952188bbe041d", + "public": "03a100b0493995563b865c1a58612843e9120dc6b0577f95b04e5839f0260d56c6" + }, + { + "address": "HvNoZMcknBtSHMGmkNAdviAqmiynJbkbEg", + "secret": "6ba1222dddac6d0a5bf8a3539d01e4117e69b559287b0bf56afdd6055d927bc1", + "public": "035559216c7f0bfdd24b03208e5d77c82dffb7108570589b4c6e9172e982c9ca03" + }, + { + "address": "2R94sJXypsCnnhWauFb8XKtJrLfNJ6Jki7G", + "secret": "4c8809559e07f860b56132a1cb6ab660db9bd15bee02991c93dcfcd9c453b7a4", + "public": "023c9af631584445b2a6c7c22353478db1ca9d546b7af5c7384e038dc6dc38085e" + }, + { + "address": "Bf3doov6qd9M9iTzw6ppuNSiv5FnsBnPFj", + "secret": "f513f76c64ddde08ddbbf2a38a39f864218d65ae23bf457a790ce5e1c5b37893", + "public": "0304b8ecf1a3aac1eaa6b67032047848389aa3feccdcc3cc6dd5ea661c85ee5f35" + }, + { + "address": "e6297wnTqHemj3UjUsHEcfkWgoYLY34ESP", + "secret": "9d69dc4a3bec0c7c706356c6ecd1c7ac5162dca35a6aae6c9ed8df86885aae50", + "public": "0305c56afe0588c191b0dc1b0ce37df4dc8e71cf6e9e55fe68c18c094ed9dcbb5a" + }, + { + "address": "sFwqVVHrN7KHN41F8jU9g7kwYpAJkQ2YXf", + "secret": "2fc60a5c19c707445faf08a76ef89f1d4d8ce0e6ab883711ba859851ceef19a1", + "public": "023e2ee53efc59e8516a65c36f5655d57b67ecf64afa4362235568d6fbdb9aa872" + }, + { + "address": "wTttDcbFvgPuniukJhxKV73XKxTGjLt7vA", + "secret": "545c0b9625e5b9c9929e267c4f10379447b7c5ee9fda6f6f6b3038ccd563266b", + "public": "0357953cc18907b20e5516dfe2fac4b35c33a778559fd21f2a7266defcc5b0b8c8" + }, + { + "address": "2SCgJ7nLb3To7LihhrKWfZLNoDr88k4pcEE", + "secret": "8f37ec0ae63e299a6ec5db7fe241dc30acc8bcb1f629d66326c7aa79f5263d6a", + "public": "03eba8479f757c91703601cafbb601db428be8f9acd9c6d2c05440fd42d87fbf2f" + }, + { + "address": "265SGFsQ5a65k16Mifui5R1GvtuDpnuN49Q", + "secret": "c98ec995d808922549bcbc5217c826bd3e0369754dd09396bbda8c5a7be6b1d2", + "public": "02cd1a00f584cab9c9fcddbc21ee8ce269d055ce230085a6318922335c00f0fabd" + }, + { + "address": "WJcJburNm8edTpbPVMNqnTuWFWWGRFUhTL", + "secret": "3d8e9968716ef2e8ecf5c260a78af235a76be4c35c33b7ef44c9612ad061252b", + "public": "03aeb0564afd126b603a47116caa9a6a9bdaae72f6b16b57c278c8850e77669e63" + }, + { + "address": "2ZVfdVcExE27kEsqXTHRvH4CWhtrgerytru", + "secret": "017a418ec986559a235f235e40dc1a4847c6ab6c8379769ca1e3f53263608a1e", + "public": "03093f374e5184893941460723c082e6c03edb07a24481011dc4913045e1988f3c" + }, + { + "address": "rrzosBqV6qPrLcXmUi38E4JuT5HK9p5EZ2", + "secret": "2be9b2d68a22435750341c07bfca519a0282f6b8e8a89504cf327fc0361d1794", + "public": "027ce626a4c6ed8ec8442d196c2779eefd48a1dbf14136cb4a2f1fe203d1a5488d" + }, + { + "address": "CAh4fftzSytRiuoD1mhKPr2odx1we74S9M", + "secret": "7d86a42ac216a345c761f28412c606c3ddc518021c44ed5d9316469260eceb77", + "public": "02369a7e1b3527c29616f6b9cd7a9264ebe7c4fca5cec9249ec9c2fbdbaa79fca4" + }, + { + "address": "hT9MrhFKQ3st4LaCSpiLYMvHhKDjHsWhdM", + "secret": "88e7e0a3b6709d657b686c3b44c7c94560f4287752206a80c819d18672042bbb", + "public": "02b1fe72058c93ef78e3a0d766a577d0483b34fb8e1310ebdfef3072373ee380d6" + }, + { + "address": "24U2xuWF4Sy7H54J84cTwMe19tZpJGFpYv6", + "secret": "f66c96e161c59ff504434ef31cba28cc01bae76f9782c0ddff2b7a2b3483b44c", + "public": "0369d6be394fe7eabb5340fb2703efb82b07d92fafaf46a66716ef3e158abba759" + }, + { + "address": "2GdfV6jEBBCq39A1TAuReBR6MGu68NfAzQv", + "secret": "ed97ecfd2dcffc1bf79853d1b659720afa9334b3e94650a4a7561580e97699c4", + "public": "02abb05b3015f33f2c30230978b680f1e8e9ea00d1ee067521cb54ec3a5320a712" + }, + { + "address": "G4W6UDwRi3n4s3erXq5viKHfD8Gt6Dv6Jc", + "secret": "36240bebec42b7928104606f9f939eb155ba296e567b8c62dccec004ad603339", + "public": "038808ca90a168226c3083378e9d6a43e2637d0a3ed61ea1ffbdd5619a3b2ddb03" + }, + { + "address": "2EDc2WfM84fEXwahWNynu3iDXLZeJvzSunL", + "secret": "c9604c86f8a949e0d186bc656d6d3625dd3e248416e408a5c2ab8b7f70835926", + "public": "02fb89b41148210016e8ab63bc4175b0d3e8c07784536435f1535c37db523b5f04" + }, + { + "address": "2f7WZfa6CMs8YBuBpha6U7H2eSj93ePBX5j", + "secret": "e6de015f90b46bff63dc0977b3e9c48338865bba24a09ee7012696c4cc56662f", + "public": "03fec5fff6df86f8783056e7e7e0d0ce9d160a62394afdbd7f4e73e1ca7f2f1a0a" + }, + { + "address": "6CGm1DqHawvJrfQjt2UfABWo3bhkr8UJQD", + "secret": "8d5e6cfd6440a1ca8583c59cc1f0155bcc3d3aa5e9b084d2490603acabc0fb75", + "public": "02357f3dcb10b5630bd904259bb75137889c04123b509b77cb9dcc33b9de2e1a69" + }, + { + "address": "5yq6MtxX9tP9dfM3A8FKH9xLY9UpAcxm4D", + "secret": "fea98f69b33c8a708459a4c224c4fefa66a152a0e6a853b85585f7147c0e95e0", + "public": "035a2b87b8d9ae00d39606bd626ab395814e2e1ae1fde6add2dba581ca00dd6200" + }, + { + "address": "GMaMEgBcs5csC5XamNTYyniVTo5ngHD8k5", + "secret": "0da55fb8a6846a8a34e3965fcf0a33d314050c160bc3b9537cab8a385776ba42", + "public": "020c3aed49b27d6c62d76f209fe5227a2d4fbfaec5d7eff7015c5cb2c6403c2ff5" + }, + { + "address": "VPHFDCFDchimwsVGtc2jmPtycJwDnbp5EU", + "secret": "c9dd55ca1018b0d8533ba318ed08f1af73f9b98eb919f4b6af4c360becd3658e", + "public": "02b0dd156151a6228dc4cd5cc1ec9642f3215b919d793efb9900266bc18937345f" + }, + { + "address": "L3qpTuDGH5wem8EWY82fUwo1oYzFctess4", + "secret": "b1e2ffdae4f2aa3b20df169a5034bd20c5a939084ac1539efa33cf673dfd1534", + "public": "0251e2d2a31adbf37e00c3e0406a15c0f97ae718ac2f284013154bd82a5b8d16f0" + }, + { + "address": "2BKAxsB6REMxDhQt3Bg4bRjvQwgpzYrpHGD", + "secret": "94c2ab6880546c63f83e5704041aa006cdcba445233cf0ef710dc774c917af83", + "public": "031fc9a3ed32e2ff9ddbf8d64c5de39ff74847812ffd5a426dd35f7eb8ac56fea6" + }, + { + "address": "h4UF9sekW8WJDERLXiSU6JiwBJPCFXCVQz", + "secret": "e256c250043f7d7f4a60421c378c734a1b956dcbc22ff828b57e09f68fda47a7", + "public": "02c942fe2db3ef7c37ae64a7943733ed40da2bf4c7f479a5b1210fb5e57aa722cb" + }, + { + "address": "2C3wT9Wf7xsE5BNEPSj8KUerpPiYSeM9PLo", + "secret": "85023f5d7ae3a15a82548e7785f9287d0d39b1c59920d08cd8f2dd61a227df87", + "public": "02bb78ffb03ee30ff07ae445989b15108df51c1306d5d712358ff3a77356fc928f" + }, + { + "address": "MeUC8cndNSMJdT2P7THbb7TzhfZEYbQwTF", + "secret": "abfad820eb18e0fb504bdd0dfadfd98be92ca215d738c1d4c21aae87ced8fe79", + "public": "02bd31ffc3fc02ddc9c6bcfd3dad9ad4b2d51965cf368f854d9dff66f33b27e87e" + }, + { + "address": "MW7nP3oRdP1rfN6kpBjwQZ8f3MWrGEpc3F", + "secret": "77b3b0b050d0ceb25ef73cb3cd47c16afc954b1d87b57e0b7e7215f4a1150c0e", + "public": "030ce0bdf4ee5b7fb72a4dad6d047832d52ddd34ecd8d81f81645f989c8dba2107" + }, + { + "address": "xHtjPK1SPcKTKmA6Hd3ybsL6GwBD1xyxUb", + "secret": "2a609e0536a025e55366035efbf9e28c3283f15daf9b2273e43154466e7afcf2", + "public": "02ac89388615f2b53f6890a31fbd75b31c6c27d522214843364da96ab41fe70e9d" + }, + { + "address": "2EUCXDL1Pnr35Abe3BAmewZkNtJX2Hqc2Ro", + "secret": "ec3bfc75efdb69da3ef0f609ded06b9848e7c5ba69cc76b4ba8e0f2fc5fac011", + "public": "0385bba88e897783786e06b55e535f13057ae68ef6f57b14ceb70e9dc4e34e92f8" + }, + { + "address": "2icjs7U7LjPRWArUe4dfKWEyXPNMKYfNqbf", + "secret": "81995ff5e709bed9cf86966f88cb8da6095831f7090bdd64382b5e539246b454", + "public": "022f1466e726b826363ba710ab7575000f41e71e0ee7994f1af7331246224d766b" + }, + { + "address": "RJXHk1XPZv3gyQfydsSLY5vb82USLdpUTh", + "secret": "a627d0c088ae6c6a004435f93be2019e9735930e4026d14fbe0fb0309039a198", + "public": "02f200888ad6d3f3547f012d72d264fcf780e124f04aaad4acdb2617bcd901566b" + }, + { + "address": "2L5QFAHBPcogj4tVPvviCGgoEgK4yF9UHqK", + "secret": "1fba9300ae3acb7d9d02b6be35bc7cdfe3fac495d79ef4080d25656632a75035", + "public": "03723bea8eae042c976de6884d9b54c0aa19286db7ee4c6e9740064301f465bc32" + }, + { + "address": "xz8JrwJdYru4vwnNbpt1wrXRF2NH89Khst", + "secret": "a785c36c66f28f4c19818cbc54faaef43e574b2d42f8df864dbce43e177cfaea", + "public": "02ae807160537347a4eba3a0761b53e2f9c464b47e526d6d4d48052e888f434e0a" + }, + { + "address": "2EyfYcC8rHjycyL1yQqCBS16BtCvA1cwYxY", + "secret": "bb152d93f18912155551d152c10ddab0c6ce77adf9092545dc458dc34dfbb603", + "public": "022c3c113b27a7726a6ad38e198b827f94a0de62cd319db41743dd08a740ed6b45" + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0000.golden b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0000.golden new file mode 100755 index 0000000..b086942 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0000.golden @@ -0,0 +1,175 @@ +{ + "seed": "aG9iYnkgZ3JhY2UgbHVtYmVyIGN1cnZlIGRvdWJsZSBzY29ycGlvbiByb3RhdGUgaW5zcGlyZSBzaGl2ZXIgYWRkcmVzcyB3ZWFwb24gZG9vcg==", + "keys": [ + { + "address": "cfb24jWcms9pZtvEx3UjUuLPdT6rbx6r9M", + "secret": "6614f0956f4e08e07ec2d4c2767b9f7121449fc2269e2b22f1a549d63e9f719b", + "public": "03b79123b2a3100420b19cccbfc688aa39f510b8491b67bdd296a92a021a3d0d8e", + "signatures": [ + "9ba679ebbcf6ebe265512d46265bdad40df99b5cb44a34f28466143cbc5f152d0e522018b8f4298ecadc129a1b471b0fd62cb51ea9305d93e3b189dd2b08e06c00", + "cf17711343205a01e4f5a6eeb81d3dbb523858cfd97e11281cff9617bd70932067b11313cde8b21487cfad20f7cca5f24fd7f1687fd073094eb2becf2e2ce37a00", + "1b45f0df19184f9e6047d2e4ae89cf5cc4f929fbcaed499ee7b2fc57c14e973f74ba3813bd28ea910a3e3d94ebab060353d564bac41cafcdc415226e9b8574d901", + "6e65a200a5a02eb1298c37d82005ced3e844d7065271db5752d242b611fef8ef2e3d811bbe83eb872213ca64bb9008bf6fe7edb548fea97e85dad05b4766cd6e01", + "7c020637b7d0f1748ad9891091de7f05f9b024d9bf4a68044515426f65d57cc3091b52ea7f72a571fcdcf629eb006523f4e173f0ab9fef7d1a906fa2956ef5fc01", + "1ca1cb90743f5599b206227ed8ae620b6e501cbffe662369a447f9846277d70569be1ea604c2c4d3af99ff5b1e5c4da0068bfa412f58f9c505d4747acd04962f01", + "af95ec5a6976f1da014accbc98aaa62340a4efd5f42c21a2ba73a53cf388b19022874e03e56cd77e9410e39fc937da8e02c23de7e3889c731d652c0da9aae16500", + "d1154d77593d24227e95233ffdb2862145457b97d27b4216e56b6a81523c9a455e37a98694c465d86573f0a55d20397a25f089738475114c954fa746b0c5ca1100", + "7d8e327ba9d328bd124b43f3d472b2a2ec45d4dd44be4a6d2a1edac8cb019c98675bcaf76e531e06e2c6c96294e8fefb1fbd29640e528a2d7671b1091c0a55b200", + "352d7850e4425012640dd63540d7fe760c728b6057bdd5722c862d59337dfe7c47bfc33bf439465ec4f833f10ef658469933765be14963982f6c112402e26d6000" + ] + }, + { + "address": "nJUPS5CrLV2iBdMvdMzMiP7iA2dzumaWGc", + "secret": "93876705c31fbf77f756c7a59616ebafe12b5ec6bf6f0c85014b918fd79d6df6", + "public": "03e0298390270c0b67c62cc35b493503ae2b3e02d2d2e7711e03beb2b6f481115d", + "signatures": [ + "d6c5510639c65b5c78f2964b0d42e1ffbef3101cbe51b23ee9bb9bd627020bda7fef7c1d291fdfd46ae66825e0d419a561be56bdb4e6585a6d65bf9b25d4206e00", + "789de29db7d31f0fd788a2cb161290abe58f48c2538ea620c1ea9f1a73d723bd3d75287ecc450bfd0c401ee43f67f45ef003d53dd85514f980e69d6be3fbe2dc00", + "57c4cec61bcfb07af8d934d28afd239caa988c5b99e12fe3b157010bbb4200882896fe9d1aee6b53ee0cb59ce34e3184b347613d22ffd18d34e5ee32b14f4a0200", + "01598d2f3248547c4438669dd9cd4ddd43528d71de8d91493fa65297a88b6c8d23c876f2ca5e0e2ce2d9106342faf4cc2a5d7e71e8c363244e5e0d0a1723f40700", + "721a84e14995fd84f3d2b65d45e79bd012e59e1cb4f0a801a67129739f7949c91634cc5fed042d573d552b9e5b1c9f043b77b23988e2b1ec60f37a61c1e469bb01", + "c557e15d55028b279f899a6aed370aec27a66e59f2d3cfff517696b64d74a5a05106fad5e5b795f45383c358f554c4bd97d93728fd0bf41940005a72f85dd72c01", + "54241216147f863da2d7e0ec30bb61365343c498847fe3a788568e343e42fab947368fcb8a879766e99a85bd7614c968bd517e5ff1975195a49f999767b43e0e00", + "85c2649489658ab69ee9936b616d98a38d6c639c73d6dbc4bd434e0cd079b605131521529b2dd6d50b1d45621b7974cac8e7c6f0ad836ef102df53f60a43d8f801", + "58462dde6faf9bcfe80e3aa81e3976a3c1a5fbd4d0090b925641a15c21bc6d6a26dc6ba374765e7c470ddee3892c01c310c19a2178cbfb7260692fd3e3e3b67e01", + "ce1d26440fd13d4a4501b6417b8823c8e447f507c7a198e351633081e05a91df5d7d4fe3632c11a7d69cd1a646a23bedda6e4cbad037189b145f97713436e90e01" + ] + }, + { + "address": "UxnG3PoFvKtRuLu5nyFdb6eu6pu1SZadkR", + "secret": "c1b8c857a2039d6249d3bd4e25d40b34c358e136869592d03c1e3ea85e2916a9", + "public": "037a13b47233d512e123c180984a67571c6b0ed10c012351842846a4eb33b26e37", + "signatures": [ + "d08141df6b5627105e2ad7444c6ac67031eae74fffb1ac993038ab38081b05841c591e997942501dea90332e0c8c1c8d8d1fc041cb0284819935adac9998066a00", + "73dd6d14687efe1ba1a03e8de150dbcf16e4c91f14eb626bb39b0fb64df9156836e3923a84d95d6aecec4afb71b406c71fb6145541787830c6ca8bd07b74017301", + "033beb311d4a6306303d3e7c7089f51b06e8bf7ea0f49c2450e26cf228d0cd347e4aec6143db99a87db6bc4f25c3ba72aff652b95d8f09fc8c2bde54624540ca00", + "d045036a4c717792cd1b76d2b54218cbb2d0c3347cde1b685635ddf76fd310dd4ce356e1c97e25cb304f3850c751fbdae646f4c028c68bbef0ee0dcf5fb0ce6801", + "96ecb1fe556f543e6abdd72255f8b844e7574afb928617fa7f347030d17bbf8c745484dac51073ed18a9a1287844fa22d5b46ad5acbd67096d857da1b303e14801", + "3bbb6961256e153fba0c749b1cd73bc5d5aef993e37c28111a3f10218af4a8625d263224b43193c00d0b383c0dfd6ed5017cb764f0be76b744d0e01d1df8e66601", + "ea391ffb47c13a48f74a70b96490f7b0f7eefbe4222d55f7bfe004b1b04b983a56a465da3e033df40a3b51e63becdaddcdd38bdabcdc33b249a30a13689e5aca01", + "0bd57e44ab89c2c677eb0c491b6ed609c85018f0e875a7e1300d4699d60529e875e7850562e96fb90c897f316e5fd56d54170b3cd6320be2ce3eb5362d03cd3800", + "b27bb5e4a094442b30b7d55ba2c4996cce6e454f79c88c339ef89bb754c2b2ca561086e3ed647881fc4f6079831076d413ef027f942643a5e939ca41e583037401", + "26faa7a87708f5d27731e866ca1cce8864a4fb2e258eeb16de8bbf86c1fc4429736f07693a5e42f0bab79c696024ade370fd7374c93cc8b692bd56fb7093295600" + ] + }, + { + "address": "SZRDLCVHyoP7Xo5FEnEw7ckibmitbNx25V", + "secret": "2ccb1679652e9bad28f3a316dd8d98ebfb5d8d72d679655365c4fd42e07089b1", + "public": "0284eefe3f4d6500fb563b69d52c7cfdf3152a3394321cfe1dc8d1de1e2868e3f2", + "signatures": [ + "392f6b36bf19de26894386049ae581aeb4f358296a02ea0666fa7a0c4732aa950d5b0410757644af454df89b1b6c6e8922676b21e095dc0fd094aee93e4be6a100", + "6eb48f725ed820f3001b88814a7ddbfc2dd60264612a29c2a6fe619dcd227fc3641873b78539dcb14fb74024e617b1e9c59ec71edd33f7292b5771a52bb6289d01", + "4b81f2caabe43a42915a7e19b34234f624f0dfa69353ccdc613874264bb5335003e6e04414ec7c84f4127f720b84772209ca59382fb4f38d102d312ecd4e64ac01", + "2428b1fd886fd31eea75246479dc120746ced1a4d97e633cea7a22ba67378f5636a09f06b6e9c66824efd5c761f1106b6aa15d4e0594c29239f4cb9dc1089bb800", + "627dde5f3179cfd4f1256018e59f17af2426a23d2131c4bc68d6cfb82b19a08f70e0ae7fe7d1029c71112272577c1db86086ed84ee5a7b17c112badcba0a601d00", + "8249b9da32a7f5c94035279ac4eb27f0e62cb50d230d1b30347d7cb0292dea8f2b662f54585a7bbd462858210010298abb3f7d1c16371d1221ff421a74a3744301", + "cd8c4985681c319ba9f7c797f5b9ba9c683776367dc4a90370ec09fcc8f6e0f07c7208db052e77ab6d595879e14423579eb2e2bc55ce04912e65f82601abbf6601", + "0aae569e4ceabbe5b8e1cec72ffc180fd9f93d5f17bc1b7df01e8951cb4c35a675f55a49ec380f8f33b561ff1647a063d4147808e94e2ae99dbcef97d2f1139d00", + "5b984636c673f60e7abe58c10a2e079f3e01da2fd8b41a239e6f596219dee2511ce4f0b35b1531ca8442137764980163509a3c05c219106c79a8e2f62b23d14701", + "9c6ff83bb5482a96c22eeef69246cede55105641018ef2d9cd40a265e45d402620403f555329262e20a5a0d053792ca7ddbdfc16d80552e4e0a8d6b83da86b9400" + ] + }, + { + "address": "2hSc4vmw59H1FEfsRUQ3eqvkceAAv6nanQE", + "secret": "867f5d21e6e2c3204b6c526ddd8a5d3b7fdaf8612f5bcb5423956a0d9eac9761", + "public": "02ddfd5d6c55293a925a7003bf23df040a91002f603c5db45c8605822f79caea01", + "signatures": [ + "e2255269e581bb78a86cd9b056d5089f03b77724401cfb900373571b5bce0c8069660bcdaaa99dc5df44214ffdf270d7e5065236867f20c2e692d2c4d7de0a4100", + "959d6ccae8bb8234634a5b15327a3e5ba03a15a6ac59341ed45f4e5767731bc358e2113667bf1fb15f15c0bde8b32d6aa83d4d9f91a8e479758373729641901401", + "cc8e9ec5f38f3d0a3ff71d507b9cd185ad7379448c2d33f4fc0944c4cf8d072f756e7cf1c38022375865105dbfaf5b7f71725e8c7a6491a1468db8ed93aa72df00", + "b82e4a33f0d9c4f6bdcf8a20acf103539bbd29d6e34dcbf15e396b980985f3a21d7903f83d6c61278d28de465f2a7ad2e8df1ae5db2bc823902bc63353e0937401", + "0783f3743f119b073a1ed59dea2641b5546fe585831597c655cb9841bc8ac16f656ac3ab9d16c57410bde691053675126c739cfc49694a3cf3030d776bb8def001", + "bfc6d5273d529ba5687a925e177740f33035a7677f366a3cb1660840954b417c0b9876d130231c1cffba939121d9ea12de9cecd88d6e84d5e9e061b4b443cab600", + "8edbbc3fa3c844abc1263b9ea429cde5df75524bb2acf2ffef42f65e4c1922b5676fa50b316ee8afec86fbcd116dd55218a44ceab2645d4bfb9e277822ea305a01", + "584242e0143eaa13dfb4736fab23f6a5e19848a3b625e59b9bf6c603789b00047371314b12fadc3b554437220c6af2ce6a406e694393d8e3da445496891d3ac800", + "d8fff1e095c12c899d7e993f5918e99164fa362d6262227d13f0e1f6ea40caa01fbab5f7b0252f306baa364a29e6824d4217bca7771b98e3114a6d9ddf72970000", + "6e4241e151308d5b33cd8256c7d614f804e668a61a16b4b7273f023c21d7e3006b41e1aff2703b4c8ce93da01484a70b6e9f09ebe09390f6f611db0694df44e700" + ] + }, + { + "address": "5vbcxd6wjxfVaa2rYqHXXYkW5cjFLmh8BS", + "secret": "2bf3f42540a08a15ca280560e43efd112e843d4de930a2ad8de07b1befcf7231", + "public": "0243e58f57f152aceda76daef9332f9ef9f844e4ef5c1b15685359d0d0dfa07799", + "signatures": [ + "c562d6f8476717a027f1ab8c14f95e444f6a5c0eb789a640a56f58dc0339ced44a62e983abecb139a3a96ff2333a7561df23fa8b1705b8c06bc3b921a51afb4f00", + "4cc7e74e1f2e6136e1e122817f39f83faac6e9e022bd9d0361506a26b368ee28128d1ea7f0bbcb6971fda0caaed4e1e52a0270aeaeaf3daa0fd833ca1e17715201", + "88674e6524a76d0d2e1b8d07067b5342e890d9bf11091b0993b6a5cebc74f71e29dcbe6b0a41446e3d7079c1ba2a6a4df34a8a9cc9724c3dc887d40bd7f5f64401", + "488a99706031b162594963d5bbf78d426fb22dfef8491b32ff9b30a0dd18fb5f085021d97d2bebfb1132d86cfcf72e498a791e19811ff1b3985a499b059a1ebb00", + "438fec175b65eb9644fa9c88e4ebdd7d77c760822eef3bc0bc4ddbf7d04e5d5738928c1ba5e2a31cf006a21a4a888d1986043601a563fcea71afd4e7a46fc38c01", + "f7e70b4a33131be328f844d0011efaee24b63ae60c38f3e79d9cd29583f479d6125c20606de51cd56ad5bc047209f4abf0244335c8bd666306e318dfec5b11b200", + "c61983d341ea122a3001ad70a9e7bc009f564e57b0fb0b8af60e3d72f9326a6248cbad7faff8740da7b907fdc2bafbedd1593c9b83ceb418157232c8fa1802d001", + "afabaa96aa5543d5b7fee0b63c84a9a220c6de4fec3ca7a351b793aa417c28391455cbb90f298b873349f9abeff8fea461a6217a8e1694c69fba51a1d1b10c0500", + "faf1e87ae00172aa9832fa7aaf13297bda608165fc583623062d13360bcb4ab42d8ab9a9f202885030fafdf12c8c21f4bb2ff85a7855e8190b15f52dad3b122601", + "50392beddfed77190bc6c31746006ae525d6be392ebe65a71992711456491031238df2641834bd50cf119074b8f44cbbd5d44bbf8d939461d4d2d09cb022904101" + ] + }, + { + "address": "2ACC9xnasQo1uuJQiZwyxtLnCBxMACcZ5HA", + "secret": "c2a0cef659813cf70809fb35804c0f6446524c039e4e14444c54f71d99888527", + "public": "0286b5204bdac7367a78f615f9cdfeb560fa36a7e2c9cd87d7193fb6dbd856a403", + "signatures": [ + "c77ab13d8107f4965708b75f24bdda7df11bb99b5cf0b8f7bdc8e071db62026b7179fb6256db5e36d926d8fc5227683e52277dea74b95f12c7eb6109049f813e01", + "958d52862b8f9c93bc63c3187a15e1f08e823aa0b4ce36b511668e7e082d05d976afc60b13012199bb5557f0d7726043f25e11434129f6bbc2ef665ad148492200", + "b9077e49d9f986de93cc360e5be3dbf8f30d91fc0f815752eaf0cbc64071000b16fbb965787a4a40eeaa8fd58d6f19e3ec49cdce059aad5f3674c4adaab72da901", + "3cbb3e9169b6116aef09e671e1f35cdbb7dc0fcea9e6f8152df98c371b3648491eaaf50a0cc6e672ed5e69f4255b9bff79532f8da101fa060d0b68ee0e86a86900", + "002895c8bd7a3537095f2e7670a909fd9502e25a6492278d2ae1b65a3f75642364dd31b5446c251174c57bccc5f40f9dfeffb959386a85b9473fabf1578be9f801", + "e3d5e49b8889cb5d655f4d4bdf16a2e3a35c88bc89f1a5c4a75aa82f93c8acc213770b1784c9bf5503f4ea127f4f928e36127d954b18cd3a5d75b1015966da1401", + "990c379fd3f47f08a6899f82f218ba9350e2a94fe046f9865b5ebef04dc734a808769bdfc057f45ea24ebc2a16363dd215c2656fee82792a34439c466a0c3fc201", + "60f194e854753e978e18455dfcd17ed6fc50dc9ecde80c9e78e9ba84238627a815f47b9a7633d6c0e963571a661c7e3896cd4fd26555df11b842466efa4de2ed00", + "12bc90a0c84c73c7b3331ac5106bc5b33202fd28428411721fb084bf5b57cd1517925c8f63265583c50ddafeed9c53c1817b1668a64480226161ec8aa43a73b101", + "ec850e2bc4ad3c96db1cb54cff954ed88566ed2046c806afb0f8218f92b66c9a2a51f2e948b36c5a0137781b82a401639e58301c790d2fad02c17de493bd9f7801" + ] + }, + { + "address": "kaVexneJnxkAbJMmmStgksNmJnZLC426Cm", + "secret": "af9e2a6f2298c2e47f1d77aa23707fdd2963fa83ec431bf48a8b9d15de8a790b", + "public": "029453f88f667c4f636d2461e03fdb8edd01376bf04c0f67ecdac93c38eb869f47", + "signatures": [ + "821915081c72f5b5c953d31cae7d74e65f4156aff94befb9fe18f3b6b4436102488d841a3112eeeb9cbaf1e07450fba1e76714983d5bb40cdbd4581c3a42a71700", + "2295b3fe78e5f199f8eff8648ddedb640dea47b46db10ee38a8942941ae1f70b25da39268774726427c3e77df81e338a91d1a1228053b417c33a9ea01e35854100", + "ebcb5e094ab5ff2c05ce9e6731d879379a59cde87168fda1c066cf8439bde9e53c463a4fecbc1e7eb72f65bd39ecfcc0e67f57dee9e866766e39ee3431e0337c01", + "afaec530e77e9e2906857324943441e574548873d1448348b4a754267d68217707bd6a5074ec510e6144f0dde0dfc8bdaf7e4e7dd58cdd83cae5454a7d0cac0f00", + "61f7f2667cec398d5f03b4d59abab20a7da2f9989efa068659f884bed748f49a449cc53a84a1d7ecb717902d4600c63cd2a4baeb16504563bf5b417157b43c5600", + "7ec0f56f2bb9cd8219ea83a4ac71477ce20061ac77889568f4e26633c68cd35b1cc2177e801eace67e7e11ec23c4d68a7fa324e6c32496cecbe0745eae3fbb3f00", + "25fc127004c1ea09e9f0b0c5bcb62ee8425b2a45484160ba0cdec8c3834ac2707963c59ff546e96f2912107cf0f808fdfc2c56562e19f9398ea37c888dcdfeeb00", + "9db1af6c0c87542eb3af726044951cf603faab78865862314283c48f608aa35846d660253b7d09f77a5b6873f3f77597e8f67f1cc02df53a7072da9cb7fe867a00", + "4c0308e93abf3ac49235e2d97b35f7ea80d18e7bd8da96cabc24c324e97705cd34094509727518ea807c20fc0b54b5d5ad0984d39c5c417b67db098563737d5701", + "6031dd2e342edf16e3d6de88a462a4bccab609efc48deb8c7f1d4d31de655c845e0513a38e2146043eaeb03f0bddd77d583e0ba55dd01379570f0c3116d2215d00" + ] + }, + { + "address": "JAiiQdrBFFSAgY2NxbU4PgKSzzycdjAJN9", + "secret": "2e6a21b2b939aae41056675f2aa47fa9015ee2472864b0da10cb0b3ab81c7d83", + "public": "028022f636b47fd06b43abed097bd3c0fadf44689936cc5cef4e40291281964aae", + "signatures": [ + "ed6a323988302ae35f6bf4344d0feeaf6ca2cc98924c61d89d2baac4756f84af157c96fab9ccbf05ac1f3bbda3ab26c01bd0de2ea5d7516f1740f21990c0582700", + "816166e485e7a1fc98f013bcba8c86929b81d2b4ee98b116146bbfffc51405d61bd43d91a03969f08a062a74dee64eda518555a2f71ab2fe54606b11e010d23701", + "fa66344d7212ab12eefcdc2e30bead3eb015d9e328a09ee342a60fb50fdb1ab91db7ad1b0391a2c5e483435e177d2190dc9624212b02b9c4a8ebb6d8e23e5add00", + "92e6d0c388cc9bc4a2a42c7cf7d4eee0e9969ee2673d1b3f3cfa049cb069e361255f0e5e3fb1ad08eabadaf8338b990b9a3c03775e20499952144653c7d4c56701", + "491cd9ddb98909e25c019f93f75f42a3f3be73628ad5c822e619eb63d2bd47022d38afa0b1017529cc5afbcb8ffad74cdd216ba9dfd934b48b1d5a5f47f581da01", + "5407be85be4c256f186dd2b552c47d3a5a50bfb6bba489f9c3dfe3d95b7213372fb5a884beedd1ae250066ac2b264a5d60fd8520798ae0f990c1459bc3f79f6a00", + "35ab96ef9cf604e2ce83b7a2475700435426789bb56b2a4e3e39f2fbf84692f85b4501acb8129ff57f769a9ef1d5826509ff86474fd12e9882b204e956d7832b01", + "b4598b238badb2b0b06c6bc3f37ee59ad802cd45990646c1fc2ac157821ce159497fe4b0cb90dff620b1516952007b12af295aea98d3dae4d5b16820f17145a800", + "971802ee62ad7818279facc0c549f6a54da277b69d55e01fb02d557ce93788f32eddbed9fc62fcb68fe0429fa615369cb0fcf9dde3d5305477348acefd19e0cf01", + "4afc9fb67f058d08575ba3eea93fb6e6309cccca16e359197a6aa838c9be7c065138af45c012aca1f74914402b8c3d84f7094daf6300c9045db74e7ab1c3fa6701" + ] + }, + { + "address": "Z6XPgNGMRjR3dVjcm4A5CBqLS3aqVQcVaA", + "secret": "0deaeda9c4f6391c54bb1ec5d16a31474b297f33d4e7af256286cea76e4fc40e", + "public": "024945c67ebb6749835872e06e9fe8d3f0fe13c154a5681764072daaebfc9f6c60", + "signatures": [ + "e8148d32e2bace9e7c8e6017e7229c3ce809ec88ceb83a01a2a2299fb87700576f79df74e7071e3216649de4653807a1c94193ac38f0d74d0abf25a6f8de750900", + "0ab4d582a506ccbfe351f54f676a97830fbc3efc24deb49f9410d8d80e0767e16fe6e0890c72b16774fc8aae801c698072e001b2d0c6ec2cb6637cc52517692900", + "1c6bf51244d387fae3b6409e5c42428c5a39db4178746298e29cf397b21335fb49deeb64ce486281fe6318f235213d016ef7142c7540fae3163a5de94f209ee600", + "f18778602f0cdef09fbc469c219e92c5bc52a5dcd7d873c2a4759d0938e503dc0d022341130004e45be1c7644d3ec3a338039d9c410352afce7e41dcb300728d01", + "2e0978dae226b1e70b46e88ab1fc2126fa1db334f022b0b960b3611e341b6986233ef8fc90a1a1ce28183b18a9ff5c701fbf340ddb4c45a88b1dfde74f7f39e101", + "3fe60797a43ffc78e26e55990e3eeea76e6e920e47ceb4a51a07ee22c2c0be1b7e51d098536a38537aa99d24af3c644db97337d51b65d13ccbd218b9839f179c01", + "ad77f584346779975e2fa12d3e7aaf0ea35b025298fde1f211488ed5b92d25343c86b4c2c0202748b80c2de9008fd043aa1d3f60262ec1f9f0f0e95dd4c2fa4800", + "27d66336014a5a93c5e2177ea72755fc0b858d7ab79a5976e38e5287549a6d0d0cee44bff45c3b7b89d6a1ea30cfda80c13f9a772d38bcd57c72f938db85afc101", + "9417eb0a9be763f5fb0ee8b189df8cf1a52657b87e545c28908802a7fa0c06442fd47c5ae49bd8fbc4e4985f82da6f86c2149e17fb903303420c7fe4d05a6b0500", + "421dbe10f4f49c005f3918511f9ff71ea6701ea76226cd1e6984329adbe4428745ce14e5768970e2e3fcd1408055b2f194f73cfff88aabd933bc8de4d607426f01" + ] + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0001.golden b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0001.golden new file mode 100755 index 0000000..db7a542 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0001.golden @@ -0,0 +1,175 @@ +{ + "seed": "d29yayBwcmlkZSB3YXJyaW9yIHRheGkga2ljayBhdGhsZXRlIGdvb2QgbWF6ZSBicmllZiBhZGRyZXNzIHNoaWZ0IGNyZWVr", + "keys": [ + { + "address": "2XDHP1JPEun347k6C559npPHT23V5GWeMkA", + "secret": "0e1e9ad1a0a6c688d9d04af22b2e07a13af293a05859ffb557c841daed509127", + "public": "02fbb044de5c57fae0a3e95ff02b9054ea82b54417a649088b76b4c340a38010ad", + "signatures": [ + "7d3283dcdfb1405890548d18839f6b7ecafe2087c5059e9d480e6161a79d6454213ca3da4653d39c269ecc909602f31fc7b3d6e7490d254baa166381281209be01", + "346269476c810294bf435f0567d1dbb397edef6e14e933215beb5cfbc07626c654e3012b5b56d218bb06ad9d384e19610824d80d618eb9c319ddfe206ba2655c01", + "1834af9a12d6a1f445441a23d320ab4f8a33b838c2055a3ba504c2e4b4e778fe5e2f7b1982f21129ed41eb20fa045f6bc0d248af77bf85830699826bf5b285d200", + "deee28aad8b2c995811b297d38ad4a27bbce26e7cd3a66e9ef69049a0336ccdb6a5d10c95b48cc561d1138b2eb21441bc83e7c02b7e759c8c270b17184d6f1e300", + "4b3657dff134d534749c5843eb3ddcccaa4f4c0cc7cc8d1916f002975dbc49d7731a595924b92d943a8c851f86ad78a017b35333302d51367b7029ab4750bcc301", + "5e045424c0cc976af4aed5c82418eb552b65f3daa5faed4ce7252e58edf6055c4ddde6b3769fbcde1daca74eb7681cc675cfbc2041d9b72094fd8dd0b87201fa01", + "9c5034280942f96a7dc805c436984a048a5f69b66c1dd1e8ebf07d9a34997a5f2f839a6bc4d6f17bf0f36fb3aab950dc9e5b62bee81bddabfc7d3aca80edf69b00", + "ffbda2b52e5f3e66b51feadecce7bfdad2fe28599233c5d458bad947f8760d11290a822629788ef521d39d7e0a7acb8b4bbfb7e69d3b45c88b98d594ba2bb84c00", + "0a21297c3a3b0ec4175428c78b656bfbae6864b4175fe02fa76cd9b353ca818a3ff3016c73ee471818f59d56112afbea170618e80eeb993d187bf7e4e608099f01", + "5edf4fb85781e57e15ac862da6bc40052edcb038a2716ddcbeaf99c6aa5e44037903672256d3d7959cc519fbfcbba47632f9c0648869844713e57dda74b87b9300" + ] + }, + { + "address": "Vqab1WiLJNvuijFgF1MMpvBxuq6sFUCA3T", + "secret": "2c7035ee76f97882a5c42f9876dd754babbf09acb0b78e05e7dcc51abfb41487", + "public": "03e775cae88d586b8df030ca149b93a71957a0a94c7e46c1d3a73b7f3c6488bea8", + "signatures": [ + "f33228d492945ea6ee40ca7b70161a9326f908f6153c2de82658047a0569f51f248cffb24033dbe9fffc6d7a9ec9745a3e52352ce3932a536fb6b4989506ee1101", + "e0509cdf76cd8a7dde14751190e8aa1272a04fe7635a51f454726e914c81e9a7744f189a3b62886bfbc33df0e5e56be6a16d555974955c124cea192cd0fed73000", + "7bb2e5b1162127af297a6cb76ab5979b1bef18bd309baa96e720aaf7188219ed58d0d520700c8415d4d5fbf75ad2d40960e63266d7db8a1c922940bb3770c46001", + "db6426d28e2345597df9aeb13b12a6921b4fcdd2c8017f33b98ad0a0062041072a1a270431d05a4af1a5f7e75eed79bbfe375682947e793011c31d4e1ac02bf800", + "01c403fd1157ebef2233dad324262fd6ccfcdb4a6537476acd9dff6490219fd214395056c03118f9543854822556667f1380bef6004b307683629ad0787c219a00", + "59eb6e47198963496cf86545e83375d5681031561de90e3e845d59317977a7aa4e70b08b87106f149139fce3514fbcf9d63d9da31a33c52a259b438050b86a7000", + "85e49ce059db04f9c567766831dad49aca85f1365d9a87e3b4cd3a948a42be82105b4d54cc47684c135b453e685b73e0472f42565d6f7d155937826cece3ff5000", + "f49bda680022309cb2480beaf3eb31dc88b6a17bb4f6afd00b75097ea8a17aee4594137fa0de216ae3e9b20846eee984e7cc4d5b68d9ea156ecef90bb371728400", + "93fe26c6153eb35fce04f0308ea84a36d4843f474c6afc4ab1ff8415b8274d1236f1d0b683b73b3098802d53e5ac2a0da06d9cd62de7cac8695e8d167baf15ab01", + "a65eaaceb3624a1e0ed73e5b04bd499b818e1636fa4f3145ba571e0d811a8ca42b8763f27a2a07b521fcb4c1f19e5e991127ca54692db641cfdf44d0bf39455600" + ] + }, + { + "address": "zAvpEnXXBKqLqUuqW4SXQKKpMSPRF78Pod", + "secret": "ba66a37d7ef52c9145221b0b744afdc2a39922e512af4387fa6d109392929566", + "public": "02b2508601b986a275cde7ff449580639c8b78442ce0d87539110c5fbec4886f8e", + "signatures": [ + "8c2202d04ddc46d2fd066b440c263e00102a2c62efe4ad53bbbcfc7c119aa7a83130d56f7e7a117876a0d4285ba056ebfd2c66f8ae81272d9f0c39d0602a8cca00", + "50526c8372452645fb21a4f8b5a7cdeb4c937bc5d051beafd389911f6360514a4ec32e6d08c6227de99d7e03895385518dd5d4948b392935b7f8b69779ae1dae01", + "e4eb76d581d4f99b1904be74387ab7954b52bbd387e6f7c033083dd7024ca3c31952acb23da09ce66af2ccff81a2d59baf17cc454ad71d6bd4a109486fb4fdca01", + "84c8ec314681261c43bf9120544b9be17d2378d508ebb833a353c34216051f4d28c9713bad786d5a90b3a3b228467085dc05f4da092d6eba4c8643b0adb4e6d700", + "f46706a56fb07d67fd6cc2a4071af59863669acf2d7f1a9941f8b36bde42c47e767089a7e26eab64b5bc8a6e116044a9a5eb3eb1f2d0cb7d4f51f9e50a76ceb001", + "56e4b18df20901bfeae20cc9c9f45ad7a7a3c7d6d2506acf7571c04415308e00379fcc74cbef49823c51dad0c063f269596fa1ac434b8405cfb9d1b125b0a47500", + "0855cf0318fdc6d0c7f106630911171e7c51106e5e837df48fd117be59d92d5144d0ccba6a42791f48ba49f3388686176a2ade9f0a7d91a103b2add7ad3d682100", + "42c0522ac061f7d596462a20c5994201e1912ca4c0181ef7002570b0773181306038a5e0221b971f069599a1600d20cadaab5908d3944f885e1389b20ea16e0400", + "643bba11d65520ed42000e94d2da7800e7b595475606114d87b603c1af4276780d83db0cd39999ac96fa35cf9977ed5bc8352c2a94ea4629bb7d6ad733c73eb501", + "93b65ebc83179381e53c4010a7a63e95e2daa9ddefd4d05c342a6aa0a5891262764c21bd85cccca2a8f040a00b983836976540968e65f26ba62eaddf597d977801" + ] + }, + { + "address": "GykRXwXiz5kjHyBsrUkHRNToHWSKEEhkAd", + "secret": "0c335f2076e58db76dde9a26dba8995028512180208c9ffc9c01928682814d91", + "public": "03a6963955bfa042116dbd4670361b989bcc0d841b96c0c402c83e7e1e23b64708", + "signatures": [ + "f9c115799f868fd84a1201021830966916a492e68a56592d5eb8dfbaad0d9c34564f420ab00996831f19db39bb94d81af763baad2d3e71f670f53e0e8003e1d301", + "a1ef2a9c00f6a4581105f586d735121f21f0236c48b1ad2d5466d392c53ad88f4bbe91493b909e48f6fa5a9ce5e7ebd93fc3c9a071bf2b760c6c771f04ed0b0601", + "394fee301cab788f7cc4af12f245a0b4765519cec1af7208409cabb06986add670f6c8641c4b40b7cd516d0283fe6c2ad872d953fb34fb9b554ac272268fb7a201", + "86493a09108cd772ed60f67ca2e5dad4c61d04e9dc24809247156400ca41e7ec31af35d01d71e24a3776673e7c825100678e9b7d060a7b5b5013160ac4f0a10e00", + "aefdfecc52c33f074351c497ffd2508d0bdb651f7b5745bdd98ae384c266f993336b6bd67d575d749db3c54bb2dad5d977958840309b954e3586e5b01fcb7b0701", + "3b032eb1fd883530a7d8f4fafd023f83da857f8c4381c1d0a055b8ffd1a3ad8b5554a1a295d188cca6ad6ab1ef9964610ea53d92cb868fc83b46a12206c70a8c01", + "e59f70fbfb3b23e75e290a0569f323ed6c82e721ba7b268b75b5833dbb3c739f4ee0d92593ccba21970fadae8904ce4e95e6edc6429377229b74f6bec34ec77201", + "b3936090c63f04f6a52720a102f1dc5ee26123758637b98e23c01dcee3d6f280266963e980439eb9bcdae68095fa5cb1d8bda02a1440be90a5e597f8c426bdb600", + "09cbc77d194f64d03a3ef27cc4716241f815e8b3b46e5ad4fa68277c5d8d1ecd72bdb8576be4e325fcbbc67aec516de0aead8f871ab9087ac53a39bf6f9db26601", + "704365c292a1d934d26956584bbe34ac0db54cf5b03ce3f9b1367805cd488ff830f0e2fe34727e8c7409fae6bd4878e10ae2b452fdf15c9a423afc79e653ea2801" + ] + }, + { + "address": "aZ9jLZm6MWpy6kF3kpjJTNo2eo4oLbeeXx", + "secret": "ecaef882b218b8e182f17883ed7462b4120064f26d5c7880a596e9f8bd0cff52", + "public": "0268e2cc53ec1d81dc64731495428a98db2331e9eab7ff899251931662ddd6c12b", + "signatures": [ + "b56be8c206b65c96cb8e0d174b289dc0f78d3d1657edf35eb2dbeae0260a89b96e7bd8847e206129348e0ab303f2a7f331d34fbe81d11b85aa02a6c0e9d3ee0200", + "b4bc4d5be6e24a0fb415c211f4420dc92729f0a1085126342d04fceead2ac7c1699542e02aef4e7a5b8426915a1a68beb1687669344256ac899e5332066a455201", + "4f037576467400a8b68bed9f47deac9956a1a6eb353677f10e21b5a424b2a0656efc0a949f9c0b125dc1c1208c80e708c5ab29eafdf97dd40f26172decd1726601", + "2365b10f2be2fdde0b7831bf3f9aa24fadcdf4713a6efb422a6790e353dd71c74d813e137da07a6f9e1ca515b10abfc316ba280eea0eb8d1645fbaba20c2e81800", + "cadf2560137316bb8827417e8ee322644cad64c4c1ec9aac63967f4a5ac0ae7971f5260c83d792c044332f07da13a0d573c9905f588b607486ffb00755a94f2600", + "a16edacc86031c008d0b5cba9365ca9c39ae724d030fa288d11726adf59e7e3f4060155ffea336028d03ccd08393dc27b427121fb5b63fba892171aa0d00920601", + "e85d863e3e5b30e31ca57c511614f6a53794a48a16197d2a504f6b4347e8417f73b2d1367988d687568f8b413c4d3b854daac8df95a64c22153b76e7ac03123201", + "a98e2e0361339e11417f4d8d45585e8fb3a517735793b2c4dcb7d06838ef80fc06706b99f91dbfdc7568ef720d9915169e63003b435c2e2d03557c90baca319e01", + "f2b62c93fb7d36e0bb6152ea57b7eb158fb93984f12fc7eba7151a8a4ebfeec902f2c2205a910c79288063e3b73896429f162cc253360f50aabe4372d81badff00", + "3d99597f0d9f53dbd009640fde0e7c44ff567babeb4d5eb54b7f00f50c337bc92155b9342cd817fff6291d70e614681b3d890a1249debd89a6d3e14e6641e2fc00" + ] + }, + { + "address": "2mLzdkpXtaLWvFuVvzNgZFcQgBnd2Nz6wEh", + "secret": "d35734c6a9df59900f8fac59396a1e1e735eb0c43443bba39ff814c9f91abd4e", + "public": "0272b067783e0ae0660364318bf3b408b12c105f6f75ad6da46bd88131f8cee2fb", + "signatures": [ + "ab9ea96f4f3638fdf6b5166d7c971b7e5aa71c042704ffb4c21657ef29cad87e2ec2c8b1d220ac68f40efbc7f9236bfb28c02762d52bf1b5677a7063682cacf600", + "e16e160405c0b410d1037fc217b32e2fcf626a27a5f50ee003065a8059bd40757e18a5f1d469009458725b936ba581a99af1183838fe7b0b3931cab941814cfb01", + "80c491a4668da1a22eb4eae950c1456a07919286656e327c0b9190c7004922ad50bb59de0620ef381cf1c10515b2f31d2850650ee65d3cf60fe44276bc7ce04f01", + "3d3f547e2644e3b8c49dc5a54882100bdb499879017f51949cf4bb8ccba9591040b1036483de48b27aba1bb7f8d73ac90a96fe787dddd233ee5406d3d8fcb4f600", + "72ccf7ebdef8e297db0a7348ff83bf6149e50daa24a29e38dd2c5f0d8ddd689f58034fcf8eafe64eacaba243dda0bfcc498743521f569301c9b19f95ea71d9ca01", + "b7347269ce29185b3ac9bf94f623307108dde70145978005d09c396d0739682028a3bbf0460eb7c848f3fd1648af5e90611e42b49901c40aa22e4f73bec0290b01", + "3658c5490f32f423ccdd10fbdb2c5ce674424c8635c1236ed88a37732f253d6212656ed16c70fbb31e9980f27ebbd34400a424d2110baf67c348c167033c7a0400", + "a4111d9b5b8ab7bbca90adb0b4c93faa45fcb03b717a6f11ac485b64ab3b0da505e2b749d971c700eafafea370c9feb66a1385943515950291fb3253b255505300", + "34e8c561770c77c2aa14f6955a1f5acfb29b7fd9ae846bb537c50f02833a35d656a8146517cb3312577a751f8fa1d3a1d48377a9ae6f3fec5fff3806f335fe3900", + "ed91dc06187be3c4688ffb6da8fe16392daf976dcc965faa4dad753a46cf2da476db8956787d98cac6af62665be2f31a9556b76d1cf4684127f90502d9a4ffd301" + ] + }, + { + "address": "2QDx8n4AqA2Zg6BjHPbvKa6jjTqn8GuvDmN", + "secret": "d65af2ad4afa373ec16c002605d384c6dacc8e6f5b803eef066626f518eee964", + "public": "034591c117b23c0125cc41e78d887fb64d3ca4f4ba6c14ba9e5a03380114096ccf", + "signatures": [ + "0b4418424dc07e0ef668f9363ca9e069946c8f5f2e0e733177fc37ef9e9a0b17626fbc899ced973cd2b2794b9980bfe8004c5bd5f9f8e7545fbcf3d45387844600", + "18889e1bc48c7ec850fedb15d991145607c097c061c78eb8a88b709b01b7a996479f55f3ed9e44c8e48551d56e2292011e5e2af8820bd48e43a0a572dfd2197801", + "45e65bd3a99910aa5cde9d482bfb5ce61b138b8d3f0269b7d892e5975bea8c9b7ac6b85541000f75f7eb0998161357fb7cc54fbaee11436fbaffe77ccd0f0b7201", + "ec56ea2c59898f2885313db13dc7386d7d7339968139190905c0c8f6c1b93dc868b03b12f19efa0de748beda1727c9e7d2ad5b5f7121a4d77c38e675c70fcd6600", + "893f74090ec8b968a3576e22280c946f75fb59b6bc8b32c1f5b74485f1d555ca050285b91ee0ed5a3d3e997a7c9c2f3e680092025065f5047631de41e8b7359400", + "018748f5470e0ba9560ac9b284265fd93a7e65284cbde89cb8bd17c7bb570cc94ba0084159d0046769f2172152e53652e29c176fec65f03d8f319c1187530d1600", + "8abe93c4ad0a2860274a38adf092dde1e49ca71501840d66f1b3f515e99ba6b05f231a7fae44eaf376030f1727a0bd60d7623573b85198e6a4d995b84d89c8bb01", + "7767f6d6810a2026620886014d9197e67f73bc091b6c1356eca1eac80300f0a6080d8dbeb24785d1a53ee87612d833001b7f0368ed9699c559c7443c3148a95700", + "9740dce7801a4845fa194ad13ceab4179441f2cd708797ef1c1720bec9039d1a7adfc34098b756dfee4b02356ff86160322afc29ee603ba4a8091108ff4c619501", + "e75ac790094525f7eff99f14d92e7ec035b0134442f1ef55c6ded7af74d42a6c6f689e9fcbf2d9b3de722f9e1415e5c7dce756946e8ae8174a0866c22b8d9a8f01" + ] + }, + { + "address": "nSXnnQA2aaLHdzg9LXgyoY1bkRYyoJcPNK", + "secret": "3a6d13f46da4a800ef8c2e350f48e53cb601efca9c1af27f0650065d9334583b", + "public": "03865c2b491360dfe2afe6e918261b9e909cd87e53b61afa3edf4fcf47bc4f9d51", + "signatures": [ + "1d9ff908a3bbd7416efc2a9ad50ef9a3b7db795857755c79ce0457360812116f516960d1c6f97d1d8d0ac3ea2975cf2f4ffa0d08b1d35224ae9799e91b04fc2a01", + "957ae4c1a90e1465564112a513597c3bd6c8a1e341f682b8a251a0c6272e9f562a0d3d81665425e7f710fc3d20a9f8a4a28b6badd63c92922b1933fda2d8376b00", + "d791eda6f4548bb24fe5f0b1eddae7db453156187a10538fcd837fc63dc189f40359ed7cadd04c6dc65946488149854e4cb5baed743ddfd1c49247e7305d9fcb01", + "7188ed823f256af8a430f9c6e56769c3455b093fc649bfe6e779a97219b9d3673dbd5748cc3bfb8097708f997baf7b901290ba0daef661369738a5f7794e72cb00", + "5b5bd1b9b1ac663480cc4f1652151aa0a27d456392dbd7fa5c1077f14c523d200b9c677b150e4a03f68c363c987495b05cc7dbc1498f9347dd7e7b1c598f1c0b00", + "1d9535097480035b32e949d5b678ab1bc0a40f998eab8f411d8917232ac58af0022d32d709431a693639926e36ef70dcbdba6841bf8a6edf007d4b2b339b02bd00", + "f99830f86e5f4c812104bc7f7d4b0f2dea4e1afc0cc338e93f378cd82f044d4f2647771d665af37c3b83fa4ad153516a120f6177cad4c6b151bb7fbe057432b801", + "d28e2d7aa2964f048b262c9bcbb9a462196d81ffd491b36700cf1ebdcbe51a6104a97beff3265896731d03e7f98239358c14235e2480d10665573e838b6e6db000", + "97ed4c87a77ef0bd231debfe414bf1335e74be8a1d56dfc5fe7d8f611246506f1e7c6aa6395f2a0e31547d71e766358ab048581678d83b2ee2362b3e52ef7c3c01", + "d6717596c6f62d6430c475a46f6ae0e062cd667c1bbbee66cb448daef72e6ef1093011f7e398488b280ac763f3b11b93b2d643380d1e0514dbaac2d6293271c700" + ] + }, + { + "address": "25qo9WDafW5bL8J1rrfDo3zAFFmUbWM545B", + "secret": "03a71adfe4f3a34087b6b0f303f0678b218b386c3d129a8366f9fd40e11c1050", + "public": "03d5b421cffd4fa34d0aa36716d7b5f34c78ec362f6b2396d1104c490ecce196d0", + "signatures": [ + "2aea2918de643baa9bec04ea49f9c3bb7858b09e7d0a2dfa8ac718367951ebfe6e3825f4a5aa08f3a8ce3ac1fd021aa8dbd68f2b05ed18746a53d70cdcadb26400", + "c0475aa5ee4dc3d3264703195a145beb28731516684194fee43c9538444079670f30eb13522ad7ef654deed6a7a6a818f38d79219bdf6138461d43d8ede9aef901", + "7ac1e3195f1ef8b99084f2d97250b8dba8cd55148807f8d3437406e252938f1d78d86fa5f9b6949942ef4579fdb0a8dcbbf3cc37cbcecf51605ec4aa2922cf2500", + "af2afcacc960b2d12395e1de8668a456eb2526b250e5942db785fdf3a0b055d56015c367ed6de7efd680eeddc1a8f789ae787eda887b23a7e4f6c2f7575f10b000", + "4b9ab114829349ba27e34152b51f9d3c83198673a354a949934399088508d3d014baac7e910c367627e37a1544bab8ce1661600be92c346463497e6965551a9000", + "7e5c5d8f8f27d2c1461b6653089e7727c7a0f630ebe5012d07d75979095658ae0b5c679b3daa5ae34a528993d6c9f60319668f36e583bf607782766adc7d9fc400", + "ccd7e23d4de2f095d77d08b6e34e134521c5aeab84c9ae78c427cbdb0f72c310261444cf20d21ab84ac2ee6472b8163204323b5108adc59c6c01e72fdab6eb8100", + "f7eb4299d5b9fdecc1ea7b366b1d82713322d15390c057953d6b42ac76d0bacb36d9f3c5568bf2f5c6372d4f0fbcd630588f3c27c2309e1da4e02a09d4d6ce4201", + "384b61a3719213b153ca45d788c34738860c6353d6d15751225ae3d6dc35bc192c0189edd24f96f95898a29164291c047a1d11099d397600820e171dd813b94201", + "9392c342570352667d1d6ed8c1a8438bd8caae455e9901194f788c4fc653e04f43d328453c9818c0a1b009767e36a630ef9453a51b4aab4de80581a78119212000" + ] + }, + { + "address": "2U9tv3pcptMson7aVDj7epyVhuJBQkSTA8W", + "secret": "a7832a68c6f1ce353b341c78661ec2e39291a3d02676a7804c04eae2a638a68b", + "public": "035bbcfedafcabc3f0bd26f3af4e9046d01e96e6d596e751e2a3922815f586d70e", + "signatures": [ + "d0857d3237ec891c839269dafd3df42be1e8429765673bcde990d2e760f827b9189da08b0037bd8a0423bc541798925a4396b79688cf9e329cf42881aff93d1a00", + "bd143fbef42414fc7520308c6492dde2fe442b19deb2d2c8412626c0f07526292ad3bca282cda727915408e14da782d3bff8047eec4011363a8db4ad562cba5700", + "4893755c3b2c465c3a503465a0cfc7828169fcdd52139f042ce4799dc9d0a4003cb4e40c271de767fc8df0a6f93745a591fc2dc13f6b17a12c95473c1042857a00", + "62f03a6284039b98acac22c0d64447ffd65be2101b22d104eb098e4a065d995d157226a117a6d34a2e2a053dc199b41a6e23074a8a700554c76fa45ffa4a1b8b00", + "99d7cc90fb119c8b722c0582bc097b5bb260b0a871c9c05439dad466d1c970f112cb4311efe7753d44e91dc0162c3d2befca32848767fa642b50725e02e02b1501", + "de62021fa95a4c90a5cee0b902d03119bb801ef99a6c575577b32f432be9da047e8b2a7e32e9910116219bf1c41dfafddf38f99ddeedd01ed1bed9853779e7e800", + "dfed34d6c672783dd664ec8f4444467b1e15c2e3aaefb21804545fb47398c3d3728c86c27e1507d6b14bf3c5f952d7a308f0fb5e5cb947dd0971cf37440086c700", + "4d410ada413d3af780693aab75d8280da0d9af542875f8b71f50ee194cf9829a33e23686760fb9a07f3bb37af99b1c97709c124b15c0fa89ec3f9709a1439fe801", + "a5ddc28a3ee448ca1cf28ea8ac3991ce2f1fe562d52c8a7634d58871744253f2132e8bc1e7c13a370429eefa26c6956c19cb548d5e4e663e47dca12fedd16a2300", + "3da1a98584f6ed35cbf918d514fcd5074157d91b99d84ee1267b10d40fe0d34b42d552f8ea1d09b44de9e32fc2339d1d784046d834c790c471fcb9249d4030a500" + ] + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0002.golden b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0002.golden new file mode 100755 index 0000000..585fb02 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0002.golden @@ -0,0 +1,175 @@ +{ + "seed": "jvgFL+YrrDSJWjeXY3tJo3dek4BbeV+UzrMZ3yir9Sg=", + "keys": [ + { + "address": "JQCEabhVC6ZbsgxbmA5MHTzhifUbX2PUPR", + "secret": "e7c807f67e53438daeafd79a7c52ffeb8d80bf5eec00f281515e7c1d7ceadd13", + "public": "02661206c9ce3649dc890e58e24763dd1f102e7312cf778bf15c0838a589736c7a", + "signatures": [ + "c8d3fdfa608b495c14fd0b47d6f8408a083986ddb58336082f1b0b2aad32aaeb27954f329267c4f2387104f80451a6abf237f40b5e93dbdddf39262fc35cc07e01", + "411f4b6179671d9d13233d9dc9ae4c41982b1e7ee5beeb7389435f8351ae1dcf31d2fed790a49d66cc74c714792d2029a75dea964dc2737428efdba056b4a7f001", + "87ab0f994df1c137ef4b0cdeb657630509eedab2f3fa390de2d8ef51f605743522119933f6751f446975616a95577398e7b0c44ab997634f716bbabcea9793c300", + "77714367c993faaf9162c73cff53f78a0f2bfe6be96b71d28ef2680cab54145047f69c6b592da393aa48891f87fdc261e0dbef1ef718fc0fac80cd11b4d9089200", + "1ee6bf3930d3220d2338a50e66c0e8192bfb98d8ab19e2bab7d0fca6aaf553d95e3f4dd3063d0a6ebf1f9d34a8a0f42c69c2050ff9174ec5a93269e7d6d4c20801", + "026c0be15dc3c74994c403ded0ec0b62982a4916f6cf7acbe644f1205b5cefbb1353ded02926f8450274ae95c89892032d23fb6a03ce192ee0a4408af42332e401", + "4739117ae45320d82e2e1b41ae3f60898e9bc0258d1d7b3f90de521db1ed8e9c67e4d9ee8b5d9ccbb1e5ca76d4cc3caa7bd1dc5fe343a4792b26ff29f0d894d301", + "1c367647b6f9f5da5b1d1ebe3ca06028cc285037c3df4d52c95c832280312e9833e65fadb77fff05e5d649ca5a65b57ed33135d5e190186f376eab30c195b2f901", + "21437ae018a00fc75f3ff8ecc69055fa20f320786bfc87e5a3dfd50767f5e64a392ff9dfdbfee7b28b25bfd043e98932ae3c2019e62bebc5ee09ce0385944a0100", + "93232ce00bc5f85f28cd93237be83f861f1fdae74d53c2ad024d4036420178bb1f6df282a829ca5b7361ea348d188ca88c537878644f8e1ccf3bef0e64536d2100" + ] + }, + { + "address": "2xYA6Ty5ngQSGxUxLarPiVpGexTWa7kmZ4", + "secret": "cb09609a37b47ab42e522acc616a8276488b255b07c7d592a03de5fc19bd3ad4", + "public": "02be247f8c246ec549cd378ce34bcbfda52a59bb2cffc92cacc26877c2d0d4e06d", + "signatures": [ + "b218b9da47c96150d6477b44c656ab5bd4e3098f0a36cc37aee30d327e4bc1d37dde4dd8a4167d0fb54dae0b56fd7d7a7aaf7f7671898b81ed0958e4f51bcc0b01", + "3efdb6bd6b772dc8039ea5ce52c9d4714a3b075463180b5a45598523da21a7b32fc6e730a2b7cd48b7e3fb04f61bc8acf07ed6b97922dd3600a837a6d6ef601301", + "fce5664c0d550e19256dd04eb20ba1ae255a855702c7cbfc22576b9057ec32875953066bb020030eaa9a8c7856cb8c2c58c6a3e4cd2dcd7895de8f6bcd5157e801", + "95fe28da7561ddccc725d2fb3aa540bcc8e4571c60b0e744f0ada9db5ec772885a0efc8de1dbee4d347b1caf601f37d8d74a075a6dc290f4960cf70c8370563401", + "b70a88c6c2a2c76df89b481f3546e2a7ca08882f70447043313156a2d5b90e8d0de40c0c27e5dbc565d6148247582b6b05410d9d69998ed4332811436c7b458101", + "fb0f74606f4e239fb7134c6bf3d91cf3a2b76c4cdb08d4c8189c6b457b0663cb7272c6673c93d94e4d7cf94bbbf3af983f541b46a3598a0efe60bfa2fea4508b01", + "3c627b20e0298231599e59d4c803b8a49bab9baba4f45a49d616d4cd06660ffb1c2b60189845cf79546322b22396f613314807e034163e66d47318b9d0d35be501", + "4363cd2d43a6c23df3304023887d7a4d291645c425aaa1afadaf96f1c1ab51b709c054741e5ae7837de4238d0587634c2e189eeb0f01f6bec00cf273a9028c0b01", + "71448bee0563d244d32a17f4683da5c20b786f831cf32bd30f05cc12e376fd9f27c9c60a1130bf9887f2249f3286e4a855232091f1a8900dbfef9b1ad863f70500", + "10ea5ad3a7699ec6de2d3402c333f2fa8ba7b186a3eb378214098a8d1e829e6a4e42505ead889f03113b1a4088b583dac42830879876a9bc74cdd53a815c379301" + ] + }, + { + "address": "zNyfR5GRMNki3HcyWe8da1vhnq1Huf1pYE", + "secret": "1469780a7a54f01572e2a29326b8726a1e5147a2d96222b1e8220b01e7ecb428", + "public": "02e8c038377cba9acf5e6bc9d886973538b8897eb34de689c957caacabe8db839c", + "signatures": [ + "2de7268716605679f813e044d0dc9592660ec76d9fd77eb6286c3ed9a56cc8726b63b69874c186335a5acef4477771748a33d4ea4c7040b6b712aa38e975a98701", + "e320dc92764ecec970a60a0a47fe1580162f2f97438bccab0496dda3a1d985d8132a3d7c5c2eeb7f0aca5ec71a855f9121f06778150d7d0505135304fe991edc01", + "fa5edd7910235a8e57b31fced17ae73d32366642eebb7919538ba17c565e40e37f3730ffecfc7ae42207e531921b7e0ca87bdef76523640659dc7337fba57a4101", + "04c046ff48bf60c1ae74b128d71988f5ce435ee99af83cadbf14c6dd7edb1ec61051fc0ff3c18b020ec642219c72dd45b7c76f4828bc432e181b37959f82d40301", + "b676b3cc400f3362342dd1d279a7230c57dca3973f5a82486717ccbe00dcddd87bb81cadd29fb322d02b2dcc59a3d47b78cdf25ea788ecd3e9ba7cf338d248c301", + "f8adc3b7f0c241f45d8c3ca7b4add88b819ff8388c6eda817f8fb44b5d46e1cf4f1a2554f68957ba82a36996926f25292b7dbce9a37047875eab3ccccea19d1e01", + "1c5c583bc903de18d020ba9dd2494fb9249b387252c3a7967f93ce8aaebfce184cb3edefa7480b886a944d1b1712e323fecceceb70a34371eaf1d87a5172a9fb01", + "7a20e7d8587ab4e612033448e19cbf2d76309ea3914b52578d6000fdfc8243d53ea7f25c81acba7eccb9feec3d09e20fe8947656beaccbc9d63bd6ef79ef96d701", + "800f68685440c16a9fe8eadf94e703b6cf750d798c19bb21df50e0afa2ab85e10a67b1773e571e55a26bca2d9c40ca6661815ad8723c5dc077be6a125d9019b800", + "479d3e035de00b7dcf5cbf5e5ca641b8524f8dc415ec6c60170fa367b9bfd3002cb2a9f477130f105d0ae4ce2d56ac4c4d6cb8aef7244f65ca04c149f469caa700" + ] + }, + { + "address": "2JLkLasmC3aZWegxfrFBMegUwPMMaTRHezu", + "secret": "0c0290d80263d5ca9c3a0d4a8425bfb340387660feb48de1e0020853daa12616", + "public": "03491b93d73f48083311ae3c06f3ecd8c16474e795a58e3ce301ff548e9bac33ed", + "signatures": [ + "13728767950c9ce26b4b7ce9c520a7ad36044ac27fa72a7264764b15b4fdb2e3404d3cd1e716907231fda3db6d4d7b9f1055cada44d72fc3939fe892f4bbf82401", + "d257c55f64e001336df83863ce2b065efab6c60799f7b13839f7abffed5bf5dd6a108c7db8b00dd4cc313150966a88b34770c9d963609054c3f791c15ecedb1401", + "531982656772e00adf2d87834a532310a1fe018a7e44a26b110db88cd51c240e3501514398eeb26ac535613b35a2f71942f6e621598d026c18d29127a8b5c33201", + "4095c7b25fc5deaeb3ceddbfbf65cafc5b060e5a790e9cec3b9b791d2e3a556258eea375d87839bbbd3e277c53be855c51417225dc9d586568cfbce1d542da4000", + "87511d32bd897733747252c3373a17849dd6b87c68f3eec30e30f47ff75a40982546d22a33bd2398d2525ff99980aa96ac0e17ed8ea8574329d427262cfb5d2401", + "d2011487bbd4b997db6c12978637c3c042e397d17d9924d65417b2134467a9d36ed7ac74fe0727ce3727dfff6d90e1607062edd16407f93b26e466162f188fb001", + "5f65d112bc25524334e028ac597c3f9e289394a0afb2e0af6b038eee2a66a40169246279115b5b95e0c4c79e9ce738ea79636c0ae7c1f1e2178a15acf3617f6e01", + "3e87be40a4d5a3c9bf3a8c5e8aded3e311788fecafa3736495a71e06876f55055d34376352cdc8c99de89ae69e48c7dc7f845278408562c681f1aaa02860995600", + "a92ca8f889bdce1c2bb27b1808156afee9c5448cbbf9eee7941e379797261a3346258d418dae445da9c483c55b68c10285c8c5ac59b9e9690b3f0bb429b8782000", + "138752502a10679ca518c2f1c8394b0f49a258a8f92f3e07752a72700817310a08e76da5600f15d214b58b0f3fa00a5797a23e294cc76f72c3913ebf624ed2fb01" + ] + }, + { + "address": "fVQJVXDCg3xx7nSK9NtLm7xw5wfhPenak8", + "secret": "7a64f76a55d52e9ebcc2fd8703153eefe458b7983e8be501cd7b53e99eb7bc38", + "public": "032849624ed86775b96a940bb4c3ea30ce87d2bbf1bd78a8dffac5d5a26a32edb2", + "signatures": [ + "ad8e2123a55c325578facac3b33a4f893b3f2afb1065b6ae51b26a4937d4ac094b89ac89036849a7474539be19af5a82a10476bc9cba60a3c29eed8e16cdd97200", + "3e3811c10b7e1644e4cbb4feb05713be87055c3692124abb51f046d3572ce88367cb91dbbd56208c0958482730cfade12f481babc35839e37c063826f5b3165900", + "c3cc2e9ba9068e6896f15e522dc64a07c2d8767a50e3c95f5d591e708101575655006f4124a433c8045248737772d4f8c49db07bb4fb7e4638592ac2901dfdac00", + "f7e7bd47eb319bc33e14d340b73340c78527587e470a92a5372ff4d4b10780a03ec02ee20ba8387d2bc1f6faa4661c94e2193009c22bd3ae3c7218b70598dfd601", + "d25814fa5075fe6f6dde48d0036638803bde3cdf6162d284cd49182488cb76985f3a27becf6ca57a04a17286fd6479ce89e6e137e47b01a347db4df0983193ba00", + "d9db8532cc2595e35e499319e2193e28024d08f845c6ab83fc069009c3e901f9051953eefa426591d56d092ab7a4b7c8e0cafe3e6704ce0bd10466589cf7e75d01", + "5a7556a143df94e47195afd3ec97fbd8e5a10d970fee7135674a5cff47da053171750083f985fb09dceb762dc97582f87ac312331ae2d2aaef9f34c536bfaa7b01", + "b7e4cb3d1dd9405fa7c4342352fd0920078ceaacea6dcfb3fa5fc5b95ec4e9550c50500507cc8584f9671c8f2c52cc7f773451d94b34adde0438e14aa433461000", + "fb48718e2d5f99114064c368f825842544968cb59a59fe3247a21b0f959397723b838a8b8a9b52690eb14a404987206f5408600e5afe1f03918a1a91fc53451501", + "13cb6373816e236bdcb07c5700078604cbb6de83324ec4f952d9ce046991818242b3730f43bbc5644448fc65097c450191a3cb4a07aaa3115bf7b01de5c0a46f00" + ] + }, + { + "address": "65uJtfRcuUQnQ77iXgusuMwUUE8X3YypDu", + "secret": "1e83fd70b9c3c83271856870fc194779562aada020bdd771e9db16a26fe0e699", + "public": "021733c35bab05988350a1a4012f1a960c9ec09df6581d0e205de3ef8b5589a006", + "signatures": [ + "2d41e8b8bb40a4f4e7a6f3d4e62ad54a1ee0606a968e317bc453a45632384fef6768fc26faafbdfda6893b6cd397d11f25bceab298bdffa0d15beeefebd4f51a01", + "9c7b0470d72e6adc12b1a1bc3cbce3a94a6a899f7a7cd29e4103f8ed25f1ea284dc034e5a4daaa44046869093bf65e5a918532b5f7ca9f3e5cfc5fb41db1341500", + "4376eeb10daf7003a33f1e09c8b308673b51395c607bb64dc2559dfbb669ecc84ab7ce243646b4f1078988051d1c2721a1ec834852313b2f0b1d0473d703914701", + "9e4c7b2251a21ecfa279428137229e0689e5d07fd045e5937996cf2ba36bc85e28a80a8dcc0d08d71a9aaf69e0681002dbdd0e7bf996220fb113e73e5a75d7cc01", + "3ce1f8df018a64a9d076f8418f92c4766aa48e4863b4dcf9e5259f844d8e93d35d04853654e953be812d13282a996efcf7bcbab951aa315e3f8bac3b4c0fad9f01", + "2f86dc5d8c351fe522dd28c48154f9012055cf84efe1e5ee852c35e0c1beca515df764310a3261656123cbb135cedb066f1e2d15c6d3da50809108b1dfee957100", + "630ec741f809aeeb3427b0c3ad6b87d579fec9fe1783f927a9186df5059d5c1803b9d0a91d1f4d7761b374cea2ed1c336de82f0abdbeafeb718894f0b2ac253400", + "211d06f41bdba332658455ecdb19e70f13533319e25e2d9e701201c4f6eb038a22a04478802a9fdc5da0ef96b4e97fca848d142c12d831269641aa013dd3da3000", + "e35d120fb5a7ee7d644bc0b4b22a81b3eef841ec1388d0d094c3aa85322f04325b208770d47a5d9dc251e7551d63801fb502d9d10d6d5e216ccf4f456408350000", + "7fdbea3efd7bc036fec0ca9eb26e0b7a257acf779ebcec1689b206f77dab863d0508e14c3cda0411f958975646b85ea99d67246eb0e000f96f7840a29c9878cf01" + ] + }, + { + "address": "DrbwF4PMmGLwV1n6b5r1yUcnRjESsB3xER", + "secret": "b2cac97f1fc63a1e1a16d1f322f4a33c173488ba3ebf5049931103728a822624", + "public": "02fefbbfe2f400b83ae244bb3bcd2e4073335d58c35659100f2b323d887982918a", + "signatures": [ + "d412750a5c4e7fe4564bee6f221389f0ada48c6ea612f77a9b1aeb586d8dc4a7129ff3e8aab7cfb9944e344d5e2129de4730a21e20d612a2e37f097549880b5a00", + "b2fa691f873903b0154d6347be1eddf989e67f390ab1e3f1e4c8cf1470acf4804a5d55356807561d5c6c3cd9ac7ef70d54f845d0afc42734a05310ee7bab55d801", + "e21e1102033378122861e21245e0ff0752aa94d7b097a26a16b92aebc7b7291670b5f9efa09b60bd72b21c1e386779400455708ffe36518299b25c1bc4695f9100", + "52351ba65627367f19b6ad38ebfc57b2d797770aaa45a5441e61857ba0aa07f5452412d20710e6ad4e15a9353244cd69fa01d09b17d1b2539774c0c2ee477f8901", + "129d602024659785f35229d08148eeb270192b5600a4f64ebd30bf1721f40ef70312cc10cb97cbcf2dc53da1e8b10723c43bec6b380344f635130ddcc89403f000", + "e7e63d42e064530b329837dd38955731fe3cb68c7f8cfbf7bb7452df2976842b299624c6b91be28fdc3c70fe80d844104d4f35b5c5a6f550471975de4519b66400", + "800fc84bc5cc7947c1860eb2d84e0a4a16995c75ed6023b34ba69b7b3ca0da10146fa36b391e95fd48af4e1281d129b73c66b7ae12141f1db72a177efea7835301", + "5bc5e990c347f77cd4a0db7debcdc92bb6c8d8f0287b2ac7e542ece2f5df3a2834490e90bb3ebb3021f444fc6638c6361a51f92b62616eb31730e53c74d17afe01", + "5b9537851a702c03851633a514750f4050f08430a287a885312c2b0db992879c5ac20bc4725ee26a83551f220314572fd8f23e5aaccfa0df80b8e9b38f357f1100", + "ef0c38e69e2a6f90da8bf5366984a20bcd1444e46d5a96448f7c7fc2026f13150822069375ad746c3502897ecb977b78df08e3c65cb4f2c26981f34a9e0dec7701" + ] + }, + { + "address": "8UtRig63MLaLcBWz1roupZjzgNFWZjFDPC", + "secret": "84401dfa69739cf31e040af784a9f2fc92d2c403b77244c0ee1fda554b26609d", + "public": "036affad9cd7bae39d491c37cffe118d5b3d23a82cb7d251bd9b0a26e02ecfad91", + "signatures": [ + "93b45998033de9db250380fce60a61e3ade7e75eaaa616752efa84756278a152260b96b3d32033a243c525e81b70c7b304ba6dda691be1f031e1db5b8e40de2501", + "2993e15ae39378a443662deb0a2389df953c1b819c760b05bc8c57e8b2a47df76af6d61d06a60d16da662ede2e0e608cdb3a12d8789a8c4fe6a21f1eae6e63f601", + "dc85027cf73b354bd47b8399a22057baf11c4c59a133a335f598c5a32e3d0b410060a0e37f14b4254def16fc8b93347ab0bfdb56325dc3f361be6a45239c5b8600", + "cff714d386410016878b11ea5a20c756e2b8eb5126cd92efd668c48d4b3d1543499aa234bccd23730bc745954cd901e645763d3f0e25472ecf5b86563b15448a00", + "3a783749b0b78225ba0e6391927e4bc8093c1c0f7d165e79241d97d77dc969aa302a4447bdcf85ec3d2807ec49148dac1bd3c34c46f50ce835c408210d449fb501", + "f1fd6960250d78d7773fc114cb8b08eadc5616fba800ecbfe6591ed4351e0da77668b8691157742ba1046c957de85db1c2337da9c852270906b5f1edf262275801", + "8559c8902387ede48f83e19e9b9fbdc6aa4b30feaa5911c02311e02e683de49230895dd2de9cbea7cbd2c87c62705e3ea669f436bd131d2e14c946040a53c47b01", + "3194e03f394b5f5f73ec5cdf98188be9cd702a4b23650d34dcbc6ba838c449c6346931eca359b9014dfeaf59e223e49977cd48b997b2b95ce612934919583ee500", + "b56a1b1db892f1b55157f4460baeb410acb9e3941375993cd9487245791c45667de87e6a27130deac8ad53930cc7f4f36f60c194a6f9738b9b76099bdd9d258f00", + "fec84af4b8fab37a828ff011beed6850e12160d08c4bb5bc41d175f40b034b25357589de2f8a2c4031be33f6cba385782143870947d2238f3071bbe6a780492a01" + ] + }, + { + "address": "2FEcDysCMv4HMzwXqUGYdpEqPPzJmAanfo9", + "secret": "e44eac00ad22c4e17a0749103e842c381db7bfdcf5589fee225d0171b044fa19", + "public": "029f93f0c3a354d1b89f6aaa93b80ce26cf674988a9cb8042b9291b47639b621e4", + "signatures": [ + "61d574bde2ad3a35a6d7ed33b47f5885ba88536f1dbe54bf4e61a4fad6eb383640da8d0e4b6f5552172cc7d0c9db11c4c7b4e8329223ebabf3349ea1dcf07a9101", + "4f2c6bd0058643ada8225fc910ae42edadd4ed77894880594fc6a14587d56d9b5b1689780ff5ffe0550e336ce8340915a4ed2e07d5317eeb8e8d4a195b31251100", + "6f4339f187cde041b7f4eed3171066abb1ac510afe00b334cdc6dbd460cff0be41ad89604f191db6666cf50a2cde47bb6b7555e6b200d4c1ec1ea22102adcd1201", + "1d1d56be698880ed0e3edb50071838b0cdf622cc9401c63b46497d121c7a35b44aaad0415496ac0ca4e7a6efc2c28aeae509cdecccb469335cf7dede8301b86401", + "8a33f78cb1e2767147a40bb33b2aa5ae367d4e07f9d954a11489901a49edf823431b7da2d23d48958416e310e9089e00b9f2695fcf0508993e8efab888703f0e01", + "02a2752aeeba167d66f8ec9443ad8575570d766bd226d4fcfa7f1037392c33e520750a77e8b62577d8e469fb05a3d33f8e9c18fb3a02f2ee69ca8043b063031c01", + "7ae9f070f1ac3292c3fed78d8676351fb330a8cccd016876576ad3d50bb861e41963bc58a736ec0f515e3879dd36ba86fa71632dfa1627b6a5f092d228e990f301", + "a9dc1cdb26c36c56346f0cdfce899db2dbea965e695846e09623cf09185e17b8495511b6e5972cc631f71f9735102585e744144ea36e990fefdc215da688c5df01", + "70ac0d8ba64116397c25d5515e9a9abd9a80eb028dfb44bee9b3ac97b2c00e9f0e8690ffa8d0ea8aa6bf6aca24b2fba06476c88170ef621f3002da946de2a83301", + "441200b55b63ae560addc5a020b56937fd25021b23e1d951ba7c57d90ff7672a371513739db52f4294bee054fa2ef8adeb4ed38bb4d0a2e83cacfbf9828bd8d500" + ] + }, + { + "address": "CZQfJSz4sSF5t3FVzu6kyvXYDugW3aSNVu", + "secret": "c7a2c3a4d66588696d0bbbdae561d44c5ebfae50965bac29a5c34be86f9f2ad0", + "public": "03e40a507b0a3a2e27734098d565f8bd1892db382c325838b4bae875453a0cf5e8", + "signatures": [ + "785c64e60448d4c3c6e1e56bd0a1743c70fdfccfa0866385db6c86cf64dec8ea76e655a5621cb0c8f2f1e3e20b8aae8fcf2efabcb0539831ec7962fe310ea92b00", + "c0a18cb45d85e65de31fac27e60c602452ccf320e93bd217e001bba8a96a2fec3c51f6e6983386310a4f3ba3e06ea8b4fb6c62ec7698d12a41bde9fe278dc8f601", + "de824e91917697141f4d1ab5174477488468ed853dbff47710805d1abecd3df9454f497eecfc98a32189e00b5ccc0019bb0a06b56f6df7c77afbb4fbb65f639e00", + "1a54dbc4c6fbc4905feb7d3cdce1143f0e5bb1836c12b6e4bbf9fbece2987f6a3fc6838fe5704fa6fe97e0be3cbf73fead915bb9a9b1fd555eb6dda4ba69082700", + "7ff1df7d20ae44dfa8d03232328d0c921dee85441065691715b6a5604c74af135ec9de99dd075360893432889b3a4cbcd65fca62bb4a4b7de9d72ac9bb90e19200", + "27bb1cf484ee097e6eb0e0d1c09611e162ffb41479d172c8fd040d89781c268732dfabfa77c1d8c21b8a2be1167c24054960273005432edfcbe82bf86c7752fa00", + "adb2af1376af5008e9e59d1d7fd09e283ff2fabb9a8e0f75fed093418576f103311064ad3228a23e34363142f5415333bf97bca296f20aa2efaf11c5696428fc01", + "37135bb0ec3ef75b4490c32cb476bf80d04a8c175480a755edf07bd87a0575dc213e25cec0cbf100114daa083875390dad119f181a4044b61c1575414d5f38cf00", + "b0af6e597e32d5a34c75d1c7bcf9dba46edf8980a0da02378a4fa80e13c5c8e6684ab741a8dcc60a4032aec17310451c21d167493e4f91157f9054142090882f00", + "df3b1d979e90dc35f5f89f98a29f041b261f1e18d9c9ab4cf323b797e7a077d45db26932095c28d3e7a2cac92ed38079c8d3f3f2bfc60173fbd2ae64d51dfc5300" + ] + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0003.golden b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0003.golden new file mode 100755 index 0000000..ff562a0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0003.golden @@ -0,0 +1,175 @@ +{ + "seed": "osqujzBPUMZxaJ3Do1Y7kNVJkcvcD0MeduHY9y0YTG0=", + "keys": [ + { + "address": "DC6BLZG8zpsiSa1gGefwdPzuxpUccKrbXe", + "secret": "325da6487b7076dcf1eec385918306aa041351226beb3781640eae8a432e1055", + "public": "020f3512b4c14d806f71faaa21dac57a07649f3b6871425f654e3fbc7f65be1497", + "signatures": [ + "809c24982147fa79488cfbd3940e73e2ecf2ee9e467f0e18e39fdbf18db776de60419e3535bff3cf67ba2791457afe74722744a872e3fe18d3bc37d3d8d397be00", + "b4296714ecc2176ec0322cb6a13f9bd75a34f09d5365ae5131468682d1f674412c61a0c67085ad839cb61b51e9c5a7eaddcec7de4743ade77825b2e746b4963500", + "508056bd0ffed1dfd2c6b0cc0c9c6ad26225db5c43f315a87bf8251355686ae212746fe8f679b7a9fa1686e6fd4e20dfa924ad9f0d186431bd0e5854ee58193c01", + "4bb6ffcbdf92372d6b34fd216197482fc25a39492641e74fadcb54f461998a4339480cc1d2a6f9d082b8603ed0bcbaa3981ca871f515e32ebb4ad6fce804556701", + "2b9d6fb8dc332b4c35961b916ca8a2ff62992fc841302ccd8dc199b3795e95d0750b6b359841fbb1f9deb5d28040d3a13e8deb759f8c3d5e95a7b51de70c1a7a00", + "6295a6d33266334ca84e5f27937ca2eb0ad7de6e28e89607a061c6be2d26714f3dffdac337c67840d78dfbdcdef5f175cdcc681d31bca40ef33c742da9cdbf2b01", + "fa2c67f056fefc0345e38cea031b98deb7b94c0e8b354e4e14aa8a28e7e2f88e717fbc72ac2c7336f000180be95bcf2f3c72704027e91fadb91a1cf3794d977401", + "4c2e02faaa872d69564c1ec25d6ff77893808cf4b025a8271f716497e16f9244079b7bd642877f8595c5cec0a009b5773b1627017c2ef31fefb558e3ca87d09900", + "116efeb0211296184f0c6b52b71f43b9dfb7dbca6a641b6a5daa4646b44655b3094dda11541899c235ead9ee5ed5ea9888ed68f9fdf51a77c973dc27243c055c00", + "91007e5048b024ba6ea799d14c5d907d7febcb896d8d6b37c528d59f43f0ff033ba752ad336bad95cdb162c6b2c991e06d4e2aa72769de959d536a15049c6af401" + ] + }, + { + "address": "2dJiYdLAPrgJtNxmYbmx6Yjf3J6o6tTQTd5", + "secret": "ca3448d20174e2bef91842c97cc89961ce108b634798e3add08349d2ebb3b7af", + "public": "0363cad05bc20e6061d1687f02cbe2c23e188f7272bd06a17f5e1035b434215d95", + "signatures": [ + "707b5c34007269e88ce9898b604a1c9c9ad31e5989f8ee6fc682a5bec4b98c3832f33d84d9efb2f3ade0b8813aa5f3305517762719278172645d842bb0a3175600", + "ccbfac78d5323f046a6585ba6b6fe674edbe1e565d33207b0f662a28176d0e1e7711309c9df63edd6e08f3a7c454d94cde4fe146cde5f4cd686a2103e788ee4700", + "60b58eb3b8020113be1ae1025f5a5d57ddb4cb27adf0471f653fc4bf5a937a805d523921ce98c3f2f3f39811ca47601b4c1a5bef7ef3ae47c87877dfe49a04bd00", + "1cdc3524c0e0a18011f5e8a627979309606c826272e1339444349c356cdbc2c05728c3aa674446b38f076641ea3c032a007a030e4069a570874545c4663667ee00", + "786aee30a6087a5687781b3ed888907d1c067148339552b90c022b21728472613aa715b75cb141839c02b3a3e7d72b58e6cf1a66733be1bdc7d9f209a0cbcf2b01", + "44e13e6d249dc2120e5920a93ff9d14b6d8b9f4f76bf3b160111e7247d816a0d673da37fed5407fb4adaf4974751d17212a88d646889f3c21d18dfcb8236847101", + "d0665523c04db55188b1285f0f6fc79693f9468446b0e2209f1573bf2f1781b16d06368f0f1d7483ec3038e64af75569cb474eff030838397e1bfa331394f26f01", + "d73c18368eaa83cc36ed1ba70424ed51b6889a1bd184e8e63b05b320f0231c876d70bfbd5e287e81ee947b1961c88790285c70b3167197f04a3cbd026b4a9af800", + "d99efa290ad64474bc2c650af2e4623d491aab54317d73a4cbadbf10f706d49447b508e2874fe41fb5d62d8676df9775d3fe533e26c3b59e8290d02473b29b5901", + "e4708608839de5df88e9d8091816566060ce16715e6488c0b376a31dd977777279a6f88316f3d2c0716d92048b8d10689b273d83dadf5d4b167799abac89b59e01" + ] + }, + { + "address": "tNP6Z6m64tN66qv8MNbpgs3hXphXY84rLm", + "secret": "52296f8c8b894ddf388ae2b000a023b6bd48817b9139e2495997a74775f5205c", + "public": "0229a7d3b520548fc3ce2d2008368d9b00ad9ff5ef045ac9ac7f3f8f3036434917", + "signatures": [ + "4bbfb348b79a401708a6a2a420e14fd003fb4a1a705b375ab679fc22a0a41f4272459c5d5f85282fc28566934d4577ae9b1a7089869331185a5f582dfd0e94b001", + "1c5c40dfd36fe3787fb6dd38be1dae85f6a6fd4b871916cd1b95c1034429472e4934998b8bc82bf166e14aa9367dfc18331db53224a1194ec97e506005cff1cc01", + "d90f16cea7f7098d6ff350a99a75747ae4d09052434c11d60d1f3bf44366d4fc310e19b33618ec4f3be097cf01c24fbc3cb5bc9289659e5b1cea5229490979a400", + "3ea89cb88d288bfe01f48409a9de0f869ab9de596ec9d01df313f5362d33b44845e96e60146b218a085a0d55526a6418eb02c37355167b0b632268becc33731c01", + "9e497a538a113c0872cd2427795e37dc0c6062065917cce07a6f406f2bcb1d203fd2fd6b2a411287cb253a6595da66c2c253e3d9035448bf1a867fc54afa719000", + "c19122058a54edb872e7c010a2fd7fd4f2c0612f5fe9dfdb69a23c257817643f4ff5774d3714b6efa9b5a585f5b89f1bd3febc43031d10526b78ba1c65a753f400", + "d2d796df07fa14f76b3ea84efef72d4412aaa67be7ced6b4c0ab2768968878614820fd94dab1b679a64548a4854f0beb7d6ce495d59b32e7226c4aa55b04be7800", + "7f9fa76140303717d61f6fa1beb1cb1d492599e8a4e9758a76c36f9bdb0f2e165a86cd84066d094b7b5a5b1f7e6669fed39ae381f03b54862662fdfae9317ba300", + "351feefd233570aa5390987f9dad774999ba97b2c1f39affa31a80b68030a4ea2afcbc0443ad0e90d6198fb22bc99a42afd1a264cd4866e2d7ac93a9bf03a79201", + "12683e4bd838a9ccbbea355a374eeed3eaa0339055cb90040c79570736175deb5568ea3b22bb642067a2db8245e83fa3e9ff14cfa17bfdcd7538d91784a8e75200" + ] + }, + { + "address": "28Jw9pmX3U7cckrah9kEkp72nPQ1rsRVEmN", + "secret": "324ea8f53efd2dbd840d97b8eb1a81f4446a33ca0694c9e91fe87e82f0930d43", + "public": "03dfd1e1219d411414b1dd12efca1a54e96ead409cb810020af7c92c8bc6a03d62", + "signatures": [ + "095e9e13403b7b398249ba6b07121adea43086c9dae49259955c77bd0c42c84a66f58bc0cb6fe7e471d6dfb085f3fa936a730725ba551874b90c12d1f09e463d00", + "1872730df7a78b2400ce26692298c979460552a7e1bda64c702fd10d8df1956131fdcb3c53621ccb2032585ac0e11a5d685e12e658c7f3f0d105ff9b4176c30e01", + "c048a79e93c15a2820821d0a9f5d64ed5c1560c4a791baa79320b865a636d48932ac1db2fa43a58fb9e422da818bb971aa9a25be0e13646251d28ae94c5e2ba600", + "c7e67e2222a5243970e88be22d5cb13620635e2e2e93e1d81f441a4c7298c14f29a897b38b59bad93aaaec08c5e408a374804b2418cb6044ebb3cc3029afb7e401", + "cfe3f39d79f18c868bc9cd227f8cb32ccaab48b4e6481b72f9f3e74f17b87b5e5af1033b0ee04f410ccc20fc96242a5e5292ef40f91e3caddc3ddf6e83d1912401", + "a06f1eae2fb6125574ddd35a586b2034630d672a38691b459206b8ff1ec0a6e8681ea699daf0af611faf1e17fbad60436fcd5ba7022a0401c1936b77ac6e081e01", + "9ca4ab63017ea7639c8c17195e090c7d1006289da7ea61adb27cb3d647a9f44e756791099fbd7a380b780f6818eef289e7576140620a418a0fce013de7240a2701", + "08d70e714be4493282719e96c6ff7ca063b003e595e3c1fb7925c8494b17d2aa6d17eba028e8419fc2fd76e7b1352074d711964e9b2c3818eeaa6b611f4895b301", + "af0477044a15ecc71fcbf118695030d582930842eb49c1675a969cf2575dc2eb0d14d742ee694fd6dae8ca424143a5f22e53e01cf077ca8cd95434f0ff926d7701", + "f0f6f7da0e96362162e433b3b3c445ea90f1d18b32d9cc1413248f0dc27e68c6703af07525f4dfab6e09ca83bb360d9962f8b67e271fa1bbb485b884aca6bef801" + ] + }, + { + "address": "NBhY9RijacMUvN18h11DmPVSQTfiqwVd2a", + "secret": "b07bcb05916fa130aad994a1d7de445acc2c28b2acfe97c1e6fbee7c95baaf5d", + "public": "029d8e3cce3767b3ecf6f615dfe46d8ef93538f2748d4f0a116eb4f55d6812d4cc", + "signatures": [ + "96d040001d138f7e8e8facf6add8ada3f2b3cbd73a9a7ce4184de7c6c8da694964df193acceb01fd53007f5947fbc035d8e85e84fb59d352ea746a068229326001", + "67bd4e12abb98df97009a415984c1c494f00946f0fe58ec8b93fb40a05bbbd571fe50029c7de9142a2466b60e835d78c33e0185aeca77af671be437a8abeef7b00", + "f4053547b9dedb47b479966fc4f31162f7d63c749beeebed4f9d0de0e59aef85145fe85cc249a776f35f0798d4c140f75babe24db0898e8e5aa0ad094a087d5900", + "91f63bb31c6ebc767194b073b81374d6748cebf10f46d8aacad986c450641939490f6a3380186f98540c5252882ab19d8093c25275d656577a67f2b4a51b573201", + "5fa1ac1fe4fc4e07923241de99b7a3d7471ae5d601277bbe3c21cda7c5ec9db44c89674432eb551580175e8001586203f4163b9686d82378c5b027f844c0da5601", + "c4fd4007a107d2b58389eb9bef87eec5e8e6721eab888a13a19b5059aba4a329162c64e9e7bcaefb043fb1fe677b2d6434fc99a9cfb1f60067c00d98b3cc5f2c00", + "4b2c0f225d0a94279ba2f99859a730aff20ee09eb161c9f74650f4061c8919ba364504dd91ba52e0339acedad7d65a5ef9734d5aada7aff1c3b707e28431772b01", + "f28b175b0ad668f075c998e6cd1325515dd6795e506b4e7f3b1b41167f8f7fc84ddf8eb85bbe32241347fb81c22a7ba46e052817b168102f43d630ed909231df01", + "ed07e4b55f64713de65af6e2d65fe9c88c782bd9f54b0cd30fc0c95f2b4d8e48244398e72b4aeb7bbe698f3032a5cdb39329e06952683dab69802861cf3f325200", + "c042e9d6c8a0919a297843013b0da4f16f62b0fb98ce047694f50f433ae9ae9a4dbce35a715a374d54034386efed191de09cbd4d1e180c5b292f06506298a74801" + ] + }, + { + "address": "2FyNgfqHoLncq9y2Ruz29KwueL7oK9aKryi", + "secret": "f46a54411adb3a34ed4a11e4bf01d3d87ffefcc2a2ce158f415078c20e5b01f1", + "public": "029db862d6ecaa866217c85468d7b0164208dd37087a90c5c8428524959e982d79", + "signatures": [ + "192f8833f7172283c5c9c0294baca36002429782595fdc924c987099bddc7c6065683b14dd858eaa55ef7f87441e6848130ddba06b9cda2a41e635ab072f378601", + "93e6c81c91dd59aabd9247892a73f3939f1bb0b8ad6229c08e1f308f72275a066910573dbf60ef1f3a72f31bb0848e66e14c55771f5862d9d90b230c6fc8d02d00", + "1ce3643c9c018800ff12ba0a121b98a0f858ec40c2e6a9b5fd37abe0fd6d9e7d54612e64474ed28831fc0175bc989aa9f1aaa436a635207cdfa085d6e18906b001", + "429bc18483a652f86ae32e20c917de9ef043abe922c6bdc95d76724d95aae40c7c9e273784f58255e5ea873de4826b81686789470895984c7d8aac2a13365d3500", + "f4dd8039559a894885d1cf76043a4c4bc69be4e439050d965c4e2889818f582021d0850d7e2691b941d63b79819d9d11ee443f953395a1b76a54c794125a95e901", + "6f5b2ad4c639745a02a5633dc6f336ad1f8d4e035573abb8b9d91960b2ebea7601f62bacc3eb8c89b1707dc0ca3da4d0f8faf5b34f18ff8c0c86578d5340674c00", + "e9e052fec6c7086b57d7dc12ceec2f637eba01863336e6bc5a6d6405c8721ddc13f41a526937e82725037feef805603ce6a4c97421a28e5804c74ca66434404001", + "10c5f518ffd52e5b0759565706b618401d958e994a8cc48773b4081abe5f1c693c3d33378c08e29703018226148079fcb929c47389cca503155ffb7663c3fbfc00", + "3d943c9d9290f0c01410175ebfe7d33926c309b5a6724742632e962e2492181809596d7f5b712f64e82dcfef0e5f2dfe76d85911146e9920e5ac5392da1589de01", + "67bf7d8eaf1636985fb661774a0c4b5377184b5a5ac1f6f8c6ee4edda83ddbd22f161d315e924331ff5ae0919f83b1ce1b49cff295defe5617264e21aa75f18801" + ] + }, + { + "address": "24sXyRBQRq1kYZhwhfHhLU98DZGcTeHwQNz", + "secret": "af178cc4704bdd222cc94016d529c5420710de96ec8926bb0a395855875163b2", + "public": "0306b389235982bd983d081f6584bb45123bb45e8055a844562b37ce7971c539f9", + "signatures": [ + "a6d3d5d20fdd1620c4a60e665272657e24fbaee36f61121cf9807f2207823bc51900b811ffb4ab32a2a03081ff4faeaa2d16d73fa82dd1814c683d53add34d8101", + "a176b6bd3ca6d38d8b38492178d78950575ae7ba22a6e4c43c30010d0b88e37f7a59d1da6430c92ce9f45276ba75cf48a4ff25f4dc73be8428ceae7943c7a79101", + "ad4287bb732b1d2dd038d3a3efff7c14a617d1fcd14d5431a5dc3264f082ed0a4aceb53231c0025fff20ace3215755d83a4380e61d1762f5b2a7139678830be500", + "394c94399fea17bdc9d5ba2ce5895c671ab755d10a7b10cf9e414b779762b5a309960d0a5c6a63490959ac2aea2b78e3a46ff404d001bfb89217daaf6aac135801", + "2656802a9978b3ebf7bce6153e7ac3ceb227121a2a030d0a18c7555c30d332e80f75e0b528ba372f44e457989a5879016b84c06b2d9ba305adad899817ef2cf201", + "e9a7e15fc35ed1b76dd33a5bd54893e8655acea9313cc3c2c4e5561b07d97d9e67e953ebfa256470c8c680bb80ba373ac03d3cec9c8a11a036665df7db9001ef01", + "0fe18385d5e354c2d53398351d94f0c4716a27e8b2ed564643939a2ffe8f0bae79a0b60e15ed1d26a57277f25440aa1ffe87da1311e735f22c76bfe183f777c001", + "96ef9eb7cb0d210642b35dc139d86ec9bb1244045faed3b3e81fe03874aabdd316fe4c261d075373282a678c57b996f9c38f9aea0fafc7f95202fd057325492101", + "7b9fa00ed2687eece3dc9ebfd517c76e49cc435048320699b7983aab895c196a25eaa9c3b423aa5a56ebd27bc197ee40ca0705ed0bc082b5bf826d9f1faacd4f01", + "163d0482069bcec72d0cd9aacb4601902e41ff7c5268f8a80e3f3f1bea5390d2592d8c24c2784b645f5c1776835614a85679da210b9e2d67fcd72462acf73d9101" + ] + }, + { + "address": "2eEijADfBZAFk5WpNhQg24DnqPPWaUwd8G7", + "secret": "a3d764738e2dc9eff6c1d423362b537d2e2d8346483d6a5a034293fd9d057aea", + "public": "02e7f5c694d4f4b4ecb146a634fbd3fe450b017a0b8306f4f351dce5773e81ba8b", + "signatures": [ + "4611b93df2c55426447f5bc13cb2dc60d738bc62b90e823e25cd0607154fe0b6194df3869d33c25db8c9ad94b89443440e01d617b26d628fe090a70db05588eb00", + "a7102de3b33131aaf1462c9b37c31da6c5e8fd8bf8f6ea5821eb3aec8672a93b42bc359635a36bddd0a0fff3ab605776cf63544adfe5044dfc302d6665f7d98c01", + "2a78f73c5fe82809661e4ab087fcff0275aeb6dbb6e5200359352d708705f6855828916a6442ee15e3689113ff3a00b0cd9617fdffb429d96885a5b881b1f6d700", + "b0d5621cd30790b21e32d079eaf465bb13356aa1972d91017ce5e53aa8d1acaa06bfb3850f59edcd71b5b7a5df72d87af038f1ae4a5bf19b6628a8fb046c360a01", + "ed1fc78e0f115aa052a9d3146b057516c140365176da613af737d1641d7c70f71324a533c06189f3bbfdb1420febb09917dec38ba2bbbe5cc4bccb89eb8f82fc00", + "db6cf55a88608ae3d438cb994c490c0c99a036c4254414f0c04be67475c179c95f5d6be14f009dbe391dc6c5c078c673e2b627b9018f425490d07e87352159f401", + "b43fc4b582eb91acc18cb03caa1b8460e85364115268cb4d70236b87fa58140b0644123f8df014d3c7195b3ce081294a9a7bb2946050ae24cbb98dd643e7e30100", + "5a14a381c75753e4f1403fecbdcff1ce0a0207ceceac88a6264b68eaa164a4263e419903c61b455b5894a3e83fdabf4137fe27ef57501b252a5a40b1733c2d8e00", + "1bc9144b3cc9c33032864d23c42d58da1cda12e782fcc20ff66487b6b4eac7655f4ba61d26aa2632c9033e9b5231da547d3737ebebe86c36d7219562e04792a901", + "44fa785abbbfd89a8dcf6bca7785e1fcd52188baf3368da756b7a8fba7d6360f54a974a54db38877cf84ff45ed136c0cb36573c3a26f952eba03a77de1a49b8700" + ] + }, + { + "address": "1CRfbjpqCGsrFuU1iRWQcCEfiS9vSDGDnb", + "secret": "7c4fd501bb1a2f4dbf7dbf0bb9d0134fd90935d7ae5689d2005a030ee64ff0a6", + "public": "033f24693c5e97edcab4c2fa1a3cba46354af26865b055c6b7f699cd61b0731d69", + "signatures": [ + "9f01d4332f3e069d930d98ca5f7c8f23374924c317503b2859537fe014ab351c07c36c8a6ecf6a4c8bfc571558399cf3c31b4dbaff4b1d5ab37dfb0c0b0e384601", + "7e18b44021d19c3d4d36a2fccd3139c6bcf8f7e3bf2ecd0270d3e01eff0b94ca6366ba2e8fa086a6f2ee3d5d9197a47114333942b754ea9cef3e210e528af0c500", + "8912e1fa6852554783c4d77be8e45e7a14c0a4c8b0473201813430b1ea832a700031ca373e48ae06a78cb3d95f2cc24b93c0a2eb4c02db2511e3c2db7fffe4f401", + "1591e3f7dd9b74483bd6c65846b9e59f94aa2f6dd02213c715f720e098e19f517aecaed7eba340374cd69bd39c7c9d0accd78bb9c3b6caed9704e7751a27710e00", + "9ab1221cdb071b3baa1943e1e2065f581d2a81c1d33d42f00b106c0e52c03ba5326e99bad3e1a4fe76a5fec41a29a82a366d2df1ed7b5688e1c9c591a8c937af00", + "699e98e30bd3e769bac617bb874a84137e279a420e09acb1bdc85f69d1d8132509f958813b914327aefbde00232d2fd860bf37f0aa085c2c672a3b47cabe0d9a01", + "e731c954198de65dbb56cc586274804ca0148a1a9f0ab562be25c7ca5ccb5556101dcd76b3137da7a8847bf63465fe174e537a80e7f507dcbcbe29e8f99fd61401", + "2d8790ab17a76d20e1b6d213505d08fb95b0e949eae75c4aacf7e575680179620be72cb7781037aa4e5e9656eb8b6f86eb81644dd102bd4b8259668e7eed38b401", + "ddf5b3672691bb851ada7425a749bc95fda1fc6f5cd2a14e11881cb06033543619ae8665086e22c308040b5488a2c7885e4f73e506b69c7138ff7a67f474c11300", + "a835ca7b0a5b355dd58983932cf1d4d15035a86e49df81128ecaf9fb783317115f69aa5d6d75302a0c128e3c531577f77ad0d5b6d215d25b890e941938d3bab200" + ] + }, + { + "address": "2bDMZ8tKNd9jjpaxor2mNN7eyD3tvGQvGrh", + "secret": "5b5ca59c4abe3a782c370365bb9b85cb64ef66ed194fa2a0fb6b66616735d9e1", + "public": "0372ffabf5e1fe4289af91fdcded36bd3841e20926f9ea1e1048c1125c2aefb7bd", + "signatures": [ + "9760ad87d8566f068df40cb8b7510cc58fd5d8417c3c24e4a640f29e4af047c13fbfa476656295689a0a4543c0235af56a2b73cc310f9433f8392e8ecd36645301", + "5136f29e66edd0961f8a21511d04230ab71639aede10447cd21783ca79af10514420c3571d364112b3236e8e2c4613a1b35d365d522d7e57578d06bad5d6dd5701", + "206af9e7a04b8ff4f34fd353ff67c74723abcf6947c897901ada314ae14d5be60939fbcdfb0a19abd7dee745d4ef41d536dba5af63ff4ed51a9527f75d7653a000", + "39a21464e465370c3303fe9615535efd132b2a9625a5b687bd48dee0529cbd7926e45514566d8800bb0d730adca3a81a70d6092be7e0cce3c990585a37954a5701", + "177e0155ab098387673b2b95627f10437aa81aca8dae9d485f0a81d3a1954bee644ee54b2fbacb76ea2e3990d5ccbad69b6048adaad9f365627c3d4d62ff44a600", + "0e1e137d69c9b30ca391eeaafcc3e6c43b4d8261fa591ef9710e666797c214b54cedbfc2057a5c4c7f30ae3328b8286ee33bc38e301003b7d96a696628948f0401", + "0f6350ba71a39d629a37b79e4deeaa785dd634d833667379b5f56425632be10a7be104ebdfcc3304e6d2e7b672066305ee894187a86b1d04be617cea14d3b86b00", + "89d2aeccb2685af100c6df043f2ac618abffc9c25aac53e459231a9f86452a89005a26d25559688e543c24c23871e2c374a62237bf2d3c308c4b4e334970038200", + "e22ff4a474f973a28d084a842a3aabac7eea8c6d7f098b8dce13a327f9b4957b625ee95f947c86c072490a2606908dd6068df998106ea2a1bfefbdae1ee59f4c00", + "98902bc39b4e4d58dbb9906384dad91b0b2ba15f9b59f47b6d1985e1e48da08f213a4e785d5a1c18da576f5d9d2a37b4a6b21c330a26d4cad23bd75f1419e2cf01" + ] + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0004.golden b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0004.golden new file mode 100755 index 0000000..646b5b5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0004.golden @@ -0,0 +1,175 @@ +{ + "seed": "Y292ZXIgZmF0YWwgd2F2ZSBjb21pYyBzd2VhciBldmlsIHJlZ3JldCB2aWNpb3VzIGJyaXNrIHNjcmVlbiBjbGF5IGJlZm9yZQ==", + "keys": [ + { + "address": "2gSg5K2Aq7V52tPkQFMCfgHNhkae2KsTE7x", + "secret": "6f1d4cae19bb875ef2588591612a73972d824ff40bbc8ed709831e71764e7897", + "public": "02e28e6d645e070e698c35fbceb8a81ab5e5d4912c8957d3e065e8966d19ad8960", + "signatures": [ + "ad1d4a3a61606df19d2d56083c4754f158a3cd76e60fbf6f12ec5293fe45fd0f7053bbc931322c3b6c289ed8b69eddc4517afcc9574eb6abf85dda7aca90eb0401", + "ca7cea4a7b3b705aec86d1cd5730ccbbc3521c9b4e5916db5df089307c14d89b655ee0d17da0729f7220b6ba79f39fad2fcf4370b1c1ebb1ab8d787868090ef301", + "f485b3a381b0f88629afddaaf895ca7dbe0f173db225c5f1bfd05b80bef18e5e330b2dfa46b460eaa11a0434010a76c8c710e44e489fa879091112f9f7ce51e501", + "c3f369e6685732b3f07deb7a271f786f90b3fa8cd69f217443c9e5d05aa2e9286225f6435ae60a3b7a5206bf35166a7960bbb640a5becad2d881f3a953b6887901", + "800b70203dea088ac2fd6e6e5c8a26b831a245998d540292cb2a69bec83f15ad172b805b8670a485ada4069816efea4c50fb1603913e00331562894c7df87ad001", + "bd558108807f9fdebe5cd192230d0acb651b992fdeb54f4e9b2e5fa0a13e069f366b8442478a62032847a832cc5462aff4b7458f18eb104ed8aba8501e4470a801", + "a5604f914b5169099a990f95dcd38d9f78d145b99f5c4160118c0b6f8f8948d47f0cf1a41887efcc6f821cb72eff0b66f5b7befd824ef9ed8f3a07ca671a1b6501", + "31455eed1035e50088ec9ab7097ee54a8e9f6dd5f233f1b95f2c6cdaced59dac23118ee87da70ec88056e48ad033ba81fa8c14ea891a6bc4b65ea2e08182f2ac01", + "5cbcbdfbc91b05bba7cf8a24ab13d5872dd0b148ec6141a4eae664b03b08e6795d89bf71203a6cc2021fb3a16429992c3de07d3a8d3f4504a0c2ff48e8dac5c901", + "0a42a468246b2807cb1b1a83edb251e1a81838fefb0c2414d569b593eae8d3932bedc14a5daebe0edd1910cf64e18d0ce70dffb536eefe8b7b9c27f2a630cad101" + ] + }, + { + "address": "DwLc3z1ff7uKUgcyAR3gQhfzJUHGMXktyj", + "secret": "8592f9f419cb7b0fd4216e314b17cb3b58ec944979f8f6a34e21fda09e01fb2c", + "public": "02c0b5b53873ec9cba0790588c64244579b0b23eda646d6ddea6153cb97538b3bf", + "signatures": [ + "f174e61cabae3b37f1cfe3d1abbd606621765d02ed6bfa7124dae185aef762a51f6af575745d33d4b2d1664a0d95dfc82e9010bec8830e13aec03cacd6ab158801", + "28cc5c115b8bc99e6bc9d6281877417a2d5b45806205f4c430210157794920490d11d4d0de202357df8e8603dc3c74426b98d3c30fd7963198a0ac15a6e6954e00", + "c28d5d073b95ace0e2e0fef8c34bf5288633f5d60c33d2fc5fcf427c1d70a8a9045ba9db1510b68de5cd9ba2c8709a6cbd0e8c5b57cde5a601d1737f854a4e3f00", + "2c67e279048522919862955b1afe7c32f432deda62d90219505cbfe7473a976e1968d180f7d43b2b018e7f4f265d489358afc66ce0efc1836348f065fb03197c01", + "f8ede7998f1110729adce0af5f3926a3bd8927c178e98c45ba1529943913ea337d4b6661c54914d323be43a9d7596fe7ecba2a8717981ad2d9db835b898e08f701", + "8b8b94e9962b5332f1289a299b3b99529edfd4fe17ded5c0b38d6a23364cd41759f40ee4454dc9889d207a920fd09bedeaad78885a0af853cce2d1c15472412e00", + "697b517897a92769b59d9cfc86e2ce8650a51a318bee6808a10ae9e752e8fc6a587073b92da7431ac39fb8d7e77c98de1b19ae90451df69a03dcda911587c06100", + "e79c81ec05b0bde926a1ad3310ffc62423016213895bfcbac1e120cad6db1ba872dce323156b76bfe316467c26475a3ff1468e2e285cbf0c23e2ea542c3447e901", + "4f90c8736b8081e2d354c22f5e2f7e15f5fbd230305257a3f63fa89276c21c9206716122be313ca3c8560fe86c26c09b9d6e9ecaf8c7d4bffaebe20edef7444600", + "0c3e651b2b03dcbb6cdddce3612f4d0f414e11f949d046d9befb8b34b0baafb57fd3d8968f27c994a08be0fdd6be016bd55c73b4a9fea07ed44801e3dab6086e01" + ] + }, + { + "address": "25F9ZVk6tvues2LcxpRUCCjh7yubBBUXf1o", + "secret": "618adb045d65f9c1f99bd8e8ff6098aa1c2abea4c8424a9ba50d2a46c7a4340b", + "public": "03eca0e99aec7896b84c683db6eb93fff2df7cf03389720ffd214eddf15f901390", + "signatures": [ + "c19580a393f382b914baae4fb0861c4bd667914729dfc2a2ba04359c247669e55da6940023902e17d1006bfb14b71e2cd6abf4388ba0f18964f51d8b4ac272ed01", + "97920bcbb32e3b0e853a2a7369d0c777826fca18037ec9711e74fc04e31de4af309a5cc22311e13d68197ec991abb351f3cdf8e0d8c112d0774d1ed0585f93ee01", + "febf199c3d88e46fd9aad05f1c612d95dc2b14a0e81113b844fca9152964fd8407866c9348572f70f8b1a8f6d313ced36314f04a616383cc3cff9f6faabffbb401", + "e5da5885db7f22a5aecc0bb7b8573703b450ad8fd454e65f658ce3e99280495a6201bcbc756ae9f7bcaaa387819f6e7bb921ba33d142077344bac8bca489cded00", + "52086e02e21e9ca4349ef74aadba227f30062a46b150fa6ba478a238084617dd48bf5cae7823683b1dd7ed0c1190ef301a5a9235fe0636fdc32cfd4a4effe0df01", + "3ff9158189c485c5dac9ca9b588291e8c7e02e148be3ac5dc15c8d1e744483b315c6c6d078d025e9537ef2a03ec813cfaded0de7afa37f329e94b6688f566c1a01", + "369c2bf1bce93ff4324683029bc35655f45c2214f7137a2ca67da406b982a9bd53f5e3a728abe88decc966ea4d7516523986b504ddc9f6e4038a80848a81ef9301", + "e673fc1269619a2bb56d3a5ab9d5d25412e8015074585abc94ec66bd5179d8c0272b48914b95f37e8ae92a25fabe6714e79ee90ef32d0d6a02fb55b72191ae5000", + "1defb8dc62e55cf8666b6f02ba3814095c686211a5194b214ef01a655f3ad03f71fcabac8760e2be64448207dd7a94e3c6502d272aabdb1bb2fece29ec4e82da01", + "96b40f52ac8edb532955af2b023078bb10a8583e06f50cb769aa79f27b6b1d6c487c1abfa02cade78f960698439569fc8fd75f88933c745ada0bc2c6efd7611201" + ] + }, + { + "address": "DJGUeQoBFUFmCeVSGkVY6DTcDzwAn3f6KX", + "secret": "4fe0e662f034a0b4937c6d8ab1c9f49e6f612e8fcfd57d332705d69b05a2bee4", + "public": "0340c46145683e5aeb80354625ac586fa8142eea1894cb2b858a162673914701e1", + "signatures": [ + "d7a1198628f61f4925a314cd3468093d3231c99defa06f40bffe364693b5a06905d47a8a380666279e7a701d952ac3d148d99cfef84b60c39239cd2669ee641401", + "cb68e677160ff64bb60f5ebaf34317dfa0a88977819f807e5fca01320a493b192841804684874177c82a269eb867d118ad9e7e785d577b217b86a694a322c94e01", + "d901fe90a9b825ccdc5a0c7f154d839961658e6b0277310ebce6e27ff94ff05459b3356686cdd942060efe49413445e86ed1be410f5bbf88f0b4e5df35f9098e00", + "2c9d4bfc9ef82226b0b71cc4d725bc0b35ae15a8635e4c5900230b942ca0303e3a4ab3d5d57a02af7acd4bea6eb9d25fb52c3d0d43da43a854a309231ea9040f00", + "d01f41a7555d7d232e34dfcbfa6dffb0e0df120aecd9f6cace922c87ccc08063437073c07000b8b799ee52bb0cc438750502455141b5033a974eb3c4c7ead62000", + "908c2b370bd5a5bf23ee6e45211dd823bbc381e3d5b67b1a0844c7148b556c6e077ff844f4a17253993992be91ef1bd2f546f2847b9a5490fac0898e7536673b00", + "3fb2652982f07cb81c9b4df36b5719f29f42b2cd63f37227727a66652a757181620b676fe314394a9161e6a9193f6fea9244107d160bc02850484ebc0a2b1bc600", + "f1c38343dbcf9f4da4860554eeefa267cb18a35aeae5c0be0d6f4e81630b507860098120ce12924e7e237f4b72d0a3eb3669e687aea9b162db21417945ee679700", + "39332bf80f31e75d34ef1300cee7dbd87b5605d0714907e08d0cc552f86baf6e6346b68501bca34feb81f776af53053eaf36c91343d15e6e76d25f79c47fd6e801", + "c183c3f38336efe21ce302b914dcb06ef151f70bac7220c318b1cd68cc5d90f90a171263f5f67ca870fcb680e0307f1d872948d7d3458010864f0a3f284136b901" + ] + }, + { + "address": "Vh9Zt9oPMjsJxNVphCjiGUxHSixS48J3dF", + "secret": "c2fde07e45562dc50c18c1e7552e03ef28639c44b2bf3a4d363314203e3d5f4f", + "public": "02d40df519e11c34b78b2124820d5dc04c6f59f465d6263b68347a9f74a98048e7", + "signatures": [ + "a2d420be32276ba19ada464ae8b29eab9b07b20be80ed9a2998d7ed9cb872b767d4ddbaa6babeebac811a6dce35915d9279cc6d3c0a813fbc82a54dada6dfed401", + "4459aa264b6e3d724abc8043de82bb8eb3f2dbbca1367d4b36327738a37c2f842d92698747c24602274588a91c8b191d17f0b82fe10b48ef01a9defb14fb07bf01", + "7c890ef0145c41edbb3d56f37919efdc817b3d5e82976fe2ca0f98460315253325c47f553e91ab6a6c0531fefe7061d9c79f1f3983e46c7cc5d21fe7d4068b7701", + "20ed571ec5dbf4a322c3b447cc8d2b454150ddedf84ba086e5735451698f99101f86f82802643c9e49673f83a988d7b8193a011ce0a3c52e84c6fccb1172f8c700", + "64325c6f0ab86cadcb791a37de986659a83df1faeacd4112216b8ef2f7f0c1337c12e6af249244ed03a460c3b12636593cba964cce2beb052308d20777343b0501", + "1ed1e4d8ea4b5d925b7bc270d5013d11c5b99992c6f22fba3699c1b7fb08b79835f7ca88c52416b191cbba7cc275d7f5d9d6d693990d85c41e4a305469d0aa1400", + "02b1d63de47256007c751b9b7854ec997bf7c543af9f3536d831f2758643885b3e22d15755247365b21a5200aaada52e603b53187ad8ee5c73306ea8cd0a7cca00", + "3b7680d15858017a6795d2c3a3e292fbacf2604c5f7db30ef2270d9b6093648411dd4f1c1868a9cf2cbd51cba1a8c68f35f3492abfa9af493db4260e04438bf201", + "c1b24bcc8d83c07ab3bee8fd90cab612421c1e2eff21f03a26f49c933d94e4734b79ae74268d591b6b58d68b214b3458412f0585e9d2f9a7ae1b17ed36b0102d00", + "c0ba9d290f95ed0068e90cf68c4b98ee935d463820fa35cd152ca085b548dc6b08035498a6f23cc28da907ff320260b9aee8bc589c481629070673d4cb1cbb0501" + ] + }, + { + "address": "Z8JM2GA3ABPuKYwufFGkhvQrD2y52NFT2s", + "secret": "bdccd360c259b643e5f48a52043602ae46cf5f71a4604142794b687d21d1b8eb", + "public": "03fc611f00d187b85fb2d056a6a7e03a078939b1e9ff472c3f7b9575f5b459145d", + "signatures": [ + "7f023a6462b1eac2ad7226dbe884ffcb79cc640247f720a653cf62e4bca47d8519b98c45a7f5bb348f15f75cd33f5bdad5041dae85e9ba3ff073432a77f36bab00", + "1f9b6736fdaf0bc3934c687a0915acb1488f1ba30fee969c73f7f2dd16d011f65bb030cfb3738ac7dbed8b36585151f5adf2138075fcbe61ec7c3a2e0e5a6f2101", + "7fc3dab6e22ad333206069656f10ecc9600916f1cd0b49c5cc874c42102907f33bd20b18d4bf5bfdad1456eb7c8c7cfca1a676d525314f37f92977156af808fd00", + "a7697698ee9ab3368b5c6e75dca0fddf3f2ecf0378bd73481fd49e1d4f73a8b73988ea189cd301cf35b2bf4c9c8445f0a88bc2ed1d17f2e79f46336d6172442e00", + "0f6e0373d049e5cef26325258bdbc6d052826e18e26d8a7d4e7231d4c2f7f8af7f783fc5994c609e4acee8bc6777fcc62d40ee4595a2962b061475130b1e584f01", + "5727d799b297cf70b70c7267424f842cc78ff7853c7b56f0e47af60fe73a305f7713d11b418a1c4f214cfc2d87aeb5f90654e957a1752358a8bf160de86893af01", + "6abb7a9d88d099d1160ebb9f0f76e54874447214bea3d8bbcedae00c4eee34df5da3e84fb6cb35faa42688e7075351ef22b9b8543664dec354725de47c1f83b300", + "ee5966c6140b76fd30c4241c55ebb4e6e59be0546b41a7a2618a845b56edde5d63a0644551cca495bc6d1b4c8f8ba7067c3849391bba13a4a38a1c040f5ba44500", + "0692808145227bab7af3087c5e45f0fd2a468db2970c5fe37f0dfd2eab8dfc5752f18a2475a008f439c94d178a4b335304d4369096dc7e33735f73dcfa46e0a101", + "d6aabbf59d8b2ba240e9c415f95955892c7ea91e78e5c097ae126934a3ba6d592575f48b9ad58a1e65ebdd9d0464d5bfcbd4af4b849dca17d1dc2b17013623bc01" + ] + }, + { + "address": "22GWk6z8PQVKDoRNR9Mt3YusZBqf18RBdb2", + "secret": "02a29f33493d777d410677a8ffb9049ebd37c08e994e48ab7664b66f02fa034d", + "public": "03c2d659597aa5b59c6f64f7b75321d824432b5a41724a74a91a667d3a183e9d2c", + "signatures": [ + "94ba8c0c74b89e5bf2ea16b610de49b6cb82dab492228f7e2a08317fd32ffc994c0c440715c24bfa144d5e8f73d6bba3f66dedddd6524946eabad7733df86f0a00", + "ac497705c165952cedb8d8060cabc5753fa0de358af047a9569c0b989931ad25357887605eac25ecfd15fbd0c64eac6ddd65af25de11dd16ef24863f20886fa801", + "7a3c728bc7aeaf467d9285eb8b5200f9a9fdf97e9cc7c5fbf4fccc8a12c2d76b7a652321bba91e9f8a30569b56b5357a7b19a6b1870399dd9ac24ba5a199986d00", + "68bdd162a269d6536d8f03cfc395f5c3fbef268a18d6d85c535af73aac08d87d77c913500ef9fb9b5d6222d084111953b8f04f14ea7a73e1aabe36ef884ce32100", + "dfa9cb7e3a83c637e8759701edab94800808e4ae0611c6dd1a753b01431a84081ec0fe95dd4b0ad18884fc307d81292806ffcf837ccfec38ecc99f32659564b501", + "2ce3a840fa0cc355e9f0ba33571580c177753bffad543ceb20785319832eb6c71414d06f9c15e06311b201f8cb595f5abe5deb471a9efc8472ec1ffbd6765b3200", + "5b87c2450e587f2ba62fedb4fe46dd8b487ff19b24632c3dedc1999035457a37088c380db077ab84fd31cb414f80c99b05444dec8e0295f337a13f079747e8c300", + "712c0e4c8b261bb86d46b458c51fa33de865414dc008229d9fe523bc97a6eaba22b0b5e70be850b833a78db5e2cd4a3c64ec8380a7566d72bcb9a986234c84e001", + "e4671df444064977c74fccc8692f11eda6a7460765e437edda902d3c5aae2dd1353c88d783dc0200d769bd420d989155cbafffda4762795343055cd3d21ac7ec00", + "8c4077f1f6e7fdf022e0ab07b55b3f6c876e73879d1af32ce281f77cc936d4ad5a86667cb593d0c142efc707eb4f8e6c6770c8c72c2d89aa1fce466875afb7dd01" + ] + }, + { + "address": "Gy7bWVonUXNhGeuba6vuf9VCMxSDopVwXC", + "secret": "127e2ae002a0089db7c77259210be6b39559f2de9e0dbf1a16e362c73e8e539e", + "public": "02b2bd36f4f2cec30c5679311a2a918b61593c46b6cf522908daafdc337bf6c73f", + "signatures": [ + "3c7e5cd75e42e58d4ffa2ca1a6f7d27df4c29454162329ee4395137fd911f90e2b3c855f37b20fdb915057be390de611ab7b9f8a306585a98bf37c9e9f9c74d601", + "5924e1c81b54945b3f1654ee12010984c18f39cdfe438339e672bb24b3ea245f55d46a79bf6359b41f08bd5317e7f52029ebf6a11001c184a2719f6e6312f94600", + "2dea341a911245608f6b92037f2ff9389ea009dca319db7ced270d766631d30043b8a627b5237d89c12c75085c84e0ea96e1a1cbb7ec44eb9b45646763cbba2b01", + "6270ba0e3dbd54f697f440cb4ec22c6551332ec07bd8040f6367df6717470fdc3957791332a244d270046d164124c80472ebaa7978d339df19dfbdab5c109d1f01", + "25ccbc38150545974f3b9cc52ef96130246fa9a3f64e6069a762989f5f8e9d8f015bad4faf0100a6eb0078770cf32c2bd997dea56facb314c47b3cdd37cc3d4501", + "6cdb3de2d53293aca9bfd74c6621c82af5f6e7102ecc4d658189d28021371791728c859162fa51f8b1823ceb19aa3037090bf18ce50fa5cbc56e5abd728eed4500", + "8253acc32c056cc0f10941e21ff25b17b4e2ff4ada8716315852e6ce459ee3b82f45747d867ccf0188a6b3799990e72298c31670f8bde9fd788c986e1779899500", + "7ea062c2bba7b93d31073f90df27a26543b67f357992fdcfa8e3a7db368cb0f141629c1498f010f2af86f1805556ccd4758fb8fbcc28a043e8b2025066d6f8b101", + "2e1270c4031965205ba2b8a4b85bc1945c0eed13b758e02fd627f96d89758b9f2f9819f90dc9f19fbb7f27c8b91adebba02055f72cd7ee3a07481587481c975001", + "8806abc33816a9fc503bc6f560f399b4073e8c27a42ad3e78ccaa643943164f41f8f0d016f9f32b25fcd98259b8e6d9244cdace4e0a813ec78d7ca6d9a89de9401" + ] + }, + { + "address": "C8jt5AnTY8rbxTpbY8JwWkPXYfoAQ4fikt", + "secret": "6612959069c41c6ed02d7e1a2a868a241fabb65bf8361c0082c797a87eafe119", + "public": "03e0f8e7fb3d410563352dbc65fdc0a42dd4f6c3702440c63f249d76b96585bafb", + "signatures": [ + "03fbaf561b2dc8eb519fdf55b887286d29ec6685ab043adcaefd84a5525a4e406d62f5209001e0dd07a5865603d36f29575322b21575d26e5644bf19bdaf46bb00", + "a5af3b7b26b4a0ef7099775a9ab9155b9619595146e584e794f08ccef4f870ac74b1cca792622fc0932025cc88f44a2b436e1035a377aa2fe31c51ee76fdcc4901", + "28bd55dc280a0d32cfc09325ba0c10cf83b45148d3b8e5b6e71f518c731426ee670a71850ce30bffd3faff287a75f338000b5faf4d3ce8e3625dbce87b09774d00", + "61b4dfe751c918060ea390cfe695b5284fddb0e260ed4a8fbd3bd50d2de7dc49260094650012c89f5f0a93fd5a29a0aa0a23a34dbdc46b0837801e6a2b8f744600", + "6ff07926f05fb316a1eed1bc6157681063c8545aab1b05b37f6d328564659cf0621bdb4935fc4d5dacd751132a1513b2ee23acc7eb7cc395e8a27a83b26f7eaa01", + "45ba72c2a125e68610f5f453709f4cd08e3be050f053bdc9d1788e65b2da7b085d36fee291feff41430a429a87a4b9cd8d43ea005e3b9f4b099a0c2c997983e401", + "4ab3341c870bc25dc9441a6e920b11ebb47cfda4f4645e51cdcea6fa99aeb68c06b5a0e4b3b41da3ecdcc5fb162609cf1f71d49c0461cbce484fd11c0a8557b700", + "aa253e2de851ccf7d3a41096ce5c0029cb4ac90f4ebee3eeb4395a54ac50361d3d16cfa3e8b764dcd8756f8d890bd5adfc72a43347c9ca81b072dec40b75ea3901", + "ecc90584883a76a56b914f73fd1367329db16d547e692a64fc59ba4ea86e5bf93598d53f0236834c98c3751795030578ba249fcbc69da087dd632886611ab96b01", + "0b9462cbe619e461b8a72a52194d0599cd63d130f10e905a1ffe8af03aa1584311953db3006f00e7d7273036b0d9c5347c3c586a8b8eeae315dafe6f8bb2340901" + ] + }, + { + "address": "baYpCovQfbz8Q2A9q5zp2AR4Q6hhCBL5pM", + "secret": "1ec466e5d354246ba0b60dd2de440908d7909fa5c2443b67ee2d5d151b94bc3c", + "public": "02edc9f522f60e60763359f6fa8d55760ba814552961fba4e3035c2b722a89c2fa", + "signatures": [ + "7de1174714dd3ae5dbe8e6799cacdcbd03ae68b0440b04adeb46bb1136f333e55bd410dccc8489b3d01c5e4073a956caf4388bb803cc8d0105f22a585237a0ae01", + "2864b63a0ea3bec590a1cd4be61a31e086cae999fb7c78955fa86696fb3ace04753e70d4f14c83cb20b05bb9a30528aaba1f6f5a952995343495a4fb6c05079300", + "703edaf07205c2cc3bcfd26cf1608d679458bf92861880d7856489c42c50d712460335658b68625f9083430f5338d6bf42d3ba0f144f5ab533679556df92000a01", + "d4be1600c0cb92e0b07ca0263cd57d6c909849fdbbe5178fa97d983a406839a94c8b964b06066c27d13613d6addf21e151c630bff8c38092ed00de017d1562de00", + "c842070d8c933f4fd86667ed96cae99037195a88d5033dc76b95969766ccd9ac41432953188335399e7b2224958aaf08c5262bdff78a65f9191b5fa13547915d00", + "0dffc1ef0f4b1d62b997965a884728c25702d6fce447df95a0549e4cedfafcfd056ab44346bde268b8cd848b4e61d3c0ab8939cc251a935336ebe599886bde9800", + "d59b89ada61d412d26eb7a1451ff13c1872d93250243b359a368a1dac24566b0617172f14b76091b80f49bf8b02a8beaf85a461a521f1a977bbcfca1ad81225801", + "af4db82905ab7d4038d17c6c511cff360af7140ac3a99e5f9c4165d197f45185443fd0090e7be38f3be83cb3bb6fd2ab7b5f913fbfbfa0fb8c676936e995499701", + "005009764d6b272d9049808915172c3e8e38060c6227ea8fae538bbd273cd815393c215b0c04dce8400084dc3d83de618f7bb3f2f98f30a3a930b1e3286ac50100", + "85281a5f09289a2625bd5f23012e98c16ab43596c0bec18b64f47e0c67265b8020132a12b3c9e32c95c7155122ef88da0143d629f4256beb6c77db4077c562ad01" + ] + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0005.golden b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0005.golden new file mode 100755 index 0000000..f5f9a0a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0005.golden @@ -0,0 +1,175 @@ +{ + "seed": "rg==", + "keys": [ + { + "address": "E1YWJLum4Zo67o4HvSHcGwgTRRS5jsbM1S", + "secret": "28cc037e29023331566461ef67695ec84cfe2e3963b3284cd39ee3be4340cb3f", + "public": "039f1cade86afd2d1c2aab43bb91f346dce39aade4f1c4539b68b220b2deafd2db", + "signatures": [ + "582ed859fd7ac1047451c96dece2fce048a7a2769dbf7d6e26fd6d8665ca77d74de3e4fff87cc8eae6d2be699110bdd461ad3d2cd26a5f3b0a1ee57eadb8926e00", + "65147b6a8bf3b95a29d3717c77c0673e03abfb2e1a1d087686272130b3120d5425970e25ef2f2fee5c094c41d3a6a61314b73c1d505b53bce259904854da270f00", + "be54697842c0ddc05fbc4456ed2d25c52c8cb6a421d63b69c8a74717a70245a9574314b50a9da78ee7ae1456693887b662699ec495e0192d6df6acc1fad1c28701", + "93bd2264ae0770bc43304dbf03d841044b92a9a0e1bcaf02616c9fc27981efea59bc48fdecde42419d8504889f2142d1912f68c2526ea6bac7bde4cc6899818900", + "279c3f244cd708c0382585497edbb979542362842f431bbb2fb79c1e32c349b95c53b90d170f18aac97fd8cf5f7a44d3e3d4ce80d44bfdcc28fdf96404c04f2200", + "790bd0d363885beb9ff0fbc40c2731a09efe3239a5c1bef3770f20845e15456967dae17ebf7672c3520b3f2056f1c041723d8adf6035a79bfadfa3538952368900", + "f7bd0099fd178cb133e8d756dc78b4ba9f35f0eee557d5a6cae15adfd3b5274c7b41077a8b1d938d7864cef8654ec0154f6698735fbfdddabdc11baed63b180f00", + "29e7751f0cee32a72664925334dfe384347524b950776f19bb8f1f65a6e709a23f9f8970f3e3bf47536a99ed2926aa5a9275b75f3383b3d34baf662c03bfbc5f00", + "a4db1d71434b9eb07c3f75e9b6f4116a0ce972420c1873e588410fbb89dc31ac3d812e71cf4909386dd46824f6baa9c5c3b6b27a5bc7f9e5988c60fdd5ec506f01", + "fcd688f407736fcf408a7aaf27f1b2cedb72f4f9f6de248c1b1be600d1a79d8200aadeb8d330062861b4a93c948d1be588d062d02c36bae498d3d969c4194c9a01" + ] + }, + { + "address": "2TXZrhjdPPVWX3mropZdAJ7C9tfKA1H5btJ", + "secret": "3a6ac4318cb089dee2fe368495932155be25dc2cfb1994986cdd5a4eeb97951d", + "public": "025a9903b928ef2f66596d3fec381bd8ab02be4dd419d6147a2839f4883720c424", + "signatures": [ + "0d1ce484bdef0becc50ccd02245871e1bd28338313ce57f754c931edab9a822638f9dcc028b722e0738d5beda6ff9ebe71db9a1c432bc144608a58da7b5a73a700", + "d1c15c29c7d9cfa1312ce992120ea80ad20b79d46edd91815c4bed09f414d4244882d6fdc99d7416a35f2af2a148ebf2adcf66d35e6f2acf9fb61d23ed31714201", + "8b746e791bdb92becec684471b0463aa4191ea1735599b5c48850693f79a1b4e195d559735e0db727ba02ed790cf17d724f2c8085bbc755b3e165eb7afe52aee00", + "4b8fe3f64d924f290d451cb3b34ad3433cf0f5a1e63e2ebaeadd8c19507a8f5d558d012dd1a348a7143a995f1d6fc87d476379843271c1a3b217eb835d6c1a5401", + "06548a750b3a35ebc8408d251aeec0e2deed67e37f297120acf78391ba611ef625bd64a40e2521acc1110b9fe4fbb47b8130a70d10e7f16f8d15ebdcae50cb4501", + "75d7cfcaaa4e9f483d11087f4e1460991b96a47e3c13be1c7711dab7f9fa9cf577085bdcd8be8f852efae4cdb5ff32acbb7c62f944565e5fa2773760279efa6401", + "2ab8f885369a6671cd27ff2990a8c363a7c4a06b7f83db97421443241204a410170c37e10c8912aba3475ed773b80853dfe6d17ed7d3918191ccbaf84640a62c00", + "8590c0d45abb75fa18976c9e5c9f28aaf157a5d00611321d7ae86d1adc4ef87a560dd28f3dec5db3ab0156c19431a19d900267a36d88bee206e42c17e0586d0f00", + "c4dfa4c79fa9ebdd739a89fac870cb8d38aa52480e63c59f42aa0046dcbbea5c2fca4e64421852c8dd62ff7870ca24fe44b5513374560d4aa49f60921ac712fc01", + "8a3d9436b8230a13ad2c00173e819deb4117fc106064b044ab560c89d7f01a065d6533d1d2aad1565b22f1b69d005ece97de62c6e8c45da8f853f532ecefa24f01" + ] + }, + { + "address": "PTu4VmJMkpSZNPyReRoH8n5MG1o3gaicPs", + "secret": "a9e8dce4a111f6e752bdf29a5879c2c5f77ecd1c5f612df3e9edb8b251df803c", + "public": "026c915201c05aac2a8893115fe41615a49ed8d601bbee9867c53c7e3813f95088", + "signatures": [ + "c723e8e7ac59644eb1a9a59e6b8dc261104e7f89cad7e7e508be71a93a9ecea70c63a10f0d93eb5edfb23b0183e0a654dd042cf2420c6228818e819f8a63a4c000", + "50bf3cd499902e7350d89531941af889a0dd9bb0e0bdea2282313c99b291a6884080095a1eeb55f5a65ebbd209d889dc264bb7da5ddb7e13706a88dc532e3c5401", + "f4a9c141f072faf21151839182d55e841e48ce3d793e14ffc36088ffd76b1d650760bb36721ae64b2792cf2eed0afb0fe1d862d42ba9673348382ff3f1ca245f01", + "37a7ff5a750b8b77fe93cc01f71f4d4a324ac70fd5d1527d5ab41c1775f09087321f3da3198c38bbef0cbb886596804a22006c704f6592652aae8366a1784e9201", + "95fa2b244623e26c29ee4cf050c73cac85f1b49246790f34838d2922e4b3c90d28377d332cd9f9bf122afccc889a84930b5ec196b399c9550b1b83372ad7486e01", + "b391dc7753846b34c00091914219addb98d2c8f843d21c72c8f0b57c9292ee4642599181c94129464cbdd8704b93babe7cc0b76d281555536a93b6a17ccf042001", + "54325c4d401df59c618bc76f16c1684f3cc25aad328f5944d232a9f0a3170d8a393ec2c78c7389be320044f0770bb6c2f9b97a0c8df111425f7683753c783e7600", + "9479da56bd083cd4e8f53e492e651105659ac18682488ccf9019084d14c8fa9560873c07e85f5fc002e573ff7c5465b8167382652d088082ec8584f93db0d5d301", + "a4c4429e46ab80549c155fbf05fd7ff5d1adc497024cff628f751522ce429a825856c0c7f62a1dc92fd95d62bacecc002a6800d41ef6db5d8737dacb9d60e08601", + "fc82184adaf042736fd92e36fc42dc7e0b63125b6014916065bd3858402a4d891c8c206bc05f3a60ed6623b107ee34ea8bfb5182e5d75c33b8b5672ec5c536c100" + ] + }, + { + "address": "mkx9CqV8vnX8m6wgMiQbW8gLLnHh6vGz4N", + "secret": "ec677f802da9627a8c4a90d385ae68399bfbb69c15dea4cba08573cd81ac5a9a", + "public": "038797d2c1174dbb2e128e165c9d3814cbbebcce024c6fd459043f0dc661c7db24", + "signatures": [ + "273a38e3d7ba7ac27064fb70420911526994f497976c809803cbf933b95651f570c82ed60b0d5eee3e434754f525716ba85d1fb4f4b6ccd85680f12c178af1fe00", + "e4efd05ec215a0bccf810283ce8397f023cb79cf549e9b84cc9a879da14a1def127b603baf0756698db559d4ce57f12c84a90233eb952857e3864236bfe413f900", + "cd7bdb06aa7c5fe19a365ed29c120edc4936443b074437e048a174525fc8a49678e6e5d34355d771835c176f281341eb621d1c9912db8d04d51ef9e8289b3c6301", + "186363b97aa04417a725771ab2f53219f75bbedcca84a7720c542bcf1b7a7bac1d195cad9b52b23efc8278e0035856d1c405220164b29189ed094dec7618656600", + "c6eec9029162fad395aca44947e6cda7517f10835e5ca801462fe7a868086eef3cf8d712bdda3f4aae38b288c09a3851cf6d8f418721886a0a8e87e9fab6bf2200", + "aefb39fc91f106de7f7349b53ce3e8efa97986ce3503e8ab527af820aaae04a053cf336698cebec7d306cf5c52618ff77aca763ae5393ce8d5f45a580ef9ad8a00", + "7f2ace494c7b7ddc380da34d60ef4152f1cdf8bdfe082603d86a9d52a543e66253635ec64531f6b09d5a546549300d0df2ded35ec25e84f7b0a961f8b392423500", + "1fc025543feb8990d415283e946d3d42593e3f4259ad36de79d3211640b61c2607da58688dc13734c15beb10018238aa22cea4460deb1c0a95626699c0b58f8201", + "a08ecaa36a67fffac7189c82a72ef65a419f8ac513cf87e7d1e2780c25da17e72d21e72755f88d6fad7f5c9b21fcb5d9ff3e1cc0796d46b978e0023663fed85d00", + "58733846895c696b0dc113a50751747fdb0dcf32b43171acc591013c2c6fbd7239f707a1c5820a8b922544d2cbd3f49bdcbba5e7bf28db69035bf30b202da4b601" + ] + }, + { + "address": "ufRofY1rDAa2QQojenfxsM4X6ibkqCeEb6", + "secret": "661e38c38e3a9a5463be99e2e57d9dd6efd5569545cc0d4eda18be36911408e4", + "public": "025b6f563fdaf60aef899c7ea420397602b1b3ff23ff7a36230cfe55fd88368b8b", + "signatures": [ + "fc478aaf82572939f34775beba8665c9fe1366969dbe69dffc17824447f45192506556092180d7f76d3a317902e33a9706fce4d9dd41cfbc29794e31d00d123501", + "53bf45832787f16e51cb6bb8468a790cd494a3719b4430b84d1d4050a487d7ce347fc6e1cc810583b681447bbbbe0c9b2a98b12552417a4c687ce4de59de5e8400", + "fce73f2e0970d1d02338d808609010351a2c3cfa41f63e7e632b32741978f598158096d5dcc54584b05e288b3522db48d01e6295a1a64750d8c971e734d0597200", + "c44114e4381adc869165fc09554859f1f920e8cb25abbd10bda4f20c34fce4665b4403b43ab653f14354ca43e1cdc78e669b5448e4b9db5424704253141b62c500", + "80f551c54136d983cccb8e656eeba08874318b0fbb1239d2d0306d49a262591e7c44cfba78775ea5153b2bea5e6c108398b17c20fd8e401929c5e36aaa3b692801", + "4c978f3ffb2986d0251e54672cc393e1bbfed047083fd3ada43544bb2beb3f9b14f79550b5251431a4993ade176063589dc0df26ff16355b65b5ad6e06d9892100", + "460dc20c24368bc2793c15df634b3da1ecf55ce3d86507514a03d9b945663cf00887da944dc845fb1ef423e7ab51fe556b7391d697e6a69400e1e676f1ac24fe00", + "c90f01c37871140f69d90b2c5338ee058b0baacf05277bd5d1945fe465cbe0670133edf40c746ac174a5926b102dea63cde0e283e7d7d6b7cbb1faed0f5ffbe101", + "1ead603fecd7f7860eaed98169f33f479e45ca8ee2aa8bd220e9e602123435c84581a5f8603b2a9d16fd5811a3e6ade670fdc5114d7300bb1e12990c5c9eef4000", + "6731612a2c6b5ec693f8c710c9633840f321e572ae0a2a0e641193bd1fa543f55acf916bc16438ab756b365cefa68d749569fc49bd75a993cf193ab3036ea9b900" + ] + }, + { + "address": "jhRanaAD1Ta8fVFa6jR7u8sMtnABK8i6Fa", + "secret": "1d3da4928ba90d5bf443fd7fb56a6ebfc2a01fcc30ee33eaf8465d82b683850b", + "public": "03f3cfdd8ef2bf64c313f2feb8e9a0124bcd5d633134fd8eed177f46e957a77e96", + "signatures": [ + "813cc034cb0a590d2b264178509c874a27978e1590b39536319fba150cf16727759965f1c02ec72d01d2c76b403753460cb569739a2b4193f94184508c5733ad01", + "eb31c1e18718ea401dd5b1bbeda01886a4c40272c8f6d0d56a5ecde09df3085d513be8293fb7e47d37de19849a756ee6fc7ac73f3a8a215b2096c5f7662cf2ba01", + "a8850cdf7936d3f8339029efa5bea9c9422719c52fd31386044c0f7ab8a628622b118d80df8a5972a5e0736de5a2ddb9684fdb8d620f7a68dd72e4a09c10bc7601", + "9d6c8ca1145714afed5a3b6e2ee995375ab6262cccf0d24f22cd7067a4350ed0751dd15bbe7ebac345a4d56d75a3c850f229d3aae44dfb7916c39e07f252d37900", + "84eb2b5c4d183334cfe54dc7601217f81672985a6f2504440ea867cea0eb8446193a6f82d38a1bf7a32c3d8f2bbd3afb57767837986537a1d9b7dfd05e4552e601", + "afb88d11917ae3cc498bf982efa0e5afb1c2d23eccd20dd5494766e763673dfb664aff38e6f6482deb6cb05f38439355ca3ffa395af381cafb8353a105cd321500", + "a4f772b50f0e7ad5bfac148f58bad6bf83a98954d04d51608a9a218b9adc1e5417fb5ca3210a3f04d0dfa2ab09e44f6b667a51f6f005e8366d83032e219706bb01", + "21bcb3564cafda1143937042447b79a89bf128d881a88099654a12c5ebc05f4b6b477da247639e2080f1e0a0c0c5cd5180f902735e634026235c2f3e1a9407db01", + "18259cab8828b0a8b4fdf6b116ea053a82e1ddb71ac3b8868d8f14b4ed3b8d290dbad8a67f9ebe626ecc213db20e3fd90ebda5edb995682be0afa8f35690bebd00", + "41d91535c7fd4a9d7835149d3eec0c72b90a6d1b73a92dc91c35af16f2d35c107bf9e4c2123e09921439e161891becc5a2be9c5ddbc8b1795cc6804ed3eab34901" + ] + }, + { + "address": "77W85kDVi2ygMY6EjQffPtZQ2A5K1kJeTp", + "secret": "450e7d29bdee2f8a2e15ae2730152483498dd0b31dfc693ec7e4fbc6eac502fc", + "public": "024e94e6e275c8a3c6e409c91b071b70c0c1ca2ddfbfd3d08cc76c1a98ea719eec", + "signatures": [ + "647bbd3dd48454ed1ca0075cc15a39a2be0c91842dfaa57907eabaf9ca6d561219e69cdd04804ac2b83508b779a2acb71cd3bae1f6e9e8352a8b1d9240fe9dc700", + "04e7cf21fbddb4b196ddda4b75bbc92e82f7ec92fae5c824da045e352845b4a127f84d07069132fc1530b425fc64791d556733422ecf6a571425f622b58cdd1f00", + "90545da6f9a0e89c703bea93df3ce2ca7c8cb05d137659a2a3407707164913f928712322ee2067b26ebff4cf052f811e630936f0ce21affcdc7d99f21e25fbe800", + "21ed7cee0e1df586105273b54228c54a21e7621fd97592d6ba5501e2a277ef7b03282b2109dc87c2770d28c3c9b381ad82c7c79b619322a1f797b5c95d95a9ea00", + "0f4fcd6374b0b9aa05a3a702e41afea1173bac9077f8b5d037395097ac5482931775f134d59c55f546ff33211bb1ca83911c1901f2e4aa44358d3e2df97a558000", + "4b3f21d76694fe2f03012f2f4cb506e128f610ea3e8738ac94f22523bf5e1f4830e712d3902342ae2779c49cb8ab05de744540443f69900f1904f5b2e5a767b901", + "e1a91763cc1105ea763e67b9cd1c25f74d41b39f400df22003d779f2c91e4ee20ef444a3c454f8eedfc6b127c8961be3e6b25a75db3ad49451774606d35bfb2c00", + "395b880f1c233c3c12c0a7d9ce08c5e95e35873e7b5659f8a1472f9a197f59d8345bf678724bdc2f83138cff4c3ccc5de81bb074efeeb2105a4aa28e66825e6e00", + "0ea0f9b45f425ea224675d88e24c092e369a2d2a969ac0bc959d4d7b1418c10223aab768d397b7a71967e27e3eef91494260b43a9da4460ed5f973220221c6cd01", + "4142a63fc2be7e70c9da1501360b84662bd02eda9dc2d7d5e6c6217d075d1d683faa45cea9069cc8fff98348c7f2f31ea30ef5da710f27a9203d13a41b89c00601" + ] + }, + { + "address": "2fDFwpM7P6tK3krFcrhaYY2x93B7D86dCnq", + "secret": "189bd3947f4682e4bbdff3195eb88cc75c023248242fc1a2d3e37d707551e593", + "public": "02ba296ae39678461dc7a1963624b71f8038d6f74785f01d8e884c72f228cf7e88", + "signatures": [ + "89fe07b2f3da7f6e1c5de1dc60111033b8976a7e79e7fcf062c0c8ab3d7e9ea0206e68b8b01170fb5d7f491142725573625b3a006df68af15836496f00013b1900", + "62923dcc288cf2e7a118e44a4e087d13c86cc63f1f5157f0199ae98a900eb81d20702990fb9804c7d3ee668ddb80ed1cb36855ce479b54f0971ef7300373e72d01", + "59479f47a39299809c24b8e206f129d204597f2bfb416bbfbd4b8608a1d89fe33d3c1ccc4ac469393b12ef514f5c82d2e2ca780187ba1ab1e376f164649cf62501", + "d3fd138264c4b63d19341ba742456ff50b63bfb62bd7b2d70f18901a1d1478b73f03e45328e587d0f11c16c3dbd43c1ddab6c4ad989975e47093a4362287313200", + "397e578ba4e262ac884394d924650ea6b5065c72ea0ad1e917ba256875afca776055d0cfb36f4720d76f7b276da462fcd09e2f3ff791827660cd3ac139d1deb801", + "9fa423cad02fb69b578d38a059bcbe142ff273a91a042f61da0f73b72c80f8e24ed3a7cd1c8986af7de8ca603b2fd09812d14c098556fcb3879be8fd65fde9a501", + "a35ad7955b416e9db5f0070fcfcd601084ea72d313f1f5f20fe7ddda8f4e8cb0608d0a524ec33c0c7c7b9e22942cc26c13f1b5d986695ad9611aa38490dcd2d900", + "ea661e1459ead9509b69621676e1bc53ab2844c189df802caba4894d22daf93b1711c6ed4095ecf989794c5ff7f6af97f2cdb200fc4185b657a986b75910c90500", + "16064c60d7077e55795adc7c0f34ab0fdaffdedb7a128e99c0af9f1365463ffe62c8e537e4f591b0dcd3a26393f04eaa0651a9fd4f3d9152da2cc96e3b0590af01", + "98ecc21e4cc24e917150352ff2cd1df43a18fd7c81934ab5826763d300848962261ba895d13a8b5d102c1b4897cefcc5ae3bb777dfd882dbcc3a0437b1a7d9d301" + ] + }, + { + "address": "Ly5LPYccXjDtx3EA1Amb6kwZe4xL2HTCJT", + "secret": "2a00b256c613cf7de4acb7b47efb7b5be2cc328012717f3d585e6eea02df6f53", + "public": "03713f5421167dd1b76aeccb351d4bcf4086edc9c9be95d4f9efc4b27bb41c93b9", + "signatures": [ + "e8b8246e1dd328a7fd59d5e5023ae736d14f03f55c71a1e164642f0abd2d46975c27ae7b4ba1cd0acb39cf55fb24e7c6146011e3bb4fa7d425693b0ee8a3fd2901", + "c92fff56058c70c86863c7b703cf245a73ef615f4985c9951b2647be5c4b543f0c840ef819c7bf0583a11627785ab310a21338597fbc8900aa2f0b21fe81f90701", + "4f319b9e8697570ca0acae7423498da1aae0b53497f5feb3752279c7416498eb4b8a0b61f9be697dbe59bf9071c4c507fc0d6f59cfa29003aba8789a2caf5cde01", + "6ca0e05d533fffd7a3514c8d0cf7be303cb901dd19171a07b9dedccdcee28c830231e465c24d2f728dc88e9d9a742923b237f69132fdd45d282bad446e60750501", + "e8a4f6ce818a4a66e9fec715a01d4412d6bc8ec64199764f6864cd1004a6a54919897cc7403ef9106a5dfc76c16d56fbfcfe6f72f762726715148a09322bd5eb01", + "f236ab0ccb778d2cb2f3b1c94ed6e2aca5c2dee17a0fbb5bd560cc463e4fc8602e60c1dba5efab13f452a6b205cc231cf65bd015183855ea00d457a5fa0bd34201", + "d0114bad79c8173035bbbb330ce157fc1c1cee17de0801ac594d2b86931f42c54cb01efe70cc49bbcbffd85f363821efda30357e819d9a71e64f092b53f18cf500", + "6830f56c0c6db89cebe1672b1ad58ab4691e72c8e7ab44430cea79f1df58924504154d1f6109526f57d53f89186c4c631755123274d53365de0fc8c74ea2ff1e00", + "c580993fc7bf98f4d75d64119ae5e3472d2108add0a3ac427470b253433d9f8d36ab1e2e2e60cda7b7701ba0a78387df04ee3679a5fe0011306d8ee29ebd102100", + "a90ad4f18a5292bbf30e6b6a9e8143573524823d3e6b0a066ed78b3e9f30be6c0285e6554e6e9a1c24a01809dc7e0d439fdb57ac054259ec10895a52a5c2873400" + ] + }, + { + "address": "fVskJWYkJekapAcR3QQvBsegn63BkRCsE", + "secret": "115c197195ed609ebb91e4d81a5fa57f0819ce9e08774a330db4fa52d97417da", + "public": "024a4807e5f3c20b777705cee1a58905355232210e84b72c74e25cffd9fcb110ed", + "signatures": [ + "f210a289f3cf7dea3476400432a8a64e7b2c62a3b12e8f3fd9c8c22d4928e5c607894263fcbd23e0538dae2deb979b555d11539034b8ff31f99fc7f51d69a30100", + "f463eb2677fa97af9666a103e110010484197271ef4e710dd792b8fe0964c9b8307c9c40fdf5633d278f3ad3fc1f00b10c42310d11135158851b6b19edbccab901", + "14e222fff75aa114b3145022a34eadc6abb64e69e7f1b905430c38b7e4e4af294c720a884a9c16f44c8386cb91cd53b2af334da27177fb4f1d282ebfeeb80aa401", + "9df1ad76f388829b069d4474c4ecf0d8bf7de01a31e287b10fcc883c4fa714441490fb088d0586402cfdda4202e4f648ef9257be506daadb9803ddb84545eed200", + "9c83abbf506869f684bdec893a5d5d1291929c6b66e9fd35ebe655e1528f2b0d63563a380785345aab85e375132b7257b6b26a066b6a20c9c8ec58adea33122001", + "80b6477e48dbb5ea75eab67eb887fce8229ba9352fdf1175f6e502301be5ff0e370504d8ccf447dc76e58ebf0a8effcd3604b5f3935fefb78e6230fb1aa3df9a00", + "2bb168b7613b165187391ea14889863d43a8d967e63edee1fae608d2cfb7a7ff4939a76a1571e67481065c4e56a72d2bdd55877c474fd62dfaffcc6926a360bb00", + "eff83a7caddce6009dd76d07a5a9a09478e3300dacb39c4aca637d653ec4cdfb380bf7e83aa27fdc632467b4a64834055012601d05306ef3aa7cecc86f50ddd000", + "6f87163870bd241190f9bca7d3df36901d8139892f21a6db2575cc5b7f1cc55a21d85e68bc73fac1e2d29fe01d51fbd55741e7a727ced4947c8d6712f64dcf5801", + "7ecaa15895a85a13a2f8faeaca642e4439187f1899fadc7f954624764b29b64e0e617808ff959e0a584284f65931807817d3ae23255ee8cce74a8b65412507bb00" + ] + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0006.golden b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0006.golden new file mode 100755 index 0000000..ead3267 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0006.golden @@ -0,0 +1,175 @@ +{ + "seed": "5MnQdu6vWeP9NddFiehxsGwspc8aff/Fuzs5W3c6L1I=", + "keys": [ + { + "address": "rLjV76Fayt9WU5rk19FnzWeZEbF8nWqGHH", + "secret": "953b69e03457e239449ef051aee7a5fd9ad4f832bc60e8915e0f07b52598206b", + "public": "0296d12f5627840862172af9aa4a22574c427e60bfccdeef22e675b137b439b92b", + "signatures": [ + "4c9836174cf0204d88ec36d6cebf72aaabd1c5085ebba250e12e5fa21e629a9e78d71b3a0faced4cfdf037110b452acca16e2efae3a16efaa84c5132951139f600", + "e27307fdd00c852a4d209fa94502e580d7aa33c64cdf811c743c394430f1b2d361a1108937a57fe35ceba04b96498421f8210fe32cfe1223601565b918e70e9c01", + "d29f5c767b865f6311218d23cccf4dbc728a4cb4a148c7863a4475e4aae268af27e38557216a8290ba01fe1047b7400c6743388f75d999af176e3bbc1957ac2000", + "30d45245cc67ae3ca1bc840d90e3535ede9ce5008796a2c90250f7de86500da86f17b19a343ef2051d3526fd33a5894927b09234b86f58f469a3f1d018094dc401", + "826d791c834ed696f9f961f0a7f971716c66efe58a6ccce16e4b3cf834fc49d95051cc8bea2cf183a1d05b04ba9ed407648329f51224781a27bc01fc1fe75d2101", + "b0fbf1f4e21d32b4f3a6398da88e8d4dec7f20eddc4938d7fc493997254245fe257ab78edf9412fe3cc1d773e3c28b41669504baed686320abdd0edf21f2259d01", + "7515f2946fc8e43199818bb95926934d6a5be0722782ad44fbc67489019564094f378b3c57d1b11bcfe14bf2c0eae08aa9b9186f7b1c072a03ecc03ba416f33801", + "870ce446e34720816170da99f49a843537ff6cf299d7562af82fd9025deafb0b315529625a47049408d081da2b3429f555c74d7657917b8f7ba8fe0fefe0cd0f01", + "94fe3ce87ddc7f386fa597df17d53d9aa33d01a8aa2ab37a18a40128541af8874e1e05cbb6429f40710d945ae493aa033387696884788dd9ef9322030f1c246300", + "1700b3a08d9733e486dbbd26f67b48add3b43d72a952930c786ab44e5f31866f14d20319a6b1a72bdbb091d89ef7bd55ce9078c8c86aa2f0bc30e75f13b8142201" + ] + }, + { + "address": "2d94nXraZtkPD2GiSCfzugewm9cRbCVDNnm", + "secret": "4f8db9121a8fb6bdbc8de701593e953b6022431d9045b914e58c0fbf109cf1cb", + "public": "029cc260c200b5893e55faa5f23baf6268e0f20e77ee1b524b37f6e1e6ca9a1814", + "signatures": [ + "96cc1e166e56335bc6f859557ef73c2b7a96e3cbca0f32d901052fa55023a88732b40ce4e45ee236ffc07e0c4d2db6c294cc7f1d3a2f39d5e6e0f11da3c2259b00", + "7478758d8006ecb8103311c394931722a03f3bcdddeada8afd37b9d93b39d67033833444097d3d979bd9913526300f6491107be0d31acad6c28591d8529e24cc01", + "db8a4f5dd1d5cd811cd08f4ac1c4effb55ee93498f7d5f4d1531c315f047ffba605861a92e5d5358a87e7763ac223c6edc2489c9a08ebdbd3d37e7728ade58f300", + "7dd0865d18a574266d0dd3b173e03c2e8cf92ae77af99a8f68b9c7db2837326c769c69968837647d5b763a13f1caa9cef07804cbd814140d66607b0d151014c900", + "7f97f9fa0d45f1eda3e985b3e64b4656ef38480644c355b644e01dd772aa7c374db2e37f819d008d2da57d564fce1c0544e17206f3200dd12161777428c383c401", + "7a1aa12c91e34842ab1b8cdfc3e4d46d2f1a8af0267ff74aeb24a942d78fcd544438341e30c91c161689491514bb1d19e6881758007b25f0e6a87be044ea8c3d00", + "b823e93c1fa6e3391910ca4e461c58e51118e76470dc88506f183f6661f8ff0f03e4e4f1c58c06ff40446dccc0b9a9bb65b7793589e8402860f0d60f368659ca00", + "36751c77d88427b43ef8b68f15a2cdb48225a98e506d40fbb09f442cd513621615fb62d138933d7b88812f054be3c21ce1a626162abcc705bd45d4299c5ed15800", + "0932a2f7eedb5f7b9fc67602c1379254682892da2af0b5b8ac06d417b5136b756b96c281c4ab3735b9e3f8195747128b4cb46a704702b42d54c99e2b79ea98db00", + "9a7b5f8c7a78eaae1fc9c6ec63372297748a3e977a3b06919ececd3859e0ff5973c2fe2effedc1b01888f87d1ebfeb7b96dfb5dd6a9c96f804dfe56e9504c0dd01" + ] + }, + { + "address": "gVpAMGVd271pzHcNZiMzU7FDNqUiP78BwT", + "secret": "1a59b0065001a05a93d72d5939fddb148c5cfb775a0e2a27a99c6d54372939ca", + "public": "036de1827a8524f166854bc7b85510d17ebe0369fe828d8f8c40e930569dce118d", + "signatures": [ + "0dd770f09abc025ea1f3bc25b8910f85ddc5bd2adbfde66d247607a069405bb10cc60ee15cf03524dd5c15365214401b0d911110ac2ec6d530850c097bd543cd00", + "69b432114a086fb15dc22d85340d605bb73e81dcc48b2d3ac776fc84686e19304850f09c69d54dae0b30704a7693a33956303c5118cde508295927599e13cc6501", + "0f43fcde4a728d8c8a354aaaf12bf7585f52cbef863d99c63c9a0308ea53a5a32af018116c1669667ac5a62acadc0ef198dbac3d72821ea300b5459de615b91e00", + "af29eb64035e6e7282927df51f1506e5b0d12db63fdd567a23bd386e086d1559770b918ae23d51a73cf6059c8475f611c786b81c6b15233a2b707cdffa71af6600", + "7ee7e341312c1c2fbc6179f325a58cb592b740353431679e178213cdfd0cc0726247a34b9379559fa091eaf45e5b4e39e7687eb83729f409c6cdba842bba197601", + "18aa13d884feab6eb0d57fc85500cc714a49b45ca1529f4cc6eb5c6521e0126c027679f19d06d629789480342209ffcec217e0620d632cfb82afdae61c53c14500", + "3256f3bae51169f46403562616cf71988324e86bfdb7e7c24f431fbd4451ed29302dd9762a2a296f9cbb58dc757c2d0757fce4601977547c6a54a30dfe56c9f000", + "3214ce760c0f3dfc8463c85b4c5bf1c81759c3d45e85d8d061af54bae927ebb3297b7e30e9a24341b1a620d81a8cdc7e5bcaca4bae94e910a8dd4111bac8956601", + "bbbac8d56a6c385825c5549fe5efd900331864550d4c56f9930c3eae8e1f34ef7d6fb9c51f731aa4d501b224f37ce6ac73141f2bbfdcb881379d4d019761c59b01", + "f3fb7ea9622f83cba22743363780060afd9c6e5a46971636edccb41c90332caf6340aaf635bea94085b8cefe0533536bcc0076ab305bf0ca30dedf9e8d9ba35e01" + ] + }, + { + "address": "2TpmTjZqMDwwnmMum5CqDZjyjekoQxctUaZ", + "secret": "df84bb1a455c464ebb1da23257ce7e2998d6a2f92e2864a9e9adddd3f017d784", + "public": "03a9aa938ee9aec021db0717c0737973e68a39b4d0a2b0c168135a98a1a7c64dbe", + "signatures": [ + "2c64c71319bb1650d862f7d7d981947866d3249dd88f18e7955cec62343e6b5d68fa07470cf84d29731989f2c7b5132de1197cc54af7c13b0ac93b09c3779f0801", + "0023899b5ec712d998eed46bdba397be815fe1d0bf17dd1fed798a7d6cebd90e15ef600c2ef755cbfaea7705cf8f9c151b59c652775dcb8a1bf193a0f157844100", + "f291b5461df348d6b63e956b8ceff056c85dc80062fb4109f8ad4b7c92e64b5a3be753846525a0929e10223e6b50d6ab3705f259d515a4e861172171ab40bc4e00", + "3338f44cfaa47203cc6b7f40608a4a7391e3116244e7e3c2926d895bbd42d6841954685b36f65007fd768dd99b54f398de79d57355e5fd1d70f88ad83e27153000", + "a6fa07fdf20f918b7e834c258c759b8c8c701d990e879cbf3031935afc21ef882ef1e5802e4a6203a4e8be329f629185031948f46362ab8b9798990f10ded16c00", + "147ad65314e28af6c3153d74e278777184d4da1daf328f90da98f1f2049254a843d780f7ff795bc5e64960555355ea600897dcc6aeff4ad9e20b98d37702386800", + "8b6a680ec0484a272a0bfe3a22e3d2e764b78e71f0f616ca678d350b46aa8ff90d8d4c1281dea8ed555f90ca721da4960268e3376d752c772c2bf1114fb9b80900", + "a978234a0f34f7acda0716902b32a13738532ffe1f80b7f2194f5f595cc5f0f4083163aa767d6d84d40a0ec8f2ba9cd7a29e7778aadc15387201b6d3418d391500", + "5e4a552f73c260759372db4b6ab76dceab031ee738aae499b0495b214e7664a50fc03a74d2fe5c04e77edba12149b37beff9d4b247d3cacefc09696f7f67e2a801", + "838b75641e209dc77a8b72e7ae3ff0cd00df644abf5889949ccbabce2bccb3e563525b3bfed5ef54785432b87206342ead57e1b404235bc96b32980a570b25e100" + ] + }, + { + "address": "2fznUrLmmNj3vrq6kqhYTPdEcxsPF3gd2Bc", + "secret": "49db3eb8a8973862917e151d92ad0d159a5a11de20ca3fe299f2fc4ec71a9161", + "public": "03b0f175d8daf4d0b353cd28a6d454a39cedfe58d4d9447b47bf19cdcdc985b2c8", + "signatures": [ + "ca098ae575f90a7cb8a33024977b5511b54be8207ee45e607d0a1b2b01df75053eb358c3d1afc7cd6a14d127f37217def7d617fae164ed865fbb6edcd519bd1d00", + "3a57e71e97f360e0760586b567d9a9cd54aa578348c5ccc5b8105aab532ba4396ff942cfee75b255b39a60bdf8dfdd86218301a233b113da1110de51502f8a1500", + "67b95edd21d74b9348e2f1a9b04459edb63a1f6025f967f3e9bf237b01bc1dff426287145206d285984881a76d353416b0a09092f020389a26dc6ed2083a479101", + "929c014bbc57f925525698c7d382d98b7997a46bd8ef5d6cb195fea87a7c45575c55a8e9d9578f0847fad452b39a32e25968d546cd90bc9ce4adb0d9f9d82fa200", + "763f05ac9198194298c92246ac056bf1b9f92c808260aca82fa976b803d11c8d1e2afaa965baa5ecf38d656e3ca3c2035ba18518765a7aac0bb6d9106fef6fbb00", + "3abe07f94713ca02e09662cc1127822cb7c8a2fd68ecfe859777dc818c67e94331366941b9e3131d3f8173a504982f043d985e00de6291bc48fd2e7a362f9ee601", + "5f2062b454a14402f952b1f82e275c9e94d5a803302b7d960aa8fe739157b7dc6ebc1f8b284e2a1f7b94b7622a1cbd6928a8596cd843f93cb829b919f9d1e50600", + "61803922611692eb0f4776862841583e6e31844c71f12af2e6eb1316350017f731a6be87b0dee2ed0e32ad98f72e1e86ad50a481a2b153226b532e3473020ec201", + "c08e615dc8e024d42e22553de77971c3eb19de95e178528be685c2c9fe3f64aa59541a40158a3ced9a4aa974b0fad13e57d9bc6fe182c78b5a3a9f37dbcace5a01", + "fdef54961fc0756322e658a993f3cc4e982b770483ee763fc40bfff7b37943c771e7a4f44b4bd48dee2c0a722f184f0c8faa22173c3b2f1da0a3d3ac2965f3f901" + ] + }, + { + "address": "2gQbpB4v3yXRyF6oorigjnUUQaNzM8KuQtD", + "secret": "60961b0cb2ff7ec60965404fed8b5dbf29edbec06bb8325b03957ea5cc191970", + "public": "02c4534d31801b121ff729abc6873ac9ce3fca7f8f87f4b4aa001a9990845bed33", + "signatures": [ + "8502a96792de276b98893482baea1d2d1b1cfd7aa6e028662400f3f59212b034270f86e8f98a38a8b3bc0452afe3c51730fe321833d97a6f2af0a75f239a565901", + "f80fbe0a4126504ea331b1eda8c0ba9c33ae9bbe43b80a109a7d4e2dc102a5be7aed8abf4ea85dfc6378f7a090317df37a2bcad54ca4982871aeb0fce5b497a001", + "e8e4ce06507f1aa72def1b965fe4a2eecbf5f3cc9533138be8db41e78768ac8445db94f136d8b373a21f5991679091914c849736fdf842d35e4ce9b66d38ce9e00", + "9d1a1454348343036699d8be3be97912e4b29428e3642344557e24f0ce7be7537e150b9895636e28947b4ee1a42ca037c392fbb9fcc419ce5f250718684d71cb01", + "60fd7de5912ab8b581be9d6c396c838ecdb497c706c38f45a6a2b730b8d1e5ac2562ece612d9debf93f453ae45136d131d08a53e6a1d393914571d1c551b1f2e01", + "ef9f454083f9a2550115585dcf1d45e3c3cafa1460b0730ceb1dae89ad07d07e67499e3ea50ab5798c16923325b7d33b70456425d124d0a7be86ed2efbd4133b00", + "6f8231bf2769af9d12d011798307d7faf9580135df840576dc57addb0d66eec33c343646d92bb2297a8d1085d953be6f96697c88e2f978f4033b7bf4ddafe73400", + "8667448f5154ef26d1e65a6d29f04c2a510fb97d7de90949b3f47a3aede8694d1fbabc3c16f64b698d1fdc2d986bd5e8df0ebe09ecab5399cfbab39a8ac80b9e01", + "4f964bb6101b0126e44e1e71abdb414e937b7668ee97074a69b628c15ac78d524fd45f39a1be141ead32df77a8ad0a62cfb6c05d5eafdf69d6c80932219c856a01", + "660763690925139272e41c09c27885b1c5d8aae87bbe2c02fd83d57f9db9c57a69aa933da8a4a37cb56dcaea20c0f742cfb00294dec4a6c66ce7dddb5669d9f101" + ] + }, + { + "address": "2FmtRamAEN3Eiw2eqroJt3nhHzgo9VxTvPK", + "secret": "5127d7f0c06d335e1584ddcbf4534c8a5be109ec2e28a2f40aa5491427b7452c", + "public": "03103745843f93a49c945f4fbc0bf4ff479101c22a3ece11220cafa109280b494f", + "signatures": [ + "6f9e4d1d02cca690bf0e2ed204e32b11357588a77f8605280bcb92f148cb4003166a5aef470d4e3170e68f6be369e4444b8b04290ed5a0d564e6e5f86cda0b8701", + "7e5649e2e83de29a9058fa138d253133c7bb8d0594c3cb546ade2a026796050013926bfd1a8a7bc7f92875e2275224037932568b60dfc7bc2ae2ebc6a1b0f82501", + "b5d0be26eff1bcc5ae0d03a115baa82d52cb33c13833351362cfa2bf4c2db3075f7035d08b3ae0f850c63b87358e1bfe557678bbcc7226097c9e45310f9a5e6b00", + "74352b57c8344b32c37420f636892e592842c5e1794d2bf0369d4f4dbb005406152b7725f68726df8274246e7923b2aac6e43314569cd54863158d0f9ffdcd2500", + "366cefeba68f76d1ef460ac310d0654ba8434ea30e79b445cd7481b1356482d107a7148c2495b0d143d800024cde9364aecea0d1457a8fed1a2c1de326c2777701", + "2d0a2fa37cc5e3cb4a882d0632fe2204cc26c4340a13376e7b0805264a77a32313ae46ced96592e9a25a7773b7cdb38ed0a6ed4db445c079b5cadee8202d29b900", + "ec35429af03b64053d09c0e7e1413331e261ec2652c9a5ab268fc48c8a7449d13b4f707aaa5edc48fd78feb5018fb000f53521ed9167841b618a9a27a153567500", + "d8f999ae5e660966147c9faa1acb503ad6750ba1f5fbc14fd1806eaf6667bc3636cb000d5e02f68963b7e6af546d21d0c0f4c97eb13411a03da3870c73a685d801", + "f49df2eb22d660fad6d4f529b0c645023d4c9b37822bc728bb80a28ce5cb2898618f080208f48643efd045c130025f9f3223c568a5a2505a8b2747880af730b201", + "17d9223864ee1764545b1bd74330f3d692052f42b73ae530712ce7b3a02e0336316736ae1e054e80da778e173f9cc6e93bd865e208b41ddd6bb7b8231d0af4e700" + ] + }, + { + "address": "k46MSCkDYk6ZaHcj2ytwZamLRr5w4QUEwe", + "secret": "2b1ba25cdecc2b0c4b7938c220615929abca0d1df1d673604f8b370f145467fe", + "public": "02771a319f31f4d999adb58b1df0042a525e539d6cb4bc3721efd7ab2cfcd0a3e2", + "signatures": [ + "59851f4aa542003febf2d39ebadbd07ddd12cd41a665a8fc052ba01b1c484a6d407bdc61b449cdbeadf73f6ba5866685651b7d0249527a82f965d5a2b314c4af00", + "40f631b61815f54e0a12eaac988684f4808462f19f7b76deed56ce3f3dd2bf2827104ee2ab71c3a96773de3bef7a41df960fb98329852a42be09227a1c9ed89b00", + "f539e928d4c68938eb6eddd169a09edb46c056771185968d548b7886f5c1eb9b7895cff1df13be0d70c51bffd0c98f8fee9dafb68d5d8d3bc1b2f6a5e700c9cf00", + "d1b9277ce64f26956d65b15bac44a3ec80bd2024e098be69bfb6ec36a4718aa75fb6e8b353008a20bd4dc994ae9e7bd928c6efacfbca7d2e07861e3fcd74f51301", + "bf919b227af4075ca7864fceca4dad5a21ca9c1f124fce3b8f66f8406322fb021c85aee03128fb1b43fe0ea91ea825932b4dbd468c15ffbc8e5d36f69906f45200", + "36a6c965fbaf282058fb5fefc466d9f4df508598be400eb1f9415533554c59ac18f04007eefce37f5c8e9ef7901e65deb2a2219e2aa7ab638e4370bee9c98d5d01", + "30ea0d7dc2735767bd60d85cbfb39c19d0b4a2d7aa81157a2d647c548c7eb9082b991300b5608d13eb2bae260c4eea723f92a0c1fa82a267fa34498fcec117d000", + "91ac4a1889132a827df3d7dbee5aa95a4c9b111283cc1209c0a7ff77dbe782cf31c8f32320bb3344e06a3c114e18fa0da245f4749b11a27ab918c521637d6c8700", + "8c59fa54d45f81390b67c23659c831786376bd7d730a9af1e936f09dfb0cf11321200469f6ce4c2ebd53f7ef09069c314d9742ac540c3ae90bd4dcd805ea6e3f01", + "1055cbb78a97a410fc3663dfad3bfe21865da1854cf196d1f532ae42d9161783284210305c1abd09f77f0c36131458506d3e84dc19e87a3255e1fe220018169c01" + ] + }, + { + "address": "2GAWkAhh6ddxLGT38b2XHCuhdbRx9Jvf4pk", + "secret": "e0c84b3bd790f03c58548657cad0a83cc302d1b75d7b6b3d8edfc21d8c2289cd", + "public": "028209201b8152ea8fd7f7711eeb82354f67cf1cf1b4082160f9f04eca421bea2e", + "signatures": [ + "2b390a37a9cb797fb637ba4ef700637108629067a6666d5e1ee23bf448fd171e0f7218eeb61ab445ebd7c14ed3998f3dcf0a3aa22b66e7d5a545a31a6829e5f501", + "871b75956dceef0b0edfe032290de7cc86347154cfdda5f589298e6aee850bbc2668a09c61d71f92ca98347c39e33d52193f61cdf125db85d463bd24b3805a4500", + "dcdc972a97aa2c3784a9d48a886d344a1db80a26e0015c54590621ac2fdc9c6e40149a4966a80b4b96a3f92cb40fb48043c359f44e58134c0addedba9257506b00", + "de090ac5cdfdb9082e682534f1486f426343c9aad870ad45291a8343524ddd67379f76bb35f75191ccd45c5286b48e4cf5049b975d07548b97fdb31d86c1fa5100", + "7bf2158c903b09045bedaceaff8f15603c762543d6854e60037529a20f401f766979df98a63a9432f6154b010deed9772ad21a15bc3a162b49bd5f11bd4d96ea01", + "ae300255bfb6443a65ede797bce0944bf7a503d38c4b161935f44ed2f7738e347040bb8309017d5d6c14161aaa0075f301d957c8a761b33284d6d535547bff9100", + "e61371336baabb089fe52ff52751e5e41f34820c4875f0a2cedb2e20cd8c1c2b638f3b0b04b199dcb2699428fbdd1e55ffcee0744d46c503ee125ea533d567d701", + "e22f88a49370f37b078fed65668cbdee44567ef3254693a9fc0aa181739acf2f3ced7c4ff5fc8204304122c3072c2e1dd8a44989cf6bd77ab4709d6fd1e3952400", + "76d6cb79f1529b03762fd3323fd381174568a05f7c799faed8be6a0080d89d9b3c607d378178b6e941e2fdbeaab235f2cdfd37fbfb9922170193d6508081148c01", + "1cc5722eb5e17c21114daba7c19ae25649ee79482ef8b681015f8d708aae2aca4b3abc6b345410f94193d4e9e8de50cda2f5a5e52befdfc9e7c81a42757eec3d01" + ] + }, + { + "address": "EzfiGbJmK9AtLocAbUUgKt5FbvkptAfLqC", + "secret": "4da01bf2216bb743f5412fcb843d79ed3bc22a03ff7ca0b314255fd622d90874", + "public": "0342b3d108f4f046af97cd92244b841b6ada34f52548d944d3e22344a952e3d173", + "signatures": [ + "d320e4335cad33aee05f4149326c9975464d2b8b0f24fb0ecd68d57c19f6df3f3dd0df782322bfab34be399762e3c43c91e8e61fb2d52d9d41b63663ced9e71c01", + "ac536af52e3f49f392a5612bb227c25c3ab58c60b6d2646ca43b465d409620230a52304d22c942f28d5a6f7d2e69093e828027dd6dd5ba4af5e91a6fa423cb1000", + "922a0df5d51a5a7f64b42a2a3491842350cb37f3d3331e14cc2458e449f384f158b9d6814017cf2b8dbba0962315808163af33dc85f73339aea0db2f1249e4c901", + "19ab17f648411a76c8011199a3f648bf4678ec8086ee97bdfd09a6abac3703190d75dd1444404a97505401e5c5465cff9c73f8281ab300ea2bb473647265cf3301", + "df43f4d301309340903b862f6002d8746b622c7f8aebbbe6a3b9fac0d17e8e933a32313dc3faec39590c414d5d9dac92705e72c45be95a1e53c9476c96b35f8400", + "91af75028b21573abc40d3b7a652850202898b2692e5fc77223ea7c8bcac75f002d42a0968e9bd12cddd0f5dfe8372f441dec2108650d8892ec133428099951601", + "4ea9d6a9cd5a4298b9649a83837a1492339c53fc2db3e120003f5e3f33e13984739b7f2fdebc10ba7b465e000c2167e8b215f250379d7c864f98d16e6d9e130901", + "61ba9794787249f40c9d49e451f7605d7e7df411db3e6833f3ec6b436139583615644f11da4e650dd170c501e6f4011691c9dd1eb8371f7e06b5de59cb4767b800", + "8e3ce6420e9e3ffb84d87f4b62738114f93afc76650c184445e5e625b7470fd01f1052b3c85f629053fad8bc8e2b356885f1cb82e647254d4e5f79d86cc94f4d01", + "2966a1e0262bb90144cbcbce45fbe477f9ff135ec4aa59f8fed4225ad88c8acb4eb639cf1dfffd7f702b7c9695b427dd91274904394597bb83209f00b7403a8900" + ] + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0007.golden b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0007.golden new file mode 100755 index 0000000..a62353f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0007.golden @@ -0,0 +1,175 @@ +{ + "seed": "cGlsbCBnZW5yZSBwYW50aGVyIGZhY3VsdHkgZ3JhY2UgZ29zcGVsIHJpYiBpY2UgcmVmbGVjdCBzbGFiIHRoZXkgamF6eg==", + "keys": [ + { + "address": "mPSsNuUTsMdvc6afNScJGAYWLTK6zjpaXr", + "secret": "b4635dce2ea621928c61bbfb2132090c674e99b9ca6017a6c7ab33dfdbefdee8", + "public": "028e6507a815ed048711b7bc74214addda37b5197d3128419fe2cf1f46aa6f4da6", + "signatures": [ + "8669aca771dc0437ff8e12b65ad4458b4e38c1bcb1b1ff29f8182780057942b82f5877933306f93753d76c5e74d0915bbc8ab62c6a641b2bd7ccea69797f5ac700", + "97ea4fdd2fec0593c93c8d37f2e938057fb570f023e73b8b441d5eeabfc2a72764a3f851f7da5c5f3af3d969d87f86fa905cc9f1bf6472e2a749f60d6891b2d901", + "4ef65b166932549734074a92f77266c70696f2ec5d64aee324f6cc68cc6dc20b0fbdfac4d871c47bfe97f11070ef74900f9da818bd5a0f44bab01b35cd47fb7501", + "da6383da7ae60f724056a120280e8fa24abcf08c0ee32024165090edc7e472b14c81d41c9d52b637efc1c7114ab65f53890251caede1dfed2ad2beda0bb57b6c00", + "ca7d081115500cb95a9b8e4990429f2d1df284ee6088503721c100d8132c54ac1298e9b79b1546a09877e658735192292283d8396734607a90905c98c7f5b1d301", + "50906532962f9b50c8db4a9836669fd0d62f7a33d3d58b33e95cdad4ddc99f207c9f75fb0fedcda2f87ced5fc9d48e2eaef274a7395d68f31749282ca96f729100", + "e316c729311f1cb873bb245e128775948f4782f9e36e9112bea1d4c1ac8644ce2b3c4c914b1ac36c102fcef8e99391ecdd5bcfae3bafcbb002c5b0f6eba25b5c01", + "af312200f509edd20bec70328b8f88ba71a57b299b46799d15d9a8afbc7ff2a173d7f67a70b7a527e7bdca3ca0d0980cf84efbee41d2eebcea8d81d79da6843c00", + "04c2cd593c4cba96a0fe54fc119b3fd00efb82bb20bd71aed1fbbaca05a588a239f4975d39351bc085a2b8c0043a08ee09351e3594554a23b357fb5223f7769801", + "792267a2445428980b35e0d59f3f656bd4c71f0e6c4b8fd1f89930060d90ad8b26dfe4e4aeae7df72b42e7d4b5a5781c402cbeed51a23302f65c321a2d847d6801" + ] + }, + { + "address": "2Necqw9k3NCEtj9FY28Kx7NV5nSCGQ1joHi", + "secret": "7655913737a47a580d2c388440d9236a0283050aadc7b167f2584e9878b066b2", + "public": "02bd478e24155889b48977d6ac97fc7bdedd146fb2c983960e28d63a20a1adb6c5", + "signatures": [ + "aee5eee74330efeb184999e59b5b26516a124f6c320d9df6167cad45ff297c4f43525905e5fdf73f07f6925cb4084fca43fbfeffaff5eee81d52f53ca08d2c3e00", + "d97bdbc541dd80006dcc5e4c6001f044e20ebfae2f6410a2af7e44acb9ff4c0f68e0debc89784258f6f8d04e0d58e4342ddf0ea52dfbfcd693dfd00b6cae60a401", + "726eb4a9402228f925da2aa936b635bf1d3b587e7566620f0d5e359a0596c35d62a786f1d604d5109420e3449232622c3ea440341715119821c8392908e0db3601", + "b591beb1c89636c14a82694323df81508bfd6f209ffa768d0f2f74b27b2572aa65719c48732ea457e628ffd68fe3125801336f147968da55f8165ec020f480bc01", + "9f5ea12b545d1ca7f4ede6515e4f88e92aeb075e470d69a4a5df5b8516eafcdf762be8995c70fc788f886a7440781c95c384f7a8a4cd5e9a7e228366374ece3b01", + "f8e7277a042429076ceddc5b896f6ed69864776dc904572cb499be4672b16d0613e046fc3626a953343046c60e86114f59a24e46ef96f5b7032b8b204d18f4ad01", + "2c4b74070467fc30c8f902cffd43cfb21e7d5dce587fd1ebb07ad4374df020e240c0191cd5e68f4913d1b99a87f9c68cb59bb877296aa6a531e6bad860c0ab5300", + "00a0d16272360c4f47de24be8962cd3f3cdc13fbc8ea64aa57f138f12b9de5082ce3ee1e50906b74552dd5f99cb10d517e4aeffd308b43f680443a223363b9cd00", + "3aa6aa35b15eda95eee58a82e8a2e54780b77248e6020149407e3981a721129401319fe05da2a9e768baf195547c5180c52bd2b862af445b5b0ad50f8557aaf900", + "863ad24a59dcfd63da8c41af9334137277cbfedaed35c0c85d1424751c3cd871191ae55d8227dafbbf9596966a759c77fea4da7a2eaabf126aa47e9608cc000400" + ] + }, + { + "address": "ajzwXmj91ZKMnHeJ8LasEEzjd43fGJo2P9", + "secret": "b1410fe8b4705b209bdbce08b800017e52d34ebb5cbf62f84bfba61c146312c6", + "public": "033c8dcfced958c25c2e522a854c102da4901ab2985474183e3563b5540b4c7b00", + "signatures": [ + "24643acd511ef7d7310f30d42c6e627cd7fe33681b5a6e3752f3a29176b44c7a547dd22d421019223d0575478cd20ce96931afd3ce50bab7ec7814b07f5690a701", + "20300a8466aa41d9ca854c4cd18291d6aafb8be050db7553573493387ea56808494e4bfe7bd40670813ead46f6dceb0bc147faa7804eed7738de4588466f800300", + "8d47354f77889b8b6e5c91af0771b6c6a1f8cdc704184a635fe06ed839f054ae264189d96c05444c3412a352e5141e08adfdb9f71a6694f98b029d43dd47251101", + "a13d77d2f566e73cdf93b915f24ca8408716400261ae15997dd6ce6a7ea0372e03def52420d5951645211c59057f911215ef25f8534867da690ff90fd9f7247f00", + "0980bb01721d53f0498801b77ac4d916a89f17c243f8e6323fa0988245dfd6c74d2919c4dccf3732567349349fe83be40c0dd068e9b49517cf15d0700ab1811501", + "d8f02afe36134fa6b42a649fc5c779a2c22edf4ab828da68c5f891d99823a3a72345a4e0a0770404f890fb385bd306a4d25e92a6dd5e6d1fdaebac427c10c3c600", + "706d0784c82536a5f2b79622a8c6c73bcccf8384dd22c4b0d2a8bee0918e1492240ff03af79937797292475464e04cd0976bf3a9ce3602405f6808c9af98bfd800", + "cc27141a61bcafeb90ff4a55c25b2f80f5a4a8bf1d9b23dc56990b06ea523a91650b356d9a24b9624fe74541a117542d2f20992bf047114680c8d2169dd6404b01", + "052427033c268b9b576a93fa05513f07f5fe090aa1040d94ed116db202e064af58e2f05f9ebee6f405448ec70e41173ad39e29f8462e6a4a82c6e76e2790b94700", + "215d08a564e5fef911b8fa1b7dfb84d9d7013501efc3ab92a7ea2bce8282dd8c31db5c2bbfb44df63b8b93e6bd2099cab367ed1d9584b432c85018f816b7302a01" + ] + }, + { + "address": "KAcJer4yML3KndgxtHGs2SoGLmRTxJCynf", + "secret": "4a5e44f0036c42fde00ec8dc633969474fabda864e45f5035b18f4d15c8321aa", + "public": "03f7d1f72c91c5e6878c76cd1e5b84996a0c0a8ef36efb550d01f7af459606b48b", + "signatures": [ + "3a5ff4fe01d7cb3739f2976746d396eb18f1f181bd5948395d4c41e7326ade1215da758964d42ba65158bf7e03ff8c7eb7c0dfbc914eb365e1fc0ea6c02b24eb01", + "3c391bba2682abef47fdff47022a590859abb9e95fb7dbe7317f6094901189160b114cdf44b240851c939f22e1540ff3086f91340b3c3b842fea5fffcadeab6100", + "c2be33d40825d186a950a653b61cad1b16ec0429689867a82b0f44f1a6cd633d03a6e6272e0cb886f1bff6a014516cf181a2cf6e12658d6ff32d6b32d69eedc300", + "4cce6a1330e0e838aae3747ca45f35b9df835f8744fc4ea10aecc7aa0f14946c3a780554f6fb2de15ba38c067b5e13d7d88c31c9e77bf622339cdbbc3be985fe01", + "7513352f17bf50544d3b808f9be00b9263f4328ce98db10f3f8e6e601145673c0bb2ac0dbe4784a370434d45f209dbd6afe1c4c26e0e7f8eb2427b94293f91c500", + "3f3bc0a9d2979a813bc0e1d9f6f755fa0f542796c3a2db18c04c39aeeb1822842c4d1373bd524c45aa8b537b71e5848ffefc65871b3b91e753e54ea1dc66acb501", + "1ebfd245fb5b3654ccd95be0e7f4a644896c5e5ba758778d77de878f860e4d8a3a4c33f7407db1fc5734672fb046a5c02776e13c0d56eb8ff8105ba68d52cda901", + "49e5a8fbad3e381488d6ef1ff2a8d58167cd1d17edb597c8e88a24b6e5e17e8c442d4eaca8e1bc7050bbfd439a86e857a9cdf1b704d5aa2addb016eb5af77a1e00", + "36a9f46810244e5eb23e823965a83224cf2783c140f6042fb35568ce9abb33242616c0ef0b619d9034205f01b4b7155a8237c9745fe905078dc4bd2c8fb8599001", + "e016afc5f089018881eb7516cbd07e37e044565aa826d7e37c9aea005be336f158eda455c30e03eb7cfd56bb79c5895dab15ae575b18d4b1b2de8a8645529a5601" + ] + }, + { + "address": "X8yAtMRCVageKAgRixGESP5vRJoe1evT9w", + "secret": "e2107eba690b1df6e0d3a08373921d0a19ac491bb10380e40dc6717ed11bdd16", + "public": "036a17b121be33dce4f868d591c82268cc86d765db3b86a447ea50b7d1915db8be", + "signatures": [ + "90fdd824c80b4d683ad26e8950aaa9c9459891374e6d519154e16833d9c6ee801c5d7d202c204e85530ae4ee0a38e9b115528bb3446364c945d529f9dd1d185601", + "b51a66267ef5c3373cd2d19e569d65349acbd3e1bf2e4422f5ef9fefbfbefc4c18fbd07ab1d008c887cb52c179dd15c7ad1f6a348a5bac45071b62ad4f9690a900", + "629bdb73080d5a2148d3a6d68e46c29509285edca81d9ec602a6eae1ee1fc31b4cc421a925e5c1a55f77ececbe201146afcc93ebb1376bcdc8a0950f61a3010c00", + "e392a4bde506161eac5473a3f646d3a153efb718405bc3ca96ae4d6d302c25964ac38e211ecb52564f459098f865f3b7000e58f30afc444a6b9fd6837a61b90500", + "7ac54bbdaa5a2b800904fc79cee2b55a6a2953b31292824bdfe2796228b2c97c06a0d1032adf26570c139ca5ceb7ea17d677be5e32f3d73edb61b49dd21e312a00", + "7f4e56604ebece2f589ba9cc8bdd3ceed3cae3bc7c737946c69637613a497b0a22d7bf916b70cd40fa7532cf91bff9d48c9cedc0e8fcc24c2a1d5a70ecbc51f200", + "74b00a4928e33bc6121e6eb622707487fad27282c736620892c0015b7b7db96a1e94f3a19f0da4096c8034456185107911c25a01248afdfd4a49f98f38bce89001", + "8a880ee824069f49a1f4e7d5cd76d70b44990cb8902379ae64713921bd8c0ebb4e6f63f4c3849e3fcce331f77c080120cf2409aded25bf48000c64a2515cd28401", + "4121056c8a3696b6158d8e3301e23c514a5863ecc1926db3c6ca313583098fc409d61ec72f9d3bcd0c215defe6cd5a07c4b2aa062e55c9c4e631ac3db237443e01", + "264e63e3df6bf4495d12d1df6db295b61ce99b9e477c1a3e6ac9fa413a11410455f173038160aaea178bcc71a3da7deefb70fac5f1f7fdc9dcfcf8d5d2f74ce901" + ] + }, + { + "address": "2XKCgWpkUHdPxBhzgN6RNFDQSFDpbfjTM97", + "secret": "bd04dd38b12d99d5d99da868871ce4c8ec3005e615043e7f6ef766bbfa041d88", + "public": "02037e40467e07e07528f1076e64429ce8efc955ac73b741f2775df7ab7c83e9dc", + "signatures": [ + "25a7ebaeaa0eba12d350cd2e022fffa3ee7d73b60bcfb1b7dc6ea3a930ab16e065a23d7caf1f79bdb390e3de2b1c09371ff22369a1b51a0ebfbee5a11d20883a01", + "d3d06e33fd3597af973851f1ef82278083f8a8a6bd58c6d33ce59264cbcd26a13daf8906cf2699c3846e64a2fd7e7dfbb092f2e4e3925157cfaea7788b8efd0900", + "e97b9b1349bd9b38912270f20c664b1f52c1ccf2dc6122c089fb6bba1c9a1864430ba63af58748de4f3c2d97172577a0b7bc659a31be9e492af81a612d3ca66601", + "5b69a9fef8e54fc5e262b62a5de331a9a7f16dcbe41f61799d367c0a4d965e8b1bbef4bce114397dba8d01b8a86a87f1ebb03ed8f3b3250d95c72963acbb7f8400", + "c34181e4a138f719197db757f12063cf844e5ce384594122b7ea668063a2dea318b00fd391471fa4a6b951f9d3cfac173ff2f4204e912f4a762f6f3eed2ee30c01", + "585ed7c1228fd22d7d481cb6e3c484c8749572050aad297aa9e406b948ec42d67430f39a4a7c46b65e876eecd8d4383aa89ce4eaff4268802cf1369663be9c4000", + "a3ba44c0e700bb0cf95efc6b0c215af840d929522d6f46efd6bd2f4b3d03bbd822139ae82e476b0d8419db6b106418286800d420fa6017ad460980e499ff547600", + "23d1eb4d7379ebdb764e6c99949a8ddd76306f351559db3e6b20aa44b5cd2b201ae1656f92dff367ef9b1608e98206fa97a61291ac28b1894d06a8267751dce000", + "9b61d09bdfca7e6c22fc89e1e60a85b94641fb2496d9259d9a277a48403551351505f6c412a67cfa2870fd43cffadb11d83c46b3abc9e2d7e335db819d775a8201", + "8da42dbeb2e06fc69ecafeb7bf9cb06f1f7c18ff16fcd0e1a3260dfe9302293e68d0408cdb6d2264a979a1eb855d503af18248beadb95ad14ced7fd4b65c516500" + ] + }, + { + "address": "WmcZyCWxhWWBXhcW1KuBf9ft1j8wzTw9EU", + "secret": "47cdecfb4697492b71ea68c871fbffcd3d7ab6df36f5cb744c7530c88a775703", + "public": "0393d74aaf73d8bda3199efcc619d7bb3f26cfc95800e3a0ab5ea029182669a0e6", + "signatures": [ + "0cd5e03900cb1f6b9217a68b5456595a5e8693e247d06b59ff1df287b4c8d3bf7a39ae9e794c3ccca84fed36b447b6256df5b6886b73d1f15a47efab6ed7abd101", + "1ee6a768810935fb72d74ca1fb946786c944cb335b1cd95c33d10e1a5ac16e0e18f6a0e4102e99ddb6cfcda7faf4ab49e1a93e1133d488aa6c23ce1a5fe251f201", + "001e7e58de32386c7e5d3b64a967ab804fb147cea16b184c2644a8685922fada0f648c9223baadbde6e637be0ce26bf477d1b2922decd993e1d97bf968b7972100", + "2bc7c3a115f6fe9fabe9a0ac3729d665621e0a1ef5026c41fb65f328914b84a6228cc3491dc07a5cd5f0b6c6a9373b1aa6f4a51f1bd370b74a2827f1773fe31501", + "bd114507fae6943f5adc330ce600b1bb8f67f72bb57f2975348f91e85a5e333440bb6cfbe0b692f63e6aa1e14ddbf62078adf5f6a620dad5b88659ac89485c5600", + "4a147ee3c96cb3563c1b06b251eb947f18ebd45c13d5121745cb0c2676a1dac47e41569699501664495527228cb5d5227e77262a6fee592c2e39d4d076ba736600", + "869de9726a35885a2e1542d059e38637f07a1f7a748f85e248b10a21321fb7a90c895931eedb897d99608115cb3e95e5f3464402099b451b14ccda964585abec00", + "e04d0d2574924c2e42c0402a8586463c68f0c9817c2eab2b0ae12d7614602e5f51a1e3ca41dbed052456c8efe96101c6176af9ef79b785351623b53c8028b2e401", + "d8b3678390136043eb595c3440e891d217024abbe8bcbf8fe359bef38282298b7b3250ca4fd74036386a480529d24bd23facf4b109bc565c61c47ad3515c3d5901", + "77e465dcfb285aee33e2c07ffd22e0cbe66123fdb6d83139f26b2eb5a151e6cc3df0614f9a4687207877f573c9a776bbe8e8582ec76264e68cba2e23db6f866300" + ] + }, + { + "address": "sQsVTtmRVSBQvXB66Li2HmZFqxjJNt174d", + "secret": "dda8c4aed2d9dd515df72e4a31c3fd05815f7ed3b2f2b2e203d12f7fc48f90ef", + "public": "020dedd0243219fec27920385309b31ea68d3418df5cba597bbba0dc794fff11f8", + "signatures": [ + "9e6b99596d5fa55c07c9daaa893ff65cd713aeb723337996c51e3a42b13bf76e04090eaa3365a5d6297065e229e21315b60e14411ad660d8a74a4c1e2ff4dc9901", + "320954de1ac17b54446863320f55e18ecbf4dd65bab9288d18f25ec163762b42132ff562af17f2b8f2c759f96b2dbe0f4642376c8e8b64164f3ee323dc26bcaf00", + "00e678398b522707f33435ad16714372447cc0dfb0857f744d86fe3cdae1f375235dd78bf6d07eb559b844971754f8199999105b76b0994501fa34c96333c4a400", + "8b8d6c37c63458744011eb7f181e9221029081910565fdb34e4e4ee70ae992df04f005ef1da8920bb820b124571093ae59b2b75e87c6de069c109c308d61314b00", + "45acf679d22c6727f187a2e2516599d1597e8ba0ec268918e2b0ccada99c85136cdecba2d94cf31137b612e87819fa2fd0efcca7aa85771c9ac9f13b00c74afa01", + "1f3b2ae803fb5605cc4d698c1787777d448eefe2deb2571975886c62bf1f83881543913b7182358d7457842be6937a3fbf142ae776180ee2a0488e568898240a00", + "19902fc27e1b56e81e2f98fb4f89b8f15a716c96dca83407917ed615674b77bf0cbf8f7de42fb19da7d40d7de49e8eed4d24d0e260c3421184688b1bdc07cca200", + "c40fb53834a3198829961133e3543d786ba2719b89a059022affd7f3820a38727523fa0dccbf645b492780af141c0ddbdb421fff18f8f97a15e2d7d18114d66c01", + "5c65768f4ccbce98584a050c845264a6a19233260e7d711c48ace814d0820c43681f2d175722518df44cd135c759f54082c9eb866c967892df43875156a9420701", + "5c91737f504558b000539d368aba1c5ea62d4b5346ecac64ffcd2b5ef820b01675a58703e39a55889d1128f678f0ee13ba0170b11fdd6a02eeab87f5485eb79901" + ] + }, + { + "address": "HAZJiBg33BdkdW3RLqg6CmUe9rTyjobvfM", + "secret": "2d046d99674e756338789b24c04cbbd0c022c06482f7592a19dab3d8da473135", + "public": "03c5784476d10e4110236c60af26f085d3f7bebcfae0a2cc06ddc95e8dfe01da4c", + "signatures": [ + "7ac208a7d530b1b5777b6416ca89d52e3fd4047d488cfc043dbf655cdbf535c55ae6234531e652376dc034ed3620b64fc7182a4e712569d07f4bfffda421cdff01", + "c8c0f9e69ff25a3a79fcd78efacdba7255fe22e69907fbb23164c6dacf74f0da013213ab8b072dcb11429e4de0d8a5080063b09a613fdd5ecad1028374c3a0e100", + "519ec555c35fd5669e00aab7c8a6d244361f11934b154e026194485d456c019e69eba81ccd983a62ca529ca3203e3a1e8d98e09c5b38044f1e47628f8e6deed000", + "ee211016b58172b2b28cbf34e501484126ac1f49ee1b89d8c2d4f03bdce628382e07f7f7f1fce3ea0b24e413452660a061377f8df4161fba404c48c07f96529a01", + "333d5e802b0b72c72c6bd615521cb3b557cd4ee15a58134e18c7305bb9f909223c4ef26dc3fc26c63a064f88cd1ed77c2a7bcf9a9f530fe7080ce102032b680d00", + "c251824690e71e8766f8896aa79b37054be3e0c981836a664066adde3cee3e482c240364fdcd5cb1398c7af02671f4a999a6ae5313db94f7c13a97b3b4a1b72100", + "2e674b3e7a2988f2d1cd6ea8440a13f78bc9a0dd948c1cb6b2ebc89b766af4531b31de154016462426d7b3594ac2283214d6f5f7cffdeab426fb83ac9f91882f01", + "0d923ce2a834ec22daa222c5997d439406be1e41b1ce8e10110568fceea3b64a2f8b4ca395d2b7be1d1eea8c47845e683ad9c5d26e1f58fb639c07ed8476e60600", + "ced0ca11d628b4f1eeda80ae34c312aa5140c65b781cb7848952bebf3a66c926424f8fa8b605c1542261a088290ca4e2854567be62620fc6920fea5b3d8a1d2501", + "0a83eccbd0c8df9b0f8ad166d892b84d85b2861d945539b124f657400d52c8261db09b5eea6d03e181d38af344c49e3f6356444bc7bb2a93c7662666daf0c2ff01" + ] + }, + { + "address": "KAU6CLysbrc41MdFKHNioXsJNcFQTLZSWV", + "secret": "fd2de4b3e1284eee8ec5884d92ae5841bef651fa324b001bbf99b7a96a4ee232", + "public": "032548366a5a732e4b389f8fa5d8c0e5debe5be166de2b557fd58dc78d1693de2d", + "signatures": [ + "fd3b22598a78353042190783d3410bf0bccab1331a4e167a2f60057a5511a4425953fe8b7d7099b96f711eec98078ab44c14c4638a8055f750f79384cd5c9e2b00", + "7b6157888227e72af6d22f2964ae61a8d3dc12fc72396b5302e65d2bdfa0e54e13128e531490afe48a7b75e31461587f67f741fd78cb6b15b4da8d8b12fd44e000", + "41b4944313bbb5414956049204dc8cccb782c664cc990e31447904ee317ae75655df2780d60aee06d80a99d6cde3731024d364238cf48ece1129b9f6d9e5e6cd01", + "aa892a1e3becba91b7d2ae3aeb04309e6be4221bc972100fce3f275e6982b8b2124e21016d5edcf8d533b5dc25ccab9656927fa03d6428c4ae8c8fc01be830ef01", + "b7757db90ae36a75c0730786e121567715dfef02f0fde002c56fce4282fae3f1386007b9d6889550e26d756cdf9b22e29614e9ca8325f285e9d19737a8fd768601", + "12a0c556c743f4e10cf60d8e25cf19520b2c83ff10aa508000f9153c38c7b00f4a13bc9c453d6037ad048e3cd4484fbba37ed072698dce7dbdf8a6a153bd1b7801", + "7eba52f7fa4a007f022cefde6a293ba46166420552b06855b34419392a8e906b10005884da94e87f677183f622c0de3066a5e73e1e512107892c967fc71094de00", + "602b4fdd642fbe5630e36c80409db56bf49c672080dfacca681933d086cac6184fec501ffec1e53a0695e06fda2781e33c44f601b2047c2c9392a16f195ff3c701", + "4f09c6bfb9a839e67c39ea1b44ddb21fb4c25808b9d72e8eb2a0667c9b79464d4f2b74908d3c0307eac43bc648467cc5ff3efbb3b500d5f2d110dbac977a18b601", + "f7635143e6d3dc5ffc4918944a4dbd783c7fffced7b8db8c243677af745750b72101ba863d037c27c862a02acabcd897850f34f3b4e7c649de784c937391332c01" + ] + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0008.golden b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0008.golden new file mode 100755 index 0000000..0feb035 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0008.golden @@ -0,0 +1,175 @@ +{ + "seed": "c2xpY2UgZGVtYW5kIGR1dHkgZm9sZCBob25leSByb3lhbCBvcHRpb24gZnVlbCBmb2FtIGdob3N0IHRvb2wgd2VsY29tZQ==", + "keys": [ + { + "address": "2hBixkyUneVyeWK8HXr9S5wTuHPPjLQfVNk", + "secret": "a4196da38de61394985555f95c8cb063b055f11a654806d1bc9000ca65fd48b8", + "public": "026a7c59d51fd0412c7964e85d428e8e7f462596bf55b6e92fb42dda47523fda13", + "signatures": [ + "2d324fb86d84dce6babbab85615e3fa8fcf40db5265eb12c7d2177463d414f4074f46bfea5af54d9a1e4718d6a3854ad3dd0c07218f7b337b0451677ea1f553a00", + "6eb90b199fb3777ea55a938d99eb0aa5660000bc12945cd7500bc3e465e00fee5eb0779fe7f83d04858928376bbe74faef7b10477fdb78247f5e5f45318d5d4000", + "32e36ef19c712fdd1080090d5231e8c1a756161b26da3d55c8fd86994d66d8c07ce4f774fd2e05d75ffcf9ba6a38396ea58774e6db1d8858232cb1be6a394d8901", + "9cd97b11b5fefde1a0418d6b52436c6cac206e79ebe124053bf365e5d9ed9db042a9b0fe513c3cfaf790af1bc5711b45ccc5ed0724c44e33eec62ab3bc460e4800", + "00b53304db9b47062c92c91a392e104e51cb91ece9426434f32fff31ea1fbddb5324cd9906564c603c8a36ae54f19748a281474ecc8ec788677dc15f3c5ddc1b01", + "41d8e48ebc1a724a242024ef1a2121077cff8f2bd78f27893ebbc14442854f3036094b99ab8f8c7c662005cb32b3bad03858a9d47a8d8eec0c0829d06f37d31b00", + "eaa1f2b114c70d7a04c9eda7892c615ff33b4f0f05e2e9b8b28bc0f5672c04d95f84f284912bf8222b80ce237294c163ee2ee928f0400b1602979de890b8330d01", + "3b4586cc527ab41c6c65383dee57a12000a2f3df181cfbad65511a6203666640681286b23cf890e72405023ed282d67c060433b93a0601e2c0014e7deaa1b92100", + "05ddb5df8ad91c32b933a1fe8c0ae217287f51494635f5dc46f3b8c0c58ed8e54b0f1a522ebef697d41bb7a776702fd7f81710db217346f372acf2140a0a0b7200", + "9fa9c7e922a89fe3f9beb528fc030b9ef53284144e92b95a13cfd19bce14dd9f19d5407a8c4273b6c17fd61c73178b7af32c8c217f00a131f3625cd145c08acf00" + ] + }, + { + "address": "2X1uf2u1LK2S8CC8e3VWGVLjiVhHGkPyB51", + "secret": "46d449a4e9edcfd54dc0d21d75797421a3f0aaf6363b4fa489e3889a8dcb34d5", + "public": "03c164e6e935c29b4a93ba87cbcdabc49b8639bdc69f1e89dcffc026dfac7393c8", + "signatures": [ + "2bb7fae7a294a511468194fcbe2000cc7d4e3da84dba19226f89f446c9cd67853a1d6b9519354c9de307f10d9a375aa4f2af3601de56312b087a15317f40938001", + "b84ecbc6f15a0e377bc74efa502029ac87b55bc3d3ffc79867c41c909d34b7112ea1353b9da4024eb3f083bbbc04214f5332cb2d4d25bfb4b47ae0f95515ef9c01", + "1c9a32563e107c5d225dad141db80175d92997dd44ac7b1d0f6c2b0c5fba018373276221bf930f508ffe429ab0efd1a88cf54449d26992cb392983f0f7785dd800", + "df150b6b76ce86e688e3817fc10d16aac4da2e5723ce75181254269175e491a613e7d69f892d718d10fd5a8abc54fc266c731b33f77599c0a30b9186d6cf8dbd00", + "e869020afcdbcc8c07ee6dd356f83daa1aa5522aa3c2d9a0627c76e4745f0d0f4e3593a69a6a22ad3e5ddf7759b6d9ffa36f0c081f5462cb1cc76765da12e50600", + "3ab42e19889ca8527bc75dd3a320ffc7602371ae754c28cc61d2ad986268ab62790a940a0f9a9e7a9c1b32c0f98fd2c52c55171fb7de8f5b4f339997df46e76800", + "20a89d2aa6ebc277ad374e1ba8a8cb54bba5da83f4b0b786d71f7118c87bc73e680641af294c70a4bd5c6d837a8ae373a272e56e1ef6879ef2868c0d40f67a3e01", + "7a12400e7ba39600a1b2dfd9da749b34eff25246c83ecdea065cdf5f1df5046937cfeeab9c9096c678ad27b96ceaeca81e6cd20c00d23b7aabcaa13143649fdf00", + "389b8fab74bd3c02c51029543663f8930e3b37aba3ae08264761ec8cd77fbcbc24fa5bf47482ff4db62ece7ce5c9f8554b685379256228e208f7d65a8e33c37c00", + "351ff96e4913784381de11fda7b52abb87d4b786add98e534d215236100f44922435e0f8e8a264d720a8b49b88307be2a098c0614610a216dbe8862f5e51d4cb01" + ] + }, + { + "address": "nTsFenEp3j6vda1f5uRe4d8H7ZEXQkHEZ3", + "secret": "c7bee90a73f6cffb9abcb920ee497fe7522fff3ec46b35cae5f07bf3fb0490a2", + "public": "037d3dfc78dfa302b464ef903a085fddf94251587290d965754d8530be02322743", + "signatures": [ + "8869ee2ff57bb97475d007f70279f9e3b81193259e64e2bed77957e8f6cdfcbb4ab2501d617c5ca2d1dc89233817a0b91f5a8a2d23aae07354d5ebbe97a3dd9c00", + "10af988a9c826232bafc857dbdde32c76cd6532d0213f101d4afa3994da15a261210b9ae7b69273b538fb6c3deb17cd53113f3b1cb01ac9e8604d209cc78cab900", + "6e858a10f3ddf96b2fd8d49806dca2dcb0745979e288c8a4a913e7bf6c722a531d285d2f081164d414af64bfa8ef6c8c9928ed7d25cce9bb28a698582802fa0d00", + "3b1ae90d38869d522cc70e6d4a51063bab5eceaef100cba3190c15dd63681067700cf336565409075b825e4031112e1eb0bcd209a7a0f5a99eae804b9599104601", + "4bd286c40792b96bf0d1588be470b96d2fd2e4ad7ec3d48e81fc129a95274b9b5ac15138902cab4112730ab83767dbd9845fb3157dfc89131a5e4f36fa63fc0f01", + "1270a0b3f00f41e1f10eb53fdcb5de369585bd95a0900231c7e7f03c2b0cec942adae9e17a043774bec2e40d36fa15e4c9adfb9133cb8ede06d07f840137c57601", + "8a12e03ae27a954c4f8e865fa6428ef4806c40391015962d9ed151a9cfe3a87274a3b1095b76e47aa72e01512bf5d412caca5e336c198f82db668bea7abc452f01", + "1ee1f0fcac14db2ce6203065e58f80fd7e518a56904dba875928baac48abf454513225dd572c9d3c28c11580a7b480dd8c34c24baa2a895ee5b61b0613ba507300", + "d0bd8fbb858f52de5f38029c5251941a0a2cfdf3cfaf8da684db747b4470f6943fe545e9c31a8666546d5d1b67399fa013394418f638de3fdb54d93d68347d2c00", + "cc8842288635cecfcf885db9863a870674d37285a795a326ea11ce93aff2aef0372e06054831dd776cf0d986e7e01a05070a2572bb7926635fe153a464e64e3400" + ] + }, + { + "address": "2Zj9ehnjn7c2P9AcoxbvQPBiX72yjHEJaPb", + "secret": "8727e233f4165d2cf3805052e9df916b81a19d2e859c48e15576fba347d4123b", + "public": "03ec84a0cebc8c690f106fde7df91b86f7b7dd2bd6bbc15d19b6813d11bf523113", + "signatures": [ + "d878d051562f5872f20cf27067b54b677a7ed2ab44e4b88791933369e632993244d88b54060d3253e60afaffc30d8f89b6de5fedba6c90dad01ab9680ad2796a00", + "fb2f87e024946cbdeb11fca226d0efcbdb7d5c27e24b260bb1f6184bdb6446881917d5ab8e0f780fffa13b9459c6e751de391b3d7f1c61938736f8df5550534401", + "3d6b8527fb2b455a6d8565bef090728d3e0ba88b5f1a0599d296d21f268763120ab02a9f3521a96c4e93ad369080db860f6c00da586e91664e5cc410d9b6e99b00", + "baf8d8164e225bcef8a8ded4d54980af405fb6ff28281a16f64586f78a1a0d82670cdf6195f9ae7bc2a7ae9d9f5e32f81e5e6623e239005f4db8cf84ba85c10200", + "90f5ed24882e6e7dfd4eea059e3ac3d2414fb9d1cf7f58156be9e194c1d35e1b44b063a7c81c595d7e818ac6b28aa4aabfc9d8dab2d9c34310d6432dbbc5907101", + "cac8341488306402682b33e723ace25e45f599520753b65f0744cdaa64b14069255126d9d7ad18e219794165f6b723c500e72195ac535a554092444b0c9ebe6000", + "e8e3a8a6937abe48b730de30c5f486f9dc583f7054315c8c96c51e54be8a76772b476fea0543d6f825aa02fb8fb6b7b4c9350bb33889b16eb968fcfc3a64678500", + "cfd8a7cda65e598602bb91d522bb328a3a273b803b6e0e209019987487b1de7a52a87fbce1a87df47756a94ce97e3c51d6f4e66703f2c4893ab11304c407e56001", + "206e31703569b50ac2b2fe0d7d128dc53200a7f84ae74c0cd5153271e9d9d4367a9ad4d7c6b19236b836394ac40a1723468f96a35f4e813d4dc499f50feec2d300", + "7235cdbf150eaf66951644d4fc07226997c313c33eeb171f0bffc5548223317a2c6d933f970656babddba290e044a03d880eb5cb2d77d3036c3f925dd9b7a46201" + ] + }, + { + "address": "4DueLL7QCMVrwsbR5ydfJ9pnR8vahYytBz", + "secret": "ae81bed68945bf50c190e743deb49273168569001e452be70725e1d4844594b4", + "public": "0295546a4287fb64ae8077ac4b8ea13768122654901492f3920541d76bd2b7acc4", + "signatures": [ + "bdbb583965e1281daa47dc4010c30251dfd30473e44348dd9111d517117f5d4b56c6ed8d137e0eb0e68634e196266c0c8de51d5250549a760c46d1198ca7795a00", + "be84724248bfbe549ec32ba7c06ab7d40f0671248b349e9b4587a248a2459cc31f0fcceb2da8a5d5715dbcd9ac92082029bec9ebef4c00a59f18a5fbecd81ab000", + "c215694fddc95dbf210c4e6291ffec12c2dc431583159efbb0ea0edec08549cd27ba5a682b07fb1cc97e6ad92cc8c41fb6755ec2fda6edae10c575f93a0b761901", + "b23e9e76c81ee93e6a27e984bff91cd9546282cc55c8c8bc06502715484fe0610692f71015579110c1f96609550e7d4b0c30ea8fe291c80c73e65915b97644ea01", + "d0e910ee5328f38fb8283e87e7e64c38a99b2cf0e3ec5da096b032d77ec7be814a110c66b1e13632ff373b56c5a307d013d636aaceefa92f9683f71ce4c7478901", + "021a0670aabb167b9e7f184501247b031cc34492e2f22565b3173aa7091ac49f64c8f2535cfa4855ebf8e4ee1e522cfc6242ee87cb75cca29623269a954f465701", + "aa9c6f5a2ade42fe2f520115508c9182fa9652880511027190d26ee56ef088134d7689ceb3dd7a1c6350b8a49817759ec15b9d3ab7f0514ad51446902b41fc2e00", + "14182c66e730a7a8c22746abbb683d2f65a4492ed644e835aa376d81d848edcb229b813c89ce41bed07b4114b7d8b558a7b53132065bdd9769c228d195a204fd00", + "4036bd33c3b8e0aeded4275d0d5928c71e808350ef1c6926987c5377cc48395870169fb2987db63a5641080a2037e9fe5881b8e38e493063727d31327d04952d00", + "8434cec2a8c8ec3daa591a4b2cfe87426b4b71d0ae5397225ff39ad01c5fe15e209ca7e4de4056a64f043b73b622ccf4d2b3d27f362cf7d7fe932c5f110d986a01" + ] + }, + { + "address": "2XUMdVGXbHaBmFBiYcfwssY5vXnQTav3BP5", + "secret": "312483999efe5e2a416a5300c9ada328cd422b8eb81d348aef76b1ab254ffa31", + "public": "028992d0ba3ec0cd066223a35fc6221c89433e373836e42ab820909dae2a7649c1", + "signatures": [ + "da51c05e697d2eca9f130713c958e0517d17a8ff829f6e6e7df581c74954b1b75d475bcbe3e96fa64048fd89cd4f5abb418efdc780ae1fd44553f9980ded225800", + "d77d1bb5711b9f08dfcf7f5cc69aa3883c34b5a38dfe428aa705ee2190c2ef6c4a1572e07348616f57f1a6133161136278c39a16a421039c1ccf6de16a02431500", + "6cef8f2474eb973aedcd8e86fbf82de5245db429408e8161343d681440c08a0730fb6f80fd42ba3f10a74a784b18e3cf7c36a2cf89bae3446f0348904527d55400", + "296ca1df8fa846a321f4ca49b76e06e2b8712bd4a7276f0651c38ef1aab9af265c411d0a76dc499073e7be7b60033db5cf2dd85858311c17dd9fb7582a954a7f01", + "3528f0101c5dc155c9d68580ab804e424a6bf81ea85bdd3864ae6eb347960aab33b20a3d4ac2763a2bb50de1b5cf11362086a5659e5859c7d6aa2d64d6a489e501", + "3c18a53e7f1a1d627435f685d3dfd4b7ae2c40ab4b43de1c559b5f8dea6c44a358fa73f0fe004fc42c1f660b711215e477a3752dcebad0af01a4d86b7b3cc91800", + "7a5d1227d136933f935dcac3198ffd462d00fa9e91d76d071d69331cdeaa98a33ca61def907610fc121daaa9d552f872090adb31d25f60023c9dba8d422c335c00", + "a3738eec0537aba0fcbc71627f588452b7401e5892939aba2119e1b063902da55fd912777e1d2bcc61944f77236efd2d7a84f3817b1a996a320f71fbbc7dc0c000", + "3afed1e7749b9bd23a97a55bf9e6aa9f9533151ffb731afa52455a00ec9f1aa9575369c0ce426d64830a6bfa708218ebd337728b914297002db298f10cba9b3e00", + "b0886b57153458794497fff860c70955b7ea80146ef30e413300527f547798e3775bd769893bec65c7cea503d4fd8703e08b6aef736027ba2feb06315f9b2b4000" + ] + }, + { + "address": "2f1gvQUSUucGZ1xtNcqDb2QqT8mR2YtJF2r", + "secret": "435d065f46be884edaf18ef9371ae6b9723e0931a45551447826368b3b1472be", + "public": "03dc267f778651a06be4b14f2a47063aacca922a218a1f984f224a8ec55f6b8da9", + "signatures": [ + "2c7ab60525daea6fd2bd2a2944d3f7ac62443f2c5f3ca4dea2252a7bc6d7a7520cf8e0e0e29167cdca142e1c6106b0f723d9caeaf181bb7ba7be3d3dd049053000", + "49dee8cb5efabb28ab2bd248482d913a7de2bce830637728e6926ca6f9607a8436eecb06aadbec7eb8fc49064a73d48de1215d2541e196f450a870565dd8562100", + "1ababc8f886af10ae76d167a93c6a6d5049c7d2b72257c6d51fb0242fb2d13a027b92c76463e3981489e665b7bff2707c577d960cadd5b392aad117f13e1218500", + "8461a17909adf7e7ba21ba08f9a351e3f059cce7b81458121e432a1b07c2353e46c874dce95d02adfa1cbdd723785eecabe93c3a65ac732e497a6a0adfc0350c00", + "3e458d37cd58a426d176f2e3acf123880f44607db8805f5cefd4c438c4eb1ed779eb69fd65dbba39d91cbefc9f54eebe9322aff7c8989f506cd1bd74a05fd66700", + "6658d5242d1fb860d4de1d54cbb6290893990a84bb139a9b79c50c20fa8f5add37af3552601645ac8fe35ad5790ebfd8fcf8b371b9f862e67e48b929bbba3f1800", + "71b2930f5e1b703e90d328f65164673a26558a3126ead81d61807354d59cf91e622d19725c201ec16fbc621feb5679957bf710fb5d54935673e8cadc4e25be1001", + "cc4c1e0fdd2301539ec0ace1eff47807af38c26c20c0b7304abfa75346472ccb38dedab61733895911e37591b35eae5be7daa554f22e75baec3f5b9b158d758900", + "5cac030ff5bb66bb091a86693a2d972540cfb61bd79869a866124dffb515f50907f7c90e99e09c04c3bdf18b7aeb5a82d5d9d983e2993c01a75571a335c8852101", + "9758a5917b51e9989f476eb9fa051a32d2ecf19ad6ddbc2aefb81ba95c16e52d3dc528db27b34ea150344458490d58868e5ca493b8ad4cf21dc356e776d0d54c01" + ] + }, + { + "address": "2QnMSr9PedSgf84NreugQJaxnaGJLHY9axQ", + "secret": "9e3b1370323a9aeb7ef6872489f3e33a0349235854464d656ce4b0dc00ea56be", + "public": "0255538dfa3b6c02635b667704512bfc4c3d33c48dc878d8576076e530382f34e8", + "signatures": [ + "9e40e30eb9ad0d99b592a148ba1066542651e04e90bfc30bdd98c258754ef77d500d11f51ec5eefa4a1be570d12cfc580bc55793fe430e75e31676f9b2c1bef901", + "0f19610905349de8673a6c9ed78158a899f6fd25a37efd22b9657af5b51026246669112914c6d203364456d8c1ae06d5767bc12ee51e91608bbf8b54ebf2ae2300", + "14dd6d4ebad35dff18c60df85ceefa17a03a9e0c5e2c004cc0ecd29ca8096e716333d8e24a32d0ab3cd74ac7fe917e4ebad00828c27093b6dd26eea20f0def4801", + "ca337390ff73808c302904675b4f954b6d4be500ed1cbbe1536693f3ed185edc5973e64764773763408d366d7dc80c209fb3cb323300bed542c359686548046a01", + "5bd597d9019853d5d13f89d55fdffe6a12e1f1969e786ce52aef28df44da1b04595b497136dda48e5eeca2b19741d3851c08d51b18a994f55e1c45bbadfe9d8a01", + "90d711499247f36f3280b09bb6fb9d1a9e89ac3b055bb59bead4c08945d2f9de59f0d6840314ca4641d39a80d9ebdcfc6cabc603db53cef6fd12240c576c7f0400", + "9f742e202407c4fc7462278dc4b8382ed34161faca80f3015861b8cc9cf9b1256d7017777e2fc68eeaf913725dfea2af2cdcdac76f88415dbcd2f6e65b9ef98001", + "20fd3fb2c83a63f69a7fc021d8cad22bbf9516f4b1f4053d4e032d5089d644c638eab2fdd8cbd9a7e5e2d797cfcfe6426aee8bb570c6799eef48a84fb333e24a01", + "0f4135937cde24fb32c92be875d39022920e04d76f0a99e60328556570b2250b69df184f9ea803c9cb720d441139d3369e29a4ce53252d7b71b015303d6cf22b00", + "2cea41e7728facd686876fc173ec9f3b82e243db23d284394b46ac929c254e564a58772ffc1cd1ff1940d0dc5ad7969f134471ab408acea0116c1bf2346befcc01" + ] + }, + { + "address": "Zi6vjiuB86UidJSxPnRnLuoQKNqbhKDTQX", + "secret": "a7d72f9c41978b79e61dcb6de20d05d31850bbbd5defe2e594262157292eba49", + "public": "02f947801d035fb531c1859be4045d3d6f54d4df41927277a42040c25ace724972", + "signatures": [ + "34e7d96043aaedc7b18d19a44934e9a59695bf5cb2b8ce04e845b6d5547103f046150acb03a3d08dceee0648a96d0877b7747d07d609b5bc2738eed78406571101", + "9eec6edabe7cc6c38a3c8f731aa310683f5b1b5b7f18ff597ce1cc85b69316226bdb6a853054bd0e0b07f7b6e95a14c1b331ceb47c42c7de0f64978e23c3f89401", + "024c006a48beefc070dbda72b0335726bc875143330cd5a5063b5d36bf81bfa971cf8b5bd8b0a097f9ce85b5e1e32d3516b9dc7fc18b2d07f967d2a0a85404e800", + "fae32316c3926889b4a6c351e32865c5f619e84678db65eeb9a8b97b2aa60859246e416af3844a9a8d036fc95cd583ff6d194424fdaab1a75d6302bec4d5fe2101", + "c8e1782059a35a98d0dc23ddc45a29e6ee37855e7ffc3a2db02ba548be82943d4c01190bcb22d8bde6a18545428022a5cae17efe9b1b59bcb054190016be55f800", + "67437425c618bc99fc2b111ac534a8337db17b07f05c2dc0c8699809de0c69ac5201bd0ce83d4af61df6597f0aa819c66c859b3fdf07e12739494e942dcac83901", + "7df6c5bda9dcef9a81ea470d1cf0a6c465220ff8cdc9a549021e02fa1dfbf2aa16f2434d181db5ac44ef949b0447bb56ce0ab2cf43e0ee6c7f4835267c12d48401", + "a55b5663ec5c53f034f45c199ca720198e272d25012444d6ed1e2c8dc312223a084126d0b7b0cb0dd9753fc68d3a1c3daf625203756c6c92a924aeed718680e600", + "c3a346976e04f54d750dd830fdea864495e3ae80e1a3995e5b7852db907cac1f454d95532fb7c536daf11003987065fc835414b1a19cfdd9d08f4332ae1e691901", + "53022befceb0a4f6de14ee1a6f287e75413614f4df77b0ce4c1a1e8d85f8947e7ecc9ede42ba82ee06f06b4a6dc70a25cc12fe9ecc6f1c4e31350980140144f701" + ] + }, + { + "address": "2EVQ1xmJ6A4iHeZXRtD7DawoBoxX1vRmBxq", + "secret": "04ccdc4fb9e5d77140a5ab7710b4993f9accbca372d142e358301f1bf096e05c", + "public": "03fc5a8249345fbf2b876f4d0234efec9e88b6a9b3a6ea3fdaede839f0520cd2bf", + "signatures": [ + "a47efd9e820c974dd9107bbed207f6324c042a21ff0d41e323f799974ea963282fe800b1f1067d8c7753b3e666dfff01f2bb6516121fd1cc3afdb5ed2d45ffa701", + "39b2a9098ed07c55e1492ac28673dfde7a9fb683bbc5c9ce62079c7abae343764dfe618112bbcd5805226e9a45a98f8efac840d38ae4db420fdc13e6dc9f05a800", + "a7934bb9e039f1ebda681cc87c833c7158666a9cabcfde5ed95aad53f1fb529733daa506e7f65845e4a5c7891ae059d62a52885010a4113d844df2d03acd17ed01", + "d8dd518bbf0d921954a840ca9326f9eef5b17eb00e4c158c03b298426f682a55077685305337e06a1d5b0ed3d48be76e6a404eda1bbf4a0f58bd84ea0920a28b01", + "3787c025ec0a21ef202b340770fb21d9c5204d969feceaa7639316b0875f0a6875db7554b4cf67c476f32292d7415ff07eaf73d9922e2639890d15dac3fd2e0200", + "89dd0b2bef097e4a7da14f90bca131005084ed954434627ba3c9e904515120d309a0fe9ae64c5191eb483d07a294ac37be0d53153d511dcfe8a339b79db1572b00", + "b559569007407a5cca128d0a3153a8572d8e8d1c765913b23ea27036955962470abf538464d519fcfaa4caadf9322c3f0a1a432ca5d3f45bd993c6965f4e63d000", + "15ebb160d7813b01269fd09e07d62b27b1665d243ee1c1be913595bccc6fe3377b46e2f1ce0fe485a810bb98c988d70b9dcf3a377d99ebe664b88a2239ceeef800", + "1ec59aa97c2e40a0766bc470b0a2079c58f337a6c8eca1372696785446f77b1b42704bec74c429eb2a084a00e676d084b175323dd43022f99fe513c17625d0db00", + "ed37c8d62f87802a0cc8e2feaa56c9ce46681d07f31da88c958317e5616b1278043e6abb646407909ab2d7f8ea880a7d89e696052a9b01da573a967fb91f141301" + ] + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0009.golden b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0009.golden new file mode 100755 index 0000000..f619411 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0009.golden @@ -0,0 +1,175 @@ +{ + "seed": "vWqzW+tavumliuNymgNb1scvd3DxS3kEU9EznZRyjys=", + "keys": [ + { + "address": "dxJmhYz5CYqbxaurBDKndour8bKsX2BCg2", + "secret": "103bc41600c537a83751efc3b3375224ab5e50f062d5f679ba39a69676ddf4af", + "public": "028628228b9fa099df41f59a84685964e7b5b9aa2c2517027bc97163932d3f44e1", + "signatures": [ + "673112ab3fc33c8611b71baf4f5859b11f15775c619435285c076c77406ddd5b355ec1dc1091481ecea3ec23b05857fa5756842b19433cbd16edb98b276b4f3300", + "b884b685184fd7b18465d266e5c0aa3f715ef1ebdd2c510fd1d93985ed73700e07cd8967fb4bb41baac5dfb1b5acd43542368843571a8c2328c04ecd99480fc700", + "74ab28ea8eaa8abc10a60900da86209415f9c2da7c40c4dcae9c24f4a7577607264c1fa8abc18afbdf618726c5fa4088d074b22281419fa72042204da4d101f700", + "42e5c576f3c946efdf7433f68bf8bb08bdb9a4cd96b1df6ae21c1f977452565b144a0a3431d1fd01964c016a545f70581508ada70ed2d2e2471f61adb9fae9e200", + "d94e96c42e8206c754363103c1dab199ba324ca4a84382800cf95be2bb2fec4a641352aac50919a636cf60e21f6124b0898096b2537737e132b3a591a73631de01", + "462dcbfca20d8db7933e5ce611bbeaf3445be562df729e7110fb262651efb8512186b6b19902894c2ee0dd2749612c839976b6ba56b42d091357b9f63f40400800", + "1a7f718160e4ebc415679c176b4266582cdb59d0d3cc6d5844375604313513356663f148e0813fe02a6b4e657c76cb2fd5095a78048c639e431def9a0ea1f36e01", + "0c94e5e5dfe0ce864cfbf722ebe2e567f7b3b0303eae438f1a8fae2c232b8f95344ff2b43c1c5473942eda7e2c292b11c99bba70281964ff03105a1b916155f601", + "ee890cc57362d5adfb7e664671a4073c5d126b5da52835089916e45f5ee71cb227bae34bfa070ad0920bd9106fd0bad517bd7346cd85d7042a2ba88c029eef2e00", + "0199f28e2f9497c17c59e31c863984d7d4848720c9c151b6334e2c56dee15fcf2d642e073bfb728498342d9f19ea1dc6f9a4e8af31056e850405a5009be6f6c701" + ] + }, + { + "address": "wWfAkC5DRKmBesD3ycyZPLA9WUC5hKBY8J", + "secret": "ec68100218702342e62a0138e49fecf0281e97214f224f3ab2591be5094764e9", + "public": "020c1e5d0e449141cd10910c9ae064d878537bcf7a617e6f694a9f377a6528b96b", + "signatures": [ + "74dd33ff9586150eb0a6566e31da608be6cd9519c0a373a10794a3f2b0415ffa2f0b4304e895b4d9c7a6a1bbcbd0e4557800732ecf39239c193e27738f432fdf01", + "d23c6e62b777c96c1e21091fea380733c223bd68811c7bad12fcbf9a159b84992c7b011e4152d0339bbdc4ead5de4aa1a288997ef3a5ad0bdaaf79653077df7900", + "237df8d524e32e90b2e2e009b0defe40769fb341147191b2ba45aa277aadf81068fe8f206ef713e674ebaea775385b053c85be37dc2490c0c4f736a7a1feaa8301", + "83157989273570d30d0221ccff0497c8e9837d728fee2adf2b3142e8f04cef2943410fff868ec9c7e68602e083420b29706d3926c2d397e1e1587c31a60c9a3501", + "34212857e85e5dd71748f02f77941550164b4702dc55cfc835a22cb99e30ece054c53f43a3bddf4ce800bb2aecb2ecc87137acd3ca8a269af9763bc3abfed62e00", + "5348dd18e2bbc319860ddbe3b5ef9627447718252a189ea5957982acf54f0c3d4d6bc9d191cc6cf454281cb74fbdc9e05971b712119bd39332d94a4d03340d2d00", + "14f7d8da4fd890f6bdeb978a389a65d954a82037f1a59a3c22a952d1a6071a5601c460f31a6cdd5b9749412d44b8399068c9605b18c9677ab89ee3d92fb74a1200", + "4cbbb3a086dbae9049670ee8b55e31ab36fc012ab22674b4f036091bb511011a5ab11e3500a47f09b0187a407cbbbcaa3b8addd885b6b0639278903bd2d64a7b01", + "c8db912171497d49570aa43ccb6a5984f25fef8f44dcfe6edf4fae6e737082ec03d531e0f77057b47dbc5e50af5b67b74fb8915fa802f21e63c1db9125ce579300", + "d13cfe83aa0faffd130cede0acd5c6066c333474e7f2a059be3e3c27c081620d6f5fb985f4f595377332abdad3de0e27db9ccff7dbb24211b7375682c46f3d4601" + ] + }, + { + "address": "2NpdyMGSis7pKksyJdw2Lw9CkLxRXQ4mXfQ", + "secret": "e08ae8786cf4f17a7b6024143f7e99261b0f30f240b4a4eef241051f4b051c57", + "public": "03185a63e2d55ae868e815e5ccec398ad955f5ddf8f7f5878843810d22a95d8749", + "signatures": [ + "5d97d0bb03d8eff8cd742665a59e6cc7bee75c809f46396b607613e5e6bca6a84aa089f7cd8f53b18d6bc3068493ac1077da6f818bd65e18457d5b457549b9a501", + "66db0f30c1e6ede54bb6f70fff659935ac180bf41d62b2f3a649d8821d90e9f9452393d0ef245a4b9070a3e7a93b05fe3933ec5bfd3042ea3a644e77816e57a900", + "4dcd8b7df6aa6fddb60c9ae6781426d09f43b3f72bbc8c6e2f80e2f052bb29fb68d0541edf0bd7fc58b468850110fb3209742c3a1e4cbd0fa385adc55d76bf2301", + "b64aa7147d42e3e67617f21b5f49d0ce03dd5ff677efe922a57d783f438facb43d35df5d3f5bc6bf4418b12189bda65e791e837fab789f5765c58a4f3362758701", + "a61449bbae701565ec8b9101ffcb1e5cf8ccaf0148cc074649322d2ab07df14329b60562740b410dd042996d17f9fcf9bcf48eef01cf14439cfb7679ce49ace200", + "9ec3b65bd966d8d29037a74ecb0da1425a8bff15b82fb5aaa5ce85dfdc26a0c869d43b8073dc98d9871907908b13ed80997a11bf61724646d94525d0ca33185401", + "5764aa6b439d5eaa4ea629cc0bcd0d0bdfae933da8a4aa1beaf7ed8d6c751446784fbc57f0182c6f7bb13c33641dacfad3ca0065c1bad8c49690ba42abaf00ab01", + "1a48518590d1ad8fd92863486c10078b3c1703037cbea02e81ab17c41f52e8120b394db294c7ea4a4d8c9e5e735bd30c3a1574125e8005b80b2d429c4baa764b00", + "12e8b5c303a9d348bfbbfc7ccf5a74e9c1701482f95d818f51aefeff982e18ad0e25b86221553e6282be68cfe384ef7729cd716b3b66e48863fdebee137d2d8801", + "d9abcdf0970a1b8fd7721fd8bb7a6f2712cf331d04e300b7cb0a12caef919d2b335bef5436cb624cba1aa669df168840eb80e0f9f40c6ed180ac58fad922a4d601" + ] + }, + { + "address": "2YsC7EayfSJEMpH5tkFABZ7NxksBxUcRKFM", + "secret": "d609d3e43e182e23c9414e10427b1c8437d5de881836ae882819b4ccfd39ea03", + "public": "028158909c3c9e59135b6019738c31acba380d2d42cd07b3bc0e302fbfae9c3ed0", + "signatures": [ + "5de888e7d8889d800935e92430ef045b4b61896ff9b400edea6a9f184e56be5954ba6dd40388a43332cb2515553e227e936c3f39a40ae7fa254a37dfd478a89a00", + "9534f206b47c69377a9134a5a372817e68893181d5489f411a90ab47748e7fb621b840c0d2a857b7555f266611960c47814d3c9460c6f0ee33b688a7a95e0d8d01", + "fdb21218173ee37a35a864e6ee685b66ca3b3a62275499b5050ba9563203634f7f4ea6988aef0cd05b504e0a4f090a341d3cade4fc72876171a41d4a8e7900a001", + "c444d5d828e5d9551e6c85a0744655d75fdb35c90174557c442f6866130489a07f8d3e72ab8f1c4937b5b56174e83f1f0099fe8a90a2034a30ff33a58cd95b0a01", + "7b105ce2133aa4f330c7bcef90473b0433ffb8f15eff07533f31083d816a05c86e18e972ba8200db9c173eaccd57658d29e541805c467642b7c71fa3dcfa9e6d00", + "6c83b4cfaad9fe84e9fb6221c96f3e3f7a8a570d912df042c17f01877fcbc5755b52aacf432a0655461446c25ebb6668828f2c93930dc0c25cd0625204fc6f7401", + "a524aef799f60bda7106f53f7be4f6dfa23c650f0183fb6c8c7945f7a1091db10b569cf203541516404853c6f84b0c903015bc1ea4b84689f76503af90819fc801", + "64e06be4685c5f44276114ee82eadd0ac0fd2dc32e06695aea6b9bb1c4f539bf13a1dbcef6083d764d8fa1246ce72888fb242e5e2e2fd40708a1101f078f568400", + "0405169edaf9044e0730ebfadf22bdba6d29433227626eb1183b4e1fad384bee129c911097fd5b5996a045a39b75fae33f20d6610f3c160ba6c9f7fa61afddad01", + "3a4d6eac4ae0c420a2b07539deea5b9703816b8f1c63ee015e9300a89192035e4a6bfdc1c0764268b36f545ba40dc69b0de024fb89b367f74f0582c49991f1bc00" + ] + }, + { + "address": "VWBgiD8Bm82C5scBT7ouJXUdCt5WYBmwid", + "secret": "cd6cac0f13566084bff6d1415a6cf5b481d1180dff8041f4b0cbbc3ad9c45575", + "public": "02db0ddcb741d0ea2e05d2e299a09d063456dc3370cb8ba32adbcbd5f2de195d55", + "signatures": [ + "01b8d8773c41c67426921f5668f6327f3a678119f207fbbb3ea88031fbc3928a3b516ef61495997234e59ed5548b5ed94f59f988e3de4d12f57bbfdecf2ba00000", + "1832e3ef1aa54595cfce5706271449f00f634ddf07a124673027e65bedfa3751377dc647490148c8a753c8458824edeeb7a6a1dce149a49cd57f04d26cf775bd01", + "a32e7217378671d22ee640ad993cefe1cd7d35dcb8ec8c4946a202246b8ddc837e0933dc6246bf061115e7adf77b1ea7cee2e570da6afd263c4bee68061c7a2601", + "ea42d95fdb6dab4c5df0cbb87fa8f893724d26b1784b7e19eb799f1f8a5facc34eef7b929acb300c953864ff36dfebab0e4c069174217c8ef3cfef6587f5644600", + "a281a7e62930e0ac659ef9c372ad192cf86db5f35d71c656b72b03b9b439fc8d551bbcd58b8904f8653dc4fb3698774cebca153ea664040ce0184be627d31ab001", + "83c70b8c70db7fcb8da6887a6c0d575383ceae53c28f904a31ee69ce6106317a23e6c764a23b55118cc8d52bb621ee3f9782165580d98bf4b74f10ccdac5f2a700", + "42ded223b124824f156a96ec2a3b39a98daa76eb845e365c1238a38f7b49e663286b94e55dc245221d85345497f223d1dd81aecbdec5613efe4c4ca901a3c9ee01", + "c07eed52f2b0a550e57cba0175ec37fcb71aca4ed0fc37c4528a01117c6a52665196310f3b56b8439a156c33ee67a6108cca46b7b6081c5fad30be432f2f0e8701", + "04faaea1a63d8c3fb7174d21785afdae0e8520a4bfa9e5a82f4915be48cd4180158490d079fa2b7633d4082c8f1ab2a25a9ce4e99690b08cfe95ee60a92eff8d00", + "12826d3405affe5552bbe42b5e9f1ffcbdbfe3b88b537ca1c6d52a53fce068f5482f9c9026b8e72858506d9b8d1bec3b1cda36878ce979916382e880af7715e901" + ] + }, + { + "address": "6d9MoeBRrPUSW7C88QFe8T83GKxKfd2CY2", + "secret": "e7cba671232e76a905770b9dcfc280a0f47db8e37fd2e5cd32cf67d3d7e44c4f", + "public": "02ab3080b4ea8a74789ca7ba75577609de2961e01e583d8432f50e112ae1c6a7dc", + "signatures": [ + "0f15c8684f255ae234760053b193e2e3e799e0972f11aa7cd6ab62e29a4fba093d66356b08a0fc544a6c62c37b419e65982dacac87c445570a76cdfb3e981e2101", + "84e597668750e6c582ac72925d5f51c1ac43913f15472a13f45470d8e35ea6da6134b2d0fb356a6386a0d7bc95b4d35deeb8381d61e73ad852975e0c188364ec00", + "f2be4f437fb1a7f8e6ae876833d02a1b2407e29c393565f43cf28a6416cdc839593188c29d402479321d4cbfe92f0c70664bf19f550eba0c72c2e064727b93fc01", + "e8ea5937f15a16c93b56b60e527f14b343453a689b2fbbf98141775e7419f030190a32e8a831c4148f703f1861da656e93365cf6bb59aee628270bde6b6310a701", + "122ebc51724839413d8760e5b7e6317e7348e3c06690083baa2b5dda38cb103d3d6fbd0b924cbcdb4803a7c13de1b3a3794b464a6e2cf7ad9cc33305cb3e704401", + "e68851a6bbde68b5645eac304e0be24f3e8b51c763b0a5b3cc3b7d58b9ce1b4a3ff54a30199ad276a41015781f951f058eb20e513dbbe0097da5840821afa8eb01", + "23555eb3dcfcb3757f0ab11f822822da366baa4148448e76f4123ce944f0b4c80e1998aaf3e00b38e8efd33d8cecfab46901cce7655f37958d67d92b280e687401", + "46e956e8a6c12707ed890079afdecae1c94c5e39d3d04c312bd5477e6770e3274fb763ca342857e80358a2101e628e7d1a653f227307337cb292a005ce2f03db00", + "d3c7b3ebebd0fc24f378f1ac9a2f60bf9c96d9d88d64369f33fdb97893585b303d6cf556dbc12e991c336ac7df9e48cda650f4e5219696108f295af769cea5f601", + "9f8ba0642998c5da0c4691eae7a51a64120ab74ebce32d58fe8f0c11683ad06f232dd3f3b0b9aec0b1c53687298be5584b259bc7738ef54b247c6e436929e01200" + ] + }, + { + "address": "UBGqCZrRCWLNVUTejLUTmWs3ZjcdnanAEa", + "secret": "cefc013f3eef428213011a542db07a220e85b2ea978caec5c47170e2fbc52a61", + "public": "0316f70fba8d65a0f9f3e49b1cbbc3fd3ce83b62725a59ed85bc1693c98e9c0f24", + "signatures": [ + "e15da877661402d0c6c8440d05c3780591c61c5f46094258363b5ced7a3c23e565468cd9cda0a34be02efd37e49239d3b9d6f3fe64f53f359dd1dc52275f6c6900", + "b5dd04df253eab7c671b4414e1dc706f703016f9f545e4d765160fa8511e4e553ce7ffae05b9a527b84ffeca7ea531a7f8bd51add548305d3bff5273b3db6b3601", + "c3135db42f34ab5443ba8ce3e6833c24ca84100d3247fcbb71b8615dc958ee917edb1deb12bc9eb3c259d43958ee10a53e22e966ffeff4116a04714a88ee285c01", + "9183ca8eb77e2bed8c9a788fb13c0f2c834619edc7013f58ae7c7444016012ff033bfbb32494cef26f0e308aa69d4c10cc92b0a8dc3da23d883319808496dff301", + "7ccf91f8222c834c99d28f79d7f858c028150bd0f234fafbaf55a39bc1d9f1c30c39672373d94b2c66658c91f770a280882909717eb4e6020650cac801c7aa5401", + "6f7bd016f7130ce5f33f46da12046b1bc9a8fc03e5fed7165ed16b1eb96012b12ce6166c43af598e24d8eaa8e08c60923de15e55088148993cab843f7fac758001", + "1b62fdbcd1b0eeb42a2ea162ac8332607007d3e94c40d3f329fc5f06abcab57b493cbd3f4b490c5635390500c66d45f51bbd340899922aff54204a2cbbb1ac9d00", + "bba47fe6febf896cc1f9f02a34d77710a050adaa8fbbd9ef2b51bbffca08cb9a22146c0eb84099cf48b499715675417a486abe4de28f99a24a75e9bccc1e91c301", + "ec16b3721e1f05d368969b88a9cb476e8aa7c0177691bc080d5f698decf5969f5d7910d95360cd49700f191cf0f7745d01c09468a1061d28630f8b4f923fad1800", + "76a0ca994efc4714a3d1bf10c7ad81825500a2492ab5df87682acd145bfc6c1e234c1e6238254bc451ae957353531bf2bdfa7899e99c3f7eeedfcc0d3d35a9bc01" + ] + }, + { + "address": "28mhRTjG2P2fah7AJuUrBygpxhmheYy4qwi", + "secret": "a5bf25ae3ac443489d23aa9fa45810a36deb19fc56fb67d09ca920868ee81933", + "public": "02e2a845979adc6147886e594728f975b3121fbeae3bb5e026a2b2738c104175cf", + "signatures": [ + "459509346729140b8534d06867f7c3885a59b38ca9264ae6243e83fd71ff023631aa62a9926ebc21b164717e227813c0a84b222cf7881038d7692c208f1911d300", + "36dd71d7c43b438be226dc6bb3d1695162da774d4aa9d73621ce40f17e71d59c47129046201b7f7ff42128af0df2b8b1075d3c96135fef755cd50d78f443965800", + "e3dbb279b2df949cccd238fd7c9682024a7e86ef4be62c46c21d1a5add6d5bd75ece28373bf65ef0ef01e35873510e1bd6d632390c1d0043af57ee6fcb8e423100", + "21bb5e11f34214dd7472ddccf0e156ae8c2a3b2519022246ba77f2ba804593ee21fe5b20dde87ac0e60948400187cbef45b70ac20f44add46cfd045d87b839ba00", + "f8ae837a61c9a083e366417f0e4be2d43d490add9d34ff4c513d6222194c16232a01b51b9205946f4cd66a5ba69f1ccb6dd4ba3906ec17711547378545d1be7e01", + "0393357ff49e2de374492fdea60319320c37ccbc03e7e6b9ac42ee3422303cfe0648c75c57d3062b5c33634ab0916baa88a998505281287e99ebbb000cd2e42301", + "2900df4afc8b3a123c0ebca53ed6f6398e5172f5f9676b76efd6dd2d5c4fda68568b72fe2cfeefdeed89fa2604d7bd6b3bc9ec9cddb307832a2d4368d863bafa00", + "f10ed20af67fd8a37f4100885e08195460728c89dd5651047e658cc679237c445377114888c7f4402140f2886492038be603087cc921d1baa2ce5ba62e9e40ad00", + "8e00142a82c8259adbb209104373e52d7b3986fda2a29af86e4915706675a35b3af0b4a31002d263355d47e6072a7959d4eacacafdffc5279f6e90bab4e6a84e01", + "87f22431354dcb7f1484d18a1207365d69b69341bcbdd49dbb76ad9ce53cdd3f7c806f14e71b3f05fc1b43726b3be409cb4b06f2738553c61e2ee7713898157300" + ] + }, + { + "address": "o8KcCaEq7rUzk9jU3ej9NXz8ySGoAsM9wq", + "secret": "a774d84ad42813d48f293e77fd9d872d4bc5dcf94a968fbac437811a37e0273f", + "public": "028084b66fe7cd20247fe319bbd62116732e22219ce6ac0c38b10ee7df6a5e84ef", + "signatures": [ + "1f173b3cbdf6157b181cb88ba8fde5490288b1c994eb3d15dd64109207aa330a1eb99b8061555b30addf7e5a1410b22c1791ec979e9f1e359fe67bdf1bc331b000", + "e44ee5d90f91ac62a4b08ca7adabb3f4fbf242fda2c60db76730788a1746012517b7e656078c36e6d2aed28bfb65cded94d4f776c7f3e339829668e2d24fbb8701", + "684052ce6947cf8ef9c661c317136f087f8ccdfaf8b9e9b309c6e61ea43ae09808fd5a912a45e6ac71e4833d7089e1b610dfa1a67e2e3826722a145efe7ced6501", + "673ce36127a13f491044262e8d238aaaf5dc806bed61d7999a262ab215aff64747c2440e532d8bdc6b04b889aa856e0e53f2fd1bb2bc514854e46cda7fac379f00", + "2ac98375228432233fb3d2d3e3e985bef2e46b65a906300f759f6c5588f30d21656385d9a48412387199a44eb21ec2a9da4434e981c5b6e1dc2740565a381eb601", + "acba6f64c54168e9d0a3dfc01b52326a2c2f18d3af10ca6ebbac6bfca02064147887a6cec9613dcbbcb909de55dd5870561c4d6a98683cd1bd34db16c93f6b4a01", + "9b0b680d306e8f196fb882c8ad3fe3591486b19487c5ff7c5ede4a9c86809da6586d28e62bcdafe4bf6d1f48b0714e8f876fdc9bee9c5a946db34d095fb66a3501", + "5c1a56d3fcd09a8d749ff6e69eab86c3a850d9ac4cd4aad1e650c7cf83545cf22192288535eed8d67b1bcd49ca0c4d3ec950b1eac2d1ebf52d052ad46323f76401", + "4ff012ec8b1e136eda5d7638e407985ec6ac20932a60cc9f6387cfbd07e5eb8c6b9e991876f1230008e76b9881425a10f74f731bd67b95c44fecb7239cc215df01", + "15f1b3110921e7113a3e2c0153699c4932189a9f11e08e5e780b171eb6b3dfff5ef5c2b283ef0883ce128c32323efe8ae4aa240d70113ca0103870842e65482701" + ] + }, + { + "address": "F5b64tWsytrtoTB7Gka3Y8gL8bcozi9ZwC", + "secret": "c9da0f4e53c8299fc289eea70a8204053f8e2d357496bf37673b7a2a09606239", + "public": "0249ea059bbf219d4e5fa61b68009dcf568a4c3b8838281066098c9c70e6302e14", + "signatures": [ + "2b6a68e36f23bb4e70e325b74df03af03507c617e1a3f2f3d9ae9de51684e69502a1d4b9d4576a58851c3c30dda5098fb5e483c387a6791d220ae360fa46db1101", + "9bf76435655fd5517083d56112a85d6390f2cdb29ef0083b72f05fc80513553d3855fd859c062c615197f85fa6ea2f64df0a08c05f6fde543aae1e5b06fb070001", + "b4b3d577b3f634171ff462e6ea1a5d7847095c9be3afe56e1ffb5910bdaf5993776a79fb0a11d31af5b8ad03fb82dd60852da5db60812fcb66c430b76e6590c900", + "aea6e04924a561febd89188d0735fccbc342d23afa7d4874a3fb7deec80e38902c85c386e2319bf165b28e07f8f2e5bc65d53124a2e18f3664f14f3156916cf000", + "de5a68867d648b90fb090b366800a458eae988401778295d6737161bc2cb403b7a6c65054ab8a63de5da6b78017dba1fb5225c6d49fa02b0a884c8139e00b6c601", + "b00a6f1b743f2ad3efd370c33bd763924615e06d9640d7473183822f8aa6be792dfca685286084a2d88027079a4eb510c49192da0355217685900c644c37a29300", + "e2c318045aefc3099a25545c35bad5c8b34a9566b5a5e3813a3ca0b9c82698e27209aa93d369b788d8567a9f77c47796060895a566c961652b606f40e73735ca01", + "707e73c79f3212dd48e2d14a807f59a4ce2cbab2d60f9bfd213f3253b4b37c962f66e7b22e16633bae7c6fd4cd25489f731b99f6a68062532f509214ca7593ef00", + "acaf82b616b71700291f97934baf5693a018f685594af570ff51e6b19bb93238174b5d5bd4fb70e7ca1c7a247b795817269e4a93c399d2e55065f9851e0c6d2501", + "7a6afd718dd5126b7a238933f0ab66a93f68bd83b0e233698706662eed4d61486eeb68af6bc69c63f30a6107584a302dd2f3d404feb35868f155b83939541e0800" + ] + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0010.golden b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0010.golden new file mode 100755 index 0000000..136b7f2 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testdata/seed-0010.golden @@ -0,0 +1,175 @@ +{ + "seed": "58OY1/IoLeJIrfYkiwmSc3IbtSF/XwYHExUdRFPL0G4=", + "keys": [ + { + "address": "2SrJiwmXj5RmsN9DzCVzNFuQDA2ps8FToiE", + "secret": "646ffabadff7a510e36d37a6559b98c24956a62275bc6ac80fb2597985c1557f", + "public": "022b32f9b0f70ed57f356a49faa999f5bfc25f6f1863db2ee5fd2aa1cac0592877", + "signatures": [ + "6ca2305b555ad4757be898041a936b5ba013a0213c24b37abe5dd6586c1dd3e3718f1e38c72481c39d4733994ef2db85528d4307162923427b2cd3fdf67103de00", + "c33f4665e035ca0534798d866857da38b37fc7aa24ce2828d9639bd0cb88ee6e14fe150b016e1cd842a6056d2093629eb272b13b86afb71771dd8064f65a8bb800", + "fc2377a4be18e2c53fd277b136117468b7c8fd12d3abbe6561c210d6c29c56ae3afb4508d5e74ae75c697d51d578458e7b7310a6bebe4c97fbd51e9ab84f7fe000", + "40637de52a5d28d87db456c85b3854a4b73865fa3dacead32bf5d3d24349aef0680735f2083b1c4c0dc10d2f5ff8b84189ecf3c196ebe09d479587334a56145601", + "1265e4ecaea5ba5e80f7125e28fcd6a228e0899e53fce3fe5fc1087a1c931f28710662c01c1986775761f0ed677c5dd663c43b8a3db4e7c34414ccb61fc9daa801", + "02e14ddc2c85600f466297b5938bea2fce271dee37cc4e54c812c4040364e7bd3a57b5ce9839877b7742695c55c85de569aef2faeeac234cfda4246a0d21c0a801", + "614aee033e979afe8cccfbb568dc4f3b1fdb368e249f913ac12a3cd26d4746a52e87252b156dd3c572e1eec02bde554c0d5afb0ee37648aef342d8a401f3332901", + "79e3de5d0b0996e66cb2edc8a683a7ac8aff4a79ec4afab42fa4ccb4bbb0df4439c9e0ec9acc390c9b0c639f6be1d61b7ab9942113f9adeb1642724515cebe0b01", + "8c6ab61c14112eb77e0e3dc0550aa47a14c88bf51b9f3b7bdf40ee666330ab313787b54300c2f405bcca00f7f8a157426cb8b87984e091ba30c095704fdc27e700", + "c30dc8967b5c2fd418e7cebb7dc5cbacc2694da4b80e3fec197b8a8b54a9c517383a2cea7a07bbbc166f53e171d58e3a971e618c62e43a86bd8c529fea53376d00" + ] + }, + { + "address": "28EpfFX9Syr1E1DTtufp4rt6KHDKWJLUCzw", + "secret": "8597cc7736e6a039267fa3ccba8eb73360ab492282026ab8b73328da061d3256", + "public": "0276f2290c48973bd92552fbad3a9ac4ff433a8da13e13beaeaab95f164edb8ef8", + "signatures": [ + "403e2bf565bd10642a72ac10ecb868dd54f22413f1983c5dd8352ea3f5af2e3f660f790c200fc38d135f61c97169c7a6a51d77d00975e95598d47c19b7eab0c001", + "4d9011b95d86cdfcb867ee695d40417b96a1030afef22682874879a9a55b6cb108afb8963d5f89344e396b60e17ef758813a6ec4c669786184031e814c417e0801", + "7505f810db7cf603f5f370f0442cfb15211395fbcaa1876eab3015aa96e11c3d52b681d3b8758b878cd577c984bff55492ffdefd8979d28e355950fa7aa4aa3300", + "9b969732d7672397c3b85b9279a8c7e633f3d59446824ba3c77360c0a1f2d6f315d548aa2576b61285388d6fb1d6f33815cd746b85ab4baec28d3aee3ef06e6c00", + "57c1c7d20cabbf967a68356f806115a1e900211159a2a40dc6fa3420432523977443cb3bdca94911c04f9a15dbe87cae661a085aec6044e9c561df654449f36f01", + "54189224c9c02dc272dfb4474a802083e1ac372350ded7539db03bf60ab918187a2b63a8041e79e0b8bbfd2af09417f71f553972c914df8f956cab8cc4eed2a801", + "a5987f6d62982652f06f5cebfe4a83fe8918566100f9b28b65478a5100164ecc2b366f92ed006321e1300931dca8fa5661a906145fb769ea6351dee3b5215d2900", + "ead667dc0d71e3e6877da08dfa17720e80e372bddf067a6783ff723a37f004ac675d15229369aac75bdcf1875cd548b7b068a41d04b50cfd8bc5b07ddbb13d9e00", + "3dc279ce62d0ea023e13007c737635f752787ca6f5268d12e6347331eb0edb274d702d485599954ec99cea8556aca04d538c87695c2c1c9c1551288b047486f500", + "d5c31767dea1490d951cadc4bf1472ec341b83b3edcb397eb3281af60b48ad4d68ec1d3a192d05af7883a19eb955e2ce4c30db6a7387a708bb41f33d9300ac5f01" + ] + }, + { + "address": "2j5u9ieaqLQjoEru9V9sMqLPL4cncKJfpoU", + "secret": "720a01fccd31cc08832df230316cb89e619113d951475c97b9dc350122036cd8", + "public": "03ad8eec89298721e6f6da1ad420fe178e4e37ba6c5fbeb707375380454eda84b6", + "signatures": [ + "89272a6545cd40117f89c7e18594e5794a72445fb45752d64f9a1d606f7e69604992268952b136b192c0dafab15b9bb322401b967f18536f0f5b78c7ff75f38800", + "06b3fcef37e36255613a3805d31ca5753c1e11ed1c554d6c8c4676c78fd9c53b2a1b0d19ef37b7e8062a65d5e982fec61fd5097d49fb5198c376e914571623dd00", + "82359df3355f1823d03c0aefa5fe9f04f208cd7105f9ea310c615bc6a857f2c153f68e8b1e2ea4fc952c1dbeed02ca31a5f425aa23234ef31a1b052ab177ea1301", + "72ed2078e5bec03162cf64aca6eae363aaae0b402324dd74e7ff630f0d48c67d6e781d0f2612fae060577d827fd7987e4a0d6b6254babc3744c08a98ad85ee9c01", + "fd6d6acb517bf4b27cf1e6b03bb1f2b4213e883c4174c56b14c2ff429aace102214df6bee50df0b5707cb59e215eef0a2138fdf3d94ae01537b03ad4f20d279d00", + "491360c4d4937e2a1e9523051909639a8262bbdbc77becfdf82dedff9fb9c7710b7ac8b9b97aee6267fde5635d247e1c16a1a26a82c9727778c6eaa5b7e3d50e01", + "dc6468ceb3dd16c717549a68ce0d03cc3394891e9118663aabe2de125fea621c16de79f0864fd44b5e23c2058ed8f8e65156abd27e89bea63627afb4487e7af501", + "22ecb0f1e4b39838cb386ff2c705c22b35ee0a84d95ee5cf739a97d3a6bf51be245ae7392a89d05def89a5075b3590d2ebccbc1458371e5cf5a4aae932904d8201", + "806050af0d6b5d2b806f06927438981c648ec6ee3469fae4cfd4d64a31fdfbc57ea6347828cc15ad8092cefb59a738a61bdda7e823282472a688ec288da08e4c01", + "c7e31a146353e1273a1c0f5ba4205e743ed67da7515f1cc052d2c0c24e86445905ada83acf5ddf68b9124c8edb149cf96851f01d41b8a8515d22f0ffb8a86a9101" + ] + }, + { + "address": "2KoZQBUD99gg5jKrZLLycqJvjMvKFf2APLA", + "secret": "5a04368aefae7f463f31da6955d7c08249460e3c90da76936b641f25f7c6ea91", + "public": "03ee8074e5474b0712267b0f66ffc17f42d130523ff4c3f78217532540c89f4609", + "signatures": [ + "aef0feb04a3a4e4318282c0b8d2bcc1f658470be785aa4a3639117035f7b5f357562f1167230ca14aee019f8c32e9c072299a8918f5a76fed3c3f54a40661f1501", + "ffea567262851e00794d58ff9bff182a19fd97862a4e0dba414ae8681ac8f03d5396550c2a867def5be17f5e38296c40c8b6a994870604ccccc2326c5709062d01", + "3d88280db03a3ba9b15929f0f9d6339c835218e60e82780b9a1becfdf674550852149d4e068f2527ae425d280bbdf70bd37ef98ce2dde4d5d3feddcd87497c7a00", + "d53f2a4c346b8c007530beb4c1a28904b0cfa876325cf9790489959f82d4ad74035d957cbbf335177912ea7278f45bf86fa8d47ed9929d78d43da6a9637bd1ea00", + "b02fc80ec2869131159c562df839971b3285ea9dbf3b1279835ade6ec0fc2110228eb443d743bfd1bca24f20308d6034f1a5654f2dc81df537f761aef1234a7701", + "bba9e94d716a041fccdd03498047d9ffaf55a28b1ba905915464255af0b883d03a109c7afde2fbcca2ec9bc2f9bccaab9e07898017d40882fd6be9d12423825b00", + "9b557e95d53b22903526cca3e17468ab029bcb478708ad88c3581f0aff4fbaf4328bb3839134933f3a252432f01573e3f8111f0bbac6c61528de302abf286ff600", + "fec6d86d9efaf625b18c0f48ac7856f1825dfe82495c167a0f44511e9cb52b5c1ac4bd6a5015feb5cabfd39a62f48da6d267da23e5a49d6a1d66c34cd9588ad201", + "1a3ad7d2f56ed736cfe7db24673bfd917bc582b3a63132828372da1def7ae91f5cf322f8d35aba104eb71004658ded222f6411e36079a17a1c7d99473bf2a8b001", + "e3faf295d743fe5e38c1517b1437bea083c4908004dacec1177e410dce94278a4477cbdc751cfb1497a5cfc9c6707ee47bd1e34fc35e0bd27411c3fe69e8186f00" + ] + }, + { + "address": "2YUgePgEgTrbACq7vrna1NXVGUzrBERj4dw", + "secret": "5674c557050ac9dd67cebf9629b9af676024f126e3a52e856fead1ff51521c06", + "public": "025358627a6f01a52f446cc7b643b813482ae3077cd3760385b6700d83def6cf39", + "signatures": [ + "d807b670e83a1dd3424f916a7226d44bf3c9c8cea11f6fb37fe8e96b031f95d52fe48d0a3649e7777cb003a03890c127020bb698dea5e4eba0dd4c3beaf289fd00", + "0437e62986f35dc27782a1697e282da1a7ed39032ae01bf66ed61fdca42e87821a8939036ee91a16ab7bc917d2aa74fb059a6961d8265f98fbcf209e73c3f4db00", + "54d9401e1d6e12f7ce81223ab450134e1a39c7a2077de5ce121156fd56f345f3240cf8b9803df2bf7f105d1db73d8aa1e275dc5926e9340d9c4398f9b8af929800", + "8f052c5c4b6093a88bd24c80d1bc783945ad34b71b00ddc3f5bd6c948419308954e20d8ad22636c082ea536a431c96473531899f2566b57de9d038749e71fd9f01", + "8ecf28f58913914851d5fe5a1181ae665a7d536acd8e3cffd55e1e37e1bc1b8946b1dfbd091b0945dfe944123ba3df27d596dd7866169f4878614cca58b0f4eb01", + "b2c4e3e9bd832da27a0766914652b48a3b93e66cdf558343a4fac554844b99da27d9091693cc8fc5c89f769b870f29cf56b855f29a2f7ee1130b1f51a4d11f4b00", + "2bb5c25e4cd8ad7353d64f5e3ad8c23aa213c71c60c14a207805dc03562b8b1928a1f285fba00eecaf2fe00825574c7cee09cc3eb06a510a87fe3327a2ed808100", + "b00bd2eb6cdc38d9de63fb3ac5f249cc1b65d0aaea101a096d3434563a930a837aa7bf3cc91d7a28c4fe2a0cbacb20e9cf16ddd0e2fd305053c69d0962ad434200", + "1443132e898aef931e53552c74e87a0226227a443dea6d656d02e41e2d03a27749c6f2dc39e0f1de5441d2a828f66b60c598c197bc6a32e0e670143e57802cf200", + "ee030515f8444a3f9abd4cf883fe0d56ac35e44e4a17f3a91619bcd9892649f31ecf607475aaea87b69bfb25fdc6f785aeba8c3f64eb20624ddb18020fcb8d1f00" + ] + }, + { + "address": "dVMg6FSsHo191yyMzvKAu8jNempZbKnkRS", + "secret": "d5c59918edbc439fdc9237ea652127f3f83722895e07b82e5a5094fb628d21fd", + "public": "02697d387c359d57c492f24403a10e2ee47e54866ee381cdacbb5b7cf8ab6e1b80", + "signatures": [ + "a7e7bc206006583d3c9fcf9380c3cc9d3c405eacca2f65f8fdf1ebded73695824cb75bd9cbcd7446c19a45e907e3c3ce2bfc84d4dbe890280d9a41640a1fde7100", + "0e68259177452e77fe363f86c8dfa8f4eda29cb75400f05d1353cc5d7cfc64a36aa54a266635ba55110141a66a63c19429650d72a17f57ad18ccdfded25a264400", + "331e14a445fb114fe7960de531de1612aca3d6701dabcafddc155065e1f9322247a19bf3ff1e9804d4169e6f295215bf41642ac095a6e540e4161b44d660ea1b01", + "69bc7a31bda0c4600e66c7ac02dcfd49bf8ea99cd6f8aec851882204076b2eaa1457b47038230bbd6dca6ae72c404b73e3e2ed4fbe642b5ac9a22c214788363900", + "951cb4a095b98c49470fd3ad7befda82093ce231623ff346947e6eb078f3114020fa56918d334fc29ff724b794a7fe3698eb473efa95c053cc43b1a75c069a9201", + "48fad2b7d86a9b8b7ed87c506d7957bc32c1df1a56af9f2f2f44a382f182a6277766c39ef39fdb580a488393b90937ee0217708c3266f680b62cc980575957c701", + "40ba88d401efc157039d9b305a0ba136d7aaddf9fa97e3e8b11012532eeb8c2f72b910e96029e6a40ae73f15949c692770f95bddbbaebcbae1df67d6002f5a2a01", + "9e5889ba9f34e0dbd4e9dfa354533bf005ead72f170c00b562bb08fe40c7f6e0323b94e84d55637e5dc9b6f007240fc4fbc3bea7c8632aef1b6d10fa9c68d32400", + "7acffdee6552639aa7a1960a0c80366e72f28e74826d17cc4eb2804d516c57f67d2c015df16f5ec84b46963925b53cb3b9e8538360c66a334adba487b4a065ea01", + "11131aa556119bce1540e2820bf21925e5ee2ad16057a6ed3aca1ccb600697ae449bdd0b266838edfc8b02c82b01158035b041c3c844fc7995cc86ff5372749701" + ] + }, + { + "address": "25NJpLNrTci5BtBtLGzGzeU2ABvT9Nw4d3f", + "secret": "0d3ac7f674c3177de5555a6a0e7d97eca63651f686942111ecedbd00c586d03c", + "public": "02c18d3e9b15c91247a2c71ce8c2e27e1b008de4d17ffa388d34b35fb27f3ba1a7", + "signatures": [ + "459d02374af7e0547df8d3ac93bbbf477d9b13add08cea4a2c4a9d55e04bb9501ea2f10c8fc68cde1ad2539df321032fd2f2fe56b010a8afac91f65d63c1ab0900", + "da1e742628e40682df13b888c7b166220638af152120a18fbc3e41cfbc4a2b8c0fffda7514e1c84c0f9211e0efff55ef7699560e64bba76adee30f341f5edd5301", + "da1893f530c4fe952d2da3a56d7b5f40e29e24368c00bea9c6d1317287f646fa08d251e69052b97f7c1d4033936b00ade787de33e6fa8ef939ea4412fe96bfdb01", + "0b782c5ad45598c6678b11254821637c3aaee8c4677dcb38285793337df838924160101e905f89502d30ad3761b4894dad68b7d2601f949301ed5ae4079cbcb400", + "3355727fd4fc2342737c86fc1c01bff49cf1afe258a927064edfc48c2445582d1415b3c74fea1ad22c5d9df4bcb0a65f6e633b729dfe088b29041a013e67db6c01", + "c493605d78ca352ae5758c7b56e9d6b338411e2c78e3cf244df3f5182d55f8de32c3a8464e00de450320d6f62cbbf00719d34d9bd6262cae586befc2bcc0601300", + "833b50000dd4564746e3dd0a90023f5fc74eb443795d2f986a568196fd849fc41751145da01b8a6753867184e02da5e023b12b1638a06bc5e2821afce12c6ee200", + "fb702b3cfb5c4225e14a9f9c56e9959d6f73ad6b8cd17b127187127665e9ca035718e5c139fb2c495425bea29c9c65b2be97f4c642b0da60a37bd10d717ac9f900", + "2dedc42424ffa658049e251c9d0a690a31637f5353e5d1a0d423c1efa3c361fa47c54f642f1876b5089f7c059796579f4a556821f3aa2810678face35c8fe22401", + "6ab859b8b4cf7e047e1e0f8134655aec58c04d0ed86b909d4290c8c335fc9816591fa8236258144b5c4b44c8ce746a11b4e1cfb1b5a259c2ff3e3beeafa26c0c00" + ] + }, + { + "address": "21ryRMcQ4jvpDLv947JhNYFGhkBdPfTa7Ft", + "secret": "cce2107186b602a42f83bdd37870457404daf2d327c83f02422a381628d2350b", + "public": "0240ae55709e29278c3c5df3eba50d14caf9ef73cce3329c05c56595384e801a81", + "signatures": [ + "f59f660e8a14a0ce2b5c866a077ba83529b466658293067c6d16bc3ca1bb512c1cb4923fd4011e23ab572714b7dae244cbbec5518570ca3978a04902adcc183f00", + "e4ac4e486160881d9ba88c70a3aec2c5b0df4e56b1dfaa8212be1e5ed52a2ac36495d35e71791418948689e551886704fd669b2981edb13a8b4b2f385ad301ed01", + "517f2f1532c4986176854141b4a1fd4da24f1a7824a534e1dfa7430d6c6bcff66808f8bd72223a4a8caaf636f4408744372bfe2bdab86eb7c86f862dca40a53200", + "9d597dac44c1dae6b8d940ff6fc61474f6109b07cd4cf036f1c04702c5de5c613b09c0610da9a80f386d2dab714d72b804b0f4404a59d03f8fa63dd9738ed1d301", + "67b3708f680fc77279d0c1e7e65ee6b009223f83d63be3cf3bd2f050110222ac7b069b8fa6fe51bcd18f8332e3696e89ed759eb6d3b01f6a47de09cf1f929a3801", + "c6ba13f4754a3378272eb6ef0bb8543c1c821cbac252cdb23ea3a5687e4672ab6e9f9ebba8f77c2d0805f4c72f81455ae5e91d5669c48cedef9ecc0eb7fce1fc00", + "9db0cf266b02ffc7715d53796c871f0b6cbd221d1d8e6da6dada54198348c4c446b8c2a77ae8f2734ef4209caba8173c86fbe7ea4393cc53021e1e0ff7b5940d01", + "2eaa229d2fddd9dcad651f375202e71168be4b350a1e897b1fe2f27f8660e60131129a497d90254832045c830971578e0f7c1c963b75ada05e7589679fa23c9901", + "36a806424d934f5200b94d16a531d8375bd75183e72b9fc060b3868610930b411e298110ce7d0fd6a3325d83b896cd224c9cb293054553b7a7b3035aaadc39c901", + "5d660629134419b57f48ffea9756105649061067178059caab7c4d285e6a4ba572565e9b7aa7fc8700536e25d7c0dc04ebbe6d50647af58c04e7347d9b3557c601" + ] + }, + { + "address": "2UpJ9CTUUzbSjSfByhiYG7TDuHpyuRCXmjN", + "secret": "01776da713f58690c4ba654afa403ee43527a3697b32c898164b1739b1a8307e", + "public": "03b8f7b20aa8cbdb7b40de6426fcb4a5eb2517dbfbc6e532ec1612341b51a234e8", + "signatures": [ + "7fc7d6a44b4368ee439be43108306c1b78c90f401b7bf5806dea4793ed5941fe67c3fc8700751e21841c16b37f1a22d7ef354b85b39e73dbd38dac6c1d76dd8a01", + "5e634789d9dd8748ce83b5a173ec580a2e2483170f10e391b37e71fa1a0513d7407089d0e3ff410d122518b7ccaad7f39d3e6d87fc731259ab162e2e65eb2e3e00", + "15ba0d2d44d9ba95ff5477275b646d6fd129454a364feccc96eadda27666c2a9419453e2e9fe6890037dbc14d347813ba3cac14bdf11b33dc388466eeacacaa801", + "de5a67850d94ad5183c032b75255de8d125acb9ab613c3a678aa4b0bef2205fb0067b51ba705b25038619a4d99be5f9b6144beb0e758a070e0a5781d1f3d793501", + "60f137a5017662523950c544b23334d98f4ddd044d9ed1d9ae529394431f00883bb79088b7fa127a679a2998dd1bbec57aaa1e9abcb803540e520414ce69760b01", + "273cad4820707e6af38d07e847a579f297200cb567fae62c69ca68cdc0d32c5d7b365b2e8c74d74d802874fa98ba3d1d342246989d56eed0d876e4373cd82a5900", + "7ccf9b45d6368690c145d62acb788b8e1d0c555e8a8e3e3d396ba7f3cdf9fe7b3bad3bdbbc3bf26f5f07a9d7cffedd5f54fff4d06f7354fe60baae6498f0325801", + "c38ea111a10d599bee668edef517315c5a3a960fd38258578033ff9b8a92b9c2443e5dab03a7fa5596280b5aa8fda6c6cc0feb5c921d8cba90ba897d0e61c3b800", + "1268fee5962b4b33fe144373ecbbcf5a4524adec330e46144de4d5de7d7f45f64f26531869aea55eff07b8ab76a6b4c27e7e0582bc5bf2d0e31cca5c82bd60f500", + "7bcf7fd288b4f734ff16fe8c49682997126350fbd5df9537c009995a0859f8ce30c4748c4965c144c415af1f8434e4e2ec1023ca00cc793c55505c7fb4e4f94800" + ] + }, + { + "address": "kwyudpCciG9nTC98vz8b3qrQM9DP2pn9wx", + "secret": "3bfecb42d2aa5f86043bf61ebb1ffcc52c3355e0cb5866cc6d4db80d467b5387", + "public": "021d7c5180dffb1d3e65a341525fe952d65627bb1e4d881777b278665b138419d1", + "signatures": [ + "d8fd20b09ef6f55bf0d668e9d70c42906c54551357122c363d1c8dfd427cb1fd157a47ba228f011e4654b94ac08239ffc955174c0b3123cd445c964ee81e3d3f01", + "40b439422c0be6b652784484e3f760dbe243d2e0639cc2d0b26405615142a3625c1bdd3b088e1444b6f350a01c3ea58439938d01dd0e5b7c840c81f47722b6c601", + "b79308cd0df36560badef6f66fc137a98d0ec27bd5be97b5b83ad94b7d26d94471c3b1d8814008c41524a204aadf208bef1deec1b4019720d2a751455b9d1eea01", + "5a286c751257180a33677d22ea8c66cb457436dd54babe3cdebdf932f6da769b24f99f6cbddfcdffb2d4b5a810431f412737d5bfb9f0de42808d926561b557f301", + "bd066317a372c59468c72f9aae202fe7a5f2f954058ced864b31523961068e0a1bc7e10fcee9ec16cf44580e4d3e7f6194b74dbd6bcf4cd1c5a35640b56293f601", + "cd6fef0e0329f7c11a1785c9b0788ba8be92a5d063486872ab8e85bedd9749995166dde4562ceab241e97f9441e9bb73c54eae7dc3eebea7cac286955ad9016300", + "a5656209f4e0d02c32c38322296de87bdd9688d560dd1d46025929f9a8adc3dc7cbd5127f06c58caf405c8e4c8add84e7e9319aef965e85f7c658173001b8c2f01", + "f3f53b4e7def065704eaf65ff500d33b0522524eb240ecd68d149902334d653a25ec6be35ff944478a852fbc74657d4c6e1c3caef0a525161dbc1b124920cd5000", + "14315ad0efe67c42a7c78da6b84709b22ed187d9417fd2639c88a8f5badf411b0c9ff5ff0420c05d63eb55ce98c743b8e74f73d100cf236cc30b4b397e25a13a01", + "8cd16c423b8ddb65d690651975404a6ead1c8bec450e24181e6c1f1ff914313f2744980e4a3f37977b91133c0c87430156073ef8f523a160e3f266eaa9d4e39100" + ] + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testsuite.go b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testsuite.go new file mode 100755 index 0000000..d4972fe --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testsuite.go @@ -0,0 +1,264 @@ +package testsuite + +import ( + "encoding/base64" + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + secp256k1 "github.com/skycoin/skycoin/src/cipher/secp256k1-go" +) + +// InputTestDataJSON contains hashes to be signed +type InputTestDataJSON struct { + Hashes []string `json:"hashes"` +} + +// KeysTestDataJSON contains address, public key, secret key and list of signatures +type KeysTestDataJSON struct { + Address string `json:"address"` + Secret string `json:"secret"` + Public string `json:"public"` + Signatures []string `json:"signatures,omitempty"` +} + +// SeedTestDataJSON contains data generated by Seed +type SeedTestDataJSON struct { + Seed string `json:"seed"` + Keys []KeysTestDataJSON `json:"keys"` +} + +// InputTestData contains hashes to be signed +type InputTestData struct { + Hashes []cipher.SHA256 +} + +// ToJSON converts InputTestData to InputTestDataJSON +func (d *InputTestData) ToJSON() *InputTestDataJSON { + hashes := make([]string, len(d.Hashes)) + for i, h := range d.Hashes { + hashes[i] = h.Hex() + } + + return &InputTestDataJSON{ + Hashes: hashes, + } +} + +// InputTestDataFromJSON converts InputTestDataJSON to InputTestData +func InputTestDataFromJSON(d *InputTestDataJSON) (*InputTestData, error) { + hashes := make([]cipher.SHA256, len(d.Hashes)) + for i, h := range d.Hashes { + var err error + hashes[i], err = cipher.SHA256FromHex(h) + if err != nil { + return nil, err + } + } + + return &InputTestData{ + Hashes: hashes, + }, nil +} + +// KeysTestData contains address, public key, secret key and list of signatures +type KeysTestData struct { + Address cipher.Address + Secret cipher.SecKey + Public cipher.PubKey + Signatures []cipher.Sig +} + +// ToJSON converts KeysTestData to KeysTestDataJSON +func (k *KeysTestData) ToJSON() *KeysTestDataJSON { + sigs := make([]string, len(k.Signatures)) + for i, s := range k.Signatures { + sigs[i] = s.Hex() + } + + return &KeysTestDataJSON{ + Address: k.Address.String(), + Secret: k.Secret.Hex(), + Public: k.Public.Hex(), + Signatures: sigs, + } +} + +// KeysTestDataFromJSON converts KeysTestDataJSON to KeysTestData +func KeysTestDataFromJSON(d *KeysTestDataJSON) (*KeysTestData, error) { + addr, err := cipher.DecodeBase58Address(d.Address) + if err != nil { + return nil, err + } + + s, err := cipher.SecKeyFromHex(d.Secret) + if err != nil { + return nil, err + } + + p, err := cipher.PubKeyFromHex(d.Public) + if err != nil { + return nil, err + } + + var sigs []cipher.Sig + if d.Signatures != nil { + sigs = make([]cipher.Sig, len(d.Signatures)) + for i, s := range d.Signatures { + var err error + sigs[i], err = cipher.SigFromHex(s) + if err != nil { + return nil, err + } + } + } + + return &KeysTestData{ + Address: addr, + Secret: s, + Public: p, + Signatures: sigs, + }, nil +} + +// SeedTestData contains data generated by Seed +type SeedTestData struct { + Seed []byte + Keys []KeysTestData +} + +// ToJSON converts SeedTestData to SeedTestDataJSON +func (s *SeedTestData) ToJSON() *SeedTestDataJSON { + keys := make([]KeysTestDataJSON, len(s.Keys)) + for i, k := range s.Keys { + kj := k.ToJSON() + keys[i] = *kj + } + + return &SeedTestDataJSON{ + Seed: base64.StdEncoding.EncodeToString(s.Seed), + Keys: keys, + } +} + +// SeedTestDataFromJSON converts SeedTestDataJSON to SeedTestData +func SeedTestDataFromJSON(d *SeedTestDataJSON) (*SeedTestData, error) { + seed, err := base64.StdEncoding.DecodeString(d.Seed) + if err != nil { + return nil, err + } + + keys := make([]KeysTestData, len(d.Keys)) + for i, kj := range d.Keys { + k, err := KeysTestDataFromJSON(&kj) + if err != nil { + return nil, err + } + keys[i] = *k + } + + return &SeedTestData{ + Seed: seed, + Keys: keys, + }, nil +} + +// ValidateSeedData validates the provided SeedTestData against the current cipher library. +// inputData is required if SeedTestData contains signatures +func ValidateSeedData(seedData *SeedTestData, inputData *InputTestData) error { + keys := cipher.GenerateDeterministicKeyPairs(seedData.Seed, len(seedData.Keys)) + if len(seedData.Keys) != len(keys) { + return errors.New("cipher.GenerateDeterministicKeyPairs generated an unexpected number of keys") + } + + for i, s := range keys { + if s == (cipher.SecKey{}) { + return errors.New("secret key is null") + } + if seedData.Keys[i].Secret != s { + return errors.New("generated secret key does not match provided secret key") + } + + p := cipher.PubKeyFromSecKey(s) + if p == (cipher.PubKey{}) { + return errors.New("public key is null") + } + if seedData.Keys[i].Public != p { + return errors.New("derived public key does not match provided public key") + } + + addr1 := cipher.AddressFromPubKey(p) + if addr1 == (cipher.Address{}) { + return errors.New("address is null") + } + if seedData.Keys[i].Address != addr1 { + return errors.New("derived address does not match provided address") + } + + addr2 := cipher.AddressFromSecKey(s) + if addr1 != addr2 { + return errors.New("cipher.AddressFromPubKey and cipher.AddressFromSecKey generated different addresses") + } + + validSec := secp256k1.VerifySeckey(s[:]) + if validSec != 1 { + return errors.New("secp256k1.VerifySeckey failed") + } + + validPub := secp256k1.VerifyPubkey(p[:]) + if validPub != 1 { + return errors.New("secp256k1.VerifyPubkey failed") + } + + if inputData == nil && len(seedData.Keys[i].Signatures) != 0 { + return errors.New("seed data contains signatures but input data was not provided") + } + + if inputData != nil { + if len(seedData.Keys[i].Signatures) != len(inputData.Hashes) { + return errors.New("Number of signatures in seed data does not match number of hashes in input data") + } + + for j, h := range inputData.Hashes { + sig := seedData.Keys[i].Signatures[j] + if sig == (cipher.Sig{}) { + return errors.New("provided signature is null") + } + + err := cipher.VerifySignature(p, sig, h) + if err != nil { + return fmt.Errorf("cipher.VerifySignature failed: %v", err) + } + + err = cipher.ChkSig(addr1, h, sig) + if err != nil { + return fmt.Errorf("cipher.ChkSig failed: %v", err) + } + + err = cipher.VerifySignedHash(sig, h) + if err != nil { + return fmt.Errorf("cipher.VerifySignedHash failed: %v", err) + } + + p2, err := cipher.PubKeyFromSig(sig, h) + if err != nil { + return fmt.Errorf("cipher.PubKeyFromSig failed: %v", err) + } + + if p != p2 { + return errors.New("public key derived from signature does not match public key derived from secret") + } + + sig2 := cipher.SignHash(h, s) + if sig2 == (cipher.Sig{}) { + return errors.New("created signature is null") + } + + // NOTE: signatures are not deterministic, they use a nonce, + // so we don't compare the generated sig to the provided sig + } + } + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testsuite_test.go b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testsuite_test.go new file mode 100755 index 0000000..7d28424 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/testsuite/testsuite_test.go @@ -0,0 +1,76 @@ +package testsuite + +import ( + "os" + "path/filepath" + "regexp" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/util/file" +) + +const ( + testdataDir = "./testdata/" + manyAddressesFilename = "many-addresses.golden" + inputHashesFilename = "input-hashes.golden" + seedFileRegex = `seed-\d+.golden` +) + +func TestManyAddresses(t *testing.T) { + fn := filepath.Join(testdataDir, manyAddressesFilename) + + var dataJSON SeedTestDataJSON + err := file.LoadJSON(fn, &dataJSON) + require.NoError(t, err) + + data, err := SeedTestDataFromJSON(&dataJSON) + require.NoError(t, err) + + err = ValidateSeedData(data, nil) + require.NoError(t, err) +} + +func TestSeedSignatures(t *testing.T) { + fn := filepath.Join(testdataDir, inputHashesFilename) + + var inputDataJSON InputTestDataJSON + err := file.LoadJSON(fn, &inputDataJSON) + require.NoError(t, err) + + inputData, err := InputTestDataFromJSON(&inputDataJSON) + require.NoError(t, err) + + seedFiles := traverseFiles(testdataDir, seedFileRegex) + + for _, fn := range seedFiles { + t.Run(fn, func(t *testing.T) { + fn = filepath.Join(testdataDir, fn) + + var seedDataJSON SeedTestDataJSON + err := file.LoadJSON(fn, &seedDataJSON) + require.NoError(t, err) + + seedData, err := SeedTestDataFromJSON(&seedDataJSON) + require.NoError(t, err) + + err = ValidateSeedData(seedData, inputData) + require.NoError(t, err) + }) + } +} + +func traverseFiles(dir string, filenameTemplate string) []string { // nolint: unparam + files := make([]string, 0) + filepath.Walk(dir, func(path string, f os.FileInfo, _ error) error { + if !f.IsDir() { + r, err := regexp.MatchString(filenameTemplate, f.Name()) + if err == nil && r { + files = append(files, f.Name()) + } + } + return nil + }) + return files +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/add_private_key.go b/vendor/github.com/skycoin/skycoin/src/cli/add_private_key.go new file mode 100755 index 0000000..fb30eaf --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/add_private_key.go @@ -0,0 +1,147 @@ +package cli + +import ( + "errors" + "fmt" + "path/filepath" + + gcli "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/wallet" +) + +func addPrivateKeyCmd(cfg Config) gcli.Command { + name := "addPrivateKey" + return gcli.Command{ + Name: name, + Usage: "Add a private key to specific wallet", + ArgsUsage: "[private key]", + Description: fmt.Sprintf(`Add a private key to specific wallet, the default + wallet (%s) will be + used if the wallet file or path is not specified + + Use caution when using the "-p" command. If you have command + history enabled your wallet encryption password can be recovered from the + history log. If you do not include the "-p" option you will be prompted to + enter your password after you enter your command.`, cfg.FullWalletPath()), + Flags: []gcli.Flag{ + gcli.StringFlag{ + Name: "f", + Usage: "[wallet file or path] private key will be added to this wallet", + }, + gcli.StringFlag{ + Name: "p", + Usage: "[password] wallet password", + }, + }, + OnUsageError: onCommandUsageError(name), + Action: func(c *gcli.Context) error { + cfg := ConfigFromContext(c) + + // get private key + skStr := c.Args().First() + if skStr == "" { + gcli.ShowSubcommandHelp(c) + return nil + } + // get wallet file path + w, err := resolveWalletPath(cfg, c.String("f")) + if err != nil { + return err + } + + pr := NewPasswordReader([]byte(c.String("p"))) + + err = AddPrivateKeyToFile(w, skStr, pr) + + switch err.(type) { + case nil: + fmt.Println("success") + return nil + case WalletLoadError: + errorWithHelp(c, err) + return nil + case WalletSaveError: + return errors.New("save wallet failed") + default: + return err + } + }, + } +} + +// AddPrivateKey adds a private key to a *wallet.Wallet. Caller should save the wallet afterwards +func AddPrivateKey(wlt *wallet.Wallet, key string) error { + sk, err := cipher.SecKeyFromHex(key) + if err != nil { + return fmt.Errorf("invalid private key: %s, must be a hex string of length 64", key) + } + + pk := cipher.PubKeyFromSecKey(sk) + addr := cipher.AddressFromPubKey(pk) + + entry := wallet.Entry{ + Address: addr, + Public: pk, + Secret: sk, + } + + return wlt.AddEntry(entry) +} + +// AddPrivateKeyToFile adds a private key to a wallet based on filename. Will save the wallet after modifying. +func AddPrivateKeyToFile(walletFile, key string, pr PasswordReader) error { + wlt, err := wallet.Load(walletFile) + if err != nil { + return WalletLoadError{err} + } + + switch pr.(type) { + case nil: + if wlt.IsEncrypted() { + return wallet.ErrMissingPassword + } + case PasswordFromBytes: + p, err := pr.Password() + if err != nil { + return err + } + + if !wlt.IsEncrypted() && len(p) != 0 { + return wallet.ErrWalletNotEncrypted + } + } + + addKey := func(w *wallet.Wallet, key string) error { + return AddPrivateKey(w, key) + } + + if wlt.IsEncrypted() { + addKey = func(w *wallet.Wallet, key string) error { + password, err := pr.Password() + if err != nil { + return err + } + + return w.GuardUpdate(password, func(wlt *wallet.Wallet) error { + return AddPrivateKey(wlt, key) + }) + } + } + + if err := addKey(wlt, key); err != nil { + return err + } + + dir, err := filepath.Abs(filepath.Dir(walletFile)) + if err != nil { + return err + } + + if err := wlt.Save(dir); err != nil { + return WalletSaveError{err} + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/address_gen.go b/vendor/github.com/skycoin/skycoin/src/cli/address_gen.go new file mode 100755 index 0000000..9e9b4ed --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/address_gen.go @@ -0,0 +1,85 @@ +package cli + +import ( + "fmt" + + gcli "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/cipher" + bip39 "github.com/skycoin/skycoin/src/cipher/go-bip39" + "github.com/skycoin/skycoin/src/wallet" +) + +func addressGenCmd() gcli.Command { + name := "addressGen" + return gcli.Command{ + Name: name, + Usage: "Generate skycoin or bitcoin addresses", + Description: "", + Flags: []gcli.Flag{ + gcli.IntFlag{ + Name: "count,c", + Value: 1, + Usage: "Number of addresses to generate", + }, + gcli.BoolFlag{ + Name: "hide-secret,s", + Usage: "Hide the secret key from the output", + }, + gcli.BoolFlag{ + Name: "bitcoin,b", + Usage: "Output the addresses as bitcoin addresses instead of skycoin addresses", + }, + gcli.BoolFlag{ + Name: "hex,x", + Usage: "Use hex(sha256sum(rand(1024))) (CSPRNG-generated) as the seed if not seed is not provided", + }, + gcli.BoolFlag{ + Name: "only-addr,oa", + Usage: "Only show generated address list, hide seed, secret key and public key", + }, + gcli.StringFlag{ + Name: "seed", + Usage: "Seed for deterministic key generation. Will use bip39 as the seed if not provided.", + }, + }, + OnUsageError: onCommandUsageError(name), + Action: func(c *gcli.Context) error { + var coinType wallet.CoinType + if c.Bool("bitcoin") { + coinType = wallet.CoinTypeBitcoin + } else { + coinType = wallet.CoinTypeSkycoin + } + + seed := c.String("seed") + if seed == "" { + hex := c.Bool("hex") + if hex { + // generate a new seed, as hex string + seed = cipher.SumSHA256(cipher.RandByte(1024)).Hex() + } else { + var err error + seed, err = bip39.NewDefaultMnemonic() + if err != nil { + return err + } + } + } + + w, err := wallet.CreateAddresses(coinType, seed, c.Int("count"), c.Bool("hide-secret")) + if err != nil { + return err + } + + if !c.Bool("only-addr") { + return printJSON(w) + } + + for _, e := range w.Entries { + fmt.Println(e.Address) + } + return nil + }, + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/blocks.go b/vendor/github.com/skycoin/skycoin/src/cli/blocks.go new file mode 100755 index 0000000..826deb7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/blocks.go @@ -0,0 +1,53 @@ +package cli + +import ( + "fmt" + "strconv" + + gcli "github.com/urfave/cli" +) + +func blocksCmd() gcli.Command { + name := "blocks" + return gcli.Command{ + Name: name, + Usage: "Lists the content of a single block or a range of blocks", + ArgsUsage: "[starting block or single block seq] [ending block seq]", + Action: getBlocks, + OnUsageError: onCommandUsageError(name), + } + // Commands = append(Commands, cmd) +} + +func getBlocks(c *gcli.Context) error { + rpcClient := RPCClientFromContext(c) + + // get start + start := c.Args().Get(0) + end := c.Args().Get(1) + if end == "" { + end = start + } + + if start == "" { + gcli.ShowSubcommandHelp(c) + return nil + } + + s, err := strconv.ParseUint(start, 10, 64) + if err != nil { + return fmt.Errorf("invalid block seq: %v, must be unsigned integer", start) + } + + e, err := strconv.ParseUint(end, 10, 64) + if err != nil { + return fmt.Errorf("invalid block seq: %v, must be unsigned integer", end) + } + + rlt, err := rpcClient.GetBlocks(s, e) + if err != nil { + return err + } + + return printJSON(rlt) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/broadcast_rawtx.go b/vendor/github.com/skycoin/skycoin/src/cli/broadcast_rawtx.go new file mode 100755 index 0000000..02473bd --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/broadcast_rawtx.go @@ -0,0 +1,34 @@ +package cli + +import ( + "fmt" + + gcli "github.com/urfave/cli" +) + +func broadcastTxCmd() gcli.Command { + name := "broadcastTransaction" + return gcli.Command{ + Name: name, + Usage: "Broadcast a raw transaction to the network", + ArgsUsage: "[raw transaction]", + OnUsageError: onCommandUsageError(name), + Action: func(c *gcli.Context) error { + rawtx := c.Args().First() + if rawtx == "" { + gcli.ShowSubcommandHelp(c) + return nil + } + + rpcClient := RPCClientFromContext(c) + txid, err := rpcClient.InjectTransactionString(rawtx) + if err != nil { + return err + } + + fmt.Println(txid) + return nil + }, + } + // Commands = append(Commands, cmd) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/check_balance.go b/vendor/github.com/skycoin/skycoin/src/cli/check_balance.go new file mode 100755 index 0000000..9e99a18 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/check_balance.go @@ -0,0 +1,277 @@ +package cli + +import ( + "fmt" + "strconv" + + gcli "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/api/webrpc" + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/wallet" +) + +// Balance represents an coin and hours balance +type Balance struct { + Coins string `json:"coins"` + Hours string `json:"hours"` +} + +// AddressBalance represents an address's balance +type AddressBalance struct { + Confirmed Balance `json:"confirmed"` + Spendable Balance `json:"spendable"` + Expected Balance `json:"expected"` + Address string `json:"address"` +} + +// BalanceResult represents an set of addresses' balances +type BalanceResult struct { + Confirmed Balance `json:"confirmed"` + Spendable Balance `json:"spendable"` + Expected Balance `json:"expected"` + Addresses []AddressBalance `json:"addresses"` +} + +func walletBalanceCmd(cfg Config) gcli.Command { + name := "walletBalance" + return gcli.Command{ + Name: name, + Usage: "Check the balance of a wallet", + ArgsUsage: "[wallet]", + Description: fmt.Sprintf(`Check balance of specific wallet, the default + wallet (%s) will be + used if no wallet was specified, use ENV 'WALLET_NAME' + to update default wallet file name, and 'WALLET_DIR' to update + the default wallet directory`, cfg.FullWalletPath()), + OnUsageError: onCommandUsageError(name), + Action: checkWltBalance, + } +} + +func addressBalanceCmd() gcli.Command { + name := "addressBalance" + return gcli.Command{ + Name: name, + Usage: "Check the balance of specific addresses", + ArgsUsage: "[addresses]", + Description: `Check balance of specific addresses, join multiple addresses with space. + example: addressBalance "$addr1 $addr2 $addr3"`, + OnUsageError: onCommandUsageError(name), + Action: addrBalance, + } +} + +func checkWltBalance(c *gcli.Context) error { + cfg := ConfigFromContext(c) + rpcClient := RPCClientFromContext(c) + + var w string + if c.NArg() > 0 { + w = c.Args().First() + } + + var err error + w, err = resolveWalletPath(cfg, w) + if err != nil { + return err + } + + balRlt, err := CheckWalletBalance(rpcClient, w) + switch err.(type) { + case nil: + case WalletLoadError: + errorWithHelp(c, err) + return nil + default: + return err + } + + return printJSON(balRlt) +} + +func addrBalance(c *gcli.Context) error { + rpcClient := RPCClientFromContext(c) + + addrs := make([]string, c.NArg()) + var err error + for i := 0; i < c.NArg(); i++ { + addrs[i] = c.Args().Get(i) + if _, err = cipher.DecodeBase58Address(addrs[i]); err != nil { + return fmt.Errorf("invalid address: %v, err: %v", addrs[i], err) + } + } + + balRlt, err := GetBalanceOfAddresses(rpcClient, addrs) + if err != nil { + return err + } + + return printJSON(balRlt) +} + +// PUBLIC + +// CheckWalletBalance returns the total and individual balances of addresses in a wallet file +func CheckWalletBalance(c *webrpc.Client, walletFile string) (*BalanceResult, error) { + wlt, err := wallet.Load(walletFile) + if err != nil { + return nil, WalletLoadError{err} + } + + var addrs []string + addresses := wlt.GetAddresses() + for _, a := range addresses { + addrs = append(addrs, a.String()) + } + + return GetBalanceOfAddresses(c, addrs) +} + +// GetBalanceOfAddresses returns the total and individual balances of a set of addresses +func GetBalanceOfAddresses(c *webrpc.Client, addrs []string) (*BalanceResult, error) { + outs, err := c.GetUnspentOutputs(addrs) + if err != nil { + return nil, err + } + + return getBalanceOfAddresses(outs, addrs) +} + +func getBalanceOfAddresses(outs *webrpc.OutputsResult, addrs []string) (*BalanceResult, error) { + addrsMap := make(map[string]struct{}, len(addrs)) + for _, a := range addrs { + addrsMap[a] = struct{}{} + } + + addrBalances := make(map[string]struct { + confirmed, spendable, expected wallet.Balance + }, len(addrs)) + + // Count confirmed balances + for _, o := range outs.Outputs.HeadOutputs { + if _, ok := addrsMap[o.Address]; !ok { + return nil, fmt.Errorf("Found address %s in GetUnspentOutputs result, but this address wasn't requested", o.Address) + } + + amt, err := droplet.FromString(o.Coins) + if err != nil { + return nil, fmt.Errorf("droplet.FromString failed: %v", err) + } + + b := addrBalances[o.Address] + b.confirmed.Coins += amt + b.confirmed.Hours += o.CalculatedHours + + addrBalances[o.Address] = b + } + + // Count spendable balances + for _, o := range outs.Outputs.SpendableOutputs() { + if _, ok := addrsMap[o.Address]; !ok { + return nil, fmt.Errorf("Found address %s in GetUnspentOutputs result, but this address wasn't requested", o.Address) + } + + amt, err := droplet.FromString(o.Coins) + if err != nil { + return nil, fmt.Errorf("droplet.FromString failed: %v", err) + } + + b := addrBalances[o.Address] + b.spendable.Coins += amt + b.spendable.Hours += o.CalculatedHours + + addrBalances[o.Address] = b + } + + // Count predicted balances + for _, o := range outs.Outputs.ExpectedOutputs() { + if _, ok := addrsMap[o.Address]; !ok { + return nil, fmt.Errorf("Found address %s in GetUnspentOutputs result, but this address wasn't requested", o.Address) + } + + amt, err := droplet.FromString(o.Coins) + if err != nil { + return nil, fmt.Errorf("droplet.FromString failed: %v", err) + } + + b := addrBalances[o.Address] + b.expected.Coins += amt + b.expected.Hours += o.CalculatedHours + + addrBalances[o.Address] = b + } + + toBalance := func(b wallet.Balance) (Balance, error) { + coins, err := droplet.ToString(b.Coins) + if err != nil { + return Balance{}, err + } + + return Balance{ + Coins: coins, + Hours: strconv.FormatUint(b.Hours, 10), + }, nil + } + + var totalConfirmed, totalSpendable, totalExpected wallet.Balance + balRlt := &BalanceResult{ + Addresses: make([]AddressBalance, len(addrs)), + } + + for i, a := range addrs { + b := addrBalances[a] + var err error + + balRlt.Addresses[i].Address = a + + totalConfirmed, err = totalConfirmed.Add(b.confirmed) + if err != nil { + return nil, err + } + + totalSpendable, err = totalSpendable.Add(b.spendable) + if err != nil { + return nil, err + } + + totalExpected, err = totalExpected.Add(b.expected) + if err != nil { + return nil, err + } + + balRlt.Addresses[i].Confirmed, err = toBalance(b.confirmed) + if err != nil { + return nil, err + } + + balRlt.Addresses[i].Spendable, err = toBalance(b.spendable) + if err != nil { + return nil, err + } + + balRlt.Addresses[i].Expected, err = toBalance(b.expected) + if err != nil { + return nil, err + } + } + + var err error + balRlt.Confirmed, err = toBalance(totalConfirmed) + if err != nil { + return nil, err + } + + balRlt.Spendable, err = toBalance(totalSpendable) + if err != nil { + return nil, err + } + + balRlt.Expected, err = toBalance(totalExpected) + if err != nil { + return nil, err + } + + return balRlt, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/check_balance_test.go b/vendor/github.com/skycoin/skycoin/src/cli/check_balance_test.go new file mode 100755 index 0000000..e662717 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/check_balance_test.go @@ -0,0 +1,266 @@ +package cli + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/api/webrpc" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor" +) + +func TestGetBalanceOfAddresses(t *testing.T) { + addrs := []string{ + testutil.MakeAddress().String(), + testutil.MakeAddress().String(), + testutil.MakeAddress().String(), + } + + hashes := make([]string, 10) + for i := 0; i < len(hashes); i++ { + h := testutil.RandSHA256(t) + hashes[i] = h.Hex() + } + + cases := []struct { + name string + outs visor.ReadableOutputSet + addrs []string + result *BalanceResult + err error + }{ + { + name: "confirmed == spendable == expected", + outs: visor.ReadableOutputSet{ + HeadOutputs: visor.ReadableOutputs{ + { + Hash: hashes[0], + Address: addrs[0], + Coins: "99.900000", + CalculatedHours: 3000, + }, + { + Hash: hashes[1], + Address: addrs[0], + Coins: "0.100000", + CalculatedHours: 120000, + }, + { + Hash: hashes[2], + Address: addrs[2], + Coins: "23.111111", + CalculatedHours: 123, + }, + }, + }, + addrs: addrs, + result: &BalanceResult{ + Confirmed: Balance{ + Coins: "123.111111", + Hours: "123123", + }, + Spendable: Balance{ + Coins: "123.111111", + Hours: "123123", + }, + Expected: Balance{ + Coins: "123.111111", + Hours: "123123", + }, + Addresses: []AddressBalance{ + { + Confirmed: Balance{ + Coins: "100.000000", + Hours: "123000", + }, + Spendable: Balance{ + Coins: "100.000000", + Hours: "123000", + }, + Expected: Balance{ + Coins: "100.000000", + Hours: "123000", + }, + Address: addrs[0], + }, + { + Confirmed: Balance{ + Coins: "0.000000", + Hours: "0", + }, + Spendable: Balance{ + Coins: "0.000000", + Hours: "0", + }, + Expected: Balance{ + Coins: "0.000000", + Hours: "0", + }, + Address: addrs[1], + }, + { + Confirmed: Balance{ + Coins: "23.111111", + Hours: "123", + }, + Spendable: Balance{ + Coins: "23.111111", + Hours: "123", + }, + Expected: Balance{ + Coins: "23.111111", + Hours: "123", + }, + Address: addrs[2], + }, + }, + }, + }, + + { + name: "confirmed != spendable != expected", + outs: visor.ReadableOutputSet{ + HeadOutputs: visor.ReadableOutputs{ + { + Hash: hashes[0], + Address: addrs[0], + Coins: "89.900000", + CalculatedHours: 3000, + }, + { + Hash: hashes[1], + Address: addrs[0], + Coins: "0.100000", + CalculatedHours: 97000, + }, + { + Hash: hashes[5], + Address: addrs[0], + Coins: "10.000000", + CalculatedHours: 23000, + }, + { + Hash: hashes[2], + Address: addrs[2], + Coins: "1.000001", + CalculatedHours: 23, + }, + { + Hash: hashes[6], + Address: addrs[2], + Coins: "22.111110", + CalculatedHours: 100, + }, + }, + OutgoingOutputs: visor.ReadableOutputs{ + { + Hash: hashes[5], + Address: addrs[0], + Coins: "10.000000", + CalculatedHours: 23000, + }, + { + Hash: hashes[6], + Address: addrs[2], + Coins: "22.111110", + CalculatedHours: 100, + }, + }, + IncomingOutputs: visor.ReadableOutputs{ + { + Hash: hashes[3], + Address: addrs[1], + Coins: "1.000000", + CalculatedHours: 333, + }, + { + Hash: hashes[4], + Address: addrs[1], + Coins: "0.111111", + CalculatedHours: 0, + }, + { + Hash: hashes[7], + Address: addrs[2], + Coins: "44.999999", + CalculatedHours: 433, + }, + }, + }, + addrs: addrs, + result: &BalanceResult{ + Confirmed: Balance{ + Coins: "123.111111", + Hours: "123123", + }, + Spendable: Balance{ + Coins: "91.000001", + Hours: "100023", + }, + Expected: Balance{ + Coins: "137.111111", + Hours: "100789", + }, + Addresses: []AddressBalance{ + { + Confirmed: Balance{ + Coins: "100.000000", + Hours: "123000", + }, + Spendable: Balance{ + Coins: "90.000000", + Hours: "100000", + }, + Expected: Balance{ + Coins: "90.000000", + Hours: "100000", + }, + Address: addrs[0], + }, + { + Confirmed: Balance{ + Coins: "0.000000", + Hours: "0", + }, + Spendable: Balance{ + Coins: "0.000000", + Hours: "0", + }, + Expected: Balance{ + Coins: "1.111111", + Hours: "333", + }, + Address: addrs[1], + }, + { + Confirmed: Balance{ + Coins: "23.111111", + Hours: "123", + }, + Spendable: Balance{ + Coins: "1.000001", + Hours: "23", + }, + Expected: Balance{ + Coins: "46.000000", + Hours: "456", + }, + Address: addrs[2], + }, + }, + }, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + outs := &webrpc.OutputsResult{ + Outputs: tc.outs, + } + result, err := getBalanceOfAddresses(outs, tc.addrs) + require.Equal(t, tc.err, err) + require.Equal(t, tc.result, result) + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/checkdb.go b/vendor/github.com/skycoin/skycoin/src/cli/checkdb.go new file mode 100755 index 0000000..a43dbea --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/checkdb.go @@ -0,0 +1,85 @@ +package cli + +import ( + "fmt" + "os" + "time" + + "github.com/boltdb/bolt" + gcli "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/util/apputil" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +const ( + blockchainPubkey = "0328c576d3f420e7682058a981173a4b374c7cc5ff55bf394d3cf57059bbe6456a" +) + +// wrapDB calls dbutil.WrapDB and disables all logging +func wrapDB(db *bolt.DB) *dbutil.DB { + wdb := dbutil.WrapDB(db) + wdb.ViewLog = false + wdb.ViewTrace = false + wdb.UpdateLog = false + wdb.UpdateTrace = false + wdb.DurationLog = false + return wdb +} + +func checkdbCmd() gcli.Command { + name := "checkdb" + return gcli.Command{ + Name: name, + Usage: "Verify the database", + ArgsUsage: "[db path]", + Description: "If no argument is specificed, the default data.db in $HOME/.$COIN/ will be checked.", + OnUsageError: onCommandUsageError(name), + Action: checkdb, + } +} + +func checkdb(c *gcli.Context) error { + cfg := ConfigFromContext(c) + + // get db path + dbpath, err := resolveDBPath(cfg, c.Args().First()) + if err != nil { + return err + } + + // check if this file is exist + if _, err := os.Stat(dbpath); os.IsNotExist(err) { + return fmt.Errorf("db file: %v does not exist", dbpath) + } + + db, err := bolt.Open(dbpath, 0600, &bolt.Options{ + Timeout: 5 * time.Second, + ReadOnly: true, + }) + + if err != nil { + return fmt.Errorf("open db failed: %v", err) + } + pubkey, err := cipher.PubKeyFromHex(blockchainPubkey) + if err != nil { + return fmt.Errorf("decode blockchain pubkey failed: %v", err) + } + + quit := QuitChanFromContext(c) + go func() { + apputil.CatchInterrupt(quit) + }() + + if err := visor.CheckDatabase(wrapDB(db), pubkey, quit); err != nil { + if err == visor.ErrVerifyStopped { + return nil + } + return fmt.Errorf("checkdb failed: %v", err) + } + + fmt.Println("check db success") + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/cli.go b/vendor/github.com/skycoin/skycoin/src/cli/cli.go new file mode 100755 index 0000000..15679d8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/cli.go @@ -0,0 +1,409 @@ +/* +Package cli implements an interface for creating a CLI application. +Includes methods for manipulating wallets files and interacting with the +webrpc API to query a skycoin node's status. +*/ +package cli + +import ( + "encoding/json" + "errors" + "fmt" + "net/url" + "path/filepath" + "strconv" + "strings" + "syscall" + + "os" + + gcli "github.com/urfave/cli" + "golang.org/x/crypto/ssh/terminal" + + "github.com/skycoin/skycoin/src/api/webrpc" + "github.com/skycoin/skycoin/src/util/file" +) + +const ( + // Version is the CLI Version + Version = "0.24.1" + walletExt = ".wlt" + defaultCoin = "skycoin" + defaultWalletName = "$COIN_cli" + walletExt + defaultWalletDir = "$DATA_DIR/wallets" + defaultRPCAddress = "http://127.0.0.1:6420" + defaultDataDir = "$HOME/.$COIN/" +) + +var ( + envVarsHelp = fmt.Sprintf(`ENVIRONMENT VARIABLES: + RPC_ADDR: Address of RPC node. Must be in scheme://host format. Default "%s" + COIN: Name of the coin. Default "%s" + USE_CSRF: Set to 1 or true if the remote node has CSRF enabled. Default false (unset) + WALLET_DIR: Directory where wallets are stored. This value is overriden by any subcommand flag specifying a wallet filename, if that filename includes a path. Default "%s" + WALLET_NAME: Name of wallet file (without path). This value is overriden by any subcommand flag specifying a wallet filename. Default "%s" + DATA_DIR: Directory where everything is stored. Default "%s"`, defaultRPCAddress, defaultCoin, defaultWalletDir, defaultWalletName, defaultDataDir) + + commandHelpTemplate = fmt.Sprintf(`USAGE: + {{.HelpName}}{{if .VisibleFlags}} [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}{{if .Category}} + +CATEGORY: + {{.Category}}{{end}}{{if .Description}} + +DESCRIPTION: + {{.Description}}{{end}}{{if .VisibleFlags}} + +OPTIONS: + {{range .VisibleFlags}}{{.}} + {{end}}{{end}} +%s +`, envVarsHelp) + + appHelpTemplate = fmt.Sprintf(`NAME: + {{.Name}}{{if .Usage}} - {{.Usage}}{{end}} + +USAGE: + {{if .UsageText}}{{.UsageText}}{{else}}{{.HelpName}} {{if .VisibleFlags}}[global options]{{end}}{{if .Commands}} command [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}{{end}}{{if .Version}}{{if not .HideVersion}} + +VERSION: + {{.Version}}{{end}}{{end}}{{if .Description}} + +DESCRIPTION: + {{.Description}}{{end}}{{if len .Authors}} + +AUTHOR{{with $length := len .Authors}}{{if ne 1 $length}}S{{end}}{{end}}: + {{range $index, $author := .Authors}}{{if $index}} + {{end}}{{$author}}{{end}}{{end}}{{if .VisibleCommands}} + +COMMANDS:{{range .VisibleCategories}}{{if .Name}} + {{.Name}}:{{end}}{{range .VisibleCommands}} + {{join .Names ", "}}{{"\t"}}{{.Usage}}{{end}}{{end}}{{end}}{{if .VisibleFlags}} + +GLOBAL OPTIONS: + {{range $index, $option := .VisibleFlags}}{{if $index}} + {{end}}{{$option}}{{end}}{{end}}{{if .Copyright}} + +COPYRIGHT: + {{.Copyright}}{{end}} +%s +`, envVarsHelp) + + // ErrWalletName is returned if the wallet file name is invalid + ErrWalletName = fmt.Errorf("error wallet file name, must have %s extension", walletExt) + // ErrAddress is returned if an address is invalid + ErrAddress = errors.New("invalid address") + // ErrJSONMarshal is returned if JSON marshaling failed + ErrJSONMarshal = errors.New("json marshal failed") +) + +// App Wraps the app so that main package won't use the raw App directly, +// which will cause import issue +type App struct { + gcli.App +} + +// Config cli's configuration struct +type Config struct { + WalletDir string `json:"wallet_directory"` + WalletName string `json:"wallet_name"` + DataDir string `json:"data_directory"` + Coin string `json:"coin"` + RPCAddress string `json:"rpc_address"` + UseCSRF bool `json:"use_csrf"` +} + +// LoadConfig loads config from environment, prior to parsing CLI flags +func LoadConfig() (Config, error) { + // get coin name from env + coin := os.Getenv("COIN") + if coin == "" { + coin = defaultCoin + } + + // get rpc address from env + rpcAddr := os.Getenv("RPC_ADDR") + if rpcAddr == "" { + rpcAddr = defaultRPCAddress + } + + if _, err := url.Parse(rpcAddr); err != nil { + return Config{}, errors.New("RPC_ADDR must be in scheme://host format") + } + + home := file.UserHome() + + // get data dir dir from env + dataDir := os.Getenv("DATA_DIR") + if dataDir == "" { + dataDir = filepath.Join(home, fmt.Sprintf(".%s", coin)) + } + + // get wallet dir from env + wltDir := os.Getenv("WALLET_DIR") + if wltDir == "" { + wltDir = filepath.Join(dataDir, "wallets") + } + + // get wallet name from env + wltName := os.Getenv("WALLET_NAME") + if wltName == "" { + wltName = fmt.Sprintf("%s_cli%s", coin, walletExt) + } + + if !strings.HasSuffix(wltName, walletExt) { + return Config{}, ErrWalletName + } + var useCSRF bool + useCSRFStr := os.Getenv("USE_CSRF") + if useCSRFStr != "" { + var err error + useCSRF, err = strconv.ParseBool(useCSRFStr) + if err != nil { + return Config{}, errors.New("Invalid USE_CSRF value, must be interpretable as a boolean e.g. 0, 1, true, false") + } + } + + return Config{ + WalletDir: wltDir, + WalletName: wltName, + DataDir: dataDir, + Coin: coin, + RPCAddress: rpcAddr, + UseCSRF: useCSRF, + }, nil +} + +// FullWalletPath returns the joined wallet dir and wallet name path +func (c Config) FullWalletPath() string { + return filepath.Join(c.WalletDir, c.WalletName) +} + +// FullDBPath returns the joined data directory and db file name path +func (c Config) FullDBPath() string { + return filepath.Join(c.DataDir, "data.db") +} + +// Returns a full wallet path based on cfg and optional cli arg specifying wallet file +// FIXME: A CLI flag for the wallet filename is redundant with the envvar. Remove the flags or the envvar. +func resolveWalletPath(cfg Config, w string) (string, error) { + if w == "" { + w = cfg.FullWalletPath() + } + + if !strings.HasSuffix(w, walletExt) { + return "", ErrWalletName + } + + // If w is only the basename, use the default wallet directory + if filepath.Base(w) == w { + w = filepath.Join(cfg.WalletDir, w) + } + + absW, err := filepath.Abs(w) + if err != nil { + return "", fmt.Errorf("Invalid wallet path %s: %v", w, err) + } + + return absW, nil +} + +func resolveDBPath(cfg Config, db string) (string, error) { + if db == "" { + db = cfg.FullDBPath() + } + + // If db is only the basename, use the default data dir + if filepath.Base(db) == db { + db = filepath.Join(cfg.DataDir, db) + } + + absDB, err := filepath.Abs(db) + if err != nil { + return "", fmt.Errorf("Invalid data path %s: %v", db, err) + } + return absDB, nil +} + +// NewApp creates an app instance +func NewApp(cfg Config) (*App, error) { + gcli.AppHelpTemplate = appHelpTemplate + gcli.SubcommandHelpTemplate = commandHelpTemplate + gcli.CommandHelpTemplate = commandHelpTemplate + + gcliApp := gcli.NewApp() + app := &App{ + App: *gcliApp, + } + + commands := []gcli.Command{ + addPrivateKeyCmd(cfg), + addressBalanceCmd(), + addressGenCmd(), + addressOutputsCmd(), + blocksCmd(), + broadcastTxCmd(), + checkdbCmd(), + createRawTxCmd(cfg), + decodeRawTxCmd(), + generateAddrsCmd(cfg), + generateWalletCmd(cfg), + lastBlocksCmd(), + listAddressesCmd(), + listWalletsCmd(), + sendCmd(), + showConfigCmd(), + statusCmd(), + transactionCmd(), + verifyAddressCmd(), + versionCmd(), + walletBalanceCmd(cfg), + walletDirCmd(), + walletHisCmd(), + walletOutputsCmd(cfg), + encryptWalletCmd(cfg), + decryptWalletCmd(cfg), + showSeedCmd(cfg), + } + + app.Name = fmt.Sprintf("%s-cli", cfg.Coin) + app.Version = Version + app.Usage = fmt.Sprintf("the %s command line interface", cfg.Coin) + app.Commands = commands + app.EnableBashCompletion = true + app.OnUsageError = func(context *gcli.Context, err error, isSubcommand bool) error { + fmt.Fprintf(context.App.Writer, "Error: %v\n\n", err) + gcli.ShowAppHelp(context) + return nil + } + app.CommandNotFound = func(ctx *gcli.Context, command string) { + tmp := fmt.Sprintf("{{.HelpName}}: '%s' is not a {{.HelpName}} command. See '{{.HelpName}} --help'.\n", command) + gcli.HelpPrinter(app.Writer, tmp, app) + gcli.OsExiter(1) + } + + rpcClient, err := webrpc.NewClient(cfg.RPCAddress) + if err != nil { + return nil, err + } + rpcClient.UseCSRF = cfg.UseCSRF + + app.Metadata = map[string]interface{}{ + "config": cfg, + "rpc": rpcClient, + "quitChan": make(chan struct{}), + } + + return app, nil +} + +// Run starts the app +func (app *App) Run(args []string) error { + return app.App.Run(args) +} + +// RPCClientFromContext returns a webrpc.Client from a urfave/cli Context +func RPCClientFromContext(c *gcli.Context) *webrpc.Client { + return c.App.Metadata["rpc"].(*webrpc.Client) +} + +// ConfigFromContext returns a Config from a urfave/cli Context +func ConfigFromContext(c *gcli.Context) Config { + return c.App.Metadata["config"].(Config) +} + +// QuitChanFromContext returns a chan struct{} from a urfave/cli Context +func QuitChanFromContext(c *gcli.Context) chan struct{} { + return c.App.Metadata["quitChan"].(chan struct{}) +} + +func onCommandUsageError(command string) gcli.OnUsageErrorFunc { + return func(c *gcli.Context, err error, isSubcommand bool) error { + fmt.Fprintf(c.App.Writer, "Error: %v\n\n", err) + gcli.ShowCommandHelp(c, command) + return nil + } +} + +func errorWithHelp(c *gcli.Context, err error) { + fmt.Fprintf(c.App.Writer, "Error: %v. See '%s %s --help'\n\n", err, c.App.HelpName, c.Command.Name) +} + +func formatJSON(obj interface{}) ([]byte, error) { + d, err := json.MarshalIndent(obj, "", " ") + if err != nil { + return nil, ErrJSONMarshal + } + return d, nil +} + +func printJSON(obj interface{}) error { + d, err := formatJSON(obj) + if err != nil { + return err + } + + fmt.Println(string(d)) + + return nil +} + +// readPasswordFromTerminal promotes user to enter password and read it. +func readPasswordFromTerminal() ([]byte, error) { + // Promotes to enter the wallet password + fmt.Fprint(os.Stdout, "enter password:") + bp, err := terminal.ReadPassword(int(syscall.Stdin)) + if err != nil { + return nil, err + } + fmt.Fprintln(os.Stdout, "") + return bp, nil +} + +// PUBLIC + +// WalletLoadError is returned if a wallet could not be loaded +type WalletLoadError struct { + error +} + +// WalletSaveError is returned if a wallet could not be saved +type WalletSaveError struct { + error +} + +// PasswordReader is an interface for getting password +type PasswordReader interface { + Password() ([]byte, error) +} + +// PasswordFromBytes represents an implementation of PasswordReader, +// which reads password from the bytes itself. +type PasswordFromBytes []byte + +// Password implements the PasswordReader's Password method +func (p PasswordFromBytes) Password() ([]byte, error) { + return []byte(p), nil +} + +// PasswordFromTerm reads password from terminal +type PasswordFromTerm struct{} + +// Password implements the PasswordReader's Password method +func (p PasswordFromTerm) Password() ([]byte, error) { + v, err := readPasswordFromTerminal() + if err != nil { + return nil, err + } + + return v, nil +} + +// NewPasswordReader creats a PasswordReader instance, +// reads password from the input bytes first, if it's empty, then read from terminal. +func NewPasswordReader(p []byte) PasswordReader { + if len(p) != 0 { + return PasswordFromBytes(p) + } + + return PasswordFromTerm{} +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/cli_test.go b/vendor/github.com/skycoin/skycoin/src/cli/cli_test.go new file mode 100755 index 0000000..7bc3939 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/cli_test.go @@ -0,0 +1,255 @@ +package cli + +import ( + "fmt" + "os" + "path/filepath" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/util/file" +) + +func Example() { + // In cmd/cli/cli.go: + cfg, err := LoadConfig() + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + app, err := NewApp(cfg) + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + if err := app.Run(os.Args); err != nil { + fmt.Println(err) + os.Exit(1) + } +} + +func TestLoadConfig(t *testing.T) { + t.Run("set COIN", func(t *testing.T) { + val := "foocoin" + os.Setenv("COIN", val) + defer os.Unsetenv("COIN") + + cfg, err := LoadConfig() + require.NoError(t, err) + require.Equal(t, cfg.Coin, val) + }) + + t.Run("set RPC_ADDR", func(t *testing.T) { + val := "http://111.22.33.44:5555" + os.Setenv("RPC_ADDR", val) + defer os.Unsetenv("RPC_ADDR") + + cfg, err := LoadConfig() + require.NoError(t, err) + require.Equal(t, cfg.RPCAddress, val) + }) + + t.Run("set RPC_ADDR invalid", func(t *testing.T) { + val := "111.22.33.44:5555" + os.Setenv("RPC_ADDR", val) + defer os.Unsetenv("RPC_ADDR") + + _, err := LoadConfig() + testutil.RequireError(t, err, "RPC_ADDR must be in scheme://host format") + }) + + t.Run("set WALLET_DIR", func(t *testing.T) { + val := "/home/foo/bar" + os.Setenv("WALLET_DIR", val) + defer os.Unsetenv("WALLET_DIR") + + cfg, err := LoadConfig() + require.NoError(t, err) + require.Equal(t, cfg.WalletDir, val) + }) + + t.Run("set WALLET_NAME", func(t *testing.T) { + val := "bar.wlt" + os.Setenv("WALLET_NAME", val) + defer os.Unsetenv("WALLET_NAME") + + cfg, err := LoadConfig() + require.NoError(t, err) + require.Equal(t, cfg.WalletName, val) + }) + + t.Run("set WALLET_NAME invalid", func(t *testing.T) { + val := "badwltext.foo" + os.Setenv("WALLET_NAME", val) + defer os.Unsetenv("WALLET_NAME") + + _, err := LoadConfig() + require.Error(t, err) + require.Equal(t, ErrWalletName, err) + }) + + t.Run("set DATA_DIR", func(t *testing.T) { + val := "/home/foo/" + os.Setenv("DATA_DIR", val) + defer os.Unsetenv("DATA_DIR") + + cfg, err := LoadConfig() + require.NoError(t, err) + require.Equal(t, cfg.DataDir, val) + }) + + t.Run("set WALLET_DIR by DATA_DIR", func(t *testing.T) { + val := "/home/foo/" + os.Setenv("DATA_DIR", val) + defer os.Unsetenv("DATA_DIR") + valWallet := val + "wallets" + cfg, err := LoadConfig() + require.NoError(t, err) + require.Equal(t, cfg.DataDir, val) + require.Equal(t, cfg.WalletDir, valWallet) + }) + + t.Run("don't set USE_CSRF", func(t *testing.T) { + os.Unsetenv("USE_CSRF") + + c, err := LoadConfig() + require.NoError(t, err) + require.False(t, c.UseCSRF) + }) + + t.Run("set USE_CSRF false", func(t *testing.T) { + val := "0" + os.Setenv("USE_CSRF", val) + defer os.Unsetenv("USE_CSRF") + + c, err := LoadConfig() + require.NoError(t, err) + require.False(t, c.UseCSRF) + }) + + t.Run("set USE_CSRF true", func(t *testing.T) { + val := "1" + os.Setenv("USE_CSRF", val) + defer os.Unsetenv("USE_CSRF") + + c, err := LoadConfig() + require.NoError(t, err) + require.True(t, c.UseCSRF) + }) + + t.Run("set USE_CSRF invalid", func(t *testing.T) { + val := "not_boolean" + os.Setenv("USE_CSRF", val) + defer os.Unsetenv("USE_CSRF") + + _, err := LoadConfig() + testutil.RequireError(t, err, "Invalid USE_CSRF value, must be interpretable as a boolean e.g. 0, 1, true, false") + }) +} + +func TestResolveWalletPath(t *testing.T) { + mustLoadConfig := func() Config { + cfg, err := LoadConfig() + require.NoError(t, err) + return cfg + } + + defaultCfg := mustLoadConfig() + expectedFullPath := fmt.Sprintf("%[1]s/.%[2]s/wallets/%[2]s_cli%[3]s", file.UserHome(), defaultCoin, walletExt) + require.Equal(t, expectedFullPath, defaultCfg.FullWalletPath()) + + absPathInput := "./foo/bar.wlt" + absPathOutput, err := filepath.Abs(absPathInput) + require.NoError(t, err) + + tests := []struct { + Name string + WalletDir string + WalletName string + WalletArg string + Error error + Expected string + }{ + { + Name: "default config, empty cli arg", + Expected: defaultCfg.WalletDir + "/" + defaultCfg.WalletName, + }, + { + Name: "default config, nonempty cli arg, invalid extension", + WalletArg: "badwltext.foo", + Error: ErrWalletName, + }, + { + Name: "default config, nonempty cli arg, valid", + WalletArg: "foo.wlt", + Expected: defaultCfg.WalletDir + "/foo.wlt", + }, + { + Name: "nondefault config wallet name, empty cli arg", + WalletName: "bar.wlt", + Expected: defaultCfg.WalletDir + "/bar.wlt", + }, + { + Name: "nondefault config wallet name invalid, empty cli arg", + WalletName: "badwltext.foo", + Error: ErrWalletName, + }, + { + Name: "nondefault config wallet path, empty cli arg", + WalletDir: "/home/foo/somewhere", + Expected: "/home/foo/somewhere/" + defaultCfg.WalletName, + }, + { + Name: "nondefault config wallet path and name, empty cli arg", + WalletDir: "/home/foo/somewhere", + WalletName: "bar.wlt", + Expected: "/home/foo/somewhere/bar.wlt", + }, + { + Name: "nondefault config wallet path and name, cli arg, valid, name only", + WalletDir: "/home/foo/somewhere", + WalletName: "bar.wlt", + WalletArg: "foo.wlt", + Expected: "/home/foo/somewhere/foo.wlt", + }, + { + Name: "nondefault config wallet path and name, cli arg, valid, with path", + WalletDir: "/home/foo/somewhere", + WalletName: "bar.wlt", + WalletArg: "/usr/lib/foo.wlt", + Expected: "/usr/lib/foo.wlt", + }, + { + Name: "wallet arg relative path", + WalletArg: absPathInput, + Expected: absPathOutput, + }, + } + + for _, tc := range tests { + t.Run(tc.Name, func(t *testing.T) { + cfg := mustLoadConfig() + if tc.WalletDir != "" { + cfg.WalletDir = tc.WalletDir + } + if tc.WalletName != "" { + cfg.WalletName = tc.WalletName + } + + w, err := resolveWalletPath(cfg, tc.WalletArg) + + if tc.Error == nil { + require.NoError(t, err) + require.Equal(t, tc.Expected, w) + require.True(t, filepath.IsAbs(w)) + } else { + require.Error(t, err) + require.Equal(t, tc.Error, err) + } + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/create_rawtx.go b/vendor/github.com/skycoin/skycoin/src/cli/create_rawtx.go new file mode 100755 index 0000000..c1b118a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/create_rawtx.go @@ -0,0 +1,686 @@ +package cli + +import ( + "encoding/hex" + "encoding/json" + "errors" + "fmt" + "strings" + + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/util/fee" + + "github.com/skycoin/skycoin/src/api/webrpc" + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/wallet" + + gcli "github.com/urfave/cli" +) + +var ( + // ErrTemporaryInsufficientBalance is returned if a wallet does not have enough balance for a spend, but will have enough after unconfirmed transactions confirm + ErrTemporaryInsufficientBalance = errors.New("balance is not sufficient. Balance will be sufficient after unconfirmed transactions confirm") +) + +// SendAmount represents an amount to send to an address +type SendAmount struct { + Addr string + Coins uint64 +} + +type sendAmountJSON struct { + Addr string `json:"addr"` + Coins string `json:"coins"` +} + +func createRawTxCmd(cfg Config) gcli.Command { + name := "createRawTransaction" + return gcli.Command{ + Name: name, + Usage: "Create a raw transaction to be broadcast to the network later", + ArgsUsage: "[to address] [amount]", + Description: fmt.Sprintf(` + Note: The [amount] argument is the coins you will spend, 1 coins = 1e6 droplets. + + The default wallet (%s) will be + used if no wallet and address was specified. + + + If you are sending from a wallet the coins will be taken iteratively + from all addresses within the wallet starting with the first address until + the amount of the transaction is met. + + Use caution when using the "-p" command. If you have command history enabled + your wallet encryption password can be recovered from the history log. If you + do not include the "-p" option you will be prompted to enter your password + after you enter your command.`, cfg.FullWalletPath()), + Flags: []gcli.Flag{ + gcli.StringFlag{ + Name: "f", + Usage: "[wallet file or path], From wallet", + }, + gcli.StringFlag{ + Name: "a", + Usage: "[address] From address", + }, + gcli.StringFlag{ + Name: "c", + Usage: `[changeAddress] Specify different change address. + By default the from address or a wallets coinbase address will be used.`, + }, + gcli.StringFlag{ + Name: "m", + Usage: `[send to many] use JSON string to set multiple receive addresses and coins, + example: -m '[{"addr":"$addr1", "coins": "10.2"}, {"addr":"$addr2", "coins": "20"}]'`, + }, + gcli.StringFlag{ + Name: "p", + Usage: "[password] Wallet password", + }, + gcli.BoolFlag{ + Name: "json,j", + Usage: "Returns the results in JSON format.", + }, + }, + OnUsageError: onCommandUsageError(name), + Action: func(c *gcli.Context) error { + tx, err := createRawTxCmdHandler(c) + switch err.(type) { + case nil: + case WalletLoadError: + errorWithHelp(c, err) + case WalletSaveError: + return errors.New("save wallet failed") + default: + return err + } + + rawTx := hex.EncodeToString(tx.Serialize()) + + if c.Bool("json") { + return printJSON(struct { + RawTx string `json:"rawtx"` + }{ + RawTx: rawTx, + }) + } + + fmt.Println(rawTx) + return nil + }, + } +} + +type walletAddress struct { + Wallet string + Address string +} + +func fromWalletOrAddress(c *gcli.Context) (walletAddress, error) { + cfg := ConfigFromContext(c) + + wlt, err := resolveWalletPath(cfg, c.String("f")) + if err != nil { + return walletAddress{}, err + } + + wltAddr := walletAddress{ + Wallet: wlt, + } + + wltAddr.Address = c.String("a") + if wltAddr.Address == "" { + return wltAddr, nil + } + + if _, err := cipher.DecodeBase58Address(wltAddr.Address); err != nil { + return walletAddress{}, fmt.Errorf("invalid address: %s", wltAddr.Address) + } + + return wltAddr, nil +} + +func getChangeAddress(wltAddr walletAddress, chgAddr string) (string, error) { + if chgAddr == "" { + switch { + case wltAddr.Address != "": + // use the from address as change address + chgAddr = wltAddr.Address + case wltAddr.Wallet != "": + // get the default wallet's coin base address + wlt, err := wallet.Load(wltAddr.Wallet) + if err != nil { + return "", WalletLoadError{err} + } + + if len(wlt.Entries) > 0 { + chgAddr = wlt.Entries[0].Address.String() + } else { + return "", errors.New("no change address was found") + } + default: + return "", errors.New("both wallet file, from address and change address are empty") + } + } + + // validate the address + _, err := cipher.DecodeBase58Address(chgAddr) + if err != nil { + return "", fmt.Errorf("invalid change address: %s", chgAddr) + } + + return chgAddr, nil +} + +func getToAddresses(c *gcli.Context) ([]SendAmount, error) { + m := c.String("m") + if m != "" { + sas := []sendAmountJSON{} + if err := json.NewDecoder(strings.NewReader(m)).Decode(&sas); err != nil { + return nil, fmt.Errorf("invalid -m flag string, err:%v", err) + } + sendAmts := make([]SendAmount, 0, len(sas)) + for _, sa := range sas { + amt, err := droplet.FromString(sa.Coins) + if err != nil { + return nil, fmt.Errorf("invalid coins value in -m flag string: %v", err) + } + + sendAmts = append(sendAmts, SendAmount{ + Addr: sa.Addr, + Coins: amt, + }) + } + return sendAmts, nil + } + + if c.NArg() < 2 { + return nil, errors.New("invalid argument") + } + + toAddr := c.Args().First() + // validate address + if _, err := cipher.DecodeBase58Address(toAddr); err != nil { + return nil, err + } + + amt, err := getAmount(c) + if err != nil { + return nil, err + } + return []SendAmount{{toAddr, amt}}, nil +} + +func getAmount(c *gcli.Context) (uint64, error) { + if c.NArg() < 2 { + return 0, errors.New("invalid argument") + } + + amount := c.Args().Get(1) + amt, err := droplet.FromString(amount) + if err != nil { + return 0, fmt.Errorf("invalid amount: %v", err) + } + + return amt, nil +} + +func createRawTxCmdHandler(c *gcli.Context) (*coin.Transaction, error) { + rpcClient := RPCClientFromContext(c) + + wltAddr, err := fromWalletOrAddress(c) + if err != nil { + return nil, err + } + + chgAddr, err := getChangeAddress(wltAddr, c.String("c")) + if err != nil { + return nil, err + } + + toAddrs, err := getToAddresses(c) + if err != nil { + return nil, err + } + + if err := validateSendAmounts(toAddrs); err != nil { + return nil, err + } + + pr := NewPasswordReader([]byte(c.String("p"))) + if wltAddr.Address == "" { + return CreateRawTxFromWallet(rpcClient, wltAddr.Wallet, chgAddr, toAddrs, pr) + } + + return CreateRawTxFromAddress(rpcClient, wltAddr.Address, wltAddr.Wallet, chgAddr, toAddrs, pr) +} + +func validateSendAmounts(toAddrs []SendAmount) error { + for _, arg := range toAddrs { + // validate to address + _, err := cipher.DecodeBase58Address(arg.Addr) + if err != nil { + return ErrAddress + } + + if arg.Coins == 0 { + return errors.New("Cannot send 0 coins") + } + } + + if len(toAddrs) == 0 { + return errors.New("No destination addresses") + } + + return nil +} + +// PUBLIC + +// CreateRawTxFromWallet creates a transaction from any address or combination of addresses in a wallet +func CreateRawTxFromWallet(c *webrpc.Client, walletFile, chgAddr string, toAddrs []SendAmount, pr PasswordReader) (*coin.Transaction, error) { + // check change address + cAddr, err := cipher.DecodeBase58Address(chgAddr) + if err != nil { + return nil, ErrAddress + } + + // check if the change address is in wallet. + wlt, err := wallet.Load(walletFile) + if err != nil { + return nil, err + } + + _, ok := wlt.GetEntry(cAddr) + if !ok { + return nil, fmt.Errorf("change address %v is not in wallet", chgAddr) + } + + switch pr.(type) { + case nil: + if wlt.IsEncrypted() { + return nil, wallet.ErrWalletEncrypted + } + case PasswordFromBytes: + p, err := pr.Password() + if err != nil { + return nil, err + } + + if !wlt.IsEncrypted() && len(p) != 0 { + return nil, wallet.ErrWalletNotEncrypted + } + } + + var password []byte + if wlt.IsEncrypted() { + var err error + password, err = pr.Password() + if err != nil { + return nil, err + } + } + + // get all address in the wallet + totalAddrs := wlt.GetAddresses() + addrStrArray := make([]string, len(totalAddrs)) + for i, a := range totalAddrs { + addrStrArray[i] = a.String() + } + + return CreateRawTx(c, wlt, addrStrArray, chgAddr, toAddrs, password) +} + +// CreateRawTxFromAddress creates a transaction from a specific address in a wallet +func CreateRawTxFromAddress(c *webrpc.Client, addr, walletFile, chgAddr string, toAddrs []SendAmount, pr PasswordReader) (*coin.Transaction, error) { + // check if the address is in the default wallet. + wlt, err := wallet.Load(walletFile) + if err != nil { + return nil, err + } + + srcAddr, err := cipher.DecodeBase58Address(addr) + if err != nil { + return nil, ErrAddress + } + + _, ok := wlt.GetEntry(srcAddr) + if !ok { + return nil, fmt.Errorf("%v address is not in wallet", addr) + } + + // validate change address + cAddr, err := cipher.DecodeBase58Address(chgAddr) + if err != nil { + return nil, ErrAddress + } + + _, ok = wlt.GetEntry(cAddr) + if !ok { + return nil, fmt.Errorf("change address %v is not in wallet", chgAddr) + } + + switch pr.(type) { + case nil: + if wlt.IsEncrypted() { + return nil, wallet.ErrWalletEncrypted + } + case PasswordFromBytes: + p, err := pr.Password() + if err != nil { + return nil, err + } + + if !wlt.IsEncrypted() && len(p) != 0 { + return nil, wallet.ErrWalletNotEncrypted + } + } + + var password []byte + if wlt.IsEncrypted() { + var err error + password, err = pr.Password() + if err != nil { + return nil, err + } + } + + return CreateRawTx(c, wlt, []string{addr}, chgAddr, toAddrs, password) +} + +// CreateRawTx creates a transaction from a set of addresses contained in a loaded *wallet.Wallet +func CreateRawTx(c *webrpc.Client, wlt *wallet.Wallet, inAddrs []string, chgAddr string, toAddrs []SendAmount, password []byte) (*coin.Transaction, error) { + if err := validateSendAmounts(toAddrs); err != nil { + return nil, err + } + + // Get unspent outputs of those addresses + unspents, err := c.GetUnspentOutputs(inAddrs) + if err != nil { + return nil, err + } + + inUxs, err := unspents.Outputs.SpendableOutputs().ToUxArray() + if err != nil { + return nil, err + } + + txn, err := createRawTx(unspents.Outputs, wlt, chgAddr, toAddrs, password) + if err != nil { + return nil, err + } + + // filter out unspents which are not used in transaction + var inUxsFiltered coin.UxArray + for _, h := range txn.In { + for _, u := range inUxs { + if h == u.Hash() { + inUxsFiltered = append(inUxsFiltered, u) + } + } + } + + // TODO -- remove me -- reimplementation of visor.VerifySingleTxnSoftConstraints minus + // the parts that require block head data, which is not available from the RPC API (see below) + if err := verifyTransactionConstraints(txn, inUxsFiltered, visor.DefaultMaxBlockSize); err != nil { + return nil, err + } + + // TODO -- verify against soft and hard constraints + // Need to get the head block to do verification. + // The head block is not exposed over the JSON RPC, which webrpc.Client uses. + // Need to remove the JSON RPC API and have the client make requests to the HTTP API. + // Once the HTTP API is used, + // Need to request /blockchain/metadata to get the head block time + // This could lead to race conditions; /blockchain/metadata should return the full head, or have an API endpoint + // just for the head, and/or include the head block in the get_outputs response + // The head block is used for calculating inUxs's coin hours. + // if err := visor.VerifySingleTxnSoftConstraints(txn, inUxs, visor.DefaultMaxBlockSize); err != nil { + // return nil, err + // } + // if err := visor.VerifySingleTxnHardConstraints(txn, head, inUxs); err != nil { + // return nil, err + // } + + return txn, nil +} + +// TODO -- remove me -- reimplementation of visor.VerifySingleTxnSoftConstraints and HardConstraints +// minus the parts that require block head data, which is not available from the RPC API (see below) +func verifyTransactionConstraints(txn *coin.Transaction, uxIn coin.UxArray, maxSize int) error { // nolint: unparam + // SOFT constraints: + + if txn.Size() > maxSize { + return errors.New("Transaction size bigger than max block size") + } + + if visor.TransactionIsLocked(uxIn) { + return errors.New("Transaction has locked address inputs") + } + + // Ignore transactions that do not conform to decimal restrictions + for _, o := range txn.Out { + if err := visor.DropletPrecisionCheck(o.Coins); err != nil { + return err + } + } + + // HARD constraints: + + if err := txn.Verify(); err != nil { + return err + } + + // Checks whether ux inputs exist, + // Check that signatures are allowed to spend inputs + if err := txn.VerifyInput(uxIn); err != nil { + return err + } + + // Verify CoinHours do not overflow + if _, err := txn.OutputHours(); err != nil { + return err + } + + // Check that no coins are created or destroyed + // TODO -- use the correct block head, once we have it from the API + // For now it doesn't matter, the block head is used to calculate the uxOut hours, + // but we're not validating the hours + uxOut := coin.CreateUnspents(coin.BlockHeader{ + BkSeq: 1, + }, *txn) + return coin.VerifyTransactionCoinsSpending(uxIn, uxOut) + + // TODO -- use coin.VerifyTransactionHoursSpending, once we have the head block + // return coin.VerifyTransactionHoursSpending(head.Time(), uxIn, uxOut) +} + +func createRawTx(uxouts visor.ReadableOutputSet, wlt *wallet.Wallet, chgAddr string, toAddrs []SendAmount, password []byte) (*coin.Transaction, error) { + // Calculate total required coins + var totalCoins uint64 + for _, arg := range toAddrs { + var err error + totalCoins, err = coin.AddUint64(totalCoins, arg.Coins) + if err != nil { + return nil, err + } + } + + spendOutputs, err := chooseSpends(uxouts, totalCoins) + if err != nil { + return nil, err + } + + txOuts, err := makeChangeOut(spendOutputs, chgAddr, toAddrs) + if err != nil { + return nil, err + } + + f := func(w *wallet.Wallet) (*coin.Transaction, error) { + keys, err := getKeys(w, spendOutputs) + if err != nil { + return nil, err + } + + return NewTransaction(spendOutputs, keys, txOuts), nil + } + + makeTx := func() (*coin.Transaction, error) { + return f(wlt) + } + + if wlt.IsEncrypted() { + makeTx = func() (*coin.Transaction, error) { + var tx *coin.Transaction + if err := wlt.GuardView(password, func(w *wallet.Wallet) error { + var err error + tx, err = f(w) + return err + }); err != nil { + return nil, err + } + + return tx, nil + } + } + + return makeTx() +} + +func chooseSpends(uxouts visor.ReadableOutputSet, coins uint64) ([]wallet.UxBalance, error) { + // Convert spendable unspent outputs to []wallet.UxBalance + spendableOutputs, err := visor.ReadableOutputsToUxBalances(uxouts.SpendableOutputs()) + if err != nil { + return nil, err + } + + // Choose which unspent outputs to spend + // Use the MinimizeUxOuts strategy, since this is most likely used by + // application that may need to send frequently. + // Using fewer UxOuts will leave more available for other transactions, + // instead of waiting for confirmation. + outs, err := wallet.ChooseSpendsMinimizeUxOuts(spendableOutputs, coins, 0) + if err != nil { + // If there is not enough balance in the spendable outputs, + // see if there is enough balance when including incoming outputs + if err == wallet.ErrInsufficientBalance { + expectedOutputs, otherErr := visor.ReadableOutputsToUxBalances(uxouts.ExpectedOutputs()) + if otherErr != nil { + return nil, otherErr + } + + if _, otherErr := wallet.ChooseSpendsMinimizeUxOuts(expectedOutputs, coins, 0); otherErr != nil { + return nil, err + } + + return nil, ErrTemporaryInsufficientBalance + } + + return nil, err + } + + return outs, nil +} + +func makeChangeOut(outs []wallet.UxBalance, chgAddr string, toAddrs []SendAmount) ([]coin.TransactionOutput, error) { + var totalInCoins, totalInHours, totalOutCoins uint64 + + for _, o := range outs { + totalInCoins += o.Coins + totalInHours += o.Hours + } + + if totalInHours == 0 { + return nil, fee.ErrTxnNoFee + } + + for _, to := range toAddrs { + totalOutCoins += to.Coins + } + + if totalInCoins < totalOutCoins { + return nil, wallet.ErrInsufficientBalance + } + + outAddrs := []coin.TransactionOutput{} + changeAmount := totalInCoins - totalOutCoins + + haveChange := changeAmount > 0 + nAddrs := uint64(len(toAddrs)) + changeHours, addrHours, totalOutHours := wallet.DistributeSpendHours(totalInHours, nAddrs, haveChange) + + if err := fee.VerifyTransactionFeeForHours(totalOutHours, totalInHours-totalOutHours); err != nil { + return nil, err + } + + for i, to := range toAddrs { + // check if changeHours > 0, we do not need to cap addrHours when changeHours is zero + // changeHours is zero when there is no change left or all the coinhours were used in fees + // 1) if there is no change then the remaining coinhours are evenly distributed among the destination addresses + // 2) if all the coinhours are burned in fees then all addrHours are zero by default + if changeHours > 0 { + // the coinhours are capped to a maximum of incoming coins for the address + // if incoming coins < 1 then the cap is set to 1 coinhour + + spendCoinsAmt := to.Coins / 1e6 + if spendCoinsAmt == 0 { + spendCoinsAmt = 1 + } + + // allow addrHours to be less than the incoming coins of the address but not more + if addrHours[i] > spendCoinsAmt { + // cap the addrHours, move the difference to changeHours + changeHours += addrHours[i] - spendCoinsAmt + addrHours[i] = spendCoinsAmt + } + } + + outAddrs = append(outAddrs, mustMakeUtxoOutput(to.Addr, to.Coins, addrHours[i])) + } + + if haveChange { + outAddrs = append(outAddrs, mustMakeUtxoOutput(chgAddr, changeAmount, changeHours)) + } + + return outAddrs, nil +} + +func mustMakeUtxoOutput(addr string, coins, hours uint64) coin.TransactionOutput { + uo := coin.TransactionOutput{} + uo.Address = cipher.MustDecodeBase58Address(addr) + uo.Coins = coins + uo.Hours = hours + return uo +} + +func getKeys(wlt *wallet.Wallet, outs []wallet.UxBalance) ([]cipher.SecKey, error) { + keys := make([]cipher.SecKey, len(outs)) + for i, o := range outs { + entry, ok := wlt.GetEntry(o.Address) + if !ok { + return nil, fmt.Errorf("%v is not in wallet", o.Address.String()) + } + + keys[i] = entry.Secret + } + return keys, nil +} + +// NewTransaction creates a transaction. The transaction should be validated against hard and soft constraints before transmission. +func NewTransaction(utxos []wallet.UxBalance, keys []cipher.SecKey, outs []coin.TransactionOutput) *coin.Transaction { + tx := coin.Transaction{} + for _, u := range utxos { + tx.PushInput(u.Hash) + } + + for _, o := range outs { + tx.PushOutput(o.Address, o.Coins, o.Hours) + } + + tx.SignInputs(keys) + + tx.UpdateHeader() + return &tx +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/create_rawtx_test.go b/vendor/github.com/skycoin/skycoin/src/cli/create_rawtx_test.go new file mode 100755 index 0000000..692b456 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/create_rawtx_test.go @@ -0,0 +1,531 @@ +package cli + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/util/fee" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/wallet" +) + +func TestMakeChangeOut(t *testing.T) { + // single destination test + uxOuts := []wallet.UxBalance{ + { + Hash: cipher.MustSHA256FromHex("f569461182b0efe9a5c666e9a35c6602b351021c1803cc740aca548cf6db4cb2"), + Address: cipher.MustDecodeBase58Address("k3rmz3PGbTxd7KL8AL5CeHrWy35C1UcWND"), + BkSeq: 10, + Coins: 400e6, + Hours: 1, + }, + { + Hash: cipher.MustSHA256FromHex("bddf0aaf80f96c144f33ac8a27764a868d37e1c11e568063ebeb1367de859566"), + Address: cipher.MustDecodeBase58Address("A2h4iWC1SDGmS6UPezatFzEUwirLJtjFUe"), + BkSeq: 11, + Coins: 300e6, + Hours: 1, + }, + } + + spendAmt := []SendAmount{{ + Addr: "2PBmUva7J8WFsyWg979cREZkU3z2pkYjNkE", + Coins: 600e6, + }} + + chgAddr := "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ" + _, err := cipher.DecodeBase58Address(chgAddr) + require.NoError(t, err) + + txOuts, err := makeChangeOut(uxOuts, chgAddr, spendAmt) + require.NoError(t, err) + require.NotEmpty(t, txOuts) + + // Should have a change output and an output to the destination in toAddrs + require.Len(t, txOuts, 2) + + chgOut := txOuts[1] + t.Logf("chgOut:%+v\n", chgOut) + require.Equal(t, chgAddr, chgOut.Address.String()) + require.Exactly(t, uint64(100e6), chgOut.Coins) + + spendOut := txOuts[0] + require.Equal(t, spendAmt[0].Addr, spendOut.Address.String()) + require.Exactly(t, spendAmt[0].Coins, spendOut.Coins) + + require.Exactly(t, uint64(1), chgOut.Hours) + require.Exactly(t, uint64(0), spendOut.Hours) + + // multiple destination test + uxOuts = []wallet.UxBalance{ + { + Hash: cipher.MustSHA256FromHex("f569461182b0efe9a5c666e9a35c6602b351021c1803cc740aca548cf6db4cb2"), + Address: cipher.MustDecodeBase58Address("k3rmz3PGbTxd7KL8AL5CeHrWy35C1UcWND"), + BkSeq: 10, + Coins: 10e6, + Hours: 8, + }, + { + Hash: cipher.MustSHA256FromHex("bddf0aaf80f96c144f33ac8a27764a868d37e1c11e568063ebeb1367de859566"), + Address: cipher.MustDecodeBase58Address("A2h4iWC1SDGmS6UPezatFzEUwirLJtjFUe"), + BkSeq: 11, + Coins: 5e6, + Hours: 16, + }, + } + + spendAmt = []SendAmount{ + { + Addr: "2PBmUva7J8WFsyWg979cREZkU3z2pkYjNkE", + Coins: 1e6, + }, + { + Addr: "2CgSQ4FbtfbP6fJqmy75WwkW2tNsKPL2zzp", + Coins: 2e6, + }} + + _, err = cipher.DecodeBase58Address(chgAddr) + require.NoError(t, err) + + txOuts, err = makeChangeOut(uxOuts, chgAddr, spendAmt) + require.NoError(t, err) + require.NotEmpty(t, txOuts) + + // Should have a change output and two output to the destination in toAddrs + require.Len(t, txOuts, 3) + + chgOut = txOuts[2] + t.Logf("chgOut:%+v\n", chgOut) + require.Equal(t, chgAddr, chgOut.Address.String()) + require.Exactly(t, uint64(12e6), chgOut.Coins) + + for i := range spendAmt { + require.Equal(t, spendAmt[i].Addr, txOuts[i].Address.String()) + require.Exactly(t, spendAmt[i].Coins, txOuts[i].Coins) + } + + require.Exactly(t, uint64(9), chgOut.Hours) + require.Exactly(t, uint64(1), txOuts[0].Hours) + require.Exactly(t, uint64(2), txOuts[1].Hours) +} + +func TestMakeChangeOutMinOneCoinHourSend(t *testing.T) { + uxOuts := []wallet.UxBalance{ + { + Hash: cipher.MustSHA256FromHex("f569461182b0efe9a5c666e9a35c6602b351021c1803cc740aca548cf6db4cb2"), + Address: cipher.MustDecodeBase58Address("k3rmz3PGbTxd7KL8AL5CeHrWy35C1UcWND"), + BkSeq: 10, + Coins: 400e6, + Hours: 200, + }, + { + Hash: cipher.MustSHA256FromHex("bddf0aaf80f96c144f33ac8a27764a868d37e1c11e568063ebeb1367de859566"), + Address: cipher.MustDecodeBase58Address("A2h4iWC1SDGmS6UPezatFzEUwirLJtjFUe"), + BkSeq: 11, + Coins: 300e6, + Hours: 100, + }, + } + + spendAmt := []SendAmount{{ + Addr: "2PBmUva7J8WFsyWg979cREZkU3z2pkYjNkE", + Coins: 0.001e6, + }} + + chgAddr := "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ" + _, err := cipher.DecodeBase58Address(chgAddr) + require.NoError(t, err) + + txOuts, err := makeChangeOut(uxOuts, chgAddr, spendAmt) + require.NoError(t, err) + require.NotEmpty(t, txOuts) + + // Should have a change output and an output to the destination in toAddrs + require.Len(t, txOuts, 2) + + chgOut := txOuts[1] + t.Logf("chgOut:%+v\n", chgOut) + require.Equal(t, chgAddr, chgOut.Address.String()) + require.Exactly(t, uint64(699.999e6), chgOut.Coins) + + spendOut := txOuts[0] + require.Equal(t, spendAmt[0].Addr, spendOut.Address.String()) + require.Exactly(t, spendAmt[0].Coins, spendOut.Coins) + + require.Exactly(t, uint64(149), chgOut.Hours) + require.Exactly(t, uint64(1), spendOut.Hours) +} + +func TestMakeChangeOutCoinHourCap(t *testing.T) { + uxOuts := []wallet.UxBalance{ + { + Hash: cipher.MustSHA256FromHex("f569461182b0efe9a5c666e9a35c6602b351021c1803cc740aca548cf6db4cb2"), + Address: cipher.MustDecodeBase58Address("k3rmz3PGbTxd7KL8AL5CeHrWy35C1UcWND"), + BkSeq: 10, + Coins: 400e6, + Hours: 2000, + }, + { + Hash: cipher.MustSHA256FromHex("bddf0aaf80f96c144f33ac8a27764a868d37e1c11e568063ebeb1367de859566"), + Address: cipher.MustDecodeBase58Address("A2h4iWC1SDGmS6UPezatFzEUwirLJtjFUe"), + BkSeq: 11, + Coins: 300e6, + Hours: 1000, + }, + } + + spendAmt := []SendAmount{{ + Addr: "2PBmUva7J8WFsyWg979cREZkU3z2pkYjNkE", + Coins: 600e6, + }} + + chgAddr := "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ" + _, err := cipher.DecodeBase58Address(chgAddr) + require.NoError(t, err) + + txOuts, err := makeChangeOut(uxOuts, chgAddr, spendAmt) + require.NoError(t, err) + require.NotEmpty(t, txOuts) + + // Should have a change output and an output to the destination in toAddrs + require.Len(t, txOuts, 2) + + chgOut := txOuts[1] + t.Logf("chgOut:%+v\n", chgOut) + require.Equal(t, chgAddr, chgOut.Address.String()) + require.Exactly(t, uint64(100e6), chgOut.Coins) + + spendOut := txOuts[0] + require.Equal(t, spendAmt[0].Addr, spendOut.Address.String()) + require.Exactly(t, spendAmt[0].Coins, spendOut.Coins) + + require.Exactly(t, uint64(900), chgOut.Hours) + require.Exactly(t, uint64(600), spendOut.Hours) +} + +func TestMakeChangeOutOneCoinHour(t *testing.T) { + // As long as there is at least one coin hour left, creating a transaction + // will still succeed + uxOuts := []wallet.UxBalance{ + { + Hash: cipher.MustSHA256FromHex("f569461182b0efe9a5c666e9a35c6602b351021c1803cc740aca548cf6db4cb2"), + BkSeq: 10, + Address: cipher.MustDecodeBase58Address("k3rmz3PGbTxd7KL8AL5CeHrWy35C1UcWND"), + Coins: 400e6, + Hours: 0, + }, + { + Hash: cipher.MustSHA256FromHex("bddf0aaf80f96c144f33ac8a27764a868d37e1c11e568063ebeb1367de859566"), + BkSeq: 11, + Address: cipher.MustDecodeBase58Address("A2h4iWC1SDGmS6UPezatFzEUwirLJtjFUe"), + Coins: 300e6, + Hours: 1, + }, + } + + spendAmt := []SendAmount{{ + Addr: "2PBmUva7J8WFsyWg979cREZkU3z2pkYjNkE", + Coins: 600e6, + }} + + chgAddr := "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ" + _, err := cipher.DecodeBase58Address(chgAddr) + require.NoError(t, err) + + txOuts, err := makeChangeOut(uxOuts, chgAddr, spendAmt) + require.NoError(t, err) + require.NotEmpty(t, txOuts) + + // Should have a change output and an output to the destination in toAddrs + require.Len(t, txOuts, 2) + + chgOut := txOuts[1] + t.Logf("chgOut:%+v\n", chgOut) + require.Equal(t, chgAddr, chgOut.Address.String()) + require.Exactly(t, uint64(100e6), chgOut.Coins) + require.Exactly(t, uint64(0), chgOut.Hours) + + spendOut := txOuts[0] + require.Equal(t, spendAmt[0].Addr, spendOut.Address.String()) + require.Exactly(t, spendAmt[0].Coins, spendOut.Coins) + require.Exactly(t, uint64(0), spendOut.Hours) +} + +func TestMakeChangeOutInsufficientCoinHours(t *testing.T) { + // If there are no coin hours in the inputs, creating the txn will fail + // because it will not be accepted by the network + uxOuts := []wallet.UxBalance{ + { + Hash: cipher.MustSHA256FromHex("f569461182b0efe9a5c666e9a35c6602b351021c1803cc740aca548cf6db4cb2"), + BkSeq: 10, + Address: cipher.MustDecodeBase58Address("k3rmz3PGbTxd7KL8AL5CeHrWy35C1UcWND"), + Coins: 400e6, + Hours: 0, + }, + { + Hash: cipher.MustSHA256FromHex("bddf0aaf80f96c144f33ac8a27764a868d37e1c11e568063ebeb1367de859566"), + BkSeq: 11, + Address: cipher.MustDecodeBase58Address("A2h4iWC1SDGmS6UPezatFzEUwirLJtjFUe"), + Coins: 300e6, + Hours: 0, + }, + } + + spendAmt := []SendAmount{{ + Addr: "2PBmUva7J8WFsyWg979cREZkU3z2pkYjNkE", + Coins: 600e6, + }} + + chgAddr := "2konv5no3DZvSMxf2GPVtAfZinfwqCGhfVQ" + _, err := cipher.DecodeBase58Address(chgAddr) + require.NoError(t, err) + + _, err = makeChangeOut(uxOuts, chgAddr, spendAmt) + testutil.RequireError(t, err, fee.ErrTxnNoFee.Error()) +} + +func TestChooseSpends(t *testing.T) { + // Start with visor.ReadableOutputSet + // Spends should be minimized + + // Insufficient HeadOutputs + // Sufficient HeadOutputs, but insufficient after adjusting for OutgoingOutputs + // Insufficient HeadOutputs, but sufficient after adjusting for IncomingOutputs + // Sufficient HeadOutputs after adjusting for OutgoingOutputs + + var coins uint64 = 100e6 + + hashA := testutil.RandSHA256(t).Hex() + hashB := testutil.RandSHA256(t).Hex() + hashC := testutil.RandSHA256(t).Hex() + hashD := testutil.RandSHA256(t).Hex() + + addrA := testutil.MakeAddress().String() + addrB := testutil.MakeAddress().String() + addrC := testutil.MakeAddress().String() + addrD := testutil.MakeAddress().String() + + cases := []struct { + name string + err error + spendLen int + ros visor.ReadableOutputSet + }{ + { + "Insufficient HeadOutputs", + wallet.ErrInsufficientBalance, + 0, + visor.ReadableOutputSet{ + HeadOutputs: visor.ReadableOutputs{ + { + Hash: hashA, + Address: addrA, + BkSeq: 22, + Coins: "75.000000", + CalculatedHours: 100, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + { + Hash: hashB, + Address: addrB, + BkSeq: 19, + Coins: "13.000000", + CalculatedHours: 0, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + }, + }, + }, + + { + "Sufficient HeadOutputs, but insufficient after subtracting OutgoingOutputs", + wallet.ErrInsufficientBalance, + 0, + visor.ReadableOutputSet{ + HeadOutputs: visor.ReadableOutputs{ + { + Hash: hashA, + Address: addrA, + BkSeq: 22, + Coins: "75.000000", + CalculatedHours: 100, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + { + Hash: hashB, + Address: addrB, + BkSeq: 19, + Coins: "50.000000", + CalculatedHours: 0, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + }, + OutgoingOutputs: visor.ReadableOutputs{ + { + Hash: hashB, + Address: addrB, + BkSeq: 19, + Coins: "50.000000", + CalculatedHours: 0, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + }, + }, + }, + + { + "Insufficient HeadOutputs, but sufficient after adding IncomingOutputs", + ErrTemporaryInsufficientBalance, + 0, + visor.ReadableOutputSet{ + HeadOutputs: visor.ReadableOutputs{ + { + Hash: hashA, + Address: addrA, + BkSeq: 22, + Coins: "20.000000", + CalculatedHours: 100, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + { + Hash: hashB, + Address: addrB, + BkSeq: 19, + Coins: "30.000000", + CalculatedHours: 0, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + }, + IncomingOutputs: visor.ReadableOutputs{ + { + Hash: hashC, + Address: addrC, + BkSeq: 134, + Coins: "40.000000", + CalculatedHours: 200, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + { + Hash: hashD, + Address: addrD, + BkSeq: 29, + Coins: "11.000000", + CalculatedHours: 0, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + }, + }, + }, + + { + "Sufficient HeadOutputs and still sufficient after subtracting OutgoingOutputs", + nil, + 2, + visor.ReadableOutputSet{ + HeadOutputs: visor.ReadableOutputs{ + { + Hash: hashA, + Address: addrA, + BkSeq: 22, + Coins: "15.000000", + CalculatedHours: 100, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + { + Hash: hashB, + Address: addrB, + BkSeq: 19, + Coins: "90.000000", + CalculatedHours: 0, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + { + Hash: hashC, + Address: addrC, + BkSeq: 19, + Coins: "20.000000", + CalculatedHours: 1, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + }, + OutgoingOutputs: visor.ReadableOutputs{ + { + Hash: hashA, + Address: addrA, + BkSeq: 22, + Coins: "15.000000", + CalculatedHours: 100, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + }, + }, + }, + + { + "Sufficient HeadOutputs and still sufficient after subtracting OutgoingOutputs but will have no coinhours", + fee.ErrTxnNoFee, + 0, + visor.ReadableOutputSet{ + HeadOutputs: visor.ReadableOutputs{ + { + Hash: hashA, + Address: addrA, + BkSeq: 22, + Coins: "15.000000", + CalculatedHours: 100, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + { + Hash: hashB, + Address: addrB, + BkSeq: 19, + Coins: "90.000000", + CalculatedHours: 0, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + { + Hash: hashC, + Address: addrC, + BkSeq: 19, + Coins: "30.000000", + CalculatedHours: 0, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + }, + OutgoingOutputs: visor.ReadableOutputs{ + { + Hash: hashA, + Address: addrA, + BkSeq: 22, + Coins: "15.000000", + CalculatedHours: 100, + SourceTransaction: testutil.RandSHA256(t).Hex(), + }, + }, + }, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + spends, err := chooseSpends(tc.ros, coins) + + if tc.err != nil { + testutil.RequireError(t, err, tc.err.Error()) + } else { + require.NoError(t, err) + require.Equal(t, tc.spendLen, len(spends)) + + var totalCoins uint64 + for _, ux := range spends { + totalCoins += ux.Coins + } + + require.True(t, coins <= totalCoins) + } + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/decryptWallet.go b/vendor/github.com/skycoin/skycoin/src/cli/decryptWallet.go new file mode 100755 index 0000000..3282692 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/decryptWallet.go @@ -0,0 +1,96 @@ +package cli + +import ( + "errors" + "fmt" + "path/filepath" + + gcli "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/wallet" +) + +func decryptWalletCmd(cfg Config) gcli.Command { + name := "decryptWallet" + return gcli.Command{ + Name: name, + Usage: "Decrypt wallet", + Description: fmt.Sprintf(` + The default wallet (%s) will be + used if no wallet was specified. + + Use caution when using the "-p" command. If you have command history enabled + your wallet encryption password can be recovered from the history log. If you + do not include the "-p" option you will be prompted to enter your password + after you enter your command.`, cfg.FullWalletPath()), + Flags: []gcli.Flag{ + gcli.StringFlag{ + Name: "p", + Usage: "[password] Wallet password", + }, + }, + OnUsageError: onCommandUsageError(name), + Action: func(c *gcli.Context) error { + cfg := ConfigFromContext(c) + + w, err := resolveWalletPath(cfg, "") + if err != nil { + return err + } + + pr := NewPasswordReader([]byte(c.String("p"))) + + wlt, err := decryptWallet(w, pr) + switch err.(type) { + case nil: + case WalletLoadError: + errorWithHelp(c, err) + return nil + case WalletSaveError: + return errors.New("save wallet failed") + default: + return err + } + + printJSON(wallet.NewReadableWallet(wlt)) + return nil + }, + } +} + +func decryptWallet(walletFile string, pr PasswordReader) (*wallet.Wallet, error) { + wlt, err := wallet.Load(walletFile) + if err != nil { + return nil, WalletLoadError{err} + } + + if !wlt.IsEncrypted() { + return nil, wallet.ErrWalletNotEncrypted + } + + if pr == nil { + return nil, wallet.ErrMissingPassword + } + + password, err := pr.Password() + if err != nil { + return nil, err + } + + unlockedWlt, err := wlt.Unlock(password) + if err != nil { + return nil, err + } + + dir, err := filepath.Abs(filepath.Dir(walletFile)) + if err != nil { + return nil, err + } + + // save the wallet + if err := unlockedWlt.Save(dir); err != nil { + return nil, WalletLoadError{err} + } + + return unlockedWlt, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/encrypt_wallet.go b/vendor/github.com/skycoin/skycoin/src/cli/encrypt_wallet.go new file mode 100755 index 0000000..321fa1f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/encrypt_wallet.go @@ -0,0 +1,107 @@ +package cli + +import ( + "errors" + "fmt" + "path/filepath" + + gcli "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/wallet" +) + +func encryptWalletCmd(cfg Config) gcli.Command { + name := "encryptWallet" + return gcli.Command{ + Name: name, + Usage: "Encrypt wallet", + ArgsUsage: " ", + Description: fmt.Sprintf(` + The default wallet (%s) will be + used if no wallet was specified. + + Use caution when using the "-p" command. If you have command history enabled + your wallet encryption password can be recovered from the history log. If you + do not include the "-p" option you will be prompted to enter your password + after you enter your command.`, cfg.FullWalletPath()), + Flags: []gcli.Flag{ + gcli.StringFlag{ + Name: "p", + Usage: "[password] Wallet password", + }, + gcli.StringFlag{ + Name: "x,crypto-type", + Value: string(wallet.CryptoTypeScryptChacha20poly1305), + Usage: "[crypto type] The crypto type for wallet encryption, can be scrypt-chacha20poly1305 or sha256-xor", + }, + }, + OnUsageError: onCommandUsageError(name), + Action: func(c *gcli.Context) error { + cfg := ConfigFromContext(c) + + w, err := resolveWalletPath(cfg, "") + if err != nil { + return err + } + + cryptoType, err := wallet.CryptoTypeFromString(c.String("x")) + if err != nil { + errorWithHelp(c, err) + return nil + } + + pr := NewPasswordReader([]byte(c.String("p"))) + + wlt, err := encryptWallet(w, pr, cryptoType) + switch err.(type) { + case nil: + case WalletLoadError: + errorWithHelp(c, err) + return nil + case WalletSaveError: + return errors.New("save wallet failed") + default: + return err + } + + printJSON(wallet.NewReadableWallet(wlt)) + return nil + }, + } +} + +func encryptWallet(walletFile string, pr PasswordReader, cryptoType wallet.CryptoType) (*wallet.Wallet, error) { + wlt, err := wallet.Load(walletFile) + if err != nil { + return nil, WalletLoadError{err} + } + + if wlt.IsEncrypted() { + return nil, wallet.ErrWalletEncrypted + } + + if pr == nil { + return nil, wallet.ErrMissingPassword + } + + password, err := pr.Password() + if err != nil { + return nil, err + } + + if err := wlt.Lock(password, cryptoType); err != nil { + return nil, err + } + + dir, err := filepath.Abs(filepath.Dir(walletFile)) + if err != nil { + return nil, err + } + + // save the wallet + if err := wlt.Save(dir); err != nil { + return nil, WalletLoadError{err} + } + + return wlt, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/generate_addrs.go b/vendor/github.com/skycoin/skycoin/src/cli/generate_addrs.go new file mode 100755 index 0000000..3ab8794 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/generate_addrs.go @@ -0,0 +1,192 @@ +package cli + +import ( + "errors" + "fmt" + "path/filepath" + "strings" + + gcli "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/wallet" +) + +func generateAddrsCmd(cfg Config) gcli.Command { + name := "generateAddresses" + return gcli.Command{ + Name: name, + Usage: "Generate additional addresses for a wallet", + ArgsUsage: " ", + Description: fmt.Sprintf(`The default wallet (%s) will + be used if no wallet was specified. + + Use caution when using the "-p" command. If you have command + history enabled your wallet encryption password can be recovered from the + history log. If you do not include the "-p" option you will be prompted to + enter your password after you enter your command.`, cfg.FullWalletPath()), + Flags: []gcli.Flag{ + gcli.UintFlag{ + Name: "n", + Value: 1, + Usage: `[numberOfAddresses] Number of addresses to generate`, + }, + gcli.StringFlag{ + Name: "f", + Value: cfg.FullWalletPath(), + Usage: `[wallet file or path] Generate addresses in the wallet`, + }, + gcli.StringFlag{ + Name: "p", + Usage: `[password] wallet password`, + }, + gcli.BoolFlag{ + Name: "json,j", + Usage: "Returns the results in JSON format", + }, + }, + OnUsageError: onCommandUsageError(name), + Action: generateAddrs, + } +} + +func generateAddrs(c *gcli.Context) error { + cfg := ConfigFromContext(c) + + // get number of address that are need to be generated. + num := c.Uint64("n") + if num == 0 { + return errors.New("-n must > 0") + } + + jsonFmt := c.Bool("json") + + w, err := resolveWalletPath(cfg, c.String("f")) + if err != nil { + return err + } + + pr := NewPasswordReader([]byte(c.String("p"))) + addrs, err := GenerateAddressesInFile(w, num, pr) + + switch err.(type) { + case nil: + case WalletLoadError: + errorWithHelp(c, err) + return nil + case WalletSaveError: + return errors.New("save wallet failed") + default: + return err + } + + if jsonFmt { + s, err := FormatAddressesAsJSON(addrs) + if err != nil { + return err + } + fmt.Println(s) + } else { + fmt.Println(FormatAddressesAsJoinedArray(addrs)) + } + + return nil +} + +// GenerateAddressesInFile generates addresses in given wallet file +func GenerateAddressesInFile(walletFile string, num uint64, pr PasswordReader) ([]cipher.Address, error) { + wlt, err := wallet.Load(walletFile) + if err != nil { + return nil, WalletLoadError{err} + } + + switch pr.(type) { + case nil: + if wlt.IsEncrypted() { + return nil, wallet.ErrWalletEncrypted + } + case PasswordFromBytes: + p, err := pr.Password() + if err != nil { + return nil, err + } + + if !wlt.IsEncrypted() && len(p) != 0 { + return nil, wallet.ErrWalletNotEncrypted + } + } + + genAddrsInWallet := func(w *wallet.Wallet, n uint64) ([]cipher.Address, error) { + return w.GenerateAddresses(n) + } + + if wlt.IsEncrypted() { + genAddrsInWallet = func(w *wallet.Wallet, n uint64) ([]cipher.Address, error) { + password, err := pr.Password() + if err != nil { + return nil, err + } + + var addrs []cipher.Address + if err := w.GuardUpdate(password, func(wlt *wallet.Wallet) error { + var err error + addrs, err = wlt.GenerateAddresses(n) + return err + }); err != nil { + return nil, err + } + + return addrs, nil + } + } + + addrs, err := genAddrsInWallet(wlt, num) + if err != nil { + return nil, err + } + + dir, err := filepath.Abs(filepath.Dir(walletFile)) + if err != nil { + return nil, err + } + + if err := wlt.Save(dir); err != nil { + return nil, WalletSaveError{err} + } + + return addrs, nil +} + +// FormatAddressesAsJSON converts []cipher.Address to strings and formats the array into a standard JSON object wrapper +func FormatAddressesAsJSON(addrs []cipher.Address) (string, error) { + d, err := formatJSON(struct { + Addresses []string `json:"addresses"` + }{ + Addresses: AddressesToStrings(addrs), + }) + + if err != nil { + return "", err + } + + return string(d), nil +} + +// FormatAddressesAsJoinedArray converts []cipher.Address to strings and concatenates them with a comma +func FormatAddressesAsJoinedArray(addrs []cipher.Address) string { + return strings.Join(AddressesToStrings(addrs), ",") +} + +// AddressesToStrings converts []cipher.Address to []string +func AddressesToStrings(addrs []cipher.Address) []string { + if addrs == nil { + return nil + } + + addrsStr := make([]string, len(addrs)) + for i, a := range addrs { + addrsStr[i] = a.String() + } + + return addrsStr +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/generate_wallet.go b/vendor/github.com/skycoin/skycoin/src/cli/generate_wallet.go new file mode 100755 index 0000000..d0a6ca4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/generate_wallet.go @@ -0,0 +1,252 @@ +package cli + +import ( + "encoding/hex" + "errors" + "fmt" + "os" + "path/filepath" + "strings" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/go-bip39" + secp256k1 "github.com/skycoin/skycoin/src/cipher/secp256k1-go" + "github.com/skycoin/skycoin/src/wallet" + + gcli "github.com/urfave/cli" +) + +const ( + // AlphaNumericSeedLength is the size of generated alphanumeric seeds, in bytes + AlphaNumericSeedLength = 64 +) + +func generateWalletCmd(cfg Config) gcli.Command { + name := "generateWallet" + return gcli.Command{ + Name: "generateWallet", + Usage: "Generate a new wallet", + ArgsUsage: " ", + OnUsageError: onCommandUsageError(name), + Description: fmt.Sprintf(`The default wallet (%s) will + be created if no wallet and address was specified. + + Use caution when using the "-p" command. If you have command + history enabled your wallet encryption password can be recovered + from the history log. If you do not include the "-p" option you will + be prompted to enter your password after you enter your command. + + All results are returned in JSON format.`, cfg.FullWalletPath()), + Flags: []gcli.Flag{ + gcli.BoolFlag{ + Name: "r", + Usage: "A random alpha numeric seed will be generated for you", + }, + gcli.BoolFlag{ + Name: "rd", + Usage: "A random seed consisting of 12 dictionary words will be generated for you", + }, + gcli.StringFlag{ + Name: "s", + Usage: "Your seed", + }, + gcli.UintFlag{ + Name: "n", + Value: 1, + Usage: `[numberOfAddresses] Number of addresses to generate + By default 1 address is generated.`, + }, + gcli.StringFlag{ + Name: "f", + Value: cfg.WalletName, + Usage: `[walletName] Name of wallet. The final format will be "yourName.wlt". + If no wallet name is specified a generic name will be selected.`, + }, + gcli.StringFlag{ + Name: "l", + Usage: "[label] Label used to idetify your wallet.", + }, + gcli.BoolFlag{ + Name: "e,encrypt", + Usage: `Whether creates wallet with encryption `, + }, + gcli.StringFlag{ + Name: "x,crypto-type", + Value: string(wallet.CryptoTypeScryptChacha20poly1305), + Usage: "[crypto type] The crypto type for wallet encryption, can be scrypt-chacha20poly1305 or sha256-xor", + }, + gcli.StringFlag{ + Name: "p", + Usage: "[password] Wallet password", + }, + }, + Action: generateWalletHandler, + } +} + +func generateWalletHandler(c *gcli.Context) error { + cfg := ConfigFromContext(c) + + // create wallet dir if not exist + if _, err := os.Stat(cfg.WalletDir); os.IsNotExist(err) { + if err := os.MkdirAll(cfg.WalletDir, 0755); err != nil { + return errors.New("create dir failed") + } + } + + // get wallet name + wltName := c.String("f") + + // check if the wallet name has wlt extension. + if !strings.HasSuffix(wltName, ".wlt") { + return ErrWalletName + } + + // wallet file should not be a path. + if filepath.Base(wltName) != wltName { + return fmt.Errorf("wallet file name must not contain path") + } + + // check if the wallet file does exist + if _, err := os.Stat(filepath.Join(cfg.WalletDir, wltName)); err == nil { + return fmt.Errorf("%v already exist", wltName) + } + + // check if the wallet dir does exist. + if _, err := os.Stat(cfg.WalletDir); os.IsNotExist(err) { + return err + } + + // get number of address that are need to be generated, if m is 0, set to 1. + num := c.Uint64("n") + if num == 0 { + return errors.New("-n must > 0") + } + + // get label + label := c.String("l") + + // get seed + s := c.String("s") + r := c.Bool("r") + rd := c.Bool("rd") + + encrypt := c.Bool("e") + + sd, err := makeSeed(s, r, rd) + if err != nil { + return err + } + + cryptoType, err := wallet.CryptoTypeFromString(c.String("x")) + if err != nil { + return err + } + + pr := NewPasswordReader([]byte(c.String("p"))) + switch pr.(type) { + case PasswordFromBytes: + p, err := pr.Password() + if err != nil { + return err + } + + if !encrypt && len(p) != 0 { + return errors.New("password should not be set as we're not going to create a wallet with encryption") + } + } + + var password []byte + if encrypt { + var err error + password, err = pr.Password() + if err != nil { + return err + } + } + + opts := wallet.Options{ + Label: label, + Seed: sd, + Encrypt: encrypt, + CryptoType: cryptoType, + Password: []byte(password), + } + + wlt, err := GenerateWallet(wltName, opts, num) + if err != nil { + return err + } + + if err := wlt.Save(cfg.WalletDir); err != nil { + return err + } + + return printJSON(wallet.NewReadableWallet(wlt)) +} + +func makeSeed(s string, r, rd bool) (string, error) { + if s != "" { + // 111, 101, 110 + if r || rd { + return "", errors.New("seed already specified, must not use -r or -rd again") + } + // 100 + return s, nil + } + + // 011 + if r && rd { + return "", errors.New("for -r and -rd, only one option can be used") + } + + // 010 + if r { + return MakeAlphanumericSeed(), nil + } + + // 001, 000 + return bip39.NewDefaultMnemonic() +} + +// PUBLIC + +// GenerateWallet generates a new wallet with filename walletFile, label, seed and number of addresses. +// Caller should save the wallet file to its chosen directory +func GenerateWallet(walletFile string, opts wallet.Options, numAddrs uint64) (*wallet.Wallet, error) { + walletFile = filepath.Base(walletFile) + + wlt, err := wallet.NewWallet(walletFile, wallet.Options{ + Seed: opts.Seed, + Label: opts.Label, + }) + if err != nil { + return nil, err + } + + if numAddrs > 1 { + if _, err := wlt.GenerateAddresses(numAddrs - 1); err != nil { + return nil, err + } + } + + if !opts.Encrypt { + if len(opts.Password) != 0 { + return nil, wallet.ErrWalletNotEncrypted + } + + return wlt, nil + } + + if err := wlt.Lock(opts.Password, opts.CryptoType); err != nil { + return nil, err + } + + return wlt, nil +} + +// MakeAlphanumericSeed creates a random seed with AlphaNumericSeedLength bytes and hex encodes it +func MakeAlphanumericSeed() string { + seedRaw := cipher.SumSHA256(secp256k1.RandByte(AlphaNumericSeedLength)) + return hex.EncodeToString(seedRaw[:]) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/empty.go b/vendor/github.com/skycoin/skycoin/src/cli/integration/empty.go new file mode 100755 index 0000000..76ab1b7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/empty.go @@ -0,0 +1 @@ +package integration diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/integration_test.go b/vendor/github.com/skycoin/skycoin/src/cli/integration/integration_test.go new file mode 100755 index 0000000..05a92a6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/integration_test.go @@ -0,0 +1,2692 @@ +// package integration_test implements CLI integration tests +package integration_test + +import ( + "bytes" + "encoding/hex" + "encoding/json" + "errors" + "flag" + "fmt" + "io" + "io/ioutil" + "math/rand" + "os" + "os/exec" + "path/filepath" + "reflect" + "strconv" + "strings" + "sync" + "testing" + "time" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/api" + "github.com/skycoin/skycoin/src/api/webrpc" + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cli" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/wallet" +) + +const ( + binaryName = "skycoin-cli" + + testModeStable = "stable" + testModeLive = "live" + + // Number of random transactions of live transaction test. + randomLiveTransactionNum = 500 + + testFixturesDir = "testdata" + + stableWalletName = "integration-test.wlt" + stableEncryptWalletName = "integration-test-encrypted.wlt" +) + +var ( + binaryPath string + + update = flag.Bool("update", false, "update golden files") + liveTxFull = flag.Bool("live-tx-full", false, "run live transaction test against full blockchain") + testLiveWallet = flag.Bool("test-live-wallet", false, "run live wallet tests, requires wallet envvars set") + + cryptoTypes = []wallet.CryptoType{wallet.CryptoTypeScryptChacha20poly1305, wallet.CryptoTypeSha256Xor} +) + +type TestData struct { + actual interface{} + expected interface{} +} + +func init() { + rand.Seed(time.Now().Unix()) +} + +// Do setup and teardown here. +func TestMain(m *testing.M) { + abs, err := filepath.Abs(binaryName) + if err != nil { + fmt.Fprintf(os.Stderr, fmt.Sprintf("get binary name absolute path failed: %v\n", err)) + os.Exit(1) + } + + binaryPath = abs + + // Build cli binary file. + args := []string{"build", "-o", binaryPath, "../../../cmd/cli/cli.go"} + if err := exec.Command("go", args...).Run(); err != nil { + fmt.Fprintf(os.Stderr, fmt.Sprintf("Make %v binary failed: %v\n", binaryName, err)) + os.Exit(1) + } + + ret := m.Run() + + // Remove the generated cli binary file. + if err := os.Remove(binaryPath); err != nil { + fmt.Fprintf(os.Stderr, fmt.Sprintf("Delete %v failed: %v", binaryName, err)) + os.Exit(1) + } + + os.Exit(ret) +} + +func createUnencryptedWallet(t *testing.T) (string, func()) { + return createTempWallet(t, false) +} + +func createEncryptedWallet(t *testing.T) (string, func()) { // nolint: unparam + return createTempWallet(t, true) +} + +// createTempWallet creates a temporary dir, and if encrypt is true, copy +// the testdata/$stableEncryptedWalletName file to the dir. If it's false, then +// copy the testdata/$stableWalletName file to the dir +// returns the temporary wallet path, cleanup callback function, and error if any. +func createTempWallet(t *testing.T, encrypt bool) (string, func()) { + dir, err := ioutil.TempDir("", "wallet-data-dir") + require.NoError(t, err) + + // Copy the testdata/$stableWalletName to the temporary dir. + var wltName string + if encrypt { + wltName = stableEncryptWalletName + } else { + wltName = stableWalletName + } + + walletPath := filepath.Join(dir, wltName) + f, err := os.Create(walletPath) + require.NoError(t, err) + + defer f.Close() + + rf, err := os.Open(filepath.Join(testFixturesDir, wltName)) + require.NoError(t, err) + + defer rf.Close() + io.Copy(f, rf) + + originalWalletDirEnv := os.Getenv("WALLET_DIR") + originalWalletNameEnv := os.Getenv("WALLET_NAME") + + os.Setenv("WALLET_DIR", dir) + os.Setenv("WALLET_NAME", wltName) + + fun := func() { + os.Setenv("WALLET_DIR", originalWalletDirEnv) + os.Setenv("WALLET_NAME", originalWalletNameEnv) + + // Delete the temporary dir + os.RemoveAll(dir) + } + + return walletPath, fun +} + +// createTempWalletDir creates a temporary wallet dir, +// sets the WALLET_DIR environment variable. +// Returns wallet dir path and callback function to clean up the dir. +func createTempWalletDir(t *testing.T) func() { + dir, err := ioutil.TempDir("", "wallet-data-dir") + require.NoError(t, err) + os.Setenv("WALLET_DIR", dir) + + return func() { + os.Setenv("WALLET_DIR", "") + os.RemoveAll(dir) + } +} + +func loadJSON(t *testing.T, filename string, obj interface{}) { + f, err := os.Open(filename) + require.NoError(t, err) + defer f.Close() + + err = json.NewDecoder(f).Decode(obj) + require.NoError(t, err) +} + +func loadGoldenFile(t *testing.T, filename string, testData TestData) { + require.NotEmpty(t, filename, "loadGoldenFile golden filename missing") + + goldenFile := filepath.Join(testFixturesDir, filename) + + if *update { + updateGoldenFile(t, goldenFile, testData.actual) + } + + f, err := os.Open(goldenFile) + require.NoError(t, err) + defer f.Close() + + err = json.NewDecoder(f).Decode(testData.expected) + require.NoError(t, err, filename) +} + +func updateGoldenFile(t *testing.T, filename string, content interface{}) { + contentJSON, err := json.MarshalIndent(content, "", "\t") + require.NoError(t, err) + contentJSON = append(contentJSON, '\n') + err = ioutil.WriteFile(filename, contentJSON, 0644) + require.NoError(t, err) +} + +func checkGoldenFile(t *testing.T, goldenFile string, td TestData) { + loadGoldenFile(t, goldenFile, td) + require.Equal(t, reflect.Indirect(reflect.ValueOf(td.expected)).Interface(), td.actual) + checkGoldenFileObjectChanges(t, goldenFile, td) +} + +func checkGoldenFileObjectChanges(t *testing.T, goldenFile string, td TestData) { + // Serialize expected to JSON and compare to the goldenFile's contents + // This will detect field changes that could be missed otherwise + b, err := json.MarshalIndent(td.expected, "", "\t") + require.NoError(t, err) + + goldenFile = filepath.Join(testFixturesDir, goldenFile) + + f, err := os.Open(goldenFile) + require.NoError(t, err) + defer f.Close() + + c, err := ioutil.ReadAll(f) + require.NoError(t, err) + + require.Equal(t, string(c), string(b)+"\n", "json struct output differs from golden file, was a field added to the struct?") +} + +func mode(t *testing.T) string { + mode := os.Getenv("SKYCOIN_INTEGRATION_TEST_MODE") + switch mode { + case "": + mode = testModeStable + case testModeLive, testModeStable: + default: + t.Fatal("Invalid test mode, must be stable or live") + } + return mode +} + +func enabled() bool { + return os.Getenv("SKYCOIN_INTEGRATION_TESTS") == "1" +} + +func doStable(t *testing.T) bool { + if enabled() && mode(t) == testModeStable { + return true + } + + t.Skip("Stable tests disabled") + return false +} + +func doLive(t *testing.T) bool { + if enabled() && mode(t) == testModeLive { + return true + } + + t.Skip("Live tests disabled") + return false +} + +func doLiveWallet(t *testing.T) bool { + if *testLiveWallet { + return true + } + + t.Skip("Tests requiring wallet envvars are disabled") + return false +} + +// requireWalletDir checks if the WALLET_DIR environment value is set +func requireWalletDir(t *testing.T) { + walletDir := os.Getenv("WALLET_DIR") + if walletDir == "" { + t.Fatal("missing WALLET_DIR environment value") + } +} + +// requireWalletEnv checks if the WALLET_DIR and WALLET_NAME environment value are set +func requireWalletEnv(t *testing.T) { + if !doLiveWallet(t) { + return + } + + walletDir := os.Getenv("WALLET_DIR") + if walletDir == "" { + t.Fatal("missing WALLET_DIR environment value") + } + + walletName := os.Getenv("WALLET_NAME") + if walletName == "" { + t.Fatal("missing WALLET_NAME environment value") + } +} + +// getWalletPathFromEnv gets wallet file path from environment variables +func getWalletPathFromEnv(t *testing.T) (string, string) { + walletDir := os.Getenv("WALLET_DIR") + if walletDir == "" { + t.Fatal("missing WALLET_DIR environment value") + } + + walletName := os.Getenv("WALLET_NAME") + if walletName == "" { + t.Fatal("missing WALLET_NAME environment value") + } + + return walletDir, walletName +} + +func doLiveOrStable(t *testing.T) bool { + if enabled() { + switch mode(t) { + case testModeStable, testModeLive: + return true + } + } + + t.Skip("Live and stable tests disabled") + return false +} + +func rpcAddress() string { + rpcAddr := os.Getenv("RPC_ADDR") + if rpcAddr == "" { + rpcAddr = "http://127.0.0.1:6420" + } + + return rpcAddr +} + +func useCSRF(t *testing.T) bool { + x := os.Getenv("USE_CSRF") + if x == "" { + return false + } + + useCSRF, err := strconv.ParseBool(x) + require.NoError(t, err) + return useCSRF +} + +func TestGenerateAddresses(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + tt := []struct { + name string + encrypted bool + args []string + isUsageErr bool + expectOutput []byte + goldenFile string + }{ + { + name: "generateAddresses", + encrypted: false, + args: []string{"generateAddresses"}, + expectOutput: []byte("7g3M372kxwNwwQEAmrronu4anXTW8aD1XC\n"), + goldenFile: "generate-addresses.golden", + }, + { + name: "generateAddresses -n 2 -j", + encrypted: false, + args: []string{"generateAddresses", "-n", "2", "-j"}, + expectOutput: []byte("{\n \"addresses\": [\n \"7g3M372kxwNwwQEAmrronu4anXTW8aD1XC\",\n \"2EDapDfn1VC6P2hx4nTH2cRUkboGAE16evV\"\n ]\n}\n"), + goldenFile: "generate-addresses-2.golden", + }, + { + name: "generateAddresses -n -2 -j", + encrypted: false, + args: []string{"generateAddresses", "-n", "-2", "-j"}, + isUsageErr: true, + expectOutput: []byte("Error: invalid value \"-2\" for flag -n: strconv.ParseUint: parsing \"-2\": invalid syntax"), + goldenFile: "generate-addresses-2.golden", + }, + { + name: "generateAddresses in encrypted wallet", + encrypted: true, + args: []string{"generateAddresses", "-p", "pwd", "-j"}, + expectOutput: []byte("{\n \"addresses\": [\n \"7g3M372kxwNwwQEAmrronu4anXTW8aD1XC\"\n ]\n}\n"), + goldenFile: "generate-addresses-encrypted.golden", + }, + { + name: "generateAddresses in encrypted wallet with invalid password", + encrypted: true, + args: []string{"generateAddresses", "-p", "invalid password", "-j"}, + expectOutput: []byte("invalid password\n"), + }, + { + name: "generateAddresses in unencrypted wallet with password", + encrypted: false, + args: []string{"generateAddresses", "-p", "pwd"}, + expectOutput: []byte("wallet is not encrypted\n"), + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + walletPath, clean := createTempWallet(t, tc.encrypted) + defer clean() + + output, err := exec.Command(binaryPath, tc.args...).CombinedOutput() + if err != nil { + require.EqualError(t, err, "exit status 1") + return + } + + if tc.isUsageErr { + require.True(t, bytes.Contains(output, tc.expectOutput)) + return + } + + require.Equal(t, tc.expectOutput, output) + + require.NoError(t, err) + + var w wallet.ReadableWallet + loadJSON(t, walletPath, &w) + + // Use loadJSON instead of loadGoldenFile because this golden file + // should not use the *update flag + goldenFile := filepath.Join(testFixturesDir, tc.goldenFile) + var expect wallet.ReadableWallet + loadJSON(t, goldenFile, &expect) + if tc.encrypted { + // wips secrets as it's not stable + expect.Meta["secrets"] = "" + w.Meta["secrets"] = "" + } + require.Equal(t, expect, w) + }) + } +} + +func TestVerifyAddress(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + tt := []struct { + name string + addr string + err error + errMsg string + }{ + { + "valid skycoin address", + "2Kg3eRXUhY6hrDZvNGB99DKahtrPDQ1W9vN", + nil, + "", + }, + { + "invalid skycoin address", + "2KG9eRXUhx6hrDZvNGB99DKahtrPDQ1W9vn", + errors.New("exit status 1"), + "Invalid checksum", + }, + { + "invalid bitcoin address", + "1Dcb9gpaZpBKmjqjCsiBsP3sBW1md2kEM2", + errors.New("exit status 1"), + "Invalid checksum", + }, + } + + for _, tc := range tt { + output, err := exec.Command(binaryPath, "verifyAddress", tc.addr).CombinedOutput() + if err != nil { + require.Equal(t, tc.err.Error(), err.Error()) + require.Equal(t, tc.errMsg, strings.Trim(string(output), "\n")) + return + } + + require.Empty(t, output) + } +} + +func TestDecodeRawTransaction(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + tt := []struct { + name string + rawTx string + goldenFile string + errMsg []byte + }{ + { + name: "success", + rawTx: "2601000000a1d3345ac47f897f24084b1c6b9bd6e03fc92887050d0748bdab5e639c1fdcd401000000a2a10f07e0e06cf6ba3e793b3186388a126591ee230b3f387617f1ccb6376a3f18e094bd3f7719aa8191c00764f323872f5192da393852bd85dab70b13409d2b01010000004d78de698a33abcfff22391c043b57a56bb0efbdc4a5b975bf8e7889668896bc0400000000bae12bbf671abeb1181fc85f1c01cdfee55deb97980c9c0a00000000543600000000000000373bb3675cbf3880bba3f3de7eb078925b8a72ad0095ba0a000000001c12000000000000008829025fe45b48f29795893a642bdaa89b2bb40e40d2df03000000001c12000000000000008001532c3a705e7e62bb0bb80630ecc21a87ec09c0fc9b01000000001b12000000000000", + goldenFile: "decode-raw-transaction.golden", + }, + { + name: "invalid raw transaction", + rawTx: "2601000000a1d", + errMsg: []byte("invalid raw transaction: encoding/hex: odd length hex string\nencoding/hex: odd length hex string\n"), + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + output, err := exec.Command(binaryPath, "decodeRawTransaction", tc.rawTx).CombinedOutput() + if err != nil { + require.Error(t, err, "exit status 1") + require.Equal(t, tc.errMsg, output) + return + } + + require.NoError(t, err) + if bytes.Contains(output, []byte("Error: ")) { + require.Equal(t, tc.errMsg, string(output)) + return + } + + var txn visor.TransactionJSON + err = json.NewDecoder(bytes.NewReader(output)).Decode(&txn) + require.NoError(t, err) + + var expect visor.TransactionJSON + checkGoldenFile(t, tc.goldenFile, TestData{txn, &expect}) + }) + } + +} + +func TestAddressGen(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + tt := []struct { + name string + args []string + outputCheck func(t *testing.T, output []byte) + }{ + { + "addressGen", + []string{"addressGen"}, + func(t *testing.T, v []byte) { + var w wallet.ReadableWallet + err := json.NewDecoder(bytes.NewReader(v)).Decode(&w) + require.NoError(t, err) + + // Confirms the wallet type is skycoin + require.Equal(t, "skycoin", w.Meta["coin"]) + + // Confirms that the seed is consisted of 12 words + seed := w.Meta["seed"] + require.NotEmpty(t, seed) + ss := strings.Split(seed, " ") + require.Len(t, ss, 12) + }, + }, + { + "addressGen --count 2", + []string{"addressGen", "--count", "2"}, + func(t *testing.T, v []byte) { + var w wallet.ReadableWallet + err := json.NewDecoder(bytes.NewReader(v)).Decode(&w) + require.NoError(t, err) + + // Confirms the wallet type is skycoin + require.Equal(t, "skycoin", w.Meta["coin"]) + + // Confirms that the seed is consisted of 12 words + seed := w.Meta["seed"] + require.NotEmpty(t, seed) + ss := strings.Split(seed, " ") + require.Len(t, ss, 12) + + // Confirms that the wallet have 2 address + require.Len(t, w.Entries, 2) + + // Confirms the addresses are generated from the seed + _, keys := cipher.GenerateDeterministicKeyPairsSeed([]byte(seed), 2) + for i, key := range keys { + pk := cipher.PubKeyFromSecKey(key) + addr := cipher.AddressFromSecKey(key) + require.Equal(t, addr.String(), w.Entries[i].Address) + require.Equal(t, pk.Hex(), w.Entries[i].Public) + require.Equal(t, key.Hex(), w.Entries[i].Secret) + } + }, + }, + { + "addressGen -c 2", + []string{"addressGen", "-c", "2"}, + func(t *testing.T, v []byte) { + var w wallet.ReadableWallet + err := json.NewDecoder(bytes.NewReader(v)).Decode(&w) + require.NoError(t, err) + + // Confirms the wallet type is skycoin + require.Equal(t, "skycoin", w.Meta["coin"]) + + // Confirms that the seed is consisted of 12 words + seed := w.Meta["seed"] + require.NotEmpty(t, seed) + ss := strings.Split(seed, " ") + require.Len(t, ss, 12) + + // Confirms that the wallet have 2 address + require.Len(t, w.Entries, 2) + + // Confirms the addresses are generated from the seed + _, keys := cipher.GenerateDeterministicKeyPairsSeed([]byte(seed), 2) + for i, key := range keys { + pk := cipher.PubKeyFromSecKey(key) + addr := cipher.AddressFromSecKey(key) + require.Equal(t, addr.String(), w.Entries[i].Address) + require.Equal(t, pk.Hex(), w.Entries[i].Public) + require.Equal(t, key.Hex(), w.Entries[i].Secret) + } + }, + }, + { + "addressGen --hide-secret -c 2", + []string{"addressGen", "--hide-secret", "-c", "2"}, + func(t *testing.T, v []byte) { + var w wallet.ReadableWallet + err := json.NewDecoder(bytes.NewReader(v)).Decode(&w) + require.NoError(t, err) + + // Confirms the wallet type is skycoin + require.Equal(t, "skycoin", w.Meta["coin"]) + + // Confirms the secrets in Entries are hidden + require.Len(t, w.Entries, 2) + for _, e := range w.Entries { + require.Equal(t, e.Secret, "") + } + }, + }, + { + "addressGen -s -c 2", + []string{"addressGen", "-s", "-c", "2"}, + func(t *testing.T, v []byte) { + var w wallet.ReadableWallet + err := json.NewDecoder(bytes.NewReader(v)).Decode(&w) + require.NoError(t, err) + + // Confirms the wallet type is skycoin + require.Equal(t, "skycoin", w.Meta["coin"]) + + // Confirms the secrets in Entries are hidden + require.Len(t, w.Entries, 2) + for _, e := range w.Entries { + require.Equal(t, e.Secret, "") + } + }, + }, + { + "addressGen --bitcoin -c 2", + []string{"addressGen", "--bitcoin", "-c", "2"}, + func(t *testing.T, v []byte) { + var w wallet.ReadableWallet + err := json.NewDecoder(bytes.NewReader(v)).Decode(&w) + require.NoError(t, err) + + // Confirms the wallet type is skycoin + require.Equal(t, "bitcoin", w.Meta["coin"]) + + require.Len(t, w.Entries, 2) + + // Confirms the addresses are bitcoin addresses that generated from the seed + seed := w.Meta["seed"] + _, keys := cipher.GenerateDeterministicKeyPairsSeed([]byte(seed), 2) + for i, key := range keys { + pk := cipher.PubKeyFromSecKey(key) + sk := cipher.BitcoinWalletImportFormatFromSeckey(key) + address := cipher.BitcoinAddressFromPubkey(pk) + require.Equal(t, address, w.Entries[i].Address) + require.Equal(t, pk.Hex(), w.Entries[i].Public) + require.Equal(t, sk, w.Entries[i].Secret) + } + }, + }, + { + "addressGen -b -c 2", + []string{"addressGen", "-b", "-c", "2"}, + func(t *testing.T, v []byte) { + var w wallet.ReadableWallet + err := json.NewDecoder(bytes.NewReader(v)).Decode(&w) + require.NoError(t, err) + + // Confirms the wallet type is skycoin + require.Equal(t, "bitcoin", w.Meta["coin"]) + + require.Len(t, w.Entries, 2) + + // Confirms the addresses are bitcoin addresses that generated from the seed + seed := w.Meta["seed"] + _, keys := cipher.GenerateDeterministicKeyPairsSeed([]byte(seed), 2) + for i, key := range keys { + pk := cipher.PubKeyFromSecKey(key) + sk := cipher.BitcoinWalletImportFormatFromSeckey(key) + address := cipher.BitcoinAddressFromPubkey(pk) + require.Equal(t, address, w.Entries[i].Address) + require.Equal(t, pk.Hex(), w.Entries[i].Public) + require.Equal(t, sk, w.Entries[i].Secret) + } + }, + }, + { + "addressGen --hex", + []string{"addressGen", "--hex"}, + func(t *testing.T, v []byte) { + var w wallet.ReadableWallet + err := json.NewDecoder(bytes.NewReader(v)).Decode(&w) + require.NoError(t, err) + + // Confirms the seed is a valid hex string + _, err = hex.DecodeString(w.Meta["seed"]) + require.NoError(t, err) + }, + }, + { + "addressGen -x", + []string{"addressGen", "-x"}, + func(t *testing.T, v []byte) { + var w wallet.ReadableWallet + err := json.NewDecoder(bytes.NewReader(v)).Decode(&w) + require.NoError(t, err) + + // Confirms the seed is a valid hex string + _, err = hex.DecodeString(w.Meta["seed"]) + require.NoError(t, err) + }, + }, + { + "addressGen --only-addr", + []string{"addressGen", "--only-addr"}, + func(t *testing.T, v []byte) { + // Confirms that only addresses are returned + v = bytes.Trim(v, "\n") + _, err := cipher.DecodeBase58Address(string(v)) + require.NoError(t, err) + }, + }, + { + "addressGen --oa", + []string{"addressGen", "--oa"}, + func(t *testing.T, v []byte) { + // Confirms that only addresses are returned + v = bytes.Trim(v, "\n") + _, err := cipher.DecodeBase58Address(string(v)) + require.NoError(t, err) + }, + }, + { + "addressGen --seed=123", + []string{"addressGen", "--seed", "123"}, + func(t *testing.T, v []byte) { + var w wallet.ReadableWallet + err := json.NewDecoder(bytes.NewReader(v)).Decode(&w) + require.NoError(t, err) + + pk, sk := cipher.GenerateDeterministicKeyPair([]byte("123")) + addr := cipher.AddressFromPubKey(pk) + require.Len(t, w.Entries, 1) + require.Equal(t, addr.String(), w.Entries[0].Address) + require.Equal(t, pk.Hex(), w.Entries[0].Public) + require.Equal(t, sk.Hex(), w.Entries[0].Secret) + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + output, err := exec.Command(binaryPath, tc.args...).CombinedOutput() + require.NoError(t, err) + tc.outputCheck(t, output) + }) + } +} + +func TestStableListWallets(t *testing.T) { + if !doStable(t) { + return + } + + _, clean := createUnencryptedWallet(t) + defer clean() + + output, err := exec.Command(binaryPath, "listWallets").CombinedOutput() + require.NoError(t, err) + + var wlts struct { + Wallets []cli.WalletEntry `json:"wallets"` + } + err = json.NewDecoder(bytes.NewReader(output)).Decode(&wlts) + require.NoError(t, err) + + var expect struct { + Wallets []cli.WalletEntry `json:"wallets"` + } + checkGoldenFile(t, "list-wallets.golden", TestData{wlts, &expect}) +} + +func TestLiveListWallets(t *testing.T) { + if !doLive(t) { + return + } + + requireWalletDir(t) + + output, err := exec.Command(binaryPath, "listWallets").CombinedOutput() + require.NoError(t, err) + + var wlts struct { + Wallets []cli.WalletEntry `json:"wallets"` + } + err = json.NewDecoder(bytes.NewReader(output)).Decode(&wlts) + require.NoError(t, err) + require.NotEmpty(t, wlts.Wallets) +} + +func TestStableListAddress(t *testing.T) { + if !doStable(t) { + return + } + + _, clean := createUnencryptedWallet(t) + defer clean() + + output, err := exec.Command(binaryPath, "listAddresses").CombinedOutput() + require.NoError(t, err) + + var wltAddresses struct { + Addresses []string `json:"addresses"` + } + err = json.NewDecoder(bytes.NewReader(output)).Decode(&wltAddresses) + require.NoError(t, err) + + var expect struct { + Addresses []string `json:"addresses"` + } + checkGoldenFile(t, "list-addresses.golden", TestData{wltAddresses, &expect}) +} + +func TestLiveListAddresses(t *testing.T) { + if !doLive(t) { + return + } + + requireWalletEnv(t) + + output, err := exec.Command(binaryPath, "listAddresses").CombinedOutput() + require.NoError(t, err) + + var wltAddresses struct { + Addresses []string `json:"addresses"` + } + + err = json.NewDecoder(bytes.NewReader(output)).Decode(&wltAddresses) + require.NoError(t, err) + + require.NotEmpty(t, wltAddresses.Addresses) +} + +func TestStableAddressBalance(t *testing.T) { + if !doStable(t) { + return + } + + output, err := exec.Command(binaryPath, "addressBalance", "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt").CombinedOutput() + require.NoError(t, err) + + var addrBalance cli.BalanceResult + err = json.NewDecoder(bytes.NewReader(output)).Decode(&addrBalance) + require.NoError(t, err) + + var expect cli.BalanceResult + checkGoldenFile(t, "address-balance.golden", TestData{addrBalance, &expect}) +} + +func TestLiveAddressBalance(t *testing.T) { + if !doLive(t) { + return + } + + output, err := exec.Command(binaryPath, "addressBalance", "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt").CombinedOutput() + require.NoError(t, err) + + var addrBalance cli.BalanceResult + err = json.NewDecoder(bytes.NewReader(output)).Decode(&addrBalance) + require.NoError(t, err) +} + +func TestStableWalletBalance(t *testing.T) { + if !doStable(t) { + return + } + + _, clean := createUnencryptedWallet(t) + defer clean() + + output, err := exec.Command(binaryPath, "walletBalance").CombinedOutput() + require.NoError(t, err) + + var wltBalance cli.BalanceResult + err = json.NewDecoder(bytes.NewReader(output)).Decode(&wltBalance) + require.NoError(t, err) + + var expect cli.BalanceResult + checkGoldenFile(t, "wallet-balance.golden", TestData{wltBalance, &expect}) +} + +func TestLiveWalletBalance(t *testing.T) { + if !doLive(t) { + return + } + + requireWalletEnv(t) + + output, err := exec.Command(binaryPath, "walletBalance").CombinedOutput() + require.NoError(t, err) + + var wltBalance cli.BalanceResult + err = json.NewDecoder(bytes.NewReader(output)).Decode(&wltBalance) + require.NoError(t, err) + + require.NotEmpty(t, wltBalance.Confirmed.Coins) + require.NotEmpty(t, wltBalance.Addresses) +} + +func TestStableWalletOutputs(t *testing.T) { + if !doStable(t) { + return + } + + _, clean := createUnencryptedWallet(t) + defer clean() + + output, err := exec.Command(binaryPath, "walletOutputs").CombinedOutput() + require.NoError(t, err) + + var wltOutput webrpc.OutputsResult + err = json.NewDecoder(bytes.NewReader(output)).Decode(&wltOutput) + require.NoError(t, err) + + var expect webrpc.OutputsResult + checkGoldenFile(t, "wallet-outputs.golden", TestData{wltOutput, &expect}) +} + +func TestLiveWalletOutputs(t *testing.T) { + if !doLive(t) { + return + } + + requireWalletEnv(t) + + output, err := exec.Command(binaryPath, "walletOutputs").CombinedOutput() + require.NoError(t, err) + + var wltOutput webrpc.OutputsResult + err = json.NewDecoder(bytes.NewReader(output)).Decode(&wltOutput) + require.NoError(t, err) + + require.NotEmpty(t, wltOutput.Outputs.HeadOutputs) +} + +func TestStableAddressOutputs(t *testing.T) { + if !doStable(t) { + return + } + + tt := []struct { + name string + args []string + goldenFile string + err error + errMsg string + }{ + { + name: "addressOutputs one address", + args: []string{"addressOutputs", "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt"}, + goldenFile: "address-outputs.golden", + }, + { + name: "addressOutputs two address", + args: []string{"addressOutputs", "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm"}, + goldenFile: "two-addresses-outputs.golden", + }, + { + name: "addressOutputs two address one invalid", + args: []string{"addressOutputs", "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", "badaddress"}, + err: errors.New("exit status 1"), + errMsg: "invalid address: badaddress, err: Invalid address length\n", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + output, err := exec.Command(binaryPath, tc.args...).CombinedOutput() + + if tc.err != nil { + testutil.RequireError(t, err, tc.err.Error()) + require.Equal(t, tc.errMsg, string(output)) + return + } + + require.NoError(t, err) + + var addrOutputs webrpc.OutputsResult + err = json.NewDecoder(bytes.NewReader(output)).Decode(&addrOutputs) + require.NoError(t, err) + + var expect webrpc.OutputsResult + checkGoldenFile(t, tc.goldenFile, TestData{addrOutputs, &expect}) + }) + } +} + +func TestLiveAddressOutputs(t *testing.T) { + if !doLive(t) { + return + } + + output, err := exec.Command(binaryPath, "addressOutputs", "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt").CombinedOutput() + require.NoError(t, err) + + var addrOutputs webrpc.OutputsResult + err = json.NewDecoder(bytes.NewReader(output)).Decode(&addrOutputs) + require.NoError(t, err) +} + +func TestStableShowConfig(t *testing.T) { + if !doStable(t) { + return + } + + output, err := exec.Command(binaryPath, "showConfig").CombinedOutput() + require.NoError(t, err) + + var ret cli.Config + err = json.NewDecoder(bytes.NewReader(output)).Decode(&ret) + require.NoError(t, err) + + // WalletDir and DataDir can't be checked perfectly without essentially + // reimplementing cli.LoadConfig to compare values + require.NotEmpty(t, ret.WalletDir) + require.NotEmpty(t, ret.DataDir) + require.True(t, strings.HasSuffix(ret.WalletDir, ".skycoin/wallets")) + require.True(t, strings.HasSuffix(ret.DataDir, ".skycoin")) + require.True(t, strings.HasPrefix(ret.WalletDir, ret.DataDir)) + + ret.WalletDir = "IGNORED/.skycoin/wallets" + ret.DataDir = "IGNORED/.skycoin" + + goldenFile := "show-config.golden" + if useCSRF(t) { + goldenFile = "show-config-use-csrf.golden" + } + + var expect cli.Config + td := TestData{ret, &expect} + loadGoldenFile(t, goldenFile, td) + + // The RPC port is not always the same between runs of the stable integration tests, + // so use the RPC_ADDR envvar instead of the golden file value for comparison + goldenRPCAddress := expect.RPCAddress + expect.RPCAddress = rpcAddress() + + require.Equal(t, expect, ret) + + // Restore goldenfile's value before checking if JSON fields were added or removed + expect.RPCAddress = goldenRPCAddress + checkGoldenFileObjectChanges(t, goldenFile, TestData{ret, &expect}) +} + +func TestLiveShowConfig(t *testing.T) { + if !doLive(t) { + return + } + + output, err := exec.Command(binaryPath, "showConfig").CombinedOutput() + require.NoError(t, err) + + var ret cli.Config + err = json.NewDecoder(bytes.NewReader(output)).Decode(&ret) + require.NoError(t, err) + + // WalletDir and DataDir can't be checked perfectly without essentially + // reimplementing cli.LoadConfig to compare values + require.NotEmpty(t, ret.WalletDir) + require.NotEmpty(t, ret.DataDir) + require.True(t, strings.HasSuffix(ret.WalletDir, ".skycoin/wallets")) + require.True(t, strings.HasSuffix(ret.DataDir, ".skycoin")) + require.True(t, strings.HasPrefix(ret.WalletDir, ret.DataDir)) + + walletName := os.Getenv("WALLET_NAME") + if walletName == "" { + walletName = "skycoin_cli.wlt" + } + require.Equal(t, walletName, ret.WalletName) + require.NotEmpty(t, ret.WalletName) + + coin := os.Getenv("COIN") + if coin == "" { + coin = "skycoin" + } + require.Equal(t, coin, ret.Coin) + + require.Equal(t, rpcAddress(), ret.RPCAddress) + + require.Equal(t, useCSRF(t), ret.UseCSRF) +} + +func TestStableStatus(t *testing.T) { + if !doStable(t) { + return + } + + output, err := exec.Command(binaryPath, "status").CombinedOutput() + require.NoError(t, err) + + var ret cli.StatusResult + err = json.NewDecoder(bytes.NewReader(output)).Decode(&ret) + require.NoError(t, err) + + // TimeSinceLastBlock is not stable + ret.TimeSinceLastBlock = "" + + goldenFile := "status.golden" + if useCSRF(t) { + goldenFile = "status-use-csrf.golden" + } + + var expect cli.StatusResult + td := TestData{ret, &expect} + loadGoldenFile(t, goldenFile, td) + + // The RPC port is not always the same between runs of the stable integration tests, + // so use the RPC_ADDR envvar instead of the golden file value for comparison + goldenRPCAddress := expect.RPCAddress + expect.RPCAddress = rpcAddress() + + require.Equal(t, expect, ret) + + // Restore goldenfile's value before checking if JSON fields were added or removed + expect.RPCAddress = goldenRPCAddress + checkGoldenFileObjectChanges(t, goldenFile, TestData{ret, &expect}) + +} + +func TestLiveStatus(t *testing.T) { + if !doLive(t) { + return + } + + output, err := exec.Command(binaryPath, "status").CombinedOutput() + require.NoError(t, err) + + var ret cli.StatusResult + err = json.NewDecoder(bytes.NewReader(output)).Decode(&ret) + require.NoError(t, err) + require.True(t, ret.Running) + require.Equal(t, rpcAddress(), ret.RPCAddress) + require.Equal(t, useCSRF(t), ret.UseCSRF) +} + +func TestStableTransaction(t *testing.T) { + if !doStable(t) { + return + } + + tt := []struct { + name string + args []string + err error + errMsg string + goldenFile string + }{ + { + name: "invalid txid", + args: []string{"abcd"}, + err: errors.New("exit status 1"), + errMsg: "invalid txid\n", + goldenFile: "", + }, + { + name: "not exist", + args: []string{"701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947"}, + err: errors.New("exit status 1"), + errMsg: "transaction doesn't exist [code: -32600]\n", + goldenFile: "", + }, + { + name: "empty txid", + args: []string{""}, + err: errors.New("exit status 1"), + errMsg: "txid is empty\n", + goldenFile: "", + }, + { + name: "genesis transaction", + args: []string{"d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add"}, + err: nil, + errMsg: "", + goldenFile: "genesis-transaction-cli.golden", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + args := append([]string{"transaction"}, tc.args...) + o, err := exec.Command(binaryPath, args...).CombinedOutput() + if tc.err != nil { + testutil.RequireError(t, err, tc.err.Error()) + require.Equal(t, tc.errMsg, string(o)) + return + } + + require.NoError(t, err) + + // Decode the output into visor.TransactionJSON + var tx webrpc.TxnResult + err = json.NewDecoder(bytes.NewReader(o)).Decode(&tx) + require.NoError(t, err) + + var expect webrpc.TxnResult + checkGoldenFile(t, tc.goldenFile, TestData{tx, &expect}) + }) + } + + scanTransactions(t, true) +} + +func TestLiveTransaction(t *testing.T) { + if !doLive(t) { + return + } + + o, err := exec.Command(binaryPath, "transaction", "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add").CombinedOutput() + require.NoError(t, err) + var tx webrpc.TxnResult + err = json.NewDecoder(bytes.NewReader(o)).Decode(&tx) + require.NoError(t, err) + + var expect webrpc.TxnResult + + loadGoldenFile(t, "genesis-transaction.golden", TestData{tx, &expect}) + require.Equal(t, expect.Transaction.Transaction, tx.Transaction.Transaction) + + scanTransactions(t, *liveTxFull) + + // scan pending transactions + scanPendingTransactions(t) +} + +// cli doesn't have command to querying pending transactions yet. +func scanPendingTransactions(t *testing.T) { +} + +// scanTransactions scans transactions against blockchain. +// If fullTest is true, scan the whole blockchain, and test every transactions, +// otherwise just test random transactions. +func scanTransactions(t *testing.T, fullTest bool) { + // Gets blockchain height through "status" command + output, err := exec.Command(binaryPath, "status").CombinedOutput() + require.NoError(t, err) + var status struct { + webrpc.StatusResult + RPCAddress string `json:"webrpc_address"` + } + err = json.NewDecoder(bytes.NewReader(output)).Decode(&status) + require.NoError(t, err) + + txids := getTxids(t, status.BlockNum) + + l := len(txids) + if !fullTest && l > randomLiveTransactionNum { + txidMap := make(map[string]struct{}) + var ids []string + for len(txidMap) < randomLiveTransactionNum { + // get random txid + txid := txids[rand.Intn(l)] + if _, ok := txidMap[txid]; !ok { + ids = append(ids, txid) + txidMap[txid] = struct{}{} + } + } + + // reassign the txids + txids = ids + } + + checkTransactions(t, txids) +} + +func checkTransactions(t *testing.T, txids []string) { + // Start goroutines to check transactions + var wg sync.WaitGroup + txC := make(chan string, 500) + nReq := 4 + if useCSRF(t) { + nReq = 1 + } + for i := 0; i < nReq; i++ { + wg.Add(1) + go func() { + defer wg.Done() + for { + select { + case txid, ok := <-txC: + if !ok { + return + } + + t.Run(fmt.Sprintf("%v", txid), func(t *testing.T) { + o, err := exec.Command(binaryPath, "transaction", txid).CombinedOutput() + require.NoError(t, err) + var txRlt webrpc.TxnResult + err = json.NewDecoder(bytes.NewReader(o)).Decode(&txRlt) + require.NoError(t, err) + require.Equal(t, txid, txRlt.Transaction.Transaction.Hash) + require.True(t, txRlt.Transaction.Status.Confirmed) + }) + } + } + }() + } + + for _, txid := range txids { + txC <- txid + } + close(txC) + + wg.Wait() +} + +func getTxids(t *testing.T, blockNum uint64) []string { + // p represents the number of blocks that each time we query, + // do not get all blocks in one query, which might run out of + // memory when blockchain becomes very huge. + p := 500 + n := int(blockNum / uint64(p)) + + // Collects all transactions' id + var txids []string + for i := 0; i < int(n); i++ { + txids = append(txids, getTxidsInBlocks(t, i*p+1, (i+1)*p)...) + } + + if (blockNum % uint64(p)) > 0 { + txids = append(txids, getTxidsInBlocks(t, n*p+1, int(blockNum)-1)...) + } + + return txids +} + +func getTxidsInBlocks(t *testing.T, start, end int) []string { + s := strconv.Itoa(start) + e := strconv.Itoa(end) + o, err := exec.Command(binaryPath, "blocks", s, e).CombinedOutput() + require.NoError(t, err) + var blocks visor.ReadableBlocks + err = json.NewDecoder(bytes.NewReader(o)).Decode(&blocks) + require.NoError(t, err) + require.Len(t, blocks.Blocks, end-start+1) + + var txids []string + for _, b := range blocks.Blocks { + for _, tx := range b.Body.Transactions { + txids = append(txids, tx.Hash) + } + } + return txids +} + +func TestStableBlocks(t *testing.T) { + if !doStable(t) { + return + } + + testKnownBlocks(t) + + // Tests blocks 180~181, should only return block 180. + output, err := exec.Command(binaryPath, "blocks", "180", "181").CombinedOutput() + require.NoError(t, err) + + var blocks visor.ReadableBlocks + err = json.NewDecoder(bytes.NewReader(output)).Decode(&blocks) + require.NoError(t, err) + + var expect visor.ReadableBlocks + checkGoldenFile(t, "blocks180.golden", TestData{blocks, &expect}) +} + +func TestLiveBlocks(t *testing.T) { + if !doLive(t) { + return + } + + testKnownBlocks(t) + + // These blocks were affected by the coinhour overflow issue, make sure that they can be queried + blockSeqs := []int{11685, 11707, 11710, 11709, 11705, 11708, 11711, 11706, 11699} + + for _, seq := range blockSeqs { + output, err := exec.Command(binaryPath, "blocks", strconv.Itoa(seq)).CombinedOutput() + require.NoError(t, err) + var blocks visor.ReadableBlocks + err = json.NewDecoder(bytes.NewReader(output)).Decode(&blocks) + require.NoError(t, err) + } +} + +func testKnownBlocks(t *testing.T) { + tt := []struct { + name string + args []string + goldenFile string + }{ + { + "blocks 0", + []string{"blocks", "0"}, + "block0.golden", + }, + { + "blocks 0 5", + []string{"blocks", "0", "5"}, + "blocks0-5.golden", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + output, err := exec.Command(binaryPath, tc.args...).CombinedOutput() + require.NoError(t, err) + + var blocks visor.ReadableBlocks + err = json.NewDecoder(bytes.NewReader(output)).Decode(&blocks) + require.NoError(t, err) + + var expect visor.ReadableBlocks + checkGoldenFile(t, tc.goldenFile, TestData{blocks, &expect}) + }) + } + + scanBlocks(t, "0", "180") +} + +func scanBlocks(t *testing.T, start, end string) { // nolint: unparam + outputs, err := exec.Command(binaryPath, "blocks", start, end).CombinedOutput() + require.NoError(t, err) + + var blocks visor.ReadableBlocks + err = json.NewDecoder(bytes.NewReader(outputs)).Decode(&blocks) + require.NoError(t, err) + + var preBlocks visor.ReadableBlock + preBlocks.Head.BlockHash = "0000000000000000000000000000000000000000000000000000000000000000" + for _, b := range blocks.Blocks { + require.Equal(t, b.Head.PreviousBlockHash, preBlocks.Head.BlockHash) + preBlocks = b + } +} + +func TestStableLastBlocks(t *testing.T) { + if !doStable(t) { + return + } + + tt := []struct { + name string + args []string + goldenFile string + errMsg []byte + }{ + { + name: "lastBlocks 0", + args: []string{"lastBlocks", "0"}, + goldenFile: "last-blocks0.golden", + }, + { + name: "lastBlocks 1", + args: []string{"lastBlocks", "1"}, + goldenFile: "last-blocks1.golden", + }, + { + name: "lastBlocks 2", + args: []string{"lastBlocks", "2"}, + goldenFile: "last-blocks2.golden", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + output, err := exec.Command(binaryPath, tc.args...).CombinedOutput() + + if bytes.Contains(output, []byte("Error: ")) { + fmt.Println(string(output)) + require.Equal(t, string(tc.errMsg), string(output)) + return + } + + require.NoError(t, err) + + var blocks visor.ReadableBlocks + err = json.NewDecoder(bytes.NewReader(output)).Decode(&blocks) + require.NoError(t, err) + + var expect visor.ReadableBlocks + checkGoldenFile(t, tc.goldenFile, TestData{blocks, &expect}) + }) + } +} + +func TestLiveLastBlocks(t *testing.T) { + if !doLive(t) { + return + } + + tt := []struct { + name string + args []string + }{ + { + "lastBlocks 0", + []string{"lastBlocks", "0"}, + }, + { + "lastBlocks 1", + []string{"lastBlocks", "1"}, + }, + { + "lastBlocks 2", + []string{"lastBlocks", "2"}, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + output, err := exec.Command(binaryPath, tc.args...).CombinedOutput() + require.NoError(t, err) + + var blocks visor.ReadableBlocks + err = json.NewDecoder(bytes.NewReader(output)).Decode(&blocks) + require.NoError(t, err) + }) + } +} + +func TestStableWalletDir(t *testing.T) { + if !doStable(t) { + return + } + + walletPath, clean := createUnencryptedWallet(t) + defer clean() + + dir := filepath.Dir(walletPath) + output, err := exec.Command(binaryPath, "walletDir").CombinedOutput() + require.NoError(t, err) + require.Equal(t, dir, strings.TrimRight(string(output), "\n")) +} + +func TestLiveWalletDir(t *testing.T) { + if !doLive(t) { + return + } + + requireWalletDir(t) + + walletDir := os.Getenv("WALLET_DIR") + output, err := exec.Command(binaryPath, "walletDir").CombinedOutput() + require.NoError(t, err) + + require.Equal(t, walletDir, strings.Trim(string(output), "\n")) +} + +// TestLiveSend sends coin from specific wallet file, user should manually specify the +// wallet file by setting the enviroment variables: WALLET_DIR and WALLET_NAME. The WALLET_DIR +// points to the directory of the wallet, and WALLET_NAME represents the wallet file name. +// +// Note: +// 1. This test might modify the wallet file, in order to avoid losing coins, we don't send coins to +// addresses that are not belong to the wallet, when addresses in the wallet are not sufficient, we +// will automatically generate enough addresses as coin recipient. +// 2. The wallet must must have at least 2 coins and 16 coinhours. +func TestLiveSend(t *testing.T) { + if !doLive(t) { + return + } + + requireWalletEnv(t) + + // prepares wallet and confirms the wallet has at least 2 coins and 16 coin hours. + w, totalCoins, _ := prepareAndCheckWallet(t, 2e6, 16) + + if w.IsEncrypted() { + t.Skip("CLI wallet integration tests do not support encrypted wallets yet") + return + } + + tt := []struct { + name string + args func() []string + errMsg []byte + checkTx func(t *testing.T, txid string) + }{ + { + // Send all coins to the first address to one output. + name: "send all coins to the first address", + args: func() []string { + coins, err := droplet.ToString(totalCoins) + require.NoError(t, err) + return []string{"send", w.Entries[0].Address.String(), coins} + }, + checkTx: func(t *testing.T, txid string) { + // Confirms all coins are in the first address in one output + tx := getTransaction(t, txid) + require.Len(t, tx.Transaction.Transaction.Out, 1) + c, err := droplet.FromString(tx.Transaction.Transaction.Out[0].Coins) + require.NoError(t, err) + require.Equal(t, totalCoins, c) + }, + }, + { + // Send 0.5 coin to the second address. + // Send 0.5 coin to the third address. + // After sending, the first address should have at least 1 coin left. + name: "send to multiple address with -m option", + args: func() []string { + addrCoins := []struct { + Addr string `json:"addr"` + Coins string `json:"coins"` + }{ + { + w.Entries[1].Address.String(), + "0.5", + }, + { + w.Entries[2].Address.String(), + "0.5", + }, + } + + v, err := json.Marshal(addrCoins) + require.NoError(t, err) + + return []string{"send", "-m", string(v)} + }, + checkTx: func(t *testing.T, txid string) { + tx := getTransaction(t, txid) + // Confirms the second address receives 0.5 coin and 1 coinhour in this transaction + checkCoinsAndCoinhours(t, tx, w.Entries[1].Address.String(), 5e5, 1) + // Confirms the third address receives 0.5 coin and 1 coinhour in this transaction + checkCoinsAndCoinhours(t, tx, w.Entries[2].Address.String(), 5e5, 1) + // Confirms the first address has at least 1 coin left. + coins, _ := getAddressBalance(t, w.Entries[0].Address.String()) + require.True(t, coins >= 1e6) + }, + }, + { + // Send 0.001 coin from the third address to the second address. + // Set the second as change address, so the 0.499 change coin will also be sent to the second address. + // After sending, the second address should have 1 coin and 1 coin hour. + name: "send with -c(change address) -a(from address) options", + args: func() []string { + return []string{"send", "-c", w.Entries[1].Address.String(), + "-a", w.Entries[2].Address.String(), w.Entries[1].Address.String(), "0.001"} + }, + checkTx: func(t *testing.T, txid string) { + tx := getTransaction(t, txid) + // Confirms the second address receives 0.5 coin and 0 coinhour in this transaction + checkCoinsAndCoinhours(t, tx, w.Entries[1].Address.String(), 5e5, 0) + // Confirms the second address have 1 coin and 1 coin hour + coins, hours := getAddressBalance(t, w.Entries[1].Address.String()) + require.Equal(t, uint64(1e6), coins) + require.Equal(t, uint64(1), hours) + }, + }, + { + // Send 1 coin from second to the the third address, this will spend three outputs(0.2, 0.3. 0.5 coin), + // and burn out the remaining 1 coin hour. + name: "send to burn all coin hour", + args: func() []string { + return []string{"send", "-a", w.Entries[1].Address.String(), + w.Entries[2].Address.String(), "1"} + }, + checkTx: func(t *testing.T, txid string) { + // Confirms that the third address has 1 coin and 0 coin hour + coins, hours := getAddressBalance(t, w.Entries[2].Address.String()) + require.Equal(t, uint64(1e6), coins) + require.Equal(t, uint64(0), hours) + }, + }, + { + // Send with 0 coin hour, this test should fail. + name: "send 0 coin hour", + args: func() []string { + return []string{"send", "-a", w.Entries[2].Address.String(), + w.Entries[1].Address.String(), "1"} + }, + errMsg: []byte("Error: Transaction has zero coinhour fee. See 'skycoin-cli send --help'"), + checkTx: func(t *testing.T, txid string) {}, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + output, err := exec.Command(binaryPath, tc.args()...).CombinedOutput() + if err != nil { + t.Fatalf("err: %v, output: %v", err, string(output)) + return + } + require.NoError(t, err) + output = bytes.TrimRight(output, "\n") + if bytes.Contains(output, []byte("Error:")) { + require.Equal(t, tc.errMsg, output) + return + } + + // output: "txid:$txid_string" + // split the output to get txid value + v := bytes.Split(output, []byte(":")) + require.Len(t, v, 2) + txid := string(v[1]) + fmt.Println("txid:", txid) + _, err = cipher.SHA256FromHex(txid) + require.NoError(t, err) + + // Wait untill transaction is confirmed. + tk := time.NewTicker(time.Second) + loop: + for { + select { + case <-time.After(30 * time.Second): + t.Fatal("Wait tx confirmation timeout") + case <-tk.C: + if isTxConfirmed(t, txid) { + break loop + } + } + } + + tc.checkTx(t, txid) + }) + } + + // Send with too small decimal value + // CLI send is a litte bit slow, almost 300ms each. so we only test 20 invalid decimal coin. + errMsg := []byte("Error: invalid amount, too many decimal places. See 'skycoin-cli send --help'") + for i := uint64(1); i < uint64(20); i++ { + v, err := droplet.ToString(i) + require.NoError(t, err) + name := fmt.Sprintf("send %v", v) + t.Run(name, func(t *testing.T) { + output, err := exec.Command(binaryPath, "send", w.Entries[0].Address.String(), v).CombinedOutput() + require.NoError(t, err) + output = bytes.Trim(output, "\n") + require.Equal(t, errMsg, output) + }) + } +} + +// TestLiveCreateAndBroadcastRawTransaction does almost the same procedure as TestLiveSend. +// Create raw transaction with command arguments the same as TestLiveSend, then broadcast the +// created raw transaction. After the transaction is confirmed, run the same transaction check +// function like in TestLiveSend. +func TestLiveCreateAndBroadcastRawTransaction(t *testing.T) { + if !doLive(t) { + return + } + + requireWalletEnv(t) + + // prepares wallet and confirms the wallet has at least 2 coins and 2 coin hours. + w, totalCoins, _ := prepareAndCheckWallet(t, 2e6, 2) + + if w.IsEncrypted() { + t.Skip("CLI wallet integration tests do not support encrypted wallets yet") + return + } + + tt := []struct { + name string + args func() []string + errMsg []byte + checkTx func(t *testing.T, txid string) + }{ + { + // Send all coins to the first address to one output. + name: "send all coins to the first address", + args: func() []string { + coins, err := droplet.ToString(totalCoins) + require.NoError(t, err) + return []string{"createRawTransaction", w.Entries[0].Address.String(), coins} + }, + checkTx: func(t *testing.T, txid string) { + // Confirms all coins are in the first address in one output + tx := getTransaction(t, txid) + require.Len(t, tx.Transaction.Transaction.Out, 1) + c, err := droplet.FromString(tx.Transaction.Transaction.Out[0].Coins) + require.NoError(t, err) + require.Equal(t, totalCoins, c) + }, + }, + { + // Send 0.5 coin to the second address. + // Send 0.5 coin to the third address. + // After sending, the first address should have at least 1 coin left. + name: "send to multiple address with -m option", + args: func() []string { + addrCoins := []struct { + Addr string `json:"addr"` + Coins string `json:"coins"` + }{ + { + w.Entries[1].Address.String(), + "0.5", + }, + { + w.Entries[2].Address.String(), + "0.5", + }, + } + + v, err := json.Marshal(addrCoins) + require.NoError(t, err) + + return []string{"createRawTransaction", "-m", string(v)} + }, + checkTx: func(t *testing.T, txid string) { + // Confirms the first address has at least 1 coin left. + coins, _ := getAddressBalance(t, w.Entries[0].Address.String()) + require.True(t, coins >= 1e6) + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + // Create raw transaction first + output, err := exec.Command(binaryPath, tc.args()...).CombinedOutput() + if err != nil { + t.Fatalf("err: %v, output: %v", err, string(output)) + return + } + require.NoError(t, err) + output = bytes.TrimRight(output, "\n") + if bytes.Contains(output, []byte("Error:")) { + require.Equal(t, tc.errMsg, output) + return + } + + // Broadcast transaction + output, err = exec.Command(binaryPath, "broadcastTransaction", string(output)).CombinedOutput() + require.NoError(t, err) + + txid := string(bytes.TrimRight(output, "\n")) + fmt.Println("txid:", txid) + _, err = cipher.SHA256FromHex(txid) + require.NoError(t, err) + + // Wait untill transaction is confirmed. + tk := time.NewTicker(time.Second) + loop: + for { + select { + case <-time.After(30 * time.Second): + t.Fatal("Wait tx confirmation timeout") + case <-tk.C: + if isTxConfirmed(t, txid) { + break loop + } + } + } + + tc.checkTx(t, txid) + }) + } + + // Send with too small decimal value + errMsg := []byte("Error: invalid amount, too many decimal places. See 'skycoin-cli createRawTransaction --help'") + for i := uint64(1); i < uint64(20); i++ { + v, err := droplet.ToString(i) + require.NoError(t, err) + name := fmt.Sprintf("send %v", v) + t.Run(name, func(t *testing.T) { + output, err := exec.Command(binaryPath, "createRawTransaction", w.Entries[0].Address.String(), v).CombinedOutput() + require.NoError(t, err) + output = bytes.Trim(output, "\n") + require.Equal(t, errMsg, output) + }) + } +} + +func getTransaction(t *testing.T, txid string) *webrpc.TxnResult { + output, err := exec.Command(binaryPath, "transaction", txid).CombinedOutput() + if err != nil { + fmt.Println(string(output)) + return &webrpc.TxnResult{} + } + require.NoError(t, err) + + var tx webrpc.TxnResult + err = json.NewDecoder(bytes.NewReader(output)).Decode(&tx) + require.NoError(t, err) + + return &tx +} + +func isTxConfirmed(t *testing.T, txid string) bool { + tx := getTransaction(t, txid) + require.NotNil(t, tx) + return tx.Transaction.Status.Confirmed +} + +// checkCoinhours checks if the address coinhours in transaction are correct +func checkCoinsAndCoinhours(t *testing.T, tx *webrpc.TxnResult, addr string, coins, coinhours uint64) { // nolint: unparam + addrCoinhoursMap := make(map[string][]visor.ReadableTransactionOutput) + for _, o := range tx.Transaction.Transaction.Out { + addrCoinhoursMap[o.Address] = append(addrCoinhoursMap[o.Address], o) + } + + os, ok := addrCoinhoursMap[addr] + if !ok { + t.Fatalf("transaction doesn't have receiver of address: %v", addr) + } + + var totalCoins, totalHours uint64 + for _, o := range os { + c, err := droplet.FromString(o.Coins) + if err != nil { + t.Fatalf("%v", err) + } + totalCoins += c + totalHours += o.Hours + } + + require.Equal(t, coins, totalCoins) + require.Equal(t, coinhours, totalHours) +} + +// prepareAndCheckWallet prepares wallet for live testing. +// Returns *wallet.Wallet, total coin, total hours. +// Confirms that the wallet meets the minimal requirements of coins and coinhours. +func prepareAndCheckWallet(t *testing.T, miniCoins, miniCoinHours uint64) (*wallet.Wallet, uint64, uint64) { // nolint: unparam + walletDir, walletName := getWalletPathFromEnv(t) + walletPath := filepath.Join(walletDir, walletName) + // Checks if the wallet does exist + if _, err := os.Stat(walletPath); os.IsNotExist(err) { + t.Fatalf("Wallet file: %v does not exist", walletPath) + } + + // Loads the wallet + w, err := wallet.Load(walletPath) + if err != nil { + t.Fatalf("Load wallet failed: %v", err) + } + + if len(w.Entries) < 3 { + // Generates addresses + _, err = w.GenerateAddresses(uint64(3 - len(w.Entries))) + if err != nil { + t.Fatalf("Wallet generateAddress failed: %v", err) + } + } + + outputs := getWalletOutputs(t, walletPath) + // Confirms the wallet is not empty. + if len(outputs) == 0 { + t.Fatalf("Wallet %v has no coin", walletPath) + } + + var totalCoins uint64 + var totalCoinhours uint64 + for _, output := range outputs { + coins, err := droplet.FromString(output.Coins) + if err != nil { + t.Fatalf("%v", err) + } + + totalCoins += coins + totalCoinhours += output.CalculatedHours + } + + // Confirms the coins meet minimal coins requirement + if totalCoins < miniCoins { + t.Fatalf("Wallet must have at least %v coins", miniCoins) + } + + if totalCoinhours < miniCoinHours { + t.Fatalf("Wallet must have at least %v coinhours", miniCoinHours) + } + + if err := w.Save(walletDir); err != nil { + t.Fatalf("%v", err) + } + return w, totalCoins, totalCoinhours +} + +func getAddressBalance(t *testing.T, addr string) (uint64, uint64) { + output, err := exec.Command(binaryPath, "addressBalance", addr).CombinedOutput() + require.NoError(t, err) + + var addrBalance cli.BalanceResult + err = json.NewDecoder(bytes.NewReader(output)).Decode(&addrBalance) + require.NoError(t, err) + coins, err := droplet.FromString(addrBalance.Confirmed.Coins) + require.NoError(t, err) + + hours, err := strconv.ParseUint(addrBalance.Confirmed.Hours, 10, 64) + require.NoError(t, err) + return coins, hours +} + +func getWalletOutputs(t *testing.T, walletPath string) visor.ReadableOutputs { + output, err := exec.Command(binaryPath, "walletOutputs", walletPath).CombinedOutput() + require.NoError(t, err) + + var wltOutput webrpc.OutputsResult + err = json.NewDecoder(bytes.NewReader(output)).Decode(&wltOutput) + require.NoError(t, err) + + return wltOutput.Outputs.HeadOutputs +} + +func TestStableWalletHistory(t *testing.T) { + if !doStable(t) { + return + } + + _, clean := createUnencryptedWallet(t) + defer clean() + + output, err := exec.Command(binaryPath, "walletHistory").CombinedOutput() + require.NoError(t, err) + + var history []cli.AddrHistory + err = json.NewDecoder(bytes.NewReader(output)).Decode(&history) + require.NoError(t, err) + + var expect []cli.AddrHistory + checkGoldenFile(t, "wallet-history.golden", TestData{history, &expect}) +} + +func TestLiveWalletHistory(t *testing.T) { + if !doLive(t) { + return + } + + requireWalletEnv(t) + + output, err := exec.Command(binaryPath, "walletHistory").CombinedOutput() + require.NoError(t, err) + var his []cli.AddrHistory + err = json.NewDecoder(bytes.NewReader(output)).Decode(&his) + require.NoError(t, err) +} + +func TestStableCheckDB(t *testing.T) { + if !doStable(t) { + return + } + + tt := []struct { + name string + dbPath string + result string + errMsg string + }{ + { + name: "no signature", + dbPath: "../../visor/testdata/data.db.nosig", + errMsg: "checkdb failed: Signature not found for block seq=1000 hash=71852c1a8ab5e470bd14e5fce8e1116697151181a188d4262b545542fb3d526c\n", + }, + { + name: "invalid database", + dbPath: "../../visor/testdata/data.db.garbage", + errMsg: "open db failed: invalid database\n", + }, + { + name: "valid database", + dbPath: "../../api/integration/testdata/blockchain-180.db", + result: "check db success\n", + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + output, err := exec.Command(binaryPath, "checkdb", tc.dbPath).CombinedOutput() + if err != nil { + fmt.Println(string(output)) + require.Equal(t, tc.errMsg, string(output)) + return + } + require.NoError(t, err) + require.Equal(t, tc.result, string(output)) + }) + } +} + +func TestVersion(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + // Gets version in json format. + output, err := exec.Command(binaryPath, "version", "-j").CombinedOutput() + require.NoError(t, err) + + var ver = struct { + Skycoin string `json:"skycoin"` + Cli string `json:"cli"` + RPC string `json:"rpc"` + Wallet string `json:"wallet"` + }{} + err = json.NewDecoder(bytes.NewReader(output)).Decode(&ver) + require.NoError(t, err) + require.True(t, ver.Skycoin != "") + require.True(t, ver.Cli != "") + require.True(t, ver.RPC != "") + require.True(t, ver.Wallet != "") + + // Gets version without json format. + output, err = exec.Command(binaryPath, "version").CombinedOutput() + require.NoError(t, err) + + // Confirms the result contains 4 version componments + output = bytes.TrimRight(output, "\n") + vers := bytes.Split(output, []byte("\n")) + require.Len(t, vers, 4) +} + +func TestStableGenerateWallet(t *testing.T) { + if !doStable(t) { + return + } + + tt := []struct { + name string + args []string + setup func(t *testing.T) func() + errMsg []byte + checkWallet func(t *testing.T, w *wallet.Wallet) + }{ + { + name: "generate wallet with -r option", + args: []string{"-r"}, + setup: createTempWalletDir, + checkWallet: func(t *testing.T, w *wallet.Wallet) { + // Confirms the default wallet name is skycoin_cli.wlt + require.Equal(t, "skycoin_cli.wlt", w.Filename()) + + // Confirms the seed is a valid hex string + _, err := hex.DecodeString(w.Meta["seed"]) + require.NoError(t, err) + + // Confirms the label is empty + require.Empty(t, w.Meta["label"]) + }, + }, + { + name: "generate wallet with --rd option", + args: []string{"--rd"}, + setup: createTempWalletDir, + checkWallet: func(t *testing.T, w *wallet.Wallet) { + // Confirms the default wallet name is skycoin_cli.wlt + require.Equal(t, "skycoin_cli.wlt", w.Filename()) + + // Confirms the seed is consisited of 12 words + seed := w.Meta["seed"] + words := strings.Split(seed, " ") + require.Len(t, words, 12) + + // Confirms the label is empty + require.Empty(t, w.Meta["label"]) + }, + }, + { + name: "generate wallet with -s option", + args: []string{"-s", "great duck trophy inhale dad pluck include maze smart mechanic ring merge"}, + setup: createTempWalletDir, + checkWallet: func(t *testing.T, w *wallet.Wallet) { + // Confirms the default wallet name is skycoin_cli.wlt + require.Equal(t, "skycoin_cli.wlt", w.Filename()) + // Confirms the label is empty + require.Empty(t, w.Meta["label"]) + + require.Equal(t, "great duck trophy inhale dad pluck include maze smart mechanic ring merge", w.Meta["seed"]) + require.Equal(t, "2amA8sxKJhNRp3wfWrE5JfTEUjr9S3C2BaU", w.Entries[0].Address.String()) + require.Equal(t, "02b4a4b63f2f8ba56f9508712815eca3c088693333715eaf7a73275d8928e1be5a", w.Entries[0].Public.Hex()) + require.Equal(t, "f4a281d094a6e9e95a84c23701a7d01a0e413c838758e94ad86a10b9b83e0434", w.Entries[0].Secret.Hex()) + }, + }, + { + name: "generate wallet with -n option", + args: []string{"-n", "5"}, + setup: createTempWalletDir, + checkWallet: func(t *testing.T, w *wallet.Wallet) { + // Confirms the default wallet name is skycoin_cli.wlt + require.Equal(t, "skycoin_cli.wlt", w.Filename()) + // Confirms the label is empty + require.Empty(t, w.Meta["label"]) + // Confirms wallet has 5 address entries + require.Len(t, w.Entries, 5) + }, + }, + { + name: "generate wallet with -f option", + args: []string{"-f", "integration-cli.wlt"}, + setup: createTempWalletDir, + checkWallet: func(t *testing.T, w *wallet.Wallet) { + // Confirms the default wallet name is skycoin_cli.wlt + require.Equal(t, "integration-cli.wlt", w.Filename()) + // Confirms the label is empty + require.Empty(t, w.Meta["label"]) + }, + }, + { + name: "generate wallet with -l option", + args: []string{"-l", "integration-cli"}, + setup: createTempWalletDir, + checkWallet: func(t *testing.T, w *wallet.Wallet) { + // Confirms the default wallet name is skycoin_cli.wlt + require.Equal(t, "skycoin_cli.wlt", w.Filename()) + label, ok := w.Meta["label"] + require.True(t, ok) + require.Equal(t, "integration-cli", label) + }, + }, + { + name: "generate wallet with duplicate wallet name", + args: []string{}, + setup: func(t *testing.T) func() { + _, clean := createUnencryptedWallet(t) + return clean + }, + errMsg: []byte("integration-test.wlt already exist\n"), + }, + { + name: "encrypt=true", + args: []string{"-e", "-p", "pwd"}, + setup: createTempWalletDir, + checkWallet: func(t *testing.T, w *wallet.Wallet) { + require.Equal(t, "skycoin_cli.wlt", w.Filename()) + // Confirms the wallet is encrypted + require.True(t, w.IsEncrypted()) + require.Empty(t, w.Meta["seed"]) + require.Empty(t, w.Meta["lastSeed"]) + + // Confirms the secrets in address entries are empty + for _, e := range w.Entries { + require.Equal(t, cipher.SecKey{}, e.Secret) + } + }, + }, + { + name: "encrypt=false password=pwd", + args: []string{"-p", "pwd"}, + setup: createTempWalletDir, + errMsg: []byte("password should not be set as we're not going to create a wallet with encryption\n"), + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + clean := tc.setup(t) + defer clean() + + // Run command with arguments + args := append([]string{"generateWallet"}, tc.args...) + output, err := exec.Command(binaryPath, args...).CombinedOutput() + if err != nil { + require.EqualError(t, err, "exit status 1") + require.Equal(t, tc.errMsg, output) + return + } + + require.NoError(t, err) + var rw wallet.ReadableWallet + err = json.NewDecoder(bytes.NewReader(output)).Decode(&rw) + require.NoError(t, err) + + // Converts to wallet.Wallet + w, err := rw.ToWallet() + require.NoError(t, err) + + // Validate the wallet + err = w.Validate() + require.NoError(t, err) + + if !w.IsEncrypted() { + // Confirms all entries and lastSeed are derived from seed. + checkWalletEntriesAndLastSeed(t, w) + } + + // Checks the wallet with provided checking method. + tc.checkWallet(t, w) + }) + } +} + +// checkWalletEntriesAndLastSeed confirms the wallet entries and lastSeed are derivied +// from the seed. +func checkWalletEntriesAndLastSeed(t *testing.T, w *wallet.Wallet) { + seed, ok := w.Meta["seed"] + require.True(t, ok) + newSeed, seckeys := cipher.GenerateDeterministicKeyPairsSeed([]byte(seed), len(w.Entries)) + require.Len(t, seckeys, len(w.Entries)) + for i, sk := range seckeys { + require.Equal(t, w.Entries[i].Secret, sk) + pk := cipher.PubKeyFromSecKey(sk) + require.Equal(t, w.Entries[i].Public, pk) + } + lastSeed, ok := w.Meta["lastSeed"] + require.True(t, ok) + require.Equal(t, lastSeed, hex.EncodeToString(newSeed)) +} + +// TestLiveGUIInjectTransaction does almost the same procedure as TestCreateAndBroadcastRawTransaction. +// The only difference is we broadcast the raw transaction throught the gui /injectTransaction api. +func TestLiveGUIInjectTransaction(t *testing.T) { + if !doLive(t) { + return + } + + requireWalletEnv(t) + + c := api.NewClient(rpcAddress()) + // prepares wallet and confirms the wallet has at least 2 coins and 2 coin hours. + w, totalCoins, _ := prepareAndCheckWallet(t, 2e6, 2) + + if w.IsEncrypted() { + t.Skip("CLI wallet integration tests do not support encrypted wallets yet") + return + } + + tt := []struct { + name string + args func() []string + errMsg []byte + checkTx func(t *testing.T, txid string) + }{ + { + // Send all coins to the first address to one output. + name: "send all coins to the first address", + args: func() []string { + coins, err := droplet.ToString(totalCoins) + require.NoError(t, err) + return []string{"createRawTransaction", w.Entries[0].Address.String(), coins} + }, + checkTx: func(t *testing.T, txid string) { + // Confirms all coins are in the first address in one output + tx := getTransaction(t, txid) + require.Len(t, tx.Transaction.Transaction.Out, 1) + c, err := droplet.FromString(tx.Transaction.Transaction.Out[0].Coins) + require.NoError(t, err) + require.Equal(t, totalCoins, c) + }, + }, + { + // Send 0.5 coin to the second address. + // Send 0.5 coin to the third address. + // After sending, the first address should have at least 1 coin left. + name: "send to multiple address with -m option", + args: func() []string { + addrCoins := []struct { + Addr string `json:"addr"` + Coins string `json:"coins"` + }{ + { + w.Entries[1].Address.String(), + "0.5", + }, + { + w.Entries[2].Address.String(), + "0.5", + }, + } + + v, err := json.Marshal(addrCoins) + require.NoError(t, err) + + return []string{"createRawTransaction", "-m", string(v)} + }, + checkTx: func(t *testing.T, txid string) { + // Confirms the first address has at least 1 coin left. + coins, _ := getAddressBalance(t, w.Entries[0].Address.String()) + require.True(t, coins >= 1e6) + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + // Create raw transaction first + output, err := exec.Command(binaryPath, tc.args()...).CombinedOutput() + if err != nil { + t.Fatalf("err: %v, output: %v", err, string(output)) + return + } + require.NoError(t, err) + output = bytes.TrimRight(output, "\n") + if bytes.Contains(output, []byte("Error:")) { + require.Equal(t, tc.errMsg, output) + return + } + + // Broadcast raw transaction with gui /injectTransaction + txid, err := c.InjectTransaction(string(output)) + require.NoError(t, err) + + txid = strings.TrimRight(txid, "\n") + fmt.Println("txid:", txid) + _, err = cipher.SHA256FromHex(txid) + require.NoError(t, err) + + // Wait untill transaction is confirmed. + tk := time.NewTicker(time.Second) + loop: + for { + select { + case <-time.After(30 * time.Second): + t.Fatal("Wait tx confirmation timeout") + case <-tk.C: + if isTxConfirmed(t, txid) { + break loop + } + } + } + + tc.checkTx(t, txid) + }) + } +} + +func TestEncryptWallet(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + tt := []struct { + name string + args []string + setup func(t *testing.T) func() + errMsg []byte + errWithHelp bool + checkWallet func(t *testing.T, w *wallet.Wallet) + }{ + { + name: "wallet is not encrypted", + args: []string{"-p", "pwd"}, + setup: func(t *testing.T) func() { + _, clean := createUnencryptedWallet(t) + return clean + }, + checkWallet: func(t *testing.T, w *wallet.Wallet) { + require.True(t, w.IsEncrypted()) + require.Empty(t, w.Meta["seed"]) + require.Empty(t, w.Meta["lastSeed"]) + + // Confirms that secrets in address entries are empty + for _, e := range w.Entries { + require.Equal(t, cipher.SecKey{}, e.Secret) + } + }, + }, + { + name: "wallet is encrypted", + args: []string{"-p", "pwd"}, + setup: func(t *testing.T) func() { + _, clean := createEncryptedWallet(t) + return clean + }, + errMsg: []byte("wallet is encrypted\n"), + }, + { + name: "wallet doesn't exist", + args: []string{"-p", "pwd"}, + setup: func(t *testing.T) func() { + _, clean := createUnencryptedWallet(t) + os.Setenv("WALLET_NAME", "not-exist.wlt") + return clean + }, + errWithHelp: true, + errMsg: []byte("not-exist.wlt doesn't exist."), + }, + } + + for _, tc := range tt { + for _, ct := range cryptoTypes { + name := fmt.Sprintf("name=%v crypto type=%v", tc.name, ct) + t.Run(name, func(t *testing.T) { + clean := tc.setup(t) + defer clean() + args := append([]string{"encryptWallet", "-x", string(ct)}, tc.args[:]...) + output, err := exec.Command(binaryPath, args...).CombinedOutput() + if err != nil { + require.EqualError(t, err, "exit status 1") + require.Equal(t, tc.errMsg, output) + return + } + + if tc.errWithHelp { + require.True(t, bytes.Contains(output, tc.errMsg), string(output)) + return + } + + var rlt wallet.ReadableWallet + err = json.NewDecoder(bytes.NewReader(output)).Decode(&rlt) + require.NoError(t, err) + w, err := rlt.ToWallet() + require.NoError(t, err) + tc.checkWallet(t, w) + }) + } + } +} + +func TestDecryptWallet(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + tt := []struct { + name string + args []string + setup func(t *testing.T) func() + errMsg []byte + errWithHelp bool + checkWallet func(t *testing.T, w *wallet.Wallet) + }{ + { + name: "wallet is encrypted", + args: []string{"-p", "pwd"}, + setup: func(t *testing.T) func() { + _, clean := createEncryptedWallet(t) + return clean + }, + checkWallet: func(t *testing.T, w *wallet.Wallet) { + require.False(t, w.IsEncrypted()) + require.Empty(t, w.Meta["cryptoType"]) + require.Empty(t, w.Meta["secrets"]) + require.NotEmpty(t, w.Meta["seed"]) + require.NotEmpty(t, w.Meta["lastSeed"]) + + for _, e := range w.Entries { + require.NotEqual(t, cipher.SecKey{}, e.Secret) + } + }, + }, + { + name: "wallet is not encrypted", + args: []string{"-p", "pwd"}, + setup: func(t *testing.T) func() { + _, clean := createUnencryptedWallet(t) + return clean + }, + errMsg: []byte("wallet is not encrypted\n"), + }, + { + name: "invalid password", + args: []string{"-p", "wrong password"}, + setup: func(t *testing.T) func() { + _, clean := createEncryptedWallet(t) + return clean + }, + errMsg: []byte("invalid password\n"), + }, + { + name: "wallet doesn't exist", + args: []string{"-p", "pwd"}, + setup: func(t *testing.T) func() { + _, clean := createEncryptedWallet(t) + os.Setenv("WALLET_NAME", "not-exist.wlt") + return clean + }, + errWithHelp: true, + errMsg: []byte("not-exist.wlt doesn't exist."), + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + clean := tc.setup(t) + defer clean() + args := append([]string{"decryptWallet"}, tc.args...) + output, err := exec.Command(binaryPath, args...).CombinedOutput() + if err != nil { + require.EqualError(t, err, "exit status 1") + require.Equal(t, tc.errMsg, output) + return + } + + if tc.errWithHelp { + require.True(t, bytes.Contains(output, tc.errMsg), string(output)) + return + } + + var rlt wallet.ReadableWallet + err = json.NewDecoder(bytes.NewReader(output)).Decode(&rlt) + require.NoError(t, err) + + w, err := rlt.ToWallet() + require.NoError(t, err) + tc.checkWallet(t, w) + }) + } +} + +func TestShowSeed(t *testing.T) { + if !doLiveOrStable(t) { + return + } + + tt := []struct { + name string + args []string + setup func(t *testing.T) func() + errWithHelp bool + errMsg []byte + expectOutput []byte + }{ + { + name: "unencrypted wallet", + setup: func(t *testing.T) func() { + _, clean := createUnencryptedWallet(t) + return clean + }, + expectOutput: []byte("exchange stage green marine palm tobacco decline shadow cereal chapter lamp copy\n"), + }, + { + name: "unencrypted wallet with -j option", + args: []string{"-j"}, + setup: func(t *testing.T) func() { + _, clean := createUnencryptedWallet(t) + return clean + }, + expectOutput: []byte("{\n \"seed\": \"exchange stage green marine palm tobacco decline shadow cereal chapter lamp copy\"\n}\n"), + }, + { + name: "encrypted wallet", + setup: func(t *testing.T) func() { + _, clean := createEncryptedWallet(t) + return clean + }, + args: []string{"-p", "pwd"}, + expectOutput: []byte("exchange stage green marine palm tobacco decline shadow cereal chapter lamp copy\n"), + }, + { + name: "encrypted wallet with -j option", + setup: func(t *testing.T) func() { + _, clean := createEncryptedWallet(t) + return clean + }, + args: []string{"-p", "pwd", "-j"}, + expectOutput: []byte("{\n \"seed\": \"exchange stage green marine palm tobacco decline shadow cereal chapter lamp copy\"\n}\n"), + }, + { + name: "encrypted wallet with invalid password", + setup: func(t *testing.T) func() { + _, clean := createEncryptedWallet(t) + return clean + }, + args: []string{"-p", "wrong password"}, + expectOutput: []byte("invalid password"), + }, + { + name: "wallet doesn't exist", + setup: func(t *testing.T) func() { + _, clean := createUnencryptedWallet(t) + os.Setenv("WALLET_NAME", "not-exist.wlt") + return clean + }, + errWithHelp: true, + expectOutput: []byte("not-exist.wlt doesn't exist."), + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + clean := tc.setup(t) + defer clean() + args := append([]string{"showSeed"}, tc.args...) + output, err := exec.Command(binaryPath, args...).CombinedOutput() + if err != nil { + require.EqualError(t, err, "exit status 1") + return + } + + if tc.errWithHelp { + require.True(t, bytes.Contains(output, tc.errMsg), string(output)) + return + } + require.Equal(t, tc.expectOutput, output) + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/address-balance.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/address-balance.golden new file mode 100755 index 0000000..3000ea6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/address-balance.golden @@ -0,0 +1,31 @@ +{ + "confirmed": { + "coins": "63083.000000", + "hours": "38823396" + }, + "spendable": { + "coins": "63083.000000", + "hours": "38823396" + }, + "expected": { + "coins": "63083.000000", + "hours": "38823396" + }, + "addresses": [ + { + "confirmed": { + "coins": "63083.000000", + "hours": "38823396" + }, + "spendable": { + "coins": "63083.000000", + "hours": "38823396" + }, + "expected": { + "coins": "63083.000000", + "hours": "38823396" + }, + "address": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt" + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/address-outputs.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/address-outputs.golden new file mode 100755 index 0000000..06a6f74 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/address-outputs.golden @@ -0,0 +1,38 @@ +{ + "outputs": { + "head_outputs": [ + { + "hash": "e5596ef0ba04ad9e0adbe0355a24c6bef249654906f917b68f8f0cf072508674", + "time": 1429382678, + "block_seq": 121, + "src_tx": "da82deafc15c36e7dc9cd95663e0dc910ae626ee543147ac7bd8682be00f7baf", + "address": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "62000.000000", + "hours": 378646, + "calculated_hours": 38127173 + }, + { + "hash": "3f9712cab0d3aeb217f1751fa19e53d75f814b4218866d4e70d63f32271d2023", + "time": 1429364452, + "block_seq": 120, + "src_tx": "d1569ca879f98450a920a2b427ab0e1d21342308fb6b4ea5031ee6e718217183", + "address": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "38.000000", + "hours": 480, + "calculated_hours": 23808 + }, + { + "hash": "3408638af298419b14a49e8e9dd69e97c9a06827d74edf9f410a870662360b31", + "time": 1429364072, + "block_seq": 118, + "src_tx": "a83e09e976b038d86491d8c029aec84a6313dc33e692da6ce50a2858e50c4666", + "address": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "1045.000000", + "hours": 30769, + "calculated_hours": 672415 + } + ], + "outgoing_outputs": [], + "incoming_outputs": [] + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/block0.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/block0.golden new file mode 100755 index 0000000..7003bda --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/block0.golden @@ -0,0 +1,36 @@ +{ + "blocks": [ + { + "header": { + "seq": 0, + "block_hash": "0551a1e5af999fe8fff529f6f2ab341e1e33db95135eef1b2be44fe6981349f3", + "previous_block_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "timestamp": 1426562704, + "fee": 0, + "version": 0, + "tx_body_hash": "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add" + }, + "body": { + "txns": [ + { + "length": 0, + "type": 0, + "txid": "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", + "inner_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "sigs": [], + "inputs": [], + "outputs": [ + { + "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "100000000.000000", + "hours": 100000000000000 + } + ] + } + ] + }, + "size": 86 + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/blocks0-5.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/blocks0-5.golden new file mode 100755 index 0000000..dc378e6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/blocks0-5.golden @@ -0,0 +1,830 @@ +{ + "blocks": [ + { + "header": { + "seq": 0, + "block_hash": "0551a1e5af999fe8fff529f6f2ab341e1e33db95135eef1b2be44fe6981349f3", + "previous_block_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "timestamp": 1426562704, + "fee": 0, + "version": 0, + "tx_body_hash": "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add" + }, + "body": { + "txns": [ + { + "length": 0, + "type": 0, + "txid": "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", + "inner_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "sigs": [], + "inputs": [], + "outputs": [ + { + "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "100000000.000000", + "hours": 100000000000000 + } + ] + } + ] + }, + "size": 86 + }, + { + "header": { + "seq": 1, + "block_hash": "baf3b622f043bbe3ef480416251a6545d07f173e5969dde2b63c4a12956d38fd", + "previous_block_hash": "0551a1e5af999fe8fff529f6f2ab341e1e33db95135eef1b2be44fe6981349f3", + "timestamp": 1427926392, + "fee": 99999999999900, + "version": 0, + "tx_body_hash": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe" + }, + "body": { + "txns": [ + { + "length": 3846, + "type": 0, + "txid": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "inner_hash": "0f7019627886818d2501af189bbac18e21b8e959891c5b2726f89e29355aa10a", + "sigs": [ + "be602113fe288f750001ab65f254ceedd8b05b1becc456a0a52a0bea10b8280e38d950933992ad3265e1f81d197036fa634b316f08b3b319ffce081aa43f3bb600" + ], + "inputs": [ + "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0" + ], + "outputs": [ + { + "uxid": "e3e72ee077c8b0c3f87da7cf50cad8876bd3f489f373d9fe82fc2e971df56f76", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "26f585cb96f35307f0af5b9aee004a29b7795695f4c5c836104e2fbbf429a3ce", + "dst": "2EYM4WFHe4Dgz6kjAdUkM6Etep7ruz2ia6h", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "18a43b8b69bbf12a9e49e6f9783ba258397e6567301aeed9e901a1e4fed9fef9", + "dst": "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5a69ef09b5de21b117cac62141a8de4eade7558c42f0ba8b50996f5ec7867c5d", + "dst": "ix44h3cojvN6nqGcdpy62X7Rw6Ahnr3Thk", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "aef761a12e3d0fa9c4a8db62b8bab1015c32931b7e3a7fc9a77282cec218f79d", + "dst": "AYV8KEBEAPCg8a59cHgqHMqYHP9nVgQDyW", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "445a4082da251fa161e4705d115fe2018ca15a5f92e8a0950793405410e6be12", + "dst": "2Nu5Jv5Wp3RYGJU1EkjWFFHnebxMx1GjfkF", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5e35182bc9372d898df106bb2e7b3dfe33d28e59082f5d19d4a84ac0012d1291", + "dst": "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "368a609ee90ca15bbbd297af07dc6705131764476d54bef641017ffcd0885e65", + "dst": "tWZ11Nvor9parjg4FkwxNVcby59WVTw2iL", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "13afe1586015c4d7312f89d123153279e4961eb0d53a4d036847d5d989ba90dc", + "dst": "m2joQiJRZnj3jN6NsoKNxaxzUTijkdRoSR", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f625cf04412199c16e073dbb500e66c23cfe69043578b4a2d879a329aac563ec", + "dst": "8yf8PAQqU2cDj8Yzgz3LgBEyDqjvCh2xR7", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b2da50a08756c34d059a04812451cf3296f73ba87f8cca38473ac8f051ab6d1e", + "dst": "sgB3n11ZPUYHToju6TWMpUZTUcKvQnoFMJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "135c28698e80e3b2a737d59c16c79684c3fb3ec5cec59f466a39f4ac3c73968e", + "dst": "2UYPbDBnHUEc67e7qD4eXtQQ6zfU2cyvAvk", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "df63056cf3ae21efa86d241876ad0194387317585dc9e4fcd80954b47d59b57a", + "dst": "wybwGC9rhm8ZssBuzpy5goXrAdE31MPdsj", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4628f4cfdbf1eb7cccc25d461c46cc29e90cffb5d6277e0de641f7701d60c308", + "dst": "JbM25o7kY7hqJZt3WGYu9pHZFCpA9TCR6t", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "47e4706dc4d80a70b20c889476fb0627ca6d5bdaa790f4ceba44a689d31b2dcc", + "dst": "2efrft5Lnwjtk7F1p9d7BnPd72zko2hQWNi", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b64bc50d370a06df117eb543ca051239c985cfc4b6aa527c51b700de32c7fc41", + "dst": "Syzmb3MiMoiNVpqFdQ38hWgffHg86D2J4e", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "390bc4c045fa9f289957b7eca529bfadac96a7dd074bcfbdd3b09e99413b8202", + "dst": "2g3GUmTQooLrNHaRDhKtLU8rWLz36Beow7F", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6aa162f7fc09598c4dc8f5fab7fb2383f28c3840937a001acd9f37136e1691b2", + "dst": "D3phtGr9iv6238b3zYXq6VgwrzwvfRzWZQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "e440cf4c896735d3299a871f988c134f404fb2065d1f20c87c9c9bc5fa582e09", + "dst": "gpqsFSuMCZmsjPc6Rtgy1FmLx424tH86My", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "eea791e84a53e4d99485519c5d2c3146b0a2ad080cf92904ae7b28c2d9a6e3ca", + "dst": "2EUF3GPEUmfocnUc1w6YPtqXVCy3UZA4rAq", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "01048ad6a538256d9a8c6c9c6321ca1a01b31cbf08e74fd4ff0f141bf97eb8ce", + "dst": "TtAaxB3qGz5zEAhhiGkBY9VPV7cekhvRYS", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "bc5f1f1ddc8cb23df3d42f1e5a1dda9d356846fe930ae4484bc1eeb1b3b2c95b", + "dst": "2fM5gVpi7XaiMPm4i29zddTNkmrKe6TzhVZ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f03087245a6b64bb69cd5866a1887ae595a9e1a86e196754984840eaf6d3eb9c", + "dst": "ix3NDKgxfYYANKAb5kbmwBYXPrkAsha7uG", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "239bdba27dabd52f7450f7d8521c9a7e5ac74093ae3f6f2348bf40ac9a6db7a5", + "dst": "2RkPshpFFrkuaP98GprLtgHFTGvPY5e6wCK", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d60879e562b65f97d40bec7309d4490ba0a8c80e2349ecb2e3505aaa50ea1e47", + "dst": "Ak1qCDNudRxZVvcW6YDAdD9jpYNNStAVqm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "66e685901492c94942522c346759c711ee2e78a059ef274e77a6ab433409683c", + "dst": "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b497992663f99f9902deaaf487b00655820003015ea92091628f4a6e8aeb5854", + "dst": "KPfqM6S96WtRLMuSy4XLfVwymVqivdcDoM", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "bc40377012004566712fa860e74db97305091cc163e95435e04556c70d32f9c5", + "dst": "5B98bU1nsedGJBdRD5wLtq7Z8t8ZXio8u5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "73304622e33994bc2d4ade2cab78d28e1b65185e60ad3c781ecfb5cbc8159136", + "dst": "2iZWk5tmBynWxj2PpAFyiZzEws9qSnG3a6n", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fed15e8506d0e0898510311850b8863ef6d9a499215ae8823a1e3fb9c8140ab2", + "dst": "XUGdPaVnMh7jtzPe3zkrf9FKh5nztFnQU5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "12034bc455d0821813d7eb9afed1ed1a8f19b6f29826ef4a057b4aa0b4228817", + "dst": "hSNgHgewJme8uaHrEuKubHYtYSDckD6hpf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fc444cdb2598f44209a41ea20afdc9065ebe51b7cd5f65bb1c0f7a7b427ce7b1", + "dst": "2DeK765jLgnMweYrMp1NaYHfzxumfR1PaQN", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "618d242d95d33e2d7316612a164d89859b85f1287f0d5bed4dcb561cf478f706", + "dst": "orrAssY5V2HuQAbW9K6WktFrGieq2m23pr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "07f70fd4108ef4d2fde3b85411728c1f7bd3a135d2062c5a30a46cc885463780", + "dst": "4Ebf4PkG9QEnQTm4MVvaZvJV6Y9av3jhgb", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "af9bcf6ba63a08e699bc101aa362f135343aaf78a56e9f88d118fca0e1ce5c08", + "dst": "7Uf5xJ3GkiEKaLxC2WmJ1t6SeekJeBdJfu", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6b3530bb930ed10bbc4c307663aba4377c08443498a0a2cf023b1be72f378ae1", + "dst": "oz4ytDKbCqpgjW3LPc52pW2CaK2gxCcWmL", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "fd6da5199e528958e68ee8dd003b727d4d840754ea7c1e0c05e4f0e504c9b2cd", + "dst": "2ex5Z7TufQ5Z8xv5mXe53fSQRfUr35SSo7Q", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "131f07f5b40f365fb537b863e4aa5ef0efcd77b7fa2ff321d90eeb743ac43678", + "dst": "WV2ap7ZubTxeDdmEZ1Xo7ufGMkekLWikJu", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "ffbdfdbf3427d04f445c33e867845bec1ee64a9dfe0d0fa8284547c2226fdfa9", + "dst": "ckCTV4r1pNuz6j2VBRHhaJN9HsCLY7muLV", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8b53c7188ebf4d630790ff63275679ba48009e31af6e4fe15806619216caa750", + "dst": "MXJx96ZJVSjktgeYZpVK8vn1H3xWP8ooq5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "b4c6639b49402c2753f83c7fb7d3ffa65da74e47fef2b781933ff55b14d09bcd", + "dst": "wyQVmno9aBJZmQ99nDSLoYWwp7YDJCWsrH", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0c956289db079c00d2f80c590d3c8ca26c37da534fe5f65e799b3982ceca493c", + "dst": "2cc9wKxCsFNRkoAQDAoHke3ZoyL1mSV14cj", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "550d2a8d3047cdae0c05a61cc3de43e758b123a6955fa067d3ac375f7d0dbadc", + "dst": "29k9g3F5AYfVaa1joE1PpZjBED6hQXes8Mm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "78740d5bf49989936d315bf641949232aace582e03de57db8abff940f7d51bd1", + "dst": "2XPLzz4ZLf1A9ykyTCjW5gEmVjnWa8CuatH", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9f2c83c5165826de1077f428ad39d41473e32ed64cd83180d49e7d8e5db996d0", + "dst": "iH7DqqojTgUn2JxmY9hgFp165Nk7wKfan9", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "883be4d7173c235933294ab8dcae8cc76609166eaa1c1f07e9b51d551c979709", + "dst": "RJzzwUs3c9C8Y7NFYzNfFoqiUKeBhBfPki", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6384ed19650d384c29db4c3a39a1ca855058fab758075be2dee759dd9e6faae1", + "dst": "2W2cGyiCRM4nwmmiGPgMuGaPGeBzEm7VZPn", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "25e22bb83c51f766571cf92ec7303071c9f25e3a34366f4679a22519e6ec368b", + "dst": "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0c238e82f3a4beee1be7b5b464e8553404f6927d5ab93c3d649d362c01097782", + "dst": "tBaeg9zE2sgmw5ZQENaPPYd6jfwpVpGTzS", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "dad4991bfa5c51eb176f28c1b3f86661e02579905e6e07c997df22004e06244a", + "dst": "2hdTw5Hk3rsgpZjvk8TyKcCZoRVXU5QVrUt", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4ba91512c168281f41d3934b927d0d86a3136a31cc345b635095928f8e5f013c", + "dst": "A1QU6jKq8YgTP79M8fwZNHUZc7hConFKmy", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c416f5e604eeada9ae8e520a429d8f19d4230626769e7121007e01353730784f", + "dst": "q9RkXoty3X1fuaypDDRUi78rWgJWYJMmpJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "7b8787fd4076c27d074d2a4761377a1aa26c843c432e3b7e6b0ebf1e29528188", + "dst": "2Xvm6is5cAPA85xnSYXDuAqiRyoXiky5RaD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "38f22b194f04d85a6b545b37df06195edeb8503798b229ddeaa946018150c05c", + "dst": "4CW2CPJEzxhn2PS4JoSLoWGL5QQ7dL2eji", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "246377a036ad5444bcd5f47ac9e55fec7c85fc40644df593038d360554a809f7", + "dst": "24EG6uTzL7DHNzcwsygYGRR1nfu5kco7AZ1", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c6d5e543ff5f2c2526728d588fb21753db5b7e05b8b275aa5e9b24d29350afb0", + "dst": "KghGnWw5fppTrqHSERXZf61yf7GkuQdCnV", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "98e223e6e2240fef83082d3daa86e46f10e0c71f3f74489ba95db0951a166f53", + "dst": "2WojewRA3LbpyXTP9ANy8CZqJMgmyNm3MDr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c8971ca91f8e21c556f647940073db003f7dd5582ae55d4ebca602d5e8e91a6e", + "dst": "2BsMfywmGV3M2CoDA112Rs7ZBkiMHfy9X11", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "dfa7822c05f54116c9fc3b2cde1ecb4667f47a2d8771fe886e832c223cdc4e82", + "dst": "kK1Q4gPyYfVVMzQtAPRzL8qXMqJ67Y7tKs", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6d37c0c4b6fcbac1e53a46c9c2dc5d3c3b36312c53f25b2baacc785ea77a11f7", + "dst": "28J4mx8xfUtM92DbQ6i2Jmqw5J7dNivfroN", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9ba5e31610f0545666f102465efa8caa48ad3fb5b8abd5ae802f4a71e3f7de3b", + "dst": "gQvgyG1djgtftoCVrSZmsRxr7okD4LheKw", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "3ca365aace71e24b04d6f2ffbf7171468c5e71783858c710cae539c5e43e0c0e", + "dst": "3iFGBKapAWWzbiGFSr5ScbhrEPm6Esyvia", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c858f2db2a20ac562d32f8fb2a3a11039849a6e44d2bec30befb2e173532a9a3", + "dst": "NFW2akQH2vu7AqkQXxFz2P5vkXTWkSqrSm", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "1550a76598693b950346397e0e825bbb2805edde38b0d0240e50050829b7b1dd", + "dst": "2MQJjLnWRp9eHh6MpCwpiUeshhtmri12mci", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "466340ab7733abb23ab24d877c673fe089c273f11808fbbd6f33a91da92ee96c", + "dst": "2QjRQUMyL6iodtHP9zKmxCNYZ7k3jxtk49C", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "401d4c0c1060ebbb4b9fb3859c2eb47789f94086f4deb01234bf46f7cdc81247", + "dst": "USdfKy7B6oFNoauHWMmoCA7ND9rHqYw2Mf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "2c0e3aa084f5fec45f99b3f125ce7d50c6da526ef5165df5f22ba603147c3fc2", + "dst": "cA49et9WtptYHf6wA1F8qqVgH3kS5jJ9vK", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d2e724d83e35235c23c0bb16ae9b708a5bba3c23b186b05d4b8c606f6bb4b311", + "dst": "qaJT9TjcMi46sTKcgwRQU8o5Lw2Ea1gC4N", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "4f30eae8c49eb268fe364eaf5ee0788da6e2f6adc2f83cd82e96a4bfe98496f5", + "dst": "22pyn5RyhqtTQu4obYjuWYRNNw4i54L8xVr", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8753d5775c22477a8ef74eeebf61d7de30be702e70118f552cc18ad963ffe950", + "dst": "22dkmukC6iH4FFLBmHne6modJZZQ3MC9BAT", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "efa2007c561dcbf7c83a6bbdd2ef75e7cca76b05330a8b948ba0dd94dee949f7", + "dst": "z6CJZfYLvmd41GRVE8HASjRcy5hqbpHZvE", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8b379d1b8ff0153c63ee69c40a7155b97fa42ab570f68ff847d457316c4d8ab9", + "dst": "GEBWJ2KpRQDBTCCtvnaAJV2cYurgXS8pta", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cc84f93adce16699d9e84ef32f55333402431b58dc50c17084bcb8b33f382f88", + "dst": "oS8fbEm82cprmAeineBeDkaKd7QownDZQh", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "f38f0760769c19075034f70b059abf4d1bfa6d01e1e8c369a99900ed1eaeca6d", + "dst": "rQpAs1LVQdphyj9ipEAuukAoj9kNpSP8cM", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8d55f76bb0b3dd222cf85a7193501c0f4071b446f56dbd1da355b1625993325a", + "dst": "6NSJKsPxmqipGAfFFhUKbkopjrvEESTX3j", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "efde499c7e4444bc602b7bf5ed50e95a18ce8ec9a06ba9d850a05bb7a25ecb3a", + "dst": "cuC68ycVXmD2EBzYFNYQ6akhKGrh3FGjSf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "2a4d631d5dc90e397d85f13410d1a6d877dcaf592a0e2be2e727443ac74b5bd5", + "dst": "bw4wtYU8toepomrhWP2p8UFYfHBbvEV425", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "e936299a21240744f6edbab493449323f920bbe15dcf294463e5a2ace10f27b0", + "dst": "HvgNmDz5jD39Gwmi9VfDY1iYMhZUpZ8GKz", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "44e17f4bd29411a1614457171c06183e364bf6ff80a201717b2dfc0748e9ebe3", + "dst": "SbApuZAYquWP3Q6iD51BcMBQjuApYEkRVf", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "1941e5cc5e38dd92427580af699b1f410be7b29ff17d3d0ff3d046bfba0aaabf", + "dst": "2Ugii5yxJgLzC59jV1vF8GK7UBZdvxwobeJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "ff6c0f27fcf92f3b4a3871b801c3116847fe47a7e3bafcadd4855d06012091ad", + "dst": "21N2iJ1qnQRiJWcEqNRxXwfNp8QcmiyhtPy", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cd6c4b785e60757fad0e6fd4874b729ea7703fe7ee9560e1283d2eb71fc75321", + "dst": "9TC4RGs6AtFUsbcVWnSoCdoCpSfM66ALAc", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "745eaff456a390c3868742a039e72c2a93ff8eee10417dbe848d533b89facc04", + "dst": "oQzn55UWG4iMcY9bTNb27aTnRdfiGHAwbD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "d2f3f050c9ef31bf5c3b14c1c71699c4f4b38aa18479531194d12e6277416516", + "dst": "2GCdwsRpQhcf8SQcynFrMVDM26Bbj6sgv9M", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0b95850edabed70762768ac1695c5d7f230cccaa8de06657cda42cafba36374f", + "dst": "2NRFe7REtSmaM2qAgZeG45hC8EtVGV2QjeB", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "7c767d3a06db1ac0e1809ebe29a7d9689143259f4651837de54423e287c20490", + "dst": "25RGnhN7VojHUTvQBJA9nBT5y1qTQGULMzR", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "78b07e8fe1366e173f2eeb75c35cd53baf0f6100de50ae12b4ffe7d0d7ba4298", + "dst": "26uCBDfF8E2PJU2Dzz2ysgKwv9m4BhodTz9", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "5010eb25f6e1ed725fb901ae1e945e545ae846d7be8a135333d2d41102c33328", + "dst": "Wkvima5cF7DDFdmJQqcdq8Syaq9DuAJJRD", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "178a33e64826cd2039b8538b74e6de513966acab45ab79d77dc9392018a65ffb", + "dst": "286hSoJYxvENFSHwG51ZbmKaochLJyq4ERQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "044dc539d063250dc654b2bf0986a9044b4eea05e1284c11a2b313acd8dc3498", + "dst": "FEGxF3HPoM2HCWHn82tyeh9o7vEQq5ySGE", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "9fd5ea38f383291566def44b6fb932414f97123952578fe0cfb9a30eb075a099", + "dst": "h38DxNxGhWGTq9p5tJnN5r4Fwnn85Krrb6", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "be5930e9cc35801433bcd21db84da7d4f1d8e744feca16a2c6fb00c81ce93e51", + "dst": "2c1UU8J6Y3kL4cmQh21Tj8wkzidCiZxwdwd", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "8cd999cd193d315e5f1c6f74c230c12e6abe6847924f6e89d988e09ca413f52e", + "dst": "2bJ32KuGmjmwKyAtzWdLFpXNM6t83CCPLq5", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "0cff53628eb0e984c134b68cbe4b1bb7721a05adaa32e93b9df489a9a7a176cf", + "dst": "2fi8oLC9zfVVGnzzQtu3Y3rffS65Hiz6QHo", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "a5ef046e84be9ff2485dde49afe6073811286761afac3bbd588b6e4130930479", + "dst": "TKD93RxFr2Am44TntLiJQus4qcEwTtvEEQ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "cdee5f84c4f08098ac740e3a260ced14c1e199e126aa5291ec079b281a7dc407", + "dst": "zMDywYdGEDtTSvWnCyc3qsYHWwj9ogws74", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "6a24135f8496e7a37dcf7164218bb3aa530319f3b2bf3c7a1a9cc1bd17831328", + "dst": "25NbotTka7TwtbXUpSCQD8RMgHKspyDubXJ", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "693c7f970b34ce5882e62430f4c9c28957159a257d27d4e21a61fd95c6b97464", + "dst": "2ayCELBERubQWH5QxUr3cTxrYpidvUAzsSw", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "c008a613cef129c180dbcc7213f2d41a14d245d06a3844d63d9beac963145385", + "dst": "RMTCwLiYDKEAiJu5ekHL1NQ8UKHi5ozCPg", + "coins": "1000000.000000", + "hours": 1 + }, + { + "uxid": "439cdfd03972fb4bb5da54208cf8098ee78228c487ce9e84623f5f83e17a7d68", + "dst": "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm", + "coins": "1000000.000000", + "hours": 1 + } + ] + } + ] + }, + "size": 3846 + }, + { + "header": { + "seq": 2, + "block_hash": "01723bc4dc90f1cb857a94fe5e3bb50c02e6689fd998f8147c9cae07fbfa63af", + "previous_block_hash": "baf3b622f043bbe3ef480416251a6545d07f173e5969dde2b63c4a12956d38fd", + "timestamp": 1427927651, + "fee": 0, + "version": 0, + "tx_body_hash": "312a269b8248e389c61571cc13f4ad13b7d53b64853d990ddc301a58e7071889" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "312a269b8248e389c61571cc13f4ad13b7d53b64853d990ddc301a58e7071889", + "inner_hash": "4daff2831f5bc2877a98a49b0ef75f8ff01bcb35082fd4018c77707dfca31849", + "sigs": [ + "f4482e0781e0d94c8c4773940e1f811405681844a9dc3c1938243442e1cbd5463d5e251880abbf8ff1ed85b4b2659e83ee30f06cc4c5dc9913aa6a9630fbe3de01" + ], + "inputs": [ + "e3e72ee077c8b0c3f87da7cf50cad8876bd3f489f373d9fe82fc2e971df56f76" + ], + "outputs": [ + { + "uxid": "0cd548e03bd13bca8647cd13f6baef0c65fd03081aeb6dc3695536e5bc6018ae", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999990.000000", + "hours": 1 + }, + { + "uxid": "af0b2c1cc882a56b6c0c06e99e7d2731413b988329a2c47a5c2aa8be589b707a", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 3, + "block_hash": "35c3ebbe6feaeeab27ac77c1712051787bdd4bbfb5cdcdebc81f8aac98a2f3f3", + "previous_block_hash": "01723bc4dc90f1cb857a94fe5e3bb50c02e6689fd998f8147c9cae07fbfa63af", + "timestamp": 1427927671, + "fee": 0, + "version": 0, + "tx_body_hash": "a6a709e9388a4d67a47d262b11da5f804eddd9d67acc4a3e450f7a567bdc1619" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "a6a709e9388a4d67a47d262b11da5f804eddd9d67acc4a3e450f7a567bdc1619", + "inner_hash": "ea6adee3180c7f9d73d1e693822d5d1c2bba85067f89a873355bc771a078faa1", + "sigs": [ + "ce8fd47e2044ed17998f92621e90329f673a746c802d67f639ca083705dd199f6ee346781497b44132434922879244d819694b5903093f784570c55d293ab4af01" + ], + "inputs": [ + "af0b2c1cc882a56b6c0c06e99e7d2731413b988329a2c47a5c2aa8be589b707a" + ], + "outputs": [ + { + "uxid": "9eb7954461ba0256c9054fe38c00c66e60428dccf900a62e74b9fe39310aea13", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 4, + "block_hash": "415e47348a1e642cb2e31d00ee500747d3aed0336aabfff7d783ed21465251c7", + "previous_block_hash": "35c3ebbe6feaeeab27ac77c1712051787bdd4bbfb5cdcdebc81f8aac98a2f3f3", + "timestamp": 1428793611, + "fee": 1852, + "version": 0, + "tx_body_hash": "c24b92898381fbebe59a457924184f4cce1e7166e140ca75aea5baf854c1ab75" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "c24b92898381fbebe59a457924184f4cce1e7166e140ca75aea5baf854c1ab75", + "inner_hash": "43dd65d5644ec5214a901ac94e530cbedb83d2174cf402c7b24697cfe55e1de7", + "sigs": [ + "434a7a0b624fda393c1caa57ac9787f69da3d8854d0ec6f69f0da1c96c9b683d787064b644e9ac3dd4dd8466c22c1547cff89c2552420f5efcfd1eacb1a2eac301" + ], + "inputs": [ + "0cd548e03bd13bca8647cd13f6baef0c65fd03081aeb6dc3695536e5bc6018ae" + ], + "outputs": [ + { + "uxid": "706f82c481906108880d79372ab5c126d32ecc98cf3f7c74cf33f5fda49dcf70", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999980.000000", + "hours": 3704 + }, + { + "uxid": "98b3e6e6d4ed36159b7dbf5f305174fc0c255d2d97528b35a67d50b9968e2b2f", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "10.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 5, + "block_hash": "114fe60587a158428a47e0f9571d764f495912c299aa4e67fc88004cf21b0c24", + "previous_block_hash": "415e47348a1e642cb2e31d00ee500747d3aed0336aabfff7d783ed21465251c7", + "timestamp": 1428798821, + "fee": 2036, + "version": 0, + "tx_body_hash": "0579e7727627cd9815a8a8b5e1df86124f45a4132cc0dbd00d2f110e4f409b69" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "0579e7727627cd9815a8a8b5e1df86124f45a4132cc0dbd00d2f110e4f409b69", + "inner_hash": "fe123ca954a82bb1ce2cc9ef9c56d6b649a4cbaf5b17394b0ffda651ed32327e", + "sigs": [ + "056ed0f74367fb1370d7e98689953983d9cf34eb6669854f1645c8a16c93d85075661e7d4f6df0ce5ca8eb9852eff6a12fbac2caafee03bb8c616f847c61416800", + "8aaa7f320a7b01169d3217a600100cb27c55e4ce56cd3455814f56d8e4e65be746e0e20e776087af6f19361f0b898edc2123a5f9bd35d24ef8b8669ca85b142601" + ], + "inputs": [ + "9eb7954461ba0256c9054fe38c00c66e60428dccf900a62e74b9fe39310aea13", + "706f82c481906108880d79372ab5c126d32ecc98cf3f7c74cf33f5fda49dcf70" + ], + "outputs": [ + { + "uxid": "fa2b598d233fe434f907f858d5de812eacf50c7b3fd152c77cd6e246fe356a9e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999890.000000", + "hours": 4073 + }, + { + "uxid": "dc63c680f408c4e646037966189383a5d50eda34e666c2a0c75c0c6bf13b71a1", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "100.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 317 + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/blocks180.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/blocks180.golden new file mode 100755 index 0000000..ef9a824 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/blocks180.golden @@ -0,0 +1,46 @@ +{ + "blocks": [ + { + "header": { + "seq": 180, + "block_hash": "63614fdf08b67fcfc99d7b43d115fb9f57eb5c6833acdbdc712ee361f391f292", + "previous_block_hash": "93fce3f520d9ec5b5c29226ad39fb61e3b9a92464fdec87d6805cf8e8e782959", + "timestamp": 1431574528, + "fee": 2265261, + "version": 0, + "tx_body_hash": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d", + "inner_hash": "d5b18a0c0c454e56fe1f7d0c64236d633f65717c04f08cd943f5669b4cc34667", + "sigs": [ + "2fac42571bb301783e46e804069c73c8226b637ae6385fec793e3a3860feaa6918058c55f461cef38341670c5c2da230d2241f267dbde6fc0528a6fb24362b3b00" + ], + "inputs": [ + "c39acd3494113650c1a6a7809287af7b12a78bbd97126d4585dd1715e2cb5a66" + ], + "outputs": [ + { + "uxid": "75692aeff988ce0da734c474dbef3a1ce19a5a6823bbcd36acb856c83262261e", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "hours": 377543 + }, + { + "uxid": "a4b70476ea1e079ebd3503b52eee32d490515457fce6a5aa075770b598a9d14f", + "dst": "CDD8GoJUHEvBm1pD3BQ3hEC2KcJNhvUzpu", + "coins": "1000.000000", + "hours": 377543 + } + ] + } + ] + }, + "size": 220 + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/decode-raw-transaction.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/decode-raw-transaction.golden new file mode 100755 index 0000000..9e8390f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/decode-raw-transaction.golden @@ -0,0 +1,40 @@ +{ + "hash": "a121fe93d0ddebc50e6916adebb524b5b4f087b7a35904b35586f908e3b6b09f", + "inner_hash": "a1d3345ac47f897f24084b1c6b9bd6e03fc92887050d0748bdab5e639c1fdcd4", + "sigs": [ + "a2a10f07e0e06cf6ba3e793b3186388a126591ee230b3f387617f1ccb6376a3f18e094bd3f7719aa8191c00764f323872f5192da393852bd85dab70b13409d2b01" + ], + "in": [ + "4d78de698a33abcfff22391c043b57a56bb0efbdc4a5b975bf8e7889668896bc" + ], + "out": [ + { + "hash": "f087da7995cdde1c7ee49d0418f28fa441adab22e6d23990e7f92935be2aa154", + "src_tx": "a1d3345ac47f897f24084b1c6b9bd6e03fc92887050d0748bdab5e639c1fdcd4", + "address": "2JCPnb1212XWQn8GUsQyv4HuB5VrgGHzb7N", + "coins": "177.999000", + "hours": 13908 + }, + { + "hash": "3a40b50a75b2afa06e009fbeacfbe372f346f9753f680a0de77cae8524d72d68", + "src_tx": "a1d3345ac47f897f24084b1c6b9bd6e03fc92887050d0748bdab5e639c1fdcd4", + "address": "PE2qwUxTxe9RpdTnMcJtrP98riLW83nx5d", + "coins": "180.000000", + "hours": 4636 + }, + { + "hash": "dbe965543069910f403ce62be61310ef8f873abbfdf26d296ba8884b4b8291c9", + "src_tx": "a1d3345ac47f897f24084b1c6b9bd6e03fc92887050d0748bdab5e639c1fdcd4", + "address": "wnhsTd3oXoKNRyLWj893pScqWXPMNg85RM", + "coins": "65.000000", + "hours": 4636 + }, + { + "hash": "b0c887a2e54d4946e70589c20d4dd48c525dc7bdc00daf085329ab73a8c423f2", + "src_tx": "a1d3345ac47f897f24084b1c6b9bd6e03fc92887050d0748bdab5e639c1fdcd4", + "address": "tWPDM36ex9zLjJw1aPMfYTVPbYgkL2Xp9V", + "coins": "27.000000", + "hours": 4635 + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/generate-addresses-2.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/generate-addresses-2.golden new file mode 100755 index 0000000..25e3a86 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/generate-addresses-2.golden @@ -0,0 +1,29 @@ +{ + "meta": { + "coin": "skycoin", + "filename": "integration-test.wlt", + "label": "integration-test", + "lastSeed": "0ba2094a20d5fd2a8bed063fc4bbd3d7d2d8cedd07317086780043937310a1f3", + "seed": "exchange stage green marine palm tobacco decline shadow cereal chapter lamp copy", + "tm": "1518271871", + "type": "deterministic", + "version": "0.1" + }, + "entries": [ + { + "address": "2Kg3eRXUhY6hrDZvNGB99DKahtrPDQ1W9vN", + "public_key": "03aefe8fc5952f67aca014ae4da6e7eba1321542be02d2d6f718c666750bf4c630", + "secret_key": "f1877ae49e2233db10460d3c971b2aaccc04d771629bc98ee7a1dafca9baed8e" + }, + { + "address": "7g3M372kxwNwwQEAmrronu4anXTW8aD1XC", + "public_key": "0319527fa74053b148d7efe973c0ee734e49f52a11417232e582b8c51e389d638a", + "secret_key": "f46d3e7661a1daef6229f83b641f9666bcfce4f9f2bd1a0161b35ac8d8ff8a8b" + }, + { + "address": "2EDapDfn1VC6P2hx4nTH2cRUkboGAE16evV", + "public_key": "0259a2d466c3d021d78eb09ffc8b2f4a84ce5c13264a25c9069c149f9be99c8eb0", + "secret_key": "356a6d77c5322cee36d12ad6c91a9135c403a25273ea64b30db264a5aa1f8314" + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/generate-addresses-encrypted.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/generate-addresses-encrypted.golden new file mode 100755 index 0000000..4383c8b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/generate-addresses-encrypted.golden @@ -0,0 +1,27 @@ +{ + "meta": { + "coin": "skycoin", + "cryptoType": "scrypt-chacha20poly1305", + "encrypted": "true", + "filename": "integration-test-encrypted.wlt", + "label": "integration-test", + "lastSeed": "", + "secrets": "", + "seed": "", + "tm": "1518271871", + "type": "deterministic", + "version": "0.2" + }, + "entries": [ + { + "address": "2Kg3eRXUhY6hrDZvNGB99DKahtrPDQ1W9vN", + "public_key": "03aefe8fc5952f67aca014ae4da6e7eba1321542be02d2d6f718c666750bf4c630", + "secret_key": "" + }, + { + "address": "7g3M372kxwNwwQEAmrronu4anXTW8aD1XC", + "public_key": "0319527fa74053b148d7efe973c0ee734e49f52a11417232e582b8c51e389d638a", + "secret_key": "" + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/generate-addresses.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/generate-addresses.golden new file mode 100755 index 0000000..f12b147 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/generate-addresses.golden @@ -0,0 +1,24 @@ +{ + "meta": { + "coin": "skycoin", + "filename": "integration-test.wlt", + "label": "integration-test", + "lastSeed": "f4ee62d76b32106664da3be08ffcab6944a8826bf82f4e8be6c9e790169b1a95", + "seed": "exchange stage green marine palm tobacco decline shadow cereal chapter lamp copy", + "tm": "1518271871", + "type": "deterministic", + "version": "0.1" + }, + "entries": [ + { + "address": "2Kg3eRXUhY6hrDZvNGB99DKahtrPDQ1W9vN", + "public_key": "03aefe8fc5952f67aca014ae4da6e7eba1321542be02d2d6f718c666750bf4c630", + "secret_key": "f1877ae49e2233db10460d3c971b2aaccc04d771629bc98ee7a1dafca9baed8e" + }, + { + "address": "7g3M372kxwNwwQEAmrronu4anXTW8aD1XC", + "public_key": "0319527fa74053b148d7efe973c0ee734e49f52a11417232e582b8c51e389d638a", + "secret_key": "f46d3e7661a1daef6229f83b641f9666bcfce4f9f2bd1a0161b35ac8d8ff8a8b" + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/genesis-transaction-cli.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/genesis-transaction-cli.golden new file mode 100755 index 0000000..0083809 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/genesis-transaction-cli.golden @@ -0,0 +1,29 @@ +{ + "transaction": { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 181, + "block_seq": 0, + "unknown": false + }, + "time": 1426562704, + "txn": { + "length": 0, + "type": 0, + "txid": "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", + "inner_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "timestamp": 1426562704, + "sigs": [], + "inputs": [], + "outputs": [ + { + "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "100000000.000000", + "hours": 100000000000000 + } + ] + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/genesis-transaction.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/genesis-transaction.golden new file mode 100755 index 0000000..0083809 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/genesis-transaction.golden @@ -0,0 +1,29 @@ +{ + "transaction": { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 181, + "block_seq": 0, + "unknown": false + }, + "time": 1426562704, + "txn": { + "length": 0, + "type": 0, + "txid": "d556c1c7abf1e86138316b8c17183665512dc67633c04cf236a8b7f332cb4add", + "inner_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "timestamp": 1426562704, + "sigs": [], + "inputs": [], + "outputs": [ + { + "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", + "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + "coins": "100000000.000000", + "hours": 100000000000000 + } + ] + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/integration-test-encrypted.wlt b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/integration-test-encrypted.wlt new file mode 100755 index 0000000..fc39e6d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/integration-test-encrypted.wlt @@ -0,0 +1,22 @@ +{ + "meta": { + "coin": "skycoin", + "cryptoType": "scrypt-chacha20poly1305", + "encrypted": "true", + "filename": "integration-test-encrypted.wlt", + "label": "integration-test", + "lastSeed": "", + "secrets": "dgB7Im4iOjEwNDg1NzYsInIiOjgsInAiOjEsImtleUxlbiI6MzIsInNhbHQiOiJidHVibVZ2eEhWNHVKc0szcHFwUE5xY3VoL1VvRjRYbjQ5N0IzLzhYUFhJPSIsIm5vbmNlIjoiSEZNd1VwYUNnYUk3eFo2SiJ9BceIdIv3aGRAsANPVAm6gvrgJd2jZxJLazBwd2yQhTTWXxYVReGEsL/fzYZyDbJNvJgGZpTJsQ0R2yVgjlRbr5Km6x4yiGk8riXWiQ1Tpcfjmst7vDzjq/lUrcci/lwuGwVNf+TsmhzyD/uvV/4yR8oPtZHgPDBoMIkB/NPawNkXkcP1D6lA5LAddWHkKt/SCRxF3YdKW64LjojqExUukYSLJenxFHkTbEB/QBLb/dfZXZolLYevIKbPH/Rt7qiwOj8bvfwPPlIRf101VCvqLW8q8fcfYzvidQyjz7CfW8wh6mqMmXW4Wp+I14BQIleuBlkd35Fz2etKMMiyyltYn5FaixbP2WHFHBBg+Yfm5OzYt5K7b0cG8kDfAN1PHyYc30o=", + "seed": "", + "tm": "1518271871", + "type": "deterministic", + "version": "0.2" + }, + "entries": [ + { + "address": "2Kg3eRXUhY6hrDZvNGB99DKahtrPDQ1W9vN", + "public_key": "03aefe8fc5952f67aca014ae4da6e7eba1321542be02d2d6f718c666750bf4c630", + "secret_key": "" + } + ] +} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/integration-test.wlt b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/integration-test.wlt new file mode 100755 index 0000000..7cd53c2 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/integration-test.wlt @@ -0,0 +1,19 @@ +{ + "meta": { + "coin": "skycoin", + "filename": "integration-test.wlt", + "label": "integration-test", + "lastSeed": "1c0ff9dd77fb5dd079078c3098e61a9d99965e8d55121cc3fb576af61d6d450a", + "seed": "exchange stage green marine palm tobacco decline shadow cereal chapter lamp copy", + "tm": "1518271871", + "type": "deterministic", + "version": "0.1" + }, + "entries": [ + { + "address": "2Kg3eRXUhY6hrDZvNGB99DKahtrPDQ1W9vN", + "public_key": "03aefe8fc5952f67aca014ae4da6e7eba1321542be02d2d6f718c666750bf4c630", + "secret_key": "f1877ae49e2233db10460d3c971b2aaccc04d771629bc98ee7a1dafca9baed8e" + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/last-blocks0.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/last-blocks0.golden new file mode 100755 index 0000000..b5b27b9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/last-blocks0.golden @@ -0,0 +1,3 @@ +{ + "blocks": [] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/last-blocks1.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/last-blocks1.golden new file mode 100755 index 0000000..ef9a824 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/last-blocks1.golden @@ -0,0 +1,46 @@ +{ + "blocks": [ + { + "header": { + "seq": 180, + "block_hash": "63614fdf08b67fcfc99d7b43d115fb9f57eb5c6833acdbdc712ee361f391f292", + "previous_block_hash": "93fce3f520d9ec5b5c29226ad39fb61e3b9a92464fdec87d6805cf8e8e782959", + "timestamp": 1431574528, + "fee": 2265261, + "version": 0, + "tx_body_hash": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d", + "inner_hash": "d5b18a0c0c454e56fe1f7d0c64236d633f65717c04f08cd943f5669b4cc34667", + "sigs": [ + "2fac42571bb301783e46e804069c73c8226b637ae6385fec793e3a3860feaa6918058c55f461cef38341670c5c2da230d2241f267dbde6fc0528a6fb24362b3b00" + ], + "inputs": [ + "c39acd3494113650c1a6a7809287af7b12a78bbd97126d4585dd1715e2cb5a66" + ], + "outputs": [ + { + "uxid": "75692aeff988ce0da734c474dbef3a1ce19a5a6823bbcd36acb856c83262261e", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "hours": 377543 + }, + { + "uxid": "a4b70476ea1e079ebd3503b52eee32d490515457fce6a5aa075770b598a9d14f", + "dst": "CDD8GoJUHEvBm1pD3BQ3hEC2KcJNhvUzpu", + "coins": "1000.000000", + "hours": 377543 + } + ] + } + ] + }, + "size": 220 + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/last-blocks2.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/last-blocks2.golden new file mode 100755 index 0000000..39d08a3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/last-blocks2.golden @@ -0,0 +1,88 @@ +{ + "blocks": [ + { + "header": { + "seq": 179, + "block_hash": "93fce3f520d9ec5b5c29226ad39fb61e3b9a92464fdec87d6805cf8e8e782959", + "previous_block_hash": "bb943b37f989326b057903ccc6eb1fa58a5d35e38706ae1ba81e0a6100bacf26", + "timestamp": 1431339429, + "fee": 33129894, + "version": 0, + "tx_body_hash": "f58f664eea258100126636a4111838e489ef5aec848ca8498319c290fa2a0805" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "f58f664eea258100126636a4111838e489ef5aec848ca8498319c290fa2a0805", + "inner_hash": "db98f515ce6c3d99fd7c39a6ac59ab498b1a2cc8fc6a13377ac7d3d463898e7c", + "sigs": [ + "1ca18424c9a313e9c253aecaec3c532c35c60e454f026a3d2794c772bc74a19809d53f8862962e865dd822dd054cd7f32b89b810968d95c9db6a9a0c1095390601" + ], + "inputs": [ + "8e55f10a0615a0737e6906132e09ac08a206971ba4b656f004acc7f4b7889bc8" + ], + "outputs": [ + { + "uxid": "fe6762d753d626115c8dd3a053b5fb75d6d419a8d0fb1478c5fffc1fe41c5f20", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "615700.000000", + "hours": 5521648 + }, + { + "uxid": "01f9c1d6c83dbc1c993357436cdf7f214acd0bfa107ff7f1466d1b18ec03563e", + "dst": "sKr6GJwXTBcvG1P3qdrwnd4UgtrrgDa4jU", + "coins": "10050.000000", + "hours": 5521648 + } + ] + } + ] + }, + "size": 220 + }, + { + "header": { + "seq": 180, + "block_hash": "63614fdf08b67fcfc99d7b43d115fb9f57eb5c6833acdbdc712ee361f391f292", + "previous_block_hash": "93fce3f520d9ec5b5c29226ad39fb61e3b9a92464fdec87d6805cf8e8e782959", + "timestamp": 1431574528, + "fee": 2265261, + "version": 0, + "tx_body_hash": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d", + "inner_hash": "d5b18a0c0c454e56fe1f7d0c64236d633f65717c04f08cd943f5669b4cc34667", + "sigs": [ + "2fac42571bb301783e46e804069c73c8226b637ae6385fec793e3a3860feaa6918058c55f461cef38341670c5c2da230d2241f267dbde6fc0528a6fb24362b3b00" + ], + "inputs": [ + "c39acd3494113650c1a6a7809287af7b12a78bbd97126d4585dd1715e2cb5a66" + ], + "outputs": [ + { + "uxid": "75692aeff988ce0da734c474dbef3a1ce19a5a6823bbcd36acb856c83262261e", + "dst": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "hours": 377543 + }, + { + "uxid": "a4b70476ea1e079ebd3503b52eee32d490515457fce6a5aa075770b598a9d14f", + "dst": "CDD8GoJUHEvBm1pD3BQ3hEC2KcJNhvUzpu", + "coins": "1000.000000", + "hours": 377543 + } + ] + } + ] + }, + "size": 220 + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/list-addresses.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/list-addresses.golden new file mode 100755 index 0000000..3f99826 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/list-addresses.golden @@ -0,0 +1,5 @@ +{ + "addresses": [ + "2Kg3eRXUhY6hrDZvNGB99DKahtrPDQ1W9vN" + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/list-wallets.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/list-wallets.golden new file mode 100755 index 0000000..13e0c7f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/list-wallets.golden @@ -0,0 +1,9 @@ +{ + "wallets": [ + { + "name": "integration-test.wlt", + "label": "integration-test", + "address_num": 1 + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/show-config-use-csrf.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/show-config-use-csrf.golden new file mode 100755 index 0000000..bd930f0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/show-config-use-csrf.golden @@ -0,0 +1,8 @@ +{ + "wallet_directory": "IGNORED/.skycoin/wallets", + "wallet_name": "skycoin_cli.wlt", + "data_directory": "IGNORED/.skycoin", + "coin": "skycoin", + "rpc_address": "http://127.0.0.1:46420", + "use_csrf": true +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/show-config.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/show-config.golden new file mode 100755 index 0000000..217733d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/show-config.golden @@ -0,0 +1,8 @@ +{ + "wallet_directory": "IGNORED/.skycoin/wallets", + "wallet_name": "skycoin_cli.wlt", + "data_directory": "IGNORED/.skycoin", + "coin": "skycoin", + "rpc_address": "http://127.0.0.1:46420", + "use_csrf": false +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/status-use-csrf.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/status-use-csrf.golden new file mode 100755 index 0000000..16d034a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/status-use-csrf.golden @@ -0,0 +1,8 @@ +{ + "running": true, + "num_of_blocks": 181, + "hash_of_last_block": "63614fdf08b67fcfc99d7b43d115fb9f57eb5c6833acdbdc712ee361f391f292", + "time_since_last_block": "", + "webrpc_address": "http://127.0.0.1:46420", + "use_csrf": true +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/status.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/status.golden new file mode 100755 index 0000000..1cbd708 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/status.golden @@ -0,0 +1,8 @@ +{ + "running": true, + "num_of_blocks": 181, + "hash_of_last_block": "63614fdf08b67fcfc99d7b43d115fb9f57eb5c6833acdbdc712ee361f391f292", + "time_since_last_block": "", + "webrpc_address": "http://127.0.0.1:46420", + "use_csrf": false +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/two-addresses-outputs.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/two-addresses-outputs.golden new file mode 100755 index 0000000..b38d396 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/two-addresses-outputs.golden @@ -0,0 +1,48 @@ +{ + "outputs": { + "head_outputs": [ + { + "hash": "e5596ef0ba04ad9e0adbe0355a24c6bef249654906f917b68f8f0cf072508674", + "time": 1429382678, + "block_seq": 121, + "src_tx": "da82deafc15c36e7dc9cd95663e0dc910ae626ee543147ac7bd8682be00f7baf", + "address": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "62000.000000", + "hours": 378646, + "calculated_hours": 38127173 + }, + { + "hash": "3f9712cab0d3aeb217f1751fa19e53d75f814b4218866d4e70d63f32271d2023", + "time": 1429364452, + "block_seq": 120, + "src_tx": "d1569ca879f98450a920a2b427ab0e1d21342308fb6b4ea5031ee6e718217183", + "address": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "38.000000", + "hours": 480, + "calculated_hours": 23808 + }, + { + "hash": "3408638af298419b14a49e8e9dd69e97c9a06827d74edf9f410a870662360b31", + "time": 1429364072, + "block_seq": 118, + "src_tx": "a83e09e976b038d86491d8c029aec84a6313dc33e692da6ce50a2858e50c4666", + "address": "2kvLEyXwAYvHfJuFCkjnYNRTUfHPyWgVwKt", + "coins": "1045.000000", + "hours": 30769, + "calculated_hours": 672415 + }, + { + "hash": "439cdfd03972fb4bb5da54208cf8098ee78228c487ce9e84623f5f83e17a7d68", + "time": 1427926392, + "block_seq": 1, + "src_tx": "86564b421cd3d4fe6f5f2d7a3e5db9d6fc340892bddd3a150533dff7036d0efe", + "address": "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm", + "coins": "1000000.000000", + "hours": 1, + "calculated_hours": 1013371112 + } + ], + "outgoing_outputs": [], + "incoming_outputs": [] + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/wallet-balance.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/wallet-balance.golden new file mode 100755 index 0000000..861022d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/wallet-balance.golden @@ -0,0 +1,31 @@ +{ + "confirmed": { + "coins": "0.000000", + "hours": "0" + }, + "spendable": { + "coins": "0.000000", + "hours": "0" + }, + "expected": { + "coins": "0.000000", + "hours": "0" + }, + "addresses": [ + { + "confirmed": { + "coins": "0.000000", + "hours": "0" + }, + "spendable": { + "coins": "0.000000", + "hours": "0" + }, + "expected": { + "coins": "0.000000", + "hours": "0" + }, + "address": "2Kg3eRXUhY6hrDZvNGB99DKahtrPDQ1W9vN" + } + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/wallet-history.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/wallet-history.golden new file mode 100755 index 0000000..fe51488 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/wallet-history.golden @@ -0,0 +1 @@ +[] diff --git a/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/wallet-outputs.golden b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/wallet-outputs.golden new file mode 100755 index 0000000..ebfc9f4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/integration/testdata/wallet-outputs.golden @@ -0,0 +1,7 @@ +{ + "outputs": { + "head_outputs": [], + "outgoing_outputs": [], + "incoming_outputs": [] + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/last_blocks.go b/vendor/github.com/skycoin/skycoin/src/cli/last_blocks.go new file mode 100755 index 0000000..b96d27f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/last_blocks.go @@ -0,0 +1,43 @@ +package cli + +import ( + "fmt" + + "strconv" + + gcli "github.com/urfave/cli" +) + +func lastBlocksCmd() gcli.Command { + name := "lastBlocks" + return gcli.Command{ + Name: name, + Usage: "Displays the content of the most recently N generated blocks", + ArgsUsage: "[numberOfBlocks]", + OnUsageError: onCommandUsageError(name), + Action: getLastBlocks, + } + // Commands = append(Commands, cmd) +} + +func getLastBlocks(c *gcli.Context) error { + rpcClient := RPCClientFromContext(c) + + num := c.Args().First() + if num == "" { + num = "1" + } + + n, err := strconv.ParseUint(num, 10, 64) + if err != nil { + return fmt.Errorf("invalid block number, %s", err) + } + + blocks, err := rpcClient.GetLastBlocks(n) + + if err != nil { + return err + } + + return printJSON(blocks) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/list_addrs.go b/vendor/github.com/skycoin/skycoin/src/cli/list_addrs.go new file mode 100755 index 0000000..2021cd6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/list_addrs.go @@ -0,0 +1,47 @@ +package cli + +import ( + "fmt" + + "github.com/skycoin/skycoin/src/wallet" + + gcli "github.com/urfave/cli" +) + +func listAddressesCmd() gcli.Command { + name := "listAddresses" + return gcli.Command{ + Name: name, + Usage: "Lists all addresses in a given wallet", + ArgsUsage: "[walletName]", + OnUsageError: onCommandUsageError(name), + Action: listAddresses, + } + // Commands = append(Commands, cmd) +} + +func listAddresses(c *gcli.Context) error { + cfg := ConfigFromContext(c) + + // get wallet name + w, err := resolveWalletPath(cfg, c.Args().First()) + if err != nil { + return err + } + + wlt, err := wallet.Load(w) + if err != nil { + return WalletLoadError{err} + } + + addrs := wlt.GetAddresses() + + s, err := FormatAddressesAsJSON(addrs) + if err != nil { + return err + } + + fmt.Println(s) + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/list_wallets.go b/vendor/github.com/skycoin/skycoin/src/cli/list_wallets.go new file mode 100755 index 0000000..f0e7662 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/list_wallets.go @@ -0,0 +1,65 @@ +package cli + +import ( + "io/ioutil" + "path/filepath" + "strings" + + "github.com/skycoin/skycoin/src/wallet" + + gcli "github.com/urfave/cli" +) + +// WalletEntry represents an enty in a wallet file +type WalletEntry struct { + Name string `json:"name"` + Label string `json:"label"` + AddressNum int `json:"address_num"` +} + +func listWalletsCmd() gcli.Command { + name := "listWallets" + return gcli.Command{ + Name: name, + Usage: "Lists all wallets stored in the wallet directory", + ArgsUsage: " ", + OnUsageError: onCommandUsageError(name), + Action: listWallets, + } + // Commands = append(Commands, cmd) +} + +func listWallets(c *gcli.Context) error { + cfg := ConfigFromContext(c) + + var wlts struct { + Wallets []WalletEntry `json:"wallets"` + } + + entries, err := ioutil.ReadDir(cfg.WalletDir) + if err != nil { + return err + } + + for _, e := range entries { + if e.Mode().IsRegular() { + name := e.Name() + if !strings.HasSuffix(name, walletExt) { + continue + } + + path := filepath.Join(cfg.WalletDir, name) + w, err := wallet.Load(path) + if err != nil { + return WalletLoadError{err} + } + wlts.Wallets = append(wlts.Wallets, WalletEntry{ + Name: name, + Label: w.Label(), + AddressNum: len(w.Entries), + }) + } + } + + return printJSON(wlts) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/outputs.go b/vendor/github.com/skycoin/skycoin/src/cli/outputs.go new file mode 100755 index 0000000..1687730 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/outputs.go @@ -0,0 +1,107 @@ +package cli + +import ( + "fmt" + + gcli "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/api/webrpc" + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/wallet" +) + +func walletOutputsCmd(cfg Config) gcli.Command { + name := "walletOutputs" + return gcli.Command{ + Name: name, + Usage: "Display outputs of specific wallet", + ArgsUsage: "[wallet file]", + Description: fmt.Sprintf(`Display outputs of specific wallet, the default + wallet (%s) will be + used if no wallet was specified, use ENV 'WALLET_NAME' + to update default wallet file name, and 'WALLET_DIR' to update + the default wallet directory`, cfg.FullWalletPath()), + OnUsageError: onCommandUsageError(name), + Action: getWalletOutputsCmd, + } +} + +func addressOutputsCmd() gcli.Command { + name := "addressOutputs" + return gcli.Command{ + Name: name, + Usage: "Display outputs of specific addresses", + ArgsUsage: "[address list]", + Description: `Display outputs of specific addresses, join multiple addresses with space, + example: addressOutputs $addr1 $addr2 $addr3`, + OnUsageError: onCommandUsageError(name), + Action: getAddressOutputsCmd, + } + +} + +func getWalletOutputsCmd(c *gcli.Context) error { + cfg := ConfigFromContext(c) + rpcClient := RPCClientFromContext(c) + + w := "" + if c.NArg() > 0 { + w = c.Args().First() + } + + var err error + w, err = resolveWalletPath(cfg, w) + if err != nil { + return err + } + + outputs, err := GetWalletOutputsFromFile(rpcClient, w) + if err != nil { + return err + } + + return printJSON(outputs) +} + +func getAddressOutputsCmd(c *gcli.Context) error { + rpcClient := RPCClientFromContext(c) + + addrs := make([]string, c.NArg()) + var err error + for i := 0; i < c.NArg(); i++ { + addrs[i] = c.Args().Get(i) + if _, err = cipher.DecodeBase58Address(addrs[i]); err != nil { + return fmt.Errorf("invalid address: %v, err: %v", addrs[i], err) + } + } + + outputs, err := rpcClient.GetUnspentOutputs(addrs) + if err != nil { + return err + } + + return printJSON(outputs) +} + +// PUBLIC + +// GetWalletOutputsFromFile returns unspent outputs associated with all addresses in a wallet file +func GetWalletOutputsFromFile(c *webrpc.Client, walletFile string) (*webrpc.OutputsResult, error) { + wlt, err := wallet.Load(walletFile) + if err != nil { + return nil, err + } + + return GetWalletOutputs(c, wlt) +} + +// GetWalletOutputs returns unspent outputs associated with all addresses in a wallet.Wallet +func GetWalletOutputs(c *webrpc.Client, wlt *wallet.Wallet) (*webrpc.OutputsResult, error) { + cipherAddrs := wlt.GetAddresses() + addrs := make([]string, len(cipherAddrs)) + for i := range cipherAddrs { + addrs[i] = cipherAddrs[i].String() + } + + return c.GetUnspentOutputs(addrs) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/send.go b/vendor/github.com/skycoin/skycoin/src/cli/send.go new file mode 100755 index 0000000..408d67e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/send.go @@ -0,0 +1,82 @@ +package cli + +import ( + "fmt" + + gcli "github.com/urfave/cli" +) + +func sendCmd() gcli.Command { + name := "send" + return gcli.Command{ + Name: name, + Usage: "Send skycoin from a wallet or an address to a recipient address", + ArgsUsage: "[to address] [amount]", + Description: ` + Note: the [amount] argument is the coins you will spend, 1 coins = 1e6 droplets. + + If you are sending from a wallet the coins will be taken recursively from all + addresses within the wallet starting with the first address until the amount of + the transaction is met. + + Use caution when using the “-p” command. If you have command history enabled + your wallet encryption password can be recovered from the history log. + If you do not include the “-p” option you will be prompted to enter your password + after you enter your command.`, + Flags: []gcli.Flag{ + gcli.StringFlag{ + Name: "f", + Usage: "[wallet file or path] From wallet. If no path is specified your default wallet path will be used.", + }, + gcli.StringFlag{ + Name: "a", + Usage: "[address] From address", + }, + gcli.StringFlag{ + Name: "c", + Usage: `[changeAddress] Specify change address, by default the from address or + the wallet's coinbase address will be used`, + }, + gcli.StringFlag{ + Name: "p", + Usage: "[password] Wallet password", + }, + gcli.StringFlag{ + Name: "m", + Usage: `[send to many] use JSON string to set multiple recive addresses and coins, + example: -m '[{"addr":"$addr1", "coins": "10.2"}, {"addr":"$addr2", "coins": "20"}]'`, + }, + gcli.BoolFlag{ + Name: "json,j", + Usage: "Returns the results in JSON format.", + }, + }, + OnUsageError: onCommandUsageError(name), + Action: func(c *gcli.Context) error { + rpcClient := RPCClientFromContext(c) + + rawtx, err := createRawTxCmdHandler(c) + if err != nil { + errorWithHelp(c, err) + return nil + } + + txid, err := rpcClient.InjectTransaction(rawtx) + if err != nil { + return err + } + + jsonFmt := c.Bool("json") + if jsonFmt { + return printJSON(struct { + Txid string `json:"txid"` + }{ + Txid: txid, + }) + } + + fmt.Printf("txid:%s\n", txid) + return nil + }, + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/show_seed.go b/vendor/github.com/skycoin/skycoin/src/cli/show_seed.go new file mode 100755 index 0000000..480e285 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/show_seed.go @@ -0,0 +1,111 @@ +package cli + +import ( + "fmt" + + gcli "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/wallet" +) + +func showSeedCmd(cfg Config) gcli.Command { + name := "showSeed" + return gcli.Command{ + Name: name, + Usage: "Show wallet seed", + Description: fmt.Sprintf(` + The default wallet (%s) will be + used if no wallet was specified. + + Use caution when using the "-p" command. If you have command history enabled + your wallet encryption password can be recovered from the history log. If you + do not include the "-p" option you will be prompted to enter your password + after you enter your command.`, cfg.FullWalletPath()), + Flags: []gcli.Flag{ + gcli.StringFlag{ + Name: "p", + Usage: "[password] Wallet password, if encrypted", + }, + gcli.BoolFlag{ + Name: "j,json", + Usage: "Returns the results in JSON format", + }, + }, + OnUsageError: onCommandUsageError(name), + Action: func(c *gcli.Context) error { + cfg := ConfigFromContext(c) + + w, err := resolveWalletPath(cfg, "") + if err != nil { + return err + } + + pr := NewPasswordReader([]byte(c.String("p"))) + seed, err := getSeed(w, pr) + switch err.(type) { + case nil: + case WalletLoadError: + errorWithHelp(c, err) + return nil + default: + return err + } + + if c.Bool("j") { + v := struct { + Seed string `json:"seed"` + }{ + Seed: seed, + } + + printJSON(v) + return nil + } + + fmt.Println(seed) + return nil + }, + } +} + +func getSeed(walletFile string, pr PasswordReader) (string, error) { + wlt, err := wallet.Load(walletFile) + if err != nil { + return "", WalletLoadError{err} + } + + switch pr.(type) { + case nil: + if wlt.IsEncrypted() { + return "", wallet.ErrWalletEncrypted + } + case PasswordFromBytes: + p, err := pr.Password() + if err != nil { + return "", err + } + + if !wlt.IsEncrypted() && len(p) != 0 { + return "", wallet.ErrWalletNotEncrypted + } + } + + if !wlt.IsEncrypted() { + return wlt.Meta["seed"], nil + } + + password, err := pr.Password() + if err != nil { + return "", err + } + + var seed string + if err := wlt.GuardView(password, func(w *wallet.Wallet) error { + seed = w.Meta["seed"] + return nil + }); err != nil { + return "", err + } + + return seed, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/status.go b/vendor/github.com/skycoin/skycoin/src/cli/status.go new file mode 100755 index 0000000..219fd02 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/status.go @@ -0,0 +1,53 @@ +package cli + +import ( + gcli "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/api/webrpc" +) + +// StatusResult is printed by cli status command +type StatusResult struct { + webrpc.StatusResult + RPCAddress string `json:"webrpc_address"` + UseCSRF bool `json:"use_csrf"` +} + +func statusCmd() gcli.Command { + name := "status" + return gcli.Command{ + Name: name, + Usage: "Check the status of current skycoin node", + ArgsUsage: " ", + OnUsageError: onCommandUsageError(name), + Action: func(c *gcli.Context) error { + rpcClient := RPCClientFromContext(c) + status, err := rpcClient.GetStatus() + if err != nil { + return err + } + + cfg := ConfigFromContext(c) + + return printJSON(StatusResult{ + StatusResult: *status, + RPCAddress: cfg.RPCAddress, + UseCSRF: cfg.UseCSRF, + }) + }, + } +} + +func showConfigCmd() gcli.Command { + name := "showConfig" + return gcli.Command{ + Name: name, + Usage: "Show cli configuration", + ArgsUsage: " ", + OnUsageError: onCommandUsageError(name), + Action: func(c *gcli.Context) error { + cfg := ConfigFromContext(c) + return printJSON(cfg) + }, + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/transaction.go b/vendor/github.com/skycoin/skycoin/src/cli/transaction.go new file mode 100755 index 0000000..d69ab06 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/transaction.go @@ -0,0 +1,82 @@ +package cli + +import ( + "encoding/hex" + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/visor" + + gcli "github.com/urfave/cli" +) + +func transactionCmd() gcli.Command { + name := "transaction" + return gcli.Command{ + Name: name, + Usage: "Show detail info of specific transaction", + ArgsUsage: "[transaction id]", + OnUsageError: onCommandUsageError(name), + Action: func(c *gcli.Context) error { + txid := c.Args().First() + if txid == "" { + return errors.New("txid is empty") + } + + // validate the txid + _, err := cipher.SHA256FromHex(txid) + if err != nil { + return errors.New("invalid txid") + } + + rpcClient := RPCClientFromContext(c) + + tx, err := rpcClient.GetTransactionByID(txid) + if err != nil { + return err + } + + return printJSON(tx) + }, + } +} + +func decodeRawTxCmd() gcli.Command { + name := "decodeRawTransaction" + return gcli.Command{ + Name: name, + Usage: "Decode raw transaction", + ArgsUsage: "[raw transaction]", + OnUsageError: onCommandUsageError(name), + Action: func(c *gcli.Context) error { + rawTxStr := c.Args().First() + if rawTxStr == "" { + errorWithHelp(c, errors.New("missing raw transaction value")) + return nil + } + + b, err := hex.DecodeString(rawTxStr) + if err != nil { + fmt.Printf("invalid raw transaction: %v\n", err) + return err + } + + tx, err := coin.TransactionDeserialize(b) + if err != nil { + fmt.Printf("Unable to deserialize transaction bytes: %v\n", err) + return err + } + + txStr, err := visor.TransactionToJSON(tx) + if err != nil { + fmt.Println(err) + return err + } + + fmt.Println(txStr) + return nil + }, + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/verify_address.go b/vendor/github.com/skycoin/skycoin/src/cli/verify_address.go new file mode 100755 index 0000000..db03202 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/verify_address.go @@ -0,0 +1,22 @@ +package cli + +import ( + gcli "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/cipher" +) + +func verifyAddressCmd() gcli.Command { + name := "verifyAddress" + return gcli.Command{ + Name: name, + Usage: "Verify a skycoin address", + ArgsUsage: "[skycoin address]", + OnUsageError: onCommandUsageError(name), + Action: func(c *gcli.Context) error { + skyAddr := c.Args().First() + _, err := cipher.DecodeBase58Address(skyAddr) + return err + }, + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/version.go b/vendor/github.com/skycoin/skycoin/src/cli/version.go new file mode 100755 index 0000000..6732277 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/version.go @@ -0,0 +1,51 @@ +package cli + +import ( + "fmt" + "reflect" + + gcli "github.com/urfave/cli" +) + +func versionCmd() gcli.Command { + name := "version" + return gcli.Command{ + Name: name, + ArgsUsage: "List the current version of Skycoin components", + Usage: " ", + Flags: []gcli.Flag{ + gcli.BoolFlag{ + Name: "json,j", + Usage: "Returns the results in JSON format", + }, + }, + OnUsageError: onCommandUsageError(name), + Action: func(c *gcli.Context) error { + var ver = struct { + Skycoin string `json:"skycoin"` + Cli string `json:"cli"` + RPC string `json:"rpc"` + Wallet string `json:"wallet"` + }{ + Version, + Version, + Version, + Version, + } + + jsonFmt := c.Bool("json") + if jsonFmt { + return printJSON(ver) + } + + v := reflect.ValueOf(ver) + t := reflect.TypeOf(ver) + for i := 0; i < v.NumField(); i++ { + fmt.Printf("%s:%v\n", t.Field(i).Tag.Get("json"), v.Field(i).Interface()) + } + + return nil + }, + } + // Commands = append(Commands, cmd) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/wallet_dir.go b/vendor/github.com/skycoin/skycoin/src/cli/wallet_dir.go new file mode 100755 index 0000000..38fba7c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/wallet_dir.go @@ -0,0 +1,38 @@ +package cli + +import ( + "fmt" + + gcli "github.com/urfave/cli" +) + +func walletDirCmd() gcli.Command { + name := "walletDir" + return gcli.Command{ + Name: name, + Usage: "Displays wallet folder address", + ArgsUsage: " ", + OnUsageError: onCommandUsageError(name), + Flags: []gcli.Flag{ + gcli.BoolFlag{ + Name: "j,json", + Usage: "Returns the results in JSON format.", + }, + }, + Action: func(c *gcli.Context) error { + cfg := ConfigFromContext(c) + jsonFmt := c.Bool("json") + if jsonFmt { + return printJSON(struct { + WltDir string `json:"walletDir"` + }{ + WltDir: cfg.WalletDir, + }) + } + + fmt.Println(cfg.WalletDir) + return nil + }, + } + // Commands = append(Commands, cmd) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/wallet_history.go b/vendor/github.com/skycoin/skycoin/src/cli/wallet_history.go new file mode 100755 index 0000000..5d002cd --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/wallet_history.go @@ -0,0 +1,258 @@ +package cli + +import ( + "errors" + "fmt" + + "time" + + "sort" + + gcli "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/api/webrpc" + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/wallet" +) + +// AddrHistory represents a transactional event for an address +type AddrHistory struct { + BlockSeq uint64 `json:"-"` + Txid string `json:"txid"` + Address string `json:"address"` + Amount string `json:"amount"` + Timestamp time.Time `json:"timestamp"` + Status int `json:"status"` + + coins uint64 +} + +type byTime []AddrHistory + +func (obt byTime) Less(i, j int) bool { + return obt[i].Timestamp.Unix() < obt[j].Timestamp.Unix() +} + +func (obt byTime) Swap(i, j int) { + obt[i], obt[j] = obt[j], obt[i] +} + +func (obt byTime) Len() int { + return len(obt) +} + +func walletHisCmd() gcli.Command { + name := "walletHistory" + return gcli.Command{ + Name: name, + Usage: "Display the transaction history of specific wallet. Requires skycoin node rpc.", + ArgsUsage: " ", + OnUsageError: onCommandUsageError(name), + Flags: []gcli.Flag{ + gcli.StringFlag{ + Name: "f", + Usage: "[wallet file or path] From wallet. If no path is specified your default wallet path will be used.", + }, + }, + Action: walletHistoryAction, + } +} + +func walletHistoryAction(c *gcli.Context) error { + cfg := ConfigFromContext(c) + rpcClient := RPCClientFromContext(c) + + if c.NArg() > 0 { + fmt.Printf("Error: invalid argument\n\n") + gcli.ShowSubcommandHelp(c) + return nil + } + + w, err := resolveWalletPath(cfg, c.String("f")) + if err != nil { + return err + } + + // get all addresses in the wallet. + addrs, err := getAddresses(w) + if err != nil { + return err + } + + if len(addrs) == 0 { + return errors.New("Wallet is empty") + } + + // get all the addresses affected uxouts + uxouts, err := rpcClient.GetAddressUxOuts(addrs) + if err != nil { + return err + } + + // transmute the uxout to addrHistory, and sort the items by time in ascend order. + totalAddrHis := []AddrHistory{} + for _, ux := range uxouts { + addrHis, err := makeAddrHisArray(rpcClient, ux) + if err != nil { + return err + } + totalAddrHis = append(totalAddrHis, addrHis...) + } + + sort.Sort(byTime(totalAddrHis)) + + // print the addr history + return printJSON(totalAddrHis) +} + +func makeAddrHisArray(c *webrpc.Client, ux webrpc.AddrUxoutResult) ([]AddrHistory, error) { + if len(ux.UxOuts) == 0 { + return nil, nil + } + + var addrHis, spentHis, realHis []AddrHistory + var spentBlkSeqMap = map[uint64]bool{} + + for _, u := range ux.UxOuts { + amount, err := droplet.ToString(u.Coins) + if err != nil { + return nil, err + } + + addrHis = append(addrHis, AddrHistory{ + BlockSeq: u.SrcBkSeq, + Txid: u.SrcTx, + Address: ux.Address, + Amount: amount, + Timestamp: time.Unix(int64(u.Time), 0).UTC(), + Status: 1, + coins: u.Coins, + }) + + // the SpentBlockSeq will be 0 if the uxout has not been spent yet. + if u.SpentBlockSeq != 0 { + spentBlkSeqMap[u.SpentBlockSeq] = true + spentHis = append(spentHis, AddrHistory{ + BlockSeq: u.SpentBlockSeq, + Address: ux.Address, + Txid: u.SpentTxID, + Amount: "-" + amount, + Status: 1, + coins: u.Coins, + }) + } + } + + if len(spentBlkSeqMap) > 0 { + spentBlkSeq := make([]uint64, 0, len(spentBlkSeqMap)) + for seq := range spentBlkSeqMap { + spentBlkSeq = append(spentBlkSeq, seq) + } + + getBlkTime, err := createBlkTimeFinder(c, spentBlkSeq) + if err != nil { + return nil, err + } + + for i, his := range spentHis { + spentHis[i].Timestamp = time.Unix(getBlkTime(his.BlockSeq), 0).UTC() + } + } + + type historyRecord struct { + received []AddrHistory + spent []AddrHistory + } + + // merge history in the same transaction. + hisMap := map[string]historyRecord{} + for _, his := range addrHis { + hr := hisMap[his.Txid] + hr.received = append(hr.received, his) + hisMap[his.Txid] = hr + } + for _, his := range spentHis { + hr := hisMap[his.Txid] + hr.spent = append(hr.spent, his) + hisMap[his.Txid] = hr + } + + for txid, hs := range hisMap { + var receivedCoins, spentCoins, coins uint64 + for _, h := range hs.received { + receivedCoins += h.coins + } + for _, h := range hs.spent { + spentCoins += h.coins + } + + isNegative := spentCoins > receivedCoins + + if spentCoins > receivedCoins { + coins = spentCoins - receivedCoins + } else { + coins = receivedCoins - spentCoins + } + + amount, err := droplet.ToString(coins) + if err != nil { + return nil, err + } + + if isNegative { + amount = "-" + amount + } + + var his AddrHistory + if len(hs.received) > 0 { + his = hs.received[0] + } else { + his = hs.spent[0] + } + + realHis = append(realHis, AddrHistory{ + BlockSeq: his.BlockSeq, + Txid: txid, + Address: ux.Address, + Amount: amount, + Timestamp: his.Timestamp, + Status: 1, + }) + } + + return realHis, nil +} + +func createBlkTimeFinder(c *webrpc.Client, ss []uint64) (func(uint64) int64, error) { + // get spent blocks + blks, err := c.GetBlocksBySeq(ss) + if err != nil { + return nil, err + } + + if len(blks.Blocks) == 0 { + return nil, fmt.Errorf("found no block") + } + + return func(seq uint64) int64 { + for _, b := range blks.Blocks { + if seq == b.Head.BkSeq { + return int64(b.Head.Time) + } + } + panic("block not found") + }, nil +} + +func getAddresses(f string) ([]string, error) { + wlt, err := wallet.Load(f) + if err != nil { + return nil, err + } + + addrs := make([]string, len(wlt.Entries)) + for i, entry := range wlt.Entries { + addrs[i] = entry.Address.String() + } + return addrs, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/block.go b/vendor/github.com/skycoin/skycoin/src/coin/block.go new file mode 100755 index 0000000..d40a5c7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/block.go @@ -0,0 +1,250 @@ +package coin + +import ( + "fmt" + "log" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +// Block represents the block struct +type Block struct { + Head BlockHeader + Body BlockBody +} + +// HashPair including current block hash and previous block hash. +type HashPair struct { + Hash cipher.SHA256 + PreHash cipher.SHA256 +} + +// BlockHeader records the block header +type BlockHeader struct { + Version uint32 + + Time uint64 + BkSeq uint64 // Increment every block + Fee uint64 // Fee in block + + PrevHash cipher.SHA256 // Hash of header of previous block + BodyHash cipher.SHA256 // Hash of transaction block + + UxHash cipher.SHA256 // XOR of sha256 of elements in unspent output set +} + +// BlockBody represents the block body +type BlockBody struct { + Transactions Transactions +} + +// SignedBlock signed block +type SignedBlock struct { + Block + Sig cipher.Sig +} + +// VerifySignature verifies that the block is signed by pubkey +func (b SignedBlock) VerifySignature(pubkey cipher.PubKey) error { + return cipher.VerifySignature(pubkey, b.Sig, b.Block.HashHeader()) +} + +// NewBlock creates new block. +func NewBlock(prev Block, currentTime uint64, uxHash cipher.SHA256, txns Transactions, calc FeeCalculator) (*Block, error) { + if len(txns) == 0 { + return nil, fmt.Errorf("Refusing to create block with no transactions") + } + + fee, err := txns.Fees(calc) + if err != nil { + // This should have been caught earlier + return nil, fmt.Errorf("Invalid transaction fees: %v", err) + } + + body := BlockBody{txns} + return &Block{ + Head: NewBlockHeader(prev.Head, uxHash, currentTime, fee, body), + Body: body, + }, nil +} + +// NewGenesisBlock creates genesis block +func NewGenesisBlock(genesisAddr cipher.Address, genesisCoins, timestamp uint64) (*Block, error) { + txn := Transaction{} + txn.PushOutput(genesisAddr, genesisCoins, genesisCoins) + body := BlockBody{Transactions: Transactions{txn}} + prevHash := cipher.SHA256{} + head := BlockHeader{ + Time: timestamp, + BodyHash: body.Hash(), + PrevHash: prevHash, + BkSeq: 0, + Version: 0, + Fee: 0, + UxHash: cipher.SHA256{}, + } + b := &Block{ + Head: head, + Body: body, + } + + return b, nil +} + +// HashHeader return hash of block head. +func (b Block) HashHeader() cipher.SHA256 { + return b.Head.Hash() +} + +// PreHashHeader return hash of prevous block. +func (b Block) PreHashHeader() cipher.SHA256 { + return b.Head.PrevHash +} + +// Time return the head time of the block. +func (b Block) Time() uint64 { + return b.Head.Time +} + +// Seq return the head seq of the block. +func (b Block) Seq() uint64 { + return b.Head.BkSeq +} + +// HashBody return hash of block body. +func (b Block) HashBody() cipher.SHA256 { + return b.Body.Hash() +} + +// Size returns the size of the Block's Transactions, in bytes +func (b Block) Size() int { + return b.Body.Size() +} + +// String return readable string of block. +func (b Block) String() string { + return b.Head.String() +} + +// GetTransaction looks up a Transaction by its Head.Hash. +// Returns the Transaction and whether it was found or not +// TODO -- build a private index on the block, or a global blockchain one +// mapping txns to their block + tx index +// TODO: Deprecate? Utility Function +func (b Block) GetTransaction(txHash cipher.SHA256) (Transaction, bool) { + txns := b.Body.Transactions + for i := range txns { + if txns[i].Hash() == txHash { + return txns[i], true + } + } + return Transaction{}, false +} + +// NewBlockHeader creates block header +func NewBlockHeader(prev BlockHeader, uxHash cipher.SHA256, currentTime, fee uint64, body BlockBody) BlockHeader { + if currentTime <= prev.Time { + log.Panic("Time can only move forward") + } + prevHash := prev.Hash() + return BlockHeader{ + BodyHash: body.Hash(), + Version: prev.Version, + PrevHash: prevHash, + Time: currentTime, + BkSeq: prev.BkSeq + 1, + Fee: fee, + UxHash: uxHash, + } +} + +// Hash return hash of block header +func (bh BlockHeader) Hash() cipher.SHA256 { + b1 := encoder.Serialize(bh) + return cipher.SumSHA256(b1) +} + +// Bytes serialize the blockheader and return the byte value. +func (bh BlockHeader) Bytes() []byte { + return encoder.Serialize(bh) +} + +// String return readable string of block header. +func (bh BlockHeader) String() string { + return fmt.Sprintf("Version: %d\nTime: %d\nBkSeq: %d\nFee: %d\n"+ + "PrevHash: %s\nBodyHash: %s", bh.Version, bh.Time, bh.BkSeq, + bh.Fee, bh.PrevHash.Hex(), bh.BodyHash.Hex()) +} + +// Hash returns the merkle hash of contained transactions +func (bb BlockBody) Hash() cipher.SHA256 { + hashes := make([]cipher.SHA256, len(bb.Transactions)) + for i := range bb.Transactions { + hashes[i] = bb.Transactions[i].Hash() + } + // Merkle hash of transactions + return cipher.Merkle(hashes) +} + +// Size returns the size of Transactions, in bytes +func (bb BlockBody) Size() int { + // We can't use length of self.Bytes() because it has a length prefix + // Need only the sum of transaction sizes + return bb.Transactions.Size() +} + +// Bytes serialize block body, and return the byte value. +func (bb BlockBody) Bytes() []byte { + return encoder.Serialize(bb) +} + +// CreateUnspents creates the expected outputs for a transaction. +func CreateUnspents(bh BlockHeader, tx Transaction) UxArray { + var h cipher.SHA256 + if bh.BkSeq != 0 { + // not genesis block + h = tx.Hash() + } + uxo := make(UxArray, len(tx.Out)) + for i := range tx.Out { + uxo[i] = UxOut{ + Head: UxHead{ + Time: bh.Time, + BkSeq: bh.BkSeq, + }, + Body: UxBody{ + SrcTransaction: h, + Address: tx.Out[i].Address, + Coins: tx.Out[i].Coins, + Hours: tx.Out[i].Hours, + }, + } + } + return uxo +} + +// CreateUnspent creates single unspent output +func CreateUnspent(bh BlockHeader, tx Transaction, outIndex int) (UxOut, error) { + if len(tx.Out) <= outIndex { + return UxOut{}, fmt.Errorf("Transaction out index is overflow") + } + + var h cipher.SHA256 + if bh.BkSeq != 0 { + h = tx.Hash() + } + + return UxOut{ + Head: UxHead{ + Time: bh.Time, + BkSeq: bh.BkSeq, + }, + Body: UxBody{ + SrcTransaction: h, + Address: tx.Out[outIndex].Address, + Coins: tx.Out[outIndex].Coins, + Hours: tx.Out[outIndex].Hours, + }, + }, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/block_test.go b/vendor/github.com/skycoin/skycoin/src/coin/block_test.go new file mode 100755 index 0000000..c17aa97 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/block_test.go @@ -0,0 +1,191 @@ +// build ignore + +package coin + +import ( + "errors" + "fmt" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/testutil" + + "github.com/stretchr/testify/assert" +) + +func badFeeCalc(t *Transaction) (uint64, error) { + return 0, errors.New("Bad") +} + +func makeNewBlock(uxHash cipher.SHA256) (*Block, error) { + body := BlockBody{ + Transactions: Transactions{Transaction{}}, + } + + prev := Block{ + Body: body, + Head: BlockHeader{ + Version: 0x02, + Time: 100, + BkSeq: 0, + Fee: 10, + PrevHash: cipher.SHA256{}, + BodyHash: body.Hash(), + }} + return NewBlock(prev, 100+20, uxHash, Transactions{Transaction{}}, _feeCalc) +} + +func addTransactionToBlock(t *testing.T, b *Block) Transaction { + tx := makeTransaction(t) + b.Body.Transactions = append(b.Body.Transactions, tx) + return tx +} + +func TestNewBlock(t *testing.T) { + // TODO -- update this test for newBlock changes + prev := Block{Head: BlockHeader{Version: 0x02, Time: 100, BkSeq: 98}} + uxHash := testutil.RandSHA256(t) + txns := Transactions{Transaction{}} + // invalid txn fees panics + _, err := NewBlock(prev, 133, uxHash, txns, badFeeCalc) + require.EqualError(t, err, fmt.Sprintf("Invalid transaction fees: Bad")) + + // no txns panics + _, err = NewBlock(prev, 133, uxHash, nil, _feeCalc) + require.EqualError(t, err, "Refusing to create block with no transactions") + + _, err = NewBlock(prev, 133, uxHash, Transactions{}, _feeCalc) + require.EqualError(t, err, "Refusing to create block with no transactions") + + // valid block is fine + fee := uint64(121) + currentTime := uint64(133) + b, err := NewBlock(prev, currentTime, uxHash, txns, func(t *Transaction) (uint64, error) { + return fee, nil + }) + require.NoError(t, err) + assert.Equal(t, b.Body.Transactions, txns) + assert.Equal(t, b.Head.Fee, fee*uint64(len(txns))) + assert.Equal(t, b.Body, BlockBody{Transactions: txns}) + assert.Equal(t, b.Head.PrevHash, prev.HashHeader()) + assert.Equal(t, b.Head.Time, currentTime) + assert.Equal(t, b.Head.BkSeq, prev.Head.BkSeq+1) + assert.Equal(t, b.Head.UxHash, uxHash) +} + +func TestBlockHashHeader(t *testing.T) { + uxHash := testutil.RandSHA256(t) + b, err := makeNewBlock(uxHash) + require.NoError(t, err) + assert.Equal(t, b.HashHeader(), b.Head.Hash()) + assert.NotEqual(t, b.HashHeader(), cipher.SHA256{}) +} + +func TestBlockHashBody(t *testing.T) { + uxHash := testutil.RandSHA256(t) + b, err := makeNewBlock(uxHash) + require.NoError(t, err) + assert.Equal(t, b.HashBody(), b.Body.Hash()) + hb := b.HashBody() + hashes := b.Body.Transactions.Hashes() + tx := addTransactionToBlock(t, b) + assert.NotEqual(t, b.HashBody(), hb) + hashes = append(hashes, tx.Hash()) + assert.Equal(t, b.HashBody(), cipher.Merkle(hashes)) + assert.Equal(t, b.HashBody(), b.Body.Hash()) +} + +func TestNewGenesisBlock(t *testing.T) { + gb, err := NewGenesisBlock(genAddress, _genCoins, _genTime) + require.NoError(t, err) + + require.Equal(t, cipher.SHA256{}, gb.Head.PrevHash) + require.Equal(t, _genTime, gb.Head.Time) + require.Equal(t, uint64(0), gb.Head.BkSeq) + require.Equal(t, uint32(0), gb.Head.Version) + require.Equal(t, uint64(0), gb.Head.Fee) + require.Equal(t, cipher.SHA256{}, gb.Head.UxHash) + + require.Equal(t, 1, len(gb.Body.Transactions)) + tx := gb.Body.Transactions[0] + require.Len(t, tx.In, 0) + require.Len(t, tx.Sigs, 0) + require.Len(t, tx.Out, 1) + + require.Equal(t, genAddress, tx.Out[0].Address) + require.Equal(t, _genCoins, tx.Out[0].Coins) + require.Equal(t, _genCoins, tx.Out[0].Hours) +} + +func TestCreateUnspent(t *testing.T) { + tx := Transaction{} + tx.PushOutput(genAddress, 11e6, 255) + bh := BlockHeader{ + Time: tNow(), + BkSeq: uint64(1), + } + + tt := []struct { + name string + txIndex int + err error + }{ + { + "ok", + 0, + nil, + }, + { + "index overflow", + 10, + errors.New("Transaction out index is overflow"), + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + uxout, err := CreateUnspent(bh, tx, tc.txIndex) + require.Equal(t, tc.err, err) + if err != nil { + return + } + assertUnspent(t, bh, tx, tc.txIndex, uxout) + }) + } +} + +func TestCreateUnspents(t *testing.T) { + tx := Transaction{} + tx.PushOutput(genAddress, 11e6, 255) + bh := BlockHeader{ + Time: tNow(), + BkSeq: uint64(1), + } + uxouts := CreateUnspents(bh, tx) + assert.Equal(t, len(uxouts), 1) + assertValidUnspents(t, bh, tx, uxouts) +} + +func assertUnspent(t *testing.T, bh BlockHeader, tx Transaction, txIndex int, ux UxOut) { + assert.Equal(t, bh.Time, ux.Head.Time) + assert.Equal(t, bh.BkSeq, ux.Head.BkSeq) + assert.Equal(t, tx.Hash(), ux.Body.SrcTransaction) + assert.Equal(t, tx.Out[txIndex].Address, ux.Body.Address) + assert.Equal(t, tx.Out[txIndex].Coins, ux.Body.Coins) + assert.Equal(t, tx.Out[txIndex].Hours, ux.Body.Hours) +} + +func assertValidUnspents(t *testing.T, bh BlockHeader, tx Transaction, + uxo UxArray) { + assert.Equal(t, len(tx.Out), len(uxo)) + for i, ux := range uxo { + assert.Equal(t, bh.Time, ux.Head.Time) + assert.Equal(t, bh.BkSeq, ux.Head.BkSeq) + assert.Equal(t, tx.Hash(), ux.Body.SrcTransaction) + assert.Equal(t, tx.Out[i].Address, ux.Body.Address) + assert.Equal(t, tx.Out[i].Coins, ux.Body.Coins) + assert.Equal(t, tx.Out[i].Hours, ux.Body.Hours) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/coin_test.go b/vendor/github.com/skycoin/skycoin/src/coin/coin_test.go new file mode 100755 index 0000000..7d68430 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/coin_test.go @@ -0,0 +1,237 @@ +package coin + +import ( + "encoding/hex" + "testing" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/util/utc" +) + +var ( + genPublic, genSecret = cipher.GenerateKeyPair() + genAddress = cipher.AddressFromPubKey(genPublic) + _genTime uint64 = 1000 + _genCoins uint64 = 1000e6 + _genCoinHours uint64 = 1000 * 1000 +) + +func tNow() uint64 { + return uint64(utc.UnixNow()) +} + +func _feeCalc(t *Transaction) (uint64, error) { + return 0, nil +} + +func TestAddress1(t *testing.T) { + a := "02fa939957e9fc52140e180264e621c2576a1bfe781f88792fb315ca3d1786afb8" + b, err := hex.DecodeString(a) + if err != nil { + t.Fatal(err) + } + addr := cipher.AddressFromPubKey(cipher.NewPubKey(b)) + _ = addr + + ///func SignHash(hash cipher.SHA256, sec SecKey) (Sig, error) { + +} + +func TestAddress2(t *testing.T) { + a := "5a42c0643bdb465d90bf673b99c14f5fa02db71513249d904573d2b8b63d353d" + b, err := hex.DecodeString(a) + if err != nil { + t.Fail() + } + + if len(b) != 32 { + t.Fail() + } + + seckey := cipher.NewSecKey(b) + pubkey := cipher.PubKeyFromSecKey(seckey) + addr := cipher.AddressFromPubKey(pubkey) + _ = addr + + ///func SignHash(hash cipher.SHA256, sec SecKey) (Sig, error) { + +} + +//TODO: 100% coverage over cryptographic functions + +//Crypto Functions to Test +//func ChkSig(address Address, hash cipher.SHA256, sig Sig) error { +//func SignHash(hash cipher.SHA256, sec SecKey) (Sig, error) { +//func cipher.PubKeyFromSecKey(seckey SecKey) (PubKey) { +//func PubKeyFromSig(sig Sig, hash cipher.SHA256) (PubKey, error) { +//func VerifySignature(pubkey PubKey, sig Sig, hash cipher.SHA256) error { +//func GenerateKeyPair() (PubKey, SecKey) { +//func GenerateDeterministicKeyPair(seed []byte) (PubKey, SecKey) { +//func testSecKey(seckey SecKey) error { + +func TestCrypto1(t *testing.T) { + for i := 0; i < 10; i++ { + _, seckey := cipher.GenerateKeyPair() + if cipher.TestSecKey(seckey) != nil { + t.Fatal("CRYPTOGRAPHIC INTEGRITY CHECK FAILED") + } + } +} + +//test signatures +func TestCrypto2(t *testing.T) { + a := "5a42c0643bdb465d90bf673b99c14f5fa02db71513249d904573d2b8b63d353d" + b, err := hex.DecodeString(a) + if err != nil { + t.Fatal(err) + } + + if len(b) != 32 { + t.Fatal() + } + + seckey := cipher.NewSecKey(b) + pubkey := cipher.PubKeyFromSecKey(seckey) + + addr := cipher.AddressFromPubKey(pubkey) + _ = addr + + test := []byte("test message") + hash := cipher.SumSHA256(test) + err = cipher.TestSecKeyHash(seckey, hash) + if err != nil { + t.Fatal() + } + +} + +/* +TODO: check block header of new block +TODO: check that coins are not created or destroyed +TODO: +*/ + +//create 4096 addresses +//send addreses randomly between each other over 1024 blocks + +/* +func TestBlockchain1(t *testing.T) { + + var S []SecKey + for i := 0; i < 4096; i++ { + S = append(S, _gensec()) + } + + A := _gaddr_a1(S) + + var bc *Blockchain = NewBlockchain(A[0]) + + for i := 0; i < 1024; i++ { + b := bc.NewBlock() + + //unspent outputs + U := make([]UxOut, len(bc.Unspent)) + copy(U, bc.Unspent) + + //for _,Ux := range U { + // if Ux.Hours() < Ux.Body. + //} + //I := _gaddr_a2(S,U) + M := _gaddr_a3(S, U) + var num_in int = 1 + rand.Intn(len(U))%15 + var num_out int = 1 + rand.Int()%30 + + var t Transaction + + SigIdx := make([]int, num_in) + + var v1 uint64 = 0 + var v2 uint64 = 0 + for i := 0; i < num_in; i++ { + idx := rand.Intn(len(U)) + var Ux UxOut = U[idx] //unspent output to spend + U[idx], U = U[len(U)-1], U[:len(U)-1] //remove output idx + + v1 += Ux.Body.Coins + v2 += Ux.Body.Hours + + //index of signature that must sign input + SigIdx[i] = M[Ux.Body.Address] //signature index + + var ti TransactionInput + ti.SigIdx = uint16(i) + ti.UxOut = Ux.Hash() + t.TxIn = append(t.TxIn, ti) //append input to transaction + } + + //assign coins to output addresses in random manner + + //check that inputs/outputs sum + v1_ := v1 + v2_ := v2 + + vo1 := _rand_bins(v1, num_out) + vo2 := _rand_bins(v2, num_out) + + var v1_t uint64 + var v2_t uint64 + for i, _ := range vo1 { + v1_t += vo1[i] + v2_t += vo2[i] + } + + if v1_t != v1_ { + log.Panic() + } + if v2_t != v2_ { + log.Panic() + } + //log.Printf("%v %v, %v %v \n", v1_,v2_, v1_t, v2_t) + + for i := 0; i < num_out; i++ { + var to TransactionOutput + to.Address = A[rand.Intn(len(A))] + to.Coins = vo1[i] + to.Hours = vo2[i] + t.TxOut = append(t.TxOut, to) + } + + //transaction complete, now set signatures + for i := 0; i < num_in; i++ { + t.SetSig(uint16(i), S[SigIdx[i]]) + } + t.UpdateHeader() //sets hash + + err := bc.AppendTransaction(&b, t) + if err != nil { + log.Panic(err) + } + + fmt.Printf("Block %v \n", i) + err = bc.ExecuteBlock(b) + if err != nil { + log.Panic(err) + } + + } +} +*/ + +/* +func TestGetListenPort(t *testing.T) { + // No connectionMirror found + assert.Equal(t, getListenPort(addr), uint16(0)) + // No mirrorConnection map exists + ConnectionMirrors[addr] = uint32(4) + assert.Panics(t, func() { getListenPort(addr) }) + // Everything is good + m := make(map[string]uint16) + mirrorConnections[uint32(4)] = m + m[addrIP] = uint16(6667) + assert.Equal(t, getListenPort(addr), uint16(6667)) + + // cleanup + delete(mirrorConnections, uint32(4)) + delete(ConnectionMirrors, addr) +} +*/ diff --git a/vendor/github.com/skycoin/skycoin/src/coin/math.go b/vendor/github.com/skycoin/skycoin/src/coin/math.go new file mode 100755 index 0000000..0060dc1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/math.go @@ -0,0 +1,58 @@ +package coin + +import "errors" + +var ( + // ErrUint64MultOverflow is returned when multiplying uint64 values would overflow uint64 + ErrUint64MultOverflow = errors.New("uint64 multiplication overflow") + // ErrUint64AddOverflow is returned when adding uint64 values would overflow uint64 + ErrUint64AddOverflow = errors.New("uint64 addition overflow") + // ErrUint32AddOverflow is returned when adding uint32 values would overflow uint32 + ErrUint32AddOverflow = errors.New("uint32 addition overflow") + // ErrUint64OverflowsInt64 is returned when converting a uint64 to an int64 would overflow int64 + ErrUint64OverflowsInt64 = errors.New("uint64 overflows int64") + // ErrInt64UnderflowsUint64 is returned when converting an int64 to a uint64 would underflow uint64 + ErrInt64UnderflowsUint64 = errors.New("int64 underflows uint64") +) + +func multUint64(a, b uint64) (uint64, error) { + c := a * b + if a != 0 && c/a != b { + return 0, ErrUint64MultOverflow + } + return c, nil +} + +// AddUint64 adds a and b, returning an error if the values would overflow +func AddUint64(a, b uint64) (uint64, error) { + c := a + b + if c < a || c < b { + return 0, ErrUint64AddOverflow + } + return c, nil +} + +func addUint32(a, b uint32) (uint32, error) { //nolint: deadcode + c := a + b + if c < a || c < b { + return 0, ErrUint32AddOverflow + } + return c, nil +} + +// Uint64ToInt64 converts a uint64 to an int64, returning an error if the uint64 value overflows int64 +func Uint64ToInt64(a uint64) (int64, error) { + b := int64(a) + if b < 0 { + return 0, ErrUint64OverflowsInt64 + } + return b, nil +} + +// Int64ToUint64 converts an int64 to a uint64, returning an error if the int64 value underflows uint64 +func Int64ToUint64(a int64) (uint64, error) { + if a < 0 { + return 0, ErrInt64UnderflowsUint64 + } + return uint64(a), nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/math_test.go b/vendor/github.com/skycoin/skycoin/src/coin/math_test.go new file mode 100755 index 0000000..c628b4a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/math_test.go @@ -0,0 +1,116 @@ +package coin + +import ( + "fmt" + "math" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestAddUint64(t *testing.T) { + n, err := AddUint64(10, 11) + require.NoError(t, err) + require.Equal(t, uint64(21), n) + + _, err = AddUint64(math.MaxUint64, 1) + require.Error(t, err) +} + +func TestAddUint32(t *testing.T) { + n, err := addUint32(10, 11) + require.NoError(t, err) + require.Equal(t, uint32(21), n) + + _, err = addUint32(math.MaxUint32, 1) + require.Error(t, err) +} + +func TestMultUint64(t *testing.T) { + n, err := multUint64(10, 11) + require.NoError(t, err) + require.Equal(t, uint64(110), n) + + _, err = multUint64(math.MaxUint64/2, 3) + require.Error(t, err) +} + +func TestUint64ToInt64(t *testing.T) { + cases := []struct { + a uint64 + b int64 + err error + }{ + { + a: 0, + b: 0, + }, + { + a: 1, + b: 1, + }, + { + a: math.MaxInt64, + b: math.MaxInt64, + }, + { + a: math.MaxUint64, + err: ErrUint64OverflowsInt64, + }, + { + a: math.MaxInt64 + 1, + err: ErrUint64OverflowsInt64, + }, + } + + for _, tc := range cases { + t.Run(fmt.Sprint(tc.a), func(t *testing.T) { + x, err := Uint64ToInt64(tc.a) + if tc.err != nil { + require.Equal(t, tc.err, err) + } else { + require.Equal(t, tc.b, x) + } + }) + } +} + +func TestInt64ToUint64(t *testing.T) { + cases := []struct { + a int64 + b uint64 + err error + }{ + { + a: 0, + b: 0, + }, + { + a: 1, + b: 1, + }, + { + a: math.MaxInt64, + b: math.MaxInt64, + }, + { + a: -math.MaxInt64, + err: ErrInt64UnderflowsUint64, + }, + { + a: -1, + err: ErrInt64UnderflowsUint64, + }, + } + + for _, tc := range cases { + t.Run(fmt.Sprint(tc.a), func(t *testing.T) { + x, err := Int64ToUint64(tc.a) + if tc.err != nil { + require.Equal(t, tc.err, err) + } else { + require.Equal(t, tc.b, x) + } + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/outputs.go b/vendor/github.com/skycoin/skycoin/src/coin/outputs.go new file mode 100755 index 0000000..70340ec --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/outputs.go @@ -0,0 +1,312 @@ +package coin + +import ( + "bytes" + "errors" + "fmt" + "log" + "sort" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +/* + Unspent Outputs +*/ + +/* +- hash must only depend on factors known to sender +-- hash cannot depend on block executed +-- hash cannot depend on sequence number +-- hash may depend on nonce + +- hash must depend only on factors known to sender +-- needed to minimize divergence during block chain forks +- it should be difficult to create outputs with duplicate ids + +- Uxhash cannot depend on time or block it was created +- time is still needed for +*/ + +/* + For each transaction, keep track of + - order created + - order spent (for rollbacks) +*/ + +// UxOut represents uxout +type UxOut struct { + Head UxHead + Body UxBody //hashed part + //Meta UxMeta +} + +// UxHead metadata (not hashed) +type UxHead struct { + Time uint64 //time of block it was created in + BkSeq uint64 //block it was created in, used to calculate depth + // SpSeq uint64 //block it was spent in +} + +// UxBody uxbody +type UxBody struct { + SrcTransaction cipher.SHA256 // Inner Hash of Transaction + Address cipher.Address // Address of receiver + Coins uint64 // Number of coins + Hours uint64 // Coin hours +} + +// Hash returns the hash of UxBody +func (uo *UxOut) Hash() cipher.SHA256 { + return uo.Body.Hash() +} + +// SnapshotHash returns hash of UxBody + UxHead +func (uo *UxOut) SnapshotHash() cipher.SHA256 { + b1 := encoder.Serialize(uo.Body) //body + b2 := encoder.Serialize(uo.Head) //time, bkseq + b3 := append(b1, b2...) + return cipher.SumSHA256(b3) +} + +// Hash returns hash of uxbody +func (ub *UxBody) Hash() cipher.SHA256 { + return cipher.SumSHA256(encoder.Serialize(ub)) +} + +/* + Make independent of block rate? + Then need creation time of output + Creation time of transaction cant be hashed +*/ + +// ErrAddEarnedCoinHoursAdditionOverflow is returned by UxOut.CoinHours() if during the addition of base coin +// hours to additional earned coin hours, the value would overflow a uint64. +// Callers may choose to ignore this errors and use 0 as the coinhours value instead. +// This affects one existing spent output, spent in block 13277. +var ErrAddEarnedCoinHoursAdditionOverflow = errors.New("UxOut.CoinHours addition of earned coin hours overflow") + +// CoinHours Calculate coinhour balance of output. t is the current unix utc time. +func (uo *UxOut) CoinHours(t uint64) (uint64, error) { + if t < uo.Head.Time { + log.Printf("Calculating coin hours with t < head time") + return uo.Body.Hours, nil + } + + seconds := t - uo.Head.Time // number of seconds + + // Calculate whole coin seconds + wholeCoins := uo.Body.Coins / 1e6 + wholeCoinSeconds, err := multUint64(seconds, wholeCoins) + if err != nil { + err := fmt.Errorf("UxOut.CoinHours: Calculating whole coin seconds overflows uint64 seconds=%d coins=%d uxid=%s", seconds, wholeCoins, uo.Hash().Hex()) + log.Printf("%v", err) + return 0, err + } + + // Calculate remainder droplet seconds + remainderDroplets := uo.Body.Coins % 1e6 + dropletSeconds, err := multUint64(seconds, remainderDroplets) + if err != nil { + err := fmt.Errorf("UxOut.CoinHours: Calculating droplet seconds overflows uint64 seconds=%d droplets=%d uxid=%s", seconds, remainderDroplets, uo.Hash().Hex()) + log.Printf("%v", err) + return 0, err + } + + // Add coinSeconds and seconds earned by droplets, rounded off + coinSeconds := wholeCoinSeconds + dropletSeconds/1e6 + + coinHours := coinSeconds / 3600 // coin hours + totalHours, err := AddUint64(uo.Body.Hours, coinHours) // starting+earned + if err != nil { + log.Printf("%v uxid=%s", ErrAddEarnedCoinHoursAdditionOverflow, uo.Hash().Hex()) + return 0, ErrAddEarnedCoinHoursAdditionOverflow + } + return totalHours, nil +} + +// UxHashSet set mapping from UxHash to a placeholder value +type UxHashSet map[cipher.SHA256]struct{} + +// UxArray Array of Outputs +// Used by unspent output pool, spent tests +type UxArray []UxOut + +// Hashes returns Array of hashes for the Ux in the UxArray +func (ua UxArray) Hashes() []cipher.SHA256 { + hashes := make([]cipher.SHA256, len(ua)) + for i, ux := range ua { + hashes[i] = ux.Hash() + } + return hashes +} + +// HasDupes checks the UxArray for outputs which have the same hash +func (ua UxArray) HasDupes() bool { + m := make(UxHashSet, len(ua)) + for i := range ua { + h := ua[i].Hash() + if _, ok := m[h]; ok { + return true + } + m[h] = struct{}{} + } + return false +} + +// Set returns the UxArray as a hash to struct{} map to be used as a set. +// Should only be used for membership detection +func (ua UxArray) Set() UxHashSet { + m := make(UxHashSet, len(ua)) + for i := range ua { + m[ua[i].Hash()] = struct{}{} + } + return m +} + +// Sort sorts UxArray +func (ua UxArray) Sort() { + sort.Sort(ua) +} + +// Len returns length of UxArray +func (ua UxArray) Len() int { + return len(ua) +} + +// Less checks if UxArray[i] < UxArray[j] +func (ua UxArray) Less(i, j int) bool { + hash1 := ua[i].Hash() + hash2 := ua[j].Hash() + return bytes.Compare(hash1[:], hash2[:]) < 0 +} + +// Swap swaps value of UxArray[i] and UxArray[j] +func (ua UxArray) Swap(i, j int) { + ua[i], ua[j] = ua[j], ua[i] +} + +// Coins returns the total coins +func (ua UxArray) Coins() (uint64, error) { + var coins uint64 + for _, ux := range ua { + var err error + coins, err = AddUint64(coins, ux.Body.Coins) + if err != nil { + return 0, errors.New("UxArray.Coins addition overflow") + } + } + + return coins, nil +} + +// CoinHours returns the total coin hours +func (ua UxArray) CoinHours(headTime uint64) (uint64, error) { + var hours uint64 + for _, ux := range ua { + uxHours, err := ux.CoinHours(headTime) + if err != nil { + return 0, err + } + + hours, err = AddUint64(hours, uxHours) + if err != nil { + return 0, errors.New("UxArray.CoinHours addition overflow") + } + } + return hours, nil +} + +// AddressUxOuts maps address with uxarray +type AddressUxOuts map[cipher.Address]UxArray + +// NewAddressUxOuts creates address uxouts map +func NewAddressUxOuts(uxs UxArray) AddressUxOuts { + uxo := make(AddressUxOuts) + for _, ux := range uxs { + uxo[ux.Body.Address] = append(uxo[ux.Body.Address], ux) + } + return uxo +} + +// Keys returns the Address keys +func (auo AddressUxOuts) Keys() []cipher.Address { + addrs := make([]cipher.Address, len(auo)) + i := 0 + for k := range auo { + addrs[i] = k + i++ + } + return addrs +} + +// Flatten converts an AddressUxOuts map to a UxArray +func (auo AddressUxOuts) Flatten() UxArray { + oxs := make(UxArray, 0, len(auo)) + for _, uxs := range auo { + for i := range uxs { + oxs = append(oxs, uxs[i]) + } + } + return oxs +} + +// Sub returns a new set of unspents, with unspents found in other removed. +// No address's unspent set will be empty +// Depreciate this: only visor uses it +func (auo AddressUxOuts) Sub(other AddressUxOuts) AddressUxOuts { + ox := make(AddressUxOuts, len(auo)) + for a, uxs := range auo { + if suxs, ok := other[a]; ok { + ouxs := uxs.Sub(suxs) + if len(ouxs) > 0 { + ox[a] = ouxs + } + } else { + ox[a] = uxs + } + } + return ox +} + +// Add returns a new unspents, with merged unspents +func (auo AddressUxOuts) Add(other AddressUxOuts) AddressUxOuts { + ox := make(AddressUxOuts, len(auo)) + for a, o := range auo { + ox[a] = o + } + + for a, uxs := range other { + if suxs, ok := ox[a]; ok { + ox[a] = suxs.Add(uxs) + } else { + ox[a] = uxs + } + } + return ox +} + +// Sub returns a new UxArray with elements in other removed from self +// Deprecate +func (ua UxArray) Sub(other UxArray) UxArray { + uxa := make(UxArray, 0) + m := other.Set() + for i := range ua { + if _, ok := m[ua[i].Hash()]; !ok { + uxa = append(uxa, ua[i]) + } + } + return uxa +} + +// Add returns a new UxArray with merged elements +func (ua UxArray) Add(other UxArray) UxArray { + m := ua.Set() + for i := range other { + if _, ok := m[other[i].Hash()]; !ok { + ua = append(ua, other[i]) + } + } + return ua +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/outputs_test.go b/vendor/github.com/skycoin/skycoin/src/coin/outputs_test.go new file mode 100755 index 0000000..ff71940 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/outputs_test.go @@ -0,0 +1,577 @@ +package coin + +import ( + "bytes" + "errors" + "math" + "sort" + "strings" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/testutil" +) + +func makeUxBody(t *testing.T) UxBody { + body, _ := makeUxBodyWithSecret(t) + return body +} + +func makeUxOut(t *testing.T) UxOut { + ux, _ := makeUxOutWithSecret(t) + return ux +} + +func makeUxBodyWithSecret(t *testing.T) (UxBody, cipher.SecKey) { + p, s := cipher.GenerateKeyPair() + return UxBody{ + SrcTransaction: testutil.RandSHA256(t), + Address: cipher.AddressFromPubKey(p), + Coins: 1e6, + Hours: 100, + }, s +} + +func makeUxOutWithSecret(t *testing.T) (UxOut, cipher.SecKey) { + body, sec := makeUxBodyWithSecret(t) + return UxOut{ + Head: UxHead{ + Time: 100, + BkSeq: 2, + }, + Body: body, + }, sec +} + +func TestUxBodyHash(t *testing.T) { + uxb := makeUxBody(t) + h := uxb.Hash() + assert.NotEqual(t, h, cipher.SHA256{}) +} + +func TestUxOutHash(t *testing.T) { + uxb := makeUxBody(t) + uxo := UxOut{Body: uxb} + assert.Equal(t, uxb.Hash(), uxo.Hash()) + // Head should not affect hash + uxo.Head = UxHead{0, 1} + assert.Equal(t, uxb.Hash(), uxo.Hash()) +} + +func TestUxOutSnapshotHash(t *testing.T) { + ux := makeUxOut(t) + h := ux.SnapshotHash() + // snapshot hash should be dependent on every field in body and head + ux2 := ux + ux2.Head.Time = 20 + assert.NotEqual(t, ux2.SnapshotHash(), h) + ux2 = ux + ux2.Head.BkSeq = 4 + assert.NotEqual(t, ux2.SnapshotHash(), h) + ux2 = ux + ux2.Body.SrcTransaction = testutil.RandSHA256(t) + assert.NotEqual(t, ux2.SnapshotHash(), h) + ux2 = ux + ux2.Body.Address = makeAddress() + assert.NotEqual(t, ux2.SnapshotHash(), h) + ux2 = ux + ux2.Body.Coins = ux.Body.Coins * 2 + assert.NotEqual(t, ux2.SnapshotHash(), h) + ux2 = ux + ux2.Body.Hours = ux.Body.Hours * 2 + assert.NotEqual(t, ux2.SnapshotHash(), h) +} + +func TestUxOutCoinHours(t *testing.T) { + uxo := makeUxOut(t) + + // Less than 1 hour passed + now := uint64(100) + uxo.Head.Time + hours, err := uxo.CoinHours(now) + require.NoError(t, err) + require.Equal(t, hours, uxo.Body.Hours) + + // 1 hours passed + now = uint64(3600) + uxo.Head.Time + hours, err = uxo.CoinHours(now) + require.NoError(t, err) + require.Equal(t, hours, uxo.Body.Hours+(uxo.Body.Coins/1e6)) + + // 6 hours passed + now = uint64(3600*6) + uxo.Head.Time + hours, err = uxo.CoinHours(now) + require.NoError(t, err) + require.Equal(t, hours, uxo.Body.Hours+(uxo.Body.Coins/1e6)*6) + + // Time is backwards (treated as no hours passed) + now = uxo.Head.Time / 2 + hours, err = uxo.CoinHours(now) + require.NoError(t, err) + require.Equal(t, hours, uxo.Body.Hours) + + // 1 hour has passed, output has 1.5 coins, should gain 1 coinhour + uxo.Body.Coins = 1e6 + 5e5 + now = uint64(3600) + uxo.Head.Time + hours, err = uxo.CoinHours(now) + require.NoError(t, err) + require.Equal(t, uxo.Body.Hours+1, hours) + + // 2 hours have passed, output has 1.5 coins, should gain 3 coin hours + uxo.Body.Coins = 1e6 + 5e5 + now = uint64(3600*2) + uxo.Head.Time + hours, err = uxo.CoinHours(now) + require.NoError(t, err) + require.Equal(t, uxo.Body.Hours+3, hours, "%d != %d", uxo.Body.Hours+3, hours) + + // 1 second has passed, output has 3600 coins, should gain 1 coin hour + uxo.Body.Coins = 3600e6 + now = uint64(1) + uxo.Head.Time + hours, err = uxo.CoinHours(now) + require.NoError(t, err) + require.Equal(t, uxo.Body.Hours+1, hours) + + // 1000000 hours minus 1 second have passed, output has 1 droplet, should gain 0 coin hour + uxo.Body.Coins = 1 + now = uint64(1000000*3600-1) + uxo.Head.Time + hours, err = uxo.CoinHours(now) + require.NoError(t, err) + require.Equal(t, uxo.Body.Hours, hours) + + // 1000000 hours have passed, output has 1 droplet, should gain 1 coin hour + uxo.Body.Coins = 1 + now = uint64(1000000*3600) + uxo.Head.Time + hours, err = uxo.CoinHours(now) + require.NoError(t, err) + require.Equal(t, uxo.Body.Hours+1, hours) + + // 1000000 hours plus 1 second have passed, output has 1 droplet, should gain 1 coin hour + uxo.Body.Coins = 1 + now = uint64(1000000*3600+1) + uxo.Head.Time + hours, err = uxo.CoinHours(now) + require.NoError(t, err) + require.Equal(t, uxo.Body.Hours+1, hours) + + // No hours passed, using initial coin hours + uxo.Body.Coins = _genCoins + uxo.Body.Hours = _genCoinHours + hours, err = uxo.CoinHours(uxo.Head.Time) + require.NoError(t, err) + require.Equal(t, hours, uxo.Body.Hours) + + // One hour passed, using initial coin hours + hours, err = uxo.CoinHours(uxo.Head.Time + 3600) + require.NoError(t, err) + require.Equal(t, hours, uxo.Body.Hours+(_genCoins/1e6)) + + // No hours passed and no hours to begin with + uxo.Body.Hours = 0 + hours, err = uxo.CoinHours(uxo.Head.Time) + require.NoError(t, err) + require.Equal(t, hours, uint64(0)) + + // Centuries have passed, time-based calculation overflows uint64 + // when calculating the whole coin seconds + uxo.Body.Coins = 2e6 + _, err = uxo.CoinHours(math.MaxUint64) + require.Error(t, err) + require.True(t, strings.HasPrefix(err.Error(), "UxOut.CoinHours: Calculating whole coin seconds overflows uint64 seconds=18446744073709551515 coins=2 uxid=")) + + // Centuries have passed, time-based calculation overflows uint64 + // when calculating the droplet seconds + uxo.Body.Coins = 1e6 + 1e5 + _, err = uxo.CoinHours(math.MaxUint64) + require.Error(t, err) + require.True(t, strings.HasPrefix(err.Error(), "UxOut.CoinHours: Calculating droplet seconds overflows uint64 seconds=18446744073709551515 droplets=100000 uxid=")) + + // Output would overflow if given more hours, has reached its limit + uxo.Body.Coins = 3600e6 + uxo.Body.Hours = math.MaxUint64 - 1 + _, err = uxo.CoinHours(uxo.Head.Time + 1000) + testutil.RequireError(t, err, ErrAddEarnedCoinHoursAdditionOverflow.Error()) +} + +func makeUxArray(t *testing.T, n int) UxArray { + uxa := make(UxArray, n) + for i := 0; i < len(uxa); i++ { + uxa[i] = makeUxOut(t) + } + return uxa +} + +func TestUxArrayCoins(t *testing.T) { + uxa := makeUxArray(t, 4) + + n, err := uxa.Coins() + require.NoError(t, err) + require.Equal(t, uint64(4e6), n) + + uxa[2].Body.Coins = math.MaxUint64 - 1e6 + _, err = uxa.Coins() + require.Equal(t, err, errors.New("UxArray.Coins addition overflow")) +} + +func TestUxArrayCoinHours(t *testing.T) { + uxa := makeUxArray(t, 4) + + n, err := uxa.CoinHours(uxa[0].Head.Time) + require.NoError(t, err) + require.Equal(t, uint64(400), n) + + // 1 hour later + n, err = uxa.CoinHours(uxa[0].Head.Time + 3600) + require.NoError(t, err) + require.Equal(t, uint64(404), n) + + // 1.5 hours later + n, err = uxa.CoinHours(uxa[0].Head.Time + 3600 + 1800) + require.NoError(t, err) + require.Equal(t, uint64(404), n) + + // 2 hours later + n, err = uxa.CoinHours(uxa[0].Head.Time + 3600 + 4600) + require.NoError(t, err) + require.Equal(t, uint64(408), n) + + uxa[2].Body.Hours = math.MaxUint64 - 100 + _, err = uxa.CoinHours(uxa[0].Head.Time) + require.Equal(t, errors.New("UxArray.CoinHours addition overflow"), err) + + _, err = uxa.CoinHours(uxa[0].Head.Time * 1000000000000) + require.Equal(t, ErrAddEarnedCoinHoursAdditionOverflow, err) +} + +func TestUxArrayHashArray(t *testing.T) { + uxa := makeUxArray(t, 4) + hashes := uxa.Hashes() + assert.Equal(t, len(hashes), len(uxa)) + for i, h := range hashes { + assert.Equal(t, h, uxa[i].Hash()) + } +} + +func TestUxArrayHasDupes(t *testing.T) { + uxa := makeUxArray(t, 4) + assert.False(t, uxa.HasDupes()) + uxa[0] = uxa[1] + assert.True(t, uxa.HasDupes()) +} + +func TestUxArrayRemoveDupes(t *testing.T) { + uxa := makeUxArray(t, 4) + assert.False(t, uxa.HasDupes()) + assert.Equal(t, uxa, uxa.removeDupes()) + uxa[0] = uxa[1] + assert.True(t, uxa.HasDupes()) + uxb := uxa.removeDupes() + assert.False(t, uxb.HasDupes()) + assert.Equal(t, len(uxb), 3) + assert.Equal(t, uxb[0], uxa[0]) + assert.Equal(t, uxb[1], uxa[2]) + assert.Equal(t, uxb[2], uxa[3]) +} + +func TestUxArraySub(t *testing.T) { + uxa := makeUxArray(t, 4) + uxb := makeUxArray(t, 4) + uxc := append(uxa[:1], uxb...) + uxc = append(uxc, uxa[1:2]...) + + uxd := uxc.Sub(uxa) + assert.Equal(t, uxd, uxb) + + uxd = uxc.Sub(uxb) + assert.Equal(t, len(uxd), 2) + assert.Equal(t, uxd, uxa[:2]) + + // No intersection + uxd = uxa.Sub(uxb) + assert.Equal(t, uxa, uxd) + uxd = uxb.Sub(uxa) + assert.Equal(t, uxd, uxb) +} + +func manualUxArrayIsSorted(uxa UxArray) bool { + isSorted := true + for i := 0; i < len(uxa)-1; i++ { + hi := uxa[i].Hash() + hj := uxa[i+1].Hash() + if bytes.Compare(hi[:], hj[:]) > 0 { + isSorted = false + } + } + return isSorted +} + +func TestUxArraySorting(t *testing.T) { + uxa := make(UxArray, 4) + for i := 0; i < len(uxa); i++ { + uxa[i] = makeUxOut(t) + } + isSorted := manualUxArrayIsSorted(uxa) + assert.Equal(t, sort.IsSorted(uxa), isSorted) + // Make sure uxa is not sorted + if isSorted { + uxa[0], uxa[1] = uxa[1], uxa[0] + } + assert.False(t, manualUxArrayIsSorted(uxa)) + assert.False(t, sort.IsSorted(uxa)) + uxb := make(UxArray, 4) + for i, ux := range uxa { + uxb[i] = ux + } + sort.Sort(uxa) + assert.True(t, sort.IsSorted(uxa)) + assert.True(t, manualUxArrayIsSorted(uxa)) + assert.False(t, sort.IsSorted(uxb)) + uxb.Sort() + assert.Equal(t, uxa, uxb) + assert.True(t, sort.IsSorted(uxb)) + assert.True(t, manualUxArrayIsSorted(uxb)) +} + +func TestUxArrayLen(t *testing.T) { + uxa := make(UxArray, 4) + assert.Equal(t, len(uxa), uxa.Len()) + assert.Equal(t, 4, uxa.Len()) +} + +func TestUxArrayLess(t *testing.T) { + uxa := make(UxArray, 2) + uxa[0] = makeUxOut(t) + uxa[1] = makeUxOut(t) + h := make([]cipher.SHA256, 2) + h[0] = uxa[0].Hash() + h[1] = uxa[1].Hash() + assert.Equal(t, uxa.Less(0, 1), bytes.Compare(h[0][:], h[1][:]) < 0) + assert.Equal(t, uxa.Less(1, 0), bytes.Compare(h[0][:], h[1][:]) > 0) +} + +func TestUxArraySwap(t *testing.T) { + uxa := make(UxArray, 2) + uxx := makeUxOut(t) + uxy := makeUxOut(t) + uxa[0] = uxx + uxa[1] = uxy + uxa.Swap(0, 1) + assert.Equal(t, uxa[0], uxy) + assert.Equal(t, uxa[1], uxx) + uxa.Swap(0, 1) + assert.Equal(t, uxa[0], uxx) + assert.Equal(t, uxa[1], uxy) + uxa.Swap(1, 0) + assert.Equal(t, uxa[1], uxx) + assert.Equal(t, uxa[0], uxy) +} + +func TestAddressUxOutsKeys(t *testing.T) { + unspents := make(AddressUxOuts) + ux := makeUxOut(t) + ux2 := makeUxOut(t) + ux3 := makeUxOut(t) + unspents[ux.Body.Address] = UxArray{ux} + unspents[ux2.Body.Address] = UxArray{ux2} + unspents[ux3.Body.Address] = UxArray{ux3} + keys := unspents.Keys() + assert.Equal(t, len(keys), 3) + dupes := make(map[cipher.Address]byte, 3) + for _, k := range keys { + dupes[k] = byte(1) + assert.True(t, k == ux.Body.Address || k == ux2.Body.Address || k == ux3.Body.Address) + } + assert.Equal(t, len(keys), len(dupes)) +} + +func TestAddressUxOutsMerge(t *testing.T) { + unspents := make(AddressUxOuts) + unspents2 := make(AddressUxOuts) + ux := makeUxOut(t) + ux2 := makeUxOut(t) + ux3 := makeUxOut(t) + ux4 := makeUxOut(t) + ux3.Body.Address = ux.Body.Address + + unspents[ux.Body.Address] = UxArray{ux} + unspents[ux2.Body.Address] = UxArray{ux2} + unspents2[ux3.Body.Address] = UxArray{ux3} + unspents2[ux4.Body.Address] = UxArray{ux4} + + // Valid merge + keys := []cipher.Address{ux.Body.Address, ux2.Body.Address, ux4.Body.Address} + merged := unspents.Merge(unspents2, keys) + assert.Equal(t, len(unspents), 2) + assert.Equal(t, len(unspents2), 2) + assert.Equal(t, len(merged), 3) + assert.Equal(t, merged[ux.Body.Address], UxArray{ux, ux3}) + assert.Equal(t, merged[ux2.Body.Address], UxArray{ux2}) + assert.Equal(t, merged[ux4.Body.Address], UxArray{ux4}) + + // Duplicates should not be merged + unspents[ux4.Body.Address] = UxArray{ux4} + unspents[ux.Body.Address] = UxArray{ux, ux3} + merged = unspents.Merge(unspents2, keys) + assert.Equal(t, len(merged), 3) + assert.Equal(t, merged[ux.Body.Address], UxArray{ux, ux3}) + assert.Equal(t, merged[ux2.Body.Address], UxArray{ux2}) + assert.Equal(t, merged[ux4.Body.Address], UxArray{ux4}) + + // Missing keys should not be merged + merged = unspents.Merge(unspents2, []cipher.Address{}) + assert.Equal(t, len(merged), 0) + merged = unspents.Merge(unspents2, []cipher.Address{ux4.Body.Address}) + assert.Equal(t, len(merged), 1) + assert.Equal(t, merged[ux4.Body.Address], UxArray{ux4}) +} + +func TestAddressUxOutsSub(t *testing.T) { + up := make(AddressUxOuts) + up2 := make(AddressUxOuts) + uxs := makeUxArray(t, 4) + + uxs[1].Body.Address = uxs[0].Body.Address + up[uxs[0].Body.Address] = UxArray{uxs[0], uxs[1]} + up[uxs[2].Body.Address] = UxArray{uxs[2]} + up[uxs[3].Body.Address] = UxArray{uxs[3]} + + up2[uxs[0].Body.Address] = UxArray{uxs[0]} + up2[uxs[2].Body.Address] = UxArray{uxs[2]} + + up3 := up.Sub(up2) + // One address should have been removed, because no elements + assert.Equal(t, len(up3), 2) + _, ok := up3[uxs[2].Body.Address] + assert.False(t, ok) + // Ux3 should be untouched + ux3 := up3[uxs[3].Body.Address] + assert.Equal(t, ux3, UxArray{uxs[3]}) + // Ux0,Ux1 should be missing Ux0 + ux1 := up3[uxs[0].Body.Address] + assert.Equal(t, ux1, UxArray{uxs[1]}) + + // Originals should be unmodified + assert.Equal(t, len(up), 3) + assert.Equal(t, len(up[uxs[0].Body.Address]), 2) + assert.Equal(t, len(up[uxs[2].Body.Address]), 1) + assert.Equal(t, len(up[uxs[3].Body.Address]), 1) + assert.Equal(t, len(up2), 2) + assert.Equal(t, len(up2[uxs[0].Body.Address]), 1) + assert.Equal(t, len(up2[uxs[2].Body.Address]), 1) +} + +func TestAddressUxOutsAdd(t *testing.T) { + up := make(AddressUxOuts) + up2 := make(AddressUxOuts) + uxs := makeUxArray(t, 4) + + uxs[1].Body.Address = uxs[0].Body.Address + up[uxs[0].Body.Address] = UxArray{uxs[0]} + up[uxs[2].Body.Address] = UxArray{uxs[2]} + up[uxs[3].Body.Address] = UxArray{uxs[3]} + + up2[uxs[0].Body.Address] = UxArray{uxs[1]} + up2[uxs[2].Body.Address] = UxArray{uxs[2]} + + up3 := up.Add(up2) + require.Equal(t, 3, len(up3)) + require.Equal(t, len(up3[uxs[0].Body.Address]), 2) + require.Equal(t, up3[uxs[0].Body.Address], UxArray{uxs[0], uxs[1]}) + require.Equal(t, up3[uxs[2].Body.Address], UxArray{uxs[2]}) + require.Equal(t, up3[uxs[3].Body.Address], UxArray{uxs[3]}) + require.Equal(t, up3[uxs[1].Body.Address], UxArray{uxs[0], uxs[1]}) + + // Originals should be unmodified + assert.Equal(t, len(up), 3) + assert.Equal(t, len(up[uxs[0].Body.Address]), 1) + assert.Equal(t, len(up[uxs[2].Body.Address]), 1) + assert.Equal(t, len(up[uxs[3].Body.Address]), 1) + assert.Equal(t, len(up2), 2) + assert.Equal(t, len(up2[uxs[0].Body.Address]), 1) + assert.Equal(t, len(up2[uxs[2].Body.Address]), 1) +} + +func TestAddressUxOutsFlatten(t *testing.T) { + up := make(AddressUxOuts) + uxs := makeUxArray(t, 3) + uxs[2].Body.Address = uxs[1].Body.Address + emptyAddr := makeAddress() + + // An empty array + up[emptyAddr] = UxArray{} + // 1 element array + up[uxs[0].Body.Address] = UxArray{uxs[0]} + // 2 element array + up[uxs[1].Body.Address] = UxArray{uxs[1], uxs[2]} + + flat := up.Flatten() + assert.Equal(t, len(flat), 3) + // emptyAddr should not be in the array + for _, ux := range flat { + assert.NotEqual(t, ux.Body.Address, emptyAddr) + } + if flat[0].Body.Address == uxs[0].Body.Address { + assert.Equal(t, flat[0], uxs[0]) + assert.Equal(t, flat[0].Body.Address, uxs[0].Body.Address) + assert.Equal(t, flat[0+1], uxs[1]) + assert.Equal(t, flat[1+1], uxs[2]) + assert.Equal(t, flat[0+1].Body.Address, uxs[1].Body.Address) + assert.Equal(t, flat[1+1].Body.Address, uxs[2].Body.Address) + } else { + assert.Equal(t, flat[0], uxs[1]) + assert.Equal(t, flat[1], uxs[2]) + assert.Equal(t, flat[0].Body.Address, uxs[1].Body.Address) + assert.Equal(t, flat[1].Body.Address, uxs[2].Body.Address) + assert.Equal(t, flat[2], uxs[0]) + assert.Equal(t, flat[2].Body.Address, uxs[0].Body.Address) + } +} + +func TestNewAddressUxOuts(t *testing.T) { + uxs := makeUxArray(t, 6) + uxs[1].Body.Address = uxs[0].Body.Address + uxs[3].Body.Address = uxs[2].Body.Address + uxs[4].Body.Address = uxs[2].Body.Address + uxo := NewAddressUxOuts(uxs) + assert.Equal(t, len(uxo), 3) + assert.Equal(t, uxo[uxs[0].Body.Address], UxArray{ + uxs[0], uxs[1], + }) + assert.Equal(t, uxo[uxs[3].Body.Address], UxArray{ + uxs[2], uxs[3], uxs[4], + }) + assert.Equal(t, uxo[uxs[5].Body.Address], UxArray{ + uxs[5], + }) +} + +/* + Utility Functions +*/ + +// Returns a copy of self with duplicates removed +// Is this needed? +func (ua UxArray) removeDupes() UxArray { + m := make(UxHashSet, len(ua)) + deduped := make(UxArray, 0, len(ua)) + for i := range ua { + h := ua[i].Hash() + if _, ok := m[h]; !ok { + deduped = append(deduped, ua[i]) + m[h] = struct{}{} + } + } + return deduped +} + +// Combines two AddressUxOuts where they overlap with keys +// Remove? +func (auo AddressUxOuts) Merge(other AddressUxOuts, + keys []cipher.Address) AddressUxOuts { + final := make(AddressUxOuts, len(keys)) + for _, a := range keys { + row := append(auo[a], other[a]...) + final[a] = row.removeDupes() + } + return final +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/transactions.go b/vendor/github.com/skycoin/skycoin/src/coin/transactions.go new file mode 100755 index 0000000..d55e164 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/transactions.go @@ -0,0 +1,519 @@ +package coin + +import ( + "bytes" + "errors" + "fmt" + "log" + "math" + "sort" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +var ( + // DebugLevel1 checks for extremely unlikely conditions (10e-40) + DebugLevel1 = true + // DebugLevel2 enable checks for impossible conditions + DebugLevel2 = true +) + +/* +Transaction with N inputs, M ouputs is +- 32 bytes constant +- 32+65 bytes per input +- 21+8+8 bytes per output + +Skycoin Transactions are +- 97 bytes per input + 37 bytes per output + 37 bytes +Bitcoin Transactions are +- 180 bytes per input + 34 bytes per output + 10 bytes + +Sigs is the array of signatures +- the Nth signature is the authorization to spend the Nth output consumed in transaction +- the hash signed is SHA256sum of transaction inner hash and the hash of output being spent + +The inner hash is SHA256 hash of the serialization of Input and Output array +The outer hash is the hash of the whole transaction serialization +*/ + +// Transaction transaction struct +type Transaction struct { + Length uint32 //length prefix + Type uint8 //transaction type + InnerHash cipher.SHA256 //inner hash SHA256 of In[],Out[] + + Sigs []cipher.Sig //list of signatures, 64+1 bytes each + In []cipher.SHA256 //ouputs being spent + Out []TransactionOutput //ouputs being created +} + +// TransactionOutput hash output/name is function of Hash +type TransactionOutput struct { + Address cipher.Address //address to send to + Coins uint64 //amount to be sent in coins + Hours uint64 //amount to be sent in coin hours +} + +// Verify attempts to determine if the transaction is well formed +// Verify cannot check transaction signatures, it needs the address from unspents +// Verify cannot check if outputs being spent exist +// Verify cannot check if the transaction would create or destroy coins +// or if the inputs have the required coin base +func (txn *Transaction) Verify() error { + h := txn.HashInner() + if h != txn.InnerHash { + return errors.New("Invalid header hash") + } + + if len(txn.In) == 0 { + return errors.New("No inputs") + } + if len(txn.Out) == 0 { + return errors.New("No outputs") + } + + // Check signature index fields + if len(txn.Sigs) != len(txn.In) { + return errors.New("Invalid number of signatures") + } + if len(txn.Sigs) >= math.MaxUint16 { + return errors.New("Too many signatures and inputs") + } + + // Check duplicate inputs + uxOuts := make(map[cipher.SHA256]struct{}, len(txn.In)) + for i := range txn.In { + uxOuts[txn.In[i]] = struct{}{} + } + if len(uxOuts) != len(txn.In) { + return errors.New("Duplicate spend") + } + + if txn.Type != 0 { + return errors.New("transaction type invalid") + } + + if txn.Length != uint32(txn.Size()) { + return errors.New("transaction size prefix invalid") + } + + // Check for duplicate potential outputs + outputs := make(map[cipher.SHA256]struct{}, len(txn.Out)) + uxb := UxBody{ + SrcTransaction: txn.Hash(), + } + for _, to := range txn.Out { + uxb.Coins = to.Coins + uxb.Hours = to.Hours + uxb.Address = to.Address + outputs[uxb.Hash()] = struct{}{} + } + if len(outputs) != len(txn.Out) { + return errors.New("Duplicate output in transaction") + } + + // Validate signature + for i, sig := range txn.Sigs { + hash := cipher.AddSHA256(txn.InnerHash, txn.In[i]) + if err := cipher.VerifySignedHash(sig, hash); err != nil { + return err + } + } + + // Prevent zero coin outputs + // Artificial restriction to prevent spam + for _, txo := range txn.Out { + if txo.Coins == 0 { + return errors.New("Zero coin output") + } + } + + // Check output coin integer overflow + coins := uint64(0) + for _, to := range txn.Out { + var err error + coins, err = AddUint64(coins, to.Coins) + if err != nil { + return errors.New("Output coins overflow") + } + } + + return nil +} + +// VerifyInput verifies the input +func (txn Transaction) VerifyInput(uxIn UxArray) error { + if DebugLevel2 { + if len(txn.In) != len(uxIn) { + log.Panic("tx.In != uxIn") + } + if len(txn.In) != len(txn.Sigs) { + log.Panic("tx.In != tx.Sigs") + } + if txn.InnerHash != txn.HashInner() { + log.Panic("Invalid Tx Inner Hash") + } + for i := range txn.In { + if txn.In[i] != uxIn[i].Hash() { + log.Panic("Ux hash mismatch") + } + } + } + + // Check signatures against unspent address + for i := range txn.In { + hash := cipher.AddSHA256(txn.InnerHash, txn.In[i]) // use inner hash, not outer hash + err := cipher.ChkSig(uxIn[i].Body.Address, hash, txn.Sigs[i]) + if err != nil { + return errors.New("Signature not valid for output being spent") + } + } + + return nil +} + +// PushInput adds a UxArray to the Transaction given the hash of a UxOut. +// Returns the signature index for later signing +func (txn *Transaction) PushInput(uxOut cipher.SHA256) uint16 { + if len(txn.In) >= math.MaxUint16 { + log.Panic("Max transaction inputs reached") + } + txn.In = append(txn.In, uxOut) + return uint16(len(txn.In) - 1) +} + +// UxID compute transaction output id +func (txOut TransactionOutput) UxID(txID cipher.SHA256) cipher.SHA256 { + var x UxBody + x.Coins = txOut.Coins + x.Hours = txOut.Hours + x.Address = txOut.Address + x.SrcTransaction = txID + return x.Hash() +} + +// PushOutput Adds a TransactionOutput, sending coins & hours to an Address +func (txn *Transaction) PushOutput(dst cipher.Address, coins, hours uint64) { + to := TransactionOutput{ + Address: dst, + Coins: coins, + Hours: hours, + } + txn.Out = append(txn.Out, to) +} + +// SignInputs signs all inputs in the transaction +func (txn *Transaction) SignInputs(keys []cipher.SecKey) { + txn.InnerHash = txn.HashInner() // update hash + + if len(txn.Sigs) != 0 { + log.Panic("Transaction has been signed") + } + if len(keys) != len(txn.In) { + log.Panic("Invalid number of keys") + } + if len(keys) > math.MaxUint16 { + log.Panic("Too many keys") + } + if len(keys) == 0 { + log.Panic("No keys") + } + + sigs := make([]cipher.Sig, len(txn.In)) + innerHash := txn.HashInner() + for i, k := range keys { + h := cipher.AddSHA256(innerHash, txn.In[i]) // hash to sign + sigs[i] = cipher.SignHash(h, k) + } + txn.Sigs = sigs +} + +// Size returns the encoded byte size of the transaction +func (txn *Transaction) Size() int { + return len(txn.Serialize()) +} + +// Hash an entire Transaction struct, including the TransactionHeader +func (txn *Transaction) Hash() cipher.SHA256 { + b := txn.Serialize() + return cipher.SumSHA256(b) +} + +// SizeHash returns the encoded size and the hash of it (avoids duplicate encoding) +func (txn *Transaction) SizeHash() (int, cipher.SHA256) { + b := txn.Serialize() + return len(b), cipher.SumSHA256(b) +} + +// TxID returns transaction ID as byte string +func (txn *Transaction) TxID() []byte { + hash := txn.Hash() + return hash[0:32] +} + +// TxIDHex returns transaction ID as hex +func (txn *Transaction) TxIDHex() string { + return txn.Hash().Hex() +} + +// UpdateHeader saves the txn body hash to TransactionHeader.Hash +func (txn *Transaction) UpdateHeader() { + s := txn.Size() + txn.Length = uint32(s) + txn.Type = byte(0x00) + txn.InnerHash = txn.HashInner() +} + +// HashInner hashes only the Transaction Inputs & Outputs +// This is what is signed +// Client hashes the inner hash with hash of output being spent and signs it with private key +func (txn *Transaction) HashInner() cipher.SHA256 { + b1 := encoder.Serialize(txn.In) + b2 := encoder.Serialize(txn.Out) + b3 := append(b1, b2...) + return cipher.SumSHA256(b3) +} + +// Serialize serialize the transaction +func (txn *Transaction) Serialize() []byte { + return encoder.Serialize(*txn) +} + +// MustTransactionDeserialize deserialize transaction, panics on error +func MustTransactionDeserialize(b []byte) Transaction { + t, err := TransactionDeserialize(b) + if err != nil { + log.Panicf("Failed to deserialize transaction: %v", err) + } + return t +} + +// TransactionDeserialize deserialize transaction +func TransactionDeserialize(b []byte) (Transaction, error) { + t := Transaction{} + if err := encoder.DeserializeRaw(b, &t); err != nil { + return t, fmt.Errorf("Invalid transaction: %v", err) + } + return t, nil +} + +// OutputHours returns the coin hours sent as outputs. This does not include the fee. +func (txn *Transaction) OutputHours() (uint64, error) { + hours := uint64(0) + for i := range txn.Out { + var err error + hours, err = AddUint64(hours, txn.Out[i].Hours) + if err != nil { + return 0, errors.New("Transaction output hours overflow") + } + } + return hours, nil +} + +// Transactions transaction slice +type Transactions []Transaction + +// Fees calculates all the fees in Transactions +func (txns Transactions) Fees(calc FeeCalculator) (uint64, error) { + total := uint64(0) + for i := range txns { + fee, err := calc(&txns[i]) + if err != nil { + return 0, err + } + + total, err = AddUint64(total, fee) + if err != nil { + return 0, errors.New("Transactions fee totals overflow") + } + } + return total, nil +} + +// Hashes caculate transactions hashes +func (txns Transactions) Hashes() []cipher.SHA256 { + hashes := make([]cipher.SHA256, len(txns)) + for i := range txns { + hashes[i] = txns[i].Hash() + } + return hashes +} + +// Size returns the sum of contained Transactions' sizes. It is not the size if +// serialized, since that would have a length prefix. +func (txns Transactions) Size() int { + size := 0 + for i := range txns { + size += txns[i].Size() + } + return size +} + +// TruncateBytesTo returns the first n transactions whose total size is less than or equal to +// size. +func (txns Transactions) TruncateBytesTo(size int) Transactions { + total := 0 + for i := range txns { + pending := txns[i].Size() + + if pending+total > size { + return txns[:i] + } + + total += pending + } + return txns +} + +// SortableTransactions allows sorting transactions by fee & hash +type SortableTransactions struct { + Txns Transactions + Fees []uint64 + Hashes []cipher.SHA256 +} + +// FeeCalculator given a transaction, return its fee or an error if the fee cannot be +// calculated +type FeeCalculator func(*Transaction) (uint64, error) + +// SortTransactions returns transactions sorted by fee per kB, and sorted by lowest hash if +// tied. Transactions that fail in fee computation are excluded. +func SortTransactions(txns Transactions, feeCalc FeeCalculator) Transactions { + sorted := NewSortableTransactions(txns, feeCalc) + sorted.Sort() + return sorted.Txns +} + +// NewSortableTransactions returns an array of txns that can be sorted by fee. On creation, fees are +// calculated, and if any txns have invalid fee, there are removed from +// consideration +func NewSortableTransactions(txns Transactions, feeCalc FeeCalculator) SortableTransactions { + newTxns := make(Transactions, len(txns)) + fees := make([]uint64, len(txns)) + hashes := make([]cipher.SHA256, len(txns)) + j := 0 + for i := range txns { + fee, err := feeCalc(&txns[i]) + if err != nil { + continue + } + + size, hash := txns[i].SizeHash() + + // Calculate fee priority based on fee per kb + feeKB, err := multUint64(fee, 1024) + + // If the fee * 1024 would exceed math.MaxUint64, set it to math.MaxUint64 so that + // this transaction can still be processed + if err != nil { + feeKB = math.MaxUint64 + } + + newTxns[j] = txns[i] + hashes[j] = hash + fees[j] = feeKB / uint64(size) + j++ + } + return SortableTransactions{ + Txns: newTxns[:j], + Fees: fees[:j], + Hashes: hashes[:j], + } +} + +// Sort sorts by tx fee, and then by hash if fee equal +func (txns SortableTransactions) Sort() { + sort.Sort(txns) +} + +// Len returns length of transactions +func (txns SortableTransactions) Len() int { + return len(txns.Txns) +} + +// Less default sorting is fees descending, hash ascending if fees equal +func (txns SortableTransactions) Less(i, j int) bool { + if txns.Fees[i] == txns.Fees[j] { + // If fees match, hashes are sorted ascending + return bytes.Compare(txns.Hashes[i][:], txns.Hashes[j][:]) < 0 + } + // Fees are sorted descending + return txns.Fees[i] > txns.Fees[j] +} + +// Swap swaps txns +func (txns SortableTransactions) Swap(i, j int) { + txns.Txns[i], txns.Txns[j] = txns.Txns[j], txns.Txns[i] + txns.Fees[i], txns.Fees[j] = txns.Fees[j], txns.Fees[i] + txns.Hashes[i], txns.Hashes[j] = txns.Hashes[j], txns.Hashes[i] +} + +// VerifyTransactionCoinsSpending checks that coins are not destroyed or created by the transaction +func VerifyTransactionCoinsSpending(uxIn UxArray, uxOut UxArray) error { + coinsIn := uint64(0) + for i := range uxIn { + var err error + coinsIn, err = AddUint64(coinsIn, uxIn[i].Body.Coins) + if err != nil { + return errors.New("Transaction input coins overflow") + } + } + + coinsOut := uint64(0) + for i := range uxOut { + var err error + coinsOut, err = AddUint64(coinsOut, uxOut[i].Body.Coins) + if err != nil { + return errors.New("Transaction output coins overflow") + } + } + + if coinsIn < coinsOut { + return errors.New("Insufficient coins") + } + if coinsIn > coinsOut { + return errors.New("Transactions may not destroy coins") + } + + return nil +} + +// VerifyTransactionHoursSpending checks that hours are not created by the transaction +func VerifyTransactionHoursSpending(headTime uint64, uxIn UxArray, uxOut UxArray) error { + hoursIn := uint64(0) + for i := range uxIn { + uxHours, err := uxIn[i].CoinHours(headTime) + if err != nil { + // If the error was specifically an overflow when adding the + // earned coin hours to the base coin hours, treat the uxHours as 0. + // Block 13277 spends an input which overflows in this way, + // so the block will not sync if an error is returned. + if err == ErrAddEarnedCoinHoursAdditionOverflow { + uxHours = 0 + } else { + return err + } + } + + hoursIn, err = AddUint64(hoursIn, uxHours) + if err != nil { + return errors.New("Transaction input hours overflow") + } + } + + hoursOut := uint64(0) + for i := range uxOut { + // NOTE: addition of hours is not checked for overflow here because + // this would invalidate existing blocks which had overflowed hours. + // Hours overflow checks are handled as a "soft" constraint in the network + // until those blocks are repaired. + hoursOut += uxOut[i].Body.Hours + } + + if hoursIn < hoursOut { + return errors.New("Insufficient coin hours") + } + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/transactions_test.go b/vendor/github.com/skycoin/skycoin/src/coin/transactions_test.go new file mode 100755 index 0000000..a63e1ee --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/transactions_test.go @@ -0,0 +1,900 @@ +package coin + +import ( + "bytes" + "errors" + "math" + "sort" + "strings" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/testutil" + _require "github.com/skycoin/skycoin/src/testutil/require" +) + +func makeTransactionFromUxOut(ux UxOut, s cipher.SecKey) Transaction { + tx := Transaction{} + tx.PushInput(ux.Hash()) + tx.PushOutput(makeAddress(), 1e6, 50) + tx.PushOutput(makeAddress(), 5e6, 50) + tx.SignInputs([]cipher.SecKey{s}) + tx.UpdateHeader() + return tx +} + +func makeTransaction(t *testing.T) Transaction { + ux, s := makeUxOutWithSecret(t) + return makeTransactionFromUxOut(ux, s) +} + +func makeTransactions(t *testing.T, n int) Transactions { // nolint: unparam + txns := make(Transactions, n) + for i := range txns { + txns[i] = makeTransaction(t) + } + return txns +} + +func makeAddress() cipher.Address { + p, _ := cipher.GenerateKeyPair() + return cipher.AddressFromPubKey(p) +} + +func copyTransaction(tx Transaction) Transaction { + txo := Transaction{} + txo.Length = tx.Length + txo.Type = tx.Type + txo.InnerHash = tx.InnerHash + txo.Sigs = make([]cipher.Sig, len(tx.Sigs)) + copy(txo.Sigs, tx.Sigs) + txo.In = make([]cipher.SHA256, len(tx.In)) + copy(txo.In, tx.In) + txo.Out = make([]TransactionOutput, len(tx.Out)) + copy(txo.Out, tx.Out) + return txo +} + +func TestTransactionVerify(t *testing.T) { + // Mismatch header hash + tx := makeTransaction(t) + tx.InnerHash = cipher.SHA256{} + testutil.RequireError(t, tx.Verify(), "Invalid header hash") + + // No inputs + tx = makeTransaction(t) + tx.In = make([]cipher.SHA256, 0) + tx.UpdateHeader() + testutil.RequireError(t, tx.Verify(), "No inputs") + + // No outputs + tx = makeTransaction(t) + tx.Out = make([]TransactionOutput, 0) + tx.UpdateHeader() + testutil.RequireError(t, tx.Verify(), "No outputs") + + // Invalid number of sigs + tx = makeTransaction(t) + tx.Sigs = make([]cipher.Sig, 0) + tx.UpdateHeader() + testutil.RequireError(t, tx.Verify(), "Invalid number of signatures") + tx.Sigs = make([]cipher.Sig, 20) + tx.UpdateHeader() + testutil.RequireError(t, tx.Verify(), "Invalid number of signatures") + + // Too many sigs & inputs + tx = makeTransaction(t) + tx.Sigs = make([]cipher.Sig, math.MaxUint16) + tx.In = make([]cipher.SHA256, math.MaxUint16) + tx.UpdateHeader() + testutil.RequireError(t, tx.Verify(), "Too many signatures and inputs") + + // Duplicate inputs + ux, s := makeUxOutWithSecret(t) + tx = makeTransactionFromUxOut(ux, s) + tx.PushInput(tx.In[0]) + tx.Sigs = nil + tx.SignInputs([]cipher.SecKey{s, s}) + tx.UpdateHeader() + testutil.RequireError(t, tx.Verify(), "Duplicate spend") + + // Duplicate outputs + tx = makeTransaction(t) + to := tx.Out[0] + tx.PushOutput(to.Address, to.Coins, to.Hours) + tx.UpdateHeader() + testutil.RequireError(t, tx.Verify(), "Duplicate output in transaction") + + // Invalid signature, empty + tx = makeTransaction(t) + tx.Sigs[0] = cipher.Sig{} + testutil.RequireError(t, tx.Verify(), "Failed to recover public key") + // We can't check here for other invalid signatures: + // - Signatures signed by someone else, spending coins they don't own + // - Signature is for wrong hash + // This must be done by blockchain tests, because we need the address + // from the unspent being spent + + // Output coins are 0 + tx = makeTransaction(t) + tx.Out[0].Coins = 0 + tx.UpdateHeader() + testutil.RequireError(t, tx.Verify(), "Zero coin output") + + // Output coin overflow + tx = makeTransaction(t) + tx.Out[0].Coins = math.MaxUint64 - 3e6 + tx.UpdateHeader() + testutil.RequireError(t, tx.Verify(), "Output coins overflow") + + // Output coins are not multiples of 1e6 (valid, decimal restriction is not enforced here) + tx = makeTransaction(t) + tx.Out[0].Coins += 10 + tx.UpdateHeader() + tx.Sigs = nil + tx.SignInputs([]cipher.SecKey{genSecret}) + require.NotEqual(t, tx.Out[0].Coins%1e6, uint64(0)) + require.NoError(t, tx.Verify()) + + // Valid + tx = makeTransaction(t) + tx.Out[0].Coins = 10e6 + tx.Out[1].Coins = 1e6 + tx.UpdateHeader() + require.Nil(t, tx.Verify()) +} + +func TestTransactionVerifyInput(t *testing.T) { + // Invalid uxIn args + tx := makeTransaction(t) + _require.PanicsWithLogMessage(t, "tx.In != uxIn", func() { + tx.VerifyInput(nil) + }) + _require.PanicsWithLogMessage(t, "tx.In != uxIn", func() { + tx.VerifyInput(UxArray{}) + }) + _require.PanicsWithLogMessage(t, "tx.In != uxIn", func() { + tx.VerifyInput(make(UxArray, 3)) + }) + + // tx.In != tx.Sigs + ux, s := makeUxOutWithSecret(t) + tx = makeTransactionFromUxOut(ux, s) + tx.Sigs = []cipher.Sig{} + _require.PanicsWithLogMessage(t, "tx.In != tx.Sigs", func() { + tx.VerifyInput(UxArray{ux}) + }) + + ux, s = makeUxOutWithSecret(t) + tx = makeTransactionFromUxOut(ux, s) + tx.Sigs = append(tx.Sigs, cipher.Sig{}) + _require.PanicsWithLogMessage(t, "tx.In != tx.Sigs", func() { + tx.VerifyInput(UxArray{ux}) + }) + + // tx.InnerHash != tx.HashInner() + ux, s = makeUxOutWithSecret(t) + tx = makeTransactionFromUxOut(ux, s) + tx.InnerHash = cipher.SHA256{} + _require.PanicsWithLogMessage(t, "Invalid Tx Inner Hash", func() { + tx.VerifyInput(UxArray{ux}) + }) + + // tx.In does not match uxIn hashes + ux, s = makeUxOutWithSecret(t) + tx = makeTransactionFromUxOut(ux, s) + _require.PanicsWithLogMessage(t, "Ux hash mismatch", func() { + tx.VerifyInput(UxArray{UxOut{}}) + }) + + // Invalid signature + ux, s = makeUxOutWithSecret(t) + tx = makeTransactionFromUxOut(ux, s) + tx.Sigs[0] = cipher.Sig{} + err := tx.VerifyInput(UxArray{ux}) + testutil.RequireError(t, err, "Signature not valid for output being spent") + + // Valid + ux, s = makeUxOutWithSecret(t) + tx = makeTransactionFromUxOut(ux, s) + err = tx.VerifyInput(UxArray{ux}) + require.NoError(t, err) +} + +func TestTransactionPushInput(t *testing.T) { + tx := &Transaction{} + ux := makeUxOut(t) + require.Equal(t, tx.PushInput(ux.Hash()), uint16(0)) + require.Equal(t, len(tx.In), 1) + require.Equal(t, tx.In[0], ux.Hash()) + tx.In = append(tx.In, make([]cipher.SHA256, math.MaxUint16)...) + ux = makeUxOut(t) + require.Panics(t, func() { tx.PushInput(ux.Hash()) }) +} + +func TestTransactionPushOutput(t *testing.T) { + tx := &Transaction{} + a := makeAddress() + tx.PushOutput(a, 100, 150) + require.Equal(t, len(tx.Out), 1) + require.Equal(t, tx.Out[0], TransactionOutput{ + Address: a, + Coins: 100, + Hours: 150, + }) + for i := 1; i < 20; i++ { + a := makeAddress() + tx.PushOutput(a, uint64(i*100), uint64(i*50)) + require.Equal(t, len(tx.Out), i+1) + require.Equal(t, tx.Out[i], TransactionOutput{ + Address: a, + Coins: uint64(i * 100), + Hours: uint64(i * 50), + }) + } +} + +func TestTransactionSignInputs(t *testing.T) { + tx := &Transaction{} + // Panics if txns already signed + tx.Sigs = append(tx.Sigs, cipher.Sig{}) + require.Panics(t, func() { tx.SignInputs([]cipher.SecKey{}) }) + // Panics if not enough keys + tx = &Transaction{} + ux, s := makeUxOutWithSecret(t) + tx.PushInput(ux.Hash()) + ux2, s2 := makeUxOutWithSecret(t) + tx.PushInput(ux2.Hash()) + tx.PushOutput(makeAddress(), 40, 80) + require.Equal(t, len(tx.Sigs), 0) + require.Panics(t, func() { tx.SignInputs([]cipher.SecKey{s}) }) + require.Equal(t, len(tx.Sigs), 0) + // Valid signing + h := tx.HashInner() + require.NotPanics(t, func() { tx.SignInputs([]cipher.SecKey{s, s2}) }) + require.Equal(t, len(tx.Sigs), 2) + require.Equal(t, tx.HashInner(), h) + p := cipher.PubKeyFromSecKey(s) + a := cipher.AddressFromPubKey(p) + p = cipher.PubKeyFromSecKey(s2) + a2 := cipher.AddressFromPubKey(p) + require.Nil(t, cipher.ChkSig(a, cipher.AddSHA256(h, tx.In[0]), tx.Sigs[0])) + require.Nil(t, cipher.ChkSig(a2, cipher.AddSHA256(h, tx.In[1]), tx.Sigs[1])) + require.NotNil(t, cipher.ChkSig(a, h, tx.Sigs[1])) + require.NotNil(t, cipher.ChkSig(a2, h, tx.Sigs[0])) +} + +func TestTransactionHash(t *testing.T) { + tx := makeTransaction(t) + require.NotEqual(t, tx.Hash(), cipher.SHA256{}) + require.NotEqual(t, tx.HashInner(), tx.Hash()) +} + +func TestTransactionUpdateHeader(t *testing.T) { + tx := makeTransaction(t) + h := tx.InnerHash + tx.InnerHash = cipher.SHA256{} + tx.UpdateHeader() + require.NotEqual(t, tx.InnerHash, cipher.SHA256{}) + require.Equal(t, tx.InnerHash, h) + require.Equal(t, tx.InnerHash, tx.HashInner()) +} + +func TestTransactionHashInner(t *testing.T) { + tx := makeTransaction(t) + + h := tx.HashInner() + require.NotEqual(t, h, cipher.SHA256{}) + + // If tx.In is changed, hash should change + tx2 := copyTransaction(tx) + ux := makeUxOut(t) + tx2.In[0] = ux.Hash() + require.NotEqual(t, tx, tx2) + require.Equal(t, tx2.In[0], ux.Hash()) + require.NotEqual(t, tx.HashInner(), tx2.HashInner()) + + // If tx.Out is changed, hash should change + tx2 = copyTransaction(tx) + a := makeAddress() + tx2.Out[0].Address = a + require.NotEqual(t, tx, tx2) + require.Equal(t, tx2.Out[0].Address, a) + require.NotEqual(t, tx.HashInner(), tx2.HashInner()) + + // If tx.Head is changed, hash should not change + tx2 = copyTransaction(tx) + tx.Sigs = append(tx.Sigs, cipher.Sig{}) + require.Equal(t, tx.HashInner(), tx2.HashInner()) +} + +func TestTransactionSerialization(t *testing.T) { + tx := makeTransaction(t) + b := tx.Serialize() + tx2, err := TransactionDeserialize(b) + require.NoError(t, err) + require.Equal(t, tx, tx2) + // Invalid deserialization + require.Panics(t, func() { MustTransactionDeserialize([]byte{0x04}) }) +} + +func TestTransactionOutputHours(t *testing.T) { + tx := Transaction{} + tx.PushOutput(makeAddress(), 1e6, 100) + tx.PushOutput(makeAddress(), 1e6, 200) + tx.PushOutput(makeAddress(), 1e6, 500) + tx.PushOutput(makeAddress(), 1e6, 0) + hours, err := tx.OutputHours() + require.NoError(t, err) + require.Equal(t, hours, uint64(800)) + + tx.PushOutput(makeAddress(), 1e6, math.MaxUint64-700) + _, err = tx.OutputHours() + testutil.RequireError(t, err, "Transaction output hours overflow") +} + +func TestTransactionsSize(t *testing.T) { + txns := makeTransactions(t, 10) + size := 0 + for _, tx := range txns { + size += len(encoder.Serialize(&tx)) + } + require.NotEqual(t, size, 0) + require.Equal(t, txns.Size(), size) +} + +func TestTransactionsHashes(t *testing.T) { + txns := make(Transactions, 4) + for i := 0; i < len(txns); i++ { + txns[i] = makeTransaction(t) + } + hashes := txns.Hashes() + require.Equal(t, len(hashes), 4) + for i, h := range hashes { + require.Equal(t, h, txns[i].Hash()) + } +} + +func TestTransactionsTruncateBytesTo(t *testing.T) { + txns := makeTransactions(t, 10) + trunc := 0 + for i := 0; i < len(txns)/2; i++ { + trunc += txns[i].Size() + } + // Truncating halfway + txns2 := txns.TruncateBytesTo(trunc) + require.Equal(t, len(txns2), len(txns)/2) + require.Equal(t, txns2.Size(), trunc) + + // Stepping into next boundary has same cutoff, must exceed + trunc++ + txns2 = txns.TruncateBytesTo(trunc) + require.Equal(t, len(txns2), len(txns)/2) + require.Equal(t, txns2.Size(), trunc-1) + + // Moving to 1 before next level + trunc += txns[5].Size() - 2 + txns2 = txns.TruncateBytesTo(trunc) + require.Equal(t, len(txns2), len(txns)/2) + require.Equal(t, txns2.Size(), trunc-txns[5].Size()+1) + + // Moving to next level + trunc++ + txns2 = txns.TruncateBytesTo(trunc) + require.Equal(t, len(txns2), len(txns)/2+1) + require.Equal(t, txns2.Size(), trunc) + + // Truncating to full available amt + trunc = txns.Size() + txns2 = txns.TruncateBytesTo(trunc) + require.Equal(t, txns, txns2) + require.Equal(t, txns2.Size(), trunc) + + // Truncating over amount + trunc++ + txns2 = txns.TruncateBytesTo(trunc) + require.Equal(t, txns, txns2) + require.Equal(t, txns2.Size(), trunc-1) + + // Truncating to 0 + trunc = 0 + txns2 = txns.TruncateBytesTo(0) + require.Equal(t, len(txns2), 0) + require.Equal(t, txns2.Size(), trunc) +} + +func TestVerifyTransactionCoinsSpending(t *testing.T) { + // Input coins overflow + // Insufficient coins + // Destroy coins + + type ux struct { + coins uint64 + hours uint64 + } + + cases := []struct { + name string + inUxs []ux + outUxs []ux + err error + }{ + { + name: "Input coins overflow", + inUxs: []ux{ + { + coins: math.MaxUint64 - 1e6 + 1, + hours: 10, + }, + { + coins: 1e6, + hours: 0, + }, + }, + err: errors.New("Transaction input coins overflow"), + }, + + { + name: "Output coins overflow", + inUxs: []ux{ + { + coins: 10e6, + hours: 10, + }, + }, + outUxs: []ux{ + { + coins: math.MaxUint64 - 10e6 + 1, + hours: 0, + }, + { + coins: 20e6, + hours: 1, + }, + }, + err: errors.New("Transaction output coins overflow"), + }, + + { + name: "Insufficient coins", + inUxs: []ux{ + { + coins: 10e6, + hours: 10, + }, + { + coins: 15e6, + hours: 10, + }, + }, + outUxs: []ux{ + { + coins: 20e6, + hours: 1, + }, + { + coins: 10e6, + hours: 1, + }, + }, + err: errors.New("Insufficient coins"), + }, + + { + name: "Destroyed coins", + inUxs: []ux{ + { + coins: 10e6, + hours: 10, + }, + { + coins: 15e6, + hours: 10, + }, + }, + outUxs: []ux{ + { + coins: 5e6, + hours: 1, + }, + { + coins: 10e6, + hours: 1, + }, + }, + err: errors.New("Transactions may not destroy coins"), + }, + + { + name: "valid", + inUxs: []ux{ + { + coins: 10e6, + hours: 10, + }, + { + coins: 15e6, + hours: 10, + }, + }, + outUxs: []ux{ + { + coins: 10e6, + hours: 11, + }, + { + coins: 10e6, + hours: 1, + }, + { + coins: 5e6, + hours: 0, + }, + }, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + var uxIn, uxOut UxArray + + for _, ch := range tc.inUxs { + uxIn = append(uxIn, UxOut{ + Body: UxBody{ + Coins: ch.coins, + Hours: ch.hours, + }, + }) + } + + for _, ch := range tc.outUxs { + uxOut = append(uxOut, UxOut{ + Body: UxBody{ + Coins: ch.coins, + Hours: ch.hours, + }, + }) + } + + err := VerifyTransactionCoinsSpending(uxIn, uxOut) + require.Equal(t, tc.err, err) + }) + } +} + +func TestVerifyTransactionHoursSpending(t *testing.T) { + // Input hours overflow + // Insufficient hours + // NOTE: does not check for hours overflow, that had to be moved to soft constraints + // NOTE: if uxIn.CoinHours() fails during the addition of earned hours to base hours, + // the error is ignored and treated as 0 hours + + type ux struct { + coins uint64 + hours uint64 + } + + cases := []struct { + name string + inUxs []ux + outUxs []ux + headTime uint64 + err string + }{ + { + name: "Input hours overflow", + inUxs: []ux{ + { + coins: 3e6, + hours: math.MaxUint64 - 1e6 + 1, + }, + { + coins: 1e6, + hours: 1e6, + }, + }, + err: "Transaction input hours overflow", + }, + + { + name: "Insufficient coin hours", + inUxs: []ux{ + { + coins: 10e6, + hours: 10, + }, + { + coins: 15e6, + hours: 10, + }, + }, + outUxs: []ux{ + { + coins: 15e6, + hours: 10, + }, + { + coins: 10e6, + hours: 11, + }, + }, + err: "Insufficient coin hours", + }, + + { + name: "coin hours time calculation overflow", + inUxs: []ux{ + { + coins: 10e6, + hours: 10, + }, + { + coins: 15e6, + hours: 10, + }, + }, + outUxs: []ux{ + { + coins: 10e6, + hours: 11, + }, + { + coins: 10e6, + hours: 1, + }, + { + coins: 5e6, + hours: 0, + }, + }, + headTime: math.MaxUint64, + err: "UxOut.CoinHours: Calculating whole coin seconds overflows uint64 seconds=18446744073709551615 coins=10 uxid=", + }, + + { + name: "Invalid (coin hours overflow when adding earned hours, which is treated as 0, and now enough coin hours)", + headTime: 1e6, + inUxs: []ux{ + { + coins: 10e6, + hours: math.MaxUint64, + }, + }, + outUxs: []ux{ + { + coins: 10e6, + hours: 1, + }, + }, + err: "Insufficient coin hours", + }, + + { + name: "Valid (coin hours overflow when adding earned hours, which is treated as 0, but not sending any hours)", + headTime: 1e6, + inUxs: []ux{ + { + coins: 10e6, + hours: math.MaxUint64, + }, + }, + outUxs: []ux{ + { + coins: 10e6, + hours: 0, + }, + }, + }, + + { + name: "Valid (base inputs have insufficient coin hours, but have sufficient after adjusting coinhours by headTime)", + inUxs: []ux{ + { + coins: 10e6, + hours: 10, + }, + { + coins: 15e6, + hours: 10, + }, + }, + outUxs: []ux{ + { + coins: 15e6, + hours: 10, + }, + { + coins: 10e6, + hours: 11, + }, + }, + headTime: 1492707255, + }, + + { + name: "valid", + inUxs: []ux{ + { + coins: 10e6, + hours: 10, + }, + { + coins: 15e6, + hours: 10, + }, + }, + outUxs: []ux{ + { + coins: 10e6, + hours: 11, + }, + { + coins: 10e6, + hours: 1, + }, + { + coins: 5e6, + hours: 0, + }, + }, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + var uxIn, uxOut UxArray + + for _, ch := range tc.inUxs { + uxIn = append(uxIn, UxOut{ + Body: UxBody{ + Coins: ch.coins, + Hours: ch.hours, + }, + }) + } + + for _, ch := range tc.outUxs { + uxOut = append(uxOut, UxOut{ + Body: UxBody{ + Coins: ch.coins, + Hours: ch.hours, + }, + }) + } + + err := VerifyTransactionHoursSpending(tc.headTime, uxIn, uxOut) + if tc.err == "" { + require.NoError(t, err) + } else { + require.Error(t, err) + require.True(t, strings.HasPrefix(err.Error(), tc.err)) + } + }) + } +} + +func TestTransactionsFees(t *testing.T) { + calc := func(tx *Transaction) (uint64, error) { + return 1, nil + } + + var txns Transactions + + // Nil txns + fee, err := txns.Fees(calc) + require.NoError(t, err) + require.Equal(t, uint64(0), fee) + + txns = append(txns, Transaction{}) + txns = append(txns, Transaction{}) + + // 2 transactions, calc() always returns 1 + fee, err = txns.Fees(calc) + require.NoError(t, err) + require.Equal(t, uint64(2), fee) + + // calc error + failingCalc := func(tx *Transaction) (uint64, error) { + return 0, errors.New("bad calc") + } + _, err = txns.Fees(failingCalc) + testutil.RequireError(t, err, "bad calc") + + // summing of calculated fees overflows + overflowCalc := func(tx *Transaction) (uint64, error) { + return math.MaxUint64, nil + } + + _, err = txns.Fees(overflowCalc) + testutil.RequireError(t, err, "Transactions fee totals overflow") +} + +func TestSortTransactions(t *testing.T) { + n := 6 + var txns Transactions + for i := 0; i < n; i++ { + txn := Transaction{} + txn.PushOutput(makeAddress(), 1e6, uint64(i*1e3)) + txn.UpdateHeader() + txns = append(txns, txn) + } + + var hashSortedTxns Transactions + for _, txn := range txns { + hashSortedTxns = append(hashSortedTxns, txn) + } + + sort.Slice(hashSortedTxns, func(i, j int) bool { + ihash := hashSortedTxns[i].Hash() + jhash := hashSortedTxns[j].Hash() + return bytes.Compare(ihash[:], jhash[:]) < 0 + }) + + cases := []struct { + name string + feeCalc FeeCalculator + txns Transactions + sortedTxns Transactions + }{ + { + name: "already sorted", + txns: Transactions{txns[0], txns[1]}, + sortedTxns: Transactions{txns[0], txns[1]}, + feeCalc: func(txn *Transaction) (uint64, error) { + return 1e8 - txn.Out[0].Hours, nil + }, + }, + + { + name: "reverse sorted", + txns: Transactions{txns[1], txns[0]}, + sortedTxns: Transactions{txns[0], txns[1]}, + feeCalc: func(txn *Transaction) (uint64, error) { + return 1e8 - txn.Out[0].Hours, nil + }, + }, + + { + name: "hash tiebreaker", + txns: Transactions{hashSortedTxns[1], hashSortedTxns[0]}, + sortedTxns: Transactions{hashSortedTxns[0], hashSortedTxns[1]}, + feeCalc: func(txn *Transaction) (uint64, error) { + return 1e8, nil + }, + }, + + { + name: "invalid fee multiplication is capped", + txns: Transactions{txns[1], txns[2], txns[0]}, + sortedTxns: Transactions{txns[2], txns[0], txns[1]}, + feeCalc: func(txn *Transaction) (uint64, error) { + if txn.Hash() == txns[2].Hash() { + return math.MaxUint64 / 2, nil + } + return 1e8 - txn.Out[0].Hours, nil + }, + }, + + { + name: "failed fee calc is filtered", + txns: Transactions{txns[1], txns[2], txns[0]}, + sortedTxns: Transactions{txns[0], txns[1]}, + feeCalc: func(txn *Transaction) (uint64, error) { + if txn.Hash() == txns[2].Hash() { + return 0, errors.New("fee calc failed") + } + return 1e8 - txn.Out[0].Hours, nil + }, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + txns := SortTransactions(tc.txns, tc.feeCalc) + require.Equal(t, tc.sortedTxns, txns) + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/consensus/blockstat.go b/vendor/github.com/skycoin/skycoin/src/consensus/blockstat.go new file mode 100755 index 0000000..19f71bf --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/consensus/blockstat.go @@ -0,0 +1,627 @@ +// nolint +// 20160901 - Initial version by user johnstuartmill, +// public key 02fb4acf944c84d48341e3c1cb14d707034a68b7f931d6be6d732bec03597d6ff6 +// 20161025 - Code revision by user johnstuartmill. +package consensus + +import ( + "bytes" + "container/heap" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/secp256k1-go" +) + +//////////////////////////////////////////////////////////////////////////////// +// +// +// +//////////////////////////////////////////////////////////////////////////////// +// How many (hash,signer_pubkey) pairs to acquire for decision-making. +// This also limits forwarded traffic, because the messages in excess +// of this limit are discarded hence not forwarded: +var Cfg_consensus_max_candidate_messages = 10 + +// +//////////////////////////////////////////////////////////////////////////////// +var all_zero_hash = cipher.SHA256{} +var all_zero_sig = cipher.Sig{} + +//////////////////////////////////////////////////////////////////////////////// +// +// BlockStat +// +//////////////////////////////////////////////////////////////////////////////// +type BlockStat struct { + priority int // Mandatory item for an element of container/heap + index int // Mandatory item for an element of container/heap + + // [JSM:] For a given block sequence number (or 'seqno'), we + // want + // + // map: hash -> set + // + // The 'pubkey' is recovered from '(sig,hash)' pair. Also, we + // want the number of unique 'pubkey', which is the number of + // independent block-makers. It shows how reliable the averaging + // would be. + // + // [JSM:] We need to put an upper limit to the + // ConcensusParticipant's bandwidth requirement in order to + // prevent a certain kind of attack on the network. As an + // implementation of that requirement, we stop collecting (hence, + // stop propagating) the blocks with the same sequence number + // after we have observed a sufficient number of builders. + // + // [JSM:] The hash that has largest number of unique pubkeys is + // selected as the block for the given seqno. + + // [JSM:] This approach is to guard against what can be called an + // "amplification attack": A node/pubkey with many subscribers + // publishes a block that says "Earth is flat". The above pubkey + // is (and has been) trusted by many, but at the moment the pubkey + // has been compelled, say, under a threat of burning on a steak, + // to publish a clearly-wrong block. You, as a listening pubkey, + // have N1 nodes as publisher; + // each of them is connected, or have a route, to the + // above pubkey that is being coersed. Meanwhile, there are N2 + // pubkeys that published "Earth is round" block. If you neglect + // to check the origin of the block [i.e. who signed it], and if + // it happens that N1 >> N2 (e.g. 1000 >> 100), then you would + // conclude, quite incorrectly, that the network agrees that + // "Earth is flat". If, however, you take into account the origin + // of the block, you would see that all N1 blocks are merely + // duplicates sent out with the intention to manipulate network + // consensus, while all N2 messages came from unique + // signers. Therefore you conclude that you have only one block + // "Earth is flat" and many blocks "Earth is round", e.g. 1 << + // 100. So you chose "Earth is round" block. The idea of this + // approach (or a guard, if you will) can be expressesd as + // follows: "Q: Can one billion peasants be all wrong + // simultaneously? A: Yes, if they learn what they should think + // from the same wall-glued newspaper." + // + // (Side node: this approach has several useful side-effects + // that we shall not discuss here.) + + hash2info map[cipher.SHA256]HashCandidate + + // FOR NOW this is just a label and is used to + // set/read. Invariant: all Blocks stored/referenced here have + // same seqno. + seqno uint64 + + // After the class instance was used to select Block for + // consensus, we do not update the stats. + frozen bool + + // This is to limit traffic due to forwarding. A side-effect is + // limited statistics. See'Cfg_consensus_max_candidate_messages'. + // Explanation: every node in the network is allowed to make (and + // publish) blocks, but we do not wish to receive all of these + // messages. + accept_count int + + // + // BEG debugging/diagnostics + // + debug_pubkey2count map[cipher.PubKey]int + debug_count int + + // The number of events that would have qualified to be utilized, + // but were rejected due to 'frozen == true' + debug_reject_count int + + // Ignored due to limitations on how much we want to accept and forward + debug_neglect_count int + + debug_usage int + // + // END debugging/diagnostics + // +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockStat) is_consistent() bool { + for _, info := range self.hash2info { + if !info.is_consistent() { + return false + } + } + // TODO 1: Need to extract pubkey from 'self.hash2info' and from + // 'self.debug_pubkey2count', and make sure they are the same. + + // TODO 2: make sure all debug counters are consistent. + return true +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockStat) Init() { + self.priority = 0 + self.index = -1 + + self.hash2info = make(map[cipher.SHA256]HashCandidate) + self.seqno = 0 + self.frozen = false + self.accept_count = 0 + // + self.debug_pubkey2count = make(map[cipher.PubKey]int) + self.debug_count = 0 + self.debug_reject_count = 0 + self.debug_neglect_count = 0 + self.debug_usage = 0 +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockStat) GetSeqno() uint64 { + return self.seqno +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockStat) Clear() { + + for i, info := range self.hash2info { + info.Clear() + delete(self.hash2info, i) + } + self.seqno = 0 + self.frozen = false + self.accept_count = 0 + // + for i, _ := range self.debug_pubkey2count { + delete(self.debug_pubkey2count, i) + } + self.debug_count = 0 + self.debug_reject_count = 0 + // NOTE: 'self.debug_usage' is kept as-is +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockStat) try_add_hash_and_sig( + hash cipher.SHA256, + sig cipher.Sig) int { + + if self.frozen { + // To get a more accurate number of rejects, one would need to + // do as below, except insertion/updating. However, we do not + // want to incurr a calculation in order to get a more + // accurate debug numbers. So we simply: + self.debug_reject_count += 1 + return 3 + } + + // 2016090* ROBUSTNESS: We need to put a limit on the number of + // (signer_pubkey,hash) pairs that we process and forward. One + // reason is to prevent an attack in which the attacker launches a + // large number of nodes each of which make valid blocks, thus + // causing large traffic that can potentially degrade the network + // performance. Example: when we receive, say 63 + // (signer_pubkey,hash) pairs for a given seqno, we stop listening + // for the updates. Say, the breakdown is: hash H1 from 50 + // signers, hash H2 from 10, hash H3 from 2 and hash H4 from 1. + // We make a local decision to choose H1. + if self.accept_count >= Cfg_consensus_max_candidate_messages { + self.debug_neglect_count += 1 + return 1 // same as skip + } + + // 20160913 Remember that we move those BlockStat that are old + // enought (seqno difference is used as a measure of time + // difference) to BlockChain, so that the storage requerement for + // each node is now smaller. Yet we keep the limits to avoid + // excessive forwarding. + + // At the end of the function, one of them must be 'true'. + action_update := false + action_skip := false + action_insert := false + + var info HashCandidate + + if true { + var have bool + + info, have = self.hash2info[hash] + + if !have { + info = HashCandidate{} + info.Init() + action_insert = true + } else { + if _, saw := info.sig2none[sig]; saw { + action_skip = true + } else { + action_update = true + } + } + } + + if action_insert || action_update { + + if sig == all_zero_sig || hash == all_zero_hash { // Hack + return 4 // <<<<<<<< + } + + // PERFORMANCE: This is an expensive call: + signer_pubkey, err := cipher.PubKeyFromSig(sig, hash) + if err != nil { + return 4 // <<<<<<<< + } + + // Now do the check that we could not do prior to + // obtaining 'signer_pubkey': + if _, have := info.pubkey2sig[signer_pubkey]; have { + // WARNING: ROBUSTNESS: The pubkey 'signer_pubkey' has + // already published data with the same hash and same + // seqno. This is not a duplicate data: the duplicates + // have been intercepted earlier bsaged in (hash,sig) + // pair; instead, the pubkey signed the block again and + // published the result. So this can be a bug/mistake or + // an attempt to artificially increase the traffic on our + // network. + self.debug_reject_count += 1 + + action_update = false + action_skip = true + action_insert = false + + fmt.Printf("WARNING: %p, Detected malicious publish from"+ + " pubkey=%s for hash=%s sig=%s\n", &info, + signer_pubkey.Hex()[:8], hash.Hex()[:8], sig.Hex()[:8]) + } + + // These bools could have change, see above: + if action_insert || action_update { + if false { + fmt.Printf("Calling %p->ObserveSigAndPubkey(sig=%s,"+ + " signer_pubkey=%s), hash=%s\n", &info, + sig.Hex()[:8], signer_pubkey.Hex()[:8], hash.Hex()[:8]) + } + info.ObserveSigAndPubkey(sig, signer_pubkey) + self.accept_count += 1 + } + } + + if action_insert { + self.hash2info[hash] = info + } + + self.debug_count += 1 + self.debug_usage += 1 + + //if !(action_update || action_skip || action_insert) { + // panic("Inconsistent BlockStat::try_add_hash_and_sig()") + // return -1 + //} + + if action_update || action_insert { + return 0 + } + + if action_skip { + return 1 + } + + return -1 +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockStat) GetBestHashPubkeySig() ( + cipher.SHA256, + cipher.PubKey, + cipher.Sig) { + + var best_n int = -1 + + var best_h cipher.SHA256 + + for hash, info := range self.hash2info { + n := len(info.pubkey2sig) + + if best_n < n { + best_n = n + best_h = hash + } else if best_n == n { + // Resolve ties by comparing hashes: + if bytes.Compare(best_h[:], hash[:]) < 0 { + // Updating 'best_n' is unnecessary, but keep it here + // to help avoiding cut-and-paste errors: + best_n = n + best_h = hash + } + } + } + + if best_n <= 0 { + return cipher.SHA256{}, cipher.PubKey{}, cipher.Sig{} // <<<<<<<< + } + + var best_p cipher.PubKey + var best_s cipher.Sig + + // Resolve ties (if any) by comparing signatures. Do not use + // pubkey for this purpose as we do not want, for example, to have + // same pubkey sign most of blocks. + + // NOTE 1: We want a deterministic algo here, so that each + // ConsensusParticipant across the network would choose same + // (hash,sig) to go to blockchain. + + // NOTE 2: A simplified version of consensus can be imagined, in + // which ConsensusParticipant rejects a hash if it saw it already; + // this results in local blockchains with same transactions [when + // consensus id reached] but *different* signers. Which is not + // good from general entropy considerations. + initialized := false + + for pubkey, sig := range self.hash2info[best_h].pubkey2sig { + if initialized { + if bytes.Compare(best_s[:], sig[:]) < 0 { + best_p = pubkey + best_s = sig + } + } else { + best_p = pubkey + best_s = sig + + initialized = true + } + } + + return best_h, best_p, best_s +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockStat) Print() { + + hash, _, _ := self.GetBestHashPubkeySig() + fmt.Printf("BlockStat={count(hash)=%d,count(pubkey)=%d,count(event)=%d"+ + ",accept_count=%d,seqno=%d,debug_usage=%d,frozen=%t,"+ + "debug_reject_count=%d,debug_neglect_count=%d,best_hash=%s}", + len(self.hash2info), + len(self.debug_pubkey2count), + self.debug_count, + self.accept_count, + self.seqno, + self.debug_usage, + self.frozen, + self.debug_reject_count, + self.debug_neglect_count, + hash.Hex()[:8]) +} + +//////////////////////////////////////////////////////////////////////////////// +type PriorityQueue []*BlockStat // Contained in BlockStatQueue + +// NOTE: a shallow copy (of the slice) is made here +func (pq PriorityQueue) Len() int { + return len(pq) +} + +// NOTE: a shallow copy (of the slice) is made here +func (pq PriorityQueue) Less(i int, j int) bool { + return pq[i].priority < pq[j].priority +} + +// NOTE: a shallow copy (of the slice) is made here +func (pq PriorityQueue) Swap(i int, j int) { + pq[i], pq[j] = pq[j], pq[i] + pq[i].index = i + pq[j].index = j +} +func (pq *PriorityQueue) Push(x interface{}) { + n := len(*pq) + item := x.(*BlockStat) + item.index = n + *pq = append(*pq, item) +} +func (pq *PriorityQueue) Pop() interface{} { + old := *pq + n := len(old) + item := old[n-1] + item.index = -1 // for safety + *pq = old[0 : n-1] + return item +} + +// update modifies the priority and value of an Item in the queue. +func (pq *PriorityQueue) update_priority(item *BlockStat, priority int) { + item.priority = priority + heap.Fix(pq, item.index) +} + +//////////////////////////////////////////////////////////////////////////////// +// +// BlockStatQueue +// +//////////////////////////////////////////////////////////////////////////////// +type BlockStatQueue struct { + // BlockStatQueue is a wrapper around a priority queue; the latter + // is prioretized by Block seqno. The wrapper provides setters and + // getters. The setters trim queue size as appropriate. + queue PriorityQueue +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockStatQueue) is_consistent() bool { + // TODO: implement. + return true +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockStatQueue) Len() int { + return len(self.queue) +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockStatQueue) Print() { + n := len(self.queue) + fmt.Printf("BlockStatQueue={n=%d", n) + + for i := 0; i < n; i++ { + fmt.Print(",") + self.queue[i].Print() + } + + fmt.Printf("}") +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockStatQueue) try_append_to_BlockStatQueue( + blockPtr *BlockBase) int { + + // Use a superficial, quick test here. A thorough check will be + // done later in this function. + if secp256k1.VerifySignatureValidity(blockPtr.Sig[:]) != 1 { + return 4 // Error + } + + if blockPtr.Sig == all_zero_sig || blockPtr.Hash == all_zero_hash { // Hack + return 4 // <<<<<<<< + } + + // At the end of the function, one of them must be 'true'. + action_update := false + action_skip := false + action_insert := false + + var update_index int = -1 + + n := len(self.queue) + if n > 0 { + f := self.queue[0] + l := self.queue[n-1] + // ROBUSTNESS Set a max to what 'f - l' can be. For example, + // if the limit is 100 and the queue has only one block with + // seqno 7, then do not accept blocks with seqno >= + // 107. This is to prevent Memory Overflow attack. + + if blockPtr.Seqno < f.seqno { + // TODO: Accept, unless 'f.seqno - 1' is already in the + // (consented) blockchain; otherwise reject/ignore. FOR + // NOW, accept unless queue length would be too large. + + // + // + // TODO: evaluae -------------------- URGENT !!!!! + // + // + already_in_blockchain := false + // + // + // + // + if already_in_blockchain { + fmt.Print("DEBUG Already in blockchain. Ignoring block.\n") + action_skip = true + } else if l.seqno-blockPtr.Seqno > + Cfg_consensus_candidate_max_seqno_gap { + fmt.Printf("DEBUG proposed=%d, first=%d, last=%d. Too far"+ + " behind. Ignoring block.\n", + blockPtr.Seqno, f.seqno, l.seqno) + action_skip = true + } else { + action_insert = true + } + + } else if blockPtr.Seqno > l.seqno { + // TODO: Accept, unless 'blockPtr.seqno > l.seqno' is + // large, e.g. the perceived block is way ahead of the + // last block in the queue. FOR NOW, accept unless queue + // length would be too large. + if blockPtr.Seqno-f.seqno > + Cfg_consensus_candidate_max_seqno_gap { + fmt.Printf("DEBUG proposed=%d, first=%d, last=%d. Too far"+ + " ahead. Ignoring block.\n", + blockPtr.Seqno, f.seqno, l.seqno) + action_skip = true + } else { + action_insert = true + } + } else { + // The 'blockPtr.seqno' is in between, so we need to insert + // a new or find the element with same seqno and update it. + + // PERFORMANCE TODO: Avoid linear search by using a + // lookup, or using other properties of Heap object. If + // n/a, use Binary Search. + S := blockPtr.Seqno + found := false + for i := range self.queue { + s := self.queue[i].seqno + if s < S { + // keep searching + } else if s == S { + found = true + action_update = true + update_index = i + break + } else if s > S { + break + } + } + if !found { + action_insert = true + } + } + } else { + // The queue is empty, so insert the block. + action_insert = true + } + n = -1 // guard + + //if !(action_update || action_skip || action_insert) { + // panic("Inconsistent") + // return -1 + //} + + var status_code int = 1 + + if !action_skip { + + // TAG Consensus: if we receive 100 copies of a Block (or + // Block's hash) that originated from the same block maker, + // then the statistical significance of them is not higher + // than that of only 1 copy. The significance is roughly + // proportional to sqrt of the number of different [ideally, + // independent-thinking] signers for a Block with the same + // hash and same seqno. + + should_forward_to_subscribers := false + + if action_update { + + res := self.queue[update_index]. + try_add_hash_and_sig(blockPtr.Hash, blockPtr.Sig) + if res == 0 { + should_forward_to_subscribers = true + } + + } else if action_insert { + + bs := BlockStat{} + bs.Init() + bs.seqno = blockPtr.Seqno + res := bs.try_add_hash_and_sig(blockPtr.Hash, blockPtr.Sig) + + if res == 0 { + // Keep these two together: + heap.Push(&self.queue, &bs) + self.queue.update_priority(&bs, int(blockPtr.Seqno)) + // TODO: Above, try to remove the cast. + + should_forward_to_subscribers = true + } + } + + if should_forward_to_subscribers { + status_code = 0 + } + + } + + return status_code +} + +//////////////////////////////////////////////////////////////////////////////// diff --git a/vendor/github.com/skycoin/skycoin/src/consensus/connection_manager.go b/vendor/github.com/skycoin/skycoin/src/consensus/connection_manager.go new file mode 100755 index 0000000..d69a506 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/consensus/connection_manager.go @@ -0,0 +1,25 @@ +// nolint +// 20160901 - Initial version by user johnstuartmill, +// public key 02fb4acf944c84d48341e3c1cb14d707034a68b7f931d6be6d732bec03597d6ff6 +// 20161025 - Code revision by user johnstuartmill. +package consensus + +//"github.com/skycoin/skycoin/src/cipher" + +//////////////////////////////////////////////////////////////////////////////// +type ConnectionManagerInterface interface { + SendBlockToAllMySubscriber(blockPtr *BlockBase) + + Print() // For debugging + + // IMPORTANT: When connection manager (i.e. an implementation of + // this interface) receives a message with 'BlockBase', the + // manager should call + // + // ConsensusParticipant.OnBlockHeaderArrived(blockPtr *BlockBase) + // + // function. This is not currently enforced, but is required for the + // consensus to work properly. +} + +//////////////////////////////////////////////////////////////////////////////// diff --git a/vendor/github.com/skycoin/skycoin/src/consensus/consensus.go b/vendor/github.com/skycoin/skycoin/src/consensus/consensus.go new file mode 100755 index 0000000..d4b4e01 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/consensus/consensus.go @@ -0,0 +1,257 @@ +// nolint +// 20160901 - Initial version by user johnstuartmill, +// public key 02fb4acf944c84d48341e3c1cb14d707034a68b7f931d6be6d732bec03597d6ff6 +// 20161025 - Code revision by user johnstuartmill. +package consensus + +import ( + "fmt" + + "github.com/skycoin/skycoin/src/cipher" +) + +//////////////////////////////////////////////////////////////////////////////// +// +// +// +//////////////////////////////////////////////////////////////////////////////// +var Cfg_debug_block_duplicate bool = false +var Cfg_debug_block_out_of_sequence bool = true +var Cfg_debug_block_accepted bool = false +var Cfg_debug_HashCandidate bool = false + +// How many blocks we hold in memory. Older blocks are expected (not +// implemented yest as of 20160920) to be written to disk. +var Cfg_blockchain_tail_length int = 100 + +// To limit memory use and prevent some mild attacks: +var Cfg_consensus_candidate_max_seqno_gap uint64 = 10 + +// When to decide on selecting the best hash from BlockStat +// so that it can be moved to BlockChain: +var Cfg_consensus_waiting_time_as_seqno_diff uint64 = 7 + +// How many (hash,signer_pubkey) pairs to acquire for decision-making. +// This also limits forwarded traffic, because the messages in excess +// of this limit are discarded hence not forwarded: +//var Cfg_consensus_max_candidate_messages = 10 + +// +//////////////////////////////////////////////////////////////////////////////// +//var all_zero_hash = cipher.SHA256{} +//var all_zero_sig = cipher.Sig{} + +//////////////////////////////////////////////////////////////////////////////// +// +// BlockBase +// +//////////////////////////////////////////////////////////////////////////////// +type BlockBase struct { + Sig cipher.Sig + Hash cipher.SHA256 + Seqno uint64 +} + +//func (self *BlockBase) GetSig() cipher.Sig { return self.Sig } +//func (self *BlockBase) GetHash() cipher.SHA256 { return self.Hash } +//func (self *BlockBase) GetSeqno() uint64 { return self.Seqno } + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockBase) Init( + sig cipher.Sig, + hash cipher.SHA256, + seqno uint64) { + + self.Sig = sig + self.Hash = hash + self.Seqno = seqno +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockBase) Print() { + fmt.Printf("BlockBase={Sig=%s,Hash=%s,Seqno=%d}", + self.Sig.Hex()[:8], self.Hash.Hex()[:8], self.Seqno) +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockBase) String() string { + return fmt.Sprintf("BlockBase={Sig=%s,Hash=%s,Seqno=%d}", + self.Sig.Hex()[:8], self.Hash.Hex()[:8], self.Seqno) +} + +//////////////////////////////////////////////////////////////////////////////// +// +// BlockchainTail is the most recent part of blockchain that is held in memory +// +//////////////////////////////////////////////////////////////////////////////// +type BlockchainTail struct { + // The tail of Blockchain that we keep. + // PERFORMANCE: TODO: Use a fixed-length double-ended queue + + blockPtr_slice []*BlockBase + // This is for a lookup of content + hash_to_blockPtr_map map[cipher.SHA256]*BlockBase +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockchainTail) Init() { + self.hash_to_blockPtr_map = make(map[cipher.SHA256]*BlockBase) +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockchainTail) is_consistent() bool { + // TODO Validate + // blockPtr_slice + // and + // hash_to_blockPtr_map + // against each other + return true +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockchainTail) append_nocheck(blockPtr *BlockBase) { + n := len(self.blockPtr_slice) + if n+1 > Cfg_blockchain_tail_length { + // Trim the size: + b0p := self.blockPtr_slice[0] + delete(self.hash_to_blockPtr_map, b0p.Hash) // pop 1 of 2 + b0p = nil + self.blockPtr_slice[0] = nil + self.blockPtr_slice = self.blockPtr_slice[1:] // pop 2 of 2 + } + // Append + self.hash_to_blockPtr_map[blockPtr.Hash] = blockPtr // push 1 of 2 + self.blockPtr_slice = append(self.blockPtr_slice, blockPtr) // push 2 of 2 +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockchainTail) try_append_to_BlockchainTail(blockPtr *BlockBase) int { + n := len(self.blockPtr_slice) + if n > 0 { + // Step 1 of 2: check for presence: + _, have := self.hash_to_blockPtr_map[blockPtr.Hash] + if have { + if Cfg_debug_block_duplicate { + // Duplicate hash detected. Silently ignore it. We + // expect to have this condition often enough. + fmt.Printf("Block is duplicate so ignored.\n") + } + return 1 // Duplicate hash + } + // Step 2 of 2: check for sequence numbers: + curr := self.blockPtr_slice[n-1].Seqno // Most recent + next := curr + 1 + prop := blockPtr.Seqno + if prop < next { // uint cmp + if Cfg_debug_block_out_of_sequence { + fmt.Printf("Block's seqno is too low (%d vs %d), block"+ + " ignored.\n", prop, curr) + } + return 2 // SeqNo too low + } else if prop > next { // uint cmp + if Cfg_debug_block_out_of_sequence { + fmt.Printf("Block's seqno is too high (%d vs %d), block"+ + " ignored.\n", prop, curr) + } + return 3 // SeqNo too high + } + } + self.append_nocheck(blockPtr) + if Cfg_debug_block_accepted { + fmt.Printf("Block is accepted, len(blockchain)=%d.\n", + len(self.blockPtr_slice)) + } + return 0 // Inserted +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockchainTail) GetNextSeqNo() uint64 { + n := len(self.blockPtr_slice) + if n > 0 { + return 1 + self.blockPtr_slice[n-1].Seqno + } + return 1 +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *BlockchainTail) Print() { + n := len(self.blockPtr_slice) + fmt.Printf("BlockchainTail={n=%d", n) + + for i := 0; i < n; i++ { + fmt.Print(",") + self.blockPtr_slice[i].Print() + } + fmt.Printf("}") +} + +//////////////////////////////////////////////////////////////////////////////// +// +// HashCandidate +// +//////////////////////////////////////////////////////////////////////////////// +type HashCandidate struct { + pubkey2sig map[cipher.PubKey]cipher.Sig // Primary data + sig2none map[cipher.Sig]byte // Lookup without (expensive) pubkey recovery +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *HashCandidate) Init() { + self.pubkey2sig = make(map[cipher.PubKey]cipher.Sig) + self.sig2none = make(map[cipher.Sig]byte) +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *HashCandidate) ObserveSigAndPubkey( + sig cipher.Sig, + pubkey cipher.PubKey) { + + if Cfg_debug_HashCandidate { + for k, v := range self.pubkey2sig { + fmt.Printf("HashCandidate %p pubkey2sig: pubkey=%s sig=%s\n", + self, k.Hex()[:8], v.Hex()[:8]) + } + for k, _ := range self.sig2none { + fmt.Printf("HashCandidate %p sig2none: sig=%s\n", self, k.Hex()[:8]) + } + } + + self.pubkey2sig[pubkey] = sig + self.sig2none[sig] = byte('1') + + n1 := len(self.pubkey2sig) + n2 := len(self.sig2none) + if n1 != n2 { + fmt.Printf("Inconsistent HashCandidate: n1=%d n2=%d\n", n1, n2) + panic("Oops") + } + +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *HashCandidate) Clear() { + for i, _ := range self.pubkey2sig { + delete(self.pubkey2sig, i) + } + for i, _ := range self.sig2none { + delete(self.sig2none, i) + } +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *HashCandidate) is_consistent() bool { + // TODO: implement + // NOTE: sig <- (hash,pubkey) is not deterministic, + // so + // len(self.pubkey2sig) + // len(self.sig2none) + // are not necessarily the same, even if same 'hash' was signed. + // The code of class BlockStat prevents calling + // ObserveSigAndPubkey() using same 'pubkey' and different 'sig', so + // the two lengths should be the same. TODO: move this detection + // to this class. + + return true +} + +//////////////////////////////////////////////////////////////////////////////// diff --git a/vendor/github.com/skycoin/skycoin/src/consensus/consensus_test.go b/vendor/github.com/skycoin/skycoin/src/consensus/consensus_test.go new file mode 100755 index 0000000..a6a5bf7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/consensus/consensus_test.go @@ -0,0 +1,208 @@ +// nolint +// 20160901 - Initial version by user johnstuartmill, +// public key 02fb4acf944c84d48341e3c1cb14d707034a68b7f931d6be6d732bec03597d6ff6 +// 20161025 - Code revision by user johnstuartmill. +package consensus + +import ( + "testing" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/secp256k1-go" +) + +//////////////////////////////////////////////////////////////////////////////// +func TestBlockchainTail_01(t *testing.T) { + bq := BlockchainTail{} + bq.Init() + if !bq.is_consistent() { + t.Log("BlockchainTail::is_consistent()") + t.Fail() + } +} + +//////////////////////////////////////////////////////////////////////////////// +func TestBlockchainTail_02(t *testing.T) { + + bq := BlockchainTail{} + bq.Init() + + // Use more than configured length to ensure some elements are + // removed: + n := Cfg_blockchain_tail_length * 2 + + for i := 0; i < n; i++ { + x := secp256k1.RandByte(888) // Random data. + h := cipher.SumSHA256(x) // Its hash. + + b := BlockBase{Hash: h, Seqno: uint64(i)} // OK to leave '.sig' empty + + bq.append_nocheck(&b) + } + + if len(bq.blockPtr_slice) != Cfg_blockchain_tail_length { + t.Log("BlockchainTail::append_nocheck() incorrect append or remove.") + t.Fail() + } + + if !bq.is_consistent() { + t.Log("BlockchainTail::is_consistent()") + t.Fail() + } +} + +//////////////////////////////////////////////////////////////////////////////// +func TestBlockchainTail_03(t *testing.T) { + + bq := BlockchainTail{} + bq.Init() + + h1 := cipher.SumSHA256(secp256k1.RandByte(888)) + b1 := BlockBase{Hash: h1, Seqno: 1} // OK to leave '.sig' empty + + r1 := bq.try_append_to_BlockchainTail(&b1) + if r1 != 0 { + t.Log("BlockchainTail::try_append_to_BlockchainTail(): initial insert failed.") + t.Fail() + } + if bq.GetNextSeqNo() != b1.Seqno+1 { + t.Log("BlockchainTail::GetNextSeqNo() failed.") + t.Fail() + } + + r1dup := bq.try_append_to_BlockchainTail(&b1) + if r1dup != 1 { + t.Log("BlockchainTail::try_append_to_BlockchainTail(): duplicate hash not detected.") + t.Fail() + } + + h2 := cipher.SumSHA256(secp256k1.RandByte(888)) + b2 := BlockBase{Hash: h2, Seqno: 2} // OK to leave '.sig' empty + + r2 := bq.try_append_to_BlockchainTail(&b2) + if r2 != 0 { + t.Log("BlockchainTail::try_append_to_BlockchainTail(): next insert failed.") + t.Fail() + } + if bq.GetNextSeqNo() != b2.Seqno+1 { + t.Log("BlockchainTail::GetNextSeqNo() failed.") + t.Fail() + } + + h3 := cipher.SumSHA256(secp256k1.RandByte(888)) + b3 := BlockBase{Hash: h3, Seqno: 0} // OK to leave '.sig' empty + + r3 := bq.try_append_to_BlockchainTail(&b3) + if r3 != 2 { + t.Log("BlockchainTail::try_append_to_BlockchainTail(): low seqno not detected. ret=", r3) + t.Fail() + } + + b3.Seqno = 4 + r4 := bq.try_append_to_BlockchainTail(&b3) + if r4 != 3 { + t.Log("BlockchainTail::try_append_to_BlockchainTail(): high seqno not detected.") + t.Fail() + } + +} + +//////////////////////////////////////////////////////////////////////////////// +func TestBlockStat_01(t *testing.T) { + bs := BlockStat{} + bs.Init() + + _, seckey := cipher.GenerateKeyPair() + hash := cipher.SumSHA256(secp256k1.RandByte(888)) + sig := cipher.SignHash(hash, seckey) + + var r int = -1 + + r = bs.try_add_hash_and_sig(hash, cipher.Sig{}) + if r != 4 { + t.Log("BlockStat::try_add_hash_and_sig() failed to detect invalid signature.") + t.Fail() + } + r = bs.try_add_hash_and_sig(cipher.SHA256{}, sig) + if r != 4 { + t.Log("BlockStat::try_add_hash_and_sig() failed to detect invalid hash and signature.") + t.Fail() + } + r = bs.try_add_hash_and_sig(cipher.SHA256{}, cipher.Sig{}) + if r != 4 { + t.Log("BlockStat::try_add_hash_and_sig() failed to detect invalid hash and signature.") + t.Fail() + } + + //signer_pubkey, err := cipher.PubKeyFromSig(cipher.Sig{}, cipher.SHA256{}) + //if err != nil { + //fmt.Printf("Got pubkey='%s' from all-zero sig and all-zero hash.\n", signer_pubkey.Hex()) + //} + + bs.frozen = true + r2 := bs.try_add_hash_and_sig(hash, sig) + if r2 != 3 { + t.Log("BlockStat::try_add_hash_and_sig() failed to detect frozen.") + t.Fail() + } + bs.frozen = false + + r3 := bs.try_add_hash_and_sig(hash, sig) + if r3 != 0 { + t.Log("BlockStat::try_add_hash_and_sig() failed to add.") + t.Fail() + } + + sig2 := cipher.SignHash(hash, seckey) // Redo signing. + r4 := bs.try_add_hash_and_sig(hash, sig2) + if r4 != 1 { + t.Log("BlockStat::try_add_hash_and_sig() failed to detect duplicate (hash,pubkey).") + t.Fail() + } + + r5 := bs.try_add_hash_and_sig(hash, sig) + if r5 != 1 { + t.Log("BlockStat::try_add_hash_and_sig() failed to detect duplicate (hash,sig).") + t.Fail() + } + +} + +//////////////////////////////////////////////////////////////////////////////// +func TestBlockStat_02(t *testing.T) { + bs := BlockStat{} + bs.Init() + + hash1 := cipher.SumSHA256(secp256k1.RandByte(888)) + n1 := 3 + + for i := 0; i < n1; i++ { + _, seckey := cipher.GenerateKeyPair() + sig := cipher.SignHash(hash1, seckey) + bs.try_add_hash_and_sig(hash1, sig) + } + + hash2 := cipher.SumSHA256(secp256k1.RandByte(888)) + n2 := 2 + + for i := 0; i < n2; i++ { + _, seckey := cipher.GenerateKeyPair() + sig := cipher.SignHash(hash2, seckey) + bs.try_add_hash_and_sig(hash2, sig) + } + + hash3 := cipher.SumSHA256(secp256k1.RandByte(888)) + n3 := 1 + + for i := 0; i < n3; i++ { + _, seckey := cipher.GenerateKeyPair() + sig := cipher.SignHash(hash3, seckey) + bs.try_add_hash_and_sig(hash3, sig) + } + + best_hash, _, _ := bs.GetBestHashPubkeySig() + if best_hash != hash1 { + t.Log("BlockStat::try_add_hash_and_sig() or BlockStat::GetBestHashPubkeySig() issue.") + t.Fail() + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/consensus/example/README.md b/vendor/github.com/skycoin/skycoin/src/consensus/example/README.md new file mode 100755 index 0000000..8b13789 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/consensus/example/README.md @@ -0,0 +1 @@ + diff --git a/vendor/github.com/skycoin/skycoin/src/consensus/example/example.go b/vendor/github.com/skycoin/skycoin/src/consensus/example/example.go new file mode 100755 index 0000000..c3bdd78 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/consensus/example/example.go @@ -0,0 +1,767 @@ +// +build ignore + +// 20160901 - Initial version by user johnstuartmill, +// public key 02fb4acf944c84d48341e3c1cb14d707034a68b7f931d6be6d732bec03597d6ff6 +// 20161025 - Code revision by user johnstuartmill. +package main + +// +// WARNING: WARNING: WARNING: Do NOT use this code for obtaining any +// research results. This file is only an illustration. A realistic +// simulation would require to have (i) nonzero latencies for event +// propagation and (ii) an event queue inside the implementation of +// MeshNetworkInterface. +// + +import ( + "flag" + "fmt" + mathrand "math/rand" + "os" + "sort" + // + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/consensus" +) + +var Cfg_print_config bool = true +var Cfg_debug_connect_request bool = false +var Cfg_debug_node_final_state bool = false +var Cfg_debug_node_summary bool = false +var Cfg_debug_show_block_maker bool = false + +var Cfg_simu_topology_is_random bool = true + +var Cfg_simu_num_node int = 100 +var Cfg_simu_num_blockmaker int = 10 +var Cfg_simu_prob_malicious float64 = 0.0 +var Cfg_simu_prob_duplicate float64 = 0.0 + +var Cfg_simu_num_block_round int = 10 +var Cfg_simu_fanout_per_node int = 3 + +// Will be reset later, based on values of other parameters: +var Cfg_simu_num_iter int = 0 + +//////////////////////////////////////////////////////////////////////////////// +type MinimalConnectionManager struct { + theNodePtr *consensus.ConsensusParticipant + // + publisher_key_list []*MinimalConnectionManager + subscriber_key_list []*MinimalConnectionManager +} + +func (self *MinimalConnectionManager) GetNode() *consensus.ConsensusParticipant { + return self.theNodePtr +} +func (self *MinimalConnectionManager) RegisterPublisher(key *MinimalConnectionManager) bool { + + self.publisher_key_list = append(self.publisher_key_list, key) + return true +} +func (self *MinimalConnectionManager) SendBlockToAllMySubscriber(blockPtr *consensus.BlockBase) { + for _, p := range self.subscriber_key_list { + p.GetNode().OnBlockHeaderArrived(blockPtr) + } +} +func (self *MinimalConnectionManager) RequestConnectionToAllMyPublisher() { + for _, p := range self.publisher_key_list { + p.OnSubscriberConnectionRequest(self) + } +} +func (self *MinimalConnectionManager) OnSubscriberConnectionRequest(other *MinimalConnectionManager) { + self.subscriber_key_list = append(self.subscriber_key_list, other) +} +func (self *MinimalConnectionManager) Print() { + detail := false + + fmt.Printf("ConnectionManager={publisher={n=%d", + len(self.publisher_key_list)) + + if detail { + for _, val := range self.publisher_key_list { + fmt.Printf(",%v", val) + } + } else { + fmt.Printf(",...") + } + fmt.Printf("}") + + fmt.Printf(",subscriber={n=%d", len(self.subscriber_key_list)) + if detail { + for _, val := range self.subscriber_key_list { + fmt.Printf(",%v", val) + } + } else { + fmt.Printf(",...") + } + fmt.Printf("}") +} + +//////////////////////////////////////////////////////////////////////////////// +// +// +// +//////////////////////////////////////////////////////////////////////////////// +func pretty_print_flags(prefix string, detail bool) { + if detail { + + max1 := 0 + max2 := 0 + + flag.VisitAll(func(f *flag.Flag) { + len1 := len(f.Name) + len2 := len(fmt.Sprintf("%v", f.Value)) + if max1 < len1 { + max1 = len1 + } + if max2 < len2 { + max2 = len2 + } + }) + + format := fmt.Sprintf(" --%%-%ds %%%dv %%s\n", max1, max2) + format = "%s" + format + + flag.VisitAll(func(f *flag.Flag) { + fmt.Printf(format, prefix, f.Name, f.Value, f.Usage) + }) + + } else { + + flag.VisitAll(func(f *flag.Flag) { + fmt.Printf("%s--%s=%v\n", prefix, f.Name, f.Value) + }) + + } +} + +//////////////////////////////////////////////////////////////////////////////// +func cmd_line_args_process() { + + var ip *int = nil + var qp *uint64 = nil + var dp *float64 = nil + var bp *bool = nil + + // + // Simulation parameters + // + ip = &Cfg_simu_num_node + flag.IntVar(ip, "simu-num-nodes", *ip, "Number of nodes in the network.") + + ip = &Cfg_simu_num_blockmaker + flag.IntVar(ip, "simu-num-blockmaker", *ip, + "Number of nodes in the network that make blocks.") + + dp = &Cfg_simu_prob_malicious + flag.Float64Var(dp, "simu-prob-malicious", *dp, + "Probability that a node temporarily joins a malicious group that"+ + " publishes same block in order to cause a fork of the blockchain.") + + dp = &Cfg_simu_prob_duplicate + flag.Float64Var(dp, "simu-prob-duplicate", *dp, + "Probability that a node sends a duplicate message with same hash but"+ + " different signature. (Duplicate (hash,sig) pairs are easily"+ + " detected and discarded.)") + + ip = &Cfg_simu_num_block_round + flag.IntVar(ip, "simu-num-rounds", *ip, + "Number of block rounds. When all them are published and the"+ + " resulting messages propagate, the simulation ends.") + + ip = &Cfg_simu_fanout_per_node + flag.IntVar(ip, "simu-fanout-per-node", *ip, + "Number of incoming (and outgoing) connections to (and from) each"+ + " node.") + + bp = &Cfg_debug_connect_request + flag.BoolVar(bp, "debug-connect-request", *bp, "") + + bp = &Cfg_print_config + flag.BoolVar(bp, "print-config", *bp, "") + + bp = &Cfg_debug_node_final_state + flag.BoolVar(bp, "debug-node-final-state", *bp, "") + + bp = &Cfg_debug_node_summary + flag.BoolVar(bp, "debug-node-summary", *bp, "") + + bp = &Cfg_debug_show_block_maker + flag.BoolVar(bp, "debug-show-block-maker", *bp, "") + + bp = &Cfg_simu_topology_is_random + flag.BoolVar(bp, "simu-topology-is-random", *bp, + "Connect nodes randomly or place them in one circle.") + + // + // Consensus parameters + // + + bp = &consensus.Cfg_debug_block_duplicate + flag.BoolVar(bp, "debug-block-duplicate", *bp, "") + + bp = &consensus.Cfg_debug_block_out_of_sequence + flag.BoolVar(bp, "debug-block-out-of-sequence", *bp, "") + + bp = &consensus.Cfg_debug_block_accepted + flag.BoolVar(bp, "debug-block-accepted", *bp, "") + + bp = &consensus.Cfg_debug_HashCandidate + flag.BoolVar(bp, "debug-hash-candidate", *bp, "") + + ip = &consensus.Cfg_blockchain_tail_length + flag.IntVar(ip, "blockchain-tail-length", *ip, + "Blocks held in memory. This limits memory usage.") + + qp = &consensus.Cfg_consensus_candidate_max_seqno_gap + flag.Uint64Var(qp, "consensus-candidate-max-seqno-gap", *qp, + "Proposed blocks (or consensus candidates) are ignored if theie seqno"+ + " is too high or too low w.r.t. what is stored. This limits memory"+ + " use and helps prevents some mild attacks.") + + qp = &consensus.Cfg_consensus_waiting_time_as_seqno_diff + flag.Uint64Var(qp, "consensus-waiting-time-as-seqno-diff", *qp, + "When to decide on selecting the best hash from BlockStat"+ + " so that it can be moved to blockchain.") + + ip = &consensus.Cfg_consensus_max_candidate_messages + flag.IntVar(ip, "consensus-max-candidate-messages", *ip, + "How many (hash,signer_pubkey) pairs to acquire for decision-making."+ + " This also limits forwarded traffic, because the messages in excess"+ + " of this limit are discarded hence not forwarded.") + + // + // + // + show := flag.Bool("show", false, "Show current parameter values and exit.") + + // + // + flag.Parse() + // + // + + if Cfg_simu_num_node < Cfg_simu_num_blockmaker { + fmt.Printf("Invalid input: --simu-num-nodes=%d < --simu-num-blockmaker="+ + "%d. Exiting.\n", Cfg_simu_num_node, Cfg_simu_num_blockmaker) + os.Exit(1) + } + + if Cfg_simu_prob_malicious < 0. || 1 < Cfg_simu_prob_malicious { + fmt.Printf("Invalid input: --simu-prob-malicious=%g is outside"+ + " [0 .. 1] range. Exiting.\n", Cfg_simu_prob_malicious) + os.Exit(1) + } + + if Cfg_simu_prob_duplicate < 0. || 1 < Cfg_simu_prob_duplicate { + fmt.Printf("Invalid input: --simu-prob-duplicate=%g is outside"+ + " [0 .. 1] range. Exiting.\n", Cfg_simu_prob_malicious) + os.Exit(1) + } + + // + // Derived parameters + // + + // Most likely we do not need that many. However, we keep the + // number high so it would not interfere with message propagation + // by premature exit from the vent loop. Yet we keep it finite to + // prevent an infinite run that can be caused by a bug: + + Cfg_simu_num_iter = 10 * // '10' is a heuristic + Cfg_simu_num_node * Cfg_simu_num_blockmaker * + Cfg_simu_num_block_round * Cfg_simu_fanout_per_node + + if *show { + pretty_print_flags("", true) + os.Exit(1) + } else { + if Cfg_print_config { + pretty_print_flags("FILE_Config.txt|", false) + } + } +} + +//////////////////////////////////////////////////////////////////////////////// +// +// +// +//////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// +// The body of this function lends itself to something like +// +// ConsensusParticipant::BuildAndPropagateNewBlock() +// +// Before doing so, ConsensusParticipant would need to accumulate +// transactions, possibly negotiate with others as to who makes blocks +// etc. FOR NOW, any node can make (and publish) blocks. +// +func propagate_hash_from_node( + h cipher.SHA256, + nodePtr *consensus.ConsensusParticipant, + external_use bool, + external_seqno uint64) { + + // + // WARNING: Do NOT use this code for obtaining any research + // results. This file is only an illustration. A realistic + // simulation require to have nonzero latencies for event + // propagation and to have an event queueu inside the + // implementation of MeshNetworkInterface. + // + + o := external_seqno // HACK for DEBUGGING + if !external_use { + o = nodePtr.GetNextBlockSeqNo() // So that blocks are ordered. + } + + b := consensus.BlockBase{} + b.Init( + nodePtr.SignatureOf(h), // Signature of hash. + h, + o) + + nodePtr.OnBlockHeaderArrived(&b) +} + +//////////////////////////////////////////////////////////////////////////////// +func print_stat(X []*MinimalConnectionManager, + iter int) { + + n := 0 + for i, _ := range X { + n += X[i].GetNode().Incoming_block_count + } + + msg_per_node_per_round := + float64(n) / float64(Cfg_simu_num_node*Cfg_simu_num_block_round) + + msg_per_node_per_round_per_link := msg_per_node_per_round / + float64(Cfg_simu_fanout_per_node) + + msg_per_node_per_round_per_blockmaker := msg_per_node_per_round / + float64(Cfg_simu_num_blockmaker) + + // Print for viewing: + fmt.Printf( + "MSG_STAT iter %d\n"+ + "MSG_STAT msg_count_all %d\n"+ + "MSG_STAT num_node %d\n"+ + "MSG_STAT num_blockmaker %d\n"+ + "MSG_STAT num_block_round %d\n"+ + "MSG_STAT fanout_per_node %d\n"+ + "MSG_STAT max_candidate_messages %d (This limits the effect of"+ + " having large num_blockmaker)\n"+ + "MSG_STAT msg_per_node_per_round %.3f\n"+ + "MSG_STAT msg_per_node_per_round_per_link %.3f\n"+ + "MSG_STAT msg_per_node_per_round_per_blockmaker %.3f\n", + iter, n, Cfg_simu_num_node, Cfg_simu_num_blockmaker, + Cfg_simu_num_block_round, Cfg_simu_fanout_per_node, + consensus.Cfg_consensus_max_candidate_messages, + msg_per_node_per_round, + msg_per_node_per_round_per_link, + msg_per_node_per_round_per_blockmaker) + +} + +//////////////////////////////////////////////////////////////////////////////// +func Simulate_compare_node_StateQueue( + X []*MinimalConnectionManager, + global_seqno2h map[uint64]cipher.SHA256, + global_seqno2h_alt map[uint64]cipher.SHA256, +) { + // + // Step 1 of 3: for each observed seqno, find the histogram of + // 'best' hash. The historgam is formed by summing over nodes. + // + type QQQ map[uint64]map[cipher.SHA256]int + xxx := make(QQQ) // Access: [seqno][hash]=count + type ZZZ []QQQ // Access: [node][seqno][hash]=count + + ni := len(X) + + zzz := make(ZZZ, ni) + + for i := 0; i < ni; i++ { // Nodes + nj := X[i].GetNode().Get_block_stat_queue_Len() + + zzz[i] = make(map[uint64]map[cipher.SHA256]int) + + for j := 0; j < nj; j++ { // Elements in node's BlockStatQueue + + // 'bs' a pointer: + bs := X[i].GetNode().Get_block_stat_queue_element_at(j) + seqno := bs.GetSeqno() + hash, _, _ := bs.GetBestHashPubkeySig() + + if _, have := xxx[seqno]; !have { + xxx[seqno] = make(map[cipher.SHA256]int) + } + xxx[seqno][hash]++ + + if _, have := zzz[i][seqno]; !have { + zzz[i][seqno] = make(map[cipher.SHA256]int) + } + zzz[i][seqno][hash]++ + } + } + // + // Step 2 of 3. For each seqno, find the most-frequently observed + // hash. Also, find the ratio of blocks accepted to blocks + // published. + // + yyy := make(map[uint64]cipher.SHA256) // Access: [seqno]=hash + + var accept_count int = 0 + var total_count int = 0 + + for seqno, hash2count := range xxx { + var best_count int = 0 + var sum_count int = 0 + var best_hash cipher.SHA256 // undef + + initialized := false + + for hash, count := range hash2count { + if initialized { + if best_count < count { + best_count = count + best_hash = hash + } + } else { + initialized = true + + best_count = count + best_hash = hash + } + sum_count += count + } + + if initialized { + yyy[seqno] = best_hash + + // Here all 'seqno' contribute equally: + accept_count += best_count + total_count += sum_count + } + } + + if true { + keys := []int{} + for seqno, _ := range yyy { + keys = append(keys, int(seqno)) + } + + sort.Ints(keys) + + for _, key := range keys { + seqno := uint64(key) + + // Most-frequently accepted (across nodes) for the given seqno: + best_hash := yyy[seqno] + + prescribed := best_hash == global_seqno2h[seqno] + malicious := best_hash == global_seqno2h_alt[seqno] + + fmt.Printf("CONSENSUS: seqno=%d best_hash=%s prescribed=%t"+ + " malicious=%t\n", seqno, best_hash.Hex()[:8], prescribed, + malicious) + } + + } + fmt.Printf("CONSENSUS: total_count=%d accept_count=%d, accept_ratio=%f\n", + total_count, accept_count, float32(accept_count)/float32(total_count)) + + for i, zzz_i := range zzz { + join_count := 0 // How many have selected the most popular hash. + other_count := 0 // How many have selected NOT the most popular. + prescribed_count := 0 // How many have selected the intended hash. + malicious_count := 0 // How many have selected the malicious hash. + + for seqno, hash2count := range zzz_i { + + // Most-frequently accepted (across nodes) for the given seqno: + best_hash := yyy[seqno] + prescribed := global_seqno2h[seqno] + malicious := global_seqno2h_alt[seqno] + + for hash, count := range hash2count { + if hash == best_hash { + join_count += count + } else { + other_count += count + } + + if hash == prescribed { + prescribed_count += count + } + if hash == malicious { + malicious_count += count + } + } + } + + fmt.Printf("NODE i=%d join_count=%d other_count=%d prescribed_count="+ + "%d malicious_count=%d\n", + i, join_count, other_count, prescribed_count, malicious_count) + } +} + +//////////////////////////////////////////////////////////////////////////////// +func get_random_index_subset(N int, S int) []int { + // N - population size + // S - subset size + + if N < 0 { + N = 0 + } + if S < 0 { + S = 0 + } + if S > N { + S = N + } + + index_map := make(map[int]int, S) + if 2*S < N { + // Include at random + for i := 0; i < 3*S; i++ { // '3' is a heuristic + if len(index_map) >= S { + break + } + index_map[mathrand.Intn(N)] = 1 + } + } else { + // Fill up + for i := 0; i < N; i++ { + index_map[i] = 1 + } + n := N - S + // Exclude at random + for i := 0; i < 3*n; i++ { // '3' is a heuristic + if len(index_map) <= S { + break + } + delete(index_map, mathrand.Intn(N)) + } + } + + keys := []int{} + + for k, _ := range index_map { + keys = append(keys, k) + } + + return keys +} + +//////////////////////////////////////////////////////////////////////////////// +// +// main +// +//////////////////////////////////////////////////////////////////////////////// +func main() { + + cmd_line_args_process() + + // PERFORMANCE: + cipher.DebugLevel1 = false + cipher.DebugLevel2 = false + + var X []*MinimalConnectionManager + + var hack_global_seqno uint64 = 0 + + seed := "hdhdhdkjashfy7273" + _, SecKeyArray := + cipher.GenerateDeterministicKeyPairsSeed([]byte(seed), Cfg_simu_num_node) + + for i := 0; i < Cfg_simu_num_node; i++ { + cm := MinimalConnectionManager{} + // Reason for mutual registration: (1) when conn man receives + // messages, it needs to notify the node; (2) when node has + // processed a mesage, it might need to use conn man to send + // some data out. + nodePtr := consensus.NewConsensusParticipantPtr(&cm) + s := SecKeyArray[i] + nodePtr.SetPubkeySeckey(cipher.PubKeyFromSecKey(s), s) + + cm.theNodePtr = nodePtr + + X = append(X, &cm) + } + if false { + fmt.Printf("Got %d nodes\n", len(X)) + } + + if Cfg_simu_topology_is_random { + + fmt.Printf("CONFIG Topology: connecting %d nodes randomly with approx"+ + " %d nearest-neighbors in and approx %d nearest-neighbors out.\n", + Cfg_simu_num_node, Cfg_simu_fanout_per_node, + Cfg_simu_fanout_per_node) + + for i, _ := range X { + cm := X[i] + for g := 0; g < Cfg_simu_fanout_per_node; g++ { + j := mathrand.Intn(Cfg_simu_num_node) + if i != j { + cm.RegisterPublisher(X[j]) + } + } + } + } else { + + fmt.Printf("CONFIG Topology: connecting %d nodes via one (thick)"+ + " circle with approx %d nearest-neighbors in and approx %d "+ + "nearest-neighbors out.\n", + Cfg_simu_num_node, Cfg_simu_fanout_per_node, + Cfg_simu_fanout_per_node) + + n := len(X) + for i := 0; i < n; i++ { + + cm := X[i] + + c_left := int(Cfg_simu_fanout_per_node / 2) + c_right := Cfg_simu_fanout_per_node - c_left + + for c := 0; c < c_left; c++ { + j := (i - 1 - c + n) % n + cm.RegisterPublisher(X[j]) + } + + for c := 0; c < c_right; c++ { + j := (i + 1 + c) % n + cm.RegisterPublisher(X[j]) + } + } + } + + // Connect. PROD: This should request connections. The + // connections can be accepted, rejected or never answered. Such + // replies are asynchronous. SIMU: we connect synchronously. + for i, _ := range X { + X[i].RequestConnectionToAllMyPublisher() + } + + global_seqno2h := make(map[uint64]cipher.SHA256) + global_seqno2h_alt := make(map[uint64]cipher.SHA256) + + iter := 0 + block_round := 0 + done_processing_messages := false + for ; iter < Cfg_simu_num_iter; iter++ { + + if true { + if block_round < Cfg_simu_num_block_round { + + // NOTE: Propagating blocks from here is a + // simplification/HACK: it implies that we have + // knowledge of when messaging due to previous + // activity (blocks and connections) has + // stopped. Again, we make blocks from here for + // debugging and testing only. + + //x := secp256k1.RandByte(888) // Random data in SIMU. + x := make([]byte, 888) + mathrand.Read(x) + + h := cipher.SumSHA256(x) // Its hash. + + //x_alt := secp256k1.RandByte(888) // Random data in SIMU. + x_alt := make([]byte, 888) + mathrand.Read(x) + h_alt := cipher.SumSHA256(x_alt) // Its hash. + + global_seqno2h[hack_global_seqno] = h + global_seqno2h_alt[hack_global_seqno] = h_alt + + indices := get_random_index_subset(Cfg_simu_num_node, + Cfg_simu_num_blockmaker) + + if Cfg_debug_show_block_maker { + fmt.Printf("block_round=%d, Random indices of block-"+ + "makers: %v\n", block_round, indices) + } + + n_forkers := int(Cfg_simu_prob_malicious * float64(len(indices))) + + for i := 0; i < len(indices); i++ { + // TODO: Have many nodes send same block, and a few nodes + // send a different block. Research the conditions under + // which the block published by the majority would + // dominate the other one. + index := indices[i] + nodePtr := X[index].GetNode() + + malicious := (i < n_forkers) + duplicate := (mathrand.Float64() < Cfg_simu_prob_duplicate) + + ph := &h + if malicious { + ph = &h_alt + } + + rep := 1 + if duplicate { + rep = 2 + } + + // + // WARNING: In a reslistic simulation, one would + // need to remove the assumption of knowing global + // properties such as 'hack_global_seqno' + // + if malicious { + fmt.Printf(">>>>>> NODE (index,pubkey)=(%d,%s) is"+ + " publishing ALTERNATIVE block\n", index, + nodePtr.Pubkey.Hex()[:8]) + } + + for j := 0; j < rep; j++ { + // Signing same hash multiple times produces different + // signatures (for a good reason). We do it + // here to test if malicious re-publishing is + // detected properly. + propagate_hash_from_node(*ph, nodePtr, true, + hack_global_seqno) + } + } + + hack_global_seqno += 1 + block_round += 1 + } else { + done_processing_messages = true + break // <<<<<<<< + } + } + } + + zzz := "done" + if !done_processing_messages { + zzz = "***NOT done***" + } + + fmt.Printf("Done (i) making Blocks, %s (ii) processing responses."+ + " See stats on the next few lines. Used iterations=%d, unused"+ + " iterations=%d. Exiting the event loop now.\n", + zzz, iter, Cfg_simu_num_iter-iter) + + print_stat(X, iter) + + if Cfg_debug_node_final_state { + for i, _ := range X { + fmt.Printf("FILE_FinalState.txt|NODE i=%d ", i) + X[i].GetNode().Print() + fmt.Printf("\n") + } + } + + if Cfg_debug_node_summary { + Simulate_compare_node_StateQueue(X, global_seqno2h, global_seqno2h_alt) + } +} + +//////////////////////////////////////////////////////////////////////////////// diff --git a/vendor/github.com/skycoin/skycoin/src/consensus/example/example_gnet.go b/vendor/github.com/skycoin/skycoin/src/consensus/example/example_gnet.go new file mode 100755 index 0000000..b60fbc7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/consensus/example/example_gnet.go @@ -0,0 +1,1043 @@ +// +build ignore + +// 20160901 - Initial version by user johnstuartmill, +// public key 02fb4acf944c84d48341e3c1cb14d707034a68b7f931d6be6d732bec03597d6ff6 +// 20161025 - Code revision by user johnstuartmill. +package main + +// +// WARNING: WARNING: WARNING: Do NOT use this code for obtaining any +// research results. This file is only an illustration. A realistic +// simulation would require to have (i) nonzero latencies for event +// propagation and (ii) an event queue inside the implementation of +// MeshNetworkInterface. +// + +import ( + "flag" + "fmt" + "log" + mathrand "math/rand" + "os" + "sort" + "time" + + "github.com/skycoin/skycoin/src/daemon/gnet" + // + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/consensus" +) + +var Cfg_print_config bool = true +var Cfg_debug_connect_request bool = false +var Cfg_debug_node_final_state bool = false +var Cfg_debug_node_summary bool = false +var Cfg_debug_show_block_maker bool = false + +var Cfg_simu_topology_is_random bool = true + +var Cfg_simu_num_node int = 10 +var Cfg_simu_num_blockmaker int = 2 +var Cfg_simu_prob_malicious float64 = 0.0 +var Cfg_simu_prob_duplicate float64 = 0.0 + +var Cfg_simu_num_block_round int = 10 +var Cfg_simu_fanout_per_node int = 3 + +// Will be reset later, based on values of other parameters: +var Cfg_simu_num_iter int = 0 + +var common_channel uint16 = 3 + +//////////////////////////////////////////////////////////////////////////////// +func pretty_print_flags(prefix string, detail bool) { + if detail { + + max1 := 0 + max2 := 0 + + flag.VisitAll(func(f *flag.Flag) { + len1 := len(f.Name) + len2 := len(fmt.Sprintf("%v", f.Value)) + if max1 < len1 { + max1 = len1 + } + if max2 < len2 { + max2 = len2 + } + }) + + format := fmt.Sprintf(" --%%-%ds %%%dv %%s\n", max1, max2) + format = "%s" + format + + flag.VisitAll(func(f *flag.Flag) { + fmt.Printf(format, prefix, f.Name, f.Value, f.Usage) + }) + + } else { + + flag.VisitAll(func(f *flag.Flag) { + fmt.Printf("%s--%s=%v\n", prefix, f.Name, f.Value) + }) + + } +} + +//////////////////////////////////////////////////////////////////////////////// +func cmd_line_args_process() { + + var ip *int = nil + var qp *uint64 = nil + var dp *float64 = nil + var bp *bool = nil + + // + // Simulation parameters + // + ip = &Cfg_simu_num_node + flag.IntVar(ip, "simu-num-nodes", *ip, "Number of nodes in the network.") + + ip = &Cfg_simu_num_blockmaker + flag.IntVar(ip, "simu-num-blockmaker", *ip, + "Number of nodes in the network that make blocks.") + + dp = &Cfg_simu_prob_malicious + flag.Float64Var(dp, "simu-prob-malicious", *dp, + "Probability that a node temporarily joins a malicious group that"+ + " publishes same block in order to cause a fork of the blockchain.") + + dp = &Cfg_simu_prob_duplicate + flag.Float64Var(dp, "simu-prob-duplicate", *dp, + "Probability that a node sends a duplicate message with same hash but"+ + " different signature. (Duplicate (hash,sig) pairs are easily"+ + " detected and discarded.)") + + ip = &Cfg_simu_num_block_round + flag.IntVar(ip, "simu-num-rounds", *ip, + "Number of block rounds. When all them are published and the"+ + " resulting messages propagate, the simulation ends.") + + ip = &Cfg_simu_fanout_per_node + flag.IntVar(ip, "simu-fanout-per-node", *ip, + "Number of incoming (and outgoing) connections to (and from) each"+ + " node.") + + bp = &Cfg_debug_connect_request + flag.BoolVar(bp, "debug-connect-request", *bp, "") + + bp = &Cfg_print_config + flag.BoolVar(bp, "print-config", *bp, "") + + bp = &Cfg_debug_node_final_state + flag.BoolVar(bp, "debug-node-final-state", *bp, "") + + bp = &Cfg_debug_node_summary + flag.BoolVar(bp, "debug-node-summary", *bp, "") + + bp = &Cfg_debug_show_block_maker + flag.BoolVar(bp, "debug-show-block-maker", *bp, "") + + bp = &Cfg_simu_topology_is_random + flag.BoolVar(bp, "simu-topology-is-random", *bp, + "Connect nodes randomly or place them in one circle.") + + // + // Consensus parameters + // + + bp = &consensus.Cfg_debug_block_duplicate + flag.BoolVar(bp, "debug-block-duplicate", *bp, "") + + bp = &consensus.Cfg_debug_block_out_of_sequence + flag.BoolVar(bp, "debug-block-out-of-sequence", *bp, "") + + bp = &consensus.Cfg_debug_block_accepted + flag.BoolVar(bp, "debug-block-accepted", *bp, "") + + bp = &consensus.Cfg_debug_HashCandidate + flag.BoolVar(bp, "debug-hash-candidate", *bp, "") + + ip = &consensus.Cfg_blockchain_tail_length + flag.IntVar(ip, "blockchain-tail-length", *ip, + "Blocks held in memory. This limits memory usage.") + + qp = &consensus.Cfg_consensus_candidate_max_seqno_gap + flag.Uint64Var(qp, "consensus-candidate-max-seqno-gap", *qp, + "Proposed blocks (or consensus candidates) are ignored if theie seqno"+ + " is too high or too low w.r.t. what is stored. This limits memory"+ + " use and helps prevents some mild attacks.") + + qp = &consensus.Cfg_consensus_waiting_time_as_seqno_diff + flag.Uint64Var(qp, "consensus-waiting-time-as-seqno-diff", *qp, + "When to decide on selecting the best hash from BlockStat"+ + " so that it can be moved to blockchain.") + + ip = &consensus.Cfg_consensus_max_candidate_messages + flag.IntVar(ip, "consensus-max-candidate-messages", *ip, + "How many (hash,signer_pubkey) pairs to acquire for decision-making."+ + " This also limits forwarded traffic, because the messages in excess"+ + " of this limit are discarded hence not forwarded.") + + // + // + // + show := flag.Bool("show", false, "Show current parameter values and exit.") + + // + // + flag.Parse() + // + // + + if Cfg_simu_num_node < Cfg_simu_num_blockmaker { + fmt.Printf("Invalid input: --simu-num-nodes=%d < --simu-num-blockmaker="+ + "%d. Exiting.\n", Cfg_simu_num_node, Cfg_simu_num_blockmaker) + os.Exit(1) + } + + if Cfg_simu_prob_malicious < 0. || 1 < Cfg_simu_prob_malicious { + fmt.Printf("Invalid input: --simu-prob-malicious=%g is outside"+ + " [0 .. 1] range. Exiting.\n", Cfg_simu_prob_malicious) + os.Exit(1) + } + + if Cfg_simu_prob_duplicate < 0. || 1 < Cfg_simu_prob_duplicate { + fmt.Printf("Invalid input: --simu-prob-duplicate=%g is outside"+ + " [0 .. 1] range. Exiting.\n", Cfg_simu_prob_malicious) + os.Exit(1) + } + + // + // Derived parameters + // + + // Most likely we do not need that many. However, we keep the + // number high so it would not interfere with message propagation + // by premature exit from the vent loop. Yet we keep it finite to + // prevent an infinite run that can be caused by a bug: + + Cfg_simu_num_iter = 10 * // '10' is a heuristic + Cfg_simu_num_node * Cfg_simu_num_blockmaker * + Cfg_simu_num_block_round * Cfg_simu_fanout_per_node + + if *show { + pretty_print_flags("", true) + os.Exit(1) + } else { + if Cfg_print_config { + pretty_print_flags("FILE_Config.txt|", false) + } + } +} + +//////////////////////////////////////////////////////////////////////////////// +// +// +// +//////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// +// The body of this function lends itself to something like +// +// ConsensusParticipant::BuildAndPropagateNewBlock() +// +// Before doing so, ConsensusParticipant would need to accumulate +// transactions, possibly negotiate with others as to who makes blocks +// etc. FOR NOW, any node can make (and publish) blocks. +// +func propagate_hash_from_node( + h cipher.SHA256, + nodePtr *consensus.ConsensusParticipant, + external_use bool, + external_seqno uint64) { + + // + // WARNING: Do NOT use this code for obtaining any research + // results. This file is only an illustration. A realistic + // simulation require to have nonzero latencies for event + // propagation and to have an event queueu inside the + // implementation of MeshNetworkInterface. + // + + o := external_seqno // HACK for DEBUGGING + if !external_use { + o = nodePtr.GetNextBlockSeqNo() // So that blocks are ordered. + } + + b := consensus.BlockBase{} + b.Init( + nodePtr.SignatureOf(h), // Signature of hash. + h, + o) + + nodePtr.OnBlockHeaderArrived(&b) +} + +//////////////////////////////////////////////////////////////////////////////// +// MESSAGE +type BlockBaseWrapper struct { + consensus.BlockBase +} + +func (self *BlockBaseWrapper) String() string { + return fmt.Sprintf("BlockBaseWrapper={Sig=%s,Hash=%s,Seqno=%d}", + self.Sig.Hex()[:8], self.Hash.Hex()[:8], self.Seqno) +} +func (self *BlockBaseWrapper) Handle(context *gnet.MessageContext, closure interface{}) error { + + if false { + fmt.Printf("@@@ consensus.BlockBase Handle: context={%v} closure={%v} data={%v}\n", context, closure, self) + } + + arg := closure.(*PoolOwner) + arg.DataCallback(context, self) + return nil +} + +//array of messages to register +var messageMap map[string](interface{}) = map[string](interface{}){ + "id01": BlockBaseWrapper{}, //message id, message type +} + +//////////////////////////////////////////////////////////////////////////////// +// +// +// +//////////////////////////////////////////////////////////////////////////////// +type PoolOwner struct { + pCMan *MinimalConnectionManager + + pDispatcherManager *gnet.DispatcherManager + pDispatcher *gnet.Dispatcher + pConnectionPool *gnet.ConnectionPool + // + isConnSolicited map[string]bool // Addr -> bool + // + key_list []string // To preserve the order. + key_map map[string]byte // To avoid duplicates. + // + debug_num_id int + debug_nickname string +} + +func (self *PoolOwner) Shutdown() { + self.pConnectionPool.Shutdown() +} + +func (self *PoolOwner) Init(pCMan *MinimalConnectionManager, listen_port uint16, num_id int, nickname string) { + + config := gnet.NewConfig() + config.Port = uint16(listen_port) + + cp := gnet.NewConnectionPool(config) + + dm := gnet.NewDispatcherManager() + + self.isConnSolicited = make(map[string]bool) + + cp.Config.MessageCallback = dm.OnMessage + cp.Config.ConnectCallback = self.OnConnect + cp.Config.DisconnectCallback = self.OnDisconnect + + d := dm.NewDispatcher(cp, common_channel, self) + d.RegisterMessages(messageMap) + + self.pCMan = pCMan + self.pDispatcherManager = dm + self.pDispatcher = d + self.key_map = make(map[string]byte) + self.pConnectionPool = cp + + self.debug_num_id = num_id + self.debug_nickname = nickname +} + +func (self *PoolOwner) Run() { + + cp := self.pConnectionPool // alias + + if cp.Config.Port != 0 { + if err := cp.StartListen(); err != nil { + log.Panic(err) + } + go cp.AcceptConnections() + } + + go func() { + for true { + // [JSM] 20161025 The 'Sleep' below is a workaround of + // unresolve concurrency issues in file gnet/pool.go + // class ConnectionPool. + time.Sleep(time.Millisecond * 1) + cp.HandleMessages() + } + }() + +} +func (self *PoolOwner) DataCallback(context *gnet.MessageContext, xxx *BlockBaseWrapper) { + + if self.isConnSolicited[context.Conn.Addr()] { + + var msg consensus.BlockBase + msg.Sig = xxx.Sig + msg.Hash = xxx.Hash + msg.Seqno = xxx.Seqno + + self.pCMan.GetNode().OnBlockHeaderArrived(&msg) + + } else { + // Ignoring + } +} +func (self *PoolOwner) OnConnect(c *gnet.Connection, is_solicited bool) { + self.isConnSolicited[c.Addr()] = is_solicited + + if false { + for channel, pDispatcher := range self.pDispatcherManager.Dispatchers { + // (BTW, pDispatcher.ReceivingObject is '&PoolOwner') + + // Each channel (or subscription subject) might require + // specific action to be taken on connect, such as request + // initial values from solicited, authenticate the client + // from unsolicited one etc. + _ = channel + _ = pDispatcher + } + } +} +func (self *PoolOwner) OnDisconnect(c *gnet.Connection, reason gnet.DisconnectReason) { + + if false { + for channel, pDispatcher := range self.pDispatcherManager.Dispatchers { + // (BTW, pDispatcher.ReceivingObject is '&PoolOwner') + + // Each channel (or subscription subject) might require + // specific action to be taken on disconnect, such as + // reconnect, clean up etc. + _ = channel + _ = pDispatcher + } + } + + delete(self.isConnSolicited, c.Addr()) +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *PoolOwner) RequestConnectionToKeys() { + for _, key := range self.key_list { + go func(arg string) { + _, err := self.BlockingConnectToUrl(arg) + if err != nil { + log.Panic(err) + } + }(key) + } +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *PoolOwner) RegisterKey(key string) bool { + + if _, have := self.key_map[key]; have { + return false // Let caller handle his issues. + } + + self.key_list = append(self.key_list, key) + self.key_map[key] = byte('1') + + return true + +} +func (self *PoolOwner) GetListenPort() uint16 { + return self.pDispatcher.Pool.Config.Port +} +func (self *PoolOwner) BlockingConnectTo(IPAddress string, port uint16) (*gnet.Connection, error) { + url := fmt.Sprintf("%s:%d", IPAddress, port) + conn, err := self.pDispatcher.Pool.Connect(url) + return conn, err +} +func (self *PoolOwner) BlockingConnectToUrl(url string) (*gnet.Connection, error) { + conn, err := self.pDispatcher.Pool.Connect(url) + return conn, err +} +func (self *PoolOwner) BroadcastMessage(msg gnet.Message) error { + return self.pDispatcher.BroadcastMessage(common_channel, msg) +} +func (self *PoolOwner) Print() { + detail := true + + fmt.Printf("PoolOwner={%d,%s,keys={n=%d", + self.debug_num_id, self.debug_nickname, len(self.key_list)) + + if detail { + for _, val := range self.key_list { + fmt.Printf(",%s", val) + } + } else { + fmt.Printf(",...") + } + fmt.Printf("}}") +} + +//////////////////////////////////////////////////////////////////////////////// +func print_stat(X []*MinimalConnectionManager, iter int) { + + n := 0 + for i, _ := range X { + n += X[i].GetNode().Incoming_block_count + } + + msg_per_node_per_round := + float64(n) / float64(Cfg_simu_num_node*Cfg_simu_num_block_round) + + msg_per_node_per_round_per_link := msg_per_node_per_round / + float64(Cfg_simu_fanout_per_node) + + msg_per_node_per_round_per_blockmaker := msg_per_node_per_round / + float64(Cfg_simu_num_blockmaker) + + // Print for viewing: + fmt.Printf( + "MSG_STAT iter %d\n"+ + "MSG_STAT msg_count_all %d\n"+ + "MSG_STAT num_node %d\n"+ + "MSG_STAT num_blockmaker %d\n"+ + "MSG_STAT num_block_round %d\n"+ + "MSG_STAT fanout_per_node %d\n"+ + "MSG_STAT max_candidate_messages %d (This limits the effect of"+ + " having large num_blockmaker)\n"+ + "MSG_STAT msg_per_node_per_round %.3f\n"+ + "MSG_STAT msg_per_node_per_round_per_link %.3f\n"+ + "MSG_STAT msg_per_node_per_round_per_blockmaker %.3f\n", + iter, n, Cfg_simu_num_node, Cfg_simu_num_blockmaker, + Cfg_simu_num_block_round, Cfg_simu_fanout_per_node, + consensus.Cfg_consensus_max_candidate_messages, + msg_per_node_per_round, + msg_per_node_per_round_per_link, + msg_per_node_per_round_per_blockmaker) + +} + +//////////////////////////////////////////////////////////////////////////////// +func Simulate_compare_node_StateQueue( + X []*MinimalConnectionManager, + global_seqno2h map[uint64]cipher.SHA256, + global_seqno2h_alt map[uint64]cipher.SHA256, +) { + // + // Step 1 of 3: for each observed seqno, find the histogram of + // 'best' hash. The historgam is formed by summing over nodes. + // + type QQQ map[uint64]map[cipher.SHA256]int + xxx := make(QQQ) // Access: [seqno][hash]=count + type ZZZ []QQQ // Access: [node][seqno][hash]=count + + ni := len(X) + + zzz := make(ZZZ, ni) + + for i := 0; i < ni; i++ { // Nodes + nj := X[i].GetNode().Get_block_stat_queue_Len() + + zzz[i] = make(map[uint64]map[cipher.SHA256]int) + + for j := 0; j < nj; j++ { // Elements in node's BlockStatQueue + + // 'bs' a pointer: + bs := X[i].GetNode().Get_block_stat_queue_element_at(j) + seqno := bs.GetSeqno() + hash, _, _ := bs.GetBestHashPubkeySig() + + if _, have := xxx[seqno]; !have { + xxx[seqno] = make(map[cipher.SHA256]int) + } + xxx[seqno][hash]++ + + if _, have := zzz[i][seqno]; !have { + zzz[i][seqno] = make(map[cipher.SHA256]int) + } + zzz[i][seqno][hash]++ + } + } + // + // Step 2 of 3. For each seqno, find the most-frequently observed + // hash. Also, find the ratio of blocks accepted to blocks + // published. + // + yyy := make(map[uint64]cipher.SHA256) // Access: [seqno]=hash + + var accept_count int = 0 + var total_count int = 0 + + for seqno, hash2count := range xxx { + var best_count int = 0 + var sum_count int = 0 + var best_hash cipher.SHA256 // undef + + initialized := false + + for hash, count := range hash2count { + if initialized { + if best_count < count { + best_count = count + best_hash = hash + } + } else { + initialized = true + + best_count = count + best_hash = hash + } + sum_count += count + } + + if initialized { + yyy[seqno] = best_hash + + // Here all 'seqno' contribute equally: + accept_count += best_count + total_count += sum_count + } + } + + if true { + keys := []int{} + for seqno, _ := range yyy { + keys = append(keys, int(seqno)) + } + + sort.Ints(keys) + + for _, key := range keys { + seqno := uint64(key) + + // Most-frequently accepted (across nodes) for the given seqno: + best_hash := yyy[seqno] + + prescribed := best_hash == global_seqno2h[seqno] + malicious := best_hash == global_seqno2h_alt[seqno] + + fmt.Printf("CONSENSUS: seqno=%d best_hash=%s prescribed=%t"+ + " malicious=%t\n", seqno, best_hash.Hex()[:8], prescribed, + malicious) + } + + } + fmt.Printf("CONSENSUS: total_count=%d accept_count=%d, accept_ratio=%f\n", + total_count, accept_count, float32(accept_count)/float32(total_count)) + + for i, zzz_i := range zzz { + join_count := 0 // How many have selected the most popular hash. + other_count := 0 // How many have selected NOT the most popular. + prescribed_count := 0 // How many have selected the intended hash. + malicious_count := 0 // How many have selected the malicious hash. + + for seqno, hash2count := range zzz_i { + + // Most-frequently accepted (across nodes) for the given seqno: + best_hash := yyy[seqno] + prescribed := global_seqno2h[seqno] + malicious := global_seqno2h_alt[seqno] + + for hash, count := range hash2count { + if hash == best_hash { + join_count += count + } else { + other_count += count + } + + if hash == prescribed { + prescribed_count += count + } + if hash == malicious { + malicious_count += count + } + } + } + + fmt.Printf("NODE i=%d join_count=%d other_count=%d prescribed_count="+ + "%d malicious_count=%d\n", + i, join_count, other_count, prescribed_count, malicious_count) + } +} + +//////////////////////////////////////////////////////////////////////////////// +type MinimalConnectionManager struct { + theNodePtr *consensus.ConsensusParticipant + + // MinimalConnectionManager solicit a conn to them; receive data + // from them but do not send anything + publishers PoolOwner + + // MinimalConnectionManager accept + // connections. MinimalConnectionManager send data to them; does + // not receive anything; ignores all incoming data + subscribers PoolOwner +} + +func (self *MinimalConnectionManager) Init(listen_port uint16, num_id int, nickname string) { + self.publishers.Init(self, 0, num_id, nickname+";recv_from_pub") + self.subscribers.Init(self, listen_port, num_id, nickname+";send_to_sub") +} +func (self *MinimalConnectionManager) Run() { + self.publishers.Run() + self.subscribers.Run() +} +func (self *MinimalConnectionManager) ShutdownPublishing() { + self.subscribers.Shutdown() +} +func (self *MinimalConnectionManager) ShutdownSubscribing() { + self.publishers.Shutdown() +} +func (self *MinimalConnectionManager) GetListenPort() uint16 { + return self.subscribers.pDispatcher.Pool.Config.Port +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *MinimalConnectionManager) GetNode() *consensus.ConsensusParticipant { + return self.theNodePtr +} +func (self *MinimalConnectionManager) RegisterPublisher(key string) bool { + return self.publishers.RegisterKey(key) +} +func (self *MinimalConnectionManager) SendBlockToAllMySubscriber(xxx *consensus.BlockBase) { + var msg BlockBaseWrapper + msg.Sig = xxx.Sig + msg.Hash = xxx.Hash + msg.Seqno = xxx.Seqno + + self.subscribers.pDispatcher.BroadcastMessage(common_channel, &msg) +} +func (self *MinimalConnectionManager) RequestConnectionToAllMyPublisher() { + self.publishers.RequestConnectionToKeys() + + // NOTE: The node does not request connection to subscriber; + // instead, the subscriber request connection to Node. +} +func (self *MinimalConnectionManager) OnSubscriberConnectionRequest(key string) { + fmt.Printf(">>>>>>>>>>>>>>>> GOT HERE. Please cooment this line out >>>>>>>>>>>>>>>>>>>>>>>>>\n") + + // FOR NOW accept all connection request. TODO: check for black + // list, latency table etc. + var acceptable = true + if acceptable { + self.subscribers.RegisterKey(key) + } +} +func (self *MinimalConnectionManager) Print() { + fmt.Printf("ConnectionManager={Pub={") + self.publishers.Print() + fmt.Printf("},Sub={") + self.subscribers.Print() + fmt.Printf("}}") +} + +//////////////////////////////////////////////////////////////////////////////// +// +// +// +//////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// +func get_random_index_subset(N int, S int) []int { + // N - population size + // S - subset size + + if N < 0 { + N = 0 + } + if S < 0 { + S = 0 + } + if S > N { + S = N + } + + index_map := make(map[int]int, S) + if 2*S < N { + // Include at random + for i := 0; i < 3*S; i++ { // '3' is a heuristic + if len(index_map) >= S { + break + } + index_map[mathrand.Intn(N)] = 1 + } + } else { + // Fill up + for i := 0; i < N; i++ { + index_map[i] = 1 + } + n := N - S + // Exclude at random + for i := 0; i < 3*n; i++ { // '3' is a heuristic + if len(index_map) <= S { + break + } + delete(index_map, mathrand.Intn(N)) + } + } + + keys := []int{} + + for k, _ := range index_map { + keys = append(keys, k) + } + + return keys +} + +//////////////////////////////////////////////////////////////////////////////// +// +// main +// +//////////////////////////////////////////////////////////////////////////////// +func main() { + + cmd_line_args_process() + + // PERFORMANCE: + cipher.DebugLevel1 = false + cipher.DebugLevel2 = false + + var X []*MinimalConnectionManager + + var hack_global_seqno uint64 = 0 + + seed := "hdhdhdkjashfy7273" + _, SecKeyArray := + cipher.GenerateDeterministicKeyPairsSeed([]byte(seed), Cfg_simu_num_node) + + for i := 0; i < Cfg_simu_num_node; i++ { + var cm MinimalConnectionManager + cm.Init(6060+uint16(i), i, "fox") + + // Reason for mutual registration: (1) when conn man receives + // messages, it needs to notify the node; (2) when node has + // processed a mesage, it might need to use conn man to send + // some data out. + nodePtr := consensus.NewConsensusParticipantPtr(&cm) + s := SecKeyArray[i] + nodePtr.SetPubkeySeckey(cipher.PubKeyFromSecKey(s), s) + + cm.theNodePtr = nodePtr + + X = append(X, &cm) + } + if false { + fmt.Printf("Got %d nodes\n", len(X)) + } + + if Cfg_simu_topology_is_random { + + fmt.Printf("CONFIG Topology: connecting %d nodes randomly with approx"+ + " %d nearest-neighbors in and approx %d nearest-neighbors out.\n", + Cfg_simu_num_node, Cfg_simu_fanout_per_node, + Cfg_simu_fanout_per_node) + + n := len(X) + + for i := 0; i < n; i++ { + + cm := X[i] + + indices := + get_random_index_subset(Cfg_simu_num_node, Cfg_simu_fanout_per_node) + for _, j := range indices { + if i != j { + cm.RegisterPublisher(fmt.Sprintf("127.0.0.1:%d", X[j].GetListenPort())) + fmt.Printf("TOPOLOGY: port %d solicits conn to port %d\n", cm.GetListenPort(), X[j].GetListenPort()) + + } + } + } + } else { + + fmt.Printf("CONFIG Topology: connecting %d nodes via one (thick)"+ + " circle with approx %d nearest-neighbors in and approx %d "+ + "nearest-neighbors out.\n", + Cfg_simu_num_node, Cfg_simu_fanout_per_node, + Cfg_simu_fanout_per_node) + + n := len(X) + + for i := 0; i < n; i++ { + + cm := X[i] + + c_left := int(Cfg_simu_fanout_per_node / 2) + c_right := Cfg_simu_fanout_per_node - c_left + + for c := 0; c < c_left; c++ { + j := (i - 1 - c + n) % n + cm.RegisterPublisher(fmt.Sprintf("127.0.0.1:%d", X[j].GetListenPort())) + } + + for c := 0; c < c_right; c++ { + j := (i + 1 + c) % n + cm.RegisterPublisher(fmt.Sprintf("127.0.0.1:%d", X[j].GetListenPort())) + } + } + } + + // Start GoRoutines related to connectivity + for i, _ := range X { + X[i].Run() + } + + fmt.Printf("Waiting for start ...\n") + time.Sleep(time.Millisecond * 10) + + // Connect. PROD: This should request connections. The + // connections can be accepted, rejected or never answered. Such + // replies are asynchronous. SIMU: we connect synchronously. + for i, _ := range X { + X[i].RequestConnectionToAllMyPublisher() + } + + fmt.Printf("Waiting for connections ...\n") + time.Sleep(time.Second * 1) + + global_seqno2h := make(map[uint64]cipher.SHA256) + global_seqno2h_alt := make(map[uint64]cipher.SHA256) + + iter := 0 + block_round := 0 + done_processing_messages := false + for ; iter < Cfg_simu_num_iter; iter++ { + + if false { + fmt.Printf("Iteration %d\n", iter) + } + + //fmt.Printf("Waiting for messages to propagate ...\n") + time.Sleep(time.Millisecond * 100) + + if true { + if block_round < Cfg_simu_num_block_round { + + if true { + t := time.Now() + fmt.Printf("wall_time=%02d:%02d:%02d"+ + " block_round=%d\n", t.Hour(), t.Minute(), t.Second(), + block_round) + } + + // NOTE: Propagating blocks from here is a + // simplification/HACK: it implies that we have + // knowledge of when messaging due to previous + // activity (blocks and connections) has + // stopped. Again, we make blocks from here for + // debugging and testing only. + + //x := secp256k1.RandByte(888) // Random data in SIMU. + x := make([]byte, 888) + mathrand.Read(x) + + h := cipher.SumSHA256(x) // Its hash. + + //x_alt := secp256k1.RandByte(888) // Random data in SIMU. + x_alt := make([]byte, 888) + mathrand.Read(x) + h_alt := cipher.SumSHA256(x_alt) // Its hash. + + global_seqno2h[hack_global_seqno] = h + global_seqno2h_alt[hack_global_seqno] = h_alt + + indices := get_random_index_subset(Cfg_simu_num_node, + Cfg_simu_num_blockmaker) + + if Cfg_debug_show_block_maker { + fmt.Printf("block_round=%d, Random indices of block-"+ + "makers: %v\n", block_round, indices) + } + + n_forkers := int(Cfg_simu_prob_malicious * float64(len(indices))) + + for i := 0; i < len(indices); i++ { + // TODO: Have many nodes send same block, and a few nodes + // send a different block. Research the conditions under + // which the block published by the majority would + // dominate the other one. + index := indices[i] + nodePtr := X[index].GetNode() + + malicious := (i < n_forkers) + duplicate := (mathrand.Float64() < Cfg_simu_prob_duplicate) + + ph := &h + if malicious { + ph = &h_alt + } + + rep := 1 + if duplicate { + rep = 2 + } + + // + // WARNING: In a reslistic simulation, one would + // need to remove the assumption of knowing global + // properties such as 'hack_global_seqno' + // + if malicious { + fmt.Printf(">>>>>> NODE (index,pubkey)=(%d,%s) is"+ + " publishing ALTERNATIVE block\n", index, + nodePtr.Pubkey.Hex()[:8]) + } + + for j := 0; j < rep; j++ { + // Signing same hash multiple times produces different + // signatures (for a good reason). We do it + // here to test if malicious re-publishing is + // detected properly. + propagate_hash_from_node(*ph, nodePtr, true, + hack_global_seqno) + } + } + + hack_global_seqno += 1 + block_round += 1 + } else { + done_processing_messages = true + break // <<<<<<<< + } + } + } + + fmt.Printf("Waiting to finish ...\n") + time.Sleep(time.Millisecond * 500) + + zzz := "done" + if !done_processing_messages { + zzz = "***NOT done***" + } + + if false { + // [JSM] Do not call these FOR NOW: ConnectionPool does not + // implement shutdown correctly. + for i, _ := range X { + X[i].ShutdownPublishing() + } + for i, _ := range X { + X[i].ShutdownSubscribing() + } + } + + fmt.Printf("Done (i) making Blocks, %s (ii) processing responses."+ + " See stats on the next few lines. Used iterations=%d, unused"+ + " iterations=%d. Exiting the event loop now.\n", + zzz, iter, Cfg_simu_num_iter-iter) + + print_stat(X, iter) + + if Cfg_debug_node_final_state { + for i, _ := range X { + fmt.Printf("FILE_FinalState.txt|NODE i=%d ", i) + X[i].GetNode().Print() + fmt.Printf("\n") + } + } + + if Cfg_debug_node_summary { + Simulate_compare_node_StateQueue(X, global_seqno2h, global_seqno2h_alt) + } +} + +//////////////////////////////////////////////////////////////////////////////// diff --git a/vendor/github.com/skycoin/skycoin/src/consensus/example/example_minimal.go b/vendor/github.com/skycoin/skycoin/src/consensus/example/example_minimal.go new file mode 100755 index 0000000..7b22446 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/consensus/example/example_minimal.go @@ -0,0 +1,165 @@ +// +build ignore + +// 20160901 - Initial version by user johnstuartmill, +// public key 02fb4acf944c84d48341e3c1cb14d707034a68b7f931d6be6d732bec03597d6ff6 +// 20161025 - Code revision by user johnstuartmill. +package main + +import ( + "fmt" + mathrand "math/rand" + // + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/secp256k1-go" + "github.com/skycoin/skycoin/src/consensus" +) + +var Cfg_simu_num_node int = 5 +var Cfg_simu_fanout_per_node int = 2 + +//////////////////////////////////////////////////////////////////////////////// +// +// +// +//////////////////////////////////////////////////////////////////////////////// +type MinimalConnectionManager struct { + theNodePtr *consensus.ConsensusParticipant + // + publisher_key_list []*MinimalConnectionManager + subscriber_key_list []*MinimalConnectionManager +} + +func (self *MinimalConnectionManager) GetNode() *consensus.ConsensusParticipant { + return self.theNodePtr +} +func (self *MinimalConnectionManager) RegisterPublisher(key *MinimalConnectionManager) bool { + + self.publisher_key_list = append(self.publisher_key_list, key) + return true +} +func (self *MinimalConnectionManager) SendBlockToAllMySubscriber(blockPtr *consensus.BlockBase) { + for _, p := range self.subscriber_key_list { + p.GetNode().OnBlockHeaderArrived(blockPtr) + } +} +func (self *MinimalConnectionManager) RequestConnectionToAllMyPublisher() { + for _, p := range self.publisher_key_list { + p.OnSubscriberConnectionRequest(self) + } +} +func (self *MinimalConnectionManager) OnSubscriberConnectionRequest(other *MinimalConnectionManager) { + self.subscriber_key_list = append(self.subscriber_key_list, other) +} +func (self *MinimalConnectionManager) Print() { + detail := false + + fmt.Printf("ConnectionManager={publisher={n=%d", + len(self.publisher_key_list)) + + if detail { + for _, val := range self.publisher_key_list { + fmt.Printf(",%v", val) + } + } else { + fmt.Printf(",...") + } + fmt.Printf("}") + + fmt.Printf(",subscriber={n=%d", len(self.subscriber_key_list)) + if detail { + for _, val := range self.subscriber_key_list { + fmt.Printf(",%v", val) + } + } else { + fmt.Printf(",...") + } + fmt.Printf("}") +} + +//////////////////////////////////////////////////////////////////////////////// +// +// main +// +//////////////////////////////////////////////////////////////////////////////// +func main() { + + var X []*MinimalConnectionManager + + // Create nodes + for i := 0; i < Cfg_simu_num_node; i++ { + cm := MinimalConnectionManager{} + // Reason for mutual registration: (1) when conn man receives + // messages, it needs to notify the node; (2) when node has + // processed a mesage, it might need to use conn man to send + // some data out. + nodePtr := consensus.NewConsensusParticipantPtr(&cm) + cm.theNodePtr = nodePtr + + X = append(X, &cm) + } + + // Contemplate connecting nodes into a thick circle: + n := len(X) + for i := 0; i < n; i++ { + + cm := X[i] + + c_left := int(Cfg_simu_fanout_per_node / 2) + c_right := Cfg_simu_fanout_per_node - c_left + + for c := 0; c < c_left; c++ { + j := (i - 1 - c + n) % n + cm.RegisterPublisher(X[j]) + } + + for c := 0; c < c_right; c++ { + j := (i + 1 + c) % n + cm.RegisterPublisher(X[j]) + } + } + + // + // Request connections + // + for i := 0; i < n; i++ { + X[i].RequestConnectionToAllMyPublisher() + } + + { + // + // Choose a node to be a block-maker + // + index := mathrand.Intn(Cfg_simu_num_node) + nodePtr := X[index].GetNode() + + // + // Make a block (actually, only a header) + // + x := secp256k1.RandByte(888) // Random data. + h := cipher.SumSHA256(x) // Its hash. + b := consensus.BlockBase{} + b.Init( + nodePtr.SignatureOf(h), + h, + 0) + + // + // Send it to subscribers. The subscribers are also publishers; + // they send (forward, to be exact) the header to thire respective + // listeners etc. + // + nodePtr.OnBlockHeaderArrived(&b) + } + + // + // Print the state of each node for a review or debugging. + // + for i, _ := range X { + fmt.Printf("FILE_FinalState.txt|NODE i=%d ", i) + X[i].GetNode().Print() + fmt.Printf("\n") + } + +} + +//////////////////////////////////////////////////////////////////////////////// diff --git a/vendor/github.com/skycoin/skycoin/src/consensus/participant.go b/vendor/github.com/skycoin/skycoin/src/consensus/participant.go new file mode 100755 index 0000000..f48a01f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/consensus/participant.go @@ -0,0 +1,180 @@ +// nolint +// 20160901 - Initial version by user johnstuartmill, +// public key 02fb4acf944c84d48341e3c1cb14d707034a68b7f931d6be6d732bec03597d6ff6 +// 20161025 - Code revision by user johnstuartmill. +package consensus + +import ( + "fmt" + + "github.com/skycoin/skycoin/src/cipher" +) + +//////////////////////////////////////////////////////////////////////////////// +// +// Struct ConsensusParticipant is inteneded to extend (or be contained in) +// github.com/skycoin/skycoin/src/mesh*/node struct Node, so that +// Node can participate in consensus. +// +//////////////////////////////////////////////////////////////////////////////// +type ConsensusParticipant struct { + Pubkey cipher.PubKey // Who we are + Seckey cipher.SecKey // For signing + + pConnectionManager ConnectionManagerInterface + + // The tail of Blockchain that I keep. + block_queue BlockchainTail + + // Candidates Blocks. + block_stat_queue BlockStatQueue + + Incoming_block_count int +} + +func (self *ConsensusParticipant) GetConnectionManager() ConnectionManagerInterface { + return self.pConnectionManager +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *ConsensusParticipant) GetNextBlockSeqNo() uint64 { + return self.block_queue.GetNextSeqNo() +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *ConsensusParticipant) SetPubkeySeckey( + pubkey cipher.PubKey, + seckey cipher.SecKey) { + + self.Pubkey, self.Seckey = pubkey, seckey + //self.pConnectionManager.SetPubkey(pubkey) +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *ConsensusParticipant) Print() { + fmt.Printf("ConsensusParticipant={pubkey=%s,block_msg_count=%d,", + self.Pubkey.Hex()[:8], self.Incoming_block_count) + + self.pConnectionManager.Print() + + fmt.Printf(",block_queue={") + self.block_queue.Print() + fmt.Printf("}") + + fmt.Printf(",block_stat_queue={") + self.block_stat_queue.Print() + fmt.Printf("}") + + fmt.Printf("}") +} + +//////////////////////////////////////////////////////////////////////////////// +func NewConsensusParticipantPtr(pMan ConnectionManagerInterface) *ConsensusParticipant { + + node := ConsensusParticipant{ + pConnectionManager: pMan, + block_queue: BlockchainTail{}, + Incoming_block_count: 0, + } + node.block_queue.Init() + //node.block_stat_queue.Init() + + // In PROD: each reads/loads the keys. In case the class does not + // expect to sign anything, SecKey should not be stored. + + // In SIMU: generate random keys. + node.SetPubkeySeckey(cipher.GenerateKeyPair()) + + return &node +} + +//////////////////////////////////////////////////////////////////////////////// +// Reasons for this function: 1st, we want to minimize exposure of +// SecKey, even in same process space. 2nd, functions Sign and +// SignHash already exist, so want keep search/browse/jump-to-tag +// unambiguous. +func (self *ConsensusParticipant) SignatureOf(hash cipher.SHA256) cipher.Sig { + + // PERFORMANCE: This is expensive when cipher.DebugLevel2 or + // cipher.DebugLevel1 are true: + return cipher.SignHash(hash, self.Seckey) +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *ConsensusParticipant) Get_block_stat_queue_Len() int { + return self.block_stat_queue.Len() +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *ConsensusParticipant) Get_block_stat_queue_element_at( + j int) *BlockStat { + + return self.block_stat_queue.queue[j] // A pointer, BTW +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *ConsensusParticipant) OnBlockHeaderArrived(blockPtr *BlockBase) { + + self.Incoming_block_count += 1 // TODO: move this to try_add_hash_and_sig + + res1 := self.block_stat_queue.try_append_to_BlockStatQueue(blockPtr) + if res1 == 0 { + self.harvest_ripe_BlockStat() + self.pConnectionManager.SendBlockToAllMySubscriber(blockPtr) + } +} + +//////////////////////////////////////////////////////////////////////////////// +func (self *ConsensusParticipant) harvest_ripe_BlockStat() { + + // POLICY: The BlockStat entries that have much smaller seqno + // than the most recent one, 'blockPtr.seqno', are converted + // to Blocks and appended to blockchain. + n := len(self.block_stat_queue.queue) + if n == 0 { + return + } + + top_seqno := self.block_stat_queue.queue[n-1].seqno + + for i := 0; i < n; i++ { + statPtr := self.block_stat_queue.queue[i] + if statPtr.seqno+ + Cfg_consensus_waiting_time_as_seqno_diff <= top_seqno { + + if !statPtr.frozen { + // + // BEG updating local blockchain + // + + hash, _, sig := statPtr.GetBestHashPubkeySig() + + blockPtr := &BlockBase{ + Sig: sig, + Hash: hash, + Seqno: statPtr.seqno, + } + res := self.block_queue.try_append_to_BlockchainTail(blockPtr) + if res == 0 { + // TODO: 'frozen' items should be removed and the 'best' + // moved to BlockchainTail. + statPtr.frozen = true + } else { + // Appending did not work. Need to examine 'res' + // and log the reason why. + blockPtr = nil + } + // + // END updating local blockchain + // + + } + + } else { + break // The rest are not ripe yet + } + } + +} + +//////////////////////////////////////////////////////////////////////////////// diff --git a/vendor/github.com/skycoin/skycoin/src/consensus/public_broadcast_channel/public_broadcast_channel.go b/vendor/github.com/skycoin/skycoin/src/consensus/public_broadcast_channel/public_broadcast_channel.go new file mode 100755 index 0000000..decead2 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/consensus/public_broadcast_channel/public_broadcast_channel.go @@ -0,0 +1,2 @@ +// nolint +package public_broadcast_channel diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/announced_txns.go b/vendor/github.com/skycoin/skycoin/src/daemon/announced_txns.go new file mode 100755 index 0000000..b67191d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/announced_txns.go @@ -0,0 +1,44 @@ +package daemon + +import ( + "sync" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/util/utc" +) + +type announcedTxnsCache struct { + sync.Mutex + cache map[cipher.SHA256]int64 +} + +func newAnnouncedTxnsCache() *announcedTxnsCache { + return &announcedTxnsCache{ + cache: make(map[cipher.SHA256]int64), + } +} + +func (c *announcedTxnsCache) add(txns []cipher.SHA256) { + c.Lock() + defer c.Unlock() + + t := utc.Now().UnixNano() + for _, txn := range txns { + c.cache[txn] = t + } +} + +func (c *announcedTxnsCache) flush() map[cipher.SHA256]int64 { + c.Lock() + defer c.Unlock() + + if len(c.cache) == 0 { + return nil + } + + cache := c.cache + + c.cache = make(map[cipher.SHA256]int64) + + return cache +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/daemon.go b/vendor/github.com/skycoin/skycoin/src/daemon/daemon.go new file mode 100755 index 0000000..7e78539 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/daemon.go @@ -0,0 +1,1415 @@ +package daemon + +import ( + "bytes" + "errors" + "reflect" + "sync" + "time" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon/gnet" + "github.com/skycoin/skycoin/src/daemon/pex" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/dbutil" + + "github.com/skycoin/skycoin/src/util/elapse" + "github.com/skycoin/skycoin/src/util/iputil" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/util/utc" +) + +/* +Todo +- verify that minimum/maximum connections are working +- keep max connections +- maintain minimum number of outgoing connections per server? + + +*/ +var ( + // ErrDisconnectReasons invalid version + ErrDisconnectInvalidVersion gnet.DisconnectReason = errors.New("Invalid version") + // ErrDisconnectIntroductionTimeout timeout + ErrDisconnectIntroductionTimeout gnet.DisconnectReason = errors.New("Version timeout") + // ErrDisconnectVersionSendFailed version send failed + ErrDisconnectVersionSendFailed gnet.DisconnectReason = errors.New("Version send failed") + // ErrDisconnectIsBlacklisted is blacklisted + ErrDisconnectIsBlacklisted gnet.DisconnectReason = errors.New("Blacklisted") + // ErrDisconnectSelf self connnect + ErrDisconnectSelf gnet.DisconnectReason = errors.New("Self connect") + // ErrDisconnectConnectedTwice connect twice + ErrDisconnectConnectedTwice gnet.DisconnectReason = errors.New("Already connected") + // ErrDisconnectIdle idle + ErrDisconnectIdle gnet.DisconnectReason = errors.New("Idle") + // ErrDisconnectNoIntroduction no introduction + ErrDisconnectNoIntroduction gnet.DisconnectReason = errors.New("First message was not an Introduction") + // ErrDisconnectIPLimitReached ip limit reached + ErrDisconnectIPLimitReached gnet.DisconnectReason = errors.New("Maximum number of connections for this IP was reached") + // ErrDisconnectOtherError this is returned when a seemingly impossible error is encountered + // e.g. net.Conn.Addr() returns an invalid ip:port + ErrDisconnectOtherError gnet.DisconnectReason = errors.New("Incomprehensible error") + ErrDisconnectMaxDefaultConnectionReached = errors.New("Maximum number of default connections was reached") + // ErrDisconnectMaxOutgoingConnectionsReached is returned when connection pool size is greater than the maximum allowed + ErrDisconnectMaxOutgoingConnectionsReached gnet.DisconnectReason = errors.New("Maximum outgoing connections was reached") + // ErrDisconnectBlockchainPubkeyNotMatched is returned when the blockchain pubkey in introduction does not match + ErrDisconnectBlockchainPubkeyNotMatched gnet.DisconnectReason = errors.New("Blockchain pubkey in Introduction message is not matched ") + // ErrDisconnectInvalidExtraData is returned when extra field can't be parsed as specific data type. + // e.g. ExtraData length in IntroductionMessage is not the same as cipher.PubKey + ErrDisconnectInvalidExtraData gnet.DisconnectReason = errors.New("Invalid extra data") + + logger = logging.MustGetLogger("daemon") +) + +const ( + daemonRunDurationThreshold = time.Millisecond * 200 +) + +// Config subsystem configurations +type Config struct { + Daemon DaemonConfig + Messages MessagesConfig + Pool PoolConfig + Pex pex.Config + Gateway GatewayConfig + Visor visor.Config +} + +// NewConfig returns a Config with defaults set +func NewConfig() Config { + return Config{ + Daemon: NewDaemonConfig(), + Pool: NewPoolConfig(), + Pex: pex.NewConfig(), + Gateway: NewGatewayConfig(), + Messages: NewMessagesConfig(), + Visor: visor.NewVisorConfig(), + } +} + +// preprocess preprocess for config +func (cfg *Config) preprocess() Config { + config := *cfg + if config.Daemon.LocalhostOnly { + if config.Daemon.Address == "" { + local, err := iputil.LocalhostIP() + if err != nil { + logger.Panicf("Failed to obtain localhost IP: %v", err) + } + config.Daemon.Address = local + } else { + if !iputil.IsLocalhost(config.Daemon.Address) { + logger.Panicf("Invalid address for localhost-only: %s", config.Daemon.Address) + } + } + config.Pex.AllowLocalhost = true + } + config.Pool.port = config.Daemon.Port + config.Pool.address = config.Daemon.Address + + if config.Daemon.DisableNetworking { + logger.Info("Networking is disabled") + config.Pex.Disabled = true + config.Daemon.DisableIncomingConnections = true + config.Daemon.DisableOutgoingConnections = true + } else { + if config.Daemon.DisableIncomingConnections { + logger.Info("Incoming connections are disabled.") + } + if config.Daemon.DisableOutgoingConnections { + logger.Info("Outgoing connections are disabled.") + } + } + + return config +} + +// DaemonConfig configuration for the Daemon +type DaemonConfig struct { // nolint: golint + // Protocol version. TODO -- manage version better + Version int32 + // IP Address to serve on. Leave empty for automatic assignment + Address string + // BlockchainPubkey blockchain pubkey string + BlockchainPubkey cipher.PubKey + // TCP/UDP port for connections + Port int + // Directory where application data is stored + DataDirectory string + // How often to check and initiate an outgoing connection if needed + OutgoingRate time.Duration + // How often to re-attempt to fill any missing private (aka required) + // connections + PrivateRate time.Duration + // Number of outgoing connections to maintain + OutgoingMax int + // Maximum number of connections to try at once + PendingMax int + // How long to wait for a version packet + IntroductionWait time.Duration + // How often to check for peers that have decided to stop communicating + CullInvalidRate time.Duration + // How often to update the database with transaction announcement timestamps + FlushAnnouncedTxnsRate time.Duration + // How many connections are allowed from the same base IP + IPCountsMax int + // Disable all networking activity + DisableNetworking bool + // Don't make outgoing connections + DisableOutgoingConnections bool + // Don't allow incoming connections + DisableIncomingConnections bool + // Run on localhost and only connect to localhost peers + LocalhostOnly bool + // Log ping and pong messages + LogPings bool + // How often to request blocks from peers + BlocksRequestRate time.Duration + // How often to announce our blocks to peers + BlocksAnnounceRate time.Duration + // How many blocks to respond with to a GetBlocksMessage + BlocksResponseCount uint64 + // Max announce txns hash number + MaxTxnAnnounceNum int + // How often new blocks are created by the signing node, in seconds + BlockCreationInterval uint64 + // How often to check the unconfirmed pool for transactions that become valid + UnconfirmedRefreshRate time.Duration + // How often to remove transactions that become permanently invalid from the unconfirmed pool + UnconfirmedRemoveInvalidRate time.Duration +} + +// NewDaemonConfig creates daemon config +func NewDaemonConfig() DaemonConfig { + return DaemonConfig{ + Version: 2, + Address: "", + Port: 6677, + OutgoingRate: time.Second * 5, + PrivateRate: time.Second * 5, + OutgoingMax: 8, + PendingMax: 8, + IntroductionWait: time.Second * 30, + CullInvalidRate: time.Second * 3, + FlushAnnouncedTxnsRate: time.Second * 3, + IPCountsMax: 3, + DisableNetworking: false, + DisableOutgoingConnections: false, + DisableIncomingConnections: false, + LocalhostOnly: false, + LogPings: true, + BlocksRequestRate: time.Second * 60, + BlocksAnnounceRate: time.Second * 60, + BlocksResponseCount: 20, + MaxTxnAnnounceNum: 16, + BlockCreationInterval: 10, + UnconfirmedRefreshRate: time.Minute, + UnconfirmedRemoveInvalidRate: time.Minute, + } +} + +//go:generate go install +//go:generate goautomock -template=testify Daemoner + +// Daemoner Daemon interface +type Daemoner interface { + SendMessage(addr string, msg gnet.Message) error + BroadcastMessage(msg gnet.Message) error + Disconnect(addr string, r gnet.DisconnectReason) error + IsDefaultConnection(addr string) bool + IsMaxDefaultConnectionsReached() (bool, error) + PexConfig() pex.Config + RandomExchangeable(n int) pex.Peers + AddPeer(addr string) error + AddPeers(addrs []string) int + SetHasIncomingPort(addr string) error + IncreaseRetryTimes(addr string) + ResetRetryTimes(addr string) + RecordPeerHeight(addr string, height uint64) + GetSignedBlocksSince(seq, count uint64) ([]coin.SignedBlock, error) + HeadBkSeq() (uint64, bool, error) + ExecuteSignedBlock(b coin.SignedBlock) error + GetUnconfirmedUnknown(txns []cipher.SHA256) ([]cipher.SHA256, error) + GetUnconfirmedKnown(txns []cipher.SHA256) (coin.Transactions, error) + InjectTransaction(txn coin.Transaction) (bool, *visor.ErrTxnViolatesSoftConstraint, error) + Mirror() uint32 + DaemonConfig() DaemonConfig + BlockchainPubkey() cipher.PubKey + RecordMessageEvent(m AsyncMessage, c *gnet.MessageContext) error + RecordConnectionMirror(addr string, mirror uint32) error + GetMirrorPort(addr string, mirror uint32) (uint16, bool) + RemoveFromExpectingIntroductions(addr string) + RequestBlocksFromAddr(addr string) error + AnnounceAllTxns() error +} + +// Daemon stateful properties of the daemon +type Daemon struct { + // Daemon configuration + Config DaemonConfig + + // Components + Messages *Messages + pool *Pool + pex *pex.Pex + Gateway *Gateway + visor *visor.Visor + + DefaultConnections []string + + // Cache of announced transactions that are flushed to the database periodically + announcedTxns *announcedTxnsCache + // Cache of reported peer blockchain heights + Heights *peerBlockchainHeights + + // Separate index of outgoing connections. The pool aggregates all + // connections. + outgoingConnections *OutgoingConnections + // Number of connections waiting to be formed or timeout + pendingConnections *PendingConnections + // Keep track of unsolicited clients who should notify us of their version + expectingIntroductions *ExpectIntroductions + // Keep track of a connection's mirror value, to avoid double + // connections (one to their listener, and one to our listener) + // Maps from addr to mirror value + connectionMirrors *ConnectionMirrors + // Maps from mirror value to a map of ip (no port) + // We use a map of ip as value because multiple peers can have the same + // mirror (to avoid attacks enabled by our use of mirrors), + // but only one per base ip + mirrorConnections *MirrorConnections + // Client connection callbacks + onConnectEvent chan ConnectEvent + // Client disconnection callbacks + onDisconnectEvent chan DisconnectEvent + // Connection failure events + connectionErrors chan ConnectionError + // Tracking connections from the same base IP. Multiple connections + // from the same base IP are allowed but limited. + ipCounts *IPCount + // Message handling queue + messageEvents chan MessageEvent + // quit channel + quit chan struct{} + // done channel + done chan struct{} + // log buffer + LogBuff bytes.Buffer +} + +// NewDaemon returns a Daemon with primitives allocated +func NewDaemon(config Config, db *dbutil.DB, defaultConns []string) (*Daemon, error) { + config = config.preprocess() + vs, err := visor.NewVisor(config.Visor, db) + if err != nil { + return nil, err + } + + pex, err := pex.New(config.Pex, defaultConns) + if err != nil { + return nil, err + } + + d := &Daemon{ + Config: config.Daemon, + Messages: NewMessages(config.Messages), + pex: pex, + visor: vs, + + DefaultConnections: defaultConns, + + announcedTxns: newAnnouncedTxnsCache(), + Heights: newPeerBlockchainHeights(), + + expectingIntroductions: NewExpectIntroductions(), + connectionMirrors: NewConnectionMirrors(), + mirrorConnections: NewMirrorConnections(), + ipCounts: NewIPCount(), + // TODO -- if there are performance problems from blocking chans, + // Its because we are connecting to more things than OutgoingMax + // if we have private peers + onConnectEvent: make(chan ConnectEvent, config.Pool.MaxConnections*2), + onDisconnectEvent: make(chan DisconnectEvent, config.Pool.MaxConnections*2), + connectionErrors: make(chan ConnectionError, config.Pool.MaxConnections*2), + outgoingConnections: NewOutgoingConnections(config.Daemon.OutgoingMax), + pendingConnections: NewPendingConnections(config.Daemon.PendingMax), + messageEvents: make(chan MessageEvent, config.Pool.EventChannelSize), + quit: make(chan struct{}), + done: make(chan struct{}), + } + + d.Gateway = NewGateway(config.Gateway, d) + d.Messages.Config.Register() + d.pool = NewPool(config.Pool, d) + + return d, nil +} + +// ConnectEvent generated when a client connects +type ConnectEvent struct { + Addr string + Solicited bool +} + +// DisconnectEvent generated when a connection terminated +type DisconnectEvent struct { + Addr string + Reason gnet.DisconnectReason +} + +// ConnectionError represent a failure to connect/dial a connection, with context +type ConnectionError struct { + Addr string + Error error +} + +// MessageEvent encapsulates a deserialized message from the network +type MessageEvent struct { + Message AsyncMessage + Context *gnet.MessageContext +} + +// Shutdown Terminates all subsystems safely. To stop the Daemon run loop, send a value +// over the quit channel provided to Init. The Daemon run loop must be stopped +// before calling this function. +func (dm *Daemon) Shutdown() { + defer logger.Info("Daemon shutdown complete") + + // close daemon run loop first to avoid creating new connection after + // the connection pool is shutdown. + logger.Info("Stopping the daemon run loop") + close(dm.quit) + + logger.Info("Shutting down Pool") + dm.pool.Shutdown() + + logger.Info("Shutting down Gateway") + dm.Gateway.Shutdown() + + logger.Info("Shutting down Pex") + dm.pex.Shutdown() + + <-dm.done +} + +// Run main loop for peer/connection management. +// Send anything to the quit channel to shut it down. +func (dm *Daemon) Run() error { + defer logger.Info("Daemon closed") + defer close(dm.done) + + if err := dm.visor.Init(); err != nil { + logger.WithError(err).Error("visor.Visor.Init failed") + return err + } + + errC := make(chan error, 5) + var wg sync.WaitGroup + + wg.Add(1) + go func() { + defer wg.Done() + if err := dm.pex.Run(); err != nil { + logger.WithError(err).Error("daemon.Pex.Run failed") + errC <- err + } + }() + + wg.Add(1) + go func() { + defer wg.Done() + if dm.Config.DisableIncomingConnections { + if err := dm.pool.RunOffline(); err != nil { + logger.WithError(err).Error("daemon.Pool.RunOffline failed") + errC <- err + } + } else { + if err := dm.pool.Run(); err != nil { + logger.WithError(err).Error("daemon.Pool.Run failed") + errC <- err + } + } + }() + + blockInterval := time.Duration(dm.Config.BlockCreationInterval) + blockCreationTicker := time.NewTicker(time.Second * blockInterval) + if !dm.visor.Config.IsMaster { + blockCreationTicker.Stop() + } + + unconfirmedRefreshTicker := time.Tick(dm.Config.UnconfirmedRefreshRate) + unconfirmedRemoveInvalidTicker := time.Tick(dm.Config.UnconfirmedRemoveInvalidRate) + blocksRequestTicker := time.Tick(dm.Config.BlocksRequestRate) + blocksAnnounceTicker := time.Tick(dm.Config.BlocksAnnounceRate) + + privateConnectionsTicker := time.Tick(dm.Config.PrivateRate) + cullInvalidTicker := time.Tick(dm.Config.CullInvalidRate) + outgoingConnectionsTicker := time.Tick(dm.Config.OutgoingRate) + requestPeersTicker := time.Tick(dm.pex.Config.RequestRate) + clearStaleConnectionsTicker := time.Tick(dm.pool.Config.ClearStaleRate) + idleCheckTicker := time.Tick(dm.pool.Config.IdleCheckRate) + + flushAnnouncedTxnsTicker := time.Tick(dm.Config.FlushAnnouncedTxnsRate) + + // Connect to trusted peers + if !dm.Config.DisableOutgoingConnections { + wg.Add(1) + go func() { + defer wg.Done() + dm.connectToTrustPeer() + }() + } + + var err error + elapser := elapse.NewElapser(daemonRunDurationThreshold, logger) + + // Process SendResults in a separate goroutine, otherwise SendResults + // will fill up much faster than can be processed by the daemon run loop + // dm.handleMessageSendResult must take care not to perform any operation + // that would violate thread safety, since it is not serialized by the daemon run loop + wg.Add(1) + go func() { + defer wg.Done() + elapser := elapse.NewElapser(daemonRunDurationThreshold, logger) + loop: + for { + elapser.CheckForDone() + select { + case <-dm.quit: + break loop + + case r := <-dm.pool.Pool.SendResults: + // Process message sending results + elapser.Register("dm.Pool.Pool.SendResults") + if dm.Config.DisableNetworking { + logger.Error("There should be nothing in SendResults") + return + } + dm.handleMessageSendResult(r) + } + } + }() + +loop: + for { + elapser.CheckForDone() + select { + case <-dm.quit: + break loop + + case <-cullInvalidTicker: + // Remove connections that failed to complete the handshake + elapser.Register("cullInvalidTicker") + if !dm.Config.DisableNetworking { + dm.cullInvalidConnections() + } + + case <-requestPeersTicker: + // Request peers via PEX + elapser.Register("requestPeersTicker") + if dm.pex.Config.Disabled { + continue + } + + if dm.pex.IsFull() { + continue + } + + m := NewGetPeersMessage() + if err := dm.pool.Pool.BroadcastMessage(m); err != nil { + logger.Error(err) + } + + case <-clearStaleConnectionsTicker: + // Remove connections that haven't said anything in a while + elapser.Register("clearStaleConnectionsTicker") + if !dm.Config.DisableNetworking { + dm.pool.clearStaleConnections() + } + + case <-idleCheckTicker: + // Sends pings as needed + elapser.Register("idleCheckTicker") + if !dm.Config.DisableNetworking { + dm.pool.sendPings() + } + + case <-outgoingConnectionsTicker: + // Fill up our outgoing connections + elapser.Register("outgoingConnectionsTicker") + trustPeerNum := len(dm.pex.Trusted()) + if !dm.Config.DisableOutgoingConnections && + dm.outgoingConnections.Len() < (dm.Config.OutgoingMax+trustPeerNum) && + dm.pendingConnections.Len() < dm.Config.PendingMax { + dm.connectToRandomPeer() + } + + case <-privateConnectionsTicker: + // Always try to stay connected to our private peers + // TODO (also, connect to all of them on start) + elapser.Register("privateConnectionsTicker") + if !dm.Config.DisableOutgoingConnections { + dm.makePrivateConnections() + } + + case r := <-dm.onConnectEvent: + // Process callbacks for when a client connects. No disconnect chan + // is needed because the callback is triggered by HandleDisconnectEvent + // which is already select{}ed here + elapser.Register("dm.onConnectEvent") + if dm.Config.DisableNetworking { + logger.Error("There should be no connect events") + return nil + } + dm.onConnect(r) + + case de := <-dm.onDisconnectEvent: + elapser.Register("dm.onDisconnectEvent") + if dm.Config.DisableNetworking { + logger.Error("There should be no disconnect events") + return nil + } + dm.onDisconnect(de) + + case r := <-dm.connectionErrors: + // Handle connection errors + elapser.Register("dm.connectionErrors") + if dm.Config.DisableNetworking { + logger.Error("There should be no connection errors") + return nil + } + dm.handleConnectionError(r) + + case <-flushAnnouncedTxnsTicker: + elapser.Register("flushAnnouncedTxnsTicker") + txns := dm.announcedTxns.flush() + + if err := dm.visor.SetTxnsAnnounced(txns); err != nil { + logger.WithError(err).Error("Failed to set unconfirmed txn announce time") + return err + } + + case m := <-dm.messageEvents: + // Message handlers + elapser.Register("dm.messageEvents") + if dm.Config.DisableNetworking { + logger.Error("There should be no message events") + return nil + } + dm.processMessageEvent(m) + + case req := <-dm.Gateway.requests: + // Process any pending RPC requests + elapser.Register("dm.Gateway.requests") + req.Func() + + case <-blockCreationTicker.C: + // Create blocks, if master chain + elapser.Register("blockCreationTicker.C") + if dm.visor.Config.IsMaster { + sb, err := dm.CreateAndPublishBlock() + if err != nil { + logger.Errorf("Failed to create and publish block: %v", err) + continue + } + + // Not a critical error, but we want it visible in logs + head := sb.Block.Head + logger.Critical().Infof("Created and published a new block, version=%d seq=%d time=%d", head.Version, head.BkSeq, head.Time) + } + + case <-unconfirmedRefreshTicker: + elapser.Register("unconfirmedRefreshTicker") + // Get the transactions that turn to valid + validTxns, err := dm.visor.RefreshUnconfirmed() + if err != nil { + logger.Errorf("dm.Visor.RefreshUnconfirmed failed: %v", err) + continue + } + // Announce these transactions + dm.AnnounceTxns(validTxns) + + case <-unconfirmedRemoveInvalidTicker: + elapser.Register("unconfirmedRemoveInvalidTicker") + // Remove transactions that become invalid (violating hard constraints) + removedTxns, err := dm.visor.RemoveInvalidUnconfirmed() + if err != nil { + logger.Errorf("dm.Visor.RemoveInvalidUnconfirmed failed: %v", err) + continue + } + if len(removedTxns) > 0 { + logger.Infof("Remove %d txns from pool that began violating hard constraints", len(removedTxns)) + } + + case <-blocksRequestTicker: + elapser.Register("blocksRequestTicker") + dm.RequestBlocks() + + case <-blocksAnnounceTicker: + elapser.Register("blocksAnnounceTicker") + dm.AnnounceBlocks() + + case err = <-errC: + break loop + } + } + + wg.Wait() + + return err +} + +// GetListenPort returns the ListenPort for a given address. +// If no port is found, 0 is returned. +func (dm *Daemon) GetListenPort(addr string) uint16 { + m, ok := dm.connectionMirrors.Get(addr) + if !ok { + return 0 + } + + ip, _, err := iputil.SplitAddr(addr) + if err != nil { + logger.Errorf("GetListenPort received invalid addr: %v", err) + return 0 + } + + p, ok := dm.mirrorConnections.Get(m, ip) + if !ok { + return 0 + } + return p +} + +// Connects to a given peer. Returns an error if no connection attempt was +// made. If the connection attempt itself fails, the error is sent to +// the connectionErrors channel. +func (dm *Daemon) connectToPeer(p pex.Peer) error { + if dm.Config.DisableOutgoingConnections { + return errors.New("Outgoing connections disabled") + } + + a, _, err := iputil.SplitAddr(p.Addr) + if err != nil { + logger.Warningf("PEX gave us an invalid peer: %v", err) + return errors.New("Invalid peer") + } + if dm.Config.LocalhostOnly && !iputil.IsLocalhost(a) { + return errors.New("Not localhost") + } + + conned, err := dm.pool.Pool.IsConnExist(p.Addr) + if err != nil { + return err + } + + if conned { + return errors.New("Already connected") + } + + if _, ok := dm.pendingConnections.Get(p.Addr); ok { + return errors.New("Connection is pending") + } + cnt, ok := dm.ipCounts.Get(a) + if !dm.Config.LocalhostOnly && ok && cnt != 0 { + return errors.New("Already connected to a peer with this base IP") + } + + logger.Debugf("Trying to connect to %s", p.Addr) + dm.pendingConnections.Add(p.Addr, p) + go func() { + if err := dm.pool.Pool.Connect(p.Addr); err != nil { + dm.connectionErrors <- ConnectionError{p.Addr, err} + } + }() + return nil +} + +// Connects to all private peers +func (dm *Daemon) makePrivateConnections() { + if dm.Config.DisableOutgoingConnections { + return + } + + peers := dm.pex.Private() + for _, p := range peers { + logger.Infof("Private peer attempt: %s", p.Addr) + if err := dm.connectToPeer(p); err != nil { + logger.Debugf("Did not connect to private peer: %v", err) + } + } +} + +func (dm *Daemon) connectToTrustPeer() { + if dm.Config.DisableIncomingConnections { + return + } + + logger.Info("Connect to trusted peers") + // Make connections to all trusted peers + peers := dm.pex.TrustedPublic() + for _, p := range peers { + dm.connectToPeer(p) + } +} + +// Attempts to connect to a random peer. If it fails, the peer is removed. +func (dm *Daemon) connectToRandomPeer() { + if dm.Config.DisableOutgoingConnections { + return + } + + // Make a connection to a random (public) peer + peers := dm.pex.RandomPublic(dm.Config.OutgoingMax) + for _, p := range peers { + // Check if the peer has public port + if p.HasIncomingPort { + // Try to connect the peer if it's ip:mirror does not exist + if _, exist := dm.GetMirrorPort(p.Addr, dm.Messages.Mirror); !exist { + dm.connectToPeer(p) + continue + } + } else { + // Try to connect to the peer if we don't know whether the peer have public port + dm.connectToPeer(p) + } + } + + if len(peers) == 0 { + // Reset the retry times of all peers, + dm.pex.ResetAllRetryTimes() + } +} + +// We remove a peer from the Pex if we failed to connect +// TODO - On failure to connect, use exponential backoff, not peer list +func (dm *Daemon) handleConnectionError(c ConnectionError) { + logger.Debugf("Failed to connect to %s with error: %v", c.Addr, c.Error) + dm.pendingConnections.Remove(c.Addr) + + dm.pex.IncreaseRetryTimes(c.Addr) +} + +// Removes unsolicited connections who haven't sent a version +func (dm *Daemon) cullInvalidConnections() { + // This method only handles the erroneous people from the DHT, but not + // malicious nodes + now := utc.Now() + addrs, err := dm.expectingIntroductions.CullInvalidConns( + func(addr string, t time.Time) (bool, error) { + conned, err := dm.pool.Pool.IsConnExist(addr) + if err != nil { + return false, err + } + + // Do not remove trusted peers + if dm.isTrustedPeer(addr) { + return false, nil + } + + if !conned { + return true, nil + } + + if t.Add(dm.Config.IntroductionWait).Before(now) { + return true, nil + } + return false, nil + }) + + if err != nil { + logger.Errorf("expectingIntroduction cull invalid connections failed: %v", err) + return + } + + for _, a := range addrs { + exist, err := dm.pool.Pool.IsConnExist(a) + if err != nil { + logger.Error(err) + return + } + + if exist { + logger.Infof("Removing %s for not sending a version", a) + if err := dm.pool.Pool.Disconnect(a, ErrDisconnectIntroductionTimeout); err != nil { + logger.Error(err) + return + } + dm.pex.RemovePeer(a) + } + } +} + +func (dm *Daemon) isTrustedPeer(addr string) bool { + peer, ok := dm.pex.GetPeerByAddr(addr) + if !ok { + return false + } + + return peer.Trusted +} + +// RecordMessageEvent records an AsyncMessage to the messageEvent chan. Do not access +// messageEvent directly. +func (dm *Daemon) RecordMessageEvent(m AsyncMessage, c *gnet.MessageContext) error { + dm.messageEvents <- MessageEvent{m, c} + return nil +} + +// check if the connection needs introduction message +func (dm *Daemon) needsIntro(addr string) bool { + _, exist := dm.expectingIntroductions.Get(addr) + return exist +} + +// Processes a queued AsyncMessage. +func (dm *Daemon) processMessageEvent(e MessageEvent) { + // The first message received must be an Introduction + // We have to check at process time and not record time because + // Introduction message does not update ExpectingIntroductions until its + // Process() is called + // _, needsIntro := self.expectingIntroductions[e.Context.Addr] + // if needsIntro { + if dm.needsIntro(e.Context.Addr) { + _, isIntro := e.Message.(*IntroductionMessage) + if !isIntro { + dm.pool.Pool.Disconnect(e.Context.Addr, ErrDisconnectNoIntroduction) + } + } + e.Message.Process(dm) +} + +// Called when a ConnectEvent is processed off the onConnectEvent channel +func (dm *Daemon) onConnect(e ConnectEvent) { + a := e.Addr + + if e.Solicited { + logger.Infof("Connected to peer: %s (outgoing)", a) + } else { + logger.Infof("Connected to peer: %s (incoming)", a) + } + + dm.pendingConnections.Remove(a) + + exist, err := dm.pool.Pool.IsConnExist(a) + if err != nil { + logger.Error(err) + return + } + + if !exist { + logger.Warning("While processing an onConnect event, no pool connection was found") + return + } + + if dm.ipCountMaxed(a) { + logger.Infof("Max connections for %s reached, disconnecting", a) + dm.pool.Pool.Disconnect(a, ErrDisconnectIPLimitReached) + return + } + + dm.recordIPCount(a) + + if e.Solicited { + // Disconnect if the max outgoing connections is reached + n, err := dm.pool.Pool.OutgoingConnectionsNum() + if err != nil { + logger.WithError(err).Error("get outgoing connections number failed") + return + } + + if n > dm.Config.OutgoingMax { + logger.Warningf("max outgoing connections is reached, disconnecting %v", a) + dm.pool.Pool.Disconnect(a, ErrDisconnectMaxOutgoingConnectionsReached) + return + } + + dm.outgoingConnections.Add(a) + } + + dm.expectingIntroductions.Add(a, utc.Now()) + logger.Debugf("Sending introduction message to %s, mirror:%d", a, dm.Messages.Mirror) + // TODO: replace the last paramenter of nil with dm.Config.BlockchainPubkey in v25 + m := NewIntroductionMessage(dm.Messages.Mirror, dm.Config.Version, dm.pool.Pool.Config.Port, nil) + if err := dm.pool.Pool.SendMessage(a, m); err != nil { + logger.Errorf("Send IntroductionMessage to %s failed: %v", a, err) + } +} + +func (dm *Daemon) onDisconnect(e DisconnectEvent) { + logger.Infof("%s disconnected because: %v", e.Addr, e.Reason) + + dm.outgoingConnections.Remove(e.Addr) + dm.expectingIntroductions.Remove(e.Addr) + dm.Heights.Remove(e.Addr) + dm.removeIPCount(e.Addr) + dm.removeConnectionMirror(e.Addr) +} + +// Triggered when an gnet.Connection terminates +func (dm *Daemon) onGnetDisconnect(addr string, reason gnet.DisconnectReason) { + e := DisconnectEvent{ + Addr: addr, + Reason: reason, + } + select { + case dm.onDisconnectEvent <- e: + default: + logger.Warning("onDisconnectEvent channel is full") + } +} + +// Triggered when an gnet.Connection is connected +func (dm *Daemon) onGnetConnect(addr string, solicited bool) { + dm.onConnectEvent <- ConnectEvent{Addr: addr, Solicited: solicited} +} + +// Returns whether the ipCount maximum has been reached +func (dm *Daemon) ipCountMaxed(addr string) bool { + ip, _, err := iputil.SplitAddr(addr) + if err != nil { + logger.Warningf("ipCountMaxed called with invalid addr: %v", err) + return true + } + + if cnt, ok := dm.ipCounts.Get(ip); ok { + return cnt >= dm.Config.IPCountsMax + } + return false +} + +// Adds base IP to ipCount or returns error if max is reached +func (dm *Daemon) recordIPCount(addr string) { + ip, _, err := iputil.SplitAddr(addr) + if err != nil { + logger.Warningf("recordIPCount called with invalid addr: %v", err) + return + } + dm.ipCounts.Increase(ip) +} + +// Removes base IP from ipCount +func (dm *Daemon) removeIPCount(addr string) { + ip, _, err := iputil.SplitAddr(addr) + if err != nil { + logger.Warningf("removeIPCount called with invalid addr: %v", err) + return + } + dm.ipCounts.Decrease(ip) +} + +// RecordConnectionMirror adds addr + mirror to the connectionMirror mappings +func (dm *Daemon) RecordConnectionMirror(addr string, mirror uint32) error { + ip, port, err := iputil.SplitAddr(addr) + if err != nil { + logger.Warningf("RecordConnectionMirror called with invalid addr: %v", err) + return err + } + dm.connectionMirrors.Add(addr, mirror) + dm.mirrorConnections.Add(mirror, ip, port) + return nil +} + +// Removes an addr from the connectionMirror mappings +func (dm *Daemon) removeConnectionMirror(addr string) { + mirror, ok := dm.connectionMirrors.Get(addr) + if !ok { + return + } + ip, _, err := iputil.SplitAddr(addr) + if err != nil { + logger.Warningf("removeConnectionMirror called with invalid addr: %v", err) + return + } + + // remove ip from specific mirror + dm.mirrorConnections.Remove(mirror, ip) + + dm.connectionMirrors.Remove(addr) +} + +// GetMirrorPort returns whether an addr+mirror's port and whether the port exists +func (dm *Daemon) GetMirrorPort(addr string, mirror uint32) (uint16, bool) { + ip, _, err := iputil.SplitAddr(addr) + if err != nil { + logger.Warningf("getMirrorPort called with invalid addr: %v", err) + return 0, false + } + return dm.mirrorConnections.Get(mirror, ip) +} + +// When an async message send finishes, its result is handled by this. +// This method must take care to perform only thread-safe actions, since it is called +// outside of the daemon run loop +func (dm *Daemon) handleMessageSendResult(r gnet.SendResult) { + if r.Error != nil { + logger.Warningf("Failed to send %s to %s: %v", reflect.TypeOf(r.Message), r.Addr, r.Error) + return + } + switch r.Message.(type) { + case SendingTxnsMessage: + dm.announcedTxns.add(r.Message.(SendingTxnsMessage).GetTxns()) + default: + } +} + +// RequestBlocks Sends a GetBlocksMessage to all connections +func (dm *Daemon) RequestBlocks() error { + if dm.Config.DisableOutgoingConnections { + return nil + } + + headSeq, ok, err := dm.visor.HeadBkSeq() + if err != nil { + return err + } + if !ok { + return errors.New("Cannot request blocks, there is no head block") + } + + m := NewGetBlocksMessage(headSeq, dm.Config.BlocksResponseCount) + + err = dm.pool.Pool.BroadcastMessage(m) + if err != nil { + logger.Debugf("Broadcast GetBlocksMessage failed: %v", err) + } + + return err +} + +// AnnounceBlocks sends an AnnounceBlocksMessage to all connections +func (dm *Daemon) AnnounceBlocks() error { + if dm.Config.DisableOutgoingConnections { + return nil + } + + headSeq, ok, err := dm.visor.HeadBkSeq() + if err != nil { + return err + } + if !ok { + return errors.New("Cannot announce blocks, there is no head block") + } + + m := NewAnnounceBlocksMessage(headSeq) + + err = dm.pool.Pool.BroadcastMessage(m) + if err != nil { + logger.Debugf("Broadcast AnnounceBlocksMessage failed: %v", err) + } + + return err +} + +// AnnounceAllTxns announces local unconfirmed transactions +func (dm *Daemon) AnnounceAllTxns() error { + if dm.Config.DisableOutgoingConnections { + return nil + } + + // Get local unconfirmed transaction hashes. + hashes, err := dm.visor.GetAllValidUnconfirmedTxHashes() + if err != nil { + return err + } + + // Divide hashes into multiple sets of max size + hashesSet := divideHashes(hashes, dm.Config.MaxTxnAnnounceNum) + + for _, hs := range hashesSet { + m := NewAnnounceTxnsMessage(hs) + if err = dm.pool.Pool.BroadcastMessage(m); err != nil { + break + } + } + + if err != nil { + logger.Debugf("Broadcast AnnounceTxnsMessage failed, err: %v", err) + } + + return err +} + +func divideHashes(hashes []cipher.SHA256, n int) [][]cipher.SHA256 { + if len(hashes) == 0 { + return [][]cipher.SHA256{} + } + + var j int + var hashesArray [][]cipher.SHA256 + + if len(hashes) > n { + for i := range hashes { + if len(hashes[j:i]) == n { + hs := make([]cipher.SHA256, n) + copy(hs, hashes[j:i]) + hashesArray = append(hashesArray, hs) + j = i + } + } + } + + hs := make([]cipher.SHA256, len(hashes)-j) + copy(hs, hashes[j:]) + hashesArray = append(hashesArray, hs) + return hashesArray +} + +// AnnounceTxns announces given transaction hashes. +func (dm *Daemon) AnnounceTxns(txns []cipher.SHA256) error { + if dm.Config.DisableOutgoingConnections { + return nil + } + + if len(txns) == 0 { + return nil + } + + m := NewAnnounceTxnsMessage(txns) + + err := dm.pool.Pool.BroadcastMessage(m) + if err != nil { + logger.Debugf("Broadcast AnnounceTxnsMessage failed: %v", err) + } + + return err +} + +// RequestBlocksFromAddr sends a GetBlocksMessage to one connected address +func (dm *Daemon) RequestBlocksFromAddr(addr string) error { + if dm.Config.DisableOutgoingConnections { + return errors.New("Outgoing connections disabled") + } + + headSeq, ok, err := dm.visor.HeadBkSeq() + if err != nil { + return err + } + if !ok { + return errors.New("Cannot request blocks from addr, there is no head block") + } + + m := NewGetBlocksMessage(headSeq, dm.Config.BlocksResponseCount) + + return dm.pool.Pool.SendMessage(addr, m) +} + +// InjectBroadcastTransaction injects transaction to the unconfirmed pool and broadcasts it. +// If the transaction violates either hard or soft constraints, it is not broadcast. +// This method is to be used by user-initiated transaction injections. +// For transactions received over the network, use InjectTransaction and check the result to +// decide on repropagation. +func (dm *Daemon) InjectBroadcastTransaction(txn coin.Transaction) error { + if _, err := dm.visor.InjectTransactionStrict(txn); err != nil { + return err + } + + return dm.broadcastTransaction(txn) +} + +// ResendUnconfirmedTxns resends all unconfirmed transactions and returns the hashes that were successfully rebroadcast +func (dm *Daemon) ResendUnconfirmedTxns() ([]cipher.SHA256, error) { + if dm.Config.DisableOutgoingConnections { + return nil, nil + } + + txns, err := dm.visor.GetAllUnconfirmedTxns() + if err != nil { + return nil, err + } + + var txids []cipher.SHA256 + for i := range txns { + logger.Debugf("Rebroadcast tx %s", txns[i].Hash().Hex()) + if err := dm.broadcastTransaction(txns[i].Txn); err == nil { + txids = append(txids, txns[i].Txn.Hash()) + } + } + + return txids, nil +} + +// broadcastTransaction broadcasts a single transaction to all peers. +func (dm *Daemon) broadcastTransaction(t coin.Transaction) error { + if dm.Config.DisableOutgoingConnections { + return nil + } + + m := NewGiveTxnsMessage(coin.Transactions{t}) + l, err := dm.pool.Pool.Size() + if err != nil { + return err + } + + logger.Debugf("Broadcasting GiveTxnsMessage to %d conns", l) + + err = dm.pool.Pool.BroadcastMessage(m) + if err != nil { + logger.Errorf("Broadcast GivenTxnsMessage failed: %v", err) + } + + return err +} + +// CreateAndPublishBlock creates a block from unconfirmed transactions and sends it to the network. +// Will panic if not running as a master chain. +// Will not create a block if outgoing connections are disabled. +// If the block was created but the broadcast failed, the error will be non-nil but the +// SignedBlock value will not be empty. +// TODO -- refactor this method -- it should either always create a block and maybe broadcast it, +// or use a database transaction to rollback block publishing if broadcast failed (however, this will cause a slow DB write) +func (dm *Daemon) CreateAndPublishBlock() (*coin.SignedBlock, error) { + if dm.Config.DisableOutgoingConnections { + return nil, errors.New("Outgoing connections disabled") + } + + sb, err := dm.visor.CreateAndExecuteBlock() + if err != nil { + return nil, err + } + + err = dm.broadcastBlock(sb) + + return &sb, err +} + +// Sends a signed block to all connections. +func (dm *Daemon) broadcastBlock(sb coin.SignedBlock) error { + if dm.Config.DisableOutgoingConnections { + return nil + } + + m := NewGiveBlocksMessage([]coin.SignedBlock{sb}) + return dm.pool.Pool.BroadcastMessage(m) +} + +// Mirror returns the message mirror +func (dm *Daemon) Mirror() uint32 { + return dm.Messages.Mirror +} + +// DaemonConfig returns the daemon config +func (dm *Daemon) DaemonConfig() DaemonConfig { + return dm.Config +} + +// BlockchainPubkey returns the blockchain pubkey +func (dm *Daemon) BlockchainPubkey() cipher.PubKey { + return dm.Config.BlockchainPubkey +} + +// RemoveFromExpectingIntroductions removes the peer from expect introduction pool +func (dm *Daemon) RemoveFromExpectingIntroductions(addr string) { + dm.expectingIntroductions.Remove(addr) +} + +// Implements pooler interface + +// SendMessage sends a Message to a Connection and pushes the result onto the +// SendResults channel. +func (dm *Daemon) SendMessage(addr string, msg gnet.Message) error { + return dm.pool.Pool.SendMessage(addr, msg) +} + +// BroadcastMessage sends a Message to all connections in the Pool. +func (dm *Daemon) BroadcastMessage(msg gnet.Message) error { + return dm.pool.Pool.BroadcastMessage(msg) +} + +// Disconnect removes a connection from the pool by address, and passes a Disconnection to +// the DisconnectCallback +func (dm *Daemon) Disconnect(addr string, r gnet.DisconnectReason) error { + return dm.pool.Pool.Disconnect(addr, r) +} + +// IsDefaultConnection returns if the addr is a default connection +func (dm *Daemon) IsDefaultConnection(addr string) bool { + return dm.pool.Pool.IsDefaultConnection(addr) +} + +// IsMaxDefaultConnectionsReached returns whether the max default connection number was reached. +func (dm *Daemon) IsMaxDefaultConnectionsReached() (bool, error) { + return dm.pool.Pool.IsMaxDefaultConnReached() +} + +// Implements pexer interface + +// RandomExchangeable returns N random exchangeable peers +func (dm *Daemon) RandomExchangeable(n int) pex.Peers { + return dm.pex.RandomExchangeable(n) +} + +// PexConfig returns the pex config +func (dm *Daemon) PexConfig() pex.Config { + return dm.pex.Config +} + +// AddPeer adds peer to the pex +func (dm *Daemon) AddPeer(addr string) error { + return dm.pex.AddPeer(addr) +} + +// AddPeers adds peers to the pex +func (dm *Daemon) AddPeers(addrs []string) int { + return dm.pex.AddPeers(addrs) +} + +// SetHasIncomingPort sets the peer public peer +func (dm *Daemon) SetHasIncomingPort(addr string) error { + return dm.pex.SetHasIncomingPort(addr, true) +} + +// IncreaseRetryTimes increases the retry times of given peer +func (dm *Daemon) IncreaseRetryTimes(addr string) { + dm.pex.IncreaseRetryTimes(addr) +} + +// ResetRetryTimes reset the retry times of given peer +func (dm *Daemon) ResetRetryTimes(addr string) { + dm.pex.ResetRetryTimes(addr) +} + +// Implements chain height store + +// Record(addr string, height uint64) + +// RecordPeerHeight records the height of specific peer +func (dm *Daemon) RecordPeerHeight(addr string, height uint64) { + dm.Heights.Record(addr, height) +} + +// Implements visorer interface + +// GetSignedBlocksSince returns N signed blocks since given seq +func (dm *Daemon) GetSignedBlocksSince(seq, count uint64) ([]coin.SignedBlock, error) { + return dm.visor.GetSignedBlocksSince(seq, count) +} + +// HeadBkSeq returns the head block sequence +func (dm *Daemon) HeadBkSeq() (uint64, bool, error) { + return dm.visor.HeadBkSeq() +} + +// ExecuteSignedBlock executes the signed block +func (dm *Daemon) ExecuteSignedBlock(b coin.SignedBlock) error { + return dm.visor.ExecuteSignedBlock(b) +} + +// GetUnconfirmedUnknown returns unconfirmed txn hashes with known ones removed +func (dm *Daemon) GetUnconfirmedUnknown(txns []cipher.SHA256) ([]cipher.SHA256, error) { + return dm.visor.GetUnconfirmedUnknown(txns) +} + +// GetUnconfirmedKnown returns unconfirmed txn hashes with known ones removed +func (dm *Daemon) GetUnconfirmedKnown(txns []cipher.SHA256) (coin.Transactions, error) { + return dm.visor.GetUnconfirmedKnown(txns) +} + +// InjectTransaction records a coin.Transaction to the UnconfirmedTxnPool if the txn is not +// already in the blockchain. +// The bool return value is whether or not the transaction was already in the pool. +// If the transaction violates hard constraints, it is rejected, and error will not be nil. +// If the transaction only violates soft constraints, it is still injected, and the soft constraint violation is returned. +func (dm *Daemon) InjectTransaction(txn coin.Transaction) (bool, *visor.ErrTxnViolatesSoftConstraint, error) { + return dm.visor.InjectTransaction(txn) +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/daemon_test.go b/vendor/github.com/skycoin/skycoin/src/daemon/daemon_test.go new file mode 100755 index 0000000..d308ef8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/daemon_test.go @@ -0,0 +1,105 @@ +package daemon + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" +) + +func TestDivideHashes(t *testing.T) { + hashes := make([]cipher.SHA256, 10) + for i := 0; i < 10; i++ { + hashes[i] = cipher.SumSHA256(cipher.RandByte(512)) + } + + testCases := []struct { + name string + init []cipher.SHA256 + n int + array [][]cipher.SHA256 + }{ + { + "has one odd", + hashes[:], + 3, + [][]cipher.SHA256{ + []cipher.SHA256{ + hashes[0], + hashes[1], + hashes[2], + }, + []cipher.SHA256{ + hashes[3], + hashes[4], + hashes[5], + }, + []cipher.SHA256{ + hashes[6], + hashes[7], + hashes[8], + }, + []cipher.SHA256{ + hashes[9], + }, + }, + }, + { + "only one value", + hashes[:1], + 1, + [][]cipher.SHA256{ + []cipher.SHA256{ + hashes[0], + }, + }, + }, + { + "empty value", + hashes[:0], + 0, + [][]cipher.SHA256{}, + }, + { + "with 3 value", + hashes[:3], + 3, + [][]cipher.SHA256{ + []cipher.SHA256{ + hashes[0], + hashes[1], + hashes[2], + }, + }, + }, + { + "with 8 value", + hashes[:8], + 3, + [][]cipher.SHA256{ + []cipher.SHA256{ + hashes[0], + hashes[1], + hashes[2], + }, + []cipher.SHA256{ + hashes[3], + hashes[4], + hashes[5], + }, + []cipher.SHA256{ + hashes[6], + hashes[7], + }, + }, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + rlt := divideHashes(tc.init, tc.n) + require.Equal(t, tc.array, rlt) + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/daemoner_mock_test.go b/vendor/github.com/skycoin/skycoin/src/daemon/daemoner_mock_test.go new file mode 100755 index 0000000..756c7b5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/daemoner_mock_test.go @@ -0,0 +1,568 @@ +/* +* CODE GENERATED AUTOMATICALLY WITH github.com/ernesto-jimenez/goautomock +* THIS FILE MUST NEVER BE EDITED MANUALLY + */ + +package daemon + +import ( + "fmt" + + mock "github.com/stretchr/testify/mock" + + cipher "github.com/skycoin/skycoin/src/cipher" + coin "github.com/skycoin/skycoin/src/coin" + gnet "github.com/skycoin/skycoin/src/daemon/gnet" + pex "github.com/skycoin/skycoin/src/daemon/pex" + visor "github.com/skycoin/skycoin/src/visor" +) + +// DaemonerMock mock +type DaemonerMock struct { + mock.Mock +} + +func NewDaemonerMock() *DaemonerMock { + return &DaemonerMock{} +} + +// AddPeer mocked method +func (m *DaemonerMock) AddPeer(p0 string) error { + + ret := m.Called(p0) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// AddPeers mocked method +func (m *DaemonerMock) AddPeers(p0 []string) int { + + ret := m.Called(p0) + + var r0 int + switch res := ret.Get(0).(type) { + case nil: + case int: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// AnnounceAllTxns mocked method +func (m *DaemonerMock) AnnounceAllTxns() error { + + ret := m.Called() + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// BlockchainPubkey mocked method +func (m *DaemonerMock) BlockchainPubkey() cipher.PubKey { + + ret := m.Called() + + var r0 cipher.PubKey + switch res := ret.Get(0).(type) { + case nil: + case cipher.PubKey: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// BroadcastMessage mocked method +func (m *DaemonerMock) BroadcastMessage(p0 gnet.Message) error { + + ret := m.Called(p0) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// DaemonConfig mocked method +func (m *DaemonerMock) DaemonConfig() DaemonConfig { + + ret := m.Called() + + var r0 DaemonConfig + switch res := ret.Get(0).(type) { + case nil: + case DaemonConfig: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// Disconnect mocked method +func (m *DaemonerMock) Disconnect(p0 string, p1 gnet.DisconnectReason) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// ExecuteSignedBlock mocked method +func (m *DaemonerMock) ExecuteSignedBlock(p0 coin.SignedBlock) error { + + ret := m.Called(p0) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// GetMirrorPort mocked method +func (m *DaemonerMock) GetMirrorPort(p0 string, p1 uint32) (uint16, bool) { + + ret := m.Called(p0, p1) + + var r0 uint16 + switch res := ret.Get(0).(type) { + case nil: + case uint16: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 bool + switch res := ret.Get(1).(type) { + case nil: + case bool: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetSignedBlocksSince mocked method +func (m *DaemonerMock) GetSignedBlocksSince(p0 uint64, p1 uint64) ([]coin.SignedBlock, error) { + + ret := m.Called(p0, p1) + + var r0 []coin.SignedBlock + switch res := ret.Get(0).(type) { + case nil: + case []coin.SignedBlock: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetUnconfirmedKnown mocked method +func (m *DaemonerMock) GetUnconfirmedKnown(p0 []cipher.SHA256) (coin.Transactions, error) { + + ret := m.Called(p0) + + var r0 coin.Transactions + switch res := ret.Get(0).(type) { + case nil: + case coin.Transactions: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetUnconfirmedUnknown mocked method +func (m *DaemonerMock) GetUnconfirmedUnknown(p0 []cipher.SHA256) ([]cipher.SHA256, error) { + + ret := m.Called(p0) + + var r0 []cipher.SHA256 + switch res := ret.Get(0).(type) { + case nil: + case []cipher.SHA256: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// HeadBkSeq mocked method +func (m *DaemonerMock) HeadBkSeq() (uint64, bool, error) { + + ret := m.Called() + + var r0 uint64 + switch res := ret.Get(0).(type) { + case nil: + case uint64: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 bool + switch res := ret.Get(1).(type) { + case nil: + case bool: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r2 error + switch res := ret.Get(2).(type) { + case nil: + case error: + r2 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1, r2 + +} + +// IncreaseRetryTimes mocked method +func (m *DaemonerMock) IncreaseRetryTimes(p0 string) { + + m.Called(p0) + +} + +// InjectTransaction mocked method +func (m *DaemonerMock) InjectTransaction(p0 coin.Transaction) (bool, *visor.ErrTxnViolatesSoftConstraint, error) { + + ret := m.Called(p0) + + var r0 bool + switch res := ret.Get(0).(type) { + case nil: + case bool: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 *visor.ErrTxnViolatesSoftConstraint + switch res := ret.Get(1).(type) { + case nil: + case *visor.ErrTxnViolatesSoftConstraint: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r2 error + switch res := ret.Get(2).(type) { + case nil: + case error: + r2 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1, r2 + +} + +// IsDefaultConnection mocked method +func (m *DaemonerMock) IsDefaultConnection(p0 string) bool { + + ret := m.Called(p0) + + var r0 bool + switch res := ret.Get(0).(type) { + case nil: + case bool: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// IsMaxDefaultConnectionsReached mocked method +func (m *DaemonerMock) IsMaxDefaultConnectionsReached() (bool, error) { + + ret := m.Called() + + var r0 bool + switch res := ret.Get(0).(type) { + case nil: + case bool: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// Mirror mocked method +func (m *DaemonerMock) Mirror() uint32 { + + ret := m.Called() + + var r0 uint32 + switch res := ret.Get(0).(type) { + case nil: + case uint32: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// PexConfig mocked method +func (m *DaemonerMock) PexConfig() pex.Config { + + ret := m.Called() + + var r0 pex.Config + switch res := ret.Get(0).(type) { + case nil: + case pex.Config: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// RandomExchangeable mocked method +func (m *DaemonerMock) RandomExchangeable(p0 int) pex.Peers { + + ret := m.Called(p0) + + var r0 pex.Peers + switch res := ret.Get(0).(type) { + case nil: + case pex.Peers: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// RecordConnectionMirror mocked method +func (m *DaemonerMock) RecordConnectionMirror(p0 string, p1 uint32) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// RecordMessageEvent mocked method +func (m *DaemonerMock) RecordMessageEvent(p0 AsyncMessage, p1 *gnet.MessageContext) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// RecordPeerHeight mocked method +func (m *DaemonerMock) RecordPeerHeight(p0 string, p1 uint64) { + + m.Called(p0, p1) + +} + +// RemoveFromExpectingIntroductions mocked method +func (m *DaemonerMock) RemoveFromExpectingIntroductions(p0 string) { + + m.Called(p0) + +} + +// RequestBlocksFromAddr mocked method +func (m *DaemonerMock) RequestBlocksFromAddr(p0 string) error { + + ret := m.Called(p0) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// ResetRetryTimes mocked method +func (m *DaemonerMock) ResetRetryTimes(p0 string) { + + m.Called(p0) + +} + +// SendMessage mocked method +func (m *DaemonerMock) SendMessage(p0 string, p1 gnet.Message) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// SetHasIncomingPort mocked method +func (m *DaemonerMock) SetHasIncomingPort(p0 string) error { + + ret := m.Called(p0) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/gateway.go b/vendor/github.com/skycoin/skycoin/src/daemon/gateway.go new file mode 100755 index 0000000..880c486 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/gateway.go @@ -0,0 +1,1188 @@ +package daemon + +import ( + "sort" + "strings" + "time" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon/strand" + "github.com/skycoin/skycoin/src/util/utc" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/wallet" + + "fmt" + + "github.com/skycoin/skycoin/src/visor/historydb" +) + +// GatewayConfig configuration set of gateway. +type GatewayConfig struct { + BufferSize int + EnableWalletAPI bool + EnableGUI bool + DisableCSP bool +} + +// NewGatewayConfig create and init an GatewayConfig +func NewGatewayConfig() GatewayConfig { + return GatewayConfig{ + BufferSize: 32, + EnableWalletAPI: false, + EnableGUI: false, + DisableCSP: false, + } +} + +// Gateway RPC interface wrapper for daemon state +type Gateway struct { + Config GatewayConfig + + // Backref to Daemon + d *Daemon + // Backref to Visor + v *visor.Visor + // Requests are queued on this channel + requests chan strand.Request + quit chan struct{} +} + +// NewGateway create and init an Gateway instance. +func NewGateway(c GatewayConfig, d *Daemon) *Gateway { + return &Gateway{ + Config: c, + d: d, + v: d.visor, + requests: make(chan strand.Request, c.BufferSize), + quit: make(chan struct{}), + } +} + +// Shutdown closes the Gateway +func (gw *Gateway) Shutdown() { + close(gw.quit) + // wait for strand to complete + gw.strand("wait-shutdown", func() {}) +} + +func (gw *Gateway) strand(name string, f func()) { + name = fmt.Sprintf("daemon.Gateway.%s", name) + strand.Strand(logger, gw.requests, name, func() error { + f() + return nil + }, gw.quit, nil) +} + +// Connection a connection's state within the daemon +type Connection struct { + ID int `json:"id"` + Addr string `json:"address"` + LastSent int64 `json:"last_sent"` + LastReceived int64 `json:"last_received"` + // Whether the connection is from us to them (true, outgoing), + // or from them to us (false, incoming) + Outgoing bool `json:"outgoing"` + // Whether the client has identified their version, mirror etc + Introduced bool `json:"introduced"` + Mirror uint32 `json:"mirror"` + ListenPort uint16 `json:"listen_port"` +} + +// Connections an array of connections +// Arrays must be wrapped in structs to avoid certain javascript exploits +type Connections struct { + Connections []*Connection `json:"connections"` +} + +// GetConnections returns a *Connections +func (gw *Gateway) GetConnections() *Connections { + var conns *Connections + gw.strand("GetConnections", func() { + conns = gw.getConnections() + }) + return conns +} + +func (gw *Gateway) getConnections() *Connections { + if gw.d.pool.Pool == nil { + return nil + } + + n, err := gw.d.pool.Pool.Size() + if err != nil { + logger.Error(err) + return nil + } + + conns := make([]*Connection, 0, n) + cs, err := gw.d.pool.Pool.GetConnections() + if err != nil { + logger.Error(err) + return nil + } + + for _, c := range cs { + if c.Solicited { + conn := gw.getConnection(c.Addr()) + if conn != nil { + conns = append(conns, conn) + } + } + } + + // Sort connnections by IP address + sort.Slice(conns, func(i, j int) bool { + return strings.Compare(conns[i].Addr, conns[j].Addr) < 0 + }) + + return &Connections{Connections: conns} + +} + +// GetDefaultConnections returns default connections +func (gw *Gateway) GetDefaultConnections() []string { + var conns []string + gw.strand("GetDefaultConnections", func() { + conns = make([]string, len(gw.d.DefaultConnections)) + copy(conns[:], gw.d.DefaultConnections[:]) + }) + return conns +} + +// GetConnection returns a *Connection of specific address +func (gw *Gateway) GetConnection(addr string) *Connection { + var conn *Connection + gw.strand("GetConnection", func() { + conn = gw.getConnection(addr) + }) + return conn +} + +func (gw *Gateway) getConnection(addr string) *Connection { + if gw.d.pool.Pool == nil { + return nil + } + + c, err := gw.d.pool.Pool.GetConnection(addr) + if err != nil { + logger.Error(err) + return nil + } + + if c == nil { + return nil + } + + mirror, exist := gw.d.connectionMirrors.Get(addr) + if !exist { + return nil + } + + return &Connection{ + ID: c.ID, + Addr: addr, + LastSent: c.LastSent.Unix(), + LastReceived: c.LastReceived.Unix(), + Outgoing: gw.d.outgoingConnections.Get(addr), + Introduced: !gw.d.needsIntro(addr), + Mirror: mirror, + ListenPort: gw.d.GetListenPort(addr), + } +} + +// GetTrustConnections returns all trusted connections, +// including private and public +func (gw *Gateway) GetTrustConnections() []string { + var conn []string + gw.strand("GetTrustConnections", func() { + conn = gw.d.pex.Trusted().ToAddrs() + }) + return conn +} + +// GetExchgConnection returns all exchangeable connections, +// including private and public +func (gw *Gateway) GetExchgConnection() []string { + var conn []string + gw.strand("GetExchgConnection", func() { + conn = gw.d.pex.RandomExchangeable(0).ToAddrs() + }) + return conn +} + +/* Blockchain & Transaction status */ + +// BlockchainProgress current sync blockchain status +type BlockchainProgress struct { + // Our current blockchain length + Current uint64 `json:"current"` + // Our best guess at true blockchain length + Highest uint64 `json:"highest"` + Peers []PeerBlockchainHeight `json:"peers"` +} + +// GetBlockchainProgress returns a *BlockchainProgress +func (gw *Gateway) GetBlockchainProgress() (*BlockchainProgress, error) { + var bcp *BlockchainProgress + var err error + gw.strand("GetBlockchainProgress", func() { + var headSeq uint64 + headSeq, _, err = gw.d.visor.HeadBkSeq() + if err != nil { + return + } + + bcp = &BlockchainProgress{ + Current: headSeq, + Highest: gw.d.Heights.Estimate(headSeq), + Peers: gw.d.Heights.All(), + } + }) + + if err != nil { + return nil, err + } + + return bcp, nil +} + +// ResendResult rebroadcast tx result +type ResendResult struct { + Txids []string `json:"txids"` // transaction id +} + +// ResendUnconfirmedTxns resents all unconfirmed transactions +func (gw *Gateway) ResendUnconfirmedTxns() (*ResendResult, error) { + var hashes []cipher.SHA256 + var err error + gw.strand("ResendUnconfirmedTxns", func() { + hashes, err = gw.d.ResendUnconfirmedTxns() + }) + + if err != nil { + return nil, err + } + + var rlt ResendResult + for _, txid := range hashes { + rlt.Txids = append(rlt.Txids, txid.Hex()) + } + return &rlt, nil +} + +// GetBlockchainMetadata returns a *visor.BlockchainMetadata +func (gw *Gateway) GetBlockchainMetadata() (*visor.BlockchainMetadata, error) { + var bcm *visor.BlockchainMetadata + var err error + gw.strand("GetBlockchainMetadata", func() { + bcm, err = gw.v.GetBlockchainMetadata() + }) + return bcm, err +} + +// GetSignedBlockByHash returns the block by hash +func (gw *Gateway) GetSignedBlockByHash(hash cipher.SHA256) (*coin.SignedBlock, error) { + var b *coin.SignedBlock + var err error + gw.strand("GetSignedBlockByHash", func() { + b, err = gw.v.GetSignedBlockByHash(hash) + }) + return b, err +} + +// GetSignedBlockBySeq returns block by seq +func (gw *Gateway) GetSignedBlockBySeq(seq uint64) (*coin.SignedBlock, error) { + var b *coin.SignedBlock + var err error + gw.strand("GetSignedBlockBySeq", func() { + b, err = gw.v.GetSignedBlockBySeq(seq) + }) + return b, err +} + +// GetBlocks returns a *visor.ReadableBlocks +func (gw *Gateway) GetBlocks(start, end uint64) (*visor.ReadableBlocks, error) { + var blocks []coin.SignedBlock + var err error + + gw.strand("GetBlocks", func() { + blocks, err = gw.v.GetBlocks(start, end) + }) + if err != nil { + return nil, err + } + + return visor.NewReadableBlocks(blocks) +} + +// GetBlocksInDepth returns blocks in different depth +func (gw *Gateway) GetBlocksInDepth(vs []uint64) (*visor.ReadableBlocks, error) { + blocks := []coin.SignedBlock{} + var err error + + gw.strand("GetBlocksInDepth", func() { + for _, n := range vs { + var b *coin.SignedBlock + b, err = gw.v.GetSignedBlockBySeq(n) + if err != nil { + err = fmt.Errorf("get block %v failed: %v", n, err) + return + } + + if b == nil { + return + } + + blocks = append(blocks, *b) + } + }) + + if err != nil { + return nil, err + } + + return visor.NewReadableBlocks(blocks) +} + +// GetLastBlocks get last N blocks +func (gw *Gateway) GetLastBlocks(num uint64) (*visor.ReadableBlocks, error) { + var blocks []coin.SignedBlock + var err error + gw.strand("GetLastBlocks", func() { + blocks, err = gw.v.GetLastBlocks(num) + }) + if err != nil { + return nil, err + } + + return visor.NewReadableBlocks(blocks) +} + +// OutputsFilter used as optional arguments in GetUnspentOutputs method +type OutputsFilter func(outputs coin.UxArray) coin.UxArray + +// GetUnspentOutputs gets unspent outputs and returns the filtered results, +// Note: all filters will be executed as the pending sequence in 'AND' mode. +func (gw *Gateway) GetUnspentOutputs(filters ...OutputsFilter) (*visor.ReadableOutputSet, error) { + // unspent outputs + var unspentOutputs []coin.UxOut + // unconfirmed spending outputs + var uncfmSpendingOutputs coin.UxArray + // unconfirmed incoming outputs + var uncfmIncomingOutputs coin.UxArray + var head *coin.SignedBlock + var err error + gw.strand("GetUnspentOutputs", func() { + head, err = gw.v.GetHeadBlock() + if err != nil { + err = fmt.Errorf("v.GetHeadBlock failed: %v", err) + return + } + + unspentOutputs, err = gw.v.GetAllUnspentOutputs() + if err != nil { + err = fmt.Errorf("v.GetAllUnspentOutputs failed: %v", err) + return + } + + uncfmSpendingOutputs, err = gw.v.UnconfirmedSpendingOutputs() + if err != nil { + err = fmt.Errorf("v.UnconfirmedSpendingOutputs failed: %v", err) + return + } + + uncfmIncomingOutputs, err = gw.v.UnconfirmedIncomingOutputs() + if err != nil { + err = fmt.Errorf("v.UnconfirmedIncomingOutputs failed: %v", err) + return + } + }) + + if err != nil { + return nil, err + } + + for _, flt := range filters { + unspentOutputs = flt(unspentOutputs) + uncfmSpendingOutputs = flt(uncfmSpendingOutputs) + uncfmIncomingOutputs = flt(uncfmIncomingOutputs) + } + + outputSet := visor.ReadableOutputSet{} + outputSet.HeadOutputs, err = visor.NewReadableOutputs(head.Time(), unspentOutputs) + if err != nil { + return nil, err + } + + outputSet.OutgoingOutputs, err = visor.NewReadableOutputs(head.Time(), uncfmSpendingOutputs) + if err != nil { + return nil, err + } + + outputSet.IncomingOutputs, err = visor.NewReadableOutputs(head.Time(), uncfmIncomingOutputs) + if err != nil { + return nil, err + } + + return &outputSet, nil +} + +// FbyAddressesNotIncluded filters the unspent outputs that are not owned by the addresses +func FbyAddressesNotIncluded(addrs []string) OutputsFilter { + return func(outputs coin.UxArray) coin.UxArray { + addrMatch := coin.UxArray{} + addrMap := MakeSearchMap(addrs) + + for _, u := range outputs { + if _, ok := addrMap[u.Body.Address.String()]; !ok { + addrMatch = append(addrMatch, u) + } + } + return addrMatch + } +} + +// FbyAddresses filters the unspent outputs that owned by the addresses +func FbyAddresses(addrs []string) OutputsFilter { + return func(outputs coin.UxArray) coin.UxArray { + addrMatch := coin.UxArray{} + addrMap := MakeSearchMap(addrs) + + for _, u := range outputs { + if _, ok := addrMap[u.Body.Address.String()]; ok { + addrMatch = append(addrMatch, u) + } + } + return addrMatch + } +} + +// FbyHashes filters the unspent outputs that have hashes matched. +func FbyHashes(hashes []string) OutputsFilter { + return func(outputs coin.UxArray) coin.UxArray { + hsMatch := coin.UxArray{} + hsMap := MakeSearchMap(hashes) + + for _, u := range outputs { + if _, ok := hsMap[u.Hash().Hex()]; ok { + hsMatch = append(hsMatch, u) + } + } + return hsMatch + } +} + +// MakeSearchMap returns a search indexed map for use in filters +func MakeSearchMap(addrs []string) map[string]struct{} { + addrMap := make(map[string]struct{}) + for _, addr := range addrs { + addrMap[addr] = struct{}{} + } + + return addrMap +} + +// GetTransaction returns transaction by txid +func (gw *Gateway) GetTransaction(txid cipher.SHA256) (tx *visor.Transaction, err error) { + gw.strand("GetTransaction", func() { + tx, err = gw.v.GetTransaction(txid) + }) + return +} + +// TransactionResult represents transaction result +type TransactionResult struct { + Status visor.TransactionStatus `json:"status"` + Time uint64 `json:"time"` + Transaction visor.ReadableTransaction `json:"txn"` +} + +// NewTransactionResult converts Transaction to TransactionResult +func NewTransactionResult(tx *visor.Transaction) (*TransactionResult, error) { + if tx == nil { + return nil, nil + } + + rbTx, err := visor.NewReadableTransaction(tx) + if err != nil { + return nil, err + } + + return &TransactionResult{ + Transaction: *rbTx, + Status: tx.Status, + Time: tx.Time, + }, nil +} + +// TransactionResults array of transaction results +type TransactionResults struct { + Txns []TransactionResult `json:"txns"` +} + +// NewTransactionResults converts []Transaction to []TransactionResults +func NewTransactionResults(txs []visor.Transaction) (*TransactionResults, error) { + txRlts := make([]TransactionResult, 0, len(txs)) + for _, tx := range txs { + rbTx, err := visor.NewReadableTransaction(&tx) + if err != nil { + return nil, err + } + + txRlts = append(txRlts, TransactionResult{ + Transaction: *rbTx, + Status: tx.Status, + Time: tx.Time, + }) + } + + return &TransactionResults{ + Txns: txRlts, + }, nil +} + +// GetTransactionResult gets transaction result by txid. +func (gw *Gateway) GetTransactionResult(txid cipher.SHA256) (*TransactionResult, error) { + var tx *visor.Transaction + var err error + gw.strand("GetTransactionResult", func() { + tx, err = gw.v.GetTransaction(txid) + }) + + if err != nil { + return nil, err + } + + return NewTransactionResult(tx) +} + +// InjectBroadcastTransaction injects and broadcasts a transaction +func (gw *Gateway) InjectBroadcastTransaction(txn coin.Transaction) error { + var err error + gw.strand("InjectBroadcastTransaction", func() { + err = gw.d.InjectBroadcastTransaction(txn) + }) + return err +} + +// ReadableTransaction has readable transaction data. It differs from visor.ReadableTransaction +// in that it includes metadata for transaction inputs +type ReadableTransaction struct { + Status visor.TransactionStatus `json:"status"` + Length uint32 `json:"length"` + Type uint8 `json:"type"` + Hash string `json:"txid"` + InnerHash string `json:"inner_hash"` + Timestamp uint64 `json:"timestamp,omitempty"` + Fee uint64 `json:"fee"` + + Sigs []string `json:"sigs"` + In []visor.ReadableTransactionInput `json:"inputs"` + Out []visor.ReadableTransactionOutput `json:"outputs"` +} + +// NewReadableTransaction creates ReadableTransaction +func NewReadableTransaction(t visor.Transaction, inputs []visor.ReadableTransactionInput) (ReadableTransaction, error) { + // Genesis transaction use empty SHA256 as txid + txID := cipher.SHA256{} + if t.Status.BlockSeq != 0 { + txID = t.Txn.Hash() + } + + sigs := make([]string, len(t.Txn.Sigs)) + for i, s := range t.Txn.Sigs { + sigs[i] = s.Hex() + } + + out := make([]visor.ReadableTransactionOutput, len(t.Txn.Out)) + for i := range t.Txn.Out { + o, err := visor.NewReadableTransactionOutput(&t.Txn.Out[i], txID) + if err != nil { + return ReadableTransaction{}, err + } + + out[i] = *o + } + + var hoursIn uint64 + for _, i := range inputs { + if _, err := coin.AddUint64(hoursIn, i.CalculatedHours); err != nil { + logger.Critical().Warningf("Ignoring NewReadableTransaction summing txn %s input hours error: %v", txID.Hex(), err) + } + hoursIn += i.CalculatedHours + } + + var hoursOut uint64 + for _, o := range t.Txn.Out { + if _, err := coin.AddUint64(hoursOut, o.Hours); err != nil { + logger.Critical().Warningf("Ignoring NewReadableTransaction summing txn %s outputs hours error: %v", txID.Hex(), err) + } + + hoursOut += o.Hours + } + + if hoursIn < hoursOut { + err := fmt.Errorf("NewReadableTransaction input hours is less than output hours, txid=%s", txID.Hex()) + return ReadableTransaction{}, err + } + + fee := hoursIn - hoursOut + + return ReadableTransaction{ + Status: t.Status, + Length: t.Txn.Length, + Type: t.Txn.Type, + Hash: t.Txn.Hash().Hex(), + InnerHash: t.Txn.InnerHash.Hex(), + Timestamp: t.Time, + Fee: fee, + + Sigs: sigs, + In: inputs, + Out: out, + }, nil +} + +// GetTransactionsForAddress returns []ReadableTransaction for a given address. +// These transactions include confirmed and unconfirmed transactions +// TODO -- move into visor (visor.ReadableTransaction can't be changed to daemon.ReadableTransaction without breaking the API) +func (gw *Gateway) GetTransactionsForAddress(a cipher.Address) ([]ReadableTransaction, error) { + var err error + var resTxns []ReadableTransaction + + gw.strand("GetTransactionsForAddress", func() { + var txns []visor.Transaction + txns, err = gw.v.GetAddressTxns(a) + if err != nil { + logger.Errorf("Gateway.GetTransactionsForAddress: gw.v.GetAddressTxns failed: %v", err) + return + } + + var head *coin.SignedBlock + head, err = gw.v.GetHeadBlock() + if err != nil { + logger.Errorf("Gateway.GetTransactionsForAddress: gw.v.GetHeadBlock failed: %v", err) + return + } + + resTxns = make([]ReadableTransaction, len(txns)) + + for i, txn := range txns { + inputs := make([]visor.ReadableTransactionInput, len(txn.Txn.In)) + for j, inputID := range txn.Txn.In { + var input *historydb.UxOut + input, err = gw.v.GetUxOutByID(inputID) + if err != nil { + logger.Errorf("Gateway.GetTransactionsForAddress: gw.v.GetUxOutByID failed: %v", err) + return + } + if input == nil { + err = fmt.Errorf("uxout of %v does not exist in history db", inputID.Hex()) + return + } + + // If the txn is confirmed, + // use the time of the transaction when it was executed, + // else use the head time + t := txn.Time + if !txn.Status.Confirmed { + t = head.Time() + } + + var readableInput *visor.ReadableTransactionInput + readableInput, err = visor.NewReadableTransactionInput(input.Out, t) + if err != nil { + logger.Errorf("Gateway.GetTransactionsForAddress: visor.NewReadableTransactionInput failed: %v", err) + return + } + + inputs[j] = *readableInput + } + + var rTxn ReadableTransaction + rTxn, err = NewReadableTransaction(txn, inputs) + if err != nil { + logger.Errorf("Gateway.GetTransactionsForAddress: NewReadableTransaction failed: %v", err) + return + } + + resTxns[i] = rTxn + } + + }) + + if err != nil { + return nil, err + } + + return resTxns, nil +} + +// GetTransactions returns transactions filtered by zero or more visor.TxFilter +func (gw *Gateway) GetTransactions(flts ...visor.TxFilter) ([]visor.Transaction, error) { + var txns []visor.Transaction + var err error + gw.strand("GetTransactions", func() { + txns, err = gw.v.GetTransactions(flts...) + }) + return txns, err +} + +// GetUxOutByID gets UxOut by hash id. +func (gw *Gateway) GetUxOutByID(id cipher.SHA256) (*historydb.UxOut, error) { + var uxout *historydb.UxOut + var err error + gw.strand("GetUxOutByID", func() { + uxout, err = gw.v.GetUxOutByID(id) + }) + return uxout, err +} + +// GetAddrUxOuts gets all the address affected UxOuts. +func (gw *Gateway) GetAddrUxOuts(addresses []cipher.Address) ([]*historydb.UxOut, error) { + var uxOuts []*historydb.UxOut + var err error + + gw.strand("GetAddrUxOuts", func() { + for _, addr := range addresses { + var result []*historydb.UxOut + result, err = gw.v.GetAddrUxOuts(addr) + if err != nil { + return + } + + uxOuts = append(uxOuts, result...) + } + }) + + if err != nil { + return nil, err + } + + return uxOuts, nil +} + +// GetTimeNow returns the current Unix time +func (gw *Gateway) GetTimeNow() uint64 { + return uint64(utc.UnixNow()) +} + +// GetAllUnconfirmedTxns returns all unconfirmed transactions +func (gw *Gateway) GetAllUnconfirmedTxns() ([]visor.UnconfirmedTxn, error) { + var txns []visor.UnconfirmedTxn + var err error + gw.strand("GetAllUnconfirmedTxns", func() { + txns, err = gw.v.GetAllUnconfirmedTxns() + }) + return txns, err +} + +// GetUnconfirmedTxns returns addresses related unconfirmed transactions +func (gw *Gateway) GetUnconfirmedTxns(addrs []cipher.Address) ([]visor.UnconfirmedTxn, error) { + var txns []visor.UnconfirmedTxn + var err error + gw.strand("GetUnconfirmedTxns", func() { + txns, err = gw.v.GetUnconfirmedTxns(visor.ToAddresses(addrs)) + }) + return txns, err +} + +// Spend spends coins from given wallet and broadcast it, +// set password as nil if wallet is not encrypted, otherwise the password must be provied. +// return transaction or error. +func (gw *Gateway) Spend(wltID string, password []byte, coins uint64, dest cipher.Address) (*coin.Transaction, error) { + if !gw.Config.EnableWalletAPI { + return nil, wallet.ErrWalletAPIDisabled + } + + var txn *coin.Transaction + var err error + gw.strand("Spend", func() { + txn, err = gw.v.CreateTransactionDeprecated(wltID, password, coins, dest) + if err != nil { + return + } + + // Inject transaction + err = gw.d.InjectBroadcastTransaction(*txn) + if err != nil { + logger.Errorf("Inject transaction failed: %v", err) + return + } + }) + + if err != nil { + return nil, err + } + + return txn, nil +} + +// CreateTransaction creates a transaction based upon parameters in wallet.CreateTransactionParams +func (gw *Gateway) CreateTransaction(params wallet.CreateTransactionParams) (*coin.Transaction, []wallet.UxBalance, error) { + if !gw.Config.EnableWalletAPI { + return nil, nil, wallet.ErrWalletAPIDisabled + } + + var txn *coin.Transaction + var inputs []wallet.UxBalance + var err error + + gw.strand("CreateTransaction", func() { + txn, inputs, err = gw.v.CreateTransaction(params) + }) + + if err != nil { + return nil, nil, err + } + + return txn, inputs, err +} + +// CreateWallet creates wallet +func (gw *Gateway) CreateWallet(wltName string, options wallet.Options) (*wallet.Wallet, error) { + if !gw.Config.EnableWalletAPI { + return nil, wallet.ErrWalletAPIDisabled + } + + var wlt *wallet.Wallet + var err error + gw.strand("CreateWallet", func() { + wlt, err = gw.v.Wallets.CreateWallet(wltName, options, gw.v) + }) + return wlt, err +} + +// EncryptWallet encrypts the wallet +func (gw *Gateway) EncryptWallet(wltName string, password []byte) (*wallet.Wallet, error) { + if !gw.Config.EnableWalletAPI { + return nil, wallet.ErrWalletAPIDisabled + } + + var err error + var w *wallet.Wallet + gw.strand("EncryptWallet", func() { + w, err = gw.v.Wallets.EncryptWallet(wltName, password) + }) + return w, err +} + +// DecryptWallet decrypts wallet +func (gw *Gateway) DecryptWallet(wltID string, password []byte) (*wallet.Wallet, error) { + if !gw.Config.EnableWalletAPI { + return nil, wallet.ErrWalletAPIDisabled + } + + var err error + var w *wallet.Wallet + gw.strand("DecryptWallet", func() { + w, err = gw.v.Wallets.DecryptWallet(wltID, password) + }) + return w, err +} + +// GetWalletBalance returns balance pairs of specific wallet +func (gw *Gateway) GetWalletBalance(wltID string) (wallet.BalancePair, wallet.AddressBalance, error) { + var addressBalances wallet.AddressBalance + var walletBalance wallet.BalancePair + if !gw.Config.EnableWalletAPI { + return walletBalance, addressBalances, wallet.ErrWalletAPIDisabled + } + + var err error + gw.strand("GetWalletBalance", func() { + var addrs []cipher.Address + addrs, err = gw.v.Wallets.GetAddresses(wltID) + if err != nil { + return + } + + // get list of address balances + addrsBalanceList, err := gw.v.GetBalanceOfAddrs(addrs) + if err != nil { + return + } + + // create map of address to balance + addressBalances = make(wallet.AddressBalance, len(addrs)) + for idx, addr := range addrs { + addressBalances[addr.String()] = addrsBalanceList[idx] + } + + // compute the sum of all addresses + for _, addrBalance := range addressBalances { + // compute confirmed balance + walletBalance.Confirmed.Coins, err = coin.AddUint64(walletBalance.Confirmed.Coins, addrBalance.Confirmed.Coins) + if err != nil { + return + } + walletBalance.Confirmed.Hours, err = coin.AddUint64(walletBalance.Confirmed.Hours, addrBalance.Confirmed.Hours) + if err != nil { + return + } + + // compute predicted balance + walletBalance.Predicted.Coins, err = coin.AddUint64(walletBalance.Predicted.Coins, addrBalance.Predicted.Coins) + if err != nil { + return + } + walletBalance.Predicted.Hours, err = coin.AddUint64(walletBalance.Predicted.Hours, addrBalance.Predicted.Hours) + if err != nil { + return + } + } + }) + + return walletBalance, addressBalances, err +} + +// GetBalanceOfAddrs gets balance of given addresses +func (gw *Gateway) GetBalanceOfAddrs(addrs []cipher.Address) ([]wallet.BalancePair, error) { + var balance []wallet.BalancePair + var err error + + gw.strand("GetBalanceOfAddrs", func() { + balance, err = gw.v.GetBalanceOfAddrs(addrs) + }) + + if err != nil { + return nil, err + } + + return balance, nil +} + +// GetWalletDir returns path for storing wallet files +func (gw *Gateway) GetWalletDir() (string, error) { + if !gw.Config.EnableWalletAPI { + return "", wallet.ErrWalletAPIDisabled + } + return gw.v.Config.WalletDirectory, nil +} + +// NewAddresses generate addresses in given wallet +func (gw *Gateway) NewAddresses(wltID string, password []byte, n uint64) ([]cipher.Address, error) { + if !gw.Config.EnableWalletAPI { + return nil, wallet.ErrWalletAPIDisabled + } + + var addrs []cipher.Address + var err error + gw.strand("NewAddresses", func() { + addrs, err = gw.v.Wallets.NewAddresses(wltID, password, n) + }) + return addrs, err +} + +// UpdateWalletLabel updates the label of wallet +func (gw *Gateway) UpdateWalletLabel(wltID, label string) error { + if !gw.Config.EnableWalletAPI { + return wallet.ErrWalletAPIDisabled + } + + var err error + gw.strand("UpdateWalletLabel", func() { + err = gw.v.Wallets.UpdateWalletLabel(wltID, label) + }) + return err +} + +// GetWallet returns wallet by id +func (gw *Gateway) GetWallet(wltID string) (*wallet.Wallet, error) { + if !gw.Config.EnableWalletAPI { + return nil, wallet.ErrWalletAPIDisabled + } + + var w *wallet.Wallet + var err error + gw.strand("GetWallet", func() { + w, err = gw.v.Wallets.GetWallet(wltID) + }) + return w, err +} + +// GetWallets returns wallets +func (gw *Gateway) GetWallets() (wallet.Wallets, error) { + if !gw.Config.EnableWalletAPI { + return nil, wallet.ErrWalletAPIDisabled + } + + var w wallet.Wallets + var err error + gw.strand("GetWallets", func() { + w, err = gw.v.Wallets.GetWallets() + }) + return w, err +} + +// GetWalletUnconfirmedTxns returns all unconfirmed transactions in given wallet +func (gw *Gateway) GetWalletUnconfirmedTxns(wltID string) ([]visor.UnconfirmedTxn, error) { + if !gw.Config.EnableWalletAPI { + return nil, wallet.ErrWalletAPIDisabled + } + + var txns []visor.UnconfirmedTxn + var err error + gw.strand("GetWalletUnconfirmedTxns", func() { + var addrs []cipher.Address + addrs, err = gw.v.Wallets.GetAddresses(wltID) + if err != nil { + return + } + + txns, err = gw.v.GetUnconfirmedTxns(visor.ToAddresses(addrs)) + }) + + return txns, err +} + +// ReloadWallets reloads all wallets +func (gw *Gateway) ReloadWallets() error { + if !gw.Config.EnableWalletAPI { + return wallet.ErrWalletAPIDisabled + } + + var err error + gw.strand("ReloadWallets", func() { + err = gw.v.Wallets.ReloadWallets() + }) + return err +} + +// UnloadWallet removes wallet of given id from memory. +func (gw *Gateway) UnloadWallet(id string) error { + if !gw.Config.EnableWalletAPI { + return wallet.ErrWalletAPIDisabled + } + + gw.strand("UnloadWallet", func() { + gw.v.Wallets.Remove(id) + }) + + return nil +} + +// GetWalletSeed returns seed of wallet of given id, +// returns wallet.ErrWalletNotEncrypted if the wallet is not encrypted. +func (gw *Gateway) GetWalletSeed(id string, password []byte) (string, error) { + if !gw.Config.EnableWalletAPI { + return "", wallet.ErrWalletAPIDisabled + } + + var seed string + var err error + gw.strand("GetWalletSeed", func() { + seed, err = gw.v.Wallets.GetWalletSeed(id, password) + }) + return seed, err +} + +// IsWalletAPIEnabled returns if all wallet related apis are disabled +func (gw *Gateway) IsWalletAPIEnabled() bool { + return gw.Config.EnableWalletAPI +} + +// GetBuildInfo returns node build info. +func (gw *Gateway) GetBuildInfo() visor.BuildInfo { + var bi visor.BuildInfo + gw.strand("GetBuildInfo", func() { + bi = gw.v.Config.BuildInfo + }) + return bi +} + +// GetRichlist returns rich list as desc order. +func (gw *Gateway) GetRichlist(includeDistribution bool) (visor.Richlist, error) { + rbOuts, err := gw.GetUnspentOutputs() + if err != nil { + return nil, err + } + + allAccounts, err := rbOuts.AggregateUnspentOutputs() + if err != nil { + return nil, err + } + + lockedAddrs := visor.GetLockedDistributionAddresses() + addrsMap := make(map[string]struct{}, len(lockedAddrs)) + for _, a := range lockedAddrs { + addrsMap[a] = struct{}{} + } + + richlist, err := visor.NewRichlist(allAccounts, addrsMap) + if err != nil { + return nil, err + } + + if !includeDistribution { + unlockedAddrs := visor.GetUnlockedDistributionAddresses() + for _, a := range unlockedAddrs { + addrsMap[a] = struct{}{} + } + richlist = richlist.FilterAddresses(addrsMap) + } + + return richlist, nil +} + +// GetAddressCount returns count number of unique address with uxouts > 0. +func (gw *Gateway) GetAddressCount() (uint64, error) { + var count uint64 + var err error + + gw.strand("GetAddressCount", func() { + count, err = gw.v.AddressCount() + }) + + return count, err +} + +// Health is returned by the /health endpoint +type Health struct { + BlockchainMetadata *visor.BlockchainMetadata + Version visor.BuildInfo + OpenConnections int + Uptime time.Duration +} + +// GetHealth returns statistics about the running node +func (gw *Gateway) GetHealth() (*Health, error) { + var health *Health + var err error + gw.strand("GetHealth", func() { + var metadata *visor.BlockchainMetadata + metadata, err = gw.v.GetBlockchainMetadata() + if err != nil { + return + } + + conns := gw.getConnections() + + health = &Health{ + BlockchainMetadata: metadata, + Version: gw.v.Config.BuildInfo, + OpenConnections: len(conns.Connections), + Uptime: time.Since(gw.v.StartedAt), + } + }) + + return health, err +} + +// VerifyTxnVerbose verifies an isolated transaction and returns []wallet.UxBalance of +// transaction inputs, whether the transaction is confirmed and error if any +func (gw *Gateway) VerifyTxnVerbose(txn *coin.Transaction) ([]wallet.UxBalance, bool, error) { + var uxs []wallet.UxBalance + var isTxnConfirmed bool + var err error + gw.strand("VerifyTxnVerbose", func() { + uxs, isTxnConfirmed, err = gw.v.VerifyTxnVerbose(txn) + }) + return uxs, isTxnConfirmed, err +} + +// IsCSPEnabled returns if the csp is enabled +func (gw *Gateway) IsCSPEnabled() bool { + return !gw.Config.DisableCSP +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/gateway_test.go b/vendor/github.com/skycoin/skycoin/src/daemon/gateway_test.go new file mode 100755 index 0000000..b4c46e1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/gateway_test.go @@ -0,0 +1,449 @@ +package daemon + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/wallet" + + "github.com/skycoin/skycoin/src/visor" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/testutil" +) + +func TestFbyAddresses(t *testing.T) { + uxs := make(coin.UxArray, 5) + addrs := make([]cipher.Address, 5) + for i := 0; i < 5; i++ { + addrs[i] = testutil.MakeAddress() + uxs[i] = coin.UxOut{ + Body: coin.UxBody{ + Address: addrs[i], + }, + } + } + + tests := []struct { + name string + addrs []string + outputs []coin.UxOut + want []coin.UxOut + }{ + // TODO: Add test cases. + { + "filter with one address", + []string{addrs[0].String()}, + uxs[:2], + uxs[:1], + }, + { + "filter with multiple addresses", + []string{addrs[0].String(), addrs[1].String()}, + uxs[:3], + uxs[:2], + }, + } + for _, tt := range tests { + // fmt.Printf("want:%+v\n", tt.want) + outs := FbyAddresses(tt.addrs)(tt.outputs) + require.Equal(t, outs, coin.UxArray(tt.want)) + } +} + +func TestFbyHashes(t *testing.T) { + uxs := make(coin.UxArray, 5) + addrs := make([]cipher.Address, 5) + for i := 0; i < 5; i++ { + addrs[i] = testutil.MakeAddress() + uxs[i] = coin.UxOut{ + Body: coin.UxBody{ + Address: addrs[i], + }, + } + } + + tests := []struct { + name string + hashes []string + outputs coin.UxArray + want coin.UxArray + }{ + // TODO: Add test cases. + { + "filter with one hash", + []string{uxs[0].Hash().Hex()}, + uxs[:2], + uxs[:1], + }, + { + "filter with multiple hash", + []string{uxs[0].Hash().Hex(), uxs[1].Hash().Hex()}, + uxs[:3], + uxs[:2], + }, + } + for _, tt := range tests { + outs := FbyHashes(tt.hashes)(tt.outputs) + require.Equal(t, outs, coin.UxArray(tt.want)) + } +} + +func TestGateway_GetWalletDir(t *testing.T) { + tests := []struct { + name string + enableWalletAPI bool + result string + err error + }{ + { + name: "wallet api disabled", + enableWalletAPI: false, + err: wallet.ErrWalletAPIDisabled, + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + gw := &Gateway{ + Config: GatewayConfig{ + EnableWalletAPI: tc.enableWalletAPI, + }, + } + res, err := gw.GetWalletDir() + if tc.err != nil { + require.Equal(t, tc.err, err) + return + } + require.Equal(t, tc.result, res) + }) + } +} + +func TestGateway_NewAddresses(t *testing.T) { + tests := []struct { + name string + enableWalletAPI bool + walletID string + n uint64 + result []cipher.Address + err error + }{ + { + name: "wallet api disabled", + enableWalletAPI: false, + err: wallet.ErrWalletAPIDisabled, + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + gw := &Gateway{ + Config: GatewayConfig{ + EnableWalletAPI: tc.enableWalletAPI, + }, + } + res, err := gw.NewAddresses(tc.walletID, nil, tc.n) + if tc.err != nil { + require.Equal(t, tc.err, err) + return + } + require.Equal(t, tc.result, res) + }) + } +} + +func TestGateway_UpdateWalletLabel(t *testing.T) { + tests := []struct { + name string + enableWalletAPI bool + walletID string + label string + err error + }{ + { + name: "wallet api disabled", + enableWalletAPI: false, + err: wallet.ErrWalletAPIDisabled, + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + gw := &Gateway{ + Config: GatewayConfig{ + EnableWalletAPI: tc.enableWalletAPI, + }, + } + err := gw.UpdateWalletLabel(tc.walletID, tc.label) + if tc.err != nil { + require.Equal(t, tc.err, err) + return + } + }) + } +} + +func TestGateway_GetWallet(t *testing.T) { + tests := []struct { + name string + enableWalletAPI bool + walletID string + result wallet.Wallet + err error + }{ + { + name: "wallet api disabled", + enableWalletAPI: false, + err: wallet.ErrWalletAPIDisabled, + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + gw := &Gateway{ + Config: GatewayConfig{ + EnableWalletAPI: tc.enableWalletAPI, + }, + } + res, err := gw.GetWallet(tc.walletID) + if tc.err != nil { + require.Equal(t, tc.err, err) + return + } + require.Equal(t, tc.result, res) + }) + } +} + +func TestGateway_GetWallets(t *testing.T) { + tests := []struct { + name string + enableWalletAPI bool + wallets wallet.Wallets + getWalletError error + err error + }{ + { + name: "wallet api disabled", + enableWalletAPI: false, + err: wallet.ErrWalletAPIDisabled, + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + gw := &Gateway{ + Config: GatewayConfig{ + EnableWalletAPI: tc.enableWalletAPI, + }, + } + w, err := gw.GetWallets() + if tc.err != nil { + require.Equal(t, tc.err, err) + return + } + require.Equal(t, tc.wallets, w) + }) + } +} + +func TestGateway_GetWalletUnconfirmedTxns(t *testing.T) { + tests := []struct { + name string + enableWalletAPI bool + walletID string + result []visor.UnconfirmedTxn + err error + }{ + { + name: "wallet api disabled", + enableWalletAPI: false, + err: wallet.ErrWalletAPIDisabled, + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + gw := &Gateway{ + Config: GatewayConfig{ + EnableWalletAPI: tc.enableWalletAPI, + }, + } + res, err := gw.GetWalletUnconfirmedTxns(tc.walletID) + if tc.err != nil { + require.Equal(t, tc.err, err) + return + } + require.Equal(t, tc.result, res) + }) + } +} + +func TestGateway_ReloadWallets(t *testing.T) { + tests := []struct { + name string + enableWalletAPI bool + err error + }{ + { + name: "wallet api disabled", + enableWalletAPI: false, + err: wallet.ErrWalletAPIDisabled, + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + gw := &Gateway{ + Config: GatewayConfig{ + EnableWalletAPI: tc.enableWalletAPI, + }, + } + err := gw.ReloadWallets() + if tc.err != nil { + require.Equal(t, tc.err, err) + return + } + }) + } +} + +func TestGateway_Spend(t *testing.T) { + tests := []struct { + name string + enableWalletAPI bool + walletID string + coins uint64 + dest cipher.Address + result *coin.Transaction + err error + }{ + { + name: "wallet api disabled", + enableWalletAPI: false, + err: wallet.ErrWalletAPIDisabled, + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + gw := &Gateway{ + Config: GatewayConfig{ + EnableWalletAPI: tc.enableWalletAPI, + }, + } + res, err := gw.Spend(tc.walletID, nil, tc.coins, tc.dest) + if tc.err != nil { + require.Equal(t, tc.err, err) + return + } + require.Equal(t, tc.result, res) + }) + } +} + +func TestGateway_CreateWallet(t *testing.T) { + tests := []struct { + name string + enableWalletAPI bool + wltName string + options wallet.Options + result wallet.Wallet + err error + }{ + { + name: "wallet api disabled", + enableWalletAPI: false, + err: wallet.ErrWalletAPIDisabled, + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + gw := &Gateway{ + Config: GatewayConfig{ + EnableWalletAPI: tc.enableWalletAPI, + }, + } + res, err := gw.CreateWallet(tc.wltName, tc.options) + if tc.err != nil { + require.Equal(t, tc.err, err) + return + } + require.Equal(t, tc.result, res) + }) + } +} + +func TestGateway_GetWalletBalance(t *testing.T) { + tests := []struct { + name string + enableWalletAPI bool + walletID string + result wallet.BalancePair + err error + }{ + { + name: "wallet api disabled", + enableWalletAPI: false, + walletID: "foo.wlt", + err: wallet.ErrWalletAPIDisabled, + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + gw := &Gateway{ + Config: GatewayConfig{ + EnableWalletAPI: tc.enableWalletAPI, + }, + } + res, _, err := gw.GetWalletBalance(tc.walletID) + if tc.err != nil { + require.Equal(t, tc.err, err) + return + } + require.Equal(t, tc.result, res) + }) + } +} + +func TestGateway_CreateTransaction(t *testing.T) { + tests := []struct { + name string + enableWalletAPI bool + err error + txn *coin.Transaction + inputs []wallet.UxBalance + params wallet.CreateTransactionParams + }{ + { + name: "wallet api disabled", + enableWalletAPI: false, + err: wallet.ErrWalletAPIDisabled, + params: wallet.CreateTransactionParams{}, + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + gw := &Gateway{ + Config: GatewayConfig{ + EnableWalletAPI: tc.enableWalletAPI, + }, + } + + txn, inputs, err := gw.CreateTransaction(tc.params) + if tc.err != nil { + require.Equal(t, tc.err, err) + } else { + require.NoError(t, err) + require.Equal(t, tc.txn, txn) + require.Equal(t, tc.inputs, inputs) + } + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/gnet/README.md b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/README.md new file mode 100755 index 0000000..df43774 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/README.md @@ -0,0 +1,7 @@ +gnet +==== + +[![GoDoc](http://godoc.org/github.com//skycoin/gnet?status.png)](http://godoc.org/github.com/skycoin/gnet) + +[Godoc generated documentation](https://godoc.org/github.com/skycoin/gnet) + diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/gnet/dispatcher.go b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/dispatcher.go new file mode 100755 index 0000000..e6fbd12 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/dispatcher.go @@ -0,0 +1,126 @@ +package gnet + +import ( + "errors" + "fmt" + "net" + "reflect" + "time" + + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +// SendResult result of a single message send +type SendResult struct { + Addr string + Message Message + Error error +} + +func newSendResult(addr string, m Message, err error) SendResult { + return SendResult{ + Addr: addr, + Message: m, + Error: err, + } +} + +// Serializes a Message over a net.Conn +func sendMessage(conn net.Conn, msg Message, timeout time.Duration) error { + m := EncodeMessage(msg) + return sendByteMessage(conn, m, timeout) +} + +// Event handler that is called after a Connection sends a complete message +func convertToMessage(id int, msg []byte, debugPrint bool) (Message, error) { + msgID := [4]byte{} + if len(msg) < len(msgID) { + return nil, errors.New("Not enough data to read msg id") + } + copy(msgID[:], msg[:len(msgID)]) + msg = msg[len(msgID):] + t, succ := MessageIDReverseMap[msgID] + if !succ { + return nil, fmt.Errorf("Unknown message %s received", string(msgID[:])) + } + + if debugPrint { + logger.Debugf("convertToMessage for connection %d, message type %v", id, t) + } + + var m Message + v := reflect.New(t) + //logger.Debugf("Giving %d bytes to the decoder", len(msg)) + used, err := deserializeMessage(msg, v) + if err != nil { + return nil, err + } + + if used != len(msg) { + return nil, errors.New("Data buffer was not completely decoded") + } + + m, succ = (v.Interface()).(Message) + if !succ { + // This occurs only when the user registers an interface that does + // match the Message interface. They should have known about this + // earlier via a call to VerifyMessages + logger.Panic("Message obtained from map does not match Message interface") + return nil, errors.New("MessageIdMaps contain non-Message") + } + return m, nil +} + +// Wraps encoder.DeserializeRawToValue and traps panics as an error +func deserializeMessage(msg []byte, v reflect.Value) (n int, e error) { + defer func() { + if r := recover(); r != nil { + logger.Debugf("Recovering from deserializer panic: %v", r) + switch x := r.(type) { + case string: + e = errors.New(x) + case error: + e = x + default: + e = errors.New("Message deserialization failed") + } + } + }() + n, e = encoder.DeserializeRawToValue(msg, v) + return +} + +// EncodeMessage packs a Message into []byte containing length, id and data +func EncodeMessage(msg Message) []byte { + t := reflect.ValueOf(msg).Elem().Type() + msgID, succ := MessageIDMap[t] + if !succ { + txt := "Attempted to serialize message struct not in MessageIdMap: %v" + logger.Panicf(txt, msg) + } + bMsg := encoder.Serialize(msg) + + // message length + bLen := encoder.SerializeAtomic(uint32(len(bMsg) + len(msgID))) + m := make([]byte, 0) + m = append(m, bLen...) // length prefix + m = append(m, msgID[:]...) // message id + m = append(m, bMsg...) // message bytes + return m +} + +// Sends []byte over a net.Conn +var sendByteMessage = func(conn net.Conn, msg []byte, + timeout time.Duration) error { + deadline := time.Time{} + if timeout != 0 { + deadline = time.Now().Add(timeout) + } + if err := conn.SetWriteDeadline(deadline); err != nil { + return err + } + if _, err := conn.Write(msg); err != nil { + return err + } + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/gnet/dispatcher_test.go b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/dispatcher_test.go new file mode 100755 index 0000000..8c28db7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/dispatcher_test.go @@ -0,0 +1,216 @@ +package gnet + +import ( + "bytes" + "errors" + "net" + "reflect" + "testing" + "time" + + "github.com/stretchr/testify/assert" +) + +var ( + _sendByteMessage = sendByteMessage +) + +func resetHandler() { + sendByteMessage = _sendByteMessage +} + +func TestConvertToMessage(t *testing.T) { + EraseMessages() + resetHandler() + RegisterMessage(BytePrefix, ByteMessage{}) + VerifyMessages() + c := &Connection{} + b := make([]byte, 0) + b = append(b, BytePrefix[:]...) + b = append(b, byte(7)) + m, err := convertToMessage(c.ID, b, testing.Verbose()) + assert.Nil(t, err) + assert.NotNil(t, m) + if m == nil { + t.Fatalf("ConvertToMessage failed") + } + bm := m.(*ByteMessage) + assert.Equal(t, bm.X, byte(7)) +} + +func TestConvertToMessageNoMessageId(t *testing.T) { + EraseMessages() + resetHandler() + c := &Connection{} + b := []byte{} + m, err := convertToMessage(c.ID, b, testing.Verbose()) + assert.Nil(t, m) + assert.NotNil(t, err) + assert.Equal(t, err.Error(), "Not enough data to read msg id") +} + +func TestConvertToMessageUnknownMessage(t *testing.T) { + EraseMessages() + resetHandler() + c := &Connection{} + b := MessagePrefix{'C', 'C', 'C', 'C'} + m, err := convertToMessage(c.ID, b[:], testing.Verbose()) + assert.NotNil(t, err) + assert.Equal(t, err.Error(), "Unknown message CCCC received") + assert.Nil(t, m) +} + +func TestConvertToMessageBadDeserialize(t *testing.T) { + EraseMessages() + resetHandler() + RegisterMessage(DummyPrefix, DummyMessage{}) + RegisterMessage(BytePrefix, ByteMessage{}) + VerifyMessages() + c := &Connection{} + // Test with too many bytes + b := append(DummyPrefix[:], []byte{0, 1, 1, 1}...) + m, err := convertToMessage(c.ID, b, testing.Verbose()) + assert.NotNil(t, err) + assert.Nil(t, m) + + // Test with not enough bytes + b = append([]byte{}, BytePrefix[:]...) + m, err = convertToMessage(c.ID, b, testing.Verbose()) + assert.NotNil(t, err) + assert.Equal(t, err.Error(), "Deserialization failed") + assert.Nil(t, m) +} + +func TestConvertToMessageNotMessage(t *testing.T) { + EraseMessages() + resetHandler() + RegisterMessage(NothingPrefix, Nothing{}) + // don't verify messages + c := &Connection{} + assert.Panics(t, func() { + convertToMessage(c.ID, NothingPrefix[:], testing.Verbose()) + }) +} + +func TestDeserializeMessageTrapsPanic(t *testing.T) { + resetHandler() + EraseMessages() + p := 7 + m := PointerMessage{Ptr: &p} + b := []byte{4, 4, 4, 4, 4, 4, 4, 4} + _, err := deserializeMessage(b, reflect.ValueOf(m)) + assert.NotNil(t, err) + assert.Equal(t, err.Error(), + "Decode error: kind invalid not handled") +} + +func TestEncodeMessage(t *testing.T) { + resetHandler() + EraseMessages() + RegisterMessage(BytePrefix, ByteMessage{}) + VerifyMessages() + m := NewByteMessage(7) + b := EncodeMessage(m) + assert.True(t, bytes.Equal(b, []byte{5, 0, 0, 0, 'B', 'Y', 'T', 'E', 7})) +} + +func TestEncodeMessageUnknownMessage(t *testing.T) { + resetHandler() + EraseMessages() + assert.Panics(t, func() { EncodeMessage(&DummyMessage{}) }) +} + +func TestSendByteMessage(t *testing.T) { + resetHandler() + b := []byte{1} + c := NewCaptureConn() + err := sendByteMessage(c, b, 0) + assert.Nil(t, err) + assert.True(t, bytes.Equal(c.(*CaptureConn).Wrote, b)) + assert.True(t, c.(*CaptureConn).WriteDeadlineSet) +} + +func TestSendByteMessageWithTimeout(t *testing.T) { + resetHandler() + b := []byte{1} + c := NewCaptureConn() + err := sendByteMessage(c, b, time.Minute) + assert.Nil(t, err) + assert.True(t, bytes.Equal(c.(*CaptureConn).Wrote, b)) + assert.True(t, c.(*CaptureConn).WriteDeadlineSet) +} + +func TestSendByteMessageWriteFailed(t *testing.T) { + resetHandler() + c := &FailingWriteConn{} + err := sendByteMessage(c, nil, 0) + assert.NotNil(t, err) +} + +func TestSendByteMessageWriteDeadlineFailed(t *testing.T) { + resetHandler() + c := &FailingWriteDeadlineConn{} + err := sendByteMessage(c, nil, 0) + assert.NotNil(t, err) +} + +func TestSendMessage(t *testing.T) { + resetHandler() + EraseMessages() + RegisterMessage(BytePrefix, ByteMessage{}) + VerifyMessages() + m := NewByteMessage(7) + sendByteMessage = func(conn net.Conn, msg []byte, tm time.Duration) error { + expect := []byte{5, 0, 0, 0, 'B', 'Y', 'T', 'E', 7} + assert.True(t, bytes.Equal(msg, expect)) + return nil + } + err := sendMessage(nil, m, 0) + assert.Nil(t, err) +} + +/* Helpers */ + +func failingSendByteMessage(conn net.Conn, m []byte, tm time.Duration) error { + return errors.New("send byte message failed") +} + +type CaptureConn struct { + Wrote []byte + WriteDeadlineSet bool + net.Conn +} + +func NewCaptureConn() net.Conn { + return &CaptureConn{Wrote: nil, WriteDeadlineSet: false} +} + +func (cc *CaptureConn) Write(b []byte) (int, error) { + cc.Wrote = b + return len(b), nil +} + +func (cc *CaptureConn) SetWriteDeadline(t time.Time) error { + cc.WriteDeadlineSet = true + return nil +} + +type FailingWriteDeadlineConn struct { + net.Conn +} + +func (c *FailingWriteDeadlineConn) SetWriteDeadline(t time.Time) error { + return errors.New("failed") +} + +type FailingWriteConn struct { + net.Conn +} + +func (c *FailingWriteConn) Write(b []byte) (int, error) { + return 0, errors.New("failed") +} + +func (c *FailingWriteConn) SetWriteDeadline(t time.Time) error { + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/gnet/message.go b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/message.go new file mode 100755 index 0000000..fd144b1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/message.go @@ -0,0 +1,166 @@ +package gnet + +import ( + "reflect" +) + +const messagePrefixLength = 4 + +// MessagePrefix message prefix identifies a message +type MessagePrefix [messagePrefixLength]byte + +// MessagePrefixFromString creates MessagePrefix from string +func MessagePrefixFromString(prefix string) MessagePrefix { + if len(prefix) == 0 || len(prefix) > 4 { + logger.Panicf("Invalid prefix %s", prefix) + } + p := MessagePrefix{} + for i, c := range prefix { + p[i] = byte(c) + } + for i := len(prefix); i < 4; i++ { + p[i] = 0x00 + } + return p +} + +/* + Need to use bytes type + - need to get rid of interface message type + - need to store abstract function pointer + - need to invoke the abstract message pointer + +Operations +- store a function signature (variable?) +- store a function +- + +*/ + +/* +Message Type needs to embody multiple types of struct data +- each type must have a response function +- the second parameter of each response function is different for each type +*/ + +/* +func Call(m map[string]interface{}, name string, params ... interface{}) (result []reflect.Value, err error) { +    f = reflect.ValueOf(m[name]) +    if len(params) != f.Type().NumIn() { +        err = errors.New("The number of params is not adapted.") +        return +    } +    in := make([]reflect.Value, len(params)) +    for k, param := range params { +        in[k] = reflect.ValueOf(param) +    } +    result = f[name].Call(in) +    return +} +Call(funcs, "foo") +Call(funcs, "bar", 1, 2, 3) + +func foobar() { + // bla...bla...bla... +} +funcs := map[string]func() {"foobar":foobar} +funcs["foobar"]() + +*/ + +// Message message interface +type Message interface { + // State is user-defined application state that is attached to the + // Dispatcher. + // Return a non-nil error from handle only if you've disconnected the + // client. You don't have to return the DisconnectReason but that may + // be the most convenient. If error is not nil, event buffer processing + // is aborted. + Handle(context *MessageContext, state interface{}) error +} + +// MessageContext message context +type MessageContext struct { + // Conn *Connection // connection message was received from + ConnID int // connection message was received from + Addr string +} + +// NewMessageContext creates MessageContext +func NewMessageContext(conn *Connection) *MessageContext { + if conn.Conn != nil { + return &MessageContext{ConnID: conn.ID, Addr: conn.Addr()} + } + return &MessageContext{ConnID: conn.ID} +} + +// MessageIDMap maps message types to their ids +var MessageIDMap = make(map[reflect.Type]MessagePrefix) + +// MessageIDReverseMap maps message ids to their types +var MessageIDReverseMap = make(map[MessagePrefix]reflect.Type) + +// RegisterMessage registers a message struct for recognition by the message handlers. +func RegisterMessage(prefix MessagePrefix, msg interface{}) { + t := reflect.TypeOf(msg) + id := MessagePrefix{} + copy(id[:], prefix[:]) + _, exists := MessageIDReverseMap[id] + if exists { + logger.Panicf("Attempted to register message prefix %s twice", + string(id[:])) + } + _, exists = MessageIDMap[t] + if exists { + logger.Panicf("Attempts to register message type %v twice", t) + } + MessageIDMap[t] = id + MessageIDReverseMap[id] = t +} + +// VerifyMessages calls logger.Panic if message registration violates sanity checks +func VerifyMessages() { + for t, k := range MessageIDMap { + // No empty prefixes allowed + if k[0] == 0x00 { + logger.Panic("No empty message prefixes allowed") + } + // No non-null bytes allowed after a nul byte + hasEmpty := false + for _, b := range k { + if b == 0x00 { + hasEmpty = true + } else if hasEmpty { + logger.Panic("No non-null bytes allowed after a nul byte") + } + } + // All characters must be non-whitespace printable ascii chars/digits + // No punctation + for _, b := range k { + if !((b >= '0' && b <= '9') || (b >= 'A' && b <= 'Z') || + (b >= 'a' && b <= 'z') || b == 0x00) { + logger.Panicf("Invalid prefix byte %v", b) + } + } + + // Confirm that all registered messages support the Message interface + // This should only be untrue if the user modified the message map + // directly + mptr := reflect.PtrTo(t) + if !mptr.Implements(reflect.TypeOf((*Message)(nil)).Elem()) { + m := "Message must implement the gnet.Message interface" + logger.Panicf("Invalid message at id %d: %s", k, m) + } + } + if len(MessageIDMap) != len(MessageIDReverseMap) { + logger.Panic("MessageIdMap mismatch") + } + // No empty prefixes + // All prefixes must be 0 padded +} + +// EraseMessages wipes all recorded message types +func EraseMessages() { + MessageIDMap = make(map[reflect.Type]MessagePrefix) + MessageIDReverseMap = make(map[MessagePrefix]reflect.Type) +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/gnet/message_test.go b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/message_test.go new file mode 100755 index 0000000..071de3a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/message_test.go @@ -0,0 +1,183 @@ +package gnet + +import ( + "errors" + "reflect" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestNewMessageContext(t *testing.T) { + c := &Connection{} + mc := NewMessageContext(c) + assert.Equal(t, mc.ConnID, c.ID) +} + +func TestRegisterMessage(t *testing.T) { + EraseMessages() + RegisterMessage(DummyPrefix, DummyMessage{}) + assert.Equal(t, len(MessageIDMap), 1) + assert.Equal(t, len(MessageIDReverseMap), 1) + assert.NotNil(t, MessageIDReverseMap[DummyPrefix]) + + RegisterMessage(ErrorPrefix, ErrorMessage{}) + assert.Equal(t, len(MessageIDMap), 2) + assert.Equal(t, len(MessageIDReverseMap), 2) + assert.NotNil(t, MessageIDReverseMap[ErrorPrefix]) +} + +func TestEraseMessages(t *testing.T) { + EraseMessages() + RegisterMessage(DummyPrefix, DummyMessage{}) + assert.Equal(t, len(MessageIDMap), 1) + assert.Equal(t, len(MessageIDReverseMap), 1) + EraseMessages() + assert.Equal(t, len(MessageIDMap), 0) + assert.Equal(t, len(MessageIDReverseMap), 0) +} + +func TestVerifyMessages(t *testing.T) { + // VerifyMessages either no-ops or panics. Make sure it doesnt panic + EraseMessages() + RegisterMessage(DummyPrefix, DummyMessage{}) + RegisterMessage(ErrorPrefix, ErrorMessage{}) + assert.NotPanics(t, VerifyMessages) +} + +func TestVerifyMessagesDuplicateRegistered(t *testing.T) { + EraseMessages() + RegisterMessage(DummyPrefix, DummyMessage{}) + assert.Panics(t, func() { RegisterMessage(DummyPrefix, DummyMessage{}) }) + assert.Panics(t, func() { RegisterMessage(BytePrefix, DummyMessage{}) }) +} + +func TestVerifyMessagesNotAMessage(t *testing.T) { + EraseMessages() + RegisterMessage(NothingPrefix, Nothing{}) + assert.Panics(t, VerifyMessages) +} + +func TestVerifyMessagesBadPrefix(t *testing.T) { + EraseMessages() + // Can't be all null + RegisterMessage(MessagePrefix{0x00, 0x00, 0x00, 0x00}, DummyMessage{}) + assert.Panics(t, VerifyMessages) + EraseMessages() + // Can't start with nul + RegisterMessage(MessagePrefix{0x00, 'A', 'A', 'A'}, DummyMessage{}) + assert.Panics(t, VerifyMessages) + EraseMessages() + // Can't have non nul after nul + RegisterMessage(MessagePrefix{'A', 0x00, 'A', 'A'}, DummyMessage{}) + assert.Panics(t, VerifyMessages) + EraseMessages() + // Can't have invalid ascii bytes + RegisterMessage(MessagePrefix{'A', 'A', 'A', '\n'}, DummyMessage{}) + assert.Panics(t, VerifyMessages) + EraseMessages() + RegisterMessage(MessagePrefix{'A', 'A', 'A', '@'}, DummyMessage{}) + assert.Panics(t, VerifyMessages) + EraseMessages() + RegisterMessage(MessagePrefix{'A', 'A', 'A', ' '}, DummyMessage{}) + assert.Panics(t, VerifyMessages) + EraseMessages() + RegisterMessage(MessagePrefix{'A', 'A', 'A', '{'}, DummyMessage{}) + assert.Panics(t, VerifyMessages) + EraseMessages() + RegisterMessage(MessagePrefix{'A', 'A', 'A', '`'}, DummyMessage{}) + assert.Panics(t, VerifyMessages) + EraseMessages() + RegisterMessage(MessagePrefix{'A', 'A', 'A', '['}, DummyMessage{}) + assert.Panics(t, VerifyMessages) + EraseMessages() + RegisterMessage(MessagePrefix{'A', 'A', 'A', '/'}, DummyMessage{}) + assert.Panics(t, VerifyMessages) + EraseMessages() + RegisterMessage(MessagePrefix{'A', 'A', 'A', ':'}, DummyMessage{}) + assert.Panics(t, VerifyMessages) + EraseMessages() + // Some valid messages + RegisterMessage(MessagePrefix{'1', '9', 'A', 'z'}, DummyMessage{}) + assert.NotPanics(t, VerifyMessages) + EraseMessages() +} + +func TestVerifyMessagesCorruptMap(t *testing.T) { + // MessageIdMap circumvented + EraseMessages() + mtype := reflect.TypeOf(DummyMessage{}) + MessageIDMap[mtype] = DummyPrefix + assert.Panics(t, VerifyMessages) + delete(MessageIDMap, mtype) + // MessageIdReverseMap circumvented + EraseMessages() + MessageIDReverseMap[DummyPrefix] = mtype + assert.Panics(t, VerifyMessages) + delete(MessageIDReverseMap, DummyPrefix) +} + +func TestMessagePrefixFromString(t *testing.T) { + EraseMessages() + assert.Panics(t, func() { MessagePrefixFromString("") }) + assert.Panics(t, func() { MessagePrefixFromString("xxxxx") }) + assert.Equal(t, MessagePrefixFromString("abcd"), + MessagePrefix{'a', 'b', 'c', 'd'}) + assert.Equal(t, MessagePrefixFromString("abc"), + MessagePrefix{'a', 'b', 'c', 0x00}) + assert.Equal(t, MessagePrefixFromString("ab"), + MessagePrefix{'a', 'b', 0x00, 0x00}) + assert.Equal(t, MessagePrefixFromString("a"), + MessagePrefix{'a', 0x00, 0x00, 0x00}) +} + +/* Helpers */ + +type Nothing struct{} + +var NothingPrefix = MessagePrefix{'N', 'O', 'T', 'H'} + +type DummyMessage struct{} + +var DummyPrefix = MessagePrefix{'D', 'U', 'M', 'Y'} + +func (dm *DummyMessage) Handle(context *MessageContext, x interface{}) error { + return nil +} + +func NewDummyMessage() Message { + return &DummyMessage{} +} + +type ErrorMessage struct{} + +var ( + ErrorPrefix = MessagePrefix{'E', 'R', 'R', 0x00} + ErrErrorMessageHandler = errors.New("Bad") +) + +func (em *ErrorMessage) Handle(context *MessageContext, x interface{}) error { + return ErrErrorMessageHandler +} + +func NewErrorMessage() Message { + return &ErrorMessage{} +} + +type ByteMessage struct { + X byte +} + +var BytePrefix = MessagePrefix{'B', 'Y', 'T', 'E'} + +func (bm *ByteMessage) Handle(c *MessageContext, x interface{}) error { + return nil +} + +func NewByteMessage(x byte) Message { + return &ByteMessage{X: x} +} + +type PointerMessage struct { + Ptr *int +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/gnet/pool.go b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/pool.go new file mode 100755 index 0000000..816c551 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/pool.go @@ -0,0 +1,945 @@ +package gnet + +import ( + "bufio" + "bytes" + "errors" + "fmt" + "net" + "reflect" + "sync" + "time" + + "io" + + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/daemon/strand" + + "github.com/skycoin/skycoin/src/util/elapse" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/util/utc" +) + +// DisconnectReason is passed to ConnectionPool's DisconnectCallback +type DisconnectReason error + +const ( + receiveMessageDurationThreshold = 500 * time.Millisecond + readLoopDurationThreshold = 10 * time.Second + sendInMsgChanDurationThreshold = 5 * time.Second + sendLoopDurationThreshold = 500 * time.Millisecond + defaultMaxDefaultConnNum = 1 +) + +var ( + // ErrDisconnectReadFailed also includes a remote closed socket + ErrDisconnectReadFailed DisconnectReason = errors.New("Read failed") + // ErrDisconnectWriteFailed write faile + ErrDisconnectWriteFailed DisconnectReason = errors.New("Write failed") + // ErrDisconnectSetReadDeadlineFailed set read deadline failed + ErrDisconnectSetReadDeadlineFailed = errors.New("SetReadDeadline failed") + // ErrDisconnectInvalidMessageLength invalid message length + ErrDisconnectInvalidMessageLength DisconnectReason = errors.New("Invalid message length") + // ErrDisconnectMalformedMessage malformed message + ErrDisconnectMalformedMessage DisconnectReason = errors.New("Malformed message body") + // ErrDisconnectUnknownMessage unknow message + ErrDisconnectUnknownMessage DisconnectReason = errors.New("Unknown message ID") + // ErrDisconnectUnexpectedError unexpected error + ErrDisconnectUnexpectedError DisconnectReason = errors.New("Unexpected error encountered") + // ErrConnectionPoolClosed error message indicates the connection pool is closed + ErrConnectionPoolClosed = errors.New("Connection pool is closed") + // ErrWriteQueueFull write queue is full + ErrWriteQueueFull = errors.New("Write queue full") + // ErrNoReachableConnections when broadcasting a message, no connections were available to send a message to + ErrNoReachableConnections = errors.New("All pool connections are unreachable at this time") + // ErrMaxDefaultConnectionsReached returns when maximum number of default connections is reached + ErrMaxDefaultConnectionsReached = errors.New("maximum number of default outgoing connections was reached") + // Logger + logger = logging.MustGetLogger("gnet") +) + +// Config gnet config +type Config struct { + // Address to listen on. Leave empty for arbitrary assignment + Address string + // Port to listen on. Set to 0 for arbitrary assignment + Port uint16 + // Connection limits + MaxConnections int + // Messages greater than length are rejected and the sender disconnected + MaxMessageLength int + // Maximum allowed default outgoing connection number + MaxDefaultPeerOutgoingConnections int + // Timeout is the timeout for dialing new connections. Use a + // timeout of 0 to ignore timeout. + DialTimeout time.Duration + // Timeout for reading from a connection. Set to 0 to default to the + // system's timeout + ReadTimeout time.Duration + // Timeout for writing to a connection. Set to 0 to default to the + // system's timeout + WriteTimeout time.Duration + // Message sent event buffers + SendResultsSize int + // Individual connections' send queue size. This should be increased + // if send volume per connection is high, so as not to block + ConnectionWriteQueueSize int + // Triggered on client disconnect + DisconnectCallback DisconnectCallback + // Triggered on client connect + ConnectCallback ConnectCallback + // Print debug logs + DebugPrint bool + // Default connections map + DefaultPeerConnections map[string]struct{} +} + +// NewConfig returns a Config with defaults set +func NewConfig() Config { + return Config{ + Address: "", + Port: 0, + MaxConnections: 128, + MaxMessageLength: 256 * 1024, + MaxDefaultPeerOutgoingConnections: defaultMaxDefaultConnNum, + DialTimeout: time.Second * 30, + ReadTimeout: time.Second * 30, + WriteTimeout: time.Second * 30, + SendResultsSize: 2048, + ConnectionWriteQueueSize: 128, + DisconnectCallback: nil, + ConnectCallback: nil, + DebugPrint: false, + DefaultPeerConnections: make(map[string]struct{}), + } +} + +const ( + // Byte size of the length prefix in message, sizeof(int32) + messageLengthSize = 4 +) + +// Connection is stored by the ConnectionPool +type Connection struct { + // Key in ConnectionPool.Pool + ID int + // TCP connection + Conn net.Conn + // Message buffer + Buffer *bytes.Buffer + // Reference back to ConnectionPool container + ConnectionPool *ConnectionPool + // Last time a message was fully parsed and handled + LastReceived time.Time + // Last time a message was sent to the connection + LastSent time.Time + // Message send queue. + WriteQueue chan Message + Solicited bool +} + +// NewConnection creates a new Connection tied to a ConnectionPool +func NewConnection(pool *ConnectionPool, id int, conn net.Conn, writeQueueSize int, solicited bool) *Connection { + return &Connection{ + ID: id, + Conn: conn, + Buffer: &bytes.Buffer{}, + ConnectionPool: pool, + LastReceived: Now(), + LastSent: Now(), + WriteQueue: make(chan Message, writeQueueSize), + Solicited: solicited, + } +} + +// Addr returns remote address +func (conn *Connection) Addr() string { + return conn.Conn.RemoteAddr().String() +} + +// String returns connection address +func (conn *Connection) String() string { + return conn.Addr() +} + +// Close close the connection and write queue +func (conn *Connection) Close() error { + err := conn.Conn.Close() + close(conn.WriteQueue) + conn.Buffer = &bytes.Buffer{} + return err +} + +// DisconnectCallback triggered on client disconnect +type DisconnectCallback func(addr string, reason DisconnectReason) + +// ConnectCallback triggered on client connect +type ConnectCallback func(addr string, solicited bool) + +// ConnectionPool connection pool +type ConnectionPool struct { + // Configuration parameters + Config Config + // Channel for async message sending + SendResults chan SendResult + // All connections, indexed by ConnId + pool map[int]*Connection + // All connections, indexed by address + addresses map[string]*Connection + // connected default peer connections + defaultPeerConnections map[string]struct{} + // User-defined state to be passed into message handlers + messageState interface{} + // Connection ID counter + connID int + // Listening connection + listener net.Listener + // operations channel + reqC chan strand.Request + // quit channel + quit chan struct{} + done chan struct{} + strandDone chan struct{} + wg sync.WaitGroup +} + +// NewConnectionPool creates a new ConnectionPool that will listen on +// Config.Port upon StartListen. State is an application defined object that +// will be passed to a Message's Handle(). +func NewConnectionPool(c Config, state interface{}) *ConnectionPool { + pool := &ConnectionPool{ + Config: c, + pool: make(map[int]*Connection), + addresses: make(map[string]*Connection), + defaultPeerConnections: make(map[string]struct{}), + SendResults: make(chan SendResult, c.SendResultsSize), + messageState: state, + quit: make(chan struct{}), + done: make(chan struct{}), + strandDone: make(chan struct{}), + reqC: make(chan strand.Request), + } + + return pool +} + +// Run starts the connection pool +func (pool *ConnectionPool) Run() error { + defer close(pool.done) + defer logger.Info("Connection pool closed") + + // start the connection accept loop + addr := fmt.Sprintf("%s:%v", pool.Config.Address, pool.Config.Port) + logger.Infof("Listening for connections on %s...", addr) + + ln, err := net.Listen("tcp", addr) + if err != nil { + return err + } + + pool.listener = ln + + pool.wg.Add(1) + go func() { + defer pool.wg.Done() + pool.processStrand() + }() + +loop: + for { + conn, err := ln.Accept() + if err != nil { + // When Accept() returns with a non-nil error, we check the quit + // channel to see if we should continue or quit + select { + case <-pool.quit: + break loop + default: + // without the default case the select will block. + logger.Error(err) + continue + } + } + + pool.wg.Add(1) + go func() { + defer pool.wg.Done() + if err := pool.handleConnection(conn, false); err != nil { + logger.Errorf("pool.handleConnection error: %v", err) + } + }() + } + pool.wg.Wait() + return nil +} + +// RunOffline runs the pool in offline mode. No connections will be accepted, +// but strand requests are processed. +func (pool *ConnectionPool) RunOffline() error { + defer close(pool.done) + pool.processStrand() + return nil +} + +func (pool *ConnectionPool) processStrand() { + defer close(pool.strandDone) + for { + select { + case <-pool.quit: + return + case req := <-pool.reqC: + if err := req.Func(); err != nil { + logger.Errorf("req.Func %s failed: %v", req.Name, err) + } + } + } +} + +// Shutdown gracefully shutdown the connection pool +func (pool *ConnectionPool) Shutdown() { + close(pool.quit) + + // Wait for all strand() calls to finish + <-pool.strandDone + + // Close to listener to prevent new connections + if pool.listener != nil { + pool.listener.Close() + } + + pool.listener = nil + + // In readData, reader.Read() sometimes blocks instead of returning an error when the + // listener is closed. + // Directly close all connections before closing the listener. + // TODO -- could conn.Close() block too? + pool.disconnectAll() + + if len(pool.pool) != 0 { + logger.Critical().Warning("pool.pool is not empty after calling pool.disconnectAll()") + } + if len(pool.addresses) != 0 { + logger.Critical().Warning("pool.addresses is not empty after calling pool.disconnectAll()") + } + + <-pool.done +} + +// strand ensures all read and write action of pool's member variable are in one thread. +func (pool *ConnectionPool) strand(name string, f func() error) error { + name = fmt.Sprintf("daemon.gnet.ConnectionPool.%s", name) + return strand.Strand(logger, pool.reqC, name, f, pool.quit, ErrConnectionPoolClosed) +} + +// NewConnection creates a new Connection around a net.Conn. Trying to make a connection +// to an address that is already connected will failed. +func (pool *ConnectionPool) NewConnection(conn net.Conn, solicited bool) (*Connection, error) { + a := conn.RemoteAddr().String() + var nc *Connection + if err := pool.strand("NewConnection", func() error { + if _, ok := pool.addresses[a]; ok { + return fmt.Errorf("Already connected to %s", a) + } + + if _, ok := pool.Config.DefaultPeerConnections[a]; ok { + if len(pool.defaultPeerConnections) >= pool.Config.MaxDefaultPeerOutgoingConnections && solicited { + return ErrMaxDefaultConnectionsReached + } + + pool.defaultPeerConnections[a] = struct{}{} + } + + pool.connID++ + nc = NewConnection(pool, pool.connID, conn, pool.Config.ConnectionWriteQueueSize, solicited) + + pool.pool[nc.ID] = nc + pool.addresses[a] = nc + return nil + }); err != nil { + return nil, err + } + + return nc, nil +} + +// ListeningAddress returns address, on which the ConnectionPool +// listening on. It returns nil, and error if the ConnectionPool +// is not listening +func (pool *ConnectionPool) ListeningAddress() (net.Addr, error) { + if pool.listener == nil { + return nil, errors.New("Not listening, call StartListen first") + } + return pool.listener.Addr(), nil +} + +// Creates a Connection and begins its read and write loop +func (pool *ConnectionPool) handleConnection(conn net.Conn, solicited bool) error { + defer logger.Debugf("Connection %s closed", conn.RemoteAddr()) + addr := conn.RemoteAddr().String() + + c, err := func() (c *Connection, err error) { + defer func() { + if err != nil { + if closeErr := conn.Close(); closeErr != nil { + logger.Errorf("conn.Close() %s error: %v", addr, closeErr) + } + } + }() + + exist, err := pool.IsConnExist(addr) + if err != nil { + return + } + if exist { + err = fmt.Errorf("Connection %s already exists", addr) + return + } + + c, err = pool.NewConnection(conn, solicited) + if err != nil { + err = fmt.Errorf("Create connection to %s failed: %v", addr, err) + return + } + + return c, err + }() + + if err != nil { + return err + } + + if pool.Config.ConnectCallback != nil { + pool.Config.ConnectCallback(c.Addr(), solicited) + } + + msgC := make(chan []byte, 32) + errC := make(chan error, 3) + + var wg sync.WaitGroup + wg.Add(1) + qc := make(chan struct{}) + go func() { + defer wg.Done() + if err := pool.readLoop(c, msgC, qc); err != nil { + errC <- err + } + }() + + wg.Add(1) + go func() { + defer wg.Done() + if err := pool.sendLoop(c, pool.Config.WriteTimeout, qc); err != nil { + errC <- err + } + }() + + wg.Add(1) + go func() { + defer wg.Done() + elapser := elapse.NewElapser(receiveMessageDurationThreshold, logger) + defer elapser.CheckForDone() + + for { + select { + case msg, ok := <-msgC: + if !ok { + return + } + elapser.Register(fmt.Sprintf("pool.receiveMessage address=%s", addr)) + if err := pool.receiveMessage(c, msg); err != nil { + errC <- err + return + } + elapser.CheckForDone() + } + } + }() + + select { + case <-pool.quit: + if err := conn.Close(); err != nil { + logger.Errorf("conn.Close() %s error: %v", addr, err) + } + case err = <-errC: + if err := pool.Disconnect(c.Addr(), err); err != nil { + logger.Errorf("Disconnect %s failed: %v", addr, err) + } else { + logger.Debugf("Disconnected from %s", addr) + } + } + close(qc) + + wg.Wait() + + return err +} + +func (pool *ConnectionPool) readLoop(conn *Connection, msgChan chan []byte, qc chan struct{}) error { + defer close(msgChan) + // read data from connection + reader := bufio.NewReader(conn.Conn) + buf := make([]byte, 1024) + + elapser := elapse.NewElapser(readLoopDurationThreshold, logger) + sendInMsgChanElapser := elapse.NewElapser(sendInMsgChanDurationThreshold, logger) + + defer elapser.CheckForDone() + defer sendInMsgChanElapser.CheckForDone() + + for { + elapser.Register(fmt.Sprintf("readLoop address=%s", conn.Addr())) + deadline := time.Time{} + if pool.Config.ReadTimeout != 0 { + deadline = time.Now().Add(pool.Config.ReadTimeout) + } + if err := conn.Conn.SetReadDeadline(deadline); err != nil { + return ErrDisconnectSetReadDeadlineFailed + } + data, err := readData(reader, buf) + if err != nil { + return err + } + + if data == nil { + continue + } + + // write data to buffer + if _, err := conn.Buffer.Write(data); err != nil { + return err + } + // decode data + datas, err := decodeData(conn.Buffer, pool.Config.MaxMessageLength) + if err != nil { + return err + } + for _, d := range datas { + // use select to avoid the goroutine leak, + // because if msgChan has no receiver this goroutine will leak + select { + case <-qc: + return nil + case <-pool.quit: + return nil + case msgChan <- d: + default: + return errors.New("readLoop msgChan is closed or full") + } + } + sendInMsgChanElapser.CheckForDone() + } +} + +func (pool *ConnectionPool) sendLoop(conn *Connection, timeout time.Duration, qc chan struct{}) error { + elapser := elapse.NewElapser(sendLoopDurationThreshold, logger) + defer elapser.CheckForDone() + + for { + elapser.CheckForDone() + select { + case <-pool.quit: + return nil + case <-qc: + return nil + case m := <-conn.WriteQueue: + elapser.Register(fmt.Sprintf("conn.WriteQueue address=%s", conn.Addr())) + if m == nil { + continue + } + + err := sendMessage(conn.Conn, m, timeout) + + // Update last sent before writing to SendResult, + // this allows a write to SendResult to be used as a sync marker, + // since no further action in this block will happen after the write. + if err == nil { + if err := pool.updateLastSent(conn.Addr(), Now()); err != nil { + logger.Warningf("updateLastSent(%s) failed", conn.Addr()) + } + } + + sr := newSendResult(conn.Addr(), m, err) + select { + case <-qc: + return nil + case pool.SendResults <- sr: + default: + logger.Warningf("SendResults queue full address=%s", conn.Addr()) + } + + if err != nil { + return err + } + } + } +} + +func readData(reader io.Reader, buf []byte) ([]byte, error) { + c, err := reader.Read(buf) + if err != nil { + return nil, fmt.Errorf("read data failed: %v", err) + } + if c == 0 { + return nil, nil + } + data := make([]byte, c) + n := copy(data, buf) + if n != c { + // I don't believe this can ever occur + return nil, errors.New("Failed to copy all the bytes") + } + return data, nil +} + +// decode data from buffer. +func decodeData(buf *bytes.Buffer, maxMsgLength int) ([][]byte, error) { + dataArray := [][]byte{} + for buf.Len() > messageLengthSize { + //logger.Debug("There is data in the buffer, extracting") + prefix := buf.Bytes()[:messageLengthSize] + // decode message length + tmpLength := uint32(0) + encoder.DeserializeAtomic(prefix, &tmpLength) + length := int(tmpLength) + // logger.Debugf("Length is %d", length) + // Disconnect if we received an invalid length. + if length < messagePrefixLength || length > maxMsgLength { + return [][]byte{}, ErrDisconnectInvalidMessageLength + } + + if buf.Len()-messageLengthSize < length { + // logger.Debug("Skipping, not enough data to read this") + return [][]byte{}, nil + } + + buf.Next(messageLengthSize) // strip the length prefix + data := make([]byte, length) + _, err := buf.Read(data) + if err != nil { + return [][]byte{}, err + } + + dataArray = append(dataArray, data) + } + return dataArray, nil +} + +// IsConnExist check if the connection of address does exist +func (pool *ConnectionPool) IsConnExist(addr string) (bool, error) { + var exist bool + if err := pool.strand("IsConnExist", func() error { + if _, ok := pool.addresses[addr]; ok { + exist = true + } + return nil + }); err != nil { + return false, fmt.Errorf("Check connection existence failed: %v ", err) + } + + return exist, nil +} + +// IsDefaultConnection returns if the addr is a default connection +func (pool *ConnectionPool) IsDefaultConnection(addr string) bool { + _, ok := pool.Config.DefaultPeerConnections[addr] + return ok +} + +// IsMaxDefaultConnReached returns whether the max default connection number was reached. +func (pool *ConnectionPool) IsMaxDefaultConnReached() (bool, error) { + var reached bool + if err := pool.strand("IsDefaultMaxConnReached", func() error { + l := len(pool.defaultPeerConnections) + logger.Debugf("%d/%d default connections in use", l, pool.Config.MaxDefaultPeerOutgoingConnections) + reached = l > pool.Config.MaxDefaultPeerOutgoingConnections + return nil + }); err != nil { + return false, err + } + + return reached, nil +} + +func (pool *ConnectionPool) updateLastSent(addr string, t time.Time) error { + return pool.strand("updateLastSent", func() error { + if conn, ok := pool.addresses[addr]; ok { + conn.LastSent = t + } + return nil + }) +} + +func (pool *ConnectionPool) updateLastRecv(addr string, t time.Time) error { + return pool.strand("updateLastRecv", func() error { + if conn, ok := pool.addresses[addr]; ok { + conn.LastReceived = t + } + return nil + }) +} + +// GetConnection returns a connection copy if exist +func (pool *ConnectionPool) GetConnection(addr string) (*Connection, error) { + var conn *Connection + if err := pool.strand("GetConnection", func() error { + if c, ok := pool.addresses[addr]; ok { + // copy connection + cc := *c + conn = &cc + } + return nil + }); err != nil { + return nil, err + } + + return conn, nil +} + +// Connect to an address +func (pool *ConnectionPool) Connect(address string) error { + exist, err := pool.IsConnExist(address) + if err != nil { + return err + } + + if exist { + return nil + } + + var hitMaxDefaultConnNum bool + // Checks if it's one of the default connection + if err := pool.strand("Check default connection", func() error { + if _, ok := pool.Config.DefaultPeerConnections[address]; ok { + hitMaxDefaultConnNum = len(pool.defaultPeerConnections) >= pool.Config.MaxDefaultPeerOutgoingConnections + } + + return nil + }); err != nil { + return err + } + + if hitMaxDefaultConnNum { + logger.Critical().Infof("ConnectionPool.Connect: %v", ErrMaxDefaultConnectionsReached) + return nil + } + + logger.Debugf("Making TCP Connection to %s", address) + conn, err := net.DialTimeout("tcp", address, pool.Config.DialTimeout) + if err != nil { + return err + } + + pool.wg.Add(1) + go func() { + defer pool.wg.Done() + if err := pool.handleConnection(conn, true); err != nil { + logger.Errorf("pool.handleConnection error: %v", err) + } + }() + return nil +} + +// Disconnect removes a connection from the pool by address, and passes a Disconnection to +// the DisconnectCallback +func (pool *ConnectionPool) Disconnect(addr string, r DisconnectReason) error { + if err := pool.strand("Disconnect", func() error { + exist := pool.disconnect(addr) + + if pool.Config.DisconnectCallback != nil && exist { + pool.Config.DisconnectCallback(addr, r) + } + + return nil + }); err != nil { + return err + } + + return nil +} + +func (pool *ConnectionPool) disconnect(addr string) bool { + conn, ok := pool.addresses[addr] + if !ok { + return false + } + + delete(pool.pool, conn.ID) + delete(pool.addresses, addr) + delete(pool.defaultPeerConnections, addr) + if err := conn.Close(); err != nil { + logger.Errorf("conn.Close() error address=%s: %v", addr, err) + } else { + logger.Debugf("Disconnected from %s", addr) + } + + return true +} + +// disconnectAll disconnects all connections. Only safe to call in Shutdown() +func (pool *ConnectionPool) disconnectAll() { + for _, conn := range pool.pool { + addr := conn.Addr() + pool.disconnect(addr) + } +} + +// GetConnections returns an copy of pool connections +func (pool *ConnectionPool) GetConnections() ([]Connection, error) { + conns := []Connection{} + if err := pool.strand("GetConnections", func() error { + for _, conn := range pool.pool { + conns = append(conns, *conn) + } + return nil + }); err != nil { + return nil, err + } + return conns, nil +} + +// Size returns the pool size +func (pool *ConnectionPool) Size() (l int, err error) { + err = pool.strand("Size", func() error { + l = len(pool.pool) + return nil + }) + return +} + +// OutgoingConnectionsNum returns the number of outgoing connections +func (pool *ConnectionPool) OutgoingConnectionsNum() (int, error) { + var n int + if err := pool.strand("OutgoingSize", func() error { + for _, p := range pool.pool { + if p.Solicited { + n++ + } + } + return nil + }); err != nil { + return 0, err + } + + return n, nil +} + +// SendMessage sends a Message to a Connection and pushes the result onto the +// SendResults channel. +func (pool *ConnectionPool) SendMessage(addr string, msg Message) error { + if pool.Config.DebugPrint { + logger.Debugf("Send, Msg Type: %s", reflect.TypeOf(msg)) + } + + return pool.strand("SendMessage", func() error { + if conn, ok := pool.addresses[addr]; ok { + select { + case conn.WriteQueue <- msg: + default: + logger.Critical().Infof("Write queue full for address %s", addr) + return ErrWriteQueueFull + } + } else { + return fmt.Errorf("Tried to send %T to %s, but we are not connected", msg, addr) + } + return nil + }) +} + +// BroadcastMessage sends a Message to all connections in the Pool. +func (pool *ConnectionPool) BroadcastMessage(msg Message) error { + if pool.Config.DebugPrint { + logger.Debugf("Broadcast, Msg Type: %s", reflect.TypeOf(msg)) + } + + fullWriteQueue := []string{} + if err := pool.strand("BroadcastMessage", func() error { + if len(pool.pool) == 0 { + return errors.New("Connection pool is empty") + } + + for _, conn := range pool.pool { + select { + case conn.WriteQueue <- msg: + default: + logger.Critical().Infof("Write queue full for address %s", conn.Addr()) + fullWriteQueue = append(fullWriteQueue, conn.Addr()) + } + } + + if len(fullWriteQueue) == len(pool.pool) { + return ErrNoReachableConnections + } + + return nil + }); err != nil { + return err + } + + return nil +} + +// Unpacks incoming bytes to a Message and calls the message handler. If +// the bytes cannot be converted to a Message, the error is returned as the +// first return value. Otherwise, error will be nil and DisconnectReason will +// be the value returned from the message handler. +func (pool *ConnectionPool) receiveMessage(c *Connection, msg []byte) error { + + m, err := convertToMessage(c.ID, msg, pool.Config.DebugPrint) + if err != nil { + return err + } + if err := pool.updateLastRecv(c.Addr(), Now()); err != nil { + return err + } + return m.Handle(NewMessageContext(c), pool.messageState) +} + +// SendPings sends a ping if our last message sent was over pingRate ago +func (pool *ConnectionPool) SendPings(rate time.Duration, msg Message) error { + now := utc.Now() + var addrs []string + if err := pool.strand("SendPings", func() error { + for _, conn := range pool.pool { + if conn.LastSent.Add(rate).Before(now) { + addrs = append(addrs, conn.Addr()) + } + } + return nil + }); err != nil { + return err + } + + for _, a := range addrs { + if err := pool.SendMessage(a, msg); err != nil { + return err + } + } + + return nil +} + +// ClearStaleConnections removes connections that have not sent a message in too long +func (pool *ConnectionPool) ClearStaleConnections(idleLimit time.Duration, reason DisconnectReason) error { + now := Now() + idleConns := []string{} + if err := pool.strand("ClearStaleConnections", func() error { + for _, conn := range pool.pool { + if conn.LastReceived.Add(idleLimit).Before(now) { + idleConns = append(idleConns, conn.Addr()) + } + } + return nil + }); err != nil { + return err + } + + for _, a := range idleConns { + pool.Disconnect(a, reason) + } + return nil +} + +// Now returns the current UTC time +func Now() time.Time { + return utc.Now() +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/gnet/pool_test.go b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/pool_test.go new file mode 100755 index 0000000..c93d4a4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/pool_test.go @@ -0,0 +1,1295 @@ +// build ignore + +package gnet + +import ( + "bytes" + "errors" + "fmt" + "net" + "strings" + "sync" + "testing" + "time" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/util/logging" +) + +const ( + addr = "127.0.0.1:50823" + port = 50823 + address = "127.0.0.1" + silenceLogger = false +) + +func init() { + if silenceLogger { + logging.Disable() + } +} + +func newTestConfig() Config { + cfg := NewConfig() + cfg.Port = uint16(port) + cfg.Address = address + return cfg +} + +func TestNewConnectionPool(t *testing.T) { + cfg := newTestConfig() + cfg.MaxConnections = 108 + cfg.DialTimeout = time.Duration(777) + + p := NewConnectionPool(cfg, nil) + require.Equal(t, p.Config, cfg) + require.Equal(t, p.Config.Port, uint16(cfg.Port)) + require.Equal(t, p.Config.Address, cfg.Address) + require.NotNil(t, p.pool) + require.Equal(t, len(p.pool), 0) + require.NotNil(t, p.addresses) + require.Equal(t, len(p.addresses), 0) + require.Equal(t, p.connID, 0) +} + +func TestNewConnection(t *testing.T) { + cfg := newTestConfig() + cfg.ConnectionWriteQueueSize = 101 + p := NewConnectionPool(cfg, nil) + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + + wait() + conn, err := net.Dial("tcp", addr) + require.NoError(t, err) + wait() + + err = p.strand("", func() error { + c := p.addresses[conn.LocalAddr().String()] + require.Equal(t, p.pool[p.connID], c) + require.Equal(t, p.connID, 1) + require.Equal(t, c.Addr(), conn.LocalAddr().String()) + require.Equal(t, cap(c.WriteQueue), cfg.ConnectionWriteQueueSize) + require.NotNil(t, c.Buffer) + require.Equal(t, c.Buffer.Len(), 0) + require.Equal(t, c.ConnectionPool, p) + require.False(t, c.LastSent.IsZero()) + require.False(t, c.LastReceived.IsZero()) + return nil + }) + require.NoError(t, err) + + p.Shutdown() + <-q +} + +func TestNewConnectionAlreadyConnected(t *testing.T) { + cfg := newTestConfig() + p := NewConnectionPool(cfg, nil) + + cc := make(chan *Connection, 1) + p.Config.ConnectCallback = func(addr string, solicited bool) { + require.False(t, solicited) + cc <- p.pool[1] + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + wait() + + conn, err := net.Dial("tcp", addr) + require.NoError(t, err) + + c := <-cc + require.NotNil(t, c) + + ac := p.addresses[conn.LocalAddr().String()] + require.NotNil(t, ac) + require.Equal(t, c.ID, ac.ID) + + _, err = p.NewConnection(c.Conn, true) + require.Error(t, err) + require.True(t, strings.HasPrefix(err.Error(), "Already connected to")) + + p.Shutdown() + <-q +} + +func TestAcceptConnections(t *testing.T) { + cfg := newTestConfig() + p := NewConnectionPool(cfg, nil) + + cc := make(chan *Connection, 1) + var wasSolicited *bool + p.Config.ConnectCallback = func(addr string, solicited bool) { + wasSolicited = &solicited + require.False(t, solicited) + cc <- p.pool[1] + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + wait() + + conn, err := net.Dial("tcp", addr) + require.NoError(t, err) + + c := <-cc + require.NotNil(t, c) + + require.Len(t, p.addresses, 1) + require.Len(t, p.pool, 1) + + require.Equal(t, conn.RemoteAddr().String(), c.Conn.LocalAddr().String()) + require.Equal(t, conn.LocalAddr().String(), c.Conn.RemoteAddr().String()) + + require.NotNil(t, wasSolicited) + require.False(t, *wasSolicited) + + p.Shutdown() + <-q +} + +func TestStartListenFailed(t *testing.T) { + cfg := newTestConfig() + p := NewConnectionPool(cfg, nil) + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + wait() + + pp := NewConnectionPool(cfg, nil) + err := pp.Run() + require.Error(t, err) + + p.Shutdown() + <-q +} + +func TestStopListen(t *testing.T) { + cfg := newTestConfig() + p := NewConnectionPool(cfg, nil) + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + wait() + + _, err := net.Dial("tcp", addr) + require.NoError(t, err) + wait() + + err = p.strand("", func() error { + require.Equal(t, len(p.pool), 1) + return nil + }) + require.NoError(t, err) + + p.Shutdown() + <-q + + require.Nil(t, p.listener) +} + +func TestHandleConnection(t *testing.T) { + cfg := newTestConfig() + + p := NewConnectionPool(cfg, nil) + + // Unsolicited + cc := make(chan *Connection, 1) + var wasSolicited *bool + p.Config.ConnectCallback = func(address string, solicited bool) { + wasSolicited = &solicited + cc <- p.pool[1] + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + wait() + + conn, err := net.Dial("tcp", addr) + require.NoError(t, err) + + c := <-cc + require.NotNil(t, c) + + exist, err := p.IsConnExist(conn.LocalAddr().String()) + require.NoError(t, err) + require.True(t, exist) + + delete(p.addresses, conn.LocalAddr().String()) + delete(p.pool, 1) + + require.NotNil(t, wasSolicited) + require.False(t, *wasSolicited) + + // Solicited + p.Config.ConnectCallback = func(address string, s bool) { + wasSolicited = &s + cc <- p.pool[2] + } + + done := make(chan struct{}) + go func() { + defer close(done) + p.handleConnection(conn, true) + }() + + c = <-cc + require.NotNil(t, c) + require.Equal(t, addr, c.Addr()) + + require.NotNil(t, wasSolicited) + require.True(t, *wasSolicited) + + exist, err = p.IsConnExist(conn.RemoteAddr().String()) + require.NoError(t, err) + require.True(t, exist) + + require.Equal(t, len(p.addresses), 1) + require.Equal(t, len(p.pool), 1) + + p.Shutdown() + + <-done + + <-q +} + +func TestConnect(t *testing.T) { + cfg := newTestConfig() + // cfg.Port + p := NewConnectionPool(cfg, nil) + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + wait() + + err := p.Connect(addr) + require.NoError(t, err) + wait() + + // If already connected, should return same connection + err = p.Connect(addr) + require.NoError(t, err) + wait() + + delete(p.addresses, addr) + + p.Shutdown() + <-q + + // Pool is shutdown, connect should fail + wc := make(chan struct{}) + var connectErr error + go func() { + defer close(wc) + connectErr = p.Connect(addr) + }() + + <-wc + + require.Error(t, connectErr) +} + +func TestConnectNoTimeout(t *testing.T) { + cfg := newTestConfig() + cfg.DialTimeout = 0 + cfg.Port++ + + p := NewConnectionPool(cfg, nil) + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + wait() + + p.Shutdown() + <-q + + err := p.Connect(addr) + wait() + + require.Error(t, err) +} + +func TestDisconnect(t *testing.T) { + cfg := newTestConfig() + p := NewConnectionPool(cfg, nil) + + // Setup a callback to capture the connection pointer so we can get the address + cc := make(chan *Connection, 1) + p.Config.ConnectCallback = func(addr string, solicited bool) { + cc <- p.pool[1] + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + wait() + + _, err := net.Dial("tcp", addr) + require.NoError(t, err) + + c := <-cc + require.NotNil(t, c) + + var cAddr string + err = p.strand("", func() error { + cAddr = c.Addr() + return nil + }) + require.NoError(t, err) + + err = p.strand("", func() error { + p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { + require.Equal(t, cAddr, addr) + } + return nil + }) + require.NoError(t, err) + + err = p.Disconnect(c.Addr(), ErrDisconnectMalformedMessage) + require.NoError(t, err) + + err = p.strand("", func() error { + p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { + t.Fatal("disconnect unknown connection should not see this") + } + return nil + }) + require.NoError(t, err) + + err = p.Disconnect("", nil) + require.NoError(t, err) + + p.Shutdown() + <-q +} + +func TestConnectionClose(t *testing.T) { + c := &Connection{ + Conn: NewDummyConn(addr), + Buffer: &bytes.Buffer{}, + WriteQueue: make(chan Message), + } + + c.Buffer.WriteByte(7) + require.Equal(t, c.Buffer.Len(), 1) + c.Close() + + select { + case <-c.WriteQueue: + case <-time.After(time.Millisecond): + t.Fatalf("WriteQueue should be closed") + } + + require.Equal(t, c.Buffer.Len(), 0) +} + +type fakeConn struct { + net.Conn + addr string +} + +func (f fakeConn) RemoteAddr() net.Addr { + return fakeAddr{ + addr: f.addr, + } +} + +type fakeAddr struct { + net.Addr + addr string +} + +func (f fakeAddr) String() string { + return f.addr +} + +func TestGetConnections(t *testing.T) { + cfg := newTestConfig() + p := NewConnectionPool(cfg, nil) + + c := &Connection{ + ID: 1, + Conn: fakeConn{addr: "1.2.3.4"}, + } + d := &Connection{ + ID: 2, + Conn: fakeConn{addr: "2.3.4.5"}, + } + e := &Connection{ + ID: 3, + Conn: fakeConn{addr: "3.4.5.6"}, + } + + p.pool[c.ID] = c + p.pool[d.ID] = d + p.pool[e.ID] = e + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + wait() + + conns, err := p.GetConnections() + require.NoError(t, err) + require.Equal(t, len(conns), 3) + + m := make(map[int]*Connection, 3) + for i, c := range conns { + m[c.ID] = &conns[i] + } + + require.Equal(t, len(m), 3) + for i := 1; i <= 3; i++ { + require.Equal(t, m[i], p.pool[i]) + } + + p.Shutdown() + <-q +} + +func TestConnectionReadLoopReadError(t *testing.T) { + cfg := newTestConfig() + p := NewConnectionPool(cfg, nil) + + cc := make(chan *Connection, 1) + p.Config.ConnectCallback = func(addr string, solicited bool) { + cc <- p.addresses[addr] + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + + wait() + + readDataErr := errors.New("read data failed: failed") + + disconnectCalled := make(chan struct{}) + p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { + require.Equal(t, readDataErr, reason) + close(disconnectCalled) + } + + // 1: + // Use a mock net.Conn that captures SetReadDeadline + // and throws an error on Read + reconn := NewReadErrorConn() + go func() { + err := p.handleConnection(reconn, false) + require.Equal(t, readDataErr, err) + }() + + <-cc + + wait() + + require.True(t, reconn.(*ReadErrorConn).GetReadDeadlineSet() != time.Time{}) + reconn.Close() + + <-disconnectCalled + + p.Shutdown() + <-q +} + +func TestConnectionReadLoopSetReadDeadlineFailed(t *testing.T) { + cfg := newTestConfig() + p := NewConnectionPool(cfg, nil) + + cc := make(chan *Connection, 1) + p.Config.ConnectCallback = func(addr string, solicited bool) { + cc <- p.addresses[addr] + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + + wait() + + // 2: + // Use a mock net.Conn that fails on SetReadDeadline + disconnectCalled := make(chan struct{}) + p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { + require.Equal(t, ErrDisconnectSetReadDeadlineFailed, reason) + close(disconnectCalled) + } + + rdfconn := &ReadDeadlineFailedConn{} + go func() { + err := p.handleConnection(rdfconn, false) + require.Equal(t, ErrDisconnectSetReadDeadlineFailed, err) + }() + + <-cc + + rdfconn.Close() + + <-disconnectCalled + + p.Shutdown() + <-q +} + +func TestConnectionReadLoopInvalidMessageLength(t *testing.T) { + cfg := newTestConfig() + cfg.MaxMessageLength = 1 + p := NewConnectionPool(cfg, nil) + + cc := make(chan *Connection, 1) + p.Config.ConnectCallback = func(addr string, solicited bool) { + cc <- p.addresses[addr] + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + + wait() + + // 3: + // Use a mock net.Conn that returns some bytes on Read + // Look for these bytes copied into the eventChannel + disconnectCalled := make(chan struct{}) + p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { + require.Equal(t, ErrDisconnectInvalidMessageLength, reason) + close(disconnectCalled) + } + + raconn := newReadAlwaysConn() + go func() { + err := p.handleConnection(raconn, false) + require.Equal(t, ErrDisconnectInvalidMessageLength, err) + }() + + <-cc + + wait() + raconn.stop() + wait() + raconn.Close() + + <-disconnectCalled + + p.Shutdown() + <-q + +} + +func TestConnectionReadLoopTerminates(t *testing.T) { + cfg := newTestConfig() + p := NewConnectionPool(cfg, nil) + + cc := make(chan *Connection, 1) + p.Config.ConnectCallback = func(addr string, solicited bool) { + cc <- p.addresses[addr] + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + + wait() + + readDataErr := errors.New("read data failed: done") + + // 4: Use a mock net.Conn that successfully returns 0 bytes when read + rnconn := newReadNothingConn() + disconnectCalled := make(chan struct{}) + p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { + require.Equal(t, readDataErr, reason) + close(disconnectCalled) + } + go func() { + err := p.handleConnection(rnconn, false) + require.Equal(t, readDataErr, err) + }() + + <-cc + + wait() + rnconn.stop() + wait() + rnconn.Close() + + <-disconnectCalled + + p.Shutdown() + <-q +} + +func TestProcessConnectionBuffers(t *testing.T) { + resetHandler() + EraseMessages() + RegisterMessage(DummyPrefix, DummyMessage{}) + RegisterMessage(ErrorPrefix, ErrorMessage{}) + VerifyMessages() + cfg := newTestConfig() + p := NewConnectionPool(cfg, nil) + + // Setup a callback to capture the connection pointer so we can get the address + cc := make(chan *Connection, 1) + p.Config.ConnectCallback = func(addr string, solicited bool) { + cc <- p.addresses[addr] + } + + p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { + t.Fatalf("Unexpected disconnect address=%s reason=%v", addr, reason) + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + wait() + + conn, err := net.Dial("tcp", addr) + require.NoError(t, err) + + c := <-cc + require.NotNil(t, c) + + // Write DummyMessage + _, err = conn.Write([]byte{4, 0, 0, 0}) + require.NoError(t, err) + _, err = conn.Write([]byte{'D', 'U', 'M', 'Y'}) + require.NoError(t, err) + + wait() + + err = p.strand("", func() error { + require.NotEqual(t, c.LastReceived, time.Time{}) + return nil + }) + require.NoError(t, err) + + // Push multiple messages, the first causing an error, and confirm that + // the remaining messages were unprocessed. + t.Logf("Pushing multiple messages, first one causing an error") + + disconnectCalled := make(chan struct{}) + p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { + require.Equal(t, reason, ErrErrorMessageHandler) + close(disconnectCalled) + } + + _, err = conn.Write([]byte{4, 0, 0, 0, 'E', 'R', 'R', 0x00}) + require.NoError(t, err) + + select { + case <-disconnectCalled: + case <-time.After(time.Second * 2): + t.Fatal("disconnect did not happen, would block") + } + + p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { + fmt.Println(reason) + t.Fatal("should not see this") + } + + _, err = conn.Write([]byte{4, 0, 0, 0, 'D', 'U', 'M', 'Y'}) + require.NoError(t, err) + + wait() + + conn, err = net.Dial("tcp", addr) + require.NoError(t, err) + + c = <-cc + require.NotNil(t, c) + + disconnectCalled = make(chan struct{}) + p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { + require.Equal(t, c.Addr(), addr) + require.Equal(t, reason, ErrDisconnectInvalidMessageLength) + require.Nil(t, p.pool[1]) + require.Nil(t, p.pool[2]) + close(disconnectCalled) + } + + // Sending a length of < messagePrefixLength should cause a disconnect + t.Logf("Pushing message with too small length") + + _, err = conn.Write([]byte{messagePrefixLength - 1, 0, 0, 0, 'B', 'Y', 'T', 'E'}) + require.NoError(t, err) + + select { + case <-disconnectCalled: + case <-time.After(time.Second * 2): + t.Fatal("disconnect did not happen, would block") + } + + // Sending a length > MaxMessageLength should cause a disconnect + conn, err = net.Dial("tcp", addr) + require.NoError(t, err) + + c = <-cc + require.NotNil(t, c) + + t.Logf("Pushing message with too large length") + p.Config.MaxMessageLength = 4 + disconnectCalled = make(chan struct{}) + p.Config.DisconnectCallback = func(addr string, r DisconnectReason) { + require.Equal(t, ErrDisconnectInvalidMessageLength, r) + close(disconnectCalled) + } + + _, err = conn.Write([]byte{5, 0, 0, 0, 'B', 'Y', 'T', 'E'}) + require.NoError(t, err) + + <-disconnectCalled + + err = p.strand("", func() error { + require.Nil(t, p.pool[1]) + require.Nil(t, p.pool[2]) + require.Nil(t, p.pool[3]) + return nil + }) + + p.Shutdown() + <-q +} + +func TestConnectionWriteLoop(t *testing.T) { + resetHandler() + EraseMessages() + RegisterMessage(BytePrefix, ByteMessage{}) + VerifyMessages() + + cfg := newTestConfig() + p := NewConnectionPool(cfg, nil) + + // Setup a callback to capture the connection pointer so we can get the address + cc := make(chan *Connection, 1) + p.Config.ConnectCallback = func(addr string, solicited bool) { + cc <- p.pool[1] + } + + disconnectErr := make(chan DisconnectReason, 1) + p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { + fmt.Printf("DisconnectCallback called, address=%s reason=%v\n", addr, reason) + disconnectErr <- reason + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + + wait() + + conn, err := net.Dial("tcp", addr) + require.NoError(t, err) + + wait() + + // Go's internals seem to be blocking on network read, write something to + // the connection to hopefully avoid this + _, err = conn.Write([]byte{0}) + require.NoError(t, err) + + c := <-cc + require.NotNil(t, c) + + m := NewByteMessage(88) + // Send a successful message to b + err = p.SendMessage(c.Addr(), m) + require.NoError(t, err) + + var sr SendResult + select { + case sr = <-p.SendResults: + case <-time.After(time.Second * 2): + t.Fatal("No send results, would block") + } + + require.Len(t, p.SendResults, 0) + + require.Equal(t, sr.Message, m) + require.Equal(t, sr.Addr, c.Addr()) + require.Nil(t, sr.Error) + + err = p.strand("", func() error { + c = p.pool[c.ID] + return nil + }) + require.NoError(t, err) + require.NotNil(t, c) + + lastSent := c.LastSent + require.False(t, lastSent.IsZero()) + + // Send a failed message to c + sendByteMessage = failingSendByteMessage + + err = p.SendMessage(c.Addr(), m) + require.NoError(t, err) + + select { + case sr = <-p.SendResults: + case <-time.After(time.Second * 2): + t.Fatal("No send results, would block") + } + require.Equal(t, sr.Message, m) + require.Equal(t, sr.Addr, c.Addr()) + require.NotNil(t, sr.Error) + + reason := <-disconnectErr + require.NotNil(t, reason) + require.Equal(t, errors.New("send byte message failed"), reason) + + // c.LastSent should not have changed + require.Equal(t, lastSent, c.LastSent) + + p.Shutdown() + <-q +} + +func TestPoolSendMessageOK(t *testing.T) { + resetHandler() + EraseMessages() + RegisterMessage(BytePrefix, ByteMessage{}) + VerifyMessages() + + cfg := newTestConfig() + cfg.WriteTimeout = time.Second + cfg.SendResultsSize = 1 + cfg.ConnectionWriteQueueSize = 8 + p := NewConnectionPool(cfg, nil) + + // Setup a callback to capture the connection pointer so we can get the address + cc := make(chan *Connection, 1) + p.Config.ConnectCallback = func(addr string, solicited bool) { + cc <- p.pool[1] + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + wait() + + _, err := net.Dial("tcp", addr) + require.NoError(t, err) + + c := <-cc + m := NewByteMessage(88) + err = p.SendMessage(c.Addr(), m) + require.NoError(t, err) + + p.Shutdown() + <-q +} + +func TestPoolSendMessageWriteQueueFull(t *testing.T) { + resetHandler() + EraseMessages() + RegisterMessage(BytePrefix, ByteMessage{}) + VerifyMessages() + + cfg := newTestConfig() + cfg.WriteTimeout = time.Second + cfg.SendResultsSize = 1 + cfg.ConnectionWriteQueueSize = 0 + p := NewConnectionPool(cfg, nil) + + // Setup a callback to capture the connection pointer so we can get the address + cc := make(chan *Connection, 1) + p.Config.ConnectCallback = func(addr string, solicited bool) { + cc <- p.pool[1] + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + wait() + + _, err := net.Dial("tcp", addr) + require.NoError(t, err) + + c := <-cc + + // Send messages faster than can be processed to trigger ErrWriteQueueFull + attempts := 100 + gotErr := false + var once sync.Once + m := NewByteMessage(88) + addr := c.Addr() + var wg sync.WaitGroup + wg.Add(attempts) + for i := 0; i < attempts; i++ { + go func() { + defer wg.Done() + err := p.SendMessage(addr, m) + if err == ErrWriteQueueFull { + once.Do(func() { + gotErr = true + }) + } + }() + } + + wg.Wait() + + require.True(t, gotErr) + + p.Shutdown() + <-q +} + +func TestPoolBroadcastMessage(t *testing.T) { + resetHandler() + EraseMessages() + RegisterMessage(BytePrefix, ByteMessage{}) + VerifyMessages() + + cfg := newTestConfig() + cfg.ConnectionWriteQueueSize = 1 + p := NewConnectionPool(cfg, nil) + + ready := make(chan struct{}) + var i int + var counterLock sync.Mutex + p.Config.ConnectCallback = func(addr string, solicited bool) { + counterLock.Lock() + defer counterLock.Unlock() + i++ + if i == 2 { + close(ready) + } + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + wait() + + conn1, err := net.Dial("tcp", addr) + require.NoError(t, err) + + // Go's internals seem to be blocking on network read, write something to + // the connection to hopefully avoid this + _, err = conn1.Write([]byte{0}) + require.NoError(t, err) + + conn2, err := net.Dial("tcp", addr) + require.NoError(t, err) + + // Go's internals seem to be blocking on network read, write something to + // the connection to hopefully avoid this + _, err = conn2.Write([]byte{0}) + require.NoError(t, err) + + <-ready + + m := NewByteMessage(88) + err = p.BroadcastMessage(m) + require.NoError(t, err) + + attempts := 100 + gotErr := false + var once sync.Once + var wg sync.WaitGroup + wg.Add(attempts) + for i := 0; i < attempts; i++ { + go func() { + defer wg.Done() + err := p.BroadcastMessage(m) + if err == ErrNoReachableConnections { + once.Do(func() { + gotErr = true + }) + } + }() + } + + wg.Wait() + + require.True(t, gotErr) + + p.Shutdown() + <-q +} + +func TestPoolReceiveMessage(t *testing.T) { + wait() + resetHandler() + EraseMessages() + RegisterMessage(BytePrefix, ByteMessage{}) + RegisterMessage(ErrorPrefix, ErrorMessage{}) + VerifyMessages() + + cfg := newTestConfig() + p := NewConnectionPool(cfg, nil) + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + wait() + + c := NewConnection(p, 1, NewDummyConn(addr), 10, true) + + // Valid message received + b := make([]byte, 0) + b = append(b, BytePrefix[:]...) + b = append(b, byte(7)) + err := p.receiveMessage(c, b) + require.NoError(t, err) + require.False(t, c.LastReceived.IsZero()) + + // Invalid byte message received + b = []byte{1} + err = p.receiveMessage(c, b) + require.Error(t, err) + + // Valid message, but handler returns a DisconnectReason + b = make([]byte, 0) + b = append(b, ErrorPrefix[:]...) + err = p.receiveMessage(c, b) + require.Equal(t, err, ErrErrorMessageHandler) + + p.Shutdown() + <-q +} + +// Helpers + +func wait() { + time.Sleep(time.Millisecond * 100) +} + +type DummyAddr struct { + addr string +} + +func NewDummyAddr(addr string) *DummyAddr { + return &DummyAddr{ + addr: addr, + } +} + +func (da *DummyAddr) Network() string { + return da.addr +} + +func (da *DummyAddr) String() string { + return da.Network() +} + +type DummyConn struct { + net.Conn + addr string +} + +func NewDummyConn(addr string) net.Conn { + return &DummyConn{addr: addr} +} + +func (dc *DummyConn) RemoteAddr() net.Addr { + return NewDummyAddr(dc.addr) +} + +func (dc *DummyConn) LocalAddr() net.Addr { + return dc.RemoteAddr() +} + +func (dc *DummyConn) Close() error { + return nil +} + +func (dc *DummyConn) Read(b []byte) (int, error) { + return 0, nil +} + +func (dc *DummyConn) SetWriteDeadline(t time.Time) error { + return nil +} + +func (dc *DummyConn) Write(b []byte) (int, error) { + return len(b), nil +} + +type ReadErrorConn struct { + net.Conn + ReadDeadlineSet time.Time + sync.Mutex +} + +func NewReadErrorConn() net.Conn { + return &ReadErrorConn{} +} + +func (rec *ReadErrorConn) RemoteAddr() net.Addr { + return NewDummyAddr(addr) +} + +func (rec *ReadErrorConn) SetReadDeadline(t time.Time) error { + rec.Lock() + defer rec.Unlock() + rec.ReadDeadlineSet = t + return nil +} + +func (rec *ReadErrorConn) GetReadDeadlineSet() time.Time { + rec.Lock() + defer rec.Unlock() + return rec.ReadDeadlineSet +} + +func (rec *ReadErrorConn) Read(b []byte) (int, error) { + return 0, errors.New("failed") +} + +func (rec *ReadErrorConn) Close() error { + return nil +} + +type ReadDeadlineFailedConn struct { + net.Conn +} + +func (c *ReadDeadlineFailedConn) Read(b []byte) (int, error) { + return 0, nil +} + +func (c *ReadDeadlineFailedConn) SetReadDeadline(t time.Time) error { + return errors.New("Failed") +} + +func (c *ReadDeadlineFailedConn) RemoteAddr() net.Addr { + return NewDummyAddr(addr) +} + +func (c *ReadDeadlineFailedConn) Close() error { + return nil +} + +type readAlwaysConn struct { + net.Conn + stopReading chan struct{} +} + +func newReadAlwaysConn() *readAlwaysConn { + return &readAlwaysConn{ + stopReading: make(chan struct{}), + } +} + +func (c *readAlwaysConn) RemoteAddr() net.Addr { + return NewDummyAddr(addr) +} + +func (c *readAlwaysConn) Close() error { + return nil +} + +func (c *readAlwaysConn) Read(b []byte) (int, error) { + select { + case <-c.stopReading: + return 0, errors.New("done") + default: + } + + if len(b) == 0 { + return 0, nil + } + + b[0] = byte(88) + + return 1, nil +} + +func (c *readAlwaysConn) SetReadDeadline(t time.Time) error { + return nil +} + +func (c *readAlwaysConn) stop() { + close(c.stopReading) +} + +type readNothingConn struct { + net.Conn + stopReading chan struct{} +} + +func newReadNothingConn() *readNothingConn { + return &readNothingConn{ + stopReading: make(chan struct{}), + } +} + +func (c *readNothingConn) Read(b []byte) (int, error) { + select { + case <-c.stopReading: + return 0, errors.New("done") + default: + } + + time.Sleep(time.Millisecond * 2) + return 0, nil +} + +func (c *readNothingConn) SetReadDeadline(t time.Time) error { + return nil +} + +func (c *readNothingConn) RemoteAddr() net.Addr { + return NewDummyAddr(addr) +} + +func (c *readNothingConn) Close() error { + return nil +} + +func (c *readNothingConn) stop() { + close(c.stopReading) +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/heights.go b/vendor/github.com/skycoin/skycoin/src/daemon/heights.go new file mode 100755 index 0000000..57288b8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/heights.go @@ -0,0 +1,84 @@ +package daemon + +import ( + "sort" + "strings" + "sync" +) + +// PeerBlockchainHeight is a peer's IP address with their reported blockchain height +type PeerBlockchainHeight struct { + Address string `json:"address"` + Height uint64 `json:"height"` +} + +// peerBlockchainHeights tracks reported blockchain heights of peers +type peerBlockchainHeights struct { + // Peer-reported blockchain height. Use to estimate download progress + heights map[string]uint64 + sync.Mutex +} + +// newPeerBlockchainHeights creates a peerBlockchainHeights +func newPeerBlockchainHeights() *peerBlockchainHeights { + return &peerBlockchainHeights{ + heights: make(map[string]uint64), + } +} + +// Remove removes a connection from the records +func (p *peerBlockchainHeights) Remove(addr string) { + p.Lock() + defer p.Unlock() + + delete(p.heights, addr) +} + +// Record saves a peer-reported blockchain height +func (p *peerBlockchainHeights) Record(addr string, height uint64) { + p.Lock() + defer p.Unlock() + + p.heights[addr] = height +} + +// Estimate returns the blockchain length estimated from peer reports. +// The highest height reported amongst all peers, and including the node itself, +// is returned. +func (p *peerBlockchainHeights) Estimate(headSeq uint64) uint64 { + p.Lock() + defer p.Unlock() + + for _, seq := range p.heights { + if headSeq < seq { + headSeq = seq + } + } + + return headSeq +} + +// All returns recorded peers' blockchain heights as an array. +// The array is sorted by address as strings. +func (p *peerBlockchainHeights) All() []PeerBlockchainHeight { + p.Lock() + defer p.Unlock() + + if len(p.heights) == 0 { + return nil + } + + peerHeights := make([]PeerBlockchainHeight, 0, len(p.heights)) + for addr, height := range p.heights { + peerHeights = append(peerHeights, PeerBlockchainHeight{ + Address: addr, + Height: height, + }) + } + + sort.Slice(peerHeights, func(i, j int) bool { + return strings.Compare(peerHeights[i].Address, peerHeights[j].Address) < 0 + }) + + return peerHeights +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/heights_test.go b/vendor/github.com/skycoin/skycoin/src/daemon/heights_test.go new file mode 100755 index 0000000..f3acd1d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/heights_test.go @@ -0,0 +1,82 @@ +package daemon + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func TestPeerBlockchainHeights(t *testing.T) { + p := newPeerBlockchainHeights() + + addr1 := "127.0.0.1:1234" + addr2 := "127.0.0.1:5678" + addr3 := "127.0.0.1:9999" + + require.Empty(t, p.heights) + p.Remove(addr1) + require.Empty(t, p.heights) + + e := p.Estimate(1) + require.Equal(t, uint64(1), e) + + e = p.Estimate(13) + require.Equal(t, uint64(13), e) + + p.Record(addr1, 10) + require.Len(t, p.heights, 1) + + records := p.All() + require.Len(t, records, 1) + require.Equal(t, PeerBlockchainHeight{ + Address: addr1, + Height: 10, + }, records[0]) + + p.Record(addr1, 11) + require.Len(t, p.heights, 1) + + records = p.All() + require.Len(t, records, 1) + require.Equal(t, PeerBlockchainHeight{ + Address: addr1, + Height: 11, + }, records[0]) + + e = p.Estimate(1) + require.Equal(t, uint64(11), e) + + e = p.Estimate(13) + require.Equal(t, uint64(13), e) + + p.Record(addr2, 12) + p.Record(addr3, 12) + require.Len(t, p.heights, 3) + + records = p.All() + require.Len(t, records, 3) + require.Equal(t, []PeerBlockchainHeight{ + { + Address: addr1, + Height: 11, + }, + { + Address: addr2, + Height: 12, + }, + { + Address: addr3, + Height: 12, + }, + }, records) + + e = p.Estimate(1) + require.Equal(t, uint64(12), e) + + e = p.Estimate(13) + require.Equal(t, uint64(13), e) + + p.Record(addr3, 24) + e = p.Estimate(13) + require.Equal(t, uint64(24), e) +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/messages.go b/vendor/github.com/skycoin/skycoin/src/daemon/messages.go new file mode 100755 index 0000000..1ed7eab --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/messages.go @@ -0,0 +1,756 @@ +package daemon + +import ( + "encoding/binary" + "errors" + "fmt" + "math/rand" + "net" + "strings" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon/gnet" + "github.com/skycoin/skycoin/src/daemon/pex" + "github.com/skycoin/skycoin/src/util/iputil" + "github.com/skycoin/skycoin/src/util/utc" +) + +// Message represent a packet to be serialized over the network by +// the gnet encoder. +// They must implement the gnet.Message interface +// All concurrent daemon write operations are synchronized by the daemon's +// DaemonLoop(). +// Message do this by caching the gnet.MessageContext received in Handle() +// and placing itself on the messageEvent channel. +// When the message is retrieved from the messageEvent channel, its Process() +// method is called. + +// MessageConfig config contains a gnet.Message's 4byte prefix and a +// reference interface +type MessageConfig struct { + Prefix gnet.MessagePrefix + Message interface{} +} + +// NewMessageConfig creates message config +func NewMessageConfig(prefix string, m interface{}) MessageConfig { + return MessageConfig{ + Message: m, + Prefix: gnet.MessagePrefixFromString(prefix), + } +} + +// Creates and populates the message configs +func getMessageConfigs() []MessageConfig { + return []MessageConfig{ + NewMessageConfig("INTR", IntroductionMessage{}), + NewMessageConfig("GETP", GetPeersMessage{}), + NewMessageConfig("GIVP", GivePeersMessage{}), + NewMessageConfig("PING", PingMessage{}), + NewMessageConfig("PONG", PongMessage{}), + NewMessageConfig("GETB", GetBlocksMessage{}), + NewMessageConfig("GIVB", GiveBlocksMessage{}), + NewMessageConfig("ANNB", AnnounceBlocksMessage{}), + NewMessageConfig("GETT", GetTxnsMessage{}), + NewMessageConfig("GIVT", GiveTxnsMessage{}), + NewMessageConfig("ANNT", AnnounceTxnsMessage{}), + } +} + +// MessagesConfig slice of MessageConfig +type MessagesConfig struct { + // Message ID prefices + Messages []MessageConfig +} + +// NewMessagesConfig creates messages config +func NewMessagesConfig() MessagesConfig { + return MessagesConfig{ + Messages: getMessageConfigs(), + } +} + +// Register registers our Messages with gnet +func (msc *MessagesConfig) Register() { + for _, mc := range msc.Messages { + gnet.RegisterMessage(mc.Prefix, mc.Message) + } + gnet.VerifyMessages() +} + +// Messages messages struct +type Messages struct { + Config MessagesConfig + // Magic value for detecting self-connection + Mirror uint32 +} + +// NewMessages creates Messages +func NewMessages(c MessagesConfig) *Messages { + return &Messages{ + Config: c, + Mirror: rand.New(rand.NewSource(utc.Now().UnixNano())).Uint32(), + } +} + +// IPAddr compact representation of IP:Port +type IPAddr struct { + IP uint32 + Port uint16 +} + +// NewIPAddr returns an IPAddr from an ip:port string. +func NewIPAddr(addr string) (ipaddr IPAddr, err error) { + ips, port, err := iputil.SplitAddr(addr) + if err != nil { + return + } + + // TODO -- support ipv6 + ipb := net.ParseIP(ips).To4() + if ipb == nil { + err = errors.New("Ignoring IPv6 address") + return + } + + ip := binary.BigEndian.Uint32(ipb) + ipaddr.IP = ip + ipaddr.Port = uint16(port) + return +} + +// String returns IPAddr as "ip:port" +func (ipa IPAddr) String() string { + ipb := make([]byte, 4) + binary.BigEndian.PutUint32(ipb, ipa.IP) + return fmt.Sprintf("%s:%d", net.IP(ipb).String(), ipa.Port) +} + +// AsyncMessage messages that perform an action when received must implement this interface. +// Process() is called after the message is pulled off of messageEvent channel. +// Messages should place themselves on the messageEvent channel in their +// Handle() method required by gnet. +type AsyncMessage interface { + Process(d Daemoner) +} + +// GetPeersMessage sent to request peers +type GetPeersMessage struct { + // c *gnet.MessageContext `enc:"-"` + // connID int `enc:"-"` + addr string `enc:"-"` +} + +// NewGetPeersMessage creates GetPeersMessage +func NewGetPeersMessage() *GetPeersMessage { + return &GetPeersMessage{} +} + +// Handle handles message +func (gpm *GetPeersMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + // self.connID = mc.ConnID + gpm.addr = mc.Addr + return daemon.(Daemoner).RecordMessageEvent(gpm, mc) +} + +// Process Notifies the Pex instance that peers were requested +func (gpm *GetPeersMessage) Process(d Daemoner) { + if d.PexConfig().Disabled { + return + } + + peers := d.RandomExchangeable(d.PexConfig().ReplyCount) + if len(peers) == 0 { + logger.Debug("We have no peers to send in reply") + return + } + + m := NewGivePeersMessage(peers) + if err := d.SendMessage(gpm.addr, m); err != nil { + logger.Errorf("Send GivePeersMessage to %s failed: %v", gpm.addr, err) + } +} + +// GivePeersMessage sent in response to GetPeersMessage +type GivePeersMessage struct { + Peers []IPAddr + c *gnet.MessageContext `enc:"-"` +} + +// NewGivePeersMessage []*pex.Peer is converted to []IPAddr for binary transmission +func NewGivePeersMessage(peers []pex.Peer) *GivePeersMessage { + ipaddrs := make([]IPAddr, 0, len(peers)) + for _, ps := range peers { + ipaddr, err := NewIPAddr(ps.Addr) + if err != nil { + logger.Warningf("GivePeersMessage skipping address %s", ps.Addr) + logger.Warning(err.Error()) + continue + } + ipaddrs = append(ipaddrs, ipaddr) + } + return &GivePeersMessage{Peers: ipaddrs} +} + +// GetPeers is required by the pex.GivePeersMessage interface. +// It returns the peers contained in the message as an array of "ip:port" +// strings. +func (gpm *GivePeersMessage) GetPeers() []string { + peers := make([]string, len(gpm.Peers)) + for i, ipaddr := range gpm.Peers { + peers[i] = ipaddr.String() + } + return peers +} + +// Handle handle message +func (gpm *GivePeersMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + gpm.c = mc + return daemon.(Daemoner).RecordMessageEvent(gpm, mc) +} + +// Process Notifies the Pex instance that peers were received +func (gpm *GivePeersMessage) Process(d Daemoner) { + if d.PexConfig().Disabled { + return + } + peers := gpm.GetPeers() + logger.Debugf("Got these peers via PEX: %s", strings.Join(peers, ", ")) + + d.AddPeers(peers) +} + +// IntroductionMessage jan IntroductionMessage is sent on first connect by both parties +type IntroductionMessage struct { + // Mirror is a random value generated on client startup that is used + // to identify self-connections + Mirror uint32 + // Port is the port that this client is listening on + Port uint16 + // Our client version + Version int32 + c *gnet.MessageContext `enc:"-"` + // We validate the message in Handle() and cache the result for Process() + valid bool `enc:"-"` // skip it during encoding + // Extra would be parsed as blockchain pubkey if it's not empty + Extra []byte `enc:",omitempty"` +} + +// NewIntroductionMessage creates introduction message +func NewIntroductionMessage(mirror uint32, version int32, port uint16, extra []byte) *IntroductionMessage { + return &IntroductionMessage{ + Mirror: mirror, + Version: version, + Port: port, + Extra: extra, + } +} + +// Handle Responds to an gnet.Pool event. We implement Handle() here because we +// need to control the DisconnectReason sent back to gnet. We still implement +// Process(), where we do modifications that are not threadsafe +func (intro *IntroductionMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + d := daemon.(Daemoner) + + err := func() error { + // Disconnect if this is a self connection (we have the same mirror value) + if intro.Mirror == d.Mirror() { + logger.Infof("Remote mirror value %v matches ours", intro.Mirror) + d.Disconnect(mc.Addr, ErrDisconnectSelf) + return ErrDisconnectSelf + + } + + // Disconnect if not running the same version + if intro.Version != d.DaemonConfig().Version { + logger.Infof("%s has different version %d. Disconnecting.", + mc.Addr, intro.Version) + d.Disconnect(mc.Addr, ErrDisconnectInvalidVersion) + return ErrDisconnectInvalidVersion + } + + logger.Infof("%s verified for version %d", mc.Addr, intro.Version) + + // Checks the genesis hash if not empty + if len(intro.Extra) > 0 { + var bcPubKey cipher.PubKey + if len(intro.Extra) < len(bcPubKey) { + logger.Infof("Extra data length does not meet the minimum requirement") + d.Disconnect(mc.Addr, ErrDisconnectInvalidExtraData) + return ErrDisconnectInvalidExtraData + } + copy(bcPubKey[:], intro.Extra[:len(bcPubKey)]) + + if d.BlockchainPubkey() != bcPubKey { + logger.Infof("Blockchain pubkey does not match, local: %s, remote: %s", d.BlockchainPubkey().Hex(), bcPubKey.Hex()) + d.Disconnect(mc.Addr, ErrDisconnectBlockchainPubkeyNotMatched) + return ErrDisconnectBlockchainPubkeyNotMatched + } + } + + // only solicited connection can be added to exchange peer list, cause accepted + // connection may not have incomming port. + ip, port, err := iputil.SplitAddr(mc.Addr) + if err != nil { + // This should never happen, but the program should still work if it + // does. + logger.Errorf("Invalid Addr() for connection: %s", mc.Addr) + d.Disconnect(mc.Addr, ErrDisconnectOtherError) + return ErrDisconnectOtherError + } + + // Checks if the introduction message is from outgoing connection. + // It's outgoing connection if port == intro.Port, as the incoming + // connection's port is a random port, it's different from the port + // in introduction message. + if port == intro.Port { + if d.IsDefaultConnection(mc.Addr) { + reached, err := d.IsMaxDefaultConnectionsReached() + if err != nil { + logger.Errorf("Check IsMaxDefaultConnReached failed: %v", err) + return err + } + + if reached { + d.Disconnect(mc.Addr, ErrDisconnectMaxDefaultConnectionReached) + return ErrDisconnectMaxDefaultConnectionReached + } + } + + if err := d.SetHasIncomingPort(mc.Addr); err != nil { + logger.Errorf("Failed to set peer has incoming port status, %v", err) + } + } else { + if err := d.AddPeer(fmt.Sprintf("%s:%d", ip, intro.Port)); err != nil { + logger.Errorf("Failed to add peer: %v", err) + } + } + + // Disconnect if connected twice to the same peer (judging by ip:mirror) + knownPort, exists := d.GetMirrorPort(mc.Addr, intro.Mirror) + if exists { + logger.Infof("%s is already connected on port %d", mc.Addr, knownPort) + d.Disconnect(mc.Addr, ErrDisconnectConnectedTwice) + return ErrDisconnectConnectedTwice + } + return nil + }() + + intro.valid = (err == nil) + intro.c = mc + + if err != nil { + d.IncreaseRetryTimes(mc.Addr) + d.RemoveFromExpectingIntroductions(mc.Addr) + return err + } + + err = d.RecordMessageEvent(intro, mc) + d.ResetRetryTimes(mc.Addr) + return err +} + +// Process an event queued by Handle() +func (intro *IntroductionMessage) Process(d Daemoner) { + d.RemoveFromExpectingIntroductions(intro.c.Addr) + if !intro.valid { + return + } + // Add the remote peer with their chosen listening port + a := intro.c.Addr + + // Record their listener, to avoid double connections + err := d.RecordConnectionMirror(a, intro.Mirror) + if err != nil { + // This should never happen, but the program should not allow itself + // to be corrupted in case it does + logger.Errorf("Invalid port for connection %s", a) + d.Disconnect(intro.c.Addr, ErrDisconnectOtherError) + return + } + + // Request blocks immediately after they're confirmed + err = d.RequestBlocksFromAddr(intro.c.Addr) + if err == nil { + logger.Debugf("Successfully requested blocks from %s", intro.c.Addr) + } else { + logger.Warning(err) + } + + // Anounce unconfirmed know txns + d.AnnounceAllTxns() +} + +// PingMessage Sent to keep a connection alive. A PongMessage is sent in reply. +type PingMessage struct { + c *gnet.MessageContext `enc:"-"` +} + +// Handle implements the Messager interface +func (ping *PingMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + ping.c = mc + return daemon.(Daemoner).RecordMessageEvent(ping, mc) +} + +// Process Sends a PongMessage to the sender of PingMessage +func (ping *PingMessage) Process(d Daemoner) { + if d.DaemonConfig().LogPings { + logger.Debugf("Reply to ping from %s", ping.c.Addr) + } + if err := d.SendMessage(ping.c.Addr, &PongMessage{}); err != nil { + logger.Errorf("Send PongMessage to %s failed: %v", ping.c.Addr, err) + } +} + +// PongMessage Sent in reply to a PingMessage. No action is taken when this is received. +type PongMessage struct { +} + +// Handle handles message +func (pong *PongMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + // There is nothing to do; gnet updates Connection.LastMessage internally + // when this is received + if daemon.(*Daemon).Config.LogPings { + logger.Debugf("Received pong from %s", mc.Addr) + } + return nil +} + +// GetBlocksMessage sent to request blocks since LastBlock +type GetBlocksMessage struct { + LastBlock uint64 + RequestedBlocks uint64 + c *gnet.MessageContext `enc:"-"` +} + +// NewGetBlocksMessage creates GetBlocksMessage +func NewGetBlocksMessage(lastBlock uint64, requestedBlocks uint64) *GetBlocksMessage { + return &GetBlocksMessage{ + LastBlock: lastBlock, + RequestedBlocks: requestedBlocks, // count of blocks requested + } +} + +// Handle handles message +func (gbm *GetBlocksMessage) Handle(mc *gnet.MessageContext, + daemon interface{}) error { + gbm.c = mc + return daemon.(Daemoner).RecordMessageEvent(gbm, mc) +} + +// Process should send number to be requested, with request +func (gbm *GetBlocksMessage) Process(d Daemoner) { + // TODO -- we need the sig to be sent with the block, but only the master + // can sign blocks. Thus the sig needs to be stored with the block. + if d.DaemonConfig().DisableNetworking { + return + } + // Record this as this peer's highest block + d.RecordPeerHeight(gbm.c.Addr, gbm.LastBlock) + // Fetch and return signed blocks since LastBlock + blocks, err := d.GetSignedBlocksSince(gbm.LastBlock, gbm.RequestedBlocks) + if err != nil { + logger.Infof("Get signed blocks failed: %v", err) + return + } + + if len(blocks) == 0 { + return + } + + logger.Debugf("Got %d blocks since %d", len(blocks), gbm.LastBlock) + + m := NewGiveBlocksMessage(blocks) + if err := d.SendMessage(gbm.c.Addr, m); err != nil { + logger.Errorf("Send GiveBlocksMessage to %s failed: %v", gbm.c.Addr, err) + } +} + +// GiveBlocksMessage sent in response to GetBlocksMessage, or unsolicited +type GiveBlocksMessage struct { + Blocks []coin.SignedBlock + c *gnet.MessageContext `enc:"-"` +} + +// NewGiveBlocksMessage creates GiveBlocksMessage +func NewGiveBlocksMessage(blocks []coin.SignedBlock) *GiveBlocksMessage { + return &GiveBlocksMessage{ + Blocks: blocks, + } +} + +// Handle handle message +func (gbm *GiveBlocksMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + gbm.c = mc + return daemon.(Daemoner).RecordMessageEvent(gbm, mc) +} + +// Process process message +func (gbm *GiveBlocksMessage) Process(d Daemoner) { + if d.DaemonConfig().DisableNetworking { + logger.Critical().Info("Visor disabled, ignoring GiveBlocksMessage") + return + } + + // These DB queries are not performed in a transaction for performance reasons. + // It is not necessary that the blocks be executed together in a single transaction. + + processed := 0 + maxSeq, ok, err := d.HeadBkSeq() + if err != nil { + logger.WithError(err).Error("visor.HeadBkSeq failed") + return + } + if !ok { + logger.Error("No HeadBkSeq found, cannot execute blocks") + return + } + + for _, b := range gbm.Blocks { + // To minimize waste when receiving multiple responses from peers + // we only break out of the loop if the block itself is invalid. + // E.g. if we request 20 blocks since 0 from 2 peers, and one peer + // replies with 15 and the other 20, if we did not do this check and + // the reply with 15 was received first, we would toss the one with 20 + // even though we could process it at the time. + if b.Seq() <= maxSeq { + continue + } + + err := d.ExecuteSignedBlock(b) + if err == nil { + logger.Critical().Infof("Added new block %d", b.Block.Head.BkSeq) + processed++ + } else { + logger.Critical().Errorf("Failed to execute received block %d: %v", b.Block.Head.BkSeq, err) + // Blocks must be received in order, so if one fails its assumed + // the rest are failing + break + } + } + if processed == 0 { + return + } + + headBkSeq, ok, err := d.HeadBkSeq() + if err != nil { + logger.WithError(err).Error("visor.HeadBkSeq failed") + return + } + if !ok { + logger.Error("No HeadBkSeq found after executing blocks, will not announce blocks") + return + } + + if headBkSeq < maxSeq { + logger.Critical().Warning("HeadBkSeq decreased after executing blocks") + } else if headBkSeq-maxSeq != uint64(processed) { + logger.Critical().Warning("HeadBkSeq increased by %d but we processed %s blocks", headBkSeq-maxSeq, processed) + } + + // Announce our new blocks to peers + m1 := NewAnnounceBlocksMessage(headBkSeq) + d.BroadcastMessage(m1) + //request more blocks. + m2 := NewGetBlocksMessage(headBkSeq, d.DaemonConfig().BlocksResponseCount) + d.BroadcastMessage(m2) +} + +// AnnounceBlocksMessage tells a peer our highest known BkSeq. The receiving peer can choose +// to send GetBlocksMessage in response +type AnnounceBlocksMessage struct { + MaxBkSeq uint64 + c *gnet.MessageContext `enc:"-"` +} + +// NewAnnounceBlocksMessage creates message +func NewAnnounceBlocksMessage(seq uint64) *AnnounceBlocksMessage { + return &AnnounceBlocksMessage{ + MaxBkSeq: seq, + } +} + +// Handle handles message +func (abm *AnnounceBlocksMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + abm.c = mc + return daemon.(Daemoner).RecordMessageEvent(abm, mc) +} + +// Process process message +func (abm *AnnounceBlocksMessage) Process(d Daemoner) { + if d.DaemonConfig().DisableNetworking { + return + } + + headBkSeq, ok, err := d.HeadBkSeq() + if err != nil { + logger.WithError(err).Error("AnnounceBlocksMessage Visor.HeadBkSeq failed") + return + } + if !ok { + logger.Error("AnnounceBlocksMessage no head block, cannot process AnnounceBlocksMessage") + return + } + + if headBkSeq >= abm.MaxBkSeq { + return + } + + // TODO: Should this be block get request for current sequence? + // If client is not caught up, won't attempt to get block + m := NewGetBlocksMessage(headBkSeq, d.DaemonConfig().BlocksResponseCount) + if err := d.SendMessage(abm.c.Addr, m); err != nil { + logger.Errorf("Send GetBlocksMessage to %s failed: %v", abm.c.Addr, err) + } +} + +// SendingTxnsMessage send transaction message interface +type SendingTxnsMessage interface { + GetTxns() []cipher.SHA256 +} + +// AnnounceTxnsMessage tells a peer that we have these transactions +type AnnounceTxnsMessage struct { + Txns []cipher.SHA256 + c *gnet.MessageContext `enc:"-"` +} + +// NewAnnounceTxnsMessage creates announce txns message +func NewAnnounceTxnsMessage(txns []cipher.SHA256) *AnnounceTxnsMessage { + return &AnnounceTxnsMessage{ + Txns: txns, + } +} + +// GetTxns returns txns +func (atm *AnnounceTxnsMessage) GetTxns() []cipher.SHA256 { + return atm.Txns +} + +// Handle handle message +func (atm *AnnounceTxnsMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + atm.c = mc + return daemon.(Daemoner).RecordMessageEvent(atm, mc) +} + +// Process process message +func (atm *AnnounceTxnsMessage) Process(d Daemoner) { + if d.DaemonConfig().DisableNetworking { + return + } + + unknown, err := d.GetUnconfirmedUnknown(atm.Txns) + if err != nil { + logger.WithError(err).Error("AnnounceTxnsMessage Visor.GetUnconfirmedUnknown failed") + return + } + + if len(unknown) == 0 { + return + } + + m := NewGetTxnsMessage(unknown) + if err := d.SendMessage(atm.c.Addr, m); err != nil { + logger.Errorf("Send GetTxnsMessage to %s failed: %v", atm.c.Addr, err) + } +} + +// GetTxnsMessage request transactions of given hash +type GetTxnsMessage struct { + Txns []cipher.SHA256 + c *gnet.MessageContext `enc:"-"` +} + +// NewGetTxnsMessage creates GetTxnsMessage +func NewGetTxnsMessage(txns []cipher.SHA256) *GetTxnsMessage { + return &GetTxnsMessage{ + Txns: txns, + } +} + +// Handle handle message +func (gtm *GetTxnsMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + gtm.c = mc + return daemon.(Daemoner).RecordMessageEvent(gtm, mc) +} + +// Process process message +func (gtm *GetTxnsMessage) Process(d Daemoner) { + if d.DaemonConfig().DisableNetworking { + return + } + + // Locate all txns from the unconfirmed pool + known, err := d.GetUnconfirmedKnown(gtm.Txns) + if err != nil { + logger.WithError(err).Error("GetTxnsMessage Visor.GetUnconfirmedKnown failed") + return + } + if len(known) == 0 { + return + } + + // Reply to sender with GiveTxnsMessage + m := NewGiveTxnsMessage(known) + if err := d.SendMessage(gtm.c.Addr, m); err != nil { + logger.Errorf("Send GiveTxnsMessage to %s failed: %v", gtm.c.Addr, err) + } +} + +// GiveTxnsMessage tells the transaction of given hashes +type GiveTxnsMessage struct { + Txns coin.Transactions + c *gnet.MessageContext `enc:"-"` +} + +// NewGiveTxnsMessage creates GiveTxnsMessage +func NewGiveTxnsMessage(txns coin.Transactions) *GiveTxnsMessage { + return &GiveTxnsMessage{ + Txns: txns, + } +} + +// GetTxns returns transactions hashes +func (gtm *GiveTxnsMessage) GetTxns() []cipher.SHA256 { + return gtm.Txns.Hashes() +} + +// Handle handle message +func (gtm *GiveTxnsMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + gtm.c = mc + return daemon.(Daemoner).RecordMessageEvent(gtm, mc) +} + +// Process process message +func (gtm *GiveTxnsMessage) Process(d Daemoner) { + if d.DaemonConfig().DisableNetworking { + return + } + + hashes := make([]cipher.SHA256, 0, len(gtm.Txns)) + // Update unconfirmed pool with these transactions + for _, txn := range gtm.Txns { + // Only announce transactions that are new to us, so that peers can't spam relays + known, softErr, err := d.InjectTransaction(txn) + if err != nil { + logger.Warningf("Failed to record transaction %s: %v", txn.Hash().Hex(), err) + continue + } else if softErr != nil { + logger.Warningf("Transaction soft violation: %v", err) + continue + } else if known { + logger.Warningf("Duplicate Transaction: %s", txn.Hash().Hex()) + continue + } + + hashes = append(hashes, txn.Hash()) + } + + // Announce these transactions to peers + if len(hashes) != 0 { + logger.Debugf("Announce %d transactions", len(hashes)) + m := NewAnnounceTxnsMessage(hashes) + d.BroadcastMessage(m) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/messages_test.go b/vendor/github.com/skycoin/skycoin/src/daemon/messages_test.go new file mode 100755 index 0000000..bd8dc0e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/messages_test.go @@ -0,0 +1,832 @@ +package daemon + +import ( + "bufio" + "fmt" + "os" + "reflect" + "strconv" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon/gnet" + "github.com/skycoin/skycoin/src/daemon/pex" + "github.com/skycoin/skycoin/src/util" +) + +func setupMsgEncoding() { + gnet.EraseMessages() + var messagesConfig = NewMessagesConfig() + messagesConfig.Register() +} + +/************************************** + * + * Test helpers + * + *************************************/ + +// MessagesAnnotationsIterator : Implementation of IAnnotationsIterator for type gnet.Message +type MessagesAnnotationsIterator struct { + Message gnet.Message + LengthCalled bool + PrefixCalled bool + CurrentField int + MaxField int + CurrentIndex int +} + +// NewMessagesAnnotationsIterator : Initializes struct MessagesAnnotationsIterator +func NewMessagesAnnotationsIterator(message gnet.Message) MessagesAnnotationsIterator { + var mai = MessagesAnnotationsIterator{} + mai.Message = message + mai.LengthCalled = false + mai.PrefixCalled = false + mai.CurrentField = 0 + mai.CurrentIndex = -1 + + mai.MaxField = reflect.Indirect(reflect.ValueOf(mai.Message)).NumField() + + return mai +} + +// Next : Yields next element of MessagesAnnotationsIterator +func (mai *MessagesAnnotationsIterator) Next() (util.Annotation, bool) { + if !mai.LengthCalled { + mai.LengthCalled = true + return util.Annotation{Size: 4, Name: "Length"}, true + } + if !mai.PrefixCalled { + mai.PrefixCalled = true + return util.Annotation{Size: 4, Name: "Prefix"}, true + + } + if mai.CurrentField >= mai.MaxField { + return util.Annotation{}, false + } + + var i = mai.CurrentField + var j = mai.CurrentIndex + + var v = reflect.Indirect(reflect.ValueOf(mai.Message)) + t := v.Type() + vF := v.Field(i) + f := t.Field(i) + for f.PkgPath != "" && i < mai.MaxField { + i++ + mai.CurrentField++ + mai.CurrentIndex = -1 + j = -1 + if i < mai.MaxField { + f = t.Field(i) + if f.Type.Kind() == reflect.Slice { + if _, omitempty := encoder.ParseTag(f.Tag.Get("enc")); omitempty { + if i == mai.MaxField-1 { + vF = v.Field(i) + if vF.Len() == 0 { + // Last field is empty slice. Nothing further tokens + return util.Annotation{}, false + } + } else { + panic(encoder.ErrInvalidOmitEmpty) + } + } + } + } else { + return util.Annotation{}, false + } + } + if f.Tag.Get("enc") != "-" { + if vF.CanSet() || f.Name != "_" { + if v.Field(i).Kind() == reflect.Slice { + if mai.CurrentIndex == -1 { + mai.CurrentIndex = 0 + return util.Annotation{Size: 4, Name: f.Name + " length"}, true + } + sliceLen := v.Field(i).Len() + mai.CurrentIndex++ + if mai.CurrentIndex < sliceLen { + // Emit annotation for slice item + return util.Annotation{Size: len(encoder.Serialize(v.Field(i).Slice(j, j+1).Interface())[4:]), Name: f.Name + "[" + strconv.Itoa(j) + "]"}, true + } + // No more annotation tokens for current slice field + mai.CurrentIndex = -1 + mai.CurrentField++ + if sliceLen > 0 { + // Emit annotation for last item + return util.Annotation{Size: len(encoder.Serialize(v.Field(i).Slice(j, j+1).Interface())[4:]), Name: f.Name + "[" + strconv.Itoa(j) + "]"}, true + } + // Zero length slice. Start over + return mai.Next() + } + + mai.CurrentField++ + return util.Annotation{Size: len(encoder.Serialize(v.Field(i).Interface())), Name: f.Name}, true + + } + } + + return util.Annotation{}, false +} + +/************************************** + * + * Test cases + * + *************************************/ + +var hashes = []cipher.SHA256{ + GetSHAFromHex("123"), + GetSHAFromHex("456"), + GetSHAFromHex("789"), + GetSHAFromHex("abc"), + GetSHAFromHex("def"), + GetSHAFromHex("101"), + GetSHAFromHex("111"), + GetSHAFromHex("121"), + GetSHAFromHex("314"), + GetSHAFromHex("151"), +} + +var secKey1 = (cipher.NewSecKey([]byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32})) +var secKey2 = cipher.NewSecKey([]byte{33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64}) +var secKey3 = cipher.NewSecKey([]byte{65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96}) +var secKey4 = cipher.NewSecKey([]byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96}) + +var addresses = []cipher.Address{ + cipher.AddressFromSecKey(secKey1), + cipher.AddressFromSecKey(secKey2), + cipher.AddressFromSecKey(secKey3), + cipher.AddressFromSecKey(secKey4), +} + +func GetSHAFromHex(hex string) cipher.SHA256 { + var sha, _ = cipher.SHA256FromHex(hex) + return sha +} + +type EmptySliceStruct struct { + A uint8 + e int16 + B string + C int32 + D []byte + f rune +} + +func (m *EmptySliceStruct) Handle(mc *gnet.MessageContext, daemon interface{}) error { + // Do nothing + return nil +} + +func ExampleEmptySliceStruct() { + defer gnet.EraseMessages() + setupMsgEncoding() + gnet.RegisterMessage(gnet.MessagePrefixFromString("TEST"), EmptySliceStruct{}) + gnet.VerifyMessages() + var message = EmptySliceStruct{ + 0x01, + 0x2345, + "", + 0x6789ABCD, + nil, + 'a', + } + var mai = NewMessagesAnnotationsIterator(&message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(&message), &mai, w) + // Output: + // 0x0000 | 11 00 00 00 ....................................... Length + // 0x0004 | 54 45 53 54 ....................................... Prefix + // 0x0008 | 01 ................................................ A + // 0x0009 | 00 00 00 00 ....................................... B + // 0x000d | cd ab 89 67 ....................................... C + // 0x0011 | 00 00 00 00 ....................................... D length + // 0x0015 | +} + +type OmitEmptySliceTestStruct struct { + A uint8 + B []byte + c rune + D []byte `enc:",omitempty"` +} + +func (m *OmitEmptySliceTestStruct) Handle(mc *gnet.MessageContext, daemon interface{}) error { + // Do nothing + return nil +} + +func ExampleOmitEmptySliceTestStruct() { + defer gnet.EraseMessages() + setupMsgEncoding() + gnet.RegisterMessage(gnet.MessagePrefixFromString("TEST"), OmitEmptySliceTestStruct{}) + gnet.VerifyMessages() + var message = OmitEmptySliceTestStruct{ + 0x01, + nil, + 'a', + nil, + } + var mai = NewMessagesAnnotationsIterator(&message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(&message), &mai, w) + // Output: + // 0x0000 | 09 00 00 00 ....................................... Length + // 0x0004 | 54 45 53 54 ....................................... Prefix + // 0x0008 | 01 ................................................ A + // 0x0009 | 00 00 00 00 ....................................... B length + // 0x000d | +} + +func ExampleIntroductionMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var message = NewIntroductionMessage(1234, 5, 7890, nil) + fmt.Println("IntroductionMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // IntroductionMessage: + // 0x0000 | 0e 00 00 00 ....................................... Length + // 0x0004 | 49 4e 54 52 ....................................... Prefix + // 0x0008 | d2 04 00 00 ....................................... Mirror + // 0x000c | d2 1e ............................................. Port + // 0x000e | 05 00 00 00 ....................................... Version + // 0x0012 | +} + +func ExampleGetPeersMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var message = NewGetPeersMessage() + fmt.Println("GetPeersMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // GetPeersMessage: + // 0x0000 | 04 00 00 00 ....................................... Length + // 0x0004 | 47 45 54 50 ....................................... Prefix + // 0x0008 | +} + +func ExampleGivePeersMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var peers = make([]pex.Peer, 3) + var peer0 = *pex.NewPeer("118.178.135.93:6000") + var peer1 = *pex.NewPeer("47.88.33.156:6000") + var peer2 = *pex.NewPeer("121.41.103.148:6000") + peers = append(peers, peer0, peer1, peer2) + var message = NewGivePeersMessage(peers) + fmt.Println("GivePeersMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // GivePeersMessage: + // 0x0000 | 1a 00 00 00 ....................................... Length + // 0x0004 | 47 49 56 50 ....................................... Prefix + // 0x0008 | 03 00 00 00 ....................................... Peers length + // 0x000c | 5d 87 b2 76 70 17 ................................. Peers[0] + // 0x0012 | 9c 21 58 2f 70 17 ................................. Peers[1] + // 0x0018 | 94 67 29 79 70 17 ................................. Peers[2] + // 0x001e | +} + +func ExampleGetBlocksMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var message = NewGetBlocksMessage(1234, 5678) + fmt.Println("GetBlocksMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // GetBlocksMessage: + // 0x0000 | 14 00 00 00 ....................................... Length + // 0x0004 | 47 45 54 42 ....................................... Prefix + // 0x0008 | d2 04 00 00 00 00 00 00 ........................... LastBlock + // 0x0010 | 2e 16 00 00 00 00 00 00 ........................... RequestedBlocks + // 0x0018 | +} + +func ExampleGiveBlocksMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var blocks = make([]coin.SignedBlock, 1) + var body1 = coin.BlockBody{ + Transactions: make([]coin.Transaction, 0), + } + var block1 = coin.Block{ + Body: body1, + Head: coin.BlockHeader{ + Version: 0x02, + Time: 100, + BkSeq: 0, + Fee: 10, + PrevHash: hashes[0], + BodyHash: body1.Hash(), + }} + var sig, _ = cipher.SigFromHex("123") + var signedBlock = coin.SignedBlock{ + Sig: sig, + Block: block1, + } + blocks = append(blocks, signedBlock) + var message = NewGiveBlocksMessage(blocks) + fmt.Println("GiveBlocksMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // GiveBlocksMessage: + // 0x0000 | 8a 01 00 00 ....................................... Length + // 0x0004 | 47 49 56 42 ....................................... Prefix + // 0x0008 | 02 00 00 00 ....................................... Blocks length + // 0x000c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x001c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x002c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x003c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x004c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x005c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x006c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x007c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x008c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x009c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00ac | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00bc | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00cc | 00 ................................................ Blocks[0] + // 0x00cd | 02 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 + // 0x00dd | 00 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 + // 0x00ed | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00fd | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x010d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x011d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x012d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x013d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x014d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x015d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x016d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x017d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x018d | 00 ................................................ Blocks[1] + // 0x018e | +} + +func ExampleAnnounceBlocksMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var message = NewAnnounceBlocksMessage(123456) + fmt.Println("AnnounceBlocksMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // AnnounceBlocksMessage: + // 0x0000 | 0c 00 00 00 ....................................... Length + // 0x0004 | 41 4e 4e 42 ....................................... Prefix + // 0x0008 | 40 e2 01 00 00 00 00 00 ........................... MaxBkSeq + // 0x0010 | +} + +func ExampleGetTxnsMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var shas = make([]cipher.SHA256, 0) + + shas = append(shas, hashes[1], hashes[2]) + var message = NewGetTxnsMessage(shas) + fmt.Println("GetTxnsMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // GetTxnsMessage: + // 0x0000 | 48 00 00 00 ....................................... Length + // 0x0004 | 47 45 54 54 ....................................... Prefix + // 0x0008 | 02 00 00 00 ....................................... Txns length + // 0x000c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x001c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... Txns[0] + // 0x002c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x003c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... Txns[1] + // 0x004c | +} + +func ExampleGiveTxnsMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var transactions coin.Transactions = make([]coin.Transaction, 0) + var transactionOutputs0 = make([]coin.TransactionOutput, 0) + var transactionOutputs1 = make([]coin.TransactionOutput, 0) + var txOutput0 = coin.TransactionOutput{ + Address: addresses[0], + Coins: 12, + Hours: 34, + } + var txOutput1 = coin.TransactionOutput{ + Address: addresses[1], + Coins: 56, + Hours: 78, + } + var txOutput2 = coin.TransactionOutput{ + Address: addresses[3], + Coins: 9, + Hours: 12, + } + var txOutput3 = coin.TransactionOutput{ + Address: addresses[2], + Coins: 34, + Hours: 56, + } + transactionOutputs0 = append(transactionOutputs0, txOutput0, txOutput1) + transactionOutputs1 = append(transactionOutputs1, txOutput2, txOutput3) + + var sig0, sig1, sig2, sig3 cipher.Sig + sig0, _ = cipher.SigFromHex("sig0") + sig1, _ = cipher.SigFromHex("sig1") + sig2, _ = cipher.SigFromHex("sig2") + sig3, _ = cipher.SigFromHex("sig3") + var transaction0 = coin.Transaction{ + Type: 123, + In: []cipher.SHA256{hashes[3], hashes[4]}, + InnerHash: hashes[5], + Length: 5000, + Out: transactionOutputs0, + Sigs: []cipher.Sig{sig0, sig1}, + } + var transaction1 = coin.Transaction{ + Type: 123, + In: []cipher.SHA256{hashes[5], hashes[6]}, + InnerHash: hashes[6], + Length: 5000, + Out: transactionOutputs1, + Sigs: []cipher.Sig{sig2, sig3}, + } + transactions = append(transactions, transaction0, transaction1) + var message = NewGiveTxnsMessage(transactions) + fmt.Println("GiveTxnsMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // GiveTxnsMessage: + // 0x0000 | 82 02 00 00 ....................................... Length + // 0x0004 | 47 49 56 54 ....................................... Prefix + // 0x0008 | 02 00 00 00 ....................................... Txns length + // 0x000c | 88 13 00 00 7b 00 00 00 00 00 00 00 00 00 00 00 + // 0x001c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x002c | 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 + // 0x003c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x004c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x005c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x006c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x007c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x008c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x009c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00ac | 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 + // 0x00bc | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00cc | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00dc | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00ec | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 + // 0x00fc | 00 00 00 00 07 6d ca 32 de 03 4e 48 67 fa 7a 2a + // 0x010c | a9 ee fe 91 f2 0b a0 74 0c 00 00 00 00 00 00 00 + // 0x011c | 22 00 00 00 00 00 00 00 00 e9 cb 47 35 e3 95 cf + // 0x012c | 36 b0 d1 a6 f2 21 bb 23 b3 f7 bf b1 f9 38 00 00 + // 0x013c | 00 00 00 00 00 4e 00 00 00 00 00 00 00 ............ Txns[0] + // 0x0149 | 88 13 00 00 7b 00 00 00 00 00 00 00 00 00 00 00 + // 0x0159 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x0169 | 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 + // 0x0179 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x0189 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x0199 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x01a9 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x01b9 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x01c9 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x01d9 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x01e9 | 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 + // 0x01f9 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x0209 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x0219 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x0229 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 + // 0x0239 | 00 00 00 00 7e f9 b1 b9 40 6f 8d b3 99 b2 5f d0 + // 0x0249 | e9 f4 f0 88 7b 08 4b 43 09 00 00 00 00 00 00 00 + // 0x0259 | 0c 00 00 00 00 00 00 00 00 83 f1 96 59 16 14 99 + // 0x0269 | 2f a6 03 13 38 6f 72 88 ac 40 14 c8 bc 22 00 00 + // 0x0279 | 00 00 00 00 00 38 00 00 00 00 00 00 00 ............ Txns[1] + // 0x0286 | +} + +func ExampleAnnounceTxnsMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var message = NewAnnounceTxnsMessage([]cipher.SHA256{hashes[7], hashes[8]}) + fmt.Println("AnnounceTxnsMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // AnnounceTxnsMessage: + // 0x0000 | 48 00 00 00 ....................................... Length + // 0x0004 | 41 4e 4e 54 ....................................... Prefix + // 0x0008 | 02 00 00 00 ....................................... Txns length + // 0x000c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x001c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... Txns[0] + // 0x002c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x003c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... Txns[1] + // 0x004c | +} + +func TestIntroductionMessage(t *testing.T) { + defer gnet.EraseMessages() + setupMsgEncoding() + + pubkey, _ := cipher.GenerateKeyPair() + pubkey2, _ := cipher.GenerateKeyPair() + + type mirrorPortResult struct { + port uint16 + exist bool + } + + type daemonMockValue struct { + version uint32 + mirror uint32 + isDefaultConnection bool + isMaxConnectionsReached bool + isMaxConnectionsReachedErr error + setHasIncomingPortErr error + getMirrorPortResult mirrorPortResult + recordMessageEventErr error + pubkey cipher.PubKey + disconnectReason gnet.DisconnectReason + disconnectErr error + addPeerArg string + addPeerErr error + } + + tt := []struct { + name string + addr string + mockValue daemonMockValue + intro *IntroductionMessage + err error + }{ + { + name: "INTR message without extra bytes", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Port: 6000, + Version: 1, + valid: true, + }, + err: nil, + }, + { + name: "INTR message with pubkey", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + pubkey: pubkey, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Port: 6000, + Version: 1, + valid: true, + Extra: pubkey[:], + }, + err: nil, + }, + { + name: "INTR message with pubkey", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + pubkey: pubkey, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Port: 6000, + Version: 1, + valid: true, + Extra: pubkey[:], + }, + err: nil, + }, + { + name: "INTR message with pubkey and additional data", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + pubkey: pubkey, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Port: 6000, + Version: 1, + valid: true, + Extra: append(pubkey[:], []byte("additional data")...), + }, + err: nil, + }, + { + name: "INTR message with different pubkey", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + pubkey: pubkey, + disconnectReason: ErrDisconnectBlockchainPubkeyNotMatched, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Port: 6000, + Version: 1, + valid: true, + Extra: pubkey2[:], + }, + err: ErrDisconnectBlockchainPubkeyNotMatched, + }, + { + name: "INTR message with invalid pubkey", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + pubkey: pubkey, + disconnectReason: ErrDisconnectInvalidExtraData, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Port: 6000, + Version: 1, + valid: true, + Extra: []byte("invalid extra data"), + }, + err: ErrDisconnectInvalidExtraData, + }, + { + name: "Disconnect self connection", + mockValue: daemonMockValue{ + mirror: 10000, + disconnectReason: ErrDisconnectSelf, + }, + intro: &IntroductionMessage{ + Mirror: 10000, + }, + err: ErrDisconnectSelf, + }, + { + name: "Invalid version", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + disconnectReason: ErrDisconnectInvalidVersion, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Version: 0, + }, + err: ErrDisconnectInvalidVersion, + }, + { + name: "Invalid address", + addr: "121.121.121.121", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + disconnectReason: ErrDisconnectOtherError, + pubkey: pubkey, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Version: 1, + Port: 6000, + }, + err: ErrDisconnectOtherError, + }, + { + name: "Max default connections reached", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + disconnectReason: ErrDisconnectMaxDefaultConnectionReached, + isDefaultConnection: true, + isMaxConnectionsReached: true, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + pubkey: pubkey, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Version: 1, + Port: 6000, + }, + err: ErrDisconnectMaxDefaultConnectionReached, + }, + { + name: "incomming connection", + addr: "121.121.121.121:12345", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + isDefaultConnection: true, + isMaxConnectionsReached: true, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + pubkey: pubkey, + addPeerArg: "121.121.121.121:6000", + addPeerErr: nil, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Version: 1, + Port: 6000, + valid: true, + }, + }, + { + name: "Connect twice", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + isDefaultConnection: true, + getMirrorPortResult: mirrorPortResult{ + exist: true, + }, + pubkey: pubkey, + addPeerArg: "121.121.121.121:6000", + addPeerErr: nil, + disconnectReason: ErrDisconnectConnectedTwice, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Version: 1, + Port: 6000, + }, + err: ErrDisconnectConnectedTwice, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + mc := &gnet.MessageContext{Addr: tc.addr} + tc.intro.c = mc + + d := NewDaemonerMock() + d.On("DaemonConfig").Return(DaemonConfig{Version: int32(tc.mockValue.version)}) + d.On("Mirror").Return(tc.mockValue.mirror) + d.On("IsDefaultConnection", tc.addr).Return(tc.mockValue.isDefaultConnection) + d.On("SetHasIncomingPort", tc.addr).Return(tc.mockValue.setHasIncomingPortErr) + d.On("GetMirrorPort", tc.addr, tc.intro.Mirror).Return(tc.mockValue.getMirrorPortResult.port, tc.mockValue.getMirrorPortResult.exist) + d.On("RecordMessageEvent", tc.intro, mc).Return(tc.mockValue.recordMessageEventErr) + d.On("ResetRetryTimes", tc.addr) + d.On("BlockchainPubkey").Return(tc.mockValue.pubkey) + d.On("Disconnect", tc.addr, tc.mockValue.disconnectReason).Return(tc.mockValue.disconnectErr) + d.On("IncreaseRetryTimes", tc.addr) + d.On("RemoveFromExpectingIntroductions", tc.addr) + d.On("IsMaxDefaultConnectionsReached").Return(tc.mockValue.isMaxConnectionsReached, tc.mockValue.isMaxConnectionsReachedErr) + d.On("AddPeer", tc.mockValue.addPeerArg).Return(tc.mockValue.addPeerErr) + + err := tc.intro.Handle(mc, d) + require.Equal(t, tc.err, err) + }) + } + +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/pex/README.md b/vendor/github.com/skycoin/skycoin/src/daemon/pex/README.md new file mode 100755 index 0000000..ffaf675 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/pex/README.md @@ -0,0 +1,8 @@ +pex +=== + +Tools for implementing peer exchange (PEX) with Go + +[![GoDoc](http://godoc.org/github.com//skycoin/pex?status.png)](http://godoc.org/github.com/skycoin/skycoin/src/daemon/pex) + +[Godoc generated documentation](http://godoc.org/github.com/skycoin/skycoin/src/daemon/pex) diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/pex/peerlist.go b/vendor/github.com/skycoin/skycoin/src/daemon/pex/peerlist.go new file mode 100755 index 0000000..f99a116 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/pex/peerlist.go @@ -0,0 +1,359 @@ +package pex + +import ( + "encoding/json" + "fmt" + "io" + "math/rand" + "os" + "time" + + "github.com/skycoin/skycoin/src/util/file" + "github.com/skycoin/skycoin/src/util/utc" +) + +// Peers peer list +type Peers []Peer + +// ToAddrs returns the address list +func (ps Peers) ToAddrs() []string { + addrs := make([]string, 0, len(ps)) + for _, p := range ps { + addrs = append(addrs, p.Addr) + } + return addrs +} + +// peerlist is a map of addresses to *PeerStates +type peerlist struct { + peers map[string]*Peer +} + +func newPeerlist() peerlist { + return peerlist{ + peers: make(map[string]*Peer), + } +} + +// Filter peers filter +type Filter func(peer Peer) bool + +// loadFromFile loads if the peer.txt file does exist +// return nil if the file doesn't exist +func loadPeersFromFile(path string) (map[string]*Peer, error) { + // check if the file does exist + + if _, err := os.Stat(path); os.IsNotExist(err) { + return nil, nil + } + + peersJSON := make(map[string]PeerJSON) + err := file.LoadJSON(path, &peersJSON) + + if err == io.EOF { + logger.WithField("path", path).Error("corrupt or empty file, rewriting file") + return nil, nil + } else if err != nil { + return nil, err + } + peers := make(map[string]*Peer, len(peersJSON)) + for addr, peerJSON := range peersJSON { + a, err := validateAddress(addr, true) + + if err != nil { + logger.Errorf("Invalid address in peers JSON file %s: %v", addr, err) + continue + } + + peer, err := newPeerFromJSON(peerJSON) + if err != nil { + logger.Errorf("newPeerFromJSON failed: %v", err) + continue + } + + if a != peer.Addr { + logger.Errorf("address key %s does not match Peer.Addr %s", a, peer.Addr) + continue + } + + peers[a] = peer + } + + return peers, nil +} + +func (pl *peerlist) setPeers(peers []Peer) { + for _, p := range peers { + np := p + pl.peers[p.Addr] = &np + } +} + +func (pl *peerlist) addPeer(addr string) { + if p, ok := pl.peers[addr]; ok && p != nil { + p.Seen() + return + } + + peer := NewPeer(addr) + pl.peers[addr] = peer + return +} + +func (pl *peerlist) addPeers(addrs []string) { + for _, addr := range addrs { + pl.addPeer(addr) + } +} + +// getCanTryPeers returns all peers that are triable(retried times blew exponential backoff times) +// and are able to pass the filters. +func (pl *peerlist) getCanTryPeers(flts ...Filter) Peers { + var ps Peers + flts = append([]Filter{canTry}, flts...) +loop: + for _, p := range pl.peers { + for i := range flts { + if !flts[i](*p) { + continue loop + } + } + + ps = append(ps, *p) + } + + return ps +} + +// getPeers returns all peers that can pass the filters. +func (pl *peerlist) getPeers(flts ...Filter) Peers { + var ps Peers +loop: + for _, p := range pl.peers { + for i := range flts { + if !flts[i](*p) { + continue loop + } + } + + ps = append(ps, *p) + } + + return ps +} + +// filters +func isPrivate(p Peer) bool { + return p.Private +} + +func isPublic(p Peer) bool { + return !p.Private +} + +func isTrusted(p Peer) bool { + return p.Trusted +} + +func hasIncomingPort(p Peer) bool { + return p.HasIncomingPort +} + +func canTry(p Peer) bool { + return p.CanTry() +} + +func zeroRetryTimes(p Peer) bool { + return p.RetryTimes == 0 +} + +// isExchangeable filters exchangeable peers +var isExchangeable = []Filter{hasIncomingPort, isPublic, zeroRetryTimes} + +// removePeer removes peer +func (pl *peerlist) removePeer(addr string) { + delete(pl.peers, addr) +} + +// SetPrivate sets specific peer as private +func (pl *peerlist) setPrivate(addr string, private bool) error { + if p, ok := pl.peers[addr]; ok { + p.Private = private + return nil + } + + return fmt.Errorf("set peer.Private failed: %v does not exist in peer list", addr) +} + +// SetTrusted sets peer as trusted peer +func (pl *peerlist) setTrusted(addr string, trusted bool) error { + if p, ok := pl.peers[addr]; ok { + p.Trusted = trusted + return nil + } + + return fmt.Errorf("set peer.Trusted failed: %v does not exist in peer list", addr) +} + +// setHasIncomingPort updates whether the peer is valid and has public incoming port +func (pl *peerlist) setHasIncomingPort(addr string, hasIncomingPort bool) error { + if p, ok := pl.peers[addr]; ok { + p.HasIncomingPort = hasIncomingPort + p.Seen() + return nil + } + + return fmt.Errorf("set peer.HasIncomingPort failed: %v does not exist in peer list", addr) +} + +// len returns number of peers +func (pl *peerlist) len() int { + return len(pl.peers) +} + +// getPeerByAddr returns peer of given address +func (pl *peerlist) getPeerByAddr(addr string) (Peer, bool) { + p, ok := pl.peers[addr] + if ok { + return *p, true + } + return Peer{}, false +} + +// ClearOld removes public peers that haven't been seen in timeAgo seconds +func (pl *peerlist) clearOld(timeAgo time.Duration) { + t := utc.Now() + for addr, peer := range pl.peers { + lastSeen := time.Unix(peer.LastSeen, 0) + if !peer.Private && t.Sub(lastSeen) > timeAgo { + delete(pl.peers, addr) + } + } +} + +// Returns n random peers, or all of the peers, whichever is lower. +// If count is 0, all of the peers are returned, shuffled. +func (pl *peerlist) random(count int, flts ...Filter) Peers { + keys := pl.getCanTryPeers(flts...).ToAddrs() + if len(keys) == 0 { + return Peers{} + } + max := count + if count == 0 || count > len(keys) { + max = len(keys) + } + var ps Peers + perm := rand.Perm(len(keys)) + for _, i := range perm[:max] { + ps = append(ps, *pl.peers[keys[i]]) + } + return ps +} + +// save saves known peers to disk as a newline delimited list of addresses to +//

              +func (pl *peerlist) save(fn string) error { + // filter the peers that has retrytime > MaxPeerRetryTimes + peers := make(map[string]PeerJSON) + for k, p := range pl.peers { + if p.RetryTimes <= MaxPeerRetryTimes { + peers[k] = newPeerJSON(*p) + } + } + + if err := file.SaveJSON(fn, peers, 0600); err != nil { + return fmt.Errorf("save peer list failed: %s", err) + } + return nil +} + +// increaseRetryTimes increases retry times +func (pl *peerlist) increaseRetryTimes(addr string) { + if p, ok := pl.peers[addr]; ok { + p.IncreaseRetryTimes() + p.Seen() + } +} + +// resetRetryTimes reset retry times +func (pl *peerlist) resetRetryTimes(addr string) { + if p, ok := pl.peers[addr]; ok { + p.ResetRetryTimes() + p.Seen() + } +} + +// resetAllRetryTimes reset all peers' retry times +func (pl *peerlist) resetAllRetryTimes() { + logger.Info("Reset all peer's retry times") + for _, p := range pl.peers { + p.ResetRetryTimes() + } +} + +// PeerJSON is for saving and loading peers to disk. Some fields are strange, +// to be backwards compatible due to variable name changes +type PeerJSON struct { + Addr string // An address of the form ip:port + // Unix timestamp when this peer was last seen. + // This could be a time.Time string or an int64 timestamp + LastSeen interface{} + Private bool // Whether it should omitted from public requests + Trusted bool // Whether this peer is trusted + HasIncomePort *bool `json:"HasIncomePort,omitempty"` // Whether this peer has incoming port [DEPRECATED] + HasIncomingPort *bool // Whether this peer has incoming port +} + +// newPeerJSON returns a PeerJSON from a Peer +func newPeerJSON(p Peer) PeerJSON { + return PeerJSON{ + Addr: p.Addr, + LastSeen: p.LastSeen, + Private: p.Private, + Trusted: p.Trusted, + HasIncomingPort: &p.HasIncomingPort, + } +} + +// newPeerFromJSON converts a PeerJSON to a Peer +func newPeerFromJSON(p PeerJSON) (*Peer, error) { + hasIncomingPort := false + if p.HasIncomingPort != nil { + hasIncomingPort = *p.HasIncomingPort + } else if p.HasIncomePort != nil { + hasIncomingPort = *p.HasIncomePort + } + + // LastSeen could be a RFC3339Nano timestamp or an int64 unix timestamp + var lastSeen int64 + switch p.LastSeen.(type) { + case string: + lastSeenTime, err := time.Parse(time.RFC3339Nano, p.LastSeen.(string)) + if err != nil { + return nil, err + } + lastSeen = lastSeenTime.Unix() + case json.Number: + lastSeenNum := p.LastSeen.(json.Number) + var err error + lastSeen, err = lastSeenNum.Int64() + if err != nil { + return nil, err + } + default: + return nil, fmt.Errorf("Invalid type %T for LastSeen field", p.LastSeen) + } + + addr, err := validateAddress(p.Addr, true) + if err != nil { + return nil, err + } + + return &Peer{ + Addr: addr, + LastSeen: lastSeen, + Private: p.Private, + Trusted: p.Trusted, + HasIncomingPort: hasIncomingPort, + }, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/pex/peerlist_test.go b/vendor/github.com/skycoin/skycoin/src/daemon/pex/peerlist_test.go new file mode 100755 index 0000000..2fc4aac --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/pex/peerlist_test.go @@ -0,0 +1,547 @@ +package pex + +import ( + "encoding/json" + "fmt" + "io/ioutil" + "os" + "strings" + "testing" + "time" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/util/file" + "github.com/skycoin/skycoin/src/util/utc" +) + +var testPeers = []string{ + "112.32.32.14:7200", + "112.32.32.15:7200", + "112.32.32.16:7200", + "112.32.32.17:7200", +} + +var wrongPortPeer = "112.32.32.14:1" + +/* Peer tests */ + +func TestNewPeer(t *testing.T) { + p := NewPeer(testPeers[0]) + require.NotEqual(t, p.LastSeen, 0) + require.Equal(t, p.Addr, testPeers[0]) + require.False(t, p.Private) +} + +func TestPeerSeen(t *testing.T) { + p := NewPeer(testPeers[0]) + x := p.LastSeen + time.Sleep(time.Second) + p.Seen() + require.NotEqual(t, x, p.LastSeen) + if p.LastSeen < x { + t.Fail() + } +} + +func TestPeerString(t *testing.T) { + p := NewPeer(testPeers[0]) + require.Equal(t, testPeers[0], p.String()) +} + +func TestLoadPeersFromFile(t *testing.T) { + tt := []struct { + name string + noFile bool + emptyFile bool + ps []string + expectPeers map[string]*Peer + err error + }{ + { + "no file", + true, + false, + testPeers[0:0], + map[string]*Peer{}, + nil, + }, + { + "one addr", + false, + false, + testPeers[:1], + map[string]*Peer{ + testPeers[0]: NewPeer(testPeers[0]), + }, + nil, + }, + { + "two addr", + false, + false, + testPeers[:2], + map[string]*Peer{ + testPeers[0]: NewPeer(testPeers[0]), + testPeers[1]: NewPeer(testPeers[1]), + }, + nil, + }, + { + "empty peer list file", + false, + true, + testPeers[0:0], + map[string]*Peer{}, + nil, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + f, removeFile := preparePeerlistFile(t) + if !tc.emptyFile { + persistPeers(t, f, tc.ps) + } + + if tc.noFile { + // remove file immediately + removeFile() + } else { + defer removeFile() + } + + peers, err := loadPeersFromFile(f) + require.Equal(t, tc.err, err) + require.Equal(t, len(tc.expectPeers), len(peers)) + for k, v := range tc.expectPeers { + p, ok := peers[k] + require.True(t, ok) + peersEqualWithSeenAllowedDiff(t, *v, *p) + } + }) + } +} + +func TestPeerlistSetPeers(t *testing.T) { + tt := []struct { + name string + peers []Peer + expect map[string]Peer + }{ + { + "empty peers", + []Peer{}, + map[string]Peer{}, + }, + { + "one peer", + []Peer{*NewPeer(testPeers[0])}, + map[string]Peer{ + testPeers[0]: *NewPeer(testPeers[0]), + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pl := newPeerlist() + pl.setPeers(tc.peers) + require.Equal(t, len(tc.expect), len(pl.peers)) + for k, v := range tc.expect { + p, ok := pl.peers[k] + require.True(t, ok) + peersEqualWithSeenAllowedDiff(t, v, *p) + } + }) + } +} + +func TestPeerlistAddPeer(t *testing.T) { + tt := []struct { + name string + initPeers []Peer + addPeer string + dup bool + expectPeers map[string]*Peer + }{ + { + "add peer to empty peer list", + []Peer{}, + testPeers[0], + false, + map[string]*Peer{ + testPeers[0]: NewPeer(testPeers[0]), + }, + }, + { + "add peer to none empty peer list", + []Peer{*NewPeer(testPeers[0])}, + testPeers[1], + false, + map[string]*Peer{ + testPeers[0]: NewPeer(testPeers[0]), + testPeers[1]: NewPeer(testPeers[1]), + }, + }, + { + "add dup peer", + []Peer{{Addr: testPeers[0]}}, + testPeers[0], + true, + map[string]*Peer{ + testPeers[0]: NewPeer(testPeers[0]), + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pl := newPeerlist() + // init the peers + pl.setPeers(tc.initPeers) + + if tc.dup { + // sleep a second so that LastSeen is diff + time.Sleep(time.Second) + } + + // add peer + pl.addPeer(tc.addPeer) + + require.Equal(t, len(tc.expectPeers), len(pl.peers)) + for k, v := range tc.expectPeers { + p, ok := pl.peers[k] + require.True(t, ok) + if tc.dup { + require.True(t, p.LastSeen > v.LastSeen) + continue + } + + peersEqualWithSeenAllowedDiff(t, *v, *p) + } + }) + } +} + +func TestPeerlistAddPeers(t *testing.T) { + tt := []struct { + name string + initPeers []Peer + addPeers []string + expectPeers map[string]*Peer + }{ + { + "add one peer to empty list", + []Peer{}, + testPeers[:1], + map[string]*Peer{ + testPeers[0]: NewPeer(testPeers[0]), + }, + }, + { + "add two peer to none empty list", + []Peer{*NewPeer(testPeers[0])}, + testPeers[1:3], + map[string]*Peer{ + testPeers[0]: NewPeer(testPeers[0]), + testPeers[1]: NewPeer(testPeers[1]), + testPeers[2]: NewPeer(testPeers[2]), + }, + }, + { + "add dup peers", + []Peer{*NewPeer(testPeers[0])}, + testPeers[:3], + map[string]*Peer{ + testPeers[0]: NewPeer(testPeers[0]), + testPeers[1]: NewPeer(testPeers[1]), + testPeers[2]: NewPeer(testPeers[2]), + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pl := newPeerlist() + // init peers + pl.setPeers(tc.initPeers) + + // add peers + pl.addPeers(tc.addPeers) + + require.Equal(t, len(tc.expectPeers), len(pl.peers)) + for k, v := range tc.expectPeers { + p, ok := pl.peers[k] + require.True(t, ok) + peersEqualWithSeenAllowedDiff(t, *v, *p) + } + }) + } +} + +func TestPeerListSetTrusted(t *testing.T) { + tt := []struct { + name string + initPeers []Peer + peer string + trust bool + err error + }{ + { + "set trust true", + []Peer{*NewPeer(testPeers[0])}, + testPeers[0], + true, + nil, + }, + { + "set trust false", + []Peer{*NewPeer(testPeers[0])}, + testPeers[0], + false, + nil, + }, + { + "set failed", + []Peer{*NewPeer(testPeers[1])}, + testPeers[0], + false, + fmt.Errorf("set peer.Trusted failed: %v does not exist in peer list", testPeers[0]), + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pl := newPeerlist() + + // init peer + pl.setPeers(tc.initPeers) + + err := pl.setTrusted(tc.peer, tc.trust) + require.Equal(t, tc.err, err) + if err != nil { + return + } + + p, ok := pl.peers[tc.peer] + require.True(t, ok) + require.Equal(t, tc.trust, p.Trusted) + }) + } +} + +func TestPeerlistClearOld(t *testing.T) { + tt := []struct { + name string + initPeers []Peer + timeAgo time.Duration + expectPeers map[string]Peer + }{ + { + "no old peers", + []Peer{ + {Addr: testPeers[0], LastSeen: utc.UnixNow() - 100}, + }, + 110 * time.Second, + map[string]Peer{ + testPeers[0]: {Addr: testPeers[0], LastSeen: utc.UnixNow() - 100}, + }, + }, + { + "clear one old peer", + []Peer{ + {Addr: testPeers[0], LastSeen: utc.UnixNow() - 100}, + {Addr: testPeers[1], LastSeen: utc.UnixNow() - 110}, + {Addr: testPeers[2], LastSeen: utc.UnixNow() - 120}, + }, + 111 * time.Second, + map[string]Peer{ + testPeers[0]: {Addr: testPeers[0], LastSeen: utc.UnixNow() - 100}, + testPeers[1]: {Addr: testPeers[1], LastSeen: utc.UnixNow() - 110}, + }, + }, + { + "clear two old peers", + []Peer{ + {Addr: testPeers[0], LastSeen: utc.UnixNow() - 100}, + {Addr: testPeers[1], LastSeen: utc.UnixNow() - 110}, + {Addr: testPeers[2], LastSeen: utc.UnixNow() - 120}, + }, + 101 * time.Second, + map[string]Peer{ + testPeers[0]: {Addr: testPeers[0], LastSeen: utc.UnixNow() - 100}, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pl := newPeerlist() + pl.setPeers(tc.initPeers) + + pl.clearOld(tc.timeAgo) + require.Equal(t, len(pl.peers), len(tc.expectPeers)) + for _, p := range tc.expectPeers { + v, ok := pl.peers[p.Addr] + require.True(t, ok) + peersEqualWithSeenAllowedDiff(t, *v, p) + } + }) + } +} + +func TestPeerlistSave(t *testing.T) { + tt := []struct { + name string + peers []Peer + expect map[string]Peer + }{ + { + "save all", + []Peer{ + {Addr: testPeers[0]}, + {Addr: testPeers[1]}, + }, + map[string]Peer{ + testPeers[0]: {Addr: testPeers[0]}, + testPeers[1]: {Addr: testPeers[1]}, + }, + }, + { + "save one peer", + []Peer{ + {Addr: testPeers[0], RetryTimes: MaxPeerRetryTimes + 1}, + {Addr: testPeers[1]}, + }, + map[string]Peer{ + testPeers[1]: {Addr: testPeers[1]}, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pl := newPeerlist() + pl.setPeers(tc.peers) + + f, removeFile := preparePeerlistFile(t) + defer removeFile() + require.NoError(t, pl.save(f)) + + psMap, err := loadPeersFromFile(f) + require.NoError(t, err) + for k, v := range tc.expect { + p, ok := psMap[k] + require.True(t, ok) + peersEqualWithSeenAllowedDiff(t, v, *p) + } + }) + } +} + +func TestPeerCanTry(t *testing.T) { + testData := []struct { + LastSeen int64 + RetryTimes int + CanTry bool + }{ + { + utc.Now().Add(time.Duration(100) * time.Second * -1).Unix(), + 1, + true, + }, + } + + for _, d := range testData { + p := Peer{ + LastSeen: d.LastSeen, + RetryTimes: d.RetryTimes, + } + require.Equal(t, d.CanTry, p.CanTry()) + } +} + +func TestPeerJSONParsing(t *testing.T) { + // The serialized peer json format changed, + // this tests that the old format can still parse. + oldFormat := `{ + "Addr": "11.22.33.44:6000", + "LastSeen": "2017-09-24T06:42:18.999999999Z", + "Private": true, + "Trusted": true, + "HasIncomePort": true + }` + + newFormat := `{ + "Addr": "11.22.33.44:6000", + "LastSeen": 1506235338, + "Private": true, + "Trusted": true, + "HasIncomingPort": true + }` + + check := func(p *Peer) { + require.Equal(t, "11.22.33.44:6000", p.Addr) + require.True(t, p.Private) + require.True(t, p.Trusted) + require.True(t, p.HasIncomingPort) + require.Equal(t, int64(1506235338), p.LastSeen) + } + + load := func(s string) PeerJSON { + var pj PeerJSON + dec := json.NewDecoder(strings.NewReader(s)) + dec.UseNumber() + err := dec.Decode(&pj) + require.NoError(t, err) + return pj + } + + pj := load(oldFormat) + p, err := newPeerFromJSON(pj) + require.NoError(t, err) + check(p) + + pj = load(newFormat) + p, err = newPeerFromJSON(pj) + require.NoError(t, err) + check(p) +} + +func peersEqualWithSeenAllowedDiff(t *testing.T, expected Peer, actual Peer) { + require.WithinDuration(t, time.Unix(expected.LastSeen, 0), time.Unix(actual.LastSeen, 0), 1*time.Second) + expected.LastSeen = actual.LastSeen + require.Equal(t, expected, actual) +} + +// preparePeerlistFile makes peers.txt in temporary dir, +func preparePeerlistFile(t *testing.T) (string, func()) { + f, err := ioutil.TempFile("", "peers.txt") + require.NoError(t, err) + + return f.Name(), func() { + os.Remove(f.Name()) + } +} + +func preparePeerlistDir(t *testing.T) (string, func()) { + f, err := ioutil.TempDir("", "peerlist") + require.NoError(t, err) + + return f, func() { + os.Remove(f) + } +} + +func persistPeers(t *testing.T, fn string, peers []string) { + t.Helper() + peersMap := make(map[string]*Peer, len(peers)) + for _, p := range peers { + peersMap[p] = NewPeer(p) + } + + if err := file.SaveJSON(fn, peersMap, 0600); err != nil { + panic(fmt.Sprintf("save peer list failed: %v", err)) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/pex/pex.go b/vendor/github.com/skycoin/skycoin/src/daemon/pex/pex.go new file mode 100755 index 0000000..afe0d3d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/pex/pex.go @@ -0,0 +1,596 @@ +// Package pex is a toolkit for implementing a peer exchange system +package pex + +import ( + "errors" + "io/ioutil" + "math" + "math/rand" + "net" + "net/http" + "path/filepath" + "regexp" + "strconv" + "strings" + "sync" + "time" + + "github.com/cenkalti/backoff" + + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/util/utc" +) + +//TODO: +// - keep track of last time the peer was connected to +// - last time peer was connected to is more important than "seen" +// - peer "seen" means something else than use here +// - save last time connected to, use 0 for never +// - only transmit peers that have active or recent connections + +const ( + // DefaultPeerListURL is the default URL to download remote peers list from, if enabled + DefaultPeerListURL = "https://downloads.skycoin.net/blockchain/peers.txt" + // PeerDatabaseFilename filename for disk-cached peers + PeerDatabaseFilename = "peers.txt" + // MaxPeerRetryTimes is the maximum number of times to retry a peer + MaxPeerRetryTimes = 10 +) + +var ( + // ErrPeerlistFull is returned when the Pex is at a maximum + ErrPeerlistFull = errors.New("Peer list full") + // ErrInvalidAddress is returned when an address appears malformed + ErrInvalidAddress = errors.New("Invalid address") + // ErrNoLocalhost is returned if a localhost addresses are not allowed + ErrNoLocalhost = errors.New("Localhost address is not allowed") + // ErrNotExternalIP is returned if an IP address is not a global unicast address + ErrNotExternalIP = errors.New("IP is not a valid external IP") + // ErrPortTooLow is returned if a port is less than 1024 + ErrPortTooLow = errors.New("Port must be >= 1024") + // ErrBlacklistedAddress returned when attempting to add a blacklisted peer + ErrBlacklistedAddress = errors.New("Blacklisted address") + + // Logging. See http://godoc.org/github.com/op/go-logging for + // instructions on how to include this log's output + logger = logging.MustGetLogger("pex") + // Default rng + rnum = rand.New(rand.NewSource(time.Now().Unix())) + // For removing inadvertent whitespace from addresses + whitespaceFilter = regexp.MustCompile(`\s`) +) + +// validateAddress returns a sanitized address if valid, otherwise an error +func validateAddress(ipPort string, allowLocalhost bool) (string, error) { + ipPort = whitespaceFilter.ReplaceAllString(ipPort, "") + pts := strings.Split(ipPort, ":") + if len(pts) != 2 { + return "", ErrInvalidAddress + } + + ip := net.ParseIP(pts[0]) + if ip == nil { + return "", ErrInvalidAddress + } else if ip.IsLoopback() { + if !allowLocalhost { + return "", ErrNoLocalhost + } + } else if !ip.IsGlobalUnicast() { + return "", ErrNotExternalIP + } + + port, err := strconv.ParseUint(pts[1], 10, 16) + if err != nil { + return "", ErrInvalidAddress + } + + if port < 1024 { + return "", ErrPortTooLow + } + + return ipPort, nil +} + +// Peer represents a known peer +type Peer struct { + Addr string // An address of the form ip:port + LastSeen int64 // Unix timestamp when this peer was last seen + Private bool // Whether it should omitted from public requests + Trusted bool // Whether this peer is trusted + HasIncomingPort bool // Whether this peer has accessable public port + RetryTimes int `json:"-"` // records the retry times +} + +// NewPeer returns a *Peer initialised by an address string of the form ip:port +func NewPeer(address string) *Peer { + p := &Peer{ + Addr: address, + Private: false, + Trusted: false, + } + p.Seen() + return p +} + +// Seen marks the peer as seen +func (peer *Peer) Seen() { + peer.LastSeen = utc.UnixNow() +} + +// IncreaseRetryTimes adds the retry times +func (peer *Peer) IncreaseRetryTimes() { + peer.RetryTimes++ + logger.Debugf("Increase retry times of %v: %v", peer.Addr, peer.RetryTimes) +} + +// ResetRetryTimes resets the retry time +func (peer *Peer) ResetRetryTimes() { + peer.RetryTimes = 0 + logger.Debugf("Reset retry times of %v", peer.Addr) +} + +// CanTry returns whether this peer is tryable base on the exponential backoff algorithm +func (peer *Peer) CanTry() bool { + // Exponential backoff + mod := (math.Exp2(float64(peer.RetryTimes)) - 1) * 5 + if mod == 0 { + return true + } + + // Random time elapsed + now := utc.UnixNow() + t := rnum.Int63n(int64(mod)) + return now-peer.LastSeen > t +} + +// String returns the peer address +func (peer *Peer) String() string { + return peer.Addr +} + +// Config pex config +type Config struct { + // Folder where peers database should be saved + DataDirectory string + // Maximum number of peers to keep account of in the PeerList + Max int + // Cull peers after they havent been seen in this much time + Expiration time.Duration + // Cull expired peers on this interval + CullRate time.Duration + // clear old peers on this interval + ClearOldRate time.Duration + // How often to clear expired blacklist entries + UpdateBlacklistRate time.Duration + // How often to request peers via PEX + RequestRate time.Duration + // How many peers to send back in response to a peers request + ReplyCount int + // Localhost peers are allowed in the peerlist + AllowLocalhost bool + // Disable exchanging of peers. Peers are still loaded from disk + Disabled bool + // Whether the network is disabled + NetworkDisabled bool + // Download peers list from remote host + DownloadPeerList bool + // Download peers list from this URL + PeerListURL string +} + +// NewConfig creates default pex config. +func NewConfig() Config { + return Config{ + DataDirectory: "./", + Max: 1000, + Expiration: time.Hour * 24 * 7, + CullRate: time.Minute * 10, + ClearOldRate: time.Minute * 10, + UpdateBlacklistRate: time.Minute, + RequestRate: time.Minute, + ReplyCount: 30, + AllowLocalhost: false, + Disabled: false, + NetworkDisabled: false, + DownloadPeerList: false, + PeerListURL: DefaultPeerListURL, + } +} + +// Pex manages a set of known peers and controls peer acquisition +type Pex struct { + sync.RWMutex + // All known peers + peerlist peerlist + Config Config + quit chan struct{} + done chan struct{} +} + +// New creates pex +func New(cfg Config, defaultConns []string) (*Pex, error) { + pex := &Pex{ + Config: cfg, + peerlist: newPeerlist(), + quit: make(chan struct{}), + done: make(chan struct{}), + } + + // Load peers from disk + if err := pex.load(); err != nil { + return nil, err + } + + // Load default hardcoded peers + for _, addr := range defaultConns { + // Default peers will mark as trusted peers. + if err := pex.AddPeer(addr); err != nil { + logger.Critical().Errorf("add peer failed:%v", err) + continue + } + if err := pex.SetTrusted(addr); err != nil { + logger.Critical().Errorf("pex.SetTrust failed: %v", err) + } + } + + // Save peers to disk + if err := pex.save(); err != nil { + return nil, err + } + + // Download peers from remote peers list + if pex.Config.DownloadPeerList { + go func() { + if err := pex.downloadPeers(); err != nil { + logger.Errorf("Failed to download peers list: %v", err) + } + }() + } + + return pex, nil +} + +// Run starts the pex service +func (px *Pex) Run() error { + logger.Info("Pex.Run started") + defer logger.Info("Pex.Run stopped") + defer close(px.done) + + defer func() { + // Save the peerlist + logger.Info("Save peerlist") + if err := px.save(); err != nil { + logger.Errorf("Save peers failed: %v", err) + } + }() + + clearOldTicker := time.NewTicker(px.Config.ClearOldRate) + + for { + select { + case <-clearOldTicker.C: + // Remove peers we haven't seen in a while + if !px.Config.Disabled && !px.Config.NetworkDisabled { + px.Lock() + px.peerlist.clearOld(px.Config.Expiration) + px.Unlock() + } + case <-px.quit: + return nil + } + } +} + +// Shutdown notifies the pex service to exist +func (px *Pex) Shutdown() { + logger.Info("Shutting down pex") + defer logger.Info("Pex shutdown") + close(px.quit) + <-px.done +} + +func (px *Pex) downloadPeers() error { + body, err := backoffDownloadText(px.Config.PeerListURL) + if err != nil { + logger.Errorf("Failed to download peers from %s. err: %s", px.Config.PeerListURL, err.Error()) + return err + } + + peers := parseRemotePeerList(body) + logger.Infof("Downloaded peers list from %s, got %d peers", px.Config.PeerListURL, len(peers)) + + n := px.AddPeers(peers) + logger.Infof("Added %d/%d peers from downloaded peers list", n, len(peers)) + + return nil +} + +func (px *Pex) load() error { + px.Lock() + defer px.Unlock() + + fp := filepath.Join(px.Config.DataDirectory, PeerDatabaseFilename) + peers, err := loadPeersFromFile(fp) + if err != nil { + return err + } + + // file does not exist + if peers == nil { + return nil + } + + // remove invalid peers and limit the max number of peers to pex.Config.Max + var validPeers []Peer + for addr, p := range peers { + if _, err := validateAddress(addr, px.Config.AllowLocalhost); err != nil { + logger.Errorf("Invalid peer address: %v", err) + continue + } + + validPeers = append(validPeers, *p) + if px.Config.Max > 0 && len(validPeers) >= px.Config.Max { + break + } + } + + px.peerlist.setPeers(validPeers) + return nil +} + +// SavePeers persists the peerlist +func (px *Pex) save() error { + px.Lock() + defer px.Unlock() + + fn := filepath.Join(px.Config.DataDirectory, PeerDatabaseFilename) + return px.peerlist.save(fn) +} + +// AddPeer adds a peer to the peer list, given an address. If the peer list is +// full, PeerlistFullError is returned */ +func (px *Pex) AddPeer(addr string) error { + px.Lock() + defer px.Unlock() + + cleanAddr, err := validateAddress(addr, px.Config.AllowLocalhost) + if err != nil { + logger.Errorf("Invalid address %s: %v", addr, err) + return ErrInvalidAddress + } + + if px.Config.Max > 0 && px.peerlist.len() >= px.Config.Max { + return ErrPeerlistFull + } + + px.peerlist.addPeer(cleanAddr) + return nil +} + +// AddPeers add multiple peers at once. Any errors will be logged, but not returned +// Returns the number of peers that were added without error. Note that +// adding a duplicate peer will not cause an error. +func (px *Pex) AddPeers(addrs []string) int { + px.Lock() + defer px.Unlock() + + if px.Config.Max > 0 && px.peerlist.len() >= px.Config.Max { + logger.Warning("Add peers failed, peer list is full") + return 0 + } + + // validate the addresses + var validAddrs []string + for _, addr := range addrs { + a, err := validateAddress(addr, px.Config.AllowLocalhost) + if err != nil { + logger.Infof("Add peers sees an invalid address %s: %v", addr, err) + continue + } + validAddrs = append(validAddrs, a) + } + addrs = validAddrs + + // Shuffle the addresses before capping them + rand.Shuffle(len(addrs), func(i, j int) { + addrs[i], addrs[j] = addrs[j], addrs[i] + }) + + if px.Config.Max > 0 { + rcap := px.Config.Max - px.peerlist.len() + if len(addrs) > rcap { + addrs = addrs[:rcap] + } + } + + px.peerlist.addPeers(addrs) + return len(addrs) +} + +// SetPrivate updates peer's private value +func (px *Pex) SetPrivate(addr string, private bool) error { + px.Lock() + defer px.Unlock() + + cleanAddr, err := validateAddress(addr, px.Config.AllowLocalhost) + if err != nil { + logger.Errorf("Invalid address %s: %v", addr, err) + return ErrInvalidAddress + } + + return px.peerlist.setPrivate(cleanAddr, private) +} + +// SetTrusted updates peer's trusted value +func (px *Pex) SetTrusted(addr string) error { + px.Lock() + defer px.Unlock() + + cleanAddr, err := validateAddress(addr, px.Config.AllowLocalhost) + if err != nil { + logger.Errorf("Invalid address %s: %v", addr, err) + return ErrInvalidAddress + } + + return px.peerlist.setTrusted(cleanAddr, true) +} + +// SetHasIncomingPort sets if the peer has public port +func (px *Pex) SetHasIncomingPort(addr string, hasPublicPort bool) error { + px.Lock() + defer px.Unlock() + + cleanAddr, err := validateAddress(addr, px.Config.AllowLocalhost) + if err != nil { + logger.Errorf("Invalid address %s: %v", addr, err) + return ErrInvalidAddress + } + + return px.peerlist.setHasIncomingPort(cleanAddr, hasPublicPort) +} + +// RemovePeer removes peer +func (px *Pex) RemovePeer(addr string) { + px.Lock() + defer px.Unlock() + px.peerlist.removePeer(addr) +} + +// GetPeerByAddr returns peer of given address +func (px *Pex) GetPeerByAddr(addr string) (Peer, bool) { + px.RLock() + defer px.RUnlock() + return px.peerlist.getPeerByAddr(addr) +} + +// Trusted returns trusted peers +func (px *Pex) Trusted() Peers { + px.RLock() + defer px.RUnlock() + return px.peerlist.getPeers(isTrusted) +} + +// Private returns private peers +func (px *Pex) Private() Peers { + px.RLock() + defer px.RUnlock() + return px.peerlist.getCanTryPeers(isPrivate) +} + +// TrustedPublic returns trusted public peers +func (px *Pex) TrustedPublic() Peers { + px.RLock() + defer px.RUnlock() + return px.peerlist.getCanTryPeers(isPublic, isTrusted) +} + +// RandomPublic returns N random public peers +func (px *Pex) RandomPublic(n int) Peers { + px.RLock() + defer px.RUnlock() + return px.peerlist.random(n, isPublic) +} + +// RandomExchangeable returns N random exchangeable peers +func (px *Pex) RandomExchangeable(n int) Peers { + px.RLock() + defer px.RUnlock() + return px.peerlist.random(n, isExchangeable...) +} + +// IncreaseRetryTimes increases retry times +func (px *Pex) IncreaseRetryTimes(addr string) { + px.Lock() + defer px.Unlock() + px.peerlist.increaseRetryTimes(addr) +} + +// ResetRetryTimes reset retry times +func (px *Pex) ResetRetryTimes(addr string) { + px.Lock() + defer px.Unlock() + px.peerlist.resetRetryTimes(addr) +} + +// ResetAllRetryTimes reset all peers' retry times +func (px *Pex) ResetAllRetryTimes() { + px.Lock() + defer px.Unlock() + px.peerlist.resetAllRetryTimes() +} + +// IsFull returns whether the peer list is full +func (px *Pex) IsFull() bool { + px.RLock() + defer px.RUnlock() + return px.Config.Max > 0 && px.peerlist.len() >= px.Config.Max +} + +// downloadText downloads a text format file from url. +// Returns the raw response body as a string. +// TODO -- move to util, add backoff options +func downloadText(url string) (string, error) { + resp, err := http.Get(url) + if err != nil { + return "", err + } + defer resp.Body.Close() + + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return "", err + } + + return string(body), nil +} + +func backoffDownloadText(url string) (string, error) { + var body string + + b := backoff.NewExponentialBackOff() + + notify := func(err error, wait time.Duration) { + logger.Errorf("waiting %v to retry downloadText, error: %v", wait, err) + } + + operation := func() error { + logger.Infof("Trying to download peers list from %s", url) + var err error + body, err = downloadText(url) + return err + } + + if err := backoff.RetryNotify(operation, b, notify); err != nil { + logger.Infof("Gave up dowloading peers list from %s: %v", url, err) + return "", err + } + + logger.Infof("Peers list downloaded from %s", url) + + return body, nil +} + +// parseRemotePeerList parses a remote peers.txt file +// The peers list format is newline separated ip:port +// Any lines that don't parse to an ip:port are skipped +// Localhost ip:port addresses are ignored +func parseRemotePeerList(body string) []string { + var peers []string + for _, addr := range strings.Split(string(body), "\n") { + addr = whitespaceFilter.ReplaceAllString(addr, "") + if addr == "" { + continue + } + + // Never allow localhost addresses from the remote peers list + a, err := validateAddress(addr, false) + if err != nil { + logger.Errorf("Remote peers list has invalid address %s: %v", addr, err) + continue + } + + peers = append(peers, a) + } + + return peers +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/pex/pex_test.go b/vendor/github.com/skycoin/skycoin/src/daemon/pex/pex_test.go new file mode 100755 index 0000000..4b1203b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/pex/pex_test.go @@ -0,0 +1,1358 @@ +package pex + +import ( + "fmt" + "io/ioutil" + "os" + "path/filepath" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/util/file" + "github.com/skycoin/skycoin/src/util/utc" +) + +func TestValidateAddress(t *testing.T) { + cases := []struct { + addr string + allowLocalhost bool + err error + cleanAddr string + }{ + { + addr: "", + allowLocalhost: false, + err: ErrInvalidAddress, + }, + { + addr: "112.32.32.14:100112.32.32.14:101", + allowLocalhost: false, + err: ErrInvalidAddress, + }, + { + addr: "112.32.32.14", + allowLocalhost: false, + err: ErrInvalidAddress, + }, + { + addr: "112", + allowLocalhost: false, + err: ErrInvalidAddress, + }, + { + addr: "112.32", + allowLocalhost: false, + err: ErrInvalidAddress, + }, + { + addr: "112.32.32", + allowLocalhost: false, + err: ErrInvalidAddress, + }, + { + addr: "112.32.32.14000", + allowLocalhost: false, + err: ErrInvalidAddress, + }, + { + addr: "112.32.32.14:66666", + allowLocalhost: false, + err: ErrInvalidAddress, + }, + { + addr: "0.0.0.0:8888", + allowLocalhost: false, + err: ErrNotExternalIP, + }, + { + addr: ":8888", + allowLocalhost: false, + err: ErrInvalidAddress, + }, + { + addr: "224.1.1.1:8888", + allowLocalhost: false, + err: ErrNotExternalIP, + }, + { + addr: "112.32.32.14:0", + allowLocalhost: false, + err: ErrPortTooLow, + }, + { + addr: "112.32.32.14:1", + allowLocalhost: false, + err: ErrPortTooLow, + }, + { + addr: "112.32.32.14:10", + allowLocalhost: false, + err: ErrPortTooLow, + }, + { + addr: "112.32.32.14:100", + allowLocalhost: false, + err: ErrPortTooLow, + }, + { + addr: "112.32.32.14:1000", + allowLocalhost: false, + err: ErrPortTooLow, + }, + { + addr: "112.32.32.14:1023", + allowLocalhost: false, + err: ErrPortTooLow, + }, + { + addr: "112.32.32.14:65536", + allowLocalhost: false, + err: ErrInvalidAddress, + }, + { + addr: "112.32.32.14:1024", + allowLocalhost: false, + }, + { + addr: "112.32.32.14:10000", + allowLocalhost: false, + }, + { + addr: "112.32.32.14:65535", + allowLocalhost: false, + }, + { + addr: "127.0.0.1:8888", + allowLocalhost: true, + }, + { + addr: "127.0.0.1:8888", + allowLocalhost: false, + err: ErrNoLocalhost, + }, + { + addr: "11.22.33.44:8080", + allowLocalhost: false, + }, + { + addr: " 11.22.33.44:8080\n", + allowLocalhost: false, + cleanAddr: "11.22.33.44:8080", + }, + } + + for _, tc := range cases { + name := fmt.Sprintf("%+v", tc) + t.Run(name, func(t *testing.T) { + cleanAddr, err := validateAddress(tc.addr, tc.allowLocalhost) + require.Equal(t, tc.err, err) + + if err == nil { + if tc.cleanAddr == "" { + require.Equal(t, tc.addr, cleanAddr) + } else { + require.Equal(t, tc.cleanAddr, cleanAddr) + } + } + }) + } + + // // empty string + // require.False(t, validateAddress("", false)) + // // doubled ip:port + // require.False(t, validateAddress("112.32.32.14:100112.32.32.14:101", false)) + // // requires port + // require.False(t, validateAddress("112.32.32.14", false)) + // // not ip + // require.False(t, validateAddress("112", false)) + // require.False(t, validateAddress("112.32", false)) + // require.False(t, validateAddress("112.32.32", false)) + // // bad part + // require.False(t, validateAddress("112.32.32.14000", false)) + // // large port + // require.False(t, validateAddress("112.32.32.14:66666", false)) + // // unspecified + // require.False(t, validateAddress("0.0.0.0:8888", false)) + // // no ip + // require.False(t, validateAddress(":8888", false)) + // // multicast + // require.False(t, validateAddress("224.1.1.1:8888", false)) + // // invalid ports + // require.False(t, validateAddress("112.32.32.14:0", false)) + // require.False(t, validateAddress("112.32.32.14:1", false)) + // require.False(t, validateAddress("112.32.32.14:10", false)) + // require.False(t, validateAddress("112.32.32.14:100", false)) + // require.False(t, validateAddress("112.32.32.14:1000", false)) + // require.False(t, validateAddress("112.32.32.14:1023", false)) + // require.False(t, validateAddress("112.32.32.14:65536", false)) + // // valid ones + // require.True(t, validateAddress("112.32.32.14:1024", false)) + // require.True(t, validateAddress("112.32.32.14:10000", false)) + // require.True(t, validateAddress("112.32.32.14:65535", false)) + // // localhost is allowed + // require.True(t, validateAddress("127.0.0.1:8888", true)) + // // localhost is not allowed + // require.False(t, validateAddress("127.0.0.1:8888", false)) +} + +func TestNewPex(t *testing.T) { + dir, err := ioutil.TempDir("", "peerlist") + require.NoError(t, err) + defer os.Remove(dir) + + // defer removeFile() + config := NewConfig() + config.DataDirectory = dir + + _, err = New(config, testPeers[:]) + require.NoError(t, err) + + // check if peers are saved to disk + peers, err := loadPeersFromFile(filepath.Join(dir, PeerDatabaseFilename)) + require.NoError(t, err) + + for _, p := range testPeers { + v, ok := peers[p] + require.True(t, ok) + require.True(t, v.Trusted) + } +} + +func TestPexLoadPeers(t *testing.T) { + tt := []struct { + name string + peers []Peer + max int + expectN int + expectIN []Peer + }{ + { + "load all", + []Peer{ + Peer{Addr: testPeers[0]}, + Peer{Addr: testPeers[1]}, + }, + 2, + 2, + []Peer{ + Peer{Addr: testPeers[0]}, + Peer{Addr: testPeers[1]}, + }, + }, + { + "reach max", + []Peer{ + Peer{Addr: testPeers[0]}, + Peer{Addr: testPeers[1]}, + Peer{Addr: testPeers[2]}, + }, + 2, + 2, + []Peer{ + Peer{Addr: testPeers[0]}, + Peer{Addr: testPeers[1]}, + Peer{Addr: testPeers[2]}, + }, + }, + { + "including invalid addr", + []Peer{ + Peer{Addr: wrongPortPeer}, + Peer{Addr: testPeers[1]}, + Peer{Addr: testPeers[2]}, + }, + 2, + 2, + []Peer{ + Peer{Addr: testPeers[1]}, + Peer{Addr: testPeers[2]}, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + dir, err := ioutil.TempDir("", "peerlist") + require.NoError(t, err) + defer os.Remove(dir) + + // write peers to file + fn := filepath.Join(dir, PeerDatabaseFilename) + + peersMap := make(map[string]Peer) + for _, p := range tc.peers { + peersMap[p.Addr] = p + } + + err = file.SaveJSON(fn, peersMap, 0600) + require.NoError(t, err) + + cfg := NewConfig() + cfg.DataDirectory = dir + cfg.Max = tc.max + + px := Pex{ + peerlist: newPeerlist(), + Config: cfg, + } + + err = px.load() + require.NoError(t, err) + + require.Len(t, px.peerlist.peers, tc.expectN) + + psm := make(map[string]Peer) + for _, p := range tc.expectIN { + psm[p.Addr] = p + } + + for _, p := range px.peerlist.peers { + v, ok := psm[p.Addr] + require.True(t, ok) + require.Equal(t, v, *p) + } + }) + } +} + +func TestPexAddPeer(t *testing.T) { + tt := []struct { + name string + peers []string + max int + peer string + err error + }{ + { + "ok", + testPeers[:1], + 2, + testPeers[1], + nil, + }, + { + "invalid peer", + testPeers[:1], + 2, + wrongPortPeer, + ErrInvalidAddress, + }, + { + "reach max", + testPeers[:2], + 2, + testPeers[3], + ErrPeerlistFull, + }, + { + "no max", + testPeers[:2], + 0, + testPeers[3], + nil, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + // create temp peer list file + dir, removeDir := preparePeerlistDir(t) + defer removeDir() + + // create px config + cfg := NewConfig() + cfg.Max = tc.max + cfg.DataDirectory = dir + + // create px instance and load peers + px, err := New(cfg, tc.peers) + require.NoError(t, err) + + err = px.AddPeer(tc.peer) + require.Equal(t, tc.err, err) + if err != nil { + return + } + + // check if the peer is in the peer list + _, ok := px.peerlist.peers[tc.peer] + require.True(t, ok) + }) + } +} + +func TestPexAddPeers(t *testing.T) { + tt := []struct { + name string + peers []string + max int + addPeers []string + addN int + expectPeers []string + }{ + { + "ok", + testPeers[:1], + 5, + testPeers[1:3], + 2, + testPeers[1:3], + }, + { + "almost full", + testPeers[:1], + 2, + testPeers[1:3], + 1, + testPeers[1:2], + }, + { + "already full", + testPeers[:2], + 2, + testPeers[2:3], + 0, + testPeers[0:0], + }, + { + "including invalid address", + testPeers[:1], + 2, + []string{testPeers[1], wrongPortPeer}, + 1, + testPeers[1:2], + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + // create temp peer list file + dir, removeDir := preparePeerlistDir(t) + defer removeDir() + + // create px config + cfg := NewConfig() + cfg.Max = tc.max + cfg.DataDirectory = dir + + // create px instance and load peers + px, err := New(cfg, tc.peers) + require.NoError(t, err) + + n := px.AddPeers(tc.addPeers) + require.Equal(t, tc.addN, n) + + for _, p := range tc.expectPeers { + _, ok := px.peerlist.peers[p] + require.True(t, ok) + } + }) + } +} + +func TestPexTrustedPublic(t *testing.T) { + tt := []struct { + name string + peers []Peer + expect []Peer + }{ + { + + "none peer", + []Peer{ + Peer{Addr: testPeers[0]}, + Peer{Addr: testPeers[1], Trusted: true, Private: true}, + }, + []Peer{}, + }, + { + + "one trusted public peer", + []Peer{ + Peer{Addr: testPeers[0], Trusted: true, Private: false}, + Peer{Addr: testPeers[1], Trusted: true, Private: true}, + }, + []Peer{ + Peer{Addr: testPeers[0], Trusted: true, Private: false}, + }, + }, + { + + "all trust peer", + []Peer{ + Peer{Addr: testPeers[0], Trusted: true, Private: false}, + Peer{Addr: testPeers[1], Trusted: true, Private: false}, + }, + []Peer{ + Peer{Addr: testPeers[0], Trusted: true, Private: false}, + Peer{Addr: testPeers[1], Trusted: true, Private: false}, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pex := &Pex{ + peerlist: newPeerlist(), + } + + pex.peerlist.setPeers(tc.peers) + + // get trusted public peers + peers := pex.TrustedPublic() + + require.Equal(t, len(tc.expect), len(peers)) + pm := make(map[string]Peer) + for _, p := range peers { + pm[p.Addr] = p + } + + for _, p := range tc.expect { + v, ok := pm[p.Addr] + require.True(t, ok) + peersEqualWithSeenAllowedDiff(t, p, v) + } + }) + } +} + +func TestPexRandomExchangeable(t *testing.T) { + tt := []struct { + name string + peers []Peer + n int + expectN int + expectIN []Peer + }{ + { + "n=0 exchangeable=0", + []Peer{ + Peer{Addr: testPeers[0], Private: true, HasIncomingPort: true}, + Peer{Addr: testPeers[1], Private: true, HasIncomingPort: true}, + Peer{Addr: testPeers[2], Private: true, HasIncomingPort: true}, + }, + 0, + 0, + []Peer{}, + }, + { + "n=0 exchangeable=1", + []Peer{ + Peer{Addr: testPeers[0], Private: false, HasIncomingPort: true}, + Peer{Addr: testPeers[1], Private: true, HasIncomingPort: true}, + Peer{Addr: testPeers[2], Private: true, HasIncomingPort: true}, + }, + 0, + 1, + []Peer{ + Peer{Addr: testPeers[0], Private: false, HasIncomingPort: true}, + }, + }, + { + "n=0 exchangeable=2", + []Peer{ + Peer{Addr: testPeers[0], Private: false, HasIncomingPort: true}, + Peer{Addr: testPeers[1], Private: false, HasIncomingPort: true}, + Peer{Addr: testPeers[2], Private: true, HasIncomingPort: true}, + }, + 0, + 2, + []Peer{ + Peer{Addr: testPeers[0], Private: false, HasIncomingPort: true}, + Peer{Addr: testPeers[1], Private: false, HasIncomingPort: true}, + }, + }, + { + "n=1 exchangeable=0", + []Peer{ + Peer{Addr: testPeers[0], Private: true, HasIncomingPort: true}, + Peer{Addr: testPeers[1], Private: true, HasIncomingPort: true}, + Peer{Addr: testPeers[2], Private: true, HasIncomingPort: true}, + }, + 1, + 0, + []Peer{}, + }, + { + "n=1 exchangeable=1", + []Peer{ + Peer{Addr: testPeers[0], Private: false, HasIncomingPort: true}, + Peer{Addr: testPeers[1], Private: false, HasIncomingPort: false}, + Peer{Addr: testPeers[2], Private: true, HasIncomingPort: true}, + }, + 1, + 1, + []Peer{ + Peer{Addr: testPeers[0], Private: false, HasIncomingPort: true}, + }, + }, + { + "n=1 exchangeable=2", + []Peer{ + Peer{Addr: testPeers[0], Private: false, HasIncomingPort: true}, + Peer{Addr: testPeers[1], Private: false, HasIncomingPort: true}, + Peer{Addr: testPeers[2], Private: true, HasIncomingPort: true}, + }, + 1, + 1, + []Peer{ + Peer{Addr: testPeers[0], Private: false, HasIncomingPort: true}, + Peer{Addr: testPeers[1], Private: false, HasIncomingPort: true}, + }, + }, + { + "n=2 exchangeable=1", + []Peer{ + Peer{Addr: testPeers[0], Private: false, HasIncomingPort: true}, + Peer{Addr: testPeers[1], Private: false, HasIncomingPort: true, RetryTimes: 1}, + Peer{Addr: testPeers[2], Private: true, HasIncomingPort: true}, + }, + 2, + 1, + []Peer{ + Peer{Addr: testPeers[0], Private: false, HasIncomingPort: true}, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pex := &Pex{ + peerlist: newPeerlist(), + } + + pex.peerlist.setPeers(tc.peers) + + peers := pex.RandomExchangeable(tc.n) + require.Len(t, peers, tc.expectN) + + // map expectIN peers + psm := make(map[string]Peer) + for _, p := range tc.expectIN { + psm[p.Addr] = p + } + + for _, p := range peers { + v, ok := psm[p.Addr] + require.True(t, ok) + peersEqualWithSeenAllowedDiff(t, p, v) + } + }) + } +} + +func TestPeerRandomPublic(t *testing.T) { + tt := []struct { + name string + peers []Peer + n int + expectN int + }{ + { + "0 peer", + []Peer{}, + 1, + 0, + }, + { + "1 peer", + []Peer{ + Peer{Addr: testPeers[0]}, + }, + 1, + 1, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pex := &Pex{ + peerlist: newPeerlist(), + } + + pex.peerlist.setPeers(tc.peers) + + peers := pex.RandomPublic(tc.n) + require.Len(t, peers, tc.expectN) + }) + } +} + +func TestPexRandomPublic(t *testing.T) { + tt := []struct { + name string + peers []Peer + n int + expectN int + expectIN []Peer + }{ + { + "n=0 public=0", + []Peer{ + Peer{Addr: testPeers[0], Private: true}, + Peer{Addr: testPeers[1], Private: true}, + Peer{Addr: testPeers[2], Private: true}, + }, + 0, + 0, + []Peer{}, + }, + { + "n=0 public=2", + []Peer{ + Peer{Addr: testPeers[0], Private: false}, + Peer{Addr: testPeers[1], Private: false}, + Peer{Addr: testPeers[2], Private: true}, + }, + 0, + 2, + []Peer{ + Peer{Addr: testPeers[0], Private: false}, + Peer{Addr: testPeers[1], Private: false}, + }, + }, + { + "n=1 public=0", + []Peer{ + Peer{Addr: testPeers[0], Private: true}, + Peer{Addr: testPeers[1], Private: true}, + Peer{Addr: testPeers[2], Private: true}, + }, + 1, + 0, + []Peer{}, + }, + { + "n=1 public=2", + []Peer{ + Peer{Addr: testPeers[0], Private: false}, + Peer{Addr: testPeers[1], Private: false}, + Peer{Addr: testPeers[2], Private: true}, + }, + 1, + 1, + []Peer{ + Peer{Addr: testPeers[0], Private: false}, + Peer{Addr: testPeers[1], Private: false}, + }, + }, + { + "n=2 public=0", + []Peer{ + Peer{Addr: testPeers[0], Private: true}, + Peer{Addr: testPeers[1], Private: true}, + Peer{Addr: testPeers[2], Private: true}, + }, + 2, + 0, + []Peer{}, + }, + { + "n=2 public=1", + []Peer{ + Peer{Addr: testPeers[0], Private: false}, + Peer{Addr: testPeers[1], Private: true}, + Peer{Addr: testPeers[2], Private: true}, + }, + 2, + 1, + []Peer{ + Peer{Addr: testPeers[0], Private: false}, + }, + }, + { + "n=2 public=2", + []Peer{ + Peer{Addr: testPeers[0], Private: false}, + Peer{Addr: testPeers[1], Private: false}, + Peer{Addr: testPeers[2], Private: true}, + }, + 2, + 2, + []Peer{ + Peer{Addr: testPeers[0], Private: false}, + Peer{Addr: testPeers[1], Private: false}, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pex := &Pex{ + peerlist: newPeerlist(), + } + + pex.peerlist.setPeers(tc.peers) + + // get N random public + peers := pex.RandomPublic(tc.n) + + require.Len(t, peers, tc.expectN) + + // map the peers + psm := make(map[string]Peer) + for _, p := range tc.expectIN { + psm[p.Addr] = p + } + + // check if the returned peers are in the expectIN + for _, p := range peers { + v, ok := psm[p.Addr] + require.True(t, ok) + peersEqualWithSeenAllowedDiff(t, p, v) + } + }) + } +} + +func TestPexTrusted(t *testing.T) { + tt := []struct { + name string + peers []Peer + expect []Peer + }{ + { + + "no trust peer", + []Peer{ + Peer{Addr: testPeers[0]}, + Peer{Addr: testPeers[1]}, + }, + []Peer{}, + }, + { + + "one trust peer", + []Peer{ + Peer{Addr: testPeers[0], Trusted: true}, + Peer{Addr: testPeers[1]}, + }, + []Peer{ + Peer{Addr: testPeers[0], Trusted: true}, + }, + }, + { + + "all trust peer", + []Peer{ + Peer{Addr: testPeers[0], Trusted: true}, + Peer{Addr: testPeers[1], Trusted: true}, + }, + []Peer{ + Peer{Addr: testPeers[0], Trusted: true}, + Peer{Addr: testPeers[1], Trusted: true}, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pex := &Pex{ + peerlist: newPeerlist(), + } + + pex.peerlist.setPeers(tc.peers) + + peers := pex.Trusted() + require.Equal(t, len(tc.expect), len(peers)) + + pm := make(map[string]Peer) + for _, p := range peers { + pm[p.Addr] = p + } + + for _, p := range tc.expect { + v, ok := pm[p.Addr] + require.True(t, ok) + peersEqualWithSeenAllowedDiff(t, p, v) + } + }) + } +} + +func TestPexPrivate(t *testing.T) { + tt := []struct { + name string + peers []Peer + expect []Peer + }{ + { + + "no private peer", + []Peer{ + Peer{Addr: testPeers[0]}, + Peer{Addr: testPeers[1]}, + }, + []Peer{}, + }, + { + + "one private peer", + []Peer{ + Peer{Addr: testPeers[0], Private: true}, + Peer{Addr: testPeers[1]}, + }, + []Peer{ + Peer{Addr: testPeers[0], Private: true}, + }, + }, + { + + "all trust peer", + []Peer{ + Peer{Addr: testPeers[0], Private: true}, + Peer{Addr: testPeers[1], Private: true}, + }, + []Peer{ + Peer{Addr: testPeers[0], Private: true}, + Peer{Addr: testPeers[1], Private: true}, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pex := &Pex{ + peerlist: newPeerlist(), + } + + pex.peerlist.setPeers(tc.peers) + + peers := pex.Private() + require.Equal(t, len(tc.expect), len(peers)) + + pm := make(map[string]Peer) + for _, p := range peers { + pm[p.Addr] = p + } + + for _, p := range tc.expect { + v, ok := pm[p.Addr] + require.True(t, ok) + peersEqualWithSeenAllowedDiff(t, p, v) + } + }) + } +} + +func TestPexResetAllRetryTimes(t *testing.T) { + tt := []struct { + name string + peers []Peer + expect []Peer + }{ + { + "all", + []Peer{ + Peer{Addr: testPeers[0], RetryTimes: 1}, + Peer{Addr: testPeers[1], RetryTimes: 2}, + }, + []Peer{ + Peer{Addr: testPeers[0]}, + Peer{Addr: testPeers[1]}, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pex := &Pex{ + peerlist: newPeerlist(), + } + + pex.peerlist.setPeers(tc.peers) + + pex.ResetAllRetryTimes() + + for _, p := range tc.expect { + v, ok := pex.peerlist.peers[p.Addr] + require.True(t, ok) + require.Equal(t, p, *v) + } + }) + } +} + +func TestPexIncreaseRetryTimes(t *testing.T) { + tt := []struct { + name string + peers []Peer + addr string + expect map[string]Peer + }{ + { + "addr not exist", + []Peer{ + Peer{Addr: testPeers[0]}, + Peer{Addr: testPeers[1]}, + }, + testPeers[2], + map[string]Peer{ + testPeers[0]: Peer{Addr: testPeers[0]}, + testPeers[1]: Peer{Addr: testPeers[1]}, + }, + }, + { + "ok", + []Peer{ + Peer{Addr: testPeers[0]}, + Peer{Addr: testPeers[1]}, + }, + testPeers[0], + map[string]Peer{ + testPeers[0]: Peer{Addr: testPeers[0], LastSeen: utc.UnixNow(), RetryTimes: 1}, + testPeers[1]: Peer{Addr: testPeers[1]}, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pex := &Pex{ + peerlist: newPeerlist(), + } + + pex.peerlist.setPeers(tc.peers) + + pex.IncreaseRetryTimes(tc.addr) + + require.Equal(t, len(tc.expect), len(pex.peerlist.peers)) + for k, v := range tc.expect { + p, ok := pex.peerlist.peers[k] + require.True(t, ok) + if p.LastSeen != 0 { + require.InDelta(t, v.LastSeen, p.LastSeen, 2) + p.LastSeen = 0 + v.LastSeen = 0 + } + require.Equal(t, v, *p) + } + }) + } +} + +func TestPexResetRetryTimes(t *testing.T) { + tt := []struct { + name string + peers []Peer + addr string + expect []Peer + }{ + { + "no peer need reset", + []Peer{*NewPeer(testPeers[0]), *NewPeer(testPeers[1])}, + testPeers[2], + []Peer{*NewPeer(testPeers[0]), *NewPeer(testPeers[1])}, + }, + { + "reset one", + []Peer{ + Peer{Addr: testPeers[0], LastSeen: utc.UnixNow(), RetryTimes: 10}, + Peer{Addr: testPeers[1], RetryTimes: 2}, + }, + testPeers[0], + []Peer{ + Peer{Addr: testPeers[0], LastSeen: utc.UnixNow()}, + Peer{Addr: testPeers[1], RetryTimes: 2}, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pex := &Pex{ + peerlist: newPeerlist(), + } + + pex.peerlist.setPeers(tc.peers) + + pex.ResetRetryTimes(tc.addr) + + for _, p := range tc.expect { + v, ok := pex.peerlist.peers[p.Addr] + require.True(t, ok) + require.Equal(t, p, *v) + } + }) + } +} + +func TestPexRemovePeer(t *testing.T) { + tt := []struct { + name string + initPeers []Peer + removePeer string + expect map[string]*Peer + }{ + { + "remove from empty peer list", + []Peer{}, + testPeers[0], + map[string]*Peer{}, + }, + { + "remove one", + []Peer{*NewPeer(testPeers[0]), *NewPeer(testPeers[1])}, + testPeers[0], + map[string]*Peer{ + testPeers[1]: NewPeer(testPeers[1]), + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pex := &Pex{ + peerlist: newPeerlist(), + } + + pex.peerlist.setPeers(tc.initPeers) + + pex.RemovePeer(tc.removePeer) + + require.Equal(t, len(tc.expect), len(pex.peerlist.peers)) + for k, v := range tc.expect { + p, ok := pex.peerlist.peers[k] + require.True(t, ok) + require.Equal(t, *v, *p) + } + }) + } +} + +func TestPexSetPrivate(t *testing.T) { + tt := []struct { + name string + initPeer []Peer + peer string + private bool + err error + }{ + { + "set private true", + []Peer{*NewPeer(testPeers[0])}, + testPeers[0], + true, + nil, + }, + { + "set private false", + []Peer{*NewPeer(testPeers[0])}, + testPeers[0], + false, + nil, + }, + { + "set failed", + []Peer{*NewPeer(testPeers[1])}, + testPeers[0], + false, + fmt.Errorf("set peer.Private failed: %v does not exist in peer list", testPeers[0]), + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pex := &Pex{ + peerlist: newPeerlist(), + } + + pex.peerlist.setPeers(tc.initPeer) + + err := pex.SetPrivate(tc.peer, tc.private) + require.Equal(t, tc.err, err) + if err != nil { + return + } + p, ok := pex.peerlist.peers[tc.peer] + require.True(t, ok) + + require.Equal(t, tc.private, p.Private) + }) + } +} + +func TestPexSetTrusted(t *testing.T) { + tt := []struct { + name string + initPeers []Peer + peer string + err error + }{ + { + "set trust true", + []Peer{*NewPeer(testPeers[0])}, + testPeers[0], + nil, + }, + { + "set failed", + []Peer{*NewPeer(testPeers[1])}, + testPeers[0], + fmt.Errorf("set peer.Trusted failed: %v does not exist in peer list", testPeers[0]), + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pex := &Pex{ + peerlist: newPeerlist(), + } + + // init peer + pex.peerlist.setPeers(tc.initPeers) + + err := pex.SetTrusted(tc.peer) + require.Equal(t, tc.err, err) + if err != nil { + return + } + + p, ok := pex.peerlist.peers[tc.peer] + require.True(t, ok) + require.True(t, p.Trusted) + }) + } +} + +func TestPexSetHasIncomingPort(t *testing.T) { + tt := []struct { + name string + initPeers []Peer + peer string + hasIncomingPort bool + err error + }{ + { + "set has incoming port true", + []Peer{*NewPeer(testPeers[0])}, + testPeers[0], + true, + nil, + }, + { + "set has incoming port false", + []Peer{*NewPeer(testPeers[0])}, + testPeers[0], + false, + nil, + }, + { + "set failed", + []Peer{*NewPeer(testPeers[1])}, + testPeers[0], + false, + fmt.Errorf("set peer.HasIncomingPort failed: %v does not exist in peer list", testPeers[0]), + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pex := &Pex{ + peerlist: newPeerlist(), + } + + pex.peerlist.setPeers(tc.initPeers) + + err := pex.SetHasIncomingPort(tc.peer, tc.hasIncomingPort) + require.Equal(t, tc.err, err) + if err != nil { + return + } + + p, ok := pex.peerlist.peers[tc.peer] + require.True(t, ok) + require.Equal(t, tc.hasIncomingPort, p.HasIncomingPort) + }) + } +} + +func TestPexGetPeerByAddr(t *testing.T) { + tt := []struct { + name string + initPeers []Peer + addr string + find bool + peer Peer + }{ + { + "ok", + []Peer{ + *NewPeer(testPeers[0]), + *NewPeer(testPeers[1]), + }, + testPeers[0], + true, + *NewPeer(testPeers[0]), + }, + { + "not exist", + []Peer{ + *NewPeer(testPeers[0]), + *NewPeer(testPeers[1]), + }, + testPeers[2], + false, + Peer{}, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + pex := &Pex{ + peerlist: newPeerlist(), + } + + pex.peerlist.setPeers(tc.initPeers) + + p, ok := pex.GetPeerByAddr(tc.addr) + require.Equal(t, tc.find, ok) + if ok { + require.Equal(t, tc.peer, p) + } + }) + } +} + +func TestPexIsFull(t *testing.T) { + pex := &Pex{ + peerlist: newPeerlist(), + Config: Config{Max: 0}, + } + + require.False(t, pex.IsFull()) + + err := pex.AddPeer("11.22.33.44:5555") + require.NoError(t, err) + require.False(t, pex.IsFull()) + + pex.Config.Max = 2 + require.False(t, pex.IsFull()) + err = pex.AddPeer("33.44.55.66:5555") + require.NoError(t, err) + require.True(t, pex.IsFull()) + + pex.Config.Max = 1 + require.True(t, pex.IsFull()) +} + +func TestParseRemotePeerList(t *testing.T) { + body := `11.22.33.44:5555 +66.55.44.33:2020 +# comment + +127.0.0.1:8080 + 54.54.32.32:7899 +11.33.11.33 +22.44.22.44:99 +` + + peers := parseRemotePeerList(body) + require.Len(t, peers, 3) + require.Equal(t, []string{ + "11.22.33.44:5555", + "66.55.44.33:2020", + "54.54.32.32:7899", + }, peers) +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/pool.go b/vendor/github.com/skycoin/skycoin/src/daemon/pool.go new file mode 100755 index 0000000..4ac51dc --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/pool.go @@ -0,0 +1,104 @@ +package daemon + +import ( + "time" + + "github.com/skycoin/skycoin/src/daemon/gnet" +) + +// PoolConfig pool config +type PoolConfig struct { + // Timeout when trying to connect to new peers through the pool + DialTimeout time.Duration + // How often to process message buffers and generate events + MessageHandlingRate time.Duration + // How long to wait before sending another ping + PingRate time.Duration + // How long a connection can idle before considered stale + IdleLimit time.Duration + // How often to check for needed pings + IdleCheckRate time.Duration + // How often to check for stale connections + ClearStaleRate time.Duration + // Buffer size for gnet.ConnectionPool's network Read events + EventChannelSize int + // Maximum number of connections to maintain + MaxConnections int + MaxDefaultPeerOutgoingConnections int + DefaultPeerConnections map[string]struct{} + // These should be assigned by the controlling daemon + address string + port int +} + +// NewPoolConfig creates pool config +func NewPoolConfig() PoolConfig { + //defIdleLimit := time.Minute + return PoolConfig{ + port: 6677, + address: "", + DialTimeout: time.Second * 30, + MessageHandlingRate: time.Millisecond * 50, + PingRate: 5 * time.Second, + IdleLimit: 60 * time.Second, + IdleCheckRate: 1 * time.Second, + ClearStaleRate: 1 * time.Second, + EventChannelSize: 4096, + MaxConnections: 128, + MaxDefaultPeerOutgoingConnections: 1, + DefaultPeerConnections: make(map[string]struct{}), + } +} + +// Pool maintains config and pool +type Pool struct { + Config PoolConfig + Pool *gnet.ConnectionPool +} + +// NewPool creates pool +func NewPool(cfg PoolConfig, d *Daemon) *Pool { + gnetCfg := gnet.NewConfig() + gnetCfg.DialTimeout = cfg.DialTimeout + gnetCfg.Port = uint16(cfg.port) + gnetCfg.Address = cfg.address + gnetCfg.ConnectCallback = d.onGnetConnect + gnetCfg.DisconnectCallback = d.onGnetDisconnect + gnetCfg.MaxConnections = cfg.MaxConnections + gnetCfg.MaxDefaultPeerOutgoingConnections = cfg.MaxDefaultPeerOutgoingConnections + gnetCfg.DefaultPeerConnections = cfg.DefaultPeerConnections + + return &Pool{ + Config: cfg, + Pool: gnet.NewConnectionPool(gnetCfg, d), + } +} + +// Shutdown closes all connections and stops listening +func (pool *Pool) Shutdown() { + if pool == nil { + return + } + pool.Pool.Shutdown() +} + +// Run starts listening on the configured Port +func (pool *Pool) Run() error { + logger.Infof("daemon.Pool listening on port %d", pool.Config.port) + return pool.Pool.Run() +} + +// RunOffline runs the pool without a listener. This is necessary to process strand requests. +func (pool *Pool) RunOffline() error { + return pool.Pool.RunOffline() +} + +// Send a ping if our last message sent was over pingRate ago +func (pool *Pool) sendPings() { + pool.Pool.SendPings(pool.Config.PingRate, &PingMessage{}) +} + +// Removes connections that have not sent a message in too long +func (pool *Pool) clearStaleConnections() { + pool.Pool.ClearStaleConnections(pool.Config.IdleLimit, ErrDisconnectIdle) +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/storage.go b/vendor/github.com/skycoin/skycoin/src/daemon/storage.go new file mode 100755 index 0000000..00da623 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/storage.go @@ -0,0 +1,324 @@ +package daemon + +import ( + "sync" + "time" + + "github.com/skycoin/skycoin/src/daemon/pex" +) + +// base storage struct +type store struct { + value map[interface{}]interface{} + lk sync.Mutex +} + +type storeFunc func(*store) error + +func (s *store) setValue(k interface{}, v interface{}) { + s.lk.Lock() + s.value[k] = v + s.lk.Unlock() +} + +func (s *store) getValue(k interface{}) (interface{}, bool) { + s.lk.Lock() + defer s.lk.Unlock() + v, ok := s.value[k] + return v, ok +} + +func (s *store) do(sf storeFunc) error { + s.lk.Lock() + defer s.lk.Unlock() + return sf(s) +} + +func (s *store) remove(k interface{}) { + s.lk.Lock() + delete(s.value, k) + s.lk.Unlock() +} + +func (s *store) len() int { + s.lk.Lock() + defer s.lk.Unlock() + return len(s.value) +} + +// ExpectIntroductions records connections that are expecting introduction msg. +type ExpectIntroductions struct { + store +} + +// CullMatchFunc function for checking if the connection need to be culled +type CullMatchFunc func(addr string, t time.Time) (bool, error) + +// NewExpectIntroductions creates a ExpectIntroduction instance +func NewExpectIntroductions() *ExpectIntroductions { + return &ExpectIntroductions{ + store: store{ + value: make(map[interface{}]interface{}), + }, + } +} + +// Add adds expecting introduction connection +func (ei *ExpectIntroductions) Add(addr string, tm time.Time) { + ei.setValue(addr, tm) +} + +// Remove removes connection +func (ei *ExpectIntroductions) Remove(addr string) { + ei.remove(addr) +} + +// CullInvalidConns cull connections that match the matchFunc +func (ei *ExpectIntroductions) CullInvalidConns(f CullMatchFunc) ([]string, error) { + var addrs []string + if err := ei.do(func(s *store) error { + for k, v := range s.value { + addr := k.(string) + t := v.(time.Time) + ok, err := f(addr, t) + if err != nil { + return err + } + + if ok { + addrs = append(addrs, addr) + delete(s.value, k) + } + } + return nil + }); err != nil { + return nil, err + } + + return addrs, nil +} + +// Get returns the time of speicific address +func (ei *ExpectIntroductions) Get(addr string) (time.Time, bool) { + if v, ok := ei.getValue(addr); ok { + return v.(time.Time), ok + } + return time.Time{}, false +} + +// ConnectionMirrors records mirror for connection +type ConnectionMirrors struct { + store +} + +// NewConnectionMirrors create ConnectionMirrors instance. +func NewConnectionMirrors() *ConnectionMirrors { + return &ConnectionMirrors{ + store: store{ + value: make(map[interface{}]interface{}), + }, + } +} + +// Add adds connection mirror +func (cm *ConnectionMirrors) Add(addr string, mirror uint32) { + cm.setValue(addr, mirror) +} + +// Get returns the mirror of connection +func (cm *ConnectionMirrors) Get(addr string) (uint32, bool) { + v, ok := cm.getValue(addr) + if ok { + return v.(uint32), ok + } + return 0, false +} + +// Remove remove connection mirror +func (cm *ConnectionMirrors) Remove(addr string) { + cm.remove(addr) +} + +// OutgoingConnections records the outgoing connections +type OutgoingConnections struct { + store +} + +// NewOutgoingConnections create OutgoingConnection instance +func NewOutgoingConnections(max int) *OutgoingConnections { + return &OutgoingConnections{ + store: store{ + value: make(map[interface{}]interface{}, max), + }, + } +} + +// Add records connection +func (oc *OutgoingConnections) Add(addr string) { + oc.setValue(addr, true) +} + +// Remove remove connection +func (oc *OutgoingConnections) Remove(addr string) { + oc.remove(addr) +} + +// Get returns if connection is outgoing +func (oc *OutgoingConnections) Get(addr string) bool { + _, ok := oc.getValue(addr) + return ok +} + +// Len returns the outgoing connections count +func (oc *OutgoingConnections) Len() int { + return oc.len() +} + +// PendingConnections records pending connection peers +type PendingConnections struct { + store +} + +// NewPendingConnections creates new PendingConnections instance +func NewPendingConnections(maxConn int) *PendingConnections { + return &PendingConnections{ + store: store{ + value: make(map[interface{}]interface{}, maxConn), + }, + } +} + +// Add adds pending connection +func (pc *PendingConnections) Add(addr string, peer pex.Peer) { + pc.setValue(addr, peer) +} + +// Get returns pending connections +func (pc *PendingConnections) Get(addr string) (pex.Peer, bool) { + v, ok := pc.getValue(addr) + if ok { + return v.(pex.Peer), true + } + return pex.Peer{}, false +} + +// Remove removes pending connection +func (pc *PendingConnections) Remove(addr string) { + pc.remove(addr) +} + +// Len returns pending connection number +func (pc *PendingConnections) Len() int { + return pc.len() +} + +// MirrorConnections records mirror connections +type MirrorConnections struct { + store +} + +// NewMirrorConnections create mirror connection instance +func NewMirrorConnections() *MirrorConnections { + return &MirrorConnections{ + store: store{ + value: make(map[interface{}]interface{}), + }, + } +} + +// Add adds mirror connection +func (mc *MirrorConnections) Add(mirror uint32, ip string, port uint16) { + mc.do(func(s *store) error { + if m, ok := s.value[mirror]; ok { + m.(map[string]uint16)[ip] = port + return nil + } + + m := make(map[string]uint16) + m[ip] = port + s.value[mirror] = m + return nil + }) +} + +// Get returns ip port of specific mirror +func (mc *MirrorConnections) Get(mirror uint32, ip string) (uint16, bool) { + var port uint16 + var exist bool + mc.do(func(s *store) error { + if m, ok := s.value[mirror]; ok { + port, exist = m.(map[string]uint16)[ip] + } + return nil + }) + return port, exist +} + +// Remove removes port of ip for specific mirror +func (mc *MirrorConnections) Remove(mirror uint32, ip string) { + mc.do(func(s *store) error { + if m, ok := s.value[mirror]; ok { + delete(m.(map[string]uint16), ip) + } + return nil + }) +} + +// IPCount records connection number from the same base ip +type IPCount struct { + store +} + +// NewIPCount returns IPCount instance +func NewIPCount() *IPCount { + return &IPCount{ + store: store{ + value: make(map[interface{}]interface{}), + }, + } +} + +// Set sets ip count +// func (ic *IPCount) Set(ip string, n int) { +// ic.setValue(ip, n) +// } + +// Increase increases one for specific ip +func (ic *IPCount) Increase(ip string) { + ic.do(func(s *store) error { + if v, ok := s.value[ip]; ok { + c := v.(int) + c++ + s.value[ip] = c + return nil + } + + s.value[ip] = 1 + return nil + }) +} + +// Decrease decreases one for specific ip +func (ic *IPCount) Decrease(ip string) { + ic.do(func(s *store) error { + if v, ok := s.value[ip]; ok { + c := v.(int) + if c <= 1 { + delete(s.value, ip) + return nil + } + c-- + s.value[ip] = c + } + return nil + }) +} + +// Get return ip count +func (ic *IPCount) Get(ip string) (int, bool) { + v, ok := ic.getValue(ip) + if ok { + return v.(int), true + } + return 0, false +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/storage_test.go b/vendor/github.com/skycoin/skycoin/src/daemon/storage_test.go new file mode 100755 index 0000000..c1f9a58 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/storage_test.go @@ -0,0 +1,384 @@ +package daemon + +import ( + "sync" + "testing" + "time" + + "github.com/stretchr/testify/assert" + + "github.com/skycoin/skycoin/src/daemon/pex" + "github.com/skycoin/skycoin/src/util/utc" +) + +func TestStoreAdd(t *testing.T) { + testData := []struct { + expect int + values map[string]string + }{ + { + 1, + map[string]string{ + "a": "a_value", + }, + }, + { + 2, + map[string]string{ + "a": "a_value", + "b": "b_value", + }, + }, + { + 3, + map[string]string{ + "a": "a_value", + "b": "b_value", + "c": "c_value", + }, + }, + } + + for _, d := range testData { + s := store{value: make(map[interface{}]interface{})} + for k, v := range d.values { + s.setValue(k, v) + } + assert.Equal(t, d.expect, len(s.value)) + } +} + +func TestStoreRemove(t *testing.T) { + s := store{value: make(map[interface{}]interface{})} + s.setValue("a", "a_value") + s.setValue("b", "b_value") + + s.remove("a") + assert.Equal(t, 1, len(s.value)) + s.remove("b") + assert.Equal(t, 0, len(s.value)) +} + +func TestStoreGet(t *testing.T) { + s := store{value: make(map[interface{}]interface{})} + s.setValue("a", "a_value") + s.setValue("b", "b_value") + v, ok := s.getValue("a") + assert.True(t, ok) + assert.Equal(t, "a_value", v.(string)) +} + +func TestStoreLen(t *testing.T) { + s := store{value: make(map[interface{}]interface{})} + s.setValue("a", "a_value") + s.setValue("b", "b_value") + assert.Equal(t, s.len(), len(s.value)) +} + +func TestNewExpectIntroduction(t *testing.T) { + ei := NewExpectIntroductions() + assert.NotNil(t, ei) + assert.NotNil(t, ei.store.value) +} + +func TestExpectIntroAdd(t *testing.T) { + ei := NewExpectIntroductions() + now := utc.Now() + ei.Add("a", now) + assert.Equal(t, 1, len(ei.store.value)) +} + +func TestExpectIntroGet(t *testing.T) { + ei := NewExpectIntroductions() + now := utc.Now() + ei.Add("a", now) + tm, ok := ei.Get("a") + assert.True(t, ok) + assert.Equal(t, now, tm) +} + +func TestExpectIntroRemove(t *testing.T) { + ei := NewExpectIntroductions() + now := utc.Now() + ei.Add("a", now) + ei.Add("b", now.Add(1)) + ei.Add("c", now.Add(2)) + assert.Equal(t, 3, len(ei.store.value)) + ei.Remove("a") + assert.Equal(t, 2, len(ei.store.value)) + _, ok := ei.Get("a") + assert.False(t, ok) + bt, ok := ei.Get("b") + assert.True(t, ok) + assert.Equal(t, now.Add(1), bt) + ct, ok := ei.Get("c") + assert.True(t, ok) + assert.Equal(t, now.Add(2), ct) +} + +func TestCullInvalidConnections(t *testing.T) { + ei := NewExpectIntroductions() + now := utc.Now() + ei.Add("a", now) + ei.Add("b", now.Add(1)) + ei.Add("c", now.Add(2)) + wg := sync.WaitGroup{} + vc := make(chan string, 3) + wg.Add(2) + go func(w *sync.WaitGroup) { + as, err := ei.CullInvalidConns(func(addr string, tm time.Time) (bool, error) { + if addr == "a" || addr == "b" { + return true, nil + } + return false, nil + }) + assert.Nil(t, err) + + for _, s := range as { + vc <- s + } + w.Done() + }(&wg) + + go func(w *sync.WaitGroup) { + // w.Add(1) + as, err := ei.CullInvalidConns(func(addr string, tm time.Time) (bool, error) { + if addr == "c" { + return true, nil + } + return false, nil + }) + + assert.Nil(t, err) + + for _, s := range as { + vc <- s + } + w.Done() + }(&wg) + wg.Wait() + assert.Equal(t, 3, len(vc)) +} + +func TestNewConnectionMirrors(t *testing.T) { + cm := NewConnectionMirrors() + assert.NotNil(t, cm) + assert.NotNil(t, cm.value) +} + +func TestAddConnMirrors(t *testing.T) { + testData := []struct { + expectNum int + value map[string]uint32 + }{ + { + 1, + map[string]uint32{ + "a": 1, + }, + }, + { + 2, + map[string]uint32{ + "a": 1, + "b": 2, + }, + }, + { + 3, + map[string]uint32{ + "a": 1, + "b": 2, + "c": 3, + }, + }, + } + + for _, data := range testData { + cm := NewConnectionMirrors() + for a := range data.value { + cm.Add(a, data.value[a]) + } + assert.Equal(t, data.expectNum, len(cm.value)) + for a := range data.value { + v, ok := cm.Get(a) + assert.True(t, ok) + m := cm.value[a].(uint32) + assert.Equal(t, v, m) + } + } +} + +func TestConnMirrorsRemove(t *testing.T) { + cm := NewConnectionMirrors() + cm.Add("a", 1) + cm.Remove("a") + assert.Equal(t, 0, len(cm.value)) + + cm.Add("a", 1) + cm.Add("b", 2) + cm.Remove("a") + assert.Equal(t, 1, len(cm.value)) + _, ok := cm.Get("a") + assert.False(t, ok) + _, ok = cm.Get("b") + assert.True(t, ok) +} + +func TestNewOutgoingConnections(t *testing.T) { + oc := NewOutgoingConnections(3) + assert.NotNil(t, oc) + assert.NotNil(t, oc.value) + assert.Equal(t, 0, len(oc.value)) +} + +func TestOutgoingConnAdd(t *testing.T) { + oc := NewOutgoingConnections(3) + oc.Add("a") + assert.Equal(t, 1, len(oc.value)) + oc.Add("b") + assert.Equal(t, 2, len(oc.value)) +} + +func TestOutgoingConnGet(t *testing.T) { + oc := NewOutgoingConnections(3) + oc.Add("a") + oc.Add("b") + assert.True(t, oc.Get("a")) + assert.True(t, oc.Get("b")) + assert.False(t, oc.Get("c")) +} + +func TestOutgoingConnLen(t *testing.T) { + oc := NewOutgoingConnections(3) + oc.Add("a") + oc.Add("b") + assert.Equal(t, oc.Len(), 2) +} + +func TestNewPendingConns(t *testing.T) { + pc := NewPendingConnections(3) + assert.NotNil(t, pc) + assert.NotNil(t, pc.value) + assert.Equal(t, 0, len(pc.value)) +} + +func TestPendingConnAdd(t *testing.T) { + pc := NewPendingConnections(3) + pc.Add("a", pex.Peer{Addr: "a"}) + pc.Add("b", pex.Peer{Addr: "b"}) + assert.Equal(t, 2, len(pc.value)) + a := pc.value["a"].(pex.Peer) + b := pc.value["b"].(pex.Peer) + + assert.Equal(t, pex.Peer{Addr: "a"}, a) + assert.Equal(t, pex.Peer{Addr: "b"}, b) +} + +func TestPendingConnGet(t *testing.T) { + pc := NewPendingConnections(3) + pc.Add("a", pex.Peer{Addr: "a"}) + pc.Add("b", pex.Peer{Addr: "b"}) + v, ok := pc.Get("a") + assert.True(t, ok) + assert.Equal(t, "a", v.Addr) + + v, ok = pc.Get("b") + assert.True(t, ok) + assert.Equal(t, "b", v.Addr) + +} + +func TestPendingConnRemove(t *testing.T) { + pc := NewPendingConnections(3) + pc.Add("a", pex.Peer{Addr: "a"}) + pc.Add("b", pex.Peer{Addr: "b"}) + assert.Equal(t, 2, len(pc.value)) + pc.Remove("a") + assert.Equal(t, 1, len(pc.value)) + _, ok := pc.Get("a") + assert.False(t, ok) + _, ok = pc.Get("b") + assert.True(t, ok) +} + +func TestPendingConnLen(t *testing.T) { + pc := NewPendingConnections(3) + pc.Add("a", pex.Peer{Addr: "a"}) + pc.Add("b", pex.Peer{Addr: "b"}) + assert.Equal(t, 2, pc.Len()) +} + +func TestNewMirrorConnections(t *testing.T) { + mc := NewMirrorConnections() + assert.NotNil(t, mc) + assert.NotNil(t, mc.value) + assert.Equal(t, 0, len(mc.value)) +} + +func TestMirrorConnAdd(t *testing.T) { + mc := NewMirrorConnections() + mc.Add(1, "a", 1) + mc.Add(1, "b", 1) + assert.Equal(t, 1, len(mc.value)) + assert.Equal(t, 2, len(mc.value[uint32(1)].(map[string]uint16))) +} + +func TestMirrorConnGet(t *testing.T) { + mc := NewMirrorConnections() + mc.Add(1, "a", 1) + mc.Add(1, "b", 2) + p, ok := mc.Get(1, "a") + assert.True(t, ok) + assert.Equal(t, uint16(1), p) + p, ok = mc.Get(1, "b") + assert.True(t, ok) + assert.Equal(t, uint16(2), p) + p, ok = mc.Get(1, "c") + assert.False(t, ok) + p, ok = mc.Get(uint32(2), "a") + assert.False(t, ok) +} + +func TestMirrorConnRemove(t *testing.T) { + mc := NewMirrorConnections() + mc.Add(1, "a", 1) + mc.Add(1, "b", 2) + mc.Add(2, "c", 1) + mc.Remove(1, "a") + _, ok := mc.value[uint32(1)].(map[string]uint16)["a"] + assert.False(t, ok) + p, ok := mc.value[uint32(1)].(map[string]uint16)["b"] + assert.True(t, ok) + assert.Equal(t, uint16(2), p) +} + +func TestNewIPCount(t *testing.T) { + ic := NewIPCount() + assert.NotNil(t, ic) + assert.NotNil(t, ic.value) +} + +func TestIPCountIncrease(t *testing.T) { + ic := NewIPCount() + ic.Increase("a") + assert.Equal(t, 1, ic.value["a"].(int)) + ic.Increase("a") + assert.Equal(t, 2, ic.value["a"].(int)) +} + +func TestIPCountDecrease(t *testing.T) { + ic := NewIPCount() + ic.Increase("a") + assert.Equal(t, 1, ic.value["a"].(int)) + ic.Increase("a") + assert.Equal(t, 2, ic.value["a"].(int)) + ic.Increase("b") + assert.Equal(t, 1, ic.value["b"].(int)) + assert.Equal(t, 2, len(ic.value)) + + ic.Decrease("a") + assert.Equal(t, 1, ic.value["a"].(int)) + assert.Equal(t, 2, len(ic.value)) + assert.Equal(t, 1, ic.value["b"].(int)) +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/strand/strand.go b/vendor/github.com/skycoin/skycoin/src/daemon/strand/strand.go new file mode 100755 index 0000000..1df88ce --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/strand/strand.go @@ -0,0 +1,123 @@ +package strand + +import ( + "time" + + "github.com/skycoin/skycoin/src/util/logging" +) + +const ( + // logDurationThreshold is how long to wait before reporting a function call's time + logDurationThreshold = time.Millisecond * 100 + // writeWait is how long to wait to write to a request channel before logging the delay + logQueueRequestWaitThreshold = time.Second * 1 +) + +var ( + // Debug enables debug logging + Debug = false +) + +// Request is sent to the channel provided to Strand +type Request struct { + Name string + Func func() error +} + +// Strand linearizes concurrent method calls through a single channel, +// to avoid concurrency issues when conflicting methods are called from +// multiple goroutines. +// Methods passed to Strand() will block until completed. +// Strand accepts a quit channel and will return quitErr if the quit +// channel closes. +func Strand(logger *logging.Logger, c chan Request, name string, f func() error, quit chan struct{}, quitErr error) error { + if Debug { + logger.Debugf("Strand precall %s", name) + } + + done := make(chan struct{}) + var err error + + req := Request{ + Name: name, + Func: func() error { + defer close(done) + + // TODO: record time statistics in a data structure and expose stats via an API + // logger.Debugf("%s begin", name) + + t := time.Now() + + // Log function duration at an exponential time interval, + // this will notify us of any long running functions to look at. + go func() { + threshold := logDurationThreshold + t := time.NewTimer(threshold) + defer t.Stop() + + for { + t0 := time.Now() + select { + case <-quit: + return + case <-done: + return + case <-t.C: + logger.Warningf("%s is taking longer than %s", name, threshold) + threshold *= 10 + t.Reset(threshold) + } + t1 := time.Now() + logger.Infof("ELAPSED: %s", t1.Sub(t0)) + } + }() + + if Debug { + logger.Debugf("Stranding %s", name) + } + + err = f() + + // Log the error here so that the Request channel consumer doesn't need to + if err != nil { + logger.Errorf("%s error: %v", name, err) + } + + // Notify us if the function call took too long + elapsed := time.Now().Sub(t) + if elapsed > logDurationThreshold { + logger.Warningf("%s took %s", name, elapsed) + } else { + //logger.Debugf("%s took %s", name, elapsed) + } + + return err + }, + } + + // Log a message if waiting too long to write due to a full queue + t := time.Now() +loop: + for { + select { + case <-quit: + return quitErr + case c <- req: + break loop + case <-time.After(logQueueRequestWaitThreshold): + logger.Warningf("Waited %s while trying to write %s to the strand request channel", time.Now().Sub(t), req.Name) + } + } + + t = time.Now() + for { + select { + case <-quit: + return quitErr + case <-done: + return err + case <-time.After(logQueueRequestWaitThreshold): + logger.Warningf("Waited %s while waiting for %s to be done or quit", time.Now().Sub(t), req.Name) + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/.angular-cli.json b/vendor/github.com/skycoin/skycoin/src/gui/static/.angular-cli.json new file mode 100755 index 0000000..8fcfda2 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/.angular-cli.json @@ -0,0 +1,65 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "project": { + "name": "desktopwallet" + }, + "apps": [ + { + "root": "src", + "outDir": "dist", + "assets": [ + "assets", + "favicon.ico", + "app/current-skycoin.json" + ], + "index": "index.html", + "main": "main.ts", + "polyfills": "polyfills.ts", + "test": "test.ts", + "tsconfig": "tsconfig.app.json", + "testTsconfig": "tsconfig.spec.json", + "prefix": "app", + "styles": [ + "../node_modules/font-awesome/css/font-awesome.css", + "assets/fonts/material-icons/material-icons.css", + "styles.scss" + ], + "scripts": [ + "assets/scripts/qrcode.min.js" + ], + "environmentSource": "environments/environment.ts", + "environments": { + "dev": "environments/environment.ts", + "prod": "environments/environment.prod.ts" + } + } + ], + "e2e": { + "protractor": { + "config": "./protractor.conf.js" + } + }, + "lint": [ + { + "project": "src/tsconfig.app.json", + "exclude": "**/node_modules/**" + }, + { + "project": "src/tsconfig.spec.json", + "exclude": "**/node_modules/**" + }, + { + "project": "e2e/tsconfig.e2e.json", + "exclude": "**/node_modules/**" + } + ], + "test": { + "karma": { + "config": "./karma.conf.js" + } + }, + "defaults": { + "styleExt": "sass", + "component": {} + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/.editorconfig b/vendor/github.com/skycoin/skycoin/src/gui/static/.editorconfig new file mode 100755 index 0000000..6e87a00 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/.editorconfig @@ -0,0 +1,13 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/.gitignore b/vendor/github.com/skycoin/skycoin/src/gui/static/.gitignore new file mode 100755 index 0000000..30c55b6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/.gitignore @@ -0,0 +1,41 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/tmp +/out-tsc + +# dependencies +/node_modules + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# misc +/.sass-cache +/connect.lock +/coverage +/libpeerconnection.log +npm-debug.log +testem.log +/typings + +# e2e +/e2e/*.js +/e2e/*.map + +# System Files +.DS_Store +Thumbs.db diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/README.md b/vendor/github.com/skycoin/skycoin/src/gui/static/README.md new file mode 100755 index 0000000..a1e8808 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/README.md @@ -0,0 +1,53 @@ +# Skycoin desktop client + +The Skycoin wallet ships with a web interface which can be ran from the browser and/or Electron. + +The project contains both the source (src) and target (dist) files of this web interface. + +## Prerequisites + +The Skycoin web interface requires Node 8.10.0 or higher, together with NPM 5.6 or higher. + +## Installation + +This project is generated using Angular CLI, therefore it is adviced to first run `npm install -g @angular/cli`. + +Dependencies are managed with NPM 5, to install these run `npm install`. + +You will only have to run this again, if any dependencies have been changed in the `package-lock.json` file. + +## Compiling new target files + +After pulling the latest code, you might first have to update your dependencies, in case someone else has updated them. +You should always do this when compiling new production files: + +``` +rm -rf node_modules +npm install +``` + +This will remove the current dependencies, and install them from the `package-lock.json`. + +To compile new target files, you will have to run: `npm run build`. + +## Development server + +Run `npm start` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. + +Please note that you will most likely receive CORS errors as there's a difference between the port number of the source and destination. + +As a work-around, the development server will create a proxy from `http://localhost:4200/api` to `http://127.0.0.1:6420/`. + +You can route all calls to this address by changing the url property on the ApiService class. + +## Purchase API (teller) + +Please note that at the moment the Purchase API (teller) is both offline and not supporting CORS headers. + +While event.skycoin.net is not working, we will have to run the purchase API locally. + +Similar as the solution for the above CORS issue, you can circumvent CORS issues by changing the url property to '/teller/' + +## Style guide + +As an Angular application, we try to follow the [Angular style guide](https://angular.io/guide/styleguide). diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/0.e4deea36eb603a33569a.chunk.js b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/0.e4deea36eb603a33569a.chunk.js new file mode 100755 index 0000000..1c2e2c3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/0.e4deea36eb603a33569a.chunk.js @@ -0,0 +1 @@ +webpackJsonp([0],{TKku:function(e,t){e.exports={common:{"coin-id":"SKY","coin-hours":"Coin Hours",loading:"Loading...",new:"New",load:"Load"},errors:{"fetch-version":"Unable to fetch latest release version from Github","incorrect-password":"Incorrect password","api-disabled":"API disabled","no-wallet":"Wallet does not exist","no-outputs":"No unspent outputs"},title:{wallets:"Wallets",send:"Send",history:"History","buy-coin":"Buy Skycoin",network:"Networking",blockchain:"Blockchain",outputs:"Outputs",transactions:"Transactions","pending-txs":"Pending Transactions",backup:"Backup Wallet",explorer:"Skycoin Explorer",seed:"Wallet Seed",qrcode:"QR Code"},header:{"syncing-blocks":"Syncing blocks",update1:"Wallet update",update2:"available.","pending-txs1":"There are some","pending-txs2":"pending transactions.","pending-txs3":"Data you see may not be updated.",errors:{"no-connections":"No connections active, your client is not connected to any other nodes!","no-backend1":"Cannot reach backend. Please restart the app and/or seek help on our","no-backend2":"Telegram.","no-backend3":"",csrf:"Security vulnerability: CSRF is not working, please exit immediately."}},password:{title:"Enter Password",label:"Password","confirm-label":"Confirm password",button:"Proceed"},buy:{"deposit-address":"Choose an address to generate a BTC deposit link for:","select-address":"Select address",generate:"Generate","deposit-location":"Deposit Location","deposit-location-desc":"Choose a wallet where you'd like us to deposit your Skycoin after we receive your Bitcoin.","make-choice":"Make a choice","wallets-desc":"Each time a new wallet and address are selected, a new BTC address is generated. A single Skycoin address can have up to 5 BTC addresses assigned to it.",send:"Send Bitcoin","send-desc":"Send Bitcoin to the address below. Once received, we will deposit the Skycoin to a new address in the wallet selected above at the current rate of {{ rate }} SKY/BTC.","fraction-warning":"Only send multiple of the SKY/BTC rate! Skycoin is sent in whole number; fractional SKY is not sent!",receive:"Receive Sky","receive-desc":"After receiving your Bitcoin, we'll send you your Skycoin. It may take anywhere between 20 minutes and an hour to receive your SKY.","status-button":"Status:","check-status-button":"Check Status","new-order-button":"New Order"},wizard:{"wallet-desc":'If you don\'t have a Skycoin wallet, use the generated seed to create a new one. If you already have a wallet, toggle over to "Load Wallet" and enter your seed.',"encrypt-desc":"Increase security of your wallet by encrypting it. By entering a password below, your wallet will be encrypted. Only those with the password will be able access the wallet and remove funds.","finish-button":"Finish","back-button":"Back",confirm:{title:"Safeguard your seed!",desc:"We want to make sure that you wrote down your seed and stored it in a safe place. If you forget your seed, you WILL NOT be able to recover your Skycoin wallet!",checkbox:"It\u2019s safe, I swear.",button:"Continue"}},wallet:{"new-address":"New Address","show-empty":"Show Empty","hide-empty":"Hide Empty",encrypt:"Encrypt Wallet",decrypt:"Decrypt Wallet",edit:"Edit Wallet",add:"Add Wallet",load:"Load Wallet","encryption-enabled":"Encryption enabled","encryption-disabled":"Encryption disabled",wallet:"Wallet",new:{"create-title":"Create Wallet","load-title":"Load Wallet","encrypt-title":"Encrypt Wallet","name-label":"Name","seed-label":"Seed","confirm-seed-label":"Confirm seed","seed-warning":"Remember this seed! Keep it in a safe place. If you forget your seed, you will not be able to recover your wallet!","create-button":"Create","load-button":"Load","cancel-button":"Cancel","12-words":"12 words","24-words":"24 words","generate-12-seed":"Generate 12 word seed","generate-24-seed":"Generate 24 word seed",encrypt:"Encrypt wallet","encrypt-warning":"We suggest that you encrypt each one of your wallets with a password. If you forget your password, you can reset it with your seed. Make sure you have your seed saved somewhere safe before encrypting your wallet."},rename:{title:"Rename Wallet","name-label":"Name","cancel-button":"Cancel","rename-button":"Rename"},address:{copy:"Copy","copy-address":"Copy address",copied:"Copied!",outputs:"Unspent Outputs"}},send:{"from-label":"Send from","to-label":"Send to","amount-label":"Amount","notes-label":"Notes","wallet-label":"Wallet","addresses-label":"Addresses","addresses-help":"Wallet addresses to send from","change-address-label":"Custom change address","change-address-help":"Address to receive change. If it's not provided, it will be chosen automatically","destinations-label":"Destinations","destinations-help1":"Destination addresses and their coins","destinations-help2":"Destination addresses, their coins and coin hours","hours-allocation-label":"Automatic coin hours allocation","options-label":"Options","value-label":"Coin hours share factor","value-help":"The higher the value, the more coin hours will be sent to outputs","preview-button":"Preview","send-button":"Send","back-button":"Back",simple:"Simple",advanced:"Advanced"},tx:{transaction:"Transaction","confirm-transaction":"Confirm Transaction",from:"From",to:"To",date:"Date",status:"Status",coins:"Coins",hours:"Hours",id:"Tx ID","show-more":"Show more","hours-sent":"sent","hours-burned":"burned",inputs:"Inputs",outputs:"Outputs",confirmed:"Confirmed",pending:"Pending","current-rate":"Calculated at the current rate"},backup:{"wallet-directory":"Wallet Directory:","seed-warning":"BACKUP YOUR SEED. ON PAPER. IN A SAFE PLACE. As long as you have your seed, you can recover your coins.",desc:"Use the table below to get seeds from your encrypted wallets.
              To get seeds from unencrypted wallets, open the folder above, open the .wlt files in a text editor and recover the seeds.","close-button":"Close",wallet:"Wallet Label",filename:"Filename",seed:"Seed","show-seed":"Show seed","no-wallets":"No encrypted wallets"},blockchain:{blocks:"Number of blocks",time:"Timestamp of last block",hash:"Hash of last block","current-supply":"Current SKY supply","total-supply":"Total SKY supply","current-coinhour-supply":"Current Coin Hours supply","total-coinhour-supply":"Total Coin Hours supply"},network:{peer:"Peer",source:"Source","block-height":"Block height","last-seen":"Last seen","last-received":"Last received","last-sent":"Last sent",in:"Incoming",out:"Outgoing",sources:{default:"Default peer",exchange:"Peer exchange"}},"pending-txs":{timestamp:"Timestamp",txid:"Transaction ID",none:"No pending transactions",my:"Mine",all:"All"},history:{"tx-detail":"Transaction Detail",sending:"Sending",sent:"Sent",received:"Received",receiving:"Receiving",pending:"Pending","no-txs":"You have no transaction history"},teller:{done:"Completed","waiting-confirm":"Waiting for confirmation","waiting-deposit":"Waiting for Bitcoin deposit","waiting-send":"Waiting to send Skycoin",unknown:"Unknown"}}}}); \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/3rdpartylicenses.txt b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/3rdpartylicenses.txt new file mode 100755 index 0000000..785f597 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/3rdpartylicenses.txt @@ -0,0 +1,273 @@ +moment@2.21.0 +MIT +Copyright (c) JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +cache-loader@1.2.2 +MIT +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +@angular-devkit/build-optimizer@0.3.2 +MIT +The MIT License + +Copyright (c) 2017 Google, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +webpack@3.11.0 +MIT +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +@angular/core@5.2.0 +MIT +MIT + +@ngx-translate/core@9.1.1 +MIT +MIT + +hammerjs@2.0.8 +MIT +The MIT License (MIT) + +Copyright (C) 2011-2014 by Jorik Tangelder (Eight Media) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +@angular/common@5.2.0 +MIT +MIT + +@angular/platform-browser@5.2.0 +MIT +MIT + +@angular/http@5.2.0 +MIT +MIT + +@angular/cdk@5.0.4 +MIT +The MIT License + +Copyright (c) 2017 Google LLC. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +@angular/material@5.0.4 +MIT +The MIT License + +Copyright (c) 2017 Google LLC. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +@angular/animations@5.2.0 +MIT +MIT + +@angular/forms@5.2.0 +MIT +MIT + +@angular/router@5.2.0 +MIT +MIT + +@angular/platform-browser-dynamic@5.2.0 +MIT +MIT + +core-js@2.5.3 +MIT +Copyright (c) 2014-2017 Denis Pushkarev + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +zone.js@0.8.20 +MIT +The MIT License + +Copyright (c) 2016 Google, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +bootstrap@4.0.0-beta.3 +MIT +The MIT License (MIT) + +Copyright (c) 2011-2017 Twitter, Inc. +Copyright (c) 2011-2017 The Bootstrap Authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/MaterialIcons-Regular.012cf6a10129e2275d79.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/MaterialIcons-Regular.012cf6a10129e2275d79.woff new file mode 100755 index 0000000000000000000000000000000000000000..b648a3eea2d16b6ce783906d6b7d5f251b9eb56c GIT binary patch literal 57620 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

              wF7DI|Kx|V1sBQ9FYs>m5C)C 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 BJ$(QG literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/MaterialIcons-Regular.570eb83859dc23dd0eec.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/MaterialIcons-Regular.570eb83859dc23dd0eec.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..9fa211252080046a23b2449dbdced6abc2b0bb34 GIT binary patch literal 44300 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 QW8}wPUeo^@jR61v08@RD2LJ#7 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/MaterialIcons-Regular.a37b0c01c0baf1888ca8.ttf b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/MaterialIcons-Regular.a37b0c01c0baf1888ca8.ttf new file mode 100755 index 0000000000000000000000000000000000000000..7015564ad166a3e9d88c82f17829f0cc01ebe29a GIT binary patch literal 128180 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 ohyj3!`#ee%L;DTjx@8!5k5~VH0QmdE^#A|> literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/MaterialIcons-Regular.e79bfd88537def476913.eot b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/MaterialIcons-Regular.e79bfd88537def476913.eot new file mode 100755 index 0000000000000000000000000000000000000000..70508ebabc9992e64f1314f866b2d7ab90438c58 GIT binary patch literal 143258 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 Hzx)3OGG_Ot literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.ijmap b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.ijmap new file mode 100755 index 0000000..d9f1d25 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.ijmap @@ -0,0 +1 @@ +{"icons":{"e84d":{"name":"3d Rotation"},"eb3b":{"name":"Ac Unit"},"e190":{"name":"Access Alarm"},"e191":{"name":"Access Alarms"},"e192":{"name":"Access Time"},"e84e":{"name":"Accessibility"},"e914":{"name":"Accessible"},"e84f":{"name":"Account Balance"},"e850":{"name":"Account Balance Wallet"},"e851":{"name":"Account Box"},"e853":{"name":"Account Circle"},"e60e":{"name":"Adb"},"e145":{"name":"Add"},"e439":{"name":"Add A Photo"},"e193":{"name":"Add Alarm"},"e003":{"name":"Add Alert"},"e146":{"name":"Add Box"},"e147":{"name":"Add Circle"},"e148":{"name":"Add Circle Outline"},"e567":{"name":"Add Location"},"e854":{"name":"Add Shopping Cart"},"e39d":{"name":"Add To Photos"},"e05c":{"name":"Add To Queue"},"e39e":{"name":"Adjust"},"e630":{"name":"Airline Seat Flat"},"e631":{"name":"Airline Seat Flat Angled"},"e632":{"name":"Airline Seat Individual Suite"},"e633":{"name":"Airline Seat Legroom Extra"},"e634":{"name":"Airline Seat Legroom Normal"},"e635":{"name":"Airline Seat Legroom Reduced"},"e636":{"name":"Airline Seat Recline Extra"},"e637":{"name":"Airline Seat Recline Normal"},"e195":{"name":"Airplanemode Active"},"e194":{"name":"Airplanemode Inactive"},"e055":{"name":"Airplay"},"eb3c":{"name":"Airport Shuttle"},"e855":{"name":"Alarm"},"e856":{"name":"Alarm Add"},"e857":{"name":"Alarm Off"},"e858":{"name":"Alarm On"},"e019":{"name":"Album"},"eb3d":{"name":"All Inclusive"},"e90b":{"name":"All Out"},"e859":{"name":"Android"},"e85a":{"name":"Announcement"},"e5c3":{"name":"Apps"},"e149":{"name":"Archive"},"e5c4":{"name":"Arrow Back"},"e5db":{"name":"Arrow Downward"},"e5c5":{"name":"Arrow Drop Down"},"e5c6":{"name":"Arrow Drop Down Circle"},"e5c7":{"name":"Arrow Drop Up"},"e5c8":{"name":"Arrow Forward"},"e5d8":{"name":"Arrow Upward"},"e060":{"name":"Art Track"},"e85b":{"name":"Aspect Ratio"},"e85c":{"name":"Assessment"},"e85d":{"name":"Assignment"},"e85e":{"name":"Assignment Ind"},"e85f":{"name":"Assignment Late"},"e860":{"name":"Assignment Return"},"e861":{"name":"Assignment Returned"},"e862":{"name":"Assignment Turned In"},"e39f":{"name":"Assistant"},"e3a0":{"name":"Assistant Photo"},"e226":{"name":"Attach File"},"e227":{"name":"Attach Money"},"e2bc":{"name":"Attachment"},"e3a1":{"name":"Audiotrack"},"e863":{"name":"Autorenew"},"e01b":{"name":"Av Timer"},"e14a":{"name":"Backspace"},"e864":{"name":"Backup"},"e19c":{"name":"Battery Alert"},"e1a3":{"name":"Battery Charging Full"},"e1a4":{"name":"Battery Full"},"e1a5":{"name":"Battery Std"},"e1a6":{"name":"Battery Unknown"},"eb3e":{"name":"Beach Access"},"e52d":{"name":"Beenhere"},"e14b":{"name":"Block"},"e1a7":{"name":"Bluetooth"},"e60f":{"name":"Bluetooth Audio"},"e1a8":{"name":"Bluetooth Connected"},"e1a9":{"name":"Bluetooth Disabled"},"e1aa":{"name":"Bluetooth Searching"},"e3a2":{"name":"Blur Circular"},"e3a3":{"name":"Blur Linear"},"e3a4":{"name":"Blur Off"},"e3a5":{"name":"Blur On"},"e865":{"name":"Book"},"e866":{"name":"Bookmark"},"e867":{"name":"Bookmark Border"},"e228":{"name":"Border All"},"e229":{"name":"Border Bottom"},"e22a":{"name":"Border Clear"},"e22b":{"name":"Border Color"},"e22c":{"name":"Border Horizontal"},"e22d":{"name":"Border Inner"},"e22e":{"name":"Border Left"},"e22f":{"name":"Border Outer"},"e230":{"name":"Border Right"},"e231":{"name":"Border Style"},"e232":{"name":"Border Top"},"e233":{"name":"Border Vertical"},"e06b":{"name":"Branding Watermark"},"e3a6":{"name":"Brightness 1"},"e3a7":{"name":"Brightness 2"},"e3a8":{"name":"Brightness 3"},"e3a9":{"name":"Brightness 4"},"e3aa":{"name":"Brightness 5"},"e3ab":{"name":"Brightness 6"},"e3ac":{"name":"Brightness 7"},"e1ab":{"name":"Brightness Auto"},"e1ac":{"name":"Brightness High"},"e1ad":{"name":"Brightness Low"},"e1ae":{"name":"Brightness Medium"},"e3ad":{"name":"Broken Image"},"e3ae":{"name":"Brush"},"e6dd":{"name":"Bubble Chart"},"e868":{"name":"Bug Report"},"e869":{"name":"Build"},"e43c":{"name":"Burst Mode"},"e0af":{"name":"Business"},"eb3f":{"name":"Business Center"},"e86a":{"name":"Cached"},"e7e9":{"name":"Cake"},"e0b0":{"name":"Call"},"e0b1":{"name":"Call End"},"e0b2":{"name":"Call Made"},"e0b3":{"name":"Call Merge"},"e0b4":{"name":"Call Missed"},"e0e4":{"name":"Call Missed Outgoing"},"e0b5":{"name":"Call Received"},"e0b6":{"name":"Call Split"},"e06c":{"name":"Call To Action"},"e3af":{"name":"Camera"},"e3b0":{"name":"Camera Alt"},"e8fc":{"name":"Camera Enhance"},"e3b1":{"name":"Camera Front"},"e3b2":{"name":"Camera Rear"},"e3b3":{"name":"Camera Roll"},"e5c9":{"name":"Cancel"},"e8f6":{"name":"Card Giftcard"},"e8f7":{"name":"Card Membership"},"e8f8":{"name":"Card Travel"},"eb40":{"name":"Casino"},"e307":{"name":"Cast"},"e308":{"name":"Cast Connected"},"e3b4":{"name":"Center Focus Strong"},"e3b5":{"name":"Center Focus Weak"},"e86b":{"name":"Change History"},"e0b7":{"name":"Chat"},"e0ca":{"name":"Chat Bubble"},"e0cb":{"name":"Chat Bubble Outline"},"e5ca":{"name":"Check"},"e834":{"name":"Check Box"},"e835":{"name":"Check Box Outline Blank"},"e86c":{"name":"Check Circle"},"e5cb":{"name":"Chevron Left"},"e5cc":{"name":"Chevron Right"},"eb41":{"name":"Child Care"},"eb42":{"name":"Child Friendly"},"e86d":{"name":"Chrome Reader Mode"},"e86e":{"name":"Class"},"e14c":{"name":"Clear"},"e0b8":{"name":"Clear All"},"e5cd":{"name":"Close"},"e01c":{"name":"Closed Caption"},"e2bd":{"name":"Cloud"},"e2be":{"name":"Cloud Circle"},"e2bf":{"name":"Cloud Done"},"e2c0":{"name":"Cloud Download"},"e2c1":{"name":"Cloud Off"},"e2c2":{"name":"Cloud Queue"},"e2c3":{"name":"Cloud Upload"},"e86f":{"name":"Code"},"e3b6":{"name":"Collections"},"e431":{"name":"Collections Bookmark"},"e3b7":{"name":"Color Lens"},"e3b8":{"name":"Colorize"},"e0b9":{"name":"Comment"},"e3b9":{"name":"Compare"},"e915":{"name":"Compare Arrows"},"e30a":{"name":"Computer"},"e638":{"name":"Confirmation Number"},"e0d0":{"name":"Contact Mail"},"e0cf":{"name":"Contact Phone"},"e0ba":{"name":"Contacts"},"e14d":{"name":"Content Copy"},"e14e":{"name":"Content Cut"},"e14f":{"name":"Content Paste"},"e3ba":{"name":"Control Point"},"e3bb":{"name":"Control Point Duplicate"},"e90c":{"name":"Copyright"},"e150":{"name":"Create"},"e2cc":{"name":"Create New Folder"},"e870":{"name":"Credit Card"},"e3be":{"name":"Crop"},"e3bc":{"name":"Crop 16 9"},"e3bd":{"name":"Crop 3 2"},"e3bf":{"name":"Crop 5 4"},"e3c0":{"name":"Crop 7 5"},"e3c1":{"name":"Crop Din"},"e3c2":{"name":"Crop Free"},"e3c3":{"name":"Crop Landscape"},"e3c4":{"name":"Crop Original"},"e3c5":{"name":"Crop Portrait"},"e437":{"name":"Crop Rotate"},"e3c6":{"name":"Crop Square"},"e871":{"name":"Dashboard"},"e1af":{"name":"Data Usage"},"e916":{"name":"Date Range"},"e3c7":{"name":"Dehaze"},"e872":{"name":"Delete"},"e92b":{"name":"Delete Forever"},"e16c":{"name":"Delete Sweep"},"e873":{"name":"Description"},"e30b":{"name":"Desktop Mac"},"e30c":{"name":"Desktop Windows"},"e3c8":{"name":"Details"},"e30d":{"name":"Developer Board"},"e1b0":{"name":"Developer Mode"},"e335":{"name":"Device Hub"},"e1b1":{"name":"Devices"},"e337":{"name":"Devices Other"},"e0bb":{"name":"Dialer Sip"},"e0bc":{"name":"Dialpad"},"e52e":{"name":"Directions"},"e52f":{"name":"Directions Bike"},"e532":{"name":"Directions Boat"},"e530":{"name":"Directions Bus"},"e531":{"name":"Directions Car"},"e534":{"name":"Directions Railway"},"e566":{"name":"Directions Run"},"e533":{"name":"Directions Subway"},"e535":{"name":"Directions Transit"},"e536":{"name":"Directions Walk"},"e610":{"name":"Disc Full"},"e875":{"name":"Dns"},"e612":{"name":"Do Not Disturb"},"e611":{"name":"Do Not Disturb Alt"},"e643":{"name":"Do Not Disturb Off"},"e644":{"name":"Do Not Disturb On"},"e30e":{"name":"Dock"},"e7ee":{"name":"Domain"},"e876":{"name":"Done"},"e877":{"name":"Done All"},"e917":{"name":"Donut Large"},"e918":{"name":"Donut Small"},"e151":{"name":"Drafts"},"e25d":{"name":"Drag Handle"},"e613":{"name":"Drive Eta"},"e1b2":{"name":"Dvr"},"e3c9":{"name":"Edit"},"e568":{"name":"Edit Location"},"e8fb":{"name":"Eject"},"e0be":{"name":"Email"},"e63f":{"name":"Enhanced Encryption"},"e01d":{"name":"Equalizer"},"e000":{"name":"Error"},"e001":{"name":"Error Outline"},"e926":{"name":"Euro Symbol"},"e56d":{"name":"Ev Station"},"e878":{"name":"Event"},"e614":{"name":"Event Available"},"e615":{"name":"Event Busy"},"e616":{"name":"Event Note"},"e903":{"name":"Event Seat"},"e879":{"name":"Exit To App"},"e5ce":{"name":"Expand Less"},"e5cf":{"name":"Expand More"},"e01e":{"name":"Explicit"},"e87a":{"name":"Explore"},"e3ca":{"name":"Exposure"},"e3cb":{"name":"Exposure Neg 1"},"e3cc":{"name":"Exposure Neg 2"},"e3cd":{"name":"Exposure Plus 1"},"e3ce":{"name":"Exposure Plus 2"},"e3cf":{"name":"Exposure Zero"},"e87b":{"name":"Extension"},"e87c":{"name":"Face"},"e01f":{"name":"Fast Forward"},"e020":{"name":"Fast Rewind"},"e87d":{"name":"Favorite"},"e87e":{"name":"Favorite Border"},"e06d":{"name":"Featured Play List"},"e06e":{"name":"Featured Video"},"e87f":{"name":"Feedback"},"e05d":{"name":"Fiber Dvr"},"e061":{"name":"Fiber Manual Record"},"e05e":{"name":"Fiber New"},"e06a":{"name":"Fiber Pin"},"e062":{"name":"Fiber Smart Record"},"e2c4":{"name":"File Download"},"e2c6":{"name":"File Upload"},"e3d3":{"name":"Filter"},"e3d0":{"name":"Filter 1"},"e3d1":{"name":"Filter 2"},"e3d2":{"name":"Filter 3"},"e3d4":{"name":"Filter 4"},"e3d5":{"name":"Filter 5"},"e3d6":{"name":"Filter 6"},"e3d7":{"name":"Filter 7"},"e3d8":{"name":"Filter 8"},"e3d9":{"name":"Filter 9"},"e3da":{"name":"Filter 9 Plus"},"e3db":{"name":"Filter B And W"},"e3dc":{"name":"Filter Center Focus"},"e3dd":{"name":"Filter Drama"},"e3de":{"name":"Filter Frames"},"e3df":{"name":"Filter Hdr"},"e152":{"name":"Filter List"},"e3e0":{"name":"Filter None"},"e3e2":{"name":"Filter Tilt Shift"},"e3e3":{"name":"Filter Vintage"},"e880":{"name":"Find In Page"},"e881":{"name":"Find Replace"},"e90d":{"name":"Fingerprint"},"e5dc":{"name":"First Page"},"eb43":{"name":"Fitness Center"},"e153":{"name":"Flag"},"e3e4":{"name":"Flare"},"e3e5":{"name":"Flash Auto"},"e3e6":{"name":"Flash Off"},"e3e7":{"name":"Flash On"},"e539":{"name":"Flight"},"e904":{"name":"Flight Land"},"e905":{"name":"Flight Takeoff"},"e3e8":{"name":"Flip"},"e882":{"name":"Flip To Back"},"e883":{"name":"Flip To Front"},"e2c7":{"name":"Folder"},"e2c8":{"name":"Folder Open"},"e2c9":{"name":"Folder Shared"},"e617":{"name":"Folder Special"},"e167":{"name":"Font Download"},"e234":{"name":"Format Align Center"},"e235":{"name":"Format Align Justify"},"e236":{"name":"Format Align Left"},"e237":{"name":"Format Align Right"},"e238":{"name":"Format Bold"},"e239":{"name":"Format Clear"},"e23a":{"name":"Format Color Fill"},"e23b":{"name":"Format Color Reset"},"e23c":{"name":"Format Color Text"},"e23d":{"name":"Format Indent Decrease"},"e23e":{"name":"Format Indent Increase"},"e23f":{"name":"Format Italic"},"e240":{"name":"Format Line Spacing"},"e241":{"name":"Format List Bulleted"},"e242":{"name":"Format List Numbered"},"e243":{"name":"Format Paint"},"e244":{"name":"Format Quote"},"e25e":{"name":"Format Shapes"},"e245":{"name":"Format Size"},"e246":{"name":"Format Strikethrough"},"e247":{"name":"Format Textdirection L To R"},"e248":{"name":"Format Textdirection R To L"},"e249":{"name":"Format Underlined"},"e0bf":{"name":"Forum"},"e154":{"name":"Forward"},"e056":{"name":"Forward 10"},"e057":{"name":"Forward 30"},"e058":{"name":"Forward 5"},"eb44":{"name":"Free Breakfast"},"e5d0":{"name":"Fullscreen"},"e5d1":{"name":"Fullscreen Exit"},"e24a":{"name":"Functions"},"e927":{"name":"G Translate"},"e30f":{"name":"Gamepad"},"e021":{"name":"Games"},"e90e":{"name":"Gavel"},"e155":{"name":"Gesture"},"e884":{"name":"Get App"},"e908":{"name":"Gif"},"eb45":{"name":"Golf Course"},"e1b3":{"name":"Gps Fixed"},"e1b4":{"name":"Gps Not Fixed"},"e1b5":{"name":"Gps Off"},"e885":{"name":"Grade"},"e3e9":{"name":"Gradient"},"e3ea":{"name":"Grain"},"e1b8":{"name":"Graphic Eq"},"e3eb":{"name":"Grid Off"},"e3ec":{"name":"Grid On"},"e7ef":{"name":"Group"},"e7f0":{"name":"Group Add"},"e886":{"name":"Group Work"},"e052":{"name":"Hd"},"e3ed":{"name":"Hdr Off"},"e3ee":{"name":"Hdr On"},"e3f1":{"name":"Hdr Strong"},"e3f2":{"name":"Hdr Weak"},"e310":{"name":"Headset"},"e311":{"name":"Headset Mic"},"e3f3":{"name":"Healing"},"e023":{"name":"Hearing"},"e887":{"name":"Help"},"e8fd":{"name":"Help Outline"},"e024":{"name":"High Quality"},"e25f":{"name":"Highlight"},"e888":{"name":"Highlight Off"},"e889":{"name":"History"},"e88a":{"name":"Home"},"eb46":{"name":"Hot Tub"},"e53a":{"name":"Hotel"},"e88b":{"name":"Hourglass Empty"},"e88c":{"name":"Hourglass Full"},"e902":{"name":"Http"},"e88d":{"name":"Https"},"e3f4":{"name":"Image"},"e3f5":{"name":"Image Aspect Ratio"},"e0e0":{"name":"Import Contacts"},"e0c3":{"name":"Import Export"},"e912":{"name":"Important Devices"},"e156":{"name":"Inbox"},"e909":{"name":"Indeterminate Check Box"},"e88e":{"name":"Info"},"e88f":{"name":"Info Outline"},"e890":{"name":"Input"},"e24b":{"name":"Insert Chart"},"e24c":{"name":"Insert Comment"},"e24d":{"name":"Insert Drive File"},"e24e":{"name":"Insert Emoticon"},"e24f":{"name":"Insert Invitation"},"e250":{"name":"Insert Link"},"e251":{"name":"Insert Photo"},"e891":{"name":"Invert Colors"},"e0c4":{"name":"Invert Colors Off"},"e3f6":{"name":"Iso"},"e312":{"name":"Keyboard"},"e313":{"name":"Keyboard Arrow Down"},"e314":{"name":"Keyboard Arrow Left"},"e315":{"name":"Keyboard Arrow Right"},"e316":{"name":"Keyboard Arrow Up"},"e317":{"name":"Keyboard Backspace"},"e318":{"name":"Keyboard Capslock"},"e31a":{"name":"Keyboard Hide"},"e31b":{"name":"Keyboard Return"},"e31c":{"name":"Keyboard Tab"},"e31d":{"name":"Keyboard Voice"},"eb47":{"name":"Kitchen"},"e892":{"name":"Label"},"e893":{"name":"Label Outline"},"e3f7":{"name":"Landscape"},"e894":{"name":"Language"},"e31e":{"name":"Laptop"},"e31f":{"name":"Laptop Chromebook"},"e320":{"name":"Laptop Mac"},"e321":{"name":"Laptop Windows"},"e5dd":{"name":"Last Page"},"e895":{"name":"Launch"},"e53b":{"name":"Layers"},"e53c":{"name":"Layers Clear"},"e3f8":{"name":"Leak Add"},"e3f9":{"name":"Leak Remove"},"e3fa":{"name":"Lens"},"e02e":{"name":"Library Add"},"e02f":{"name":"Library Books"},"e030":{"name":"Library Music"},"e90f":{"name":"Lightbulb Outline"},"e919":{"name":"Line Style"},"e91a":{"name":"Line Weight"},"e260":{"name":"Linear Scale"},"e157":{"name":"Link"},"e438":{"name":"Linked Camera"},"e896":{"name":"List"},"e0c6":{"name":"Live Help"},"e639":{"name":"Live Tv"},"e53f":{"name":"Local Activity"},"e53d":{"name":"Local Airport"},"e53e":{"name":"Local Atm"},"e540":{"name":"Local Bar"},"e541":{"name":"Local Cafe"},"e542":{"name":"Local Car Wash"},"e543":{"name":"Local Convenience Store"},"e556":{"name":"Local Dining"},"e544":{"name":"Local Drink"},"e545":{"name":"Local Florist"},"e546":{"name":"Local Gas Station"},"e547":{"name":"Local Grocery Store"},"e548":{"name":"Local Hospital"},"e549":{"name":"Local Hotel"},"e54a":{"name":"Local Laundry Service"},"e54b":{"name":"Local Library"},"e54c":{"name":"Local Mall"},"e54d":{"name":"Local Movies"},"e54e":{"name":"Local Offer"},"e54f":{"name":"Local Parking"},"e550":{"name":"Local Pharmacy"},"e551":{"name":"Local Phone"},"e552":{"name":"Local Pizza"},"e553":{"name":"Local Play"},"e554":{"name":"Local Post Office"},"e555":{"name":"Local Printshop"},"e557":{"name":"Local See"},"e558":{"name":"Local Shipping"},"e559":{"name":"Local Taxi"},"e7f1":{"name":"Location City"},"e1b6":{"name":"Location Disabled"},"e0c7":{"name":"Location Off"},"e0c8":{"name":"Location On"},"e1b7":{"name":"Location Searching"},"e897":{"name":"Lock"},"e898":{"name":"Lock Open"},"e899":{"name":"Lock Outline"},"e3fc":{"name":"Looks"},"e3fb":{"name":"Looks 3"},"e3fd":{"name":"Looks 4"},"e3fe":{"name":"Looks 5"},"e3ff":{"name":"Looks 6"},"e400":{"name":"Looks One"},"e401":{"name":"Looks Two"},"e028":{"name":"Loop"},"e402":{"name":"Loupe"},"e16d":{"name":"Low Priority"},"e89a":{"name":"Loyalty"},"e158":{"name":"Mail"},"e0e1":{"name":"Mail Outline"},"e55b":{"name":"Map"},"e159":{"name":"Markunread"},"e89b":{"name":"Markunread Mailbox"},"e322":{"name":"Memory"},"e5d2":{"name":"Menu"},"e252":{"name":"Merge Type"},"e0c9":{"name":"Message"},"e029":{"name":"Mic"},"e02a":{"name":"Mic None"},"e02b":{"name":"Mic Off"},"e618":{"name":"Mms"},"e253":{"name":"Mode Comment"},"e254":{"name":"Mode Edit"},"e263":{"name":"Monetization On"},"e25c":{"name":"Money Off"},"e403":{"name":"Monochrome Photos"},"e7f2":{"name":"Mood"},"e7f3":{"name":"Mood Bad"},"e619":{"name":"More"},"e5d3":{"name":"More Horiz"},"e5d4":{"name":"More Vert"},"e91b":{"name":"Motorcycle"},"e323":{"name":"Mouse"},"e168":{"name":"Move To Inbox"},"e02c":{"name":"Movie"},"e404":{"name":"Movie Creation"},"e43a":{"name":"Movie Filter"},"e6df":{"name":"Multiline Chart"},"e405":{"name":"Music Note"},"e063":{"name":"Music Video"},"e55c":{"name":"My Location"},"e406":{"name":"Nature"},"e407":{"name":"Nature People"},"e408":{"name":"Navigate Before"},"e409":{"name":"Navigate Next"},"e55d":{"name":"Navigation"},"e569":{"name":"Near Me"},"e1b9":{"name":"Network Cell"},"e640":{"name":"Network Check"},"e61a":{"name":"Network Locked"},"e1ba":{"name":"Network Wifi"},"e031":{"name":"New Releases"},"e16a":{"name":"Next Week"},"e1bb":{"name":"Nfc"},"e641":{"name":"No Encryption"},"e0cc":{"name":"No Sim"},"e033":{"name":"Not Interested"},"e06f":{"name":"Note"},"e89c":{"name":"Note Add"},"e7f4":{"name":"Notifications"},"e7f7":{"name":"Notifications Active"},"e7f5":{"name":"Notifications None"},"e7f6":{"name":"Notifications Off"},"e7f8":{"name":"Notifications Paused"},"e90a":{"name":"Offline Pin"},"e63a":{"name":"Ondemand Video"},"e91c":{"name":"Opacity"},"e89d":{"name":"Open In Browser"},"e89e":{"name":"Open In New"},"e89f":{"name":"Open With"},"e7f9":{"name":"Pages"},"e8a0":{"name":"Pageview"},"e40a":{"name":"Palette"},"e925":{"name":"Pan Tool"},"e40b":{"name":"Panorama"},"e40c":{"name":"Panorama Fish Eye"},"e40d":{"name":"Panorama Horizontal"},"e40e":{"name":"Panorama Vertical"},"e40f":{"name":"Panorama Wide Angle"},"e7fa":{"name":"Party Mode"},"e034":{"name":"Pause"},"e035":{"name":"Pause Circle Filled"},"e036":{"name":"Pause Circle Outline"},"e8a1":{"name":"Payment"},"e7fb":{"name":"People"},"e7fc":{"name":"People Outline"},"e8a2":{"name":"Perm Camera Mic"},"e8a3":{"name":"Perm Contact Calendar"},"e8a4":{"name":"Perm Data Setting"},"e8a5":{"name":"Perm Device Information"},"e8a6":{"name":"Perm Identity"},"e8a7":{"name":"Perm Media"},"e8a8":{"name":"Perm Phone Msg"},"e8a9":{"name":"Perm Scan Wifi"},"e7fd":{"name":"Person"},"e7fe":{"name":"Person Add"},"e7ff":{"name":"Person Outline"},"e55a":{"name":"Person Pin"},"e56a":{"name":"Person Pin Circle"},"e63b":{"name":"Personal Video"},"e91d":{"name":"Pets"},"e0cd":{"name":"Phone"},"e324":{"name":"Phone Android"},"e61b":{"name":"Phone Bluetooth Speaker"},"e61c":{"name":"Phone Forwarded"},"e61d":{"name":"Phone In Talk"},"e325":{"name":"Phone Iphone"},"e61e":{"name":"Phone Locked"},"e61f":{"name":"Phone Missed"},"e620":{"name":"Phone Paused"},"e326":{"name":"Phonelink"},"e0db":{"name":"Phonelink Erase"},"e0dc":{"name":"Phonelink Lock"},"e327":{"name":"Phonelink Off"},"e0dd":{"name":"Phonelink Ring"},"e0de":{"name":"Phonelink Setup"},"e410":{"name":"Photo"},"e411":{"name":"Photo Album"},"e412":{"name":"Photo Camera"},"e43b":{"name":"Photo Filter"},"e413":{"name":"Photo Library"},"e432":{"name":"Photo Size Select Actual"},"e433":{"name":"Photo Size Select Large"},"e434":{"name":"Photo Size Select Small"},"e415":{"name":"Picture As Pdf"},"e8aa":{"name":"Picture In Picture"},"e911":{"name":"Picture In Picture Alt"},"e6c4":{"name":"Pie Chart"},"e6c5":{"name":"Pie Chart Outlined"},"e55e":{"name":"Pin Drop"},"e55f":{"name":"Place"},"e037":{"name":"Play Arrow"},"e038":{"name":"Play Circle Filled"},"e039":{"name":"Play Circle Outline"},"e906":{"name":"Play For Work"},"e03b":{"name":"Playlist Add"},"e065":{"name":"Playlist Add Check"},"e05f":{"name":"Playlist Play"},"e800":{"name":"Plus One"},"e801":{"name":"Poll"},"e8ab":{"name":"Polymer"},"eb48":{"name":"Pool"},"e0ce":{"name":"Portable Wifi Off"},"e416":{"name":"Portrait"},"e63c":{"name":"Power"},"e336":{"name":"Power Input"},"e8ac":{"name":"Power Settings New"},"e91e":{"name":"Pregnant Woman"},"e0df":{"name":"Present To All"},"e8ad":{"name":"Print"},"e645":{"name":"Priority High"},"e80b":{"name":"Public"},"e255":{"name":"Publish"},"e8ae":{"name":"Query Builder"},"e8af":{"name":"Question Answer"},"e03c":{"name":"Queue"},"e03d":{"name":"Queue Music"},"e066":{"name":"Queue Play Next"},"e03e":{"name":"Radio"},"e837":{"name":"Radio Button Checked"},"e836":{"name":"Radio Button Unchecked"},"e560":{"name":"Rate Review"},"e8b0":{"name":"Receipt"},"e03f":{"name":"Recent Actors"},"e91f":{"name":"Record Voice Over"},"e8b1":{"name":"Redeem"},"e15a":{"name":"Redo"},"e5d5":{"name":"Refresh"},"e15b":{"name":"Remove"},"e15c":{"name":"Remove Circle"},"e15d":{"name":"Remove Circle Outline"},"e067":{"name":"Remove From Queue"},"e417":{"name":"Remove Red Eye"},"e928":{"name":"Remove Shopping Cart"},"e8fe":{"name":"Reorder"},"e040":{"name":"Repeat"},"e041":{"name":"Repeat One"},"e042":{"name":"Replay"},"e059":{"name":"Replay 10"},"e05a":{"name":"Replay 30"},"e05b":{"name":"Replay 5"},"e15e":{"name":"Reply"},"e15f":{"name":"Reply All"},"e160":{"name":"Report"},"e8b2":{"name":"Report Problem"},"e56c":{"name":"Restaurant"},"e561":{"name":"Restaurant Menu"},"e8b3":{"name":"Restore"},"e929":{"name":"Restore Page"},"e0d1":{"name":"Ring Volume"},"e8b4":{"name":"Room"},"eb49":{"name":"Room Service"},"e418":{"name":"Rotate 90 Degrees Ccw"},"e419":{"name":"Rotate Left"},"e41a":{"name":"Rotate Right"},"e920":{"name":"Rounded Corner"},"e328":{"name":"Router"},"e921":{"name":"Rowing"},"e0e5":{"name":"Rss Feed"},"e642":{"name":"Rv Hookup"},"e562":{"name":"Satellite"},"e161":{"name":"Save"},"e329":{"name":"Scanner"},"e8b5":{"name":"Schedule"},"e80c":{"name":"School"},"e1be":{"name":"Screen Lock Landscape"},"e1bf":{"name":"Screen Lock Portrait"},"e1c0":{"name":"Screen Lock Rotation"},"e1c1":{"name":"Screen Rotation"},"e0e2":{"name":"Screen Share"},"e623":{"name":"Sd Card"},"e1c2":{"name":"Sd Storage"},"e8b6":{"name":"Search"},"e32a":{"name":"Security"},"e162":{"name":"Select All"},"e163":{"name":"Send"},"e811":{"name":"Sentiment Dissatisfied"},"e812":{"name":"Sentiment Neutral"},"e813":{"name":"Sentiment Satisfied"},"e814":{"name":"Sentiment Very Dissatisfied"},"e815":{"name":"Sentiment Very Satisfied"},"e8b8":{"name":"Settings"},"e8b9":{"name":"Settings Applications"},"e8ba":{"name":"Settings Backup Restore"},"e8bb":{"name":"Settings Bluetooth"},"e8bd":{"name":"Settings Brightness"},"e8bc":{"name":"Settings Cell"},"e8be":{"name":"Settings Ethernet"},"e8bf":{"name":"Settings Input Antenna"},"e8c0":{"name":"Settings Input Component"},"e8c1":{"name":"Settings Input Composite"},"e8c2":{"name":"Settings Input Hdmi"},"e8c3":{"name":"Settings Input Svideo"},"e8c4":{"name":"Settings Overscan"},"e8c5":{"name":"Settings Phone"},"e8c6":{"name":"Settings Power"},"e8c7":{"name":"Settings Remote"},"e1c3":{"name":"Settings System Daydream"},"e8c8":{"name":"Settings Voice"},"e80d":{"name":"Share"},"e8c9":{"name":"Shop"},"e8ca":{"name":"Shop Two"},"e8cb":{"name":"Shopping Basket"},"e8cc":{"name":"Shopping Cart"},"e261":{"name":"Short Text"},"e6e1":{"name":"Show Chart"},"e043":{"name":"Shuffle"},"e1c8":{"name":"Signal Cellular 4 Bar"},"e1cd":{"name":"Signal Cellular Connected No Internet 4 Bar"},"e1ce":{"name":"Signal Cellular No Sim"},"e1cf":{"name":"Signal Cellular Null"},"e1d0":{"name":"Signal Cellular Off"},"e1d8":{"name":"Signal Wifi 4 Bar"},"e1d9":{"name":"Signal Wifi 4 Bar Lock"},"e1da":{"name":"Signal Wifi Off"},"e32b":{"name":"Sim Card"},"e624":{"name":"Sim Card Alert"},"e044":{"name":"Skip Next"},"e045":{"name":"Skip Previous"},"e41b":{"name":"Slideshow"},"e068":{"name":"Slow Motion Video"},"e32c":{"name":"Smartphone"},"eb4a":{"name":"Smoke Free"},"eb4b":{"name":"Smoking Rooms"},"e625":{"name":"Sms"},"e626":{"name":"Sms Failed"},"e046":{"name":"Snooze"},"e164":{"name":"Sort"},"e053":{"name":"Sort By Alpha"},"eb4c":{"name":"Spa"},"e256":{"name":"Space Bar"},"e32d":{"name":"Speaker"},"e32e":{"name":"Speaker Group"},"e8cd":{"name":"Speaker Notes"},"e92a":{"name":"Speaker Notes Off"},"e0d2":{"name":"Speaker Phone"},"e8ce":{"name":"Spellcheck"},"e838":{"name":"Star"},"e83a":{"name":"Star Border"},"e839":{"name":"Star Half"},"e8d0":{"name":"Stars"},"e0d3":{"name":"Stay Current Landscape"},"e0d4":{"name":"Stay Current Portrait"},"e0d5":{"name":"Stay Primary Landscape"},"e0d6":{"name":"Stay Primary Portrait"},"e047":{"name":"Stop"},"e0e3":{"name":"Stop Screen Share"},"e1db":{"name":"Storage"},"e8d1":{"name":"Store"},"e563":{"name":"Store Mall Directory"},"e41c":{"name":"Straighten"},"e56e":{"name":"Streetview"},"e257":{"name":"Strikethrough S"},"e41d":{"name":"Style"},"e5d9":{"name":"Subdirectory Arrow Left"},"e5da":{"name":"Subdirectory Arrow Right"},"e8d2":{"name":"Subject"},"e064":{"name":"Subscriptions"},"e048":{"name":"Subtitles"},"e56f":{"name":"Subway"},"e8d3":{"name":"Supervisor Account"},"e049":{"name":"Surround Sound"},"e0d7":{"name":"Swap Calls"},"e8d4":{"name":"Swap Horiz"},"e8d5":{"name":"Swap Vert"},"e8d6":{"name":"Swap Vertical Circle"},"e41e":{"name":"Switch Camera"},"e41f":{"name":"Switch Video"},"e627":{"name":"Sync"},"e628":{"name":"Sync Disabled"},"e629":{"name":"Sync Problem"},"e62a":{"name":"System Update"},"e8d7":{"name":"System Update Alt"},"e8d8":{"name":"Tab"},"e8d9":{"name":"Tab Unselected"},"e32f":{"name":"Tablet"},"e330":{"name":"Tablet Android"},"e331":{"name":"Tablet Mac"},"e420":{"name":"Tag Faces"},"e62b":{"name":"Tap And Play"},"e564":{"name":"Terrain"},"e262":{"name":"Text Fields"},"e165":{"name":"Text Format"},"e0d8":{"name":"Textsms"},"e421":{"name":"Texture"},"e8da":{"name":"Theaters"},"e8db":{"name":"Thumb Down"},"e8dc":{"name":"Thumb Up"},"e8dd":{"name":"Thumbs Up Down"},"e62c":{"name":"Time To Leave"},"e422":{"name":"Timelapse"},"e922":{"name":"Timeline"},"e425":{"name":"Timer"},"e423":{"name":"Timer 10"},"e424":{"name":"Timer 3"},"e426":{"name":"Timer Off"},"e264":{"name":"Title"},"e8de":{"name":"Toc"},"e8df":{"name":"Today"},"e8e0":{"name":"Toll"},"e427":{"name":"Tonality"},"e913":{"name":"Touch App"},"e332":{"name":"Toys"},"e8e1":{"name":"Track Changes"},"e565":{"name":"Traffic"},"e570":{"name":"Train"},"e571":{"name":"Tram"},"e572":{"name":"Transfer Within A Station"},"e428":{"name":"Transform"},"e8e2":{"name":"Translate"},"e8e3":{"name":"Trending Down"},"e8e4":{"name":"Trending Flat"},"e8e5":{"name":"Trending Up"},"e429":{"name":"Tune"},"e8e6":{"name":"Turned In"},"e8e7":{"name":"Turned In Not"},"e333":{"name":"Tv"},"e169":{"name":"Unarchive"},"e166":{"name":"Undo"},"e5d6":{"name":"Unfold Less"},"e5d7":{"name":"Unfold More"},"e923":{"name":"Update"},"e1e0":{"name":"Usb"},"e8e8":{"name":"Verified User"},"e258":{"name":"Vertical Align Bottom"},"e259":{"name":"Vertical Align Center"},"e25a":{"name":"Vertical Align Top"},"e62d":{"name":"Vibration"},"e070":{"name":"Video Call"},"e071":{"name":"Video Label"},"e04a":{"name":"Video Library"},"e04b":{"name":"Videocam"},"e04c":{"name":"Videocam Off"},"e338":{"name":"Videogame Asset"},"e8e9":{"name":"View Agenda"},"e8ea":{"name":"View Array"},"e8eb":{"name":"View Carousel"},"e8ec":{"name":"View Column"},"e42a":{"name":"View Comfy"},"e42b":{"name":"View Compact"},"e8ed":{"name":"View Day"},"e8ee":{"name":"View Headline"},"e8ef":{"name":"View List"},"e8f0":{"name":"View Module"},"e8f1":{"name":"View Quilt"},"e8f2":{"name":"View Stream"},"e8f3":{"name":"View Week"},"e435":{"name":"Vignette"},"e8f4":{"name":"Visibility"},"e8f5":{"name":"Visibility Off"},"e62e":{"name":"Voice Chat"},"e0d9":{"name":"Voicemail"},"e04d":{"name":"Volume Down"},"e04e":{"name":"Volume Mute"},"e04f":{"name":"Volume Off"},"e050":{"name":"Volume Up"},"e0da":{"name":"Vpn Key"},"e62f":{"name":"Vpn Lock"},"e1bc":{"name":"Wallpaper"},"e002":{"name":"Warning"},"e334":{"name":"Watch"},"e924":{"name":"Watch Later"},"e42c":{"name":"Wb Auto"},"e42d":{"name":"Wb Cloudy"},"e42e":{"name":"Wb Incandescent"},"e436":{"name":"Wb Iridescent"},"e430":{"name":"Wb Sunny"},"e63d":{"name":"Wc"},"e051":{"name":"Web"},"e069":{"name":"Web Asset"},"e16b":{"name":"Weekend"},"e80e":{"name":"Whatshot"},"e1bd":{"name":"Widgets"},"e63e":{"name":"Wifi"},"e1e1":{"name":"Wifi Lock"},"e1e2":{"name":"Wifi Tethering"},"e8f9":{"name":"Work"},"e25b":{"name":"Wrap Text"},"e8fa":{"name":"Youtube Searched For"},"e8ff":{"name":"Zoom In"},"e900":{"name":"Zoom Out"},"e56b":{"name":"Zoom Out Map"}}} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.svg b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.svg new file mode 100755 index 0000000..a449327 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.svg @@ -0,0 +1,2373 @@ + + + + + +Created by FontForge 20151118 at Mon Feb 8 11:58:02 2016 + By shyndman +Copyright 2015 Google, Inc. All Rights Reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.ttf b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.ttf new file mode 100755 index 0000000000000000000000000000000000000000..7015564ad166a3e9d88c82f17829f0cc01ebe29a GIT binary patch literal 128180 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 ohyj3!`#ee%L;DTjx@8!5k5~VH0QmdE^#A|> literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.woff new file mode 100755 index 0000000000000000000000000000000000000000..b648a3eea2d16b6ce783906d6b7d5f251b9eb56c GIT binary patch literal 57620 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

              wF7DI|Kx|V1sBQ9FYs>m5C)C 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 BJ$(QG literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..9fa211252080046a23b2449dbdced6abc2b0bb34 GIT binary patch literal 44300 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 QW8}wPUeo^@jR61v08@RD2LJ#7 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/material-icons.css b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/material-icons.css new file mode 100755 index 0000000..2270c09 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/material-icons.css @@ -0,0 +1,36 @@ +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url(MaterialIcons-Regular.eot); /* For IE6-8 */ + src: local('Material Icons'), + local('MaterialIcons-Regular'), + url(MaterialIcons-Regular.woff2) format('woff2'), + url(MaterialIcons-Regular.woff) format('woff'), + url(MaterialIcons-Regular.ttf) format('truetype'); +} + +.material-icons { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 24px; /* Preferred icon size */ + display: inline-block; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + + /* Support for IE. */ + font-feature-settings: 'liga'; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-Bold.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-Bold.woff new file mode 100755 index 0000000000000000000000000000000000000000..780de6d66c1664caf60348cb4ef6a2cdec9eeff2 GIT binary patch literal 29700 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%0Dw-qHHSKZKL}#_NX?L%i&vk0~KDoH*f7~ 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 E0$VFRIRF3v literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-Bold.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-Bold.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..72a32ab2c209f238afa10adcd38e13e7584d1294 GIT binary patch literal 19940 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 P0ssI2pez7L`~(01d$TWj literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-BoldItalic.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-BoldItalic.woff new file mode 100755 index 0000000000000000000000000000000000000000..20ec4ab2d7429a9428d9086278817ae2b1f05f7f GIT binary patch literal 30876 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-BoldItalic.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-BoldItalic.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..642a2d44187c82a7328e39249658068fd455717d GIT binary patch literal 20320 zcmV)XK&`)bPew8T0RR9108d~54*&oF0U&Gu08an_0RR9100000000000000000000 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%0AHM8N!I{CFWIz^UC@hs)7aKu_L+nJ6eZ33! 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-LightItalic.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-LightItalic.woff new file mode 100755 index 0000000000000000000000000000000000000000..7cc63b7e1a65d56877efd0cc99b2b0cf54641f7c GIT binary patch literal 31636 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-LightItalic.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-LightItalic.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..3f438f80ea0b583676e2002f0c2eac5b08cadcd5 GIT binary patch literal 20436 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 P0000003ieb5reY;DTQ() literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-Regular.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-Regular.woff new file mode 100755 index 0000000000000000000000000000000000000000..40c056ea4cf3e5bcd935eb59735af846be60ccb5 GIT binary patch literal 28472 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-RegularItalic.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-RegularItalic.woff new file mode 100755 index 0000000000000000000000000000000000000000..ddc9c0147cfe04689758caa9cd9c8801f8cd3675 GIT binary patch literal 31120 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 g*)f7qB>Wr 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-RegularItalic.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/skycoin/Skycoin-RegularItalic.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..08d7a518c350c2869b56a794008792e431ba38e5 GIT binary patch literal 20380 zcmV)YK&-!aPew8T0RR9108g9%4*&oF0VI3?08cvr0RR9100000000000000000000 z0000#Mn+Uk92zzoftm&!i&zF=0EaFS2nvGSJc5X33y4qv0X7081CbU4AO(Y32c0$> zOZ5qa-F9zOQ0dL8^KmrYd)&!%o2T3k5vAB(FgsAg#sPq~{!Fv~|NsAUlgSusyWwpB zVk()X^)E#34njPata4;VZF67hV^K>lWeGs1%i43!otoaa1?{Xl#2qu;p!K=IrOKe* z)eI;d3@54%Nyx+Sl9M{#pi8qiNJ8Q)4IePlXGlVV&>y*kI^;2{UAke0#rz@+%8i;D z5>Mef$5}#3fo%2}c>?EF4?e%Gj#7C`uaJbKRNxLN4hN!tp-=dpe7)39-`c?+Txt9& zCflqxlV_pRumkVoGH&9Cs!rv7st4tBP{^yvn*78xd>~m?nWaj`VJ~)1u~}on|5IB9 z#xAoF>qON{1g%k4_v}5PWfB%GJGRKtv2hUwg(p&I6BiXDX@+2%9T+nK6&ni$Y!suB zE}4iRih&q4?Wr?*MlF1oE?lJ>+yA0n_Pe?5SM@FmT8{kzsH;|8+0+x9-dTfa4QDt5 zotT0m1HXW}jH`_6F!bpRbpR`dq6P*mWYId850-#JA~Zsw$Oq#w9)Un3G(n;?QjlA# zbW70x$iWPe!}bKz7HaKFHkZrs{q(oc2!j!8NrVY)Xv60RV zlTXcQZPNSC zIgGTOY)`rDaqjDbBfkVjv(S?_Nng78z**pSfpmpgI@ISZkw5_qN%`vAhAIK*kC^uC`v}`Wm_7Rm2q5@> z=``v3zm(eGrL_upX1?Mfk+HDl_q09fTu^d@>@B5NTzb+eK|&%~8{o4FBXoJJEGc3vC zDMHXyKUlYGYC^7G(+>G<{xa&FjosrMY32qfq+X*GP=uBNvbe=9Zkz#3Yz+W4Lk7qQ zWCZ_`1AEY z0}#Llz$rkPfT#sgryf*8mIlc(<3Y3Hupo>91q84TiHOmKm(v-LcT2ei&qwL69{d>t z%s&7=b)B6R^YHD_gIT0ApiE(9a*AcG8D3gW2^hi&E$!;MgWWy6ehvFk=OM zs0+)(neZ$+nG-GZ^QL?vKSjf|rX?Sui}XIbo`KElZLFK5RGvn*D3&E70!o?i^@Pj}8JSH!5}f7;FoU$xod#GcWf_D~tBJYES&NeCLhbJ&r`Xpgqx8 zbEnIlpaU)Q^NGo{M$4NZ1twQj_k%aOWJ6lKyt8c$(C(blc)BG45y-iKs<%5_9i5&8 zj-TfPUEYNFBb)%|_%w|A?bo1Vn(;xTLuu=a7{w^PZ@L~rFbKoqya`+2K6Vd}sg4-)Kgv9ER0r3G8Xihk?E>9P+5cCim3g9*i35$rP0b@i?K~YJ$ zK8-e$Ew}q`36<<$;k17I*LSw|lB_yR3bB$_Dy%=Cn-946Gp>G%cgfLT>R~FW6^Tn=kz!@&Wo$-VhzOT-Yf*=$Y z4vR>!h`1uLk7Pv3(s_Ukl84YRF|wvnG#2A`(u6b_Q$d!=Ss}-V=Aq=6QUxr_vMlQ} zExT;H1*QcnDk-a|s;O(Frmdx|qpP0=U}$6DfCCW}21g)K=*$Q#I6Q$!B2%a|I)fP&Yz~*l7YHM& ztf`$w^r{ zWFjj$d4=6Ys$^F|HP@`_Ycz&tv_gA#2kVM@RsD;DPk`+X0igTfv*nEtzp&5RLeyD{$6ep%E8f((5MXR=Y`{wlQhsApJ z={JxDH)qJO5u=t`X1Otct;ctwGHp1#5B?z?Vd0n)>D1<&anAX4aX(y6_c!OE8IRMG z{qW3lFTM8Gdvm_|;aBmeih>FyfmHKnNgbVJv?T}U;z_Y!sTS0T7P%8NxU;DLWtCM*4Bcjpt?eD+s*Vcoh*z}+B5ZT0Vo>fiOy=x8 zrEdigbF-@onOlV_*01KEo+zD6HQxEqkz8_*t*=y=H`pxh5ng}3Kv<~m!f|fRBW`Xj zt|TQT-CD3195F5vCQXrL#;mqyIjb#(RX zlMc<5g{74>00;s@pfEHBi^CI$WD1o=&jv9Et8UvI#pNLc;Dl%>430pe(7}QylBslN zSUEc!ad~`!@X=F)TPaSa5)CbVHvBsyOw25-Y}xM38Q~Uh00aaCb`cM)?bYE`VQ{q& z#4ji;`k7<##i>MW$sr{ZITX603?AK8>1B5HdNe{awRCM={XB?oNQ^KxFN& zvL^@S$hPy=p^;Lh)@XJ57{h%PLeBqSlFY*kD;;J{YoPTIQrg_8BKXl0f;Wb+soi5^1U#J9!X zp|xqB{+)Y}UF+)&K+xuLjvwwS$$0z`bh!RE_qr#IaMh&Bm z(Ev0NEkFm*1@r&|zz{GJ%@{BNOaU{%9Iyne0PEF}z;>L*Sv0n~;M^e($P@B{ydfW+ zd?7!`9|}MMp&*Du!B7Yk3WY%kg(DG|NF)jujf)|QB@ssyzxo*oMxv2qBpWG4s*x@k zk||k|Ejf}ad6F*$QfO0TQ*2XWQ~LUo3RI#B)u=%&>QIjcG@=R3XhAF5(2fptq6^*V zK`;6+fI(x(7&b6Ao9GLseN068!h$b)%60n7)wp+HcCfLInsds1TtI6(Mw>Vv`Rqu_Q@KEorjZs>>P7X#29%FCqGG%WmE+BdZl2gemPvY9y{$f0U#p)*)`0>iT-bIc2RIRUjN7=6 z$9Rs{cn>4ZWR0BNIjz_#9MsCF!VVdS?TDj}r*r5+JPpsi^x9kReT>ie?uTFg6#uFu zWE501wDg?ZyZ{gcmIxJvd2L*mjEyo}4h7ZdMhy2cmZ^DtiETt%dxt$$ou(h6Izd}k z=r|oWnUf7qOHD-~j!J=NNw3MDSJ zC??c;+X`x2uPYae!MKw#ZzSku7&)^3qwHG54cv0)_3Bc@UEKH3(z&TTh4TOo-Mz*zmadW(!04C(t1|=~>bmJ80YV~me>5rqvS)Ppb%s)9n5t)Nwf~ccqtPg?rS{1% z<%2~&)z6S$B=1`uKQqYuG$GTb%f0;a^Qo}PFfB6<54!sg7^iLI{H;qMe~*`VF=x7) zaR_4R+jm+bdm`AIy?^_p?Hw!zg)gCd*o8yuE}V{pg=qX$*sYwUR$j0}1A`D4?6zgK zcMnL6yZ5F&t~smcr8&0mjjY8CN-|iRt6VrS zPw$Dmofs3rGt10f&|Gtglkd zxTR{eL~2c{7StN@EW`}sCo9Prn>`?B|ypEiyIK$y{0TUP8FF?q@i_+DNHD`6;};NUkalt1=3&m|WDr4m`q(Is0!tQPXWl9poC=I4ABFYdKL$50{r5Mv(nN z(`dJ5m_M);2d|uv_`#KKbC?r*5^ILqjxUcbfr2`oRK&r2-vXu5@)9=$h)Hl}aX8AF zNR70ezEN5#xRD`fZ!J=X1wt$)vB~mc)20vCKU|~Iq47Ld9kcN_bB8|rdC~cx*A8)A z-fIQTP65*%Pejhfn90Nc)C(8al#aRWe#N0o{N(-oudvZUp;Q5C zjaKKTw7A{mxaGk~ysMaz=u+;s6p35`$aDe8=|Dxs<(J-RmO6n7AXCL!=sOae!;{={ zig&~`|L}~koOL^5&YeSRUPKU6T$I2Lk`xc~WElvBtIFZ;u|3XnG>ca8u&9Vr-y~Gmf{ZOQRZ6$qhYogw(O;&h$; zbTgYginwgf^Ynv5srY<5Ld-sX-6O#J)`pl<=;t!mxm~2J6hT z+s#IY(_*1>f==2)F%)-fZc1*(y>U@C!l^=#>Pw5;4jM!SK%fOArwA1~iBdXKJ#_*V zfX<9L(02@phfhi61Nn%1%HcCwd2T=A!pxy{X;e8VUOQoj#)5}=1RaFJRjqJ%(zGMR zI61&X-#){_adzZwEh++@A$L{4f_Q5mDHfy3niDKLS^_}bQLlxt7Rt{>qiUpTeS_I% zcObDXU687ft}~u)W(hCivN@NJAY{*(4S;bN%QcZ2TpiFD2-b{N{wx@^7OS@qY<8N< zV}_?*aJ)q0>@^7&pCrTie)quyza4VN!Bs*L4j#w0%05C<4$Jlr^iso*sx*GygK+5T zm0n(DZUXSgkR4(^KW3C~XQTZ1tB%MoXW8VxE9@(Eb9U6Jo2-7L6ir&ELjXh{ZTth! zCcamMpEr}H*6K}6K0ola)9|LI|GOQ(AYdQm27=%h3zQ)GKYMcmh-Wc=A=az@-GKy9 z)$E5#_CQ(30W$Oeh3Pn0=xIVg^Z({!QE*74$e>rMMw2dsmaAIdxR$%hgXOXE+~H?8 z1qzIN_if(><;3C3efM55;u*u?kJl{N?>_~UJ1bT!dGSC(q@hkxg`LPrkT0xw6{L#h zms?TCavX$dvOq!DK>^!;yp;=!l&Ds!ETxsTpz=IH*zz#ayxf&H}^mp$#4c-8zH$L_VWOx5ma-?%e<-uNqkDRq7ORFI5{CggqN9Io3Eyh8Z{rUO){Jrnd$G09|dt8tpZk*UL zN_Z6UDDV+v=Kp=&&6)J6{qM66I`6mLueVUGN(<=lMEpy*chPiN5N>a)Y61KMW&426 zOu3L+EcR63Lb@s9#fyFSL~NqOt_k&TUY89L3@_xj@^az-eMX8BE#@@Ojy=YKBPY(t zD5z-Y7?@btIJkKD1cXGyB&1}L$jz5bA%#*Z6}2=P>3|OzIRy<}V+(UjYbyW<0*1m6 za3l(Y!{UhqDuqVxQ^mA0>B_6ZO5f>g?yuZN%IeqbSEG8pS6;WOiU&h|Q3LoPi^)*X zfJ?*5eN|h2z`K-ATkKXcWXqwI+5Y-jU3h9T2e-T2$mc2-(J3%Gf4vh*@+zuo%39hs zd>I-U_#co}l!%z5s**?v0~*5dlH&3QF2~cq&-K>^0J^e)9@Bk~GS2p>6_oYa$PCJO zqY8{nz5;qhJTdh0uva93^)fN|Scw!M8BY)~IJ%0*uh@Mi6dc)H0$`;NI{74?jLsRh z3IG8h;WGeH9)bY*m5h={qo{+_+eo;$CuYf)qf(IPr=Ka*J%QGFewS)E9%IF}0#J4|h-+$Q*EXH?5&Ow6Y=m)k+f$k(>6WDRs zbSr53LJTO>6!-;mQ<-*0)X@JI#*qjq=g>;SfQZ^El3$i(Lk!7HT2Sl_)j>q9R+?MC zICpe{SS=yOTk!Kv#dGi z-F-K3O8x+xr1P2d)pvW4XY#|(8cE}U5Rcm%Sntp{Am6DqK|>|E4J(rYv>D&|L7KB@ z^6*B-93@9z@^X*T+#iEoc(W4D^5Cr2)$E5SGhXn;7k<6{zDp8ti0y96{npypfbs5< ze#0i%SAKelj9jP)T$=(A0_)KTfedk8e_O+eCLugprWf4`xGW1U9W>FLI>}RYX|!>V z_^gp2IhB`Arc5g(PhNp#bHDF>B~9Dm zb!dOrC#38A{6s1y0@Y@0sE-dj%Mu{9JeKAe0t}QNfuhDvj#w>OrEQD;8lljA#FfY{ ziXdif&xhZ#s*mqh3xnBuvHvAsjnZf)&U`3&x3 zegN>QGm-NQD&S}$piZ*U;%;l8SRjSe8|lUgeAc;wN(<@~$9+D_Hj0W$&ORG!QKJqM z5mhYJ!eCQNB2n=&@>oH|6`QeTyegQx0!zxWnx%4Hr`>)IfXG8~l*MWi%+jdSK9ym( zhOAmL#S=u_ZIfa!YfaUBg5^Hd^Eg{57#j9iNh<7M>6vRF7r^7$@ zyzcgUc(he61x83gG&L|wN0{gZdJ7w{Sl}A~EEW}1Cf={UPMFkq#%(9dS$}Y~P;blu z+er#kM5Q*6dC%K=u!;bBNx{NRv#^Ss7&*FPIlv>s)dE^w(SvHY;e{Syr`;im)|)(U zw(DSEq&UsSW+OPVzS5kXI-Z1NEsZCh0!*9?^Ay~NCmzoT;zr5=Ty2Y<#9~rwU)n$f zizS_2zx6L67TW2~;;`-QEDJcA2eF<>RsxP7-{Sc%R}19$L1Yyw(K$gknoZIHoLy_2 z?K^Z(K+3SAq=~76BWTukdKPkA8dbyAhSg{Yd)px~Ul;Za&|=6JAtOkem!>|^QZ;A4IPU^ z*JMloYp-72EXR4qsyJ*x#Y`WzwSgHmF#C@dBwmFz>|kKeW=1~f%kK3|3q z+{O`THM&tYP+v;&_VKJY$lLr%p{-jDj>11tfh4pYm2C{22}1O%?$5+X9Int@2!;mR za!DN^Jb~W?zfe0K&b%CU(i_I-tp^YmHh)+}-`~%rl&L!H-MtorDSJ{Bq?QN(pB*3C6>~uc)dH>m+C93#`>;{UmN9pN2BHm^;vKR#i zo3eph$vD_T$?^?|0L+2hglw`-I7oZzPnnFGmP!m3z~!`DOFnx}%o7cDCOl$n?Qhy8VX` zjf5K^ILh-lFk@mBVhg&4niaNNVduHKGWn@mV@KhVSRfcW1H|+-24qhH(algLm7Q>v z9Q2^%1Ho!sNY{)Ug!7hCE}CWH&ujC2sqvipAOO7kSfS+>N?<8-$%lyx<+Qpg+I-V) z|H`BJN|jv>P}zMk5eCqAs$eYRgl|m=W9?XX3vlNdUKLEu$13L3JkUjk`IMmRK?a3j z9H9mPy4AFif&|WUeeBq|Q;9?In&yrX3Xt@)a6t$~O52ov&M{y6{hXY!B7=>d3n8~F} z6A#HW#0Lb?XT}HEtxcVhOm07wdWDo;T5q(#12HczS_*v=O`SDkQAyaq?`0ndCvRv& z4;yq#9q19$X@y<81$0t4skn&|F6c~NHyMwFR7a?c^I~CEZ40qXh)SLcFyR^LfrAOnQm59e5^RLgOZ5@F zRtHcQmkX+}zTDy$MExATUP3QzNw9#llc$`|OT7!tF+F|T;PRa(MHu1gj2;dwAnoeW zGzKu4zQM=LwSh=Ak0sk66`YguC>3mR8k=!N5Yh|yj#v=1nNoWirke9vn&xnk8wusk zFMC(|t%D$v2x9o~GAa#Fwv}pJV0Ipy29Z*U+rgQcQpKK~n8%vYOgx(Hsr-mGj;fEd z6HaSlS30bXYa0m%(IwELC3)ICV{e$!NTm9MGZz^SVNMH5<+`eK#Lk&spVV67$}595 z+XJ%Lt-&-@M+{Zif%`6j-RJhiCVKs*1gs@Nq?*TV@%V573TL`Hmvd$osf&&ookl#8 zU>QEEelPS7H(H=8c(P@i1x>crZeWx}18ATvd4diZtrR?&1 z+Q$ClOGJc>P1)dV#bH|{9;k>btVXcq3!W& zC|Fj;&T-5%O}-gE%be;*FQ$W*_4r)6CaE-u-bodxBkkc}lDRX2Ll#{nz${$|98LSb z$h0{p@B1_WJ39qgAsjw4Iq1e;7^_A)49RYH1Qk@ukbLR*vM9f76ZDU#Mq;gjIlipO z1|fJ;8j*M)FlG@RKKk>|hftj~5HhMc+u~i8e*~e{rfa$Aq!;Kuc$?XI0`M~X1<-|F z=`=YF>P{4X6*z1ox% z^KUWtieT_+t>TaBJL=%9%uPwp4=28y5e=iBeOj}*F<%pXP*o?1+0i6ITes2G zixvVM0^82PG~8p=HmtIMQhJW^VZtaKK+S|}?BC!Vz?l4i)6j(}G$e2$Q<#yxbZ5Xb z#p#dW!SOAc5FoSeS&uvTlb>ms>G$vlCSgo?gwyjJYEM0#(5ZH6u^P^5>*8pFVxgc! z&Gi1fY;@ryB*aOiq7R%}1cEXrlj<9#j$V1CZx@q#KIjXbDH7AH36-f+=6e(7UdYu1 z72$yrPsrCgac}I#a*kdcbhd50n|_BA!N840C$0>=&^hU4hofG8kK{YLb*OG^e(*N#0gY4>u-L;5+|RUm*$ij z8h>7XK=PLC%lgPe;`eWm#5|9c7^!EO3L~UJ&zL`o9iuguEKJ9F?jo6D2jwc3t>U&qPF(h_aZh;t?LBXzY2VZ8H;$3iR<8NqdR4(A3bcUvb%=8F@}T{ zk1a{AqI! zwI0Hxo1HcTo%dYd`MuL%iI{iIhhjSx9YNbE=g*p`&ut(X#2zaOKc-@|b9%eka7Cfl zq8ug!<#0vS{)^I3C;y-U#yJc!OO_GNClb8NSJ8bp;Ala-Vx7psHZRStP;6aIWK{}6 zMEGErx^47;tvC@uQc;#P&sLviS5)W#)*JhN!ucN#oB43OY$CBS%vN>v}d{tma0E zDP+Zgtyim~-OT|6pKxPw=pugAd;IA}S^jML}~pq;Cj!$Q1#<;eg*zViIKEHXHc zE)H_!t_f$>(y-JrUD-NaX*=GTGfZ$912b1Pp(ayMlbhg*O>QM}d(J>xTDtN#9VoGA zYatqN+)@8h6zPu`^dL7ol+O+n zWbRYZYYf^f3fOC&;_l2_AY>{^OQjhLtIwT)Ak-5UBxjq+TofwsVBmaURv> z$r&2TWt0-H3nKzKDWv4o#5g`DKJc6cY1{TU2z47UpR^#|x=iQpDuSzv-6pl}le^T% zeP4nx0m-f)S%Ogi4D2a)QY>uM=!ORhTKHOSEM7`ZO(DgzIB_xHonhZo4QOlD=!g1s z+3igk^P^}`+UjgxLKE-a#AGEgUcim_s|PKmi&J9|>M2VS7zDENVwq5%$;wHJV#X>n zdpfhy>Z_9&i~_@Ao7pfbIWkr%jt)9l=llG|`cL_;3IR&%5>XvN)}0feqja%oX)Nz1 zQC=L+na#HiHoCw{NCjL8E>~`YE57=Huc+|1;BgNrE~ki|kfhIK;)8hP5R&gLq|FCf z+;}ABAvu8Lf6dLO*Vp?e(W9PQPbG?dse)o!ye6%yF-^$VDlj(-oxJcap#-&{{qG%~ z=PqH-UFt7RrQzxM(*C`FhX3V<^BX{>wmL zZ_xVhMqf-D1=m3sT-G6o&0-1jNG^6V;~K*>e;Xs>2x^1x%OQ68EDaZMhhbalzPl;3 zbYY19J~A+z+*n>iqok&^aXp3z`c#n5$gZ^UPdF-%WDk%2zAhNV+>onxxkB!k#W_z zu4!(F9B!ifo-=SY7+gJH8)DlGI5)(wn_u1_z(y?(d`2WZT4BYK-Pb0)fGdB-NQxsf zB0+3EJio#?Eg@~bN*IodTMW)F*9m=Ubg^do{*B6w!m+gI0*IpbF+&z{tdv&4*K7$4 z*?PH5DlIFZP^mQC?d$0+9@J>mn!zQ-Wl5c}?B#DDaC>-5v>&GUUe9qK}L&4O1Nx}dnR5hcv9j-8yy#tl(i<;xO4wcs|JhPUVo z{)&Ysqlk@Bf6=bms9r^|-b4HK?E1^v3zZcjzJ?t~tVERr_%X zej4aqB2T79%GrfJ&03*lt#;~NIow*btRn~2Ol<{XLuQc$&Z20sfewu5>4psI7qjmP z!RL>k3*-j6*a#>WG1~gV3k%<#e!Iw;vZJc7j{p)3`bN|YIBR?`wrx%&1YMFzzbswFO9(!0Ixc4P=O*t$X}OnRsK5_xm2ZQ+yKZaYvB}l z=StR%<8*5Ijtj}6kK0{J!vUIULN^mLGb zCozRRQAwR&V9~U)awk6vJQ-~fNqF+Y`QX6&c)lQ>s#a5iC!;3oMhEp-&CThPBH;2g z$sddP8p7f)n3+OJD zZkwnWby%dqa~grkMm(l+t=;N9oPji&5_A2UlUPyct`A*E0+#o1abe)*J5Lj&?iY%t zs4%wCX^`bq2T3s}yLmu6&o)5*cVS5iaw!F#?_)|2Oocj&VxN>)u29Dkbu?_2TKDIU9Ja0Q6i>(%w5dYiOj z(ry#0p)q)0-zF_my z;7|mDhqFy(4o6gDMV|$2u4K|kF0eKiV3dK8cs+d}zMjpZlH&{d;0mp|k-x@r884AW za)WQ0U3}6l;9H`U8yDIO)MvQzmFhMpyN%=mZn(9eA}S~`hZk%Nj4yjTV7zP4#}VB) ziSndGR$2y|l(fzQkMQUy18jbclsr5cELj?ayGz&}YR%)J{r0+2+eB*~&_rh8+Op+L zNWzKS2lB}EMNC@rT5@Gez11Tj1(3CW-Wc7Yc4aM2rgr2F-u>OZLs7yPs(Pf5Izo<_ z@1SKQ=sT;QTlEtX(ycJiRS{_CUU$7nfH>|b48E&AmehhYvX^Z7+!d60Ru)Gd&#v!L z)wmhXBh*12yFJuEvyr~D)JLOfuJ6;)m;D8GUX+{A)?l+{f9o5tk$_>}HC>oqT z3E{}pD8bj}KyNiL?9Wo0I{51jAIPNog`w35PyV}8^7fcCIO&6IwvJ(E!qu6XXH@iz z?@K4eoA<5G@`!tHdqorb9c3-#3-tEqLuRvsgpvtz>@Ru?F_A*MU)*fSi!#q4Jt&s8 zd7xr|7G2)IssHxmD*C|^^M%D#tdzzok_+d@U0Ik@)GKW`y+juKI-<#ulX?m}Cf5Hi zT~XLM#5r2>=`~d-AuMG;#F->HuJNCxbneSJQ+J%8HE*p?80z(NS>89A%0j3ITJJRA z@K86@m_aW07Nmqwq#`1LNTFik3RqJfHqt+6$cmNxRim`D$;wv=XISOoutR{_(aOp_v-+mbc}-krid0y1zJ^i z+{2)R#5td=8}89G%6nHOJH9bQ&cBJN+)waH&XKROvV%rVRSyOGri2|{`yLBlv3dP@ z8<6-IBCbgSlLAlt^uOf0LxaFtI~2@H?$VZ|Sh08k9@E$)2M`FHuN9V-W!RZ`UAzx| zA3ats_B~&m8I1j?z4Z`G#zIFjXkn2D0`?!)+HA_Gq~`~p)WryqQ8qyGU;V~+ zk~Bo!zfV~o9KG7td{ns@ev`F#maAEP|xNi3tvhwt%Ms@T0 z^x!93JP`FbT6IRPE0jqUFuR<~5+Yd^^X%ib_6+8K$?t>@*vaG8K=>+X*p|JngD<-H z<3eu2xS00B<;4PVV#Cfgk>%Nvvl(#k_h$Hyoc(s7_fC+!{k@INHrnQAN-L58LfSGp z6Rys(7HTPNehs!a5=e2VvdyQUsT?=~FA$U}OQ!d>IPD8-dL9V6nb1tzy;4vJm1HAv zA!PMLogNan(C6yToYzdBCz&tX)a1*l?a&oaq^}y*m z7o>&apsj&B*yk#z>1XsDb+c|Q$g*r-g^|}Uftqa@Nd~?Pf8*Iq=;I>y?cg_v)o5zh z;xH7v9Q0^a;zZOOv716}0;cVKrs74W&f3s~($bo*pPuDJpi zJzke+QrNYL$4?(p`_E+YD`$}7&f=YO%`tL%>X_ub$EUphW&h=G9wj_gTDBEsTc#FS z4R?mZ4~e6lXGzdJ>!duDJPhY02|=gX=>6vyeI;Ij0}j_x1Cs&;D=`|Yrh~?enu7MD zNj}GWC#S`hdKRQD>S3^AplZUAKW=))s6)$woTYyO5V~`6xxKO#D_hb)7xgc!-sR9N zhjW>j*OT7CRJC?05LfCu8+x&ub?sRt zPXI0EaiZ(#L;mZZtXb?7nWCe&%x*?XD}r9&wJ1+M_20{aw$%D79cE&;z-15GMEgk7 zLOLew*1m{^h4Q8fB{KAr46(f&2};^yrGh!<=G=r9fyL@J`v6p!>R4d@@dI^KT)KjO z@xEnaEo$e54Xcuad4@DQjoGHoO#_PdFe%Wg+~zBL>>h=yM`PGpz~6y(s@FP-%&k=Y zE8z;_07pv_OUf-7Sb=rDoKbB&yi{s(ZFj>aEbWGl=|b{hEoeQl4A})TT9s z&1Rc*Dj8Xg<)Cw{KllK)uBp3f=Gl)z`E!=F>qY@j)G=HK?*2rCSAY^YH@jlq4opQY z=;I(7OT*YOJ}4{x#fUYIY;c?xB)Yx;gch?|$SF66`uhHMH_<5l=p%)&M3hANjFyK@ z=+~^OwTH)j%g63(eP{4Ib*$wcK7MW_|3u7KC@nNC66%ml7^twpaeB-r7FnX z(WGBNq%e!?CkIX(?OAAs&52i0X0@BCQOU2pmCUN)QmTYl+>=& z_y##k+ML24FTT2V9(4;$w%*yI*Mx1I(NMA^Xy3SgbT_lZt8KrchO1W`f7$Jh56p6a z0@W#3baCs#Qc9>bgN|P8SX(#4)vD1IC$Ol;9yvCb!#qm0^TMpT1*M~8xj0a4Sc~g+ zbhskI<`)M9eYU&v&9%AL`9@PmRRO66)R;~#2?e%Zwmi`mqC!5*kxj<&U*{TpHwSy1 zZBy0}GP-?$83pPRH_2q=aqF0~=Hs%+ZrYPr%hvVb9^)CvPWpl+uZe2<>+^ z*&v1FHc51JUBEXDZg(AAu`UCz>ALQ_=G2`;W7rxNjH=f=wwD3Ip@{)W54P~~^1GC1 zY~NqL_fG*NG+HF%X#`qosJ}cvRjMjRc%)tf&?R(*K=xhy#+=8yHTCuA88#3q8$5cX z8AY#!p$}CD=i*2Kz5&IFB!7Asg^@^f)3bR||Evw*3=uZ}2S)oHcj%xMz5Ee^P9sDK zIdSNJ&G-5HxO#`UIob6AUqe#q9ElbhEoMi?aTpPSt;Iv)&(1+Eu4pG050s6L2SnwT z^iNgOMA?)VAe{>r@S>yWj8Mwsj~+p!M106$e>~>_$KU?EgA>}xVcNmTn>Ya@zz`7# zINF^7(xlY$Y=}FoEZ9si(tv>i`k2R0Vj$Amz^k0c+$}bpqJ#G)XAY#-A!=07J67hkpk@BREoM}v~YQoOTHE+ zVG}s^=k_QIDWy#pI?0s3dDnTaWiN zKd(S&Ah$M*g^U&7__ALHHf!?Iv)~FWLfSIuJZ~#NR>S7s=+jEO0=qr;HbdSy+ZHID zQ*AeMBYdrRj=iSd)0-$>&Nev<3}ksp35dVL*Q5(H71i?WNF7s`mwM6i2-yfpM7$z+ z>Wk;BUq}Kw61SrK&*y>(nwlfef`I^(=QbOLrZb_!S-rZ=YCk<5ZjMdO#_&=DB$#FA z4-Vc3v{DrZ;EFc_T?yuk;EI+unksqyB8UMg`O2V;)EfC(>G7uy zLA9oda@IN`l&L>~&m;mG;$5H1p)tg#4T-o@ELX*0Bc?Qo*0$jC~P&XC!Y>lz^k z`&Kmw^s5aT6cFTGwKaa}>y^*v()FpE5$dD#TJBDI3~pb$HA_4^YEW9`}N|M@?q_dn@P`)1U`aFSa4$l2mBn+dKnMe1hl(HS$ z#5B;`+K17yHN&5LIXLwL+g5usu=R$Y3?k_mztlK=|B}deKK{xWU2g?wFt5|v11miO ztc7U;l&rlvQj1utr3Q1j4N`>Q5Mq@a%BKMVY2IhBaHu#tnP*LT9ek*en}Lw(u=`_@MGx^Yv67`<+?rRrj+Io#yij z^{&Jf&{I8`+A4$l)^N=t_tAHaRX2>4cW;*Kl+w!7`srGAS9>j)SEKbx_8DL%4J;#L zteexIncLs?(?M!;av;}>x!|q0bM6{4?YzG7H`m8vJ1oaHo7WrWI4?WD2T<6oooC-? zE`OC_dXc^7>2ut1SHsWZP*5oi9P)b=aLroT>eA`jDxjZ5Q&xYyn2r6|d)^=O#74>i zWq1M#*!r;(^o3G()7iOGQ^@(6!%y#c9tv!Rtc6423t8@j3RT67EU&X&)_GOn@=+!x ztC4}}djTQ^JSG9CjoYLc;ks{sM$b)dosMs{6#nrwoZNPmDmiu=5}@F^1{wc%O9G2_ z|4$KpcUSyvax+e+kS%TXH~2mMW;23gYv6XV0$BCf@#|Trau;;8xSG+K(lZz51B|DU z2bNl$IseH!stykooB;@s%D*4Xbvd2YUNj~QobQ9Z4Xcocn(>atxYOckB93+TR0SwH z8#!x!#Pp)(Jl{M6IC3B_PTzUJ@d4dyyIjU+yxvP_j~JIlKx^2*X(J{`bK;|##e%xeC8a)1gv+9{=M$iAdZqMOQK2utHk%KY= z4G{jZAvG(y1XW&9CR^jJjvhE%aRG7>$aWytv2s!SQNg=rz+~)<-^uVX1??TPvSagm zzDO!oSY-Q8&tKe%4@Iwec060DTQJcP^3P}6y zl&>VciQgiUaa?NKcennCWo<5(%}+R!9GkcD86mUtVInaqzt<##shQyQ_MPE#IClx+ ztucNr73|g@0;ijn?OIwIo6Cr-T6f8o;i zqsNm(CM|Xt{>96Nu-5PvGwKpcD{G0bT&Om3i^j+<($6`j!tsI>y14h4P_GLeih>*d zTs;E-Eo%5OXiJNC<3}&=T$};u#=yCqg((A`dOZM&P-RQ{83zDmf)(-vEPV%gdo=^# zC9MZ)a+W%#X2oF+4@eFI!0#X&W(+PIWWK5+Oo`!aIa7+KfP0R-K^DMGkOuIRpQ-UN zUMJ2xPB1Vvf5u%yF#xWvV_u=8K&!4FzsSdriP~0hUx51E+s4g+i5yHhkSRzd)p2wR z=L(d|4hIqknE?QZQZM=xSZnfrEdLudGxOFpDLrsMJbH6e&GndNigQ{E_f~fE*#vVk zBs0akR~NS*Y3#YS8r15*D!sepG1~$64GEWC&kl=2O+k7+yDl7R2FM3HHH2uaiMyP^ zPZ^?r(D2qW2@@k^zOjc*sK~&9Z-ONx6g^B9o`A<~|Ha9Pyw|bsLjU^#QB{D0Eh^Z5 zW4zJh=WKdSf>LZ*f_X^ooaOYSv3pQ9?y0?&R*U_RjfNbSz%w)RLIYUndE*Jati@WV!@jt4^wR~L5g}nonN#F=l;>Lry6Se&L8yH^;YcQW{Re4#UukuRos(x5 z$nP2=aW)+AJ3YiSr*45c$4BEO68xRJhXDZ%6g$ym?f>%}HtM-Hy}FH?G@;8~&4zsR z$zn@%IPRejR@mf!pUqigtFunqCWBVLOw+QQan2>@U2xG0*{-?litTc|H{ho0ZqRw< zjZS*G@)XEdXq6%*ij^u;Zh;DwUaC@~TCIiZOj)f#y+(_?_SOrrnNSv+Gyi#tT--b} ziNebV{0t_G&EfL+0-;-*y@g0Dk;>!>rAn>Q>huOy7z+U$m2$xI~_oL~g!h3MrIQsi>vVNS8q?QkoYtSemDJ3l<8;c{7 z`1TM4nz-6wLVvU9<>VC0-n3~lG8yfi6ssK%6keap*rA4-* zt+BEO05O{V`em>ZjLgUMn$>X_qBIO&wn2!+8BNE8}_#o;ld?Ta_yFk{k%p8r!h+UM|DYIa&k)t`l59&6E@UJ|s73c@9%Ghm$n?(ywuj{fpEelaOy$kO9>EU-aBdO(^^#HyF{Zd{ec>|{V9o<$RX z5t@XFQKm*1TQOzoyv5YgTFx)QtYY~WX6&DKO^?fd%(crYV|guni>CY#xXD!T+@H^s zT>O$PZ+qOby?L>44-#5jD{9rYZY|p?pO^SldPdttsugXFrXfg9Sg%waX7BJ4t+#ng zmFGLAbqH@Wt}LDI60g5`^1^G>T+NriE*?L;nAD1GmocB4I$5%!9vmfxoUBCpR4yl#RyCn^f3FiH>8cwRL#Te#)-u%gbO}-@Y zYKl$&W0a!I$$E95f3RjTHdp->L9-Z}D;GhFvAH{co+23AEEc~(5j2ajxvH-Sn#I`M z5mO=}A|e6+0Koo>00006FEBGRGc${bh=_=sxtcL1^Y?6#yY@e>j`z1_X6E4rMbIq9 L=BmFUX#N5K362DD literal 0 HcmV?d00001 diff --git a/src/gui/static/dist/header.e11f7c6852766b9319d6.png b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/header.png similarity index 100% rename from src/gui/static/dist/header.e11f7c6852766b9319d6.png rename to vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/header.png diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/i18n/en.json b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/i18n/en.json new file mode 100755 index 0000000..74849ce --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/i18n/en.json @@ -0,0 +1,244 @@ +{ + "common": { + "coin-id": "SKY", + "coin-hours": "Coin Hours", + "loading": "Loading...", + "new": "New", + "load": "Load" + }, + + "errors": { + "fetch-version": "Unable to fetch latest release version from Github", + "incorrect-password": "Incorrect password", + "api-disabled": "API disabled", + "no-wallet": "Wallet does not exist", + "no-outputs": "No unspent outputs" + }, + + "title": { + "wallets": "Wallets", + "send": "Send", + "history": "History", + "buy-coin": "Buy Skycoin", + "network": "Networking", + "blockchain": "Blockchain", + "outputs": "Outputs", + "transactions": "Transactions", + "pending-txs": "Pending Transactions", + "backup": "Backup Wallet", + "explorer": "Skycoin Explorer", + "seed": "Wallet Seed", + "qrcode": "QR Code" + }, + + "header": { + "syncing-blocks": "Syncing blocks", + "update1": "Wallet update", + "update2": "available.", + "pending-txs1": "There are some", + "pending-txs2": "pending transactions.", + "pending-txs3": "Data you see may not be updated.", + + "errors": { + "no-connections": "No connections active, your client is not connected to any other nodes!", + "no-backend1": "Cannot reach backend. Please restart the app and/or seek help on our", + "no-backend2": "Telegram.", + "no-backend3": "", + "csrf": "Security vulnerability: CSRF is not working, please exit immediately." + } + }, + + "password": { + "title": "Enter Password", + "label": "Password", + "confirm-label": "Confirm password", + "button": "Proceed" + }, + + "buy": { + "deposit-address": "Choose an address to generate a BTC deposit link for:", + "select-address": "Select address", + "generate": "Generate", + "deposit-location": "Deposit Location", + "deposit-location-desc": "Choose a wallet where you'd like us to deposit your Skycoin after we receive your Bitcoin.", + "make-choice": "Make a choice", + "wallets-desc": "Each time a new wallet and address are selected, a new BTC address is generated. A single Skycoin address can have up to 5 BTC addresses assigned to it.", + "send": "Send Bitcoin", + "send-desc": "Send Bitcoin to the address below. Once received, we will deposit the Skycoin to a new address in the wallet selected above at the current rate of {{ rate }} SKY/BTC.", + "fraction-warning": "Only send multiple of the SKY/BTC rate! Skycoin is sent in whole number; fractional SKY is not sent!", + "receive": "Receive Sky", + "receive-desc": "After receiving your Bitcoin, we'll send you your Skycoin. It may take anywhere between 20 minutes and an hour to receive your SKY.", + "status-button": "Status:", + "check-status-button": "Check Status", + "new-order-button": "New Order" + }, + + "wizard": { + "wallet-desc": "If you don't have a Skycoin wallet, use the generated seed to create a new one. If you already have a wallet, toggle over to \"Load Wallet\" and enter your seed.", + "encrypt-desc": "Increase security of your wallet by encrypting it. By entering a password below, your wallet will be encrypted. Only those with the password will be able access the wallet and remove funds.", + "finish-button": "Finish", + "back-button": "Back", + + "confirm": { + "title": "Safeguard your seed!", + "desc": "We want to make sure that you wrote down your seed and stored it in a safe place. If you forget your seed, you WILL NOT be able to recover your Skycoin wallet!", + "checkbox": "It’s safe, I swear.", + "button": "Continue" + } + }, + + "wallet": { + "new-address": "New Address", + "show-empty": "Show Empty", + "hide-empty": "Hide Empty", + "encrypt": "Encrypt Wallet", + "decrypt": "Decrypt Wallet", + "edit": "Edit Wallet", + "add": "Add Wallet", + "load": "Load Wallet", + "encryption-enabled": "Encryption enabled", + "encryption-disabled": "Encryption disabled", + "wallet": "Wallet", + + "new": { + "create-title": "Create Wallet", + "load-title": "Load Wallet", + "encrypt-title": "Encrypt Wallet", + "name-label": "Name", + "seed-label": "Seed", + "confirm-seed-label": "Confirm seed", + "seed-warning": "Remember this seed! Keep it in a safe place. If you forget your seed, you will not be able to recover your wallet!", + "create-button": "Create", + "load-button": "Load", + "cancel-button": "Cancel", + "12-words": "12 words", + "24-words": "24 words", + "generate-12-seed": "Generate 12 word seed", + "generate-24-seed": "Generate 24 word seed", + "encrypt": "Encrypt wallet", + "encrypt-warning": "We suggest that you encrypt each one of your wallets with a password. If you forget your password, you can reset it with your seed. Make sure you have your seed saved somewhere safe before encrypting your wallet." + }, + + "rename": { + "title": "Rename Wallet", + "name-label": "Name", + "cancel-button": "Cancel", + "rename-button": "Rename" + }, + + "address": { + "copy": "Copy", + "copy-address": "Copy address", + "copied": "Copied!", + "outputs": "Unspent Outputs" + } + }, + + "send": { + "from-label": "Send from", + "to-label": "Send to", + "amount-label": "Amount", + "notes-label": "Notes", + "wallet-label": "Wallet", + "addresses-label": "Addresses", + "addresses-help": "Wallet addresses to send from", + "change-address-label": "Custom change address", + "change-address-help": "Address to receive change. If it's not provided, it will be chosen automatically", + "destinations-label": "Destinations", + "destinations-help1": "Destination addresses and their coins", + "destinations-help2": "Destination addresses, their coins and coin hours", + "hours-allocation-label": "Automatic coin hours allocation", + "options-label": "Options", + "value-label": "Coin hours share factor", + "value-help": "The higher the value, the more coin hours will be sent to outputs", + "preview-button": "Preview", + "send-button": "Send", + "back-button": "Back", + "simple": "Simple", + "advanced": "Advanced" + }, + + "tx": { + "transaction": "Transaction", + "confirm-transaction": "Confirm Transaction", + "from": "From", + "to": "To", + "date": "Date", + "status": "Status", + "coins": "Coins", + "hours": "Hours", + "id": "Tx ID", + "show-more": "Show more", + "hours-sent": "sent", + "hours-burned": "burned", + "inputs": "Inputs", + "outputs": "Outputs", + "confirmed": "Confirmed", + "pending": "Pending", + "current-rate": "Calculated at the current rate" + }, + + "backup": { + "wallet-directory": "Wallet Directory:", + "seed-warning": "BACKUP YOUR SEED. ON PAPER. IN A SAFE PLACE. As long as you have your seed, you can recover your coins.", + "desc": "Use the table below to get seeds from your encrypted wallets.
              To get seeds from unencrypted wallets, open the folder above, open the .wlt files in a text editor and recover the seeds.", + "close-button": "Close", + "wallet": "Wallet Label", + "filename": "Filename", + "seed": "Seed", + "show-seed": "Show seed", + "no-wallets": "No encrypted wallets" + }, + + "blockchain": { + "blocks": "Number of blocks", + "time": "Timestamp of last block", + "hash": "Hash of last block", + "current-supply": "Current SKY supply", + "total-supply": "Total SKY supply", + "current-coinhour-supply": "Current Coin Hours supply", + "total-coinhour-supply": "Total Coin Hours supply" + }, + + "network": { + "peer": "Peer", + "source": "Source", + "block-height": "Block height", + "last-seen": "Last seen", + "last-received": "Last received", + "last-sent": "Last sent", + "in": "Incoming", + "out": "Outgoing", + + "sources": { + "default": "Default peer", + "exchange": "Peer exchange" + } + }, + + "pending-txs": { + "timestamp": "Timestamp", + "txid": "Transaction ID", + "none": "No pending transactions", + "my": "Mine", + "all": "All" + }, + + "history": { + "tx-detail": "Transaction Detail", + "sending": "Sending", + "sent": "Sent", + "received": "Received", + "receiving": "Receiving", + "pending": "Pending", + "no-txs": "You have no transaction history" + }, + + "teller": { + "done": "Completed", + "waiting-confirm": "Waiting for confirmation", + "waiting-deposit": "Waiting for Bitcoin deposit", + "waiting-send": "Waiting to send Skycoin", + "unknown": "Unknown" + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/chevron-right-grey.png b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/chevron-right-grey.png new file mode 100755 index 0000000000000000000000000000000000000000..d0404586d3b59d7fc347d2ebce571979adee4daa GIT binary patch literal 516 zcmeAS@N?(olHy`uVBq!ia0vp^4nXY0!3HFsFT8LSNO2Z;L>4nJh^c}wqi2xH2cRHh zage(c!@6@aFM%AEbVpxD28NCO+IxoAlA6r8R7@o1kMZ&^HLJ~L&nzyQZJ^`= z1;uItx^K%Se7Sf1kwv7>d4KmyZ=W%FtZg`3vPC#-(Gh;tKKb8YAKpC4u#qKxN(Fb~ zpRd;P^!*MC2?+UdXw(Fso{`TcX(b<8z-`QYc$sQ8ua`{Zlo&m0%L^>#s}*{AD? z^$l@N-=1>BH}(D&+{F^juW~~u$8Msc_lCb-P1*;KT1&2C3GWt~Ar!Ojl!8~mUY*i7 zrbD~_To;=5ZhqF$NxRg$uGqEx)2v?My8SXcv;Q<#NjJu$;*YL*lr87~J#)ppTI04I zVQu?&+|t+kdFn~xdH(xRYY$roKI`bP0l+XkK DE0)`_ literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/close-grey.png b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/close-grey.png new file mode 100755 index 0000000000000000000000000000000000000000..2f0ec3b6a5aff94d4f5aeb2e9c8e67df124eb001 GIT binary patch literal 584 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9E$svykh8Km+7D9BhG z$B+ufx3ey09dZzGUB6W`D1M2Q_EfLG z|KD$7>kj2{bKH>HG9_g5TD5X>e&gq7U7NpeIDPKTvaPq@?prX!TH`p2gQXh7DMQA9 zKF)?BABHK(ObcX$8J^By(0DGVa_zP0v(GGV%cKt{_Qb7c7u$UE_sgGi{n#g;)Lx{) z#C?k=LdUMaMy}98rtY6X^P|n*e%nqv?QgJ{ZUIO=Hc?o=C6K~!J-Q?2wGWyO+;gWj?Mu1>-aS@T;j z=nBo^(yv&{vVP))l!}F-kMaVTye<^)y6c{^{pR|O6CSpPtvDSxy+vu^VeW&o6t5SZ z$W+=Ruti#g)9CGK37%gE4|6-Ro)EH#|7>~5^VhoHr#aLXWGOzGt-ur$9V>G@y!N{K z7G^>5|8GC@^ItsrZbE&U+^QWPteDqn7R`uF5#7VNW9gynpeAv~&{MaUsa#;avhwZh z2@awMGIE@}7jSw^YPojxud3o{BcP8h?ANV}zP(#zP1v1C2jPGxe7;)S0k2J1u$h%_Sa}zlh9>mD&0xH4_xdxFTSM_y=CEwcouqn=v|_Wvu_dz1=$jpeTx>D2k#e%1gxHl33ayt}sInA7BwY_lDH|jssShnjM6> z90S&NMt5^htzpSkcepll2yz()Z0s#qTonu!cxOIAi0%z=5g#LHLbnFwiMKT84ZhKF zOGlpnBkKK3?I3lXkO|!xP$d3MFMb(8u*ETDsz5q7j!ot;Svdb{7LooC@RM02@bR$0aX*;dvoI)383Y1k^@DP zBkdaCn(bXpu*i<~5RSBGK%G*@xR_w@Ds#SrBkdSaSA0wr6F3I|lT_dS5)5c6KBmkB z7C)fAG_|(NvQ;22GuIKHBwHQ+(UHa5%sQY)32^NGKl+elK(*K=&YOy7I1<(tkqI0L zgJ^>kWUiXm5zoj@0bZ7--#rAPpJpVdL!S6+bBCJ98L+XFvp&9A4%bt{st^A?KPEe; zk$6VVfb7UvJksm7u?ca)6CU{(Ndrci^A(k)DVmtjvUo<$fF53_&J78lny|JB9>g<} zNiZD&2b{8U9TPl>XJiamMvIi>Iy_7*N?c6vD4vlq;OgvV&uelO6FiG&WDLkAz$1R= zURP#92jUqS1F{K_Yc_w(l}DZlyoTsNJR`Fg*w|mlCP5askCwstE5YIsk7->z)7$_a z=|27z{C4|1+MFjQ^cqCba-_B?6wY`N&oti*^-=cJW^`r_ZfcZU84hiHT&R z?e3gD?QB@R0Q4~c{6h%=KMJeMyqZX5< TDLH|r00000NkvXXu0mjfxK(|? literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/edit-grey.png b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/edit-grey.png new file mode 100755 index 0000000000000000000000000000000000000000..a5cf11e294c5b8bcc7ca298de10ee1b1a5d1f529 GIT binary patch literal 909 zcmV;819JR{P)q}a*iWURs$duREOm@0P!6lyO&aK zz%wUf0E%BI5I49vsXIo1SV}p)29KPC0dc&(QlOS?j>U+$J(II9;EBNvFcE*irwM}^ zP$Pbeb>C2ALhXM9!4&r|Awq0d?Ycpgw+(GASM#N0=XeKnEraVt|SG=X1I- zA%LE#Yx9`lFYCk;)CCGO2sbyy^WfrFoZNsVy+*(b39m5%p080I2`QfYUdk01(pv;H zguTQ-zQgUw2!;KO<5|;n>LMWoaRnCi5&>=6{O>rv#mD&!W|8nmuR~+rnvNDbkASub z@12wvrjdZfO0NsUa0-TWYJh3BH#Gs2deCK8b zc#Qz1U|Fhi5>J#Pp?Wy1u5It(w+V>-o6_0R8v{pl6QDx;nUqVg#G3&a{_~3JeOt{F zmdmvxS|%&kyNV~g8IWaA%+yNV<1dA!lL_^+KzH$k&n6J*JD3kv`Iz0>gs#OC-V6|d zC=5f#<1ofI*MRVl;@^VOBqtx5_XK j!!QiPFbu;m4AaCv4q6|1WvFMd00000NkvXXu0mjf{-uX$ literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/header.png b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/header.png new file mode 100755 index 0000000000000000000000000000000000000000..d73c27344ce322d412519d63590eea4657214d04 GIT binary patch literal 920348 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

              ZAh<`4UBqKKX#{2&)kM&{?Dr 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


              c=wDF8K@V3J8V|*;E|zr-&_aOfi#gymnp-L~Jp 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Ɲ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

              %Yn@>bLVmm=)1v; zoT{j(RUW#09EEo6!MWDR@;PcCQgtwLIn3&GPgT!2a9o_%tc5&LCd$@+ z5SLgSNux45@X4p{OpFw(ws5wD#M0KH3$H6yc)-1Y_ncKI;cyw#aym0H%2tfz(22%7 zxpj`G*l7xiexcEF4N5JNTkejhrPwFDk<@!{bBS z_p)+!rw?mEOsB>Pcc=DKD$h99F0)nQ+uH0rkX6=P?|RxStI~V{=fbzX$?kaC#IkXo zei~mC7z6tht?e?#oSGW8S6-eySX|ZBxvXaMGz&TIIFsnbf1`A5V~3x`Va=)t2fEo` z^ie#0Omk_^tESNMa=8Ag${uV|UG&W_nJ<}Jy3teCI(ks?IPZAJ8K8KO)WN3=nPR=O~LX)e0}QHdvhZ<7m!VnI7e7-X_A-#9O@(Z3=*!E>@4^r z$J5P1uj_-;4*lHWlGFtcCzk_$<0!M`N{=gDtgY-x-L=zN+7{JjNmB}_mQ~7+La3+c zO>_o7`%sesgyowxKw|LLr!js*VFr&E%vp4NERhBF#0kn9q*tkI7&p)eTZA%lI~c((VRd4FXs_J`^Y zrV^bV;x$ab*HaneQqL9{@+Z%6_~dE`Y)C+IKHKtg_hj9&=YGN?yLx^{{AtdP{7hdJ z$SJo6Fs{O_!b?{#q&w^H)2F7m#)^K@{o}d8s2dGar7Lgj&*d%Q7qyQ(CRHtast2Dq ztI$ylqVNXA;TcsUz*~7W=YEKUC;Ey;>O2RaPvox4v#!!}-pQ5SN2 zl~IXJI~52Ey~a)ni12i3{jofmE3CZ@c*-M#8Jfb2-Kz|zi-|~{{#L;~5L_OwX%y$i zB7R_Gv9Au^ynIkXd$+ow#B@oo?-gXaUb|7lCZ)=>VDoTgmG5UouAA!f#SMgIo!RpE zxJ1j7M<?j8=JC$?H+K?Ua~aB}EzqspgAVV#RnevDUK`uXI{ zarauM5?c}K24!v|i{SOb?&IseUyPAFUX-9vL?(Ptp=H@mv{`VK8s5shW+`OGNOhoOdB_ zHXD?)t7@3r7xc$vc(Mnz^)eNz;90p1%pF zvZ9icoI|7OGurf9h+9QGzTv2^p|3H<{?O?gSq>vP94P9Se9k!#b_lP|GbDOCUDk<{*@+Hxi*Z+ymBD?EGwqcZ7mhj>o!moV_Xivbb>Ls0zGqu2Ik zSI!w=ErDG125BH2{cj3oW|Gf31&uSfzFD{V5GqIw-+`Yh(qk+urm%MhnHS_v1{tqa z=Ytpe5Za4XAQDg}-)ZLBuitK?H{Gw#<4rK;aptg4wa4dpZ%&C?f5~L7hcJM$k7)cp z^A)a3%ldP*4y;TRz^wG-+ySr9J&(^**k8wyADake5=;A;%M*e;X{-Nuc~e$cR~Z9_W#wl_P=Q zi!Ty`o=PIBz0tAD9uS?;<*18wgDM=p{cJR=bEXsTp=4&m>r}-usG?Gd0wP#)^#Lg7 z#aKT@sbHqkzB}v?v4Ho|nFo-@Q{rv5UX*aE>IJ?4t=eg6TaK`gguFiQ-ZXD71S#g|H1;D9JH)?!@vjr|@`{|xF!SeUzqQaukA9l|^DBr!7X zE{ThK_}XC?eCo9m#vwYhgpqxzj|)|`ZE!iQqr(U;mo_I0EjJ*gs=wE4IP#AfjHAg< zt%zg^(dEn^8%tnEYm22`Kt&t;$>7S;vHy)O`v1p@9+R$*|4Z*Ww)3f4?*JCZe;lAD z!qr(B&r9C#k8F-QBK%LDsoWT4RVq&&PkTN?`=AL!t)(g3{cJsW)dF~wrFdk>+cBe{ z&Xx3CH_r*9Turr@wtQ2<9~ES+m1(p#s)Cx&%k=&f@*~~%=-|9*k=E2E?!GxE2J<`^ zB_nmtP*c(IJX-zxQ$LnpS`D%KNoc|@(O{s2LY+?tr?Lh^TMvp$Vk7P_yUy0 zmD}}Kzh0~plLPwfStzgZgxC7-Ohx^uhRkLkz(9J${?<0?B-8K7>$>JqeXW+*7`F@Y zZ;<9pUL4HBHgB%R_VrAf8H=cm=PFZgJ4`Hj-VK6N263tgA}lk_4dA9pxR;3Z;gyxW z*refmk85@t+cwMIUcIjD|D+5JBI>jZ!!~=?&h=7g1iOZ|UH?9Q-S3WH#U+w1! zn0VN-9eIjhW@D=t`BT~zuae^(C20x0*hTsyg_7%UGpKYs$z;>0FZid^>wA~ei~2v1 zw3YMUd7~0*{5ax>zg3gK`)V3tKE>}l$g0njFNaz)&8=}ai$X&C7Qu^Fa1}gT9joKq z_i6uLr(NZ)+s&^qE?N)k7zKYl-uyG}uP-15Z(6&@*^8>ngt%s0x`%=gRP~5o_7iOjdDxX-y3P@e>5t;qjB1k`!NG-A)KVzRHPBFgS9k z_?i7!Txi*6{v|fo1W@|cQe6%PqL6<+4`KtNTQej zTsP!h-eBvw33VS&7hDAUP~5||gFK@9Sk%Yirs-Rr1z%z*F}21HRgZ{AWbV%@%(W(3 zKqtpX$*(HJEpu0w^SLMRX`T2c6Uqa)rTnwn5(+$xsJ}bck72q?DMB45_x;^3s<`{< z%sEo#rGsyNtdA8mGPo=Z3Ao3!$GBZ;T!@r98zuR(WNP0^l72hbifM7SbX%1NsxQdwz z(}e;e19N=*$9yu!J38CE%T%P_cuV&5#HecWRlPNl`#vGOQX@(VcEn31sT|o6WVj5B zWl#&h`XH_Ai+!)Uyb~imMOka>W?3O6pDi=AQKYGt4b;UE*)dRnoRzv}Rr%&*`;%{C0kI<;DYMA=ynHHI2ykh6 z=;5l>Oe?fM13n{~i{Xx5eOY?%`i?r#T>=_Nu@0~7KJ@)KzpUBnF=(~(yQJ`6hI7Mv zgsbV#4}P097n^+qTFZhsM|j-kt*1Y$i_2Lhj34s4S<`oXCV|>9YVuXy-_&?NID&Zt zRzchgRU+cb)m}|vNmJWD-8pZ6!K*lrrp)Ssf4>m*hPW!a|F4 zJiWy^(Y3gHvlfD+BZaxVmYjEqKX5>HY3XVY5(6s_im=vyU306)8-Fb433Q@JvElQV z=tOnF-Dx~!kTzkM?kuT&5zxJFvc0kXbWo`Q1Sk!Q@El#oV8qFNr^?86@Z{z#uD{uaZZ==%|5+fAI^kOoyZvAW-sdn%Ap# zBQk$=5oBaloSa*A%^-U@chb~yWUPrAYba}8#D_|_tty|CM(1_}MAqMo(K)QUD;2Ya zd*C72N9jQn7FvQ#!zLwxz$@Tb#W6fvUU8FniF|_mMGlpI<{SryPyHh;(K7Tq*!qUP z;u+xr%GV{v7rC29CE+LkxR&!xa9m|LzFxDqBze~}YmZ4iGoraL(Y2)9`dFitueXq7 zBLBg@E3Rk;S;bo#Q%=BFEU$_i*vOcgXrel}%5;?+@VJ`MH-{&82O}3Dm0-g)J7j{H z$5s-v@co15W~TGh$^(Sy9$BO=C4 znz`1)u5r+dP*Dk66h<*+M72Zq>5&kB4x+PD$tS&&-(MhlKI00X*AS&MGAAwY3Zb*U zf{Jw?^$@L-089BE0`_Lkx#vJrv?gK*dzFNI!}g~&WqyJb&Za2uPrv! z_jl8m<%!9~eaP}-C~1C9aoar1$<@>qfhy{TA0#|MG-K7Sb!bZEE+~Ow`KQ>p2df{7 zNN2nB)wm!GNyRgyLG`0}I^xGj=XCZo;{$yP^+BOT?H;KknIczqTeyfJIGeH5_Xd)q zX>?obE{)h}RT z&dO0-IW}>0ZcikEfZ$9;?A2^-;9eBg%S3fP?qE`^HWYZqtKbp|r_?_(F`=>Ya;6RM z>qNsL5o(C$E+4{8ZPn3M4e-T>&+&b>o&LA@U;QD;K3~ewPt_dpRraaxKv zu$IB)Q-fh`5H92jyf}t_`fO9(IbGFF$Ts@q=v$Y9doc z;YBoh0sYw5Kse@1l9fUUM>%R^UzjJ$&(LL}8*2`Q)#`gkHZ{7nIvl4vl!0Y&u`ZOu z3yGnJPNz@wpEm7(NhJo~xGPbdkq?(?DR5h_k(jX`LzUTOPw}q91|ynoEf9AVnS1(* zo%2ZG=ucyvBc4g5(i)QvE7s167Bvt;wQ{M`(TcUx1Nm(Sj$qcD}aR z_RCv?Y7ZgQ+lPWQ5k29j1&Z%4tpYxUa4_1Ac_mmAWgUo>SIF&-lxzfi%LEsNq+7h?pLQV=rz(I4iRoAW zWk6IHhTaS0@vbPi2p#`H8)_vK+vT^m*I?M0xMomAzd~D)`q_7WAF(l-ej5jC2_^+dxHK_9y#l2R2mm~@o%MN z0e@`8Rdz$GPE>{keNSI4y8CYB8!AwEMCTXXk;)eAqyU-9TzpsthjV|U?)Pew?u2r< z${)9F;!Xf?SJKj%zuYOv(4>tZrUn5hwd-6eVZ&6Qo$+XDGeFF|bNC=)}h5=LQe}wD)*KC$*X!p8$V^qC~ zhb5S|W;AduO$9d6^DOb5Rgi&sLTpV2ZcJ#_Eh z-KoN-5Nge7e>_qq3d8152c)1qyI+1+71>!>twP~6chMkFnzFyeCbiBtlcK@oyYU2E zYQs$!qT_uhTC{jHOnX-B&-fIM6**&CeQ z-!OUs3Gwxq7}>1!_jdQW=INp>N=4A6!40R^O30pzl&$;{*S_aMkK zzi<}C)>m20HO)v#O^Pc{n%nKbl$Y@%v-KM|-@`pHP*c~?FaqbkP_SvTWiq}mQ)&a& zQ@8=UOigtOxv1hAVx7X%F4d#0I*^T1J>OSj#j)iRaNPZ4OC1A?hh|JRLN__ zTUFcKanih9%xly{JU6A&qBB@s3c!qKu3t&@2}-QV2-S`*4BcYk`O>U*8C{^MQ&*Nx z+CL0SwqaqBU>fM@xI9$Wn^T-j^4dONyFd1(Qf>t|;&b=;G+A5$~(iHH~ zP5|H=pdI>rge42Sn%ZYqt>UkyLwdaKQ88v2iQtVv^Qil3TyO~G`#CSS#mUcl;B9$- z&vs~)bC|Jdyt?Y+$HEjS>YiznAcnd>ZpCB#yKOKeL?HVnO-5&vzk|%{44+Ag>RAcg z@NjU+t9~V8mg4=*F1NVVhhG>=cmL*vyImTx#nU+$#TLn|o629VFN|zP53APt9%a1> z6#7Y{}kX;im(M&(pvcdcEt)mtIQ^b4t^FTZV?`HHVX) zIoWC5*wBJT?O z)wfEY2b>18dm5izdKcrlT~J3px}J?(qMv~`#xD8^;vmCO9;_Mj!~W{6S*yDw-`?-g zgVprX3a<`)l^#atB1=x(uuQ$OO>y1C?@(i$P(}j%k*V5Lrx!9^e4caUI$1dEV+fjz z%mwz#;=QVx+2p30?CeuDc?U@AybVuRWKV6ZKfUyuhKh0--{U(|Q~lc``nN1bVmvo{ zsVp1}QB_Max!>Z6k^1cFWUA)Su6;O|;i4F|JzLbZlnVrS;INz09XX+OZ7F+NU$*b^ zW7WU|FHQoI^+oD+!V;Hj4rTVQjcrV5r?te(qFMAV%GG6F zQ%$<(>x!A95odb->O>s`u$mxl>m@eOP_gD>Gka5_g{793Wwrv(v%Ko&uzcZ(yn)}f z`QvsM0~d`C>38^~hLS0g#5?vI7|qusaksfqN+HHIELt{oam#cu1zB-NFa&Djo8qE- zt6}O}p2-AC@~aa=fJ5>iCHU|~WsbXf7uIxTOCh&iZ+FFIAR*A^?#LnThVdAFpPi^`PTT-F9cu`(bkt|tPmLz}jj}q1? zF=}b};s+nRN){Y0v0dyvEI}7ko9f?psQND>mysn))lpCR9$dcX@(&k)8_W)=%M9}TA+GmJW{*B$HL=)ze!!FXvKmc z?$#cQj>jtz$cg!eQ0OUL8Cpy#Rx&!<}rzi(gBF|i%} z8DV3o8F>71(^%Le>I3N8rHmVavS@!|11yxCig1KNE z0x8*`F3(GG^6E#Xx|`Ua6%$rtQ#Fz6eB)QD%yfp^^GZ4)`GpNKDV?zHT|*TR{H-^d9S>)a> zV)5&wa-5|sQ|b-snipvN?HkhxV_hky@^Y&EhbQazJ>4puR-sme+;F2D&pOVRI%-(9HO$xn39b@mfwoXf0{Ji2liW)&nE5&EJcRUTb! z)ij~OmcL0^PnXyBmpRU?xUUxB*0q9Df_G0Ol2OS= zdjgaKyLxJ&hi8y``$V0oiO$d$(s)qFG+V;p1X>4j)k4oZc&h*hmRHjTY=uHRqdO@t zwsz{`tiTRZ_6;L7<|20Uob|U9qdUyI$bn-?2^F9CZ+ugH{hDGM$mR>GOFLX%vKX<* zL1fA%c}%91IzGvqPldPh`F)<_QqzthzCzu-zb|fF@-M^s_2ODDA}4&fG<`n$$8`D& z%G{=2Q_HXy5!9GphSKe3jFndl_P zvifOR?0N=a^K_FUCo=R5wHw*O%{m9M88fnXh_Ofosj_rx^Vja5j4u7bOMoSxih_~k zveLe4U!OqE!hF`GRmi4AJ$q=>?84lvrypU+CWH}_IrAJBG*uW8S~SlJBu>7%vMi5?zV{BlRaKqKdGK$9f z-L7l;k5$Gq;1Pju+5HD(3bohFHG>=>wLxvEnJu(xqUHH*p{R!wFM~uadTR%jK)V}o z?+Bq48|i?l+Za z9A|yb(CO`xEK#qhcIGO`D6aSH)Tw}!_NFtLa-Br7OHrRnIH#vlAQMj?WkyfVz3L$$ zy)ZNfI**wU0-HJ#8JVy`9_EZ(KmXS64bX5F#=X6cYu4w6R<4vDC9^aFTKcyft5ZFk zN()+oWa=L+oEjV}ze?}Ws(O{9Sn*9o4QO(&@?VD0T6*bBMsBu0V<7GaoPWRX&@NZq zUDdK{dSu3lrl$+`go~>jcBs#IDsCYz`t!;XBfQ#OLIZF9eD!;89L&yoRMZ2>!lwD) z>{jX-lVSABF`{9oWnj8yOmT7j@f6)D@h79z5%QvV)cPoz+o$Q&VNcOoD5~RN>QmhK zIck;f=_vo{t9qq;x|U7fI2mywUA+GxmRi%?YM>l-1zJbEnYX!1d+7LPK|M^DRNUY_ zdwV3lS^tpv#I&M5qW)%H)%}P*u9K&<9~*`HL1e9JEnalSvgQCUnLd?O^uw-!#VG$D zZ}0ilw|Rg2rUJLK)w}m3m;0VJbf>aGf!kQ0KFW>IRc=6+YA(4+N}2K zG;V%V3#!Rb@CHe(9f8pJmca%%OJ$gY3-rE1upZOfX5~QlL*#iGN;PTQ1x=G`IDQ9s zvLh+y{2(fciL-X!`M38$1qy_6%(ga{76S}EdG~po#@pY59l`MutKm$<QETl0o|LRlPVCe(_s_4g^O&W2#9~)=CXo+}V~5+~f8>((oXZmg^`9 zTY3pt%hsk}N~~z4_wTr=oZswxux3IGcDx7*YmC>8Da|y9@1If8o5!5C#)r(dh3%$w zpPe{)1Zre1Mu?ZNr<(b=HvV+7`fDJu(O>MZ4r*DyGElqBc$-R^Lw_0PklrK$4~uWxk=e@{n$lzMLO z8_rZ3&uu&ljRBUG={`IX5U?8Fo_<5k*AX}t`_rpAzC7_O3UuEl z@3ZqImH1YP{QR}DxEe~Y!8x|>bETG2ct6px1(75jFuN+fDyc6TuA()S6RZLcmmoeb z)*H%nh&094;yQK}xw$3zlA zKaY%8FjRDv{cR3Bxrdp#nb$h|z+AzmltiF{}n@l)m~;KF=NsWp+Xi zmXP*_MhFUDVncJbYay=4NNLOWBZ4QX7`(q`2iOox*OFoA{XKlf8YNx1RCwhrpV-7{ zZMJ;F#e>9_EK?uz39iaOJP9|-ePO)jOmX{=aHSJ43yW9kio7)R3+I0q1p}9zrJgC_ z(FGBArj&blR!sTIE_vEGaF!X-CmwT9?d+Un#k7;8)i-fromkyc^2h231&B$6>Wj&>^x1W_h*tuKLu^lP>d4K*ZtnXZLJV`p zKYNMk8O19X2h^Nzr2;?H4KM)yf>tcp^L5ZZktEY_NC!T-(o$r2F!4MR*XJ_sxJKGE z70m#4?zp#@hE2G>jgIQDv$*beMj z!zeG~>S|;yQIt+OXHHOkk3Fts8_ngj<&(`DXMMcI<4SAZ9{d^C@75AGw{r|`1GCc; z03T!BLZ{@J%C=0LEnER#I;=ueLVud4WMtL9L;`>|=At)xjqL;DcozN&V60!?&hVil z-x79;OO%V!uCKEW>{;}?+*wj|M&W-7M#cX!?S7(Y?$%$UcU2_U49tN4Lgwx_^L*PR zteow7&ODbfJ-vv`#$V5P(i{=IYQLkXe0M$d(Hv`Jqo}YIvSYi|q3hwZ z#E49bhWMJPgAMBp4PF}JcsUQIUm!1Hh4%h{7RH5W?H z=%_mR!{qiPA#}(gT3wRqNk&iAw!0*#QH*Rak8qAV+O zyQB{T%!^rhqMw=v;*$uIKsZiC?mtri9*NCmYefR*0TuKDT!ATj394@Xy^}|scCc7# zz-GX4>X%W}{Ak8titdf5-rvRkqQHqeq=3cecWZINtUx&D+J2K77121HtBK@eU{f1 zzvVlRPEBk<#7=+FFQ*Bymq(eSiR-58cwt3}Q6#*$V)@B5arh6_!vdR#tG*la@+zEUR4)%ni=Ju`bN;V#moDNd5JcNq$9kx4OlrJ%#W7`9zGqb@Q2P=QRc;?`JMK zdI)M!tj3Im&C(v#W)U`@4Wdy1s^~pT1*-VX{fql%ydVZ^suQ&jT{JQQ3e3(6#rDrz zpX6w1qZ7~~iR@3^5Mc?U;AWFat!y&eFctSp{h}f)Q;mazPFaq{&8Tsb{c8j$!HQD~ zMcQ=%Vf8g$y*jw@fTGHAkd4HorN~HkShx3z=FUay#Q9t|zHu6`IPLzpX9L^cRjFmf ztrN@0=KO2EznH#cBEn6u#m~djSq40E{aI?+H?iF(r@1yN%g-27;0`!ED|$sQxEd2aAJ%Ft2f&-6YiqF4KX0O@_6r zkfSh43)i}XhStO0+j#GA2ZexbIQ?(5{@7A?Sy2lP{%y57qnA0oXYU6P`>On?8>a&~ zybN31<0>|D(Ip^y_xve;aVxjly$t1F`l>2$*UL+8`D~KDEie6{N*Gy!Gu3ftV}(kp z%vN0qbXNgXJMq+hD&tJ`~KQob(sv}a+c z+aVeXe!2q%PGx$MnW3`-QN?T;6H}|CBc7LsKE$So-C4R1lHrDf&NTDR2I6G~GhA)qc zxl03^Ea~QcKwlaDZWVZg(C!fI-N?_omm8Tk*LUOc`zoSmhU?|Ba1A?<6(I8*W6y5E zH8J=;mWt}HpA&~rmgd~jUbRD^K7BTm-R(IO889oXgxPevm#Zcmh1lU$(4C)E2&O+! zgb9dpVmzMzi(nv>9g!c5BRzS|J16%ro;ZVm(2xnm+Gd7FHFqsGt0hGdFUT1 zyrb!HXOmweX<$M~aw)?N1h$~v1ZV;DKWkYmQ7zB3-Hx}(RVVPk=o8#7?Dv5a&2??O z6KBdgV=0$)x9n0K_q5M5dkIzvirUmh-(XKF-GHqYZ`u~iaPT|$GE zVX0S8rv_E*xLQ9xUC*+AdX|y?C(vXbf}Gs9-Nfh)LCcVmx)s0`2$yO%!A>2iI+YKc zjFSU%lTXU}PFa=rymR0Ee43*slaqg#^zMa3zbW*6#zkh$IkKlQSNMw|^)u`1IZ7YG zbb~WSa9?(Di%9b&^_L4L%Q9W^jPu`fypKQOPUJlu^c=TP`vVf>c%8xoT zPyeUcD&f#`vIIUz^11Y18qgDmeaU%RG2L1-`t$sSCtUQTCDo;L;2fLG2DI`m1jqnd z^XIEeB>JXJLtfZ{dbs8=LrbHXWJFFJ-|AK2kbBxQnr}*Y%>1+rFd}H?W%a)obbo7Q zFPzPWxmgRGx6CA%} zW~W6j`pIZ+^{<9C3_L5Btf@NVNnbgTeOSsTm1Ox?y&R@JNtE~AdRO= zAXjdh88B>@skb-Nc+ltSUeZaVzC^v}3#9b&X0Bb9v?qeJOf$UPDM24z2R>pCz zNQ`fK?cJHnKF}QG!v@V{JbCP-FIW+atFGfv9%>up+3hvVmYfnMQ6R;?uGu%Hj?Vd? z2ri9_2-i#|v(l&6N#sfmIIiK1Y+5jFo@;v}5F>Y?a=39idbZuPE+bZPFiD}W($!Qu zK0TxU*phCfX;VJwde5PsjFa@}itbcMAv2;1cw!ShJ*aj+Q<8v$J1e&K+m>W|4nFYs z8z$zo;0DSti}4#*4y*_fP{18g~O+Q+igW^-vU(T(pKUNd=FC7@jMcegO;ZVn) zOH4zX&Dff+R@?JT7vzc*Y*()wG;ZSXHOn@=q8p6cUq7YF2hiLF!cXch$o zcQxUfwI~;0rV&cmW$VeHh3=GsMV%JxvMrv$rzM=ZulD<`cTm(Cvf)UvThzFMH3Vu< zvMi_+J4kdH>BV}`a2M?5Qd~{PVK-+hJDX}|&}U~BC!=roYSq3e1ct-Oh zf6wpME5&)JILN4>Ez`fRIL#5>i#q*wJUWC>BAss~-Eve2oY_aC13lkbCApT>^}0a4 zar3VCH3Kd5yr7xfCSpcTM`aX1jKlH)o1nk2kCri1Qit( z2Nl&S757I^Y3XMU{E6^rj9Jejmo@fx*rDqyxUHvD!vtg?lfhI?d*fr@P8ZTxPu#`6 z)cxZ?;IH~|WBR7@Mxrl1{`FsUB|1$5EuWd!v@yAPx;d9=Dum!w?-9p$*w={o(y0`o zj;_1ZXj_}7dWb1Fz8S50??XesBl*E!`}up5G&$gylf;bpsjNh=D^XveGk3(oW4zC6 z#Ae`H?zVxKk3tUk8dl$iQ`but{WTOiBG1rQpXMCEz}LQWTCJCqc*&pU|L!5dDs!p< zT8Ow3MB+Y)2)G3@$!X6Vc;`K0(|eM24>P-%Sj6fab~<`E@B2PnRD?u#D1ni z&!ELAo@Y9%+3#2wd(k5A-7~EzyE4w%Ff|bfifPX;`IY6yv6&`6l zulBN_gYF@V7@T+DX5rj9W|FNDPTui1dz@YfJ-tX?guSw+^zO7HE&3H$keL^6*53;7 zw=V-&Q-6;%_#O(Tdflo&p_L^smZG@*mz}6O_C$V5hFFHWwU(fq0@5QhG5Q_r=PlR; zBxBu_#b5N-vn!~1Tx*0X^{VjO*}qm7uBQBN%DP^Z<;l+d+0J|d@36HYqYcJ;5VSdXVdUZ*(5zZ+vmP3qnyK%v!||!^%h(250bbIkUuGOF{yc) zLi#cJIMk5)z>Qi5vI>#AX4+pK^Bjk^`Oxk;Bm8x-q$sQe_4$^v-OLqRITtd3w#QH6yFDu~5N^vz3~FpsinHpduLK@gk!E%}^n=hU z#{fmE{6-B`iZbWy)j^Abm7S-3?YYHo7SRjS1#OU+{c1i7;#kD4kJ9tDJp5AWW@E%C zliPPne4CN}Et|7$y4TkB57ke@=q$anS17c~FwFw*^Obnw(7wa)^ktB?Z%;qhXSupv zu~(pDInz(&+@wHlnGJ^002_zjbwk7HB~Ant76_rg6q0RE&F2@p^D%)jK5+#3p6%-k{^pjwk!}DF ze@2v&F1#o>Y!KQ{&YhaMR?ZftXpL%1$&*Nk?ff#JR9EpF`u>Bgt7hAF;c=Vmz?*>B zd0CBD+A@pZ_@6x#tHB2bYx}YL{S=Al6u= zoamtd+4E4D4m9vG_128SY^yOb5U4z%(p4r+T*5`2 zS9ezKkQHVvJm>LcT$Np$<)@+2OSj^N4$5l)3@hnaGx|2?^1meMoByk{T&0K_|Kaaw z{_9!!4}F?qZn=B+ze3Ib33%sU!1RBZJO7Oz-JyJ>|9DycYi0TW=`XjRy}n!cPA7V{AxYG$dm2eP&X!TkcR>ecZp&>l&pVdOg1)E(Q!G4OX;du zI4H5dJd1R7wa`jJWWvujY=}i6Ul8mg&+A-Lo>FMeA}P$-e%S>;{65wTd6Q3e0ybvq z>>qe+$YEYohx@sp~&An-| zMUVC2%?YTzWHnQSfcNx`PMi>R!3;{2KuClf@m+Ukonf-MB~xgfTrf_<>L6@f*FF7r z-gFeDtSfO<7)D-d4F6-}A#Nmlgf|dUZXuZ=LSoaEq9wrJkw4NcOMH zOv6&iWBF9Cn<|~h-F|@*WcfTzj}wD+w;iqzf2d$$^(qDKdKLwSHt#)Q>W5w;G3fP8 zIo_URwofLCoXM$PlbDtLl*WVoPjGKLCU%$R?~9a-BGaw_>si$irWMXCq4==b?)z?p z9CtTBN-Vf_ol7~QIXERq!Q<3Q$9aV|?;-fUn^ljM=Nez-wn8mv(Vb+pL~bXA1w=33 zqi}SZEuS<1`KL*6gW2Fkr0jnAE_yEZaLK}6@;3bAvL$GsZ^1Ue<1Fd6^v0Qj7k%Ea ze$Py}Br)$3AbKOxWZ@+8-ubgY)XNN0n);iqP8C%CHP2jF026+wN)MiqrK)x=%dFWP z=jF#MyD4(5G&}5{dtWh3gLiMZ1rjS(cdkV~-7fwt=QzwZmFY*{DGwQo${;c-pO=pI zsi}8k8}j$E;%%G*(&D0k-}=G5=*gr@aW z-@3YEio!VTI5%V3-`7he7|rgN6X${7WYi{8`iE65I^b?`-^sw`)Y})_H=U`jDEU5c&vDTKdC#WAuY7iw$fAZmt7hl zQ$e?p70SxH%Y|??Mu9rZ8vXqs)tj#HGM3t%Ac-c0i-4o=$D6@*s<}(`h(3NEkIB!= znuK(l3Oq(ie7qTuFMG&6QC?Oc4`CibAWGuWi3$*3RBMH^1xPM^CU-L@Mlt^8&+pC4 zGdxRdF> zRv;Pq2K-^B-J(3G;gRf`S@y`+)0$5!%{d5u_;+6S7cDA@r4>5RkYRSqZOWkwrwLsPgNYWmV9Ao?V_?>ESg*4%acy~+dxJUC2ovyD2 z%a|)bor_gf?K0#$6Kzeoi-sX?_x$2aAHPa?uf!kfmYZT>-7uHCzdCULcjv+(UEnC- z+3z~lQL~In?`6gUxn`jOtu{$Fi`|Qv97|2bgp!qh(Y(jauF9cNgqI)Ad-IavbPkfd@;J*{ULcX&3zhL0YM}Gz40h#P?OhP`h=jN-a|1 zhWiKm`enM0h!~a_YtWnswDP*v)|NzP!Koo?#!`!ygf2))sS(xFSxgH;`UoC*n~;pc zk=*?P;4&J6O}4T@R*+4SiHsjN{WmWG{J@MP~cdoYMyU}8tEHlW(*ex-1j?BdNqq9O4ON0aPPf5$x24VBYx2~$8b}U zl4&Q2vxZgmto~b~Bkqnv{eKaokL*#EIo@@iZm@H|K#K>%AW3)9Iz&dg;tscZVmNW9 zU-mnbCT0LT5^%4N>abDJE#A_4g~%gO$5`Xg=vO<=RcV$s>L{r>@fOr(=>dg5R}?sO zf}1aSt~ooexsIUepxo~&bMtWQsSGS=jhNku*be<9pwhzbc++p$v+RHBNleAb#n6~W z=(h=uY9=iETwE6957m(TNEU(Vz&#RzhtfYuZ}@hl&Z;=Y_QJ$uG-6-eNMA3yJ^DjmAJn~0Md5T!VSI8kNS1hyx6|x%nxJg z)4x8)hR}<~i6sRnsp{x?TC~E#rRHs_kb$Q_NM=Kw64@YLHUKO3!K%6Rmt?$WeZ*$~ z^H|nx+Ko#x)wQ?-Z_kV2GRj#7BRI-=A&Kj#%qF_mnZa)UB<*PW`XB|gBodRcy>=V_ z*i{RyPrSO9pQkxHI+`_TtG?=ESWj`o^b1|Ps&z;I#RJL5uV@h>sj_sY%k_@WcxpL= zsncLzV(07lAGEV4Gd_rTdrDrl8aZs_-SgfT8&EY3!MYzF`${bD&)aNjz_B}adzF&( z>aqAMK-F|k*NWpqbh&_i-h>+DjJaXcOajZ3msen6WX2S4)H}T7*`UBOmuY6pg?aph zYu4Q^^2TuMv(RQh%L5!?6_~M5#d=`0wzYxoA9C(=VB81kHN&aru-_q0hrLs^|=fVE)&Xi zss)=CVfBsKD2#7&X+%1Yg`K#3odsvG<*vg^t0dum=Gi3sKpmG3`RoOKoG;AJYrZZu zwRk|WZu1yBaBq~U%otYh!%`h^DmugOyZDV%?)v6ZV0wOSQz>Mw{)|-yE(9UROZkbL zn+|#()dF}-G@BEKv8n<#O74b3zl@Fq1Kc%~!FPGZX>J}ZCO9gflvv~;;D8RPoGb^g zqp9OfUQsu_z9sf)cXyva9BdcDSuo5jxZ?J?mJyG}{R5 zS0?xtk~`cmA^46%WI#jIJ<&!k{MH*Yq2zEgw3i(sdC_xQPGY!5)|sFq0;7%hxa*tJ z8XnJ8h>ynDwPp3t-*f&@k`$~e@N0F(>PXz=%Ye0iVymQVz zMJemiqxK*ctE)e)hm;4e%cA!xjiX%Kg@<-UvO6vaoqL9*ROzv!3q_2+xtmqU2exz} zb{10N6nalN=Q3Nmiug&eV6T{DM7X?{gQM+reUV=MmIQWQ5nQu>;*;m|dv%6u-DaG=8kL{r{+4>ffsY%DR}-)*?NkK`$sWt5jFu&? zaJ>v1_@{r2_<-F76h5UF$$hW7oD1Rc{%X6%gpl$b>PYHeMg8q^gSTX)(@xMr3qYGMwhh-Umrm4f zw;VkFUj2Q94%+crxdL|G>_bC4c#>=iVYwy&XUXNz?l7|*2nxPxEz_qqSO3c(iAN*4 zT)20sW9P8dD0e2KNs{xP;INw5yU57O{&5|+g5CFJplO=OLfy7s&KwPuGNQWj^w4IV zmdsbxxH+TcV~A@W9uE@*Vt6c-pul!Iy2+HN9UdzW_8cQg=RC8&dD^Bkf1*2MKhBd+ zr;mAWn`vJ(jMt@+g_dUyR3FV@SG;PsE#40m>7_q;{5ar9ZG6WBviZCAZ(nD^8hw91 z_|<3_eCkbIb*A?A0T$>@zHjZT{lr7gWs3ppm64^rP?YKKxT8(u(m3V6l;;vGqL(~# zw2~Z5h*LFv_O2OEIb~kx;~M(e&+yO&!hSy%UV{$?tuG2{R!t?QGdUPg{P*^{!kerIDGR; zLGA%qB7IgYzIa+TR8dmMQn~MDD$2>_rSbUtoZ?p&8XdoE67#6+f8?(>vnCD`w|e9Aov3M#mQ_=w4cvL(vBKr5T2J&9_N++%CyC zVS0|x@-`D3i8eGGm=w&hnvG}tRBCs7XaUy=apV}PbKLRxr|ZH(!Xb9Hp01YE`-Jq z(2g$bHwAlvJdwHD6Csll1$vTPh6ujOpk61Jd9*EHTJLJIC%r62(6=|R?o4C}*7ULx z=sxLrARUHK?wo?l)e_Hawj)H(6bzedqp<=#TK#Tn)>y+_od1E%7^y<#6`2GdjjIUD zjZ@O}IZymaK&sq0E<|<$Nb_rwFB-C^g5`!>Q#~<8pQOw?!N;nfiY<^HMFC`mkoGTnG;0L#iS_tnO1ZWc8oNP#AfR#7? zaUD^XtNIgdY z7a5xfYiJMc-J$K=_`0O1l}gzM@Tf2X+o_)b?^t6)sqtECnt~bj+WK}nX|l9R z$XV}>u2QvFa?BE#D<7)PWB)3KjJFO z$Cql4oo>$(T3t>9lU@nd9taowkEiIrHEI88O#82#^)F|K;wAc@tQMtBjp{#i9ZF>C z|76{x7>E8F%lcR0dibxE=s#wnf2~CSgPQ(NE{h_3-Oc}$|MtxzuGcm_@Axa~bt7K9 zGUbSIjUHjBdN?BIH0lM?7u_dE^yRvF0KSg{o=DBB@ZUSy-{iL|3L&MUD}CDsOaxyy z3b5Nj0FgxUYWd?@ttaellzuc*{+5E&fK-M%s6tulo2owYAM**rtV;U}|KQQ-X)Pya z%gferA0xWeH!5W(nFXVYu(65dSp~n9;&^huWyeKxfRux6R z6D+o7sr6QpsoiY=p7p%1Rq~5TD%nK%pW&%NYMaOlqj>MC=b0lT6&~8Jf`s+g!etnQ z<`yfv$D0-2LRsqK5(e(0kI>yLJlRUOMU#(tMQk)`=*j|`b(FAsw)O3G>uxZsmd*xH3Q_o-EdJ` z$1Jf#?mid$ke_?gDM_2*abu9nk&i!he4Vr}9Yxt|HNbC{mBGLERO6-@D29fhgqQ0> zYu+~Ue*3KB&fi0B1N3qVu*Fvs#*6(4hw031@iXq%0@5d&mMy%XxzBeRVabLv{;C=I z8}H?PPTzT1E~jtwO!fyhkbj-I6RMB(y=976Tt?FCiihi4wn@rG?P3(%yEm1e5Tb3j zRN?a0L>rpv#7s}r>q=TM*NF^GlBNS96nwb`HNBd6!&u<6+bPkOpaX@)=mZ7RS=`vn zvpDp|^}T4e8ToN8wXn_A7UxwdnpnieF4NKb4m<>{doS(;Qgi13VFry`Y znguk@d**Isrl6|R*YcowyDIV4Cq@}{kI!THJsUDTwa;~qZN)uN24}$e6WJs@+DIB+ zu%++HF;Q)vsCD3vI6|1&%k&!pT!4FNCpmh(mu4v+$2kabkMIwos*To1lUT3?e$hW< z;-LG+yXTd;Uvz30TsCG_Ehcahj0$LE;A)?3^}X{eLYSTO?yu>^h%dzi1{TR}tsA0l zQ>U&#16)tcIh{<+69ye`{5d!MEnq_Oz z7Uk1}&`rqFWv6l|LCVXhuGyK=`Yr2%8OU*Kq{v$By4*-4alVc6rZRA9j_=d@nLFAp zKH9DL$vF7(oAb)>(q7WUQ1H@zLma1}HD4HN{?gLpJVLnbO?Gf+tTdK% z6>7UZOI-%GP@pdQ)@zorVxx&kSSmcRgF9cC4mg6= z(vtq#8X9!l8Ypb*0qaK-c_e|s41!XTSvtN)x)_SU@^kZsNi@)s4`m+byYfPk?+a-a zg!!eMV^rn_wh)dw^BpW0Gj)^5{MBSHugeg`s4KE^W>*@2 z&E6kjKH#kP==>K~YMuPytr2_bcpi1KM0z`lKM7R3#!NoX6E|1TyW>#fx6;a58HSL~ zBawUBr2MBf=u)enrH?z~zq9kp4Yo8p6~XfJ5R*m6l=|wF7*Bf}$mxV(dM;a^o{ezw zcEfi?*(-ti-@8}rC%^2HY8B&5e=DQ_+eAGr=K1v2BxxpxW$$cB%k)BMZc0jz;CaAe_)+E;^r_AD(FK>J$HjrHZ zfiB)-G{63+!M%S^qU2QvmTNQ2I@d94qmqLNv`pyje!}HdDj%@hdhgRC9mgj*pL6ug zm3fNS3-Q^Va>4=Wzfy6vhC~_31}yc!4$as^hGxxE2auqZFN`NbiY0lp#G!YOv5bWr zHlN(dWGN-Sq=;DYw*Uy<>z*$zQ};{#u2|c3HOF}6@jp+MQ4#}A6GO&1J8j=g2%7c| zoDK?&1dnFEFT2{nfQI*?B@ZgTZhRTww%-t;6ZDO{QigllfNDS}(RTRwD3qI7jMeqp zi0jWQ+izPw5|aJL_#D-3`G+b)fy1m=M2VZPIKVM5ujUr^_;hUzG=N&@ja3h(4Ommd z3t5sN;tWkuE!f#EPZxv9U_Oo`)1NiR+j)xOBU4qh?$BZh(pGIQ!Pi&(`DoN2{WSMf z$TuE0d%=D}+ni{TCzmhHSuqUiKZ@V%1Y`v%vl6Jks+es0UD6;{B zzi=;;?(}4vnZWG{iSL?*cp20=zvj<3%>ThR3OB5+j}HV*{{Fk<1Yz!)9!)xw8pf4o z@3>|u(Erty-?Jc)zfPCMALb7ayiy*TsWdg+!s^FY-l?s7e24`lXAjTS+4y8$Iz*j_ zgnD_>J({|&@YMH7kd)0uJP+w$wI~BOm-}!^d4JVX0*3j*JTM-S{>y4F(I7(dO~#Ff z&E2{*9IbNGn*`}h@<_RQNudPO!#NlRdc}m(#zvLz{ZL}wDN zJDO4$*x8yBCx#;pQ8Q7d|B>2yj}FNs+)tdRn}MYgUHXhE(9MQZuy<*PMLpRt>vxC=jBJB_&dO4njrSCt zx3+4&_U0~(NlIV&@kzN{x1s9LP;Y4*^yT?wLK&oQGh5qDTUU{PY={00!(FVhhUAZ~ zk$_Ns?L3H(#%}e(w9^*Nc{d$g;WSmAxKs`@ODkiL!_BICI91XxJXu z$`2Z}BSF{}-nF)odg)pR^>d%opefws`p{^c=C)ag4#MU4!jt37P3*vmb&W)fzd}*b zJeabH%gVfgUuZm1|g!=E^C7- z4xCnX#HE5->xmYZ6X(fg7Z**U3!}nl;dwH?+DMQ${zKm{r=7HG%q;OphZSo}I4&<~h1E^8u zya>}bgk%Lx_*O~ApG3(-w0FF*A~OVK>G2LRPoS#q12 zul9^O;lnoXI;+xd=ByMpdl{_PjfO1x8X&78er)%k1Fq`}S^KuLq}Bvb*J-@CKC7h> z!6}3EGnX>c|5BP$f4IU%x@BfcfN`f!ljf5Eg|^j7H81#7$N64@fdo3$kK8xzxwe6* zv!<6e1{OC=7Mj7l8J}XNba`F`J1#`+s{3T5)J8km!eq}%$U`L)q{^6Nqx9&3`}fUF zA!agtSTGO9Yyd>v{%MP=^Vt|TH?(fi9SP2NST?~bD5Y=;;_c_oF{yi3`JcO=fIv^5HuA z{WcQ7HfXNl-t}wOXEJ!S{lMp49RkEwHFtd0Y!t0M-~iW6cYj>(qD=qU_+0d%=YBrN z3tBq5!-hfmmQAHi&j*!e+7n;}Gc~L9qpq!}0l(U$0^y+7(hmV5W}OT&d(6bmi@m7w zpxlOUFRh?0O~5;tEzLusv3Z(8=o}ekCha8>e1{s?K9>9zcL#=d_LOeQd61|{HpYCK z$1*%mubA+4HFQAqFBepIi_M>e`_nUH{6}V_VO>D5b+3sy?-i^e{*&Ip19^>8d4#Yc zpdz4jx(Wk55|SWLiVWMI96c=WJ{~y{6HZQJjkDWheS|Wtj~8V2n5s&ZQFOC8T-{>) z(X3I%ZTh^5;p$0|f{d?dn|Iyj?#jm|SQFKxwjiqnQ--mhao_+)jHN8zNYiIT#j>wl zzHR_q8`+-HWO~RmAQ=sQY1VVxs*4kzmHg*}n^CRO>U_4wH0QmsEjT!&*iZ)WxgdWcy^C(aWsh+T%Tb0rcUCfw-_js%>Db6 z`SsqG#5dqV1|-6a;(vyl#*q|I0^a4q2rf z(@<#K+uc2(_$FEtMed0iz%Pqu9^Uwuv{g($Ckek!t|pS@(+`}E_0>gXVP$da7QPOU zOEaa21-4iQwk7K&yoN5aW_+~|CMB|75>T4b*eaW0I>&i1;<|MURXlA!+Tp9={xO$( zvoO`yS-qLPoN>I&-LZ4m_%IqzsV<{S^@S$%ZGGE0^zw7{YeZuFAgSK`yBdv>U#W{0 zlp;o!Q{F7W8Sii{WO+UuyASWFj_X;Ni@Y%*a-Gc{Btt^a{N6Wba_4uwK*mQWa@s4H z0cBZxUvz%!?hKIbK^oi2fK&uaR*ObJB4Q)%U@h2;mbdW)IFRTERL3;z&hxp03M0Z6 z_6)4KGJyttiJ(A}9D{9z;M~LRcJ#+8d)O_h`cl8nAj#cd=vwvF3|0f3ZZe^A^vk-o1wOK4u-d=Eny(BsXzxbIY~{U4Bd{o&t|K=&v$?8GpgJW!faPpu7Y#y5nok z!qV2nTn3siyn_19)CxYI*p>@=vWI~u))mRBd10*_R#y;8QI6_8GM z+;AFZuW_64+}LkPK}!_j3O6gZ-zuyqBc=&5l9ID)6bz6jOogpPKhVdFnM+0@q5{`8 zSp^KmXz|4Iy_$C-ztMrj5TaW5@arIl~E=KSrRnfaj%II(D`l@67 zmW^&B+w-U?ek0RduWV19uIk!cZi`Nnm;cnM)8#8=t`VHJ=vxXLOid-=A!}1p!k%g; z{~vGf{m%CPuTb+C3@Yq% z4v@|*Yrr{u!)r&3f=v3iZg(ke-ulQQ{}O_@bYIHl^n>Qe7HCKJHGv1)-0ed+9Q?lD z@hXe#OdVKN+q3%GrCuo|`#DnEds~@*UAxX8iR8sw&$I5xLicQrdt23iV6ImR zk1{OF^xk_YUsRA^&LrweG5E!yoLpn)V1yIV;7yOX;S36h3RSPdMTc;gz4s0+4(A`n zeG5$$-wl5J-_#p5-}bl9_qSm9w_o@lBuFKKfAvk*sa_{4DEvQ7z5V}7bN`cid+>k? z1^*WdUjL8S>AyDaPq)9QyeNDuTze&4>k|fBf3u{3jXl4|bC$^B89WCvBZ(kggI34i zynC=Z1DYMduZ8Mm&WP=lF(INC03}xVxYqXVsa24j{kB8qGENN3(QQ74eH9=;UsOq} zs?^Z9OfZ+)Fzpe(v)3fF-YD`mhDc$5q(|?JG7_QF?VbKZ)9f;KBy3fNDG-dSjSEk4 z=Z?O-g0F`xD&ij6z}#De5jrn442tr7_x!XstZA*r8=t?m8&Fgut))A%~4o*`62a#eHK_O8Gk+3ee)=z=k8EN{2#v~VQuc?)mw7cG1( znGK0sES?WcIG3JmIO_#waq*XSxh3@&`Hie6_xr`X?}$WdKr<9|HGM>QaR@2$AnaG5 zm~@6ca3YZ1+~llD=%6OGaICG~J-9wgIu?&Mn8fu0d{>=(%sK@9h1a$2=)OJ;(FIvM z;e6pE&M6pAIZ~x5u{he?-;9j1SIuS|_Vq0sjv8W)PO_LaKz>lRWUC9hqg(E20*}-8dyrsi>al z9r}DM6Rsq)Ni_lkKQUN-(VunS?BKBjtb7MEy{nh-jl9ZSYk$Pch9`aU36DGKQDUDa zyyd4)hGEBD(CI^QQVmlmgcg^VT8ixw5^VwZ$xC&7Q*ftOIa4g}O^% z*akkbn|QgIqx3bF|$^Z1l0sZZ+_~%)=QKZAsJJ&-wRNcu3*+os<#WKC9`pNda zHlCqXWyU0E^+Lz>a>2{kZu{D#%+Y56)33S=na;W!SzDKU0d2LdH_zUJ?}cTPQ+Jymj)wIFy86W|Hq=>2rM48q z)-{6M$lgDD!ut~zFAP*8%x5?8WsxGcj4C<7AWI1V*`t&-Gc_#Ky1!w6=UR}@hjW&x zm|hK`^6OS<_kNH%tS6v%)Aj~&8m`l62S|a`9%H2p0eO%cXkN_D6JqaE`OB{k zS=x{!$`#i!c_H@Yt@svxBzx_4lI%G%wL$qHpWG_r;`Ux8Wpb)|ekhzOh>*lceoY8qH^Rv{T7ctmd=G6Z zv(imX8GxrXZL(3lktwNZ2Vz@hrGlIU$z=~)`js`>Cuiy4?hf(nLr|Qa-0bYOOG9=a zJ426}4d#YrONe-@Q|C`!3%2_DN6^gSps7J`zZrpiL~ntc+!TXG{6G~U74cRopVnEl9C()MW8E(vxHx6bwoKlzHNUq zv&Z?V5B8Ek$I9EsbG$I_@KX1JhRw>`j4^(7Vr96@`LC`VpN;T-bD5Qu!X7@oj_j5; z!f+3$8!cDo_pyFa$A9{btHfV#90@XS)PAZ^8SsAgo{hoF5Mk@z2bK3uIa6RPEG@o! zlH7)BnU)`dP)KZ2}@l+EL!wB^mhVYzMsCoJX+y} z)m)rmiVO+vgU0AjI~zi@GTJaOWVs!3#HW7L{jgvVSr~GU;rD&wIGc}9X&qLeoz+Rb zbC$9mb<*qJdaAcMR#)4!AZnZTnoqdCX<%oi+lU%G5yO!&r#qAwVK=UOeddv(AsJ`A z*oHPNDK3lAN;phbQ4{d}8ku}-jOrS4-xXwHVkw*1^G>TXn#;tqc%+ta_}qeTbEC^R zmA0E@qaTF@)!DZOR5>X#d^t|^*v&0=C!^aL^9#fKzXmuI)zsZKcJA%^Ew28N=ssy- zW3FMo>1-5Z;J#n>cySFWjBub57O-B)(%l%HDzTaR(8WEzoan;npDgzs3E}e{o+yhu zZ>|n)stjjq^~rrZi7P}w*a)yF=@T=M8yFmc$0|Y+T{Cr(lt7hqd!-W3HFBm@LrXk^ zH+$iQkQE;>3DeEclwN90$lw)*8n-l^fNT=%4j*x%82TC_jo`AGTf3H)(5LVJr4Q^; zJX^nZ|H&Py3mbZ!~!_4-D|x=&m{4}AyiT6L=KryL!y{CJmT=k}RnR5^B{ zka^uBj5UvMUOU&_HK>p{TeS*|L>p*5l>I8!#EBd=Y`WWPO%y+1pY=ICNad&p#-;A4 z6SoZ9GFAsa`l>-1d@pWfZEW!7%{>3M58w}m$>rbfy z)ZB!7aZ%9)Cgu!1M()vE5Q%Su0e6GmQDKP4SbxiuQmgAuc#0Ed04+THjhTnuR9vBIbd>FL z?xSTSP)-8KH4QJ_zO+_IgWP7xK^aLbzKi44>k7KM3DMu;4^}y+$1?Q29~`>UZ<7s* z^;jwW{?=?>WaOIa6G4xP&pcgi_d>5M$+M3zoO7=E>fYFsJ)z3wFkpjwXclR(pQpZ= zpJ7-UIJ8X0tK)TVouO-r&-T${cK6qzKdUdluP3>bDXldH)YpBKKR3*ZE`YZvL$a~i ze`szVj4QsXo9+$}j!E_r3K1Wit5qoLe0JYv{(!V5u~vl`Sq$8d3G-CI^pe*h$pXEk z8KzB+j;GmCagTqb#!IkqvWn?a?YSYqY$3RHmR> zZinY0^+kwq8bkri1Fz3q+;t=?EbCBs_uKfID$uBYjXn33*%hP720c>#m0$D1qe`0Uo~pXASxzJ%v4WM1PXudsTc=sA?2LpN?gL8 z5>m)-J9_{MUcS(VC1ty_xuJ$L(5kWZP7L&G_1v-bjLR>ftgg5gfA5KJmp7o1C%^~M zR42q|&{5_<2jmcWAl6+te-!v2o7G(jBJ+Oy2I_8wDsxoO55%edm7eKe+m22xcsC?2 zQV$O9Z2_nUyKtC0eil=`CHC{OL&$XyPsn}Z{dO_jC6m!*8qW7MX&5<9Z4OiYnsOskCtEQ@LS(r!DE6keB%)tE4XjCsND1=R*t@B^2^P7 zzht#`0DHyS9J=wX+bvt(8}a6f8W*40;??@mg>q?oqA1O6l5Mos z)wvHfU+6a8!PU!v?>%_0T|@BFYxMRhz0;Gs@qNp@uyd(IhJd0A31YX-@XwB%lR0$c z?ba-5;|F?o____xNcXXCf>X3MOXC*Y{TxP>85J(+I^SoceTzs_WycYn?Is5{X1|uS zZni&(syc;7$%s)Ds}sRa2q~V+!@u3MUB;H|y*iAF_eM>oY0ZV|8j=nK!3OMt6~M}Q z$_rymP@l^o4AMGbOgDD}=#UG?LT3Dt? zSur#vedgL1yPkVq4l=M7R=SNgb6>#~78_?YPc$@L5}m18Z>x8;l8w%kZmi^WzvaQ7 z`OF6?>VsU~1Z9j`3M%l)pWC&zV$BR<@#!3E8UJ+0{ro{rKJ3Zb&|o|BClMS%&A!CJ-|>>Jm?#jNVu3ZclZLF@&Gd6D~@3-70xU53k}yL*H}1hFS`9h@2f7N(nd<2Ir6?$7nTn!b$^{ui6_*Q?!ly@HD~I45hEp*E+fNh z-VMUoK2_gc$9S_cb>D+0Is;q8U83Mmhz&sHM7fG*f6rv1=$>o!VIwREJ5nZWI6ln^ zb*nfPcgFY$1#Un3Vo~qrzG^9d2F!Jm9UgZ~I^WFh)zS6xZPZ1vFMMuXjuH4&F5(>K zC-P>BPlM&z8vB?>yshbRsOf#BJNqS@rs1vY)j02z%O$a+?3GJG#yQMVk~=r06&Xcx@)N`+|OQ4eDEG-~dfh4de!1RnEr43uZq zBu>1{54p};ZmF&Ux+?#2De-4q2fKP1V$xUYi)Vb!El!CpSVafPPHGEEva{iip@*X0 zE<1Iz;^Ba^Ai!{p|J0Yq6HH=E^_A6I2L-#U$qN0oQ+oX2X%lmvs!tB{vM^Uy%}C#u z*O+SjZev<6&Tn(Mdw`agdzaXAQJ8yJZp0_;0MiONp~z3w(gVc`X#?%4a6=}&fx)rM zSWWzJabeh0y*&s?`zZwJJ30<{8jYn$=xkkzj>?anuJe6Rk0_iGjh8t1*V& z+8KznO%t#y$iPu~L@sODx@Ur=!=`;F#AU)nQKz)CXS`C5{fKo*l(5; zoSV$9tsVKD46=LHT{P1E=AyDRek0f*g%OwDg<_?DE42xV3l4C>LQWuo~^7oJQR=Pn`?{Rqv-|YDH zi>Tic!hD0pr4Yc#Yv{*>Ov;`jv)nhAQ*(hjeNY~w7K5!Dl>Ng#XJmf^2@l*ziH<@s z-*7WS2fUtEh8!!Yv-zG}g>84i0aAL%jiX&OE`?Vt1Bh$^q+?5QDt+ao0*i-Mr4Aveu!`fseQe}A~4jzQ5V$5SKb1|R}KtJ&Fk)DQ~zMy9A}x^ zGGVI=70cp@x{WJ$2u{P)#cvGxGHC790)&hsyt?~H&cnyq_hN$BBlDxnmKtv|&lS@y zD&)CwzkzB`;f-%k7Z13K$5H_q)xY&WfQ{$u6(Ycc=3QujAkN9AP~|G(zw-~8OSyPvh<{{g$GSn9RifUoZ} zn`&$OqNP1PjLnm_FtDI7@TN+hZY&JXfs)n$ASRl{%<=Wu3Z9Tm3L;SIk1bmmdDW7Z?S$3)Jnl6DXtov0Qr#v*t3Rz82o3Jo-c>^_|7F*2n&2+uF{UD26p>vdJGXH@I>E&6JK z540{}zF+8*{y=cgnzm`s7_})!hwzMONuH# zmw(Iq1%ZSw?!=Yd)k6F8Q>{T|Oo&(Vk#f>}Mm)BuBlOF;Q>2npDs>hnN4eV8>WC-d zq$z&-(aPMAo3fnY`Rm%!z*k*?#z9Qov`ze^cIiR+3zqNnH$w%fsV>$<)BsxW+yW%m zi}NFvyIF+tU)nnxXEUsVDpqwYX1fZXn{0>b9%j~w?A)YOtzKb?=^lA|s(3!$i)RO1 z%kbgKpg=!<2Y9y8Z<1QssFrSI_EeRpE{^Q664vho>?x!33p^}Y5`=Gx_lDT5x<@PL zgF!P#Zh!`fb(ofqB?2{#+6s42@k)82mtLguVE?4V(Tw4()ZmC3>qX1&!=Q}-F#hBa)|wBLg@4XVT>#TonormWi`8Q7_CEu z|Dl zr}Pn%!yS`V`iln=c{-4q&4cc+QxO7ESz1V1Jv4C9^M(l9o_qPKZ>dl5i=o=7wm&ou z=u#$D^7y7(0L)wBs9s{?mdnqbe@(_r2JT-A`{C<*GE&9QCV}imq=6;GQu~&^1_%ZG zYuY>-((tODB-1U(b}2(q)L6h*5m=%~d2+k;>F!E+T-*~IfLAr`>cx&b& zOwyTNB(MQ6fmTC4^eOCj@MBXeWk<0qIWcYRL>I#1iAg;|sa21$E$lq1=`~Hd?t-Wz z?VfiBQ}T=zf!autFKFkQ^wy8j-Z(c?cJ*kQxGxtxS9FZE#Lh~D)4@(tWx0KhT;Pxa z2ZtzpyAr>*Bi*A=nQFbE?+cCQ3gSh;`tr6|Ow zJ}whPcR_Ud9h&u{@qYeGsMdU5wE5Y11PFS1kNgIa5enC(tra-igT2 zy0J&Xr#6Y9%{0iZOI*?o1ko0h7!xTO?Q*XD)8|%_;5NsPF0**p;zQyi1bp1f7^@*y zx|J^Ts(c!E@c^xvEu=T$lM8GT@E)sjOc`f?)YTU6csw*u3%8`4G&&@$2uZUNdo>_= zjHrC?$-YEOZxX+=F``&&JWB5vJu&A!7@AtEz?aA_B$VYw-Rk8rC-RWT^gZ9#LNZDV z9#RK>cTeOOqW!>kk%9BSD)7SRPrkzzIWOMxx8K;c}{7iLb z5|7|S!uJh$NU2h+angnXoH?||*i%%ph40~X+!XYso!A<>bvl>u6|XnQ5}rA3G~PNp zOz|^L#CYe6&?QzHGlw<&v|u#rd+27))x`cgZXtGGK|`u_|JWE)xWCHu;(@^(j{x;F_*u5je<#nB)5WI!${XIdgu~HjMkSfh_}xaTV2?8Soa2a?rnf5$2<8xnS0njG-*kL zkp#v)55LT*qME3EHm!YD=2Ihe0NSZOH;I*fQp4q14($|W8dol=#0Li^(93UJGvOZS>NhKoeY7#&U_eJ+1967p5N<$oLx)ku_elE#+;2D5zw_0s6wWdef?h`2US10 zYn;=UI4zu`##|0m!=|Lf0}We>{UJYU-967|3bNUb&DpYNmaChMQf(R~_}1J)H9qyS zjPyL+l`54ahxBFti#eY^|Cp<{4fbh_bjVsE?=qQUT(}H9JN!JQ-6E?*!c|o|p;@Zq zd)99`x6Z~{ho8WWjy>mM%Cg4RVsv=);I^%2())qA?4mIuR-$c9&@^?`m@(ylzn=`$ zAKVz5Jk%eP6eG zfpfGfkKu2s#@+8Vo%=51?(I5^WMQ#+(=w@){L=O4W^%cB7)4(G8sPhaiF7Lk!T$KX z>krKcu%p(8jmUz}tgkm8Zm{q?Z}qq~@Vw0?J$7qDqBHyM5lDsbdtl_3v0L%fCu9pC zCDMw`_Xam4Ic?)bJJ^pIsTSHg(#GDm0PT2J34clwHyRR_m+;e35_%skh45V)u~XbA zb(4+M*e~7}0G9urKJrhTPen>_LXn1&Uxx~5x64v%3$WO6Sdgzbcw{60Zj07-QqVpnn&<&XjHW48 z^^j)t^)fThG>36;0CpYvTjJHtT&Bh7`{fyL~arbB&3x8h3kU8w&(;Wut5?ncA%+=AtRU^~7Q?^FK6fE&G3HUX@alDH4y`rKOv+KCyjf zETRkWik*FTS1C}!v1(0jnnU4(d!;6V=Of?h5hTzsM;9(3`_Zhxrq4nkJXyHAO!>o> zdQ3oi-qy~&G~cjw&EEEUi1PPPQ}Zz+Ov#Hm#nJr$C5dv=YQ0QgFY3n8NdeBx=&p+h zt(E|9zMlG_DQzFrONzv@M%h*<&amP$1qSn#OJLm`D_4=jFXm(<18kZeI1VnFm`L@% zTaB|~8%;PnVSc;m_-o_R9?eLTmYuzekK=9+w57rbBZie(Lg^7yf`365YOgf7XYtV{ zY8)U%^hn_Gx>k(=>o?nyXPym01$@$ahhVv=y4z&>T-B9p-yZBfKyDdoB^o9e z7}iQg>vpzig!PYAXU7LGPqZnv(s2S!FC+kxqcdaJ80Rl4-IF{l*%0AeO*ddnp$-+| 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

              *d2w1)kZrI3As4OcwC5r+ix*&1hk!u(ge^Lv98H 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/plus-gold.png b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/plus-gold.png new file mode 100755 index 0000000000000000000000000000000000000000..854692e1f776aa2423e8807762e76b8bdfcb59fe GIT binary patch literal 1908 zcma)-`#;l*AICo%%VrJf>n@ZXN_vFESB%Xq(=fAK%Vp#eDVIzkTKH08NM8=aI+KLW zHOc*8;pBc4I!tTGj>`~fVn_eMc|RV{_v`U`KOXPL>&I6*-ti(rQdtrJ00h>~nsA^= zKY<=P*xlxSe;f$xmYqiw0O(%&38)P9wBq0hiXvRJ1eimrO9w_g2;+bOfZ8nh4?hS1 zNWiex7-B4Fg*FqRVl4Akft*t^aeqna+)!Z|n3OHo!_)eC(TSK-uYQVzDRV__Ompl^=R#6?>*lv=t0)MnK9=E?iWnCRm1FW zRny2k3+?LfoQ5t7TAUSpUn!da$(t~~w`k&ghbgqdoPK97nWWargMGM}Ugxv)$=c~s z7iWxWzh|?>N^KxjWdH(uPHAJ1`irp^B1>R{7r4csC$^Se2B-2MzSyIQ>PB+WxcMCy zK84xR6Ta>ysAG9Bu6@bT|UoC%uFt9(|!mr=R z;NjZuLn8NZ(%vfs60!{RwPeO>47q!0XcGA&ay?u2xDsftU-T}w!)irwJiv06X!u9V)-Zkvg9&OJbzH&DXckxolF;3$T&d1p&A;r-pF^>m0j3vd|AVIoF z_0<+~YErX9)_{{6}W|Fq7pW;>SS_8lJ${4<*}o z45TR>{8H9t@s7kd!`M5Wfh3C^#KTN?=(gQS5~Or}Jq!H5dKKF>qG+S&Df)A&)JdWW zajKXvIwow#zLs{dj1vPO?fx+@> zac$aGK)umF$IkqSXTlCOGL+W{SBYE-t4Yfqo^}K<)jz&}j}{%$LD}d(j%x47?|1wd zM{?>h)pJo_K16_04AE1X9QN?^o)US?vpHsE+*W1HcLp!IhkhbY)dX%o8MLWQcHpSG zF7)i|h9i1Clae(ofiOhLhwVx+`=sgrOsXb7db~i+%sh;sRva5nJ5l|z5IBRzfEX#7 zz2ae}J`;wFWat>UpxQmtF&b3UlE~sXndj+b(-*gfaN&zZGNmAPJB?ghg&Z~uxh`WC zsIlf8AP!B6griA(k(AutCnf#dk0#PwINFg#V}7=QiyvPhb= zTmRQkh+CWlWKk;m6Rs&hXkueafeCPvj9YEO;IPC|@kOck3BRkLkh)!n<=5U{nRVs< zyN|Rq$byoyL8J6OBw3FKTAkc~77@-xmL-&&NB{}mc*1RPuB@e)v>Q}ySBLkU$3V*~mCYTIgz>*m(0_T*$`gwH4j1Psd zYDW(+aLO-y`Nc#Eq@@v+2zzMF8}#BjMlA|6PH3Wm4SG;gKEEI&*ioKb^kBf?Zn5SY zz;L@oaQJWM>jAU2@+rx`kqo%N<@xRMlstk&j&)ux6;0h}zQvUyzJ^|yecqU+eDMfa zhKS0|k%yj+P|pE)$rLgBibV!QUOB$j;f$ZFRvRe5i2SzYhfY<_Tx zv@3;cqEd4Q4NbH#X`x5DF(p@BxAtN3e^T{Z3-YG3V}8d5W|fXJoy$;bXpp6zjdnfd zsKac}`#Nj~mUxxEYwno)VynATEj3v7Jfe~I-tTmr+6?M>&)pO8gL8+TZhi@^(dc=a z98t;f_Na$2d<=fGk(2Bcm39^o|VBcUmEZhbDz-Wa# z=+WIzBZeJy=av-Rh}$lD8@@5w^yjN()BAaeRt8|-{5Q@~hhsU?qDP+#mPBm@{=&m8r@U%x-3!t?{H}@58QoTDo-SDG_pva4S9Ha|rjjo% zo#jYnTZc^t5(l<5`IAf}zt}fFojH7JBe`(gexY+9_BB5%OXA;j&_RjD?@LsV%sju* Rl~nfg18d`G&9wBT`~y$JZUq1U literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/plus-green.png b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/plus-green.png new file mode 100755 index 0000000000000000000000000000000000000000..ab020791cd0f5f90a9fe1ed7f10ffc47525c7cd9 GIT binary patch literal 937 zcmV;a16KTrP))k#oggwYK+_4DOwe?KBoic^z!cB{k_qZg&~$<(6C{0Z3o$Q!_G1z96_gZ!xid~QAPHoyDl1tY9 zx36j2*F~jnh%*jb5H0`{-d5425#z-g(RHDYYTn(OZ~@rZenpP2h{sLqySISD1{^s( z-Xb1%XnXe-aJa$5xqhr%t*m|fdd<|rsnIpwL2r0>Z#XodIxyGxt*m`teDC19y=Pzq zHxu%a(Q^VE0;qoE?~e!0eG{>1Y}apEsqx)juz)yhfX2Ep`ZFKX@6-Ql>k_A4D|gM? zUEwBgx77_rDbzyF9p!Ud2!uE~$t`55AzQ*)0%I07N#_p1?FrjEhQ z&mu>VIJLnsN4Nlt+sonZ=en3Ct)A@lupWEYQ?5pLl5`_U{(GB{!AI|NPDYmb6Q=)rr215 zB)&+{evrxbYUhp_z(Z-oy78khq7SGa{0Zl&5&yY>Okb+?B8qB37Srjc7nPS#NHs8An62cCaC+`UMgpTas&?$iv=XwrD$2Q zMab7&@ZITbQWE$F0w4q+2!bF8f*=TjAPB-!L&1T_vTTSyXV~P41sLJ~6tAJXy}-+0 zXXbc+29V!stru_rdY=Fsc$()hR*5=?e*J9YzLr#KM?dZf1rC|5kWuwcg!fdX}j z8ZqrlBYK$tT6GKRJCth90d5cbwhwJcfSI3JHfk9B0ySc~#KGWzp1;r|MHl{mMs+r~ zSNM#nd9RpIk`2tTYCyxv8yw)r*ILhZl=A`QT-3?o)&#Z*pgoVB&LHSCuJ{$I*<{~6 zO!ClpPSALM3U1LPXfB&@1Z*U@Vm9?_NZns*J%J9m0gmsoY@teRSdo@(!DnEAMFX7b z|MBZ+<#F)i?eE;5<1=XCfd+^ga{Oi6vv+sdWvB^cLpZhqixIRICP9@UwQqa}EZwKL zAaxV5l_V)-8NZHV3t%960t$bxiXdlAxuUImH1+;B21q1}jA*3|46Iyq83l(1oCRgm zq|RM&9>ky2;c~gr_TEHK0IL6KrJUPa=m{4mtQic{2}BaF0ZJYF#XNy;&=V+o=9k@} zDhduam<9spe%Z73jr;X?Hn%~Q3B3c#HnySdE^yd@%D_V7=UMxG+3*fEZtuS^f^Ecf zviF<-#{^V5NkNfc&cRZ|W}t&ye0Lhi9yYbz1r8fvz%xb<<-Rnl@++-xph#|13HLmm z3Zb1*P1{k#Yk;-)6@huxEpmd~}%U3?kvM0p#~9 z5!$aTI|XJaM*tgcFOLqoq9=gd9!6-D(02gpdWSgOpET3-pvyJ*N8%!B%8?Ubaf5hT z3r};YJF{=a^9~!`>b~yTO(bsz0+Akz7?26+_46q&zXsSF7lvN4$~~x8ijM)I5NF z|3>R*-|r(IMxY0%qqI-M1V$Ig;JH0-pa%}}akNO926@94ir9kO>!bZR8nXI4UZl{< zEK&+JpT{xz`D1|5<)J>03xXgBf*=TjAP9o+^!N+t3Vf(s*jr@)0000!lvI6;>1s;*b3=DinK$vl=HlH+5aKEREV@QPi+o^Z?91M8ejyF#zIQZMXS6X}? zi}2*7L2HHV?A0UFF6x$sMNbk9eb0Ac>)9*MQ*FP7UD~;S?op2)M!E+XOp{{SuXk*@ zK8G>yjN{{ko(-KpdLE~_?&jM!arHs}BjLq&)?{37H2gGw&6NM&ma6zs#9%Eb7pn@AH&z&01Jk;kIP&)T{<$r^h=jB$QXX)U*{oo^bCy>-7^ikCbia rvHQP%B2cxBjdGNVa+pJpg*n5tbP0l+XkK%N2Kc literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/send-black.png b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/send-black.png new file mode 100755 index 0000000000000000000000000000000000000000..9f277422d671e9ccd430e880cbb9f3e97b0c3424 GIT binary patch literal 1066 zcmV+_1l9YAP)?~Fa#x3=$9qixmGCw5R=LD>Ox1=tlRE2ykMSV8Fu#2wH#|Fkkt7r>*ohq=82 z1QY&Df@G4Ro!^^~1d*{m~01k)4;cz${j{g&;`*Le{zswjE03kOzx`lu>-v9kg z2+@OofSCe#-hqcqeg(#IbI$9L5DhMQMTkoQE6hv*ws-d1^oEK}!wNDb zz@~Rl;vCOlaRf3v;eCFwO0M8jA8=U?eSpwl^5GSeY=;4>(BERtwLFHbh8){lyL)G< zj9>+ra=`ZPK86mU8=qWJy15dqc9G7`gZ}E)mq(-ko!hIqJB3a%RtO$Caa8kELP*Z*cRwzhU;&8;5F~bajGAWF<&n4mK7sQ1NPoW69IDEr znN_ARCV-FUd35v73$~VraRGvmEAr%uQmm#q$Q0%ycd7#TjLQSqhX_{~kKCCE5MOcRC!n@K#(*dHwTNMm92H!SBL6( zgd8#d<`DAgL5v1CUtmG37QjbYyxYDm4W39P`!w%~l&pHRs0dblFw^I*e7kk#((%~725(j7pb$ZIlmeX{inh)Eg(^eEg^z!2WM_c<bj%>cnYR@7Q0eqVy*?iE{=HL0q z=1>#jrUeE_Re2O_p8Jk>xx)H{ZUqQ(Un+Z?b&HqU7f9^3q?2`OPr02NVX z|4-?0@1DEn=KPh}|q;zm@+ z*ycJS1yHLy`A;trQ6*yam$+_#rA&{+cJ|LhbGD&nKLgzN#x@7@5j8EQ96k z*x<@IB|sXkZ|Qg>84bzka0U1Z(5S&T*U%p43fLiOoePhy1(u?yJZ8(me=aSJmo zhW6OxR26msPhz;HmNQI91bPuOm|5l09_|7TuNf*rVh$4-w8wb@G^#2D9vs_4Z>22~ z;xYl6p*`mG=_lOUBbiJQM!@0UyS0a2G)Hca@B%cu_V`Y}O$}GJ7%_6k6QHT(l-gr~ zMB5|2fPHE?_skU0BR8)A&8|JZ!dw;6BlkE04*y>Tm-dL1DaIF|@o$eHkvkm$8s^BI zo`8KAB6r#XG!Y|r9s)EGB6nT__6ZcZFMlIsr=^>Gz;Cfe416N@iTmIXpy+4@z91%U zk^AUACg6eV4f2$xwDY--&xlXg@71xW;h6<1XXhUMCEQ<1O;UT zi9a;>)u{(7jtU6J(C2sR6U?)%2HxNm&$ewa4*_bnC;cj4!MxI|8GfeOUb;R;r!AnC z3o7$Fr!rRq|0NoDlAZwfGVkcSH66_*Z;;XvFqF9(_`-6fcbS_QSHLjaRiENq%KWu| z^xYsJ;|TCCbG3!NAOgGs-1qL6e&Fxy-64rDU{~hq$?e9ncSk966Y&K2MAU$bnlIr6 z1d6C!gb@%SqH=MWfQS*5i}M69L{u)^1u#ccF6;tEil|)J1x)bQ`27fbcSz1%1fxe( zF8l;AMpQ0N2~Yz&+|n{Ha}&n`wz#LhSMS!9gzOfzLZMJ76bc1b{sSfNe%`BgB8mV2 N002ovPDHLkV1jIDQ+NOX literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/send-gold.png b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/send-gold.png new file mode 100755 index 0000000000000000000000000000000000000000..59645e7d5ebb20d81c0685d0bbd84f0abc205780 GIT binary patch literal 908 zcmV;719SX|P)3UwZ4IS^#ycqWH0O$cWy8yx?tymgn-GQ zlkl@4Gt=e0)oC)?-BsN)RYf&l(g8vbsWbP~y=STs{eE9Y2X7JmdJn|YNEV+XnOO#= z7I2*q{qud<`t~^Yi=^{JiM}p^#o+fB8SgzUy+KYdLw44b@Fo+PZV;zm5&e7tu6oqn z1}+ZKL|T>aB!MiL-x;p1yt4s$YY9yuS5Y~=g5>Ti^|kaxRN45)I^yr^X_Xs5ZjZ9S z;r(~%4^+jNI1e#kf^ptxni9KB|@C+(#+jVt6YGxGGF`}p2>l9YrS=KWVR;Zg;mZ7#Mafj?*C-A zMq0%xwwAMxkhIqz=T_mH@r90{QdDN^<86qNPAqz#5z}>PYmZTLeCz7qDjsbj>V4AN z8vdfD8=)hxWx2xQbXR+y>!@jrfRn-t=QnQn-~$OM7vVZ;ImNGqy9OZL+8+F-3Eqd#&tN^ zqdee;_g=yk%DUX3C^l-LN@wfH2@S66W>Aobj<+EG>=*^A1HQ#)|IFC%yY5BWN!240 zU1}l=^L|zHv`OQosy(@SaxNVwYQL5cmQc1QRj$g%v?6=z2tp`VkE0&X#!B|&k)o+y z;Y)Fa)UqcZxy-KC7MS5*XlBm}%|(*1#L{87H=)X&WX;I*nR5br>ToNRt4G2_cWbQK zXA?I<>)5lM?mgGfYOD&a6U`Dn+O%v>9g_>4Fq-*de4&=2nJ;P!wH?iTQBA1BXyyy8 zP#@9E7llH7Ml)aJg!1Eocu(`>%W^dHMfGOX0DI~%3JtZn)TJeF6wEe{(aaa(^50nL iQjh28bi1kc)bSV1Ml=rs$aV|>0000;udz#~QIhjmeC;(9fkZU&rFAQB@5cm?K{p=&nbp#i{)}jhF6d=uY1QVcvMfEzV zHO0FC4J_&g*|Ca|<~qCxP+hx8@6;H!s82D|T!)hYE*3Rud|1?2c(cN>Eov-`0(50j zV{uV{K3LRPoC&}a8rq_3i^}JL|FIzRs^Y}iO;H$_R|G$;=^xFa8qT9N#+#zLk>_Kv z>buPi&NiIg6T}GrLHmEHGyXp13=o?P|M)WnLU$ffKnl({4K3ID-tM@Ve1Odl6cA!* z5<+f0h0KaJI13=z?RHcAz@tr8gf5RJcoU!smq!CD+-Z3P5kSIOVOt)&q0vQFm;~^$ zIm$u|hrRsIsqhN zFN60nwB-@}YOoK~c?zB+={uoV?vm#X%49N`OeT{NyaBdwvqx_Cyu$zh002ovPDHLk FV1k3+=n~!$15|YDjI9sgP_zpg0IJhAuLM8< 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 XX#hyt$(+>h00000NkvXXu0mjfroqmJ literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/wallet-black.png b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/wallet-black.png new file mode 100755 index 0000000000000000000000000000000000000000..cdb2ec8032483d3a484e978ac9150625e7064dff GIT binary patch literal 1493 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 E0V;W>)c^nh literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/scripts/qrcode.min.js b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/scripts/qrcode.min.js new file mode 100755 index 0000000..993e88f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/scripts/qrcode.min.js @@ -0,0 +1 @@ +var QRCode;!function(){function a(a){this.mode=c.MODE_8BIT_BYTE,this.data=a,this.parsedData=[];for(var b=[],d=0,e=this.data.length;e>d;d++){var f=this.data.charCodeAt(d);f>65536?(b[0]=240|(1835008&f)>>>18,b[1]=128|(258048&f)>>>12,b[2]=128|(4032&f)>>>6,b[3]=128|63&f):f>2048?(b[0]=224|(61440&f)>>>12,b[1]=128|(4032&f)>>>6,b[2]=128|63&f):f>128?(b[0]=192|(1984&f)>>>6,b[1]=128|63&f):b[0]=f,this.parsedData=this.parsedData.concat(b)}this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function b(a,b){this.typeNumber=a,this.errorCorrectLevel=b,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}function i(a,b){if(void 0==a.length)throw new Error(a.length+"/"+b);for(var c=0;c=f;f++){var h=0;switch(b){case d.L:h=l[f][0];break;case d.M:h=l[f][1];break;case d.Q:h=l[f][2];break;case d.H:h=l[f][3]}if(h>=e)break;c++}if(c>l.length)throw new Error("Too long data");return c}function s(a){var b=encodeURI(a).toString().replace(/\%[0-9a-fA-F]{2}/g,"a");return b.length+(b.length!=a?3:0)}a.prototype={getLength:function(){return this.parsedData.length},write:function(a){for(var b=0,c=this.parsedData.length;c>b;b++)a.put(this.parsedData[b],8)}},b.prototype={addData:function(b){var c=new a(b);this.dataList.push(c),this.dataCache=null},isDark:function(a,b){if(0>a||this.moduleCount<=a||0>b||this.moduleCount<=b)throw new Error(a+","+b);return this.modules[a][b]},getModuleCount:function(){return this.moduleCount},make:function(){this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(a,c){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var d=0;d=7&&this.setupTypeNumber(a),null==this.dataCache&&(this.dataCache=b.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,c)},setupPositionProbePattern:function(a,b){for(var c=-1;7>=c;c++)if(!(-1>=a+c||this.moduleCount<=a+c))for(var d=-1;7>=d;d++)-1>=b+d||this.moduleCount<=b+d||(this.modules[a+c][b+d]=c>=0&&6>=c&&(0==d||6==d)||d>=0&&6>=d&&(0==c||6==c)||c>=2&&4>=c&&d>=2&&4>=d?!0:!1)},getBestMaskPattern:function(){for(var a=0,b=0,c=0;8>c;c++){this.makeImpl(!0,c);var d=f.getLostPoint(this);(0==c||a>d)&&(a=d,b=c)}return b},createMovieClip:function(a,b,c){var d=a.createEmptyMovieClip(b,c),e=1;this.make();for(var f=0;f=g;g++)for(var h=-2;2>=h;h++)this.modules[d+g][e+h]=-2==g||2==g||-2==h||2==h||0==g&&0==h?!0:!1}},setupTypeNumber:function(a){for(var b=f.getBCHTypeNumber(this.typeNumber),c=0;18>c;c++){var d=!a&&1==(1&b>>c);this.modules[Math.floor(c/3)][c%3+this.moduleCount-8-3]=d}for(var c=0;18>c;c++){var d=!a&&1==(1&b>>c);this.modules[c%3+this.moduleCount-8-3][Math.floor(c/3)]=d}},setupTypeInfo:function(a,b){for(var c=this.errorCorrectLevel<<3|b,d=f.getBCHTypeInfo(c),e=0;15>e;e++){var g=!a&&1==(1&d>>e);6>e?this.modules[e][8]=g:8>e?this.modules[e+1][8]=g:this.modules[this.moduleCount-15+e][8]=g}for(var e=0;15>e;e++){var g=!a&&1==(1&d>>e);8>e?this.modules[8][this.moduleCount-e-1]=g:9>e?this.modules[8][15-e-1+1]=g:this.modules[8][15-e-1]=g}this.modules[this.moduleCount-8][8]=!a},mapData:function(a,b){for(var c=-1,d=this.moduleCount-1,e=7,g=0,h=this.moduleCount-1;h>0;h-=2)for(6==h&&h--;;){for(var i=0;2>i;i++)if(null==this.modules[d][h-i]){var j=!1;g>>e));var k=f.getMask(b,d,h-i);k&&(j=!j),this.modules[d][h-i]=j,e--,-1==e&&(g++,e=7)}if(d+=c,0>d||this.moduleCount<=d){d-=c,c=-c;break}}}},b.PAD0=236,b.PAD1=17,b.createData=function(a,c,d){for(var e=j.getRSBlocks(a,c),g=new k,h=0;h8*l)throw new Error("code length overflow. ("+g.getLengthInBits()+">"+8*l+")");for(g.getLengthInBits()+4<=8*l&&g.put(0,4);0!=g.getLengthInBits()%8;)g.putBit(!1);for(;;){if(g.getLengthInBits()>=8*l)break;if(g.put(b.PAD0,8),g.getLengthInBits()>=8*l)break;g.put(b.PAD1,8)}return b.createBytes(g,e)},b.createBytes=function(a,b){for(var c=0,d=0,e=0,g=new Array(b.length),h=new Array(b.length),j=0;j=0?p.get(q):0}}for(var r=0,m=0;mm;m++)for(var j=0;jm;m++)for(var j=0;j=0;)b^=f.G15<=0;)b^=f.G18<>>=1;return b},getPatternPosition:function(a){return f.PATTERN_POSITION_TABLE[a-1]},getMask:function(a,b,c){switch(a){case e.PATTERN000:return 0==(b+c)%2;case e.PATTERN001:return 0==b%2;case e.PATTERN010:return 0==c%3;case e.PATTERN011:return 0==(b+c)%3;case e.PATTERN100:return 0==(Math.floor(b/2)+Math.floor(c/3))%2;case e.PATTERN101:return 0==b*c%2+b*c%3;case e.PATTERN110:return 0==(b*c%2+b*c%3)%2;case e.PATTERN111:return 0==(b*c%3+(b+c)%2)%2;default:throw new Error("bad maskPattern:"+a)}},getErrorCorrectPolynomial:function(a){for(var b=new i([1],0),c=0;a>c;c++)b=b.multiply(new i([1,g.gexp(c)],0));return b},getLengthInBits:function(a,b){if(b>=1&&10>b)switch(a){case c.MODE_NUMBER:return 10;case c.MODE_ALPHA_NUM:return 9;case c.MODE_8BIT_BYTE:return 8;case c.MODE_KANJI:return 8;default:throw new Error("mode:"+a)}else if(27>b)switch(a){case c.MODE_NUMBER:return 12;case c.MODE_ALPHA_NUM:return 11;case c.MODE_8BIT_BYTE:return 16;case c.MODE_KANJI:return 10;default:throw new Error("mode:"+a)}else{if(!(41>b))throw new Error("type:"+b);switch(a){case c.MODE_NUMBER:return 14;case c.MODE_ALPHA_NUM:return 13;case c.MODE_8BIT_BYTE:return 16;case c.MODE_KANJI:return 12;default:throw new Error("mode:"+a)}}},getLostPoint:function(a){for(var b=a.getModuleCount(),c=0,d=0;b>d;d++)for(var e=0;b>e;e++){for(var f=0,g=a.isDark(d,e),h=-1;1>=h;h++)if(!(0>d+h||d+h>=b))for(var i=-1;1>=i;i++)0>e+i||e+i>=b||(0!=h||0!=i)&&g==a.isDark(d+h,e+i)&&f++;f>5&&(c+=3+f-5)}for(var d=0;b-1>d;d++)for(var e=0;b-1>e;e++){var j=0;a.isDark(d,e)&&j++,a.isDark(d+1,e)&&j++,a.isDark(d,e+1)&&j++,a.isDark(d+1,e+1)&&j++,(0==j||4==j)&&(c+=3)}for(var d=0;b>d;d++)for(var e=0;b-6>e;e++)a.isDark(d,e)&&!a.isDark(d,e+1)&&a.isDark(d,e+2)&&a.isDark(d,e+3)&&a.isDark(d,e+4)&&!a.isDark(d,e+5)&&a.isDark(d,e+6)&&(c+=40);for(var e=0;b>e;e++)for(var d=0;b-6>d;d++)a.isDark(d,e)&&!a.isDark(d+1,e)&&a.isDark(d+2,e)&&a.isDark(d+3,e)&&a.isDark(d+4,e)&&!a.isDark(d+5,e)&&a.isDark(d+6,e)&&(c+=40);for(var k=0,e=0;b>e;e++)for(var d=0;b>d;d++)a.isDark(d,e)&&k++;var l=Math.abs(100*k/b/b-50)/5;return c+=10*l}},g={glog:function(a){if(1>a)throw new Error("glog("+a+")");return g.LOG_TABLE[a]},gexp:function(a){for(;0>a;)a+=255;for(;a>=256;)a-=255;return g.EXP_TABLE[a]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},h=0;8>h;h++)g.EXP_TABLE[h]=1<h;h++)g.EXP_TABLE[h]=g.EXP_TABLE[h-4]^g.EXP_TABLE[h-5]^g.EXP_TABLE[h-6]^g.EXP_TABLE[h-8];for(var h=0;255>h;h++)g.LOG_TABLE[g.EXP_TABLE[h]]=h;i.prototype={get:function(a){return this.num[a]},getLength:function(){return this.num.length},multiply:function(a){for(var b=new Array(this.getLength()+a.getLength()-1),c=0;cf;f++)for(var g=c[3*f+0],h=c[3*f+1],i=c[3*f+2],k=0;g>k;k++)e.push(new j(h,i));return e},j.getRsBlockTable=function(a,b){switch(b){case d.L:return j.RS_BLOCK_TABLE[4*(a-1)+0];case d.M:return j.RS_BLOCK_TABLE[4*(a-1)+1];case d.Q:return j.RS_BLOCK_TABLE[4*(a-1)+2];case d.H:return j.RS_BLOCK_TABLE[4*(a-1)+3];default:return void 0}},k.prototype={get:function(a){var b=Math.floor(a/8);return 1==(1&this.buffer[b]>>>7-a%8)},put:function(a,b){for(var c=0;b>c;c++)this.putBit(1==(1&a>>>b-c-1))},getLengthInBits:function(){return this.length},putBit:function(a){var b=Math.floor(this.length/8);this.buffer.length<=b&&this.buffer.push(0),a&&(this.buffer[b]|=128>>>this.length%8),this.length++}};var l=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]],o=function(){var a=function(a,b){this._el=a,this._htOption=b};return a.prototype.draw=function(a){function g(a,b){var c=document.createElementNS("http://www.w3.org/2000/svg",a);for(var d in b)b.hasOwnProperty(d)&&c.setAttribute(d,b[d]);return c}var b=this._htOption,c=this._el,d=a.getModuleCount();Math.floor(b.width/d),Math.floor(b.height/d),this.clear();var h=g("svg",{viewBox:"0 0 "+String(d)+" "+String(d),width:"100%",height:"100%",fill:b.colorLight});h.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),c.appendChild(h),h.appendChild(g("rect",{fill:b.colorDark,width:"1",height:"1",id:"template"}));for(var i=0;d>i;i++)for(var j=0;d>j;j++)if(a.isDark(i,j)){var k=g("use",{x:String(i),y:String(j)});k.setAttributeNS("http://www.w3.org/1999/xlink","href","#template"),h.appendChild(k)}},a.prototype.clear=function(){for(;this._el.hasChildNodes();)this._el.removeChild(this._el.lastChild)},a}(),p="svg"===document.documentElement.tagName.toLowerCase(),q=p?o:m()?function(){function a(){this._elImage.src=this._elCanvas.toDataURL("image/png"),this._elImage.style.display="block",this._elCanvas.style.display="none"}function d(a,b){var c=this;if(c._fFail=b,c._fSuccess=a,null===c._bSupportDataURI){var d=document.createElement("img"),e=function(){c._bSupportDataURI=!1,c._fFail&&_fFail.call(c)},f=function(){c._bSupportDataURI=!0,c._fSuccess&&c._fSuccess.call(c)};return d.onabort=e,d.onerror=e,d.onload=f,d.src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",void 0}c._bSupportDataURI===!0&&c._fSuccess?c._fSuccess.call(c):c._bSupportDataURI===!1&&c._fFail&&c._fFail.call(c)}if(this._android&&this._android<=2.1){var b=1/window.devicePixelRatio,c=CanvasRenderingContext2D.prototype.drawImage;CanvasRenderingContext2D.prototype.drawImage=function(a,d,e,f,g,h,i,j){if("nodeName"in a&&/img/i.test(a.nodeName))for(var l=arguments.length-1;l>=1;l--)arguments[l]=arguments[l]*b;else"undefined"==typeof j&&(arguments[1]*=b,arguments[2]*=b,arguments[3]*=b,arguments[4]*=b);c.apply(this,arguments)}}var e=function(a,b){this._bIsPainted=!1,this._android=n(),this._htOption=b,this._elCanvas=document.createElement("canvas"),this._elCanvas.width=b.width,this._elCanvas.height=b.height,a.appendChild(this._elCanvas),this._el=a,this._oContext=this._elCanvas.getContext("2d"),this._bIsPainted=!1,this._elImage=document.createElement("img"),this._elImage.style.display="none",this._el.appendChild(this._elImage),this._bSupportDataURI=null};return e.prototype.draw=function(a){var b=this._elImage,c=this._oContext,d=this._htOption,e=a.getModuleCount(),f=d.width/e,g=d.height/e,h=Math.round(f),i=Math.round(g);b.style.display="none",this.clear();for(var j=0;e>j;j++)for(var k=0;e>k;k++){var l=a.isDark(j,k),m=k*f,n=j*g;c.strokeStyle=l?d.colorDark:d.colorLight,c.lineWidth=1,c.fillStyle=l?d.colorDark:d.colorLight,c.fillRect(m,n,f,g),c.strokeRect(Math.floor(m)+.5,Math.floor(n)+.5,h,i),c.strokeRect(Math.ceil(m)-.5,Math.ceil(n)-.5,h,i)}this._bIsPainted=!0},e.prototype.makeImage=function(){this._bIsPainted&&d.call(this,a)},e.prototype.isPainted=function(){return this._bIsPainted},e.prototype.clear=function(){this._oContext.clearRect(0,0,this._elCanvas.width,this._elCanvas.height),this._bIsPainted=!1},e.prototype.round=function(a){return a?Math.floor(1e3*a)/1e3:a},e}():function(){var a=function(a,b){this._el=a,this._htOption=b};return a.prototype.draw=function(a){for(var b=this._htOption,c=this._el,d=a.getModuleCount(),e=Math.floor(b.width/d),f=Math.floor(b.height/d),g=[''],h=0;d>h;h++){g.push("");for(var i=0;d>i;i++)g.push('');g.push("")}g.push("
              "),c.innerHTML=g.join("");var j=c.childNodes[0],k=(b.width-j.offsetWidth)/2,l=(b.height-j.offsetHeight)/2;k>0&&l>0&&(j.style.margin=l+"px "+k+"px")},a.prototype.clear=function(){this._el.innerHTML=""},a}();QRCode=function(a,b){if(this._htOption={width:256,height:256,typeNumber:4,colorDark:"#000000",colorLight:"#ffffff",correctLevel:d.H},"string"==typeof b&&(b={text:b}),b)for(var c in b)this._htOption[c]=b[c];"string"==typeof a&&(a=document.getElementById(a)),this._android=n(),this._el=a,this._oQRCode=null,this._oDrawing=new q(this._el,this._htOption),this._htOption.text&&this.makeCode(this._htOption.text)},QRCode.prototype.makeCode=function(a){this._oQRCode=new b(r(a,this._htOption.correctLevel),this._htOption.correctLevel),this._oQRCode.addData(a),this._oQRCode.make(),this._el.title=a,this._oDrawing.draw(this._oQRCode),this.makeImage()},QRCode.prototype.makeImage=function(){"function"==typeof this._oDrawing.makeImage&&(!this._android||this._android>=3)&&this._oDrawing.makeImage()},QRCode.prototype.clear=function(){this._oDrawing.clear()},QRCode.CorrectLevel=d}(); \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/favicon.ico b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..cc325fd3cb29e15c66be1d29875f842fdc522be0 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/fontawesome-webfont.674f50d287a8c48dc19b.eot b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/fontawesome-webfont.674f50d287a8c48dc19b.eot new file mode 100755 index 0000000000000000000000000000000000000000..e9f60ca953f93e35eab4108bd414bc02ddcf3928 GIT binary patch literal 165742 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 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

              5q!RY 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 + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/fontawesome-webfont.af7ae505a9eed503f8b8.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/fontawesome-webfont.af7ae505a9eed503f8b8.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/fontawesome-webfont.b06871f281fee6b241d6.ttf b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/fontawesome-webfont.b06871f281fee6b241d6.ttf new file mode 100755 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z zq1_(l4SX+ekaM;bY|YgEqv2RAEE}e-Im8<@oEZ?Z81Y?3(z-@nRbq?!xD9Hyn|7Gx z-NUw`yOor_DJLC1aqkf2(!i=2$ULNfg|s8bV^xB!_rY+bHA;KsWR@aB=!7n&LJq(} z!pqD3Wkvo-Goy zx1edGgnc}u5V8cw&nvWyWU+wXqwinB#x7(uc>H44lXZQkk*w_q#i2O!s_A?a*?`Rx zoZW6Qtj)L1T^4kDeD7;%G5dS816OPqAqPx~(_-jZ`bo-MR_kd&sJv{A^ zs@18qv!kD;U z5Evv$C*bD~m z+x@>Oo>;7%QCxfp-rOkNgx4j-(o*e5`6lW^X^{qpQo~SMWD`Gxyv6)+k)c@o6j`Yd z8c&XSiYbcmoCKe+82}>^CPM+?p@o&i(J*j0zsk}!P?!W%T5`ppk%)?&GxA`%4>0VX zKu?YB6Z)hFtj@u-icb&t5A1}BX!;~SqG5ARpVB>FEWPLW+C+QOf~G-Jj0r`0D6|0w zQUs5sE6PYc)!HWi))NeRvSZB3kWIW|R^A%RfamB2jCbVX(Fn>y%#b1W%}W%qc)XVrwuvM!>Qur!Ooy2`n@?qMe3$`F2vx z9<=L}wP7@diWhCYTD?x)LZ>F6F?z8naL18P%1T9&P_d4p;u=(XW1LO3-< z`{|5@&Y=}7sx3t1Zs zr9ZBmp}YpHLq7lwu?CXL8$Q65$Q29AlDCBJSxu5;p0({^4skD z+4se#9)xg8qnEh|WnPdgQ&+te7@`9WlzAwMit$Julp+d80n+VM1JxwqS5H6*MPKA` zlJ*Z77B;K~;4JkO5eq(@D}tezez*w6g3ZSn?J1d9Z~&MKbf=b6F9;8H22TxRl%y1r z<-6(lJiLAw>r^-=F-AIEd1y|Aq2MggNo&>7Ln)S~iAF1;-4`A*9KlL*vleLO3vhEd(@RsIWp~O@>N4p91SI zb~+*jP?8B~MwmI0W$>ksF8DC*2y8K0o#te?D$z8nrfK{|B1L^TR5hlugr|o=-;>Yn zmL6Yt=NZ2%cAsysPA)D^gkz2Vvh|Z9RJdoH$L$+6a^|>UO=3fBBH0UidA&_JQz9K~ zuo1Z_(cB7CiQ}4loOL3DsdC<+wYysw@&UMl21+LY-(z=6j8fu5%ZQg-z6Bor^M}LX z9hxH}aVC%rodtoGcTh)zEd=yDfCu5mE)qIjw~K+zwn&5c!L-N+E=kwxVEewN#vvx2WGCf^;C9^mmTlYc*kz$NUdQ=gDzLmf z!LXG7{N$Mi3n}?5L&f9TlCzzrgGR*6>MhWBR=lS)qP$&OMAQ2 z`$23{zM%a@9EPdjV|Y1zVVGf?mINO)i-q6;_Ev|n_JQ^Zy&BnUgV>NbY9xba1DlY@ zrg$_Kn?+^_+4V4^xS94tX2oLKAEiuU0<2S#v$WSDt0P^A+d-+M?XlR**u_Xdre&aY zNi~zJk9aLQUqaFZxCNRmu*wnxB_u*M6V0xVCtBhtpGUK)#Dob6DWm-n^~Vy)m~?Yg zO0^+v~`x6Vqtjl4I5;=^o2jyOb~m+ER;lNwO$iN ziH4vk>E`OTRx~v#B|ifef|ceH)%hgqOy|#f=Q|VlN6i{!0CRndN~x8wS6Ppqq7NSH zO5hX{k5T{4ib@&8t)u=V9nY+2RC^75jU%TRix}FDTB%>t;5jpNRv;(KB|%{AI7Jc= zd%t9-AjNUAs?8m40SLOhrjbC_yZoznU$(rnT2);Rr`2e6$k!zwlz!d|sZ3%x@$Nw? zVn?i%t!J+9SF@^ zO&TGun2&?VIygfH5ePk|!e&G3Zm-GUP(imiWzZu$9JU)Wot`}*RHV<-)vUhc6J6{w&PQIaSZ_N<(d>`C$yo#Ly&0Sr5gCkDY(4f@fY5!fLe57sH54#FF4 zg&hda`KjtJ8cTzz;DwFa#{$!}j~g$9zqFBC@To^}i#`b~xhU;p{x{^f1krbEFNqV^ zEq5c!C5XT0o_q{%p&0F@!I;9ejbs#P4q?R!i$?vl3~|GSyq4@q#3=wgsz+zkrIB<< z=HMWEBz?z??GvvT54YsDSnRLcEf!n>^0eKf4(CIT{qs4y$7_4e=JoIkq%~H9$z-r* zZ?`xgwL+DNAJE`VB;S+w#NvBT{3;}{CD&@Ig*Ka2Acx)2Qx zL)V#$n@%vf1Zzms4Th~fS|(DKDT`?BKfX3tkCBvKZLg^hUh|_Gz8?%#d(ANnY`5U1 zo;qjq=5tn!OQ*-JqA&iG-Tg#6Ka|O64eceRrSgggD%%QBX$t=6?hPEK2|lL1{?|>I^Toc>rQU7a_`RSM^EPVl{_&OG-P;|z0?v{3o#pkl zC6Y;&J7;#5N#+H2J-4RqiSK^rj<_Z6t%?`N$A_FUESt{TcayIew5oWi=jxT*aPIP6 z?MG`?k5p%-x>D73irru{R?lu7<54DCT9Q}%=4%@wZij4+M=fzzz`SJ3I%*#AikLUh zn>k=5%IKUP4TrvZ!A{&Oh;BR}6r3t3cpzS(&|cEe&e{MQby|1#X`?17e9?|=i`sPG zL|OOsh`j@PD4sc6&Y3rT`r?-EH0QPR*IobE@_fkB8*(886ZkjkcO{K8Sz$H`^D-8P zjKG9G9A`O!>|!ivAeteRVIcyIGa#O<6I$^O7}9&*8mHd@Gw!WDU*@;*L;SYvlV#p( zzFSsPw&^UdyxO}%i)W8$@f}|84*mz&i2q@SlzMOd%B!BHOJ<(FYUTR(Ui$DuX>?85 zcdzl5m3hzFr2S@c_20C2x&N)|$<=RhzxI!}NN+yS16X^(_mtqY)g*Q%Fux5}bP3q$ zxQD|TB{+4C1gL>zI>g~-ajKMb{2s_cFhN2(I(q^X!$H(GFxpc6oCV9#maj|OhFZaI z;umX6E*fQVTQ@lyZauuv>%E)5z-?zQZne18V5A}}JEQmCz>7^h0r)!zhinBG6 zMQghGt!Do5h%HmAQl~%m+!pr-&wlrcwW;qw)S$6*f}ZvXd;cHw=xm|y~mHbT3yX>?hoYKfy--h+6w9%@_4ukf0Et^zr-DbPwFdyj0VJHi}4bqRetSNR`DoWd( z(%n5>8MQl+>3SeL-DB@IaM{NDwd{{v_HMIO)PKO}v{{##c@ihB0w$aaPTSP4^>n3Z zC8Il%(3dCLLX$-|SwWx1u7KVztXpzNhrOZQ78c$jd{B9lqsNHLr*9h;N9$i+vsrM1 zKzLB_gVdMCfxceejpIZat!MbR)GNZ%^n|fEQo?Xtq#Qa_gEWKTFxSL4b{g}kJNd{QcoQ}HUP-A)Rq;U(***IA*V_0B5mr}Xp$q{YSYs-b2q~DHh z?+muRGn~std!VXuT>P9TL_8Km9G{doqRb-W0B&%d> z^3@hs6y5jaEq%P}dmr(8=f}x~^ z*{I{tkBgYk@Td|Z{csd23pziZlPYt2RJW7D_C#&)OONEWyN`I19_cM;`Aa=y_)ldH z^co(O-xWIN0{y|@?wx@Y!MeVg3Ln%4ORu5~Dl6$h>AGSXrK3!pH%cpM?D|6#*6+A# zlsj;J0_~^?DHIceRC~0iMq)SJ&?R&if{fsdIb>y;H@M4AE`z8~dvz)(e}BqUWK^U~ zFy`PX+z*Bmv9VxAN;%CvMk(#kGBEMP;a-GgGZf~r$(ei(%yGqHa2dS3hxdTT!r>La zUrW2dCTZ!SjD_D(?9$SK02e_#ZOxdAhO%hgVhq54U=2$Hm+1^O^nH<>wS|&<)2TtD zN_MN@O>?A@_&l;U)*GY*5F_a~cgQb_3p`#77ax1iRxIx!r0HkDnA2G*{l|*}g_yI% zZdHt2`Hx^MA#VH7@BEN68Y_;sAcCNgCY7S&dcQsp*$+uW7Dm@$Vl7!YA^51bi} z*Vy8uTj{neIhIL|PhditfC1Jeub(uy}w|wV5 zsQz)04y;BY2$7U4$~P{k)b`hZb>gv1RkD)L#g~$*N^1N1GfNMS)4r|pT*V<&KE1M9 zTh}rzSW#Kcci_#(^qf0gTW3&QN&zsW%VAQ+AZ%-3?E)kMdgL)kY~@mC>l?RH28u;Y zt-@_u^5(W>mDdtqoe){#t;3NA7c@{WoY9bYFNoq+sj&ru;Z`x>4ddY0y*`HRtHFEN% z@mFkp=x0C6zDGgA0s|mP^WNEwE4O}S?%DOtce3At%?ThxRp@`zCH6MyzM)dA9C7IP zI}t;YUV(Jcnw$4LoD4H(EM#!{L-Z|&fhNYnBlKcQ$UScR#HH>scYBTf2u|7Fd8q$R zy5Cbt=Pvf^e}m4?VVL@#Pi3z*q-Q0MG8pGTcbS|eeW%R5bRzKsHSH#G(#$9hj9}0O7lXsC zbZ7#UjJM^FcvdKK3MOEl+Pb-93Px}F$ID&jcvZdJ{d(D)x|*`=vi%1hdg(dd-1E>& zoB4U&a${9!xyxoT%$7gFp{M<_q z9oVnk*Dcp$k#jA#7-pZbXd=L8nDhe<*t_*%gj^Vx>(~KyEY~i&(?@R~L_e^txnUyh z64-dU=Lc;eQ}vPX;g{GitTVZben7||wttapene^dB|oSGB~tmAGqE^`1Jxt$4uXUL zz5?7GEqvmLa{#mgN6la^gYO#}`eXyUJ)lFyTO8*iL~P z$A`A_X^V#!SJyU8Dl%J*6&s9;Jl54CiyfA`ExxmjrZ1P8E%rJ7hFCFo6%{5mRa|LY zk^x76W8M0tQBa1Q(&L`|!e zrczv>+#&b2bt zuD1Bfoe>oW0&!ju$-LI)$URptI!inJ^Dz|<@S1hk+!(n2PWfi-AMb5*F03&_^29MB zgJP7yn#Fw4n&Rod*>LlF+qPx5ZT$80;+m*0X5ffa3d-;F72#5un;L$}RfmR5&xbOf(KNeD|gT1x6bw5t;~j}(oMHcSzkCgcpbd>5UN z7e8CV*di9kpyJAo1YyE9XtfV1Q8^?ViwrKgtK$H60 z%~xgAifVV#>j>4SN10>bP9OV9m`EA-H{bzMimEQ_3@VZH%@KZzjDu` zRCG*Ax6B^%%dyLs2Cw{bePFWM9750@SIoZoff4mJvyxIeIjeZ{tYpbmTk4_{wy!_uygk4J;wwSiK&OpZWguG$O082g z^a3rw)F1Q!*)rNy!Sqz9bk0u-kftk^q{FPl4N+eS@0p1= zhaBFdyShSMz97B%x3GE|Sst~8Le6+?q@g6HwE1hJ#X)o^?{1!x-m`LlQ+4%?^IPIo zHATgqrm-s`+6SW3LjHB>=Pp{i<6FE#j+sX(Vl-kJt6sug<4UG9SH_|( zOb(+Vn|4R4lc8pHa-japR|c0ZAN$KOvzss6bKW^uPM$I$8eTr{EMN2N%{Yrl{Z`Y^ zaQ`-S_6omm((Fih26~Bjf^W$wm1J`8N+(=0ET@KFDy;S%{mF@!2&1UMxk>jTk49;@ z*g#0?*iga;P7abx1bh^d3MoAy*XQp{Hl*t(buU@DamDmvcc;5}`ihM!mvm36|GqRu zn*3}UmnOSUai6mM*y&f#XmqyBo>b=dmra`8;%uC8_33-RpM6;x`Rrc0RM~y9>y~ry zVnGanZLDD_lC%6!F%Jzk##j%?nW>JEaJ#U89t`?mGJS_kO5+5U1Gh;Lb3`{w<-DW; z;USPAm%*aQJ)UeYnLVb2V3MJ2vrxAZ@&#?W$vW)7$+L7~7HSzuF&0V95FC4H6Dy<( z!#o7mJKLMHTNn5)Lyn5l4oh2$s~VI~tlIjn09jE~8C#Ooei=J?K;D+-<8Cb>8RPx8 z-~O0ST{mOeXg+qjG~?}E8@JAo-j?OJjgF3nb^K5v>$yq#-Ybd8lM^jdru2WE-*V6W z>sL(7?%-Qu?&?wZNmmqdn?$FXlE!>2BAa^bWfD69lP0?L3kopYkc4>{m#H6t2dLIEE47|jcI$tEuWzwjmRgqBPkzk zM+(?6)=);W6q<2z95fHMDFKxbhPD-r0IjdX_3EH*BFL|t3))c7d~8v;{wU5p8nHUz9I?>l zVfn$bENo_I3JOh1^^ z+un~MSwCyixbj%C?y{G@G7mSZg_cf~&@djVX_vn8;IF&q?ESd=*AJHOJ(!-hbKPlb zYi-r+me!ezr_eCiQ&SetY;BocRokkbwr=ONGzW2U@X=AUvS^E9eM^w~aztd4h$Q&kF;6EJ1O*M7tJfFi}R1 z6X@asDjL5w+#QEKQE5V48#ASm?H7u5j%nDqi)iO@a1@F z*^R+bGpEOs#pRx9CBZQ}#uQa|dCH5EW%a3Xv1;ye-}5|Yh4g~YH5gI1(b#B|6_ZI; zMkxwTjmkKoZIp~AqhXp+k&SSQ)9C=jCWTKCM?(&MUHex;c3Knl(A%3UgJT_BEixIE zQh!;Q(J<0)C`q0-^|UdaGYzFqr^{vZR~Tk?jyY}gf@H+0RHkZ{OID|x;6>6+g)|BK zs6zLY0U>bcbRd6kU;cgkomCZdBSC8$a1H`pcu;XqH=5 z+$oO3i&T_WpcYnVu*lchi>wxt#iE!!bG#kzjIFqb)`s?|OclRAnzUyW5*Py!P@srDXI}&s2lVYf2ZCG`F`H-9;60 zb<=6weckNk=DC&Q6QxU*uJ9FkaT>}qb##eRS8n%qG`G9WrS>Xm+w)!AXSASfd%5fg z#fqxk(5L9@fM};~Gk^Sgb;7|krF-an$kIROPt4HLqq6+EL+62d@~4Hsy9nIU?=Ue4 zJ69;q+5+73nU|TQu}$>#v(M&Vx1RD=6Lu`d?>zHN?P7J&XWwsvwJt|rr?CZu+l>m4 zTi^VLh6Uu2s392u(5DLaM%)Dr$%h3hRB>V7a9XG`B{ZsWgh4IyTO9R~TAR^h^~>ko z(k|Hy#@bP}7OyN92TKE%qNZfyWL32p-BJf1{jj0QU0V`yj=tRospvSewxGxoC=C|N zve$zAMuSaiyY)QTk9!VmwUK&<#b2fxMl_DX|5x$dKH3>6sdYCQ9@c)^A-Rn9vG?s)0)lCR76kgoR>S;B=kl(v zzM}o+G41dh)%9=ezv$7*a9Mrb+S@13nK-B6D!%vy(}5dzbg$`-UUZJKa`_Z{*$rCu zga2G}o3dTHW|>+P_>c8UOm4Vk-ojaTeAg0-+<4#u-{>pGTYz(%ojZ`0e*nHo=)XZS zpp=$zi4|RBMGJDX{Db?>>fq71rX3t$122E;cJ(9elj+kBXs>3?(tq=s*PeL^<(M$8 zUl;u9e6|EP5Us-A>Lzvr+ln|?*}wt;+gUmd>%?@Wl@m%Qm{>Q0JqTcxtB`ROhd6TB z$VY<7t$^N6IC(s*Z@x2?Gi%eB8%(hYaC zKfY5M-9MeR-@5h zZ?V`qr%%FlPQlW5v_Bp^Q?^)S*%Y#Z$|{!Lpju=$s702T z(P}foXu(uuHN!cJRK*W-8=F*QlYB*zT#WI-SmQ_VYEgKw+>wHhm`ECQS`r3VKw`wi zxlcnn26L*U;F-BC9u{Csy#e%+2uD$He5?mc55)ot>1w`?lr$J zsrI^qGB@!5dglADaHlvWto@|S>kF5>#i#hCNXbp*ZkO$*%P-Sjf3Vc+tuFaJ-^|Ou zW8=}1TOlafUitnrTA2D0<3}&zZz^%y5+t2`Tk`vBI93FqU`W!zY;M%AUoN1V1-I2I zPTVFqaw3Pr-`5HcEFWuD?!8Ybw)Y>g7c0tt=soTHiEBxlY;RlQ`iYY-qdd94zWjyD zFcskM^S{_!E?f3mEh9waR7tb6G&yl%GW%e&Sc5i;y@N)U5ZFLcAsma^K?Cg^%d{PO z=SHQq4a|l`AakzEY;A{n6Rn1u`7v~#ufV*6GZ$`Ef)d2%6apsU6^>QJl0@U& zq|wIBlBAgf0j!YaozAgmhAy0uy;AjRA2%(!`#&e>`V` zg`MfSf5gWvJY#?8%&|`Aj0<@aZ;-q#tCx=-zkGE|_C4)TqKjr-SE6po?cX?Z^B%62 zdA!75;$my<*q)n@eB<^dfFGwRaWB25UL#~PNEV>F^c+e2Be*Df(-rIVBJo2o*an$1*1 zD$bsUC-BvObdmkKlhW<59G9{d=@bAu8a05VWCO=@_~oP=G3SmO91AK_F`#5 zwXLRVay<~JYok|rdQM-~C?dcq?Yfz_*)fIte zkE_g4CeLj1oza=9zH!s!4k%H@-n{6aB&Z;Cs8MK?#Jxl`?wD>^{fTL&eQHAQFtJ_% zNEfs|gGYh+39S{-@#MrPA!XpgWD;NLlne0-Vey1n0?=ww18{L)7G|$1kjI(sjs z@|alUMcx*04*>=BWHv_W-t=rCAy0q6&*;kW&ImkwWTe$lzHJRZJ{-{ zl-mK6+j}V`wobm^^B&2Tl?1r=yWbz;v-F<#y!(CT?-4K(($wWtmD631MN9?trDG zMI7;9U7|UsC;urLP%eH1h%U`LJxT3oM4=gpi%X@lpVR9N6Q(uhJ00RWXeL-Z*V(O8 zsIyyVUvf=RXLBKX`!peifjIMvMs1YT0n$0*B;K^yZf&HN8$N%e=EgOejqihLPBT|< zs)z`nNU}BOdT7wYLy}R10eXUksn9o)jG)&=qteGc|XNI~h5R6UBfaPeIHbA32@*>orZsCB4`Q79}A=z@najfekt-_eTg7a}Mcas^D1ELlN6(y28c{ur|tmueFvIDOQxXs1)_lKrA`L2-^^VNC#miFvO%l6w5uK2bFyu?hyNLCjTCNRRVW^i+GX``giwc&TpV~OHu(yN&o)r2$K$1kjh@>iP z^&`?sCk#?xdFX+ilAb(;I7<$BQ#6j*jKsu%LEhQKe=>ki^ZICepr3#_2#pE`32i4Z zu%eXsgL)3x3Q-^OPPRhm<^!TEPoek6?O^j+qLQ*~#TBw4Aq~M2>U{>{jfojVPADAi zurKpW{7Ii5yqy6_1iXw3$aa!GLn|$~cnvQnv7{LMIFn!&d6K=3kH8+e90Zq5K%6YfdLv}ZdQmTk7SZ7}>rJ9TW)6>NY{uEZ zY^9PI1UqUFm|h0Vqe60Ny=wCFBtKb zXtqOa3M?2OEN=zDX7z}2$Y{2@WJjr?N`auMDVG9kSH~FjfJRNfsR@yJQp4cQ8zaFkT4>5XQqSVt5c}`-A#Z=3-_mGZ^)Hqayei zhJ}wgZ5UDln%)!;Wz@u=m(6C_P@r9*IMPe7Db`CSqad3ky-5-EcG=*v8J&{RtLJ(E zw2h-ghGYcDtqj4Z^nU7ChgEXO0kox=oGaY;0EPqeW89T6htbZg4z!uU1hi;omVj+3 z0B%$+k$`oH5*SeoG`Ay&BAA%nAUjQxsMlNdq8%;SbEAPVC#qm!r7j75W=A)&a6)3% zdQq$fCN;@RqI!KPfl9l=vmBFSFpD1cAxb@~K-$ZIlIL3W}?#3+|2p{|vZVq`YA zMbx|Xl57kJVwoetAo+opiewCkCIO=uBLEaG+!0U$MRdReNsx>+PIJWN6dW)pfeZ(u zQ8ei-Ht69)ZV`qv=vmorhOkF)Squ;)8AUfh<7A_xI8FGHMRW>~%o`1Wt3|8IMrM%& z8)|@=#ssro9=f9HtN0F#O085{Bf6PJnurfzS_yg?qqszmnQIYDP{N=xqPfvl;VNsK^qpoy2&App~Fe(MB7KCI)$p1!&YEB&%$9gTk zmvlt?t7!>_paNt_fYJvw^~LCqX{4opLy!n)md7}<_s?`gytfSAdoScQWTy&Tbr&~( zg9myGVv)l|4-umFBL0)Y(d}Rvt11)(O4ij#zeao~K$vh~JDn0_@3RjP2M0|79T&9+ z?>Vx&M30Sb15&<{RtpeYUf|n7n5GHyc+-FtA=7H$p6Mh=&M0O!so)tze7#WT>pp|x zfWae>0++DfscU2%>|@oiCQj+6O827)1}KsN^a>NSI*4?#ylfG-{q?3MMXX$dUH^S6Ni=Ve1d0(janpz@WqGJ?cG&sewpq294Qa zL{huwuoARdt5F4Dbh#?<2ruzSS{VeDAOtY+52t^xJW=!(0f3P&G3Cs^%~Q~~Wq{YA z!QrEk#>oXK{sc&Z7VB1_>fA1^#YyU1Ff<^9G(!V0!JW`n@EDdj$$2SVK6*7$!BvXP zmAC;h-W75(Nnzpro3CE9eV=~Lp7yS(vXnk@$g3{R`!(UG013==W*Hj{-*F!ujl+np%IX?E0*I&-K^u zY1z1I!`iOu+Ll`UtL|F6Vb?~vk=x9w6}eE^*<)O?pZQ#8YKE#b($x>w$3E*F0Kfk zfnyCo#zOpX1(P2yeHG@fP7}}~GB|&S27%6=@G^V=rmeTB$(w9rC6J@uQmcAMq zQ=Ce?Z0RkF_gu30<;5#jEW32il2?}$-6PZ?au16Y)?kUFy3L?ia1A@%S3G-M`{qn8 ze+|6jh0vqfkhdSb0MvIr!;;*AL}QX^gkc+q0RJ4i9IyOo+qAyHblI+$VuZ3UT7&iIG7640a)fe&>NOVU@xZ*YE`oy!JGMY%j}bGq!= z`R5xY(8TK&AH4b6WoKCo>lPh6vbfu1yYy02g^t9bDbexN!A`*$M5`u&}WqF?+*m?ZoW85&MFmXqQ1J{i;_Oz>3*#0?lWa zf?{tv`_JzP7D3x2gX&ICRn(aR$#>;ciH#pO?<*}!<}cYh_r{hb6*kkXSteV>l9n6i zwx63=u%!9MdE>@2X)3$YXh=DuRh~mN2bQFEH&_nHWfU{q+4=t07pt+Jfj90Or;6JX{BCQrE8bZe&wi3fwEXHRp zz8{VAmxsWU)3nT;;77X7@GCm7_fL1p_xKEG&6G~luO;Bc3ZIa?2b(*uH7qJ!es71c z{Buj4(;Jds$o78u<3df_2~DLq`e9*$SGmrR9p2OoVB5Q(KL3M{1>eq+;+lHK9N?xvyBPHni<#j$sZK{QrKEcdR9+eQD0V? zGPaq!#<-c#a>t4bt+R#Hu_|}dlIGeve@SR!d((u)Ga45+BuhHfA88G0cPrw>>(`ID zZ;aIyn|qmhuDXBthoW{J(WN+`Yud=y(wvd0rm&1*4>6?#8&)Fz z&@V=a0w4)F{^!&W_l6<5xg|-0F!~>aCALbeVsZTd*)M*^tr*!)O8w)mzKThWyQW@X zw%BFs5_@CIic5EPcTJu8=CmynV;``)3}gJ`Vl#VY_3Yib@P-KvBk_%!9OVu#8tG|Nc4I~A>8ch-~X%M@!>yk~ERI|QEcwzgI66IaaY>gx0~lm<@f z5-k^OY#SGC80Yr-tDRP(-FEJ{@_4LHsGJ=)PKZ@`eW75-r0ylN%0Q>&*M;@uZLdJ$ z)rw7Dt5ajr;P;~1P>jID!><(7R;w|Yf}qI&8klT?1dTfc@us5mKEe;qw;YKR(cp-D z6NmUMP8x7cM%~ytE@l*Mp^oN*mCF`gRNhw3gpO1PVi_^JzCJo>#mX(q+iJ(Ts$5=! z13b45gILEULS!=)SmZ{qsC1)$8-4eADGR?v z>~4k_SvdvPHAC}=4(!I^OLgQ@9EMDE7d$PvJbi+K%-HTh`P0#Ea|Jm6zj> z?R)(YWtZoIRx>AqzlG1UjT@6ba>yE z{Wf<5moh^-hu;ptAtPG}`h$4PWcOn>vy`#bH#Ss>OoAEE1gIbQwH#eG8+RHG0~TJ$ z>`C`c7KyM^gqsVNDXxT|1s;nTR&cCg6kd<-msrdE5Ofk=1BGDMlP2!93%0c@rg~4` zq)UFVW%s|`xb>;aR@L^*D>nkSLGNmM?cv)WzHZy3*>+*xAJSX;>))*XRT0r9<#zIpug(}{rSC9T$42@gb zy8eb6)~}wl<=or)2L}4T{vum>-g)QaKjtnp5fyd^;|BxHtx~2W^YbKq1HfB7@>Hw@U5)?b^H=uNOpli?w6O#~V`eG;`irLcC(&Uxz`L_Cl zS8r24e*U71o@dV6Soupo-}Ttu*Dk&EwY`h4KdY-k55DSqR&o7nufO)%>%s-Es^5Q_ z60#cReEy=$4|nW)bLh=|4bxW4j}A?qOle+wjn88oAeYb~!eA+EQ;8Ggp-UldAt$3M z7*E590amz>YB9L(z?Xx&?I37XYw?Os-t+05x6Z4vkzBE6-hrbB=GAB?p{DQXV4CKg zls@_wh*&XC<3R(CEZxg8*Y(6a>cIOq9Nss7{=UQ7Nv%O_WxSyBqnH{@(<>A&2on@z zn57W4Dh*E)o#rJ2#tyxV2;C5#rl8%%As$4qB=IbMt-z|jnWi>>7Ymq37;AW!6Y4nx z1Ogx#!WVdA92mEipgUxzy_?ddg|x)KOCyK)P5v@usc;0sN3{=0slt4CuwaxK@20eO zhdp~Z8iJ7GWrkq_-X`~(eBpthn9|`tZEUCIGiFpJjjxPVE9I)#z3Q$3tw`a69qxjuf+~ z*?v>d5~pcH-AQ~0)8PyIjumD^?SM8!Wb>KZoD7hOlc2nA0_(eG!in>}Ru}>6)>5 z@*}T`Hw{I^-?PS9>(#UFBQpW72* zsfj(2+_9@5x+57aN!`e`f(Mp_I(D>}p8)@&g^g+X1%d{ z%X5boE?hEoj0CiwTh9)#8^?~;|wgor_=Z1BI9_dI{ z&t*f95n?ZgZ5CnQa!v(p|JT?y0%KKgi`Smi9k5r!+!Mkz=&Z$%CFl;?AOzV`YBKrY z0#Y6~J6&dA=m>T@TYb8ukaV4z^Z?VX*MCKcp13-ye1*`gAj_Tm@r{fpm?K!U@Xg2AfndEo6jZN} z=XK0GRNXVLW2c?}B)rH^yR>u}b?|p(W$!TkQTAgu1AIG>MFfNchMQB_^-AQxRE$Th5-E_tBP@v(Cy|ojjP5LEU|JrM8 zVF5;$>Hl^jlHWDPChrTH(vh%bARyj5#TPb>omAs-)4zN z9?9(wybd0$Z5s+}Fiytv}-8U`IC<{6U2_NqEAkv;7lys5Qcq3EKt z0-!^Xy3idllgZ~qX^QTe=i*oGUCJNk>Y26?+9U(Ks|C81S{-v+6ebc`c(yibQbuB% zxM7mk>}dI-TfUi5Jqdu6b`4SqF)y5humuCaHhssdcR(jKf5ZGprx;Oe7VG#G6TA1+ z8oZLl<+ey(L+$Qsck^4fi{I|)p15MX73gHFUU!l${lN{)Ht_Wb%j#UE6cZ9}Wq^>+1wz z9TBA@%f~tby^0YWafmn&8Ppjn1Ng{d;S01WImtMzV<`!zU7;+8e-Xko>qM^OfOZ`Y zEZG#vcm>EGF??&G6+v(3l`X(xMn8ESv=@LdMfdcxFi%g1?0HDPG>blldR`OLlWN80 zz<$t+MM9%1K~JT@#aBZjOu9*G{W$u7cqTM|&a1)0wR8R^*r$<&AhuCq1Z{-aUhc5P zdyaaK{$P=Y6R{40FrWmLbDOCijqB(1PrKlnL)Tm|t=l}toVLAZOXJ*~-dx|_A&o65 zskcpT@bs+d@ia`f)t8ivl{(t%H?O?;=^s3O^GXqopx7E3kz06f^UQq<>gyNmo4Ij; zrOxuzn{WOqP75~PwPXC;3mZ#YW1xy&DEXsl~)u4`-v_{*B%R6xNH3* zJElz8@d#i4`#JV(ko%x;u{LMqLEEDmwD*(ccB9Wp;u*9I?=sC7g>%L{%$4m#zhbjm z)gK{LWQvE1>_yl|4T$nYKNVZ<)vza7FKU5*W~4)KNgN@;SA<9&ERxIfA&UZnB=r%N z5YD4fY$9Mkzy}!G+`KUy>3l(FSi1 zw)t)*w$E4#ZSxfm3cZLC(o3aQQ7uHk>_@fMTHoM0=quh%mfN6%{`O($pyzg0kPf=2 zjA%M7bRl4BhV5{{d4HbnTh`HM&YKw@N~47e7NFGr*9Yzi(7XQl-FJb4hPEKOC!K2x$nWy>8=PJYE)T$=Cqe(n*ChZE zklF{Ms}h0Jd|@o;Gz(~b;9d&c#0O^j{1?tF5dtMj9dG`|j0qZi^aF1r{<7KC5hZ`E zNX2nxJYEr@>u86|tPjTDet;fLn1R+IOm6&3b*}TOyNpIaid@W9c9!jIfiJOgK-aw=xb5Kpb)`E9x%CU82 zEQg_v`e+tWYClJHl=_EsSW?LZO3)o#ox(#2UW9|V7I8fYnz5fRtph`u)dywWL9}UV z*hdU9-BBK5G&}j~O6&dSdWDIpFX;&Or5wNbm^Y+A-x6(K$$Of6JTVl9n0gFY&=T5p zZX?pCxA&w{J)eDSfb?Zh*LT#AdiPlB;A%p|-`Aw6RP2mYTh zLmL~zM^VS0V@*4LkOEG~nQR)HyRB+;*KWli%QqKt&%16HWyMXRhtwdCgyoTm*5#itgp(Wap66 zyr-dgKgjl&t?JLMuw}!Boz)TOa2|37p^FAcPmxX0apWmfp$B1WF_@-dsK+?1F6~yY zEwi!-))Q_CbOP%?p%bx|=d^nLBig-_$e!nh19^Ps`s{SNq{nnW)V-qnz3y+Ipd7HS zsb}z%!+}y8izoy>Nyyj4m_br&8TGFcze#gP4?v*NEdl zzGBLM4qpvdu;5vCFi9^zXU;sW`>pPi|NFD# ze=$xI@7q9B4WPsw4CAO~UJ(S)s@u41E>#9D>!?=*N5m$%^0E` z<0RjkAj02TN9RLX3Js+GArg=Nu>E5z zPa!vMuMV06#7$1dLbwv+VGT(5V_&A~Uy3T^+|y~Q2>lA|=hZZ)ex%G`rhkN54C5gq z>w?qN=A+LgB0-@s{OJs7Da|z%dK)uDH4?m5Y=K(N5KWL)uqDxwBt>QmOk(h~1u6_s z>9x>G_+@bJhBQ;(Rr?20>Tjn}^Y`|rQvI3Ua5$aGq{HFf4BhwAFVk2oHNbk)hmAri zjQ_!g*-c^AKM>A@je&H)i1PsJ5929F<8bLXvONK4;-n6d;Zm7Q=G|k6Fp*AY!b1a`eoS*c zF413z6`x;!NZV1k5)sv;-Dqjt?t&|JLNGSA2yWhU-RYC^oiWI1+idw;6*>m1&Io`^iPgF6c$sN zw9j3KFYs@%*HNz1Jr?F^RiLV%@DyQ^Dnc1h&59pWKhD#AMQV~3k7}>c@gdw=dyRf5 zHGNU7bA_hHWUnI-9SXtjM~LT>U5!uS#{ zKSOhB>l^nUa&S8kEFoAUIDG}(Lr#|uJCGb%29Xr>1S4yk0d)9hoJ7#4xNbi?5Dt?N zBp45evje1L)A;&Smy9J8MJe@1#HwBFoYPv$=k%GOaq!kd58)tzBI~EkGG3Rqy>GOTce-p>jH0rb~c(K z1|9q=$3)Vdgcwyvy&>S3p(f~O;~?XK{)Kch&2!gs=%kNH#-Ee-i}S+a@DNWR(Xnv< zv7kIUUD(c?RS|JmPeXBC6cbxUl6qRxl;fFAiK%!>EzFa zJ$-mz?G%WqC+P-l!DLX&nfxzGAnLaFsOg^Vq~gaW2QQ<(qixj#J=;Y{m`?kHkfO)i zdxQ*`2Jr3iXdj4QE%|AlQ;|Wx~pKrr7xuNnTe=t-AO)iha6xDYpH}>yZ z+FD^H2VS0x4us;Wo_95^kElZ$>j2HW@wyeLi3i%Q28NXxQT7V1{iHY}Llc~!Dkv8* zM><6X$}-pv0N#?+N%W`5%}K0Is%8kCOC~LuR6+;gtHYPi9=dqUoin~Q^MhE;TSIe$6dEI=Xs(`oTlj_C-3c4KT+wJvpu4Kkn_RZVg5jE+RF`XNx?0xmaV~bW?v}wVTXn4{5 zO&2X+*pF%!%qu@3SLRk-npU5?`f_cV9;|pa#ktlD9VuvRx;TK+fWUv_$vC8-@TcO4 zN_-D6?7|-4!VWMEgQ}TUe(c3w4{eyxe8C5t7pS0MFe;X@U&B?sVDIGR;u>?mPyb2F zV5WLiQ2mX&1v=E#B`oe9yk4Y2^CFRk8*rV6k1!uW{m47&7E!m%(ANz&+ixrB^ng(;#RLHnX%tfsjJWM- zyBo5Of=eNl8*;gm`ozE0weGdP7~Iz5$$pI`$C5 z`U46T|8cnpt;J+VO?%~H_`Ph??bcn%Jzu`2`z~tc^PoA?r znJlfFuxIeRC?a>J?C!EC2Bn;dnhn3XeZ}sbjb-10*a7A?aS00$P{m0wm zO_v_`nJOwO*k6S$tHR@xmt`N`;fR%l>^^ZvbfRm}PUBtryK5pTwRdIZgj<#_irORP zr7I?yj7m&+KkD(;PKtLXmF-s9=>`j_AFjI$YN7_w1g7hD(md1~ysZj9;u_Y4i3Ssz zgRH~g_UH9AHR4A!67Z@2zch=Odh*4WzWc2=ekK0-ueW&=xy{z7Gz9CSbv}Pk+4ST# z#ZxnW&!Z1tS0A}`@LT_*wh{sv=f-Dy+2cPoUi{nzYTGjx)eit9s#G5^D0+(|iNBlJ zV$vUX35MrZ8K19VAN|i75_}Z#DO`R~MZQy~2$6gqOvN0Js%d70SzJm|ER&Jy5k>-I z!fh9^fC*zr22w0EG6&Uqo`eqC7_L8gi(#?!A>;y86ak0F7|oHQIhmW!15hHkZ(*|o zF+vd5r!A(imA-b0}qc4-&FS58}j>!?PW$SEg*;W8H~a^e%b?2`O8 z*`i%!x17FmIo=X;^83K2Y3Hja(b_rMns6%ts^>=(bA-9V<9O1I>564?R3a}v1yYtH z*l6T7AY0T66-95WtZgaP8(}|MBGlfNdh@=~Y1m!IA7($BPUtE`qT@h@;M3Hd z;_dtQw^?1x7-WaPK4XDxuqd5+qVz|PQlALGw|x}&MFa4RtVSK`(e|RtFN=u%s&M?) z7+HD3$diG_iYZuX{0ijc(*2C7cTX)p*3LRRtn3r@wq>%<@A9jY)yX*dv zSq7pIH0)jCA$)wa^7RfPVlWXzzoH}vzHmu4?W&f|zEC#fi<;dYS!Z*G+=!O(wLx7} zkfS~!6{@R-(Uw86L(mJl7`6&&tfKDx<)c+WIlqL)3pSX=7*`N5ysyr`8ap$bd^E3w89)ZgPiCBi|f{Ji^U)|AMCk%95n_gVk3|_XmE_Z6(keo8NCgI|@0sfZs3_s1} z$KK|ZCF;AE#cQiOrv*z^HWTBHM`H8Hwdx20FDq8lu^{(Q!@5s%Urrmi_ZX=7)j%7* z2x#|wO+pMI^e#2DpLkU+erWUorFxiNlu1s>XIg^5wIEm|joek2Rd2IsPtNkBRLQTFsnoh4v_<(`f@uV0I_G*I9RD+?L~j{1bx`#0ta zEeZiTNBzhh^|GEN+1vl7{w)Wm!`yhLKAuC&Ve`GhjRo0c|E^`tZXfkQW;&_kBLS|M z7!XYb?!E&&=u`h5Ld{_dyivFMQHW{aI!yVS7oS=ttZ_4U4sb{P=wmO6wCrO3g8Cir zRxN0ht{}^=kNOy`2fdgiLzr_8?$^fWMSdbcHb<)&+4+$`i%$>mB*aF7fv0tiFWhcK zRThLy0Mtx?A6Q34Vn$tJOcHkv?-ldg8_%9Jr8YX#=C;}%u*pWq^?L5VVi61EUkC^@ zTi3LAgna%bC9aB?Qos0?XlUZtnp9cISx)1AbGeO~JGb1<*DpHId@iRrT4e7+!$h07 zWDZ4FAXQ;*hdB%9)8U`#Aq1XW1`G)sm$Ol@ZCv2#2r5~I^BXuYJm%NgOkCQOAufat z)Mo2&C`TDc7EDz1sE;V{`=Bx<#5gYrDb+@@FE3>Yx=pZB79-7UjD-g%Z#qc&td6cl zI`S1u2Q2b!m^1LOg{LEV_eV*@cFW|i{!+a94itA#8 z2;?I%3?C8LQn5B+Ac|?$1Ejde^`AH_B}3`>#H=np*@XDR^y^=fZDd~Fz;wS>e@!M7JaPvv zPU?=U|2$6iw_+;&j{0oiARgl1!2p}_PMTg!Yxs?H%{HmJgU62_ghA}_;}{7x*brZc z@>!rSz|M}1YPdKizI;?B3~2O%LY`8A1SF;-m z+Oxu{+PYOU-V9O}bVd$T!;AU2M<2*KtciMEC29!H9V-u9ZUJ$M-4#Nb$5QVy@LP8HyfiyK->WR(e1g77J;isq@ zxu$>@C(@*mf}RY@L8hJXBrWMOEKDqt3i8iwFSwpR$W>G_j=iMN>(!1>S7GdmXt%UH zpfdn%XxP3S<>d1=1{yBn9c@?(YZkyNN1 zQx^M4-32#mo8SKR;r8t_CV3=RwbSNzS!Jbd%GS0L=qT*0!ERw05x~DzSsUKHYQ||Y zuwKD!+2nux!l3~g>0-F=;qnW{w$F|jqXuhZz#N`4WtzLDj_MYvu(*X@fb3G;s!oPE z?QMW|e7J7#=?C#3QWQRp-~(1;_=?J(Y^}oNmHRoN$^y4Pv2Z8cL)EmwWVNJh@>2ER z)el6y-IQ`!2h2{kx3}jwTf$_!N75)(mi|n=?Ylj_>QzqjfMiO67Wc4{rOcF4JS+{j z&z%duf1`r(U@ZlI{F=sZFnCGJv}cN<(cA|5AP8m+HUK z@vG9%#_zOu)ChxFSxmKsBSSO9XX%g4SU79e4=G!|Cgo(;VeA8dsRxIZ$Eqhj(brh0 z>Jh)P2`<<#u_i^?L>%2jxXAxZX%?<7l073C+~1p!t{Dj_9ZxL$sz|_G{C#{Hv@t=B zP}EsMr62u$;U#=d%MRJHCiNv=5OI3(_o-A=G_9B~AsrRui@pzUDE@tHg#6PmWEuT^ ziPt|@8=kjTNmkqdOlyJS!m{E9I87hqn;%9rT0<0-L99QeURoyK-&OxH^mcao3^t~WeS^K zH`XC|VCLo6*duA78O!ugN@5Elxkhd!CmdSX&*f=utfmDFD9PkBHMk3&aFB&)R8NL4 zD&i)OQLO z(Z_o2Zs~o#^$zu`{XU~$I{T&vAH3;ofJ*ZpJ&JR~s{J0}8cw}`t#a3NvWA?#tMY67 zLG}{Q{#6^CipQ$*V2|W$g2v->Y9+4=(K+K`;I4$BFUb9!Nrk0B*fL+v z_lcdO1uEs@|8I@xoKCB{68@q=)}90JCVF33Lb?M@bC5mog<2~vPXXzk7B$|75Lya& zL)t=%E&Pk`S-PznN<)4iAI;NU!@f0_V&wOND{4!~b@1&pAN$Goqzvq>;o=lr=43Xx{tUtEaN3B>CWZ)Uac%%Y9--wFCA~Ek7aAC_APm}b zpXAnlNOIF+;t%pPlAxIkvv1neXa8*XxNLX6ZDDR(+U5bi-=^>US$+3TyUFaf{gSPI z&A@*!TUbRQ-p-3$KUDc=Hp9j|c+t%)Z{KNid2DyGia&p6lgtpOkDeM{Qy=)H&22V` zFBRKM=Etf98a&;o2pD`R2ctkyWxz`aTDZXBjY52aOspy*2=?xDIZi>&&))8y?Pe*( zt;DkFm|`@cFI!Kx=wFn7fh&cqy-f1RZb2KRCK7JNBsApYHWk=M5J&|wBQOdb+2_^g z*;b(s3o^wX$sWZHhUhNh^+UU2+hPaWw)eN~kHy66akHOp4#cDm_4zDetK1Mqx+sR1`nMz9wwQP*hL>=&Kei3+FtV>|yg%{T(6f`N5BR!MdXj8xHG^3) zqCJiEswQF>ZLP}3Hs3ciKciD63}0Z^MFL6+`V473sGm^=U1^Mx3`Y|Mrl>H0pEcT6 zg^H5MH*WeRUNMs9VN5fcZQ=>}GHBs};LS}+P-y~P#IlYJ0P8ym@R(0L;jYe*1D4ll zwDy~vES0HtyCCI2411OeiC>SA#1wX;8DRXzVihdy^T9BjrZUmN_=b)~n*!R4%Wps~ zkbFH!%W;I*pJZ#8%)c_#RUtKlOksrV!Y3i%vh>?b076sjL-)-NtH_t7E8;OBZOPa@ zAofQ3jdT&<%k!kzaG)7qW3j4HcvQe1&&jd+f8}J3!f+>UDx7H_B8^6hA&r*!PDQ-B za5jys`+BVIUd>7lmgi)Y&fyh!`yosPQAwyIh?7D-h2#b7);pTpdfDrCm->#&W_JPe zRvi?=>OgitOs_62y`!|JbhXf5STOdjJDPjj*#EK7D|Q>bl1&L=hPkN@2)(QE#vP@l zt9uJeTG&n{WG78N)aYu19%#`y%8i44oVsSwNLRxgR6hF`tsw;8VRy)COB4`B4i4SsLAa4`Y(WRazi3X`Vv!fMiDilJX?r1a{9%U3-*f6J-iKJh{i^La~ z$yJ?ASG(MP>=IKImh$g9bD7xJqR}YghlfIHszUwEmoF2yQ`Xet0HgZCGNmYge2TvH z+d^IF=q3{GD`-m8K+R-7AdPA64e{l|c4AofbmD)4hUvwM1bw^%@mXLok{H%R#q;qz z+gU3h@JZH-G^8$-2?T_&a!E51(fhSa5Q$w^j>=mA9b7)O1^G1VKyM1v8fOAgDLfFwlSN7aDkBbh=1Vofi; z{_|sQ`!zOY>fWC264~Y0Y;ZbE!j3Cqv4wlfV?E8SiTe3tr;ceTaXo*JV!Oufp0KT} z!>xB&7aARQo9It=F0Wa;$5j)X(=fKBtv5LhYKFC6eJA)BwZ>zny85O7zI6@a-&ln8 zLF2LorHz$i{9dO!8mb#Jp?&t4L$8*9&!)KTkLxQVHBP8FA!bZwX zC$1xtlqa{pU|8*e#v_V+#E4OT zjwi(7(vGZ$V!mG>tD`=FtRvSqWZ9$*B?GPmVd1ek!0@{$s=gg&_gx>I&W_E$e<7Y+ z5K(_sDS$qH^8rKPSita&*B->#;u88_rMf;Axsguitwh`|=XF8(EVlU^L*PKbu#TN~ zwj8|9X*SENE}$egSAG|3#!^5By}_`$$?RM3+{=QMMid7b`V01GIvvI+&E63R2wQNp zn}sc$*2c&2oUL%!tO4~7wk4n)tpFT)D3<_3R0r=|=}&0KCf!VqIpm|jC(z<~qb-#Q zZxk@2wJZtt%hiN1;J9w_Hzt9B+S-HzVkb8@NIl-+0XLm`=_dDWyDqXB zn&w}0*`hmpYVLH;R9>jKpbgr%Tssmku7 zB4?i;DJ=yE$6)n>a-tiWd=_(RksK=Y6Abz5;b5mLI|>)(FA9o zGzACes-Q@1Vend}5C)iY7*G)}1M%Udge?eW(1HnSXri;yq(~2bXQq`x;Yrz#0k&ke zS%JGlk~lDWC_ny*-Pvc@4#dzy&@`+2PkV%% zOIv<3)+u>drFF184*~^AoZL$_J<;#J>d$8hF1HEz)8d7HT$%mI=(a%Fw_CitukY~T zzCPh-wvU#V(e-YoddEiUO$O~Gr_8a91@$Jc+rpZOpW6;!qTct6s-1GiRv51Kzn!ku z>d;8_q{~ie0yF5Z-59^#vLXATUx*cq!zD=G$XZeu&u5Te*HqWE4IIDJ=3 z;X=s*MnE=AeJ9|E8#P5YEW>Y3>i7+gy{D`72zWgEJ6_;p$$k1u>hqEMJ4WhXT+1`J z2UoHdw1-mEKE?MEYBN#+HGKNk5c-SiJgPNDBrxIO3hq2zQ?Q-Gzn`%I_?VYp&dv2M zvIvf0jiNBnpf1lm=3_A6ApuPS)>4!*8O26GMgpxwaM6T-up7}x$fShgk;qe5v^RIo z>TaB#z4r{2{wUbivuj#sL%^MIIAif88=Zo8VO`(VhtJ#lK)G7`AVbhecjuza-rrB| zo4s>x>$20;IoY}UyhY=kM#Bz+WZSjeUwYHVtw){{#_rt79ybJJr`6`3xa`^N&f)n! zT=yimh90T==dW``)l)vNIle^QUoEWPPd=w1q+I0(zj?aa4;5EaZaQsy5FJ4LeF}5{ z$zg##sP#GwKG2!Ph}IYe2=jqBViZeEZy;=DiXR5O3_2O25Y~Q9y=cg)D}9l1=&&Xw&3l?g{8))$`(k@{a1p3a{ens7utuI^2=vshxrlD-kY-br`D+hAM=))3(PZ zpyB3*357l{^D%K-(OTUkjEoJ4X>x<^UfmPAA7hlXG?QgK21ybCZk1lxS0Sifv<291 zEjcA#Q%-#E!a(4PJtQIWk)#atL{s*GU*JZt07Zc#S!1%fwV7fXkwZu$LI=?Jii9b& z9N7&))d3Vh8fPHy4GD@Ijl7yD&?%NGuJ_OccYXkIaDN7{Ux?ntALbeUyb?sbz03s# zLfJD@r)GcJGkZS!PFErpG3low5RJ#jCL63{qLHqyaMc*AVNejQp_b+{ucvHN$a_^~ zK+n|6Qz^l#n5WiWi;#UEURyWC?C}74{5m0i9bm^jS=(82np)-?!p5j&Hj8-6#y5q$ z-cZx{GVhaJT^!E3OK(B$?9)Oq;h*nmgonr@l}$~5ny#*74^BUz-dtT@>WZ;S_3r_} zQNaQi9BKB}jHzND-dA1Yeacj3_qnU%q4vw$L-Baogt=3ig3Ri*h;4T_HQn8u6~D8% zu3dIGR>z7KUO$}07IDA zm>ULZ#zLtQpB=zl`Xly=k@2w#_&57?*Xi!kJ;wQT>Y(diU_s7c9> zJt9NLo6(QTdY?<&%(7s~gGuhxX6Ia@TxNd)1c%NSn z1vg!?!9F%t+BbteRT}T^ikFtgySn40Y{9CQ#s-^l6%*Z|a#r=PT|QRt>uzZ1KDuU2 z_UG&)_39e07-r|Hmy8d@CawADtYBN~ud`dnC6l4WwkC7cwB?%@#G0C73m(O(B@{A= zKYo4MwAZI+m;dFW_8z_0tM6&w{t;apJRSqCB|8-3|G^xy4{cteem4EFg?KyO^H>jM zvPiWhJ7a++c1XQBBKT_Aev;X1adZCx?O6i7i}=MPVM!{DFhM1no>Vgi=FJObSSzE4 z!cz06q4?jt9&?tl`>Ym||8Lbn@fQ|L_G8v#F`IpVs|l!&x&>B}_z$1B(XGyIsHAWY znA8qOJ=@^)4xPoaU-h^g^}_jK@kTQ7$?aFf|5I6D)sIC2%qiC(coF8shYu$ie*)ue ze%G2{U`NRIn<&=&^cNmI;H`MZjd~?#3I1s@KF{obqiu%g9@l{o^DS=Z{*u!j)-EktzHk%L~ zUeueNeuutfbuxAHnCfe9zB#!P8?xVF){CM-QK}``94{Bxq4Q=lI*@*(t$ z0*llTSuC3*FY_i0Esz=DU(#!`f?@wi{if=Z>r@~3asMrB8H6RvvkTcW)vbP8ZeWX4 zzxps+&i<@^TXl<*)K}C$u*vFs=c>O<uva_OepgZ3^mp(p%~u)K{5Z{k!@f>W^5N zctHJ;`gb-C%!>u<(kED#4A{XPx$+SHa}?%+(O6P8P)JhxL-2PKS-#1p!TbB=d;5nL zMMOs=yP`{Yvn%^wn}ki9e$C!VtI_NeVz`$Lz%L_RchA@F7J^6AM{gFM+M7MOSKOPu ztXH`F#C^w(VO);r;56Hd1-i|6n#b*T>ceqoYd9adu&Oc+x`?PF5k{oi7$_HEV@K2z zymA4)N+`DI{|3bN<-4D@&N)YxIVoqR5q@8N=Kc5COtz?XZfomYb%y==nU^drYn>b!5Ctr?PZ$sZJGC4(Lx<*GmYK3@9};69v2?xCz*86!x1fq z9-^Oe{|eU+0lSwM-%%oRlZiDYBcsgabpN8BFSM>vThx{{TLd#395z2-=dkJ; zUPumj_0A`QOXa%S$dG#HKaV)PHrXJUqTZlMEURp*D&K#c?PX)`>TojQ>yzh(U5ggE z+}3v2ww-mQmrPrgHX82`E)7LZ#9*S)OrYMVHZ2*%Ix2 z-f6n^R()lg_{@W9puD-%bs!$vZY>)VYBn{#u=iUtgZ1U*4oibOw!C4kr;~&cIo+d? zul5rmlh}%uY=)i|^mJ>IyR&mweFZIu_7x~{W-C@zr5Q1cK^!y+OU~frPEZqXZ04#L0$|tY}D-NPT^J>z!>2 zLk;VdDSg7vTYSmLjc%I1lCVSm>+G7BEY6w@(XH|*G{ zSt~)o`-!M-5J4aV2N@%gOd!0FRFIBn|vW}Drt z-eWVGJOi3H9hf$!nudR8+Nmhg011-@!@NC3DA2QVhVsnWtq@_vVUsn7Lgo{)!})lf zHnxUxXX|Z}q6~&9Cutz=WXN1iJCP;&D8)pBPR#N=xfBTp2pd7-lFF5XXBc!;f}%nR z1Ca6zjC^CAo!5Zpsbiu(lgpE2dZaZQmR3Pl1Nu#$p&}HOO1KhD0hr0cDxiUoC%PDR zz2y;b(?1FUenyXAUfrc`fgeIi%?Q>s#3O>1`S`d7)!ab-ztxcdp zi(oNgfzqrSy+Qa-h~$kCFl>tV#u zT0yo>Sj8|%X=Z5eLYl_j3H$wFA3GlQ`NIC8!J3ZtWgQ*Tf>iySj%6K(I%;b=*zAUs z@a=8sq4nu=XBezD!_2jBtet7FSqQn zIF@m`p^X#2_+Y@)f(;Nc7NdxOl%T-$NRFKpzZ*Diiyv-9$byI~Y_VA7@fF$z4H|Dx5g*3@-my-zW{NS^+s=4LU=S;5ULvFYRU7E$thNp8*A(h3CX5s zqQ~5@=c+ot#VX*Ndavjg1ef4*RI#r4+51F`-Xy>#L9~eMYl6w8mrb%>5bZT?ljVD6 ztEdNv0*uOqR@o*xU>7I~%q&O{-x-#ny*Sp3}O21M?Rd(O98C84<|F{P!iYQi+&Y*nsLu5^Ihu$V)k)=GECZL$l#xZCMb z%xz~?w@;eYGR~3+M_}0ce(?P zl902^TxqD4$DQx-Ouql3YC)>Mv?0+^0b7X9MdejK@03cTh{%+U%}ktHqQF-^C6`xw zO``FD0}P~L0z_&PDjancf@m?ZGR0TUYN{lM-RfudpltLzU;yJ{R+GzQ*P|q&zCuzY zP@pguLKr`*Q*oFilK?v&y$CF+j-b`jSz!_lC6mW>m+2px;ND~mcq=BCmMTz-PuXY< zOa5z2j)rQ{(LTN*&~0=Yh5whf_W+NhI=_eaPTAgjUu|FYx>|LuiX}^yT;wh{;oiU% z_p&Z@Y`}m`FN5C~v?rUXJU2@qOB4H#QH{+~N5*}@@#Jm2%V%+B2D zcW!yhdC$u$WMz8Y@Q7Sm;An!nZCaUSSuojY3}>m>9D|bq{)XtxPsx!lnpMKJ$>l0=VE#0Q${LhbVQ?(avB~M5H(A<6VIs~Hmen|XCr57cj;wDg~y7PjIZR* zau8CZLCaPfRJMsKeNi~1P;*LSAkgMF^Q=afBekooDqXYIppZJ`(kv}2%`0n&8lEg` z4=C(+1ET{^|A%kM#z zXK7m|9Wcfc3=~;>1jcJfX#rU|Ppz!j;7pMyJxd%-z##=(QTY&BIZl!@lVSAb*KE2t zsC)F&?X{LH;g7;@GHGHi9oIy36f@s3g3 zRt#I$TBG}b-9;4UrV$&5Ij9vP)Y;Np6VLT3k-c!=P<<;z&y-p^C+_T2?PjhnuA3&) zZg_w4iMx50MTey|GHd-~Qvv|JOonzEpncEx-PZbcYu(#|MF)Yep>~>mY?NK)j*MDlofYp2?IA zdWFjqQYB^@4u{F4kONMK_E=?Xxs$LThk3UpU19S{Nzmr?e_{2qb`9sV2yanqH0d@5 zKGJp8aZ;((RpJ-E(g5Ey-P)#3bab(6W+bgQb9J5E$fs<9fcfNuxIvFo=h1Dgwcy+w zPuTU(HesXi2ZPm;XEiGog3BROSUdQwi5UwQ_J3+1m1G-UYluB@01JOMr|AGf`7CDG z0ig`8Ee4)kL6qbPGy~CNdwL7bt`jNhr{b~f<0Mqx@25+$lS$DH(Vxp|&m0t?&qQTw z7?k*9V*W>p{DU=}4O&dJVTtJY(^>`^lPL~F6O|IFf&j!DWck6E9}tqnNz(gl(B;1+U04#Mx7H@PM!jr;8}`p8X5AFzRgZ z`H&lBbVagpDgs^cAL}3%1zD$XOne$PNmH;OFF;TKQt?TS2u1Xly;A5E%X>i&LS8)c z94WDnS|omqYiN=XeK3B}x+|c@HmfZ(WQ<~YG9AvJ!q|jbd#I*5WUrl&T>ys=H|eYa z=2P;fwY|sZguD`qxdX)M>uI;{{E0Cl55B`!K{}wLHeN|4VH*YnBfJf$tm5E77<2U`gq>@HG1qNC7Hcyb!M;d687pf$B(PUZ=T|xM7)L(EmRVw z;~E{-q~ZvOOr2pdE3KGuy*wmJ%9P@R0*A2yuAhIFS3E2{e{lXEPa&La>y?-W>-8zjMwKGjQ$BzcAdCp)p^-It?U!LP5Hxpchm^Keq$?$57$5a!Z+()BJRD{ z6WgCQN}23z-^iC&TytVqsnMs6p-*RQ(ixw2F8vzfP=&GB|8F?{vwhrLatNCSGk0hY z#-0-r+MT6XGIxqGf<)4vq(!0^mfU%UhXXyCkz}3fmG;0s&`8l>X!W^JfDuz9HUo@{ zuuFqpp>Uv)!psk76{RqQDF$&!v^n_ECT`}V@{zZoqC)oA7_w~`M~N|5Q|_k zJ;Up>vyh*=Kjn%>HQJW}(v6${w!9Z%lq8ZlF>@K=Ek<&|IT4DB~B~Y_O;v9%9bdID;FI$4}a;O}@l!+Yy zZ67)fU;`NEa8WOT7DH7N_&*q17&?q>qwQXMcFgOOnF<0N*-^sEWbzzvC)kr_vv+i5 zgPm2{O*$B>IAd@{>+WUK><(pc@%$Y%QkK)@5Tn}4^Ln|tOsDsh=f>O`Mru?jc?N+S zjv9?oZ;e0J6*s%IG6n*@)S#6c137i!nnDgDIU_YINmjH(${tUCloc<{sdVK)q-C~s z^SX%F!SQCb+A?8SAq-ab;ILesL&}?2F1w-0Zdb;3_7dq1y_J`mAZv20%2Kk(?Wvhm z?BgJojYahs`X@A7)HA9Qm5P}EkW30FIDr{C1ON{u z1g5dIMr=}b5GjQLE~kiOEsekhAqGW;iWew{c8QDP()f-j!!>b}0<_?aiq6~yI>*3B zi`CdXW~Cg76+JS8SL=N!|F26HjVUaAW#N(;&=GruQ@h?1{-Ra%60++(*a{-;SN={& z3m*yJzP9zU)P6F#y&<2IYIRcSWv>_H=QF%ksji&bymFkwB+s?s!OWBD?KvFpwAYaF z6HB9tl5(fq9jdFlXQI1E?Q^gHxncuVOg#lH7*|HYd$Tnnm)HD6gV_v+Ekb4 zp_-m+TC}!*?8^M?Y`$XK{JN&qk1Sq6xYYg&+mlym)o2Awb#46$jTWSN#;OI(jOptu zaCbaIeUAorw`cR3Q9bDuE~l}?)pf9WSllS}RTN5{AmKP8TP%l##64O+ z<9w~)>KD$L^#-v&PKLdn&JjL-V;0%hPd@a%E}(nDen@49b&%5#O-QsX6;-7Ym_{)3 zVl37&u%3X?ma&!7b)K&CFgV2vcWds-QvlU}1h5qyxV^(mlpUfHjzhVqKa?A?iY8<~>_=ad! zk8dO`rvOwQj>Y9oP2*Ot9wKK_hBC~WVtf!r`yU%(p%oD8e+cg4QUi%h2a{}O5}EG* zZ-HLS&Y#FkWd<|*0G}o#4taLmE^k0-iGxUlg8Xl6I@jpH*%~?tx@JuRJn#pu1 z@%_I=rNM%Y&`YFTCG|8jY9=GAaO%H4EqhwG9gJlaZKg1oi{db>rau>VdE^b)^5%>b8}?cL9itw!Y(Bor%WpI?%Pj4J{j!bwjl?n=A z?##%PqWmuA8zS)5vCxk(#bC(9jFU0xQk5C=7R7TRzMFn&JpLe}gI6mL{C!MbWW0*I zJeV8RWO=t%FK{h(m362pOLR55=AN7W`u2&T{v&qlpQUo)8&gl^+xyG^_=H+E&E8{g zDtj>Tm&AiGOuNYD{?mSBc+fDm!jX{TQ=#IZQaQll|>^G`1^D^SV zM+ZBRqk?)b(96%pKAv6kG#;Gx_9RUJOrL=Ch#REmXQRXa?RfD@|1DZPOH<>K-+Z~L-ZeSdCe_=8y zv$DFgjbD+f$Xn5p?QtF#T$_pgT|@$@QGPJGo8D>TeAt8fg6onA*w0M>p@iDdM_^a=-IIAa==ijmLcDs$P+!j}iuEj;;q_SK-hF(6t&u*(3 zU!LE)pqCz!$h##W9aWv*rYjeIUm+JxEFjgC8ezyBN-_G-vS}?09R$E(jR6BMU5U^@ z(V0P0B}3^eADjeW+@$S6T2jX+!gXXQh=c{DMBthD%*Muwk`k2(;0!J{>|O2$aekt_pC0cNlWBQj*NqU$H3%h)ui z?qoV$6o>@NL$D;;M02ATJ{}%ng;dfcXd{fw1p6fDH854f8 zL_5c+rAD;odO-?4m`z)jE@0QsIP#m%s{3yxi%G|qJ9mC592Bk*4$?J5vvrf&4==v> zL*Z%RPT^^~#-wiB-EW#fR>F=Qt#Nm25b;_CbGzR|l<+O7jV3LT3y%tNHaS?@`}o41 zF$uNZFw7Y~77Aa>jb2bAph2cqyb2hF{`0@kc^4I@JroH*5@Ck{3%HA7J ze{=QfTZrXPG(~C3e0zG=<=@}#yeD$(it9e|@}t3Eyl(l}7SBEY4FhdhBIcb^!*gCl znFlPvfq4vU4akQLkM!yPH0F@Xp4CK5WGsrIY#-Z~%66Yny0cS6LL^vZ{#CoPf547v zDOQeSMJf?e5Ldtea!LXg_#yu@^rU^*gZ%^VuaIC)(1`K^c$#TLNtk$0pons6AR0!$ zLUWQKxeJ{spst%xMbvmTKy*u_|1@&<2(Jsb3$Ne98JRk3nUx!DJ=x2tx%A513Tb^+ z6{A$>`g952ZR_y#^#BMQ;Q?NEWr8Kwqc!wGt6zh&EFKrvp{{ zN~{S=Y!iu^0Jos91XK~^De&WAO?3BQ!NF<=uyq~mg=ar(~#oOa0#k@s$PSzc6DGpZY zT%MiJKfg1}p{soS^vIIw;22}*cuMOjV++=yo`T|dD%z@Ov!(S!t0^oRsA=_x^+YR- zRun2H5=~%|fM4gQs|vMD>7n5f8#?tsN@5RaH1W^l8V#@Kb6(2f^@31PSCF5~CtaD} zHvqx#ExV!o0Lk}Jze|zj2?JMi!xC>^ZcUbx|8oD`UrHT5QaV&bC3|pDTvIB|$&v2% z6%>eP4*a&})c8hn-$b+WaF^U1-Y9%4?aZpl@s?;DwsrU3yUt6`1&HKhr(r4L3qt&ZY~Ue$d;q9YOJv}hM+5p1Omb%T%HEakh-=S^t}!cIW|NCt zvYY;N*Q~sC1sQXeEuA^!svEU*$tdANv&&^(v#x9Tve5*SsoPZk-nva@m)o@7>0Un? z!Atj^ZD6Nk^lh>fKMh(sMon0&1|FKqIv6qslh=z6Ed%72Dy!IIOJsI&k(zNe{r5j` zk_^X6`ZxFWKTWP6!%seNfB&|pQNmWNqVSmX-rpQQ`2bN0Cje~8WfmX!`rCUhuDV6| z?tzm(+(*>4Rl?Uf)zvuzW2UIDP+k<|WI}{Ib%x>RC*r31(n%p}+BT+-9GkW+IrRJX zl4DHYwrN6EI=PMW4E<6fuero2mvA4UMJq5i)7)epXyn;=e>z3@9f-LGcf5hMl*Uci zj^i)l8w{96&a4mrQ~GllC9!c~%TH#{M$B;EW?N3ttH6-F_R*bkE z%xs+9eK>1JJlEyUi3|T4SYbBZx6y2}B_?h-TH3hruKPE(H$8SVQM-|~4Xr_@In|BW zVgnhInnHim#YFuiJF;qqG`&6hB@?p%o1y+ku}Y5rxPFzA>{ANaiBNe-q$cmhZ(g6f}5CD+Sf>5JC1{YNhE(3F0!pqbX3(RwM@_N|c zFzw=ol!l+B7sM0Mdy|AsMx{HQl(76 z$#hO*p?1?0eXP0O(<)bIWm(nM?>D&fvK;|!P?al}G1;T~4{9s&3~cWA(L?15m&fK{ z)~>Hj3O^K`+eU6-gO#NfAS4*o;1-7UNR|0&(@~!?n_WwQKqAZxwyrJL|JM&?c06U%ORPS!-dO@oAf`H*?OVR=v)~F4S5z zN+5)YCd&}E8gy1RrguKlTO10oX1m^K%4>6G=~)DM_>yi%EXJsGuk#kUP6`2@0mFH& z*Y7NFja4Y}-Gp?I88a-Qs4d@6Y3k4^;uG$8HkVZ>6{d2Ts(+j_*H>Op!RM>kkox{2 z;Rsw5Iu&f8xr|1}tTY4tlHM>@EiDGFo?bbl;~Fu({1Z6Pa>+DgRgwURk+FuLorv&p zv=R76sC6XM%S1>W=qad%1G_wM3Sh6nDM0zsc0|E!6pSFE;zY!kd0?&wr8l1tn`~l0 zKjN<7P2T10Tav&7>10G6STwUFdt$Ckoo6!J;)Qlku~Vxs*jOESa`jr1$`w?}mAukM zx|OzkuRpal^rsm`;TczAm!Ag(3+p`9y^Z2s;Xjy+&E`xnc2|LnIxpPt&XsPg6uUf-7ft7w~JT& zfw+4o-?d@ch@?j;51V6l_vA4*Mm!^38vC%}t2Q0LXa*LS0U5%JS+ZNQ2IGMa4z4Ku z1XMXlM4({XWT3mXmejMX4KfvQpFUQG=p6zh1P(#hx0TaeK{z8y&FKjo3kEhe;iDcE zfcF9NrmRd+z#75I#zyOzI${$C4z8egkGJ98@%p80)mt99&dA=tEGF*_>L9oaR=CWYsR-P*G_o6S+z$z#(P~a{(6#ymX0~h z+zw|!lNvkPaUB%ja-FB?(Fv**Bgd~HFZW*OO%_;My4Q{$zEnTq*A43HRN?uNFg=hl z(mS>Jp)!boM~Ci|rMz6Z8QFl};xW z+VC;%K?kAOOY{Zm7ozQ4hK7!RFs`B9d6c9mQ-&9ZPv@IOdauhoi;5;SiiX_ zWHK;M)?aq=IP-A2oqKccL$m)pH~*+mz|;ySZZ3~)-BsluH|nc;xl+!#{ao9QcRBNG&Y@@wdtJbh8!GYyZ)Aw zzW!rQ{z;Ot{z+k{O^#r%wLyJLxwd z^XJOJx5eNf7|~5`*>4^z8HR_EXsbFq6_{Qh=&*U_cl%k zwM=iU2Q-PXbe70@^dA>Q@*j7JJAQ6|4-hly6bGu#Guf4I3#=NJmMq+jRMnDLMGTM8 z6FZqoQTr`j5OI0-s_>JgLyrB~1ISJSSW>S5iIM8Fd`kT8G)kmiG74kB5_qw%knBSo z@oyzBOWuPdb_$`9K7a)3Pq%~9W`D>*IUiM@0O!f@)4ww;cr6QD5gESP1B%!6;MicH!*-Y@P77+wB?U{(vm~ z0JN-bp*I7tds}$B|2Yv_ml9GUw621L=mG8zKA?tYOyL8Y$OA*gF20al| zE!BG;U}OpgXwsPQkfX7WgsEmUAWlI(Q%5G%c5JA@ zvU7cnaQC>*j%_XCf?T?a7#|JPH|92fQQw$ue`M)hN67HnNs*fMopiZ@%w_PtA1jc&hb32b{w#B}vxOro)&kk4QYrL#`LlzCOWDbu%nMm`flvZfG|KV$j$ z-FNRE&whE;GvWRhXt!eH;b*Q&eRI=I-{8}UJ`2g|xFh(1d6<`@`9woMA|kP%%i+S5 zK1F0WhSZW`Qt4EZc`V(MZsAXaeCedS(Vb5ELclEaS@QrmjTB5H)0hpPEE5EQNlSt? z21ITlh|EwEWF@giEs@COAQx(+_op}^iJXqHgKDa5asPlpLpVlbgj@6s?#6S zYL9`li=n^zx)AA&B=wJxE3xcTD*N=wh_LiAeKO-y5#$mc`A=Xw@xj(!AZfrCg?F2! z%%%|*5?(3e55O%Be>hdJWqz|Y>@NYc35+My#uxNsQ%rG0cZ281FRKs`l-S?BR7$Qh z-dVrO@Xl=E(CcZ!zjWz~bC~pbD^8Y^*o%J<{*O3DPI*%37d~UUCSH7g{XNT97LQ$? zYDwS3-Mc~fzXjb-ryofsKuafo;|MWb{O%5q#oGdD3s3+{Gu!C$mzxRqo(e`nj_uaPooI_7+V3f_n$&KXNEvegYzVOAmOI2;f z%Txl_vJgS~zx%NlOt`B5A1jvKoKv>6a#W5%cB9YQE}Ng#F-&RRe*ZmNFS`A= zffzY&T}2~NcH;d+T}$M2l)?WJg&c4iEkTi+0V>Z^9RNlas=*@uckms`6J|+}MwkVl zE*N-dTsD!&Rw6C9;`uACcs{*j*L;_2erJQvcU_02%bc~Ubv}FK!A+YVd~oxo2X_nq zIxLJ(Kec`BV~&r=1*4{GtdwIw_4r|;;(YY{D^5OnWS2C@x2K~s>682AHEryBn;yjZ z4?M8>3E?~8cUvB~Zsk;R?@dJv+4DFYRsX`H578avc%LRj22up7SnVaEaV$dP+@Mb2 zq4CIrhOkSI?M#gOW_%ee~$=YyOXUUtta- z@3Q5iMlTbdyK_ZVk=cxE)U2`ldFI@H5%zHXu&HYiR*LHY$S&l*@|^Pwk?pbS!QI|E{fuLT9l>Vn41g5I@&W>ri?f&GFo z2Mvui(Ha1iNH}VO&gaA?EjuED!@2g}wMSvNZckt@^ zbBcT{_aqY7%7ddWm!=M@i%rJXYvdmtmEHZ<%5=2wE#Ya?`{vOxdvUPHUc~Hq)u^&+ zVxd}piz@JUQn_L0+rqRxfv#aS1_Qa)SFTn?$r9m8tB0)&yDHj4Q)OzVO1NO^@T(S# zL(0QB&KiTUe&dAnr^5A~AR?Oh+sP8L@Ls*u%05spT>iM4%=WoC#%#@Vlnc)Y*M>(1 z%>k=bX=I0!#ZUiZtZ{s3P3^i(18oF$Y@`P&pb7q@ zvO&%Rinll&IO>Nvk;2BP83HY%nxOt@^RQ6}1388?OVhV+Wsgs0?25ERVP|+&EE0^` z9;D*zmtfJOHEx^cUSPX*CM%hFt8IaM+BUL@o;Mw^gE?}ONuG9OHsL}9goCExOl6k9 zcBF9hZPPbzo-Rz=Cbo417-4=XMb6q`w5^}k)dn8)rye-Nvy7(}Gh*3HgK@Lu%)3+n z3oI%!*v)_P(IJ#lCcqSZfges}9(VST_vZX!8Iyu_9WRljFOkeF&%DGjD#;zAuOeiL z)kL;tDxm*yaTD@D7Ic(j;`>P;SyBFLyqBneU^?`pM<(c}IK9OD2nZ!U*T9lL1{g;P zQHC5spChCsLWwhCBD+2mm(S2;iqgWTOcCcZWEYknl3hS(8+Jq-!Js3u!vGXFx%%`X z1GZyXL7}pT{gaax|rmpxnPf6C{R0 zTib|2S=j5#k%yaW)!9?dat0A=*X;8^v`SQ&KeDAp3DgrAcLuh@xA;PZBR zg`=d<4p03_tdo51mGomi;T*5W zBR30JjLniAk}JV|c8{b_@+!PN3ED$3pu<0a5gVJRMq0Nr)(md5j3YKqt%Cs={mM&V zt(QUujwTQ>MqnxgM4FbD0^omUM`j%X;ov|kMM@GAVteUvCTv*~XK!V8i8e-rGO=_w zoddypK}UkYEyU(oO|oKfA7hGR%Au_RIi%5mMX8P!NNn^DF#hO?MyUXe5YZ^CBuAyz zAaoLmQ4tEOMf%#4pPP{;jWHM)?Ifp@kt=LAg`7AKI~*z{W3ezw)pVPUQEMy~jk*Wh zTB*WpR!FsEi}0SsqLk?wqmj|el+#Tnl^ko>maAr>%xuC2=oZxEl4o@~9aI9XR%h1D z(rWcqJyENP-l}^|YjhfkRH_Dq0Csag*5}@Ne*Zr;M)&xhr-|1PuRQ|g&-ss8aV zHQ)cOM)PgI#`o!W$Vm6yr&5JrWzH40eATw{n%~Tk@(&l_f~OwphL< zCqVa}HZY$G%oj?XR`mrDRG?uJ%%7|Dde!ITbG2SC$p5Y}8a2z$XEq>ISjNkZ>1)ov zgE4B@ZHNjMe(1B_iMB^&AdI3IXEcx*Chj7 zB70ZAgoM~V!p$$OCVPKo`w;0RGhZ4!{v}p2VcgvrJjUJQ`tKgHL2`y{a5*?8l{pSS zVw`E_9ZV7@{DRZbcUGeBT!b+Rqb4RXao8LXXKXTqpXO606l_ghxNxwE%@d7RW#3 z3UEXjf7lI6*9ic+0Pae`^tPR>QL2SMsL3oEYnGOP$E&ou>S`~7xQVo(=)(GU4qQK3 zr?C@W$tk9f*D9E@M03cl(WrbDVpAIxG#Fl;5L{*BOWVj61YAL>qYM>lvf-j@87tpW z>ZJvtU!o^7M2?;aC>6H~*pz?_@A_f43oiSGu}SQ@oNif|jUiqc=UP!8 z=>_F32*pk3PFPZ*vcpA%CN-p;Wxmn4U-oTG7E0BO+K-oF$b+b15-I&yI4^>TevPA| z*`O%f1ySQ{Y5ZqvdO^$W`%*F%#Lt9hQ~Pdj5nk<{#WM`}1&EZna`}}EkJxL5;b(RK zf@)(^i_(k8hi0cS63J zs|Oki5QJx-ntFo~>>H%pY^E}xqM$b5MkoYvA@~kW?9WyLsNftU=J84%FU=uI1-qz& z1e^PwZW2CepU0^YenL2@YGH@)Zu1jQ{eo)vbm78VWF|Q$<=}w5W#K|%AkIaL_Q^~f zi|eTOp-#ROKBVnH#1e_)P3HY8s08{;dZ}0gP%Po!hLQr;BV~334uMWAl-Bd--#Lr4 zPP?Qdr)gAseNmTiQDw`*c6`PC1Bk z|3&YFAt(-S5J%N3gxme>D{!fPNgp+SjP6|uarzfLH$e)iK6*+D$1m-L*m8QjAGFH^ z!4#H29_}tYGe9>0-gpLnEkFNVf|O((Fhz0>mN{pkLJV{|+nAL!+nm@Nc5q(1;$0 zM^XlI4futW(0Z&+Dmx`;z%>=+F$`--08{c%b07caoO2rfcx&P4E_cI%*(-V`x`@j; zY3;gE`&aF}^~k{oo~)8NnyMR&zN(UV^8aqFW1e}|cCqmFEzbNRLwxxa?}InfKOla<+Aw3N@!C?SkfJo8^8o_ zI-fw6;_#rs8M>Q+4?{*lf6ip$gGD1_2)F*3nIb$OJoLNYv87o1MtGo;=rMVHc^Mg* zzJq)5cfvzNlfHv34fMZg$+Pso7znVXSU~|SIp>ji?}fH(>3^H-I{4m&4?q0ywD-t7 z&`*A`g)pImWS4M#Zu;G9Tl!s%h6&iR8RREo0+8h2rQ~oF4^Cf%UjrF-Vx~<}RSZ*I zE(2MIVn4)+wu!iV_&KCBJ7WozHtAvFJ})oAL?hICnfWHzmC33lUvkOkcX2xQWGg~> z@BaL}sp{L$pV2vjL?679*l!~z{`9L2m(0`GtD8C#ot^Q#F%1oEW0p0nz3W%&ub4Tl zv7>Bsdu8sZhQ_w8CH3p>X8H^MuC2*;raREK{(9zN$DD5BT3H_a=?1Nud0!pn*^pUZupA z00^Tj5tSm3ES7<&%$QX!=9c9_0)sU3X6E^ShyF8t!uA7Cb=}?d)XA@&a=V}EW*W(c zOu_RclPZ>-{Zx1NQ$Vf%1X5Uw9d3Fmy}|)ud-_SSfJENUoGgFpK<0AjCt1h|evE%Z z;>VXe18_1@Fu#N{v}Dy$lYcahh+FBgOa3nO3B5w!-!FNJjDG1I;T;eXh*@fdciwr4 zjDCtq-A8v`@^_NF?=`aGOWz0iLhnbEgMcy@d_;QkKk$7ipcWA}i23ZFsLEMr>E*^m zNiljMCxS`D0CtQRk`;cwZFtH2PC&AwZk-Esg4y{wTFw0ENVACmqI*lPKgx2}QEvCVye^Z; z7cdw4Cy!~hT58(tTvkqTwpOE+DP#Ggikowbz?sCpE1Y-gkZ|y`3z*$+64-JWdFkBM z*Ij#OYe`h^Gw4gVEuZc6IEwvFsdR;*#pxI9Sj47n+C_64wj)Xcy{3t;pT-^ zp1g)@-ZnI(|2o#{s+>8q(rfAp^75*M!p%o28Vqk=(~!6B6Rq}RU(=z=?xM1(WkubU zhnjpJYqg*F8xK`aD#}}&S2U^mP@|C3P(crm1S=Pk9!@{A(q$bR3U-;imDb8&gx;j0 z;T429XfFCd_&s7}e*eKm7kxl#5W7Zh_&9LS%OJK_PssaKWeGE7bk2mF(NjBbZ8CnPRDNY_y0vqvSTwEU)@I|E zO68Zv=36_MNF$?~kh8xcr^0{F%jpBc+=KqI8uz?&m(F%qRQMx)?AV_(LB-(KX^Hq` zc*ZkN%k29pbUyV*rbJ(s3^CW0uoy3ptf1(|FpOf9QHdS+wI<@yAcjwBu(VmQ6c=8m z6b?EH45R20DOnSoM;S*<`PnH@ znU-mbX3h<@cXoy%caE$qshO~gkdgW$q6rpc|}mM zfW4fn2@zHg?ak<`h$MyQiiQ`Lv=lS5hhmgJXsl0?YsZi4E)8$=c$QBnnXh9F&2c*$ zo}1qk)E{n2YI&bMPp&&}lpO)v=eQDNTY=41B&;b>thIE#&z#?7w)+at2l>OB;qvN; zop}qqD&bJPd~C*5L)|+2Gh=x(#-YO)hiLs$8|GplsgTtp7@+wT*fLZpU7J+vUEW}w38eItqmZNf`rIh|C45G*4gvtuv2ThuDXc4 z_`F(~o4xr#n>-TrA-kYAe{7|2#8J7Z{f-(gd;Ga>&c1)lWrqs;pUj`koHIS(pOU_D z^8LS$#%g*dRg)QD^LVnOJea-VNlv(W8>d}4abi{VBvc^g{(<%>=A~8;kSobx+W^dd z&`(FbE}}m!n<$swWH;yBxQ58)FmSG&`4)_se1oQtH6u;oagR#y4*UV% z$RlzEQQ?Bxx~KCmCdnIwnIbM2*apCK_K0`0o;qZC^gB zrnD~peLitnc+7HIOQfYaR@=5i$KjSiQ`sTL}ZLR4Z5zHCAtN>{bMsjN!6PEI-ku9@ESMg(;v}J0-^JMuS7w0b5 znX@cD7-?=8W)2tRaCYfAMyrX35sT!5f6!STjzv9;6_lBvK768%HD@<*NHttQXnIdk z?y7^F`IN{L?uU%rCUVHqK1zo@akLs-EoXkZnBZUz#7i_Tpn#3a5+TYeLYd_#dc{U1 z(h#`k#S*5uBs;gUF*loal*U~7`L0;$=f#;4=AN=BEs2&1-}$2Zg%57C1^v#VI#-t> zJzRMAY0~-3eWdazv*eQV6Mxve+y^*iS4kA#R|fn- zu&3e;qG3vLMn`=l-=NG{P!dW@q#yXDaL&2329-vr{@Uo%C`>lC=j2i0{4mP|q$wR{ zgn!v%CnO%Y0uBjp+Bjf5$TTk4KkHU)cFe@~QB_pz^SCGfJ*?JQKf0@!=#AcW;GQ7N zoi;maX8SBB zw0v&=GnX)%`~NoZ44HYcOdJ!a{DCi*(Pc}iWH`|I(H=k{g-Q{v<}ma?m=r%QWf!J} z8H0%E83q-u1cZqn?7c^L{#>B=FH!3BvbI-O&wt|5F=H-$V*bp7Etk-A)B;d}v8Z?J zB4WCFFCq`qCkDZL$3!R|>lU7)++0^}S32aEDj4OA`8fRuuF~3gDH32)EFsOzy=Bgl zbuV3)$8@b(Z6hmq6?u zdXVtQzxf91Fn&M9rzk%aFfXVsQ6;NGq(q#$=}<**)WJ{ZWib+A-;a)nqTVnf6_5cn z4t)>}4PzEXog;w~#$Z1ki{Lk<(qh}xw}&MofCb9!BjRB5?P=tIsR5L1!lWmvIA=!w|rhUdd}Y5$nj z@Zd2XuQLzdk4WtBzY3^hY>D1*R4J-QL@7{T4h1Gs&|F;1!b2qrcn-4Ri{yl`y@Yd0 z*^pzgBXmX3x!4)Jdgi9aQKc`rW~P=gL~>^9sMO=stc>u zp1E|DPH z1|+>G%%}<4&@;lb7~m`>2842kdFnKRX;3oaB^xJ=tNn^$zN#HJY2(KGHZfn-jm65O zv2|Y|sE=$MDk`P#+f=niuhp-qLb%_?NizMK%8mDJtX!j)P1?vF8!9)6SVmEIG{8bp z2aE9}WF=dHrxwk=qJ>vZKCOv%Yh zo)At7f2FjnBAx2PwiC{psVaa#f^a&N&m&A4FlmWM^^S9%ZFIKlfmIcYLA zle~cwab?#R3c6H?C69~O?j5+5(Ku}I{&=DcPF1X14!C@Ld06RKKXaA|hyZ9WLm+u1 zYU9HRsSL0LRFN&gn`8*8j+(;EIWTVc&J}Lr|J??}oqO%vFY7Pd{Y6}OUwA+M#qNvh zzMOllm$Y2A^8D}4UwIj6VU8R*BHYKNenP=LIsAo_?BrvlN&QmChJE`sbiAY%o;Ws{ zJ^8}+nDF|rXml9KiJ>Kc>Yu7U7@IPDQ1zHiY1R;GVYn5!>kiY=A@hYZ6D5!jXKm9F zjgDUbX@8jR^5dZ3&mH;m`~C4Uo)bA9>NwaLyc_};espuXotf1sT)&St6D)?TGRdDT zPCw<2Figb7ochV#|KTi>N(;hPVQX42l#brCNgD1 zvWp5s5{;f&-4$_d+2V?%|A$k^r5fdYhRjiF3}qc7I;+Crs?HH`C`>$a*KxQcE=)hS z=pzx^E@g3}=pCRZL~ZT#1ON~Xut5lx&eUcc*{uON08|U3d`6q&Pp<)B?F42E1NRRy zJM%GAHH^}96C?Sr?6UqhDb*1YaDnW1aE>TLszQtvMYxNSj>v)_3QAO@Im7ql1+=foE6>vkVT=e zML-E2DW}+g0qxjgNR(UI1)Cq(jDO_2P2H0>Z=T$}>HXxWlfN2Uojavei`8=j+%dd!-BCV*E({dFq=jrOQYQES*I7_41O!tkCj<#5M2QaG8ryvdqK7=gu9TZr8csspKTHAy4i_ol!q6 z<&!|m64QwpObHr;Z$XeC@yn?D)x@T*VtiL!l|DIvw7dzSd8F_dSYno+%Z(I9k_YJj zv|M0aC;$HDo7~;~Dq$pkFC_j<8=icM@OSfRWQ@v%95YffhmKT`I%QJSENWZSf?);l z!poo|oEX;_!8Rr%>f(a^n0^QrUm-z17`_DZ-=T;mxdE-G&1&Sa35xRsy&xnq5mJN0 zK!wb!qvfZ98jkQ>%^p&%D|XmjyV>G3!aoc_lNykvoS^23*1T~x2U{uIUmA95?=I9L z*Jlw~^}!~T5!peeSTkrd+Vf# zRppW?oSGxi$X>^L&`5?#8hsNQ=(QGe0tSE&-C`W$&(dQ$TdnBh+>We?VZv27Gv#S`x zZY2OyBt_P2SMC;6st1M5LWQvTL6yp|2gJf0<7BwUm3uT-o3rxrvdkMw@MpJCqwJhC zsZ*&j?k0Nqf?0WWb$PpuYUTD_yS6LUDAXx#+PCi}1wHVwKmF-3dLTu?Q9A&nV6oSo z@k-UhPdpYrmPL~F=$s-#*jh4}6K)VM{Y!r-HzX`A;+Gyg=WM=6{lGoW=DZ`R5fm3e zUJ!qT%nyqa{2SQ%$wGES$NUcb69&&849DX!S%_!9&{1|m^t$s{#zpXjSU!ThAZ`em zpMkBPEKH+)mURqx;F(k6X~?W8PDi4?A>1LBv62%KdYqIl(To)^r+k4rkHRibtuKrp z+A+}kFuI9BP}DF9=o3}v!~q124L~~#QGm2Yp#;K80}BN8x{HW(2&G>btrLYno+H9@ z35Jh4PFn1&B4`XL_{g>k=KW^r+_+su5K}zr`hwB#F1xI|d$y4oOH{&}z~X<*=X;n5 zfz3sWma*%`tr432PLpt_&gu7BDvm9EuOiIYq6=p1X{ncj7rFYuMO!}UiUBs)BTs*) z1o`Z5JrSoV`*u2pM+f-Tl<-D7;B|slWs{gddl4xwg@uU$RM2QL(h>#HgZf$A;YVLG zl0$wIQT7Opo4-^W&Ft;P9i#4#aYx_(jN}G|+H66>&7adGyzLmnne=3yCCIN}dz^55 z%q53NnLa4o_=l&E4%Pk62f{t%3gK|tBrIdDXQSypVUnQ#)ZYSK&Dbq7n*`JDF?m)27D?iLX(kMOA%T@ zfiG0Ffqf_p6^<=Uz=~9Qb}N=Wa;dfq39?xAiLF(tr0^|+?3lV+4bD}=FZvDP!*|ZV zleuo#==FO+)Lay)iB4#-+S-?Fy@|QJIIp+>9J{11)nNVZ*TGkL-3_oO9~YaG97`l8 z*{J|YePRu82%1q-h4#rUt33k4Y)Nlow(4E0rq3O23t7Bbe$|x$vS#+eW=Ftc^%IBu z#`5&R9&0=M)JgGTyx2DFr|X7BOXMQjAPG%>5=Me~z-OXC8J2#zo#gSvuEokmLq13>Ks;moLJ;z3yyYjIm? zg0+BGvYJ>*qa~#P6T$wBIE>PGX-G8vh!q|}3>8NeL~*NpU@c$^L@~tDK^DVraY>x& z?bc$O#cGkc2@KvrDU$WVlNFHR@nrPQ)cb{S2>N5OmC_7h^vhB+a6Q4DaVe_5(lU!# zw4+1&r_Wz*i%LbWS3HQz&{u#fCNW?^PSAZ(dZ*GecfnPx^t#xIhor9}Uia*q{^*2( zor4b~3k1>VM86!(%Z+PMc6V6DU}B5XdIGL@P}a@}*xZcN_4A&%c+8lK56{0owQc&0 z+cr&|vU&5AsnfR3n7%D_{rtmp-xKq$XXeNZGSNw8Bf?kHe2W-ikXB#O|-cKR7uZ5(TT(GVQ1;IKD*BA^?N;j z@0}ix!ATR1xOEQ{YHbdiSq;J%Z=uHSbC@*_zsJ8-uF;r^io9-jp=FLI67~A6TB9W( zn-kh*Q+vJO4pAtKQNPEeH5!aIo6)4#n%(}Fki*jDi6SSb_5z#QlcAS z@#%&1i23tyME{#Ci!?+UvreNCDv`Mgsb5hG8a^*#cNk6fiCMnPiX-Hp+aBztPl4Oh zyHn6D*0IHn$3DB=tiNbPC^UlpZ*J0?V|6jJJs@Q`rA}qn+Rc8tYS7vYi29IOYhBsd zuG*5FF<(~HWYziASy7zd5#-z)PSo2q#2&G$?fT0GFSTxP_hrrNTFu!t*=E!SBi0Cg z2=SRH$2YzncHm7u96A(;d=Z&(Qi-??nsK-hIGvf`4q1jA~oib#XKO7tb8)6w1$r@c;e$bb_`&F~Ni2jzvZn2Fw$ zz~B)d_)khjggJGS~kwcJ`S$EEhn$FG)b)C?Be?Rg4{?f);@1;dk*(~!#;TB_6ue~koujG{(Beh zUbt{KVXkcLp4__g$fK)QtXTahxoGr)j=G9-8WhCenK&*7rYIphp6F!0FZDa$cKI}A zbC$PH6CR9|P9~in$MVcdqgHQm<%JWmV76W(Ra?!jyjZd}yEEKSQq&abG|$;JC;bSc zi%r_Ko|C*fHU5MMZZ-d!_K;<@%9@Wx|6OFrky`ijgBLxNotf;yC;P z19KdM9L-wjp>Ck8BG5)h!T0r&0%+sf$hTN2Lv zkjxKXirD2~To#O4g3+K1RK6xdDPT%wEeGp9$`BglwrgN{jB|EL-iaRh)`YmW(^uJ7uLBa*m(&$7XGI-Ke zN;nA09{>_C7UNiom=;}hVi~*+tXPQjh2p-!$Alh2G7T7~LDWZk#B@Y`_||eS0j5c8 z+}MXS8)x<*jNC9-9f5cm&Im-bpfa@rDJ#}aeD&mfrlGy%ww*gk?W`wa$f&eubjT!agn2CWzTsF$9FQLv-MyCyzdwe%0(XgSv}M>Fy@F$&>plh^`XnrC<3lF=|wT zxwE#mprEjD7ST?yA%cmit*xpe>+d> ze4^cc(iT%F0-o}GzhxHDd0~0Nw%;391a(%WY$gC>p7cuGwE}l#_6uJTU3%q&Du-Sv z1BNQ6(xHc+GOV2wta51Ju2zM;w9pK?-$vo<7hb5Tx!}@jjIK(9#}tXZhOa3(4AZCt zeR8mWs=yNvM86y>IS;5hz*qP;0}qHi0D~PqBaSeil!iUQlCV3>8lbEi7?siLw38X7Ay0^wp7>Q~U9X90Kmz9u zGh;-Yf!@kam`UQaU~ zKC^g{E;aY>7jX`w7r}f$FY=D2T_qmcXkvb7<8v^QFe+0lBwIdIEMQiJi?iI}QvaG9 zFIlAGEc-(x;`Yw!xJj5VRhrI|!-jRvUkNW&`eTdRs$1-4wL%XTJcV-aZoPtMmT%{l z$~8)|v|`{C&B}j2h3Jt^>K>w12|Y-kXd!bQUbiuM2zE$ z5%+bOo?z+mdio*1I#~xKh1Nl9@bD{9rvijuq<*AxPY@W|#D%3Lf z|LDW95-oJ%uc7PzKjz*$Fsdr;AD?r})J$)wlbIwl6Vlsc5+KPWKp=z?2qjWO?+|(s zVdyBJ6hQ>RtcW5iifb1!x@%WfU2)a5#9eiDS6yFsbs@=IzMtn#5`yBo@BZFDewoaj z+wVE&p7WfiejXa4W`Z0o=tf#%Y#8W@tEJz+IKR>U~HRPH7}){FA_g z2@RTRpp84qzJ|6Tbl~m%2s1O8`iyqZ5(?E!d*MNCf_fBIp0pN>Y$)^p^{g6c-qdT) z2G|`q!rdp`_EOQ1xd-;oeZW1skI7UsOBvE8XfB>qbJ|9n@GEyp#)N$*zuR$;iHTMl zMb6o*mJJixJe)xE3Q6_4>)`+&0VYGZT=+r_+-_y*&qQ=9TDu^?KY|vD9{9zI3DK(5 zME=Du$arMS#9PPZ2`ya}-Oqi0SJ|R6){pAu>P}GuxC!H>S(E&)JRvc zK(%pLIt!%_Ggh;J!P3mN(C&zQ%b!{2zgdp>O3i+p(=nue_40cDaryCg10&jdx17tO z(^oG`_H-m)1cDqwb`64b;Smyx)_@t0hzGhdMCC4<9`|!TD8jm$rK?L{m%e7ES5xX| zjVv*(Fl`#N^Ymjk_TQ;du2gC}db*#$3;ZWOD(u{Xf?=5$H@|z8nKTK#24ycWnW{7M zAKQD&^LZK7DvgHE{3S1zo_>f1NH&P+M;%Csfl8EPu7x`aIkw>Sb*g?XAd3zsX^HUS z;UC1y6~<^aDLl9k{x&4~;8i-HtfOnX;mQ^KYx5>mteILiZ%SkHXs&4RwL5E-R@LO( zM6u}hNxwS1`A=KMZudb^r4d&kLjbo*jB_XUZm7xw()$Npp75WZModdD;0bDHwr`R1 z_{sVCpn^HUU7WwBZ2nzSn$~Q2(Y)xssf8Q^yiQfaGpCL)?csqTYl$*OC+Z@HVq^XB zOye(GF$~=Qgsvvqt>JX}F)?~g{W!WMD}jH~8i`yrp|6CFShk_1l1@(nOjnF*SpCVK zPZ>c(Klp(l_zKcZz|T@YCZ0yA0EZ^D{lW`$b84Z^U^;j-tpQBvB00=t(w>;jRGNw zHbmPcyBkeUMyN*Dp&<=!4Z*9_kr2sB-A2w*DIcMAtDSr>qu8;Cw5OT*sv9K9fcGOK zSm!4y(a2K=dfsK5;!ihJii?WuI$xqIGc`8d;YdoW%gL@wbJ?B#*wjo{qOWdT^k9m- zk==Ptc1~SdlEaZs=lt{%`6zA(m=DT}5dFZ2(yka(5~#H%rX*T@>g=_aAidv5RVz4Y)D3sGFSTS2r^}yJIAKH`4lg%ntx|R z@g|#cj@ugfX#OhfWp`jJqBtUbHkZ4DSHKDHin0O4ELt|2GH9gHaP!L}3}X%RMu9^v zuS(%Jt&VKN;Q3N&Y~gBXg}t%bWVW+k1Gq)5L#s5@ZkEsLIw^XNABqBodZ8Z+V-=0W zNfK@`WLS{B9Hl>p2R#J6Cms(mA4-IIVD5qlOg);Cpn%vztqY4NIw=`LQ{iB&^7#Wa z7a&uV)>V||WdnY{zt5auLkdb=`8s!>hE*dQPt81kI ziO)fk1BII*_SGJx{lTuOLY^sHz={3|Pb?n%Yie4$M&R<(ilKI}PV{R%0}AWba;7QM zlhO+kSbd)<)y`7?fZ^f#8IR88g^8yYJUP*(>zlFUnxzNtoZYl6N1f{El@=@+k}>b# z?4Dj;?9= zS6nw@ob*rWHR+$@M%;ibXjl5MM&Dm&83`?45etEsp3Zfah6&wn{SbZWiSl#g2s8QF z!b4X)kx8BIv0a|9d#)&qO#jKn1JeLSU&g}PO{iQL9$?_n`%N@9{Doli;kV#$3Nk1^ z#U4_1qX>;tNcxH3ovQtK_!)Q;noSJxssaap?qI9Elad>s5bi2j#ytCs3 za>OCS+>#mBw~`ecHs)WC{zzU^cx+5Je#R3lToHj6;g(tCOO%@6wkpq&GX4R1 zbtJ>0R7-sa=3topyX?tUg83mJE@(3F#$*?KY=Y=`;PXg{F}hsA=r60uXOmHR?c0m~v#F!u!V#*&AI! zFCAz1AzPG%yv`L)O!?wt1!(?ra)UJ3BIHo!{9Yy?_5{>Guyf`FChX$Fc_I zzkl<0r)IOI1!D?xv z|1Xy@#d)U%ppGeWtaJ{l2B)wBCoHNdN?uM*O~xylSFjm1X(4SGMWdi;NKxSuf(5t$ z(yq)xWA3qIH}GW;dPcJn8YKu5f;{oiO;wizg-JCFwS~i3j<8^y&6ATjN8`%xe@W3ZTPIsDF&xo?<=iJvK1bU>vQqQpAR2|98e;? zywn>Lli7c4!^k9)D%NBa68o3AL)UnD;d+hQ!;L5&d5@<^J+vey>4Buo;w7UeC9Ww; z>UC`7uuab)c08w7zw+VUfg^7(8}2hqI@xh>QPckSg{{)#cJ`ZoB^^z5>Wnx}rQ)|t zm9Bv?Y4QiD9p9(jwKLujJIq}-HB>Ae=~c1k&Xe~rE;Db4B|o4OT`5J0Rv@-mt!atz zj@X>-1Cp1zVgT55j#C)|HMfmO@q}V#n`2Twx+XYdZTw(Y`5GfTH>Yk!#zc-pZW=AdnU&ctSGLmPRA#Yl%*st2 zE5@3|99PQ)1!p??$QLg?_qS8cq3YGk^9J=x+wtQaLmvIzOJ(X93s+Gg81?GDFTVN4 zi)CtqLG-vQfkdF``vU)J8+thXfiD0dYXo1A1iUiY;}P;M1b7IG9)w;9FLlWY2N_j$6R}D_C#tuFLyR zQg?8Y>?h+f4n;=rDT>*O1&SreUa?-W86MDk6bIlb(X6-=xcVo7u>QE>DaBdEvx-;o zHejCOiI7E?piCY_R(m?>8YV(eH+fkc1o9v@DE}J~P!EEwJy^lDDl0jm&=M6(WjI1} zhsug1OnxZaJWem}2`>S^DmBPMa~QOGSg}|L3CHQ+J#ajM_k+p-7#qsBCaS65;S<0J2iW7)(J59wVcB6%k{?6%EJ!OsS@Utz_$(y8; zY_=t%V?5*DFrIlzZ{ki!YtM2>w{6Pe9$-Sq>~eHS?^dvtrb=lv8>;ST64@AOhk#MC zHzd7!sHq55P!v@j9C-9X0WZ0+LTk2bC|f@z1F_*7DLz zruI=vvH$QnNO|>oNZOsqiluu5BhEgp6xpgOR(aQlPoGxv0hs4a`qNCWlU_c;dVlqi zTDma!WiF=mlT6^9KFbP?yQEJ)%wpTyIW&YF?FBzULCQyRsUJR;KJU0*`iv#~`OnpC z4l-gG(E_)Pgd|FRRmT4(%sYi_RPEM6;$3%-Z%5%{n>c_iJhrLhpPL>N-gq#SBPHg9 zDzo{9P0z5IZB?7kp52`GFuR8^%q3e+zbL)g1bTBFEEJU4yBB)6py1I-C^!=N&1nNd zCbKBK(G8K1;))gUZ+7rVPAR3Vw7t$6-x$fJPaG&+8+m@w#PTMtSUR>8IWwlE8>A1U z(8^i-@18xi?eGFN_%(Z7r8sxBlq5ZS&Db~Cl-F;l9Je^~taR<5acm>kyS*=)&e>K> zn6*kON8)>1LFFjt>#TO+!OahJ(gx)D`j_ncOO%}4G{JPx7gXF@3{UmqLN~)yN9>Bc zpC>`rSsX-oGVPMHLph6`su_njt$XR&Kiz!upPqdwyjDEi%D68N9r}`S(*JBYcVz9o z&$k{p(E9wnYv-(faNH~R-S=Ja_ctH>=)vYCYu{Y{=JESp5mvRUOUK`Q^Y~KX!uq*$ z+wUr^XJ)0&pP$0-5Nl^v=I{ zJj$bjzVt*|k!cGIjUTvd6KyVeA${ty&7gHGB<#Q1y14zTyV}$4`fA-A?XMQk9G1;8 zp5EWF&#>*jJebfrN6kWh2{r0A9OgK6uv*5?N2oX#x;mx`pR@Uo*GrC8yA6OX273VP`NcBT5$Qr0j?G(M{{P7piqRt*) zN=el73s(VL`SV{oUT6>g%o)xA9Yvu3PritOk*PmT7!2X&#aO|Vk=pG~2a{1WGXR_p zgE>l4UMm$H7b0r$wzikJ{oJv(mqs9+QS`6EILDZbuS@=&Z5%$wIA;~Ut2=)?DwiM7V8y|a2de7gte_wyolz2Y5-{hoV zNoufec(7NxJ*CD7ZahunGQ>M#l7ayb)Ka^pQ*2}^2^dYOPAi<uj~;F1rK7F4-`>hvE3z-Vn_W?n%^t`Kao>fq*aO)WY&#u0N+&ig zJ}Q*7oyn@G$P)Y0@>jpY5>F&PG#&KoJ^YRX^+K*%Ss=<$$y_-}L{UXErgc(E5-&jp znr?_BbPwuI#L%IiL?tQGQxhLhEFNIO&2PPbbo8M$OJ>hnvg%;{q2Ii5`}B85i|$0V z!QOX<^!@rRpKN0Z=T@CRx@XJQI$o|_piwYoJ1MS+k z4@{;Nph^J0Rz&vw*R{6pWnO9y>5qG@xbr22mF}0)L#gr~)}4H_qp>6$<~$925GmFS z&0^K?9>3KCfKji9ml=9*)MPGa_6R~d<|%laTO_^BzGM?4)z`l!wMngf1bd$Dc#b>y zn)D5~h>eq4r8agA3&T>^5wi5Qbc9S$4}>iqA?)E5ky+fW9UZ(72IOS8<1gH;@(K&j zloXa+bBDra6BOoL3kUoHL_@>&^ECv-8f4FE#sp1A{n>?AMziib z$qd)|3UYAtV1Drc0u&k(6_1!N+06DIJd)YHfVjlPDl1-ccwBwGrPxwmkM*Bj&`JO9 zczs)T=dI|h&|7Ak>vWhY=o3EevYFqaC&{Tq z)3qak!8J0(ysUS8nYK5}M38q_I^SDc7B9UZ{n3JhIN{&iL_m^m`s*5hGQUi*X#Er` z6bg?OrWdP`5fltDi&4H2EUat@&_IR9LpUa5W4Rg%4tUpe(;Ger9WZ1j`qB}QTf#b^ z3yJPJRD~)R&xINrsUgCROu=#5G1XI4iK;2pV}O@}KOO%07*Vf-`?EeR$EwxqVsv_~ zH78B)v;dStjN$1NIP~7JcXh{s)q6EbIU@q&-f?ixy=5Md=FW1>?>pa>4E#k(Gs<^oc+1PZ8N16fN=wp54FANlzWFAaH=&b{ zfQAnN$J&Hh3yED}MWOIH7)ogV@}!cEsZ;SyN(m5WYD~`QDI`rOS`C|IRmP8uznuy3 z6YU4j3nT_Wj2)#Thq^tT0U!@=r>Blx9f|3`@u^wA`q~sTeE7h|h2DfqiUHkf@F7ED zuYDvW)BRyvr)4E^ilw7Jav_Gs7aQ@|s+U+3X3)W3FWt2JrdKY!z4Sq+^g^o5V&0dV z1qHkqhFbheojd#ItY@|lQRzNyUi9L?d3B#|Oz?MU#uKs^g5D++Bss#_E~hJT&JrXc zz?^emMMC_0k@h`{lHJLW=t%Jn&Ha_?_9*|MfFDXLc--MM6MEpA;3i*GXw={t1haxc zP`O~@;Da)-23idkDiZUq^f)0+6fq@S=PW6PuYLV{sqOpMudQ0PYG8bpASTE6ZY)hl zG*aHwjnBOO%*LsCJTs=3HujEB7KN<%fvc8PNnxb6k3uS-^=bnQO7TWH*Hy)gvgG8l z85Q}%i&JB8E8I|<5bHDvy5v-s&E`r=ju8y8&IB#)g!{#$77yo#OK1lAl0AaH(6h4> z(VSQ$yN2aB^90#@%0m!-u!JJq(ht2_FagGX;(L(h1it7V^eiZib?`=sRIu_INiKC4V|*i)2yOAx9uOS);1I@Ox3+wfauYF3K4 zOuA;4)LOn_QC(VE-J%WUtrDkDYIq@X0)YDCI7@<^#YJY=;(>PkSyL*zZ_nWm%{ET# zC5_}x+2RxIQr_V`A6&?+38kflYBDbn563}g9u_;~*cxbq6e@C1CRBO&B}a9MFmZHg z>&!U}3RApc!IDO{B7B9g^xk`|r1yg^5$eF`>Vbc3h|%r%WXnmGaS946*%m{#AHL;7 z=?R!_dYl?{EfP$pnC0-+&-WUwd!@fx$VwEwO6D^=?VyBEslcEkgpa6}lN3z`4yHZX z0PJK?bdvJ0Fj_W+No&{9n%>9*>{puinPiN$s+-au%71qGl-(Z(C}l zy-X=>xb4;D(X;8Ib!?q{o3`-fx)3Rmbs0h!^KMx*b`G$h3KiVGf3^t&K3Le`N(YJq z`T??m-Xc>Hm9neQeEFW!XjHi*jq+ootM5tgo!)c20)egr?CPwRuUfLyNo8iMvLbTl z7wD>#prGjauD7x7YW3UykBu=V=6-d>2Mvl# zTMd@Tw#(HL(Xa4!u(TMqUOM{n)hmcjWIp^F%XAv5s*(Aoy|L%plHZjaTRM->L;jn( z(Yu2hvm0`_bA)sevFNaIg4T5+6&Jg&Yy|O_8v!qQUC|6pyf#nEG;`oi7ov(2?tsOx zW$u{H1LI1Mvb{(D%T}Up@bb~XA}v#AsS~tIo6y!hUe3Hpod>3stXub!RwUgIXogZk z%z6oQ`n9kwl4ZuhA>I2=`@QF9hzRu%%$g3QTQ>nzmM@SQ5=@t%DGc~QxEVaeP4Jqc zE{Alb9FSjsl+J($zLMM^QvCIE_uhN%b>{Eb2iB!!>8wMCW-XNs%-qH6SFXIC z3q3(Y{R#O1|M$bvH>XTjkfI*9XHkN54q(mprAzIAYmU6KiOt`%2|=Delpg<6>)oYM zq5=0I!8m-lQR)EeDAT#pyIcQs9D(S9f?ZOoh&EIM?{pHpqp#BEz&v%nL&nrW6Gbh|z9nE=Zz&d4Rf@@`|1|q{5LbefQW~ z(y@Na-`H2D*4*%?Z7cqGjog2Fym_fl%A@S)Jyb3{)5Cj6+>5ufz_Gs;=VK3ci$ultSBF&OH3*5JvSrRY&ov&|RRcDKAZ z(cw&Ty~QfLtM*D4J5(^?V^3o8Thg=GgEmxl+BF8F4JW{^@$+qnKJ#x0Zx>;LPPL%3 zDdoN=vwA^5&Z75q_c;@~T)1b`pb6d5zaIJc$>lpxad^4*pst56UgwNs`X^hT+WSqu4jr1Y{0Y7^+WF+oE2$aU?qR7TA!Y3_<4M?r;FMCY> z>^ypYr$&JXSqv) zJkOTO`5Ya&wv_O*k&sroHp^$Wtud4XmQ7u&@r=;Yy;MG736DQB|-Wj=&+b6p7iRe>0zW&L)D!&`j4@G&%F8+)rOvC}XxURy=?4n#mJfM>!i*&PxL}F-W zkK9IO;HJ||)yaiLUj5NCL14o|7!omTpTvmD-|p^AUS5hQg_f_|cA5JFKL-naH`m7n zI=RB=4=O-BzC3o)xxBqV0Xqb!Tu66N_d)rAQ6f+M;=QQ_1*y{N7hRv__Fq%6 zbo;TFUW#~VpBOGkZ9AD-z}0_ob4dyNou+y3yBady!b zsk!m-lN*MHO8omWr)7?;DG;?sk|%t|#pff(gj0?OGPsDT8jDC;_neTvuR;&>6WRxhYVu;z}Q4(tjcOss|yB*Dg8?( z$7qdB>%TlPefo(nCH$-!{@qcKb>@6!)v8ydFK_+LNon%-`Kw;x3K}$`)|2TElxOd4 znm1NGzMq5F+ilxb_8P59T@woAsifhZH^I;PSC4-=bhbE?ZX%tNzIxlhm1xPGGD9ey)#?$3zhFH_?bxWu38Tp`)Pc?nRWaOu>(v7H@ zlDf9o9vj%k|G|rRTJ#G<8O$^XX>W<(?povI(@G+4a&HDuP4}|f?kLjO$)v~`g&X*S zz!hZRIEaPq;YHFl4|uw~M=0fi$Bt7-bx&?hoe~UINb3*u)8{@Rbbc6V9X8E&&~9{n*uB*L8l|I+P0y*hf| zNK4U>ZwhW$9hk9v`s9A;<}&=58;4Mm8R~;!)xYHW6)Fhbu&aL56A>mLqh-iT)S*Hi zVh9wVw0xuvlQ9-lBDsDgKH@D7cZu={LF`@K&_guDLmGUhP(n_=q-cY(TUG*b23?^S5*O33rKQWp`|kc5{)N;`2O~X&znq+_Ev|3VnupxP#M8lT)F{tXa(Ls#n=<(4Vni86uEij zxr*|XIyD@2Vjt;y08EWu4f$gMAVxChP$i+o2Wl3vT ze{-rKhD#EJ@$K`FxbsVGu2WcMOEg|m@UuFOGA&o#{-?NP{RjMKe8)2bxiy?IQ7L@~ zEfdOxcE*?_JT62j^u$+(_uY>$)saQ&N+fmRWYqgDRx#?5Qhg_K4@cvaa~1tzS?^#< zW`Xyt7j(Wa8^}hmNx-38$$rhAWADKLBXMvj6bUJf)Gkm>Ad7i46SLo^49e>yI{B2* zb1>K990uf+PH-K6bk+q9Dnu<+IR{;@1H7{%dPl))ptQ$`M*zGUTr;9ez`u}u>kM>G zdt?g*8%I+e)b4ngzX&&rURUgJB1?hOLAO9)H9pXprr|v~f`#QgMR(BzNda6c;P(@r z03L%p=H<{f(h)kKOoh=j`b@ino(y9E)c&-jn&BEcOpjEmQv41l;wO9}o`;I#a@++C zlTUGFbVU%HM*z_j)J`r69t!#tAQWWU3>5J`RR9)gdB0CAhvqY&gwCAycq!YK3^4~= zgvuc}i__2?MdiRTvCB_ZqTYCjI#r4M&?vJKP&BlM1bzo!Ovr*hl!mHR9HfHCSApxH z_%)>}6=iY?K;_1Ud`+soz)RIq6(jc}KB$j;D-mGp)GFlBi{i77)ILjGfMX*QP^lu7 z&l(5Uruqbjqf|dOC42C;y!70*CHgVZ)g10+)+;q3rPx=LC^ij82I1Ce|5%%_=(-gn zxbM_f6&oKe&TDW)Mnrz=9GeeJT~4&Bm2rjyl}4ACISiqiVXrP|R(u;|{6mGadqmF3^XjRN+iBC;*8a(j{I;}cU z@07mRjC2VJi8lAJ)Hr=VmtN#c3XOwZh76tEVRBtO>l&%?SQ8V{lltr9QoY8)prCou z(8rpVof99&zo$0yyxyFi#bTw_FYdbQi@S>F%w;NV(uQP>AWGk<0n_p}Cn%M=l&#W1 zQ?F8^1u*a8faiGcX6C%>K4w4c0nm)O${1f#2u;08%PBRg8040<3Uf<^7?%ksjlYiN zigUAK)MicZBsK!MG5oz&H;Abliwno-ox*RPpL%?X(#a)jVzRVWpmSMAb2e^;|)N>Gz+l?B(pIZGYpz!&J^?7uV3IA#fDWGz5!-lJEpLB;|`NorHQjTszjmC z-ebKXp;DtqKHLSOI69@rx=>|QXD6fq?ta z-5z8G>m>ry0eLfV$5^$`?5;@f6{yy5`LRZHqQn?YqRFDyXcJv_HU9u$kEVOCO|l9r zGPd;AyA6iW43kmImagUdZ_S_Xj!Uu#)}(89BpZ5f$xs?i(<{xDYZnP<%WLNGe%~&u zMWwcF>dSGPjxSq&{P^-^k`Em*VFd=2jvv(TNui+u&2AetQZ#Ze^;sFGR$5FqCvh8{ z`du#s^Pjs_ZwGu6VGOC*xC{(QwLV`|1K0^SVH%s+ssr4bxwJx~&e7|W($FlC%?8uJ z6}p(fyy8F|$MyZ7qGWMd(e^1woB-f1t5c`f)%Qzz-EQBPpX%Uwdt%=(%Pp?*dDze) z=s&SGi-0^1XD9X9Sv)Tgqgz>RGUTK9NQ_N9Lq83GlELp9$zvM%ysz-gU@o*P>@ot8 zBvrYXgP*h~k1U+C^6S?vCHzG9{bO7&w3J&?jaj zO`h0T?TZV?l6?;3_||BI3Sl44qHHcOwkQ$U=jhB-M2LSD|0j}cLI< z(l?ECuyNw1O%tPQd(WNgxDj3x#L3bUEsH+V89N2YUfIe7UX1~7qNg`14158Zng(zOWHZZB`0%GAORjEQ%lLEDZf_T|T3sl8!I;#U` zLC?`F!N%B3r}6U1%@mY$MVS)1%M?`#QxHb|q%`cV#bNea923nMVrzz3v?}Ns3Lcz1d|VaGZ6{zYv(1C0 z+pqM%ZPX1Mi9n&bNM3gq;|L#;TA-r{g+kJ|O$amzg;)r_FfI5sH8n9)NDQ}1jp0aZ zYk2S8a4Y8yvu1fU+MIZv9M{m5?SZ7OAgFjHo=>Bx?N1NlS0B$s*YYK&MZ+^&$qq(y;2J`Akhi`c2ew>|nRVJ|Sf!+aP6 z1uA_3C6dCF3pjd}fa9HiZMXut9k>Xpb%|a}7jksHyp5k|E3{*c{y2Oi_|PAG zh`OFh4RBc&G$TqC@@WrJis+;irPD*bRt2ROlCzhji^!QyY1+f=I%C1(1tSq(+8Eti zlHSo+GH4`rLZ(DJcgdJa%=4rhKoU48cD#7g_!Jcr?WTl_Jqf3{>OxY?6EV_v%-xQT zUBX^UPkbEd+B+0ok7kMsTAXo&M~7hU^b)=q#~N`GGPzUHO7LiUnVon@I@HOJ-Z=_6 zDirXC>;@!6f{D&`N1+2C+EK9_`LL3i+Z(_!_!&XEfd~XsfPsT%7pdMLl?I|2w}EMg zTKqJ4TXlP~Q?0%AR;}8pcRBf(9XpU=*4aMi(;@xluMTYQmB9vauS}aUf6bctGp6Ou zPE1_?*wn17sgJFn!PktbDh-XS0y`;{vcC6PhqjmsMA(v`xE#REiM-7hCt#Y66{;ft@pA0iz} zSjM^~tb=&Orj}C=FhH${=v%+Jm=XiYNEry&a0^Th zBfXyf>(lt}6&c)%y(v8>eTO@|xAJyoIC4Z9vg7-^8t;(adGcQAk0)o`^A)eWqB?S) zQ*`rc;4Q@;&B8y9Oe4?x%k#91=@+#jfR9jyt@?H-ORah#q_>7ARkh39fB@D3W3KC1 zv&<;a&PF<|bGI<`^2w7}d9$oZp~+O} zUY+{il&BYt2mU@3DjYROmt#gF2W44BEOhDDq81nEf`JhYWw1aXHH381y+hdo+Nrn* zGQlg@BZi7}u929YwicQ7X-uy$NOoFff3r_rJJrtqMjMfes@&YFTw(Xb8~1JAcjLtB zCDUgMmLV2l_Vgvy?TV}I6+)DKArj)lxMkb-GKVQIL>(R~uayoQSSqiWaPQozjwvmWi`5;Z$A2@%HvTz`RJQFbywZnQ^%PNos)tAUBF@Ka(SRW84X)B!CJ#z22<*6 zFILV6JQ&l^M}Q6(c)JH(8`__uVljNax%qswO+r-n#_nxVZllNzLw7H&?od=O-96Om zbXsXk=-Lv)$T_oU?p$e+)PA|jkP`P`MC@VW<$aO9N$Vf_Zu92v9$KHI@}zrIS8hh> zCproGM>Y@@;Nkzjs$nMc*boqi&}q(}iu(OxwOTtA8vYwi|HV6pd_H97;{N}6O{&Vv z+WKw$`|0(`$?H%5eIwCdqWzc4PO((~o43=5~p6-pOh*OVS)S?o$2~{+?jdTqg(ywmH0_V zD%`WDkb2Y=@4*P`b`9v^k4Q=o4#_!czsI0fAd?iXC@_o9#e0#hy+pL-V29`mXdqPPkfAXtkqjNQ(vnVrWf-TBTXy%VpThV+J86Ln zRRp#Xoy1s_v=%@m47R+Ohj8Q$<>ge#i&R$ZM_w6-#oGB=d2fN=puxe)0#QAxvb3tt z?34ue^qu+z%BH$Vc+`C9wIREv=|ts@$wfJXgfPG%Cg$}+WMsYTKKgCVO_kpDSCH5n z*DH-ZoYw0H+U>qBy;99p<%HK14i#CrAf-58b<^}83QMISvAK0k%SW;FnwhQBcCpDD z?E`46QTr&Aji3|xKw?*rVpx`w@f!#AEj1H04z&!L1u};mB|_q9*O}dIf%q}x+2Err znV;|_NIW5zU}}w{6RO-*6RHmRLV;Rx#SL)}rWC7&h}cK_-4AbHnrwAW+coDF^$^2# zBO-Nu7op@XQJ@X$hVgiuNT$^GE*c)VO9#;?@nOf$#J9K zcAdcO&UtQNnXqe`S-EqLWJu4H<`178%;gmQ$ILyD!XBEoODLoI%RG#1>xFj%ydpNI*<~C9GFl(tM$4k0N>uX1e^R$82$DfY?lLM-#^|M8<&5`68_?lI zW}+zONRW(_aFD}MYD}OJQ}BB<$_SQq*+!ufh5XaUDxBptqSQY3z=64ovj&epFgGWg zTZWn7!2B`N{S$6Fe9V^`4k@*!YL~GJViIz;0siMG!tc|X;FCr^q9f8_xFK39z z5-I2WGH22Jku|J7vluFZ*S4ooyO$OX$ni<9gm>i!MAz~GJ}qp4=EO~Pa}SvReqe57 zdczL;XeamLz`=%~C#On#NLyEMNr9EkdUd?r>nI3mnhinTd_i3sNUt)y6hfHK+!rb` zXLcy8qjdwaxZ47?>pc0=yE*06Id8mCouwWT$QWb>#q8{RvOJh3vil}EG_c8|{0VqtyR!Zfb$ zil#aV30s_eQu;?G-UNINjDl>lDw0u-0?ouQGHIr^Rfa<9+R@KVF55$ zL9={*3VN0oWRD^8lK`fee&v8#z7vuJ@%hSBp1jjjG5tlyuC>Q18Vqs$7|RH0l1ZNm zcn$F|c17tRF2fKn^08NkuC~t5i_27NCz>~nt>0*?pJm%vf6W%dgjK3*wLwQ-N`Bm& z1EmF$*nf1suS|32`aPO5UtWmc96wD{?#r#>m#GBxbaj!3do&}3wU^WuVW_?y8pI2s zTz{EnS^NRM;*w%=E!$ICnC)O6Cb%YU*N&b)YlL(syKls-rDL@>OpHyH6sk;-CEeXEy{d`^M~UA#LiWpps$zpKvy!{UCw86PWiw7no zP1=|^!8E%nQV=DC`{xYobKtLT=B9rU^MRz0!mkt$p_Ww?B37WOaq4@$`j(`Z(L4|u z7aU$2XykeahldZ(`+yr@AFJ9n>AhtOq}`zrQ8GB^mQ*fv?g2RGft&C8cD51mja~(1 zv7Mp-OGapv@?00KVgP|-Q5U9UB8o&0sS$u?X_TP|8;v#u+1bLLF4)iOV(`qOG z_+Z!c5$&Z+J^^45xIOwhq5%T9hKM7@C1MbZ>b|+VoTKeK8Y0u@9{9WYz}&h`iDnS0 z1p9#HPkMre!2^Q@b)ZdE4>-K`c(s1Bwkij^n>C^KO7(@AnH4X9D%FNwGE}8QZ=0Ak zKsVaD%RDF}FhZSG{l*(P)#W+TyZN4VwE=#$v*Ot4NfV^|$IL$frkh)qoiq2q_`z9= zi4aTeVofm3b?k6OJ{xI^&#BsGGG$s4rH^Pm&BYomHehAXa>Pbf3|N%&CFdmlC=^Bp zZ+30l--!od%UJJtpe*)(UenI&eMUaJ{~-y3b3542idFMO!6?b2KL*5!Ij$J_G7Sr+|rgT<=t zsL<=Q<``~>G#0^__eLIyF>AF3{@EC_HF6;~L6xdO(3hF2gbH=ySZWa2+&dbFKp^3e zwTe+xxh{U56e!Uk5YTuaB}C^z2aFt77)hW|=r)j$!9=k1^^Cgqj;cXLuOmT+^`K4t z++l9Xd(sZG!DMC& zq&w(71cMWseA~_!yk3%~qR#;naQ4Kj;5Z<%w`pUifwy#_ugmdESS=N;VdElD$UO9S3EG< z^u$wyF14y!M7QiyqR!sd&7JEVJjVu68>}5{r%k;7QkgHVkQADXZ z8=k=_bYU2mRIwLu>Hpw%&){~rumKQyKkbyHtNsA`x-_(n6?TPamdyb`avHBdMaWsO zt54Qu4p-qWPhP7B zf;c!c(gu=82Sjrs^=VKnkxz(6PJYhqfFn&1ZtFo|V{lk7IIP3JxOp-Dg$;}AhA&y% z+%e$T(q+f){QQ`(@z}DZ$FR}yvGhOBT=(|cwQpbd41cdAAGJjgY=W z7F48EVCw|7KC4`_@Q`%j@Rl#?a!2Y$yX(H(a#*@>XrZP&i!IpCZu?U!yMarHK0e6N z(~Bq3GZ!yrav56W2OndfA3OH>F)5v`W5%`T+s>~Qbc+^_KlJwUrEeab1kY#e#%sW1 z1)*?#;Vn+n&4y`=>8%LZ6ul2fRa=XEk^i@E2CN;a!ad zLb7BsK+ZYv2%?eA~Kv}WS~~$IVP{89HcxWKO`4m{y;*=fr#%bZI^yvS|Imm zr2~&|+VuD)mZcZ;>Dm6JFV!%e%N3J6Cb{2B()Y<@u$s(tgI-N9 zYAPLnm)GYB<)v}Ukzx7_?)1Z%r`X|56DMriG+|=o?u6{LUY@ub`ylx)dY7v|{EuBO zy=x5J&t4Pf>6Mn9U~?HP@q!^W-hrIw@fL$io(saV-c6`NQhcNa(eFK6<(5t8fviTe2ViJK=*+{_BKX?>ElzO@@yBqSvF zNz*#g`_dQso>?*!OO31{6cAu<(q3FiE&KoQp620ZwB10gn54_f5&eGl37agIM_uR9RZ^068 zmiYOw@^LW?KR)u|lLbf_jS&FekOCpqT;|9%GQOuQbSsl8$8G;idiH?_rDs3iJ|VBZkLUMlL=mwS2y9+vhCwAg2mVXn)s30E_tpJkl$y z*fSu%FhyERIvs|x90U!RMSV_0WD!gih+;(WMJf=%Jaz-H^c2Xf2DK-8TR^l&9k}3@ za?<-kgq;!0Yef+X4#trn3C^E&f>#~#I zcUa#^@*U$?-+p$_eD}hN*#47Q==?rw`4Z20{bwrngkfNxc=j4&JIW*9d1i5sSO+*FW&%vPA*H>)gG#i^0hLJ*21Q<1YGUj9u$uxPlPzLa=~j;p(&6w0j|L+ zS^q(P!zq4BFh?|wXqPN68A-trBv@WZOt~0*LGpUX%neqUQlCHr0C5Y_z0Fa9fobB% z!=ooNa|I*AKjMjt_oWnoH<+YZzIDfBUOJ{)wRz_x?uOZXVw|AwGx)7Q(WgKmaY(sufE+i9hOTeI~Wzvk|}?8NQ&OYpx(+-~s6w>BC6< z76Z3v6RTLE#1*I8Xj~zV5_+VUWov?40ZdQ`)3ig zD>3e{*bD1=6;7)0mX&HCJ~?{D_r2%3!Ka(|&r8Tu_sbqTJ;Au=dIpjraHH>dSNigj zf@NRW#740JEOVmt7Xxn|v4qS1U0*eLL?(_%RXOvtPxs3lS_1FKLO&<;PUBP-y_%mq zLRXfVTr)E;{?$`HU;V(7Y}}%u(md(;^_LVM+&8V0#-aY0&r)I0R}c{s$Y&EKQGjz| zFc4@EU|0#>8?duTKq@c*n$yrK2BItHr(uKi#^;YecUbyrX6-eCa82z@W;^`c@zv7n z_aqq}kbe8=R^qWALW^|ox{6UHZ0e_fW>ZV+E3cF8L%B&lG2y*^3onlV>?GAh z6;vKl>Hz=(uK@)_A<5SwXz?m}ivrRK(C1|69|uod5tMf1oQo@D2Uq6FA=L|rV*7?a z-aPI80(N)FXVSS7Pu=tBU0-LLC%njPkN=|rsYT;lM#ZIvLbFHb)y}A%J8J&k)vpdH zy!gVDF-vb*^H|PQc7c0WeD|i^f8fTJra!*Haxu&~K& zd3Uj4$PD=Lq^=Jk;J18h({2%8Y6Ds~_sB6=z^7_BUrp?G6 zT%8{iUzO1R?6G4n4fFL1>0@-x+sQbsIx~uaN~w| zd9+gKA|&h41|$UX>Y>0*d5PJCqE~_#2Nb#j&t^)>Yal@%pFk=(qQm9f+!=92Mh841 zSWLm`=&O{olfYx_X7odvtfHF`HL0~aU!x5w1^AiMGf)EHb%IKE6_qZg`_Vx>e6@1% z-b2TZAG~?d;_{3bp{P(~mc)XYQ^T8g-?Sw>MX5E$*wZ9?RfRp#Y}9JXt3<8Q#97o; zRVJ53uT)i5T3iY2#hmOBb?B0DEpqtnIf zHLAHY!Z&Z(kYEAn({H@z&V$$Ml#9zlp^B!ay|cz7s?~{%A2(p_%&EmCB|(%};H_S6 zq+DWcS(Rwwj0TmqvdWZX5vwZAu7trW7S0(_H(^5E$k`rMg4vWftv{>hwl~f?w|Czg zCS5_Hn&*`_&6-g?ux?O;G_7CF)(0oQuxsbeKnjQS=W5Yucy7%YzsSdmLWT!Ev3+G(b#j%Fj>TBSu>f^ zpw__F0smj++=867(&hxO&!GQv`Y@|iXYj4uzI)T`@{)$@R_&ZtU{4vVwD&FQYmwg1 z8n^EB%;|Sbsf>#>R#(-GavA!}UQpRrsZ6q(f+PCnmycgQv6sdOggjw+{)1!E-!je1 zukU5hTC;C;s5Cr)iK5A3InI=)RK>7+lB)_bbh=jWP@7HX=rcB5nOA?)_)$A2*7Qo$ zaO*4G0nXta8BFNAV*bedf|`lLQzA#lGi!P#y-z zl9w(wls=@q58ZI?bE1^#wBlgX7XKVt@AV>*=n26tghev}h|K z49Acbsu>qTZYYI_ssb#nyBT=J<#h&UrmM7CxM&D##>LSSBX0?cmY>wwAlHA`)f=OXtB?`4oRisQZ4=|BwuRxG^w2{Z{!MGYh`{_h${bV>?josn9j zE%O13HdTA$f7dKrUr7PbWp}i_aX0z4k>3ABV~{Kz<$04j=?Dpb;8r?+FhzHU z-72GEc6M{Q9QHYionTo|*EUFRa|#+Hd(T-CE%&e%V`MQsn!8EJj~<3v{KOC(JGYlk zTS+PlJll(L@ke=%@=}~dR0Y*tAx}4P1V41{3Y zb3@UnR7HAX#~FtDqpEy}jiG8i15RE?NGR0)(x9MQ3GA`4H;@>?i%F*Q6un*M8VW`$=60JJjrr3({3V6f+6E?_ zXIK%zv(tMgdB_cUh$2^v;LFJ&wo?b(l~JYZ7aDC@IueOP0qa<er^N)+%bc*@!y_d=@)A1hV&Y`*M#|WlEr?!!7C(z4)c>-EE zpq9Zhrvcs%0%=!;NKYN`75gBWmy6Ja!2^<^UM_akntdtFmX5r6)5ft0u{j5?%`6>I z_8Ob^=9_E;Rk*tL1*t8+QZ&X2yojLM7*3UE?-lFP9eL!k$%uQTM~$PkXW<=RUElQT z;DW~SBP!~LDB9cdLiEuuqtzg9Xc{ra;Tr)D(_ z8f{rHH1A@gRZ519o0R9v4Ahw=+5h5r*Q^hr$K^pAYa45O%)_JW!dBpq#2?hMh1s_ zNS)-d1Kf}l;-q2RVAu!lE@1XRlIuK=%E9l9sZEZXH!m)^HfD0b9gq&V#`}VRPuER2}!z+-;9AM#K$N(^$dr~Cf#Vz za2h}+P~E4?x|v+~@r{7BhipAjgAC%wWFrj7Ir%bpVMBI`Q1V6Rmv&2a(w_6W!t!PHqx-(kdM)E)4Q#Px zP-b~U!`iXZL$g`dAA66kU)FZV*tHD}#*n6!@*Q>d?xtGqR)#);Cnba`p7RTDL z4Q1sG+(W%5$K@2jXmcy{0MJ0?lQJ~u#~R3rEIzM7x^I# zQlrkL(`qx)(=)VMZL%)2K%*(RKo1+c7JY+ElPhpPBBke;u550~+o(>)t6n8i#jmf8nW1XBHhB>5lJLC~XT4=89`r<8QxX zqo(%VG->F%p(XKvpA?60yrrwZ%D(kcH2MUE0zD1Ak!E1(kZ^knV785N)rA@bqOc%O zP!I=&sVE@{{0sZsTw|meq5(^x*bM>FMr&&o+{dHyl3e#>)E@J@7ph2zpCI6rl)!;} zbZJoGMHSW{k6`f>o*oHDoqQ^Sg`fw6_kl9+{lVYw+IM01=shnk-1Oy;KP;4Pf8|%w z`){vX_crtW>O5O4g}6tS!BGCqqg|HrN0IE}_;t7Y8@Ic&W3<^nELwHL?hAVtzPM-f z>iO5*)3WYu>3vWS+~OUsT566+u-JE**QM{jl$JF!1d)`aqi?&xr?lc75>`tm9zoE< z{APq=n1Sfb#C?%N6Zo-hk325iZrd06icOGWI__c90jj(4mX42>@#7+Kjgvd>V#B%h z9UpOM3VF^}hM^NAd+v4UC~`(}NOzE4kg^8SU36W<8;LqX;upt~5M_!Mid`J8y?hPsg=j2!n+uy7P56f~wevR;29`yHc6Wcp z7?p{+Jy{-iw$DD)WbUgnRVP?#tmy^Jq>2%{&!hX8T1}V#BPJFihc&5%`_^P?;+n9K zze*Ja{BAR*{=e$p13ZrE>KosCXJ&hocD1XnRa^D8+FcdfvYO>?%e`AxSrw~V#f@Tt zu?;rW*bdEw&|3&4)Iba*Ku9Pdv_L|PA%!HAkP5cO-|x(fY}t^!$@f0r^MC%fcIM8V z+veVL&pr3tQ@lQ(H{B5hU3cf}4x7V@V;L~v)I?6_*wq6t@dtRqF(&Zxdh`_-87jFo zg{9(bQc^a6km*oxBtb82j0+|3Gt$9d#X?J%2b?W%t;(wOlfeAIqtZ25;A4nbqKVe@ z8qq%asL^OLI8WZ5S?G*P@uv8q)`9n^>;UDX_ULuK%KXB_tZ0`vF~1;IzRt6IISK77 z-|gv)Eyz#wx}viZ3-c>|-7zgy^wCu`W4o?X0{{rKZ1(}3OoJ%xgbRfJ&Tt)B>$;bt~Ya)oH02^A> z?zHL{FI=YWUC4L_u%Zs96<+WowQSBTzrv!*aGs7Lwv$2y=zHr!2B#q>)@n^jG<&zc ze%{XG;hsiMezkXY7Y&E#ncsi?kFPxOhr2$1aeo!7dhU;Gm3R31ubRC%u~1x$o<2R= z8k`#4%yc`wIbK)1ExM;C+7=&Q70n)*)D%-t6q_iRE0U+rIPYg$_ijm?=dI57%-;XT z{{DGazWCW)*MH=B>?8TP-^D$-<^HQvZBbL>I~nhcugb8+Us*55zK~{%u8P0)+2_6; zKQ$`angE(21O97%3H)Kw^?{5e3Q?J>K!-R4#1|JrMzTtP{cS}&H-*?hL0I&l<9B)i z6o@xu<10Ov6^e?+7tRS`%uDbl8>L@f`0%!E4`2B4(2c2kKkj|(ycU=)HYFA;TE8$q z!RSrw$;uu&5M2;nyJlvhWBAIBoSaoVU)Z|&#fw(@lk>v)QC#ne4`vi5x*f|iGwWM( z&Hnlem(96g&CKF7mzmpEY}>YC<+g1 z-E18(f+jMBv@km*uT?$Ws`}>>XgO8h2Io!Cra!F>uk%$gXCXL2%;_N?C)hp_*NI3p zLO*9c^P;nL+SwtN{ng&RU&-&_%08v`D05%sR4GB}+=id{&fc$1=bESTv%dZrXyY0B zl{^}LttWv8RCRvzoLD`v1a|b__0`w<=ggRC@<{)xcgob>IE|eDZEy5ZXQ)H;UvvRJ zdjbx$K;{Ty_n9R3hq1t>(ZxW(1Ldb;KSs(Ir|$s|xUMuAwG~zi!?c^=p=Xxp=9N5eEhR^|KX^olF;(A#aC4bl_-Q$^6);{6eB9CdQM8S1*_Np2I_X^o_%P!ZYABl3X2mGHCDR>zQW zM&Suv;SA%DgXBtCBtD({cutV6nQ`n0z7>Datx)gle30qL!MpT$DK7KGg=;Q}xGrCL zhbpgr$I8oHkxSNCrWGK9?4#dNFioHy99v&Fd2%5?fZ)kv93s_6;?u<(n9`0*t40`| zB(GDt>P$EW@i}5Ty~yEd;=6Jidwh96CF)-;PiHsfms7YL@Sh4?@@vou0_@DgLsq&# zhhK2HffFY(<(4WC=bWG-{d9<+MByX3&V*<_x!eGAnboY! zVK$59QoQ{50z>REr`aUTlM(s=hgAsum~KePrdLx~Ny(-!FvJ~G-=7XqIVNI9;pqII z$6`h} zUU)nZq6Cr^WSIYowj~UDC{{Lwnfvzd-?yE;CcnZ0a`CA(tXe+0Mt6$8THSy5Gk<^P z?*8iW0Q+#?e&O={`%X5q*H{4mUmH89JGBO)3O_&wHUI?r!jI1{DLMbgtO5wHLJg~P zGaEJlV5LoKmoBp`3*P!%#3>-bN!W00}QqoFh(U5 z_I3)fCvSpLkO+H)?~@-H`}}!1@Vqe~6-Nv>$hb*}RUVB()kzcIXv>RX!ILKas?#Y8)jb>rWA^~=6v($U zWv7;bzCwQyw=J5D9yuaR>)f;J%XMt|KlfcEXDhZ1Mq5|NV~=fprP4LWRr$)+$KUT=ltlgu{Ty{aMm#cPR0)3*R$@YWTsR5O zIA6&3uq7mxJGM^9vKoEz&eva;clwN0t5JN%h%MXW@_N4KSGXKsT6H43YU$D{@tvxr ze8cFd?$owzGFd;+so|5iQjSx)d+x!UG@i&t8RFUl2M)N;WFt$Gv>s#A2-r`dRf$Bi z>AxOF>X6ofSS6jCQVeH>63_Bk5f4s)J_ddop~SgAl^4$0uxL_c;p{9-qi0y?N@4$dG>VPyZ;IP+7B1L zH0+AXb|$CfMJ`#pILf$q_uUtd_-ge+T1HGIX8whfFFttPFP~?DOJ@u`aOZFC{&3Uc z#a=jNOyaR{(}54sc%S$VvZg_HCpz$Th0GxOa8#?DCEGdhE2#WZ5~D0D1?v+*oGL@y z5~4St@wFK#p0gJL8!tbqFgW?1{-==hxP0QN{{E++Ft;7OwL)25*Re+~}0H_}6{CX*0oRXs#@+*Y&tIGCWw(8|;cD7%( z`BrA!|Gm`Zm6GqX`1)k_`wVMT-pgz#XJ2RMzOIw+u3x!l?^F9u>>b`S`DOn1hN7`w zU@^4~_>H@!av%5N}n6I9m zvS)bjSNp!dZ_o1HYhK1z(VlUf-X{s&m6#W&542T6n!zXlB-zx%Zsmv@<^mME79>ML zJ3cXrLWL~$buQ;TKC1C5o*G0`w)>7%&%^hp`% zPFq|?O75ft_f)HXp&{OU^dVM<;wBa=KYGqq1O1V8N|07y+)a?xn6F!hKB9F>;pTuu zgG6>AWXypxT=3$F|H{5PfuwtsIfqT6p!g_fblgBT7%}xo@&{5J>HaLZjs@h9%YqV%e4vbA=;aBYfUvbgnw@=pZFuUNz%ud1nDwW_*iEIp78 zsneHMX_ zOssGM6bn=xAm$numq;aA5H6YM&=B$gPUVSqYj_0A35IkspBaRNOlh)^@*l)_*+1`L z!t%(vaBx-6*t5)Kf5+~Ue^q9Vmj4#xvhjRVG@E003zJT~Ab(+ZyY0;SBD;<`5~t*q z`YYmL8HL&7%l&ydRY_6&al}`hiH{qPhcZr+qvu&HZRLV_`A)#~k&iZ*wwh>!m-}4xID_ zG^|!*hXR=*3CtZ5mh)o)CdLgc0m4fdEPG&&LCBw^P{FgO_mH~-?9zsr#KP#mvO2hc zvxrHAjG%kK*wcGJjUx&SASDKl6_f~UxKWN0g>ATjcg2IUFv4DDhIegjnoVz(j4U&g z86~scmKM9#o8d5-jErZ*FY~#vuc(+mH7P|el=%H6I9dNlEq>- zCKQOK&1)^5DOO{2RMC>MI;)}kUHOZ5ySHYo%3v(oXq_V50rfescC*N3;p{hNyS_($ z<_6j1L5esaFF)`iMXdS*)BRx;MfGCI`>FhUYz4v5ql z6V~H?*!H|}6V`n|7DZcb6R+jmIa+B5D*-w%hIi}vUr*BND`6?@Q1GX~hzUw=5E#tG_8d-|q?Y7r{^tJ9yvIzVGg7UAc>DpVJI{$37J zKpTy)c84=_2JI+igw)j%EJDmdjF=*-sZBi{Y5Ne1L-ndKJ{HihqBxqi+G{X96iGlL z|G{@8Be)RJB-ucc0UeJ}_x-rqMQFffI}}py(;M-K+BG>`$TJwnFg_$_(V_dU zLeDGQZ8H51d)NtVcac%BMhudDsp>4h$Wvc*%4@ zB_<3{JjklBxfQ`oWI|$avv5WXcfRUy;5Gb@BO}I239C$V8ZsbNLdEKfQiTN%)(V`vnnc%4~>T=X>a7EQFGF(W|S5SHevO_?5Ko{=$M%3jD)D{ zgRAvU=plb*cVtH$vDiI7+ZVNeOUnF!A*G?{ysNXPic)d*;@O3vp^l7r;epdB;?oO~ z;?y*vF{5l^s_1`H6|*O@bgGM2bJ)b59V$;XrevjsF4pc`iDl90@lh#JtZh-o>?o5d zYIeq=HqH|^8`4>|x5T!IS#D%eZE=RGdGV8`EsjD9(N1%LIS@VjeEBG)kpFh0{8^hP zJw;8yiZf29$oLm!1Gf?ltM2PuuqZx{B-E7iYs@JhQQXAA2mQw3r&xPZW+JwBFm*)p zlny~C5zSLD`3o7iGvs22^zN_>I^cC4q*_4q(FB3rQ`|0j?2=CMIf5W2Km3toWM!vi zlzI=WCm25bfy1AalAaOtuDWsT+2dnRS<|d{TCMtOTt1GUUVG81S8Zwhs0QwPHSlL2 zl6yOPQ0GZmbFeV0cu8}`dWEfdIH$JCpPo~+ymb<0&)DTuEJ{tY>h-wVK8~Ayeb=g2 z!F@Wz4|c=GODFXP0G$2^7||CBNkB(Kevkr?=O9%lQ26Ma(f}5Hq)bnvvkt6}G@~@5 zCpaQkML$Sj9Q}2!bu^*H27(Y&q1#d!Y^YE4CPuN}&a=hXR_)?K$rrKtYxmE(`Pw)p zdhD|ca$}N`J%-q6Dd`n)9m^K(T@j;qNrGi#Z}EI4NT$cmQqCJos0+Lpu)rd9YxVMb z{q|J3!hW7)oXb7OYd+RTUGx2>y@&KXZBekLD7MHKhskO1B-JlWTi&yNZ=+|0$Eu$k z%}m^J@+>tyP^pl4lir0r`Z&<3I4dJT5Q855Kx$qdKm#EG;>&`pqBlw}67LtCL#LKr zP^n6%fyx4~<*FiG1V-UfAAC0&yp#+mgZ~~%Q{JqsuAZojX+>h9)otd^YNv~T;V|kw zjnyf4Jm%1wlZ@WA+aFxF>u}bxu>V$;T3G1A0dHd{&m$Qi&%i$XYT9{E^}!V4#yOG@ zxn-#*#kEy@H8v^5;jNVaaasPNc}0*Xu$t$x(A-sHcNlC;aGKT_T^V~)Ry}at+B+@{ zjds-~GH+I3hCelX>Y9z~a!p)de>>iD{Mjp9Ci%J+`P&&nMU~C)1Hcf&Ir}!q*G++s zxLxQS5{1Pd?SfIV21sPH1yE61Ks!KUYfG?yMm_;z`P__1pOuD?$VxJ=s`*pE`x!CslJ5wr>oJ+y}lyT%s!BB_805*;dH&79sLC)5WEie6Y2K2gqSDZl`=kM z0*kfyQf4Jw$@R<^E!^f19mUqN^*m>9sQUf1+|tZH#@W+S=f*-K_N$nf%=FprKVRyI zNz0rU^-RQ=91A7V@|>)4p(%P_cE#O=ljT-lo>=ZH&xX9AZ*opnkX1|7Iq3zH*P5qh zW)$#snXJ%ufpGPsoaB|xGLx<#c9?O}`6n}NPQ^}BrYr$x(!G2%> zr!KVMK$Rp|rN>f;J5Bo(?6!P5qU|vT%3c)Pch0badE&A0SC%xadgP)DLtKPqj?|r8 z?o4ln3%Y;A8_*G&Kvo5>0)u2`c_B+7F1@WH1_DY3yFQvf#;ko&!`5i?`K#NYoc!vw zZuhEF-$IndWj?=Jt~XTX2><-lWSdk0{(V+nEIZ#~zf4?zEI*C=4Br)kB`oTJhvkp! zW~`O_65UI;CT1r-cp*$5nG6r}itnyY&N8{3ZmY-W6;2F3Z*!TeoxgF(pZq>$PRf

              |iJ)rNwdGr)EOmirSOj@aI>%6ZNkal&y#akd%Z!h9PH=pX zunSE4#rHx6xEAD*#{#Db`j(nTHb$rq( z`SIDCw`IE4UK1Cdl({%QKiRpYvTI-Ol)2E3n83%6*X4lQTMw!im@x|=F;1LfZo~Bi zz8NanVFA(DOnN3USPvw4gNFtrRu0qgkpyHaDRvGISd351$@kpw`x|c>3KfXn$u&2; z`YH>)`XD!_1eR6A#F*dni;b15*+r!}i>5Wk&f1YAUQr*cES(1_$e9xt2lm;#X>q1N z^~f!^j11l7%FB=Wh5XVRZ?du2qN$s&8EW$xAD=en{wJ`EcLpk)nsQzwbcYS z`Gd1Uxu1V+O&I5g%~#~+ly9P;rmZu+8N?k8GcAjx>r1RXidKDjVTGVLT0Jn;=%&b4 z;Rg2DM0S{X%2U^#WXLMY%5+<^EuvA1%GkN&g*j1>MX_d^W76@)P`%T0883Go2a({ALKF?KFD>=KXUSYGYYJ3Q7Tk1Ni}n_TnL=PkP}eZH%SJ7V22 zNmh?T@7kRtc?vyJuFI61o{T@EJ6rOw6X){5n9c#d;0Ek*S7H2tlnGpED3z&Cv;vSa zF%Afdu{fd=#`T$~KS;8SP>%}g=rPh(qP!r9DH^uY8h5@~kzlghqids+!c%8YwPtRg zpBPMh53UQm?!}(WIA2w`YGpXMVoJCwB|bBDQB<7UXm}4v=IzL^PMtF~nB=H+N83#a z)$d57Y|nX>TZ*nWBxEG|@?BYpj>LtRrdlofq=r;Wd8SR0(sQyC60&pBCCQOlX-REJ z(p#*)-3yQ~%bk~!kQr~dvUqFdWm_=^&YauN$6lVGU&EvSYZy4!f`Oz{;h+$3V9B;B zaIj;o02H~N=!ESD}J8h-5^cocoYSL{%o5NvbyP58+$p9d*FRvk~X$=Ub z2Ipk}2>f&XbGS231p}FPi6cOn+?AjyX?&<~CXM`ez-!(c^n%-K7h6Hs)HHe)q>mS?`Y}S4F6yJZNv{ z{?h5q!P@gT)#`PHs~cwK7U`ouDNLH`&)28CXumgfp)=WFNSN)*w59lQ;%<@eNHWB( z;4HB)EeiZSeHrV6mm!lQtzc&11LE9u=UrX1aMP?*^-M*vpV|PLc`fWelWZH9{J`%M zerZ`{23RdQ^CPZ4aQlQG&?DU6o%IWH$X3#vA(W62?Na2jp^HF=uF6HqmHu?hmG#yG z`BM*eOqoC5?w{kg&zn`-ad1+}gKuTIj(s9YpMF3I3a1?EsGAAop5<3l9GX)2z?+#d zNRfO{{>!0F?;Kpc`rtd84l&!onPdH9{rnpK!?DR@lcgVy>BxTpA1z3+&zo7_acD}> zgKuYgKKfj*|Ma*k`|StwY7TWyn=#*>3&|$?{F!x~hbaXr|C3(-$p^0Nw;n8-a=5c< z{yck1;SuJ5q2+fsZ+e$3HamFo7?&?%+qlfOefbl1lTgOs9qiBK}bP zSV!N%Eo;293od`*1>x8KkdwXXWuZBXda7=zaJ%IXKYCJFdh$1!Mt*y1V_f6{$v@*z z-^sD2{Vr+7ijV`Y20{@JRSICq&Z6Yl^wHK%S;Vm{VXvZ4>(mBX$~nkA!t_dmJi_9%^0c(_i*qJt=OiWP z+?zc)Cnq^6=Q}yLPaeN9>tgwx`_Fsx>V+|#7jI6UQl9K9!>`YmT%K5B8@Tw&8Bxhi z;p54R9^BjCYLgqPTdJqFP30rAztuAL>ayZh?V%MJ5PlVBFJa!g$(8b_tHeopS^;G! zq^Nvl&&D<3;D%|wtQE757RN>x)b!L&^0>U*EtunDoy)$wG(BO`vPBh=)dq0!I}c{Z zr5BW~6n|e?R8(2?)#AbAyu9SWkZxNYBoUo{l-2Ltox2TJG9myfNxy{BQ);oi>mE`510-d+FPV88sw+UkSx zY%s4{&0kks-^g4k>kNfQ2g^GvF1zW%#X%hGK+&Mk@9w`utges@Qk28R^sz9avHSDn zlE#U9_&CUpkd#0$3$77pXRdG+A+HS>aAHI;VM6I}830cLF{KlU3}L@sKJW|c1&ytj zU*5WAa%a!}Bgc*%x$P%xMQ?8({;}wDNC>_uHRX~yE3SI}s!5SHlCOAu6Q%288_%T< z&>TfyjLy=t@Bnotz!;F60oD&mrd&BL(<{=?pc4Rg1Y{n)uH-wn&Xhk~a_cKcrp_6C zWOUBdr>}2qwLce}yWFzd9q)&}>f^=s;G|;tJJRyFf%;XWqpRu%;_CAqJSUoyvllx1 zUH}AA53Fm5s9PM$y8v{hG1t?dc1>}O1U%O@ z`h1N(y~$h=A4o6sT(IawV+E^xz*Cty$FjQi(2bJMnqZGHvYerTc|{fdQL{pBABPLm z`V_+@>((5s?YLt_#m^EG@^ayI-(yx(4*81yDu%FC@$8S$Z%8YhNJ zp`~;R4$V~dPG`0O5dH>X04mvw4)m}Lj1BP$Kwj7dAV=`I{a_A|5QCH~2C4)D)EmBn z%7evN71PkL^|n5#skpJSF|bBy8&r!3Er2im7X|g ziAS7ZSqK+sje&V{XU$zuyigcCSx8FM!s`x`p)9I0v}Q}AI3qPPGp#{t+_ENA8C7O5 zjotZ!DaJTU5QW~gK%lp&GlZSPC@W}*Gfw$|adKLL$5Z5+O6vvj-PCU_fxmO?zyV75 z8XTSrd1O{!wPc}r1WXntL63%)Wq{-1io(Zc7E&ro4K!}h1ZXDk*sy~@e<2g~7_2r) z&t@3~bKV^nidnhyXJs;$Icr|NU)p>}78;vrOt7qdLz;_UBRLp!(2j`r}o`(yqxwEOv*>ejs@{S*0p2Pb~@x^Hu zH48pp!0Qd9rig1UN>=(tG|jw4tV&5sOQ{l{&o>HVe&NWX@>##-waMw}$+i6U!zBT$ z;p9594|3nhbxNlnDfbVuW+^$nBsR7rJvrmvM-~#e;M_O{Jh?vtuZ+tb#p{w`2gr}T zXh63STn#UnT$x!C^9ork6B>4Sb`wJ$FeC|?tPIxED7q{QNAi%vD0A>E16flmB8hfr zD)>WLegPte{;ct9Sthtuo*0*+=pExF8yjV$%Sxs;Xd{cvY}QL@?|@MdZGj5yrymyo z4MgM=JJ>Q;H1Q7DE||B(Fg6u#apjN2cE@k|*avLHC9e=}a3AMa0Ho1%B?H(n@7TO|ErL3%|m{Y~T!xA+4+ zd+Sec%BAoA?QOR6O*Z|fW5?fOFvE6B<7e}k!z2V7^!(6^>}U6#c<2wee$F>M%O1bw zGKiT=^{mMt6|@=I>tls>ga$z-7bssm@rlIo6pf7EF({ zRm^N|<~R0ScU@2Sb=S%BkJ_V;QFaO0p(3RSeUEBa?L0yGMiV67R^ZeRI|1d44$B%a zmPiy9Ed-#WCc*z)pbEB)=qu0q7VWFFq!Yh9=3JS2QB*&zxNv5X&uN%nJ9e~oKC}iF zgd{^CrXVTDpOaJ&6W|ZIZ0l$ijbG2|1)J*>^ng!P(|ZxKSvVh`+Ko?^A4{7ubH$vT zx{i*z;#KSC2E`PM*MxswO9~S)?G-o8>UCnTP+^1?NR=2@%})+=u1CQyPX$d<1Kq+A z%vs`_k3#@g0Dx=aWuOH7=&5nj+~KJI;aOdBkq8SjGNqmgjW4?p6wyWJG*;+~6Y_I& zbMq65^%add(X*g29bUBK`#W}gUrd`QN+07Gd(jaSu_U1x;E<0H zEa(9dY{_VMYlWETaGOkSN1|BK+C932Po=_l$iJ;7aH9*0Mwu}Vx-iR`*m(q*>n6aY z3Z+oO14HrD=-2vh2YOHi5-^!cm8Gr>YIa=PT`1%{fNk6!M@R#{fA#FbPKml)6~P20 z1`0*f8q`8xKe-Wgv%<12JnQQnyXU{?Qb5p`3iPpcN(X5cJ;>$v=-S#Z(JNZ_zB#(& zYdy@KRJwO;-RX|}^mOn3?R4D907142$qzqz zTB}j9g!`i#Uv|z~v}l&|IamZg&|n@y+5C0C-@AF;Dly%K3Yn4d|@i} zw0S@>)vg&21d}bg6rRfie$4_Ve@V5ydj;9v-77!*8A=y>_n#4K++X|ocGk1~^SiVL z>vbec`N;R6hI!SMe`d3l>?fwb{MAjWtflFCm> zqdjdEvu9U88A1W&6Gxw%8{gnN#=VHsa?*bB4?V>_AimbaQ4Kn53gAksICqyTN5su zJD1&}$mz((kWj;@r>z00&nlWd6UqA4QPPQ1{onQD=~bGSDuBTM6;91O2d7F3(W2s9 zLYn8|T-Uz|(uGlC$j(HT1b)7sgrKj;IXEZj>WT+fM&LD1J_OR4Ls*l*q z(0*St?x?Cn66Xlq2=RBXfAIcmuf0F3!jl#b&CDrGE$O=Fk~`|^*v=7bS7u(Zditi- zwW-ZL2jmZbwQJY=ENTCiKfZAN(wlb|t*M++%RhlqRfYV#{G9wl`NvUtlN<7qoXx9x zBKzeX35|WLYW%Zc^=lYDzVEu5<-IgK1gx>U`KST(A29 z7zKa>5}U&3kmea3T`C7PP8?q(!vL&C%aPcrM^Mg1kzT=ZU_koGHY{==3Tvr$@}meu z(76{7H1?;&I71DJEHUJbY5U7kF&c?($w^%6EDR3)04!Cc>mjVaVxT%7K77Y zh?pqBk>{-y%(hC8Bnm!1{Hf0!vV!feb#LkwVyxaMx5<@y*LL}%dvho98^~G} zG!Mgm12%DxTp%-y23ElgP>F!e<8u@r#M`blW%*7XNs4jC{))30i@_o{144R^Rr8*2 z&`0p*=TzY~ufG2^DI z;q(2Q)BlV7uRm}~M}+kHr>C!dWnn&ErK*Cu zE0x>r%5_Y=!9E*3GS~n^U_5eSLiybZxnwPulF6?oQ?HO%i>G#=8S&=)RljeYeqj9x z@a&1IUpOl(sV3iSmhVvVt^C?Gs8pfKH-G)@yI)IBZS@Byro?W5#*eMGzbgOS`0-~wIj{%qH??L=S2NXR ztHxf1SHsRpw0yA>v zFz!3P#c0_0114N`D=T_$``GdAPi)`*1iPhsjS;ks*I=%!9eIAkj-xhnU5(igD{-f> zshbOzynpf4|Gb7RU)uk6%gU84Z}%;`lj%N}&tEE7O~uhZ@RAp>z+(@yf;-KIp8I}x z!DI5P^955(tf|OqvWk_zW+iuA#iVDpn#>zsli$mvI=7$FZGCgP-e?YHo6X_93;UmF zwmN>eWA&Yr&E}k-$*7<8?giVAU#2(g{Ie=s13AS}aA?3%B=_Db)9(y}j{!}bz<8*~ zJ?g%B6!NI+Chq$f<~O#PjBK3i&fUL_9~G&2j~%7mH(fB+3jam%K`7{~!1cNu7L~(+ zy=h;dw&bj>vBtMm9KnNrBUkX)?+a+$*pYEY0AHsXIp-+-6y9(hF$h$CqJVmdLqK&a zaz)CwldWB7-owEOwgIH1fMZBlS);Sa6aa|k1qDt}&g~oVTYJssk3Tk>_X4fr9*@9T z&wOZNx4r$Zl4;pQ*Tg=hzCoX2Y{;`c@qPYdySUmWO6x80W2*PAyVU04t~7VT^GVy+ zhnU@kPx*$lr}N4$i@LL5fcjI#@d_-FBkZq{^@S`jHYmR$t@{QVp0)EJjtpP>CVHKC zwK@aG`T{8vN%%r}=W%B$ z(_Hb|gBcG?AUFkN5Y~VkE(GrtKO*q7;wN+fJOUo29}*gAigXo;osss59xv!U`MCtT z0Y-7tL3UXoH<G9z{;ZqrR6sUVoNd1cHI&I+7p&q;$?!N3uAwtrmOGDX%no4MwBE zYcw26x2D_tR;zm3LQw{z$I14jT^sfninHcc`?<&9(%S_|Fgz!CeQEma<*PGWbp4^j|Y{)20DOhSxob0p(vRs8Wo6THMV&gai%S?{*q({Z?zGt@82bgi}jd`<0OI%h}?mLwImJ5vIN5RxqA_FrH zs@2572~8G=#8x69z5(NV=>~rmtP)1KN?i~;E|k*J)1YM>DD}XM1K28x)-O3(Ze>l-?J=9$=Cy(7F3C?I= zOiomcQC#KDxT_pC^QMT7w4}n6kv>CmQNZ``#3MQW;Ul8Q=rkAw7UD+1DS2AAFt5=8 zA(0!o*B50lJByg6e69S~^~sLO zw|{F_PIhXxNfa*p$t_zOL`Qkrd0#$!O=hMi9nQo;ugPP(9?98#=>=I?S8aao(^>ZT zhF`y0oHk=sMkaa7nFW=1eN=iTkVoP4?m&{jrHbrYIKMKwrruJ`EsJt?C59YnzC*C! zQE}jx$A82GV{%*XJUltl`DgiwiySp_^I88y9q~t86c=iP4J! zOUleNTViVGPR`iymr8w3ZGBv<)8vY4j&06#i|cM)Q)97u{jKbLX4*CPHTjQ2sg`&c zEnW%xe1QwPR>j9#8~m4DwLLeN$2j6+6B4ZEl*vZl{wrR(WvDeV%`t1Tf8LPXfbq*b zW!1kU{S_xw#h^f!DHf-&ED-(&wMYUV2B-?j z6~eSPWM;Y7&#Oer#)Pmg3sa{oS+olnaA``?^re-%BGFb@dQ7QI$e5a!8S92~PqrcW z%%9*w@2k%r?vR+n>=#QrVX2g@V=IT<{4WbG{r+p;zjT3mV*@q6gZa~+$nVMWBaO)= z(wr-w`rxy_AAe~0qngDl_DX%?Ehd@uOH~qD* zwHg;Z@OSyv7j9++e|`O1ksR-mTZaNy$`}2WEw7hQ^6Gt0{p{86?_I%@+xEVSsR4Ns z&@>7TC3|*7(9tHD?tbWIUj@DF`(gVBa;IdW66dL8xw72&(=`%gnh zzCs1%*%DQD!bmw$!sq|PoyLagim<*d!1{JI(VBo(P%#kG@j!@A$c(}>yt)?AcAAc2 z@J=zY5+y+c4O{4OQ9sO*D%dbC07Zs_2{OW>#H3(>#ID;VMJbP904q|7Nu-?yyrbMn~K9OnSo4Fk@c z)L8C(P5yJcZF;~~_JlV8LqFap?nsI^<-%FC;u!KJ(Ug!T#wSog@j;JP4s(1%Im~fR zISKJ%T7pTGUs8NphLdtl@$8n=Zd<7rjaq-iUuw=|`8UZgd>Wmb;xa~$zD2TtZ;eJ9 zT`9TIpR$UZaXdqZN7Igq5s^!a3Kj~lCj;(!JkeM~M1#cqv_}Ts%8;Hh zH12(EWcaYY~)7fzL!mxZ`r)XYE+ zt0PLtbgAx?I7Pm7M1JY^N97k^h`WTX8fIm;KgP;mi1REbqDk8un00no0QaC}BysLa zx3F|qR+-lT;-vs4*|IY6gBc`0&i*HwK019KPci|*!?%>)e^1Fn^I|@ak*BfZi{;nY zyPtP_#j9P|C%d zIzDS(x!~yqYn5Ecf2Jh9=^Lm*>{(AS!%FC^F4wi_dSGSZB6y*CRQIgzW!*cvk942n z8zGA2hoCFA71%OBmJ$;}uWT`($E@x(gc!ZDg-~`0;6^B1i7*L+hrI!1y{AYTqa2d@@6zTCo1Q!H`o@u428IC!p?{x+;^E?Y0l5?UBS4;X7dxD;~Fnwu*TU^wrhboN7w;8N~lBoLGfs-|Qr^6m6 z2+l;l%xXx>v088$i^-UZMLaqhS4nhP%WM4Bgv6RlriFS|_PQ@RG{wp~{yIG%EZUUo zugVZZ>+5|x4?i${#-&@97wLlyF}@Rnc9YvxVpFd7iqUC_a7yKjN)&H{44Es<7~^)Q zj`cVli3wAjPDi+ket?a>MUOv_72z=D&!M?0i14E< znc=Akr;1+YFkp|BV2duyO}yg#tJ$WZ$8Pq0S2##myV-&$Vlc3FA#2Kmc5Q-#L0 z5dz+Ga;S1VUEFbVF#@!6v5 zh!ce$wCeIJWPazJe&>?M~T7=80Km%%z<$p*1`g0SAVL7MV*HckBHJs zx(s}m8rCDeNedfv-)7sjuu&Jww`gIL&drZ#VT&%8Kcj{1y2*k7-b6p-jkmzhX%}o^ zbi&7&51O0JIJbx(G##NnXf$m>H~1emZ8;TqtN9^B958d9Djx*_BnRC2c=rLL}j zV9Q`vN9VAwzIkKBH@&&9ZHq5ZToNwy)%5iElvhK(!N^c#aATwm85+=@KD43+_=!sE z2Spn}bbsG)&8Emue=i;uBBlfKE3@Y{^Evd%Nyq}q^SR(#-++v4WW;ybv|7X-&TfSF~Z~hqFWjn z9O~-t^92jb3X7GG{Lcz+#D_%iDb#h;r4bw)Q78J)4gJcsQ+e}ELq&O7k#4+U?Z~0# zRP)d?btjcIh&tMkzE|nCZp1Ysmg2jxAdDb1UP>Qw(Nil@5796-_C%V8A{eLk$e?ey z-#6SD@tqmkp-Ag6eRz96UgAwV2Fo`**xVNBZ656QH4hIDcD0NsN&5PSyILbd+CUGY z76PVohI(+=cY3V92^Mu{U`eNd>@YyM5+r&NdQSb`=CjHyRK85tIXpZ7y&h^_vkFUv zUH$(}2}KwwwO9I-(JDgbZz{8>2Orrt6v2Ci#-ZE4`p2Kc8wN^9z$xJ#-EN#QU9GzY zwu1KRu406);cgXD1+m@36aLx@U1YH&13UfBU`{0vPIbGEn!R9GPWFkVOFwLY&BcM z*0Lt-|C(6~@Y!cN8*624EW+AZ2kT^AY(47+^Q{;9l>KagZGa7wAvO$?up8MXcq8A! zwzBiEF}?ueliS!RyNF%PwzEs%c5o-#1xb?2pt`z;UCypxSF)?v)$AI!mtD*DvHk1- z`xcC{UC(Y{H^N8IL0ITM%#N^|*|*s(>{fOgyPe$uPgi%byV*VLUUnb*4!fUymp#B9 zWDl{2+4tBZ>{0d@+^s&ro@C!=PqC-j57<#y<9wDq$9~9u#GYp_uou~n*-Pvv@Id`C zdxgCUBf39hud|=CH`tr(E%r8hhy8-R%id$ZWWQqXvtP4g>;rb3eaJpyzkxN?-@$Xy z$LtU6kL*wE6ZR?ljD61j%)VfMVSix4=7)jl*ytck(D6&0XBhW4MQVc`T3P@jQVi@+1y^3#>Y)@-&{#GdL_q z@GPFqb9gS#c`5L~KH}Q46nYZv( z-o_)m9ZCR% zG2hNF;XC+FzKdVVFXOxU9)3B$f?vt6;#WgcbuYh`@8kRV0sbw19lsuQ|Bd`6evlvH zhxrkHGygWfh2P3=F#jHZgg?q3=tm{3-r4{{cVBpW)B)=lBo#kNETa1^y!cF@K5wg#VPk%wOTJ^4Iv!`0M=V{0;sl ze~Z7(-{HUD@ACKfFZr+d`~27Z82^AD=O6Nq_;2`c`S1Ae`N#YZ{Ez%k{1g5u|BQdm z|IEMOf8l@Sf8&4W|KR`RU-GZ`34W48H>a)ewVPskSv z1n}a7VxdF`2&F<07AV6)nNTiN2$jMlVX`nqs1l|M)k2L>E7S?~!Ze{lm@do^W(u=} z*}@!Qt}suSFEk1ZgoVN)VX?48SSlMn~gl3^dXcgLoh|n%{ z2%SQguwLjEdW2q~Pv{p0gbl)=FeD5MBf>^uldxIXB5W1T6V4YdfD*|zVN|$CxLDXO zTq5icb_%a^VW$O5rNuYT+7TuW+rfPuMRU5WXc`CtNSwAlxY2BpehD z35SIv!p*|Bg2=@!$6&}#-lRA2uhlZryk)f_u z{ZOQNu(i_|>Dw6T=^uzlop>G=hlZO6&2(vs^bQPf5l29^i0xfHy~g3rCQu+95kA~$ zpm5jFFz@fy4@P?XH%1Iw`}=#Fy84XDy?8^<5?BLfsCb@jFMZ?+8dG;e8Y?HX+DiJ;Db zNb|4(OEsvfP9rr%DX^!%wOefOY3?xNW7-Bf`}-n8=8gS5BfXI(w8x?asREN09vRSY z7;Notix^ta9k>g_%^f0sLt;yRf47k?w8BdRgI#^Y`qt*&$Y8Tb%PZdZwCTHso3RjD zh9jGYn>r&z1)7!crmnW(PBY$h^fmQF+J~)b5KHE8WYD5MD3qa14X+;=8t!V}BGR{5 zy87CXPR*xW!>{q|sHvXV|f@z>l%BMx zL8TQ&H9Rt4Rs#w|C|yKwgysx&ZH+XwkM#6dweV1Hb5D;mvbnXVxwrXrv&4?B_F)l( zV>{-^V8j^N0zkuPm?+TN(?1lkqQCmO`Z|=hOX$zOh_SV~C(_r}Jg6VUR-wPw(AwYI zi}BX?Hh1(zhRx&sH8OCzAE|u+_u);E$gmBcJ}^Ku?5h8&g&CfB0W8p zR_fMvbnI}%+=*dqQlVQ3(tI~4p^*WTa;FZ7Qh~GS3`9ns6{8g3I4f#o;OtCP3~+dV zOGLkE5Ocm$8g3ry9?}D&qR&h%gI$sKR%~L-1i9)wkvazZM+Sga`nn|mS5 z$Z!*VDdq_UF-g?`b*n`UDt(1{1I*qxBo6ft0@QF(vKf>RCeQfFMj(PULWMOE?d}J_ zbO8R_uq3tgV~i~tI8#dNIB3%Y;rL;|>o9hC14cmlAjZBK7!f$n4BXxcq&d>lVgz2m zICn(sN*625pry;IKB|yvpry2_x6OjQ!=3#@==_LrXrybHM$AY+MK$VMu~0=KSYi5s zm1(6^mJ|AfmXWR=%$5!#G7r$YV`}b2?ah6y5q)o@t-EX3(oRi6E$bs_dIal0r_%3Y zdvSXts;z$n1J#6f;!2$veO8PLe`iGj{?2-)Q8Ay%Z&8CvMxz=gjH;ARNeyk0p>8Z2 z`kv+ix+#D%Z0+rDq3=>=qg8`<1>VdXM*4@ z*#IiVra)PRWx~p085+Ti#PsbN09cQ-s39aPFSQPgY~4zI*A;1vU;(89iOR8`2@;{B zAL{Ii^t9Q>7aFxSQM5!g0lfl-M!JSN(W8Svb`e^5Hn+9`L20YDf&ml&IV(m5kh7u) zK~2o0AgIpa-ky-yIy6+O2W$dmnpLby9jRc^A*_xrzrj<OOZWXSXNDEchhc(j6pqt1Gw_b9G3NSBax3s%#S zmWaBvX%FIN46}(YO7!V8)R~4hzzv9MpmY#`n|t-`plQ1Yh32+CvAv|M z#NN_1+ycZ7Y^)9gFk#Q2Wmvf>QI4K|RCI=zvQ2m%8JPH%;L17Stvbawfz0jSG-SXu z9qjLFlQ1zxHlvwcEwr`_b#EEKqSik$IJ98|ivq|2fJ(o<9cZ~HBGQEx@ZqijVQ7Sg zHXJt4=B8_7L}(f5;2XQ8O_8paerz22@P`Ct0lV_;m<}rDrnq2?`T^r>aF0rY)2pz( ztsnG&vi;CHzpUK45u`Y%Ql(8uRbFgUS2iW0sh^?(bSb3^ja7MwE@8Tq(WRU&6^4<% zu7;ADV)S)$31TWJQ$;B~Ql<*ZR6&_4C{qPxs;Cf~g2hUX778Ipuo%?@i-T%uwJ0c9 zj7-5|WC|7|Q?Qsal@!y3-j-0N63SG9YJw%GCRjo_N+?GOI4p?)>g>sZ?&8yc6tS?auu2)h})>5rX_)S#0r9Q0P zsqi3`5u{p!RBMoG4Jt1vYf#HNjVcaN#UUy-M43XADMXnfL=X`ohzJoxgo-PqjS=8d1PLTUR91*UB19k&B9I6XNQ4L^ zLIe__5~?IXl>{gU0Yiv@Aw<9sB47v+FoXygLIeyU0)`L)Lx_MOM8FUtU#BTP9k=(tdha0PlBIdGvI7<7av2Mv0N z20es9$AxmxpoeJCLp10i8uSnidWZ%+M1vlpK@ZWOhiK44H0U83^biethz31GgC3$m z4`I-8p&Wz>LWBuIzy$4qvWPN20_EzA3Q$d98u~B|eOSW>fpT>^1*pC-0YI1lAWSGB zOt2KD@ekAZhiUx7H2z^4|1gbzn8rU$;~%E+57YREY5c=9{$U#bFpYnh#y?EsAExmS z)A)x2>a+~hXf3Q!=X{_hptiiGRJ*GaE>NR2wML!!ftoVyeYtiYFRw;>uGQ{!+Pz-8 zPgC!;TD`Sey|r4swOYNkTD`Sey|r4swOYNkTD`Sey|r4swOYNkTD`Sey|r4s8qy5Z zY4z4=_10?v$(?k d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/header.03fb33b04c982a1a804d.png b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/header.03fb33b04c982a1a804d.png new file mode 100755 index 0000000000000000000000000000000000000000..d73c27344ce322d412519d63590eea4657214d04 GIT binary patch literal 920348 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

              ZAh<`4UBqKKX#{2&)kM&{?Dr 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


              c=wDF8K@V3J8V|*;E|zr-&_aOfi#gymnp-L~Jp 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Ɲ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

              1mNzQMU2hHDR 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�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 iJo)Usyk)(E+JD(Pg(x5`GWOzAUgUGecn6V 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 z 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 \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/inline.8a33a93a4aa42df0b418.bundle.js b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/inline.8a33a93a4aa42df0b418.bundle.js new file mode 100755 index 0000000..164e83d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/inline.8a33a93a4aa42df0b418.bundle.js @@ -0,0 +1 @@ +!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,a,c){for(var u,i,f,l=0,s=[];l12?t:t+12:"sanje"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"rati":t<12?"sokalli":t<16?"donparam":t<20?"sanje":"rati"}})}(n("PJh5"))},"+3/4":function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("TToO"),i=function(t){function e(e){t.call(this),this.scheduler=e}return Object(r.__extends)(e,t),e.create=function(t){return new e(t)},e.dispatch=function(t){t.subscriber.complete()},e.prototype._subscribe=function(t){var n=this.scheduler;if(n)return n.schedule(e.dispatch,0,{subscriber:t});t.complete()},e}(n("YaPU").a)},"+7/x":function(t,e,n){!function(t){"use strict";var e={1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"},n={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"};t.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(t){return t+"\u0bb5\u0ba4\u0bc1"},preparse:function(t){return t.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(t,e,n){return t<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":t<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":t<10?" \u0b95\u0bbe\u0bb2\u0bc8":t<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":t<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":t<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(t,e){return 12===t&&(t=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===e?t<2?t:t+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===e||"\u0b95\u0bbe\u0bb2\u0bc8"===e?t:"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===e&&t>=10?t:t+12},week:{dow:0,doy:6}})}(n("PJh5"))},"+CnV":function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(t){var e,r=n("AMGY").a.Symbol;return"function"==typeof r?r.observable?e=r.observable:(e=r("observable"),r.observable=e):e="@@observable",e}()},"/4Bh":function(t,e,n){"use strict";var r=n("TToO"),i=n("OVmG");function o(t,e){var n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new s(t,e,n))}}var s=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.accumulator,this.seed,this.hasSeed))},t}(),l=function(t){function e(e,n,r,i){t.call(this,e),this.accumulator=n,this._seed=r,this.hasSeed=i,this.index=0}return Object(r.__extends)(e,t),Object.defineProperty(e.prototype,"seed",{get:function(){return this._seed},set:function(t){this.hasSeed=!0,this._seed=t},enumerable:!0,configurable:!0}),e.prototype._next=function(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.accumulator(this.seed,t,n)}catch(t){this.destination.error(t)}this.seed=e,this.destination.next(e)},e}(i.a),a=n("pU/0"),u=n("+3/4");function c(t){return function(e){return 0===t?new u.a:e.lift(new d(t))}}var d=function(){function t(t){if(this.total=t,this.total<0)throw new a.a}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.total))},t}(),h=function(t){function e(e,n){t.call(this,e),this.total=n,this.ring=new Array,this.count=0}return Object(r.__extends)(e,t),e.prototype._next=function(t){var e=this.ring,n=this.total,r=this.count++;e.length0)for(var n=this.count>=this.total?this.total:this.count,r=this.ring,i=0;i=2?function(n){return Object(_.a)(o(t,e),c(1),(void 0===(r=e)&&(r=null),function(t){return t.lift(new p(r))}))(n);var r}:function(e){return Object(_.a)(o(function(e,n,r){return t(e,n,r+1)}),c(1))(e)}}},"/6P1":function(t,e,n){!function(t){"use strict";var e={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function n(t,e,n,r){return e?i(n)[0]:r?i(n)[1]:i(n)[2]}function r(t){return t%10==0||t>10&&t<20}function i(t){return e[t].split("_")}function o(t,e,o,s){var l=t+" ";return 1===t?l+n(0,e,o[0],s):e?l+(r(t)?i(o)[1]:i(o)[0]):s?l+i(o)[1]:l+(r(t)?i(o)[1]:i(o)[2])}t.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadien\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(t,e,n,r){return e?"kelios sekund\u0117s":r?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:o,m:n,mm:o,h:n,hh:o,d:n,dd:o,M:n,MM:o,y:n,yy:o},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(t){return t+"-oji"},week:{dow:1,doy:4}})}(n("PJh5"))},"/bsm":function(t,e,n){!function(t){"use strict";t.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})}(n("PJh5"))},"/iUD":function(t,e,n){"use strict";e.a=function(t){return"function"==typeof t}},"/mhn":function(t,e,n){!function(t){"use strict";var e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},n={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};t.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(t){return t.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0930\u093e\u0924\u093f"===e?t<4?t:t+12:"\u092c\u093f\u0939\u093e\u0928"===e?t:"\u0926\u093f\u0909\u0901\u0938\u094b"===e?t>=10?t:t+12:"\u0938\u093e\u0901\u091d"===e?t+12:void 0},meridiem:function(t,e,n){return t<3?"\u0930\u093e\u0924\u093f":t<12?"\u092c\u093f\u0939\u093e\u0928":t<16?"\u0926\u093f\u0909\u0901\u0938\u094b":t<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}})}(n("PJh5"))},"/nXB":function(t,e,n){"use strict";e.a=function(){for(var t=[],e=0;e1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof a&&(n=t.pop()),null===l&&1===t.length&&t[0]instanceof r.a?t[0]:Object(s.a)(n)(new i.a(t,l))};var r=n("YaPU"),i=n("Veqx"),o=n("1Q68"),s=n("8D5t")},0:function(t,e,n){t.exports=n("x35b")},"0X8Q":function(t,e,n){!function(t){"use strict";t.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(t){return/^ch$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n r\u1ed3i l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n("PJh5"))},"1Bqh":function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("TToO"),i=function(t){function e(e,n){t.call(this),this.subject=e,this.subscriber=n,this.closed=!1}return Object(r.__extends)(e,t),e.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var t=this.subject,e=t.observers;if(this.subject=null,e&&0!==e.length&&!t.isStopped&&!t.closed){var n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}},e}(n("VwZZ").a)},"1Q68":function(t,e,n){"use strict";e.a=function(t){return t&&"function"==typeof t.schedule}},"2pmY":function(t,e,n){!function(t){"use strict";var e={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},n={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"};t.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(t){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(t)},meridiem:function(t,e,n){return t<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"\u062b\u0627\u0646\u06cc\u0647 d%",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(t){return t.replace(/[\u06f0-\u06f9]/g,function(t){return n[t]}).replace(/\u060c/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}})}(n("PJh5"))},"2s1U":function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i=t+" ";switch(n){case"s":return e||r?"nekaj sekund":"nekaj sekundami";case"ss":return i+(1===t?e?"sekundo":"sekundi":2===t?e||r?"sekundi":"sekundah":t<5?e||r?"sekunde":"sekundah":"sekund");case"m":return e?"ena minuta":"eno minuto";case"mm":return i+(1===t?e?"minuta":"minuto":2===t?e||r?"minuti":"minutama":t<5?e||r?"minute":"minutami":e||r?"minut":"minutami");case"h":return e?"ena ura":"eno uro";case"hh":return i+(1===t?e?"ura":"uro":2===t?e||r?"uri":"urama":t<5?e||r?"ure":"urami":e||r?"ur":"urami");case"d":return e||r?"en dan":"enim dnem";case"dd":return i+(1===t?e||r?"dan":"dnem":2===t?e||r?"dni":"dnevoma":e||r?"dni":"dnevi");case"M":return e||r?"en mesec":"enim mesecem";case"MM":return i+(1===t?e||r?"mesec":"mesecem":2===t?e||r?"meseca":"mesecema":t<5?e||r?"mesece":"meseci":e||r?"mesecev":"meseci");case"y":return e||r?"eno leto":"enim letom";case"yy":return i+(1===t?e||r?"leto":"letom":2===t?e||r?"leti":"letoma":t<5?e||r?"leta":"leti":e||r?"let":"leti")}}t.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},"3CJN":function(t,e,n){!function(t){"use strict";t.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(t){return/^nm$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[M\xf4re om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("PJh5"))},"3IRH":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"3K28":function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],i=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("PJh5"))},"3LKG":function(t,e,n){!function(t){"use strict";t.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n("PJh5"))},"3MVc":function(t,e,n){!function(t){"use strict";var e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},n={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},r=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},i={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},o=function(t){return function(e,n,o,s){var l=r(e),a=i[t][r(e)];return 2===l&&(a=a[n?0:1]),a.replace(/%d/i,e)}},s=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];t.defineLocale("ar",{months:s,monthsShort:s,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(t){return"\u0645"===t},meridiem:function(t,e,n){return t<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:o("s"),ss:o("s"),m:o("m"),mm:o("m"),h:o("h"),hh:o("h"),d:o("d"),dd:o("d"),M:o("M"),MM:o("M"),y:o("y"),yy:o("y")},preparse:function(t){return t.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(t){return n[t]}).replace(/\u060c/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(n("PJh5"))},"3a3m":function(t,e,n){"use strict";var r=n("TToO"),i=n("g5jc"),o=n("YaPU"),s=n("OVmG"),l=n("VwZZ");function a(){return function(t){return t.lift(new u(t))}}var u=function(){function t(t){this.connectable=t}return t.prototype.call=function(t,e){var n=this.connectable;n._refCount++;var r=new c(t,n),i=e.subscribe(r);return r.closed||(r.connection=n.connect()),i},t}(),c=function(t){function e(e,n){t.call(this,e),this.connectable=n}return Object(r.__extends)(e,t),e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._refCount;if(e<=0)this.connection=null;else if(t._refCount=e-1,e>1)this.connection=null;else{var n=this.connection,r=t._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}else this.connection=null},e}(s.a),d=function(t){function e(e,n){t.call(this),this.source=e,this.subjectFactory=n,this._refCount=0,this._isComplete=!1}return Object(r.__extends)(e,t),e.prototype._subscribe=function(t){return this.getSubject().subscribe(t)},e.prototype.getSubject=function(){var t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject},e.prototype.connect=function(){var t=this._connection;return t||(this._isComplete=!1,(t=this._connection=new l.a).add(this.source.subscribe(new p(this.getSubject(),this))),t.closed?(this._connection=null,t=l.a.EMPTY):this._connection=t),t},e.prototype.refCount=function(){return a()(this)},e}(o.a).prototype,h={operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:d._subscribe},_isComplete:{value:d._isComplete,writable:!0},getSubject:{value:d.getSubject},connect:{value:d.connect},refCount:{value:d.refCount}},p=function(t){function e(e,n){t.call(this,e),this.connectable=n}return Object(r.__extends)(e,t),e.prototype._error=function(e){this._unsubscribe(),t.prototype._error.call(this,e)},e.prototype._complete=function(){this.connectable._isComplete=!0,this._unsubscribe(),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}},e}(i.b);function f(){return new i.a}e.a=function(){return function(t){return a()((e=f,function(t){var n;n="function"==typeof e?e:function(){return e};var r=Object.create(t,h);return r.source=t,r.subjectFactory=n,r})(t));var e}}},"3hfc":function(t,e,n){!function(t){"use strict";function e(t,e,n){var r,i;return"m"===n?e?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===n?e?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":t+" "+(r=+t,i={ss:e?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:e?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:e?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[n].split("_"),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}t.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:e,mm:e,h:e,hh:e,d:"\u0434\u0437\u0435\u043d\u044c",dd:e,M:"\u043c\u0435\u0441\u044f\u0446",MM:e,y:"\u0433\u043e\u0434",yy:e},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(t){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(t)},meridiem:function(t,e,n){return t<4?"\u043d\u043e\u0447\u044b":t<12?"\u0440\u0430\u043d\u0456\u0446\u044b":t<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t%10!=2&&t%10!=3||t%100==12||t%100==13?t+"-\u044b":t+"-\u0456";case"D":return t+"-\u0433\u0430";default:return t}},week:{dow:1,doy:7}})}(n("PJh5"))},"5Omq":function(t,e,n){!function(t){"use strict";t.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s gea\u017ees",past:"ma\u014bit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta m\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},"5SNd":function(t,e,n){!function(t){"use strict";var e={0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"};t.defineLocale("tg",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u041f\u0430\u0433\u043e\u04b3 \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0448\u0430\u0431"===e?t<4?t:t+12:"\u0441\u0443\u0431\u04b3"===e?t:"\u0440\u04ef\u0437"===e?t>=11?t:t+12:"\u0431\u0435\u0433\u043e\u04b3"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0448\u0430\u0431":t<11?"\u0441\u0443\u0431\u04b3":t<16?"\u0440\u04ef\u0437":t<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(t){return t+(e[t]||e[t%10]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("PJh5"))},"5X6E":function(t,e,n){"use strict";e.a=function(t,e){return function(n){return n.lift(new s(t,e))}};var r=n("TToO"),i=n("tZ2B"),o=n("PIsA"),s=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.project,this.resultSelector))},t}(),l=function(t){function e(e,n,r){t.call(this,e),this.project=n,this.resultSelector=r,this.index=0}return Object(r.__extends)(e,t),e.prototype._next=function(t){var e,n=this.index++;try{e=this.project(t,n)}catch(t){return void this.destination.error(t)}this._innerSub(e,t,n)},e.prototype._innerSub=function(t,e,n){var r=this.innerSubscription;r&&r.unsubscribe(),this.add(this.innerSubscription=Object(o.a)(this,t,e,n))},e.prototype._complete=function(){var e=this.innerSubscription;e&&!e.closed||t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,r,i){this.resultSelector?this._tryNotifyNext(t,e,n,r):this.destination.next(e)},e.prototype._tryNotifyNext=function(t,e,n,r){var i;try{i=this.resultSelector(t,e,n,r)}catch(t){return void this.destination.error(t)}this.destination.next(i)},e}(i.a)},"5j66":function(t,e,n){!function(t){"use strict";t.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysMin:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},week:{dow:1,doy:4}})}(n("PJh5"))},"5vPg":function(t,e,n){!function(t){"use strict";var e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},n={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function r(t,e,n,r){var i="";if(e)switch(n){case"s":i="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":i="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":i="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":i="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":i="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":i="%d \u0924\u093e\u0938";break;case"d":i="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":i="%d \u0926\u093f\u0935\u0938";break;case"M":i="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":i="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":i="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":i="%d \u0935\u0930\u094d\u0937\u0947"}else switch(n){case"s":i="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":i="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":i="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":i="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":i="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":i="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":i="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":i="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":i="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":i="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":i="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":i="%d \u0935\u0930\u094d\u0937\u093e\u0902"}return i.replace(/%d/i,t)}t.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},preparse:function(t){return t.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0930\u093e\u0924\u094d\u0930\u0940|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0930\u093e\u0924\u094d\u0930\u0940"===e?t<4?t:t+12:"\u0938\u0915\u093e\u0933\u0940"===e?t:"\u0926\u0941\u092a\u093e\u0930\u0940"===e?t>=10?t:t+12:"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0930\u093e\u0924\u094d\u0930\u0940":t<10?"\u0938\u0915\u093e\u0933\u0940":t<17?"\u0926\u0941\u092a\u093e\u0930\u0940":t<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}})}(n("PJh5"))},"6cf8":function(t,e,n){!function(t){"use strict";var e={0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"};t.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u0435 \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(t){return t+(e[t]||e[t%10]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("PJh5"))},"7LV+":function(t,e,n){!function(t){"use strict";var e="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_"),n="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_");function r(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function i(t,e,n){var i=t+" ";switch(n){case"ss":return i+(r(t)?"sekundy":"sekund");case"m":return e?"minuta":"minut\u0119";case"mm":return i+(r(t)?"minuty":"minut");case"h":return e?"godzina":"godzin\u0119";case"hh":return i+(r(t)?"godziny":"godzin");case"MM":return i+(r(t)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return i+(r(t)?"lata":"lat")}}t.defineLocale("pl",{months:function(t,r){return t?""===r?"("+n[t.month()]+"|"+e[t.month()]+")":/D MMMM/.test(r)?n[t.month()]:e[t.month()]:e},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:i,m:i,mm:i,h:i,hh:i,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:i,y:"rok",yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},"7MHZ":function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],i=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},"7OnE":function(t,e,n){!function(t){"use strict";var e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},n={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"};t.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(t){return"\u0645"===t},meridiem:function(t,e,n){return t<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(t){return t.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(t){return n[t]}).replace(/\u060c/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}})}(n("PJh5"))},"7Q8x":function(t,e,n){!function(t){"use strict";t.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(t,e,n){return t<11?"ekuseni":t<15?"emini":t<19?"entsambama":"ebusuku"},meridiemHour:function(t,e){return 12===t&&(t=0),"ekuseni"===e?t:"emini"===e?t>=11?t:t+12:"entsambama"===e||"ebusuku"===e?0===t?0:t+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(n("PJh5"))},"8D5t":function(t,e,n){"use strict";var r=n("Qnch");function i(t){return t}e.a=function(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),Object(r.a)(i,null,t)}},"8v14":function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}t.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},"9Ocp":function(t,e,n){"use strict";e.a=function(t){return function(e){return 0===t?new s.a:e.lift(new l(t))}};var r=n("TToO"),i=n("OVmG"),o=n("pU/0"),s=n("+3/4"),l=function(){function t(t){if(this.total=t,this.total<0)throw new o.a}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.total))},t}(),a=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return Object(r.__extends)(e,t),e.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},e}(i.a)},ALEw:function(t,e,n){!function(t){"use strict";t.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("PJh5"))},AMGY:function(t,e,n){"use strict";(function(t){n.d(e,"a",function(){return o});var r="undefined"!=typeof window&&window,i="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,o=r||"undefined"!=typeof t&&t||i}).call(e,n("DuR2"))},Ab7C:function(t,e,n){!function(t){"use strict";t.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u043e\u0441\u043b\u0435 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-\u0435\u0432":0===n?t+"-\u0435\u043d":n>10&&n<20?t+"-\u0442\u0438":1===e?t+"-\u0432\u0438":2===e?t+"-\u0440\u0438":7===e||8===e?t+"-\u043c\u0438":t+"-\u0442\u0438"},week:{dow:1,doy:7}})}(n("PJh5"))},AoDM:function(t,e,n){!function(t){"use strict";t.defineLocale("pt-br",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba"})}(n("PJh5"))},BEem:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}})}(n("PJh5"))},BX3T:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=Array.isArray||function(t){return t&&"number"==typeof t.length}},BbgG:function(t,e,n){!function(t){"use strict";t.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u51cc\u6668"===e||"\u65e9\u4e0a"===e||"\u4e0a\u5348"===e?t:"\u4e2d\u5348"===e?t>=11?t:t+12:"\u4e0b\u5348"===e||"\u665a\u4e0a"===e?t+12:void 0},meridiem:function(t,e,n){var r=100*t+e;return r<600?"\u51cc\u6668":r<900?"\u65e9\u4e0a":r<1130?"\u4e0a\u5348":r<1230?"\u4e2d\u5348":r<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"\u65e5";case"M":return t+"\u6708";case"w":case"W":return t+"\u9031";default:return t}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}})}(n("PJh5"))},Bp2f:function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],i=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("PJh5"))},C7av:function(t,e,n){!function(t){"use strict";t.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_m\xe5n_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},CFqe:function(t,e,n){!function(t){"use strict";t.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(t,e){return t?"string"==typeof e&&/D/.test(e.substring(0,e.indexOf("MMMM")))?this._monthsGenitiveEl[t.month()]:this._monthsNominativeEl[t.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(t,e,n){return t>11?n?"\u03bc\u03bc":"\u039c\u039c":n?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(t){return"\u03bc"===(t+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(t,e){var n,r=this._calendarEl[t],i=e&&e.hours();return((n=r)instanceof Function||"[object Function]"===Object.prototype.toString.call(n))&&(r=r.apply(e)),r.replace("{}",i%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}})}(n("PJh5"))},DDro:function(t,e,n){"use strict";e.a=function(){return Object(r.a)(i,[])};var r=n("/4Bh");function i(t,e,n){return t.push(e),t}},DOkx:function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}t.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},DSXN:function(t,e,n){!function(t){"use strict";t.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(n("PJh5"))},DuR2:function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},ETHv:function(t,e,n){!function(t){"use strict";var e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},n={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};t.defineLocale("hi",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(t){return t.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0930\u093e\u0924"===e?t<4?t:t+12:"\u0938\u0941\u092c\u0939"===e?t:"\u0926\u094b\u092a\u0939\u0930"===e?t>=10?t:t+12:"\u0936\u093e\u092e"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0930\u093e\u0924":t<10?"\u0938\u0941\u092c\u0939":t<17?"\u0926\u094b\u092a\u0939\u0930":t<20?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}})}(n("PJh5"))},"F+2e":function(t,e,n){!function(t){"use strict";var e={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},n={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"};t.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u1010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(t){return t.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})}(n("PJh5"))},FKXc:function(t,e,n){!function(t){"use strict";t.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(t){return(/^[0-9].+$/.test(t)?"tra":"in")+" "+t},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},FRPF:function(t,e,n){!function(t){"use strict";t.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}})}(n("PJh5"))},FlzV:function(t,e,n){!function(t){"use strict";t.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},Fpqq:function(t,e,n){!function(t){"use strict";t.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"e":1===e?"a":2===e?"a":"e")},week:{dow:1,doy:4}})}(n("PJh5"))},Frex:function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}t.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},FuaP:function(t,e,n){!function(t){"use strict";t.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(t){return 0===t.indexOf("un")?"n"+t:"en "+t},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},"G++c":function(t,e,n){!function(t){"use strict";t.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("PJh5"))},GK6M:function(t,e,n){"use strict";e.a=function(t){return r=t,o};var r,i=n("fKB6");function o(){try{return r.apply(this,arguments)}catch(t){return i.a.e=t,i.a}}},GrS7:function(t,e,n){!function(t){"use strict";t.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(t){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(t)},meridiem:function(t){return t<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":t<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":t<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(t,e){switch(e){case"DDD":case"w":case"W":case"DDDo":return 1===t?t+"-\u056b\u0576":t+"-\u0580\u0564";default:return t}},week:{dow:1,doy:7}})}(n("PJh5"))},HdCx:function(t,e,n){"use strict";e.a=function(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new o(t,e))}};var r=n("TToO"),i=n("OVmG"),o=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new s(t,this.project,this.thisArg))},t}(),s=function(t){function e(e,n,r){t.call(this,e),this.project=n,this.count=0,this.thisArg=r||this}return Object(r.__extends)(e,t),e.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}this.destination.next(e)},e}(i.a)},INcR:function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");t.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"MMMM [de] D [de] YYYY",LLL:"MMMM [de] D [de] YYYY h:mm A",LLLL:"dddd, MMMM [de] D [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}})}(n("PJh5"))},Jnfr:function(t,e){function n(t){return Promise.resolve().then(function(){throw new Error("Cannot find module '"+t+"'.")})}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="Jnfr"},JwiF:function(t,e,n){!function(t){"use strict";t.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(t,e){return 12===t&&(t=0),"enjing"===e?t:"siyang"===e?t>=11?t:t+12:"sonten"===e||"ndalu"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"enjing":t<15?"siyang":t<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})}(n("PJh5"))},LT9G:function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],i=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},Lgqo:function(t,e,n){!function(t){"use strict";t.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(t){return t+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(t){return"\u0db4.\u0dc0."===t||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===t},meridiem:function(t,e,n){return t>11?n?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":n?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}})}(n("PJh5"))},N3vo:function(t,e,n){!function(t){"use strict";t.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(t){return t+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(t)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(t)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}})}(n("PJh5"))},N4j0:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(t){return t&&"number"==typeof t.length}},Nd3h:function(t,e,n){!function(t){"use strict";t.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_a\u016dg_sep_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(t){return"p"===t.charAt(0).toLowerCase()},meridiem:function(t,e,n){return t>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(n("PJh5"))},Nlnz:function(t,e,n){!function(t){"use strict";t.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c42\u0c32\u0c46\u0c56_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c42\u0c32\u0c46\u0c56_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===e?t<4?t:t+12:"\u0c09\u0c26\u0c2f\u0c02"===e?t:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===e?t>=10?t:t+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":t<10?"\u0c09\u0c26\u0c2f\u0c02":t<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":t<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}})}(n("PJh5"))},Nzt2:function(t,e,n){!function(t){"use strict";t.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(t){return 2===t?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":t+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(t){return 2===t?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":t+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(t){return 2===t?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":t+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(t){return 2===t?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":t%10==0&&10!==t?t+" \u05e9\u05e0\u05d4":t+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(t){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(t)},meridiem:function(t,e,n){return t<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":t<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":t<12?n?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":t<18?n?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}})}(n("PJh5"))},ORgI:function(t,e,n){!function(t){"use strict";t.defineLocale("ja",{months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5 HH:mm dddd"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(t){return"\u5348\u5f8c"===t},meridiem:function(t,e,n){return t<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:"[\u6765\u9031]dddd LT",lastDay:"[\u6628\u65e5] LT",lastWeek:"[\u524d\u9031]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}\u65e5/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"\u65e5";default:return t}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",ss:"%d\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}})}(n("PJh5"))},OSsP:function(t,e,n){!function(t){"use strict";function e(t,e,n){return t+" "+function(t,e){return 2===e?function(t){var e={m:"v",b:"v",d:"z"};return void 0===e[t.charAt(0)]?t:e[t.charAt(0)]+t.substring(1)}(t):t}({mm:"munutenn",MM:"miz",dd:"devezh"}[n],t)}t.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:e,h:"un eur",hh:"%d eur",d:"un devezh",dd:e,M:"ur miz",MM:e,y:"ur bloaz",yy:function(t){switch(function t(e){return e>9?t(e%10):e}(t)){case 1:case 3:case 4:case 5:case 9:return t+" bloaz";default:return t+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(t){return t+(1===t?"a\xf1":"vet")},week:{dow:1,doy:4}})}(n("PJh5"))},OUMt:function(t,e,n){!function(t){"use strict";var e="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),n="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function r(t){return t>1&&t<5}function i(t,e,n,i){var o=t+" ";switch(n){case"s":return e||i?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return e||i?o+(r(t)?"sekundy":"sek\xfand"):o+"sekundami";case"m":return e?"min\xfata":i?"min\xfatu":"min\xfatou";case"mm":return e||i?o+(r(t)?"min\xfaty":"min\xfat"):o+"min\xfatami";case"h":return e?"hodina":i?"hodinu":"hodinou";case"hh":return e||i?o+(r(t)?"hodiny":"hod\xedn"):o+"hodinami";case"d":return e||i?"de\u0148":"d\u0148om";case"dd":return e||i?o+(r(t)?"dni":"dn\xed"):o+"d\u0148ami";case"M":return e||i?"mesiac":"mesiacom";case"MM":return e||i?o+(r(t)?"mesiace":"mesiacov"):o+"mesiacmi";case"y":return e||i?"rok":"rokom";case"yy":return e||i?o+(r(t)?"roky":"rokov"):o+"rokmi"}}t.defineLocale("sk",{months:e,monthsShort:n,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},OVPi:function(t,e,n){!function(t){"use strict";t.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minutt",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0i",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},OVmG:function(t,e,n){"use strict";n.d(e,"a",function(){return a});var r=n("TToO"),i=n("/iUD"),o=n("VwZZ"),s=n("t7NR"),l=n("tLDX"),a=function(t){function e(n,r,i){switch(t.call(this),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=s.a;break;case 1:if(!n){this.destination=s.a;break}if("object"==typeof n){n instanceof e?(this.syncErrorThrowable=n.syncErrorThrowable,this.destination=n,this.destination.add(this)):(this.syncErrorThrowable=!0,this.destination=new u(this,n));break}default:this.syncErrorThrowable=!0,this.destination=new u(this,n,r,i)}}return Object(r.__extends)(e,t),e.prototype[l.a]=function(){return this},e.create=function(t,n,r){var i=new e(t,n,r);return i.syncErrorThrowable=!1,i},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this))},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){this.destination.error(t),this.unsubscribe()},e.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},e.prototype._unsubscribeAndRecycle=function(){var t=this._parent,e=this._parents;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=t,this._parents=e,this},e}(o.a),u=function(t){function e(e,n,r,o){var l;t.call(this),this._parentSubscriber=e;var a=this;Object(i.a)(n)?l=n:n&&(l=n.next,r=n.error,o=n.complete,n!==s.a&&(a=Object.create(n),Object(i.a)(a.unsubscribe)&&this.add(a.unsubscribe.bind(a)),a.unsubscribe=this.unsubscribe.bind(this))),this._context=a,this._next=l,this._error=r,this._complete=o}return Object(r.__extends)(e,t),e.prototype.next=function(t){if(!this.isStopped&&this._next){var e=this._parentSubscriber;e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}},e.prototype.error=function(t){if(!this.isStopped){var e=this._parentSubscriber;if(this._error)e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else{if(!e.syncErrorThrowable)throw this.unsubscribe(),t;e.syncErrorValue=t,e.syncErrorThrown=!0,this.unsubscribe()}}},e.prototype.complete=function(){var t=this;if(!this.isStopped){var e=this._parentSubscriber;if(this._complete){var n=function(){return t._complete.call(t._context)};e.syncErrorThrowable?(this.__tryOrSetError(e,n),this.unsubscribe()):(this.__tryOrUnsub(n),this.unsubscribe())}else this.unsubscribe()}},e.prototype.__tryOrUnsub=function(t,e){try{t.call(this._context,e)}catch(t){throw this.unsubscribe(),t}},e.prototype.__tryOrSetError=function(t,e,n){try{e.call(this._context,n)}catch(e){return t.syncErrorValue=e,t.syncErrorThrown=!0,!0}return!1},e.prototype._unsubscribe=function(){var t=this._parentSubscriber;this._context=null,this._parentSubscriber=null,t.unsubscribe()},e}(a)},PIsA:function(t,e,n){"use strict";var r=n("AMGY"),i=n("N4j0"),o=n("cQXm"),s=n("dgOU"),l=n("YaPU"),a=n("etqZ"),u=n("TToO"),c=function(t){function e(e,n,r){t.call(this),this.parent=e,this.outerValue=n,this.outerIndex=r,this.index=0}return Object(u.__extends)(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(n("OVmG").a),d=n("+CnV");e.a=function(t,e,n,u){var h=new c(t,n,u);if(h.closed)return null;if(e instanceof l.a)return e._isScalar?(h.next(e.value),h.complete(),null):(h.syncErrorThrowable=!0,e.subscribe(h));if(Object(i.a)(e)){for(var p=0,f=e.length;p>>0,r=0;r0)for(n=0;n=0?n?"+":"":"-")+Math.pow(10,Math.max(0,e-r.length)).toString().substr(1)+r}var N=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,V=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,B={},z={};function W(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(z[t]=i),e&&(z[e[0]]=function(){return F(i.apply(this,arguments),e[1],e[2])}),n&&(z[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function U(t,e){return t.isValid()?(e=G(e,t.localeData()),B[e]=B[e]||function(t){var e,n,r,i=t.match(N);for(e=0,n=i.length;e=0&&V.test(t);)t=t.replace(V,r),V.lastIndex=0,n-=1;return t}var J=/\d/,q=/\d\d/,Q=/\d{3}/,K=/\d{4}/,X=/[+-]?\d{6}/,Z=/\d\d?/,$=/\d\d\d\d?/,tt=/\d\d\d\d\d\d?/,et=/\d{1,3}/,nt=/\d{1,4}/,rt=/[+-]?\d{1,6}/,it=/\d+/,ot=/[+-]?\d+/,st=/Z|[+-]\d\d:?\d\d/gi,lt=/Z|[+-]\d\d(?::?\d\d)?/gi,at=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,ut={};function ct(t,e,n){ut[t]=D(e)?e:function(t,r){return t&&n?n:e}}function dt(t,e){return d(ut,t)?ut[t](e._strict,e._locale):new RegExp(ht(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,r,i){return e||n||r||i})))}function ht(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var pt={};function ft(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),a(e)&&(r=function(t,n){n[e]=k(t)}),n=0;n68?1900:2e3)};var Tt,Ot=Dt("FullYear",!0);function Dt(t,e){return function(n){return null!=n?(Pt(this,t,n),i.updateOffset(this,e),this):Yt(this,t)}}function Yt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Pt(t,e,n){t.isValid()&&!isNaN(n)&&("FullYear"===e&&St(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),Et(n,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function Et(t,e){if(isNaN(t)||isNaN(e))return NaN;var n=(e%12+12)%12;return t+=(e-n)/12,1===n?St(t)?29:28:31-n%7%2}Tt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function zt(t,e,n){var r=7+e-n;return-(7+Bt(t,0,r).getUTCDay()-e)%7+r-1}function Wt(t,e,n,r,i){var o,s,l=1+7*(e-1)+(7+n-r)%7+zt(t,r,i);return l<=0?s=Ct(o=t-1)+l:l>Ct(t)?(o=t+1,s=l-Ct(t)):(o=t,s=l),{year:o,dayOfYear:s}}function Ut(t,e,n){var r,i,o=zt(t.year(),e,n),s=Math.floor((t.dayOfYear()-o-1)/7)+1;return s<1?r=s+Gt(i=t.year()-1,e,n):s>Gt(t.year(),e,n)?(r=s-Gt(t.year(),e,n),i=t.year()+1):(i=t.year(),r=s),{week:r,year:i}}function Gt(t,e,n){var r=zt(t,e,n),i=zt(t+1,e,n);return(Ct(t)-r+i)/7}W("w",["ww",2],"wo","week"),W("W",["WW",2],"Wo","isoWeek"),A("week","w"),A("isoWeek","W"),H("week",5),H("isoWeek",5),ct("w",Z),ct("ww",Z,q),ct("W",Z),ct("WW",Z,q),_t(["w","ww","W","WW"],function(t,e,n,r){e[r.substr(0,1)]=k(t)}),W("d",0,"do","day"),W("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),W("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),W("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),W("e",0,0,"weekday"),W("E",0,0,"isoWeekday"),A("day","d"),A("weekday","e"),A("isoWeekday","E"),H("day",11),H("weekday",11),H("isoWeekday",11),ct("d",Z),ct("e",Z),ct("E",Z),ct("dd",function(t,e){return e.weekdaysMinRegex(t)}),ct("ddd",function(t,e){return e.weekdaysShortRegex(t)}),ct("dddd",function(t,e){return e.weekdaysRegex(t)}),_t(["dd","ddd","dddd"],function(t,e,n,r){var i=n._locale.weekdaysParse(t,r,n._strict);null!=i?e.d=i:f(n).invalidWeekday=t}),_t(["d","e","E"],function(t,e,n,r){e[r]=k(t)});var Jt="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),qt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Qt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Kt=at,Xt=at,Zt=at;function $t(){function t(t,e){return e.length-t.length}var e,n,r,i,o,s=[],l=[],a=[],u=[];for(e=0;e<7;e++)n=p([2e3,1]).day(e),r=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),o=this.weekdays(n,""),s.push(r),l.push(i),a.push(o),u.push(r),u.push(i),u.push(o);for(s.sort(t),l.sort(t),a.sort(t),u.sort(t),e=0;e<7;e++)l[e]=ht(l[e]),a[e]=ht(a[e]),u[e]=ht(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+s.join("|")+")","i")}function te(){return this.hours()%12||12}function ee(t,e){W(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function ne(t,e){return e._meridiemParse}W("H",["HH",2],0,"hour"),W("h",["hh",2],0,te),W("k",["kk",2],0,function(){return this.hours()||24}),W("hmm",0,0,function(){return""+te.apply(this)+F(this.minutes(),2)}),W("hmmss",0,0,function(){return""+te.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)}),W("Hmm",0,0,function(){return""+this.hours()+F(this.minutes(),2)}),W("Hmmss",0,0,function(){return""+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)}),ee("a",!0),ee("A",!1),A("hour","h"),H("hour",13),ct("a",ne),ct("A",ne),ct("H",Z),ct("h",Z),ct("k",Z),ct("HH",Z,q),ct("hh",Z,q),ct("kk",Z,q),ct("hmm",$),ct("hmmss",tt),ct("Hmm",$),ct("Hmmss",tt),ft(["H","HH"],bt),ft(["k","kk"],function(t,e,n){var r=k(t);e[bt]=24===r?0:r}),ft(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),ft(["h","hh"],function(t,e,n){e[bt]=k(t),f(n).bigHour=!0}),ft("hmm",function(t,e,n){var r=t.length-2;e[bt]=k(t.substr(0,r)),e[wt]=k(t.substr(r)),f(n).bigHour=!0}),ft("hmmss",function(t,e,n){var r=t.length-4,i=t.length-2;e[bt]=k(t.substr(0,r)),e[wt]=k(t.substr(r,2)),e[Mt]=k(t.substr(i)),f(n).bigHour=!0}),ft("Hmm",function(t,e,n){var r=t.length-2;e[bt]=k(t.substr(0,r)),e[wt]=k(t.substr(r))}),ft("Hmmss",function(t,e,n){var r=t.length-4,i=t.length-2;e[bt]=k(t.substr(0,r)),e[wt]=k(t.substr(r,2)),e[Mt]=k(t.substr(i))});var re,ie=Dt("Hours",!0),oe={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:jt,monthsShort:It,week:{dow:0,doy:6},weekdays:Jt,weekdaysMin:Qt,weekdaysShort:qt,meridiemParse:/[ap]\.?m?\.?/i},se={},le={};function ae(t){return t?t.toLowerCase().replace("_","-"):t}function ue(e){var r=null;if(!se[e]&&"undefined"!=typeof t&&t&&t.exports)try{r=re._abbr,n("uslO")("./"+e),ce(r)}catch(t){}return se[e]}function ce(t,e){var n;return t&&((n=l(e)?he(t):de(t,e))?re=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),re._abbr}function de(t,e){if(null!==e){var n,r=oe;if(e.abbr=t,null!=se[t])O("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=se[t]._config;else if(null!=e.parentLocale)if(null!=se[e.parentLocale])r=se[e.parentLocale]._config;else{if(null==(n=ue(e.parentLocale)))return le[e.parentLocale]||(le[e.parentLocale]=[]),le[e.parentLocale].push({name:t,config:e}),null;r=n._config}return se[t]=new P(Y(r,e)),le[t]&&le[t].forEach(function(t){de(t.name,t.config)}),ce(t),se[t]}return delete se[t],null}function he(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return re;if(!o(t)){if(e=ue(t))return e;t=[t]}return function(t){for(var e,n,r,i,o=0;o0;){if(r=ue(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&x(i,n,!0)>=e-1)break;e--}o++}return re}(t)}function pe(t){var e,n=t._a;return n&&-2===f(t).overflow&&(e=n[yt]<0||n[yt]>11?yt:n[vt]<1||n[vt]>Et(n[gt],n[yt])?vt:n[bt]<0||n[bt]>24||24===n[bt]&&(0!==n[wt]||0!==n[Mt]||0!==n[kt])?bt:n[wt]<0||n[wt]>59?wt:n[Mt]<0||n[Mt]>59?Mt:n[kt]<0||n[kt]>999?kt:-1,f(t)._overflowDayOfYear&&(evt)&&(e=vt),f(t)._overflowWeeks&&-1===e&&(e=xt),f(t)._overflowWeekday&&-1===e&&(e=Lt),f(t).overflow=e),t}function fe(t,e,n){return null!=t?t:null!=e?e:n}function _e(t){var e,n,r,o,s,l=[];if(!t._d){for(r=function(t){var e=new Date(i.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[vt]&&null==t._a[yt]&&function(t){var e,n,r,i,o,s,l,a;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)o=1,s=4,n=fe(e.GG,t._a[gt],Ut(Oe(),1,4).year),r=fe(e.W,1),((i=fe(e.E,1))<1||i>7)&&(a=!0);else{o=t._locale._week.dow,s=t._locale._week.doy;var u=Ut(Oe(),o,s);n=fe(e.gg,t._a[gt],u.year),r=fe(e.w,u.week),null!=e.d?((i=e.d)<0||i>6)&&(a=!0):null!=e.e?(i=e.e+o,(e.e<0||e.e>6)&&(a=!0)):i=o}r<1||r>Gt(n,o,s)?f(t)._overflowWeeks=!0:null!=a?f(t)._overflowWeekday=!0:(l=Wt(n,r,i,o,s),t._a[gt]=l.year,t._dayOfYear=l.dayOfYear)}(t),null!=t._dayOfYear&&(s=fe(t._a[gt],r[gt]),(t._dayOfYear>Ct(s)||0===t._dayOfYear)&&(f(t)._overflowDayOfYear=!0),n=Bt(s,0,t._dayOfYear),t._a[yt]=n.getUTCMonth(),t._a[vt]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=l[e]=r[e];for(;e<7;e++)t._a[e]=l[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[bt]&&0===t._a[wt]&&0===t._a[Mt]&&0===t._a[kt]&&(t._nextDay=!0,t._a[bt]=0),t._d=(t._useUTC?Bt:function(t,e,n,r,i,o,s){var l=new Date(t,e,n,r,i,o,s);return t<100&&t>=0&&isFinite(l.getFullYear())&&l.setFullYear(t),l}).apply(null,l),o=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[bt]=24),t._w&&"undefined"!=typeof t._w.d&&t._w.d!==o&&(f(t).weekdayMismatch=!0)}}var me=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ge=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ye=/Z|[+-]\d\d(?::?\d\d)?/,ve=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],be=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],we=/^\/?Date\((\-?\d+)/i;function Me(t){var e,n,r,i,o,s,l=t._i,a=me.exec(l)||ge.exec(l);if(a){for(f(t).iso=!0,e=0,n=ve.length;e0&&f(t).unusedInput.push(s),l=l.slice(l.indexOf(n)+n.length),u+=n.length),z[o]?(n?f(t).empty=!1:f(t).unusedTokens.push(o),mt(o,n,t)):t._strict&&!n&&f(t).unusedTokens.push(o);f(t).charsLeftOver=a-u,l.length>0&&f(t).unusedInput.push(l),t._a[bt]<=12&&!0===f(t).bigHour&&t._a[bt]>0&&(f(t).bigHour=void 0),f(t).parsedDateParts=t._a.slice(0),f(t).meridiem=t._meridiem,t._a[bt]=(c=t._locale,d=t._a[bt],null==(h=t._meridiem)?d:null!=c.meridiemHour?c.meridiemHour(d,h):null!=c.isPM?((p=c.isPM(h))&&d<12&&(d+=12),p||12!==d||(d=0),d):d),_e(t),pe(t)}else Le(t);else Me(t);var c,d,h,p}function Se(t){var e=t._i,n=t._f;return t._locale=t._locale||he(t._l),null===e||void 0===n&&""===e?m({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),w(e)?new b(pe(e)):(u(e)?t._d=e:o(n)?function(t){var e,n,r,i,o;if(0===t._f.length)return f(t).invalidFormat=!0,void(t._d=new Date(NaN));for(i=0;ithis?this:t:m()});function Pe(t,e){var n,r;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Oe();for(n=e[0],r=1;r(o=Gt(t,r,i))&&(e=o),(function(t,e,n,r,i){var o=Wt(t,e,n,r,i),s=Bt(o.year,0,o.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}).call(this,t,e,n,r,i))}W(0,["gg",2],0,function(){return this.weekYear()%100}),W(0,["GG",2],0,function(){return this.isoWeekYear()%100}),nn("gggg","weekYear"),nn("ggggg","weekYear"),nn("GGGG","isoWeekYear"),nn("GGGGG","isoWeekYear"),A("weekYear","gg"),A("isoWeekYear","GG"),H("weekYear",1),H("isoWeekYear",1),ct("G",ot),ct("g",ot),ct("GG",Z,q),ct("gg",Z,q),ct("GGGG",nt,K),ct("gggg",nt,K),ct("GGGGG",rt,X),ct("ggggg",rt,X),_t(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,r){e[r.substr(0,2)]=k(t)}),_t(["gg","GG"],function(t,e,n,r){e[r]=i.parseTwoDigitYear(t)}),W("Q",0,"Qo","quarter"),A("quarter","Q"),H("quarter",7),ct("Q",J),ft("Q",function(t,e){e[yt]=3*(k(t)-1)}),W("D",["DD",2],"Do","date"),A("date","D"),H("date",9),ct("D",Z),ct("DD",Z,q),ct("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),ft(["D","DD"],vt),ft("Do",function(t,e){e[vt]=k(t.match(Z)[0])});var on=Dt("Date",!0);W("DDD",["DDDD",3],"DDDo","dayOfYear"),A("dayOfYear","DDD"),H("dayOfYear",4),ct("DDD",et),ct("DDDD",Q),ft(["DDD","DDDD"],function(t,e,n){n._dayOfYear=k(t)}),W("m",["mm",2],0,"minute"),A("minute","m"),H("minute",14),ct("m",Z),ct("mm",Z,q),ft(["m","mm"],wt);var sn=Dt("Minutes",!1);W("s",["ss",2],0,"second"),A("second","s"),H("second",15),ct("s",Z),ct("ss",Z,q),ft(["s","ss"],Mt);var ln,an=Dt("Seconds",!1);for(W("S",0,0,function(){return~~(this.millisecond()/100)}),W(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),W(0,["SSS",3],0,"millisecond"),W(0,["SSSS",4],0,function(){return 10*this.millisecond()}),W(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),W(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),W(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),W(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),W(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),A("millisecond","ms"),H("millisecond",16),ct("S",et,J),ct("SS",et,q),ct("SSS",et,Q),ln="SSSS";ln.length<=9;ln+="S")ct(ln,it);function un(t,e){e[kt]=k(1e3*("0."+t))}for(ln="S";ln.length<=9;ln+="S")ft(ln,un);var cn=Dt("Milliseconds",!1);W("z",0,0,"zoneAbbr"),W("zz",0,0,"zoneName");var dn=b.prototype;function hn(t){return t}dn.add=Ke,dn.calendar=function(t,e){var n=t||Oe(),r=Ne(n,this).startOf("day"),o=i.calendarFormat(this,r)||"sameElse",s=e&&(D(e[o])?e[o].call(this,n):e[o]);return this.format(s||this.localeData().calendar(o,this,Oe(n)))},dn.clone=function(){return new b(this)},dn.diff=function(t,e,n){var r,i,o;if(!this.isValid())return NaN;if(!(r=Ne(t,this)).isValid())return NaN;switch(i=6e4*(r.utcOffset()-this.utcOffset()),e=j(e)){case"year":o=Ze(this,r)/12;break;case"month":o=Ze(this,r);break;case"quarter":o=Ze(this,r)/3;break;case"second":o=(this-r)/1e3;break;case"minute":o=(this-r)/6e4;break;case"hour":o=(this-r)/36e5;break;case"day":o=(this-r-i)/864e5;break;case"week":o=(this-r-i)/6048e5;break;default:o=this-r}return n?o:M(o)},dn.endOf=function(t){return void 0===(t=j(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))},dn.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=U(this,t);return this.localeData().postformat(e)},dn.from=function(t,e){return this.isValid()&&(w(t)&&t.isValid()||Oe(t).isValid())?Ue({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},dn.fromNow=function(t){return this.from(Oe(),t)},dn.to=function(t,e){return this.isValid()&&(w(t)&&t.isValid()||Oe(t).isValid())?Ue({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},dn.toNow=function(t){return this.to(Oe(),t)},dn.get=function(t){return D(this[t=j(t)])?this[t]():this},dn.invalidAt=function(){return f(this).overflow},dn.isAfter=function(t,e){var n=w(t)?t:Oe(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=j(l(e)?"millisecond":e))?this.valueOf()>n.valueOf():n.valueOf()9999?U(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):D(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",U(n,"Z")):U(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},dn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY";return this.format(n+r+"-MM-DD[T]HH:mm:ss.SSS"+e+'[")]')},dn.toJSON=function(){return this.isValid()?this.toISOString():null},dn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},dn.unix=function(){return Math.floor(this.valueOf()/1e3)},dn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},dn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},dn.year=Ot,dn.isLeapYear=function(){return St(this.year())},dn.weekYear=function(t){return rn.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},dn.isoWeekYear=function(t){return rn.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},dn.quarter=dn.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},dn.month=Ht,dn.daysInMonth=function(){return Et(this.year(),this.month())},dn.week=dn.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},dn.isoWeek=dn.isoWeeks=function(t){var e=Ut(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},dn.weeksInYear=function(){var t=this.localeData()._week;return Gt(this.year(),t.dow,t.doy)},dn.isoWeeksInYear=function(){return Gt(this.year(),1,4)},dn.date=on,dn.day=dn.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},dn.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},dn.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},dn.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},dn.hour=dn.hours=ie,dn.minute=dn.minutes=sn,dn.second=dn.seconds=an,dn.millisecond=dn.milliseconds=cn,dn.utcOffset=function(t,e,n){var r,o=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Fe(lt,t)))return this}else Math.abs(t)<16&&!n&&(t*=60);return!this._isUTC&&e&&(r=Ve(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,"m"),o!==t&&(!e||this._changeInProgress?Qe(this,Ue(t-o,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?o:Ve(this)},dn.utc=function(t){return this.utcOffset(0,t)},dn.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ve(this),"m")),this},dn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Fe(st,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},dn.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Oe(t).utcOffset():0,(this.utcOffset()-t)%60==0)},dn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},dn.isLocal=function(){return!!this.isValid()&&!this._isUTC},dn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},dn.isUtc=Be,dn.isUTC=Be,dn.zoneAbbr=function(){return this._isUTC?"UTC":""},dn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},dn.dates=C("dates accessor is deprecated. Use date instead.",on),dn.months=C("months accessor is deprecated. Use month instead",Ht),dn.years=C("years accessor is deprecated. Use year instead",Ot),dn.zone=C("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}),dn.isDSTShifted=C("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!l(this._isDSTShifted))return this._isDSTShifted;var t={};if(y(t,this),(t=Se(t))._a){var e=t._isUTC?p(t._a):Oe(t._a);this._isDSTShifted=this.isValid()&&x(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var pn=P.prototype;function fn(t,e,n,r){var i=he(),o=p().set(r,e);return i[n](o,t)}function _n(t,e,n){if(a(t)&&(e=t,t=void 0),t=t||"",null!=e)return fn(t,e,n,"month");var r,i=[];for(r=0;r<12;r++)i[r]=fn(t,r,n,"month");return i}function mn(t,e,n,r){"boolean"==typeof t?(a(e)&&(n=e,e=void 0),e=e||""):(n=e=t,t=!1,a(e)&&(n=e,e=void 0),e=e||"");var i,o=he(),s=t?o._week.dow:0;if(null!=n)return fn(e,(n+s)%7,r,"day");var l=[];for(i=0;i<7;i++)l[i]=fn(e,(i+s)%7,r,"day");return l}pn.calendar=function(t,e,n){var r=this._calendar[t]||this._calendar.sameElse;return D(r)?r.call(e,n):r},pn.longDateFormat=function(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])},pn.invalidDate=function(){return this._invalidDate},pn.ordinal=function(t){return this._ordinal.replace("%d",t)},pn.preparse=hn,pn.postformat=hn,pn.relativeTime=function(t,e,n,r){var i=this._relativeTime[n];return D(i)?i(t,e,n,r):i.replace(/%d/i,t)},pn.pastFuture=function(t,e){var n=this._relativeTime[t>0?"future":"past"];return D(n)?n(e):n.replace(/%s/i,e)},pn.set=function(t){var e,n;for(n in t)D(e=t[n])?this[n]=e:this["_"+n]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},pn.months=function(t,e){return t?o(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||At).test(e)?"format":"standalone"][t.month()]:o(this._months)?this._months:this._months.standalone},pn.monthsShort=function(t,e){return t?o(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[At.test(e)?"format":"standalone"][t.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},pn.monthsParse=function(t,e,n){var r,i,o;if(this._monthsParseExact)return(function(t,e,n){var r,i,o,s=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)o=p([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(o,"").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(o,"").toLocaleLowerCase();return n?"MMM"===e?-1!==(i=Tt.call(this._shortMonthsParse,s))?i:null:-1!==(i=Tt.call(this._longMonthsParse,s))?i:null:"MMM"===e?-1!==(i=Tt.call(this._shortMonthsParse,s))?i:-1!==(i=Tt.call(this._longMonthsParse,s))?i:null:-1!==(i=Tt.call(this._longMonthsParse,s))?i:-1!==(i=Tt.call(this._shortMonthsParse,s))?i:null}).call(this,t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(i=p([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[r]||(o="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[r]=new RegExp(o.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[r].test(t))return r;if(n&&"MMM"===e&&this._shortMonthsParse[r].test(t))return r;if(!n&&this._monthsParse[r].test(t))return r}},pn.monthsRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||Vt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=Nt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},pn.monthsShortRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||Vt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=Ft),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},pn.week=function(t){return Ut(t,this._week.dow,this._week.doy).week},pn.firstDayOfYear=function(){return this._week.doy},pn.firstDayOfWeek=function(){return this._week.dow},pn.weekdays=function(t,e){return t?o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:o(this._weekdays)?this._weekdays:this._weekdays.standalone},pn.weekdaysMin=function(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin},pn.weekdaysShort=function(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort},pn.weekdaysParse=function(t,e,n){var r,i,o;if(this._weekdaysParseExact)return(function(t,e,n){var r,i,o,s=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)o=p([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===e?-1!==(i=Tt.call(this._weekdaysParse,s))?i:null:"ddd"===e?-1!==(i=Tt.call(this._shortWeekdaysParse,s))?i:null:-1!==(i=Tt.call(this._minWeekdaysParse,s))?i:null:"dddd"===e?-1!==(i=Tt.call(this._weekdaysParse,s))?i:-1!==(i=Tt.call(this._shortWeekdaysParse,s))?i:-1!==(i=Tt.call(this._minWeekdaysParse,s))?i:null:"ddd"===e?-1!==(i=Tt.call(this._shortWeekdaysParse,s))?i:-1!==(i=Tt.call(this._weekdaysParse,s))?i:-1!==(i=Tt.call(this._minWeekdaysParse,s))?i:null:-1!==(i=Tt.call(this._minWeekdaysParse,s))?i:-1!==(i=Tt.call(this._weekdaysParse,s))?i:-1!==(i=Tt.call(this._shortWeekdaysParse,s))?i:null}).call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(i=p([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[r]||(o="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[r]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[r].test(t))return r;if(n&&"ddd"===e&&this._shortWeekdaysParse[r].test(t))return r;if(n&&"dd"===e&&this._minWeekdaysParse[r].test(t))return r;if(!n&&this._weekdaysParse[r].test(t))return r}},pn.weekdaysRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||$t.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Kt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},pn.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||$t.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Xt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},pn.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||$t.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Zt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},pn.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},pn.meridiem=function(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"},ce("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===k(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=C("moment.lang is deprecated. Use moment.locale instead.",ce),i.langData=C("moment.langData is deprecated. Use moment.localeData instead.",he);var gn=Math.abs;function yn(t,e,n,r){var i=Ue(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function vn(t){return t<0?Math.floor(t):Math.ceil(t)}function bn(t){return 4800*t/146097}function wn(t){return 146097*t/4800}function Mn(t){return function(){return this.as(t)}}var kn=Mn("ms"),xn=Mn("s"),Ln=Mn("m"),Cn=Mn("h"),Sn=Mn("d"),Tn=Mn("w"),On=Mn("M"),Dn=Mn("y");function Yn(t){return function(){return this.isValid()?this._data[t]:NaN}}var Pn=Yn("milliseconds"),En=Yn("seconds"),An=Yn("minutes"),jn=Yn("hours"),In=Yn("days"),Rn=Yn("months"),Hn=Yn("years"),Fn=Math.round,Nn={ss:44,s:45,m:45,h:22,d:26,M:11},Vn=Math.abs;function Bn(t){return(t>0)-(t<0)||+t}function zn(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n=Vn(this._milliseconds)/1e3,r=Vn(this._days),i=Vn(this._months);e=M((t=M(n/60))/60),n%=60,t%=60;var o=M(i/12),s=i%=12,l=r,a=e,u=t,c=n?n.toFixed(3).replace(/\.?0+$/,""):"",d=this.asSeconds();if(!d)return"P0D";var h=d<0?"-":"",p=Bn(this._months)!==Bn(d)?"-":"",f=Bn(this._days)!==Bn(d)?"-":"",_=Bn(this._milliseconds)!==Bn(d)?"-":"";return h+"P"+(o?p+o+"Y":"")+(s?p+s+"M":"")+(l?f+l+"D":"")+(a||u||c?"T":"")+(a?_+a+"H":"")+(u?_+u+"M":"")+(c?_+c+"S":"")}var Wn=Ae.prototype;return Wn.isValid=function(){return this._isValid},Wn.abs=function(){var t=this._data;return this._milliseconds=gn(this._milliseconds),this._days=gn(this._days),this._months=gn(this._months),t.milliseconds=gn(t.milliseconds),t.seconds=gn(t.seconds),t.minutes=gn(t.minutes),t.hours=gn(t.hours),t.months=gn(t.months),t.years=gn(t.years),this},Wn.add=function(t,e){return yn(this,t,e,1)},Wn.subtract=function(t,e){return yn(this,t,e,-1)},Wn.as=function(t){if(!this.isValid())return NaN;var e,n,r=this._milliseconds;if("month"===(t=j(t))||"year"===t)return n=this._months+bn(e=this._days+r/864e5),"month"===t?n:n/12;switch(e=this._days+Math.round(wn(this._months)),t){case"week":return e/7+r/6048e5;case"day":return e+r/864e5;case"hour":return 24*e+r/36e5;case"minute":return 1440*e+r/6e4;case"second":return 86400*e+r/1e3;case"millisecond":return Math.floor(864e5*e)+r;default:throw new Error("Unknown unit "+t)}},Wn.asMilliseconds=kn,Wn.asSeconds=xn,Wn.asMinutes=Ln,Wn.asHours=Cn,Wn.asDays=Sn,Wn.asWeeks=Tn,Wn.asMonths=On,Wn.asYears=Dn,Wn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12):NaN},Wn._bubble=function(){var t,e,n,r,i,o=this._milliseconds,s=this._days,l=this._months,a=this._data;return o>=0&&s>=0&&l>=0||o<=0&&s<=0&&l<=0||(o+=864e5*vn(wn(l)+s),s=0,l=0),a.milliseconds=o%1e3,t=M(o/1e3),a.seconds=t%60,e=M(t/60),a.minutes=e%60,n=M(e/60),a.hours=n%24,l+=i=M(bn(s+=M(n/24))),s-=vn(wn(i)),r=M(l/12),l%=12,a.days=s,a.months=l,a.years=r,this},Wn.clone=function(){return Ue(this)},Wn.get=function(t){return t=j(t),this.isValid()?this[t+"s"]():NaN},Wn.milliseconds=Pn,Wn.seconds=En,Wn.minutes=An,Wn.hours=jn,Wn.days=In,Wn.weeks=function(){return M(this.days()/7)},Wn.months=Rn,Wn.years=Hn,Wn.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),n=function(t,e,n){var r=Ue(t).abs(),i=Fn(r.as("s")),o=Fn(r.as("m")),s=Fn(r.as("h")),l=Fn(r.as("d")),a=Fn(r.as("M")),u=Fn(r.as("y")),c=i<=Nn.ss&&["s",i]||i0,c[4]=n,(function(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}).apply(null,c)}(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)},Wn.toISOString=zn,Wn.toString=zn,Wn.toJSON=zn,Wn.locale=$e,Wn.localeData=en,Wn.toIsoString=C("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",zn),Wn.lang=tn,W("X",0,0,"unix"),W("x",0,0,"valueOf"),ct("x",ot),ct("X",/[+-]?\d+(\.\d{1,3})?/),ft("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),ft("x",function(t,e,n){n._d=new Date(k(t))}),i.version="2.21.0",e=Oe,i.fn=dn,i.min=function(){return Pe("isBefore",[].slice.call(arguments,0))},i.max=function(){return Pe("isAfter",[].slice.call(arguments,0))},i.now=function(){return Date.now?Date.now():+new Date},i.utc=p,i.unix=function(t){return Oe(1e3*t)},i.months=function(t,e){return _n(t,e,"months")},i.isDate=u,i.locale=ce,i.invalid=m,i.duration=Ue,i.isMoment=w,i.weekdays=function(t,e,n){return mn(t,e,n,"weekdays")},i.parseZone=function(){return Oe.apply(null,arguments).parseZone()},i.localeData=he,i.isDuration=je,i.monthsShort=function(t,e){return _n(t,e,"monthsShort")},i.weekdaysMin=function(t,e,n){return mn(t,e,n,"weekdaysMin")},i.defineLocale=de,i.updateLocale=function(t,e){if(null!=e){var n,r,i=oe;null!=(r=ue(t))&&(i=r._config),(n=new P(e=Y(i,e))).parentLocale=se[t],se[t]=n,ce(t)}else null!=se[t]&&(null!=se[t].parentLocale?se[t]=se[t].parentLocale:null!=se[t]&&delete se[t]);return se[t]},i.locales=function(){return S(se)},i.weekdaysShort=function(t,e,n){return mn(t,e,n,"weekdaysShort")},i.normalizeUnits=j,i.relativeTimeRounding=function(t){return void 0===t?Fn:"function"==typeof t&&(Fn=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==Nn[t]&&(void 0===e?Nn[t]:(Nn[t]=e,"s"===t&&(Nn.ss=e-1),!0))},i.calendarFormat=function(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},i.prototype=dn,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},i}()}).call(e,n("3IRH")(t))},QZk1:function(t,e,n){!function(t){"use strict";t.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})}(n("PJh5"))},Qnch:function(t,e,n){"use strict";e.a=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(r){return"number"==typeof e&&(n=e,e=null),r.lift(new s(t,e,n))}};var r=n("TToO"),i=n("PIsA"),o=n("tZ2B"),s=function(){function t(t,e,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.project=t,this.resultSelector=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.project,this.resultSelector,this.concurrent))},t}(),l=function(t){function e(e,n,r,i){void 0===i&&(i=Number.POSITIVE_INFINITY),t.call(this,e),this.project=n,this.resultSelector=r,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return Object(r.__extends)(e,t),e.prototype._next=function(t){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(o.a)},RMhj:function(t,e,n){var r={"./en.json":["TKku",0]};function i(t){var e=r[t];return e?n.e(e[1]).then(function(){return n(e[0])}):Promise.reject(new Error("Cannot find module '"+t+"'."))}i.keys=function(){return Object.keys(r)},i.id="RMhj",t.exports=i},Rf9G:function(t,e,n){"use strict";e.a=function(){return Object(r.a)()(this)};var r=n("3a3m")},RnJI:function(t,e,n){!function(t){"use strict";t.defineLocale("ka",{months:{standalone:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),format:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10e1_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10e1_\u10db\u10d0\u10e0\u10e2\u10e1_\u10d0\u10de\u10e0\u10d8\u10da\u10d8\u10e1_\u10db\u10d0\u10d8\u10e1\u10e1_\u10d8\u10d5\u10dc\u10d8\u10e1\u10e1_\u10d8\u10d5\u10da\u10d8\u10e1\u10e1_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10e1_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10e1_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10e1".split("_")},monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(t){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10ec\u10d4\u10da\u10d8)/.test(t)?t.replace(/\u10d8$/,"\u10e8\u10d8"):t+"\u10e8\u10d8"},past:function(t){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(t)?t.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10e3\u10d9\u10d0\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(t)?t.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10e3\u10d9\u10d0\u10dc"):void 0},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(t){return 0===t?t:1===t?t+"-\u10da\u10d8":t<20||t<=100&&t%20==0||t%100==0?"\u10db\u10d4-"+t:t+"-\u10d4"},week:{dow:1,doy:7}})}(n("PJh5"))},Sjoy:function(t,e,n){!function(t){"use strict";t.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("PJh5"))},TILf:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("TToO"),i=function(t){function e(e,n){t.call(this),this.value=e,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return Object(r.__extends)(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){var e=t.value,n=t.subscriber;t.done?n.complete():(n.next(e),n.closed||(t.done=!0,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.value,r=this.scheduler;if(r)return r.schedule(e.dispatch,0,{done:!1,value:n,subscriber:t});t.next(n),t.closed||t.complete()},e}(n("YaPU").a)},TToO:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.__extends=function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},n.d(e,"__assign",function(){return i}),e.__rest=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(t);i=0;l--)(i=t[l])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},e.__param=function(t,e){return function(n,r){e(n,r,t)}},e.__metadata=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},e.__awaiter=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function s(t){try{a(r.next(t))}catch(t){o(t)}}function l(t){try{a(r.throw(t))}catch(t){o(t)}}function a(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(s,l)}a((r=r.apply(t,e||[])).next())})},e.__generator=function(t,e){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=r[2&o[0]?"return":o[0]?"throw":"next"])&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[0,i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1||a(t,e)})})}function a(t,e){try{(n=i[t](e)).value instanceof l?Promise.resolve(n.value.v).then(u,c):d(o[0][2],n)}catch(t){d(o[0][3],t)}var n}function u(t){a("next",t)}function c(t){a("throw",t)}function d(t,e){t(e),o.shift(),o.length&&a(o[0][0],o[0][1])}},e.__asyncDelegator=function(t){var e,n;return e={},r("next"),r("throw",function(t){throw t}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(r,i){t[r]&&(e[r]=function(e){return(n=!n)?{value:l(t[r](e)),done:"return"===r}:i?i(e):e})}},e.__asyncValues=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator];return e?e.call(t):"function"==typeof o?o(t):t[Symbol.iterator]()},e.__makeTemplateObject=function(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t};var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},i=Object.assign||function(t){for(var e,n=1,r=arguments.length;n=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}function s(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(t){i={error:t}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function l(t){return this instanceof l?(this.v=t,this):new l(t)}},To0v:function(t,e,n){!function(t){"use strict";t.defineLocale("ug-cn",{months:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),monthsShort:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),weekdays:"\u064a\u06d5\u0643\u0634\u06d5\u0646\u0628\u06d5_\u062f\u06c8\u0634\u06d5\u0646\u0628\u06d5_\u0633\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u0686\u0627\u0631\u0634\u06d5\u0646\u0628\u06d5_\u067e\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u062c\u06c8\u0645\u06d5_\u0634\u06d5\u0646\u0628\u06d5".split("_"),weekdaysShort:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),weekdaysMin:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649",LLL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm",LLLL:"dddd\u060c YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm"},meridiemParse:/\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5|\u0633\u06d5\u06be\u06d5\u0631|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646|\u0686\u06c8\u0634|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646|\u0643\u06d5\u0686/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===e||"\u0633\u06d5\u06be\u06d5\u0631"===e||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===e?t:"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"===e||"\u0643\u06d5\u0686"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var r=100*t+e;return r<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":r<900?"\u0633\u06d5\u06be\u06d5\u0631":r<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":r<1230?"\u0686\u06c8\u0634":r<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return t+"-\u06be\u06d5\u067e\u062a\u06d5";default:return t}},preparse:function(t){return t.replace(/\u060c/g,",")},postformat:function(t){return t.replace(/,/g,"\u060c")},week:{dow:1,doy:7}})}(n("PJh5"))},Tqun:function(t,e,n){!function(t){"use strict";t.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})}(n("PJh5"))},V0td:function(t,e,n){!function(t){"use strict";t.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(t){return"M"===t.charAt(0)},meridiem:function(t,e,n){return t<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},V4qH:function(t,e,n){!function(t){"use strict";function e(t,e,n){var r=t+" ";switch(n){case"ss":return r+(1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi");case"m":return e?"jedna minuta":"jedne minute";case"mm":return r+(1===t?"minuta":2===t||3===t||4===t?"minute":"minuta");case"h":return e?"jedan sat":"jednog sata";case"hh":return r+(1===t?"sat":2===t||3===t||4===t?"sata":"sati");case"dd":return r+(1===t?"dan":"dana");case"MM":return r+(1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci");case"yy":return r+(1===t?"godina":2===t||3===t||4===t?"godine":"godina")}}t.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},VK9h:function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n("PJh5"))},Veqx:function(t,e,n){"use strict";n.d(e,"a",function(){return a});var r=n("TToO"),i=n("YaPU"),o=n("TILf"),s=n("+3/4"),l=n("1Q68"),a=function(t){function e(e,n){t.call(this),this.array=e,this.scheduler=n,n||1!==e.length||(this._isScalar=!0,this.value=e[0])}return Object(r.__extends)(e,t),e.create=function(t,n){return new e(t,n)},e.of=function(){for(var t=[],n=0;n1?new e(t,r):1===i?new o.a(t[0],r):new s.a(r)},e.dispatch=function(t){var e=t.array,n=t.index,r=t.subscriber;n>=t.count?r.complete():(r.next(e[n]),r.closed||(t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.array,r=n.length,i=this.scheduler;if(i)return i.schedule(e.dispatch,0,{array:n,index:0,count:r,subscriber:t});for(var o=0;o=11?t:t+12},meridiem:function(t,e,n){var r=100*t+e;return r<600?"\u51cc\u6668":r<900?"\u65e9\u4e0a":r<1130?"\u4e0a\u5348":r<1230?"\u4e2d\u5348":r<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"\u65e5";case"M":return t+"\u6708";case"w":case"W":return t+"\u5468";default:return t}},relativeTime:{future:"%s\u5185",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}})}(n("PJh5"))},WT6e:function(t,e,n){"use strict";(function(t){n.d(e,"g",function(){return oe}),n.d(e,"V",function(){return Zt}),n.d(e,"Y",function(){return $t}),n.d(e,"U",function(){return ee}),n.d(e,"A",function(){return te}),n.d(e,"c",function(){return dt}),n.d(e,"E",function(){return ft}),n.d(e,"D",function(){return _t}),n.d(e,"b",function(){return mt}),n.d(e,"d",function(){return ut}),n.d(e,"e",function(){return ct}),n.d(e,"X",function(){return Ce}),n.d(e,"P",function(){return Wt}),n.d(e,"_0",function(){return Gt}),n.d(e,"w",function(){return Qe}),n.d(e,"f",function(){return $e}),n.d(e,"o",function(){return It}),n.d(e,"n",function(){return st}),n.d(e,"J",function(){return en}),n.d(e,"K",function(){return tn}),n.d(e,"a",function(){return _}),n.d(e,"k",function(){return m}),n.d(e,"t",function(){return y}),n.d(e,"F",function(){return g}),n.d(e,"S",function(){return v}),n.d(e,"Q",function(){return b}),n.d(e,"W",function(){return j}),n.d(e,"s",function(){return N}),n.d(e,"r",function(){return a}),n.d(e,"p",function(){return M}),n.d(e,"C",function(){return k}),n.d(e,"q",function(){return x}),n.d(e,"L",function(){return C}),n.d(e,"B",function(){return Rt}),n.d(e,"G",function(){return ue}),n.d(e,"H",function(){return le}),n.d(e,"I",function(){return ae}),n.d(e,"i",function(){return vt}),n.d(e,"j",function(){return St}),n.d(e,"l",function(){return ce}),n.d(e,"x",function(){return Yt}),n.d(e,"z",function(){return Dt}),n.d(e,"y",function(){return de}),n.d(e,"M",function(){return _e}),n.d(e,"N",function(){return pe}),n.d(e,"O",function(){return ge}),n.d(e,"R",function(){return ye}),n.d(e,"m",function(){return be}),n.d(e,"h",function(){return ve}),n.d(e,"u",function(){return ze}),n.d(e,"v",function(){return We}),n.d(e,"T",function(){return Oe}),n.d(e,"Z",function(){return qe}),n.d(e,"_13",function(){return Ye}),n.d(e,"_2",function(){return gt}),n.d(e,"_1",function(){return Tt}),n.d(e,"_10",function(){return O}),n.d(e,"_16",function(){return E}),n.d(e,"_30",function(){return A}),n.d(e,"_14",function(){return at}),n.d(e,"_15",function(){return lt}),n.d(e,"_3",function(){return Qn}),n.d(e,"_4",function(){return Kn}),n.d(e,"_5",function(){return _r}),n.d(e,"_6",function(){return Mo}),n.d(e,"_7",function(){return bn}),n.d(e,"_8",function(){return Hr}),n.d(e,"_9",function(){return Xn}),n.d(e,"_12",function(){return Jn}),n.d(e,"_18",function(){return sr}),n.d(e,"_19",function(){return or}),n.d(e,"_21",function(){return si}),n.d(e,"_22",function(){return Cr}),n.d(e,"_25",function(){return Fr}),n.d(e,"_28",function(){return Nr}),n.d(e,"_24",function(){return ui}),n.d(e,"_26",function(){return ci}),n.d(e,"_27",function(){return ai}),n.d(e,"_29",function(){return ei}),n.d(e,"_31",function(){return hi}),n.d(e,"_32",function(){return gn}),n.d(e,"_33",function(){return _i}),n.d(e,"_17",function(){return Ke}),n.d(e,"_20",function(){return Xe}),n.d(e,"_23",function(){return Ze}),n.d(e,"_11",function(){return ht});var r=n("TToO"),i=n("YaPU"),o=n("/nXB"),s=n("Rf9G"),l=n("g5jc"),a=function(){function t(t){this._desc=t,this.ngMetadataName="InjectionToken"}return t.prototype.toString=function(){return"InjectionToken "+this._desc},t}(),u="__annotations__",c="__paramaters__",d="__prop__metadata__";function h(t,e,n,r){var i=p(e);function o(t){if(this instanceof o)return i.call(this,t),this;var e=new o(t),n=function(t){return(t.hasOwnProperty(u)?t[u]:Object.defineProperty(t,u,{value:[]})[u]).push(e),t};return r&&r(n),n}return n&&(o.prototype=Object.create(n.prototype)),o.prototype.ngMetadataName=t,o.annotationCls=o,o}function p(t){return function(){for(var e=[],n=0;n ");else if("object"==typeof e){var i=[];for(var o in e)if(e.hasOwnProperty(o)){var s=e[o];i.push(o+":"+("string"==typeof s?JSON.stringify(s):A(s)))}r="{"+i.join(", ")+"}"}return"StaticInjectorError"+(n?"("+n+")":"")+"["+r+"]: "+t.replace(q,"\n ")}function $(t,e){return new Error(Z(t,e))}var tt="ngDebugContext",et="ngOriginalError",nt="ngErrorLogger";function rt(t){return t[tt]}function it(t){return t[et]}function ot(t){for(var e=[],n=1;n0)t._bootstrapComponents.forEach(function(t){return e.bootstrap(t)});else{if(!t.instance.ngDoBootstrap)throw new Error("The module "+A(t.instance.constructor)+' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.');t.instance.ngDoBootstrap(e)}this._modules.push(t)},t.prototype.onDestroy=function(t){this._destroyListeners.push(t)},Object.defineProperty(t.prototype,"injector",{get:function(){return this._injector},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(function(t){return t.destroy()}),this._destroyListeners.forEach(function(t){return t()}),this._destroyed=!0},Object.defineProperty(t.prototype,"destroyed",{get:function(){return this._destroyed},enumerable:!0,configurable:!0}),t}();function ie(t,e){return Array.isArray(e)?e.reduce(ie,t):Object(r.__assign)({},t,e)}var oe=function(){function t(t,e,n,r,l,a){var u=this;this._zone=t,this._console=e,this._injector=n,this._exceptionHandler=r,this._componentFactoryResolver=l,this._initStatus=a,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=$t(),this._zone.onMicrotaskEmpty.subscribe({next:function(){u._zone.run(function(){u.tick()})}});var c=new i.a(function(t){u._stable=u._zone.isStable&&!u._zone.hasPendingMacrotasks&&!u._zone.hasPendingMicrotasks,u._zone.runOutsideAngular(function(){t.next(u._stable),t.complete()})}),d=new i.a(function(t){var e;u._zone.runOutsideAngular(function(){e=u._zone.onStable.subscribe(function(){Rt.assertNotInAngularZone(),P(function(){u._stable||u._zone.hasPendingMacrotasks||u._zone.hasPendingMicrotasks||(u._stable=!0,t.next(!0))})})});var n=u._zone.onUnstable.subscribe(function(){Rt.assertInAngularZone(),u._stable&&(u._stable=!1,u._zone.runOutsideAngular(function(){t.next(!1)}))});return function(){e.unsubscribe(),n.unsubscribe()}});this.isStable=Object(o.a)(c,s.a.call(d))}return t.prototype.bootstrap=function(t,e){var n,r=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");n=t instanceof wt?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);var i=n instanceof Ot?null:this._injector.get(Dt),o=n.create(N.NULL,[],e||n.selector,i);o.onDestroy(function(){r._unloadComponent(o)});var s=o.injector.get(Wt,null);return s&&o.injector.get(Ut).registerApplication(o.location.nativeElement,s),this._loadComponent(o),$t()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),o},t.prototype.tick=function(){var e=this;if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");var n=t._tickScope();try{this._runningTick=!0,this._views.forEach(function(t){return t.detectChanges()}),this._enforceNoNewChanges&&this._views.forEach(function(t){return t.checkNoChanges()})}catch(t){this._zone.runOutsideAngular(function(){return e._exceptionHandler.handleError(t)})}finally{this._runningTick=!1,jt(n)}},t.prototype.attachView=function(t){var e=t;this._views.push(e),e.attachToAppRef(this)},t.prototype.detachView=function(t){var e=t;se(this._views,e),e.detachFromAppRef()},t.prototype._loadComponent=function(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(mt,[]).concat(this._bootstrapListeners).forEach(function(e){return e(t)})},t.prototype._unloadComponent=function(t){this.detachView(t.hostView),se(this.components,t)},t.prototype.ngOnDestroy=function(){this._views.slice().forEach(function(t){return t.destroy()})},Object.defineProperty(t.prototype,"viewCount",{get:function(){return this._views.length},enumerable:!0,configurable:!0}),t._tickScope=At("ApplicationRef#tick()"),t}();function se(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}var le=function(){},ae=function(){var t={Important:1,DashCase:2};return t[t.Important]="Important",t[t.DashCase]="DashCase",t}(),ue=function(){},ce=function(t){this.nativeElement=t},de=function(){},he=function(){function t(){this.dirty=!0,this._results=[],this.changes=new It}return t.prototype.map=function(t){return this._results.map(t)},t.prototype.filter=function(t){return this._results.filter(t)},t.prototype.find=function(t){return this._results.find(t)},t.prototype.reduce=function(t,e){return this._results.reduce(t,e)},t.prototype.forEach=function(t){this._results.forEach(t)},t.prototype.some=function(t){return this._results.some(t)},t.prototype.toArray=function(){return this._results.slice()},t.prototype[Y()]=function(){return this._results[Y()]()},t.prototype.toString=function(){return this._results.toString()},t.prototype.reset=function(t){this._results=function t(e){return e.reduce(function(e,n){var r=Array.isArray(n)?t(n):n;return e.concat(r)},[])}(t),this.dirty=!1,this.length=this._results.length,this.last=this._results[this.length-1],this.first=this._results[0]},t.prototype.notifyOnChanges=function(){this.changes.emit(this)},t.prototype.setDirty=function(){this.dirty=!0},t.prototype.destroy=function(){this.changes.complete(),this.changes.unsubscribe()},t}(),pe=function(){},fe={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"},_e=function(){function t(t,e){this._compiler=t,this._config=e||fe}return t.prototype.load=function(t){return this._compiler instanceof vt?this.loadFactory(t):this.loadAndCompile(t)},t.prototype.loadAndCompile=function(t){var e=this,r=t.split("#"),i=r[0],o=r[1];return void 0===o&&(o="default"),n("Jnfr")(i).then(function(t){return t[o]}).then(function(t){return me(t,i,o)}).then(function(t){return e._compiler.compileModuleAsync(t)})},t.prototype.loadFactory=function(t){var e=t.split("#"),r=e[0],i=e[1],o="NgFactory";return void 0===i&&(i="default",o=""),n("Jnfr")(this._config.factoryPathPrefix+r+this._config.factoryPathSuffix).then(function(t){return t[i+o]}).then(function(t){return me(t,r,i)})},t}();function me(t,e,n){if(!t)throw new Error("Cannot find '"+n+"' in '"+e+"'");return t}var ge=function(){},ye=function(){},ve=function(){},be=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e}(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e}(ve)),we=function(){function t(t,e,n){this._debugContext=n,this.nativeNode=t,e&&e instanceof Me?e.addChild(this):this.parent=null,this.listeners=[]}return Object.defineProperty(t.prototype,"injector",{get:function(){return this._debugContext.injector},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"componentInstance",{get:function(){return this._debugContext.component},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._debugContext.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"references",{get:function(){return this._debugContext.references},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"providerTokens",{get:function(){return this._debugContext.providerTokens},enumerable:!0,configurable:!0}),t}(),Me=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.properties={},i.attributes={},i.classes={},i.styles={},i.childNodes=[],i.nativeElement=e,i}return Object(r.__extends)(e,t),e.prototype.addChild=function(t){t&&(this.childNodes.push(t),t.parent=this)},e.prototype.removeChild=function(t){var e=this.childNodes.indexOf(t);-1!==e&&(t.parent=null,this.childNodes.splice(e,1))},e.prototype.insertChildrenAfter=function(t,e){var n,r=this,i=this.childNodes.indexOf(t);-1!==i&&((n=this.childNodes).splice.apply(n,[i+1,0].concat(e)),e.forEach(function(t){t.parent&&t.parent.removeChild(t),t.parent=r}))},e.prototype.insertBefore=function(t,e){var n=this.childNodes.indexOf(t);-1===n?this.addChild(e):(e.parent&&e.parent.removeChild(e),e.parent=this,this.childNodes.splice(n,0,e))},e.prototype.query=function(t){return this.queryAll(t)[0]||null},e.prototype.queryAll=function(t){var e=[];return ke(this,t,e),e},e.prototype.queryAllNodes=function(t){var e=[];return xe(this,t,e),e},Object.defineProperty(e.prototype,"children",{get:function(){return this.childNodes.filter(function(t){return t instanceof e})},enumerable:!0,configurable:!0}),e.prototype.triggerEventHandler=function(t,e){this.listeners.forEach(function(n){n.name==t&&n.callback(e)})},e}(we);function ke(t,e,n){t.childNodes.forEach(function(t){t instanceof Me&&(e(t)&&n.push(t),ke(t,e,n))})}function xe(t,e,n){t instanceof Me&&t.childNodes.forEach(function(t){e(t)&&n.push(t),t instanceof Me&&xe(t,e,n)})}var Le=new Map;function Ce(t){return Le.get(t)||null}function Se(t){Le.set(t.nativeNode,t)}function Te(t,e){var n=Ye(t),r=Ye(e);return n&&r?function(t,e,n){for(var r=t[Y()](),i=e[Y()]();;){var o=r.next(),s=i.next();if(o.done&&s.done)return!0;if(o.done||s.done)return!1;if(!n(o.value,s.value))return!1}}(t,e,Te):!(n||!t||"object"!=typeof t&&"function"!=typeof t||r||!e||"object"!=typeof e&&"function"!=typeof e)||E(t,e)}var Oe=function(){function t(t){this.wrapped=t}return t.wrap=function(e){return new t(e)},t}(),De=function(){function t(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}return t.prototype.isFirstChange=function(){return this.firstChange},t}();function Ye(t){return!!Pe(t)&&(Array.isArray(t)||!(t instanceof Map)&&Y()in t)}function Pe(t){return null!==t&&("function"==typeof t||"object"==typeof t)}var Ee=function(){function t(){}return t.prototype.supports=function(t){return Ye(t)},t.prototype.create=function(t){return new je(t)},t}(),Ae=function(t,e){return e},je=function(){function t(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Ae}return t.prototype.forEachItem=function(t){var e;for(e=this._itHead;null!==e;e=e._next)t(e)},t.prototype.forEachOperation=function(t){for(var e=this._itHead,n=this._removalsHead,r=0,i=null;e||n;){var o=!n||e&&e.currentIndex=n.length)&&(e=n.length-1),e<0)return null;var r=n[e];return r.viewContainerParent=null,pr(n,e),cn.dirtyParentQueries(r),dr(r),r}function cr(t,e,n){var r=e?Dn(e,e.def.lastRenderRootNode):t.renderElement;Fn(n,2,n.renderer.parentNode(r),n.renderer.nextSibling(r),void 0)}function dr(t){Fn(t,3,null,null,void 0)}function hr(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function pr(t,e){e>=t.length-1?t.pop():t.splice(e,1)}var fr=new Object;function _r(t,e,n,r,i,o){return new mr(t,e,n,r,i,o)}var mr=function(t){function e(e,n,r,i,o,s){var l=t.call(this)||this;return l.selector=e,l.componentType=n,l._inputs=i,l._outputs=o,l.ngContentSelectors=s,l.viewDefFactory=r,l}return Object(r.__extends)(e,t),Object.defineProperty(e.prototype,"inputs",{get:function(){var t=[],e=this._inputs;for(var n in e)t.push({propName:n,templateName:e[n]});return t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"outputs",{get:function(){var t=[];for(var e in this._outputs)t.push({propName:e,templateName:this._outputs[e]});return t},enumerable:!0,configurable:!0}),e.prototype.create=function(t,e,n,r){if(!r)throw new Error("ngModule should be provided");var i=Hn(this.viewDefFactory),o=i.nodes[0].element.componentProvider.nodeIndex,s=cn.createRootView(t,e||[],n,i,r,fr),l=ln(s,o).instance;return n&&s.renderer.setAttribute(sn(s,0).renderElement,"ng-version",w.full),new gr(s,new wr(s),l)},e}(wt),gr=function(t){function e(e,n,r){var i=t.call(this)||this;return i._view=e,i._viewRef=n,i._component=r,i._elDef=i._view.def.nodes[0],i.hostView=n,i.changeDetectorRef=n,i.instance=r,i}return Object(r.__extends)(e,t),Object.defineProperty(e.prototype,"location",{get:function(){return new ce(sn(this._view,this._elDef.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"injector",{get:function(){return new Lr(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentType",{get:function(){return this._component.constructor},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){this._viewRef.destroy()},e.prototype.onDestroy=function(t){this._viewRef.onDestroy(t)},e}(function(){});function yr(t,e,n){return new vr(t,e,n)}var vr=function(){function t(t,e,n){this._view=t,this._elDef=e,this._data=n,this._embeddedViews=[]}return Object.defineProperty(t.prototype,"element",{get:function(){return new ce(this._data.renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return new Lr(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parentInjector",{get:function(){for(var t=this._view,e=this._elDef.parent;!e&&t;)e=On(t),t=t.parent;return t?new Lr(t,e):new Lr(this._view,null)},enumerable:!0,configurable:!0}),t.prototype.clear=function(){for(var t=this._embeddedViews.length-1;t>=0;t--){var e=ur(this._data,t);cn.destroyView(e)}},t.prototype.get=function(t){var e=this._embeddedViews[t];if(e){var n=new wr(e);return n.attachToViewContainerRef(this),n}return null},Object.defineProperty(t.prototype,"length",{get:function(){return this._embeddedViews.length},enumerable:!0,configurable:!0}),t.prototype.createEmbeddedView=function(t,e,n){var r=t.createEmbeddedView(e||{});return this.insert(r,n),r},t.prototype.createComponent=function(t,e,n,r,i){var o=n||this.parentInjector;i||t instanceof Ot||(i=o.get(Dt));var s=t.create(o,r,void 0,i);return this.insert(s.hostView,e),s},t.prototype.insert=function(t,e){if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");var n,r,i,o,s=t;return i=s._view,o=(n=this._data).viewContainer._embeddedViews,null!==(r=e)&&void 0!==r||(r=o.length),i.viewContainerParent=this._view,hr(o,r,i),function(t,e){var n=Tn(e);if(n&&n!==t&&!(16&e.state)){e.state|=16;var r=n.template._projectedViews;r||(r=n.template._projectedViews=[]),r.push(e),function(t,n){if(!(4&n.flags)){e.parent.def.nodeFlags|=4,n.flags|=4;for(var r=n.parent;r;)r.childFlags|=4,r=r.parent}}(0,e.parentNodeDef)}}(n,i),cn.dirtyParentQueries(i),cr(n,r>0?o[r-1]:null,i),s.attachToViewContainerRef(this),t},t.prototype.move=function(t,e){if(t.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");var n,r,i,o,s,l=this._embeddedViews.indexOf(t._view);return i=e,s=(o=(n=this._data).viewContainer._embeddedViews)[r=l],pr(o,r),null==i&&(i=o.length),hr(o,i,s),cn.dirtyParentQueries(s),dr(s),cr(n,i>0?o[i-1]:null,s),t},t.prototype.indexOf=function(t){return this._embeddedViews.indexOf(t._view)},t.prototype.remove=function(t){var e=ur(this._data,t);e&&cn.destroyView(e)},t.prototype.detach=function(t){var e=ur(this._data,t);return e?new wr(e):null},t}();function br(t){return new wr(t)}var wr=function(){function t(t){this._view=t,this._viewContainerRef=null,this._appRef=null}return Object.defineProperty(t.prototype,"rootNodes",{get:function(){return Fn(this._view,0,void 0,void 0,t=[]),t;var t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._view.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"destroyed",{get:function(){return 0!=(128&this._view.state)},enumerable:!0,configurable:!0}),t.prototype.markForCheck=function(){Ln(this._view)},t.prototype.detach=function(){this._view.state&=-5},t.prototype.detectChanges=function(){var t=this._view.root.rendererFactory;t.begin&&t.begin();try{cn.checkAndUpdateView(this._view)}finally{t.end&&t.end()}},t.prototype.checkNoChanges=function(){cn.checkNoChangesView(this._view)},t.prototype.reattach=function(){this._view.state|=4},t.prototype.onDestroy=function(t){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(t)},t.prototype.destroy=function(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),cn.destroyView(this._view)},t.prototype.detachFromAppRef=function(){this._appRef=null,dr(this._view),cn.dirtyParentQueries(this._view)},t.prototype.attachToAppRef=function(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t},t.prototype.attachToViewContainerRef=function(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t},t}();function Mr(t,e){return new kr(t,e)}var kr=function(t){function e(e,n){var r=t.call(this)||this;return r._parentView=e,r._def=n,r}return Object(r.__extends)(e,t),e.prototype.createEmbeddedView=function(t){return new wr(cn.createEmbeddedView(this._parentView,this._def,this._def.element.template,t))},Object.defineProperty(e.prototype,"elementRef",{get:function(){return new ce(sn(this._parentView,this._def.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),e}(ge);function xr(t,e){return new Lr(t,e)}var Lr=function(){function t(t,e){this.view=t,this.elDef=e}return t.prototype.get=function(t,e){return void 0===e&&(e=N.THROW_IF_NOT_FOUND),cn.resolveDep(this.view,this.elDef,!!this.elDef&&0!=(33554432&this.elDef.flags),{flags:0,token:t,tokenKey:mn(t)},e)},t}();function Cr(t,e){var n=t.def.nodes[e];if(1&n.flags){var r=sn(t,n.nodeIndex);return n.element.template?r.template:r.renderElement}if(2&n.flags)return on(t,n.nodeIndex).renderText;if(20240&n.flags)return ln(t,n.nodeIndex).instance;throw new Error("Illegal state: read nodeValue for node index "+e)}function Sr(t){return new Tr(t.renderer)}var Tr=function(){function t(t){this.delegate=t}return t.prototype.selectRootElement=function(t){return this.delegate.selectRootElement(t)},t.prototype.createElement=function(t,e){var n=Un(e),r=this.delegate.createElement(n[1],n[0]);return t&&this.delegate.appendChild(t,r),r},t.prototype.createViewRoot=function(t){return t},t.prototype.createTemplateAnchor=function(t){var e=this.delegate.createComment("");return t&&this.delegate.appendChild(t,e),e},t.prototype.createText=function(t,e){var n=this.delegate.createText(e);return t&&this.delegate.appendChild(t,n),n},t.prototype.projectNodes=function(t,e){for(var n=0;n0,e.provider.value,e.provider.deps);if(e.outputs.length)for(var r=0;r0,r=e.provider;switch(201347067&e.flags){case 512:return Jr(t,e.parent,n,r.value,r.deps);case 1024:return function(t,e,n,r,i){var o=i.length;switch(o){case 0:return r();case 1:return r(Qr(t,e,n,i[0]));case 2:return r(Qr(t,e,n,i[0]),Qr(t,e,n,i[1]));case 3:return r(Qr(t,e,n,i[0]),Qr(t,e,n,i[1]),Qr(t,e,n,i[2]));default:for(var s=Array(o),l=0;l0)u=_,mi(_)||(c=_);else for(;u&&f===u.nodeIndex+u.childCount;){var y=u.parent;y&&(y.childFlags|=u.childFlags,y.childMatchedQueries|=u.childMatchedQueries),c=(u=y)&&mi(u)?u.renderParent:u}}return{factory:null,nodeFlags:s,rootNodeFlags:l,nodeMatchedQueries:a,flags:t,nodes:e,updateDirectives:n||fn,updateRenderer:r||fn,handleEvent:function(t,n,r,i){return e[n].element.handleEvent(t,r,i)},bindingCount:i,outputCount:o,lastRenderRootNode:p}}function mi(t){return 0!=(1&t.flags)&&null===t.element.name}function gi(t,e,n){var r=e.element&&e.element.template;if(r){if(!r.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(r.lastRenderRootNode&&16777216&r.lastRenderRootNode.flags)throw new Error("Illegal State: Last root node of a template can't have embedded views, at index "+e.nodeIndex+"!")}if(20224&e.flags&&0==(1&(t?t.flags:0)))throw new Error("Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index "+e.nodeIndex+"!");if(e.query){if(67108864&e.flags&&(!t||0==(16384&t.flags)))throw new Error("Illegal State: Content Query nodes need to be children of directives, at index "+e.nodeIndex+"!");if(134217728&e.flags&&t)throw new Error("Illegal State: View Query nodes have to be top level nodes, at index "+e.nodeIndex+"!")}if(e.childCount){var i=t?t.nodeIndex+t.childCount:n-1;if(e.nodeIndex<=i&&e.nodeIndex+e.childCount>i)throw new Error("Illegal State: childCount of node leads outside of parent, at index "+e.nodeIndex+"!")}}function yi(t,e,n,r){var i=wi(t.root,t.renderer,t,e,n);return Mi(i,t.component,r),ki(i),i}function vi(t,e,n){var r=wi(t,t.renderer,null,null,e);return Mi(r,n,n),ki(r),r}function bi(t,e,n,r){var i,o=e.element.componentRendererType;return i=o?t.root.rendererFactory.createRenderer(r,o):t.root.renderer,wi(t.root,i,t,e.element.componentProvider,n)}function wi(t,e,n,r,i){var o=new Array(i.nodes.length),s=i.outputCount?new Array(i.outputCount):null;return{def:i,parent:n,viewContainerParent:null,parentNodeDef:r,context:null,component:null,nodes:o,state:13,root:t,renderer:e,oldValues:new Array(i.bindingCount),disposables:s,initIndex:-1}}function Mi(t,e,n){t.component=e,t.context=n}function ki(t){var e;Yn(t)&&(e=sn(t.parent,t.parentNodeDef.parent.nodeIndex).renderElement);for(var n=t.def,r=t.nodes,i=0;i0&&er(t,e,0,n)&&(p=!0),h>1&&er(t,e,1,r)&&(p=!0),h>2&&er(t,e,2,i)&&(p=!0),h>3&&er(t,e,3,o)&&(p=!0),h>4&&er(t,e,4,s)&&(p=!0),h>5&&er(t,e,5,l)&&(p=!0),h>6&&er(t,e,6,a)&&(p=!0),h>7&&er(t,e,7,u)&&(p=!0),h>8&&er(t,e,8,c)&&(p=!0),h>9&&er(t,e,9,d)&&(p=!0),p}(t,e,n,r,i,o,s,l,a,u,c,d);case 2:return function(t,e,n,r,i,o,s,l,a,u,c,d){var h=!1,p=e.bindings,f=p.length;if(f>0&&kn(t,e,0,n)&&(h=!0),f>1&&kn(t,e,1,r)&&(h=!0),f>2&&kn(t,e,2,i)&&(h=!0),f>3&&kn(t,e,3,o)&&(h=!0),f>4&&kn(t,e,4,s)&&(h=!0),f>5&&kn(t,e,5,l)&&(h=!0),f>6&&kn(t,e,6,a)&&(h=!0),f>7&&kn(t,e,7,u)&&(h=!0),f>8&&kn(t,e,8,c)&&(h=!0),f>9&&kn(t,e,9,d)&&(h=!0),h){var _=e.text.prefix;f>0&&(_+=fi(n,p[0])),f>1&&(_+=fi(r,p[1])),f>2&&(_+=fi(i,p[2])),f>3&&(_+=fi(o,p[3])),f>4&&(_+=fi(s,p[4])),f>5&&(_+=fi(l,p[5])),f>6&&(_+=fi(a,p[6])),f>7&&(_+=fi(u,p[7])),f>8&&(_+=fi(c,p[8])),f>9&&(_+=fi(d,p[9]));var m=on(t,e.nodeIndex).renderText;t.renderer.setValue(m,_)}return h}(t,e,n,r,i,o,s,l,a,u,c,d);case 16384:return function(t,e,n,r,i,o,s,l,a,u,c,d){var h=ln(t,e.nodeIndex),p=h.instance,f=!1,_=void 0,m=e.bindings.length;return m>0&&Mn(t,e,0,n)&&(f=!0,_=Xr(t,h,e,0,n,_)),m>1&&Mn(t,e,1,r)&&(f=!0,_=Xr(t,h,e,1,r,_)),m>2&&Mn(t,e,2,i)&&(f=!0,_=Xr(t,h,e,2,i,_)),m>3&&Mn(t,e,3,o)&&(f=!0,_=Xr(t,h,e,3,o,_)),m>4&&Mn(t,e,4,s)&&(f=!0,_=Xr(t,h,e,4,s,_)),m>5&&Mn(t,e,5,l)&&(f=!0,_=Xr(t,h,e,5,l,_)),m>6&&Mn(t,e,6,a)&&(f=!0,_=Xr(t,h,e,6,a,_)),m>7&&Mn(t,e,7,u)&&(f=!0,_=Xr(t,h,e,7,u,_)),m>8&&Mn(t,e,8,c)&&(f=!0,_=Xr(t,h,e,8,c,_)),m>9&&Mn(t,e,9,d)&&(f=!0,_=Xr(t,h,e,9,d,_)),_&&p.ngOnChanges(_),65536&e.flags&&rn(t,256,e.nodeIndex)&&p.ngOnInit(),262144&e.flags&&p.ngDoCheck(),f}(t,e,n,r,i,o,s,l,a,u,c,d);case 32:case 64:case 128:return function(t,e,n,r,i,o,s,l,a,u,c,d){var h=e.bindings,p=!1,f=h.length;if(f>0&&kn(t,e,0,n)&&(p=!0),f>1&&kn(t,e,1,r)&&(p=!0),f>2&&kn(t,e,2,i)&&(p=!0),f>3&&kn(t,e,3,o)&&(p=!0),f>4&&kn(t,e,4,s)&&(p=!0),f>5&&kn(t,e,5,l)&&(p=!0),f>6&&kn(t,e,6,a)&&(p=!0),f>7&&kn(t,e,7,u)&&(p=!0),f>8&&kn(t,e,8,c)&&(p=!0),f>9&&kn(t,e,9,d)&&(p=!0),p){var _=an(t,e.nodeIndex),m=void 0;switch(201347067&e.flags){case 32:m=new Array(h.length),f>0&&(m[0]=n),f>1&&(m[1]=r),f>2&&(m[2]=i),f>3&&(m[3]=o),f>4&&(m[4]=s),f>5&&(m[5]=l),f>6&&(m[6]=a),f>7&&(m[7]=u),f>8&&(m[8]=c),f>9&&(m[9]=d);break;case 64:m={},f>0&&(m[h[0].name]=n),f>1&&(m[h[1].name]=r),f>2&&(m[h[2].name]=i),f>3&&(m[h[3].name]=o),f>4&&(m[h[4].name]=s),f>5&&(m[h[5].name]=l),f>6&&(m[h[6].name]=a),f>7&&(m[h[7].name]=u),f>8&&(m[h[8].name]=c),f>9&&(m[h[9].name]=d);break;case 128:var g=n;switch(f){case 1:m=g.transform(n);break;case 2:m=g.transform(r);break;case 3:m=g.transform(r,i);break;case 4:m=g.transform(r,i,o);break;case 5:m=g.transform(r,i,o,s);break;case 6:m=g.transform(r,i,o,s,l);break;case 7:m=g.transform(r,i,o,s,l,a);break;case 8:m=g.transform(r,i,o,s,l,a,u);break;case 9:m=g.transform(r,i,o,s,l,a,u,c);break;case 10:m=g.transform(r,i,o,s,l,a,u,c,d)}}_.value=m}return p}(t,e,n,r,i,o,s,l,a,u,c,d);default:throw"unreachable"}}(t,e,r,i,o,s,l,a,u,c,d,h):function(t,e,n){switch(201347067&e.flags){case 1:return function(t,e,n){for(var r=!1,i=0;i0&&xn(t,e,0,n),h>1&&xn(t,e,1,r),h>2&&xn(t,e,2,i),h>3&&xn(t,e,3,o),h>4&&xn(t,e,4,s),h>5&&xn(t,e,5,l),h>6&&xn(t,e,6,a),h>7&&xn(t,e,7,u),h>8&&xn(t,e,8,c),h>9&&xn(t,e,9,d)}(t,e,r,i,o,s,l,a,u,c,d,h):function(t,e,n){for(var r=0;r=0;l--)(i=t[l])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},f=function(){},_=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return h(e,t),e.prototype.getTranslation=function(t){return Object(i.a)({})},e}(f);_=p([Object(r.q)()],_);var m=function(t){return t&&"function"==typeof t.schedule},g="undefined"!=typeof window?window:"undefined"!=typeof t?t:"undefined"!=typeof self?self:{};function y(t,e){return t(e={exports:{}},e.exports),e.exports}var v="undefined"!=typeof window&&window,b="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,w=v||"undefined"!=typeof g&&g||b,M=w;!function(){if(!w)throw new Error("RxJS could not find any global context (window, self, global)")}();var k,x={root:M},L={isFunction:function(t){return"function"==typeof t}},C={isArray:Array.isArray||function(t){return t&&"number"==typeof t.length}},S=function(t){return null!=t&&"object"==typeof t},T={errorObject:{e:{}}};function O(){try{return k.apply(this,arguments)}catch(t){return T.errorObject.e=t,T.errorObject}}var D=function(t){return k=t,O},Y=g&&g.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function r(){this.constructor=t}t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)},P={UnsubscriptionError:function(t){function e(e){t.call(this),this.errors=e;var n=Error.call(this,e?e.length+" errors occurred during unsubscription:\n "+e.map(function(t,e){return e+1+") "+t.toString()}).join("\n "):"");this.name=n.name="UnsubscriptionError",this.stack=n.stack,this.message=n.message}return Y(e,t),e}(Error)};function E(t){return t.reduce(function(t,e){return t.concat(e instanceof P.UnsubscriptionError?e.errors:e)},[])}var A={Subscription:function(){function t(t){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}var e;return t.prototype.unsubscribe=function(){var t,e=!1;if(!this.closed){var n=this._parent,r=this._parents,i=this._unsubscribe,o=this._subscriptions;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;for(var s=-1,l=r?r.length:0;n;)n.remove(this),n=++s1?new e(t,r):1===i?new q.ScalarObservable(t[0],r):new K.EmptyObservable(r)},e.dispatch=function(t){var e=t.array,n=t.index,r=t.subscriber;n>=t.count?r.complete():(r.next(e[n]),r.closed||(t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.array,r=n.length,i=this.scheduler;if(i)return i.schedule(e.dispatch,0,{array:n,index:0,count:r,subscriber:t});for(var o=0;oct?ct:i:i}()),this.arr=t,this.idx=e,this.len=n}return t.prototype[ot.iterator]=function(){return this},t.prototype.next=function(){return this.idx=t.length?r.complete():(r.next(e[n]),t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.arrayLike,r=this.scheduler,i=n.length;if(r)return r.schedule(e.dispatch,0,{arrayLike:n,index:0,length:i,subscriber:t});for(var o=0;o0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(Ct.OuterSubscriber),Dt=function(t){return t},Yt=function(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(r){return"number"==typeof e&&(n=e,e=null),r.lift(new Tt(t,e,n))}}(Dt,null,t)},Pt={concat:function(){for(var t=[],e=0;e=0;l--)(i=t[l])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},At=function(){},jt=function(){function t(){}return t.prototype.handle=function(t){return t.key},t}();jt=Et([Object(r.q)()],jt);var It=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var l=t.length-1;l>=0;l--)(i=t[l])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},Rt=function(){},Ht=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return h(e,t),e.prototype.compile=function(t,e){return t},e.prototype.compileTranslations=function(t,e){return t},e}(Rt);function Ft(t,e){if(t===e)return!0;if(null===t||null===e)return!1;if(t!=t&&e!=e)return!0;var n,r,i,o=typeof t;if(o==typeof e&&"object"==o){if(!Array.isArray(t)){if(Array.isArray(e))return!1;for(r in i=Object.create(null),t){if(!Ft(t[r],e[r]))return!1;i[r]=!0}for(r in e)if(!(r in i)&&"undefined"!=typeof e[r])return!1;return!0}if(!Array.isArray(e))return!1;if((n=t.length)==e.length){for(r=0;r=0;l--)(i=t[l])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},zt=function(){},Wt=function(t){function e(){var e=t.apply(this,arguments)||this;return e.templateMatcher=/{{\s?([^{}\s]*)\s?}}/g,e}return h(e,t),e.prototype.interpolate=function(t,e){return"string"==typeof t?this.interpolateString(t,e):"function"==typeof t?this.interpolateFunction(t,e):t},e.prototype.getValue=function(t,e){var n=e.split(".");e="";do{e+=n.shift(),!Nt(t)||!Nt(t[e])||"object"!=typeof t[e]&&n.length?n.length?e+=".":t=void 0:(t=t[e],e="")}while(n.length);return t},e.prototype.interpolateFunction=function(t,e){return t(e)},e.prototype.interpolateString=function(t,e){var n=this;return e?t.replace(this.templateMatcher,function(t,r){var i=n.getValue(e,r);return Nt(i)?i:t}):t},e}(zt);Wt=Bt([Object(r.q)()],Wt);var Ut=function(){return function(){this.currentLang=this.defaultLang,this.translations={},this.langs=[],this.onTranslationChange=new r.o,this.onLangChange=new r.o,this.onDefaultLangChange=new r.o}}(),Gt=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var l=t.length-1;l>=0;l--)(i=t[l])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},Jt=n("TToO").__metadata,qt=n("TToO").__param,Qt=new r.r("USE_STORE"),Kt=new r.r("USE_DEFAULT_LANG"),Xt=function(){function t(t,e,n,i,o,s,l){void 0===s&&(s=!0),void 0===l&&(l=!1),this.store=t,this.currentLoader=e,this.compiler=n,this.parser=i,this.missingTranslationHandler=o,this.useDefaultLang=s,this.isolate=l,this.pending=!1,this._onTranslationChange=new r.o,this._onLangChange=new r.o,this._onDefaultLangChange=new r.o,this._langs=[],this._translations={},this._translationRequests={}}return Object.defineProperty(t.prototype,"onTranslationChange",{get:function(){return this.isolate?this._onTranslationChange:this.store.onTranslationChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onLangChange",{get:function(){return this.isolate?this._onLangChange:this.store.onLangChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onDefaultLangChange",{get:function(){return this.isolate?this._onDefaultLangChange:this.store.onDefaultLangChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"defaultLang",{get:function(){return this.isolate?this._defaultLang:this.store.defaultLang},set:function(t){this.isolate?this._defaultLang=t:this.store.defaultLang=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"currentLang",{get:function(){return this.isolate?this._currentLang:this.store.currentLang},set:function(t){this.isolate?this._currentLang=t:this.store.currentLang=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"langs",{get:function(){return this.isolate?this._langs:this.store.langs},set:function(t){this.isolate?this._langs=t:this.store.langs=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"translations",{get:function(){return this.isolate?this._translations:this.store.translations},set:function(t){this.isolate?this._translations=t:this.store.translations=t},enumerable:!0,configurable:!0}),t.prototype.setDefaultLang=function(t){var e=this;if(t!==this.defaultLang){var n=this.retrieveTranslations(t);"undefined"!=typeof n?(this.defaultLang||(this.defaultLang=t),n.pipe(Object(d.a)(1)).subscribe(function(n){e.changeDefaultLang(t)})):this.changeDefaultLang(t)}},t.prototype.getDefaultLang=function(){return this.defaultLang},t.prototype.use=function(t){var e=this;if(t===this.currentLang)return Object(i.a)(this.translations[t]);var n=this.retrieveTranslations(t);return"undefined"!=typeof n?(this.currentLang||(this.currentLang=t),n.pipe(Object(d.a)(1)).subscribe(function(n){e.changeLang(t)}),n):(this.changeLang(t),Object(i.a)(this.translations[t]))},t.prototype.retrieveTranslations=function(t){var e;return"undefined"==typeof this.translations[t]&&(this._translationRequests[t]=this._translationRequests[t]||this.getTranslation(t),e=this._translationRequests[t]),e},t.prototype.getTranslation=function(t){var e=this;return this.pending=!0,this.loadingTranslations=this.currentLoader.getTranslation(t).pipe(Object(s.a)()),this.loadingTranslations.pipe(Object(d.a)(1)).subscribe(function(n){e.translations[t]=e.compiler.compileTranslations(n,t),e.updateLangs(),e.pending=!1},function(t){e.pending=!1}),this.loadingTranslations},t.prototype.setTranslation=function(t,e,n){void 0===n&&(n=!1),e=this.compiler.compileTranslations(e,t),this.translations[t]=n&&this.translations[t]?function t(e,n){var r=Object.assign({},e);return Vt(e)&&Vt(n)&&Object.keys(n).forEach(function(i){var o,s;Vt(n[i])?i in e?r[i]=t(e[i],n[i]):Object.assign(r,((o={})[i]=n[i],o)):Object.assign(r,((s={})[i]=n[i],s))}),r}(this.translations[t],e):e,this.updateLangs(),this.onTranslationChange.emit({lang:t,translations:this.translations[t]})},t.prototype.getLangs=function(){return this.langs},t.prototype.addLangs=function(t){var e=this;t.forEach(function(t){-1===e.langs.indexOf(t)&&e.langs.push(t)})},t.prototype.updateLangs=function(){this.addLangs(Object.keys(this.translations))},t.prototype.getParsedResult=function(t,e,n){var r;if(e instanceof Array){for(var o={},s=!1,u=0,d=e;u=0;l--)(i=t[l])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},$t=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},te=function(){function t(t,e,n){var r=this;this.translateService=t,this.element=e,this._ref=n,this.onTranslationChangeSub||(this.onTranslationChangeSub=this.translateService.onTranslationChange.subscribe(function(t){t.lang===r.translateService.currentLang&&r.checkNodes(!0,t.translations)})),this.onLangChangeSub||(this.onLangChangeSub=this.translateService.onLangChange.subscribe(function(t){r.checkNodes(!0,t.translations)})),this.onDefaultLangChangeSub||(this.onDefaultLangChangeSub=this.translateService.onDefaultLangChange.subscribe(function(t){r.checkNodes(!0)}))}return Object.defineProperty(t.prototype,"translate",{set:function(t){t&&(this.key=t,this.checkNodes())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"translateParams",{set:function(t){Ft(this.currentParams,t)||(this.currentParams=t,this.checkNodes(!0))},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewChecked=function(){this.checkNodes()},t.prototype.checkNodes=function(t,e){void 0===t&&(t=!1);var n=this.element.nativeElement.childNodes;n.length||(this.setContent(this.element.nativeElement,this.key),n=this.element.nativeElement.childNodes);for(var r=0;r=0;l--)(i=t[l])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},ne=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},re=function(){function t(t,e){this.translate=t,this._ref=e,this.value=""}return t.prototype.updateValue=function(t,e,n){var r=this,i=function(e){r.value=void 0!==e?e:t,r.lastKey=t,r._ref.markForCheck()};if(n){var o=this.translate.getParsedResult(n,t,e);"function"==typeof o.subscribe?o.subscribe(i):i(o)}this.translate.get(t,e).subscribe(i)},t.prototype.transform=function(t){for(var e,n=this,r=[],i=1;i20?e=40===t||50===t||60===t||80===t||100===t?"fed":"ain":t>0&&(e=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][t]),t+e},week:{dow:1,doy:4}})}(n("PJh5"))},ZUyn:function(t,e,n){!function(t){"use strict";t.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u51cc\u6668"===e||"\u65e9\u4e0a"===e||"\u4e0a\u5348"===e?t:"\u4e2d\u5348"===e?t>=11?t:t+12:"\u4e0b\u5348"===e||"\u665a\u4e0a"===e?t+12:void 0},meridiem:function(t,e,n){var r=100*t+e;return r<600?"\u51cc\u6668":r<900?"\u65e9\u4e0a":r<1130?"\u4e0a\u5348":r<1230?"\u4e2d\u5348":r<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"\u65e5";case"M":return t+"\u6708";case"w":case"W":return t+"\u9031";default:return t}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}})}(n("PJh5"))},ZoSI:function(t,e,n){!function(t){"use strict";t.defineLocale("pt",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},aM0x:function(t,e,n){!function(t){"use strict";var e={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},n={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};t.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09c0_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2_\u0986\u0997_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u0983_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(t){return t.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u09b0\u09be\u09a4"===e&&t>=4||"\u09a6\u09c1\u09aa\u09c1\u09b0"===e&&t<5||"\u09ac\u09bf\u0995\u09be\u09b2"===e?t+12:t},meridiem:function(t,e,n){return t<4?"\u09b0\u09be\u09a4":t<10?"\u09b8\u0995\u09be\u09b2":t<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":t<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}})}(n("PJh5"))},aqvp:function(t,e,n){!function(t){"use strict";function e(t,e,n){var r=t+" ";switch(n){case"ss":return r+(1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi");case"m":return e?"jedna minuta":"jedne minute";case"mm":return r+(1===t?"minuta":2===t||3===t||4===t?"minute":"minuta");case"h":return e?"jedan sat":"jednog sata";case"hh":return r+(1===t?"sat":2===t||3===t||4===t?"sata":"sati");case"dd":return r+(1===t?"dan":"dana");case"MM":return r+(1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci");case"yy":return r+(1===t?"godina":2===t||3===t||4===t?"godine":"godina")}}t.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},bXQP:function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}}})}(n("PJh5"))},c1x4:function(t,e,n){!function(t){"use strict";var e={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u0435 \u043c\u0438\u043d\u0443\u0442\u0435"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0435","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],yy:["\u0433\u043e\u0434\u0438\u043d\u0430","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};t.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"\u0434\u0430\u043d",dd:e.translate,M:"\u043c\u0435\u0441\u0435\u0446",MM:e.translate,y:"\u0433\u043e\u0434\u0438\u043d\u0443",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},cQXm:function(t,e,n){"use strict";e.a=function(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}},"ce/b":function(t,e,n){"use strict";e.a=function(){for(var t=[],e=0;e=100?100:null])},week:{dow:1,doy:7}})}(n("PJh5"))},etqZ:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(t){var e=t.Symbol;if("function"==typeof e)return e.iterator||(e.iterator=e("iterator polyfill")),e.iterator;var n=t.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var r=t.Map;if(r)for(var i=Object.getOwnPropertyNames(r.prototype),o=0;o=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};t.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},f9aG:function(t,e,n){"use strict";function r(){}function i(t){return t?1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}:r}e.a=function(){for(var t=[],e=0;e=20?"ste":"de")},week:{dow:1,doy:4}})}(n("PJh5"))},gEQe:function(t,e,n){!function(t){"use strict";var e={1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"},n={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};t.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(t){return t.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===e?t<4?t:t+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===e?t:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===e?t>=10?t:t+12:"\u0cb8\u0c82\u0c9c\u0cc6"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":t<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":t<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":t<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(t){return t+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}})}(n("PJh5"))},gEU3:function(t,e,n){!function(t){"use strict";t.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},gUgh:function(t,e,n){!function(t){"use strict";t.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("PJh5"))},hPuz:function(t,e,n){!function(t){"use strict";t.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("PJh5"))},hng5:function(t,e,n){!function(t){"use strict";t.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})}(n("PJh5"))},iNtv:function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={s:["viensas secunds","'iensas secunds"],ss:[t+" secunds",t+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[t+" m\xeduts",t+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[t+" \xfeoras",t+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[t+" ziuas",t+" ziuas"],M:["'n mes","'iens mes"],MM:[t+" mesen",t+" mesen"],y:["'n ar","'iens ar"],yy:[t+" ars",t+" ars"]};return r?i[n][0]:e?i[n][0]:i[n][1]}t.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(t){return"d'o"===t.toLowerCase()},meridiem:function(t,e,n){return t>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},"j+vx":function(t,e,n){!function(t){"use strict";var e={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"};t.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(t){return t+(e[t]||e[t%10]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("PJh5"))},j8cJ:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}})}(n("PJh5"))},jxEH:function(t,e,n){!function(t){"use strict";var e={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function n(t,e,n){return n?e%10==1&&e%100!=11?t[2]:t[3]:e%10==1&&e%100!=11?t[0]:t[1]}function r(t,r,i){return t+" "+n(e[i],t,r)}function i(t,r,i){return n(e[i],t,r)}t.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(t,e){return e?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:r,m:i,mm:r,h:i,hh:r,d:i,dd:r,M:i,MM:r,y:i,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},"k+5o":function(t,e,n){!function(t){"use strict";var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};t.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_\xc7ar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(t,n){switch(n){case"d":case"D":case"Do":case"DD":return t;default:if(0===t)return t+"'\u0131nc\u0131";var r=t%10;return t+(e[r]||e[t%100-r]||e[t>=100?100:null])}},week:{dow:1,doy:7}})}(n("PJh5"))},krPU:function(t,e,n){!function(t){"use strict";t.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}(n("PJh5"))},lOED:function(t,e,n){!function(t){"use strict";t.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0440_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u043d\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-\u0435\u0432":0===n?t+"-\u0435\u043d":n>10&&n<20?t+"-\u0442\u0438":1===e?t+"-\u0432\u0438":2===e?t+"-\u0440\u0438":7===e||8===e?t+"-\u043c\u0438":t+"-\u0442\u0438"},week:{dow:1,doy:7}})}(n("PJh5"))},m7yE:function(t,e,n){!function(t){"use strict";var e="pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function n(t,n,r,i){var o=function(t){var n=Math.floor(t%1e3/100),r=Math.floor(t%100/10),i=t%10,o="";return n>0&&(o+=e[n]+"vatlh"),r>0&&(o+=(""!==o?" ":"")+e[r]+"maH"),i>0&&(o+=(""!==o?" ":"")+e[i]),""===o?"pagh":o}(t);switch(r){case"ss":return o+" lup";case"mm":return o+" tup";case"hh":return o+" rep";case"dd":return o+" jaj";case"MM":return o+" jar";case"yy":return o+" DIS"}}t.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(t){var e=t;return-1!==t.indexOf("jaj")?e.slice(0,-3)+"leS":-1!==t.indexOf("jar")?e.slice(0,-3)+"waQ":-1!==t.indexOf("DIS")?e.slice(0,-3)+"nem":e+" pIq"},past:function(t){var e=t;return-1!==t.indexOf("jaj")?e.slice(0,-3)+"Hu\u2019":-1!==t.indexOf("jar")?e.slice(0,-3)+"wen":-1!==t.indexOf("DIS")?e.slice(0,-3)+"ben":e+" ret"},s:"puS lup",ss:n,m:"wa\u2019 tup",mm:n,h:"wa\u2019 rep",hh:n,d:"wa\u2019 jaj",dd:n,M:"wa\u2019 jar",MM:n,y:"wa\u2019 DIS",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},nE8X:function(t,e,n){!function(t){"use strict";t.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(t){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===t},meridiem:function(t,e,n){return t<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(t){return"\u0e97\u0eb5\u0ec8"+t}})}(n("PJh5"))},nLOz:function(t,e,n){!function(t){"use strict";t.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){return t+(1===t?"d":t%10==2?"na":"mh")},week:{dow:1,doy:4}})}(n("PJh5"))},nS2h:function(t,e,n){!function(t){"use strict";var e="nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" "),n=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",e[7],e[8],e[9]];function r(t,r,i,o){var s="";switch(i){case"s":return o?"muutaman sekunnin":"muutama sekunti";case"ss":return o?"sekunnin":"sekuntia";case"m":return o?"minuutin":"minuutti";case"mm":s=o?"minuutin":"minuuttia";break;case"h":return o?"tunnin":"tunti";case"hh":s=o?"tunnin":"tuntia";break;case"d":return o?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":s=o?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return o?"kuukauden":"kuukausi";case"MM":s=o?"kuukauden":"kuukautta";break;case"y":return o?"vuoden":"vuosi";case"yy":s=o?"vuoden":"vuotta"}return function(t,r){return t<10?r?n[t]:e[t]:t}(t,o)+" "+s}t.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},ntHu:function(t,e,n){!function(t){"use strict";function e(t,e,n){var r,i;return"m"===n?e?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===n?e?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":t+" "+(r=+t,i={ss:e?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:e?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:e?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[n].split("_"),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}function n(t){return function(){return t+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}t.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(t,e){var n={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return t?n[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(e)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(e)?"genitive":"nominative"][t.day()]:n.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:n("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:n("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:n("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:n("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return n("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return n("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:e,m:e,mm:e,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:e,d:"\u0434\u0435\u043d\u044c",dd:e,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:e,y:"\u0440\u0456\u043a",yy:e},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(t){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(t)},meridiem:function(t,e,n){return t<4?"\u043d\u043e\u0447\u0456":t<12?"\u0440\u0430\u043d\u043a\u0443":t<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t+"-\u0439";case"D":return t+"-\u0433\u043e";default:return t}},week:{dow:1,doy:7}})}(n("PJh5"))},oCzW:function(t,e,n){!function(t){"use strict";t.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(n("PJh5"))},oo1B:function(t,e,n){!function(t){"use strict";t.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===e&&t>=4||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===e||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===e?t+12:t},meridiem:function(t,e,n){return t<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":t<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":t<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":t<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}})}(n("PJh5"))},ooba:function(t,e,n){!function(t){"use strict";t.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("PJh5"))},"pU/0":function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("TToO"),i=function(t){function e(){var e=t.call(this,"argument out of range");this.name=e.name="ArgumentOutOfRangeError",this.stack=e.stack,this.message=e.message}return Object(r.__extends)(e,t),e}(Error)},pfs9:function(t,e,n){!function(t){"use strict";var e={1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"},n={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"};t.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(t){return t.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0a30\u0a3e\u0a24"===e?t<4?t:t+12:"\u0a38\u0a35\u0a47\u0a30"===e?t:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===e?t>=10?t:t+12:"\u0a38\u0a3c\u0a3e\u0a2e"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0a30\u0a3e\u0a24":t<10?"\u0a38\u0a35\u0a47\u0a30":t<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":t<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}})}(n("PJh5"))},rIuo:function(t,e,n){!function(t){"use strict";var e=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],n=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];t.defineLocale("dv",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0789\u0786|\u0789\u078a/,isPM:function(t){return"\u0789\u078a"===t},meridiem:function(t,e,n){return t<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(t){return t.replace(/\u060c/g,",")},postformat:function(t){return t.replace(/,/g,"\u060c")},week:{dow:7,doy:12}})}(n("PJh5"))},rtsW:function(t,e,n){!function(t){"use strict";var e={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},n={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"};t.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ac7\u0ab9\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(t){return t.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0ab0\u0abe\u0aa4"===e?t<4?t:t+12:"\u0ab8\u0ab5\u0abe\u0ab0"===e?t:"\u0aac\u0aaa\u0acb\u0ab0"===e?t>=10?t:t+12:"\u0ab8\u0abe\u0a82\u0a9c"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"\u0ab0\u0abe\u0aa4":t<10?"\u0ab8\u0ab5\u0abe\u0ab0":t<17?"\u0aac\u0aaa\u0acb\u0ab0":t<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}})}(n("PJh5"))},rxKx:function(t,e,n){var r;!function(i,o,s,l){"use strict";var a,u=["","webkit","Moz","MS","ms","o"],c=o.createElement("div"),d="function",h=Math.round,p=Math.abs,f=Date.now;function _(t,e,n){return setTimeout(M(t,n),e)}function m(t,e,n){return!!Array.isArray(t)&&(g(t,n[e],n),!0)}function g(t,e,n){var r;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==l)for(r=0;r\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=i.console&&(i.console.warn||i.console.log);return o&&o.call(i.console,r,n),t.apply(this,arguments)}}a="function"!=typeof Object.assign?function(t){if(t===l||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n-1}function O(t){return t.trim().split(/\s+/g)}function D(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var r=0;rn[e]}):r.sort()),r}function E(t,e){for(var n,r,i=e[0].toUpperCase()+e.slice(1),o=0;o1&&!n.firstMultiple?n.firstMultiple=et(e):1===i&&(n.firstMultiple=!1);var o=n.firstInput,s=n.firstMultiple,a=s?s.center:o.center,u=e.center=nt(r);e.timeStamp=f(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=st(a,u),e.distance=ot(a,u),function(t,e){var n=e.center,r=t.offsetDelta||{},i=t.prevDelta||{},o=t.prevInput||{};e.eventType!==N&&o.eventType!==V||(i=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},r=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=i.x+(n.x-r.x),e.deltaY=i.y+(n.y-r.y)}(n,e),e.offsetDirection=it(e.deltaX,e.deltaY);var c,d,h=rt(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=h.x,e.overallVelocityY=h.y,e.overallVelocity=p(h.x)>p(h.y)?h.x:h.y,e.scale=s?(c=s.pointers,ot((d=r)[0],d[1],Z)/ot(c[0],c[1],Z)):1,e.rotation=s?function(t,e){return st(r[1],r[0],Z)+st(t[1],t[0],Z)}(s.pointers):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,r,i,o,s=t.lastInterval||e,a=e.timeStamp-s.timeStamp;if(e.eventType!=B&&(a>F||s.velocity===l)){var u=e.deltaX-s.deltaX,c=e.deltaY-s.deltaY,d=rt(a,u,c);r=d.x,i=d.y,n=p(d.x)>p(d.y)?d.x:d.y,o=it(u,c),t.lastInterval=e}else n=s.velocity,r=s.velocityX,i=s.velocityY,o=s.direction;e.velocity=n,e.velocityX=r,e.velocityY=i,e.direction=o}(n,e);var _=t.element;S(e.srcEvent.target,_)&&(_=e.srcEvent.target),e.target=_}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function et(t){for(var e=[],n=0;n=p(e)?t<0?W:U:e<0?G:J}function ot(t,e,n){n||(n=X);var r=e[n[0]]-t[n[0]],i=e[n[1]]-t[n[1]];return Math.sqrt(r*r+i*i)}function st(t,e,n){return n||(n=X),180*Math.atan2(e[n[1]]-t[n[1]],e[n[0]]-t[n[0]])/Math.PI}$.prototype={handler:function(){},init:function(){this.evEl&&L(this.element,this.evEl,this.domHandler),this.evTarget&&L(this.target,this.evTarget,this.domHandler),this.evWin&&L(j(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&C(this.element,this.evEl,this.domHandler),this.evTarget&&C(this.target,this.evTarget,this.domHandler),this.evWin&&C(j(this.element),this.evWin,this.domHandler)}};var lt={mousedown:N,mousemove:2,mouseup:V},at="mousedown",ut="mousemove mouseup";function ct(){this.evEl=at,this.evWin=ut,this.pressed=!1,$.apply(this,arguments)}w(ct,$,{handler:function(t){var e=lt[t.type];e&N&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=V),this.pressed&&(e&V&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}});var dt={pointerdown:N,pointermove:2,pointerup:V,pointercancel:B,pointerout:B},ht={2:"touch",3:"pen",4:"mouse",5:"kinect"},pt="pointerdown",ft="pointermove pointerup pointercancel";function _t(){this.evEl=pt,this.evWin=ft,$.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}i.MSPointerEvent&&!i.PointerEvent&&(pt="MSPointerDown",ft="MSPointerMove MSPointerUp MSPointerCancel"),w(_t,$,{handler:function(t){var e=this.store,n=!1,r=t.type.toLowerCase().replace("ms",""),i=dt[r],o=ht[t.pointerType]||t.pointerType,s="touch"==o,l=D(e,t.pointerId,"pointerId");i&N&&(0===t.button||s)?l<0&&(e.push(t),l=e.length-1):i&(V|B)&&(n=!0),l<0||(e[l]=t,this.callback(this.manager,i,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),n&&e.splice(l,1))}});var mt={touchstart:N,touchmove:2,touchend:V,touchcancel:B},gt="touchstart",yt="touchstart touchmove touchend touchcancel";function vt(){this.evTarget=gt,this.evWin=yt,this.started=!1,$.apply(this,arguments)}w(vt,$,{handler:function(t){var e=mt[t.type];if(e===N&&(this.started=!0),this.started){var n=(function(t,e){var n=Y(t.touches),r=Y(t.changedTouches);return e&(V|B)&&(n=P(n.concat(r),"identifier",!0)),[n,r]}).call(this,t,e);e&(V|B)&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:"touch",srcEvent:t})}}});var bt={touchstart:N,touchmove:2,touchend:V,touchcancel:B},wt="touchstart touchmove touchend touchcancel";function Mt(){this.evTarget=wt,this.targetIds={},$.apply(this,arguments)}w(Mt,$,{handler:function(t){var e=bt[t.type],n=(function(t,e){var n=Y(t.touches),r=this.targetIds;if(e&(2|N)&&1===n.length)return r[n[0].identifier]=!0,[n,n];var i,o,s=Y(t.changedTouches),l=[],a=this.target;if(o=n.filter(function(t){return S(t.target,a)}),e===N)for(i=0;i-1&&r.splice(t,1)},kt)}}w(xt,$,{handler:function(t,e,n){var r="mouse"==n.pointerType;if(!(r&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents)){if("touch"==n.pointerType)(function(t,e){t&N?(this.primaryTouch=e.changedPointers[0].identifier,Lt.call(this,e)):t&(V|B)&&Lt.call(this,e)}).call(this,e,n);else if(r&&(function(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,r=0;r-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function r(n){e.manager.emit(n,t)}n=Et&&r(e.options.event+Rt(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&i&e.direction},attrTest:function(t){return Nt.prototype.attrTest.call(this,t)&&(this.state&Yt||!(this.state&Yt)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Ht(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),w(Bt,Nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&Yt)},emit:function(t){1!==t.scale&&(t.additionalEvent=this.options.event+(t.scale<1?"in":"out")),this._super.emit.call(this,t)}}),w(zt,It,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distancee.time;if(this._input=t,!r||!n||t.eventType&(V|B)&&!i)this.reset();else if(t.eventType&N)this.reset(),this._timer=_(function(){this.state=At,this.tryEmit()},e.time,this);else if(t.eventType&V)return At;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===At&&(t&&t.eventType&V?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=f(),this.manager.emit(this.options.event,this._input)))}}),w(Wt,Nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&Yt)}}),w(Ut,Nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:q|Q,pointers:1},getTouchAction:function(){return Vt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(q|Q)?e=t.overallVelocity:n&q?e=t.overallVelocityX:n&Q&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&p(e)>this.options.velocity&&t.eventType&V},emit:function(t){var e=Ht(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),w(Gt,It,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return["manipulation"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distance1&&t<5&&1!=~~(t/10)}function i(t,e,n,i){var o=t+" ";switch(n){case"s":return e||i?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return e||i?o+(r(t)?"sekundy":"sekund"):o+"sekundami";case"m":return e?"minuta":i?"minutu":"minutou";case"mm":return e||i?o+(r(t)?"minuty":"minut"):o+"minutami";case"h":return e?"hodina":i?"hodinu":"hodinou";case"hh":return e||i?o+(r(t)?"hodiny":"hodin"):o+"hodinami";case"d":return e||i?"den":"dnem";case"dd":return e||i?o+(r(t)?"dny":"dn\xed"):o+"dny";case"M":return e||i?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return e||i?o+(r(t)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):o+"m\u011bs\xedci";case"y":return e||i?"rok":"rokem";case"yy":return e||i?o+(r(t)?"roky":"let"):o+"lety"}}t.defineLocale("cs",{months:e,monthsShort:n,monthsParse:function(t,e){var n,r=[];for(n=0;n<12;n++)r[n]=new RegExp("^"+t[n]+"$|^"+e[n]+"$","i");return r}(e,n),shortMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(n),longMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(e),weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},svD2:function(t,e,n){!function(t){"use strict";var e={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};t.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mjesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("PJh5"))},t7NR:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r={closed:!0,next:function(t){},error:function(t){throw t},complete:function(){}}},tLDX:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("AMGY").a.Symbol,i="function"==typeof r&&"function"==typeof r.for?r.for("rxSubscriber"):"@@rxSubscriber"},tZ2B:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("TToO"),i=function(t){function e(){t.apply(this,arguments)}return Object(r.__extends)(e,t),e.prototype.notifyNext=function(t,e,n,r,i){this.destination.next(e)},e.prototype.notifyError=function(t,e){this.destination.error(t)},e.prototype.notifyComplete=function(t){this.destination.complete()},e}(n("OVmG").a)},tkWw:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-dz",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u0623\u062d_\u0625\u062b_\u062b\u0644\u0627_\u0623\u0631_\u062e\u0645_\u062c\u0645_\u0633\u0628".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:4}})}(n("PJh5"))},tzHd:function(t,e,n){!function(t){"use strict";t.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(t,e){switch(e){case"D":return t+(1===t?"er":"");default:case"M":case"Q":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n("PJh5"))},uSe8:function(t,e,n){!function(t){"use strict";var e=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],n=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"];t.defineLocale("ur",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(t){return"\u0634\u0627\u0645"===t},meridiem:function(t,e,n){return t<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(t){return t.replace(/\u060c/g,",")},postformat:function(t){return t.replace(/,/g,"\u060c")},week:{dow:1,doy:4}})}(n("PJh5"))},ulq9:function(t,e,n){!function(t){"use strict";function e(t,e,n){var r,i;return"m"===n?e?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":t+" "+(r=+t,i={ss:e?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:e?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[n].split("_"),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}var n=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i];t.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?\] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:n,longMonthsParse:n,shortMonthsParse:n,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430 \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",nextWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd [\u0432] LT":"[\u0412] dddd [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd [\u0432] LT"}},lastWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd [\u0432] LT":"[\u0412] dddd [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:e,m:e,mm:e,h:"\u0447\u0430\u0441",hh:e,d:"\u0434\u0435\u043d\u044c",dd:e,M:"\u043c\u0435\u0441\u044f\u0446",MM:e,y:"\u0433\u043e\u0434",yy:e},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(t){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(t)},meridiem:function(t,e,n){return t<4?"\u043d\u043e\u0447\u0438":t<12?"\u0443\u0442\u0440\u0430":t<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":return t+"-\u0439";case"D":return t+"-\u0433\u043e";case"w":case"W":return t+"-\u044f";default:return t}},week:{dow:1,doy:4}})}(n("PJh5"))},upln:function(t,e,n){!function(t){"use strict";function e(t){return t%100==11||t%10!=1}function n(t,n,r,i){var o=t+" ";switch(r){case"s":return n||i?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return e(t)?o+(n||i?"sek\xfandur":"sek\xfandum"):o+"sek\xfanda";case"m":return n?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return e(t)?o+(n||i?"m\xedn\xfatur":"m\xedn\xfatum"):n?o+"m\xedn\xfata":o+"m\xedn\xfatu";case"hh":return e(t)?o+(n||i?"klukkustundir":"klukkustundum"):o+"klukkustund";case"d":return n?"dagur":i?"dag":"degi";case"dd":return e(t)?n?o+"dagar":o+(i?"daga":"d\xf6gum"):n?o+"dagur":o+(i?"dag":"degi");case"M":return n?"m\xe1nu\xf0ur":i?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return e(t)?n?o+"m\xe1nu\xf0ir":o+(i?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):n?o+"m\xe1nu\xf0ur":o+(i?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return n||i?"\xe1r":"\xe1ri";case"yy":return e(t)?o+(n||i?"\xe1r":"\xe1rum"):o+(n||i?"\xe1r":"\xe1ri")}}t.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:n,ss:n,m:n,mm:n,h:"klukkustund",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))},uslO:function(t,e,n){var r={"./af":"3CJN","./af.js":"3CJN","./ar":"3MVc","./ar-dz":"tkWw","./ar-dz.js":"tkWw","./ar-kw":"j8cJ","./ar-kw.js":"j8cJ","./ar-ly":"wPpW","./ar-ly.js":"wPpW","./ar-ma":"dURR","./ar-ma.js":"dURR","./ar-sa":"7OnE","./ar-sa.js":"7OnE","./ar-tn":"BEem","./ar-tn.js":"BEem","./ar.js":"3MVc","./az":"eHwN","./az.js":"eHwN","./be":"3hfc","./be.js":"3hfc","./bg":"lOED","./bg.js":"lOED","./bm":"hng5","./bm.js":"hng5","./bn":"aM0x","./bn.js":"aM0x","./bo":"w2Hs","./bo.js":"w2Hs","./br":"OSsP","./br.js":"OSsP","./bs":"aqvp","./bs.js":"aqvp","./ca":"wIgY","./ca.js":"wIgY","./cs":"ssxj","./cs.js":"ssxj","./cv":"N3vo","./cv.js":"N3vo","./cy":"ZFGz","./cy.js":"ZFGz","./da":"YBA/","./da.js":"YBA/","./de":"DOkx","./de-at":"8v14","./de-at.js":"8v14","./de-ch":"Frex","./de-ch.js":"Frex","./de.js":"DOkx","./dv":"rIuo","./dv.js":"rIuo","./el":"CFqe","./el.js":"CFqe","./en-au":"Sjoy","./en-au.js":"Sjoy","./en-ca":"Tqun","./en-ca.js":"Tqun","./en-gb":"hPuz","./en-gb.js":"hPuz","./en-ie":"ALEw","./en-ie.js":"ALEw","./en-il":"QZk1","./en-il.js":"QZk1","./en-nz":"dyB6","./en-nz.js":"dyB6","./eo":"Nd3h","./eo.js":"Nd3h","./es":"LT9G","./es-do":"7MHZ","./es-do.js":"7MHZ","./es-us":"INcR","./es-us.js":"INcR","./es.js":"LT9G","./et":"XlWM","./et.js":"XlWM","./eu":"sqLM","./eu.js":"sqLM","./fa":"2pmY","./fa.js":"2pmY","./fi":"nS2h","./fi.js":"nS2h","./fo":"OVPi","./fo.js":"OVPi","./fr":"tzHd","./fr-ca":"bXQP","./fr-ca.js":"bXQP","./fr-ch":"VK9h","./fr-ch.js":"VK9h","./fr.js":"tzHd","./fy":"g7KF","./fy.js":"g7KF","./gd":"nLOz","./gd.js":"nLOz","./gl":"FuaP","./gl.js":"FuaP","./gom-latn":"+27R","./gom-latn.js":"+27R","./gu":"rtsW","./gu.js":"rtsW","./he":"Nzt2","./he.js":"Nzt2","./hi":"ETHv","./hi.js":"ETHv","./hr":"V4qH","./hr.js":"V4qH","./hu":"xne+","./hu.js":"xne+","./hy-am":"GrS7","./hy-am.js":"GrS7","./id":"yRTJ","./id.js":"yRTJ","./is":"upln","./is.js":"upln","./it":"FKXc","./it.js":"FKXc","./ja":"ORgI","./ja.js":"ORgI","./jv":"JwiF","./jv.js":"JwiF","./ka":"RnJI","./ka.js":"RnJI","./kk":"j+vx","./kk.js":"j+vx","./km":"5j66","./km.js":"5j66","./kn":"gEQe","./kn.js":"gEQe","./ko":"eBB/","./ko.js":"eBB/","./ky":"6cf8","./ky.js":"6cf8","./lb":"z3hR","./lb.js":"z3hR","./lo":"nE8X","./lo.js":"nE8X","./lt":"/6P1","./lt.js":"/6P1","./lv":"jxEH","./lv.js":"jxEH","./me":"svD2","./me.js":"svD2","./mi":"gEU3","./mi.js":"gEU3","./mk":"Ab7C","./mk.js":"Ab7C","./ml":"oo1B","./ml.js":"oo1B","./mr":"5vPg","./mr.js":"5vPg","./ms":"ooba","./ms-my":"G++c","./ms-my.js":"G++c","./ms.js":"ooba","./mt":"oCzW","./mt.js":"oCzW","./my":"F+2e","./my.js":"F+2e","./nb":"FlzV","./nb.js":"FlzV","./ne":"/mhn","./ne.js":"/mhn","./nl":"3K28","./nl-be":"Bp2f","./nl-be.js":"Bp2f","./nl.js":"3K28","./nn":"C7av","./nn.js":"C7av","./pa-in":"pfs9","./pa-in.js":"pfs9","./pl":"7LV+","./pl.js":"7LV+","./pt":"ZoSI","./pt-br":"AoDM","./pt-br.js":"AoDM","./pt.js":"ZoSI","./ro":"wT5f","./ro.js":"wT5f","./ru":"ulq9","./ru.js":"ulq9","./sd":"fW1y","./sd.js":"fW1y","./se":"5Omq","./se.js":"5Omq","./si":"Lgqo","./si.js":"Lgqo","./sk":"OUMt","./sk.js":"OUMt","./sl":"2s1U","./sl.js":"2s1U","./sq":"V0td","./sq.js":"V0td","./sr":"f4W3","./sr-cyrl":"c1x4","./sr-cyrl.js":"c1x4","./sr.js":"f4W3","./ss":"7Q8x","./ss.js":"7Q8x","./sv":"Fpqq","./sv.js":"Fpqq","./sw":"DSXN","./sw.js":"DSXN","./ta":"+7/x","./ta.js":"+7/x","./te":"Nlnz","./te.js":"Nlnz","./tet":"gUgh","./tet.js":"gUgh","./tg":"5SNd","./tg.js":"5SNd","./th":"XzD+","./th.js":"XzD+","./tl-ph":"3LKG","./tl-ph.js":"3LKG","./tlh":"m7yE","./tlh.js":"m7yE","./tr":"k+5o","./tr.js":"k+5o","./tzl":"iNtv","./tzl.js":"iNtv","./tzm":"FRPF","./tzm-latn":"krPU","./tzm-latn.js":"krPU","./tzm.js":"FRPF","./ug-cn":"To0v","./ug-cn.js":"To0v","./uk":"ntHu","./uk.js":"ntHu","./ur":"uSe8","./ur.js":"uSe8","./uz":"XU1s","./uz-latn":"/bsm","./uz-latn.js":"/bsm","./uz.js":"XU1s","./vi":"0X8Q","./vi.js":"0X8Q","./x-pseudo":"e/KL","./x-pseudo.js":"e/KL","./yo":"YXlc","./yo.js":"YXlc","./zh-cn":"Vz2w","./zh-cn.js":"Vz2w","./zh-hk":"ZUyn","./zh-hk.js":"ZUyn","./zh-tw":"BbgG","./zh-tw.js":"BbgG"};function i(t){return n(o(t))}function o(t){var e=r[t];if(!(e+1))throw new Error("Cannot find module '"+t+"'.");return e}i.keys=function(){return Object.keys(r)},i.resolve=o,t.exports=i,i.id="uslO"},w2Hs:function(t,e,n){!function(t){"use strict";var e={1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"},n={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};t.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(t){return t.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(t,e){return 12===t&&(t=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===e&&t>=4||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===e&&t<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===e?t+12:t},meridiem:function(t,e,n){return t<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":t<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":t<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":t<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}})}(n("PJh5"))},wIgY:function(t,e,n){!function(t){"use strict";t.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(t,e){var n=1===t?"r":2===t?"n":3===t?"r":4===t?"t":"\xe8";return"w"!==e&&"W"!==e||(n="a"),t+n},week:{dow:1,doy:4}})}(n("PJh5"))},wPpW:function(t,e,n){!function(t){"use strict";var e={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},r={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},i=function(t){return function(e,i,o,s){var l=n(e),a=r[t][n(e)];return 2===l&&(a=a[i?0:1]),a.replace(/%d/i,e)}},o=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];t.defineLocale("ar-ly",{months:o,monthsShort:o,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(t){return"\u0645"===t},meridiem:function(t,e,n){return t<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:i("s"),ss:i("s"),m:i("m"),mm:i("m"),h:i("h"),hh:i("h"),d:i("d"),dd:i("d"),M:i("M"),MM:i("M"),y:i("y"),yy:i("y")},preparse:function(t){return t.replace(/\u060c/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(n("PJh5"))},wT5f:function(t,e,n){!function(t){"use strict";function e(t,e,n){var r=" ";return(t%100>=20||t>=100&&t%100==0)&&(r=" de "),t+r+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[n]}t.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:e,m:"un minut",mm:e,h:"o or\u0103",hh:e,d:"o zi",dd:e,M:"o lun\u0103",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}})}(n("PJh5"))},x35b:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n("WT6e"),i={nodeUrl:"/api/v1/",production:!0,tellerUrl:"https://event.skycoin.net/api/"},o=(n("rxKx"),n("TToO")),s=n("YaPU"),l=function(){},a=new r.r("Location Initialized"),u=function(){},c=new r.r("appBaseHref"),d=function(){function t(e){var n=this;this._subject=new r.o,this._platformStrategy=e;var i=this._platformStrategy.getBaseHref();this._baseHref=t.stripTrailingSlash(h(i)),this._platformStrategy.onPopState(function(t){n._subject.emit({url:n.path(!0),pop:!0,type:t.type})})}return t.prototype.path=function(t){return void 0===t&&(t=!1),this.normalize(this._platformStrategy.path(t))},t.prototype.isCurrentPathEqualTo=function(e,n){return void 0===n&&(n=""),this.path()==this.normalize(e+t.normalizeQueryParams(n))},t.prototype.normalize=function(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,h(e)))},t.prototype.prepareExternalUrl=function(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)},t.prototype.go=function(t,e){void 0===e&&(e=""),this._platformStrategy.pushState(null,"",t,e)},t.prototype.replaceState=function(t,e){void 0===e&&(e=""),this._platformStrategy.replaceState(null,"",t,e)},t.prototype.forward=function(){this._platformStrategy.forward()},t.prototype.back=function(){this._platformStrategy.back()},t.prototype.subscribe=function(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})},t.normalizeQueryParams=function(t){return t&&"?"!==t[0]?"?"+t:t},t.joinWithSlash=function(t,e){if(0==t.length)return e;if(0==e.length)return t;var n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e},t.stripTrailingSlash=function(t){var e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)},t}();function h(t){return t.replace(/\/index.html$/,"")}var p=function(t){function e(e,n){var r=t.call(this)||this;return r._platformLocation=e,r._baseHref="",null!=n&&(r._baseHref=n),r}return Object(o.__extends)(e,t),e.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},e.prototype.getBaseHref=function(){return this._baseHref},e.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.hash;return null==e&&(e="#"),e.length>0?e.substring(1):e},e.prototype.prepareExternalUrl=function(t){var e=d.joinWithSlash(this._baseHref,t);return e.length>0?"#"+e:e},e.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+d.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.pushState(t,e,i)},e.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+d.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.replaceState(t,e,i)},e.prototype.forward=function(){this._platformLocation.forward()},e.prototype.back=function(){this._platformLocation.back()},e}(u),f=function(t){function e(e,n){var r=t.call(this)||this;if(r._platformLocation=e,null==n&&(n=r._platformLocation.getBaseHrefFromDOM()),null==n)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");return r._baseHref=n,r}return Object(o.__extends)(e,t),e.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},e.prototype.getBaseHref=function(){return this._baseHref},e.prototype.prepareExternalUrl=function(t){return d.joinWithSlash(this._baseHref,t)},e.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.pathname+d.normalizeQueryParams(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?""+e+n:e},e.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+d.normalizeQueryParams(r));this._platformLocation.pushState(t,e,i)},e.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+d.normalizeQueryParams(r));this._platformLocation.replaceState(t,e,i)},e.prototype.forward=function(){this._platformLocation.forward()},e.prototype.back=function(){this._platformLocation.back()},e}(u),_={AOA:[,"Kz"],ARS:[,"$"],AUD:["A$","$"],BAM:[,"KM"],BBD:[,"$"],BDT:[,"\u09f3"],BMD:[,"$"],BND:[,"$"],BOB:[,"Bs"],BRL:["R$"],BSD:[,"$"],BWP:[,"P"],BYN:[,"\u0440."],BZD:[,"$"],CAD:["CA$","$"],CLP:[,"$"],CNY:["CN\xa5","\xa5"],COP:[,"$"],CRC:[,"\u20a1"],CUC:[,"$"],CUP:[,"$"],CZK:[,"K\u010d"],DKK:[,"kr"],DOP:[,"$"],EGP:[,"E\xa3"],ESP:[,"\u20a7"],EUR:["\u20ac"],FJD:[,"$"],FKP:[,"\xa3"],GBP:["\xa3"],GEL:[,"\u20be"],GIP:[,"\xa3"],GNF:[,"FG"],GTQ:[,"Q"],GYD:[,"$"],HKD:["HK$","$"],HNL:[,"L"],HRK:[,"kn"],HUF:[,"Ft"],IDR:[,"Rp"],ILS:["\u20aa"],INR:["\u20b9"],ISK:[,"kr"],JMD:[,"$"],JPY:["\xa5"],KHR:[,"\u17db"],KMF:[,"CF"],KPW:[,"\u20a9"],KRW:["\u20a9"],KYD:[,"$"],KZT:[,"\u20b8"],LAK:[,"\u20ad"],LBP:[,"L\xa3"],LKR:[,"Rs"],LRD:[,"$"],LTL:[,"Lt"],LVL:[,"Ls"],MGA:[,"Ar"],MMK:[,"K"],MNT:[,"\u20ae"],MUR:[,"Rs"],MXN:["MX$","$"],MYR:[,"RM"],NAD:[,"$"],NGN:[,"\u20a6"],NIO:[,"C$"],NOK:[,"kr"],NPR:[,"Rs"],NZD:["NZ$","$"],PHP:[,"\u20b1"],PKR:[,"Rs"],PLN:[,"z\u0142"],PYG:[,"\u20b2"],RON:[,"lei"],RUB:[,"\u20bd"],RUR:[,"\u0440."],RWF:[,"RF"],SBD:[,"$"],SEK:[,"kr"],SGD:[,"$"],SHP:[,"\xa3"],SRD:[,"$"],SSP:[,"\xa3"],STD:[,"Db"],SYP:[,"\xa3"],THB:[,"\u0e3f"],TOP:[,"T$"],TRY:[,"\u20ba"],TTD:[,"$"],TWD:["NT$","$"],UAH:[,"\u20b4"],USD:["$"],UYU:[,"$"],VEF:[,"Bs"],VND:["\u20ab"],XAF:["FCFA"],XCD:["EC$","$"],XOF:["CFA"],XPF:["CFPF"],ZAR:[,"R"],ZMW:[,"ZK"]},m=["en",[["a","p"],["AM","PM"]],[["AM","PM"],,],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",,"{1} 'at' {0}"],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"$","US Dollar",function(t){var e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}],g={},y=function(){var t={Decimal:0,Percent:1,Currency:2,Scientific:3};return t[t.Decimal]="Decimal",t[t.Percent]="Percent",t[t.Currency]="Currency",t[t.Scientific]="Scientific",t}(),v=function(){var t={Zero:0,One:1,Two:2,Few:3,Many:4,Other:5};return t[t.Zero]="Zero",t[t.One]="One",t[t.Two]="Two",t[t.Few]="Few",t[t.Many]="Many",t[t.Other]="Other",t}(),b=function(){var t={Format:0,Standalone:1};return t[t.Format]="Format",t[t.Standalone]="Standalone",t}(),w=function(){var t={Narrow:0,Abbreviated:1,Wide:2,Short:3};return t[t.Narrow]="Narrow",t[t.Abbreviated]="Abbreviated",t[t.Wide]="Wide",t[t.Short]="Short",t}(),M=function(){var t={Short:0,Medium:1,Long:2,Full:3};return t[t.Short]="Short",t[t.Medium]="Medium",t[t.Long]="Long",t[t.Full]="Full",t}(),k=function(){var t={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};return t[t.Decimal]="Decimal",t[t.Group]="Group",t[t.List]="List",t[t.PercentSign]="PercentSign",t[t.PlusSign]="PlusSign",t[t.MinusSign]="MinusSign",t[t.Exponential]="Exponential",t[t.SuperscriptingExponent]="SuperscriptingExponent",t[t.PerMille]="PerMille",t[t.Infinity]="Infinity",t[t.NaN]="NaN",t[t.TimeSeparator]="TimeSeparator",t[t.CurrencyDecimal]="CurrencyDecimal",t[t.CurrencyGroup]="CurrencyGroup",t}();function x(t,e){return Y(t)[10][e]}function L(t,e){return Y(t)[11][e]}function C(t,e){return O(Y(t)[12],e)}function S(t,e){var n=Y(t),r=n[13][e];if("undefined"==typeof r){if(e===k.CurrencyDecimal)return n[13][k.Decimal];if(e===k.CurrencyGroup)return n[13][k.Group]}return r}function T(t){if(!t[18])throw new Error('Missing extra locale data for the locale "'+t[0]+'". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.')}function O(t,e){for(var n=e;n>-1;n--)if("undefined"!=typeof t[n])return t[n];throw new Error("Locale data API: locale data undefined")}function D(t){var e=t.split(":");return{hours:+e[0],minutes:+e[1]}}function Y(t){var e=t.toLowerCase().replace(/_/g,"-"),n=g[e];if(n)return n;var r=e.split("-")[0];if(n=g[r])return n;if("en"===r)return m;throw new Error('Missing locale data for the locale "'+t+'".')}var P=new r.r("UseV4Plurals"),E=function(){},A=function(t){function e(e,n){var r=t.call(this)||this;return r.locale=e,r.deprecatedPluralFn=n,r}return Object(o.__extends)(e,t),e.prototype.getPluralCategory=function(t,e){switch(this.deprecatedPluralFn?this.deprecatedPluralFn(e||this.locale,t):function(t){return Y(t)[17]}(e||this.locale)(t)){case v.Zero:return"zero";case v.One:return"one";case v.Two:return"two";case v.Few:return"few";case v.Many:return"many";default:return"other"}},e}(E);function j(t,e){e=encodeURIComponent(e);for(var n=0,r=t.split(";");n0||l>-n)&&(l+=n),t===K.Hours&&0===l&&-12===n&&(l=12),$(l,e,S(s,k.MinusSign),r,i)}}function et(t,e,n,r){return void 0===n&&(n=b.Format),void 0===r&&(r=!1),function(i,o){return function(t,e,n,r,i,o){switch(n){case X.Months:return function(t,e,n){var r=Y(t);return O(O([r[5],r[6]],e),n)}(e,i,r)[t.getMonth()];case X.Days:return function(t,e,n){var r=Y(t);return O(O([r[3],r[4]],e),n)}(e,i,r)[t.getDay()];case X.DayPeriods:var s=t.getHours(),l=t.getMinutes();if(o){var a,u=function(t){var e=Y(t);return T(e),(e[18][2]||[]).map(function(t){return"string"==typeof t?D(t):[D(t[0]),D(t[1])]})}(e),c=function(t,e,n){var r=Y(t);return T(r),O(O([r[18][0],r[18][1]],e)||[],n)||[]}(e,i,r);if(u.forEach(function(t,e){if(Array.isArray(t)){var n=t[0],r=t[1],i=r.hours;s>=n.hours&&l>=n.minutes&&(s0?Math.floor(i/60):Math.ceil(i/60);switch(t){case Q.Short:return(i>=0?"+":"")+$(s,2,o)+$(Math.abs(i%60),2,o);case Q.ShortGMT:return"GMT"+(i>=0?"+":"")+$(s,1,o);case Q.Long:return"GMT"+(i>=0?"+":"")+$(s,2,o)+":"+$(Math.abs(i%60),2,o);case Q.Extended:return 0===r?"Z":(i>=0?"+":"")+$(s,2,o)+":"+$(Math.abs(i%60),2,o);default:throw new Error('Unknown zone width "'+t+'"')}}}var rt=0,it=4;function ot(t,e){return void 0===e&&(e=!1),function(n,r){var i,o,s,l;if(e){var a=new Date(n.getFullYear(),n.getMonth(),1).getDay()-1,u=n.getDate();i=1+Math.floor((u+a)/7)}else{var c=(s=n.getFullYear(),l=new Date(s,rt,1).getDay(),new Date(s,0,1+(l<=it?it:it+7)-l)),d=(o=n,new Date(o.getFullYear(),o.getMonth(),o.getDate()+(it-o.getDay()))).getTime()-c.getTime();i=1+Math.round(d/6048e5)}return $(i,t,S(r,k.MinusSign))}}var st={};function lt(t,e){t=t.replace(/:/g,"");var n=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(n)?e:n}function at(t,e){return Error("InvalidPipeArgument: '"+e+"' for pipe '"+Object(r._30)(t)+"'")}var ut=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,ct=function(){function t(t){this.locale=t}return t.prototype.transform=function(e,n,r,i){if(void 0===n&&(n="mediumDate"),null==e||""===e||e!=e)return null;var o;if("string"==typeof e&&(e=e.trim()),dt(e))o=e;else if(isNaN(e-parseFloat(e)))if("string"==typeof e&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(e)){var s=e.split("-").map(function(t){return+t});o=new Date(s[0],s[1]-1,s[2])}else o=new Date(e);else o=new Date(parseFloat(e));if(!dt(o)){var l=void 0;if("string"!=typeof e||!(l=e.match(ut)))throw at(t,e);o=function(t){var e=new Date(0),n=0,r=0,i=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=+(t[9]+t[10]),r=+(t[9]+t[11])),(t[8]?e.setUTCFullYear:e.setFullYear).call(e,+t[1],+t[2]-1,+t[3]);var o=+(t[4]||"0")-n,s=+(t[5]||"0")-r,l=+(t[6]||"0"),a=Math.round(1e3*parseFloat("0."+(t[7]||0)));return i.call(e,o,s,l,a),e}(l)}return function(t,e,n,r){e=function t(e,n){var r=function(t){return Y(t)[0]}(e);if(J[r]=J[r]||{},J[r][n])return J[r][n];var i="";switch(n){case"shortDate":i=x(e,M.Short);break;case"mediumDate":i=x(e,M.Medium);break;case"longDate":i=x(e,M.Long);break;case"fullDate":i=x(e,M.Full);break;case"shortTime":i=L(e,M.Short);break;case"mediumTime":i=L(e,M.Medium);break;case"longTime":i=L(e,M.Long);break;case"fullTime":i=L(e,M.Full);break;case"short":var o=t(e,"shortTime"),s=t(e,"shortDate");i=Z(C(e,M.Short),[o,s]);break;case"medium":var l=t(e,"mediumTime"),a=t(e,"mediumDate");i=Z(C(e,M.Medium),[l,a]);break;case"long":var u=t(e,"longTime"),c=t(e,"longDate");i=Z(C(e,M.Long),[u,c]);break;case"full":var d=t(e,"fullTime"),h=t(e,"fullDate");i=Z(C(e,M.Full),[d,h])}return i&&(J[r][n]=i),i}(n,e)||e;for(var i,o=[];e;){if(!(i=q.exec(e))){o.push(e);break}var s=(o=o.concat(i.slice(1))).pop();if(!s)break;e=s}var l=t.getTimezoneOffset();r&&(l=lt(r,l),t=function(t,e,n){var r=t.getTimezoneOffset();return function(t,e){return(t=new Date(t.getTime())).setMinutes(t.getMinutes()+e),t}(t,-1*(lt(e,r)-r))}(t,r));var a="";return o.forEach(function(e){var r=function(t){if(st[t])return st[t];var e;switch(t){case"G":case"GG":case"GGG":e=et(X.Eras,w.Abbreviated);break;case"GGGG":e=et(X.Eras,w.Wide);break;case"GGGGG":e=et(X.Eras,w.Narrow);break;case"y":e=tt(K.FullYear,1,0,!1,!0);break;case"yy":e=tt(K.FullYear,2,0,!0,!0);break;case"yyy":e=tt(K.FullYear,3,0,!1,!0);break;case"yyyy":e=tt(K.FullYear,4,0,!1,!0);break;case"M":case"L":e=tt(K.Month,1,1);break;case"MM":case"LL":e=tt(K.Month,2,1);break;case"MMM":e=et(X.Months,w.Abbreviated);break;case"MMMM":e=et(X.Months,w.Wide);break;case"MMMMM":e=et(X.Months,w.Narrow);break;case"LLL":e=et(X.Months,w.Abbreviated,b.Standalone);break;case"LLLL":e=et(X.Months,w.Wide,b.Standalone);break;case"LLLLL":e=et(X.Months,w.Narrow,b.Standalone);break;case"w":e=ot(1);break;case"ww":e=ot(2);break;case"W":e=ot(1,!0);break;case"d":e=tt(K.Date,1);break;case"dd":e=tt(K.Date,2);break;case"E":case"EE":case"EEE":e=et(X.Days,w.Abbreviated);break;case"EEEE":e=et(X.Days,w.Wide);break;case"EEEEE":e=et(X.Days,w.Narrow);break;case"EEEEEE":e=et(X.Days,w.Short);break;case"a":case"aa":case"aaa":e=et(X.DayPeriods,w.Abbreviated);break;case"aaaa":e=et(X.DayPeriods,w.Wide);break;case"aaaaa":e=et(X.DayPeriods,w.Narrow);break;case"b":case"bb":case"bbb":e=et(X.DayPeriods,w.Abbreviated,b.Standalone,!0);break;case"bbbb":e=et(X.DayPeriods,w.Wide,b.Standalone,!0);break;case"bbbbb":e=et(X.DayPeriods,w.Narrow,b.Standalone,!0);break;case"B":case"BB":case"BBB":e=et(X.DayPeriods,w.Abbreviated,b.Format,!0);break;case"BBBB":e=et(X.DayPeriods,w.Wide,b.Format,!0);break;case"BBBBB":e=et(X.DayPeriods,w.Narrow,b.Format,!0);break;case"h":e=tt(K.Hours,1,-12);break;case"hh":e=tt(K.Hours,2,-12);break;case"H":e=tt(K.Hours,1);break;case"HH":e=tt(K.Hours,2);break;case"m":e=tt(K.Minutes,1);break;case"mm":e=tt(K.Minutes,2);break;case"s":e=tt(K.Seconds,1);break;case"ss":e=tt(K.Seconds,2);break;case"S":e=tt(K.Milliseconds,1);break;case"SS":e=tt(K.Milliseconds,2);break;case"SSS":e=tt(K.Milliseconds,3);break;case"Z":case"ZZ":case"ZZZ":e=nt(Q.Short);break;case"ZZZZZ":e=nt(Q.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":e=nt(Q.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":e=nt(Q.Long);break;default:return null}return st[t]=e,e}(e);a+=r?r(t,n,l):"''"===e?"'":e.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),a}(o,n,i||this.locale,r)},t}();function dt(t){return t instanceof Date&&!isNaN(t.valueOf())}var ht=/^(\d+)?\.((\d+)(-(\d+))?)?$/,pt=22,ft=".",_t="0",mt=";",gt=",",yt="#",vt="\xa4",bt="%";function wt(t,e,n,r,i){void 0===i&&(i=null);var o,s={str:null},l=function(t,e){return Y(t)[14][e]}(e,n);if("string"!=typeof t||isNaN(+t-parseFloat(t))){if("number"!=typeof t)return s.error=t+" is not a number",s;o=t}else o=+t;var a=function(t,e){void 0===e&&(e="-");var n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},r=t.split(mt),i=r[0],o=r[1],s=-1!==i.indexOf(ft)?i.split(ft):[i.substring(0,i.lastIndexOf(_t)+1),i.substring(i.lastIndexOf(_t)+1)],l=s[0],a=s[1]||"";n.posPre=l.substr(0,l.indexOf(yt));for(var u=0;u-1&&(s=s.replace(ft,"")),(r=s.search(/e/i))>0?(n<0&&(n=r),n+=+s.slice(r+1),s=s.substring(0,r)):n<0&&(n=s.length),r=0;s.charAt(r)===_t;r++);if(r===(o=s.length))e=[0],n=1;else{for(o--;s.charAt(o)===_t;)o--;for(n-=r,e=[],i=0;r<=o;r++,i++)e[i]=+s.charAt(r)}return n>pt&&(e=e.splice(0,pt-1),l=n-1,n=1),{digits:e,exponent:l,integerLen:n}}(o);n===y.Percent&&(d=function(t){if(0===t.digits[0])return t;var e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(d));var h=a.minInt,p=a.minFrac,f=a.maxFrac;if(r){var _=r.match(ht);if(null===_)return s.error=r+" is not a valid digit info",s;var m=_[1],g=_[3],v=_[5];null!=m&&(h=Mt(m)),null!=g&&(p=Mt(g)),null!=v?f=Mt(v):null!=g&&p>f&&(f=p)}!function(t,e,n){if(e>n)throw new Error("The minimum number of digits after fraction ("+e+") is higher than the maximum ("+n+").");var r=t.digits,i=r.length-t.integerLen,o=Math.min(Math.max(e,i),n),s=o+t.integerLen,l=r[s];if(s>0){r.splice(Math.max(t.integerLen,s));for(var a=s;a=5)if(s-1<0){for(var c=0;c>s;c--)r.unshift(0),t.integerLen++;r.unshift(1),t.integerLen++}else r[s-1]++;for(;i=h?r.pop():d=!1),e>=10?1:0},0);p&&(r.unshift(p),t.integerLen++)}(d,p,f);var b=d.digits,w=d.integerLen,M=d.exponent,x=[];for(c=b.every(function(t){return!t});w0?x=b.splice(w,b.length):(x=b,b=[0]);var L=[];for(b.length>=a.lgSize&&L.unshift(b.splice(-a.lgSize,b.length).join(""));b.length>a.gSize;)L.unshift(b.splice(-a.gSize,b.length).join(""));b.length&&L.unshift(b.join("")),u=L.join(S(e,i?k.CurrencyGroup:k.Group)),x.length&&(u+=S(e,i?k.CurrencyDecimal:k.Decimal)+x.join("")),M&&(u+=S(e,k.Exponential)+"+"+M)}else u=S(e,k.Infinity);return u=o<0&&!c?a.negPre+u+a.negSuf:a.posPre+u+a.posSuf,n===y.Currency&&null!==i?(s.str=u.replace(vt,i).replace(vt,""),s):n===y.Percent?(s.str=u.replace(new RegExp(bt,"g"),S(e,k.PercentSign)),s):(s.str=u,s)}function Mt(t){var e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}var kt=function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.subscribe({next:e,error:function(t){throw t}})},t.prototype.dispose=function(t){t.unsubscribe()},t.prototype.onDestroy=function(t){t.unsubscribe()},t}(),xt=new(function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.then(e,function(t){throw t})},t.prototype.dispose=function(t){},t.prototype.onDestroy=function(t){},t}()),Lt=new kt,Ct=function(){function t(t){this._ref=t,this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null}return t.prototype.ngOnDestroy=function(){this._subscription&&this._dispose()},t.prototype.transform=function(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue===this._latestReturnedValue?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,r.T.wrap(this._latestValue)):(t&&this._subscribe(t),this._latestReturnedValue=this._latestValue,this._latestValue)},t.prototype._subscribe=function(t){var e=this;this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,function(n){return e._updateLatestValue(t,n)})},t.prototype._selectStrategy=function(e){if(Object(r._15)(e))return xt;if(Object(r._14)(e))return Lt;throw at(t,e)},t.prototype._dispose=function(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null},t.prototype._updateLatestValue=function(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())},t}(),St=function(){function t(t){this._locale=t}return t.prototype.transform=function(e,n,r){if(Dt(e))return null;var i=wt(e,r=r||this._locale,y.Decimal,n),o=i.str,s=i.error;if(s)throw at(t,s);return o},t}(),Tt=function(){function t(t){this._locale=t}return t.prototype.transform=function(e,n,r){if(Dt(e))return null;var i=wt(e,r=r||this._locale,y.Percent,n),o=i.str,s=i.error;if(s)throw at(t,s);return o},t}(),Ot=function(){function t(t){this._locale=t}return t.prototype.transform=function(e,n,r,i,o){if(void 0===r&&(r="symbol"),Dt(e))return null;o=o||this._locale,"boolean"==typeof r&&(console&&console.warn&&console.warn('Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are "code", "symbol" or "symbol-narrow".'),r=r?"symbol":"code");var s=n||"USD";"code"!==r&&(s=function(t,e){var n=_[t]||[],i=n[1];return"narrow"==("symbol"===r?"wide":"narrow")&&"string"==typeof i?i:n[0]||t}(s));var l=wt(e,o,y.Currency,i,s),a=l.str,u=l.error;if(u)throw at(t,u);return a},t}();function Dt(t){return null==t||""===t||t!=t}var Yt=function(){},Pt=new r.r("DocumentToken"),Et=null;function At(){return Et}var jt,It={class:"className",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},Rt={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Ht={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"};r._10.Node&&(jt=r._10.Node.prototype.contains||function(t){return!!(16&this.compareDocumentPosition(t))});var Ft,Nt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.__extends)(e,t),e.prototype.parse=function(t){throw new Error("parse not implemented")},e.makeCurrent=function(){var t;t=new e,Et||(Et=t)},e.prototype.hasProperty=function(t,e){return e in t},e.prototype.setProperty=function(t,e,n){t[e]=n},e.prototype.getProperty=function(t,e){return t[e]},e.prototype.invoke=function(t,e,n){var r;(r=t)[e].apply(r,n)},e.prototype.logError=function(t){window.console&&(console.error?console.error(t):console.log(t))},e.prototype.log=function(t){window.console&&window.console.log&&window.console.log(t)},e.prototype.logGroup=function(t){window.console&&window.console.group&&window.console.group(t)},e.prototype.logGroupEnd=function(){window.console&&window.console.groupEnd&&window.console.groupEnd()},Object.defineProperty(e.prototype,"attrToPropMap",{get:function(){return It},enumerable:!0,configurable:!0}),e.prototype.contains=function(t,e){return jt.call(t,e)},e.prototype.querySelector=function(t,e){return t.querySelector(e)},e.prototype.querySelectorAll=function(t,e){return t.querySelectorAll(e)},e.prototype.on=function(t,e,n){t.addEventListener(e,n,!1)},e.prototype.onAndCancel=function(t,e,n){return t.addEventListener(e,n,!1),function(){t.removeEventListener(e,n,!1)}},e.prototype.dispatchEvent=function(t,e){t.dispatchEvent(e)},e.prototype.createMouseEvent=function(t){var e=this.getDefaultDocument().createEvent("MouseEvent");return e.initEvent(t,!0,!0),e},e.prototype.createEvent=function(t){var e=this.getDefaultDocument().createEvent("Event");return e.initEvent(t,!0,!0),e},e.prototype.preventDefault=function(t){t.preventDefault(),t.returnValue=!1},e.prototype.isPrevented=function(t){return t.defaultPrevented||null!=t.returnValue&&!t.returnValue},e.prototype.getInnerHTML=function(t){return t.innerHTML},e.prototype.getTemplateContent=function(t){return"content"in t&&this.isTemplateElement(t)?t.content:null},e.prototype.getOuterHTML=function(t){return t.outerHTML},e.prototype.nodeName=function(t){return t.nodeName},e.prototype.nodeValue=function(t){return t.nodeValue},e.prototype.type=function(t){return t.type},e.prototype.content=function(t){return this.hasProperty(t,"content")?t.content:t},e.prototype.firstChild=function(t){return t.firstChild},e.prototype.nextSibling=function(t){return t.nextSibling},e.prototype.parentElement=function(t){return t.parentNode},e.prototype.childNodes=function(t){return t.childNodes},e.prototype.childNodesAsList=function(t){for(var e=t.childNodes,n=new Array(e.length),r=0;r0},e.prototype.tagName=function(t){return t.tagName},e.prototype.attributeMap=function(t){for(var e=new Map,n=t.attributes,r=0;r0;l||(l=t[s]=[]);var u=Me(e)?Zone.root:Zone.current;if(0===l.length)l.push({zone:u,handler:o});else{for(var c=!1,d=0;d-1},e}(ee),Oe=["alt","control","meta","shift"],De={alt:function(t){return t.altKey},control:function(t){return t.ctrlKey},meta:function(t){return t.metaKey},shift:function(t){return t.shiftKey}},Ye=function(t){function e(e){return t.call(this,e)||this}return Object(o.__extends)(e,t),e.prototype.supports=function(t){return null!=e.parseEventName(t)},e.prototype.addEventListener=function(t,n,r){var i=e.parseEventName(n),o=e.eventCallback(i.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(function(){return At().onAndCancel(t,i.domEventName,o)})},e.parseEventName=function(t){var n=t.toLowerCase().split("."),r=n.shift();if(0===n.length||"keydown"!==r&&"keyup"!==r)return null;var i=e._normalizeKey(n.pop()),o="";if(Oe.forEach(function(t){var e=n.indexOf(t);e>-1&&(n.splice(e,1),o+=t+".")}),o+=i,0!=n.length||0===i.length)return null;var s={};return s.domEventName=r,s.fullKey=o,s},e.getEventFullKey=function(t){var e="",n=At().getEventKey(t);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),Oe.forEach(function(r){r!=n&&(0,De[r])(t)&&(e+=r+".")}),e+=n},e.eventCallback=function(t,n,r){return function(i){e.getEventFullKey(i)===t&&r.runGuarded(function(){return n(i)})}},e._normalizeKey=function(t){switch(t){case"esc":return"escape";default:return t}},e}(ee),Pe=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,Ee=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function Ae(t){return(t=String(t)).match(Pe)||t.match(Ee)?t:(Object(r.Y)()&&At().log("WARNING: sanitizing unsafe URL value "+t+" (see http://g.co/ng/security#xss)"),"unsafe:"+t)}var je=null,Ie=null;function Re(t){for(var e={},n=0,r=t.split(",");n")):this.sanitizedSomething=!0},t.prototype.endElement=function(t){var e=Ie.nodeName(t).toLowerCase();ze.hasOwnProperty(e)&&!Fe.hasOwnProperty(e)&&(this.buf.push(""))},t.prototype.chars=function(t){this.buf.push(Xe(t))},t}();function qe(t,e){if(e&&Ie.contains(t,e))throw new Error("Failed to sanitize html because the element is clobbered: "+Ie.getOuterHTML(t));return e}var Qe=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Ke=/([^\#-~ |!])/g;function Xe(t){return t.replace(/&/g,"&").replace(Qe,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(Ke,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}function Ze(t){Ie.attributeMap(t).forEach(function(e,n){"xmlns:ns1"!==n&&0!==n.indexOf("ns1:")||Ie.removeAttribute(t,n)});for(var e=0,n=Ie.childNodesAsList(t);e0){var r=t.slice(0,e),i=t.slice(e+1).trim();n.set(r,i)}}),n},t.prototype.append=function(t,e){var n=this.getAll(t);null===n?this.set(t,e):n.push(e)},t.prototype.delete=function(t){var e=t.toLowerCase();this._normalizedNames.delete(e),this._headers.delete(e)},t.prototype.forEach=function(t){var e=this;this._headers.forEach(function(n,r){return t(n,e._normalizedNames.get(r),e._headers)})},t.prototype.get=function(t){var e=this.getAll(t);return null===e?null:e.length>0?e[0]:null},t.prototype.has=function(t){return this._headers.has(t.toLowerCase())},t.prototype.keys=function(){return Array.from(this._normalizedNames.values())},t.prototype.set=function(t,e){Array.isArray(e)?e.length&&this._headers.set(t.toLowerCase(),[e.join(",")]):this._headers.set(t.toLowerCase(),[e]),this.mayBeSetNormalizedName(t)},t.prototype.values=function(){return Array.from(this._headers.values())},t.prototype.toJSON=function(){var t=this,e={};return this._headers.forEach(function(n,r){var i=[];n.forEach(function(t){return i.push.apply(i,t.split(","))}),e[t._normalizedNames.get(r)]=i}),e},t.prototype.getAll=function(t){return this.has(t)&&this._headers.get(t.toLowerCase())||null},t.prototype.entries=function(){throw new Error('"entries" method is not implemented on Headers class')},t.prototype.mayBeSetNormalizedName=function(t){var e=t.toLowerCase();this._normalizedNames.has(e)||this._normalizedNames.set(e,t)},t}(),bn=function(){function t(t){void 0===t&&(t={});var e=t.body,n=t.status,r=t.headers,i=t.statusText,o=t.type,s=t.url;this.body=null!=e?e:null,this.status=null!=n?n:null,this.headers=null!=r?r:null,this.statusText=null!=i?i:null,this.type=null!=o?o:null,this.url=null!=s?s:null}return t.prototype.merge=function(e){return new t({body:e&&null!=e.body?e.body:this.body,status:e&&null!=e.status?e.status:this.status,headers:e&&null!=e.headers?e.headers:this.headers,statusText:e&&null!=e.statusText?e.statusText:this.statusText,type:e&&null!=e.type?e.type:this.type,url:e&&null!=e.url?e.url:this.url})},t}(),wn=function(t){function e(){return t.call(this,{status:200,statusText:"Ok",type:mn.Default,headers:new vn})||this}return Object(o.__extends)(e,t),e}(bn),Mn=function(){};function kn(t){if("string"!=typeof t)return t;switch(t.toUpperCase()){case"GET":return _n.Get;case"POST":return _n.Post;case"PUT":return _n.Put;case"DELETE":return _n.Delete;case"OPTIONS":return _n.Options;case"HEAD":return _n.Head;case"PATCH":return _n.Patch}throw new Error('Invalid request method. The method "'+t+'" is not supported.')}var xn=function(t){return t>=200&&t<300},Ln=function(){function t(){}return t.prototype.encodeKey=function(t){return Cn(t)},t.prototype.encodeValue=function(t){return Cn(t)},t}();function Cn(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}var Sn=function(){function t(t,e){void 0===t&&(t=""),void 0===e&&(e=new Ln),this.rawParams=t,this.queryEncoder=e,this.paramsMap=function(t){void 0===t&&(t="");var e=new Map;return t.length>0&&t.split("&").forEach(function(t){var n=t.indexOf("="),r=-1==n?[t,""]:[t.slice(0,n),t.slice(n+1)],i=r[0],o=r[1],s=e.get(i)||[];s.push(o),e.set(i,s)}),e}(t)}return t.prototype.clone=function(){var e=new t("",this.queryEncoder);return e.appendAll(this),e},t.prototype.has=function(t){return this.paramsMap.has(t)},t.prototype.get=function(t){var e=this.paramsMap.get(t);return Array.isArray(e)?e[0]:null},t.prototype.getAll=function(t){return this.paramsMap.get(t)||[]},t.prototype.set=function(t,e){if(void 0!==e&&null!==e){var n=this.paramsMap.get(t)||[];n.length=0,n.push(e),this.paramsMap.set(t,n)}else this.delete(t)},t.prototype.setAll=function(t){var e=this;t.paramsMap.forEach(function(t,n){var r=e.paramsMap.get(n)||[];r.length=0,r.push(t[0]),e.paramsMap.set(n,r)})},t.prototype.append=function(t,e){if(void 0!==e&&null!==e){var n=this.paramsMap.get(t)||[];n.push(e),this.paramsMap.set(t,n)}},t.prototype.appendAll=function(t){var e=this;t.paramsMap.forEach(function(t,n){for(var r=e.paramsMap.get(n)||[],i=0;i=200&&n.status<=299,n.statusText=e.statusText,n.headers=e.headers,n.type=e.type,n.url=e.url,n}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"Response with status: "+this.status+" "+this.statusText+" for URL: "+this.url},e}(Tn),Dn=/^\)\]\}',?\n/,Yn=function(){function t(t,e,n){var r=this;this.request=t,this.response=new s.a(function(i){var o=e.build();o.open(_n[t.method].toUpperCase(),t.url),null!=t.withCredentials&&(o.withCredentials=t.withCredentials);var s=function(){var e=1223===o.status?204:o.status,r=null;204!==e&&"string"==typeof(r="undefined"==typeof o.response?o.responseText:o.response)&&(r=r.replace(Dn,"")),0===e&&(e=r?200:0);var s,l=vn.fromResponseHeaderString(o.getAllResponseHeaders()),a=("responseURL"in(s=o)?s.responseURL:/^X-Request-URL:/m.test(s.getAllResponseHeaders())?s.getResponseHeader("X-Request-URL"):null)||t.url,u=new bn({body:r,status:e,headers:l,statusText:o.statusText||"OK",url:a});null!=n&&(u=n.merge(u));var c=new On(u);if(c.ok=xn(e),c.ok)return i.next(c),void i.complete();i.error(c)},l=function(t){var e=new bn({body:t,type:mn.Error,status:o.status,statusText:o.statusText});null!=n&&(e=n.merge(e)),i.error(new On(e))};if(r.setDetectedContentType(t,o),null==t.headers&&(t.headers=new vn),t.headers.has("Accept")||t.headers.append("Accept","application/json, text/plain, */*"),t.headers.forEach(function(t,e){return o.setRequestHeader(e,t.join(","))}),null!=t.responseType&&null!=o.responseType)switch(t.responseType){case yn.ArrayBuffer:o.responseType="arraybuffer";break;case yn.Json:o.responseType="json";break;case yn.Text:o.responseType="text";break;case yn.Blob:o.responseType="blob";break;default:throw new Error("The selected responseType is not supported")}return o.addEventListener("load",s),o.addEventListener("error",l),o.send(r.request.getBody()),function(){o.removeEventListener("load",s),o.removeEventListener("error",l),o.abort()}})}return t.prototype.setDetectedContentType=function(t,e){if(null==t.headers||null==t.headers.get("Content-Type"))switch(t.contentType){case gn.NONE:break;case gn.JSON:e.setRequestHeader("content-type","application/json");break;case gn.FORM:e.setRequestHeader("content-type","application/x-www-form-urlencoded;charset=UTF-8");break;case gn.TEXT:e.setRequestHeader("content-type","text/plain");break;case gn.BLOB:var n=t.blob();n.type&&e.setRequestHeader("content-type",n.type)}},t}(),Pn=function(){function t(t,e){void 0===t&&(t="XSRF-TOKEN"),void 0===e&&(e="X-XSRF-TOKEN"),this._cookieName=t,this._headerName=e}return t.prototype.configureRequest=function(t){var e=At().getCookie(this._cookieName);e&&t.headers.set(this._headerName,e)},t}(),En=function(){function t(t,e,n){this._browserXHR=t,this._baseResponseOptions=e,this._xsrfStrategy=n}return t.prototype.createConnection=function(t){return this._xsrfStrategy.configureRequest(t),new Yn(t,this._browserXHR,this._baseResponseOptions)},t}(),An=function(){function t(t){void 0===t&&(t={});var e=t.method,n=t.headers,r=t.body,i=t.url,o=t.search,s=t.params,l=t.withCredentials,a=t.responseType;this.method=null!=e?kn(e):null,this.headers=null!=n?n:null,this.body=null!=r?r:null,this.url=null!=i?i:null,this.params=this._mergeSearchParams(s||o),this.withCredentials=null!=l?l:null,this.responseType=null!=a?a:null}return Object.defineProperty(t.prototype,"search",{get:function(){return this.params},set:function(t){this.params=t},enumerable:!0,configurable:!0}),t.prototype.merge=function(e){return new t({method:e&&null!=e.method?e.method:this.method,headers:e&&null!=e.headers?e.headers:new vn(this.headers),body:e&&null!=e.body?e.body:this.body,url:e&&null!=e.url?e.url:this.url,params:e&&this._mergeSearchParams(e.params||e.search),withCredentials:e&&null!=e.withCredentials?e.withCredentials:this.withCredentials,responseType:e&&null!=e.responseType?e.responseType:this.responseType})},t.prototype._mergeSearchParams=function(t){return t?t instanceof Sn?t.clone():"string"==typeof t?new Sn(t):this._parseParams(t):this.params},t.prototype._parseParams=function(t){var e=this;void 0===t&&(t={});var n=new Sn;return Object.keys(t).forEach(function(r){var i=t[r];Array.isArray(i)?i.forEach(function(t){return e._appendParam(r,t,n)}):e._appendParam(r,i,n)}),n},t.prototype._appendParam=function(t,e,n){"string"!=typeof e&&(e=JSON.stringify(e)),n.append(t,e)},t}(),jn=function(t){function e(){return t.call(this,{method:_n.Get,headers:new vn})||this}return Object(o.__extends)(e,t),e}(An),In=function(t){function e(e){var n=t.call(this)||this,r=e.url;n.url=e.url;var i,o=e.params||e.search;if(o&&(i="object"!=typeof o||o instanceof Sn?o.toString():function(t){var e=new Sn;return Object.keys(t).forEach(function(n){var r=t[n];r&&Array.isArray(r)?r.forEach(function(t){return e.append(n,t.toString())}):e.append(n,r.toString())}),e}(o).toString()).length>0){var s="?";-1!=n.url.indexOf("?")&&(s="&"==n.url[n.url.length-1]?"":"&"),n.url=r+s+i}return n._body=e.body,n.method=kn(e.method),n.headers=new vn(e.headers),n.contentType=n.detectContentType(),n.withCredentials=e.withCredentials,n.responseType=e.responseType,n}return Object(o.__extends)(e,t),e.prototype.detectContentType=function(){switch(this.headers.get("content-type")){case"application/json":return gn.JSON;case"application/x-www-form-urlencoded":return gn.FORM;case"multipart/form-data":return gn.FORM_DATA;case"text/plain":case"text/html":return gn.TEXT;case"application/octet-stream":return this._body instanceof Vn?gn.ARRAY_BUFFER:gn.BLOB;default:return this.detectContentTypeFromBody()}},e.prototype.detectContentTypeFromBody=function(){return null==this._body?gn.NONE:this._body instanceof Sn?gn.FORM:this._body instanceof Fn?gn.FORM_DATA:this._body instanceof Nn?gn.BLOB:this._body instanceof Vn?gn.ARRAY_BUFFER:this._body&&"object"==typeof this._body?gn.JSON:gn.TEXT},e.prototype.getBody=function(){switch(this.contentType){case gn.JSON:case gn.FORM:return this.text();case gn.FORM_DATA:return this._body;case gn.TEXT:return this.text();case gn.BLOB:return this.blob();case gn.ARRAY_BUFFER:return this.arrayBuffer();default:return null}},e}(Tn),Rn=function(){},Hn="object"==typeof window?window:Rn,Fn=Hn.FormData||Rn,Nn=Hn.Blob||Rn,Vn=Hn.ArrayBuffer||Rn;function Bn(t,e){return t.createConnection(e).response}function zn(t,e,n,r){return t.merge(new An(e?{method:e.method||n,url:e.url||r,search:e.search,params:e.params,headers:e.headers,body:e.body,withCredentials:e.withCredentials,responseType:e.responseType}:{method:n,url:r}))}var Wn=function(){function t(t,e){this._backend=t,this._defaultOptions=e}return t.prototype.request=function(t,e){var n;if("string"==typeof t)n=Bn(this._backend,new In(zn(this._defaultOptions,e,_n.Get,t)));else{if(!(t instanceof In))throw new Error("First argument must be a url string or Request instance.");n=Bn(this._backend,t)}return n},t.prototype.get=function(t,e){return this.request(new In(zn(this._defaultOptions,e,_n.Get,t)))},t.prototype.post=function(t,e,n){return this.request(new In(zn(this._defaultOptions.merge(new An({body:e})),n,_n.Post,t)))},t.prototype.put=function(t,e,n){return this.request(new In(zn(this._defaultOptions.merge(new An({body:e})),n,_n.Put,t)))},t.prototype.delete=function(t,e){return this.request(new In(zn(this._defaultOptions,e,_n.Delete,t)))},t.prototype.patch=function(t,e,n){return this.request(new In(zn(this._defaultOptions.merge(new An({body:e})),n,_n.Patch,t)))},t.prototype.head=function(t,e){return this.request(new In(zn(this._defaultOptions,e,_n.Head,t)))},t.prototype.options=function(t,e){return this.request(new In(zn(this._defaultOptions,e,_n.Options,t)))},t}();function Un(){return new Pn}function Gn(t,e){return new Wn(t,e)}var Jn=function(){},qn=function(t){function e(e,n){t.call(this),this.error=e,this.scheduler=n}return Object(o.__extends)(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){t.subscriber.error(t.error)},e.prototype._subscribe=function(t){var n=this.error,r=this.scheduler;if(t.syncErrorThrowable=!0,r)return r.schedule(e.dispatch,0,{error:n,subscriber:t});t.error(n)},e}(s.a).create;s.a.throw=qn;var Qn=n("tZ2B"),Kn=n("PIsA");function Xn(t){return function(e){var n=new Zn(t),r=e.lift(n);return n.caught=r}}var Zn=function(){function t(t){this.selector=t}return t.prototype.call=function(t,e){return e.subscribe(new $n(t,this.selector,this.caught))},t}(),$n=function(t){function e(e,n,r){t.call(this,e),this.selector=n,this.caught=r}return Object(o.__extends)(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=void 0;try{n=this.selector(e,this.caught)}catch(e){return void t.prototype.error.call(this,e)}this._unsubscribeAndRecycle(),this.add(Object(Kn.a)(this,n))}},e}(Qn.a);function tr(t){return Xn(t)(this)}s.a.prototype.catch=tr,s.a.prototype._catch=tr;var er=n("HdCx");function nr(t,e){return Object(er.a)(t,e)(this)}s.a.prototype.map=nr;var rr=function(){function t(t){this.http=t,this.url=i.nodeUrl}return t.prototype.getExplorerAddress=function(t){return this.get("explorer/address",{address:t.address}).map(function(t){return t.map(function(t){return{addresses:[],balance:0,block:t.status.block_seq,confirmed:t.status.confirmed,timestamp:t.timestamp,txid:t.txid,inputs:t.inputs,outputs:t.outputs}})})},t.prototype.getVersion=function(){return this.get("version")},t.prototype.generateSeed=function(t){return void 0===t&&(t=128),this.get("wallet/newSeed",{entropy:t}).map(function(t){return t.seed})},t.prototype.getWallets=function(){return this.get("wallets").map(function(t){var e=[];return t.forEach(function(t){e.push({label:t.meta.label,filename:t.meta.filename,coins:null,hours:null,addresses:t.entries.map(function(t){return{address:t.address,coins:null,hours:null}}),encrypted:t.meta.encrypted})}),e})},t.prototype.getWalletSeed=function(t,e){return this.post("wallet/seed",{id:t.filename,password:e}).map(function(t){return t.seed})},t.prototype.postWalletCreate=function(t,e,n,r){var i={label:t,seed:e,scan:n};return r&&(i.password=r,i.encrypt=!0),this.post("wallet/create",i).map(function(t){return{label:t.meta.label,filename:t.meta.filename,coins:null,hours:null,addresses:t.entries.map(function(t){return{address:t.address,coins:null,hours:null}}),encrypted:t.meta.encrypted}})},t.prototype.postWalletNewAddress=function(t,e){return this.post("wallet/newAddress",{id:t.filename,password:e}).map(function(t){return{address:t.addresses[0],coins:null,hours:null}})},t.prototype.postWalletToggleEncryption=function(t,e){return this.post("wallet/"+(t.encrypted?"decrypt":"encrypt"),{id:t.filename,password:e})},t.prototype.get=function(t,e,n){return void 0===e&&(e=null),void 0===n&&(n={}),this.http.get(this.getUrl(t,e),this.returnRequestOptions(n)).map(function(t){return t.json()}).catch(function(t){return s.a.throw(t||"Server error")})},t.prototype.getCsrf=function(){return this.get("csrf").map(function(t){return t.csrf_token})},t.prototype.post=function(t,e,n){var r=this;return void 0===e&&(e={}),void 0===n&&(n={}),this.getCsrf().first().flatMap(function(i){return n.csrf=i,r.http.post(r.getUrl(t),n.json?JSON.stringify(e):r.getQueryString(e),r.returnRequestOptions(n)).map(function(t){return t.json()}).catch(function(t){return s.a.throw(t||"Server error")})})},t.prototype.returnRequestOptions=function(t){var e=new An;return e.headers=this.getHeaders(t),t.csrf&&e.headers.append("X-CSRF-Token",t.csrf),e},t.prototype.getHeaders=function(t){var e=new vn;return e.append("Content-Type",t.json?"application/json":"application/x-www-form-urlencoded"),e},t.prototype.getQueryString=function(t){return void 0===t&&(t=null),t?Object.keys(t).reduce(function(e,n){return e.push(n+"="+encodeURIComponent(t[n])),e},[]).join("&"):""},t.prototype.getUrl=function(t,e){return void 0===e&&(e=null),this.url+t+"?"+this.getQueryString(e)},t}(),ir=n("+3/4"),or=n("BX3T"),sr=function(t){function e(e,n){t.call(this),this.sources=e,this.resultSelector=n}return Object(o.__extends)(e,t),e.create=function(){for(var t=[],n=0;n=0}s.a.prototype.mergeMap=xr,s.a.prototype.flatMap=xr;var Cr=n("AMGY"),Sr=n("VwZZ"),Tr=function(t){function e(e,n){t.call(this,e,n),this.scheduler=e,this.work=n,this.pending=!1}return Object(o.__extends)(e,t),e.prototype.schedule=function(t,e){if(void 0===e&&(e=0),this.closed)return this;this.state=t,this.pending=!0;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,e)),this.delay=e,this.id=this.id||this.requestAsyncId(r,this.id,e),this},e.prototype.requestAsyncId=function(t,e,n){return void 0===n&&(n=0),Cr.a.setInterval(t.flush.bind(t,this),n)},e.prototype.recycleAsyncId=function(t,e,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return e;Cr.a.clearInterval(e)},e.prototype.execute=function(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,e){var n=!1,r=void 0;try{this.work(t)}catch(t){n=!0,r=!!t&&t||new Error(t)}if(n)return this.unsubscribe(),r},e.prototype._unsubscribe=function(){var t=this.id,e=this.scheduler,n=e.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null},e}(function(t){function e(e,n){t.call(this)}return Object(o.__extends)(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(Sr.a)),Or=function(t){function e(){t.apply(this,arguments),this.actions=[],this.active=!1,this.scheduled=void 0}return Object(o.__extends)(e,t),e.prototype.flush=function(t){var e=this.actions;if(this.active)e.push(t);else{var n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}},e}(function(){function t(e,n){void 0===n&&(n=t.now),this.SchedulerAction=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(n,e)},t.now=Date.now?Date.now:function(){return+new Date},t}()),Dr=new Or(Tr),Yr=n("1Q68");function Pr(t){return t instanceof Date&&!isNaN(+t)}var Er=function(t){function e(e,n,r){void 0===e&&(e=0),t.call(this),this.period=-1,this.dueTime=0,Lr(n)?this.period=Number(n)<1?1:Number(n):Object(Yr.a)(n)&&(r=n),Object(Yr.a)(r)||(r=Dr),this.scheduler=r,this.dueTime=Pr(e)?+e-this.scheduler.now():e}return Object(o.__extends)(e,t),e.create=function(t,n,r){return void 0===t&&(t=0),new e(t,n,r)},e.dispatch=function(t){var e=t.index,n=t.period,r=t.subscriber;if(r.next(e),!r.closed){if(-1===n)return r.complete();t.index=e+1,this.schedule(t,n)}},e.prototype._subscribe=function(t){return this.scheduler.schedule(e.dispatch,this.dueTime,{index:0,period:this.period,subscriber:t})},e}(s.a).create;s.a.timer=Er;var Ar=n("Veqx"),jr=n("etqZ"),Ir=function(){function t(t){this.project=t}return t.prototype.call=function(t,e){return e.subscribe(new Rr(t,this.project))},t}(),Rr=function(t){function e(e,n,r){void 0===r&&(r=Object.create(null)),t.call(this,e),this.iterators=[],this.active=0,this.project="function"==typeof n?n:null,this.values=r}return Object(o.__extends)(e,t),e.prototype._next=function(t){var e=this.iterators;Object(or.a)(t)?e.push(new Fr(t)):e.push("function"==typeof t[jr.a]?new Hr(t[jr.a]()):new Nr(this.destination,this,t))},e.prototype._complete=function(){var t=this.iterators,e=t.length;if(0!==e){this.active=e;for(var n=0;nthis.index},t.prototype.hasCompleted=function(){return this.array.length===this.index},t}(),Nr=function(t){function e(e,n,r){t.call(this,e),this.parent=n,this.observable=r,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return Object(o.__extends)(e,t),e.prototype[jr.a]=function(){return this},e.prototype.next=function(){var t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}},e.prototype.hasValue=function(){return this.buffer.length>0},e.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},e.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},e.prototype.notifyNext=function(t,e,n,r,i){this.buffer.push(e),this.parent.checkIterators()},e.prototype.subscribe=function(t,e){return Object(Kn.a)(this,this.observable,this,e)},e}(Qn.a);s.a.zip=function(){for(var t=[],e=0;e0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,r){return void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,r):e.flush(this)},e}(Tr),Wr=new(function(t){function e(){t.apply(this,arguments)}return Object(o.__extends)(e,t),e}(Or))(zr),Ur=function(){function t(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}return t.prototype.observe=function(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}},t.prototype.do=function(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}},t.prototype.accept=function(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)},t.prototype.toObservable=function(){switch(this.kind){case"N":return s.a.of(this.value);case"E":return s.a.throw(this.error);case"C":return s.a.empty()}throw new Error("unexpected notification kind value")},t.createNext=function(e){return"undefined"!=typeof e?new t("N",e):t.undefinedValueNotification},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return t.completeNotification},t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t}(),Gr=function(t){function e(e,n,r){void 0===r&&(r=0),t.call(this,e),this.scheduler=n,this.delay=r}return Object(o.__extends)(e,t),e.dispatch=function(t){t.notification.observe(t.destination),this.unsubscribe()},e.prototype.scheduleMessage=function(t){this.add(this.scheduler.schedule(e.dispatch,this.delay,new Jr(t,this.destination)))},e.prototype._next=function(t){this.scheduleMessage(Ur.createNext(t))},e.prototype._error=function(t){this.scheduleMessage(Ur.createError(t))},e.prototype._complete=function(){this.scheduleMessage(Ur.createComplete())},e}(cr.a),Jr=function(t,e){this.notification=t,this.destination=e},qr=n("x6VL"),Qr=n("1Bqh"),Kr=function(t){function e(e,n,r){void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===n&&(n=Number.POSITIVE_INFINITY),t.call(this),this.scheduler=r,this._events=[],this._bufferSize=e<1?1:e,this._windowTime=n<1?1:n}return Object(o.__extends)(e,t),e.prototype.next=function(e){var n=this._getNow();this._events.push(new Xr(n,e)),this._trimBufferThenGetEvents(),t.prototype.next.call(this,e)},e.prototype._subscribe=function(t){var e,n=this._trimBufferThenGetEvents(),r=this.scheduler;if(this.closed)throw new qr.a;this.hasError?e=Sr.a.EMPTY:this.isStopped?e=Sr.a.EMPTY:(this.observers.push(t),e=new Qr.a(this,t)),r&&t.add(t=new Gr(t,r));for(var i=n.length,o=0;oe&&(o=Math.max(o,i-e)),o>0&&r.splice(0,o),r},e}(Br.a),Xr=function(t,e){this.time=t,this.value=e},Zr=this&&this.__assign||Object.assign||function(t){for(var e,n=1,r=arguments.length;n0}).map(function(t){return t.transactions})).reduce(function(t,e){return t.find(function(t){return t.transaction.txid===e.transaction.txid})||t.push(e),t},[]))})})},t}(),ti="undefined"!=typeof Intl&&Intl.v8BreakIterator,ei=function(){return function(){this.isBrowser="object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!ti)&&!!CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}();function ni(){if(null==Vr&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){return Vr=!0}}))}finally{Vr=Vr||!1}return Vr}var ri=function(){},ii=n("GK6M"),oi=n("/iUD"),si=n("fKB6"),li=Object.prototype.toString,ai=function(t){function e(e,n,r,i){t.call(this),this.sourceObj=e,this.eventName=n,this.selector=r,this.options=i}return Object(o.__extends)(e,t),e.create=function(t,n,r,i){return Object(oi.a)(r)&&(i=r,r=void 0),new e(t,n,i,r)},e.setupSubscription=function(t,n,r,i,o){var s;if(function(t){return!!t&&"[object NodeList]"===li.call(t)}(t)||function(t){return!!t&&"[object HTMLCollection]"===li.call(t)}(t))for(var l=0,a=t.length;l0?e._scrolled.pipe(di(t)).subscribe(n):e._scrolled.subscribe(n);return e._scrolledCount++,function(){r.unsubscribe(),e._scrolledCount--,e._globalSubscription&&!e._scrolledCount&&(e._globalSubscription.unsubscribe(),e._globalSubscription=null)}}):Object(ur.a)()},t.prototype.ancestorScrolled=function(t,e){var n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(_r(function(t){return!t||n.indexOf(t)>-1}))},t.prototype.getAncestorScrollContainers=function(t){var e=this,n=[];return this.scrollContainers.forEach(function(r,i){e._scrollableContainsElement(i,t)&&n.push(i)}),n},t.prototype._scrollableContainsElement=function(t,e){var n=e.nativeElement,r=t.getElementRef().nativeElement;do{if(n==r)return!0}while(n=n.parentElement);return!1},t.prototype._addGlobalListener=function(){var t=this;this._globalSubscription=this._ngZone.runOutsideAngular(function(){return ai(window.document,"scroll").subscribe(function(){return t._scrolled.next()})})},t}();function fi(t,e,n){return t||new pi(e,n)}var _i=function(){function t(t,e){var n=this;this._change=t.isBrowser?e.runOutsideAngular(function(){return Object(hi.a)(ai(window,"resize"),ai(window,"orientationchange"))}):Object(ur.a)(),this._invalidateCache=this.change().subscribe(function(){return n._updateViewportSize()})}return t.prototype.ngOnDestroy=function(){this._invalidateCache.unsubscribe()},t.prototype.getViewportSize=function(){return this._viewportSize||this._updateViewportSize(),{width:this._viewportSize.width,height:this._viewportSize.height}},t.prototype.getViewportRect=function(){var t=this.getViewportScrollPosition(),e=this.getViewportSize(),n=e.width,r=e.height;return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+n,height:r,width:n}},t.prototype.getViewportScrollPosition=function(){var t=document.documentElement.getBoundingClientRect();return{top:-t.top||document.body.scrollTop||window.scrollY||document.documentElement.scrollTop||0,left:-t.left||document.body.scrollLeft||window.scrollX||document.documentElement.scrollLeft||0}},t.prototype.change=function(t){return void 0===t&&(t=20),t>0?this._change.pipe(di(t)):this._change},t.prototype._updateViewportSize=function(){this._viewportSize={width:window.innerWidth,height:window.innerHeight}},t}();function mi(t,e,n){return t||new _i(e,n)}var gi=function(){},yi=new r.r("cdk-dir-doc"),vi=function(){return function(t){this.value="ltr",this.change=new r.o,t&&(this.value=(t.body?t.body.dir:null)||(t.documentElement?t.documentElement.dir:null)||"ltr")}}(),bi=function(){};function wi(){throw Error("Host already has a portal attached")}var Mi=function(){function t(){}return t.prototype.attach=function(t){return null==t&&function(){throw Error("Attempting to attach a portal to a null PortalOutlet")}(),t.hasAttached()&&wi(),this._attachedHost=t,t.attach(this)},t.prototype.detach=function(){var t=this._attachedHost;null==t?function(){throw Error("Attempting to detach a portal that is not attached to a host")}():(this._attachedHost=null,t.detach())},Object.defineProperty(t.prototype,"isAttached",{get:function(){return null!=this._attachedHost},enumerable:!0,configurable:!0}),t.prototype.setAttachedHost=function(t){this._attachedHost=t},t}(),ki=function(t){function e(e,n,r){var i=t.call(this)||this;return i.component=e,i.viewContainerRef=n,i.injector=r,i}return Object(o.__extends)(e,t),e}(Mi),xi=function(t){function e(e,n,r){var i=t.call(this)||this;return i.templateRef=e,i.viewContainerRef=n,r&&(i.context=r),i}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"origin",{get:function(){return this.templateRef.elementRef},enumerable:!0,configurable:!0}),e.prototype.attach=function(e,n){return void 0===n&&(n=this.context),this.context=n,t.prototype.attach.call(this,e)},e.prototype.detach=function(){return this.context=void 0,t.prototype.detach.call(this)},e}(Mi),Li=function(){function t(){this._isDisposed=!1}return t.prototype.hasAttached=function(){return!!this._attachedPortal},t.prototype.attach=function(t){return t||function(){throw Error("Must provide a portal to attach")}(),this.hasAttached()&&wi(),this._isDisposed&&function(){throw Error("This PortalOutlet has already been disposed")}(),t instanceof ki?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof xi?(this._attachedPortal=t,this.attachTemplatePortal(t)):void function(){throw Error("Attempting to attach an unknown Portal type. BasePortalOutlet accepts either a ComponentPortal or a TemplatePortal.")}()},t.prototype.detach=function(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()},t.prototype.dispose=function(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0},t.prototype.setDisposeFn=function(t){this._disposeFn=t},t.prototype._invokeDisposeFn=function(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)},t}(),Ci=function(t){function e(e,n,r,i){var o=t.call(this)||this;return o._hostDomElement=e,o._componentFactoryResolver=n,o._appRef=r,o._defaultInjector=i,o}return Object(o.__extends)(e,t),e.prototype.attachComponentPortal=function(t){var e,n=this,r=this._componentFactoryResolver.resolveComponentFactory(t.component);return t.viewContainerRef?(e=t.viewContainerRef.createComponent(r,t.viewContainerRef.length,t.injector||t.viewContainerRef.parentInjector),this.setDisposeFn(function(){return e.destroy()})):(e=r.create(t.injector||this._defaultInjector),this._appRef.attachView(e.hostView),this.setDisposeFn(function(){n._appRef.detachView(e.hostView),e.destroy()})),this._hostDomElement.appendChild(this._getComponentRootNode(e)),e},e.prototype.attachTemplatePortal=function(t){var e=this,n=t.viewContainerRef,r=n.createEmbeddedView(t.templateRef,t.context);return r.detectChanges(),r.rootNodes.forEach(function(t){return e._hostDomElement.appendChild(t)}),this.setDisposeFn(function(){var t=n.indexOf(r);-1!==t&&n.remove(t)}),r},e.prototype.dispose=function(){t.prototype.dispose.call(this),null!=this._hostDomElement.parentNode&&this._hostDomElement.parentNode.removeChild(this._hostDomElement)},e.prototype._getComponentRootNode=function(t){return t.hostView.rootNodes[0]},e}(Li),Si=function(t){function e(e,n){var r=t.call(this)||this;return r._componentFactoryResolver=e,r._viewContainerRef=n,r._isInitialized=!1,r}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"_deprecatedPortal",{get:function(){return this.portal},set:function(t){this.portal=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_deprecatedPortalHost",{get:function(){return this.portal},set:function(t){this.portal=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"portal",{get:function(){return this._attachedPortal},set:function(e){(!this.hasAttached()||e||this._isInitialized)&&(this.hasAttached()&&t.prototype.detach.call(this),e&&t.prototype.attach.call(this,e),this._attachedPortal=e)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this._isInitialized=!0},e.prototype.ngOnDestroy=function(){t.prototype.dispose.call(this),this._attachedPortal=null},e.prototype.attachComponentPortal=function(e){e.setAttachedHost(this);var n=null!=e.viewContainerRef?e.viewContainerRef:this._viewContainerRef,r=this._componentFactoryResolver.resolveComponentFactory(e.component),i=n.createComponent(r,n.length,e.injector||n.parentInjector);return t.prototype.setDisposeFn.call(this,function(){return i.destroy()}),this._attachedPortal=e,i},e.prototype.attachTemplatePortal=function(e){var n=this;e.setAttachedHost(this);var r=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context);return t.prototype.setDisposeFn.call(this,function(){return n._viewContainerRef.clear()}),this._attachedPortal=e,r},e}(Li),Ti=function(){},Oi=function(){function t(t,e){this._parentInjector=t,this._customTokens=e}return t.prototype.get=function(t,e){var n=this._customTokens.get(t);return"undefined"!=typeof n?n:this._parentInjector.get(t,e)},t}(),Di=n("9Ocp");function Yi(t){return null!=t&&""+t!="false"}function Pi(t,e){return void 0===e&&(e=0),isNaN(parseFloat(t))||isNaN(Number(t))?e:Number(t)}function Ei(t){return Array.isArray(t)?t:[t]}var Ai=function(){function t(){}return t.prototype.enable=function(){},t.prototype.disable=function(){},t.prototype.attach=function(){},t}(),ji=function(){return function(t){var e=this;this.scrollStrategy=new Ai,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.direction="ltr",t&&Object.keys(t).forEach(function(n){return e[n]=t[n]})}}(),Ii=function(t,e,n,r){this.offsetX=n,this.offsetY=r,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY};function Ri(){return Error("Scroll strategy has already been attached.")}var Hi=function(){function t(t,e){this._scrollDispatcher=t,this._ngZone=e,this._scrollSubscription=null}return t.prototype.attach=function(t){if(this._overlayRef)throw Ri();this._overlayRef=t},t.prototype.enable=function(){var t=this;this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(0).subscribe(function(){t._ngZone.run(function(){t.disable(),t._overlayRef.hasAttached()&&t._overlayRef.detach()})}))},t.prototype.disable=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t}(),Fi=function(){function t(t){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1}return t.prototype.attach=function(){},t.prototype.enable=function(){if(this._canBeEnabled()){var t=document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=-this._previousScrollPosition.left+"px",t.style.top=-this._previousScrollPosition.top+"px",t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}},t.prototype.disable=function(){if(this._isEnabled){var t=document.documentElement,e=document.body,n=t.style.scrollBehavior||"",r=e.style.scrollBehavior||"";this._isEnabled=!1,t.style.left=this._previousHTMLStyles.left,t.style.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),t.style.scrollBehavior=e.style.scrollBehavior="auto",window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),t.style.scrollBehavior=n,e.style.scrollBehavior=r}},t.prototype._canBeEnabled=function(){if(document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;var t=document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width},t}();function Ni(t,e){return e.some(function(e){return t.bottome.bottom||t.righte.right})}function Vi(t,e){return e.some(function(e){return t.tope.bottom||t.lefte.right})}var Bi=function(){function t(t,e,n,r){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=r,this._scrollSubscription=null}return t.prototype.attach=function(t){if(this._overlayRef)throw Ri();this._overlayRef=t},t.prototype.enable=function(){var t=this;this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(function(){if(t._overlayRef.updatePosition(),t._config&&t._config.autoClose){var e=t._overlayRef.overlayElement.getBoundingClientRect(),n=t._viewportRuler.getViewportSize(),r=n.width,i=n.height;Ni(e,[{width:r,height:i,bottom:i,right:r,top:0,left:0}])&&(t.disable(),t._ngZone.run(function(){return t._overlayRef.detach()}))}}))},t.prototype.disable=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t}(),zi=function(){return function(t,e,n){var r=this;this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=function(){return new Ai},this.close=function(){return new Hi(r._scrollDispatcher,r._ngZone)},this.block=function(){return new Fi(r._viewportRuler)},this.reposition=function(t){return new Bi(r._scrollDispatcher,r._viewportRuler,r._ngZone,t)}}}(),Wi=function(){function t(t,e,n,r,i){this._portalOutlet=t,this._pane=e,this._config=n,this._ngZone=r,this._keyboardDispatcher=i,this._backdropElement=null,this._backdropClick=new Br.a,this._attachments=new Br.a,this._detachments=new Br.a,this._keydownEvents=new Br.a,n.scrollStrategy&&n.scrollStrategy.attach(this)}return Object.defineProperty(t.prototype,"overlayElement",{get:function(){return this._pane},enumerable:!0,configurable:!0}),t.prototype.attach=function(t){var e=this,n=this._portalOutlet.attach(t);return this._config.positionStrategy&&this._config.positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._config.scrollStrategy&&this._config.scrollStrategy.enable(),this._ngZone.onStable.asObservable().pipe(Object(Di.a)(1)).subscribe(function(){e.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&(Array.isArray(this._config.panelClass)?this._config.panelClass.forEach(function(t){return e._pane.classList.add(t)}):this._pane.classList.add(this._config.panelClass)),this._attachments.next(),this._keyboardDispatcher.add(this),n},t.prototype.detach=function(){if(this.hasAttached()){this.detachBackdrop(),this._togglePointerEvents(!1),this._config.positionStrategy&&this._config.positionStrategy.detach&&this._config.positionStrategy.detach(),this._config.scrollStrategy&&this._config.scrollStrategy.disable();var t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),t}},t.prototype.dispose=function(){var t=this.hasAttached();this._config.positionStrategy&&this._config.positionStrategy.dispose(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this.detachBackdrop(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),t&&this._detachments.next(),this._detachments.complete()},t.prototype.hasAttached=function(){return this._portalOutlet.hasAttached()},t.prototype.backdropClick=function(){return this._backdropClick.asObservable()},t.prototype.attachments=function(){return this._attachments.asObservable()},t.prototype.detachments=function(){return this._detachments.asObservable()},t.prototype.keydownEvents=function(){return this._keydownEvents.asObservable()},t.prototype.getConfig=function(){return this._config},t.prototype.updatePosition=function(){this._config.positionStrategy&&this._config.positionStrategy.apply()},t.prototype.updateSize=function(t){this._config=Object(o.__assign)({},this._config,t),this._updateElementSize()},t.prototype.setDirection=function(t){this._config=Object(o.__assign)({},this._config,{direction:t}),this._updateElementDirection()},t.prototype._updateElementDirection=function(){this._pane.setAttribute("dir",this._config.direction)},t.prototype._updateElementSize=function(){(this._config.width||0===this._config.width)&&(this._pane.style.width=Ui(this._config.width)),(this._config.height||0===this._config.height)&&(this._pane.style.height=Ui(this._config.height)),(this._config.minWidth||0===this._config.minWidth)&&(this._pane.style.minWidth=Ui(this._config.minWidth)),(this._config.minHeight||0===this._config.minHeight)&&(this._pane.style.minHeight=Ui(this._config.minHeight)),(this._config.maxWidth||0===this._config.maxWidth)&&(this._pane.style.maxWidth=Ui(this._config.maxWidth)),(this._config.maxHeight||0===this._config.maxHeight)&&(this._pane.style.maxHeight=Ui(this._config.maxHeight))},t.prototype._togglePointerEvents=function(t){this._pane.style.pointerEvents=t?"auto":"none"},t.prototype._attachBackdrop=function(){var t=this;this._backdropElement=document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._backdropElement.classList.add(this._config.backdropClass),this._pane.parentElement.insertBefore(this._backdropElement,this._pane),this._backdropElement.addEventListener("click",function(){return t._backdropClick.next(null)}),this._ngZone.runOutsideAngular(function(){requestAnimationFrame(function(){t._backdropElement&&t._backdropElement.classList.add("cdk-overlay-backdrop-showing")})})},t.prototype._updateStackingOrder=function(){this._pane.nextSibling&&this._pane.parentNode.appendChild(this._pane)},t.prototype.detachBackdrop=function(){var t=this,e=this._backdropElement;if(e){var n=function(){e&&e.parentNode&&e.parentNode.removeChild(e),t._backdropElement==e&&(t._backdropElement=null)};e.classList.remove("cdk-overlay-backdrop-showing"),this._config.backdropClass&&e.classList.remove(this._config.backdropClass),e.addEventListener("transitionend",n),e.style.pointerEvents="none",this._ngZone.runOutsideAngular(function(){setTimeout(n,500)})}},t}();function Ui(t){return"string"==typeof t?t:t+"px"}var Gi=function(){function t(t,e,n,r,i){this._connectedTo=n,this._viewportRuler=r,this._document=i,this._dir="ltr",this._offsetX=0,this._offsetY=0,this.scrollables=[],this._resizeSubscription=Sr.a.EMPTY,this._preferredPositions=[],this._applied=!1,this._positionLocked=!1,this._onPositionChange=new Br.a,this._origin=this._connectedTo.nativeElement,this.withFallbackPosition(t,e)}return Object.defineProperty(t.prototype,"_isRtl",{get:function(){return"rtl"===this._dir},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onPositionChange",{get:function(){return this._onPositionChange.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"positions",{get:function(){return this._preferredPositions},enumerable:!0,configurable:!0}),t.prototype.attach=function(t){var e=this;this._overlayRef=t,this._pane=t.overlayElement,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(function(){return e.apply()})},t.prototype.dispose=function(){this._applied=!1,this._resizeSubscription.unsubscribe()},t.prototype.detach=function(){this._applied=!1,this._resizeSubscription.unsubscribe()},t.prototype.apply=function(){if(this._applied&&this._positionLocked&&this._lastConnectedPosition)this.recalculateLastPosition();else{this._applied=!0;for(var t,e,n=this._pane,r=this._origin.getBoundingClientRect(),i=n.getBoundingClientRect(),o=this._viewportRuler.getViewportSize(),s=0,l=this._preferredPositions;s-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this._unsubscribeFromKeydownEvents()},t.prototype._subscribeToKeydownEvents=function(){var t=this,e=ai(this._document.body,"keydown");this._keydownEventSubscription=e.pipe(_r(function(){return!!t._attachedOverlays.length})).subscribe(function(e){t._selectOverlayFromEvent(e)._keydownEvents.next(e)})},t.prototype._unsubscribeFromKeydownEvents=function(){this._keydownEventSubscription&&(this._keydownEventSubscription.unsubscribe(),this._keydownEventSubscription=null)},t.prototype._selectOverlayFromEvent=function(t){return this._attachedOverlays.find(function(e){return e.overlayElement===t.target||e.overlayElement.contains(t.target)})||this._attachedOverlays[this._attachedOverlays.length-1]},t}();function Ki(t,e){return t||new Qi(e)}var Xi=function(){function t(t){this._document=t}return t.prototype.ngOnDestroy=function(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)},t.prototype.getContainerElement=function(){return this._containerElement||this._createContainer(),this._containerElement},t.prototype._createContainer=function(){var t=this._document.createElement("div");t.classList.add("cdk-overlay-container"),this._document.body.appendChild(t),this._containerElement=t},t}();function Zi(t,e){return t||new Xi(e)}var $i=0,to=new ji,eo=function(){function t(t,e,n,r,i,o,s,l,a){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=r,this._keyboardDispatcher=i,this._appRef=o,this._injector=s,this._ngZone=l,this._document=a}return t.prototype.create=function(t){void 0===t&&(t=to);var e=this._createPaneElement(),n=this._createPortalOutlet(e);return new Wi(n,e,t,this._ngZone,this._keyboardDispatcher)},t.prototype.position=function(){return this._positionBuilder},t.prototype._createPaneElement=function(){var t=this._document.createElement("div");return t.id="cdk-overlay-"+$i++,t.classList.add("cdk-overlay-pane"),this._overlayContainer.getContainerElement().appendChild(t),t},t.prototype._createPortalOutlet=function(t){return new Ci(t,this._componentFactoryResolver,this._appRef,this._injector)},t}(),no=[new Ii({originX:"start",originY:"bottom"},{overlayX:"start",overlayY:"top"}),new Ii({originX:"start",originY:"top"},{overlayX:"start",overlayY:"bottom"}),new Ii({originX:"end",originY:"top"},{overlayX:"end",overlayY:"bottom"}),new Ii({originX:"end",originY:"bottom"},{overlayX:"end",overlayY:"top"})],ro=new r.r("cdk-connected-overlay-scroll-strategy");function io(t){return function(){return t.scrollStrategies.reposition()}}var oo=function(t){this.elementRef=t},so=function(){function t(t,e,n,i,o){this._overlay=t,this._scrollStrategy=i,this._dir=o,this._hasBackdrop=!1,this._backdropSubscription=Sr.a.EMPTY,this._positionSubscription=Sr.a.EMPTY,this._offsetX=0,this._offsetY=0,this.scrollStrategy=this._scrollStrategy(),this.open=!1,this.backdropClick=new r.o,this.positionChange=new r.o,this.attach=new r.o,this.detach=new r.o,this._templatePortal=new xi(e,n)}return Object.defineProperty(t.prototype,"offsetX",{get:function(){return this._offsetX},set:function(t){this._offsetX=t,this._position&&this._position.withOffsetX(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offsetY",{get:function(){return this._offsetY},set:function(t){this._offsetY=t,this._position&&this._position.withOffsetY(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasBackdrop",{get:function(){return this._hasBackdrop},set:function(t){this._hasBackdrop=Yi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOrigin",{get:function(){return this.origin},set:function(t){this.origin=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedPositions",{get:function(){return this.positions},set:function(t){this.positions=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOffsetX",{get:function(){return this.offsetX},set:function(t){this.offsetX=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOffsetY",{get:function(){return this.offsetY},set:function(t){this.offsetY=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedWidth",{get:function(){return this.width},set:function(t){this.width=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedHeight",{get:function(){return this.height},set:function(t){this.height=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedMinWidth",{get:function(){return this.minWidth},set:function(t){this.minWidth=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedMinHeight",{get:function(){return this.minHeight},set:function(t){this.minHeight=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedBackdropClass",{get:function(){return this.backdropClass},set:function(t){this.backdropClass=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedScrollStrategy",{get:function(){return this.scrollStrategy},set:function(t){this.scrollStrategy=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOpen",{get:function(){return this.open},set:function(t){this.open=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedHasBackdrop",{get:function(){return this.hasBackdrop},set:function(t){this.hasBackdrop=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"overlayRef",{get:function(){return this._overlayRef},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dir",{get:function(){return this._dir?this._dir.value:"ltr"},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this._destroyOverlay()},t.prototype.ngOnChanges=function(t){(t.open||t._deprecatedOpen)&&(this.open?this._attachOverlay():this._detachOverlay())},t.prototype._createOverlay=function(){this.positions&&this.positions.length||(this.positions=no),this._overlayRef=this._overlay.create(this._buildConfig())},t.prototype._buildConfig=function(){var t=this._position=this._createPositionStrategy(),e=new ji({positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(e.width=this.width),(this.height||0===this.height)&&(e.height=this.height),(this.minWidth||0===this.minWidth)&&(e.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(e.minHeight=this.minHeight),this.backdropClass&&(e.backdropClass=this.backdropClass),e},t.prototype._createPositionStrategy=function(){var t=this.positions[0],e={originX:t.originX,originY:t.originY},n={overlayX:t.overlayX,overlayY:t.overlayY},r=this._overlay.position().connectedTo(this.origin.elementRef,e,n).withOffsetX(this.offsetX).withOffsetY(this.offsetY);return this._handlePositionChanges(r),r},t.prototype._handlePositionChanges=function(t){for(var e=this,n=1;n=0},t.prototype.isFocusable=function(t){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){var e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||fo(t))}(t)&&!this.isDisabled(t)&&this.isVisible(t)},t}();function fo(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;var e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function _o(t){if(!fo(t))return null;var e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}var mo=function(){function t(t,e,n,r,i){void 0===i&&(i=!1),this._element=t,this._checker=e,this._ngZone=n,this._document=r,this._enabled=!0,i||this.attachAnchors()}return Object.defineProperty(t.prototype,"enabled",{get:function(){return this._enabled},set:function(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._startAnchor.tabIndex=this._endAnchor.tabIndex=this._enabled?0:-1)},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){this._startAnchor&&this._startAnchor.parentNode&&this._startAnchor.parentNode.removeChild(this._startAnchor),this._endAnchor&&this._endAnchor.parentNode&&this._endAnchor.parentNode.removeChild(this._endAnchor),this._startAnchor=this._endAnchor=null},t.prototype.attachAnchors=function(){var t=this;this._startAnchor||(this._startAnchor=this._createAnchor()),this._endAnchor||(this._endAnchor=this._createAnchor()),this._ngZone.runOutsideAngular(function(){t._startAnchor.addEventListener("focus",function(){t.focusLastTabbableElement()}),t._endAnchor.addEventListener("focus",function(){t.focusFirstTabbableElement()}),t._element.parentNode&&(t._element.parentNode.insertBefore(t._startAnchor,t._element),t._element.parentNode.insertBefore(t._endAnchor,t._element.nextSibling))})},t.prototype.focusInitialElementWhenReady=function(){var t=this;return new Promise(function(e){t._executeOnStable(function(){return e(t.focusInitialElement())})})},t.prototype.focusFirstTabbableElementWhenReady=function(){var t=this;return new Promise(function(e){t._executeOnStable(function(){return e(t.focusFirstTabbableElement())})})},t.prototype.focusLastTabbableElementWhenReady=function(){var t=this;return new Promise(function(e){t._executeOnStable(function(){return e(t.focusLastTabbableElement())})})},t.prototype._getRegionBoundary=function(t){for(var e=this._element.querySelectorAll("[cdk-focus-region-"+t+"], [cdkFocusRegion"+t+"], [cdk-focus-"+t+"]"),n=0;n=0;n--){var r=1===e[n].nodeType?this._getLastTabbableElement(e[n]):null;if(r)return r}return null},t.prototype._createAnchor=function(){var t=this._document.createElement("div");return t.tabIndex=this._enabled?0:-1,t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t},t.prototype._executeOnStable=function(t){this._ngZone.isStable?t():this._ngZone.onStable.asObservable().pipe(Object(Di.a)(1)).subscribe(t)},t}(),go=function(){function t(t,e,n){this._checker=t,this._ngZone=e,this._document=n}return t.prototype.create=function(t,e){return void 0===e&&(e=!1),new mo(t,this._checker,this._ngZone,this._document,e)},t}(),yo=function(){function t(t){this._items=t,this._activeItemIndex=-1,this._wrap=!1,this._letterKeyStream=new Br.a,this._typeaheadSubscription=Sr.a.EMPTY,this._pressedLetters=[],this.tabOut=new Br.a,this.change=new Br.a}return t.prototype.withWrap=function(){return this._wrap=!0,this},t.prototype.withTypeAhead=function(t){var e=this;if(void 0===t&&(t=200),this._items.length&&this._items.some(function(t){return"function"!=typeof t.getLabel}))throw Error("ListKeyManager items in typeahead mode must implement the `getLabel` method.");return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(dr(function(t){return e._pressedLetters.push(t)}),ao(t),_r(function(){return e._pressedLetters.length>0}),Object(er.a)(function(){return e._pressedLetters.join("")})).subscribe(function(t){for(var n=e._items.toArray(),r=1;r=65&&e<=90||e>=48&&e<=91)&&this._letterKeyStream.next(String.fromCharCode(e)))}this._pressedLetters=[],t.preventDefault()},Object.defineProperty(t.prototype,"activeItemIndex",{get:function(){return this._activeItemIndex},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activeItem",{get:function(){return this._activeItem},enumerable:!0,configurable:!0}),t.prototype.setFirstItemActive=function(){this._setActiveItemByIndex(0,1)},t.prototype.setLastItemActive=function(){this._setActiveItemByIndex(this._items.length-1,-1)},t.prototype.setNextItemActive=function(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)},t.prototype.setPreviousItemActive=function(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)},t.prototype.updateActiveItemIndex=function(t){this._activeItemIndex=t},t.prototype._setActiveItemByDelta=function(t,e){void 0===e&&(e=this._items.toArray()),this._wrap?this._setActiveInWrapMode(t,e):this._setActiveInDefaultMode(t,e)},t.prototype._setActiveInWrapMode=function(t,e){this._activeItemIndex=(this._activeItemIndex+t+e.length)%e.length,e[this._activeItemIndex].disabled?this._setActiveInWrapMode(t,e):this.setActiveItem(this._activeItemIndex)},t.prototype._setActiveInDefaultMode=function(t,e){this._setActiveItemByIndex(this._activeItemIndex+t,t,e)},t.prototype._setActiveItemByIndex=function(t,e,n){if(void 0===n&&(n=this._items.toArray()),n[t]){for(;n[t].disabled;)if(!n[t+=e])return;this.setActiveItem(t)}},t}(),vo=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.__extends)(e,t),e.prototype.setActiveItem=function(e){this.activeItem&&this.activeItem.setInactiveStyles(),t.prototype.setActiveItem.call(this,e),this.activeItem&&this.activeItem.setActiveStyles()},e}(yo);function bo(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}var wo=0,Mo=new Map,ko=null,xo=function(){function t(t){this._document=t}return t.prototype.describe=function(t,e){e.trim()&&(Mo.has(e)||this._createMessageElement(e),this._isElementDescribedByMessage(t,e)||this._addMessageReference(t,e))},t.prototype.removeDescription=function(t,e){if(e.trim()){this._isElementDescribedByMessage(t,e)&&this._removeMessageReference(t,e);var n=Mo.get(e);n&&0===n.referenceCount&&this._deleteMessageElement(e),ko&&0===ko.childNodes.length&&this._deleteMessagesContainer()}},t.prototype.ngOnDestroy=function(){for(var t=this._document.querySelectorAll("[cdk-describedby-host]"),e=0;egs?gs:i:i}()),this.arr=t,this.idx=e,this.len=n}return t.prototype[jr.a]=function(){return this},t.prototype.next=function(){return this.idx=t.length?r.complete():(r.next(e[n]),t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.arrayLike,r=this.scheduler,i=n.length;if(r)return r.schedule(e.dispatch,0,{arrayLike:n,index:0,length:i,subscriber:t});for(var o=0;o1?new Ar.a(t,n):new ir.a(n),e)}}var xs=function(){},Ls="*";function Cs(t,e){return void 0===e&&(e=null),{type:2,steps:t,options:e}}function Ss(t){return{type:6,styles:t,offset:null}}function Ts(t){Promise.resolve(null).then(t)}var Os=function(){function t(){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=0}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.init=function(){},t.prototype.play=function(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0},t.prototype.triggerMicrotask=function(){var t=this;Ts(function(){return t._onFinish()})},t.prototype._onStart=function(){this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[]},t.prototype.pause=function(){},t.prototype.restart=function(){},t.prototype.finish=function(){this._onFinish()},t.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])},t.prototype.reset=function(){},t.prototype.setPosition=function(t){},t.prototype.getPosition=function(){return 0},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(function(t){return t()}),e.length=0},t}(),Ds=function(){function t(t){var e=this;this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;var n=0,r=0,i=0,o=this.players.length;0==o?Ts(function(){return e._onFinish()}):this.players.forEach(function(t){t.onDone(function(){++n==o&&e._onFinish()}),t.onDestroy(function(){++r==o&&e._onDestroy()}),t.onStart(function(){++i==o&&e._onStart()})}),this.totalTime=this.players.reduce(function(t,e){return Math.max(t,e.totalTime)},0)}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.init=function(){this.players.forEach(function(t){return t.init()})},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype._onStart=function(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[])},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.play=function(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(function(t){return t.play()})},t.prototype.pause=function(){this.players.forEach(function(t){return t.pause()})},t.prototype.restart=function(){this.players.forEach(function(t){return t.restart()})},t.prototype.finish=function(){this._onFinish(),this.players.forEach(function(t){return t.finish()})},t.prototype.destroy=function(){this._onDestroy()},t.prototype._onDestroy=function(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(function(t){return t.destroy()}),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])},t.prototype.reset=function(){this.players.forEach(function(t){return t.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype.setPosition=function(t){var e=t*this.totalTime;this.players.forEach(function(t){var n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})},t.prototype.getPosition=function(){var t=0;return this.players.forEach(function(e){var n=e.getPosition();t=Math.min(n,t)}),t},t.prototype.beforeDestroy=function(){this.players.forEach(function(t){t.beforeDestroy&&t.beforeDestroy()})},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(function(t){return t()}),e.length=0},t}(),Ys="!",Ps=function(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.direction="ltr",this.ariaDescribedBy=null,this.ariaLabel=null,this.autoFocus=!0};function Es(){throw Error("Attempting to attach dialog content after content is already attached")}var As=function(t){function e(e,n,i,o){var s=t.call(this)||this;return s._elementRef=e,s._focusTrapFactory=n,s._changeDetectorRef=i,s._document=o,s._elementFocusedBeforeDialogWasOpened=null,s._state="enter",s._animationStateChanged=new r.o,s._ariaLabelledBy=null,s}return Object(o.__extends)(e,t),e.prototype.attachComponentPortal=function(t){return this._portalOutlet.hasAttached()&&Es(),this._savePreviouslyFocusedElement(),this._portalOutlet.attachComponentPortal(t)},e.prototype.attachTemplatePortal=function(t){return this._portalOutlet.hasAttached()&&Es(),this._savePreviouslyFocusedElement(),this._portalOutlet.attachTemplatePortal(t)},e.prototype._trapFocus=function(){this._focusTrap||(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)),this._config.autoFocus&&this._focusTrap.focusInitialElementWhenReady()},e.prototype._restoreFocus=function(){var t=this._elementFocusedBeforeDialogWasOpened;t&&"function"==typeof t.focus&&t.focus(),this._focusTrap&&this._focusTrap.destroy()},e.prototype._savePreviouslyFocusedElement=function(){var t=this;this._document&&(this._elementFocusedBeforeDialogWasOpened=this._document.activeElement,Promise.resolve().then(function(){return t._elementRef.nativeElement.focus()}))},e.prototype._onAnimationDone=function(t){"enter"===t.toState?this._trapFocus():"exit"===t.toState&&this._restoreFocus(),this._animationStateChanged.emit(t)},e.prototype._onAnimationStart=function(t){this._animationStateChanged.emit(t)},e.prototype._startExitAnimation=function(){this._state="exit",this._changeDetectorRef.markForCheck()},e}(Li),js=0,Is=function(){function t(t,e,n){void 0===n&&(n="mat-dialog-"+js++);var r=this;this._overlayRef=t,this._containerInstance=e,this.id=n,this.disableClose=this._containerInstance._config.disableClose,this._afterOpen=new Br.a,this._afterClosed=new Br.a,this._beforeClose=new Br.a,e._animationStateChanged.pipe(_r(function(t){return"done"===t.phaseName&&"enter"===t.toState}),Object(Di.a)(1)).subscribe(function(){r._afterOpen.next(),r._afterOpen.complete()}),e._animationStateChanged.pipe(_r(function(t){return"done"===t.phaseName&&"exit"===t.toState}),Object(Di.a)(1)).subscribe(function(){r._overlayRef.dispose(),r._afterClosed.next(r._result),r._afterClosed.complete(),r.componentInstance=null})}return t.prototype.close=function(t){var e=this;this._result=t,this._containerInstance._animationStateChanged.pipe(_r(function(t){return"start"===t.phaseName}),Object(Di.a)(1)).subscribe(function(){e._beforeClose.next(t),e._beforeClose.complete(),e._overlayRef.detachBackdrop()}),this._containerInstance._startExitAnimation()},t.prototype.afterOpen=function(){return this._afterOpen.asObservable()},t.prototype.afterClosed=function(){return this._afterClosed.asObservable()},t.prototype.beforeClose=function(){return this._beforeClose.asObservable()},t.prototype.backdropClick=function(){return this._overlayRef.backdropClick()},t.prototype.keydownEvents=function(){return this._overlayRef.keydownEvents()},t.prototype.updatePosition=function(t){var e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this},t.prototype.updateSize=function(t,e){return void 0===t&&(t="auto"),void 0===e&&(e="auto"),this._getPositionStrategy().width(t).height(e),this._overlayRef.updatePosition(),this},t.prototype._getPositionStrategy=function(){return this._overlayRef.getConfig().positionStrategy},t}(),Rs=new r.r("MatDialogData"),Hs=new r.r("mat-dialog-scroll-strategy");function Fs(t){return function(){return t.scrollStrategies.block()}}var Ns=function(){function t(t,e,n,r,i,o){var s=this;this._overlay=t,this._injector=e,this._scrollStrategy=r,this._parentDialog=i,this._overlayContainer=o,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Br.a,this._afterOpenAtThisLevel=new Br.a,this._ariaHiddenElements=new Map,this.afterAllClosed=ss(function(){return s.openDialogs.length?s._afterAllClosed:s._afterAllClosed.pipe(ks(void 0))}),!i&&n&&n.subscribe(function(){return s.closeAll()})}return Object.defineProperty(t.prototype,"openDialogs",{get:function(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"afterOpen",{get:function(){return this._parentDialog?this._parentDialog.afterOpen:this._afterOpenAtThisLevel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_afterAllClosed",{get:function(){var t=this._parentDialog;return t?t._afterAllClosed:this._afterAllClosedAtThisLevel},enumerable:!0,configurable:!0}),t.prototype.open=function(t,e){var n=this;if((e=function(t){return Object(o.__assign)({},new Ps,t)}(e)).id&&this.getDialogById(e.id))throw Error('Dialog with id "'+e.id+'" exists already. The dialog id must be unique.');var r=this._createOverlay(e),i=this._attachDialogContainer(r,e),s=this._attachDialogContent(t,i,r,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(s),s.afterClosed().subscribe(function(){return n._removeOpenDialog(s)}),this.afterOpen.next(s),s},t.prototype.closeAll=function(){for(var t=this.openDialogs.length;t--;)this.openDialogs[t].close()},t.prototype.getDialogById=function(t){return this.openDialogs.find(function(e){return e.id===t})},t.prototype._createOverlay=function(t){var e=this._getOverlayConfig(t);return this._overlay.create(e)},t.prototype._getOverlayConfig=function(t){var e=new ji({positionStrategy:this._overlay.position().global(),scrollStrategy:this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight});return t.backdropClass&&(e.backdropClass=t.backdropClass),e},t.prototype._attachDialogContainer=function(t,e){var n=new ki(As,e.viewContainerRef),r=t.attach(n);return r.instance._config=e,r.instance},t.prototype._attachDialogContent=function(t,e,n,i){var o=new Is(n,e,i.id);if(i.hasBackdrop&&n.backdropClick().subscribe(function(){o.disableClose||o.close()}),n.keydownEvents().pipe(_r(function(t){return 27===t.keyCode&&!o.disableClose})).subscribe(function(){return o.close()}),t instanceof r.O)e.attachTemplatePortal(new xi(t,null,{$implicit:i.data,dialogRef:o}));else{var s=this._createInjector(i,o,e),l=e.attachComponentPortal(new ki(t,void 0,s));o.componentInstance=l.instance}return o.updateSize(i.width,i.height).updatePosition(i.position),o},t.prototype._createInjector=function(t,e,n){var r=t&&t.viewContainerRef&&t.viewContainerRef.injector,i=new WeakMap;return i.set(Is,e),i.set(As,n),i.set(Rs,t.data),i.set(vi,{value:t.direction,change:Object(ur.a)()}),new Oi(r||this._injector,i)},t.prototype._removeOpenDialog=function(t){var e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach(function(t,e){t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._afterAllClosed.next()))},t.prototype._hideNonDialogContentFromAssistiveTechnology=function(){var t=this._overlayContainer.getContainerElement();if(t.parentElement)for(var e=t.parentElement.children,n=e.length-1;n>-1;n--){var r=e[n];r===t||"SCRIPT"===r.nodeName||"STYLE"===r.nodeName||r.hasAttribute("aria-live")||(this._ariaHiddenElements.set(r,r.getAttribute("aria-hidden")),r.setAttribute("aria-hidden","true"))}},t}(),Vs=function(){},Bs=function(){},zs=cs.create,Ws=function(){function t(){}return Object.defineProperty(t.prototype,"value",{get:function(){return this.control?this.control.value:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return this.control?this.control.valid:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return this.control?this.control.invalid:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return this.control?this.control.pending:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this.control?this.control.disabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return this.control?this.control.enabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.control?this.control.errors:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pristine",{get:function(){return this.control?this.control.pristine:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return this.control?this.control.dirty:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"touched",{get:function(){return this.control?this.control.touched:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this.control?this.control.status:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return this.control?this.control.untouched:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"statusChanges",{get:function(){return this.control?this.control.statusChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valueChanges",{get:function(){return this.control?this.control.valueChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),t.prototype.reset=function(t){void 0===t&&(t=void 0),this.control&&this.control.reset(t)},t.prototype.hasError=function(t,e){return!!this.control&&this.control.hasError(t,e)},t.prototype.getError=function(t,e){return this.control?this.control.getError(t,e):null},t}(),Us=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"formDirective",{get:function(){return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),e}(Ws);function Gs(t){return null==t||0===t.length}var Js=new r.r("NgValidators"),qs=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,Qs=function(){function t(){}return t.min=function(t){return function(e){if(Gs(e.value)||Gs(t))return null;var n=parseFloat(e.value);return!isNaN(n)&&nt?{max:{max:t,actual:e.value}}:null}},t.required=function(t){return Gs(t.value)?{required:!0}:null},t.requiredTrue=function(t){return!0===t.value?null:{required:!0}},t.email=function(t){return qs.test(t.value)?null:{email:!0}},t.minLength=function(t){return function(e){if(Gs(e.value))return null;var n=e.value?e.value.length:0;return nt?{maxlength:{requiredLength:t,actualLength:n}}:null}},t.pattern=function(e){return e?("string"==typeof e?(r="^"+e+"$",n=new RegExp(r)):(r=e.toString(),n=e),function(t){if(Gs(t.value))return null;var e=t.value;return n.test(e)?null:{pattern:{requiredPattern:r,actualValue:e}}}):t.nullValidator;var n,r},t.nullValidator=function(t){return null},t.compose=function(t){if(!t)return null;var e=t.filter(Ks);return 0==e.length?null:function(t){return Zs(function(t,n){return e.map(function(e){return e(t)})}(t))}},t.composeAsync=function(t){if(!t)return null;var e=t.filter(Ks);return 0==e.length?null:function(t){var n=function(t,n){return e.map(function(e){return e(t)})}(t).map(Xs);return nr.call(ar(n),Zs)}},t}();function Ks(t){return null!=t}function Xs(t){var e=Object(r._15)(t)?zs(t):t;if(!Object(r._14)(e))throw new Error("Expected validator to return Promise or Observable.");return e}function Zs(t){var e=t.reduce(function(t,e){return null!=e?Object(o.__assign)({},t,e):t},{});return 0===Object.keys(e).length?null:e}var $s=new r.r("NgValueAccessor"),tl=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"checked",t)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t}(),el=new r.r("CompositionEventMode"),nl=function(){function t(t,e,n){var r;this._renderer=t,this._elementRef=e,this._compositionMode=n,this.onChange=function(t){},this.onTouched=function(){},this._composing=!1,null==this._compositionMode&&(this._compositionMode=(r=At()?At().getUserAgent():"",!/android (\d+)/.test(r.toLowerCase())))}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._handleInput=function(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)},t.prototype._compositionStart=function(){this._composing=!0},t.prototype._compositionEnd=function(t){this._composing=!1,this._compositionMode&&this.onChange(t)},t}();function rl(t){return t.validate?function(e){return t.validate(e)}:t}function il(t){return t.validate?function(e){return t.validate(e)}:t}var ol=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)},t.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t}();function sl(){throw new Error("unimplemented")}var ll=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._parent=null,e.name=null,e.valueAccessor=null,e._rawValidators=[],e._rawAsyncValidators=[],e}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"validator",{get:function(){return sl()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return sl()},enumerable:!0,configurable:!0}),e}(Ws),al=function(){function t(){this._accessors=[]}return t.prototype.add=function(t,e){this._accessors.push([t,e])},t.prototype.remove=function(t){for(var e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)},t.prototype.select=function(t){var e=this;this._accessors.forEach(function(n){e._isSameGroup(n,t)&&n[1]!==t&&n[1].fireUncheck(t.value)})},t.prototype._isSameGroup=function(t,e){return!!t[0].control&&t[0]._parent===e._control._parent&&t[1].name===e.name},t}(),ul=function(){function t(t,e,n,r){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=r,this.onChange=function(){},this.onTouched=function(){}}return t.prototype.ngOnInit=function(){this._control=this._injector.get(ll),this._checkName(),this._registry.add(this._control,this)},t.prototype.ngOnDestroy=function(){this._registry.remove(this)},t.prototype.writeValue=function(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)},t.prototype.registerOnChange=function(t){var e=this;this._fn=t,this.onChange=function(){t(e.value),e._registry.select(e)}},t.prototype.fireUncheck=function(t){this.writeValue(t)},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._checkName=function(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)},t.prototype._throwNameError=function(){throw new Error('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: \n ')},t}(),cl=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))},t.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t}();function dl(t,e){return null==t?""+e:(e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}var hl=function(){function t(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=function(t){},this.onTouched=function(){},this._compareWith=r._16}return Object.defineProperty(t.prototype,"compareWith",{set:function(t){if("function"!=typeof t)throw new Error("compareWith must be a function, but received "+JSON.stringify(t));this._compareWith=t},enumerable:!0,configurable:!0}),t.prototype.writeValue=function(t){this.value=t;var e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);var n=dl(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){e.value=e._getOptionValue(n),t(e.value)}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._registerOption=function(){return(this._idCounter++).toString()},t.prototype._getOptionId=function(t){for(var e=0,n=Array.from(this._optionMap.keys());e-1)}}else e=function(t,e){t._setSelected(!1)};this._optionMap.forEach(e)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){var r=[];if(n.hasOwnProperty("selectedOptions"))for(var i=n.selectedOptions,o=0;o1?"path: '"+t.path.join(" -> ")+"'":t.path[0]?"name: '"+t.path+"'":"unspecified name attribute",new Error(e+" "+n)}function kl(t){return null!=t?Qs.compose(t.map(rl)):null}function xl(t){return null!=t?Qs.composeAsync(t.map(il)):null}var Ll=[tl,cl,ol,hl,_l,ul];function Cl(t,e){t._syncPendingControls(),e.forEach(function(t){var e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function Sl(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}var Tl=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.__extends)(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormGroup(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormGroup(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormGroup(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return gl(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return kl(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return xl(this._asyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){},e}(Us),Ol=function(){function t(t){this._cd=t}return Object.defineProperty(t.prototype,"ngClassUntouched",{get:function(){return!!this._cd.control&&this._cd.control.untouched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassTouched",{get:function(){return!!this._cd.control&&this._cd.control.touched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassPristine",{get:function(){return!!this._cd.control&&this._cd.control.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassDirty",{get:function(){return!!this._cd.control&&this._cd.control.dirty},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassValid",{get:function(){return!!this._cd.control&&this._cd.control.valid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassInvalid",{get:function(){return!!this._cd.control&&this._cd.control.invalid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassPending",{get:function(){return!!this._cd.control&&this._cd.control.pending},enumerable:!0,configurable:!0}),t}(),Dl=function(t){function e(e){return t.call(this,e)||this}return Object(o.__extends)(e,t),e}(Ol),Yl=function(t){function e(e){return t.call(this,e)||this}return Object(o.__extends)(e,t),e}(Ol);function Pl(t){var e=Al(t)?t.validators:t;return Array.isArray(e)?kl(e):e||null}function El(t,e){var n=Al(e)?e.asyncValidators:t;return Array.isArray(n)?xl(n):n||null}function Al(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}var jl=function(){function t(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=function(){},this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}return Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return"VALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return"INVALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return"PENDING"==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return"DISABLED"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return"DISABLED"!==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return!this.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return!this.touched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"updateOn",{get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"},enumerable:!0,configurable:!0}),t.prototype.setValidators=function(t){this.validator=Pl(t)},t.prototype.setAsyncValidators=function(t){this.asyncValidator=El(t)},t.prototype.clearValidators=function(){this.validator=null},t.prototype.clearAsyncValidators=function(){this.asyncValidator=null},t.prototype.markAsTouched=function(t){void 0===t&&(t={}),this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)},t.prototype.markAsUntouched=function(t){void 0===t&&(t={}),this.touched=!1,this._pendingTouched=!1,this._forEachChild(function(t){t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype.markAsDirty=function(t){void 0===t&&(t={}),this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)},t.prototype.markAsPristine=function(t){void 0===t&&(t={}),this.pristine=!0,this._pendingDirty=!1,this._forEachChild(function(t){t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype.markAsPending=function(t){void 0===t&&(t={}),this.status="PENDING",this._parent&&!t.onlySelf&&this._parent.markAsPending(t)},t.prototype.disable=function(t){void 0===t&&(t={}),this.status="DISABLED",this.errors=null,this._forEachChild(function(t){t.disable({onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(!!t.onlySelf),this._onDisabledChange.forEach(function(t){return t(!0)})},t.prototype.enable=function(t){void 0===t&&(t={}),this.status="VALID",this._forEachChild(function(t){t.enable({onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(!!t.onlySelf),this._onDisabledChange.forEach(function(t){return t(!1)})},t.prototype._updateAncestors=function(t){this._parent&&!t&&(this._parent.updateValueAndValidity(),this._parent._updatePristine(),this._parent._updateTouched())},t.prototype.setParent=function(t){this._parent=t},t.prototype.updateValueAndValidity=function(t){void 0===t&&(t={}),this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),"VALID"!==this.status&&"PENDING"!==this.status||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)},t.prototype._updateTreeValidity=function(t){void 0===t&&(t={emitEvent:!0}),this._forEachChild(function(e){return e._updateTreeValidity(t)}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})},t.prototype._setInitialStatus=function(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"},t.prototype._runValidator=function(){return this.validator?this.validator(this):null},t.prototype._runAsyncValidator=function(t){var e=this;if(this.asyncValidator){this.status="PENDING";var n=Xs(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(function(n){return e.setErrors(n,{emitEvent:t})})}},t.prototype._cancelExistingSubscription=function(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()},t.prototype.setErrors=function(t,e){void 0===e&&(e={}),this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)},t.prototype.get=function(t){return function(t,e,n){return null==e?null:(e instanceof Array||(e=e.split(".")),e instanceof Array&&0===e.length?null:e.reduce(function(t,e){return t instanceof Rl?t.controls[e]||null:t instanceof Hl&&t.at(e)||null},t))}(this,t)},t.prototype.getError=function(t,e){var n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null},t.prototype.hasError=function(t,e){return!!this.getError(t,e)},Object.defineProperty(t.prototype,"root",{get:function(){for(var t=this;t._parent;)t=t._parent;return t},enumerable:!0,configurable:!0}),t.prototype._updateControlsErrors=function(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)},t.prototype._initObservables=function(){this.valueChanges=new r.o,this.statusChanges=new r.o},t.prototype._calculateStatus=function(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"},t.prototype._anyControlsHaveStatus=function(t){return this._anyControls(function(e){return e.status===t})},t.prototype._anyControlsDirty=function(){return this._anyControls(function(t){return t.dirty})},t.prototype._anyControlsTouched=function(){return this._anyControls(function(t){return t.touched})},t.prototype._updatePristine=function(t){void 0===t&&(t={}),this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype._updateTouched=function(t){void 0===t&&(t={}),this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype._isBoxedValue=function(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t},t.prototype._registerOnCollectionChange=function(t){this._onCollectionChange=t},t.prototype._setUpdateStrategy=function(t){Al(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)},t}(),Il=function(t){function e(e,n,r){void 0===e&&(e=null);var i=t.call(this,Pl(n),El(r,n))||this;return i._onChange=[],i._applyFormState(e),i._setUpdateStrategy(n),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i._initObservables(),i}return Object(o.__extends)(e,t),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(function(t){return t(n.value,!1!==e.emitViewToModelChange)}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){void 0===e&&(e={}),this.setValue(t,e)},e.prototype.reset=function(t,e){void 0===t&&(t=null),void 0===e&&(e={}),this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1},e.prototype._updateValue=function(){},e.prototype._anyControls=function(t){return!1},e.prototype._allControlsDisabled=function(){return this.disabled},e.prototype.registerOnChange=function(t){this._onChange.push(t)},e.prototype._clearChangeFns=function(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=function(){}},e.prototype.registerOnDisabledChange=function(t){this._onDisabledChange.push(t)},e.prototype._forEachChild=function(t){},e.prototype._syncPendingControls=function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))},e.prototype._applyFormState=function(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t},e}(jl),Rl=function(t){function e(e,n,r){var i=t.call(this,Pl(n),El(r,n))||this;return i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(o.__extends)(e,t),e.prototype.registerControl=function(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)},e.prototype.addControl=function(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.removeControl=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.contains=function(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled},e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),Object.keys(t).forEach(function(r){n._throwIfControlMissing(r),n.controls[r].setValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),Object.keys(t).forEach(function(r){n.controls[r]&&n.controls[r].patchValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this._forEachChild(function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)},e.prototype.getRawValue=function(){return this._reduceChildren({},function(t,e,n){return t[n]=e instanceof Il?e.value:e.getRawValue(),t})},e.prototype._syncPendingControls=function(){var t=this._reduceChildren(!1,function(t,e){return!!e._syncPendingControls()||t});return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error("Cannot find form control with name: "+t+".")},e.prototype._forEachChild=function(t){var e=this;Object.keys(this.controls).forEach(function(n){return t(e.controls[n],n)})},e.prototype._setUpControls=function(){var t=this;this._forEachChild(function(e){e.setParent(t),e._registerOnCollectionChange(t._onCollectionChange)})},e.prototype._updateValue=function(){this.value=this._reduceValue()},e.prototype._anyControls=function(t){var e=this,n=!1;return this._forEachChild(function(r,i){n=n||e.contains(i)&&t(r)}),n},e.prototype._reduceValue=function(){var t=this;return this._reduceChildren({},function(e,n,r){return(n.enabled||t.disabled)&&(e[r]=n.value),e})},e.prototype._reduceChildren=function(t,e){var n=t;return this._forEachChild(function(t,r){n=e(n,t,r)}),n},e.prototype._allControlsDisabled=function(){for(var t=0,e=Object.keys(this.controls);t0||this.disabled},e.prototype._checkAllValuesPresent=function(t){this._forEachChild(function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control with name: '"+n+"'.")})},e}(jl),Hl=function(t){function e(e,n,r){var i=t.call(this,Pl(n),El(r,n))||this;return i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(o.__extends)(e,t),e.prototype.at=function(t){return this.controls[t]},e.prototype.push=function(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.insert=function(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.removeAt=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),this.controls.splice(t,1),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()},Object.defineProperty(e.prototype,"length",{get:function(){return this.controls.length},enumerable:!0,configurable:!0}),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),t.forEach(function(t,r){n._throwIfControlMissing(r),n.at(r).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),t.forEach(function(t,r){n.at(r)&&n.at(r).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t=[]),void 0===e&&(e={}),this._forEachChild(function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)},e.prototype.getRawValue=function(){return this.controls.map(function(t){return t instanceof Il?t.value:t.getRawValue()})},e.prototype._syncPendingControls=function(){var t=this.controls.reduce(function(t,e){return!!e._syncPendingControls()||t},!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error("Cannot find form control at index "+t)},e.prototype._forEachChild=function(t){this.controls.forEach(function(e,n){t(e,n)})},e.prototype._updateValue=function(){var t=this;this.value=this.controls.filter(function(e){return e.enabled||t.disabled}).map(function(t){return t.value})},e.prototype._anyControls=function(t){return this.controls.some(function(e){return e.enabled&&t(e)})},e.prototype._setUpControls=function(){var t=this;this._forEachChild(function(e){return t._registerControl(e)})},e.prototype._checkAllValuesPresent=function(t){this._forEachChild(function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control at index: "+n+".")})},e.prototype._allControlsDisabled=function(){for(var t=0,e=this.controls;t0||this.disabled},e.prototype._registerControl=function(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)},e}(jl),Fl=Promise.resolve(null),Nl=function(t){function e(e,n){var i=t.call(this)||this;return i.submitted=!1,i._directives=[],i.ngSubmit=new r.o,i.form=new Rl({},kl(e),xl(n)),i}return Object(o.__extends)(e,t),e.prototype.ngAfterViewInit=function(){this._setUpdateStrategy()},Object.defineProperty(e.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"controls",{get:function(){return this.form.controls},enumerable:!0,configurable:!0}),e.prototype.addControl=function(t){var e=this;Fl.then(function(){var n=e._findContainer(t.path);t.control=n.registerControl(t.name,t.control),yl(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),e._directives.push(t)})},e.prototype.getControl=function(t){return this.form.get(t.path)},e.prototype.removeControl=function(t){var e=this;Fl.then(function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name),Sl(e._directives,t)})},e.prototype.addFormGroup=function(t){var e=this;Fl.then(function(){var n=e._findContainer(t.path),r=new Rl({});bl(r,t),n.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})},e.prototype.removeFormGroup=function(t){var e=this;Fl.then(function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name)})},e.prototype.getFormGroup=function(t){return this.form.get(t.path)},e.prototype.updateModel=function(t,e){var n=this;Fl.then(function(){n.form.get(t.path).setValue(e)})},e.prototype.setValue=function(t){this.control.setValue(t)},e.prototype.onSubmit=function(t){return this.submitted=!0,Cl(this.form,this._directives),this.ngSubmit.emit(t),!1},e.prototype.onReset=function(){this.resetForm()},e.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},e.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)},e.prototype._findContainer=function(t){return t.pop(),t.length?this.form.get(t):this.form},e}(Us),Vl='\n

              \n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',Bl='\n
              \n
              \n \n
              \n
              \n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',zl=function(){function t(){}return t.controlParentException=function(){throw new Error("formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+Vl)},t.ngModelGroupException=function(){throw new Error('formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n '+Bl+'\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n \n \n
              \n \n
              \n ')},t.missingFormException=function(){throw new Error("formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n "+Vl)},t.groupParentException=function(){throw new Error("formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+Bl)},t.arrayParentException=function(){throw new Error('formArrayName must be used with a parent formGroup directive. You\'ll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n \n
              \n
              \n
              \n \n
              \n
              \n
              \n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });')},t.disabledAttrWarning=function(){console.warn("\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n \n Example: \n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n ")},t}(),Wl=function(t){function e(e,n){var i=t.call(this)||this;return i._validators=e,i._asyncValidators=n,i.submitted=!1,i.directives=[],i.form=null,i.ngSubmit=new r.o,i}return Object(o.__extends)(e,t),e.prototype.ngOnChanges=function(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())},Object.defineProperty(e.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),e.prototype.addControl=function(t){var e=this.form.get(t.path);return yl(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e},e.prototype.getControl=function(t){return this.form.get(t.path)},e.prototype.removeControl=function(t){Sl(this.directives,t)},e.prototype.addFormGroup=function(t){var e=this.form.get(t.path);bl(e,t),e.updateValueAndValidity({emitEvent:!1})},e.prototype.removeFormGroup=function(t){},e.prototype.getFormGroup=function(t){return this.form.get(t.path)},e.prototype.addFormArray=function(t){var e=this.form.get(t.path);bl(e,t),e.updateValueAndValidity({emitEvent:!1})},e.prototype.removeFormArray=function(t){},e.prototype.getFormArray=function(t){return this.form.get(t.path)},e.prototype.updateModel=function(t,e){this.form.get(t.path).setValue(e)},e.prototype.onSubmit=function(t){return this.submitted=!0,Cl(this.form,this.directives),this.ngSubmit.emit(t),!1},e.prototype.onReset=function(){this.resetForm()},e.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},e.prototype._updateDomValue=function(){var t=this;this.directives.forEach(function(e){var n=t.form.get(e.path);e.control!==n&&(function(t,e){e.valueAccessor.registerOnChange(function(){return wl(e)}),e.valueAccessor.registerOnTouched(function(){return wl(e)}),e._rawValidators.forEach(function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),e._rawAsyncValidators.forEach(function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),t&&t._clearChangeFns()}(e.control,e),n&&yl(n,e),e.control=n)}),this.form._updateTreeValidity({emitEvent:!1})},e.prototype._updateRegistrations=function(){var t=this;this.form._registerOnCollectionChange(function(){return t._updateDomValue()}),this._oldForm&&this._oldForm._registerOnCollectionChange(function(){}),this._oldForm=this.form},e.prototype._updateValidators=function(){var t=kl(this._validators);this.form.validator=Qs.compose([this.form.validator,t]);var e=xl(this._asyncValidators);this.form.asyncValidator=Qs.composeAsync([this.form.asyncValidator,e])},e.prototype._checkFormPresent=function(){this.form||zl.missingFormException()},e}(Us),Ul=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}return Object(o.__extends)(e,t),e.prototype._checkParentType=function(){Jl(this._parent)&&zl.groupParentException()},e}(Tl),Gl=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}return Object(o.__extends)(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormArray(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormArray(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormArray(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return gl(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return kl(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return xl(this._asyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){Jl(this._parent)&&zl.arrayParentException()},e}(Us);function Jl(t){return!(t instanceof Ul||t instanceof Wl||t instanceof Gl)}var ql=function(t){function e(e,n,i,o){var s=t.call(this)||this;return s._added=!1,s.update=new r.o,s._parent=e,s._rawValidators=n||[],s._rawAsyncValidators=i||[],s.valueAccessor=function(t,e){if(!e)return null;var n=void 0,r=void 0,i=void 0;return e.forEach(function(e){var o;e.constructor===nl?n=e:(o=e,Ll.some(function(t){return o.constructor===t})?(r&&Ml(t,"More than one built-in value accessor matches form control with"),r=e):(i&&Ml(t,"More than one custom value accessor matches form control with"),i=e))}),i||r||n||(Ml(t,"No valid value accessor for form control with"),null)}(s,o),s}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"isDisabled",{set:function(t){zl.disabledAttrWarning()},enumerable:!0,configurable:!0}),e.prototype.ngOnChanges=function(t){this._added||this._setUpControl(),function(t,e){if(!t.hasOwnProperty("model"))return!1;var n=t.model;return!!n.isFirstChange()||!Object(r._16)(e,n.currentValue)}(t,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},e.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},Object.defineProperty(e.prototype,"path",{get:function(){return gl(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return kl(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return xl(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){!(this._parent instanceof Ul)&&this._parent instanceof Tl?zl.ngModelGroupException():this._parent instanceof Ul||this._parent instanceof Wl||this._parent instanceof Gl||zl.controlParentException()},e.prototype._setUpControl=function(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0},e}(ll),Ql=function(){function t(){}return Object.defineProperty(t.prototype,"required",{get:function(){return this._required},set:function(t){this._required=null!=t&&!1!==t&&""+t!="false",this._onChange&&this._onChange()},enumerable:!0,configurable:!0}),t.prototype.validate=function(t){return this.required?Qs.required(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t}(),Kl=function(){function t(){}return t.prototype.group=function(t,e){void 0===e&&(e=null);var n=this._reduceControls(t);return new Rl(n,null!=e?e.validator:null,null!=e?e.asyncValidator:null)},t.prototype.control=function(t,e,n){return new Il(t,e,n)},t.prototype.array=function(t,e,n){var r=this,i=t.map(function(t){return r._createControl(t)});return new Hl(i,e,n)},t.prototype._reduceControls=function(t){var e=this,n={};return Object.keys(t).forEach(function(r){n[r]=e._createControl(t[r])}),n},t.prototype._createControl=function(t){return t instanceof Il||t instanceof Rl||t instanceof Hl?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)},t}(),Xl=function(){},Zl=function(){},$l=function(){},ta=n("5X6E"),ea=function(){function t(t,e){this.delay=t,this.scheduler=e}return t.prototype.call=function(t,e){return e.subscribe(new na(t,this.delay,this.scheduler))},t}(),na=function(t){function e(e,n,r){t.call(this,e),this.delay=n,this.scheduler=r,this.queue=[],this.active=!1,this.errored=!1}return Object(o.__extends)(e,t),e.dispatch=function(t){for(var e=t.source,n=e.queue,r=t.scheduler,i=t.destination;n.length>0&&n[0].time-r.now()<=0;)n.shift().notification.observe(i);if(n.length>0){var o=Math.max(0,n[0].time-r.now());this.schedule(t,o)}else e.active=!1},e.prototype._schedule=function(t){this.active=!0,this.add(t.schedule(e.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))},e.prototype.scheduleNotification=function(t){if(!0!==this.errored){var e=this.scheduler,n=new ra(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}},e.prototype._next=function(t){this.scheduleNotification(Ur.createNext(t))},e.prototype._error=function(t){this.errored=!0,this.queue=[],this.destination.error(t)},e.prototype._complete=function(){this.scheduleNotification(Ur.createComplete())},e}(cr.a),ra=function(t,e){this.time=t,this.notification=e},ia=function(){};function oa(t){return Error("A hint was already declared for 'align=\""+t+"\"'.")}var sa=0,la=function(){function t(t,e,n){this._elementRef=t,this._changeDetectorRef=e,this.color="primary",this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+sa++,this._labelOptions=n||{},this.floatLabel=this._labelOptions.float||"auto"}return Object.defineProperty(t.prototype,"dividerColor",{get:function(){return this.color},set:function(t){this.color=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideRequiredMarker",{get:function(){return this._hideRequiredMarker},set:function(t){this._hideRequiredMarker=Yi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_shouldAlwaysFloat",{get:function(){return"always"===this._floatLabel&&!this._showAlwaysAnimate},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_canLabelFloat",{get:function(){return"never"!==this._floatLabel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hintLabel",{get:function(){return this._hintLabel},set:function(t){this._hintLabel=t,this._processHints()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"floatPlaceholder",{get:function(){return this._floatLabel},set:function(t){this.floatLabel=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"floatLabel",{get:function(){return this._floatLabel},set:function(t){t!==this._floatLabel&&(this._floatLabel=t||this._labelOptions.float||"auto",this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this._validateControlChild(),this._control.controlType&&this._elementRef.nativeElement.classList.add("mat-form-field-type-"+this._control.controlType),this._control.stateChanges.pipe(ks(null)).subscribe(function(){t._validatePlaceholders(),t._syncDescribedByIds(),t._changeDetectorRef.markForCheck()});var e=this._control.ngControl;e&&e.valueChanges&&e.valueChanges.subscribe(function(){t._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(ks(null)).subscribe(function(){t._processHints(),t._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(ks(null)).subscribe(function(){t._syncDescribedByIds(),t._changeDetectorRef.markForCheck()})},t.prototype.ngAfterContentChecked=function(){this._validateControlChild()},t.prototype.ngAfterViewInit=function(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()},t.prototype._shouldForward=function(t){var e=this._control?this._control.ngControl:null;return e&&e[t]},t.prototype._hasPlaceholder=function(){return!(!this._control.placeholder&&!this._placeholderChild)},t.prototype._hasLabel=function(){return!!this._labelChild},t.prototype._shouldLabelFloat=function(){return this._canLabelFloat&&(this._control.shouldLabelFloat||this._control.shouldPlaceholderFloat||this._shouldAlwaysFloat)},t.prototype._hideControlPlaceholder=function(){return!this._hasLabel()||!this._shouldLabelFloat()},t.prototype._hasFloatingLabel=function(){return this._hasLabel()||this._hasPlaceholder()},t.prototype._getDisplayedMessages=function(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"},t.prototype._animateAndLockLabel=function(){var t=this;this._hasFloatingLabel()&&this._canLabelFloat&&(this._showAlwaysAnimate=!0,this._floatLabel="always",ai(this._label.nativeElement,"transitionend").pipe(Object(Di.a)(1)).subscribe(function(){t._showAlwaysAnimate=!1}),this._changeDetectorRef.markForCheck())},t.prototype._validatePlaceholders=function(){if(this._control.placeholder&&this._placeholderChild)throw Error("Placeholder attribute and child element were both specified.")},t.prototype._processHints=function(){this._validateHints(),this._syncDescribedByIds()},t.prototype._validateHints=function(){var t,e,n=this;this._hintChildren&&this._hintChildren.forEach(function(r){if("start"==r.align){if(t||n.hintLabel)throw oa("start");t=r}else if("end"==r.align){if(e)throw oa("end");e=r}})},t.prototype._syncDescribedByIds=function(){if(this._control){var t=[];if("hint"===this._getDisplayedMessages()){var e=this._hintChildren?this._hintChildren.find(function(t){return"start"===t.align}):null,n=this._hintChildren?this._hintChildren.find(function(t){return"end"===t.align}):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&(t=this._errorChildren.map(function(t){return t.id}));this._control.setDescribedByIds(t)}},t.prototype._validateControlChild=function(){if(!this._control)throw Error("mat-form-field must contain a MatFormFieldControl.")},t}(),aa=function(){},ua=function(){},ca=function(){},da=function(){},ha=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i._platform=n,i._focusMonitor=r,i._isRoundButton=i._hasHostAttributes("mat-fab","mat-mini-fab"),i._isIconButton=i._hasHostAttributes("mat-icon-button"),i._focusMonitor.monitor(i._elementRef.nativeElement,!0),i}return Object(o.__extends)(e,t),e.prototype.ngOnDestroy=function(){this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)},e.prototype.focus=function(){this._getHostElement().focus()},e.prototype._getHostElement=function(){return this._elementRef.nativeElement},e.prototype._isRippleDisabled=function(){return this.disableRipple||this.disabled},e.prototype._hasHostAttributes=function(){for(var t=this,e=[],n=0;n1&&!this._isMulti)throw Error("Cannot pass multiple values into SelectionModel with single-value mode.")},t}(),ma=function(t,e){this.added=t,this.removed=e},ga=function(){function t(){this._listeners=[]}return t.prototype.notify=function(t,e){for(var n=0,r=this._listeners;n0?this._ngZone.runOutsideAngular(function(){t._debouncer.pipe(ao(t.debounce)).subscribe(function(e){return t.event.emit(e)})}):this._debouncer.subscribe(function(e){return t.event.emit(e)}),this._observer=this._ngZone.runOutsideAngular(function(){return t._mutationObserverFactory.create(function(e){t._debouncer.next(e)})}),this._observer&&this._observer.observe(this._elementRef.nativeElement,{characterData:!0,childList:!0,subtree:!0})},t.prototype.ngOnDestroy=function(){this._observer&&this._observer.disconnect(),this._debouncer.complete()},t}(),Ma=function(){},ka=new r.r("mat-checkbox-click-action"),xa=0,La=function(){var t={Init:0,Checked:1,Unchecked:2,Indeterminate:3};return t[t.Init]="Init",t[t.Checked]="Checked",t[t.Unchecked]="Unchecked",t[t.Indeterminate]="Indeterminate",t}(),Ca=function(t){function e(e,n,i,o,s){var l=t.call(this,e)||this;return l._changeDetectorRef=n,l._focusMonitor=i,l._clickAction=s,l.ariaLabel="",l.ariaLabelledby=null,l._uniqueId="mat-checkbox-"+ ++xa,l.id=l._uniqueId,l.labelPosition="after",l.name=null,l.change=new r.o,l.indeterminateChange=new r.o,l._rippleConfig={centered:!0,radius:25,speedFactor:1.5},l.onTouched=function(){},l._currentAnimationClass="",l._currentCheckState=La.Init,l._checked=!1,l._indeterminate=!1,l._controlValueAccessorChangeFn=function(){},l.tabIndex=parseInt(o)||0,l}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"inputId",{get:function(){return(this.id||this._uniqueId)+"-input"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(t){this._required=Yi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"align",{get:function(){return"after"==this.labelPosition?"start":"end"},set:function(t){this.labelPosition="start"==t?"after":"before"},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){var t=this;this._focusMonitor.monitor(this._inputElement.nativeElement,!1).subscribe(function(e){return t._onInputFocusChange(e)})},e.prototype.ngOnDestroy=function(){this._focusMonitor.stopMonitoring(this._inputElement.nativeElement)},Object.defineProperty(e.prototype,"checked",{get:function(){return this._checked},set:function(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"indeterminate",{get:function(){return this._indeterminate},set:function(t){var e=t!=this._indeterminate;this._indeterminate=t,e&&(this._transitionCheckState(this._indeterminate?La.Indeterminate:this.checked?La.Checked:La.Unchecked),this.indeterminateChange.emit(this._indeterminate))},enumerable:!0,configurable:!0}),e.prototype._isRippleDisabled=function(){return this.disableRipple||this.disabled},e.prototype._onLabelTextChange=function(){this._changeDetectorRef.markForCheck()},e.prototype.writeValue=function(t){this.checked=!!t},e.prototype.registerOnChange=function(t){this._controlValueAccessorChangeFn=t},e.prototype.registerOnTouched=function(t){this.onTouched=t},e.prototype.setDisabledState=function(t){this.disabled=t,this._changeDetectorRef.markForCheck()},e.prototype._getAriaChecked=function(){return this.checked?"true":this.indeterminate?"mixed":"false"},e.prototype._transitionCheckState=function(t){var e=this._currentCheckState,n=this._elementRef.nativeElement;e!==t&&(this._currentAnimationClass.length>0&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(e,t),this._currentCheckState=t,this._currentAnimationClass.length>0&&n.classList.add(this._currentAnimationClass))},e.prototype._emitChangeEvent=function(){var t=new function(){};t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t)},e.prototype._onInputFocusChange=function(t){this._focusRipple||"keyboard"!==t?t||(this._removeFocusRipple(),this.onTouched()):this._focusRipple=this._ripple.launch(0,0,Object(o.__assign)({persistent:!0},this._rippleConfig))},e.prototype.toggle=function(){this.checked=!this.checked},e.prototype._onInputClick=function(t){var e=this;t.stopPropagation(),this.disabled||"noop"===this._clickAction?this.disabled||"noop"!==this._clickAction||(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==this._clickAction&&Promise.resolve().then(function(){e._indeterminate=!1,e.indeterminateChange.emit(e._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?La.Checked:La.Unchecked),this._emitChangeEvent())},e.prototype.focus=function(){this._focusMonitor.focusVia(this._inputElement.nativeElement,"keyboard")},e.prototype._onInteractionEvent=function(t){t.stopPropagation()},e.prototype._getAnimationClassForCheckStateTransition=function(t,e){var n="";switch(t){case La.Init:if(e===La.Checked)n="unchecked-checked";else{if(e!=La.Indeterminate)return"";n="unchecked-indeterminate"}break;case La.Unchecked:n=e===La.Checked?"unchecked-checked":"unchecked-indeterminate";break;case La.Checked:n=e===La.Unchecked?"checked-unchecked":"checked-indeterminate";break;case La.Indeterminate:n=e===La.Checked?"indeterminate-checked":"indeterminate-unchecked"}return"mat-checkbox-anim-"+n},e.prototype._removeFocusRipple=function(){this._focusRipple&&(this._focusRipple.fadeOut(),this._focusRipple=null)},e}(Ho(Io(Ro(jo(function(t){this._elementRef=t})),"accent"))),Sa=function(){},Ta=function(){function t(t){this.callback=t}return t.prototype.call=function(t,e){return e.subscribe(new Oa(t,this.callback))},t}(),Oa=function(t){function e(e,n){t.call(this,e),this.add(new Sr.a(n))}return Object(o.__extends)(e,t),e}(cr.a),Da=n("3a3m");function Ya(t,e){return function(t,e){return Object(kr.a)(t,e,1)}(t,e)(this)}var Pa=function(){},Ea=function(){},Aa=function(){function t(t){var e=this;this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?function(){e.headers=new Map,t.split("\n").forEach(function(t){var n=t.indexOf(":");if(n>0){var r=t.slice(0,n),i=r.toLowerCase(),o=t.slice(n+1).trim();e.maybeSetNormalizedName(r,i),e.headers.has(i)?e.headers.get(i).push(o):e.headers.set(i,[o])}})}:function(){e.headers=new Map,Object.keys(t).forEach(function(n){var r=t[n],i=n.toLowerCase();"string"==typeof r&&(r=[r]),r.length>0&&(e.headers.set(i,r),e.maybeSetNormalizedName(n,i))})}:this.headers=new Map}return t.prototype.has=function(t){return this.init(),this.headers.has(t.toLowerCase())},t.prototype.get=function(t){this.init();var e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null},t.prototype.keys=function(){return this.init(),Array.from(this.normalizedNames.values())},t.prototype.getAll=function(t){return this.init(),this.headers.get(t.toLowerCase())||null},t.prototype.append=function(t,e){return this.clone({name:t,value:e,op:"a"})},t.prototype.set=function(t,e){return this.clone({name:t,value:e,op:"s"})},t.prototype.delete=function(t,e){return this.clone({name:t,value:e,op:"d"})},t.prototype.maybeSetNormalizedName=function(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)},t.prototype.init=function(){var e=this;this.lazyInit&&(this.lazyInit instanceof t?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(function(t){return e.applyUpdate(t)}),this.lazyUpdate=null))},t.prototype.copyFrom=function(t){var e=this;t.init(),Array.from(t.headers.keys()).forEach(function(n){e.headers.set(n,t.headers.get(n)),e.normalizedNames.set(n,t.normalizedNames.get(n))})},t.prototype.clone=function(e){var n=new t;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([e]),n},t.prototype.applyUpdate=function(t){var e=t.name.toLowerCase();switch(t.op){case"a":case"s":var n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);var r=("a"===t.op?this.headers.get(e):void 0)||[];r.push.apply(r,n),this.headers.set(e,r);break;case"d":var i=t.value;if(i){var o=this.headers.get(e);if(!o)return;0===(o=o.filter(function(t){return-1===i.indexOf(t)})).length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,o)}else this.headers.delete(e),this.normalizedNames.delete(e)}},t.prototype.forEach=function(t){var e=this;this.init(),Array.from(this.normalizedNames.keys()).forEach(function(n){return t(e.normalizedNames.get(n),e.headers.get(n))})},t}(),ja=function(){function t(){}return t.prototype.encodeKey=function(t){return Ia(t)},t.prototype.encodeValue=function(t){return Ia(t)},t.prototype.decodeKey=function(t){return decodeURIComponent(t)},t.prototype.decodeValue=function(t){return decodeURIComponent(t)},t}();function Ia(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}var Ra=function(){function t(t){void 0===t&&(t={});var e,n,r,i=this;if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new ja,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=(e=t.fromString,n=this.encoder,r=new Map,e.length>0&&e.split("&").forEach(function(t){var e=t.indexOf("="),i=-1==e?[n.decodeKey(t),""]:[n.decodeKey(t.slice(0,e)),n.decodeValue(t.slice(e+1))],o=i[0],s=i[1],l=r.get(o)||[];l.push(s),r.set(o,l)}),r)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(function(e){var n=t.fromObject[e];i.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}return t.prototype.has=function(t){return this.init(),this.map.has(t)},t.prototype.get=function(t){this.init();var e=this.map.get(t);return e?e[0]:null},t.prototype.getAll=function(t){return this.init(),this.map.get(t)||null},t.prototype.keys=function(){return this.init(),Array.from(this.map.keys())},t.prototype.append=function(t,e){return this.clone({param:t,value:e,op:"a"})},t.prototype.set=function(t,e){return this.clone({param:t,value:e,op:"s"})},t.prototype.delete=function(t,e){return this.clone({param:t,value:e,op:"d"})},t.prototype.toString=function(){var t=this;return this.init(),this.keys().map(function(e){var n=t.encoder.encodeKey(e);return t.map.get(e).map(function(e){return n+"="+t.encoder.encodeValue(e)}).join("&")}).join("&")},t.prototype.clone=function(e){var n=new t({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat([e]),n},t.prototype.init=function(){var t=this;null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(function(e){return t.map.set(e,t.cloneFrom.map.get(e))}),this.updates.forEach(function(e){switch(e.op){case"a":case"s":var n=("a"===e.op?t.map.get(e.param):void 0)||[];n.push(e.value),t.map.set(e.param,n);break;case"d":if(void 0===e.value){t.map.delete(e.param);break}var r=t.map.get(e.param)||[],i=r.indexOf(e.value);-1!==i&&r.splice(i,1),r.length>0?t.map.set(e.param,r):t.map.delete(e.param)}}),this.cloneFrom=null)},t}();function Ha(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function Fa(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Na(t){return"undefined"!=typeof FormData&&t instanceof FormData}var Va=function(){function t(t,e,n,r){var i;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,i=r):i=n,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.params&&(this.params=i.params)),this.headers||(this.headers=new Aa),this.params){var o=this.params.toString();if(0===o.length)this.urlWithParams=e;else{var s=e.indexOf("?");this.urlWithParams=e+(-1===s?"?":s=200&&this.status<300}}(),Wa=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.type=Ba.ResponseHeader,n}return Object(o.__extends)(e,t),e.prototype.clone=function(t){return void 0===t&&(t={}),new e({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})},e}(za),Ua=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.type=Ba.Response,n.body=void 0!==e.body?e.body:null,n}return Object(o.__extends)(e,t),e.prototype.clone=function(t){return void 0===t&&(t={}),new e({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})},e}(za),Ga=function(t){function e(e){var n=t.call(this,e,0,"Unknown Error")||this;return n.name="HttpErrorResponse",n.ok=!1,n.message=n.status>=200&&n.status<300?"Http failure during parsing for "+(e.url||"(unknown url)"):"Http failure response for "+(e.url||"(unknown url)")+": "+e.status+" "+e.statusText,n.error=e.error||null,n}return Object(o.__extends)(e,t),e}(za);function Ja(t,e){return{body:e,headers:t.headers,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}var qa=function(){function t(t){this.handler=t}return t.prototype.request=function(t,e,n){var r,i=this;if(void 0===n&&(n={}),t instanceof Va)r=t;else{var o;o=n.headers instanceof Aa?n.headers:new Aa(n.headers);var s=void 0;n.params&&(s=n.params instanceof Ra?n.params:new Ra({fromObject:n.params})),r=new Va(t,e,void 0!==n.body?n.body:null,{headers:o,params:s,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}var l=Ya.call(Object(ur.a)(r),function(t){return i.handler.handle(t)});if(t instanceof Va||"events"===n.observe)return l;var a=yr.call(l,function(t){return t instanceof Ua});switch(n.observe||"body"){case"body":switch(r.responseType){case"arraybuffer":return nr.call(a,function(t){if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body});case"blob":return nr.call(a,function(t){if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body});case"text":return nr.call(a,function(t){if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body});case"json":default:return nr.call(a,function(t){return t.body})}case"response":return a;default:throw new Error("Unreachable: unhandled observe type "+n.observe+"}")}},t.prototype.delete=function(t,e){return void 0===e&&(e={}),this.request("DELETE",t,e)},t.prototype.get=function(t,e){return void 0===e&&(e={}),this.request("GET",t,e)},t.prototype.head=function(t,e){return void 0===e&&(e={}),this.request("HEAD",t,e)},t.prototype.jsonp=function(t,e){return this.request("JSONP",t,{params:(new Ra).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})},t.prototype.options=function(t,e){return void 0===e&&(e={}),this.request("OPTIONS",t,e)},t.prototype.patch=function(t,e,n){return void 0===n&&(n={}),this.request("PATCH",t,Ja(n,e))},t.prototype.post=function(t,e,n){return void 0===n&&(n={}),this.request("POST",t,Ja(n,e))},t.prototype.put=function(t,e,n){return void 0===n&&(n={}),this.request("PUT",t,Ja(n,e))},t}(),Qa=function(){function t(t,e){this.next=t,this.interceptor=e}return t.prototype.handle=function(t){return this.interceptor.intercept(t,this.next)},t}(),Ka=new r.r("HTTP_INTERCEPTORS"),Xa=function(){function t(){}return t.prototype.intercept=function(t,e){return e.handle(t)},t}(),Za=/^\)\]\}',?\n/,$a=function(){},tu=function(){function t(){}return t.prototype.build=function(){return new XMLHttpRequest},t}(),eu=function(){function t(t){this.xhrFactory=t}return t.prototype.handle=function(t){var e=this;if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without JsonpClientModule installed.");return new s.a(function(n){var r=e.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach(function(t,e){return r.setRequestHeader(t,e.join(","))}),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){var i=t.detectContentTypeHeader();null!==i&&r.setRequestHeader("Content-Type",i)}if(t.responseType){var o=t.responseType.toLowerCase();r.responseType="json"!==o?o:"text"}var s=t.serializeBody(),l=null,a=function(){if(null!==l)return l;var e=1223===r.status?204:r.status,n=r.statusText||"OK",i=new Aa(r.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(r)||t.url;return l=new Wa({headers:i,status:e,statusText:n,url:o})},u=function(){var e=a(),i=e.headers,o=e.status,s=e.statusText,l=e.url,u=null;204!==o&&(u="undefined"==typeof r.response?r.responseText:r.response),0===o&&(o=u?200:0);var c=o>=200&&o<300;if("json"===t.responseType&&"string"==typeof u){var d=u;u=u.replace(Za,"");try{u=""!==u?JSON.parse(u):null}catch(t){u=d,c&&(c=!1,u={error:t,text:u})}}c?(n.next(new Ua({body:u,headers:i,status:o,statusText:s,url:l||void 0})),n.complete()):n.error(new Ga({error:u,headers:i,status:o,statusText:s,url:l||void 0}))},c=function(t){var e=new Ga({error:t,status:r.status||0,statusText:r.statusText||"Unknown Error"});n.error(e)},d=!1,h=function(e){d||(n.next(a()),d=!0);var i={type:Ba.DownloadProgress,loaded:e.loaded};e.lengthComputable&&(i.total=e.total),"text"===t.responseType&&r.responseText&&(i.partialText=r.responseText),n.next(i)},p=function(t){var e={type:Ba.UploadProgress,loaded:t.loaded};t.lengthComputable&&(e.total=t.total),n.next(e)};return r.addEventListener("load",u),r.addEventListener("error",c),t.reportProgress&&(r.addEventListener("progress",h),null!==s&&r.upload&&r.upload.addEventListener("progress",p)),r.send(s),n.next({type:Ba.Sent}),function(){r.removeEventListener("error",c),r.removeEventListener("load",u),t.reportProgress&&(r.removeEventListener("progress",h),null!==s&&r.upload&&r.upload.removeEventListener("progress",p)),r.abort()}})},t}(),nu=new r.r("XSRF_COOKIE_NAME"),ru=new r.r("XSRF_HEADER_NAME"),iu=function(){},ou=function(){function t(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}return t.prototype.getToken=function(){if("server"===this.platform)return null;var t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=j(t,this.cookieName),this.lastCookieString=t),this.lastToken},t}(),su=function(){function t(t,e){this.tokenService=t,this.headerName=e}return t.prototype.intercept=function(t,e){var n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);var r=this.tokenService.getToken();return null===r||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,r)})),e.handle(t)},t}();function lu(t,e){return void 0===e&&(e=[]),e?e.reduceRight(function(t,e){return new Qa(t,e)},t):t}var au=function(){function t(){}return t.disable=function(){return{ngModule:t,providers:[{provide:su,useClass:Xa}]}},t.withOptions=function(e){return void 0===e&&(e={}),{ngModule:t,providers:[e.cookieName?{provide:nu,useValue:e.cookieName}:[],e.headerName?{provide:ru,useValue:e.headerName}:[]]}},t}(),uu=function(){};function cu(t){return Error('Unable to find icon with the name "'+t+'"')}function du(t){return Error("The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was \""+t+'".')}var hu=function(t){this.url=t,this.svgElement=null},pu=function(){function t(t,e,n){this._httpClient=t,this._sanitizer=e,this._document=n,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._defaultFontSetClass="material-icons"}return t.prototype.addSvgIcon=function(t,e){return this.addSvgIconInNamespace("",t,e)},t.prototype.addSvgIconInNamespace=function(t,e,n){var r=mu(t,e);return this._svgIconConfigs.set(r,new hu(n)),this},t.prototype.addSvgIconSet=function(t){return this.addSvgIconSetInNamespace("",t)},t.prototype.addSvgIconSetInNamespace=function(t,e){var n=new hu(e),r=this._iconSetConfigs.get(t);return r?r.push(n):this._iconSetConfigs.set(t,[n]),this},t.prototype.registerFontClassAlias=function(t,e){return void 0===e&&(e=t),this._fontCssClassesByAlias.set(t,e),this},t.prototype.classNameForFontAlias=function(t){return this._fontCssClassesByAlias.get(t)||t},t.prototype.setDefaultFontSetClass=function(t){return this._defaultFontSetClass=t,this},t.prototype.getDefaultFontSetClass=function(){return this._defaultFontSetClass},t.prototype.getSvgIconFromUrl=function(t){var e=this,n=this._sanitizer.sanitize(r.K.RESOURCE_URL,t);if(!n)throw du(t);var i=this._cachedIconsByUrl.get(n);return i?Object(ur.a)(_u(i)):this._loadSvgIconFromConfig(new hu(t)).pipe(dr(function(t){return e._cachedIconsByUrl.set(n,t)}),Object(er.a)(function(t){return _u(t)}))},t.prototype.getNamedSvgIcon=function(t,e){void 0===e&&(e="");var n=mu(e,t),r=this._svgIconConfigs.get(n);if(r)return this._getSvgFromConfig(r);var i=this._iconSetConfigs.get(e);return i?this._getSvgFromIconSetConfigs(t,i):qn(cu(n))},t.prototype._getSvgFromConfig=function(t){return t.svgElement?Object(ur.a)(_u(t.svgElement)):this._loadSvgIconFromConfig(t).pipe(dr(function(e){return t.svgElement=e}),Object(er.a)(function(t){return _u(t)}))},t.prototype._getSvgFromIconSetConfigs=function(t,e){var n=this,i=this._extractIconWithNameFromAnySet(t,e);if(i)return Object(ur.a)(i);var o=e.filter(function(t){return!t.svgElement}).map(function(t){return n._loadSvgIconSetFromConfig(t).pipe(Xn(function(e){var i=n._sanitizer.sanitize(r.K.RESOURCE_URL,t.url);return console.log("Loading icon set URL: "+i+" failed: "+e),Object(ur.a)(null)}),dr(function(e){e&&(t.svgElement=e)}))});return ar(o).pipe(Object(er.a)(function(){var r=n._extractIconWithNameFromAnySet(t,e);if(!r)throw cu(t);return r}))},t.prototype._extractIconWithNameFromAnySet=function(t,e){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.svgElement){var i=this._extractSvgIconFromSet(r.svgElement,t);if(i)return i}}return null},t.prototype._loadSvgIconFromConfig=function(t){var e=this;return this._fetchUrl(t.url).pipe(Object(er.a)(function(t){return e._createSvgElementForSingleIcon(t)}))},t.prototype._loadSvgIconSetFromConfig=function(t){var e=this;return this._fetchUrl(t.url).pipe(Object(er.a)(function(t){return e._svgElementFromString(t)}))},t.prototype._createSvgElementForSingleIcon=function(t){var e=this._svgElementFromString(t);return this._setSvgAttributes(e),e},t.prototype._extractSvgIconFromSet=function(t,e){var n=t.querySelector("#"+e);if(!n)return null;var r=n.cloneNode(!0);if(r.id="","svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r));var i=this._svgElementFromString("");return i.appendChild(r),this._setSvgAttributes(i)},t.prototype._svgElementFromString=function(t){if(this._document||"undefined"!=typeof document){var e=(this._document||document).createElement("DIV");e.innerHTML=t;var n=e.querySelector("svg");if(!n)throw Error(" tag not found");return n}throw new Error("MatIconRegistry could not resolve document.")},t.prototype._toSvgElement=function(t){for(var e=this._svgElementFromString(""),n=0;n')}(),this._xPosition=t,this.setPositionClasses()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"yPosition",{get:function(){return this._yPosition},set:function(t){"above"!==t&&"below"!==t&&function(){throw Error('y-position value must be either \'above\' or below\'.\n Example: ')}(),this._yPosition=t,this.setPositionClasses()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"overlapTrigger",{get:function(){return this._overlapTrigger},set:function(t){this._overlapTrigger=Yi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"panelClass",{set:function(t){t&&t.length&&(this._classList=t.split(" ").reduce(function(t,e){return t[e]=!0,t},{}),this._elementRef.nativeElement.className="",this.setPositionClasses())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"classList",{get:function(){return this.panelClass},set:function(t){this.panelClass=t},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this._keyManager=new Co(this.items).withWrap().withTypeAhead(),this._tabSubscription=this._keyManager.tabOut.subscribe(function(){return t.close.emit("keydown")})},t.prototype.ngOnDestroy=function(){this._tabSubscription.unsubscribe(),this.closed.complete()},t.prototype._hovered=function(){var t=this;return this.items?this.items.changes.pipe(ks(this.items),Object(ta.a)(function(t){return hi.a.apply(void 0,t.map(function(t){return t._hovered}))})):this._ngZone.onStable.asObservable().pipe(Object(Di.a)(1),Object(ta.a)(function(){return t._hovered()}))},t.prototype._handleKeydown=function(t){switch(t.keyCode){case 27:this.closed.emit("keydown"),t.stopPropagation();break;case 37:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case 39:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:this._keyManager.onKeydown(t)}},t.prototype.focusFirstItem=function(){this._keyManager.setFirstItemActive()},t.prototype.resetActiveItem=function(){this._keyManager.setActiveItem(-1)},t.prototype.setPositionClasses=function(t,e){void 0===t&&(t=this.xPosition),void 0===e&&(e=this.yPosition),this._classList["mat-menu-before"]="before"===t,this._classList["mat-menu-after"]="after"===t,this._classList["mat-menu-above"]="above"===e,this._classList["mat-menu-below"]="below"===e},t.prototype.setElevation=function(t){var e="mat-elevation-z"+(2+t),n=Object.keys(this._classList).find(function(t){return t.startsWith("mat-elevation-z")});n&&n!==this._previousElevation||(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[e]=!0,this._previousElevation=e)},t.prototype._startAnimation=function(){this._panelAnimationState="enter-start"},t.prototype._resetAnimation=function(){this._panelAnimationState="void"},t.prototype._onAnimationDone=function(t){"enter-start"===t.toState&&(this._panelAnimationState="enter")},t}(),Du=new r.r("mat-menu-scroll-strategy");function Yu(t){return function(){return t.scrollStrategies.reposition()}}var Pu=function(){function t(t,e,n,i,o,s,l){this._overlay=t,this._element=e,this._viewContainerRef=n,this._scrollStrategy=i,this._parentMenu=o,this._menuItemInstance=s,this._dir=l,this._overlayRef=null,this._menuOpen=!1,this._closeSubscription=Sr.a.EMPTY,this._positionSubscription=Sr.a.EMPTY,this._hoverSubscription=Sr.a.EMPTY,this._openedByMouse=!1,this.menuOpened=new r.o,this.onMenuOpen=this.menuOpened,this.menuClosed=new r.o,this.onMenuClose=this.menuClosed,s&&(s._triggersSubmenu=this.triggersSubmenu())}return Object.defineProperty(t.prototype,"_deprecatedMatMenuTriggerFor",{get:function(){return this.menu},set:function(t){this.menu=t},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this._checkMenu(),this.menu.close.subscribe(function(e){t._destroyMenu(),"click"===e&&t._parentMenu&&t._parentMenu.closed.emit(e)}),this.triggersSubmenu()&&(this._hoverSubscription=this._parentMenu._hovered().pipe(_r(function(e){return e===t._menuItemInstance})).subscribe(function(){t._openedByMouse=!0,t.openMenu()}))},t.prototype.ngOnDestroy=function(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._cleanUpSubscriptions()},Object.defineProperty(t.prototype,"menuOpen",{get:function(){return this._menuOpen},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dir",{get:function(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"},enumerable:!0,configurable:!0}),t.prototype.triggersSubmenu=function(){return!(!this._menuItemInstance||!this._parentMenu)},t.prototype.toggleMenu=function(){return this._menuOpen?this.closeMenu():this.openMenu()},t.prototype.openMenu=function(){var t=this;this._menuOpen||(this._createOverlay().attach(this._portal),this._closeSubscription=this._menuClosingActions().subscribe(function(){return t.closeMenu()}),this._initMenu(),this.menu instanceof Ou&&this.menu._startAnimation())},t.prototype.closeMenu=function(){this.menu.close.emit()},t.prototype.focus=function(){this._element.nativeElement.focus()},t.prototype._destroyMenu=function(){this._overlayRef&&this.menuOpen&&(this._resetMenu(),this._closeSubscription.unsubscribe(),this._overlayRef.detach(),this.menu instanceof Ou&&this.menu._resetAnimation())},t.prototype._initMenu=function(){if(this.menu.parentMenu=this.triggersSubmenu()?this._parentMenu:void 0,this.menu.direction=this.dir,this._setMenuElevation(),this._setIsMenuOpen(!0),this._openedByMouse){var t=this._overlayRef.overlayElement.firstElementChild;t&&(this.menu.resetActiveItem(),t.focus())}else this.menu.focusFirstItem()},t.prototype._setMenuElevation=function(){if(this.menu.setElevation){for(var t=0,e=this.menu.parentMenu;e;)t++,e=e.parentMenu;this.menu.setElevation(t)}},t.prototype._resetMenu=function(){this._setIsMenuOpen(!1),this._openedByMouse&&this.triggersSubmenu()||this.focus(),this._openedByMouse=!1},t.prototype._setIsMenuOpen=function(t){this._menuOpen=t,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&(this._menuItemInstance._highlighted=t)},t.prototype._checkMenu=function(){this.menu||function(){throw Error('mat-menu-trigger: must pass in an mat-menu instance.\n\n Example:\n \n ')}()},t.prototype._createOverlay=function(){if(!this._overlayRef){this._portal=new xi(this.menu.templateRef,this._viewContainerRef);var t=this._getOverlayConfig();this._subscribeToPositions(t.positionStrategy),this._overlayRef=this._overlay.create(t)}return this._overlayRef},t.prototype._getOverlayConfig=function(){return new ji({positionStrategy:this._getPosition(),hasBackdrop:!this.triggersSubmenu(),backdropClass:"cdk-overlay-transparent-backdrop",direction:this.dir,scrollStrategy:this._scrollStrategy()})},t.prototype._subscribeToPositions=function(t){var e=this;this._positionSubscription=t.onPositionChange.subscribe(function(t){e.menu.setPositionClasses("start"===t.connectionPair.overlayX?"after":"before","top"===t.connectionPair.overlayY?"below":"above")})},t.prototype._getPosition=function(){var t="before"===this.menu.xPosition?["end","start"]:["start","end"],e=t[0],n=t[1],r="above"===this.menu.yPosition?["bottom","top"]:["top","bottom"],i=r[0],o=r[1],s=[i,o],l=s[0],a=s[1],u=[e,n],c=u[0],d=u[1],h=0;return this.triggersSubmenu()?(d=e="before"===this.menu.xPosition?"start":"end",n=c="end"===e?"start":"end",h="bottom"===i?8:-8):this.menu.overlapTrigger||(l="top"===i?"bottom":"top",a="top"===o?"bottom":"top"),this._overlay.position().connectedTo(this._element,{originX:e,originY:l},{overlayX:c,overlayY:i}).withDirection(this.dir).withOffsetY(h).withFallbackPosition({originX:n,originY:l},{overlayX:d,overlayY:i}).withFallbackPosition({originX:e,originY:a},{overlayX:c,overlayY:o},void 0,-h).withFallbackPosition({originX:n,originY:a},{overlayX:d,overlayY:o},void 0,-h)},t.prototype._cleanUpSubscriptions=function(){this._closeSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()},t.prototype._menuClosingActions=function(){var t=this,e=this._overlayRef.backdropClick(),n=this._overlayRef.detachments(),r=this._parentMenu?this._parentMenu.close:Object(ur.a)(),i=this._parentMenu?this._parentMenu._hovered().pipe(_r(function(e){return e!==t._menuItemInstance}),_r(function(){return t._menuOpen})):Object(ur.a)();return Object(hi.a)(e,r,i,n)},t.prototype._handleMousedown=function(t){(function(t){return 0===t.buttons})(t)||(this._openedByMouse=!0,this.triggersSubmenu()&&t.preventDefault())},t.prototype._handleKeydown=function(t){var e=t.keyCode;this.triggersSubmenu()&&(39===e&&"ltr"===this.dir||37===e&&"rtl"===this.dir)&&this.openMenu()},t.prototype._handleClick=function(t){this.triggersSubmenu()?(t.stopPropagation(),this.openMenu()):this.toggleMenu()},t}(),Eu=function(){},Au=0,ju=new r.r("mat-select-scroll-strategy");function Iu(t){return function(){return t.scrollStrategies.reposition()}}var Ru=function(){},Hu=function(t){function e(e,n,i,o,s,l,a,u,c,d,h,p){var f=t.call(this,s,o,a,u,d)||this;return f._viewportRuler=e,f._changeDetectorRef=n,f._ngZone=i,f._dir=l,f._parentFormField=c,f.ngControl=d,f._scrollStrategyFactory=p,f._panelOpen=!1,f._required=!1,f._scrollTop=0,f._multiple=!1,f._compareWith=function(t,e){return t===e},f._uid="mat-select-"+Au++,f._destroy=new Br.a,f._triggerFontSize=0,f._onChange=function(){},f._onTouched=function(){},f._optionIds="",f._transformOrigin="top",f._panelDoneAnimating=!1,f._scrollStrategy=f._scrollStrategyFactory(),f._offsetY=0,f._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}],f.focused=!1,f.controlType="mat-select",f.ariaLabel="",f.optionSelectionChanges=ss(function(){return f.options?hi.a.apply(void 0,f.options.map(function(t){return t.onSelectionChange})):f._ngZone.onStable.asObservable().pipe(Object(Di.a)(1),Object(ta.a)(function(){return f.optionSelectionChanges}))}),f.openedChange=new r.o,f.onOpen=f._openedStream,f.onClose=f._closedStream,f.selectionChange=new r.o,f.change=f.selectionChange,f.valueChange=new r.o,f.ngControl&&(f.ngControl.valueAccessor=f),f.tabIndex=parseInt(h)||0,f.id=f.id,f}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"placeholder",{get:function(){return this._placeholder},set:function(t){this._placeholder=t,this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(t){this._required=Yi(t),this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"multiple",{get:function(){return this._multiple},set:function(t){if(this._selectionModel)throw Error("Cannot change `multiple` mode of select after initialization.");this._multiple=Yi(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"compareWith",{get:function(){return this._compareWith},set:function(t){if("function"!=typeof t)throw Error("`compareWith` must be a function.");this._compareWith=t,this._selectionModel&&this._initializeSelection()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(t){t!==this._value&&(this.writeValue(t),this._value=t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(t){this._id=t||this._uid,this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_openedStream",{get:function(){return this.openedChange.pipe(_r(function(t){return t}),Object(er.a)(function(){}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_closedStream",{get:function(){return this.openedChange.pipe(_r(function(t){return!t}),Object(er.a)(function(){}))},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this._selectionModel=new _a(this.multiple,void 0,!1),this.stateChanges.next()},e.prototype.ngAfterContentInit=function(){var t=this;this._initKeyManager(),this.options.changes.pipe(ks(null),vu(this._destroy)).subscribe(function(){t._resetOptions(),t._initializeSelection()})},e.prototype.ngDoCheck=function(){this.ngControl&&this.updateErrorState()},e.prototype.ngOnChanges=function(t){t.disabled&&this.stateChanges.next()},e.prototype.ngOnDestroy=function(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()},e.prototype.toggle=function(){this.panelOpen?this.close():this.open()},e.prototype.open=function(){var t=this;!this.disabled&&this.options&&this.options.length&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement)["font-size"]),this._panelOpen=!0,this._calculateOverlayPosition(),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this._ngZone.onStable.asObservable().pipe(Object(Di.a)(1)).subscribe(function(){t._triggerFontSize&&t.overlayDir.overlayRef&&t.overlayDir.overlayRef.overlayElement&&(t.overlayDir.overlayRef.overlayElement.style.fontSize=t._triggerFontSize+"px")}))},e.prototype.close=function(){this._panelOpen&&(this._panelOpen=!1,this._changeDetectorRef.markForCheck(),this._onTouched(),this.focus())},e.prototype.writeValue=function(t){this.options&&this._setSelectionByValue(t)},e.prototype.registerOnChange=function(t){this._onChange=t},e.prototype.registerOnTouched=function(t){this._onTouched=t},e.prototype.setDisabledState=function(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()},Object.defineProperty(e.prototype,"panelOpen",{get:function(){return this._panelOpen},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"triggerValue",{get:function(){if(this.empty)return"";if(this._multiple){var t=this._selectionModel.selected.map(function(t){return t.viewValue});return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue},enumerable:!0,configurable:!0}),e.prototype._isRtl=function(){return!!this._dir&&"rtl"===this._dir.value},e.prototype._handleKeydown=function(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))},e.prototype._handleClosedKeydown=function(t){var e=t.keyCode;13===e||32===e||(this.multiple||t.altKey)&&(40===e||38===e)?(t.preventDefault(),this.open()):this.multiple||this._keyManager.onKeydown(t)},e.prototype._handleOpenKeydown=function(t){var e=t.keyCode;if(36===e||35===e)t.preventDefault(),36===e?this._keyManager.setFirstItemActive():this._keyManager.setLastItemActive();else if(13!==e&&32!==e||!this._keyManager.activeItem){var n=40===e||38===e,r=this._keyManager.activeItemIndex;this._keyManager.onKeydown(t),this._multiple&&n&&t.shiftKey&&this._keyManager.activeItem&&this._keyManager.activeItemIndex!==r&&this._keyManager.activeItem._selectViaInteraction()}else t.preventDefault(),this._keyManager.activeItem._selectViaInteraction()},e.prototype._onPanelDone=function(){this.panelOpen?(this._scrollTop=0,this.openedChange.emit(!0)):(this.openedChange.emit(!1),this._panelDoneAnimating=!1,this.overlayDir.offsetX=0,this._changeDetectorRef.markForCheck())},e.prototype._onFadeInDone=function(){this._panelDoneAnimating=this.panelOpen,this._changeDetectorRef.markForCheck()},e.prototype._onFocus=function(){this.disabled||(this.focused=!0,this.stateChanges.next())},e.prototype._onBlur=function(){this.disabled||this.panelOpen||(this.focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())},e.prototype._onAttached=function(){var t=this;this.overlayDir.positionChange.pipe(Object(Di.a)(1)).subscribe(function(){t._changeDetectorRef.detectChanges(),t._calculateOverlayOffsetX(),t.panel.nativeElement.scrollTop=t._scrollTop})},e.prototype._getPanelTheme=function(){return this._parentFormField?"mat-"+this._parentFormField.color:""},Object.defineProperty(e.prototype,"empty",{get:function(){return!this._selectionModel||this._selectionModel.isEmpty()},enumerable:!0,configurable:!0}),e.prototype._initializeSelection=function(){var t=this;Promise.resolve().then(function(){t._setSelectionByValue(t.ngControl?t.ngControl.value:t._value)})},e.prototype._setSelectionByValue=function(t,e){var n=this;if(void 0===e&&(e=!1),this.multiple&&t){if(!Array.isArray(t))throw Error("Value must be an array in multiple-selection mode.");this._clearSelection(),t.forEach(function(t){return n._selectValue(t,e)}),this._sortValues()}else{this._clearSelection();var r=this._selectValue(t,e);r&&this._keyManager.setActiveItem(this.options.toArray().indexOf(r))}this._changeDetectorRef.markForCheck()},e.prototype._selectValue=function(t,e){var n=this;void 0===e&&(e=!1);var i=this.options.find(function(e){try{return null!=e.value&&n._compareWith(e.value,t)}catch(t){return Object(r.Y)()&&console.warn(t),!1}});return i&&(e?i._selectViaInteraction():i.select(),this._selectionModel.select(i),this.stateChanges.next()),i},e.prototype._clearSelection=function(t){this._selectionModel.clear(),this.options.forEach(function(e){e!==t&&e.deselect()}),this.stateChanges.next()},e.prototype._initKeyManager=function(){var t=this;this._keyManager=new vo(this.options).withTypeAhead(),this._keyManager.tabOut.pipe(vu(this._destroy)).subscribe(function(){return t.close()}),this._keyManager.change.pipe(vu(this._destroy)).subscribe(function(){t._panelOpen&&t.panel?t._scrollActiveOptionIntoView():t._panelOpen||t.multiple||!t._keyManager.activeItem||t._keyManager.activeItem._selectViaInteraction()})},e.prototype._resetOptions=function(){var t=this;this.optionSelectionChanges.pipe(vu(Object(hi.a)(this._destroy,this.options.changes)),_r(function(t){return t.isUserInput})).subscribe(function(e){t._onSelect(e.source),t.multiple||t.close()}),this._setOptionIds()},e.prototype._onSelect=function(t){var e=this._selectionModel.isSelected(t);this.multiple?(this._selectionModel.toggle(t),this.stateChanges.next(),e?t.deselect():t.select(),this._keyManager.setActiveItem(this._getOptionIndex(t)),this._sortValues()):(this._clearSelection(null==t.value?void 0:t),null==t.value?this._propagateChanges(t.value):(this._selectionModel.select(t),this.stateChanges.next())),e!==this._selectionModel.isSelected(t)&&this._propagateChanges()},e.prototype._sortValues=function(){var t=this;this._multiple&&(this._selectionModel.clear(),this.options.forEach(function(e){e.selected&&t._selectionModel.select(e)}),this.stateChanges.next())},e.prototype._propagateChanges=function(t){var e;e=this.multiple?this.selected.map(function(t){return t.value}):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(new function(t,e){this.source=t,this.value=e}(this,e)),this._changeDetectorRef.markForCheck()},e.prototype._setOptionIds=function(){this._optionIds=this.options.map(function(t){return t.id}).join(" ")},e.prototype._highlightCorrectOption=function(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._getOptionIndex(this._selectionModel.selected[0])))},e.prototype._scrollActiveOptionIntoView=function(){var t=this._getItemHeight(),e=this._keyManager.activeItemIndex||0,n=(e+ns.countGroupLabelsBeforeOption(e,this.options,this.optionGroups))*t,r=this.panel.nativeElement.scrollTop;nr+256&&(this.panel.nativeElement.scrollTop=Math.max(0,n-256+t))},e.prototype.focus=function(){this._elementRef.nativeElement.focus()},e.prototype._getOptionIndex=function(t){return this.options.reduce(function(e,n,r){return void 0===e?t===n?r:void 0:e},void 0)},e.prototype._calculateOverlayPosition=function(){var t=this._getItemHeight(),e=this._getItemCount(),n=Math.min(e*t,256),r=e*t-n,i=this.empty?0:this._getOptionIndex(this._selectionModel.selected[0]);i+=ns.countGroupLabelsBeforeOption(i,this.options,this.optionGroups);var o=n/2;this._scrollTop=this._calculateOverlayScroll(i,o,r),this._offsetY=this._calculateOverlayOffsetY(i,o,r),this._checkOverlayWithinViewport(r)},e.prototype._calculateOverlayScroll=function(t,e,n){var r=this._getItemHeight();return Math.min(Math.max(0,r*t-e+r/2),n)},Object.defineProperty(e.prototype,"_ariaLabel",{get:function(){return this.ariaLabelledby?null:this.ariaLabel||this.placeholder},enumerable:!0,configurable:!0}),e.prototype._getAriaActiveDescendant=function(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null},e.prototype._calculateOverlayOffsetX=function(){var t,e=this.overlayDir.overlayRef.overlayElement.getBoundingClientRect(),n=this._viewportRuler.getViewportSize(),r=this._isRtl(),i=this.multiple?60:32;if(this.multiple)t=44;else{var o=this._selectionModel.selected[0]||this.options.first;t=o&&o.group?32:16}r||(t*=-1);var s=0-(e.left+t-(r?i:0)),l=e.right+t-n.width+(r?0:i);s>0?t+=s+8:l>0&&(t-=l+8),this.overlayDir.offsetX=t,this.overlayDir.overlayRef.updatePosition()},e.prototype._calculateOverlayOffsetY=function(t,e,n){var r=this._getItemHeight(),i=(r-this._triggerRect.height)/2,o=Math.floor(256/r);return-1*(0===this._scrollTop?t*r:this._scrollTop===n?(t-(this._getItemCount()-o))*r+(r-(this._getItemCount()*r-256)%r):e-r/2)-i},e.prototype._checkOverlayWithinViewport=function(t){var e=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),r=this._triggerRect.top-8,i=n.height-this._triggerRect.bottom-8,o=Math.abs(this._offsetY),s=Math.min(this._getItemCount()*e,256)-o-this._triggerRect.height;s>i?this._adjustPanelUp(s,i):o>r?this._adjustPanelDown(o,r,t):this._transformOrigin=this._getOriginBasedOnOption()},e.prototype._adjustPanelUp=function(t,e){var n=Math.round(t-e);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")},e.prototype._adjustPanelDown=function(t,e,n){var r=Math.round(t-e);if(this._scrollTop+=r,this._offsetY+=r,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")},e.prototype._getOriginBasedOnOption=function(){var t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return"50% "+(Math.abs(this._offsetY)-e+t/2)+"px 0px"},e.prototype._getItemCount=function(){return this.options.length+this.optionGroups.length},e.prototype._getItemHeight=function(){return 3*this._triggerFontSize},e.prototype.setDescribedByIds=function(t){this._ariaDescribedby=t.join(" ")},e.prototype.onContainerClick=function(){this.focus(),this.open()},Object.defineProperty(e.prototype,"shouldLabelFloat",{get:function(){return this._panelOpen||!this.empty},enumerable:!0,configurable:!0}),e}(Ro(Ho(jo(function(t){return function(t){function e(){for(var e=[],n=0;n0&&i.afterOpened().subscribe(function(){return i._dismissAfter(r.duration)}),r.announcementMessage&&this._live.announce(r.announcementMessage,r.politeness),this._openedSnackBarRef=i,this._openedSnackBarRef},t.prototype.open=function(t,e,n){void 0===e&&(e="");var r=mc(n);return r.data={message:t,action:e},r.announcementMessage=t,this.openFromComponent(pc,r)},t.prototype.dismiss=function(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()},t.prototype._attachSnackBarContainer=function(t,e){var n=new ki(fc,e.viewContainerRef),r=t.attach(n);return r.instance.snackBarConfig=e,r.instance},t.prototype._attach=function(t,e){var n=this._createOverlay(e),r=this._attachSnackBarContainer(n,e),i=new cc(r,n),o=this._createInjector(e,i),s=new ki(t,void 0,o),l=r.attachComponentPortal(s);return i.instance=l.instance,this._breakpointObserver.observe("(max-width: 599px) and (orientation: portrait), (max-width: 959px) and (orientation: landscape)").pipe(vu(n.detachments().pipe(Object(Di.a)(1)))).subscribe(function(t){t.matches?n.overlayElement.classList.add("mat-snack-bar-handset"):n.overlayElement.classList.remove("mat-snack-bar-handset")}),i},t.prototype._createOverlay=function(t){var e=new ji;e.direction=t.direction;var n=this._overlay.position().global(),r="rtl"===t.direction,i="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!r||"end"===t.horizontalPosition&&r,o=!i&&"center"!==t.horizontalPosition;return i?n.left("0"):o?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)},t.prototype._createInjector=function(t,e){var n=t&&t.viewContainerRef&&t.viewContainerRef.injector,r=new WeakMap;return r.set(cc,e),r.set(dc,t.data),new Oi(n||this._injector,r)},t}();function mc(t){return Object(o.__assign)({},new hc,t)}var gc=function(){},yc=function(t){function e(e){t.call(this),this._value=e}return Object(o.__extends)(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new qr.a;return this._value},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(Br.a),vc=function(){},bc=function(t){function e(e,n){var r=t.call(this,e)||this;return r._platform=n,r}return Object(o.__extends)(e,t),e.prototype.ngAfterViewInit=function(){var t=this;Object(r.Y)()&&this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(function(){return t._checkToolbarMixedModes()}))},e.prototype._checkToolbarMixedModes=function(){this._toolbarRows.length&&[].slice.call(this._elementRef.nativeElement.childNodes).filter(function(t){return!(t.classList&&t.classList.contains("mat-toolbar-row"))}).filter(function(t){return t.nodeType!==Node.COMMENT_NODE}).some(function(t){return t.textContent.trim()})&&function(){throw Error("MatToolbar: Attempting to combine different toolbar modes. Either specify multiple `` elements explicitly or just place content inside of a `` for a single row.")}()},e}(Io(function(t){this._elementRef=t})),wc=function(){};function Mc(t){if("object"==typeof t&&(t=t._body),t.startsWith("400")||t.startsWith("403")){var e=t.split(" - ",2);return 2===e.length?e[1].charAt(0).toUpperCase()+e[1].slice(1):t}return t}function kc(t,e,n){void 0===n&&(n=3e5);var r=new hc;r.duration=n,t.open(Mc(e),null,r)}var xc=function(){function t(){this.forceEmitEvents=!1,this.action=new r.o,this.mouseOver=!1}return t.prototype.onClick=function(){this.disabled&&!this.forceEmitEvents||(this.error="",this.action.emit())},t.prototype.setLoading=function(){this.state=0},t.prototype.setSuccess=function(){var t=this;this.state=1,setTimeout(function(){return t.state=null},3e3)},t.prototype.setError=function(t){var e=this;this.error="string"==typeof t?t:Mc(t._body),this.state=2,this.mouseOver&&setTimeout(function(){return e.tooltip.show()},50)},t.prototype.setDisabled=function(){this.disabled=!0},t.prototype.setEnabled=function(){this.disabled=!1},t.prototype.isLoading=function(){return 0===this.state},t.prototype.resetState=function(){return this.state=null,this.error="",this},t}(),Lc=function(){function t(t,e,n,r){this.data=t,this.dialogRef=e,this.walletService=n,this.apiService=r,this.encrypt=!0,this.disableDismiss=!1}return t.prototype.ngOnInit=function(){this.initForm()},t.prototype.closePopup=function(){this.dialogRef.close()},t.prototype.createWallet=function(){var t=this;this.form.valid&&!this.createButton.isLoading()&&(this.createButton.resetState(),this.createButton.setLoading(),this.cancelButton.setDisabled(),this.disableDismiss=!0,this.walletService.create(this.form.value.label,this.form.value.seed,this.scan,this.encrypt?this.form.value.password:null).subscribe(function(){return t.dialogRef.close()},function(e){t.createButton.setError(e),t.cancelButton.disabled=!1,t.disableDismiss=!1}))},t.prototype.generateSeed=function(t){var e=this;this.apiService.generateSeed(t).subscribe(function(t){return e.form.get("seed").setValue(t)})},t.prototype.setEncrypt=function(t){this.encrypt=t.checked,this.form.updateValueAndValidity()},t.prototype.initForm=function(){this.form=new Rl({},[this.validatePasswords.bind(this),this.validateSeeds.bind(this)]),this.form.addControl("label",new Il("",[Qs.required])),this.form.addControl("seed",new Il("",[Qs.required])),this.form.addControl("confirm_seed",new Il),this.form.addControl("password",new Il),this.form.addControl("confirm_password",new Il),this.data.create&&this.generateSeed(128),this.scan=100},t.prototype.validateSeeds=function(){return this.data.create&&this.form&&this.form.get("seed")&&this.form.get("confirm_seed")&&this.form.get("seed").value!==this.form.get("confirm_seed").value?{NotEqual:!0}:null},t.prototype.validatePasswords=function(){if(this.encrypt&&this.form&&this.form.get("password")&&this.form.get("confirm_password")){if(!this.form.get("password").value)return{Required:!0};if(this.form.get("password").value!==this.form.get("confirm_password").value)return{NotEqual:!0}}return null},t}(),Cc=function(){function t(t,e){this.walletService=t,this.dialog=e}return t.prototype.addWallet=function(t){var e=new Ps;e.width="566px",e.data={create:t},this.dialog.open(Lc,e)},t.prototype.toggleWallet=function(t){t.opened=!t.opened},t}(),Sc=function(){function t(){this.switchVisible=!1,this.activeComponent=new yc(1)}return t.prototype.setActiveComponent=function(t){this.activeComponent.next(t)},t.prototype.showSwitch=function(t,e){this.switchVisible=!0,this.leftText=t,this.rightText=e},t.prototype.hideSwitch=function(){this.switchVisible=!1},t}(),Tc=function(t){return t[t.RightButton=0]="RightButton",t[t.LeftButton=1]="LeftButton",t}({}),Oc=function(){function t(){this.className="",this.onStateChange=new r.o,this.ButtonState=Tc}return t.prototype.onRightClick=function(){this.activeButton===Tc.LeftButton&&(this.activeButton=Tc.RightButton,this.onStateChange.emit(Tc.RightButton))},t.prototype.onLeftClick=function(){this.activeButton===Tc.RightButton&&(this.activeButton=Tc.LeftButton,this.onStateChange.emit(Tc.LeftButton))},t}(),Dc=function(){function t(t){var e=this;this.navbarService=t,this.showForm=!0,this.activeForms=Tc,this.subscription=t.activeComponent.subscribe(function(t){e.activeForm=t,e.formData=null})}return t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t.prototype.onFormSubmitted=function(t){this.formData=t,this.showForm=!1},t.prototype.onBack=function(t){t&&(this.formData=null),this.showForm=!0},Object.defineProperty(t.prototype,"transaction",{get:function(){var t=this.formData.transaction;return t.from=this.formData.form.wallet.label,t.to=this.formData.to,t.balance=this.formData.amount,t},enumerable:!0,configurable:!0}),t}(),Yc=n("PJh5"),Pc=function(){function t(t,e){var n=this;this.walletService=t,this.navbarService=e,this.transactions=null,this.navbarSubscription=this.navbarService.activeComponent.subscribe(function(t){n.loadTransactions(t)})}return t.prototype.ngOnInit=function(){this.navbarService.showSwitch("pending-txs.my","pending-txs.all")},t.prototype.ngOnDestroy=function(){this.transactionsSubscription.unsubscribe(),this.navbarSubscription.unsubscribe(),this.navbarService.hideSwitch()},t.prototype.loadTransactions=function(t){var e=this,n=t===Tc.LeftButton?"pendingTransactions":"allPendingTransactions";this.transactions=null,this.transactionsSubscription&&this.transactionsSubscription.unsubscribe(),"pendingTransactions"===n&&this.walletService.startDataRefreshSubscription(),this.transactionsSubscription=this.walletService[n]().subscribe(function(t){e.transactions=e.mapTransactions(t)})},t.prototype.mapTransactions=function(t){return t.map(function(t){return t.transaction.timestamp=Yc(t.received).unix(),t.transaction}).map(function(t){return t.amount=t.outputs.map(function(t){return t.coins>=0?t.coins:0}).reduce(function(t,e){return t+parseFloat(e)},0),t})},t}();function Ec(){return Ms()(this)}var Ac=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new jc(t,this.predicate,this.thisArg,this.source))},t}(),jc=function(t){function e(e,n,r,i){t.call(this,e),this.predicate=n,this.thisArg=r,this.source=i,this.index=0,this.thisArg=r||this}return Object(o.__extends)(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(t){return void this.destination.error(t)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(cr.a);function Ic(t,e){return function(t,e){return function(n){return n.lift(new Ac(t,e,n))}}(t,e)(this)}var Rc=function(){function t(t,e,n,r){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=r}return t.prototype.call=function(t,e){return e.subscribe(new Hc(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),Hc=function(t){function e(e,n,r,i,o){t.call(this,e),this.predicate=n,this.resultSelector=r,this.defaultValue=i,this.source=o,this.hasValue=!1,this.index=0,"undefined"!=typeof i&&(this.lastValue=i,this.hasValue=!0)}return Object(o.__extends)(e,t),e.prototype._next=function(t){var e=this.index++;if(this.predicate)this._tryPredicate(t,e);else{if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(t){return void this.destination.error(t)}if(n){if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(t){return void this.destination.error(t)}this.lastValue=n,this.hasValue=!0},e.prototype._complete=function(){var t=this.destination;this.hasValue?(t.next(this.lastValue),t.complete()):t.error(new vr)},e}(cr.a);function Fc(t,e,n){return function(t,e,n){return function(r){return r.lift(new Rc(t,e,n,r))}}(t,e,n)(this)}function Nc(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),Object(ws.a)(t)(this)}var Vc=n("/4Bh"),Bc=function(t,e){this.id=t,this.url=e},zc=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"NavigationStart(id: "+this.id+", url: '"+this.url+"')"},e}(Bc),Wc=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.urlAfterRedirects=r,i}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"NavigationEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"')"},e}(Bc),Uc=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.reason=r,i}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"NavigationCancel(id: "+this.id+", url: '"+this.url+"')"},e}(Bc),Gc=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.error=r,i}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"NavigationError(id: "+this.id+", url: '"+this.url+"', error: "+this.error+")"},e}(Bc),Jc=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"RoutesRecognized(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Bc),qc=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"GuardsCheckStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Bc),Qc=function(t){function e(e,n,r,i,o){var s=t.call(this,e,n)||this;return s.urlAfterRedirects=r,s.state=i,s.shouldActivate=o,s}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"GuardsCheckEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+", shouldActivate: "+this.shouldActivate+")"},e}(Bc),Kc=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"ResolveStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Bc),Xc=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(o.__extends)(e,t),e.prototype.toString=function(){return"ResolveEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Bc),Zc=function(){function t(t){this.route=t}return t.prototype.toString=function(){return"RouteConfigLoadStart(path: "+this.route.path+")"},t}(),$c=function(){function t(t){this.route=t}return t.prototype.toString=function(){return"RouteConfigLoadEnd(path: "+this.route.path+")"},t}(),td=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ChildActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),ed=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ChildActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),nd=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),rd=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),id="primary",od=function(){function t(t){this.params=t||{}}return t.prototype.has=function(t){return this.params.hasOwnProperty(t)},t.prototype.get=function(t){if(this.has(t)){var e=this.params[t];return Array.isArray(e)?e[0]:e}return null},t.prototype.getAll=function(t){if(this.has(t)){var e=this.params[t];return Array.isArray(e)?e:[e]}return[]},Object.defineProperty(t.prototype,"keys",{get:function(){return Object.keys(this.params)},enumerable:!0,configurable:!0}),t}();function sd(t){return new od(t)}function ld(t,e,n){var r=n.path.split("/");if(r.length>t.length)return null;if("full"===n.pathMatch&&(e.hasChildren()||r.length0?t[t.length-1]:null}function _d(t,e){for(var n in t)t.hasOwnProperty(n)&&e(t[n],n)}function md(t){var e=Nc.call(t);return Ic.call(e,function(t){return!0===t})}function gd(t){return Object(r._14)(t)?t:Object(r._15)(t)?zs(Promise.resolve(t)):Object(ur.a)(t)}function yd(t,e,n){return n?function(t,e){return hd(t,e)}(t.queryParams,e.queryParams)&&function t(e,n){if(!Md(e.segments,n.segments))return!1;if(e.numberOfChildren!==n.numberOfChildren)return!1;for(var r in n.children){if(!e.children[r])return!1;if(!t(e.children[r],n.children[r]))return!1}return!0}(t.root,e.root):function(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(function(n){return e[n]===t[n]})}(t.queryParams,e.queryParams)&&function t(e,n){return function e(n,r,i){if(n.segments.length>i.length)return!!Md(s=n.segments.slice(0,i.length),i)&&!r.hasChildren();if(n.segments.length===i.length){if(!Md(n.segments,i))return!1;for(var o in r.children){if(!n.children[o])return!1;if(!t(n.children[o],r.children[o]))return!1}return!0}var s=i.slice(0,n.segments.length),l=i.slice(n.segments.length);return!!Md(n.segments,s)&&!!n.children[id]&&e(n.children[id],r,l)}(e,n,n.segments)}(t.root,e.root)}var vd=function(){function t(t,e,n){this.root=t,this.queryParams=e,this.fragment=n}return Object.defineProperty(t.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=sd(this.queryParams)),this._queryParamMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return Cd.serialize(this)},t}(),bd=function(){function t(t,e){var n=this;this.segments=t,this.children=e,this.parent=null,_d(e,function(t,e){return t.parent=n})}return t.prototype.hasChildren=function(){return this.numberOfChildren>0},Object.defineProperty(t.prototype,"numberOfChildren",{get:function(){return Object.keys(this.children).length},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return Sd(this)},t}(),wd=function(){function t(t,e){this.path=t,this.parameters=e}return Object.defineProperty(t.prototype,"parameterMap",{get:function(){return this._parameterMap||(this._parameterMap=sd(this.parameters)),this._parameterMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return Dd(this)},t}();function Md(t,e){return t.length===e.length&&t.every(function(t,n){return t.path===e[n].path})}function kd(t,e){var n=[];return _d(t.children,function(t,r){r===id&&(n=n.concat(e(t,r)))}),_d(t.children,function(t,r){r!==id&&(n=n.concat(e(t,r)))}),n}var xd=function(){},Ld=function(){function t(){}return t.prototype.parse=function(t){var e=new jd(t);return new vd(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())},t.prototype.serialize=function(t){var e,n;return"/"+function t(e,n){if(!e.hasChildren())return Sd(e);if(n){var r=e.children[id]?t(e.children[id],!1):"",i=[];return _d(e.children,function(e,n){n!==id&&i.push(n+":"+t(e,!1))}),i.length>0?r+"("+i.join("//")+")":r}var o=kd(e,function(n,r){return r===id?[t(e.children[id],!1)]:[r+":"+t(n,!1)]});return Sd(e)+"/("+o.join("//")+")"}(t.root,!0)+(e=t.queryParams,(n=Object.keys(e).map(function(t){var n=e[t];return Array.isArray(n)?n.map(function(e){return Td(t)+"="+Td(e)}).join("&"):Td(t)+"="+Td(n)})).length?"?"+n.join("&"):"")+("string"==typeof t.fragment?"#"+encodeURI(t.fragment):"")},t}(),Cd=new Ld;function Sd(t){return t.segments.map(function(t){return Dd(t)}).join("/")}function Td(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";")}function Od(t){return decodeURIComponent(t)}function Dd(t){return""+Td(t.path)+(e=t.parameters,Object.keys(e).map(function(t){return";"+Td(t)+"="+Td(e[t])}).join(""));var e}var Yd=/^[^\/()?;=&#]+/;function Pd(t){var e=t.match(Yd);return e?e[0]:""}var Ed=/^[^=?&#]+/,Ad=/^[^?&#]+/,jd=function(){function t(t){this.url=t,this.remaining=t}return t.prototype.parseRootSegment=function(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new bd([],{}):new bd([],this.parseChildren())},t.prototype.parseQueryParams=function(){var t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t},t.prototype.parseFragment=function(){return this.consumeOptional("#")?decodeURI(this.remaining):null},t.prototype.parseChildren=function(){if(""===this.remaining)return{};this.consumeOptional("/");var t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());var e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));var n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(n[id]=new bd(t,e)),n},t.prototype.parseSegment=function(){var t=Pd(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Error("Empty path url segment cannot have parameters: '"+this.remaining+"'.");return this.capture(t),new wd(Od(t),this.parseMatrixParams())},t.prototype.parseMatrixParams=function(){for(var t={};this.consumeOptional(";");)this.parseParam(t);return t},t.prototype.parseParam=function(t){var e=Pd(this.remaining);if(e){this.capture(e);var n="";if(this.consumeOptional("=")){var r=Pd(this.remaining);r&&this.capture(n=r)}t[Od(e)]=Od(n)}},t.prototype.parseQueryParam=function(t){var e,n=(e=this.remaining.match(Ed))?e[0]:"";if(n){this.capture(n);var r="";if(this.consumeOptional("=")){var i=function(t){var e=t.match(Ad);return e?e[0]:""}(this.remaining);i&&this.capture(r=i)}var o=Od(n),s=Od(r);if(t.hasOwnProperty(o)){var l=t[o];Array.isArray(l)||(t[o]=l=[l]),l.push(s)}else t[o]=s}},t.prototype.parseParens=function(t){var e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){var n=Pd(this.remaining),r=this.remaining[n.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error("Cannot parse url '"+this.url+"'");var i=void 0;n.indexOf(":")>-1?(i=n.substr(0,n.indexOf(":")),this.capture(i),this.capture(":")):t&&(i=id);var o=this.parseChildren();e[i]=1===Object.keys(o).length?o[id]:new bd([],o),this.consumeOptional("//")}return e},t.prototype.peekStartsWith=function(t){return this.remaining.startsWith(t)},t.prototype.consumeOptional=function(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)},t.prototype.capture=function(t){if(!this.consumeOptional(t))throw new Error('Expected "'+t+'".')},t}(),Id=function(t){this.segmentGroup=t||null},Rd=function(t){this.urlTree=t};function Hd(t){return new s.a(function(e){return e.error(new Id(t))})}function Fd(t){return new s.a(function(e){return e.error(new Rd(t))})}function Nd(t){return new s.a(function(e){return e.error(new Error("Only absolute redirects can have named outlets. redirectTo: '"+t+"'"))})}var Vd=function(){function t(t,e,n,i,o){this.configLoader=e,this.urlSerializer=n,this.urlTree=i,this.config=o,this.allowRedirects=!0,this.ngModule=t.get(r.z)}return t.prototype.apply=function(){var t=this,e=this.expandSegmentGroup(this.ngModule,this.config,this.urlTree.root,id),n=nr.call(e,function(e){return t.createUrlTree(e,t.urlTree.queryParams,t.urlTree.fragment)});return tr.call(n,function(e){if(e instanceof Rd)return t.allowRedirects=!1,t.match(e.urlTree);if(e instanceof Id)throw t.noMatchError(e);throw e})},t.prototype.match=function(t){var e=this,n=this.expandSegmentGroup(this.ngModule,this.config,t.root,id),r=nr.call(n,function(n){return e.createUrlTree(n,t.queryParams,t.fragment)});return tr.call(r,function(t){if(t instanceof Id)throw e.noMatchError(t);throw t})},t.prototype.noMatchError=function(t){return new Error("Cannot match any routes. URL Segment: '"+t.segmentGroup+"'")},t.prototype.createUrlTree=function(t,e,n){var r,i=t.segments.length>0?new bd([],((r={})[id]=t,r)):t;return new vd(i,e,n)},t.prototype.expandSegmentGroup=function(t,e,n,r){return 0===n.segments.length&&n.hasChildren()?nr.call(this.expandChildren(t,e,n),function(t){return new bd([],t)}):this.expandSegment(t,n,e,n.segments,r,!0)},t.prototype.expandChildren=function(t,e,n){var r=this;return function(n,i){if(0===Object.keys(n).length)return Object(ur.a)({});var o=[],s=[],l={};_d(n,function(n,i){var a=nr.call(r.expandSegmentGroup(t,e,n,i),function(t){return l[i]=t});i===id?o.push(a):s.push(a)});var a=Ec.call(ur.a.apply(void 0,o.concat(s))),u=Fc.call(a);return nr.call(u,function(){return l})}(n.children)},t.prototype.expandSegment=function(t,e,n,r,i,o){var s=this,l=ur.a.apply(void 0,n),a=nr.call(l,function(l){var a=s.expandSegmentAgainstRoute(t,e,n,l,r,i,o);return tr.call(a,function(t){if(t instanceof Id)return Object(ur.a)(null);throw t})}),u=Ec.call(a),c=Mr.call(u,function(t){return!!t});return tr.call(c,function(t,n){if(t instanceof vr||"EmptyError"===t.name){if(s.noLeftoversInUrl(e,r,i))return Object(ur.a)(new bd([],{}));throw new Id(e)}throw t})},t.prototype.noLeftoversInUrl=function(t,e,n){return 0===e.length&&!t.children[n]},t.prototype.expandSegmentAgainstRoute=function(t,e,n,r,i,o,s){return Ud(r)!==o?Hd(e):void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,e,r,i):s&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o):Hd(e)},t.prototype.expandSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,r,o):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o)},t.prototype.expandWildCardWithParamsAgainstRouteUsingRedirect=function(t,e,n,r){var i=this,o=this.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?Fd(o):xr.call(this.lineralizeSegments(n,o),function(n){var o=new bd(n,{});return i.expandSegment(t,o,e,n,r,!1)})},t.prototype.expandRegularSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){var s=this,l=Bd(e,r,i),a=l.consumedSegments,u=l.lastChild,c=l.positionalParamSegments;if(!l.matched)return Hd(e);var d=this.applyRedirectCommands(a,r.redirectTo,c);return r.redirectTo.startsWith("/")?Fd(d):xr.call(this.lineralizeSegments(r,d),function(r){return s.expandSegment(t,e,n,r.concat(i.slice(u)),o,!1)})},t.prototype.matchSegmentAgainstRoute=function(t,e,n,r){var i=this;if("**"===n.path)return n.loadChildren?nr.call(this.configLoader.load(t.injector,n),function(t){return n._loadedConfig=t,new bd(r,{})}):Object(ur.a)(new bd(r,{}));var s=Bd(e,n,r),l=s.consumedSegments,a=s.lastChild;if(!s.matched)return Hd(e);var u=r.slice(a),c=this.getChildConfig(t,n);return xr.call(c,function(t){var n=t.module,r=t.routes,s=function(t,e,n,r){return n.length>0&&function(t,e,n){return r.some(function(n){return Wd(t,e,n)&&Ud(n)!==id})}(t,n)?{segmentGroup:zd(new bd(e,function(t,e){var n={};n[id]=e;for(var r=0,i=t;r1||!r.children[id])return Nd(t.redirectTo);r=r.children[id]}},t.prototype.applyRedirectCommands=function(t,e,n){return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),t,n)},t.prototype.applyRedirectCreatreUrlTree=function(t,e,n,r){var i=this.createSegmentGroup(t,e.root,n,r);return new vd(i,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)},t.prototype.createQueryParams=function(t,e){var n={};return _d(t,function(t,r){if("string"==typeof t&&t.startsWith(":")){var i=t.substring(1);n[r]=e[i]}else n[r]=t}),n},t.prototype.createSegmentGroup=function(t,e,n,r){var i=this,o=this.createSegments(t,e.segments,n,r),s={};return _d(e.children,function(e,o){s[o]=i.createSegmentGroup(t,e,n,r)}),new bd(o,s)},t.prototype.createSegments=function(t,e,n,r){var i=this;return e.map(function(e){return e.path.startsWith(":")?i.findPosParam(t,e,r):i.findOrReturn(e,n)})},t.prototype.findPosParam=function(t,e,n){var r=n[e.path.substring(1)];if(!r)throw new Error("Cannot redirect to '"+t+"'. Cannot find '"+e.path+"'.");return r},t.prototype.findOrReturn=function(t,e){for(var n=0,r=0,i=e;r0)?{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}:{matched:!0,consumedSegments:[],lastChild:0,positionalParamSegments:{}};var r=(e.matcher||ld)(n,t,e);return r?{matched:!0,consumedSegments:r.consumed,lastChild:r.consumed.length,positionalParamSegments:r.posParams}:{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}}function zd(t){if(1===t.numberOfChildren&&t.children[id]){var e=t.children[id];return new bd(t.segments.concat(e.segments),e.children)}return t}function Wd(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&""===n.path&&void 0!==n.redirectTo}function Ud(t){return t.outlet||id}var Gd=function(){function t(t){this._root=t}return Object.defineProperty(t.prototype,"root",{get:function(){return this._root.value},enumerable:!0,configurable:!0}),t.prototype.parent=function(t){var e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null},t.prototype.children=function(t){var e=Jd(t,this._root);return e?e.children.map(function(t){return t.value}):[]},t.prototype.firstChild=function(t){var e=Jd(t,this._root);return e&&e.children.length>0?e.children[0].value:null},t.prototype.siblings=function(t){var e=qd(t,this._root);return e.length<2?[]:e[e.length-2].children.map(function(t){return t.value}).filter(function(e){return e!==t})},t.prototype.pathFromRoot=function(t){return qd(t,this._root).map(function(t){return t.value})},t}();function Jd(t,e){if(t===e.value)return e;for(var n=0,r=e.children;n=1;){var i=n[r],s=n[r-1];if(i.routeConfig&&""===i.routeConfig.path)r--;else{if(s.component)break;r--}}return function(t){return t.reduce(function(t,e){return{params:Object(o.__assign)({},t.params,e.params),data:Object(o.__assign)({},t.data,e.data),resolve:Object(o.__assign)({},t.resolve,e._resolvedData)}},{params:{},data:{},resolve:{}})}(n.slice(r))}var eh=function(){function t(t,e,n,r,i,o,s,l,a,u,c){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=o,this.component=s,this.routeConfig=l,this._urlSegment=a,this._lastPathIndex=u,this._resolve=c}return Object.defineProperty(t.prototype,"root",{get:function(){return this._routerState.root},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._routerState.parent(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this._routerState.firstChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this._routerState.children(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pathFromRoot",{get:function(){return this._routerState.pathFromRoot(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"paramMap",{get:function(){return this._paramMap||(this._paramMap=sd(this.params)),this._paramMap},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=sd(this.queryParams)),this._queryParamMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return"Route(url:'"+this.url.map(function(t){return t.toString()}).join("/")+"', path:'"+(this.routeConfig?this.routeConfig.path:"")+"')"},t}(),nh=function(t){function e(e,n){var r=t.call(this,n)||this;return r.url=e,rh(r,n),r}return Object(o.__extends)(e,t),e.prototype.toString=function(){return ih(this._root)},e}(Gd);function rh(t,e){e.value._routerState=t,e.children.forEach(function(e){return rh(t,e)})}function ih(t){var e=t.children.length>0?" { "+t.children.map(ih).join(", ")+" } ":"";return""+t.value+e}function oh(t){if(t.snapshot){var e=t.snapshot,n=t._futureSnapshot;t.snapshot=n,hd(e.queryParams,n.queryParams)||t.queryParams.next(n.queryParams),e.fragment!==n.fragment&&t.fragment.next(n.fragment),hd(e.params,n.params)||t.params.next(n.params),function(t,e){if(t.length!==e.length)return!1;for(var n=0;n0&&lh(n[0]))throw new Error("Root segment cannot have matrix parameters");var r=n.find(function(t){return"object"==typeof t&&null!=t&&t.outlets});if(r&&r!==fd(n))throw new Error("{outlets:{}} has to be the last command")}return t.prototype.toRoot=function(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]},t}(),ch=function(t,e,n){this.segmentGroup=t,this.processChildren=e,this.index=n};function dh(t){return"object"==typeof t&&null!=t&&t.outlets?t.outlets[id]:""+t}function hh(t,e,n){if(t||(t=new bd([],{})),0===t.segments.length&&t.hasChildren())return ph(t,e,n);var r=function(t,e,n){for(var r=0,i=e,o={match:!1,pathIndex:0,commandIndex:0};i=n.length)return o;var s=t.segments[i],l=dh(n[r]),a=r0&&void 0===l)break;if(l&&a&&"object"==typeof a&&void 0===a.outlets){if(!gh(l,a,s))return o;r+=2}else{if(!gh(l,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}(t,e,n),i=n.slice(r.commandIndex);if(r.match&&r.pathIndex=2?Object(Vc.a)(t,e)(this):Object(Vc.a)(t)(this)}).call(r,function(t,e){return t})},t.prototype.isDeactivating=function(){return 0!==this.canDeactivateChecks.length},t.prototype.isActivating=function(){return 0!==this.canActivateChecks.length},t.prototype.setupChildRouteGuards=function(t,e,n,r){var i=this,o=Kd(e);t.children.forEach(function(t){i.setupRouteGuards(t,o[t.value.outlet],n,r.concat([t.value])),delete o[t.value.outlet]}),_d(o,function(t,e){return i.deactivateRouteAndItsChildren(t,n.getContext(e))})},t.prototype.setupRouteGuards=function(t,e,n,r){var i=t.value,o=e?e.value:null,s=n?n.getContext(t.value.outlet):null;if(o&&i.routeConfig===o.routeConfig){var l=this.shouldRunGuardsAndResolvers(o,i,i.routeConfig.runGuardsAndResolvers);l?this.canActivateChecks.push(new yh(r)):(i.data=o.data,i._resolvedData=o._resolvedData),this.setupChildRouteGuards(t,e,i.component?s?s.children:null:n,r),l&&this.canDeactivateChecks.push(new vh(s.outlet.component,o))}else o&&this.deactivateRouteAndItsChildren(e,s),this.canActivateChecks.push(new yh(r)),this.setupChildRouteGuards(t,null,i.component?s?s.children:null:n,r)},t.prototype.shouldRunGuardsAndResolvers=function(t,e,n){switch(n){case"always":return!0;case"paramsOrQueryParamsChange":return!sh(t,e)||!hd(t.queryParams,e.queryParams);case"paramsChange":default:return!sh(t,e)}},t.prototype.deactivateRouteAndItsChildren=function(t,e){var n=this,r=Kd(t),i=t.value;_d(r,function(t,r){n.deactivateRouteAndItsChildren(t,i.component?e?e.children.getContext(r):null:e)}),this.canDeactivateChecks.push(new vh(i.component&&e&&e.outlet&&e.outlet.isActivated?e.outlet.component:null,i))},t.prototype.runCanDeactivateChecks=function(){var t=this,e=bs(this.canDeactivateChecks),n=xr.call(e,function(e){return t.runCanDeactivate(e.component,e.route)});return Ic.call(n,function(t){return!0===t})},t.prototype.runCanActivateChecks=function(){var t=this,e=bs(this.canActivateChecks),n=Ya.call(e,function(e){return md(bs([t.fireChildActivationStart(e.route.parent),t.fireActivationStart(e.route),t.runCanActivateChild(e.path),t.runCanActivate(e.route)]))});return Ic.call(n,function(t){return!0===t})},t.prototype.fireActivationStart=function(t){return null!==t&&this.forwardEvent&&this.forwardEvent(new nd(t)),Object(ur.a)(!0)},t.prototype.fireChildActivationStart=function(t){return null!==t&&this.forwardEvent&&this.forwardEvent(new td(t)),Object(ur.a)(!0)},t.prototype.runCanActivate=function(t){var e=this,n=t.routeConfig?t.routeConfig.canActivate:null;return n&&0!==n.length?md(nr.call(bs(n),function(n){var r,i=e.getToken(n,t);return r=gd(i.canActivate?i.canActivate(t,e.future):i(t,e.future)),Mr.call(r)})):Object(ur.a)(!0)},t.prototype.runCanActivateChild=function(t){var e=this,n=t[t.length-1],r=t.slice(0,t.length-1).reverse().map(function(t){return e.extractCanActivateChild(t)}).filter(function(t){return null!==t});return md(nr.call(bs(r),function(t){return md(nr.call(bs(t.guards),function(r){var i,o=e.getToken(r,t.node);return i=gd(o.canActivateChild?o.canActivateChild(n,e.future):o(n,e.future)),Mr.call(i)}))}))},t.prototype.extractCanActivateChild=function(t){var e=t.routeConfig?t.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null},t.prototype.runCanDeactivate=function(t,e){var n=this,r=e&&e.routeConfig?e.routeConfig.canDeactivate:null;if(!r||0===r.length)return Object(ur.a)(!0);var i=xr.call(bs(r),function(r){var i,o=n.getToken(r,e);return i=gd(o.canDeactivate?o.canDeactivate(t,e,n.curr,n.future):o(t,e,n.curr,n.future)),Mr.call(i)});return Ic.call(i,function(t){return!0===t})},t.prototype.runResolve=function(t,e){return nr.call(this.resolveNode(t._resolve,t),function(n){return t._resolvedData=n,t.data=Object(o.__assign)({},t.data,th(t,e).resolve),null})},t.prototype.resolveNode=function(t,e){var n=this,r=Object.keys(t);if(0===r.length)return Object(ur.a)({});if(1===r.length){var i=r[0];return nr.call(this.getResolver(t[i],e),function(t){return(e={})[i]=t,e;var e})}var o={},s=xr.call(bs(r),function(r){return nr.call(n.getResolver(t[r],e),function(t){return o[r]=t,t})});return nr.call(Fc.call(s),function(){return o})},t.prototype.getResolver=function(t,e){var n=this.getToken(t,e);return gd(n.resolve?n.resolve(e,this.future):n(e,this.future))},t.prototype.getToken=function(t,e){var n=function(t){if(!t)return null;for(var e=t.parent;e;e=e.parent){var n=e.routeConfig;if(n&&n._loadedConfig)return n._loadedConfig}return null}(e);return(n?n.module.injector:this.moduleInjector).get(t)},t}(),wh=function(){},Mh=function(){function t(t,e,n,r,i){this.rootComponentType=t,this.config=e,this.urlTree=n,this.url=r,this.paramsInheritanceStrategy=i}return t.prototype.recognize=function(){try{var t=Lh(this.urlTree.root,[],[],this.config).segmentGroup,e=this.processSegmentGroup(this.config,t,id),n=new eh([],Object.freeze({}),Object.freeze(this.urlTree.queryParams),this.urlTree.fragment,{},id,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new Qd(n,e),i=new nh(this.url,r);return this.inheritParamsAndData(i._root),Object(ur.a)(i)}catch(t){return new s.a(function(e){return e.error(t)})}},t.prototype.inheritParamsAndData=function(t){var e=this,n=t.value,r=th(n,this.paramsInheritanceStrategy);n.params=Object.freeze(r.params),n.data=Object.freeze(r.data),t.children.forEach(function(t){return e.inheritParamsAndData(t)})},t.prototype.processSegmentGroup=function(t,e,n){return 0===e.segments.length&&e.hasChildren()?this.processChildren(t,e):this.processSegment(t,e,e.segments,n)},t.prototype.processChildren=function(t,e){var n,r=this,i=kd(e,function(e,n){return r.processSegmentGroup(t,e,n)});return n={},i.forEach(function(t){var e=n[t.value.outlet];if(e){var r=e.url.map(function(t){return t.toString()}).join("/"),i=t.value.url.map(function(t){return t.toString()}).join("/");throw new Error("Two segments cannot have the same outlet name: '"+r+"' and '"+i+"'.")}n[t.value.outlet]=t.value}),i.sort(function(t,e){return t.value.outlet===id?-1:e.value.outlet===id?1:t.value.outlet.localeCompare(e.value.outlet)}),i},t.prototype.processSegment=function(t,e,n,r){for(var i=0,o=t;i0?fd(n).parameters:{};i=new eh(n,a,Object.freeze(this.urlTree.queryParams),this.urlTree.fragment,Th(t),r,t.component,t,kh(e),xh(e)+n.length,Oh(t))}else{var u=function(t,e,n){if(""===e.path){if("full"===e.pathMatch&&(t.hasChildren()||n.length>0))throw new wh;return{consumedSegments:[],lastChild:0,parameters:{}}}var r=(e.matcher||ld)(n,t,e);if(!r)throw new wh;var i={};_d(r.posParams,function(t,e){i[e]=t.path});var s=r.consumed.length>0?Object(o.__assign)({},i,r.consumed[r.consumed.length-1].parameters):i;return{consumedSegments:r.consumed,lastChild:r.consumed.length,parameters:s}}(e,t,n);s=u.consumedSegments,l=n.slice(u.lastChild),i=new eh(s,u.parameters,Object.freeze(this.urlTree.queryParams),this.urlTree.fragment,Th(t),r,t.component,t,kh(e),xh(e)+s.length,Oh(t))}var c=function(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}(t),d=Lh(e,s,l,c),h=d.segmentGroup,p=d.slicedSegments;if(0===p.length&&h.hasChildren()){var f=this.processChildren(c,h);return[new Qd(i,f)]}if(0===c.length&&0===p.length)return[new Qd(i,[])];var _=this.processSegment(c,h,p,id);return[new Qd(i,_)]},t}();function kh(t){for(var e=t;e._sourceSegment;)e=e._sourceSegment;return e}function xh(t){for(var e=t,n=e._segmentIndexShift?e._segmentIndexShift:0;e._sourceSegment;)n+=(e=e._sourceSegment)._segmentIndexShift?e._segmentIndexShift:0;return n-1}function Lh(t,e,n,r){if(n.length>0&&function(t,e,n){return r.some(function(n){return Ch(t,e,n)&&Sh(n)!==id})}(t,n)){var i=new bd(e,function(t,e,n,r){var i={};i[id]=r,r._sourceSegment=t,r._segmentIndexShift=e.length;for(var o=0,s=n;o0)||"full"!==n.pathMatch)&&""===n.path&&void 0===n.redirectTo}function Sh(t){return t.outlet||id}function Th(t){return t.data||{}}function Oh(t){return t.resolve||{}}var Dh=function(){},Yh=function(){function t(){}return t.prototype.shouldDetach=function(t){return!1},t.prototype.store=function(t,e){},t.prototype.shouldAttach=function(t){return!1},t.prototype.retrieve=function(t){return null},t.prototype.shouldReuseRoute=function(t,e){return t.routeConfig===e.routeConfig},t}(),Ph=new r.r("ROUTES"),Eh=function(){function t(t,e,n,r){this.loader=t,this.compiler=e,this.onLoadStartListener=n,this.onLoadEndListener=r}return t.prototype.load=function(t,e){var n=this;this.onLoadStartListener&&this.onLoadStartListener(e);var r=this.loadModuleFactory(e.loadChildren);return nr.call(r,function(r){n.onLoadEndListener&&n.onLoadEndListener(e);var i=r.create(t);return new ad(pd(i.injector.get(Ph)),i)})},t.prototype.loadModuleFactory=function(t){var e=this;return"string"==typeof t?zs(this.loader.load(t)):xr.call(gd(t()),function(t){return t instanceof r.x?Object(ur.a)(t):zs(e.compiler.compileModuleAsync(t))})},t}(),Ah=function(){},jh=function(){function t(){}return t.prototype.shouldProcessUrl=function(t){return!0},t.prototype.extract=function(t){return t},t.prototype.merge=function(t,e){return t},t}();function Ih(t){throw t}function Rh(t){return Object(ur.a)(null)}var Hh=function(){function t(t,e,n,i,o,s,l,a){var u=this;this.rootComponentType=t,this.urlSerializer=e,this.rootContexts=n,this.location=i,this.config=a,this.navigations=new yc(null),this.navigationId=0,this.events=new Br.a,this.errorHandler=Ih,this.navigated=!1,this.hooks={beforePreactivation:Rh,afterPreactivation:Rh},this.urlHandlingStrategy=new jh,this.routeReuseStrategy=new Yh,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.ngModule=o.get(r.z),this.resetConfig(a),this.currentUrlTree=new vd(new bd([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.configLoader=new Eh(s,l,function(t){return u.triggerEvent(new Zc(t))},function(t){return u.triggerEvent(new $c(t))}),this.routerState=Zd(this.currentUrlTree,this.rootComponentType),this.processNavigations()}return t.prototype.resetRootComponentType=function(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType},t.prototype.initialNavigation=function(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})},t.prototype.setUpLocationChangeListener=function(){var t=this;this.locationSubscription||(this.locationSubscription=this.location.subscribe(Zone.current.wrap(function(e){var n=t.urlSerializer.parse(e.url),r="popstate"===e.type?"popstate":"hashchange";setTimeout(function(){t.scheduleNavigation(n,r,{replaceUrl:!0})},0)})))},Object.defineProperty(t.prototype,"url",{get:function(){return this.serializeUrl(this.currentUrlTree)},enumerable:!0,configurable:!0}),t.prototype.triggerEvent=function(t){this.events.next(t)},t.prototype.resetConfig=function(t){ud(t),this.config=t,this.navigated=!1},t.prototype.ngOnDestroy=function(){this.dispose()},t.prototype.dispose=function(){this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=null)},t.prototype.createUrlTree=function(t,e){void 0===e&&(e={});var n=e.relativeTo,i=e.queryParams,s=e.fragment,l=e.preserveQueryParams,a=e.queryParamsHandling,u=e.preserveFragment;Object(r.Y)()&&l&&console&&console.warn&&console.warn("preserveQueryParams is deprecated, use queryParamsHandling instead.");var c=n||this.routerState.root,d=u?this.currentUrlTree.fragment:s,h=null;if(a)switch(a){case"merge":h=Object(o.__assign)({},this.currentUrlTree.queryParams,i);break;case"preserve":h=this.currentUrlTree.queryParams;break;default:h=i||null}else h=l?this.currentUrlTree.queryParams:i||null;return null!==h&&(h=this.removeEmptyProps(h)),function(t,e,n,r,i){if(0===n.length)return ah(e.root,e.root,e,r,i);var o=function(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new uh(!0,0,t);var e=0,n=!1,r=t.reduce(function(t,r,i){if("object"==typeof r&&null!=r){if(r.outlets){var o={};return _d(r.outlets,function(t,e){o[e]="string"==typeof t?t.split("/"):t}),t.concat([{outlets:o}])}if(r.segmentPath)return t.concat([r.segmentPath])}return"string"!=typeof r?t.concat([r]):0===i?(r.split("/").forEach(function(r,i){0==i&&"."===r||(0==i&&""===r?n=!0:".."===r?e++:""!=r&&t.push(r))}),t):t.concat([r])},[]);return new uh(n,e,r)}(n);if(o.toRoot())return ah(e.root,new bd([],{}),e,r,i);var s=function(t,n,r){if(t.isAbsolute)return new ch(e.root,!0,0);if(-1===r.snapshot._lastPathIndex)return new ch(r.snapshot._urlSegment,!0,0);var i=lh(t.commands[0])?0:1;return function(e,n,o){for(var s=r.snapshot._urlSegment,l=r.snapshot._lastPathIndex+i,a=t.numberOfDoubleDots;a>l;){if(a-=l,!(s=s.parent))throw new Error("Invalid number of '../'");l=s.segments.length}return new ch(s,!1,l-a)}()}(o,0,t),l=s.processChildren?ph(s.segmentGroup,s.index,o.commands):hh(s.segmentGroup,s.index,o.commands);return ah(s.segmentGroup,l,e,r,i)}(c,this.currentUrlTree,t,h,d)},t.prototype.navigateByUrl=function(t,e){void 0===e&&(e={skipLocationChange:!1});var n=t instanceof vd?t:this.parseUrl(t),r=this.urlHandlingStrategy.merge(n,this.rawUrlTree);return this.scheduleNavigation(r,"imperative",e)},t.prototype.navigate=function(t,e){return void 0===e&&(e={skipLocationChange:!1}),function(t){for(var e=0;e0)return!n||t.address===n}),t}).filter(function(t){return t.addresses.length>0})})},t.prototype.showQrCode=function(t,e){t.stopPropagation();var n=new Ps;n.data={address:e},this.dialog.open(pp,n)},t}(),_p=function(){function t(t,e,n){var r=this;this.apiService=t,this.walletService=e,this.ngZone=n,this.progressSubject=new yc(null),this.refreshedBalance=!1,this.ngZone.runOutsideAngular(function(){s.a.timer(0,2e3).flatMap(function(){return r.getBlockchainProgress()}).takeWhile(function(t){return!t.current||t.current!==t.highest}).subscribe(function(t){return r.ngZone.run(function(){r.progressSubject.next(t),r.refreshedBalance||(r.walletService.refreshBalances(),r.refreshedBalance=!0)})},function(t){return console.log(t)},function(){return r.ngZone.run(function(){return r.completeLoading()})})})}return Object.defineProperty(t.prototype,"progress",{get:function(){return this.progressSubject.asObservable()},enumerable:!0,configurable:!0}),t.prototype.block=function(t){var e=this;return this.apiService.get("blocks",{start:t,end:t}).map(function(t){return t.blocks[0]}).flatMap(function(t){return s.a.forkJoin(t.body.txns.map(function(t){return t.inputs&&!t.inputs.length?s.a.of(t):s.a.forkJoin(t.inputs.map(function(t){return e.retrieveInputAddress(t).map(function(t){return t.owner_address})})).map(function(e){return t.inputs=e,t})})).map(function(e){return t.body.txns=e,t})})},t.prototype.blocks=function(t){return void 0===t&&(t=5100),this.apiService.get("last_blocks",{num:t}).map(function(t){return t.blocks.reverse()})},t.prototype.lastBlock=function(){return this.blocks(1).map(function(t){return t[0]})},t.prototype.getBlockchainProgress=function(){return this.apiService.get("blockchain/progress")},t.prototype.coinSupply=function(){return this.apiService.get("coinSupply")},t.prototype.completeLoading=function(){this.progressSubject.next({current:999999999999,highest:999999999999}),this.walletService.refreshBalances()},t.prototype.retrieveInputAddress=function(t){return this.apiService.get("uxout",{uxid:t})},t}(),mp=function(){function t(t){this.blockchainService=t}return t.prototype.ngOnInit=function(){var t=this;this.blockchainService.lastBlock().subscribe(function(e){return t.block=e}),this.blockchainService.coinSupply().subscribe(function(e){return t.coinSupply=e})},t}(),gp=function(){function t(t,e){this.data=t,this.dialogRef=e}return t.prototype.ngOnDestroy=function(){this.data.seed=null},t}(),yp=n("YKDW"),vp=function(){function t(t,e,n,r){var i=this;this.data=t,this.dialogRef=e,this.snackbar=n,this.translateService=r,this.passwordSubmit=new Br.a,this.disableDismiss=!1,this.subscriptions=[],this.data=Object.assign({confirm:!1,description:null,title:null},t||{}),this.translateService.get(["errors.incorrect-password","errors.api-disabled","errors.no-wallet"]).subscribe(function(t){i.errors=t})}return t.prototype.ngOnInit=function(){var t=this;this.form=new Rl({},this.validateForm.bind(this)),this.form.addControl("password",new Il("")),this.form.addControl("confirm_password",new Il("")),["password","confirm_password"].forEach(function(e){t.subscriptions.push(t.form.get(e).valueChanges.subscribe(function(){2===t.button.state&&t.button.resetState()}))}),this.data.confirm?this.form.get("confirm_password").enable():this.form.get("confirm_password").disable(),this.data.description&&this.dialogRef.updateSize("400px")},t.prototype.ngOnDestroy=function(){this.form.get("password").setValue(""),this.form.get("confirm_password").setValue(""),this.passwordSubmit.complete(),this.subscriptions.forEach(function(t){return t.unsubscribe()})},t.prototype.proceed=function(){this.form.valid&&!this.button.isLoading()&&(this.button.setLoading(),this.disableDismiss=!0,this.passwordSubmit.next({password:this.form.get("password").value,close:this.close.bind(this),error:this.error.bind(this)}))},t.prototype.validateForm=function(){if(this.form&&this.form.get("password")&&this.form.get("confirm_password")){if(0===this.form.get("password").value.length)return{Required:!0};if(this.data.confirm&&this.form.get("password").value!==this.form.get("confirm_password").value)return{NotEqual:!0}}return null},t.prototype.close=function(){this.dialogRef.close()},t.prototype.error=function(t){if("object"==typeof t)switch(t.status){case 400:t=Mc(t._body);break;case 401:t=this.errors["errors.incorrect-password"];break;case 403:t=this.errors["errors.api-disabled"];break;case 404:t=this.errors["errors.no-wallet"];break;default:kc(this.snackbar,t,5e3)}this.button.setError(t||this.errors["errors.incorrect-password"]),this.disableDismiss=!1},t}(),bp=function(){function t(t,e){this.walletService=t,this.dialog=e,this.wallets=[]}return t.prototype.ngOnInit=function(){var t=this;this.walletService.folder().subscribe(function(e){return t.folder=e}),this.walletSubscription=this.walletService.all().subscribe(function(e){t.wallets=e})},t.prototype.ngOnDestroy=function(){this.walletSubscription.unsubscribe()},Object.defineProperty(t.prototype,"onlyEncrypted",{get:function(){return this.wallets.filter(function(t){return t.encrypted})},enumerable:!0,configurable:!0}),t.prototype.showSeed=function(t){var e=this;this.dialog.open(vp).componentInstance.passwordSubmit.subscribe(function(n){e.walletService.getWalletSeed(t,n.password).subscribe(function(t){n.close();var r=new Ps;r.width="566px",r.data={seed:t},e.dialog.open(gp,r)},function(t){return n.error(t)})})},t}(),wp=function(t){function e(e,n){void 0===e&&(e=0),void 0===n&&(n=Dr),t.call(this),this.period=e,this.scheduler=n,(!Lr(e)||e<0)&&(this.period=0),n&&"function"==typeof n.schedule||(this.scheduler=Dr)}return Object(o.__extends)(e,t),e.create=function(t,n){return void 0===t&&(t=0),void 0===n&&(n=Dr),new e(t,n)},e.dispatch=function(t){var e=t.subscriber,n=t.period;e.next(t.index),e.closed||(t.index+=1,this.schedule(t,n))},e.prototype._subscribe=function(t){var n=this.period;t.add(this.scheduler.schedule(e.dispatch,n,{index:0,subscriber:t,period:n}))},e}(s.a),Mp=function(){function t(t){this.apiService=t,this.automaticPeers=new yc([]),this.loadData()}return t.prototype.automatic=function(){return this.automaticPeers.asObservable()},t.prototype.retrieveDefaultConnections=function(){return this.apiService.get("network/defaultConnections").map(function(t){return t.map(function(t,e){return{id:e+1,address:t,listen_port:6e3}})})},t.prototype.loadData=function(){var t=this;this.retrieveConnections().subscribe(function(e){return t.automaticPeers.next(e)}),wp.create(5e3).flatMap(function(){return t.retrieveConnections()}).subscribe(function(e){return t.automaticPeers.next(e)})},t.prototype.retrieveConnections=function(){return this.apiService.get("network/connections").map(function(t){return t.connections.sort(function(t,e){return t.id-e.id})})},t}(),kp=function(){function t(t){this.networkService=t}return t.prototype.ngOnInit=function(){var t=this;this.networkService.retrieveDefaultConnections().subscribe(function(e){t.subscription=t.networkService.automatic().first().subscribe(function(n){t.peers=n.map(function(t){return t.source=e.find(function(e){return e.address===t.address})?"default":"exchange",t}).sort(function(t,e){return t.address.localeCompare(e.address)})})})},t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t}(),xp=function(){function t(t,e){this.httpClient=t,this.walletService=e,this.configSubject=new yc(null),this.purchaseOrders=new yc([]),this.purchaseUrl=i.tellerUrl,this.getConfig()}return t.prototype.all=function(){return this.purchaseOrders.asObservable()},t.prototype.config=function(){return this.configSubject.asObservable()},t.prototype.getConfig=function(){var t=this;return this.get("config").map(function(t){return{enabled:!0,sky_btc_exchange_rate:parseFloat(t.sky_btc_exchange_rate)}}).subscribe(function(e){return t.configSubject.next(e)})},t.prototype.generate=function(t){var e=this;return this.walletService.addAddress(t).flatMap(function(n){return e.post("bind",{skyaddr:n.address,coin_type:"BTC"}).map(function(e){return{coin_type:e.coin_type,deposit_address:e.deposit_address,filename:t.filename,recipient_address:n.address,status:"waiting_deposit"}})})},t.prototype.scan=function(t){return this.get("status?skyaddr="+t).map(function(t){if(!t.statuses||t.statuses.length>1)throw new Error("too many purchase orders found");return t.statuses[0]})},t.prototype.get=function(t){return this.httpClient.get(this.purchaseUrl+t)},t.prototype.post=function(t,e){return void 0===e&&(e={}),this.httpClient.post(this.purchaseUrl+t,e)},t}(),Lp=function(){function t(t,e,n,r){this.formBuilder=t,this.purchaseService=e,this.snackBar=n,this.walletService=r}return t.prototype.ngOnInit=function(){this.initForm(),this.loadData()},t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t.prototype.checkStatus=function(){var t=this;this.button.setLoading(),this.purchaseService.scan(this.order.recipient_address).subscribe(function(e){t.button.setSuccess(),t.order.status=e.status},function(e){return t.button.setError(e)})},t.prototype.removeOrder=function(){window.localStorage.removeItem("purchaseOrder"),this.order=null},t.prototype.initForm=function(){var t=this;this.form=this.formBuilder.group({wallet:["",Qs.required]}),this.subscription=this.form.get("wallet").valueChanges.subscribe(function(e){var n=t.wallets.find(function(t){return t.filename===e});console.log("changing wallet value",e),t.purchaseService.generate(n).subscribe(function(e){return t.saveData(e)},function(e){return t.snackBar.open(e.toString())})})},t.prototype.loadConfig=function(){var t=this;this.purchaseService.config().filter(function(t){return!!t&&!!t.sky_btc_exchange_rate}).first().subscribe(function(e){return t.config=e})},t.prototype.loadData=function(){var t=this;this.loadConfig(),this.loadOrder(),this.subscription.add(this.walletService.all().subscribe(function(e){t.wallets=e,t.order&&t.form.get("wallet").setValue(t.order.filename,{emitEvent:!1})}))},t.prototype.loadOrder=function(){var t=JSON.parse(window.localStorage.getItem("purchaseOrder"));t&&(this.order=t,this.updateOrder())},t.prototype.saveData=function(t){this.order=t,window.localStorage.setItem("purchaseOrder",JSON.stringify(t))},t.prototype.updateOrder=function(){var t=this;this.purchaseService.scan(this.order.recipient_address).first().subscribe(function(e){return t.order.status=e.status},function(t){return console.log(t)})},t}(),Cp=function(){return function(t,e){var n=this;this.http=t,this.ngZone=e,this.CMC_TICKER_ID=1619,this.price=new yc(null),this.ngZone.runOutsideAngular(function(){s.a.timer(0,6e5).subscribe(function(){n.http.get("https://api.coinmarketcap.com/v2/ticker/"+n.CMC_TICKER_ID+"/").map(function(t){return t.json()}).subscribe(function(t){return n.ngZone.run(function(){n.price.next(t.data.quotes.USD.price)})})})})}}(),Sp=function(){function t(t,e){this.transaction=t,this.dialogRef=e}return t.prototype.closePopup=function(){this.dialogRef.close()},t}(),Tp=function(){function t(t,e,n){this.dialog=t,this.priceService=e,this.walletService=n}return t.prototype.ngOnInit=function(){var t=this;this.priceSubscription=this.priceService.price.subscribe(function(e){return t.price=e}),this.walletService.transactions().first().subscribe(function(e){return t.transactions=e})},t.prototype.ngOnDestroy=function(){this.priceSubscription.unsubscribe()},t.prototype.showTransaction=function(t){var e=new Ps;e.width="800px",e.data=t,this.dialog.open(Sp,e)},t.prototype.showQrCode=function(t,e){t.stopPropagation();var n=new Ps;n.data={address:e},this.dialog.open(pp,n)},t}(),Op=function(){function t(t,e){this.walletService=t,this.router=e}return t.prototype.canActivate=function(t,e){var n=this;return new Promise(function(t){n.walletService.all().first().subscribe(function(e){return 0===e.length?(n.router.navigate(["/wizard"]),t(!1)):t(!0)})})},t}(),Dp=function(){function t(t,e){this.router=t,this.walletService=e,this.step=1}return t.prototype.onLabelAndSeedCreated=function(t){this.label=t[0],this.seed=t[1],this.create=t[2],this.step=2},t.prototype.onPasswordCreated=function(t){this.password=t,this.createWallet()},t.prototype.onBack=function(){this.step=1},Object.defineProperty(t.prototype,"fill",{get:function(){return this.label?{label:this.label,seed:this.seed,create:this.create}:null},enumerable:!0,configurable:!0}),t.prototype.createWallet=function(){var t=this;this.walletService.create(this.label,this.seed,100,this.password).subscribe(function(){t.router.navigate(["/wallets"])})},t}(),Yp=function(){},Pp=function(){function t(t){this.predicate=t}return t.prototype.call=function(t,e){return e.subscribe(new Ep(t,this.predicate))},t}(),Ep=function(t){function e(e,n){t.call(this,e),this.predicate=n,this.index=0}return Object(o.__extends)(e,t),e.prototype._next=function(t){var e,n=this.destination;try{e=this.predicate(t,this.index++)}catch(t){return void n.error(t)}this.nextOrComplete(t,e)},e.prototype.nextOrComplete=function(t,e){var n=this.destination;Boolean(e)?n.next(t):n.complete()},e}(cr.a);s.a.prototype.takeWhile=function(t){return function(t){return function(e){return e.lift(new Pp(t))}}(t)(this)};var Ap=function(){function t(t,e){this.apiService=t,this.ngZone=e,this.monitorConnections()}return t.prototype.testBackend=function(){var t=this;this.apiService.getVersion().first().subscribe(function(e){t.version=e,t.apiService.getCsrf().subscribe(null,function(){return t.error=3})},function(){return t.error=2})},t.prototype.monitorConnections=function(){var t=this;this.retrieveConnections().subscribe(function(e){return t.setConnectionError(e)}),this.ngZone.runOutsideAngular(function(){wp.create(1500).flatMap(function(){return t.retrieveConnections()}).subscribe(function(e){return t.ngZone.run(function(){t.setConnectionError(e)})})})},t.prototype.retrieveConnections=function(){return this.apiService.get("network/connections")},t.prototype.setConnectionError=function(t){null!==t.connections&&0!==t.connections.length||(this.error=1),null!==t.connections&&t.connections.length>0&&1===this.error&&(this.error=null)},t}(),jp=function(){function t(t,e){this.appService=t,this.translateService=e,e.setDefaultLang("en"),e.use("en")}return t.prototype.ngOnInit=function(){this.appService.testBackend()},t}(),Ip=r._7({encapsulation:2,styles:[".mat-dialog-container{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);display:block;padding:24px;border-radius:2px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%}@media screen and (-ms-high-contrast:active){.mat-dialog-container{outline:solid 1px}}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch;-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:12px 0;display:flex;flex-wrap:wrap}.mat-dialog-actions:last-child{margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button+.mat-button,.mat-dialog-actions .mat-button+.mat-raised-button,.mat-dialog-actions .mat-raised-button+.mat-button,.mat-dialog-actions .mat-raised-button+.mat-raised-button{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button+.mat-button,[dir=rtl] .mat-dialog-actions .mat-button+.mat-raised-button,[dir=rtl] .mat-dialog-actions .mat-raised-button+.mat-button,[dir=rtl] .mat-dialog-actions .mat-raised-button+.mat-raised-button{margin-left:0;margin-right:8px}"],data:{animation:[{type:7,name:"slideDialog",definitions:[{type:0,name:"enter",styles:{type:6,styles:{transform:"none",opacity:1},offset:null},options:void 0},{type:0,name:"void",styles:{type:6,styles:{transform:"translate3d(0, 25%, 0) scale(0.9)",opacity:0},offset:null},options:void 0},{type:0,name:"exit",styles:{type:6,styles:{transform:"translate3d(0, 25%, 0)",opacity:0},offset:null},options:void 0},{type:1,expr:"* => *",animation:{type:4,styles:null,timings:"400ms cubic-bezier(0.25, 0.8, 0.25, 1)"},options:null}],options:{}}]}});function Rp(t){return r._33(0,[(t()(),r._4(0,null,null,0))],null,null)}function Hp(t){return r._33(0,[r._29(402653184,1,{_portalOutlet:0}),(t()(),r._4(16777216,null,null,1,null,Rp)),r._8(2,212992,[[1,4]],0,Si,[r.j,r.R],{portal:[0,"portal"]},null)],function(t,e){t(e,2,0,"")},null)}var Fp=r._5("mat-dialog-container",As,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"mat-dialog-container",[["class","mat-dialog-container"],["tabindex","-1"]],[[1,"role",0],[1,"aria-labelledby",0],[1,"aria-label",0],[1,"aria-describedby",0],[40,"@slideDialog",0]],[["component","@slideDialog.start"],["component","@slideDialog.done"]],function(t,e,n){var i=!0;return"component:@slideDialog.start"===e&&(i=!1!==r._22(t,1)._onAnimationStart(n)&&i),"component:@slideDialog.done"===e&&(i=!1!==r._22(t,1)._onAnimationDone(n)&&i),i},Hp,Ip)),r._8(1,49152,null,0,As,[r.l,go,r.h,[2,Pt]],null,null)],null,function(t,e){t(e,0,0,null==r._22(e,1)._config?null:r._22(e,1)._config.role,null!=r._22(e,1)._config&&r._22(e,1)._config.ariaLabel?null:r._22(e,1)._ariaLabelledBy,null==r._22(e,1)._config?null:r._22(e,1)._config.ariaLabel,(null==r._22(e,1)._config?null:r._22(e,1)._config.ariaDescribedBy)||null,r._22(e,1)._state)})},{},{},[]),Np=r._7({encapsulation:2,styles:[".mat-snack-bar-container{border-radius:2px;box-sizing:border-box;display:block;margin:24px;max-width:568px;min-width:288px;padding:14px 24px;transform:translateY(100%) translateY(24px)}.mat-snack-bar-container.mat-snack-bar-center{margin:0;transform:translateY(100%)}.mat-snack-bar-container.mat-snack-bar-top{transform:translateY(-100%) translateY(-24px)}.mat-snack-bar-container.mat-snack-bar-top.mat-snack-bar-center{transform:translateY(-100%)}@media screen and (-ms-high-contrast:active){.mat-snack-bar-container{border:solid 1px}}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:0;max-width:inherit;width:100%}"],data:{animation:[{type:7,name:"state",definitions:[{type:0,name:"visible-top, visible-bottom",styles:{type:6,styles:{transform:"translateY(0%)"},offset:null},options:void 0},{type:1,expr:"visible-top => hidden-top, visible-bottom => hidden-bottom",animation:{type:4,styles:null,timings:"195ms cubic-bezier(0.4,0.0,1,1)"},options:null},{type:1,expr:"void => visible-top, void => visible-bottom",animation:{type:4,styles:null,timings:"225ms cubic-bezier(0.0,0.0,0.2,1)"},options:null}],options:{}}]}});function Vp(t){return r._33(0,[(t()(),r._4(0,null,null,0))],null,null)}function Bp(t){return r._33(2,[r._29(402653184,1,{_portalOutlet:0}),(t()(),r._4(16777216,null,null,1,null,Vp)),r._8(2,212992,[[1,4]],0,Si,[r.j,r.R],{portal:[0,"portal"]},null)],function(t,e){t(e,2,0,"")},null)}var zp=r._5("snack-bar-container",fc,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"snack-bar-container",[["class","mat-snack-bar-container"],["role","alert"]],[[40,"@state",0]],[["component","@state.done"]],function(t,e,n){var i=!0;return"component:@state.done"===e&&(i=!1!==r._22(t,1).onAnimationEnd(n)&&i),i},Bp,Np)),r._8(1,180224,null,0,fc,[r.B,r.l,r.h],null,null)],null,function(t,e){t(e,0,0,r._22(e,1)._animationState)})},{},{},[]),Wp=r._7({encapsulation:2,styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;line-height:20px;opacity:1}.mat-simple-snackbar-action{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;background:0 0;flex-shrink:0;margin-left:48px}[dir=rtl] .mat-simple-snackbar-action{margin-right:48px;margin-left:0}"],data:{animation:[{type:7,name:"contentFade",definitions:[{type:1,expr:":enter",animation:[{type:6,styles:{opacity:"0"},offset:null},{type:4,styles:null,timings:"375ms cubic-bezier(0.4,0.0,0.2,1)"}],options:null}],options:{}}]}});function Up(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"button",[["class","mat-simple-snackbar-action"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.action()&&r),r},null,null)),(t()(),r._31(1,null,["",""]))],null,function(t,e){t(e,1,0,e.component.data.action)})}function Gp(t){return r._33(2,[(t()(),r._31(0,null,[""," "])),(t()(),r._4(16777216,null,null,1,null,Up)),r._8(2,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null)],function(t,e){t(e,2,0,e.component.hasAction)},function(t,e){t(e,0,0,e.component.data.message)})}var Jp=r._5("simple-snack-bar",pc,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"simple-snack-bar",[["class","mat-simple-snackbar"]],[[40,"@contentFade",0]],null,null,Gp,Wp)),r._8(1,49152,null,0,pc,[cc,dc],null,null)],null,function(t,e){t(e,0,0,void 0)})},{},{},[]),qp=r._7({encapsulation:2,styles:[".mat-tooltip-panel{pointer-events:none!important}.mat-tooltip{color:#fff;border-radius:2px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px}@media screen and (-ms-high-contrast:active){.mat-tooltip{outline:solid 1px}}"],data:{animation:[{type:7,name:"state",definitions:[{type:0,name:"initial, void, hidden",styles:{type:6,styles:{transform:"scale(0)"},offset:null},options:void 0},{type:0,name:"visible",styles:{type:6,styles:{transform:"scale(1)"},offset:null},options:void 0},{type:1,expr:"* => visible",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.0, 0.0, 0.2, 1)"},options:null},{type:1,expr:"* => hidden",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.4, 0.0, 1, 1)"},options:null}],options:{}}]}});function Qp(t){return r._33(2,[(t()(),r._9(0,0,null,null,2,"div",[["class","mat-tooltip"]],[[4,"transform-origin",null],[24,"@state",0]],[[null,"@state.start"],[null,"@state.done"]],function(t,e,n){var r=!0,i=t.component;return"@state.start"===e&&(r=!1!==i._animationStart()&&r),"@state.done"===e&&(r=!1!==i._animationDone(n)&&r),r},null,null)),r._8(1,278528,null,0,I,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),r._31(2,null,["",""]))],function(t,e){t(e,1,0,"mat-tooltip",e.component.tooltipClass)},function(t,e){var n=e.component;t(e,0,0,n._transformOrigin,n._visibility),t(e,2,0,n.message)})}var Kp=r._5("mat-tooltip-component",Uu,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"mat-tooltip-component",[["aria-hidden","true"]],[[4,"zoom",null]],[["body","click"]],function(t,e,n){var i=!0;return"body:click"===e&&(i=!1!==r._22(t,1)._handleBodyInteraction()&&i),i},Qp,qp)),r._8(1,49152,null,0,Uu,[r.h],null,null)],null,function(t,e){t(e,0,0,"visible"===r._22(e,1)._visibility?1:null)})},{},{},[]),Xp=r._7({encapsulation:2,styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}"],data:{}});function Zp(t){return r._33(2,[r._21(null,0)],null,null)}var $p=r._7({encapsulation:2,styles:[".mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:2px;outline:0}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-menu-panel.mat-menu-after.mat-menu-below{transform-origin:left top}.mat-menu-panel.mat-menu-after.mat-menu-above{transform-origin:left bottom}.mat-menu-panel.mat-menu-before.mat-menu-below{transform-origin:right top}.mat-menu-panel.mat-menu-before.mat-menu-above{transform-origin:right bottom}[dir=rtl] .mat-menu-panel.mat-menu-after.mat-menu-below{transform-origin:right top}[dir=rtl] .mat-menu-panel.mat-menu-after.mat-menu-above{transform-origin:right bottom}[dir=rtl] .mat-menu-panel.mat-menu-before.mat-menu-below{transform-origin:left top}[dir=rtl] .mat-menu-panel.mat-menu-before.mat-menu-above{transform-origin:left bottom}.mat-menu-panel.ng-animating{pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-menu-panel{outline:solid 1px}}.mat-menu-content{padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;position:relative}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item .mat-icon{vertical-align:middle}.mat-menu-item-submenu-trigger{padding-right:32px}.mat-menu-item-submenu-trigger::after{width:0;height:0;border-style:solid;border-width:5px 0 5px 5px;border-color:transparent transparent transparent currentColor;content:'';display:inline-block;position:absolute;top:50%;right:16px;transform:translateY(-50%)}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:8px;padding-left:32px}[dir=rtl] .mat-menu-item-submenu-trigger::after{right:auto;left:16px;transform:rotateY(180deg) translateY(-50%)}button.mat-menu-item{width:100%}.mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}"],data:{animation:[{type:7,name:"transformMenu",definitions:[{type:0,name:"void",styles:{type:6,styles:{opacity:0,transform:"scale(0.01, 0.01)"},offset:null},options:void 0},{type:0,name:"enter-start",styles:{type:6,styles:{opacity:1,transform:"scale(1, 0.5)"},offset:null},options:void 0},{type:0,name:"enter",styles:{type:6,styles:{transform:"scale(1, 1)"},offset:null},options:void 0},{type:1,expr:"void => enter-start",animation:{type:4,styles:null,timings:"100ms linear"},options:null},{type:1,expr:"enter-start => enter",animation:{type:4,styles:null,timings:"300ms cubic-bezier(0.25, 0.8, 0.25, 1)"},options:null},{type:1,expr:"* => void",animation:{type:4,styles:{type:6,styles:{opacity:0},offset:null},timings:"150ms 50ms linear"},options:null}],options:{}},{type:7,name:"fadeInItems",definitions:[{type:0,name:"showing",styles:{type:6,styles:{opacity:1},offset:null},options:void 0},{type:1,expr:"void => *",animation:[{type:6,styles:{opacity:0},offset:null},{type:4,styles:null,timings:"400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function tf(t){return r._33(0,[(t()(),r._9(0,0,null,null,3,"div",[["class","mat-menu-panel"],["role","menu"],["tabindex","-1"]],[[24,"@transformMenu",0]],[[null,"keydown"],[null,"click"],[null,"@transformMenu.done"]],function(t,e,n){var r=!0,i=t.component;return"keydown"===e&&(r=!1!==i._handleKeydown(n)&&r),"click"===e&&(r=!1!==i.closed.emit("click")&&r),"@transformMenu.done"===e&&(r=!1!==i._onAnimationDone(n)&&r),r},null,null)),r._8(1,278528,null,0,I,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),r._9(2,0,null,null,1,"div",[["class","mat-menu-content"]],[[24,"@fadeInItems",0]],null,null,null,null)),r._21(null,0)],function(t,e){t(e,1,0,"mat-menu-panel",e.component._classList)},function(t,e){t(e,0,0,e.component._panelAnimationState),t(e,2,0,"showing")})}function ef(t){return r._33(2,[r._29(402653184,1,{templateRef:0}),(t()(),r._4(0,[[1,2]],null,0,null,tf))],null,null)}var nf=r._7({encapsulation:2,styles:[],data:{}});function rf(t){return r._33(2,[r._21(null,0),(t()(),r._9(1,0,null,null,1,"div",[["class","mat-menu-ripple mat-ripple"],["matRipple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),r._8(2,212992,null,0,qo,[r.l,r.B,ei,[2,Jo]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,2,0,n.disableRipple||n.disabled,n._getHostElement())},function(t,e){t(e,1,0,r._22(e,2).unbounded)})}var of=function(){function t(t,e,n,r){this.dialogRef=t,this.data=e,this.formBuilder=n,this.walletService=r}return t.prototype.ngOnInit=function(){this.form=this.formBuilder.group({label:[this.data.label,Qs.required]})},t.prototype.closePopup=function(){this.dialogRef.close()},t.prototype.rename=function(){var t=this;this.form.valid&&!this.button.isLoading()&&(this.button.setLoading(),this.walletService.renameWallet(this.data,this.form.value.label).subscribe(function(){return t.dialogRef.close(t.form.value.label)}))},t}(),sf=function(){function t(t,e,n,r){this.dialog=t,this.walletService=e,this.snackbar=n,this.translateService=r}return t.prototype.ngOnInit=function(){var t=this;this.translateService.get("wallet.new.encrypt-warning").subscribe(function(e){t.encryptionWarning=e})},t.prototype.ngOnDestroy=function(){this.snackbar.dismiss()},t.prototype.editWallet=function(){var t=new Ps;t.width="566px",t.data=this.wallet,this.dialog.open(of,t)},t.prototype.newAddress=function(){var t=this;this.snackbar.dismiss(),this.wallet.encrypted?this.dialog.open(vp).componentInstance.passwordSubmit.subscribe(function(e){t.walletService.addAddress(t.wallet,e.password).subscribe(function(){return e.close()},function(){return e.error()})}):this.walletService.addAddress(this.wallet).subscribe(null,function(e){return kc(t.snackbar,e)})},t.prototype.toggleEmpty=function(){this.wallet.hideEmpty=!this.wallet.hideEmpty},t.prototype.toggleEncryption=function(){var t=this,e=new Ps;e.data={confirm:!this.wallet.encrypted,title:this.wallet.encrypted?"wallet.decrypt":"wallet.encrypt"},this.wallet.encrypted||(e.data.description=this.encryptionWarning),this.dialog.open(vp,e).componentInstance.passwordSubmit.subscribe(function(e){t.walletService.toggleEncryption(t.wallet,e.password).subscribe(function(){e.close()},function(t){return e.error(t)})})},t.prototype.copyAddress=function(t,e,n){if(void 0===n&&(n=500),t.stopPropagation(),!e.copying){var r=document.createElement("textarea");r.style.position="fixed",r.style.left="0",r.style.top="0",r.style.opacity="0",r.value=e.address,document.body.appendChild(r),r.focus(),r.select(),document.execCommand("copy"),document.body.removeChild(r),e.copying=!0,setTimeout(function(){e.copying=!1},n)}},t.prototype.showQrCode=function(t,e){t.stopPropagation();var n=new Ps;n.data={address:e},this.dialog.open(pp,n)},t}(),lf=r._7({encapsulation:0,styles:[[".-row.-detail[_ngcontent-%COMP%]{background-color:#f5f5f5}.-grey[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}.-address[_ngcontent-%COMP%]{padding-left:0!important}.-address[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:17px;vertical-align:middle;margin-right:10px}.-address[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{display:inline-block;line-height:60px;cursor:pointer}.-address[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:hover .copy-label[_ngcontent-%COMP%]{opacity:1}.-text-right[_ngcontent-%COMP%]{text-align:right}.-options[_ngcontent-%COMP%]{text-align:center}.-options[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:rgba(97,109,125,.5);cursor:pointer;vertical-align:middle}.-options[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]:hover{color:#0072ff}.-actions[_ngcontent-%COMP%]{background-color:#fefefe;border-bottom:1px solid #eff0f0;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-shadow:0 4px 10px rgba(0,0,0,.03)!important;box-shadow:0 4px 10px rgba(0,0,0,.03)!important;border-top-left-radius:0!important;border-top-right-radius:0!important;z-index:100;position:relative}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%]{padding-right:20px}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%]:first-child{padding-left:5px}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#cecfd0;font-size:12px;height:60px;margin:0 5px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span.-img[_ngcontent-%COMP%]::before{content:'';display:inline-block;height:32px;width:32px;margin-right:5px;background-repeat:no-repeat;background-size:32px 32px}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span.-new-address[_ngcontent-%COMP%]::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANpSURBVHgB7ZndcdswDIBBOQO4G6gTxOzfa9IJmk6QdoK6E8TeIJkg6QRtJqj72l4qZ4JyBA8QiwUk2qVoWbJFyNdc8N3pbFIS+AcCIAQgCIIgCIIgCIIgCMJTQ8GByLJsiD9n2OSJBRjh/xSvobu9wMtgZ+Z4fwaQ32qtF3AAep8AHHia5zBWiTqHfwNuBTt2A2CnOBEGeqS3CShXPLmwYMcQgQJ1iRox7UsjepkAWnUL6juUas4Bbg/7tg9tSICZn1k2ahj8AjViusTB4ICev9AjRRf+f0Z1NrdX+Iypea+YUJINzLBqQMPKGxzgx9daz3aU8wHlXNTJ4dYEtgmgPY+dziDoNK74FarZZN89TPLQeE7QeH4KbtEkaC6bcARsJLhiNvVrSN1faj2BDrgBju+ybKFKbViRlm3BZ2CARQOc6v/x62jlcfDj7e/cn+MzaOGBBogacvxl27N3d9llqAlkQzi2AosRtBYmQZUhtW98Byzdp7ggdROxlSQpZBm/jmILYCB6Agp/r4ogZ025oq17NPX+NwZIJIuMaKUNDKxcdBkFhwacBWXTpM5dcR7En9ThcrnR9t5ETwCq/2mlnNtb6AkXJ6wZDNQJRBKvAUod+8U8gW/QEyh75pfdoSoKDjeYBgLnftmz9o379Xc2t0GVCb0Dyja2oe0ucNiAysBC4+dZ+33Z8A41bu+/MIJtxHSy95wAxwRUOklBkV/OwVLEZqCDXHx3GsgeNrXdBQ4bYMAzRg/lvjSr8iutb6BIblQJ9zydCqGdUU3bUcRrgLX3FYF51S1ygtFfxe+rwOB2IXoC8DA/q5Q3T29soOx3Qc0MIuGwAeT3KxHaryw7BWYoRwAbbi+PDrqiJ4DcHkZoldB3AOp6hzjdnzTT9KDLNfhH4iJpypETYHGDeFoLT3OpO7NvxfMOG9a+poWa7FDbO7vBlhGqP7MXkVxURzGSvHDB1Jq2XMM+9J4S65rWbkirs6bEDpYUbcv6BHJOUc41PKak6ApKXR+B+gr1BxVDx+WkPDHOV6vooke8khO34nUG1DyAff9G62jf7yMfRqAHqKO0T8MERhfI4Lk9b6AHDvJxtEiaBnnDForYgtzro/04GrL6PF6k0MosUgo1n8cx+fljgNHloT6PC4IgCIIgCIIgCILw9PgL6Ap8qFzYW2UAAAAASUVORK5CYII=)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span.-hide-empty[_ngcontent-%COMP%]::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANISURBVHgB7ZndcdswDIBBOQO4G6gTxOzfa9IJmk6QdIKmE8TewJkg6QStJ6j72p6PzgTlBvUAsVhAohqK1jm2CPkuF3x3uphyDJIgCIAggCAIgiAIgiAIgiAIzw0FB8IYM8Q/Z9jliQMY4eccn6H/eoWPxcEs8fs5QDHTWq/gAPSuAJx4XhRwqTJ1Dg8TfhQc2C2Am6AiLPRIbwqoVjy7cuAuIQEFaooWMenLInpRAK26A/UDKjPnALeHe9+HNWTAzC9jRlsmv0KLmKxxMjihl6/0SNGDn1/QO1e4a/wf2/K7UqEkG5hhtYAtK29xgp/eaj3fUc4Fyrlqk8NtCWwKoD2PgzYQDRpX/BrNbLzvHiZ56DzH6Dw/R1+REjSXTzgCNjJcMZeHb8jcX2s9hg74CV4ujFmpyhpq8qov+AIMsFiAN/0/4TtaeZx8UgSoWSzMNLYE8iEcW4HFCToH4+iVJbMHJrKslGXDd5RbAAPJFuD3/t+mUHWh9fFXYOS3MaeDysHWrLwVJPkCDgs4i9qWe/KEjyDhZIfr9Ubfe5OsADT/00a7cDPoCZ8n/GcwUCeQSLoFKHUcNosMvkNPoOx52PaHqiQ4wmAeCVyGbWPuzjEiYD6/+0HIg/FejcPthLKt29J3Fzh8QGNisVPCyY9h/8kTuVdcKNvClr67wH4WaCFlkL3XBDgU0BgkJUVhuwBHGZuFDnLxt5NI9nBb313g8AEWAmd0X+1LW7ffaH0LZXGDhVFL30mkW4Bzdw2BRTMscoLZXyPuq8jhdiFZAXiYnzfam6c3NlD2h+jNHBLh8AEU9xsZGqWtwAzVCGAj7BXJSVeyAijsYYbWSH0xZ79pcVid8eeN8EhcFk05agIsYRBPa9PoVe7P7ExkLdWhZoToLBkYoAQlztOpGoxZYLISSEZcWaZaA1dZrPeSWNey9payOmtJ7GBF0Tivf0TOKcq5gadUFK2h0vURqG/QflChrTLLqhPjsl5Fnz3ik534FW9zoPYe3Md3WifH/hC5GIEeoIHSPo0dYxfI4fk9b6EHDnI5WhZNVXk5uitlbkHh9clejsbU1+NlCa2qIuXQcj2ON0g/B5hdHup6XBAEQRAEQRAEQRCE58c/90hmWzuzaIoAAAAASUVORK5CYII=)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span.-show-empty[_ngcontent-%COMP%]::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANpSURBVHgB7ZndcdswDIBBOQO4G6gTxOzfa9IJmk6QdoK6E8TeIJkg6QRtJqj72l4qZ4JyBA8QiwUk2qVoWbJFyNdc8N3pbFIS+AcCIAQgCIIgCIIgCIIgCMJTQ8GByLJsiD9n2OSJBRjh/xSvobu9wMtgZ+Z4fwaQ32qtF3AAep8AHHia5zBWiTqHfwNuBTt2A2CnOBEGeqS3CShXPLmwYMcQgQJ1iRox7UsjepkAWnUL6juUas4Bbg/7tg9tSICZn1k2ahj8AjViusTB4ICev9AjRRf+f0Z1NrdX+Iypea+YUJINzLBqQMPKGxzgx9daz3aU8wHlXNTJ4dYEtgmgPY+dziDoNK74FarZZN89TPLQeE7QeH4KbtEkaC6bcARsJLhiNvVrSN1faj2BDrgBju+ybKFKbViRlm3BZ2CARQOc6v/x62jlcfDj7e/cn+MzaOGBBogacvxl27N3d9llqAlkQzi2AosRtBYmQZUhtW98Byzdp7ggdROxlSQpZBm/jmILYCB6Agp/r4ogZ025oq17NPX+NwZIJIuMaKUNDKxcdBkFhwacBWXTpM5dcR7En9ThcrnR9t5ETwCq/2mlnNtb6AkXJ6wZDNQJRBKvAUod+8U8gW/QEyh75pfdoSoKDjeYBgLnftmz9o379Xc2t0GVCb0Dyja2oe0ucNiAysBC4+dZ+33Z8A41bu+/MIJtxHSy95wAxwRUOklBkV/OwVLEZqCDXHx3GsgeNrXdBQ4bYMAzRg/lvjSr8iutb6BIblQJ9zydCqGdUU3bUcRrgLX3FYF51S1ygtFfxe+rwOB2IXoC8DA/q5Q3T29soOx3Qc0MIuGwAeT3KxHaryw7BWYoRwAbbi+PDrqiJ4DcHkZoldB3AOp6hzjdnzTT9KDLNfhH4iJpypETYHGDeFoLT3OpO7NvxfMOG9a+poWa7FDbO7vBlhGqP7MXkVxURzGSvHDB1Jq2XMM+9J4S65rWbkirs6bEDpYUbcv6BHJOUc41PKak6ApKXR+B+gr1BxVDx+WkPDHOV6vooke8khO34nUG1DyAff9G62jf7yMfRqAHqKO0T8MERhfI4Lk9b6AHDvJxtEiaBnnDForYgtzro/04GrL6PF6k0MosUgo1n8cx+fljgNHloT6PC4IgCIIgCIIgCILw9PgL6Ap8qFzYW2UAAAAASUVORK5CYII=)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span.-enable-encryption[_ngcontent-%COMP%]::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKbSURBVHgB7ZnRbdswEIZ/MhkgI7gTxKzdhz41mSAdIZ2gyQS1J0g8QdIJ6kzQvMcu1QmiEfzYAonYO1stZNaIDfdOcOH7AMMSIRK644n87wgYhmEYhmEYhmEY+4dDi8QYj6oK5967d3TbTUCnfomC/sqqSne9XrhFi7TmgEmM7z3cDV0erXm0TFUatuUIjxaI8fsVGf8F641nOs67G+rzCS2gHgFsSEIaYAsc3HUIx5dQRDUCpjGerzB+Rm3DZ6TT16Hr+PeEFID0Oe9Pz13wpwNFVCPgWyweUS90NeVPMvxtCOWq52mR7CS4r1mfmUN6FUKYQQG1CODZx7IheMl4howsydhTumwaO985oISaA7xzZ817CrXbl4z/DTuBdoHRUl+HEyihtwYkdLOGETak8rhfanDuGEqoOSBl4U8zW2za900I91lTB0q0ogN2mb13wCFagrbEhB1EXAdwwkOBxervAoKwKqTlcSitB0QdwMbXQqYLHQrWCZJOEF4DPCcwWsZjMbYXTZLEIqCWsY9Zc0ma/wMtNMU2s1an0FfItkHOI1ZslVshFwHO5TPDsjbwi24bsv0Qxm6eKKFstvsKYgmSmANSpvyq53Qp8a3yGBxFzTaqF5xBCMk1YMkB/X4YQ4jDRcmsSQdC/BdCSCsVZkwKY88xB2DPMQdAiUVStPuIOcBlau1JMCeYTP4qjW9cXVqHmAP4XK95fwA+3fn3KOAx/ME8H/iD20kHeOTKj5OjuGL2NoINf3iIJzwGMuX3gw5WIIRoPWA6jdek0z9CESq0jHohiBVbRBdB7zGAYHiuoKAXHkAQUQewZueKTX6wIQHPvHQ1iFE7G1wUSHi25oca2+4IJRl+VwFjqQKIYRiGYRiGYRiGYRjGL/wq6dJf5iBxAAAAAElFTkSuQmCC)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span.-disable-encryption[_ngcontent-%COMP%]::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAN+SURBVHgB7dlvT9pAGADw566tgAhUFJ0ijgSXidnM5t5s2YtlcS/2BfyUfoglvt5csmwMXFjYhij/W0H+lPZurQmmEKeId2SG+727o1T79Gm55zkAQRAEQRAEYTohmKS9PWn54HBhJoACQBUfAuq5+Cew3CK0Y5C2rB0fp6swQRMLQDz+TO3BeVyyXXccoWDQLhQmFQgJJiC6sbGGEIlh203HIgQSlkFVgxHQ9UoTOOMegIfJ5Aqy8ArcFoaA3xeSG436GXDENQDR6OaCfUdj7jmLEBMpUGxjODn5kcnp9crJrFfRFezFFMOs+1isSP750Fpb0047wAnXAIQiixtOSvfHFFA36JUy2XRaa1WrRn++2Wz2NK2iRVeWql0LVPvFJPc/Q3I3pO3uliGVosDBjc/kuJy7jxHMuOcCHnSUSqWMf33H+cw5xrL15wiRpMTh4QJwwi0A2CerA2MLqtddfJ9zjOyTi+45A9k/m5xwCwAl5sDzbJrN4qjfPSekOXgueRY44ZcBQ+mfz+fbI34VKplM47pzscQtAPeFDP+p39n0J5iAqc8AEQCYclMfAG7l8Hpi8wXckdMn6PbM9uksLsAIi6hxsK8F7KZH1DCiGPAc3BUlimQXSCGLLl9Uhu/fnbOuCdgGwL749c/fHmOKVGDMqQzVYi2o776pswwC0wBc3HkOF3/Jzgj/z2PMskfA7h2wtTWz3iVP3VNO+duWya+329ut/f19C25JjcfVgORb6/cO+1o6PapUBpfL42KWAQ/8CzHJ1dBwLv7lzpPvHw8OOqkxU7ajaZ2zeqUaDEfm3T0C7POYjVqRSRYw+xlE1PK5xw2rnR/nrl/BcrJo4G8RYx4YYRYARZYGSlYtl9OAEbs6bLnHLKvD+7IQYpFJVxJLYZhyIgAw5UQAgBe7LoB7gFkAnF1d93jxwxdmrWxnSewe90yrBYwwCwDFZt099gZRnEkW2OeYw96B/UUPkkZusd+EWZp6IhGqEHS5heXsCQYKpXA4tGaMtblpX/hiyZoL10qPhld+fh/OlstlJosjph2h1UQiJoOyBByZIJcK2a9/gBGmL8FCNltg+XwOc1pkr3eSBWCI9ZuaNvVa3R8OYQySHxhy7vyr58kcowrzErem6JbdIGm1yGrXLpOHK8VROT2FGZB0Xe5pw/uFgiAIgiAIgiAIgiAI4/oLaQBI2smc1O8AAAAASUVORK5CYII=)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span.-edit-wallet[_ngcontent-%COMP%]::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMiSURBVHgB7ZnbcdNAFIbPSvYzpgJEBfaSgdeYDkwFhA5CBXFKoIIkHdABziszILkCnArwc8bSco4jT1aypGgvkjzD+R680lq3/9fZsxcBMAzDMAzDMAzzPyLghIjjeILFAh/rXAFEVIflNgDxHSC7l1JuwDMnYwCKXygQN7g5qTtGgFhKOb0Gj5yEAXG8vlKglm2OxYi4PZOzL+CJwQ0wEX/ApwmDGlAjfot131BkQu1/BMEU9y8hzwkHfJkwmAF14negPn6QMikeG0eYH35AByYMYoCJ+OdzujEhgJ6pa/OY4S/rxBPUBQo0CDc3xfPg4lec3IAlvUbACwmvMQKer1EdCSme+17KFRjSWwQ0hL3EQL7D7ckIhf2M41nTdeoiIQRxBRb0EgFt2vzvOL7Fx/kMZpHwR69DY96ajhY7j4C2Ce+dlBemkYDFSq8Lw3AKhnRqgGm2NzUBlHrQdx8f09dgSGcG2HR1hJEJQrzRd1VYzAtt6MQAW/EH2phAOQCLuV43ghMwwFX8gSYTtK5QZ2UzXfbaC1RlZrAQr1PuHcb7ucLxOIC6U5t7eI0ApWBZqnIST5QjoXo4rK5t7+G3CYj9m9LZ0hsDR3QToEL8mZRLsMSbARj+84rqfVvNE5bLtSNaJivXu4onvBmQZVDM1Erd4y+FpZMJ9bNAd/GEzyYQ6TuYD1b5mN3ahK7FE94MEIEoDEPH4zDGbmlra0If4gmfEVBoAmmarqm0MaEv8YQXA/JBir6cvdUHJSYm9Cme8GJAkBYfFp6EFmhjQt/iCS8GCFEMf5WpddVxTSYMIZ7wkwNKCRAT4nn+meuIGhPmQ4gn/EQAHDWBWS6syYRP8DR7i4YSTzhPhkgkCvhb83eSv21ijn7j/F2hOftpbFR3zb7EEyNwp2nVZlY0R8FL9CmecG4CR0Nge+iT2Nc+xRPOEVDuAQzZ0DfAAMQKrbzDWZ/zzNEUZwOUEK9aJBIShuv5lPlFsoNsjTdO5ACCy7gbgPN0/Ky10KowlHG5OlMPKoAktFyq6gsvS2I0iNlhVj+Vt8owDMMwDMMwDMMwDNPEPw5aH3llqGexAAAAAElFTkSuQmCC)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{color:rgba(30,34,39,.5)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover.-new-address::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAM+SURBVHgB7ZnRbdswEIZ/OxnAnSAyMkDTCZpM0HSCJBMkncAU0AGSCepO0HSCJhMkfW4LMS999msBV+5RlGuLlGTJPBoBch9Aw6JESjwe745HQBAEQRAEQRAEQRCEl8YAuyJTI/zFKfbwlq6OqCRURuXdGRVN5ZGeuadnbjFWM+yA+ALIVEK/l1TOsRpwF6ZUUhKERkTiCcDMODChcoUwrkkIHxCJOAKws/4NVs050FROYmjDENxkyqzvpsGbdZ3CDAYY04AGRQFeFXU5bmAH65IUfdq+WeHVgOaZ11QuaLB36EKmzmGXT1LTD6sm8GmAXfP+4O2svuk8eMNYTYs2tu06Cawm9DGmreyDD3/GclL3Q6WwDdYNXtFgZ2XfS5LymsUw8iwBq/pZpc7M3qFq9gBP6RnyxTWMXRgOFA4mnxuf/aWuSVcvndoxx1LgWgIT51pTz6q1Rb4w940qJ6UgmrF96Wr7YPdadh2KXY/nTm3aIZJL1v63r2nb10WlbogzDlsQLgAT3lbRpRHjxRrRdaGOat7dm3AB2Nh+RY6viMdN67u3gMMGHDk93iIed2h79xZwuMHEuX6sXK2sfft6zdTCqdE13kFveHdvODSgOjDX+K2sfV987+C7vWdgBDcT8pHRcwIcAqh+5O+PB859E7FpbNdvWqnx3V6wgDhsgMa6MfozH9Pv0/9r6xKnXit3zdtd4SaOat4dRLgGLPC9cp3jGLHIPb//iEDCBZA7rsmP2fkY4p1Tc49AOAIh4/erEVqmjsHNzyJHkDi1wTFHuACM28vh7uQ+dYjT14WmW580fe15G64pR+aYxw0O4e7mEvg7RJeld/CtvU9ddmhTm07wpcRq9+wUyY0nYR/6lE7KYGrFplxDD/gEYFX+Af5MGe1Ie6trc1pdw6bYWIIkvkjQfpDJ9mrnjhnAQ2nEuvGjMKIPqB/8CeepEf+5gE1df0H9RkXDWO45bZn3yYcvB2JSanN6fn9A29uFGfSooe17ahPs+9eRgxHEwH5oXVq7P6u0ukYEdnM4uqCk5oByeN2xscWwOBfUiEh8ASyxVv2UhHFMb32NpuNxG97u7HhcEARBEARBEARBEISXxz+STv7SiHuLFAAAAABJRU5ErkJggg==)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover.-hide-empty::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI5QTAxQTVDNzBERTExRTg4MkJCOEU1MUQyMjM4MDJGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI5QTAxQTVENzBERTExRTg4MkJCOEU1MUQyMjM4MDJGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjlBMDFBNUE3MERFMTFFODgyQkI4RTUxRDIyMzgwMkYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjlBMDFBNUI3MERFMTFFODgyQkI4RTUxRDIyMzgwMkYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5A1duRAAACq0lEQVR42uyb3W3CMBCATdUBzAZhAmACYIKm75WgE0AHqAjqAJQJmkp9L0xQOgF0ArJBPUAlakuHhKwzzo+tGOVOugcMcXyfz5e7i2gdj0fWZLlhDRcCQAAIAAEgAASAABAAAkAACAABIABNlNuqE/w9f+T9KZcaSx1I7UmNYEyJkJpJ3UvdSt3AmN2Al4d6AeQQZehM6vjMYAxOD3QCY6nUBYC5yiOgjFpKPUidXjDeJBO4dlni2toBqF3fwc5XlRnMFV0LAOXGX4YFC3DrkdSO1BZoG8ZWBpePYM5e6ADUQj8R4zMwUBmaQKDLNDBb2G0F5hEBYZo7GADcsPNqV/tgYF5J4ZqVwRN4iADmiPEL2FVRYj4B1y4QCPPQAERIwFuBu1eVBPGEmauj4ApAgpz5xKF3JUhMmIUCgEOSoy9YOAQgIDCey9hFLHABIEZ2/93D43WrQeXIvWsBMNQ+bzxml3osGIQAoKt9XnsEsEWSrtoB6NF4j5zVX6nHgnpAYktmuXdtQVAPWHpA5CXBvloABBEEiwIqGv29igsAwuKWTyVreoFkgdw1IBcAbOcy1Sq/vNqGay8FvSwEAD+Wx6JLiS0BtxYA+qNp6hHAneXetQBYIxmaDy+YIMdrEwIAgaS+b8xtH48jJXAaShBkyPPaac1+odcQTDmcGWr2uSPjsV5DFhIAU82uxsq2tU9tda+9BpcA1HkcGRoXOySvt1WYWFs9g3uIEAGcFnhvSI5SKHBewUCufT8Ed1eFE9ZcNc1dSXy8GtvDLmFGRJAnTEuAHTEPr8l8FUNqoVhbu2wTpM88vSP0WQ2e2todVrxFJsDwDivfVq/tCGDeMAFDYjjrXWZ+Pf6NZJfepEX/F2i4EAACQAAIAAEgAASAABAAAkAACAABaKL8CzAAuPuelr6IAx8AAAAASUVORK5CYII=)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover.-show-empty::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAM+SURBVHgB7ZnRbdswEIZ/OxnAnSAyMkDTCZpM0HSCJBMkncAU0AGSCepO0HSCJhMkfW4LMS999msBV+5RlGuLlGTJPBoBch9Aw6JESjwe745HQBAEQRAEQRAEQRCEl8YAuyJTI/zFKfbwlq6OqCRURuXdGRVN5ZGeuadnbjFWM+yA+ALIVEK/l1TOsRpwF6ZUUhKERkTiCcDMODChcoUwrkkIHxCJOAKws/4NVs050FROYmjDENxkyqzvpsGbdZ3CDAYY04AGRQFeFXU5bmAH65IUfdq+WeHVgOaZ11QuaLB36EKmzmGXT1LTD6sm8GmAXfP+4O2svuk8eMNYTYs2tu06Cawm9DGmreyDD3/GclL3Q6WwDdYNXtFgZ2XfS5LymsUw8iwBq/pZpc7M3qFq9gBP6RnyxTWMXRgOFA4mnxuf/aWuSVcvndoxx1LgWgIT51pTz6q1Rb4w940qJ6UgmrF96Wr7YPdadh2KXY/nTm3aIZJL1v63r2nb10WlbogzDlsQLgAT3lbRpRHjxRrRdaGOat7dm3AB2Nh+RY6viMdN67u3gMMGHDk93iIed2h79xZwuMHEuX6sXK2sfft6zdTCqdE13kFveHdvODSgOjDX+K2sfV987+C7vWdgBDcT8pHRcwIcAqh+5O+PB859E7FpbNdvWqnx3V6wgDhsgMa6MfozH9Pv0/9r6xKnXit3zdtd4SaOat4dRLgGLPC9cp3jGLHIPb//iEDCBZA7rsmP2fkY4p1Tc49AOAIh4/erEVqmjsHNzyJHkDi1wTFHuACM28vh7uQ+dYjT14WmW580fe15G64pR+aYxw0O4e7mEvg7RJeld/CtvU9ddmhTm07wpcRq9+wUyY0nYR/6lE7KYGrFplxDD/gEYFX+Af5MGe1Ie6trc1pdw6bYWIIkvkjQfpDJ9mrnjhnAQ2nEuvGjMKIPqB/8CeepEf+5gE1df0H9RkXDWO45bZn3yYcvB2JSanN6fn9A29uFGfSooe17ahPs+9eRgxHEwH5oXVq7P6u0ukYEdnM4uqCk5oByeN2xscWwOBfUiEh8ASyxVv2UhHFMb32NpuNxG97u7HhcEARBEARBEARBEISXxz+STv7SiHuLFAAAAABJRU5ErkJggg==)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover.-enable-encryption::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKESURBVHgB7ZnRbdswEIb/o+33jKAiddG3Ogsk1gTpBk0nqDtBnQkaT5B0groTKG0HqB6LukE0Qt6d6ELSChIqhm0IR8GB7wMEmLR00h2P1P0UoCiKoiiKoiiKouwehBbhLNmD6X0A0RDMA9uVVH/ltq8AY0pH/76hRVoLAGf772HMuf25t+bUwj7WuK1AGLQA/+p/tc5/x3rnHYm94oJ/v/mCFoieAd6RksdoAuGMDmefEZGoGcBZ/2SJ8ze279QeKR3NyB0ocWCP5ynPGPmpE5GoGcA/+9d4XOgcBcp5SmlRLD0/e5vA3GW1a2zA5q/sNTeIQLQM8KMfOoJVzjso/WsD1EnhnH7ErhvdE0Qi3hTo8HHQZlyscv6BRRB4EvaaISIRLwBMg7CNCTbnMmgZfodIxFwEk6cNSmc5NoTS/5erbEnSSh2wzex8ALpoCftKZGwh4hngBI8vfaXtWpteTAkjWghVas8VMgPEIa9qCbGiSDYDOj0nYGI5D297cQ8xxDKgKmOva92uqPkI3OZNRq2S0G46JcEfTkc8f1U2Qi4DzN241uPq/gP3oE1TltKrqbPhbQWwmEASnAK1ao3KkcRc9TZ8Fj3BmGMIIRiAsPSlw6sfEOO2XkUmEOJFFEKxpLBDS2HsOBoA7DgaAEQihnCJgWQAirDZFdMES7bGN95dWodcAMoyLHwMnUtkwUJhmlBe8zYGADStdVhx1PvT9MOG31fIXg+dDdQrP56fQgjh/YD9MztanxCTspxYkTSCEMKLoFeEYum5hLy6hxiiAVgot3nqRgnSOJvCu0GOaN8G/QaJGy2yMpmo2RuB7ZuF3eJKU6kNEEVRFEVRFEVRFEVRlHvYheXBAEeGBAAAAABJRU5ErkJggg==)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover.-disable-encryption::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKZSURBVHgB7ZlRbtpAEIb/NfCeI1ClVH0ruUATnyA9QnqCNidIOEHCCUhP0OQETtsDlMdKtApHyDuxpzNrV8EGAXJnLSLPJ1liF1h7/p3dnRkDhmEYhmEYRjtxaBBK+gdA9wyd6BhEQ+7qF19N4dwcKd25eHaDBmlMAEoOPyCKJvzxYMtP58gwakqICA1A3wdXbPxXbDde6PNTTejHmws0QHAP8IZkdIk6OFy797NzBCSoB1AyOFtj/CP3jfiK3fHMycUuf8TXl9UB8NkvnYAE9QD6NnjA80Yn8PpexC6ez9f+PnnL7p8mlf+wYItX/J9HBCCYB/jZLxuCTcYLLv7FAnViiNHP5CdHIMItgQ6dltqEm03G/yMXgcbl3ugEgQgnALlhuY0xdue+1IroHQIRchPsLzf4XJ9iR1z8+37TWJo0EgfsM13sKf54bIDWe4AJgJbTegGCbTQcBhP+H64T8JUuRrsEUXVQF8AXPTq9C0lkoAlnhoUQqjmBqgDe+KgnycwQYZgW+YSaCLp7gMx8OOPhx87voYaaBxSp7EOlWxKbj8DTtM6sFWW0K6xklVxLWA2Xa6HnAZ20OjOS+x/Jg9Z1WRf/uZUx/FglSK1IoicAVVw/y8411qofw3vRElF0CiU094CSAH721HiqZpJ9KPEiAqFQ5TDBQmG0HBMALccEQCDyN8H7j6YA83Kzq5YTrHk9tnOFeRt6AmTZXXlkN9HwgjzD9PnAUuc+CgBXjfw4Oer9rPtyUwyn5PWJjIFq5EeLEZRQrgccXvNsfUJIsmzMYbZasUV5E0wvobg+1zAt7qGGqgB55raIZZagjYypXA0SwhVFpUAis+X4xaZz9U4E4pOFZHN1t1oFEMMwDMMwDMMwDMMwjL+78e87Hb4jwAAAAABJRU5ErkJggg==)}.-actions[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover.-edit-wallet::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMSSURBVHgB7ZrRcdpAEIb/w/BOB1EHIY8Z4gQ6oIM4FWRSgU0HSQXGJaQCMCTPIRUEVxA9Z4DLrrBmJCFpdNLqxIz3mzE6nWWs/7+93TsBoCiKoiiKoijKS8TgkljaIa4wQw8fYBE894bU/o4DVpiaHYS5HAPWdkZ3c0+tYclVd7g2cwhyGQZs7C1YXBUMFnhnPkGI7g1wER8jaEK3BuSJtzTnDb7RcUtHnv8j6v1M7SB1nZAJ3RlQJP6AKSW7bap/aQNKjss2TOjGABfxMS2Z0INviuf8l0LxDJdANshil+q3uMEPe4+a+I2A8oQX0nBMMS4xgSmKBLKISuQKjviLgKKw3+MNHR/A9f9Iwn7aUen7FEUCcIsa+ImAKnN+bRd0Nx/hEgl9/En19SgqxuYJDrQfAVUT3ntz4xwJoOVxkgNFkyPtGuCa7V1NsMiO9hCOtGdAnVLHuJhg8CpzvoMj7RhQV3xMFRM4BwCTVN/+EgxoKj6mzAQWP6C+NLW2y7JVIC8z1xGfJFsd/tGRxdvMOqBHCXDs/j/6kGRAtdgmzpuKZzgS1haRCRwJg2iDFGSumtcRz8hOAV6Wpt89BKKfZiSnQ574a3OHmsgZsLGTsz6+WQ7XU8KqD/89PyY7p5F4Rs6A7MhYPNLrtrEJccITHvkYSQNGmfMVlaUpmpjQsnhGzoAeXqfODQmfmrC2CR7EM5JJMB0BB5yych0TPIlnZAxYRouU5Do8TC1KXEzwKJ6RMeDq7GbPa3IVEzyLZ2QMyCbAI37nXldmQgfiGRkDsgmQazZ/zJVHngm8huhAPCOzF9jYX8gmQRa4j5bB+SvB4hGPaV0809wAHuk+/hb8dvs82pwnJvQaRNFypLYpFM54Ec803wz1UfbUZnRmDm+Wym33Jp5pbgAnQImJZKPt7pw+5PgKjzQ3gEPaoh78aNtEyfCRFk4L2vU13zk6IhEBwwrXhNHzOhbLJdJEuWFbmCA9ImHAAwmaJc5Z7IpaT9EnvANqv5X/ZocUMmXw9CgsuJRRVRRFURRFURRFURRFKeM/oxaTpik5gaYAAAAASUVORK5CYII=)}@-webkit-keyframes floatup{50%{opacity:1}100%{-webkit-transform:translateY(-20px);transform:translateY(-20px);opacity:0}}@keyframes floatup{50%{opacity:1}100%{-webkit-transform:translateY(-20px);transform:translateY(-20px);opacity:0}}.copy-label[_ngcontent-%COMP%]{color:#0072ff;opacity:0;font-size:12px;position:relative;padding-left:10px}.copy-label[_ngcontent-%COMP%]::after{content:attr(data-label);position:absolute;top:0;left:4px;opacity:0;line-height:1}.copying[_ngcontent-%COMP%] .copy-label[_ngcontent-%COMP%]::after{-webkit-animation:.5s ease-in-out floatup;animation:.5s ease-in-out floatup}"]],data:{}});function af(t){return r._33(0,[(t()(),r._9(0,0,null,null,52,"div",[["class","-row -detail"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"div",[["class","-width-70 -grey"]],null,null,null,null,null)),(t()(),r._31(3,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,13,"div",[["class","-flex-fill -address -grey"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,0,"img",[["class","qr-code-button"],["src","../../../../../assets/img/qr-code-black.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.showQrCode(n,t.parent.context.$implicit.address)&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,8,"span",[],null,[[null,"click"],[null,"mouseleave"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.copyAddress(n,t.parent.context.$implicit)&&r),"mouseleave"===e&&(r=0!=(t.parent.context.$implicit.copying=!1)&&r),r},null,null)),r._8(10,278528,null,0,I,[r.u,r.v,r.l,r.G],{ngClass:[0,"ngClass"]},null),r._26(11,{copying:0}),(t()(),r._31(12,null,["\n ","\n "])),(t()(),r._9(13,0,null,null,3,"span",[["class","copy-label"]],[[1,"data-label",0]],null,null,null,null)),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(15,null,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(20,0,null,null,2,"div",[["class","-width-150 -text-right"]],null,null,null,null,null)),(t()(),r._31(21,null,["",""])),r._27(22,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(24,0,null,null,2,"div",[["class","-width-150 -text-right -grey"]],null,null,null,null,null)),(t()(),r._31(25,null,["",""])),r._27(26,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(28,0,null,null,23,"div",[["class","-width-70 -options"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(30,16777216,null,null,3,"mat-icon",[["aria-haspopup","true"],["class","mat-icon"],["role","img"]],null,[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==r._22(t,32)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==r._22(t,32)._handleKeydown(n)&&i),"click"===e&&(i=!1!==r._22(t,32)._handleClick(n)&&i),i},Zp,Xp)),r._8(31,638976,null,0,gu,[r.l,pu,[8,null]],null,null),r._8(32,1196032,null,0,Pu,[eo,r.l,r.R,Du,[2,Ou],[8,null],[2,vi]],{menu:[0,"menu"]},null),(t()(),r._31(-1,0,["more_vert"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(35,0,null,null,15,"mat-menu",[["class","compact"]],null,null,null,ef,$p)),r._8(36,1228800,[["optionsMenu",4]],1,Ou,[r.l,r.B,Tu],{overlapTrigger:[0,"overlapTrigger"],panelClass:[1,"panelClass"]},null),r._29(603979776,1,{items:1}),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(39,0,null,0,3,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0,o=t.component;return"click"===e&&(i=!1!==r._22(t,40)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,40)._emitHoverEvent()&&i),"click"===e&&(i=!1!==o.copyAddress(n,t.parent.context.$implicit,1e3)&&i),i},rf,nf)),r._8(40,180224,[[1,4]],0,Su,[r.l],null,null),(t()(),r._31(41,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(44,0,null,0,5,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"],["routerLink","/settings/outputs"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,45)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,45)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._22(t,46).onClick()&&i),i},rf,nf)),r._8(45,180224,[[1,4]],0,Su,[r.l],null,null),r._8(46,16384,null,0,Vh,[Hh,$d,[8,null],r.G,r.l],{queryParams:[0,"queryParams"],routerLink:[1,"routerLink"]},null),r._26(47,{addr:0}),(t()(),r._31(48,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,10,0,t(e,11,0,e.parent.context.$implicit.copying)),t(e,31,0),t(e,32,0,r._22(e,36)),t(e,36,0,!1,"compact"),t(e,46,0,t(e,47,0,e.parent.context.$implicit.address),"/settings/outputs")},function(t,e){t(e,3,0,e.parent.context.index+1),t(e,12,0,e.parent.context.$implicit.address),t(e,13,0,r._32(e,13,0,r._22(e,14).transform("wallet.address.copied"))),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("wallet.address.copy"))),t(e,21,0,r._32(e,21,0,t(e,22,0,r._22(e.parent.parent,0),e.parent.context.$implicit.coins?e.parent.context.$implicit.coins:0,"1.0-6"))),t(e,25,0,r._32(e,25,0,t(e,26,0,r._22(e.parent.parent,0),e.parent.context.$implicit.hours?e.parent.context.$implicit.hours:0,"1.0-6"))),t(e,39,0,r._22(e,40)._highlighted,r._22(e,40)._triggersSubmenu,r._22(e,40)._getTabIndex(),r._22(e,40).disabled.toString(),r._22(e,40).disabled||null),t(e,41,0,r._32(e,41,0,r._22(e,42).transform("wallet.address."+(e.parent.context.$implicit.copying?"copied":"copy-address")))),t(e,44,0,r._22(e,45)._highlighted,r._22(e,45)._triggersSubmenu,r._22(e,45)._getTabIndex(),r._22(e,45).disabled.toString(),r._22(e,45).disabled||null),t(e,48,0,r._32(e,48,0,r._22(e,49).transform("wallet.address.outputs")))})}function uf(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,af)),r._8(3,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"]))],function(t,e){t(e,3,0,!e.component.wallet.hideEmpty||e.context.$implicit.coins)},null)}function cf(t){return r._33(0,[r._25(0,St,[r.w]),(t()(),r._9(1,0,null,null,35,"div",[["class","-row -actions"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(3,0,null,null,5,"div",[["class","-button"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.newAddress()&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,2,"span",[["class","-img -new-address"]],null,null,null,null,null)),(t()(),r._31(6,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,7,"div",[["class","-button"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.toggleEmpty()&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,4,"span",[],null,null,null,null,null)),r._8(13,278528,null,0,I,[r.u,r.v,r.l,r.G],{ngClass:[0,"ngClass"]},null),r._26(14,{"-img":0,"-show-empty":1,"-hide-empty":2}),(t()(),r._31(15,null,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(19,0,null,null,0,"div",[["class","flex-fill"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(21,0,null,null,7,"div",[["class","-button"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.toggleEncryption()&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(23,0,null,null,4,"span",[],null,null,null,null,null)),r._8(24,278528,null,0,I,[r.u,r.v,r.l,r.G],{ngClass:[0,"ngClass"]},null),r._26(25,{"-img":0,"-enable-encryption":1,"-disable-encryption":2}),(t()(),r._31(26,null,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(30,0,null,null,5,"div",[["class","-button"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.editWallet()&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(32,0,null,null,2,"span",[["class","-img -edit-wallet"]],null,null,null,null,null)),(t()(),r._31(33,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n\n"])),(t()(),r._4(16777216,null,null,1,null,uf)),r._8(39,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,13,0,t(e,14,0,!0,n.wallet.hideEmpty,!n.wallet.hideEmpty)),t(e,24,0,t(e,25,0,!0,!n.wallet.encrypted,n.wallet.encrypted)),t(e,39,0,n.wallet?n.wallet.addresses:r._3)},function(t,e){var n=e.component;t(e,6,0,r._32(e,6,0,r._22(e,7).transform("wallet.new-address"))),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("wallet."+(n.wallet.hideEmpty?"show":"hide")+"-empty"))),t(e,26,0,r._32(e,26,0,r._22(e,27).transform("wallet."+(n.wallet.encrypted?"decrypt":"encrypt")))),t(e,33,0,r._32(e,33,0,r._22(e,34).transform("wallet.edit")))})}var df=r._7({encapsulation:2,styles:[".mat-progress-bar{display:block;height:5px;overflow:hidden;position:relative;transition:opacity 250ms linear;width:100%}.mat-progress-bar .mat-progress-bar-element,.mat-progress-bar .mat-progress-bar-fill::after{height:100%;position:absolute;width:100%}.mat-progress-bar .mat-progress-bar-background{background-repeat:repeat-x;background-size:10px 4px;display:none}.mat-progress-bar .mat-progress-bar-buffer{transform-origin:top left;transition:transform 250ms ease}.mat-progress-bar .mat-progress-bar-secondary{display:none}.mat-progress-bar .mat-progress-bar-fill{animation:none;transform-origin:top left;transition:transform 250ms ease}.mat-progress-bar .mat-progress-bar-fill::after{animation:none;content:'';display:inline-block;left:0}.mat-progress-bar[dir=rtl],[dir=rtl] .mat-progress-bar{transform:rotateY(180deg)}.mat-progress-bar[mode=query]{transform:rotateZ(180deg)}.mat-progress-bar[mode=query][dir=rtl],[dir=rtl] .mat-progress-bar[mode=query]{transform:rotateZ(180deg) rotateY(180deg)}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-fill,.mat-progress-bar[mode=query] .mat-progress-bar-fill{transition:none}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary,.mat-progress-bar[mode=query] .mat-progress-bar-primary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-translate 2s infinite linear;left:-145.166611%}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-primary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-scale 2s infinite linear}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary,.mat-progress-bar[mode=query] .mat-progress-bar-secondary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-translate 2s infinite linear;left:-54.888891%;display:block}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-secondary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-scale 2s infinite linear}.mat-progress-bar[mode=buffer] .mat-progress-bar-background{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-background-scroll 250ms infinite linear;display:block}@keyframes mat-progress-bar-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(.5,0,.70173,.49582);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635);transform:translateX(83.67142%)}100%{transform:translateX(200.61106%)}}@keyframes mat-progress-bar-primary-indeterminate-scale{0%{transform:scaleX(.08)}36.65%{animation-timing-function:cubic-bezier(.33473,.12482,.78584,1);transform:scaleX(.08)}69.15%{animation-timing-function:cubic-bezier(.06,.11,.6,1);transform:scaleX(.66148)}100%{transform:scaleX(.08)}}@keyframes mat-progress-bar-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(.15,0,.51506,.40969);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(.31033,.28406,.8,.73371);transform:translateX(37.65191%)}48.35%{animation-timing-function:cubic-bezier(.4,.62704,.6,.90203);transform:translateX(84.38617%)}100%{transform:translateX(160.27778%)}}@keyframes mat-progress-bar-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(.15,0,.51506,.40969);transform:scaleX(.08)}19.15%{animation-timing-function:cubic-bezier(.31033,.28406,.8,.73371);transform:scaleX(.4571)}44.15%{animation-timing-function:cubic-bezier(.4,.62704,.6,.90203);transform:scaleX(.72796)}100%{transform:scaleX(.08)}}@keyframes mat-progress-bar-background-scroll{to{transform:translateX(-10px)}}"],data:{}});function hf(t){return r._33(2,[(t()(),r._9(0,0,null,null,0,"div",[["class","mat-progress-bar-background mat-progress-bar-element"]],null,null,null,null,null)),(t()(),r._9(1,0,null,null,1,"div",[["class","mat-progress-bar-buffer mat-progress-bar-element"]],null,null,null,null,null)),r._8(2,278528,null,0,G,[r.v,r.l,r.G],{ngStyle:[0,"ngStyle"]},null),(t()(),r._9(3,0,null,null,1,"div",[["class","mat-progress-bar-primary mat-progress-bar-fill mat-progress-bar-element"]],null,null,null,null,null)),r._8(4,278528,null,0,G,[r.v,r.l,r.G],{ngStyle:[0,"ngStyle"]},null),(t()(),r._9(5,0,null,null,0,"div",[["class","mat-progress-bar-secondary mat-progress-bar-fill mat-progress-bar-element"]],null,null,null,null,null))],function(t,e){var n=e.component;t(e,2,0,n._bufferTransform()),t(e,4,0,n._primaryTransform())},null)}var pf=r._7({encapsulation:2,styles:[".mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}.mat-toolbar-multiple-rows{min-height:64px}.mat-toolbar-row,.mat-toolbar-single-row{height:64px}@media (max-width:600px){.mat-toolbar-multiple-rows{min-height:56px}.mat-toolbar-row,.mat-toolbar-single-row{height:56px}}"],data:{}});function ff(t){return r._33(2,[r._21(null,0),r._21(null,1)],null,null)}var _f=r._7({encapsulation:2,styles:[".mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px}[disabled].mat-button,[disabled].mat-fab,[disabled].mat-icon-button,[disabled].mat-mini-fab,[disabled].mat-raised-button{cursor:default}.cdk-keyboard-focused.mat-button .mat-button-focus-overlay,.cdk-keyboard-focused.mat-fab .mat-button-focus-overlay,.cdk-keyboard-focused.mat-icon-button .mat-button-focus-overlay,.cdk-keyboard-focused.mat-mini-fab .mat-button-focus-overlay,.cdk-keyboard-focused.mat-raised-button .mat-button-focus-overlay,.cdk-program-focused.mat-button .mat-button-focus-overlay,.cdk-program-focused.mat-fab .mat-button-focus-overlay,.cdk-program-focused.mat-icon-button .mat-button-focus-overlay,.cdk-program-focused.mat-mini-fab .mat-button-focus-overlay,.cdk-program-focused.mat-raised-button .mat-button-focus-overlay{opacity:1}.mat-button::-moz-focus-inner,.mat-fab::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-mini-fab::-moz-focus-inner,.mat-raised-button::-moz-focus-inner{border:0}.mat-fab,.mat-mini-fab,.mat-raised-button{transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]),.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]),.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]),.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}[disabled].mat-fab,[disabled].mat-mini-fab,[disabled].mat-raised-button{box-shadow:none}.mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{transition:none;opacity:0}.mat-button:hover .mat-button-focus-overlay{opacity:1}.mat-fab{min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{color:currentColor}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*{vertical-align:middle}.mat-button-focus-overlay,.mat-button-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-focus-overlay{background-color:rgba(0,0,0,.12);border-radius:inherit;opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}@media screen and (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:rgba(255,255,255,.5)}}.mat-button-ripple-round{border-radius:50%;z-index:1}@media screen and (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],data:{}});function mf(t){return r._33(2,[(t()(),r._9(0,0,null,null,1,"span",[["class","mat-button-wrapper"]],null,null,null,null,null)),r._21(null,0),(t()(),r._9(2,0,null,null,1,"div",[["class","mat-button-ripple mat-ripple"],["matRipple",""]],[[2,"mat-button-ripple-round",null],[2,"mat-ripple-unbounded",null]],null,null,null,null)),r._8(3,212992,null,0,qo,[r.l,r.B,ei,[2,Jo]],{centered:[0,"centered"],disabled:[1,"disabled"],trigger:[2,"trigger"]},null),(t()(),r._9(4,0,null,null,0,"div",[["class","mat-button-focus-overlay"]],null,null,null,null,null))],function(t,e){var n=e.component;t(e,3,0,n._isIconButton,n._isRippleDisabled(),n._getHostElement())},function(t,e){var n=e.component;t(e,2,0,n._isRoundButton||n._isIconButton,r._22(e,3).unbounded)})}var gf=r._7({encapsulation:2,styles:[".mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px}[disabled].mat-button,[disabled].mat-fab,[disabled].mat-icon-button,[disabled].mat-mini-fab,[disabled].mat-raised-button{cursor:default}.cdk-keyboard-focused.mat-button .mat-button-focus-overlay,.cdk-keyboard-focused.mat-fab .mat-button-focus-overlay,.cdk-keyboard-focused.mat-icon-button .mat-button-focus-overlay,.cdk-keyboard-focused.mat-mini-fab .mat-button-focus-overlay,.cdk-keyboard-focused.mat-raised-button .mat-button-focus-overlay,.cdk-program-focused.mat-button .mat-button-focus-overlay,.cdk-program-focused.mat-fab .mat-button-focus-overlay,.cdk-program-focused.mat-icon-button .mat-button-focus-overlay,.cdk-program-focused.mat-mini-fab .mat-button-focus-overlay,.cdk-program-focused.mat-raised-button .mat-button-focus-overlay{opacity:1}.mat-button::-moz-focus-inner,.mat-fab::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-mini-fab::-moz-focus-inner,.mat-raised-button::-moz-focus-inner{border:0}.mat-fab,.mat-mini-fab,.mat-raised-button{transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]),.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]),.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]),.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}[disabled].mat-fab,[disabled].mat-mini-fab,[disabled].mat-raised-button{box-shadow:none}.mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{transition:none;opacity:0}.mat-button:hover .mat-button-focus-overlay{opacity:1}.mat-fab{min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{color:currentColor}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*{vertical-align:middle}.mat-button-focus-overlay,.mat-button-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-focus-overlay{background-color:rgba(0,0,0,.12);border-radius:inherit;opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}@media screen and (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:rgba(255,255,255,.5)}}.mat-button-ripple-round{border-radius:50%;z-index:1}@media screen and (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],data:{}});function yf(t){return r._33(2,[(t()(),r._9(0,0,null,null,1,"span",[["class","mat-button-wrapper"]],null,null,null,null,null)),r._21(null,0),(t()(),r._9(2,0,null,null,1,"div",[["class","mat-button-ripple mat-ripple"],["matRipple",""]],[[2,"mat-button-ripple-round",null],[2,"mat-ripple-unbounded",null]],null,null,null,null)),r._8(3,212992,null,0,qo,[r.l,r.B,ei,[2,Jo]],{centered:[0,"centered"],disabled:[1,"disabled"],trigger:[2,"trigger"]},null),(t()(),r._9(4,0,null,null,0,"div",[["class","mat-button-focus-overlay"]],null,null,null,null,null))],function(t,e){var n=e.component;t(e,3,0,n._isIconButton,n._isRippleDisabled(),n._getHostElement())},function(t,e){var n=e.component;t(e,2,0,n._isRoundButton||n._isIconButton,r._22(e,3).unbounded)})}var vf=function(t){this.appService=t},bf=r._7({encapsulation:0,styles:[["[_nghost-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;color:#fafafa;width:100%}.buttons-left[_ngcontent-%COMP%]{display:inline-block;padding:0 10px;width:120px}.title[_ngcontent-%COMP%]{font-size:13px;font-weight:700;display:inline;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;letter-spacing:1px;line-height:50px;text-align:center}.buttons-right[_ngcontent-%COMP%]{display:inline-block;text-align:right;width:120px}.buttons-right[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:inline-block}button[_ngcontent-%COMP%]{height:50px;width:50px}.color-primary[_ngcontent-%COMP%]{color:#0072ff}"]],data:{}});function wf(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,1)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,1)._emitHoverEvent()&&i),i},rf,nf)),r._8(1,180224,[[1,4]],0,Su,[r.l],{disabled:[0,"disabled"]},null),(t()(),r._31(2,0,[" v"," "]))],function(t,e){t(e,1,0,!0)},function(t,e){var n=e.component;t(e,0,0,r._22(e,1)._highlighted,r._22(e,1)._triggersSubmenu,r._22(e,1)._getTabIndex(),r._22(e,1).disabled.toString(),r._22(e,1).disabled||null),t(e,2,0,n.appService.version.version)})}function Mf(t){return r._33(0,[(t()(),r._9(0,0,null,null,0,"div",[["class","buttons-left"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(2,0,null,null,1,"div",[["class","title"]],null,null,null,null,null)),(t()(),r._31(3,null,["\n ","\n"])),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(5,0,null,null,74,"div",[["class","buttons-right"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,34,"mat-menu",[],null,null,null,ef,$p)),r._8(8,1228800,[["settingsMenu",4]],1,Ou,[r.l,r.B,Tu],{overlapTrigger:[0,"overlapTrigger"]},null),r._29(603979776,1,{items:1}),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(11,0,null,0,5,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,12)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,12)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._22(t,13).onClick()&&i),i},rf,nf)),r._8(12,180224,[[1,4]],0,Su,[r.l],null,null),r._8(13,16384,null,0,Vh,[Hh,$d,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._24(14,1),(t()(),r._31(15,0,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(18,0,null,0,5,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,19)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,19)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._22(t,20).onClick()&&i),i},rf,nf)),r._8(19,180224,[[1,4]],0,Su,[r.l],null,null),r._8(20,16384,null,0,Vh,[Hh,$d,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._24(21,1),(t()(),r._31(22,0,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(25,0,null,0,5,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,26)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,26)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._22(t,27).onClick()&&i),i},rf,nf)),r._8(26,180224,[[1,4]],0,Su,[r.l],null,null),r._8(27,16384,null,0,Vh,[Hh,$d,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._24(28,1),(t()(),r._31(29,0,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(32,0,null,0,5,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,33)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,33)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._22(t,34).onClick()&&i),i},rf,nf)),r._8(33,180224,[[1,4]],0,Su,[r.l],null,null),r._8(34,16384,null,0,Vh,[Hh,$d,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._24(35,1),(t()(),r._31(36,0,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._4(16777216,null,0,1,null,wf)),r._8(40,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,0,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(43,0,null,null,15,"mat-menu",[],null,null,null,ef,$p)),r._8(44,1228800,[["menuMenu",4]],1,Ou,[r.l,r.B,Tu],{overlapTrigger:[0,"overlapTrigger"]},null),r._29(603979776,2,{items:1}),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(47,0,null,0,5,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,48)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,48)._emitHoverEvent()&&i),"click"===e&&(i=!1!==r._22(t,49).onClick()&&i),i},rf,nf)),r._8(48,180224,[[2,4]],0,Su,[r.l],null,null),r._8(49,16384,null,0,Vh,[Hh,$d,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._24(50,1),(t()(),r._31(51,0,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(54,0,null,0,3,"a",[["class","color-primary mat-menu-item"],["href","https://explorer.skycoin.net"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,55)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==r._22(t,55)._emitHoverEvent()&&i),i},rf,nf)),r._8(55,180224,[[2,4]],0,Su,[r.l],null,null),(t()(),r._31(56,0,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(60,16777216,null,null,8,"button",[["aria-haspopup","true"],["class","mat-icon-button"],["mat-icon-button",""]],[[8,"disabled",0]],[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==r._22(t,63)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==r._22(t,63)._handleKeydown(n)&&i),"click"===e&&(i=!1!==r._22(t,63)._handleClick(n)&&i),i},mf,_f)),r._8(61,180224,null,0,ha,[r.l,ei,Do],null,null),r._8(62,16384,null,0,da,[],null,null),r._8(63,1196032,null,0,Pu,[eo,r.l,r.R,Du,[2,Ou],[8,null],[2,vi]],{menu:[0,"menu"]},null),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(65,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Zp,Xp)),r._8(66,638976,null,0,gu,[r.l,pu,[8,null]],null,null),(t()(),r._31(-1,0,["settings"])),(t()(),r._31(-1,0,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(70,16777216,null,null,8,"button",[["aria-haspopup","true"],["class","mat-icon-button"],["mat-icon-button",""]],[[8,"disabled",0]],[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==r._22(t,73)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==r._22(t,73)._handleKeydown(n)&&i),"click"===e&&(i=!1!==r._22(t,73)._handleClick(n)&&i),i},mf,_f)),r._8(71,180224,null,0,ha,[r.l,ei,Do],null,null),r._8(72,16384,null,0,da,[],null,null),r._8(73,1196032,null,0,Pu,[eo,r.l,r.R,Du,[2,Ou],[8,null],[2,vi]],{menu:[0,"menu"]},null),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(75,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Zp,Xp)),r._8(76,638976,null,0,gu,[r.l,pu,[8,null]],null,null),(t()(),r._31(-1,0,["menu"])),(t()(),r._31(-1,0,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,8,0,!1),t(e,13,0,t(e,14,0,"/settings/network")),t(e,20,0,t(e,21,0,"/settings/blockchain")),t(e,27,0,t(e,28,0,"/settings/outputs")),t(e,34,0,t(e,35,0,"/settings/pending-transactions")),t(e,40,0,n.appService.version),t(e,44,0,!1),t(e,49,0,t(e,50,0,"/settings/backup")),t(e,63,0,r._22(e,8)),t(e,66,0),t(e,73,0,r._22(e,44)),t(e,76,0)},function(t,e){t(e,3,0,e.component.headline),t(e,11,0,r._22(e,12)._highlighted,r._22(e,12)._triggersSubmenu,r._22(e,12)._getTabIndex(),r._22(e,12).disabled.toString(),r._22(e,12).disabled||null),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("title.network"))),t(e,18,0,r._22(e,19)._highlighted,r._22(e,19)._triggersSubmenu,r._22(e,19)._getTabIndex(),r._22(e,19).disabled.toString(),r._22(e,19).disabled||null),t(e,22,0,r._32(e,22,0,r._22(e,23).transform("title.blockchain"))),t(e,25,0,r._22(e,26)._highlighted,r._22(e,26)._triggersSubmenu,r._22(e,26)._getTabIndex(),r._22(e,26).disabled.toString(),r._22(e,26).disabled||null),t(e,29,0,r._32(e,29,0,r._22(e,30).transform("title.outputs"))),t(e,32,0,r._22(e,33)._highlighted,r._22(e,33)._triggersSubmenu,r._22(e,33)._getTabIndex(),r._22(e,33).disabled.toString(),r._22(e,33).disabled||null),t(e,36,0,r._32(e,36,0,r._22(e,37).transform("title.pending-txs"))),t(e,47,0,r._22(e,48)._highlighted,r._22(e,48)._triggersSubmenu,r._22(e,48)._getTabIndex(),r._22(e,48).disabled.toString(),r._22(e,48).disabled||null),t(e,51,0,r._32(e,51,0,r._22(e,52).transform("title.backup"))),t(e,54,0,r._22(e,55)._highlighted,r._22(e,55)._triggersSubmenu,r._22(e,55)._getTabIndex(),r._22(e,55).disabled.toString(),r._22(e,55).disabled||null),t(e,56,0,r._32(e,56,0,r._22(e,57).transform("title.explorer"))),t(e,60,0,r._22(e,61).disabled||null),t(e,70,0,r._22(e,71).disabled||null)})}var kf=r._7({encapsulation:2,styles:[".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2s linear infinite}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4s;animation-timing-function:cubic-bezier(.35,0,.25,1);animation-iteration-count:infinite}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10s cubic-bezier(.87,.03,.33,1) infinite}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.60617px;transform:rotate(0)}12.5%{stroke-dashoffset:56.54867px;transform:rotate(0)}12.51%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(72.5deg)}25.1%{stroke-dashoffset:268.60617px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.54867px;transform:rotate(270deg)}37.51%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(161.5deg)}50.01%{stroke-dashoffset:268.60617px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.54867px;transform:rotate(180deg)}62.51%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(251.5deg)}75.01%{stroke-dashoffset:268.60617px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.54867px;transform:rotate(90deg)}87.51%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}"],data:{}});function xf(t){return r._33(2,[(t()(),r._9(0,0,null,null,1,":svg:svg",[["focusable","false"],["preserveAspectRatio","xMidYMid meet"]],[[4,"width","px"],[4,"height","px"],[1,"viewBox",0]],null,null,null,null)),(t()(),r._9(1,0,null,null,0,":svg:circle",[["cx","50%"],["cy","50%"]],[[1,"r",0],[4,"animation-name",null],[4,"stroke-dashoffset","px"],[4,"stroke-dasharray","px"],[4,"stroke-width","%"]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,0,0,n._elementSize,n._elementSize,n._viewBox),t(e,1,0,n._circleRadius,"mat-progress-spinner-stroke-rotate-"+n.diameter,n._strokeDashOffset,n._strokeCircumference,n._circleStrokeWidth)})}var Lf=r._7({encapsulation:0,styles:[[".button-container[_ngcontent-%COMP%]{display:inline-block}button[_ngcontent-%COMP%]{border-radius:25px;height:50px;margin:20px 10px 0;width:160px;overflow:hidden}button.enabled[_ngcontent-%COMP%]{background-color:rgba(30,34,39,.05);-webkit-box-shadow:none;box-shadow:none;color:#1e2227}mat-icon[_ngcontent-%COMP%]{margin-left:10px;opacity:.3;line-height:20px}mat-spinner[_ngcontent-%COMP%]{display:inline-block;height:24px!important;width:24px!important;margin-left:10px;position:relative;top:-2px}"]],data:{}});function Cf(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Zp,Xp)),r._8(1,638976,null,0,gu,[r.l,pu,[8,null]],null,null),(t()(),r._31(-1,0,["done"]))],function(t,e){t(e,1,0)},null)}function Sf(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Zp,Xp)),r._8(1,638976,null,0,gu,[r.l,pu,[8,null]],null,null),(t()(),r._31(-1,0,["error"]))],function(t,e){t(e,1,0)},null)}function Tf(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"mat-spinner",[["class","in-button mat-spinner mat-progress-spinner"],["mode","indeterminate"],["role","progressbar"]],[[4,"width","px"],[4,"height","px"]],null,null,xf,kf)),r._8(1,573440,null,0,Xu,[r.l,ei,[2,Pt]],null,null)],null,function(t,e){t(e,0,0,r._22(e,1)._elementSize,r._22(e,1)._elementSize)})}function Of(t){return r._33(0,[r._29(402653184,1,{tooltip:0}),(t()(),r._9(1,0,null,null,21,"div",[["class","button-container"]],null,[[null,"mouseenter"],[null,"mouseleave"]],function(t,e,n){var r=!0,i=t.component;return"mouseenter"===e&&(r=0!=(i.mouseOver=!0)&&r),"mouseleave"===e&&(r=0!=(i.mouseOver=!1)&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(3,16777216,null,null,18,"button",[["class","mat-button mat-raised-button"],["color","primary"],["mat-button",""],["mat-raised-button",""],["type","submit"]],[[8,"disabled",0]],[[null,"click"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0,o=t.component;return"longpress"===e&&(i=!1!==r._22(t,9).show()&&i),"keydown"===e&&(i=!1!==r._22(t,9)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,9).hide(1500)&&i),"click"===e&&(i=!1!==(0!==o.state?o.onClick():null)&&i),i},mf,_f)),r._8(4,278528,null,0,I,[r.u,r.v,r.l,r.G],{ngClass:[0,"ngClass"]},null),r._26(5,{enabled:0}),r._8(6,180224,null,0,ha,[r.l,ei,Do],{disabled:[0,"disabled"],color:[1,"color"]},null),r._8(7,16384,null,0,ua,[],null,null),r._8(8,16384,null,0,ca,[],null,null),r._8(9,147456,[[1,4],["tooltip",4]],0,Wu,[eo,r.l,pi,r.R,r.B,ei,xo,Do,Bu,[2,vi]],{message:[0,"message"]},null),(t()(),r._31(-1,0,["\n "])),r._21(0,0),(t()(),r._31(-1,0,["\n "])),(t()(),r._4(16777216,null,0,1,null,Cf)),r._8(14,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,0,["\n "])),(t()(),r._4(16777216,null,0,1,null,Sf)),r._8(17,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,0,["\n "])),(t()(),r._4(16777216,null,0,1,null,Tf)),r._8(20,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,0,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,4,0,t(e,5,0,!n.disabled)),t(e,6,0,n.disabled&&!n.forceEmitEvents,"primary"),t(e,9,0,n.error?n.error:null),t(e,14,0,1===n.state),t(e,17,0,2===n.state),t(e,20,0,0===n.state)},function(t,e){t(e,3,0,r._22(e,6).disabled||null)})}var Df=r._7({encapsulation:0,styles:[[".-small-button[_ngcontent-%COMP%] button{width:unset;height:unset;padding:0 10px;min-width:100px;margin:unset;font-size:13px}.-toggle[_ngcontent-%COMP%] button{-webkit-box-shadow:unset;box-shadow:unset;background-color:transparent!important;line-height:unset!important;min-height:26px}.-toggle[_ngcontent-%COMP%] button span{color:#171a1d;line-height:unset!important}.-toggle[_ngcontent-%COMP%] button.enabled{background-color:#171a1d!important}.-toggle[_ngcontent-%COMP%] button.enabled span{color:#fafafa}.-buttons-container[_ngcontent-%COMP%]{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px;background:rgba(255,255,255,.1);border-radius:100px;margin:0 auto;text-align:center}.light.-buttons-container[_ngcontent-%COMP%]{background:#f7f7f7}.light[_ngcontent-%COMP%] .-toggle[_ngcontent-%COMP%] button.enabled{background-color:#fff!important}.light[_ngcontent-%COMP%] .-toggle[_ngcontent-%COMP%] button.enabled span{color:#1e2227}"]],data:{}});function Yf(t){return r._33(0,[(t()(),r._9(0,0,null,null,9,"div",[],[[8,"className",0]],null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,2,"app-button",[["class","-toggle dark -small-button"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.onLeftClick()&&r),r},Of,Lf)),r._8(3,49152,null,0,xc,[],{disabled:[0,"disabled"],forceEmitEvents:[1,"forceEmitEvents"]},{action:"action"}),(t()(),r._31(4,0,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,2,"app-button",[["class","-toggle dark -small-button"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.onRightClick()&&r),r},Of,Lf)),r._8(7,49152,null,0,xc,[],{disabled:[0,"disabled"],forceEmitEvents:[1,"forceEmitEvents"]},{action:"action"}),(t()(),r._31(8,0,["",""])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0,n.activeButton!==n.ButtonState.LeftButton,!0),t(e,7,0,n.activeButton!==n.ButtonState.RightButton,!0)},function(t,e){var n=e.component;t(e,0,0,r._12(1,"-buttons-container ",n.className,"")),t(e,4,0,n.leftButtonText),t(e,8,0,n.rightButtonText)})}var Pf={otcEnabled:!1},Ef=function(){function t(t){this.navbarService=t,this.otcEnabled=Pf.otcEnabled}return t.prototype.changeActiveComponent=function(t){this.navbarService.setActiveComponent(t)},t}(),Af=r._7({encapsulation:0,styles:[["[_nghost-%COMP%]{background-color:#fbfbfb;min-height:66px}.-buttons[_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.-buttons[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%]{cursor:pointer;padding:0 20px}.-buttons[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{display:inline-block;float:left;height:66px;padding:17px 0;width:32px}.-buttons[_ngcontent-%COMP%] .-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:inline-block;font-size:14px;height:66px;line-height:66px;margin:0 5px}.-buttons[_ngcontent-%COMP%] .-low-opacity[_ngcontent-%COMP%]{opacity:.2}.-buttons[_ngcontent-%COMP%] .-switch[_ngcontent-%COMP%]{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;padding:0 20px}"]],data:{}});function jf(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"div",[["class","-button"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,0,"img",[["src","../../../../../assets/img/money-gold.png"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,2,"span",[["class","secondary-color"]],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,5,0,r._32(e,5,0,r._22(e,6).transform("title.buy-coin")))})}function If(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"app-double-button",[["class","-switch"],["className","light"]],null,[[null,"onStateChange"]],function(t,e,n){var r=!0;return"onStateChange"===e&&(r=!1!==t.component.changeActiveComponent(n)&&r),r},Yf,Df)),r._8(1,49152,null,0,Oc,[],{rightButtonText:[0,"rightButtonText"],leftButtonText:[1,"leftButtonText"],activeButton:[2,"activeButton"],className:[3,"className"]},{onStateChange:"onStateChange"}),r._25(131072,yp.i,[yp.j,r.h]),r._25(131072,yp.i,[yp.j,r.h]),r._25(131072,Ct,[r.h])],function(t,e){var n=e.component;t(e,1,0,r._32(e,1,0,r._22(e,2).transform(n.navbarService.rightText)),r._32(e,1,1,r._22(e,3).transform(n.navbarService.leftText)),r._32(e,1,2,r._22(e,4).transform(n.navbarService.activeComponent)),"light")},null)}function Rf(t){return r._33(0,[(t()(),r._9(0,0,null,null,51,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,48,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,11,"div",[["class","-button -low-opacity"],["routerLink","/wallets"],["routerLinkActive","no-opacity"]],null,[[null,"click"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,5).onClick()&&i),i},null,null)),r._8(5,16384,[[1,4]],0,Vh,[Hh,$d,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._8(6,1720320,null,2,Wh,[Hh,r.l,r.G,r.h],{routerLinkActive:[0,"routerLinkActive"]},null),r._29(603979776,1,{links:1}),r._29(603979776,2,{linksWithHrefs:1}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,0,"img",[["src","../../../../../assets/img/wallet-black.png"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(13,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(17,0,null,null,11,"div",[["class","-button -low-opacity"],["routerLink","/send"],["routerLinkActive","no-opacity"]],null,[[null,"click"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,18).onClick()&&i),i},null,null)),r._8(18,16384,[[3,4]],0,Vh,[Hh,$d,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._8(19,1720320,null,2,Wh,[Hh,r.l,r.G,r.h],{routerLinkActive:[0,"routerLinkActive"]},null),r._29(603979776,3,{links:1}),r._29(603979776,4,{linksWithHrefs:1}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(23,0,null,null,0,"img",[["src","../../../../../assets/img/send-black.png"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(25,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(26,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(30,0,null,null,11,"div",[["class","-button -low-opacity"],["routerLink","/transactions"],["routerLinkActive","no-opacity"]],null,[[null,"click"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,31).onClick()&&i),i},null,null)),r._8(31,16384,[[5,4]],0,Vh,[Hh,$d,[8,null],r.G,r.l],{routerLink:[0,"routerLink"]},null),r._8(32,1720320,null,2,Wh,[Hh,r.l,r.G,r.h],{routerLinkActive:[0,"routerLinkActive"]},null),r._29(603979776,5,{links:1}),r._29(603979776,6,{linksWithHrefs:1}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(36,0,null,null,0,"img",[["src","../../../../../assets/img/transactions-black.png"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(38,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(39,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(43,0,null,null,0,"div",[["class","flex-fill"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,jf)),r._8(46,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,If)),r._8(49,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,5,0,"/wallets"),t(e,6,0,"no-opacity"),t(e,18,0,"/send"),t(e,19,0,"no-opacity"),t(e,31,0,"/transactions"),t(e,32,0,"no-opacity"),t(e,46,0,n.otcEnabled),t(e,49,0,n.navbarService.switchVisible)},function(t,e){t(e,13,0,r._32(e,13,0,r._22(e,14).transform("title.wallets"))),t(e,26,0,r._32(e,26,0,r._22(e,27).transform("title.send"))),t(e,39,0,r._32(e,39,0,r._22(e,40).transform("title.history")))})}var Hf=function(){function t(t){this.total=t}return t.prototype.call=function(t,e){return e.subscribe(new Ff(t,this.total))},t}(),Ff=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return Object(o.__extends)(e,t),e.prototype._next=function(t){++this.count>this.total&&this.destination.next(t)},e}(cr.a);s.a.prototype.skip=function(t){return function(t){return function(e){return e.lift(new Hf(t))}}(t)(this)},s.a.prototype.take=function(t){return Object(Di.a)(t)(this)};var Nf=function(){function t(t,e,n,r,i,o,s){var l=this;this.appService=t,this.apiService=e,this.blockchainService=n,this.priceService=r,this.walletService=i,this.http=o,this.translateService=s,this.addresses=[],this.querying=!0,this.translateService.get("errors.fetch-version").subscribe(function(t){l.fetchVersionError=t})}return Object.defineProperty(t.prototype,"loading",{get:function(){return!this.current||!this.highest||this.current!==this.highest},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"coins",{get:function(){return this.addresses.map(function(t){return t.coins>=0?t.coins:0}).reduce(function(t,e){return t+e},0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hours",{get:function(){return this.addresses.map(function(t){return t.hours>=0?t.hours:0}).reduce(function(t,e){return t+e},0)},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this;this.subscription=this.blockchainService.progress.filter(function(t){return!!t}).subscribe(function(e){t.querying=!1,t.highest=e.highest,t.current=e.current,t.percentage=t.current&&t.highest?t.current/t.highest:0}),this.setVersion(),this.subscription.add(this.priceService.price.subscribe(function(e){return t.price=e})),this.subscription.add(this.walletService.allAddresses().subscribe(function(e){t.addresses=e.reduce(function(t,e){return t.find(function(t){return t.address===e.address})||t.push(e),t},[])})),this.subscription.add(this.walletService.pendingTransactions().subscribe(function(e){t.hasPendingTxs=e.length>0}))},t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t.prototype.setVersion=function(){var t=this;setTimeout(function(){t.apiService.getVersion().first().subscribe(function(e){t.version=e.version,t.retrieveReleaseVersion()})},1e3)},t.prototype.retrieveReleaseVersion=function(){var t=this;this.http.get("https://api.github.com/repos/skycoin/skycoin/tags").map(function(t){return t.json()}).catch(function(e){return s.a.throw(e||t.fetchVersionError)}).subscribe(function(e){t.releaseVersion=e.find(function(t){return-1===t.name.indexOf("rc")}).name.substr(1),t.updateAvailable=function(e,n){for(var r=t.releaseVersion.split("."),i=e.split("-"),o=i[0].split("."),s=0;s<3;s++){var l=Number(r[s]),a=Number(o[s]);if(l>a)return!0;if(l6?{Invalid:!0}:null},t.prototype.resetForm=function(){this.form.get("wallet").setValue(""),this.form.get("address").setValue(""),this.form.get("amount").setValue("")},t}(),p_=r._7({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{text-align:center}"]],data:{}});function f_(t){return r._33(0,[(t()(),r._9(0,0,null,null,5,"option",[],[[8,"disabled",0]],null,null,null,null)),r._8(1,147456,null,0,pl,[r.l,r.G,[2,hl]],{ngValue:[0,"ngValue"]},null),r._8(2,147456,null,0,ml,[r.l,r.G,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),r._31(3,null,["\n "," - "," ","\n "])),r._27(4,2),r._25(131072,yp.i,[yp.j,r.h])],function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)},function(t,e){t(e,0,0,e.context.$implicit.coins<=0),t(e,3,0,e.context.$implicit.label,r._32(e,3,1,t(e,4,0,r._22(e.parent,0),e.context.$implicit.coins,"1.0-6")),r._32(e,3,2,r._22(e,5).transform("common.coin-id")))})}function __(t){return r._33(0,[r._25(0,St,[r.w]),r._29(402653184,1,{previewButton:0}),r._29(402653184,2,{sendButton:0}),(t()(),r._9(3,0,null,null,67,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,4).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,4).onReset()&&i),i},null,null)),r._8(4,540672,null,0,Wl,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,Us,null,[Wl]),r._8(6,16384,null,0,Yl,[Us],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,20,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"label",[["for","wallet"]],null,null,null,null,null)),(t()(),r._31(11,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,13,"div",[["class","-select"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,10,"select",[["formControlName","wallet"],["id","wallet"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"blur"]],function(t,e,n){var i=!0;return"change"===e&&(i=!1!==r._22(t,17).onChange(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,17).onTouched()&&i),i},null,null)),r._8(17,16384,null,0,hl,[r.G,r.l],null,null),r._28(1024,null,$s,function(t){return[t]},[hl]),r._8(19,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(21,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,2,null,f_)),r._8(24,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),r._25(131072,Ct,[r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(30,0,null,null,12,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(32,0,null,null,2,"label",[["for","address"]],null,null,null,null,null)),(t()(),r._31(33,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(36,0,null,null,5,"input",[["formControlName","address"],["id","address"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,37)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,37).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,37)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,37)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(37,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(39,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(41,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(44,0,null,null,12,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(46,0,null,null,2,"label",[["for","amount"]],null,null,null,null,null)),(t()(),r._31(47,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(50,0,null,null,5,"input",[["formControlName","amount"],["id","amount"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._22(t,51)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,51).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,51)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,51)._compositionEnd(n.target.value)&&i),"keydown.enter"===e&&(i=!1!==o.preview()&&i),i},null,null)),r._8(51,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(53,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(55,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(58,0,null,null,11,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(60,0,null,null,3,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.preview()&&r),r},Of,Lf)),r._8(61,49152,[[1,4],["previewButton",4]],0,xc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(62,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(65,0,null,null,3,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.send()&&r),r},Of,Lf)),r._8(66,49152,[[2,4],["sendButton",4]],0,xc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(67,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,4,0,n.form),t(e,19,0,"wallet"),t(e,24,0,r._32(e,24,0,r._22(e,25).transform(n.walletService.all()))),t(e,39,0,"address"),t(e,53,0,"amount"),t(e,61,0,!n.form.valid),t(e,66,0,!n.form.valid)},function(t,e){t(e,3,0,r._22(e,6).ngClassUntouched,r._22(e,6).ngClassTouched,r._22(e,6).ngClassPristine,r._22(e,6).ngClassDirty,r._22(e,6).ngClassValid,r._22(e,6).ngClassInvalid,r._22(e,6).ngClassPending),t(e,11,0,r._32(e,11,0,r._22(e,12).transform("send.from-label"))),t(e,16,0,r._22(e,21).ngClassUntouched,r._22(e,21).ngClassTouched,r._22(e,21).ngClassPristine,r._22(e,21).ngClassDirty,r._22(e,21).ngClassValid,r._22(e,21).ngClassInvalid,r._22(e,21).ngClassPending),t(e,33,0,r._32(e,33,0,r._22(e,34).transform("send.to-label"))),t(e,36,0,r._22(e,41).ngClassUntouched,r._22(e,41).ngClassTouched,r._22(e,41).ngClassPristine,r._22(e,41).ngClassDirty,r._22(e,41).ngClassValid,r._22(e,41).ngClassInvalid,r._22(e,41).ngClassPending),t(e,47,0,r._32(e,47,0,r._22(e,48).transform("send.amount-label"))),t(e,50,0,r._22(e,55).ngClassUntouched,r._22(e,55).ngClassTouched,r._22(e,55).ngClassPristine,r._22(e,55).ngClassDirty,r._22(e,55).ngClassValid,r._22(e,55).ngClassInvalid,r._22(e,55).ngClassPending),t(e,62,0,r._32(e,62,0,r._22(e,63).transform("send.preview-button"))),t(e,67,0,r._32(e,67,0,r._22(e,68).transform("send.send-button")))})}var m_=r._7({encapsulation:2,styles:[],data:{}});function g_(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"mat-pseudo-checkbox",[["class","mat-option-pseudo-checkbox mat-pseudo-checkbox"]],[[2,"mat-pseudo-checkbox-indeterminate",null],[2,"mat-pseudo-checkbox-checked",null],[2,"mat-pseudo-checkbox-disabled",null]],null,null,b_,v_)),r._8(1,49152,null,0,Ko,[],{state:[0,"state"],disabled:[1,"disabled"]},null)],function(t,e){var n=e.component;t(e,1,0,n.selected?"checked":"",n.disabled)},function(t,e){t(e,0,0,"indeterminate"===r._22(e,1).state,"checked"===r._22(e,1).state,r._22(e,1).disabled)})}function y_(t){return r._33(2,[(t()(),r._4(16777216,null,null,1,null,g_)),r._8(1,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._9(2,0,null,null,1,"span",[["class","mat-option-text"]],null,null,null,null,null)),r._21(null,0),(t()(),r._9(4,0,null,null,1,"div",[["class","mat-option-ripple mat-ripple"],["mat-ripple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),r._8(5,212992,null,0,qo,[r.l,r.B,ei,[2,Jo]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,1,0,n.multiple),t(e,5,0,n.disabled||n.disableRipple,n._getHostElement())},function(t,e){t(e,4,0,r._22(e,5).unbounded)})}var v_=r._7({encapsulation:2,styles:[".mat-pseudo-checkbox{width:20px;height:20px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0,0,.2,.1),background-color 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:'';border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:9px;left:2px;width:16px;opacity:1}.mat-pseudo-checkbox-checked::after{top:5px;left:3px;width:12px;height:5px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1}"],data:{}});function b_(t){return r._33(2,[],null,null)}var w_=r._7({encapsulation:2,styles:[".mat-select{display:inline-block;width:100%;outline:0}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}@media screen and (-ms-high-contrast:active){.mat-select-panel{outline:solid 1px}}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;transition:none}"],data:{animation:[{type:7,name:"transformPanel",definitions:[{type:0,name:"showing",styles:{type:6,styles:{opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"},offset:null},options:void 0},{type:0,name:"showing-multiple",styles:{type:6,styles:{opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"},offset:null},options:void 0},{type:1,expr:"void => *",animation:[{type:6,styles:{opacity:0,minWidth:"100%",transform:"scaleY(0)"},offset:null},{type:4,styles:null,timings:"150ms cubic-bezier(0.25, 0.8, 0.25, 1)"}],options:null},{type:1,expr:"* => void",animation:[{type:4,styles:{type:6,styles:{opacity:0},offset:null},timings:"250ms 100ms linear"}],options:null}],options:{}},{type:7,name:"fadeInContent",definitions:[{type:0,name:"showing",styles:{type:6,styles:{opacity:1},offset:null},options:void 0},{type:1,expr:"void => showing",animation:[{type:6,styles:{opacity:0},offset:null},{type:4,styles:null,timings:"150ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function M_(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["class","mat-select-placeholder"]],null,null,null,null,null)),(t()(),r._31(1,null,["",""]))],null,function(t,e){t(e,1,0,e.component.placeholder||"\xa0")})}function k_(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._31(1,null,["",""]))],null,function(t,e){t(e,1,0,e.component.triggerValue)})}function x_(t){return r._33(0,[r._21(null,0),(t()(),r._4(0,null,null,0))],null,null)}function L_(t){return r._33(0,[(t()(),r._9(0,0,null,null,5,"span",[["class","mat-select-value-text"]],null,null,null,null,null)),r._8(1,16384,null,0,z,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),r._4(16777216,null,null,1,null,k_)),r._8(3,16384,null,0,U,[r.R,r.O,z],null,null),(t()(),r._4(16777216,null,null,1,null,x_)),r._8(5,278528,null,0,W,[r.R,r.O,z],{ngSwitchCase:[0,"ngSwitchCase"]},null)],function(t,e){t(e,1,0,!!e.component.customTrigger),t(e,5,0,!0)},null)}function C_(t){return r._33(0,[(t()(),r._9(0,0,[[2,0],["panel",1]],null,3,"div",[],[[24,"@transformPanel",0],[4,"transformOrigin",null],[2,"mat-select-panel-done-animating",null],[4,"font-size","px"]],[[null,"@transformPanel.done"]],function(t,e,n){var r=!0;return"@transformPanel.done"===e&&(r=!1!==t.component._onPanelDone()&&r),r},null,null)),r._8(1,278528,null,0,I,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),r._9(2,0,null,null,1,"div",[["class","mat-select-content"]],[[24,"@fadeInContent",0]],[[null,"@fadeInContent.done"]],function(t,e,n){var r=!0;return"@fadeInContent.done"===e&&(r=!1!==t.component._onFadeInDone()&&r),r},null,null)),r._21(null,1)],function(t,e){var n=e.component;t(e,1,0,r._12(1,"mat-select-panel ",n._getPanelTheme(),""),n.panelClass)},function(t,e){var n=e.component;t(e,0,0,n.multiple?"showing-multiple":"showing",n._transformOrigin,n._panelDoneAnimating,n._triggerFontSize),t(e,2,0,"showing")})}function S_(t){return r._33(2,[r._29(402653184,1,{trigger:0}),r._29(671088640,2,{panel:0}),r._29(402653184,3,{overlayDir:0}),(t()(),r._9(3,0,[[1,0],["trigger",1]],null,9,"div",[["aria-hidden","true"],["cdk-overlay-origin",""],["class","mat-select-trigger"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.toggle()&&r),r},null,null)),r._8(4,16384,[["origin",4]],0,oo,[r.l],null,null),(t()(),r._9(5,0,null,null,5,"div",[["class","mat-select-value"]],null,null,null,null,null)),r._8(6,16384,null,0,z,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),r._4(16777216,null,null,1,null,M_)),r._8(8,278528,null,0,W,[r.R,r.O,z],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),r._4(16777216,null,null,1,null,L_)),r._8(10,278528,null,0,W,[r.R,r.O,z],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),r._9(11,0,null,null,1,"div",[["class","mat-select-arrow-wrapper"]],null,null,null,null,null)),(t()(),r._9(12,0,null,null,0,"div",[["class","mat-select-arrow"]],null,null,null,null,null)),(t()(),r._4(16777216,null,null,1,function(t,e,n){var r=!0,i=t.component;return"backdropClick"===e&&(r=!1!==i.close()&&r),"attach"===e&&(r=!1!==i._onAttached()&&r),"detach"===e&&(r=!1!==i.close()&&r),r},C_)),r._8(14,671744,[[3,4]],0,so,[eo,r.O,r.R,ro,[2,vi]],{_deprecatedOrigin:[0,"_deprecatedOrigin"],_deprecatedPositions:[1,"_deprecatedPositions"],_deprecatedOffsetY:[2,"_deprecatedOffsetY"],_deprecatedMinWidth:[3,"_deprecatedMinWidth"],_deprecatedBackdropClass:[4,"_deprecatedBackdropClass"],_deprecatedScrollStrategy:[5,"_deprecatedScrollStrategy"],_deprecatedOpen:[6,"_deprecatedOpen"],_deprecatedHasBackdrop:[7,"_deprecatedHasBackdrop"]},{backdropClick:"backdropClick",attach:"attach",detach:"detach"})],function(t,e){var n=e.component;t(e,6,0,n.empty),t(e,8,0,!0),t(e,10,0,!1),t(e,14,0,r._22(e,4),n._positions,n._offsetY,null==n._triggerRect?null:n._triggerRect.width,"cdk-overlay-transparent-backdrop",n._scrollStrategy,n.panelOpen,"")},null)}var T_=r._7({encapsulation:2,styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.91026}50%{animation-timing-function:cubic-bezier(0,0,.2,.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0,0,0,1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(.4,0,1,1);stroke-dashoffset:0}to{stroke-dashoffset:-22.91026}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0,0,.2,.1);opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(.14,0,0,1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0,0,.2,.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(.14,0,0,1);opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}100%,32.8%{opacity:0;transform:scaleX(0)}}.mat-checkbox-checkmark,.mat-checkbox-mixedmark{width:calc(100% - 4px)}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);cursor:pointer}.mat-checkbox-layout{cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-inner-container{display:inline-block;height:20px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:20px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0,0,.2,.1);border-width:2px;border-style:solid}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0,0,.2,.1),opacity 90ms cubic-bezier(0,0,.2,.1)}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.91026;stroke-dasharray:22.91026;stroke-width:2.66667px}.mat-checkbox-mixedmark{height:2px;opacity:0;transform:scaleX(0) rotate(0)}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0s mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0s mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0s mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0s mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0s mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:.5s linear 0s mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:.5s linear 0s mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:.3s linear 0s mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}.mat-checkbox-ripple{position:absolute;left:-15px;top:-15px;height:50px;width:50px;z-index:1;pointer-events:none}"],data:{}});function O_(t){return r._33(2,[r._29(402653184,1,{_inputElement:0}),r._29(402653184,2,{_ripple:0}),(t()(),r._9(2,0,[["label",1]],null,14,"label",[["class","mat-checkbox-layout"]],[[1,"for",0]],null,null,null,null)),(t()(),r._9(3,0,null,null,8,"div",[["class","mat-checkbox-inner-container"]],[[2,"mat-checkbox-inner-container-no-side-margin",null]],null,null,null,null)),(t()(),r._9(4,0,[[1,0],["input",1]],null,0,"input",[["class","mat-checkbox-input cdk-visually-hidden"],["type","checkbox"]],[[8,"id",0],[8,"required",0],[8,"checked",0],[1,"value",0],[8,"disabled",0],[1,"name",0],[8,"tabIndex",0],[8,"indeterminate",0],[1,"aria-label",0],[1,"aria-labelledby",0],[1,"aria-checked",0]],[[null,"change"],[null,"click"]],function(t,e,n){var r=!0,i=t.component;return"change"===e&&(r=!1!==i._onInteractionEvent(n)&&r),"click"===e&&(r=!1!==i._onInputClick(n)&&r),r},null,null)),(t()(),r._9(5,0,null,null,1,"div",[["class","mat-checkbox-ripple mat-ripple"],["matRipple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),r._8(6,212992,[[2,4]],0,qo,[r.l,r.B,ei,[2,Jo]],{centered:[0,"centered"],radius:[1,"radius"],speedFactor:[2,"speedFactor"],disabled:[3,"disabled"],trigger:[4,"trigger"]},null),(t()(),r._9(7,0,null,null,0,"div",[["class","mat-checkbox-frame"]],null,null,null,null,null)),(t()(),r._9(8,0,null,null,3,"div",[["class","mat-checkbox-background"]],null,null,null,null,null)),(t()(),r._9(9,0,null,null,1,":svg:svg",[[":xml:space","preserve"],["class","mat-checkbox-checkmark"],["focusable","false"],["version","1.1"],["viewBox","0 0 24 24"]],null,null,null,null,null)),(t()(),r._9(10,0,null,null,0,":svg:path",[["class","mat-checkbox-checkmark-path"],["d","M4.1,12.7 9,17.6 20.3,6.3"],["fill","none"],["stroke","white"]],null,null,null,null,null)),(t()(),r._9(11,0,null,null,0,"div",[["class","mat-checkbox-mixedmark"]],null,null,null,null,null)),(t()(),r._9(12,0,[["checkboxLabel",1]],null,4,"span",[["class","mat-checkbox-label"]],null,[[null,"cdkObserveContent"]],function(t,e,n){var r=!0;return"cdkObserveContent"===e&&(r=!1!==t.component._onLabelTextChange()&&r),r},null,null)),r._8(13,1196032,null,0,wa,[ba,r.l,r.B],null,{event:"cdkObserveContent"}),(t()(),r._9(14,0,null,null,1,"span",[["style","display:none"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\xa0"])),r._21(null,0)],function(t,e){var n=e.component;t(e,6,0,n._rippleConfig.centered,n._rippleConfig.radius,n._rippleConfig.speedFactor,n._isRippleDisabled(),r._22(e,2))},function(t,e){var n=e.component;t(e,2,0,n.inputId),t(e,3,0,!r._22(e,12).textContent||!r._22(e,12).textContent.trim()),t(e,4,1,[n.inputId,n.required,n.checked,n.value,n.disabled,n.name,n.tabIndex,n.indeterminate,n.ariaLabel,n.ariaLabelledby,n._getAriaChecked()]),t(e,5,0,r._22(e,6).unbounded)})}var D_=r._7({encapsulation:2,styles:[".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:0;vertical-align:middle}.mat-slider-wrapper{position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{background-repeat:repeat;background-clip:content-box;box-sizing:border-box;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),opacity .4s cubic-bezier(.25,.8,.25,1)}.cdk-keyboard-focused .mat-slider-focus-ring,.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb-label{cursor:-webkit-grab;cursor:grab}.mat-slider-sliding:not(.mat-slider-disabled) .mat-slider-thumb,.mat-slider-sliding:not(.mat-slider-disabled) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb-label:active,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb:active{cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(.7);transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),border-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform .4s cubic-bezier(.25,.8,.25,1),border-radius .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-sliding .mat-slider-thumb-container,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-track-fill{transition-duration:0s}.mat-slider-has-ticks .mat-slider-wrapper::after{content:'';position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}"],data:{}});function Y_(t){return r._33(2,[r._29(402653184,1,{_sliderWrapper:0}),(t()(),r._9(1,0,[[1,0],["sliderWrapper",1]],null,16,"div",[["class","mat-slider-wrapper"]],null,null,null,null,null)),(t()(),r._9(2,0,null,null,4,"div",[["class","mat-slider-track-wrapper"]],null,null,null,null,null)),(t()(),r._9(3,0,null,null,1,"div",[["class","mat-slider-track-background"]],null,null,null,null,null)),r._8(4,278528,null,0,G,[r.v,r.l,r.G],{ngStyle:[0,"ngStyle"]},null),(t()(),r._9(5,0,null,null,1,"div",[["class","mat-slider-track-fill"]],null,null,null,null,null)),r._8(6,278528,null,0,G,[r.v,r.l,r.G],{ngStyle:[0,"ngStyle"]},null),(t()(),r._9(7,0,null,null,3,"div",[["class","mat-slider-ticks-container"]],null,null,null,null,null)),r._8(8,278528,null,0,G,[r.v,r.l,r.G],{ngStyle:[0,"ngStyle"]},null),(t()(),r._9(9,0,null,null,1,"div",[["class","mat-slider-ticks"]],null,null,null,null,null)),r._8(10,278528,null,0,G,[r.v,r.l,r.G],{ngStyle:[0,"ngStyle"]},null),(t()(),r._9(11,0,null,null,6,"div",[["class","mat-slider-thumb-container"]],null,null,null,null,null)),r._8(12,278528,null,0,G,[r.v,r.l,r.G],{ngStyle:[0,"ngStyle"]},null),(t()(),r._9(13,0,null,null,0,"div",[["class","mat-slider-focus-ring"]],null,null,null,null,null)),(t()(),r._9(14,0,null,null,0,"div",[["class","mat-slider-thumb"]],null,null,null,null,null)),(t()(),r._9(15,0,null,null,2,"div",[["class","mat-slider-thumb-label"]],null,null,null,null,null)),(t()(),r._9(16,0,null,null,1,"span",[["class","mat-slider-thumb-label-text"]],null,null,null,null,null)),(t()(),r._31(17,null,["",""]))],function(t,e){var n=e.component;t(e,4,0,n._trackBackgroundStyles),t(e,6,0,n._trackFillStyles),t(e,8,0,n._ticksContainerStyles),t(e,10,0,n._ticksStyles),t(e,12,0,n._thumbContainerStyles)},function(t,e){t(e,17,0,e.component.displayValue)})}var P_=function(){function t(t,e,n,i,o){this.walletService=t,this.formBuilder=e,this.dialog=n,this.snackbar=i,this.navbarService=o,this.onFormSubmitted=new r.o,this.addresses=[],this.autoHours=!0,this.autoOptions=!1,this.autoShareValue="0.5"}return t.prototype.ngOnInit=function(){var t=this;this.navbarService.showSwitch("send.simple","send.advanced"),this.form=this.formBuilder.group({wallet:["",Qs.required],addresses:["",Qs.required],changeAddress:[""],destinations:this.formBuilder.array([this.createDestinationFormGroup()],this.validateDestinations.bind(this))}),this.subscriptions=this.form.get("wallet").valueChanges.subscribe(function(e){t.addresses=e.addresses.filter(function(t){return t.coins>0}),t.form.get("addresses").setValue([]),t.form.get("destinations").updateValueAndValidity()}),this.subscriptions.add(this.form.get("addresses").valueChanges.subscribe(function(){t.form.get("destinations").updateValueAndValidity()})),this.formData&&this.fillForm()},t.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe(),this.navbarService.hideSwitch(),this.snackbar.dismiss()},t.prototype.preview=function(){this.previewTx=!0,this.unlockAndSend()},t.prototype.send=function(){this.previewTx=!1,this.unlockAndSend()},t.prototype.unlockAndSend=function(){var t=this;!this.form.valid||this.previewButton.isLoading()||this.sendButton.isLoading()||(this.snackbar.dismiss(),this.previewButton.resetState(),this.sendButton.resetState(),this.form.get("wallet").value.encrypted?this.dialog.open(vp).componentInstance.passwordSubmit.subscribe(function(e){t.createTransaction(e)}):this.createTransaction())},t.prototype.addDestination=function(){this.form.get("destinations").push(this.createDestinationFormGroup())},t.prototype.removeDestination=function(t){this.form.get("destinations").removeAt(t)},t.prototype.setShareValue=function(t){this.autoShareValue=parseFloat(t.value).toFixed(2)},t.prototype.toggleOptions=function(t){t.stopPropagation(),t.preventDefault(),this.autoOptions=!this.autoOptions},t.prototype.setAutoHours=function(t){this.autoHours=t.checked,this.form.get("destinations").updateValueAndValidity(),this.autoHours||(this.autoOptions=!1)},t.prototype.fillForm=function(){var t=this;this.addresses=this.formData.form.wallet.addresses,["wallet","addresses","changeAddress"].forEach(function(e){t.form.get(e).setValue(t.formData.form[e])});for(var e=0;e6)return!0}else if("hours"===t&&(n<1||parseInt(n,10)!==parseFloat(n)))return!0;return!1}).find(function(t){return!0===t})}))return{Invalid:!0};var e=this.form.get("addresses").value.reduce(function(t,e){return t+e.coins},0),n=this.form.get("addresses").value.reduce(function(t,e){return t+e.hours},0),r=this.destControls.reduce(function(t,e){return t+parseFloat(e.value.coins)},0),i=this.destControls.reduce(function(t,e){return t+parseInt(e.value.hours,10)},0);return r>e||i>n?{Invalid:!0}:null},t.prototype.createDestinationFormGroup=function(){return this.formBuilder.group({address:"",coins:"",hours:""})},t.prototype.createTransaction=function(t){var e=this;t&&t.close(),this.previewTx?(this.previewButton.setLoading(),this.sendButton.setDisabled()):(this.sendButton.setLoading(),this.previewButton.setDisabled()),this.walletService.createTransaction(this.form.get("wallet").value,this.form.get("addresses").value.map(function(t){return t.address}),this.destinations,this.hoursSelection,this.form.get("changeAddress").value?this.form.get("changeAddress").value:null,t?t.password:null).toPromise().then(function(t){if(!e.previewTx)return e.walletService.injectTransaction(t.encoded).toPromise();e.onFormSubmitted.emit({form:{wallet:e.form.get("wallet").value,addresses:e.form.get("addresses").value,changeAddress:e.form.get("changeAddress").value,destinations:e.destinations,hoursSelection:e.hoursSelection,autoOptions:e.autoOptions},amount:e.destinations.reduce(function(t,e){return t+parseFloat(e.coins)},0),to:e.destinations.map(function(t){return t.address}),transaction:t})}).then(function(){e.sendButton.setSuccess(),e.resetForm(),setTimeout(function(){e.sendButton.resetState()},3e3)}).catch(function(t){kc(e.snackbar,t),e.previewButton.resetState().setEnabled(),e.sendButton.resetState().setEnabled()})},t.prototype.resetForm=function(){for(this.form.get("wallet").setValue("",{emitEvent:!1}),this.form.get("addresses").setValue([]),this.form.get("changeAddress").setValue("");this.destControls.length>0;)this.form.get("destinations").removeAt(0);this.addDestination(),this.autoHours=!0,this.autoOptions=!1,this.autoShareValue="0.5"},Object.defineProperty(t.prototype,"destinations",{get:function(){var t=this;return this.destControls.map(function(e){var n={address:e.get("address").value,coins:e.get("coins").value};return t.autoHours||(n.hours=e.get("hours").value),n})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hoursSelection",{get:function(){var t={type:"manual"};return this.autoHours&&(t={type:"auto",mode:"share",share_factor:this.autoShareValue}),t},enumerable:!0,configurable:!0}),t}(),E_=r._7({encapsulation:0,styles:[[".-input-addon[_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex}.-input-addon[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border-top-right-radius:0;border-bottom-right-radius:0}.-input-addon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{border:2px;border-radius:0 6px 6px 0;background:#f1f1f1;padding:0 10px;line-height:44px;color:rgba(30,34,39,.5);font-size:14px;-ms-flex-negative:0;flex-shrink:0}.-destination[_ngcontent-%COMP%]:not(:last-child){margin-bottom:5px}.-destination[_ngcontent-%COMP%] .-icons[_ngcontent-%COMP%]{text-align:right;padding-top:5px}.-destination[_ngcontent-%COMP%] .-icons[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:32px;cursor:pointer}mat-checkbox[_ngcontent-%COMP%]{font-size:12px}mat-select[_ngcontent-%COMP%]{background:#fff;border:2px solid rgba(0,0,0,.05);border-radius:6px}mat-select[_ngcontent-%COMP%] .mat-select-trigger{padding:10px 30px 10px 10px;display:block;font-size:11px;height:100%;line-height:20px}mat-select[_ngcontent-%COMP%] .mat-select-arrow{border:none}mat-option[_ngcontent-%COMP%] .mat-pseudo-checkbox-checked{background:#0072ff}.-autohours[_ngcontent-%COMP%]{margin:40px 0 20px}.-autohours[_ngcontent-%COMP%] .-check[_ngcontent-%COMP%] .mat-checkbox-checkmark-path{stroke:#0072ff!important}.-autohours[_ngcontent-%COMP%] .-check[_ngcontent-%COMP%] .mat-checkbox-background, .-autohours[_ngcontent-%COMP%] .-check[_ngcontent-%COMP%] .mat-checkbox-frame{width:20px;height:20px;background:rgba(30,34,39,.05);border-radius:6px;border-color:transparent}.-autohours[_ngcontent-%COMP%] .-check[_ngcontent-%COMP%] .mat-checkbox-label{line-height:20px;font-size:13px;color:#1e2227;-webkit-box-flex:1;-ms-flex:1;flex:1}.-autohours[_ngcontent-%COMP%] .-check[_ngcontent-%COMP%] .-options{color:#0072ff;cursor:pointer}.-autohours[_ngcontent-%COMP%] .-check[_ngcontent-%COMP%] .-options mat-icon{display:inline;vertical-align:middle;font-size:13px}.-autohours[_ngcontent-%COMP%] .-check[_ngcontent-%COMP%] .mat-checkbox-layout{display:-webkit-box;display:-ms-flexbox;display:flex}.-autohours[_ngcontent-%COMP%] .-options-wrapper[_ngcontent-%COMP%]{margin-top:20px}.-autohours[_ngcontent-%COMP%] .-options-wrapper[_ngcontent-%COMP%] mat-slider[_ngcontent-%COMP%]{width:100%;padding:0;height:40px;border:2px solid rgba(0,0,0,.05);border-radius:6px;background:#fff}.-autohours[_ngcontent-%COMP%] .-options-wrapper[_ngcontent-%COMP%] mat-slider[_ngcontent-%COMP%] .mat-slider-thumb, .-autohours[_ngcontent-%COMP%] .-options-wrapper[_ngcontent-%COMP%] mat-slider[_ngcontent-%COMP%] .mat-slider-thumb-label{background-color:#0072ff!important;-webkit-transform:scale(1)!important;transform:scale(1)!important;border-width:0!important}.-autohours[_ngcontent-%COMP%] .-options-wrapper[_ngcontent-%COMP%] mat-slider[_ngcontent-%COMP%] .mat-slider-thumb{right:-6px;width:12px;height:32px;border-radius:3px}.-autohours[_ngcontent-%COMP%] .-options-wrapper[_ngcontent-%COMP%] mat-slider[_ngcontent-%COMP%] .mat-slider-track-background, .-autohours[_ngcontent-%COMP%] .-options-wrapper[_ngcontent-%COMP%] mat-slider[_ngcontent-%COMP%] .mat-slider-track-fill{background-color:#fff!important}.-buttons[_ngcontent-%COMP%]{text-align:center}.-hidden[_ngcontent-%COMP%]{display:none}.-space-between[_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}label[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{display:inline;font-size:14px;color:rgba(121,135,152,.5);vertical-align:text-bottom;padding-left:5px}"]],data:{}});function A_(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"option",[],[[8,"disabled",0]],null,null,null,null)),r._8(1,147456,null,0,pl,[r.l,r.G,[2,hl]],{ngValue:[0,"ngValue"]},null),r._8(2,147456,null,0,ml,[r.l,r.G,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),r._31(3,null,["\n "," - "," ","\n ("," ",")\n "])),r._27(4,2),r._25(131072,yp.i,[yp.j,r.h]),r._27(6,2),r._25(131072,yp.i,[yp.j,r.h])],function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)},function(t,e){t(e,0,0,e.context.$implicit.coins<=0),t(e,3,0,e.context.$implicit.label,r._32(e,3,1,t(e,4,0,r._22(e.parent,0),e.context.$implicit.coins,"1.0-6")),r._32(e,3,2,r._22(e,5).transform("common.coin-id")),r._32(e,3,3,t(e,6,0,r._22(e.parent,0),e.context.$implicit.hours,"1.0-6")),r._32(e,3,4,r._22(e,7).transform("common.coin-hours")))})}function j_(t){return r._33(0,[(t()(),r._9(0,0,null,null,6,"mat-option",[["class","mat-option"],["role","option"]],[[1,"tabindex",0],[2,"mat-selected",null],[2,"mat-option-multiple",null],[2,"mat-active",null],[8,"id",0],[1,"aria-selected",0],[1,"aria-disabled",0],[2,"mat-option-disabled",null]],[[null,"click"],[null,"keydown"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,1)._selectViaInteraction()&&i),"keydown"===e&&(i=!1!==r._22(t,1)._handleKeydown(n)&&i),i},y_,m_)),r._8(1,49152,[[3,4]],0,ns,[r.l,r.h,[2,es],[2,$o]],{value:[0,"value"]},null),(t()(),r._31(2,0,["\n "," - "," ","\n ("," ",")\n "])),r._27(3,2),r._25(131072,yp.i,[yp.j,r.h]),r._27(5,2),r._25(131072,yp.i,[yp.j,r.h])],function(t,e){t(e,1,0,e.context.$implicit)},function(t,e){t(e,0,0,r._22(e,1)._getTabIndex(),r._22(e,1).selected,r._22(e,1).multiple,r._22(e,1).active,r._22(e,1).id,r._22(e,1).selected.toString(),r._22(e,1).disabled.toString(),r._22(e,1).disabled),t(e,2,0,e.context.$implicit.address,r._32(e,2,1,t(e,3,0,r._22(e.parent,0),e.context.$implicit.coins,"1.0-6")),r._32(e,2,2,r._22(e,4).transform("common.coin-id")),r._32(e,2,3,t(e,5,0,r._22(e.parent,0),e.context.$implicit.hours,"1.0-6")),r._32(e,2,4,r._22(e,6).transform("common.coin-hours")))})}function I_(t){return r._33(0,[(t()(),r._9(0,0,null,null,5,"div",[],null,null,null,null,null)),(t()(),r._31(1,null,["\n "," - "," ","\n ("," ",")\n "])),r._27(2,2),r._25(131072,yp.i,[yp.j,r.h]),r._27(4,2),r._25(131072,yp.i,[yp.j,r.h])],null,function(t,e){t(e,1,0,e.context.$implicit.address,r._32(e,1,1,t(e,2,0,r._22(e.parent,0),e.context.$implicit.coins,"1.0-6")),r._32(e,1,2,r._22(e,3).transform("common.coin-id")),r._32(e,1,3,t(e,4,0,r._22(e.parent,0),e.context.$implicit.hours,"1.0-6")),r._32(e,1,4,r._22(e,5).transform("common.coin-hours")))})}function R_(t){return r._33(0,[(t()(),r._9(0,0,null,null,0,"img",[["alt","plus"],["src","../../../../../assets/img/plus-green.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.addDestination()&&r),r},null,null))],null,null)}function H_(t){return r._33(0,[(t()(),r._9(0,0,null,null,0,"img",[["alt","minus"],["src","../../../../../assets/img/minus-grey.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.removeDestination(t.parent.context.index)&&r),r},null,null))],null,null)}function F_(t){return r._33(0,[(t()(),r._9(0,0,null,null,65,"div",[["class","-destination"],["formArrayName","destinations"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),r._8(1,212992,null,0,Gl,[[3,Us],[8,null],[8,null]],{name:[0,"name"]},null),r._28(2048,null,Us,null,[Gl]),r._8(3,16384,null,0,Yl,[Us],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,59,"div",[["class","row"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),r._8(6,212992,null,0,Ul,[[3,Us],[8,null],[8,null]],{name:[0,"name"]},null),r._28(2048,null,Us,null,[Ul]),r._8(8,16384,null,0,Yl,[Us],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,8,"div",[["class","col-md-5"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,5,"input",[["formControlName","address"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,13)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,13).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,13)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,13)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(13,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(15,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(17,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(20,0,null,null,15,"div",[["class","col-md-3"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(22,0,null,null,12,"div",[["class","-input-addon"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(24,0,null,null,5,"input",[["formControlName","coins"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,25)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,25).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,25)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,25)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(25,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(27,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(29,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(31,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(32,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(37,0,null,null,17,"div",[["class","col-md-3"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(39,0,null,null,14,"div",[],null,null,null,null,null)),r._8(40,278528,null,0,I,[r.u,r.v,r.l,r.G],{ngClass:[0,"ngClass"]},null),r._26(41,{"-input-addon":0,"-hidden":1}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(43,0,null,null,5,"input",[["formControlName","hours"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,44)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,44).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,44)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,44)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(44,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(46,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(48,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(50,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(51,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(56,0,null,null,7,"div",[["class","col-md-1 -icons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,R_)),r._8(59,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,H_)),r._8(62,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){var n=e.component;t(e,1,0,"destinations"),t(e,6,0,e.context.index),t(e,15,0,"address"),t(e,27,0,"coins"),t(e,40,0,t(e,41,0,!0,n.autoHours)),t(e,46,0,"hours"),t(e,59,0,0===e.context.index),t(e,62,0,0!==e.context.index)},function(t,e){t(e,0,0,r._22(e,3).ngClassUntouched,r._22(e,3).ngClassTouched,r._22(e,3).ngClassPristine,r._22(e,3).ngClassDirty,r._22(e,3).ngClassValid,r._22(e,3).ngClassInvalid,r._22(e,3).ngClassPending),t(e,5,0,r._22(e,8).ngClassUntouched,r._22(e,8).ngClassTouched,r._22(e,8).ngClassPristine,r._22(e,8).ngClassDirty,r._22(e,8).ngClassValid,r._22(e,8).ngClassInvalid,r._22(e,8).ngClassPending),t(e,12,0,0===e.context.index?"destination":"",r._22(e,17).ngClassUntouched,r._22(e,17).ngClassTouched,r._22(e,17).ngClassPristine,r._22(e,17).ngClassDirty,r._22(e,17).ngClassValid,r._22(e,17).ngClassInvalid,r._22(e,17).ngClassPending),t(e,24,0,r._22(e,29).ngClassUntouched,r._22(e,29).ngClassTouched,r._22(e,29).ngClassPristine,r._22(e,29).ngClassDirty,r._22(e,29).ngClassValid,r._22(e,29).ngClassInvalid,r._22(e,29).ngClassPending),t(e,32,0,r._32(e,32,0,r._22(e,33).transform("common.coin-id"))),t(e,43,0,r._22(e,48).ngClassUntouched,r._22(e,48).ngClassTouched,r._22(e,48).ngClassPristine,r._22(e,48).ngClassDirty,r._22(e,48).ngClassValid,r._22(e,48).ngClassInvalid,r._22(e,48).ngClassPending),t(e,51,0,r._32(e,51,0,r._22(e,52).transform("common.coin-hours")))})}function N_(t){return r._33(0,[(t()(),r._9(0,0,null,null,6,"span",[["class","-options"]],null,[[null,"mousedown"],[null,"click"]],function(t,e,n){var r=!0,i=t.component;return"mousedown"===e&&(r=!1!==n.stopPropagation()&&r),"click"===e&&(r=!1!==i.toggleOptions(n)&&r),r},null,null)),(t()(),r._31(1,null,["\n "," "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._9(3,0,null,null,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Zp,Xp)),r._8(4,638976,null,0,gu,[r.l,pu,[8,null]],null,null),(t()(),r._31(-1,0,["keyboard_arrow_down"])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,4,0)},function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("send.options-label")))})}function V_(t){return r._33(0,[r._25(0,St,[r.w]),r._29(402653184,1,{previewButton:0}),r._29(402653184,2,{sendButton:0}),(t()(),r._9(3,0,null,null,156,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,4).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,4).onReset()&&i),i},null,null)),r._8(4,540672,null,0,Wl,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,Us,null,[Wl]),r._8(6,16384,null,0,Yl,[Us],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,20,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"label",[["for","wallets"]],null,null,null,null,null)),(t()(),r._31(11,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,13,"div",[["class","-select"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,10,"select",[["formControlName","wallet"],["id","wallets"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"blur"]],function(t,e,n){var i=!0;return"change"===e&&(i=!1!==r._22(t,17).onChange(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,17).onTouched()&&i),i},null,null)),r._8(17,16384,null,0,hl,[r.G,r.l],null,null),r._28(1024,null,$s,function(t){return[t]},[hl]),r._8(19,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(21,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,2,null,A_)),r._8(24,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),r._25(131072,Ct,[r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(30,0,null,null,36,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(32,0,null,null,8,"label",[["for","addresses"]],null,[[null,"click"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,49).open()&&i),i},null,null)),(t()(),r._31(33,null,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._9(35,16777216,null,null,4,"mat-icon",[["class","mat-icon"],["role","img"]],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,37).show()&&i),"keydown"===e&&(i=!1!==r._22(t,37)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,37).hide(1500)&&i),i},Zp,Xp)),r._8(36,638976,null,0,gu,[r.l,pu,[8,null]],null,null),r._8(37,147456,null,0,Wu,[eo,r.l,pi,r.R,r.B,ei,xo,Do,Bu,[2,vi]],{message:[0,"message"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["help"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(42,0,null,null,23,"div",[["class","-select"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(44,0,null,null,20,"mat-select",[["class","mat-select"],["formControlName","addresses"],["id","addresses"],["multiple",""],["role","listbox"]],[[1,"id",0],[1,"tabindex",0],[1,"aria-label",0],[1,"aria-labelledby",0],[1,"aria-required",0],[1,"aria-disabled",0],[1,"aria-invalid",0],[1,"aria-owns",0],[1,"aria-multiselectable",0],[1,"aria-describedby",0],[1,"aria-activedescendant",0],[2,"mat-select-disabled",null],[2,"mat-select-invalid",null],[2,"mat-select-required",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown"],[null,"focus"],[null,"blur"]],function(t,e,n){var i=!0;return"keydown"===e&&(i=!1!==r._22(t,49)._handleKeydown(n)&&i),"focus"===e&&(i=!1!==r._22(t,49)._onFocus()&&i),"blur"===e&&(i=!1!==r._22(t,49)._onBlur()&&i),i},S_,w_)),r._28(6144,null,es,null,[Hu]),r._28(6144,null,ia,null,[Hu]),r._8(47,671744,null,0,ql,[[3,Us],[8,null],[8,null],[8,null]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(49,2080768,[["selectAddresses",4]],3,Hu,[_i,r.h,r.B,Fo,r.l,[2,vi],[2,Nl],[2,Wl],[2,la],[2,ll],[8,null],ju],{multiple:[0,"multiple"],compareWith:[1,"compareWith"],id:[2,"id"]},null),r._29(603979776,3,{options:1}),r._29(603979776,4,{optionGroups:1}),r._29(335544320,5,{customTrigger:0}),r._8(53,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,1,["\n "])),(t()(),r._4(16777216,null,1,1,null,j_)),r._8(56,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,1,["\n "])),(t()(),r._9(58,0,null,0,5,"mat-select-trigger",[],null,null,null,null,null)),r._8(59,16384,[[5,4]],0,Ru,[],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,I_)),r._8(62,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,1,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(68,0,null,null,14,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(70,0,null,null,8,"label",[["for","destination"]],null,null,null,null,null)),(t()(),r._31(71,null,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._9(73,16777216,null,null,4,"mat-icon",[["class","mat-icon"],["role","img"]],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,75).show()&&i),"keydown"===e&&(i=!1!==r._22(t,75)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,75).hide(1500)&&i),i},Zp,Xp)),r._8(74,638976,null,0,gu,[r.l,pu,[8,null]],null,null),r._8(75,147456,null,0,Wu,[eo,r.l,pi,r.R,r.B,ei,xo,Do,Bu,[2,vi]],{message:[0,"message"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["help"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,F_)),r._8(81,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(84,0,null,null,18,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(86,0,null,null,8,"label",[["for","change-address"]],null,null,null,null,null)),(t()(),r._31(87,null,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._9(89,16777216,null,null,4,"mat-icon",[["class","mat-icon"],["role","img"]],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,91).show()&&i),"keydown"===e&&(i=!1!==r._22(t,91)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,91).hide(1500)&&i),i},Zp,Xp)),r._8(90,638976,null,0,gu,[r.l,pu,[8,null]],null,null),r._8(91,147456,null,0,Wu,[eo,r.l,pi,r.R,r.B,ei,xo,Do,Bu,[2,vi]],{message:[0,"message"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["help"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(96,0,null,null,5,"input",[["formControlName","changeAddress"],["id","change-address"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._22(t,97)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,97).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,97)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,97)._compositionEnd(n.target.value)&&i),"keydown.enter"===e&&(i=!1!==o.preview()&&i),i},null,null)),r._8(97,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(99,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(101,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(104,0,null,null,54,"div",[["class","-autohours"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(106,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(108,0,null,null,16,"div",[["class","col-md-5"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(110,0,null,null,13,"mat-checkbox",[["class","-check mat-checkbox"]],[[8,"id",0],[2,"mat-checkbox-indeterminate",null],[2,"mat-checkbox-checked",null],[2,"mat-checkbox-disabled",null],[2,"mat-checkbox-label-before",null]],[[null,"change"]],function(t,e,n){var r=!0;return"change"===e&&(r=!1!==t.component.setAutoHours(n)&&r),r},O_,T_)),r._28(5120,null,$s,function(t){return[t]},[Ca]),r._8(112,4374528,null,0,Ca,[r.l,r.h,Do,[8,null],[2,ka]],{checked:[0,"checked"]},{change:"change"}),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(114,0,null,0,8,"div",[["class","-space-between"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(116,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(117,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,N_)),r._8(121,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(127,0,null,null,30,"div",[],null,null,null,null,null)),r._8(128,278528,null,0,I,[r.u,r.v,r.l,r.G],{ngClass:[0,"ngClass"]},null),r._26(129,{"row -options-wrapper":0,"-hidden":1}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(131,0,null,null,25,"div",[["class","col-md-5"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(133,0,null,null,22,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(135,0,null,null,15,"label",[["class","-space-between"],["for","value"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(137,0,null,null,8,"span",[],null,null,null,null,null)),(t()(),r._31(138,null,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._9(140,16777216,null,null,4,"mat-icon",[["class","mat-icon"],["role","img"]],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,142).show()&&i),"keydown"===e&&(i=!1!==r._22(t,142)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,142).hide(1500)&&i),i},Zp,Xp)),r._8(141,638976,null,0,gu,[r.l,pu,[8,null]],null,null),r._8(142,147456,null,0,Wu,[eo,r.l,pi,r.R,r.B,ei,xo,Do,Bu,[2,vi]],{message:[0,"message"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["help"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(147,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(148,null,["",""])),r._27(149,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(152,0,null,null,2,"mat-slider",[["class","-slider mat-slider"],["id","value"],["max","1"],["min","0.1"],["role","slider"],["step","0.01"]],[[8,"tabIndex",0],[1,"aria-disabled",0],[1,"aria-valuemax",0],[1,"aria-valuemin",0],[1,"aria-valuenow",0],[1,"aria-orientation",0],[2,"mat-slider-disabled",null],[2,"mat-slider-has-ticks",null],[2,"mat-slider-horizontal",null],[2,"mat-slider-axis-inverted",null],[2,"mat-slider-sliding",null],[2,"mat-slider-thumb-label-showing",null],[2,"mat-slider-vertical",null],[2,"mat-slider-min-value",null],[2,"mat-slider-hide-last-tick",null]],[[null,"input"],[null,"focus"],[null,"blur"],[null,"click"],[null,"keydown"],[null,"keyup"],[null,"mouseenter"],[null,"slide"],[null,"slideend"],[null,"slidestart"]],function(t,e,n){var i=!0,o=t.component;return"focus"===e&&(i=!1!==r._22(t,154)._onFocus()&&i),"blur"===e&&(i=!1!==r._22(t,154)._onBlur()&&i),"click"===e&&(i=!1!==r._22(t,154)._onClick(n)&&i),"keydown"===e&&(i=!1!==r._22(t,154)._onKeydown(n)&&i),"keyup"===e&&(i=!1!==r._22(t,154)._onKeyup()&&i),"mouseenter"===e&&(i=!1!==r._22(t,154)._onMouseenter()&&i),"slide"===e&&(i=!1!==r._22(t,154)._onSlide(n)&&i),"slideend"===e&&(i=!1!==r._22(t,154)._onSlideEnd()&&i),"slidestart"===e&&(i=!1!==r._22(t,154)._onSlideStart(n)&&i),"input"===e&&(i=!1!==o.setShareValue(n)&&i),i},Y_,D_)),r._28(5120,null,$s,function(t){return[t]},[$u]),r._8(154,245760,null,0,$u,[r.l,Do,r.h,[2,vi],[8,null]],{max:[0,"max"],min:[1,"min"],step:[2,"step"],value:[3,"value"]},{input:"input"}),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n\n"])),(t()(),r._9(161,0,null,null,11,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(163,0,null,null,3,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.preview()&&r),r},Of,Lf)),r._8(164,49152,[[1,4],["previewButton",4]],0,xc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(165,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(168,0,null,null,3,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.send()&&r),r},Of,Lf)),r._8(169,49152,[[2,4],["sendButton",4]],0,xc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(170,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,4,0,n.form),t(e,19,0,"wallet"),t(e,24,0,r._32(e,24,0,r._22(e,25).transform(n.walletService.all()))),t(e,36,0),t(e,37,0,r._32(e,37,0,r._22(e,38).transform("send.addresses-help"))),t(e,47,0,"addresses"),t(e,49,0,"",n.addressCompare,"addresses"),t(e,56,0,n.addresses),t(e,62,0,n.form.get("addresses").value),t(e,74,0),t(e,75,0,r._32(e,75,0,r._22(e,76).transform("send.destinations-help"+(n.autoHours?"1":"2")))),t(e,81,0,n.destControls),t(e,90,0),t(e,91,0,r._32(e,91,0,r._22(e,92).transform("send.change-address-help"))),t(e,99,0,"changeAddress"),t(e,112,0,n.autoHours),t(e,121,0,n.autoHours),t(e,128,0,t(e,129,0,!0,!n.autoOptions)),t(e,141,0),t(e,142,0,r._32(e,142,0,r._22(e,143).transform("send.value-help"))),t(e,154,0,"1","0.1","0.01",n.autoShareValue),t(e,164,0,!n.form.valid),t(e,169,0,!n.form.valid)},function(t,e){var n=e.component;t(e,3,0,r._22(e,6).ngClassUntouched,r._22(e,6).ngClassTouched,r._22(e,6).ngClassPristine,r._22(e,6).ngClassDirty,r._22(e,6).ngClassValid,r._22(e,6).ngClassInvalid,r._22(e,6).ngClassPending),t(e,11,0,r._32(e,11,0,r._22(e,12).transform("send.wallet-label"))),t(e,16,0,r._22(e,21).ngClassUntouched,r._22(e,21).ngClassTouched,r._22(e,21).ngClassPristine,r._22(e,21).ngClassDirty,r._22(e,21).ngClassValid,r._22(e,21).ngClassInvalid,r._22(e,21).ngClassPending),t(e,33,0,r._32(e,33,0,r._22(e,34).transform("send.addresses-label"))),t(e,44,1,[r._22(e,49).id,r._22(e,49).tabIndex,r._22(e,49)._ariaLabel,r._22(e,49).ariaLabelledby,r._22(e,49).required.toString(),r._22(e,49).disabled.toString(),r._22(e,49).errorState,r._22(e,49).panelOpen?r._22(e,49)._optionIds:null,r._22(e,49).multiple,r._22(e,49)._ariaDescribedby||null,r._22(e,49)._getAriaActiveDescendant(),r._22(e,49).disabled,r._22(e,49).errorState,r._22(e,49).required,r._22(e,53).ngClassUntouched,r._22(e,53).ngClassTouched,r._22(e,53).ngClassPristine,r._22(e,53).ngClassDirty,r._22(e,53).ngClassValid,r._22(e,53).ngClassInvalid,r._22(e,53).ngClassPending]),t(e,71,0,r._32(e,71,0,r._22(e,72).transform("send.destinations-label"))),t(e,87,0,r._32(e,87,0,r._22(e,88).transform("send.change-address-label"))),t(e,96,0,r._22(e,101).ngClassUntouched,r._22(e,101).ngClassTouched,r._22(e,101).ngClassPristine,r._22(e,101).ngClassDirty,r._22(e,101).ngClassValid,r._22(e,101).ngClassInvalid,r._22(e,101).ngClassPending),t(e,110,0,r._22(e,112).id,r._22(e,112).indeterminate,r._22(e,112).checked,r._22(e,112).disabled,"before"==r._22(e,112).labelPosition),t(e,117,0,r._32(e,117,0,r._22(e,118).transform("send.hours-allocation-label"))),t(e,138,0,r._32(e,138,0,r._22(e,139).transform("send.value-label"))),t(e,148,0,r._32(e,148,0,t(e,149,0,r._22(e,0),n.autoShareValue,"1.0-2"))),t(e,152,1,[r._22(e,154).tabIndex,r._22(e,154).disabled,r._22(e,154).max,r._22(e,154).min,r._22(e,154).value,r._22(e,154).vertical?"vertical":"horizontal",r._22(e,154).disabled,r._22(e,154).tickInterval,!r._22(e,154).vertical,r._22(e,154)._invertAxis,r._22(e,154)._isSliding,r._22(e,154).thumbLabel,r._22(e,154).vertical,r._22(e,154)._isMinValue,r._22(e,154).disabled||r._22(e,154)._isMinValue&&r._22(e,154)._thumbGap&&r._22(e,154)._invertAxis]),t(e,165,0,r._32(e,165,0,r._22(e,166).transform("send.preview-button"))),t(e,170,0,r._32(e,170,0,r._22(e,171).transform("send.send-button")))})}var B_=function(){function t(t){var e=this;this.priceService=t,this.showInputsOutputs=!1,this.subscription=this.priceService.price.subscribe(function(t){return e.price=t})}return t.prototype.ngOnInit=function(){var t=this;this.isPreview&&(this.transaction.hoursSent=this.transaction.outputs.filter(function(e){return t.transaction.to.find(function(t){return t===e.address})}).map(function(t){return parseInt(t.hours,10)}).reduce(function(t,e){return t+e},0))},t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t.prototype.toggleInputsOutputs=function(t){t.preventDefault(),this.showInputsOutputs=!this.showInputsOutputs},t}(),z_=r._7({encapsulation:0,styles:[["h4[_ngcontent-%COMP%]{font-size:14px;margin:0 0 30px}.-item[_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:13px}.-item[_ngcontent-%COMP%]:not(:last-child){margin-bottom:10px}.-item[_ngcontent-%COMP%] .-number[_ngcontent-%COMP%]{padding:10px;background:#f7f7f7;-ms-flex-item-align:start;align-self:flex-start;border-radius:10px}.-item[_ngcontent-%COMP%] .-info[_ngcontent-%COMP%]{margin-left:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.-item[_ngcontent-%COMP%] .-info[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%]{padding:10px 0;margin-bottom:5px}.-data[_ngcontent-%COMP%]{font-size:12px}.-data[_ngcontent-%COMP%]:not(:last-child){margin-bottom:5px}.-data[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child{color:rgba(30,34,39,.5);display:inline-block;width:60px}.-data.-more[_ngcontent-%COMP%]{margin-bottom:0!important}.-data.-more[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{width:auto!important;margin-top:30px;color:#0072ff;cursor:pointer}.-data.-more[_ngcontent-%COMP%] span[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{display:inline;vertical-align:middle;font-size:13px}.-tx-meta[_ngcontent-%COMP%] .-data[_ngcontent-%COMP%]:not(:last-child){margin-bottom:10px}.-tx-price[_ngcontent-%COMP%]{text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.-tx-price[_ngcontent-%COMP%] .-icon.-incoming[_ngcontent-%COMP%]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.-tx-price[_ngcontent-%COMP%] .-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:30px}.-tx-price[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#1e2227;font-size:16px;font-weight:700;margin:10px 0 5px}.-tx-price[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:rgba(30,34,39,.5);font-size:12px;margin:0}.-tx-price[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:rgba(121,135,152,.5)}.-margin-top[_ngcontent-%COMP%]{margin-top:30px}"]],data:{}});function W_(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"h4",[],null,null,null,null,null)),(t()(),r._31(1,null,["",""])),r._25(131072,yp.i,[yp.j,r.h])],null,function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("tx.confirm-transaction")))})}function U_(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"h4",[],null,null,null,null,null)),(t()(),r._31(1,null,["",""])),r._25(131072,yp.i,[yp.j,r.h])],null,function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("tx.transaction")))})}function G_(t){return r._33(0,[(t()(),r._9(0,0,null,null,15,null,null,null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,5,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(5,null,["",":"])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(7,null,[" ","\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,5,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(11,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(12,null,["",":"])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(14,null,[" ","\n "])),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){var n=e.component;t(e,5,0,r._32(e,5,0,r._22(e,6).transform("tx.from"))),t(e,7,0,n.transaction.from),t(e,12,0,r._32(e,12,0,r._22(e,13).transform("tx.to"))),t(e,14,0,n.transaction.to.join(", "))})}function J_(t){return r._33(0,[(t()(),r._9(0,0,null,null,17,null,null,null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,6,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(5,null,["",":"])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(7,null,[" ","\n "])),r._27(8,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,6,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(13,null,["",":"])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(15,null,[" ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){var n=e.component;t(e,5,0,r._32(e,5,0,r._22(e,6).transform("tx.date"))),t(e,7,0,r._32(e,7,0,t(e,8,0,r._22(e.parent,0),1e3*n.transaction.timestamp,"short"))),t(e,13,0,r._32(e,13,0,r._22(e,14).transform("tx.status"))),t(e,15,0,r._32(e,15,0,r._22(e,16).transform(n.transaction.confirmed?"tx.confirmed":"tx.pending")))})}function q_(t){return r._33(0,[(t()(),r._9(0,0,null,null,9,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(3,null,["",":"])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(5,null,["\n "," ","\n |\n "," ","\n "])),r._27(6,2),r._25(131072,yp.i,[yp.j,r.h]),r._27(8,2),r._25(131072,yp.i,[yp.j,r.h])],null,function(t,e){var n=e.component;t(e,3,0,r._32(e,3,0,r._22(e,4).transform("tx.hours"))),t(e,5,0,r._32(e,5,0,t(e,6,0,r._22(e.parent,1),n.transaction.hoursSent,"1.0-6")),r._32(e,5,1,r._22(e,7).transform("tx.hours-sent")),r._32(e,5,2,t(e,8,0,r._22(e.parent,1),n.transaction.hoursBurned,"1.0-6")),r._32(e,5,3,r._22(e,9).transform("tx.hours-burned")))})}function Q_(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._31(-1,null,["*"]))],null,null)}function K_(t){return r._33(0,[(t()(),r._9(0,16777216,null,null,7,"p",[],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,1).show()&&i),"keydown"===e&&(i=!1!==r._22(t,1)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,1).hide(1500)&&i),i},null,null)),r._8(1,147456,null,0,Wu,[eo,r.l,pi,r.R,r.B,ei,xo,Do,Bu,[2,vi]],{message:[0,"message"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(3,null,["\n ",""])),r._27(4,4),(t()(),r._4(16777216,null,null,1,null,Q_)),r._8(6,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(0,null,null,0))],function(t,e){var n=e.component;t(e,1,0,n.isPreview?"":r._32(e,1,0,r._22(e,2).transform("tx.current-rate"))),t(e,6,0,!n.isPreview)},function(t,e){var n=e.component;t(e,3,0,r._32(e,3,0,t(e,4,0,r._22(e.parent,2),n.transaction.balance*n.price,"USD","symbol","1.2-2")))})}function X_(t){return r._33(0,[(t()(),r._9(0,0,null,null,9,"div",[["class","-data -more"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,6,"span",[],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.toggleInputsOutputs(n)&&r),r},null,null)),(t()(),r._31(3,null,["\n "," "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._9(5,0,null,null,2,"mat-icon",[["class","mat-icon"],["role","img"]],null,null,null,Zp,Xp)),r._8(6,638976,null,0,gu,[r.l,pu,[8,null]],null,null),(t()(),r._31(-1,0,["keyboard_arrow_down"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,6,0)},function(t,e){t(e,3,0,r._32(e,3,0,r._22(e,4).transform("tx.show-more")))})}function Z_(t){return r._33(0,[(t()(),r._9(0,0,null,null,6,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(3,null,["",":"])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(5,null,[" ","\n "])),r._27(6,2)],null,function(t,e){t(e,3,0,r._32(e,3,0,r._22(e,4).transform("tx.hours"))),t(e,5,0,r._32(e,5,0,t(e,6,0,r._22(e.parent.parent.parent,1),e.parent.context.$implicit.calculated_hours,"1.0-6")))})}function $_(t){return r._33(0,[(t()(),r._9(0,0,null,null,21,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"div",[["class","-number"]],null,null,null,null,null)),(t()(),r._31(3,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,15,"div",[["class","-info"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,1,"div",[["class","-address"]],null,null,null,null,null)),(t()(),r._31(8,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,6,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(13,null,["",":"])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(15,null,[" ","\n "])),r._27(16,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Z_)),r._8(19,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,19,0,e.component.isPreview)},function(t,e){var n=e.component;t(e,3,0,e.context.index+1),t(e,8,0,n.isPreview?e.context.$implicit.address:e.context.$implicit.owner),t(e,13,0,r._32(e,13,0,r._22(e,14).transform("tx.coins"))),t(e,15,0,r._32(e,15,0,t(e,16,0,r._22(e.parent.parent,1),e.context.$implicit.coins,"1.0-6")))})}function tm(t){return r._33(0,[(t()(),r._9(0,0,null,null,6,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(3,null,["",":"])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(5,null,[" ","\n "])),r._27(6,2)],null,function(t,e){t(e,3,0,r._32(e,3,0,r._22(e,4).transform("tx.hours"))),t(e,5,0,r._32(e,5,0,t(e,6,0,r._22(e.parent.parent.parent,1),e.parent.context.$implicit.hours,"1.0-6")))})}function em(t){return r._33(0,[(t()(),r._9(0,0,null,null,21,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"div",[["class","-number"]],null,null,null,null,null)),(t()(),r._31(3,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,15,"div",[["class","-info"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,1,"div",[["class","-address"]],null,null,null,null,null)),(t()(),r._31(8,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,6,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(13,null,["",":"])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(15,null,[" ","\n "])),r._27(16,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,tm)),r._8(19,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,19,0,e.component.isPreview)},function(t,e){var n=e.component;t(e,3,0,e.context.index+1),t(e,8,0,n.isPreview?e.context.$implicit.address:e.context.$implicit.dst),t(e,13,0,r._32(e,13,0,r._22(e,14).transform("tx.coins"))),t(e,15,0,r._32(e,15,0,t(e,16,0,r._22(e.parent.parent,1),e.context.$implicit.coins,"1.0-6")))})}function nm(t){return r._33(0,[(t()(),r._9(0,0,null,null,21,null,null,null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,8,"div",[["class","col-md-6 -margin-top"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,2,"h4",[],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,$_)),r._8(9,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,8,"div",[["class","col-md-6 -margin-top"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,2,"h4",[],null,null,null,null,null)),(t()(),r._31(15,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,em)),r._8(19,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){var n=e.component;t(e,9,0,n.transaction.inputs),t(e,19,0,n.transaction.outputs)},function(t,e){t(e,5,0,r._32(e,5,0,r._22(e,6).transform("tx.inputs"))),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("tx.outputs")))})}function rm(t){return r._33(0,[r._25(0,ct,[r.w]),r._25(0,St,[r.w]),r._25(0,Ot,[r.w]),(t()(),r._9(3,0,null,null,53,"div",[["class","row"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,23,"div",[["class","col-md-9 -tx-meta"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,W_)),r._8(8,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,U_)),r._8(11,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,G_)),r._8(14,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,J_)),r._8(17,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,q_)),r._8(20,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(22,0,null,null,5,"div",[["class","-data"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(24,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(25,null,["",":"])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(27,null,[" ","\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(30,0,null,null,16,"div",[["class","col-md-3 -tx-price"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(32,0,null,null,5,"div",[["class","-icon"]],null,null,null,null,null)),r._8(33,278528,null,0,I,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(34,{"-incoming":0}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(36,0,null,null,0,"img",[["src","/assets/img/send-blue.png"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(39,0,null,null,3,"h4",[],null,null,null,null,null)),(t()(),r._31(40,null,[""," ",""])),r._27(41,2),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,K_)),r._8(45,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(48,0,null,null,4,"div",[["class","col-md-12"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,X_)),r._8(51,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,nm)),r._8(55,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,8,0,n.isPreview),t(e,11,0,!n.isPreview),t(e,14,0,n.isPreview),t(e,17,0,!n.isPreview),t(e,20,0,n.isPreview),t(e,33,0,"-icon",t(e,34,0,!n.isPreview&&n.transaction.balance>0)),t(e,45,0,n.price),t(e,51,0,!n.showInputsOutputs),t(e,55,0,n.showInputsOutputs)},function(t,e){var n=e.component;t(e,25,0,r._32(e,25,0,r._22(e,26).transform("tx.id"))),t(e,27,0,n.transaction.txid),t(e,40,0,r._32(e,40,0,t(e,41,0,r._22(e,1),n.transaction.balance,"1.0-6")),r._32(e,40,1,r._22(e,42).transform("common.coin-id")))})}var im=function(){function t(t,e){this.walletService=t,this.snackbar=e,this.onBack=new r.o}return t.prototype.ngOnDestroy=function(){this.snackbar.dismiss()},t.prototype.send=function(){var t=this;this.sendButton.isLoading()||(this.snackbar.dismiss(),this.sendButton.resetState(),this.sendButton.setLoading(),this.backButton.setDisabled(),this.walletService.injectTransaction(this.transaction.encoded).subscribe(function(){t.sendButton.setSuccess(),t.sendButton.setDisabled(),t.walletService.startDataRefreshSubscription(),setTimeout(function(){t.onBack.emit(!0)},3e3)},function(e){kc(t.snackbar,e),t.sendButton.setError(e),t.backButton.setEnabled()}))},t.prototype.back=function(){this.onBack.emit(!1)},t}(),om=r._7({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{margin-top:10px;text-align:center}"]],data:{}});function sm(t){return r._33(0,[r._29(402653184,1,{sendButton:0}),r._29(402653184,2,{backButton:0}),(t()(),r._9(2,0,null,null,1,"app-transaction-info",[],null,null,null,rm,z_)),r._8(3,245760,null,0,B_,[Cp],{transaction:[0,"transaction"],isPreview:[1,"isPreview"]},null),(t()(),r._31(-1,null,["\n\n"])),(t()(),r._9(5,0,null,null,11,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,3,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.back()&&r),r},Of,Lf)),r._8(8,49152,[[2,4],["backButton",4]],0,xc,[],null,{action:"action"}),(t()(),r._31(9,0,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,3,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.send()&&r),r},Of,Lf)),r._8(13,49152,[[1,4],["sendButton",4]],0,xc,[],null,{action:"action"}),(t()(),r._31(14,0,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){t(e,3,0,e.component.transaction,!0)},function(t,e){t(e,9,0,r._32(e,9,0,r._22(e,10).transform("send.back-button"))),t(e,14,0,r._32(e,14,0,r._22(e,15).transform("send.send-button")))})}var lm=r._7({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{text-align:center}.-paper[_ngcontent-%COMP%]{background-color:#fbfbfb;border-radius:10px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);padding:30px;margin:30px}"]],data:{}});function am(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-send-form",[],null,[[null,"onFormSubmitted"]],function(t,e,n){var r=!0;return"onFormSubmitted"===e&&(r=!1!==t.component.onFormSubmitted(n)&&r),r},__,p_)),r._8(1,245760,null,0,h_,[Kl,$r,Ns,_c,Sc],{formData:[0,"formData"]},{onFormSubmitted:"onFormSubmitted"})],function(t,e){t(e,1,0,e.component.formData)},null)}function um(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-send-form-advanced",[],null,[[null,"onFormSubmitted"]],function(t,e,n){var r=!0;return"onFormSubmitted"===e&&(r=!1!==t.component.onFormSubmitted(n)&&r),r},V_,E_)),r._8(1,245760,null,0,P_,[$r,Kl,Ns,_c,Sc],{formData:[0,"formData"]},{onFormSubmitted:"onFormSubmitted"})],function(t,e){t(e,1,0,e.component.formData)},null)}function cm(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-send-preview",[],null,[[null,"onBack"]],function(t,e,n){var r=!0;return"onBack"===e&&(r=!1!==t.component.onBack(n)&&r),r},sm,om)),r._8(1,180224,null,0,im,[$r,_c],{transaction:[0,"transaction"]},{onBack:"onBack"})],function(t,e){t(e,1,0,e.component.transaction)},null)}function dm(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-header",[],null,null,null,i_,Vf)),r._8(1,245760,null,0,Nf,[Ap,rr,_p,Cp,$r,Wn,yp.j],{headline:[0,"headline"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(4,0,null,null,13,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,10,"div",[["class","-paper"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,am)),r._8(9,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,um)),r._8(12,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,cm)),r._8(15,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,1,0,r._32(e,1,0,r._22(e,2).transform("title.wallets"))),t(e,9,0,n.showForm&&n.activeForm===n.activeForms.LeftButton),t(e,12,0,n.showForm&&n.activeForm===n.activeForms.RightButton),t(e,15,0,!n.showForm)},null)}var hm=r._5("app-send-skycoin",Dc,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-send-skycoin",[],null,null,null,dm,lm)),r._8(1,180224,null,0,Dc,[Sc],null,null)],null,null)},{},{},[]),pm=function(){this.isLoading=!0},fm=r._7({encapsulation:0,styles:[[".-content[_ngcontent-%COMP%]{text-align:center;margin:50px 0;color:rgba(30,34,39,.5);font-size:13px}.-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-top:15px}.-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:rgba(30,34,39,.2);font-size:40px}.-content[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{display:inline-block}.-content[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%] circle{stroke:rgba(30,34,39,.2)}"]],data:{}});function _m(t){return r._33(0,[(t()(),r._9(0,0,null,null,8,"div",[],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["mode","indeterminate"],["role","progressbar"]],[[4,"width","px"],[4,"height","px"]],null,null,xf,kf)),r._8(3,573440,null,0,Xu,[r.l,ei,[2,Pt]],{diameter:[0,"diameter"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(6,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,3,0,40)},function(t,e){t(e,2,0,r._22(e,3)._elementSize,r._22(e,3)._elementSize),t(e,6,0,r._32(e,6,0,r._22(e,7).transform("common.loading")))})}function mm(t){return r._33(0,[(t()(),r._9(0,0,null,null,8,"div",[],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"i",[["class","material-icons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["announcement"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(6,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){var n=e.component;t(e,6,0,r._32(e,6,0,r._22(e,7).transform(n.noDataText)))})}function gm(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"div",[["class","-content"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,_m)),r._8(3,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,mm)),r._8(6,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0,n.isLoading),t(e,6,0,!n.isLoading)},null)}var ym=r._7({encapsulation:0,styles:[[".-paper[_ngcontent-%COMP%]{background-color:#fbfbfb;border-radius:10px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);margin:30px}.-transaction[_ngcontent-%COMP%]{background-color:#fafafa;border-bottom:1px solid #eff0f0;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;padding:20px 12px}.-transaction[_ngcontent-%COMP%]:first-child{border-top-left-radius:15px;border-top-right-radius:15px}.-transaction[_ngcontent-%COMP%]:last-child{border-bottom-left-radius:15px;border-bottom-right-radius:15px}.-transaction[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{padding:0 8px}.-transaction[_ngcontent-%COMP%] .-icon[_ngcontent-%COMP%]{margin-top:5px}.-transaction[_ngcontent-%COMP%] .-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:32px}.-transaction[_ngcontent-%COMP%] .-icon.-incoming[_ngcontent-%COMP%]{-webkit-transform:scaleX(-1);transform:scaleX(-1);-webkit-filter:FlipH;filter:FlipH;-ms-filter:FlipH}.-transaction[_ngcontent-%COMP%] .-icon.-pending[_ngcontent-%COMP%]{opacity:.5}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%]{-webkit-box-flex:1;-ms-flex:1;flex:1}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#1e2227;font-size:13px;font-weight:700;line-height:15px;margin:0 0 8px}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:10px;line-height:12px;padding-left:5px;font-weight:300}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] .-pending[_ngcontent-%COMP%]{color:#fdb51e}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] .-timestamp[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] .-item[_ngcontent-%COMP%]:not(:last-child){margin-bottom:5px}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] .-item[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{display:inline-block;height:17px;vertical-align:middle;width:17px;margin-right:4px}.-transaction[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%] .-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:rgba(30,34,39,.5);display:inline-block;font-size:13px;line-height:15px;margin:0}.-transaction[_ngcontent-%COMP%] .-balance[_ngcontent-%COMP%]{width:200px;text-align:right}.-transaction[_ngcontent-%COMP%] .-balance[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#1e2227;font-size:13px;font-weight:700;line-height:15px;margin:0 0 8px}.-transaction[_ngcontent-%COMP%] .-balance[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:rgba(30,34,39,.5);display:inline-block;font-size:13px;line-height:15px;margin:0}.-transaction[_ngcontent-%COMP%] .-balance[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:rgba(121,135,152,.5)}"]],data:{}});function vm(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-loading-content",[["noDataText","history.no-txs"]],null,null,null,gm,fm)),r._8(1,49152,null,0,pm,[],{isLoading:[0,"isLoading"],noDataText:[1,"noDataText"]},null)],function(t,e){t(e,1,0,!e.component.transactions,"history.no-txs")},null)}function bm(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"h4",[],null,null,null,null,null)),(t()(),r._31(1,null,["\n "," ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._9(4,0,null,null,2,"span",[["class","-timestamp"]],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),r._27(6,2),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("history.sent")),r._32(e,1,1,r._22(e,3).transform("common.coin-id"))),t(e,5,0,r._32(e,5,0,t(e,6,0,r._22(e.parent.parent.parent.parent,0),1e3*e.parent.parent.context.$implicit.timestamp,"short")))})}function wm(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"h4",[],null,null,null,null,null)),(t()(),r._31(1,null,["\n "," ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._9(4,0,null,null,2,"span",[["class","-pending"]],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("history.sending")),r._32(e,1,1,r._22(e,3).transform("common.coin-id"))),t(e,5,0,r._32(e,5,0,r._22(e,6).transform("history.pending")))})}function Mm(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"h4",[],null,null,null,null,null)),(t()(),r._31(1,null,["\n "," ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._9(4,0,null,null,2,"span",[["class","-timestamp"]],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),r._27(6,2),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("history.received")),r._32(e,1,1,r._22(e,3).transform("common.coin-id"))),t(e,5,0,r._32(e,5,0,t(e,6,0,r._22(e.parent.parent.parent.parent,0),1e3*e.parent.parent.context.$implicit.timestamp,"short")))})}function km(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"h4",[],null,null,null,null,null)),(t()(),r._31(1,null,["\n "," ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._9(4,0,null,null,2,"span",[["class","-pending"]],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("history.receiving")),r._32(e,1,1,r._22(e,3).transform("common.coin-id"))),t(e,5,0,r._32(e,5,0,r._22(e,6).transform("history.pending")))})}function xm(t){return r._33(0,[(t()(),r._9(0,0,null,null,6,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,0,"img",[["class","qr-code-button"],["src","../../../../assets/img/qr-code-black.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.showQrCode(n,t.context.$implicit)&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,5,0,e.context.$implicit)})}function Lm(t){return r._33(0,[(t()(),r._9(0,16777216,null,null,7,"p",[],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,1).show()&&i),"keydown"===e&&(i=!1!==r._22(t,1)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,1).hide(1500)&&i),i},null,null)),r._8(1,147456,null,0,Wu,[eo,r.l,pi,r.R,r.B,ei,xo,Do,Bu,[2,vi]],{message:[0,"message"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(3,null,["\n ",""])),r._27(4,4),(t()(),r._9(5,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),r._31(-1,null,["*"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(0,null,null,0))],function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("tx.current-rate")))},function(t,e){var n=e.component;t(e,3,0,r._32(e,3,0,t(e,4,0,r._22(e.parent.parent.parent.parent,2),e.parent.parent.context.$implicit.balance*n.price,"USD","symbol","1.2-2")))})}function Cm(t){return r._33(0,[(t()(),r._9(0,0,null,null,37,"div",[["class","-transaction"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.showTransaction(t.parent.context.$implicit)&&r),r},null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,5,"div",[["class","-icon"]],null,null,null,null,null)),r._8(3,278528,null,0,I,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(4,{"-incoming":0,"-pending":1}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,0,"img",[["src","/assets/img/send-blue.png"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,16,"div",[["class","-address"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,bm)),r._8(12,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,wm)),r._8(15,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Mm)),r._8(18,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,km)),r._8(21,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,xm)),r._8(24,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(27,0,null,null,9,"div",[["class","-balance"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(29,0,null,null,3,"h4",[],null,null,null,null,null)),(t()(),r._31(30,null,[""," ",""])),r._27(31,2),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Lm)),r._8(35,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){var n=e.component;t(e,3,0,"-icon",t(e,4,0,e.parent.context.$implicit.balance>0,!e.parent.context.$implicit.confirmed)),t(e,12,0,e.parent.context.$implicit.balance<0&&e.parent.context.$implicit.confirmed),t(e,15,0,e.parent.context.$implicit.balance<0&&!e.parent.context.$implicit.confirmed),t(e,18,0,e.parent.context.$implicit.balance>0&&e.parent.context.$implicit.confirmed),t(e,21,0,e.parent.context.$implicit.balance>0&&!e.parent.context.$implicit.confirmed),t(e,24,0,e.parent.context.$implicit.addresses),t(e,35,0,n.price)},function(t,e){t(e,30,0,r._32(e,30,0,t(e,31,0,r._22(e.parent.parent.parent,1),e.parent.context.$implicit.balance,"1.0-6")),r._32(e,30,1,r._22(e,32).transform("common.coin-id")))})}function Sm(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Cm)),r._8(3,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,3,0,0!==e.context.$implicit.balance)},null)}function Tm(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[["class","-paper"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Sm)),r._8(3,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,3,0,e.component.transactions)},null)}function Om(t){return r._33(0,[r._25(0,ct,[r.w]),r._25(0,St,[r.w]),r._25(0,Ot,[r.w]),(t()(),r._9(3,0,null,null,2,"app-header",[],null,null,null,i_,Vf)),r._8(4,245760,null,0,Nf,[Ap,rr,_p,Cp,$r,Wn,yp.j],{headline:[0,"headline"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(7,0,null,null,7,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,vm)),r._8(10,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,Tm)),r._8(13,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,4,0,r._32(e,4,0,r._22(e,5).transform("title.transactions"))),t(e,10,0,!n.transactions||0===n.transactions.length),t(e,13,0,n.transactions&&n.transactions.length>0)},null)}var Dm=r._5("app-transaction-list",Tp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-transaction-list",[],null,null,null,Om,ym)),r._8(1,245760,null,0,Tp,[Ns,Cp,$r],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Ym=function(){function t(){this.statuses=["done","waiting_confirm","waiting_deposit","waiting_send"]}return t.prototype.transform=function(t){return this.statuses.find(function(e){return e===t})?"teller."+t.replace("_","-"):"teller.unknown"},t}(),Pm=r._7({encapsulation:0,styles:[[".-background-container[_ngcontent-%COMP%]{background-color:#fbfbfb;padding-top:30px;max-width:100%;min-height:calc(100% - 190px);overflow:hidden;position:relative}.-background-image[_ngcontent-%COMP%]{display:none}@media (min-width:768px){.-background-image[_ngcontent-%COMP%]{display:block;left:50%;width:80%;position:absolute;top:0}}@media (min-width:992px){.-background-image[_ngcontent-%COMP%]{left:40%;width:90%;max-width:850px}}@media (min-width:1200px){.-background-image[_ngcontent-%COMP%]{left:40%;width:80%;max-width:850px}}.-paper[_ngcontent-%COMP%]{background-color:#fbfbfb;border-radius:10px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);padding:30px;position:relative;margin-top:30px;max-width:540px;z-index:5}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:30px}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-number[_ngcontent-%COMP%]{width:60px}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-number[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{border-radius:50%;color:#fff;display:inline-block;font-size:16px;font-weight:700;height:40px;line-height:46px;text-align:center;width:40px}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%]{-webkit-box-flex:1;-ms-flex:1 1;flex:1 1}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] button{margin-left:0}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#1e2227;font-size:16px;font-weight:700;margin:0;line-height:46px}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:rgba(30,34,39,.8);font-size:14px;font-weight:300;line-height:20px;margin-top:0}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .-address[_ngcontent-%COMP%], .-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .-status[_ngcontent-%COMP%]{background-color:#fff;border:2px solid rgba(0,0,0,.05);border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(30,34,39,.8);display:block;font-size:14px;line-height:20px;margin-bottom:15px;padding:10px;width:100%}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .-coins[_ngcontent-%COMP%]{color:#0072ff}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%]{margin-bottom:15px}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .-subtitle[_ngcontent-%COMP%]{color:#8c8e90;font-size:12px;line-height:18px;font-weight:300;opacity:.8}.-paper[_ngcontent-%COMP%] .-step[_ngcontent-%COMP%] .-instructions[_ngcontent-%COMP%] .-wallet[_ngcontent-%COMP%]{color:rgba(30,34,39,.8);font-size:14px}"]],data:{}});function Em(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"option",[],null,null,null,null,null)),r._8(1,147456,null,0,pl,[r.l,r.G,[2,hl]],{value:[0,"value"]},null),r._8(2,147456,null,0,ml,[r.l,r.G,[8,null]],{value:[0,"value"]},null),(t()(),r._31(3,null,["\n "," - "])),(t()(),r._9(4,0,null,null,2,"span",[["class","-coins"]],null,null,null,null,null)),(t()(),r._31(5,null,[""," ",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,1,0,e.context.$implicit.filename),t(e,2,0,e.context.$implicit.filename)},function(t,e){t(e,3,0,e.context.$implicit.label),t(e,5,0,e.context.$implicit.coins,r._32(e,5,1,r._22(e,6).transform("common.coin-id")))})}function Am(t){return r._33(0,[(t()(),r._9(0,0,null,null,26,"div",[["class","-step"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,4,"div",[["class","-number"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,1,"span",[["class","primary-gradient-background"]],null,null,null,null,null)),(t()(),r._31(-1,null,["2"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,17,"div",[["class","-instructions flex-fill"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"h3",[],null,null,null,null,null)),(t()(),r._31(11,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,3,"p",[],null,null,null,null,null)),(t()(),r._31(15,null,["",""])),r._26(16,{rate:0}),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(19,0,null,null,1,"span",[["class","-address"]],null,null,null,null,null)),(t()(),r._31(20,null,["\n ","\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(22,0,null,null,2,"span",[["class","-subtitle"]],null,null,null,null,null)),(t()(),r._31(23,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){var n=e.component;t(e,11,0,r._32(e,11,0,r._22(e,12).transform("buy.send"))),t(e,15,0,r._32(e,15,0,r._22(e,17).transform("buy.send-desc",t(e,16,0,n.config.sky_btc_exchange_rate)))),t(e,20,0,n.order.deposit_address),t(e,23,0,r._32(e,23,0,r._22(e,24).transform("buy.fraction-warning")))})}function jm(t){return r._33(0,[(t()(),r._9(0,0,null,null,34,"div",[["class","-step"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,4,"div",[["class","-number"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,1,"span",[["class","primary-gradient-background"]],null,null,null,null,null)),(t()(),r._31(-1,null,["3"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,25,"div",[["class","-instructions flex-fill"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"h3",[],null,null,null,null,null)),(t()(),r._31(11,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(15,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(18,0,null,null,4,"span",[["class","-status"]],null,null,null,null,null)),(t()(),r._31(19,null,["\n "," ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),r._27(21,1),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(24,0,null,null,3,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.checkStatus()&&r),r},Of,Lf)),r._8(25,49152,[[1,4],["button",4]],0,xc,[],null,{action:"action"}),(t()(),r._31(26,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(29,0,null,null,3,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.removeOrder()&&r),r},Of,Lf)),r._8(30,49152,[[1,4],["button",4]],0,xc,[],null,{action:"action"}),(t()(),r._31(31,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){var n=e.component;t(e,11,0,r._32(e,11,0,r._22(e,12).transform("buy.receive"))),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("buy.receive-desc"))),t(e,19,0,r._32(e,19,0,r._22(e,20).transform("buy.status-button")),r._32(e,19,1,r._22(e,22).transform(r._32(e,19,1,t(e,21,0,r._22(e.parent.parent,0),n.order.status))))),t(e,26,0,r._32(e,26,0,r._22(e,27).transform("buy.check-status-button"))),t(e,31,0,r._32(e,31,0,r._22(e,32).transform("buy.new-order-button")))})}function Im(t){return r._33(0,[(t()(),r._9(0,0,null,null,59,"div",[["class","-paper"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,1).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,1).onReset()&&i),i},null,null)),r._8(1,540672,null,0,Wl,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,Us,null,[Wl]),r._8(3,16384,null,0,Yl,[Us],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,47,"div",[["class","-step"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,4,"div",[["class","-number"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,1,"span",[["class","primary-gradient-background"]],null,null,null,null,null)),(t()(),r._31(-1,null,["1"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(13,0,null,null,38,"div",[["class","-instructions flex-fill"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(15,0,null,null,2,"h3",[],null,null,null,null,null)),(t()(),r._31(16,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(19,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(20,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(23,0,null,null,23,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(25,0,null,null,20,"div",[["class","-select"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(27,0,null,null,17,"select",[["class","-wallet"],["formControlName","wallet"],["id","wallet"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"blur"]],function(t,e,n){var i=!0;return"change"===e&&(i=!1!==r._22(t,28).onChange(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,28).onTouched()&&i),i},null,null)),r._8(28,16384,null,0,hl,[r.G,r.l],null,null),r._8(29,16384,null,0,Ql,[],{required:[0,"required"]},null),r._28(1024,null,Js,function(t){return[t]},[Ql]),r._28(1024,null,$s,function(t){return[t]},[hl]),r._8(32,671744,null,0,ql,[[3,Us],[2,Js],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(34,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(36,0,null,null,4,"option",[["disabled",""],["selected",""]],null,null,null,null,null)),r._8(37,147456,null,0,pl,[r.l,r.G,[2,hl]],null,null),r._8(38,147456,null,0,ml,[r.l,r.G,[8,null]],null,null),(t()(),r._31(39,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Em)),r._8(43,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(48,0,null,null,2,"span",[["class","-subtitle"]],null,null,null,null,null)),(t()(),r._31(49,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Am)),r._8(55,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,jm)),r._8(58,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "]))],function(t,e){var n=e.component;t(e,1,0,n.form),t(e,29,0,""),t(e,32,0,"wallet"),t(e,43,0,n.wallets),t(e,55,0,n.order),t(e,58,0,n.order)},function(t,e){t(e,0,0,r._22(e,3).ngClassUntouched,r._22(e,3).ngClassTouched,r._22(e,3).ngClassPristine,r._22(e,3).ngClassDirty,r._22(e,3).ngClassValid,r._22(e,3).ngClassInvalid,r._22(e,3).ngClassPending),t(e,16,0,r._32(e,16,0,r._22(e,17).transform("buy.deposit-location"))),t(e,20,0,r._32(e,20,0,r._22(e,21).transform("buy.deposit-location-desc"))),t(e,27,0,r._22(e,29).required?"":null,r._22(e,34).ngClassUntouched,r._22(e,34).ngClassTouched,r._22(e,34).ngClassPristine,r._22(e,34).ngClassDirty,r._22(e,34).ngClassValid,r._22(e,34).ngClassInvalid,r._22(e,34).ngClassPending),t(e,39,0,r._32(e,39,0,r._22(e,40).transform("buy.make-choice"))),t(e,49,0,r._32(e,49,0,r._22(e,50).transform("buy.wallets-desc")))})}function Rm(t){return r._33(0,[r._25(0,Ym,[]),r._29(671088640,1,{button:0}),(t()(),r._9(2,0,null,null,1,"app-header",[],null,null,null,i_,Vf)),r._8(3,245760,null,0,Nf,[Ap,rr,_p,Cp,$r,Wn,yp.j],null,null),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(5,0,null,null,9,"div",[["class","-background-container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,6,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Im)),r._8(10,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,0,"img",[["class","-background-image"],["src","../../../../assets/img/otc-background.jpg"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0),t(e,10,0,n.config)},null)}var Hm=r._5("app-buy",Lp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-buy",[],null,null,null,Rm,Pm)),r._8(1,245760,null,0,Lp,[Kl,xp,_c,$r],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Fm=r._7({encapsulation:0,styles:[[".-paper[_ngcontent-%COMP%]{background-color:#fbfbfb;border-radius:15px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);padding:20px;font-size:13px;margin:30px 30px 0}.-paper[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:first-child{margin-top:0}.-paper[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{margin-bottom:0}.-text-muted[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}.-text-right[_ngcontent-%COMP%]{text-align:right}.-link[_ngcontent-%COMP%]{color:#0072ff;cursor:pointer}.-label[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}"]],data:{}});function Nm(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-loading-content",[["noDataText","backup.no-wallets"]],null,null,null,gm,fm)),r._8(1,49152,null,0,pm,[],{isLoading:[0,"isLoading"],noDataText:[1,"noDataText"]},null)],function(t,e){t(e,1,0,!1,"backup.no-wallets")},null)}function Vm(t){return r._33(0,[(t()(),r._9(0,0,null,null,14,"div",[["class","-row"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"div",[["class","-width-250 -label"]],[[1,"title",0]],null,null,null,null)),(t()(),r._31(3,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,1,"div",[["class","-width-150"]],null,null,null,null,null)),(t()(),r._31(6,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,5,"div",[["class","-flex-fill -text-right"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"span",[["class","-link"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.showSeed(t.context.$implicit)&&r),r},null,null)),(t()(),r._31(11,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,2,0,e.context.$implicit.label),t(e,3,0,e.context.$implicit.label),t(e,6,0,e.context.$implicit.filename),t(e,11,0,r._32(e,11,0,r._22(e,12).transform("backup.show-seed")))})}function Bm(t){return r._33(0,[(t()(),r._9(0,0,null,null,20,"div",[["class","-table"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,11,"div",[["class","-headers"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,2,"div",[["class","-width-250"]],null,null,null,null,null)),(t()(),r._31(5,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,2,"div",[["class","-width-150"]],null,null,null,null,null)),(t()(),r._31(9,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,0,"div",[["class","-flex-fill"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(15,0,null,null,4,"div",[["class","-body"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Vm)),r._8(18,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,18,0,e.component.onlyEncrypted)},function(t,e){t(e,5,0,r._32(e,5,0,r._22(e,6).transform("backup.wallet"))),t(e,9,0,r._32(e,9,0,r._22(e,10).transform("backup.filename")))})}function zm(t){return r._33(0,[(t()(),r._9(0,0,null,null,31,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,2,"app-header",[],null,null,null,i_,Vf)),r._8(3,245760,null,0,Nf,[Ap,rr,_p,Cp,$r,Wn,yp.j],{headline:[0,"headline"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._9(6,0,null,null,24,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,15,"div",[["class","-paper"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(11,null,[""," ",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(15,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(18,0,null,null,4,"p",[["class","-text-muted"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(20,0,null,null,1,"small",[],[[8,"innerHTML",1]],null,null,null,null)),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,Nm)),r._8(26,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,Bm)),r._8(29,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0,r._32(e,3,0,r._22(e,4).transform("title.backup"))),t(e,26,0,0===n.onlyEncrypted.length),t(e,29,0,n.onlyEncrypted.length>0)},function(t,e){var n=e.component;t(e,11,0,r._32(e,11,0,r._22(e,12).transform("backup.wallet-directory")),n.folder),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("backup.seed-warning"))),t(e,20,0,r._32(e,20,0,r._22(e,21).transform("backup.desc")))})}var Wm=r._5("app-backup",bp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-backup",[],null,null,null,zm,Fm)),r._8(1,245760,null,0,bp,[$r,Ns],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Um=function(){function t(){}return t.prototype.transform=function(t){return Yc.unix(t).format("YYYY-MM-DD HH:mm")},t}(),Gm=r._7({encapsulation:0,styles:[[".-wrapper[_ngcontent-%COMP%]{margin:30px}.-paper[_ngcontent-%COMP%]{background-color:#fbfbfb;border-radius:15px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);padding:20px;font-size:13px}.-item[_ngcontent-%COMP%]:not(:last-child){margin-bottom:20px}.-item[_ngcontent-%COMP%] .-key[_ngcontent-%COMP%]{color:rgba(30,34,39,.5);margin-bottom:5px}.-item[_ngcontent-%COMP%] .-value[_ngcontent-%COMP%]{word-break:break-all}"]],data:{}});function Jm(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-loading-content",[],null,null,null,gm,fm)),r._8(1,49152,null,0,pm,[],null,null)],null,null)}function qm(t){return r._33(0,[(t()(),r._9(0,0,null,null,101,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,98,"div",[["class","row -wrapper"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,36,"div",[["class","col-md-6"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,33,"div",[["class","-paper"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,9,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._31(11,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,2,"div",[["class","-value"]],null,null,null,null,null)),(t()(),r._31(15,null,["",""])),r._27(16,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(19,0,null,null,9,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(21,0,null,null,2,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._31(22,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(25,0,null,null,2,"div",[["class","-value"]],null,null,null,null,null)),(t()(),r._31(26,null,["",""])),r._27(27,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(30,0,null,null,8,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(32,0,null,null,2,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._31(33,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(36,0,null,null,1,"div",[["class","-value"]],null,null,null,null,null)),(t()(),r._31(37,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(42,0,null,null,57,"div",[["class","col-md-6"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(44,0,null,null,54,"div",[["class","-paper"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(46,0,null,null,51,"div",[["class","row"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(48,0,null,null,23,"div",[["class","col-md-6"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(50,0,null,null,9,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(52,0,null,null,2,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._31(53,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(56,0,null,null,2,"div",[["class","-value"]],null,null,null,null,null)),(t()(),r._31(57,null,["",""])),r._27(58,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(61,0,null,null,9,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(63,0,null,null,2,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._31(64,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(67,0,null,null,2,"div",[["class","-value"]],null,null,null,null,null)),(t()(),r._31(68,null,["",""])),r._27(69,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(73,0,null,null,23,"div",[["class","col-md-6"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(75,0,null,null,9,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(77,0,null,null,2,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._31(78,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(81,0,null,null,2,"div",[["class","-value"]],null,null,null,null,null)),(t()(),r._31(82,null,["",""])),r._27(83,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(86,0,null,null,9,"div",[["class","-item"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(88,0,null,null,2,"div",[["class","-key"]],null,null,null,null,null)),(t()(),r._31(89,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(92,0,null,null,2,"div",[["class","-value"]],null,null,null,null,null)),(t()(),r._31(93,null,["",""])),r._27(94,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){var n=e.component;t(e,11,0,r._32(e,11,0,r._22(e,12).transform("blockchain.blocks"))),t(e,15,0,r._32(e,15,0,t(e,16,0,r._22(e.parent,0),n.block.header.seq))),t(e,22,0,r._32(e,22,0,r._22(e,23).transform("blockchain.time"))),t(e,26,0,r._32(e,26,0,t(e,27,0,r._22(e.parent,1),n.block.header.timestamp))),t(e,33,0,r._32(e,33,0,r._22(e,34).transform("blockchain.hash"))),t(e,37,0,n.block.header.block_hash),t(e,53,0,r._32(e,53,0,r._22(e,54).transform("blockchain.current-supply"))),t(e,57,0,r._32(e,57,0,t(e,58,0,r._22(e.parent,0),n.coinSupply.current_supply))),t(e,64,0,r._32(e,64,0,r._22(e,65).transform("blockchain.total-supply"))),t(e,68,0,r._32(e,68,0,t(e,69,0,r._22(e.parent,0),n.coinSupply.total_supply))),t(e,78,0,r._32(e,78,0,r._22(e,79).transform("blockchain.current-coinhour-supply"))),t(e,82,0,r._32(e,82,0,t(e,83,0,r._22(e.parent,0),n.coinSupply.current_coinhour_supply))),t(e,89,0,r._32(e,89,0,r._22(e,90).transform("blockchain.total-coinhour-supply"))),t(e,93,0,r._32(e,93,0,t(e,94,0,r._22(e.parent,0),n.coinSupply.total_coinhour_supply)))})}function Qm(t){return r._33(0,[r._25(0,St,[r.w]),r._25(0,Um,[]),(t()(),r._9(2,0,null,null,11,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,2,"app-header",[],null,null,null,i_,Vf)),r._8(5,245760,null,0,Nf,[Ap,rr,_p,Cp,$r,Wn,yp.j],{headline:[0,"headline"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,Jm)),r._8(9,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,qm)),r._8(12,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,5,0,r._32(e,5,0,r._22(e,6).transform("title.blockchain"))),t(e,9,0,!(n.block&&n.block.header&&n.coinSupply)),t(e,12,0,n.block&&n.block.header&&n.coinSupply)},null)}var Km=r._5("app-blockchain",mp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-blockchain",[],null,null,null,Qm,Gm)),r._8(1,114688,null,0,mp,[_p],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Xm=function(){function t(){}return t.prototype.transform=function(t){return Yc.unix(t).fromNow()},t}(),Zm=r._7({encapsulation:0,styles:[[".-last-seen[_ngcontent-%COMP%], .-port[_ngcontent-%COMP%], .-source[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}.-direction[_ngcontent-%COMP%]{width:72px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.-direction[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:32px}.-direction[_ngcontent-%COMP%] img.-incoming[_ngcontent-%COMP%]{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.-last-seen[_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;font-size:12px;line-height:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.-last-seen[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:12px;display:inline;vertical-align:middle;padding-right:5px}.-trusted[_ngcontent-%COMP%]{display:inline;color:#0072ff;font-size:13px;vertical-align:middle}.-text-right[_ngcontent-%COMP%]{text-align:right}.-pl-0[_ngcontent-%COMP%]{padding-left:0!important}"]],data:{}});function $m(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-loading-content",[],null,null,null,gm,fm)),r._8(1,49152,null,0,pm,[],null,null)],null,null)}function tg(t){return r._33(0,[(t()(),r._9(0,0,null,null,46,"div",[["class","-row"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,7,"div",[["class","-direction"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,16777216,null,null,4,"img",[["src","/assets/img/send-blue.png"]],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,7).show()&&i),"keydown"===e&&(i=!1!==r._22(t,7)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,7).hide(1500)&&i),i},null,null)),r._8(5,278528,null,0,I,[r.u,r.v,r.l,r.G],{ngClass:[0,"ngClass"]},null),r._26(6,{"-incoming":0}),r._8(7,147456,null,0,Wu,[eo,r.l,pi,r.R,r.B,ei,xo,Do,Bu,[2,vi]],{message:[0,"message"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(11,0,null,null,4,"div",[["class","-width-200 -pl-0"]],null,null,null,null,null)),(t()(),r._31(12,null,["\n ",""])),(t()(),r._9(13,0,null,null,1,"span",[["class","-port"]],null,null,null,null,null)),(t()(),r._31(14,null,[":",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(17,0,null,null,2,"div",[["class","-flex-fill -source"]],null,null,null,null,null)),(t()(),r._31(18,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(21,0,null,null,1,"div",[["class","-width-150 -text-right"]],null,null,null,null,null)),(t()(),r._31(22,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(24,0,null,null,21,"div",[["class","-width-200 -last-seen"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(26,0,null,null,8,"div",[],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(28,16777216,null,null,4,"mat-icon",[["class","mat-icon"],["role","img"]],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,30).show()&&i),"keydown"===e&&(i=!1!==r._22(t,30)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,30).hide(1500)&&i),i},Zp,Xp)),r._8(29,638976,null,0,gu,[r.l,pu,[8,null]],null,null),r._8(30,147456,null,0,Wu,[eo,r.l,pi,r.R,r.B,ei,xo,Do,Bu,[2,vi]],{message:[0,"message"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["keyboard_arrow_up"])),(t()(),r._31(33,null,["\n ","\n "])),r._27(34,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(36,0,null,null,8,"div",[],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(38,16777216,null,null,4,"mat-icon",[["class","mat-icon"],["role","img"]],null,[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==r._22(t,40).show()&&i),"keydown"===e&&(i=!1!==r._22(t,40)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,40).hide(1500)&&i),i},Zp,Xp)),r._8(39,638976,null,0,gu,[r.l,pu,[8,null]],null,null),r._8(40,147456,null,0,Wu,[eo,r.l,pi,r.R,r.B,ei,xo,Do,Bu,[2,vi]],{message:[0,"message"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["keyboard_arrow_down"])),(t()(),r._31(43,null,["\n ","\n "])),r._27(44,1),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,5,0,t(e,6,0,!e.context.$implicit.outgoing)),t(e,7,0,r._32(e,7,0,r._22(e,8).transform(e.context.$implicit.outgoing?"network.out":"network.in"))),t(e,29,0),t(e,30,0,r._32(e,30,0,r._22(e,31).transform("network.last-sent"))),t(e,39,0),t(e,40,0,r._32(e,40,0,r._22(e,41).transform("network.last-received")))},function(t,e){t(e,12,0,e.context.$implicit.address.split(":")[0]),t(e,14,0,e.context.$implicit.listen_port),t(e,18,0,r._32(e,18,0,r._22(e,19).transform("network.sources."+e.context.$implicit.source))),t(e,22,0,e.context.$implicit.height),t(e,33,0,r._32(e,33,0,t(e,34,0,r._22(e.parent.parent,0),e.context.$implicit.last_sent))),t(e,43,0,r._32(e,43,0,t(e,44,0,r._22(e.parent.parent,0),e.context.$implicit.last_received)))})}function eg(t){return r._33(0,[(t()(),r._9(0,0,null,null,31,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,28,"div",[["class","-table"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,19,"div",[["class","-headers"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,0,"div",[["class","-direction"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,2,"div",[["class","-width-200 -pl-0"]],null,null,null,null,null)),(t()(),r._31(9,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,2,"div",[["class","-flex-fill"]],null,null,null,null,null)),(t()(),r._31(13,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,2,"div",[["class","-width-150 -text-right"]],null,null,null,null,null)),(t()(),r._31(17,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(20,0,null,null,2,"div",[["class","-width-200"]],null,null,null,null,null)),(t()(),r._31(21,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(25,0,null,null,4,"div",[["class","-body"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,tg)),r._8(28,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,28,0,e.component.peers)},function(t,e){t(e,9,0,r._32(e,9,0,r._22(e,10).transform("network.peer"))),t(e,13,0,r._32(e,13,0,r._22(e,14).transform("network.source"))),t(e,17,0,r._32(e,17,0,r._22(e,18).transform("network.block-height"))),t(e,21,0,r._32(e,21,0,r._22(e,22).transform("network.last-seen")))})}function ng(t){return r._33(0,[r._25(0,Xm,[]),(t()(),r._9(1,0,null,null,11,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(3,0,null,null,2,"app-header",[],null,null,null,i_,Vf)),r._8(4,245760,null,0,Nf,[Ap,rr,_p,Cp,$r,Wn,yp.j],{headline:[0,"headline"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,$m)),r._8(8,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,eg)),r._8(11,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,4,0,r._32(e,4,0,r._22(e,5).transform("title.network"))),t(e,8,0,!n.peers),t(e,11,0,n.peers)},null)}var rg=r._5("app-network",kp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-network",[],null,null,null,ng,Zm)),r._8(1,245760,null,0,kp,[Mp],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),ig=r._7({encapsulation:0,styles:[[".-text-right[_ngcontent-%COMP%]{text-align:right}.-grey[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}.-row.-small[_ngcontent-%COMP%]{height:40px;line-height:40px}.-hash[_ngcontent-%COMP%]{margin-left:27px}.-address[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}.-address[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:17px;vertical-align:middle;margin-right:10px}.-label[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}"]],data:{}});function og(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-loading-content",[["noDataText","errors.no-outputs"]],null,null,null,gm,fm)),r._8(1,49152,null,0,pm,[],{isLoading:[0,"isLoading"],noDataText:[1,"noDataText"]},null)],function(t,e){t(e,1,0,!e.component.wallets,"errors.no-outputs")},null)}function sg(t){return r._33(0,[(t()(),r._9(0,0,null,null,12,"div",[["class","-row -small"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"div",[["class","-flex-fill -hash"]],null,null,null,null,null)),(t()(),r._31(3,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,2,"div",[["class","-width-150 -text-right"]],null,null,null,null,null)),(t()(),r._31(6,null,["",""])),r._27(7,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,2,"div",[["class","-width-150 -text-right -grey"]],null,null,null,null,null)),(t()(),r._31(10,null,["",""])),r._27(11,2),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,3,0,e.context.$implicit.hash),t(e,6,0,r._32(e,6,0,t(e,7,0,r._22(e.parent.parent.parent.parent,0),e.context.$implicit.coins,"1.0-6"))),t(e,10,0,r._32(e,10,0,t(e,11,0,r._22(e.parent.parent.parent.parent,0),e.context.$implicit.calculated_hours,"1.0-6")))})}function lg(t){return r._33(0,[(t()(),r._9(0,0,null,null,12,null,null,null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,6,"div",[["class","-row"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,3,"div",[["class","-flex-fill -address"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,0,"img",[["class","qr-code-button"],["src","../../../../../assets/img/qr-code-black.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.showQrCode(n,t.context.$implicit.address)&&r),r},null,null)),(t()(),r._31(7,null,["\n ","\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,sg)),r._8(11,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,11,0,e.context.$implicit.outputs)},function(t,e){t(e,7,0,e.context.$implicit.address)})}function ag(t){return r._33(0,[(t()(),r._9(0,0,null,null,21,"div",[["class","-table"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,12,"div",[["class","-headers"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,1,"div",[["class","-flex-fill -label"]],[[1,"title",0]],null,null,null,null)),(t()(),r._31(5,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,2,"div",[["class","-width-150 -text-right"]],null,null,null,null,null)),(t()(),r._31(8,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(11,0,null,null,2,"div",[["class","-width-150 -text-right"]],null,null,null,null,null)),(t()(),r._31(12,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,4,"div",[["class","-body"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,lg)),r._8(19,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,19,0,e.context.$implicit.addresses)},function(t,e){t(e,4,0,e.context.$implicit.label),t(e,5,0,e.context.$implicit.label),t(e,8,0,r._32(e,8,0,r._22(e,9).transform("common.coin-id"))),t(e,12,0,r._32(e,12,0,r._22(e,13).transform("common.coin-hours")))})}function ug(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,ag)),r._8(3,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,3,0,e.component.wallets)},null)}function cg(t){return r._33(0,[r._25(0,St,[r.w]),(t()(),r._9(1,0,null,null,11,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(3,0,null,null,2,"app-header",[],null,null,null,i_,Vf)),r._8(4,245760,null,0,Nf,[Ap,rr,_p,Cp,$r,Wn,yp.j],{headline:[0,"headline"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,og)),r._8(8,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,ug)),r._8(11,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,4,0,r._32(e,4,0,r._22(e,5).transform("title.outputs"))),t(e,8,0,!n.wallets||0===n.wallets.length||0===n.wallets[0].addresses[0].outputs.length),t(e,11,0,n.wallets&&n.wallets.length>0)},null)}var dg=r._5("app-outputs",fp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-outputs",[],null,null,null,cg,ig)),r._8(1,180224,null,0,fp,[$r,$d,Ns],null,null)],null,null)},{},{},[]),hg=r._7({encapsulation:0,styles:[[".-timestamp[_ngcontent-%COMP%]{color:rgba(30,34,39,.5)}"]],data:{}});function pg(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-loading-content",[["noDataText","pending-txs.none"]],null,null,null,gm,fm)),r._8(1,49152,null,0,pm,[],{isLoading:[0,"isLoading"],noDataText:[1,"noDataText"]},null)],function(t,e){t(e,1,0,!e.component.transactions,"pending-txs.none")},null)}function fg(t){return r._33(0,[(t()(),r._9(0,0,null,null,12,"div",[["class","-row"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,1,"div",[["class","-flex-fill"]],null,null,null,null,null)),(t()(),r._31(3,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,2,"div",[["class","-width-150"]],null,null,null,null,null)),(t()(),r._31(6,null,["",""])),r._27(7,2),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,2,"div",[["class","-width-150 -timestamp"]],null,null,null,null,null)),(t()(),r._31(10,null,["",""])),r._27(11,1),(t()(),r._31(-1,null,["\n "]))],null,function(t,e){t(e,3,0,e.context.$implicit.txid),t(e,6,0,r._32(e,6,0,t(e,7,0,r._22(e.parent.parent,0),e.context.$implicit.amount,"1.0-6"))),t(e,10,0,r._32(e,10,0,t(e,11,0,r._22(e.parent.parent,1),e.context.$implicit.timestamp)))})}function _g(t){return r._33(0,[(t()(),r._9(0,0,null,null,25,"div",[["class","container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,22,"div",[["class","-table"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,13,"div",[["class","-headers"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,2,"div",[["class","-flex-fill"]],null,null,null,null,null)),(t()(),r._31(7,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,2,"div",[["class","-width-150"]],null,null,null,null,null)),(t()(),r._31(11,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,2,"div",[["class","-width-150"]],null,null,null,null,null)),(t()(),r._31(15,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(19,0,null,null,4,"div",[["class","-body"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,fg)),r._8(22,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,22,0,e.component.transactions)},function(t,e){t(e,7,0,r._32(e,7,0,r._22(e,8).transform("pending-txs.txid"))),t(e,11,0,r._32(e,11,0,r._22(e,12).transform("common.coin-id"))),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("pending-txs.timestamp")))})}function mg(t){return r._33(0,[r._25(0,St,[r.w]),r._25(0,Um,[]),(t()(),r._9(2,0,null,null,11,"div",[["class","sky-container sky-container-grey"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,2,"app-header",[],null,null,null,i_,Vf)),r._8(5,245760,null,0,Nf,[Ap,rr,_p,Cp,$r,Wn,yp.j],{headline:[0,"headline"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,pg)),r._8(9,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n "])),(t()(),r._4(16777216,null,null,1,null,_g)),r._8(12,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,5,0,r._32(e,5,0,r._22(e,6).transform("title.pending-txs"))),t(e,9,0,!n.transactions||0===n.transactions.length),t(e,12,0,n.transactions&&n.transactions.length>0)},null)}var gg=r._5("app-pending-transactions",Pc,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-pending-transactions",[],null,null,null,mg,hg)),r._8(1,245760,null,0,Pc,[$r,Sc],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),yg=function(){function t(t){this.dialogRef=t,this.acceptSafe=!1}return t.prototype.closePopup=function(){this.dialogRef.close(this.acceptSafe)},t.prototype.setAccept=function(t){this.acceptSafe=t.checked},t}(),vg=function(){function t(t,e,n){this.dialog=t,this.apiService=e,this.formBuilder=n,this.fill=null,this.onLabelAndSeedCreated=new r.o,this.doubleButtonActive=Tc.LeftButton}return t.prototype.ngOnInit=function(){this.initForm()},t.prototype.initForm=function(){this.form=this.formBuilder.group({label:new Il("",[Qs.required]),seed:new Il("",[Qs.required]),confirm_seed:new Il},{validator:this.showCreateForm?this.seedMatchValidator.bind(this):null}),this.fill?(this.form.get("label").setValue(this.fill.label),this.form.get("seed").setValue(this.fill.seed),this.form.get("confirm_seed").setValue(this.fill.seed),this.doubleButtonActive=this.fill.create?Tc.LeftButton:Tc.RightButton):this.showCreateForm&&this.generateSeed(128)},t.prototype.changeForm=function(t){this.doubleButtonActive=t,this.fill=null,this.initForm()},t.prototype.createWallet=function(){var t=this;this.showSafe().afterClosed().subscribe(function(e){e&&t.emitCreatedData()})},t.prototype.loadWallet=function(){this.emitCreatedData()},t.prototype.generateSeed=function(t){var e=this;this.apiService.generateSeed(t).subscribe(function(t){return e.form.get("seed").setValue(t)})},Object.defineProperty(t.prototype,"showCreateForm",{get:function(){return this.doubleButtonActive===Tc.LeftButton},enumerable:!0,configurable:!0}),t.prototype.emitCreatedData=function(){this.onLabelAndSeedCreated.emit([this.form.get("label").value,this.form.get("seed").value,this.doubleButtonActive===Tc.LeftButton])},t.prototype.seedMatchValidator=function(t){return t.get("seed").value===t.get("confirm_seed").value?null:{NotEqual:!0}},t.prototype.showSafe=function(){var t=new Ps;return t.width="450px",this.dialog.open(yg,t)},t}(),bg=r._7({encapsulation:0,styles:[[".-header[_ngcontent-%COMP%]{color:#fafafa;position:relative;margin-top:20px;margin-bottom:10px;line-height:30px;font-size:20px;text-align:center}.-description[_ngcontent-%COMP%]{line-height:25px;font-size:14px;text-align:center;color:#fafafa;mix-blend-mode:normal;opacity:.5}.-buttons-footer[_ngcontent-%COMP%]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;margin-bottom:20px}.-toggle-container[_ngcontent-%COMP%]{margin:10px auto}[_nghost-%COMP%] .-buttons-footer button{margin:2px 10px!important}.-text-align-center[_ngcontent-%COMP%]{text-align:center}label[for=seed][_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex}label[for=seed][_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-child{-webkit-box-flex:1;-ms-flex:1;flex:1}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%]{text-align:right}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:13px;height:10px;font-size:13px;position:relative;top:2px}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{padding:0 5px}"]],data:{}});function wg(t){return r._33(0,[(t()(),r._9(0,0,null,null,16,"span",[["class","generators"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,16777216,null,null,4,"span",[],null,[[null,"click"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0,o=t.component;return"longpress"===e&&(i=!1!==r._22(t,3).show()&&i),"keydown"===e&&(i=!1!==r._22(t,3)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,3).hide(1500)&&i),"click"===e&&(i=!1!==o.generateSeed(128)&&i),i},null,null)),r._8(3,147456,null,0,Wu,[eo,r.l,pi,r.R,r.B,ei,xo,Do,Bu,[2,vi]],{message:[0,"message"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(5,null,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,1,"span",[["class","divider"]],null,null,null,null,null)),(t()(),r._31(-1,null,["|"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(11,16777216,null,null,4,"span",[],null,[[null,"click"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0,o=t.component;return"longpress"===e&&(i=!1!==r._22(t,12).show()&&i),"keydown"===e&&(i=!1!==r._22(t,12)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,12).hide(1500)&&i),"click"===e&&(i=!1!==o.generateSeed(256)&&i),i},null,null)),r._8(12,147456,null,0,Wu,[eo,r.l,pi,r.R,r.B,ei,xo,Do,Bu,[2,vi]],{message:[0,"message"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(14,null,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,3,0,r._32(e,3,0,r._22(e,4).transform("wallet.new.generate-12-seed"))),t(e,12,0,r._32(e,12,0,r._22(e,13).transform("wallet.new.generate-24-seed")))},function(t,e){t(e,5,0,r._32(e,5,0,r._22(e,6).transform("wallet.new.12-words"))),t(e,14,0,r._32(e,14,0,r._22(e,15).transform("wallet.new.24-words")))})}function Mg(t){return r._33(0,[(t()(),r._9(0,0,null,null,101,"div",[["class","onboarding-container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,18,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(4,0,null,null,15,"div",[["class","col-sm-4"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,5,"div",[["class","-header"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(9,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(13,0,null,null,5,"div",[["class","-description"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(15,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(16,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(22,0,null,null,9,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(24,0,null,null,6,"div",[["class","col-sm-4 -toggle-container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(26,0,null,null,3,"app-double-button",[],null,[[null,"onStateChange"]],function(t,e,n){var r=!0;return"onStateChange"===e&&(r=!1!==t.component.changeForm(n)&&r),r},Yf,Df)),r._8(27,49152,null,0,Oc,[],{rightButtonText:[0,"rightButtonText"],leftButtonText:[1,"leftButtonText"],activeButton:[2,"activeButton"]},{onStateChange:"onStateChange"}),r._25(131072,yp.i,[yp.j,r.h]),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(33,0,null,null,59,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(35,0,null,null,56,"div",[["class","col-sm-4"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(37,0,null,null,53,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,39).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,39).onReset()&&i),i},null,null)),r._8(38,16384,null,0,Xl,[],null,null),r._8(39,540672,null,0,Wl,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,Us,null,[Wl]),r._8(41,16384,null,0,Yl,[Us],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(43,0,null,null,12,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(45,0,null,null,2,"label",[["for","label"]],null,null,null,null,null)),(t()(),r._31(46,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(49,0,null,null,5,"input",[["formControlName","label"],["id","label"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,50)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,50).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,50)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,50)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(50,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(52,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(54,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(57,0,null,null,18,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(59,0,null,null,8,"label",[["for","seed"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(61,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(62,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,wg)),r._8(66,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(69,0,null,null,5,"textarea",[["class","form-control"],["formControlName","seed"],["id","seed"],["rows","2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,70)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,70).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,70)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,70)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(70,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(72,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(74,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(77,0,null,null,12,"div",[["class","form-field"]],[[4,"visibility",null]],null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(79,0,null,null,2,"label",[["for","confirm_seed"]],null,null,null,null,null)),(t()(),r._31(80,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(83,0,null,null,5,"textarea",[["class","form-control"],["formControlName","confirm_seed"],["id","confirm_seed"],["rows","2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,84)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,84).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,84)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,84)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(84,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(86,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(88,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(94,0,null,null,6,"div",[["class","row -buttons-footer"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(96,0,null,null,3,"app-button",[["class","dark -button-min-margin"]],null,[[null,"action"]],function(t,e,n){var r=!0,i=t.component;return"action"===e&&(r=!1!==(i.showCreateForm?i.createWallet():i.loadWallet())&&r),r},Of,Lf)),r._8(97,49152,null,0,xc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(98,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,27,0,r._32(e,27,0,r._22(e,28).transform("common.load")),r._32(e,27,1,r._22(e,29).transform("common.new")),n.doubleButtonActive),t(e,39,0,n.form),t(e,52,0,"label"),t(e,66,0,n.showCreateForm),t(e,72,0,"seed"),t(e,86,0,"confirm_seed"),t(e,97,0,!n.form.valid)},function(t,e){var n=e.component;t(e,9,0,r._32(e,9,0,r._22(e,10).transform("wallet.new.create-title"))),t(e,16,0,r._32(e,16,0,r._22(e,17).transform("wizard.wallet-desc"))),t(e,37,0,r._22(e,41).ngClassUntouched,r._22(e,41).ngClassTouched,r._22(e,41).ngClassPristine,r._22(e,41).ngClassDirty,r._22(e,41).ngClassValid,r._22(e,41).ngClassInvalid,r._22(e,41).ngClassPending),t(e,46,0,r._32(e,46,0,r._22(e,47).transform("wallet.new.name-label"))),t(e,49,0,r._22(e,54).ngClassUntouched,r._22(e,54).ngClassTouched,r._22(e,54).ngClassPristine,r._22(e,54).ngClassDirty,r._22(e,54).ngClassValid,r._22(e,54).ngClassInvalid,r._22(e,54).ngClassPending),t(e,62,0,r._32(e,62,0,r._22(e,63).transform("wallet.new.seed-label"))),t(e,69,0,r._22(e,74).ngClassUntouched,r._22(e,74).ngClassTouched,r._22(e,74).ngClassPristine,r._22(e,74).ngClassDirty,r._22(e,74).ngClassValid,r._22(e,74).ngClassInvalid,r._22(e,74).ngClassPending),t(e,77,0,n.showCreateForm?"visible":"hidden"),t(e,80,0,r._32(e,80,0,r._22(e,81).transform("wallet.new.confirm-seed-label"))),t(e,83,0,r._22(e,88).ngClassUntouched,r._22(e,88).ngClassTouched,r._22(e,88).ngClassPristine,r._22(e,88).ngClassDirty,r._22(e,88).ngClassValid,r._22(e,88).ngClassInvalid,r._22(e,88).ngClassPending),t(e,98,0,r._32(e,98,0,r._22(e,99).transform("wallet.new.create-button")))})}var kg=function(){function t(t){this.formBuilder=t,this.onPasswordCreated=new r.o,this.onBack=new r.o}return t.prototype.ngOnInit=function(){this.initEncryptForm()},t.prototype.initEncryptForm=function(){this.form=this.formBuilder.group({password:new Il("",Qs.compose([Qs.required,Qs.minLength(2)])),confirm:new Il("",Qs.compose([Qs.required,Qs.minLength(2)]))},{validator:this.passwordMatchValidator.bind(this)})},t.prototype.setEncrypt=function(t){t.checked?this.form.enable():this.form.disable()},t.prototype.emitCreatedPassword=function(){this.form.enabled&&!this.form.valid||this.button.isLoading()||(this.button.setLoading(),this.onPasswordCreated.emit(this.form.enabled?this.form.get("password").value:null))},t.prototype.emitBack=function(){this.onBack.emit()},Object.defineProperty(t.prototype,"isWorking",{get:function(){return this.button.isLoading()},enumerable:!0,configurable:!0}),t.prototype.passwordMatchValidator=function(t){return t.get("password").value===t.get("confirm").value?null:{mismatch:!0}},t}(),xg=r._7({encapsulation:0,styles:[[".-header[_ngcontent-%COMP%]{color:#fafafa;position:relative;margin-top:20px;margin-bottom:10px;line-height:30px;font-size:20px;text-align:center}.-description[_ngcontent-%COMP%]{line-height:25px;font-size:14px;text-align:center;color:#fafafa;mix-blend-mode:normal;opacity:.5}.-buttons-footer[_ngcontent-%COMP%]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;margin-bottom:20px}.-check-container[_ngcontent-%COMP%]{margin:10px auto;text-align:center}[_nghost-%COMP%] .-buttons-footer button{margin:2px 10px!important}.-text-align-center[_ngcontent-%COMP%]{text-align:center}.-check[_ngcontent-%COMP%] .mat-checkbox-checkmark-path{position:absolute;width:18px;height:8px;left:4.59px;top:9px;stroke:#fafafa!important}.-check[_ngcontent-%COMP%] .mat-checkbox-background, .-check[_ngcontent-%COMP%] .mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none;width:20px;height:20px;background:rgba(30,34,39,.05);border-radius:6px;border-color:transparent}.-check[_ngcontent-%COMP%] span{font-family:Skycoin;line-height:normal;font-size:14px;color:#fbfbfb}.-check[_ngcontent-%COMP%] span img{width:38px;height:38px;vertical-align:middle}.-input.disable[_ngcontent-%COMP%]{background:rgba(255,255,255,.1)}.-hidden[_ngcontent-%COMP%]{display:none}"]],data:{}});function Lg(t){return r._33(0,[r._29(402653184,1,{button:0}),(t()(),r._9(1,0,null,null,95,"div",[["class","onboarding-container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(3,0,null,null,18,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(5,0,null,null,15,"div",[["class","col-sm-4"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(7,0,null,null,5,"div",[["class","-header"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(10,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,5,"div",[["class","-description"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(17,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(23,0,null,null,12,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(25,0,null,null,9,"div",[["class","col-sm-4 -check-container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(27,0,null,null,6,"mat-checkbox",[["class","-check mat-checkbox"],["id","encrypt"],["type","checkbox"]],[[8,"id",0],[2,"mat-checkbox-indeterminate",null],[2,"mat-checkbox-checked",null],[2,"mat-checkbox-disabled",null],[2,"mat-checkbox-label-before",null]],[[null,"change"]],function(t,e,n){var r=!0;return"change"===e&&(r=!1!==t.component.setEncrypt(n)&&r),r},O_,T_)),r._28(5120,null,$s,function(t){return[t]},[Ca]),r._8(29,4374528,null,0,Ca,[r.l,r.h,Do,[8,null],[2,ka]],{id:[0,"id"],checked:[1,"checked"]},{change:"change"}),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(31,0,null,0,0,"img",[["src","../../../../../assets/img/lock-gold.png"]],null,null,null,null,null)),(t()(),r._31(32,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(37,0,null,null,43,"div",[["class","row justify-content-center"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(39,0,null,null,40,"div",[["class","col-sm-4"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(41,0,null,null,37,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,43).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,43).onReset()&&i),i},null,null)),r._8(42,16384,null,0,Xl,[],null,null),r._8(43,540672,null,0,Wl,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,Us,null,[Wl]),r._8(45,16384,null,0,Yl,[Us],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(47,0,null,null,14,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(49,0,null,null,2,"label",[["for","password"]],null,null,null,null,null)),(t()(),r._31(50,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(53,0,null,null,7,"input",[["class","-input"],["formControlName","password"],["id","password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,56)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,56).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,56)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,56)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(54,278528,null,0,I,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(55,{disable:0}),r._8(56,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(58,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(60,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(63,0,null,null,14,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(65,0,null,null,2,"label",[["for","confirm"]],null,null,null,null,null)),(t()(),r._31(66,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(69,0,null,null,7,"input",[["class","-input"],["formControlName","confirm"],["id","confirm"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._22(t,72)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,72).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,72)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,72)._compositionEnd(n.target.value)&&i),"keydown.enter"===e&&(i=!1!==o.emitCreatedPassword()&&i),i},null,null)),r._8(70,278528,null,0,I,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(71,{disable:0}),r._8(72,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(74,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(76,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(82,0,null,null,13,"div",[["class","row -buttons-footer"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(84,0,null,null,3,"app-button",[["class","dark -button-min-margin"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.emitCreatedPassword()&&r),r},Of,Lf)),r._8(85,49152,[[1,4],["button",4]],0,xc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(86,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(89,0,null,null,5,"app-button",[["class","ghost -button-min-margin"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.emitBack()&&r),r},Of,Lf)),r._8(90,278528,null,0,I,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(91,{"-hidden":0}),r._8(92,49152,null,0,xc,[],null,{action:"action"}),(t()(),r._31(93,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,29,0,"encrypt",!0),t(e,43,0,n.form),t(e,54,0,"-input",t(e,55,0,n.form.disabled)),t(e,58,0,"password"),t(e,70,0,"-input",t(e,71,0,n.form.disabled)),t(e,74,0,"confirm"),t(e,85,0,n.form.enabled&&!n.form.valid),t(e,90,0,"ghost -button-min-margin",t(e,91,0,n.isWorking))},function(t,e){t(e,10,0,r._32(e,10,0,r._22(e,11).transform("wallet.new.encrypt-title"))),t(e,17,0,r._32(e,17,0,r._22(e,18).transform("wizard.encrypt-desc"))),t(e,27,0,r._22(e,29).id,r._22(e,29).indeterminate,r._22(e,29).checked,r._22(e,29).disabled,"before"==r._22(e,29).labelPosition),t(e,32,0,r._32(e,32,0,r._22(e,33).transform("wallet.new.encrypt"))),t(e,41,0,r._22(e,45).ngClassUntouched,r._22(e,45).ngClassTouched,r._22(e,45).ngClassPristine,r._22(e,45).ngClassDirty,r._22(e,45).ngClassValid,r._22(e,45).ngClassInvalid,r._22(e,45).ngClassPending),t(e,50,0,r._32(e,50,0,r._22(e,51).transform("password.label"))),t(e,53,0,r._22(e,60).ngClassUntouched,r._22(e,60).ngClassTouched,r._22(e,60).ngClassPristine,r._22(e,60).ngClassDirty,r._22(e,60).ngClassValid,r._22(e,60).ngClassInvalid,r._22(e,60).ngClassPending),t(e,66,0,r._32(e,66,0,r._22(e,67).transform("password.confirm-label"))),t(e,69,0,r._22(e,76).ngClassUntouched,r._22(e,76).ngClassTouched,r._22(e,76).ngClassPristine,r._22(e,76).ngClassDirty,r._22(e,76).ngClassValid,r._22(e,76).ngClassInvalid,r._22(e,76).ngClassPending),t(e,86,0,r._32(e,86,0,r._22(e,87).transform("wizard.finish-button"))),t(e,93,0,r._32(e,93,0,r._22(e,94).transform("wizard.back-button")))})}var Cg=r._7({encapsulation:0,styles:[[""]],data:{}});function Sg(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-onboarding-create-wallet",[],null,[[null,"onLabelAndSeedCreated"]],function(t,e,n){var r=!0;return"onLabelAndSeedCreated"===e&&(r=!1!==t.component.onLabelAndSeedCreated(n)&&r),r},Mg,bg)),r._8(1,114688,null,0,vg,[Ns,rr,Kl],{fill:[0,"fill"]},{onLabelAndSeedCreated:"onLabelAndSeedCreated"})],function(t,e){t(e,1,0,e.component.fill)},null)}function Tg(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-onboarding-encrypt-wallet",[],null,[[null,"onPasswordCreated"],[null,"onBack"]],function(t,e,n){var r=!0,i=t.component;return"onPasswordCreated"===e&&(r=!1!==i.onPasswordCreated(n)&&r),"onBack"===e&&(r=!1!==i.onBack()&&r),r},Lg,xg)),r._8(1,114688,null,0,kg,[Kl],null,{onPasswordCreated:"onPasswordCreated",onBack:"onBack"})],function(t,e){t(e,1,0)},null)}function Og(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,Sg)),r._8(1,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n\n"])),(t()(),r._4(16777216,null,null,1,null,Tg)),r._8(4,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,1,0,1===n.step),t(e,4,0,2===n.step)},null)}var Dg=r._5("app-onboarding",Dp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-onboarding",[],null,null,null,Og,Cg)),r._8(1,49152,null,0,Dp,[Hh,$r],null,null)],null,null)},{},{},[]),Yg=function(){function t(t,e,n,r){this.walletService=t,this.dialogRef=e,this.formBuilder=n,this.purchaseService=r}return t.prototype.ngOnInit=function(){this.initForm()},t.prototype.generate=function(){var t=this;this.purchaseService.generate(this.form.value.address).subscribe(function(){return t.dialogRef.close()})},t.prototype.initForm=function(){this.form=this.formBuilder.group({address:["",Qs.required]})},t}(),Pg=r._7({encapsulation:0,styles:[["mat-select[_ngcontent-%COMP%]{width:100%;padding:40px 0 20px}"]],data:{}});function Eg(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"mat-option",[["class","mat-option"],["role","option"]],[[1,"tabindex",0],[2,"mat-selected",null],[2,"mat-option-multiple",null],[2,"mat-active",null],[8,"id",0],[1,"aria-selected",0],[1,"aria-disabled",0],[2,"mat-option-disabled",null]],[[null,"click"],[null,"keydown"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==r._22(t,1)._selectViaInteraction()&&i),"keydown"===e&&(i=!1!==r._22(t,1)._handleKeydown(n)&&i),i},y_,m_)),r._8(1,49152,[[1,4]],0,ns,[r.l,r.h,[2,es],[2,$o]],{value:[0,"value"]},null),(t()(),r._31(2,0,["\n ","\n "]))],function(t,e){t(e,1,0,e.context.$implicit.address)},function(t,e){t(e,0,0,r._22(e,1)._getTabIndex(),r._22(e,1).selected,r._22(e,1).multiple,r._22(e,1).active,r._22(e,1).id,r._22(e,1).selected.toString(),r._22(e,1).disabled.toString(),r._22(e,1).disabled),t(e,2,0,e.context.$implicit.address)})}function Ag(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),r._31(1,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(4,0,null,null,21,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,5).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,5).onReset()&&i),i},null,null)),r._8(5,540672,null,0,Wl,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,Us,null,[Wl]),r._8(7,16384,null,0,Yl,[Us],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(9,0,null,null,15,"mat-select",[["class","input-field mat-select"],["formControlName","address"],["role","listbox"]],[[1,"id",0],[1,"tabindex",0],[1,"aria-label",0],[1,"aria-labelledby",0],[1,"aria-required",0],[1,"aria-disabled",0],[1,"aria-invalid",0],[1,"aria-owns",0],[1,"aria-multiselectable",0],[1,"aria-describedby",0],[1,"aria-activedescendant",0],[2,"mat-select-disabled",null],[2,"mat-select-invalid",null],[2,"mat-select-required",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown"],[null,"focus"],[null,"blur"]],function(t,e,n){var i=!0;return"keydown"===e&&(i=!1!==r._22(t,14)._handleKeydown(n)&&i),"focus"===e&&(i=!1!==r._22(t,14)._onFocus()&&i),"blur"===e&&(i=!1!==r._22(t,14)._onBlur()&&i),i},S_,w_)),r._28(6144,null,es,null,[Hu]),r._28(6144,null,ia,null,[Hu]),r._8(12,671744,null,0,ql,[[3,Us],[8,null],[8,null],[8,null]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(14,2080768,null,3,Hu,[_i,r.h,r.B,Fo,r.l,[2,vi],[2,Nl],[2,Wl],[2,la],[2,ll],[8,null],ju],{placeholder:[0,"placeholder"]},null),r._29(603979776,1,{options:1}),r._29(603979776,2,{optionGroups:1}),r._29(335544320,3,{customTrigger:0}),r._25(131072,yp.i,[yp.j,r.h]),r._8(19,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,1,["\n "])),(t()(),r._4(16777216,null,1,2,null,Eg)),r._8(22,802816,null,0,H,[r.R,r.O,r.u],{ngForOf:[0,"ngForOf"]},null),r._25(131072,Ct,[r.h]),(t()(),r._31(-1,1,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(27,0,null,null,7,"div",[["class","button-line"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(29,0,null,null,4,"a",[["class","mat-raised-button"],["mat-raised-button",""]],[[1,"tabindex",0],[1,"disabled",0],[1,"aria-disabled",0]],[[null,"click"]],function(t,e,n){var i=!0,o=t.component;return"click"===e&&(i=!1!==r._22(t,30)._haltDisabledEvents(n)&&i),"click"===e&&(i=!1!==o.generate()&&i),i},yf,gf)),r._8(30,180224,null,0,pa,[ei,Do,r.l],null,null),r._8(31,16384,null,0,ca,[],null,null),(t()(),r._31(32,0,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,5,0,n.form),t(e,12,0,"address"),t(e,14,0,r._32(e,14,0,r._22(e,18).transform("buy.select-address"))),t(e,22,0,r._32(e,22,0,r._22(e,23).transform(n.walletService.allAddresses())))},function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("buy.deposit-address"))),t(e,4,0,r._22(e,7).ngClassUntouched,r._22(e,7).ngClassTouched,r._22(e,7).ngClassPristine,r._22(e,7).ngClassDirty,r._22(e,7).ngClassValid,r._22(e,7).ngClassInvalid,r._22(e,7).ngClassPending),t(e,9,1,[r._22(e,14).id,r._22(e,14).tabIndex,r._22(e,14)._ariaLabel,r._22(e,14).ariaLabelledby,r._22(e,14).required.toString(),r._22(e,14).disabled.toString(),r._22(e,14).errorState,r._22(e,14).panelOpen?r._22(e,14)._optionIds:null,r._22(e,14).multiple,r._22(e,14)._ariaDescribedby||null,r._22(e,14)._getAriaActiveDescendant(),r._22(e,14).disabled,r._22(e,14).errorState,r._22(e,14).required,r._22(e,19).ngClassUntouched,r._22(e,19).ngClassTouched,r._22(e,19).ngClassPristine,r._22(e,19).ngClassDirty,r._22(e,19).ngClassValid,r._22(e,19).ngClassInvalid,r._22(e,19).ngClassPending]),t(e,29,0,r._22(e,30).disabled?-1:0,r._22(e,30).disabled||null,r._22(e,30).disabled.toString()),t(e,32,0,r._32(e,32,0,r._22(e,33).transform("buy.generate")))})}var jg=r._5("app-add-deposit-address",Yg,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-add-deposit-address",[],null,null,null,Ag,Pg)),r._8(1,114688,null,0,Yg,[$r,Is,Kl,xp],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Ig=function(){function t(){}return t.prototype.closePopup=function(){this.disableDismiss||this.dialog.close()},t.prototype.ngOnChanges=function(t){t.disableDismiss&&(this.dialog.disableClose=t.disableDismiss.currentValue)},t}(),Rg=r._7({encapsulation:0,styles:[[".-header[_ngcontent-%COMP%]{background-color:#f7f7f7;border-top-left-radius:5px;border-top-right-radius:5px;line-height:50px;position:relative;text-align:center}.-header[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{cursor:pointer;height:32px;position:absolute;right:9px;top:9px}.-body[_ngcontent-%COMP%]{background-color:#fbfbfb;padding:30px}"]],data:{}});function Hg(t){return r._33(0,[(t()(),r._9(0,0,null,null,0,"img",[["src","../../../../../assets/img/close-grey.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.closePopup()&&r),r},null,null))],null,null)}function Fg(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[["class","-header"]],null,null,null,null,null)),(t()(),r._31(1,null,["\n ","\n "])),(t()(),r._4(16777216,null,null,1,null,Hg)),r._8(3,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(6,0,null,null,3,"div",[["class","-body"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),r._21(null,0),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){t(e,3,0,!e.component.disableDismiss)},function(t,e){t(e,1,0,e.component.headline)})}var Ng=function(){function t(t){this.el=t,t.nativeElement.autocomplete="new-password",t.nativeElement.readOnly=!0}return t.prototype.onFocus=function(){this.el.nativeElement.readOnly=!1},t}(),Vg=r._7({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{text-align:center}label[for=seed][_ngcontent-%COMP%]{display:-webkit-box;display:-ms-flexbox;display:flex}label[for=seed][_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-child{-webkit-box-flex:1;-ms-flex:1;flex:1}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%]{text-align:right}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;color:rgba(0,114,255,.7)}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:13px;height:10px;font-size:13px;position:relative;top:2px}label[for=seed][_ngcontent-%COMP%] .generators[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{padding:0 5px;color:#1e2227}.-disabled[_ngcontent-%COMP%]{display:none}.-warning[_ngcontent-%COMP%]{color:#ff004e;font-size:12px;padding:0 10px;line-height:1.5}.-passwords[_ngcontent-%COMP%]{margin-left:24px}.-passwords[_ngcontent-%COMP%] .-info[_ngcontent-%COMP%]{margin:5px 0 15px;color:rgba(30,34,39,.5);font-size:12px;line-height:1.5}.-passwords[_ngcontent-%COMP%] .-hidden[_ngcontent-%COMP%]{visibility:hidden}.-check[_ngcontent-%COMP%] .mat-checkbox-checkmark-path{position:absolute;width:18px;height:8px;left:4.59px;top:9px;stroke:#0072ff!important}.-check[_ngcontent-%COMP%] .mat-checkbox-background, .-check[_ngcontent-%COMP%] .mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none;width:20px;height:20px;background:rgba(30,34,39,.05);border-radius:6px;border-color:transparent}.-check[_ngcontent-%COMP%] span{font-family:Skycoin;line-height:normal;font-size:14px;color:#1e2227}.-check[_ngcontent-%COMP%] span img{width:38px;height:38px;vertical-align:middle}"]],data:{}});function Bg(t){return r._33(0,[(t()(),r._9(0,0,null,null,16,"span",[["class","generators"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,16777216,null,null,4,"span",[],null,[[null,"click"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0,o=t.component;return"longpress"===e&&(i=!1!==r._22(t,3).show()&&i),"keydown"===e&&(i=!1!==r._22(t,3)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,3).hide(1500)&&i),"click"===e&&(i=!1!==o.generateSeed(128)&&i),i},null,null)),r._8(3,147456,null,0,Wu,[eo,r.l,pi,r.R,r.B,ei,xo,Do,Bu,[2,vi]],{message:[0,"message"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(5,null,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,1,"span",[["class","divider"]],null,null,null,null,null)),(t()(),r._31(-1,null,["|"])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(11,16777216,null,null,4,"span",[],null,[[null,"click"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0,o=t.component;return"longpress"===e&&(i=!1!==r._22(t,12).show()&&i),"keydown"===e&&(i=!1!==r._22(t,12)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==r._22(t,12).hide(1500)&&i),"click"===e&&(i=!1!==o.generateSeed(256)&&i),i},null,null)),r._8(12,147456,null,0,Wu,[eo,r.l,pi,r.R,r.B,ei,xo,Do,Bu,[2,vi]],{message:[0,"message"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(14,null,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,3,0,r._32(e,3,0,r._22(e,4).transform("wallet.new.generate-12-seed"))),t(e,12,0,r._32(e,12,0,r._22(e,13).transform("wallet.new.generate-24-seed")))},function(t,e){t(e,5,0,r._32(e,5,0,r._22(e,6).transform("wallet.new.12-words"))),t(e,14,0,r._32(e,14,0,r._22(e,15).transform("wallet.new.24-words")))})}function zg(t){return r._33(0,[r._29(402653184,1,{createButton:0}),r._29(402653184,2,{cancelButton:0}),(t()(),r._9(2,0,null,null,137,"app-modal",[],null,null,null,Fg,Rg)),r._8(3,573440,null,0,Ig,[],{dialog:[0,"dialog"],headline:[1,"headline"],disableDismiss:[2,"disableDismiss"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(6,0,null,0,119,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,7).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,7).onReset()&&i),i},null,null)),r._8(7,540672,null,0,Wl,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,Us,null,[Wl]),r._8(9,16384,null,0,Yl,[Us],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(11,0,null,null,12,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(13,0,null,null,2,"label",[["for","label"]],null,null,null,null,null)),(t()(),r._31(14,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(17,0,null,null,5,"input",[["formControlName","label"],["id","label"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,18)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,18).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,18)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,18)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(18,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(20,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(22,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(25,0,null,null,22,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(27,0,null,null,8,"label",[["for","seed"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(29,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),r._31(30,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,Bg)),r._8(34,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(37,0,null,null,5,"textarea",[["formControlName","seed"],["id","seed"],["row","2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,38)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,38).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,38)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,38)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(38,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(40,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(42,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(44,0,null,null,2,"p",[["class","-warning"]],null,null,null,null,null)),(t()(),r._31(45,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(49,0,null,null,14,"div",[["class","form-field"]],null,null,null,null,null)),r._8(50,278528,null,0,I,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(51,{"-disabled":0}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(53,0,null,null,2,"label",[["for","confirm_seed"]],null,null,null,null,null)),(t()(),r._31(54,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(57,0,null,null,5,"textarea",[["formControlName","confirm_seed"],["id","confirm_seed"],["row","2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,58)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,58).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,58)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,58)._compositionEnd(n.target.value)&&i),i},null,null)),r._8(58,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(60,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(62,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(65,0,null,null,9,"div",[],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(67,0,null,null,6,"mat-checkbox",[["class","-check mat-checkbox"],["id","encrypt"],["type","checkbox"]],[[8,"id",0],[2,"mat-checkbox-indeterminate",null],[2,"mat-checkbox-checked",null],[2,"mat-checkbox-disabled",null],[2,"mat-checkbox-label-before",null]],[[null,"change"]],function(t,e,n){var r=!0;return"change"===e&&(r=!1!==t.component.setEncrypt(n)&&r),r},O_,T_)),r._28(5120,null,$s,function(t){return[t]},[Ca]),r._8(69,4374528,null,0,Ca,[r.l,r.h,Do,[8,null],[2,ka]],{id:[0,"id"],checked:[1,"checked"]},{change:"change"}),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(71,0,null,0,0,"img",[["src","../../../../../assets/img/lock-gold.png"]],null,null,null,null,null)),(t()(),r._31(72,0,[" ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(76,0,null,null,48,"div",[["class","row -passwords"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(78,0,null,null,5,"div",[["class","col-md-12"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(80,0,null,null,2,"p",[["class","-info"]],null,null,null,null,null)),(t()(),r._31(81,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(85,0,null,null,18,"div",[["class","col-md-6"]],null,null,null,null,null)),r._8(86,278528,null,0,I,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(87,{"-hidden":0}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(89,0,null,null,13,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(91,0,null,null,2,"label",[["for","password"]],null,null,null,null,null)),(t()(),r._31(92,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(95,0,null,null,6,"input",[["appDontSavePassword",""],["formControlName","password"],["id","password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==r._22(t,96)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,96).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,96)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,96)._compositionEnd(n.target.value)&&i),"focus"===e&&(i=!1!==r._22(t,101).onFocus()&&i),i},null,null)),r._8(96,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(98,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(100,16384,null,0,Dl,[ll],null,null),r._8(101,16384,null,0,Ng,[r.l],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(105,0,null,null,18,"div",[["class","col-md-6"]],null,null,null,null,null)),r._8(106,278528,null,0,I,[r.u,r.v,r.l,r.G],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),r._26(107,{"-hidden":0}),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(109,0,null,null,13,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(111,0,null,null,2,"label",[["for","confirm_password"]],null,null,null,null,null)),(t()(),r._31(112,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(115,0,null,null,6,"input",[["appDontSavePassword",""],["formControlName","confirm_password"],["id","confirm_password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._22(t,116)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,116).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,116)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,116)._compositionEnd(n.target.value)&&i),"focus"===e&&(i=!1!==r._22(t,121).onFocus()&&i),"keydown.enter"===e&&(i=!1!==o.createWallet()&&i),i},null,null)),r._8(116,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(118,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(120,16384,null,0,Dl,[ll],null,null),r._8(121,16384,null,0,Ng,[r.l],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(127,0,null,0,11,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(129,0,null,null,3,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.closePopup()&&r),r},Of,Lf)),r._8(130,49152,[[2,4],["cancelButton",4]],0,xc,[],null,{action:"action"}),(t()(),r._31(131,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(134,0,null,null,3,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.createWallet()&&r),r},Of,Lf)),r._8(135,49152,[[1,4],["createButton",4]],0,xc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(136,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,3,0,n.dialogRef,r._32(e,3,1,r._22(e,4).transform("wallet.new."+(n.data.create?"create":"load")+"-title")),n.disableDismiss),t(e,7,0,n.form),t(e,20,0,"label"),t(e,34,0,n.data.create),t(e,40,0,"seed"),t(e,50,0,"form-field",t(e,51,0,!n.data.create)),t(e,60,0,"confirm_seed"),t(e,69,0,"encrypt",!0),t(e,86,0,"col-md-6",t(e,87,0,!n.encrypt)),t(e,98,0,"password"),t(e,106,0,"col-md-6",t(e,107,0,!n.encrypt)),t(e,118,0,"confirm_password"),t(e,135,0,!n.form.valid)},function(t,e){var n=e.component;t(e,6,0,r._22(e,9).ngClassUntouched,r._22(e,9).ngClassTouched,r._22(e,9).ngClassPristine,r._22(e,9).ngClassDirty,r._22(e,9).ngClassValid,r._22(e,9).ngClassInvalid,r._22(e,9).ngClassPending),t(e,14,0,r._32(e,14,0,r._22(e,15).transform("wallet.new.name-label"))),t(e,17,0,r._22(e,22).ngClassUntouched,r._22(e,22).ngClassTouched,r._22(e,22).ngClassPristine,r._22(e,22).ngClassDirty,r._22(e,22).ngClassValid,r._22(e,22).ngClassInvalid,r._22(e,22).ngClassPending),t(e,30,0,r._32(e,30,0,r._22(e,31).transform("wallet.new.seed-label"))),t(e,37,0,r._22(e,42).ngClassUntouched,r._22(e,42).ngClassTouched,r._22(e,42).ngClassPristine,r._22(e,42).ngClassDirty,r._22(e,42).ngClassValid,r._22(e,42).ngClassInvalid,r._22(e,42).ngClassPending),t(e,45,0,r._32(e,45,0,r._22(e,46).transform("wallet.new.seed-warning"))),t(e,54,0,r._32(e,54,0,r._22(e,55).transform("wallet.new.confirm-seed-label"))),t(e,57,0,r._22(e,62).ngClassUntouched,r._22(e,62).ngClassTouched,r._22(e,62).ngClassPristine,r._22(e,62).ngClassDirty,r._22(e,62).ngClassValid,r._22(e,62).ngClassInvalid,r._22(e,62).ngClassPending),t(e,67,0,r._22(e,69).id,r._22(e,69).indeterminate,r._22(e,69).checked,r._22(e,69).disabled,"before"==r._22(e,69).labelPosition),t(e,72,0,r._32(e,72,0,r._22(e,73).transform("wallet.new.encrypt"))),t(e,81,0,r._32(e,81,0,r._22(e,82).transform("wallet.new.encrypt-warning"))),t(e,92,0,r._32(e,92,0,r._22(e,93).transform("password.label"))),t(e,95,0,r._22(e,100).ngClassUntouched,r._22(e,100).ngClassTouched,r._22(e,100).ngClassPristine,r._22(e,100).ngClassDirty,r._22(e,100).ngClassValid,r._22(e,100).ngClassInvalid,r._22(e,100).ngClassPending),t(e,112,0,r._32(e,112,0,r._22(e,113).transform("password.confirm-label"))),t(e,115,0,r._22(e,120).ngClassUntouched,r._22(e,120).ngClassTouched,r._22(e,120).ngClassPristine,r._22(e,120).ngClassDirty,r._22(e,120).ngClassValid,r._22(e,120).ngClassInvalid,r._22(e,120).ngClassPending),t(e,131,0,r._32(e,131,0,r._22(e,132).transform("wallet.new.cancel-button"))),t(e,136,0,r._32(e,136,0,r._22(e,137).transform("wallet.new."+(n.data.create?"create":"load")+"-button")))})}var Wg=r._5("app-create-wallet",Lc,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-create-wallet",[],null,null,null,zg,Vg)),r._8(1,114688,null,0,Lc,[Rs,Is,$r,rr],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Ug=r._7({encapsulation:0,styles:[["mat-input-container[_ngcontent-%COMP%]{width:100%}.-buttons[_ngcontent-%COMP%]{text-align:center}"]],data:{}});function Gg(t){return r._33(0,[r._29(402653184,1,{button:0}),(t()(),r._9(1,0,null,null,36,"app-modal",[],null,null,null,Fg,Rg)),r._8(2,573440,null,0,Ig,[],{dialog:[0,"dialog"],headline:[1,"headline"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(5,0,null,0,18,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,6).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,6).onReset()&&i),i},null,null)),r._8(6,540672,null,0,Wl,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,Us,null,[Wl]),r._8(8,16384,null,0,Yl,[Us],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,12,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,2,"label",[["for","label"]],null,null,null,null,null)),(t()(),r._31(13,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,5,"input",[["formControlName","label"],["id","label"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._22(t,17)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,17).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,17)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,17)._compositionEnd(n.target.value)&&i),"keydown.enter"===e&&(i=!1!==o.rename()&&i),i},null,null)),r._8(17,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(19,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(21,16384,null,0,Dl,[ll],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(25,0,null,0,11,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(27,0,null,null,3,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.closePopup()&&r),r},Of,Lf)),r._8(28,49152,null,0,xc,[],null,{action:"action"}),(t()(),r._31(29,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(32,0,null,null,3,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.rename()&&r),r},Of,Lf)),r._8(33,49152,[[1,4],["button",4]],0,xc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(34,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,2,0,n.dialogRef,r._32(e,2,1,r._22(e,3).transform("wallet.rename.title"))),t(e,6,0,n.form),t(e,19,0,"label"),t(e,33,0,!n.form.valid)},function(t,e){t(e,5,0,r._22(e,8).ngClassUntouched,r._22(e,8).ngClassTouched,r._22(e,8).ngClassPristine,r._22(e,8).ngClassDirty,r._22(e,8).ngClassValid,r._22(e,8).ngClassInvalid,r._22(e,8).ngClassPending),t(e,13,0,r._32(e,13,0,r._22(e,14).transform("wallet.rename.name-label"))),t(e,16,0,r._22(e,21).ngClassUntouched,r._22(e,21).ngClassTouched,r._22(e,21).ngClassPristine,r._22(e,21).ngClassDirty,r._22(e,21).ngClassValid,r._22(e,21).ngClassInvalid,r._22(e,21).ngClassPending),t(e,29,0,r._32(e,29,0,r._22(e,30).transform("wallet.rename.cancel-button"))),t(e,34,0,r._32(e,34,0,r._22(e,35).transform("wallet.rename.rename-button")))})}var Jg=r._5("app-change-name",of,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-change-name",[],null,null,null,Gg,Ug)),r._8(1,114688,null,0,of,[Is,Rs,Kl,$r],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),qg=r._7({encapsulation:0,styles:[["#qr[_ngcontent-%COMP%]{height:300px}.address[_ngcontent-%COMP%]{font-size:80%;text-align:center;margin-top:30px}"]],data:{}});function Qg(t){return r._33(0,[r._29(402653184,1,{qr:0}),(t()(),r._9(1,0,null,null,8,"app-modal",[],null,null,null,Fg,Rg)),r._8(2,573440,null,0,Ig,[],{dialog:[0,"dialog"],headline:[1,"headline"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(5,0,[[1,0],["qr",1]],0,0,"div",[["id","qr"]],null,null,null,null,null)),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(7,0,null,0,1,"div",[["class","address"]],null,null,null,null,null)),(t()(),r._31(8,null,["",""])),(t()(),r._31(-1,0,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){t(e,2,0,e.component.dialogRef,r._32(e,2,1,r._22(e,3).transform("title.qrcode")))},function(t,e){t(e,8,0,e.component.data.address)})}var Kg=r._5("app-qr-code",pp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-qr-code",[],null,null,null,Qg,qg)),r._8(1,114688,null,0,pp,[Rs,Is],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),Xg=r._7({encapsulation:0,styles:[[".-container[_ngcontent-%COMP%]{padding:24px;background-color:#fbfbfb}.-header[_ngcontent-%COMP%]{background-color:#f7f7f7;border-top-left-radius:5px;border-top-right-radius:5px;line-height:50px;position:relative;text-align:center}.-header[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{cursor:pointer;height:32px;position:absolute;right:9px;top:9px}"]],data:{}});function Zg(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[["class","-header"]],null,null,null,null,null)),(t()(),r._31(1,null,["\n "," "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._9(3,0,null,null,0,"img",[["src","../../../../../assets/img/close-grey.png"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.closePopup()&&r),r},null,null)),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"])),(t()(),r._9(6,0,null,null,8,"div",[["class","-container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(8,0,null,null,5,"mat-dialog-content",[["class","mat-dialog-content"]],null,null,null,null,null)),r._8(9,16384,null,0,Vs,[],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(11,0,null,null,1,"app-transaction-info",[],null,null,null,rm,z_)),r._8(12,245760,null,0,B_,[Cp],{transaction:[0,"transaction"],isPreview:[1,"isPreview"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){t(e,12,0,e.component.transaction,!1)},function(t,e){t(e,1,0,r._32(e,1,0,r._22(e,2).transform("history.tx-detail")))})}var $g=r._5("app-transaction-detail",Sp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-transaction-detail",[],null,null,null,Zg,Xg)),r._8(1,49152,null,0,Sp,[Rs,Is],null,null)],null,null)},{},{},[]),ty=r._7({encapsulation:0,styles:[[".-safe-description[_ngcontent-%COMP%]{font-family:Skycoin;line-height:20px;font-size:12px;color:#1e2227;mix-blend-mode:normal;opacity:.8}.-check-container[_ngcontent-%COMP%]{text-align:center;margin-top:50px}.-safe-check-text[_ngcontent-%COMP%]{font-family:Skycoin;line-height:normal;font-size:14px;color:#1e2227}.-check[_ngcontent-%COMP%] .mat-checkbox-checkmark-path{position:absolute;width:18px;height:8px;left:4.59px;top:9px;stroke:#0072ff!important}.-check[_ngcontent-%COMP%] .mat-checkbox-background, .-check[_ngcontent-%COMP%] .mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none;width:20px;height:20px;background:rgba(30,34,39,.05);border-radius:6px;border-color:transparent}.-text-center[_ngcontent-%COMP%]{text-align:center}.-no-bottom-margin[_ngcontent-%COMP%] button{margin:28px 10px 0!important}.-title[_ngcontent-%COMP%]{font-family:Skycoin;line-height:30px;font-size:14px;text-align:center;letter-spacing:.0769231em;color:#ff004e}"]],data:{}});function ey(t){return r._33(0,[(t()(),r._9(0,0,null,null,27,"app-modal",[["class","-title"]],null,null,null,Fg,Rg)),r._8(1,573440,null,0,Ig,[],{dialog:[0,"dialog"],headline:[1,"headline"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(4,0,null,0,14,"div",[],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,2,"span",[["class","-safe-description"]],null,null,null,null,null)),(t()(),r._31(7,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,7,"div",[["class","-check-container"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(12,0,null,null,4,"mat-checkbox",[["class","-safe-check-text -check mat-checkbox"],["id","terms"],["type","checkbox"]],[[8,"id",0],[2,"mat-checkbox-indeterminate",null],[2,"mat-checkbox-checked",null],[2,"mat-checkbox-disabled",null],[2,"mat-checkbox-label-before",null]],[[null,"change"]],function(t,e,n){var r=!0;return"change"===e&&(r=!1!==t.component.setAccept(n)&&r),r},O_,T_)),r._28(5120,null,$s,function(t){return[t]},[Ca]),r._8(14,4374528,null,0,Ca,[r.l,r.h,Do,[8,null],[2,ka]],{id:[0,"id"],checked:[1,"checked"]},{change:"change"}),(t()(),r._31(15,0,["","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(20,0,null,0,6,"div",[["class","-text-center"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(22,0,null,null,3,"app-button",[["class","primary -no-bottom-margin"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.closePopup()&&r),r},Of,Lf)),r._8(23,49152,null,0,xc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(24,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,1,0,n.dialogRef,r._32(e,1,1,r._22(e,2).transform("wizard.confirm.title"))),t(e,14,0,"terms",n.acceptSafe),t(e,23,0,!n.acceptSafe)},function(t,e){t(e,7,0,r._32(e,7,0,r._22(e,8).transform("wizard.confirm.desc"))),t(e,12,0,r._22(e,14).id,r._22(e,14).indeterminate,r._22(e,14).checked,r._22(e,14).disabled,"before"==r._22(e,14).labelPosition),t(e,15,0,r._32(e,15,0,r._22(e,16).transform("wizard.confirm.checkbox"))),t(e,24,0,r._32(e,24,0,r._22(e,25).transform("wizard.confirm.button")))})}var ny=r._5("app-onboarding-safeguard",yg,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-onboarding-safeguard",[],null,null,null,ey,ty)),r._8(1,49152,null,0,yg,[Is],null,null)],null,null)},{},{},[]),ry=r._7({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{text-align:center}.-info[_ngcontent-%COMP%]{margin:5px 0 25px;color:rgba(30,34,39,.5);font-size:12px;line-height:1.5}"]],data:{}});function iy(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"p",[["class","-info"]],null,null,null,null,null)),(t()(),r._31(1,null,["",""]))],null,function(t,e){t(e,1,0,e.component.data.description)})}function oy(t){return r._33(0,[(t()(),r._9(0,0,null,null,13,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(2,0,null,null,2,"label",[["for","confirm_password"]],null,null,null,null,null)),(t()(),r._31(3,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,6,"input",[["appDontSavePassword",""],["formControlName","confirm_password"],["id","confirm_password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._22(t,7)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,7).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,7)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,7)._compositionEnd(n.target.value)&&i),"focus"===e&&(i=!1!==r._22(t,12).onFocus()&&i),"keydown.enter"===e&&(i=!1!==o.proceed()&&i),i},null,null)),r._8(7,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(9,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(11,16384,null,0,Dl,[ll],null,null),r._8(12,16384,null,0,Ng,[r.l],null,null),(t()(),r._31(-1,null,["\n "]))],function(t,e){t(e,9,0,"confirm_password")},function(t,e){t(e,3,0,r._32(e,3,0,r._22(e,4).transform("password.confirm-label"))),t(e,6,0,r._22(e,11).ngClassUntouched,r._22(e,11).ngClassTouched,r._22(e,11).ngClassPristine,r._22(e,11).ngClassDirty,r._22(e,11).ngClassValid,r._22(e,11).ngClassInvalid,r._22(e,11).ngClassPending)})}function sy(t){return r._33(0,[r._29(402653184,1,{button:0}),(t()(),r._9(1,0,null,null,39,"app-modal",[],null,null,null,Fg,Rg)),r._8(2,573440,null,0,Ig,[],{dialog:[0,"dialog"],headline:[1,"headline"],disableDismiss:[2,"disableDismiss"]},null),r._25(131072,yp.i,[yp.j,r.h]),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._4(16777216,null,0,1,null,iy)),r._8(7,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(9,0,null,0,22,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==r._22(t,10).onSubmit(n)&&i),"reset"===e&&(i=!1!==r._22(t,10).onReset()&&i),i},null,null)),r._8(10,540672,null,0,Wl,[[8,null],[8,null]],{form:[0,"form"]},null),r._28(2048,null,Us,null,[Wl]),r._8(12,16384,null,0,Yl,[Us],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(14,0,null,null,13,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,2,"label",[["for","password"]],null,null,null,null,null)),(t()(),r._31(17,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(20,0,null,null,6,"input",[["appDontSavePassword",""],["formControlName","password"],["id","password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"keydown.enter"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0,o=t.component;return"input"===e&&(i=!1!==r._22(t,21)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==r._22(t,21).onTouched()&&i),"compositionstart"===e&&(i=!1!==r._22(t,21)._compositionStart()&&i),"compositionend"===e&&(i=!1!==r._22(t,21)._compositionEnd(n.target.value)&&i),"focus"===e&&(i=!1!==r._22(t,26).onFocus()&&i),"keydown.enter"===e&&(i=!1!==o.proceed()&&i),i},null,null)),r._8(21,16384,null,0,nl,[r.G,r.l,[2,el]],null,null),r._28(1024,null,$s,function(t){return[t]},[nl]),r._8(23,671744,null,0,ql,[[3,Us],[8,null],[8,null],[2,$s]],{name:[0,"name"]},null),r._28(2048,null,ll,null,[ql]),r._8(25,16384,null,0,Dl,[ll],null,null),r._8(26,16384,null,0,Ng,[r.l],null,null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,null,["\n "])),(t()(),r._4(16777216,null,null,1,null,oy)),r._8(30,16384,null,0,N,[r.R,r.O],{ngIf:[0,"ngIf"]},null),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(33,0,null,0,6,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(35,0,null,null,3,"app-button",[["class","primary"]],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.proceed()&&r),r},Of,Lf)),r._8(36,49152,[[1,4],["button",4]],0,xc,[],{disabled:[0,"disabled"]},{action:"action"}),(t()(),r._31(37,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){var n=e.component;t(e,2,0,n.dialogRef,r._32(e,2,1,n.data.title?r._22(e,3).transform(n.data.title):r._22(e,4).transform("password.title")),n.disableDismiss),t(e,7,0,n.data.description),t(e,10,0,n.form),t(e,23,0,"password"),t(e,30,0,n.data.confirm),t(e,36,0,!n.form.valid)},function(t,e){t(e,9,0,r._22(e,12).ngClassUntouched,r._22(e,12).ngClassTouched,r._22(e,12).ngClassPristine,r._22(e,12).ngClassDirty,r._22(e,12).ngClassValid,r._22(e,12).ngClassInvalid,r._22(e,12).ngClassPending),t(e,17,0,r._32(e,17,0,r._22(e,18).transform("password.label"))),t(e,20,0,r._22(e,25).ngClassUntouched,r._22(e,25).ngClassTouched,r._22(e,25).ngClassPristine,r._22(e,25).ngClassDirty,r._22(e,25).ngClassValid,r._22(e,25).ngClassInvalid,r._22(e,25).ngClassPending),t(e,37,0,r._32(e,37,0,r._22(e,38).transform("password.button")))})}var ly=r._5("app-password-dialog",vp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-password-dialog",[],null,null,null,sy,ry)),r._8(1,245760,null,0,vp,[Rs,Is,_c,yp.j],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]),ay=r._7({encapsulation:0,styles:[[".-buttons[_ngcontent-%COMP%]{text-align:center}"]],data:{}});function uy(t){return r._33(0,[(t()(),r._9(0,0,null,null,21,"app-modal",[],null,null,null,Fg,Rg)),r._8(1,573440,null,0,Ig,[],{dialog:[0,"dialog"],headline:[1,"headline"]},null),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(4,0,null,0,8,"div",[["class","form-field"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(6,0,null,null,2,"label",[["for","seed"]],null,null,null,null,null)),(t()(),r._31(7,null,["",""])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(10,0,null,null,1,"textarea",[["id","seed"],["readonly",""]],null,null,null,null,null)),(t()(),r._31(11,null,["",""])),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n "])),(t()(),r._9(14,0,null,0,6,"div",[["class","-buttons"]],null,null,null,null,null)),(t()(),r._31(-1,null,["\n "])),(t()(),r._9(16,0,null,null,3,"app-button",[],null,[[null,"action"]],function(t,e,n){var r=!0;return"action"===e&&(r=!1!==t.component.dialogRef.close()&&r),r},Of,Lf)),r._8(17,49152,null,0,xc,[],null,{action:"action"}),(t()(),r._31(18,0,["\n ","\n "])),r._25(131072,yp.i,[yp.j,r.h]),(t()(),r._31(-1,null,["\n "])),(t()(),r._31(-1,0,["\n"])),(t()(),r._31(-1,null,["\n"]))],function(t,e){t(e,1,0,e.component.dialogRef,r._32(e,1,1,r._22(e,2).transform("title.seed")))},function(t,e){var n=e.component;t(e,7,0,r._32(e,7,0,r._22(e,8).transform("backup.seed"))),t(e,11,0,n.data.seed),t(e,18,0,r._32(e,18,0,r._22(e,19).transform("backup.close-button")))})}var cy=r._5("app-seed-modal",gp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-seed-modal",[],null,null,null,uy,ay)),r._8(1,180224,null,0,gp,[Rs,Is],null,null)],null,null)},{},{},[]),dy=r._7({encapsulation:0,styles:[["mat-card[_ngcontent-%COMP%]{max-width:1000px;margin-top:80px;margin-right:auto;margin-left:auto}.logo[_ngcontent-%COMP%]{max-height:100%}.fill-remaining-space[_ngcontent-%COMP%]{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.sky-container[_ngcontent-%COMP%]{max-width:1000px;margin-top:20px;margin-right:auto;margin-left:auto}mat-toolbar[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin:0 20px}.search-field[_ngcontent-%COMP%]{border-radius:8px;border:none;background-color:#fff;padding:8px}.syncing[_ngcontent-%COMP%]{font-size:14px}.main-menu[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin-right:20px}#top-menu[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#fbfbfb}#top-menu[_ngcontent-%COMP%] span#version[_ngcontent-%COMP%]{padding-top:12px}"]],data:{}});function hy(t){return r._33(0,[(t()(),r._9(0,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),r._8(1,212992,null,0,Jh,[Gh,r.R,r.j,[8,null],r.h],null,null),(t()(),r._31(-1,null,["\n"]))],function(t,e){t(e,1,0)},null)}var py=r._5("app-root",jp,function(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-root",[],null,null,null,hy,dy)),r._8(1,114688,null,0,jp,[Ap,yp.j],null,null)],function(t,e){t(e,1,0)},null)},{},{},[]);function fy(t){switch(t.length){case 0:return new Os;case 1:return t[0];default:return new Ds(t)}}function _y(t,e,n,r,i,o){void 0===i&&(i={}),void 0===o&&(o={});var s=[],l=[],a=-1,u=null;if(r.forEach(function(t){var n=t.offset,r=n==a,c=r&&u||{};Object.keys(t).forEach(function(n){var r=n,l=t[n];if("offset"!==n)switch(r=e.normalizePropertyName(r,s),l){case Ys:l=i[n];break;case Ls:l=o[n];break;default:l=e.normalizeStyleValue(n,r,l,s)}c[r]=l}),r||l.push(c),u=c,a=n}),s.length)throw new Error("Unable to animate due to the following errors:\n - "+s.join("\n - "));return l}function my(t,e,n,r){switch(e){case"start":t.onStart(function(){return r(n&&gy(n,"start",t.totalTime))});break;case"done":t.onDone(function(){return r(n&&gy(n,"done",t.totalTime))});break;case"destroy":t.onDestroy(function(){return r(n&&gy(n,"destroy",t.totalTime))})}}function gy(t,e,n){var r=yy(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,void 0==n?t.totalTime:n),i=t._data;return null!=i&&(r._data=i),r}function yy(t,e,n,r,i,o){return void 0===i&&(i=""),void 0===o&&(o=0),{element:t,triggerName:e,fromState:n,toState:r,phaseName:i,totalTime:o}}function vy(t,e,n){var r;return t instanceof Map?(r=t.get(e))||t.set(e,r=n):(r=t[e])||(r=t[e]=n),r}function by(t){var e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}var wy=function(t,e){return!1},My=function(t,e){return!1},ky=function(t,e,n){return[]};if("undefined"!=typeof Element){if(wy=function(t,e){return t.contains(e)},Element.prototype.matches)My=function(t,e){return t.matches(e)};else{var xy=Element.prototype,Ly=xy.matchesSelector||xy.mozMatchesSelector||xy.msMatchesSelector||xy.oMatchesSelector||xy.webkitMatchesSelector;Ly&&(My=function(t,e){return Ly.apply(t,[e])})}ky=function(t,e,n){var r=[];if(n)r.push.apply(r,t.querySelectorAll(e));else{var i=t.querySelector(e);i&&r.push(i)}return r}}var Cy=null,Sy=!1;function Ty(){return"undefined"!=typeof document?document.body:null}var Oy=My,Dy=wy,Yy=ky,Py=function(){function t(){}return t.prototype.validateStyleProperty=function(t){return function(t){Cy||(Cy=Ty()||{},Sy=!!Cy.style&&"WebkitAppearance"in Cy.style);var e=!0;return Cy.style&&!function(t){return"ebkit"==t.substring(1,6)}(t)&&!(e=t in Cy.style)&&Sy&&(e="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in Cy.style),e}(t)},t.prototype.matchesElement=function(t,e){return Oy(t,e)},t.prototype.containsElement=function(t,e){return Dy(t,e)},t.prototype.query=function(t,e,n){return Yy(t,e,n)},t.prototype.computeStyle=function(t,e,n){return n||""},t.prototype.animate=function(t,e,n,r,i,o){return void 0===o&&(o=[]),new Os},t}(),Ey=function(){function t(){}return t.NOOP=new Py,t}(),Ay=1e3;function jy(t){if("number"==typeof t)return t;var e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Iy(parseFloat(e[1]),e[2])}function Iy(t,e){switch(e){case"s":return t*Ay;default:return t}}function Ry(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){var r,i=0,o="";if("string"==typeof t){var s=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===s)return e.push('The provided timing value "'+t+'" is invalid.'),{duration:0,delay:0,easing:""};r=Iy(parseFloat(s[1]),s[2]);var l=s[3];null!=l&&(i=Iy(Math.floor(parseFloat(l)),s[4]));var a=s[5];a&&(o=a)}else r=t;if(!n){var u=!1,c=e.length;r<0&&(e.push("Duration values below 0 are not allowed for this animation step."),u=!0),i<0&&(e.push("Delay values below 0 are not allowed for this animation step."),u=!0),u&&e.splice(c,0,'The provided timing value "'+t+'" is invalid.')}return{duration:r,delay:i,easing:o}}(t,e,n)}function Hy(t,e){return void 0===e&&(e={}),Object.keys(t).forEach(function(n){e[n]=t[n]}),e}function Fy(t,e,n){if(void 0===n&&(n={}),e)for(var r in t)n[r]=t[r];else Hy(t,n);return n}function Ny(t,e){t.style&&Object.keys(e).forEach(function(n){var r=qy(n);t.style[r]=e[n]})}function Vy(t,e){t.style&&Object.keys(e).forEach(function(e){var n=qy(e);t.style[n]=""})}function By(t){return Array.isArray(t)?1==t.length?t[0]:Cs(t):t}var zy=new RegExp("{{\\s*(.+?)\\s*}}","g");function Wy(t){var e=[];if("string"==typeof t){for(var n=t.toString(),r=void 0;r=zy.exec(n);)e.push(r[1]);zy.lastIndex=0}return e}function Uy(t,e,n){var r=t.toString(),i=r.replace(zy,function(t,r){var i=e[r];return e.hasOwnProperty(r)||(n.push("Please provide a value for the animation param "+r),i=""),i.toString()});return i==r?t:i}function Gy(t){for(var e=[],n=t.next();!n.done;)e.push(n.value),n=t.next();return e}var Jy=/-+([a-z0-9])/g;function qy(t){return t.replace(Jy,function(){for(var t=[],e=0;e *";case":leave":return"* => void";case":increment":return function(t,e){return parseFloat(e)>parseFloat(t)};case":decrement":return function(t,e){return parseFloat(e) *"}}(t,n);if("function"==typeof r)return void e.push(r);t=r}var i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push('The provided transition expression "'+t+'" is not supported'),e;var o=i[1],s=i[2],l=i[3];e.push($y(o,l)),"<"!=s[0]||o==Ky&&l==Ky||e.push($y(l,o))}(t,i,r)}):i.push(n),i),animation:o,queryCount:e.queryCount,depCount:e.depCount,options:ov(t.options)}},t.prototype.visitSequence=function(t,e){var n=this;return{type:2,steps:t.steps.map(function(t){return Qy(n,t,e)}),options:ov(t.options)}},t.prototype.visitGroup=function(t,e){var n=this,r=e.currentTime,i=0,o=t.steps.map(function(t){e.currentTime=r;var o=Qy(n,t,e);return i=Math.max(i,e.currentTime),o});return e.currentTime=i,{type:3,steps:o,options:ov(t.options)}},t.prototype.visitAnimate=function(t,e){var n,r=function(t,e){var n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return sv(Ry(t,e).duration,0,"");var r=t;if(r.split(/\s+/).some(function(t){return"{"==t.charAt(0)&&"{"==t.charAt(1)})){var i=sv(0,0,"");return i.dynamic=!0,i.strValue=r,i}return sv((n=n||Ry(r,e)).duration,n.delay,n.easing)}(t.timings,e.errors);e.currentAnimateTimings=r;var i=t.styles?t.styles:Ss({});if(5==i.type)n=this.visitKeyframes(i,e);else{var o=t.styles,s=!1;if(!o){s=!0;var l={};r.easing&&(l.easing=r.easing),o=Ss(l)}e.currentTime+=r.duration+r.delay;var a=this.visitStyle(o,e);a.isEmptyStep=s,n=a}return e.currentAnimateTimings=null,{type:4,timings:r,style:n,options:null}},t.prototype.visitStyle=function(t,e){var n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n},t.prototype._makeStyleAst=function(t,e){var n=[];Array.isArray(t.styles)?t.styles.forEach(function(t){"string"==typeof t?t==Ls?n.push(t):e.errors.push("The provided style string value "+t+" is not allowed."):n.push(t)}):n.push(t.styles);var r=!1,i=null;return n.forEach(function(t){if(iv(t)){var e=t,n=e.easing;if(n&&(i=n,delete e.easing),!r)for(var o in e)if(e[o].toString().indexOf("{{")>=0){r=!0;break}}}),{type:6,styles:n,easing:i,offset:t.offset,containsDynamicStyles:r,options:null}},t.prototype._validateStyleAst=function(t,e){var n=this,r=e.currentAnimateTimings,i=e.currentTime,o=e.currentTime;r&&o>0&&(o-=r.duration+r.delay),t.styles.forEach(function(t){"string"!=typeof t&&Object.keys(t).forEach(function(r){if(n._driver.validateStyleProperty(r)){var s,l,a,u=e.collectedStyles[e.currentQuerySelector],c=u[r],d=!0;c&&(o!=i&&o>=c.startTime&&i<=c.endTime&&(e.errors.push('The CSS property "'+r+'" that exists between the times of "'+c.startTime+'ms" and "'+c.endTime+'ms" is also being animated in a parallel animation between the times of "'+o+'ms" and "'+i+'ms"'),d=!1),o=c.startTime),d&&(u[r]={startTime:o,endTime:i}),e.options&&(s=e.errors,l=e.options.params||{},(a=Wy(t[r])).length&&a.forEach(function(t){l.hasOwnProperty(t)||s.push("Unable to resolve the local animation param "+t+" in the given list of values")}))}else e.errors.push('The provided animation property "'+r+'" is not a supported CSS property for animations')})})},t.prototype.visitKeyframes=function(t,e){var n=this,r={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),r;var i=0,o=[],s=!1,l=!1,a=0,u=t.steps.map(function(t){var r=n._makeStyleAst(t,e),u=null!=r.offset?r.offset:function(t){if("string"==typeof t)return null;var e=null;if(Array.isArray(t))t.forEach(function(t){if(iv(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}});else if(iv(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}return e}(r.styles),c=0;return null!=u&&(i++,c=r.offset=u),l=l||c<0||c>1,s=s||c0&&i0?i==h?1:d*i:o[i],l=s*_;e.currentTime=p+f.delay+l,f.duration=l,n._validateStyleAst(t,e),t.offset=s,r.styles.push(t)}),r},t.prototype.visitReference=function(t,e){return{type:8,animation:Qy(this,By(t.animation),e),options:ov(t.options)}},t.prototype.visitAnimateChild=function(t,e){return e.depCount++,{type:9,options:ov(t.options)}},t.prototype.visitAnimateRef=function(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:ov(t.options)}},t.prototype.visitQuery=function(t,e){var n=e.currentQuerySelector,r=t.options||{};e.queryCount++,e.currentQuery=t;var i=function(t){var e=!!t.split(/\s*,\s*/).find(function(t){return":self"==t});return e&&(t=t.replace(tv,"")),[t=t.replace(/@\*/g,".ng-trigger").replace(/@\w+/g,function(t){return".ng-trigger-"+t.substr(1)}).replace(/:animating/g,".ng-animating"),e]}(t.selector),o=i[0],s=i[1];e.currentQuerySelector=n.length?n+" "+o:o,vy(e.collectedStyles,e.currentQuerySelector,{});var l=Qy(this,By(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:l,originalSelector:t.selector,options:ov(t.options)}},t.prototype.visitStagger=function(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");var n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Ry(t.timings,e.errors,!0);return{type:12,animation:Qy(this,By(t.animation),e),timings:n,options:null}},t}(),rv=function(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null};function iv(t){return!Array.isArray(t)&&"object"==typeof t}function ov(t){var e;return t?(t=Hy(t)).params&&(t.params=(e=t.params)?Hy(e):null):t={},t}function sv(t,e,n){return{duration:t,delay:e,easing:n}}function lv(t,e,n,r,i,o,s,l){return void 0===s&&(s=null),void 0===l&&(l=!1),{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:r,duration:i,delay:o,totalTime:i+o,easing:s,subTimeline:l}}var av=function(){function t(){this._map=new Map}return t.prototype.consume=function(t){var e=this._map.get(t);return e?this._map.delete(t):e=[],e},t.prototype.append=function(t,e){var n=this._map.get(t);n||this._map.set(t,n=[]),n.push.apply(n,e)},t.prototype.has=function(t){return this._map.has(t)},t.prototype.clear=function(){this._map.clear()},t}(),uv=new RegExp(":enter","g"),cv=new RegExp(":leave","g");function dv(t,e,n,r,i,o,s,l,a,u){return void 0===o&&(o={}),void 0===s&&(s={}),void 0===u&&(u=[]),(new hv).buildKeyframes(t,e,n,r,i,o,s,l,a,u)}var hv=function(){function t(){}return t.prototype.buildKeyframes=function(t,e,n,r,i,o,s,l,a,u){void 0===u&&(u=[]),a=a||new av;var c=new fv(t,e,a,r,i,u,[]);c.options=l,c.currentTimeline.setStyles([o],null,c.errors,l),Qy(this,n,c);var d=c.timelines.filter(function(t){return t.containsAnimation()});if(d.length&&Object.keys(s).length){var h=d[d.length-1];h.allowOnlyTimelineStyles()||h.setStyles([s],null,c.errors,l)}return d.length?d.map(function(t){return t.buildKeyframes()}):[lv(e,[],[],[],0,0,"",!1)]},t.prototype.visitTrigger=function(t,e){},t.prototype.visitState=function(t,e){},t.prototype.visitTransition=function(t,e){},t.prototype.visitAnimateChild=function(t,e){var n=e.subInstructions.consume(e.element);if(n){var r=e.createSubContext(t.options),i=e.currentTimeline.currentTime,o=this._visitSubInstructions(n,r,r.options);i!=o&&e.transformIntoNewTimeline(o)}e.previousNode=t},t.prototype.visitAnimateRef=function(t,e){var n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t},t.prototype._visitSubInstructions=function(t,e,n){var r=e.currentTimeline.currentTime,i=null!=n.duration?jy(n.duration):null,o=null!=n.delay?jy(n.delay):null;return 0!==i&&t.forEach(function(t){var n=e.appendInstructionToTimeline(t,i,o);r=Math.max(r,n.duration+n.delay)}),r},t.prototype.visitReference=function(t,e){e.updateOptions(t.options,!0),Qy(this,t.animation,e),e.previousNode=t},t.prototype.visitSequence=function(t,e){var n=this,r=e.subContextCount,i=e,o=t.options;if(o&&(o.params||o.delay)&&((i=e.createSubContext(o)).transformIntoNewTimeline(),null!=o.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=pv);var s=jy(o.delay);i.delayNextStep(s)}t.steps.length&&(t.steps.forEach(function(t){return Qy(n,t,i)}),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>r&&i.transformIntoNewTimeline()),e.previousNode=t},t.prototype.visitGroup=function(t,e){var n=this,r=[],i=e.currentTimeline.currentTime,o=t.options&&t.options.delay?jy(t.options.delay):0;t.steps.forEach(function(s){var l=e.createSubContext(t.options);o&&l.delayNextStep(o),Qy(n,s,l),i=Math.max(i,l.currentTimeline.currentTime),r.push(l.currentTimeline)}),r.forEach(function(t){return e.currentTimeline.mergeTimelineCollectedStyles(t)}),e.transformIntoNewTimeline(i),e.previousNode=t},t.prototype._visitTiming=function(t,e){if(t.dynamic){var n=t.strValue;return Ry(e.params?Uy(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}},t.prototype.visitAnimate=function(t,e){var n=e.currentAnimateTimings=this._visitTiming(t.timings,e),r=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),r.snapshotCurrentStyles());var i=t.style;5==i.type?this.visitKeyframes(i,e):(e.incrementTime(n.duration),this.visitStyle(i,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t},t.prototype.visitStyle=function(t,e){var n=e.currentTimeline,r=e.currentAnimateTimings;!r&&n.getCurrentStyleProperties().length&&n.forwardFrame();var i=r&&r.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(i):n.setStyles(t.styles,i,e.errors,e.options),e.previousNode=t},t.prototype.visitKeyframes=function(t,e){var n=e.currentAnimateTimings,r=e.currentTimeline.duration,i=n.duration,o=e.createSubContext().currentTimeline;o.easing=n.easing,t.styles.forEach(function(t){o.forwardTime((t.offset||0)*i),o.setStyles(t.styles,t.easing,e.errors,e.options),o.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(o),e.transformIntoNewTimeline(r+i),e.previousNode=t},t.prototype.visitQuery=function(t,e){var n=this,r=e.currentTimeline.currentTime,i=t.options||{},o=i.delay?jy(i.delay):0;o&&(6===e.previousNode.type||0==r&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=pv);var s=r,l=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=l.length;var a=null;l.forEach(function(r,i){e.currentQueryIndex=i;var l=e.createSubContext(t.options,r);o&&l.delayNextStep(o),r===e.element&&(a=l.currentTimeline),Qy(n,t.animation,l),l.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,l.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t},t.prototype.visitStagger=function(t,e){var n=e.parentContext,r=e.currentTimeline,i=t.timings,o=Math.abs(i.duration),s=o*(e.currentQueryTotal-1),l=o*e.currentQueryIndex;switch(i.duration<0?"reverse":i.easing){case"reverse":l=s-l;break;case"full":l=n.currentStaggerTime}var a=e.currentTimeline;l&&a.delayNextStep(l);var u=a.currentTime;Qy(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=r.currentTime-u+(r.startTime-n.currentTimeline.startTime)},t}(),pv={},fv=function(){function t(t,e,n,r,i,o,s,l){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=r,this._leaveClassName=i,this.errors=o,this.timelines=s,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=pv,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new _v(this._driver,e,0),s.push(this.currentTimeline)}return Object.defineProperty(t.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),t.prototype.updateOptions=function(t,e){var n=this;if(t){var r=t,i=this.options;null!=r.duration&&(i.duration=jy(r.duration)),null!=r.delay&&(i.delay=jy(r.delay));var o=r.params;if(o){var s=i.params;s||(s=this.options.params={}),Object.keys(o).forEach(function(t){e&&s.hasOwnProperty(t)||(s[t]=Uy(o[t],s,n.errors))})}}},t.prototype._copyOptions=function(){var t={};if(this.options){var e=this.options.params;if(e){var n=t.params={};Object.keys(e).forEach(function(t){n[t]=e[t]})}}return t},t.prototype.createSubContext=function(e,n,r){void 0===e&&(e=null);var i=n||this.element,o=new t(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,r||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(e),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o},t.prototype.transformIntoNewTimeline=function(t){return this.previousNode=pv,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline},t.prototype.appendInstructionToTimeline=function(t,e,n){var r={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},i=new mv(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,r,t.stretchStartingKeyframe);return this.timelines.push(i),r},t.prototype.incrementTime=function(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)},t.prototype.delayNextStep=function(t){t>0&&this.currentTimeline.delayNextStep(t)},t.prototype.invokeQuery=function(t,e,n,r,i,o){var s=[];if(r&&s.push(this.element),t.length>0){t=(t=t.replace(uv,"."+this._enterClassName)).replace(cv,"."+this._leaveClassName);var l=this._driver.query(this.element,t,1!=n);0!==n&&(l=n<0?l.slice(l.length+n,l.length):l.slice(0,n)),s.push.apply(s,l)}return i||0!=s.length||o.push('`query("'+e+'")` returned zero elements. (Use `query("'+e+'", { optional: true })` if you wish to allow this.)'),s},t}(),_v=function(){function t(t,e,n,r){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}return t.prototype.containsAnimation=function(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}},t.prototype.getCurrentStyleProperties=function(){return Object.keys(this._currentKeyframe)},Object.defineProperty(t.prototype,"currentTime",{get:function(){return this.startTime+this.duration},enumerable:!0,configurable:!0}),t.prototype.delayNextStep=function(t){var e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t},t.prototype.fork=function(e,n){return this.applyStylesToKeyframe(),new t(this._driver,e,n||this.currentTime,this._elementTimelineStylesLookup)},t.prototype._loadKeyframe=function(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))},t.prototype.forwardFrame=function(){this.duration+=1,this._loadKeyframe()},t.prototype.forwardTime=function(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()},t.prototype._updateStyle=function(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}},t.prototype.allowOnlyTimelineStyles=function(){return this._currentEmptyStepKeyframe!==this._currentKeyframe},t.prototype.applyEmptyStep=function(t){var e=this;t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(function(t){e._backFill[t]=e._globalTimelineStyles[t]||Ls,e._currentKeyframe[t]=Ls}),this._currentEmptyStepKeyframe=this._currentKeyframe},t.prototype.setStyles=function(t,e,n,r){var i=this;e&&(this._previousKeyframe.easing=e);var o=r&&r.params||{},s=function(t,e){var n,r={};return t.forEach(function(t){"*"===t?(n=n||Object.keys(e)).forEach(function(t){r[t]=Ls}):Fy(t,!1,r)}),r}(t,this._globalTimelineStyles);Object.keys(s).forEach(function(t){var e=Uy(s[t],o,n);i._pendingStyles[t]=e,i._localTimelineStyles.hasOwnProperty(t)||(i._backFill[t]=i._globalTimelineStyles.hasOwnProperty(t)?i._globalTimelineStyles[t]:Ls),i._updateStyle(t,e)})},t.prototype.applyStylesToKeyframe=function(){var t=this,e=this._pendingStyles,n=Object.keys(e);0!=n.length&&(this._pendingStyles={},n.forEach(function(n){t._currentKeyframe[n]=e[n]}),Object.keys(this._localTimelineStyles).forEach(function(e){t._currentKeyframe.hasOwnProperty(e)||(t._currentKeyframe[e]=t._localTimelineStyles[e])}))},t.prototype.snapshotCurrentStyles=function(){var t=this;Object.keys(this._localTimelineStyles).forEach(function(e){var n=t._localTimelineStyles[e];t._pendingStyles[e]=n,t._updateStyle(e,n)})},t.prototype.getFinalKeyframe=function(){return this._keyframes.get(this.duration)},Object.defineProperty(t.prototype,"properties",{get:function(){var t=[];for(var e in this._currentKeyframe)t.push(e);return t},enumerable:!0,configurable:!0}),t.prototype.mergeTimelineCollectedStyles=function(t){var e=this;Object.keys(t._styleSummary).forEach(function(n){var r=e._styleSummary[n],i=t._styleSummary[n];(!r||i.time>r.time)&&e._updateStyle(n,i.value)})},t.prototype.buildKeyframes=function(){var t=this;this.applyStylesToKeyframe();var e=new Set,n=new Set,r=1===this._keyframes.size&&0===this.duration,i=[];this._keyframes.forEach(function(o,s){var l=Fy(o,!0);Object.keys(l).forEach(function(t){var r=l[t];r==Ys?e.add(t):r==Ls&&n.add(t)}),r||(l.offset=s/t.duration),i.push(l)});var o=e.size?Gy(e.values()):[],s=n.size?Gy(n.values()):[];if(r){var l=i[0],a=Hy(l);l.offset=0,a.offset=1,i=[l,a]}return lv(this.element,i,o,s,this.duration,this.startTime,this.easing,!1)},t}(),mv=function(t){function e(e,n,r,i,o,s,l){void 0===l&&(l=!1);var a=t.call(this,e,n,s.delay)||this;return a.element=n,a.keyframes=r,a.preStyleProps=i,a.postStyleProps=o,a._stretchStartingKeyframe=l,a.timings={duration:s.duration,delay:s.delay,easing:s.easing},a}return Object(o.__extends)(e,t),e.prototype.containsAnimation=function(){return this.keyframes.length>1},e.prototype.buildKeyframes=function(){var t=this.keyframes,e=this.timings,n=e.delay,r=e.duration,i=e.easing;if(this._stretchStartingKeyframe&&n){var o=[],s=r+n,l=n/s,a=Fy(t[0],!1);a.offset=0,o.push(a);var u=Fy(t[0],!1);u.offset=gv(l),o.push(u);for(var c=t.length-1,d=1;d<=c;d++){var h=Fy(t[d],!1);h.offset=gv((n+h.offset*r)/s),o.push(h)}r=s,n=0,i="",t=o}return lv(this.element,t,this.preStyleProps,this.postStyleProps,r,n,i,!0)},e}(_v);function gv(t,e){void 0===e&&(e=3);var n=Math.pow(10,e-1);return Math.round(t*n)/n}var yv=function(){},vv=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.__extends)(e,t),e.prototype.normalizePropertyName=function(t,e){return qy(t)},e.prototype.normalizeStyleValue=function(t,e,n,r){var i="",o=n.toString().trim();if(bv[e]&&0!==n&&"0"!==n)if("number"==typeof n)i="px";else{var s=n.match(/^[+-]?[\d\.]+([a-z]*)$/);s&&0==s[1].length&&r.push("Please provide a CSS unit value for "+t+":"+n)}return o+i},e}(yv),bv=function(t){var e={};return"width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",").forEach(function(t){return e[t]=!0}),e}();function wv(t,e,n,r,i,o,s,l,a,u,c,d){return{type:0,element:t,triggerName:e,isRemovalTransition:i,fromState:n,fromStyles:o,toState:r,toStyles:s,timelines:l,queriedElements:a,preStyleProps:u,postStyleProps:c,errors:d}}var Mv={},kv=function(){function t(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}return t.prototype.match=function(t,e){return function(t,e,n){return t.some(function(t){return t(e,n)})}(this.ast.matchers,t,e)},t.prototype.buildStyles=function(t,e,n){var r=this._stateStyles["*"],i=this._stateStyles[t],o=r?r.buildStyles(e,n):{};return i?i.buildStyles(e,n):o},t.prototype.build=function(t,e,n,r,i,s,l,a,u){var c=[],d=this.ast.options&&this.ast.options.params||Mv,h=this.buildStyles(n,l&&l.params||Mv,c),p=a&&a.params||Mv,f=this.buildStyles(r,p,c),_=new Set,m=new Map,g=new Map,y="void"===r,v={params:Object(o.__assign)({},d,p)},b=dv(t,e,this.ast.animation,i,s,h,f,v,u,c);if(c.length)return wv(e,this._triggerName,n,r,y,h,f,[],[],m,g,c);b.forEach(function(t){var n=t.element,r=vy(m,n,{});t.preStyleProps.forEach(function(t){return r[t]=!0});var i=vy(g,n,{});t.postStyleProps.forEach(function(t){return i[t]=!0}),n!==e&&_.add(n)});var w=Gy(_.values());return wv(e,this._triggerName,n,r,y,h,f,b,w,m,g)},t}(),xv=function(){function t(t,e){this.styles=t,this.defaultParams=e}return t.prototype.buildStyles=function(t,e){var n={},r=Hy(this.defaultParams);return Object.keys(t).forEach(function(e){var n=t[e];null!=n&&(r[e]=n)}),this.styles.styles.forEach(function(t){if("string"!=typeof t){var i=t;Object.keys(i).forEach(function(t){var o=i[t];o.length>1&&(o=Uy(o,r,e)),n[t]=o})}}),n},t}(),Lv=function(){function t(t,e){var n=this;this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach(function(t){n.states[t.name]=new xv(t.style,t.options&&t.options.params||{})}),Cv(this.states,"true","1"),Cv(this.states,"false","0"),e.transitions.forEach(function(e){n.transitionFactories.push(new kv(t,e,n.states))}),this.fallbackTransition=new kv(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[function(t,e){return!0}],options:null,queryCount:0,depCount:0},this.states)}return Object.defineProperty(t.prototype,"containsQueries",{get:function(){return this.ast.queryCount>0},enumerable:!0,configurable:!0}),t.prototype.matchTransition=function(t,e){return this.transitionFactories.find(function(n){return n.match(t,e)})||null},t.prototype.matchStyles=function(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)},t}();function Cv(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}var Sv=new av,Tv=function(){function t(t,e){this._driver=t,this._normalizer=e,this._animations={},this._playersById={},this.players=[]}return t.prototype.register=function(t,e){var n=[],r=ev(this._driver,e,n);if(n.length)throw new Error("Unable to build the animation due to the following errors: "+n.join("\n"));this._animations[t]=r},t.prototype._buildPlayer=function(t,e,n){var r=t.element,i=_y(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(r,i,t.duration,t.delay,t.easing,[])},t.prototype.create=function(t,e,n){var r=this;void 0===n&&(n={});var i,o=[],s=this._animations[t],l=new Map;if(s?(i=dv(this._driver,e,s,"ng-enter","ng-leave",{},{},n,Sv,o)).forEach(function(t){var e=vy(l,t.element,{});t.postStyleProps.forEach(function(t){return e[t]=null})}):(o.push("The requested animation doesn't exist or has already been destroyed"),i=[]),o.length)throw new Error("Unable to create the animation due to the following errors: "+o.join("\n"));l.forEach(function(t,e){Object.keys(t).forEach(function(n){t[n]=r._driver.computeStyle(e,n,Ls)})});var a=fy(i.map(function(t){var e=l.get(t.element);return r._buildPlayer(t,{},e)}));return this._playersById[t]=a,a.onDestroy(function(){return r.destroy(t)}),this.players.push(a),a},t.prototype.destroy=function(t){var e=this._getPlayer(t);e.destroy(),delete this._playersById[t];var n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)},t.prototype._getPlayer=function(t){var e=this._playersById[t];if(!e)throw new Error("Unable to find the timeline player referenced by "+t);return e},t.prototype.listen=function(t,e,n,r){var i=yy(e,"","","");return my(this._getPlayer(t),n,i,r),function(){}},t.prototype.command=function(t,e,n,r){if("register"!=n)if("create"!=n){var i=this._getPlayer(t);switch(n){case"play":i.play();break;case"pause":i.pause();break;case"reset":i.reset();break;case"restart":i.restart();break;case"finish":i.finish();break;case"init":i.init();break;case"setPosition":i.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(t)}}else this.create(t,e,r[0]||{});else this.register(t,r[0])},t}(),Ov=[],Dv={namespaceId:"",setForRemoval:null,hasAnimation:!1,removedBeforeQueried:!1},Yv={namespaceId:"",setForRemoval:null,hasAnimation:!1,removedBeforeQueried:!0},Pv="__ng_removed",Ev=function(){function t(t,e){void 0===e&&(e=""),this.namespaceId=e;var n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){var r=Hy(t);delete r.value,this.options=r}else this.options={};this.options.params||(this.options.params={})}return Object.defineProperty(t.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),t.prototype.absorbOptions=function(t){var e=t.params;if(e){var n=this.options.params;Object.keys(e).forEach(function(t){null==n[t]&&(n[t]=e[t])})}},t}(),Av=new Ev("void"),jv=new Ev("DELETED"),Iv=function(){function t(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,Wv(e,this._hostClassName)}return t.prototype.listen=function(t,e,n,r){var i,o=this;if(!this._triggers.hasOwnProperty(e))throw new Error('Unable to listen on the animation trigger event "'+n+'" because the animation trigger "'+e+"\" doesn't exist!");if(null==n||0==n.length)throw new Error('Unable to listen on the animation trigger "'+e+'" because the provided event is undefined!');if("start"!=(i=n)&&"done"!=i)throw new Error('The provided animation trigger event "'+n+'" for the animation trigger "'+e+'" is not supported!');var s=vy(this._elementListeners,t,[]),l={name:e,phase:n,callback:r};s.push(l);var a=vy(this._engine.statesByElement,t,{});return a.hasOwnProperty(e)||(Wv(t,"ng-trigger"),Wv(t,"ng-trigger-"+e),a[e]=Av),function(){o._engine.afterFlush(function(){var t=s.indexOf(l);t>=0&&s.splice(t,1),o._triggers[e]||delete a[e]})}},t.prototype.register=function(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)},t.prototype._getTrigger=function(t){var e=this._triggers[t];if(!e)throw new Error('The provided animation trigger "'+t+'" has not been registered!');return e},t.prototype.trigger=function(t,e,n,r){var i=this;void 0===r&&(r=!0);var o=this._getTrigger(e),s=new Hv(this.id,e,t),l=this._engine.statesByElement.get(t);l||(Wv(t,"ng-trigger"),Wv(t,"ng-trigger-"+e),this._engine.statesByElement.set(t,l={}));var a=l[e],u=new Ev(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&a&&u.absorbOptions(a.options),l[e]=u,a){if(a===jv)return s}else a=Av;if("void"===u.value||a.value!==u.value){var c=vy(this._engine.playersByElement,t,[]);c.forEach(function(t){t.namespaceId==i.id&&t.triggerName==e&&t.queued&&t.destroy()});var d=o.matchTransition(a.value,u.value),h=!1;if(!d){if(!r)return;d=o.fallbackTransition,h=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:d,fromState:a,toState:u,player:s,isFallbackTransition:h}),h||(Wv(t,"ng-animate-queued"),s.onStart(function(){Uv(t,"ng-animate-queued")})),s.onDone(function(){var e=i.players.indexOf(s);e>=0&&i.players.splice(e,1);var n=i._engine.playersByElement.get(t);if(n){var r=n.indexOf(s);r>=0&&n.splice(r,1)}}),this.players.push(s),c.push(s),s}if(!function(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i=0;i=0){for(var r=!1,i=n;i>=0;i--)if(this.driver.containsElement(this._namespaceList[i].hostElement,e)){this._namespaceList.splice(i+1,0,t),r=!0;break}r||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t},t.prototype.register=function(t,e){var n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n},t.prototype.registerTrigger=function(t,e,n){var r=this._namespaceLookup[t];r&&r.register(e,n)&&this.totalAnimations++},t.prototype.destroy=function(t,e){var n=this;if(t){var r=this._fetchNamespace(t);this.afterFlush(function(){n.namespacesByHostElement.delete(r.hostElement),delete n._namespaceLookup[t];var e=n._namespaceList.indexOf(r);e>=0&&n._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(function(){return r.destroy(e)})}},t.prototype._fetchNamespace=function(t){return this._namespaceLookup[t]},t.prototype.fetchNamespacesByElement=function(t){var e=new Set,n=this.statesByElement.get(t);if(n)for(var r=Object.keys(n),i=0;i=0;L--)this._namespaceList[L].drainQueuedTransitions(e).forEach(function(t){var e=t.player;k.push(e);var o=t.element;if(h&&n.driver.containsElement(h,o)){var s=w.get(o),d=_.get(o),p=n._buildInstruction(t,r,d,s);if(p.errors&&p.errors.length)x.push(p);else{if(t.isFallbackTransition)return e.onStart(function(){return Vy(o,p.fromStyles)}),e.onDestroy(function(){return Ny(o,p.toStyles)}),void i.push(e);p.timelines.forEach(function(t){return t.stretchStartingKeyframe=!0}),r.append(o,p.timelines),l.push({instruction:p,player:e,element:o}),p.queriedElements.forEach(function(t){return vy(a,t,[]).push(e)}),p.preStyleProps.forEach(function(t,e){var n=Object.keys(t);if(n.length){var r=u.get(e);r||u.set(e,r=new Set),n.forEach(function(t){return r.add(t)})}}),p.postStyleProps.forEach(function(t,e){var n=Object.keys(t),r=c.get(e);r||c.set(e,r=new Set),n.forEach(function(t){return r.add(t)})})}}else e.destroy()});if(x.length){var C=[];x.forEach(function(t){C.push("@"+t.triggerName+" has failed due to:\n"),t.errors.forEach(function(t){return C.push("- "+t+"\n")})}),k.forEach(function(t){return t.destroy()}),this.reportError(C)}var S=new Map,T=new Map;l.forEach(function(t){var e=t.element;r.has(e)&&(T.set(e,e),n._beforeAnimationBuild(t.player.namespaceId,t.instruction,S))}),i.forEach(function(t){var e=t.element;n._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(function(t){vy(S,e,[]).push(t),t.destroy()})});var O=g.filter(function(t){return Jv(t,u,c)}),D=new Map;Vv(D,this.driver,v,c,Ls).forEach(function(t){Jv(t,u,c)&&O.push(t)});var Y=new Map;f.forEach(function(t,e){Vv(Y,n.driver,new Set(t),u,Ys)}),O.forEach(function(t){var e=D.get(t),n=Y.get(t);D.set(t,Object(o.__assign)({},e,n))});var P=[],E=[],A={};l.forEach(function(t){var e=t.element,o=t.player,l=t.instruction;if(r.has(e)){if(d.has(e))return o.onDestroy(function(){return Ny(e,l.toStyles)}),void i.push(o);var a=A;if(T.size>1){for(var u=e,c=[];u=u.parentNode;){var h=T.get(u);if(h){a=h;break}c.push(u)}c.forEach(function(t){return T.set(t,a)})}var p=n._buildAnimation(o.namespaceId,l,S,s,Y,D);if(o.setRealPlayer(p),a===A)P.push(o);else{var f=n.playersByElement.get(a);f&&f.length&&(o.parentPlayer=fy(f)),i.push(o)}}else Vy(e,l.fromStyles),o.onDestroy(function(){return Ny(e,l.toStyles)}),E.push(o),d.has(e)&&i.push(o)}),E.forEach(function(t){var e=s.get(t.element);if(e&&e.length){var n=fy(e);t.setRealPlayer(n)}}),i.forEach(function(t){t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(var j=0;j0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new Os},t}(),Hv=function(){function t(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new Os,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.queued=!0}return t.prototype.setRealPlayer=function(t){var e=this;this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(function(n){e._queuedCallbacks[n].forEach(function(e){return my(t,n,void 0,e)})}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.queued=!1)},t.prototype.getRealPlayer=function(){return this._player},t.prototype.syncPlayerEvents=function(t){var e=this,n=this._player;n.triggerCallback&&t.onStart(function(){return n.triggerCallback("start")}),t.onDone(function(){return e.finish()}),t.onDestroy(function(){return e.destroy()})},t.prototype._queueEvent=function(t,e){vy(this._queuedCallbacks,t,[]).push(e)},t.prototype.onDone=function(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)},t.prototype.onStart=function(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)},t.prototype.onDestroy=function(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)},t.prototype.init=function(){this._player.init()},t.prototype.hasStarted=function(){return!this.queued&&this._player.hasStarted()},t.prototype.play=function(){!this.queued&&this._player.play()},t.prototype.pause=function(){!this.queued&&this._player.pause()},t.prototype.restart=function(){!this.queued&&this._player.restart()},t.prototype.finish=function(){this._player.finish()},t.prototype.destroy=function(){this.destroyed=!0,this._player.destroy()},t.prototype.reset=function(){!this.queued&&this._player.reset()},t.prototype.setPosition=function(t){this.queued||this._player.setPosition(t)},t.prototype.getPosition=function(){return this.queued?0:this._player.getPosition()},Object.defineProperty(t.prototype,"totalTime",{get:function(){return this._player.totalTime},enumerable:!0,configurable:!0}),t.prototype.triggerCallback=function(t){var e=this._player;e.triggerCallback&&e.triggerCallback(t)},t}();function Fv(t){return t&&1===t.nodeType}function Nv(t,e){var n=t.style.display;return t.style.display=null!=e?e:"none",n}function Vv(t,e,n,r,i){var o=[];n.forEach(function(t){return o.push(Nv(t))});var s=[];r.forEach(function(n,r){var o={};n.forEach(function(t){var n=o[t]=e.computeStyle(r,t,i);n&&0!=n.length||(r[Pv]=Yv,s.push(r))}),t.set(r,o)});var l=0;return n.forEach(function(t){return Nv(t,o[l++])}),s}function Bv(t,e){var n=new Map;if(t.forEach(function(t){return n.set(t,[])}),0==e.length)return n;var r=new Set(e),i=new Map;return e.forEach(function(t){var e=function t(e){if(!e)return 1;var o=i.get(e);if(o)return o;var s=e.parentNode;return o=n.has(s)?s:r.has(s)?1:t(s),i.set(e,o),o}(t);1!==e&&n.get(e).push(t)}),n}var zv="$$classes";function Wv(t,e){if(t.classList)t.classList.add(e);else{var n=t[zv];n||(n=t[zv]={}),n[e]=!0}}function Uv(t,e){if(t.classList)t.classList.remove(e);else{var n=t[zv];n&&delete n[e]}}function Gv(t,e,n){fy(n).onDone(function(){return t.processLeaveNode(e)})}function Jv(t,e,n){var r=n.get(t);if(!r)return!1;var i=e.get(t);return i?r.forEach(function(t){return i.add(t)}):e.set(t,r),n.delete(t),!0}var qv=function(){function t(t,e){var n=this;this._driver=t,this._triggerCache={},this.onRemovalComplete=function(t,e){},this._transitionEngine=new Rv(t,e),this._timelineEngine=new Tv(t,e),this._transitionEngine.onRemovalComplete=function(t,e){return n.onRemovalComplete(t,e)}}return t.prototype.registerTrigger=function(t,e,n,r,i){var o=t+"-"+r,s=this._triggerCache[o];if(!s){var l=[],a=ev(this._driver,i,l);if(l.length)throw new Error('The animation trigger "'+r+'" has failed to build due to the following errors:\n - '+l.join("\n - "));s=function(t,e){return new Lv(t,e)}(r,a),this._triggerCache[o]=s}this._transitionEngine.registerTrigger(e,r,s)},t.prototype.register=function(t,e){this._transitionEngine.register(t,e)},t.prototype.destroy=function(t,e){this._transitionEngine.destroy(t,e)},t.prototype.onInsert=function(t,e,n,r){this._transitionEngine.insertNode(t,e,n,r)},t.prototype.onRemove=function(t,e,n){this._transitionEngine.removeNode(t,e,n)},t.prototype.disableAnimations=function(t,e){this._transitionEngine.markElementAsDisabled(t,e)},t.prototype.process=function(t,e,n,r){if("@"==n.charAt(0)){var i=by(n);this._timelineEngine.command(i[0],e,i[1],r)}else this._transitionEngine.trigger(t,e,n,r)},t.prototype.listen=function(t,e,n,r,i){if("@"==n.charAt(0)){var o=by(n);return this._timelineEngine.listen(o[0],e,o[1],i)}return this._transitionEngine.listen(t,e,n,r,i)},t.prototype.flush=function(t){void 0===t&&(t=-1),this._transitionEngine.flush(t)},Object.defineProperty(t.prototype,"players",{get:function(){return this._transitionEngine.players.concat(this._timelineEngine.players)},enumerable:!0,configurable:!0}),t.prototype.whenRenderingDone=function(){return this._transitionEngine.whenRenderingDone()},t}(),Qv=function(t){function e(e,n){var i=t.call(this)||this;return i._nextAnimationId=0,i._renderer=e.createRenderer(n.body,{id:"0",encapsulation:r.S.None,styles:[],data:{animation:[]}}),i}return Object(o.__extends)(e,t),e.prototype.build=function(t){var e=this._nextAnimationId.toString();this._nextAnimationId++;var n=Array.isArray(t)?Cs(t):t;return Zv(this._renderer,null,e,"register",[n]),new Kv(e,this._renderer)},e}(xs),Kv=function(t){function e(e,n){var r=t.call(this)||this;return r._id=e,r._renderer=n,r}return Object(o.__extends)(e,t),e.prototype.create=function(t,e){return new Xv(this._id,t,e||{},this._renderer)},e}(function(){}),Xv=function(){function t(t,e,n,r){this.id=t,this.element=e,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}return t.prototype._listen=function(t,e){return this._renderer.listen(this.element,"@@"+this.id+":"+t,e)},t.prototype._command=function(t){for(var e=[],n=1;n=0&&t=11?t:t+12:"sore"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"siang":t<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("PJh5"))},z3hR:function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return e?i[n][0]:i[n][1]}function n(t){if(t=parseInt(t,10),isNaN(t))return!1;if(t<0)return!0;if(t<10)return 4<=t&&t<=7;if(t<100){var e=t%10;return n(0===e?t/10:e)}if(t<1e4){for(;t>=10;)t/=10;return n(t)}return n(t/=1e3)}t.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(t){return n(t.substr(0,t.indexOf(" ")))?"a "+t:"an "+t},past:function(t){return n(t.substr(0,t.indexOf(" ")))?"viru "+t:"virun "+t},s:"e puer Sekonnen",ss:"%d Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d M\xe9int",y:e,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("PJh5"))}},[0]); \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/polyfills.f43c2ec828cc11243da0.bundle.js b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/polyfills.f43c2ec828cc11243da0.bundle.js new file mode 100755 index 0000000..4c1e2c4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/polyfills.f43c2ec828cc11243da0.bundle.js @@ -0,0 +1 @@ +webpackJsonp([2],{"/whu":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"0Rih":function(t,e,n){"use strict";var r=n("OzIq"),o=n("Ds5P"),i=n("R3AP"),a=n("A16L"),c=n("1aA0"),u=n("vmSO"),s=n("9GpA"),f=n("UKM+"),l=n("zgIt"),p=n("qkyc"),h=n("yYvK"),v=n("kic5");t.exports=function(t,e,n,d,y,g){var _=r[t],k=_,m=y?"set":"add",b=k&&k.prototype,w={},T=function(t){var e=b[t];i(b,t,"delete"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return g&&!f(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof k&&(g||b.forEach&&!l(function(){(new k).entries().next()}))){var O=new k,D=O[m](g?{}:-0,1)!=O,E=l(function(){O.has(1)}),S=p(function(t){new k(t)}),P=!g&&l(function(){for(var t=new k,e=5;e--;)t[m](e,e);return!t.has(-0)});S||((k=e(function(e,n){s(e,k,t);var r=v(new _,e,k);return void 0!=n&&u(n,y,r[m],r),r})).prototype=b,b.constructor=k),(E||P)&&(T("delete"),T("has"),y&&T("get")),(P||D)&&T(m),g&&b.clear&&delete b.clear}else k=d.getConstructor(e,t,y,m),a(k.prototype,n),c.NEED=!0;return h(k,t),w[t]=k,o(o.G+o.W+o.F*(k!=_),w),g||d.setStrong(k,t,y),k}},1:function(t,e,n){t.exports=n("XS25")},"1aA0":function(t,e,n){var r=n("ulTY")("meta"),o=n("UKM+"),i=n("WBcL"),a=n("lDLk").f,c=0,u=Object.isExtensible||function(){return!0},s=!n("zgIt")(function(){return u(Object.preventExtensions({}))}),f=function(t){a(t,r,{value:{i:"O"+ ++c,w:{}}})},l=t.exports={KEY:r,NEED:!1,fastKey:function(t,e){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,r)){if(!u(t))return"F";if(!e)return"E";f(t)}return t[r].i},getWeak:function(t,e){if(!i(t,r)){if(!u(t))return!0;if(!e)return!1;f(t)}return t[r].w},onFreeze:function(t){return s&&l.NEED&&u(t)&&!i(t,r)&&f(t),t}}},"2p1q":function(t,e,n){var r=n("lDLk"),o=n("fU25");t.exports=n("bUqO")?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},"2tFN":function(t,e,n){n("CVR+"),n("vmSu"),n("4ZU1"),n("yx1U"),n("X7aK"),n("SPtU"),n("A52B"),n("PuTd"),n("dm+7"),n("JG34"),n("Rw4K"),n("9mGU"),n("bUY0"),n("mTp7"),t.exports=n("7gX0").Reflect},"3q4u":function(t,e,n){var r=n("wCso"),o=n("DIVP"),i=r.key,a=r.map,c=r.store;r.exp({deleteMetadata:function(t,e){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(e),n,!1);if(void 0===r||!r.delete(t))return!1;if(r.size)return!0;var u=c.get(e);return u.delete(n),!!u.size||c.delete(e)}})},"4ZU1":function(t,e,n){var r=n("lDLk"),o=n("Ds5P"),i=n("DIVP"),a=n("s4j0");o(o.S+o.F*n("zgIt")(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(t,e,n){i(t),e=a(e,!0),i(n);try{return r.f(t,e,n),!0}catch(t){return!1}}})},"7gX0":function(t,e){var n=t.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},"7ylX":function(t,e,n){var r=n("DIVP"),o=n("twxM"),i=n("QKXm"),a=n("mZON")("IE_PROTO"),c=function(){},u=function(){var t,e=n("jhxf")("iframe"),r=i.length;for(e.style.display="none",n("d075").appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("'],s=0;o>s;s++){a.push("");for(var h=0;o>h;h++)a.push('');a.push("")}a.push("
              "),r.innerHTML=a.join("");var u=r.childNodes[0],l=(e.width-u.offsetWidth)/2,f=(e.height-u.offsetHeight)/2;l>0&&f>0&&(u.style.margin=f+"px "+l+"px")},t.prototype.clear=function(){this._el.innerHTML=""},t}();(QRCode=function(t,e){if(this._htOption={width:256,height:256,typeNumber:4,colorDark:"#000000",colorLight:"#ffffff",correctLevel:s.H},"string"==typeof e&&(e={text:e}),e)for(var r in e)this._htOption[r]=e[r];"string"==typeof t&&(t=document.getElementById(t)),this._android=n(),this._el=t,this._oQRCode=null,this._oDrawing=new c(this._el,this._htOption),this._htOption.text&&this.makeCode(this._htOption.text)}).prototype.makeCode=function(t){this._oQRCode=new e(function(t,e){for(var r=1,o=function(t){var e=encodeURI(t).toString().replace(/\%[0-9a-fA-F]{2}/g,"a");return e.length+(e.length!=t?3:0)}(t),i=0,n=g.length;n>=i;i++){var a=0;switch(e){case s.L:a=g[i][0];break;case s.M:a=g[i][1];break;case s.Q:a=g[i][2];break;case s.H:a=g[i][3]}if(a>=o)break;r++}if(r>g.length)throw new Error("Too long data");return r}(t,this._htOption.correctLevel),this._htOption.correctLevel),this._oQRCode.addData(t),this._oQRCode.make(),this._el.title=t,this._oDrawing.draw(this._oQRCode),this.makeImage()},QRCode.prototype.makeImage=function(){"function"==typeof this._oDrawing.makeImage&&(!this._android||this._android>=3)&&this._oDrawing.makeImage()},QRCode.prototype.clear=function(){this._oDrawing.clear()},QRCode.CorrectLevel=s}(); \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/styles.f58b58865ca78ccb80f3.bundle.css b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/styles.f58b58865ca78ccb80f3.bundle.css new file mode 100755 index 0000000..e7cdb2b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/styles.f58b58865ca78ccb80f3.bundle.css @@ -0,0 +1,9 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url(fontawesome-webfont.674f50d287a8c48dc19b.eot?v=4.7.0);src:url(fontawesome-webfont.674f50d287a8c48dc19b.eot?#iefix&v=4.7.0) format('embedded-opentype'),url(fontawesome-webfont.af7ae505a9eed503f8b8.woff2?v=4.7.0) format('woff2'),url(fontawesome-webfont.fee66e712a8a08eef580.woff?v=4.7.0) format('woff'),url(fontawesome-webfont.b06871f281fee6b241d6.ttf?v=4.7.0) format('truetype'),url(fontawesome-webfont.912ec66d7572ff821749.svg?v=4.7.0#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:2s linear infinite fa-spin;animation:2s linear infinite fa-spin}.fa-pulse{-webkit-animation:1s steps(8) infinite fa-spin;animation:1s steps(8) infinite fa-spin}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:url(MaterialIcons-Regular.e79bfd88537def476913.eot);src:local('Material Icons'),local('MaterialIcons-Regular'),url(MaterialIcons-Regular.570eb83859dc23dd0eec.woff2) format('woff2'),url(MaterialIcons-Regular.012cf6a10129e2275d79.woff) format('woff'),url(MaterialIcons-Regular.a37b0c01c0baf1888ca8.ttf) format('truetype')}.material-icons{font-family:'Material Icons';font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:'liga';font-feature-settings:'liga'}.-table:last-of-type{margin-bottom:30px}.-table .-headers{color:rgba(30,34,39,.2);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;font-weight:700;height:50px;line-height:50px;margin:0 30px}.-table .-headers>div{padding:0 20px}.-table .-body{border-radius:15px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);box-shadow:0 0 2px 2px rgba(0,0,0,.01),1px 1px 2px 2px rgba(0,0,0,.01);margin:0 30px}.-table .-body .-row{font-size:13px;line-height:60px;height:60px;background:#fafafa;display:-webkit-box;display:-ms-flexbox;display:flex}.-table .-body .-row:not(:last-child){border-bottom:1px solid #eff0f0}.-table .-body .-row:first-child{border-top-left-radius:15px;border-top-right-radius:15px}.-table .-body .-row:last-child{border-bottom-left-radius:15px;border-bottom-right-radius:15px}.-table .-body .-row>div{padding:0 20px}.-table .-width-70{width:70px}.-table .-width-150{width:150px}.-table .-width-200{width:200px}.-table .-width-250{width:250px}/*! + * Bootstrap Grid v4.0.0-beta.3 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */@-ms-viewport{width:device-width}html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar;height:100%}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333333%;flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{-webkit-box-flex:0;-ms-flex:0 0 16.66666667%;flex:0 0 16.66666667%;max-width:16.66666667%}.col-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333333%;flex:0 0 33.33333333%;max-width:33.33333333%}.col-5{-webkit-box-flex:0;-ms-flex:0 0 41.66666667%;flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333333%;flex:0 0 58.33333333%;max-width:58.33333333%}.col-8{-webkit-box-flex:0;-ms-flex:0 0 66.66666667%;flex:0 0 66.66666667%;max-width:66.66666667%}.col-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333333%;flex:0 0 83.33333333%;max-width:83.33333333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 91.66666667%;flex:0 0 91.66666667%;max-width:91.66666667%}.col-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333333%;flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.66666667%;flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333333%;flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.66666667%;flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333333%;flex:0 0 58.33333333%;max-width:58.33333333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.66666667%;flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333333%;flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.66666667%;flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-sm-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-sm-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-sm-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-sm-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-sm-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-sm-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-sm-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-sm-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333333%;flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.66666667%;flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333333%;flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.66666667%;flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333333%;flex:0 0 58.33333333%;max-width:58.33333333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.66666667%;flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333333%;flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.66666667%;flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-md-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-md-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-md-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-md-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-md-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-md-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-md-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-md-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333333%;flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.66666667%;flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333333%;flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.66666667%;flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333333%;flex:0 0 58.33333333%;max-width:58.33333333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.66666667%;flex:0 0 66.66666667%;max-width:66.66666667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333333%;flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.66666667%;flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-lg-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-lg-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-lg-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-lg-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-lg-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-lg-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-lg-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-lg-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333333%;flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.66666667%;flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333333%;flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.66666667%;flex:0 0 41.66666667%;max-width:41.66666667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333333%;flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.66666667%;flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333333%;flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.66666667%;flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xl-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-xl-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-xl-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-xl-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-xl-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-xl-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-xl-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}.mat-elevation-z0{-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{-webkit-box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12);box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{-webkit-box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12);box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{-webkit-box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12);box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{-webkit-box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12);box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{-webkit-box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12);box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{-webkit-box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12);box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{-webkit-box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12);box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{-webkit-box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12);box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{-webkit-box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12);box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{-webkit-box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12);box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{-webkit-box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12);box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{-webkit-box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12);box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{-webkit-box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12);box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{-webkit-box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12);box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{-webkit-box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12);box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{-webkit-box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12);box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{-webkit-box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12);box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{-webkit-box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12);box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{-webkit-box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font-size:11.62px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-h6,.mat-typography h6{font-size:9.38px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:inherit;font-weight:400;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.4375em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333333%}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335333%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.28125em}.mat-form-field-underline{bottom:1.25em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.54166667em;top:calc(100% - 1.66666667em)}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;-webkit-box-sizing:border-box;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-list-item,.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;-webkit-box-sizing:border-box;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;-webkit-box-sizing:border-box;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;-webkit-box-sizing:border-box;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;-webkit-box-sizing:border-box;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}@media screen and (-ms-high-contrast:active){.mat-ripple{display:none}.mat-option-ripple{opacity:.5}}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;-webkit-transition:opacity,-webkit-transform 0s cubic-bezier(0,0,.2,1);transition:opacity,-webkit-transform 0s cubic-bezier(0,0,.2,1);transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transition:opacity,transform 0s cubic-bezier(0,0,.2,1),-webkit-transform 0s cubic-bezier(0,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}.mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;position:relative;cursor:pointer;outline:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;max-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:rgba(0,0,0,.87)}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.mat-option-text{display:inline-block;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}.mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;color:rgba(0,0,0,.54)}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-global-overlay-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:1000}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;-webkit-transition:opacity .4s cubic-bezier(.25,.8,.25,1);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.48}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.6)}.cdk-overlay-transparent-backdrop{background:0 0}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#0072ff}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ffc125}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ffc125}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#0072ff}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button{background:0 0}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay{background-color:rgba(0,114,255,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay{background-color:rgba(255,193,37,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary{color:#0072ff}.mat-button.mat-accent,.mat-icon-button.mat-accent{color:#ffc125}.mat-button.mat-warn,.mat-icon-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled]{color:rgba(0,0,0,.38)}.mat-fab,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-accent,.mat-fab.mat-primary,.mat-fab.mat-warn,.mat-mini-fab.mat-accent,.mat-mini-fab.mat-primary,.mat-mini-fab.mat-warn,.mat-raised-button.mat-accent,.mat-raised-button.mat-primary,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.38);background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#0072ff}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#ffc125}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent .mat-ripple-element,.mat-fab.mat-primary .mat-ripple-element,.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-button.mat-primary .mat-ripple-element{background-color:rgba(0,114,255,.1)}.mat-button.mat-accent .mat-ripple-element{background-color:rgba(255,193,37,.1)}.mat-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(0,114,255,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(255,193,37,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle.cdk-focused .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.06)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-disabled{background-color:#eee;color:rgba(0,0,0,.38)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#0072ff}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ffc125}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#b0b0b0}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(0,114,255,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(255,193,37,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip:not(.mat-basic-chip){background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip:not(.mat-basic-chip) .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip:not(.mat-basic-chip) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-primary{background-color:#0072ff;color:#fff}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-accent{background-color:#ffc125;color:#fff}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#fff}.mat-header-row,.mat-row{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell{color:rgba(0,0,0,.87)}.mat-datepicker-content{background-color:#fff;color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-calendar-next-button,.mat-calendar-previous-button{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-selected{background-color:#0072ff;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(0,114,255,.4)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-today.mat-calendar-body-selected{-webkit-box-shadow:inset 0 0 0 1px #fff;box-shadow:inset 0 0 0 1px #fff}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-dialog-container,.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.38)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label,.mat-hint{color:rgba(0,0,0,.54)}.mat-focused .mat-form-field-label{color:#0072ff}.mat-focused .mat-form-field-label.mat-accent{color:#ffc125}.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ffc125}.mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-disabled .mat-form-field-underline{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.42)),color-stop(33%,rgba(0,0,0,.42)),color-stop(0,transparent));background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x}.mat-form-field-ripple{background-color:#0072ff}.mat-form-field-ripple.mat-accent{background-color:#ffc125}.mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-invalid .mat-form-field-label,.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field-invalid .mat-form-field-ripple{background-color:#f44336}.mat-error{color:#f44336}.mat-icon.mat-primary{color:#0072ff}.mat-icon.mat-accent{color:#ffc125}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#0072ff}.mat-input-element::-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ffc125}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-list .mat-list-item,.mat-list .mat-list-option,.mat-nav-list .mat-list-item,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-item,.mat-selection-list .mat-list-option{color:rgba(0,0,0,.87)}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500;color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-nav-list .mat-list-item{outline:0}.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-list-option{outline:0}.mat-list-option.mat-list-item-focus,.mat-list-option:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled]{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon:not([color]),.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item:focus:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%2300c3ff%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar-buffer{background-color:#00c3ff}.mat-progress-bar-fill::after{background-color:#0072ff}.mat-progress-bar.mat-accent .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffc125%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-accent .mat-progress-bar-buffer,.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ffc125}.mat-progress-bar.mat-warn .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffcdd2%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#0072ff}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ffc125}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-disabled .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#0072ff}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#0072ff}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,114,255,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ffc125}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#ffc125}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,193,37,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-select-content,.mat-select-panel-done-animating{background:#fff}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#0072ff}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ffc125}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow,.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#ffc125}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(255,193,37,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(255,193,37,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#0072ff}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(0,114,255,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(0,114,255,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(244,67,54,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(0,0,0,.1)}.mat-slide-toggle-thumb{background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#0072ff}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ffc125}.mat-accent .mat-slider-thumb-label-text{color:#fff}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,193,37,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill,.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.38)}.mat-step-header .mat-step-icon{background-color:#0072ff;color:#fff}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(0,0,0,.38);color:#fff}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label:focus,.mat-tab-group.mat-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-primary .mat-tab-link:focus{background-color:rgba(0,195,255,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#0072ff}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label:focus,.mat-tab-group.mat-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-accent .mat-tab-link:focus{background-color:rgba(255,193,37,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ffc125}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-warn .mat-tab-label:focus,.mat-tab-group.mat-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label:focus,.mat-tab-group.mat-background-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-link:focus{background-color:rgba(0,195,255,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#0072ff}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label:focus,.mat-tab-group.mat-background-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-link:focus{background-color:rgba(255,193,37,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ffc125}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:#fff}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-warn .mat-tab-label:focus,.mat-tab-group.mat-background-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#0072ff;color:#fff}.mat-toolbar.mat-accent{background:#ffc125;color:#fff}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-snack-bar-container{background:#323232;color:#fff}.mat-simple-snackbar-action{color:#ffc125}@font-face{font-family:Skycoin;font-style:normal;font-weight:300;src:url(Skycoin-Light.770b27ec05c2f97a1a27.woff2) format("woff2"),url(Skycoin-Light.4be01e4a68be8bf590da.woff) format("woff")}@font-face{font-family:Skycoin;font-style:italic;font-weight:300;src:url(Skycoin-LightItalic.d10a437db5d8e2a52b4a.woff2) format("woff2"),url(Skycoin-LightItalic.39e68da05bf8b4a77aa2.woff) format("woff")}@font-face{font-family:Skycoin;font-style:normal;font-weight:400;src:url(Skycoin-Regular.21b4caaaedc00594e7bd.woff2) format("woff2"),url(Skycoin-Regular.98d953e74f174cf013b4.woff) format("woff")}@font-face{font-family:Skycoin;font-style:italic;font-weight:400;src:url(Skycoin-RegularItalic.9eabbc2e01a7e17bb57d.woff2) format("woff2"),url(Skycoin-RegularItalic.9947360f79b09132fd21.woff) format("woff")}@font-face{font-family:Skycoin;font-style:normal;font-weight:700;src:url(Skycoin-Bold.6ccafc6fabc0cc8a971a.woff2) format("woff2"),url(Skycoin-Bold.42363955889f2f20c527.woff) format("woff")}@font-face{font-family:Skycoin;font-style:italic;font-weight:700;src:url(Skycoin-BoldItalic.c414dad20c4e3020221c.woff2) format("woff2"),url(Skycoin-BoldItalic.923dce74069362d168fe.woff) format("woff")}a,body,button,div,h1,h2,h3,h4,h5,h6,mat-option.mat-option,mat-panel-description,mat-panel-title,option,p,select,span{font-family:Skycoin,sans-serif}body{background-color:#f7f7f7;margin:0;padding:0;height:100%}header{background:url(header.e11f7c6852766b9319d6.png) center center/cover,linear-gradient(-155deg,#686e96 0,#373b5c 100%);width:100%;height:300px}mat-dialog-container{border-radius:5px!important}.mat-dialog-container{padding:0!important}.header-container{max-width:848px;text-align:center;padding-top:40px;margin-right:auto;margin-left:auto}.header-container h1{font-size:3em;color:#fff}.button-line{margin-top:40px;text-align:right}.datatable-row-group{cursor:pointer}button.active{background-color:rgba(0,0,0,.12)}mat-spinner.in-button .mat-spinner path{stroke:#000;opacity:.3}snack-bar-container{background-color:rgba(255,0,0,.8)!important}mat-panel-title{width:60%;display:block;-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.sky-container{min-width:100%;min-height:100%}.sky-container.sky-container-grey{background-color:#f7f7f7}.-flex-fill,.flex-fill{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.form-field{margin-bottom:20px}.form-field label{color:#1e2227;display:block;font-size:13px;line-height:20px;margin-bottom:2px}.form-field input{border:2px solid rgba(0,0,0,.05);border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;line-height:20px;padding:10px;width:100%}.form-field select{background-color:#fff;border:2px solid rgba(0,0,0,.05);border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;line-height:20px;padding:10px;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-field textarea{border:2px solid rgba(0,0,0,.05);border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;line-height:20px;padding:10px;width:100%}.primary button.enabled,.primary-gradient-background{background:#0072ff;background:-webkit-gradient(linear,left top,right bottom,from(#0072ff),to(#00c3ff));background:linear-gradient(to bottom right,#0072ff,#00c3ff)}.primary button.enabled span,.primary-gradient-background span{color:#fff}.primary-color{color:#0072ff}.secondary-color{color:#ffc125}.no-opacity{opacity:1!important}.light-opacity{opacity:.2}.rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}mat-spinner.in-button svg{height:24px!important;width:24px!important}.empty-row{padding:0 1.2rem!important;line-height:50px!important}.onboarding-container{width:100%;height:100%;overflow-x:hidden;background:#0072ff;background:-webkit-gradient(linear,left top,right bottom,from(#0072ff),to(#00c3ff));background:linear-gradient(to bottom right,#0072ff,#00c3ff)}.onboarding-container label{color:#fff}.onboarding-container input{border:2px solid rgba(0,0,0,.05);border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;line-height:20px;padding:10px;width:100%}.onboarding-container select{background-color:#fff;border:2px solid rgba(0,0,0,.05);border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;line-height:20px;padding:10px;width:100%;-webkit-appearance:none}.onboarding-container textarea{border:2px solid rgba(0,0,0,.05);border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;line-height:20px;padding:10px;width:100%}.dark button.enabled{background-color:#171a1d!important}.dark button.enabled span{color:#fff}.ghost button.enabled{background-color:transparent!important}.ghost button.enabled span{color:#000}.-select{position:relative}.-select::after{content:'';display:block;position:absolute;top:0;right:0;background:url(/assets/img/chevron-right-grey.png) 0 0/32px 32px no-repeat;width:32px;height:32px;margin:6px;pointer-events:none;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.mat-menu-panel{border-radius:5px!important;background-color:#fefefe}.mat-menu-panel .mat-menu-item{font-family:Skycoin;line-height:50px}.mat-menu-panel.compact .mat-menu-item{font-size:13px;height:35px;line-height:35px}.qr-code-button{opacity:.6;cursor:pointer}.qr-code-button:hover{opacity:1} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/e2e-proxy.config.js b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e-proxy.config.js new file mode 100755 index 0000000..2c7ad44 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e-proxy.config.js @@ -0,0 +1,14 @@ +const PROXY_CONFIG = { + "/api/*": { + "target": "http://127.0.0.1:46420", + "secure": false, + "logLevel": "debug", + "bypass": function (req) { + req.headers["host"] = '127.0.0.1:46420'; + req.headers["referer"] = 'http://127.0.0.1:46420'; + req.headers["origin"] = 'http://127.0.0.1:46420'; + } + } +}; + +module.exports = PROXY_CONFIG; diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/onboarding.e2e-spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/onboarding.e2e-spec.ts new file mode 100755 index 0000000..672aaae --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/onboarding.e2e-spec.ts @@ -0,0 +1,44 @@ +import { OnboardingCreatePage } from './onboarding.po'; + +describe('Onboarding', () => { + const page = new OnboardingCreatePage(); + + it('should display title', () => { + page.navigateTo(); + expect(page.getHeaderText()).toEqual('Create Wallet'); + }); + + it('should load wallet', () => { + expect(page.loadWallet()).toEqual(true); + }); + + it('should create wallet', () => { + expect(page.createWallet()).toEqual(true); + }); + + it('should show safeguard', () => { + expect(page.getSafeguardIsShown()).toEqual(true); + }); + + it('should hide accepted safeguard', () => { + expect(page.acceptSafeguard()).toEqual(false); + }); + + it('should be able to go back from wallet encryption', () => { + expect(page.goBack()).toEqual('Create Wallet'); + page.createWallet(); + page.acceptSafeguard(); + }); + + it('should encrypt wallet by default', () => { + expect(page.getEncryptWalletCheckbox().isSelected()).toBeTruthy(); + }); + + it('should be able to continue without encryption', () => { + expect(page.canContinueWithoutEncryption()).toEqual(true); + }); + + it('should encrypt wallet', () => { + expect(page.encryptWallet()).toEqual(true); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/onboarding.po.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/onboarding.po.ts new file mode 100755 index 0000000..dadf6cc --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/onboarding.po.ts @@ -0,0 +1,93 @@ +import { browser, by, element } from 'protractor'; + +export class OnboardingCreatePage { + navigateTo() { + return browser.get('/#/wizard'); + } + + getHeaderText() { + return element(by.css('.-header span')).getText(); + } + + getSafeguardIsShown() { + return element(by.css('app-onboarding-safeguard')).isPresent(); + } + + acceptSafeguard() { + return element.all(by.css('.mat-checkbox-label')).first().click().then(() => { + return element(by.buttonText('Continue')).click().then(() => { + return this.getSafeguardIsShown(); + }); + }); + } + + createWallet() { + element(by.buttonText('New')).click(); + + const label = element(by.css('[formcontrolname="label"]')); + const seed = element(by.css('[formcontrolname="seed"]')); + const confirm = element(by.css('[formcontrolname="confirm_seed"]')); + const btnCreate = element(by.buttonText('Create')); + + label.clear(); + label.sendKeys('Test onboarding wallet'); + seed.clear(); + seed.sendKeys('test test'); + confirm.clear(); + confirm.sendKeys('test test'); + + return btnCreate.isEnabled().then(status => { + if (status) { + btnCreate.click(); + } + + return status; + }); + } + + loadWallet() { + element(by.buttonText('Load')).click(); + + const label = element(by.css('[formcontrolname="label"]')); + const seed = element(by.css('[formcontrolname="seed"]')); + const btnLoad = element(by.buttonText('Create')); + + label.clear(); + label.sendKeys('Test wallet'); + seed.clear(); + seed.sendKeys('test test'); + + return btnLoad.isEnabled(); + } + + goBack() { + return element(by.buttonText('Back')).click().then(() => { + return this.getHeaderText(); + }); + } + + getEncryptWalletCheckbox() { + return element(by.css('.mat-checkbox-input')); + } + + canContinueWithoutEncryption() { + return element(by.css('.mat-checkbox-label')).click().then(() => { + return element(by.buttonText('Finish')).isEnabled(); + }); + } + + encryptWallet() { + const password = element(by.css('[formcontrolname="password"]')); + const confirm = element(by.css('[formcontrolname="confirm"]')); + const button = element(by.buttonText('Finish')); + + return element(by.css('.mat-checkbox-label')).click().then(() => { + password.clear(); + password.sendKeys('password'); + confirm.clear(); + confirm.sendKeys('password'); + + return button.isEnabled(); + }); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/send.e2e-spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/send.e2e-spec.ts new file mode 100755 index 0000000..63f7028 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/send.e2e-spec.ts @@ -0,0 +1,38 @@ +import { SendPage } from './send.po'; + +describe('Send', () => { + const page = new SendPage(); + + it('should display title', () => { + page.navigateTo(); + expect(page.getHeaderText()).toEqual('Wallets'); + }); + + it('should have wallets', () => { + expect(page.getWalletsCount()).toBeGreaterThan(0); + }); + + it('should have coins in wallets', () => { + expect(page.getWalletsWithCoins().then(w => w.length)).toBeGreaterThan(0); + }); + + it('should have wallets enabled', () => { + expect(page.getValidWallets().then(w => w.length)).toBeGreaterThan(0); + }); + + it('should select valid wallet', () => { + expect(page.selectValidWallet()).toBeTruthy(); + }); + + it('should not be able to send with wrong amount', () => { + expect(page.fillFormWithCoins('615701')).toBeFalsy(); + expect(page.fillFormWithCoins('0')).toBeFalsy(); + expect(page.fillFormWithCoins('-1')).toBeFalsy(); + expect(page.fillFormWithCoins('a')).toBeFalsy(); + }); + + it('should be able to send with correct amount', () => { + expect(page.fillFormWithCoins('615700')).toBeTruthy(); + expect(page.fillFormWithCoins('1')).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/send.po.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/send.po.ts new file mode 100755 index 0000000..e1b136d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/send.po.ts @@ -0,0 +1,68 @@ +import { browser, by, element } from 'protractor'; + +export class SendPage { + navigateTo() { + return browser.get('/#/send'); + } + + getHeaderText() { + return element(by.css('.title')).getText(); + } + + getWalletsCount() { + return element.all(by.css('#wallet option')).count(); + } + + getWalletsWithCoins() { + return element.all(by.tagName('#wallet option')) + .filter((opt) => { + return opt.getText().then((v) => { + return this.getCoinsFromOptionString(v) > 0; + }); + }); + } + + getValidWallets() { + return element.all(by.tagName('#wallet option')) + .filter((opt) => { + return opt.getText().then((v) => { + return opt.getAttribute('disabled').then(status => { + return status === null && this.getCoinsFromOptionString(v) > 0; + }); + }); + }); + } + + selectValidWallet() { + return this.getValidWallets().then(wallets => { + return wallets[0].click().then(() => { + return true; + }); + }); + } + + fillFormWithCoins(coins: string) { + const dest = element(by.css('[formcontrolname="address"]')); + const amount = element(by.css('[formcontrolname="amount"]')); + const btnSend = element(by.buttonText('Send')); + + dest.clear(); + amount.clear(); + + return dest.sendKeys('2e1erPpaxNVC37PkEv3n8PESNw2DNr5aJNy').then(() => { + return this.getValidWallets().then(wallets => { + return wallets[0].click().then(() => { + return amount.sendKeys(coins).then(() => { + return btnSend.isEnabled(); + }); + }); + }); + }); + } + + private getCoinsFromOptionString(option: string) { + const value = option.slice(option.indexOf('-') + 1, option.indexOf(' SKY')); + + return parseFloat(value); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/transactions.e2e-spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/transactions.e2e-spec.ts new file mode 100755 index 0000000..0d14695 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/transactions.e2e-spec.ts @@ -0,0 +1,22 @@ +import { TransactionsPage } from './transactions.po'; + +describe('Transactions', () => { + const page = new TransactionsPage(); + + it('should display title', () => { + page.navigateTo(); + expect(page.getHeaderText()).toEqual('Transactions'); + }); + + it('should contain transactions', () => { + expect(page.getTransactionsCount()).toBeGreaterThan(0); + }); + + it('should show transaction detail modal', () => { + expect(page.showTransactionsModal()).toBeTruthy(); + }); + + it('should hide transaction detail modal', () => { + expect(page.hideTransactionModal()).toBeFalsy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/transactions.po.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/transactions.po.ts new file mode 100755 index 0000000..c0faa27 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/transactions.po.ts @@ -0,0 +1,37 @@ +import { browser, by, element, protractor } from 'protractor'; + +export class TransactionsPage { + navigateTo() { + return browser.get('/#/transactions'); + } + + getHeaderText() { + return element(by.css('.title')).getText(); + } + + getTransactions() { + return element.all(by.css('.-transaction')); + } + + getTransactionsCount() { + return this.getTransactions().count(); + } + + getTransactionDetailIsShow() { + return element(by.css('app-transaction-detail')).isPresent(); + } + + showTransactionsModal() { + return this.getTransactions().first().click().then(() => { + return this.getTransactionDetailIsShow(); + }); + } + + hideTransactionModal() { + const el = element(by.css('app-transaction-detail .-header img')); + + return browser.wait(protractor.ExpectedConditions.visibilityOf(el), 5000).then(() => el.click().then(() => { + return this.getTransactionDetailIsShow(); + })); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/tsconfig.e2e.json b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/tsconfig.e2e.json new file mode 100755 index 0000000..1d9e5ed --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/tsconfig.e2e.json @@ -0,0 +1,14 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/e2e", + "baseUrl": "./", + "module": "commonjs", + "target": "es5", + "types": [ + "jasmine", + "jasminewd2", + "node" + ] + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/wallets.e2e-spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/wallets.e2e-spec.ts new file mode 100755 index 0000000..82384d5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/wallets.e2e-spec.ts @@ -0,0 +1,90 @@ +import { WalletsPage } from './wallets.po'; + +describe('Wallets', () => { + const page = new WalletsPage(); + + it('should display title', () => { + page.navigateTo(); + expect(page.getHeaderText()).toEqual('Wallets'); + }); + + it('should show create wallet', () => { + expect(page.showAddWallet()).toEqual(true); + expect(page.getWalletModalTitle()).toEqual('Create Wallet'); + }); + + it('should validate create wallet, seed mismatch', () => { + expect(page.fillWalletForm('Test', 'seed', 'seed2')).toEqual(false); + }); + + it('should validate create wallet, empty label', () => { + expect(page.fillWalletForm('', 'seed', 'seed')).toEqual(false); + }); + + it('should create wallet', () => { + expect(page.fillWalletForm('Test create wallet', 'test create wallet', 'test create wallet')).toEqual(true); + page.waitForWalletToBeCreated(); + }); + + it('should show load wallet', () => { + expect(page.showLoadWallet()).toEqual(true); + expect(page.getWalletModalTitle()).toEqual('Load Wallet'); + }); + + it('should validate load wallet, seed', () => { + expect(page.fillWalletForm('Test', '', null)).toEqual(false); + }); + + it('should validate load wallet, empty label', () => { + expect(page.fillWalletForm('', 'seed', null)).toEqual(false); + }); + + it('should load wallet', () => { + expect(page.fillWalletForm('Test load wallet', 'test load wallet', null)).toEqual(true); + page.waitForWalletToBeCreated(); + }); + + it('should expand wallet', () => { + expect(page.expandWallet()).toEqual(true); + }); + + it('should show wallet QR modal', () => { + expect(page.showQrDialog()).toEqual(true); + }); + + it('should hide wallet QR modal', () => { + expect(page.hideQrDialog()).toEqual(false); + }); + + it('should add address to wallet', () => { + expect(page.addAddress()).toEqual(true); + }); + + it('should hide empty address', () => { + expect(page.getCountOfEmptyAddresses('.-hide-empty')).toEqual(0); + }); + + it('should show empty address', () => { + expect(page.getCountOfEmptyAddresses('.-show-empty')).toBeGreaterThan(0); + }); + + it('should show change wallet name modal', () => { + expect(page.showChangeWalletName()).toEqual(true); + }); + + it('should change wallet name', () => { + expect(page.changeWalletName()).toEqual(true); + }); + + it('should encrypt wallet', () => { + expect(page.canEncrypt()).toEqual(true); + }); + + it('should decrypt wallet', () => { + expect(page.canDecrypt()).toEqual(true); + }); + + it('should display price information', () => { + expect(page.showPriceInformation()).toEqual(true); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/wallets.po.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/wallets.po.ts new file mode 100755 index 0000000..969b8b2 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/e2e/wallets.po.ts @@ -0,0 +1,186 @@ +import { browser, by, element, protractor } from 'protractor'; + +export class WalletsPage { + navigateTo() { + return browser.get('/#/wallets'); + } + + getHeaderText() { + return element(by.css('.title')).getText(); + } + + showAddWallet() { + const btnAdd = element(by.buttonText('Add Wallet')); + + return btnAdd.click().then(() => { + return element(by.css('app-create-wallet')).isPresent(); + }); + } + + showLoadWallet() { + const btnLoad = element(by.buttonText('Load Wallet')); + + return btnLoad.click().then(() => { + return element(by.css('app-create-wallet')).isPresent(); + }); + } + + getWalletModalTitle() { + return element(by.css('app-create-wallet .-header')).getText(); + } + + fillWalletForm(label: string, seed: string, confirm: string|null) { + const labelEl = element(by.css('[formcontrolname="label"]')); + const seedEl = element(by.css('[formcontrolname="seed"]')); + const btn = element(by.buttonText(confirm ? 'Create' : 'Load')); + const encrypt = element(by.css('.mat-checkbox-label')); + + encrypt.click(); + labelEl.clear(); + seedEl.clear(); + labelEl.sendKeys(label); + seedEl.sendKeys(seed); + + if (confirm) { + const confirmEl = element(by.css('[formcontrolname="confirm_seed"]')); + confirmEl.clear(); + confirmEl.sendKeys(confirm); + } + + return btn.isEnabled().then(status => { + if (status) { + btn.click(); + } + + return status; + }); + } + + expandWallet() { + return this.getWalletWithName('Test create wallet').click().then(() => { + return element(by.css('app-wallet-detail')).isPresent(); + }); + } + + showQrDialog() { + return browser.sleep(1000).then(() => element(by.css('.qr-code-button')).click().then(() => { + return element(by.css('app-qr-code')).isPresent(); + })); + } + + hideQrDialog() { + return browser.sleep(1000).then(() => element(by.css('app-modal .-header img')).click().then(() => { + return element(by.css('app-qr-code')).isPresent(); + })); + } + + addAddress() { + return element.all(by.css('.-detail')).count().then(originalCount => { + return element(by.css('.-new-address')).click().then(() => { + return browser.sleep(2000).then(() => { + return element.all(by.css('.-detail')).count().then(newCount => { + return newCount > originalCount; + }); + }); + }); + }); + } + + getCountOfEmptyAddresses(clickSelector: string) { + return element(by.css(clickSelector)).click().then(() => { + return element.all(by.css('.-detail > div:nth-child(3)')).filter((address) => { + return address.getText().then(value => { + return value === '0'; + }); + }).count(); + }); + } + + showChangeWalletName() { + return element(by.css('.-edit-wallet')).click().then(() => { + return element(by.css('app-change-name')).isPresent(); + }); + } + + changeWalletName() { + const label = element(by.css('[formcontrolname="label"]')); + const btn = element(by.buttonText('Rename')); + + return label.clear().then(() => { + return label.sendKeys('New Wallet Name').then(() => { + return btn.click().then(() => { + return browser.sleep(1000).then(() => { + return this.getWalletWithName('New Wallet Name').isPresent(); + }); + }); + }); + }); + } + + canEncrypt() { + return element(by.css('.-enable-encryption')).click().then(() => { + const p1 = element(by.css('[formcontrolname="password"]')); + const p2 = element(by.css('[formcontrolname="confirm_password"]')); + const btn = element(by.buttonText('Proceed')); + + p1.sendKeys('password'); + p2.sendKeys('password'); + + return btn.click().then(() => { + return browser.wait( + protractor.ExpectedConditions.stalenessOf(element(by.css('app-password-dialog'))), + 30000, + 'Can not encrypt wallet', + ).then(() => { + return element(by.css('.-disable-encryption')).isPresent(); + }); + }); + }); + } + + canDecrypt() { + return element(by.css('.-disable-encryption')).click().then(() => { + const p1 = element(by.css('[formcontrolname="password"]')); + const btn = element(by.buttonText('Proceed')); + + p1.clear(); + p1.sendKeys('password'); + + return btn.click().then(() => { + return browser.wait( + protractor.ExpectedConditions.stalenessOf(element(by.css('app-password-dialog'))), + 30000, + 'Can not decrypt wallet', + ).then(() => { + return element(by.css('.-enable-encryption')).isPresent(); + }); + }); + }); + } + + showPriceInformation() { + return element(by.css('.balance p.dollars')).getText().then(text => { + return this.checkHeaderPriceFormat(text); + }); + } + + waitForWalletToBeCreated() { + browser.wait( + protractor.ExpectedConditions.stalenessOf(element(by.css('app-create-wallet'))), + 10000, + 'Wallet was not created', + ); + } + + private getWalletWithName(name: string) { + return element.all(by.css('.-table.ng-star-inserted')) + .filter(wallet => wallet.element(by.css('.-label')).getText().then(text => text === name)) + .first(); + } + + private checkHeaderPriceFormat(price: string) { + const reg = /^\$[0-9,]+.[0-9]{2}\s\(\$[0-9,]+.[0-9]{2}\)$/; + + return !!price.match(reg); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/karma.conf.js b/vendor/github.com/skycoin/skycoin/src/gui/static/karma.conf.js new file mode 100755 index 0000000..4d9ab9d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/karma.conf.js @@ -0,0 +1,33 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/0.13/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular/cli'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage-istanbul-reporter'), + require('@angular/cli/plugins/karma') + ], + client:{ + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + coverageIstanbulReporter: { + reports: [ 'html', 'lcovonly' ], + fixWebpackSourcePaths: true + }, + angularCli: { + environment: 'dev' + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false + }); +}; diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/package-lock.json b/vendor/github.com/skycoin/skycoin/src/gui/static/package-lock.json new file mode 100755 index 0000000..b7953b9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/package-lock.json @@ -0,0 +1,11225 @@ +{ + "name": "desktopwallet", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@angular-devkit/build-optimizer": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.3.2.tgz", + "integrity": "sha512-U0BCZtThq5rUfY08shHXpxe8ZhSsiYB/cJjUvAWRTs/ORrs8pbngS6xwseQws8d/vHoVrtqGD9GU9h8AmFRERQ==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "source-map": "0.5.7", + "typescript": "2.6.2", + "webpack-sources": "1.1.0" + }, + "dependencies": { + "typescript": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", + "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", + "dev": true + } + } + }, + "@angular-devkit/core": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.3.2.tgz", + "integrity": "sha512-zABk/iP7YX5SVbmK4e+IX7j2d0D37MQJQiKgWdV3JzfvVJhNJzddiirtT980pIafoq+KyvTgVwXtc+vnux0oeQ==", + "dev": true, + "requires": { + "ajv": "5.5.2", + "chokidar": "1.7.0", + "rxjs": "5.5.6", + "source-map": "0.5.7" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + } + } + }, + "@angular-devkit/schematics": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.3.2.tgz", + "integrity": "sha512-B6zZoqvHaTJy+vVdA6EtlxnCdGMa5elCa4j9lQLC3JI8DLvMXUWkCIPVbPzJ/GSRR9nsKWpvYMYaJyfBDUqfhw==", + "dev": true, + "requires": { + "@ngtools/json-schema": "1.2.0", + "rxjs": "5.5.6" + } + }, + "@angular/animations": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.2.0.tgz", + "integrity": "sha512-JLR42YHiJppO4ruAkFxgbzghUDtHkXHkKPM8udd2qyt16T7e1OX7EEOrrmldUu59CC56tZnJ/32p4SrYmxyBSA==", + "requires": { + "tslib": "1.8.1" + } + }, + "@angular/cdk": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-5.0.4.tgz", + "integrity": "sha512-6IKDOhDrfKdywTZNTWZbM1O8Q3cTi7uIOAyFC9sXitg0JUy2SHms0UY9FdW32BABIsZp692ofMCMdMPjHDjwwA==", + "requires": { + "tslib": "1.8.1" + } + }, + "@angular/cli": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-1.7.3.tgz", + "integrity": "sha512-19sh0SbjneG7/R/FvZBfHsHqfIqyj4LQuXdddJKMCDM97UoHQTjfgrpRvBf3a3lR79wdLXchWJBD9Yc6ifosEA==", + "dev": true, + "requires": { + "@angular-devkit/build-optimizer": "0.3.2", + "@angular-devkit/core": "0.3.2", + "@angular-devkit/schematics": "0.3.2", + "@ngtools/json-schema": "1.2.0", + "@ngtools/webpack": "1.10.2", + "@schematics/angular": "0.3.2", + "@schematics/package-update": "0.3.2", + "ajv": "6.2.1", + "autoprefixer": "7.2.6", + "cache-loader": "1.2.2", + "chalk": "2.2.2", + "circular-dependency-plugin": "4.4.0", + "clean-css": "4.1.11", + "common-tags": "1.7.2", + "copy-webpack-plugin": "4.4.3", + "core-object": "3.1.5", + "denodeify": "1.2.1", + "ember-cli-string-utils": "1.1.0", + "extract-text-webpack-plugin": "3.0.2", + "file-loader": "1.1.11", + "fs-extra": "4.0.3", + "glob": "7.1.2", + "html-webpack-plugin": "2.30.1", + "istanbul-instrumenter-loader": "3.0.0", + "karma-source-map-support": "1.2.0", + "less": "2.7.3", + "less-loader": "4.0.6", + "license-webpack-plugin": "1.2.3", + "loader-utils": "1.1.0", + "lodash": "4.17.4", + "memory-fs": "0.4.1", + "minimatch": "3.0.4", + "node-modules-path": "1.0.1", + "node-sass": "4.7.2", + "nopt": "4.0.1", + "opn": "5.1.0", + "portfinder": "1.0.13", + "postcss": "6.0.19", + "postcss-import": "11.1.0", + "postcss-loader": "2.1.1", + "postcss-url": "7.3.1", + "raw-loader": "0.5.1", + "resolve": "1.5.0", + "rxjs": "5.5.6", + "sass-loader": "6.0.7", + "semver": "5.4.1", + "silent-error": "1.1.0", + "source-map-support": "0.4.18", + "style-loader": "0.19.1", + "stylus": "0.54.5", + "stylus-loader": "3.0.2", + "uglifyjs-webpack-plugin": "1.2.2", + "url-loader": "0.6.2", + "webpack": "3.11.0", + "webpack-dev-middleware": "1.12.2", + "webpack-dev-server": "2.11.2", + "webpack-merge": "4.1.2", + "webpack-sources": "1.1.0", + "webpack-subresource-integrity": "1.0.4" + } + }, + "@angular/common": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.2.0.tgz", + "integrity": "sha512-yMFn2isC7/XOs56/2Kzzbb1AASHiwipAPOVFtKe7TdZQClO8fJXwCnk326rzr615+CG0eSBNQWeiFGyWN2riBA==", + "requires": { + "tslib": "1.8.1" + } + }, + "@angular/compiler": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.2.0.tgz", + "integrity": "sha512-RfYa4ESgjGX0T0ob/Xz00IF7nd2xZkoyRy6oKgL82q42uzB3xZUDMrFNgeGxAUs3H22IkL46/5SSPOMOTMZ0NA==", + "requires": { + "tslib": "1.8.1" + } + }, + "@angular/compiler-cli": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.2.0.tgz", + "integrity": "sha512-+Kef4NjuHwLj2hRPdVo4yAtPmv+kn0Nu/ShmKfaEK4mt9aaQMFxKNt6beUuDK5iUPMB5nuTCZ4bqEFpqd+EtxQ==", + "dev": true, + "requires": { + "chokidar": "1.7.0", + "minimist": "1.2.0", + "reflect-metadata": "0.1.10", + "tsickle": "0.26.0" + } + }, + "@angular/core": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.2.0.tgz", + "integrity": "sha512-s2ne45DguNUubhC1YgybGECC4Tyx3G4EZCntUiRMDWWkmKXSK+6dgHMesyDo8R5Oat8VfN4Anf8l3JHS1He8kg==", + "requires": { + "tslib": "1.8.1" + } + }, + "@angular/forms": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.2.0.tgz", + "integrity": "sha512-g1/SF9lY0ZwzJ0w4NXbFsTGGEuUdgtaZny8DmkaqtmA7idby3FW398X0tv25KQfVYKtL+p9Jp1Y8EI0CvrIsvw==", + "requires": { + "tslib": "1.8.1" + } + }, + "@angular/http": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.2.0.tgz", + "integrity": "sha512-V5Cl24dP3rCXTTQvDc0TIKoWqBRAa0DWAQbtr7iuDAt5a1vPGdKz5K1sEiiV6ziwX6gzjiwHjUvL+B+WbIUrQA==", + "requires": { + "tslib": "1.8.1" + } + }, + "@angular/language-service": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-5.2.0.tgz", + "integrity": "sha512-Yj/y5XrBBXbtwnZ6HJOBl/0XS/JBvVlHb1UWw5MIrsc81k7/eFiRAIKzmGpAba+Sw0G0dO22ABZ4yJjAMsML6A==", + "dev": true + }, + "@angular/material": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-5.0.4.tgz", + "integrity": "sha512-xrGYPHOlNXpPkventLAvZyTjfCo2A8ZfdyJEHNR4LhFWIjw3ilwb1ihNv4dy/qG56g8L4AwQ2cONxQ0YyZfcWg==", + "requires": { + "tslib": "1.8.1" + } + }, + "@angular/platform-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.2.0.tgz", + "integrity": "sha512-c6cR15MfopPwGZ097HdRuAi9+R9BhA3bRRFpP2HmrSSB/BW4ZNovUYwB2QUMSYbd9s0lYTtnavqGm6DKcyF2QA==", + "requires": { + "tslib": "1.8.1" + } + }, + "@angular/platform-browser-dynamic": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.0.tgz", + "integrity": "sha512-xG1eNoi8sm4Jcly2y98r5mqYVe3XV8sUJCtOhvGBYtvt4dKEQ5tOns6fWQ0nUbl6Vv3Y0xgGUS1JCtfut3DuaQ==", + "requires": { + "tslib": "1.8.1" + } + }, + "@angular/router": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-5.2.0.tgz", + "integrity": "sha512-VXDXtp2A1GQEUEhXg0ZzqHdTUERLgDSo3/Mmpzt+dgLMKlXDSCykcm4gINwE5VQLGD1zQvDFCCRv3seGRNfrqA==", + "requires": { + "tslib": "1.8.1" + } + }, + "@ngtools/json-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ngtools/json-schema/-/json-schema-1.2.0.tgz", + "integrity": "sha512-pMh+HDc6mOjUO3agRfB1tInimo7hf67u+0Cska2bfXFe6oU7rSMnr5PLVtiZVgwMoBHpx/6XjBymvcnWPo2Uzg==", + "dev": true + }, + "@ngtools/webpack": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-1.10.2.tgz", + "integrity": "sha512-3u2zg2rarG3qNLSukBClGADWuq/iNn5SQtlSeAbfKzwBeyLGbF0gN1z1tVx1Bcr8YwFzR6NdRePQmJGcoqq1fg==", + "dev": true, + "requires": { + "chalk": "2.2.2", + "enhanced-resolve": "3.4.1", + "loader-utils": "1.1.0", + "magic-string": "0.22.4", + "semver": "5.4.1", + "source-map": "0.5.7", + "tree-kill": "1.2.0", + "webpack-sources": "1.1.0" + } + }, + "@ngx-translate/core": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-9.1.1.tgz", + "integrity": "sha1-rhA5KINrip4Gn9Li52+iGYzH5ig=" + }, + "@schematics/angular": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.3.2.tgz", + "integrity": "sha512-Elrk0BA951s0ScFZU0AWrpUeJBYVR52DZ1QTIO5R0AhwEd1PW4olI8szPLGQlVW5Sd6H0FA/fyFLIvn2r9v6Rw==", + "dev": true, + "requires": { + "typescript": "2.6.2" + }, + "dependencies": { + "typescript": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", + "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", + "dev": true + } + } + }, + "@schematics/package-update": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@schematics/package-update/-/package-update-0.3.2.tgz", + "integrity": "sha512-7aVP4994Hu8vRdTTohXkfGWEwLhrdNP3EZnWyBootm5zshWqlQojUGweZe5zwewsKcixeVOiy2YtW+aI4aGSLA==", + "dev": true, + "requires": { + "rxjs": "5.5.6", + "semver": "5.4.1", + "semver-intersect": "1.3.1" + } + }, + "@types/jasmine": { + "version": "2.5.54", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.5.54.tgz", + "integrity": "sha512-B9YofFbUljs19g5gBKUYeLIulsh31U5AK70F41BImQRHEZQGm4GcN922UvnYwkduMqbC/NH+9fruWa/zrqvHIg==", + "dev": true + }, + "@types/jasminewd2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.3.tgz", + "integrity": "sha512-hYDVmQZT5VA2kigd4H4bv7vl/OhlympwREUemqBdOqtrYTo5Ytm12a5W5/nGgGYdanGVxj0x/VhZ7J3hOg/YKg==", + "dev": true, + "requires": { + "@types/jasmine": "2.5.54" + } + }, + "@types/node": { + "version": "6.0.96", + "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.96.tgz", + "integrity": "sha512-fsOOY6tMQ3jCB2wD51XFDmmpgm4wVKkJECdcVRqapbJEa7awJDcr+SaH8toz+4r4KW8YQ3M7ybXMoSDo1QGewA==", + "dev": true + }, + "@types/q": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", + "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", + "dev": true + }, + "@types/selenium-webdriver": { + "version": "2.53.43", + "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-2.53.43.tgz", + "integrity": "sha512-UBYHWph6P3tutkbXpW6XYg9ZPbTKjw/YC2hGG1/GEvWwTbvezBUv3h+mmUFw79T3RFPnmedpiXdOBbXX+4l0jg==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "dev": true, + "requires": { + "mime-types": "2.1.18", + "negotiator": "0.6.1" + }, + "dependencies": { + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "1.33.0" + } + } + } + }, + "acorn": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.1.tgz", + "integrity": "sha512-D/KGiCpM/VOtTMDS+wfjywEth926WUrArrzYov4N4SI7t+3y8747dPpCmmAvrm/Z3ygqMHnyPxvYYO0yTdn/nQ==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "dev": true, + "requires": { + "acorn": "4.0.13" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "adm-zip": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz", + "integrity": "sha1-hgbCy/HEJs6MjsABdER/1Jtur8E=", + "dev": true + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", + "dev": true + }, + "agent-base": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz", + "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=", + "dev": true, + "requires": { + "extend": "3.0.1", + "semver": "5.0.3" + }, + "dependencies": { + "semver": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", + "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=", + "dev": true + } + } + }, + "ajv": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.1.tgz", + "integrity": "sha1-KKarxJOiq+D7TIUHrK7bQ/pVBnE=", + "dev": true, + "requires": { + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ajv-keywords": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz", + "integrity": "sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } + }, + "app-root-path": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.0.1.tgz", + "integrity": "sha1-zWLc+OT9WkF+/GZNLlsQZTxlG0Y=", + "dev": true + }, + "append-transform": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "dev": true, + "requires": { + "default-require-extensions": "1.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "dev": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.3" + } + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", + "dev": true + }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.10.0" + } + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "1.0.3" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "arraybuffer.slice": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", + "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true, + "optional": true + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + } + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "dev": true, + "requires": { + "lodash": "4.17.4" + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", + "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=", + "dev": true + }, + "autoprefixer": { + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz", + "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", + "dev": true, + "requires": { + "browserslist": "2.11.3", + "caniuse-lite": "1.0.30000813", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "6.0.19", + "postcss-value-parser": "3.3.0" + } + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-generator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", + "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + } + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "dev": true + }, + "base64-js": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", + "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==", + "dev": true + }, + "base64id": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", + "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "dev": true, + "requires": { + "callsite": "1.0.0" + } + }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true + }, + "blob": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", + "dev": true + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "optional": true, + "requires": { + "inherits": "2.0.3" + } + }, + "blocking-proxy": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-0.0.5.tgz", + "integrity": "sha1-RikF4Nz76pcPQao3Ij3anAexkSs=", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "1.0.4", + "debug": "2.6.9", + "depd": "1.1.2", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "1.6.15" + }, + "dependencies": { + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "2.1.1", + "deep-equal": "1.0.1", + "dns-equal": "1.0.0", + "dns-txt": "2.0.2", + "multicast-dns": "6.2.3", + "multicast-dns-service-types": "1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "bootstrap": { + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.0.0-beta.3.tgz", + "integrity": "sha512-/Qe1Q2d1muLEZRX2iCteMQHZBBAm6ZIjJ9FcBYK/xLr05+HvDtBOVBN+Cz7mCNZuy0zr+y5artZHM05W7mIz6g==" + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "dev": true, + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "browserify-cipher": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", + "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "dev": true, + "requires": { + "browserify-aes": "1.1.1", + "browserify-des": "1.0.0", + "evp_bytestokey": "1.0.3" + } + }, + "browserify-des": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", + "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "randombytes": "2.0.6" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "elliptic": "6.4.0", + "inherits": "2.0.3", + "parse-asn1": "5.1.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "1.0.6" + } + }, + "browserslist": { + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", + "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", + "dev": true, + "requires": { + "caniuse-lite": "1.0.30000813", + "electron-to-chromium": "1.3.36" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "1.2.3", + "ieee754": "1.1.8", + "isarray": "1.0.0" + } + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "chownr": "1.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.1", + "mississippi": "2.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.2.4", + "unique-filename": "1.1.0", + "y18n": "4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "cache-loader": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-1.2.2.tgz", + "integrity": "sha512-rsGh4SIYyB9glU+d0OcHwiXHXBoUgDhHZaQ1KAbiXqfz1CDPxtTboh1gPbJ0q2qdO8a9lfcjgC5CJ2Ms32y5bw==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "mkdirp": "0.5.1", + "neo-async": "2.5.0", + "schema-utils": "0.4.5" + } + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "2.3.2", + "upper-case": "1.1.3" + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + } + }, + "caniuse-lite": { + "version": "1.0.30000813", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000813.tgz", + "integrity": "sha512-A8ITSmH5SFdMFdC704ggjg+x2z5PzQmVlG8tavwnfvbC33Q1UYrj0+G+Xm0SNAnd4He36fwUE/KEWytOEchw+A==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + }, + "dependencies": { + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + } + } + }, + "chalk": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.2.2.tgz", + "integrity": "sha512-LvixLAQ4MYhbf7hgL4o5PeK32gJKvVzDRiSNIApDofQvyhl8adgG2lJVXn4+ekQoK7HL9RF8lqxwerpe0x2pCw==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.1.3", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + } + }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "circular-dependency-plugin": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-4.4.0.tgz", + "integrity": "sha512-yEFtUNUYT4jBykEX5ZOHw+5goA3glGZr9wAXIQqoyakjz5H5TeUmScnWRc52douAhb9eYzK3s7V6bXfNnjFdzg==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "clean-css": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz", + "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "clone": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", + "dev": true + }, + "clone-deep": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "dev": true, + "requires": { + "for-own": "1.0.0", + "is-plain-object": "2.0.4", + "kind-of": "6.0.2", + "shallow-clone": "1.0.0" + }, + "dependencies": { + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "codelyzer": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-4.0.2.tgz", + "integrity": "sha512-nYwOr49+IV09e7C4aXkVALRz0+XpHqZiUUcxHuDZH4xP1FBcHINyr3qvVhv5Gfm7XRmoLx32tsIhrQhW/gBcog==", + "dev": true, + "requires": { + "app-root-path": "2.0.1", + "css-selector-tokenizer": "0.7.0", + "cssauron": "1.4.0", + "semver-dsl": "1.0.1", + "source-map": "0.5.7", + "sprintf-js": "1.0.3" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "1.0.0", + "object-visit": "1.0.1" + } + }, + "color-convert": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "combine-lists": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz", + "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", + "dev": true, + "requires": { + "lodash": "4.17.4" + } + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", + "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", + "dev": true + }, + "common-tags": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.7.2.tgz", + "integrity": "sha512-joj9ZlUOjCrwdbmiLqafeUSgkUM74NqhLsZtSqDmhKudaIY197zTrb8JMl31fMnCUuxwFT23eC/oWvrZzDLRJQ==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", + "dev": true + }, + "component-emitter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz", + "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=", + "dev": true + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", + "dev": true + }, + "compressible": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz", + "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=", + "dev": true, + "requires": { + "mime-db": "1.33.0" + }, + "dependencies": { + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + } + } + }, + "compression": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.2.tgz", + "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", + "dev": true, + "requires": { + "accepts": "1.3.5", + "bytes": "3.0.0", + "compressible": "2.0.13", + "debug": "2.6.9", + "on-headers": "1.0.1", + "safe-buffer": "5.1.1", + "vary": "1.1.2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-gslSSJx03QKa59cIKqeJO9HQ/WZMotvYJCuaUULrLpjj8oG40kV2Z+gz82pVxlTkOADi4PJxQPPfhl1ELYrrXw==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "typedarray": "0.0.6" + } + }, + "connect": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.5.tgz", + "integrity": "sha1-+43ee6B2OHfQ7J352sC0tA5yx9o=", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.0.6", + "parseurl": "1.3.2", + "utils-merge": "1.0.1" + }, + "dependencies": { + "finalhandler": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.6.tgz", + "integrity": "sha1-AHrqM9Gk0+QgF/YkhIrVjSEvgU8=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" + } + } + } + }, + "connect-history-api-fallback": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "0.1.4" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "1.2.0", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.4.3.tgz", + "integrity": "sha512-v4THQ24Tks2NkyOvZuFDgZVfDD9YaA9rwYLZTrWg2GHIA8lrH5DboEyeoorh5Skki+PUbgSmnsCwhMWqYrQZrA==", + "dev": true, + "requires": { + "cacache": "10.0.4", + "find-cache-dir": "1.0.0", + "globby": "7.1.1", + "is-glob": "4.0.0", + "loader-utils": "1.1.0", + "minimatch": "3.0.4", + "p-limit": "1.2.0", + "serialize-javascript": "1.4.0" + }, + "dependencies": { + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "core-js": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + }, + "core-object": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/core-object/-/core-object-3.1.5.tgz", + "integrity": "sha512-sA2/4+/PZ/KV6CKgjrVrrUVBKCkdDO02CUlQ0YKTQoYUwPYNOtOAcWlbYhd5v/1JqYaA6oZ4sDlOU4ppVw6Wbg==", + "dev": true, + "requires": { + "chalk": "2.2.2" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cosmiconfig": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", + "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", + "dev": true, + "requires": { + "is-directory": "0.3.1", + "js-yaml": "3.7.0", + "minimist": "1.2.0", + "object-assign": "4.1.1", + "os-homedir": "1.0.2", + "parse-json": "2.2.0", + "require-from-string": "1.2.1" + } + }, + "create-ecdh": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", + "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.0" + } + }, + "create-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "sha.js": "2.4.10" + } + }, + "create-hmac": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", + "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.10" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "4.1.1", + "which": "1.3.0" + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "1.0.0", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.0", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "diffie-hellman": "5.0.2", + "inherits": "2.0.3", + "pbkdf2": "3.0.14", + "public-encrypt": "4.0.0", + "randombytes": "2.0.6", + "randomfill": "1.0.4" + } + }, + "css-parse": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz", + "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=", + "dev": true + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "1.0.0", + "css-what": "2.1.0", + "domutils": "1.5.1", + "nth-check": "1.0.1" + } + }, + "css-selector-tokenizer": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", + "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", + "dev": true, + "requires": { + "cssesc": "0.1.0", + "fastparse": "1.1.1", + "regexpu-core": "1.0.0" + } + }, + "css-what": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", + "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", + "dev": true + }, + "cssauron": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", + "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", + "dev": true, + "requires": { + "through": "2.3.8" + } + }, + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true + }, + "cuint": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", + "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true + }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "0.10.39" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "dev": true, + "requires": { + "strip-bom": "2.0.0" + } + }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, + "requires": { + "foreach": "2.0.5", + "object-keys": "1.0.11" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "requires": { + "globby": "6.1.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.0", + "p-map": "1.2.0", + "pify": "3.0.0", + "rimraf": "2.6.2" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "detect-node": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", + "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", + "dev": true + }, + "di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, + "diff": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz", + "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", + "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "path-type": "3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "requires": { + "ip": "1.1.5", + "safe-buffer": "5.1.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "1.1.1" + } + }, + "dom-converter": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", + "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", + "dev": true, + "requires": { + "utila": "0.3.3" + }, + "dependencies": { + "utila": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", + "dev": true + } + } + }, + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "requires": { + "custom-event": "1.0.1", + "ent": "2.2.0", + "extend": "3.0.1", + "void-elements": "2.0.1" + } + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "1.1.3", + "entities": "1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", + "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" + } + }, + "duplexify": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz", + "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "stream-shift": "1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", + "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.36", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.36.tgz", + "integrity": "sha1-Dqv3Gp6+qQE/scw1o5DgaGJPJ+g=", + "dev": true + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.3", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "ember-cli-string-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ember-cli-string-utils/-/ember-cli-string-utils-1.1.0.tgz", + "integrity": "sha1-ObZ3/CgF9VFzc1N2/O8njqpEUqE=", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "encodeurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", + "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, + "engine.io": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.3.tgz", + "integrity": "sha1-jef5eJXSDTm4X4ju7nd7K9QrE9Q=", + "dev": true, + "requires": { + "accepts": "1.3.3", + "base64id": "1.0.0", + "cookie": "0.3.1", + "debug": "2.3.3", + "engine.io-parser": "1.3.2", + "ws": "1.1.2" + }, + "dependencies": { + "accepts": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", + "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", + "dev": true, + "requires": { + "mime-types": "2.1.17", + "negotiator": "0.6.1" + } + }, + "debug": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "dev": true, + "requires": { + "ms": "0.7.2" + } + }, + "ms": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "dev": true + } + } + }, + "engine.io-client": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.3.tgz", + "integrity": "sha1-F5jtk0USRkU9TG9jXXogH+lA1as=", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "2.3.3", + "engine.io-parser": "1.3.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parsejson": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "1.1.2", + "xmlhttprequest-ssl": "1.5.3", + "yeast": "0.1.2" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "debug": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "dev": true, + "requires": { + "ms": "0.7.2" + } + }, + "ms": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "dev": true + } + } + }, + "engine.io-parser": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz", + "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=", + "dev": true, + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "0.0.6", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.4", + "has-binary": "0.1.7", + "wtf-8": "1.0.0" + } + }, + "enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "object-assign": "4.1.1", + "tapable": "0.2.8" + } + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "1.0.1" + } + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "es-abstract": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz", + "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==", + "dev": true, + "requires": { + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.1", + "is-callable": "1.1.3", + "is-regex": "1.0.4" + } + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, + "requires": { + "is-callable": "1.1.3", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" + } + }, + "es5-ext": { + "version": "0.10.39", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.39.tgz", + "integrity": "sha512-AlaXZhPHl0po/uxMx1tyrlt1O86M6D5iVaDH8UgLfgek4kXTX6vzsRfJQWC2Ku+aG8pkw1XWzh9eTkwfVrsD5g==", + "dev": true, + "requires": { + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.39", + "es6-symbol": "3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.39", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.39", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.39" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.39", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.39" + } + }, + "eventemitter3": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", + "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", + "dev": true + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true + }, + "eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "dev": true, + "requires": { + "original": "1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "1.3.4", + "safe-buffer": "5.1.1" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + } + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-braces": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", + "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", + "dev": true, + "requires": { + "array-slice": "0.2.3", + "array-unique": "0.2.1", + "braces": "0.1.5" + }, + "dependencies": { + "braces": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", + "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", + "dev": true, + "requires": { + "expand-range": "0.1.1" + } + }, + "expand-range": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", + "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", + "dev": true, + "requires": { + "is-number": "0.1.1", + "repeat-string": "0.2.2" + } + }, + "is-number": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", + "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", + "dev": true + }, + "repeat-string": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz", + "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=", + "dev": true + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "express": { + "version": "4.16.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", + "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", + "dev": true, + "requires": { + "accepts": "1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "1.1.2", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.1.0", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "2.0.3", + "qs": "6.5.1", + "range-parser": "1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.1", + "serve-static": "1.13.1", + "setprototypeof": "1.1.0", + "statuses": "1.3.1", + "type-is": "1.6.15", + "utils-merge": "1.0.1", + "vary": "1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "extract-text-webpack-plugin": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", + "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", + "dev": true, + "requires": { + "async": "2.6.0", + "loader-utils": "1.1.0", + "schema-utils": "0.3.0", + "webpack-sources": "1.1.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, + "requires": { + "ajv": "5.5.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fastparse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", + "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": "0.7.0" + } + }, + "file-loader": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", + "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "0.4.5" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fileset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", + "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "dev": true, + "requires": { + "glob": "7.1.2", + "minimatch": "3.0.4" + } + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "make-dir": "1.2.0", + "pkg-dir": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "flush-write-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz", + "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, + "font-awesome": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", + "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, + "fs-access": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", + "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", + "dev": true, + "requires": { + "null-check": "1.0.0" + } + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "2.3.3" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", + "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.8.0", + "node-pre-gyp": "0.6.39" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true, + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.39", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.2", + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "dev": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "gaze": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", + "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", + "dev": true, + "optional": true, + "requires": { + "globule": "1.2.0" + } + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true, + "optional": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "optional": true, + "requires": { + "is-property": "1.0.2" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "glob": "7.1.2", + "ignore": "3.3.7", + "pify": "3.0.0", + "slash": "1.0.0" + } + }, + "globule": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", + "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", + "dev": true, + "optional": true, + "requires": { + "glob": "7.1.2", + "lodash": "4.17.4", + "minimatch": "3.0.4" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "hammerjs": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", + "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=" + }, + "handle-thing": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", + "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", + "dev": true + }, + "handlebars": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true, + "optional": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "optional": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + } + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "optional": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "optional": true + } + } + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "dev": true + }, + "har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "dev": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + } + } + }, + "has": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "dev": true, + "requires": { + "function-bind": "1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-binary": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz", + "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=", + "dev": true, + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", + "dev": true + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "1.1.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "homedir-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", + "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "dev": true, + "requires": { + "parse-passwd": "1.0.0" + } + }, + "hosted-git-info": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "obuf": "1.1.1", + "readable-stream": "2.3.3", + "wbuf": "1.7.2" + } + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "html-minifier": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.10.tgz", + "integrity": "sha512-5c8iAyeIGAiuFhVjJ0qy1lgvyQxxuZgjeOuMnoK/wjEyy8DF3xKUnE9pO+6H7VMir976K6SGlZV8ZEmIOea/Zg==", + "dev": true, + "requires": { + "camel-case": "3.0.0", + "clean-css": "4.1.11", + "commander": "2.14.1", + "he": "1.1.1", + "ncname": "1.0.0", + "param-case": "2.1.1", + "relateurl": "0.2.7", + "uglify-js": "3.3.13" + }, + "dependencies": { + "commander": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", + "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==", + "dev": true + } + } + }, + "html-webpack-plugin": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz", + "integrity": "sha1-f5xCG36pHsRg9WUn1430hO51N9U=", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "html-minifier": "3.5.10", + "loader-utils": "0.2.17", + "lodash": "4.17.4", + "pretty-error": "2.1.1", + "toposort": "1.0.6" + }, + "dependencies": { + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + } + } + }, + "htmlparser2": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", + "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", + "dev": true, + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.1.0", + "domutils": "1.1.6", + "readable-stream": "1.0.34" + }, + "dependencies": { + "domutils": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", + "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true, + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": "1.3.1" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "dev": true + }, + "http-proxy": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", + "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", + "dev": true, + "requires": { + "eventemitter3": "1.2.0", + "requires-port": "1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", + "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", + "dev": true, + "requires": { + "http-proxy": "1.16.2", + "is-glob": "3.1.0", + "lodash": "4.17.4", + "micromatch": "2.3.11" + }, + "dependencies": { + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "https-proxy-agent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", + "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=", + "dev": true, + "requires": { + "agent-base": "2.1.1", + "debug": "2.6.9", + "extend": "3.0.1" + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "ieee754": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", + "dev": true + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "requires": { + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true, + "optional": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "internal-ip": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", + "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", + "dev": true, + "requires": { + "meow": "3.7.0" + } + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ipaddr.js": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", + "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.11.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-callable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "dev": true + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true, + "optional": true + }, + "is-my-json-valid": { + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", + "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", + "dev": true, + "optional": true, + "requires": { + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "is-my-ip-valid": "1.0.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-odd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "dev": true, + "requires": { + "is-number": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "dev": true, + "requires": { + "is-path-inside": "1.0.1" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true, + "optional": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "1.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isbinaryfile": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz", + "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-api": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.1.tgz", + "integrity": "sha512-oFCwXvd65amgaPCzqrR+a2XjanS1MvpXN6l/MlMUTv6uiA1NOgGX+I0uyq8Lg3GDxsxPsaP1049krz3hIJ5+KA==", + "dev": true, + "requires": { + "async": "2.6.0", + "fileset": "2.0.3", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", + "js-yaml": "3.7.0", + "mkdirp": "0.5.1", + "once": "1.4.0" + } + }, + "istanbul-instrumenter-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.0.tgz", + "integrity": "sha512-alLSEFX06ApU75sm5oWcaVNaiss/bgMRiWTct3g0P0ZZTKjR+6QiCcuVOKDI1kWJgwHEnIXsv/dWm783kPpmtw==", + "dev": true, + "requires": { + "convert-source-map": "1.5.1", + "istanbul-lib-instrument": "1.9.1", + "loader-utils": "1.1.0", + "schema-utils": "0.3.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, + "requires": { + "ajv": "5.5.2" + } + } + } + }, + "istanbul-lib-coverage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", + "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", + "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", + "dev": true, + "requires": { + "append-transform": "0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", + "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", + "dev": true, + "requires": { + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" + } + }, + "istanbul-lib-report": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", + "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", + "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", + "dev": true, + "requires": { + "debug": "3.1.0", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "istanbul-reports": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", + "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", + "dev": true, + "requires": { + "handlebars": "4.0.11" + } + }, + "jasmine": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", + "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", + "dev": true, + "requires": { + "exit": "0.1.2", + "glob": "7.1.2", + "jasmine-core": "2.8.0" + }, + "dependencies": { + "jasmine-core": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", + "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", + "dev": true + } + } + }, + "jasmine-core": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.6.4.tgz", + "integrity": "sha1-3skmzQqfoof7bbXHVfpIfnTOysU=", + "dev": true + }, + "jasmine-spec-reporter": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-4.1.1.tgz", + "integrity": "sha1-Wm1Yq11hvqcwn7wnkjlRF1axtYg=", + "dev": true, + "requires": { + "colors": "1.1.2" + } + }, + "jasminewd2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", + "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", + "dev": true + }, + "js-base64": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz", + "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==", + "dev": true, + "optional": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true, + "requires": { + "argparse": "1.0.9", + "esprima": "2.7.3" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "karma": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/karma/-/karma-1.7.1.tgz", + "integrity": "sha512-k5pBjHDhmkdaUccnC7gE3mBzZjcxyxYsYVaqiL2G5AqlfLyBO5nw2VdNK+O16cveEPd/gIOWULH7gkiYYwVNHg==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "body-parser": "1.18.2", + "chokidar": "1.7.0", + "colors": "1.1.2", + "combine-lists": "1.0.1", + "connect": "3.6.5", + "core-js": "2.5.3", + "di": "0.0.1", + "dom-serialize": "2.2.1", + "expand-braces": "0.1.2", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "http-proxy": "1.16.2", + "isbinaryfile": "3.0.2", + "lodash": "3.10.1", + "log4js": "0.6.38", + "mime": "1.6.0", + "minimatch": "3.0.4", + "optimist": "0.6.1", + "qjobs": "1.1.5", + "range-parser": "1.2.0", + "rimraf": "2.6.2", + "safe-buffer": "5.1.1", + "socket.io": "1.7.3", + "source-map": "0.5.7", + "tmp": "0.0.31", + "useragent": "2.2.1" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + } + } + }, + "karma-chrome-launcher": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.1.1.tgz", + "integrity": "sha1-IWh5xorATY1RQOmWGboEtZr9Rs8=", + "dev": true, + "requires": { + "fs-access": "1.0.1", + "which": "1.3.0" + } + }, + "karma-cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/karma-cli/-/karma-cli-1.0.1.tgz", + "integrity": "sha1-rmw8WKMTodALRRZMRVubhs4X+WA=", + "dev": true, + "requires": { + "resolve": "1.5.0" + } + }, + "karma-coverage-istanbul-reporter": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-1.3.3.tgz", + "integrity": "sha512-MFkB6bh11J8nKygUdqyHb9sMz17XoBRYR4tiNxnSpi/UtDk0wk8eRGa0jRSJaILgCl4xyq1TL6Jidww1OWly/Q==", + "dev": true, + "requires": { + "istanbul-api": "1.2.1", + "minimatch": "3.0.4" + } + }, + "karma-jasmine": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.1.tgz", + "integrity": "sha1-b+hA51oRYAydkehLM8RY4cRqNSk=", + "dev": true + }, + "karma-jasmine-html-reporter": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-0.2.2.tgz", + "integrity": "sha1-SKjl7xiAdhfuK14zwRlMNbQ5Ukw=", + "dev": true, + "requires": { + "karma-jasmine": "1.1.1" + } + }, + "karma-source-map-support": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.2.0.tgz", + "integrity": "sha1-G/gee7SwiWJ6s1LsQXnhF8QGpUA=", + "dev": true, + "requires": { + "source-map-support": "0.4.18" + } + }, + "killable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz", + "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "lazy-cache": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", + "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", + "dev": true, + "requires": { + "set-getter": "0.1.0" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "less": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/less/-/less-2.7.3.tgz", + "integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==", + "dev": true, + "requires": { + "errno": "0.1.7", + "graceful-fs": "4.1.11", + "image-size": "0.5.5", + "mime": "1.6.0", + "mkdirp": "0.5.1", + "promise": "7.3.1", + "request": "2.81.0", + "source-map": "0.5.7" + } + }, + "less-loader": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-4.0.6.tgz", + "integrity": "sha512-WPFY3NMJGJna8kIxtgSu6AVG7K6uRPdfE2J7vpQqFWMN/RkOosV09rOVUt3wghNClWH2Pg7YumD1dHiv1Thfug==", + "dev": true, + "requires": { + "clone": "2.1.1", + "loader-utils": "1.1.0", + "pify": "3.0.0" + } + }, + "license-webpack-plugin": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.2.3.tgz", + "integrity": "sha512-+sie46vNe5L48N94LEzEvreJqAdi+N3x3mXUx+iujuAmftWdJUh68RSDPgWK3DRJuu50dwiyH7MdVAx95zfKQA==", + "dev": true, + "requires": { + "ejs": "2.5.7" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "dev": true + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true, + "optional": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "dev": true, + "optional": true + }, + "lodash.tail": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", + "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", + "dev": true + }, + "log4js": { + "version": "0.6.38", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz", + "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "semver": "4.3.6" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "loglevel": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", + "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lru-cache": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "magic-string": { + "version": "0.22.4", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.4.tgz", + "integrity": "sha512-kxBL06p6iO2qPBHsqGK2b3cRwiRGpnmSuVWNhwHcMX7qJOUr1HvricYP1LZOCdkQBUp0jiWg2d6WJwR3vYgByw==", + "dev": true, + "requires": { + "vlq": "0.2.3" + } + }, + "make-dir": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz", + "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", + "dev": true, + "requires": { + "pify": "3.0.0" + } + }, + "make-error": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.2.tgz", + "integrity": "sha512-l9ra35l5VWLF24y75Tg8XgfGLX0ueRhph118WKM6H5denx4bB5QF59+4UAm9oJ2qsPQZas/CQUDdtDdfvYHBdQ==", + "dev": true + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "1.0.1" + } + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + }, + "dependencies": { + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + } + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "0.1.7", + "readable-stream": "2.3.3" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", + "dev": true + }, + "mime-types": { + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "dev": true, + "requires": { + "mime-db": "1.30.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", + "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "requires": { + "concat-stream": "1.6.1", + "duplexify": "3.5.4", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.2", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "2.0.1", + "pumpify": "1.4.0", + "stream-each": "1.2.2", + "through2": "2.0.3" + } + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "1.0.2", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dev": true, + "requires": { + "for-in": "0.1.8", + "is-extendable": "0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "dev": true + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "moment": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz", + "integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==" + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "1.3.1", + "thunky": "1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "nan": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", + "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.1", + "to-regex": "3.0.2" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "ncname": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", + "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", + "dev": true, + "requires": { + "xml-char-classes": "1.0.0" + } + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, + "neo-async": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.0.tgz", + "integrity": "sha512-nJmSswG4As/MkRq7QZFuH/sf/yuv8ODdMZrY4Bedjp77a5MK4A6s7YbBB64c9u79EBUOfXUXBvArmvzTD0X+6g==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "1.1.4" + } + }, + "node-forge": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.1.tgz", + "integrity": "sha1-naYR6giYL0uUIGs760zJZl8gwwA=", + "dev": true + }, + "node-gyp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", + "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.5", + "request": "2.81.0", + "rimraf": "2.6.2", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.3.0" + }, + "dependencies": { + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.1" + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true, + "optional": true + } + } + }, + "node-libs-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "dev": true, + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "1.1.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.3", + "stream-browserify": "2.0.1", + "stream-http": "2.8.0", + "string_decoder": "1.0.3", + "timers-browserify": "2.0.6", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.3", + "vm-browserify": "0.0.4" + } + }, + "node-modules-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/node-modules-path/-/node-modules-path-1.0.1.tgz", + "integrity": "sha1-QAlrCM560OoUaAhjr0ScfHWl0cg=", + "dev": true + }, + "node-sass": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.7.2.tgz", + "integrity": "sha512-CaV+wLqZ7//Jdom5aUFCpGNoECd7BbNhjuwdsX/LkXBrHl8eb1Wjw4HvWqcFvhr5KuNgAk8i/myf/MQ1YYeroA==", + "dev": true, + "optional": true, + "requires": { + "async-foreach": "0.1.3", + "chalk": "1.1.3", + "cross-spawn": "3.0.1", + "gaze": "1.1.2", + "get-stdin": "4.0.1", + "glob": "7.1.2", + "in-publish": "2.0.0", + "lodash.assign": "4.2.0", + "lodash.clonedeep": "4.5.0", + "lodash.mergewith": "4.6.1", + "meow": "3.7.0", + "mkdirp": "0.5.1", + "nan": "2.8.0", + "node-gyp": "3.6.2", + "npmlog": "4.1.2", + "request": "2.79.0", + "sass-graph": "2.2.4", + "stdout-stream": "1.4.0", + "true-case-path": "1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true, + "optional": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "optional": true, + "requires": { + "chalk": "1.1.3", + "commander": "2.12.2", + "is-my-json-valid": "2.17.2", + "pinkie-promise": "2.0.1" + } + }, + "qs": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", + "dev": true, + "optional": true + }, + "request": { + "version": "2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.11.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "2.0.6", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "qs": "6.3.2", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.4.3", + "uuid": "3.2.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true, + "optional": true + } + } + }, + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "dev": true, + "requires": { + "abbrev": "1.1.1", + "osenv": "0.1.5" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.3" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "nth-check": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", + "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", + "dev": true, + "requires": { + "boolbase": "1.0.0" + } + }, + "null-check": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", + "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", + "dev": true + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + } + } + }, + "object-keys": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "obuf": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.1.tgz", + "integrity": "sha1-EEEktsYCxnlogaBCVB0220OlJk4=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "opn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", + "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", + "dev": true, + "requires": { + "is-wsl": "1.1.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "0.0.10", + "wordwrap": "0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + } + } + }, + "options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", + "dev": true + }, + "original": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", + "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", + "dev": true, + "requires": { + "url-parse": "1.0.5" + }, + "dependencies": { + "url-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", + "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", + "dev": true, + "requires": { + "querystringify": "0.0.4", + "requires-port": "1.0.0" + } + } + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "dev": true, + "requires": { + "p-try": "1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "1.2.0" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pako": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "dev": true + }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "2.3.2" + } + }, + "parse-asn1": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", + "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "dev": true, + "requires": { + "asn1.js": "4.10.1", + "browserify-aes": "1.1.1", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.14" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parsejson": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz", + "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=", + "dev": true, + "requires": { + "better-assert": "1.0.2" + } + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "dev": true, + "requires": { + "better-assert": "1.0.2" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "dev": true, + "requires": { + "better-assert": "1.0.2" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "3.0.0" + } + }, + "pbkdf2": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", + "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "dev": true, + "requires": { + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.10" + } + }, + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + } + }, + "portfinder": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", + "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", + "dev": true, + "requires": { + "async": "1.5.2", + "debug": "2.6.9", + "mkdirp": "0.5.1" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "6.0.19", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.19.tgz", + "integrity": "sha512-f13HRz0HtVwVaEuW6J6cOUCBLFtymhgyLPV7t4QEk2UD3twRI9IluDcQNdzQdBpiixkXj2OmzejhhTbSbDxNTg==", + "dev": true, + "requires": { + "chalk": "2.3.2", + "source-map": "0.6.1", + "supports-color": "5.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "postcss-import": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-11.1.0.tgz", + "integrity": "sha512-5l327iI75POonjxkXgdRCUS+AlzAdBx4pOvMEhTKTCjb1p8IEeVR9yx3cPbmN7LIWJLbfnIXxAhoB4jpD0c/Cw==", + "dev": true, + "requires": { + "postcss": "6.0.19", + "postcss-value-parser": "3.3.0", + "read-cache": "1.0.0", + "resolve": "1.5.0" + } + }, + "postcss-load-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", + "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", + "dev": true, + "requires": { + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1", + "postcss-load-options": "1.2.0", + "postcss-load-plugins": "2.3.0" + } + }, + "postcss-load-options": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", + "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", + "dev": true, + "requires": { + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1" + } + }, + "postcss-load-plugins": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", + "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", + "dev": true, + "requires": { + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1" + } + }, + "postcss-loader": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.1.tgz", + "integrity": "sha512-f0J/DWE/hyO9/LH0WHpXkny/ZZ238sSaG3p1SRBtVZnFWUtD7GXIEgHoBg8cnAeRbmEvUxHQptY46zWfwNYj/w==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "postcss": "6.0.19", + "postcss-load-config": "1.2.0", + "schema-utils": "0.4.5" + } + }, + "postcss-url": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-7.3.1.tgz", + "integrity": "sha512-Ya5KIjGptgz0OtrVYfi2UbLxVAZ6Emc4Of+Grx4Sf1deWlRpFwLr8FrtkUxfqh+XiZIVkXbjQrddE10ESpNmdA==", + "dev": true, + "requires": { + "mime": "1.6.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "postcss": "6.0.19", + "xxhashjs": "0.2.2" + } + }, + "postcss-value-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "requires": { + "renderkid": "2.0.1", + "utila": "0.4.0" + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "optional": true, + "requires": { + "asap": "2.0.6" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "protractor": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.1.2.tgz", + "integrity": "sha1-myIXQXCaTGLVzVPGqt1UpxE36V8=", + "dev": true, + "requires": { + "@types/node": "6.0.96", + "@types/q": "0.0.32", + "@types/selenium-webdriver": "2.53.43", + "blocking-proxy": "0.0.5", + "chalk": "1.1.3", + "glob": "7.1.2", + "jasmine": "2.8.0", + "jasminewd2": "2.2.0", + "optimist": "0.6.1", + "q": "1.4.1", + "saucelabs": "1.3.0", + "selenium-webdriver": "3.0.1", + "source-map-support": "0.4.18", + "webdriver-js-extender": "1.0.0", + "webdriver-manager": "12.0.6" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.0", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" + } + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "webdriver-manager": { + "version": "12.0.6", + "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.0.6.tgz", + "integrity": "sha1-PfGkgZdwELTL+MnYXHpXeCjA5ws=", + "dev": true, + "requires": { + "adm-zip": "0.4.7", + "chalk": "1.1.3", + "del": "2.2.2", + "glob": "7.1.2", + "ini": "1.3.5", + "minimist": "1.2.0", + "q": "1.4.1", + "request": "2.81.0", + "rimraf": "2.6.2", + "semver": "5.4.1", + "xml2js": "0.4.19" + } + } + } + }, + "proxy-addr": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", + "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", + "dev": true, + "requires": { + "forwarded": "0.1.2", + "ipaddr.js": "1.6.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", + "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "parse-asn1": "5.1.0", + "randombytes": "2.0.6" + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz", + "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==", + "dev": true, + "requires": { + "duplexify": "3.5.4", + "inherits": "2.0.3", + "pump": "2.0.1" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qjobs": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.1.5.tgz", + "integrity": "sha1-ZZ3p8s+NzCehSBJ28gU3cnI4LnM=", + "dev": true + }, + "qs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", + "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=", + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "2.0.6", + "safe-buffer": "5.1.1" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + } + }, + "raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", + "dev": true + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "requires": { + "pify": "2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + }, + "dependencies": { + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + } + } + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.3", + "set-immediate-shim": "1.0.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + } + }, + "reflect-metadata": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.10.tgz", + "integrity": "sha1-tPg3BEFqytiZiMmxVjXUfgO5NEo=", + "dev": true + }, + "regenerate": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } + }, + "regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true, + "requires": { + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", + "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", + "dev": true, + "requires": { + "css-select": "1.2.0", + "dom-converter": "0.1.4", + "htmlparser2": "3.3.0", + "strip-ansi": "3.0.1", + "utila": "0.3.3" + }, + "dependencies": { + "utila": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", + "dev": true + } + } + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "dev": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.6.0", + "uuid": "3.2.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "ripemd160": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "dev": true, + "requires": { + "hash-base": "2.0.2", + "inherits": "2.0.3" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "1.2.0" + } + }, + "rxjs": { + "version": "5.5.6", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.6.tgz", + "integrity": "sha512-v4Q5HDC0FHAQ7zcBX7T2IL6O5ltl1a2GX4ENjPXg6SjDY69Cmx9v4113C99a4wGF16ClPv5Z8mghuYorVkg/kg==", + "requires": { + "symbol-observable": "1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "0.1.15" + } + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, + "optional": true, + "requires": { + "glob": "7.1.2", + "lodash": "4.17.4", + "scss-tokenizer": "0.2.3", + "yargs": "7.1.0" + } + }, + "sass-loader": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.7.tgz", + "integrity": "sha512-JoiyD00Yo1o61OJsoP2s2kb19L1/Y2p3QFcCdWdF6oomBGKVYuZyqHWemRBfQ2uGYsk+CH3eCguXNfpjzlcpaA==", + "dev": true, + "requires": { + "clone-deep": "2.0.2", + "loader-utils": "1.1.0", + "lodash.tail": "4.1.1", + "neo-async": "2.5.0", + "pify": "3.0.0" + } + }, + "saucelabs": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.3.0.tgz", + "integrity": "sha1-0kDoAJ33+ocwbsRXimm6O1xCT+4=", + "dev": true, + "requires": { + "https-proxy-agent": "1.0.0" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", + "dev": true, + "requires": { + "ajv": "6.2.1", + "ajv-keywords": "3.1.0" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "optional": true, + "requires": { + "js-base64": "2.4.3", + "source-map": "0.4.4" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "optional": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selenium-webdriver": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.0.1.tgz", + "integrity": "sha1-ot6l2kqX9mcuiefKcnbO+jZRR6c=", + "dev": true, + "requires": { + "adm-zip": "0.4.7", + "rimraf": "2.6.2", + "tmp": "0.0.30", + "xml2js": "0.4.19" + }, + "dependencies": { + "tmp": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", + "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2" + } + } + } + }, + "selfsigned": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.2.tgz", + "integrity": "sha1-tESVgNmZKbZbEKSDiTAaZZIIh1g=", + "dev": true, + "requires": { + "node-forge": "0.7.1" + } + }, + "semver": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", + "dev": true + }, + "semver-dsl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz", + "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=", + "dev": true, + "requires": { + "semver": "5.4.1" + } + }, + "semver-intersect": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.3.1.tgz", + "integrity": "sha1-j6hKnhAovSOeRTDRo+GB5pjYhLo=", + "dev": true, + "requires": { + "semver": "5.4.1" + } + }, + "send": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", + "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "etag": "1.8.1", + "fresh": "0.5.2", + "http-errors": "1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.3.1" + }, + "dependencies": { + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.4.0.tgz", + "integrity": "sha1-fJWFFNtqwkQ6irwGLcn3iGp/YAU=", + "dev": true + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "1.3.5", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "1.0.3", + "http-errors": "1.6.2", + "mime-types": "2.1.17", + "parseurl": "1.3.2" + } + }, + "serve-static": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", + "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", + "dev": true, + "requires": { + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.16.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-getter": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", + "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", + "dev": true, + "requires": { + "to-object-path": "0.3.0" + } + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "sha.js": { + "version": "2.4.10", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", + "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "shallow-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "dev": true, + "requires": { + "is-extendable": "0.1.1", + "kind-of": "5.1.0", + "mixin-object": "2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "silent-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/silent-error/-/silent-error-1.1.0.tgz", + "integrity": "sha1-IglwbxyFCp8dENDYQJGLRvJuG8k=", + "dev": true, + "requires": { + "debug": "2.6.9" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "snapdragon": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz", + "integrity": "sha1-4StUh/re0+PeoKyR6UAL91tAE3A=", + "dev": true, + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.1", + "use": "2.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "socket.io": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz", + "integrity": "sha1-uK+cq6AJSeVo42nxMn6pvp6iRhs=", + "dev": true, + "requires": { + "debug": "2.3.3", + "engine.io": "1.8.3", + "has-binary": "0.1.7", + "object-assign": "4.1.0", + "socket.io-adapter": "0.5.0", + "socket.io-client": "1.7.3", + "socket.io-parser": "2.3.1" + }, + "dependencies": { + "debug": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "dev": true, + "requires": { + "ms": "0.7.2" + } + }, + "ms": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "dev": true + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + } + } + }, + "socket.io-adapter": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz", + "integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=", + "dev": true, + "requires": { + "debug": "2.3.3", + "socket.io-parser": "2.3.1" + }, + "dependencies": { + "debug": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "dev": true, + "requires": { + "ms": "0.7.2" + } + }, + "ms": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "dev": true + } + } + }, + "socket.io-client": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.3.tgz", + "integrity": "sha1-sw6GqhDV7zVGYBwJzeR2Xjgdo3c=", + "dev": true, + "requires": { + "backo2": "1.0.2", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "2.3.3", + "engine.io-client": "1.8.3", + "has-binary": "0.1.7", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseuri": "0.0.5", + "socket.io-parser": "2.3.1", + "to-array": "0.1.4" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "debug": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "dev": true, + "requires": { + "ms": "0.7.2" + } + }, + "ms": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "dev": true + } + } + }, + "socket.io-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz", + "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=", + "dev": true, + "requires": { + "component-emitter": "1.1.2", + "debug": "2.2.0", + "isarray": "0.0.1", + "json3": "3.3.2" + }, + "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true, + "requires": { + "faye-websocket": "0.10.0", + "uuid": "3.2.0" + } + }, + "sockjs-client": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", + "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "eventsource": "0.1.6", + "faye-websocket": "0.11.1", + "inherits": "2.0.3", + "json3": "3.3.2", + "url-parse": "1.2.0" + }, + "dependencies": { + "faye-websocket": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", + "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "dev": true, + "requires": { + "websocket-driver": "0.7.0" + } + } + } + }, + "source-list-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", + "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", + "dev": true, + "requires": { + "atob": "2.0.3", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "dev": true + }, + "spdy": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", + "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", + "dev": true, + "requires": { + "debug": "2.6.9", + "handle-thing": "1.2.5", + "http-deceiver": "1.2.7", + "safe-buffer": "5.1.1", + "select-hose": "2.0.0", + "spdy-transport": "2.0.20" + } + }, + "spdy-transport": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.20.tgz", + "integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=", + "dev": true, + "requires": { + "debug": "2.6.9", + "detect-node": "2.0.3", + "hpack.js": "2.1.6", + "obuf": "1.1.1", + "readable-stream": "2.3.3", + "safe-buffer": "5.1.1", + "wbuf": "1.7.2" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dev": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "ssri": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.2.4.tgz", + "integrity": "sha512-UnEAgMZa15973iH7cUi0AHjJn1ACDIkaMyZILoqwN6yzt+4P81I8tBc5Hl+qwi5auMplZtPQsHrPBR5vJLcQtQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "0.2.5", + "object-copy": "0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + }, + "stdout-stream": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", + "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "2.3.3" + } + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, + "stream-each": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", + "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" + } + }, + "stream-http": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", + "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", + "dev": true, + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "style-loader": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.19.1.tgz", + "integrity": "sha512-IRE+ijgojrygQi3rsqT0U4dd+UcPCqcVvauZpCnQrGAlEe+FUIyrK93bUDScamesjP08JlQNsFJU+KmPedP5Og==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "0.3.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, + "requires": { + "ajv": "5.5.2" + } + } + } + }, + "stylus": { + "version": "0.54.5", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz", + "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=", + "dev": true, + "requires": { + "css-parse": "1.7.0", + "debug": "2.6.9", + "glob": "7.0.6", + "mkdirp": "0.5.1", + "sax": "0.5.8", + "source-map": "0.1.43" + }, + "dependencies": { + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "sax": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", + "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=", + "dev": true + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "stylus-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", + "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "lodash.clonedeep": "4.5.0", + "when": "3.6.4" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=" + }, + "tapable": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", + "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", + "dev": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "optional": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.3", + "xtend": "4.0.1" + } + }, + "thunky": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", + "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", + "dev": true + }, + "time-stamp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz", + "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz", + "integrity": "sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==", + "dev": true, + "requires": { + "setimmediate": "1.0.5" + } + }, + "tmp": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", + "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2" + } + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "repeat-string": "1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + } + } + }, + "toposort": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.6.tgz", + "integrity": "sha1-wxdI5V0hDv/AD9zcfW5o19e7nOw=", + "dev": true + }, + "tough-cookie": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "dev": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tree-kill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz", + "integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg==", + "dev": true + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", + "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", + "dev": true, + "optional": true, + "requires": { + "glob": "6.0.4" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "dev": true, + "optional": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, + "ts-node": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-3.2.2.tgz", + "integrity": "sha1-u9KOOK9Kqj6WB2xGbhsiAZfBo84=", + "dev": true, + "requires": { + "arrify": "1.0.1", + "chalk": "2.2.2", + "diff": "3.4.0", + "make-error": "1.3.2", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18", + "tsconfig": "6.0.0", + "v8flags": "3.0.1", + "yn": "2.0.0" + } + }, + "tsconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-6.0.0.tgz", + "integrity": "sha1-aw6DdgA9evGGT434+J3QBZ/80DI=", + "dev": true, + "requires": { + "strip-bom": "3.0.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, + "tsickle": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.26.0.tgz", + "integrity": "sha512-eWJ2CUfttGK0LqF9iJ/Avnxbj4M+fCyJ50Zag3wm73Fut1hsasPRHKxKdrMWVj4BMHnQNx7TO+DdNmLmJTSuNw==", + "dev": true, + "requires": { + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "source-map": "0.5.7", + "source-map-support": "0.4.18" + } + }, + "tslib": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.1.tgz", + "integrity": "sha1-aUavLR1lGnsYY7Ux1uWvpBqkTqw=" + }, + "tslint": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.7.0.tgz", + "integrity": "sha1-wl4NDJL6EgHCvDDoROCOaCtPNVI=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "colors": "1.1.2", + "commander": "2.12.2", + "diff": "3.4.0", + "glob": "7.1.2", + "minimatch": "3.0.4", + "resolve": "1.5.0", + "semver": "5.4.1", + "tslib": "1.8.1", + "tsutils": "2.18.0" + } + }, + "tsutils": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.18.0.tgz", + "integrity": "sha512-y0CUDPPb0ygkUkmK8kAeLibag7OEAO0dxbtqAhzP+5w/VY5JdGnPiafhYxzRzWzkAGQGPJV99xrxngJYVLtrMg==", + "dev": true, + "requires": { + "tslib": "1.8.1" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "type-is": { + "version": "1.6.15", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", + "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "2.1.17" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typescript": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.2.tgz", + "integrity": "sha1-+DlfhdRZJ2BnyYiqQYN6j4KHCEQ=", + "dev": true + }, + "uglify-js": { + "version": "3.3.13", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.13.tgz", + "integrity": "sha512-7rdn/bDOG1ElSTPdh7AI5TCjLv63ZD4k8BBadN3ssIkhlaQL2c0yRxmXCyOYhZK0wZTgGgUSnYQ4CGu+Jos5cA==", + "dev": true, + "requires": { + "commander": "2.14.1", + "source-map": "0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", + "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "uglifyjs-webpack-plugin": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.2.tgz", + "integrity": "sha512-CG/NvzXfemUAm5Y4Guh5eEaJYHtkG7kKNpXEJHp9QpxsFVB5/qKvYWoMaq4sa99ccZ0hM3MK8vQV9XPZB4357A==", + "dev": true, + "requires": { + "cacache": "10.0.4", + "find-cache-dir": "1.0.0", + "schema-utils": "0.4.5", + "serialize-javascript": "1.4.0", + "source-map": "0.6.1", + "uglify-es": "3.3.9", + "webpack-sources": "1.1.0", + "worker-farm": "1.5.4" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "requires": { + "commander": "2.13.0", + "source-map": "0.6.1" + } + } + } + }, + "ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=", + "dev": true + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" + } + } + } + }, + "unique-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "dev": true, + "requires": { + "unique-slug": "2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "dev": true, + "requires": { + "imurmurhash": "0.1.4" + } + }, + "universalify": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", + "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "upath": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.0.4.tgz", + "integrity": "sha512-d4SJySNBXDaQp+DPrziv3xGS6w3d2Xt69FijJr86zMPBy23JEloMCEOUBBzuN7xCtjLCnmB9tI/z7SBCahHBOw==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-loader": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.6.2.tgz", + "integrity": "sha512-h3qf9TNn53BpuXTTcpC+UehiRrl0Cv45Yr/xWayApjw6G8Bg2dGke7rIwDQ39piciWCWrC+WiqLjOh3SUp9n0Q==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "mime": "1.6.0", + "schema-utils": "0.3.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, + "requires": { + "ajv": "5.5.2" + } + } + } + }, + "url-parse": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", + "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", + "dev": true, + "requires": { + "querystringify": "1.0.0", + "requires-port": "1.0.0" + }, + "dependencies": { + "querystringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", + "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=", + "dev": true + } + } + }, + "use": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz", + "integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=", + "dev": true, + "requires": { + "define-property": "0.2.5", + "isobject": "3.0.1", + "lazy-cache": "2.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "useragent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.2.1.tgz", + "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=", + "dev": true, + "requires": { + "lru-cache": "2.2.4", + "tmp": "0.0.31" + }, + "dependencies": { + "lru-cache": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz", + "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=", + "dev": true + } + } + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.0.tgz", + "integrity": "sha512-qC0vMFX6q6ee8JaoTF2Om1uL8KAV1ATUjVaHRxLiPJkIsp8JZl6ZjG0MIB+twZFLbi1vXj30rqj4zlqYiOS9xg==", + "dev": true + }, + "v8flags": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.0.1.tgz", + "integrity": "sha1-3Oj8N5wX2fLJ6e142JzgAFKxt2s=", + "dev": true, + "requires": { + "homedir-polyfill": "1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "requires": { + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", + "dev": true + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true + }, + "watchpack": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.5.0.tgz", + "integrity": "sha512-RSlipNQB1u48cq0wH/BNfCu1tD/cJ8ydFIkNYhp9o+3d+8unClkIovpW5qpFPgmL9OE48wfAnlZydXByWP82AA==", + "dev": true, + "requires": { + "chokidar": "2.0.2", + "graceful-fs": "4.1.11", + "neo-async": "2.5.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "3.1.9", + "normalize-path": "2.1.1" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz", + "integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "define-property": "1.0.0", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "kind-of": "6.0.2", + "repeat-element": "1.1.2", + "snapdragon": "0.8.1", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "chokidar": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.2.tgz", + "integrity": "sha512-l32Hw3wqB0L2kGVmSbK/a+xXLDrUEsc84pSgMkmwygHvD7ubRsP/vxxHa5BtB6oix1XLLVCHyYMsckRXxThmZw==", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.1", + "fsevents": "1.1.3", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0", + "upath": "1.0.4" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.1", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.1", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz", + "integrity": "sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.1", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.1", + "to-regex": "3.0.2" + } + } + } + }, + "wbuf": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz", + "integrity": "sha1-1pe5nx9ZUS3ydRvkJ2nBWAtYAf4=", + "dev": true, + "requires": { + "minimalistic-assert": "1.0.0" + } + }, + "webdriver-js-extender": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-1.0.0.tgz", + "integrity": "sha1-gcUzqeM9W/tZe05j4s2yW1R3dRU=", + "dev": true, + "requires": { + "@types/selenium-webdriver": "2.53.43", + "selenium-webdriver": "2.53.3" + }, + "dependencies": { + "adm-zip": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz", + "integrity": "sha1-ph7VrmkFw66lizplfSUDMJEFJzY=", + "dev": true + }, + "sax": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz", + "integrity": "sha1-VjsZx8HeiS4Jv8Ty/DDjwn8JUrk=", + "dev": true + }, + "selenium-webdriver": { + "version": "2.53.3", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.53.3.tgz", + "integrity": "sha1-0p/1qVff8aG0ncRXdW5OS/vc4IU=", + "dev": true, + "requires": { + "adm-zip": "0.4.4", + "rimraf": "2.6.2", + "tmp": "0.0.24", + "ws": "1.1.2", + "xml2js": "0.4.4" + } + }, + "tmp": { + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.24.tgz", + "integrity": "sha1-1qXhmNFKmDXMby18PZ4wJCjIzxI=", + "dev": true + }, + "xml2js": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.4.tgz", + "integrity": "sha1-MREBAAMAiuGSQOuhdJe1fHKcVV0=", + "dev": true, + "requires": { + "sax": "0.6.1", + "xmlbuilder": "9.0.4" + } + } + } + }, + "webpack": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.11.0.tgz", + "integrity": "sha512-3kOFejWqj5ISpJk4Qj/V7w98h9Vl52wak3CLiw/cDOfbVTq7FeoZ0SdoHHY9PYlHr50ZS42OfvzE2vB4nncKQg==", + "dev": true, + "requires": { + "acorn": "5.5.1", + "acorn-dynamic-import": "2.0.2", + "ajv": "6.2.1", + "ajv-keywords": "3.1.0", + "async": "2.6.0", + "enhanced-resolve": "3.4.1", + "escope": "3.6.0", + "interpret": "1.1.0", + "json-loader": "0.5.7", + "json5": "0.5.1", + "loader-runner": "2.3.0", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "mkdirp": "0.5.1", + "node-libs-browser": "2.1.0", + "source-map": "0.5.7", + "supports-color": "4.5.0", + "tapable": "0.2.8", + "uglifyjs-webpack-plugin": "0.4.6", + "watchpack": "1.5.0", + "webpack-sources": "1.1.0", + "yargs": "8.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglifyjs-webpack-plugin": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", + "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-js": "2.8.29", + "webpack-sources": "1.1.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + } + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } + } + } + } + }, + "webpack-core": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz", + "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=", + "dev": true, + "requires": { + "source-list-map": "0.1.8", + "source-map": "0.4.4" + }, + "dependencies": { + "source-list-map": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", + "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "webpack-dev-middleware": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", + "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", + "dev": true, + "requires": { + "memory-fs": "0.4.1", + "mime": "1.6.0", + "path-is-absolute": "1.0.1", + "range-parser": "1.2.0", + "time-stamp": "2.0.0" + } + }, + "webpack-dev-server": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.2.tgz", + "integrity": "sha512-zrPoX97bx47vZiAXfDrkw8pe9QjJ+lunQl3dypojyWwWr1M5I2h0VSrMPfTjopHQPRNn+NqfjcMmhoLcUJe2gA==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "array-includes": "3.0.3", + "bonjour": "3.5.0", + "chokidar": "2.0.2", + "compression": "1.7.2", + "connect-history-api-fallback": "1.5.0", + "debug": "3.1.0", + "del": "3.0.0", + "express": "4.16.2", + "html-entities": "1.2.1", + "http-proxy-middleware": "0.17.4", + "import-local": "1.0.0", + "internal-ip": "1.2.0", + "ip": "1.1.5", + "killable": "1.0.0", + "loglevel": "1.6.1", + "opn": "5.1.0", + "portfinder": "1.0.13", + "selfsigned": "1.10.2", + "serve-index": "1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.1.4", + "spdy": "3.4.7", + "strip-ansi": "3.0.1", + "supports-color": "5.3.0", + "webpack-dev-middleware": "1.12.2", + "yargs": "6.6.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "3.1.9", + "normalize-path": "2.1.1" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz", + "integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "define-property": "1.0.0", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "kind-of": "6.0.2", + "repeat-element": "1.1.2", + "snapdragon": "0.8.1", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "chokidar": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.2.tgz", + "integrity": "sha512-l32Hw3wqB0L2kGVmSbK/a+xXLDrUEsc84pSgMkmwygHvD7ubRsP/vxxHa5BtB6oix1XLLVCHyYMsckRXxThmZw==", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.1", + "fsevents": "1.1.3", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0", + "upath": "1.0.4" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.1", + "to-regex": "3.0.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.1", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz", + "integrity": "sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.1", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.1", + "to-regex": "3.0.2" + } + }, + "supports-color": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "4.2.1" + } + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "dev": true, + "requires": { + "camelcase": "3.0.0" + } + } + } + }, + "webpack-merge": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.2.tgz", + "integrity": "sha512-/0QYwW/H1N/CdXYA2PNPVbsxO3u2Fpz34vs72xm03SRfg6bMNGfMJIQEpQjKRvkG2JvT6oRJFpDtSrwbX8Jzvw==", + "dev": true, + "requires": { + "lodash": "4.17.5" + }, + "dependencies": { + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true + } + } + }, + "webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "dev": true, + "requires": { + "source-list-map": "2.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "webpack-subresource-integrity": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.0.4.tgz", + "integrity": "sha1-j6yKfo61n8ahZ2ioXJ2U7n+dDts=", + "dev": true, + "requires": { + "webpack-core": "0.6.9" + } + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "requires": { + "http-parser-js": "0.4.10", + "websocket-extensions": "0.1.3" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "when": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", + "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=", + "dev": true + }, + "which": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "wide-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "dev": true, + "requires": { + "string-width": "1.0.2" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "worker-farm": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.4.tgz", + "integrity": "sha512-ITyClEvcfv0ozqJl1vmWFWhvI+OIrkbInYqkEPE50wFPXj8J9Gd3FYf8+CkZJXJJsQBYe+2DvmoK9Zhx5w8W+w==", + "dev": true, + "requires": { + "errno": "0.1.7", + "xtend": "4.0.1" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz", + "integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=", + "dev": true, + "requires": { + "options": "0.0.6", + "ultron": "1.0.2" + } + }, + "wtf-8": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz", + "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=", + "dev": true + }, + "xml-char-classes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", + "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=", + "dev": true + }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "dev": true, + "requires": { + "sax": "1.2.4", + "xmlbuilder": "9.0.4" + } + }, + "xmlbuilder": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.4.tgz", + "integrity": "sha1-UZy0ymhtAFqEINNJbz8MruzKWA8=", + "dev": true + }, + "xmlhttprequest-ssl": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz", + "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "xxhashjs": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz", + "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==", + "dev": true, + "requires": { + "cuint": "0.2.2" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true, + "optional": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true, + "optional": true + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true, + "optional": true + } + } + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", + "dev": true + }, + "yn": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", + "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "dev": true + }, + "zone.js": { + "version": "0.8.20", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.20.tgz", + "integrity": "sha512-FXlA37ErSXCMy5RNBcGFgCI/Zivqzr0D19GuvDxhcYIJc7xkFp6c29DKyODJu0Zo+EMyur/WPPgcBh1EHjB9jA==" + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/package.json b/vendor/github.com/skycoin/skycoin/src/gui/static/package.json new file mode 100755 index 0000000..77b3a4c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/package.json @@ -0,0 +1,58 @@ +{ + "name": "desktopwallet", + "version": "0.0.0", + "license": "MIT", + "scripts": { + "ng": "ng", + "start": "ng serve --proxy-config proxy.config.js --delete-output-path false", + "build": "ng build --prod", + "build-travis": "ng build --prod --output-path=$BUILD_UI_TRAVIS_DIR", + "test": "ng test --watch=false", + "lint": "ng lint", + "e2e": "ng e2e --proxy-config e2e-proxy.config.js --delete-output-path false", + "e2e-choose-config": "ng e2e --proxy-config $E2E_PROXY_CONFIG --delete-output-path false" + }, + "private": true, + "dependencies": { + "@angular/animations": "^5.0.0", + "@angular/cdk": "^5.0.0", + "@angular/common": "^5.0.0", + "@angular/compiler": "^5.0.0", + "@angular/core": "^5.0.0", + "@angular/forms": "^5.0.0", + "@angular/http": "^5.0.0", + "@angular/material": "^5.0.0", + "@angular/platform-browser": "^5.0.0", + "@angular/platform-browser-dynamic": "^5.0.0", + "@angular/router": "^5.0.0", + "@ngx-translate/core": "^9.1.1", + "bootstrap": "^4.0.0-beta.2", + "core-js": "^2.4.1", + "font-awesome": "^4.7.0", + "hammerjs": "^2.0.8", + "moment": "^2.21.0", + "rxjs": "^5.5.2", + "zone.js": "^0.8.14" + }, + "devDependencies": { + "@angular/cli": "^1.7.3", + "@angular/compiler-cli": "^5.0.0", + "@angular/language-service": "^5.0.0", + "@types/jasmine": "~2.5.53", + "@types/jasminewd2": "~2.0.2", + "@types/node": "~6.0.60", + "codelyzer": "~4.0.1", + "jasmine-core": "~2.6.2", + "jasmine-spec-reporter": "~4.1.0", + "karma": "~1.7.0", + "karma-chrome-launcher": "~2.1.1", + "karma-cli": "~1.0.1", + "karma-coverage-istanbul-reporter": "^1.2.1", + "karma-jasmine": "~1.1.0", + "karma-jasmine-html-reporter": "^0.2.2", + "protractor": "~5.1.2", + "ts-node": "~3.2.0", + "tslint": "~5.7.0", + "typescript": "~2.4.2" + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/protractor.conf.js b/vendor/github.com/skycoin/skycoin/src/gui/static/protractor.conf.js new file mode 100755 index 0000000..98b7152 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/protractor.conf.js @@ -0,0 +1,31 @@ +// Protractor configuration file, see link for more information +// https://github.com/angular/protractor/blob/master/lib/config.ts + +const { SpecReporter } = require('jasmine-spec-reporter'); + +exports.config = { + allScriptsTimeout: 60000, + specs: [ + './e2e/**/*.e2e-spec.ts' + ], + capabilities: { + 'browserName': 'chrome', + chromeOptions: { + args: ['--no-sandbox', '--headless', '--disable-gpu', 'window-size=1920,1080'] + } + }, + directConnect: true, + baseUrl: 'http://localhost:4200/', + framework: 'jasmine', + jasmineNodeOpts: { + showColors: true, + defaultTimeoutInterval: 60000, + print: function() {} + }, + onPrepare() { + require('ts-node').register({ + project: 'e2e/tsconfig.e2e.json' + }); + jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); + } +}; diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/proxy.config.js b/vendor/github.com/skycoin/skycoin/src/gui/static/proxy.config.js new file mode 100755 index 0000000..5728e82 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/proxy.config.js @@ -0,0 +1,22 @@ +const PROXY_CONFIG = { + "/api/*": { + "target": "http://127.0.0.1:6420", + "secure": false, + "logLevel": "debug", + "bypass": function (req) { + req.headers["host"] = '127.0.0.1:6420'; + req.headers["referer"] = 'http://127.0.0.1:6420'; + req.headers["origin"] = 'http://127.0.0.1:6420'; + } +}, + "/teller/*": { + "target": "http://127.0.0.1:7071", + "pathRewrite": { + "^/teller" : "api/" + }, + "secure": true, + "logLevel": "debug" + } +}; + +module.exports = PROXY_CONFIG; diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.html new file mode 100755 index 0000000..0680b43 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.html @@ -0,0 +1 @@ + diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.scss new file mode 100755 index 0000000..dbe2cae --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.scss @@ -0,0 +1,52 @@ +$white: #FBFBFB; + +mat-card { + max-width: 1000px; + margin-top: 80px; + margin-right: auto; + margin-left: auto; +} + +.logo { + max-height: 100%; +} + +.fill-remaining-space { + flex: 1 1 auto; +} + +.sky-container { + max-width: 1000px; + margin-top: 20px; + margin-right: auto; + margin-left: auto; +} + +mat-toolbar span { + margin: 0 20px; +} + +.search-field { + border-radius: 8px; + border: none; + background-color: #fff; + padding: 8px; +} + +.syncing { + font-size: 14px; +} + +.main-menu button { + margin-right: 20px; +} + +#top-menu { + span { + color: $white; + + &#version { + padding-top: 12px; + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.spec.ts new file mode 100755 index 0000000..cd85da1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.spec.ts @@ -0,0 +1,32 @@ +import { TestBed, async } from '@angular/core/testing'; + +import { AppComponent } from './app.component'; + +describe('AppComponent', () => { + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ + AppComponent, + ], + }).compileComponents(); + })); + + it('should create the app', async(() => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app).toBeTruthy(); + })); + + it(`should have as title 'app'`, async(() => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app.title).toEqual('app'); + })); + + it('should render title in a h1 tag', async(() => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.debugElement.nativeElement; + expect(compiled.querySelector('h1').textContent).toContain('Welcome to app!'); + })); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.ts new file mode 100755 index 0000000..3903547 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.component.ts @@ -0,0 +1,23 @@ +import { Component, OnInit } from '@angular/core'; +import 'rxjs/add/operator/takeWhile'; +import { AppService } from './services/app.service'; +import { TranslateService } from '@ngx-translate/core'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.scss'], +}) +export class AppComponent implements OnInit { + constructor( + private appService: AppService, + private translateService: TranslateService, + ) { + translateService.setDefaultLang('en'); + translateService.use('en'); + } + + ngOnInit() { + this.appService.testBackend(); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.config.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.config.ts new file mode 100755 index 0000000..722fae9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.config.ts @@ -0,0 +1,3 @@ +export const AppConfig = { + otcEnabled: false, +}; diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.datatypes.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.datatypes.ts new file mode 100755 index 0000000..db607e5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.datatypes.ts @@ -0,0 +1,95 @@ +/** + * Internal Objects + */ + +export class Address { + address: string; + coins: number; + hours: number; + copying?: boolean; // Optional parameter indicating whether the address is being copied to clipboard + outputs?: any; +} + +export class PurchaseOrder { + coin_type: string; + filename: string; + deposit_address: string; + recipient_address: string; + status?: string; +} + +export class TellerConfig { + enabled: boolean; + sky_btc_exchange_rate: number; +} + +export class Transaction { + balance: number; + inputs: any[]; + outputs: any[]; + txid: string; + hoursSent?: number; + hoursBurned?: number; +} + +export class PreviewTransaction extends Transaction { + from: string; + to: string[]; + encoded: string; +} + +export class NormalTransaction extends Transaction { + addresses: string[]; + timestamp: number; + block: number; + confirmed: boolean; +} + +export class Version { + version: string; +} + +export class Wallet { + label: string; + filename: string; + coins: number; + hours: number; + addresses: Address[]; + encrypted: boolean; + hideEmpty?: boolean; + opened?: boolean; +} + +export class Connection { + id: number; + address: string; + listen_port: number; + source?: string; +} + +/** + * Response Objects + */ + +export class GetWalletsResponseWallet { + meta: GetWalletsResponseMeta; + entries: GetWalletsResponseEntry[]; +} + +export class PostWalletNewAddressResponse { + addresses: string[]; +} + +/** + * Response Embedded Objects + */ + +export class GetWalletsResponseMeta { + label: string; + filename: string; + encrypted: boolean; +} + +export class GetWalletsResponseEntry { + address: string; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.module.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.module.ts new file mode 100755 index 0000000..5a2021c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.module.ts @@ -0,0 +1,230 @@ +import { BrowserModule } from '@angular/platform-browser'; +import { NgModule } from '@angular/core'; +import { AppComponent } from './app.component'; +import { HttpModule } from '@angular/http'; +import { ApiService } from './services/api.service'; +import { WalletService } from './services/wallet.service'; +import { WalletsComponent } from './components/pages/wallets/wallets.component'; +import { CreateWalletComponent } from './components/pages/wallets/create-wallet/create-wallet.component'; +import { ReactiveFormsModule } from '@angular/forms'; +import { SendSkycoinComponent } from './components/pages/send-skycoin/send-skycoin.component'; +import { DateFromNowPipe } from './pipes/date-from-now.pipe'; +import { RouterModule } from '@angular/router'; +import { BlockchainService } from './services/blockchain.service'; +import { DateTimePipe } from './pipes/date-time.pipe'; +import { PendingTransactionsComponent } from './components/pages/settings/pending-transactions/pending-transactions.component'; +import { OutputsComponent } from './components/pages/settings/outputs/outputs.component'; +import { BlockchainComponent } from './components/pages/settings/blockchain/blockchain.component'; +import { BackupComponent } from './components/pages/settings/backup/backup.component'; +import { NetworkComponent } from './components/pages/settings/network/network.component'; +import { NetworkService } from './services/network.service'; +import { ChangeNameComponent } from './components/pages/wallets/change-name/change-name.component'; +import { ButtonComponent } from './components/layout/button/button.component'; +import { QrCodeComponent } from './components/layout/qr-code/qr-code.component'; +import { BuyComponent } from './components/pages/buy/buy.component'; +import { AddDepositAddressComponent } from './components/pages/buy/add-deposit-address/add-deposit-address.component'; +import { PurchaseService } from './services/purchase.service'; +import { TellerStatusPipe } from './pipes/teller-status.pipe'; +import { HeaderComponent } from './components/layout/header/header.component'; +import { TopBarComponent } from './components/layout/header/top-bar/top-bar.component'; +import { PriceService } from './services/price.service'; +import { TransactionListComponent } from './components/pages/transaction-list/transaction-list.component'; +import { TransactionDetailComponent } from './components/pages/transaction-list/transaction-detail/transaction-detail.component'; +import { NavBarComponent } from './components/layout/header/nav-bar/nav-bar.component'; +import { WalletDetailComponent } from './components/pages/wallets/wallet-detail/wallet-detail.component'; +import { ModalComponent } from './components/layout/modal/modal.component'; +import { PasswordDialogComponent } from './components/layout/password-dialog/password-dialog.component'; +import { MatButtonModule } from '@angular/material/button'; +import { MatCardModule } from '@angular/material/card'; +import { MatDialogModule } from '@angular/material/dialog'; +import { MatExpansionModule } from '@angular/material/expansion'; +import { MatGridListModule } from '@angular/material/grid-list'; +import { MatIconModule } from '@angular/material/icon'; +import { MatInputModule } from '@angular/material/input'; +import { MatListModule } from '@angular/material/list'; +import { MatMenuModule } from '@angular/material/menu'; +import { MatProgressBarModule } from '@angular/material/progress-bar'; +import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; +import { MatSelectModule } from '@angular/material/select'; +import { MatSnackBarModule } from '@angular/material/snack-bar'; +import { MatTabsModule } from '@angular/material/tabs'; +import { MatToolbarModule } from '@angular/material/toolbar'; +import { MatTooltipModule } from '@angular/material/tooltip'; +import { MatCheckboxModule } from '@angular/material/checkbox'; +import { MatSliderModule } from '@angular/material'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { HttpClientModule } from '@angular/common/http'; +import { AppService } from './services/app.service'; +import { WizardGuardService } from './services/wizard-guard.service'; +import { OnboardingCreateWalletComponent } from './components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component'; +import { OnboardingEncryptWalletComponent } from './components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component'; +import { OnboardingSafeguardComponent } from './components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component'; +import { DoubleButtonComponent } from './components/layout/double-button/double-button.component'; +import { SeedModalComponent } from './components/pages/settings/backup/seed-modal/seed-modal.component'; +import { OnboardingComponent } from './components/pages/onboarding/onboarding.component'; +import { DontsavepasswordDirective } from './directives/dontsavepassword.directive'; +import { SendFormComponent } from './components/pages/send-skycoin/send-form/send-form.component'; +import { SendVerifyComponent } from './components/pages/send-skycoin/send-preview/send-preview.component'; +import { TransactionInfoComponent } from './components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component'; +import { SendFormAdvancedComponent } from './components/pages/send-skycoin/send-form-advanced/send-form-advanced.component'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { AppTranslateLoader } from './app.translate-loader'; +import { NavBarService } from './services/nav-bar.service'; +import { LoadingContentComponent } from './components/layout/loading-content/loading-content.component'; + + +const ROUTES = [ + { + path: '', + redirectTo: 'wallets', + pathMatch: 'full', + }, + { + path: 'wallets', + component: WalletsComponent, + canActivate: [WizardGuardService], + }, + { + path: 'send', + component: SendSkycoinComponent, + canActivate: [WizardGuardService], + }, + { + path: 'transactions', + component: TransactionListComponent, + canActivate: [WizardGuardService], + }, + { + path: 'buy', + component: BuyComponent, + canActivate: [WizardGuardService], + }, + { + path: 'settings', + children: [ + { + path: 'backup', + component: BackupComponent, + }, + { + path: 'blockchain', + component: BlockchainComponent, + }, + { + path: 'network', + component: NetworkComponent, + }, + { + path: 'outputs', + component: OutputsComponent, + }, + { + path: 'pending-transactions', + component: PendingTransactionsComponent, + }, + ], + canActivate: [WizardGuardService], + }, + { + path: 'wizard', + component: OnboardingComponent, + }, +]; + +@NgModule({ + declarations: [ + AddDepositAddressComponent, + AppComponent, + BackupComponent, + BlockchainComponent, + BuyComponent, + ButtonComponent, + ChangeNameComponent, + CreateWalletComponent, + DateFromNowPipe, + DateTimePipe, + HeaderComponent, + NetworkComponent, + OutputsComponent, + PendingTransactionsComponent, + QrCodeComponent, + SendSkycoinComponent, + TellerStatusPipe, + TopBarComponent, + TransactionDetailComponent, + TransactionListComponent, + WalletsComponent, + NavBarComponent, + WalletDetailComponent, + ModalComponent, + OnboardingCreateWalletComponent, + OnboardingEncryptWalletComponent, + OnboardingSafeguardComponent, + DoubleButtonComponent, + PasswordDialogComponent, + SeedModalComponent, + OnboardingComponent, + DontsavepasswordDirective, + SendFormComponent, + SendVerifyComponent, + TransactionInfoComponent, + SendFormAdvancedComponent, + LoadingContentComponent, + ], + entryComponents: [ + AddDepositAddressComponent, + CreateWalletComponent, + ChangeNameComponent, + QrCodeComponent, + SendSkycoinComponent, + TransactionDetailComponent, + OnboardingSafeguardComponent, + PasswordDialogComponent, + SeedModalComponent, + ], + imports: [ + BrowserModule, + HttpModule, + HttpClientModule, + MatButtonModule, + MatCardModule, + MatDialogModule, + MatExpansionModule, + MatGridListModule, + MatIconModule, + MatInputModule, + MatListModule, + MatMenuModule, + MatProgressBarModule, + MatProgressSpinnerModule, + MatSelectModule, + MatSnackBarModule, + MatTabsModule, + MatToolbarModule, + MatTooltipModule, + MatCheckboxModule, + MatSliderModule, + NoopAnimationsModule, + ReactiveFormsModule, + RouterModule.forRoot(ROUTES, { useHash: true }), + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useClass: AppTranslateLoader, + }, + }), + ], + providers: [ + ApiService, + AppService, + BlockchainService, + NavBarService, + NetworkService, + PriceService, + PurchaseService, + WalletService, + WizardGuardService, + ], + bootstrap: [AppComponent], +}) +export class AppModule { } diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.theme.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.theme.scss new file mode 100755 index 0000000..1e71e75 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.theme.scss @@ -0,0 +1,41 @@ +@import '~@angular/material/theming'; +// Plus imports for other components in your app. + +// Include the common styles for Angular Material. We include this here so that you only +// have to load a single css file for Angular Material in your app. +// Be sure that you only ever include this mixin once! +@include mat-core(); + +// Define the palettes for your theme using the Material Design palettes available in palette.scss +// (imported above). For each palette, you can optionally specify a default, lighter, and darker +// hue. + +$mat-skycoin-primary: ( + 100: #00C3FF, + 500: #0072FF, + contrast: ( + 100: white, + 500: white, + ) +); + +$mat-skycoin-accent: ( + 500: #FFC125, + contrast: ( + 500: white + ) +); + +$candy-app-primary: mat-palette($mat-skycoin-primary, 500, 100, 500); +$candy-app-accent: mat-palette($mat-skycoin-accent, 500, 500, 500); + +// The warn palette is optional (defaults to red). +$candy-app-warn: mat-palette($mat-red); + +// Create the theme object (a Sass map containing all of the palettes). +$candy-app-theme: mat-light-theme($candy-app-primary, $candy-app-accent, $candy-app-warn); + +// Include theme styles for core and each component used in your app. +// Alternatively, you can import and @include the theme mixins for each component +// that you are using. +@include angular-material-theme($candy-app-theme); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.translate-loader.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.translate-loader.ts new file mode 100755 index 0000000..ac8cc67 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/app.translate-loader.ts @@ -0,0 +1,9 @@ +import { TranslateLoader } from '@ngx-translate/core'; +import { Observable } from 'rxjs/Observable'; +import 'rxjs/add/observable/fromPromise'; + +export class AppTranslateLoader implements TranslateLoader { + getTranslation(lang: string): Observable { + return Observable.fromPromise(System.import(`../assets/i18n/${lang}.json`)); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.html new file mode 100755 index 0000000..34669aa --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.html @@ -0,0 +1,21 @@ +
              + +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.scss new file mode 100755 index 0000000..c5a6c82 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.scss @@ -0,0 +1,34 @@ +@import '../../../../theme/variables'; + +.button-container { + display: inline-block; +} + +button { + border-radius: 25px; + height: 50px; + margin: 20px 10px 0; + width: 160px; + overflow: hidden; +} + +button.enabled { + background-color: rgba(30, 34, 39, 0.05); + box-shadow: none; + color: #1e2227; +} + +mat-icon { + margin-left: 10px; + opacity: 0.3; + line-height: 20px; +} + +mat-spinner { + display: inline-block; + height: 24px !important; + width: 24px !important; + margin-left: 10px; + position: relative; + top: -2px; +} diff --git a/src/gui/static/src/app/components/pages/explorer/explorer.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.spec.ts similarity index 56% rename from src/gui/static/src/app/components/pages/explorer/explorer.component.spec.ts rename to vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.spec.ts index 39ead65..061a0d2 100755 --- a/src/gui/static/src/app/components/pages/explorer/explorer.component.spec.ts +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.spec.ts @@ -1,20 +1,20 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ExplorerComponent } from './explorer.component'; +import { ButtonComponent } from './button.component'; -describe('ExplorerComponent', () => { - let component: ExplorerComponent; - let fixture: ComponentFixture; +describe('ButtonComponent', () => { + let component: ButtonComponent; + let fixture: ComponentFixture; beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ ExplorerComponent ] + declarations: [ ButtonComponent ], }) .compileComponents(); })); beforeEach(() => { - fixture = TestBed.createComponent(ExplorerComponent); + fixture = TestBed.createComponent(ButtonComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.ts new file mode 100755 index 0000000..f81a739 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/button/button.component.ts @@ -0,0 +1,63 @@ +import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core'; +import { parseResponseMessage } from '../../../utils/errors'; +import { MatTooltip } from '@angular/material'; + +@Component({ + selector: 'app-button', + templateUrl: 'button.component.html', + styleUrls: ['button.component.scss'], +}) +export class ButtonComponent { + @Input() disabled: any; + @Input() forceEmitEvents = false; + @Output() action = new EventEmitter(); + @ViewChild('tooltip') tooltip: MatTooltip; + + error: string; + state: number; + mouseOver = false; + + onClick() { + if (!this.disabled || this.forceEmitEvents) { + this.error = ''; + this.action.emit(); + } + } + + setLoading() { + this.state = 0; + } + + setSuccess() { + this.state = 1; + setTimeout(() => this.state = null, 3000); + } + + setError(error: any) { + this.error = typeof error === 'string' ? error : parseResponseMessage(error['_body']); + this.state = 2; + + if (this.mouseOver) { + setTimeout(() => this.tooltip.show(), 50); + } + } + + setDisabled() { + this.disabled = true; + } + + setEnabled() { + this.disabled = false; + } + + isLoading() { + return this.state === 0; + } + + resetState() { + this.state = null; + this.error = ''; + + return this; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.html new file mode 100755 index 0000000..6a4591a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.html @@ -0,0 +1,14 @@ +
              + {{ leftButtonText }} + {{ rightButtonText }} +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.scss new file mode 100755 index 0000000..8715ac9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.scss @@ -0,0 +1,51 @@ +@import '../../../../theme/variables'; + +.-small-button ::ng-deep button { + width: unset; + height: unset; + padding: 0 10px 0 10px; + min-width: 100px; + margin: unset; + font-size: 13px; +} + +.-toggle ::ng-deep button { + box-shadow: unset; + background-color: $transparent !important; + line-height: unset !important; + min-height: 26px; + span { + color: $black; + line-height: unset !important; + } +} + +.-toggle ::ng-deep button.enabled { + background-color: $black !important; + span { + color: $white; + } +} + +.-buttons-container { + width: fit-content; + padding: 5px; + background: rgba(255, 255, 255, 0.1); + border-radius: 100px; + margin: 0px auto; + text-align: center; +} + +.light { + &.-buttons-container { + background: #f7f7f7; + } + + .-toggle ::ng-deep button.enabled { + background-color: #fff !important; + + span { + color: $grey-dark; + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.spec.ts new file mode 100755 index 0000000..7718bbc --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DoubleButtonComponent } from './double-button.component'; + +describe('DoubleButtonComponent', () => { + let component: DoubleButtonComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ DoubleButtonComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(DoubleButtonComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.ts new file mode 100755 index 0000000..1f9cffe --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/double-button/double-button.component.ts @@ -0,0 +1,32 @@ +import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core'; + +export enum DoubleButtonActive { RightButton, LeftButton } + +@Component({ + selector: 'app-double-button', + templateUrl: './double-button.component.html', + styleUrls: ['./double-button.component.scss'], + encapsulation: ViewEncapsulation.Emulated, +}) +export class DoubleButtonComponent { + @Input() rightButtonText: any; + @Input() leftButtonText: any; + @Input() activeButton: DoubleButtonActive; + @Input() className = ''; + @Output() onStateChange = new EventEmitter(); + ButtonState = DoubleButtonActive; + + onRightClick() { + if (this.activeButton === DoubleButtonActive.LeftButton) { + this.activeButton = DoubleButtonActive.RightButton; + this.onStateChange.emit(DoubleButtonActive.RightButton); + } + } + + onLeftClick() { + if (this.activeButton === DoubleButtonActive.RightButton) { + this.activeButton = DoubleButtonActive.LeftButton; + this.onStateChange.emit(DoubleButtonActive.LeftButton); + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.html new file mode 100755 index 0000000..a12a73f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.html @@ -0,0 +1,57 @@ +

              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%0AO%vd^OR2T~l{NnRm>(P@OrFH7$ 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 <+e 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%0AO%vd^OR2T~l{NnRm>(P@OrFH7$ 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 <+e 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/lock-grey.png b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/lock-grey.png new file mode 100755 index 0000000000000000000000000000000000000000..3f835e7d9cf5de76ab44f9e05ab7f0b37a253c69 GIT binary patch literal 774 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�`Q1L5xn3=PN29a-X^r;I|C@;50PChVir{ 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 VW?MV6Xo>&;002ovPDHLkV1hr3ooWC8 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/minus-red.png b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/img/minus-red.png new file mode 100755 index 0000000000000000000000000000000000000000..6686a98ccecbcd9f9c84a29796db3d20020ba23d GIT binary patch literal 1595 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⋙!^83_e-CJJ`oRPF~dD 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

              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.scss new file mode 100755 index 0000000..a07d3d1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.scss @@ -0,0 +1,73 @@ +@import '../../../../theme/variables'; + +.-container { + background-color: #fbfbfb; + border-bottom: 2px solid rgba(30, 34, 39, 0.05); +} + +.large-header { + background: $gradient-blue-dark; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(left top, $gradient-blue-dark-transparent, $gradient-blue-light-transparent), url('../../../../assets/img/header.png') center center no-repeat; /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(bottom right, $gradient-blue-dark-transparent, $gradient-blue-light-transparent), url('../../../../assets/img/header.png') center center no-repeat; /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(bottom right, $gradient-blue-dark-transparent, $gradient-blue-light-transparent), url('../../../../assets/img/header.png') center center no-repeat; /* For Firefox 3.6 to 15 */ + background: linear-gradient(to bottom right, $gradient-blue-dark-transparent, $gradient-blue-light-transparent), url('../../../../assets/img/header.png') center center no-repeat; /* Standard syntax */ + background-size: 100% auto; + display: flex; + flex-flow: column; + align-items: stretch; + min-height: 190px; +} + +.balance-container { + align-items: center; + color: $white; + display: flex; + flex: 1 1 auto; + font-size: 12px; + justify-content: center; + text-align: center; + + .balance { + .coins { + line-height: 1; + margin: 0 0 0.5em; + + span { + font-size: 4em; + } + } + } + + .dollars { + margin: 0; + } +} + +.hour-balance { + text-align: center; + + p { + background-color: rgba(255, 255, 255, 0.3); + border-radius: 15px; + color: $black; + display: inline-block; + font-size: 12px; + line-height: 22px; + margin: 1em 0 2em; + padding: 0 30px; + } +} + +.notification-bar { + background-color: #F44A4D; + color:#FBFBFB; + + div { + margin: auto; + + a { + text-decoration: none; + color: #FFEBEE; + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.spec.ts new file mode 100755 index 0000000..89380b4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HeaderComponent } from './header.component'; + +describe('HeaderComponent', () => { + let component: HeaderComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ HeaderComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(HeaderComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.ts new file mode 100755 index 0000000..a3a31a2 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/header.component.ts @@ -0,0 +1,116 @@ +import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { PriceService } from '../../../services/price.service'; +import { Subscription } from 'rxjs/Subscription'; +import { WalletService } from '../../../services/wallet.service'; +import { BlockchainService } from '../../../services/blockchain.service'; +import { Observable } from 'rxjs/Observable'; +import { ApiService } from '../../../services/api.service'; +import { Http } from '@angular/http'; +import { AppService } from '../../../services/app.service'; +import 'rxjs/add/operator/skip'; +import 'rxjs/add/operator/take'; +import { shouldUpgradeVersion } from '../../../utils/semver'; +import { TranslateService } from '@ngx-translate/core'; + +@Component({ + selector: 'app-header', + templateUrl: './header.component.html', + styleUrls: ['./header.component.scss'], +}) +export class HeaderComponent implements OnInit, OnDestroy { + @Input() headline: string; + + addresses = []; + current: number; + highest: number; + percentage: number; + querying = true; + version: string; + releaseVersion: string; + updateAvailable: boolean; + hasPendingTxs: boolean; + price: number; + + private subscription: Subscription; + private fetchVersionError: string; + + get loading() { + return !this.current || !this.highest || this.current !== this.highest; + } + + get coins() { + return this.addresses.map(addr => addr.coins >= 0 ? addr.coins : 0).reduce((a, b) => a + b, 0); + } + + get hours() { + return this.addresses.map(addr => addr.hours >= 0 ? addr.hours : 0).reduce((a, b) => a + b, 0); + } + + constructor( + public appService: AppService, + private apiService: ApiService, + private blockchainService: BlockchainService, + private priceService: PriceService, + private walletService: WalletService, + private http: Http, + private translateService: TranslateService, + ) { + this.translateService.get('errors.fetch-version').subscribe(msg => { + this.fetchVersionError = msg; + }); + } + + ngOnInit() { + this.subscription = this.blockchainService.progress + .filter(response => !!response) + .subscribe(response => { + this.querying = false; + this.highest = response.highest; + this.current = response.current; + this.percentage = this.current && this.highest ? (this.current / this.highest) : 0; + }); + + this.setVersion(); + + this.subscription.add(this.priceService.price.subscribe(price => this.price = price)); + + this.subscription.add(this.walletService.allAddresses().subscribe(addresses => { + this.addresses = addresses.reduce((array, item) => { + if (!array.find(addr => addr.address === item.address)) { + array.push(item); + } + + return array; + }, []); + })); + + this.subscription.add(this.walletService.pendingTransactions().subscribe(txs => { + this.hasPendingTxs = txs.length > 0; + })); + } + + ngOnDestroy() { + this.subscription.unsubscribe(); + } + + setVersion() { + // Set build version + setTimeout(() => { + this.apiService.getVersion().first() + .subscribe(output => { + this.version = output.version; + this.retrieveReleaseVersion(); + }); + }, 1000); + } + + private retrieveReleaseVersion() { + this.http.get('https://api.github.com/repos/skycoin/skycoin/tags') + .map((res: any) => res.json()) + .catch((error: any) => Observable.throw(error || this.fetchVersionError)) + .subscribe(response => { + this.releaseVersion = response.find(element => element['name'].indexOf('rc') === -1)['name'].substr(1); + this.updateAvailable = shouldUpgradeVersion(this.version, this.releaseVersion); + }); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.html new file mode 100755 index 0000000..d9b3978 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.html @@ -0,0 +1,30 @@ +
              +
              +
              + + {{ 'title.wallets' | translate }} +
              +
              + + {{ 'title.send' | translate }} +
              +
              + + {{ 'title.history' | translate }} +
              +
              +
              + + {{ 'title.buy-coin' | translate }} +
              + +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.scss new file mode 100755 index 0000000..ebd1b58 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.scss @@ -0,0 +1,41 @@ +@import '../../../../../theme/variables'; + +:host { + background-color: #fbfbfb; + min-height: 66px; +} + +.-buttons { + display: flex; + width: 100%; + + .-button { + cursor: pointer; + padding: 0 20px; + + img { + display: inline-block; + float: left; + height: 66px; + padding: 17px 0; + width: 32px; + } + + span { + display: inline-block; + font-size: 14px; + height: 66px; + line-height: 66px; + margin: 0 5px; + } + } + + .-low-opacity { + opacity: 0.2; + } + + .-switch { + align-self: center; + padding: 0 20px; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.spec.ts new file mode 100755 index 0000000..98bcd49 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { NavBarComponent } from './nav-bar.component'; + +describe('NavBarComponent', () => { + let component: NavBarComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ NavBarComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(NavBarComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.ts new file mode 100755 index 0000000..4b7bd36 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/nav-bar/nav-bar.component.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { AppConfig } from '../../../../app.config'; +import { NavBarService } from '../../../../services/nav-bar.service'; + +@Component({ + selector: 'app-nav-bar', + templateUrl: './nav-bar.component.html', + styleUrls: ['./nav-bar.component.scss'], +}) +export class NavBarComponent { + otcEnabled = AppConfig.otcEnabled; + + constructor( + public navbarService: NavBarService, + ) { } + + changeActiveComponent(value) { + this.navbarService.setActiveComponent(value); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.html new file mode 100755 index 0000000..c3f6e9e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.html @@ -0,0 +1,25 @@ +
              +
              + {{ headline }} +
              +
              + + + + + + + + + + + {{ 'title.explorer' | translate }} + + + + +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.scss new file mode 100755 index 0000000..4712677 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.scss @@ -0,0 +1,42 @@ +@import '../../../../../theme/variables'; + +:host { + display: flex; + color: $white; + width: 100%; +} + +.buttons-left { + display: inline-block; + padding: 0 10px; + width: 120px; +} + +.title { + font-size: $font-size-standard; + font-weight: 700; + display: inline; + flex: 1 1 auto; + letter-spacing: $letter-spacing-wide; + line-height: 50px; + text-align: center; +} + +.buttons-right { + display: inline-block; + text-align: right; + width: 120px; + + button { + display: inline-block; + } +} + +button { + height: 50px; + width: 50px; +} + +.color-primary { + color: #0072FF; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.spec.ts new file mode 100755 index 0000000..2028774 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TopBarComponent } from './top-bar.component'; + +describe('TopBarComponent', () => { + let component: TopBarComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ TopBarComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(TopBarComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.ts new file mode 100755 index 0000000..0bc88d8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/header/top-bar/top-bar.component.ts @@ -0,0 +1,15 @@ +import { Component, Input } from '@angular/core'; +import { AppService } from '../../../../services/app.service'; + +@Component({ + selector: 'app-top-bar', + templateUrl: './top-bar.component.html', + styleUrls: ['./top-bar.component.scss'], +}) +export class TopBarComponent { + @Input() headline: string; + + constructor( + public appService: AppService, + ) {} +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.html new file mode 100755 index 0000000..0c17084 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.html @@ -0,0 +1,10 @@ +
              +
              + +

              {{ 'common.loading' | translate }}

              +
              +
              + announcement +

              {{ noDataText | translate }}

              +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.scss new file mode 100755 index 0000000..796f89a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.scss @@ -0,0 +1,25 @@ +@import '../../../../theme/variables'; + +.-content { + text-align: center; + margin: 50px 0; + color: $grey; + font-size: 13px; + + p { + margin-top: 15px; + } + + i { + color: $grey-light; + font-size: 40px; + } + + mat-spinner { + display: inline-block; + + ::ng-deep circle { + stroke: $grey-light; + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.spec.ts new file mode 100755 index 0000000..b845f36 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LoadingContentComponent } from './loading-content.component'; + +describe('LoadingContentComponent', () => { + let component: LoadingContentComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ LoadingContentComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(LoadingContentComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.ts new file mode 100755 index 0000000..7416bb9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/loading-content/loading-content.component.ts @@ -0,0 +1,11 @@ +import { Component, Input } from '@angular/core'; + +@Component({ + selector: 'app-loading-content', + templateUrl: './loading-content.component.html', + styleUrls: ['./loading-content.component.scss'], +}) +export class LoadingContentComponent { + @Input() isLoading = true; + @Input() noDataText: string; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.html new file mode 100755 index 0000000..cf64043 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.html @@ -0,0 +1,7 @@ +
              + {{ headline }} + +
              +
              + +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.scss new file mode 100755 index 0000000..2a272e8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.scss @@ -0,0 +1,21 @@ +.-header { + background-color: #f7f7f7; + border-top-left-radius: 5px; + border-top-right-radius: 5px; + line-height: 50px; + position: relative; + text-align: center; + + img { + cursor: pointer; + height: 32px; + position: absolute; + right: 9px; + top: 9px; + } +} + +.-body { + background-color: #fbfbfb; + padding: 30px; +} diff --git a/src/gui/static/src/app/components/layout/footer/footer.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.spec.ts similarity index 57% rename from src/gui/static/src/app/components/layout/footer/footer.component.spec.ts rename to vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.spec.ts index 01d35cc..e572454 100755 --- a/src/gui/static/src/app/components/layout/footer/footer.component.spec.ts +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.spec.ts @@ -1,20 +1,20 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { FooterComponent } from './footer.component'; +import { ModalComponent } from './modal.component'; -describe('FooterComponent', () => { - let component: FooterComponent; - let fixture: ComponentFixture; +describe('ModalComponent', () => { + let component: ModalComponent; + let fixture: ComponentFixture; beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ FooterComponent ] + declarations: [ ModalComponent ], }) .compileComponents(); })); beforeEach(() => { - fixture = TestBed.createComponent(FooterComponent); + fixture = TestBed.createComponent(ModalComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.ts new file mode 100755 index 0000000..e5f2b4c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/modal/modal.component.ts @@ -0,0 +1,25 @@ +import { Component, Input, OnChanges, SimpleChanges } from '@angular/core'; +import { MatDialogRef } from '@angular/material/dialog'; + +@Component({ + selector: 'app-modal', + templateUrl: './modal.component.html', + styleUrls: ['./modal.component.scss'], +}) +export class ModalComponent implements OnChanges { + @Input() dialog: MatDialogRef; + @Input() headline: string; + @Input() disableDismiss: boolean; + + closePopup() { + if (!this.disableDismiss) { + this.dialog.close(); + } + } + + ngOnChanges(changes: SimpleChanges) { + if (changes.disableDismiss) { + this.dialog.disableClose = changes.disableDismiss.currentValue; + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.html new file mode 100755 index 0000000..3b793b4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.html @@ -0,0 +1,18 @@ + +

              {{ data.description }}

              +
              +
              + + +
              +
              + + +
              +
              +
              + + {{ 'password.button' | translate }} + +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.scss new file mode 100755 index 0000000..54573c0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.scss @@ -0,0 +1,12 @@ +@import '../../../../theme/variables'; + +.-buttons { + text-align: center; +} + +.-info { + margin: 5px 0 25px; + color: $grey; + font-size: 12px; + line-height: 1.5; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.spec.ts new file mode 100755 index 0000000..a8d40a1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PasswordDialogComponent } from './password-dialog.component'; + +describe('PasswordDialogComponent', () => { + let component: PasswordDialogComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PasswordDialogComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PasswordDialogComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.ts new file mode 100755 index 0000000..d200b35 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/password-dialog/password-dialog.component.ts @@ -0,0 +1,131 @@ +import { Component, Inject, OnDestroy, OnInit, ViewChild } from '@angular/core'; +import { MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { MatDialogRef, MatSnackBar } from '@angular/material'; +import { FormControl, FormGroup } from '@angular/forms'; +import { ButtonComponent } from '../button/button.component'; +import { parseResponseMessage, showSnackbarError } from '../../../utils/errors'; +import { Subject } from 'rxjs/Subject'; +import { ISubscription } from 'rxjs/Subscription'; +import { TranslateService } from '@ngx-translate/core'; + +@Component({ + selector: 'app-password-dialog', + templateUrl: './password-dialog.component.html', + styleUrls: ['./password-dialog.component.scss'], +}) +export class PasswordDialogComponent implements OnInit, OnDestroy { + @ViewChild('button') button: ButtonComponent; + form: FormGroup; + passwordSubmit = new Subject(); + disableDismiss = false; + + private subscriptions: ISubscription[] = []; + private errors: any; + + constructor( + @Inject(MAT_DIALOG_DATA) public data: any, + public dialogRef: MatDialogRef, + private snackbar: MatSnackBar, + private translateService: TranslateService, + ) { + this.data = Object.assign({ + confirm: false, + description: null, + title: null, + }, data || {}); + + this.translateService.get(['errors.incorrect-password', 'errors.api-disabled', 'errors.no-wallet']).subscribe(res => { + this.errors = res; + }); + } + + ngOnInit() { + this.form = new FormGroup({}, this.validateForm.bind(this)); + this.form.addControl('password', new FormControl('')); + this.form.addControl('confirm_password', new FormControl('')); + + ['password', 'confirm_password'].forEach(control => { + this.subscriptions.push(this.form.get(control).valueChanges.subscribe(() => { + if (this.button.state === 2) { + this.button.resetState(); + } + })); + }); + + if (this.data.confirm) { + this.form.get('confirm_password').enable(); + } else { + this.form.get('confirm_password').disable(); + } + + if (this.data.description) { + this.dialogRef.updateSize('400px'); + } + } + + ngOnDestroy() { + this.form.get('password').setValue(''); + this.form.get('confirm_password').setValue(''); + + this.passwordSubmit.complete(); + + this.subscriptions.forEach(sub => sub.unsubscribe()); + } + + proceed() { + if (!this.form.valid || this.button.isLoading()) { + return; + } + + this.button.setLoading(); + this.disableDismiss = true; + + this.passwordSubmit.next({ + password: this.form.get('password').value, + close: this.close.bind(this), + error: this.error.bind(this), + }); + } + + private validateForm() { + if (this.form && this.form.get('password') && this.form.get('confirm_password')) { + if (this.form.get('password').value.length === 0) { + return { Required: true }; + } + + if (this.data.confirm && this.form.get('password').value !== this.form.get('confirm_password').value) { + return { NotEqual: true }; + } + } + + return null; + } + + private close() { + this.dialogRef.close(); + } + + private error(error: any) { + if (typeof error === 'object') { + switch (error.status) { + case 400: + error = parseResponseMessage(error['_body']); + break; + case 401: + error = this.errors['errors.incorrect-password']; + break; + case 403: + error = this.errors['errors.api-disabled']; + break; + case 404: + error = this.errors['errors.no-wallet']; + break; + default: + showSnackbarError(this.snackbar, error, 5000); + } + } + + this.button.setError(error ? error : this.errors['errors.incorrect-password']); + this.disableDismiss = false; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.css b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.css new file mode 100755 index 0000000..e900d51 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.css @@ -0,0 +1,9 @@ +#qr { + height: 300px; +} + +.address { + font-size: 80%; + text-align: center; + margin-top: 30px; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.html new file mode 100755 index 0000000..1295958 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.html @@ -0,0 +1,4 @@ + +
              +
              {{ data.address }}
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.spec.ts new file mode 100755 index 0000000..2943ac0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { QrCodeComponent } from './qr-code.component'; + +describe('QrCodeComponent', () => { + let component: QrCodeComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ QrCodeComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(QrCodeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.ts new file mode 100755 index 0000000..ac33fab --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/layout/qr-code/qr-code.component.ts @@ -0,0 +1,37 @@ +import { Component, Inject, OnInit, ViewChild } from '@angular/core'; +import { MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { MatDialogRef } from '@angular/material'; + +declare const QRCode: any; + +@Component({ + selector: 'app-qr-code', + templateUrl: './qr-code.component.html', + styleUrls: ['./qr-code.component.css'], +}) +export class QrCodeComponent implements OnInit { + @ViewChild('qr') qr: any; + + size = 300; + level = 'M'; + colordark = '#000000'; + colorlight = '#ffffff'; + usesvg = false; + + constructor( + @Inject(MAT_DIALOG_DATA) public data: any, + public dialogRef: MatDialogRef, + ) { } + + ngOnInit() { + const qrcode = new QRCode(this.qr.nativeElement, { + text: `skycoin:${this.data.address}`, + width: this.size, + height: this.size, + colorDark: this.colordark, + colorLight: this.colorlight, + useSVG: this.usesvg, + correctLevel: QRCode.CorrectLevel[this.level.toString()], + }); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.css b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.css new file mode 100755 index 0000000..91222aa --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.css @@ -0,0 +1,4 @@ +mat-select { + width: 100%; + padding: 40px 0 20px; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.html new file mode 100755 index 0000000..11ad098 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.html @@ -0,0 +1,11 @@ +

              {{ 'buy.deposit-address' | translate }}

              +
              + + + {{ address.address }} + + +
              + diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.spec.ts new file mode 100755 index 0000000..be225b4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AddDepositAddressComponent } from './add-deposit-address.component'; + +describe('AddDepositAddressComponent', () => { + let component: AddDepositAddressComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ AddDepositAddressComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AddDepositAddressComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.ts new file mode 100755 index 0000000..8283d40 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/add-deposit-address/add-deposit-address.component.ts @@ -0,0 +1,36 @@ +import { Component, OnInit } from '@angular/core'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { WalletService } from '../../../../services/wallet.service'; +import { PurchaseService } from '../../../../services/purchase.service'; +import { MatDialogRef } from '@angular/material/dialog'; + +@Component({ + selector: 'app-add-deposit-address', + templateUrl: './add-deposit-address.component.html', + styleUrls: ['./add-deposit-address.component.css'], +}) +export class AddDepositAddressComponent implements OnInit { + + form: FormGroup; + + constructor( + public walletService: WalletService, + private dialogRef: MatDialogRef, + private formBuilder: FormBuilder, + private purchaseService: PurchaseService, + ) {} + + ngOnInit() { + this.initForm(); + } + + generate() { + this.purchaseService.generate(this.form.value.address).subscribe(() => this.dialogRef.close()); + } + + private initForm() { + this.form = this.formBuilder.group({ + address: ['', Validators.required], + }); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.html new file mode 100755 index 0000000..82ee9d7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.html @@ -0,0 +1,59 @@ + +
              +
              +
              +
              +
              + 1 +
              +
              +

              {{ 'buy.deposit-location' | translate }}

              +

              {{ 'buy.deposit-location-desc' | translate }}

              +
              +
              + +
              +
              + {{ 'buy.wallets-desc' | translate }} +
              +
              +
              +
              + 2 +
              +
              +

              {{ 'buy.send' | translate }}

              +

              {{ 'buy.send-desc' | translate:{rate: config.sky_btc_exchange_rate} }}

              + + {{ order.deposit_address }} + + {{ 'buy.fraction-warning' | translate }} +
              +
              +
              +
              + 3 +
              +
              +

              {{ 'buy.receive' | translate }}

              +

              {{ 'buy.receive-desc' | translate }}

              + + {{ 'buy.status-button' | translate }} {{ order.status | tellerStatus | translate }} + + + {{ 'buy.check-status-button' | translate }} + + + {{ 'buy.new-order-button' | translate }} + +
              +
              +
              + +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.scss new file mode 100755 index 0000000..8202072 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.scss @@ -0,0 +1,129 @@ +.-background-container { + background-color: #fbfbfb; + padding-top: 30px; + max-width: 100%; + min-height: calc(100% - 190px); + overflow: hidden; + position: relative; +} + +.-background-image { + display: none; +} + +@media (min-width: 768px) { + .-background-image { + display: block; + left: 50%; + width: 80%; + position: absolute; + top: 0; + } +} + +@media (min-width: 992px) { + .-background-image { + left: 40%; + width: 90%; + max-width: 850px; + } +} + +@media (min-width: 1200px) { + .-background-image { + left: 40%; + width: 80%; + max-width: 850px; + } +} + +.-paper { + background-color: #fbfbfb; + border-radius: 10px; + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.01), 1px 1px 2px 2px rgba(0, 0, 0, 0.01); + padding: 30px; + position: relative; + margin-top: 30px; + max-width: 540px; + z-index: 5; + + .-step { + display: flex; + margin-bottom: 30px; + + .-number { + width: 60px; + + span { + border-radius: 50%; + color: white; + display: inline-block; + font-size: 16px; + font-weight: 700; + height: 40px; + line-height: 46px; + text-align: center; + width: 40px; + } + } + + .-instructions { + flex: 1 1; + + ::ng-deep button { + margin-left: 0; + } + + h3 { + color: #1E2227; + font-size: 16px; + font-weight: 700; + margin: 0; + line-height: 46px; + } + + p { + color: rgba(30, 34, 39, 0.8); + font-size: 14px; + font-weight: 300; + line-height: 20px; + margin-top: 0; + } + + .-address, .-status { + background-color: white; + border: 2px solid rgba(0, 0, 0, 0.05); + border-radius: 6px; + box-sizing: border-box; + color: rgba(30, 34, 39, 0.8); + display: block; + font-size: 14px; + line-height: 20px; + margin-bottom: 15px; + padding: 10px 10px; + width: 100%; + } + + .-coins { + color: #0072FF; + } + + .form-field { + margin-bottom: 15px; + } + + .-subtitle { + color: #8C8E90; + font-size: 12px; + line-height: 18px; + font-weight: 300; + opacity: 0.8; + } + + .-wallet { + color: rgba(30, 34, 39, 0.8); + font-size: 14px; + } + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.spec.ts new file mode 100755 index 0000000..1d0cca4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BuyComponent } from './buy.component'; + +describe('BuyComponent', () => { + let component: BuyComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ BuyComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(BuyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.ts new file mode 100755 index 0000000..785d8b9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/buy/buy.component.ts @@ -0,0 +1,112 @@ +import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; +import { PurchaseService } from '../../../services/purchase.service'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { WalletService } from '../../../services/wallet.service'; +import { Address, PurchaseOrder, Wallet } from '../../../app.datatypes'; +import { MatSnackBar } from '@angular/material/snack-bar'; +import { ButtonComponent } from '../../layout/button/button.component'; +import { Subscription } from 'rxjs/Subscription'; + +@Component({ + selector: 'app-buy', + templateUrl: './buy.component.html', + styleUrls: ['./buy.component.scss'], +}) +export class BuyComponent implements OnInit, OnDestroy { + @ViewChild('button') button: ButtonComponent; + + address: Address; + config: any; + form: FormGroup; + order: PurchaseOrder; + wallets: Wallet[]; + + private subscription: Subscription; + + constructor( + private formBuilder: FormBuilder, + private purchaseService: PurchaseService, + private snackBar: MatSnackBar, + private walletService: WalletService, + ) {} + + ngOnInit() { + this.initForm(); + this.loadData(); + } + + ngOnDestroy() { + this.subscription.unsubscribe(); + } + + checkStatus() { + this.button.setLoading(); + this.purchaseService.scan(this.order.recipient_address).subscribe( + response => { + this.button.setSuccess(); + this.order.status = response.status; + }, + error => this.button.setError(error), + ); + } + + removeOrder() { + window.localStorage.removeItem('purchaseOrder'); + this.order = null; + } + + private initForm() { + this.form = this.formBuilder.group({ + wallet: ['', Validators.required], + }); + + this.subscription = this.form.get('wallet').valueChanges.subscribe(filename => { + const wallet = this.wallets.find(wlt => wlt.filename === filename); + console.log('changing wallet value', filename); + this.purchaseService.generate(wallet).subscribe( + order => this.saveData(order), + error => this.snackBar.open(error.toString()), + ); + }); + } + + private loadConfig() { + this.purchaseService.config() + .filter(config => !!config && !!config.sky_btc_exchange_rate) + .first() + .subscribe(config => this.config = config); + } + + private loadData() { + this.loadConfig(); + this.loadOrder(); + + this.subscription.add(this.walletService.all().subscribe(wallets => { + this.wallets = wallets; + + if (this.order) { + this.form.get('wallet').setValue(this.order.filename, { emitEvent: false }); + } + })); + } + + private loadOrder() { + const order: PurchaseOrder = JSON.parse(window.localStorage.getItem('purchaseOrder')); + if (order) { + this.order = order; + this.updateOrder(); + } + } + + private saveData(order: PurchaseOrder) { + this.order = order; + window.localStorage.setItem('purchaseOrder', JSON.stringify(order)); + } + + private updateOrder() { + this.purchaseService.scan(this.order.recipient_address).first().subscribe( + response => this.order.status = response.status, + error => console.log(error), + ); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.html new file mode 100755 index 0000000..2e00da3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.html @@ -0,0 +1,57 @@ +
              +
              +
              +
              + {{ 'wallet.new.create-title' | translate }} +
              +
              +

              {{ 'wizard.wallet-desc' | translate }}

              +
              +
              +
              +
              +
              + +
              +
              +
              +
              +
              +
              + + +
              +
              + + +
              +
              + + +
              +
              +
              +
              + +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.scss new file mode 100755 index 0000000..410aaf9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.scss @@ -0,0 +1,67 @@ +@import '../../../../../theme/variables'; + +.-header { + color: $white; + position: relative; + margin-top: 20px; + margin-bottom: 10px; + line-height: 30px; + font-size: 20px; + text-align: center; +} + +.-description { + line-height: 25px; + font-size: 14px; + text-align: center; + + color: $white; + mix-blend-mode: normal; + opacity: 0.5; +} + +.-buttons-footer { + align-items: center; + flex-flow: column; + margin-bottom: 20px; +} + +.-toggle-container{ + margin: 10px auto; +} + +:host ::ng-deep .-buttons-footer button{ + margin: 2px 10px !important; +} + +.-text-align-center{ + text-align: center; +} + +label[for=seed] { + display: flex; + + > span:last-child { + flex: 1; + } + + .generators { + text-align: right; + + span { + cursor: pointer; + } + + mat-icon { + width: 13px; + height: 10px; + font-size: 13px; + position: relative; + top: 2px; + } + + .divider { + padding: 0 5px; + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.spec.ts new file mode 100755 index 0000000..e93dc61 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { OnboardingCreateWalletComponent } from './onboarding-create-wallet.component'; + +describe('OnboardingCreateWalletComponent', () => { + let component: OnboardingCreateWalletComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ OnboardingCreateWalletComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(OnboardingCreateWalletComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.ts new file mode 100755 index 0000000..e69e4af --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-create-wallet.component.ts @@ -0,0 +1,96 @@ +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; +import { MatDialog, MatDialogConfig } from '@angular/material/dialog'; +import { DoubleButtonActive } from '../../../layout/double-button/double-button.component'; +import { OnboardingSafeguardComponent } from './onboarding-safeguard/onboarding-safeguard.component'; +import { MatDialogRef } from '@angular/material'; +import { ApiService } from '../../../../services/api.service'; + +@Component({ + selector: 'app-onboarding-create-wallet', + templateUrl: './onboarding-create-wallet.component.html', + styleUrls: ['./onboarding-create-wallet.component.scss'], +}) +export class OnboardingCreateWalletComponent implements OnInit { + @Input() fill = null; + @Output() onLabelAndSeedCreated = new EventEmitter<[string, string]>(); + form: FormGroup; + doubleButtonActive = DoubleButtonActive.LeftButton; + + constructor( + private dialog: MatDialog, + private apiService: ApiService, + private formBuilder: FormBuilder, + ) { } + + ngOnInit() { + this.initForm(); + } + + initForm() { + this.form = this.formBuilder.group( + { + label: new FormControl('', [Validators.required]), + seed: new FormControl('', [Validators.required]), + confirm_seed: new FormControl(), + }, + { + validator: this.showCreateForm ? this.seedMatchValidator.bind(this) : null, + }, + ); + + if (this.fill) { + this.form.get('label').setValue(this.fill['label']); + this.form.get('seed').setValue(this.fill['seed']); + this.form.get('confirm_seed').setValue(this.fill['seed']); + this.doubleButtonActive = this.fill['create'] ? DoubleButtonActive.LeftButton : DoubleButtonActive.RightButton; + } else if (this.showCreateForm) { + this.generateSeed(128); + } + } + + changeForm(newState) { + this.doubleButtonActive = newState; + this.fill = null; + this.initForm(); + } + + createWallet() { + this.showSafe().afterClosed().subscribe(result => { + if (result) { + this.emitCreatedData(); + } + }); + } + + loadWallet() { + this.emitCreatedData(); + } + + generateSeed(entropy: number) { + this.apiService.generateSeed(entropy).subscribe(seed => this.form.get('seed').setValue(seed)); + } + + get showCreateForm() { + return this.doubleButtonActive === DoubleButtonActive.LeftButton; + } + + private emitCreatedData() { + this.onLabelAndSeedCreated.emit([ + this.form.get('label').value, + this.form.get('seed').value, + this.doubleButtonActive === DoubleButtonActive.LeftButton, + ]); + } + + private seedMatchValidator(g: FormGroup) { + return g.get('seed').value === g.get('confirm_seed').value ? null : { NotEqual: true }; + } + + private showSafe(): MatDialogRef { + const config = new MatDialogConfig(); + config.width = '450px'; + + return this.dialog.open(OnboardingSafeguardComponent, config); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.html new file mode 100755 index 0000000..980e908 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.html @@ -0,0 +1,15 @@ + +
              + {{ 'wizard.confirm.desc' | translate }} +
              + {{ 'wizard.confirm.checkbox' | translate }} + +
              +
              +
              + + {{ 'wizard.confirm.button' | translate }} + +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.scss new file mode 100755 index 0000000..555a015 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.scss @@ -0,0 +1,65 @@ +.-safe-description { + font-family: Skycoin; + line-height: 20px; + font-size: 12px; + + color: #1E2227; + mix-blend-mode: normal; + opacity: 0.8; +} + +.-check-container { + text-align: center; + margin-top: 50px; +} + +.-safe-check-text { + font-family: Skycoin; + line-height: normal; + font-size: 14px; + + color: #1E2227; +} + +.-check ::ng-deep { + .mat-checkbox-checkmark-path { + position: absolute; + width: 18px; + height: 8px; + left: 4.59px; + top: 9px; + stroke: #0072FF !important; + } + + .mat-checkbox-background, .mat-checkbox-frame { + top: 0; + left: 0; + right: 0; + bottom: 0; + position: absolute; + box-sizing: border-box; + pointer-events: none; + width: 20px; + height: 20px; + background: rgba(30, 34, 39, 0.05); + border-radius: 6px; + border-color: transparent; + } +} + +.-text-center { + text-align: center; +} + +.-no-bottom-margin ::ng-deep button { + margin: 28px 10px 0 10px !important; +} + +.-title { + font-family: Skycoin; + line-height: 30px; + font-size: 14px; + text-align: center; + letter-spacing: 0.0769231em; + color: #FF004E; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.spec.ts new file mode 100755 index 0000000..39e1097 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { OnboardingSafeguardComponent } from './onboarding-safeguard.component'; + +describe('OnboardingSafeguardComponent', () => { + let component: OnboardingSafeguardComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ OnboardingSafeguardComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(OnboardingSafeguardComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.ts new file mode 100755 index 0000000..d4c7049 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-create-wallet/onboarding-safeguard/onboarding-safeguard.component.ts @@ -0,0 +1,23 @@ +import { Component } from '@angular/core'; +import { MatDialogRef } from '@angular/material/dialog'; + +@Component({ + selector: 'app-onboarding-safeguard', + templateUrl: './onboarding-safeguard.component.html', + styleUrls: ['./onboarding-safeguard.component.scss'], +}) +export class OnboardingSafeguardComponent { + public acceptSafe = false; + + constructor( + public dialogRef: MatDialogRef, + ) { } + + closePopup() { + this.dialogRef.close(this.acceptSafe); + } + + setAccept(event) { + this.acceptSafe = event.checked; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.html new file mode 100755 index 0000000..714d665 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.html @@ -0,0 +1,43 @@ +
              +
              +
              +
              + {{ 'wallet.new.encrypt-title' | translate }} +
              +
              +

              {{ 'wizard.encrypt-desc' | translate }}

              +
              +
              +
              +
              +
              + + + {{ 'wallet.new.encrypt' | translate }} + +
              +
              +
              +
              +
              +
              + + +
              +
              + + +
              +
              +
              +
              + +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.scss new file mode 100755 index 0000000..1536dcf --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.scss @@ -0,0 +1,87 @@ +@import '../../../../../theme/variables'; + +.-header { + color: $white; + position: relative; + margin-top: 20px; + margin-bottom: 10px; + line-height: 30px; + font-size: 20px; + text-align: center; +} + +.-description { + line-height: 25px; + font-size: 14px; + text-align: center; + + color: $white; + mix-blend-mode: normal; + opacity: 0.5; +} + +.-buttons-footer { + align-items: center; + flex-flow: column; + margin-bottom: 20px; +} + +.-check-container { + margin: 10px auto; + text-align: center; +} + +:host ::ng-deep .-buttons-footer button { + margin: 2px 10px !important; +} + +.-text-align-center { + text-align: center; +} + +.-check ::ng-deep { + .mat-checkbox-checkmark-path { + position: absolute; + width: 18px; + height: 8px; + left: 4.59px; + top: 9px; + stroke: $white !important; + } + + .mat-checkbox-background, .mat-checkbox-frame { + top: 0; + left: 0; + right: 0; + bottom: 0; + position: absolute; + box-sizing: border-box; + pointer-events: none; + width: 20px; + height: 20px; + background: rgba(30, 34, 39, 0.05); + border-radius: 6px; + border-color: transparent; + } + span { + font-family: Skycoin; + line-height: normal; + font-size: 14px; + + color: #FBFBFB; + + img { + width: 38px; + height: 38px; + vertical-align: middle; + } + } +} + +.-input.disable{ + background: rgba(255, 255, 255, 0.1); +} + +.-hidden { + display: none; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.spec.ts new file mode 100755 index 0000000..ae851bb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { OnboardingEncryptWalletComponent } from './onboarding-encrypt-wallet.component'; + +describe('OnboardingEncryptWalletComponent', () => { + let component: OnboardingEncryptWalletComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ OnboardingEncryptWalletComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(OnboardingEncryptWalletComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.ts new file mode 100755 index 0000000..bdc9740 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding-encrypt-wallet/onboarding-encrypt-wallet.component.ts @@ -0,0 +1,65 @@ +import { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core'; +import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; +import { ButtonComponent } from '../../../layout/button/button.component'; + +@Component({ + selector: 'app-onboarding-encrypt-wallet', + templateUrl: './onboarding-encrypt-wallet.component.html', + styleUrls: ['./onboarding-encrypt-wallet.component.scss'], +}) +export class OnboardingEncryptWalletComponent implements OnInit { + @ViewChild('button') button: ButtonComponent; + @Output() onPasswordCreated = new EventEmitter(); + @Output() onBack = new EventEmitter(); + form: FormGroup; + + constructor( + private formBuilder: FormBuilder, + ) { } + + ngOnInit() { + this.initEncryptForm(); + } + + initEncryptForm() { + this.form = this.formBuilder.group({ + password: new FormControl('', Validators.compose([Validators.required, Validators.minLength(2)])), + confirm: new FormControl('', + Validators.compose([ + Validators.required, + Validators.minLength(2), + ]), + ), + }, + { + validator: this.passwordMatchValidator.bind(this), + }); + } + + setEncrypt(event) { + event.checked ? this.form.enable() : this.form.disable(); + } + + emitCreatedPassword() { + if ((this.form.enabled && !this.form.valid) || this.button.isLoading()) { + return; + } + + this.button.setLoading(); + + this.onPasswordCreated.emit(this.form.enabled ? this.form.get('password').value : null); + } + + emitBack() { + this.onBack.emit(); + } + + get isWorking() { + return this.button.isLoading(); + } + + private passwordMatchValidator(g: FormGroup) { + return g.get('password').value === g.get('confirm').value + ? null : { mismatch: true }; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding.component.html new file mode 100755 index 0000000..6254a17 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding.component.html @@ -0,0 +1,11 @@ + + + diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding.component.scss new file mode 100755 index 0000000..e69de29 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding.component.spec.ts new file mode 100755 index 0000000..b41b460 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { OnboardingComponent } from './onboarding.component'; + +describe('OnboardingComponent', () => { + let component: OnboardingComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ OnboardingComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(OnboardingComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding.component.ts new file mode 100755 index 0000000..23492bf --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/onboarding/onboarding.component.ts @@ -0,0 +1,49 @@ +import { Component } from '@angular/core'; +import { Router } from '@angular/router'; +import { WalletService } from '../../../services/wallet.service'; + +@Component({ + selector: 'app-onboarding', + templateUrl: './onboarding.component.html', + styleUrls: ['./onboarding.component.scss'], +}) +export class OnboardingComponent { + step = 1; + label: string; + seed: string; + create: boolean; + password: string|null; + + constructor( + private router: Router, + private walletService: WalletService, + ) { } + + onLabelAndSeedCreated(data: [string, string, boolean]) { + this.label = data[0]; + this.seed = data[1]; + this.create = data[2]; + + this.step = 2; + } + + onPasswordCreated(password: string|null) { + this.password = password; + + this.createWallet(); + } + + onBack() { + this.step = 1; + } + + get fill() { + return this.label ? { label: this.label, seed: this.seed, create: this.create } : null; + } + + private createWallet() { + this.walletService.create(this.label, this.seed, 100, this.password).subscribe(() => { + this.router.navigate(['/wallets']); + }); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.html new file mode 100755 index 0000000..4294ae8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.html @@ -0,0 +1,114 @@ +
              +
              + +
              + +
              +
              + +
              + +
              + + + {{ addr.address }} - {{ addr.coins | number:'1.0-6' }} {{ 'common.coin-id' | translate }} + ({{ addr.hours | number:'1.0-6' }} {{ 'common.coin-hours' | translate }}) + + +
              + {{ address.address }} - {{ address.coins | number:'1.0-6' }} {{ 'common.coin-id' | translate }} + ({{ address.hours | number:'1.0-6' }} {{ 'common.coin-hours' | translate }}) +
              +
              +
              +
              +
              + +
              + + +
              +
              +
              + +
              +
              +
              + + {{ 'common.coin-id' | translate }} +
              +
              +
              +
              + + {{ 'common.coin-hours' | translate }} +
              +
              +
              + plus + minus +
              +
              +
              +
              + +
              + + +
              + +
              +
              +
              + +
              + {{ 'send.hours-allocation-label' | translate }} + + {{ 'send.options-label' | translate }} keyboard_arrow_down + +
              +
              +
              +
              + +
              +
              +
              + + +
              +
              +
              +
              +
              + +
              + + {{ 'send.preview-button' | translate }} + + + {{ 'send.send-button' | translate }} + +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.scss new file mode 100755 index 0000000..b20c963 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.scss @@ -0,0 +1,156 @@ +@import '../../../../../theme/variables'; + +.-input-addon { + display: flex; + + input { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + span { + border: 2px; + border-radius: 0 6px 6px 0; + background: #f1f1f1; + padding: 0 10px; + line-height: 44px; + color: $grey; + font-size: 14px; + flex-shrink: 0; + } +} + +.-destination { + &:not(:last-child) { + margin-bottom: 5px; + } + + .-icons { + text-align: right; + padding-top: 5px; + + img { + width: 32px; + cursor: pointer; + } + } +} + +mat-checkbox { + font-size: 12px; +} + +mat-select { + background: white; + border: 2px solid rgba(0, 0, 0, 0.05); + border-radius: 6px; + + ::ng-deep .mat-select-trigger { + padding: 10px 30px 10px 10px; + display: block; + font-size: 11px; + height: 100%; + line-height: 20px; + } + + ::ng-deep .mat-select-arrow { + border: none; + } +} + +mat-option ::ng-deep .mat-pseudo-checkbox-checked { + background: $gradient-blue-dark; +} + +.-autohours { + margin: 40px 0 20px; + + .-check ::ng-deep { + .mat-checkbox-checkmark-path { + stroke: $gradient-blue-dark !important; + } + + .mat-checkbox-background, .mat-checkbox-frame { + width: 20px; + height: 20px; + background: rgba(30, 34, 39, 0.05); + border-radius: 6px; + border-color: transparent; + } + + .mat-checkbox-label { + line-height: 20px; + font-size: 13px; + color: $grey-dark; + flex: 1; + } + + .-options { + color: $gradient-blue-dark; + cursor: pointer; + + mat-icon { + display: inline; + vertical-align: middle; + font-size: 13px; + } + } + + .mat-checkbox-layout { + display: flex; + } + } + + .-options-wrapper { + margin-top: 20px; + + mat-slider { + width: 100%; + padding: 0; + height: 40px; + border: 2px solid rgba(0, 0, 0, 0.05); + border-radius: 6px; + background: white; + + ::ng-deep { + .mat-slider-thumb, .mat-slider-thumb-label { + background-color: $gradient-blue-dark !important; + transform: scale(1) !important; + border-width: 0 !important; + } + + .mat-slider-thumb { + right: -6px; + width: 12px; + height: 32px; + border-radius: 3px; + } + + .mat-slider-track-fill, .mat-slider-track-background { + background-color: white !important; + } + } + } + } +} + +.-buttons { + text-align: center; +} + +.-hidden { + display: none; +} + +.-space-between { + display: flex; + justify-content: space-between; +} + +label mat-icon { + display: inline; + font-size: 14px; + color: lighten($grey, 40%); + vertical-align: text-bottom; + padding-left: 5px; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.spec.ts new file mode 100755 index 0000000..057bc47 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SendFormAdvancedComponent } from './send-form-advanced.component'; + +describe('SendFormAdvancedComponent', () => { + let component: SendFormAdvancedComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SendFormAdvancedComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SendFormAdvancedComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.ts new file mode 100755 index 0000000..abb7590 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form-advanced/send-form-advanced.component.ts @@ -0,0 +1,335 @@ +import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core'; +import { WalletService } from '../../../../services/wallet.service'; +import { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { MatDialog, MatSnackBar } from '@angular/material'; +import { PasswordDialogComponent } from '../../../layout/password-dialog/password-dialog.component'; +import { ButtonComponent } from '../../../layout/button/button.component'; +import { showSnackbarError } from '../../../../utils/errors'; +import { Subscription } from 'rxjs/Subscription'; +import { NavBarService } from '../../../../services/nav-bar.service'; + +@Component({ + selector: 'app-send-form-advanced', + templateUrl: './send-form-advanced.component.html', + styleUrls: ['./send-form-advanced.component.scss'], +}) +export class SendFormAdvancedComponent implements OnInit, OnDestroy { + @ViewChild('previewButton') previewButton: ButtonComponent; + @ViewChild('sendButton') sendButton: ButtonComponent; + @Input() formData: any; + @Output() onFormSubmitted = new EventEmitter(); + + form: FormGroup; + addresses = []; + autoHours = true; + autoOptions = false; + autoShareValue = '0.5'; + previewTx: boolean; + + private subscriptions: Subscription; + + constructor( + public walletService: WalletService, + private formBuilder: FormBuilder, + private dialog: MatDialog, + private snackbar: MatSnackBar, + private navbarService: NavBarService, + ) { } + + ngOnInit() { + this.navbarService.showSwitch('send.simple', 'send.advanced'); + + this.form = this.formBuilder.group({ + wallet: ['', Validators.required], + addresses: ['', Validators.required], + changeAddress: [''], + destinations: this.formBuilder.array( + [this.createDestinationFormGroup()], + this.validateDestinations.bind(this), + ), + }); + + this.subscriptions = this.form.get('wallet').valueChanges.subscribe(wallet => { + this.addresses = wallet.addresses.filter(addr => addr.coins > 0); + this.form.get('addresses').setValue([]); + this.form.get('destinations').updateValueAndValidity(); + }); + + this.subscriptions.add(this.form.get('addresses').valueChanges.subscribe(() => { + this.form.get('destinations').updateValueAndValidity(); + })); + + if (this.formData) { + this.fillForm(); + } + } + + ngOnDestroy() { + this.subscriptions.unsubscribe(); + this.navbarService.hideSwitch(); + this.snackbar.dismiss(); + } + + preview() { + this.previewTx = true; + this.unlockAndSend(); + } + + send() { + this.previewTx = false; + this.unlockAndSend(); + } + + unlockAndSend() { + if (!this.form.valid || this.previewButton.isLoading() || this.sendButton.isLoading()) { + return; + } + + this.snackbar.dismiss(); + this.previewButton.resetState(); + this.sendButton.resetState(); + + if (this.form.get('wallet').value.encrypted) { + this.dialog.open(PasswordDialogComponent).componentInstance.passwordSubmit + .subscribe(passwordDialog => { + this.createTransaction(passwordDialog); + }); + } else { + this.createTransaction(); + } + } + + addDestination() { + const destinations = this.form.get('destinations') as FormArray; + destinations.push(this.createDestinationFormGroup()); + } + + removeDestination(index) { + const destinations = this.form.get('destinations') as FormArray; + destinations.removeAt(index); + } + + setShareValue(event) { + this.autoShareValue = parseFloat(event.value).toFixed(2); + } + + toggleOptions(event) { + event.stopPropagation(); + event.preventDefault(); + + this.autoOptions = !this.autoOptions; + } + + setAutoHours(event) { + this.autoHours = event.checked; + this.form.get('destinations').updateValueAndValidity(); + + if (!this.autoHours) { + this.autoOptions = false; + } + } + + private fillForm() { + this.addresses = this.formData.form.wallet.addresses; + + ['wallet', 'addresses', 'changeAddress'].forEach(name => { + this.form.get(name).setValue(this.formData.form[name]); + }); + + for (let i = 0; i < this.formData.form.destinations.length - 1; i++) { + this.addDestination(); + } + + this.destControls.forEach((destControl, i) => { + ['address', 'coins', 'hours'].forEach(name => { + destControl.get(name).setValue(this.formData.form.destinations[i][name]); + }); + }); + + if (this.formData.form.hoursSelection.type === 'auto') { + this.autoShareValue = this.formData.form.hoursSelection.share_factor; + this.autoHours = true; + } else { + this.autoHours = false; + } + + this.autoOptions = this.formData.form.autoOptions; + } + + addressCompare(a, b) { + return a.address === b.address; + } + + get destControls() { + return (this.form.get('destinations') as FormArray).controls; + } + + private validateDestinations() { + if (!this.form || !Array.isArray(this.form.get('addresses').value)) { + return { Required: true }; + } + + const invalidInput = this.destControls.find(control => { + const checkControls = ['coins']; + + if (!this.autoHours) { + checkControls.push('hours'); + } + + return checkControls.map(name => { + const value = control.get(name).value !== undefined + ? control.get(name).value.replace(' ', '=') + : ''; + + if (isNaN(value) || value.trim() === '') { + return true; + } + + if (parseFloat(value) <= 0) { + return true; + } + + if (name === 'coins') { + const parts = value.split('.'); + + if (parts.length === 2 && parts[1].length > 6) { + return true; + } + } else if (name === 'hours') { + if (value < 1 || parseInt(value, 10) !== parseFloat(value)) { + return true; + } + } + + return false; + }).find(e => e === true); + }); + + if (invalidInput) { + return { Invalid: true }; + } + + const coins = this.form.get('addresses').value.reduce((a, b) => a + b.coins, 0); + const hours = this.form.get('addresses').value.reduce((a, b) => a + b.hours, 0); + const destinationsCoins = this.destControls.reduce((a, b) => a + parseFloat(b.value.coins), 0); + const destinationsHours = this.destControls.reduce((a, b) => a + parseInt(b.value.hours, 10), 0); + + if (destinationsCoins > coins || destinationsHours > hours) { + return { Invalid: true }; + } + + return null; + } + + private createDestinationFormGroup() { + return this.formBuilder.group({ + address: '', + coins: '', + hours: '', + }); + } + + private createTransaction(passwordDialog?: any) { + if (passwordDialog) { + passwordDialog.close(); + } + + if (this.previewTx) { + this.previewButton.setLoading(); + this.sendButton.setDisabled(); + } else { + this.sendButton.setLoading(); + this.previewButton.setDisabled(); + } + + this.walletService.createTransaction( + this.form.get('wallet').value, + this.form.get('addresses').value.map(addr => addr.address), + this.destinations, + this.hoursSelection, + this.form.get('changeAddress').value ? this.form.get('changeAddress').value : null, + passwordDialog ? passwordDialog.password : null, + ) + .toPromise() + .then(transaction => { + if (!this.previewTx) { + return this.walletService.injectTransaction(transaction.encoded).toPromise(); + } + + this.onFormSubmitted.emit({ + form: { + wallet: this.form.get('wallet').value, + addresses: this.form.get('addresses').value, + changeAddress: this.form.get('changeAddress').value, + destinations: this.destinations, + hoursSelection: this.hoursSelection, + autoOptions: this.autoOptions, + }, + amount: this.destinations.reduce((a, b) => a + parseFloat(b.coins), 0), + to: this.destinations.map(d => d.address), + transaction, + }); + }) + .then(() => { + this.sendButton.setSuccess(); + this.resetForm(); + + setTimeout(() => { + this.sendButton.resetState(); + }, 3000); + }) + .catch(error => { + showSnackbarError(this.snackbar, error); + + this.previewButton.resetState().setEnabled(); + this.sendButton.resetState().setEnabled(); + }); + } + + private resetForm() { + this.form.get('wallet').setValue('', { emitEvent: false }); + this.form.get('addresses').setValue([]); + this.form.get('changeAddress').setValue(''); + + while (this.destControls.length > 0) { + (this.form.get('destinations') as FormArray).removeAt(0); + } + + this.addDestination(); + + this.autoHours = true; + this.autoOptions = false; + this.autoShareValue = '0.5'; + } + + private get destinations() { + return this.destControls.map(destControl => { + const destination = { + address: destControl.get('address').value, + coins: destControl.get('coins').value, + }; + + if (!this.autoHours) { + destination['hours'] = destControl.get('hours').value; + } + + return destination; + }); + } + + private get hoursSelection() { + let hoursSelection = { + type: 'manual', + }; + + if (this.autoHours) { + hoursSelection = { + type: 'auto', + mode: 'share', + share_factor: this.autoShareValue, + }; + } + + return hoursSelection; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.html new file mode 100755 index 0000000..ea489c8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.html @@ -0,0 +1,28 @@ +
              +
              + +
              + +
              +
              +
              + + +
              +
              + + +
              +
              + + {{ 'send.preview-button' | translate }} + + + {{ 'send.send-button' | translate }} + +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.scss new file mode 100755 index 0000000..079dcb6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.scss @@ -0,0 +1,3 @@ +.-buttons { + text-align: center; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.spec.ts new file mode 100755 index 0000000..40e927e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SendFormComponent } from './send-form.component'; + +describe('SendFormComponent', () => { + let component: SendFormComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SendFormComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SendFormComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.ts new file mode 100755 index 0000000..1901079 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-form/send-form.component.ts @@ -0,0 +1,188 @@ +import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core'; +import { WalletService } from '../../../../services/wallet.service'; +import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; +import 'rxjs/add/operator/delay'; +import 'rxjs/add/operator/filter'; +import { ButtonComponent } from '../../../layout/button/button.component'; +import { PasswordDialogComponent } from '../../../layout/password-dialog/password-dialog.component'; +import { MatDialog, MatSnackBar } from '@angular/material'; +import { showSnackbarError } from '../../../../utils/errors'; +import { ISubscription } from 'rxjs/Subscription'; +import { NavBarService } from '../../../../services/nav-bar.service'; + +@Component({ + selector: 'app-send-form', + templateUrl: './send-form.component.html', + styleUrls: ['./send-form.component.scss'], +}) +export class SendFormComponent implements OnInit, OnDestroy { + @ViewChild('previewButton') previewButton: ButtonComponent; + @ViewChild('sendButton') sendButton: ButtonComponent; + @Input() formData: any; + @Output() onFormSubmitted = new EventEmitter(); + + form: FormGroup; + transactions = []; + previewTx: boolean; + + private subscription: ISubscription; + + constructor( + public formBuilder: FormBuilder, + public walletService: WalletService, + private dialog: MatDialog, + private snackbar: MatSnackBar, + private navbarService: NavBarService, + ) {} + + ngOnInit() { + this.navbarService.showSwitch('send.simple', 'send.advanced'); + this.initForm(); + } + + ngOnDestroy() { + this.subscription.unsubscribe(); + this.navbarService.hideSwitch(); + this.snackbar.dismiss(); + } + + preview() { + this.previewTx = true; + this.unlockAndSend(); + } + + send() { + this.previewTx = false; + this.unlockAndSend(); + } + + private unlockAndSend() { + if (!this.form.valid || this.previewButton.isLoading() || this.sendButton.isLoading()) { + return; + } + + this.snackbar.dismiss(); + this.previewButton.resetState(); + this.sendButton.resetState(); + + if (this.form.value.wallet.encrypted) { + this.dialog.open(PasswordDialogComponent).componentInstance.passwordSubmit + .subscribe(passwordDialog => { + this.createTransaction(passwordDialog); + }); + } else { + this.createTransaction(); + } + } + + private createTransaction(passwordDialog?: any) { + if (passwordDialog) { + passwordDialog.close(); + } + + if (this.previewTx) { + this.previewButton.setLoading(); + this.sendButton.setDisabled(); + } else { + this.sendButton.setLoading(); + this.previewButton.setDisabled(); + } + + this.walletService.createTransaction( + this.form.value.wallet, + null, + [{ + address: this.form.value.address, + coins: this.form.value.amount, + }], + { + type: 'auto', + mode: 'share', + share_factor: '0.5', + }, + null, + passwordDialog ? passwordDialog.password : null, + ) + .toPromise() + .then(transaction => { + if (!this.previewTx) { + return this.walletService.injectTransaction(transaction.encoded).toPromise(); + } + + this.onFormSubmitted.emit({ + form: { + wallet: this.form.value.wallet, + address: this.form.value.address, + amount: this.form.value.amount, + }, + amount: this.form.value.amount, + to: [this.form.value.address], + transaction, + }); + }) + .then(() => { + this.sendButton.setSuccess(); + this.resetForm(); + + setTimeout(() => { + this.sendButton.resetState(); + }, 3000); + }) + .catch(error => { + showSnackbarError(this.snackbar, error); + + this.previewButton.resetState().setEnabled(); + this.sendButton.resetState().setEnabled(); + }); + } + + private initForm() { + this.form = this.formBuilder.group({ + wallet: ['', Validators.required], + address: ['', Validators.required], + amount: ['', Validators.required], + }); + + this.subscription = this.form.get('wallet').valueChanges.subscribe(value => { + const balance = value && value.coins ? value.coins : 0; + + this.form.get('amount').setValidators([ + Validators.required, + Validators.max(balance), + this.validateAmount, + ]); + + this.form.get('amount').updateValueAndValidity(); + }); + + if (this.formData) { + Object.keys(this.form.controls).forEach(control => { + this.form.get(control).setValue(this.formData.form[control]); + }); + } + } + + private validateAmount(amountControl: FormControl) { + if (isNaN(amountControl.value.replace(' ', '='))) { + return { Invalid: true }; + } + + if (parseFloat(amountControl.value) <= 0) { + return { Invalid: true }; + } + + const parts = amountControl.value.split('.'); + + if (parts.length === 2 && parts[1].length > 6) { + return { Invalid: true }; + } + + return null; + } + + private resetForm() { + this.form.get('wallet').setValue(''); + this.form.get('address').setValue(''); + this.form.get('amount').setValue(''); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.html new file mode 100755 index 0000000..0ba12a6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.html @@ -0,0 +1,9 @@ + + +
              + {{ 'send.back-button' | translate }} + {{ 'send.send-button' | translate }} +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.scss new file mode 100755 index 0000000..4bf1cca --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.scss @@ -0,0 +1,4 @@ +.-buttons { + margin-top: 10px; + text-align: center; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.spec.ts new file mode 100755 index 0000000..63db508 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SendVerifyComponent } from './send-preview.component'; + +describe('SendVerifyComponent', () => { + let component: SendVerifyComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SendVerifyComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SendVerifyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.ts new file mode 100755 index 0000000..a87f64a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/send-preview.component.ts @@ -0,0 +1,58 @@ +import { Component, EventEmitter, Input, OnDestroy, Output, ViewChild } from '@angular/core'; +import { WalletService } from '../../../../services/wallet.service'; +import { ButtonComponent } from '../../../layout/button/button.component'; +import { MatSnackBar } from '@angular/material'; +import { showSnackbarError } from '../../../../utils/errors'; +import { PreviewTransaction } from '../../../../app.datatypes'; + +@Component({ + selector: 'app-send-preview', + templateUrl: './send-preview.component.html', + styleUrls: ['./send-preview.component.scss'], +}) +export class SendVerifyComponent implements OnDestroy { + @ViewChild('sendButton') sendButton: ButtonComponent; + @ViewChild('backButton') backButton: ButtonComponent; + @Input() transaction: PreviewTransaction; + @Output() onBack = new EventEmitter(); + + constructor( + private walletService: WalletService, + private snackbar: MatSnackBar, + ) {} + + ngOnDestroy() { + this.snackbar.dismiss(); + } + + send() { + if (this.sendButton.isLoading()) { + return; + } + + this.snackbar.dismiss(); + this.sendButton.resetState(); + this.sendButton.setLoading(); + this.backButton.setDisabled(); + + this.walletService.injectTransaction(this.transaction.encoded).subscribe(() => { + this.sendButton.setSuccess(); + this.sendButton.setDisabled(); + + this.walletService.startDataRefreshSubscription(); + + setTimeout(() => { + this.onBack.emit(true); + }, 3000); + }, error => { + showSnackbarError(this.snackbar, error); + + this.sendButton.setError(error); + this.backButton.setEnabled(); + }); + } + + back() { + this.onBack.emit(false); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.html new file mode 100755 index 0000000..bd5d440 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.html @@ -0,0 +1,82 @@ +
              +
              +

              {{ 'tx.confirm-transaction' | translate }}

              +

              {{ 'tx.transaction' | translate }}

              + + +
              + {{ 'tx.from' | translate }}: {{ transaction.from }} +
              +
              + {{ 'tx.to' | translate }}: {{ transaction.to.join(', ') }} +
              +
              + +
              + {{ 'tx.date' | translate }}: {{ transaction.timestamp * 1000 | date:'short' }} +
              +
              + {{ 'tx.status' | translate }}: {{ (transaction.confirmed ? 'tx.confirmed' : 'tx.pending') | translate }} +
              +
              +
              + {{ 'tx.hours' | translate }}: + {{ transaction.hoursSent | number:'1.0-6' }} {{ 'tx.hours-sent' | translate }} + | + {{ transaction.hoursBurned | number:'1.0-6' }} {{ 'tx.hours-burned' | translate }} +
              +
              + {{ 'tx.id' | translate }}: {{ transaction.txid }} +
              +
              +
              +
              + +
              +

              {{ transaction.balance | number:'1.0-6' }} {{ 'common.coin-id' | translate }}

              +

              + {{ transaction.balance * price | currency:'USD':'symbol':'1.2-2' }}* +

              +
              +
              +
              + + {{ 'tx.show-more' | translate }} keyboard_arrow_down + +
              +
              + +
              +

              {{ 'tx.inputs' | translate }}

              + +
              +
              {{ i + 1 }}
              +
              +
              {{ isPreview ? input.address : input.owner }}
              +
              + {{ 'tx.coins' | translate }}: {{ input.coins | number:'1.0-6' }} +
              +
              + {{ 'tx.hours' | translate }}: {{ input.calculated_hours | number:'1.0-6' }} +
              +
              +
              +
              +
              +

              {{ 'tx.outputs' | translate }}

              + +
              +
              {{ i + 1 }}
              +
              +
              {{ isPreview ? output.address : output.dst }}
              +
              + {{ 'tx.coins' | translate }}: {{ output.coins | number:'1.0-6' }} +
              +
              + {{ 'tx.hours' | translate }}: {{ output.hours | number:'1.0-6' }} +
              +
              +
              +
              +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.scss new file mode 100755 index 0000000..87aa5d3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.scss @@ -0,0 +1,108 @@ +@import '../../../../../../theme/variables'; + +h4 { + font-size: 14px; + margin: 0 0 30px; +} + +.-item { + display: flex; + font-size: 13px; + + &:not(:last-child) { + margin-bottom: 10px; + } + + .-number { + padding: 10px; + background: $grey-lightest; + align-self: flex-start; + border-radius: 10px; + } + + .-info { + margin-left: 10px; + display: flex; + flex-direction: column; + + .-address { + padding: 10px 0; + margin-bottom: 5px; + } + } +} + +.-data { + font-size: 12px; + + &:not(:last-child) { + margin-bottom: 5px; + } + + span:first-child { + color: $grey; + display: inline-block; + width: 60px; + } + + &.-more { + margin-bottom: 0 !important; + + span { + width: auto !important; + margin-top: 30px; + color: $gradient-blue-dark; + cursor: pointer; + + mat-icon { + display: inline; + vertical-align: middle; + font-size: 13px; + } + } + } +} + +.-tx-meta { + .-data:not(:last-child) { + margin-bottom: 10px; + } +} + +.-tx-price { + text-align: center; + display: flex; + flex-direction: column; + justify-content: flex-end; + + .-icon { + &.-incoming { + transform: rotate(180deg); + } + + img { + width: 30px; + } + } + + h4 { + color: $grey-dark; + font-size: 16px; + font-weight: 700; + margin: 10px 0 5px; + } + + p { + color: $grey; + font-size: 12px; + margin: 0; + + span { + color: lighten($grey, 40%); + } + } +} + +.-margin-top { + margin-top: 30px; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.spec.ts new file mode 100755 index 0000000..1637b8c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TransactionInfoComponent } from './transaction-info.component'; + +describe('TransactionInfoComponent', () => { + let component: TransactionInfoComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ TransactionInfoComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(TransactionInfoComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.ts new file mode 100755 index 0000000..1f7b7fb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-preview/transaction-info/transaction-info.component.ts @@ -0,0 +1,41 @@ +import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { PreviewTransaction, Transaction } from '../../../../../app.datatypes'; +import { PriceService } from '../../../../../services/price.service'; +import { ISubscription } from 'rxjs/Subscription'; + +@Component({ + selector: 'app-transaction-info', + templateUrl: './transaction-info.component.html', + styleUrls: ['./transaction-info.component.scss'], +}) +export class TransactionInfoComponent implements OnInit, OnDestroy { + @Input() transaction: Transaction; + @Input() isPreview: boolean; + price: number; + showInputsOutputs = false; + + private subscription: ISubscription; + + constructor(private priceService: PriceService) { + this.subscription = this.priceService.price.subscribe(price => this.price = price); + } + + ngOnInit() { + if (this.isPreview) { + this.transaction.hoursSent = this.transaction.outputs + .filter(o => ( this.transaction).to.find(addr => addr === o.address)) + .map(o => parseInt(o.hours, 10)) + .reduce((a, b) => a + b, 0); + } + } + + ngOnDestroy() { + this.subscription.unsubscribe(); + } + + toggleInputsOutputs(event) { + event.preventDefault(); + + this.showInputsOutputs = !this.showInputsOutputs; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.html new file mode 100755 index 0000000..1acadd8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.html @@ -0,0 +1,20 @@ + +
              +
              + + + +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.scss new file mode 100755 index 0000000..c253bbf --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.scss @@ -0,0 +1,11 @@ +.-buttons { + text-align: center; +} + +.-paper { + background-color: #fbfbfb; + border-radius: 10px; + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.01), 1px 1px 2px 2px rgba(0, 0, 0, 0.01); + padding: 30px; + margin: 30px; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.spec.ts new file mode 100755 index 0000000..97248ad --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SendSkycoinComponent } from './send-skycoin.component'; + +describe('SendSkycoinComponent', () => { + let component: SendSkycoinComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SendSkycoinComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SendSkycoinComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.ts new file mode 100755 index 0000000..daec923 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/send-skycoin/send-skycoin.component.ts @@ -0,0 +1,54 @@ +import { Component, OnDestroy } from '@angular/core'; +import { NavBarService } from '../../../services/nav-bar.service'; +import { ISubscription } from 'rxjs/Subscription'; +import { DoubleButtonActive } from '../../layout/double-button/double-button.component'; + +@Component({ + selector: 'app-send-skycoin', + templateUrl: './send-skycoin.component.html', + styleUrls: ['./send-skycoin.component.scss'], +}) +export class SendSkycoinComponent implements OnDestroy { + showForm = true; + formData: any; + activeForm: DoubleButtonActive; + activeForms = DoubleButtonActive; + + private subscription: ISubscription; + + constructor( + private navbarService: NavBarService, + ) { + this.subscription = navbarService.activeComponent.subscribe(value => { + this.activeForm = value; + this.formData = null; + }); + } + + ngOnDestroy() { + this.subscription.unsubscribe(); + } + + onFormSubmitted(data) { + this.formData = data; + this.showForm = false; + } + + onBack(deleteFormData) { + if (deleteFormData) { + this.formData = null; + } + + this.showForm = true; + } + + get transaction() { + const transaction = this.formData.transaction; + + transaction.from = this.formData.form.wallet.label; + transaction.to = this.formData.to; + transaction.balance = this.formData.amount; + + return transaction; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.html new file mode 100755 index 0000000..2af4b72 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.html @@ -0,0 +1,36 @@ +
              + + +
              +
              +

              {{ 'backup.wallet-directory' | translate }} {{ folder }}

              +

              {{ 'backup.seed-warning' | translate }}

              +

              + +

              +
              + + + +
              +
              +
              {{ 'backup.wallet' | translate }}
              +
              {{ 'backup.filename' | translate }}
              +
              +
              +
              +
              +
              {{ wallet.label }}
              +
              {{ wallet.filename }}
              +
              + {{ 'backup.show-seed' | translate }} +
              +
              +
              +
              +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.scss new file mode 100755 index 0000000..99c14b9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.scss @@ -0,0 +1,39 @@ +@import '../../../../../theme/variables'; + +.-paper { + background-color: #fbfbfb; + border-radius: 15px; + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.01), 1px 1px 2px 2px rgba(0, 0, 0, 0.01); + padding: 20px; + font-size: $font-size-standard; + margin: 30px 30px 0; + + p { + &:first-child { + margin-top: 0; + } + + &:last-child { + margin-bottom: 0; + } + } +} + +.-text-muted { + color: $grey; +} + +.-text-right { + text-align: right; +} + +.-link { + color: $blue; + cursor: pointer; +} + +.-label { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.spec.ts new file mode 100755 index 0000000..e7e4b77 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BackupComponent } from './backup.component'; + +describe('BackupComponent', () => { + let component: BackupComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ BackupComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(BackupComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.ts new file mode 100755 index 0000000..88bf75f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/backup.component.ts @@ -0,0 +1,53 @@ +import { Component, OnDestroy, OnInit } from '@angular/core'; +import { WalletService } from '../../../../services/wallet.service'; +import { Wallet } from '../../../../app.datatypes'; +import { MatDialog, MatDialogConfig } from '@angular/material'; +import { SeedModalComponent } from './seed-modal/seed-modal.component'; +import { PasswordDialogComponent } from '../../../layout/password-dialog/password-dialog.component'; + +@Component({ + selector: 'app-backup', + templateUrl: './backup.component.html', + styleUrls: ['./backup.component.scss'], +}) +export class BackupComponent implements OnInit, OnDestroy { + folder: string; + wallets: Wallet[] = []; + + private walletSubscription; + + constructor( + public walletService: WalletService, + private dialog: MatDialog, + ) {} + + ngOnInit() { + this.walletService.folder().subscribe(folder => this.folder = folder); + + this.walletSubscription = this.walletService.all().subscribe(wallets => { + this.wallets = wallets; + }); + } + + ngOnDestroy() { + this.walletSubscription.unsubscribe(); + } + + get onlyEncrypted() { + return this.wallets.filter(wallet => wallet.encrypted); + } + + showSeed(wallet: Wallet) { + this.dialog.open(PasswordDialogComponent).componentInstance.passwordSubmit + .subscribe(passwordDialog => { + this.walletService.getWalletSeed(wallet, passwordDialog.password).subscribe(seed => { + passwordDialog.close(); + const config = new MatDialogConfig(); + config.width = '566px'; + config.data = { seed }; + + this.dialog.open(SeedModalComponent, config); + }, err => passwordDialog.error(err)); + }); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.css b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.css new file mode 100755 index 0000000..079dcb6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.css @@ -0,0 +1,3 @@ +.-buttons { + text-align: center; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.html new file mode 100755 index 0000000..12e4121 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.html @@ -0,0 +1,11 @@ + +
              + + +
              +
              + + {{ 'backup.close-button' | translate }} + +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.spec.ts new file mode 100755 index 0000000..e269ec5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SeedModalComponent } from './seed-modal.component'; + +describe('SeedModalComponent', () => { + let component: SeedModalComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SeedModalComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SeedModalComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.ts new file mode 100755 index 0000000..749726e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/backup/seed-modal/seed-modal.component.ts @@ -0,0 +1,18 @@ +import { Component, Inject, OnDestroy } from '@angular/core'; +import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material'; + +@Component({ + selector: 'app-seed-modal', + templateUrl: './seed-modal.component.html', + styleUrls: ['./seed-modal.component.css'], +}) +export class SeedModalComponent implements OnDestroy { + constructor( + @Inject(MAT_DIALOG_DATA) public data: any, + public dialogRef: MatDialogRef, + ) {} + + ngOnDestroy() { + this.data.seed = null; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.html new file mode 100755 index 0000000..53a4ed9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.html @@ -0,0 +1,52 @@ +
              + + + + +
              +
              +
              +
              +
              +
              {{ 'blockchain.blocks' | translate }}
              +
              {{ block.header.seq | number }}
              +
              +
              +
              {{ 'blockchain.time' | translate }}
              +
              {{ block.header.timestamp | dateTime }}
              +
              +
              +
              {{ 'blockchain.hash' | translate }}
              +
              {{ block.header.block_hash }}
              +
              +
              +
              +
              +
              +
              +
              +
              +
              {{ 'blockchain.current-supply' | translate }}
              +
              {{ coinSupply.current_supply | number }}
              +
              +
              +
              {{ 'blockchain.total-supply' | translate }}
              +
              {{ coinSupply.total_supply | number }}
              +
              +
              +
              +
              +
              {{ 'blockchain.current-coinhour-supply' | translate }}
              +
              {{ coinSupply.current_coinhour_supply | number }}
              +
              +
              +
              {{ 'blockchain.total-coinhour-supply' | translate }}
              +
              {{ coinSupply.total_coinhour_supply | number }}
              +
              +
              +
              +
              +
              +
              +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.scss new file mode 100755 index 0000000..eeb3316 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.scss @@ -0,0 +1,28 @@ +@import '../../../../../theme/variables'; + +.-wrapper { + margin: 30px; +} + +.-paper { + background-color: #fbfbfb; + border-radius: 15px; + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.01), 1px 1px 2px 2px rgba(0, 0, 0, 0.01); + padding: 20px; + font-size: $font-size-standard; +} + +.-item { + &:not(:last-child) { + margin-bottom: 20px; + } + + .-key { + color: $grey; + margin-bottom: 5px; + } + + .-value { + word-break: break-all; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.spec.ts new file mode 100755 index 0000000..e868709 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BlockchainComponent } from './blockchain.component'; + +describe('BlockchainComponent', () => { + let component: BlockchainComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ BlockchainComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(BlockchainComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.ts new file mode 100755 index 0000000..38643fc --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/blockchain/blockchain.component.ts @@ -0,0 +1,21 @@ +import { Component, OnInit } from '@angular/core'; +import { BlockchainService } from '../../../../services/blockchain.service'; + +@Component({ + selector: 'app-blockchain', + templateUrl: './blockchain.component.html', + styleUrls: ['./blockchain.component.scss'], +}) +export class BlockchainComponent implements OnInit { + block: any; + coinSupply: any; + + constructor( + private blockchainService: BlockchainService, + ) { } + + ngOnInit() { + this.blockchainService.lastBlock().subscribe(block => this.block = block); + this.blockchainService.coinSupply().subscribe(coinSupply => this.coinSupply = coinSupply); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.html new file mode 100755 index 0000000..424b602 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.html @@ -0,0 +1,40 @@ +
              + + + + +
              +
              +
              +
              +
              {{ 'network.peer' | translate }}
              +
              {{ 'network.source' | translate }}
              +
              {{ 'network.block-height' | translate }}
              +
              {{ 'network.last-seen' | translate }}
              +
              +
              +
              +
              + +
              +
              + {{ peer.address.split(':')[0] }}:{{ peer.listen_port }} +
              +
              {{ ('network.sources.' + peer.source) | translate }}
              +
              {{ peer.height }}
              +
              +
              + keyboard_arrow_up + {{ peer.last_sent | dateFromNow }} +
              +
              + keyboard_arrow_down + {{ peer.last_received | dateFromNow }} +
              +
              +
              +
              +
              +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.scss new file mode 100755 index 0000000..8ee46bf --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.scss @@ -0,0 +1,50 @@ +@import '../../../../../theme/variables'; + +.-port, .-last-seen, .-source { + color: $grey; +} + +.-direction { + width: 72px; + display: flex; + justify-content: center; + align-items: center; + + img { + width: 32px; + + &.-incoming { + transform: scaleX(-1); + } + } +} + +.-last-seen { + display: flex; + flex-direction: column; + font-size: 12px; + line-height: 1; + justify-content: center; + + mat-icon { + font-size: 12px; + display: inline; + vertical-align: middle; + padding-right: 5px; + } +} + +.-trusted { + display: inline; + color: $blue; + font-size: 13px; + vertical-align: middle; +} + +.-text-right { + text-align: right; +} + +.-pl-0 { + padding-left: 0 !important; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.spec.ts new file mode 100755 index 0000000..c1175d1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { NetworkComponent } from './network.component'; + +describe('NetworkComponent', () => { + let component: NetworkComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ NetworkComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(NetworkComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.ts new file mode 100755 index 0000000..b2e5a47 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/network/network.component.ts @@ -0,0 +1,34 @@ +import { Component, OnDestroy, OnInit } from '@angular/core'; +import { NetworkService } from '../../../../services/network.service'; +import { ISubscription } from 'rxjs/Subscription'; + +@Component({ + selector: 'app-network', + templateUrl: './network.component.html', + styleUrls: ['./network.component.scss'], +}) +export class NetworkComponent implements OnInit, OnDestroy { + peers: any; + + private subscription: ISubscription; + + constructor( + public networkService: NetworkService, + ) { } + + ngOnInit() { + this.networkService.retrieveDefaultConnections().subscribe(trusted => { + this.subscription = this.networkService.automatic().first().subscribe(peers => { + this.peers = peers.map(peer => { + peer.source = trusted.find(p => p.address === peer.address) ? 'default' : 'exchange'; + + return peer; + }).sort((a, b) => a.address.localeCompare(b.address)); + }); + }); + } + + ngOnDestroy() { + this.subscription.unsubscribe(); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.html new file mode 100755 index 0000000..3cb07b9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.html @@ -0,0 +1,34 @@ +
              + + + + +
              +
              +
              +
              {{ wallet.label }}
              +
              {{ 'common.coin-id' | translate }}
              +
              {{ 'common.coin-hours' | translate }}
              +
              +
              + +
              +
              + + {{ address.address }} +
              +
              +
              +
              {{ output.hash }}
              +
              {{ output.coins | number:'1.0-6' }}
              +
              {{ output.calculated_hours | number:'1.0-6' }}
              +
              +
              +
              +
              +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.scss new file mode 100755 index 0000000..b58dced --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.scss @@ -0,0 +1,34 @@ +@import '../../../../../theme/variables'; + +.-text-right { + text-align: right; +} + +.-grey { + color: $grey; +} + +.-row.-small { + height: $row-height / 1.5; + line-height: $row-height / 1.5; +} + +.-hash { + margin-left: 27px; +} + +.-address { + color: $grey; + + img { + width: 17px; + vertical-align: middle; + margin-right: 10px; + } +} + +.-label { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.spec.ts new file mode 100755 index 0000000..6f43161 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { OutputsComponent } from './outputs.component'; + +describe('OutputsComponent', () => { + let component: OutputsComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ OutputsComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(OutputsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.ts new file mode 100755 index 0000000..1d59cf9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/outputs/outputs.component.ts @@ -0,0 +1,57 @@ +import { Component, OnDestroy } from '@angular/core'; +import { WalletService } from '../../../../services/wallet.service'; +import { ActivatedRoute } from '@angular/router'; +import { ISubscription } from 'rxjs/Subscription'; +import { MatDialog, MatDialogConfig } from '@angular/material'; +import { QrCodeComponent } from '../../../layout/qr-code/qr-code.component'; + +@Component({ + selector: 'app-outputs', + templateUrl: './outputs.component.html', + styleUrls: ['./outputs.component.scss'], +}) +export class OutputsComponent implements OnDestroy { + wallets: any[]|null; + + private outputsSubscription: ISubscription; + + constructor( + public walletService: WalletService, + private route: ActivatedRoute, + private dialog: MatDialog, + ) { + route.queryParams.subscribe(params => this.loadData(params)); + } + + ngOnDestroy() { + this.outputsSubscription.unsubscribe(); + } + + loadData(params) { + const addr = params['addr']; + + this.wallets = null; + this.outputsSubscription = this.walletService.outputsWithWallets().subscribe(wallets => { + this.wallets = wallets + .map(wallet => Object.assign({}, wallet)) + .map(wallet => { + wallet.addresses = wallet.addresses.filter(address => { + if (address.outputs.length > 0) { + return addr ? address.address === addr : true; + } + }); + + return wallet; + }) + .filter(wallet => wallet.addresses.length > 0); + }); + } + + showQrCode(event: any, address: string) { + event.stopPropagation(); + + const config = new MatDialogConfig(); + config.data = { address }; + this.dialog.open(QrCodeComponent, config); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.html new file mode 100755 index 0000000..ef9f5b5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.html @@ -0,0 +1,26 @@ +
              + + + + +
              +
              +
              +
              {{ 'pending-txs.txid' | translate }}
              +
              {{ 'common.coin-id' | translate }}
              +
              {{ 'pending-txs.timestamp' | translate }}
              +
              +
              +
              +
              {{ tx.txid }}
              +
              {{ tx.amount | number:'1.0-6' }}
              +
              {{ tx.timestamp | dateTime }}
              +
              +
              +
              +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.scss new file mode 100755 index 0000000..1e655ec --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.scss @@ -0,0 +1,5 @@ +@import '../../../../../theme/variables'; + +.-timestamp { + color: $grey; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.spec.ts new file mode 100755 index 0000000..9b19aaa --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PendingTransactionsComponent } from './pending-transactions.component'; + +describe('PendingTransactionsComponent', () => { + let component: PendingTransactionsComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PendingTransactionsComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PendingTransactionsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.ts new file mode 100755 index 0000000..2103323 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/settings/pending-transactions/pending-transactions.component.ts @@ -0,0 +1,70 @@ +import { Component, OnDestroy, OnInit } from '@angular/core'; +import { WalletService } from '../../../../services/wallet.service'; +import * as moment from 'moment'; +import { ISubscription } from 'rxjs/Subscription'; +import { NavBarService } from '../../../../services/nav-bar.service'; +import { DoubleButtonActive } from '../../../layout/double-button/double-button.component'; + +@Component({ + selector: 'app-pending-transactions', + templateUrl: './pending-transactions.component.html', + styleUrls: ['./pending-transactions.component.scss'], +}) +export class PendingTransactionsComponent implements OnInit, OnDestroy { + transactions = null; + + private transactionsSubscription: ISubscription; + private navbarSubscription: ISubscription; + + constructor( + public walletService: WalletService, + private navbarService: NavBarService, + ) { + this.navbarSubscription = this.navbarService.activeComponent.subscribe(value => { + this.loadTransactions(value); + }); + } + + ngOnInit() { + this.navbarService.showSwitch('pending-txs.my', 'pending-txs.all'); + } + + ngOnDestroy() { + this.transactionsSubscription.unsubscribe(); + this.navbarSubscription.unsubscribe(); + this.navbarService.hideSwitch(); + } + + private loadTransactions(value) { + const method = value === DoubleButtonActive.LeftButton ? 'pendingTransactions' : 'allPendingTransactions'; + + this.transactions = null; + + if (this.transactionsSubscription) { + this.transactionsSubscription.unsubscribe(); + } + + if (method === 'pendingTransactions') { + this.walletService.startDataRefreshSubscription(); + } + + this.transactionsSubscription = this.walletService[method]().subscribe(transactions => { + this.transactions = this.mapTransactions(transactions); + }); + } + + private mapTransactions(transactions) { + return transactions.map(transaction => { + transaction.transaction.timestamp = moment(transaction.received).unix(); + + return transaction.transaction; + }) + .map(transaction => { + transaction.amount = transaction.outputs + .map(output => output.coins >= 0 ? output.coins : 0) + .reduce((a , b) => a + parseFloat(b), 0); + + return transaction; + }); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.html new file mode 100755 index 0000000..c5b10af --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.html @@ -0,0 +1,11 @@ +
              + {{ 'history.tx-detail' | translate }} +
              +
              + + + +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.scss new file mode 100755 index 0000000..b007799 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.scss @@ -0,0 +1,21 @@ +.-container { + padding: 24px; + background-color: #fbfbfb; +} + +.-header { + background-color: #f7f7f7; + border-top-left-radius: 5px; + border-top-right-radius: 5px; + line-height: 50px; + position: relative; + text-align: center; + + img { + cursor: pointer; + height: 32px; + position: absolute; + right: 9px; + top: 9px; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.spec.ts new file mode 100755 index 0000000..45138c8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TransactionDetailComponent } from './transaction-detail.component'; + +describe('TransactionDetailComponent', () => { + let component: TransactionDetailComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ TransactionDetailComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(TransactionDetailComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.ts new file mode 100755 index 0000000..60591d8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-detail/transaction-detail.component.ts @@ -0,0 +1,19 @@ +import { Component, Inject } from '@angular/core'; +import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { NormalTransaction } from '../../../../app.datatypes'; + +@Component({ + selector: 'app-transaction-detail', + templateUrl: './transaction-detail.component.html', + styleUrls: ['./transaction-detail.component.scss'], +}) +export class TransactionDetailComponent { + constructor( + @Inject(MAT_DIALOG_DATA) public transaction: NormalTransaction, + public dialogRef: MatDialogRef, + ) {} + + closePopup() { + this.dialogRef.close(); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.html new file mode 100755 index 0000000..67f5ab1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.html @@ -0,0 +1,46 @@ + +
              + + +
              + +
              +
              + +
              +
              +

              + {{ 'history.sent' | translate }} {{ 'common.coin-id' | translate }} + {{ transaction.timestamp * 1000 | date:'short' }} +

              +

              + {{ 'history.sending' | translate }} {{ 'common.coin-id' | translate }} + {{ 'history.pending' | translate }} +

              +

              + {{ 'history.received' | translate }} {{ 'common.coin-id' | translate }} + {{ transaction.timestamp * 1000 | date:'short' }} +

              +

              + {{ 'history.receiving' | translate }} {{ 'common.coin-id' | translate }} + {{ 'history.pending' | translate }} +

              +
              + + {{ address }} +
              +
              +
              +

              {{ transaction.balance | number:'1.0-6' }} {{ 'common.coin-id' | translate }}

              +

              + {{ transaction.balance * price | currency:'USD':'symbol':'1.2-2' }}* +

              +
              +
              +
              +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.scss new file mode 100755 index 0000000..e00d378 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.scss @@ -0,0 +1,125 @@ +@import '../../../../theme/variables'; + +.-paper { + background-color: #fbfbfb; + border-radius: 10px; + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.01), 1px 1px 2px 2px rgba(0, 0, 0, 0.01); + margin: 30px; +} + +.-transaction { + background-color: $white; + border-bottom: 1px solid #eff0f0; + cursor: pointer; + display: flex; + padding: 20px 12px; + + &:first-child { + border-top-left-radius: 15px; + border-top-right-radius: 15px; + } + + &:last-child { + border-bottom-left-radius: 15px; + border-bottom-right-radius: 15px; + } + + > div { + padding: 0 8px; + } + + .-icon { + margin-top: 5px; + + img { + width: 32px; + } + + &.-incoming { + -moz-transform: scaleX(-1); + -o-transform: scaleX(-1); + -webkit-transform: scaleX(-1); + transform: scaleX(-1); + filter: FlipH; + -ms-filter: "FlipH"; + } + + &.-pending { + opacity: 0.5; + } + } + + .-address { + flex: 1; + + h4 { + color: #1e2227; + font-size: 13px; + font-weight: 700; + line-height: 15px; + margin: 0 0 8px 0; + + span { + font-size: 10px; + line-height: 12px; + padding-left: 5px; + font-weight: 300; + } + + .-pending { + color: #FDB51E; + } + + .-timestamp { + color: $grey; + } + } + + .-item { + &:not(:last-child) { + margin-bottom: 5px; + } + + img { + display: inline-block; + height: 17px; + vertical-align: middle; + width: 17px; + margin-right: 4px; + } + + span { + color: rgba(30, 34, 39, 0.5); + display: inline-block; + font-size: 13px; + line-height: 15px; + margin: 0; + } + } + } + + .-balance { + width: 200px; + text-align: right; + + h4 { + color: #1e2227; + font-size: 13px; + font-weight: 700; + line-height: 15px; + margin: 0 0 8px 0; + } + + p { + color: rgba(30, 34, 39, 0.5); + display: inline-block; + font-size: 13px; + line-height: 15px; + margin: 0; + + span { + color: lighten($grey, 40%); + } + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.spec.ts new file mode 100755 index 0000000..2b4a9a0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TransactionListComponent } from './transaction-list.component'; + +describe('TransactionListComponent', () => { + let component: TransactionListComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ TransactionListComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(TransactionListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.ts new file mode 100755 index 0000000..a5ec02a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/transaction-list/transaction-list.component.ts @@ -0,0 +1,50 @@ +import { Component, OnDestroy, OnInit } from '@angular/core'; +import { WalletService } from '../../../services/wallet.service'; +import { PriceService } from '../../../services/price.service'; +import { ISubscription } from 'rxjs/Subscription'; +import { MatDialog, MatDialogConfig } from '@angular/material/dialog'; +import { TransactionDetailComponent } from './transaction-detail/transaction-detail.component'; +import { NormalTransaction } from '../../../app.datatypes'; +import { QrCodeComponent } from '../../layout/qr-code/qr-code.component'; + +@Component({ + selector: 'app-transaction-list', + templateUrl: './transaction-list.component.html', + styleUrls: ['./transaction-list.component.scss'], +}) +export class TransactionListComponent implements OnInit, OnDestroy { + transactions: NormalTransaction[]; + + private price: number; + private priceSubscription: ISubscription; + + constructor( + private dialog: MatDialog, + private priceService: PriceService, + private walletService: WalletService, + ) { } + + ngOnInit() { + this.priceSubscription = this.priceService.price.subscribe(price => this.price = price); + this.walletService.transactions().first().subscribe(transactions => this.transactions = transactions); + } + + ngOnDestroy() { + this.priceSubscription.unsubscribe(); + } + + showTransaction(transaction: NormalTransaction) { + const config = new MatDialogConfig(); + config.width = '800px'; + config.data = transaction; + this.dialog.open(TransactionDetailComponent, config); + } + + showQrCode(event: any, address: string) { + event.stopPropagation(); + + const config = new MatDialogConfig(); + config.data = { address }; + this.dialog.open(QrCodeComponent, config); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.css b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.css new file mode 100755 index 0000000..6be7dae --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.css @@ -0,0 +1,7 @@ +mat-input-container { + width: 100%; +} + +.-buttons { + text-align: center; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.html new file mode 100755 index 0000000..9953cce --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.html @@ -0,0 +1,16 @@ + +
              +
              + + +
              +
              +
              + + {{ 'wallet.rename.cancel-button' | translate }} + + + {{ 'wallet.rename.rename-button' | translate }} + +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.spec.ts new file mode 100755 index 0000000..fae378f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ChangeNameComponent } from './change-name.component'; + +describe('ChangeNameComponent', () => { + let component: ChangeNameComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ChangeNameComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ChangeNameComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.ts new file mode 100755 index 0000000..a13ff12 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/change-name/change-name.component.ts @@ -0,0 +1,44 @@ +import { Component, OnInit, Inject, ViewChild } from '@angular/core'; +import { WalletService } from '../../../../services/wallet.service'; +import { FormBuilder, Validators, FormGroup } from '@angular/forms'; +import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { Wallet } from '../../../../app.datatypes'; +import { ButtonComponent } from '../../../layout/button/button.component'; + +@Component({ + selector: 'app-change-name', + templateUrl: './change-name.component.html', + styleUrls: ['./change-name.component.css'], +}) +export class ChangeNameComponent implements OnInit { + @ViewChild('button') button: ButtonComponent; + form: FormGroup; + + constructor( + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) private data: Wallet, + private formBuilder: FormBuilder, + private walletService: WalletService, + ) {} + + ngOnInit() { + this.form = this.formBuilder.group({ + label: [this.data.label, Validators.required], + }); + } + + closePopup() { + this.dialogRef.close(); + } + + rename() { + if (!this.form.valid || this.button.isLoading()) { + return; + } + + this.button.setLoading(); + + this.walletService.renameWallet(this.data, this.form.value.label) + .subscribe(() => this.dialogRef.close(this.form.value.label)); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.html new file mode 100755 index 0000000..b195bc4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.html @@ -0,0 +1,58 @@ + +
              +
              + + +
              +
              + + +

              {{ 'wallet.new.seed-warning' | translate }}

              +
              +
              + + +
              +
              + + {{ 'wallet.new.encrypt' | translate }} + +
              +
              +
              +

              {{ 'wallet.new.encrypt-warning' | translate }}

              +
              +
              +
              + + +
              +
              +
              +
              + + +
              +
              +
              +
              +
              + + {{ 'wallet.new.cancel-button' | translate }} + + + {{ 'wallet.new.' + (data.create ? 'create' : 'load') + '-button' | translate }} + +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.scss new file mode 100755 index 0000000..550e5d9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.scss @@ -0,0 +1,100 @@ +@import '../../../../../theme/variables'; + +.-buttons { + text-align: center; +} + +label[for=seed] { + display: flex; + + > span:last-child { + flex: 1; + } + + .generators { + text-align: right; + + span { + cursor: pointer; + color: $gradient-blue-dark-transparent; + } + + mat-icon { + width: 13px; + height: 10px; + font-size: 13px; + position: relative; + top: 2px; + } + + .divider { + padding: 0 5px; + color: $grey-dark; + } + } +} + +.-disabled { + display: none; +} + +.-warning { + color: $red; + font-size: 12px; + padding: 0 10px; + line-height: 1.5; +} + +.-passwords { + margin-left: 24px; + + .-info { + margin: 5px 0 15px; + color: $grey; + font-size: 12px; + line-height: 1.5; + } + + .-hidden { + visibility: hidden; + } +} + +.-check ::ng-deep { + .mat-checkbox-checkmark-path { + position: absolute; + width: 18px; + height: 8px; + left: 4.59px; + top: 9px; + stroke: $gradient-blue-dark !important; + } + + .mat-checkbox-background, .mat-checkbox-frame { + top: 0; + left: 0; + right: 0; + bottom: 0; + position: absolute; + box-sizing: border-box; + pointer-events: none; + width: 20px; + height: 20px; + background: rgba(30, 34, 39, 0.05); + border-radius: 6px; + border-color: transparent; + } + span { + font-family: Skycoin; + line-height: normal; + font-size: 14px; + + color: $grey-dark; + + img { + width: 38px; + height: 38px; + vertical-align: middle; + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.spec.ts new file mode 100755 index 0000000..4ccb5db --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CreateWalletComponent } from './create-wallet.component'; + +describe('CreateWalletComponent', () => { + let component: CreateWalletComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ CreateWalletComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CreateWalletComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.ts new file mode 100755 index 0000000..66897c6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/create-wallet/create-wallet.component.ts @@ -0,0 +1,104 @@ +import { Component, Inject, OnInit, ViewChild } from '@angular/core'; +import { FormControl, FormGroup, Validators } from '@angular/forms'; +import { WalletService } from '../../../../services/wallet.service'; +import { MatDialogRef } from '@angular/material/dialog'; +import { ButtonComponent } from '../../../layout/button/button.component'; +import { MAT_DIALOG_DATA } from '@angular/material'; +import { ApiService } from '../../../../services/api.service'; + +@Component({ + selector: 'app-create-wallet', + templateUrl: './create-wallet.component.html', + styleUrls: ['./create-wallet.component.scss'], +}) +export class CreateWalletComponent implements OnInit { + @ViewChild('createButton') createButton: ButtonComponent; + @ViewChild('cancelButton') cancelButton: ButtonComponent; + form: FormGroup; + seed: string; + scan: Number; + encrypt = true; + disableDismiss = false; + + constructor( + @Inject(MAT_DIALOG_DATA) public data, + public dialogRef: MatDialogRef, + private walletService: WalletService, + private apiService: ApiService, + ) {} + + ngOnInit() { + this.initForm(); + } + + closePopup() { + this.dialogRef.close(); + } + + createWallet() { + if (!this.form.valid || this.createButton.isLoading()) { + return; + } + + this.createButton.resetState(); + this.createButton.setLoading(); + this.cancelButton.setDisabled(); + this.disableDismiss = true; + + const password = this.encrypt ? this.form.value.password : null; + this.walletService.create(this.form.value.label, this.form.value.seed, this.scan, password) + .subscribe(() => this.dialogRef.close(), e => { + this.createButton.setError(e); + this.cancelButton.disabled = false; + this.disableDismiss = false; + }); + } + + generateSeed(entropy: number) { + this.apiService.generateSeed(entropy).subscribe(seed => this.form.get('seed').setValue(seed)); + } + + setEncrypt(event) { + this.encrypt = event.checked; + this.form.updateValueAndValidity(); + } + + private initForm() { + this.form = new FormGroup({}, [this.validatePasswords.bind(this), this.validateSeeds.bind(this)]); + this.form.addControl('label', new FormControl('', [Validators.required])); + this.form.addControl('seed', new FormControl('', [Validators.required])); + this.form.addControl('confirm_seed', new FormControl()); + this.form.addControl('password', new FormControl()); + this.form.addControl('confirm_password', new FormControl()); + + if (this.data.create) { + this.generateSeed(128); + } + + this.scan = 100; + } + + private validateSeeds() { + if (this.data.create && this.form && this.form.get('seed') && this.form.get('confirm_seed')) { + if (this.form.get('seed').value !== this.form.get('confirm_seed').value) { + return { NotEqual: true }; + } + } + + return null; + } + + private validatePasswords() { + if (this.encrypt && this.form && this.form.get('password') && this.form.get('confirm_password')) { + if (this.form.get('password').value) { + if (this.form.get('password').value !== this.form.get('confirm_password').value) { + return { NotEqual: true }; + } + } else { + return { Required: true }; + } + } + + return null; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.html new file mode 100755 index 0000000..b7b608d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.html @@ -0,0 +1,47 @@ +
              +
              + {{ 'wallet.new-address' | translate }} +
              +
              + + {{ 'wallet.' + (wallet.hideEmpty ? 'show' : 'hide') + '-empty' | translate }} + +
              +
              +
              + + {{ 'wallet.' + (wallet.encrypted ? 'decrypt' : 'encrypt') | translate }} + +
              +
              + {{ 'wallet.edit' | translate }} +
              +
              + + +
              +
              {{ i + 1 }}
              +
              + + + {{ address.address }} + + {{ 'wallet.address.copy' | translate }} + + +
              +
              {{ (address.coins ? address.coins : 0) | number:'1.0-6' }}
              +
              {{ (address.hours ? address.hours : 0) | number:'1.0-6' }}
              +
              + more_vert + + + + +
              +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.scss new file mode 100755 index 0000000..5700043 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.scss @@ -0,0 +1,171 @@ +@import '../../../../../theme/variables'; + +.-row.-detail { + background-color: darken($white, 2%); +} + +.-grey { + color: $grey; +} + +.-address { + padding-left: 0 !important; + + img { + width: 17px; + vertical-align: middle; + margin-right: 10px; + } + + > span { + display: inline-block; + line-height: $row-height; + cursor: pointer; + + &:hover .copy-label { + opacity: 1; + } + } +} + +.-text-right { + text-align: right; +} + +.-options { + text-align: center; + + mat-icon { + color: lighten($grey, 30%); + cursor: pointer; + vertical-align: middle; + + &:hover { + color: $blue; + } + } +} + +.-actions { + background-color: #fefefe; + border-bottom: 1px solid #eff0f0; + display: flex; + width: 100%; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03) !important; + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; + z-index: 100; + position: relative; + + .-button { + padding-right: 20px; + + &:first-child { + padding-left: 5px; + } + + span { + color: #CECFD0; + font-size: 12px; + height: 60px; + margin: 0 5px; + cursor: pointer; + display: flex; + align-items: center; + + &.-img::before { + content: ''; + display: inline-block; + height: 32px; + width: 32px; + margin-right: 5px; + background-repeat: no-repeat; + background-size: 32px 32px; + } + + &.-new-address::before { + background-image: url(../../../../../assets/img/plus-grey.png); + } + + &.-hide-empty::before { + background-image: url(../../../../../assets/img/minus-grey.png); + } + + &.-show-empty::before { + background-image: url(../../../../../assets/img/plus-grey.png); + } + + &.-enable-encryption::before { + background-image: url(../../../../../assets/img/lock-grey.png); + } + + &.-disable-encryption::before { + background-image: url(../../../../../assets/img/unlock-grey.png); + } + + &.-edit-wallet::before { + background-image: url(../../../../../assets/img/edit-grey.png); + } + + &:hover { + color: $grey; + + &.-new-address::before { + background-image: url(../../../../../assets/img/plus-green.png); + } + + &.-hide-empty::before { + background-image: url(../../../../../assets/img/minus-red.png); + } + + &.-show-empty::before { + background-image: url(../../../../../assets/img/plus-green.png); + } + + &.-enable-encryption::before { + background-image: url(../../../../../assets/img/lock-gold.png); + } + + &.-disable-encryption::before { + background-image: url(../../../../../assets/img/unlock-gold.png); + } + + &.-edit-wallet::before { + background-image: url(../../../../../assets/img/edit-blue.png); + } + } + } + } +} + +@keyframes floatup { + 50% { + opacity: 1; + } + + 100% { + transform: translateY(-20px); + opacity: 0; + } +} + +.copy-label { + color: $blue; + opacity: 0; + font-size: 12px; + position: relative; + padding-left: 10px; + + &::after { + content: attr(data-label); + position: absolute; + top: 0; + left: 4px; + opacity: 0; + line-height: 1; + } +} + +.copying .copy-label::after { + animation: floatup .5s ease-in-out; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.spec.ts new file mode 100755 index 0000000..32c805e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { WalletDetailComponent } from './wallet-detail.component'; + +describe('WalletDetailComponent', () => { + let component: WalletDetailComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ WalletDetailComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(WalletDetailComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.ts new file mode 100755 index 0000000..2864b2a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallet-detail/wallet-detail.component.ts @@ -0,0 +1,119 @@ +import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { Wallet } from '../../../../app.datatypes'; +import { WalletService } from '../../../../services/wallet.service'; +import { MatDialog, MatDialogConfig } from '@angular/material/dialog'; +import { ChangeNameComponent } from '../change-name/change-name.component'; +import { QrCodeComponent } from '../../../layout/qr-code/qr-code.component'; +import { PasswordDialogComponent } from '../../../layout/password-dialog/password-dialog.component'; +import { MatSnackBar } from '@angular/material'; +import { showSnackbarError } from '../../../../utils/errors'; +import { TranslateService } from '@ngx-translate/core'; + +@Component({ + selector: 'app-wallet-detail', + templateUrl: './wallet-detail.component.html', + styleUrls: ['./wallet-detail.component.scss'], +}) +export class WalletDetailComponent implements OnInit, OnDestroy { + @Input() wallet: Wallet; + + private encryptionWarning: string; + + constructor( + private dialog: MatDialog, + private walletService: WalletService, + private snackbar: MatSnackBar, + private translateService: TranslateService, + ) { } + + ngOnInit() { + this.translateService.get('wallet.new.encrypt-warning').subscribe(msg => { + this.encryptionWarning = msg; + }); + } + + ngOnDestroy() { + this.snackbar.dismiss(); + } + + editWallet() { + const config = new MatDialogConfig(); + config.width = '566px'; + config.data = this.wallet; + this.dialog.open(ChangeNameComponent, config); + } + + newAddress() { + this.snackbar.dismiss(); + + if (this.wallet.encrypted) { + this.dialog.open(PasswordDialogComponent).componentInstance.passwordSubmit + .subscribe(passwordDialog => { + this.walletService.addAddress(this.wallet, passwordDialog.password) + .subscribe(() => passwordDialog.close(), () => passwordDialog.error()); + }); + } else { + this.walletService.addAddress(this.wallet).subscribe(null, err => showSnackbarError(this.snackbar, err)); + } + } + + toggleEmpty() { + this.wallet.hideEmpty = !this.wallet.hideEmpty; + } + + toggleEncryption() { + const config = new MatDialogConfig(); + config.data = { + confirm: !this.wallet.encrypted, + title: this.wallet.encrypted ? 'wallet.decrypt' : 'wallet.encrypt', + }; + + if (!this.wallet.encrypted) { + config.data['description'] = this.encryptionWarning; + } + + this.dialog.open(PasswordDialogComponent, config).componentInstance.passwordSubmit + .subscribe(passwordDialog => { + this.walletService.toggleEncryption(this.wallet, passwordDialog.password).subscribe(() => { + passwordDialog.close(); + }, e => passwordDialog.error(e)); + }); + } + + copyAddress(event, address, duration = 500) { + event.stopPropagation(); + + if (address.copying) { + return; + } + + const selBox = document.createElement('textarea'); + + selBox.style.position = 'fixed'; + selBox.style.left = '0'; + selBox.style.top = '0'; + selBox.style.opacity = '0'; + selBox.value = address.address; + + document.body.appendChild(selBox); + selBox.focus(); + selBox.select(); + + document.execCommand('copy'); + document.body.removeChild(selBox); + + address.copying = true; + + setTimeout(function() { + address.copying = false; + }, duration); + } + + showQrCode(event, address: string) { + event.stopPropagation(); + + const config = new MatDialogConfig(); + config.data = { address }; + this.dialog.open(QrCodeComponent, config); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.html new file mode 100755 index 0000000..b25b49e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.html @@ -0,0 +1,47 @@ +
              + + +
              +
              +
              +
              {{ 'wallet.wallet' | translate }}
              +
              +
              {{ 'common.coin-id' | translate }}
              +
              {{ 'common.coin-hours' | translate }}
              +
              +
              +
              + +
              +
              +
              +
              {{ wallet.label }}
              +
              + + +
              +
              {{ (wallet.coins ? wallet.coins : 0) | number:'1.0-6' }}
              +
              {{ (wallet.hours ? wallet.hours : 0) | number:'1.0-6' }}
              +
              + +
              +
              + +
              +
              + +
              + + +
              +
              +
              diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.scss new file mode 100755 index 0000000..46277f4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.scss @@ -0,0 +1,65 @@ +@import '../../../../theme/variables'; + +.-table { + margin-bottom: 10px; + + &:first-child { + margin-bottom: 0; + } + + .-row { + border-color: #f6f6f6; + } +} + +.-pointer { + cursor: pointer; +} + +.-text-right { + text-align: right; +} + +.-grey { + color: $grey; +} + +.-expand img { + width: 30px; + vertical-align: middle; +} + +.-encryption img { + border-radius: 50%; + background-color: #f7f7f7; + width: 30px; + vertical-align: middle; +} + +.-label { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} + +.action-buttons { + margin-bottom: 74px; + padding: 40px 0 40px; + text-align: center; + + button { + background-color: $grey-lightest; + border: none; + box-shadow: none; + color: $grey; + font-size: 13px; + margin: 0 5px; + min-width: 140px; + + img { + height: 28px; + margin-left: -4px; + width: 28px; + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.spec.ts new file mode 100755 index 0000000..07abc90 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { WalletsComponent } from './wallets.component'; + +describe('WalletsComponent', () => { + let component: WalletsComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ WalletsComponent ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(WalletsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.ts new file mode 100755 index 0000000..544a68e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/components/pages/wallets/wallets.component.ts @@ -0,0 +1,28 @@ +import { Component } from '@angular/core'; +import { WalletService } from '../../../services/wallet.service'; +import { MatDialog, MatDialogConfig } from '@angular/material/dialog'; +import { CreateWalletComponent } from './create-wallet/create-wallet.component'; +import { Wallet } from '../../../app.datatypes'; + +@Component({ + selector: 'app-wallets', + templateUrl: './wallets.component.html', + styleUrls: ['./wallets.component.scss'], +}) +export class WalletsComponent { + constructor( + public walletService: WalletService, + private dialog: MatDialog, + ) {} + + addWallet(create) { + const config = new MatDialogConfig(); + config.width = '566px'; + config.data = { create }; + this.dialog.open(CreateWalletComponent, config); + } + + toggleWallet(wallet: Wallet) { + wallet.opened = !wallet.opened; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/directives/dontsavepassword.directive.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/directives/dontsavepassword.directive.spec.ts new file mode 100755 index 0000000..e79cd8a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/directives/dontsavepassword.directive.spec.ts @@ -0,0 +1,8 @@ +import { DontsavepasswordDirective } from './dontsavepassword.directive'; + +describe('DontsavepasswordDirective', () => { + it('should create an instance', () => { + const directive = new DontsavepasswordDirective(null); + expect(directive).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/directives/dontsavepassword.directive.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/directives/dontsavepassword.directive.ts new file mode 100755 index 0000000..3fc5880 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/directives/dontsavepassword.directive.ts @@ -0,0 +1,17 @@ +import { Directive, ElementRef, HostListener } from '@angular/core'; + +@Directive({ + selector: '[appDontSavePassword]', +}) +export class DontsavepasswordDirective { + constructor( + private el: ElementRef, + ) { + el.nativeElement.autocomplete = 'new-password'; + el.nativeElement.readOnly = true; + } + + @HostListener('focus') onFocus() { + this.el.nativeElement.readOnly = false; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-from-now.pipe.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-from-now.pipe.spec.ts new file mode 100755 index 0000000..8ecf995 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-from-now.pipe.spec.ts @@ -0,0 +1,8 @@ +import { DateFromNowPipe } from './date-from-now.pipe'; + +describe('DateFromNowPipe', () => { + it('create an instance', () => { + const pipe = new DateFromNowPipe(); + expect(pipe).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-from-now.pipe.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-from-now.pipe.ts new file mode 100755 index 0000000..40b93a7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-from-now.pipe.ts @@ -0,0 +1,11 @@ +import { Pipe, PipeTransform } from '@angular/core'; +import * as moment from 'moment'; + +@Pipe({ + name: 'dateFromNow', +}) +export class DateFromNowPipe implements PipeTransform { + transform(value: any) { + return moment.unix(value).fromNow(); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-time.pipe.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-time.pipe.spec.ts new file mode 100755 index 0000000..f43d9e8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-time.pipe.spec.ts @@ -0,0 +1,8 @@ +import { DateTimePipe } from './date-time.pipe'; + +describe('DateTimePipe', () => { + it('create an instance', () => { + const pipe = new DateTimePipe(); + expect(pipe).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-time.pipe.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-time.pipe.ts new file mode 100755 index 0000000..2c2b355 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/date-time.pipe.ts @@ -0,0 +1,11 @@ +import { Pipe, PipeTransform } from '@angular/core'; +import * as moment from 'moment'; + +@Pipe({ + name: 'dateTime', +}) +export class DateTimePipe implements PipeTransform { + transform(value: any) { + return moment.unix(value).format('YYYY-MM-DD HH:mm'); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/teller-status.pipe.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/teller-status.pipe.spec.ts new file mode 100755 index 0000000..081e158 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/teller-status.pipe.spec.ts @@ -0,0 +1,8 @@ +import { TellerStatusPipe } from './teller-status.pipe'; + +describe('TellerStatusPipe', () => { + it('create an instance', () => { + const pipe = new TellerStatusPipe(); + expect(pipe).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/teller-status.pipe.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/teller-status.pipe.ts new file mode 100755 index 0000000..27bcfdb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/pipes/teller-status.pipe.ts @@ -0,0 +1,14 @@ +import { Pipe, PipeTransform } from '@angular/core'; + +@Pipe({ + name: 'tellerStatus', +}) +export class TellerStatusPipe implements PipeTransform { + private statuses = ['done', 'waiting_confirm', 'waiting_deposit', 'waiting_send']; + + transform(value: any): any { + return this.statuses.find(status => status === value) + ? 'teller.' + value.replace('_', '-') + : 'teller.unknown'; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/api.service.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/api.service.spec.ts new file mode 100755 index 0000000..9d17c0f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/api.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { ApiService } from './api.service'; + +describe('ApiService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [ApiService], + }); + }); + + it('should be created', inject([ApiService], (service: ApiService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/api.service.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/api.service.ts new file mode 100755 index 0000000..4e833fc --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/api.service.ts @@ -0,0 +1,159 @@ +import { Injectable } from '@angular/core'; +import { Http, RequestOptions, Headers } from '@angular/http'; +import { Observable } from 'rxjs/Observable'; +import { environment } from '../../environments/environment'; +import 'rxjs/add/observable/throw'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/map'; +import { + Address, GetWalletsResponseEntry, GetWalletsResponseWallet, NormalTransaction, + PostWalletNewAddressResponse, Version, Wallet, +} from '../app.datatypes'; + +@Injectable() +export class ApiService { + private url = environment.nodeUrl; + + constructor( + private http: Http, + ) { } + + getExplorerAddress(address: Address): Observable { + return this.get('explorer/address', {address: address.address}) + .map(transactions => transactions.map(transaction => ({ + addresses: [], + balance: 0, + block: transaction.status.block_seq, + confirmed: transaction.status.confirmed, + timestamp: transaction.timestamp, + txid: transaction.txid, + inputs: transaction.inputs, + outputs: transaction.outputs, + }))); + } + + getVersion(): Observable { + return this.get('version'); + } + + generateSeed(entropy: number = 128): Observable { + return this.get('wallet/newSeed', { entropy }).map(response => response.seed); + } + + getWallets(): Observable { + return this.get('wallets') + .map((response: GetWalletsResponseWallet[]) => { + const wallets: Wallet[] = []; + response.forEach(wallet => { + wallets.push( { + label: wallet.meta.label, + filename: wallet.meta.filename, + coins: null, + hours: null, + addresses: wallet.entries.map((entry: GetWalletsResponseEntry) => { + return { + address: entry.address, + coins: null, + hours: null, + }; + }), + encrypted: wallet.meta.encrypted, + }); + }); + + return wallets; + }); + } + + getWalletSeed(wallet: Wallet, password: string): Observable { + return this.post('wallet/seed', { id: wallet.filename, password }) + .map(response => response.seed); + } + + postWalletCreate(label: string, seed: string, scan: number, password: string): Observable { + const params = { label, seed, scan }; + + if (password) { + params['password'] = password; + params['encrypt'] = true; + } + + return this.post('wallet/create', params) + .map(response => ({ + label: response.meta.label, + filename: response.meta.filename, + coins: null, + hours: null, + addresses: response.entries.map(entry => ({ address: entry.address, coins: null, hours: null })), + encrypted: response.meta.encrypted, + })); + } + + postWalletNewAddress(wallet: Wallet, password?: string): Observable
              { + return this.post('wallet/newAddress', { id: wallet.filename, password }) + .map((response: PostWalletNewAddressResponse) => ({ address: response.addresses[0], coins: null, hours: null })); + } + + postWalletToggleEncryption(wallet: Wallet, password: string) { + return this.post('wallet/' + (wallet.encrypted ? 'decrypt' : 'encrypt'), { id: wallet.filename, password }); + } + + get(url, params = null, options = {}) { + return this.http.get(this.getUrl(url, params), this.returnRequestOptions(options)) + .map((res: any) => res.json()) + .catch((error: any) => Observable.throw(error || 'Server error')); + } + + getCsrf() { + return this.get('csrf').map(response => response.csrf_token); + } + + post(url, params = {}, options: any = {}) { + return this.getCsrf().first().flatMap(csrf => { + options.csrf = csrf; + + return this.http.post( + this.getUrl(url), + options.json ? JSON.stringify(params) : this.getQueryString(params), + this.returnRequestOptions(options), + ) + .map((res: any) => res.json()) + .catch((error: any) => Observable.throw(error || 'Server error')); + }); + } + + returnRequestOptions(additionalOptions) { + const options = new RequestOptions(); + + options.headers = this.getHeaders(additionalOptions); + + if (additionalOptions.csrf) { + options.headers.append('X-CSRF-Token', additionalOptions.csrf); + } + + return options; + } + + private getHeaders(options) { + const headers = new Headers(); + headers.append('Content-Type', options.json ? 'application/json' : 'application/x-www-form-urlencoded'); + + return headers; + } + + private getQueryString(parameters = null) { + if (!parameters) { + return ''; + } + + return Object.keys(parameters).reduce((array, key) => { + array.push(key + '=' + encodeURIComponent(parameters[key])); + + return array; + }, []).join('&'); + } + + private getUrl(url, options = null) { + return this.url + url + '?' + this.getQueryString(options); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/app.service.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/app.service.spec.ts new file mode 100755 index 0000000..dad1f42 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/app.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { AppService } from './app.service'; + +describe('AppService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [AppService], + }); + }); + + it('should be created', inject([AppService], (service: AppService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/app.service.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/app.service.ts new file mode 100755 index 0000000..d97a667 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/app.service.ts @@ -0,0 +1,53 @@ +import { Injectable, NgZone } from '@angular/core'; +import { ApiService } from './api.service'; +import { Observable } from 'rxjs/Observable'; +import { IntervalObservable } from 'rxjs/observable/IntervalObservable'; +import { Connection, Version } from '../app.datatypes'; + +@Injectable() +export class AppService { + error: number; + version: Version; + + constructor( + private apiService: ApiService, + private ngZone: NgZone, + ) { + this.monitorConnections(); + } + + testBackend() { + this.apiService.getVersion().first().subscribe( + version => { + this.version = version; + this.apiService.getCsrf().subscribe(null, () => this.error = 3); + }, () => this.error = 2, + ); + } + + private monitorConnections() { + this.retrieveConnections().subscribe(connections => this.setConnectionError(connections)); + + this.ngZone.runOutsideAngular(() => { + IntervalObservable + .create(1500) + .flatMap(() => this.retrieveConnections()) + .subscribe(connections => this.ngZone.run(() => { + this.setConnectionError(connections); + })); + }); + } + + private retrieveConnections(): Observable { + return this.apiService.get('network/connections'); + } + + private setConnectionError(response: any) { + if (response.connections === null || response.connections.length === 0) { + this.error = 1; + } + if (response.connections !== null && response.connections.length > 0 && this.error === 1) { + this.error = null; + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/blockchain.service.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/blockchain.service.spec.ts new file mode 100755 index 0000000..12065ef --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/blockchain.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { BlockchainService } from './blockchain.service'; + +describe('BlockchainService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [BlockchainService], + }); + }); + + it('should be created', inject([BlockchainService], (service: BlockchainService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/blockchain.service.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/blockchain.service.ts new file mode 100755 index 0000000..64a239a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/blockchain.service.ts @@ -0,0 +1,88 @@ +import { Injectable, NgZone } from '@angular/core'; +import { ApiService } from './api.service'; +import { Observable } from 'rxjs/Observable'; +import { Subject } from 'rxjs/Subject'; +import { BehaviorSubject } from 'rxjs/BehaviorSubject'; +import { WalletService } from './wallet.service'; +import 'rxjs/add/observable/timer'; + +@Injectable() +export class BlockchainService { + private progressSubject: Subject = new BehaviorSubject(null); + private refreshedBalance = false; + + get progress() { + return this.progressSubject.asObservable(); + } + + constructor( + private apiService: ApiService, + private walletService: WalletService, + private ngZone: NgZone, + ) { + this.ngZone.runOutsideAngular(() => { + Observable.timer(0, 2000) + .flatMap(() => this.getBlockchainProgress()) + .takeWhile((response: any) => !response.current || response.current !== response.highest) + .subscribe( + response => this.ngZone.run(() => { + this.progressSubject.next(response); + + if (!this.refreshedBalance) { + this.walletService.refreshBalances(); + this.refreshedBalance = true; + } + }), + error => console.log(error), + () => this.ngZone.run(() => this.completeLoading()), + ); + }); + } + + block(id): Observable { + return this.apiService.get('blocks', { start: id, end: id }).map(response => response.blocks[0]).flatMap(block => { + return Observable.forkJoin(block.body.txns.map(transaction => { + if (transaction.inputs && !transaction.inputs.length) { + return Observable.of(transaction); + } + + return Observable.forkJoin(transaction.inputs.map(input => this.retrieveInputAddress(input).map(response => { + return response.owner_address; + }))).map(inputs => { + transaction.inputs = inputs; + + return transaction; + }); + })).map(transactions => { + block.body.txns = transactions; + + return block; + }); + }); + } + + blocks(num: number = 5100) { + return this.apiService.get('last_blocks', { num: num }).map(response => response.blocks.reverse()); + } + + lastBlock() { + return this.blocks(1).map(blocks => blocks[0]); + } + + getBlockchainProgress() { + return this.apiService.get('blockchain/progress'); + } + + coinSupply() { + return this.apiService.get('coinSupply'); + } + + private completeLoading() { + this.progressSubject.next({ current: 999999999999, highest: 999999999999 }); + this.walletService.refreshBalances(); + } + + private retrieveInputAddress(input: string) { + return this.apiService.get('uxout', {uxid: input}); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/nav-bar.service.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/nav-bar.service.spec.ts new file mode 100755 index 0000000..f7c5861 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/nav-bar.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { NavBarService } from './nav-bar.service'; + +describe('NavBarService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [NavBarService], + }); + }); + + it('should be created', inject([NavBarService], (service: NavBarService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/nav-bar.service.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/nav-bar.service.ts new file mode 100755 index 0000000..2f17fe9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/nav-bar.service.ts @@ -0,0 +1,24 @@ +import { Injectable } from '@angular/core'; +import { BehaviorSubject } from 'rxjs/BehaviorSubject'; + +@Injectable() +export class NavBarService { + switchVisible = false; + activeComponent = new BehaviorSubject(1); + leftText: string; + rightText: string; + + setActiveComponent(value) { + this.activeComponent.next(value); + } + + showSwitch(leftText, rightText) { + this.switchVisible = true; + this.leftText = leftText; + this.rightText = rightText; + } + + hideSwitch() { + this.switchVisible = false; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/network.service.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/network.service.spec.ts new file mode 100755 index 0000000..dc00e8a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/network.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { NetworkService } from './network.service'; + +describe('NetworkService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [NetworkService], + }); + }); + + it('should be created', inject([NetworkService], (service: NetworkService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/network.service.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/network.service.ts new file mode 100755 index 0000000..0176a31 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/network.service.ts @@ -0,0 +1,45 @@ +import { Injectable } from '@angular/core'; +import { ApiService } from './api.service'; +import { Subject } from 'rxjs/Subject'; +import { BehaviorSubject } from 'rxjs/BehaviorSubject'; +import { Observable } from 'rxjs/Observable'; +import { IntervalObservable } from 'rxjs/observable/IntervalObservable'; +import 'rxjs/add/operator/mergeMap'; +import { Connection } from '../app.datatypes'; + +@Injectable() +export class NetworkService { + private automaticPeers: Subject = new BehaviorSubject([]); + + constructor( + private apiService: ApiService, + ) { + this.loadData(); + } + + automatic(): Observable { + return this.automaticPeers.asObservable(); + } + + retrieveDefaultConnections(): Observable { + return this.apiService.get('network/defaultConnections') + .map(output => output.map((address, index) => ({ + id: index + 1, + address: address, + listen_port: 6000, + }))); + } + + private loadData(): void { + this.retrieveConnections().subscribe(connections => this.automaticPeers.next(connections)); + IntervalObservable + .create(5000) + .flatMap(() => this.retrieveConnections()) + .subscribe(connections => this.automaticPeers.next(connections)); + } + + private retrieveConnections(): Observable { + return this.apiService.get('network/connections') + .map(response => response.connections.sort((a, b) => a.id - b.id)); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/price.service.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/price.service.spec.ts new file mode 100755 index 0000000..8810350 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/price.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { PriceService } from './price.service'; + +describe('PriceService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [PriceService], + }); + }); + + it('should be created', inject([PriceService], (service: PriceService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/price.service.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/price.service.ts new file mode 100755 index 0000000..61e36b4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/price.service.ts @@ -0,0 +1,27 @@ +import { Injectable, NgZone } from '@angular/core'; +import { Http } from '@angular/http'; +import { Subject } from 'rxjs/Subject'; +import { BehaviorSubject } from 'rxjs/BehaviorSubject'; +import { Observable } from 'rxjs/Observable'; + +@Injectable() +export class PriceService { + readonly CMC_TICKER_ID = 1619; + + price: Subject = new BehaviorSubject(null); + + constructor( + private http: Http, + private ngZone: NgZone, + ) { + this.ngZone.runOutsideAngular(() => { + Observable.timer(0, 10 * 60 * 1000).subscribe(() => { + this.http.get(`https://api.coinmarketcap.com/v2/ticker/${this.CMC_TICKER_ID}/`) + .map(response => response.json()) + .subscribe(response => this.ngZone.run(() => { + this.price.next(response.data.quotes.USD.price); + })); + }); + }); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/purchase.service.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/purchase.service.spec.ts new file mode 100755 index 0000000..b69d48a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/purchase.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { PurchaseService } from './purchase.service'; + +describe('PurchaseService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [PurchaseService], + }); + }); + + it('should be created', inject([PurchaseService], (service: PurchaseService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/purchase.service.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/purchase.service.ts new file mode 100755 index 0000000..17420f3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/purchase.service.ts @@ -0,0 +1,71 @@ +import { Injectable } from '@angular/core'; +import { Subject } from 'rxjs/Subject'; +import { BehaviorSubject } from 'rxjs/BehaviorSubject'; +import { PurchaseOrder, TellerConfig, Wallet } from '../app.datatypes'; +import { WalletService } from './wallet.service'; +import { HttpClient } from '@angular/common/http'; +import { environment } from '../../environments/environment'; +import { Observable } from 'rxjs/Observable'; + +@Injectable() +export class PurchaseService { + private configSubject: Subject = new BehaviorSubject(null); + private purchaseOrders: Subject = new BehaviorSubject([]); + private purchaseUrl = environment.tellerUrl; + + constructor( + private httpClient: HttpClient, + private walletService: WalletService, + ) { + this.getConfig(); + } + + all() { + return this.purchaseOrders.asObservable(); + } + + config(): Observable { + return this.configSubject.asObservable(); + } + + getConfig() { + return this.get('config') + .map((response: any) => ({ + enabled: true, + sky_btc_exchange_rate: parseFloat(response.sky_btc_exchange_rate), + })) + .subscribe(response => this.configSubject.next(response)); + } + + generate(wallet: Wallet): Observable { + return this.walletService.addAddress(wallet).flatMap(address => { + return this.post('bind', { skyaddr: address.address, coin_type: 'BTC' }) + .map(response => ({ + coin_type: response.coin_type, + deposit_address: response.deposit_address, + filename: wallet.filename, + recipient_address: address.address, + status: 'waiting_deposit', + })); + }); + } + + scan(address: string) { + return this.get('status?skyaddr=' + address) + .map((response: any) => { + if (!response.statuses || response.statuses.length > 1) { + throw new Error('too many purchase orders found'); + } + + return response.statuses[0]; + }); + } + + private get(url): any { + return this.httpClient.get(this.purchaseUrl + url); + } + + private post(url, parameters = {}): any { + return this.httpClient.post(this.purchaseUrl + url, parameters); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wallet.service.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wallet.service.spec.ts new file mode 100755 index 0000000..d111e25 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wallet.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { WalletService } from './wallet.service'; + +describe('WalletService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [WalletService], + }); + }); + + it('should be created', inject([WalletService], (service: WalletService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wallet.service.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wallet.service.ts new file mode 100755 index 0000000..23c83dd --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wallet.service.ts @@ -0,0 +1,291 @@ +import { Injectable, NgZone } from '@angular/core'; +import { ApiService } from './api.service'; +import { Subject } from 'rxjs/Subject'; +import { Observable } from 'rxjs/Observable'; +import 'rxjs/add/observable/forkJoin'; +import 'rxjs/add/observable/of'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/filter'; +import 'rxjs/add/operator/first'; +import 'rxjs/add/operator/mergeMap'; +import 'rxjs/add/observable/timer'; +import 'rxjs/add/observable/zip'; +import { Address, NormalTransaction, PreviewTransaction, Wallet } from '../app.datatypes'; +import { ReplaySubject } from 'rxjs/ReplaySubject'; +import { Subscription } from 'rxjs/Subscription'; + +@Injectable() +export class WalletService { + addresses: Address[]; + wallets: Subject = new ReplaySubject(); + pendingTxs: Subject = new ReplaySubject(); + dataRefreshSubscription: Subscription; + + constructor( + private apiService: ApiService, + private ngZone: NgZone, + ) { + this.loadData(); + this.startDataRefreshSubscription(); + } + + addressesAsString(): Observable { + return this.allAddresses().map(addrs => addrs.map(addr => addr.address)).map(addrs => addrs.join(',')); + } + + addAddress(wallet: Wallet, password?: string) { + return this.apiService.postWalletNewAddress(wallet, password) + .do(address => { + wallet.addresses.push(address); + this.refreshBalances(); + }); + } + + all(): Observable { + return this.wallets.asObservable(); + } + + allAddresses(): Observable { + return this.all().map(wallets => wallets.reduce((array, wallet) => array.concat(wallet.addresses), [])); + } + + create(label, seed, scan, password) { + seed = seed.replace(/(\n|\r\n)$/, ''); + + return this.apiService.postWalletCreate(label ? label : 'undefined', seed, scan ? scan : 100, password) + .do(wallet => { + console.log(wallet); + this.wallets.first().subscribe(wallets => { + wallets.push(wallet); + this.wallets.next(wallets); + this.refreshBalances(); + }); + }); + } + + folder(): Observable { + return this.apiService.get('wallets/folderName').map(response => response.address); + } + + outputs(): Observable { + return this.addressesAsString() + .first() + .filter(addresses => !!addresses) + .flatMap(addresses => this.apiService.get('outputs', {addrs: addresses})); + } + + outputsWithWallets(): Observable { + return Observable.zip(this.all(), this.outputs(), (wallets, outputs) => { + return wallets.map(wallet => { + wallet.addresses = wallet.addresses.map(address => { + address.outputs = outputs.head_outputs.filter(output => output.address === address.address); + + return address; + }); + + return wallet; + }); + }); + } + + allPendingTransactions(): Observable { + return Observable.timer(0, 10000).flatMap(() => this.apiService.get('pendingTxs')); + } + + pendingTransactions(): Observable { + return this.pendingTxs.asObservable(); + } + + refreshBalances() { + this.wallets.first().subscribe(wallets => { + Observable.forkJoin(wallets.map(wallet => this.retrieveWalletBalance(wallet).map(response => { + wallet.coins = response.coins; + wallet.hours = response.hours; + wallet.addresses = wallet.addresses.map(address => { + return response.addresses.find(addr => addr.address === address.address); + }); + + return wallet; + }))) + .subscribe(newWallets => this.wallets.next(newWallets)); + }); + } + + renameWallet(wallet: Wallet, label: string): Observable { + return this.apiService.post('wallet/update', { id: wallet.filename, label: label }) + .do(() => { + wallet.label = label; + this.updateWallet(wallet); + }); + } + + toggleEncryption(wallet: Wallet, password: string): Observable { + return this.apiService.postWalletToggleEncryption(wallet, password) + .do(w => { + wallet.encrypted = w.meta.encrypted; + this.updateWallet(w); + }); + } + + getWalletSeed(wallet: Wallet, password: string): Observable { + return this.apiService.getWalletSeed(wallet, password); + } + + createTransaction(wallet: Wallet, addresses: string[]|null, destinations: any[], hoursSelection: any, changeAddress: string|null, password: string|null): Observable { + return this.apiService.post( + 'wallet/transaction', + { + hours_selection: hoursSelection, + wallet: { + id: wallet.filename, + password, + addresses, + }, + to: destinations, + change_address: changeAddress, + }, + { + json: true, + }, + ).map(response => { + return { + ...response.transaction, + hoursBurned: response.transaction.fee, + encoded: response.encoded_transaction, + }; + }); + } + + injectTransaction(encodedTx: string) { + return this.apiService.post('injectTransaction', { rawtx: encodedTx }, { json: true }); + } + + transaction(txid: string): Observable { + return this.apiService.get('transaction', {txid: txid}).flatMap(transaction => { + if (transaction.txn.inputs && !transaction.txn.inputs.length) { + return Observable.of(transaction); + } + + return Observable.forkJoin(transaction.txn.inputs.map(input => this.retrieveInputAddress(input).map(response => { + return response.owner_address; + }))).map(inputs => { + transaction.txn.inputs = inputs; + + return transaction; + }); + }); + } + + transactions(): Observable { + return this.allAddresses().first().flatMap(addresses => { + this.addresses = addresses; + + return Observable.forkJoin(addresses.map(address => this.apiService.getExplorerAddress(address))); + }).map(transactions => { + return [] + .concat.apply([], transactions) + .reduce((array, item) => { + if (!array.find(trans => trans.txid === item.txid)) { + array.push(item); + } + + return array; + }, []) + .sort((a, b) => b.timestamp - a.timestamp) + .map(transaction => { + const outgoing = this.addresses.some(address => { + return transaction.inputs.some(input => input.owner === address.address); + }); + + const relevantOutputs = transaction.outputs.reduce((array, output) => { + const isMyOutput = this.addresses.some(address => address.address === output.dst); + + if ((outgoing && !isMyOutput) || (!outgoing && isMyOutput)) { + array.push(output); + } + + return array; + }, []); + + const calculatedOutputs = (outgoing && relevantOutputs.length === 0) + || (!outgoing && relevantOutputs.length === transaction.outputs.length) + ? transaction.outputs + : relevantOutputs; + + transaction.addresses.push( + ...calculatedOutputs + .map(output => output.dst) + .filter((dst, i, self) => self.indexOf(dst) === i), + ); + + transaction.balance += calculatedOutputs.reduce((a, b) => a + parseFloat(b.coins), 0) * (outgoing ? -1 : 1); + + return transaction; + }); + }); + } + + startDataRefreshSubscription() { + if (this.dataRefreshSubscription) { + this.dataRefreshSubscription.unsubscribe(); + } + + this.ngZone.runOutsideAngular(() => { + this.dataRefreshSubscription = Observable.timer(0, 10000) + .subscribe(() => this.ngZone.run(() => { + this.refreshBalances(); + this.refreshPendingTransactions(); + })); + }); + } + + private loadData(): void { + this.apiService.getWallets().first().subscribe(wallets => this.wallets.next(wallets)); + } + + private retrieveInputAddress(input: string) { + return this.apiService.get('uxout', {uxid: input}); + } + + private retrieveWalletBalance(wallet: Wallet): Observable { + return this.apiService.get('wallet/balance', { id: wallet.filename }).map(balance => { + return { + coins: balance.confirmed.coins / 1000000, + hours: balance.confirmed.hours, + addresses: Object.keys(balance.addresses).map(address => ({ + address, + coins: balance.addresses[address].confirmed.coins / 1000000, + hours: balance.addresses[address].confirmed.hours, + })), + }; + }); + } + + private updateWallet(wallet: Wallet) { + this.wallets.first().subscribe(wallets => { + const index = wallets.findIndex(w => w.filename === wallet.filename); + wallets[index] = wallet; + this.wallets.next(wallets); + }); + } + + private refreshPendingTransactions() { + this.wallets.first().subscribe(wallets => { + Observable.forkJoin(wallets.map(wallet => this.apiService.get('wallet/transactions', { id: wallet.filename }))) + .subscribe(pending => { + this.pendingTxs.next([].concat.apply( + [], + pending + .filter(response => response.transactions.length > 0) + .map(response => response.transactions), + ).reduce((txs, tx) => { + if (!txs.find(t => t.transaction.txid === tx.transaction.txid)) { + txs.push(tx); + } + + return txs; + }, [])); + }); + }); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wizard-guard.service.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wizard-guard.service.spec.ts new file mode 100755 index 0000000..ce4788b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wizard-guard.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { WizardGuardService } from './wizard-guard.service'; + +describe('WizardGuardService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [WizardGuardService], + }); + }); + + it('should be created', inject([WizardGuardService], (service: WizardGuardService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wizard-guard.service.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wizard-guard.service.ts new file mode 100755 index 0000000..dafdcb6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/services/wizard-guard.service.ts @@ -0,0 +1,25 @@ +import { Injectable } from '@angular/core'; +import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router'; +import { WalletService } from './wallet.service'; + +@Injectable() +export class WizardGuardService implements CanActivate { + constructor( + private walletService: WalletService, + private router: Router, + ) { } + + canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise { + return new Promise(resolve => { + this.walletService.all().first().subscribe(wallets => { + if (wallets.length === 0) { + this.router.navigate(['/wizard']); + + return resolve(false); + } + + return resolve(true); + }); + }); + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/errors.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/errors.spec.ts new file mode 100755 index 0000000..ec0f214 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/errors.spec.ts @@ -0,0 +1,16 @@ +import { parseResponseMessage } from './errors'; + +fdescribe('errors', () => { + const message1 = '400 Bad Request - error description'; + const message2 = '403 Forbidden - error description'; + const message3 = '500 Internal Server Error - error description'; + + it('parses message from 400 and 403 responses', () => { + expect(parseResponseMessage(message1)).toEqual('Error description'); + expect(parseResponseMessage(message2)).toEqual('Error description'); + }); + + it('does not parse message from other responses', () => { + expect(parseResponseMessage(message3)).toEqual(message3); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/errors.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/errors.ts new file mode 100755 index 0000000..a489a57 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/errors.ts @@ -0,0 +1,24 @@ +import { MatSnackBar, MatSnackBarConfig } from '@angular/material'; + +export function parseResponseMessage(body: string): string { + if (typeof body === 'object') { + body = body['_body']; + } + + if (body.startsWith('400') || body.startsWith('403')) { + const parts = body.split(' - ', 2); + + return parts.length === 2 + ? parts[1].charAt(0).toUpperCase() + parts[1].slice(1) + : body; + } + + return body; +} + +export function showSnackbarError(snackbar: MatSnackBar, body: string, duration = 300000) { + const config = new MatSnackBarConfig(); + config.duration = duration; + + snackbar.open(parseResponseMessage(body), null, config); +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/semver.spec.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/semver.spec.ts new file mode 100755 index 0000000..df9974e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/semver.spec.ts @@ -0,0 +1,17 @@ +import { shouldUpgradeVersion } from './semver'; + +fdescribe('semver', () => { + it('correctly compares versions', () => { + expect(shouldUpgradeVersion('0.23.0', '0.22.0')).toBeFalsy(); + expect(shouldUpgradeVersion('0.23.0', '0.23.0')).toBeFalsy(); + expect(shouldUpgradeVersion('0.23.0', '0.23.1')).toBeTruthy(); + expect(shouldUpgradeVersion('0.23.1', '0.24.0')).toBeTruthy(); + expect(shouldUpgradeVersion('0.24.0', '1.0.0')).toBeTruthy(); + }); + + it('correctly handles rc versions', () => { + expect(shouldUpgradeVersion('0.23.1-rc.1', '0.23.0')).toBeFalsy(); + expect(shouldUpgradeVersion('0.23.1-rc.1', '0.23.1')).toBeTruthy(); + expect(shouldUpgradeVersion('0.23.1-rc.1', '0.23.2')).toBeTruthy(); + }); +}); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/semver.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/semver.ts new file mode 100755 index 0000000..4c13ea1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/app/utils/semver.ts @@ -0,0 +1,28 @@ +/** + * Compares two SemVer versions, returns true if 'from' is smaller than 'to'. + * Special cases with 'rc' suffix are described in spec file. + * + * @returns {boolean} + * @param from + * @param to + */ +export function shouldUpgradeVersion(from: string, to: string): boolean { + const toParts = to.split('.'); + const fromSplit = from.split('-'); + const fromParts = fromSplit[0].split('.'); + + for (let i = 0; i < 3; i++) { + const toNumber = Number(toParts[i]); + const fromNumber = Number(fromParts[i]); + + if (toNumber > fromNumber) { + return true; + } + + if (toNumber < fromNumber) { + return false; + } + } + + return fromSplit.length === 2 && fromSplit[1].indexOf('rc') !== -1; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/.gitkeep b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/.gitkeep new file mode 100755 index 0000000..e69de29 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.eot b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.eot new file mode 100755 index 0000000000000000000000000000000000000000..70508ebabc9992e64f1314f866b2d7ab90438c58 GIT binary patch literal 143258 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 Hzx)3OGG_Ot literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.ijmap b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.ijmap new file mode 100755 index 0000000..d9f1d25 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.ijmap @@ -0,0 +1 @@ +{"icons":{"e84d":{"name":"3d Rotation"},"eb3b":{"name":"Ac Unit"},"e190":{"name":"Access Alarm"},"e191":{"name":"Access Alarms"},"e192":{"name":"Access Time"},"e84e":{"name":"Accessibility"},"e914":{"name":"Accessible"},"e84f":{"name":"Account Balance"},"e850":{"name":"Account Balance Wallet"},"e851":{"name":"Account Box"},"e853":{"name":"Account Circle"},"e60e":{"name":"Adb"},"e145":{"name":"Add"},"e439":{"name":"Add A Photo"},"e193":{"name":"Add Alarm"},"e003":{"name":"Add Alert"},"e146":{"name":"Add Box"},"e147":{"name":"Add Circle"},"e148":{"name":"Add Circle Outline"},"e567":{"name":"Add Location"},"e854":{"name":"Add Shopping Cart"},"e39d":{"name":"Add To Photos"},"e05c":{"name":"Add To Queue"},"e39e":{"name":"Adjust"},"e630":{"name":"Airline Seat Flat"},"e631":{"name":"Airline Seat Flat Angled"},"e632":{"name":"Airline Seat Individual Suite"},"e633":{"name":"Airline Seat Legroom Extra"},"e634":{"name":"Airline Seat Legroom Normal"},"e635":{"name":"Airline Seat Legroom Reduced"},"e636":{"name":"Airline Seat Recline Extra"},"e637":{"name":"Airline Seat Recline Normal"},"e195":{"name":"Airplanemode Active"},"e194":{"name":"Airplanemode Inactive"},"e055":{"name":"Airplay"},"eb3c":{"name":"Airport Shuttle"},"e855":{"name":"Alarm"},"e856":{"name":"Alarm Add"},"e857":{"name":"Alarm Off"},"e858":{"name":"Alarm On"},"e019":{"name":"Album"},"eb3d":{"name":"All Inclusive"},"e90b":{"name":"All Out"},"e859":{"name":"Android"},"e85a":{"name":"Announcement"},"e5c3":{"name":"Apps"},"e149":{"name":"Archive"},"e5c4":{"name":"Arrow Back"},"e5db":{"name":"Arrow Downward"},"e5c5":{"name":"Arrow Drop Down"},"e5c6":{"name":"Arrow Drop Down Circle"},"e5c7":{"name":"Arrow Drop Up"},"e5c8":{"name":"Arrow Forward"},"e5d8":{"name":"Arrow Upward"},"e060":{"name":"Art Track"},"e85b":{"name":"Aspect Ratio"},"e85c":{"name":"Assessment"},"e85d":{"name":"Assignment"},"e85e":{"name":"Assignment Ind"},"e85f":{"name":"Assignment Late"},"e860":{"name":"Assignment Return"},"e861":{"name":"Assignment Returned"},"e862":{"name":"Assignment Turned In"},"e39f":{"name":"Assistant"},"e3a0":{"name":"Assistant Photo"},"e226":{"name":"Attach File"},"e227":{"name":"Attach Money"},"e2bc":{"name":"Attachment"},"e3a1":{"name":"Audiotrack"},"e863":{"name":"Autorenew"},"e01b":{"name":"Av Timer"},"e14a":{"name":"Backspace"},"e864":{"name":"Backup"},"e19c":{"name":"Battery Alert"},"e1a3":{"name":"Battery Charging Full"},"e1a4":{"name":"Battery Full"},"e1a5":{"name":"Battery Std"},"e1a6":{"name":"Battery Unknown"},"eb3e":{"name":"Beach Access"},"e52d":{"name":"Beenhere"},"e14b":{"name":"Block"},"e1a7":{"name":"Bluetooth"},"e60f":{"name":"Bluetooth Audio"},"e1a8":{"name":"Bluetooth Connected"},"e1a9":{"name":"Bluetooth Disabled"},"e1aa":{"name":"Bluetooth Searching"},"e3a2":{"name":"Blur Circular"},"e3a3":{"name":"Blur Linear"},"e3a4":{"name":"Blur Off"},"e3a5":{"name":"Blur On"},"e865":{"name":"Book"},"e866":{"name":"Bookmark"},"e867":{"name":"Bookmark Border"},"e228":{"name":"Border All"},"e229":{"name":"Border Bottom"},"e22a":{"name":"Border Clear"},"e22b":{"name":"Border Color"},"e22c":{"name":"Border Horizontal"},"e22d":{"name":"Border Inner"},"e22e":{"name":"Border Left"},"e22f":{"name":"Border Outer"},"e230":{"name":"Border Right"},"e231":{"name":"Border Style"},"e232":{"name":"Border Top"},"e233":{"name":"Border Vertical"},"e06b":{"name":"Branding Watermark"},"e3a6":{"name":"Brightness 1"},"e3a7":{"name":"Brightness 2"},"e3a8":{"name":"Brightness 3"},"e3a9":{"name":"Brightness 4"},"e3aa":{"name":"Brightness 5"},"e3ab":{"name":"Brightness 6"},"e3ac":{"name":"Brightness 7"},"e1ab":{"name":"Brightness Auto"},"e1ac":{"name":"Brightness High"},"e1ad":{"name":"Brightness Low"},"e1ae":{"name":"Brightness Medium"},"e3ad":{"name":"Broken Image"},"e3ae":{"name":"Brush"},"e6dd":{"name":"Bubble Chart"},"e868":{"name":"Bug Report"},"e869":{"name":"Build"},"e43c":{"name":"Burst Mode"},"e0af":{"name":"Business"},"eb3f":{"name":"Business Center"},"e86a":{"name":"Cached"},"e7e9":{"name":"Cake"},"e0b0":{"name":"Call"},"e0b1":{"name":"Call End"},"e0b2":{"name":"Call Made"},"e0b3":{"name":"Call Merge"},"e0b4":{"name":"Call Missed"},"e0e4":{"name":"Call Missed Outgoing"},"e0b5":{"name":"Call Received"},"e0b6":{"name":"Call Split"},"e06c":{"name":"Call To Action"},"e3af":{"name":"Camera"},"e3b0":{"name":"Camera Alt"},"e8fc":{"name":"Camera Enhance"},"e3b1":{"name":"Camera Front"},"e3b2":{"name":"Camera Rear"},"e3b3":{"name":"Camera Roll"},"e5c9":{"name":"Cancel"},"e8f6":{"name":"Card Giftcard"},"e8f7":{"name":"Card Membership"},"e8f8":{"name":"Card Travel"},"eb40":{"name":"Casino"},"e307":{"name":"Cast"},"e308":{"name":"Cast Connected"},"e3b4":{"name":"Center Focus Strong"},"e3b5":{"name":"Center Focus Weak"},"e86b":{"name":"Change History"},"e0b7":{"name":"Chat"},"e0ca":{"name":"Chat Bubble"},"e0cb":{"name":"Chat Bubble Outline"},"e5ca":{"name":"Check"},"e834":{"name":"Check Box"},"e835":{"name":"Check Box Outline Blank"},"e86c":{"name":"Check Circle"},"e5cb":{"name":"Chevron Left"},"e5cc":{"name":"Chevron Right"},"eb41":{"name":"Child Care"},"eb42":{"name":"Child Friendly"},"e86d":{"name":"Chrome Reader Mode"},"e86e":{"name":"Class"},"e14c":{"name":"Clear"},"e0b8":{"name":"Clear All"},"e5cd":{"name":"Close"},"e01c":{"name":"Closed Caption"},"e2bd":{"name":"Cloud"},"e2be":{"name":"Cloud Circle"},"e2bf":{"name":"Cloud Done"},"e2c0":{"name":"Cloud Download"},"e2c1":{"name":"Cloud Off"},"e2c2":{"name":"Cloud Queue"},"e2c3":{"name":"Cloud Upload"},"e86f":{"name":"Code"},"e3b6":{"name":"Collections"},"e431":{"name":"Collections Bookmark"},"e3b7":{"name":"Color Lens"},"e3b8":{"name":"Colorize"},"e0b9":{"name":"Comment"},"e3b9":{"name":"Compare"},"e915":{"name":"Compare Arrows"},"e30a":{"name":"Computer"},"e638":{"name":"Confirmation Number"},"e0d0":{"name":"Contact Mail"},"e0cf":{"name":"Contact Phone"},"e0ba":{"name":"Contacts"},"e14d":{"name":"Content Copy"},"e14e":{"name":"Content Cut"},"e14f":{"name":"Content Paste"},"e3ba":{"name":"Control Point"},"e3bb":{"name":"Control Point Duplicate"},"e90c":{"name":"Copyright"},"e150":{"name":"Create"},"e2cc":{"name":"Create New Folder"},"e870":{"name":"Credit Card"},"e3be":{"name":"Crop"},"e3bc":{"name":"Crop 16 9"},"e3bd":{"name":"Crop 3 2"},"e3bf":{"name":"Crop 5 4"},"e3c0":{"name":"Crop 7 5"},"e3c1":{"name":"Crop Din"},"e3c2":{"name":"Crop Free"},"e3c3":{"name":"Crop Landscape"},"e3c4":{"name":"Crop Original"},"e3c5":{"name":"Crop Portrait"},"e437":{"name":"Crop Rotate"},"e3c6":{"name":"Crop Square"},"e871":{"name":"Dashboard"},"e1af":{"name":"Data Usage"},"e916":{"name":"Date Range"},"e3c7":{"name":"Dehaze"},"e872":{"name":"Delete"},"e92b":{"name":"Delete Forever"},"e16c":{"name":"Delete Sweep"},"e873":{"name":"Description"},"e30b":{"name":"Desktop Mac"},"e30c":{"name":"Desktop Windows"},"e3c8":{"name":"Details"},"e30d":{"name":"Developer Board"},"e1b0":{"name":"Developer Mode"},"e335":{"name":"Device Hub"},"e1b1":{"name":"Devices"},"e337":{"name":"Devices Other"},"e0bb":{"name":"Dialer Sip"},"e0bc":{"name":"Dialpad"},"e52e":{"name":"Directions"},"e52f":{"name":"Directions Bike"},"e532":{"name":"Directions Boat"},"e530":{"name":"Directions Bus"},"e531":{"name":"Directions Car"},"e534":{"name":"Directions Railway"},"e566":{"name":"Directions Run"},"e533":{"name":"Directions Subway"},"e535":{"name":"Directions Transit"},"e536":{"name":"Directions Walk"},"e610":{"name":"Disc Full"},"e875":{"name":"Dns"},"e612":{"name":"Do Not Disturb"},"e611":{"name":"Do Not Disturb Alt"},"e643":{"name":"Do Not Disturb Off"},"e644":{"name":"Do Not Disturb On"},"e30e":{"name":"Dock"},"e7ee":{"name":"Domain"},"e876":{"name":"Done"},"e877":{"name":"Done All"},"e917":{"name":"Donut Large"},"e918":{"name":"Donut Small"},"e151":{"name":"Drafts"},"e25d":{"name":"Drag Handle"},"e613":{"name":"Drive Eta"},"e1b2":{"name":"Dvr"},"e3c9":{"name":"Edit"},"e568":{"name":"Edit Location"},"e8fb":{"name":"Eject"},"e0be":{"name":"Email"},"e63f":{"name":"Enhanced Encryption"},"e01d":{"name":"Equalizer"},"e000":{"name":"Error"},"e001":{"name":"Error Outline"},"e926":{"name":"Euro Symbol"},"e56d":{"name":"Ev Station"},"e878":{"name":"Event"},"e614":{"name":"Event Available"},"e615":{"name":"Event Busy"},"e616":{"name":"Event Note"},"e903":{"name":"Event Seat"},"e879":{"name":"Exit To App"},"e5ce":{"name":"Expand Less"},"e5cf":{"name":"Expand More"},"e01e":{"name":"Explicit"},"e87a":{"name":"Explore"},"e3ca":{"name":"Exposure"},"e3cb":{"name":"Exposure Neg 1"},"e3cc":{"name":"Exposure Neg 2"},"e3cd":{"name":"Exposure Plus 1"},"e3ce":{"name":"Exposure Plus 2"},"e3cf":{"name":"Exposure Zero"},"e87b":{"name":"Extension"},"e87c":{"name":"Face"},"e01f":{"name":"Fast Forward"},"e020":{"name":"Fast Rewind"},"e87d":{"name":"Favorite"},"e87e":{"name":"Favorite Border"},"e06d":{"name":"Featured Play List"},"e06e":{"name":"Featured Video"},"e87f":{"name":"Feedback"},"e05d":{"name":"Fiber Dvr"},"e061":{"name":"Fiber Manual Record"},"e05e":{"name":"Fiber New"},"e06a":{"name":"Fiber Pin"},"e062":{"name":"Fiber Smart Record"},"e2c4":{"name":"File Download"},"e2c6":{"name":"File Upload"},"e3d3":{"name":"Filter"},"e3d0":{"name":"Filter 1"},"e3d1":{"name":"Filter 2"},"e3d2":{"name":"Filter 3"},"e3d4":{"name":"Filter 4"},"e3d5":{"name":"Filter 5"},"e3d6":{"name":"Filter 6"},"e3d7":{"name":"Filter 7"},"e3d8":{"name":"Filter 8"},"e3d9":{"name":"Filter 9"},"e3da":{"name":"Filter 9 Plus"},"e3db":{"name":"Filter B And W"},"e3dc":{"name":"Filter Center Focus"},"e3dd":{"name":"Filter Drama"},"e3de":{"name":"Filter Frames"},"e3df":{"name":"Filter Hdr"},"e152":{"name":"Filter List"},"e3e0":{"name":"Filter None"},"e3e2":{"name":"Filter Tilt Shift"},"e3e3":{"name":"Filter Vintage"},"e880":{"name":"Find In Page"},"e881":{"name":"Find Replace"},"e90d":{"name":"Fingerprint"},"e5dc":{"name":"First Page"},"eb43":{"name":"Fitness Center"},"e153":{"name":"Flag"},"e3e4":{"name":"Flare"},"e3e5":{"name":"Flash Auto"},"e3e6":{"name":"Flash Off"},"e3e7":{"name":"Flash On"},"e539":{"name":"Flight"},"e904":{"name":"Flight Land"},"e905":{"name":"Flight Takeoff"},"e3e8":{"name":"Flip"},"e882":{"name":"Flip To Back"},"e883":{"name":"Flip To Front"},"e2c7":{"name":"Folder"},"e2c8":{"name":"Folder Open"},"e2c9":{"name":"Folder Shared"},"e617":{"name":"Folder Special"},"e167":{"name":"Font Download"},"e234":{"name":"Format Align Center"},"e235":{"name":"Format Align Justify"},"e236":{"name":"Format Align Left"},"e237":{"name":"Format Align Right"},"e238":{"name":"Format Bold"},"e239":{"name":"Format Clear"},"e23a":{"name":"Format Color Fill"},"e23b":{"name":"Format Color Reset"},"e23c":{"name":"Format Color Text"},"e23d":{"name":"Format Indent Decrease"},"e23e":{"name":"Format Indent Increase"},"e23f":{"name":"Format Italic"},"e240":{"name":"Format Line Spacing"},"e241":{"name":"Format List Bulleted"},"e242":{"name":"Format List Numbered"},"e243":{"name":"Format Paint"},"e244":{"name":"Format Quote"},"e25e":{"name":"Format Shapes"},"e245":{"name":"Format Size"},"e246":{"name":"Format Strikethrough"},"e247":{"name":"Format Textdirection L To R"},"e248":{"name":"Format Textdirection R To L"},"e249":{"name":"Format Underlined"},"e0bf":{"name":"Forum"},"e154":{"name":"Forward"},"e056":{"name":"Forward 10"},"e057":{"name":"Forward 30"},"e058":{"name":"Forward 5"},"eb44":{"name":"Free Breakfast"},"e5d0":{"name":"Fullscreen"},"e5d1":{"name":"Fullscreen Exit"},"e24a":{"name":"Functions"},"e927":{"name":"G Translate"},"e30f":{"name":"Gamepad"},"e021":{"name":"Games"},"e90e":{"name":"Gavel"},"e155":{"name":"Gesture"},"e884":{"name":"Get App"},"e908":{"name":"Gif"},"eb45":{"name":"Golf Course"},"e1b3":{"name":"Gps Fixed"},"e1b4":{"name":"Gps Not Fixed"},"e1b5":{"name":"Gps Off"},"e885":{"name":"Grade"},"e3e9":{"name":"Gradient"},"e3ea":{"name":"Grain"},"e1b8":{"name":"Graphic Eq"},"e3eb":{"name":"Grid Off"},"e3ec":{"name":"Grid On"},"e7ef":{"name":"Group"},"e7f0":{"name":"Group Add"},"e886":{"name":"Group Work"},"e052":{"name":"Hd"},"e3ed":{"name":"Hdr Off"},"e3ee":{"name":"Hdr On"},"e3f1":{"name":"Hdr Strong"},"e3f2":{"name":"Hdr Weak"},"e310":{"name":"Headset"},"e311":{"name":"Headset Mic"},"e3f3":{"name":"Healing"},"e023":{"name":"Hearing"},"e887":{"name":"Help"},"e8fd":{"name":"Help Outline"},"e024":{"name":"High Quality"},"e25f":{"name":"Highlight"},"e888":{"name":"Highlight Off"},"e889":{"name":"History"},"e88a":{"name":"Home"},"eb46":{"name":"Hot Tub"},"e53a":{"name":"Hotel"},"e88b":{"name":"Hourglass Empty"},"e88c":{"name":"Hourglass Full"},"e902":{"name":"Http"},"e88d":{"name":"Https"},"e3f4":{"name":"Image"},"e3f5":{"name":"Image Aspect Ratio"},"e0e0":{"name":"Import Contacts"},"e0c3":{"name":"Import Export"},"e912":{"name":"Important Devices"},"e156":{"name":"Inbox"},"e909":{"name":"Indeterminate Check Box"},"e88e":{"name":"Info"},"e88f":{"name":"Info Outline"},"e890":{"name":"Input"},"e24b":{"name":"Insert Chart"},"e24c":{"name":"Insert Comment"},"e24d":{"name":"Insert Drive File"},"e24e":{"name":"Insert Emoticon"},"e24f":{"name":"Insert Invitation"},"e250":{"name":"Insert Link"},"e251":{"name":"Insert Photo"},"e891":{"name":"Invert Colors"},"e0c4":{"name":"Invert Colors Off"},"e3f6":{"name":"Iso"},"e312":{"name":"Keyboard"},"e313":{"name":"Keyboard Arrow Down"},"e314":{"name":"Keyboard Arrow Left"},"e315":{"name":"Keyboard Arrow Right"},"e316":{"name":"Keyboard Arrow Up"},"e317":{"name":"Keyboard Backspace"},"e318":{"name":"Keyboard Capslock"},"e31a":{"name":"Keyboard Hide"},"e31b":{"name":"Keyboard Return"},"e31c":{"name":"Keyboard Tab"},"e31d":{"name":"Keyboard Voice"},"eb47":{"name":"Kitchen"},"e892":{"name":"Label"},"e893":{"name":"Label Outline"},"e3f7":{"name":"Landscape"},"e894":{"name":"Language"},"e31e":{"name":"Laptop"},"e31f":{"name":"Laptop Chromebook"},"e320":{"name":"Laptop Mac"},"e321":{"name":"Laptop Windows"},"e5dd":{"name":"Last Page"},"e895":{"name":"Launch"},"e53b":{"name":"Layers"},"e53c":{"name":"Layers Clear"},"e3f8":{"name":"Leak Add"},"e3f9":{"name":"Leak Remove"},"e3fa":{"name":"Lens"},"e02e":{"name":"Library Add"},"e02f":{"name":"Library Books"},"e030":{"name":"Library Music"},"e90f":{"name":"Lightbulb Outline"},"e919":{"name":"Line Style"},"e91a":{"name":"Line Weight"},"e260":{"name":"Linear Scale"},"e157":{"name":"Link"},"e438":{"name":"Linked Camera"},"e896":{"name":"List"},"e0c6":{"name":"Live Help"},"e639":{"name":"Live Tv"},"e53f":{"name":"Local Activity"},"e53d":{"name":"Local Airport"},"e53e":{"name":"Local Atm"},"e540":{"name":"Local Bar"},"e541":{"name":"Local Cafe"},"e542":{"name":"Local Car Wash"},"e543":{"name":"Local Convenience Store"},"e556":{"name":"Local Dining"},"e544":{"name":"Local Drink"},"e545":{"name":"Local Florist"},"e546":{"name":"Local Gas Station"},"e547":{"name":"Local Grocery Store"},"e548":{"name":"Local Hospital"},"e549":{"name":"Local Hotel"},"e54a":{"name":"Local Laundry Service"},"e54b":{"name":"Local Library"},"e54c":{"name":"Local Mall"},"e54d":{"name":"Local Movies"},"e54e":{"name":"Local Offer"},"e54f":{"name":"Local Parking"},"e550":{"name":"Local Pharmacy"},"e551":{"name":"Local Phone"},"e552":{"name":"Local Pizza"},"e553":{"name":"Local Play"},"e554":{"name":"Local Post Office"},"e555":{"name":"Local Printshop"},"e557":{"name":"Local See"},"e558":{"name":"Local Shipping"},"e559":{"name":"Local Taxi"},"e7f1":{"name":"Location City"},"e1b6":{"name":"Location Disabled"},"e0c7":{"name":"Location Off"},"e0c8":{"name":"Location On"},"e1b7":{"name":"Location Searching"},"e897":{"name":"Lock"},"e898":{"name":"Lock Open"},"e899":{"name":"Lock Outline"},"e3fc":{"name":"Looks"},"e3fb":{"name":"Looks 3"},"e3fd":{"name":"Looks 4"},"e3fe":{"name":"Looks 5"},"e3ff":{"name":"Looks 6"},"e400":{"name":"Looks One"},"e401":{"name":"Looks Two"},"e028":{"name":"Loop"},"e402":{"name":"Loupe"},"e16d":{"name":"Low Priority"},"e89a":{"name":"Loyalty"},"e158":{"name":"Mail"},"e0e1":{"name":"Mail Outline"},"e55b":{"name":"Map"},"e159":{"name":"Markunread"},"e89b":{"name":"Markunread Mailbox"},"e322":{"name":"Memory"},"e5d2":{"name":"Menu"},"e252":{"name":"Merge Type"},"e0c9":{"name":"Message"},"e029":{"name":"Mic"},"e02a":{"name":"Mic None"},"e02b":{"name":"Mic Off"},"e618":{"name":"Mms"},"e253":{"name":"Mode Comment"},"e254":{"name":"Mode Edit"},"e263":{"name":"Monetization On"},"e25c":{"name":"Money Off"},"e403":{"name":"Monochrome Photos"},"e7f2":{"name":"Mood"},"e7f3":{"name":"Mood Bad"},"e619":{"name":"More"},"e5d3":{"name":"More Horiz"},"e5d4":{"name":"More Vert"},"e91b":{"name":"Motorcycle"},"e323":{"name":"Mouse"},"e168":{"name":"Move To Inbox"},"e02c":{"name":"Movie"},"e404":{"name":"Movie Creation"},"e43a":{"name":"Movie Filter"},"e6df":{"name":"Multiline Chart"},"e405":{"name":"Music Note"},"e063":{"name":"Music Video"},"e55c":{"name":"My Location"},"e406":{"name":"Nature"},"e407":{"name":"Nature People"},"e408":{"name":"Navigate Before"},"e409":{"name":"Navigate Next"},"e55d":{"name":"Navigation"},"e569":{"name":"Near Me"},"e1b9":{"name":"Network Cell"},"e640":{"name":"Network Check"},"e61a":{"name":"Network Locked"},"e1ba":{"name":"Network Wifi"},"e031":{"name":"New Releases"},"e16a":{"name":"Next Week"},"e1bb":{"name":"Nfc"},"e641":{"name":"No Encryption"},"e0cc":{"name":"No Sim"},"e033":{"name":"Not Interested"},"e06f":{"name":"Note"},"e89c":{"name":"Note Add"},"e7f4":{"name":"Notifications"},"e7f7":{"name":"Notifications Active"},"e7f5":{"name":"Notifications None"},"e7f6":{"name":"Notifications Off"},"e7f8":{"name":"Notifications Paused"},"e90a":{"name":"Offline Pin"},"e63a":{"name":"Ondemand Video"},"e91c":{"name":"Opacity"},"e89d":{"name":"Open In Browser"},"e89e":{"name":"Open In New"},"e89f":{"name":"Open With"},"e7f9":{"name":"Pages"},"e8a0":{"name":"Pageview"},"e40a":{"name":"Palette"},"e925":{"name":"Pan Tool"},"e40b":{"name":"Panorama"},"e40c":{"name":"Panorama Fish Eye"},"e40d":{"name":"Panorama Horizontal"},"e40e":{"name":"Panorama Vertical"},"e40f":{"name":"Panorama Wide Angle"},"e7fa":{"name":"Party Mode"},"e034":{"name":"Pause"},"e035":{"name":"Pause Circle Filled"},"e036":{"name":"Pause Circle Outline"},"e8a1":{"name":"Payment"},"e7fb":{"name":"People"},"e7fc":{"name":"People Outline"},"e8a2":{"name":"Perm Camera Mic"},"e8a3":{"name":"Perm Contact Calendar"},"e8a4":{"name":"Perm Data Setting"},"e8a5":{"name":"Perm Device Information"},"e8a6":{"name":"Perm Identity"},"e8a7":{"name":"Perm Media"},"e8a8":{"name":"Perm Phone Msg"},"e8a9":{"name":"Perm Scan Wifi"},"e7fd":{"name":"Person"},"e7fe":{"name":"Person Add"},"e7ff":{"name":"Person Outline"},"e55a":{"name":"Person Pin"},"e56a":{"name":"Person Pin Circle"},"e63b":{"name":"Personal Video"},"e91d":{"name":"Pets"},"e0cd":{"name":"Phone"},"e324":{"name":"Phone Android"},"e61b":{"name":"Phone Bluetooth Speaker"},"e61c":{"name":"Phone Forwarded"},"e61d":{"name":"Phone In Talk"},"e325":{"name":"Phone Iphone"},"e61e":{"name":"Phone Locked"},"e61f":{"name":"Phone Missed"},"e620":{"name":"Phone Paused"},"e326":{"name":"Phonelink"},"e0db":{"name":"Phonelink Erase"},"e0dc":{"name":"Phonelink Lock"},"e327":{"name":"Phonelink Off"},"e0dd":{"name":"Phonelink Ring"},"e0de":{"name":"Phonelink Setup"},"e410":{"name":"Photo"},"e411":{"name":"Photo Album"},"e412":{"name":"Photo Camera"},"e43b":{"name":"Photo Filter"},"e413":{"name":"Photo Library"},"e432":{"name":"Photo Size Select Actual"},"e433":{"name":"Photo Size Select Large"},"e434":{"name":"Photo Size Select Small"},"e415":{"name":"Picture As Pdf"},"e8aa":{"name":"Picture In Picture"},"e911":{"name":"Picture In Picture Alt"},"e6c4":{"name":"Pie Chart"},"e6c5":{"name":"Pie Chart Outlined"},"e55e":{"name":"Pin Drop"},"e55f":{"name":"Place"},"e037":{"name":"Play Arrow"},"e038":{"name":"Play Circle Filled"},"e039":{"name":"Play Circle Outline"},"e906":{"name":"Play For Work"},"e03b":{"name":"Playlist Add"},"e065":{"name":"Playlist Add Check"},"e05f":{"name":"Playlist Play"},"e800":{"name":"Plus One"},"e801":{"name":"Poll"},"e8ab":{"name":"Polymer"},"eb48":{"name":"Pool"},"e0ce":{"name":"Portable Wifi Off"},"e416":{"name":"Portrait"},"e63c":{"name":"Power"},"e336":{"name":"Power Input"},"e8ac":{"name":"Power Settings New"},"e91e":{"name":"Pregnant Woman"},"e0df":{"name":"Present To All"},"e8ad":{"name":"Print"},"e645":{"name":"Priority High"},"e80b":{"name":"Public"},"e255":{"name":"Publish"},"e8ae":{"name":"Query Builder"},"e8af":{"name":"Question Answer"},"e03c":{"name":"Queue"},"e03d":{"name":"Queue Music"},"e066":{"name":"Queue Play Next"},"e03e":{"name":"Radio"},"e837":{"name":"Radio Button Checked"},"e836":{"name":"Radio Button Unchecked"},"e560":{"name":"Rate Review"},"e8b0":{"name":"Receipt"},"e03f":{"name":"Recent Actors"},"e91f":{"name":"Record Voice Over"},"e8b1":{"name":"Redeem"},"e15a":{"name":"Redo"},"e5d5":{"name":"Refresh"},"e15b":{"name":"Remove"},"e15c":{"name":"Remove Circle"},"e15d":{"name":"Remove Circle Outline"},"e067":{"name":"Remove From Queue"},"e417":{"name":"Remove Red Eye"},"e928":{"name":"Remove Shopping Cart"},"e8fe":{"name":"Reorder"},"e040":{"name":"Repeat"},"e041":{"name":"Repeat One"},"e042":{"name":"Replay"},"e059":{"name":"Replay 10"},"e05a":{"name":"Replay 30"},"e05b":{"name":"Replay 5"},"e15e":{"name":"Reply"},"e15f":{"name":"Reply All"},"e160":{"name":"Report"},"e8b2":{"name":"Report Problem"},"e56c":{"name":"Restaurant"},"e561":{"name":"Restaurant Menu"},"e8b3":{"name":"Restore"},"e929":{"name":"Restore Page"},"e0d1":{"name":"Ring Volume"},"e8b4":{"name":"Room"},"eb49":{"name":"Room Service"},"e418":{"name":"Rotate 90 Degrees Ccw"},"e419":{"name":"Rotate Left"},"e41a":{"name":"Rotate Right"},"e920":{"name":"Rounded Corner"},"e328":{"name":"Router"},"e921":{"name":"Rowing"},"e0e5":{"name":"Rss Feed"},"e642":{"name":"Rv Hookup"},"e562":{"name":"Satellite"},"e161":{"name":"Save"},"e329":{"name":"Scanner"},"e8b5":{"name":"Schedule"},"e80c":{"name":"School"},"e1be":{"name":"Screen Lock Landscape"},"e1bf":{"name":"Screen Lock Portrait"},"e1c0":{"name":"Screen Lock Rotation"},"e1c1":{"name":"Screen Rotation"},"e0e2":{"name":"Screen Share"},"e623":{"name":"Sd Card"},"e1c2":{"name":"Sd Storage"},"e8b6":{"name":"Search"},"e32a":{"name":"Security"},"e162":{"name":"Select All"},"e163":{"name":"Send"},"e811":{"name":"Sentiment Dissatisfied"},"e812":{"name":"Sentiment Neutral"},"e813":{"name":"Sentiment Satisfied"},"e814":{"name":"Sentiment Very Dissatisfied"},"e815":{"name":"Sentiment Very Satisfied"},"e8b8":{"name":"Settings"},"e8b9":{"name":"Settings Applications"},"e8ba":{"name":"Settings Backup Restore"},"e8bb":{"name":"Settings Bluetooth"},"e8bd":{"name":"Settings Brightness"},"e8bc":{"name":"Settings Cell"},"e8be":{"name":"Settings Ethernet"},"e8bf":{"name":"Settings Input Antenna"},"e8c0":{"name":"Settings Input Component"},"e8c1":{"name":"Settings Input Composite"},"e8c2":{"name":"Settings Input Hdmi"},"e8c3":{"name":"Settings Input Svideo"},"e8c4":{"name":"Settings Overscan"},"e8c5":{"name":"Settings Phone"},"e8c6":{"name":"Settings Power"},"e8c7":{"name":"Settings Remote"},"e1c3":{"name":"Settings System Daydream"},"e8c8":{"name":"Settings Voice"},"e80d":{"name":"Share"},"e8c9":{"name":"Shop"},"e8ca":{"name":"Shop Two"},"e8cb":{"name":"Shopping Basket"},"e8cc":{"name":"Shopping Cart"},"e261":{"name":"Short Text"},"e6e1":{"name":"Show Chart"},"e043":{"name":"Shuffle"},"e1c8":{"name":"Signal Cellular 4 Bar"},"e1cd":{"name":"Signal Cellular Connected No Internet 4 Bar"},"e1ce":{"name":"Signal Cellular No Sim"},"e1cf":{"name":"Signal Cellular Null"},"e1d0":{"name":"Signal Cellular Off"},"e1d8":{"name":"Signal Wifi 4 Bar"},"e1d9":{"name":"Signal Wifi 4 Bar Lock"},"e1da":{"name":"Signal Wifi Off"},"e32b":{"name":"Sim Card"},"e624":{"name":"Sim Card Alert"},"e044":{"name":"Skip Next"},"e045":{"name":"Skip Previous"},"e41b":{"name":"Slideshow"},"e068":{"name":"Slow Motion Video"},"e32c":{"name":"Smartphone"},"eb4a":{"name":"Smoke Free"},"eb4b":{"name":"Smoking Rooms"},"e625":{"name":"Sms"},"e626":{"name":"Sms Failed"},"e046":{"name":"Snooze"},"e164":{"name":"Sort"},"e053":{"name":"Sort By Alpha"},"eb4c":{"name":"Spa"},"e256":{"name":"Space Bar"},"e32d":{"name":"Speaker"},"e32e":{"name":"Speaker Group"},"e8cd":{"name":"Speaker Notes"},"e92a":{"name":"Speaker Notes Off"},"e0d2":{"name":"Speaker Phone"},"e8ce":{"name":"Spellcheck"},"e838":{"name":"Star"},"e83a":{"name":"Star Border"},"e839":{"name":"Star Half"},"e8d0":{"name":"Stars"},"e0d3":{"name":"Stay Current Landscape"},"e0d4":{"name":"Stay Current Portrait"},"e0d5":{"name":"Stay Primary Landscape"},"e0d6":{"name":"Stay Primary Portrait"},"e047":{"name":"Stop"},"e0e3":{"name":"Stop Screen Share"},"e1db":{"name":"Storage"},"e8d1":{"name":"Store"},"e563":{"name":"Store Mall Directory"},"e41c":{"name":"Straighten"},"e56e":{"name":"Streetview"},"e257":{"name":"Strikethrough S"},"e41d":{"name":"Style"},"e5d9":{"name":"Subdirectory Arrow Left"},"e5da":{"name":"Subdirectory Arrow Right"},"e8d2":{"name":"Subject"},"e064":{"name":"Subscriptions"},"e048":{"name":"Subtitles"},"e56f":{"name":"Subway"},"e8d3":{"name":"Supervisor Account"},"e049":{"name":"Surround Sound"},"e0d7":{"name":"Swap Calls"},"e8d4":{"name":"Swap Horiz"},"e8d5":{"name":"Swap Vert"},"e8d6":{"name":"Swap Vertical Circle"},"e41e":{"name":"Switch Camera"},"e41f":{"name":"Switch Video"},"e627":{"name":"Sync"},"e628":{"name":"Sync Disabled"},"e629":{"name":"Sync Problem"},"e62a":{"name":"System Update"},"e8d7":{"name":"System Update Alt"},"e8d8":{"name":"Tab"},"e8d9":{"name":"Tab Unselected"},"e32f":{"name":"Tablet"},"e330":{"name":"Tablet Android"},"e331":{"name":"Tablet Mac"},"e420":{"name":"Tag Faces"},"e62b":{"name":"Tap And Play"},"e564":{"name":"Terrain"},"e262":{"name":"Text Fields"},"e165":{"name":"Text Format"},"e0d8":{"name":"Textsms"},"e421":{"name":"Texture"},"e8da":{"name":"Theaters"},"e8db":{"name":"Thumb Down"},"e8dc":{"name":"Thumb Up"},"e8dd":{"name":"Thumbs Up Down"},"e62c":{"name":"Time To Leave"},"e422":{"name":"Timelapse"},"e922":{"name":"Timeline"},"e425":{"name":"Timer"},"e423":{"name":"Timer 10"},"e424":{"name":"Timer 3"},"e426":{"name":"Timer Off"},"e264":{"name":"Title"},"e8de":{"name":"Toc"},"e8df":{"name":"Today"},"e8e0":{"name":"Toll"},"e427":{"name":"Tonality"},"e913":{"name":"Touch App"},"e332":{"name":"Toys"},"e8e1":{"name":"Track Changes"},"e565":{"name":"Traffic"},"e570":{"name":"Train"},"e571":{"name":"Tram"},"e572":{"name":"Transfer Within A Station"},"e428":{"name":"Transform"},"e8e2":{"name":"Translate"},"e8e3":{"name":"Trending Down"},"e8e4":{"name":"Trending Flat"},"e8e5":{"name":"Trending Up"},"e429":{"name":"Tune"},"e8e6":{"name":"Turned In"},"e8e7":{"name":"Turned In Not"},"e333":{"name":"Tv"},"e169":{"name":"Unarchive"},"e166":{"name":"Undo"},"e5d6":{"name":"Unfold Less"},"e5d7":{"name":"Unfold More"},"e923":{"name":"Update"},"e1e0":{"name":"Usb"},"e8e8":{"name":"Verified User"},"e258":{"name":"Vertical Align Bottom"},"e259":{"name":"Vertical Align Center"},"e25a":{"name":"Vertical Align Top"},"e62d":{"name":"Vibration"},"e070":{"name":"Video Call"},"e071":{"name":"Video Label"},"e04a":{"name":"Video Library"},"e04b":{"name":"Videocam"},"e04c":{"name":"Videocam Off"},"e338":{"name":"Videogame Asset"},"e8e9":{"name":"View Agenda"},"e8ea":{"name":"View Array"},"e8eb":{"name":"View Carousel"},"e8ec":{"name":"View Column"},"e42a":{"name":"View Comfy"},"e42b":{"name":"View Compact"},"e8ed":{"name":"View Day"},"e8ee":{"name":"View Headline"},"e8ef":{"name":"View List"},"e8f0":{"name":"View Module"},"e8f1":{"name":"View Quilt"},"e8f2":{"name":"View Stream"},"e8f3":{"name":"View Week"},"e435":{"name":"Vignette"},"e8f4":{"name":"Visibility"},"e8f5":{"name":"Visibility Off"},"e62e":{"name":"Voice Chat"},"e0d9":{"name":"Voicemail"},"e04d":{"name":"Volume Down"},"e04e":{"name":"Volume Mute"},"e04f":{"name":"Volume Off"},"e050":{"name":"Volume Up"},"e0da":{"name":"Vpn Key"},"e62f":{"name":"Vpn Lock"},"e1bc":{"name":"Wallpaper"},"e002":{"name":"Warning"},"e334":{"name":"Watch"},"e924":{"name":"Watch Later"},"e42c":{"name":"Wb Auto"},"e42d":{"name":"Wb Cloudy"},"e42e":{"name":"Wb Incandescent"},"e436":{"name":"Wb Iridescent"},"e430":{"name":"Wb Sunny"},"e63d":{"name":"Wc"},"e051":{"name":"Web"},"e069":{"name":"Web Asset"},"e16b":{"name":"Weekend"},"e80e":{"name":"Whatshot"},"e1bd":{"name":"Widgets"},"e63e":{"name":"Wifi"},"e1e1":{"name":"Wifi Lock"},"e1e2":{"name":"Wifi Tethering"},"e8f9":{"name":"Work"},"e25b":{"name":"Wrap Text"},"e8fa":{"name":"Youtube Searched For"},"e8ff":{"name":"Zoom In"},"e900":{"name":"Zoom Out"},"e56b":{"name":"Zoom Out Map"}}} \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.svg b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.svg new file mode 100755 index 0000000..a449327 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.svg @@ -0,0 +1,2373 @@ + + + + + +Created by FontForge 20151118 at Mon Feb 8 11:58:02 2016 + By shyndman +Copyright 2015 Google, Inc. All Rights Reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.ttf b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.ttf new file mode 100755 index 0000000000000000000000000000000000000000..7015564ad166a3e9d88c82f17829f0cc01ebe29a GIT binary patch literal 128180 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 ohyj3!`#ee%L;DTjx@8!5k5~VH0QmdE^#A|> literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.woff new file mode 100755 index 0000000000000000000000000000000000000000..b648a3eea2d16b6ce783906d6b7d5f251b9eb56c GIT binary patch literal 57620 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

              wF7DI|Kx|V1sBQ9FYs>m5C)C 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 BJ$(QG literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/MaterialIcons-Regular.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..9fa211252080046a23b2449dbdced6abc2b0bb34 GIT binary patch literal 44300 zcmV(qLaH4god-Bm<8i3y&NC1Rw>1dIum|RgzJoZ2Lrs zpu7QWyVk0GD*tRm1RDn#*n?jf3b-+JGsXb`o^K4<|9?_)Fopu#Ks7Vl-V09HrK0t1 z8~Zi}2F+TgDCMZDV{d4SjNq*5tBjvq-#O>6QvbMhde0G@=1>WT6AD?FYHu0ikega; z>#mApX-iw$(w6QH48JEw30FN{_sf5mTE?Y}D*r#_=EX+*uo1&#?f0LDsnA_;;~H3% zLxCTdVy;vtIwBs?ZoLX9$L7>X+VkW~9@$mBGp(v>Ob<@a910>RNex5OognF)o!ohs!So!2}}rZG)$IL^H=v$DKWnv|V>w-8hao zagH}G<;94Yj2XA;q^>=(%^d5(wx|WmmDKWTsi$hebmD*KGM53NIwPkx<@V<0<%C7b zQ3^@BU!oKcp8vnvoo~GfclBBJR-x#20u3VxJj}9%>0o@O93))a-xfrYnDq0!ZvFug z2s1C_1qdS{Adq{*5`qetJRqzDWxe|t4%kYf;$S)Id$m@mtr~kQIgrpbIo%ngDG9Rlp690_YS-ueT}jfMY{APPG@P%2ZPKjR9shqiV}7sVy`{ z0|v~by%6)`bN^R5>(}h9YWLPb5@~{z33et(!V?KjfUCMN+JyUgbh%bvyWiYeEilYv zi~`^ZS;_XKB%r!`_DxmpW=zm#clXua=#r zyBzKU6?hrq`2FqYh3EGz-A>NUzmpIT-6)K?&8GByd21|V|7bvg!|BpeQ1st7wQTh- zQdcdVvYfJt&avMWwy4fU>HOx+`yM_%esITg3*GE!fRiZVmevY}oC5z04;aqMhA1a; zL?6fzWl+*xE=q@(%PXC`>ngkGT$C>PuGS2 zZMmoLz0@IMc!&`)-1+7gPM72-eaBTw3Bd$mgjNV4gjN`nH#1**`<)+suX~vNnf1TB z?-~)&A|fJ6lqlsWCF0$$<@bLWLYYoFm#RV#0YwCT(`sH#fB6Slu3Fk^)pc*Gb)>IA zA-nI+4%<7Hwb-gv1XP@;u(M8*lcE1V4=X{;sOny%uTMRy_2PC! z7{p5Dv!l%*wV%8i(2MD6gJlN%4&434HC}YXtI+FlpM2Q4twt9{w4nYk-Ut6sX_!U( zf5p8!Pb^S%XdmFTu)gR}ULZPet=Kq%!{2oe>a8+P9c|k+c5U&T=RM7PKPX{+gg8WD zcvK@9+BEZA%{-(WIlKIIx9ZJzTCd^eDb97y@S?eA8A}MIL0DyBc>*xs@VLlRMZ$!V z*_w0VR}+_wyl`f46CWl~wnU<)8ZMIrq4CpItF2O_PJL~xq{TWP>h#qhIf|qKq5@Py zOf*ialDL3Mh$@ggs9p88P69INp;4&7&|YJ=&rEHqHF*oSItB5^TW5bbp6o(tNs-m%p#=hv(v3e?@xGt4L@*mnkUuN1rcwH9`shV5aEL7P2Qm0@9^aoCsw zXw0bi+yZXLdsnfDJzNC^5eL>TQI=m`1$~pl50)}o0j`}UaMwC-DDA5ZM2gtJv9`#F zEmGetQw|sTW>ag!tJvy=00=9g58EndtD<+y_eEf}SX1xjIGVj`iMKXRPy5W1U~3G^ zK4OeNuAEuF$*U%xo(=c5&?9-QZ@ScsXjc)?3YNPJJ>fl4(sS;}cGz$d$Bg)JSvi^a ziIc6L~Q{p3eaB%`>}#A@9Z*mFo8CfPSY^|77lWWN%)u*A;1STVU;>cpnu zg#4PI>d?IC=Hws;eZX{JR2G-x?XYB2chll@H7~lfYzJJf*Uer7RVb8gJ++DjE&!Kz z_LhqMui9$*((F6D+scmcfr4^bAjH$Xp|AI)_15ChduX}M3NNbF1(>g+1_CA(;B3!V-e!$D0dUfTrzVUEotZ~*77 z>|yGpeoF{UPMy^44)+;PQrG@$-5j5*y6yzAt|d*6PQpNrAcPW&z-~Uru8;d>X{2aj zbXZ3}*WZZK?O&mt_A3m6Vu!btFb(R(Z-odMIM z(19nDmri#pXLuC#A%lZqHMQG+q}94|-N&;sq;a~GPUoXiay~M}=Oa>dK0Jk0)~RTh zc$oqS%BYH^!pN`H%L`NlH*0*K$mqmhSi;1$=K|{J`-}xT*!zuo)f@*$Ri!9^HE|v? zTP4vdk5Xy}1F4tJ(GL(YvO3O3t8J~d;bUQT1&3$9Kb=Xk(a{~U{5UG?unZZUc}{gQQsqJ61_3;8oGz zvwSBh-0e7KY~}sLDgSns*y?FkAyix=GRR92d0OozDk{~fK8&zUarRT!-)PzJuIAaP zM6Z(7R7;LjRYW8z-l0?xP+|C<6`L&&hL&ADqkcPyxwG_ginOiU3u2(cUDMCBWtQNtVMIvbWf`JE}N2#&>_ zJX#qhD>w~f#fT)CcSGx13LX$S+8B;38K9WoT2s(I)941yT%WikbWo99ImmQBV ztE(#dY?UpBMvv@HP)Np)4g@^W5Ea0~LLIJs+nSY7eEL0gY}I}zJAS|0&G_W zU8kF!I2(?}NgFWyTcpJBfauVXI_%_>c)4u?!-d>pO=s~(@5Rx1A)_7DULSYbmP72$Zvs)fbSr%m**3Yt(l?H!! zu$CN_mimVx3RHE7Z=i+J)6vMAvgjO!ilJInGtnM^Fq8e0t6`KzBe1>bPDU_W$~aCR zDe*)y8pJ55dq?{KGKpcs+n0&dLm43QSt@4j)(`zog*BoqnO+?dQ7?dfS6jm_S8-Z; zeiYw@B;R-7XN+cjO5M9bji6Y5;?dE*q_e(gA7MI|LK!5dY{%FmCCN-Ci${#(~c;tbMD&yxPU;C8R}K8q zJ&wdifFbqb;e!DaOw-Y$X(xxc=ABVv|2C|f=D_{Hm+iVJb+$~05@+%B;Mt`$TRO?y z(P+~_G#kvN>9tU4Cr54RJRb*;2^FfF-{5dDXWT<}gXXGCn-TQikijC_u^yq!+8u-u z!NF(Ir3wplRSpV)zB7V#;*u^Mf&0332w=lhbRa&0@$B83+sYbK?5FQ*ok=#k=||Qm z2gZsJC(v1#rgZc z19f{^wZtKbAT59cyQ?ArtYY{P@NW2`%LCvz@%ki1M4e8xgg%6?$IIh>$`chl2kM@C z9SUic=t4ZUk39qBJfJ#&5?6jD+g|#8dZ6Qt5YH8V&6U-1>f?y#8LIUeyTc8~-(*&V z_Xch(({a1Q{u8Ocm^?=%G5R|5XsIeeWUp;ONWjEWFlCV)>JC&Rd${j;#*q@LzcmM^ z&+-gR6)90fgb(xOdH|QU9!%~QtRKMOTz*O;rOsp~w(Ye*QEH0tldl4bK7EI%UpmL5 z>|oM?RoYutouF2q8;1=#f_Kp*I0EiAutdUP>N(Edar6z<_2^itR<^RFGeq)@fAAw{ zjy4j-_!$BuvC$EqP7pkxWZ6$_Jpye`Jr$s+qb^eYfdtV7dG zCqa0s`U+IJ_r*1OUR=_oa_wd#2nmv_T##B2*ybQndTDe}mMVOqfD>LO?%23Qr=+W* zARrGSEg*=GWGs4t^*mq>*%E0-uU*(yzDfRZoT==)pNQQ&%Qy!HOIBNtk(+0kV%6i8 zW3r#wt9f*9x?2_b&cX^qQ9hgx6haH=A5jQ%kxDozvxTLGz(_SU0(_L|R8c|Wc~vIt zCBnhsc*Oy2c3sG&z}B*;_m-7L{Imu7Y88qg!s$TsNN#x$oq}{&X_S_JU#Q3zWb255 zyx6?fjw57$^Kwr8o-5i%2zV81-8A;IwGq7UKmQ7Qy-PplG13YvBF}1CwaW$#H%;D9 z|M8O|TkMDSBlX)8sCJyO!4~IBX!VzI>8b^)haoSpsi9&@tD^2Lh zjp;dMoTN7CY|BoV)KhiW9EotZuXA~1V6Z{j8MTN;_ym&(X5bPJctim|Y8yw4H=hkQ zoa+@aATev1c(O$tg?l`XTbiV?4}m$vG?mf!l+6a~vTm2rYd02+@b)Q^yx{`;GgK)f zbetX=D5(*%n*vAk-VV}CQZZDX|0t&P`fWrI?Jbq}5>#J<7)@RMp5BhoqO>1EfQ^^_ zEB0RMCVI{^M!X(U-1|)=E<5S8Q9mm_)-pJZyP+n6GW3FteIiS1~Uy`1(4k>UP4MK_f6xnc}9F!LN?3W zszgNPMSPo|C~*2T!lNOsvFxV-(csidQ9hNA;rMlgq0`~on?7nC*|hyVFqU-N{!trN zb=SKh8opbyJPiF&U80?10+Z-j&r$~Ah7aB`0{wLiE>Xu#ZyObtMcVe?7t&MiU(NMM zEvs4%^jb+kJA#Z+3p5&3K=b-a5Un-T+;7Y|#5{}!Xs_OBnDkjNvl?>%{~cC1oVtja5cJ> zvfF$UXfN6T%8n|(Q)=!EFuf(Zm7+e2Un_N4SV?6*lB2Mo3@35kY`jQh=Cu;fbd}}M z>cI*6$h2_gep`7^G-Ua8{LX*M(K95hi9VAvCvAw~Ir3q6Jn;yAV#d|vtf zKTA|RQr0~Byh1P2wE1n!vcZ0rJ@p|7Ukh8rqMXw_1|=I7$NQmWQLC%Kod8r;=+Eg# zj4603+$d62>wbpcJ2OFIpRmi(|At1y6Ch=` zWixz6#Up*Ry4F<~z6UPC4_h!Nic6jQHa}35l>Ny^r|}A0EdjuN1OF+g;!X$?)#eMf zv2i;%`g#17iyxX)ML!GlGsk9UJ@+FT;)qn#a~l*AE2rVo$s#oG8SV(9g~c&a9C8cQ z*0D$iAsICl!qIDIdGT0LLIcH&NN&Qu(O@0lS)zpiPx8P^zP0os7i7AjfP?D`N^F&H1`6~fV&Ya-zEdJ?xR%)rTtI_eQ!Y=>n{<>VB0>C`(xi1kup)<*g!{n7ztmjYOjo&h&;)MoHjZT^8w>!pEaJ3VkAbB;h# zAM~aTCUHHl))b}WX#k*Jy5x1rc1q?1Uy5lMGPoBhX!8}`2X3#nlYk_xkCM8z2lS}i z;kAxeiv=n{2(hrNm*|t3k9$s)8twAz=ea6RtFqlx@_19-I8kMY6LrfTzXlZ55HLdjAaym*Aj=%}JQ(7N zdQgnOkg$a9VUA*I+(=oQl}egbZ?PU>n$YB@yZgc6(eZ8XcwifV=~N&`r1qY_Su`!&wF9kjcN0wax&z1<&Joo z&relZLOg!Mag!nD4m~#`4S_U1@x7d%s3T@=pwBkCmg#7sEQnD$_StN0G7+1OIxLIj zL1m0wX6xFHs0$Vd4~oKheXxPioGi*qRxL-W4!?!Z$?`nl5lEBPb;9wp8wz>}<7iOG zRaXAc-`DabkCRG;_Q{A(3r_2SE_FUs-gQz_&p4)GaC0R$v; zHW#pB1a&xQY4*-=596p><>FFSBB%9o$VeRYW;wY8&`=ey_p2?^xv8h>5# ziS$0$L(h>iH1g7(Rr9!phk2T^D5!Ysv=JVFMiQhTmWT7FdoE^bg{`WrA-0?bCguCc z)+&pA%)jT$mfOQ(7gFT*egSH4h0|ZQQY9Lr!z&JT*a_Y7EBckGLe6UQe+jaEwypeu zDuDQMmNJi-z^bXy=v7d;5SP=;~;mYReD|mCa-PFO`W**hXnrDuM*9z=44a_wHrYwmCv;h zitB=~4JwR(%a+>iWj3Rle3r@5^r~TLr*-OXbErAanzU%(P|^MH<1kI7O9g=>yu%nW zgCXqo1=ZU0y`eMz83Ni9W(=;PkJ!; zhb?T9Ta3A#^SIV0afQW}M?3{Ew#k#l$v~b&yMZ9bc#O>Bq{9xS`zCZMd1F(~@;(?3 zVKk>|Y=5;cIXE;Z0^Y5HN%Y>wBOD5&_z_M9qv=fhBB=u3lP4{Ct^ottBbzSgCzIfC zfW+r2s34YTemf(+`c+S*;?6l+FEz1W< zNDp!E$-T0U0*_V&gX4 z=-L!+9~!B)F?q!>A-FPbHrH^p!MV9G_5;P*e=lDo+agKa!fn~vC5?Y^zu`r$(JO-$ zmQoWG^qR*d%$*=Tv&BJs2WD?Ymo4oE7k*`@O)B|yVQm)S$N0i9(%#t9Z9P=k&+cGD z@BL5iHsVt=*(vcvI0$Vpv=5_gbhO7lPrC={OLZJz2ze}MOC=#C$OT_G0hqXS5n!b2 znbLpsNsyBLrMJa`4z^;u07}7Unp=Vme+gOMp*qP+B74E86-sGtola0xF`6amcPREL zCW*U4I7Jj9DtX&=M84-(+av=t+jZTS_9+tx86GZ~+WSGAfm!P#Mzon3;r9ug8DG+% zO|1WI*de|r=HL1sWmLB#l6}pP^{a0(!3M|Ow^$*NgiN*&LFsP4{rKm|(g=;L?ZWSp zS$;v%5y7d(GKe40io^!jPlbIE0-@bx*u~ROUJD$@Q;E7`>~_3?#XLSs`K1k1qm># zdoR$x-ne2(rk_STcg1yAQj9e70T#Tm0yet%VBCBB<4|9pCMLfo*_YyuG>rb^T96V) zA;B6EWyyk84kglED?HAQif4q$V@c|R4eX3JnB!o!ao4=@GV2XGjfI;*rblgiZq2zK zJM3<#gfl(LTqkxh)nous7HvNtmNV=z&kBeIcP>Y+dkWk}9m9x}O&^-vlLYGfwZIlT zBFDn4o8to0Hq$BF%0Jpc!(a_^zUJ0$*{Rc{`qVl#s@u+XkzdSDNo7kYu3w`|*{9)| zWJ|+OlOrB_j2!92qR68W{;7vU4x+=e$(rLQiH@vICkPpw7Nd5}hrCnu8YbZxCD-~IWP+V_2@NeOsD;HUl1jS1$S>nc8y-M5d zq^x3o%BJCYL(@lBoOqNooY=7rJmjzw{{7wg2mkiR{^H;M@vr~ncP}31E8XHgUVQmI zz0xH&yZnkLZu8@w_qzA|5>I{NT|VKBp84M2_`!?cb834V`aGH5+4z_Bk18sl=D6NkS?9kh(F^T!w|)D@@6}#s8^LgHaVR87VGv zoiI2E&MaArAB~#P8fUrQKPsllRKMTV)ng;cEi9He8YH_KViME6C`T_rc{1&+7wao; zAY+b#0IoHEM;QdBA!im$Hv5?<>yObp=zt}E&1-X+qEc7}X@?H>IzN#umx=3V+C4bz znzd%Kh}I>@ZKWCKk-lQsL9%SghbSMU_sg^YS>q+8iQnv5dX&s{plBtaOj9CFO@Xu|?- zI^ydEBRye*MekXZpRrI6Y%_x259?fL4eAm`RGiK-hnACsKBjI$fUMmHoI%ZhW;X#D zkNl1>+lYO{TUZRB6e789#9Cw|sfE~pj_nnDNhoDgX_oVrlpqs*EP2U>o73UpfB2p! zPeA!O@UmZ-dd+qCaDW*wk$7bro*W;_bJ_e5cFQX#6J?R8#Cjj0ar#$&)?D63RpB1B7SDc7-^~ud0rNG zJg#Q4**a;xhYSf*ybNPp$MD3P``44bCs(^uie#SEinLjU38;mLnjD3(2b?%<60~j; z4krsIT{td)z1EGEc^2A8Kso;}xqx08yKGKQtEX5?ZnpFp zN$WmtXw7tMr#+_@a?APUPkCQkC%JuL*INu0@Gs}GS zz~WHW=|qzw3*eNxPY_s&oH~2=&;?vNK)71VB}~&Cm^e zkvUey1JZQbQ09`KjB7Wvp(=5G>yr@znJ*NzPHngivxy~=ecYT5!LgeW0sd%D?mKCV z7hGS#fxnb%XM}m+(VY;P2D?}>A;7&FB)-hfM@;liNfkNVk)Lmj1={Eq4fz22)WMFy zVnh1y$8BB#T3W}UCvT9HlHrT^=a)6Z15}lGFv}1dT=XWZkVy0si{*%1QZQRl4_~aj zm+h2x+z^C6Jm-_PSTs2oglg*b=)tZP(vpt!j;{nRR32-KC1M0CcByya@=0*w|Cw0tXGc(ypyyfDb&??i;x=3A&8EPcL z5)wYiMWLe=v9LK_$`nG$OZ7cA4Z(#lS2iJJEK06w`&%_D3Y@YjsS0R`XJbRL7Ck2M zH zur6XsRqqatNcGga1;{^^P5vee7SfpNAq&h~X}W;Ri;5A6O~zrANM|BMS+Im2@BP+D z%ZMYojQZl)*7$p@=x31u7TD>kSHTcX1fm$zL?TB71ZR;TBx>x$dlLQ^kn~fl?-aF! z`E8hMt$~wXyEy6RDaS(FBLG@!ng#^O84)odnPHcZ^_)!BI-*BRYOjKCP{%8YUnXL#(bEhEVjVocy0+$4giL%QWNz z#)fD@_-w19Iq3pIB84<`f3V-6S+I-Emy1vkS zed}i5k}mAseHYHBVpc%{1(;!(z37Z7N<+djmc&Afvu0nv+AjdaIOza@o&-|KB%6GS zA@rkSsrT&41-|ivJ@&?iOy&J^`8fPlo2$N{o~$1&`iq;}S-qy;hSfRd9n$|K4c}af zOF`DfED@PVX5m%q9-m^r`2Xx*=YK(+sg6<0)Ra0(9jT5`hpWR>S5ynC4^ymCHF^c)C{AK=P{n>mmEh{mh`is8199a%S zfSvFGyay|w18rzQ6B!4uGX942gqnz7i52+=tN=U}CS{NcEmW3eck3;9Mk3GH9KuP1!-`d} zx$CY=?z?ZcJuDOWGM>L&@Or#MdI7~7ctME7pOB;GAqC?f44C*QGhx0J5o3acny|+l z2S_hLbmHZ(bGiu$o)-hGjQ2Wn>h!U(O+zeeeG ziDKx%ycH?=7%cY*IOIjD1Eb_MNa5v-;KiYZx5kjc^2Yg+5;bChK7={3$*TvhCZE6y z?*5R>n^9si6CoY|O6s6l))<3=IW<1O#kc}!`5AC(WX^3(Wf&i#vP0_<6WahPQRnNH zz9#n;l&SX{N2vc(#W(M&VLSLhhmue#o-O7!X>2JaUN|B^pdN+Wmh7;qrK)r1a!t!d z%OnsWWA_40VNj`>U= z*{9D-O=LDvP0prTJVvwO+n8uGFxu1*_`1QxCC|UVTWe($8OWV-`C;tqOmJ3ct~3%S zwaUcb1o5*=qFfC-NAYB0Qx*m%&8c=iX7dXK}>+m=5jZ!RE}EoCX9FBMT*GXyiG} zy+^c&-{8TUY2`2gP{N-m(UnKtIY#18WRXM`U+*LI$a&7$m$*^S$f{&#)HcL>VuJ`q zDKEPqUPNsHBV5RVRINrM-3*^0I4~qHW@XKi^{z>UmJAK(^Jef!FDzx0{;qYKd*{Ei z**UiBlrp#v9PZ7$8to!xjNm?y z#=##A>CYm`E^Wp{dPD}vfc2P9hqDTfJjva+m;t!eKRpwvGCot!u2oUb2{n^1{3NNn z5HqtNYqoX8ZQ1FDt;FH_l~Xc^Qkm164d~i!`G#If!_k=PQyv*$mK~C*xkOWK$V+}B zorCnUWoP53UHoK_s!FL1+)?1>&fSMoVgP8BYY`x<6q+Uv?vpyPFV~}D?EK`@1|2Ts z;&V?2oWENNn+zr@D;X@@@bX)Vq@%gHT;m-xf~8l9h9_>5&_|@Tk@}qU7uIAD)IzZ&o1q-=^)TEI%%J9$*>f|0sH189)7Y>Jz zD!*4~@fIf3jABrks&;$>2nE_XOyp%P7X~=%4y;6=jr&uc)$!Wq7*n1?XPj-{-5MDg z5oCD8)sqKP+3+MpRG~h82sg6g@sKN!BFSB>3B;gsjAR$TP}IcO-%Zqt!(OX4!k)?` z-@=Ba6?hb)fqQYSzYz~BkxN?!5q7joL52-Jt#8(cdq-;B3_F3fDs8XJRqGHjR>c9U z|7v-l)LF^5Fjm<55S1Mc1N;?H#+jsPwPws3b3{cJ!Hr!+AZfu#sG_Z6hC{rCG91N+ z0yUQNuSui4@1m*?<(UzlOZJ53mW+7xvn_ln8tI0WqTzM)h*SjC*JqVPg*yYr%KQLk zJzRT6mY&L0y?cL>gDOt$HGZ~VKcct-o=uB@a>{y?u0|U=ew0-TM?+GQl?<^3Zt#0_ z7q?rBnXquJ5tY_i=Nc+^l56iEbe5>`9U+ld32*XRk+J1dfx?Y%wpqeg2{z`lSg23ex^!%#s?!GAnIq(Lw5*4Z7H^EPg4A;38F1p3J`y?kX~zJ;h>^kctt(g zvrrNZ=CyuxXIv>)rC-fngI)PqFpdxz#XP~cH-d_z@>&W@jkb``gAV3kXG=Dw=_vz9 zZ7jic4})4A!B7mDbMQqNW_;#;d3K4X^*XoPpRWl|pagH<#q)eQ6f>3?a-(E{c`L^@ zeTZJoC_Ax-cE`R)J%WN;JPVG3j=qu6?%2V>?74YwRxuGlfwYJsFx6WOK1OuW=HxIZ z!gCv{qA%KUC4<&Dr{1k$Wm@aeb97!3QQk6@v>S|xrXR=VJUDPZU?E8&JeG-MLVY_e zKJ=ilBfVh~5tBvViC%z(%+&J))`*(`v{c19;yP__*t_vFqMhg2R>?^w;F}}Mm!gcu zBmqX|gcqQ7xB^O{)Tq#rZwlmgZvJJrbp|T?!v{lN=)|ltVn?M*^q53^!-u9;Y{Tj- zvyy?zG0(c<0FR|t<=~aeDA9)GIsT`!^14{9S=KxvHlBLQM&{DLXEp%S{XqOv+ z3&?kYq6e?!aWDMkm*l~L90;MR#(?`~ag8ZHp}Rt~Vo*a7_t8#khfML8F6cCKVi|m} zx0%vHr^L{vo6HWE<1kGzft_#Bah@0h+IS8ARG#k1rb#AMvD7WO_&SjU-cWqBqGMYC zH#FWYxz)Q^Vb-lpV`}beCQQ&3=JVU z(QY<<(cxiaE%4v>o$`a8$}c}TD;}M0+h|Jx1d%TkoYp@Xz%5oj^_`cvI9DFPlAKeP z;ZC}0eD_VF94VFQp681>|0m~(C0C5Agop7Q36!t@tK$o42Uh5WR$xo<)BQMSAP@v3 zE!o^^A_aVM8FdN*oJK30!%oww1E2X&aJyzVesU_pwLMEZ$JUYE7h&qARSjfeh@6HD z_I*ysIBH~PK;H?G1WzV;j5U#vn8S2MC5%lbI^IJ$Tz^sY7(?luiIh*~} zRm8;18%=XpSC#xcUM85I>&>zcVdeQ{t`JqZk|UY~0YSpH*<54$w@;?xZaWR(2t##5 z?ST;km9Rm8$_>B-#Ol&++g+n<@d=X1o(&iG(SNq6y8fe;_Aw3uu z5?O*i+$1!Mg$x;_+3AkD-f&%WuO%X}XJI8EQxx4xAvR<|>+)eEi~VA)L}$VL&c5i; zbI4}n&~~|K4XboR>8OJN8YIazy$Z1Q0#6AVEikTKi;TTu^qZK+b2fw2`u3B4cn)`S z21dx%>I4^%-`cj`zqQy_8u(Rt8Z)Xvg@K~)ec+n6iR*i+NCuXNsZ6*)InxdXCgrq&r&U@x zHHgbWwKOuX3kBhIc#&x*B(jA`F-t+YCAqhb>}&5t^rD`JwQmE|@vj2aKD$FJoD1dZ`dF(VW+itjz$JeQo7^(R@P_JpSvJ`o)D{wmEp1IlR zb)hj(+qKnvH=(kCp-hxorT*Y#oafM#R1)RwFk}HXO$m8y$sVKp*&KhSdGg=AEEKUE z1um(aw;A=&t(jTR*q=Usqj5G0-k*M%%?I zRg!8Y+sTN?>xG!J7$ckV`1_tc9lM_OM-4!G1N7OhXypv%%DLd_M)F7b2-1vM4#$WR z)nIMS37clL-e@O4>NO%;YAX|7BM7E01D2?FBX*w1v7M-`BWwKRG_8hR6M<+OmG>i& zh+bNFDYm%WT_#t9%Jk34(PEUk!e+dYgEgTJu8Y;W(?%1zdpF$xr}j1;BFn`(sGRz~ z4$7ZSwL2Mq1M|SC_};n!ONYpgFqL#S;0HICtpT1$+m9}Z=&Ob4amp{RZHtc6t04wn z7YJW(@$|F!%yZd}mSaur{t|n02tC$VAVu!AKif<3%z38}HSBZ|K)Aru z7Le1aT%`)>$V+2Ds+FMKw~vsJ&;Mk&c^LKP&Qa)5_+oZ(v=gRw{d4e9~7gqC;o>5>LC%)%II@g0hACrYboe z>X))#ci5Kdja7A@P$EuZZE5P{O7IxwJV@7CZ>l2P@v6+yygk`<>71%glj?W>bjgDj zia}hL8*I~0`V{A%kUL71tQ+vR=h6*hF=_;X-SzZ#J8t(G^lil=fKWY|CFad6YYTk|p#z~PUi>8ZJSEEcKMTzgAb z%=|D(c8I4d%2}gb@N<}QpwnDtkeZ~PN)S}Y?l4o*ZO5`DRS7fpu|>z~CF9Swj)|+y zMjx;6?r2uw{%%(;*siEJ)n=W-;pXmVCR$9|^w3dfO7TxuA$OCOCiBlz%5{}v2n!(u ziVOt)-s+~3#KVJ1Qzxex;K{_elQ!wJCrO&2KRso-iH+370hb0qE}z+O`--3Oa|x( z*j)#W=!KI-pjP1Pqww1K5V74tt%&SuM!Z%ERhVX~LMVaWHsoSzvPgqsqI0w6bSj;r zZz+XT4yeSnqP`dUuDBGxZH-Iw5E#kXNcc+TDlqCBL37N?SzIqThjNSixD7KO6Phhv z53oUf-yTQDdHR`covILW_*5D^dqzFazS(m*GW3+?9+}rfq2&u5HXeo5)L!f*Fk_Yka%AAL;&p*AQ~$jy@wH?zO54wbo%8x^i-BH< z*mJ+_8IN}_g4R_u2>hH>xiW^;G-$@#;x!onYEg8|@Ls0&p>vEzt2^~N*ggk@$GXG(BJn1& z=XP*@7zrFr(@S`;on;e4Za%C8qJRPx93V8^<{0RJcpzPOl+K!RuZ5}03q=4ne14Vy zuAIFIbJdOaxDSd>$UjIUV)6v=pUPRBzrq-%Ua| z&2AS~m9tL6F}Xyfijs0G8nPqK6C9{=#g!#*b$M1k7^wj2rJPfFn=>%($zfiDcs;J9 z&6K@Fe6D<;_9iP-OD-XtT`6zY3?$c{9}a6}9wr5m0u~7dNwA_hIGivLwvb$BaDoMB zaE59j-H9Z<60bbE zYcVn*H`d~3+jrSLeSuA79mg^;)kv}-vvHzZ-tnxp+KPGkz~^kY^38dQQ}mzVpAfGv zz?X1r5iqu&fUk{<^DrQnBy=*fOQvr{n9LN9 zAjOD4f}j58N#?+D`UZFr3zmgI6{?nvFPL@#{=>OoV4;m(qAknxa9V8%4{*kIAf`Y! z2lq%BNabvRZfGB`Wu^5uT_r5=44biTBBPln_V>eNJ235W-}Rl@gfZG9Weog+#@T%e zb&u5U#3eM*gn0PxV@vf~J^cr#$UI1GgoE@k0pa{o5i&2?_4L|`AyB)b9s=o#>3A%8 z3Z)Kaqz{_yRI)sDjVyPXcxDsu8u!6ZQ+A2ZW-et+9a5zXG@30TTVoE)D?M#+Mn6Bk-B~xkM zx@jFEZ0oRNv~i@ES_R@!-f{p$(Rwg1!;J~u`52k;IRe^dh+lgS30B%5`wTL`t-p2bbGSGX$ zB1+;X${@sw*$q{Iq;uv0AbdzU_9&m0f*_0rgXoovy9kEfw<({7@oU;E;7O!j)jF#7 z@)*bQp{KEsEz=GItvK-n)(8P*OnQLd>PpJ(I{q9mKFIu*jR)nDl#kSFV)=lO`c9s| zLF^h?0Ri|xXG!JlP36X3NV0HxG+Yq@`N#@PP(c^t1g0Al%fjG7H5@zD(Tpk9Kyi+~ z;0v+|!6!7)m&j?Sb}0ZrkWBe`6+IHf zN485}Zm4hAtrri>28&MoEC2lHzXh`~yj;2-q+y5XKMZ6T_;=XCOvg>)&z@Tb@^LR& z$U*=5a&!A;;mS;*E$L2xMB$szLPOy_ELHv~t>4h+ULMuCS08dZYp1hvhx;p4Xh}pM zSsKQH^wClcK3XrvH=-X5$x!yyN8@?h+)PAuW^th{9BFHr7y8%=&wpFCC{Fj5XtYI^06aj$ zzan1`;>^_y)=1*DB>dWaC|O6-Itf(SfJooDW|Eg#BN+Cs6S49v4FphO5&19_G6QfJ}Uo?Ae)un^!B&l4r3j zCI2R5GITlXY{{|{R%&5sPJi>V7Ej;xC&xp^x}oz28skSFi2LVuxOucbW9x7+(_~yT zt`3a_k{q>g7|$6E|I+^V&oQi5rA4!dy!qsW6YN_|gXL7fm6nmM9|D(bx09dr>4g12 zJTVq^?RjeG;Eb%EKr~ArVXO=vYWhF;JqiaIl4y?zp0)VZ)Okd0(BW&IAuiYe7K%(A zlkgOI?QfFQ#R{p5*^-YjNao(0YR~>7r#^W*-}$=w>k>pSy8S zB`+13in3N6J5CA&TA&*Wt(somOfuw(ybe6i8TQ*$ha9v16nt&oJiH7i7|4>jnYE_9 zcV!4_gy6YXh*dLjLo(D0g7rC+>*nD9Jvaen^F&JifTmWXtH!zhg)(GSh#s#hQ(p*Y z2dIyhR}W^r3>(xN<1UgH9!KW`Y^-s9P7hR;l#TS7*y|h_7$Vb_F(Ep+BVdbUCVJtu zS))e=Lh0{!HPqLMCsx%>FtVidm7)_HoGAKeWeI2}%1s9jBasgA(}w_Rr~3vLA6{q+ zp&8RE2@Aa>&pDb<5UBz+v6*Or5pCej6GQQ8c1yO15%`U^NEi@O&d~bieFzBZC=v|+ znk2$Pq^xyR4_khMheN8(mU8r){Hi+-UQ80`R41Ceo*0(|l@N6eDxwC?@4iU7F|tRA z>c}oor4=&57YNz9YdsH3Zsw12rGeOT(E7RRsVX+1;UpXChZI*}Xm<1@8y zpYgXx_?1gLlwC8`lU%>`(s=UVF(W#40Y9TUlcbH>HSL5KlZ}Vy;cBT4kbRP?KLC}X zUfS*ZY3*3R&r0&`D9xQ0cfod( z(iOs>BLNGGySU$w#l)!~u8C(MJjVv8ps^!Wu8rgg=gcTQOa#aP_fh`KaIjhgXpl$d zJz}c3Nz>^O0|Ev~NwCa53ecOxWpaEs(%Rej?k7=&bm_bV3bt*gt*wYOJe+)rIA!KY z5MJnT`cG=$Pw5Cfm&Eua;(#S&amkVeR5**`dgrai_u+9eE76Ikk=N2%A37@J26vJw74snDcfdts?q@V8A&H?Oqf8s)0LJx=jdRr#VcaTyNu9x668<{?~i~+Kj4Jw=2GrRs`U(k!L zleTfgC4t2+z0tSnE8;Qp;ICVcAA(lzFaMyyQ%_vs`uULHBsxe1)ou|hs5q6cMBStz zux5R2nk5b*7Q%#+mNnrwFKM4`KL(6(dAp?_F{hIq;jPibe;+z7e69C-Nf$yge%Gx!Q;4oR+i6z9IO56#jYmJg~w!tXYOtAhn>- zS~j85N})+EoZrsj~8n$!+DDDJVAePvNww!1=AaL_k2Pv ziCd~QAoOL^6VYZ&vLjAs!2Ad>GWpciq>L)a9q-K`f?{iv)A$lwgtA7Fg^t3gMHkp8 zo_rj0GHzWf&4)UH9(HTMdWsP6Kr<)B-fV5P`l+;xWTmbVHgQD)t~Xd%Jfk^7m9XG; zG~I$i8WzJu0zTgf@Iu+$OhbZ4XeQNsFA-%m4U$BWWwyyeEGBoqp_yH}%<8NQ-)gCS zqLQ>B+srDU?rcQl1PJY>FiglXg5H!SH}nz>2N`NdX|6mh?NXl?Ff0VyW_ zdsP)rXV#Lb^lkcd9wBG7$*du7^k?4>YJ6Uc=~|1C^{T6hc3q5lf~I3e-s$4-m!|6h zI71nqgkIgij-CHl=OR-pqXUs|uR)D1d7Eg(Cb&iYu_^AmcYJhmYK%Vh@F4q08=pft8G&9YAcV|wiaBHc6l?^rmVX@T)B<|6>cmKOLf zhcGBj4&yf4w{1u8K`_nrgnX3WBX*x{ui|s+@nqN+(pno=?76u($(Wl9CT7r4VL=2t zs{YzB$W3iP;E(W%Gmu?Ob0>_Y{XFlZ z0lKTm64t#Ff&hZ$r}WzlGCvD!_YtIEsK29(8UG^ihwx_jrs&)MUxQLc$)G!v76Mgr zO_40r!46|^rebORQr|qkIuDa1`*xM>IHuj(sgG{|_Ff+8jpFK-mx)wR4`rMU@{ z-TEZ_g1q+}o3-WWsP~W;3uc4(!cC+}B0khoPm!l!8HuP4W(<3z&%vt0-!50B;pd@; zY7ih4z%E>5VD!-W)9^zbm+*Ew4(!zI8(8ZiwMU8-jxKY%QvG)F6DWW8zPCu|K6MpM zqNnw@M=@K&{_^Gzwb)Z8GSp*%am3gxnPH7i;BDZMLQg)bk$uk%sM$zngm9)=s~d8C zCTh50uGtAIopRtn`#zG3J)|#GgABsTyne3NQVk3H#SSB`O?x9rIe?R^U`}?d|}2o z!`pipFNdbr4xDfaL1lw;W^Hmqj_JAs)4Y6BYpCMfJ>JbM64gpmgk+It~1 zv~c!&P>U#U8jgWw#i?+FyuxOPvh0(X^(VaFan}=qxv>gWB?HQeHzn8dL)5U_mgK8| zb}!WW7uIvQ?j)MEgPJyV+TJvc#W!(ruza1@3S^ZS$O}#b z>C2in`#NyTPg*RQ;*nxDuBxJ0tD-Dt%7Uf@FsHERTB`?nMxN8BLp5QD+x!NBxI#?3 z&3Y{ol#?eP6wvj|?$ZV&^pik#Hye9qkY^^RmIz~GxgO1hgQLAe$n9L0T_j(Ac~6&} zR$IPl(9LhTHh|m-LEu!tW+13R3n6p7ApuRZRliSazh1XiR{f{xq2i=qx@0AeRo(hZ z3e!N%pYN1;Ux{~9PM9De0?N=&wrXH`CY*y0MTvUQmOVSd?y>(RGJ>JyeL@btxn*Hg$DY&;|YGl;?IA+Vu6z{6{bmriLYpTh& zA2wJIeMEMRmzp1_<%>15uXkzZ=ee)`6$#yIz>cgkdGef{pXzx5nYxW% zV3RvGWeOYvHV_SCkS+0+@ZS3`?B-AN#M7?b$xL?_uN^H1zl7}O&t=~1K?D8TUV?bT zRf6>8V-g>2H*T98y&c8w%gI!lD{JJy8C1J4ohfyQVKM5|yXsJLO2(!3x0tRjCK@fW zA0F>_$=E&{Y3@YPkRPH+F>Wj;DSRi7O zwXEip1<7`=t1OOUQ6@t8#*r5yC`RMlX%Juq;!>dF3Hpt zGtN%>p$E!KcaxKv@x14M2d{i*dT4(}0_%scN+o=DmH7)D^XON}c<`;f(AADu+2Ij3 z8{V0glW%XaZCiqW0@$2^*q@rv`ECfm9463B2amlMrK5mM9%$Fhx9OpMAMoV|-Z#;- zVO3|nS0$lkYn%RZl&+G`HIm=vFTi0V>lFec8L@?JO5=`(GEKWm(mleOMSU&@?XMGG z&y>7(j7+17KDs!|O%5HEy@IjiIfX|3SCc?0r11<3W*H;PtaIh1&PyP_{-}mOzVJ;r zgq*@`{8zFL(q!t%pH9QH**M$W8F}xB0)Wl<>C{j}we!B55Hjj;nGlff>0--%)UlnA~G!b_e2Kfo7%a8u8|?? z^~Q(;nyv&wR$auw3zQR89i>c)p*n|ux&*25vsEThVuT2LB}(cZEoyGcO~yg!abO<9 z_u7vT#eF>G&b$n*u8@WsOUZc|Sv!3Btw%&SD!=I!5w3^)=2+=RNvKZ=5PiK|wQ$tb ztHZBE{XQb5T^FZr+8L94uvFm14h|I$NTE!+@q1f@i0!!-vyh>qos!)V!n(_MFz;NC z2UWGE>o=KHE6S)#N6*dwo;VD{5*eLU1GDR4VEpOpK-iMU#h_3NcqpejT+jHzZOac5 z@(c8XDl83>9+Dd`f4mvfeb4KP@i<~>M2{22o1j#^10yYBW{iF^8XX{Ck^v3OcnOtI zqk3~Y_m@(|vsuzHp9CtwKu1&Nb2q-Vzt3XCgPzgRMfbzGG*_rP>U1Vwk5b?Js`oYf zAjmd?3D&gJex~jZauZo-FE*Nr?qW()sV&h2=Y~kLxge9U2_nS~_NFF!jHo1Q9}UZP zRB?kf9t{I%aqzrYeM^C4st=eiu7;HpWwy)hu~=1sal%Fud)(!0!=i$jSYj}61XZa% zgVu!$mAxJs+HE{&5^^I^$z7zjRk8ipGE*qLA)1&0-9W5jiC-KQIAr6T6I&5yjcwY8 zrknqn3*PIhWS{2ed&l<-Aa~@45xVm+W*gi;>=btK#Pi>j?JH3n z90h9x;HLQ+S|4S01Yt5ydrteAETBBrwkI%)lZezeiT^M{whhxt`g)4MBkNmG-~x26 z$FC8hskrOX86gW&cN0A|-J#a#etBGV@`3R?t*p+|?;Zn9wPOqWO^(6kEIF4!+y(~q zTh7*nPpmG85*gR}xGOoilAI;++>py|<4#k;-E|=x!5!5Ecs`WDB(e`)6a^KK4Z?(x zi=>iEL0nDaPHHvkdDKo->2gf|Q|v3=@IqzD3F=juZUp&!cRp;zXj9N{&f;xjveyj} z)wf6JMdRg(FHga{3vUe@FIxjgPsiUF(*9q{-7KRI488qa4 zKsEIb$Lqx-l5oeULf6CQs>$e3s*zVFG*7qfA*%YT#I05XVH2<}Z}S|3?bATTM|q;j zjddfqz>F<$X2o+?24*f7*c51GqQ=Ol^Q3XOq=u#%T|&$RYH$gt36(@WC;-5ix>2O6 z3D!)EOD)A%Z5Vd(Z=MHxG)Zvu81YV8o>l$bqyD*8qyjc!s0DpOmC7;@f|2^7PS)iu zcxZJiDm|%b%3=ItXP`QenJ+O?n*-|5CCBuTv;c?yX}4K(mPNCIEwO6f-i4s=n!PTl z5UuTiEU3HGOP;INlD}W}NH$tz`g~Xq>4Cd_;!yTZFQrd;MKcZxmS?5Z_a zsFADQQqk|KsFzp7n0{qdze7Bx+p1bzdCv)14VVdDAz`yd6VnK=)w2N>+s8N>|x$=^aH`%R*7hN3mNyco5$ zbY5)tKWOl5{>;<%0Ld>T1Detp9(b?w?w1kug(Uz5I7s=Us zNZc$xRC0tIrU&T<29ZtXBDRL%8PP%|9y;~sJxE2-sPTEsE1#uE@w|LVrDz(5@j+5w zR1e#V#4;eLCq$P(_Q}JfOz;JQ1@N4!mB4*Hz(H11v4(x~x}MkYxA5L`{{D)>Wmk1C zl?doC>`f`Kgf($NH@q!;07)dvKOv5r;pfeHqYduV@|I0HQ3zzUK9yByawTWG?LHMY zm%XBtJD)ql`1LY8}uMSt1DTI21lAtuC{@H-^Q8I3!amqt+ej#YCt_$ zbbO}E|B^5CI=#GY$_6g<@f+N|7h(PcVgle zhIgozn@ax;?LY{@UpF_DZ7R19j2rLac9;4v#B{En_)aa1Gt4SToS9^@7Fxt=VTx_l zvLnMjouF}3VQzfJUg7^_hSdC=g>|0qj{@rgZL=&2fEjg&X6}gPg^12wQ6@|}Ry@~9 z5`0$yQ;u%5+7oYRFIfYC8df1-)SA1ndA?NoMt&cuIu$kLFtgt~zL=t2Z7X({tz+6~ zkRCgfX|J``_4K!AzHt`58Y|vY?XBrk!Q_XdeY2~5jXB@2_Yqg9{E5T5zwT?6#ZyTw2 ziHen(2^$xO-}UI>a2n?F<5Kav^}>~r<(YNqUjie#UlS8}u5qT;GQBc8oH5=-ePR&jD) zq|+@cwyms-s;7^YfxMZ;I0qV<^H7=(BNvdo<*yKYW}Rz&EUVw-CaR60*49%SaphlW zxU$t5lK8K9Y)i`a`Gnr+&mjHnAs-A*smu)fn04EaQuADpZwudkQg^a;7LQi2)JLvr!l!Jr!}x(KGR6 zk|(8_7A)9)espRwGh4_NXS4Ytg}Bo|I--HY;vfS_d;>zZL>a#UGI&jZA6BrD{Y39J zY_}#Fn*Cp$iDI0~)Jw=jdON*zrq!7!)F!hHK&NAFoV!u{9Lyj0m&Nyuyg94>vvs3G z)@*aXM5FE(m2b5RzVb8|Kp43a{?|hxhZhzEB+TDW$TfNCTl;(82}hg?(Ko(^i|+zk z4%!}edeyN?Zq22=_#4s=#^2Skfu$errQXgVMczJRJDq4L{*9PbwXVb_Ts!%ippADM z*-UMb+ZPIhQLe~qlbLijpXH;uNt|S72Qssn996FY&Px|o8B>M8(XZ-|GjqVz|0wIv zcye$8>xZ-FM)nY8DWhkn`R=E%IaA6IXY2r@q*odZ&TYd8tmCVQ;r~e}b>eZZ$6Hu> zUuD>hyvo)R z@;cW6XyByP2OrK6mNtK!GEkGvg~W<~n2SVSc?UZfC(mu;2A#B!p#V1e8mjTfk?xT@}O_t zc7nEcNEq_BxBLA;sN~NtldDSM#|qtDoewK_T^>0-;x(DxqTl&npPo zGsxd9AbnlctxHAUa#}_SQT$Z{6CqQas0RX^0@=L{3N( zd^i_Tn;z~c({HB-cAkXSPIk-b&c^c}sX80Zi#-4$D5W@H z4|cPd!)Vb2ZTXqsIp<73(P*YVVozo39jAPxpwM*B@=D5~mH%qqTHDmrI6?|Muv)Q( zT;&(B>=MgbFnWAe;=%6uw}-uZ#q#o|;DA}uDZA-kKHuR+g$0}?Rx3wciE7_)+c_Z1 z^;W(zBc(k(;%x1>?nq}_+lh`rp?9-?_UZhhbvJcPWYbntZp(kfTFJ8foEk8% zJjKRTmWkBeY-)YanFWobHRqP-)Vl)X95*Mok{e{{s~ti0!=lhOw+nkXuHbnIDEWJl zgg!~|;EF?F|~Ud1XcPhGmZ_E4#a^_-l+Su$ZkB**c`hEcj3XVo1C9VsnMF{-{$Oaz|R685$kF z;x@7CZPu>n$RH{xD4aibL5k29LjraMM7**mIwU4AC@9c$Shi}pgo4`Y=6?s?8yHGK zzcUX@Ws#%KdlVTBza8xgkVUS~k6s}Q3=B{Q1OahTfrEiTIQoOV z`=3>>yZ{sZ1A%`j(NB1D8DvZL%f6UiD;RC-pBK>qV-y-{QU;P8qik5jHrW^jrBh_! zGjtRcWf9akUa8h){z1QjSJTz(^Xxc%kD#>Z%}U4>nxmG4xl|f;$H2vY zBfeWk7SotrL{`+#Vk?Fk@2@*wcYznEDGGYWZ$E`*v4}n2$qX+d5#Z%ss~FtUd#W}J z(^2>6HfEQy_uWX|2zidYtbiy({(RVmnF%FZ;FBW(@oe+wg1a^V^QH&<(@tuP;yCV< zBp(v{HUeXK4s%e*_)8oe?S96HXe1)C*nJ5>RZfQc95XX$e_9u@~zh+CHz3wSde7zZ{N|EuABWP#q)bReLAQ2`=o& zwQrpf82+YL~3idhN9O^kKVlyRi*+@ZZ~@9&K<89 ze+U*pyXkBh<9Y9%-6MQRb(L4_1r|B4%VoEBVW$&!4G#l9J{CuDb^(E*Z{G{(Y)=o2 z*(V5aR0%*9+lYDW#5N3xvG>|J%(B9zlpMyG72TviMF>SrighUb->@l0Fy`wDaHNi_ zPBKwhociG3GiP`0_Ho^3!HGEx$5n715xetcZ`hRU8+*GrO#7hQe-H*_MIm$+Gi zHCh?0(Tp%Gd&5k_^c(=Gdie=tw>zJ$2?pfZXz%*;_3O*Pf7i;7eD z;OmUe_aQ>XVeDO0$#uBm+?W4}8ET+#JLBhwwj6$39Ya+jBCX%-`_~NanH_y4)H7Ay z8tDxD>A(M_CQ`jE;h&q^3l%**;;GXCxzrT3jJj8zH))zfsp*ERk%ie=>-$XMtGkNK zuU%dY!sWi?wJiq@w5DC)Ssqb`ij-D zU%fQ_(;!PHHK)}#rzO!-{&9hIy|=w{(S2$m$QV%&fZh$e^{1Z{KmQC=S1D+_6caxf_Oxx@@E3#aA*K0|T5V;|?qkZ2ZJTvjqh!E8=2H zONVTOtHRJeRPigiq@5-l4RM4frmYPigI4~6&RQ~m^l&L%@W~XAO|7(|v zA9NO_f|r~1z-!Wc7u5kl44%6n!Ywg6LB|t~NMSCx|IGkD@CQkcQsei=(u{Of?Wt8k zeL>5l_pdEAo;Mf%5P$(ey+LcvTg>OrgJ{vp5x-mP7yI4AmObkNsUvmSTcZ@)XNY4j z!H}e~QJGuH=L2Ih_clQO{c!5;_OG6PTAaEsczz&K! zDvS2ZVG8Vh-ZN*0hx?jOn%xd?b<6(!Eo%)eErwUd-+F7jWY@`)yS|JOGp91e7`X@( z1p$42EpQQWTw8u|*yMe5vD>a27Fw>$B0o0{dQ!R`##}TwXvQ2iqlX`l4og297XA3! zMGWRKpiP!qjCm(<*l#BccZ*ESv(H24tW z{kkKN#Y_0Q*arU5aH2DKHw|v2TYHAKJ4BUPp-|laie@rxlCAh}PHT-ygF|S>Zl`w0 z|6;=ato$2_`sQXsAm9+=VG#EuZ{957!>LJ%V~*V2wsze?ce>!^?tOK2eMCkmBIB>! zxS?cOQ4bQ&Z$IB>GKZJB*<{QeUp%){{Ks4j7!eq27qDPo#2kj3aMV4qchrGwb0ENp zq9}4s5w02#bwU4^?<1QhT|bsTJ|e1OvQ)_zUwx{+Dpc|%dFq!n=tzoQU$ETdO-US1 zNGY!B4_RK@yBL;OR2}s3p0h}m7X1|U^Vd-FR2PtUV>f4#EBL8N8NyXwHY!63{f#=^ z)t0L|PRk|q74{`?+I}91C?MyW;DQ79+`*mqX37PY+PS%PwRa4wTbN}kx_pq-5TJ+< z;=?!CgJk@-m;N#j@<6a#qIL>YTkW=!&34-k^beCa3Rk#bvtEg0g96IWK+C2wI>YBY zu$H*VzQu0mEyQe=h4zv1RUAEzD}eoprTybC%j~;L(9u+vv<~bQV9lLpA;($Lzt|c*q<9Ff4g1h~b!i zEAjvODGE2{-a%i%eEPVwPd5I=(#PKtabSPoX8ry!#3A*FBHHpBMbR6yW~jH@j;Kj0 zJDsO>a7`JXo_#mfubHB3y(F{scbhYap}-IVldB*^l)Eh+FMd?~Cj=}A4&)FBCSZ2$ zuCHHXL6*#s`jO0V`F=ZTA{SFt6mJ&SGk`ET}>{?Sa-Is{&}EW$fY^*63~_zK3;U@lBw`_nSDyE zs}uL_tvjza%WLH7Q$sTa=wO{yDOypv{Ml#MM{1OsNH}1>v5N&m5u6$8Q1IL#(F!`) zkZpvtMi+{JQ>!APBc5QbDs@Ul9D)e!DLgFX)?f76J#;?@^v0k^ zjEtV~u3F`VmMxwu9(>RhS}|>-yQeXXR|cg8{6$N4JKz1~zGY)IEj5I|%(LSs;Re>4 zT!^Z)*G*%)Dk>|w9L39e;WhjAYjNu^14qCbD^zE#$oO+LXn&0RLID95Q=#fL1A^+; zs>Js;ZdZMAr;*#HZ*SJLW3)bmX|8EnZQ!`Ztx7IkO}UDlk1OZKK+m)g(WgoYLdJS; zr_FiG%3uAGLCJ?``{SG&vQwV+0D&gRgw-XPmAECBC4yujbeWgX=!S>E3~st-1PmnO zZBxtktP^Mn$z3K7<@*9BYC?73Eyw5RbFHRE9nuAtwYQfAFMVafa^~x?{vL?b#wKz@ zi>aS}`rXRGR&M2g*N8^x74P%{j&QY&-KJ3atDlnr{;4O6{#&M)4TjSugQr|RcaSIp z9On2L5s5qtiBiFcGc&Nc9P%|6u7SGs(NXs9C<}<7RGJ`B6q(!&@xsv^zaf_zryLWO z?FcW}O9A4<1e%DM3Er`Dkb{3#s(Erisrh)CL%ebQ^F|hoiI9a3hez$e$R_8=`jL_K zKD|lQ=x2b>jiNvi=2Q5j6D>ggezv|c=+AB6?S{JzW&pmM~{YdsoP8)0}o6lOdUNkuAK7wCtd2u z(ec+0mhYV(9r^EnM@D^KSWtUDYUPIV_D^L;kNW+beextIAzzY?s^^stE5QUHc{qKv zL|&_-;FQT|9(?yvgP-MU|GZpDl<~`U1(~xG?L`3!pU$TMUNs|rv?ESNmp*Ge?`UtCIz1cnm+$RHX5mqJJ`TayimjWv=!4{C)^cUPhB*Liho&0T(W zfK?B$t1b1g!oPH2e{0d|u5h+5dwq6gclYt`?#i63b=HTut!zswnlnx2jheB20?W>m zC&Dz7cBEWeRDVD6UB_g~3rp2h%2L0`sbXF|FPWFkN{W-WbpGEIk>->XtDcQc^LJE~CQbg3&E$mOh@8X%<=3(#AT8Jdenv=YXU_eI72xcZnt(2L z5n;r>F{Ii_TEV(+De;vS6^Lqkl$e%3X0-{ZFVg{iMq0~Tg zNu+$F;YD#6K#5lpp(+c?p$mfrj9r`Og(>$YmWG7333q+65} z2@dRWfUda#FOk+2xU zKzxn^H6j@QhR=#zxakqmG6IRQqnyVfdc@xg>t2+Pk|||T7G{oN1j|3itJ)R|G#_hz zhmWKMR09%b4y4r0f0aM`7@J=pj*hC=G5Px*dkj*QD$2Z=NKI+RsfdclmAWf^y${q) zDJKU9ry?V!h6X2rRq9UzrjY%Zh~F`iA61KXyOaENk1I8`#N|REasvw+Ug? zNAbO51sIj?)7R9PYxGhUvV|68B1}S!SJp^DcU~fsDN_thHAw5yyv58eCIr`a*MyxRQy+~4P(?9iCF?6jJf{xsaXN#vH$(sdqV z+NwtBHkG1XHrp6`N^!oXrX98OuH9lmU4qO)wFx{e6vXtDb;0hy{|t#B2&@}n1Zc6q z37CNT;LAcoUYhhuNI+>`;1w+3rhqhPSGu-LRuM1#XQ5%+$`?km^3$GK5gPsTPm5gv zD+3P1uJ|c7PyhEDS^&pk&M&frC5#)n0W^m={|w8rEW;tLUwcji_@P%5-gKJgWf=Pf z=c>1535f8BlT_8vZ)M>s@s>KcYnJ}FdC7`Dn`;{5imR(%R>!z~9(h&d-07bu06gXv z*1R+D>50_|4Qbmf*Hf!q$yF{*`*pc?Y8oNWXVY}o_6Qy<2w(3LbRV$by;73pUAVfN zM+~yMY|uljf)y6j(&)z1J~4b!&5P6S$^oJWdxYs_X4^zL!?>*q#4gw-wdgDH_ciTYJ2vn&d&8Cow^;TSPPkW(zoJ4XH8eUU1w zq*7l|+|~KZPvf%^T5^$^)cd2pP|X@Hspj!~9?Y#c^aRrRbhPZ+A+NOhcBLgJtEjme z+Hy(fgr~|tGLJzjxbj16EmUCQnLa+`_t&? z(Uh3^d0SFYRg;o}hWE4T6JJ2Ok|@>TdFADKs%>|-=DZq&zYr3T&%E|@bo^x{Wk zW9`Q$#cGzfzk2(NtOs?Ux2`(a}4aYQ(hIiIXCh9?LiQMND=dF!Lu=n zUQsipnZyejTLGHGN)3yMMt(9EuQWdhZ92!tJ8}KafjVqx<_uWp(_tl1GU8&>X%6f_ z0y9T)0q=c=kv;JX<*lAk!{+v{Qi&rQ0Z;=5^9&2i2hL0%Jc5V!kI-j2PSGNL%CQXU z5O_{v#RKTtPauTyol63o17q_pm!a{Ay;RlxyeIgd>$5ZpyXe+p@ZJ0{S5S0#8F*!i!3x z9UEI4xa?lT7TN@h|v^nOk z_!Wzeoc$(p2z;{$yzN_%=psVv_D36HP@ZqBRdCr|XB)PLlsPWjOZS2E1d~Bc2~Q9~ zY>{`f2rK!gxz@D+C~v|ivfwavAg+^ zqsXaObpC5@>3q6RDyd3YrKYm)re-qjsEj(AmR&CGljci%r7uf~n9oUp5R3w2Ase@s zNZ^Lqjueu2N!TwgN`eksN^-_}lx#{~`HRA*m|%{#-9RMQWa_9e<=$}rdQ$}iJw)(i zqHMuh#@UK%Sx+ z*@EmB--BkW#`vDs+rz^)22(Sl&5s)4onBkGl7S1Ta3i8xs(VOnzL5)8goi04B;m}0 zK>-Wsc8aDmES3z(jcbQcyo_As<`694AN*;^Ai_JMz@FQ}Y^YU}Y9_4I7-;sdEo8uP zT_Fo)!kL;i0Z}5~vH22rJr*pswOy*K4+xUX{@g+mB%M{NA|f@B5&u0i`$T``QjpX? z{r|93#8%Y{t|`BKik8QE^<+iOYh3!~_v66K0z-M!%n83_d1N^=k)iE5XW)W+U{~vC z8ES)*A#Vyy_U|mLfSR;law@sjRSI66yAu+kZIy!LpM^PTr5a2h&oG>RpDmrmfE2mLG|#O`%vwv0?*CA>VB$jBRSh@_~G zXv)6|h%%K*EeMN#Hbx1%t}k47v~1mx^R@J=_D|Ly`LwK3b=P+3^vbxVXELT~2YS!9 zP0M|q|F5SajUI+QB>OLiU`%(@RQ-fW^WN%_k5QoT#fn4y3teyigx`;?$cmYJYrnWa zM^heTL6AzRG0o(AH3#^}!XZWyY`ej@>+2B0TJ_e2F_DXm{s?PLAqiC&C?qnSrl~0) zCrR@Jv+Va-LhvH;T8rdjJz=Lq28vEyQy0dC5sIIe*~qX{s^uJo^wv;7`^lB|L^ma zm5q75Z@k{y`}!MR?^szGkrAM=K?mzxKTlgRF$%%#H(E=%)xQyocKAutSiTeAo!Hct ztm@9}JyqTNXkt%x=P#;$2s`tDSVW?B@js4S+{YiNi25CXI28mc1oK>&+xQEMvz5jv z5AtZIkPae2{?D&Sf5(yQ068nJk4*#s3AJ9uvaecXb@zinIemdEelzzht+71%Oj*WQ zZ{jSca*vDW=a__gj$g%8i&$iekqDDNT4)ENE z(dP~b(O2K6b*Ba!c_(s$(IOJ_XE;k#QI|ffucVYudrjTaLA`5}M#`rWv-7gkM#g{< z$GBgJTT60Sx2FCvSknDoyfqF)OJ96KPJ6{T_G02U|)b`xA8m#Rsn~exLdM;@oX@IjGC61K7=jxutXV1mf65p|>{l9FgV!UaWt3ZzuQ zvi)8$?6h>>C^A11sZT_PfS!+n-Dt5aB}5Pqhr8bp8RDTZwYJ?;YVG0iqZAh>CTm{| zkE;G+(jKuQK>}jkKnXn)6cbMfg2vRcqZDTKw(jDX70w!aLl^L#rN(5~aH?*>;=!^h zJPTzZ#LHn~#Lh&dY1+ujCMgCpafF(b(E#tsC1V=U^1n5QU>E1vMf;2cKDSElJ+b(r z4EI`{N{bA~3QRiu48HGx0DBcD9W`cacVaRWhSGDc1_sBf7atgO`8~YY&c_wkbD9G~ zTl`7Lb+@K{U3@e1>s{7YHsVc(dQR75#arxOij1$@wfTa#;15Sfe>akWBiwzx8+)75 zbtX&PXUde@x9=NH3Qk3Hb0{@9Y52bK3z?$)OxoS3RyTG_!zv+a0SQkCUTZv)<*fVO z&)pD%j`|Z18f;hWPe1WlhWo6)1Sf4Ci<}Om?MQlAoEjD_i6}$is6*oKP+LA{#OVC4gWg90XsI zBYJ%x?6+*ewNqL)#w<87RWbg8u`5+#2Hs)4=-iHC%^1M~V+`>T3TBBDrVO%@Ce>u} zrLF*=@|`r#nmH{$N)ev35!GNv2XFD$=np>>MKd)KcE)k>s932M2$!hx+*+fW+Qs6BMJ-%@Tx z$ENGlC=PTDgBWc)Xbhh<3qNDEm8D^n4BHmDHkML@RUBv@GDfAGE=j3WZzODw!<`)R z=bW|9svgtO;eI<+Te~i4FX^vW^AgL2%HsSdo3;jNwUXOvjQ_R0-M%?* zWf#V33+V`ujo*N5&kPLIBYt5*n5V+>eZ!sqxz~tu9Hpg{n2aLE|f zpeCFDCz2sN!^ePS&{ixH#X))x-xDz8;V^dEcQT}LTVr7K8RCR-lD+&h7_G}%h|BPn z-#fE|)#X{Aw|TSD6Gw`M6URp^eJ)9hMm3yMr9HliHlfW|!GL(d_N1o3U{$H~2GA>- z1O?U}*_O)2Rfgu~16;FVjim{C=|q`Q#zsp_K5w{*LBvXP_@_%bnsLUy58TyW+-wDW zl;Q4VE3EvFr9$$nVz^}s+(KvgkRzgsq9OwG+BNUd%DljtwO(BpyQ!ry_Pd7IR$mN{ z!FREZFG=|sYbY~8)|i;t7)|?o$}`gmHu3bvXiXzkdPEF1YF1Cb;+FD368YWk?;L&& zT$P^{9X#CA*x)hVbk?;y?OJUu(r*Y`TR%@X(_|Q$SsIM>dkD6h6|~|St!4x@QmfU9 zIwn#Ur5E&3GHanCQWL2c)QFDMymAhl3&g~X-d0NIoFkN2jG33yFEgfUyzp#s!u(0T zIiU(IzInV$nA>mU)X0{GyyxzoOEJuf2b{BpidOqo+A10pudnMb8LvDx4tnLcT>Bw7 z>RbGmlFH4Wj=wZ@Z0_i|XP2*I5r4n>q1rp%3!9kD@kMy!yU_Ld;B|P@ge`P2?fcq%YtOG zJZV?JeJAc+vHP!s=9=&oZ@es96Ko07Ca0&w2Ddc2GaGha)WxPh`7)LAWD=rd{_yIW zp0r>{wtWwSE>^`ZTNbF1t_*ApxKB7k@BV8~+v@!>tMi%Bo2jR--BtSkS4tA%eizHr z{%|_!6k4&X+x)c#%b)v@LXFwVlz8k> zFSTC%_0tcWR2!qs8Fm911@rTHS_9X7FWI+GB&yZ*J!{n!`T5-1RpouYsk3R@oH;#+TA~h2j6#408&*ihkIr;L~0jSSvSNt6A5WA6G0J zf(8ZP90poNVv%4CY=p%eCnr282cxVNaFNWitQ+AF!qb9Zl%|Y3k#kX7%XtJONI=qr zxcSf=;SP|}rGAcZF4se|7A0~k$8mES9wbUF!L1(beUEWq;+TPxa-4~=;1S1Iz?QyAC zB(E}wRyR-?H!=E9oN#NWxk%ZkfxJoxHZxRQH_?OW!&-2N3zblwc!b52q?woTY!912 z8gs?)5+3h1TM1s$1^fE@*wq$vFJq58tfp%NqAfrU zkbkAnO>N#>T+9_c@iU@0EzXD#MATHAVoss+%y}$t59gjcJv}pX%&IM3<-RsFM><}2 z4$mPBk=*62`tnT|W*zr%XilLmV1&o&7TD$To;hQ&c(owhn4Hc!w+EdpT23_&7HX_* z*4u#GV#IJyMP2g_-iOG@+eaP--D9|9m^C;JiQ{eFw$IxZ+Dx0iIE<{O;)@E|?CgF; z%#AU>4jUI>+rJH>!TF9Q8SRRZWq!j4nn~Vn9-y{Ck6k?NWxXI97oBzIH>W&HQ~B=1 zrgRhYv_e$O8vTBn^d@i`soIx5SK(P6*?2tjP0TynR57%m{G+oI^KAT5JRlNY`>rNf zp7Bt3<@4RfjU$Y}Fd^Ihd}ViKEFiC@rh`NtVMb?V9cD3$4`)4G+54>_eYxA-Fvre^{)m?{5IPk~0^1-;DDMp-JD`YJd3Y7oL0W+Ou-s zp_|}&i-g1TbBl4FgH~Wf6pR5vI|Z8U1ozHTa20D>gVarUowlILH44s>D^_U6DN;qi zgtwWRUXOzL?yc6SD$!+C2XAQ=U08tiiGXPaGsxPzGb0<3VJ20UDx_*s-QZ$=;vdoJ zmWLV-X1*m4iIU4QXJ{z0@Q8@Ghdrd4VpCBN?7dz+4IktNC|EzPp9A^@?`SPBIr z>=jgv^^V9$SXRN|XzFa_uRfAHGbWjCl z)pC6qI=^0#;`5~_{N>TtgB08GTZ*9T(FOWBaaTco5QHd81${tCG4@sa4Z}#CRG)#t zMq;;)HQXv#R}}eT=i^S<)Tce9ku@Cj!|0FS6BCx?irj-n{_x`-sPH=neh~4vv7`fzc@uz za7K{=cq@!R1OVMMA-eQ}0k;nCPc4d0CbHNv9}&r-*M8H^EHD^XeN)T2u+h~exMA>2 z^aRopms;OIr$@x~>zELY9I+G`Qq<_bzDFPRk^;Zf`Q(#}(PKVKs5i9MH|Bp%+1ff* zIp(mld{)1K_1{e6IlaEU`Pj^)dBMoqt|Ajg2EOsR$1&F$Y@o*i*2e>KjB|_9nBRSs zOXW)OLTy{TjBIAzZ@lie+Zo~EWud!9GSlC?3#;!g1G{1gr|$QiFe=*zPRq*OU!<9& zWMd-E4G=aC-oAbHsmlGn^6K_n(mCKEu|xmpqa(v)xX-siAAPU;8Vxz58-HwTR0giu zfOS`Owo)ahysj<5Rf0qyMwZsG|FIA}0*&QXPHvTpn8U(1_y29$I3+uZL>i1cyk<31 zl+2xsyDx3*V=MQw$t4%#nB?M%@sfFo$g|=v7AG@t7fU4cxndDjM1M-+V0Q<5;=Zl& zlyf_3P|uF+WoMSr|0;dUh^rPq`S3IrKCJ!-0B$izLAsj8nGD;caT}K8lM0`&uCB7u zM-N36u$X9{-k;{_RgXNfiiQuv4sXo!1<%LyK6e6dze&xcjM`eh&MZNIBgHEpuMd~m zR{VVZ$Futfz+|QniF&cH-|9dP&8O6yevbN7gEdunLttd>*v6j1^XBIJ_4H!HUH&7k z8T<6pg$p)1{hMlC8FW`w7BVSI{3;)=p=iK0kENH!8;VWw>5s+2Swlk8{EhqS{OPlo>~5R;(YknKK{gg4KpdQbhpCDdqeC`g)3Tf)l;i6OUe`p& zOycQ=>0DZ7!-SXXD!>Js$F{LO(Z328q7vU#2Kou`RKrwm7}fLt*bCb7&)hkRD=|k#*R@R2r zVE`EafLkIxyzU93C|vT-2G%HOc*HB(m^b_=fQ-j#1qmz>17{2jVxa~D&ar6F8X0h# z9BFvoTAwzqa|`+9Uw-NJ%kZ!lP7LBq!xD%(?S=Mt;a%4)(}1@l$V{_(@r%I)wot3Fd8BV61&t-t+Y0-VY8&Ea8v)W|SI>z#PVgW&|$ z)&cUbO`e{O`Xqodzbhgwx(CF*V=p98A27? z!dy_xz9{@6Np>DQSYF<@uw_fE@z+paem?bZ-^*YEnn3>Uu{V?3u?NFwl2#5>El(^% zd5#UF2lgftvdfQI)bb~f z+S1<6^Cr6k$YTelhc+oYqfFt7dObA_9o04 zO-1h1-J3}T#3#(x6xY{@)ICGG-G`mdc_u8a?oDoR+&a!e^gc5~bjhg7Vn3H|q&M9a zSlWDZv2|VuGNXQEEA_-yWF@@*w&A|sX*OOX3rR|8k8mvT$=Z7TOPyn5U8rv7&N}&` zK0#RB9i^E<9bR&QjiRC$=5vATHu7MP+|sk(jtnc(6@bCXmYbaRfhzb*8JZ3`~3rQ|ZFhb>bWoXqCZe7f&j`y+qpNYRKLIm^Bc*{mCV zr8MChSNIl!$Ac$0!uR2er)*QNtWT}BJCsD}6a-7cb5-_z7mhyAV|Q|0L3dR*haiuU zDTyhO9gYOlrrl&|`Ck#Ajlq>ehhQ@EJPfVb>CqjGoE4J(Z(3_lj>v}QeqX!4-uP&& zt}^kS)PdB1#vADNn(RBD(OegcCo=!QX+K5U4+{-(2HDGv#p!?hdsi{=qdv2Fo02H^ z$1KDI#Q1jx9#!TT4%V69kZ+&=tMjx$-y@yT+ut7T`YCFhJ7Y4~@t+|BZ|ua*`jK=jrQQ>24%on~_0koZU`rW>1mr3EBQYW334w=o2m2uioq5-;SS%RP+q{q^Z zqV?CfamNeW8G+HCc_BG4`2|y8!uZo_TM3DI_lDG`!Nt$dFHFxKoE4{Pr~FGxogFb9 z9b(=3FX+AiOpzD3MSK|BUMAnHK>kGolg2FhXBC5s{+5B4mzzA|_1FC)GkwdPrZ|m9 zoX%b!Irjc==7Nk556hPYWbKKTjmg4mcHGH;*HPJ5^^8{DKZm9!sXu)FkHIaJ1=yxW zb_Kt5inm>w0vG&(oj6nOW(ZTwix?)|D-ja;OJ!)BnP50Hu^U2*uF*WB>bZ34)Fme= zcL8%=Ik`kmny02_9;~ZdPEDEWsklUS2C*=nb(xWXIlT z?bZ;xy?@jC?8*(Tb@Xh`$<1#JN}QV#bF3fuL>jQ7GkO8~8s zC{w60&8*iun>u^NjcCTGl>J6FjBu@;Br8g~oPPX2i!NPkGU@9x8BBfV*QqHg+-fjb z!>Mssv713mEREh1s~7aTCp-SQIz_t6us(Lr$eMcKR7Jtz6%E33`zF>mYmzV|7eppk z9E`;b)|{wXQuR#OA!I^_!Y(28`AsGNjsy99Sc>e|N-{H@TbvQxrV017UsRFip^*6R zOv+XpSv0&Uv#wlO^HDSjGZ_8R>a66i*8yMnNdOYGp7kEBut>*x&5rAu$>$IF{u>{t z?b3k8fQGDIje?R*QHz2i;Jp9tG~Z!pRq3R`htxngtiex6PqwA`i%qpi;6wDA<^AH zNaxdqBxS7)sj2TDmhYav(6CXW+^{@j^&JS2o8cS$bjr~7r|P-x*G?4 z)t|9y>KLX(?YKQ%RpcpB`JHjj^5yVR*fyA*jyarurPbz2hGF>ce5?Ghq$l}L>(VW1 zB4eShD;bVaUa$U4Y7}lMywXC{5wStB5j(y}pGu#^jiA=3b_I?8+14I_3WiZ#=JnO1 z9{;3VUqt>V5pKG%WL|=>0Ho*W%zZxm8+2E$WUQCnTUVmHP<7I;D`}z=i$9(CKx?%9_NLT5?=Y5Rg^M(G^ z>~bZX4CHcMRlji;yTnnTS`w&3bnA^^M;~mV^}Gz^=?wDJeRUego}S5w;s;Tl)fuJk;5B&17iHYrvAtFzw|sO%PfwnY(|ZX&69Vs7K5#ITwTZypI7=^wG-?hL!}%gHyhKWqQ& zvv@t<(Y4_Fy%tMctV#6ks8SGBSAGKnj_qFfeO7Y!?&gHi=*Ljlm@XswXyWH500+lE z+S=d8^X26v>ddZIY`JIuN-Qa81;@V=kCjxE!Y#FCM}F(`KdDN7(m(9o!b~bPk&dVo zWlEGIl9Npp*f-sVv4UJ(Czjk2}p2pjX^ws&1QK9*{s-QbQi@i^``0U zongk22RX>8wFkjNZTRp+#G`BmU9##Rk?b7%VhZ=IVEs%uDxqDlra^9wmSK#S15b!& zg~wxMLj5Tkf&(CGxR^bQiC#p3MA7@;1AX4H|8h^Yczz{s?P6HMvdmL1`R2~@;JztK zzQuL>e^>=F4iKTkQp9dVM)>CM5@`=@&9+KI-hCqphY5=~;A27>dO=-!#-qz5X+r^_w>MH*9EV zj`ZJ^)_(;k49gN$q;T6Y-;1qs)i3;e41^a6T^e-sZ_;LaMad$dTX6Io?YfK-&4r+3 z@!EuX;uuSGuq>FYGq0<&O9adx04^h4g5i`Oc~Rg5m3c?d-YGa??`pRoEd8P=fV6VX zHM3UsBO@q<-^1Q?gz?(lJv7#};aRsjqZEv{P0TONB>6ek=n=LIz-ac~FOZ9u-X(b;H2t*BmM$YHhBDQ>t zKHlPm){Cy&S^wgT_1u!dp6UEYjC|ooHRQG8uI{cvjm|l@K^-T}mBy(XCSM$o8z49} zB!Q#jTvz#{sZ{i*CG9Y_s_WKkmPb@}nI)1&#a)FTt%0cVZb0hYsQay`oJ-0pD_>c( zabwX+z4yF~{H80WwQ$m&pZ~F8okBgMj&}}a4msnYO0jOkKYpg#*Tor3;x1)>tGlt( z7rWBUGgb}^a#?<7Gg9?VZ9_wXN_SJ2=*~LT?>B9JF6x?rd!+Zj!)tw8d|UbsV2aJi(m9@ z2735}Q#%f1edZ1FZfh<2-NBn~8IT*39gwY1NJ*dZyXNoyr8Y5=Z&Izhd!s&+ol|he zZY>A=^1gK?DrNcH8TpA$iaa-oh@@yIzFlltKT&ihJkZ1lOtDW*BY9+1H0ik14D?cv5~2V09Gfn=+c`pPOHFyWLVZBT4r1x2DwEZ#yrJ^ z{sRDpS*H@Pi>VCGbtz3&B|ZaoFzw#%;i73>}8!_{yV(CDNmlObGv5H4t z@#Mp_Sd$UFGjeB=CT_wVv+-$1> z@wZlvYh&oGo4^TI-xvv}yuVX@UiNRR6tO=4316&Y{Mg&t&V_4-BpF?Vks2T+I0;!u zsI{9VVzRch_IDRCEMWvBFxM+z9PG2wZsZ1Xo1*$MHfKD;)UopXGTIp9DC076^GQ~| zq!c=j@Or;f{@*2F@JPzzhyKHX=f|zOyY5GVw^@#f#Hkn>siNqziLCe6R^}M`rBZRu znt4BKB1@>r$=3xCZ$cumwUtdtnCwj9J>L<~p@}i2|r{-hEHX#xV3C zdP&UuhtvPXtgjDGazKEjIdW&EXKj#qqqFxmPnnBRBAwr|7Enc~mUu7cOs2tzXUf;Kn4}EWx2zfOwklUnPi>X0y4H={T0nJr zVz2K8Lihch{eL`Drt0>M!G;hxpnPW)2VwhsrjgsX&&XxYZx={E;?N!!AJ(3TaS2J1 zjmnmoa{2 z=<}02=uWx*&uI+%$=x$U<5o zY6pz0lX^6r7v+gHl$~M?1bzPlw6LLaW(FYz8dfsrX~D=dBJ;=yG~@a$1C2dIqL;WL zZ+ZGJ-X^9t7riw;{?B^!bfP)ppOvyGCQ3Ha53LfUsd>gF`7_V3JZCOIW;6fFGaTu7 zF?4%#mW(}?3$&b{lANx|Z-EeFEo;X6ZZ*c_F4c>=MmKW13&W&zmzlgbc-|;fm_0D- z^|kqmPHRX~D`z8tBuFp~$P}6zoU1ZIfrx&lEJr*uFZ`*3iuM%#N)gb*9+9R(*4FlNDV1kAi;@ z?(_lrfx1QHLExj}U7Vfk(8qR{Mo-Y@I+ZeaDOV|NZ_mx4B7$Fr40wCzIMdC)53=mG z*C(&L?=QC@4D@<}iQa5J_0f2Ru7(-sc|A@p82ST%sOTR*WR$ZkGl%9F@XqZd?t50Y zb=IuqADx=&Rf4CdDp-t~nC9_$;743T#pr6#F>0BvXnKORfFhZPxvRxay5RZN7yk5JD5! z7++@w1qfZcvh0&jdU>8@@4p|$s35@7*GeNL2(YIt#!fyRWZ9txfK#eKtqt#Y510Y= za0$1;Czf?_%xw!h0wX;~%jFEsV7fgGh~x(8e4~c(FaTtuZBPap%|OZL83&KnB5TV^ zxhL0fWs|rRnL)9iu=@m0kgB~Yq|(npm9r9#ki|DS7aW&vOhAPUxgGe8A+=7WAdnU} z_(y8nvJ!Ay$&mp~hDE&$_w+dv)_bFuX@I@#&VSlvN}>!px$zmdCOCFt zLfpGoG?jbLtgMT-_CvN==VyiT4DXKYx`XA|K8bg?eE9bZEhyM6{wa&hL@)me>Lz*e+j$~5+xz@QNgz_VYJ&UGEn0fP(u{kN=EDXA|= z54@WpXSDWfZe|-;{hEe`HAVIHMfnN>LJut_8gnVJt2jL+ic`~-buGRYkmzy<#yFF` z{4YEvID(Z_YQm4PC^q+?K8l*uOj0N{>PImG{Y%SRup}U%=@$G9KD38DBL-vo-$iY- zlB`b^SsQJOByn7Y42|ihU0*0X8)LOFs8V;R$?BL0TG=q?7pK5QkBM^1*w5I3ek0>D ziUKDv<>j+!wlpaAtKxTjo7bQ4(y=1f&ZM{B)0J#^YfIS#o`5|~THk$pzq*0mnG|o! zZTj|9e?s%*u}8;tCB1$0%cTwm+~ANq)aP%b5sQa!H_$~4jn#WcJCqaIa5IBG9OrR~ z(}rFc`O(%NBnv;%!{PXG@6MfLUiahJgJm%09iZ0a^777q-*CI6x%ogdIY2IHwi(HD zFevNa_Ro}=MZrax(YcZ7@r|X)nWs>&ws2p1ipG?f9S?}wSk{W z4h1RC{5~r4QB6^Jc-ZQ*K^pP5Ed@E1#f?#c<(oKy=!pl!pmHNAl@Nn&s(b;>%!26D^t+QEK zvt#j)DAnkzYpY1?s#Vt#^SHdNKN8)U^}pmbc<1K*vfjY1r3E_UG5xthgsxs;K?HvH z2LHCD6>AGC*H)C)xmfC`%!X_Nlu?)kC&JhPl*CGFCtdu6%?&M|t6L$sad>7;raUNm zXLxeNBavhM{m>;7pbn^x`dTVAN1&GN+L`Ap@Vn{gr|a*K^HG8<>IP3`=)Ag&pQ?1} zJ830R(jod!;~w7_5YR>5C|rqF$JO}EJ8uYCZPXO?H(bz=jW-^hLJpoVpEH5r2D+j3 zSM)^`k{y%L=;jY63949hk*L%JMx;wZ zV8!sH;yOV#^gXgFCE(cTw$=rQLQwGaVg`m&3oz$}pb}it6)Y#MZ$ut)_mM;Uan|Q; z3t938F?I0a47VRQc1Ns5n*jsVO-N8X%**d8jTL<-v zivS|WSkXii2lc_8updl2nl_R)ng*-GTE^*3`NMs#wEwmE^Z%6fr;9T>9!c_mCC@Am zR%}%g<$PM_;~9*r=WZ-Mz$MdCf{3&DfURHD6B8Yg*(XM2pZfn75Hl~|ugtet@^TmM zzh7N%N;qXt9OXC}S8E}ylW?rR8Z=;+8H4us3u;lNO8T$b5DqL%hC z^TY2x$gpiSy6bI))`YO6g$1F%ErAJcIG}W546}Mi0 zoEoDPoN?Ao{G1YUU_3HMXTCV>a;cc8@%PX+apkjMd0Jd}6DN35k@)#3hU(XBcGsp& zA_(eyEjM*V|8WvRt;$wiGR&$n+E-jIv&hlNeWAA;3PkR?ww;X(m9Ui6KP-vr|jhagjl0e(;u{$2!=rz1!tBH~>f?YQ&rbmD-AZ6fuTe>Q&gx^=#b z+sm`=$+1(IyS$QFsjlr?U;J@EZU8r-gxJTq@9Xf2`{6u5`i+Z(m)w>b<#elMh=guf8g0zF+W-JBEqeNcpd)Mmvq=OW*wL zqLebnS!o^>|H}$2xDK6xj!q<%jl{QZq9H@+`zkKO)kROGYUOlA2? zIzfJfDsJ%Br0LYUw7@jAw2x9Jr@yIY)OEb4@x^JYRkS-(suQ~xrKB;q zvEb%cNzGN~rUl59lB$y$$CK0FSs$pCjR^1iIB}@wm7cOG*B8C$Q?}V=KC$m z<%i3vK#u=EU--K*oB~f}Cjfr*ZiY|!cTfEwvh<*Js#4sXS3u{2>{A~sn$M0R72K0s zI8=ie-=(pm!l60v`mL)1?}Fk74?P)@_S0yx*Ft1}$PujNPeEhOtqs+|UoAO!paBmz z*n{$p_B$VZ?Ft_}lTexwO1rz%1oDary!i5l`)~&L!`;!B2Zfl!H~At2ul!5 zJtDgq!>XA@S&H=0GMf|VQoQ~R|2PtL>2&#Y+mF!JmkS7lqZ_pjoAU$dNwWS zO0&X7VwQs2n$}0Yk_JKk{XF_Lm2E1g- z=Y1U)uQPzwSV370dXs0>&JDEr2;vonwvYkBlul3`ii69q0_!e{e-?M>97SlbAw$}h zFYsJp(r}zPkg5@$##sP=NVtJHxpD=^`y*_VdTY?LV9LcfvSFi9HxV`3U@BCC$RK8d zW_R;e$^~E#Y`G9^+{!X>+}=dMj*K`=-QmMv8l3MaSe7-8&=_qt@VNx&WlZQ90BNV;w2nz>o8@6tD9MJe=-*!~dmG*n_gj{LQXkF8{(2#7 zl`Mu2K0vGu_IMVyTK6nM`|~X7t7%zw{45S^`BM>I`Au`Z^)XaGU3J#Q0JRO!Pk)1< zse0?JvmQFC3r*Kcd-b95dg!6H1ufiv<8{p2JL+eUybi6-Y;6tLguk^_$$0h1VylXhhE_c(^)D@3!>j9uBbt==Bc(c(rftQ_by<(>>?a QW8}wPUeo^@jR61v08@RD2LJ#7 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/material-icons.css b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/material-icons.css new file mode 100755 index 0000000..2270c09 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/material-icons/material-icons.css @@ -0,0 +1,36 @@ +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url(MaterialIcons-Regular.eot); /* For IE6-8 */ + src: local('Material Icons'), + local('MaterialIcons-Regular'), + url(MaterialIcons-Regular.woff2) format('woff2'), + url(MaterialIcons-Regular.woff) format('woff'), + url(MaterialIcons-Regular.ttf) format('truetype'); +} + +.material-icons { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 24px; /* Preferred icon size */ + display: inline-block; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + + /* Support for IE. */ + font-feature-settings: 'liga'; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-Bold.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-Bold.woff new file mode 100755 index 0000000000000000000000000000000000000000..780de6d66c1664caf60348cb4ef6a2cdec9eeff2 GIT binary patch literal 29700 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%0Dw-qHHSKZKL}#_NX?L%i&vk0~KDoH*f7~ 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 E0$VFRIRF3v literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-Bold.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-Bold.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..72a32ab2c209f238afa10adcd38e13e7584d1294 GIT binary patch literal 19940 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 P0ssI2pez7L`~(01d$TWj literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-BoldItalic.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-BoldItalic.woff new file mode 100755 index 0000000000000000000000000000000000000000..20ec4ab2d7429a9428d9086278817ae2b1f05f7f GIT binary patch literal 30876 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-BoldItalic.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-BoldItalic.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..642a2d44187c82a7328e39249658068fd455717d GIT binary patch literal 20320 zcmV)XK&`)bPew8T0RR9108d~54*&oF0U&Gu08an_0RR9100000000000000000000 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%0AHM8N!I{CFWIz^UC@hs)7aKu_L+nJ6eZ33! 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-LightItalic.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-LightItalic.woff new file mode 100755 index 0000000000000000000000000000000000000000..7cc63b7e1a65d56877efd0cc99b2b0cf54641f7c GIT binary patch literal 31636 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-LightItalic.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-LightItalic.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..3f438f80ea0b583676e2002f0c2eac5b08cadcd5 GIT binary patch literal 20436 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 P0000003ieb5reY;DTQ() literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-Regular.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-Regular.woff new file mode 100755 index 0000000000000000000000000000000000000000..40c056ea4cf3e5bcd935eb59735af846be60ccb5 GIT binary patch literal 28472 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-RegularItalic.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-RegularItalic.woff new file mode 100755 index 0000000000000000000000000000000000000000..ddc9c0147cfe04689758caa9cd9c8801f8cd3675 GIT binary patch literal 31120 zcmZsBbByOr^X=HSXUDc}@7T6&W5>4f9ox3OqaE9}t=~Lva{s%PoODjr>FQLc)BQoa z%ZrNx0R#P*XFL$%PXkOE{vZ4QnYg%$?2pdnCx-VQTp+Y+Bt*r;fq=BpemLt7*ugv@ zbR`tzm4SeCn}C3Ddw_ssA*4*N=OvU?g@1ICKtLdtKtSLtb4x}0^2!X%KLalO^!w2R z8I%Zg-x=E)IsgGd`~V~g2ne*sGB+j7+|c=lYs39$p#H=6HxQ_~ji(t95WFA|keCh- zP>tlVqavtlkxNFl!=x-D#7Jbv<10s(=E{iI7x zWk$*DYTYv}PaF7QtsK!iW|1>y)KV`pe<3IwE-{lgc3Vrwg3 z#~2Rw&MrSC`~Wfy2neACl>>|Oe{=dXuLakv!}^H4k3g`XCqI3F#;~A!|7(||sgAyF zz9GP!z|??1e(D1G&kF?Pv1V*wVqoC)ED$Xe%eL=7{q3|w9Et`(1VP$Y1Oim_7h>f9 zX_U-w40a5FfXRQEfeAxEKr-e610l!(_5LqzHfNaK*Y~%tuPLlN>d&8iNMV*OQz(O% z;Q%lUM#c+w1BJ2BTUhF-NNg-@G`~j1?svkGU!y1^H!^?zI5yBI#NNWq6Z|Uf>w^Qr zjYAIo$r+PsZ?WKtH@clWb8T0x*=cKMtNdI#y*^#-mLn^ZvqS_?cNTEfi48@ksTcpF z#2B4N@M3@%cp~Ia5Q3!iKpP=g0HBQoPzoi?QiEekM+>9WPrW^T`CPlZ5h$;F+gfB6LkT4mc8x!NL;A@kQybAP* zP>94@at%M{Z24P>HSZ<(K3ny!P#Uv<^z2+sPG=Bwl+bv~uCBf-SCdrKGG>YgchtUY z_#D&|5Dn;4%PDR_`GpGRqqoDAIqrVt&NuYT)Uz#B)f@MTnjlvnXMUVn_{O))8!)>A zd$DNwT=--dg|R`lW%?U}%WNcP&v)ss=5th)gx<4*9WvGQ%!?b(^E+OS4Xo6zeNoY9 zcP)Ie+YR*S9pCkcr`_z)7;x+>7Bp9^x5qQQ6L63aCd6T6ma=2i9nB?gkS=jsh?cx| z^Zb=&@3HPx;?{(xuLjv?n+Ty0$>>24$jG5GZ>jwKM^m>ye{5IRA4h%;Nk}yr+{7;g zRNhgh=(%b6xl+&U5ro&i8QBvdur~y*f%>%ifpu@_z}5|^>!77ENaQB}7L+$iy%vAA z2Wtk`;%6bUqacbly{&cnMzsF(t+1`Hl=LYQ?%(a=M-`uy`8j11laR}TgdX}CYreKK zR?VHuTY_}#`nNdG``U#pTcW;rEU7i682exRuqSNI9>;vzB(ka&sLdrGRmWTmO?;J)neIo+!pY|7IO`(0goo+nN*`&--YL0s zgc+#I$`h&+X)v4OvM(M?xu5dQysbL-OlDtn$2`t8T8E4?kBHVw*zRXm`Un0|{!v1N zy%-{g&Y8A6o)i;&`;_e|XyYOWaIZmJE9V#!=H+UYB0U(Q=E;o~FenyAe3`%Ai~G82 z`@vRgX;x~)Vw>veFJQI?9WJb+$D&q*QQnwmnsdC5;!`mmBr(p(`k#Q<8@pqCUDNm5 zc{aE#Nw_!|=tw7gQ5S&Mh$gu4JDmGFJ+y1Oh~Tz1Uts`=B}Kr3g0ye&AJgc zyJi@!Y7z6eG(zpxZo#ZIb81hkqyXy)a7%T5J(|R!C|_C1*XKJDCLEp-%`XgR$|iKy z#)O|4BqdUF@<`3g3HfFIyjuJ0%;Rj+64oxKPWt}N^|DR2$YB<}QcG_+Up%Jlg|>S$ zb=Nc(NnAxi5Jko!lB2m|na#|kn@x_A9i9O8-YpccPV8E<<9UwO#>?|_$9BE#K701m z<83+i1W^}vZ@+*3$|6-nJmJ2^xP|VOG&`TKIq;_(_v#jYA~fr;3rutP)jU#Hrs@BStEF0`K4Q6Jq3z`eV16C5Wd0A2L+iTs#~0M?(fZu zUMj54|Be@rwdTZAK1@N_#(?K>eS<8fXae)Cx4xI1Bo^mX@9B-+^T~GlzOWJO$P;v~TAJIX z9;Je3@aRHp`W9t69+O^`FSU=$t!f4 zHB&0AT2B$22_4kiDt`|?uzXGdv5dhn>6*1+o6|F=J$c;@E;}~G?!j?%eem3ELOtE( zV%xI`Y&VZSN`Y4xpjRZP5$+!zmw#-(q{x0C_}?_L5{^3ZbIRv%moAk%{>=fSn1i-@ znNygnJ2f}`%z9IQ(ETa>HYzZ`$E;Q1R{H$1=ddgOUI{yE=BBFlM%?A4@_+;V6(N5 z;rXzXhXjEtA`x;aVCi=u3a;S>-)wr`Z0521?e#B7FL*YK|Dl+0SM*;lFq{ceP=pDT zNQ4pAU<7$6aI z9ppGu@OE0FC>zaT2)X*u6eURlnggg|yd;<H$k6eEWVAiQ6Q@uOqT2k>{uuh~8#e#E`N zPyxV$eZ+OpI*LG%0Vt)vmDQ-clb!$a73<_zr&nuKw-th@1fLZkD3q3Koke8jL&ej-x2sW>#~g zM2ZF<*&@2!T&1OcX>#d!>3Ug+g*3Q_>?r3$K23&>(oISrcPI3k z*!7Rp0*1phD-tGxxM+;h4gH%ETsrP9%1JRp`HDK~FD6zX6DJJCj^+!JpNbH5H+6+{ zMTx3RMc0|+qs(J8BNCU91Vnu87>-jkFNes~^pVQF(|tRRO4dTsnXPL(xFxnNmxbpn z6f3{1Qqp{O^PCoF^?kJ%oe1t6y+v))jBO%&72PWPa?7&X61FS!X2F%{^Ol{Zd~0p% z_6bq9yg-Tm()GDLTplpf3mlcmNS*PEDJ6FCh~a*;-%;v2%!K~?{2HzG_8_#uBit?moDHl1HE7z?xPq!hvR>YOj zi~FbS&$X|MJT9cL@m z8sp^{TnFn-VE45g=j*l!f_BJzQNCP0Q~;m+YUMq7_jcF)R@L*r_edHC5W)fF7cl;? z@4n?5p!8BX2>(e2Lrxcz&N1VK@1CFe|Psr#e>cV8wW)#YUC& zjec7GP5$NIMc;fiv4}&Zdjk8Nw^{Oi6vMsVh-R7|YnQ&z8aiSvH+-#s$dOJ$Au{nZ zAu@ffPsslX{;~lcz{r#g`$rlda*-wVdyfDWwUrcy`D*=y@@?UE_?UUJVA=xDm3+VL zoO6aF_I|`xM|_k_=Sx}jd8?-tv#<5z`@8#Etkd$Oqf|~chuigO&!Z-1e+N!r+>(=S zRI~86B9dv0RoFx@NA4j-DbA~^vi^NO-b}NcKRDS6eR|YR8~0X4P`s12rp|B4k%WV; z-L4AIcGdQFReS%)Z$D}N!#$R;9Ze6pK-)U)W;GvtX}lWVa0ZVjnU7J&mFZ~vG{a6( z`k4KONv+15o(r`%qd3iGvuZY2fxAU*YBd$Sk!76Eqv&R@Q;v`1dNmKSeTR|xgWPiz z%=bUv4&gdC52{^?%9Dr0Pe|r;jjG9*;Ht^%XMGhhELM$E*hKYA<#sjGt4qcXqYr9Js&1(d{{$|sMg?p%mv^dYSk`~HbIFF_8}H(_imK7o&{9d$ z{-&WkqdMQj?l7!GHn$#sP|uWkF>iC24&SFes^Uats`8&JWg@{%s7oC-9PJ1G0+>Ra z$4S$ABHW$XYd3mQ_52!tXHeF!-7!|X>E}9Z7JGTyx3Kcp-&q6I*NcMRca$<^knGym*g zx24I#K%lSap%&v@(H7Y8Fu2~HjIiVaFSnFpG?9{{EL-97XsdVr=7M}*tH5l}eoWC_ zeO`85!BqY91D=#;)J~*Z3_nxiNrwIut)Ow;D~^C(9s;u!_*{LEyHd4-#HMLsiL>ji zwj5<0I6cq{g6$JN?ki%07ZxwNLD1-sBD|c}cdT_xi`O+pQyn<^ z7x~a=%E#LdsOFiW8*r^1;ELE$sreg^+CU2D7E-g}1e#_l?Gc>J{GW%|9FbCC1U3AZg?Ux+k>`al zYiKFc;ZCdD{H%WE6+S&tDMeoOj=EY1AARGI%bFul=B{EHU@>db$ze^^#LJ#K*Mzr7%Phv1?qnbC%J(N6&0dS=UkS z$MPVaLl+%K*tRoN0-A%rRQyPTq0SIcgN5awkM88)v3Wat7BYd!y@rg*Gr&qT33ZSd zsklcD4sRzuqp>?Lp-#|Yx0yLXBjhY0R$6G6H<6GvDBpt!8M;i^>9W{BZh=x$TV8HQ zSmo++GL|V8)r2B!Ic&mViD(m68Dd_zQ~&w_4qN9>Qlkl%HjTd1COVQAlXO!@ zG>^swDm0S!;&WNkQv?55tzPY>zp^(Law4v+O6Vz;YC-}#h>7UCuGU&pU8TqGWm4Pd z>FhM?y%f47?bBZ}xd+bmLVW%w{N^>;&Jm&Ni8y{G2?LIJy9j@+RYv*OZ_koG7T^JS zgKBdSkA~b|7|&Iy^PX-hO;+Z^)K8e%47Mz>6z}Rj817vUa9q_0#z|cjWNo>Ikhb4z ztQpp*X~U3%xF$8{zhrQMwUjx#km)`MJU%;P$LskzA%|HU5fL5Yb8$PWZa8}#^i z^GdJ1b?7nox$1Q=dO@8If1MDC1^;!{cFgu4eU;g5K;vOh8cetF ztPY(bVu;;K^Bt*Xn}!#Ie-wKw;k`2!iuE+a&w=LWD{b&}mAOrv+sIBYvye!jtE~Ce z%S+bS=5VH8eD6Q*5_F{ZWmpsLyn_Yx*a$ito;@wncuM5eU?%-{})TPnV7vQ^34$?b}_oEr#vh>lR_C|)=!Vw08fA91gHnefkrq0UY6bfNf;wdJ1 zpt$&@P?|G07mXicP=%yPYDO^Fr3a^~i0%twK6i(}8(QF$EB4N-b1L>9l#q#u1cOW^ zos3MhL+r!(d}Yg;_(sT6bkpz+B#~X6L%HtAp}A{pdoMVM z+vF?clB`(b1ycux*awaQOAB&R1-nkuS zhky4e+}A3G2~jR<^6$~*%OoyH32EVY<$U<%_Hduq6Jh3}TX4MuuIbOp>M>a5*Ti>3 ztH#xmvG&Gy-tneB*x3PhVVBP?w4;c7oN5Xk{f$$>-T_rztYFo{ER24`(;PUC#viUy zde*8D#cx~dl%teYdJih z5{k!HWyP(ZSFNM1+3NU4v6Zc0l~*!C{zb|4-SUbIv!=L487=aJ5uAUl)mn>C_n93% zE2JCi3sJfu1IxmkJ`o3aLnaR#^>GqpUqCoC0DS{S>r{O>ItdPYF5mi_*EkNs5D|sj z)?R1eA9t2rD zqGQ?4`-N!Y@NvkVqvg!k+Ha#)Pj#|wVcCT{&``{dB^417# zCDNj=K%O9IEP7%i2*WgbI{hxd>3;BrHl~b7Vmt(%Whdc+FXN5xx*yn>e-t4^ZYnru zg5A^UT5Ud>{6-aEzkDUz_Eka7b56r{!X8u(Cd2*VcrmD&+*t53kx%6nF@C*8uNr+e z`PoFv6PUk2&5A@RhR!*2GA8LJQe+h6)vxd+lIq|n&F*$MI0jWOHCt@m0hS*2YDyM! z*h)$kvZK;kb&?aB@-!#~9$4NLq6+z9`lf|fG$r2^MVEz$8^^O?OyR0m^Bzw&+~Lxa zIp7wWB>&Z>{kflkBFw^Es5QbDOoAhXx>DI5Ok$Zhx#kVT&BV~JJNtJVgUQ~E?!Hv5 zq11U`(fmHJ8$-da!dhEZtGSmEbQoTm%fR{apLyfNPK_y4I^C6Ngr237aS@q_u z$I!URSjsYntFg&%egsv91}3t~#a8+DQu7OLbw&`P2GlJQbu;Zo&V!wb$jtNii*3g` zPAKlv$&={WlFRXZuZtDO0$0dj-TLY#N3_R)3si9s>2zS%au&i0wltz@kQ4VbBE9`n z{E(8b_+|uJ=RRmvu*pzyI?`en#0=p?hoz=UBagX3sDYHm+TkJNM>Qd{qW76?E${7!mQ#{7JVrqhc-(V&q(yY4 z)r7}9qC8Si50WEbIR4}eFO6JJvwpXh+pooMywjboJH=*TDsRnsb!XoTQEZbfo)*^BH9n}9csWlAt{}9;Y*a& zf}~B{zwS8>)5d{d<#{0GdEJn$(+9{IXA?anOqMirdA&EdY#fS_(QvgY>~FiJOqM)JT$Cz(3n~lwf7Y(e<&R=hyX~p3_XEN% zm0qaF=f;pPFBgwg^v+hEPjrrCph##b?VRtaHn`W4jYas3kF=q{bFCQf2!>A4$PsRr zH`Rlb$91nUL)UIBUC}GeQ_~9Lqj5`|BqDQVVonl8r{(6Ysk#EVS{XeWn>LEZVsCOg zSNlnZ;ERCM1g#;G+=8bR6#}aJ-x9*Te8xgvcE2;kzAQqvy6%Rhu%%>H5I5e7=e>UU zM80WUjNP5}h588KzJ6Q7P)wAJO3WNlsevbtV7-hbh_%)6 zGFV{5Th}~DkkIKj?u=evTf#%s?PbXyCP`y#PtGPg4Nh$`Bj(OCv8p6`mp{lBuePWF zZj);peP=q53!r3eyb zn==05QJnB>iw?*9CU;RNCqxIA#haF(ZDb52j7n~fo?oBae;_*TY6E--%NQDZ8atax z)fan7eWy;zXonOt2#-WDz+CHiK1&F^%}U%9FK(zc=aDpa`AGCShuw%g9Y)>UNw^z> zy4l$U1l>4O-y<;u9H+A?`CT#b3TxXa>8YtIdTlj4791P-lV6Job9czDZSF=d7l)VwW$2eP;yoWNkP6NZ0t3Z__|wem@r_j zH!tDR2(vOxXxLMtq0E8?#c(f??eamNy^QOir}_|2SFnS_&B*HVtD!BwtqpjKBsUB| znj5vcaoWzv2}`)sUX1$LyBA8rA6gqjzaQ)u*fXeRH5-~B5~lOgdqaYm)BAgY4!=x& zsNzEu3hb3QrCzQ@bm&Y2h>cM1maG8hg`&PKX?J|P6N*2v}gRJK2QNzQ(Y=9Y| z?~)y#iax_>d07^$&=og95#X04E!BwN`i2JutOat;K%p zin>~1ZJq7wZHW1TrvfhXNrzl<-*ui|6wkz0pWR^pfsk6?*C?s=#HLlyW8#+6LU9019P7mm(wf4*A) zBHB@MNSe5tC_h$5A-xjL+(O)o)b3X+2EC?|g+^dJ^u;~pHX_L}@hut{%gIjK?=a|- z@?}i{gGaKpagiz#!+|ibaSchIp`4~(v;(A9qqsj*nrvOxlE(vW{(GT}j{y|UzTulJ z4$^TEWu;qz%rJ*H{o=D`5;_vB9s!(5Q0%h>8z8n;6iU890}%_D|H6h!S)>;jbKzh- zaf-+b8q?`0Xa54QU&KCF(r>c=3fzystbR&U#1LY+p+{3VUc;0-2O|d}6=1;~%tB~HZSQ2WLM59S(2 zox#A4pC|-zg*ib(Hko*eyl8^-*}Luj^>- z=)l~Y-`}4PQLf-O8s}K#8Rxh)w^w-Tm;Z*KxL`Wdk22e`OcoI9MM>CztM-0X@gS0Z z@$I-Ul>T=%16SS73leGDfWrXc+HsQ|}5eir6$!VZ5v2ApDTKiBf?XQ?R$IqdX|>yWW{RbP_n zzEPIz8N1t>xV)U2eAZ`^Y2kfNoOGy;d9#2O)X7`~&}PRE6T_$;oNid^^Vl+1A{>+I`X_2aK)V zbJ(Odb@e9480gWg2E=Nm*|Q;#w7@!%|GWM}mv7O=H_p-MKszyiTUEQqZn&x+guD)w zW(9V)w%Og)5?f3HqhdKSHl_&y1+c|JTk=c399PYV4!{s)2>6fpX7lcZ7 z53B%*8qSsoyb!USHkDnwi}_?E{gwg+ubn?2%G(2J*V}K z!;-qpd9ZHAH2=tZIU?#QUFhG`udZ~>wtOGn3`S8+0HM3t>PzzTEHNC9Mn3a~#K@qBRjxb6a~aFb)#ZHMY3SB4`Qysv9i!(&2P@-e!a7#tj;xc%A1 zwnBRSMcg@k>^aPJIi2>wTD&cTKCQ*;t99rIx3u@(*#YO4QAN~<0uMe4z)+mwOp$cJ z=^LQpOj1#=oa47qUjFqiyu$Lt7MisEn0rnWJR&E<{5&Z#&uo<=AQHEK{9BhxCigin zI=3HP(Y`!T1U2hwa?`v7LDa-T>opSObPyewsXdIz;*Q-l);~B<)F+)UR$R|({lF~y zlO+;91rrImn9Tkx4!A^o0w^_Lj8=&fR2kP?i(-oMEI&gB+B~g$ zjp@z`Ss(%jyIQueZ^W)x-1-Z0XxH~VaSh_^dP@U$sdlJJpzT6xwc2fwW36K^Q0)k+ z_KGz2W`r6s5ZY{aw4n4d7na&)fxb6s1Y)T2@@{Jvn649b6vM4XMFI-Wik=Ivxl#g| zEYHx-r{fu=$hRhEHmeu?`Sl}!z;^@29`fe&{d9s~M!&jkruJ**5k1g6EMs*(eBP_% zYRi0mgIhUl|9Ar>Pey!Vg<@S@^Xq9bdQ+fmMcw$1qk>)4lVICF4d5$y?qw~ULL>5q zmzrI`uCl1Pj}T>Psu+f{Lb;uJ=_Pr%-HD|{!5ikhn<2oBv#{tCL=n=Ydi=CH-yzI_ zUQ{=Ncb5%~Mt+{LUwv-RkuxN=Fi zQuj8#Grz>St*4G%Hyf89aA!;W`98KJ{>=oo(G+L!8EdZsoJ%J&pVV^;j^nt2sO)X7 zv;zfN@c0(N%o!VXfp2+p?s)ay*ZdyD6CujPv$4?U&?pK&j@fiWAuiUlQ%*m$vn{fF z3=vv;%ccG4!glGL=j9Ib32v85H8o6nz@=XG7vt6&ENf94B4 zcKuCzNrKW$c#t9sbgd*GcH?XXv^f8qrbAfQ709$&8inKl*X-ej6cw#G=WNrEDndF@ z4BV9K486*iObuaHlg4SP=tOhnf zM3uR~-v(`ibc1T1WsHOmcx#QeDE%Ce$iI==CSWD@ag#H72cQ6p-_aBcJ#q=)Q)`wY z?fY+O;Dw=ykc&GhERLW~F^O{ZqRj$h#!fIv|1lz912!g*N}rqeGbV_zuMmzTo(uQb zBwq79#6l&^`V)PKvN%p;>>YRZ5r47Q-H@||W<5tqJBB>O@Jf?%*tX17thl-)hW!{` zl#Aql6s>fs4R*o@Ts%uMU49HYp4T8BaN&j{FPKe$u0{+;L$~ek_H=dOnhEoJAROiu zRJFTX)scLDb$^SCtY8Z@mclX?=W4QJiS&}Ho6=XP515bEjhhWea{9PbKX>{-UP-{O z>m*0P`}Q)jD!plFC7e;$CbXKYU2r;%YATWqg6o(~)7CR?))0C1SJFsxapFlmZSIO3 z`Ukf{^r>K-73HauzniCmR-qB4X@=3ZX`DC2uoJ=dP;+Flo z!OUqy%oCCy)zqW}`aKRvFAB+qU$HN^yn7!V`l6pDc;rkvv2ObS;5ag~=Hu)WK7UFq z;K@(igVr)e1MjDZfpr4nFBz9hLh234=zX(<0vH@;Zqgs}7isO9g0z?AHwAy(N~dvD z?|+WtO;&t~=^1Mb&^Bz(eX)M*(r)$u!TBtld9EKHza9PtlAFfqy`Q!&_QW)V6#T@7 zSVz1~x>w%^B}F-MDn= zj~Dd$bX4x99^c-cXg!EMy=S8jkPEW9|PQp-8F^+GNxvhU3gdLnl-46k1 z8rVXJMyi5q9I<2u&E#-P4=^hp_8=yUfwuoOxeJ>x=c?U21e&qZ;D_RgLf z)>56-^{9z@q?^LS&APS1?)Qk0jVUocaW8ycfNsr}>H;!K3)GneK`Jf+p2tN($Y(J` zoDEJi6Z%uYT0Ffe1}&tD%I1Iwn2ptb8yR_mqTiM8Ia3O{{Vtns4>*MP7$KCa7K_}p zfyxfaqI8UA@iQ0c=lD20^g1HObM-i)!9T6DFWnBU9I-Q z>Yma@8il1!lcH6P+A4MQSJG5$MD~FEUuKvKO0lNqvzQgSBj znF=;Vp<~-NRxM7#Eke>VwHUbAGj)kr(ShO@_KGlXiPE0D@gd|ZyN_eF!_fpC0j-%K zO!M-EsXIOh`>HSn2jN>wMEi|{m{w#{3icU?ZZn2G{0X1>;T;MTvmt%3=t0!;K4oY# zP=CZAk+iW{~*khelu{iH^BR?+cd`eYN*(FHuU4n$Et$XpmsL|-D0B?WrZ0ENDMv;xvr zojV!wXK13cc!msOogUj`{4m3&q_hxT3hky=#h#kUb=J43@dp!Uy?DHu`|0Ti6OXs?`2(qH zsGh((jKZ*1k3vLS;vlMLY|vdMW#}z7QVsf3ZfcRCF&_w(lU#-YADt8>>Eb_)93BeA z_u5oTh2bjdMZY5RI;cYw#5p@EScg|X_gNu3l_n)(RLqJ(m9hR-Ef`o$B{M67GXVgH zjeBpEcbd%r3h&VQ73G@&k+~k=ke?v{wL!3z3X$#FNidla1@6rhFj- zj|1pl^_oS&G>Vz%ZT!FbO%o;|XjqYp-`NsdWwQ7SLuK#Bv8Lzbl5YKkH|&(%zcior z6Zn^A`G-EKG~J-T#Gm?D2EdKH)4zl-Aie7skUiIH_9Hk6kvoUE6WyIJWJ6TqTm4+F zK*nCIXWIGZ?Z!rq`TLGDEdfC0zsxM3s-8~QcJJtzw5dbyTZfR80<$ZsRTUmo7uC4z z?trG%f~oCL%!RS3Ug@;qnb_~PN4VnR6n4WH!NzE}Bu@Ut5i)w}yfoH=DjbNU7{#EW z>p?Jd{Z;jlMQ7}#=a+HHq0$@a^Y}y|^qa)2p5MR8Cag+!E>_=Rm0##cwh$^sJ0Q!4 z@D3LqIHHxhtF5D$2O%@*9S^v;XK^0#dTi?5uxTMrvbhNDGxoMgguv~e>AuCfhjN`F05tl6g5eQ zvvkFvSc1#}>@1I#eG1RdtC<$7+;`^)+h;)<&S$h!lUeN*&Qs%xMv{PIcXfeedfMw? zv$6K1TJm`_xYHlAO%mlV@cuxqSxqwO>oDfnEtqAa=hvq=I#ghIJmK~?=X_MqvfjoBc5=LjR+Q0QEal&|*n}NqNCrubuFfw#z2f@qI49VjwpJ0)TQLZ=bZm%loTia1I>8_ zp%WWHf94Ow*jBEWw;XHVU7x0Hw}ZSZ-+<*Ij5klX6_MI1$z<{|OhQ^>2N$V*`kj(@ z-x-%cf0)cC#y>7TzrNC7g#NIFx5BS4N$gxwM}SH46>2jKGR+91r`F6d4O6ZrI>&Bl z#f)nB%B3GNNySwggOy~jtP#F&PI$(Wa%^;dDt`@OEl&BsvrFJQRqGAIzaxIKMNVSp z)T45?qAJmufO2XCOZRiPbJK+f3Ren|;tmlePdQAXsl%p_(juxmhbJc{6OQ+p!CNMc zw}Wxs<58G13hj~n-_Xg%heKGJ`kfX5b?u10+?^Zpf?1iD>yEb!ekmh674TaLX zEOS}u#fvjLcFxozE}{#BQbXzAiXYKHT4#{AByxXXky=m2Go%rdqly&}eViLwye8ZI zAa?3+sP}*F$NzkACWS?!@zepK@7gt2X&^cG>NQTfYraa??nzDG+GQCq*Ax$98nl?a z;TZuIV}?9Wi@A@M=Ph0l3s`*DN#MRq&E2g?6t{cE94()$lmRe-PRqM(_C|2a=i#+E z&a6ley?m&Iq+%L?laMXetoe&t1*EGh39uzC$xkW7iChjzv>fWnvK`Ym+7!eszoDsp z236DMVxKQ-453sOscDf{r=*_Ns%5&b0OSu@<79rxoR@}XQmEPgk=k%>lB21a_d#jR zuUMca_x8rLsZN+jMR(N}i2r04L`*)N1yqA*;qG%mHqkIiDWJ>VL=tA>h zxR!%x4MXXLfb?pwN$b;qp#W||^sv1NZcA`jYF|QIG-R5+rp1$l-dH$rpcXU{8NU}9 zf5FyCh+IAGb@)p-bwT({ZaHsx+M(3&!iNHyuKuHN_}}pFlCoY2mnn*P|7mk}XEh^4 z#A|oRu+0wmPxNB!3~UjfmxVMRr|QD#ytQ@Z6=7p-D?_EI>HZ2U#>B%~d5b@w(YrCbG8Q8d~a-3-<3i6?}QZmud zu&vt8EJVZzIMuKAUzVQd=;hO7o-(i);`ED|%GDV$(?iy4;&a6UlvWg|k@bn*C@u}V z;|4t+S4ji=CK&`cbK7?^ElSr_A>Q)s=lV|mCpBT772M%)p_;&;Axg`;rY@>2tS9vA z!kFY23M@r!*|GT3_;RBuW!3*QZu0!RY7(+zRJJc9JJmO_O~sPU8rT9s)x;cQ{5kUB zP!P?S_Ef&eKNDyrdp|9YvJ<2j+kE6SGiq)d-$6%)=Dp|^-1?37R@1vHTW;W2))%J! zShX^4XBPy>AWb|EeGcC7RetYd=PqPEeKztBhHqNgW#snaOZZskfN g*)f7qB>Wr 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-RegularItalic.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/fonts/skycoin/Skycoin-RegularItalic.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..08d7a518c350c2869b56a794008792e431ba38e5 GIT binary patch literal 20380 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 L=BmFUX#N5K362DD literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/header.png b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/header.png new file mode 100755 index 0000000000000000000000000000000000000000..be1002a4bc290b5cb277aef3da6d291060c4c678 GIT binary patch literal 284713 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

              1mNzQMU2hHDR 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�`OvkrlQopIb}$)%xh*hIzqM^`9hfWfo82QVLvq!ZzZ;wHg?L5YHGb=QyQ{G!{IWG7PsA`J< zr(Yi8B<(344vmcZwkf{=f@B~kH=vo)siKXXK~pyQeJe}$FRy8RLXyKivywa(vDRqN z{3yV+p=1ZiNP8D9d01M;DI6;h@M^`b&s4aKyUOS$B1}CjTtSF5x-S1=E+Bx$Z9g7{ z01{S{>Gq||NtZI1_(Mk;_#H7whuO|Di_B9EBqrC<%U`%d6TyYZN~c)fq?H)MbtvxV z(5&XBNuDYEHmrN`>K5%wg6Hz-E|8TWa?grCFBNZqyW$dLEp)QL{ILApixRjoL#z4x#KEn~mP9KC{;Hg_qRO>qHv^Hq{1 z*2k}yrMUXYs(+Bi zV{i86my59JfyQqfFO9L$+$XvS9%!S0ExwnL4j0B>R@>PaTi%OEXIJi{i0-9YK7o~;skE6b1VF|Z?C&omkdNOrk7Jx?4U}?Q zMOHGx>H{*81Fpf>wz|xkfm-4mRW+eFOCE`-^{alR@C(HB(oqvnV3)vvYa54K_;ioQ zQH=LD2b9%kKScg4;Hq9Ro?S^)PcIebq&nxNtAn*(6a{*ZgjW8;;*goHNKEU~x8p{c%7#Wl5Nj#O*^0LTD%mQR z_BEet{oD8X6y(cehgS(9Gb8gg-4VDHJ(d^B`24mtdtyx68!Sc3#}ZeP%@Z{MB(@xA zW5-lxHW7A2lDM9nkf%il1u$uw>3B8o%2$sy? zdA;01YOr2{6wE4dd@N!vXDm84BHuv3HzFe`7II_xhOuJkz2N)916KS}7^Mvw^QFLP75jyUr(pJ6|F9$va-7^>kFGq~Xgr zsKC4*-jp5FGMa)!KNKyzMKW&k;hyWeCzmK&C_9#;SuNd$vIDP+;5P+`w|6ipe4_XY zys_`3Fwtm~0e|spG9Is&xI!RxAo6CEV6`N1Z$Wg>@11mZ-O5DCV?CZAz@LH%MJ9`l zdaAq3iKsqsJ+%*DUmCBHFkxMwouL_$4}Up_k^5IE33B6-{dgEzXbe`D84>H4?T>0a z#wAHguL_2K86YBMJM#s9kw@^+cW67`UHSaZpV$7^_EXT)O^Kmia*NW2Z5Sv@;3g~~ zy&+Obd9J*1qxAxkeNSlB`~e?Mn0NM`dee)zkGfmaP$BZ0967h&GFE@2dN9QTU_B92 z9F{9y!BGNdr;n@dSybODtBiQFc77xeM_LNz`v5RMAhdP03dqt6h3K+wvw|EmhzzGI>J5d9a&)Q zw^Auj)j`_Tb*i|CDOw!!=KaN6S9)s+gv%(&9Q#RLGzd7ob_o~2hp;g_#vwx*Dz|$J z=Yww;^7WtX2iPG{rn$&T~dTtOIF1z=eu-;pi6$;o6&8s)K?T;)H-n@()lnI5i;a4Y7kpUuY)?F zPG$6isyL7%8^4ahpN z&8)>@9sDB?Uerg(W^xN4|ftoclmh!U^z4Y z=~pn{@Di4S@5bu#gM$~3Y&+5l-Qzk32_`M_3Ye&69jMlCLK>gkv`$`eV@17<*6v%^ z5^1@pSRx`>Zy0NPW>_&A|5OO07)t#yd3xM}!_5Jv#fm5Qg@?p00>!2>sgs-m3UGELeCxr>XAHUU|}m^{{(WM1X| zTbuYer;HS{aH)xf&1suQ-rMl zauO@kPEL6i{R`kcPA)4XG1O?^x5|r^GD_N2))FUx+Cf-;!8>dj(!3j2-a2!%s2ONq z0(|1w!!kXWH@wglHnWa}AABCGS(?jy@OnI52l==I1Z&ABd+OHIm&gP$qdMja2G7^A*?2W*C5;Ro^~p z`72PMK&tVdz9(Wo+W9E2zo+xt1JARAN94Qmt*YA&vw;%WQ#%Z3YakmEcqGAn)-H{E zsb*&Fgf@P4{QU%JYFtRHZWxPkjfG=jJ{P*;wKvY8FNL5FpE$Kqdbt7_R91+2T#?uOC!) zif++lj(hWO--+p7%myg6wYN~qH&xs1gQlWs6wJ2&%#9;CK1ck%`{u$Zt9i98!_4qc z%@&{r#88;zb{8R4b9xXjJy*t|ef6R$>ioL|Wquo}chu3?{Klz-518JQbr(S};@h+A zB^N<&8jmZ9Ya82m{@;OR;dt&joEe@E!TQw|DN3@zTjHE&L!&k-ft#?Sj{Rl4waNyd z2cSbMT3LX~ewuJl-*&oBVT%V|@7YkM?n~NK{m~7Ve>pYB?f}m|m7miwyI(^-)wgPN zb>%K|9z6h>q@abhfAO{KkH3z$XE;SqV$y z(lK!1!*sS0YygUCS*rA=N$SgP3o0RRc1-vC;S-5 zaWD>u;0dz6&L2IiwrwIoM^~rF{GV2uae>Z5;lGJvZeF}Ud9*2k1xBoW*7sZe8H&%X z;X0IYxa6NB@xp&g+U$rJ-w#jfCv}84z;stc;gwIsmgc>u!2n`;4{>r+)snc3aXFay zHg@%C+T~0#^V3&UM}(}l+|#cTHFHN%iO$Jk5hUIL1J)OKG%Hik(NCSKBVb^E+LRF% z1u+|SYu0W31h{EFxDyr>!q|KlU(73c=51`@OwVM@gLVXB&IV2XvOy-7`}Q(E-@vzw zoX*%T6WX_GUmrO<5c{s^2QEP%V`!u-v}j@P(M8ruH1d*KOJlp+Qbe1N+`hI_8Z`4; zFDd_at#j-2Y3gv^AGvv@RZG9hFsqMohd}C)Ry}npx;m~&hORd6HtuPlmjHfXVUqJy z{7)7<_{Z6il2nACqrdS<&DzV1JtU0Pn?`bS#oL{HXoiGTBkqLyZC7IWbjwH? zeJ8*#>P#$yoVO-%+_Syul#B~=$E7jiT2-~xraQG`f2IK!{^^buaA2#B1zb49|8CnK z0i4$@Wvo%rgjZt0jPwinPpF?w_)2H?Rn{*LDi2O=>?+){@>9+MF1xbri{jVK~X+md!C_32j>gI5Q|Kce z;2<7hMIC+|8Ps=|;^V||8{)PO6AKq#JYw@<>&Gv4R+c-FrSIghi=G;RYCCz6T?Nmq zhcQ8x=`+=oct>Q8%Ui&KNTG+DO710GDiHQ`#6sW-x8*iF84K;Nm`C z+32%(=PPh-F-Xo#b6iSnjpNpU_89pYm)&%i`yLIQl>AlP>C@!-$1>FDtU-@D0GYsX zUAbz#%*b?H9Pz(&P2F()#iQ<6*J*d8_>3d2WGadu71!ucr~Wox_{NEKPU|M$IC#6p z#-|M8n*W5t6Y?ed&g2~jJax>qsDdrT?y(*avKVqaehs7KS5&RIoz(~D%9Jrn=Tqr4 zqv^lGk1zHz*n5_22IM_(r~Vwd`Jke@_z$+9;zJnO*{NYLURcJ;G zpI5>I2X6wQ@tdo8uH)$fxu%~rI_Q?1!W(<(EjBh?XW=e+d=f$d zI(ufI5S^p#8>GzDg3@FlwQwR|ASSvYq6=@9znEeg#OQ}QCNE#xudB3ko@LDGDwFqP(pPx}YIgHq| z#i4YrW&XI@NR#`lY6pJq0)7)yd7HvBqDy{UIpE)Z-v;DLVQ%;T@4p(z3D>T)i)g!ak*w!`ZK{v>Ci7}ldqUU$(Pc>>Mc=&A1k-ae8 zUdLw|^l0?tH_!rYT zMxjeqOu6~}6xJ-mC!J3=W=9>65O5Fv+;}4Ad&FVwkFqc?z(Ete{wVq~=g$h+*`U3`IyUc(-< zcdtqO>P6~Z#L&SU>&Ea>xc6B|rWy*ocX;;p_H-bR&NdM!yD6k&$TzPd{4 zso@bc=ks|+n_SB<#(y7`!ndvSo%xH_#nqs-V=g#Ja>~d1w+SIv$*}D7#Xln|X>r%< z4X^tju5iv@fH;sONKC$L%uvI<;v2H3YnS74GX}0ym&8X*C1$`CnKH<$4>g|u>e7(T zTH9>lO1hGT=sJ%Pm#wNU7FI@e+rmy8K)}LyAnW)w_e@u1!M;t2D{ML9;KyKmnpi~* zKeNd3O@uiAU)O}FL3Ljp@z}hhobfBw*VtJ8kuz_=%)Za8PcA9Jm!b-s-6asOy}Mf=wS6DQYa0`4bbVHm z_jIyzoX~*M&q>3x#jX?mgCM1X#7jP7eOsAvEZ{ZiOTF{mnxrBIc}v7;scXb@LPt6m zIDg=Ad+a3Me%1%iHwZpfDvh;=xL$!N4z~pj^Ha4IpyOF+$+X8p?IwH`u6OKZW{Bug zF4t3K>(OT+5ReC6-6Qj1e05LP{Cxh4**c+;dGQo*hg(G$oSr|>X@f~&I;0Hd@0mFr|H7vc@5rF23kAGA zQWr@9%Yf}WD&8+@!A=$ua zS;K+{6)*bl!1K_sR$o}XqJaC4z_FcA3xF=>^g6hN#2W7ld?GTtErDEBQiQq6V;NMW zNU5%Qupv0)#VJa;FB>i2`QdPj(7am~pwoSyK;wi3J?-$O&my`Q;CsA}QjF)GGY(<(6B{7e?zSnIcdnYS&^*{8L%=Iy(lkD0z1?r zew+hES@W%HLww^%x<21`X6Q$nxk6}No)fL;|M^lQJL$USRvRvnUHG_ z{SUL}DWOT1v-v0GL9r=edS<1ub~-F;^UBG4g5!S)n$U9MjP|R;BAE>tGk_%yN7E#r z2y_c|I-X<0(0gX$J({inA^H0P2SwAMJbz zG#4*qdY!%s_NE!t=N<>JR9EK$vgXVuXA(2O7c7H^v4v`~mVD=*`BG-fCnv`NukemE zTT|^ibFUaNW)_b+B&LXa{rqm+n4g%h8`zf|4LL{#nM3v|4dJbo)y!H=8B{MO z4+et8oACiFWqp9nNagyy&7a0Bbg^ef323odaF3&{pt&5kLYlfVL>8HiR!m0 zn^$i~$s>L+(-WGcz|GjCcVAB^KHoNkjVo54mx?_JlE6GSkh}5>N>LN?EV-L8ehU&N zt8FKA0DWyHfum5sWz=kb!2|5`dqxMZ*A?d}JtKFV@rD+)uUKfcM`9Hq)jv2M^rvD! z!g-gwbrcGr=Fj8zNkUOPGcpTh*CPLmn3W-#WcyRs)eqa{UGs25c9XA?P=(JCPS}D( zLoNwct*iy1jR;P8O-B05^D4S~$PhO`ZI)#`6=hZ%3W)`^j2)gT*eCfCg*t|5>q7GFmI3!I5AQfFt!a9#@PEkR4S}~{6jub z`ls`2Y^MT|ejQ_sx0tUh|A!I2{DCfHBaKwQZ@}wESQ1bY$BvlAO45Bukf&N z+lA{fcCgwP?V!gG{G9%hMt8^`Zsq_*@zTYa*ND52nCJIp-+YOXnPY%_B25?g^)mGp z@D)MOdVT>8=<-SYtUlg$Nl_o-qDZ@i@4_#kfn9KC)kto<1sH*WPH6jKJE-)lOdco% z(_WUN(STV(KbHLhg=%hSDbZzRH8XcIu4IogMosuq+LRmhH<$hvP2=~;=c?}*&`OIz zoHTn26~qO0c`KCZb&~(PzXYJk6>Z_vE=x+Y-)D*t#{5^V00FHb%bn@{eMfeh7L8_K zaeV8)rIlloG4K2;LQxME{{3XXLHFT+<2R8j&%*$*cG~QP?ji+c`!&qN4wbmpHi1=K8!C}mGuc!E&7w937s2Z9-Fn;iG}q0K zY+!6Tq|J|dce%r_VYjWq+zYaj%&D<{KVcWr5J~G33qtWTq3l36u{o}bUuMF)9n^^;mu}U7#&IXnWTVbh0nxu(~^mn0aa3( z3_;j!5^)x@U3`nLuK;zibFF<*0!7noX~AB;eMb5^`29#k0CH17>M+v3 zkG?2*{{?#QKK*v-x&5E;B~{AZ28OYxl4;vsb&xiMpa>>J;huN;iBBs3C`8cr|7TEf>W9sNwUWY$O#TPxFT9 z%8-CyizrG@dr?c;NMuF4+LF$42tW-7UY3byqrptfq-34D&Xb9=FZy9fqfeZ#Yg}v1 zg@b22G(HhB75sQJo#kC)*g%>ujX!wg6#ANM!0t|!wDw!K!bRm*b19*ty-~jY&i3V3 zIsHPwc93{qp?#km&$wc4;;Mo}>7H)BG^yi8$?;r4v4>86Id8#j{c4j|T+a{dxa7U2 zUZT7JHWH4_@ztF)#^wmpacW56<|u$(wa|PG6D#Cgf5wl`NZHEPxO=AVa&XSvttQ@4 z)MuA6(3R6?2>oDeo(vG2#+~F89cnI|~7V$ZQ_pvHKiH#v87@S*#)RpTKK zz4EK$o5qkqDYJv^1f-E}YH0Y4yKjr{T0C^}?X6%i;hwrRGJCs#=9toM5++>ED_L_j zLYUv|Q_a;D_tPcd*b}kE?)n7&eODuE`uRhQPX0ea!;GpqN_c8X>!AaY>2rg@cI^2X z=*V>D25ki(X8{|0$((VaeR3y|WK01OjgHFvdYJP*85*lsWskp12FyCkS5FN{T!~0Q zo^7A{{j>LF2R#*Re(!q;5`1DKLwOTRNnX^lkSuvO@&A}%U8;HBJZB119P6a)+}UWT zlohG%8#zo++?v|LQaQE-3bV5m(N)ubsF0-x{fB4r1mN$PHB-&?d$QWjDQraAxVWv6 z9SQj{upF={1yQSo1^8I$Hx1UdYZ0vufXdZ>HyCgMqTYXf{ZZM)1XO1UMx1keP>^QPI{xq~~LN#>SADJlB*nUVZFEM|W{RitvhLkIUE5K^-AL#3Jl zKMOAjy~^?8tko$Yw*5>r6BqXL<-oTz`KXmOjX;1$%}o0`dLVbr^x%pFS^^NSotk?S znD}Dpq-ou6r4|Ec@gm!wO2Avi?m&~V+dBrCUqqnO^p^vo0y-pBer{js?fK#@s6kw* zM>>Zg-0REIkbeli9EKLYxvV)?2RaPZ5f>I!t=utACOnXWloqe9cjq}ze=3nIutmdK zw6yCc<)eVD?2kG-Lm*HYEN<`EE9t)=UAdLPba)A8L-(Q;EImmK*JCQe+zMJGIl_K! zF0b~g^c;5hYt3?`-(Yh;Fds>%lTBwnRS2`Y5KRYB;-!W@ceD1P+g+y@FC}x)MXMAy zRC8XYB?@8~yvfju3;hN0@x>5=n0L8&7#VmyD;ih!&Ri-{RgP(0KR$GbEfQi8v;=rP zU=P+|HjEdWUSH-DF*WxM?caQ(x-{^xCy3yZvfW_g#&708V@NgXTEWb!Dtsw^3C7s? z=%;dKWB-w}sKehfk)!9xIl$?5o^*6~Evh)r#WD~CqNnBu4b5zyQt8-})p5S8NWeXJ zCJt3>B!2gkbVXs$`feve42O2##(k?WM8Qz0=)JLB9Zp<|?POtqiOewFGG03>@8;u8 z&FQekE7tAKsLY7`slo_rHKC8&Sjfm^b!tfL>?*|4C>_8|}BVTo(E9G$#LjJ;Y3j-9SjFRCtY+t7BZ#xF>ijYnmUczr25Zq##i+xj5g^N=(UzGQg7Y&6gAE$L=oOxmEbVsLJ$aekz%_|2Hg9H^1% z*fHDjK|U6b>_(XK_ZPbh)S~#T~+vDhw%!mF5zSn zkwKn31eoUXAE=WX!)15kSta753a8o@pd#!gG{YBNz&rtOTssI5h-;hOzd0 zEBR{r?gAGpdVLiGd8||8k9%s(&Vcs?r#NQXkS|BP8dmP^#k4V(%+uIN`VnD|gGx4e z?F&vKEX)G{NLT;!>$Sfsplix5+b0!i;ty7>IfR9?wu8Ymkz@m9WgA&5HnmO*(3fLVh^w|SZ zZqeFI&|0!Ul=X^(u9^qv+~ZL@+EW{MJP6O3BG_pSJxvM#V0-r}N1AEDVQjNa*hBX% zPz?$|(*@7qD+J79=Qv*jsKv3VHXtzEFM_8#+4of#Ns4a&684$$U91U;C}hU(_stsM zb$RgZWxCD3tC1h1Eb(@-MmRJk(4NjTOd!O(Nbcx2aq+7B-}|r|(DDw}r}MQBnzHXp z-mGM_-qU{e!3h5EItFwI>HK15b<5*a?&ZHtl%b!K(O}5j>&XqP4Ed8^n16vRt?RHi zXEseEI+&>uu?=vpKf)OIJs39PirSMC?gID{k=6{KXH!YQO* zYC*2~-K|QiAUo`Kk|8^;HXBS97(8=z`C0QU&XXBu0k|OHoSTD0191}dl;UFF?zhqx zA$^fbC%^Ml12JGagujS``kKG1-16XqjkVpv{{2f@pISs^V-E`;>$l@5;?Z0uZ7h65 zHn81ZSS)eC$6#G8U@KE!q}+JS+{K2mVX8dzXwZPt!O!g(%|2n7JH&bh72a&jN>H3Tys#iOI&gD>>dChO+8p7TvDw*n5sx zAMwUpK6x8NG_v$d#}Z!tE|n*5^nP1TlciNte}J*5snE-ssrLexG^=T~Hw}JmGx1#L_z-lw8Rt zIL{1D7Y`=o+#Su{l9w-&<5^3$hX$H)?P7q6!lB5_=yD`IB$_PZ1C1V!s#Uy3OO5QK zI>+8uU(DxvXQIsLInSI`JMzGz+EM^+zclz@XGg8M{aI)Y`Ev5_!Z)$@j=S4_jgqz> zn#!+dL{)q%{=Ce8!JKqwE1@e@>PbXfZO2;C+w5+EnGVd7N|mL6+@n*$!Nx#G%Eku| zK5|W{a*++@JT{=f4Gg;QoyFd$R0uPEV{{efeBnh%VocWxt+@5?si9!tE*KfH{rs0{ z6cohRNX6U`Q5D+9E}O`?TJvRGzf}I{`~bzNJL3X8f(KbGZ+3QOmuSoHUJL3h{;o1! zlDFkP$&WFHCuw?0so9L&-l!t7-y$%_sH)lY8&tZ6_;8lZYn6qfT92Q^JlY@TRrP*B ze;Gi$F5|MD{oXEf-Zxl{{7-y6u#f46kg(8j;&F{X3oVYIn;sA94C{4noat?;B$-b| zC&zwq;>!sRA#XxH%Zdg}tV}J>{7C=2>iL`|+}JT(ZgT;QAP~2BHOr6d#Ls~~59K1) zt*)M7zuBCsr=5Z}%XvI3pWii0yPZ-7JIqu%r+tc1xTS1)r&hZL`^uv;$Eure`; z4yLwB9=qEMbz}MI^0gF`47c4|D%La&C-GP3Z+Ly8d(*J|&WoU(;N9wi-xmX4>-?6| z;JVfam!8@f9?>Tu=lc?m>C;LnVnh9(cr39id;C*y2&RI_(H^mMEG9ks?!_n_=?)GN zj=ReUFa&dX$=4mQlQih%J+n1?+1McAIhssn*=XI4Yi0p@M7VtA$#ZhGkSMcKxJ&e4 z8Tov;qjXsDUVD#SP(g}ndPP5_BLB&k=EKnTTr?JPMLMQw_Cm($AMd(<7`~a__3L8` zeVt%ZLg}OD>{%;AKOYU#)0CRL5tt?!PND1nUaj@+Q0&9&&02}a_Zt@&E{>$<7!B~E-mbEfgZ|gj2gPqXy7#%`zHTy!#gaN`5UW0nIPD9NWF-kD zULIi0dFb%9`_0Xy9~?0aD;nXJ?1%f|tF-4(J+n%DuuT>8d6)1H&u`((oZlZ0>@_jW zE6Xi{xai{r)}Ila*Pd}8rO)2nY;N(#UW-Q8(8WwNdtE{ahtT%%2RsxKdoJhPre8wB z>uMqw5sPzl0X<(NioJ<=j@j(W z+pqTnMw8-JZ{y((F+yX!?Q^s-4HYmWj{(q3hgkg`OA}Wdl;yQ_WWtU#yQBD&Oh-@9 zKK{EC#X}lGzA&m+m+;*F{@R`Ce3Wta;=qf|$TlNisd7nTD%7vpbrTJrLxUcNmLytr z+bb#(jF^hlUz9(7U74}YD_GN+{2bl;KKdBmKksD%2y&3~O|$~W!-1xGH04>O01<>+ z6mAgh7ow=k(*tt(=a?p>50=Gs8Tn7C@lSQE`5FV!@;j$K8m=kjYO$>Jdtubc!vy$E z_gAPZy>0v`P9Fov$~6%eDqI*$J~E{s_Gb39A6y63>CR&1_i!b-v!5D-K@D%go2?JL z5=&;rz8wo2&cXIbu#9!Lf4-dPy6GrsM7OWvG&rs{asX3aF<8l6`dR1R*z>&~S)4NJ z;VZ)kS&o8$SLQ*ytd;W6sATbKs>ZMFS&CENUa8u~nsYGTL+h!45g znafI|`c=)uFd8U>j>Hs#WOloQhF+)Wf$Qub@529*((RudQKQi%KJ^!bXnWjpsg;}v z!39l-*|Ge~{X3Hbz9c5?3lfWgL}^Ki@X*pA`>t8LK-KZo9E%A*!#W(=HRC>-jk(@{7As^YY)C1MUq!NKl*_y)d$ zE2blYdZ%&uAM)Jssp!Y$%N;VZ9~Q2=+6&1c(B3ZhB05?3ddkju218L%*Pl2{nY;_P zLv5#O9e$)*2b|?k;EKm3`*;_KoocdLK-w86^Eg^d?D{#9q-%8jm`9X2JR+7A3bWVh ziO9Wn0l>fk)R`=zW5kz>IVdfi{>?%pj%)bzFZGy7&P{#fa4~5?^-2{2j(BYG)R;>& z$AxUn{F#{V!h*SCznl$%FLF*bDu}si=gBKnrCyUFtMu8yNsULE$ zb@ZVzQ5*kxW#Au<--U!(%-_WaIKMX_09PSI&8+0^=Du6$d`y)?jeK^HTDQtJPMsH0 zyj@OOreMYfFeRmA#I7%}MF2*prz#}XqVuhMFK4`9xjErDDCA#Vd59!JBU`ag+au3c zVE1p}XxXF8xU4GC`;W$Kxb`<6g6O%ws?O5%y|k)XS}j3}u3$mG%Zhi@U?=n3?~8!> zw2)b^v~dJZSKYVGr<@_`5GCv9$Sn#9PI+_&ZHYyU0&Ut#+mU<|Muu3<}d=}YLQ z*OK4o8SuiPen8>S0r9|x%m#*00`+1u2chbDFnJQi53LV9 z)y(T}(!C!oZjrPvjDs&t$lNoZU9BKm)ZTxnD7oqTx9jHZ3u3R0B_%9cg+fCzy-5RA z4ObkNLZZE|GxeM$d%!3bv_%PdQp@-W3n10xSUoN_2 z`|Yg9`Pzg(QuCD3;_XscH0+D8bUmM4GKAKf8GwG z=rpEdioJK>JuhVtUujp8CRb}f#~AHZ({#S*=i$0 zU~`H+wi^%m(-!-`FJBz9n*@G2kV~K*uVD4{4Z^k3yPK}!cAr^j zD(6M;?LYp2EmDAibB=GJTL#-9_6srCFk|DKyu18LLA(yK=1ZoPIj--j8wU}IQmcor zWZr3($?^VsB0~En;+yi+(9y%^w@|TmmYUh3zt4WG5eHBb82!S<#WPn!7Bk=^Oj0L zLe?VsI#5|mpWuWxWM6i|(cV&-mW@6dyAn~gN}uzgdZS^r?>GPTzmH6Cvrd!$jL76Y z3ujQNwvq7vXA{%$@tcU(>THh1a(y~j7;;@~!*H{Ecp%0SZYJ=SITHOyr0bpyK~70W zT1;0*7-I_R?L5hno@71nmDpL(qhhx$G6|uK@Mby6FtXuD%Pr*uh9ib$B@U;lrJ)Rk zWl~&Q3NS;0?3k1%g|2+;QkQ*AOxsr*?-#dle@a@Ka18W)4@IHK3P!9bwgb?8zbAZG zvXy?%IZO%$GIu4SrRG$LW^4LB$eq;|K$9BaA_^`F5Hf7WB;IGu0k-%eiR1H`i)J92 zHPS+`v$nL{kBZskT$`Pb|7IF?+$69IKf&uS;RzT(ULLrdkM36_e3YfGz|T|GC&@T{Pdb@d&V8+)Qf2a zY49^^t_o-y!j=kZR%6QQB?^iwp_fj%V*nAGJhH=8;-}wdH5*wwyvJe3m;CG~Zq>9d zl*Ui_uY&5`KQ}cUKs6m=mJ|Ny6eXvOIR_fMI@nMRz6#SS6p>qD(ZDgm;(o1&9Yg3N zJqS5&y&H`Bl89LCANo7?Ao`9C&tJE{&;A}dikBDZzCS4C!W@2D(U@cDz#!Qm5_Ybk zyDJI0syAL?uuPER)ygC0(5yC3SH^#WZpA)6Fk>&I*LBX8Z}Z~2S+aj0bdUvN1lUTx zFFfn(E*PgG>MjZWdIE#rLpW9hvLlC;6`0S1iMu4{f+R4`LFFK@7p!|1yW~OCw4>iM z_!q-R!f{qjM??TdvKGs zernt-$zEi){dY(TRH(hx%>*byzaz9m(X(jn1S!q=45G$8+fA-!=7`ArtVy2+nPrOh z|D*>A2(ZGKkRFlbdR- zi}NCs5f`Y#rmgV36$4k91-UROHGurzo;+&MCGfhWSlD{lho>m%E|qhy&QO)eaT-ht z=!OmWqaNIeE#GeoE&RCEVSkS8_sgqnMN+6j-EXtP#M{6NUug0&PmtsJ0=F(!T*K5=(c9?_C#cb z!icX^ax=}gs+Fwmv)V!>?CV7xW7gtRmg`e_VZ&5haO!(Ep!7l-(X_*x{~Who8hCdkB5H3hbO#<9f!VNLwBmngK;3(Rxm!q=Aq0y5oQ5iZ}tpO zI{1_k7|zr(P8M-I`dzz~VRfoJfXw!b=5W*#1-Yz6(cN_w*Bhf`0v8<*-#`mZSq}cZ z=({pOqP4uE4%x>Ss7;MWT7lZC|BASXfQX2l8e-3T#HaC_JkIR=^VsM8f$J5Sn^l{v z+51`RQvc3pEqU92>4|X)OhQ)yYgV$cbm~v8Z@g@!)i;MqoN?_G;CzP2%t9Q#$M-M` z0)A8>&jJfDK!?sl?h>n%#SK+mu~OnYXG&^ImOI`#9OY*b<*3ok`CT0`lT$yoNikS9 zp*`uLX6EaH>bo~w81r&J;B70fy+Z0zez0?Y<)`Pc!@G;(?tD3>f{4zkKFXv|&Y|6M zQlXt4>VHy(pQLP@OyWJYmbhAO-Js>X;-Umvi=s0NY-u|5rSrf(?8N`zs+75X?ikxJ4ixg&`%&E1cWQ5k0uhXWVr^ z^G)xA_8lKN&wpO&xEiE8EvKDJ&HGtPz+C>7LcPcJRrH=q$^a9QYfApwkiCeYk7@G5 z{@b86iXk3+>l<_hTJ=83(bTtuJPV~=wJU|Zh!?dpNKbD_uv_+^x}xxc=+lK3 z0FH%xpXe#_dG(*bT!1(SzO)$5W7qTTOHlhFxI|dT*D17ZH+k!y@kf}E44iLsA%9CD z-b5rqopz(aEoQcSOtrY;zv%rvOmA(bn7JXS@l}g=m_}T*zlVJ0kw7SXX~?@~i)cyB zWQ=TJKL_m(I^K&6lccC@Z<$N4L`)_tK%7#46k3TFmOhI6e?%+Y08u7JteGmGoCgDa15ue*LWM^LO@)yYFre6v;~U$quM@l4SW&nZuWFv zx)xjUS(@@7QFexdh}X4ukGrp=!hZguv=kTo~QsuN95;&52>FVu3-Ra9B!Muyu6MhgeM$t@hD31O zRk&gGlCti0K*%#q9U;cCfxCLAU~?eNGtm4pzQvz^mNPjfp8d#7>eD1!Z)&3=goy*3x|9qKo5saDL!K-o=P3Nkm zc&4hYQap+x4o6F|Y?rjbum!0Tro)qs3PF1*0J^O$9a)pTJ1LLIdLZF7qov2k7K?Lx z{l8+%1UxGl23TCyTkeZ3y{_4l^_jV6xnl$+T5ah*oU6X}t9`CZT7M5sUSs zN3~1=kA3KGlUQk4LrY40aA;k9!{M{~ppC)mx1`zCX4u%)S$uc6*{k3%F|DM~9QL zRfPe*k3xtGDRLxwtoQHucQzY!Ez37>pfb9>3J9DS^xLgJLrkEV?_(to`-A&&4gM!jp=0{SUK)G?kO{tXC`V zy#L%;4*&ahoUY{-zg)+^yBbggp8s;3Ky^Rpwjqg#ky!gmssR4=BNo8}^TnDxBIN}- zaj!Fex`Y&D>7b6#eoh*v!YVV$I=uY0S_Mz{ADSqEt-Gb(4LVz~zeYXcikeW5wSUy@ zwn**0O)Dc$lLJ|uiPWxa1=GenF@#8*z+dflI!dpHBm*6v0-6Mb$SbWiB zX;qC+lf{!Qg5nHolMoBWd3iwt;zCL(IJxh*2d3-iId>MkuV233T_~fj`FQ!|J46>H zj0Lty2&kmZ_#qSJ?vN!~DjYc=Nf8_>CEv0{E9HEkLK|+mPdZkP(8HS+^R)?!l6dav&C4`KkR~^2Onq+d?4eOvPxkVE5*BqAUYQ6a^HHt`5a$vPgZImTxq|&7i=Ut4OrhQ=yUP4q2*A zAIB`4Mt^@A9+VH0c6Ha~ZgFkBXG5@FxICqIJdNq+^1P&0h9K#mqO}H?L`q`VoTe0i znb~La*AKipi^=D;cu-`nXEzKlXu4&!G-Rp??4&0Zs_TTyBq}-Mte_;wR7vQ3qsb3% z9rpy;70{GtrcY=dV_R&@bP4;2EZ@B`AFyN1-1RV?)JV^bLG;U+F+xg~)vjxOPlrP# z0k-uO7#r*nxUSIeUSR%YvU1UZKC7mTegpS5K*Jr_NtO#XF9x&uyqi|88hIIfRF*tl zmGtPzPc7@YmnfB5(|&fhp$D|GMQ?cLL;yOiWnra-IzDoxN-W%DxUlSZ;v4c^9}RFj zxa~#Zt&evnjzT}2ZRvZ^N5pn$+wN)?UQL^-xK-V(d)l;uG&6&AQ}16%Hg@*UPQRIV zbNFutuf(^PZuz2wD=|Xe?kUNmx~qZ5n$K$eun=gn*)IsSHYu*z71T?fasdjh%0SDl zgPUJ&Cw7ML{JTm9NFxe08Vz?i`%&syMzacp=Gjnn` zB?nA-gX!=89yTt3KZu?X7(`cYrP&j6j30gasB}yvA(0Q`6c|$0K66LLL6y!S3+3mf zvN0@C9>miZ|3`i>DUI7pJjPUzn|aJkSkx4GeNSN{K%usMdMf`;bo!&mYj|f|0DH-( zzt&=728vwD(ByqS_YacL!O^EHt;4QMs2Ag(K_7uce`Pppg_rFADV6E~l7XEppSY~2 zRjpz3B+hPAH~xpIs}6{=d%Cc!uvjdmNG@Fh(hUpJQi4iJ2nZpsEV#&>fazO30i2HcYYSIqDC(ia`NV z=%BV)Uw_nf5`jka~T};wFbHhn?EzZaq+_65(mKHDx?a-btC568wWis!PyFh zAM=|7U0T0m3jhHWr4c6^KTU|}E8F-oty-9y;Xxy9ee@>@73sJixgixpG8Z7_VAAnw z)jVY~w0?sR8#Lh373la2YnZubxmXK3+9|g{c{Xsi$HsqU95;mqeT4S@Gl->dZ=?IW ztFn=!%3ajI%aFf+l6)04C8Z>;5kGs~?TPbMjAh*Bjrixi!;G^7oCZnDL!+j?Wv?HI z@Q&!L0`B;qkElbgCVz+ydt|pxBPw@@RW)n*UC7DA*=a{7@CYQF&14XH4@>jMYL1#NwveI`T|2Rg4Agq4R9l~sf0%iA0>FA^u4WQ?p1`LrX7OYo{+Vu>0s zk8iWp(ljoX!pKMXNLODz9yAiH?4BWUZKY|w&w3#O#07j zc?0dooFm2CVajw+-?cyeYh0LYsuVbK^DmkI$T>I=wDV`#&RHOh0oh}GQ-9%>j@k)q>c&2|qSqz2#T>tw!oy8hsOPrBkdvko(Bp|1?S zFb)zR!EVA(Kt{`>oI0EHgEX8sy&$|tE9@yA3KO=r#-Dp*{O#8o6H+%Ibh7;(Hm!Yp zrm!;6-aC7l7M*w?lCU%>S%HWi$@{9We(nQ3xOGD&b`sVocDBCz0q@DSTib`t1=rTW z?_F+7OxfpmD(m@VV_lsEgJX;Afjj(*8JQU1mJEw0j|VAk`m-#S`+sDKd9eSVpRI#CXjLB%Z zPyqkiaa)~2Zs6+`jgH;M>lI~u&KYoUuuE_R2m>*G$fy44jp4Tr5`T;lD9mcs(wBbd zmU|VK#h7v(ka}QWrB0qVsnsP|2nH%?wOLJ*4ww!L>(f&%G`imEQD$! zo}ZbPdgS^s1F2h>O2^spJD&4z@5%Ceer4~vu*o4hu#ygHQ#=pr?ivE2-hW2~nH&K| znlzbeD;#z@ZhTu%!v6;yfcw@X^uhcXobb7W^GuIelL+DVShH)9bE^2tfqfp?-c$PG z>;#z1jS+93zv#964YJ@gq9gBZ6!}Nr4@4C_% z>U)x#A2no5&ooW2@?tvj+;;k$-1_!TN_~Lr_h6VcLg_40xMlSsC0KC`U-iFQ!hO(@ z7+B-r!+8lM7~YMwy#jqgT@diuG!k1{1-PALNrStYArNEI40idFAPK6W-sm~5wn!bDfc7Aw{EKuSqb{cZn zcK(WKYd#r!yL=o?-s1Z4n%#Q2lp)!7y#RbxhC)VmQho|D zjs*QZ_Kj)y;>d36Li-JmH*?LOqNYFn00Ml*O{rn=wq!bab{T6GCsm)x_8hSeny0zipug z??`P%*YR|rGck^jM6a#>QS=4ny0x0UEkk7&I|4orIZoM_?C!wX@>wR)Q{>V>)`p-O~Joqg(;+pMS450Pn<&|iySWm3n1F3?ZioY^Hnf(R)2D(01zZ=s%*M>*3O$sw8>#joUiCbK~(KEIqlV7&^$m7Ic zc2O4%M>Zbe-{i-4`jjp~jGm5in7?|OePYwe17&{f2U0u-{$Q0 z4|BWqb@gvKuL|SI{|9cs9ch?6=WJ8dCg+e~(QT|@AlIfc%1&3&Y+SDFn56X9i(zOf zsjVW=R?L-^=CT7yQub$Xbv@MB|6Mf55nJ9JwpU1B9^qu#W#S8-=nK`p>k)l1==O7Q z`+T_KboF3J%(H6}Y!(vwtvqGB2RA6-Q=~)h_wMoF;m;V-%CJ2t1JicPLsyle8%*s7 z56DrOl<-#9cbt6N&K5Fd7Q>&{zODY8siuUHA6!lh1+!5%Z)?x`f5f8k5;sD&%T(mA z#UGL4-5VcL?*BvW2FxfN=xe1M$L48m+W0r){RK5+(u()-nb7@Vf3k<}^lg-t}C7;Jgnw{8t96Y~dU6ads9_ zzXIE+<0jTUdkArK%#=Z<2=M&3X`RW>sy)3gmoQWFn%6L6sA+)6HA06ScEUO~>)I_J zL?&71|E~Xy_~1s_w8*f3+d{`zipiztrwWr14I1b!=4z^-m41@az13&y9*s1C9K(1+ zQ-epR@7(DRpvZ35N9VFEk>*;!EE$AuuQ5;A}>E7T8kH#AdqXRJ!ajTsf*+q6FEPl4uTKNm75#0f<^P-pOLf|W!; zU(u8rj}GP6TcFh4&j?==9Ht$aLJTElb9DTof0^T6@qWm8IwUuCtt)!b#PHXMirA3Z zM^nA7WndXF=#1ui9#v^qjjN?Fq?!78fW7}|eeAyKKnMcz9uR)R+xAEdV{~d|O3~cW*0n z#gTbk>RWxj(qPb z0eM4;oy|FXY8q^j#s^sf%-133_^O|b1%4&eRKJ*u9GXd6THxZAd2Gcer%v)Vq>Xq6Tm=7sc6qq>EY_^Bt^sum{I-t-@qe3I z&zOv10Uaq(b?Sc+A)abX&j{bRR?!^F%4nSP>{$uAISA}*ydvV*LBS-yMxxNgF!h#) zKi#K?XOhQ;$LSs6Y|`7n4A@XKvBnW%X-}jNU+oX)+%GQ?xQU)sCP0Ckx_{6|(wh}b z$Jl5r^ zHQSR&k2MeOn{xsiEVA>L-p1ew{ZKXd6WnzL_ZicG&B79bTJn|)%H=P_5J0D{rW~-& z`*0-?Y|{j8YOTCPy=dFoNThr5=IBpxg1e4Jvp%+5%la2TdZH@PZIw@Dk^CRY!8{1U z!~QrqKOtfcps(QxA@;93ye6Ck-AS{D2-{yAuldV(0SO)Ap?ZD2`Rur3r*Ic1Ey4V5 zdN}6|{={vn?P>dU3E(3BtlD+y`kj=mq`bn+=K({$DKEhc8ze#3{$n~NKPQ8KI97^rphr; zn;Z*Fa*}4fS#y6olb7_ZqSNkU zj?sO*DJ=^I1A{^FONU$HdYCUS1##EbW7TFzpnTzqC1Us9vkX1BvunwZyNI*x zxH)cnsPt0#;eRA0KqXq^6P&K$ttXeY89Bk0aDe6u+!Rx!HzJ&yR-Wuy;wut>v zUs8KZzz`eTwjQ0f)=~@9l{2)KPyBB>9Z4dxkt<#h+q3`OV4kfF2a$gkFaTv3d~dlC zj_&az2fi%#mY16R)t^7>C}dAGA)fQJ_!IxYhm8-iuwHMqiaGY&-9 z&KULxU$Zbc6Y_{W=VMCUUSE@QHSl}QH1(xpgL*q|k<}NW^%Gys6woz+tq;f*qll1M zhWVwT+ND+Dmm+PHy!<3*w+kbKc#uT@Ob%fqjM-B6*z@7~NdLND;9YN{h|vA}PT&-{ zL%Jvw79U9b7XMO&T>Y6Y4yx8D?c%w4JR=d!T3igE!`Q{!YJ6%!`w%efR80Y_P;C2j(EdMbQ*7RE7aLIW*|HRyz^JnAUl} ze%ai|ZD6>{#N)00NtTh@NH6~6(TgX^bJ?WAADire{OI3A4A7VZSj*G4FqY!;)4K%! zH6ef>UzbA)uLxedik0=g^`CW*$tTO1M!{L zeSB2mUs_*e>ISpCoSvtI@CI!p?g;*!DFnXHo`Uzgl!GYL3%B$L7%B={ZeLBW^aG?T z+3Ay|5B4&oe~nC07v|SR%`i@1qSqu2U(TOu#Wd#HI;{d#O)#0MMDlIOp2s>HX5WD# zv+YetSEi9(8_+-XvsK2g+=v2S- z_hqSSST9a>%4CF91ycY8NMcOW?b(5fY_Gg2+VkU;T#R#BhI)~bntg+jL}q&6GOS^# zf(M&(!EH&7CsYgJ)|!dOk?Gr+?nBmt@pVpw-rP+Y07m~q*g!Hf%AdpWO_Q8)9j4Gf zh68%mBJ5*VePTbsK9Gze=#E?O;|F-!Qz}xb_j*!4``{ z!5v=w${`243tip-$?`z9<-&^ZJxCU67N|D-*Irq<)y-#v`AHQnwBqXG``0EuyxJ5T zt{Fx?Z%-8YXIx-UDPeTtgMs(C7`+Ufn{mP9!%ZQ>8D6W{&eAjbsC>AB2fb>2?6Q*nNeJLVPJB1_Dz^E0o1-lepfdjsk6Z&QJv zjBEQB95+{}E_(pWuy z&MQQ(Tfry7bO%lS`}0T?HLifz-HU#ubjJYuaI@cv)c=0=yI`dQ?U0gkN*{r=0VAsq zff|M$4267~=-12dUh*1+S<>m0 z5zX%k40*!_*0So@AM*UmkANB^apBV;D!s7TScULbPX^r|@9W8-OUa7`wA#S7^l{5k zb@`^-UDOyl9|&6hv$g;vn0!~I{> z+=L6?3P&X_p0+i{uOG`F)^{!*bF4Xkk|O$7jz`lQr#edaukp{xPZ*mFZP&<)WPxf6 zHuaRl!J99yWBx5Z(m(;CSee1YssQXJ774w5+}3iv(Ticb-n1zc{)!GMvK9*4{9j(( z4HDEXJ(i7s_ybVg-@Av)thF1`_>P|w^U^=X$79Ca`CrUN1ZA;;H)gPu>z;@CHVrgp zqNVNs+~~jG8MKFVz1ABgWkx5?kfu-;NN9rm#5;jToT__Rk^!L8k=(r?G~j*C|NGP} zl$@Va_$yDk$r!;j>8~pYPRB(u-l`=H+=hn#e$9XYsB1OdDB>rLmv0K($|MEqt;yk( zjjBF?&iM%6hGHN~Qt#+Z(_YqX4A0YJ+l4r2xyfLOur}JB%3os`br45n z8UZdbZ-cgpn}4P6T2`$7$;;Nd9hvh>!`tWY2~#y&R3Gxo7JtwPM(W|0K z!0|L|M_nSTHgjG5>^b>&m`qf zlCrm>=$;k8%si;DY@L~D~6Z@p8)g` zLP8Jr{IN2feZPb9*L^va+{FKIh_>6m7!yKwq3MEk~8Z3!krQQW zmHYWaX%_YFlZ;=iWJ9NSyJG@bTn=wVVmL`W2F3mqwv;>A zUuMjG%e?O=B^YAp7|ezb1&g7O2fU((=ToNoF)OqoU!?vmgi zSPAR8^+KdhOrjUn`gp|)|%WfecOYk3c4Xvw)fSBy$+V!j{%>O`+$f{M{%FZM5 z1_>LGcp+dq=^RlPyb#6=6kS_7NVt}SoVtcua;|l6{%8XA;pDq7F98=w!0`Q?L7NUi zo5VQ0N2Irt^*HuyULPpl7bSdbyudFTe~iTld;!>1928Budy96wv1&~v=H0{Pwf>7| zcP=D=Nd1iVBuflQ%dM1awa$#>w|yl47X)KK2;uc@N%cNoY{0y0IWK5lUjF%uKq~ol zdG@x{svdbWFF#*Au-G?YA$z~NU@N=w#?~$2VE}%*LiU#TI|Q))xCt->sD&Rv>0x(G zRn67aEN_WHo4YKhM844=;UF*Ua#jYVP*09-u0X(2FP?bhUW{?BTR0^Z(GCAfJGU5# zsH4FgsxwsXl~_fD)?m>h{u>byO&CJEB9t3_P4*plNg=4v^*GUQm#|Otg2erOG`P6y z!Ee#`AgJtKn-d|$?|`rUw;2dM2VWU2=>;BWHr(QOnKZMtspX zP!0YRHL{?4%CF1>e^0|$5)(lJmeYMYTr{4MKJzF)S?`UY$qM6|1 zM*_YG1+=5>UR$y=$p;~@IF(@N;|*wb28N?yn-umdcQ)jElp>Ul$A0jA1P)<*NX3>j6o7 zEW`8sM7{O;iSyWcRU@{nOBPR%AsJW zXj`rxCFmFDLHX^|o@FcFRmvFh1#LwC`Ex~N{S8BvWEK{rfjFj8eBUG>j-?f8d#iB? z`#+>7)Kx_&7yoj6N;$z;ChB zs&Fq)N)?-ZZlt@TZ#4v=PpJTXzPV`Ey7}(1s7P_eBfKZb_o29&<`hR7=P{ZIym)A% z)`9XcQ}z~){`5zmXh&T5nsCd3jpzr~G-WBoEk>E){b`EhVCkq-ylYIGOxr-v&4v$i zA#)vf)r7VD>!O11->-KEx4_CK=&^5p!uLqE7P_eprE(MYl3W50B0R;%LfcBiDx8gR zbBEVTE6TEB+=R*Lm#o8bHcD@of_F8-XFAbriC)qYY|HOVE4kH@*DI=Xb=Z||>gnZE z4GOIwse_;Z6cd~z)|*^{p@&unK8(I$d8q3@Ne~7QanYh+aWAHuD^K0v*w7wqP9j4| z14D>1!p?ACMLqD<^b0fQzt`72V$2yNV@$YX6k)O&9a@;fn_$^bbMeWr_|HOZDF*o^ zVP<|`-C4G?+Ff-2IS>}dO?@W2YGXxpS`u(myra(UTc8pJDNg7KExb0X*z;}hK!*MB0O$*ksSb;`4?=0yi-3hhOXs#VNEQ1*Rj~+!`K;(i8Zzq=p+CQ z(wSZZ+G7^-Yq5v2uRU`F7rI{ou$)L}GnngGOmDxncxH9n&pE>O`XMuTS7J<|jl2#N z7{FLh35n}h5_1`UleR1YB%@ zca((j?^_WZ=O@%i@+G1NLv-&GX)xYNf`Eo|ag^Z0emk2aqX(5yeZJp}sS-;La%-`N zMsF>?y{qabeGnkaMKLDV@}9rQi510D+qM~;iL&0txCaw3m+hdx9-=|X<%Z))|6t{H z{R%W*!oX2x3GGv)5K2$ycg=1)xhL&fcz^by)KQ>}K;BjOvZ>XiqDJ)q!?NeV@7Es_ z1V*2X1?gZFz6YT}CWm1RS<)8-exI(u^vMU7?Fp0OI`vAI5^U%ZabNlVGVG+H;l)b2 zw;jMz*C2(r$|MQgn$vh&l2V*60!-0fvaxhJr*qcSaqwltqlW)?cIA^}%7ubfBCfMP zQb3sLE}5wF7d>(udIB1o)e?l8-+-d0CQ}iuLldb zwIvN$Aoy@&>UHgG7P&1h)ewuYv^EYs(eS-Q`E3z86f8bhWa#AAGv+H8V-&IPOSmP$ zp)4bOwQN7eeh2c~tn2k4EyI2(ICO9hEgMWd0XB0FyB^;rLK~E0}0inJK8hp#uCK zDfEfc&7p#O;G4oBirOFUJ)-2^+2v0Or`Xr3Ac@oWaxpQyxIsZRrkK3+#wu#=V5RhX zn3V!`?75RV0w4w84E`NH43s^Li9MWB8^h_AUpKyCqMDXmQcINC&-eB1zic162NB<< z+TM8y;k?C!y~OZhwVc?iv(O~RSh2j4S{)RJ@6llHX9v~Y`(%~Z@iWQTDf(86k_uvQ znL;#HRv?0149wN=N2voh_~-vz#Fq=oWXQ29*b|Xpsvt&j9jVq{+!Y@dsp|p@T-@%) z(6l=Yg~gxK=NLPk^N?NR@QU5~+vJaa!W1t`B+1PKItjkNC;=k$y!`Qz*6!?eW}q!q z9_l^gbrp*NKi=4K{K~#jT1?6w?{KT%S`O>g-vMqlwd!zwE%OV%{GFrrW;OK~Li(FP zGWFrYBo1|wqmb{KX=vJ0SckN?bZW(#FCRQ62nm&otiRwHb`g5_aOn=p;`HonJ*HoI z$Mm=<+ca!~n>jHX1{ZMidmt)R_@I_(0Vih6Xn zf{_%@aT}GZD?OKQAC^I^FebZ$xEJZC_Lz@udJOA(#I7y;+SrLnk&HmGii`g|{h7#9 zD@s|g=+VDwRlnz!2E7y&`JG%rKCi31dXFzkyXogrg>=2VvFSyP^mh8Dym1|_$bh7Q zBqX2VoG{Bz0i0D1AepRP9Nxs;JIuRsC$d7k-ROzuMY`onos*pFj~0jY6Lqc>*WuRV ze8)%F91I$t=l4W6!t`m2FJpE4?2LI`UnMVLQlV zKkpgyJ^#n8wdC=$O8R1RXyG6rzu6l70B;?8bs;(a7I%PV?#$)9K5^Hh_d!E--E|2U zS>dXY&uI%;!l%&s`SqZtSXVXM5l)bPv9$BCF+JVa?mNKbZ&vL&FE{!t9X1k3u?zp1 z>?@VzUa808yHd|w^<3*V#|eGU z7x5L1hS{*?lZRX0NxULmVFc)BJ(WP5a%=QUQ@}|gF^1&b+8atl)fL{>M?xKLtZu$I zn^Ta$&Uvsce^QTm<3no(;jcB7awp|73CAl%@~+?{VeeqldGQ-cGsv;{cpb?Pxz(?*{2Q+Nph8Q75|2P*_ozGEN62zYNyL-~9Cp zj7Ya2m->&vER3QdS;oGsy}biBQ^b@7&9NAZ#k0rP0qodmWD@rh7JEH*B7#${FM2r( zZ2(Ra$C*IjC)GIfVWi`#>5begiLCEF{ZX(0HxHuV1Cnm3HOXuFa+BG4+y0k_-8Q!O zi4mcXXQ=M*VJv6Mhl7MpEqF`_G6&P*MRRGf^iuk!QH```5h3^E4pm&~D)$C6)~uGy zY~s-16SZ-c&F5-vtqTlKS*$AkC0Ns#(5XH^j!~=2x`-C&aJxUh9UYi9VLvn41|t%i zjxssY(Rpii23V+M)9SoX8EUx15}U0pNf~S#q)TmLkcz6~^^?UXL|X2p+3(^9X`hQ{ zTOV{chF{c8{D{@^ym%t{a`m|QY-YK*dC48oeF*;&Lo!KgpkI2SSnb(sb;@=1=RZeQ z@X_0SJ6h~~Lv2Vjw4$@}tL&~kj0uy&(0MPgR!P5!`J6xi-K7o^StS#nw(IW@mbh6A zY{YO*?1l8igpbU(iybVVba{k4nh%>10O=%o2q{C@4Db0$SiIy5aM*@VR#!HT;y>L# zE1cz%q;YF$mf-p4Mlaw@3>mTvU#>!H$8N+leO(z$PhK;%;kAgk)<*bFqx)DOu?$y) z>&#AOCUJ7{_OVvd;t*9g9iHi<&ZG*=^qZL@4ptu>P3?Hl=O-V!^q_Xf?D*zawijxH z9Z()BAuid3SfyO6$G#6r-`R_Rr2`>nU`M#lPC5gtxs&(>Y_zP8t<=j<$o-L!uPg<7GfW7)KOes0i?}C>f+_xlAA1gu$~K3722&QlZR7ijJ6RbM3=8waXVCrJ0+O^^*R-g6#8EZ^ zyBnl#SE9I2>~0^lNYWN$*~bg>QK{%JpHnl|#qcajtwgVVqF6c=IexW&R&>4gNMo4&=y4NI`3r_T*vbrA*O|+vm>ik#rnEj=e%Lx4owDK56 zHwNs*f)*_y!Po2JL(3NrkEJ~a7mxQ_?4Px}clC7lsyr9FziRhpYwd?8mP6Lt`cx=S zbI-?bLY6MC)XSGEzr0fX>&_i|758`L}mj3~^-mw)Qs^W0!R26N`Hfzn|+nm5= zg0X%@B7S1XNTLPly`d=O>nIZRs2N3>U~C5BGvP{-M}(RQ!*s!wZ4Kf-4hlOMHi>_+ zUuDt1O?ByVXI;_y2gWPU^P{tMcd=Ir2H`q0i7Fick6i8=bi3opn{EuqQVy?uv1hroQCHu*B`F5(-P@23#vm<8 zBj&0iDx=n63PL%t&kHv?D1^Q~3^b!F8tR$R1n$Y-8yg2As}peqq=JrQ5afzVQo)Kc z1D8C*4K$E!1(PH})sxPfWK=$zMAs~ete4`F^s^`})h8EmduHvA$J_0WX0D-3uh)@> zptrLrdr>EBf|a333oo&buyuXvl;0ga%>uA+2zm@%DV;YX-c(Y9@K?eO5>462;$5W{fGBak$pKqHU>dQ-W~(*gTk}2{pI3Bec}2ocnsVQlaA^Otcm{&5u7T#I_y|fH1qo zac%$wmB2N2VZZsmH9s(tb?3;X3IW4FJ%mZA1?45IRRz(w;@O4O55FM}!Gtj4`&@*6 z^w8UV%;olNPdx07KKIN=M_h}O$16sIP24#PV^cgi%W!m)VLcm^?;NF*N}8``+h|SN zZ6&t`m?3Lk+|FAD6COmqYtA~}C)D?DVv>KfwRo2bCwYyeJO5GW5Z|sLlxZ!*)*vKU z0`l^68$JQ~##GC@eI&uqXAcGqA$v|80eq4E?GiD+ua8N>)-#7k$0xfvjiLZ6Qzq@7 zx0t?T+Z7D%&OXEq7WrFR*@YuA9Vm4^wUt8U`g0a@*OX4;U9I9VQ7JGp&jiX7X177w zB%KY}MpjKtudWX&x9LLid@~AbaEJu+4!1b1-5B6T5YJsI+VlP+v&IxRKIS5HvQFS5 zhPkaJ%%65Un(r<%sIGHb8*KE1Dh2sTPAxG>bb&my0;CJ$A!WBYFwKXMw#@#w%S+0O zozBm^OoE8y&N$k#^PeQ#B~7WSIgo~6_y&C;|lkCeT+ul z{O%$T%A`8-ZnA%uD{z{nxL})ZUC~J3-*|zshOGWTx`=Me>6HZ|#Ydb-g(J4RWeD=` zYy2OBIKLwXJb$;!}VJsKXjh%=Eg2(}Lbz9e7H6qv0&BQ<6_#`f+x! zoMjT3AodG=?yYnj@LjV6p0Gg1_pH!QH-(YcZkJ)SF@dS32#}# z%sQUmN1^wC3KGN-yX$@uN-D314ut4QYXRh=gu#hiF}{ImS;;}jtBOBDMT*+rpQPyA zvZslCRhlp?Z=j($;}QUL>E?#Ch6b*CZ|12P$@d*#i9B z0wK)i4`10Z&}HP2PAJV}!;7Itg!R|QO8fuMfpN=O{I0{+8$^j~n`>>f~z z{(Sv0Y`7HWNJo7c8C2u$IeG)D1|vo{h-O+ht5!+Ve^sMpo>NS`?nE(Z7mahlhM~=& zO&0M*IC&gi!2ziZ3d75-uwLdrq@O$gIcE3f~|kWB0yAdC{3%i--u`jKh-cfV;kR+PlkJzSH_e=9?O(Pw(o#Jv&J0z@F0 z!RnVuv#k^I_Ehw@3_op$q6ucGG~86q*W1sQZ+Y*4GN`~gboa%z=i)f{s+%phGe{;htZ2nT9e;Ost|8#^{yWwt)yFP4q220po4rHs zGgDWfgA8!ax5J*ts^{@D=K2d|oa}4E@ATT%miI10`^yjJi#{C)Djz8yatsYuVIAj* zL-47ZH7=~;sC)y3Jlz+5U#f6TfA86AInt?tU&rnZyr)eYQ$)DSXC&2UR1QBW9SCpL zdk`>7UBHBbeYJYAd7Vh-`4)&i?g^mg1YQz2(7}!!dNcU%uG|h+tRr1=D|>l=tCoyl zzYI+4Rc7B>|D>)c!<0Tj1tw-J71jpX@Hv|3;L-pf{N?J1mBw9CnP_T@|YomyxXQD zFI9%(L)}8p3<)^3Zjfo(@XtFVYL&k7ZEGF9;N}625C}Z+UhJIlpl8CoqMK^e+0LNM zys?!i|Lr&C`3>m+*Odmt#i4h3{gX;CIkvtHS&(zEB}Qx)ttxblAM3CeM?Qvp%5~p8 zu|A?Y8u@i#Vps6@G;r}ya**q*{aW8ecUo?H3sCyy&cmEY2RXZDevB3|9PMaKkE$f! zWC8yR8xRY-w_<|7vXo2a_)Y&YS5@=7xI&2*7Q%@vMhXz^ekS}CKsc>&-Et=G!rDw4 z50>x9cOHiG8?b}e>jC7W*pv1jOxGZcVD@oa=h$n)`OixUP&wmC+@L;00TZUS_ z)IgHnUcqLlW9ssqcdsj5mSxvTim#IIft#b5cI#fPc+md*>6wstaE8Ss!S_<@Q$&Kq zREoHZv&_KLb6p8{X9`e5%r{a}f@{9^#twuvv!`$}=+#>0rY&K*(Vf*FK zZcHe@4Kn(K9tc6+!DZTJ+EW;xh(?SDtW0F8-`T5HzqtZZ@(TzgO_jB*)83wzEgjT} zFhnJml9i!2ys@@wz=j4I#gI&*9c9*NK3g+?P!cuDmf`JgV`QuuzeIcrLwBtny;|jR& zTV&a0yt~=2M01MyD*h_!3a(kvQ=z>TvDoV4b%U{PgHvaj3k_NVU zM$N;iLQYWb{+GEnhT!3TJ~jeC8VH_19qR0-31RV)Qz_Qk)L)ye8Zt`guD+`ugVHQ4 z-Br-PBDqSv6RkYjsdS%uPG9F&$tFi+WHb%#$& zf%e!GkgSf5+K(!Hr;+dIeyr;vmXFRnUYDMd7e7+)w1T=zr|))~W6>sLzj+1D9S(F3 z#?9nl0F&}YnnR{ZUUDwCzWy23HlUy_H@272#JnFK?6v&)dvNfMI&%hF9z|3L1U(+| zwTICt-ZF4??_g4rAt&p!o~vt(CBi)5JWokNI62ND7v3t!CG_?~}rl70-2d52sf z8{inE6ExA6SuBmqUpyLbvELibpnW2`yv@3o-z$w9blG|+sw>ChUGE5uH%AUJ1s8&W zJroZ%ZM*cm(o#cLkgXjMVksElu7Cy~>brM#=;LT;`NA5R#tsWWB5O6MP1jdv9_gXau{V+))3oLTSq*E-frEhWny40*76POp z;zfo5VF-joJk;=TTfw(M>PK11g8tAEy&m6pSzJBaGjaqFJ=C=Qe^_}-4&i=x9hA6M zS;>#*q4srL(-cs4#^lv|on`i1Roqn7Pn&;SZBPCALtPNWFF^gjkBT09Yuit*x|W=mzo{IZ&;p78dyTo?Cbb&OFq<3LBHL} z(UNoR*Host#uWUBazY&XfU@@dl<(Hug=hVLbT{yzGN_+%GOgJ9s1Ww4+J&I}+M7E! zY!~TO_a2tw`in|Do0tse4Y>j_A_z%Z$YVBJ-OhBT3_eQothhgzBY#13f4xij?vuG! zz;s0Mzbv=AhE*|YHHK8UtK5=^8pRdS(qTK7U)*08Li}-BkMNmJ4>TBAOtv^F6lG*gAmvktpT=cvvXU<-vIiteL@senI? z0g1+!6U%fGjjC&!5#*268{GH;gRrA$o;~zsmR+2-D$NZtx_$734m73u6Ud2aE7cv^ z&UUbTA<|HCPc0^?z&oxM?|V^a=xz(RHt04c?kCEp8*NWFpUauL z$06+?^B9A7LqzAXETNqpPqbkGyiw(xNMm6{qBMCD|CC(c=qKjbwHHbOOMeBRtwulDj)uI7E$ zvpUQ@kk3I*2|?y#cJc;`R9u|NCmj{QmMGtNqX{R8@fP;Jou_w8ptAc#+nb=M|LRZ3|c-zQ$pjV4VsP*weBW3rWUWHkNM)h z)qnCbW>njA(0P8*<>CNwvz&Du5oA){2 z@t+^aK^6(vC)`IY&&1O1*m%uH_Dlh0&QE>JzkR`&kYv4-N+Ah?jvzcKn>=UM_wK!u z!h94`pGTV>*$6o<)0vH1`QE(Zv iJo)Usyk)(E+JD(Pg(x5`GWOzAUgUGecn6V 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 z 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 get seeds from unencrypted wallets, open the folder above, open the .wlt files in a text editor and recover the seeds.", + "close-button": "Close", + "wallet": "Wallet Label", + "filename": "Filename", + "seed": "Seed", + "show-seed": "Show seed", + "no-wallets": "No encrypted wallets" + }, + + "blockchain": { + "blocks": "Number of blocks", + "time": "Timestamp of last block", + "hash": "Hash of last block", + "current-supply": "Current SKY supply", + "total-supply": "Total SKY supply", + "current-coinhour-supply": "Current Coin Hours supply", + "total-coinhour-supply": "Total Coin Hours supply" + }, + + "network": { + "peer": "Peer", + "source": "Source", + "block-height": "Block height", + "last-seen": "Last seen", + "last-received": "Last received", + "last-sent": "Last sent", + "in": "Incoming", + "out": "Outgoing", + + "sources": { + "default": "Default peer", + "exchange": "Peer exchange" + } + }, + + "pending-txs": { + "timestamp": "Timestamp", + "txid": "Transaction ID", + "none": "No pending transactions", + "my": "Mine", + "all": "All" + }, + + "history": { + "tx-detail": "Transaction Detail", + "sending": "Sending", + "sent": "Sent", + "received": "Received", + "receiving": "Receiving", + "pending": "Pending", + "no-txs": "You have no transaction history" + }, + + "teller": { + "done": "Completed", + "waiting-confirm": "Waiting for confirmation", + "waiting-deposit": "Waiting for Bitcoin deposit", + "waiting-send": "Waiting to send Skycoin", + "unknown": "Unknown" + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/chevron-right-grey.png b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/chevron-right-grey.png new file mode 100755 index 0000000000000000000000000000000000000000..d0404586d3b59d7fc347d2ebce571979adee4daa GIT binary patch literal 516 zcmeAS@N?(olHy`uVBq!ia0vp^4nXY0!3HFsFT8LSNO2Z;L>4nJh^c}wqi2xH2cRHh zage(c!@6@aFM%AEbVpxD28NCO+IxoAlA6r8R7@o1kMZ&^HLJ~L&nzyQZJ^`= z1;uItx^K%Se7Sf1kwv7>d4KmyZ=W%FtZg`3vPC#-(Gh;tKKb8YAKpC4u#qKxN(Fb~ zpRd;P^!*MC2?+UdXw(Fso{`TcX(b<8z-`QYc$sQ8ua`{Zlo&m0%L^>#s}*{AD? z^$l@N-=1>BH}(D&+{F^juW~~u$8Msc_lCb-P1*;KT1&2C3GWt~Ar!Ojl!8~mUY*i7 zrbD~_To;=5ZhqF$NxRg$uGqEx)2v?My8SXcv;Q<#NjJu$;*YL*lr87~J#)ppTI04I zVQu?&+|t+kdFn~xdH(xRYY$roKI`bP0l+XkK DE0)`_ literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/close-grey.png b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/close-grey.png new file mode 100755 index 0000000000000000000000000000000000000000..2f0ec3b6a5aff94d4f5aeb2e9c8e67df124eb001 GIT binary patch literal 584 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9E$svykh8Km+7D9BhG z$B+ufx3ey09dZzGUB6W`D1M2Q_EfLG z|KD$7>kj2{bKH>HG9_g5TD5X>e&gq7U7NpeIDPKTvaPq@?prX!TH`p2gQXh7DMQA9 zKF)?BABHK(ObcX$8J^By(0DGVa_zP0v(GGV%cKt{_Qb7c7u$UE_sgGi{n#g;)Lx{) z#C?k=LdUMaMy}98rtY6X^P|n*e%nqv?QgJ{ZUIO=Hc?o=C6K~!J-Q?2wGWyO+;gWj?Mu1>-aS@T;j z=nBo^(yv&{vVP))l!}F-kMaVTye<^)y6c{^{pR|O6CSpPtvDSxy+vu^VeW&o6t5SZ z$W+=Ruti#g)9CGK37%gE4|6-Ro)EH#|7>~5^VhoHr#aLXWGOzGt-ur$9V>G@y!N{K z7G^>5|8GC@^ItsrZbE&U+^QWPteDqn7R`uF5#7VNW9gynpeAv~&{MaUsa#;avhwZh z2@awMGIE@}7jSw^YPojxud3o{BcP8h?ANV}zP(#zP1v1C2jPGxe7;)S0k2J1u$h%_Sa}zlh9>mD&0xH4_xdxFTSM_y=CEwcouqn=v|_Wvu_dz1=$jpeTx>D2k#e%1gxHl33ayt}sInA7BwY_lDH|jssShnjM6> z90S&NMt5^htzpSkcepll2yz()Z0s#qTonu!cxOIAi0%z=5g#LHLbnFwiMKT84ZhKF zOGlpnBkKK3?I3lXkO|!xP$d3MFMb(8u*ETDsz5q7j!ot;Svdb{7LooC@RM02@bR$0aX*;dvoI)383Y1k^@DP zBkdaCn(bXpu*i<~5RSBGK%G*@xR_w@Ds#SrBkdSaSA0wr6F3I|lT_dS5)5c6KBmkB z7C)fAG_|(NvQ;22GuIKHBwHQ+(UHa5%sQY)32^NGKl+elK(*K=&YOy7I1<(tkqI0L zgJ^>kWUiXm5zoj@0bZ7--#rAPpJpVdL!S6+bBCJ98L+XFvp&9A4%bt{st^A?KPEe; zk$6VVfb7UvJksm7u?ca)6CU{(Ndrci^A(k)DVmtjvUo<$fF53_&J78lny|JB9>g<} zNiZD&2b{8U9TPl>XJiamMvIi>Iy_7*N?c6vD4vlq;OgvV&uelO6FiG&WDLkAz$1R= zURP#92jUqS1F{K_Yc_w(l}DZlyoTsNJR`Fg*w|mlCP5askCwstE5YIsk7->z)7$_a z=|27z{C4|1+MFjQ^cqCba-_B?6wY`N&oti*^-=cJW^`r_ZfcZU84hiHT&R z?e3gD?QB@R0Q4~c{6h%=KMJeMyqZX5< TDLH|r00000NkvXXu0mjfxK(|? literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/edit-grey.png b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/edit-grey.png new file mode 100755 index 0000000000000000000000000000000000000000..a5cf11e294c5b8bcc7ca298de10ee1b1a5d1f529 GIT binary patch literal 909 zcmV;819JR{P)q}a*iWURs$duREOm@0P!6lyO&aK zz%wUf0E%BI5I49vsXIo1SV}p)29KPC0dc&(QlOS?j>U+$J(II9;EBNvFcE*irwM}^ zP$Pbeb>C2ALhXM9!4&r|Awq0d?Ycpgw+(GASM#N0=XeKnEraVt|SG=X1I- zA%LE#Yx9`lFYCk;)CCGO2sbyy^WfrFoZNsVy+*(b39m5%p080I2`QfYUdk01(pv;H zguTQ-zQgUw2!;KO<5|;n>LMWoaRnCi5&>=6{O>rv#mD&!W|8nmuR~+rnvNDbkASub z@12wvrjdZfO0NsUa0-TWYJh3BH#Gs2deCK8b zc#Qz1U|Fhi5>J#Pp?Wy1u5It(w+V>-o6_0R8v{pl6QDx;nUqVg#G3&a{_~3JeOt{F zmdmvxS|%&kyNV~g8IWaA%+yNV<1dA!lL_^+KzH$k&n6J*JD3kv`Iz0>gs#OC-V6|d zC=5f#<1ofI*MRVl;@^VOBqtx5_XK j!!QiPFbu;m4AaCv4q6|1WvFMd00000NkvXXu0mjf{-uX$ literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/header.png b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/header.png new file mode 100755 index 0000000000000000000000000000000000000000..d73c27344ce322d412519d63590eea4657214d04 GIT binary patch literal 920348 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

              ZAh<`4UBqKKX#{2&)kM&{?Dr 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


              c=wDF8K@V3J8V|*;E|zr-&_aOfi#gymnp-L~Jp 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Ɲ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

              %Yn@>bLVmm=)1v; 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%0AeO*ddnp$-+| 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

              *d2w1)kZrI3As4OcwC5r+ix*&1hk!u(ge^Lv98H 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/plus-gold.png b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/plus-gold.png new file mode 100755 index 0000000000000000000000000000000000000000..854692e1f776aa2423e8807762e76b8bdfcb59fe GIT binary patch literal 1908 zcma)-`#;l*AICo%%VrJf>n@ZXN_vFESB%Xq(=fAK%Vp#eDVIzkTKH08NM8=aI+KLW zHOc*8;pBc4I!tTGj>`~fVn_eMc|RV{_v`U`KOXPL>&I6*-ti(rQdtrJ00h>~nsA^= zKY<=P*xlxSe;f$xmYqiw0O(%&38)P9wBq0hiXvRJ1eimrO9w_g2;+bOfZ8nh4?hS1 zNWiex7-B4Fg*FqRVl4Akft*t^aeqna+)!Z|n3OHo!_)eC(TSK-uYQVzDRV__Ompl^=R#6?>*lv=t0)MnK9=E?iWnCRm1FW zRny2k3+?LfoQ5t7TAUSpUn!da$(t~~w`k&ghbgqdoPK97nWWargMGM}Ugxv)$=c~s z7iWxWzh|?>N^KxjWdH(uPHAJ1`irp^B1>R{7r4csC$^Se2B-2MzSyIQ>PB+WxcMCy zK84xR6Ta>ysAG9Bu6@bT|UoC%uFt9(|!mr=R z;NjZuLn8NZ(%vfs60!{RwPeO>47q!0XcGA&ay?u2xDsftU-T}w!)irwJiv06X!u9V)-Zkvg9&OJbzH&DXckxolF;3$T&d1p&A;r-pF^>m0j3vd|AVIoF z_0<+~YErX9)_{{6}W|Fq7pW;>SS_8lJ${4<*}o z45TR>{8H9t@s7kd!`M5Wfh3C^#KTN?=(gQS5~Or}Jq!H5dKKF>qG+S&Df)A&)JdWW zajKXvIwow#zLs{dj1vPO?fx+@> zac$aGK)umF$IkqSXTlCOGL+W{SBYE-t4Yfqo^}K<)jz&}j}{%$LD}d(j%x47?|1wd zM{?>h)pJo_K16_04AE1X9QN?^o)US?vpHsE+*W1HcLp!IhkhbY)dX%o8MLWQcHpSG zF7)i|h9i1Clae(ofiOhLhwVx+`=sgrOsXb7db~i+%sh;sRva5nJ5l|z5IBRzfEX#7 zz2ae}J`;wFWat>UpxQmtF&b3UlE~sXndj+b(-*gfaN&zZGNmAPJB?ghg&Z~uxh`WC zsIlf8AP!B6griA(k(AutCnf#dk0#PwINFg#V}7=QiyvPhb= zTmRQkh+CWlWKk;m6Rs&hXkueafeCPvj9YEO;IPC|@kOck3BRkLkh)!n<=5U{nRVs< zyN|Rq$byoyL8J6OBw3FKTAkc~77@-xmL-&&NB{}mc*1RPuB@e)v>Q}ySBLkU$3V*~mCYTIgz>*m(0_T*$`gwH4j1Psd zYDW(+aLO-y`Nc#Eq@@v+2zzMF8}#BjMlA|6PH3Wm4SG;gKEEI&*ioKb^kBf?Zn5SY zz;L@oaQJWM>jAU2@+rx`kqo%N<@xRMlstk&j&)ux6;0h}zQvUyzJ^|yecqU+eDMfa zhKS0|k%yj+P|pE)$rLgBibV!QUOB$j;f$ZFRvRe5i2SzYhfY<_Tx zv@3;cqEd4Q4NbH#X`x5DF(p@BxAtN3e^T{Z3-YG3V}8d5W|fXJoy$;bXpp6zjdnfd zsKac}`#Nj~mUxxEYwno)VynATEj3v7Jfe~I-tTmr+6?M>&)pO8gL8+TZhi@^(dc=a z98t;f_Na$2d<=fGk(2Bcm39^o|VBcUmEZhbDz-Wa# z=+WIzBZeJy=av-Rh}$lD8@@5w^yjN()BAaeRt8|-{5Q@~hhsU?qDP+#mPBm@{=&m8r@U%x-3!t?{H}@58QoTDo-SDG_pva4S9Ha|rjjo% zo#jYnTZc^t5(l<5`IAf}zt}fFojH7JBe`(gexY+9_BB5%OXA;j&_RjD?@LsV%sju* Rl~nfg18d`G&9wBT`~y$JZUq1U literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/plus-green.png b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/plus-green.png new file mode 100755 index 0000000000000000000000000000000000000000..ab020791cd0f5f90a9fe1ed7f10ffc47525c7cd9 GIT binary patch literal 937 zcmV;a16KTrP))k#oggwYK+_4DOwe?KBoic^z!cB{k_qZg&~$<(6C{0Z3o$Q!_G1z96_gZ!xid~QAPHoyDl1tY9 zx36j2*F~jnh%*jb5H0`{-d5425#z-g(RHDYYTn(OZ~@rZenpP2h{sLqySISD1{^s( z-Xb1%XnXe-aJa$5xqhr%t*m|fdd<|rsnIpwL2r0>Z#XodIxyGxt*m`teDC19y=Pzq zHxu%a(Q^VE0;qoE?~e!0eG{>1Y}apEsqx)juz)yhfX2Ep`ZFKX@6-Ql>k_A4D|gM? zUEwBgx77_rDbzyF9p!Ud2!uE~$t`55AzQ*)0%I07N#_p1?FrjEhQ z&mu>VIJLnsN4Nlt+sonZ=en3Ct)A@lupWEYQ?5pLl5`_U{(GB{!AI|NPDYmb6Q=)rr215 zB)&+{evrxbYUhp_z(Z-oy78khq7SGa{0Zl&5&yY>Okb+?B8qB37Srjc7nPS#NHs8An62cCaC+`UMgpTas&?$iv=XwrD$2Q zMab7&@ZITbQWE$F0w4q+2!bF8f*=TjAPB-!L&1T_vTTSyXV~P41sLJ~6tAJXy}-+0 zXXbc+29V!stru_rdY=Fsc$()hR*5=?e*J9YzLr#KM?dZf1rC|5kWuwcg!fdX}j z8ZqrlBYK$tT6GKRJCth90d5cbwhwJcfSI3JHfk9B0ySc~#KGWzp1;r|MHl{mMs+r~ zSNM#nd9RpIk`2tTYCyxv8yw)r*ILhZl=A`QT-3?o)&#Z*pgoVB&LHSCuJ{$I*<{~6 zO!ClpPSALM3U1LPXfB&@1Z*U@Vm9?_NZns*J%J9m0gmsoY@teRSdo@(!DnEAMFX7b z|MBZ+<#F)i?eE;5<1=XCfd+^ga{Oi6vv+sdWvB^cLpZhqixIRICP9@UwQqa}EZwKL zAaxV5l_V)-8NZHV3t%960t$bxiXdlAxuUImH1+;B21q1}jA*3|46Iyq83l(1oCRgm zq|RM&9>ky2;c~gr_TEHK0IL6KrJUPa=m{4mtQic{2}BaF0ZJYF#XNy;&=V+o=9k@} zDhduam<9spe%Z73jr;X?Hn%~Q3B3c#HnySdE^yd@%D_V7=UMxG+3*fEZtuS^f^Ecf zviF<-#{^V5NkNfc&cRZ|W}t&ye0Lhi9yYbz1r8fvz%xb<<-Rnl@++-xph#|13HLmm z3Zb1*P1{k#Yk;-)6@huxEpmd~}%U3?kvM0p#~9 z5!$aTI|XJaM*tgcFOLqoq9=gd9!6-D(02gpdWSgOpET3-pvyJ*N8%!B%8?Ubaf5hT z3r};YJF{=a^9~!`>b~yTO(bsz0+Akz7?26+_46q&zXsSF7lvN4$~~x8ijM)I5NF z|3>R*-|r(IMxY0%qqI-M1V$Ig;JH0-pa%}}akNO926@94ir9kO>!bZR8nXI4UZl{< zEK&+JpT{xz`D1|5<)J>03xXgBf*=TjAP9o+^!N+t3Vf(s*jr@)0000!lvI6;>1s;*b3=DinK$vl=HlH+5aKEREV@QPi+o^Z?91M8ejyF#zIQZMXS6X}? zi}2*7L2HHV?A0UFF6x$sMNbk9eb0Ac>)9*MQ*FP7UD~;S?op2)M!E+XOp{{SuXk*@ zK8G>yjN{{ko(-KpdLE~_?&jM!arHs}BjLq&)?{37H2gGw&6NM&ma6zs#9%Eb7pn@AH&z&01Jk;kIP&)T{<$r^h=jB$QXX)U*{oo^bCy>-7^ikCbia rvHQP%B2cxBjdGNVa+pJpg*n5tbP0l+XkK%N2Kc literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/send-black.png b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/send-black.png new file mode 100755 index 0000000000000000000000000000000000000000..9f277422d671e9ccd430e880cbb9f3e97b0c3424 GIT binary patch literal 1066 zcmV+_1l9YAP)?~Fa#x3=$9qixmGCw5R=LD>Ox1=tlRE2ykMSV8Fu#2wH#|Fkkt7r>*ohq=82 z1QY&Df@G4Ro!^^~1d*{m~01k)4;cz${j{g&;`*Le{zswjE03kOzx`lu>-v9kg z2+@OofSCe#-hqcqeg(#IbI$9L5DhMQMTkoQE6hv*ws-d1^oEK}!wNDb zz@~Rl;vCOlaRf3v;eCFwO0M8jA8=U?eSpwl^5GSeY=;4>(BERtwLFHbh8){lyL)G< zj9>+ra=`ZPK86mU8=qWJy15dqc9G7`gZ}E)mq(-ko!hIqJB3a%RtO$Caa8kELP*Z*cRwzhU;&8;5F~bajGAWF<&n4mK7sQ1NPoW69IDEr znN_ARCV-FUd35v73$~VraRGvmEAr%uQmm#q$Q0%ycd7#TjLQSqhX_{~kKCCE5MOcRC!n@K#(*dHwTNMm92H!SBL6( zgd8#d<`DAgL5v1CUtmG37QjbYyxYDm4W39P`!w%~l&pHRs0dblFw^I*e7kk#((%~725(j7pb$ZIlmeX{inh)Eg(^eEg^z!2WM_c<bj%>cnYR@7Q0eqVy*?iE{=HL0q z=1>#jrUeE_Re2O_p8Jk>xx)H{ZUqQ(Un+Z?b&HqU7f9^3q?2`OPr02NVX z|4-?0@1DEn=KPh}|q;zm@+ z*ycJS1yHLy`A;trQ6*yam$+_#rA&{+cJ|LhbGD&nKLgzN#x@7@5j8EQ96k z*x<@IB|sXkZ|Qg>84bzka0U1Z(5S&T*U%p43fLiOoePhy1(u?yJZ8(me=aSJmo zhW6OxR26msPhz;HmNQI91bPuOm|5l09_|7TuNf*rVh$4-w8wb@G^#2D9vs_4Z>22~ z;xYl6p*`mG=_lOUBbiJQM!@0UyS0a2G)Hca@B%cu_V`Y}O$}GJ7%_6k6QHT(l-gr~ zMB5|2fPHE?_skU0BR8)A&8|JZ!dw;6BlkE04*y>Tm-dL1DaIF|@o$eHkvkm$8s^BI zo`8KAB6r#XG!Y|r9s)EGB6nT__6ZcZFMlIsr=^>Gz;Cfe416N@iTmIXpy+4@z91%U zk^AUACg6eV4f2$xwDY--&xlXg@71xW;h6<1XXhUMCEQ<1O;UT zi9a;>)u{(7jtU6J(C2sR6U?)%2HxNm&$ewa4*_bnC;cj4!MxI|8GfeOUb;R;r!AnC z3o7$Fr!rRq|0NoDlAZwfGVkcSH66_*Z;;XvFqF9(_`-6fcbS_QSHLjaRiENq%KWu| z^xYsJ;|TCCbG3!NAOgGs-1qL6e&Fxy-64rDU{~hq$?e9ncSk966Y&K2MAU$bnlIr6 z1d6C!gb@%SqH=MWfQS*5i}M69L{u)^1u#ccF6;tEil|)J1x)bQ`27fbcSz1%1fxe( zF8l;AMpQ0N2~Yz&+|n{Ha}&n`wz#LhSMS!9gzOfzLZMJ76bc1b{sSfNe%`BgB8mV2 N002ovPDHLkV1jIDQ+NOX literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/send-gold.png b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/send-gold.png new file mode 100755 index 0000000000000000000000000000000000000000..59645e7d5ebb20d81c0685d0bbd84f0abc205780 GIT binary patch literal 908 zcmV;719SX|P)3UwZ4IS^#ycqWH0O$cWy8yx?tymgn-GQ zlkl@4Gt=e0)oC)?-BsN)RYf&l(g8vbsWbP~y=STs{eE9Y2X7JmdJn|YNEV+XnOO#= z7I2*q{qud<`t~^Yi=^{JiM}p^#o+fB8SgzUy+KYdLw44b@Fo+PZV;zm5&e7tu6oqn z1}+ZKL|T>aB!MiL-x;p1yt4s$YY9yuS5Y~=g5>Ti^|kaxRN45)I^yr^X_Xs5ZjZ9S z;r(~%4^+jNI1e#kf^ptxni9KB|@C+(#+jVt6YGxGGF`}p2>l9YrS=KWVR;Zg;mZ7#Mafj?*C-A zMq0%xwwAMxkhIqz=T_mH@r90{QdDN^<86qNPAqz#5z}>PYmZTLeCz7qDjsbj>V4AN z8vdfD8=)hxWx2xQbXR+y>!@jrfRn-t=QnQn-~$OM7vVZ;ImNGqy9OZL+8+F-3Eqd#&tN^ zqdee;_g=yk%DUX3C^l-LN@wfH2@S66W>Aobj<+EG>=*^A1HQ#)|IFC%yY5BWN!240 zU1}l=^L|zHv`OQosy(@SaxNVwYQL5cmQc1QRj$g%v?6=z2tp`VkE0&X#!B|&k)o+y z;Y)Fa)UqcZxy-KC7MS5*XlBm}%|(*1#L{87H=)X&WX;I*nR5br>ToNRt4G2_cWbQK zXA?I<>)5lM?mgGfYOD&a6U`Dn+O%v>9g_>4Fq-*de4&=2nJ;P!wH?iTQBA1BXyyy8 zP#@9E7llH7Ml)aJg!1Eocu(`>%W^dHMfGOX0DI~%3JtZn)TJeF6wEe{(aaa(^50nL iQjh28bi1kc)bSV1Ml=rs$aV|>0000;udz#~QIhjmeC;(9fkZU&rFAQB@5cm?K{p=&nbp#i{)}jhF6d=uY1QVcvMfEzV zHO0FC4J_&g*|Ca|<~qCxP+hx8@6;H!s82D|T!)hYE*3Rud|1?2c(cN>Eov-`0(50j zV{uV{K3LRPoC&}a8rq_3i^}JL|FIzRs^Y}iO;H$_R|G$;=^xFa8qT9N#+#zLk>_Kv z>buPi&NiIg6T}GrLHmEHGyXp13=o?P|M)WnLU$ffKnl({4K3ID-tM@Ve1Odl6cA!* z5<+f0h0KaJI13=z?RHcAz@tr8gf5RJcoU!smq!CD+-Z3P5kSIOVOt)&q0vQFm;~^$ zIm$u|hrRsIsqhN zFN60nwB-@}YOoK~c?zB+={uoV?vm#X%49N`OeT{NyaBdwvqx_Cyu$zh002ovPDHLk FV1k3+=n~!$15|YDjI9sgP_zpg0IJhAuLM8< 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 XX#hyt$(+>h00000NkvXXu0mjfroqmJ literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/wallet-black.png b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/wallet-black.png new file mode 100755 index 0000000000000000000000000000000000000000..cdb2ec8032483d3a484e978ac9150625e7064dff GIT binary patch literal 1493 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 E0V;W>)c^nh literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/scripts/qrcode.min.js b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/scripts/qrcode.min.js new file mode 100755 index 0000000..993e88f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/scripts/qrcode.min.js @@ -0,0 +1 @@ +var QRCode;!function(){function a(a){this.mode=c.MODE_8BIT_BYTE,this.data=a,this.parsedData=[];for(var b=[],d=0,e=this.data.length;e>d;d++){var f=this.data.charCodeAt(d);f>65536?(b[0]=240|(1835008&f)>>>18,b[1]=128|(258048&f)>>>12,b[2]=128|(4032&f)>>>6,b[3]=128|63&f):f>2048?(b[0]=224|(61440&f)>>>12,b[1]=128|(4032&f)>>>6,b[2]=128|63&f):f>128?(b[0]=192|(1984&f)>>>6,b[1]=128|63&f):b[0]=f,this.parsedData=this.parsedData.concat(b)}this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function b(a,b){this.typeNumber=a,this.errorCorrectLevel=b,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}function i(a,b){if(void 0==a.length)throw new Error(a.length+"/"+b);for(var c=0;c=f;f++){var h=0;switch(b){case d.L:h=l[f][0];break;case d.M:h=l[f][1];break;case d.Q:h=l[f][2];break;case d.H:h=l[f][3]}if(h>=e)break;c++}if(c>l.length)throw new Error("Too long data");return c}function s(a){var b=encodeURI(a).toString().replace(/\%[0-9a-fA-F]{2}/g,"a");return b.length+(b.length!=a?3:0)}a.prototype={getLength:function(){return this.parsedData.length},write:function(a){for(var b=0,c=this.parsedData.length;c>b;b++)a.put(this.parsedData[b],8)}},b.prototype={addData:function(b){var c=new a(b);this.dataList.push(c),this.dataCache=null},isDark:function(a,b){if(0>a||this.moduleCount<=a||0>b||this.moduleCount<=b)throw new Error(a+","+b);return this.modules[a][b]},getModuleCount:function(){return this.moduleCount},make:function(){this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(a,c){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var d=0;d=7&&this.setupTypeNumber(a),null==this.dataCache&&(this.dataCache=b.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,c)},setupPositionProbePattern:function(a,b){for(var c=-1;7>=c;c++)if(!(-1>=a+c||this.moduleCount<=a+c))for(var d=-1;7>=d;d++)-1>=b+d||this.moduleCount<=b+d||(this.modules[a+c][b+d]=c>=0&&6>=c&&(0==d||6==d)||d>=0&&6>=d&&(0==c||6==c)||c>=2&&4>=c&&d>=2&&4>=d?!0:!1)},getBestMaskPattern:function(){for(var a=0,b=0,c=0;8>c;c++){this.makeImpl(!0,c);var d=f.getLostPoint(this);(0==c||a>d)&&(a=d,b=c)}return b},createMovieClip:function(a,b,c){var d=a.createEmptyMovieClip(b,c),e=1;this.make();for(var f=0;f=g;g++)for(var h=-2;2>=h;h++)this.modules[d+g][e+h]=-2==g||2==g||-2==h||2==h||0==g&&0==h?!0:!1}},setupTypeNumber:function(a){for(var b=f.getBCHTypeNumber(this.typeNumber),c=0;18>c;c++){var d=!a&&1==(1&b>>c);this.modules[Math.floor(c/3)][c%3+this.moduleCount-8-3]=d}for(var c=0;18>c;c++){var d=!a&&1==(1&b>>c);this.modules[c%3+this.moduleCount-8-3][Math.floor(c/3)]=d}},setupTypeInfo:function(a,b){for(var c=this.errorCorrectLevel<<3|b,d=f.getBCHTypeInfo(c),e=0;15>e;e++){var g=!a&&1==(1&d>>e);6>e?this.modules[e][8]=g:8>e?this.modules[e+1][8]=g:this.modules[this.moduleCount-15+e][8]=g}for(var e=0;15>e;e++){var g=!a&&1==(1&d>>e);8>e?this.modules[8][this.moduleCount-e-1]=g:9>e?this.modules[8][15-e-1+1]=g:this.modules[8][15-e-1]=g}this.modules[this.moduleCount-8][8]=!a},mapData:function(a,b){for(var c=-1,d=this.moduleCount-1,e=7,g=0,h=this.moduleCount-1;h>0;h-=2)for(6==h&&h--;;){for(var i=0;2>i;i++)if(null==this.modules[d][h-i]){var j=!1;g>>e));var k=f.getMask(b,d,h-i);k&&(j=!j),this.modules[d][h-i]=j,e--,-1==e&&(g++,e=7)}if(d+=c,0>d||this.moduleCount<=d){d-=c,c=-c;break}}}},b.PAD0=236,b.PAD1=17,b.createData=function(a,c,d){for(var e=j.getRSBlocks(a,c),g=new k,h=0;h8*l)throw new Error("code length overflow. ("+g.getLengthInBits()+">"+8*l+")");for(g.getLengthInBits()+4<=8*l&&g.put(0,4);0!=g.getLengthInBits()%8;)g.putBit(!1);for(;;){if(g.getLengthInBits()>=8*l)break;if(g.put(b.PAD0,8),g.getLengthInBits()>=8*l)break;g.put(b.PAD1,8)}return b.createBytes(g,e)},b.createBytes=function(a,b){for(var c=0,d=0,e=0,g=new Array(b.length),h=new Array(b.length),j=0;j=0?p.get(q):0}}for(var r=0,m=0;mm;m++)for(var j=0;jm;m++)for(var j=0;j=0;)b^=f.G15<=0;)b^=f.G18<>>=1;return b},getPatternPosition:function(a){return f.PATTERN_POSITION_TABLE[a-1]},getMask:function(a,b,c){switch(a){case e.PATTERN000:return 0==(b+c)%2;case e.PATTERN001:return 0==b%2;case e.PATTERN010:return 0==c%3;case e.PATTERN011:return 0==(b+c)%3;case e.PATTERN100:return 0==(Math.floor(b/2)+Math.floor(c/3))%2;case e.PATTERN101:return 0==b*c%2+b*c%3;case e.PATTERN110:return 0==(b*c%2+b*c%3)%2;case e.PATTERN111:return 0==(b*c%3+(b+c)%2)%2;default:throw new Error("bad maskPattern:"+a)}},getErrorCorrectPolynomial:function(a){for(var b=new i([1],0),c=0;a>c;c++)b=b.multiply(new i([1,g.gexp(c)],0));return b},getLengthInBits:function(a,b){if(b>=1&&10>b)switch(a){case c.MODE_NUMBER:return 10;case c.MODE_ALPHA_NUM:return 9;case c.MODE_8BIT_BYTE:return 8;case c.MODE_KANJI:return 8;default:throw new Error("mode:"+a)}else if(27>b)switch(a){case c.MODE_NUMBER:return 12;case c.MODE_ALPHA_NUM:return 11;case c.MODE_8BIT_BYTE:return 16;case c.MODE_KANJI:return 10;default:throw new Error("mode:"+a)}else{if(!(41>b))throw new Error("type:"+b);switch(a){case c.MODE_NUMBER:return 14;case c.MODE_ALPHA_NUM:return 13;case c.MODE_8BIT_BYTE:return 16;case c.MODE_KANJI:return 12;default:throw new Error("mode:"+a)}}},getLostPoint:function(a){for(var b=a.getModuleCount(),c=0,d=0;b>d;d++)for(var e=0;b>e;e++){for(var f=0,g=a.isDark(d,e),h=-1;1>=h;h++)if(!(0>d+h||d+h>=b))for(var i=-1;1>=i;i++)0>e+i||e+i>=b||(0!=h||0!=i)&&g==a.isDark(d+h,e+i)&&f++;f>5&&(c+=3+f-5)}for(var d=0;b-1>d;d++)for(var e=0;b-1>e;e++){var j=0;a.isDark(d,e)&&j++,a.isDark(d+1,e)&&j++,a.isDark(d,e+1)&&j++,a.isDark(d+1,e+1)&&j++,(0==j||4==j)&&(c+=3)}for(var d=0;b>d;d++)for(var e=0;b-6>e;e++)a.isDark(d,e)&&!a.isDark(d,e+1)&&a.isDark(d,e+2)&&a.isDark(d,e+3)&&a.isDark(d,e+4)&&!a.isDark(d,e+5)&&a.isDark(d,e+6)&&(c+=40);for(var e=0;b>e;e++)for(var d=0;b-6>d;d++)a.isDark(d,e)&&!a.isDark(d+1,e)&&a.isDark(d+2,e)&&a.isDark(d+3,e)&&a.isDark(d+4,e)&&!a.isDark(d+5,e)&&a.isDark(d+6,e)&&(c+=40);for(var k=0,e=0;b>e;e++)for(var d=0;b>d;d++)a.isDark(d,e)&&k++;var l=Math.abs(100*k/b/b-50)/5;return c+=10*l}},g={glog:function(a){if(1>a)throw new Error("glog("+a+")");return g.LOG_TABLE[a]},gexp:function(a){for(;0>a;)a+=255;for(;a>=256;)a-=255;return g.EXP_TABLE[a]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},h=0;8>h;h++)g.EXP_TABLE[h]=1<h;h++)g.EXP_TABLE[h]=g.EXP_TABLE[h-4]^g.EXP_TABLE[h-5]^g.EXP_TABLE[h-6]^g.EXP_TABLE[h-8];for(var h=0;255>h;h++)g.LOG_TABLE[g.EXP_TABLE[h]]=h;i.prototype={get:function(a){return this.num[a]},getLength:function(){return this.num.length},multiply:function(a){for(var b=new Array(this.getLength()+a.getLength()-1),c=0;cf;f++)for(var g=c[3*f+0],h=c[3*f+1],i=c[3*f+2],k=0;g>k;k++)e.push(new j(h,i));return e},j.getRsBlockTable=function(a,b){switch(b){case d.L:return j.RS_BLOCK_TABLE[4*(a-1)+0];case d.M:return j.RS_BLOCK_TABLE[4*(a-1)+1];case d.Q:return j.RS_BLOCK_TABLE[4*(a-1)+2];case d.H:return j.RS_BLOCK_TABLE[4*(a-1)+3];default:return void 0}},k.prototype={get:function(a){var b=Math.floor(a/8);return 1==(1&this.buffer[b]>>>7-a%8)},put:function(a,b){for(var c=0;b>c;c++)this.putBit(1==(1&a>>>b-c-1))},getLengthInBits:function(){return this.length},putBit:function(a){var b=Math.floor(this.length/8);this.buffer.length<=b&&this.buffer.push(0),a&&(this.buffer[b]|=128>>>this.length%8),this.length++}};var l=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]],o=function(){var a=function(a,b){this._el=a,this._htOption=b};return a.prototype.draw=function(a){function g(a,b){var c=document.createElementNS("http://www.w3.org/2000/svg",a);for(var d in b)b.hasOwnProperty(d)&&c.setAttribute(d,b[d]);return c}var b=this._htOption,c=this._el,d=a.getModuleCount();Math.floor(b.width/d),Math.floor(b.height/d),this.clear();var h=g("svg",{viewBox:"0 0 "+String(d)+" "+String(d),width:"100%",height:"100%",fill:b.colorLight});h.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),c.appendChild(h),h.appendChild(g("rect",{fill:b.colorDark,width:"1",height:"1",id:"template"}));for(var i=0;d>i;i++)for(var j=0;d>j;j++)if(a.isDark(i,j)){var k=g("use",{x:String(i),y:String(j)});k.setAttributeNS("http://www.w3.org/1999/xlink","href","#template"),h.appendChild(k)}},a.prototype.clear=function(){for(;this._el.hasChildNodes();)this._el.removeChild(this._el.lastChild)},a}(),p="svg"===document.documentElement.tagName.toLowerCase(),q=p?o:m()?function(){function a(){this._elImage.src=this._elCanvas.toDataURL("image/png"),this._elImage.style.display="block",this._elCanvas.style.display="none"}function d(a,b){var c=this;if(c._fFail=b,c._fSuccess=a,null===c._bSupportDataURI){var d=document.createElement("img"),e=function(){c._bSupportDataURI=!1,c._fFail&&_fFail.call(c)},f=function(){c._bSupportDataURI=!0,c._fSuccess&&c._fSuccess.call(c)};return d.onabort=e,d.onerror=e,d.onload=f,d.src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",void 0}c._bSupportDataURI===!0&&c._fSuccess?c._fSuccess.call(c):c._bSupportDataURI===!1&&c._fFail&&c._fFail.call(c)}if(this._android&&this._android<=2.1){var b=1/window.devicePixelRatio,c=CanvasRenderingContext2D.prototype.drawImage;CanvasRenderingContext2D.prototype.drawImage=function(a,d,e,f,g,h,i,j){if("nodeName"in a&&/img/i.test(a.nodeName))for(var l=arguments.length-1;l>=1;l--)arguments[l]=arguments[l]*b;else"undefined"==typeof j&&(arguments[1]*=b,arguments[2]*=b,arguments[3]*=b,arguments[4]*=b);c.apply(this,arguments)}}var e=function(a,b){this._bIsPainted=!1,this._android=n(),this._htOption=b,this._elCanvas=document.createElement("canvas"),this._elCanvas.width=b.width,this._elCanvas.height=b.height,a.appendChild(this._elCanvas),this._el=a,this._oContext=this._elCanvas.getContext("2d"),this._bIsPainted=!1,this._elImage=document.createElement("img"),this._elImage.style.display="none",this._el.appendChild(this._elImage),this._bSupportDataURI=null};return e.prototype.draw=function(a){var b=this._elImage,c=this._oContext,d=this._htOption,e=a.getModuleCount(),f=d.width/e,g=d.height/e,h=Math.round(f),i=Math.round(g);b.style.display="none",this.clear();for(var j=0;e>j;j++)for(var k=0;e>k;k++){var l=a.isDark(j,k),m=k*f,n=j*g;c.strokeStyle=l?d.colorDark:d.colorLight,c.lineWidth=1,c.fillStyle=l?d.colorDark:d.colorLight,c.fillRect(m,n,f,g),c.strokeRect(Math.floor(m)+.5,Math.floor(n)+.5,h,i),c.strokeRect(Math.ceil(m)-.5,Math.ceil(n)-.5,h,i)}this._bIsPainted=!0},e.prototype.makeImage=function(){this._bIsPainted&&d.call(this,a)},e.prototype.isPainted=function(){return this._bIsPainted},e.prototype.clear=function(){this._oContext.clearRect(0,0,this._elCanvas.width,this._elCanvas.height),this._bIsPainted=!1},e.prototype.round=function(a){return a?Math.floor(1e3*a)/1e3:a},e}():function(){var a=function(a,b){this._el=a,this._htOption=b};return a.prototype.draw=function(a){for(var b=this._htOption,c=this._el,d=a.getModuleCount(),e=Math.floor(b.width/d),f=Math.floor(b.height/d),g=[''],h=0;d>h;h++){g.push("");for(var i=0;d>i;i++)g.push('');g.push("")}g.push("
              "),c.innerHTML=g.join("");var j=c.childNodes[0],k=(b.width-j.offsetWidth)/2,l=(b.height-j.offsetHeight)/2;k>0&&l>0&&(j.style.margin=l+"px "+k+"px")},a.prototype.clear=function(){this._el.innerHTML=""},a}();QRCode=function(a,b){if(this._htOption={width:256,height:256,typeNumber:4,colorDark:"#000000",colorLight:"#ffffff",correctLevel:d.H},"string"==typeof b&&(b={text:b}),b)for(var c in b)this._htOption[c]=b[c];"string"==typeof a&&(a=document.getElementById(a)),this._android=n(),this._el=a,this._oQRCode=null,this._oDrawing=new q(this._el,this._htOption),this._htOption.text&&this.makeCode(this._htOption.text)},QRCode.prototype.makeCode=function(a){this._oQRCode=new b(r(a,this._htOption.correctLevel),this._htOption.correctLevel),this._oQRCode.addData(a),this._oQRCode.make(),this._el.title=a,this._oDrawing.draw(this._oQRCode),this.makeImage()},QRCode.prototype.makeImage=function(){"function"==typeof this._oDrawing.makeImage&&(!this._android||this._android>=3)&&this._oDrawing.makeImage()},QRCode.prototype.clear=function(){this._oDrawing.clear()},QRCode.CorrectLevel=d}(); \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/current-skycoin.json b/vendor/github.com/skycoin/skycoin/src/gui/static/src/current-skycoin.json new file mode 100755 index 0000000..381e17e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/current-skycoin.json @@ -0,0 +1 @@ +versionData='{ "version": "0.24.1" }'; diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/environments/environment.prod.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/environments/environment.prod.ts new file mode 100755 index 0000000..af32bad --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/environments/environment.prod.ts @@ -0,0 +1,5 @@ +export const environment = { + nodeUrl: '/api/v1/', + production: true, + tellerUrl: 'https://event.skycoin.net/api/', +}; diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/environments/environment.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/environments/environment.ts new file mode 100755 index 0000000..db510b3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/environments/environment.ts @@ -0,0 +1,10 @@ +// The file contents for the current environment will overwrite these during build. +// The build system defaults to the dev environment which uses `environment.ts`, but if you do +// `ng build --env=prod` then `environment.prod.ts` will be used instead. +// The list of which env maps to which file can be found in `.angular-cli.json`. + +export const environment = { + nodeUrl: '/api/v1/', + production: false, + tellerUrl: '/teller/', +}; diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/favicon.ico b/vendor/github.com/skycoin/skycoin/src/gui/static/src/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..cc325fd3cb29e15c66be1d29875f842fdc522be0 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/index.html b/vendor/github.com/skycoin/skycoin/src/gui/static/src/index.html new file mode 100755 index 0000000..f80c021 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/index.html @@ -0,0 +1,13 @@ + + + + + Skycoin + + + + + + + + diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/main.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/main.ts new file mode 100755 index 0000000..6b163a1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/main.ts @@ -0,0 +1,13 @@ +import { enableProdMode } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +import 'hammerjs'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic().bootstrapModule(AppModule); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/polyfills.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/polyfills.ts new file mode 100755 index 0000000..7831e97 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/polyfills.ts @@ -0,0 +1,72 @@ +/** + * 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/docs/ts/latest/guide/browser-support.html + */ + +/*************************************************************************************************** + * 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'; + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +// import 'classlist.js'; // Run `npm install --save classlist.js`. + +/** Evergreen browsers require these. **/ +import 'core-js/es6/reflect'; +import 'core-js/es7/reflect'; + + +/** + * Required to support Web Animations `@angular/animation`. + * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation + **/ +// import 'web-animations-js'; // Run `npm install --save web-animations-js`. + + + +/*************************************************************************************************** + * Zone JS is required by Angular itself. + */ +import 'zone.js/dist/zone'; // Included with Angular CLI. + + + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ + +/** + * Date, currency, decimal and percent pipes. + * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 + */ +// import 'intl'; // Run `npm install --save intl`. +/** + * Need to import at least one locale-data with intl. + */ +// import 'intl/locale-data/jsonp/en'; diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/styles.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/styles.scss new file mode 100755 index 0000000..63a158e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/styles.scss @@ -0,0 +1,350 @@ +@import 'theme/variables'; +@import 'theme/tables'; +@import '~bootstrap/scss/bootstrap-grid.scss'; + +/* You can add global styles to this file, and also import other style files */ +//@import '~@angular/material/prebuilt-themes/indigo-pink.css'; +@import 'app/app.theme.scss'; + +@font-face { + font-family: 'Skycoin'; + font-style: normal; + font-weight: 300; + src: url('assets/fonts/skycoin/Skycoin-Light.woff2') format('woff2'), + url('assets/fonts/skycoin/Skycoin-Light.woff') format('woff'); +} +@font-face { + font-family: 'Skycoin'; + font-style: italic; + font-weight: 300; + src: url('assets/fonts/skycoin/Skycoin-LightItalic.woff2') format('woff2'), + url('assets/fonts/skycoin/Skycoin-LightItalic.woff') format('woff'); +} +@font-face { + font-family: 'Skycoin'; + font-style: normal; + font-weight: 400; + src: url('assets/fonts/skycoin/Skycoin-Regular.woff2') format('woff2'), + url('assets/fonts/skycoin/Skycoin-Regular.woff') format('woff'); +} +@font-face { + font-family: 'Skycoin'; + font-style: italic; + font-weight: 400; + src: url('assets/fonts/skycoin/Skycoin-RegularItalic.woff2') format('woff2'), + url('assets/fonts/skycoin/Skycoin-RegularItalic.woff') format('woff'); +} +@font-face { + font-family: 'Skycoin'; + font-style: normal; + font-weight: 700; + src: url('assets/fonts/skycoin/Skycoin-Bold.woff2') format('woff2'), + url('assets/fonts/skycoin/Skycoin-Bold.woff') format('woff'); +} +@font-face { + font-family: 'Skycoin'; + font-style: italic; + font-weight: 700; + src: url('assets/fonts/skycoin/Skycoin-BoldItalic.woff2') format('woff2'), + url('assets/fonts/skycoin/Skycoin-BoldItalic.woff') format('woff'); +} + +$mat-font-family: Skycoin, sans-serif; +$white: #FBFBFB; + +$primary-color: #0072ff; +$secondary-color: #ffc125; + +body, div, h1, h2, h3, h4, h5, h6, p, span, a, button, option, select, +mat-panel-description, mat-panel-title, mat-option.mat-option { + font-family: $mat-font-family; +} + +html { + height: 100%; +} + +body { + background-color: #f7f7f7; + margin: 0; + padding: 0; + height: 100%; +} + +header { + background: url("assets/header.png") center center / cover, linear-gradient(-155deg, #686e96 0%, #373b5c 100%); + width: 100%; + height: 300px; +} + +mat-dialog-container { + border-radius: 5px !important; +} + +.mat-dialog-container { + padding: 0 !important; +} + +.header-container { + max-width: 848px; + text-align: center; + padding-top: 40px; + margin-right: auto; + margin-left: auto; +} + +.header-container h1 { + font-size: 3em; + color: white; +} + +.button-line { + margin-top: 40px; + text-align: right; +} + +.datatable-row-group { + cursor: pointer; +} + +button.active { + background-color: rgba(0,0,0,.12); +} + +mat-spinner.in-button .mat-spinner path { + stroke: #000; + opacity: 0.3; +} + +snack-bar-container { + background-color: rgba(255, 0, 0, 0.8) !important; +} + +mat-panel-title { + width: 60%; + display: block; + flex-grow: 0 !important; +} + +.sky-container { + min-width: 100%; + min-height: 100%; + + &.sky-container-grey { + background-color: $grey-lightest; + } +} + +.flex-fill, .-flex-fill { + flex: 1 1 auto; +} + +.form-field { + margin-bottom: 20px; + + label { + color: #1e2227; + display: block; + font-size: 13px; + line-height: 20px; + margin-bottom: 2px; + } + + input { + border: 2px solid rgba(0, 0, 0, 0.05); + border-radius: 6px; + box-sizing: border-box; + display: block; + line-height: 20px; + padding: 10px 10px; + width: 100%; + } + + select { + background-color: white; + border: 2px solid rgba(0, 0, 0, 0.05); + border-radius: 6px; + box-sizing: border-box; + display: block; + line-height: 20px; + padding: 10px 10px; + width: 100%; + appearance: none; + } + + textarea { + border: 2px solid rgba(0, 0, 0, 0.05); + border-radius: 6px; + box-sizing: border-box; + display: block; + line-height: 20px; + padding: 10px 10px; + width: 100%; + } +} + +.primary button.enabled, .primary-gradient-background { + background: $gradient-blue-dark; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(left top, $gradient-blue-dark, $gradient-blue-light); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(bottom right, $gradient-blue-dark, $gradient-blue-light); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(bottom right, $gradient-blue-dark, $gradient-blue-light); /* For Firefox 3.6 to 15 */ + background: linear-gradient(to bottom right, $gradient-blue-dark, $gradient-blue-light); /* Standard syntax */ + + span { + color: white; + } +} + +/** +General Helpers + */ + +.primary-color { + color: $primary-color; +} + +.secondary-color { + color: $secondary-color; +} + +.no-opacity { + opacity: 1 !important; +} + +.light-opacity { + opacity: 0.2 +} + +.rotate-90 { + transform: rotate(90deg); +} + +.rotate-180 { + transform: rotate(180deg); +} + +.rotate-270 { + transform: rotate(270deg); +} + +mat-spinner.in-button svg { + height: 24px !important; + width: 24px !important; +} + +.empty-row { + padding: 0 1.2rem !important; + line-height: 50px !important; +} + +/** +On-boarding components + */ + +.onboarding-container { + width: 100%; + height: 100%; + overflow-x: hidden; + background: $gradient-blue-dark; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(left top, $gradient-blue-dark, $gradient-blue-light); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(bottom right, $gradient-blue-dark, $gradient-blue-light); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(bottom right, $gradient-blue-dark, $gradient-blue-light); /* For Firefox 3.6 to 15 */ + background: linear-gradient(to bottom right, $gradient-blue-dark, $gradient-blue-light); /* Standard syntax */ + + label { + color: white; + } + + input { + border: 2px solid rgba(0, 0, 0, 0.05); + border-radius: 6px; + box-sizing: border-box; + display: block; + line-height: 20px; + padding: 10px 10px; + width: 100%; + } + + select { + background-color: white; + border: 2px solid rgba(0, 0, 0, 0.05); + border-radius: 6px; + box-sizing: border-box; + display: block; + line-height: 20px; + padding: 10px 10px; + width: 100%; + -webkit-appearance:none; + } + + textarea { + border: 2px solid rgba(0, 0, 0, 0.05); + border-radius: 6px; + box-sizing: border-box; + display: block; + line-height: 20px; + padding: 10px 10px; + width: 100%; + } +} + +.dark button.enabled { + background-color: $black !important; + span { + color: white; + } +} + +.ghost button.enabled { + background-color: $transparent !important; + span { + color: black; + } +} + + +.-select { + position: relative; + + &::after { + content: ''; + display: block; + position: absolute; + top: 0; + right: 0; + background: url('/assets/img/chevron-right-grey.png') no-repeat; + background-size: 32px 32px; + width: 32px; + height: 32px; + margin: 6px; + pointer-events: none; + transform: rotate(90deg); + } +} + +.mat-menu-panel { + border-radius: 5px !important; + background-color: #fefefe; + + .mat-menu-item { + font-family: Skycoin; + line-height: 50px; + } + + &.compact { + .mat-menu-item { + font-size: 13px; + height: 35px; + line-height: 35px; + } + } +} + +.qr-code-button { + opacity: 0.6; + cursor: pointer; + + &:hover { + opacity: 1; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/test.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/test.ts new file mode 100755 index 0000000..0c45c2e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/test.ts @@ -0,0 +1,32 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/dist/long-stack-trace-zone'; +import 'zone.js/dist/proxy.js'; +import 'zone.js/dist/sync-test'; +import 'zone.js/dist/jasmine-patch'; +import 'zone.js/dist/async-test'; +import 'zone.js/dist/fake-async-test'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting, +} from '@angular/platform-browser-dynamic/testing'; + +// Unfortunately there's no typing for the `__karma__` variable. Just declare it as any. +declare const __karma__: any; +declare const require: any; + +// Prevent Karma from running prematurely. +__karma__.loaded = function() {}; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting(), +); +// Then we find all the tests. +const context = require.context('./', true, /\.spec\.ts$/); +// And load the modules. +context.keys().map(context); +// Finally, start Karma to run the tests. +__karma__.start(); diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/theme/_tables.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/theme/_tables.scss new file mode 100755 index 0000000..29971a8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/theme/_tables.scss @@ -0,0 +1,69 @@ +@import 'variables'; + +.-table { + &:last-of-type { + margin-bottom: 30px; + } + + .-headers { + color: $grey-light; + display: flex; + font-size: 12px; + font-weight: 700; + height: 50px; + line-height: 50px; + margin: 0 30px; + + > div { + padding: 0 20px; + } + } + + .-body { + border-radius: 15px; + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.01), 1px 1px 2px 2px rgba(0, 0, 0, 0.01); + margin: 0 30px; + + .-row { + font-size: $font-size-standard; + line-height: $row-height; + height: $row-height; + background: $white; + display: flex; + + &:not(:last-child) { + border-bottom: 1px solid #eff0f0; + } + + &:first-child { + border-top-left-radius: 15px; + border-top-right-radius: 15px; + } + + &:last-child { + border-bottom-left-radius: 15px; + border-bottom-right-radius: 15px; + } + + > div { + padding: 0 20px; + } + } + } + + .-width-70 { + width: 70px; + } + + .-width-150 { + width: 150px; + } + + .-width-200 { + width: 200px; + } + + .-width-250 { + width: 250px; + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/theme/_variables.scss b/vendor/github.com/skycoin/skycoin/src/gui/static/src/theme/_variables.scss new file mode 100755 index 0000000..c627bcd --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/theme/_variables.scss @@ -0,0 +1,27 @@ +// Backgrounds +$gradient-blue-dark: #0072ff; +$gradient-blue-dark-transparent: rgba(0, 114, 255, 0.7); +$gradient-blue-light: #00C3ff; +$gradient-blue-light-transparent: rgba(0, 195, 255, 0.7); + +// Colors +$black: #171a1d; + +$grey-lightest: #f7f7f7; +$grey-light: rgba(30, 34, 39, 0.2); +$grey: rgba(30, 34, 39, 0.5); +$grey-dark: #1e2227; + +$white: #fafafa; +$transparent: rgba(0,0,0,0); + +$red: #ff004e; +$blue: #0072ff; + +// Grid +$row-height: 60px; +$row-detail-size: 32px; + +// Texts +$font-size-standard: 13px; +$letter-spacing-wide: 1px; diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/tsconfig.app.json b/vendor/github.com/skycoin/skycoin/src/gui/static/src/tsconfig.app.json new file mode 100755 index 0000000..39ba8db --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/tsconfig.app.json @@ -0,0 +1,13 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/app", + "baseUrl": "./", + "module": "es2015", + "types": [] + }, + "exclude": [ + "test.ts", + "**/*.spec.ts" + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/tsconfig.spec.json b/vendor/github.com/skycoin/skycoin/src/gui/static/src/tsconfig.spec.json new file mode 100755 index 0000000..63d89ff --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/tsconfig.spec.json @@ -0,0 +1,20 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/spec", + "baseUrl": "./", + "module": "commonjs", + "target": "es5", + "types": [ + "jasmine", + "node" + ] + }, + "files": [ + "test.ts" + ], + "include": [ + "**/*.spec.ts", + "**/*.d.ts" + ] +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/typings.d.ts b/vendor/github.com/skycoin/skycoin/src/gui/static/src/typings.d.ts new file mode 100755 index 0000000..bcc7cff --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/src/typings.d.ts @@ -0,0 +1,10 @@ +/* SystemJS module definition */ +declare var module: NodeModule; +interface NodeModule { + id: string; +} + +declare var System: System; +interface System { + import(request: string): Promise; +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/tsconfig.json b/vendor/github.com/skycoin/skycoin/src/gui/static/tsconfig.json new file mode 100755 index 0000000..1f9b558 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "outDir": "./dist/out-tsc", + "sourceMap": true, + "declaration": false, + "moduleResolution": "node", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "target": "es5", + "typeRoots": [ + "node_modules/@types" + ], + "lib": [ + "es2016", + "dom" + ] + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/tslint.json b/vendor/github.com/skycoin/skycoin/src/gui/static/tslint.json new file mode 100755 index 0000000..cd6c2c0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/gui/static/tslint.json @@ -0,0 +1,159 @@ +{ + "rulesDirectory": [ + "node_modules/codelyzer" + ], + "rules": { + "arrow-return-shorthand": true, + "callable-types": true, + "class-name": true, + "comment-format": [ + true, + "check-space" + ], + "curly": true, + "eofline": true, + "forin": true, + "import-blacklist": [ + true, + "rxjs" + ], + "import-spacing": true, + "indent": [ + true, + "spaces" + ], + "interface-over-type-literal": true, + "label-position": true, + "max-line-length": [ + true, + 200 + ], + "member-access": false, + "member-ordering": [ + true, + { + "order": [ + "static-field", + "instance-field", + "static-method", + "instance-method" + ] + } + ], + "no-arg": true, + "no-bitwise": true, + "no-console": [ + true, + "debug", + "info", + "time", + "timeEnd", + "trace" + ], + "no-construct": true, + "no-debugger": true, + "no-duplicate-super": true, + "no-empty": false, + "no-empty-interface": true, + "no-eval": true, + "no-inferrable-types": [ + true, + "ignore-params" + ], + "no-misused-new": true, + "no-non-null-assertion": true, + "no-shadowed-variable": true, + "no-string-literal": false, + "no-string-throw": true, + "no-switch-case-fall-through": true, + "no-trailing-whitespace": true, + "no-unnecessary-initializer": true, + "no-unused-expression": true, + "no-use-before-declare": true, + "no-var-keyword": true, + "object-literal-sort-keys": false, + "one-line": [ + true, + "check-open-brace", + "check-catch", + "check-else", + "check-whitespace" + ], + "prefer-const": true, + "quotemark": [ + true, + "single" + ], + "radix": true, + "semicolon": [ + true, + "always" + ], + "triple-equals": [ + true, + "allow-null-check" + ], + "typedef-whitespace": [ + true, + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + }, + { + "call-signature": "onespace", + "index-signature": "onespace", + "parameter": "onespace", + "property-declaration": "onespace", + "variable-declaration": "onespace" + } + ], + "typeof-compare": true, + "unified-signatures": true, + "variable-name": false, + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-module", + "check-separator", + "check-type", + "check-typecast", + "check-preblock" + ], + "directive-selector": [ + true, + "attribute", + "app", + "camelCase" + ], + "component-selector": [ + true, + "element", + "app", + "kebab-case" + ], + "use-input-property-decorator": true, + "use-output-property-decorator": true, + "use-host-property-decorator": true, + "no-input-rename": true, + "no-output-rename": true, + "use-life-cycle-interface": true, + "use-pipe-transform-interface": true, + "component-class-suffix": true, + "directive-class-suffix": true, + "trailing-comma": [ + true, + { + "multiline": "always", + "esSpecCompliant": true + } + ], + "newline-before-return": true, + "space-before-function-paren": [true, "never"], + "prefer-method-signature": true + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/skycoin/config.go b/vendor/github.com/skycoin/skycoin/src/skycoin/config.go new file mode 100755 index 0000000..1867c66 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/skycoin/config.go @@ -0,0 +1,410 @@ +package skycoin + +import ( + "flag" + "path/filepath" + "runtime" + "strings" + "time" + + "log" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/util/file" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/wallet" +) + +var ( + help = false +) + +// Config records skycoin node and build config +type Config struct { + Node NodeConfig + Build visor.BuildInfo +} + +// NodeConfig records the node's configuration +type NodeConfig struct { + // Disable peer exchange + DisablePEX bool + // Download peer list + DownloadPeerList bool + // Download the peers list from this URL + PeerListURL string + // Don't make any outgoing connections + DisableOutgoingConnections bool + // Don't allowing incoming connections + DisableIncomingConnections bool + // Disables networking altogether + DisableNetworking bool + // Enable wallet API + EnableWalletAPI bool + // Enable GUI + EnableGUI bool + // Disable CSRF check in the wallet API + DisableCSRF bool + // Enable /api/v1/wallet/seed API endpoint + EnableSeedAPI bool + // Enable unversioned API endpoints (without the /api/v1 prefix) + EnableUnversionedAPI bool + // Disable CSP disable content-security-policy in http response + DisableCSP bool + + // Only run on localhost and only connect to others on localhost + LocalhostOnly bool + // Which address to serve on. Leave blank to automatically assign to a + // public interface + Address string + // gnet uses this for TCP incoming and outgoing + Port int + // Maximum outgoing connections to maintain + MaxOutgoingConnections int + // Maximum default outgoing connections + MaxDefaultPeerOutgoingConnections int + // How often to make outgoing connections + OutgoingConnectionsRate time.Duration + // PeerlistSize represents the maximum number of peers that the pex would maintain + PeerlistSize int + // Wallet Address Version + //AddressVersion string + // Remote web interface + WebInterface bool + WebInterfacePort int + WebInterfaceAddr string + WebInterfaceCert string + WebInterfaceKey string + WebInterfaceHTTPS bool + + RPCInterface bool + + // Launch System Default Browser after client startup + LaunchBrowser bool + + // If true, print the configured client web interface address and exit + PrintWebInterfaceAddress bool + + // Data directory holds app data -- defaults to ~/.skycoin + DataDirectory string + // GUI directory contains assets for the HTML interface + GUIDirectory string + + ReadTimeout time.Duration + WriteTimeout time.Duration + IdleTimeout time.Duration + + // Logging + ColorLog bool + // This is the value registered with flag, it is converted to LogLevel after parsing + LogLevel string + // Disable "Reply to ping", "Received pong" log messages + DisablePingPong bool + + // Verify the database integrity after loading + VerifyDB bool + // Reset the database if integrity checks fail, and continue running + ResetCorruptDB bool + + // Wallets + // Defaults to ${DataDirectory}/wallets/ + WalletDirectory string + // Wallet crypto type + WalletCryptoType string + + RunMaster bool + + /* Developer options */ + + // Enable cpu profiling + ProfileCPU bool + // Where the file is written to + ProfileCPUFile string + // HTTP profiling interface (see http://golang.org/pkg/net/http/pprof/) + HTTPProf bool + + DBPath string + DBReadOnly bool + Arbitrating bool + LogToFile bool + Version bool // show node version + + GenesisSignatureStr string + GenesisAddressStr string + BlockchainPubkeyStr string + BlockchainSeckeyStr string + GenesisTimestamp uint64 + GenesisCoinVolume uint64 + DefaultConnections []string + + genesisSignature cipher.Sig + genesisAddress cipher.Address + + blockchainPubkey cipher.PubKey + blockchainSeckey cipher.SecKey +} + +// NewNodeConfig returns a new node config instance +func NewNodeConfig(mode string, node NodeParameters) *NodeConfig { + nodeConfig := &NodeConfig{ + GenesisSignatureStr: node.GenesisSignatureStr, + GenesisAddressStr: node.GenesisAddressStr, + GenesisCoinVolume: node.GenesisCoinVolume, + GenesisTimestamp: node.GenesisTimestamp, + BlockchainPubkeyStr: node.BlockchainPubkeyStr, + BlockchainSeckeyStr: node.BlockchainSeckeyStr, + DefaultConnections: node.DefaultConnections, + // Disable peer exchange + DisablePEX: true, + // Don't make any outgoing connections + DisableOutgoingConnections: false, + // Don't allowing incoming connections + DisableIncomingConnections: false, + // Disables networking altogether + DisableNetworking: false, + // Enable wallet API + EnableWalletAPI: true, + // Enable GUI + EnableGUI: true, + // Enable unversioned API + EnableUnversionedAPI: false, + // Enable seed API + EnableSeedAPI: false, + // Disable CSRF check in the wallet API + DisableCSRF: true, + // DisableCSP disable content-security-policy in http reponse + DisableCSP: true, + // Only run on localhost and only connect to others on localhost + LocalhostOnly: false, + // Which address to serve on. Leave blank to automatically assign to a + // public interface + Address: "", + //gnet uses this for TCP incoming and outgoing + Port: node.Port, + // MaxOutgoingConnections is the maximum outgoing connections allowed. + MaxOutgoingConnections: 8, + // MaxDefaultOutgoingConnections is the maximum default outgoing connections allowed. + MaxDefaultPeerOutgoingConnections: 8, + DownloadPeerList: true, + PeerListURL: node.PeerListURL, + // How often to make outgoing connections, in seconds + OutgoingConnectionsRate: time.Second * 5, + PeerlistSize: 65535, + // Wallet Address Version + //AddressVersion: "test", + // Remote web interface + WebInterface: true, + WebInterfacePort: node.WebInterfacePort, + WebInterfaceAddr: "127.0.0.1", + WebInterfaceCert: "", + WebInterfaceKey: "", + WebInterfaceHTTPS: false, + + RPCInterface: true, + + LaunchBrowser: false, + // Data directory holds app data + DataDirectory: node.DataDirectory, + // Web GUI static resources + GUIDirectory: "./src/gui/static/", + // Logging + ColorLog: true, + LogLevel: "INFO", + LogToFile: false, + DisablePingPong: false, + + VerifyDB: true, + ResetCorruptDB: false, + + // Wallets + WalletDirectory: "", + WalletCryptoType: string(wallet.CryptoTypeScryptChacha20poly1305), + + // Timeout settings for http.Server + // https://blog.cloudflare.com/the-complete-guide-to-golang-net-http-timeouts/ + ReadTimeout: time.Second * 10, + WriteTimeout: time.Second * 60, + IdleTimeout: time.Second * 120, + + // Centralized network configuration + RunMaster: false, + /* Developer options */ + + // Enable cpu profiling + ProfileCPU: false, + // Where the file is written to + ProfileCPUFile: node.ProfileCPUFile, + // HTTP profiling interface (see http://golang.org/pkg/net/http/pprof/) + HTTPProf: false, + } + + nodeConfig.applyConfigMode(mode) + + return nodeConfig +} + +func (c *Config) postProcess() { + var err error + if c.Node.GenesisSignatureStr != "" { + c.Node.genesisSignature, err = cipher.SigFromHex(c.Node.GenesisSignatureStr) + panicIfError(err, "Invalid Signature") + } + + if c.Node.GenesisAddressStr != "" { + c.Node.genesisAddress, err = cipher.DecodeBase58Address(c.Node.GenesisAddressStr) + panicIfError(err, "Invalid Address") + } + if c.Node.BlockchainPubkeyStr != "" { + c.Node.blockchainPubkey, err = cipher.PubKeyFromHex(c.Node.BlockchainPubkeyStr) + panicIfError(err, "Invalid Pubkey") + } + if c.Node.BlockchainSeckeyStr != "" { + c.Node.blockchainSeckey, err = cipher.SecKeyFromHex(c.Node.BlockchainSeckeyStr) + panicIfError(err, "Invalid Seckey") + c.Node.BlockchainSeckeyStr = "" + } + if c.Node.BlockchainSeckeyStr != "" { + c.Node.blockchainSeckey = cipher.SecKey{} + } + + home := file.UserHome() + c.Node.DataDirectory, err = file.InitDataDir(replaceHome(c.Node.DataDirectory, home)) + panicIfError(err, "Invalid DataDirectory") + + if c.Node.WebInterfaceCert == "" { + c.Node.WebInterfaceCert = filepath.Join(c.Node.DataDirectory, "cert.pem") + } else { + c.Node.WebInterfaceCert = replaceHome(c.Node.WebInterfaceCert, home) + } + + if c.Node.WebInterfaceKey == "" { + c.Node.WebInterfaceKey = filepath.Join(c.Node.DataDirectory, "key.pem") + } else { + c.Node.WebInterfaceKey = replaceHome(c.Node.WebInterfaceKey, home) + } + + if c.Node.WalletDirectory == "" { + c.Node.WalletDirectory = filepath.Join(c.Node.DataDirectory, "wallets") + } else { + c.Node.WalletDirectory = replaceHome(c.Node.WalletDirectory, home) + } + + if c.Node.DBPath == "" { + c.Node.DBPath = filepath.Join(c.Node.DataDirectory, "data.db") + } else { + c.Node.DBPath = replaceHome(c.Node.DBPath, home) + } + + if c.Node.RunMaster { + // Run in arbitrating mode if the node is master + c.Node.Arbitrating = true + } + + // Don't open browser to load wallets if wallet apis are disabled. + if !c.Node.EnableWalletAPI { + c.Node.EnableGUI = false + c.Node.LaunchBrowser = false + } + + if c.Node.EnableGUI { + c.Node.GUIDirectory = file.ResolveResourceDirectory(c.Node.GUIDirectory) + } +} + +func (c *Config) register() { + flag.BoolVar(&help, "help", false, "Show help") + flag.BoolVar(&c.Node.DisablePEX, "disable-pex", c.Node.DisablePEX, "disable PEX peer discovery") + flag.BoolVar(&c.Node.DownloadPeerList, "download-peerlist", c.Node.DownloadPeerList, "download a peers.txt from -peerlist-url") + flag.StringVar(&c.Node.PeerListURL, "peerlist-url", c.Node.PeerListURL, "with -download-peerlist=true, download a peers.txt file from this url") + flag.BoolVar(&c.Node.DisableOutgoingConnections, "disable-outgoing", c.Node.DisableOutgoingConnections, "Don't make outgoing connections") + flag.BoolVar(&c.Node.DisableIncomingConnections, "disable-incoming", c.Node.DisableIncomingConnections, "Don't make incoming connections") + flag.BoolVar(&c.Node.DisableNetworking, "disable-networking", c.Node.DisableNetworking, "Disable all network activity") + flag.BoolVar(&c.Node.EnableWalletAPI, "enable-wallet-api", c.Node.EnableWalletAPI, "Enable the wallet API") + flag.BoolVar(&c.Node.EnableGUI, "enable-gui", c.Node.EnableGUI, "Enable GUI") + flag.BoolVar(&c.Node.EnableUnversionedAPI, "enable-unversioned-api", c.Node.EnableUnversionedAPI, "Enable the deprecated unversioned API endpoints without /api/v1 prefix") + flag.BoolVar(&c.Node.DisableCSRF, "disable-csrf", c.Node.DisableCSRF, "disable CSRF check") + flag.BoolVar(&c.Node.EnableSeedAPI, "enable-seed-api", c.Node.EnableSeedAPI, "enable /api/v1/wallet/seed api") + flag.BoolVar(&c.Node.DisableCSP, "disable-csp", c.Node.DisableCSP, "disable content-security-policy in http response") + flag.StringVar(&c.Node.Address, "address", c.Node.Address, "IP Address to run application on. Leave empty to default to a public interface") + flag.IntVar(&c.Node.Port, "port", c.Node.Port, "Port to run application on") + + flag.BoolVar(&c.Node.WebInterface, "web-interface", c.Node.WebInterface, "enable the web interface") + flag.IntVar(&c.Node.WebInterfacePort, "web-interface-port", c.Node.WebInterfacePort, "port to serve web interface on") + flag.StringVar(&c.Node.WebInterfaceAddr, "web-interface-addr", c.Node.WebInterfaceAddr, "addr to serve web interface on") + flag.StringVar(&c.Node.WebInterfaceCert, "web-interface-cert", c.Node.WebInterfaceCert, "cert.pem file for web interface HTTPS. If not provided, will use cert.pem in -data-directory") + flag.StringVar(&c.Node.WebInterfaceKey, "web-interface-key", c.Node.WebInterfaceKey, "key.pem file for web interface HTTPS. If not provided, will use key.pem in -data-directory") + flag.BoolVar(&c.Node.WebInterfaceHTTPS, "web-interface-https", c.Node.WebInterfaceHTTPS, "enable HTTPS for web interface") + + flag.BoolVar(&c.Node.RPCInterface, "rpc-interface", c.Node.RPCInterface, "enable the rpc interface") + + flag.BoolVar(&c.Node.LaunchBrowser, "launch-browser", c.Node.LaunchBrowser, "launch system default webbrowser at client startup") + flag.BoolVar(&c.Node.PrintWebInterfaceAddress, "print-web-interface-address", c.Node.PrintWebInterfaceAddress, "print configured web interface address and exit") + flag.StringVar(&c.Node.DataDirectory, "data-dir", c.Node.DataDirectory, "directory to store app data (defaults to ~/.skycoin)") + flag.StringVar(&c.Node.DBPath, "db-path", c.Node.DBPath, "path of database file (defaults to ~/.skycoin/data.db)") + flag.BoolVar(&c.Node.DBReadOnly, "db-read-only", c.Node.DBReadOnly, "open bolt db read-only") + flag.BoolVar(&c.Node.ProfileCPU, "profile-cpu", c.Node.ProfileCPU, "enable cpu profiling") + flag.StringVar(&c.Node.ProfileCPUFile, "profile-cpu-file", c.Node.ProfileCPUFile, "where to write the cpu profile file") + flag.BoolVar(&c.Node.HTTPProf, "http-prof", c.Node.HTTPProf, "Run the http profiling interface") + flag.StringVar(&c.Node.LogLevel, "log-level", c.Node.LogLevel, "Choices are: debug, info, warn, error, fatal, panic") + flag.BoolVar(&c.Node.ColorLog, "color-log", c.Node.ColorLog, "Add terminal colors to log output") + flag.BoolVar(&c.Node.DisablePingPong, "no-ping-log", c.Node.DisablePingPong, `disable "reply to ping" and "received pong" debug log messages`) + flag.BoolVar(&c.Node.LogToFile, "logtofile", c.Node.LogToFile, "log to file") + flag.StringVar(&c.Node.GUIDirectory, "gui-dir", c.Node.GUIDirectory, "static content directory for the HTML interface") + + flag.BoolVar(&c.Node.VerifyDB, "verify-db", c.Node.VerifyDB, "check the database for corruption") + flag.BoolVar(&c.Node.ResetCorruptDB, "reset-corrupt-db", c.Node.ResetCorruptDB, "reset the database if corrupted, and continue running instead of exiting") + + // Key Configuration Data + flag.BoolVar(&c.Node.RunMaster, "master", c.Node.RunMaster, "run the daemon as blockchain master server") + + flag.StringVar(&c.Node.BlockchainPubkeyStr, "master-public-key", c.Node.BlockchainPubkeyStr, "public key of the master chain") + flag.StringVar(&c.Node.BlockchainSeckeyStr, "master-secret-key", c.Node.BlockchainSeckeyStr, "secret key, set for master") + + flag.StringVar(&c.Node.GenesisAddressStr, "genesis-address", c.Node.GenesisAddressStr, "genesis address") + flag.StringVar(&c.Node.GenesisSignatureStr, "genesis-signature", c.Node.GenesisSignatureStr, "genesis block signature") + flag.Uint64Var(&c.Node.GenesisTimestamp, "genesis-timestamp", c.Node.GenesisTimestamp, "genesis block timestamp") + + flag.StringVar(&c.Node.WalletDirectory, "wallet-dir", c.Node.WalletDirectory, "location of the wallet files. Defaults to ~/.skycoin/wallet/") + flag.IntVar(&c.Node.MaxOutgoingConnections, "max-outgoing-connections", c.Node.MaxOutgoingConnections, "The maximum outgoing connections allowed") + flag.IntVar(&c.Node.MaxDefaultPeerOutgoingConnections, "max-default-peer-outgoing-connections", c.Node.MaxDefaultPeerOutgoingConnections, "The maximum default peer outgoing connections allowed") + flag.IntVar(&c.Node.PeerlistSize, "peerlist-size", c.Node.PeerlistSize, "The peer list size") + flag.DurationVar(&c.Node.OutgoingConnectionsRate, "connection-rate", c.Node.OutgoingConnectionsRate, "How often to make an outgoing connection") + flag.BoolVar(&c.Node.LocalhostOnly, "localhost-only", c.Node.LocalhostOnly, "Run on localhost and only connect to localhost peers") + flag.BoolVar(&c.Node.Arbitrating, "arbitrating", c.Node.Arbitrating, "Run node in arbitrating mode") + flag.StringVar(&c.Node.WalletCryptoType, "wallet-crypto-type", c.Node.WalletCryptoType, "wallet crypto type. Can be sha256-xor or scrypt-chacha20poly1305") + flag.BoolVar(&c.Node.Version, "version", false, "show node version") +} + +func (n *NodeConfig) applyConfigMode(configMode string) { + if runtime.GOOS == "windows" { + n.ColorLog = false + } + switch configMode { + case "": + case "STANDALONE_CLIENT": + n.EnableWalletAPI = true + n.EnableGUI = true + n.EnableSeedAPI = true + n.LaunchBrowser = true + n.DisableCSRF = false + n.DisableCSP = false + n.DownloadPeerList = true + n.RPCInterface = false + n.WebInterface = true + n.LogToFile = false + n.ResetCorruptDB = true + n.WebInterfacePort = 0 // randomize web interface port + default: + panic("Invalid ConfigMode") + } +} + +func panicIfError(err error, msg string, args ...interface{}) { // nolint: unparam + if err != nil { + log.Panicf(msg+": %v", append(args, err)...) + } +} + +func replaceHome(path, home string) string { + return strings.Replace(path, "$HOME", home, 1) +} diff --git a/vendor/github.com/skycoin/skycoin/src/skycoin/parameters.go b/vendor/github.com/skycoin/skycoin/src/skycoin/parameters.go new file mode 100755 index 0000000..f060424 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/skycoin/parameters.go @@ -0,0 +1,127 @@ +package skycoin + +import ( + "fmt" + "strings" + + "github.com/spf13/viper" +) + +// Parameters records fiber coin parameters +type Parameters struct { + Node NodeParameters `mapstructure:"node"` + Build BuildParameters `mapstructure:"build"` + Visor VisorParameters `mapstructure:"visor"` +} + +// NodeParameters records the node's configurable parameters +type NodeParameters struct { + PeerListURL string `mapstructure:"peer_list_url"` + Port int `mapstructure:"port"` + WebInterfacePort int `mapstructure:"web_interface_port"` + GenesisSignatureStr string `mapstructure:"genesis_signature_str"` + GenesisAddressStr string `mapstructure:"genesis_address_str"` + BlockchainPubkeyStr string `mapstructure:"blockchain_pubkey_str"` + BlockchainSeckeyStr string `mapstructure:"blockchain_seckey_str"` + GenesisTimestamp uint64 `mapstructure:"genesis_timestamp"` + GenesisCoinVolume uint64 `mapstructure:"genesis_coin_volume"` + DefaultConnections []string `mapstructure:"default_connections"` + + DataDirectory string + ProfileCPUFile string +} + +// VisorParameters are the parameters used to generate parameters.go in visor +type VisorParameters struct { + // MaxCoinSupply is the maximum supply of coins + MaxCoinSupply uint64 `mapstructure:"max_coin_supply"` + + // DistributionAddressesTotal is the number of distribution addresses + DistributionAddressesTotal uint64 `mapstructure:"distribution_addresses_total"` + + // DistributionAddressInitialBalance is the initial balance of each distribution address + DistributionAddressInitialBalance uint64 + + // InitialUnlockedCount is the initial number of unlocked addresses + InitialUnlockedCount uint64 `mapstructure:"initial_unlocked_count"` + + // UnlockAddressRate is the number of addresses to unlock per unlock time interval + UnlockAddressRate uint64 `mapstructure:"unlock_address_rate"` + + // UnlockTimeInterval is the distribution address unlock time interval, measured in seconds + // Once the InitialUnlockedCount is exhausted, + // UnlockAddressRate addresses will be unlocked per UnlockTimeInterval + UnlockTimeInterval uint64 `mapstructure:"unlock_time_interval"` + + // MaxDropletPrecision represents the decimal precision of droplets + MaxDropletPrecision uint64 `mapstructure:"max_droplet_precision"` + + //DefaultMaxBlockSize is max block size + DefaultMaxBlockSize int `mapstructure:"default_max_block_size"` + + DistributionAddresses []string `mapstructure:"distribution_addresses"` +} + +// BuildParameters records build info +type BuildParameters struct { + Version string `mapstructure:"version"` // node version + Commit string `mapstructure:"commit"` // git commit id + Branch string `mapstructure:"branch"` // git branch name +} + +// NewParameters loads blockchain config parameters from a config file +// default file is: fiber.toml in the project root +// JSON, toml or yaml file can be used (toml preferred). +func NewParameters(configName, appDir string) (Parameters, error) { + // set viper parameters + // check that file is of supported type + confNameSplit := strings.Split(configName, ".") + fileType := confNameSplit[len(confNameSplit)-1] + switch fileType { + case "toml", "json", "yaml", "yml": + viper.SetConfigType(confNameSplit[len(confNameSplit)-1]) + default: + return Parameters{}, fmt.Errorf("invalid blockchain config file type: %s", fileType) + } + + configName = configName[:len(configName)-(len(fileType)+1)] + viper.SetConfigName(configName) + + viper.AddConfigPath(appDir) + viper.AddConfigPath(".") + + // set defaults + setDefaults() + + params := Parameters{} + + if err := viper.ReadInConfig(); err != nil { + return params, err + } + + if err := viper.Unmarshal(¶ms); err != nil { + return params, err + } + + return params, nil +} + +func setDefaults() { + // node defaults + viper.SetDefault("node.genesis_coin_volume", 300e12) + viper.SetDefault("node.port", 30000) + viper.SetDefault("node.web_interface_port", 7220) + + // build defaults + viper.SetDefault("build.commit", "") + viper.SetDefault("build.branch", "") + + // visor parameter defaults + viper.SetDefault("visor.max_coin_supply", 3e8) + viper.SetDefault("visor.distribution_addresses_total", 100) + viper.SetDefault("visor.initial_unlocked_count", 100) + viper.SetDefault("visor.unlock_address_rate", 0) + viper.SetDefault("visor.unlock_time_interval", 60*60*24*365) + viper.SetDefault("visor.max_droplet_precision", 3) + viper.SetDefault("visor.default_max_block_size", 32*1024) +} diff --git a/vendor/github.com/skycoin/skycoin/src/skycoin/parameters_test.go b/vendor/github.com/skycoin/skycoin/src/skycoin/parameters_test.go new file mode 100755 index 0000000..5a7e706 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/skycoin/parameters_test.go @@ -0,0 +1,50 @@ +package skycoin + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +// TODO(therealssj): write better tests +func TestNewParameters(t *testing.T) { + coinConfig, err := NewParameters("test.fiber.toml", "./testdata") + require.NoError(t, err) + require.Equal(t, Parameters{ + Node: NodeParameters{ + GenesisSignatureStr: "eb10468d10054d15f2b6f8946cd46797779aa20a7617ceb4be884189f219bc9a164e56a5b9f7bec392a804ff3740210348d73db77a37adb542a8e08d429ac92700", + GenesisAddressStr: "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", + BlockchainPubkeyStr: "0328c576d3f420e7682058a981173a4b374c7cc5ff55bf394d3cf57059bbe6456a", + BlockchainSeckeyStr: "", + GenesisTimestamp: 1426562704, + GenesisCoinVolume: 100e12, + DefaultConnections: []string{ + "118.178.135.93:6000", + "47.88.33.156:6000", + "121.41.103.148:6000", + "120.77.69.188:6000", + "104.237.142.206:6000", + "176.58.126.224:6000", + "172.104.85.6:6000", + "139.162.7.132:6000", + }, + Port: 6000, + PeerListURL: "https://downloads.skycoin.net/blockchain/peers.txt", + WebInterfacePort: 6420, + }, + Build: BuildParameters{ + Version: "0.23.1-rc2", + Commit: "0aab9bf7730827d6fd11beb0d02096b40cea1872", + Branch: "test-branch", + }, + Visor: VisorParameters{ + MaxCoinSupply: 1e8, + DistributionAddressesTotal: 100, + InitialUnlockedCount: 25, + UnlockAddressRate: 5, + UnlockTimeInterval: 60 * 60 * 24 * 365, + MaxDropletPrecision: 3, + DefaultMaxBlockSize: 32 * 1024, + }, + }, coinConfig) +} diff --git a/vendor/github.com/skycoin/skycoin/src/skycoin/skycoin.go b/vendor/github.com/skycoin/skycoin/src/skycoin/skycoin.go new file mode 100755 index 0000000..3acc223 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/skycoin/skycoin.go @@ -0,0 +1,427 @@ +package skycoin + +import ( + "flag" + "fmt" + "log" + "net/http" + "os" + "path/filepath" + "runtime/debug" + "runtime/pprof" + "sync" + "time" + + "github.com/skycoin/skycoin/src/api" + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/util/apputil" + "github.com/skycoin/skycoin/src/util/browser" + "github.com/skycoin/skycoin/src/util/cert" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/dbutil" + "github.com/skycoin/skycoin/src/wallet" +) + +// Coin represents a fiber coin instance +type Coin struct { + config Config + logger *logging.Logger +} + +// Run starts the node +func (c *Coin) Run() { + defer func() { + // try catch panic in main thread + if r := recover(); r != nil { + c.logger.Errorf("recover: %v\nstack:%v", r, string(debug.Stack())) + } + }() + var db *dbutil.DB + var d *daemon.Daemon + var webInterface *api.Server + errC := make(chan error, 10) + + if c.config.Node.Version { + fmt.Println(c.config.Build.Version) + return + } + + logLevel, err := logging.LevelFromString(c.config.Node.LogLevel) + if err != nil { + c.logger.Error("Invalid -log-level:", err) + return + } + + logging.SetLevel(logLevel) + + if c.config.Node.ColorLog { + logging.EnableColors() + } else { + logging.DisableColors() + } + + var logFile *os.File + if c.config.Node.LogToFile { + var err error + logFile, err = c.initLogFile() + if err != nil { + c.logger.Error(err) + return + } + } + + var fullAddress string + scheme := "http" + if c.config.Node.WebInterfaceHTTPS { + scheme = "https" + } + host := fmt.Sprintf("%s:%d", c.config.Node.WebInterfaceAddr, c.config.Node.WebInterfacePort) + + c.initProfiling() + + var wg sync.WaitGroup + + quit := make(chan struct{}) + + // Catch SIGINT (CTRL-C) (closes the quit channel) + go apputil.CatchInterrupt(quit) + + // Catch SIGUSR1 (prints runtime stack to stdout) + go apputil.CatchDebug() + + // creates blockchain instance + dconf := c.ConfigureDaemon() + + c.logger.Infof("Opening database %s", dconf.Visor.DBPath) + db, err = visor.OpenDB(dconf.Visor.DBPath, c.config.Node.DBReadOnly) + if err != nil { + c.logger.Errorf("Database failed to open: %v. Is another skycoin instance running?", err) + return + } + + if c.config.Node.ResetCorruptDB { + // Check the database integrity and recreate it if necessary + c.logger.Info("Checking database and resetting if corrupted") + if newDB, err := visor.RepairCorruptDB(db, c.config.Node.blockchainPubkey, quit); err != nil { + if err != visor.ErrVerifyStopped { + c.logger.Errorf("visor.ResetCorruptDB failed: %v", err) + } + goto earlyShutdown + } else { + db = newDB + } + } else if c.config.Node.VerifyDB { + c.logger.Info("Checking database") + if err := visor.CheckDatabase(db, c.config.Node.blockchainPubkey, quit); err != nil { + if err != visor.ErrVerifyStopped { + c.logger.Errorf("visor.CheckDatabase failed: %v", err) + } + goto earlyShutdown + } + } + + d, err = daemon.NewDaemon(dconf, db, c.config.Node.DefaultConnections) + if err != nil { + c.logger.Error(err) + goto earlyShutdown + } + + if c.config.Node.WebInterface { + webInterface, err = c.createGUI(d, host) + if err != nil { + c.logger.Error(err) + goto earlyShutdown + } + } + + fullAddress = fmt.Sprintf("%s://%s", scheme, webInterface.Addr()) + c.logger.Critical().Infof("Full address: %s", fullAddress) + if c.config.Node.PrintWebInterfaceAddress { + fmt.Println(fullAddress) + } + + wg.Add(1) + go func() { + defer wg.Done() + + if err := d.Run(); err != nil { + c.logger.Error(err) + errC <- err + } + }() + + if c.config.Node.WebInterface { + cancelLaunchBrowser := make(chan struct{}) + + wg.Add(1) + go func() { + defer wg.Done() + + if err := webInterface.Serve(); err != nil { + close(cancelLaunchBrowser) + c.logger.Error(err) + errC <- err + } + }() + + if c.config.Node.LaunchBrowser { + go func() { + select { + case <-cancelLaunchBrowser: + c.logger.Warning("Browser launching cancelled") + + // Wait a moment just to make sure the http interface is up + case <-time.After(time.Millisecond * 100): + c.logger.Infof("Launching System Browser with %s", fullAddress) + if err := browser.Open(fullAddress); err != nil { + c.logger.Error(err) + } + } + }() + } + } + + select { + case <-quit: + case err := <-errC: + c.logger.Error(err) + } + + c.logger.Info("Shutting down...") + + if webInterface != nil { + c.logger.Info("Closing web interface") + webInterface.Shutdown() + } + + c.logger.Info("Closing daemon") + d.Shutdown() + + c.logger.Info("Waiting for goroutines to finish") + wg.Wait() + +earlyShutdown: + if db != nil { + c.logger.Info("Closing database") + if err := db.Close(); err != nil { + c.logger.WithError(err).Error("Failed to close DB") + } + } + + c.logger.Info("Goodbye") + + if logFile != nil { + if err := logFile.Close(); err != nil { + fmt.Println("Failed to close log file") + } + } +} + +// NewCoin returns a new fiber coin instance +func NewCoin(config Config, logger *logging.Logger) *Coin { + return &Coin{ + config: config, + logger: logger, + } +} + +func (c *Coin) initLogFile() (*os.File, error) { + logDir := filepath.Join(c.config.Node.DataDirectory, "logs") + if err := createDirIfNotExist(logDir); err != nil { + c.logger.Errorf("createDirIfNotExist(%s) failed: %v", logDir, err) + return nil, fmt.Errorf("createDirIfNotExist(%s) failed: %v", logDir, err) + } + + // open log file + tf := "2006-01-02-030405" + logfile := filepath.Join(logDir, fmt.Sprintf("%s-v%s.log", time.Now().Format(tf), c.config.Build.Version)) + + f, err := os.OpenFile(logfile, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0600) + if err != nil { + c.logger.Errorf("os.OpenFile(%s) failed: %v", logfile, err) + return nil, err + } + + hook := logging.NewWriteHook(f) + logging.AddHook(hook) + + return f, nil +} + +func (c *Coin) initProfiling() { + if c.config.Node.ProfileCPU { + f, err := os.Create(c.config.Node.ProfileCPUFile) + if err != nil { + log.Fatal(err) + } + pprof.StartCPUProfile(f) + defer pprof.StopCPUProfile() + } + if c.config.Node.HTTPProf { + go func() { + log.Println(http.ListenAndServe("localhost:6060", nil)) + }() + } +} + +// ConfigureDaemon sets the daemon config values +func (c *Coin) ConfigureDaemon() daemon.Config { + //cipher.SetAddressVersion(c.AddressVersion) + dc := daemon.NewConfig() + + for _, c := range c.config.Node.DefaultConnections { + dc.Pool.DefaultPeerConnections[c] = struct{}{} + } + + dc.Pool.MaxDefaultPeerOutgoingConnections = c.config.Node.MaxDefaultPeerOutgoingConnections + + dc.Pex.DataDirectory = c.config.Node.DataDirectory + dc.Pex.Disabled = c.config.Node.DisablePEX + dc.Pex.Max = c.config.Node.PeerlistSize + dc.Pex.DownloadPeerList = c.config.Node.DownloadPeerList + dc.Pex.PeerListURL = c.config.Node.PeerListURL + dc.Daemon.DisableOutgoingConnections = c.config.Node.DisableOutgoingConnections + dc.Daemon.DisableIncomingConnections = c.config.Node.DisableIncomingConnections + dc.Daemon.DisableNetworking = c.config.Node.DisableNetworking + dc.Daemon.Port = c.config.Node.Port + dc.Daemon.Address = c.config.Node.Address + dc.Daemon.LocalhostOnly = c.config.Node.LocalhostOnly + dc.Daemon.OutgoingMax = c.config.Node.MaxOutgoingConnections + dc.Daemon.DataDirectory = c.config.Node.DataDirectory + dc.Daemon.LogPings = !c.config.Node.DisablePingPong + dc.Daemon.BlockchainPubkey = c.config.Node.blockchainPubkey + + if c.config.Node.OutgoingConnectionsRate == 0 { + c.config.Node.OutgoingConnectionsRate = time.Millisecond + } + dc.Daemon.OutgoingRate = c.config.Node.OutgoingConnectionsRate + dc.Visor.IsMaster = c.config.Node.RunMaster + + dc.Visor.BlockchainPubkey = c.config.Node.blockchainPubkey + dc.Visor.BlockchainSeckey = c.config.Node.blockchainSeckey + + dc.Visor.GenesisAddress = c.config.Node.genesisAddress + dc.Visor.GenesisSignature = c.config.Node.genesisSignature + dc.Visor.GenesisTimestamp = c.config.Node.GenesisTimestamp + dc.Visor.GenesisCoinVolume = c.config.Node.GenesisCoinVolume + dc.Visor.DBPath = c.config.Node.DBPath + dc.Visor.Arbitrating = c.config.Node.Arbitrating + dc.Visor.EnableWalletAPI = c.config.Node.EnableWalletAPI + dc.Visor.WalletDirectory = c.config.Node.WalletDirectory + dc.Visor.BuildInfo = visor.BuildInfo{ + Version: c.config.Build.Version, + Commit: c.config.Build.Commit, + Branch: c.config.Build.Branch, + } + dc.Visor.EnableSeedAPI = c.config.Node.EnableSeedAPI + + dc.Gateway.EnableWalletAPI = c.config.Node.EnableWalletAPI + dc.Gateway.DisableCSP = c.config.Node.DisableCSP + + // Initialize wallet default crypto type + cryptoType, err := wallet.CryptoTypeFromString(c.config.Node.WalletCryptoType) + if err != nil { + log.Panic(err) + } + + dc.Visor.WalletCryptoType = cryptoType + + return dc +} + +func (c *Coin) createGUI(d *daemon.Daemon, host string) (*api.Server, error) { + var s *api.Server + var err error + + config := api.Config{ + StaticDir: c.config.Node.GUIDirectory, + DisableCSRF: c.config.Node.DisableCSRF, + EnableWalletAPI: c.config.Node.EnableWalletAPI, + EnableJSON20RPC: c.config.Node.RPCInterface, + EnableGUI: c.config.Node.EnableGUI, + EnableUnversionedAPI: c.config.Node.EnableUnversionedAPI, + ReadTimeout: c.config.Node.ReadTimeout, + WriteTimeout: c.config.Node.WriteTimeout, + IdleTimeout: c.config.Node.IdleTimeout, + } + + if c.config.Node.WebInterfaceHTTPS { + // Verify cert/key parameters, and if neither exist, create them + if err := cert.CreateCertIfNotExists(host, c.config.Node.WebInterfaceCert, c.config.Node.WebInterfaceKey, "Skycoind"); err != nil { + c.logger.Errorf("cert.CreateCertIfNotExists failure: %v", err) + return nil, err + } + + s, err = api.CreateHTTPS(host, config, d.Gateway, c.config.Node.WebInterfaceCert, c.config.Node.WebInterfaceKey) + } else { + s, err = api.Create(host, config, d.Gateway) + } + if err != nil { + c.logger.Errorf("Failed to start web GUI: %v", err) + return nil, err + } + + return s, nil +} + +// ParseConfig prepare the config +func (c *Coin) ParseConfig() { + c.config.register() + flag.Parse() + if help { + flag.Usage() + os.Exit(0) + } + c.config.postProcess() +} + +// InitTransaction creates the initialize transaction +func InitTransaction(UxID string, genesisSecKey cipher.SecKey) coin.Transaction { + var tx coin.Transaction + + output := cipher.MustSHA256FromHex(UxID) + tx.PushInput(output) + + addrs := visor.GetDistributionAddresses() + + if len(addrs) != 100 { + log.Panic("Should have 100 distribution addresses") + } + + // 1 million per address, measured in droplets + if visor.DistributionAddressInitialBalance != 1e6 { + log.Panic("visor.DistributionAddressInitialBalance expected to be 1e6*1e6") + } + + for i := range addrs { + addr := cipher.MustDecodeBase58Address(addrs[i]) + tx.PushOutput(addr, visor.DistributionAddressInitialBalance*1e6, 1) + } + + seckeys := make([]cipher.SecKey, 1) + seckey := genesisSecKey.Hex() + seckeys[0] = cipher.MustSecKeyFromHex(seckey) + tx.SignInputs(seckeys) + + tx.UpdateHeader() + + err := tx.Verify() + + if err != nil { + log.Panic(err) + } + + log.Printf("signature= %s", tx.Sigs[0].Hex()) + return tx +} + +func createDirIfNotExist(dir string) error { + if _, err := os.Stat(dir); !os.IsNotExist(err) { + return nil + } + + return os.Mkdir(dir, 0777) +} diff --git a/vendor/github.com/skycoin/skycoin/src/skycoin/testdata/test.fiber.toml b/vendor/github.com/skycoin/skycoin/src/skycoin/testdata/test.fiber.toml new file mode 100755 index 0000000..509e2a3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/skycoin/testdata/test.fiber.toml @@ -0,0 +1,27 @@ +# fiber configuration +# Defaults are shown, commented out +# Some values have no defaults and must be filled in +[node] +genesis_signature_str = "eb10468d10054d15f2b6f8946cd46797779aa20a7617ceb4be884189f219bc9a164e56a5b9f7bec392a804ff3740210348d73db77a37adb542a8e08d429ac92700" +genesis_address_str = "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6" +blockchain_pubkey_str = "0328c576d3f420e7682058a981173a4b374c7cc5ff55bf394d3cf57059bbe6456a" +blockchain_seckey_str = "" +genesis_timestamp = 1426562704 +default_connections = [ + "118.178.135.93:6000", + "47.88.33.156:6000", + "121.41.103.148:6000", + "120.77.69.188:6000", + "104.237.142.206:6000", + "176.58.126.224:6000", + "172.104.85.6:6000", + "139.162.7.132:6000", +] +launch_browser = true +peer_list_url = "https://downloads.skycoin.net/blockchain/peers.txt" + +[build] +version = "0.23.1-rc2" +commit = "0aab9bf7730827d6fd11beb0d02096b40cea1872" +branch = "test-branch" + diff --git a/vendor/github.com/skycoin/skycoin/src/testutil/assert/assertions.go b/vendor/github.com/skycoin/skycoin/src/testutil/assert/assertions.go new file mode 100755 index 0000000..53bcc85 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/testutil/assert/assertions.go @@ -0,0 +1,73 @@ +package testutil + +import ( + "fmt" + + logrus "github.com/sirupsen/logrus" + assert "github.com/stretchr/testify/assert" +) + +// didPanic returns true if the function passed to it panics. Otherwise, it returns false. +func didPanic(f assert.PanicTestFunc) (bool, interface{}) { + + didPanic := false + var message interface{} + func() { + + defer func() { + if message = recover(); message != nil { + didPanic = true + } + }() + + // call the target function + f() + + }() + + return didPanic, message +} + +// TestValuePredicate checks that a value meets certain condition +// This function type may be seen as a continuation of a test scenario. +// Assertions executed inside of it may be recorded to the calling context +// by accessing free-vars in function closure. +type TestValuePredicate func(value interface{}) (success bool) + +// PanicsWithCondition asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value meets a given condition. +// +// assert.PanicsWithCondition(t, func(value){ return assert.True(t, isCrazy(value)) }, func(){ GoCrazy() }) +// +// Returns whether the assertion was successful (true) or not (false). +func PanicsWithCondition(t assert.TestingT, condition TestValuePredicate, f assert.PanicTestFunc, msgAndArgs ...interface{}) bool { + + funcDidPanic, panicValue := didPanic(f) + if !funcDidPanic { + return assert.Fail(t, fmt.Sprintf("func %#v should panic\n\r\tPanic value:\t%v", f, panicValue), msgAndArgs...) + } + return condition(panicValue) +} + +// PanicsWithLogMessage asserts that the code inside the specified PanicTestFunc panics, and that +// an expected string is included in log message. +// +// assert.PanicsWithLogMessage(t, "Log msg", func(){ log.Panic("Log msg for X") }) +// +// Returns whether the assertion was successful (true) or not (false). +func PanicsWithLogMessage(t assert.TestingT, expectedMessage string, f assert.PanicTestFunc, msgAndArgs ...interface{}) bool { + return PanicsWithCondition(t, func(logValue interface{}) bool { + gotMessage, gotIt := "", false + if entry, isEntry := logValue.(*logrus.Entry); isEntry { + gotMessage, gotIt = entry.Message, true + } else { + if msg, isString := logValue.(string); isString { + gotMessage, gotIt = msg, true + } + } + if gotIt { + return assert.Contains(t, gotMessage, expectedMessage) + } + return assert.Fail(t, "expected string or log entry but got %T", logValue) + }, f, msgAndArgs) +} diff --git a/vendor/github.com/skycoin/skycoin/src/testutil/require/require.go b/vendor/github.com/skycoin/skycoin/src/testutil/require/require.go new file mode 100755 index 0000000..652e4eb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/testutil/require/require.go @@ -0,0 +1,32 @@ +package require + +import ( + assert "github.com/stretchr/testify/assert" + require "github.com/stretchr/testify/require" + + _assert "github.com/skycoin/skycoin/src/testutil/assert" +) + +// PanicsWithCondition asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value meets a given condition. +// +// assert.PanicsWithCondition(t, func(value){ return assert.True(t, isCrazy(value)) }, func(){ GoCrazy() }) +// +// Returns whether the assertion was successful (true) or not (false). +func PanicsWithCondition(t require.TestingT, condition _assert.TestValuePredicate, f assert.PanicTestFunc, msgAndArgs ...interface{}) { + if !_assert.PanicsWithCondition(t, condition, f, msgAndArgs...) { + t.FailNow() + } +} + +// PanicsWithLogMessage asserts that the code inside the specified PanicTestFunc panics, and that +// an expected string is included in log message. +// +// assert.PanicsWithLogMessage(t, "Log msg", func(){ log.Panic("Log msg for X") }) +// +// Returns whether the assertion was successful (true) or not (false). +func PanicsWithLogMessage(t require.TestingT, expectedMessage string, f assert.PanicTestFunc, msgAndArgs ...interface{}) { + if !_assert.PanicsWithLogMessage(t, expectedMessage, f, msgAndArgs) { + t.FailNow() + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/testutil/testutil.go b/vendor/github.com/skycoin/skycoin/src/testutil/testutil.go new file mode 100755 index 0000000..1c4f442 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/testutil/testutil.go @@ -0,0 +1,75 @@ +package testutil + +import ( + "io/ioutil" + "math/rand" + "os" + "testing" + "time" + + "github.com/boltdb/bolt" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +// set rand seed. +var _ = func() int64 { + t := time.Now().Unix() + rand.Seed(t) + return t +}() + +// PrepareDB creates and opens a temporary test DB and returns it with a cleanup callback +func PrepareDB(t *testing.T) (*dbutil.DB, func()) { + f, err := ioutil.TempFile("", "testdb") + require.NoError(t, err) + + db, err := bolt.Open(f.Name(), 0700, nil) + require.NoError(t, err) + + return dbutil.WrapDB(db), func() { + db.Close() + f.Close() + os.Remove(f.Name()) + } +} + +// RequireError requires that an error is not nil and that its message matches +func RequireError(t *testing.T, err error, msg string) { + t.Helper() + require.Error(t, err) + require.Equal(t, msg, err.Error()) +} + +// MakeAddress creates a cipher.Address +func MakeAddress() cipher.Address { + p, _ := cipher.GenerateKeyPair() + return cipher.AddressFromPubKey(p) +} + +// RandBytes returns n random bytes +func RandBytes(t *testing.T, n int) []byte { + b := make([]byte, n) + _, err := rand.Read(b) + require.NoError(t, err) + return b +} + +// RandSHA256 returns a random SHA256 hash +func RandSHA256(t *testing.T) cipher.SHA256 { + return cipher.SumSHA256(RandBytes(t, 128)) +} + +// SHA256FromHex converts an SHA256 hex string to a cipher.SHA256 +func SHA256FromHex(t *testing.T, hex string) cipher.SHA256 { + sha, err := cipher.SHA256FromHex(hex) + require.NoError(t, err) + return sha +} + +// RandSig returns a random cipher.Sig +func RandSig(t *testing.T) cipher.Sig { + return cipher.NewSig(RandBytes(t, 65)) +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/apputil/apputil.go b/vendor/github.com/skycoin/skycoin/src/util/apputil/apputil.go new file mode 100755 index 0000000..2587adf --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/apputil/apputil.go @@ -0,0 +1,56 @@ +package apputil + +import ( + "fmt" + "os" + "os/signal" + "runtime/pprof" + "syscall" +) + +// CatchInterrupt catches CTRL-C and closes the quit channel if it occurs. +// If CTRL-C is called again, the program stack is dumped and the process panics, +// so that shutdown hangs can be diagnosed. +func CatchInterrupt(quit chan<- struct{}) { + sigchan := make(chan os.Signal, 1) + signal.Notify(sigchan, os.Interrupt) + <-sigchan + signal.Stop(sigchan) + close(quit) + + // If ctrl-c is called again, panic so that the program state can be examined. + // Ctrl-c would be called again if program shutdown was stuck. + go CatchInterruptPanic() +} + +// CatchInterruptPanic catches os.Interrupt and panics +func CatchInterruptPanic() { + sigchan := make(chan os.Signal, 1) + signal.Notify(sigchan, os.Interrupt) + <-sigchan + signal.Stop(sigchan) + PrintProgramStatus() + panic("SIGINT") +} + +// CatchDebug catches SIGUSR1 and prints internal program state +func CatchDebug() { + sigchan := make(chan os.Signal, 1) + //signal.Notify(sigchan, syscall.SIGUSR1) + signal.Notify(sigchan, syscall.Signal(0xa)) // SIGUSR1 = Signal(0xa) + for { + select { + case <-sigchan: + PrintProgramStatus() + } + } +} + +// PrintProgramStatus prints all goroutine data to stdout +func PrintProgramStatus() { + p := pprof.Lookup("goroutine") + if err := p.WriteTo(os.Stdout, 2); err != nil { + fmt.Println("ERROR:", err) + return + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/browser/browser.go b/vendor/github.com/skycoin/skycoin/src/util/browser/browser.go new file mode 100755 index 0000000..b57acde --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/browser/browser.go @@ -0,0 +1,10 @@ +package browser + +import ( + "github.com/toqueteos/webbrowser" +) + +// Open opens browser +func Open(url string) error { + return webbrowser.Open(url) +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/cert/cert.go b/vendor/github.com/skycoin/skycoin/src/util/cert/cert.go new file mode 100755 index 0000000..0e9db2c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/cert/cert.go @@ -0,0 +1,147 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Modifications Copyright 2014 Skycoin authors. + +package cert + +import ( + "crypto/rand" + "crypto/rsa" + "crypto/x509" + "crypto/x509/pkix" + "encoding/pem" + "fmt" + "math/big" + "net" + "os" + "strings" + "time" + + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/util/utc" +) + +var logger = logging.MustGetLogger("util") + +// GenerateCert generates a self-signed X.509 certificate for a TLS server. Outputs to +// certFile and keyFile and will overwrite existing files. +func GenerateCert(certFile, keyFile, host, organization string, rsaBits int, + isCA bool, validFrom time.Time, validFor time.Duration) error { + priv, err := rsa.GenerateKey(rand.Reader, rsaBits) + if err != nil { + return fmt.Errorf("Failed to generate private key: %v", err) + } + + notBefore := validFrom + notAfter := notBefore.Add(validFor) + + // end of ASN.1 time + endOfTime := time.Date(2049, 12, 31, 23, 59, 59, 0, time.UTC) + if notAfter.After(endOfTime) { + notAfter = endOfTime + } + + template := x509.Certificate{ + SerialNumber: new(big.Int).SetInt64(0), + Subject: pkix.Name{ + Organization: []string{organization}, + }, + NotBefore: notBefore, + NotAfter: notAfter, + + KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature, + ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth}, + + BasicConstraintsValid: true, + } + + hosts := strings.Split(host, ",") + for _, h := range hosts { + if ip := net.ParseIP(h); ip != nil { + template.IPAddresses = append(template.IPAddresses, ip) + } else { + template.DNSNames = append(template.DNSNames, h) + } + } + + if isCA { + template.IsCA = true + template.KeyUsage |= x509.KeyUsageCertSign + } + + derBytes, err := x509.CreateCertificate(rand.Reader, &template, &template, &priv.PublicKey, priv) + if err != nil { + return fmt.Errorf("Failed to create certificate: %v", err) + } + + certOut, err := os.Create(certFile) + if err != nil { + return fmt.Errorf("Failed to open %s for writing: %v", certFile, err) + } + defer certOut.Close() + pem.Encode(certOut, &pem.Block{Type: "CERTIFICATE", Bytes: derBytes}) + + keyOut, err := os.OpenFile(keyFile, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0600) + if err != nil { + return fmt.Errorf("Failed to open %s for writing:%v", keyFile, err) + } + defer keyOut.Close() + pem.Encode(keyOut, &pem.Block{Type: "RSA PRIVATE KEY", Bytes: x509.MarshalPKCS1PrivateKey(priv)}) + + return nil +} + +func certKeyXor(certFile, keyFile string) (bool, error) { + certInfo, err := os.Stat(certFile) + certExists := !os.IsNotExist(err) + certIsFile := certExists && certInfo.Mode().IsRegular() + + keyInfo, err := os.Stat(keyFile) + keyExists := !os.IsNotExist(err) + keyIsFile := keyExists && keyInfo.Mode().IsRegular() + + switch { + case certExists && certIsFile && keyExists && keyIsFile: + return true, nil + case !certExists && !keyExists: + return false, nil + case !certExists: + return false, fmt.Errorf("Cert %s does not exist", certFile) + case !certIsFile: + return false, fmt.Errorf("Cert %s is not a file", certFile) + case !keyExists: + return false, fmt.Errorf("Key %s does not exist", keyFile) + case !keyIsFile: + return false, fmt.Errorf("Key %s is not a file", keyFile) + default: + panic("unreachable code") + } +} + +// CreateCertIfNotExists verifies that certFile and keyFile exist and are files, and +// if neither certFile nor keyFile exist, they are automatically created for host +func CreateCertIfNotExists(host, certFile, keyFile string, appName string) error { + // check that cert/key both exist, or dont + exist, err := certKeyXor(certFile, keyFile) + if err != nil { + return err + } + + if exist { + return nil + } + + // Automatically create a new cert if neither files exist + logger.Infof("Creating certificate %s", certFile) + logger.Infof("Creating key %s", keyFile) + lifetime := time.Hour * 365 * 24 // 1 year + if err := GenerateCert(certFile, keyFile, host, appName, 2048, false, utc.Now(), lifetime); err != nil { + return err + } + + logger.Infof("Created certificate %s for host %s", certFile, host) + logger.Infof("Created key %s for host %s", keyFile, host) + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/cert/cert_test.go b/vendor/github.com/skycoin/skycoin/src/util/cert/cert_test.go new file mode 100755 index 0000000..4ed5942 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/cert/cert_test.go @@ -0,0 +1,22 @@ +package cert + +import ( + "crypto/tls" + "os" + "testing" + "time" + + "github.com/stretchr/testify/assert" + + "github.com/skycoin/skycoin/src/util/utc" +) + +func TestGenerateCert(t *testing.T) { + defer os.Remove("certtest.pem") + defer os.Remove("keytest.pem") + err := GenerateCert("certtest.pem", "keytest.pem", "127.0.0.1", "org", + 2048, false, utc.Now(), time.Hour*24) + assert.Nil(t, err) + _, err = tls.LoadX509KeyPair("certtest.pem", "keytest.pem") + assert.Nil(t, err) +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/droplet/droplet.go b/vendor/github.com/skycoin/skycoin/src/util/droplet/droplet.go new file mode 100755 index 0000000..c5e1e3e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/droplet/droplet.go @@ -0,0 +1,90 @@ +package droplet + +import ( + "errors" + "math" + + "github.com/shopspring/decimal" + + logging "github.com/skycoin/skycoin/src/util/logging" +) + +const ( + // Exponent is the number of decimal places held by droplets + Exponent = 6 + // Multiplier is how much to multiply coins by to get droplets + Multiplier = 1e6 +) + +var ( + // ErrNegativeValue is returned if a balance string is a negative number + ErrNegativeValue = errors.New("Droplet string conversion failed: Negative balance") + // ErrTooManyDecimals is returned if a balance string has more than 6 decimal places + ErrTooManyDecimals = errors.New("Droplet string conversion failed: Too many decimal places") + // ErrTooLarge is returned if a balance string is greater than math.MaxInt64 + ErrTooLarge = errors.New("Droplet string conversion failed: Value is too large") + + logger = logging.MustGetLogger("convert") + maxDecimal decimal.Decimal +) + +func init() { + maxInt64 := "9223372036854775807" + max, err := decimal.NewFromString(maxInt64) + if err != nil { + panic(err) + } + + maxDecimal = max +} + +// FromString converts a skycoin balance string with decimal places to uint64 droplets. +// For example, "123.000456" becomes 123000456 +func FromString(b string) (uint64, error) { + d, err := decimal.NewFromString(b) + if err != nil { + return 0, err + } + + // Values must be zero or positive + if d.Sign() == -1 { + return 0, ErrNegativeValue + } + + // Skycoins have a maximum of 6 decimal places + if d.Exponent() < -Exponent { + return 0, ErrTooManyDecimals + } + + // Multiply the coin balance by 1e6 to obtain droplets amount + e := d.Mul(decimal.New(1, Exponent)) + + // Check that there are no decimal places remaining. This error should not + // occur, because of the earlier check of Exponent() + if e.Exponent() < 0 { + logger.Critical().Errorf("Balance still has decimals after converting to droplets: %s", b) + return 0, ErrTooManyDecimals + } + + // Values greater than math.MaxInt64 will overflow after conversion to int64 + // using decimal.IntPart() + if e.GreaterThan(maxDecimal) { + return 0, ErrTooLarge + } + + return uint64(e.IntPart()), nil +} + +// ToString converts droplets to a skycoin balance fixed-point decimal string. +// String will always have a decimal precision of droplet.Exponent (6). +// For example, 123000456 becomes "123.000456" and +// 123000000 becomes "123.000000". +func ToString(n uint64) (string, error) { + if n > math.MaxInt64 { + return "", ErrTooLarge + } + + d := decimal.New(int64(n), -Exponent) + + return d.StringFixed(Exponent), nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/droplet/droplet_test.go b/vendor/github.com/skycoin/skycoin/src/util/droplet/droplet_test.go new file mode 100755 index 0000000..0f6f50a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/droplet/droplet_test.go @@ -0,0 +1,222 @@ +package droplet + +import ( + "errors" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestFromString(t *testing.T) { + t.Parallel() + + cases := []struct { + s string + n uint64 + e error + }{ + { + s: "0", + n: 0, + }, + { + s: "0.", + n: 0, + }, + { + s: "0.0", + n: 0, + }, + { + s: "0.000000", + n: 0, + }, + { + s: "0.0000000", + n: 0, + }, + { + s: "0.0000001", + e: ErrTooManyDecimals, + }, + { + s: "0.000001", + n: 1, + }, + { + s: "0.0000010", + n: 1, + }, + { + s: "1", + n: 1e6, + }, + { + s: "1.000001", + n: 1e6 + 1, + }, + { + s: "-1", + e: ErrNegativeValue, + }, + { + s: "10000", + n: 1e4 * 1e6, + }, + { + s: "123456789.123456", + n: 123456789123456, + }, + { + s: "123.000456", + n: 123000456, + }, + { + s: "100SKY", + e: errors.New("can't convert 100SKY to decimal"), + }, + { + s: "", + e: errors.New("can't convert to decimal"), + }, + { + s: "999999999999999999999999999999999999999999", + e: ErrTooLarge, + }, + { + s: "9223372036854.775807", + n: 9223372036854775807, + }, + { + s: "-9223372036854.775807", + e: ErrNegativeValue, + }, + { + s: "9223372036854775808", + e: ErrTooLarge, + }, + { + s: "9223372036854775807.000001", + e: ErrTooLarge, + }, + { + s: "9223372036854775807", + e: ErrTooLarge, + }, + { + s: "9223372036854775806.000001", + e: ErrTooLarge, + }, + { + s: "1.1", + n: 1e6 + 1e5, + }, + { + s: "1.01", + n: 1e6 + 1e4, + }, + { + s: "1.001", + n: 1e6 + 1e3, + }, + { + s: "1.0001", + n: 1e6 + 1e2, + }, + { + s: "1.00001", + n: 1e6 + 1e1, + }, + { + s: "1.000001", + n: 1e6 + 1e0, + }, + { + s: "1.0000001", + e: ErrTooManyDecimals, + }, + } + + for _, tcc := range cases { + tc := tcc + t.Run(tc.s, func(t *testing.T) { + t.Parallel() + + n, err := FromString(tc.s) + + if tc.e == nil { + require.NoError(t, err) + require.Equal(t, tc.n, n, "result: %d", n) + } else { + require.Error(t, err) + require.Equal(t, tc.e, err) + require.Equal(t, uint64(0), n, "result: %d", n) + } + }) + } +} + +func TestToString(t *testing.T) { + t.Parallel() + + cases := []struct { + n uint64 + s string + e error + }{ + { + n: 0, + s: "0.000000", + }, + { + n: 1, + s: "0.000001", + }, + { + n: 1e6, + s: "1.000000", + }, + { + n: 100100, + s: "0.100100", + }, + { + n: 1001000, + s: "1.001000", + }, + { + n: 999, + s: "0.000999", + }, + { + n: 999000000, + s: "999.000000", + }, + { + n: 123000456, + s: "123.000456", + }, + { + n: 9223372036854775808, + e: ErrTooLarge, + }, + } + + for _, tcc := range cases { + tc := tcc + t.Run(tc.s, func(t *testing.T) { + t.Parallel() + + s, err := ToString(tc.n) + + if tc.e == nil { + require.NoError(t, err) + require.Equal(t, tc.s, s) + } else { + require.Error(t, err) + require.Equal(t, tc.e, err) + require.Equal(t, "", s) + } + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/elapse/elapser.go b/vendor/github.com/skycoin/skycoin/src/util/elapse/elapser.go new file mode 100755 index 0000000..8b54857 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/elapse/elapser.go @@ -0,0 +1,69 @@ +package elapse + +import ( + "time" + + "github.com/skycoin/skycoin/src/util/logging" +) + +// Elapser measures time elapsed for an operation. It is not thread-safe, use a different elapser per thread. +type Elapser struct { + name *string + startTime time.Time + elapsedThreshold time.Duration + Done chan bool + logger *logging.Logger +} + +// NewElapser creates an Elapser +func NewElapser(elapsedThreshold time.Duration, logger *logging.Logger) *Elapser { + elapser := &Elapser{ + elapsedThreshold: elapsedThreshold, + Done: make(chan bool, 100), + logger: logger, + } + return elapser +} + +// CheckForDone checks if the elapser has triggered and records the elapsed time +func (e *Elapser) CheckForDone() { + select { + case <-e.Done: + e.Elapsed() + default: + } +} + +// Register begins an operation to measure +func (e *Elapser) Register(name string) { + e.CheckForDone() + e.name = &name + e.startTime = time.Now() + e.Done <- true +} + +// ShowCurrentTime logs the elapsed time so far +func (e *Elapser) ShowCurrentTime(step string) { + stopTime := time.Now() + if e.name == nil { + e.logger.Warning("no registered events for elapsing, but found Elapser.ShowCurrentTime calling") + return + } + elapsed := stopTime.Sub(e.startTime) + e.logger.Infof("%s[%s] elapsed %s", *e.name, step, elapsed) + +} + +// Elapsed stops measuring an operation and logs the elapsed time if it exceeds the configured threshold +func (e *Elapser) Elapsed() { + stopTime := time.Now() + if e.name == nil { + e.logger.Warning("no registered events for elapsing, but found Elapser.Elapsed calling") + return + } + elapsed := stopTime.Sub(e.startTime) + if elapsed >= e.elapsedThreshold { + e.logger.Warningf("%s elapsed %s", *e.name, elapsed) + } + e.name = nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/fee/fee.go b/vendor/github.com/skycoin/skycoin/src/util/fee/fee.go new file mode 100755 index 0000000..bb1ff9b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/fee/fee.go @@ -0,0 +1,100 @@ +package fee + +import ( + "errors" + + "github.com/skycoin/skycoin/src/coin" +) + +const ( + // BurnFactor inverse fraction of coinhours that must be burned + BurnFactor uint64 = 2 +) + +var ( + // ErrTxnNoFee is returned if a transaction has no coinhour fee + ErrTxnNoFee = errors.New("Transaction has zero coinhour fee") + + // ErrTxnInsufficientFee is returned if a transaction's coinhour burn fee is not enough + ErrTxnInsufficientFee = errors.New("Transaction coinhour fee minimum not met") + + // ErrTxnInsufficientCoinHours is returned if a transaction has more coinhours in its outputs than its inputs + ErrTxnInsufficientCoinHours = errors.New("Insufficient coinhours for transaction outputs") +) + +// VerifyTransactionFee performs additional transaction verification at the unconfirmed pool level. +// This checks tunable parameters that should prevent the transaction from +// entering the blockchain, but cannot be done at the blockchain level because +// they may be changed. +func VerifyTransactionFee(t *coin.Transaction, fee uint64) error { + hours, err := t.OutputHours() + if err != nil { + return err + } + return VerifyTransactionFeeForHours(hours, fee) +} + +// VerifyTransactionFeeForHours verifies the fee given fee and hours, +// where hours is the number of hours in a transaction's outputs, +// and hours+fee is the number of hours in a transaction's inputs +func VerifyTransactionFeeForHours(hours, fee uint64) error { + // Require non-zero coinhour fee + if fee == 0 { + return ErrTxnNoFee + } + + // Calculate total number of coinhours + total, err := coin.AddUint64(hours, fee) + if err != nil { + return errors.New("Hours and fee overflow") + } + + // Calculate the required fee + requiredFee := RequiredFee(total) + + // Ensure that the required fee is met + if fee < requiredFee { + return ErrTxnInsufficientFee + } + + return nil +} + +// RequiredFee returns the coinhours fee required for an amount of hours +// The required fee is calculated as hours/BurnFactor, rounded up. +func RequiredFee(hours uint64) uint64 { + feeHours := hours / BurnFactor + if hours%BurnFactor != 0 { + feeHours++ + } + + return feeHours +} + +// RemainingHours returns the amount of coinhours leftover after paying the fee for the input. +func RemainingHours(hours uint64) uint64 { + fee := RequiredFee(hours) + return hours - fee +} + +// TransactionFee calculates the current transaction fee in coinhours of a Transaction. +// Returns ErrTxnInsufficientCoinHours if input hours is less than output hours. +func TransactionFee(tx *coin.Transaction, headTime uint64, inUxs coin.UxArray) (uint64, error) { + // Compute input hours + inHours, err := inUxs.CoinHours(headTime) + if err != nil { + return 0, err + } + + // Compute output hours + outHours, err := tx.OutputHours() + if err != nil { + return 0, err + } + + if inHours < outHours { + return 0, ErrTxnInsufficientCoinHours + } + + return inHours - outHours, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/fee/fee_test.go b/vendor/github.com/skycoin/skycoin/src/util/fee/fee_test.go new file mode 100755 index 0000000..c6c9882 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/fee/fee_test.go @@ -0,0 +1,312 @@ +package fee + +import ( + "errors" + "fmt" + "math" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/testutil" +) + +type verifyTxFeeTestCase struct { + inputHours uint64 + outputHours uint64 + err error +} + +var burnFactor2verifyTxFeeTestCase = []verifyTxFeeTestCase{ + {0, 0, ErrTxnNoFee}, + {1, 0, nil}, + {1, 1, ErrTxnNoFee}, + {2, 0, nil}, + {2, 1, nil}, + {2, 2, ErrTxnNoFee}, + {3, 0, nil}, + {3, 1, nil}, + {3, 2, ErrTxnInsufficientFee}, + {3, 3, ErrTxnNoFee}, + {4, 0, nil}, + {4, 1, nil}, + {4, 2, nil}, + {4, 3, ErrTxnInsufficientFee}, + {4, 4, ErrTxnNoFee}, +} + +var burnFactor3verifyTxFeeTestCase = []verifyTxFeeTestCase{ + {0, 0, ErrTxnNoFee}, + {1, 0, nil}, + {1, 1, ErrTxnNoFee}, + {2, 0, nil}, + {2, 1, nil}, + {2, 2, ErrTxnNoFee}, + {3, 0, nil}, + {3, 1, nil}, + {3, 2, nil}, + {3, 3, ErrTxnNoFee}, + {4, 0, nil}, + {4, 1, nil}, + {4, 2, nil}, + {4, 3, ErrTxnInsufficientFee}, + {4, 4, ErrTxnNoFee}, + {5, 0, nil}, + {5, 1, nil}, + {5, 2, nil}, + {5, 3, nil}, + {5, 4, ErrTxnInsufficientFee}, + {5, 5, ErrTxnNoFee}, +} + +func TestVerifyTransactionFee(t *testing.T) { + emptyTxn := &coin.Transaction{} + hours, err := emptyTxn.OutputHours() + require.NoError(t, err) + require.Equal(t, uint64(0), hours) + + // A txn with no outputs hours and no coinhours burn fee is valid + err = VerifyTransactionFee(emptyTxn, 0) + testutil.RequireError(t, err, ErrTxnNoFee.Error()) + + // A txn with no outputs hours but with a coinhours burn fee is valid + err = VerifyTransactionFee(emptyTxn, 100) + require.NoError(t, err) + + txn := &coin.Transaction{} + txn.Out = append(txn.Out, coin.TransactionOutput{ + Hours: 1e6, + }) + txn.Out = append(txn.Out, coin.TransactionOutput{ + Hours: 3e6, + }) + + hours, err = txn.OutputHours() + require.NoError(t, err) + require.Equal(t, uint64(4e6), hours) + + // A txn with insufficient net coinhours burn fee is invalid + err = VerifyTransactionFee(txn, 0) + testutil.RequireError(t, err, ErrTxnNoFee.Error()) + + err = VerifyTransactionFee(txn, 1) + testutil.RequireError(t, err, ErrTxnInsufficientFee.Error()) + + // A txn with sufficient net coinhours burn fee is valid + hours, err = txn.OutputHours() + require.NoError(t, err) + err = VerifyTransactionFee(txn, hours) + require.NoError(t, err) + hours, err = txn.OutputHours() + err = VerifyTransactionFee(txn, hours*10) + require.NoError(t, err) + + // fee + hours overflows + err = VerifyTransactionFee(txn, math.MaxUint64-3e6) + testutil.RequireError(t, err, "Hours and fee overflow") + + // txn has overflowing output hours + txn.Out = append(txn.Out, coin.TransactionOutput{ + Hours: math.MaxUint64 - 1e6 - 3e6 + 1, + }) + err = VerifyTransactionFee(txn, 10) + testutil.RequireError(t, err, "Transaction output hours overflow") + + var cases []verifyTxFeeTestCase + switch BurnFactor { + case 2: + cases = burnFactor2verifyTxFeeTestCase + case 3: + cases = burnFactor3verifyTxFeeTestCase + default: + t.Fatalf("No test cases for BurnFactor=%d", BurnFactor) + } + + for _, tc := range cases { + name := fmt.Sprintf("input=%d output=%d", tc.inputHours, tc.outputHours) + t.Run(name, func(t *testing.T) { + txn := &coin.Transaction{} + txn.Out = append(txn.Out, coin.TransactionOutput{ + Hours: tc.outputHours, + }) + + require.True(t, tc.inputHours >= tc.outputHours) + err := VerifyTransactionFee(txn, tc.inputHours-tc.outputHours) + require.Equal(t, tc.err, err) + }) + } +} + +type requiredFeeTestCase struct { + hours uint64 + fee uint64 +} + +var burnFactor2RequiredFeeTestCases = []requiredFeeTestCase{ + {0, 0}, + {1, 1}, + {2, 1}, + {3, 2}, + {4, 2}, + {5, 3}, + {6, 3}, + {7, 4}, + {998, 499}, + {999, 500}, + {1000, 500}, + {1001, 501}, +} + +var burnFactor3RequiredFeeTestCases = []requiredFeeTestCase{ + {0, 0}, + {1, 1}, + {2, 1}, + {3, 1}, + {4, 2}, + {5, 2}, + {6, 2}, + {7, 3}, + {999, 333}, + {1000, 334}, + {1001, 334}, + {1002, 334}, + {1003, 335}, +} + +func TestRequiredFee(t *testing.T) { + var cases []requiredFeeTestCase + switch BurnFactor { + case 2: + cases = burnFactor2RequiredFeeTestCases + case 3: + cases = burnFactor3RequiredFeeTestCases + default: + t.Fatalf("No test cases for BurnFactor=%d", BurnFactor) + } + + for _, tc := range cases { + name := fmt.Sprintf("hours=%d fee=%d", tc.hours, tc.fee) + t.Run(name, func(t *testing.T) { + fee := RequiredFee(tc.hours) + require.Equal(t, tc.fee, fee) + + remainingHours := RemainingHours(tc.hours) + require.Equal(t, tc.hours-fee, remainingHours) + }) + } +} + +func TestTransactionFee(t *testing.T) { + var headTime uint64 = 1000 + nextTime := headTime + 3600 // 1 hour later + + type uxInput struct { + time uint64 + coins uint64 + hours uint64 + } + + cases := []struct { + name string + out []uint64 + in []uxInput + headTime uint64 + fee uint64 + err error + }{ + // Test case with one output, one input + { + fee: 5, + out: []uint64{5}, + in: []uxInput{ + {time: headTime, coins: 10e6, hours: 10}, + }, + headTime: headTime, + }, + + // Test case with multiple outputs, multiple inputs + { + fee: 0, + out: []uint64{5, 7, 3}, + in: []uxInput{ + {time: headTime, coins: 10e6, hours: 10}, + {time: headTime, coins: 10e6, hours: 5}, + }, + headTime: headTime, + }, + + // Test case with multiple outputs, multiple inputs, and some inputs have more CoinHours once adjusted for HeadTime + { + fee: 8, + out: []uint64{5, 10}, + in: []uxInput{ + {time: nextTime, coins: 10e6, hours: 10}, + {time: headTime, coins: 8e6, hours: 5}, + }, + headTime: nextTime, + }, + + // Test case with insufficient coin hours + { + err: ErrTxnInsufficientCoinHours, + out: []uint64{5, 10, 1}, + in: []uxInput{ + {time: headTime, coins: 10e6, hours: 10}, + {time: headTime, coins: 8e6, hours: 5}, + }, + headTime: headTime, + }, + + // Test case with overflowing input hours + { + err: errors.New("UxArray.CoinHours addition overflow"), + out: []uint64{0}, + in: []uxInput{ + {time: headTime, coins: 10e6, hours: 10}, + {time: headTime, coins: 10e6, hours: math.MaxUint64 - 9}, + }, + headTime: headTime, + }, + + // Test case with overflowing output hours + { + err: errors.New("Transaction output hours overflow"), + out: []uint64{0, 10, math.MaxUint64 - 9}, + in: []uxInput{ + {time: headTime, coins: 10e6, hours: 10}, + {time: headTime, coins: 10e6, hours: 100}, + }, + headTime: headTime, + }, + } + + for _, tc := range cases { + name := fmt.Sprintf("fee=%d headTime=%d", tc.fee, tc.headTime) + t.Run(name, func(t *testing.T) { + tx := &coin.Transaction{} + for _, h := range tc.out { + tx.Out = append(tx.Out, coin.TransactionOutput{ + Hours: h, + }) + } + + inUxs := make(coin.UxArray, len(tc.in)) + for i, b := range tc.in { + inUxs[i] = coin.UxOut{ + Head: coin.UxHead{ + Time: b.time, + }, + Body: coin.UxBody{ + Coins: b.coins, + Hours: b.hours, + }, + } + } + + fee, err := TransactionFee(tx, tc.headTime, inUxs) + require.Equal(t, tc.err, err) + require.Equal(t, tc.fee, fee) + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/file/file.go b/vendor/github.com/skycoin/skycoin/src/util/file/file.go new file mode 100755 index 0000000..67ed658 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/file/file.go @@ -0,0 +1,284 @@ +// Package file Filesystem related utilities +package file + +import ( + "encoding/json" + "errors" + "fmt" + "io" + "io/ioutil" + "os" + "path/filepath" + "runtime" + "strings" + + "github.com/skycoin/skycoin/src/util/logging" +) + +var ( + // ErrEmptyDirectoryName is returned by constructing the full path + // of data directory if the passed argument is empty + ErrEmptyDirectoryName = errors.New("data directory must not be empty") + // ErrDotDirectoryName is returned by constructing the full path of + // data directory if the passed argument is "." + ErrDotDirectoryName = errors.New("data directory must not be equal to \".\"") + + logger = logging.MustGetLogger("file") +) + +// InitDataDir Joins dir with the user's $HOME directory. +// If $HOME cannot be determined, uses the current working directory. +// dir must not be the empty string +func InitDataDir(dir string) (string, error) { + dir, err := buildDataDir(dir) + if err != nil { + return "", err + } + + // check if dir already exist + st, err := os.Stat(dir) + if !os.IsNotExist(err) { + if !st.IsDir() { + return "", fmt.Errorf("%s is not a directory", dir) + } + // dir already exist + return dir, nil + } + + if err := os.MkdirAll(dir, os.FileMode(0700)); err != nil { + logger.Errorf("Failed to create directory %s: %v", dir, err) + return "", err + } + + logger.Infof("Created data directory %s", dir) + return dir, nil +} + +// Construct the full data directory by adding to $HOME or ./ +func buildDataDir(dir string) (string, error) { + if dir == "" { + logger.Error("data directory is empty") + return "", ErrEmptyDirectoryName + } + + home := filepath.Clean(UserHome()) + wd, err := os.Getwd() + if err != nil { + return "", err + } + wd = filepath.Clean(wd) + + fullDir, err := filepath.Abs(dir) + + if err != nil { + return "", err + } + + // The joined directory must not be equal to $HOME or a parent path of $HOME + // The joined directory must not be equal to `pwd` or a parent path of `pwd` + if strings.HasPrefix(home, fullDir) || strings.HasPrefix(wd, fullDir) { + logger.Errorf("join(%[1]s, %[2]s) == %[1]s", home, dir) + return "", ErrDotDirectoryName + } + + return fullDir, nil +} + +// UserHome returns the current user home path +func UserHome() string { + // os/user relies on cgo which is disabled when cross compiling + // use fallbacks for various OSes instead + // usr, err := user.Current() + // if err == nil { + // return usr.HomeDir + // } + if runtime.GOOS == "windows" { + home := os.Getenv("HOMEDRIVE") + os.Getenv("HOMEPATH") + if home == "" { + home = os.Getenv("USERPROFILE") + } + return home + } + + return os.Getenv("HOME") +} + +// LoadJSON load json file +func LoadJSON(filename string, thing interface{}) error { + file, err := os.Open(filename) + if err != nil { + return err + } + defer file.Close() + + dec := json.NewDecoder(file) + dec.UseNumber() + return dec.Decode(thing) +} + +// SaveJSON write value into json file +func SaveJSON(filename string, thing interface{}, mode os.FileMode) error { + data, err := json.MarshalIndent(thing, "", " ") + if err != nil { + return err + } + return SaveBinary(filename, data, mode) +} + +// SaveJSONSafe saves json to disk, but refuses if file already exists +func SaveJSONSafe(filename string, thing interface{}, mode os.FileMode) error { + b, err := json.MarshalIndent(thing, "", " ") + if err != nil { + return err + } + flags := os.O_WRONLY | os.O_CREATE | os.O_EXCL + f, err := os.OpenFile(filename, flags, mode) + if err != nil { + return err + } + defer f.Close() + n, err := f.Write(b) + if n != len(b) && err != nil { + err = errors.New("Failed to save complete file") + } + if err != nil { + os.Remove(filename) + } + return err +} + +// SaveBinary persists data into given file in binary, +// backup the previous file, if there was one +func SaveBinary(filename string, data []byte, mode os.FileMode) error { + // Write the new file to a temporary + tmpname := filename + ".tmp" + if err := ioutil.WriteFile(tmpname, data, mode); err != nil { + return err + } + + // Write the new file to the target wallet file + if err := ioutil.WriteFile(filename, data, mode); err != nil { + return err + } + + // Remove the tmp file + return os.Remove(tmpname) +} + +//TODO: require file named after application and then hashcode, in static directory + +// ResolveResourceDirectory searches locations for a research directory and returns absolute path +func ResolveResourceDirectory(path string) string { + workDir, err := filepath.Abs(filepath.Dir(os.Args[0])) + if err != nil { + logger.Panic(err) + } + + _, rtFilename, _, _ := runtime.Caller(1) + rtDirectory := filepath.Dir(rtFilename) + + pathAbs, err := filepath.Abs(path) + if err != nil { + logger.Panic(err) + } + fmt.Println("abs path:", pathAbs) + + fmt.Printf("runtime.Caller= %s \n", rtFilename) + //fmt.Printf("Filepath Raw= %s \n") + fmt.Printf("Filepath Directory= %s \n", filepath.Dir(path)) + fmt.Printf("Filepath Absolute Directory= %s \n", pathAbs) + + fmt.Printf("Working Directory= %s \n", workDir) + fmt.Printf("Runtime Filename= %s \n", rtFilename) + fmt.Printf("Runtime Directory= %s \n", rtDirectory) + + //dir1 := filepath.Join(workDir, filepath.Dir(path)) + //fmt.Printf("Dir1= %s \n", dir1) + + dirs := []string{ + pathAbs, //try direct path first + filepath.Join(workDir, filepath.Dir(path)), //default + //filepath.Join(rt_directory, "./", filepath.Dir(path)), + filepath.Join(rtDirectory, "./", filepath.Dir(path)), + filepath.Join(rtDirectory, "../", filepath.Dir(path)), + filepath.Join(rtDirectory, "../../", filepath.Dir(path)), + filepath.Join(rtDirectory, "../../../", filepath.Dir(path)), + } + + //for i, dir := range dirs { + // fmt.Printf("Dir[%d]= %s \n", i, dir) + //} + + //must be an absolute path + //error and problem and crash if not absolute path + for i := range dirs { + absPath, _ := filepath.Abs(dirs[i]) + dirs[i] = absPath + } + + for _, dir := range dirs { + if _, err := os.Stat(dir); !os.IsNotExist(err) { + fmt.Printf("ResolveResourceDirectory: static resource dir= %s \n", dir) + return dir + } + } + logger.Panic("GUI directory not found") + return "" +} + +// DetermineResourcePath DEPRECATE +func DetermineResourcePath(staticDir string, resourceDir string, devDir string) (string, error) { + //check "dev" directory first + appLoc := filepath.Join(staticDir, devDir) + // if !strings.HasPrefix(appLoc, "/") { + // // Prepend the binary's directory path if appLoc is relative + // dir, err := filepath.Abs(filepath.Dir(os.Args[0])) + // if err != nil { + // return "", err + // } + + // appLoc = filepath.Join(dir, appLoc) + // } + if _, err := os.Stat(appLoc); os.IsNotExist(err) { + //check dist directory + appLoc = filepath.Join(staticDir, resourceDir) + // if !strings.HasPrefix(appLoc, "/") { + // // Prepend the binary's directory path if appLoc is relative + // dir, err := filepath.Abs(filepath.Dir(os.Args[0])) + // if err != nil { + // return "", err + // } + + // appLoc = filepath.Join(dir, appLoc) + // } + + if _, err := os.Stat(appLoc); os.IsNotExist(err) { + return "", err + } + } + + return appLoc, nil +} + +// CopyFile copy file +func CopyFile(dst string, src io.Reader) (n int64, err error) { + // check the existence of dst file. + if _, err := os.Stat(dst); err == nil { + return 0, nil + } + err = nil + + out, err := os.Create(dst) + if err != nil { + return 0, err + } + defer func() { + cerr := out.Close() + if err == nil { + err = cerr + } + }() + + n, err = io.Copy(out, src) + return +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/file/file_test.go b/vendor/github.com/skycoin/skycoin/src/util/file/file_test.go new file mode 100755 index 0000000..7809229 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/file/file_test.go @@ -0,0 +1,216 @@ +package file + +import ( + "bytes" + "crypto/rand" + "os" + "path/filepath" + "strings" + "testing" + + "encoding/json" + + "github.com/stretchr/testify/require" +) + +func requireFileMode(t *testing.T, filename string, mode os.FileMode) { + stat, err := os.Stat(filename) + require.NoError(t, err) + require.Equal(t, stat.Mode(), mode) +} + +func requireFileContentsBinary(t *testing.T, filename string, contents []byte) { + f, err := os.Open(filename) + defer f.Close() + require.NoError(t, err) + b := make([]byte, len(contents)*16) + n, err := f.Read(b) + require.NoError(t, err) + + require.Equal(t, n, len(contents)) + require.True(t, bytes.Equal(b[:n], contents)) +} + +func requireFileContents(t *testing.T, filename, contents string) { // nolint: unparam + requireFileContentsBinary(t, filename, []byte(contents)) +} + +func requireFileExists(t *testing.T, filename string) { + stat, err := os.Stat(filename) + require.NoError(t, err) + require.True(t, stat.Mode().IsRegular()) +} + +func requireFileNotExists(t *testing.T, filename string) { + _, err := os.Stat(filename) + require.Error(t, err) + require.True(t, os.IsNotExist(err)) +} + +func cleanup(fn string) { + os.Remove(fn) + os.Remove(fn + ".tmp") + os.Remove(fn + ".bak") +} + +func TestBuildDataDirDotOk(t *testing.T) { + dir := "./.test-skycoin/test" + builtDir, err := buildDataDir(dir) + require.NoError(t, err) + + cleanDir := filepath.Clean(dir) + require.True(t, strings.HasSuffix(builtDir, cleanDir)) + + gopath := os.Getenv("GOPATH") + // by default go uses GOPATH=$HOME/go if it is not set + if gopath == "" { + home := filepath.Clean(UserHome()) + gopath = filepath.Join(home, "go") + } + + require.True(t, strings.HasPrefix(builtDir, gopath)) + require.NotEqual(t, builtDir, filepath.Clean(gopath)) +} + +func TestBuildDataDirEmptyError(t *testing.T) { + dir, err := buildDataDir("") + require.Empty(t, dir) + require.Error(t, err) + require.Equal(t, ErrEmptyDirectoryName, err) +} + +func TestBuildDataDirDotError(t *testing.T) { + bad := []string{".", "./", "./.", "././", "./../"} + for _, b := range bad { + dir, err := buildDataDir(b) + require.Empty(t, dir) + require.Error(t, err) + require.Equal(t, ErrDotDirectoryName, err) + } +} + +func TestUserHome(t *testing.T) { + home := UserHome() + require.NotEqual(t, home, "") +} + +func TestBuildDataDirDefault(t *testing.T) { + home := UserHome() + defaultDir := filepath.Join(home, ".skycoin") + dir, err := buildDataDir(defaultDir) + require.NoError(t, err) + expectedPath := filepath.Join(home, ".skycoin") + require.Equal(t, dir, expectedPath) +} + +func TestBuildDataDirAbsolute(t *testing.T) { + abspath := "/opt/.skycoin" + dir, err := buildDataDir(abspath) + require.NoError(t, err) + require.Equal(t, abspath, dir) +} + +func TestLoadJSON(t *testing.T) { + obj := struct{ Key string }{} + fn := "test.json" + defer cleanup(fn) + + // Loading nonexistant file + requireFileNotExists(t, fn) + err := LoadJSON(fn, &obj) + require.Error(t, err) + require.True(t, os.IsNotExist(err)) + + f, err := os.Create(fn) + require.NoError(t, err) + _, err = f.WriteString("{\"key\":\"value\"}") + require.NoError(t, err) + f.Close() + + err = LoadJSON(fn, &obj) + require.NoError(t, err) + require.Equal(t, obj.Key, "value") +} + +func TestSaveJSON(t *testing.T) { + fn := "test.json" + defer cleanup(fn) + obj := struct { + Key string `json:"key"` + }{Key: "value"} + + b, err := json.MarshalIndent(obj, "", " ") + require.NoError(t, err) + + err = SaveJSON(fn, obj, 0644) + require.NoError(t, err) + + requireFileExists(t, fn) + requireFileNotExists(t, fn+".bak") + requireFileMode(t, fn, 0644) + requireFileContents(t, fn, string(b)) + + // Saving again should result in a .bak file same as original + obj.Key = "value2" + err = SaveJSON(fn, obj, 0644) + require.NoError(t, err) + b2, err := json.MarshalIndent(obj, "", " ") + require.NoError(t, err) + + requireFileMode(t, fn, 0644) + requireFileExists(t, fn) + requireFileContents(t, fn, string(b2)) + requireFileNotExists(t, fn+".tmp") +} + +func TestSaveJSONSafe(t *testing.T) { + fn := "test.json" + defer cleanup(fn) + obj := struct { + Key string `json:"key"` + }{Key: "value"} + err := SaveJSONSafe(fn, obj, 0600) + require.NoError(t, err) + b, err := json.MarshalIndent(obj, "", " ") + require.NoError(t, err) + + requireFileExists(t, fn) + requireFileMode(t, fn, 0600) + requireFileContents(t, fn, string(b)) + + // Saving again should result in error, and original file not changed + obj.Key = "value2" + err = SaveJSONSafe(fn, obj, 0600) + require.Error(t, err) + + requireFileExists(t, fn) + requireFileContents(t, fn, string(b)) + requireFileNotExists(t, fn+".bak") + requireFileNotExists(t, fn+".tmp") +} + +func TestSaveBinary(t *testing.T) { + fn := "test.bin" + defer cleanup(fn) + b := make([]byte, 128) + rand.Read(b) + err := SaveBinary(fn, b, 0644) + require.NoError(t, err) + requireFileNotExists(t, fn+".tmp") + requireFileNotExists(t, fn+".bak") + requireFileExists(t, fn) + requireFileContentsBinary(t, fn, b) + requireFileMode(t, fn, 0644) + + b2 := make([]byte, 128) + rand.Read(b2) + require.False(t, bytes.Equal(b, b2)) + + err = SaveBinary(fn, b2, 0644) + requireFileExists(t, fn) + requireFileNotExists(t, fn+".tmp") + requireFileContentsBinary(t, fn, b2) + // requireFileContentsBinary(t, fn+".bak", b) + requireFileMode(t, fn, 0644) + // requireFileMode(t, fn+".bak", 0644) +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/hexdump.go b/vendor/github.com/skycoin/skycoin/src/util/hexdump.go new file mode 100755 index 0000000..44ba337 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/hexdump.go @@ -0,0 +1,142 @@ +package util + +import ( + "bufio" + "io" + "strconv" + "strings" + + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +// Annotation : Denotes a chunk of data to be dumped +type Annotation struct { + Name string + Size int +} + +// IAnnotationsGenerator : Interface to implement by types to use HexDump +type IAnnotationsGenerator interface { + GenerateAnnotations() []Annotation +} + +// IAnnotationsIterator : Interface to implement by types to use HexDumpFromIterator +type IAnnotationsIterator interface { + Next() (Annotation, bool) +} + +func writeHexdumpMember(offset int, size int, writer io.Writer, buffer []byte, name string) { + var hexBuff = make([]string, size) + var j = 0 + if offset+size > len(buffer) { + panic(encoder.ErrBufferUnderflow) + } + for i := offset; i < offset+size; i++ { + hexBuff[j] = strconv.FormatInt(int64(buffer[i]), 16) + j++ + } + for i := 0; i < len(hexBuff); i++ { + if len(hexBuff[i]) == 1 { + hexBuff[i] = "0" + hexBuff[i] + } + } + + var sliceContents = getSliceContentsString(hexBuff, offset) + var serialized = encoder.Serialize(sliceContents + " " + name + "\n") + + f := bufio.NewWriter(writer) + defer f.Flush() + f.Write(serialized[4:]) + +} + +func getSliceContentsString(sl []string, offset int) string { + var res = "" + var counter = 0 + var currentOff = offset + if offset != -1 { + var hex = strconv.FormatInt(int64(offset), 16) + var l = len(hex) + for i := 0; i < 4-l; i++ { + hex = "0" + hex + } + hex = "0x" + hex + res += hex + " | " + } + for i := 0; i < len(sl); i++ { + counter++ + res += sl[i] + " " + if counter == 16 { + if i != len(sl)-1 { + res = strings.TrimRight(res, " ") + res += "\n" + currentOff += 16 + if offset != -1 { + //res += " " //9 spaces + var hex = strconv.FormatInt(int64(currentOff), 16) + var l = len(hex) + for i := 0; i < 4-l; i++ { + hex = "0" + hex + } + hex = "0x" + hex + res += hex + " | " + } + counter = 0 + } else { + res += "..." + return res + } + } + } + for i := 0; i < (16 - counter); i++ { + res += "..." + } + res += "..." + return res +} + +func printFinalHex(i int, writer io.Writer) { + var finalHex = strconv.FormatInt(int64(i), 16) + var l = len(finalHex) + for i := 0; i < 4-l; i++ { + finalHex = "0" + finalHex + } + finalHex = "0x" + finalHex + finalHex = finalHex + " | " + + var serialized = encoder.Serialize(finalHex) + + f := bufio.NewWriter(writer) + defer f.Flush() + f.Write(serialized[4:]) +} + +// HexDump : Returns hexdump of buffer according to annotations, via writer +func HexDump(buffer []byte, annotations []Annotation, writer io.Writer) { + var currentOffset = 0 + + for _, element := range annotations { + writeHexdumpMember(currentOffset, element.Size, writer, buffer, element.Name) + currentOffset += element.Size + } + + printFinalHex(currentOffset, writer) +} + +// HexDumpFromIterator : Returns hexdump of buffer according to annotationsIterator, via writer +func HexDumpFromIterator(buffer []byte, annotationsIterator IAnnotationsIterator, writer io.Writer) { + var currentOffset = 0 + + var current, valid = annotationsIterator.Next() + + for { + if !valid { + break + } + writeHexdumpMember(currentOffset, current.Size, writer, buffer, current.Name) + currentOffset += current.Size + current, valid = annotationsIterator.Next() + } + + printFinalHex(currentOffset, writer) +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/http/error.go b/vendor/github.com/skycoin/skycoin/src/util/http/error.go new file mode 100755 index 0000000..14e23d4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/http/error.go @@ -0,0 +1,107 @@ +// Package httphelper HTTP Error Response Helpers +package httphelper + +import ( + "encoding/json" + "fmt" + "net/http" + + "github.com/skycoin/skycoin/src/util/logging" +) + +// HTTPError wraps http.Error +func HTTPError(w http.ResponseWriter, status int, httpMsg string) { + msg := fmt.Sprintf("%d %s", status, httpMsg) + http.Error(w, msg, status) +} + +func httpError(w http.ResponseWriter, status int) { + HTTPError(w, status, http.StatusText(status)) +} + +func errorXXXMsg(w http.ResponseWriter, status int, msg string) { + httpMsg := http.StatusText(status) + if msg != "" { + httpMsg = fmt.Sprintf("%s - %s", httpMsg, msg) + } + HTTPError(w, status, httpMsg) +} + +func errorXXXJSONOr500(log *logging.Logger, w http.ResponseWriter, status int, m interface{}) { + out, err := json.MarshalIndent(m, "", " ") + if err != nil { + Error500(w, "json.MarshalIndent failed") + return + } + + w.Header().Add("Content-Type", "application/json") + w.WriteHeader(status) + if _, err := w.Write(out); err != nil { + log.WithError(err).Error("http write failed") + } +} + +// Error400 respond with a 400 error and include a message +func Error400(w http.ResponseWriter, msg string) { + errorXXXMsg(w, http.StatusBadRequest, msg) +} + +// Error400JSONOr500 returns a 400 error with an object as JSON, writting a 500 error if it fails +func Error400JSONOr500(log *logging.Logger, w http.ResponseWriter, m interface{}) { + errorXXXJSONOr500(log, w, http.StatusBadRequest, m) +} + +// Error401 respond with a 401 error +func Error401(w http.ResponseWriter, auth, msg string) { + w.Header().Set("WWW-Authenticate", auth) + httpMsg := http.StatusText(http.StatusUnauthorized) + if msg != "" { + httpMsg = fmt.Sprintf("%s - %s", httpMsg, msg) + } + HTTPError(w, http.StatusUnauthorized, httpMsg) +} + +// Error403 respond with a 403 error and include a message +func Error403(w http.ResponseWriter, msg string) { + errorXXXMsg(w, http.StatusForbidden, msg) +} + +// Error404 respond with a 404 error and include a message +func Error404(w http.ResponseWriter, msg string) { + errorXXXMsg(w, http.StatusNotFound, msg) +} + +// Error405 respond with a 405 error +func Error405(w http.ResponseWriter) { + httpError(w, http.StatusMethodNotAllowed) +} + +// Error415 respond with a 415 error +func Error415(w http.ResponseWriter) { + httpError(w, http.StatusUnsupportedMediaType) +} + +// Error422 response with a 422 error and include a message +func Error422(w http.ResponseWriter, msg string) { + errorXXXMsg(w, http.StatusUnprocessableEntity, msg) +} + +// Error422JSONOr500 returns a 422 error with an object as JSON, writting a 500 error if it fails +func Error422JSONOr500(log *logging.Logger, w http.ResponseWriter, m interface{}) { + errorXXXJSONOr500(log, w, http.StatusUnprocessableEntity, m) +} + +// Error501 respond with a 501 error +func Error501(w http.ResponseWriter) { + httpError(w, http.StatusNotImplemented) +} + +// Error500 respond with a 500 error and include a message +func Error500(w http.ResponseWriter, msg string) { + errorXXXMsg(w, http.StatusInternalServerError, msg) +} + +// Error503 respond with a 503 error and include a message +func Error503(w http.ResponseWriter, msg string) { + errorXXXMsg(w, http.StatusServiceUnavailable, msg) +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/http/handler.go b/vendor/github.com/skycoin/skycoin/src/util/http/handler.go new file mode 100755 index 0000000..222d47b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/http/handler.go @@ -0,0 +1,60 @@ +package httphelper + +import ( + "fmt" + "net/http" + "strings" + + "github.com/skycoin/skycoin/src/util/iputil" + "github.com/skycoin/skycoin/src/util/logging" +) + +// ContentSecurityPolicy represents the value of content-security-policy +// header in http response +const ContentSecurityPolicy = "script-src 'self' 127.0.0.1" + +// HostCheck checks that the request's Host header is 127.0.0.1:$port or localhost:$port +// if the HTTP interface host is also a localhost address. +// This prevents DNS rebinding attacks, where an attacker uses a DNS rebinding service +// to bypass CORS checks. +// If the HTTP interface host is not a localhost address, +// the Host header is not checked. This is considered a public interface. +// If the Host header is not set, it is not checked. +// All major browsers send the Host header as required by the HTTP spec. +// TODO: move this back into gui/ library after webrpc interface is removed +func HostCheck(logger *logging.Logger, host string, handler http.Handler) http.Handler { + addr := host + var port uint16 + if strings.Contains(host, ":") { + var err error + addr, port, err = iputil.SplitAddr(host) + if err != nil { + logger.Panic(err) + } + } + + isLocalhost := iputil.IsLocalhost(addr) + + if isLocalhost && port == 0 { + logger.Panic("localhost with no port specified is unsupported") + } + + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + // NOTE: The "Host" header is not in http.Request.Header, it's put in the http.Request.Host field + if r.Host != "" && isLocalhost && r.Host != fmt.Sprintf("127.0.0.1:%d", port) && r.Host != fmt.Sprintf("localhost:%d", port) { + logger.Critical().Errorf("Detected DNS rebind attempt - configured-host=%s header-host=%s", host, r.Host) + Error403(w, "") + return + } + + handler.ServeHTTP(w, r) + }) +} + +// CSPHandler enables CSP +func CSPHandler(handler http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Security-Policy", ContentSecurityPolicy) + handler.ServeHTTP(w, r) + }) +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/http/json.go b/vendor/github.com/skycoin/skycoin/src/util/http/json.go new file mode 100755 index 0000000..6ddedfd --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/http/json.go @@ -0,0 +1,190 @@ +package httphelper + +// Utilities for sending JSON + +import ( + "encoding/json" + "fmt" + "net/http" + "strconv" + "time" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/util/logging" +) + +// SendJSONOr500 writes an object as JSON, writing a 500 error if it fails +func SendJSONOr500(log *logging.Logger, w http.ResponseWriter, m interface{}) { + out, err := json.MarshalIndent(m, "", " ") + if err != nil { + Error500(w, "json.MarshalIndent failed") + return + } + + w.Header().Add("Content-Type", "application/json") + + if _, err := w.Write(out); err != nil { + log.WithError(err).Error("http Write failed") + } +} + +// Duration JSON type copied from https://github.com/vrischmann/jsonutil, MIT License + +// Duration is a wrapper around time.Duration which implements json.Unmarshaler and json.Marshaler. +// It marshals and unmarshals the duration as a string in the format accepted by time.ParseDuration and returned by time.Duration.String. +type Duration struct { + time.Duration +} + +// FromDuration is a convenience factory to create a Duration instance from the +// given time.Duration value. +func FromDuration(d time.Duration) Duration { + return Duration{d} +} + +// MarshalJSON implements the json.Marshaler interface. The duration is a quoted-string in the format accepted by time.ParseDuration and returned by time.Duration.String. +func (d Duration) MarshalJSON() ([]byte, error) { + return []byte(`"` + d.String() + `"`), nil +} + +// UnmarshalJSON implements the json.Unmarshaler interface. The duration is expected to be a quoted-string of a duration in the format accepted by time.ParseDuration. +func (d *Duration) UnmarshalJSON(data []byte) error { + var s string + if err := json.Unmarshal(data, &s); err != nil { + return err + } + + tmp, err := time.ParseDuration(s) + if err != nil { + return err + } + + d.Duration = tmp + + return nil +} + +// Address is a wrapper around cipher.Address which implements json.Unmarshaler and json.Marshaler. +// It marshals and unmarshals the address as a string +type Address struct { + cipher.Address +} + +// UnmarshalJSON unmarshals a string address to a cipher.Address +func (a *Address) UnmarshalJSON(b []byte) error { + var s string + if err := json.Unmarshal(b, &s); err != nil { + return err + } + + tmp, err := cipher.DecodeBase58Address(s) + if err != nil { + return fmt.Errorf("invalid address: %v", err) + } + + a.Address = tmp + + return nil +} + +// MarshalJSON marshals a cipher.Address in its string representation +func (a Address) MarshalJSON() ([]byte, error) { + return []byte(`"` + a.Address.String() + `"`), nil +} + +// SHA256 is a wrapper around cipher.SHA256 which implements json.Unmarshaler and json.Marshaler. +// It marshals and unmarshals the address as a string +type SHA256 struct { + cipher.SHA256 +} + +// UnmarshalJSON unmarshals a string address to a cipher.SHA256 +func (a *SHA256) UnmarshalJSON(b []byte) error { + var s string + if err := json.Unmarshal(b, &s); err != nil { + return err + } + + tmp, err := cipher.SHA256FromHex(s) + if err != nil { + return fmt.Errorf("invalid SHA256 hash: %v", err) + } + + a.SHA256 = tmp + + return nil +} + +// MarshalJSON marshals a cipher.SHA256 in its string representation +func (a SHA256) MarshalJSON() ([]byte, error) { + return []byte(`"` + a.SHA256.Hex() + `"`), nil +} + +// Coins is a wrapper around uint64 which implements json.Unmarshaler and json.Marshaler. +// It unmarshals a fixed-point decimal string to droplets and vice versa +type Coins uint64 + +// UnmarshalJSON unmarshals a fixed-point decimal string to droplets +func (c *Coins) UnmarshalJSON(b []byte) error { + var s string + if err := json.Unmarshal(b, &s); err != nil { + return err + } + + tmp, err := droplet.FromString(s) + if err != nil { + return err + } + + *c = Coins(tmp) + + return nil +} + +// MarshalJSON marshals droplets to a fixed-point decimal string +func (c Coins) MarshalJSON() ([]byte, error) { + s, err := droplet.ToString(uint64(c)) + if err != nil { + return nil, err + } + + return []byte(`"` + s + `"`), nil +} + +// Value returns the underlying uint64 value +func (c Coins) Value() uint64 { + return uint64(c) +} + +// Hours is a wrapper around uint64 which implements json.Unmarshaler and json.Marshaler. +// It unmarshals a fixed-point decimal string to droplets and vice versa +type Hours uint64 + +// UnmarshalJSON unmarshals a fixed-point decimal string to droplets +func (h *Hours) UnmarshalJSON(b []byte) error { + var s string + if err := json.Unmarshal(b, &s); err != nil { + return err + } + + tmp, err := strconv.ParseUint(s, 10, 64) + if err != nil { + return fmt.Errorf("invalid hours value: %v", err) + } + + *h = Hours(tmp) + + return nil +} + +// MarshalJSON marshals droplets to a fixed-point decimal string +func (h Hours) MarshalJSON() ([]byte, error) { + s := fmt.Sprint(h) + return []byte(`"` + s + `"`), nil +} + +// Value returns the underlying uint64 value +func (h Hours) Value() uint64 { + return uint64(h) +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/http/json_test.go b/vendor/github.com/skycoin/skycoin/src/util/http/json_test.go new file mode 100755 index 0000000..b4d28c8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/http/json_test.go @@ -0,0 +1,319 @@ +package httphelper + +import ( + "errors" + "fmt" + "math" + "testing" + "time" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/testutil" +) + +func TestFromDuration(t *testing.T) { + dur := 10 * time.Second + require.Equal(t, FromDuration(dur).Duration, dur) +} + +func TestDurationMarshalJSON(t *testing.T) { + d := Duration{time.Second * 10} + data, err := d.MarshalJSON() + + require.NoError(t, err) + require.Equal(t, `"10s"`, string(data)) +} + +func TestDurationUnmarshalJSON(t *testing.T) { + cases := []struct { + name string + s string + expected time.Duration + err string + }{ + { + name: "valid duration", + s: "1m", + expected: time.Minute, + }, + { + name: "invalid duration", + s: "foo", + err: "time: invalid duration foo", + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + var d Duration + err := d.UnmarshalJSON([]byte(fmt.Sprintf(`"%s"`, tc.s))) + + if tc.err != "" { + require.Equal(t, errors.New(tc.err), err) + } else { + require.NoError(t, err) + require.Equal(t, tc.expected, d.Duration) + } + + }) + } + + var d Duration + err := d.UnmarshalJSON([]byte("invalidjson")) + testutil.RequireError(t, err, "invalid character 'i' looking for beginning of value") +} + +func TestAddressMarshalJSON(t *testing.T) { + addrStr := "2bfYafFtdkCRNcCyuDvsATV66GvBR9xfvjy" + addrInner, err := cipher.DecodeBase58Address(addrStr) + require.NoError(t, err) + + addr := Address{addrInner} + + data, err := addr.MarshalJSON() + require.NoError(t, err) + require.Equal(t, `"2bfYafFtdkCRNcCyuDvsATV66GvBR9xfvjy"`, string(data)) +} + +func TestAddressUnmarshalJSON(t *testing.T) { + cases := []struct { + name string + addr string + err string + }{ + { + name: "empty address", + addr: "", + err: "invalid address: Invalid base58 string", + }, + { + name: "short address", + addr: "xxx", + err: "invalid address: Invalid address length", + }, + { + name: "invalid base58 address", + addr: "2blYafFtdkCRNcCyuDvsATV66GvBR9xfvjy", + err: "invalid address: Invalid base58 character", + }, + { + name: "valid address", + addr: "2bfYafFtdkCRNcCyuDvsATV66GvBR9xfvjy", + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + var a Address + err := a.UnmarshalJSON([]byte(fmt.Sprintf(`"%s"`, tc.addr))) + if tc.err != "" { + require.Equal(t, errors.New(tc.err), err) + } else { + require.NoError(t, err) + addr, err := cipher.DecodeBase58Address(tc.addr) + require.NoError(t, err) + + require.Equal(t, addr, a.Address) + } + }) + } + + var a Address + err := a.UnmarshalJSON([]byte("invalidjson")) + testutil.RequireError(t, err, "invalid character 'i' looking for beginning of value") +} + +func TestCoinsMarshalJSON(t *testing.T) { + c := Coins(111) + + data, err := c.MarshalJSON() + require.NoError(t, err) + require.Equal(t, `"0.000111"`, string(data)) + + c = Coins(math.MaxUint64) + _, err = c.MarshalJSON() + testutil.RequireError(t, err, "Droplet string conversion failed: Value is too large") +} + +func TestCoinsUnmarshalJSON(t *testing.T) { + cases := []struct { + c string + expected uint64 + err string + }{ + { + c: "-1", + err: "Droplet string conversion failed: Negative balance", + }, + { + c: "0", + expected: 0, + }, + { + c: "0.1234567", + err: "Droplet string conversion failed: Too many decimal places", + }, + { + c: "1.001", + expected: 1001e3, + }, + { + c: "1.234567", + expected: 1234567, + }, + { + c: "9", + expected: 9e6, + }, + { + c: ".", + err: "can't convert . to decimal", + }, + { + c: "inf", + err: "can't convert inf to decimal", + }, + { + c: "9223372036854.775807", + expected: uint64(math.MaxInt64), + }, + } + + for _, tc := range cases { + t.Run(fmt.Sprint(tc.c), func(t *testing.T) { + var c Coins + err := c.UnmarshalJSON([]byte(fmt.Sprintf(`"%s"`, tc.c))) + if tc.err != "" { + require.Equal(t, errors.New(tc.err), err) + } else { + require.NoError(t, err) + require.Equal(t, tc.expected, c.Value()) + } + }) + } + + var c Coins + err := c.UnmarshalJSON([]byte("invalidjson")) + testutil.RequireError(t, err, "invalid character 'i' looking for beginning of value") +} + +func TestHoursMarshalJSON(t *testing.T) { + c := Hours(111) + + data, err := c.MarshalJSON() + require.NoError(t, err) + require.Equal(t, `"111"`, string(data)) +} + +func TestHoursUnmarshalJSON(t *testing.T) { + cases := []struct { + c string + expected uint64 + err string + }{ + { + c: "-1", + err: "invalid hours value: strconv.ParseUint: parsing \"-1\": invalid syntax", + }, + { + c: "0", + expected: 0, + }, + { + c: "0.1", + err: "invalid hours value: strconv.ParseUint: parsing \"0.1\": invalid syntax", + }, + { + c: "9", + expected: 9, + }, + { + c: ".", + err: "invalid hours value: strconv.ParseUint: parsing \".\": invalid syntax", + }, + { + c: "inf", + err: "invalid hours value: strconv.ParseUint: parsing \"inf\": invalid syntax", + }, + } + + for _, tc := range cases { + t.Run(fmt.Sprint(tc.c), func(t *testing.T) { + var c Hours + err := c.UnmarshalJSON([]byte(fmt.Sprintf(`"%s"`, tc.c))) + if tc.err != "" { + require.Equal(t, errors.New(tc.err), err) + } else { + require.NoError(t, err) + require.Equal(t, tc.expected, c.Value()) + } + }) + } + + var c Hours + err := c.UnmarshalJSON([]byte("invalidjson")) + testutil.RequireError(t, err, "invalid character 'i' looking for beginning of value") +} + +func TestSHA256MarshalJSON(t *testing.T) { + hash := "97dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d" + + c := SHA256{cipher.MustSHA256FromHex(hash)} + + data, err := c.MarshalJSON() + require.NoError(t, err) + require.Equal(t, `"97dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d"`, string(data)) +} + +func TestSHA256UnmarshalJSON(t *testing.T) { + cases := []struct { + c string + expected cipher.SHA256 + err string + }{ + { + c: "", + err: "invalid SHA256 hash: Invalid hex length", + }, + + { + c: "foo", + err: "invalid SHA256 hash: encoding/hex: invalid byte: U+006F 'o'", + }, + + { + c: "97dd0628", + err: "invalid SHA256 hash: Invalid hex length", + }, + + { + c: "97dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d97", + err: "invalid SHA256 hash: Invalid hex length", + }, + + { + c: "97dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11Q", + err: "invalid SHA256 hash: encoding/hex: invalid byte: U+0051 'Q'", + }, + + { + c: "97dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d", + expected: cipher.MustSHA256FromHex("97dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d"), + }, + } + + for _, tc := range cases { + t.Run(tc.c, func(t *testing.T) { + var c SHA256 + err := c.UnmarshalJSON([]byte(fmt.Sprintf(`"%s"`, tc.c))) + if tc.err != "" { + require.Equal(t, errors.New(tc.err), err) + } else { + require.NoError(t, err) + require.Equal(t, tc.expected, c.SHA256) + } + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/http/log.go b/vendor/github.com/skycoin/skycoin/src/util/http/log.go new file mode 100755 index 0000000..d077d0c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/http/log.go @@ -0,0 +1,49 @@ +package httphelper + +import ( + "bytes" + "net/http" + "strings" + "time" + + "github.com/sirupsen/logrus" +) + +// ElapsedHandler records and logs an HTTP request with the elapsed time and status code +func ElapsedHandler(logger logrus.FieldLogger, handler http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + lrw := newWrappedResponseWriter(w) + start := time.Now() + handler.ServeHTTP(lrw, r) + logMethod := logger.Infof + if lrw.statusCode >= 400 { + logMethod = logger.WithFields(logrus.Fields{ + "body": strings.TrimSpace(lrw.response.String()), + }).Errorf + } + logMethod("%d %s %s %s", lrw.statusCode, r.Method, r.URL.Path, time.Since(start)) + }) +} + +type wrappedResponseWriter struct { + http.ResponseWriter + statusCode int + response bytes.Buffer +} + +func newWrappedResponseWriter(w http.ResponseWriter) *wrappedResponseWriter { + return &wrappedResponseWriter{w, http.StatusOK, bytes.Buffer{}} +} + +func (lrw *wrappedResponseWriter) WriteHeader(code int) { + lrw.statusCode = code + lrw.ResponseWriter.WriteHeader(code) +} + +func (lrw *wrappedResponseWriter) Write(buff []byte) (int, error) { + retVal, err := lrw.ResponseWriter.Write(buff) + if lrw.statusCode >= 400 { + lrw.response.Write(buff) + } + return retVal, err +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/iputil/iputil.go b/vendor/github.com/skycoin/skycoin/src/util/iputil/iputil.go new file mode 100755 index 0000000..f367445 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/iputil/iputil.go @@ -0,0 +1,55 @@ +package iputil + +import ( + "errors" + "fmt" + "net" + "strconv" +) + +// LocalhostIP returns the address for localhost on the machine +func LocalhostIP() (string, error) { + tt, err := net.Interfaces() + if err != nil { + return "", err + } + for _, t := range tt { + aa, err := t.Addrs() + if err != nil { + return "", err + } + for _, a := range aa { + if ipnet, ok := a.(*net.IPNet); ok && ipnet.IP.IsLoopback() { + return ipnet.IP.String(), nil + } + } + } + return "", errors.New("No local IP found") +} + +// IsLocalhost returns true if addr is a localhost address +// Works for both ipv4 and ipv6 addresses. +func IsLocalhost(addr string) bool { + return net.ParseIP(addr).IsLoopback() || addr == "localhost" +} + +// SplitAddr splits an ip:port string to ip, port. +// Works for both ipv4 and ipv6 addresses. +// If the IP is not specified, returns an error. +func SplitAddr(addr string) (string, uint16, error) { + ip, port, err := net.SplitHostPort(addr) + if err != nil { + return "", 0, err + } + + if ip == "" { + return "", 0, fmt.Errorf("IP missing from %s", addr) + } + + port64, err := strconv.ParseUint(port, 10, 16) + if err != nil { + return "", 0, fmt.Errorf("Invalid port in %s", addr) + } + + return ip, uint16(port64), nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/iputil/iputil_test.go b/vendor/github.com/skycoin/skycoin/src/util/iputil/iputil_test.go new file mode 100755 index 0000000..bc2280e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/iputil/iputil_test.go @@ -0,0 +1,124 @@ +package iputil + +import ( + "fmt" + "net" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestIsLocalhost(t *testing.T) { + testData := []struct { + host string + expected bool + }{ + { + host: "0:0:0:0:0:0:0:1", + expected: true, + }, + { + host: "localhost", + expected: true, + }, + { + host: "127.0.0.1", + expected: true, + }, + { + host: "localhost", + expected: true, + }, + { + host: "85.56.12.34", + expected: false, + }, + { + host: "::1", + expected: true, + }, + { + host: "::", + expected: false, + }, + { + host: "2001:0db8:85a3:0000:0000:8a2e:0370:7334", + expected: false, + }, + { + host: "", + expected: false, + }, + } + + for _, tc := range testData { + t.Run(tc.host, func(t *testing.T) { + actual := IsLocalhost(tc.host) + require.Equal(t, tc.expected, actual) + }) + } +} + +func TestSplitAddr(t *testing.T) { + testData := []struct { + input string + host string + port uint16 + err error + }{ + { + input: "0.0.0.0:8888", + host: "0.0.0.0", + port: 8888, + }, + { + input: "0.0.0.0:", + err: fmt.Errorf("Invalid port in %s", "0.0.0.0:"), + }, + { + input: "0.0.0.0:x", + err: fmt.Errorf("Invalid port in %s", "0.0.0.0:x"), + }, + { + input: ":9999", + err: fmt.Errorf("IP missing from %s", ":9999"), + }, + { + input: "127.0.0.1", + err: &net.AddrError{ + Err: "missing port in address", + Addr: "127.0.0.1", + }, + }, + { + input: "[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:1234", + host: "2001:0db8:85a3:0000:0000:8a2e:0370:7334", + port: 1234, + }, + { + input: "[::]:1234", + host: "::", + port: 1234, + }, + { + input: "[::]:x", + err: fmt.Errorf("Invalid port in %s", "[::]:x"), + }, + } + + for _, tc := range testData { + t.Run(tc.input, func(t *testing.T) { + addr, port, err := SplitAddr(tc.input) + + if tc.err != nil { + require.Equal(t, tc.err, err) + return + } + + require.NoError(t, err) + + require.Equal(t, tc.host, addr) + require.Equal(t, tc.port, port) + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/logging/formatter.go b/vendor/github.com/skycoin/skycoin/src/util/logging/formatter.go new file mode 100755 index 0000000..6fb9f73 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/logging/formatter.go @@ -0,0 +1,441 @@ +package logging + +import ( + "bytes" + "fmt" + "io" + "os" + "sort" + "strings" + "sync" + "time" + + "github.com/mgutz/ansi" + "github.com/sirupsen/logrus" + "golang.org/x/crypto/ssh/terminal" +) + +const defaultTimestampFormat = time.RFC3339 + +var ( + baseTimestamp = time.Now() + defaultColorScheme = &ColorScheme{ + InfoLevelStyle: "green", + WarnLevelStyle: "yellow", + ErrorLevelStyle: "red", + FatalLevelStyle: "red", + PanicLevelStyle: "red", + DebugLevelStyle: "blue", + PrefixStyle: "cyan", + TimestampStyle: "black+h", + CallContextStyle: "black+h", + CriticalStyle: "magenta+h", + } + noColorsColorScheme = &compiledColorScheme{ + InfoLevelColor: ansi.ColorFunc(""), + WarnLevelColor: ansi.ColorFunc(""), + ErrorLevelColor: ansi.ColorFunc(""), + FatalLevelColor: ansi.ColorFunc(""), + PanicLevelColor: ansi.ColorFunc(""), + DebugLevelColor: ansi.ColorFunc(""), + PrefixColor: ansi.ColorFunc(""), + TimestampColor: ansi.ColorFunc(""), + CallContextColor: ansi.ColorFunc(""), + CriticalColor: ansi.ColorFunc(""), + } + defaultCompiledColorScheme = compileColorScheme(defaultColorScheme) +) + +func miniTS() int { + return int(time.Since(baseTimestamp) / time.Second) +} + +// ColorScheme configures the logging output colors +type ColorScheme struct { + InfoLevelStyle string + WarnLevelStyle string + ErrorLevelStyle string + FatalLevelStyle string + PanicLevelStyle string + DebugLevelStyle string + PrefixStyle string + TimestampStyle string + CallContextStyle string + CriticalStyle string +} + +type compiledColorScheme struct { + InfoLevelColor func(string) string + WarnLevelColor func(string) string + ErrorLevelColor func(string) string + FatalLevelColor func(string) string + PanicLevelColor func(string) string + DebugLevelColor func(string) string + PrefixColor func(string) string + TimestampColor func(string) string + CallContextColor func(string) string + CriticalColor func(string) string +} + +// TextFormatter formats log output +type TextFormatter struct { + // Set to true to bypass checking for a TTY before outputting colors. + ForceColors bool + + // Force disabling colors. For a TTY colors are enabled by default. + DisableColors bool + + // Force formatted layout, even for non-TTY output. + ForceFormatting bool + + // Disable timestamp logging. useful when output is redirected to logging + // system that already adds timestamps. + DisableTimestamp bool + + // Disable the conversion of the log levels to uppercase + DisableUppercase bool + + // Enable logging the full timestamp when a TTY is attached instead of just + // the time passed since beginning of execution. + FullTimestamp bool + + // Timestamp format to use for display when a full timestamp is printed. + TimestampFormat string + + // The fields are sorted by default for a consistent output. For applications + // that log extremely frequently and don't use the JSON formatter this may not + // be desired. + DisableSorting bool + + // Wrap empty fields in quotes if true. + QuoteEmptyFields bool + + // Can be set to the override the default quoting character " + // with something else. For example: ', or `. + QuoteCharacter string + + // Pad msg field with spaces on the right for display. + // The value for this parameter will be the size of padding. + // Its default value is zero, which means no padding will be applied for msg. + SpacePadding int + + // Always use quotes for string values (except for empty fields) + AlwaysQuoteStrings bool + + // Color scheme to use. + colorScheme *compiledColorScheme + + // Whether the logger's out is to a terminal. + isTerminal bool + + sync.Once +} + +func getCompiledColor(main string, fallback string) func(string) string { + var style string + if main != "" { + style = main + } else { + style = fallback + } + return ansi.ColorFunc(style) +} + +func compileColorScheme(s *ColorScheme) *compiledColorScheme { + return &compiledColorScheme{ + InfoLevelColor: getCompiledColor(s.InfoLevelStyle, defaultColorScheme.InfoLevelStyle), + WarnLevelColor: getCompiledColor(s.WarnLevelStyle, defaultColorScheme.WarnLevelStyle), + ErrorLevelColor: getCompiledColor(s.ErrorLevelStyle, defaultColorScheme.ErrorLevelStyle), + FatalLevelColor: getCompiledColor(s.FatalLevelStyle, defaultColorScheme.FatalLevelStyle), + PanicLevelColor: getCompiledColor(s.PanicLevelStyle, defaultColorScheme.PanicLevelStyle), + DebugLevelColor: getCompiledColor(s.DebugLevelStyle, defaultColorScheme.DebugLevelStyle), + PrefixColor: getCompiledColor(s.PrefixStyle, defaultColorScheme.PrefixStyle), + TimestampColor: getCompiledColor(s.TimestampStyle, defaultColorScheme.TimestampStyle), + CallContextColor: getCompiledColor(s.CallContextStyle, defaultColorScheme.CallContextStyle), + CriticalColor: getCompiledColor(s.CriticalStyle, defaultColorScheme.CriticalStyle), + } +} + +func (f *TextFormatter) init(entry *logrus.Entry) { + if len(f.QuoteCharacter) == 0 { + f.QuoteCharacter = "\"" + } + if entry.Logger != nil { + f.isTerminal = f.checkIfTerminal(entry.Logger.Out) + } +} + +func (f *TextFormatter) checkIfTerminal(w io.Writer) bool { + switch v := w.(type) { + case *os.File: + return terminal.IsTerminal(int(v.Fd())) + default: + return false + } +} + +// SetColorScheme sets the TextFormatter's color scheme configuration +func (f *TextFormatter) SetColorScheme(colorScheme *ColorScheme) { + f.colorScheme = compileColorScheme(colorScheme) +} + +// Format formats a logrus.Entry +func (f *TextFormatter) Format(entry *logrus.Entry) ([]byte, error) { + var b *bytes.Buffer + keys := make([]string, 0, len(entry.Data)) + for k := range entry.Data { + keys = append(keys, k) + } + lastKeyIdx := len(keys) - 1 + + if !f.DisableSorting { + sort.Strings(keys) + } + if entry.Buffer != nil { + b = entry.Buffer + } else { + b = &bytes.Buffer{} + } + + f.Do(func() { f.init(entry) }) + + isFormatted := f.ForceFormatting || f.isTerminal + + timestampFormat := f.TimestampFormat + if timestampFormat == "" { + timestampFormat = defaultTimestampFormat + } + if isFormatted { + isColored := (f.ForceColors || f.isTerminal) && !f.DisableColors + var colorScheme *compiledColorScheme + if isColored { + if f.colorScheme == nil { + colorScheme = defaultCompiledColorScheme + } else { + colorScheme = f.colorScheme + } + } else { + colorScheme = noColorsColorScheme + } + f.printColored(b, entry, keys, timestampFormat, colorScheme) + } else { + if !f.DisableTimestamp { + f.appendKeyValue(b, "time", entry.Time.Format(timestampFormat), true) + } + f.appendKeyValue(b, "level", entry.Level.String(), true) + if entry.Message != "" { + f.appendKeyValue(b, "msg", entry.Message, lastKeyIdx >= 0) + } + for i, key := range keys { + f.appendKeyValue(b, key, entry.Data[key], lastKeyIdx != i) + } + } + + b.WriteByte('\n') + return b.Bytes(), nil +} + +func (f *TextFormatter) printColored(b *bytes.Buffer, entry *logrus.Entry, keys []string, timestampFormat string, colorScheme *compiledColorScheme) { + var levelColor func(string) string + var levelText string + switch entry.Level { + case logrus.InfoLevel: + levelColor = colorScheme.InfoLevelColor + case logrus.WarnLevel: + levelColor = colorScheme.WarnLevelColor + case logrus.ErrorLevel: + levelColor = colorScheme.ErrorLevelColor + case logrus.FatalLevel: + levelColor = colorScheme.FatalLevelColor + case logrus.PanicLevel: + levelColor = colorScheme.PanicLevelColor + default: + levelColor = colorScheme.DebugLevelColor + } + + priority, ok := entry.Data[logPriorityKey] + hasPriority := ok && priority == logPriorityCritical + + if entry.Level != logrus.WarnLevel { + levelText = entry.Level.String() + } else { + levelText = "warn" + } + + if !f.DisableUppercase { + levelText = strings.ToUpper(levelText) + } + + level := levelColor(levelText) + message := entry.Message + prefix := "" + + prefixText := extractPrefix(entry) + if prefixText != "" { + prefixText = " " + prefixText + ":" + prefix = colorScheme.PrefixColor(prefixText) + } + + messageFormat := "%s" + if f.SpacePadding != 0 { + messageFormat = fmt.Sprintf("%%-%ds", f.SpacePadding) + } + if message != "" { + messageFormat = " " + messageFormat + } + + callContextParts := []string{} + if ifile, ok := entry.Data["file"]; ok { + if sfile, ok := ifile.(string); ok && sfile != "" { + callContextParts = append(callContextParts, sfile) + } + } + if ifunc, ok := entry.Data["func"]; ok { + if sfunc, ok := ifunc.(string); ok && sfunc != "" { + callContextParts = append(callContextParts, sfunc) + } + } + if iline, ok := entry.Data["line"]; ok { + sline := "" + switch iline := iline.(type) { + case string: + sline = iline + case int, uint, int32, int64, uint32, uint64: + sline = fmt.Sprint(iline) + } + if sline != "" { + callContextParts = append(callContextParts, fmt.Sprint(sline)) + } + } + callContextText := strings.Join(callContextParts, ":") + callContext := colorScheme.CallContextColor(callContextText) + if callContext != "" { + callContext = " " + callContext + } + + if f.DisableTimestamp { + if hasPriority { + str := fmt.Sprintf("%s%s%s"+messageFormat, levelText, callContextText, prefixText, message) + fmt.Fprint(b, colorScheme.CriticalColor(str)) + } else { + fmt.Fprintf(b, "%s%s%s"+messageFormat, level, callContext, prefix, message) + } + } else { + var timestamp string + if !f.FullTimestamp { + timestamp = fmt.Sprintf("[%04d]", miniTS()) + } else { + timestamp = fmt.Sprintf("[%s]", entry.Time.Format(timestampFormat)) + } + + coloredTimestamp := colorScheme.TimestampColor(timestamp) + + if hasPriority { + str := fmt.Sprintf("%s %s%s%s"+messageFormat, timestamp, levelText, callContextText, prefixText, message) + fmt.Fprint(b, colorScheme.CriticalColor(str)) + } else { + fmt.Fprintf(b, "%s %s%s%s"+messageFormat, coloredTimestamp, level, callContext, prefix, message) + } + } + + for _, k := range keys { + if k != "prefix" && k != "file" && k != "func" && k != "line" && k != logPriorityKey && k != logModuleKey { + v := entry.Data[k] + fmt.Fprintf(b, " %s", f.formatKeyValue(levelColor(k), v)) + } + } +} + +func (f *TextFormatter) needsQuoting(text string) bool { + if len(text) == 0 { + return f.QuoteEmptyFields + } + + if f.AlwaysQuoteStrings { + return true + } + + for _, ch := range text { + if !((ch >= 'a' && ch <= 'z') || + (ch >= 'A' && ch <= 'Z') || + (ch >= '0' && ch <= '9') || + ch == '-' || ch == '.') { + return true + } + } + + return false +} + +func extractPrefix(e *logrus.Entry) string { + var module string + if iModule, ok := e.Data[logModuleKey]; ok { + module, _ = iModule.(string) + } + + var priority string + if iPriority, ok := e.Data[logPriorityKey]; ok { + priority, _ = iPriority.(string) + } + + switch { + case priority == "": + return fmt.Sprintf("[%s]", module) + case module == "": + return fmt.Sprintf("[%s]", priority) + default: + return fmt.Sprintf("[%s:%s]", module, priority) + } +} + +func (f *TextFormatter) formatKeyValue(key string, value interface{}) string { + return fmt.Sprintf("%s=%s", key, f.formatValue(value)) +} + +func (f *TextFormatter) formatValue(value interface{}) string { + switch value := value.(type) { + case string: + if f.needsQuoting(value) { + return fmt.Sprintf("%s%+v%s", f.QuoteCharacter, value, f.QuoteCharacter) + } + return value + case error: + errmsg := value.Error() + if f.needsQuoting(errmsg) { + return fmt.Sprintf("%s%+v%s", f.QuoteCharacter, errmsg, f.QuoteCharacter) + } + return errmsg + default: + return fmt.Sprintf("%+v", value) + } +} + +func (f *TextFormatter) appendKeyValue(b *bytes.Buffer, key string, value interface{}, appendSpace bool) { + b.WriteString(key) + b.WriteByte('=') + f.appendValue(b, value) + + if appendSpace { + b.WriteByte(' ') + } +} + +func (f *TextFormatter) appendValue(b *bytes.Buffer, value interface{}) { + switch value := value.(type) { + case string: + if f.needsQuoting(value) { + fmt.Fprintf(b, "%s%+v%s", f.QuoteCharacter, value, f.QuoteCharacter) + } else { + b.WriteString(value) + } + case error: + errmsg := value.Error() + if f.needsQuoting(errmsg) { + fmt.Fprintf(b, "%s%+v%s", f.QuoteCharacter, errmsg, f.QuoteCharacter) + } else { + b.WriteString(errmsg) + } + default: + fmt.Fprint(b, value) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/logging/hooks.go b/vendor/github.com/skycoin/skycoin/src/util/logging/hooks.go new file mode 100755 index 0000000..d8d0cc6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/logging/hooks.go @@ -0,0 +1,44 @@ +package logging + +import ( + "io" + + "github.com/sirupsen/logrus" +) + +// WriteHook is a logrus.Hook that logs to an io.Writer +type WriteHook struct { + w io.Writer + formatter logrus.Formatter +} + +// NewWriteHook returns a new WriteHook +func NewWriteHook(w io.Writer) *WriteHook { + return &WriteHook{ + w: w, + formatter: &TextFormatter{ + DisableColors: true, + FullTimestamp: true, + AlwaysQuoteStrings: true, + QuoteEmptyFields: true, + ForceFormatting: true, + }, + } +} + +// Levels returns Levels accepted by the WriteHook. +// All logrus.Levels are returned. +func (f *WriteHook) Levels() []logrus.Level { + return logrus.AllLevels +} + +// Fire writes a logrus.Entry to the file +func (f *WriteHook) Fire(e *logrus.Entry) error { + b, err := f.formatter.Format(e) + if err != nil { + return err + } + + _, err = f.w.Write(b) + return err +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/logging/logger.go b/vendor/github.com/skycoin/skycoin/src/util/logging/logger.go new file mode 100755 index 0000000..2f3b4f7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/logging/logger.go @@ -0,0 +1,71 @@ +package logging + +import ( + "os" + + "github.com/sirupsen/logrus" +) + +// Logger wraps logrus.FieldLogger +type Logger struct { + logrus.FieldLogger +} + +// Critical adds special critical-level fields for specially highlighted logging, +// since logrus lacks a distinct critical field and does not have configurable log levels +func (logger *Logger) Critical() logrus.FieldLogger { + return logger.WithField(logPriorityKey, logPriorityCritical) +} + +// MasterLogger wraps logrus.Logger and is able to create new package-aware loggers +type MasterLogger struct { + *logrus.Logger +} + +// NewMasterLogger creates a new package-aware logger with formatting string +func NewMasterLogger() *MasterLogger { + hooks := make(logrus.LevelHooks) + + return &MasterLogger{ + Logger: &logrus.Logger{ + Out: os.Stdout, + Formatter: &TextFormatter{ + FullTimestamp: true, + AlwaysQuoteStrings: true, + QuoteEmptyFields: true, + ForceFormatting: true, + DisableColors: false, + ForceColors: false, + }, + Hooks: hooks, + Level: logrus.DebugLevel, + }, + } +} + +// PackageLogger instantiates a package-aware logger +func (logger *MasterLogger) PackageLogger(moduleName string) *Logger { + return &Logger{ + FieldLogger: logger.WithField(logModuleKey, moduleName), + } +} + +// AddHook adds a logrus.Hook to the logger and its module loggers +func (logger *MasterLogger) AddHook(hook logrus.Hook) { + logger.Hooks.Add(hook) +} + +// SetLevel sets the log level for the logger and its module loggers +func (logger *MasterLogger) SetLevel(level logrus.Level) { + logger.Level = level +} + +// EnableColors enables colored logging +func (logger *MasterLogger) EnableColors() { + logger.Formatter.(*TextFormatter).DisableColors = false +} + +// DisableColors disables colored logging +func (logger *MasterLogger) DisableColors() { + logger.Formatter.(*TextFormatter).DisableColors = true +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/logging/logging.go b/vendor/github.com/skycoin/skycoin/src/util/logging/logging.go new file mode 100755 index 0000000..9ade95a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/logging/logging.go @@ -0,0 +1,76 @@ +package logging + +import ( + "errors" + "io" + "io/ioutil" + "strings" + + "github.com/sirupsen/logrus" +) + +var log = NewMasterLogger() + +const ( + // logModuleKey is the key used for the module name data entry + logModuleKey = "_module" + // logPriorityKey is the log entry key for priority log statements + logPriorityKey = "_priority" + // logPriorityCritical is the log entry value for priority log statements + logPriorityCritical = "CRITICAL" +) + +// LevelFromString returns a logrus.Level from a string identifier +func LevelFromString(s string) (logrus.Level, error) { + switch strings.ToLower(s) { + case "debug": + return logrus.DebugLevel, nil + case "info", "notice": + return logrus.InfoLevel, nil + case "warn", "warning": + return logrus.WarnLevel, nil + case "error": + return logrus.ErrorLevel, nil + case "fatal", "critical": + return logrus.FatalLevel, nil + case "panic": + return logrus.PanicLevel, nil + default: + return logrus.DebugLevel, errors.New("could not convert string to log level") + } +} + +// MustGetLogger returns a package-aware logger from the master logger +func MustGetLogger(module string) *Logger { + return log.PackageLogger(module) +} + +// AddHook adds a hook to the global logger +func AddHook(hook logrus.Hook) { + log.AddHook(hook) +} + +// EnableColors enables colored logging +func EnableColors() { + log.EnableColors() +} + +// DisableColors disables colored logging +func DisableColors() { + log.DisableColors() +} + +// SetLevel sets the logger's minimum log level +func SetLevel(level logrus.Level) { + log.SetLevel(level) +} + +// SetOutputTo sets the logger's output to an io.Writer +func SetOutputTo(w io.Writer) { + log.Out = w +} + +// Disable disables the logger completely +func Disable() { + log.Out = ioutil.Discard +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/utc/utc.go b/vendor/github.com/skycoin/skycoin/src/util/utc/utc.go new file mode 100755 index 0000000..2d6da93 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/utc/utc.go @@ -0,0 +1,16 @@ +// Package utc provides helper function to get UTC time +package utc + +import ( + "time" +) + +// Now returns the current UTC time +func Now() time.Time { + return time.Now().UTC() +} + +// UnixNow returns the current UTC time as unix timestamp +func UnixNow() int64 { + return Now().Unix() +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/utc/utc_test.go b/vendor/github.com/skycoin/skycoin/src/util/utc/utc_test.go new file mode 100755 index 0000000..55bf45b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/utc/utc_test.go @@ -0,0 +1,22 @@ +package utc + +import ( + "testing" + "time" + + "github.com/stretchr/testify/require" +) + +func TestNow(t *testing.T) { + now := Now() + require.False(t, now.IsZero()) + time.Sleep(time.Millisecond * 10) + now2 := Now() + require.True(t, now2.After(now)) +} + +func TestUnixNow(t *testing.T) { + now := Now() + unow := UnixNow() + require.True(t, now.Unix() == unow || now.Unix() == unow-1) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockchain.go b/vendor/github.com/skycoin/skycoin/src/visor/blockchain.go new file mode 100755 index 0000000..a01e332 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockchain.go @@ -0,0 +1,799 @@ +package visor + +import ( + "bytes" + "errors" + "sync" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/util/fee" + "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" + "github.com/skycoin/skycoin/src/visor/historydb" +) + +const ( + // DebugLevel1 checks for extremely unlikely conditions (10e-40) + DebugLevel1 = true + // DebugLevel2 enable checks for impossible conditions + DebugLevel2 = true +) + +var ( + // ErrVerifyStopped is returned when database verification is interrupted + ErrVerifyStopped = errors.New("database verification stopped") +) + +//Warning: 10e6 is 10 million, 1e6 is 1 million + +// Note: DebugLevel1 adds additional checks for hash collisions that +// are unlikely to occur. DebugLevel2 adds checks for conditions that +// can only occur through programmer error and malice. + +// Note: a droplet is the base coin unit. Each Skycoin is one million droplets + +//Termonology: +// UXTO - unspent transaction outputs +// UX - outputs10 +// TX - transactions + +//Notes: +// transactions (TX) consume outputs (UX) and produce new outputs (UX) +// Tx.Uxi() - set of outputs consumed by transaction +// Tx.Uxo() - set of outputs created by transaction + +// chainStore +type chainStore interface { + Head(*dbutil.Tx) (*coin.SignedBlock, error) + HeadSeq(*dbutil.Tx) (uint64, bool, error) + Len(*dbutil.Tx) (uint64, error) + AddBlock(*dbutil.Tx, *coin.SignedBlock) error + GetBlockByHash(*dbutil.Tx, cipher.SHA256) (*coin.Block, error) + GetSignedBlockByHash(*dbutil.Tx, cipher.SHA256) (*coin.SignedBlock, error) + GetSignedBlockBySeq(*dbutil.Tx, uint64) (*coin.SignedBlock, error) + UnspentPool() blockdb.UnspentPooler + GetGenesisBlock(*dbutil.Tx) (*coin.SignedBlock, error) + GetBlockSignature(*dbutil.Tx, *coin.Block) (cipher.Sig, bool, error) + ForEachBlock(*dbutil.Tx, func(*coin.Block) error) error +} + +// DefaultWalker default blockchain walker +func DefaultWalker(tx *dbutil.Tx, hps []coin.HashPair) (cipher.SHA256, bool) { + if len(hps) == 0 { + return cipher.SHA256{}, false + } + return hps[0].Hash, true +} + +// CreateBuckets creates the buckets used by the blockdb +func CreateBuckets(db *dbutil.DB) error { + return db.Update("CreateBuckets", func(tx *dbutil.Tx) error { + if err := historydb.CreateBuckets(tx); err != nil { + return err + } + + if err := blockdb.CreateBuckets(tx); err != nil { + return err + } + + return dbutil.CreateBuckets(tx, [][]byte{ + UnconfirmedTxnsBkt, + UnconfirmedUnspentsBkt, + }) + }) +} + +// BlockchainConfig configures Blockchain options +type BlockchainConfig struct { + // Arbitrating mode: if in arbitrating mode, when master node execute blocks, + // the invalid transaction will be skipped and continue the next; otherwise, + // node will throw the error and return. + Arbitrating bool + Pubkey cipher.PubKey +} + +// Blockchain maintains blockchain and provides apis for accessing the chain. +type Blockchain struct { + db *dbutil.DB + cfg BlockchainConfig + store chainStore +} + +// NewBlockchain creates a Blockchain +func NewBlockchain(db *dbutil.DB, cfg BlockchainConfig) (*Blockchain, error) { + chainstore, err := blockdb.NewBlockchain(db, DefaultWalker) + if err != nil { + return nil, err + } + + return &Blockchain{ + cfg: cfg, + db: db, + store: chainstore, + }, nil +} + +// GetGenesisBlock returns genesis block +func (bc *Blockchain) GetGenesisBlock(tx *dbutil.Tx) (*coin.SignedBlock, error) { + return bc.store.GetGenesisBlock(tx) +} + +// GetSignedBlockByHash returns block of given hash +func (bc *Blockchain) GetSignedBlockByHash(tx *dbutil.Tx, hash cipher.SHA256) (*coin.SignedBlock, error) { + return bc.store.GetSignedBlockByHash(tx, hash) +} + +// GetSignedBlockBySeq returns block of given seq +func (bc *Blockchain) GetSignedBlockBySeq(tx *dbutil.Tx, seq uint64) (*coin.SignedBlock, error) { + return bc.store.GetSignedBlockBySeq(tx, seq) +} + +// Head returns the most recent confirmed block +func (bc Blockchain) Head(tx *dbutil.Tx) (*coin.SignedBlock, error) { + return bc.store.Head(tx) +} + +// Unspent returns the unspent outputs pool +func (bc *Blockchain) Unspent() blockdb.UnspentPooler { + return bc.store.UnspentPool() +} + +// Len returns the length of current blockchain. +func (bc Blockchain) Len(tx *dbutil.Tx) (uint64, error) { + return bc.store.Len(tx) +} + +// HeadSeq returns the sequence of head block +func (bc *Blockchain) HeadSeq(tx *dbutil.Tx) (uint64, bool, error) { + return bc.store.HeadSeq(tx) +} + +// Time returns time of last block +// used as system clock indepedent clock for coin hour calculations +// TODO: Deprecate +func (bc *Blockchain) Time(tx *dbutil.Tx) (uint64, error) { + b, err := bc.Head(tx) + if err != nil { + if err == blockdb.ErrNoHeadBlock { + return 0, nil + } + return 0, err + } + + return b.Time(), nil +} + +// NewBlock creates a Block given an array of Transactions. +// Only hard constraints are applied to transactions in the block. +// The caller of this function should apply any additional soft constraints, +// and choose which transactions to place into the block. +func (bc Blockchain) NewBlock(tx *dbutil.Tx, txns coin.Transactions, currentTime uint64) (*coin.Block, error) { + if len(txns) == 0 { + return nil, errors.New("No transactions") + } + + head, err := bc.store.Head(tx) + if err != nil { + return nil, err + } + + if currentTime <= head.Time() { + return nil, errors.New("Time can only move forward") + } + + txns, err = bc.processTransactions(tx, txns) + if err != nil { + return nil, err + } + + uxHash, err := bc.Unspent().GetUxHash(tx) + if err != nil { + return nil, err + } + + feeCalc := bc.TransactionFee(tx, head.Time()) + + b, err := coin.NewBlock(head.Block, currentTime, uxHash, txns, feeCalc) + if err != nil { + return nil, err + } + + // make sure block is valid + if DebugLevel2 == true { + if err := bc.verifyBlockHeader(tx, *b); err != nil { + return nil, err + } + txns, err := bc.processTransactions(tx, b.Body.Transactions) + if err != nil { + logger.Panicf("bc.processTransactions second verification call failed: %v", err) + } + b.Body.Transactions = txns + } + return b, nil +} + +func (bc *Blockchain) processBlock(tx *dbutil.Tx, b coin.SignedBlock) (coin.SignedBlock, error) { + length, err := bc.Len(tx) + if err != nil { + return coin.SignedBlock{}, err + } + + if length > 0 { + if isGenesis, err := bc.isGenesisBlock(tx, b.Block); err != nil { + return coin.SignedBlock{}, err + } else if isGenesis { + err := errors.New("Attempted to process genesis block after blockchain has genesis block") + logger.Warning(err.Error()) + return coin.SignedBlock{}, err + } else { + if err := bc.verifyBlockHeader(tx, b.Block); err != nil { + return coin.SignedBlock{}, err + } + + txns, err := bc.processTransactions(tx, b.Body.Transactions) + if err != nil { + return coin.SignedBlock{}, err + } + + b.Body.Transactions = txns + + if err := bc.verifyUxHash(tx, b.Block); err != nil { + return coin.SignedBlock{}, err + } + + } + } + + return b, nil +} + +// ExecuteBlock attempts to append block to blockchain with *dbutil.Tx +func (bc *Blockchain) ExecuteBlock(tx *dbutil.Tx, sb *coin.SignedBlock) error { + length, err := bc.Len(tx) + if err != nil { + return err + } + + if length > 0 { + head, err := bc.Head(tx) + if err != nil { + return err + } + + // TODO -- why do we modify the block here? + sb.Head.PrevHash = head.HashHeader() + } + + nb, err := bc.processBlock(tx, *sb) + if err != nil { + return err + } + + if err := bc.store.AddBlock(tx, &nb); err != nil { + return err + } + + return nil +} + +// isGenesisBlock checks if the block is genesis block +func (bc Blockchain) isGenesisBlock(tx *dbutil.Tx, b coin.Block) (bool, error) { + gb, err := bc.store.GetGenesisBlock(tx) + if err != nil { + return false, err + } + if gb == nil { + return false, nil + } + + return gb.HashHeader() == b.HashHeader(), nil +} + +// Compares the state of the current UxHash hash to state of unspent +// output pool. +func (bc Blockchain) verifyUxHash(tx *dbutil.Tx, b coin.Block) error { + uxHash, err := bc.Unspent().GetUxHash(tx) + if err != nil { + return err + } + + if !bytes.Equal(b.Head.UxHash[:], uxHash[:]) { + return errors.New("UxHash does not match") + } + + return nil +} + +// VerifyBlockTxnConstraints checks that the transaction does not violate hard constraints, +// for transactions that are already included in a block. +func (bc Blockchain) VerifyBlockTxnConstraints(tx *dbutil.Tx, txn coin.Transaction) error { + // NOTE: Unspent().GetArray() returns an error if not all txn.In can be found + // This prevents double spends + uxIn, err := bc.Unspent().GetArray(tx, txn.In) + if err != nil { + switch err.(type) { + case blockdb.ErrUnspentNotExist: + return NewErrTxnViolatesHardConstraint(err) + default: + return err + } + } + + head, err := bc.Head(tx) + if err != nil { + return err + } + + return bc.verifyBlockTxnHardConstraints(tx, txn, head, uxIn) +} + +func (bc Blockchain) verifyBlockTxnHardConstraints(tx *dbutil.Tx, txn coin.Transaction, head *coin.SignedBlock, uxIn coin.UxArray) error { + if err := VerifyBlockTxnConstraints(txn, head, uxIn); err != nil { + return err + } + + if DebugLevel1 { + // Check that new unspents don't collide with existing. + // This should not occur but is a sanity check. + // NOTE: this is not in the top-level VerifyBlockTxnConstraints + // because it relies on the unspent pool to check for existence. + // For remote callers such as the CLI, they'd need to download the whole + // unspent pool or make a separate API call to check for duplicate unspents. + uxOut := coin.CreateUnspents(head.Head, txn) + for i := range uxOut { + if contains, err := bc.Unspent().Contains(tx, uxOut[i].Hash()); err != nil { + return err + } else if contains { + err := errors.New("New unspent collides with existing unspent") + return NewErrTxnViolatesHardConstraint(err) + } + } + } + + return nil +} + +// VerifySingleTxnHardConstraints checks that the transaction does not violate hard constraints. +// for transactions that are not included in a block. +func (bc Blockchain) VerifySingleTxnHardConstraints(tx *dbutil.Tx, txn coin.Transaction) error { + // NOTE: Unspent().GetArray() returns an error if not all txn.In can be found + // This prevents double spends + uxIn, err := bc.Unspent().GetArray(tx, txn.In) + if err != nil { + switch err.(type) { + case blockdb.ErrUnspentNotExist: + return NewErrTxnViolatesHardConstraint(err) + default: + return err + } + } + + head, err := bc.Head(tx) + if err != nil { + return err + } + + return bc.verifySingleTxnHardConstraints(tx, txn, head, uxIn) +} + +// VerifySingleTxnSoftHardConstraints checks that the transaction does not violate hard or soft constraints, +// for transactions that are not included in a block. +// Hard constraints are checked before soft constraints. +func (bc Blockchain) VerifySingleTxnSoftHardConstraints(tx *dbutil.Tx, txn coin.Transaction, maxSize int) error { + // NOTE: Unspent().GetArray() returns an error if not all txn.In can be found + // This prevents double spends + uxIn, err := bc.Unspent().GetArray(tx, txn.In) + if err != nil { + return NewErrTxnViolatesHardConstraint(err) + } + + head, err := bc.Head(tx) + if err != nil { + return err + } + + // Hard constraints must be checked before soft constraints + if err := bc.verifySingleTxnHardConstraints(tx, txn, head, uxIn); err != nil { + return err + } + + return VerifySingleTxnSoftConstraints(txn, head.Time(), uxIn, maxSize) +} + +func (bc Blockchain) verifySingleTxnHardConstraints(tx *dbutil.Tx, txn coin.Transaction, head *coin.SignedBlock, uxIn coin.UxArray) error { + if err := VerifySingleTxnHardConstraints(txn, head, uxIn); err != nil { + return err + } + + if DebugLevel1 { + // Check that new unspents don't collide with existing. + // This should not occur but is a sanity check. + // NOTE: this is not in the top-level VerifySingleTxnHardConstraints + // because it relies on the unspent pool to check for existence. + // For remote callers such as the CLI, they'd need to download the whole + // unspent pool or make a separate API call to check for duplicate unspents. + uxOut := coin.CreateUnspents(head.Head, txn) + for i := range uxOut { + if contains, err := bc.Unspent().Contains(tx, uxOut[i].Hash()); err != nil { + return err + } else if contains { + err := errors.New("New unspent collides with existing unspent") + return NewErrTxnViolatesHardConstraint(err) + } + } + } + + return nil +} + +// GetBlocks return blocks whose seq are in the range of start and end. +func (bc Blockchain) GetBlocks(tx *dbutil.Tx, start, end uint64) ([]coin.SignedBlock, error) { + if start > end { + return nil, nil + } + + var blocks []coin.SignedBlock + for i := start; i <= end; i++ { + b, err := bc.store.GetSignedBlockBySeq(tx, i) + if err != nil { + logger.WithError(err).Error("bc.store.GetBlockBySeq failed") + return nil, err + } + + if b == nil { + break + } + + blocks = append(blocks, *b) + } + + return blocks, nil +} + +// GetLastBlocks return the latest N blocks. +func (bc Blockchain) GetLastBlocks(tx *dbutil.Tx, num uint64) ([]coin.SignedBlock, error) { + if num == 0 { + return nil, nil + } + + end, ok, err := bc.HeadSeq(tx) + if err != nil { + return nil, err + } + if !ok { + return nil, nil + } + + start := int(end-num) + 1 + if start < 0 { + start = 0 + } + + return bc.GetBlocks(tx, uint64(start), end) +} + +/* Private */ + +// Validates a set of Transactions, individually, against each other and +// against the Blockchain. If firstFail is true, it will return an error +// as soon as it encounters one. Else, it will return an array of +// Transactions that are valid as a whole. It may return an error if +// firstFalse is false, if there is no way to filter the txns into a valid +// array, i.e. processTransactions(processTransactions(txn, false), true) +// should not result in an error, unless all txns are invalid. +// TODO: +// - move arbitration to visor +// - blockchain should have strict checking +func (bc Blockchain) processTransactions(tx *dbutil.Tx, txs coin.Transactions) (coin.Transactions, error) { + // copy txs so that the following code won't modify the original txns + txns := make(coin.Transactions, len(txs)) + copy(txns, txs) + + head, err := bc.store.Head(tx) + if err != nil { + return nil, err + } + + // Transactions need to be sorted by fee and hash before arbitrating + if bc.cfg.Arbitrating { + txns = coin.SortTransactions(txns, bc.TransactionFee(tx, head.Time())) + } + + //TODO: audit + if len(txns) == 0 { + if bc.cfg.Arbitrating { + return txns, nil + } + + // If there are no transactions, a block should not be made + return nil, errors.New("No transactions") + } + + skip := make(map[int]struct{}) + uxHashes := make(coin.UxHashSet, len(txns)) + for i, txn := range txns { + // Check the transaction against itself. This covers the hash, + // signature indices and duplicate spends within itself + if err := bc.VerifyBlockTxnConstraints(tx, txn); err != nil { + switch err.(type) { + case ErrTxnViolatesHardConstraint, ErrTxnViolatesSoftConstraint: + if bc.cfg.Arbitrating { + skip[i] = struct{}{} + continue + } + } + + return nil, err + } + + // Check that each pending unspent will be unique + uxb := coin.UxBody{ + SrcTransaction: txn.Hash(), + } + + for _, to := range txn.Out { + uxb.Coins = to.Coins + uxb.Hours = to.Hours + uxb.Address = to.Address + + h := uxb.Hash() + _, exists := uxHashes[h] + if exists { + if bc.cfg.Arbitrating { + skip[i] = struct{}{} + continue + } else { + return nil, errors.New("Duplicate unspent output across transactions") + } + } + + if DebugLevel1 { + // Check that the expected unspent is not already in the pool. + // This should never happen because its a hash collision + if contains, err := bc.Unspent().Contains(tx, h); err != nil { + return nil, err + } else if contains { + if bc.cfg.Arbitrating { + skip[i] = struct{}{} + continue + } else { + return nil, errors.New("Output hash is in the UnspentPool") + } + } + } + + uxHashes[h] = struct{}{} + } + } + + // Filter invalid transactions before arbitrating between colliding ones + if len(skip) > 0 { + newtxns := make(coin.Transactions, len(txns)-len(skip)) + j := 0 + for i := range txns { + if _, shouldSkip := skip[i]; !shouldSkip { + newtxns[j] = txns[i] + j++ + } + } + txns = newtxns + skip = make(map[int]struct{}) + } + + // Check to ensure that there are no duplicate spends in the entire block, + // and that we aren't creating duplicate outputs. Duplicate outputs + // within a single Transaction are already checked by VerifyBlockTxnConstraints + hashes := txns.Hashes() + for i := 0; i < len(txns)-1; i++ { + s := txns[i] + for j := i + 1; j < len(txns); j++ { + t := txns[j] + if DebugLevel1 { + if hashes[i] == hashes[j] { + // This is a non-recoverable error for filtering, and + // should never occur. It indicates a hash collision + // amongst different txns. Duplicate transactions are + // caught earlier, when duplicate expected outputs are + // checked for, and will not trigger this. + return nil, errors.New("Duplicate transaction") + } + } + for a := range s.In { + for b := range t.In { + if s.In[a] == t.In[b] { + if bc.cfg.Arbitrating { + // The txn with the highest fee and lowest hash + // is chosen when attempting a double spend. + // Since the txns are sorted, we skip the 2nd + // iterable + skip[j] = struct{}{} + } else { + return nil, errors.New("Cannot spend output twice in the same block") + } + } + } + } + } + } + + // Filter the final results, if necessary + if len(skip) > 0 { + newtxns := make(coin.Transactions, 0, len(txns)-len(skip)) + for i := range txns { + if _, shouldSkip := skip[i]; !shouldSkip { + newtxns = append(newtxns, txns[i]) + } + } + return newtxns, nil + } + + return txns, nil +} + +// TransactionFee calculates the current transaction fee in coinhours of a Transaction +func (bc Blockchain) TransactionFee(tx *dbutil.Tx, headTime uint64) coin.FeeCalculator { + return func(txn *coin.Transaction) (uint64, error) { + inUxs, err := bc.Unspent().GetArray(tx, txn.In) + if err != nil { + return 0, err + } + + return fee.TransactionFee(txn, headTime, inUxs) + } +} + +// VerifySignature checks that BlockSigs state correspond with coin.Blockchain state +// and that all signatures are valid. +func (bc *Blockchain) VerifySignature(block *coin.SignedBlock) error { + err := cipher.VerifySignature(bc.cfg.Pubkey, block.Sig, block.HashHeader()) + if err != nil { + logger.Errorf("Signature verification failed: %v", err) + } + return err +} + +// WalkChain walk through the blockchain concurrently +// The quit channel is optional and if closed, this method still stop. +func (bc *Blockchain) WalkChain(workers int, f func(*dbutil.Tx, *coin.SignedBlock) error, quit chan struct{}) error { + if quit == nil { + quit = make(chan struct{}) + } + + signedBlockC := make(chan *coin.SignedBlock, 100) + errC := make(chan error, 100) + interrupt := make(chan struct{}) + verifyDone := make(chan struct{}) + + // Verify block signatures in a worker pool + var workerWg sync.WaitGroup + workerWg.Add(workers) + for i := 0; i < workers; i++ { + go func() { + defer workerWg.Done() + bc.db.View("WalkChain verify blocks", func(tx *dbutil.Tx) error { + for { + select { + case b, ok := <-signedBlockC: + if !ok { + return nil + } + + if err := f(tx, b); err != nil { + // if err := cipher.VerifySignature(bc.cfg.Pubkey, sh.sig, sh.hash); err != nil { + // logger.Errorf("Signature verification failed: %v", err) + select { + case errC <- err: + default: + } + } + } + } + }) + }() + } + + // Wait for verification worker goroutines to finish + var wg sync.WaitGroup + wg.Add(1) + go func() { + defer wg.Done() + workerWg.Wait() + close(verifyDone) + }() + + // Iterate all blocks stored in the "blocks" bucket + // * Detect if a corresponding signature is missing from the signatures bucket + // * Verify the signature for the block + wg.Add(1) + go func() { + bc.db.View("WalkChain get blocks", func(tx *dbutil.Tx) error { + if length, err := bc.Len(tx); err != nil { + return err + } else if length == 0 { + return nil + } + defer wg.Done() + defer close(signedBlockC) + + errInterrupted := errors.New("goroutine was stopped") + + if err := bc.store.ForEachBlock(tx, func(block *coin.Block) error { + sig, ok, err := bc.store.GetBlockSignature(tx, block) + if err != nil { + return err + } + if !ok { + return blockdb.NewErrMissingSignature(block) + } + + signedBlock := &coin.SignedBlock{ + Sig: sig, + Block: *block, + } + + select { + case signedBlockC <- signedBlock: + return nil + case <-quit: + return errInterrupted + case <-interrupt: + return errInterrupted + } + }); err != nil && err != errInterrupted { + switch err.(type) { + case blockdb.ErrMissingSignature: + default: + logger.Errorf("bc.store.ForEachBlock failed: %v", err) + } + select { + case errC <- err: + default: + } + } + return nil + }) + }() + + var err error + select { + case err = <-errC: + if err != nil { + break + } + case <-quit: + err = ErrVerifyStopped + break + case <-verifyDone: + break + } + + close(interrupt) + wg.Wait() + return err +} + +// VerifyBlockHeader Returns error if the BlockHeader is not valid +func (bc Blockchain) verifyBlockHeader(tx *dbutil.Tx, b coin.Block) error { + head, err := bc.Head(tx) + if err != nil { + return err + } + + //check BkSeq + if b.Head.BkSeq != head.Head.BkSeq+1 { + return errors.New("BkSeq invalid") + } + //check Time, only requirement is that its monotonely increasing + if b.Head.Time <= head.Head.Time { + return errors.New("Block time must be > head time") + } + // Check block hash against previous head + if b.Head.PrevHash != head.HashHeader() { + return errors.New("PrevHash does not match current head") + } + if b.HashBody() != b.Head.BodyHash { + return errors.New("Computed body hash does not match") + } + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockchain_test.go b/vendor/github.com/skycoin/skycoin/src/visor/blockchain_test.go new file mode 100755 index 0000000..ad70683 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockchain_test.go @@ -0,0 +1,860 @@ +package visor + +import ( + "errors" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + genPublic, genSecret = cipher.GenerateKeyPair() + genAddress = cipher.AddressFromPubKey(genPublic) +) + +var genTime uint64 = 1000 +var genCoins uint64 = 1000e6 + +func feeCalc(t *coin.Transaction) (uint64, error) { + return 0, nil +} + +func addGenesisBlockToBlockchain(t *testing.T, bc *Blockchain) *coin.SignedBlock { + // create genesis block + gb, err := coin.NewGenesisBlock(genAddress, genCoins, genTime) + require.NoError(t, err) + gbSig := cipher.SignHash(gb.HashHeader(), genSecret) + + // add genesis block to blockchain + err = bc.db.Update("", func(tx *dbutil.Tx) error { + return bc.store.AddBlock(tx, &coin.SignedBlock{ + Block: *gb, + Sig: gbSig, + }) + }) + require.NoError(t, err) + + return &coin.SignedBlock{ + Block: *gb, + Sig: gbSig, + } +} + +func makeSpendTx(t *testing.T, uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address, coins uint64) coin.Transaction { + spendTx := coin.Transaction{} + var totalHours uint64 + var totalCoins uint64 + for _, ux := range uxs { + spendTx.PushInput(ux.Hash()) + totalHours += ux.Body.Hours + totalCoins += ux.Body.Coins + } + + require.True(t, coins <= totalCoins) + + hours := totalHours / 4 + + spendTx.PushOutput(toAddr, coins, hours) + if totalCoins-coins != 0 { + spendTx.PushOutput(uxs[0].Body.Address, totalCoins-coins, totalHours/4) + } + spendTx.SignInputs(keys) + spendTx.UpdateHeader() + return spendTx +} + +/* Helpers */ +type fakeChainStore struct { + blocks []coin.SignedBlock +} + +func (fcs *fakeChainStore) Head(tx *dbutil.Tx) (*coin.SignedBlock, error) { + l := len(fcs.blocks) + if l == 0 { + return nil, blockdb.ErrNoHeadBlock + } + + return &fcs.blocks[l-1], nil +} + +func (fcs *fakeChainStore) HeadSeq(tx *dbutil.Tx) (uint64, bool, error) { + h, err := fcs.Head(tx) + if err != nil { + if err == blockdb.ErrNoHeadBlock { + return 0, false, nil + } + return 0, false, err + } + return h.Seq(), true, nil +} + +func (fcs *fakeChainStore) Len(tx *dbutil.Tx) (uint64, error) { + return uint64(len(fcs.blocks)), nil +} + +func (fcs *fakeChainStore) AddBlock(tx *dbutil.Tx, b *coin.SignedBlock) error { + return nil +} + +func (fcs *fakeChainStore) GetBlockSignature(tx *dbutil.Tx, b *coin.Block) (cipher.Sig, bool, error) { + return cipher.Sig{}, false, nil +} + +func (fcs *fakeChainStore) GetBlockByHash(tx *dbutil.Tx, hash cipher.SHA256) (*coin.Block, error) { + return nil, nil +} + +func (fcs *fakeChainStore) GetSignedBlockByHash(tx *dbutil.Tx, hash cipher.SHA256) (*coin.SignedBlock, error) { + return nil, nil +} + +func (fcs *fakeChainStore) GetSignedBlockBySeq(tx *dbutil.Tx, seq uint64) (*coin.SignedBlock, error) { + l := len(fcs.blocks) + if seq >= uint64(l) { + return nil, nil + } + + return &fcs.blocks[seq], nil +} + +func (fcs *fakeChainStore) UnspentPool() blockdb.UnspentPooler { + return nil +} + +func (fcs *fakeChainStore) GetGenesisBlock(tx *dbutil.Tx) (*coin.SignedBlock, error) { + if len(fcs.blocks) > 0 { + return &fcs.blocks[0], nil + } + return nil, nil +} + +func (fcs *fakeChainStore) ForEachBlock(tx *dbutil.Tx, f func(*coin.Block) error) error { + return nil +} + +func makeBlock(t *testing.T, preBlock coin.Block, tm uint64) *coin.Block { + uxHash := testutil.RandSHA256(t) + tx := coin.Transaction{} + b, err := coin.NewBlock(preBlock, tm, uxHash, coin.Transactions{tx}, feeCalc) + require.NoError(t, err) + return b +} + +func makeBlocks(t *testing.T, n int) []coin.SignedBlock { + var bs []coin.SignedBlock + preBlock, err := coin.NewGenesisBlock(genAddress, genCoins, genTime) + require.NoError(t, err) + bs = append(bs, coin.SignedBlock{Block: *preBlock}) + + now := genTime + 100 + for i := 1; i < n; i++ { + b := makeBlock(t, *preBlock, now+uint64(i)*100) + sb := coin.SignedBlock{ + Block: *b, + } + bs = append(bs, sb) + preBlock = b + } + + return bs +} + +func TestBlockchainTime(t *testing.T) { + bs := makeBlocks(t, 1) + tt := []struct { + name string + store chainStore + time uint64 + }{ + { + "ok", + &fakeChainStore{ + blocks: bs[:], + }, + bs[0].Time(), + }, + { + "no head", + &fakeChainStore{}, + uint64(0), + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + + bc := Blockchain{ + db: db, + store: tc.store, + } + + err := db.View("", func(tx *dbutil.Tx) error { + tm, err := bc.Time(tx) + require.NoError(t, err) + require.Equal(t, tc.time, tm) + return nil + }) + require.NoError(t, err) + }) + } +} + +func TestIsGenesisBlock(t *testing.T) { + bs := makeBlocks(t, 2) + tt := []struct { + name string + store chainStore + b *coin.Block + isGenesis bool + }{ + { + "genesis block", + &fakeChainStore{ + blocks: bs[:1], + }, + &bs[0].Block, + true, + }, + { + "not genesis block", + &fakeChainStore{ + blocks: bs[:1], + }, + &bs[1].Block, + false, + }, + { + "empty chain", + &fakeChainStore{}, + &bs[0].Block, + false, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + bc := Blockchain{ + store: tc.store, + } + + isGenesis, err := bc.isGenesisBlock(nil, *tc.b) + require.NoError(t, err) + require.Equal(t, tc.isGenesis, isGenesis) + }) + } +} + +func TestVerifyBlockHeader(t *testing.T) { + bs := makeBlocks(t, 5) + tt := []struct { + name string + store chainStore + b coin.Block + err error + }{ + { + "ok", + &fakeChainStore{ + blocks: bs[:1], + }, + bs[1].Block, + nil, + }, + { + "invalid block seq", + &fakeChainStore{ + blocks: bs[:1], + }, + bs[2].Block, + errors.New("BkSeq invalid"), + }, + { + "invalid time", + &fakeChainStore{ + blocks: bs[:1], + }, + coin.Block{ + Head: coin.BlockHeader{ + BkSeq: 1, + Time: 0, + }, + }, + + errors.New("Block time must be > head time"), + }, + { + "invalid prehash", + &fakeChainStore{ + blocks: bs[:1], + }, + coin.Block{ + Head: coin.BlockHeader{ + BkSeq: 1, + Time: bs[1].Time(), + }, + }, + + errors.New("PrevHash does not match current head"), + }, + { + "empty blockchain", + &fakeChainStore{}, + coin.Block{}, + blockdb.ErrNoHeadBlock, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + + bc := &Blockchain{ + db: db, + store: tc.store, + } + + err := db.View("", func(tx *dbutil.Tx) error { + err := bc.verifyBlockHeader(tx, tc.b) + require.Equal(t, tc.err, err) + return nil + }) + require.NoError(t, err) + }) + } +} + +func TestGetBlocks(t *testing.T) { + blocks := makeBlocks(t, 5) + tt := []struct { + name string + store chainStore + req struct { + st uint64 + ed uint64 + } + expect []coin.SignedBlock + }{ + { + "ok", + &fakeChainStore{ + blocks: blocks[:], + }, + struct { + st uint64 + ed uint64 + }{ + 0, + 1, + }, + blocks[:2], + }, + { + "start > end", + &fakeChainStore{ + blocks: blocks[:], + }, + struct { + st uint64 + ed uint64 + }{ + 1, + 0, + }, + nil, + }, + { + "start overflow", + &fakeChainStore{ + blocks: blocks[:], + }, + struct { + st uint64 + ed uint64 + }{ + 6, + 7, + }, + nil, + }, + { + "start == end", + &fakeChainStore{ + blocks: blocks[:], + }, + struct { + st uint64 + ed uint64 + }{ + 0, + 0, + }, + blocks[:1], + }, + { + "end overflow", + &fakeChainStore{ + blocks: blocks[:], + }, + struct { + st uint64 + ed uint64 + }{ + 0, + 8, + }, + blocks[:], + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + + bc := Blockchain{ + db: db, + store: tc.store, + } + + err := db.View("", func(tx *dbutil.Tx) error { + bs, err := bc.GetBlocks(tx, tc.req.st, tc.req.ed) + require.NoError(t, err) + require.Equal(t, len(tc.expect), len(bs)) + require.Equal(t, tc.expect, bs) + return nil + }) + require.NoError(t, err) + }) + } +} + +func TestGetLastBlocks(t *testing.T) { + blocks := makeBlocks(t, 5) + tt := []struct { + name string + store chainStore + n uint64 + expect []coin.SignedBlock + }{ + { + "get last block", + &fakeChainStore{ + blocks: blocks[:], + }, + 1, + blocks[4:5], + }, + { + "get last two block", + &fakeChainStore{ + blocks: blocks[:], + }, + 2, + blocks[3:5], + }, + { + "get all block", + &fakeChainStore{ + blocks: blocks[:], + }, + 5, + blocks[0:5], + }, + { + "get block from empty chain", + &fakeChainStore{}, + 1, + nil, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + + bc := Blockchain{ + db: db, + store: tc.store, + } + + err := db.View("", func(tx *dbutil.Tx) error { + bs, err := bc.GetLastBlocks(tx, tc.n) + require.NoError(t, err) + require.Equal(t, tc.expect, bs) + return nil + }) + require.NoError(t, err) + }) + } + +} + +// newBlock calls bc.NewBlock in a dbutil.Tx +func newBlock(t *testing.T, bc *Blockchain, txn coin.Transaction, timestamp uint64) *coin.Block { + var b *coin.Block + err := bc.db.View("", func(tx *dbutil.Tx) error { + var err error + b, err = bc.NewBlock(tx, coin.Transactions{txn}, timestamp) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + return b +} + +type spending struct { + TxIndex int + UxIndex int + Keys []cipher.SecKey + ToAddr cipher.Address + Coins uint64 +} + +func TestProcessTransactions(t *testing.T) { + toAddrs := make([]cipher.Address, 10) + keys := make([]cipher.SecKey, 10) + for i := 0; i < 10; i++ { + p, s := cipher.GenerateKeyPair() + toAddrs[i] = cipher.AddressFromPubKey(p) + keys[i] = s + } + + tt := []struct { + name string + arbitrating bool + initChain []spending + spends []spending + err error + }{ + { + "ok", + false, + []spending{}, + []spending{ + spending{ + TxIndex: 0, + UxIndex: 0, + Keys: []cipher.SecKey{genSecret}, + ToAddr: toAddrs[0], + Coins: 10e6, + }, + }, + nil, + }, + { + "no transactions", + false, + []spending{}, + []spending{}, + errors.New("No transactions"), + }, + { + "invalid signature", + false, + []spending{}, + []spending{ + spending{ + TxIndex: 0, + UxIndex: 0, + Keys: []cipher.SecKey{keys[0]}, + ToAddr: toAddrs[0], + Coins: 10e6, + }, + }, + NewErrTxnViolatesHardConstraint(errors.New("Signature not valid for output being spent")), + }, + { + "dup spending", + false, + []spending{}, + []spending{ + spending{ + TxIndex: 0, + UxIndex: 0, + Keys: []cipher.SecKey{genSecret}, + ToAddr: toAddrs[0], + Coins: 10e6, + }, + spending{ + TxIndex: 0, + UxIndex: 0, + Keys: []cipher.SecKey{genSecret}, + ToAddr: toAddrs[0], + Coins: 10e6, + }, + }, + errors.New("Cannot spend output twice in the same block"), + }, + { + "arbitrating no transactions", + true, + []spending{}, + []spending{}, + nil, + }, + { + "invalid signature", + true, + []spending{}, + []spending{ + spending{ + TxIndex: 0, + UxIndex: 0, + Keys: []cipher.SecKey{keys[0]}, + ToAddr: toAddrs[0], + Coins: 10e6, + }, + }, + nil, + }, + { + "including invalid signature", + true, + []spending{}, + []spending{ + spending{ + TxIndex: 0, + UxIndex: 0, + Keys: []cipher.SecKey{genSecret}, + ToAddr: toAddrs[0], + Coins: 10e6, + }, + spending{ + TxIndex: 0, + UxIndex: 0, + Keys: []cipher.SecKey{keys[0]}, + ToAddr: toAddrs[0], + Coins: 10e6, + }, + }, + nil, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + // create test db + db, closeDB := prepareDB(t) + defer closeDB() + + err := CreateBuckets(db) + require.NoError(t, err) + + // create chain store + store, err := blockdb.NewBlockchain(db, DefaultWalker) + require.NoError(t, err) + + // create Blockchain + bc := &Blockchain{ + cfg: BlockchainConfig{ + Arbitrating: tc.arbitrating, + }, + db: db, + store: store, + } + + // init chain + head := addGenesisBlockToBlockchain(t, bc) + tm := head.Time() + for i, spend := range tc.initChain { + uxs := coin.CreateUnspents(head.Head, head.Body.Transactions[spend.TxIndex]) + tx := makeSpendTx(t, coin.UxArray{uxs[spend.UxIndex]}, spend.Keys, spend.ToAddr, spend.Coins) + + b := newBlock(t, bc, tx, tm+uint64(i*100)) + + sb := &coin.SignedBlock{ + Block: *b, + Sig: cipher.SignHash(b.HashHeader(), genSecret), + } + err = db.Update("", func(tx *dbutil.Tx) error { + return bc.store.AddBlock(tx, sb) + }) + require.NoError(t, err) + head = sb + } + + // create spending transactions + txs := make([]coin.Transaction, len(tc.spends)) + for i, spend := range tc.spends { + uxs := coin.CreateUnspents(head.Head, head.Body.Transactions[spend.TxIndex]) + tx := makeSpendTx(t, coin.UxArray{uxs[spend.UxIndex]}, spend.Keys, spend.ToAddr, spend.Coins) + txs[i] = tx + } + + err = db.View("", func(tx *dbutil.Tx) error { + _, err := bc.processTransactions(tx, txs) + require.EqualValues(t, tc.err, err) + return nil + }) + require.NoError(t, err) + }) + } + +} + +func getUxHash(t *testing.T, db *dbutil.DB, bc *Blockchain) cipher.SHA256 { + var uxHash cipher.SHA256 + err := db.View("", func(tx *dbutil.Tx) error { + var err error + uxHash, err = bc.Unspent().GetUxHash(tx) + return err + }) + require.NoError(t, err) + return uxHash +} + +func TestVerifyUxHash(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + + err := CreateBuckets(db) + require.NoError(t, err) + + store, err := blockdb.NewBlockchain(db, DefaultWalker) + require.NoError(t, err) + + bc := &Blockchain{ + db: db, + store: store, + } + + gb := addGenesisBlockToBlockchain(t, bc) + uxHash := getUxHash(t, db, bc) + txn := coin.Transaction{} + b, err := coin.NewBlock(gb.Block, genTime+100, uxHash, coin.Transactions{txn}, feeCalc) + require.NoError(t, err) + + err = db.View("", func(tx *dbutil.Tx) error { + err = bc.verifyUxHash(tx, *b) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + + b2, err := coin.NewBlock(gb.Block, genTime+10, testutil.RandSHA256(t), coin.Transactions{txn}, feeCalc) + require.NoError(t, err) + + err = db.View("", func(tx *dbutil.Tx) error { + err = bc.verifyUxHash(tx, *b2) + require.Equal(t, errors.New("UxHash does not match"), err) + return nil + }) + require.NoError(t, err) +} + +func TestProcessBlock(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + + err := CreateBuckets(db) + require.NoError(t, err) + + store, err := blockdb.NewBlockchain(db, DefaultWalker) + require.NoError(t, err) + + bc := &Blockchain{ + db: db, + store: store, + } + + gb, err := coin.NewGenesisBlock(genAddress, genCoins, genTime) + require.NoError(t, err) + + sb := coin.SignedBlock{ + Block: *gb, + Sig: cipher.SignHash(gb.HashHeader(), genSecret), + } + + // Test with empty blockchain + err = db.Update("", func(tx *dbutil.Tx) error { + _, err := bc.processBlock(tx, sb) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + + // Add genesis block to chain store + err = db.Update("", func(tx *dbutil.Tx) error { + err := bc.store.AddBlock(tx, &sb) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + + // Create new block + uxs := coin.CreateUnspents(gb.Head, gb.Body.Transactions[0]) + toAddr := testutil.MakeAddress() + tx := makeSpendTx(t, uxs, []cipher.SecKey{genSecret}, toAddr, 10e6) + uxHash := getUxHash(t, db, bc) + b, err := coin.NewBlock(*gb, genTime+100, uxHash, coin.Transactions{tx}, feeCalc) + require.NoError(t, err) + + err = db.Update("", func(tx *dbutil.Tx) error { + _, err := bc.processBlock(tx, coin.SignedBlock{ + Block: *b, + Sig: cipher.SignHash(b.HashHeader(), genSecret), + }) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) +} + +func TestExecuteBlock(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + + err := CreateBuckets(db) + require.NoError(t, err) + + store, err := blockdb.NewBlockchain(db, DefaultWalker) + require.NoError(t, err) + + bc := &Blockchain{ + db: db, + store: store, + } + + gb, err := coin.NewGenesisBlock(genAddress, genCoins, genTime) + require.NoError(t, err) + + sb := coin.SignedBlock{ + Block: *gb, + Sig: cipher.SignHash(gb.HashHeader(), genSecret), + } + + // test with empty chain + err = db.Update("", func(tx *dbutil.Tx) error { + err := bc.ExecuteBlock(tx, &sb) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + + // new block + uxs := coin.CreateUnspents(gb.Head, gb.Body.Transactions[0]) + toAddr := testutil.MakeAddress() + tx := makeSpendTx(t, uxs, []cipher.SecKey{genSecret}, toAddr, 10e6) + uxHash := getUxHash(t, db, bc) + b, err := coin.NewBlock(*gb, genTime+100, uxHash, coin.Transactions{tx}, feeCalc) + require.NoError(t, err) + err = db.Update("", func(tx *dbutil.Tx) error { + err := bc.ExecuteBlock(tx, &coin.SignedBlock{ + Block: *b, + Sig: cipher.SignHash(b.HashHeader(), genSecret), + }) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockchain_verify_test.go b/vendor/github.com/skycoin/skycoin/src/visor/blockchain_verify_test.go new file mode 100755 index 0000000..280c585 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockchain_verify_test.go @@ -0,0 +1,560 @@ +package visor + +import ( + "errors" + "fmt" + "math" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +const ( + // GenesisTime is the time of the genesis block created in MakeBlockchain + GenesisTime uint64 = 1000 + // GenesisCoins is the amount of coins in the genesis block created in MakeBlockchain + GenesisCoins uint64 = 1000e6 + // GenesisCoinHours is the amount of coin hours in the genesis block created in MakeBlockchain + GenesisCoinHours uint64 = 1000 * 1000 + // TimeIncrement is the default time increment used when creating a block with CreateGenesisSpendTransaction + TimeIncrement uint64 = 3600 * 1000 +) + +var ( + // GenesisPublic is the public key used in the genesis block created in MakeBlockchain + GenesisPublic cipher.PubKey + // GenesisSecret is the secret key used in the genesis block created in MakeBlockchain + GenesisSecret cipher.SecKey + // GenesisAddress is the address used in the genesis block created in MakeBlockchain + GenesisAddress cipher.Address +) + +func init() { + GenesisPublic, GenesisSecret = cipher.GenerateKeyPair() + GenesisAddress = cipher.AddressFromPubKey(GenesisPublic) +} + +// MakeBlockchain creates a new blockchain with a genesis block +func MakeBlockchain(t *testing.T, db *dbutil.DB, seckey cipher.SecKey) *Blockchain { + pubkey := cipher.PubKeyFromSecKey(seckey) + b, err := NewBlockchain(db, BlockchainConfig{ + Pubkey: pubkey, + }) + require.NoError(t, err) + gb, err := coin.NewGenesisBlock(GenesisAddress, GenesisCoins, GenesisTime) + if err != nil { + panic(fmt.Errorf("create genesis block failed: %v", err)) + } + + sig := cipher.SignHash(gb.HashHeader(), seckey) + db.Update("", func(tx *dbutil.Tx) error { + return b.ExecuteBlock(tx, &coin.SignedBlock{ + Block: *gb, + Sig: sig, + }) + }) + return b +} + +// CreateGenesisSpendTransaction creates the initial post-genesis transaction that moves genesis coins to another address +func CreateGenesisSpendTransaction(t *testing.T, db *dbutil.DB, bc *Blockchain, toAddr cipher.Address, coins, hours, fee uint64) coin.Transaction { + var txn coin.Transaction + err := db.View("", func(tx *dbutil.Tx) error { + uxOuts, err := bc.Unspent().GetAll(tx) + require.NoError(t, err) + require.Len(t, uxOuts, 1) + + txn = makeTransactionForChain(t, tx, bc, uxOuts[0], GenesisSecret, toAddr, coins, hours, fee) + require.Equal(t, txn.Out[0].Address.String(), toAddr.String()) + + if coins == GenesisCoins { + // No change output + require.Len(t, txn.Out, 1) + } else { + require.Len(t, txn.Out, 2) + require.Equal(t, txn.Out[1].Address.String(), GenesisAddress.String()) + } + + return nil + }) + require.NoError(t, err) + return txn +} + +// ExecuteGenesisSpendTransaction executes a genesis block created with CreateGenesisSpendTransaction against a blockchain +// created with MakeBlockchain +func ExecuteGenesisSpendTransaction(t *testing.T, db *dbutil.DB, bc *Blockchain, txn coin.Transaction) coin.UxOut { + var block *coin.Block + err := db.View("", func(tx *dbutil.Tx) error { + var err error + block, err = bc.NewBlock(tx, coin.Transactions{txn}, GenesisTime+TimeIncrement) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + require.NotNil(t, block) + + sig := cipher.SignHash(block.HashHeader(), GenesisSecret) + sb := coin.SignedBlock{ + Block: *block, + Sig: sig, + } + + err = db.Update("", func(tx *dbutil.Tx) error { + err = bc.ExecuteBlock(tx, &sb) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + + uxOut, err := coin.CreateUnspent(block.Head, txn, 0) + require.NoError(t, err) + + return uxOut +} + +func makeTransactionForChain(t *testing.T, tx *dbutil.Tx, bc *Blockchain, ux coin.UxOut, sec cipher.SecKey, toAddr cipher.Address, amt, hours, fee uint64) coin.Transaction { + tim, err := bc.Time(tx) + require.NoError(t, err) + + chrs, err := ux.CoinHours(tim) + require.NoError(t, err) + + require.Equal(t, cipher.AddressFromPubKey(cipher.PubKeyFromSecKey(sec)), ux.Body.Address) + + knownUx, err := bc.Unspent().Get(tx, ux.Hash()) + require.NoError(t, err) + require.NotNil(t, knownUx) + require.Equal(t, knownUx, &ux) + + txn := coin.Transaction{} + txn.PushInput(ux.Hash()) + + txn.PushOutput(toAddr, amt, hours) + + // Change output + coinsOut := ux.Body.Coins - amt + if coinsOut > 0 { + txn.PushOutput(GenesisAddress, coinsOut, chrs-hours-fee) + } + + txn.SignInputs([]cipher.SecKey{sec}) + + require.Equal(t, len(txn.Sigs), 1) + + err = cipher.ChkSig(ux.Body.Address, cipher.AddSHA256(txn.HashInner(), txn.In[0]), txn.Sigs[0]) + require.NoError(t, err) + + txn.UpdateHeader() + + err = txn.Verify() + require.NoError(t, err) + + err = bc.VerifySingleTxnHardConstraints(tx, txn) + require.NoError(t, err) + + return txn +} + +func makeLostCoinTx(uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address, coins uint64) coin.Transaction { // nolint: unparam + txn := coin.Transaction{} + var totalCoins uint64 + var totalHours uint64 + + for _, ux := range uxs { + txn.PushInput(ux.Hash()) + totalCoins += ux.Body.Coins + totalHours += ux.Body.Hours + } + + txn.PushOutput(toAddr, coins, totalHours/4) + changeCoins := totalCoins - coins + if changeCoins > 0 { + txn.PushOutput(uxs[0].Body.Address, changeCoins-1, totalHours/4) + } + + txn.SignInputs(keys) + txn.UpdateHeader() + return txn +} + +func makeDuplicateUxOutTx(uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address, coins uint64) coin.Transaction { // nolint: unparam + txn := coin.Transaction{} + var totalCoins uint64 + var totalHours uint64 + + for _, ux := range uxs { + txn.PushInput(ux.Hash()) + totalCoins += ux.Body.Coins + totalHours += ux.Body.Hours + } + + txn.PushOutput(toAddr, coins, totalHours/8) + txn.PushOutput(toAddr, coins, totalHours/8) + changeCoins := totalCoins - coins + if changeCoins > 0 { + txn.PushOutput(uxs[0].Body.Address, changeCoins, totalHours/4) + } + + txn.SignInputs(keys) + txn.UpdateHeader() + return txn +} + +// makeUnspentsTx creates a transaction that has a configurable number of outputs sent to the same address. +// The genesis block has only one unspent output, so only one transaction can be made from it. +// This is useful for when multiple test transactions need to be made from the same block. +// Coins and hours are distributed equally amongst all new outputs. +func makeUnspentsTx(t *testing.T, uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address, nUnspents int, maxDivisor uint64) coin.Transaction { // nolint: unparam + // Add inputs to the transaction + spendTx := coin.Transaction{} + var totalHours uint64 + var totalCoins uint64 + for _, ux := range uxs { + spendTx.PushInput(ux.Hash()) + var err error + totalHours, err = coin.AddUint64(totalHours, ux.Body.Hours) + require.NoError(t, err) + + totalCoins, err = coin.AddUint64(totalCoins, ux.Body.Coins) + require.NoError(t, err) + } + + // Distribute coins and hours equally to all of the new outputs + coins := totalCoins / uint64(nUnspents) + coins = (coins / maxDivisor) * maxDivisor + t.Logf("Assigning %d coins to each of %d outputs", coins, nUnspents) + changeCoins := totalCoins - (coins * uint64(nUnspents)) + t.Logf("Change coins: %d", changeCoins) + + hours := (totalHours / 2) / uint64(nUnspents) + changeHours := (totalHours / 2) - (hours * uint64(nUnspents)) + + // Create the new outputs + require.True(t, uint64(nUnspents) < hours) + for i := 0; i < nUnspents; i++ { + // Subtract index from hours so that the outputs are not all the same, + // otherwise the output hashes will be duplicated and the transaction + // will be invalid + spendHours := hours - uint64(i) + spendTx.PushOutput(toAddr, coins, spendHours) + } + + // Add change output, if necessary + if changeCoins != 0 { + spendTx.PushOutput(uxs[0].Body.Address, changeCoins, changeHours) + } + + // Sign the transaction + spendTx.SignInputs(keys) + spendTx.UpdateHeader() + + return spendTx +} + +// makeSpendTxWithFee creates a txn specified with the extra number of hours to burn in addition to the minimum required burn +func makeSpendTxWithFee(t *testing.T, uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address, coins, fee uint64) coin.Transaction { + spendTx := coin.Transaction{} + var totalHours uint64 + var totalCoins uint64 + for _, ux := range uxs { + spendTx.PushInput(ux.Hash()) + totalHours += ux.Body.Hours + totalCoins += ux.Body.Coins + } + + require.True(t, coins <= totalCoins) + require.True(t, fee <= totalHours/2, "Fee must be <= half of total hours") + + spendHours := totalHours/2 - fee + + spendTx.PushOutput(toAddr, coins, spendHours) + if totalCoins != coins { + spendTx.PushOutput(uxs[0].Body.Address, totalCoins-coins, 0) + } + spendTx.SignInputs(keys) + spendTx.UpdateHeader() + return spendTx +} + +// makeSpendTxWithHoursBurned creates a txn specified with the total number of hours to burn +func makeSpendTxWithHoursBurned(t *testing.T, uxs coin.UxArray, keys []cipher.SecKey, toAddr cipher.Address, coins, hoursBurned uint64) coin.Transaction { // nolint: unparam + spendTx := coin.Transaction{} + var totalHours uint64 + var totalCoins uint64 + for _, ux := range uxs { + spendTx.PushInput(ux.Hash()) + totalHours += ux.Body.Hours + totalCoins += ux.Body.Coins + } + + require.True(t, coins <= totalCoins) + require.True(t, hoursBurned <= totalHours, "hoursBurned must be <= totalHours") + + spendHours := totalHours - hoursBurned + + spendTx.PushOutput(toAddr, coins, spendHours) + if totalCoins != coins { + spendTx.PushOutput(uxs[0].Body.Address, totalCoins-coins, 0) + } + spendTx.SignInputs(keys) + spendTx.UpdateHeader() + return spendTx +} + +func requireSoftViolation(t *testing.T, msg string, err error) { + require.Equal(t, NewErrTxnViolatesSoftConstraint(errors.New(msg)), err) +} + +func requireHardViolation(t *testing.T, msg string, err error) { + require.Equal(t, NewErrTxnViolatesHardConstraint(errors.New(msg)), err) +} + +func TestVerifyTransactionSoftHardConstraints(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + + err := CreateBuckets(db) + require.NoError(t, err) + + store, err := blockdb.NewBlockchain(db, DefaultWalker) + require.NoError(t, err) + + bc := &Blockchain{ + db: db, + store: store, + } + + gb := addGenesisBlockToBlockchain(t, bc) + + toAddr := testutil.MakeAddress() + coins := uint64(10e6) + + verifySingleTxnSoftHardConstraints := func(txn coin.Transaction, maxBlockSize int) error { + return db.View("", func(tx *dbutil.Tx) error { + return bc.VerifySingleTxnSoftHardConstraints(tx, txn, maxBlockSize) + }) + } + + // create normal spending txn + uxs := coin.CreateUnspents(gb.Head, gb.Body.Transactions[0]) + txn := makeSpendTx(t, uxs, []cipher.SecKey{genSecret}, toAddr, coins) + err = verifySingleTxnSoftHardConstraints(txn, DefaultMaxBlockSize) + require.NoError(t, err) + + // Transaction size exceeds maxSize + err = verifySingleTxnSoftHardConstraints(txn, txn.Size()-1) + requireSoftViolation(t, "Transaction size bigger than max block size", err) + + // Invalid transaction fee + uxs = coin.CreateUnspents(gb.Head, gb.Body.Transactions[0]) + hours := uint64(0) + for _, ux := range uxs { + hours += ux.Body.Hours + } + txn = makeSpendTxWithHoursBurned(t, uxs, []cipher.SecKey{genSecret}, toAddr, coins, 0) + err = verifySingleTxnSoftHardConstraints(txn, DefaultMaxBlockSize) + requireSoftViolation(t, "Transaction has zero coinhour fee", err) + + // Invalid transaction fee, part 2 + txn = makeSpendTxWithHoursBurned(t, uxs, []cipher.SecKey{genSecret}, toAddr, coins, 1) + err = verifySingleTxnSoftHardConstraints(txn, DefaultMaxBlockSize) + requireSoftViolation(t, "Transaction coinhour fee minimum not met", err) + + // Transaction locking is tested by TestVerifyTransactionIsLocked + + // Test invalid header hash + originInnerHash := txn.InnerHash + txn.InnerHash = cipher.SHA256{} + err = verifySingleTxnSoftHardConstraints(txn, DefaultMaxBlockSize) + requireHardViolation(t, "Invalid header hash", err) + + // Set back the originInnerHash + txn.InnerHash = originInnerHash + + // Create new block to spend the coins + var b *coin.Block + err = db.View("", func(tx *dbutil.Tx) error { + var err error + b, err = bc.NewBlock(tx, coin.Transactions{txn}, genTime+100) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + require.NotNil(t, b) + + // Add the block to blockchain + err = bc.db.Update("", func(tx *dbutil.Tx) error { + return bc.store.AddBlock(tx, &coin.SignedBlock{ + Block: *b, + Sig: cipher.SignHash(b.HashHeader(), genSecret), + }) + }) + require.NoError(t, err) + + // A UxOut does not exist, it was already spent + err = verifySingleTxnSoftHardConstraints(txn, DefaultMaxBlockSize) + expectedErr := NewErrTxnViolatesHardConstraint(blockdb.NewErrUnspentNotExist(txn.In[0].Hex())) + require.Equal(t, expectedErr, err) + + // Check invalid sig + uxs = coin.CreateUnspents(b.Head, txn) + _, key := cipher.GenerateKeyPair() + toAddr2 := testutil.MakeAddress() + tx2 := makeSpendTx(t, uxs, []cipher.SecKey{key, key}, toAddr2, 5e6) + err = verifySingleTxnSoftHardConstraints(tx2, DefaultMaxBlockSize) + requireHardViolation(t, "Signature not valid for output being spent", err) + + // Create lost coin transaction + uxs2 := coin.CreateUnspents(b.Head, txn) + toAddr3 := testutil.MakeAddress() + lostCoinTx := makeLostCoinTx(coin.UxArray{uxs2[1]}, []cipher.SecKey{genSecret}, toAddr3, 10e5) + err = verifySingleTxnSoftHardConstraints(lostCoinTx, DefaultMaxBlockSize) + requireHardViolation(t, "Transactions may not destroy coins", err) + + // Create transaction with duplicate UxOuts + uxs = coin.CreateUnspents(b.Head, txn) + toAddr4 := testutil.MakeAddress() + dupUxOutTx := makeDuplicateUxOutTx(coin.UxArray{uxs[0]}, []cipher.SecKey{genSecret}, toAddr4, 1e6) + err = verifySingleTxnSoftHardConstraints(dupUxOutTx, DefaultMaxBlockSize) + requireHardViolation(t, "Duplicate output in transaction", err) +} + +func TestVerifyTxnFeeCoinHoursAdditionFails(t *testing.T) { + // Test that VerifySingleTxnSoftConstraints fails if a uxIn.CoinHours() call fails. + // This is a separate test on its own, because it's not possible to reach the line + // that is being tested through the blockchain verify API wrappers + db, closeDB := prepareDB(t) + defer closeDB() + + err := CreateBuckets(db) + require.NoError(t, err) + + store, err := blockdb.NewBlockchain(db, DefaultWalker) + require.NoError(t, err) + + bc := &Blockchain{ + db: db, + store: store, + } + + gb := addGenesisBlockToBlockchain(t, bc) + + toAddr := testutil.MakeAddress() + coins := uint64(10e6) + + // create normal spending txn + uxs := coin.CreateUnspents(gb.Head, gb.Body.Transactions[0]) + txn := makeSpendTx(t, uxs, []cipher.SecKey{genSecret}, toAddr, coins) + + var uxIn coin.UxArray + var head *coin.SignedBlock + err = db.View("", func(tx *dbutil.Tx) error { + var err error + uxIn, err = bc.Unspent().GetArray(tx, txn.In) + require.NoError(t, err) + require.NotEmpty(t, uxIn) + + head, err = bc.Head(tx) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + + // Set the uxIn's hours high, so that uxIn.CoinHours() returns an error + uxIn[0].Body.Hours = math.MaxUint64 + _, coinHoursErr := uxIn[0].CoinHours(head.Time() + 1e6) + testutil.RequireError(t, coinHoursErr, "UxOut.CoinHours addition of earned coin hours overflow") + + // VerifySingleTxnSoftConstraints should fail on this, when trying to calculate the TransactionFee + err = VerifySingleTxnSoftConstraints(txn, head.Time()+1e6, uxIn, DefaultMaxBlockSize) + testutil.RequireError(t, err, NewErrTxnViolatesSoftConstraint(coinHoursErr).Error()) + + // VerifySingleTxnHardConstraints should fail on this, when performing the extra check of + // uxIn.CoinHours() errors, which is ignored by VerifyTransactionHoursSpending if the error + // is because of the earned hours addition overflow + head.Block.Head.Time += 1e6 + err = VerifySingleTxnHardConstraints(txn, head, uxIn) + testutil.RequireError(t, err, NewErrTxnViolatesHardConstraint(coinHoursErr).Error()) +} + +func TestVerifyTransactionIsLocked(t *testing.T) { + for _, addr := range GetLockedDistributionAddresses() { + t.Run(fmt.Sprintf("IsLocked: %s", addr), func(t *testing.T) { + testVerifyTransactionAddressLocking(t, addr, errors.New("Transaction has locked address inputs")) + }) + } +} + +func TestVerifyTransactionIsUnlocked(t *testing.T) { + for _, addr := range GetUnlockedDistributionAddresses() { + t.Run(fmt.Sprintf("IsUnlocked: %s", addr), func(t *testing.T) { + testVerifyTransactionAddressLocking(t, addr, nil) + }) + } +} + +func testVerifyTransactionAddressLocking(t *testing.T, toAddr string, expectedErr error) { + addr, err := cipher.DecodeBase58Address(toAddr) + require.NoError(t, err) + + db, close := prepareDB(t) + defer close() + + _, s := cipher.GenerateKeyPair() + + // Setup blockchain + bc := MakeBlockchain(t, db, s) + + // Send coins to the initial address + var coins = GenesisCoins + var hours uint64 = 1e6 + var fee uint64 = 5e8 + + txn := CreateGenesisSpendTransaction(t, db, bc, addr, coins, hours, fee) + uxOut := ExecuteGenesisSpendTransaction(t, db, bc, txn) + + // Create a transaction that spends from the locked address + // The secret key for the locked address is obviously unavailable here, + // instead, forge an invalid transaction. + // Transaction.Verify() is called after TransactionIsLocked(), + // so for this test it doesn't matter if transaction signature is wrong + randomAddress := testutil.MakeAddress() + txn = coin.Transaction{ + In: []cipher.SHA256{uxOut.Hash()}, + Out: []coin.TransactionOutput{ + { + Address: randomAddress, + Coins: uxOut.Body.Coins, + Hours: uxOut.Body.Hours / 2, + }, + }, + } + + var uxIn coin.UxArray + var head *coin.SignedBlock + err = db.View("", func(tx *dbutil.Tx) error { + var err error + uxIn, err = bc.Unspent().GetArray(tx, txn.In) + require.NoError(t, err) + require.NotEmpty(t, uxIn) + + head, err = bc.Head(tx) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + + err = VerifySingleTxnSoftConstraints(txn, head.Time(), uxIn, DefaultMaxBlockSize) + if expectedErr == nil { + require.NoError(t, err) + } else { + requireSoftViolation(t, expectedErr.Error(), err) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockchainer_mock_test.go b/vendor/github.com/skycoin/skycoin/src/visor/blockchainer_mock_test.go new file mode 100755 index 0000000..52e445c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockchainer_mock_test.go @@ -0,0 +1,413 @@ +/* +* CODE GENERATED AUTOMATICALLY WITH github.com/ernesto-jimenez/goautomock +* THIS FILE MUST NEVER BE EDITED MANUALLY + */ + +package visor + +import ( + "fmt" + + mock "github.com/stretchr/testify/mock" + + cipher "github.com/skycoin/skycoin/src/cipher" + coin "github.com/skycoin/skycoin/src/coin" + blockdb "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +// BlockchainerMock mock +type BlockchainerMock struct { + mock.Mock +} + +func NewBlockchainerMock() *BlockchainerMock { + return &BlockchainerMock{} +} + +// ExecuteBlock mocked method +func (m *BlockchainerMock) ExecuteBlock(p0 *dbutil.Tx, p1 *coin.SignedBlock) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// GetBlocks mocked method +func (m *BlockchainerMock) GetBlocks(p0 *dbutil.Tx, p1 uint64, p2 uint64) ([]coin.SignedBlock, error) { + + ret := m.Called(p0, p1, p2) + + var r0 []coin.SignedBlock + switch res := ret.Get(0).(type) { + case nil: + case []coin.SignedBlock: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetGenesisBlock mocked method +func (m *BlockchainerMock) GetGenesisBlock(p0 *dbutil.Tx) (*coin.SignedBlock, error) { + + ret := m.Called(p0) + + var r0 *coin.SignedBlock + switch res := ret.Get(0).(type) { + case nil: + case *coin.SignedBlock: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetLastBlocks mocked method +func (m *BlockchainerMock) GetLastBlocks(p0 *dbutil.Tx, p1 uint64) ([]coin.SignedBlock, error) { + + ret := m.Called(p0, p1) + + var r0 []coin.SignedBlock + switch res := ret.Get(0).(type) { + case nil: + case []coin.SignedBlock: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetSignedBlockByHash mocked method +func (m *BlockchainerMock) GetSignedBlockByHash(p0 *dbutil.Tx, p1 cipher.SHA256) (*coin.SignedBlock, error) { + + ret := m.Called(p0, p1) + + var r0 *coin.SignedBlock + switch res := ret.Get(0).(type) { + case nil: + case *coin.SignedBlock: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetSignedBlockBySeq mocked method +func (m *BlockchainerMock) GetSignedBlockBySeq(p0 *dbutil.Tx, p1 uint64) (*coin.SignedBlock, error) { + + ret := m.Called(p0, p1) + + var r0 *coin.SignedBlock + switch res := ret.Get(0).(type) { + case nil: + case *coin.SignedBlock: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// Head mocked method +func (m *BlockchainerMock) Head(p0 *dbutil.Tx) (*coin.SignedBlock, error) { + + ret := m.Called(p0) + + var r0 *coin.SignedBlock + switch res := ret.Get(0).(type) { + case nil: + case *coin.SignedBlock: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// HeadSeq mocked method +func (m *BlockchainerMock) HeadSeq(p0 *dbutil.Tx) (uint64, bool, error) { + + ret := m.Called(p0) + + var r0 uint64 + switch res := ret.Get(0).(type) { + case nil: + case uint64: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 bool + switch res := ret.Get(1).(type) { + case nil: + case bool: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r2 error + switch res := ret.Get(2).(type) { + case nil: + case error: + r2 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1, r2 + +} + +// Len mocked method +func (m *BlockchainerMock) Len(p0 *dbutil.Tx) (uint64, error) { + + ret := m.Called(p0) + + var r0 uint64 + switch res := ret.Get(0).(type) { + case nil: + case uint64: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// NewBlock mocked method +func (m *BlockchainerMock) NewBlock(p0 *dbutil.Tx, p1 coin.Transactions, p2 uint64) (*coin.Block, error) { + + ret := m.Called(p0, p1, p2) + + var r0 *coin.Block + switch res := ret.Get(0).(type) { + case nil: + case *coin.Block: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// Time mocked method +func (m *BlockchainerMock) Time(p0 *dbutil.Tx) (uint64, error) { + + ret := m.Called(p0) + + var r0 uint64 + switch res := ret.Get(0).(type) { + case nil: + case uint64: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// TransactionFee mocked method +func (m *BlockchainerMock) TransactionFee(p0 *dbutil.Tx, p1 uint64) coin.FeeCalculator { + + ret := m.Called(p0, p1) + + var r0 coin.FeeCalculator + switch res := ret.Get(0).(type) { + case nil: + case coin.FeeCalculator: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// Unspent mocked method +func (m *BlockchainerMock) Unspent() blockdb.UnspentPooler { + + ret := m.Called() + + var r0 blockdb.UnspentPooler + switch res := ret.Get(0).(type) { + case nil: + case blockdb.UnspentPooler: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// VerifyBlockTxnConstraints mocked method +func (m *BlockchainerMock) VerifyBlockTxnConstraints(p0 *dbutil.Tx, p1 coin.Transaction) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// VerifySingleTxnSoftHardConstraints mocked method +func (m *BlockchainerMock) VerifySingleTxnSoftHardConstraints(p0 *dbutil.Tx, p1 coin.Transaction, p2 int) error { + + ret := m.Called(p0, p1, p2) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// VerifySingleTxnHardConstraints mocked method +func (m *BlockchainerMock) VerifySingleTxnHardConstraints(p0 *dbutil.Tx, p1 coin.Transaction) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/block_tree.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/block_tree.go new file mode 100755 index 0000000..6397126 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/block_tree.go @@ -0,0 +1,243 @@ +package blockdb + +import ( + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + emptyHash cipher.SHA256 + errBlockExist = errors.New("block already exists") + errNoParent = errors.New("block is not genesis and has no parent") + errWrongParent = errors.New("wrong parent") + errHasChild = errors.New("remove block failed, it has children") + + // BlocksBkt holds coin.Blocks + BlocksBkt = []byte("blocks") + // TreeBkt maps block height to a (prev, hash) pair for a block + TreeBkt = []byte("block_tree") +) + +// Walker function for go through blockchain +type Walker func(*dbutil.Tx, []coin.HashPair) (cipher.SHA256, bool) + +// blockTree use the blockdb store all blocks and maintains the block tree struct. +type blockTree struct{} + +// AddBlock adds block with *dbutil.Tx +func (bt *blockTree) AddBlock(tx *dbutil.Tx, b *coin.Block) error { + // can't store block if it's not genesis block and has no parent. + if b.Seq() > 0 && b.PreHashHeader() == emptyHash { + return errNoParent + } + + // check if the block already exist. + hash := b.HashHeader() + if ok, err := dbutil.BucketHasKey(tx, BlocksBkt, hash[:]); err != nil { + return err + } else if ok { + return errBlockExist + } + + // write block into blocks bucket. + if err := dbutil.PutBucketValue(tx, BlocksBkt, hash[:], encoder.Serialize(b)); err != nil { + return err + } + + // the pre hash must be in depth - 1. + if b.Seq() > 0 { + preHash := b.PreHashHeader() + parentHashPair, err := getHashPairInDepth(tx, b.Seq()-1, func(hp coin.HashPair) bool { + return hp.Hash == preHash + }) + if err != nil { + return err + } + if len(parentHashPair) == 0 { + return errWrongParent + } + } + + hp := coin.HashPair{ + Hash: hash, + PreHash: b.Head.PrevHash, + } + + // get block pairs in the depth + hashPairs, err := getHashPairInDepth(tx, b.Seq(), allPairs) + if err != nil { + return err + } + + if len(hashPairs) == 0 { + // no hash pair exist in the depth. + // write the hash pair into tree. + return setHashPairInDepth(tx, b.Seq(), []coin.HashPair{hp}) + } + + // check dup block + if containHash(hashPairs, hp) { + return errBlockExist + } + + hashPairs = append(hashPairs, hp) + return setHashPairInDepth(tx, b.Seq(), hashPairs) +} + +// RemoveBlock remove block from blocks bucket and tree bucket. +// can't remove block if it has children. +func (bt *blockTree) RemoveBlock(tx *dbutil.Tx, b *coin.Block) error { + // delete block in blocks bucket. + hash := b.HashHeader() + if err := dbutil.Delete(tx, BlocksBkt, hash[:]); err != nil { + return err + } + + // check if this block has children + if has, err := hasChild(tx, *b); err != nil { + return err + } else if has { + return errHasChild + } + + // get block hash pairs in depth + hashPairs, err := getHashPairInDepth(tx, b.Seq(), allPairs) + if err != nil { + return err + } + + // remove block hash pair in tree. + ps := removePairs(hashPairs, coin.HashPair{ + Hash: hash, + PreHash: b.PreHashHeader(), + }) + + if len(ps) == 0 { + return dbutil.Delete(tx, TreeBkt, dbutil.Itob(b.Seq())) + } + + // update the hash pairs in tree. + return setHashPairInDepth(tx, b.Seq(), ps) +} + +// GetBlock get block by hash, return nil on not found +func (bt *blockTree) GetBlock(tx *dbutil.Tx, hash cipher.SHA256) (*coin.Block, error) { + var b coin.Block + + if ok, err := dbutil.GetBucketObjectDecoded(tx, BlocksBkt, hash[:], &b); err != nil { + return nil, err + } else if !ok { + return nil, nil + } + + if hash != b.HashHeader() { + return nil, fmt.Errorf("DB key %s does not match block hash header %s", hash, b.HashHeader()) + } + + return &b, nil +} + +// GetBlockInDepth get block in depth, return nil on not found, +// the filter is used to choose the appropriate block. +func (bt *blockTree) GetBlockInDepth(tx *dbutil.Tx, depth uint64, filter Walker) (*coin.Block, error) { + hash, ok, err := bt.getHashInDepth(tx, depth, filter) + if err != nil { + return nil, fmt.Errorf("BlockTree.getHashInDepth failed: %v", err) + } else if !ok { + return nil, nil + } + + return bt.GetBlock(tx, hash) +} + +// ForEachBlock iterates all blocks and calls f on them +func (bt *blockTree) ForEachBlock(tx *dbutil.Tx, f func(b *coin.Block) error) error { + return dbutil.ForEach(tx, BlocksBkt, func(_, v []byte) error { + var b coin.Block + if err := encoder.DeserializeRaw(v, &b); err != nil { + return err + } + + return f(&b) + }) +} + +func (bt *blockTree) getHashInDepth(tx *dbutil.Tx, depth uint64, filter Walker) (cipher.SHA256, bool, error) { + var pairs []coin.HashPair + if ok, err := dbutil.GetBucketObjectDecoded(tx, TreeBkt, dbutil.Itob(depth), &pairs); err != nil { + return cipher.SHA256{}, false, err + } else if !ok { + return cipher.SHA256{}, false, nil + } + + hash, ok := filter(tx, pairs) + if !ok { + return cipher.SHA256{}, false, errors.New("No hash found in depth") + } + + return hash, true, nil +} + +func containHash(hashPairs []coin.HashPair, pair coin.HashPair) bool { + for _, p := range hashPairs { + if p.Hash == pair.Hash { + return true + } + } + return false +} + +func removePairs(hps []coin.HashPair, pair coin.HashPair) []coin.HashPair { + pairs := []coin.HashPair{} + for _, p := range hps { + if p.Hash == pair.Hash && p.PreHash == pair.PreHash { + continue + } + pairs = append(pairs, p) + } + return pairs +} + +func getHashPairInDepth(tx *dbutil.Tx, dep uint64, fn func(hp coin.HashPair) bool) ([]coin.HashPair, error) { + var hps []coin.HashPair + if ok, err := dbutil.GetBucketObjectDecoded(tx, TreeBkt, dbutil.Itob(dep), &hps); err != nil { + return nil, err + } else if !ok { + return nil, nil + } + + var pairs []coin.HashPair + for _, ps := range hps { + if fn(ps) { + pairs = append(pairs, ps) + } + } + return pairs, nil +} + +// check if this block has children +func hasChild(tx *dbutil.Tx, b coin.Block) (bool, error) { + // get the child block hash pair, whose pre hash point to current block. + childHashPair, err := getHashPairInDepth(tx, b.Head.BkSeq+1, func(hp coin.HashPair) bool { + return hp.PreHash == b.HashHeader() + }) + + if err != nil { + return false, err + } + + return len(childHashPair) > 0, nil +} + +func setHashPairInDepth(tx *dbutil.Tx, dep uint64, hps []coin.HashPair) error { + return dbutil.PutBucketValue(tx, TreeBkt, dbutil.Itob(dep), encoder.Serialize(hps)) +} + +func allPairs(hp coin.HashPair) bool { + return true +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/block_tree_test.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/block_tree_test.go new file mode 100755 index 0000000..8e93227 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/block_tree_test.go @@ -0,0 +1,228 @@ +package blockdb + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +type blockInfo struct { + Seq uint64 + Time uint64 + Fee uint64 + Pre int +} + +type blockCase struct { + BInfo blockInfo + Err error + Action string +} + +func testCase(t *testing.T, cases []blockCase) { + db, close := prepareDB(t) + defer close() + + btree := &blockTree{} + blocks := make([]coin.Block, len(cases)) + for i, d := range cases { + var preHash cipher.SHA256 + if d.BInfo.Pre != -1 { + preHash = blocks[d.BInfo.Pre].HashHeader() + } + + b := coin.Block{ + Head: coin.BlockHeader{ + BkSeq: d.BInfo.Seq, + Time: d.BInfo.Time, + Fee: d.BInfo.Fee, + PrevHash: preHash, + }, + } + blocks[i] = b + + err := db.Update("", func(tx *dbutil.Tx) error { + switch d.Action { + case "add": + err := btree.AddBlock(tx, &b) + require.Equal(t, d.Err, err, "expect err:%v, but get err:%v", d.Err, err) + + if err == nil { + b1, err := btree.GetBlock(tx, b.HashHeader()) + require.NoError(t, err) + require.Equal(t, b, *b1) + } + case "remove": + err := btree.RemoveBlock(tx, &b) + require.Equal(t, d.Err, err, "expect err:%v, but get err:%v", d.Err, err) + if err == nil { + b1, err := btree.GetBlock(tx, b.HashHeader()) + require.NoError(t, err) + require.Nil(t, b1) + } + } + + return nil + }) + + require.NoError(t, err) + } +} + +func TestAddBlock(t *testing.T) { + testData := []blockCase{ + blockCase{ + BInfo: blockInfo{Seq: 0, Time: 0, Fee: 0, Pre: -1}, + Err: nil, + Action: "add", + }, + blockCase{ + BInfo: blockInfo{Seq: 1, Time: 0, Fee: 0, Pre: 0}, + Err: nil, + Action: "add", + }, + blockCase{ + BInfo: blockInfo{Seq: 1, Time: 1, Fee: 0, Pre: 0}, + Err: nil, + Action: "add", + }, + blockCase{ + BInfo: blockInfo{Seq: 2, Time: 2, Fee: 0, Pre: 1}, + Err: nil, + Action: "add", + }, + blockCase{ + BInfo: blockInfo{Seq: 2, Time: 2, Fee: 0, Pre: 1}, + Err: errBlockExist, + Action: "add", + }, + blockCase{ + BInfo: blockInfo{Seq: 2, Time: 2, Fee: 0, Pre: 0}, + Err: errWrongParent, + Action: "add", + }, + blockCase{ + BInfo: blockInfo{Seq: 4, Time: 2, Fee: 0, Pre: 3}, + Err: errWrongParent, + Action: "add", + }, + blockCase{ + BInfo: blockInfo{Seq: 3, Time: 2, Fee: 0, Pre: -1}, + Err: errNoParent, + Action: "add", + }, + } + + testCase(t, testData) +} + +func TestRemoveBlock(t *testing.T) { + testData := []blockCase{ + blockCase{ + BInfo: blockInfo{Seq: 0, Time: 0, Fee: 0, Pre: -1}, + Err: nil, + Action: "add", + }, + blockCase{ + BInfo: blockInfo{Seq: 1, Time: 1, Fee: 0, Pre: 0}, + Err: nil, + Action: "add", + }, + blockCase{ + BInfo: blockInfo{Seq: 1, Time: 2, Fee: 0, Pre: 0}, + Err: nil, + Action: "add", + }, + // remove block normally. + blockCase{ + BInfo: blockInfo{Seq: 1, Time: 2, Fee: 0, Pre: 0}, + Err: nil, + Action: "remove", + }, + // remove genesis block, which has children. + blockCase{ + BInfo: blockInfo{Seq: 0, Time: 0, Fee: 0, Pre: -1}, + Err: errHasChild, + Action: "remove", + }, + // remove the last block in depth 1. + blockCase{ + BInfo: blockInfo{Seq: 1, Time: 1, Fee: 0, Pre: 0}, + Err: nil, + Action: "remove", + }, + } + + testCase(t, testData) +} + +func TestGetBlockInDepth(t *testing.T) { + db, teardown := prepareDB(t) + defer teardown() + + bc := &blockTree{} + blocks := []coin.Block{ + coin.Block{ + Head: coin.BlockHeader{ + BkSeq: 0, + Time: 0, + Fee: 0, + }, + }, + coin.Block{ + Head: coin.BlockHeader{ + BkSeq: 1, + Time: 1, + }, + }, + coin.Block{ + Head: coin.BlockHeader{ + BkSeq: 1, + Time: 2, + }, + }, + } + + err := db.Update("", func(tx *dbutil.Tx) error { + err := bc.AddBlock(tx, &blocks[0]) + require.NoError(t, err) + + blocks[1].Head.PrevHash = blocks[0].HashHeader() + err = bc.AddBlock(tx, &blocks[1]) + require.NoError(t, err) + + blocks[2].Head.PrevHash = blocks[0].HashHeader() + err = bc.AddBlock(tx, &blocks[2]) + require.NoError(t, err) + + return nil + }) + + require.NoError(t, err) + + var block *coin.Block + err = db.View("", func(tx *dbutil.Tx) error { + var err error + block, err = bc.GetBlockInDepth(tx, 1, func(tx *dbutil.Tx, hps []coin.HashPair) (cipher.SHA256, bool) { + for _, hp := range hps { + b, err := bc.GetBlock(tx, hp.Hash) + require.NoError(t, err) + if b.Time() == 2 { + return b.HashHeader(), true + } + } + return cipher.SHA256{}, false + }) + require.NoError(t, err) + return err + }) + + require.NoError(t, err) + + require.NotNil(t, block) + require.Equal(t, blocks[2], *block) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blockchain.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blockchain.go new file mode 100755 index 0000000..13f6a72 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blockchain.go @@ -0,0 +1,258 @@ +package blockdb + +import ( + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + logger = logging.MustGetLogger("blockdb") + + // ErrNoHeadBlock is returned when calling Blockchain.Head() when no head block exists + ErrNoHeadBlock = fmt.Errorf("found no head block") +) + +// ErrMissingSignature is returned if a block in the db does not have a corresponding signature in the db +type ErrMissingSignature struct { + b *coin.Block +} + +// NewErrMissingSignature creates ErrMissingSignature from *coin.Block +func NewErrMissingSignature(b *coin.Block) error { + return ErrMissingSignature{ + b: b, + } +} + +func (e ErrMissingSignature) Error() string { + return fmt.Sprintf("Signature not found for block seq=%d hash=%s", e.b.Head.BkSeq, e.b.HashHeader().Hex()) +} + +// CreateBuckets creates bolt.DB buckets used by the blockdb +func CreateBuckets(tx *dbutil.Tx) error { + return dbutil.CreateBuckets(tx, [][]byte{ + BlockSigsBkt, + BlocksBkt, + TreeBkt, + BlockchainMetaBkt, + UnspentPoolBkt, + UnspentPoolAddrIndexBkt, + UnspentMetaBkt, + }) +} + +// BlockTree block storage +type BlockTree interface { + AddBlock(*dbutil.Tx, *coin.Block) error + GetBlock(*dbutil.Tx, cipher.SHA256) (*coin.Block, error) + GetBlockInDepth(*dbutil.Tx, uint64, Walker) (*coin.Block, error) + ForEachBlock(*dbutil.Tx, func(*coin.Block) error) error +} + +// BlockSigs block signature storage +type BlockSigs interface { + Add(*dbutil.Tx, cipher.SHA256, cipher.Sig) error + Get(*dbutil.Tx, cipher.SHA256) (cipher.Sig, bool, error) + ForEach(*dbutil.Tx, func(cipher.SHA256, cipher.Sig) error) error +} + +// UnspentPooler unspent outputs pool +type UnspentPooler interface { + MaybeBuildIndexes(*dbutil.Tx, uint64) error + Len(*dbutil.Tx) (uint64, error) + Contains(*dbutil.Tx, cipher.SHA256) (bool, error) + Get(*dbutil.Tx, cipher.SHA256) (*coin.UxOut, error) + GetAll(*dbutil.Tx) (coin.UxArray, error) + GetArray(*dbutil.Tx, []cipher.SHA256) (coin.UxArray, error) + GetUxHash(*dbutil.Tx) (cipher.SHA256, error) + GetUnspentsOfAddrs(*dbutil.Tx, []cipher.Address) (coin.AddressUxOuts, error) + ProcessBlock(*dbutil.Tx, *coin.SignedBlock) error + AddressCount(*dbutil.Tx) (uint64, error) +} + +// ChainMeta blockchain metadata +type ChainMeta interface { + GetHeadSeq(*dbutil.Tx) (uint64, bool, error) + SetHeadSeq(*dbutil.Tx, uint64) error +} + +// Blockchain maintain the buckets for blockchain +type Blockchain struct { + db *dbutil.DB + meta ChainMeta + unspent UnspentPooler + tree BlockTree + sigs BlockSigs + walker Walker +} + +// NewBlockchain creates a new blockchain instance +func NewBlockchain(db *dbutil.DB, walker Walker) (*Blockchain, error) { + if db == nil { + return nil, errors.New("db is nil") + } + + if walker == nil { + return nil, errors.New("blockchain walker is nil") + } + + return &Blockchain{ + db: db, + unspent: NewUnspentPool(), + meta: &chainMeta{}, + tree: &blockTree{}, + sigs: &blockSigs{}, + walker: walker, + }, nil +} + +// UnspentPool returns the unspent pool +func (bc *Blockchain) UnspentPool() UnspentPooler { + return bc.unspent +} + +// AddBlock adds signed block +func (bc *Blockchain) AddBlock(tx *dbutil.Tx, sb *coin.SignedBlock) error { + if err := bc.sigs.Add(tx, sb.HashHeader(), sb.Sig); err != nil { + return fmt.Errorf("save signature failed: %v", err) + } + + if err := bc.tree.AddBlock(tx, &sb.Block); err != nil { + return fmt.Errorf("save block failed: %v", err) + } + + // update block head seq and unspent pool + if err := bc.processBlock(tx, sb); err != nil { + return err + } + + return nil +} + +// processBlock processes a block and updates the db +func (bc *Blockchain) processBlock(tx *dbutil.Tx, b *coin.SignedBlock) error { + if err := bc.unspent.ProcessBlock(tx, b); err != nil { + return err + } + + return bc.meta.SetHeadSeq(tx, b.Seq()) +} + +// Head returns head block, returns error if no head block exists +func (bc *Blockchain) Head(tx *dbutil.Tx) (*coin.SignedBlock, error) { + seq, ok, err := bc.HeadSeq(tx) + if err != nil { + return nil, err + } else if !ok { + return nil, ErrNoHeadBlock + } + + b, err := bc.GetSignedBlockBySeq(tx, seq) + if err != nil { + return nil, err + } + + if b == nil { + return nil, ErrNoHeadBlock + } + + return b, nil +} + +// HeadSeq returns the head block sequence +func (bc *Blockchain) HeadSeq(tx *dbutil.Tx) (uint64, bool, error) { + return bc.meta.GetHeadSeq(tx) +} + +// Len returns blockchain length +func (bc *Blockchain) Len(tx *dbutil.Tx) (uint64, error) { + seq, ok, err := bc.meta.GetHeadSeq(tx) + if err != nil { + return 0, err + } else if !ok { + return 0, nil + } + + return seq + 1, nil +} + +// GetBlockSignature returns the signature of a block +func (bc *Blockchain) GetBlockSignature(tx *dbutil.Tx, b *coin.Block) (cipher.Sig, bool, error) { + return bc.sigs.Get(tx, b.HashHeader()) +} + +// GetBlockByHash returns block of given hash +func (bc *Blockchain) GetBlockByHash(tx *dbutil.Tx, hash cipher.SHA256) (*coin.Block, error) { + b, err := bc.tree.GetBlock(tx, hash) + if err != nil { + return nil, err + } + + return b, nil +} + +// GetSignedBlockByHash returns signed block of given hash +func (bc *Blockchain) GetSignedBlockByHash(tx *dbutil.Tx, hash cipher.SHA256) (*coin.SignedBlock, error) { + b, err := bc.tree.GetBlock(tx, hash) + if err != nil { + return nil, err + } + if b == nil { + return nil, nil + } + + // get signature + sig, ok, err := bc.sigs.Get(tx, hash) + if err != nil { + return nil, fmt.Errorf("find signature of block: %v failed: %v", hash.Hex(), err) + } + + if !ok { + return nil, NewErrMissingSignature(b) + } + + return &coin.SignedBlock{ + Block: *b, + Sig: sig, + }, nil +} + +// GetSignedBlockBySeq returns signed block of given seq +func (bc *Blockchain) GetSignedBlockBySeq(tx *dbutil.Tx, seq uint64) (*coin.SignedBlock, error) { + b, err := bc.tree.GetBlockInDepth(tx, seq, bc.walker) + if err != nil { + return nil, fmt.Errorf("bc.tree.GetBlockInDepth failed: %v", err) + } + if b == nil { + return nil, nil + } + + sig, ok, err := bc.sigs.Get(tx, b.HashHeader()) + if err != nil { + return nil, fmt.Errorf("find signature of block: %v failed: %v", seq, err) + } + + if !ok { + return nil, NewErrMissingSignature(b) + } + + return &coin.SignedBlock{ + Block: *b, + Sig: sig, + }, nil +} + +// GetGenesisBlock returns genesis block +func (bc *Blockchain) GetGenesisBlock(tx *dbutil.Tx) (*coin.SignedBlock, error) { + return bc.GetSignedBlockBySeq(tx, 0) +} + +// ForEachBlock iterates all blocks and calls f on them +func (bc *Blockchain) ForEachBlock(tx *dbutil.Tx, f func(b *coin.Block) error) error { + return bc.tree.ForEachBlock(tx, f) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blockchain_test.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blockchain_test.go new file mode 100755 index 0000000..d115a35 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blockchain_test.go @@ -0,0 +1,602 @@ +package blockdb + +import ( + "errors" + "fmt" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +func prepareDB(t *testing.T) (*dbutil.DB, func()) { + db, shutdown := testutil.PrepareDB(t) + + err := db.Update("", func(tx *dbutil.Tx) error { + return CreateBuckets(tx) + }) + if err != nil { + shutdown() + t.Fatalf("CreateBuckets failed: %v", err) + } + + return db, shutdown +} + +var ( + genPublic, genSecret = cipher.GenerateKeyPair() + genAddress = cipher.AddressFromPubKey(genPublic) + + genTime uint64 = 1000 + genCoinHours uint64 = 1000 * 1000 +) + +func feeCalc(t *coin.Transaction) (uint64, error) { + return 0, nil +} + +type fakeStorage struct { + tree *fakeBlockTree + sigs *fakeSignatureStore + unspent *fakeUnspentPool + chainMeta *fakeChainMeta +} + +func newFakeStorage() *fakeStorage { + var failedWhenSaved bool + return &fakeStorage{ + tree: newFakeBlockTree(&failedWhenSaved), + sigs: newFakeSigStore(&failedWhenSaved), + unspent: newFakeUnspentPool(&failedWhenSaved), + chainMeta: newFakeChainMeta(), + } +} + +type fakeBlockTree struct { + blocks map[string]*coin.Block + saveFailed bool + + // state tracking: do not configure directly + // set to true if saveFailed was true and certain operations were performed + failedWhenSaved *bool +} + +func newFakeBlockTree(failedWhenSaved *bool) *fakeBlockTree { + return &fakeBlockTree{ + blocks: make(map[string]*coin.Block), + failedWhenSaved: failedWhenSaved, + } +} + +func (bt *fakeBlockTree) AddBlock(tx *dbutil.Tx, b *coin.Block) error { + if bt.saveFailed { + if bt.failedWhenSaved != nil { + *bt.failedWhenSaved = true + } + return errors.New("intentionally failed") + } + bt.blocks[b.HashHeader().Hex()] = b + return nil +} + +func (bt *fakeBlockTree) GetBlock(tx *dbutil.Tx, hash cipher.SHA256) (*coin.Block, error) { + if bt.failedWhenSaved != nil && *bt.failedWhenSaved { + return nil, nil + } + return bt.blocks[hash.Hex()], nil +} + +func (bt *fakeBlockTree) GetBlockInDepth(tx *dbutil.Tx, dep uint64, filter Walker) (*coin.Block, error) { + if bt.failedWhenSaved != nil && *bt.failedWhenSaved { + return nil, nil + } + + for _, b := range bt.blocks { + if b.Head.BkSeq == dep { + return b, nil + } + } + + return nil, nil +} + +func (bt *fakeBlockTree) ForEachBlock(tx *dbutil.Tx, f func(*coin.Block) error) error { + return nil +} + +type fakeSignatureStore struct { + sigs map[string]cipher.Sig + saveFailed bool + getSigErr error + + // state tracking: do not configure directly + // set to true if saveFailed was true and certain operations were performed + failedWhenSaved *bool +} + +func newFakeSigStore(failedWhenSaved *bool) *fakeSignatureStore { + return &fakeSignatureStore{ + sigs: make(map[string]cipher.Sig), + failedWhenSaved: failedWhenSaved, + } +} + +func (ss *fakeSignatureStore) Add(tx *dbutil.Tx, hash cipher.SHA256, sig cipher.Sig) error { + if ss.saveFailed { + if ss.failedWhenSaved != nil { + *ss.failedWhenSaved = true + } + return errors.New("intentionally failed") + } + + ss.sigs[hash.Hex()] = sig + return nil +} + +func (ss *fakeSignatureStore) Get(tx *dbutil.Tx, hash cipher.SHA256) (cipher.Sig, bool, error) { + if ss.failedWhenSaved != nil && *ss.failedWhenSaved { + return cipher.Sig{}, false, nil + } + + if ss.getSigErr != nil { + return cipher.Sig{}, false, ss.getSigErr + } + + sig, ok := ss.sigs[hash.Hex()] + return sig, ok, nil +} + +func (ss *fakeSignatureStore) ForEach(tx *dbutil.Tx, f func(cipher.SHA256, cipher.Sig) error) error { + return nil +} + +type fakeUnspentPool struct { + outs map[cipher.SHA256]coin.UxOut + uxHash cipher.SHA256 + saveFailed bool + + // state tracking: do not configure directly + // set to true if saveFailed was true and certain operations were performed + failedWhenSaved *bool +} + +func newFakeUnspentPool(failedWhenSaved *bool) *fakeUnspentPool { + return &fakeUnspentPool{ + outs: make(map[cipher.SHA256]coin.UxOut), + failedWhenSaved: failedWhenSaved, + } +} + +func (fup *fakeUnspentPool) MaybeBuildIndexes(tx *dbutil.Tx, height uint64) error { + return nil +} + +func (fup *fakeUnspentPool) Len(tx *dbutil.Tx) (uint64, error) { + return uint64(len(fup.outs)), nil +} + +func (fup *fakeUnspentPool) Get(tx *dbutil.Tx, h cipher.SHA256) (*coin.UxOut, error) { + out, ok := fup.outs[h] + if !ok { + return nil, nil + } + return &out, nil +} + +func (fup *fakeUnspentPool) GetAll(tx *dbutil.Tx) (coin.UxArray, error) { + outs := make(coin.UxArray, 0, len(fup.outs)) + for _, out := range fup.outs { + outs = append(outs, out) + } + + return outs, nil +} + +func (fup *fakeUnspentPool) GetArray(tx *dbutil.Tx, hashes []cipher.SHA256) (coin.UxArray, error) { + outs := make(coin.UxArray, 0, len(hashes)) + for _, h := range hashes { + ux, ok := fup.outs[h] + if !ok { + return nil, fmt.Errorf("unspent output of %s does not exist", h.Hex()) + } + + outs = append(outs, ux) + } + return outs, nil +} + +func (fup *fakeUnspentPool) GetUxHash(tx *dbutil.Tx) (cipher.SHA256, error) { + return fup.uxHash, nil +} + +func (fup *fakeUnspentPool) GetUnspentsOfAddrs(tx *dbutil.Tx, addrs []cipher.Address) (coin.AddressUxOuts, error) { + addrm := make(map[cipher.Address]struct{}, len(addrs)) + for _, a := range addrs { + addrm[a] = struct{}{} + } + + addrOutMap := make(coin.AddressUxOuts) + for _, out := range fup.outs { + addr := out.Body.Address + addrOutMap[addr] = append(addrOutMap[addr], out) + } + + return addrOutMap, nil +} + +func (fup *fakeUnspentPool) ProcessBlock(tx *dbutil.Tx, b *coin.SignedBlock) error { + if fup.saveFailed { + if fup.failedWhenSaved != nil { + *fup.failedWhenSaved = true + } + return errors.New("intentionally failed") + } + return nil +} + +func (fup *fakeUnspentPool) Contains(tx *dbutil.Tx, h cipher.SHA256) (bool, error) { + _, ok := fup.outs[h] + return ok, nil +} + +func (fup *fakeUnspentPool) AddressCount(tx *dbutil.Tx) (uint64, error) { + addrs := make(map[cipher.Address]struct{}) + for _, out := range fup.outs { + addrs[out.Body.Address] = struct{}{} + } + + return uint64(len(addrs)), nil +} + +type fakeChainMeta struct { + headSeq uint64 + didSetSeq bool +} + +func newFakeChainMeta() *fakeChainMeta { + return &fakeChainMeta{} +} + +func (fcm *fakeChainMeta) GetHeadSeq(tx *dbutil.Tx) (uint64, bool, error) { + if !fcm.didSetSeq { + return 0, false, nil + } + + return fcm.headSeq, true, nil +} + +func (fcm *fakeChainMeta) SetHeadSeq(tx *dbutil.Tx, seq uint64) error { + fcm.headSeq = seq + fcm.didSetSeq = true + return nil +} + +func DefaultWalker(tx *dbutil.Tx, hps []coin.HashPair) (cipher.SHA256, bool) { + return hps[0].Hash, true +} + +func makeGenesisBlock(t *testing.T) coin.SignedBlock { + gb, err := coin.NewGenesisBlock(genAddress, genCoinHours, genTime) + require.NoError(t, err) + + sig := cipher.SignHash(gb.HashHeader(), genSecret) + return coin.SignedBlock{ + Block: *gb, + Sig: sig, + } +} + +func TestBlockchainAddBlockWithTx(t *testing.T) { + type expect struct { + err error + sigSaved bool + blockSaved bool + headSeq uint64 + } + + type failedSaves struct { + tree bool + sigs bool + unspent bool + } + + tt := []struct { + name string + fakeStorage *fakeStorage + failedSaves failedSaves + expect expect + }{ + { + "ok", + newFakeStorage(), + failedSaves{}, + expect{ + nil, + true, + true, + uint64(0), + }, + }, + { + "save sig failed", + newFakeStorage(), + failedSaves{ + sigs: true, + }, + expect{ + errors.New("save signature failed: intentionally failed"), + false, + false, + uint64(0), + }, + }, + { + "save block failed", + newFakeStorage(), + failedSaves{ + tree: true, + }, + expect{ + errors.New("save block failed: intentionally failed"), + false, + false, + uint64(0), + }, + }, + { + "unspent process block failed", + newFakeStorage(), + failedSaves{ + unspent: true, + }, + expect{ + errors.New("intentionally failed"), + false, + false, + uint64(0), + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + + tc.fakeStorage.tree.saveFailed = tc.failedSaves.tree + tc.fakeStorage.sigs.saveFailed = tc.failedSaves.sigs + tc.fakeStorage.unspent.saveFailed = tc.failedSaves.unspent + + bc := &Blockchain{ + db: db, + unspent: tc.fakeStorage.unspent, + meta: tc.fakeStorage.chainMeta, + tree: tc.fakeStorage.tree, + sigs: tc.fakeStorage.sigs, + walker: DefaultWalker, + } + + gb := makeGenesisBlock(t) + + err := db.Update("", func(tx *dbutil.Tx) error { + err := bc.AddBlock(tx, &gb) + require.Equal(t, tc.expect.err, err) + return nil + }) + require.NoError(t, err) + + // check sig + err = db.View("", func(tx *dbutil.Tx) error { + _, ok, err := tc.fakeStorage.sigs.Get(tx, gb.HashHeader()) + require.NoError(t, err) + require.Equal(t, tc.expect.sigSaved, ok) + + // check block in tree + b, err := tc.fakeStorage.tree.GetBlock(tx, gb.HashHeader()) + require.NoError(t, err) + require.Equal(t, tc.expect.blockSaved, b != nil) + + // check head seq + headSeq, ok, err := bc.HeadSeq(tx) + require.NoError(t, err) + + if tc.expect.err == nil { + require.True(t, ok) + require.Equal(t, tc.expect.headSeq, headSeq) + } else { + require.False(t, ok) + } + + // check len + length, err := bc.Len(tx) + require.NoError(t, err) + + if tc.expect.err == nil { + require.Equal(t, uint64(1), length) + } else { + require.Equal(t, uint64(0), length) + } + + // check genesis block + genesisBlock, err := bc.GetGenesisBlock(tx) + require.NoError(t, err) + + if tc.expect.err == nil { + require.NotNil(t, genesisBlock) + require.Equal(t, gb, *genesisBlock) + } else { + require.Nil(t, genesisBlock) + } + + return nil + }) + require.NoError(t, err) + }) + } + +} + +func TestBlockchainHead(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + + bc, err := NewBlockchain(db, DefaultWalker) + require.NoError(t, err) + + err = db.Update("", func(tx *dbutil.Tx) error { + _, err = bc.Head(tx) + require.Equal(t, err, ErrNoHeadBlock) + + gb := makeGenesisBlock(t) + + err := bc.AddBlock(tx, &gb) + require.NoError(t, err) + + b, err := bc.Head(tx) + require.NoError(t, err) + require.Equal(t, gb.HashHeader().Hex(), b.HashHeader().Hex()) + + return nil + }) + require.NoError(t, err) +} + +func TestBlockchainLen(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + + bc, err := NewBlockchain(db, DefaultWalker) + require.NoError(t, err) + + err = db.View("", func(tx *dbutil.Tx) error { + length, err := bc.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(0), length) + return nil + }) + require.NoError(t, err) + + gb := makeGenesisBlock(t) + err = db.Update("", func(tx *dbutil.Tx) error { + err := bc.AddBlock(tx, &gb) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + + err = db.View("", func(tx *dbutil.Tx) error { + length, err := bc.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(1), length) + return nil + }) + require.NoError(t, err) +} + +func TestBlockchainGetBlockByHash(t *testing.T) { + gb := makeGenesisBlock(t) + + type expect struct { + err error + b *coin.SignedBlock + } + + tt := []struct { + name string + tree BlockTree + sigs BlockSigs + hash cipher.SHA256 + expect expect + }{ + { + "ok", + &fakeBlockTree{ + blocks: map[string]*coin.Block{ + gb.HashHeader().Hex(): &gb.Block, + }, + }, + &fakeSignatureStore{ + sigs: map[string]cipher.Sig{ + gb.HashHeader().Hex(): gb.Sig, + }, + }, + gb.HashHeader(), + expect{ + nil, + &gb, + }, + }, + { + "block not exist", + &fakeBlockTree{ + blocks: map[string]*coin.Block{}, + }, + &fakeSignatureStore{ + sigs: map[string]cipher.Sig{}, + }, + gb.HashHeader(), + expect{ + nil, + nil, + }, + }, + { + "signature not exist", + &fakeBlockTree{ + blocks: map[string]*coin.Block{ + gb.HashHeader().Hex(): &gb.Block, + }, + }, + &fakeSignatureStore{ + sigs: map[string]cipher.Sig{}, + }, + gb.HashHeader(), + expect{ + NewErrMissingSignature(&gb.Block), + nil, + }, + }, + { + "get signature error", + &fakeBlockTree{ + blocks: map[string]*coin.Block{ + gb.HashHeader().Hex(): &gb.Block, + }, + }, + &fakeSignatureStore{ + getSigErr: errors.New("intentional error"), + sigs: map[string]cipher.Sig{}, + }, + gb.HashHeader(), + expect{ + fmt.Errorf("find signature of block: %v failed: intentional error", gb.HashHeader().Hex()), + nil, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + + bc, err := NewBlockchain(db, DefaultWalker) + require.NoError(t, err) + + bc.tree = tc.tree + bc.sigs = tc.sigs + + err = db.View("", func(tx *dbutil.Tx) error { + b, err := bc.GetSignedBlockByHash(tx, tc.hash) + require.Equal(t, tc.expect.err, err) + require.Equal(t, tc.expect.b, b) + return nil + }) + require.NoError(t, err) + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blocksigs.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blocksigs.go new file mode 100755 index 0000000..502d9e1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blocksigs.go @@ -0,0 +1,59 @@ +package blockdb + +import ( + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + // BlockSigsBkt holds block signatures + BlockSigsBkt = []byte("block_sigs") +) + +// blockSigs manages known blockSigs as received. +// TODO -- support out of order blocks. This requires a change to the +// message protocol to support ranges similar to bitcoin's locator hashes. +// We also need to keep track of whether a block has been executed so that +// as continuity is established we can execute chains of blocks. +// TODO -- Since we will need to hold blocks that cannot be verified +// immediately against the blockchain, we need to be able to hold multiple +// blockSigs per BkSeq, or use hashes as keys. For now, this is not a +// problem assuming the signed blocks created from master are valid blocks, +// because we can check the signature independently of the blockchain. +type blockSigs struct{} + +// Get returns the signature of a specific block +func (bs blockSigs) Get(tx *dbutil.Tx, hash cipher.SHA256) (cipher.Sig, bool, error) { + var sig cipher.Sig + + if ok, err := dbutil.GetBucketObjectDecoded(tx, BlockSigsBkt, hash[:], &sig); err != nil { + return cipher.Sig{}, false, err + } else if !ok { + return cipher.Sig{}, false, nil + } + + return sig, true, nil +} + +// Add adds a signed block to the db +func (bs *blockSigs) Add(tx *dbutil.Tx, hash cipher.SHA256, sig cipher.Sig) error { + return dbutil.PutBucketValue(tx, BlockSigsBkt, hash[:], encoder.Serialize(sig)) +} + +// ForEach iterates all signatures and calls f on them +func (bs *blockSigs) ForEach(tx *dbutil.Tx, f func(cipher.SHA256, cipher.Sig) error) error { + return dbutil.ForEach(tx, BlockSigsBkt, func(k, v []byte) error { + hash, err := cipher.SHA256FromBytes(k) + if err != nil { + return err + } + + var sig cipher.Sig + if err := encoder.DeserializeRaw(v, &sig); err != nil { + return err + } + + return f(hash, sig) + }) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blocksigs_test.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blocksigs_test.go new file mode 100755 index 0000000..09f7112 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blocksigs_test.go @@ -0,0 +1,127 @@ +package blockdb + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +func TestBlockSigsGet(t *testing.T) { + type hashSig struct { + hash cipher.SHA256 + sig cipher.Sig + } + + type expect struct { + exist bool + sig cipher.Sig + err error + } + + hashSigs := []hashSig{} + for i := 0; i < 5; i++ { + _, s := cipher.GenerateKeyPair() + h := testutil.RandSHA256(t) + + sig := cipher.SignHash(h, s) + hashSigs = append(hashSigs, hashSig{ + hash: h, + sig: sig, + }) + } + + tt := []struct { + name string + init []hashSig + hash cipher.SHA256 + expect expect + }{ + { + "ok", + hashSigs[:], + hashSigs[0].hash, + expect{ + true, + hashSigs[0].sig, + nil, + }, + }, + { + "not exist", + hashSigs[1:], + hashSigs[0].hash, + expect{ + false, + cipher.Sig{}, + nil, + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + + // init db + err := db.Update("", func(tx *dbutil.Tx) error { + bkt, err := tx.CreateBucketIfNotExists(BlockSigsBkt) + require.NoError(t, err) + for _, hs := range tc.init { + err = bkt.Put(hs.hash[:], encoder.Serialize(hs.sig)) + require.NoError(t, err) + } + return nil + }) + require.NoError(t, err) + + sigs := &blockSigs{} + + err = db.View("", func(tx *dbutil.Tx) error { + sg, ok, err := sigs.Get(tx, tc.hash) + require.Equal(t, tc.expect.err, err) + require.Equal(t, tc.expect.exist, ok) + if ok { + require.Equal(t, tc.expect.sig, sg) + } + + return nil + }) + require.NoError(t, err) + }) + } +} + +func TestBlockSigsAddWithTx(t *testing.T) { + db, closeDB := prepareDB(t) + defer closeDB() + + _, s := cipher.GenerateKeyPair() + h := testutil.RandSHA256(t) + sig := cipher.SignHash(h, s) + + sigs := &blockSigs{} + + err := db.Update("", func(tx *dbutil.Tx) error { + return sigs.Add(tx, h, sig) + }) + require.NoError(t, err) + + // check the db + err = db.View("", func(tx *dbutil.Tx) error { + bkt := tx.Bucket(BlockSigsBkt) + v := bkt.Get(h[:]) + require.NotNil(t, v) + var s cipher.Sig + err := encoder.DeserializeRaw(v, &s) + require.NoError(t, err) + require.Equal(t, sig, s) + return nil + }) + require.NoError(t, err) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/chain_meta.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/chain_meta.go new file mode 100755 index 0000000..fdfaf33 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/chain_meta.go @@ -0,0 +1,29 @@ +package blockdb + +import ( + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + // BlockchainMetaBkt holds blockchain metadata + BlockchainMetaBkt = []byte("blockchain_meta") + // blockchain head sequence number + headSeqKey = []byte("head_seq") +) + +type chainMeta struct{} + +func (m chainMeta) SetHeadSeq(tx *dbutil.Tx, seq uint64) error { + return dbutil.PutBucketValue(tx, BlockchainMetaBkt, headSeqKey, dbutil.Itob(seq)) +} + +func (m chainMeta) GetHeadSeq(tx *dbutil.Tx) (uint64, bool, error) { + v, err := dbutil.GetBucketValue(tx, BlockchainMetaBkt, headSeqKey) + if err != nil { + return 0, false, err + } else if v == nil { + return 0, false, nil + } + + return dbutil.Btoi(v), true, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/testdata/blockchain-180.no-unspent-addr-index.db b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/testdata/blockchain-180.no-unspent-addr-index.db new file mode 100755 index 0000000000000000000000000000000000000000..dcd9ede389d6d6f5c2ec4addb4749b1abe21ffaf GIT binary patch literal 1048576 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 z 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%0AUkO&^8_ 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ⅈ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

              G`0JtlzBHH~6dQRm(*58g6Gx-$hJw+%!j-i2J)= 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 z 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%0A5_aqzZH;AG+6 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 hashes index +// TODO -- if necessary, this can be optimized further to accept multiple addresses at once, +// so that all get queries can be performed before the set +func (p poolAddrIndex) adjust(tx *dbutil.Tx, addr cipher.Address, addHashes, rmHashes []cipher.SHA256) error { + if len(addHashes) == 0 && len(rmHashes) == 0 { + return nil + } + + existingHashes, err := p.get(tx, addr) + if err != nil { + return err + } + + rmHashesMap := make(map[cipher.SHA256]struct{}, len(rmHashes)) + for _, h := range rmHashes { + rmHashesMap[h] = struct{}{} + } + + if len(rmHashesMap) != len(rmHashes) { + return errors.New("poolAddrIndex.adjust: rmHashes contains duplicates") + } + + newHashesSize := len(existingHashes) - len(rmHashes) + if newHashesSize < 0 { + return errors.New("poolAddrIndex.adjust: rmHashes is longer than existingHashes") + } + + newHashes := make([]cipher.SHA256, 0, newHashesSize) + newHashesMap := make(map[cipher.SHA256]struct{}, newHashesSize) + + rmHashesCount := 0 + for _, h := range existingHashes { + if _, ok := rmHashesMap[h]; ok { + rmHashesCount++ + } else { + newHashes = append(newHashes, h) + newHashesMap[h] = struct{}{} + } + } + + if rmHashesCount != len(rmHashes) { + return fmt.Errorf("poolAddrIndex.adjust: rmHashes contains %d hashes not indexed for address %s", len(rmHashes)-rmHashesCount, addr.String()) + } + + for _, h := range addHashes { + if _, ok := rmHashesMap[h]; ok { + return errors.New("poolAddrIndex.adjust: hash appears in both addHashes and rmHashes") + } + + if _, ok := newHashesMap[h]; !ok { + newHashes = append(newHashes, h) + newHashesMap[h] = struct{}{} + } else { + return fmt.Errorf("poolAddrIndex.adjust: uxout hash %s is already indexed for address %s", h.Hex(), addr.String()) + } + } + + // Delete the row if hashes is empty, so that the length of the bucket can + // be used to determine the number of addresses with unspents + if len(newHashes) == 0 { + return dbutil.Delete(tx, UnspentPoolAddrIndexBkt, addr.Bytes()) + } + + return p.set(tx, addr, newHashes) +} + +// Unspents unspent outputs pool +type Unspents struct { + pool *pool + poolAddrIndex *poolAddrIndex + meta *unspentMeta +} + +// NewUnspentPool creates new unspent pool instance +func NewUnspentPool() *Unspents { + return &Unspents{ + pool: &pool{}, + poolAddrIndex: &poolAddrIndex{}, + meta: &unspentMeta{}, + } +} + +// MaybeBuildIndexes builds indexes if necessary +func (up *Unspents) MaybeBuildIndexes(tx *dbutil.Tx, headSeq uint64) error { + logger.Info("Unspents.MaybeBuildIndexes") + + // Compare the addrIndexHeight to the head block, + // if not equal, rebuild the address index + addrIndexHeight, ok, err := up.meta.getAddrIndexHeight(tx) + if err != nil { + return err + } + + if ok && addrIndexHeight == headSeq { + return nil + } + + if addrIndexHeight > headSeq { + logger.Critical().Warningf("addrIndexHeight > headSeq (%d > %d)", addrIndexHeight, headSeq) + } + + logger.Infof("Rebuilding unspent_pool_addr_index (addrHeightIndexExists=%v, addrIndexHeight=%d, headSeq=%d)", ok, addrIndexHeight, headSeq) + + return up.buildAddrIndex(tx) +} + +func (up *Unspents) buildAddrIndex(tx *dbutil.Tx) error { + logger.Info("Building unspent address index") + + if err := dbutil.Reset(tx, UnspentPoolAddrIndexBkt); err != nil { + return err + } + + addrHashes := make(map[cipher.Address][]cipher.SHA256) + + var maxBlockSeq uint64 + if err := dbutil.ForEach(tx, UnspentPoolBkt, func(k, v []byte) error { + var ux coin.UxOut + if err := encoder.DeserializeRaw(v, &ux); err != nil { + return err + } + + if ux.Head.BkSeq > maxBlockSeq { + maxBlockSeq = ux.Head.BkSeq + } + + h := ux.Hash() + + if bytes.Compare(k[:], h[:]) != 0 { + return errors.New("Unspent pool uxout.Hash() does not match its key") + } + + addrHashes[ux.Body.Address] = append(addrHashes[ux.Body.Address], h) + + return nil + }); err != nil { + return err + } + + if len(addrHashes) == 0 { + logger.Infof("No unspents to index") + return nil + } + + for addr, hashes := range addrHashes { + if err := up.poolAddrIndex.set(tx, addr, hashes); err != nil { + return err + } + } + + if err := up.meta.setAddrIndexHeight(tx, maxBlockSeq); err != nil { + return err + } + + logger.Infof("Indexed unspents for %d addresses", len(addrHashes)) + + return nil +} + +// ProcessBlock adds unspents from a block to the unspent pool +func (up *Unspents) ProcessBlock(tx *dbutil.Tx, b *coin.SignedBlock) error { + // Gather all transaction inputs + var inputs []cipher.SHA256 + var txnUxs coin.UxArray + for _, txn := range b.Body.Transactions { + inputs = append(inputs, txn.In...) + txnUxs = append(txnUxs, coin.CreateUnspents(b.Head, txn)...) + } + + uxs, err := up.GetArray(tx, inputs) + if err != nil { + return err + } + + xorHash, err := up.meta.getXorHash(tx) + if err != nil { + return err + } + + // Remove spent outputs + rmAddrHashes := make(map[cipher.Address][]cipher.SHA256) + for _, ux := range uxs { + xorHash = xorHash.Xor(ux.SnapshotHash()) + + h := ux.Hash() + + if err := up.pool.delete(tx, h); err != nil { + return err + } + + rmAddrHashes[ux.Body.Address] = append(rmAddrHashes[ux.Body.Address], h) + } + + // Create new outputs + txnUxHashes := make([]cipher.SHA256, len(txnUxs)) + addAddrHashes := make(map[cipher.Address][]cipher.SHA256) + for i, ux := range txnUxs { + h := ux.Hash() + txnUxHashes[i] = h + addAddrHashes[ux.Body.Address] = append(addAddrHashes[ux.Body.Address], h) + } + + // Check that the uxout exists in the pool already, otherwise xorHash will be calculated wrong + for _, h := range txnUxHashes { + if hasKey, err := up.Contains(tx, h); err != nil { + return err + } else if hasKey { + return fmt.Errorf("attempted to insert uxout:%v twice into the unspent pool", h.Hex()) + } + } + + for i, ux := range txnUxs { + // Add new outputs + if err := up.pool.set(tx, txnUxHashes[i], ux); err != nil { + return err + } + + // Recalculate xorHash + xorHash = xorHash.Xor(ux.SnapshotHash()) + } + + // Set xorHash + if err := up.meta.setXorHash(tx, xorHash); err != nil { + return err + } + + // Update indexes + for addr, rmHashes := range rmAddrHashes { + addHashes := addAddrHashes[addr] + + if err := up.poolAddrIndex.adjust(tx, addr, addHashes, rmHashes); err != nil { + return err + } + + delete(addAddrHashes, addr) + } + + for addr, addHashes := range addAddrHashes { + if err := up.poolAddrIndex.adjust(tx, addr, addHashes, nil); err != nil { + return err + } + } + + // Check that the addrIndexHeight is incremental + addrIndexHeight, ok, err := up.meta.getAddrIndexHeight(tx) + if err != nil { + return err + } + + if b.Block.Head.BkSeq == 0 { + if ok { + err := errors.New("addrIndexHeight is set but no block has been indexed yet") + logger.Critical().Error(err.Error()) + return err + } + } else if b.Block.Head.BkSeq != addrIndexHeight+1 { + err := errors.New("unspent pool processing blocks out of order") + logger.Critical().Error(err.Error()) + return err + } + + // Update the addrIndexHeight + return up.meta.setAddrIndexHeight(tx, b.Block.Head.BkSeq) +} + +// GetArray returns UxOut for a set of hashes, will return error if any of the hashes do not exist in the pool. +func (up *Unspents) GetArray(tx *dbutil.Tx, hashes []cipher.SHA256) (coin.UxArray, error) { + var uxa coin.UxArray + + for _, h := range hashes { + ux, err := up.pool.get(tx, h) + if err != nil { + return nil, err + } else if ux == nil { + return nil, NewErrUnspentNotExist(h.Hex()) + } + + uxa = append(uxa, *ux) + } + + return uxa, nil +} + +// Get returns the uxout value of given hash +func (up *Unspents) Get(tx *dbutil.Tx, h cipher.SHA256) (*coin.UxOut, error) { + return up.pool.get(tx, h) +} + +// GetAll returns Pool as an array. Note: they are not in any particular order. +func (up *Unspents) GetAll(tx *dbutil.Tx) (coin.UxArray, error) { + return up.pool.getAll(tx) +} + +// Len returns the unspent outputs num +func (up *Unspents) Len(tx *dbutil.Tx) (uint64, error) { + return dbutil.Len(tx, UnspentPoolBkt) +} + +// Contains check if the hash of uxout does exist in the pool +func (up *Unspents) Contains(tx *dbutil.Tx, h cipher.SHA256) (bool, error) { + return dbutil.BucketHasKey(tx, UnspentPoolBkt, h[:]) +} + +// GetUnspentsOfAddrs returns a map of addresses to their unspent outputs +func (up *Unspents) GetUnspentsOfAddrs(tx *dbutil.Tx, addrs []cipher.Address) (coin.AddressUxOuts, error) { + addrUxs := make(coin.AddressUxOuts, len(addrs)) + + for _, addr := range addrs { + hashes, err := up.poolAddrIndex.get(tx, addr) + if err != nil { + return nil, err + } + + uxa, err := up.GetArray(tx, hashes) + if err != nil { + switch e := err.(type) { + case ErrUnspentNotExist: + logger.Critical().Errorf("Unspent hash %s indexed under address %s does not exist in unspent pool", e.UxID, addr.String()) + } + return nil, err + } + + addrUxs[addr] = uxa + } + + return addrUxs, nil +} + +// GetUxHash returns unspent output checksum for the Block. +// Must be called after Block is fully initialized, +// and before its outputs are added to the unspent pool +func (up *Unspents) GetUxHash(tx *dbutil.Tx) (cipher.SHA256, error) { + return up.meta.getXorHash(tx) +} + +// AddressCount returns the total number of addresses with unspents +func (up *Unspents) AddressCount(tx *dbutil.Tx) (uint64, error) { + return dbutil.Len(tx, UnspentPoolAddrIndexBkt) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/unspent_test.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/unspent_test.go new file mode 100755 index 0000000..368b758 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/unspent_test.go @@ -0,0 +1,1117 @@ +package blockdb + +import ( + "bytes" + "errors" + "fmt" + "io" + "io/ioutil" + "os" + "sort" + "testing" + "time" + + "github.com/boltdb/bolt" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +func makeUxBody(t *testing.T) coin.UxBody { + p, _ := cipher.GenerateKeyPair() + return coin.UxBody{ + SrcTransaction: testutil.RandSHA256(t), + Address: cipher.AddressFromPubKey(p), + Coins: 1e6, + Hours: 100, + } +} + +func makeUxOut(t *testing.T) coin.UxOut { + body := makeUxBody(t) + return coin.UxOut{ + Head: coin.UxHead{ + Time: 100, + BkSeq: 2, + }, + Body: body, + } +} + +func TestNewUnspentPool(t *testing.T) { + db, teardown := prepareDB(t) + defer teardown() + + up := NewUnspentPool() + + err := db.View("", func(tx *dbutil.Tx) error { + length, err := dbutil.Len(tx, UnspentPoolBkt) + require.NoError(t, err) + require.Equal(t, uint64(0), length) + + h, err := up.meta.getXorHash(tx) + require.NoError(t, err) + require.Equal(t, cipher.SHA256{}, h) + return nil + + }) + require.NoError(t, err) +} + +func addUxOut(db *dbutil.DB, up *Unspents, ux coin.UxOut) error { + return db.Update("", func(tx *dbutil.Tx) error { + if err := up.pool.set(tx, ux.Hash(), ux); err != nil { + return err + } + + return up.poolAddrIndex.adjust(tx, ux.Body.Address, []cipher.SHA256{ux.Hash()}, nil) + }) +} + +func TestUnspentPoolGet(t *testing.T) { + var uxs coin.UxArray + for i := 0; i < 5; i++ { + ux := makeUxOut(t) + uxs = append(uxs, ux) + } + + testCases := []struct { + name string + unspents coin.UxArray + hash cipher.SHA256 + ux *coin.UxOut + }{ + { + "not exist", + uxs[:2], + uxs[2].Hash(), + nil, + }, + { + "find one", + uxs[:2], + uxs[1].Hash(), + &uxs[1], + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + db, teardown := prepareDB(t) + defer teardown() + + up := NewUnspentPool() + for _, ux := range tc.unspents { + err := addUxOut(db, up, ux) + require.NoError(t, err) + } + + err := db.View("", func(tx *dbutil.Tx) error { + ux, err := up.Get(tx, tc.hash) + require.NoError(t, err) + require.Equal(t, tc.ux, ux) + return nil + }) + require.NoError(t, err) + }) + } +} + +func TestUnspentPoolLen(t *testing.T) { + var uxs coin.UxArray + for i := 0; i < 5; i++ { + ux := makeUxOut(t) + uxs = append(uxs, ux) + } + + db, closedb := prepareDB(t) + defer closedb() + + up := NewUnspentPool() + + for _, ux := range uxs { + err := addUxOut(db, up, ux) + require.NoError(t, err) + } + + err := db.View("", func(tx *dbutil.Tx) error { + length, err := up.Len(tx) + require.NoError(t, err) + require.Equal(t, uint64(5), length) + return nil + }) + require.NoError(t, err) +} + +func TestUnspentPoolGetUxHash(t *testing.T) { + var uxs coin.UxArray + for i := 0; i < 5; i++ { + ux := makeUxOut(t) + uxs = append(uxs, ux) + } + + db, closedb := prepareDB(t) + defer closedb() + + up := NewUnspentPool() + + for _, ux := range uxs { + err := addUxOut(db, up, ux) + require.NoError(t, err) + err = db.Update("", func(tx *dbutil.Tx) error { + uxHash, err := up.GetUxHash(tx) + require.NoError(t, err) + + xorHash, err := up.meta.getXorHash(tx) + require.NoError(t, err) + require.Equal(t, xorHash.Hex(), uxHash.Hex()) + return nil + }) + require.NoError(t, err) + } +} + +func TestUnspentPoolGetArray(t *testing.T) { + db, teardown := prepareDB(t) + defer teardown() + + up := NewUnspentPool() + + var uxs coin.UxArray + for i := 0; i < 5; i++ { + ux := makeUxOut(t) + err := addUxOut(db, up, ux) + require.NoError(t, err) + uxs = append(uxs, ux) + } + + outsideUx := makeUxOut(t) + + testCases := []struct { + name string + hashes []cipher.SHA256 + err error + unspents coin.UxArray + }{ + { + "get first", + []cipher.SHA256{uxs[0].Hash()}, + nil, + uxs[:1], + }, + { + "get second", + []cipher.SHA256{uxs[1].Hash()}, + nil, + uxs[1:2], + }, + { + "get two", + []cipher.SHA256{uxs[0].Hash(), uxs[1].Hash()}, + nil, + uxs[0:2], + }, + { + "get not exist", + []cipher.SHA256{outsideUx.Hash()}, + NewErrUnspentNotExist(outsideUx.Hash().Hex()), + coin.UxArray{}, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + err := db.View("", func(tx *dbutil.Tx) error { + uxs, err := up.GetArray(tx, tc.hashes) + require.Equal(t, tc.err, err) + if err == nil { + require.Equal(t, tc.unspents, uxs) + } + return nil + }) + require.NoError(t, err) + }) + } +} + +func TestUnspentPoolGetAll(t *testing.T) { + var uxs coin.UxArray + for i := 0; i < 5; i++ { + ux := makeUxOut(t) + uxs = append(uxs, ux) + } + + testCases := []struct { + name string + unspents coin.UxArray + expect coin.UxArray + }{ + { + "empty", + coin.UxArray{}, + coin.UxArray{}, + }, + { + "one unspent", + uxs[:1], + uxs[:1], + }, + { + "two unspent", + uxs[:2], + uxs[:2], + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + db, teardown := prepareDB(t) + defer teardown() + + up := NewUnspentPool() + for _, ux := range tc.unspents { + err := addUxOut(db, up, ux) + require.NoError(t, err) + } + + err := db.View("", func(tx *dbutil.Tx) error { + unspents, err := up.GetAll(tx) + require.NoError(t, err) + + uxm := make(map[cipher.SHA256]struct{}) + for _, ux := range unspents { + uxm[ux.Hash()] = struct{}{} + } + + for _, ux := range tc.expect { + _, ok := uxm[ux.Hash()] + require.True(t, ok) + } + + return nil + }) + require.NoError(t, err) + }) + } +} + +func BenchmarkUnspentPoolGetAll(b *testing.B) { + var t testing.T + db, teardown := prepareDB(&t) + defer teardown() + + up := NewUnspentPool() + + for i := 0; i < 1000; i++ { + ux := makeUxOut(&t) + if err := addUxOut(db, up, ux); err != nil { + b.Fatal(err) + } + } + + start := time.Now() + for i := 0; i < b.N; i++ { + err := db.View("", func(tx *dbutil.Tx) error { + _, err := up.GetAll(tx) + return err + }) + if err != nil { + b.Fatal(err) + } + } + fmt.Println(time.Since(start)) +} + +func TestGetUnspentOfAddrs(t *testing.T) { + var uxs coin.UxArray + for i := 0; i < 5; i++ { + ux := makeUxOut(t) + uxs = append(uxs, ux) + } + + uxs[4].Body.Address = uxs[0].Body.Address + + testCases := []struct { + name string + unspents coin.UxArray + addrs []cipher.Address + expect coin.UxArray + }{ + { + name: "one one addr one unspent", + unspents: uxs[:], + addrs: []cipher.Address{uxs[1].Body.Address}, + expect: uxs[1:2], + }, + { + name: "one addr two unspents", + unspents: uxs[:], + addrs: []cipher.Address{uxs[0].Body.Address}, + expect: []coin.UxOut{ + uxs[0], + uxs[4], + }, + }, + { + name: "two addrs three unspents", + unspents: uxs[:], + addrs: []cipher.Address{uxs[0].Body.Address, uxs[1].Body.Address}, + expect: []coin.UxOut{ + uxs[0], + uxs[1], + uxs[4], + }, + }, + { + name: "two addrs two unspents", + unspents: uxs[:], + addrs: []cipher.Address{uxs[2].Body.Address, uxs[1].Body.Address}, + expect: []coin.UxOut{ + uxs[1], + uxs[2], + }, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + db, teardown := prepareDB(t) + defer teardown() + + up := NewUnspentPool() + for _, ux := range tc.unspents { + err := addUxOut(db, up, ux) + require.NoError(t, err) + } + + var unspents coin.AddressUxOuts + err := db.View("", func(tx *dbutil.Tx) error { + var err error + unspents, err = up.GetUnspentsOfAddrs(tx, tc.addrs) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + + uxm := make(map[cipher.SHA256]struct{}, len(unspents)) + for _, uxs := range unspents { + for _, ux := range uxs { + uxm[ux.Hash()] = struct{}{} + } + } + + require.Equal(t, len(uxm), len(tc.expect)) + + for _, ux := range tc.expect { + _, ok := uxm[ux.Hash()] + require.True(t, ok) + } + }) + } +} + +func TestUnspentProcessBlock(t *testing.T) { + var uxs coin.UxArray + for i := 0; i < 5; i++ { + ux := makeUxOut(t) + uxs = append(uxs, ux) + } + + type testOutputs struct { + addr cipher.Address + coins uint64 + hours uint64 + } + + addr := testutil.MakeAddress() + + tt := []struct { + name string + init coin.UxArray + inputs coin.UxArray + outputs []testOutputs + nIndexedAddrs uint64 + }{ + { + name: "spend one create one", + init: uxs, + inputs: uxs[:1], + outputs: []testOutputs{ + { + addr: testutil.MakeAddress(), + coins: 1e6, + hours: uxs[0].Body.Hours / 2, + }, + }, + nIndexedAddrs: 5, + }, + + { + name: "spend one create two", + init: uxs, + inputs: uxs[:1], + outputs: []testOutputs{ + { + addr: testutil.MakeAddress(), + coins: 1e6 / 2, + hours: uxs[0].Body.Hours / 4, + }, + { + addr: testutil.MakeAddress(), + coins: 1e6 / 2, + hours: uxs[0].Body.Hours / 4, + }, + }, + nIndexedAddrs: 6, + }, + + { + name: "spend one create three - two to the same new address and one to the spending address ", + init: uxs, + inputs: uxs[:1], + outputs: []testOutputs{ + { + addr: addr, + coins: 1e6 / 4, + hours: uxs[0].Body.Hours / 16, + }, + { + addr: addr, + coins: 1e6 / 4, + hours: uxs[0].Body.Hours / 8, + }, + { + addr: uxs[0].Body.Address, + coins: 1e6 / 4, + hours: uxs[0].Body.Hours / 8, + }, + }, + nIndexedAddrs: 6, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + db, closedb := prepareDB(t) + defer closedb() + + up := NewUnspentPool() + + for _, ux := range tc.init { + err := addUxOut(db, up, ux) + require.NoError(t, err) + } + + txn := coin.Transaction{} + for _, in := range tc.inputs { + txn.PushInput(in.Hash()) + } + + for _, o := range tc.outputs { + txn.PushOutput(o.addr, o.coins, o.hours) + } + + var block *coin.Block + var oldUxHash cipher.SHA256 + + err := db.Update("", func(tx *dbutil.Tx) error { + uxHash, err := up.GetUxHash(tx) + require.NoError(t, err) + + block, err = coin.NewBlock(coin.Block{}, uint64(time.Now().Unix()), uxHash, coin.Transactions{txn}, feeCalc) + require.NoError(t, err) + + oldUxHash, err = up.GetUxHash(tx) + require.NoError(t, err) + + err = up.ProcessBlock(tx, &coin.SignedBlock{ + Block: *block, + }) + require.NoError(t, err) + + return nil + }) + require.NoError(t, err) + + txOuts := coin.CreateUnspents(block.Head, txn) + + err = db.View("", func(tx *dbutil.Tx) error { + // check that the inputs should already been deleted from unspent pool + for _, in := range tc.inputs { + v, err := up.Get(tx, in.Hash()) + require.NoError(t, err) + require.Nil(t, v) + } + + // check the new generate unspent + hasKey, err := up.Contains(tx, txOuts[0].Hash()) + require.NoError(t, err) + require.True(t, hasKey) + + // check uxHash + for _, in := range tc.inputs { + oldUxHash = oldUxHash.Xor(in.SnapshotHash()) + } + + uxHash := oldUxHash.Xor(txOuts[0].SnapshotHash()) + for _, o := range txOuts[1:] { + uxHash = uxHash.Xor(o.SnapshotHash()) + } + + newUxHash, err := up.GetUxHash(tx) + require.NoError(t, err) + require.Equal(t, uxHash.Hex(), newUxHash.Hex()) + + // addr index height should equal the number of blocks added + addrIndexHeight, ok, err := up.meta.getAddrIndexHeight(tx) + require.NoError(t, err) + require.True(t, ok) + require.Equal(t, uint64(1), addrIndexHeight) + + // addr index should have 5 rows (5 initial addrs, 1 removed as input, 1 added as output) + addrIndexLength, err := dbutil.Len(tx, UnspentPoolAddrIndexBkt) + require.NoError(t, err) + require.Equal(t, tc.nIndexedAddrs, addrIndexLength) + + // new outputs should be added to addr index cache + expectedAddrHashes := make(map[cipher.Address][]cipher.SHA256) + for _, o := range txOuts { + expectedAddrHashes[o.Body.Address] = append(expectedAddrHashes[o.Body.Address], o.Hash()) + } + + for addr, hashes := range expectedAddrHashes { + addrUxHashes, err := up.poolAddrIndex.get(tx, addr) + require.NoError(t, err) + + require.Equal(t, len(hashes), len(addrUxHashes)) + + sort.Slice(hashes, func(i, j int) bool { + return bytes.Compare(hashes[i][:], hashes[j][:]) < 1 + }) + + sort.Slice(addrUxHashes, func(i, j int) bool { + return bytes.Compare(addrUxHashes[i][:], addrUxHashes[j][:]) < 1 + }) + + require.Equal(t, hashes, addrUxHashes) + } + + // used up inputs should be removed from addr index cache + for _, o := range tc.inputs { + // input addresses that appear in outputs should not be removed + if _, ok := expectedAddrHashes[o.Body.Address]; ok { + continue + } + + addrUxHashes, err := up.poolAddrIndex.get(tx, o.Body.Address) + require.NoError(t, err) + require.Nil(t, addrUxHashes) + } + + // none of the rows in the addr index should have empty arrays of hashes + err = dbutil.ForEach(tx, UnspentPoolAddrIndexBkt, func(k, v []byte) error { + _, err := cipher.AddressFromBytes(k) + require.NoError(t, err) + + var uxHashes []cipher.SHA256 + err = encoder.DeserializeRaw(v, &uxHashes) + require.NoError(t, err) + require.NotEmpty(t, uxHashes) + + return nil + }) + require.NoError(t, err) + + return nil + }) + require.NoError(t, err) + }) + } +} + +func TestUnspentPoolAddrIndex(t *testing.T) { + addrs := make([]cipher.Address, 10) + for i := range addrs { + addrs[i] = testutil.MakeAddress() + } + + hashes := make([]cipher.SHA256, 30) + hashesMap := make(map[cipher.SHA256]struct{}) + for i := range hashes { + hashes[i] = testutil.RandSHA256(t) + _, ok := hashesMap[hashes[i]] + require.False(t, ok) + hashesMap[hashes[i]] = struct{}{} + } + + type addrHashMap map[cipher.Address][]cipher.SHA256 + + copyHashMap := func(hm addrHashMap) addrHashMap { + out := make(addrHashMap, len(hm)) + + for addr, hashes := range hm { + copiedHashes := make([]cipher.SHA256, len(hashes)) + copy(copiedHashes[:], hashes[:]) + out[addr] = copiedHashes + } + + return out + } + + dup := func(h []cipher.SHA256) []cipher.SHA256 { + i := make([]cipher.SHA256, len(h)) + copy(i[:], h[:]) + return i + } + + cases := []struct { + name string + init addrHashMap + add addrHashMap + remove addrHashMap + expect addrHashMap + setErr error + adjustErr error + }{ + { + name: "no initial, add only", + add: addrHashMap{ + addrs[0]: dup(hashes[0:3]), + addrs[1]: dup(hashes[3:6]), + }, + expect: addrHashMap{ + addrs[0]: dup(hashes[0:3]), + addrs[1]: dup(hashes[3:6]), + }, + }, + + { + name: "initial, add and remove", + init: addrHashMap{ + addrs[0]: dup(hashes[0:3]), // add one to here + addrs[1]: dup(hashes[3:6]), // remove one from here + addrs[2]: dup(hashes[6:9]), // add and remove one from here + addrs[3]: dup(hashes[9:12]), // remove all from here + addrs[4]: dup(hashes[12:15]), // remove all from here and add one + }, + add: addrHashMap{ + addrs[0]: dup(hashes[16:17]), + addrs[2]: dup(hashes[17:18]), + addrs[4]: dup(hashes[18:19]), + }, + remove: addrHashMap{ + addrs[1]: dup(hashes[4:5]), + addrs[2]: dup(hashes[6:7]), + addrs[3]: dup(hashes[9:12]), + addrs[4]: dup(hashes[12:15]), + }, + expect: addrHashMap{ + addrs[0]: append(dup(hashes[0:3]), dup(hashes[16:17])...), + addrs[1]: append(dup(hashes[3:4]), dup(hashes[5:6])...), + addrs[2]: append(dup(hashes[7:9]), dup(hashes[17:18])...), + addrs[4]: dup(hashes[18:19]), + }, + }, + + { + name: "set error duplicate", + init: addrHashMap{ + addrs[0]: []cipher.SHA256{hashes[0], hashes[0]}, + }, + setErr: errors.New("poolAddrIndex.set: hashes array contains duplicate"), + }, + + { + name: "set error empty array", + init: addrHashMap{ + addrs[0]: []cipher.SHA256{}, + }, + setErr: errors.New("poolAddrIndex.set cannot set to empty hash array"), + }, + + { + name: "adjust error removes have duplicates", + init: addrHashMap{ + addrs[0]: dup(hashes[0:1]), + }, + remove: addrHashMap{ + addrs[0]: []cipher.SHA256{hashes[0], hashes[0]}, + }, + adjustErr: errors.New("poolAddrIndex.adjust: rmHashes contains duplicates"), + }, + + { + name: "adjust error removing more than exists", + init: addrHashMap{ + addrs[0]: dup(hashes[0:1]), + }, + remove: addrHashMap{ + addrs[0]: dup(hashes[0:2]), + }, + adjustErr: errors.New("poolAddrIndex.adjust: rmHashes is longer than existingHashes"), + }, + + { + name: "adjust error removing hash that does not exist", + init: addrHashMap{ + addrs[0]: dup(hashes[0:2]), + }, + remove: addrHashMap{ + addrs[0]: []cipher.SHA256{hashes[0], hashes[11]}, + }, + adjustErr: fmt.Errorf("poolAddrIndex.adjust: rmHashes contains 1 hashes not indexed for address %s", addrs[0].String()), + }, + + { + name: "adjust error hash in both add and remove", + init: addrHashMap{ + addrs[0]: dup(hashes[0:10]), + }, + add: addrHashMap{ + addrs[0]: dup(hashes[4:5]), + }, + remove: addrHashMap{ + addrs[0]: dup(hashes[1:5]), + }, + adjustErr: errors.New("poolAddrIndex.adjust: hash appears in both addHashes and rmHashes"), + }, + + { + name: "adjust error adding hash already indexed", + init: addrHashMap{ + addrs[0]: dup(hashes[0:10]), + }, + add: addrHashMap{ + addrs[0]: dup(hashes[4:5]), + }, + adjustErr: fmt.Errorf("poolAddrIndex.adjust: uxout hash %s is already indexed for address %s", hashes[4].Hex(), addrs[0].String()), + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + db, shutdown := prepareDB(t) + defer shutdown() + + tc.init = copyHashMap(tc.init) + tc.add = copyHashMap(tc.add) + tc.remove = copyHashMap(tc.remove) + tc.expect = copyHashMap(tc.expect) + + p := &poolAddrIndex{} + m := &unspentMeta{} + + // Initialize the data, test that set() works + err := db.Update("", func(tx *dbutil.Tx) error { + for addr, hashes := range tc.init { + if err := p.set(tx, addr, hashes); err != nil { + return err + } + } + + return m.setAddrIndexHeight(tx, uint64(len(tc.init))) + }) + + if tc.setErr == nil { + require.NoError(t, err) + } else { + require.Equal(t, tc.setErr, err) + return + } + + // Check the initialized data, test that get() works + err = db.View("", func(tx *dbutil.Tx) error { + length, err := dbutil.Len(tx, UnspentPoolAddrIndexBkt) + require.NoError(t, err) + require.Equal(t, uint64(len(tc.init)), length) + + height, ok, err := m.getAddrIndexHeight(tx) + require.NoError(t, err) + require.True(t, ok) + require.Equal(t, length, height) + + for addr, expectHashes := range tc.init { + hashes, err := p.get(tx, addr) + require.NoError(t, err) + require.Equal(t, expectHashes, hashes) + } + return nil + }) + require.NoError(t, err) + + // Adjust the data, test that adjust() works + err = db.Update("", func(tx *dbutil.Tx) error { + for addr, addHashes := range tc.add { + rmHashes := tc.remove[addr] + delete(tc.remove, addr) + + err := p.adjust(tx, addr, addHashes, rmHashes) + if err != nil { + return err + } + } + + for addr, rmHashes := range tc.remove { + err := p.adjust(tx, addr, nil, rmHashes) + if err != nil { + return err + } + } + + return nil + }) + + if tc.adjustErr == nil { + require.NoError(t, err) + } else { + require.Equal(t, tc.adjustErr, err) + return + } + + addrHashes := make(addrHashMap) + err = db.View("", func(tx *dbutil.Tx) error { + return dbutil.ForEach(tx, UnspentPoolAddrIndexBkt, func(k, v []byte) error { + addr, err := cipher.AddressFromBytes(k) + require.NoError(t, err) + + var hashes []cipher.SHA256 + err = encoder.DeserializeRaw(v, &hashes) + require.NoError(t, err) + + sort.Slice(hashes, func(i, j int) bool { + return bytes.Compare(hashes[i][:], hashes[j][:]) < 1 + }) + + addrHashes[addr] = hashes + + return nil + }) + }) + require.NoError(t, err) + + for addr, hashes := range tc.expect { + sort.Slice(hashes, func(i, j int) bool { + return bytes.Compare(hashes[i][:], hashes[j][:]) < 1 + }) + + tc.expect[addr] = hashes + } + + require.Equal(t, len(tc.expect), len(addrHashes)) + require.Equal(t, tc.expect, addrHashes) + }) + } +} + +func TestUnspentMaybeBuildIndexesNoIndexNoHead(t *testing.T) { + // Test with a database that has no unspent addr index + testUnspentMaybeBuildIndexes(t, 0, nil) +} + +func TestUnspentMaybeBuildIndexesNoIndexHaveHead(t *testing.T) { + // Test with a database that has no unspent addr index + testUnspentMaybeBuildIndexes(t, 10, nil) +} + +func TestUnspentMaybeBuildIndexesPartialIndex(t *testing.T) { + // Test with a database that has an unspent addr index but the height is wrong + headHeight := uint64(3) + testUnspentMaybeBuildIndexes(t, headHeight+1, func(db *dbutil.DB) { + up := NewUnspentPool() + + // Index the first few blocks + err := db.Update("", func(tx *dbutil.Tx) error { + if err := dbutil.CreateBuckets(tx, [][]byte{UnspentPoolAddrIndexBkt}); err != nil { + return err + } + + addrHashes := make(map[cipher.Address][]cipher.SHA256) + + if err := dbutil.ForEach(tx, UnspentPoolBkt, func(k, v []byte) error { + var ux coin.UxOut + if err := encoder.DeserializeRaw(v, &ux); err != nil { + return err + } + + if ux.Head.BkSeq > headHeight { + return nil + } + + h := ux.Hash() + addrHashes[ux.Body.Address] = append(addrHashes[ux.Body.Address], h) + + return nil + }); err != nil { + return err + } + + for addr, hashes := range addrHashes { + if err := up.poolAddrIndex.set(tx, addr, hashes); err != nil { + return err + } + } + + return up.meta.setAddrIndexHeight(tx, headHeight) + }) + require.NoError(t, err) + }) +} + +func testUnspentMaybeBuildIndexes(t *testing.T, headIndex uint64, setupDB func(*dbutil.DB)) { + db, shutdown := setupNoUnspentAddrIndexDB(t) + defer shutdown() + + if setupDB != nil { + setupDB(db) + } + + u := NewUnspentPool() + + // Create the indexes + err := db.Update("", func(tx *dbutil.Tx) error { + if _, err := tx.CreateBucketIfNotExists(UnspentPoolAddrIndexBkt); err != nil { + return err + } + + return u.MaybeBuildIndexes(tx, headIndex) + }) + require.NoError(t, err) + + // Check the address->hashes index + addrHashes := make(map[cipher.Address][]cipher.SHA256) + err = db.View("", func(tx *dbutil.Tx) error { + // Perform the unspent lookup the slow way, to confirm it matches the hashed data + err := dbutil.ForEach(tx, UnspentPoolBkt, func(k, v []byte) error { + hash, err := cipher.SHA256FromBytes(k) + require.NoError(t, err) + + var ux coin.UxOut + err = encoder.DeserializeRaw(v, &ux) + require.NoError(t, err) + + require.Equal(t, hash, ux.Hash()) + + addrHashes[ux.Body.Address] = append(addrHashes[ux.Body.Address], hash) + + return nil + }) + require.NoError(t, err) + + length, err := dbutil.Len(tx, UnspentPoolAddrIndexBkt) + require.NoError(t, err) + + require.Equal(t, uint64(len(addrHashes)), length) + + height, ok, err := u.meta.getAddrIndexHeight(tx) + require.NoError(t, err) + require.True(t, ok) + require.Equal(t, uint64(180), height) + + err = dbutil.ForEach(tx, UnspentPoolAddrIndexBkt, func(k, v []byte) error { + addr, err := cipher.AddressFromBytes(k) + require.NoError(t, err) + + var hashes []cipher.SHA256 + err = encoder.DeserializeRaw(v, &hashes) + require.NoError(t, err) + + expectedHashes, ok := addrHashes[addr] + require.True(t, ok) + + sort.Slice(expectedHashes, func(i, j int) bool { + return bytes.Compare(expectedHashes[i][:], expectedHashes[j][:]) < 1 + }) + + sort.Slice(hashes, func(i, j int) bool { + return bytes.Compare(hashes[i][:], hashes[j][:]) < 1 + }) + + require.Equal(t, expectedHashes, hashes) + + delete(addrHashes, addr) + + return nil + }) + require.NoError(t, err) + + require.Empty(t, addrHashes) + + return nil + }) + require.NoError(t, err) +} + +func TestUnspentMaybeBuildIndexesNoRebuild(t *testing.T) { + // Set addrIndexHeight to head block height, but don't populate the addr index + // Check that the addr index was not populated, so we know that the index did not get rebuilt if the height matches + db, shutdown := setupNoUnspentAddrIndexDB(t) + defer shutdown() + + u := NewUnspentPool() + + // Create the bucket and artifically set the indexed height, without indexing + headSeq := uint64(180) + err := db.Update("", func(tx *dbutil.Tx) error { + if _, err := tx.CreateBucketIfNotExists(UnspentPoolAddrIndexBkt); err != nil { + return err + } + + return u.meta.setAddrIndexHeight(tx, headSeq) + }) + require.NoError(t, err) + + // Attempt to build index based upon the headSeq that we set + err = db.Update("", func(tx *dbutil.Tx) error { + return u.MaybeBuildIndexes(tx, headSeq) + }) + require.NoError(t, err) + + // Check that the addr index is still empty, because the height was the same + err = db.View("", func(tx *dbutil.Tx) error { + height, ok, err := u.meta.getAddrIndexHeight(tx) + require.NoError(t, err) + require.True(t, ok) + require.Equal(t, headSeq, height) + + length, err := dbutil.Len(tx, UnspentPoolAddrIndexBkt) + require.NoError(t, err) + require.Equal(t, uint64(0), length) + return nil + }) + require.NoError(t, err) +} + +func setupNoUnspentAddrIndexDB(t *testing.T) (*dbutil.DB, func()) { + // Open a test database file that lacks UnspentPoolAddrIndexBkt, + // copy it to a temp file and open a database around the temp file + dbFilename := "./testdata/blockchain-180.no-unspent-addr-index.db" + dbFile, err := os.Open(dbFilename) + require.NoError(t, err) + + tmpFile, err := ioutil.TempFile("", "testdb") + require.NoError(t, err) + + _, err = io.Copy(tmpFile, dbFile) + require.NoError(t, err) + + err = dbFile.Close() + require.NoError(t, err) + + err = tmpFile.Sync() + require.NoError(t, err) + + boltDB, err := bolt.Open(tmpFile.Name(), 0700, nil) + require.NoError(t, err) + + db := dbutil.WrapDB(boltDB) + + return db, func() { + db.Close() + tmpFile.Close() + os.Remove(tmpFile.Name()) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/daemon_visor_test.go b/vendor/github.com/skycoin/skycoin/src/visor/daemon_visor_test.go new file mode 100755 index 0000000..1e148fb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/daemon_visor_test.go @@ -0,0 +1,168 @@ +package visor + +/* +These are tests that used to be in daemon/visor_test.go, +but belong in package visor instead. + +They have been moved here without checking if they duplicate any +existing test in visor_test.go. + +It is assumed that these tests may provide coverage not present in visor_test.go + +They could be merged into visor_test.go, but for simplicity they were only moved here +*/ + +import ( + "errors" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/util/fee" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +func setupSimpleVisor(t *testing.T, db *dbutil.DB, bc *Blockchain) *Visor { + cfg := NewVisorConfig() + cfg.DBPath = db.Path() + + pool, err := NewUnconfirmedTxnPool(db) + require.NoError(t, err) + + return &Visor{ + Config: cfg, + Unconfirmed: pool, + Blockchain: bc, + DB: db, + } +} + +func TestVerifyTransactionInvalidFee(t *testing.T) { + // Test that a soft constraint is enforced + // Full verification tests are in visor/blockchain_verify_test.go + db, close := prepareDB(t) + defer close() + + // Setup blockchain + _, s := cipher.GenerateKeyPair() + bc := MakeBlockchain(t, db, s) + + // Send coins to the initial address, with invalid fee + var coins = GenesisCoins + var hours = GenesisCoinHours * 1e3 + var f uint64 + addr := testutil.MakeAddress() + + txn := CreateGenesisSpendTransaction(t, db, bc, addr, coins, hours, f) + + // Setup a minimal visor + v := setupSimpleVisor(t, db, bc) + + _, softErr, err := v.InjectTransaction(txn) + require.NoError(t, err) + require.NotNil(t, softErr) + require.Equal(t, NewErrTxnViolatesSoftConstraint(fee.ErrTxnNoFee), *softErr) +} + +func TestVerifyTransactionInvalidSignature(t *testing.T) { + // Test that a hard constraint is enforced + // Full verification tests are in visor/blockchain_verify_test.go + db, close := prepareDB(t) + defer close() + + // Setup blockchain + _, s := cipher.GenerateKeyPair() + bc := MakeBlockchain(t, db, s) + + // Send coins to the initial address, with invalid fee + var coins = GenesisCoins + var hours uint64 + var fee uint64 + addr := testutil.MakeAddress() + + txn := CreateGenesisSpendTransaction(t, db, bc, addr, coins, hours, fee) + + // Invalidate signatures + txn.Sigs = nil + + // Setup a minimal visor + v := setupSimpleVisor(t, db, bc) + + _, softErr, err := v.InjectTransaction(txn) + require.Nil(t, softErr) + testutil.RequireError(t, err, NewErrTxnViolatesHardConstraint(errors.New("Invalid number of signatures")).Error()) +} + +func TestInjectValidTransaction(t *testing.T) { + db, close := prepareDB(t) + defer close() + + _, s := cipher.GenerateKeyPair() + // Setup blockchain + bc := MakeBlockchain(t, db, s) + + // Send coins to the initial address, with invalid fee + var coins = GenesisCoins + var hours uint64 + var fee uint64 + addr := testutil.MakeAddress() + + txn := CreateGenesisSpendTransaction(t, db, bc, addr, coins, hours, fee) + + // Setup a minimal visor + v := setupSimpleVisor(t, db, bc) + + // The unconfirmed pool should be empty + txns, err := v.GetAllUnconfirmedTxns() + require.NoError(t, err) + require.Len(t, txns, 0) + + // Call injectTransaction + _, softErr, err := v.InjectTransaction(txn) + require.Nil(t, softErr) + require.NoError(t, err) + + // The transaction should appear in the unconfirmed pool + txns, err = v.GetAllUnconfirmedTxns() + require.NoError(t, err) + require.Len(t, txns, 1) + require.Equal(t, txns[0].Txn, txn) +} + +func TestInjectTransactionSoftViolationNoFee(t *testing.T) { + db, close := prepareDB(t) + defer close() + + // Setup blockchain + _, s := cipher.GenerateKeyPair() + bc := MakeBlockchain(t, db, s) + + // Send coins to the initial address, with invalid fee + var coins = GenesisCoins + var hours = GenesisCoinHours * 1e3 + var f uint64 + addr := testutil.MakeAddress() + + txn := CreateGenesisSpendTransaction(t, db, bc, addr, coins, hours, f) + + // Setup a minimal visor + v := setupSimpleVisor(t, db, bc) + + // The unconfirmed pool should be empty + txns, err := v.GetAllUnconfirmedTxns() + require.NoError(t, err) + require.Len(t, txns, 0) + + // Call injectTransaction + _, softErr, err := v.InjectTransaction(txn) + require.NoError(t, err) + require.NotNil(t, softErr) + require.Equal(t, NewErrTxnViolatesSoftConstraint(fee.ErrTxnNoFee), *softErr) + + // The transaction should appear in the unconfirmed pool + txns, err = v.GetAllUnconfirmedTxns() + require.NoError(t, err) + require.Len(t, txns, 1) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/db.go b/vendor/github.com/skycoin/skycoin/src/visor/db.go new file mode 100755 index 0000000..e4ad510 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/db.go @@ -0,0 +1,296 @@ +package visor + +import ( + "crypto/sha1" + "encoding/base64" + "errors" + "fmt" + "io" + "os" + "path/filepath" + "sync" + "time" + + "github.com/boltdb/bolt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" + "github.com/skycoin/skycoin/src/visor/historydb" +) + +var ( + // BlockchainVerifyTheadNum number of goroutines to use for signature and historydb verification + BlockchainVerifyTheadNum = 4 +) + +// ErrCorruptDB is returned if the database is corrupted +// The original corruption error is embedded +type ErrCorruptDB struct { + error +} + +// CheckDatabase checks the database for corruption, rebuild history if corrupted +func CheckDatabase(db *dbutil.DB, pubkey cipher.PubKey, quit chan struct{}) error { + var blocksBktExist bool + db.View("CheckDatabase", func(tx *dbutil.Tx) error { + blocksBktExist = dbutil.Exists(tx, blockdb.BlocksBkt) + return nil + }) + + // Don't verify the db if the blocks bucket does not exist + if !blocksBktExist { + return nil + } + + bc, err := NewBlockchain(db, BlockchainConfig{Pubkey: pubkey}) + if err != nil { + return err + } + + history := historydb.New() + indexesMap := historydb.NewIndexesMap() + + var historyVerifyErr error + var lock sync.Mutex + verifyFunc := func(tx *dbutil.Tx, b *coin.SignedBlock) error { + // Verify signature + if err := bc.VerifySignature(b); err != nil { + return err + } + + // Verify historydb, we don't return the error of history.Verify here, + // as we have to check all signature, if we return error early here, the + // potential bad signature won't be detected. + lock.Lock() + defer lock.Unlock() + if historyVerifyErr == nil { + historyVerifyErr = history.Verify(tx, b, indexesMap) + } + return nil + } + + err = bc.WalkChain(BlockchainVerifyTheadNum, verifyFunc, quit) + switch err.(type) { + case nil: + lock.Lock() + err = historyVerifyErr + lock.Unlock() + return err + default: + return err + } +} + +// backup the corrypted db first, then rebuild the history DB. +func rebuildHistoryDB(db *dbutil.DB, history *historydb.HistoryDB, bc *Blockchain, quit chan struct{}) (*dbutil.DB, error) { + db, err := backupDB(db) + if err != nil { + return nil, err + } + + if err := db.Update("Rebuild history db", func(tx *dbutil.Tx) error { + if err := history.Erase(tx); err != nil { + return err + } + + headSeq, ok, err := bc.HeadSeq(tx) + if err != nil { + return err + } + + if !ok { + return errors.New("head block does not exist") + } + + for i := uint64(0); i <= headSeq; i++ { + select { + case <-quit: + return nil + default: + b, err := bc.GetSignedBlockBySeq(tx, i) + if err != nil { + return err + } + + if err := history.ParseBlock(tx, b.Block); err != nil { + return err + } + + if i%1000 == 0 { + logger.Critical().Infof("Parse block: %d", i) + } + } + } + return nil + }); err != nil { + return nil, err + } + return db, nil +} + +// backupDB makes a backup copy of the DB +func backupDB(db *dbutil.DB) (*dbutil.DB, error) { + // backup the corrupted database + dbReadOnly := db.IsReadOnly() + + dbPath := db.Path() + + if err := db.Close(); err != nil { + return nil, fmt.Errorf("Failed to close db: %v", err) + } + + corruptDBPath, err := copyCorruptDB(dbPath) + if err != nil { + return nil, fmt.Errorf("Failed to copy corrupted db: %v", err) + } + + logger.Critical().Infof("Copy corrupted db to %s", corruptDBPath) + + // Open the database again + return OpenDB(dbPath, dbReadOnly) +} + +// RepairCorruptDB checks the database for corruption and if corrupted and +// is ErrMissingSignature, then then it erases the db and starts over. +// If it's ErrHistoryDBCorrupted, then rebuild historydb from scratch. +// A copy of the corrupted database is saved. +func RepairCorruptDB(db *dbutil.DB, pubkey cipher.PubKey, quit chan struct{}) (*dbutil.DB, error) { + err := CheckDatabase(db, pubkey, quit) + switch err.(type) { + case nil: + return db, nil + case blockdb.ErrMissingSignature: + logger.Critical().Errorf("Database is corrupted, recreating db: %v", err) + return resetCorruptDB(db) + case historydb.ErrHistoryDBCorrupted: + logger.Critical().Errorf("Database is corrupted, rebuilding db: %v", err) + return rebuildCorruptDB(db, pubkey, quit) + default: + return nil, err + } +} + +func rebuildCorruptDB(db *dbutil.DB, pubkey cipher.PubKey, quit chan struct{}) (*dbutil.DB, error) { + history := historydb.New() + bc, err := NewBlockchain(db, BlockchainConfig{Pubkey: pubkey}) + if err != nil { + return nil, err + } + + return rebuildHistoryDB(db, history, bc, quit) +} + +// resetCorruptDB recreates the DB, making a backup copy marked as corrupted +func resetCorruptDB(db *dbutil.DB) (*dbutil.DB, error) { + dbReadOnly := db.IsReadOnly() + dbPath := db.Path() + + if err := db.Close(); err != nil { + return nil, fmt.Errorf("Failed to close db: %v", err) + } + + corruptDBPath, err := moveCorruptDB(dbPath) + if err != nil { + return nil, fmt.Errorf("Failed to copy corrupted db: %v", err) + } + + logger.Critical().Infof("Moved corrupted db to %s", corruptDBPath) + + return OpenDB(dbPath, dbReadOnly) +} + +// OpenDB opens the blockdb +func OpenDB(dbFile string, readOnly bool) (*dbutil.DB, error) { + db, err := bolt.Open(dbFile, 0600, &bolt.Options{ + Timeout: 5000 * time.Millisecond, + ReadOnly: readOnly, + }) + if err != nil { + return nil, fmt.Errorf("Open boltdb failed, %v", err) + } + + return dbutil.WrapDB(db), nil +} + +// moveCorruptDB moves a file to makeCorruptDBPath(dbPath) +func moveCorruptDB(dbPath string) (string, error) { + newDBPath, err := makeCorruptDBPath(dbPath) + if err != nil { + return "", err + } + + if err := os.Rename(dbPath, newDBPath); err != nil { + logger.Errorf("os.Rename(%s, %s) failed: %v", dbPath, newDBPath, err) + return "", err + } + + return newDBPath, nil +} + +// copyCorruptDB copy a file to makeCorruptDBPath(dbPath) +func copyCorruptDB(dbPath string) (string, error) { + newDBPath, err := makeCorruptDBPath(dbPath) + if err != nil { + return "", err + } + + in, err := os.Open(dbPath) + if err != nil { + return "", err + } + defer in.Close() + + out, err := os.Create(newDBPath) + if err != nil { + return "", err + } + defer out.Close() + logger.Critical().Info(out.Name()) + + _, err = io.Copy(in, out) + if err != nil { + return "", err + } + + if err := out.Close(); err != nil { + return "", err + } + + return newDBPath, nil +} + +// makeCorruptDBPath creates a $FILE.corrupt.$HASH string based on dbPath, +// where $HASH is truncated SHA1 of $FILE. +func makeCorruptDBPath(dbPath string) (string, error) { + dbFileHash, err := shaFileID(dbPath) + if err != nil { + return "", err + } + + dbDir, dbFile := filepath.Split(dbPath) + newDBFile := fmt.Sprintf("%s.corrupt.%s", dbFile, dbFileHash) + newDBPath := filepath.Join(dbDir, newDBFile) + + return newDBPath, nil +} + +// shaFileID return the first 8 bytes of the SHA1 hash of the file, +// hex-encoded +func shaFileID(dbPath string) (string, error) { + fi, err := os.Open(dbPath) + if err != nil { + return "", err + } + defer fi.Close() + + h := sha1.New() + if _, err := io.Copy(h, fi); err != nil { + return "", err + } + + sum := h.Sum(nil) + encodedSum := base64.RawURLEncoding.EncodeToString(sum[:8]) + return encodedSum, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/dbutil/dbutil.go b/vendor/github.com/skycoin/skycoin/src/visor/dbutil/dbutil.go new file mode 100755 index 0000000..dbd7782 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/dbutil/dbutil.go @@ -0,0 +1,355 @@ +package dbutil + +import ( + "encoding/binary" + "encoding/json" + "errors" + "fmt" + "runtime/debug" + "sync" + "time" + + "github.com/boltdb/bolt" + + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/util/logging" +) + +var ( + logger = logging.MustGetLogger("dbutil") + txViewLog = false + txViewTrace = false + txUpdateLog = false + txUpdateTrace = false + txDurationLog = true + txDurationReportingThreshold = time.Millisecond * 100 +) + +// Tx wraps a Tx +type Tx struct { + *bolt.Tx +} + +// String is implemented to prevent a panic when mocking methods with *Tx arguments. +// The mock library forces arguments to be printed with %s which causes Tx to panic. +// See https://github.com/stretchr/testify/pull/596 +func (tx *Tx) String() string { + return fmt.Sprintf("%v", tx.Tx) +} + +// DB wraps a bolt.DB to add logging +type DB struct { + ViewLog bool + ViewTrace bool + UpdateLog bool + UpdateTrace bool + DurationLog bool + DurationReportingThreshold time.Duration + + *bolt.DB + + // shutdownLock is added to prevent closing the database while a View transaction is in progress + // bolt.DB will block for Update transactions but not for View transactions, and if + // the database is closed while in a View transaction, it will panic + // This will be fixed in coreos's bbolt after this PR is merged: + // https://github.com/coreos/bbolt/pull/91 + // When coreos has this feature, we can switch to coreos's bbolt and remove this lock + shutdownLock sync.RWMutex +} + +// WrapDB returns WrapDB +func WrapDB(db *bolt.DB) *DB { + return &DB{ + ViewLog: txViewLog, + UpdateLog: txUpdateLog, + ViewTrace: txViewTrace, + UpdateTrace: txUpdateTrace, + DurationLog: txDurationLog, + DurationReportingThreshold: txDurationReportingThreshold, + DB: db, + } +} + +// View wraps *bolt.DB.View to add logging +func (db *DB) View(name string, f func(*Tx) error) error { + db.shutdownLock.RLock() + defer db.shutdownLock.RUnlock() + + if db.ViewLog { + logger.Debug("db.View [%s] starting", name) + defer logger.Debug("db.View [%s] done", name) + } + if db.ViewTrace { + debug.PrintStack() + } + + t0 := time.Now() + + err := db.DB.View(func(tx *bolt.Tx) error { + return f(&Tx{tx}) + }) + + t1 := time.Now() + delta := t1.Sub(t0) + if db.DurationLog && delta > db.DurationReportingThreshold { + logger.Debugf("db.View [%s] elapsed %s", name, delta) + } + + return err +} + +// Update wraps *bolt.DB.Update to add logging +func (db *DB) Update(name string, f func(*Tx) error) error { + db.shutdownLock.RLock() + defer db.shutdownLock.RUnlock() + + if db.UpdateLog { + logger.Debug("db.Update [%s] starting", name) + defer logger.Debug("db.Update [%s] done", name) + } + if db.UpdateTrace { + debug.PrintStack() + } + + t0 := time.Now() + + err := db.DB.Update(func(tx *bolt.Tx) error { + return f(&Tx{tx}) + }) + + t1 := time.Now() + delta := t1.Sub(t0) + if db.DurationLog && delta > db.DurationReportingThreshold { + logger.Debugf("db.Update [%s] elapsed %s", name, delta) + } + + return err +} + +// Close closes the underlying *bolt.DB +func (db *DB) Close() error { + db.shutdownLock.Lock() + defer db.shutdownLock.Unlock() + + return db.DB.Close() +} + +// ErrCreateBucketFailed is returned if creating a bolt.DB bucket fails +type ErrCreateBucketFailed struct { + Bucket string + Err error +} + +func (e ErrCreateBucketFailed) Error() string { + return fmt.Sprintf("Create bucket \"%s\" failed: %v", e.Bucket, e.Err) +} + +// NewErrCreateBucketFailed returns an ErrCreateBucketFailed +func NewErrCreateBucketFailed(bucket []byte, err error) error { + return ErrCreateBucketFailed{ + Bucket: string(bucket), + Err: err, + } +} + +// ErrBucketNotExist is returned if a bolt.DB bucket does not exist +type ErrBucketNotExist struct { + Bucket string +} + +func (e ErrBucketNotExist) Error() string { + return fmt.Sprintf("Bucket \"%s\" doesn't exist", e.Bucket) +} + +// NewErrBucketNotExist returns an ErrBucketNotExist +func NewErrBucketNotExist(bucket []byte) error { + return ErrBucketNotExist{ + Bucket: string(bucket), + } +} + +// CreateBuckets creates multiple buckets +func CreateBuckets(tx *Tx, buckets [][]byte) error { + for _, b := range buckets { + if _, err := tx.CreateBucketIfNotExists(b); err != nil { + return NewErrCreateBucketFailed(b, err) + } + } + + return nil +} + +// GetBucketObjectDecoded returns an encoder-serialized value from a bucket, decoded to an object +func GetBucketObjectDecoded(tx *Tx, bktName, key []byte, obj interface{}) (bool, error) { + v, err := getBucketValue(tx, bktName, key) + if err != nil { + return false, err + } else if v == nil { + return false, nil + } + + if err := encoder.DeserializeRaw(v, obj); err != nil { + return false, fmt.Errorf("encoder.DeserializeRaw failed: %v", err) + } + + return true, nil +} + +// GetBucketObjectJSON returns a JSON value from a bucket, unmarshaled to an object +func GetBucketObjectJSON(tx *Tx, bktName, key []byte, obj interface{}) (bool, error) { + v, err := getBucketValue(tx, bktName, key) + if err != nil { + return false, err + } else if v == nil { + return false, nil + } + + if err := json.Unmarshal(v, obj); err != nil { + return false, fmt.Errorf("json.Unmarshal failed: %v", err) + } + + return true, nil +} + +// GetBucketString returns a string value from a bucket +func GetBucketString(tx *Tx, bktName, key []byte) (string, bool, error) { + v, err := getBucketValue(tx, bktName, key) + if err != nil { + return "", false, err + } else if v == nil { + return "", false, nil + } + + return string(v), true, nil +} + +// GetBucketValue returns a []byte value from a bucket +func GetBucketValue(tx *Tx, bktName, key []byte) ([]byte, error) { + v, err := getBucketValue(tx, bktName, key) + if err != nil { + return nil, err + } else if v == nil { + return nil, nil + } + + // Bytes returned from boltdb are not valid outside of the transaction + // they are called in, make a copy + w := make([]byte, len(v)) + copy(w[:], v[:]) + + return w, nil +} + +// getBucketValue returns a value from a bucket. If the value does not exist, +// it returns an error of type ErrBucketNotExist +func getBucketValue(tx *Tx, bktName, key []byte) ([]byte, error) { + bkt := tx.Bucket(bktName) + if bkt == nil { + return nil, NewErrBucketNotExist(bktName) + } + + return bkt.Get(key), nil +} + +// PutBucketValue puts a value into a bucket under key. +func PutBucketValue(tx *Tx, bktName, key, val []byte) error { + bkt := tx.Bucket(bktName) + if bkt == nil { + return NewErrBucketNotExist(bktName) + } + + return bkt.Put(key, val) +} + +// BucketHasKey returns true if a bucket has a non-nil value for a key +func BucketHasKey(tx *Tx, bktName, key []byte) (bool, error) { + bkt := tx.Bucket(bktName) + if bkt == nil { + return false, NewErrBucketNotExist(bktName) + } + + v := bkt.Get(key) + return v != nil, nil +} + +// NextSequence returns the NextSequence() from the bucket +func NextSequence(tx *Tx, bktName []byte) (uint64, error) { + bkt := tx.Bucket(bktName) + if bkt == nil { + return 0, NewErrBucketNotExist(bktName) + } + + return bkt.NextSequence() +} + +// ForEach calls ForEach on the bucket +func ForEach(tx *Tx, bktName []byte, f func(k, v []byte) error) error { + bkt := tx.Bucket(bktName) + if bkt == nil { + return NewErrBucketNotExist(bktName) + } + + return bkt.ForEach(f) +} + +// Delete deletes from a bucket +func Delete(tx *Tx, bktName, key []byte) error { + bkt := tx.Bucket(bktName) + if bkt == nil { + return NewErrBucketNotExist(bktName) + } + + return bkt.Delete(key) +} + +// Len returns the number of keys in a bucket +func Len(tx *Tx, bktName []byte) (uint64, error) { + bkt := tx.Bucket(bktName) + if bkt == nil { + return 0, NewErrBucketNotExist(bktName) + } + + bstats := bkt.Stats() + + if bstats.KeyN < 0 { + return 0, errors.New("Negative length queried from db stats") + } + + return uint64(bstats.KeyN), nil +} + +// IsEmpty returns true if the bucket is empty +func IsEmpty(tx *Tx, bktName []byte) (bool, error) { + length, err := Len(tx, bktName) + if err != nil { + return false, err + } + return length == 0, nil +} + +// Exists returns true if the bucket exists +func Exists(tx *Tx, bktName []byte) bool { + return tx.Bucket(bktName) != nil +} + +// Reset resets the bucket +func Reset(tx *Tx, bktName []byte) error { + if err := tx.DeleteBucket(bktName); err != nil { + return err + } + + _, err := tx.CreateBucket(bktName) + return err +} + +// Itob converts uint64 to bytes +func Itob(v uint64) []byte { + b := make([]byte, 8) + binary.BigEndian.PutUint64(b, uint64(v)) + return b +} + +// Btoi converts bytes to uint64 +func Btoi(v []byte) uint64 { + return binary.BigEndian.Uint64(v) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/distribution.go b/vendor/github.com/skycoin/skycoin/src/visor/distribution.go new file mode 100755 index 0000000..f94c340 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/distribution.go @@ -0,0 +1,74 @@ +package visor + +import ( + "github.com/skycoin/skycoin/src/coin" +) + +// Note: parameters.go contains many constants used in this file +// they are the ones generated from the fiber config file. + +func init() { + if MaxCoinSupply%DistributionAddressesTotal != 0 { + panic("MaxCoinSupply should be perfectly divisible by DistributionAddressesTotal") + } +} + +// GetDistributionAddresses returns a copy of the hardcoded distribution addresses array. +// Each address has 1,000,000 coins. There are 100 addresses. +func GetDistributionAddresses() []string { + addrs := make([]string, len(distributionAddresses)) + for i := range distributionAddresses { + addrs[i] = distributionAddresses[i] + } + return addrs +} + +// GetUnlockedDistributionAddresses returns distribution addresses that are unlocked, i.e. they have spendable outputs +func GetUnlockedDistributionAddresses() []string { + // The first InitialUnlockedCount (25) addresses are unlocked by default. + // Subsequent addresses will be unlocked at a rate of UnlockAddressRate (5) per year, + // after the InitialUnlockedCount (25) addresses have no remaining balance. + // The unlock timer will be enabled manually once the + // InitialUnlockedCount (25) addresses are distributed. + + // NOTE: To have automatic unlocking, transaction verification would have + // to be handled in visor rather than in coin.Transactions.Visor(), because + // the coin package is agnostic to the state of the blockchain and cannot reference it. + // Instead of automatic unlocking, we can hardcode the timestamp at which the first 30% + // is distributed, then compute the unlocked addresses easily here. + + addrs := make([]string, InitialUnlockedCount) + for i := range distributionAddresses[:InitialUnlockedCount] { + addrs[i] = distributionAddresses[i] + } + return addrs +} + +// GetLockedDistributionAddresses returns distribution addresses that are locked, i.e. they have unspendable outputs +func GetLockedDistributionAddresses() []string { + // TODO -- once we reach 30% distribution, we can hardcode the + // initial timestamp for releasing more coins + addrs := make([]string, DistributionAddressesTotal-InitialUnlockedCount) + for i := range distributionAddresses[InitialUnlockedCount:] { + addrs[i] = distributionAddresses[InitialUnlockedCount+uint64(i)] + } + return addrs +} + +// TransactionIsLocked returns true if the transaction spends locked outputs +func TransactionIsLocked(inUxs coin.UxArray) bool { + lockedAddrs := GetLockedDistributionAddresses() + lockedAddrsMap := make(map[string]struct{}) + for _, a := range lockedAddrs { + lockedAddrsMap[a] = struct{}{} + } + + for _, o := range inUxs { + uxAddr := o.Body.Address.String() + if _, ok := lockedAddrsMap[uxAddr]; ok { + return true + } + } + + return false +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/distribution_test.go b/vendor/github.com/skycoin/skycoin/src/visor/distribution_test.go new file mode 100755 index 0000000..28b111d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/distribution_test.go @@ -0,0 +1,89 @@ +package visor + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" +) + +func TestDistributionAddressArrays(t *testing.T) { + require.Len(t, GetDistributionAddresses(), 100) + + // At the time of this writing, there should be 25 addresses in the + // unlocked pool and 75 in the locked pool. + require.Len(t, GetUnlockedDistributionAddresses(), 25) + require.Len(t, GetLockedDistributionAddresses(), 75) + + all := GetDistributionAddresses() + allMap := make(map[string]struct{}) + for _, a := range all { + // Check no duplicate address in distribution addresses + _, ok := allMap[a] + require.False(t, ok) + allMap[a] = struct{}{} + } + + unlocked := GetUnlockedDistributionAddresses() + unlockedMap := make(map[string]struct{}) + for _, a := range unlocked { + // Check no duplicate address in unlocked addresses + _, ok := unlockedMap[a] + require.False(t, ok) + + // Check unlocked address in set of all addresses + _, ok = allMap[a] + require.True(t, ok) + + unlockedMap[a] = struct{}{} + } + + locked := GetLockedDistributionAddresses() + lockedMap := make(map[string]struct{}) + for _, a := range locked { + // Check no duplicate address in locked addresses + _, ok := lockedMap[a] + require.False(t, ok) + + // Check locked address in set of all addresses + _, ok = allMap[a] + require.True(t, ok) + + // Check locked address not in unlocked addresses + _, ok = unlockedMap[a] + require.False(t, ok) + + lockedMap[a] = struct{}{} + } +} + +func TestTransactionIsLocked(t *testing.T) { + test := func(addrStr string, expectedIsLocked bool) { + addr := cipher.MustDecodeBase58Address(addrStr) + + uxOut := coin.UxOut{ + Body: coin.UxBody{ + Address: addr, + }, + } + uxArray := coin.UxArray{uxOut} + + isLocked := TransactionIsLocked(uxArray) + require.Equal(t, expectedIsLocked, isLocked) + } + + for _, a := range GetLockedDistributionAddresses() { + test(a, true) + } + + for _, a := range GetUnlockedDistributionAddresses() { + test(a, false) + } + + // A random address should not be locked + pubKey, _ := cipher.GenerateKeyPair() + addr := cipher.AddressFromPubKey(pubKey) + test(addr.String(), false) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/address_txn.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/address_txn.go new file mode 100755 index 0000000..28f3161 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/address_txn.go @@ -0,0 +1,54 @@ +package historydb + +import ( + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +// AddressTxnsBkt maps addresses to transaction hashes +var AddressTxnsBkt = []byte("address_txns") + +// addressTxn buckets for storing address related transactions +// address as key, transaction id slice as value +type addressTxns struct{} + +// Get returns the transaction hashes of given address +func (atx *addressTxns) Get(tx *dbutil.Tx, address cipher.Address) ([]cipher.SHA256, error) { + var txHashes []cipher.SHA256 + if ok, err := dbutil.GetBucketObjectDecoded(tx, AddressTxnsBkt, address.Bytes(), &txHashes); err != nil { + return nil, err + } else if !ok { + return nil, nil + } + + return txHashes, nil +} + +// Add adds a hash to an address's hash list +func (atx *addressTxns) Add(tx *dbutil.Tx, addr cipher.Address, hash cipher.SHA256) error { + hashes, err := atx.Get(tx, addr) + if err != nil { + return err + } + + // check for duplicates + for _, u := range hashes { + if u == hash { + return nil + } + } + + hashes = append(hashes, hash) + return dbutil.PutBucketValue(tx, AddressTxnsBkt, addr.Bytes(), encoder.Serialize(hashes)) +} + +// IsEmpty checks if address transactions bucket is empty +func (atx *addressTxns) IsEmpty(tx *dbutil.Tx) (bool, error) { + return dbutil.IsEmpty(tx, AddressTxnsBkt) +} + +// Reset resets the bucket +func (atx *addressTxns) Reset(tx *dbutil.Tx) error { + return dbutil.Reset(tx, AddressTxnsBkt) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/address_txn_test.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/address_txn_test.go new file mode 100755 index 0000000..6488d67 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/address_txn_test.go @@ -0,0 +1,254 @@ +package historydb + +import ( + "fmt" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +func TestAddAddressTxns(t *testing.T) { + var preAddrs []cipher.Address + var preTxHashes []cipher.SHA256 + + type pair struct { + addr cipher.Address + txHash cipher.SHA256 + } + + type expectPair struct { + addr cipher.Address + txs []cipher.SHA256 + } + + for i := 0; i < 3; i++ { + preAddrs = append(preAddrs, makeAddress()) + preTxHashes = append(preTxHashes, cipher.SumSHA256([]byte(fmt.Sprintf("tx%d", i)))) + } + + var testCases = []struct { + name string + addPairs []pair + expect []expectPair + }{ + { + "address with single tx", + []pair{ + { + addr: preAddrs[0], + txHash: preTxHashes[0], + }, + { + addr: preAddrs[1], + txHash: preTxHashes[1], + }, + }, + []expectPair{ + { + preAddrs[0], + preTxHashes[:1], + }, + { + preAddrs[1], + preTxHashes[1:2], + }, + }, + }, + { + "address with multiple transactions", + []pair{ + { + addr: preAddrs[0], + txHash: preTxHashes[0], + }, + { + addr: preAddrs[0], + txHash: preTxHashes[1], + }, + }, + []expectPair{ + { + preAddrs[0], + preTxHashes[:2], + }, + }, + }, + { + "add address with multiple same transactions", + []pair{ + { + addr: preAddrs[0], + txHash: preTxHashes[0], + }, + { + addr: preAddrs[0], + txHash: preTxHashes[0], + }, + { + addr: preAddrs[0], + txHash: preTxHashes[0], + }, + }, + []expectPair{ + { + preAddrs[0], + preTxHashes[:1], + }, + }, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + db, td := prepareDB(t) + defer td() + + addrTxns := &addressTxns{} + + err := db.Update("", func(tx *dbutil.Tx) error { + for _, pr := range tc.addPairs { + err := addrTxns.Add(tx, pr.addr, pr.txHash) + require.NoError(t, err) + } + return nil + }) + require.NoError(t, err) + + for _, e := range tc.expect { + err := db.View("", func(tx *dbutil.Tx) error { + hashes, err := addrTxns.Get(tx, e.addr) + require.NoError(t, err) + require.Equal(t, e.txs, hashes) + return nil + }) + require.NoError(t, err) + } + + }) + } +} + +func TestGetAddressTxns(t *testing.T) { + var preAddrs []cipher.Address + var preTxHashes []cipher.SHA256 + + type pair struct { + addr cipher.Address + txHash cipher.SHA256 + } + + type expectPair struct { + addr cipher.Address + txs []cipher.SHA256 + } + + for i := 0; i < 3; i++ { + preAddrs = append(preAddrs, makeAddress()) + preTxHashes = append(preTxHashes, cipher.SumSHA256([]byte(fmt.Sprintf("tx%d", i)))) + } + + var testCases = []struct { + name string + addPairs []pair + expect []expectPair + }{ + { + "address with single tx", + []pair{ + { + addr: preAddrs[0], + txHash: preTxHashes[0], + }, + { + addr: preAddrs[1], + txHash: preTxHashes[1], + }, + }, + []expectPair{ + { + preAddrs[0], + preTxHashes[:1], + }, + { + preAddrs[1], + preTxHashes[1:2], + }, + }, + }, + { + "address with multiple transactions", + []pair{ + { + addr: preAddrs[0], + txHash: preTxHashes[0], + }, + { + addr: preAddrs[0], + txHash: preTxHashes[1], + }, + }, + []expectPair{ + { + preAddrs[0], + preTxHashes[:2], + }, + }, + }, + { + "add address with multiple same transactions", + []pair{ + { + addr: preAddrs[0], + txHash: preTxHashes[0], + }, + { + addr: preAddrs[0], + txHash: preTxHashes[0], + }, + { + addr: preAddrs[0], + txHash: preTxHashes[0], + }, + }, + []expectPair{ + { + preAddrs[0], + preTxHashes[:1], + }, + }, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + db, td := prepareDB(t) + defer td() + + addrTxns := &addressTxns{} + + err := db.Update("", func(tx *dbutil.Tx) error { + for _, pr := range tc.addPairs { + err := addrTxns.Add(tx, pr.addr, pr.txHash) + require.NoError(t, err) + } + + return nil + }) + require.NoError(t, err) + + err = db.View("", func(tx *dbutil.Tx) error { + for _, e := range tc.expect { + hashes, err := addrTxns.Get(tx, e.addr) + require.NoError(t, err) + require.Equal(t, e.txs, hashes) + } + return nil + }) + require.NoError(t, err) + + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/address_uxout.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/address_uxout.go new file mode 100755 index 0000000..044d00d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/address_uxout.go @@ -0,0 +1,54 @@ +package historydb + +import ( + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +// AddressUxBkt maps addresses to unspent outputs +var AddressUxBkt = []byte("address_in") + +// bucket for storing address with UxOut, key as address, value as UxOut. +type addressUx struct{} + +// Get return nil on not found. +func (au *addressUx) Get(tx *dbutil.Tx, address cipher.Address) ([]cipher.SHA256, error) { + var uxHashes []cipher.SHA256 + + if ok, err := dbutil.GetBucketObjectDecoded(tx, AddressUxBkt, address.Bytes(), &uxHashes); err != nil { + return nil, err + } else if !ok { + return nil, nil + } + + return uxHashes, nil +} + +// Add adds a hash to an address's hash list +func (au *addressUx) Add(tx *dbutil.Tx, address cipher.Address, uxHash cipher.SHA256) error { + hashes, err := au.Get(tx, address) + if err != nil { + return err + } + + // check for duplicate hashes + for _, u := range hashes { + if u == uxHash { + return nil + } + } + + hashes = append(hashes, uxHash) + return dbutil.PutBucketValue(tx, AddressUxBkt, address.Bytes(), encoder.Serialize(hashes)) +} + +// IsEmpty checks if the addressUx bucket is empty +func (au *addressUx) IsEmpty(tx *dbutil.Tx) (bool, error) { + return dbutil.IsEmpty(tx, AddressUxBkt) +} + +// Reset resets the bucket +func (au *addressUx) Reset(tx *dbutil.Tx) error { + return dbutil.Reset(tx, AddressUxBkt) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/history_meta.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/history_meta.go new file mode 100755 index 0000000..e6e3b39 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/history_meta.go @@ -0,0 +1,41 @@ +package historydb + +import ( + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + // HistoryMetaBkt holds history metadata + HistoryMetaBkt = []byte("history_meta") + parsedHeightKey = []byte("parsed_height") +) + +// historyMeta bucket for storing block history meta info +type historyMeta struct{} + +// Height returns history parsed block seq +func (hm *historyMeta) ParsedBlockSeq(tx *dbutil.Tx) (uint64, bool, error) { + v, err := dbutil.GetBucketValue(tx, HistoryMetaBkt, parsedHeightKey) + if err != nil { + return 0, false, err + } else if v == nil { + return 0, false, nil + } + + return dbutil.Btoi(v), true, nil +} + +// SetParsedHeight updates history parsed block seq +func (hm *historyMeta) SetParsedBlockSeq(tx *dbutil.Tx, h uint64) error { + return dbutil.PutBucketValue(tx, HistoryMetaBkt, parsedHeightKey, dbutil.Itob(h)) +} + +// IsEmpty checks if history meta bucket is empty +func (hm *historyMeta) IsEmpty(tx *dbutil.Tx) (bool, error) { + return dbutil.IsEmpty(tx, HistoryMetaBkt) +} + +// Reset resets the bucket +func (hm *historyMeta) Reset(tx *dbutil.Tx) error { + return dbutil.Reset(tx, HistoryMetaBkt) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/history_meta_test.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/history_meta_test.go new file mode 100755 index 0000000..3f42c85 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/history_meta_test.go @@ -0,0 +1,58 @@ +package historydb + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +func TestHistoryMetaGetSetParsedHeight(t *testing.T) { + db, td := prepareDB(t) + defer td() + + hm := &historyMeta{} + + err := db.View("", func(tx *dbutil.Tx) error { + height, ok, err := hm.ParsedBlockSeq(tx) + require.NoError(t, err) + require.False(t, ok) + require.Equal(t, uint64(0), height) + return err + }) + require.NoError(t, err) + + err = db.Update("", func(tx *dbutil.Tx) error { + err := hm.SetParsedBlockSeq(tx, 10) + require.NoError(t, err) + return err + }) + require.NoError(t, err) + + err = db.View("", func(tx *dbutil.Tx) error { + height, ok, err := hm.ParsedBlockSeq(tx) + require.NoError(t, err) + require.True(t, ok) + require.Equal(t, uint64(10), height) + return err + }) + require.NoError(t, err) + + err = db.Update("", func(tx *dbutil.Tx) error { + err := hm.SetParsedBlockSeq(tx, 0) + require.NoError(t, err) + return err + }) + require.NoError(t, err) + + err = db.View("", func(tx *dbutil.Tx) error { + height, ok, err := hm.ParsedBlockSeq(tx) + require.NoError(t, err) + require.True(t, ok) + require.Equal(t, uint64(0), height) + return err + }) + require.NoError(t, err) + +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/historydb.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/historydb.go new file mode 100755 index 0000000..c3061c6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/historydb.go @@ -0,0 +1,377 @@ +// Package historydb is in charge of parsing the consuses blokchain, and providing +// apis for blockchain explorer. +package historydb + +import ( + "errors" + "fmt" + "sync" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var logger = logging.MustGetLogger("historydb") + +// CreateBuckets creates bolt.DB buckets used by the historydb +func CreateBuckets(tx *dbutil.Tx) error { + return dbutil.CreateBuckets(tx, [][]byte{ + AddressTxnsBkt, + AddressUxBkt, + HistoryMetaBkt, + UxOutsBkt, + TransactionsBkt, + }) +} + +// HistoryDB provides APIs for blockchain explorer +type HistoryDB struct { + txns *transactions // transactions bucket + outputs *UxOuts // outputs bucket + addrUx *addressUx // bucket which stores all UxOuts that address received + addrTxns *addressTxns // address related transaction bucket + *historyMeta // stores history meta info +} + +// New create HistoryDB instance +func New() *HistoryDB { + return &HistoryDB{ + outputs: &UxOuts{}, + txns: &transactions{}, + addrUx: &addressUx{}, + addrTxns: &addressTxns{}, + } +} + +// NeedsReset checks if need to reset the parsed block history, +// If we have a new added bucket, we need to reset to parse +// blockchain again to get the new bucket filled. +func (hd *HistoryDB) NeedsReset(tx *dbutil.Tx) (bool, error) { + _, ok, err := hd.historyMeta.ParsedBlockSeq(tx) + if err != nil { + return false, err + } else if !ok { + return true, nil + } + + // if any of the following buckets are empty, need to reset + addrTxnsEmpty, err := hd.addrTxns.IsEmpty(tx) + if err != nil { + return false, err + } + + addrUxEmpty, err := hd.addrUx.IsEmpty(tx) + if err != nil { + return false, err + } + + txnsEmpty, err := hd.txns.IsEmpty(tx) + if err != nil { + return false, err + } + + outputsEmpty, err := hd.outputs.IsEmpty(tx) + if err != nil { + return false, err + } + + if addrTxnsEmpty || addrUxEmpty || txnsEmpty || outputsEmpty { + return true, nil + } + + return false, nil +} + +// Erase erases the entire HistoryDB +func (hd *HistoryDB) Erase(tx *dbutil.Tx) error { + logger.Debug("HistoryDB.reset") + if err := hd.addrTxns.Reset(tx); err != nil { + return err + } + + if err := hd.addrUx.Reset(tx); err != nil { + return err + } + + if err := hd.outputs.Reset(tx); err != nil { + return err + } + + if err := hd.historyMeta.Reset(tx); err != nil { + return err + } + + return hd.txns.Reset(tx) +} + +// GetUxOuts get UxOut of specific uxIDs. +func (hd *HistoryDB) GetUxOuts(tx *dbutil.Tx, uxIDs []cipher.SHA256) ([]*UxOut, error) { + return hd.outputs.GetArray(tx, uxIDs) +} + +// ParseBlock builds indexes out of the block data +func (hd *HistoryDB) ParseBlock(tx *dbutil.Tx, b coin.Block) error { + for _, t := range b.Body.Transactions { + txn := Transaction{ + Tx: t, + BlockSeq: b.Seq(), + } + + if err := hd.txns.Add(tx, &txn); err != nil { + return err + } + + for _, in := range t.In { + o, err := hd.outputs.Get(tx, in) + if err != nil { + return err + } + + if o == nil { + return errors.New("HistoryDB.ParseBlock: transaction input not found in outputs bucket") + } + + // update the output's spent block seq and txid + o.SpentBlockSeq = b.Seq() + o.SpentTxID = t.Hash() + if err := hd.outputs.Set(tx, *o); err != nil { + return err + } + + // store the IN address with txid + if err := hd.addrTxns.Add(tx, o.Out.Body.Address, t.Hash()); err != nil { + return err + } + } + + // handle the tx out + uxArray := coin.CreateUnspents(b.Head, t) + for _, ux := range uxArray { + if err := hd.outputs.Set(tx, UxOut{ + Out: ux, + }); err != nil { + return err + } + + if err := hd.addrUx.Add(tx, ux.Body.Address, ux.Hash()); err != nil { + return err + } + + if err := hd.addrTxns.Add(tx, ux.Body.Address, t.Hash()); err != nil { + return err + } + } + } + + return hd.SetParsedBlockSeq(tx, b.Seq()) +} + +// GetTransaction get transaction by hash. +func (hd HistoryDB) GetTransaction(tx *dbutil.Tx, hash cipher.SHA256) (*Transaction, error) { + return hd.txns.Get(tx, hash) +} + +// GetAddrUxOuts get all uxout that the address affected. +func (hd HistoryDB) GetAddrUxOuts(tx *dbutil.Tx, address cipher.Address) ([]*UxOut, error) { + hashes, err := hd.addrUx.Get(tx, address) + if err != nil { + return nil, err + } + + return hd.outputs.GetArray(tx, hashes) +} + +// GetAddressTxns returns all the address related transactions +func (hd HistoryDB) GetAddressTxns(tx *dbutil.Tx, address cipher.Address) ([]Transaction, error) { + hashes, err := hd.addrTxns.Get(tx, address) + if err != nil { + return nil, err + } + + return hd.txns.GetSlice(tx, hashes) +} + +// ForEachTxn traverses the transactions bucket +func (hd HistoryDB) ForEachTxn(tx *dbutil.Tx, f func(cipher.SHA256, *Transaction) error) error { + return hd.txns.ForEach(tx, f) +} + +// IndexesMap is a goroutine safe address indexes map +type IndexesMap struct { + value map[cipher.Address]AddressIndexes + lock sync.RWMutex +} + +// NewIndexesMap creates a IndexesMap instance +func NewIndexesMap() *IndexesMap { + return &IndexesMap{ + value: make(map[cipher.Address]AddressIndexes), + } +} + +// Load returns value of given key +func (im *IndexesMap) Load(address cipher.Address) (AddressIndexes, bool) { + im.lock.RLock() + v, ok := im.value[address] + im.lock.RUnlock() + return v, ok +} + +// Store saves address with indexes +func (im *IndexesMap) Store(address cipher.Address, indexes AddressIndexes) { + im.lock.Lock() + im.value[address] = indexes + im.lock.Unlock() +} + +// AddressIndexes represents the address indexes struct +type AddressIndexes struct { + TxnHashes map[cipher.SHA256]struct{} + UxHashes map[cipher.SHA256]struct{} +} + +// Verify checks if the historydb is corrupted +func (hd HistoryDB) Verify(tx *dbutil.Tx, b *coin.SignedBlock, indexesMap *IndexesMap) error { + for _, t := range b.Body.Transactions { + txnHash := t.Hash() + txn, err := hd.txns.Get(tx, txnHash) + if err != nil { + return err + } + + if txn == nil { + err := fmt.Errorf("HistoryDB.Verify: transaction %v does not exist in historydb", txnHash.Hex()) + return ErrHistoryDBCorrupted{err} + } + + for _, in := range t.In { + // Checks the existence of transaction input + o, err := hd.outputs.Get(tx, in) + if err != nil { + return err + } + + if o == nil { + err := fmt.Errorf("HistoryDB.Verify: transaction input %v does not exist in historydb", in.Hex()) + return ErrHistoryDBCorrupted{err} + } + + // Checks the output's spend block seq + if o.SpentBlockSeq != b.Seq() { + err := fmt.Errorf("HistoryDB.Verify: spend block seq of transaction input %v is wrong, should be: %v, but is %v", + in.Hex(), b.Seq(), o.SpentBlockSeq) + return ErrHistoryDBCorrupted{err} + } + + addr := o.Out.Body.Address + txnHashesMap := map[cipher.SHA256]struct{}{} + uxHashesMap := map[cipher.SHA256]struct{}{} + + // Checks if the address indexes already loaded into memory + indexes, ok := indexesMap.Load(addr) + if ok { + txnHashesMap = indexes.TxnHashes + uxHashesMap = indexes.UxHashes + } else { + txnHashes, err := hd.addrTxns.Get(tx, addr) + if err != nil { + return err + } + for _, hash := range txnHashes { + txnHashesMap[hash] = struct{}{} + } + + uxHashes, err := hd.addrUx.Get(tx, addr) + if err != nil { + return err + } + for _, hash := range uxHashes { + uxHashesMap[hash] = struct{}{} + } + + indexesMap.Store(addr, AddressIndexes{ + TxnHashes: txnHashesMap, + UxHashes: uxHashesMap, + }) + } + + if _, ok := txnHashesMap[txnHash]; !ok { + err := fmt.Errorf("HistoryDB.Verify: index of address transaction [%s:%s] does not exist in historydb", + addr, txnHash.Hex()) + return ErrHistoryDBCorrupted{err} + } + + if _, ok := uxHashesMap[in]; !ok { + err := fmt.Errorf("HistoryDB.Verify: index of address uxout [%s:%s] does not exist in historydb", + addr, in.Hex()) + return ErrHistoryDBCorrupted{err} + } + } + + // Checks the transaction outs + uxArray := coin.CreateUnspents(b.Head, t) + for _, ux := range uxArray { + uxHash := ux.Hash() + out, err := hd.outputs.Get(tx, uxHash) + if err != nil { + return err + } + + if out == nil { + err := fmt.Errorf("HistoryDB.Verify: transaction output %s does not exist in historydb", uxHash.Hex()) + return ErrHistoryDBCorrupted{err} + } + + addr := ux.Body.Address + txnHashesMap := map[cipher.SHA256]struct{}{} + uxHashesMap := map[cipher.SHA256]struct{}{} + indexes, ok := indexesMap.Load(addr) + if ok { + txnHashesMap = indexes.TxnHashes + uxHashesMap = indexes.UxHashes + } else { + txnHashes, err := hd.addrTxns.Get(tx, addr) + if err != nil { + return err + } + for _, hash := range txnHashes { + txnHashesMap[hash] = struct{}{} + } + + uxHashes, err := hd.addrUx.Get(tx, addr) + if err != nil { + return err + } + + for _, hash := range uxHashes { + uxHashesMap[hash] = struct{}{} + } + + indexesMap.Store(addr, AddressIndexes{ + TxnHashes: txnHashesMap, + UxHashes: uxHashesMap, + }) + } + + if _, ok := txnHashesMap[txnHash]; !ok { + err := fmt.Errorf("HistoryDB.Verify: index of address transaction [%s:%s] does not exist in historydb", + addr, txnHash.Hex()) + return ErrHistoryDBCorrupted{err} + } + } + } + return nil +} + +// ErrHistoryDBCorrupted is returned when found the historydb is corrupted +type ErrHistoryDBCorrupted struct { + error +} + +// NewErrHistoryDBCorrupted is for user to be able to create ErrHistoryDBCorrupted instance +// outside of the package +func NewErrHistoryDBCorrupted(err error) ErrHistoryDBCorrupted { + return ErrHistoryDBCorrupted{err} +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/historydb_test.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/historydb_test.go new file mode 100755 index 0000000..29940e4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/historydb_test.go @@ -0,0 +1,459 @@ +package historydb + +import ( + "errors" + "fmt" + "log" + "math/rand" + "testing" + "time" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +func prepareDB(t *testing.T) (*dbutil.DB, func()) { + db, shutdown := testutil.PrepareDB(t) + + err := db.Update("", func(tx *dbutil.Tx) error { + return CreateBuckets(tx) + }) + if err != nil { + shutdown() + t.Fatalf("CreateBuckets failed: %v", err) + } + + return db, shutdown +} + +var ( + genPublic, genSecret = cipher.GenerateKeyPair() + genAddress = cipher.AddressFromPubKey(genPublic) +) + +var genTime uint64 = 1000 +var incTime uint64 = 3600 * 1000 +var genCoins uint64 = 1000e6 + +func feeCalc(t *coin.Transaction) (uint64, error) { + return 0, nil +} + +// set rand seed. +var _ = func() int64 { + t := time.Now().Unix() + rand.Seed(t) + return t +}() + +// Blockchainer interface for isolating the detail of blockchain. +type Blockchainer interface { + Head() *coin.Block + GetBlockInDepth(dep uint64) *coin.Block + ExecuteBlock(b *coin.Block) (coin.UxArray, error) + CreateGenesisBlock(genAddress cipher.Address, genCoins, timestamp uint64) coin.Block + VerifyTransaction(tx coin.Transaction) error + GetBlock(hash cipher.SHA256) *coin.Block +} + +type fakeBlockchain struct { + blocks []coin.Block + unspent map[string]coin.UxOut + uxhash cipher.SHA256 +} + +func newBlockchain() *fakeBlockchain { + return &fakeBlockchain{ + unspent: make(map[string]coin.UxOut), + } +} + +func (fbc fakeBlockchain) GetBlockInDepth(dep uint64) *coin.Block { + if dep >= uint64(len(fbc.blocks)) { + panic(fmt.Sprintf("block depth: %d overflow", dep)) + } + + return &fbc.blocks[dep] +} + +func (fbc fakeBlockchain) Head() *coin.Block { + l := len(fbc.blocks) + if l == 0 { + return nil + } + + return &fbc.blocks[l-1] +} + +func (fbc *fakeBlockchain) deleteUxOut(uxids []cipher.SHA256) { + for _, id := range uxids { + ux := fbc.unspent[id.Hex()] + fbc.uxhash = fbc.uxhash.Xor(ux.SnapshotHash()) + delete(fbc.unspent, id.Hex()) + } +} + +func (fbc *fakeBlockchain) addUxOut(ux coin.UxOut) { + fbc.uxhash = fbc.uxhash.Xor(ux.SnapshotHash()) + fbc.unspent[ux.Hash().Hex()] = ux +} + +func (fbc *fakeBlockchain) ExecuteBlock(b *coin.Block) (coin.UxArray, error) { + var uxs coin.UxArray + txns := b.Body.Transactions + for _, tx := range txns { + // Remove spent outputs + for _, id := range tx.In { + ux := fbc.unspent[id.Hex()] + fbc.uxhash = fbc.uxhash.Xor(ux.SnapshotHash()) + delete(fbc.unspent, id.Hex()) + + } + fbc.deleteUxOut(tx.In) + // Create new outputs + txUxs := coin.CreateUnspents(b.Head, tx) + for i := range txUxs { + fbc.addUxOut(txUxs[i]) + } + uxs = append(uxs, txUxs...) + } + + b.Head.PrevHash = fbc.Head().HashHeader() + fbc.blocks = append(fbc.blocks, *b) + + return uxs, nil +} + +func (fbc *fakeBlockchain) CreateGenesisBlock(genesisAddr cipher.Address, genesisCoins, timestamp uint64) coin.Block { + txn := coin.Transaction{} + txn.PushOutput(genesisAddr, genesisCoins, genesisCoins) + body := coin.BlockBody{Transactions: coin.Transactions{txn}} + prevHash := cipher.SHA256{} + head := coin.BlockHeader{ + Time: timestamp, + BodyHash: body.Hash(), + PrevHash: prevHash, + BkSeq: 0, + Version: 0, + Fee: 0, + UxHash: cipher.SHA256{}, + } + b := coin.Block{ + Head: head, + Body: body, + } + // b.Body.Transactions[0].UpdateHeader() + fbc.blocks = append(fbc.blocks, b) + ux := coin.UxOut{ + Head: coin.UxHead{ + Time: timestamp, + BkSeq: 0, + }, + Body: coin.UxBody{ + SrcTransaction: txn.InnerHash, //user inner hash + Address: genesisAddr, + Coins: genesisCoins, + Hours: genesisCoins, // Allocate 1 coin hour per coin + }, + } + fbc.addUxOut(ux) + return b +} + +func (fbc fakeBlockchain) VerifyTransaction(tx coin.Transaction) error { + return nil +} + +func (fbc fakeBlockchain) GetBlock(hash cipher.SHA256) *coin.Block { + for _, b := range fbc.blocks { + if b.HashHeader() == hash { + return &b + } + } + return nil +} + +func TestProcessGenesisBlock(t *testing.T) { + db, teardown := prepareDB(t) + defer teardown() + + bc := newBlockchain() + gb := bc.CreateGenesisBlock(genAddress, genCoins, genTime) + hisDB := New() + + err := db.Update("", func(tx *dbutil.Tx) error { + err := hisDB.ParseBlock(tx, gb) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + + // check transactions bucket. + var tx Transaction + txHash := gb.Body.Transactions[0].Hash() + mustGetBucketValue(t, db, TransactionsBkt, txHash[:], &tx) + require.Equal(t, tx.Tx, gb.Body.Transactions[0]) + + // check address in + outID := []cipher.SHA256{} + mustGetBucketValue(t, db, AddressUxBkt, genAddress.Bytes(), &outID) + + ux, ok := bc.unspent[outID[0].Hex()] + require.True(t, ok) + require.Equal(t, outID[0], ux.Hash()) + + // check outputs + output := UxOut{} + mustGetBucketValue(t, db, UxOutsBkt, outID[0][:], &output) + + require.Equal(t, output.Out, ux) +} + +type testData struct { + PreBlockHash cipher.SHA256 + Vin txIn + Vouts []txOut + AddrInNum map[string]int + AddrOutNum map[string]int +} + +type txIn struct { + SigKey string + Addr string + TxID cipher.SHA256 + BlockSeq uint64 +} + +type txOut struct { + ToAddr string + Coins uint64 + Hours uint64 +} + +func getUx(bc Blockchainer, seq uint64, txID cipher.SHA256, addr string) (*coin.UxOut, error) { + b := bc.GetBlockInDepth(seq) + if b == nil { + return nil, fmt.Errorf("no block in depth:%v", seq) + } + + tx, ok := b.GetTransaction(txID) + if !ok { + return nil, errors.New("found transaction failed") + } + + uxs := coin.CreateUnspents(b.Head, tx) + for _, u := range uxs { + if u.Body.Address.String() == addr { + return &u, nil + } + } + return nil, nil +} + +func TestProcessBlock(t *testing.T) { + db, teardown := prepareDB(t) + defer teardown() + bc := newBlockchain() + gb := bc.CreateGenesisBlock(genAddress, genCoins, genTime) + + // create + hisDB := New() + + err := db.Update("", func(tx *dbutil.Tx) error { + err := hisDB.ParseBlock(tx, gb) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + /* + + |-2RxP5N26GhDqHrP6SK45ZzEMSmSpeUeWxsS + genesisAddr ==>| |-2RxP5N26GhDqHrP6SK45ZzEMSmSpeUeWxsS + |-222uMeCeL1PbkJGZJDgAz5sib2uisv9hYUm ==>| + |-222uMeCeL1PbkJGZJDgAz5sib2uisv9hYUm + */ + testData := []testData{ + { + PreBlockHash: gb.HashHeader(), + Vin: txIn{ + SigKey: genSecret.Hex(), + Addr: genAddress.String(), + TxID: gb.Body.Transactions[0].Hash(), + BlockSeq: 0, + }, + Vouts: []txOut{ + { + ToAddr: "2RxP5N26GhDqHrP6SK45ZzEMSmSpeUeWxsS", + Coins: 10e6, + Hours: 100, + }, + { + ToAddr: "222uMeCeL1PbkJGZJDgAz5sib2uisv9hYUm", + Coins: genCoins - 10e6, + Hours: 400, + }, + }, + AddrInNum: map[string]int{ + "2RxP5N26GhDqHrP6SK45ZzEMSmSpeUeWxsS": 1, + "222uMeCeL1PbkJGZJDgAz5sib2uisv9hYUm": 1, + }, + AddrOutNum: map[string]int{ + genAddress.String(): 1, + }, + }, + { + Vin: txIn{ + Addr: "222uMeCeL1PbkJGZJDgAz5sib2uisv9hYUm", + SigKey: "62f4d675d991c41a2819d908a4fcf4ba44ff0c31564039e80508c9d68197f90c", + BlockSeq: 1, + }, + Vouts: []txOut{ + { + ToAddr: "2RxP5N26GhDqHrP6SK45ZzEMSmSpeUeWxsS", + Coins: 10e6, + Hours: 100, + }, + { + ToAddr: "222uMeCeL1PbkJGZJDgAz5sib2uisv9hYUm", + Coins: 1000e6 - 20e6, + Hours: 100, + }, + }, + AddrInNum: map[string]int{ + "2RxP5N26GhDqHrP6SK45ZzEMSmSpeUeWxsS": 2, + "222uMeCeL1PbkJGZJDgAz5sib2uisv9hYUm": 2, + }, + AddrOutNum: map[string]int{ + "222uMeCeL1PbkJGZJDgAz5sib2uisv9hYUm": 1, + }, + }, + } + + testEngine(t, testData, bc, hisDB, db) +} + +func testEngine(t *testing.T, tds []testData, bc *fakeBlockchain, hdb *HistoryDB, db *dbutil.DB) { + for i, td := range tds { + b, tx, err := addBlock(bc, td, incTime*(uint64(i)+1)) + require.NoError(t, err) + + // update the next block test data. + if i+1 < len(tds) { + // update UxOut of next test data. + tds[i+1].Vin.TxID = tx.Hash() + tds[i+1].PreBlockHash = b.HashHeader() + } + + err = db.Update("", func(tx *dbutil.Tx) error { + err := hdb.ParseBlock(tx, *b) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + + // check tx + txInBkt := Transaction{} + k := tx.Hash() + mustGetBucketValue(t, db, TransactionsBkt, k[:], &txInBkt) + require.Equal(t, &txInBkt.Tx, tx) + + // check outputs + for _, o := range td.Vouts { + ux, err := getUx(bc, uint64(i+1), tx.Hash(), o.ToAddr) + require.NoError(t, err) + + uxInDB := UxOut{} + uxKey := ux.Hash() + mustGetBucketValue(t, db, UxOutsBkt, uxKey[:], &uxInDB) + require.Equal(t, &uxInDB.Out, ux) + } + + // check addr in + for _, o := range td.Vouts { + addr := cipher.MustDecodeBase58Address(o.ToAddr) + uxHashes := []cipher.SHA256{} + mustGetBucketValue(t, db, AddressUxBkt, addr.Bytes(), &uxHashes) + require.Equal(t, len(uxHashes), td.AddrInNum[o.ToAddr]) + } + } +} + +func addBlock(bc *fakeBlockchain, td testData, tm uint64) (*coin.Block, *coin.Transaction, error) { + txn := coin.Transaction{} + // get unspent output + ux, err := getUx(bc, td.Vin.BlockSeq, td.Vin.TxID, td.Vin.Addr) + if err != nil { + return nil, nil, err + } + if ux == nil { + return nil, nil, errors.New("no unspent output") + } + + txn.PushInput(ux.Hash()) + for _, o := range td.Vouts { + addr, err := cipher.DecodeBase58Address(o.ToAddr) + if err != nil { + return nil, nil, err + } + txn.PushOutput(addr, o.Coins, o.Hours) + } + + sigKey := cipher.MustSecKeyFromHex(td.Vin.SigKey) + txn.SignInputs([]cipher.SecKey{sigKey}) + txn.UpdateHeader() + if err := bc.VerifyTransaction(txn); err != nil { + return nil, nil, err + } + preBlock := bc.GetBlock(td.PreBlockHash) + b := newBlock(*preBlock, tm, bc.uxhash, coin.Transactions{txn}, feeCalc) + + // uxs, err := bc.ExecuteBlock(&b) + _, err = bc.ExecuteBlock(&b) + if err != nil { + return nil, nil, err + } + return &b, &txn, nil +} + +func mustGetBucketValue(t *testing.T, db *dbutil.DB, name []byte, key []byte, value interface{}) { + err := db.View("", func(tx *dbutil.Tx) error { + ok, err := dbutil.GetBucketObjectDecoded(tx, name, key, value) + require.NoError(t, err) + require.True(t, ok) + return err + }) + require.NoError(t, err) +} + +func newBlock(prev coin.Block, currentTime uint64, uxHash cipher.SHA256, txns coin.Transactions, calc coin.FeeCalculator) coin.Block { + if len(txns) == 0 { + log.Panic("Refusing to create block with no transactions") + } + fee, err := txns.Fees(calc) + if err != nil { + // This should have been caught earlier + log.Panicf("Invalid transaction fees: %v", err) + } + body := coin.BlockBody{Transactions: txns} + return coin.Block{ + Head: newBlockHeader(prev.Head, uxHash, currentTime, fee, body), + Body: body, + } +} + +func newBlockHeader(prev coin.BlockHeader, uxHash cipher.SHA256, currentTime, fee uint64, body coin.BlockBody) coin.BlockHeader { + prevHash := prev.Hash() + return coin.BlockHeader{ + BodyHash: body.Hash(), + Version: prev.Version, + PrevHash: prevHash, + Time: currentTime, + BkSeq: prev.BkSeq + 1, + Fee: fee, + UxHash: uxHash, + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/output.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/output.go new file mode 100755 index 0000000..225bd41 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/output.go @@ -0,0 +1,120 @@ +package historydb + +import ( + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +// UxOutsBkt holds unspent outputs +var UxOutsBkt = []byte("uxouts") + +// UxOut expend coin.UxOut struct +type UxOut struct { + Out coin.UxOut + SpentTxID cipher.SHA256 // id of tx which spent this output. + SpentBlockSeq uint64 // block seq that spent the output. +} + +// UxOutJSON UxOut's json format +type UxOutJSON struct { + Uxid string `json:"uxid"` + Time uint64 `json:"time"` + SrcBkSeq uint64 `json:"src_block_seq"` + SrcTx string `json:"src_tx"` + OwnerAddress string `json:"owner_address"` + Coins uint64 `json:"coins"` + Hours uint64 `json:"hours"` + SpentBlockSeq uint64 `json:"spent_block_seq"` // block seq that spent the output. + SpentTxID string `json:"spent_tx"` // id of tx which spent this output. +} + +// NewUxOutJSON generates UxOutJSON from UxOut +func NewUxOutJSON(out *UxOut) *UxOutJSON { + if out == nil { + return nil + } + + return &UxOutJSON{ + Uxid: out.Hash().Hex(), + Time: out.Out.Head.Time, + SrcBkSeq: out.Out.Head.BkSeq, + SrcTx: out.Out.Body.SrcTransaction.Hex(), + OwnerAddress: out.Out.Body.Address.String(), + Coins: out.Out.Body.Coins, + Hours: out.Out.Body.Hours, + SpentBlockSeq: out.SpentBlockSeq, + SpentTxID: out.SpentTxID.Hex(), + } +} + +// Hash returns outhash +func (o UxOut) Hash() cipher.SHA256 { + return o.Out.Hash() +} + +// UxOuts bucket stores outputs, UxOut hash as key and Output as value. +type UxOuts struct{} + +// Set sets out value +func (ux *UxOuts) Set(tx *dbutil.Tx, out UxOut) error { + hash := out.Hash() + return dbutil.PutBucketValue(tx, UxOutsBkt, hash[:], encoder.Serialize(out)) +} + +// Get gets UxOut of given id +func (ux *UxOuts) Get(tx *dbutil.Tx, uxID cipher.SHA256) (*UxOut, error) { + var out UxOut + + if ok, err := dbutil.GetBucketObjectDecoded(tx, UxOutsBkt, uxID[:], &out); err != nil { + return nil, err + } else if !ok { + return nil, nil + } + + return &out, nil +} + +// GetArray returns UxOuts for a set of uxids, will return error if any of the uxids do not exist +func (ux *UxOuts) GetArray(tx *dbutil.Tx, uxIDs []cipher.SHA256) ([]*UxOut, error) { + var outs []*UxOut + for _, uxID := range uxIDs { + out, err := ux.Get(tx, uxID) + if err != nil { + return nil, err + } else if out == nil { + return nil, NewErrUxOutNotExist(uxID.Hex()) + } + + outs = append(outs, out) + } + + return outs, nil +} + +// IsEmpty checks if the uxout bucekt is empty +func (ux *UxOuts) IsEmpty(tx *dbutil.Tx) (bool, error) { + return dbutil.IsEmpty(tx, UxOutsBkt) +} + +// Reset resets the bucket +func (ux *UxOuts) Reset(tx *dbutil.Tx) error { + return dbutil.Reset(tx, UxOutsBkt) +} + +// ErrUxOutNotExist is returned if an uxout is not found in historydb +type ErrUxOutNotExist struct { + UxID string +} + +// NewErrUxOutNotExist creates ErrUxOutNotExist from a UxID +func NewErrUxOutNotExist(uxID string) error { + return ErrUxOutNotExist{UxID: uxID} +} + +func (e ErrUxOutNotExist) Error() string { + return fmt.Sprintf("uxout of %s does not exist", e.UxID) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/transaction.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/transaction.go new file mode 100755 index 0000000..addca18 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/transaction.go @@ -0,0 +1,99 @@ +package historydb + +// transaction.go mainly provides transaction corresponding buckets and apis, +// The transactions bucket, tx hash as key, and tx as value, it's the main bucket that stores the +// transaction value. All other buckets that index different field of transaction will only records the +// transaction hash, and get the tx value from transactions bucket. + +import ( + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +// TransactionsBkt holds Transactions +var TransactionsBkt = []byte("transactions") + +// Transactions transaction bucket instance. +type transactions struct{} + +// Transaction contains transaction info and the seq of block which executed this block. +type Transaction struct { + Tx coin.Transaction + BlockSeq uint64 +} + +// Hash return the Tx hash. +func (tx *Transaction) Hash() cipher.SHA256 { + return tx.Tx.Hash() +} + +// New create a transaction db instance. +func newTransactions() *transactions { + return &transactions{} +} + +// Add transaction to the db. +func (txs *transactions) Add(tx *dbutil.Tx, txn *Transaction) error { + hash := txn.Hash() + return dbutil.PutBucketValue(tx, TransactionsBkt, hash[:], encoder.Serialize(txn)) +} + +// Get gets transaction by tx hash, return nil on not found. +func (txs *transactions) Get(tx *dbutil.Tx, hash cipher.SHA256) (*Transaction, error) { + var txn Transaction + + if ok, err := dbutil.GetBucketObjectDecoded(tx, TransactionsBkt, hash[:], &txn); err != nil { + return nil, err + } else if !ok { + return nil, nil + } + + return &txn, nil +} + +// GetSlice returns transactions slice of given hashes +func (txs *transactions) GetSlice(tx *dbutil.Tx, hashes []cipher.SHA256) ([]Transaction, error) { + var txns []Transaction + for _, h := range hashes { + var txn Transaction + + if ok, err := dbutil.GetBucketObjectDecoded(tx, TransactionsBkt, h[:], &txn); err != nil { + return nil, err + } else if !ok { + continue + } + + txns = append(txns, txn) + } + + return txns, nil +} + +// IsEmpty checks if transaction bucket is empty +func (txs *transactions) IsEmpty(tx *dbutil.Tx) (bool, error) { + return dbutil.IsEmpty(tx, TransactionsBkt) +} + +// Reset resets the bucket +func (txs *transactions) Reset(tx *dbutil.Tx) error { + return dbutil.Reset(tx, TransactionsBkt) +} + +// ForEach traverses the transactions in db +func (txs *transactions) ForEach(tx *dbutil.Tx, f func(cipher.SHA256, *Transaction) error) error { + return dbutil.ForEach(tx, TransactionsBkt, func(k, v []byte) error { + hash, err := cipher.SHA256FromBytes(k) + if err != nil { + return err + } + + var txn Transaction + if err := encoder.DeserializeRaw(v, &txn); err != nil { + return err + } + + return f(hash, &txn) + }) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/transaction_test.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/transaction_test.go new file mode 100755 index 0000000..dc234d6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/transaction_test.go @@ -0,0 +1,187 @@ +package historydb + +import ( + "math/rand" + "testing" + "time" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/testutil" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +// set rand seed. +var _ = func() int64 { + t := time.Now().Unix() + rand.Seed(t) + return t +}() + +func TestTransactionGet(t *testing.T) { + txns := make([]Transaction, 0, 3) + for i := 0; i < 3; i++ { + txns = append(txns, makeTransaction(t)) + } + + testCases := []struct { + name string + hash cipher.SHA256 + expect *Transaction + }{ + { + "get first", + txns[0].Hash(), + &txns[0], + }, + { + "get second", + txns[1].Hash(), + &txns[1], + }, + { + "not exist", + txns[2].Hash(), + nil, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + db, td := prepareDB(t) + defer td() + + txsBkt := newTransactions() + + // init the bkt + err := db.Update("", func(tx *dbutil.Tx) error { + for _, txn := range txns[:2] { + err := txsBkt.Add(tx, &txn) + require.NoError(t, err) + } + return nil + }) + require.NoError(t, err) + + // get slice + err = db.View("", func(tx *dbutil.Tx) error { + ts, err := txsBkt.Get(tx, tc.hash) + require.NoError(t, err) + require.Equal(t, tc.expect, ts) + return nil + }) + require.NoError(t, err) + }) + } +} + +func TestTransactionGetSlice(t *testing.T) { + txns := make([]Transaction, 0, 4) + for i := 0; i < 4; i++ { + txns = append(txns, makeTransaction(t)) + } + + testCases := []struct { + name string + hashes []cipher.SHA256 + expect []Transaction + }{ + { + "get one", + []cipher.SHA256{ + txns[0].Hash(), + }, + txns[:1], + }, + { + "get two", + []cipher.SHA256{ + txns[0].Hash(), + txns[1].Hash(), + }, + txns[:2], + }, + { + "get all", + []cipher.SHA256{ + txns[0].Hash(), + txns[1].Hash(), + txns[2].Hash(), + }, + txns[:3], + }, + { + "not exist", + []cipher.SHA256{ + txns[3].Hash(), + }, + nil, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + db, td := prepareDB(t) + defer td() + txsBkt := newTransactions() + + // init the bkt + err := db.Update("", func(tx *dbutil.Tx) error { + for _, txn := range txns[:3] { + err := txsBkt.Add(tx, &txn) + require.NoError(t, err) + } + return nil + }) + require.NoError(t, err) + + // get slice + err = db.View("", func(tx *dbutil.Tx) error { + ts, err := txsBkt.GetSlice(tx, tc.hashes) + require.NoError(t, err) + require.Equal(t, tc.expect, ts) + return nil + }) + require.NoError(t, err) + }) + } +} + +func makeTransaction(t *testing.T) Transaction { + tx := Transaction{} + ux, s := makeUxOutWithSecret(t) + tx.Tx.PushInput(ux.Hash()) + tx.Tx.SignInputs([]cipher.SecKey{s}) + tx.Tx.PushOutput(makeAddress(), 1e6, 50) + tx.Tx.PushOutput(makeAddress(), 5e6, 50) + tx.Tx.UpdateHeader() + return tx +} + +func makeAddress() cipher.Address { + p, _ := cipher.GenerateKeyPair() + return cipher.AddressFromPubKey(p) +} + +func makeUxBodyWithSecret(t *testing.T) (coin.UxBody, cipher.SecKey) { + p, s := cipher.GenerateKeyPair() + return coin.UxBody{ + SrcTransaction: testutil.RandSHA256(t), + Address: cipher.AddressFromPubKey(p), + Coins: 1e6, + Hours: 100, + }, s +} + +func makeUxOutWithSecret(t *testing.T) (coin.UxOut, cipher.SecKey) { + body, sec := makeUxBodyWithSecret(t) + return coin.UxOut{ + Head: coin.UxHead{ + Time: 100, + BkSeq: 2, + }, + Body: body, + }, sec +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historyer_mock_test.go b/vendor/github.com/skycoin/skycoin/src/visor/historyer_mock_test.go new file mode 100755 index 0000000..6ecfaa8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historyer_mock_test.go @@ -0,0 +1,251 @@ +/* +* CODE GENERATED AUTOMATICALLY WITH github.com/ernesto-jimenez/goautomock +* THIS FILE MUST NEVER BE EDITED MANUALLY + */ + +package visor + +import ( + "fmt" + + mock "github.com/stretchr/testify/mock" + + cipher "github.com/skycoin/skycoin/src/cipher" + coin "github.com/skycoin/skycoin/src/coin" + dbutil "github.com/skycoin/skycoin/src/visor/dbutil" + historydb "github.com/skycoin/skycoin/src/visor/historydb" +) + +// HistoryerMock mock +type HistoryerMock struct { + mock.Mock +} + +func NewHistoryerMock() *HistoryerMock { + return &HistoryerMock{} +} + +// Erase mocked method +func (m *HistoryerMock) Erase(p0 *dbutil.Tx) error { + + ret := m.Called(p0) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// ForEachTxn mocked method +func (m *HistoryerMock) ForEachTxn(p0 *dbutil.Tx, p1 func(cipher.SHA256, *historydb.Transaction) error) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// GetAddrUxOuts mocked method +func (m *HistoryerMock) GetAddrUxOuts(p0 *dbutil.Tx, p1 cipher.Address) ([]*historydb.UxOut, error) { + + ret := m.Called(p0, p1) + + var r0 []*historydb.UxOut + switch res := ret.Get(0).(type) { + case nil: + case []*historydb.UxOut: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetAddressTxns mocked method +func (m *HistoryerMock) GetAddressTxns(p0 *dbutil.Tx, p1 cipher.Address) ([]historydb.Transaction, error) { + + ret := m.Called(p0, p1) + + var r0 []historydb.Transaction + switch res := ret.Get(0).(type) { + case nil: + case []historydb.Transaction: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetTransaction mocked method +func (m *HistoryerMock) GetTransaction(p0 *dbutil.Tx, p1 cipher.SHA256) (*historydb.Transaction, error) { + + ret := m.Called(p0, p1) + + var r0 *historydb.Transaction + switch res := ret.Get(0).(type) { + case nil: + case *historydb.Transaction: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetUxOuts mocked method +func (m *HistoryerMock) GetUxOuts(p0 *dbutil.Tx, p1 []cipher.SHA256) ([]*historydb.UxOut, error) { + + ret := m.Called(p0, p1) + + var r0 []*historydb.UxOut + switch res := ret.Get(0).(type) { + case nil: + case []*historydb.UxOut: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// NeedsReset mocked method +func (m *HistoryerMock) NeedsReset(p0 *dbutil.Tx) (bool, error) { + + ret := m.Called(p0) + + var r0 bool + switch res := ret.Get(0).(type) { + case nil: + case bool: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// ParseBlock mocked method +func (m *HistoryerMock) ParseBlock(p0 *dbutil.Tx, p1 coin.Block) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// ParsedBlockSeq mocked method +func (m *HistoryerMock) ParsedBlockSeq(p0 *dbutil.Tx) (uint64, bool, error) { + + ret := m.Called(p0) + + var r0 uint64 + switch res := ret.Get(0).(type) { + case nil: + case uint64: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 bool + switch res := ret.Get(1).(type) { + case nil: + case bool: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r2 error + switch res := ret.Get(2).(type) { + case nil: + case error: + r2 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1, r2 + +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/parameters.go b/vendor/github.com/skycoin/skycoin/src/visor/parameters.go new file mode 100755 index 0000000..3b589e9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/parameters.go @@ -0,0 +1,130 @@ +package visor + +/* +* CODE GENERATED AUTOMATICALLY WITH FIBER COIN CREATOR +* AVOID EDITING THIS MANUALLY + */ + +const ( + // MaxCoinSupply is the maximum supply of coins + MaxCoinSupply uint64 = 300000000 + // DistributionAddressesTotal is the number of distribution addresses + DistributionAddressesTotal uint64 = 100 + // DistributionAddressInitialBalance is the initial balance of each distribution address + DistributionAddressInitialBalance uint64 = MaxCoinSupply / DistributionAddressesTotal + // InitialUnlockedCount is the initial number of unlocked addresses + InitialUnlockedCount uint64 = 100 + // UnlockAddressRate is the number of addresses to unlock per unlock time interval + UnlockAddressRate uint64 = 0 + // UnlockTimeInterval is the distribution address unlock time interval, measured in seconds + // Once the InitialUnlockedCount is exhausted, + // UnlockAddressRate addresses will be unlocked per UnlockTimeInterval + UnlockTimeInterval uint64 = 31536000 // in seconds + // MaxDropletPrecision represents the decimal precision of droplets + MaxDropletPrecision uint64 = 3 + //DefaultMaxBlockSize is max block size + DefaultMaxBlockSize int = 32768 // in bytes +) + +var distributionAddresses = [DistributionAddressesTotal]string{ + "4EmJ5dfx3wsHwWKsMTfQ31p5uYJfJdkohh", +"QuoFvFwtkekMEYRhXyX6FLdZgYaepwHLrR", +"pUCFtuV98KHrTucKPRgjCGZge5ADGNWJKZ", +"vZjW1xFWefDdkjZjBirsBbLx4ShmqMLPXc", +"29kPNEyTUXbAQsfDBRYwvjxv7AUsEfkHF2W", +"2KFTykHNkeT2ab2rXR4trNgqbsnyGihXR5i", +"qMkYYXpHYxnQF82dGSU1NPZC5rnrcMKLuq", +"22upsW6afi8XeHbKGA6LXQRLuMQJxrbZNSC", +"2KfCbr4u41Kwwd9p2qFAYi8q846vuBhEdf7", +"2LUkM89FH73aDLNLYHeSAXznpMkfZYZworz", +"CeYwWAnzzHq2AKVjraYQHke1koewCaAtYi", +"HV3a26bJydKEyFo9KshRNKM93YXYZSnLeL", +"UwukfXR39CimFfDkBCyh2uE2j7DW45PNv5", +"2SkYKxbWU9PeWaXczT3wMNZAUuFt6hm97yp", +"2UKw1dPW8ih2ECSwhSbsvW2VS6KNGpktiw4", +"2KE3JCVhWpuKesiC1W8kzHXEMi3crwAVPVJ", +"2UzqsvDfesa4TEWpmEiDHVNDNXzrxEXhwGp", +"Ut6UTqYbcu8QVYB9qnh6Sgrq5ztKRKjXy7", +"2R7ukNJG2ELVUsX2GJwNvoy7FgQQE3yMVpv", +"DrxrNGUWUujcA5etb9fi2KtimkDmidBDry", +"2iYrEDYjMizGZxFgqb4msocd6yDYYzUH8UC", +"dS67qDfqTod2viEScxm57oCnGogD5sk1Wp", +"gr6RVkPzR8gB8w1a2fJ4f6Uv3hwa8WHKZm", +"aeHM9sEPzJ8nW5g9msXEb1DHoRgg7HD2Uo", +"kTxV9FvMXqRtSMRxA8BVnYbPnC1GGcGEwZ", +"jZ8365eMAMtjVTcvxATYh1Z13iSwE4DM1w", +"2NJGW1RbbRFh6Bqjf33cs4f1QHtBEZHSkK2", +"2EULQ7JMpfut1fCCieLa1QG3Emh1R3emJYV", +"wXnFqaJ5t4YKuYtts1vjNmn22yHrMDwHdL", +"yjczN2BwDA8DSjs1aDJ72vPm6mBp6YzwNB", +"gz6J6eaf7v5wWrBH6uA8rEwCeEtE6m4uTZ", +"2L3UoEFAkjSvw1xp2HX7EfLR7MmtmuKEF4K", +"2bUjBYtansT9j9qBGjoXf5NM818rs465L69", +"TQwgQFP5rhSfnDLXZvX2BvN76PbUw6TPw", +"2FR126USk7RHzTZFfneEsnXtfi2fA7rBrJg", +"pvo9qDEMgxJ8sVp823UGECvxyHepsYmGy5", +"dWqXe4cWjP8dpypTdo1WgBQWgkRge83RYx", +"2frwoqsfxnaEZUTQMSyt8zPRisk37AudWHZ", +"dU9ZF6ymfAzaX8JUwAPwysxf3e63t6aJvB", +"5XuNJ735yoM8pMptV8Xb86XeQTqDeLNhad", +"GCoLLGVccM55uqAydu2sEuTKTboPYcjLSq", +"gVqLaT3m25XSuCkTKL81oa6GQZtHEUghCv", +"2FL8aRBu6PkJtbUtrP2FrjA6RfMMuMGrogb", +"RNKy29dcpByB1vNzwS3MBSAVmLeNEL5r1u", +"FAtwXixRrwCof2Q8d1G9oRRL21Pu97QzYE", +"2jnFU4WhTspT5xF9xBmEGCyjBzGrpwV9KmU", +"2LPpaLNr1SGRANSjtrBNdyQ3CsLiuJrJ9vG", +"29CWC1Q5mwuvGkcUzNsUeKYpDGTYQwKHUz5", +"2VzVTqprsaxX83Ty3RDB8qxxj8okCsX1uZV", +"Pi5PEQWLzM6VAx3teH5njsfS3aRe8uM33d", +"2hkYymVJnTkFRNNaizTvTtCfZjnXUJdB4Vd", +"Bd8NgUn7M2AZ5DhJcptMSt18ktawytraRm", +"N1crujfwpmE5GYxiCyNNhNawr3WR5o8DEN", +"Qrmf84dw5qhWAFsCRE8jGwZNkdjtuD2tVs", +"CRofzyPh9trHsmE9Me5BZtDYFrZHbWeeiR", +"joMkrn1dDQ6HXijZ4N2c6w18B87mStsrYk", +"4hhUdCSnA8Am15GsuMxZH5UDcuTr224JEf", +"zFPE7UnL4D61XhocQTdd7aWU61qDcP1axo", +"6UEW22dRvEdXegvE9RvP86cjHQjfYMaBF3", +"2Ukg5PK8ur3ufhV728zh2w1giBTuhrudy7u", +"h3MmQzJyXRkkZQtcsqexp1fZEs1M2uPFAD", +"2MeTkW453oaHXZpQz1RXm9fT85VBxKxEVy6", +"29nCVWPwzGqJqyzbmiHmmmipm7vb7H3hv1m", +"2VLfYZauxkN3AiVxdCmRD2KTbrLCQyHQin4", +"YjmWMwGwkyMg1wFNRKWDwCwHf3Pb116PxC", +"yxocxuh2U7SdwfNGXD6ntsQVsQTpyLS56i", +"s4obnTHe4Kuokn3MdxW7o9whzeMycv7hr2", +"At5XWpAgdFBoYKadcVTfTqaZfHu57ozFHu", +"ySUjssfqfHW2dcV6MKj4K6gqWAc1BDZsGw", +"AY96pFVKHAK2WzjhP9UDkv4pG2j5bqBVmi", +"gnVeepuUGh31tcyWTK3Tz2FQJ14euVdKK8", +"pAJTiVpQzX14LEKMB8Bz1ExGaJ3jDY1VGf", +"BVDEFRqgEyVvFsFx6fgBHCE5Y5RWgfBA1n", +"29qvewmoSV6NHifFLA76pYbSM6QawE2adKC", +"2hTQQCkfzp55LvysLeFzps5yY8WBboEjZ9e", +"WS57hc5SpncSrFkFpfa72PcJdyCyeKh1P1", +"2K1MQ58KbvyC1BWh9ptwHkBN5PnPhdsizJH", +"22DFsFEDcEKzLC5wN9qGAJP39myGB7pNLf2", +"2QxWANHhQDEKX3KVFiJADFGWHLeptXmH6Bb", +"2aTnyKGwZTqVkfmf1wfSGDAmyatdY2meaS3", +"2G1dQFH7rwyDpgLkgxWqUnVJhEP5nRsqkgS", +"23gkEujwMYDq1NZMpyQ6rNmiAYpZNCroTSd", +"6HdUiFNTKZStZecVkC4VahcQ7wZ4MJattr", +"25RAFrzh85QEQBP54HN4gtpE6dUdNFKLH87", +"CFr84AHkbdL8CzFdHbbMGZLT5CFAiLSKaG", +"21fU9ALUcFrQNQ1CQZv7n3JJitZYUsnbPZR", +"hs6me1EvzJPSMnGZJVG3Ucn5x8xviJUgig", +"RV4TvVCbyvLfcuPPoXJjpGNNwBy7Nm5Pau", +"28wAXi74mQdfUKBVVS6TcdZ8qFJSnPhP5cz", +"zT7hSSsYf5erHMQRAENauNox3AfJ6dguKE", +"c3xiX4PyKiAJf9Kug4iuSD4iTKWfDpDdG", +"xFJocvPFCYP3EP2r2Nv1PjNuCwFeGRhKDp", +"kmoacFgosG6KJMHe9KDiR2tzRwWmgPmfsB", +"2DZrmXmMPUe43ZHnef35NZg9ktk35c7r3Ep", +"mHoGgj8ahJanEFMDpoxey2KKupqS81bucM", +"2iY6RrqftgfS4o66eg93yehmSWTvuzHTrF2", +"KBuWGafcLr4ht1BT8ykbgiCpQNj4Bore1g", +"F94opeQNavbkh7eZKsk4EJ3Lx38p3AYvCE", +"RA9VsokcqMgnRow5osuUV8zwQdrHntMxaZ", +"uN7JuRyBtbMvRfP26Ui3pnexch8WgoGfdf", +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/readable.go b/vendor/github.com/skycoin/skycoin/src/visor/readable.go new file mode 100755 index 0000000..9a7c0dc --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/readable.go @@ -0,0 +1,642 @@ +package visor + +import ( + "encoding/json" + "errors" + "fmt" + "sort" + "strings" + "time" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/wallet" +) + +// BlockchainMetadata encapsulates useful information from the coin.Blockchain +type BlockchainMetadata struct { + // Most recent block's header + Head ReadableBlockHeader `json:"head"` + // Number of unspent outputs in the coin.Blockchain + Unspents uint64 `json:"unspents"` + // Number of known unconfirmed txns + Unconfirmed uint64 `json:"unconfirmed"` +} + +// NewBlockchainMetadata creates blockchain meta data +func NewBlockchainMetadata(head *coin.SignedBlock, unconfirmedLen, unspentsLen uint64) (*BlockchainMetadata, error) { + return &BlockchainMetadata{ + Head: NewReadableBlockHeader(&head.Head), + Unspents: unspentsLen, + Unconfirmed: unconfirmedLen, + }, nil +} + +// Transaction wraps around coin.Transaction, tagged with its status. This allows us +// to include unconfirmed txns +type Transaction struct { + Txn coin.Transaction //`json:"txn"` + Status TransactionStatus //`json:"status"` + Time uint64 //`json:"time"` +} + +// TransactionStatus represents the transaction status +type TransactionStatus struct { + Confirmed bool `json:"confirmed"` + // This txn is in the unconfirmed pool + Unconfirmed bool `json:"unconfirmed"` + // If confirmed, how many blocks deep in the chain it is. Will be at least + // 1 if confirmed. + Height uint64 `json:"height"` + // Execute block seq + BlockSeq uint64 `json:"block_seq"` + // We can't find anything about this txn. Be aware that the txn may be + // in someone else's unconfirmed pool, and if valid, it may become a + // confirmed txn in the future + Unknown bool `json:"unknown"` +} + +// NewUnconfirmedTransactionStatus creates unconfirmed transaction status +func NewUnconfirmedTransactionStatus() TransactionStatus { + return TransactionStatus{ + Unconfirmed: true, + Unknown: false, + Confirmed: false, + Height: 0, + } +} + +// NewUnknownTransactionStatus creates unknow transaction status +func NewUnknownTransactionStatus() TransactionStatus { + return TransactionStatus{ + Unconfirmed: false, + Unknown: true, + Confirmed: false, + Height: 0, + BlockSeq: 0, + } +} + +// NewConfirmedTransactionStatus creates confirmed transaction status +func NewConfirmedTransactionStatus(height uint64, blockSeq uint64) TransactionStatus { + if height == 0 { + logger.Panic("Invalid confirmed transaction height") + } + return TransactionStatus{ + Unconfirmed: false, + Unknown: false, + Confirmed: true, + Height: height, + BlockSeq: blockSeq, + } +} + +// ReadableTransactionOutput readable transaction output +type ReadableTransactionOutput struct { + Hash string `json:"uxid"` + Address string `json:"dst"` + Coins string `json:"coins"` + Hours uint64 `json:"hours"` +} + +// ReadableTransactionInput readable transaction input +type ReadableTransactionInput struct { + Hash string `json:"uxid"` + Address string `json:"owner"` + Coins string `json:"coins"` + Hours uint64 `json:"hours"` + CalculatedHours uint64 `json:"calculated_hours"` +} + +// NewReadableTransactionOutput creates ReadableTransactionOutput +func NewReadableTransactionOutput(t *coin.TransactionOutput, txid cipher.SHA256) (*ReadableTransactionOutput, error) { + coinStr, err := droplet.ToString(t.Coins) + if err != nil { + return nil, err + } + + return &ReadableTransactionOutput{ + Hash: t.UxID(txid).Hex(), + Address: t.Address.String(), + Coins: coinStr, + Hours: t.Hours, + }, nil +} + +// NewReadableTransactionInput creates ReadableTransactionInput +func NewReadableTransactionInput(ux coin.UxOut, calculateHoursTime uint64) (*ReadableTransactionInput, error) { + coinVal, err := droplet.ToString(ux.Body.Coins) + if err != nil { + logger.Errorf("Failed to convert coins to string: %v", err) + return nil, err + } + + // The overflow bug causes this to fail for some transactions, allow it to pass + calculatedHours, err := ux.CoinHours(calculateHoursTime) + if err != nil { + logger.Critical().Warningf("Ignoring NewReadableTransactionInput ux.CoinHours failed: %v", err) + calculatedHours = 0 + } + + return &ReadableTransactionInput{ + Hash: ux.Hash().Hex(), + Address: ux.Body.Address.String(), + Coins: coinVal, + Hours: ux.Body.Hours, + CalculatedHours: calculatedHours, + }, nil +} + +// ReadableOutput represents readable output +type ReadableOutput struct { + Hash string `json:"hash"` + Time uint64 `json:"time"` + BkSeq uint64 `json:"block_seq"` + SourceTransaction string `json:"src_tx"` + Address string `json:"address"` + Coins string `json:"coins"` + Hours uint64 `json:"hours"` + CalculatedHours uint64 `json:"calculated_hours"` +} + +// ReadableOutputSet records unspent outputs in different status. +type ReadableOutputSet struct { + // HeadOutputs are unspent outputs confirmed in the blockchain + HeadOutputs ReadableOutputs `json:"head_outputs"` + // IncomingOutputs are unspent outputs being spent in unconfirmed transactions + OutgoingOutputs ReadableOutputs `json:"outgoing_outputs"` + // IncomingOutputs are unspent outputs being created by unconfirmed transactions + IncomingOutputs ReadableOutputs `json:"incoming_outputs"` +} + +// ReadableOutputs slice of ReadableOutput +// provids method to calculate balance +type ReadableOutputs []ReadableOutput + +// Balance returns the balance in droplets +func (ros ReadableOutputs) Balance() (wallet.Balance, error) { + var bal wallet.Balance + for _, out := range ros { + coins, err := droplet.FromString(out.Coins) + if err != nil { + return wallet.Balance{}, err + } + + bal.Coins, err = coin.AddUint64(bal.Coins, coins) + if err != nil { + return wallet.Balance{}, err + } + + bal.Hours, err = coin.AddUint64(bal.Hours, out.CalculatedHours) + if err != nil { + return wallet.Balance{}, err + } + } + + return bal, nil +} + +// ToUxArray converts ReadableOutputs to coin.UxArray +func (ros ReadableOutputs) ToUxArray() (coin.UxArray, error) { + var uxs coin.UxArray + for _, o := range ros { + coins, err := droplet.FromString(o.Coins) + if err != nil { + return nil, err + } + + addr, err := cipher.DecodeBase58Address(o.Address) + if err != nil { + return nil, err + } + + srcTx, err := cipher.SHA256FromHex(o.SourceTransaction) + if err != nil { + return nil, err + } + + uxs = append(uxs, coin.UxOut{ + Head: coin.UxHead{ + Time: o.Time, + BkSeq: o.BkSeq, + }, + Body: coin.UxBody{ + SrcTransaction: srcTx, + Address: addr, + Coins: coins, + Hours: o.Hours, + }, + }) + } + + return uxs, nil +} + +// SpendableOutputs subtracts OutgoingOutputs from HeadOutputs +func (os ReadableOutputSet) SpendableOutputs() ReadableOutputs { + if len(os.OutgoingOutputs) == 0 { + return os.HeadOutputs + } + + spending := make(map[string]struct{}, len(os.OutgoingOutputs)) + for _, u := range os.OutgoingOutputs { + spending[u.Hash] = struct{}{} + } + + var outs ReadableOutputs + for i := range os.HeadOutputs { + if _, ok := spending[os.HeadOutputs[i].Hash]; !ok { + outs = append(outs, os.HeadOutputs[i]) + } + } + return outs +} + +// ExpectedOutputs adds IncomingOutputs to SpendableOutputs +func (os ReadableOutputSet) ExpectedOutputs() ReadableOutputs { + return append(os.SpendableOutputs(), os.IncomingOutputs...) +} + +// AggregateUnspentOutputs builds a map from address to coins +func (os ReadableOutputSet) AggregateUnspentOutputs() (map[string]uint64, error) { + allAccounts := map[string]uint64{} + for _, out := range os.HeadOutputs { + amt, err := droplet.FromString(out.Coins) + if err != nil { + return nil, err + } + if _, ok := allAccounts[out.Address]; ok { + allAccounts[out.Address], err = coin.AddUint64(allAccounts[out.Address], amt) + if err != nil { + return nil, err + } + } else { + allAccounts[out.Address] = amt + } + } + + return allAccounts, nil +} + +// NewReadableOutput creates readable output +func NewReadableOutput(headTime uint64, t coin.UxOut) (ReadableOutput, error) { + coinStr, err := droplet.ToString(t.Body.Coins) + if err != nil { + return ReadableOutput{}, err + } + + calculatedHours, err := t.CoinHours(headTime) + + // Treat overflowing coin hours calculations as a non-error and force hours to 0 + // This affects one bad spent output which had overflowed hours, spent in block 13277. + switch err { + case nil: + case coin.ErrAddEarnedCoinHoursAdditionOverflow: + calculatedHours = 0 + err = nil + default: + return ReadableOutput{}, err + } + + return ReadableOutput{ + Hash: t.Hash().Hex(), + Time: t.Head.Time, + BkSeq: t.Head.BkSeq, + SourceTransaction: t.Body.SrcTransaction.Hex(), + Address: t.Body.Address.String(), + Coins: coinStr, + Hours: t.Body.Hours, + CalculatedHours: calculatedHours, + }, nil +} + +// NewReadableOutputs converts unspent outputs to readable output +func NewReadableOutputs(headTime uint64, uxs coin.UxArray) (ReadableOutputs, error) { + rxReadables := make(ReadableOutputs, len(uxs)) + for i, ux := range uxs { + out, err := NewReadableOutput(headTime, ux) + if err != nil { + return ReadableOutputs{}, err + } + + rxReadables[i] = out + } + + // Sort ReadableOutputs newest to oldest, using hash to break ties + sort.Slice(rxReadables, func(i, j int) bool { + if rxReadables[i].Time == rxReadables[j].Time { + return strings.Compare(rxReadables[i].Hash, rxReadables[j].Hash) < 0 + } + return rxReadables[i].Time > rxReadables[j].Time + }) + + return rxReadables, nil +} + +// ReadableOutputsToUxBalances converts ReadableOutputs to []wallet.UxBalance +func ReadableOutputsToUxBalances(ros ReadableOutputs) ([]wallet.UxBalance, error) { + uxb := make([]wallet.UxBalance, len(ros)) + for i, ro := range ros { + if ro.Hash == "" { + return nil, errors.New("ReadableOutput missing hash") + } + + hash, err := cipher.SHA256FromHex(ro.Hash) + if err != nil { + return nil, fmt.Errorf("ReadableOutput hash is invalid: %v", err) + } + + coins, err := droplet.FromString(ro.Coins) + if err != nil { + return nil, fmt.Errorf("ReadableOutput coins is invalid: %v", err) + } + + addr, err := cipher.DecodeBase58Address(ro.Address) + if err != nil { + return nil, fmt.Errorf("ReadableOutput address is invalid: %v", err) + } + + srcTx, err := cipher.SHA256FromHex(ro.SourceTransaction) + if err != nil { + return nil, fmt.Errorf("ReadableOutput src_tx is invalid: %v", err) + } + + b := wallet.UxBalance{ + Hash: hash, + Time: ro.Time, + BkSeq: ro.BkSeq, + SrcTransaction: srcTx, + Address: addr, + Coins: coins, + Hours: ro.CalculatedHours, + InitialHours: ro.Hours, + } + + uxb[i] = b + } + + return uxb, nil +} + +// ReadableTransaction represents readable transaction +type ReadableTransaction struct { + Length uint32 `json:"length"` + Type uint8 `json:"type"` + Hash string `json:"txid"` + InnerHash string `json:"inner_hash"` + Timestamp uint64 `json:"timestamp,omitempty"` + + Sigs []string `json:"sigs"` + In []string `json:"inputs"` + Out []ReadableTransactionOutput `json:"outputs"` +} + +// ReadableUnconfirmedTxn represents readable unconfirmed transaction +type ReadableUnconfirmedTxn struct { + Txn ReadableTransaction `json:"transaction"` + Received time.Time `json:"received"` + Checked time.Time `json:"checked"` + Announced time.Time `json:"announced"` + IsValid bool `json:"is_valid"` +} + +// NewReadableUnconfirmedTxn creates readable unconfirmed transaction +func NewReadableUnconfirmedTxn(unconfirmed *UnconfirmedTxn) (*ReadableUnconfirmedTxn, error) { + tx, err := NewReadableTransaction(&Transaction{Txn: unconfirmed.Txn}) + if err != nil { + return nil, err + } + return &ReadableUnconfirmedTxn{ + Txn: *tx, + Received: nanoToTime(unconfirmed.Received), + Checked: nanoToTime(unconfirmed.Checked), + Announced: nanoToTime(unconfirmed.Announced), + IsValid: unconfirmed.IsValid == 1, + }, nil +} + +// NewReadableUnconfirmedTxns converts []UnconfirmedTxn to []ReadableUnconfirmedTxn +func NewReadableUnconfirmedTxns(txs []UnconfirmedTxn) ([]ReadableUnconfirmedTxn, error) { + rut := make([]ReadableUnconfirmedTxn, len(txs)) + for i := range txs { + tx, err := NewReadableUnconfirmedTxn(&txs[i]) + if err != nil { + return []ReadableUnconfirmedTxn{}, err + } + rut[i] = *tx + } + return rut, nil +} + +// NewReadableTransaction creates readable transaction +func NewReadableTransaction(t *Transaction) (*ReadableTransaction, error) { + // Genesis transaction use empty SHA256 as txid + txid := cipher.SHA256{} + if t.Status.BlockSeq != 0 { + txid = t.Txn.Hash() + } + + sigs := make([]string, len(t.Txn.Sigs)) + for i := range t.Txn.Sigs { + sigs[i] = t.Txn.Sigs[i].Hex() + } + + in := make([]string, len(t.Txn.In)) + for i := range t.Txn.In { + in[i] = t.Txn.In[i].Hex() + } + + out := make([]ReadableTransactionOutput, len(t.Txn.Out)) + for i := range t.Txn.Out { + o, err := NewReadableTransactionOutput(&t.Txn.Out[i], txid) + if err != nil { + return nil, err + } + + out[i] = *o + } + + return &ReadableTransaction{ + Length: t.Txn.Length, + Type: t.Txn.Type, + Hash: t.Txn.TxIDHex(), + InnerHash: t.Txn.InnerHash.Hex(), + Timestamp: t.Time, + + Sigs: sigs, + In: in, + Out: out, + }, nil +} + +// ReadableBlockHeader represents the readable block header +type ReadableBlockHeader struct { + BkSeq uint64 `json:"seq"` + BlockHash string `json:"block_hash"` + PreviousBlockHash string `json:"previous_block_hash"` + Time uint64 `json:"timestamp"` + Fee uint64 `json:"fee"` + Version uint32 `json:"version"` + BodyHash string `json:"tx_body_hash"` +} + +// NewReadableBlockHeader creates readable block header +func NewReadableBlockHeader(b *coin.BlockHeader) ReadableBlockHeader { + return ReadableBlockHeader{ + BkSeq: b.BkSeq, + BlockHash: b.Hash().Hex(), + PreviousBlockHash: b.PrevHash.Hex(), + Time: b.Time, + Fee: b.Fee, + Version: b.Version, + BodyHash: b.BodyHash.Hex(), + } +} + +// ReadableBlockBody represents readable block body +type ReadableBlockBody struct { + Transactions []ReadableTransaction `json:"txns"` +} + +// NewReadableBlockBody creates readable block body +func NewReadableBlockBody(b *coin.Block) (*ReadableBlockBody, error) { + txns := make([]ReadableTransaction, len(b.Body.Transactions)) + for i := range b.Body.Transactions { + t := Transaction{ + Txn: b.Body.Transactions[i], + Status: TransactionStatus{BlockSeq: b.Seq()}, + } + + tx, err := NewReadableTransaction(&t) + if err != nil { + return nil, err + } + txns[i] = *tx + } + return &ReadableBlockBody{ + Transactions: txns, + }, nil +} + +// ReadableBlock represents readable block +type ReadableBlock struct { + Head ReadableBlockHeader `json:"header"` + Body ReadableBlockBody `json:"body"` + Size int `json:"size"` +} + +// NewReadableBlock creates readable block +func NewReadableBlock(b *coin.Block) (*ReadableBlock, error) { + body, err := NewReadableBlockBody(b) + if err != nil { + return nil, err + } + return &ReadableBlock{ + Head: NewReadableBlockHeader(&b.Head), + Body: *body, + Size: b.Size(), + }, nil +} + +// ReadableBlocks an array of readable blocks. +type ReadableBlocks struct { + Blocks []ReadableBlock `json:"blocks"` +} + +// NewReadableBlocks converts []coin.SignedBlock to readable blocks +func NewReadableBlocks(blocks []coin.SignedBlock) (*ReadableBlocks, error) { + rbs := make([]ReadableBlock, 0, len(blocks)) + for _, b := range blocks { + rb, err := NewReadableBlock(&b.Block) + if err != nil { + return nil, err + } + rbs = append(rbs, *rb) + } + return &ReadableBlocks{ + Blocks: rbs, + }, nil +} + +/* + Transactions to and from JSON +*/ + +// TransactionOutputJSON represents the transaction output json +type TransactionOutputJSON struct { + Hash string `json:"hash"` + SourceTransaction string `json:"src_tx"` + Address string `json:"address"` // Address of receiver + Coins string `json:"coins"` // Number of coins + Hours uint64 `json:"hours"` // Coin hours +} + +// NewTxOutputJSON creates transaction output json +func NewTxOutputJSON(ux coin.TransactionOutput, srcTx cipher.SHA256) (*TransactionOutputJSON, error) { + tmp := coin.UxOut{ + Body: coin.UxBody{ + SrcTransaction: srcTx, + Address: ux.Address, + Coins: ux.Coins, + Hours: ux.Hours, + }, + } + + var o TransactionOutputJSON + o.Hash = tmp.Hash().Hex() + o.SourceTransaction = srcTx.Hex() + + o.Address = ux.Address.String() + coin, err := droplet.ToString(ux.Coins) + if err != nil { + return nil, err + } + o.Coins = coin + o.Hours = ux.Hours + return &o, nil +} + +// TransactionJSON represents transaction in json +type TransactionJSON struct { + Hash string `json:"hash"` + InnerHash string `json:"inner_hash"` + + Sigs []string `json:"sigs"` + In []string `json:"in"` + Out []TransactionOutputJSON `json:"out"` +} + +// TransactionToJSON convert transaction to json string +// TODO -- remove in favor of ReadableTransaction? +func TransactionToJSON(tx coin.Transaction) (string, error) { + var o TransactionJSON + + o.Hash = tx.Hash().Hex() + o.InnerHash = tx.InnerHash.Hex() + + o.Sigs = make([]string, len(tx.Sigs)) + o.In = make([]string, len(tx.In)) + o.Out = make([]TransactionOutputJSON, len(tx.Out)) + + for i, sig := range tx.Sigs { + o.Sigs[i] = sig.Hex() + } + for i, x := range tx.In { + o.In[i] = x.Hex() // hash to hex + } + for i, y := range tx.Out { + out, err := NewTxOutputJSON(y, tx.InnerHash) + if err != nil { + return "", err + } + o.Out[i] = *out + } + + b, err := json.MarshalIndent(o, "", " ") + if err != nil { + return "", fmt.Errorf("serialize TransactionJSON failed: %v", err) + } + + return string(b), nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/readable_test.go b/vendor/github.com/skycoin/skycoin/src/visor/readable_test.go new file mode 100755 index 0000000..eddef11 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/readable_test.go @@ -0,0 +1,260 @@ +package visor + +import ( + "encoding/json" + "io/ioutil" + "reflect" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/visor/dbutil" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/testutil" +) + +func prepareWltDir(t *testing.T) string { + dir, err := ioutil.TempDir("", "wallets") + require.NoError(t, err) + return dir +} + +// Returns an appropriate VisorConfig and a master visor +func setupVisorConfig(t *testing.T) Config { + wltDir := prepareWltDir(t) + c := NewVisorConfig() + c.WalletDirectory = wltDir + c.BlockchainSeckey = genSecret + c.BlockchainPubkey = genPublic + c.GenesisAddress = genAddress + return c +} + +func setupVisor(t *testing.T) (*Visor, func()) { + db, shutdown := prepareDB(t) + vc := setupVisorConfig(t) + v, err := NewVisor(vc, db) + require.NoError(t, err) + return v, shutdown +} + +func transferCoins(t *testing.T, v *Visor) { + head := addGenesisBlockToVisor(t, v) + toAddrs := make([]cipher.Address, 10) + keys := make([]cipher.SecKey, 10) + for i := 0; i < 10; i++ { + p, s := cipher.GenerateKeyPair() + toAddrs[i] = cipher.AddressFromPubKey(p) + keys[i] = s + } + + var spend = spending{ + TxIndex: 0, + UxIndex: 0, + Keys: []cipher.SecKey{genSecret}, + ToAddr: toAddrs[0], + Coins: 10e6, + } + // create normal spending tx + uxs := coin.CreateUnspents(head.Head, head.Body.Transactions[0]) + txn := makeSpendTx(t, coin.UxArray{uxs[spend.UxIndex]}, spend.Keys, spend.ToAddr, spend.Coins) + + var b *coin.Block + err := v.DB.View("", func(tx *dbutil.Tx) error { + var err error + b, err = v.Blockchain.NewBlock(tx, coin.Transactions{txn}, head.Time()+uint64(100)) + require.NoError(t, err) + return nil + }) + require.NoError(t, err) + + sb := &coin.SignedBlock{ + Block: *b, + Sig: cipher.SignHash(b.HashHeader(), genSecret), + } + v.DB.Update("", func(tx *dbutil.Tx) error { + bcc, ok := v.Blockchain.(*Blockchain) + require.True(t, ok) + return bcc.store.AddBlock(tx, sb) + }) + head = sb + +} + +func assertJSONSerializability(t *testing.T, thing interface{}) { + b, err := json.Marshal(thing) + require.NoError(t, err) + rt := reflect.TypeOf(reflect.Indirect(reflect.ValueOf(thing)).Interface()) + newThing := reflect.New(rt).Interface() + err = json.Unmarshal(b, newThing) + require.NoError(t, err) + require.True(t, reflect.DeepEqual(thing, newThing)) +} + +func TestNewBlockchainMetadata(t *testing.T) { + v, shutdown := setupVisor(t) + defer shutdown() + + transferCoins(t, v) + + bcm, err := v.GetBlockchainMetadata() + require.NoError(t, err) + require.Equal(t, uint64(2), bcm.Unspents) + require.Equal(t, uint64(0), bcm.Unconfirmed) + b, err := v.GetHeadBlock() + require.NoError(t, err) + assertReadableBlockHeader(t, bcm.Head, b.Block.Head) + assertJSONSerializability(t, &bcm) +} + +func TestNewTransactionStatus(t *testing.T) { + ts := NewUnconfirmedTransactionStatus() + require.True(t, ts.Unconfirmed) + require.False(t, ts.Unknown) + require.False(t, ts.Confirmed) + require.Equal(t, ts.Height, uint64(0)) + assertJSONSerializability(t, &ts) + + ts = NewUnknownTransactionStatus() + require.False(t, ts.Unconfirmed) + require.True(t, ts.Unknown) + require.False(t, ts.Confirmed) + require.Equal(t, ts.Height, uint64(0)) + assertJSONSerializability(t, &ts) + + ts = NewConfirmedTransactionStatus(uint64(7), uint64(7)) + require.False(t, ts.Unconfirmed) + require.False(t, ts.Unknown) + require.True(t, ts.Confirmed) + require.Equal(t, ts.Height, uint64(7)) + assertJSONSerializability(t, &ts) + + require.Panics(t, func() { + NewConfirmedTransactionStatus(uint64(0), uint64(0)) + }) +} + +func assertReadableTransactionOutput(t *testing.T, + rto ReadableTransactionOutput, to coin.TransactionOutput) { + require.NotPanics(t, func() { + require.Equal(t, cipher.MustDecodeBase58Address(rto.Address), to.Address) + }) + coins, err := droplet.ToString(to.Coins) + require.NoError(t, err) + require.Equal(t, rto.Coins, coins) + require.Equal(t, rto.Hours, to.Hours) + assertJSONSerializability(t, &rto) +} + +func TestReadableTransactionOutput(t *testing.T) { + v, shutdown := setupVisor(t) + defer shutdown() + + transferCoins(t, v) + b, err := v.GetHeadBlock() + require.NoError(t, err) + to := b.Body.Transactions[0].Out[0] + + rto, err := NewReadableTransactionOutput(&to, testutil.RandSHA256(t)) + assertReadableTransactionOutput(t, *rto, to) +} + +func assertReadableTransactionInput(t *testing.T, rti string, ti cipher.SHA256) { + require.NotPanics(t, func() { + require.Equal(t, cipher.MustSHA256FromHex(rti), ti) + }) + assertJSONSerializability(t, &rti) +} + +func TestReadableTransactionInput(t *testing.T) { + v, shutdown := setupVisor(t) + defer shutdown() + + transferCoins(t, v) + b, err := v.GetHeadBlock() + require.NoError(t, err) + ti := b.Body.Transactions[0].In[0] + rti := ti.Hex() + assertReadableTransactionInput(t, rti, ti) +} + +func assertReadableTransaction(t *testing.T, rtx ReadableTransaction, tx coin.Transaction) { + require.Equal(t, len(tx.In), len(rtx.In)) + require.Equal(t, len(tx.Out), len(rtx.Out)) + for i, ti := range rtx.In { + assertReadableTransactionInput(t, ti, tx.In[i]) + } + for i, to := range rtx.Out { + assertReadableTransactionOutput(t, to, tx.Out[i]) + } + assertJSONSerializability(t, &rtx) +} + +func TestReadableTransaction(t *testing.T) { + v, shutdown := setupVisor(t) + defer shutdown() + + transferCoins(t, v) + b, err := v.GetHeadBlock() + require.NoError(t, err) + tx := b.Body.Transactions[0] + + rtx, err := NewReadableTransaction(&Transaction{ + Txn: tx, + }) + assertReadableTransaction(t, *rtx, tx) +} + +func assertReadableBlockHeader(t *testing.T, rb ReadableBlockHeader, bh coin.BlockHeader) { + require.Equal(t, rb.Version, bh.Version) + require.Equal(t, rb.Time, bh.Time) + require.Equal(t, rb.BkSeq, bh.BkSeq) + require.Equal(t, rb.Fee, bh.Fee) + require.NotPanics(t, func() { + require.Equal(t, cipher.MustSHA256FromHex(rb.PreviousBlockHash), bh.PrevHash) + require.Equal(t, cipher.MustSHA256FromHex(rb.BodyHash), bh.BodyHash) + }) + assertJSONSerializability(t, &rb) +} + +func TestNewReadableBlockHeader(t *testing.T) { + v, shutdown := setupVisor(t) + defer shutdown() + + transferCoins(t, v) + + bh, err := v.GetHeadBlock() + require.NoError(t, err) + require.Equal(t, bh.Head.BkSeq, uint64(1)) + rb := NewReadableBlockHeader(&bh.Head) + assertReadableBlockHeader(t, rb, bh.Head) +} + +func assertReadableBlockBody(t *testing.T, rbb ReadableBlockBody, bb coin.BlockBody) { + require.Equal(t, len(rbb.Transactions), len(bb.Transactions)) + for i, rt := range rbb.Transactions { + assertReadableTransaction(t, rt, bb.Transactions[i]) + } + assertJSONSerializability(t, &rbb) +} + +func assertReadableBlock(t *testing.T, rb ReadableBlock, b coin.Block) { + assertReadableBlockHeader(t, rb.Head, b.Head) + assertReadableBlockBody(t, rb.Body, b.Body) + assertJSONSerializability(t, &rb) +} + +func TestNewReadableBlock(t *testing.T) { + v, shutdown := setupVisor(t) + defer shutdown() + + transferCoins(t, v) + sb, err := v.GetHeadBlock() + require.NoError(t, err) + require.Equal(t, sb.Head.BkSeq, uint64(1)) + rb, err := NewReadableBlock(&sb.Block) + assertReadableBlock(t, *rb, sb.Block) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/richlist.go b/vendor/github.com/skycoin/skycoin/src/visor/richlist.go new file mode 100755 index 0000000..227ffeb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/richlist.go @@ -0,0 +1,71 @@ +package visor + +import ( + "sort" + "strings" + + "github.com/skycoin/skycoin/src/util/droplet" +) + +// RichlistBalance holds info an address balance holder +type RichlistBalance struct { + Address string `json:"address"` + Coins string `json:"coins"` + Locked bool `json:"locked"` + coins uint64 +} + +// Richlist contains RichlistBalances +type Richlist []RichlistBalance + +// NewRichlist create Richlist via unspent outputs map +func NewRichlist(allAccounts map[string]uint64, lockedAddrs map[string]struct{}) (Richlist, error) { + richlist := make(Richlist, 0, len(allAccounts)) + + for addr, coins := range allAccounts { + var islocked bool + if _, ok := lockedAddrs[addr]; ok { + islocked = true + } + + coinsStr, err := droplet.ToString(coins) + if err != nil { + return nil, err + } + + richlist = append(richlist, RichlistBalance{ + Address: addr, + Coins: coinsStr, + coins: coins, + Locked: islocked, + }) + } + + // Sort order: + // Higher coins + // Locked > unlocked + // Address alphabetical + sort.Slice(richlist, func(i, j int) bool { + if richlist[i].coins == richlist[j].coins { + if richlist[i].Locked == richlist[j].Locked { + return strings.Compare(richlist[i].Address, richlist[j].Address) < 0 + } + return richlist[i].Locked + } + + return richlist[i].coins > richlist[j].coins + }) + + return richlist, nil +} + +// FilterAddresses returns the richlist without addresses from the map +func (r Richlist) FilterAddresses(addrs map[string]struct{}) Richlist { + var s Richlist + for _, b := range r { + if _, ok := addrs[b.Address]; !ok { + s = append(s, b) + } + } + return s +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/richlist_test.go b/vendor/github.com/skycoin/skycoin/src/visor/richlist_test.go new file mode 100755 index 0000000..210b375 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/richlist_test.go @@ -0,0 +1,98 @@ +package visor + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func getLockedMap() map[string]struct{} { + distributionAddresses := []string{"a1", "b1", "c1", "d1"} + dmap := map[string]struct{}{} + for _, addr := range distributionAddresses { + dmap[addr] = struct{}{} + } + return dmap +} + +func getAllAccounts() map[string]uint64 { + accMap := map[string]uint64{} + accMap["a1"] = 1000000 + accMap["b1"] = 1000000 + accMap["c1"] = 2123456 + accMap["d1"] = 1000000 + accMap["a2"] = 3010000 + accMap["b2"] = 2010000 + accMap["c2"] = 4010000 + accMap["d2"] = 1000000 + + return accMap +} + +func TestRichlist(t *testing.T) { + expectedRichlist := Richlist{ + RichlistBalance{Address: "c2", Coins: "4.010000", Locked: false, coins: 4010000}, + RichlistBalance{Address: "a2", Coins: "3.010000", Locked: false, coins: 3010000}, + RichlistBalance{Address: "c1", Coins: "2.123456", Locked: true, coins: 2123456}, + RichlistBalance{Address: "b2", Coins: "2.010000", Locked: false, coins: 2010000}, + RichlistBalance{Address: "a1", Coins: "1.000000", Locked: true, coins: 1000000}, + RichlistBalance{Address: "b1", Coins: "1.000000", Locked: true, coins: 1000000}, + RichlistBalance{Address: "d1", Coins: "1.000000", Locked: true, coins: 1000000}, + RichlistBalance{Address: "d2", Coins: "1.000000", Locked: false, coins: 1000000}, + } + + accMap := getAllAccounts() + distributionMap := getLockedMap() + + richlist, err := NewRichlist(map[string]uint64{}, map[string]struct{}{}) + assert.NoError(t, err) + assert.Equal(t, Richlist{}, richlist) + + richlist, err = NewRichlist(accMap, distributionMap) + assert.NoError(t, err) + assert.Equal(t, expectedRichlist, richlist) + cases := []struct { + name string + filterMap map[string]struct{} + richerCount int + result Richlist + }{ + { + name: "filterRichlist", + filterMap: map[string]struct{}{"a2": struct{}{}, "b2": struct{}{}, "d2": struct{}{}}, + richerCount: 5, + result: Richlist{ + RichlistBalance{Address: "c2", Coins: "4.010000", Locked: false, coins: 4010000}, + RichlistBalance{Address: "c1", Coins: "2.123456", Locked: true, coins: 2123456}, + RichlistBalance{Address: "a1", Coins: "1.000000", Locked: true, coins: 1000000}, + RichlistBalance{Address: "b1", Coins: "1.000000", Locked: true, coins: 1000000}, + RichlistBalance{Address: "d1", Coins: "1.000000", Locked: true, coins: 1000000}, + }, + }, + + { + name: "allRichlist", + filterMap: map[string]struct{}{}, + richerCount: 8, + result: expectedRichlist, + }, + { + name: "lockedRichlist", + filterMap: map[string]struct{}{"c2": struct{}{}, "a2": struct{}{}, "b2": struct{}{}, "d2": struct{}{}}, + richerCount: 4, + result: Richlist{ + RichlistBalance{Address: "c1", Coins: "2.123456", Locked: true, coins: 2123456}, + RichlistBalance{Address: "a1", Coins: "1.000000", Locked: true, coins: 1000000}, + RichlistBalance{Address: "b1", Coins: "1.000000", Locked: true, coins: 1000000}, + RichlistBalance{Address: "d1", Coins: "1.000000", Locked: true, coins: 1000000}, + }, + }, + } + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + result := richlist.FilterAddresses(tc.filterMap) + assert.Equal(t, tc.richerCount, len(result), "%d != %d", tc.richerCount, len(result)) + assert.Equal(t, tc.result, result) + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/testdata/data.db.garbage b/vendor/github.com/skycoin/skycoin/src/visor/testdata/data.db.garbage new file mode 100755 index 0000000..e1e9666 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/testdata/data.db.garbage @@ -0,0 +1 @@ +....garbage file to cause bolt DB error.... diff --git a/vendor/github.com/skycoin/skycoin/src/visor/testdata/data.db.no-addr-txn-index b/vendor/github.com/skycoin/skycoin/src/visor/testdata/data.db.no-addr-txn-index new file mode 100755 index 0000000000000000000000000000000000000000..11f547d0081911ae0913d3a06ab1cec8c1dd0c01 GIT binary patch literal 524288 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

              l)R*cjpp_YoA~sN-@4K~eYs#+CNx_}g^6@+K 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


              KSf^1@+>tlz(JX!m4lB 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

              {vw_H*AH3^~uBSHQTl8`g@MP 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

              !<{Vfem=B;2W7E;&#vT$eL_U$9{C!ox-% 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

            1. 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­x8(CRd2T_TS}}dQFZZ!$V_toJ!Ds>F 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
              x9|C$~l^g`zMb;|Df@VcYvQ-2Q1CajMRk8FZNK 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%0AdEa5HwannUOQRp=5lWyy@=RMWhfDtGFFy+nC zP6R{0iaD-^MA~GUsCP;G{6# zix`T)#++Y;^4enY3-jke=@(({)episdef<(^j?iiyD{zB%Aoy3f7UOTZm@^|kVN(w)Y7cEE_gAH7RhgEMAVp-x*TjF!FzTJ_Ft zLpIeV@cV@OdHFNNHm&O{8!1v$7&j3LM5x#`-zw;i4jFB7B{OpXMJ?V2sLp&qT7}Sd zNlKYaYNJtl)lT-k;8I#JB#(L+a{K#1=>eK7i%NDEcWLa@mYQ(wN)mZylgn85q`!)7 zMlI2N_Gda&HXUT&wy0k;hvXk(y`4px+36brtz5d!z)>N<+}2zgS4xrs-IIvm9OsM& z^-!V;8v;-67~l=VQp4}h-=OtEPGh%TP~g*L7B}`=Wr-LW#SdrE259;0oVjA51tAb$ zT1tEE>yAU+$8>W(i1a(6Mc5)kd{Pc*_^npXg(_D&DxdG1sOCozWpiUEy+c^^9YB!Q zMF(n1efvhJ^HOt=B%$sGxE0Li3w|o53R_o~w&SenJ@Lw%s2ZQSGF6R#jz liYJY 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%0DNSth@MJKc)iHKZ@6^$^p72UprBkSC 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%0AeA;X~gX56!Q~^;ILFw*d6pfhB_=as|;%g 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

              B$DbsMoT)t-xp|Nel=2m;|^4bN|YWsNR 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�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

              HLJi69P{NJR$J^1_F)`6CCjWoYVq@ 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 z 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

              ;$J!qMT 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ϛ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%0DWC`v=E>An3ZNY}Mx+Qq>WfKe z-Vy1LGu5M4?U1fQc)I8kq2rKbmE%LE5_^JUilb z20@kNWz{ArMpt%P(N&Q<)*sudcV|4~8L;>3pR*uqL@D*W5w z!qtf6xpsJjs0@p)gikh|Y0qcyrkC`h+{yfU8%K|~RPHk*zwt8Xm+~PiF?r1cRZ=K3 ze_|>GUY{Nv?aem=Ue`F6f?cN00!zHu(H~RaU6hXaJFhyp~kDVz^2gTf|rDw=qteLqDZ$mcwgz5I}* z>v|!f(V>`*B*^<#(bo7#(y_j*>IJfE2Cl7!c2?xWq=+}hP$jF~?<7qEitcURYjQWR z4tO-69)N3eyhVk^Ug^#}Xzm%SVZN%vxRcSC@`i{F$He85%Z~>%SAF4N=kR9w4}7sA>6&U+yD1|@9_-Jy?5L@ z?j46Y27B@B`CHF#u4k^b_UuV58f?{}oljHXhC)TpC?6G-Pg=e8Y>nnZucU^43!f3T zxq7D-P<;OMO0M<{I47(VY4q`lp8wqo7T+FR0TiU+HtN^$il3I}wbi2i1jG&7vFu3| zr$3(8uhBH;k*ihgSw4G>;sQ(2e#oW2U1@pT&~-yeo{F+|)x7!o5`~^3eKA=aZwRUc zr>KoiP2){(j!d`?zN0!4N=OisCV*^d7C8Wq*myDSKM8a+dUdJjOH}BsGWlK7rbCBm+#St{i< zI`m2hFZR*01=G1~B-ywp7Bb28^5e>Pgf5((dYq$;h=@Gj?f7B!qsNq!$Ot~1IYng7 zb_P2pnI-U$-8`h)xO#5~OF>YCbCP?nvdWiIl{!X6GofBi393Yy?S1JA)2=u1_gQ`@ zOAea4u<^bJ`BF#ml12h?u{5J&4oRKWp(PKXccZ0H)-eqq26mvUdr7z+X4I;{ zqHEDqPV; zAuywle!jZdm>?S3j>}tTwx1lj(SN*wy!;%;)^4S0uKnT`3q4Ayos{ID_c=;NRHKb- zm^nfGnrTJJL}0w9floXERFM~;#5cL{)ykzZNfurAL-mGK+Kd(X z8GdccBU+;(V-*Y!A9&CT2VXd|YUz9)NFk3)=gR#2o!qz@sq_VIWL?8?=(Erg%s?CF z**8Iy!U*NhNGPy$rT``JamKYpo(AIw)lD`|{MPFtKEwL%&n+4AuB=_0vW^!}+dkzQ z9r~FcLHTw9)+?#`zq`NcwKU>aigb0$sYG;2q!=G~%{I9#i~!1=nxqV-(U+iBZ&4EEJO!0Btjs;Bgf#$CfZjI*Rdg!lt>i z%vX5S;qS=F&&}&#hv(;CkjRV5k{BCENn-LWCf1DESSZ5i9%znYp6VLnZYeWv|2#Bu z1eDZiQZH&FD$FAHP}z~zP>T2-c=|n0R(TOjF|#<>l;BnY$LWge6t}IyxnufRUV)l} z5l{Hrh1{ZnVg>i6m#fa8O@&lq=~74BZdrHr`E`G^!S>4#Sq;KBy|8tPSf@}W9TKki zwDm1w_$eH3l&!;^X#*%7TqbrYjUIVncOU@>3=( zmrrbI8fJ$L$=&lFx}R})J$Z_qy?uf&`Pqlbvw>SsWK7A7FUdA30ZPUbg&J3-F1s{a z_Z+4;w`Cj*wN)E*Cyke{6%_Usl=wvB#NQ)^T{Pgl^5Dj^JlC0Xczmv4f+7yz6w~X+ zafPgT{`lQts=i%*gjz)e;ebt9(wG@=Y1FWDGm_w>#8yDb^ygb-cw@@ic%>HX<)_0A zgm_|^eAj}^r;}m(j&iU2W0o4R#W$d3^Fr0C7&n7XD<|8%QL&_XhAkgbr=1YM+DLTE z8yxLD;yN0nmj}Q_2}$J_Mw7c~u*a(MeOJYVD*2g&_KJa#W}Wpy29=P3Xj`Ap=^ZDA zX2#>p8oF;ZOIC8392fe-H1SIr@n~XY>nE6`jjO$F*}k48sgHwRLz^gG2T;mJtJ+c0 z-@a&lKmB0uPDq;|HSHqz_Li$6kO;UVP7kq`zU{#`%HzbsrUKlVmzOYt{=LIN8sAE2FFMswRxOkqW`8<<==0X~5BKxxHHwe!!eKSDr#)*=>2g3i>r0ph5}(JyFFY%bM`?;Gt3RnU(^G!n zn$wV2C3?z6)N9cW8OiM`G94rh!M@fq6RMJJE)$lBz zbUGpv=pc#aAiM3E`O6||BHcu>W(3+Y3))8%KSx;M0W{a#3fW3X(ni^jPp)myBR=_GMKmzhj>c8;pzc40{Y6Nzb2 zSeS%h3wRbAe)B5b9Mez0H1VUi_RA9zw_n)2m`rwS6YdXjYbN)1giIuV75Iw@rRn4HG~dknm8`usM< zfAa<5G5~S$V|;yI;w>h6pym8KO35DFul0WP%j85a>*575r62zspD&~&yXh1P%XsRPk z+KnF0&_!guEg+jXRZ2VTHbducz93vLL0n{lO}kdvfWR#(D;amh(`WXb46~0sC64>u z>7NEiDdhdl7laEuv}U7T+KBu)rO=D5xo#w;tu88qwPRzVCmxTLzmtS~hOzjYF9?@4 zC|y#Fnjr^yu7_Jz_!h6;yaG_SHnh6*PwZ;sNzbl6G4A@CF9;WS-FGFG+DE5%IgIW> z-z%XWtmbS*N^)7?Qe0`U!X*)y^0xlX7lg|elrHm0joP8R26&REv7e~ibgI*W9}9_g zoxL^FL=&<80+aqXUl1-k5SL$5UoYcX_fK}*gWv#>aWwYw5ghoqOj0VmL>Qz0bfrWGZrJAnX+Hj>rxyWXUI8)AsG;6^VNhYSlTyJivA(XJMTl+T z+d0p^hwjWv?&4XK4JvkEr9jR%n8fo zDa^AH7?G75SUtzsE%lYVU3I=As$o`NcrEY!-V&%%*(!c$rmCQF;;J2c&_Ir?LT{nqPw{2HHTj~ zA8mp0{@c26!qCX8Cuy&K9u!11w|vFrDyUY|Ew^UwLlKEIG$I{;yO|c8z#BzqPNj{q zq-$y6@V4r_A$$uLf$+Tp|p~DSRyQzL&%(LMz8vyU+BeI_AZ<`8mHp{8BOrUQ1hnfaK&dwY zYc`J~Q{a2-v9%JPW}EbN_6=Tes9z;^AN9eoPxh>4pl1zE2DyJ2lL3RBdQP;*48YJX zNkYn_MYrpWrR`8g%^2DrN;~O`KaxC2zrWxcADcf2?2MOa)Olznrh0ez z7k+#>s0tHcrS(!%S9}QzVY}>Rdr4^lB@r`5 zmRgp<5bKMYM3|TLaM?d^(WSE+X@Y`kx&T9za1t=Ulk-wC2}v@o425y9$#tt;l-q}2 zMHYI6n%@%En@8_&Isv)*l@st92-#l=eR8NXCb&U$XH%8+@?F zImx8rYt8{03-;&rV+Lg30WwsMgcPA!54@`wu!Fk2JN5%S#hu@qex~J=*2_`j+t6ny z4BRyT5f#K5)b`z%mC;e#^TJ@ty{8?IyITpsa1m4vx-#4xZYZrZw8^&&k>(;Ea{IFp zQD24(9txo?4Fx@a7_41DsX25nw;*Ud&>t_AP%x(!?)u!FlfLG3b|HujGYZWuRyg!VEU^tI zW2}i^Q%gUNj>Q+P^N7=?bAERU9cd=vTBbG*vBY>mRB&Vv+O$<-|Bh^UdjRER$Pi4GxQ-K2j*0PpbZ<@!|MQG@VWIUk*I^DZFYS_wYPfXeItv=*Euz{ z+yrD3vFch0=Cy+i_@m9#cg0n`CavFzax^mt81CYJlOmuR-2$tQcD zEIol{E10eJ$Rfs}F7`0ICKj*o+Q{m;V>45Ib#N;BLtBu@yQbv!tHDd`QTlGyu9;;^ zqT#^KaLkgSMaEm$MDh;6ouCUmDCc9(U>%h+1qO=i{rZprwn+79JR%vK#U59Ck9qH+ zn!mFlD!;lu$uCdfwkI3&`W}%D<>?OyV0U0fJ*6Xn$=26# zNT>;yd}^rhih#`)nVk{+Q*=pndJMIOD0LIg0488*-q02FsN(B=-34sP*>=pa&Nxcz zeWFzsQQz(0Cn;=ixDC8*P{8fwCx@|J*&{A5wmZU!+j_4$Kr8U-QQrp1$Iq-jM&)cV z-${8?Pm+)~_Vg!oBrzu*ahm}Sby&dNp~cnXx5JiMr~&2Tv(J>|jjR{&lCAFy2%i*V zx!7{(h_MwaG={(3*sar>z~00~hS3deY5=UTszHNNW^-$w@D%Zg@^g&hOIl8-gAP*? zbqUhUK_5OQ+CC`6icF1`6 z-|-p1`Z6dUbbdI11TlUg@r;mumQYOMv%OjqY>9L`*{}TT*q2bfgEjqlc>yukU_%RCrOmy!dgNf?4uP_rq;lreM{!{yK_5?bQF8r* zLtD6=X~S7?*b}Hx@flp$T03(e!u_m|K6kpI7%%~-C^llcvo1!~*oVwB=IVWvh-$2@ zz~uc}l!>^tqy)lwIrCFNNR zWB*XmJNmOV@ykrDge5%}K=@5kI*tr8hT~Cc&0WM=o_%-vsW&HcRQuBaO&Iq;B&2EY zgWRK9hqO950fj=zqIftgIjJ9jqFzT;H=%GLSMchpi;?)V6YxVXCCEO`Zv|z@1uP+G zOma}hsXRpUMJ`oF$MjTxFw~>>>9g=DVpxI@M;5*NqWfmfs0nL}VL_>?Dr@H=a&Aep zUl4BAsd8jjlwTFuDoiP2%Bu|KT_JXEwM|$Pj zYXVw5ZW~S2-`0n z^I~%rS|JYAZBcVMRelQ!PS7d|ZxDK=@uppjuC*{EUKD1K#m{%?PCR7BM(?CxRGbfJ zAeCJ@UMp;kZ@74rIlqse3%Yv*K_4>ovaCiSoc2~Q)66-KmYVbcg#}z)R@J@NRxLD* zXP-e&ob@hxL*6P5aZ-w;aNCFp#yrMesnEE^^hFbPhfa%IptFuW`-6(cGiqr6I5K8M z&NjPP=>*4saNrO&`J6VAE2tj~EgSd(>%Ep3{4WDdx!d6*pP1#7e&r2CwuAvpCj593 zIfz`MVBS9~jcid|ceS#z=P&pEI}CcP?eRlJ+QdHa?qXqK-RK`vn>L9w{i4d}S}@7P zUz_ZFS}d_PS$h%Xck3R%<84Q@;6A2pm8-)n)yW@|U z%hf^!yh^~p3(zMp41`y4WKVv4>?M9RQ>fFB>^!ZY`g>`~cLTp{!r^Z)g+*~o*MiAe zG#!s?toNJu+M+q!Fc>Om9i(8AK~|+WzcN=1lDVEAe!ai8;&h$b*X5}e%NkfL$)4-U zkcwK@NKZ9gK`X%OZ%mwTZQY<5DPoh%0eBm(`%bZf{MkAzg{0)Lm(l@ekI>*V29&C~ ze8YqJ4qLZyF65&$?G-FUKIj+*kcQ=3xhR0Q#|BR@wxceogjuUZy79d={-m5?FG}{w zba9OdsndUg4Oio51nBoHV*8`n60e{+&@TF&q-r=xCA?;N=a zQDv3RuLI}A;@kCeDI9$^ao?w>s~?guuwt|f0ie6+wdaoa~7AtltP z>&qB7T8}ltm*H%9{^#1i$)^EHHTO#y0Dv4`*ne5z8Wk<&z_Di_(DwV6bZeh?Ngx|Q zHK@@57{VWggl{afA3{MFYmwYxNVQpD|Mc5IQl=7l%&yJL8UnIOoYVwASn!YsRwNx0 z^fjP|KH3DsK>porQ=~OMgc}m+r9ay3aUtdR8OPw$dFt?uva|LM?LaYsnRB-T$bS7BEZ^* z3eirN>=PmNTM6Bgm&SSyIzNVUdDLs+M4l7@i@B5sk}dKneIIL1N2hmXFI0(KlXr_9 z%M7wkgD@<`o?tXW4jpPC4Gw4W_FdHwUl#ltY~L{t+PT$S4@VNh^_<^;Y6Mt&#i-no zlj2}vu{^l|N($l_N}T=W^7Ul|vz<3Mw9)!P|5NP&Lz7;hw~Y^Y=@H;RQd0J!`cw$M z9~|SoG*`_=^6j&ifA1d;b@@yDa3qrK#l)8lknOI`}`M2kvh_*mdlysxN3=FAhs$hta;c8A6gDN0SglK;tiy z6a4|GPAX~4V)$656Q`|L#$QLn5_e?WOSjb%EhUwwafOb{kAy|V)%mcOZC8qbm3c+X z&N{T3RUklLz`YR~v0l7= z^7g}D=EV$QTJkYo7rgr9?BUiaQwB#WzNw7-4Zio-tNtNk(ABC9b=|*t%{iy zaYn}?m)bmeS9=H6K62V&-gqWYw7lu2`DD{|ZmKiceQmiZeuJ%=KGvyb2(0~|ma_%0 zUR8q@4xkui1Ste;yeuaQPVUx`gIW#e7v&U1(s3Z>`n~PpZ=-Oeg)3|{jI7u_#6`pR zP{*dtY8LwIiB0p*)TR#_&w&%=fNKN;62SNUEwC9M6wDyc%$A_O;44C*^bMir=dKLh zcCYbUAB+C5?8nR7rSZgst#FckfSS+YrIKJmNqdO!fkE_cV5`r5bl)5n-8}o^)9TYW z1-EVCVzMa;0bwF3!m%Lj!9OTHSeL~{Nl83I23!tXG)BP{ zazTd);2)G_#Q>UG zPS}kPh3yM(6@M-)!859PoQ*vl3S@svb_iGQm9|E|9e0)L4}fM@>3JisE(KXLBA+5CWVN+fiW4g>&;bEIeQ_ed`du^&c)0sh;C0Tj>VPF_|8h}+R5nR~O0Qv=mOqpM` zKbDdSqUVz^(orRPTVxW8^XRnsi$C5Z!0Fou?YA^Y>hP#AUh_?cG-74qwB@Y4OCnB3 z*hLL9Aq^r`?W;N9a22MYG2no8Kl2&uw1scnChmG!6u!u-$#2yj654$I8oU(%xUiEX zny4YL>jfT6I7(k`+Oc>b z8&;0=C#+jbC83Y_HoV_)#y~t2qNLyrc789>Gz}^2pz*mxYGk9+=r3|JB{~pX)gGda z3FH`FlPdW)s|B~P4{W#a%O~B; z?uj_P9s2gBqL)S4su?BkMbgu#0&YeYu=Wdx$0Ag-MREb#FXf{$ZQV_rP3bE;BI1f; zwe4a?Zfe28TK~MJ+4G)XJ@0iGY92P#^0bA5{Vgj#eDB z<|kEWCs2C@xygHD7A#MsCGyWF5dgS8<82l;-yP^BRP@h__)52EEaqx8&nPsfvWP(2 zd;HSgV4fab(L2LVTcu|dVWnnYyN1J^&Q;;;ykL}xR;L3SWN2$s*`+Ex+uDht=iD0C z=K?b4toS+HsBjCQ~ zKoZSUnej5{o}oKip#)tc>OG$QRl}WS?L*BVN5{fCa!#;xf7)0|#P0nS=w$$|kOGf@ zpdMY5Dq1wI{>{ZQHGVfWu7W|w-)rHaf?NSZ{Yv=r_Hgx})2E~FsiJeOb7#+qd+Vvr zgHY3MsSr3VKsHI3AzRVdGUzycVmSgKHZcqi%>@ekeM^>Pa_}_FvEysxR!tn z!!dMU_P*0VAdWQdSewc?Hdc(w++r4 zh_<}fIW6#w*FH1;ZIMQL|B09rZ+++dl~iqzS$f(=3RcsrRT;!4Ld_L+x3Jct0)b#AidjiQ_%cOFd>1r->ZOlWDKiZr;af)x(H)j;|kX$QFyDRk?4N zY}$vJlRm?AoK(L4u?~fQ6vYi}q6d!eC@QJISgV1Frb^ljz~R|iQLT-kb`mhm+n>ny z)Uva&{KmfTz&3c|VH~e)dpx(lTMgKulDL7JoL*STQkDDx&fHx*p)U{jZloLM{L(1) z_HF7ICdPhmghvL+13Kwve!>Gt577rqLP#M!oP_Z?VOkR&x7^#h-Ourr*y)Smp)K%(W%W6jjP8)OSr!rhkcTEzkN;&#pe($Wvl5n z4E#2r4ItnJL`V?05BCb(D{!yCy#n_N{9jYxR|oC?IQ}0VNGAcIOa=Zp{S)8M|NrlL z{GXry4+q}*0O8h8)*gLGo4!a@QYXx zoB3SslBSdNhtCmHmd0S#tBZ)}34Ub{Tmh);FctMw+v<==J&QZB9q;wzPV?B_>vBW{ zwJ`o8)5Y`ao4@&ja20~M=GOF~KVf@%AJb*#mri8_hqR|IHVK3p|cLVn*5UNYO27 z*hG$ty|S&CjE_l=caRqgS@Y8^DL&)tzxjf2fvZxA(VV!bqqIcwZu0W!Cr&c)ZKY~v z%F!Or+8t7K!*fFZ<_p4A3cAMLlQ`deE+64lwt&c}!LF}2%eFy3wLgVhX`n6PX)jIw z%@>5L48%1#vlX{G{U)2QPhj+xh6XPm{arBYK;JG;JT=v!RJi`%d_lOtbsJeuXZ3R) zbtmf;C@otkN6NGqP97o@LfL7uh*I3|P6dDS1>vdyrOW5_#LTc;r`$88tToxzsq@2T zA7QNnF?%B+Vs#gaukL^I1>vd$ajhQI$K{zo9c^+A@yT~K71g5ZTbfkOX;SzMSRhV3 z`1&_r5Uwf^mv_tY-6@xC&438!$fi(a#)PSneL|{`>JEb+hkZ#K)!%$UxITcmZr7W` zVi%keT1oj0%#;{6M2c1pxQES1zOPVxyb9zc{hKcc7kH6=!!)usYwYRv&g;vQP$shF zoi#Qr(q3p@yfWC9_7TjJzxjf2fd?LV@@SJ=elnyjHcWGJzjDC(BAXOmPnKOH(kbw4 zbC~4A-+V#1YC+dn2eY?i%@*@nfsErJG-21Iwvxyff}K9)5hWOcz@g&)zxjf2)q%Kt zCQS00nWB4|Zyf!y$b)b=B(>?HH<>$n`JO{{HH^6a%@>5L9>m4YXHX@zxHH3UO;#z< z&Ir@4u_86NVNz3MAID?c=sEs3Ul6Va5Eo$PTBx;{b-FSly%~27mZR>&6SjOPkLJjx z>hGIp-#Y&03&Qmg#5HZEx?@syM09NU{esO;jl}|ms#1~-HHwi?_F-9sFHDSCTk-q$!uV3l9|GZb=UV(cB?iILK;9i0M9Tms{w@QQR z|NqsjECLjQ1o-#6zaLb|0by=X!2=kMf#;9_kH6y$fTw~msK5U>F|b=_QA=gpX1(#t z0YYNyR33MQYPK)Qs~n}pV4EzU8Q|`nJ-Clq2I5;A^d&GnN-$A_m$ChdI+&$w&kg_M zO%{_K<{sS_7J|!@4xXdC-QCjj6if_$YSqxq47)w6T zSV>a}89#Vq0o>k4PHzols7_{?+dHQ#C(7|+jY!j9$Ca&pbqu&_XdDuIji(>(xc=n? z$BDiZi5&lnmsJ*R{VAkxLgAi}l}P_&e6N&8_-im@c%dw6cHI|AK5U=7&zGltLEU^R zmR(q5DdrnztL%0xU;+Nvbze^d9<`1P(ghU$Gzj2#NAz!_<6NUkZ~RLFzHEz6?q`AS zlp`%&g883vf8JcI*ek;afOv!m$G~GNoIuwI3<1o)G9kgl#Z)DVo9#L{kx*T*fAYhv zhF9t+DTn*eC%mEd{4-a7;s)(+gyi#;>(9ShokSk`-}cl98LyV;!>z21-IqGrq3+?ooiQ*7B2 zp**kg!u+T1u8W4>fDDT!PSvVqNp_GX)^m&;jRowujTLTH2*m^!#;~Qo3`t5$etR6R z%Zpn3=(sJCDJM?Ht0b;-omI*5eC>-tK0zV4j~VK%q-v*_Zfkdqk2ijGmr=Mt(Cvb% zn@QLdtfF{OBe)a|_|ukpzjwK*;(OKpJrUMs~aJS18h2}!RJ4o3a8Z%;}ff>XUd`JS}$^!>_6!iG9OxqTCt@C zyy(lu!*Ak@y!B9T+LfV@S`;SPLvWY6`s&a=x~UUk_^$=_1TXAQi3CgfR3$Dt3t zo&MBy?{gNQ3K9i8$sP1h@wV_3T$04>0~MY|j86qY^c8-gK0IsS_mB(Z)o^^y$HYfU zPxwhQ#j6hb@tUj6GUd{Y*n2~Qc1-KW8B!3>u15g)b@FSIL;&Ch@;q#IAVkX*N>fz~ z=|%B8AJt1N*Q!CCX_Q&?<#Q@wVJ6F#GT)%@KV&9ffj9qT@Y#IOQ%L5Oc{%Hgyd#V7 zQICrkTuwOsua|sOji0c-!Eo!XQRj_GV-IMzEs);ef0%y-QUlz5d~WigYcf?ptDP4X zndn2pOYgJrg7|$9>;7|AIFKcn#j&)6<2z!O+Rw|`tD#U zbRH^4A&SJnWQpii$r~Aex3g2>FMGt;&fk16Z2P|s*F|E|1B6+47)MkjqU))VUUZ2X z{`evN^yb=RH)cDOLvp?P!!!E+(P37fHipppSjU^kY4K`Z9>Gx<+oBE=O*mtRmo4D& zxfJgwOvmoDiYd|cUQn>pS-*e4qxvw@KP&I!+Z*vUm^)v z|AXrDpa5F`j|6!9UEgK_0(+`7Rk5i`e6|Lvh657&s6}0<0oqeE66FJ- zhIa&c152QEDKCl+FT71Q-2HKh@p4hsgiJVO5sJ(^DJ*?c8{cuGQFG7D;fN&WqPw_3 z8~*7la}rf5Kmxmzc*j$~9L{i_9)L1nHSFPHFqVmyW%LIwHP zeL@--GknW;LK_PG&CE*mC+MecoO%r{6hCOZwz}a*`bEJ7cG-)U`LFv-@o_dfz1#iz zd*(ULoJaLgV2EUOj&iLQ@|%g$bZRz8`r2dcaYiYpa-mB|#C=52o3X_Nv6u2Acfbn& zslX0E69n(mj28vU5nwPu9M};72(^$(Na2%27l!GOx0@iS{`CIf?XK?vq&+o3~t-?rh)&25r0tgRr%jIfz?xqkgIttEXJT zsqeSV=gG^4=VvMyf6Yw)(|FG|VrVvyDA>P;N+TsbwMSwrA&-_oIQM}o!-=YJl3D)O((!+_Z( zh;f#2Zz8E4c=)BkF@S-_ALodCUEJI_L{Q8q!>YNre!g}kq>wMIa}e>kCswzSWsVEn z3elQnuDHg+-R5i(Z7v|J!ImiHf5a zX4N6@2BT$kL5eP{Vh3YLICU)Tl8Qm}sp<}h$3MaZ{BR^fMp|1Ij#_9x9wOpjwEKGVKTNbAIpa#%CIglM7gsv3G`i_ReXB0xHzK_(L48 zZ>0?n+1XFTUkpX^T`JYe4Y`xEh;@HWfg%9}(+Nah;&(}7fOIzmy$j%6!m16K;Cf7| z)=G}{Bv?px9-H@ANW{*YQr?tqYm|a!`w%3%sT)j$ogj=JnC@k#tk^^KQ;>d{pU|=a z@IEsO;(m!?7ck=#m$|Y;hqx%LJS2L&e)U0;k&8aBs{O(+dt&?)=o<{1pMRh zrx%n6V5?gQcmZ6`Aor;+=P}jg_su88aCgT^V-(R9+L&Dc_zGsA4Zu3~zdcW&ukORW z0{05sD{!yCy#n_N{C`@3Ja8cZSbPWYfYa#%soU>EQXLJ!GZ4E>2>#W53IJ3>Fz9QQr|B4Xo0pT-*;8&1%dkCI|#QQ*S00c)vFu3m;_+2Ihk3sxZLU0m;3Iw-8;*TI0T!#XE2Wd+=fyARi@IK^x5(v)tefwRM0G1d~I~kA~o7$n|AHFcJh;La-jhz72v4An~IREDniZfnW}Z|04+A z{hj}iwIlW*`1e{8IFR#6An~*i%mTr`$1{jPa3UmL5rWqt=`n=h%HP)y!731cJ`fCE z$PH){4Z#Y(uOEW-A?H^@@UNvB0Dv|KUWWJ|h2SQL{R#vlK=_Uzm;-_d?rdki?;Kmt zsnH0RTgcNFtZQ2vtkkK}BP73pI#+BWEC^Ea=9+q~&`Dl_c!gIv5KBhv8q>~pSvRC% zLh`PO2mxN_p!Pf+`j~9cf;U+xcIaEf%C13(k<>DhL{ow#3L>3`qNMuA&m|~eq z_+4e$Vjy)WHEF3XrI}`rbA*D;V8?Tk_kD+$>?aSb7vJ1DGGx#e3X!o5Pu|*=xK$pA zB_6?@Jy{xgwiz6dQ#oSlO05KW`O2Llx9(aw zzOi^f*hAc5Q60A9()>I}AUBjp9+S&Gnd^XJREJx|UX*8e!htuxv}x-0JHGS7eC_1Q z>bXN)lSC3qGc0lB=qN)0qx>o8yK?#-MQd4Sja0?$H$MmKwF%WIU8|jm9?l`G^MyJR0%l$McikIeL2eD5^?^Sn3ziW=uEIXYKej?Jaj3 zncnL`q(USLF#echD%7==%#`x_*(WVe=)<*|UwQ7v7hh=P!OHn3=R8N(&7wh3NS5fQ z(!^?~&4+(0VMpS?`^>m_Q#=yuBsod7A&90faPpE)D^u;qHkN$m3q;><=tj2D{iM_J zDFQR<9P2bI&1aR=pXH@cY3$&kct3AxCK*Wd&xqt!s@YJDQ#jGSpIBx=Yf2;b??%A+ zs#3=A?m;a2TE6F16>4Xqp_&oxq{`z4Y%kkyhwl$CIQ;-5l+T|}=DpimRBjZD+4{0h zr-M?dy&|YzGV#!EC_e=$360R(r^Ub;ATF*~q=c+SS1cJ3UCr%1j$3}NNm|o8KTTM% z6Sq{4+)YC_4?p5b&me0`UG|n@#xb+8r!KvdHNtwCtN+MozU;wl-=sLbyltJB}pQ8Guv0hmoRKB zgJkuGjKqU+Cy^QgbsJ_iO!U_hU!$W-(qB8ZguZ^;zt^h{&&0@q^lItOrxzwV{ArGw zp~07N+%0(Cahiy$yQ$ebex~A+kB&}L)LSxzv$-u~^WmotYH$~$ovfXgOXukWBbeVK zV(b?zcKmH_?H1)-LmwHlN{9&xLES;`^(=S%Ci}ILF`jzp%k?YQU zoOMsg-gFD9@bj%7H`ws>$r$9~hfy7Dxw$rXq2E4*B1&0as+;R(C*cRU_(MlLNtud` za{L_sxBW}meUO8u429L38uxq9t^;e49kaM3D&52+)E<6xgl!dJ-@xMM#XD1O3SCKh z)=9QMm*Z|Cx4OHFlIYti%38+CiCXQ->zXLpY8L5JY8fCI)NUwSSn`udh=~jeL-r#R zXUA@f-OfP?b*bxT2NESWk44$m+M%J{UgEIQr0nBkuDF1;_RJadj%0*LB6Fp58HF%v za_p;~HNY@^k&=4>*H9%2@#j2W?y&xdmB++tagO@+bA%zqmWt|;YEEpJ-zvkGi&fFD8-344kaj06+9TIZX};~*kKW&!NoZoW)( z#u$DPT+eewnPX`a<1B%z8F&HdkYP1>rK*KtQ+}eYMC$9W+A`h-_NO^+=SRDAK5Fmy z$(=Q^PI$~nxdhtABw(?ai3xFQ!lq7jsWHSV3kghF&V|1h=Oa5eQVC9y(Z9&&S*RTH zp?$6)*5Cbn9NkBvsX_-=3qh7@CRNB;{m1yp@rWh>riEntXsIkD0?q{3@P~fPX1BHV zyA%TXvAjRrD{!yCy#n_N{6D5ZKBV69r}h7SkM{>nFed?~;CKH&2C%O5PwWk;!~Txn zh1BVOpU(#DMfh!hI~!|l4=?xZ8(bzbcf<MNxAY*&@6)-BVHdRq6lZ`~b)@Ti^wXfvNdl znNBPcYYy&w`~d0H(Rv9y5g7h9t(iNz?Pr-~(c$(R7E1#)EY`b&g(Et2EMCYnNM zH13fQ6sYnfe##iB(QEx@>z}}Lu-|^*k$d93#-cTzz=rls_%BS0$9 z@Vn$kJ@N7Y+Pv*)Sf5T$oMooXUYM6bVdVK3S>Yy8p0xmww+{lzHK&DmSGy_n*OO-T zI79vGAE~LPuYa=dO7b?M{iEiZTT zuM$r8rNEN3>At85RWNU(O5D<34K><_c_QBW&|G?i_PA@PM6|eR)gT+ghjpIk@2d#J z-QbxwFYPI-+uOb%DT_@A7Wq6D?O~CuM$Hi3%o|1{4kjig^dj`$^d~Y+?^*QzkM@G8 zzKV-52KAd~5i3y~=weaH-cU~O7r#o|4DzD}c7ktdT%EK>BTa9p?V6T1l8dJKeyF)U8jV{2>_*EjKZ`=}} z&wVsEy)=Wmo*GfASyhz})fEuF3&zk*ZQ^{!X*{rE`n(Ieq1g+{dRobvggh{?3!W*Mjlvd!`R8 zLH_j9P8TjI*>qaM)-=_OjZNXjTae+{-9diF2aKJ9@~n-csmydyF{w{*IYB6O)_h0x z`$j}eCXas7(u-iMj5Wt{(4xRbJUfkL*iLZMeKIKXMI#IueBYOmpG=N?l2K5>gQG9~ zKiGTAsJNPMeXz0M?!gHjJi*=F2?@d7T>=4u1qcLp4Hn!zxJz(%4<0ON@agU}@BOX2 z-aB{Z!+ediQy%>eN$ps%n?)vhwCrhVD-|Z3@vhp3*pjT_N-YbN_F))7zXB z-`N45!nOVBACmqJ^mtywBk2CJ$wi3*ey6JgakzXCqYB6u?GLDPl+3>o=AI-De{a{0&b8VJb@;+O>kA8bU znx6m8&a)&m8gYh&LIIXtul*Ujo-~d7#%PxL`k{K8NghqA6dX>BXwh*y&oqL7P#7s8 zS`8d4^;N)kP%6Mxc`O?pZM00)Rk<6NqI)RHp98K` z9&lW4dLWD~=AY^W?!Q^9JP*RkvzhVE@-*YT`0exM*(?2|H?~*@r6k;M_w7>R1WU@@ z7!T6+dOe-F&m8fJF&E3AkV0(7c2<81(X2k%;);-+x&OHLzG4!smZ2Mw>lJV*JiDuw^CIuX|C0WtMo z?*B=3@?Yq`zy31tmw~?w{AJ)T1OF#8@HkHk4fwCF1Za^yIq>tSzs~?$bCCSFAK>eM z)BiCb`u?N-?+KaHe3W+}`v0T<8emla8J-_div`J#_(PQcivNF`j{tfD2m;t%fv%>Y zFQEG}1zrse@YR6x?tAto`qPDV)Ilu@<^w?7q^X5h_&GLRi#MwEst0y|wU+7<(@E5R z!UzEQVvoq!%WehQAWzlBZMKdm?Na4AJi%#nud-0!R+P)pjKA*J&Lts-2b12CPfoc7 zJ3w0gbTXY<4|zSqltRo+J~WkCX6w1%>?-m5z(8UzA! z9&jg9(WScS;3cdkDtG@AaTHn|?^#oVd>PY>OgNzmU*nxbP(*-6aynR6RKo?9ky71l z^25rHF+Y9-iX6B=N)KNs7y@9UDf&jSPc&P-Cu4SZcZ}O?7PE{`FIYluzyzE)JOVGI z7c0D*u6{6uhGRbu|YmS|A5LfhqPrqSNr?*(~F$vD-}5}#7v>h zraze?CFTDRq&K!qeUG0|5W#;exqV{2c+mA#4!X~eRE)vVX&9XFdG;hJ?BX)V? zZbZdvjo5$IxlJ_r1-f$>y(2CCcwD(f#7h$!0{sjMBMg5l1Lvzv&PT*z4KhTLAZ_=f z(*;_;Nd>@3&@o_uu|B7>Pq=y4itqcTqWlB_ac#q0MrC?JgPaOpb3{nS8(bH*s zUoiy?P0_X2p+892>Y-4be|m4;PIt=!EoT5NS2&`=O^T^Mpjf+1=@CzE#%gu+`{W#rKeI3K|L~$tAgpzr<4m*?PDQVrxm0xSK^f(p}7}L z^2(E#EFpSsVhvxp)R*HV$31zuEB%Fo`o&Aw?%gCjWijm-?LD4$<)yY*7UIkaPbe;8eYn<*>f%cW zUO4Imuh>C-D&u^nU>mSF^W05A(dPTv@y~ox->zb`I4BdRM{)@9 zcwszL(CX_ObOiEJ`i=}*VD6{)tge0H>S#W-un!j$7opZhUP1Ykc|49lf*1oH`Dx}= zHYv<`j)wP=<-(GHY$|igzpV#y+SnfmfbGqSgQ%s%o8^1)P*H<+M#E}^=bq%41T6-C_J`2yDlWSs=?jgjV$IC5qrG5l+?|gdC zA0i7Nk?j30r95D(MP^8#@Mw-zFMn z)Sw*@e`~r?xl;bay&q43W?mQ6y@~jSsTB7Py?qal+P7D5KXFR1jDPRE0cR=H0Ve^7;1^??B&a+rk&=EDfQ{o zTO3TDV-;E8az8iBLT$>JOnVrG@SDx)P48!HmSo+lkVErXI{(aYs$DSm|2hatNe(Xe zH$o8d6{wa4B=I}%xdj&cxfGMX3^fub0y=(z$DS{}|A5$nLqk<97=;3dOQ=P&Y4U^F zSj5dJ;B7t>2rf)~F)sq420#8eTL#>40%Z^FKYmlIOKzf&ZPG~h5r9lA)Uw=ve(FICq7>Yq@UOw*4ez`~Iwpr566i~~EaC#V0QjWb z?G;};NJTQFfhh5p(VuL8eb9v+9&fJtCg|YUNqi^6(c$4-%?;t}H_Z{{+q!Yacj+d-iYp{{B0NElsU{bAEr4$Hhf{#dyq+z?1kiSOCfaFFEYN{41RU zC>uw&@4zE{sKCh}keg`!Q+)on1r5Up_dV!Wfs=4Izv90APVo}s=MbfI(OXjrNGj^X zf5l#vjqK`PVrKvHfz7F}@vz+D2^{WQHZIh{&;fQ9%4p<2r!R=g?ZbcTi6!=I(`yID^eDQ@h}j^FTD9Mnrb zcwR9n2wzN|C+d1|lHO+{F0Rum-$%vzLG#xiZMn{2{I>|fGK)s*<9!2uOJVHeEdLoG`jFG%HH=xVo-8| z&)(o_WDM`YsDd;1-!``i^Lhk<#H(3!Q5YHdW&tgp%3E?;77kU4B3yt<+A`- zkmG|ndHjm;T^tn+kxxUq7Y|?vd0U?MWt8&q_|ZoU+uOHM z-V>;a*$$c56iK#j5bm6I3;beXL59$&{>(lBsCF=DXap`#yzP~h5^_uc+bdyNcEg@u zoZ7I0=%839zfuwCQY-qi1Zb|1b!6T)iWL$%UZQ@N`f%3~iDqzwc9J5?o08=j0LAUO z5X^fPcKOM`{Z{u!NkU=}FHE(ZG>B605ISv$?W`y9AOj~+MgD!upkJ!XGJEu}65Q|L z$b+U*VGIzEr%u|TW*do}`F9wP4!QtV+d+oXDT=P2nO0Vrc?#J8U`61mAL%o8qNvYm zrh`uooM$uN^B@zNb@9cB$V9)7^&+#EzxM9xPLa`wbEa&3vTi(^ z5=f$$;SSe}bKlTMC4BXw*2X}v?({E;bYA2!$weyyu38`q#2v183(sH=Tied zt9ahNs?Xh-kWjGU437M>O3q>v(BB+^=$QlZegb3GuP8r-)km`HFW-H1q z|10F?lEBKF5nSROgI{H(&zvNG^hFPdz!u~(abSG@5)G9nl9TS!jFK!fINh&ER;yqW zyk+VP`VA&7#iVw-sOuhE=r7;}6Tn`Jggm_3i{Bp0j7e91ss;PY+E&D82=IIDDv8&X z$1dQb{fch{!IgL-F#A9bM{O5;b@&ayqC+2#~+9mHHU zD-)|;DcziC^h&9dt)N6uf{Kou=6A**?+e_f>Y#5vJ|O=&qL5x8tx2j{Hx#PBFq?R3xkddX7iz02sqok09OFuRjQ#q%rM~%a`F=WR zvwHh9WmuOLjW#dj@U@=G)60vr(G02bX=wbwD^`p!b(w~DQSaa3SZe@^>Q~W*K0DUs zR^y9memxh5rO;$f;llpe?3=4cr-BEo8+=rTHPR}?!7>7%pMNc{T}{=TFUp$D(xsMz zc7L!0xTVkfWn*OK^A2VteFJHZwWlQ@SF5E6pQn-txxWSj#Ud)I-K%=DW>Vj=qfQcM z!hKZ&)#OWEi5bUTZ)S|HFO*sqmVKDkCJT1zvAg~3^_lM*qqfTszLOd*Vw9V0y+A_e zcGfXVfg$F*HB1(rChL)wpi{FXf7{zD28Coh5(7X8(zn{9g^Z>OM$hZO+zmHdDXY{m zEaKGFed?JP(l1L5>-AKfd5i};MfDD>1~W#EEOW#3i=Va2I3jB?l0A$AKv}6adqsLx zSu30{+Ik;svqfZ6HEQC%7Il52$Wvf`({afd=Pq%ddp>7NX)WMLb~@wii_|Mg7oZt9Nig|sI_O2Re5Ua$v+$Mv_U*QT z@ZrVre0uDPSi1Mvr?7;^Bn6$kB)atL4MHPc>8uRQsw0gk;IgF{n_Us#T21UmfczL$ zSlX4=`3wEc{cO{4XH7viydnbkYrtJ+mirT7sveF{D_;$D5;>X=Wb8}377y|c>w;f`53h@=t@(V>~#pW>gszmqMvx- zOz;EnwRpocW=C7+l9JKXLxiHUeWFnc4E$_pZ~bD zIN9|TS4PO%e8|-3(G#nnKGO7J%`%HA7;~9OBS%>~B|AEr6q-VmO;S|v(C z1--#w1*&-}>qq9Mo1s$A#}C|VwO?$Hf_7J@+tI1$X1IUFzxxDwoE{&9C7OD&o1_Su z8}Wr^*89M|ADkEl`CGE8?)q8l?Sdq=bA3yCDWwj3=;NGHjS1rKC)dh5HsI{Su$36xA{o&e(Gj2??0mmQ)JL3`l!*eBJ+^S)J|~b?|EcD*>5jORc9Ty_koXE zY&zT|Rv9E=h#u%AzC;E0v2%x2gf;Qw$P~s`b%Ro^tD&q$8?c`D*iQ}w#OkQgi=(y= z8Nje4vHwClqF4>^YaOM>asRQNuqw)8F|;Q8rQ?6hT%WsCux(Gj_n;gAx*ml?1***g zsy!U0bYf4o57&&snUA(1V9);Jl=IYn zB3d_S^Ca44<=Jl1jrzW9Iv1kx7w5$7>6zLB`cMKj+i%d-BtduSiX93rjLN&=$pWy=ltD*A9%{Fn=3MZT=&Ll7AWG|yb5rQjTPz`3)YTtgrI(72K1pt(D15eqz+L09`x9hDOCmiNICH}T_(Rr`FR_ZM`tVw& z$SrrMJyCsRb-<0I{G*@b5{%X-UYSG2Y5yah}IyrpYga+Po{90(9M&2M!d zv-rusmCi`~y$ny=PKXM=fKWV~b_P4?RpF;A05+GPo?>qNd;J=sZ~VnQ4>QG<+41Lm z*(mmRYVWNgcg1+GmDzq_o72s}l00`Qd8La0%3SbptML1qyRz!ulcX9^iryg-niohN zqOErQKNO9Sn3$Gc8G?WegB=@C_%D>TO~%H&3_rhPQiLAHgI21b;wIqmh9^DKho48S zL}3o$Y@Tvkjb6`*3m$*UBk`WkD2QK1b&n?!tU%>9*-l&MzoW%x7H{jUmCnguU}l|Pq%Q=lIEJ&!}%d1+k zo44NaIn*bCs@98U2a2lL?26?d?x*ia$2vK6hn=gTS|{R3!m~9C?=zWoEvrS5)J=nw zK;3HqaGr`ReZKg)y)P@7-a^OzYv&=QA3V1U`RFQ@5glne_|kTS8JMxXU7<$eGz7jY z1o&S=`#v9~t?}(;qLR?$g1Kk-9?gN8&&cvyrbK7|qAQ>)^-^UBa6*P~yWo$%Z(#>6 z_qRK+GYP8|+Pp+xl!IQcB^C^RVEpg2{_AnlKG2VwZvXK2_xmpce;N4yIRgdYI^o~# z|3B*gLBI-%9GK2Weg4t@KPkj71!Oz`B)g3Ye3!h9eA?^A8TIPn44t{{~;c;ROlF~J(H~QF0i#x!Xn8kAe{PB)&Tj;eDrp4W$ z3R#vB> zC1BME<*i(BNJ->t0#d>H{S_7O{l-)a!Tj*By$+)tRoM6Uzmq1D6t}wrcU>9hRzMK} zhB77uL&>&qV5sG5-og^vzQ0VH1Jsv-r&rLf{&3{BgI1EM|rsxm(b{6YlklSFq zJMK7+XV963_N ziO3nzh=x~oqx7D`-g=QzPJ-3~N(8u%Q3v=v(6K6w$aT<$_tCT0KnB;*wcHce!--Sf z1VA~)l0t%F(53g$^hzBgxH>uetvWk*Bs zC=-~of78s`LeE$*flmP`cmP1$_SZm}pdWY<=O;6$f^RMmMcO9X1U_g1F#rgS0Jq)a zlO};)lv4*+Boqp@E1Jk%ad^)5g_nfwU43s}NP@7=4v}E)(;@x4$7TKnSX9{7SShL_ zc2MfLs-}yxO%?4oKXKA6n%4;92u`5-hFpDoOEx~auu#_KIuX0tZ~ihRQV;; zN16DQ@IGdV5ww;*fzJHckG1*=9^|Mmrig1--|wndvzUGFv@C;pgM&d=a;b@Uk4+XE zK`8?tpxkzc`duBV2?~@9qgL8_om*xm%T*DwE)jvQt+t<0&2j4kwN3&j=MGatZMO*x zq!l;k6s?E;Eis8_*zTT{s#B>(Vy#*&IyaH*fdny-;E$~4AN!dFgzTVSpIKoTW zCPaIMGkCfsk6o!pkUK&wIoq#SpHaeMK6 z={biKxjtDk(BA-G6f|cQp`Xd|S3ZH+P$mXSxuU#P9;5{KdSYr>Ig3nu z=aQ(7g5yh>fI)1dxvj1*s-ab`AM#L4oLvQGDZi_{!klwnF0%KeoGLjIBe8y?w|Vc4 zJU$H`#{`$2!*26qhb^yjb?Tw8pCZj7I$y&8n=mAKj3F^U1mNFhf@pW6xDEY|K|n1m zI=#ObF*$o|@#gvYJY3Z?1NEaqra3Dq?uO}?JsNO)e$=kUFNn@2ucfc7ej?F#HCojO zwTVeX@i#BqZ~eYVj>y@!bKlaQ+)0k|Lg)CcL**}5o89C;CUyz!9aB4b_JY2?l_r3y z{;-le6q(no6N)3AlMTMO8i0c^m-YcR>0{=AkNUVv7+=PRnX)CFuax%htjRT2X~J!( ze%TUTqx`T}7s@jY(GgTS?pr3iRi<>b+PgOW8Xo}wCFAp!4pYWL&zv^W($s=jjL(6C zY)TjPsI8T5wZgV192MzmZ>t4kk2moYwA`|7GRIHqBbZT1&Jk9M zjwhKM@YdH)l3&HpPOre&wwIFRdY?v_*nw@w0{*S;5w4#<#|J)u@#FM2Nh|CZbPih_ zS~nETzzkg2!vs-#AGRg%r1*D`-JHMfF9UxW_{+dw2L3Yemw~?w{C~kfAw(5|20W@P zzzws&h{%DT$N7EGCOeS)I35rS?3?`OeFKR8|A=RXtOs};FG&7x>j9qp$9e!@umDHM z`u|m6JR8%OnhEDb*v~6>hS^5U)$#_{FH42jM)SYWq2xODv6QZt`Ml^M_``B4_|I0XQJ`4+_o>WMIg zt&gh-Bg+k!F%16X&>YihsD?>-Cc=3zB6vLn6cns$WFbf#1UuCsO>;{mgorYFYlZdC&eQ>$Dq5Q$VC!;B zVApY59h1+uyw|#$)4HjZoH$GP2|mwV$;T+&bdZ)+_c10U$>8yc4vPV48?aYJb?-55fRM7?&58 z<=CF6l2bGP++#FPklr47R52fIG;ZvA+z6y%^>3Z9NZBU7?UnIB-4&u;KdQp#YDTS) zi~)s%Q>F-}H5{_cN137v^fv%+Py*5LTidQn;+PI^Z&G?ST2-I`A<)!X-ih~xyW0VW zxr3D)HC+w2rY(c!i(KIh-M%O4A)86n6ooM=W-K{3nL#Bw7qZ-KN-UZxcwuTEIuv+# zv=LDKxM_S#(L>BYi2%Pd_e>{+9A_tSE!~U7N3AzHdm&~jIpfI-xJ3+NPq^?YK_#tr zIXw7n_A5Jfj9w)G$+5{mr2g7#vEc*;-0u`3ld)*l+A33LNO`me7O9X^d!4t{5NQ{r0U)p}mkj+Y~7YD?@wQ^R1YpPw7O z@V#>pgt5BV$uEU@)lQvu!928?u_HZkWtkQusNv)54(Q?{7-EzJzcak>9vZmn#*roY zvF{)J-)t>Cvug(!{>}%jRp%-v2Yv&cOUGC@6#h+Y;r$(EsBw~AM)>dvAeQ4D=-wk} z;~-GX-K!9F?@dh&v|*!0M^uyG=i@bD#Z_gME#E{Q5Eefl3Y@tFknw{vjWTfISu;7| zL)CU>s0z9NX~l|LescBo?AaMP@N7fI7Pu`fyR3WamTvdj8w|(6tr z-#$mqgK<{wooiSh(w(P{#loUPI;}{oT@S~BB-;DU8cy{t*q?A4N;_CT#L!ad4wp#J znw-Fyt4#`6-UmDlW#G(BRJN}Q>U&2sPfA!LUh1Q_ZV(dChAb`vdbcKiNP)5h zv>QzpyKC^|I?7n8f=kw2^f!h}=;NFF2--NIQN?v>QeemPnia@zGFGZ+?fpTQ_L?2; z)NpiA>oq8xF38$jN=Stm!T|ag0Pu^CGbC^;>vFId@ESXg=+yI}RzaxK&gyE`+FBm0 z?;B`aL1y%5=}TKB0MM;oFnXV4**|}`VRpD<>Fb?}iyz065-wFm8jvKb(`Hc}J^rOL zfGL-6U)5rr0RxA*Yz|a{z{9#d>NC#Hm*MF$O+*Z`8@HVeW;)~enC~9=ESHS!LfFBU zS0yvhPt5!uUef1WyYwxTD|?J&upgLFk7srLF3JL&?O-B^{IV}R6?rd~r})!x`pA{E z7S65#|3Gxx6k7lWGZ|bV-aSFwuR{qiBaKsW(qHf=fITX0z;uw*&{#0={H2p)1m^zV zrjCW<3`szg{4-{PZJ!#bLvCLze{sGUWjsdJ8NUAy_mArwHy-*4JKyV#i=n4J;QBk= z7%Q}WC=;iJ)k$F2 z-DyE#dvKSeAf+vBSgZ?2VAHWy^6Fcl4m_D7pXMj%kVLj2X?{F8wu+TF#P1~tn0e(i z6EI&m!ziL+_L4JbVhXI(T$Sx>!Q6Lj3xtk1ZSMH@pU6MUXixZ1=4Wk(Fm2Hu-xE@$ z0<{U|{$I_uY&V1N1%mhjx&J#m3y+{pKrr&wCbC=C=fH>z9KR|btgNJSOG6F>#p=xu zR^GdyaCR;o!Ihdmq+|NFju7-W!1nGaAjX&4__+OT=@Fb>jp9e!N>3lHjG+=>LMNA0 zi6_6XE|6Jtu8$Dk*JIe3hz0d;p$$uJ|8z}g%h-2~x)nA!$shK2&l9p8_^96$vyR`m z1}*c3fMTL9uu{A3(?8t*G#S%fR-sPpNPv2^aI?KAma^0IL6{f;uV~6}q^2ii;WvQ7IMLOp)?MoyaS5d<>?LaP zByzJ89T6H8u3c8soYIh?UAr)nL=-W8xcl@img}qt`M3P~H~`)IEf4ze?B@vpB z^6TF$R|i653l#&5l3~Y!C$ah&G~5TJW?!jCW&;Y=HW$VKAR>#+k1$id9%Xz&I&?;g zSJh|gVDfqsm+aAvi(?izFpH+34`6Q zMH5ZH{;bW)^XYX*LFC8gbQ+ilu=CDxL)0=4%=A0jc3t)%?)Ut4cl@|Z@E_14`0o|S zKoR5(|F`x3kNP}lK9wAZebncZAo~BK3VA!wc)H5hG%!>EO;gi+@1AtgR5$eC!3H7w#EqU z(A4G8X(`Ffe1;^MIzfe;_SO-^S=99IJ;nZq2E;7#W>5FY+d@gihmJsXz1q%A$>j#J z1*s3STYRj-H^jEkBUCcHSE%$FW1N$p1r3}7o#d^QMxh$QO?&rrZNEp?#kjQ624T7e zzV)V*rJMAlk}u|~UmxKDa9_#%^sp@LL8>xaaX^9pvJ<$-^>AFyZMsgYY09Svp8gTte=aTK91!q#Ohk zHz{5VTkPQ5I$kpqTj4v@SLbNP-r+#TDZLQkD6OZM_W@;g3!0Ag1%`FZ* zO?|=70sdGMh{b6iU})B#{)A_bg%WK! z!F2X$8Q>8YPvvi7B5k^^u*fvUf=n2sx`&Cpy67V~(@4P(UJ(o)AuEXc^I{!AUaWRm z@Dg-D&?@6JYP3D&!Vl<7dSM=U@<>~JmT06J=yNW8MVgz)LPn||Q+oK!+)Fa`Q7c%T zj-yTnftx&2smH|H<0N4lZ;?Mzj`P-IB4(?Udt_KC+gB&>T*e9EXKc>u252Mp{lmST zg_cROV4GrRcd5Y?)Qus)IBHDr_@*`XjMc^jZh!{_wBed{FRa9NQ4AEMiomY2ZDidv zP8kn#dEKg07bV-GEF1Fm7LN@^^cW?xh&if6y|JaMLyf^Yrn=0RAg%?@5zM{uC*!;# zRq+i2X+*;Dk{a@@<6%+ zodRjmWPcV31A7^s-dijml+jh{>2=-s{Dq!*ss{m1;J`iaM^L=vGdn@kJeCuDG>U%RD%n33`4pKd?Qw^Y}D4aDC?m4494Kp>cP4{}mf z#unk78u~hn;gV0b$G1EB7Mq9!%fbBTE3hiTHwY-HnjP}}ErNi{2d(6UDk%JJX6#1| zqOiI2r?PzT=qTU?i%+1rO>PTo18M)omn^K!+v+UgHWP5c1lxW9ab|o6^UHZ?;lb=z z&bOX}9TcSY{$l{vd(bVwBPd>Wwr5xP1DA@qOcA!MyTWntEKgum&|RRs}=l=%*aLah7ef z$82cTWJH($Dfb@bPP+kI0VK`>oDRY*?gPZ62X6edKi}LOXkO*U5+#Cw{Hzjj7BIGc zh$Ma0;e{Dpu^Vrmt;)wl?D)Dye`^rQg?>_V2oF4Sf%$&WkOn96t=2QAomQT_4sSH) zdMM7TBrx}-O9s4t(N907!#!{_YK7Jv=~v9ErKV)2wpz{+rnw!1%YBenH)D>lq-To= zz{jWsUId>Gm8A`yI649N7(|cN^1Fa~^X{*U=5+m2?8+oQ>*+)?g#c&1ub@`p5fra+ zemaS;AGyB4qc-bnvHYZabSPeo5F4pj9j;boQWC_yMT$MRF_!~J4a`%}pFnq-5YVHw zq^Y)Jv(Y$zh?vkimBUr0p5;sKoUO7HWRsZ~(W#N%y*Z-tOY8F4w}c{UZO`M}FbP>? zsmeM7^Mag(BmYx;Gw$kW7w^a%o-4hX!~51yB-#S+9<;2S=x{Kl;KqFI98SAVnT`A? zXCWjEL;rUXKCT7Z{tyOh0n_kQv;cS;kN0=+SMcdu@nX~o6!$0BflDgPHvExGE^dCg zD$mQpmDw8df^^QL@%c+MN3Eiz%hn=qjZ>ZT_E5QRRar2&2ce>9hKbgA@i28-mshsg z4+6c~-v*a$zZR5GI$@nz4@<-bbfl+IIV+M4KaY>qHOPopmy)V{(@K|9|6YgAu1Om_ zHU)dx{P~tmvT#RKzyPhem14kIb-=*g&%G?}G}eu*A~2hyHK26=e8Ev5{hE{Y^Z09q z8Jp9J7pHD^r*QRjDDz;3CBzUorC7g-b*@F|5;NvEv0fz~Job~p7BE2M|KFJu{s#mC z{&jyD_{+dw2L3Yee<%aRkY*VQzz0rYIYhVDfT##<5cvX4(T+knmX{@-W1|FhqVdUakz0iy(M?i2OJ+VGog? zLc;ff$hMI5L_*{Zi2n?T`~Zos93mS)@NE#;5+aX6g6(U1J!aIh@pCB^GtOPmG z?;Qk>0g)l6+5^ZT@&yFX3Xy#vcwvYf07;KBM9zfB`Vct@g13jrk0aMU5c$zENF+oC zZ&e09R|Z4|kLdvAa)|s9@;q%289aUfygv$&LGKC3twLlyNc_hTnfuRe;EC&h(vS3* zeu(T3k;x(QB}8V0$R-f~!Vnp}HUjvcGDN+&77 z)5KG26eyNs!(cG_=$kIzK5$h!3Xx=}ugRr)e4+mg+u+S>PK&;~dFT7FK03;Uu-Oyl zb2on`&khuxr~>K2FCm7BcibN}H%Ydalh3-CSP;LAI*Pu{?CTkjXv7-O;EPkAAx{5x zpQ>OR`P@{2K|2@Vs4??43zM)8Cnmnt*3|iCeMQwJ>-=2LWNd#z;$@})F! zK{>(h3XARRYJ~jk-areJY~_Brex@(m~s97g_rrd&vjIrtuU8BO{F(a3tfH+ zTLMAAJOlfVeqs(DHrdF>UBiz=&!DD@vnYbg+lJs*66PnnA=Dbd1>b z{hW=K_W38+QRF-4q5}GJji|!+tAu`g^${q?MFtU5(NN4*0L-maV$=%yqUrW~Gz3HH znpl+0v8N4?FEa#IU2afXZizPUNkrdFp$O$RVlhgMFMv0bPZ1w=eX@HHdIMqS4*`&{k>l4l4Xg)Bk{^{3hur zMx;t$-)klJLSEa!(6@|Q%b;d5&$7%-(xOD@xSVJIMQ2qIjf3(GnFs(iVs6MK{Ii>| zt68W@-Cv{8^F?mVXTaHoeE!4nWcDOjs&-%J)PX3XL$-vJ4?aZHA{u*bjx-#OS zpSf(aG*AczP^KX& zM4vC$b=s7cM;Wj1mU-A_(3SEG(%%@ro#{%a&Xg#>sT>&oMzFCHp5`<@vWsX=xx|3_ z`>AMX=YGs0#$B{HF9`#cbiBWHSK~0OL^;&*etT-F)yT&JM@6ER^?!IfL zDLygbT+R6*Qts94OT;bDyNds-Myc_s#nfIFEdl2X53jp~r|X}kg7wbcWu368HCaX0 zei?5Jv=Fz`qT~(simRSyp$|f}h}wByW=uT<`$P%$fZe$9QfJ$MiDr9lHcrL$h4%&J zl}IslUa!w6afcYqd^lc{1M@NU7#*=tS2UCHud>BoO=ij!syxq<2}c<*>7+%Q>N(#} zVboLY39-%7O}Jie+A@xB<;~N@Gm9XY>tL)l>kc8kkFS@D5w@gV8WDN5z+US7axD!D zLxd%8nhI*LMd59Sq2gS_z3rq~#@8wPvvrhjukKUR5oK#&klmD7Te6LicTm65vk!FV zzK_D;Z!}6qeTE}nDPFkazV3|xXt^I@H7O)gQz0+l@PZ1SK6z`hp}YJXO4>_n^n8Gq zu~ja-W{5T8P-eD~L%&st!XAp?bvjrrf}Uk3g%@Rx!Aa~LRr z=uyxBpyCE`%D^i*@bfso-vrc6{!^v{>OTJ|$3k@8$Nd2d5FHTYAK`cEeRK=r?#Itx zXFORE5nQp=V}yK!i7{No?~BOfzW}2FELJgr?fub%1fUxOZP5n0>#5=#2l0VE%Q-w5 zW?#iVc|V;*`+TdtK0=>m*78#Q5v6TQgdg-)c9zZcGWz0(EvB!PC`i(9?tVnUbd9V{ zPh6m*l9v|8JuNN@`xqbJ-z{(ddfu7%F0z)D00V&lZ0`>|HO8VTO6~wV#nfyNWiH2% zz{6}{<()&a%%;%1^kzcNhZdL)K;^f-eNvLUy)Fy1Pm@RKgL103bq=^fJj6{kVJ5h6 z1@eYQwTrj~(rrA}sGrwSzn~JvRL3?)1^2p5n7uG+?E+6r_PqUKnawU97akY4yMH+C zcJ=F>feYWIJ)m1k$u)jn4V)SOcJ`JJ^4-81@F{*nvJ2o|N*a{Zqa_cu_L)zFLj*<3 zfs7OI)PVqW{}F_Urlck{r}u7n%!0kSj^y-bR3?u-i`(h&YKi&C5fOM=CSdqC_&N{K zXZe%=kdMc{*n5;R&E?ZTq}s_U=Fj@-*_{{R417rUm2HhnN^iT-DV(fCaTL?jQb7Zk zciI^P{Nz~1ahD%_T>99qiUpptHS0XtvK~PXq4!7nn!3A=Zll1;8p5D1O-g1rf{Y5H z6wE!_#TX7@J!kQYJMW4rCQMt|C2MV}sOx^R*|yQu-e3+8@KB$>r2ME7-BUH^Lkx;h zx&S+~*0S|f&cd(?JGsP)6Ao`Bsk=1REJ25}5NEe@$qTBf54$~{_W+C61VgzF%V6%G z4n=q5QjL3Ga_Jo;`}!2vOu!6cMz5Z_+^!bY*J%8)sw%X-EE+ae($TZL&BtyJfP3D) z5F@Pm#0FTx0fdM zMc`V_xrPWg5YeXKyLOyR{1QAJnf&ml+=~MP2RTttEI{Xxtjlm|EbPsHAP`D zm2DgR!!{fBGod%U{3j zn0;Oo!TAtUe-36PTqUaF4ni}+$82}e%hAE8hB6!r97a+ZUxwawJQN@ z;m_Mq(5u-|U4-~9YSvy|3%2onCz&O;1b_l5?$uFwNGHgm8taGkjrzb~Mjy6;_{xEJ z?mfbV6Q7pl|6K0*7Nh2Y0n`9LV7G=EyxJUmeqxPW?l@xJm!fF3hyKX@BM6b8$SBY? z^%ph@{X+$5j-^ zr&&*?3$&*%;bt^{qOEjV!oD>OQ~&~o zwdnbU3AaktoLs-dQraQ>McHpM*+&nkSAh^*=GZ&PWiCht|N{d-XVk^EkYtF6#2JR84%z z7h7T~zZ-_~l>Gl@Z7V{^Pc^je0RKiWLYv%qpB5X2=G#?Ir`F5re;d} z<-koeg62K?Zr8h3L*RB`f}s(w^DPH!pG(&$EHNIY&C3nzHZD96rD$Z)w##Ee1?D-) z$p&584Y$q6JyXD60f46L`VW4zHcX7ovI-SL(MU(uvjwObvt;B0154R(V16yKI^2B~ znW2ThXq5O{EiJY>U=j;8LXw_8i zqc?zPuyjssaWJso0Hb8kHks!@VQvy%zj^-#{{;ZKwMzWu#X>{EhLFcy&#M1q`kVD} z`KZ970*?wjD)6YlqXLf#{J&SA@YbgR2mBqP4P?~6`A7oxl)Upx67J#2dl>zOl(+2$ScA0zlW-4;fSc82>L=|f7cV6pp@_obBVKt?)Fl1>>zkOC`lZ#g< z&KZ!cAr-^@&(K4?M7n-uwSD}NO3MBrTen;w|HPa*dlj}NKI}ub zZn@HcT#nQd-|=KU=LKJ~l9f7<_NTID_%%Cpye|By4OtQTrurdUw_Ko!*`Mot*gI@G zgK{6w_F*(;|k;)&)G;&7T`BF?G0rk`i=Y& zb;*}(68da!%h|4{vic!gw_KS(u0;7)3Q5s=lF&4brk;v*(pXQ*wDFR9N%&BmdneiZ zMjx_u%asM>Dq1<{&uq=pUODDA*y29jY14@R>__i&c;WkQx1A5a;2~SLT-iV_zzpT7 z_NwHBgea{P^HkBQTz_`%hw{2`ujPPOPNjKG581lq$^mlW+>D%wN~pEM`nIFb&nlu8 z-Oy%XeT0E#- zDL;Z9v;`u2k_Y6njzg?l0E=kwq_6%_?Vdk1ksh1JDV7nbfXa#No2MrEkgeO}$_H|> zC9aRHEXK^}eZ2A{6@?iiA)!{g=mDO~$j^R0Wb2lz5XeQo?+jxOQ0tD5^uj(lW#XXxVyj2YF&Os;RxT&vx3JiF&D6Lh)w>*8w)-6{t@VGG5KId6bv9d_+ zLcO6XL!LgJ-+t!4w()N0`8wOv1Ua{dY~6B|0J+Mr{EW=d7CA3xT1k-Ex|!+>8HYU% z<#fsWG{luKe$PK->y`@?dv@5u7Opppp!ZW*+4rojNg+O`-2@J#`C2eJ9O+Gw??VsS zy5%YZ9@j6!nJr4&nMzb+#qp25xa;qbq<_(gkW;|1pru?0)s;SE>o3>i@=<|D1s)Z6 zRNzs8M+N>TD)2X;(SJSv-(CBE-^~XH(TzBFnDfTp2I6nP50RVne|P*paQ{QXe5q`4 zB8$KnPRKv60NBS@dBVMr_5)B!R$75+3QMw@=n}zT!Kdio ziM`0HH+{+LG-$-_iwVX2R05|T{NoEY%A6n5t^2OvObhj1AU_(^h_qnm=*!5q6xLrk z(Ti^(JrA2n@fz`x7n6CRF1Bwv9yFQrc{Rh}usZ77CpZapX*OLPKVqD~%qm zoXVKHPjyaBt6?Ym@uHoKozMD3Y zb=vA+%SB>!>f?y#9Qw(2NvqZ;V6&Pg|4BrO+BY4q%wHbQ%nXs64zBUDfj9YRaJT{p0- zKEm5H;x3;lJt)@@obNDDK}duKV^;=gze7O6zfTraiSYx9x2!x`$9vDH<%HQa@o0`pz?>uK<-zYT&lJOovj08ySL{Ufr5fANvCwpLXdNLKoUqo1)d}^jg#; zrvvj=l_P?#dkrA_P0}9a1Fh#?JKCx&k5Or&xHAY&v_2tpfQ!z+@jJ-y9H((xE-F3z zj$yfuhNgC$29F;LwuyN_oM7!PN(o`jx{nVNWvmgqw$E-Hr}RVkqS*qYT@HpLTE@Ic zH*@!wz8HPVQS2|E_MoA%LwNA!wrXVB>+Nz#7*J-8)sW-QUTZEY5>y(BcqER4`U=g2 zBiMD8g<&hD9}`+Mx8rhp#BsumJt2a~w61p*felp|ULEVlj#K|)yW%!37TD=x=^fqm zRy)e)0~;P!G8`UYYn*W+f{T23CCETTwOe5~qa6Wb>?@<1_T*%*vHf|3NAwE>#Ey1I zs}3bH)=i&9S6JUrN=obijlJ4qs~+Dd&`{Z55rv;7)kn$VA_pU03}WIz>%2P^ z|K1;X1ZNs`44(R1-Cjf^SK;y(ahwH`mGyW5DVG=CG223u=)f2k=;UJRMM7wDoQ{7A z`D`+qD#_9?y8A`&%7+ywI+EON3-DiP-=G?)e zP%$>R=&gqsUiAT`gH@yT*=R+IeJ2)-!EC{vUu})2)ieezdsAuz!>bl+0qbXyE#lL! zDWy{^wHMGQp__YW*4d&&EWAXZ;?Sa7U!JMf^^0k&6zKz zPZcd%U^1%IG0M#~hG*{e+c`#JwDa=wZe{6q*^C-db-*&K0%;G8#huGRsSbF~ zM|cP$Q)4BnNk`>n(ar{Z>@d>aUZ0vp#(a@7Z^~8{4siqo=R?&|mWKwm2uPj! zP{hQrj8I4Xil?z}3Q!OWU>(-kMO9{eJ>o|wPJhCnWU2G3r}?d^XG+`m`1i%=xrx>wcQO#VjM{X#jY*gCG!$a3Dk+dt(+Adtbimf9N24-~Ee;0HJ z&W)jDyDxU8&HxD+{fT5fC$rq*n7is%##yv-{SzLNpNwPRA+EL#yjxM{0^P-XA_3A- zPnme?WFs^IK$43|D+5wT(+%|ex1H~{S!N69JoAG8Xc5D8_ zl9|GmF{3MZK7CK42@9GK{$9*?V-f+1C7$)N=if`6#51-z{Qa2wa|K^Xohqvxw-kVRDfAfdj!*lmA!%aQIzxloH;h}q& z#cywhGNVU7Y`T;<-CMExN=43}U76f&kwZ<5Ja--sXwhl?g4Pp;!*C z#O7kET%*D#Fg5b95@&)v74w!w84m|zvQH^%O%SlHPN=jhW&T6c^>g1X906=?tg!Tz zNf!>!s*M@fAhtcXVT{2%ueUaiid|z;$8=Yi**xjl{8g?c;ud&TJQ>&WG4bAV2K04d zlL6G|{bnGYEB5*@e1Zo2vGO|jG7f$}%$<(Y~k1qq4(HFnIv zu5fw=#u~RpoYq~okwpjAZ(c5(*<>GzEs_*9Lfc<0UX7Kl|13gY!RD%6SSTEu`+ok; zoZUdi*Y0C7yqyMdDbLrwmY8Loow~7TJ9GfzzG+xWnfArU!eGWPykKgd{Hzuswq-Ss zZvxN;JLSSmRU&##jcwWd^6rRFQw-@t6mAELl(O^{CB-+LEl2|wB{|=?L=RRQc5`BW z-P?*8q4G?>J3vV--ebaQ9D1?;W95WzcGzN%`6q>_f{j!#wJ;lAMSB+lzUH9|*@R^2 z?2cSXBPjcbnpBzL7&q94T1B>VhD9oBvcR@@gVi$b@I5~f@**=Cs&IoHHn9yCx~Y`@ zo*s9laHAhT_%bcdA-H*{iOzaXDSsf?wvvwBoa8S8&A||6{Y}@tV$DwPQ~I}?;9iRM zK9%iOY0@5F_&vgp{9A!#yc-OBUxt?`&3a- z@$$=?T8?B(27o&9sps4Ll`L6WPv5pBG;{J8b454YUsQ!-%YFKIt;y}^c%?JHy2)s> zI=2hHY2q?X#q~#}PWQK$Drq}4DV)(@^>cUQ1@hPsX8t+3?s^x&fXLOK)R>QG9W zRoo7yj{eEz#c{tg+eKpsXCRG+i+s2NJ<26Gho$>TwOM&d&MwIzVIvOWELf4yKNU zCHs;=UTZVQ5h413V+1;Rv9UQ~9kOwe^aOTziy`g~Fk6RwoYrJwp2 zbA-xvuJ+2aQ~Y1eKXPGsE}XfVm%rd5GT?%RNtbmY)OLu7nE})_j}cWrSX=h!^_r1e z@@0|fYZVZi;~FMg(ivgc)e+_zEu1*Je7~x1=?us1_ycD|$R?D;KOa1b8=>iU|69VH7j%gv!ntg(xd79&Ic(WTL8NU3&Fx>8p z;owm2Rx5&KzGHEj;onuVFm5bh>Yr@`NJh9SLO8m#f>53XNQ%E7pbHpD5KHvVZtM+{ z#1m|vkxZ#8sR1a^3MoJJ7a+nG>|8<=Q%Vy{L1qko^3sAewN9cHDZJbvG-e2v1D!3M z%HN31UDEj(kz`7&IGB2RgTm^z0s)n*3gmn(6Q&SDX^Hrk7X6pZB*wGpJ4>!d`I_{N z;VP_1#A4)WO56lEVDE60`7MHXwdGtOWBxtcfb;4LUyQG%T%LeXpUe^jbgIWUr81hY2k<(UYOeVQ6vpXMJCY zaiD#P*mUrU#5u-SINzwc-%s)5_-0xVIxfuT)dg(~sOLW0PrDc^1YKGJ=H4T|f#o7c z2dKBFjEksLA@QG!f67_U5~6y^6ZeX^R3+8n?G%&Nz+msmVPD0h4Vq6l;8Vkza9TC2 zf@eMb6lEd(rdKlMrwYlr)s*9`dHQwfqvxuTYRo#xNDYF$N`$}p%GT`rtX%-=-H~OR z7~=@@KVUQTRy0tRn_Rle26um4!;rNQ6;J%;oyFJHD&pP3{z0{lT!ft7WNYURjwf56 z>w+0u-O)lrI**SVPYu;HY#6N_A^CM%0!eWG^VGU>L7&|2_No{SnEG}lc?0y!f3qD(TvhGs8 z0f()GjIvs?S^|p_zR|~rq7h99Xr*WxVsSJ7sje0JlK%F?=W+F@z@q|>3Op+C|5*h} z{^S3X{-+F#_xyM7dl=Y)Lv)k-&i@5YF8(iexQE;CVa$8}`s;hR`W^<(KJqWW<~^K$ z4`1BFviJP=qOFk;4=(2ZD*7C{Ysi+4bde@u zYcJP@!NBgQB~Up_zfAFuzMdbwirpCeX?(ku;y3kmb+zR{!c4lX)4H}i+X&88jU9dt znUSWwF1Bjy4p)Njq^`3X-;ylfL$Dj32mDrPzoY>a8!THD&luUdX{oG+I^z{U!UZS` zzXQ*vSn-V>VP)1sgz>ExvYAp~B+-X&`6?9HvyzUky^fj`vyt^)`$&FMitHw+QYyE+ z-G}Pw;`%riu$PhWk`S)Ci97@Rx@@PCfZ~`*s&D2M2=h1ngK6?pgj>*Sonaj{_rW

              MdSe_s?c&h2Dxt`(|OBG`9mNp-QZhGjN{RBlsSmZlfty z;n!kNV{Rz)LfnWjYqm3mdR>%QRPltqv9gID`)jf40qdBr3DWUENG1XL&%QTJaN|Po zld4LnWDY^Q!gPYyX~m=PK}%vxBe-cVxU5nf!AgX8&U@C9EV7cwf_u#hx%bQx0qH>= zX^13vsEWAnQ^t-ax(j>xh)&doqvzgkm=clH=7~2D6fnOZH19#r)$q7--bhMJdLDyk z3H2%?_rTCAb!8>#O6fRg)VhFMVjWOoPz7IeP#jimqK<+K(802Rbu_Qdcq<3qev)?> zV&so-PO$}(?t`!7t|k|~!cmWfUgQ{W9R3b_gXW~JsXZLNPG?xC|NA};(cmX_Sosj; zT(!VyA!fE`>fsD=xvgMeCGNGBS5?L}mzfv&Wi1v1_cX$D({=I698i)DWw6`vDpI3DMmQrdP$~k9r_$cOatD%d28!u9j@vOfiQmE&Bz2Y> ziRA1arcvIKogUQNe0iMIHgwy>i9NtDnZXl#`KJ1ivEwYq5K-_pB!+eaZL$)xU=!o^ zUpMC<^NZ?citXFZs~T~2Vie*6FUmV=kAqsu*9d?S$HKEXei zo#M)ZBq5(WCWgZ}zC8V={(;y=gck~x-T)Wx=*Q`l4tYIZpbNMIhunr>0D(U}prkf@ z<6sTa>-6Qj3hv^c$?nE4!AQRjLhH_wPukA1X88zaz?`8~a28}l*ZrUfRf?n^Nr#Yd z?eYmA_c``}$-||o$nDvGvX5r21>?L!VMYO-+bnE<>|bH;o5djAfC2VUC_4ai_2B7= zM)G?fHs)^c$*Z=c6VlS>LBgM-5;#^<=vyqp$L*nuwT}s6llPPss;>+s6{dRi&TygscQF$GP8x<~N!`g>3CSl|B6RY-VW}BCd zG#G=lss5m)G6P>H4$ALsay1h+bUq<0&m=1Wr=RK*O5C!_E?+Y_cuWn2?&C9kX1ex*o6sxUhO*uD(}fn0EyL;{lXPX@pI4 z$dpC*@H#&m5aZu&oFMhHgQ;fwwd{%}`K(c!aQYitUR&<8rPw5eD_U0Rt}xd==Zwm@ zzM!RW<_ii5tKIJqr@pUMI~Rf(y4@K{;Fe4cgxNRje}|{y&z2nlO2Z;$IyQG`aDq?2 z@W=l$hNktoU<<2=P(f98I5*OFR7B+a-Fh7@ZLKhAA$l!U*yVhnwvXxHo`zKnU-E=2@T_UBniJqt&W#$y=ibOGtfs81;KeS=v7{(d@J;2%UKONvgb*W#^8W#^r#%-P z;YcPfz3Q&)#vXzQ6vKHd!fob^o*8AI`9c>^`U?ev^q6(QJxwe|LA%A$Ekp)MH94D{ zoN%u67nChmHa_I(=z384^CV_C4g`T2nk%=D$yEzBHKO`Yyj8CQRpE8ee@yGOxp?$@ zhAD`QSdJQC&KBCs*7J4u_Z$<^ft5j6oEHVBGdn5l!N7WQErAk3R!;Hdb7oFF@4cHxpU%CBlP8 z()LQCR0c1pb1rh}L8Q!o>Eg4`^-z5wml)P6Q&Rchm=)JAUwVnsRv)dqRb8%R(hES%uk%1zI@m|wHO-HLA zjh05oS%{ZBdQW!@tW3~XFOb9qRWRWsjL;nU$P~f&w ziT;`@J_RUKQTi6Pv_@5d&%wo#q=jR#VG3=;8={fuA;>2Gl{cJKC!M!9pN9YlL9c#`eX zp}7aY#k(c``a{LC0xW@r!tmCzWLJ@?AnCERSopGE3?|moye|U^f7aRFz@@Sty9;(< z)xf=f2UeCnvZnmS=}8==LA5{b&Z1Y%_n;`Dfeimh$zfYRJhbU2r2R9RY>))RE%U8r z`7ctf7Z7nv7qkk?Y$a4w`4E|3318-fE6V_o9KGyct^vFOP#4~$IcgoHR+E@wGACeV zCC%Zxf^M{s^}XB0Y;YcFuK7?#cFmd5NiV-FdlvKgApME9s63@A9P<4GksfFsH>1pp z>^A0eUdO@nCIvc9M$ITP6{GV&CaXS=d|e%KmVyg8DZ5kdrxVl(y4>Cez(c`N3D&eiNBU0Q_oIzZV3r;5yy*${6(O8YSmrLJ4?ADsel$ON{X=y|xY3#2(?`fjyRoin>p z#i};}uw+v8n>_G%45@E(O2X-;U)a&m4Zp$Q*hm=CvIv5}!<@zBt^J58KOB@Dc=%b#H9ZWoe&v6-;p^ir)9r69Vcvs`^R|DuX^;Zc4-5ywmM2kC9a&Fe0fC zQG4`Uu*9)Aiq*`8p>}LisS+0)tw?e|f2*?^!$4!2td3oWcjjGfT@omR6XRhhVC8gd z3_@@X?vZ+X+k2Ut5u7Z&fO%I*ryr!f__f~xamJ=5X30ewejv9RSYiY5N#&LI5 z|40PnFV<%faXg9oA}4{*_-??qkVaLwfcGP$7{t$dKkqu>JOl#PD<(j>@(g6a(l4wM zxHqxo>;V`ICAegPV;K!1Ddbngg9N_q9u&B3)Gm)c{0)I zl3*)aHO7_ehpik~iGV5mO# zaN1~YDN{YusjB)I5&u)sCN+(+g9IQ01yA)MnKbTAOEnBjeBc3BwM|((>c|NFe5MxN zkngwDu0vJL(KmthsmiT>i5Dr_tsQwBQoT^m2OOkATLeAb z$K>WyN6?5(KV$XDQPs7gwd)HuJEdP%b=##9g4MAbrAJ$e{uBuR(-*UbsC|v_O9#&* zP^cz>e2WqJIlwJ52({dMi@XuPQNXz_3|U1%{?*q{Nu_(oQtUOhbqRE;)w0tmxT21Z z3=+M>@EavR{B>SQAOgH1J=uMxrxwT>P5X;{_Jv?j6y;)nx>yOA1*|$#LFO*im7NE# z`1}O8u1s#b1;D5&+8tSMlM6;%ZXwT!OK3LWTwWIJ7h5h}pENm@V6+0bA?e6s0);xb;bB zA!w{c!n%;#)J=c<^IV-D-PYB8j+4Bsp3+O$-t%UtMNeUD2m}#iSGi$ zaMO#>DQnVo0`#*sN|c^^{aEHFUnLolaKYRb={`s}qazO? zyU`mB@9C=3;h!odWn;N_O$|b05qRsbiRB>eImHTg*R>($JI~ig@nu^K4COPRz76)0 z{IDx%dr69_IpsSlW9dDh!e%-B0>=Q!v_ggW?T=_JiKAZtx1-O|*GSffjYljFEPXzT zZ~|m6gt~Z8>r|8{E{~pF2*|Jxj18u5RjS+MofydGdkoc{Xfk=77aytkqpSRcgv+6< zw2oh_6DQlBqSz7N<7?+hK4b1Jhx2A-Hj54hsvhbB+4RZ(+rbMxy z5$2y|so}n z6b}^=yPXCT>&CuIh`x#y)k{9#+*hhV8wuj4GXdioRu=3gM*g!ZyD8iJbxfoHdQtQn zl1QsCosADvr3v!ucDuk9T7dg=yHt2+)T{N5f*>gTrlIm)YCJG!ML-8Og-UARPeM%U z_X5MeagA#BST*0EJWHA?-~ZkBI$9ZS-f2QSI~lUca0ND~U9& z^8<|3eP|)ASV=^}rE`p;b8w#ibARd>l3Y3m0bL?xHNW`yyRr6HbJH+srX?egP#Vvh8zB?xrk+yC-?^flf1+{&t%UvihzD|@1W)9}Q z`FXNX`l{7f>Kr+}SCpksPlmTK@PlL><0uUZY&;dylnw5RPC}5yB-e0~8i9w({yX!+ z8mo)RL6=TURR+Zu7`YXqfmD6NP;=i&IZ3mKY@S%lT1)gtp{Mb%9_Q`>+|ODJ-ylLq z>p7OZ5D!WGnRGpAl?DG@->4YeUTSJ{*X=0u75f9)YbTr;E-AS|B5J|hd zN3bMu{QP~c9=-6`LBio4aw+-cUIT@bV4!?6)V4;LlW?2SR7Gv(-oiJUMzonNAMy~K zAQkh9XIsJUV^0DG+Xi0S$wjz(Yt}QMt7|rpykCa|csTwkOSNX%Bf;{lF3CoZ(U(MW zyJnYd(mMEAh9DxjK;J?bJMS@64~r61gvjNcU!@|7OMYdwr^`zaDb-eDPg?i8`7C~$ z2+PZ2_=&<^QKYuBs99#{bwQNWO5LB@Q!tMpFPfxQY}sQpeWz|I`<|G{KQ~?KY4;*d z1>dvsxf80LKBHGDaeaxjvIqWY%Wt-Zu=xV=9sM`zRNRU&1C>#3DI^c<6^T)<0f%v4 z^Zq^ip4!QXq^o>Ow4@V)g2D=bM@A-`r4PH?7Gky?jESjDEDPfo^fIjV5Q-;7HV_0I z8on& zhs}iGG?kmI7-51B!zK2gq#qtuh=};hHXojk#H&~peoS126Rlqy{O+{6i0QjQyzah( zhC!FMPx>9;(eS$D&s83CibVJCU9Rq~O z8F&ss+(Fctk`4hjDrzKqng6>a zE#x@MR?!$Y^+>Zy{|P?c=jmUVtqlHtsaljP1P$ z05R={uf#@FXg-+&JQh0$e>TWLo!f0{d@+aQ^7b}UHwW}xbT;8GJDZ{%M`OQ|7x!jgycp56?Vbl+H{OY%Q)2!m|5ybwv`-8o@tqhs+^Yy2} zLBlbTr*~o7Y@VP;uzfu<(W(C!wL8EEtruPtgIo%E27mws@Jcuz>O-}JV;NtT);^1} zYpN^upQZnf9LlcrWwaI_`!lvPbwRxg(>f}6Gl55qbIv|o;fDb&L5T>Tx^Mn`7e%1q zn5SR0?bdu~-*u<{Sf5kpXFWb;graFmp>s$|@^(Qe`~VWadHR6QV`=4=4W7tEYgq-v zuneiyT`2z|{J+uwmWmlWe;e22R4Yx_nIv$3%#j51zl(c*m&w3pR9AsBiiiFXqgvNE zy6$4fEu%`N-k+>Vc%B8^i~~sJJN6nh9JA@Bjslo&Pd|XHjI$-xfS_Su_hdvx*D5)X z^`okm8LB%c9n6AIAYZO$yQZ5%dR_CF*2@wPaK9dt;hj68OAnlDlB>Im}tt1w2!d0}*cxX1QMd<0~ zB59OG+fsd^2z3ILT#uVV_-xE-U#*(?{BRogxOBCQ#mo0@azda$H)+FEQS}9-TZL5) zqS{MDtU!Q}3fcYO=msHBnIv6R2ob&(Sl$7qu0lJakpW*7^r-}7J|c7l=mL2NuOmR( zU);u=m%p9o0`RfcQlyYj+s_&*s?6Gv-KZnJpYFqF#)@NfDq1~kzY0PemctKi`+WB6 zQ3fAs|BxLED$n?#Guwr&h86}EWx~%(33QDzW{m&oDG*@7`Z;r~ zw;CvE74QJSKfknTq#)~c`siBLR{bN@5RT(T(#sV6w2yS$AAe5E0W(^K?FpkaXipix zd!6d|vpMGJQDu}SsnqXqYEGRebp(}o-$a$8-q23a8=?K-w9(ng!A{Zt!u|%w%O|nx zmD3y(Nc$k;sbcj-NV^&_&*ATy1OdHu6Typ9u9)iXA{<|A8-Nvx001I@1r=k_|CRhD zd15Iz>T5PLi_$yoU2d;SgX1|a7*h4_gP^#L7D_@Ek`6P2EO7TDclllBjj|GLAP?liVd9|B84DMh|U8-c78MAnl=>q<9o#}+6k$zpvTEjkRvDO zwa&ZELque(1y`F~wX5%DKSg1Tz5BmABoJ!8hL)oapdndFVow3@8*zBuMOb8vZW$y5 zXZ38tp5#pt0B9{UmDA8JiSU#vH6+iPi3eGx6jhve5eG~2ITmEwJF+-ZF~J)exPss@A2QY-`{Nyylt<) z!+ZCz%5DGsyX`giFyU=~ec*OWj;6NCi`wQDZt?DxA3D4|>`b)EhgvjweQ$NM-=Unm zwZsR}fZgN;rVpyp!uTVjSJrxT@A!3U#xGc(e)%@bjRD0ne*$5Ncm+rk;~}6`Tw6AA z@=6k+CqQzs!0H1aXO6Dl?0iRJsiBhZ-{UWT{U(#9CwL!kZ*RXh0zD#=Axzv*_I+|5 zYlIibqZ+v>7%(N!Dv9YV@uRN^&V&ga5yGp+<|*R}Agc2LhS|rGhDHE{-ffk*jIu84 zUWFZJ2@qdlWJ)FhCjFo&TiFZ9AQHv-ZR@%cx|uGo}&GyBWf6IRI9hk#-Ii&{wV0*(qN|q5^;9QQCr!$Hl!CYtiWb z!zK8t_ARKS;kPB-|MMo4)>M*wN+)fgRiKaLY}hndQa9k#dTS|joH^tQP=yNqaY7xZ z(2j~ljt;3}X>rFr0wDJWG))Nh?K!gcx#A?=@d?4GPbX1#Rx+;_ee&%9%v9I*8UMGj zd~A2*ByW(>>06`VU3r$sDG&~Hh3KB0Ih|Y*EDq0+YrU0z;TSjgpiKS*2!uo)wuJZa zeq2asF`-7T6Kw?;c(69nacULCiLb68u4$jz2=ppKu}Mtbp736WSZ zG9c8)5@ZzbwxsOpv`w}a=X9!J*WQPL@xD^+EC(W4&BH<3;|FhaE{XxRG_)`_mht|G z_=8F4(eW~QWax@_l}dN_sm-8j$V4UTbrqi!P8vsKl)Z-cpJ>_HR>;hc@ENjKxmZZ* zAftfW(?Kj|E%H_8iwG=wDRl5t|5=pO9>c*vzF@p8^@2b}#CU)ecTcaOr$6bZF_qlI z_20A8GtUD70Y-0tm#@OxzlUyfp7_V#GwHY1mRuB){<00P>X{E%!S-R#1l8|}b@9;T zQDl%&U=$W$$`XC0;uH76_r+{7HjdN~gHPDyaMML834on2bRGTY2mslR;R$YQ_EISYMD8{&`@HJx- z(q;1p8O6G-IurS&j7b=VU;It=62_*JT6QOCA*&j%ez%4TlPZuU+YPYa`Wyaxmc#aN zzNJ;Rbb}-3d&O^e^4{76*qZ*7-h5p@N%75F-?1!P`77Ogi2YcKryJH!s1nGyiA=IX zP}o49+Z{MURjP!Fe5Yfj4WHJKLYlmL{$WS*riUww*xFq51so3GjD*=@~4`XZSoF+5P+V(VWHfbBL`DPE5wWo=ih@g@4k9_5pT1BIfQqw}fB*mK>6oe=nF zHDFfN+bd6Tbtc(Lie-Di06P?w{b}uUyGj>M$B2Czmp{<1FAypK!6rZO1%9SeW7+lb zETsJ5%t`A2^MaQG86Cboay!yxGB?VDjb2kqb?qm{I}Xc=U(TtLo|%2@Iiv-&IBp-g z{VnP3Ei(g=uqdgz|DxD_ZR*eb&fH=lrO2RqO3S{Ql#)d?6+EEJq)i9V5-eP1f=1Sp!QyZ;UhZizTV98(7($YGll3CX(e#9D;eRKn z{B~PeNQrN)5Y{di5`O-&ihYeR8A?>hx4A?ql{-M@a%hY|7ckS2C#NZ#O;-eG4q@O* zevB6-LU>p4PIPP3o>81+i7TR>?!_E!{@dYCcqZ7o`d@k95)M}Mc436E|F>V_Cst2n zzs72kbgL&&cLpL77edhX+<%GNOQw$)%slCK`(-F-l^RojX(gN^E}ye?^-Is@9U;cc z|Mn9pb8wlVy7>q|4WI6+qfWJd1V$lwC-2=8$vzJ?BEYA~Tl1~o0ueo|ES>Z-tmn{j zbSw_G*RynoiuB(lK=N+(t5=y8Ddl@GpjkC(dqw*2Z zPE(0ZQG1?pOuft94VC->oghqDuy70X(6#3OtFL{Rf~aT0Q1N0XSyKcIlz#Qj8Zq?K zB>gpKCS6XJL8#SCCy-I#xJzJ?G!az`n-TKjI6yQz6nDY0o%0EmYx#1z_f}T8JI*;6 z@aMZ(KgB|M4dT_3OREp8g5U6PWK##--@R{__5+he=WfsSvZg;WDCrREs8EnG&%=m6 zgD-XWqTuML(&hhqpO)WV?b7U9Sec{?*-~6s@Ztg%%|Y(_2~&SGsJ5F`wAbrQeE`du z?lkWCXYsA9wM?d`iH@#mjc9;9d<399Z6jWgS^LXO)~{aFFfr>4H1Q`sG(EqQl;F+t zF&4$gq(pY!4QvW1f=XI>EAJcS(56=#ja+MSjIfupznxjj!p(+DIq=wzBWF^6;MD;F zyUH7kh6G;Ov+D2Zfd)kcwn;IIjM?q% z;Y*f_Kbi@UQB6>6by0saye2^(E;PI$@{p}tE(PF=p7>)(TIlGU1d5V>}-_jOu!J8L*hb3`H-z!E@dDWZvuy0 zvgGCLvYfaKJay6mM`SvT%I8T=p&}+fRt{C}hiu()sQ|g6di`sAe6I70dcj5_Wc|YU zU8{8nUlYB~Y9vd;*HNi|$kr{_OCVRyFrepiT<7y`K)lT}gnso|Waq$?yg1ZV-;4m& z3K*q_Y~6B!KID~SqB>y}F$$i-C|o47$a?Kl2KZgr1g zs5Hqd|JOi(X{NE==!auxq3nlj-EwIFxvZVzaw>E&O)TMdkUS8$reIesrYcX>aE~)- z=1VeJL>{tr%cTkAVj|D4Cf>%IEZ>xReR;W$@$Gf^92OP-S0V$tQaRqe9}n5O<?`LyNG*-?bX5p_$5LThE{Rj6P)RmP-eCTpX0MU%fu$vD3H=d%2-%`Q*Cy2|wWg z?@vO@p=61VYJJGoEtf8kODpzxgJj3Gc`hw5u&iXM+Yz5Rb%Y>$Tj$yPfdHYR?+@9! z<N&;|jd^0CH1kBZRiTPy4GYc)KV<8c3;5~+$k}i|h01Z> zYWH20OMYu`sYQfQlM2cC$xL;xO&<5${c7|V3 z-t<|5O@r##|DpeXfc!sglWWj$kt!3$K|5}j|x00 z@TkC}0*?y(PgJ1tKmPx1mEw&E`Zs?>H-Dgy&ztq#{C{`z{l(r?9R9og|7!lfyZrn& zl?iwG`xmQCm^L_%@tL5QMVhakOOVcSr%1OuU085feXa&@v z*C$?f%dy+=F!YUfE&dyS_`{-nu*l*V+~9=vh68#{kS@iE5PS@HeKM{pW`W1f6Pw3x z%homE1gnP+^}y?FIj_Y&jF!#I1WQ?U^^f3L%a3Cx6!kQ8csgYTLRZM5@DT!l);7GB zxS{+E<{Wyx0vX=Za`$k^jQfAX1S1NuO`miXY6P8}V+~J{l_sPC%wDW7YKDQ^;TSw` zycP;Ujq5+|#!w9BWc^X%u^-q}KxetW3@g6?Tfw{QOkMLDs2%{&zXSn3%7D(CZ!RJ< zA&C|#bCx~01Qj`thml&C{3=fdm`6!t2-Fhf@K=LBIOtvtaNznyR5@Q$NdMdEr=~` z^4Wf!$~y4TDw>s(KDD0>n)~DYtV;`~d(2FRNVBjOA{${1(z9=+BDHLwVH0xoFB1~9 z4mPti_rp8Oo6fiznL5r_SNZvbTR!T{JLmS1Iv=ZAu~jM&ag=iho(2CwVn0XKHmuBI z68o7(sBQ~7x$!=)UQmQx!`bpe$;10ZSBzF`GI~8jTn4r(2=H^?EN>FRoG%FedyEL|-5y_ae#xOHSvF1@d&_ z34uBu_yWOATCocQt-H`5^J_4cSV%>yomL$ULq>|2o4}}^C}!z$x}lI;D}%5myv6DcOI&B7z(TMH zL?EuA#}e?of^IDC7j4jm+lDM7J0~B?iN$iGGHWC@M#;VyUqfEqMJx zPU`uF+-Dl-j`9qVQ7edZXtswZzU!uHV_UCfE}KgNyaB;VHlJ6}p@!I~@9CQi{(JGK z1vy!R)7QT;h0qNb_=Lm9+%7Ekx++C-?Mm^-rU8DuCN2cVVwC^kJd_}@ zo7UFco%b0vrs|QtFrBy6qBoD&KQaxYtG)=T;k$Slgw&rf$zo}YtKQSY;^nC=KdIuk z*w6_AIdI}TxMG2vss9X$)wKPHpP*GtL`cwNWwx{KDvM;+;o&Qy1(17E=6|@H+AQ;C z>$}~BEc6xbQ-6!~;hgCQ6gUU%uA=Hef9X`vjXmqB4rZ@}agTQwV4B;JTp;uIrOPJ| zZl9Iln|O=yU)c8$EWZs74Wy;kM!ZynNs#9A^XtW0MdenTI$2zn)B$@DMReRP7E^gQ z-Vd@Fgmt6q=D~YYiq6vPeJ8Gg4=@~Tv=*~E@>iWt^o}*(AS^NPy$Fwvn9t14B}{w% z%>3;SC9qLLT9+T>eE)t?*zZ|*x$+V&1NO`2*&=tA)AcYfT{Vo~TaFHO`P}#iDwMq= zRSigP;s^u}E8qI&qy5j|P=23p+ZM^ifjDYe=hPq)yRjxD6OsYjssDm-m}q8r4Q7qq z(>phePxw|q{pwEX$C#Ke8R5=z!&32T5aSxM7`Q=MdzdQjnt2NT{WHq7Uu!gQN~|t%9O==?EQgLFO&o0g zBqWbyW=|@ebhyiq#MWfl7c*)IO0HT0Hp1lktkt zty`-1y23@H?=xr2rFNNwR!4Q~OgO~0PXyK76Ul~t@}{&dLr|;6r%BjOo*kZmGls4R zOVHZ^&{KZwiX4r4+X*T6uFp1-Oz99s67G3HVTh)Vps%XPsO;S(Z1yQ(x~b6E7=HVc z>)>?`f(mN;NCI%h+LSIj*C6ti6Ih9qOtol|RV!$rXvMtaKnEr>C6k@X@X-YJ^hZ21x!6I$UPp)HJg*wg- zHS0E2K%y*ngTR@)_0U^D7yqrG&)UQ}4IabhX+V;YW46Mla2J(C^&^w69&D1R9Hm{8 zDO6fIpVd20V~^u{#gEV%@6i_q{hV@c<2p&cDMl%EJ9Xxfp>Qy=|H#y!-BuugNfyyC zs2qRBeQ`P~X-zCw_Fok%{pkDh(v`DGUF~jQrsnu7TGk?TdNH*6D+t;r(TlVfAV!a4 zgu|aN&Kw&=`=l$%+V7%SH49!xKHX(S_1-g19x0`14!N-Gb8A#nJ=Z^qq#o+?rmh=Yb`MLwYVk% z5I&dIicq&(u!cT4r)aM}2rX2CS7y+FC!2xM;Z=^s|HAb~kfj()vVgti1b4qX`*8wX z4fi*GfA4=0_=~__1pXrMe=-8UzX%Lk|NnRX|8czo5wM&1&-D+wf6$44(Ercp{}IAK zodQfNtlG}qkPr#%F{VB0kJ}C3PXN3cpQM=)S5#7ea8QHxkLb;Ao;6C(wI(9b)Sf%qgYCnMOSP~BNRO~G@YOJC(E|4 ztnjX$J^L$b@s*_^s^b5q>p|8BkgT^7 z6P;x_`H>LczMna_MfbyFMr?DL`$NpDTAv^b`6vFHt_N8WAX&AA*@pA(M!$M~MVy;i zm08bv&RhCPW$P`_4DLwVBa;4`t_N9>AXz%+f`$k|S}NBIC9mx7HlUW=;&Bf)n-&Z? zYAlE(}$Byp=27$ttxRbZ4n9DCGQ`t_N9B zAX)5EQ1&*IO@mmKYN8{E6w%Ty!O3C`QKLwvdIvDy=^Xw|*MqERkSv?8q124gBYSEc z9Nm*@en!1y&&=S}A*nQ_{7s)PnhE`zt_N8$AX%ca`1pAy@%RH@tUd%Tn2&rZd}eWH zt#>K!`l~_mAf@czbUnz51<86kZ)?(zbSs%=XLX5)nsf_$;a}MJynmyhku|3^W8&=J zbUnz51IZd1A;U9+ND2bTQ^BLYx%E96jG2{$%0GyrcC8*@8^ioJT@SM2L9&*{lO0gy zg>J1*Ia}v+;%c8|toy&~J&t|*bJd2&;sWyDbUnyQ0Lh9DS~=0^JE-%!KJ4S49}z%3 zU=#?QX?$0Cw6ft}>cszVx*lXDf@B%4_0k^x_&~LS5l+))Ab-L2_y?^y_~NP9-&@B;ho$e+&rE*smlE-FL2LCFsy4>^s?H&>3Wcr43ZVG z?x<1pfo$qdSUEqHYl}g6{7Dfpkt}2=So3000VDCzVsq2mA$+|Cos8IGZpU;j>cXNRf%W$m0 zDF+51jn^tk+o}WVeo3000=^$CIJIAMu{5?<4 z-Z~>bC04nj__!kq$I`hpYH%bid^p26moVnasQLhFlaT57zBfx$S^HuH|p%Yn4jF)AqK; z-7nr#tnelX@e@=ZJ8gjaMc|Is(}_^RaBbnCMKf97GkWQWck2E5fU>z0HMfn9w2-TXudmLS|{B*!j`%Z37b&O$}HstV`1tp9W~n%q?1 zD`A?29~Tj?XX?&AlWg`#u)J;^iBgSwqg~SS0Agavn!n*Qz}{xcz_TgLcDBs{K*{JGPF!l2 zh>?+y5PuUQe~5^*Ad?)rrOXg*@6an z=cUOp_`AXksEpuAYK7lo0V0IIcQ;!Fi#FYPlE1tigj&@-SDBkOgRZ55P{>Y7NXSn@ zXnIPnnKz^?Jyad(Pov(XwEa=ZzoOEh zGC&pO1!KXCCH2`b!#pg_-OIDLAF9}bxz!F7MDhjQ7CC968OL4Ze3U7#$@xrG9G_Q0 zA;d5W$-922CoFoQ`7EHq4?+TWO{TfYwR$}9ppF1;kcw`*P05|!k>ZLF+XodtCWKE* z9{Mw87vuAFf=kC3f*bgDSE6LX?JQvchKHR!5xB}X5K%!h zJ$vbDAVGT8-oHFWj)hhGlJc~B zJ>B>Tm1BTi&kXRxURoWnC(v^=?tL5)^M%QFj)Ra$E}VsUGk!u4#6z&xWzS`(($*)Z z!OM~pR4jrn^9egY^dC+fQY9Cfa#-+N7^mLHAY6!hV;(O~# zy}cvt`sI^^QGN8B%d%M%CKvLRfFwPT zNZ}5q0m@_?syHbPD0+oz>lE5t;G}#FHAip2kZ*sbh%}}@lzB|r8IN?|X<=(@`yg1!c3af7fwBMnCgA5i%NH z4xlguSOWooQqT<;vLCkg#LY^e&_Rs8O=K{y+gdJBe5-@pik-@OUZ$8JZ!86~S_@)s z<#X z=o)?nm7)7j#*cKXiZ<-L<-q7e9BJgL#=-(6FCf@_sQsgjB(|+NvdD2%I!+cMc z_I2!gRt4gA==a_m21bMPGjaC@zXbo&0dN*$*D5Ha2A-PMNs+k(bK477;)xje-tn?B z0R>DifOq%+mrJnDK>pH{|7tXX|M{){F=?5`(5x>iAJ|Fu$mH?cM+S(e%J$lcNlC#; zM8qkfKMKSc<6To%M&qcMgW8tuv7G~B(9m9hhGpnc>)F?Zua0E>bQ8(E;-l*>)lD5I zL^Bn}Bq;h-o~fCI-clXynQ`BQc@i~5RN{YFt%{SWSt6Gb=d?W+$&;~tzr$55bIn4e zFv^K&&iJkgL5s-2y&4XK!=V2NoW&~*3Ft}Hl}+Z*B#=S}KL(C22GniCmgv$x!|4)D z_OgL7P}6Bkxb=~(pVL(v&h@5hJ7Vbbcs!{O7?Iy0DQi2-&u5w$LufI}6mR#-43>WJ zpGuk*sYpELDrkVQ$3`Zyo{{bJHiG5)-S@CKu0p zmQUuQ4d|BXp4AXs$%@s8$IZA{PJ=L*QD-`RXLvs~!-KNzhCS^ZX!1hUetr3%^Lnzy z?MjOj7w6~vV5&=`OAHaR*Qccbnb*@MT?RUFjs`RJmPVex&E4ovyTEm=e8%JJt1y*w zd3hEtE3R9auioi(Y>p%y0@ff!|I5<~e**yYygw#Sq)pzWjMGete^BB3K-a~Dq0Nyw zr0m4De0Cd^vSl(ji>1}np@q=PtaNX3rQTSCq~ykaH?8Gv4TO0n`(AE`9v`IDl5^I5 zS(5nlS%=Sd@}f%OFD^2D$e?pQ_g^W!-ihgg&^F}K_cv^g7ql^{DC`*@_14xFSX%j< zBiWmYOg#kR!NojWgW>QAMHO~4$wq>nU1){-!F8l@y{HhsJI^cDH$A^wv{jN6x~$is z>cV2MifW&s{H@k0DqEw}!J9D3C&9J~*c+%Bw+PEKDb0(;lHh>A5elU#EG31m{*TXJ=Aoa%u0XUZ~ER3%6dM%D>0_>FnC5k`WWx zhpH&O)bGy!rsCRSJ_M~7!QpjP?f9?Ay#ebkA=QSIb-I?>t3{1c)}T z_8q={U7puTu0OMN`oSRw(i)m73_RLH`}>%~Gh5q;@lVcTc>HB|Lx}0yXv(GXx|*n! zx>W^)S;tpDARA^&R(I3u&~l(I6t0JMpE_-YShj$Z2ZPJ*MYwfYg`M+`ocUzCLPw|8 z7xh3!6jA%!^NtJ)2AsVAbOP{WgY5@iNdvTK4;DLK%5d5ZZ)zKwiRw+9>+%*EWl6j_ zT|4jS5RqKxHEj{t3*YedmB$v(+cr}*gf^Ayk&>eH&Qk0f}=L#)z&E7ig~3!&E8*R*_F zXwbybjThKo@{YbtpFN)cw#s~A^A!Xr7Bqz&h_4bL?O_Z=WTC5ec8!&l-iJZYc!aqy zL#<{JWI`|bm+{2xH)T1_{anit+xU zKpoohL=B^UUrv8h5V+5e9`>SbexTFT72aqt^&wuMF&~ky>0(O+G-muyOp%XOL`HSl z5I#wjG|HtvW+qX@*@deorE;ZNTav+b2YL(*Y$m=RIA^&o#bU&v!3UpkX6)h8pb#8K zrTv=EiwR#ROEv;&FMYyznOt{G$JygrBb?54|0``lmrKl!RZ22mfxo$UfkkdWw^&;D zdt5{>zDQ9;dTGF?kJMBqZRNW#>9EucbKo-M()H=trQc+Xw_^^3nB#QHhuADZkvX2i z4H2;~`WA&uU=03a$Cp0L7#NBF5oj{omuP=d@*f;6Dy!$wo4)=_= zc$dps-Qrn7`N8v!>3nCMp&`Ie_=&{N&=rb}sP+kPJ)$isr?=bKQartXx*+ko$t5?& zr)g}oPGZhp@trdbaQ7roDo>q|j$rKOMj7P9dpp(X1yVio$N?0Oi68s>he{I+_wpU9 zna{=h&pv3qk&BzaC$uZ~`uPOo>&9wuknw~yQveu)S~+bh=XH!8*YV3u&M#*yMY(d) zyDW=ap1QDRJg|%Y;Cke<;7<)r#YioJg!0~|A@@BSi2*f09T{vGkRFC;N)O3wWPgNcqpoP-8;;y%e>GAE z*h}f=d-fS9A8=2*kZNshlY?PFbe15V8h3d=-~6#XE*Fam-NihxV_H8yIy3gdr#Y&{ zMZNnD zC3S~S-hmVQpE}*Go2{qzz*w*WFK`HTxyvxmJt0Hb^g?$MHhqTXdD8-*vN{C4d}Oi) z`ZYk|rp1Gb$dGN;_=OFLtKt`AG-Xt1Mb0O#Maf$QBMO9HcR{%AMgP3zU#sMT_~F^f zJv$>1isvc+;&Mka+QQo@6?t@ik3k(Lv2jD2)j6DVSg>^nVMZSaBc{=oh9&)kCTkphEQ?E zroBw#mTPQI#q>Q*kfA6OMI*%8l=|LVTtRT^cOXVXt$k84ydvgK8B1Ee{T41irB5N! zH0c_7n^f|I*A(Eu6w$JD^|s7B2_6R5)YJfRTq8wSo6EpEyZJG?NxYjV;<#8Aq*b<#&mC8k{yU{ioDoM6*4I0XW@o zIw(Z^UXlzKB?)dt9oIx-uB*&@{Ao^}JY&_Y`f|3#u@WCA0rPL^ti#i{UkSHoSl&4| zIZ}Q`94xR9Pn3yc*Rq|*#InoEa{4e1OSCUC*@eivNf-nec#j)dL@p7~dOB))nF~Bq zZfk!tmv)X7U^wW|MZHShVY@`6LnP@nh3#!($nrtnHY zcx)y|kms6SA|hm7q?EvK&yJFz)%#Y|L1>nx(@8SgoDfCAR!?CH?rrCku75Z&-Fu2m zs;GqU&d`ev{SYs4W*sj~N)>(yrrNJRr)E=4ufCsaljeTA5g7u~@!e6VV8XC_YJXjH zc}LxIiqYUPlCRRLz>kGP$TFsgXt6!vP=SnpeYnd(=9Lpy7Kfc4MGIw(7>NoS%4Dbt z(Ngo?WDNgBoU^wp`MhchtU58wT5CAgd1Av5XW)K|g;L2u>VZl1r7P6joW7!g5j_xB zb7!avv5MiLy;3H8K(L>G>^`G1XVqA$+Q|CY&^ED!&Nmk|3~g%W`N_Q2Pi}9SmT>l$ z+m)&Gv=ZX#;^(r|0&u>)|8h~W zm#KGPl18>dB-Ful^^MODky^f63&x0bW5i1n567=F@;YLel^08z`|R973G%`gxw}r= z3=m4q&ymB$&RgbCYN3vNI}{K)ub>-VC`@M~^#1mlRZLNZJKPZu+ zK6^+JC^EU*z0Rpx);hPVzhYx)u!E(Ep^PFe0-fK%Y54!S>5{71jyA9oFkBfAXUNKie zH;OJ_L5TOm3wS<{rz$T!0Hfs27bL2unPi2_g#wzX`X!&@@JfH&IedGLjajQpy6gD^ zkrSZ{Ev#sVS5sMIy>|4y(g)h*OtR+zRF#p3!D;}IU95+toO{o>Tr9oqCm$LR#wA~L z|71WGp{~TbPw7^SI_H*bRErrM|3_+FcG!ClrGlki64L}z_ zxp@vy7%(dk;7Ckw{y?DI4dwLgzTEwO^1X4D-KcY^uvjUb?BnTkD~%d`H`3D8sPgn* zD2t>abY33N4dgydhu^fCc}B3k&SgKzkWL;K?fm z1s@$zLDbi$UxwxG&>>Mauv_OmC_Hm;-%MQGmRj2DCB0#(AZ{qmRn&-y+gVY=9?h?M0n~3saNv83i-q}t&%TKci$sz zBbpb3`X>N;RKxf?61Z87u^`iJ$toyc&slPznBP7umxs<1#=`*qW~BG@ejIYD-rd&6 z{hGNcM#=|8%Jx)DZ%}UH9*Gqd+$(~Q=)>O#9+pAb?{KE6k*_n^%ChGw&}aRI4Mw z9iE-WK>T%WojJe{gVV${_of{M2S#E`gyM~2zIoR zz`dgXn7lvE+W5car+W5)0SL3d;V%Mz5%`P1Uj+VlMWEro#{a-c^oLLed=de#$MJtQ zuqFB@oe2C5h!z9>9~2INtsfEa`N+Qt{Xf%F5A*-I5B%?e<6#j06dD65|gmKMg(<(+^8r0r;y^ZpC_r+9Hli^v!Q!wS_|kVM14y|BbKfJAR)f4 z>F-ntawQ|O;;e5vtxa2Stj0V_(in(VM?N471HgyZ0bm6r?!^!$abRF|-z+>6#D1?Y zI9k&Va0h!<1Xz5wU-8D-9Ca{aG3=K?(SU4=%fGPktz70*CDRiH{O{s{W5X6 z>R9OqTg}bZ)+$&Lqb7`7!!~ zZsW04AiZ+#!SY-8=oVXUyy~%S^!Ndz@glnWq4ooOJSIB5rta2vITjy&v|c(ip1;}( z&!r;Wb;}FSk6ZDn_({g$Kd=JEAd}#HmldAJVw4Y3!{p-vUF+&fd~psmcWG_!rp@N@ zJ-ERAC-+KgVfDRZFaLCKDE1(kpT+YG8qby%+!$tGfj1n+F1)er~WP1PLgAq5z zZ`H6tmxiLfZPBpO*R+08q8h8gIzy5?UwL`{f&x6Jz<*NjAsVESO_S%vr4r#y@FU+; zXp|d%*w0v|1V0Bz4X--jRpRZd;WwiV8-8z+gIdE8Dw5 zdv`5wyPD^Ee3h_M{qY7D0@oK`gW{t14LaTch}>j@?*=^!9TrHTq+%th;xJg&ODI&N zOYwmn(JB8KM~^{OJ(49asL<2rU&*h%3S;*ePIP!w;h2Hz0U<|rn-%S?L`bQ|FN2-5Kfi#lGR-i zVMy+jH(E&61B`(Yvidh|ZC~Q$+V84S+W16E(o=$!-;gOd&!Ay9Aj!JH82qPl09ahQ z!2~9~?h%I>IFv7tO&!}bK{Q4|r{+Oz659^G7wh28yxoJL83Y=3P!NyyV`x`e?F&Nb z4`L)&_F(?bj01z0O^2>zj4hX1Hv-;-Wr$1IJ)D=|=OZ0xvy)?RM9nfkjJl`tw801O zFbd*E86;D`-+N5C!1S2k%}+@jV!pGw$cs{uy@T;7f4xo#^9y;p{((BvUsuo>*%Kzm zqkDX!rp(7JD{q3Kcg`~_vaO0Co^WIJe@PtKN;V`78+2QVShv%pU(J{g(j8Q{fZAS{ z1Hh&e{p8=XTOs?L=>3^h5E(^>j(XI*+4LwW95SHD5aM{&QV-9bu-Hj_-AUX@ZDgex z%BaP*sGN8oa$fZ<@Lu=r6He*Wqci_?%s68&b5+W|hmZ!2pi3g{i;JJ21t*x=D*mT-q@wikvJB3-*n zHcam}ibm|2HxXO#Htu$^a0V-bXUAZWgv`4Pj(67`ZC>)qwZ?dnJ8ar-xonI{mY6jWyc)qiV)Qp5sk>X$dWUx=@il?Sz^oWF z2LS*it!#u`*=gqGHv431-mfC`w;(#V{`_4v@AyC*z}1Tn<4^IgTib!6H?Gln=jP=h zgX8UbaY4^1MmAD104#}0UxmRH)d7Ny#<*9ruMPu8?t&!`0=WTj8<-nX8(Q&t^A(Nn z2awh$7jkUWzIIf~#A!vTmE^N62P~RLBy^~A9bNFQdjYMl1#&Q;>#)Omo zS{z}>zJ5c{npP`bs2~~!Tv3-bbe3IaWKwK@I{q3{JL2={gCb|HD`sFo6Xe+8&m{$C zu_4O$%zHW)%P#DxrVPzYgvHHMJwV)7@O0l4GB|Yrz?DUHtgM=HaRc&*N+p~KGsnak zcIz%N7@tR`jYnhEuclkPW-mhor2;Xkd{trk@6o2evt3tkenYH99)sVkpk_E$>iUhuqQzWPn(!(& z;Lr`A7Ul$c`DoDUA6C7I_xDlcYsLYX3X6q@FZ;a?{9h^cMCmO{9H29}9!#A+2mK&# z<<~iOI-LMk(b#7)#^Zomsvj@Vdtbayn`O9zm~c4+MU4~z9+C^EaQ>sTIpfyINs~fp zTW_4M?sl)4lR7*HLk0nNz|*yJZ1&wFgRIuTwqjU&;5-Cb_0&!Eo%!{xKMBOvGgHhV z4aG0TQ$|oGiv}+0cXxQGvQosDBcJNfiuBFQDq{;iGA?p?;p_|1z5W0v;8fQ&m1ktX#@r0=hZeS)tgVDI<2?Bi4j?)SN+ZzmXeH&;4<`sri(|znf1<+ zW(CEP&eWO(VFPc%#%qcyP9gAaIp-ZnGFpp!of=i!D3WMZ6({5^bxti@-IhEphE0^b zL;@Sby+=Q!@`*m%#E!#)RSEwM0-wn18hL1=th4mP_%0fr4RFqe9vrdO(4a_#vUTa* zbFSCD4-h~lN5@g*@hDbJPBi%4;6+&-h{nR~lLnT|xb)Q>DvL0(hyA%)3_xEF=d>*# z%Kz461D}nrE<8T@uI5js$JNom*#8ZG5%@n4fyReg4haActH3F21>T8(*W>se6UYOi zAIIkiz^>ar>Dxc(6QBk8=lhL^@&DuR=YW+HCMr%Edlxn(z3X0Bjs zZ&Oc!8_{eCUn{BbobFTd&8H7&1&z24M7@bQrZ>IEdKQL8UigHf`a|3S7;fIo&g1)8 zOj7&BNxYx%-_VQuNP=_sKlT58t$5o&3(0?h1_7X;nNV$TUQl4SMD$7!?qzO+?0gnf zE3cvu=-m}9=neq9duUQo&e(`P=rX5$J6+#tQd>%e@>&wR4t+1X0>35zm&xx2ZW6dF zEu>2JUz44^q{=^xw6*PkGdtf=YbtHEWn90#9lMsQghB$`B3?)-XDc`EYCmGz3j z*3UA>&C=o{XN#hJsJ!<(LYP)`v0|+drE_SlmNr0>M`s)S#-cGktLxWvGjPw*)SfYO z+43l}Hu+_P6>txS+K9r<4R@GQ3Ms05C-D=nP z_x!izpw)03d^EHLF(^^Mu*%8vwP3bI_0YJKkF~$x@~iu(`eU;=`tmnV@k93#l^XG) zT64p+ie|v*sZXhWB;3gHuDN9UBvT+Ot#2_j7z2%=h)Zl=H@>rZ^Mb=UGYEwflrN{z zP-gKGPoENsA3KAhkD;hlosMbSE@UN+R%o)xyDmM_K$abJhkIP4#2Cmqr!eOxlK%9^ zivW{x*$}0k1-zBq9|rWNQIvtbin}H77hnwNj@Q>Pb4WGW8paAa;iI#T<9-wo70x1D z?PyD$oU%#$w-^901*t&^8+kke^&Pvs!;$$ryjrC~e|K(tDphV(Z9vj9aL%XE|HdHt zVVHr++P=b~q>HQ0U#30;Z@lT@(iOrtFrpyYT2(=ektPMkVB#iZyqgYA7(%%)kHr!e zB9go37(crU3025lGu{U^1B3w|!Kwi13_;ZwS*FB%I%~)pYpsc?3epko>#fr^7VRHK zBC`Vbl3p$^zC4RYPhVH94hqWHsKwT)6>#A^3^OPK*9BiaQZmL6%PBqxA06r{eQqd@ z{-RxZGQ`Q}xsvNlm_A?({?qa7LY)N?RKHX9`~Guyu4@0MQ;eE={g4u(uM-Ti8r|bC z0~B3Qz<5}Qh{|IjUKp|o>jGRIp-$J0>~Ul#>o`hGf-Qiq*1b0V3yc8{Q9dN@94>It zu=W~?%D_lPhr?{0tk`Gmm3)md$&W-Jp_we~<>|Oho3WwQ)(piqx>8m#N{Zt@*|iFv zS_lDDL2sY+(P zAcuiiLw1EW76E`q)34ZlYHM4QQ4`yJ!Yk1n!+2;;RT_RdPVSyD#Ed504S_I7ohMe2 zoQO1bd!nTE!-i?im63aUNP+3(U|{1+^-T7gj->p;a<~ieA|QP>FGA4ztn6r&+zqly zs#~MCFIYAWTo;N`@)9~*!?eGrzczDF#jAxxG=weq3}2rs(rHspIrjTxp2GY5qx^4< zFD?~cH*D)MeEjlB=`+A|2)ym2eG!~Wz~!U4)9cwj|1$J^hAZvv>^vnkKO4&SAfXcu z+Wf=eOtTs`IExW%%H$5KI!89Vcue7IBinMjr6uKuIYLVWGPN|SmdruP!)ya#lO84Fd1gR~^j@utV}z%ymCxX#IE|E-S?oc^a?)&f-KxyULJW7m9fT zoNCb$UxPKHupr+)HYrde=Kkx!giZSPCt3DMYzD#}I)}>c=@02T<3E;zM<$#{4Dte) z+IQKiA%ZM@)MsDUmvQl{zO%RTex+bN^jX1(9E?HwGsk)(i4nN{SPY4A{!lnI({c11 zi9T`@pmI(DbAJ^v3h0&C=s=tx)TN zrC~!S*xS4vMC2T`|11dqB`_6?!6^Ql_;0dFDdJqAQv7Z-pFEN&J`r}>!$t126y(od ztAa4lO*E9>rddIzI)Eo;ZBXj1Z$TXTs!+W;NdcWGcZ%U6S!LH_MTQnD_tA(~^9>|V zSnd(#86F!Eo~A~v+H7kZ*xYGn-!6)gXcxSF9g0;92t~#_+mX$%<4#jz8>P&!CjH&H z{ZHRdYW0@q1*PmW*F*Zeha=X<+OdnHCfS+%5u7}LLtAQTZeBCdCx8VEKy**Op+=2bLUem zZOR;j7vOS06!gsdmC|b}TH=dAvJp0qwr#`QRwW7-P{Qc-9}K@O9j=coO==1^CY={x zNSBMqt~>V;gGZ*xhjM_1D;dJ{#tgR>uG)Ee`91!0GTE0Rf2LP*fyM99i10+f{p`?T zvcrfY@jPcmV!k-}rc@bRNK#gukg3w15WCFupIV@(nR6!X4!nWk*iT6%m9A-e;bJZl ztdn~o!ukob(k?x77#cQiWO2bg8%;5MzQ0yyCjv6xsE(*VBr;@oG~_aw8$iNC@$A=4 z9S7T*2-+ESp9Y27ODdM{9h!VGac@4f@3z5sT5c!$HX`OllLRmuJNr^Bd8$})i|;c` ztjRu2_W2C%XE&yH2TK|k#g8P27D+b7NSbqQ<#}!SNe6OQ5qv_}UC|Q@z)%q(5dCrS zOHf*XW1{!RV8|3%>cGX$EzB^R{*|6z^~sL2j^;Q%j_hhn%0 ze1ho5E)NZm6-1K(FHq3=SCtISfq7 z{u8%7QL6xZwP>l{wbwO6kU^nqJL^C1Vl>{S7L2vid`?0Y?jBFhS#o){8CZx@^<+jT zY2OFe;Brhkv_$6q!eX~6O~Xypz;K#Y;`uAqRQG_z0JWa{RD+IMrK^Zoj8_ru)FE5F zsq8#c(|o(Mr}lDPmpMlUb%gqvhFNgO_Ll7zIb`tj`NMV;Jx`1#mtUgYXgI!tMP_^Q zYs-y9N8mXQ|ANDp9udh!Ds2q)w(B(_IZq<)DMV+T`I4v1mpv<5-`2l7)i0>st4uFN z5uN1w93uhp+yV>&h)%mJ5uQPtZI0o=uxVkBz5Vf&xru@e8qcBLyM#l6j3f2i2NjN( zgqsLw>5$=_Q>%}Rj^R`}*{K^H0UIZ3XleU_64LxoQiJ!=sUqYV*~i`aXzd&{2JT*k zQ)UN;JuvIyQfSOw%I(9vs%S!?n?6)dW;=B1fYngwc|Nh=4=o95Hv%NxFUyPjvuTL3 zC}^mxULPt`hibu(#XO1jZ5L0m8y-J(|Adn6@e_?O{oGW`>@=SZbMziTlm%YJ-pco@)7w1z@+&0x5c)E+ z8}n!6o$@}(;$&7sJIZYoU8Pm$!9|2^SvPw|crP4Y{79%8XxgC480muB6BXg(?{VA9 zTFbdCiMr)j8TX8WwCbGmyG5%QH05+wk=)}%X+KTBOdLeRbGK5a?NAe3*>Bv8KE?IN ztJ)^#nwmCJ7=d~f89Kkn`gx>eaNdc9LYc-#jY=HvBfVc5itzByuWf;7t(hXdFNzTs zZ$~gW)*!^YKKnQ;QQ3T;kIE@(xCKTNa-2f5NW0L>Y`e{}XMXdK>2t z)O>#_vU?oe+msdp4`lyYl&K$;P1oD`<1Kq*oyvZ9eh0=I-6N6YEmP%TW;w{XJhPZ* zBS$}qcS@h{oce|vm+M}k$&kG@X`B*S>-{M{%*U;BD<3O5FS++fxg zd9MdwVzG2|dXXAMPsd(t6QxH+oFOqH3#Xj!4Slfu>=Wg8ex$a1&i}DBuZC68d6U_V z7@ij{(mJ^;My5BC)_B>PKvTrs08-BAobMytxf#ExEM=$}`hD&Mp@D9rhS+9e;}PoA zY>1!szPTju==_ACii*y!HPP(FGO4=@xHlLTr&7Gjqssl{?0$k-=e_o4@-1jdQv?*@ zXclE_hdejK^Q5GO!&}paB5db&O?oaimhlp*(pfK=tE>^lPqBVUdvz1zVbu&v?h)Y+ z6KQ47b9C|Lw+dcqRPuJ8qffbnh#eITR1hq(PjHg*d*QCE^=Oc8QJVKv(T#hGV^}uM z>>*i=4z{FEr7=q-b$CZ6bSnc0aN7bDKJmqwX*<5TP3o8Ib#fB%88{egff>+j9dX6mt}YH?WqL7 z;-P;YXvxJ#)SK>Y`e9i0t@|F!8wfd?8N_Te0S^l=7PM8yccyD%Rs)C(8aeIAlp4Li zoL`p`#(%2L@p%`oj52?T;uiBoCvDJ$*X&?a)HPGr{}?CHDnYQ3tXZs&b#?pb)k+2F zHJ$@R^E#)@ExP4c+*`D@DIW}GKsona2`JgY!d6Ygsnck+$18A-c%=*7tT}~HUBL(3 zEF1(JE60r2+^Oq_drG+mUt&`uM#b_B-7BpD$}-U4>2U|qV84(+Wdt5+5B17;_DlbQ zpW)0NC{1wlRYuMd)8nQyqXx^=bPdHTl@w8S}#vMZ&Fnra0WWhlFf5Tq{ z{vz-ffxig+Mc^+2AOxEKYyAIk+7$4Aqrj$`2>28RUZ4P42}A^ZKGODo&>er!7!T_K z9{ElGplkl1;eh`2f6CYVgD&`kzW#%jd01cYs4wLY`rr>*0O-&7r@qKP=#@WcW}yG# zpZxxR&=Y^qWI+GMKlz>hpu7K|v4MW&fAU-WLD&C5BR;Hu5C;4XI)Bhb|Da_)#pGcL zFGgKB_8XYTQgguCA+ljn$>_}AHeZZ;_G`Ko z=flF$0w-J(17WK~0fb+&iF(sT&Jrm!Z7DlO+n$|V)|uZ+gNc&9@SIpyv&g^=KZfRf zQ6zg`M*d1u6Z@!zZM$3<5mBs6#I0d?18O%z8p?%f2${w`A)~r|`jMhBIS9SAkGGlc znr}G|&3;5VX`NVaxAzmrnd46I7QEfpohFRs_T+4mn26n#@I+G(Wi1p*BA6VSLb-qttBn zn`raJ^CNev%^fRTWTUk@bspF~1juxjJ~=qvk+td@KK$5qryf+xSen-Q9>-eCxBR0n zpJIg`@|zhlG8GT{Nd~D(B$LU~E8h zP~&XEpebEcb1S3kGv>FVmzTfL-lCy3}0PGZd^TvmP zxGa}M_GWd|l5q9Coe6MH+BC_zw3!zcAt+s@0ybJ0|}oUKpR2-u`Lf+%#K7%yi9zU^!?Xr5w{Q?YvZivvuU&w6Sj@94inx zy!CyEONpAga5r?Ypk%JcgGsQl7Mz`bj;3dR$%Kt2Gl4I_T^~)5J?O>R+EEzSGHfhWagAw@r{2KaWz2r&IHa z$PdBUEYt?bLMv_Cyj8ot%$~{Fe!^I)?IPif|LswnI*BOPXC>$pxz}_)bS!Tfj`~wS z@!%zOe}_^Y8s+et-(X_GaaOwOcn#a`U4s4Xb!dTfZUt=olnnjy5TcgW^~1F8lSc^}*Kw+#LQ{Fo(HPaL$v4L(3u{4D+|Ct$>KN_ zu<*VzYBoWf;W$#CkP%0Bq3nzwsYO(daI>}bnmF8$fVLclPdhvJoyNxO&KFN>o zh{-)vjJ*5BaLu#{Q-&}Fc8XI{n~~4H*q%Q%U!#WSVaf2G&-Kcot%8y@iGccqz~oCh zs9?7?KZJWKJ8`g=6@&3nM&)qqZ{XIHS8Sj^#)1F zI(Q`$EoJn8i8y*eCq>6!F-`OS7h1|(M6M4=149LgRgRYdvZ2&_VSW9uHWVI~UQl5O zF*`E!L=*wOJ0<<`#kwDsf>BV3gUd|ptC|VFUQRmZmt5^U9~)HE4A1q2qV&XVVT%yn z<__6{vBxxWKWcNGI^JVyxGt(rl?c!&ch< zt+1W}cBiP#p`vlU%(cVsCuus0|HVrYzz{N$w{0+;cw{b&xK8A_vn#w+16quX9W);Q zNT74^Cw&h62|d3e1{jUg>HGrO01qhH+_Uup#A>6>bcS5mCK@P2wtrVh8G9Qr zNWKR1#>DY3+X2@u`_~XpPSlJ7=`z1ryz-*{UvSc?*zj zMP2$8{94h?yQ2j%u3cz6T>TM#;3)RP49YsQa)p0Ht+zkr>I&Z~g+`W6{cg>!ogXz=Xv<-%u*Tk3-DvxGyzryIF!#k`m1Bzb zkF4v1{c22q6jL<+Pq_uDM3*6yDJGti%6!d*_-(~ZkK7}<(n_G@V91xZT#x4rm?@>i zQQpCZKVW>?yBuxrye!D?exSm_`JD}y`;Ea%^bPHpE$IBzkzHMQXOSoVr&v!UC1Qe3 z>4;u*7}p;!T3c665BVMxm}H)Q$?H_?pRJnN&GqI`gOZ~^eM|R#$Ij%3)kj0!{byl& zpIsfhqk7%2b>>cyO43+&HDY6uv_AX-sJW1A07&= z;Go;@2S0iI?9%y~z9axY+3}S^2$Wn{Ge>USBg7I3)@y~4aZM}%uoo>dRt>GreBN9OMat%*OG5at8-Dz5f}N|{k$7*i&^=F z=ri0Z?JfkQ<6k666-93Va@pRS{Dad(xUY#2QE>9a9eNH5Sh97_M^mdAOEg0`tIu6jX1(7ttPGUJFER)4s^oMSvl<{W+dQ-> z9l8ijtj&y3*9uie3{}Y4;)zE1n4^l49b}+LU#wIf{fomUeR6mr5rumyn-X{FbbUrf z!%PMscbZ$nt6OZgqbCLjwXn{%rIPzpcdv`R-)X;yX-2M6);TL{spLEBW;jcJP$_`* zHI<)e>*DA1@>;W+*eMA`7Z?YO$LOEB>X$XB1Sz_nWgB^a4}eBc`~0$gqILMwJ19u~ z`0wd21AiI#ZwA_dZFi7B1AvWWh$sTj8lH&^#0Tt&KS@9xZ!wDLHAGWO`)$k923Psx!Aface{D#V zB7ed|k=Eq}SB9EBO3Ft`a9asWh3w2wk3ywe?B3_qn^xyLjK`Xr zr(DEsl>~_r;=mwc`50@Rc+*FTN<0ex9OPG(I4!Y{w8NOu`NFw#kRVVeka1IH6Y4PP z7rGd3-1RRl{&1O;VIQ;|NB1hfz3~&jb`p#9%s9!_<%7@^S~(hf3w?>WJg0Nn&pXmq zO^tIX$j1EF6$1eJ@8aF?R_d)(+^^IXZw${p!mVT+s99eu2lX*WO_z4RxFEacGoD45 z?+}THB4~U0FvCF*zO!8E>Jv1XXq$XF6z%?^mCM7OSuwpMH`iaA$_)NKbEbk5jSC3~ z-mS@8QB;a#-#wuUT95H!Kjp8hVC{Mo5$0j7)hgPN3!Cr0dJFXB&)^!o_DuqSE~32+GoZjP6FZNsQ*N!-9e zfu6+E7AAvFSn$Ox?2qKTY@0rAzfyYpl%iIop@xUEG%)lDX^w_YN)LaSc^HdSl3s#D z%!Qu!ZthpTpXRPAx=d|B%9g2k(*w@l6eg~5^Sss#X{Z-h=v)2Eaf%Oldu9g)?3A83 zdFp(2PyTt15w!j#^1%${W}R(>JHe|EE2tUL>m{1NME%ZD zVe!UyIuoflW)(8mBs|7MGEMAJUU57^g}hAysNAP2@-5x9-z@Ce;=sB3Kd1ISyIl?- z2TUYb{%evjV2cez0^lytEaWTG;A6H%w)=qS(Xf=8K;SzT&xK_otP4L;A1NQtuSbr2 z;5E@qrG+W$W~Zj_R}en=Cm7lyen?SP^?Kl-qwGoViLzS{e9-{oJ1N`5p9>Cew=P4}A5Usw#fcE&nZs45& zC76)``{Qt4b$Bv{1w&#fg+?h*xW@?9cj{W6dMYbGmc^uMiu+7)9=S^9I+jew@m1zj924I5XM1Yfq;k)zWCS`b z8T)5Mirc6GC(G^?DOF-&R_dMtcjxQvXh z(q-C(2TzT}zK$`#LBleC7Z~jGa3cgi#s8Yg4#4^02wKaO83H_jq>sL2A>zE7G3`j$ z{{xA|XbU&iD4<6n3H0E2Fm4~8C@9K6X^8Y&gQ~WQa?d_pl-I3(r`y!$cF~VerD&DG zLu5m84xZKsA0$*nmxP!x7uxE%>WJZtEa7vL8wxMKp1hL2-X&iFiW=gCUfJOB(Ojpv zSn*mok9VOO*-P3MSpwuMUAcowdR3Xax&q#Wyq3lSG6%6QaMBD^zZ7OG)ec`3`F%XM zAyWXTjcfuQS)!bmZZnckzoC|FL*68R>1yf{PXESYW>L?HEv3)MIP_;w$jm^x-;P_s za$c5==31P(H(F zCGBLW>pMBue0Rl>8f~%D=+aY~uftH(-ZPuDj((N*za-gLajp;a8VHtwSOZE+M0C~` zRM?(}`cw9!i|nR_k82cnZkfGa+>(q9{BD4xA)C;!;U#Zi&c^Ut-cY#9t4v0fhP?D` z9V~r=5~Jz~@cdZ=oq70YdR!XzMX5?}RkXg6b4eGajiSCK^Q><^$U3J0K^hvOzVj`n zD_5FLF6d1^GUzm38Zj;ymH3dOb|t4|>tZiKlHL_1`{p>^L)89J62LNR5GFtOYOvK5Q_Ka1^k8xEr zWcG(*J#Ki~^107Wrt{ihIl&w(Qn15u;&Q>fB~2G$@`jOH+RD6PjKvHIP#R#Ie*Ufu z6#dZ%XKwBr9rvw6bWDP89(E<_*CQ4yVn{}QpGTZBA8MK+$UhEap!ku^^%nZmxRdF? z!}mtG))68oHe}O|6z1>292Dem8#-h^JfqKvDz$yWhbdcyEy2J1fIyRq0Jg`Sx(u8T z-gY^xhmJ`VJhM)n_(AOd2{Gkix$wS`1uzl-RB#C3A2y5oLX-OIzFIHGonl{xa~Ffxis=W#BIZ|GzQN0r_x41MU{T0s#8JdIfNZ`k(p! znfLUWdpa%<7MuWhI{()J)IR;&-^!@)jhrVp1yid zCkNJ6{(ZmpJw5fFK56xU6jb<58Dw*afQd~?_2znEeKXT2urZ;>_*tmXU)GVQ_s%M zDV$4Qz@?U{#IM|qL7y)rQ}a)@AXo_?tfuehzk+4hK2A1Guh;}saZfk*M^sZh%X;2v zxfTBWaQ9EPAXteYtoH94un$M_LgatcUH8y9y>&sPyZB)#)V-7XrS9qA4(Xq4L9oCL zzeFW1wyh<4gJ%^CPr6*6>eEG*t6FuC*F03lu#tlM-TEh65UgZSyr|o|+|RfYu!b%V zw&a*Du^TYvv2-vIoB`E>q|{l5Jb$tU!Ab#PEhy1&48Shi7hK}BjVwq$4u8Le^I0f! zH0w7Fqlkp+)}L%au)y9Ga!MW%l;f{ULhCBzMxuKjdn5iqxk1`E0Av$gmHNv{XZEnBVY z1!u{BvIW7)0b#|@FfsZ`ix3}FuKg@!5{nw(cz{bft25&pAL+y(wf6i^wjfyGtz^1v z3V1Y)>Yd9x-JuClW-H<0zOa{)H5obDH=C6YPJREAEeKW~C|>02-xL}!L*Vw$wibT2 z#Srj6@ZI}F?E8rnol@3bvVG!Dwjfv_7rFr0r$H)&WvB5=_DK)1X|CU4d_LXrzM^uT zrw&_fH~BXACtDD#0ua_`7hbii#H|qHcwy`L{HJ9t$Juc5$mw54VOOh59x{;p$<{5_ z-{W5f{xa~Ffxis=W#BIZ|1UBC9)AZW92(qWy=A}`cp?Y>v_TaOpnzP3lLOCpx(2Yl z{cpVo*na-E&I)Yr{#(z4%m=u;9}zO2{Z4m+%vT5LrjNxuDTl&`T`sGXssUqO{)m~d zugn5Uuu!(kRyQ|jfYAW(iUz#|omWAPY@pPE7AOFPy$I17jorZ-n|FqWN5}-Kn3__$ zo%D>Lsn>0ZwvKbPchl4BGX6kaumE@e&2SsxjM?1C6PE))1LlL`leeMidIx_%WpNR_W*?>1x1S#zIT? zbL!HU#iP+h7mp z6=SzyOrI$^;GR1ocQKnKcQ0Ze-5c*yQb0{&gAr1r*A077olk1Mr!H zep9-_#U>>aPAMdWZST3RLxC1qpZJwd+-GP-z8z;z3nD1Y4o*{Ae%W%>e7%-4s~Nk5Ek1RF(*X+jl(NHYvSr;! zte=S*nOa{1VU7R!jH=pPnXT>`UJ@Fj-ckfcW|f$0CSSG$Vq*v4iOP#l5<*!g17|DZ zMpMZ_;CvsR+#^IVbJJy;+Tuh~D%sMF9-{Je9@8^%x9>yV2>#6fntOuj3#vO#LFfPS zZFRS+_+2>DOj$T{AujiHKkWUz0|)bOP%sFEk8H9Rez}xCjPG6th1((t1#^!AEW7?K z_1_}oyCPl$pGb^k(8T6j<*U7yr^9Nkqr))%YV2pY%sNR z*S29ea5VYBQGR8Ei=f4RW$fW_j63|OcWDglN;3OG5JTYXGGVM5aGr_iYu?^%IN@1n zl`Db%aUK0%SQm#PEqAy_Xvm7wXUd$qh zaU@q#H(y!pz7v+qN8zk5;ZdP-?yNCv_LfwAk0(rZFeYZ)fri0~amH4YRUP4r}66s-A*J1AH|lD4dTOCYbvK zNSUJ#cHIT+WBo-*?7*V0tdd`06FaV>Sl?`2)od!uC=+J?aui>)2f+CHhdM#<0V&QK z$un-$8S>qDt;pTNfP)8%gD&4;CT9@RstB(fLP@ZcEhOV+M0YX#lXJ~4suo|QmNg%j zhX2DoQ{1!kSd*Qts^fE>hL_)hMysuaMzLc_^m-TI$yYAHE-WABTE425y;)^0D|pL; zZU--2tw+>d<^3HY_-TEc%vLlS-Lb!{_bb97EZt#mn_bGD{`XVG*+uGH_IjB32Y%CKiEja4tSu|zm@95*-R zru~+P21J~>fT;R$mpzrkQ)d05%bTW2J%6vYvm`i6^$}RBbi=*XSBbSgC;<=i*BD9NNMP9X0V( z^^MS_j>|y+1mo5D>Q|_L%0VE9!@D#m# zx3Qsd+aqaelEdfVbSuc!Smk|l_d@T#>CI8Y&R8uslu&sv6`-1-ETa&j{kdi8TFKG_Q-HJC>oAkM|| z_`vzz1~|R|5@59oEG3gQ6lB#ErwoP&61amYfkjU8Mf*Ne1st)qOQw559|tW$pMQA# zgs3k#^FoXigT4M0x{Ii>^iHzOXB-D)ks7{SBLTFlK>C8yVj{)GUVyZCR{AqLOuC5= z*Y6}-ycz%DzD-r6#gek(%7+TG8|4?>lSJeC=Fga9>3OYK>8%r|;EpKaU_(Qj7eBYC zteje}&`loX*9iK4wIwb>+K%=*wdo|KXWhD@hV@Y8gzIYj&0ys$@VYSjtl{D{rnq=l zFQM2DINw|Qkl{FtyU9nocBY(}!md#3$ir4bXi=bHvZa*6mR8dt6AtPnIok=|dCCK_16R&%h~pioTMGPm4A zNEi3Ny;n)47Ukq7kI60gpb`pZId45$oXhM1)w%i;gj5nEo_0QOoWta0r|ct?gK@2q zA2AHQUD|NVB^BH3b*!8Ys3}=Kj@oS2@a&U$LoKq!L0ch;g}JF*lkw5N_fB7S^DX|v zef&-czj#{Y=abjj=%=>IJC5+5*!Tj=7IL7b2Kf)@8~blv8hFpY_4oJmyY>Hf_q##*3-0u<_jFN6|H0jL z(D?kn@zH?azkllv_w?y|IzOcU;SMk7o(>P`kGQ*Tc~2j?r*i^Juz%Z6zo*~a(~W?Y zuz!aiyr(lm`aACIC;Us#lfAGdP@#>^*#IA-pSh{%R-pzg=}8Wp zu(@n!Y)|ih5c9NCG7HK&qs(7sZyDgD)uQ4yC;A`hj6>(X=1tc%IWT250Dlafz~wz~ zZv>Y>MIIqt6K#f9y7Ne(+6Xq72U$3rrS92yG*m@^Ex>>7&*SGD4a#iCJ5b=L=Vc($ z7G^bwIfi;{HX{X62BSn(&6YLzj{jGjwHXdrMNtJA9SsNOIiTc~ ze|1Bex3RGPjnkyAan6z%U8|Gf_VHt8O1&By99)QodLh_o0mSGP)U0EvCW0~}dbKvS zG*6H!|C!6CRt6%6Z*ZrWklb`iisgp*&YdgRBJhx359_k^ z5Fxvj6Q-7Vmu(_eNmc!Ft)LV^-L5vZWK;n_s0x0jHIN&S4UjpCg`;ma4o}gggYt@x z%S$Ma1u=^YzeOHnPUqbGblUAJ0MnZVp*L!0cMi2)<5Pb1BXhbAgb^ZSa|L}- z!d!eqRWdaUZb`u2=OzK_?W8H66}jXDl3G@Z^%!^Gz=yZiAjg87mn~6 z9Q)EKj5Yc-K*U(9FvdwE?E9WkR$;CMZ$+GW7yz?iVgs1UJCK3{=L9o@=9Nc0gCZp-B99{v3C_3>xe z)@HWB)t7_=BJG0IZh7!Quc~i*rKTW8rwoNOZsgA$d^2)-{RVfENd@Wh*l?Op(Aan5 z)OS=D0gvqxI6Obk_Iu7C+6C5r3w1<;sT7W+{-6G5fMyGA`s>I2r|pyp-yRP)u$r8|P!(DF zD0b`vSaYdSx6ux~+*fJ=kSsZX$2ab_!x+Rpdd@;1mL3{(7U4Bu`2<`lfGhkUqo4bGqEl*5I$9o@I*n(nGmT7+ zNbu!T4fJM?=Cpm;mdFYK)4L4(vVmlvlM9t8@%`U?$^NE6lT);MewSEx9RgJOavW zacMVSd+e$4ZHHDIq(kdOW+6{}(AC4szhzfLgcAy}@ zM)dh+aATN3{gqhYB1eIYZ`{}p=-GUSysbqG?1UxGs+KN>`^Bbx$a3Bpa-?BpA#IVa zm2a*?m2WVHo`6dv8_-QaQF|=&K+Kg*ck^hq*eEKoCA!LptGLTj6>vg#Hub>eZZPk|KKz^YhN`{;W@VwE~uFrQnS89r8@|jC>!Zy;joy^!-cj z4N+1q#cHKY)0#0(W>Rpd*pNImAjL;{3Q?h@Ayzp{Qto;jZasMFTv$dHoW$GhLI8jg z@^v_4QYOYz`2%Gd>93FEko4eve#?|f?sU3a+Ln+@DcXXK(m`ICAPT-mm@A&bfeARU zx_raZ`Ch9E9b?$$*n4KKo9XSQ$~Dlf5>on;LxOyU0@~R%b+aboBVT~I0jejulK$dD@5e4DNz49 zbhjY+4Ci#RjA1S)An_Lb-~b4epbEf7M;ymIBgL0_i-m9pxb4|)O70y=wSTHB|f3EW59mY%Hf$Y)xo^rWf0SqCG#_ui&{7E5`LFTM#U2P`m_6 zygsON9WePKw{AkisSvO@yU!WRxor1wmSAwWe0usPTM#T75Z0j-A!DZ{(-d2Wepnf4 zUc*>u@5fmLoF10_|f?&~suzL8U^yc{F-e-Pz>}EhDg#eA$Ms@fs*?Q`MD9J=3--|!lf?&~u zun6QWOaTb5S^Wx}Oncf$bcTKx;f@Hix@PnfIJd~lvHZyv1nV&f%i&a;BrNYe=g9+j zXiSkD+CA-!*xja5N?-$N={P4Y_D{ATSPUR6XKs@wlrz~mV;Gj>$|{^}VT6Dq)AxmY z?+pS~4oWnA{$vY+1s+=xxC)(;wt*{3qF<>0Hs7PC;-%Q|TEi!?Q>fQunnx$)PqrXf zOrUrLC<1+A>_13|2~*Mu4<>Ja_O76c1C%;S?U{p1+YktBphb8yyw!Q82M!V~f9NF6Q~RGv1id+ncW zL9oEvJ4@M-TfT~8V_IDG6f8qHoINZvm>%Y>iSeJWaS33%-6(`+u?p!Qud6#nTDy7fv6p7}NI(b{j5OxTw+XzG31>?CE;PLS-x3 z^Cw#nEKU$s*A)?#^Xje}(}g2~uczYR^dXj-UOCF!ctnNcl7)4PKiPs{f#=X1gk{5M z;j_IQDiJATtd`61f9hmmN#Xj+!w3ztEVTc@pKL*}o`T}#igW7M^Ffxv|1`?yf#kdS zz~f=HEGBIW_FZSobv?cBf3kIp_4oLffxis=W#BIZe;N48!2gR3^!(HQ$Nnez;hrvX zZ~VXTo{n;Fyx;DgKKU>G;qa5r$yv%Y^rrc5l7z+yn_@UAue6eoBD;Piva9^I=5W|j z2T}$o0dfSAg^>s*ISWCaL8^CJX2q^*DScll-=Nxcsuej`adZVW0!~9NJKel$8e4n= z&g1(`n$X?aMDNBEy4P+&$TR|^@a5s%TKldRT4wj z?gkEk3}ii7jRv|IXBtBw0Sxdx%!+=36g`!ZYigOQzFr5HP#*>OR&GpD$43)q+#FIp zO@`2&QtiA2u>oi`4DF zR0xFL#8GxzOPDps9A$dwg!xRilqiDt`hemy!ruvJY^ko#VC_q%yq>)_cswm_mzIUeoEDAGE8Oyuriw~ zNeFWJq-7x)`+066IBA1L>^!NR{(5rbKfxhN`el4dz@Sz3#mqN z*6O?I4?mP{QOKp{SqzO#=1r2vXh_4tvp?DfCeM3tuwJ$*#0}tlKzfOW0jAdoGBEY1 zec^4T6+Xk4x|<{0u@C0DtmQwXzGxwTP>A&jQ^VZ{q?y`9(koH#d=?gDfIQ5?#?1Hgg%od_cop;k8 z^n7m1G4i9UZzX$?s`7w<({7p-jIOuO4z56XkkHM#UH>vk2 z1mqE{!vnj<-8mZxE86GNHsPnXYKN`uq`#uQ$56hd{L-8nVFITV5m-QhWX9KtJDO9- zDC6KHX_yx|KU18daGqvH1i^-qef1?=B4EB$*)qR!3c+GUBU+k~Gn0WIBM?wxNCUcA z`v`Od?#>bx@|dajNFXGQZp|ZjcPmZ|hXg6wC!^n~xZ9>h6c@)v9c=U`B=<%bhK6wA zGugRG#ax~Q8Qb(8tQNL~U^$i$ku+v#jfw#}_(N|j>@cQs9>;#9>=Uy8iR5C?vAha4 z77lqv6v!J&CEe8ziQ=-qn9Fi&<~55)$Al=woUBGK1e_&Ih?Po#jY>d_7A5$$G*Fr> z*M2&M^GA}jX{9SYxnkmVw?^QQL@;NN1*FK7N5VZ489qYHBU%?O*^%|7|0b*&1~w{0 z06qaIUdc<8*=is#I4P3^A-T5}$6D6p4=S8QQ2Hx-dvIa235bJ@?nCI6i1%aeQd%Ai z!W;@>p;q>I^8LvJIO2Rp9HmzTa#;<-0JC3}k;jG^Y|fw6)0ox@+;&I=d^^~4K%1ij zkZ)}RC?WyPJyJ|W>n|}pFJ3%ApU|q+oVf0|w(@gpMA(esHH9$s&z0+rra?x(X1wp77Q?xZ$bELp7#oAzacKb(KkX^JtdAE6)G` zN<76R#27v)Ol#sQU(`2^Q#8y36y-z!pY!p(mOw?egDq_|8CS85^(^fQGFo#S#a-FLB~LJ$q-K4CMr_( z2ER4#<4b%$1eCQOwzu@wL+A}Fa4Ks=C2*b}-4X4sDN2pWt;~z-mV9wNwic-HIb{G4 zY8R~4O-Qk~i`gosil#5fsLUh|r~$2u{40MM_{+dw2L3Yemx2Eq8R-3|{STR;1&m}Y z@J9~(-L20DEkgabZU$+u-(8;oe&;~fZ%GYc<0srHSTY4Mz9jaDUrN%Wz}o=M zmbW$BZAfMF8tkzQ06_0;=crCW@xqpGo91zFQt3WkfK7>rS$JkvOmC0({*jkNkjPox z0o$OzQ2-$&vA`T1a0hOH>(zq2Zs3P$dO=;SiSOv{ zY^R+18gBC;Il=q!yQTiBVn7s-I2~Q{hf4!UCHe;?6+hZ&kr@)o-BpwB0ujDi-@$-l zG8JoJ{GjW+{^m#+frE1o<&`q>aLtpwTJS`|-rizx{cI3YRXPJXZv=|X`%&IHe>Tc` zTq;Yp!9ZYOQ4xB@^8>HF`Kpgc*Q}AJ7p2AYlJVIV+8e|<4>ppiTZT)|_>6icU;3L! z?kh^Ow$-Ny=9-Ln3aGk&$SvyJa^rtSrWWQYD2DrK^%2;A;sVG}hF*iH+E#HoW>S3f zs^*zN7hxF6W7LyYzCq2dC&ggyXR8BLYpCXbHeE}NSmY`sj;=nQ7B+K(1zj8u2gMgC z|25t4u7PzIh|tQ^4mGuyUnB35F*Xr*2hNV-TlTV;jX&2`8L@r?_%Y&B+;;o;K=OSl z#1BSPNw>eA1B`PXfu7h~RCp~YO2lO&(pL*?7{hr78PJFQ(n}ksyN#}KDbyZ3MZ9qg zNm69UUt$k*#YomL*m)fz`tzr%41_Fxt+Y+LJ+xHfxq1`UV>2CO6= z<21BkZQniIkN3k?2_*8|9SDcMwmi)KstKRZ{3ybUIueE!DHdsE<-|@7S{=;2&%i#l z^A8Ut>UnXpqvf6PJPfq(si)X(?iXW+I8nKd~x@3+yx>GT7QqIr19LJ7#h$kI8Gn^ zSpI0BrX&%*?ggCn(t5A_FMFkm9qPEBoUSj`&wau{cfcSDBr1>n!Mx z&x=3$8HjjQW-c0eavdb1P9f5*?etrnxo1I-=@z?5CW}Qh%|pN2CN0;$K)dd-l9=7; zMc(m5s9`0(_C$ilEmF{}Ybj`V3m5~h57h@H_xa*xT2-_h&2-14EiQ3sw#w;&HL;$8 z#+a7k8Lz@KeNY?NoREz*A9m|#>ifc+!4T@{Hx!;t{0p}k36%x1DgLA{hO}wCxRtMN zu0}AdCeSdZF$Csl$gZ0$6B!oGXM3f-Ly-(T8Kw)(KtZ$}=yOsE5q`|O9skUdC5nbl zHNX~w*`H{3a+%5Hv)OrjgDJN$UhO`@Dh)C6`vOs_kKF0c29TgSb1s&Kl~IcNwo&VH zeUN^dQ#O7bMp8Yx-h|Q}TIjOTC-5|B_%>Z+@re7=>UUeaPrHB?24ydS18Rb+OYfs= zDB}h)mN*pSaxOFzTggv+R=UBIM;}lH=+%FgB*)ZJ99olFC#8Jon?Q(Eo00ZU2;X`N zT${kF|6}ARw6|#6H6HL|8rZXQp_PD2X7gTU73ZqYeOlwmwc==`Nd zca{XLmy@jZ$Zvzx8R!!;HVTfdQ{_G9{Xr!t5Ru_PqB3`{=?WNYyImyP|8 zpTLrM3cS;>NG+B%Gk8E`kCg4{DtZ%wfingl@IE~5+g#u@`zf+s$CRPF+Cm{|YLi^| zciMy~@lLoDqOq8f-GX%i<4z4^>P7gA773{1WNjg0S6b0RaQ??ymKiM5Ptt;mBimpS$knyFi4=2P;w4nsf0^ zxN|88+Agt@%`zPy9s08(g?c%6vcaowsNkHz<-RMVLnuP&w$tUL{5xe_{X@Kn?jQ;n z%T+uL;mbXHL6<^p&U){a(-OsV2NVLU51$Z>r=E~mrxdQDl@%S5U7)`Ua+vHq@hc0d zf+ODGxmGrHA^3dFX_xtP1Ent?u@A+oQQ}JeF=C9!KV^><2S?*{1EB>BuTLr7UR1Fd zjp+DeRl^RdWdEKr-a>F8l~04?MtOlz>o_J@c^o0zH1^?4>FJT$RWTj<4!hBO51cug z!#=$0fW7^tJMPk(=d|$>g=e#+V{yoM`BiV+Z@^_ws{SRsx_8L@O_?ZFHQA1us!+W@ zX(Vw0pG>v^-|?pyF!#@C7gVHM=F`nQOEE|zXXvlP;xzBNI)1JIa}Y>&_oigdB~?GA z%0Kq-oUM9P3a^lQ*Kc_jh_I-(wL#8f^?Il>`H=$}17SP@pW;CK79HZdcWNi4K_Hyv ztaETj%oU_R18d;+=}ry+(iD+>m>Er&Pa|aAH&k15#x4nUu_<2+sNTer$i!`6T0CRw zr1#2cw6CMyVRN)ZFp~0qv&O0tHK*>t`^7O5pNl=pv~73`Z(?w>Lu+7)@?j^Z1I21N zmBYToHFyqQJtzVq@pwI-?Vi4}IqL2Up)r0)gqEhr|b*?811O46^ai|Ek7DT4S?<@d~sk|YcBA*bHKNPfERw}Wz z8NUDV*wPHl{aTHUQ83&Uaob4i6m#Q;9)!zxnPt1*y4aTuP@Mtzy5MwUrkHk;`zAO- z<+mwJPZ$bZK0p%y%rt=WBdrK1zQAf^HS2kWFXp7=Li7}7C;FMYaBvjTDyz0WQ)wn9 zA>sfi40aJeI7qlN3=? zUje3eDdDYlTY0y!JV;>>oE_*gf5t;gNn38ZOqt+KVpcp4hvuo{jZe2Kn&cMa);OTB z=1gyl5hy$;cPvZ&;tNUyxGE$1Ik>$0*CX=})m{_#6Tj;Cg01E^G*FJ!0B@A~YG%DIkdN77T2XRJ-?(DCDaMgEdRI6fPf?K# zwNa;@vO7fWcL1GHJUO@;d4_o=p8lke=?n$iHzMgEJy8sLmej$)sRko2VL1NVFgQ#9 zmun;8j~fs0K%Cskf4bMX=Wc zJMYEyWC8+ec1daJsaZyHSw6i|@LMZ$j%Ri7@(Ol!~z_imWuc6>AF?b zd1p@aj=U@Yb3ZRxff{35C!CY^mSh{dkDrEBXvQQEBU$E^3=5G{EO<{Bz(c>DIwDp% zw+-KlzTcTJ?~r6a%mB(_!I{~%lM+k~VSP8Y^$~4TnvdNloDzfs?=#+pz)HOy+jcKF zC*cD>P@rQaaxksqke*1ZMI!LMnNnG=vZfd{h^0SE;!*7=cAeDKt3AHTn_@G~;5leN zcikOkBCUwWK<*hi;V?wlegtJ3nfXjT>$rI|FvN=`*^ps^K}45A>Y{y*&}QNd)g;0A z(i))eJyO4qgo}ARcm|{Zh%zB9k?(7I`V4T^`A*J`N#DM}d3{rwkW)Q#R#{PhW-9^8 zX^-O*;uVnEnh2;+9LJ;Sx>!!}2J4!HR^g___43%p{k=b53Nf4XO|NTw^b!^u?y?qWg z&j=dM$CCa6+zv(2MmEB8xuT<-mrg$ip>5QFlivXVYecvgvd2lHKGRiof(ofZ6hBPN zlQeuoQ8yNlwkQ;TNe_^}>?>Do*-vAW3V9dk+#nUs@?z$JS6XDv?mi3MHu#BPVS``_`gx~I3^)6s$L zrGJOlyQf#))1e^!8F%qfzNhEi(~s}z;=n@f-}aL4>Ff7&Zb*O0oxQMs>2p$ByD@K) z!`*Sl^L@8-@j0jy5Hh<%JVqkyA8BMgM5;z%ELR|`NEmrD|3lh1EFqP4Kd)MB{)O(C zO_e>Nh~x{?Y;5jhDIR26e5vZLO8yXo*lx`92U6xTm7UA|L3L1bstKQ5xgKoP&Jixc zC8N&=&w2Dp{WfM{JiZ>y{xvzYvWzRNLRs9*MD_hUVx!6fO-BLCQEx%<4?I4643hM| zQiNE7RqqKn_#E_e!sgN>cFah3L=IbFCQ4z}C2}V)0CR~N(v;0b4M#N;vjJ8NE1KQh zlY7^n)FmAz_PF0wwZrlegz_~!(ml(KE8YzYE_iFRk3qUsZ;pG8<1caiXieSRzz$>k zxvd0a;Zeo8qZpG#>Kk$%gDEr)XWkp&tP>_0Kb&@3Ni{u(vP| zukAZEv%_yc4~5FT2n*R|EM3QJbAYc6gUj+Md^VAas_8kMwW?Y2M4yt2-{QN?kFPpP z)d3df^9AX2LQ&%{BOjk7duC)MK>cZ5MvG{-r%fMyib}**;8z35B1}7Jq3I?3Zk$)} z8K;)2LUfid@(D2Xb>P4Gc~O~Mt1|0H6QG4Uo-h-4Ds3&TKL^Zx-B8q+kn(94Sz14P zt@YD>CW?$re8VGYn{Zg%h;--&v&lk<*|^6C~1fz94nmQ}2U;lsGr4k}dp`Z661 z1)^b@p-B%gsQN_SGkwl&VgK@VhmGH^5*9Iwp@2r@OYHB8GsEsM9i#Bn$0gr4GSxAw;T(xobRhlWn)vp}u zCiAuHNxvcGn9cZPTor2KikUcV^-{cGaTGBBFet{PHtCTRg0LjrPZ|9v@)#1bN2CNn zkN7N*kg(vVFD9ti0_lt}NL++k73PEwHH$dVk4q=sDB1Gs?$P0+k6pbffEK!5m$|gX z9+@1S9}?bm_D(7>*n5`van14)Ft6~)QA*8kdL@NCK94q!k$(Xt^BGnvcWe`K_D#Mc zeEYyq`=WkxbmfbqwYLnpXk0Emi>>&UIQnMHHSb09*b&gaTIdr^$nujgCmcdk$=AJv z0S;XCii{qD;Bb=SG)rqb#~5%idp?XV`$DQNALf(!2OfVvb*YC1Jp$eoj<02f zmSa_%Eh9SM%$mIzJ4UrIh-S~Pm)aLh0-JGQ9c#=pOo$;HL+e>JUGSGrHt4l&GjN-~4(%nXpmUn!E9~ zBQ6<*MY<6Da8V6$p;g}bssvyrqiC4L@C?;og^gJ!R%QasI*oQ)kbk0ivG~;b)pod3 z?3FV`E7&^ZTS!_}<*w*f)A=9Pl~`5h40%nS9M3zsP+&iL{=j_q3|*w4aOXDpedI^i zU48c;cl=!yy3+7y44AURdBZ~c%2xS?p zQ!up@Wo)B|b8YR{-x$OC0kayTOKYOi21C0j7e|Q=wUDW4Hh@Xa8!~R*#ngC<&1{bS ztR)X<5~@zYP0haEgGMj>w;FRYuR0=OZt1DR2POBM5@GICv4oRdIkF{oD|W+7jwHX0 z8k6ZG6}P0aV}Q*%8L3F}fK^uEsr;}bNl4Emh_zByr}gZ+k4TO)xu#AO$2QO%T#t~2 zZX$s04iwDob+<%GvX-hBWeMi`F_HeT$jQ<|vCVQ7*~D&_XP#s*5<^U)mM8o>Tlcl> zQj{pbY-oIM!?(N!b^>9<<wzz=qe?xsTSF+9TK%pRYiFMzgY5|v#*(CKaj71 zo2e8^K+uUXAjdg2d`|0fK;kpMFP)B3)auZ&4y|44s-H0|%N#=5Mon&ve!N#Xra z9bB9!=ne}nF_5;_7^F``hWqV{w-VRJ7{q1ni#ka` zvv6ge@kfrj$|ky|L%gd^Ln`QRN!nvAcDh|FYA6q$=XXa^yvM5v#U*<)ROlSoVwIXZ zp02M5YmqWqVomPyrCHUn7BIV?!*n_lf9LGt;3%FuAsFlOW~q}+>7&&|7CEg~im{zUDVo-w#404nG9Tt7-PIhq^XON5eVwi)NFI%j2Bujnmx z=9OJH!{A5`hTyo2Zb+=P1h7b(UHGfGG2TSaT-h{nQx2b6Z1#TT*#JO(60@?mzVi*r zzIA_El>zXV{vz-ffxig+zl1=?f8ziDxv176*#8=@GXECOd;i7*mq;OcDDP9eO7>ek z@9-Pn{u__=TRd<28(;Gq5C2;{uk{=M{Wt#hH(u_y_&((~{_r&? z@x0G({P=G?<-g*4;AMCEjelA{@Cn}+kNFc%yv1*P-ETb7V}1otUgWF3hQEF3DkO{s z)hTD;D`};d{l>^-3ii~$JgDjU?kUkfmkKz;7+Eo*e%3&?hq##*ey@c=I8p?`d>NZI zg(&oW(PCvBvEjVii<_-~#*LD^J9|QvKWrBJ5 zp(Mqqbt;pUz%y-}V(mXv+T4qcJM56b<`&WT-7;qw)5%LJW#2i*%lX8Bi@Np|5XhJE zJm>0HlxxX{e^tdu4+S%yMe>fY15A|au18;bYWA~sGOq+;w*(<)e|^Mxsz(V9S@Ta} zRxbv76RS^Y4oEXf5w6@>J(EP!&Th=_0DGo&V5KbUN?)lYKCHx=89~o@6&?21mlTpu znc)tgXl;*v+XORk2;c{Zax|EfDEIOb(ti$kn-2>&|8j<@S!G%H-YJBar6lQXYU4+J zuy9z*n!zM>IwDHyWX&s~%OUxYV=G^eU%Ek2PH$z{TV9Jmj+FQtYN*b&rFI-+l2(|l z56iD6WQ4(NfQgDT$j3qZE12e60ahpF23nfkt~8Q`t{pseA+)P1k*aNojFX6rIh$94 zzzNdZKBOsaMRlg4+gz7l=s1$q5WPZq4*kVV0b#LG-?Q95O3O@|GTyG^;DeJ5+z)}n z3Uq*|3?5##(O0~lJd2RevnB(1`ADXB?{v=PoNj(d>?Ib{B9N<2+b<_`Xt~M~P7DS^VWr!^ZFCll?=Qc z^r43zX{D6)zN<<8WQ#yDr_@(I2@zgORJh1N$)^m7vFQ?d-fHdtz8?QIYB3{8&}UY5 zf@zaQ;rG*P;)V1#fns6f0MRPC?0efO)kgh~z4QT?3;i@0@DzekkVbC+J42}=hCthR^e#M z6B>(rDafAPegM&7@df;&FjfZ`-vg52l4F}#!Cq^#+To;OQ}+%;=<5J|CzObL1(Lb< zNMrg3g!)^N@trEc(QoZtgrVRdZCTxCoi!9Q!526>R?*Vgz$*i9Z06UgbqGAmE*9iO z8B4%Khs~xbii4!krd__YAcjdmu1q_6Sj9#{LXKZHoy!hH3T^tyuw|Razh>qOC+=|T zhZ#@~D7)_3K4hId((>%45D~^S!$6F`6sA@Y3z^LP{*$1UL2t|@Boq1ylHLRXAUZ1; zM45U2aTe;6mo7V)?YC{uRQKu;HwM~g(eNmQ%R&yp_GDz}C?=b}@4m6Ph8-zZsHk#^ zGR-EwcxyiFv?)qMX&%ZZ?ZWK)e17%IMXztUVE6N&OK36xy#CCd87e?@xyD7j3{~4& zYbb?y7+xQMYxCXwLr@L6x^rPIw`~`mP=;%Kk|wRMe=J59an%7%&b!|9Dl(mm@Q?9H zFh#|XJ*(9UL+4#~Xt#_r7g4Qd6`!nB8hS74`wp9qxnRryVwfr`b$mi^Or>^@xM$1a z%6b81d+(t|uQb_rGj0TlgJIflW&Si%Nn9%|EEZ*Ay$n=FOO5A=9*k^7W&7P>gxUz#-f(dp6hyjv z{+=h@`Mh2|PB`QNaTHqm7MqP8LDm2il4rxz%;m`8aIDeG{bO>Jj@9vPxb7%s0!H6uY7hWq$o67Y$xxEP1VA*TPc|1 zH@L?HCgu`v!sF2nZ&-x>Ea_ZdpDW`hDK=4!gXee0;wBx^=2w9L@5`i%4R=^b{78d$ zRRk}o0q&4nZK~f%9UE;eJiq*{NEA z#V4&|A2o^2fWkd)Y_JbpZ+xV$oz0@Yq_f|W6@0{lM0&R9Z4cIj-{q4ECKk;3Eh-Nq zIfr>h#MQ?u5cgS+h<{ETr-`_dN1Z#Zq^Yq)$k3V7cd=2=>~Kt&1xs1ah_}>EYebM(?O2&)NYoi0_tVgg@r>yRy5t$VuBP=33hj^N4Ye z)h}-$0Wj&vyLwz|C0_#ksY3hCzx4!DUr@=5eaP7c6RQVj`8Co|&c!O=m+)=0G|@zh zP6?@9=4I06@dT~;cRGzy_zy~!zSW&^g26Y^7RYvVKYIrHSpX3-#}lV@NK~RYS>>bv zuxK7{beTOkLUnGIIn1f5vmh|SU!-)gTL7_+nAcjRJ;+|3t5#dDf`(jF76>ol>%hD* zc(nFVpq<@?DM;Gj!RsvWY3kZYCX%{hx9`uq$QSC}m_BCAm6(VOw0xB;C0+H7^AhNR z$O>HjDAYPl@R~X|Y25{Nw~-SdHnS+uAl}7@vl44}dNyDGeNV7tfPOiBsefgjJ61Bl zcP`_(+pp0~>6@b!&0n0VX)Ch(ROl7e`UE#=P;3Gp#*S* zja&UW`GN?$CYF%N$$4MFIMSe)uD(%N16`X9hMRF~*+{|-L0SoAoVA#d8~6 z?xq#(=p7ia_x_juBJlqm1Uml{|33uDkEHPMP4w`ofAnYk$N2s!Uq9e6et+UmALH{U z-rzBQ2J!-iOh+S-onnMr*x1AwV`2Fg;=de8%; z&qLdE!0)EKs5x!x#F&FjSBro|O|D23pVTn}mdV(coJQ+z7+)8{9k$sZt_$cV&){F= zf!})8S{Ht^{G7`==prmmEPbzr8w=Rw3tww_F7c`Vx&)?%^XJ!~wc~HE?rP?%)NrJL z)dOXz6o5ChCyMqq$W_Vm4j!Hy>KD^D$~7@8b5CXv26!o805Rf1bbW{UW`B9?Qvd>A z9KHq*R!!#zEQAE#(Q{;}8WVL0ueqM@g-2m~fSj+;oU$XF6h2%2&1?2oL*gtE!+4`$ z2}FbYW0JB-tHI#4;wF(wD{hppE9lZfKeQIqhO4&)qk2|yrR-P+{VXxUzZNW(?+j8j zrB;Ozu>aJ5u`DZY2L>#~yLG)h+U4;+bS*-uvHC;wUHHp4C|uy(_61FT@-^&9FrIu~ zjxvs)8A4gZ-0Cu=8W#)<$zSeV=XAiU*cmGogRXYqwM$Bi{?S(RYE;tR5P5t^UYmVW z837UQg8@M&*N4%J2O3;tmVx+OA-|GiK{uA~O~U}LkM%UO`$G{9vg&|~Gyv(2>tXZ*NNBAS1jGpOo&Ko?0uPTz zgFKj#l)v zih{@N(kZpJuQ`!ZH@lBumhZSTgX8JVYcjP1$FTm%suM$FGi(cQy$$G(*qVd;_{kVT z)1Y%TlQj*4Z0-#^8yY?BZ42j+9pGyjef4FghWu8 zd(|h-vwkpgM>?fu(ZF-XB|8HEm8jS3H!BlTi@t`GuNCSLC7AvS!`Jk>6UmXvBT1|v z@Dzl7cC=@wPg+L*!j{usDUZ$KX`yCs(-OTWaDDQ)hYyGt#in*x$TMmgfAG9Wbh?_- z8fa2#BKZ{rwDKe*aD&IbIOk>~8!8j%h6eT1A3S5I?+p(+gNIZ<`QW2*ZF=h(-#$fJOk^XCvKAeu>`pw(RYgB(2x?h4XZKrPJbZP&Rp*L z{yk+YUIJ#&S`t|Ovy~$B0ea#p;t#ZSgRH&J{VXTGfAyodH(|rk9f`gC^f+LuuhO-#fIX&cAWXBxIUAD>ehr(kbFMi^nQq<`$-)6UXk6t~BNDrQM@aTGHU3FR5MUdVXXZ6E`#m#wBx2lN zb}D?q5vc)fe?pbzK#_0-D0g_10`hzFhk;NarBMI#-J_;U@tTmSJX4;OU*bBxS%x{; z0|$$x)H!Wgf;GG0xV1`J%V+QN=(<(Jtz|H&$F-ZT_}sDtHWS2RuCkPT)KA^xkM0d$ zE9HL?EoHO#OGmu^IjJ>_C(L^ye>$@Q_W}qh2>Wr-9b&kn#rOcSKn`3Ey^B-FhQ9Tg zZ{7+x@IPK`R?Gqgsc2oGj^?FbMX;}2qM9PER3$$4^W%qo%|6ho=q38u7TUmUo#{xKQpy>1qphE zSoljNOS|k62;cE-i!0CQDhmGwmj2xD`AC)FmtdY5Hp~BuXU;9NOW~1q1m+H+p>v@g z6kK4f!9KP3|DgBx?_UJ|BJdZ1zX<$A;4cFIhak}P*aHIx{9ogLw8vw>>9s@;^?e!- z5PXdHpLnEy#rr^5oFCtZ+drI#A+S;t-_cXLh-^MwGk z^L*xsI;gw$>@iHieC(L`uY&Jrn5|Y!WRsWAw7yVL{batkIT~0gBOk9?^9D&Gb!jqL z_mWPif}e(DA;u2rXdMxn_R7~OgTZt8YokD26LZyF7l8{M#ln4RIl(BIp(0*= zNWV~seQ{xf4C<~8&&Is_WK;#G?vfeDYP{n!H*|?azjMwA9y1w2hM!#ws(A0$vSj-R zpA>H^68w*+xQS@}SsMU)X3#N8AifU->Se06lnYD07j}yo=h+()%(ybafkTKOA0Bv> z$vbg@_A(TBMu~uf=8gkzEqJjK7(M%l;76gH{KC6=7UQ_v4}r^Lm;y4>qj9*+@t^0_ znZKD_LMTd2qZFF4eU>mg_NsQ5LIV|B92)#gqvFHywqdy(wMJl1k9j`pcEh@1*Ia^K z$l8m4wuJs~D+)9nAUsCuga;0Z^!@#kcW(+5iU}JewzCJC<4Gxcmp$Q zr-9#Ocp*b5W6rwl7i4~{U9^@NoCDS3)m#FUYiYd&O@Tys95Uio`RDAc`ADh2A1KIz zC-v995Rl?)X!5ZO2@(PCG*5mldS~FsbIUauYP6fT=9&q7u*k=j5>`(-_bgey;oI3y z|H*#<=|py;&crBtu!TlXEUV0=D^)?xa1dW07la)WU|9sx9DRLizTjHr8Yi;_;b z0G6^lZY6+y+k6>;HI-U-b5z+3yk!8qe4;TC#9QJ-VHT4izWj}qtOxPr9u<(pHkO~^ zOiRA$8w=%*MC(|56iIQ!9+aT`WrEG6RkP%pCl(w;QKc#Ymf$XIf^jG#KC>S+aawE2 zHp%5f>l%L}uz`w$hHN2TB@+v|dgvC{Gn=1Zb6v4gQ~e72qy$}s6>HSDsbG|$5;U8-C_Boxgty8{Q|nUT0t?)iA+DV!tZv#w4DO!q0tO4Iwf9FQZ72uS8`BXUmkrAi=r`!2)B{Sfw%8}ZlxVv zfBxD-5sQx-%67GE-v+iGGyXjL)h`V*c+hyDJVcp^N|1G~w~Y5s|9~Wdd}=Y`pL*+` z7lx&V&ZXAa#;xp#kQ$k*3h~)YK4cX;Zqkq?H&X1`p=c6E?-kH;gD$QR-TchFG&8gk z5jn%oHl1mV#KwT<4U`!WdmGRc$%h|^y{7Wl)-RUiTtgg9ex}s0@RT1vEg147gyCOx zr@yZvj!sj6PdI(Zm3rm4CV3sn=ZW?FahIGNhyW&o6dPLeUF^6rdA&z`*=jG?7h4UpmD8 zjL95}U}Z_sDlzse*QT6ML-Km@alE`hiZd8uge+F6+YZ6k%rqHj1=MO<;S7FP7?Z(= zm%+9oni*orsnrpM*~`%{X1k`okfezO3ht}XK=;}b53I8EgXi)Qx3eElL>7wG2k>N1 zoayZ=Dr;0th0rvMtBEhtx`$YZ_2(t|{Zt|JSM`85C19V@=L5Bx$LeXueEbD6(Rpq8 zHK@J8Bw~1ZxoM_7Rx$SUM4{BdAnY+-muDm@hSdJN5176^6yBmuTaSL4kN;4Re+UMP zJC~D69YDrMa119?VK6Pi1nQ;ialII8?+7~~ zPb^Lrwh_;Hb}9$6IXfg2=(P4Z96=PcdV@YY_S=kof&)E#he@6b-82e_qy({piXA6n zdh+_~XM`U2`(Jz+l!pQNZ_WC~-p~H>dH>BsaL#Zr{722S4UHGbaSK)MIsK6^@EUWI z;{^D=nl9c?`O%n!Q(|dco^f6H?}KjG|0l)%PaXgM_=~__1pXrM7lHrX5a)Zm5Kds+~@Y{HR`e} zKz?LPo>77WEZy&!>$b%-zh)CbrxK^j-U`ip7I~QwlKX=hfJ>$Ts2h{|IAp9i+B zJQP!-qM~TXai!SGv$0_(9A>90pG-%kia_=LZ?BXA-F87}K&+l9R>7vsuhWrYngFLl zw9r#;*&xv8X@lk`nUM?Hvb?ug`>WW;0^FZfC^S`J|%EjX6T~=Rkf4wn^*zCBWrd=lmdv-8d zEoqZ<5Ndr}u$_-8^UYOTJT+p4l(G=-xr3Rpo0}-Ip@Kpd_t}12VBm<#d-(KEF&rKY zS3pQX-FI4uc-8?dWh}zJ73m{XW+nkS0b<3OZ1~JE1NkXqW6-8>NnKDKFX9*yx4MEG za$^dULe+2LO}IX)Nlc>K62+&CK)zxYDBsNv!k8ENDCd(4;Z%S~7}MP!AW-y1SjTB~ z9fW<@JU$+}#PANUXw2;TM#))-M1_z>D5@;GTz6hCn<6y`d)VgKFbMjEAs@{ZbVYL} zXHha0tfw8m9}#+Z)5o`E#yCndUlt;WX2?ubjr$zQvx%euwBh-a&?w`aCtj~Z&zGAs z-nj;-f;+1a^=DZ+i+IKOx0?j}FgT1J~#dF)UA%*LR8%jro`3aY?&;d$ilU@Acon1z z)H6`>7UcH@k7JbV|7_3<==>GwmBryHu*C8?G_3dM^38&k@2zHSkcArR{0q(bQGj5C zSyp+mN$s;mD-QLkCjBq$Qqdyq>xgBv%b}KYT)m22q3wrEz7%-Ir^uyzuBvs#Ve@*@ zTLi-zUbiml)IdlA&V-Iv%7UURW7OEP_o>7C*9~sEmsok;UJ702XP`~=R;6$C zu@3;X+-XU;p7k$EY^y>WzFthG@5uSxgO9w?l(G{;;YOW(hM}E9ksq0TdA7aSQ`%71 zJAr%863RB53iA8@rX+EWhB@@BQ6h?M)iLy)SYCa#PW~4RVs1SXbUF9H5&@DVf0!3K ztZ4);UmB@Jy;0&HQu+aS4oW%!&^>0Ej4odw8|@D0OUI}*m7}P>1+!Q8<_J`9n;p@z zs~r=h0_sU6O#{LD;qgsy5~ckS(cA*uwh5}@Y9v-R9w# zk;-}6H#jFQ4$evvNhbiHwFw*SFg^{jmr`C+LK5LqvUWRi^qlq;Q*k)Xj_Yjmy&#wV zZ|esE{Ao~ukgz;8wVAo~(Yrd99j3ibq!t~qy|)h1#h#a(Ak>Z6fT94v=tdkElc{|> z5!wk1O60e4LFJd-g}(&o@7w4pIbLIeb~v!bPy&s_F#OYs0M6b8Af1wvb* z>Tbl}PfNIT3w6A1a$BqPL8M-bVM&;Y)s#V(=r-(=!m^?8s+7iX&T?L7Gz^r`KeLft zn6GSE?M;0Fm@&F@yK*3%wLm%{(M9K5ksF{4nOcN@jW-TN1LV?Eb0~g}HqUKV_l|h9 zO{~efn>U8>_WKtlFoIU%8)lYxa0_G#7<^&b>4)8k(HNY zRl0gAaye*QQ7o}szLFOW-rCvCR)>LRSZPCsA)r>Py+ z`i$M30HMvmqa;lxELji{SR%mPu;8GWT>h(K$#9J;y@dLafCSQ~ID8Kz@c`@gloK8` zAYfoTDF=sS?*k_vj$vQRM72*yj(NMe?wl#G|()&mEoeH z$Q6liRI)5~(7a<{xs~^V5hS;jF@la-(C^XNxMj3uKzT+Wm)2elPtF$?8Np*^!J>Au zmTS{YzJnKA0q-X0`N(DmPXMe-ZoIqu@Zx#jd(nOKNGV%v!7p_P1-B`JZKOMm`3oy1ZbqB*0d{rGZ*4}z8Z$bA8^=Uve~Roe8T+)E98 zq8fu@9lR#iW(S&g@rHB%w=ON{KTHaQDiqYTKKvN>Nw*1;9-v5J@!{x3>tBBRGse70 z^fSn%@#=x10KgbM@uZ;<0>k;?QU6O=E14~b{I0ICefd-@-6jU;U;BJ2p|3v$&oIK|;Ph7`7+j@4gB`lnssB<}NM7yvdth{LbCDLvuzP0?8<7?+k<# zgndHNN%C4z;4%V^?gCTJA`@S0eVb{ok9Trd<@@G(2yvjG|MuV%B7H(-4-yHI+4rx< zsG9b*47q+a)ZPR^1(M~@d6Y)iIZ+1=z_`G%SkJftnMv z;g>VxY!_9cT*0tEvX%%OjZr%-jcBcdUsZ1&^;64%09f9(Gv5(ei2j1kHM7>B!UqAZ z4Eyx(dx8e=-v$>wT{HO~UH(6Ee}DW%;4cFIry`cb`=z{LFinEg^Sw5 zk2RGAHT+roZFq-i1Wp-umN;(){X#2EHJVe|1@3M!_!Qw! zwjOm!0?QTXk*;~PnS5l8{_AId46Y&A3i+1=wnhlV@)LU>)OSkiC^YW5E*?QC^1JtEt8qa=(Tjc9mY*jFb^R9-(us~ku4%e;OqIA1U zsn_gJwjOoK0(AxB>Utq_O<+8-zAp%HTej!&*bxs-};!rrlE$zcX|BU~Wtw&w*KwUAsnCp^6Z~429uwy8{ zkTf~zG*>S*eVLZ)3?b>r#q0l*tw&u7KwV%n6enMuPc6^k0#inNO)__psI;PwP#92C zAXCE^Uv~Y;)}t;(pssvJ_WwgO_y@aX_V1C__Kjpei2cnr1XG{z(2OTaUVw zfVy<24%p%2gyuZw#BV}WyrogbLuWTXZ3sjYai7@3QhofBtw&v;{WJO0a;VQ~M|m!D zxJ4qTIAa0sih1 zPW8!cRTzepTG~I^dejBlssN^CgIQBi&e z^{DGLuw2p>%tDyS276z*DlSInY8oLc8lr8J%#0>@1$a1jgU$bB>rs~)P?twU)%fcj z&bHLW)RKgFj^I9V8~>ds>}iO_yIKIXWc{CPJ?c^i>N-*>+3~k}?IcPy_YsYUo2NHH zrRIbC%1Q2wrIZh@SI(boJ?hc`>Iz{^1%yoLO%7hxZUpDK;}P}b4f&;)FyS1%0=K+V zk@=IYM_rmgT`5W$G*Gu>b*kEQ)_&Dw@KjcFM67eXgPU*5(Da~*cK&4RQI{4_7YcXq zO(?o)PEIVG6+rS!(2aev3A#70QA~}8rui=-r$5>HN7vuKe-ZeLz+VLZBJdZ1zX<&Q z5rKc+I{@GRKfc&{0Kw+rL-g=jefR*$=%K?w^zcmt?07s-)I~-d&wm+_uC~8yEJ0xV5-TIOS?%>1szcq4%fQU0kou~? z*g9xbbv_gP3(xXgkc`BR`*4Z4GyjF)mVMImg!8ld)Z1Q>d7zz{QUOa6kzkaXAQ6w{ zeOXskwEXPiN_0$#?<9xroTfKAA)c2r-MP98UtXJ5g84dJ58e$2}e!Q1h-0$g#u(SP6k@B?H&y!H*GhzE2FZM|AqEl3Q0rpY*~JL7Y+R!#7QT7$wSTt+Fja-9x<6bKK#iUxBGu}z z(}F0Hb~UQY(Vi}YW`F3Or7%7hhw5=EYIQ1|Er^Q*KmOR!HdnM1{Hep&YqlcV2HF=J zBf0dFKfxrA18G=TrQaM!8Zu~SxR$k=TcqB6wcIDQC@@V)Y9TT71+Y|!dH#TOy1(#f zJQ(FUlNqMm4TODZ9@}ZhK7$BKofOBV4zANreB~2zM5kSYDNZd-HpVg{$uqbPlOHzS6FxF3ZP6)v^nxDgDl}PU&P*{3YyibEk<7Fa zOl&%??}V@MnT2&$HIs8<`D}gtoy?hI=&uZi5WJ7bj!=`xkUx(Z3DIrnB#7BK(=j(@ z#83P>^^r-H>sY=!hWwM${eFDy7nFKN$#qK7)buoK2_Nm+8zyf+S5&@jUYcp9Gd5!; zYmw(V@o=yp#Ij&Y{S$sli)EQ&=UavEh$70#t$Bt6ha0ZoB|T3zossi zX6FzBseCrGT8EJq_rv5YWPY5`tL7iS%b^n>D)N)^U3yIYVWi1C~=oiFu!82*fufhd@ zJQic$A2jtER?qSyf{=%X^uHgzLN*)!*d|DMRhlAF+(OY?;{Z6;Gjc_g@`!ZZMhKNs zfNk7c4dzcTp={lARWbsgw=@VEv^(!e{o2jnj;81*LIG~X)YtMrNC9eLYU(%T4j zZ}6J-b&g|->7DzaTyEh`3QK;;$qHNHn&w+CM|A7%bCKfA~5kCFH@zMlCT8FGLoJ-m~ z+KZ<&BT;lN%b#o4J_8T7F%tWQ?bOpd`5Nkz%2&=IyVNrqk?_ zmYfjhCtBXnQg4v^X}^92zk`Dr6zaZqoSB82B8U_%y%TwDZ)S05y{EkI5HPk01jt%3u16 zz+VLZBJdZ1zX<&Ah(I5xe*ujDAA3g+h17re5IuaJ^7DHiIy*q#<53p4PT#+ecRW1( z{>`&K#`jP1Ef3QTpU&TGieQ_eBk7+ppACEuwKLU9%C+}OHF9(Ucb^D?J=^uc4B$vy z6O=(m`Zy#p{g@nzH!f)5zR%h$lATlup35~zAc#UWFt!!9s6DE=8NS79GKNx2UThOf z;c&1V?N(ok_R8@6`xKhcPqNjpT%wv1E54Vnx;?%XEwL~3Zp5FNhf&c~!ertjGp0(i z!#4Swf<4#>AQN6*76kb)<_CDI@o%^o!Z z3*|eWnFyWIeBo;1RSsvBLc3aM2JBnu`KP%f`kl>`_J8Gg8+fgN%{!&A6ZHbmj-?9h z1cp`FaVq7gsz9=V5;@V?(=B)@E%wn zgZZ>Fvo-vzJ(Z^Fy&BVpe8=6hkOIsY!yh@MQ$C+oOig$> zt3lrNU%SnL=dll)P5{=#X&?SRkpD(xs=MDxt=db|a1XXRH^VV6lcylAJLEM;X7lL7 z&IT&;2O|J~V?-<~d1oGzMuAki3N19)9k!n#2T-UfHXY=iZjbH>I`QF8f5gZ(A{+`_ zC?7#?MRtZGLt`(JccH`U&_D!1#i;Ez@EJ~Ix6O}u6PPv?+ceIRjH-$4ojpCS+p2vv z2uP;dE6oHwS&KClR;*PKSh6_7t9`ORhltxAX2MR`XumxIrPzR)h7m2ytpRe=(Gc#r zjOI0=Sbl1R=fkCEDJsy=hQ(&43M$y)HBdRQG0_WyNdH_oVqr&a+3kDa$Bf;Khw*_f%~YZvn@y(R8) zx~2j1C+I-mo0pe_krKAVD)nR>W#@P4A9kaS^^u?tgW@I`tH6@UfI_`jcp&V50$uNc z8U#S0B>-ZoAho#!0UN9`YFK5 zfUuu$YrvbhqCB`^^J~svD6z5!XeXI6Ts%7y{E^qq5xfr+1Q+rfy-ddg#9$eBN348{ zXV~S0UT4~3rBO+!CpYmMkTtq|<^ZY1g{>iyLHiM*b4s22h)g_waM2!DpccCT1%y36 z^m%%>KV}XN^szVOx9FY3XXZ$Z%llRZ7016`RuM^nu>Y?!syeZN$z_1k1&{~;@D?D2 z*4BG`6=C$Mgj32{_yWZt7@#{?`XKWkp)JS&60@Eb+j8Fwhv!6fZm0m|;H5P1cr zVW#slP~Fn+aaU>-Y2GRJ9MoC*C{hl z7=8es{YrznA9~sP&S4p{4O8u1L@4!~$N;@dwfjZ05Rr^?p(Q{_LCrD|n=$f0@$BYH(dy(71vgjkGG?u%P`tSwxH6&1HCTFJ zt>^pQNgMZ1>?Z1y_j-a+Y*{yl{NDA_NVXGketq7-7sgS+ee{c{3P?njH zW3}Q1-4{XH7yQpZc-(?1!(vt@d-|fjKkJl)SLbjD?8ApQ;utjEP)GOsQKnI6Nlv8= z1)E6DB)ELOJqnwYJ*PK8l}41~uk#!_Z^oygxl5VYKaK`$g}-CClr@&A-Rw&`(UyNRQ#*&NU)gn zTAK&I1P!*4zddQu_^egx^qPq4`n7>D`lL_Q0hT1WZM81j1t6QBj&+q=AICn{BUbbD zIiVm~sh}3_Q?K_wHHO(Q$P;R*bzQH}AMoY1Rfq9~EF#5HeSy4yn zDw?opj#=4RfSzwuRBqZM%J2$paLt&nsG9Y4wYV#6UZ0=*K%Y81aL7oWE0mxZQx(_sBec zZWtn1cGv_whVZ!l1K>8ZH+jk*4g-wGZQ8**F2}0gtoLco1J-k(=)-gn$mVDv4|yHG zhQ2h%`f5T=+JqMz%+7DvkwPSHSDB50GBEi^puGF{z)`^ml6ag`QXD%;U2jo=wBRyC zMw_21+=5=~2=AbI2+lcK6zmd})HS^I(R=7_8yub3XYsX=WVwJ*s($Rguk3w)QR=mL zXn@_9(_$p@>KC&Y4tAl(xU6B)Fl9pVq*_J1sB1s#%>Lt^>m}c;J|?%n*ZCX|IXdd0 z)owy5t(Kkop>Sz+7;X1id`G zu`-$TjW7I^QPq3=pV3RVbmUGeCGz#-0#2(s*JX4vAxk=>WX8?e=QiJ<7{!W>zWX0V zBC~m`WB?SYn;1MZUBODr;;SC_XpHFf@zh^z6 zr6K{c8t)Bu0qY*lv~R|9VYUhY@HWMF-{04qyD$45DXK_VCFZe?o;}VV+lN8U*vru| z=ECYo04aX6xX-n&t6u#g`h;Oi)76nEAr_01!+vEIDa*2sM}gg|+-*BN@)=yy?06{k z8pjUpXUYKm2z!RFmW2!cZ!=$Uj^2GqzV~Lmcg@`SHM1tY7W+_p*Y589v{iLgcQ1T% znL_!NRv0zXe2+Td+-ulT-mV9(p3nC~4+d@&Y-Y9O=IUa$+Fp0r1|9^Jf7Ac@9(waK z;4djK?gmhI3k;wC(D%21LJ2AG{^NXs63~G7Px?{+CkCcPGT7LnH35<87na1jlI?O( z-RN>E$bsS4`VLPYk>BhJ7!9BueGNRCpgyEu@!lJB8?d+Yu`4tBJxz}d%8{11V&EfrPM2yy+G4ORj}DwKs8}&xYTRExi|N=I22X>h(QF%(M(u?`qE- zS$WUuSoX1E|71Vv2`<#cq=lKl*o$l8lyGQ7fLcDi0wPJVbi8gJT)OQGWEX=X6`~lZ zFcNtz*mv#cy%rmL960=B^|tQU$QC4Fs|O~pQ#FFSEPTsjup4vRXljC>b&iw?TaNoio~c&gKU zy_Thg-fx@+|!$-$P$2H@Js&e(=U7pI|b>` zDg$IDWQ&sG4(089df#_#W3Si^H?^4GKPmn)!5Ia?)^zT%`8;dq3sFk9r;TqUoaPXjrbv|3;3J#&|R&L93p2I)}kbRovxzmwGr9z1C^TJXGk zd|&57s$-qNMH^QV(h%YM$WM$Kojk^-Bp=^~J?HsU!Fg%WdWk3w__3P?(LH6qeG!1+ zb;*NcYu9=1-MQ#=K0@RZSc_@Eke(a&>AX1~7QS2Jo0>1QgpcG1L4bzFHG~se+RQ|- zftHNT=QkEMU0ADv87R;y>@Q#p-<8!0>8Jx|aHM$l7NI3lC3FbvThh5ZN-$B(<+s1+ z4l7u+(p`Kq)kLU^I>BOig+~)fSDVO?yT3XTB8E(|H41Kliq#S$mm#$1pY3o$V3V^|M^)(#t6n4 zvktusykTe`tRbTT99BrRnedAlVn@qpDaYxU z4wf^?qwZx$6=2+q_08t9#~*3*-hf=+WlCs>x`PKaB;aitozaMyh?tE*_O!O>(F}&|O zN}wa#{iS#E!PRCfI_-FYVQn+Jr0Ymc2jYXu+uElIR{Hl;LCRK}SsP$ymR7He2zdnC zS>$(^12fDhIfeD2CAZA10@6b_F%@^GMGa9&7Ueao3)4?I-Zp+k@?_&szn7Jm@hqe( z{_yFzZw*|y|0;`%h**J&wG=G!0RQ~>!1F5>4i3R=K`wTm1{Kk^Q z2p=WuOkoFT3unK!t_dN5G7t}4s{nYHhyV})3>3eA0JgE+X9hUA{wXsi1{CnH@C?2| z%@O5n)k|rnG{MW0ta0v*^|B(wh}?4Uq_bY;M$(3qP|OmOye8R6Jwrn=PGy+9R`Ivd z{CN=?;>7T4*DA)%3eNk?2p{hyYL|7fCUGyk1051tr{kg8{r+;*zu1c&D{Y z2qC$vb7j+6VC?_RTMN)34V4d!;6a%N#-yH{+;2)HNn`MA{6}WKkdY)(At1;{1O(k9 z6RF-$b?IOdSgf^y4L6H-g!-#%d{D<%9mqB>xrpW%z-qcfhAFsVZ9L3e-x>XGVdALE zwzTqrPaSr|a|J&I-??smNEOdpyN7wkA;gO~9C29Iu86`L*K?WwGp9F$gTdVK*W0ga z>{efYe6+xBfuZhQ7$3a&(EB;0&+tX+h0cz4o;XHj^ijW&m(oi{s`$ooPxy*9pozv!KO0iQ-LSDFg5)s&R|&CJ70*B6Za%{K3CieGe- z%ni1t4{?2?uS3eVzk8fxj^1sdxA?{H^~e9_gw%9Z`yJ$9v`i1YfWp$7sHe@nv<*5F ze%MwRND-!^^e2FpZP4@~p#5Q*gY@IrCvLs5zB}8id;^cKHh!9}g;oNceO_s3U(FYu zf)1_$IC%b^x&HbvHOTn|^szui*e0LCJdII@FE^ZT@w`N}T^9@fd``q6>-_>W990kh zvDSzokH{a9%&qx9C( zU!1F})yCaCL$zFBG{D$D%{+|};2wV~d}(Dt?d|TvI1|+%c1wJ!Yux8$wL7B?%1#~? zLX+1O)AU7Vu(%kja+^$*Nqn+hrfP5Xoy%LDT6LQ@#{olcg0XYzs-S{)-=5<+uEKP! zOLe>A1iiif5l9Z6o=R>>>Ym#b*J5O3aJu*6iH-V@cU4W=?X7} zN{ZQ?+B?x9(+ugT;Z@p6Kobf!s8Lk%0xzI2)c8F`eVPQZtCOQdB9@u!^0Vu>duuls zxJM?^FRt1fA>25^6U%tD#C~kPp9`yH9O+-Zy)Qt|U7Gt2j)(4dytPDb%W#6)={!WI>=KB#i{!4XCxL9&>ySu}m_vq;?>8 z`JKQ13GMfcUH;lLk|jbNN=3z{8=snldcz2l`7j%6cp?sZ=8EPbiY0WrJ<}BG8ItzT z^ue=3k^rrD>4QCbi)s1I9m1{QPBC@ngw8<=43wG>pHOPXUR4VBtHJ-=fp?`jU55&Q zS;t{;)%>}t7)X-BP5H`7_Ffw7bfxLF_A{!-0XE6Ue;qJaFjKw|ow|7eRbjdFveFrL zh_aR-D;yqRI4v;15mrs78Fj2*_mdr(iDfcOxa5`ZzC`~3o*j#@)MlHxXfIi}s{M<= zqkL%c$appmzZ&-HB{6WXDMmdf|E_*E!Pq4ql_+TH`JI2b8bEb_15~OliVv=Vd;1gO zS0W01aZ(c<1^6coa{T)zE&m4%61@KT9CZ5DKWX8I`2;?|?-2V3z3~Ul0TiPC`F_A3^z0ur z-NXFEWBjgv&;x(aAV2bd#&7ip-TViQ0UYK2$*=zhUHJzM^DrL*%Fm$&(--SE5Dr!K z;V*YzWTB4plItnnPa-s5@D!H55tPdy^IbEB;1(oNkGHGTjFvgyCb=0#95!DI>-ur$ zl9og|NcF|^ocE)S@ix{y$@vXgiG(n^LgUR-LOLGwPZ)%NLyN2!S|sSXl!=cc+kgax z85FrU66dlpU5kY2mj)vQC`fEPKQVAGnC`gQ?Z~-jM7)^4i+n}2Fnemv5h-uBD}8TA z+Wj1Wyxow9WBX}c2Z_a{HOD)+-xm1*CKO?69pdogWc~Y}-?AtD@C*2;F2t!d6wvgL zHOA2xqab3+GP0D_*UywQQjQPRUdt?c$F60imx*5JjZy7bz9^P`H6Hvycu}`u^Ls6n zk}#&!b1yq1c-U#b*2}_FUY!r!0I z_R#Wd21HEVPO@sszVU`tlXfgw?R*mbEW`Z7v`i856?_ek^3(bKs{!cn|~dr>Xr^zrT>MOMa8 zMQ7Q#7;P?N?tlbv=$`_mj?JRllgC#;S0S11$!=r%;hBTJvjH+%fnO({=_oY$h=|SF zJBc2EokGKHcEP;a@0ZVJz4?SdDlAEv!|>2*ooF@|?PGP-_*7z@&by6m0^0zxKvf;y~o}R!6f;*JX0I%k%^jr#$L4W1ba1HYG7;^oNrE;OsxTe zqTLfpcV-uL1Vv+x1SiiIDGaCu9|KKqv0Ei$PmbG>y5u7DINeq$*$a24U#|T2nnarPVSvL8%6U%9q*5swas0l| zV`p7`XbGC)FPtg|HfA_v%od`E9h#}znhRa1VnTU0U?rI^b^E?Dv{_FHT1F&a)ywPn z19(43KMTH>l6ZYhd8O7cLr8Q885q*NPFX!bJtPfrcod_Qf)7FTipj9m@NWGmh4A*R z0t8{NgPQvRg4g-f#7&6MKBr<1;7N6$W;I?mrnx4*#+Fou**k zJpqCQv9mmhR47ZYXJds*q@II!@R7aHfFtC1$|3hjHJzYpZeuj4-Cl8|%Tk+XC5ySxp%^iQpa{3j$D8v;sUX+!lY&aaj&7T-ve;Z?(+G2p+614q*$m2u<>7^ zK#(v}&+q6*f27EgP{chaU?5PlZgbK+t(0gXfkmvM(X+ro9}6vGxcXg)9f{?NzF`gGnQ7Tg)gFciaM}5 z5HGWonIiLTpaU`Ti?8J|G<1@^A@hfCvcg)5hc;6#DD?>m1*^C;lOvWzVYe2IqSJy9 zN7az1m?QfVTuNToCwN`oV;S9Po2-%$7!B(vzdUse9TQ1#yE(#N9BaRfIO$k&HX?}F zIt|2SVL0zIrx zhtoB&tOL#!#4TKQ$|9hK3GxnzyxBSyLTO`_}i!fS23>ENGPLf zpDazp>O#K>L)oqA#^(U&HZK%Cc}=q*`uQEz%c(|bA&!1(9qpmjnK3bvYQ{FKXyj8; z&)OyXZb6RvKT|!PIbu=llD;Z_m7D)=>tG@RF&|rpqReWBPDp%x6xYizCj28GWXO)= z`cOh=%Ejqd#{^9;`z*jWYfQF42l?uYD0hgXlT)~4VYoK)=hc}V%gWE&s)*btS#^lbIT(<*JWs7k9LOqPx?nJ#NR-(D`3UEhr_`8WYDPw@;- zQ=t8+>Wg0=QPgsv@@=12?3T<3K^$wWnkcm}SP3YM6X5VV8jJm^zlj(teb>VYUz{j! zz1e=H^y)JXy6pHR|LKueeQD#CQepBtW@_@hQ-^x;H}n))1w?m=8J-$c>-L^m^hi(y zY%uN!1l_$)iQtohZS*0I!v^N;i4J8Qi_G}Q)Mc?9##+)=(k)StkUN!>E%XnCtHt#Y z&gu6{e`S9;V5w64PTe~U|3fFPQQ=8K7F)V8CtUfyAM#*c7{BK?8X0-!W&Ka=#A}Du zavAdcMwHKeA%KF#-|!cKzX<$A;4cDy5%~Xszz|S32ZevL|3BLEAN~Iy>DLeX`Qv{6 zZV&qR;GzJfOTh zTk!{5QM4c2)L1|_fuU;9)QVwv#Qk zp$s9+Fadut-;;J4a%K&L4_=|j!4(2~R&07R&^K(>o9vi?sdKvaJ)S^vVFYufK)bAEAB&c2rZ%)aGLDfkQrYb6&U<9r2UKDaehmAu@ zD+S(euC#(@@@w(pFRmq~NH`JdOZ@vq33i`kvAk(*8%B&Lhn%`b{cSz`S0`VkQqZgm z;K9}b0AN}r`Dl__6-u0){t7o3rf3b>33~M8dt4y;@hPwRmsUpn+^?lE@0nT@xL)?Z zOhnK?!#_%deZM>c-rxV)4F!z7GO$cR;ZXSZFM&g+!21A2E!zkb zhb2`~hwJ!XuGZc>JF8ePNK6^rkU>scgAaDod(~~OQ4ws}3S(II zDg+t^inj^D4t>y5aEm_WT_zc~8p(gK58c02A6TItdz(C?e;Y-V`my}E8y&~jE4rcP zR_u+w7!c#H%(Z<2{WVghz3$ljz6>q#uN${7uy^CKKdSVINl@cIbH;mSzY-XIC#hWS zlRqqS)_>uWekZEa4P8&ANcWi&jJ;2S)bX8D?0&-AkaH*{G~l9+ZS2Si%F|3I<{ot2 z)HHCz_%{m{FN?Sk$X?F)c-mQ0P$_>2s=FYWLe*qzd?Y3yr^FtFoHilo3f#N@ zS>sXV8g13PFMDK%Fj!ySnfc;)3fb9zuOznS{oQTA6 zJDd&UQ>GMuhoRZ9XN$&jY){XLw33R&p^X?7730l<1YV^6l;AJ>k*2}f*zb6Sp6&k~ zbGxKYj{v0yVLpq-wu;nIjW*^B92aY32l5UhUfj0AbuiA(E= z!vU6w+ggO)CoX{wNioa1l2Dnas+R;voW2vqw@|xp?o5D(&ixoy!B7HYKgmTeyb!c^ ztxV9?qprD&yg@N1$bCUfg>c+%!qo>S2ucXR9&;yZ{Q2hl+=k5dtj@1-+9quO$13fz z^Sj^r_~!fl0jHp=9^`il2UH=Q!G%6uVkWPbcQCC%nhYjP)jKQ$-K6G`e!0rhY z9N35ps^CAN7k5nr8imS-^qKe3Z1+c+nG(OnHpQE9T#rQ_V`A7X4byAVlk=b`8r8%Q zUp6vXy=ZQedy_`i+PBHV=(4{%_@wjWPgInSm#$135UiD(az$IO`_@V7TtFWI?oOH^ zRl_GQ#|LvsV_0qU>Is-5=HW~!1lX}z0$hXc?gK!KH&B*$d`7UcL{akZSG{;(-c@|# z9WzC?azi+|^&84{Q;gg(Ke(Gn#~e5bykVanBU?3Gy1pq~|l_YCX z?iRA-$X%auR+^U{B8OjNnYxmX!dJr+a17CL6Df zJRxQj%nng`J>x(Tour3?yOZFDu3QlUWcvjG@FQdNx(PhH03Yg!F11r3-m?T(k2H7g zEH1}Xl=vzL%ie_^nLSI#X=qSWx=<%f7pi7GJJ)I|mCt=+JkN4~O05nf4B1KNn7)^VS3{d#wLAQ=uZUIi z0UaH@k0C-b5eeb_7gv|puUGTG-U*+k+pWG*s*`K7?!0Mq)Jnt4S`6=?D)Uaa>Dv^5 zs%w++p;mE?grP8?MuJu(uhRizPctt`?17)?JaolBij_PHU2|VGpW5Nde1ng26W2`l z35@-}IfA$oeg$o~17NiQWf~ZIHA&==w0xrE_9gt`NL9#a#djQd+1!AW(7^Qs8xQqf zCkJMB`AS%QW+ApNHwF0v(<;(ttuqRb#mQyST`kxFB*$N}sRyRCn2G%CBk z%V$Xw=|0`#=$u<7Eu~QqcFEubSG$G@R}Pqb}eBBf<5a5h8HVKt*yWg8LElxu2#XqdVEX>?#T!YquDy{^Ph9n?KpOBN5tel7QwsYgCx3)zR* z+^?FV+`yM!eChF9QGPBQX41p7@{A{~!JTKO|ruzqjKhO;4z1)6Li$>@=N4mmpziW9#lqb11lpqE|bcF5= zSa9)v5Y+ic--B)ga4VRuirvx1Mdm^#(3(*$oOpeL;a8b7bm;Sw&~V|pDiI{{Q#qR2 zs#IxOJb>>1o}x$6%#OJAy^B?l0;jM=d$`ng0WQZCsWDZZ@_FK{w%1J!CzjeRS1)>>|4xhkK0r$hJ- zkpkQW9r#5wN-GF!9~)XuFkj(!xE{1jEhRq5It|6$x$AmiW-*QdE*zY1($dLajtswx zQP}%%So2j72xvDcprBd+BVZ%{?YRxecJ@|Zb{%O6_}+DmVpKcm#S+~OK(gltsgjRO z=dVwOSX#x(_*|%dj2Hy zpK3zFke0#7(VFl0!w2C?G3+Ka=S6e(n77f)O~Q2Sma^dxBXNDt%@{i{Sl4^n*ID7he97o?{`j zBnp7Ep{!)6ZTnO~QXrf}xl(Z^3`74O=crL$>*z(ekEBaC?e&s_psgzeCo;pN!HHY+ z7va3;;bsjN;Vw>V?WR3`Wx7*vH2lqj^K)TL^SHt0f2$|p z?0eJUO{bDu^m@bVrMx>WtGT-Ke;bjBrGacV{oZ68%szJOEc+F_6MTL_ z^_h|;f5P;Ug%+}A0Q@+?H|63V1TcJ-Oh0fVkUk&`QCjc#CKkF=sv;h@G2rF*58?7dkmB#fKK2~ z%5jJ%2;=J9jLe=&nu7r21m1xlFq|_FlRM|C$PLcYynMfQ3sOdP+1~10Wggq#_UxFC zL%)s5?$7|m(?IfjarSRtePGL${EaWfPZxg7J_q0KQ__qNBGPy)JUu=5sST0k4mm96 z5p<}#ADG}a(wf31Az&*&^bz2_K@Y7x@$AXDThb!1-l%N3+lw2(yc`I)+%Y*${UE)u z6#=Sg<|UkXGx{n-J+k5z>BCz~UOT?8ZryqnxW1nFWlR+ja|#AKo1xL$_~m|UBu^<2 z|0SVQXap?2@f#DN+>4I&lr*g%oY8^XjLynI0fxT4oFZm2yXbrkL3$WW z{r$vJsr&qE2CEmu%M+ThL1s*e(=omi>y!(2(PyKdm)so#IM^-GW=wVCN=AOIm)evLw785!ZT9tl7 zOj8$hsNKatq9nYjX_5$y61BX*fRB{9;oC}2br0)9w_R8G#tbVNOP)QfcYN3Ew(K|) z@W!2->%{#lV!FPifJkfKf6jh|*!|T>HJjmg$8q$DcA(w#!DY4*`)|l}O-^F_Ip_GM%pm`53*-@}*$xsg}aWb1B(xbWz`rRYXUtN8EAGq_KKQI2OyIg*7D`%yuRbc4(a942RFPnhd4_lo;? zjZT@UStaoz8fz$8pHISY$XH?%_$fq~pGD}}hp%BccvZSb&VeV1!4>*9+u!S71pXrM7lFSB{6*k@h`K>7|D$~$ zv==rhFs4U+9`ix}f299s?f;UNr*ZOvt7FaI7h zZ5*AA;6~;>c{XUs2dgP`qNglHjTXlnXP4*}Pr}z0Sp3z8AXd$YP*oJJ+92jYjF6*e zPaD0gL=t1CVef}R?JHj$@Jowtzq%w1#wUP^))7xFE5Ua`#6kIDdyCcTccs|D%j1|> z%TkkNkK>6J;SH9{+C&cZa`HBgC{zdF>{o(!+PbAp<$4@G79^wGQ!kwtff52RlNI$N zX^b)koJU$`c!sM_qhPc>+TuXZK_OD&qxo}VN3%xJo$6H`4O&&aX&Kj2T2s8-aU8RW z3?>i{KiY3tAs%1_M-IGC*!98s=i#bxf`^~b&_Ry9fO(p;&w8;~3MLv>GgcajU@|PVJbtZuVS$T}-!S5@(C16UEtn2w5Jed50awai+ zUh9_LSj75*k5&VVyI4|l&OT3HB{i%o-NLOAxI=r{^A(bPKz21iDu+xRzz1cBTr-OU z64@=jk0@<%iaTKf3SHdy*jOxi;B7iyN2oeJjOC}u3Bua>^4dKn35-kFbTMV=`+8hH zB}J`j+VVXyu*g*qMy$dIN!GT*8ik>uJ7f|shqQf1s?t*uqbEd?v1kCU^VaA(F?Y{k zr<8}i4L3w9q1;`jD4Uj6K}h{KoD09MB(=yy%oOprvV1GL3+Ht3AGeA}u1NJjE(_yZ zZDySr>bAUzn+w#O>mDP|L=;FdI;`LIx?ZTiN&oXr- z7pp-N>QNDd(_n^n{WCcxYb*W%dy|4~*>*JM_QdF?J^f@Vfl=~eSd)a9`RZ;#^A&lD zKR;lVT+Sp%^tsV_s25_?eP_pKA16D=<(^OO`RNMr8I%eb`?1$f=Kc3_0`qhGp|CYm z@CF$8Q9nuGKr_%#>TliZ?kxXoieF!ma4o|(GUKE`7KgwlSYlNsxi zaZLU3v}@`S;jcAa#((c;e&>w^H_^FRkeM^g?8ZsVet<-~&@}ZGjHnnGFyOxdLXCyz zyAE^(+D{sZLS@A*^ea^X@34tLT#rnVE}5<+p=t)LuEmy_3DteSBIH%G?x6cn#~rVb z6r4Cgyg_+X;O=DOp&RkT`YkL60!R^}=3>u?UQ7}33pQIR)<5wvm*5^{O5)4$TNY2aDS6{rn_K`8bScO8c7gT>4Fa!@xRRfB)1juPANY)k>?wJ!9B$8Tl)MA>Q~}p}TcBH$ z5p7fMn|`v1C|Z465~~8Qi9n&$h4ERn&s&S2p$%ZKRde+E#8Zl3eMg00a)IcHvvn_r zwwQhjmKsB@kBGI5?nz8n-)?`H8bekkk(97<#=+RLGP?U1o98q#)e`rdrDS0Ix~a?n94)bd zpn3Er`qzE@n>v0kmw#l6j5rQIh837LQgwLLb&9ojai<1N( zBAWcPc*#r&Bkg+_LMcc-8q}#j;2-tX-ft+`8+z2F3;Aga$3@k={+duxMI($-866ru;LJ38bbBpbX8qnMyADyTNp` z4k^FZQ?;4GI1y^0#vK;Xm4Y{?nnHICjjjIWwtRc&Eu^}GGyJ5g@TgB_GX+KVT|!kt zT=E*k88(e*hC$;>%ZuQ;z87)CRs0vlm^4jad-U}A7IaB3EO*a-&9z!lg&7_4z=*3O zTn`P`Qf?8)h}`z?zCj8%h7dV(d-3*;@B&_%N9-z0LL-?Tx%?N7oO2!j=#^|Gnvug{ z8ysy@Y8OMpN*=GbPougLqI=^{!zVT?B~bjRWmy0)uEO~^m7{YX#!=B6p3|&)zPm`I z?E6^m++2pc>i>&@$7n7TwWj-(i${i`b9g^o+ikPHi$tlM=U$nGY7fcJW;R2DXv+#z zZUDB#4WgWZM!oO-wtt-FxVH=jJofRlIJox2XKn;|xJ@uW<(;DEt_2$@HH;I~Q4aI?+&os^Z4BgIuN(=wx{`=ow1pXrM7lFSB{9lT|D0pN6>Hm+S z1pu%J#DWy~2lgTa{t5v{^ncR%f6%DFIR5$E<_~)M51I!!V*Zmq^A8#hD1`p=x%nUT z$R9L2P^tPSf6^Z`#DhNq=zGNN4V%zy_@8>2bnZmvtyry6*;j_AKZ%O-7GB>KvL_Rw zUjhrP`wzI#UTZ+N7vcw)a+G@NquAoiQN(G8quZ1wM%Oiuwy|adLR6UqVL4A~dY2E2 zLuK)#`f1g60q}2tNdW-5;43iEJS>c6V;T~^(Ma(KS7e_|OjG8*m+Ja5(Gj5`+7R3h z=7eCZAs+aBl*IW7N5}3gwdtLBG;1bqUcyB*%yVMFu>L%UGDo=sVC(5lEuKu`g|jQT zCC4#Ee$VBB0H9@$Z2%*9j6}RJ?}Vlwp4^7{m*pbWJ5thsWX8Epo)*m(oDNEY|18j z1@p=LSzyoB8sMf7?3ao~^E>O}HC%SN<>axvBFl=$KK29UY>iKxLi3dTeI(B z?Jk4iJ$rx`s#uVCE}!$4qhw~s)bpC-?6;xiVcldoV>p1$X49JvKxd6+RuH#H;JpI# znN=Kjg5RrYlSg~g16lwH7KO}Kj^eQK4JH2S#b}DOI=i9vF%Jcc)M}F1%w)P8)!%0C z+=nkcI+c@rjmL%a&02FTqp2(+^P^6avX->Y_<}fA8os(L00qWDfC>RBY}Ks-y17|g zokGsY7_g&521+pe!HZVn%}E5J3{|{sEjpJfzN$x(A>{Y20ff1i<&^y{?7DC1I@rPR z@;zw$@O^_#9=)E2J%(63V+?g3FP}2xVntpTzLAY(IY1i!3aI)VY`;dms3~o2M-=YA zKC{0gvk6#5Q~)96L;Ks!Ln4C~HKVWrDJ86}*h|bDX6e~NS-Oi6N|J+u<1p3+#i}_o zxFVT9K$F$1wray7Y?ac=Hp)#CZP(?`^YOHGZjY#Xm1ie{e-9v%{e#`_SPHfuLy>Ye zRrDItaa#LvfAUK3wpsvyMD8rHp+LeGxAEpqGeDN-sK4Q2#(8?LRK@l+9-0_s0%Rok zOJ^VSjKj&i4-)7bHPi-*)zK;FjjekxxJsY7pP#i&a4$C<+#&dj|+GaxEF-eRYb0{gUy_6qjT? zecbC$;aOtKezWB0&9~>3q2ooXaD!f^2y3e0F07N((Xd9w2Io8%3t)J6AK+!fWDt^a zaM(U1y`OwJCmbr##PC8{2UA(RAfYb|9g)FatOL+izxAdP4QJ+k6vjhg zf45Xgx|1Qpt{%-F*%nFua*g~Z6L3pKgq-IH;??48z5Bg0V@6E8HYCA``hZ(E&=sX(OxOP5!v52F?<7;&SQ@x z*|3{oaeW7y${S9o(A9h}m?n8|AuC$-GyW23ouh8(Oyd(cQPYQZI>l3mIY+F`2wYaB zxL`0I;5KL`BHY>Z_CD41Q!SBh4#1=>k?qt5L(!>CHjtF&vU2VRL?^E$FE~A=hcc2J zwYM6iTYcuV*7c+WNgK#`}r>ih#`cM@Et;MoG;JHf{Y0_1@|d@_r_ z40^J(3^_B)#-|!U`M%ASq1Y3FUkQH5|uV7NET;*k=kv8*B#~JNFalSl!kYgi4!p zRM*M@j8~}!RaR!(W#S>J!G)Sw+4tR}=kJmI60=kB3cD>$b3&0fPuxu2rB}ESOhUrN z*`2eAed58WUfWkbq@pbKiD>{{+ot3WHB4Y8CwMd?A42bcE0twQD1>;ORyKzlSNG&~u1 zD~87OlfuODf(RpKcbnDndekDw9+Wg~Jok5|1u$mE-`Vvh(MX?+i4E38@>bPk42Sm& zTBy;1B0O=72Ny2w!&U{zP$1X=fVP+xaoim9aA8XBjk_9J_*q8y5ACWbbj_tUnmRTv zl0Q<8E+>x>owY_;a#m6oc~XQ+iBmBwsk}d-^4-&|oNMQ)q$J5=Ko1c~pM-YFG#U2H zY~dn%T0<)^jiFt|E`m}4J9Ah?tW>9%`WWwWjuLv6otKLH;@OHN&b5YZo4Riaq>O_Y zFL|B2I=_~F=|dv=m{?ichcZs{E1GG^kNRM1V)5frwO#X?;KsK!nb@(|Wrina_-~*^ z^$erxy?svAall*26PR>h-EtJWW`jCOp%+*T@{N2WR zz9bwNQBS+J5(rO)SCY(}KEymuqCilBfB`Nnusv#g(*8Lt0^72v5=6zaDe9Q@p+(Zi19-W&WS=8rMk(!T*oxX=Z+pQ{V&gl!55rckwbm52QEmkFkH1Lk)g884-m(vr=Ha?vH$qbPMj z+4&SzakJgp=zz(_m%*Fc)m=BPK@&TwLeIhc-mbd6=gvkS+Z`WS%zWBdLhH@g9i^#l z%+buebDh4>eIA`4y)Xb2NjvhyLG>GkraDD}f@Ga5ip24jPv9#3 zZ+m1kMd^cjuK$KRd@4Lhk`oR}@7eFdS1f&`d$;`nE|mvu^EaQir(M*yRI(YkdQx4x z>J5UX81`$EsSHU(p9{skAqX}*aT$D(6x2aPeBaQ42BT9rmA)$Ynk{w z@p*HMeNg(9uyT?v58lt}yk za$D98u-uV{UTYphxP4-_uXlsgQ@mJb#gb0)rI~J8?B^>`Jfl5%VC*L!>ivg{-`H`*M0orBqk+?uFF1^$V4qG{ey{ zFHE&fDezj0Dt~?00W#L@pFBPo5@N#NjJT!@EaWJ>sNs`GhCCK28!U7qdc((lw0q~v zo1K_lw;VH>{)Bmn&tDilomyq60{UctQPKE^&kmt>{?@Q^z9O)@yKf^m0fzlxCmfX- z5Xax}7lFSB{6*j|0)G+si@^VB2>kX-1lj)y|C9A5;K)x3r1&20paW%^f6|~6JpV~o z{6RxM%nv-iulNU@^9OzY2QB(ApYZs8{2%nzA2b(G1pH@yg8rcA|DYKj<|iKG2W_qN z&-aJ^pvi!iw|_pj{)2A)gMJFsDE`TB_y=A62Mr6flKqokUl`|k9nXT*?xs!r=6Xh@+GZ1SJ39+gGVRjXHfd??wYv%U+17-+S<{v9!EXtX}>s_iQ=rEQ|!UwzEnhJb@Q# zl$8~q>9f-_Xd8_u*%Q|}qY(JXl0@7)LhO1eW6<*}uzI%4_8Qw%Z%v~Tw!EA&;feu} zva>T~wNcH?W@J0wINOpWqVgtYvr94@}}rWi*wl_;_y(L@@#n6pl9 z9nD^N>O|vcWWfMeArhqmbJA0N2jFp!d@oKHjLG&j$i>>&ARKzAV6N*SAfw*)to}ll zr#DOdhTc)hd{reNKQEO%#?UT6x6iD0uHq!LKn%(yN*w^1_|pYt=tFy2xjn|y zQ!`;m*AUvb*}(xa8eSoMA(ATmodK4diMMS1+lYe>JASZGnaYYHPI24bZ(CN|&3;HS zb(tn(*IrT{LRyX24!Z3)FRTRIwY~c0H~S(fM-izH0NEr-QAk<7(g@g(Kz8WQj<|r{ zfN@)cbdrgb8`>`HD#%CThkW`)=!ax^GK_+#uaP_bbzMF!)p3A!wvK3k595==YUXY` zNC|+rmQ21{{4$fWXPzF$bj@YE_XoxFNeIX;Tzvt3(~O;ljy{%4*XF#u8xt&K1Pt?9 z928|qu2>#}AgXxlXhqv|que@YqdVg_kCC6 zPoNXb%kAw~^Gy)m=4BmEysH6_v+)UKuM+}FkH^B~UkJZhRbh=XKW}i|cn-V?$OiQyL@WLA%c+vr?Q#+(=JbxcN z=uVx)hX(h|?GlB>H^37nAuu<5Ed1`NGCL(E4xw@jy~ zn;7xtGI+qXsT3hIcM^1P3Hih z)aq;RllnZ4FJ)-mu!%JNvzMDia46ytC{TvGVUTpTIDOOM$J%u*OG7Q6bHh@I`%|>} z|DgRcKSy#f$J6g9+5$-vtqO~)>P5Y@Yz2JS8Gt}2$eZ(?*;5pboKZ()|3+>=bsYVXI9v8yN z45ZQIz?hPif3JXtJlHjU5h>weZlEU^f=$JM? z{b;9??K1wWp|99gMHI}^iE}AXvT|h z7>e?=41$TUe~57fF_GqQGy|Zzv0%$cze+h49oWeEpDL7QRWnfN3QU>+1e>z_cBW&* z)(O8DOg6B45K)C1YHVCC-ffClSsUYGdS47}(pbY;#=WfTD5vPvGyW36fHwv)AY=E! zTEBZqWtP;+%w`GzHC>d}T!x64mU9Ee8voUh_+X-+(+{TK$RAfAt1T=JIbX~sv&2II zal7fAIij(l|6PLf`HE4Mz~0KJ3tM0hOo8n3N9w9Hop<4%(T9w}@*!7-Dli3{^AEQb zn50A&{#p@Pqen>*<8TMC-kXOmN=u)q4#bK2u}e( z({?E-yk0t5d-=j8n_BffS9-GFh3{kU<|FZt&Kn{C*;-5&+HaEstAp z9`W;IG%*I%T@h;k`R?ai3foyq|J5Jw7iapf$R@DfTTs6&92wfbjm>DK26o{;YHJB) z9pPS5>6R$HfR}Z|)mq$l(08eKSh3?nVe6uM;b!4%PtZj*k5~c$ZD{HFyxJ+7p?ZHk zOD0A|4Y-R_niHlzYA@OGK3 z*i&+Nym8CG0U`7TV-%r@AJ28s@bfVbdS)j%@dmUoAfVeb;2h_n&Soqck3HEL$J7R) zyPxr6!DqC{CL_7*eVTI#!+d(L-_i8)9@~{Fmz8;NQ1-AxVl{*E|6%Vfqv~k7aKVGS zySrQP;2zu^LU1Rzy97@NuE7bKpuyb<8Y~dp-Ge1a=A0Aw=9{ed&O7V=n7OlV_FAX= z?C#yWx}VZrwX4ehTF7?8*A>NlpOCgr)Y~IifOUBe06a2#EP>aAGfp!O$bbbN|=;7X(J2QTP zl6PCG@3i~qFh9zvPBj519(FKOA5vg_ApW9q8LE^C*n8WLHC^^W{^$e|Mb?fE#=|K+ zK5PqfNx}{p8iy@&rI^S?Yw_7P7dAf2z~GwT(CPLq`nmkeAOJLQQQ1xjn-2(bcrIj+ zMj^y@aI6{}FadHm!!iST>=F6q|s>Hs3co4>#-arW>u! zaX%(E^ROOz;yQ*B-kuLJyW9-fQ9eC$ixDq<8`ceg9ZH0Y|sd(wP%w55lF+*q?EjNdpT$^7Oy zqgg6^cAP|CO9`pY@y=rQw_YK`KIpe!0DtK(0)G+sUkib+pz#VI{m-ob4+XTtK_vfR z|2~fY*FV~~K)W79@W{XIQ;p>bYjOs_ zP7MIy9s~3)K>El1;~ysM-ctRJOEi|1BjR((ue9pyIm0AO27C|NrzF z2WY>LW_zucwDZ$UDWiAAz7tBd&+ySz0t_PXkV@UR5gj5><$6@&RN$e8&id{4=f-w} zw9}MsMcP3J3P`T4Pyjr(=?IQm0Kj?SH~7AnLyc9uH1v5R(B&4YjT~>-aiuFmO>u8F zWM6Bp2Yw3pM!M?Nc;e#m#zsnY-T}`LU8UXJKOM)a9@(-h!Vfpq(~x0Rz|dmRw>>e* ze)X5`{rK>-tL;nimjs+*Z&%kq*oT1gY9g+KeH<_fm)%CS$=V=&d}X!&t^pPm-lW<0aiIs6pGGUK#TsbPp~Kd7q%^)Uw!U{a$2 zClW^g=IfOlB{}k|^0O@Fl@rz3eokXW)K#}G z_K)yU;@A~s5GpFHY0_UTcsHpgN6o${Drwu&iq%xy!n03$W+U{z879j6G;Yg=4MloM zV7r{sIG^QmCS0B>0VySk^#&GCjRsKI5<#`S5&)%x{X-98?l9R3dH?O2Z-j5k#lSoM z_sT@RLpUSrzV@|_v}necrqW-?E7%k-_FcQs5P{J3#bf3`B&*nAoOmN3)I z))wNt^d^%bCil_|6RUQo3STO2>}=mv^b~UFTT!Nb&71sd0dJo?(l61mWdRnwNdW6& zXer=ylY8!VY2uo?AY)i|-Yod>4ttV2Xp=h+GJ42{?%+*i4s@wHH?p(Ld@PtYr>9hB zD!Q3=#+({MyiK8vU!4cFuYGuUiV-1v3IJuY26R(yi8?Jb5rqAu+nC;ggO;RtK( zXf&FZx`X&)$0oyG^9bwnQ;K@kq#-|nS@D>?eZ4FTg?lYhVvjoXu%B1+lHYPt7&cN$ zI~=ZJV>JinTdMP3d?i49L#pbmmGM0q-;sV8?<5UbZ8&BjKj5=quFK&7mTR$<)2_+< z3bBfyjrx(uU6eF9dq#NN=U5h=QX_2nVY!K!qhR{pv;&$*CP0}O(;IjIks92^QK6ff zV-sa!E+GWzB*uJ@RzI<6ZzZI)3BV0OsfSIZ8j-9Ew4L^aNXO?j+15 zsO7ihL&SQ^dGnb8Yok^g)MM;i)v~GkJj2$-(NMS+Mc;{R>NxPqa-c5POjV#ShnJ;< z@=}vA0U#wdG0Q0KNGZn7a*T(+5Xq_>Bw4AJ$L+K$df1USf@Xh!v6r!Ug2@{?u4pmB zbQwt9#L4e*;svnLbpSOS0zq0pWIeRK3jgHNmW!PU)}%&AHJspk*W)(jk3y*q*U

              PC9O?ZsSg!9GD*)bJ{_3CsfoAtj1?CfY4p{L$=L}FP%xdK&z((Ik<{B}JopYd z{;Ah7BJ^`I?@qAHDbE+-7;njsriUPRBr+mfGP>O=zP+PPhqq81!=qZ9FJCJTdN7Jn`+Q7g_%Df+1f-;m+7) zJsTR5C0T`-(_7Ef-GdibvU@FGVDFX&GrIwtAI3DUpM3op{C!(g2BVpry&EtQ5+%=u z48OHeeO^`m6kYzirU3-MB_m5-J;5Xyfm}60WoO)`N7llYvzqP>g!$HUuQ&;b87BK{ ziUV1qw`T|Qnwv+l<Di-Y!);ig>kqb_<|)jKCo}ssWz``r!qfYIXx;N(N3R+j z%>Y0#asO#CW&MSmQCM2HzP?qOlmOZ6^9!Lp@1U=*>RoHguBx+e zo5}RPQwp<5dm4i;PhBAXENgv#@?`Uj`v*Y-5}(uN$M*$78nr5I()TqUpGMyA)u>?3 zmvQ718xQEtiVgNX+1S;7A%rsc;cJHl{wp5$cVTxCA3h-tzQjzX>B>WKJ#0fhS}T8Z zqUPj{U&$)aPiWd6%y9C7ra02`Yjy|SoTroEJ3phBhq@*?_S3?3+>LNn;0*Rp?Vrb{ z4cH$G_@RJLwim&s%2uARhMf!8lBz~Zv@E@%@(Q3^fJdR!6u%BnYep?OZVhy)FR&$U z%hydOK8=Gq~^z3+E1Cb+A0J5?0JJxvnshA7+&7S1e=8Z@!>ENWZ5yTnH zBYpm1xHb4PkrO5XH?vkY0-HcCAFN978Zcl#V8TnU-D(ulwG1)HnZ-+Gc>ev6(*i~f zdeX@rflykL4iF^C_p8gZ7@Vaz)96ck>EbuB40xB4KT(Mh@zOEU(&k=h>;i6jGrBKP z=DoD7n@2b$?X7%lsGgTMAig;r-7vQT^uu|Pj-U!88JuB!BrQW1N%V2CxAeyATT&{^ zH|2@SAw|BS_PWHG;><8GpE9j@(4%=((iFPrfd_zK`Z3Xm9bya+NL5e?aivhf#hkuT&6T#(<$L#UvH1 z14r&Z`T^TGRe`YgAp;$OwDbd!&h&DwsB|$xB$&}*+(7Vr>~W6W6?nO}-*SJC|Gz|F z2AmQ=_Wy&?0sM+b|9{YWeIW7&p2>mdNBe&7VZ0vX-w&dA;G^Wg^W**dhw*a|Pf`@7 z8o)E{t=vOZf%ucKawwjX%pr_qsS$*O*{wlI8yRd#Ude0>W)qd1#B*w`|r>7wx)3pjP zdO1IQ>~FR|*q~tD($G1#VgR;Dq^uhMS-O1zT(G`Zg-={biyUTU>7P=rl z+G)Sf(7^JUM;4~9u!m@$QnioknReNs`RUir%<+qoPx@Hg^t9Z=9lA`-C>H03-;V|= z%2^Lmd&6iPQhY`d@IpliofLEmV;>75tpS22IP>Odz8iOB-y)7%3?3UH#ebSt;WZ)o^h1p#$F<18;5FGLHhzfC!oc#3=GwDe z$XYSK=LsvK|HFbM@QcY)P-NRbrZeX6VH+qRA_*pMk;HjPYA|FHarj01{b)c!3lHAC zB%Njf(l9pD$`wpcodf8DhOr<7d$zP7&P*Ni?$8dvvquiT`+`$X1IRiBk~Tgy_-v97 zOH$dPBckg21l#5JIoYI0J?{bAV4Am5w|H(LzfG6_)X0efRl1+D*b zu-KkF|2l0MfmKjQy)sX|hbi30){@ts7tc2j60CtYdN-gFN*xyd${gYTg}}Hqm2|x= zyL`(cB%^xjMK0B;!vdB^G08v%7Kh zpCq5});Kdg4X;{&C3xLkd$kmv@R`1B9Xw41@Q;Q1cde2COHn;w-eUlFSzBrotjC)n zl77XsA}rpKwe=V^VEjlnNG26Oq-$V{EH@14Cizx|>7UK4`YZZKstNCSvuS{Y63Usu zlc({)PyC+;B{WVo=vW(!PVdhl-k&jQI1x4np4n%>+zA??r=jGF|KJ{pbFqLeytx_&54MTP3yXS`cR0lrc z4FsV9_Qr;+rx0fwTx#g1@XJVH4!VyO&!>0F4ZOkRUBh}WF`NlXjz0wl55DK%(A*gZ zY|A?RVsm!fc^iM~jpiZKS*^1IcZW8PsKeX?I}_+Ir(j(% znF2tij;P4<^?6M|w?%PJA&KtkOZC)GDP=J=&isO)PX@4ZIQqx!JLN67;q@bi2OMTs zcpLrM9Yu1;!gh&5y_01+SZirGIl*t?Uj75-%X7R?Jtjr2Pa+^ag&4nQ+8aOQnYvM1 z&}G0TAQEY76UnnDI_zx@c5qD~W?tHbjR`lr(x**-+kjo~bq6k&=x-#-R1Y$8zlH@zWDjDMQjTNUr|~$9mf{a za$~VGz;PN4L5*%vskKJa;&bD{UYFHLn{eitbBiY0^HO<#H=3r?DGoti82x*2p7Fpu zNw;>rzC*v0S=gc_&xNyq2nY5+F6q_eer%^9X#|&7|FpwOU`1>=6YwoQUp?%w@=xn? z1mb-HPjY$`B8AaU%3!;?{l=U^bsGGH4;Dqn#eKYxj85s3H1#slHc%g6i%Jk&UU@&{ zHs^;KS92N(!=5|@JGFE8i!jNk^I>y7y)r+{*_hAo$FnY{2l?FX#uf3bPz|jFc)Tdy z@Z0f~elM=wcvXf&RRK*vC8>s?sH~eXcxP9sH$A7E5`=tpbv2n%XcZapowqT0A^Jbq zpR&9(=vT}|RE?U=XL+-{t>@77a)9NMyQBZB3un+d-43bKK*|Htl=q7rIQos0QcAkkgi^u{Yd zL%8E(s)et+wnAAOHTyT)<~? zfIo8JPvYU;ci948|U8CnBwSu54V zDi(1@TIq+KbY}J?#m@*WU#oG_nN;)lb=~&cqItOxgfAl%D+WU=Ou0^tlvK=lL{Zd7 z!Rq$bMp#HdfPiEO-yX>1=AZs5xW{zntk`??{@AdA>_x6oKHQ13P1nVHYWTV0QAgT- zB;%=Nam*WSR})w?E~MLSFG_u3d;*~bm(qR-nMHa%Y^~0pYvhW)u!w;n!nV)F2#|b76+W50*bss3`5Az`f3nRpe?q>iD0;N@y4Alk=a{mxuA($ z8vV<8q^Wr_=ijLFB&6Jc6Oq80dcbS=gu8{s0Z-MpPxoYn60;u1fV9AqSpfi3;KzU{ zCgxE$KPZN-;MELS`Lbz!r5aK1{O(=7~fY%Dvb33&gGWL4Ri^5r<46WllAYqx zkAu!k!v0cMy(BJnKNn?2$TC;)vOU@k?}LFwD;fj5AyfSvw#n^rBLokXo$u506?IHG z1lQwWAxHpY4mz{Xwi5;%*ISCp3Mu)c$nq|<(oP4I{zV^&e2--^mh@Z%PhH;YZ|m3d z21{JH3p~^`tA30SwT+ElvahTl2qO7CN?qpW%R>CBdIW@e@+{6s_*=Pz@m4L_U9?bK z0iH5VV!BK%`UEh!Ony_M*~xxZYPkI#^f$IdXuyG&AA>AZ&J>#1R_y#0O9Vp{Da*uy%jhrZUWV4c9x(-5Iw(}NcO1R#;l zAe;3eaSUbq_>5_)RiKM7x)hrg+LvnMEN5s#V&4t$cw<%~V$*Xj4RZQ2*|AYZlK!x+ zES*drvV<2OoWu5Wqqij#k?Q$i(_2+RkZKrMKP2URSgsjS*9Uv$Q8s!~{A!&OiZkJu zQSn)`8H4xReh&N5NV?ChK9sMAq9PKQcbG1(3K)M0uUV{^EkvT_jcswFdq=@>8v9#@ zpX0(V9Rd<6qNGv8>Sav~k0)6QI7Vp}#l5>~>YEB(k|V(d??3hI0D^mJKxq~q_n~aQ zczuGfRTho8Na%XrfDJTmL5IFvTzagHQCc7c(e( z?Vp`VTaOaQ)#uN`4K0&2zgeNwX&^&hab?|_amo$VWu5Y*d3sqkAS2Nu$7CBzG?hqo zRc3IFrM=v|lTLgufx3?z2Wa+5P2;1B#q zUnsk8i;trf;P28GzC&>{=sFLnvAZdO_UdUQzIh7JU9<<^d^jY7>`Nd8)ip>Sh?Xd$ zAHyA41AQylalh@WP)*%hv*$u4GKy%oI;b_=#eYtjSj+p9+g&W z$hul|bOge{1Zj|wa;a4SZev$b;gpOPt-1zzF4RYi^Yy}>*u93i6-_*JWc6nqp-flU zK1}N!dAU+Yeiz-{z9V{CR#tdL07!{sWIE9_wdRJ88|oU|A_SMbsV>%3U@a5DQ^D*l z#nm}52LH6yg(!{lFu0%teG`cM-gRUc9YCW?E-b=%)fIAmuV&tQ9FzMk0bJ_vp~??x z)kv3}vKhDqP=^!j?NiYg4sQrF4oZf}6!+Ywq8@-TNa?7XfPgz}5=aH^H*r#w8X+Ce zkoz`D3Svd-ibQ)T1{69fq0v{BpzeWSu9#aYhbE=djXA*|W5_*?1;(GeCSOD%P6Qlv z)SE<{P|UKIlSeTulIvaL4Pj_Lf4)UJN5Ve^P6u}L@SIdG*IB(pqq;Lo&hp5K?4=XT zhk7+b0Z%e=s4c-5jO0uTzb4zlhN4lZ)q^Im_rA*f28f7GGzPxKdL6>=bZ*!loaKxq zAHm!-v+RYIB&@nDZ}T{K`6!h5kZ*!U3Oq>Bt;vySG5LG474X#Y;gL?}Zlt)mCKzRw zu&%+qjmh_Gf-ltV_Ki1YU^7rp2EubXk@(K_4aD|Sy7(n_g+aQuUX9+dd=usL{ZW0N zPRz|~SJ-MtBcha^fhd!3;XtGzX(+K4*0+b`bfBnR;4-|59%DdotKBsHp?U4aS-mw6 zMA)P-VyCQ5jx1V590By5*c>s1PR6s?$y2wQJA@iLPe?qX_0%fDa9-)R?A(iaIQ3mz zXqUm>L}diWie%Mq-NEC7o^DQVw!A(}sm<>$VsG)@Y1UY0>84lIb=Bn*(H8Y9eW1@a9ZHF6RB z-A?3~*pbcfUe3}qRE=%lCo0ZIu~C_3r0>+%jgPp_&s}6}-)yt4e}x98p^Jh(I_kCB z$kfVXNXvIO5X$F2-Z$J|&e_5#y#5&zvow}mlvCHX5-Y|F$e$I00=yu0hE$>aKZ_i)~|iW+Pa10E(oc> zIZ2+Q`hJIZ-yGpGA3@y}>ZuACgLH_mS~?|m+a*}2=oAd$6TBr8JSo%0$Vc?MS3;&S zo*)e54gHQ38B~kX*>XaMte-tEwt9heA@d;z*XLmDnE(Wf$yezKe@_ALU=_b-)LhUR zes@fbxhqyQmU@zoso44rVYSRoI=pwv77`8dLHrhj_HAzZW-0-(p^mZ$8i0b z8Mj^1@O>fAL3f7uT%kc*&x|4Ny)y=cH7*%#^?gsPxcD1zuYKcvivj&OWJgRv0Y3_p z6%O6682VNyA5uJ1Gasg{AFP)@7Pl>|;Yf|x4ALY=OfqjdIK?cKWex_1&61pPNO=E; zAdB8dJAsgU2Mx|@0Ki!Z_P$XD8J2vm7OmE7m2XRGo-JUu0o1|l0$^j2*zV>epdowfQj!5@&W5n~OjcKAM>Ywe`C}?LV#YZ(C zwYe{Y5*ErFZFbojIrGdHC-Fx38tuxyrwoG#k-z(4SlJxoY0wo0yuPukVkdjL`Bzx7|@Qee!lL?U(*}^Qy~t6)uQZvdPOa1FTYG zsBHs6-NlKo>Wmb9$Wb__iR)IpcQrn-S$^)esQ@}kqSJr8(nYw(B1?QrDGL{>(s76K zSp%^J0`wWC?R1R>x2!BSD`I3lVnRJz9s6;uNozxOE<$G)PSYbDw<%4eRW}zD?MESP z3908;UcS|8)9*|r+V$HEZelsYjLjIn7fSv#>JT2>)ER}js{WZ#srUl#!?0BvX7jiw z82t^(YzGqduUThSpMT-e2>S>5CGb9uy*$Jr0Ps&+v^-Whk3!iG#RVv4|34?t+Wa8; zpYi{H9PcjxR=4Cp9U%XH5IF&B2y)>0@&4jNe*kFxz>9FqqL(uPdA^oBm)C(=RGLO< zI`)`{S>EGnmla#nuN$_i^G5Gn|Xf~3VMBT8SP-xKxMNzwdLwW+RCS(3)_*UY0+-PvToUJRQdbPG&11%2)W>YV%YyFZX zn|#9^sw%+PrvcZI0*P;e@)eL=f1d#5JXL*^?zlDQo5LQQTf4`USQn?FXVS^mG{L3u zV*=&=84HH$h-T5qX7;{`;_?@PNb=xG z8ggSJf-}~M?PER8FM9W{umQno+?oazO&FIu#!{J*WqhUZHZ^-3fzA|Ot#3l{szQ%L zAwK!D3X^|Mb%WVhM+CPK2-+6KuTwVir{GKp-}fw0wqAX3{?sDR%>Jc42r}gsypR__ z;kz*l=VZOX1=^Edw}?gW+$AhRKxzOOQLG1O{&B;uN7vs+p^FdeRB`pBIMLmqlu))C zI69)Y$4*`i31$L;iMP{Zfv>=>({)7EMnd3fnlh~vomiUmM{I7UjlU&?N zhiL~Y-NmstDwW`>ic#?G5OgT=YEN;z|1IR`lw(UOrfnMrb*dmYbEUpYhGsMr;tEuz zMo!BPS}LW$7?*9(8=a4~XpsvzL(FVSWnkJU-;ft--wMqDmP z07w_}7rR|j#;yVIaB)cMzoz9&XNg+sZJ&T->@ya?d((x0zyOlnL)mk+ zOWqQ%N`QSuWo7Bo%X-0Vha~XwvVJ8jw*@%kqWOKl*kx!crm#ah)M8B*x;fRMsOiU} zWv?+qxD+AFCiSxb+ZKJ1Tsd;GFXheE?5}j&HHz_ASap3==Z=R>pC!P8f&;gSRM+Bv zhQneOHp;0{AqSU*b&#{lMM2=djWua^_ng)Mx9U?2utO+%J-j54nqlORvV1av;l9q2 z!!X{dq^DGSOVN92DvVmI(^abrzOV0~Mag#X4PVM^a3|11+VPtkz=DHdLKm&*s@$kD zUaU)L1h}L{z6&d&IU4VKR>LxWl03x>2bhKT`Wfa>eG4tt{iTCR2SJ}k-q&mGi;O6a zdNW)XxJ_hq@`TCI7RJP2HXbr4XV)+uu7g0W2ciwX!A1nCU@-cQA-F&)=ynUW2`S~d zVjhc~Z`N#;<}J?<>n8uX?mk;~wGwz~k>h zilQ#JscHm^%5@at7@+gLhZMQ3~(tXJT)~)UYcd_ESzU_{?KzbF=yNA^ZDR?izo^Q}G*$pR_f$K53FZ zJhE#nzRx1JfWb&)F9*;X`E5Mk|m+6xNDZ#p|Ds3V?XsK z!TqaHXYQ__%}UvjK&62|+kA(f9zO^Y=m&2Hz(!C|g~PcOeN64fg^ETxi%Z9L+T%6{ zk3yFKtc!D;fI$daJAZ{*K8}yGpQ;U9=Yg|=qUpYjt($@rnoJ>pvF~_{RM15r5o#3Y zq*16;LtA%`I-%?B@Tk<+uEA~B7_XAvHlj8WugNbqL6JP2g4B8Wvf5j$9O}m5a=KcV zuUYc#%W;m+xgob1>IK||U#2z%^fk_N%@ zm;NH~7lFSB{6*j|0{?Fy@OwxBWdGy-CpaTuO$9PRBpL2{n zA3Qp+|Kq=(SNMYm0N{{8je%Ib&iBn^pAtU7`sbfY5{ZWI^6gT$XRS%qo)&O7<>gD) zDe-1{zuVh(CHPP-(xiXCLECVzMCP94nPIZG7cB8Rdf-q%x*|3p_jRo|YG;aQKFxO% zYG{Vo9PUg-)hQ^aYc`sq$oyMa54uo6x^P6+8`JxTs&^x(C!!FJnW%?%RdwV=Vy=f8#ZpbH)J zULhg0X(P6iC<&M}B@_voD6vX2281OM7jj}cJ&}AxaQ_z8gD&ur3456@46Gp`xijyq z^rAG7x@^B_m1FFsM_W&Hyv=<>DEV(;J?O#&y_Z;p>S5NSADJrkTy^hkT`)4J9>lOH!Ap>R|NLObK;nGfm z2cbgb!B>98-f$=F#R=5hohpu~>KNB}f)7ZJPp~HWF4>*zLLle^;cosVtOs2Lp!brW zM-1VNYP!Hf!8cfJ~n8U>GcCuz;uM`}pbK!g|m}2-5YmBmZk%z~-@5)D|03`g zfxig+Mc^+2e-ZfK5rKK2Ee;|`0Os#Mz$2)!LJmBOJzR16gYWu-#{%m3Z+Wvn_}V{s zSfIWB-}2gj@Wp@dKmOq5fcE--KcDdjfA9w{1hmipTR!Fwe)$jn$%Frb7~nSr{TH7p zo$`u9@DtT#O!IwuDXUO9tTED289`!R*(ms7-x8jwkYQ^8#v-;jcso!(qZ1BO)!Rh-msk1)o zlC-_J##zf0R5{AdXbib$WwoH*Y~#&qO)OY(i#b`VrCd-D8DZ!SN? z=8D4gI|ZN0T!Wx#uUDOYaXLW(*Rf$KMCOKuW9w^-0Y9PI@sgyESe?%!?U!Fec`It4 z#FR~^^KCkjO|sIxBNkonYo-*5;%+q2sbKSoy#K)ifBqH{i%ez9;60(Rbi%zS5m%yk zeLYUfu*Zz^TeGN>qo_-7ec-@W~4cC*t_OiFw0`Wl9pdb3l?kpLVG{f4p8lkBBH_^E#dCDdq7k~ND@Nk>D z0*yk(dz?bDS8FFKqrD7jj1>_$x&xno2JTwgG^`b2$3*erN9a(i!XZBQ(n|jTxq&eZ z$V%=J@`hCJ|5zCPJx{PZhK@#RkoiXp9sN!o;FK zy@{y$NN|u%hUx9zqIF^-i0D1Jk7A5;pIf%US8kGpc-*9#!4y0X$m-P}O8chhxHED} z807TYg9DvoqO_q}5kCSouLi!u2ZkdB^EvCb;l%^H`s8 zuM}&0dxs1Q-ERv47Wz>_^tTFLUP>l=TR#sMh%n_8L?N=alJ95~8Y7U-a&Q(Z7!TG8 zxr4Yqzkno3*5NT==O=G9UBUqXWB+nFy_$k)x!^>OCqo({8)*Sjn>&vcQpn#p#Fe$qNT9%N+FR&? zs2h75A?F-1RPU6ZH03kWgzIy_@r^v}mam4L@Q)hhaF&<61O3DRdnGCj>9&deO=UcN zh5&r$bW*IBqNaznF32G&k&!nVfNZ*TObr#0Hbf{RC`YAFw89Q*9h0~ge79*r#&XeP z!F3@72~Vv)O!!15qfl!a;_RQN`kB)siHwjS-B@g#pM`wYGQAPD0rUOs-W=ImU7Fv-1`8h(V8RR<& z)-Tdi1hZ04rdK;sf7&-`u+LjEpE&PC9c@}F{*rpa?I zUP3zY?IX<6@=SRp1QTr0j1XRFM~=DLWwD5hJlrF&*rrqARV1adb5@DgvmpzS-C?Y% z9y47O)cZQ94M+DS47E?kfx4bY;l2)G*-4ka+W0HkX5PzeQq<-d)XEiZKc2IIqXA5?RcHv6%keABM&ErrPU(dne}8ATi;}Chp83 z7kHI1JN)1K0bl~{dJwHJ{r>ZBdkHkW4%&jKv3uj4b+xGUqUPg^rarHmez2jT;OpE4}_eExl|Q%bUUD~iv*P?JoTu0;V4@$QA< zX(fY(d|lmp{)GIN#`k2-lA|zkOw^ak-zqiFOpAhse%g~M12n(v0w`>eewOYtlh0(+ zNVg&GlIwa}x<@f&+srN+x^krSnVCl%goe)!qz4^(ymtvAWch4UR+J*%JE#m0bx-iz->gSzc4+DkL6=v%MO#C(bz%Efp; z!pd=9sz`@Wg6l}_yLk`KQ+KF~qOa4|;Trr@rY*7Mb_5$*I&}Q47dhqCm43OQI4Bgb zZ|-GPj$ua0SZpi17butfj zI|1N`6*%)I9R7UoD|21t$@&GPr@T@LjC~3yW`VST`ui*yX?m4S(F89>1(BJYP9&(G zJ?-$J;hm+zTBWKiw+4$9(O1(th#|>kVlv3jI}!4F!SA6aDjO$>g$4!a40u({whGo} zs5hTjS*YrT12>m2%>W^gX3GLoqtN*9Y44RE zZA3RGo#tIW7K^_F2sSsC>u1C3Z$7V=1dq~mX;@P^xw3wBS-vR9%jRx)r4O)rGHreq zsFc4+PPk1ya29ZWCiOABCOEKug?GL*8i5b&7d?Wf6ek6N5PO0A8Q`CeDwSglWk{R% zJoX3WI}Yot2qrN0Ze8QO5O_CUb?EeOI#p|Ga?J3a|t6su+73RRdD7EYY)mG5doFtI0Yag$Bv zpMj!)iI-URk%j zpXKV@KyFG2ud>#0N(8=~w z2_UP_IC(h&e~A*RRpdYE9)fx6+W`zCAN7xtP6X%#36wpx5*CMFaGQKd__PrIuRww` zqzn=r&`l=aOp(=kQ`80V?ssYOkF1W)c%bw}25UDJC05iG&}>UdZ5M3A=wZFGDbQXP zX_F$veGv|J>mt?yr~7ih1^RRISH9H(g39Km4c7X|;z_txZ1|J`WG3J6?4`iS!U{|O zl0ujwfPsDfasfpIFZzXOa0hFJDQIJiaJPrLY1c!6vX$#@W*VQ$`#IV(dpC)BKEMDT z$e-&!LSelJt{SYyi0VzU-71IYjee!8tn<*-K2QBjcA)OQ905fEo{OpAbWizE<}?i9 zgDwMnEYI^XCa_r41xHIQ8zEPS9gX>7yX4+nNkVYlg-E<;|GZ}R^mzJnWJ#W`DF!cB*$81rP2OUKZ_0fm}xyb=?-5hhr-90f9yN&2dr`INjsp zX#v!?U`(BK^eaX9-zUBZLX^Lrsa?7Xk^m#+RiCGJ;-u|0YMzNFU6Np~l3Bv7BC|qU05x1^alb{p1 z&0;q&)I0K(hl`FTWK^3vnN&*Df_QCh84rE3JVoAF=D=PzT4C| zi9ip)ima$;JG1v_@vdR9gEcV~CRkDoNa7S9@1O=jN(l;c6On%yE8dp0Y=AWqvFpB5 z4I?yIf#a8Jo^W<(8*WrT8^H3;jH3A>U`)(bgr+51u?&{7=? zE6si04>fdUXjtQYwS=es7S@x|A9_vv6uF!;TU;9=%dk=5Jjl&ln7X4=y0h~6wK`&0 ztXt@$Z=&CQ&r@gv7mDeT<+n;9125WhcR$nDUK(yQ95rINmbd+&+g@9$0SG(oIM}Y5 z?Az49r^JyNb>N)Yb=Gx`1zNx^ZoH!+D<>RR-zW*EseN_eYSq4yG1+H#x^6tF)@bj7 z;~leWC=JoJ=KGxNO{rA)_7ki)h6IX366vt_7?!h#o~v7Q#^Y#AO3rPE*Q64*T<=Rv zcp7_a=P-}a&s%w=xXt=T`6*)|_=Uc+=U=0C+x(oCFrWR((r_^*J9<`C?}jL(`(iqg zTwG1C!AZ$IvvClIJHBAiS)&X;DKwaI*!~BmfME<@E)Y@KbN;UOrZj&=eBf&G-a6H52+Q70k(54s4_tu z-ogX2dZNQ3N)ZU7#BJ)HwF!)j&Qsj+bE}Vt8hiJ<^b#W~lT269LebJ{FkiAsb~@Ra zme1N)yz3}74_st_iu;p@n@D4QKoDq?ba)2q$>wDuj#SF;*;|1~o;R)a@W`h7q`atT+x2<)LdMy_= zaIjSrh<@?p zW&jZXc>e-em;Eaw!h)1R{a#~1S- zfntEo*-dcW1@a33(PN$|yGzAzWoDt@V850_Ct)VtdBN|J%#Ed!jgs?;ahHCH+=8G3 z*UiY0B7@E}zr&ci?5T_gys-CL7^fT5;p3EXJD`yvYb@ebvP?iW3jc&xOBZ)b20-}(EBl-G9^xk=Q?hFf2^FDJSuy_ydv6(4NAv8B?j0a#kl^m_8r(fVaCZm}!67&V zm*5s81P=svC&7ceI|SEYL0|R`{Lgc9pL5Sz_shNOtkhb2X4g#3OwX@nx~i+I^UR+M z8P;0o&(U>6z90f}bSTA%J>R|fqM919-}?sKZ`cjr8J0_B`09xLtjn6e zU9^p`fY-0FUv=}EIM#S1=66gMg43sZac^05mqE)K5c8YU~C>YcvFiJ z(us5CB%brgy_+k+)nNr+0E}kf{@0@nFedjSp~e?)TbVA`O4Pe|i%smQr|_}J;wU>x z5ZZfrAUX94dhj*Szq<>7cO%%~%QaXdJ@PoUse3d9QOj-j4y3#_@aFqXoS7iO>jCd_ z8YtvUMug9isyWcBTini`h;07m6t>X%rVCqO+e)Kbp~d*7oC%UgF$;VS%q{U#0rx7r zK$uRe&j~}um4?tbHk=l8pYWBMR$><%7^sKDaA}+IR9LfjCjDgKA`ijE`rjtC12QO; zaqnN#zW<>D%oZqGW|vMtTdb(Rm!@M+rR7EPf7I{SKKxdOfN5`s0-uC`cmave*wKeW z@7%s5=ycOW&S`_ZUP|w|3(7@x2r_WyE|I)ugNWq?DAm=dnbe2f6cVy5Uk{$hj)XYwklrMrYk~`L6|m$UB8(xYG$C8*@QMe z0mT)+JbPdb@=&^0y>N{Af!^m<@(?#0PxZZXj-MMw2=1h-fl`rzL;?~40Jv~VG3(t> zNWD)Ynax;e^93i*AX|rkV9N*xp(t1em}3d_(-Q7O%x6Ra1Sz*b64hdbGegA9^dohLZXjF6mV>h(zC_fQp6J=mT8Ez*e~gf%#r!=n%|PstgJXisb=H8gEYD5zM^w$@<@GZOJ*`N*4C zPX;d#_NaldVC-K!lzUIm!Fz&+&0s_9B_(lzDaurnPn5HftzD)O6EL@vIAu^O}82T)ey| zP!*}lW(VR!7-<{`dvNTfbKz!%MZzI%4iAeVFRg`2P5UY^NW*+#KpWP*`QaHW66a#p)XSASyP z>dLG)3Ac_H9&QT2f2#25ppF#(s)bVzL94@x*gq*$quK(|&~rPjs<=Jo)g=12{xP{e z%jBL~!R!EY-hlyEVz(^ICv z%IaeUC4VS4;?HJga%VKpt7A%)TbW9We7Rd%vYVXJD|e&F%W2Qy*ZP8lAAL9GC*I31 z3;nRQk@9QQZtJus5A*3X=B|ppxEhfqsiJpRW)`vK!U30_e+&Bvpfl+CFQ3JGKtD;v z1MGqd)}goo3>;aGG#qTv3qWg1? z*QeZ1mj5Szc%Kvy50cL*)JEg3f*!ExdBsROk2k5OU5`c}Y$7~REPrb@f0qf?AtA>V zzsWBr^0aRBsDvej!on9npAUR7q#aAT$;B-8N(uCi#%mqie67}!qrx5sO`hDz7OCk_ zd&9CnX~zTkT9u)llr6ul+OhDuwA0)A#hx_1{#xD|=`iJ~5^>y-k5E?96u*|>)Ak|b<8hA%DPkO84+G732I&R zDf_2^DWPB;vZnhBd~{pnWx5>YKA)cQ)eUU2HsDkGheN=V>Cx`nfxhvM6AkSke=qu9 z^Oz-mUkXEu-M?{_y+@~;XP*aZ^n-J&gFy<}+*SU2Q|p}2A~}s=-2GC5kLuz5oBk&H zGH9nweo;O<<8?eX-rDel54Y8i;VK_xS|2h$rz}zVBibT9Zss^LHOVx^0@F(XRCq#n ze+ygD6M%Ft805^b7RTqsh$A(#%Ns5RlxDN^&DMZL)Ywx zMUPRxF)W&*)_hUmGy9b_`P`BAHaW5JCwV(IjY#iD#^)zj3Ge4>n;@%3U5$g?oaPQRnALt08BG~3)RVpqGyT57Qu z9XMH%3a&p12VsW;@^}G};(@u0UxI!MaaymODoVf)?WqNO0A(FWsripk(0%OyQO(T*FHCA2od5e5dBZ#c6K+N??#jEn3ez--ZnLY;$)BE{#noJqyt| z*EFhV4_Eo3gt5^M%CKGiyA3Et?6RKgjP)sOKo8Bi8gN~J=%x7K*#vAI93{m%kGLJ4 zwS61w3qINWHVAaR`LD2{B5CqtD8P%d^N#>w5?rsMq41Z=A*|i9lUmH#DHeK#zC=&n z?hU0A+P*}y8j@a3Rn+?UM!uUCH$DU@OVH8f0OgunG*~b}S@!Y-4D!}`p?>(gP1QRE zxA*QWbW#>2ese0;owgCQg$`dUE(f(hJbB zRBV42y-OSpDLA%DFXo*2s%h(dAQ1)!Kz9fnv~6GF!5VTg=sHoR1*>asrKg9GBDwFz zWvB}9pTq=#`Y2TKFyxp^ZoNDjxc$wfZn|s2?QSqHZ{P2>T;fcD2B7?`0;U#hmDsLW zJcF9_Tt%sw7ZTy+9f=xM))2s9!!G22XhB#;1&4DV&@NS%@iNqnr?N+v)poIc7WGS) zeSWSd_!?&SV;ZlZK(VOaAyl+3$^jrlYO4fL@%F%ouTrElRkglof7c%i0K8A#g51Zp zXPhTeIe_Uw!eWPnyMdz2nI|sHH%$nA_0em1U<~p-yniry$s;M$QR}+$yb~bxP!4L9 z+ybjD8APC$yr+K?daUw~LXT6qaz#y){XR(hOV5AA!j>9l^ozb3X}vBd0dNpRZKAD= zf=8gC^~iOE=SQwcBG-azE6o(mkZ0Y{r1yt!UQ{q(|iP z>b!olR*=E+WDVL$iO6Q>+ukc@rUu+;awt^1?^+j4e%Ycf2TD-yvEzksXOB)7iwMCO zC@p5hmZCH($YjBWc6dWv!I;tmg*%n|iq2w!O2SQt-4^|hZg*zi<471`b@6F8zOh*6kJaJ{AbakyOW z`Q1F+Ga);rtvniBE^@hLGfi|(AM+6OyyXjCXz!0d8Wh<+l*O?f0%RA!ucvQ1Woa2; zXTGPLPuOxJaU7B=_06z4EXzJ>ZxG+kmJpo9_9*%Zw8^^q)H3U(NB=M{ceO+aAVj&+2AS6xbtV<~3 zk~|cDZo!YR!d(?4;tNARgjLFxeq_Kdm;Z|^jQsq z6O6ZDDcIP*qQKAt13>e9mNq-&5`eO=DVC{wU7_3ohm6UYt8Ca|L(}-O%Ma+v9;(md zncQBH$Uct|Fw~LfT4;2fnjZT*hOz7tobC>V#Y^ECWVDj1kA(Y!o>q^MK+{DY5Oi3x zigDLIX8Dv}08xEBU%YykqWS2x_9z54A>GU824i7WFaQs+sptuep1Aa80JO?1?4o`h}bQJV-2Hn7ww!=YD`d_7nt&ZvB{Tz&1?2_f=t*LxZiFK4Wh)93m3 ztB}I*wrZe(0~O;Z-mlvPqJL|w9zlK-q5|LU9^{ZL^+cvDg$o}{OFHz5_yl*(&#>}K zQUq=UD$IvOpTV_xVsPN>8D=YwS)GiqzoTUr;`=kJ>XD`wfVjN1vb6d=a9hjKaoII% z(3R~BT@2gOssZcYeIe|;@Gs; zlVfrCe+mKD<||p9K0NLoN6{^dycsUqXWk|54i54%wrhzbq2lp*N8m&^5K%!gJu{qT z94yw|AlfhYk6pb06xzK2eS#jBy9d;=P=u&fMVJSD&ZtlESbjPR-~1Es{R7yP`6y%n zM(gk9F9LrN_=~{*HwY{~w8Kxp5$k@Z!RLNQbpLAtwX63edoM$DzklR$?t5Y&{&D<2 z@Il{yzjvoNLM z3%4SC$uU(W5*IhZYgMyBm4=|bX;HJ(RkwmKR*q9+oh11%Q*nNRPXUKWKHza|Oc5xq zWg9VxYf*oTGHh(&oh7Zg$rYs=R0Dzo{L$w-s&f|&P|K#t^W;=|??rHy|5|W}3ueIA z=w%Cr8xeRNAOi@a>$Gip3{OA~;3|?jX9D-Y-Ddl1r4X_bS|WenN6c2XkV1Pm4KLej zEFIp8r{muf^iKINPwNBXV|Ml0tN}!CWdd*eJPIA=NFk)+B&p)jSk{Uul%z}Wq|~s- z{U#mV`;>J^7Ca$>kFn~>FFgz6b{LMdcw&FdsxK&$H`Rc(w9vTcFr&vK?O9};OR8d5 z#>1Tl!4A9+uC?r=*i@RCu+Z7j0 zKOuBKca9+Ibg-SjX7EEytYx+T)#XfCJ_*W1L;@FZ=7xeIDBcs%;qM2C%`OQvi}x^M zuO>O1o-H(e*%K@qq+iKg9#~!APLc}2igVU%W*nLbM*D_I*0eM4xex2sSFl_jh`wK5 z7EE(#DxoS4T^gQkDy&1Eu6g8}fWF1xJ-n3CplsGGT!-`dKbafs6#fm)t7OyF*;da`teA@191fu!jB1OmDj!|%ruIozx zbGV4X6^t;pFXPS9rf~8r#T_z_lHdgVQBu-b-h>oWBAu`&+-uLc9U*xa+*uFNGZ1v~ zm(#oRyx(|2Vg9$7+v+_B?#jhTgR|g%M#!@7x=g7~1J?F3Y?>#N*W#zV!`7fMaBqez z{ z>mk{jg@tlXW8rebhV8XVI$Z25_2IZUtezDDA4z;!Nx)JduYux{-OHt1sg8!h*Om4Y zy-(kUQM<<=e;Yj5us;fy$~ksSXOG(*z*t?DPWU>AqQa;@=05V_WiD4XD09I*Nga%N zRW(3c1mI0WW-QxeNlM-qhSx z#kwNL$&=Iy@O4YGFyq?DEPkaj$ll9H^WDNt zcdAwPmUipZ@FYO6u_Uv`cO_y|a=xqGrct9JwGpp=ZbZKiyl;?;T+lfYu@4sHCrZSe zEDcB^b9XH@75vU1Pw|^)9oyJ%+@k%vz}S#XFRspXmewXIoTdwk^Iu?kNmoG3h4jrUkqp}1j(LAm@|0u`EFQYPG zBMeC4IT-0aZxDN12<X5vhrQvsU50MO=1279p_e?4r&S znp(@8>D`-yI{;?qZ)Q)bZ-!|(km17b-c1#~<6HBnk=&~L^zGUPYd9_G+Py^6Jj>qh z{eD0lV4;Rqd3v?{M|zd>?1}6ib@Bn@sFwyiHWePcO$G4l)_=-9M5!DeoVup|dOz1^ zvhX-|3h@suSd0Tf%(7SKA%-kqZ`JCmJe?o#&`;C~^`q>S;VJ|uB4;iOsi?yiD35;9 zDlQ}JM+ZgN@6K4;7SPzLFCTIk=lwFaK1g z$EJCej96FutF$u9+bic!h@R0|*ie){_YivzdRX^qKN$O_2kb$|K;&qAT6uxR|2!J+ z=!$rU6E0|akko$tn0iAeP|6>Y?`=VCx>Odw#+B2mC_JKcVT7yKasbM<7U==9?ndPo zOJZ@}=mg1P^G{3I=C9>dMxt5=kg~x5L|g8O#zF0p`WH{S^wjPviZI@Xj1fixL-L=^zYQMzDa7bT zD&hjEope{~-9J+1mCagWw7jBqvV*vn?ll8~oe8yJY`fg8 zCAkt1-hc*p*pmq#PtWErbG3%U4h57YNgBTxH2gVwvZ#Jcz!k~7PoDf*ID(Y&~4xT#%QAfX&WE9H>j%7FYo*vC}4LOnHdfl-mk z|Eg{j5SnuIExUWs(>wZjeQYhf13VM0s{qnBuZmh;*kUGCGIN+nNmgWH_RUW4IN_z&y;y+U;7 zxjUQmsUp9w4ZQWkB0|687luEP!dhWQh=Rlv^N@ ze3e#~_lUi4(r+2Yq`KM!;rWI3kJ<)oD{7p}vrtHQ@NUOBd$4OV9WMSLskV2>VC)kf z?51=@%;1ZOt???&C->d^k@`w-ZyeI& zI_kPY!ww6`#q31$(~2J4sA7+FVWfWs(Pu0A&Ic#TwdY%@u&HBikto3K;1z6bM(hs? z5cc31A#E*i)y{N+^zFX=7gCh?i~H5U$S>t3<4kaN2L;6*XP`bnOHoa-`!%wRtCo}0 z62vDMROc|%gILt8l=lVPNf@6_xQ2TKsudkfboeE;ih`KKUVZWZ)yX(KcT|5NFsEy! z3v4G@#-wRDr`J*nfP^Gvq1NefL+!8mlou2tmWA}=8ZpnKeiMnlMpLW&ZP@c2CSg2Lp5ItRga z%5;vvD-v{Ld`Ay8`M?WtE*$D!lauR)SKI6u!rr_-ThGx2dwy{BDgYx&@Z7NJ>$<|5 z@>7(gwiAbL@s|Y+5=$4-zRz7OpcsgD!tOlt`G};VMtN11e3C}%iBudnonb>`%J6o0 zSH2pM$jDDsi2Ho+?aHf~y!ydiG_}4nifZqs7}cTg#^NSPMo4jZEt1T3-pC|RA-`!{ zsEo@uSKTRDMOD7^G`P(P0*n+4?Pp&wd)DY}*Hn=C>Zub*KOyuS$|(U3upF;3*sD?s z`l`@shDf`@MjG+H6j@o&!l#1|3l6Zfd`I_V&;dLnq;kn1lPJ%!_)H{fbLS;%Tl5u5 zcR#yU=?3ITp(_$m5Tnvdo_5$^`1k`7{ge_Kso1GN5!5_COY7fAU!v4q@75q`n&>y9gzm@RU|*VB$&W&1@H_3z z)t<+{BSyxdDXY#fq!HvFQO=NbT9{=`O|irkl-;w@g~lynaU*K(WlD4($58(Ao-OIW zt-*kUQ*F>UD*wrAWpC(E)-P#6z~y1yZ_(N((eZO zUY~eK{C&#w?|(%1zejza{$2*eKkDnr_uAY)d8h~d|51MA5B;D2ANv0ZywGyQ;3rN3 zd-w7n{s?6QNaUZ}_-4z{KFwRN7VORM9|Q2os#F2(yFiRPM9FWTW#7Zrd)>jIyh z3AEug)A{^s`+#GtRpIaY+MoO^z0Jp?l#kMzo@sjXi&QtlgB}9b@84VtDDlFFQt7(d z`}cE3X?@O!7IUT06E5wI*@+6XrvqVTPbU&$|9%SnVtd`X7%zV!9_j)UGX~oxB|@8) zKN8nhCG#}cERW@zmJu0Nd`)qD%Da4=Jb5&}5Xn8UAGzreG#r%4+gm=9ho|K8p#%-m#`!h&*BCjh^ zk-Oy#C)p}yHT4Dlo~Zb?m>?**Q%eT89L6KWE`*?EN5}!V^#CoK0Khz?z2Dx`zY0AV zv>$~|L=WbCu8ETpJtKjQYvUkr3G zeswpCHOjNcB{WTpg;Y5Dzd=#A!k!D%X2JYg2Py?_%ieRo4Lo*Cvem+!C6G3z-vOIa zX_0)`=aQ+zyxBE+Waz_NM(J>F6mPKOwEFZqyfQw(9qAv6uFZcqMk>l1l7j4~ydjQ8!G@ztD3Y{pLIHjVONaaqZ+`U10 zmvG6rkWsniS9ySUUma3`V5zlRL`h==w5#rqn&1 z*`n;xO%cY@`Ou*f*y1bhNKtPmql=gv2EbUzAs(#&;tRXm3T>5ejCl5FghMKPHVeb2 zRpjk(BX;z_&7e3={t#d+DpyE2#E~|+BG(RX7r-juI%J5ub=B<;vYGD`jhguS1S*Ms z0>Ts03eSY2^p9H_K`(S|vh7)FJ!d=JCokAj^`R@MHg7AS=?OH23-*N!q8+=ixC6w` zxuRkgHJ@0K@$U%KAL__O(my|`J?=Qdjr$Y`?g~3nkZ+cRJU@c0RGJ<=HhN8=O|*X` zE8s9Fdodj;+usSs{$G94y&Z3i?^8i80v5Rsg8DB3830t4`yf0Yg-#4-cc|=UtDhSy zOa%4fY`P)6JfRn%poC{d&A1k70J}4AZpwqPfAmy{EBUSGj9A&h_eSIQzOSel%I%&K z;&a|leSx%C50t}xxh*m@{6D#kpf>~Jp3^Zcf16A-73&yo{;AE1fUk(TtVCb7FX<;% z{hvnduWQNwJJ*tvp`rMK;GH)y#1q9jJ1_fdin-DWu{+dcz3(nP+gcBT28&jf7b;m_xB3 z>H6lF4j4)BDNkAoGT;5oCP}|qm~EDrj5FM2=UMhJkVLk_F-45oyMWBury5+b{#4~rT4n4= zYUOTrKqECQ?w7h(`Yi)RD@lO4N^+jlod25;2;9H) z7lFSB{6*j|0{=@9Sbpf{{@eKf+QU18)-fi!|NqFF-Cy%hUi-lw@OWMx^8b2X^ua#x zc%JjYKJe)OA94S=f4m_BlUpKU zN8h%9ADkbArtfeu#iI_K!i)$+e6e1ca}DO;5re_|SF0|L*lW=6_+v)~Fq9yb8G4eL zm|!;vS+p8jgU=DY`e@aCG``n7e4df$UcR0F0P}<@Ay7O&-~61_V(eJ}s&T;#8s^53 zZSyG@gS}TFa$+CRR(TdC&&vYSXxbGVXZMZ|@Tc=NaCjS6hCs<*qUh0U?SG+YRf7+A z4MC+wvEa8Pg>EK+aoaamBPhf2YBn#x6$M-IxK9K>vXocIkz3ZWs1!QQ6N zm@o~>6Dn9N5<9hI_nItgiY)a!+(V26KI%VMLL|##un&mzHDMhvJEXG59xC-shyP z3uMM3e=GHR?mD^bFA?Y$Nt!oA1Ag;KE zF5~D}j2e*nd@P}w{!|673le&ULiM4!!kz5s%S=h|-3v}wC-3U;i*1NiM5qCnI$#U{ z|K`vy-bM;~ozrg6_MZOLq5lt|XAix3BrokjKD@qgXx*~m^?hNd5-Jr5*lQ`J=8p&O z&Bf6#!5GwHdT}WGlg!D)Cz5P6@>SlFp}!1nHHZoL?jg4HnXn3k!8#`4ibr~!r~%15 zg*X&SKVg47v-nj*>BU69sbQ!clX#^JoUFIbd#%s7!4L3qmldIb;k?B^XETpCcwjj#3cMK^ue{pmUjeBnpO>5p%+t8eO*) zmf>r1Cb%x3Gp-&!Q7%XboMG_ll{l|~1O^+z9?sYrC12?vl6BXEG5EL9^;XBeEl^tk z2TBTvoFxc3222h(6|pthpkHHgTRh3xYV8C!2LRBTvLMoXs5nSDRITw5-vx1tiTQ#K zoS^%$dphO5kWZc=seYQkr2B2R?b!&SDj0~!5}`>9)8C>&{@UaA#R4t!S*%mnElN}+ zxVb*ZJWDoqj$u1GsBBr9Tn~H`TTM!LJn*G2S{}B*tgBZwd^5VIiO>@+^n-y>WPNH)bUik+3d8;D?GuMJ3xXV1p8%0MUhc{e_??$x}c{lj(IiQZvSbE zDP|LvN)iH(!*UQSGOf3Tk7`jWM`Y^{}yDQI0q6C zZe&8B?LDnEsEsnp_5_aq>MFQ>qoNGkwMhp+qy)n%<@Z~r^s%57ilhwj35TUv&uZpR zK!4%>h!(d0tpZ|D9{L9FvjH=>phbx;4jAkvo?CDrJ#%JgAr6F(NFAx$#a{gB&!$!- z3LgJcB4lnb!{h0+@=%}2{|V2;Rtg6onA(Er5Lb^Y82Cv}_#v9udsoPXYA6a~@9Cln zfk|?!0gh59AK!Ec$q26kxS$!!&oR~ax-+wRk(m`sSg_Mkd3uCFxqc7d+%Ka2NP!N< zK-wP4UXfoQs=@E%h|Usz$#WIU2=G-0?3r{T@%!}vDSjr>l+kzacDzup5d0FW#%eX0 z9zVX1Li~@V^5L4lyT1thMc^+2e-ZeL!2e&V<7Ia3!(4_pZNz5 za&G#kyy$~H;PLwSKlmSi@SreF|GYl<4}SU&p60=x@OXdsKlr{sc>D)@!=t>-AAHLn zJo0_#=%48^_=7M1gNJzVZ+N`F@*jN8AN<)Lyu`iU|Ig<@nK z51#&Ee#K+@y#C+^|G`K1@^*zWGf>pL4O)qk^5Y8c<;VTbUb@Qp176y#S0inDF6_iZ zs~%B?XTxeOdQ!ZgWwnz5t|A+w#oz~zlXC~F*j?KOem4~4AW|QzI~B)M$nxel9kT~7 z425|MJ-AlwNxw0}74Zfz!umE9HUP@+iw*s`qL53M0mPki0WY&SB$$99MfL^#MOeW4MZTM%%EY8`Iec;W!C)K#FIF2dZPSj8=N#{5!y0mt zaF1$X-jZwN;1!P&LO=1Px_2xr9|&a@aYH+D*qu8{I#X@&-cXWD2S!h67U9T6-Fh@y zWje_B&z!txlH%GT8SAm4;)FCgGKXG^Mv9vg6P4$~V=ES|3S8AkYTpf}XT8$m=c=a% zmKyZYi>Lw(>T$heH6o%R3#AW}n++YVP;^h%Uhp~(?g69MRpx1V33>wrcL=Ur-jgO( zN-FbQYYb80i8|_A9n`8!YvN!>ZAz~Io2#UF&sk+2>mkp z0|Ga`0$7kv{{jle!)9eFbQM<%dkF`c7OD>zeVM@X9=*W{t%HnXWh8;3mc3GU>g~qM zx78W2_=XAWIhLN^`K8A7hrF3uC|>JHvs@-m#n2OT2l`LKRHaGndvSf{*bS;>dn-3} z+O+o^0@YvsLs9fuRvTS>7;pb<6(Hu>F&axCbeb)x`WykII>aK0`4yDW>d)QSc1eQZ zGzkIi+0wFh#O#7%+?kYs%jYpy#w@uuI92%b7PRA{@l4bhQ_^0LgK(M|1k`!&K3vCt zzVQFh_Fd1pPQ2p+Npc(*gVKy@Kfkh#5J}r3Rd_ne_@bFdp+kv(A@r%?)X>su9@V*) zrAEj3Gxrgrck^4HhNn|h^jK89Y*~)xzIN(3;JqeO6e8YYIc3JqV0<#vO}to zln|Za&2jod5g0?of0#RYyz-j5gTKvi&ca!RYX2iWTU`6MB1W<|BJJ1Mld24N>rTwSb(EEl@nkErBdAv={ zkg0$%l3UX4KTl1lhis6czU-p6f69qfh>|T1Ktuad^A@?}khaHqr^gv#s)j4qH&-oA z`x`;9BDT)Fv}2J&u{J6R3pwOrXNkWWj*Cd=%}w3?2yb4NRA51x{`0Rv8RKvbz!<~H zuqV>V^d{f*;%8ATguHH!7`U@fmp=y8lE&=aL}sAmNoFmJ42bW~eAm_$;c3{r9BW@B zgilKLjCQm6@Hft-ZU+#+n1H1twVu6N-^=|TzL`OO zls!iN;K|02ii4$fzY-@t7`wzDS#V^Las1`tc1P~x+4eH{ST@k%2?vLUc+zkC?2(kZ z%=N!(x6WX|_T-l)noemZkYtVzFH1F78!kug0%D4q$tG8As^R*LmiKlE`B=RZpr4KJ zvJKbMf9)b5^6EfdhKqm_HT9!3E2Jur-iKrTVYL0@yAP{I!u5HK&3^v7-iy=X)?8#WsLw9b@IOt>Sh z<0;AG-&prJ_W>FdWjxD)+0hk!eGk8zd8NtmvI%%%o%Tsofk_$*z{FYD(i@eZI>Xh zZuhEeQa%DkK)Nx>ZA*;W)v6xt#wSXzcV~hAdY7809S3ITxgNCK#woJ_Y=!On;;rUD zA<-#dERcixo#%0q=eXg^6C9W5jZ~b^FR~3w^J7v+DLYE14r;nAPF`iO4kaI;nM!&& z)L>jG0!n3VNtm>>LN6TQ45rN9qm2B}TfvO@AsSHL5hgPWQ8_g*Dhsmb;m-($9mnc&|mTIJ{jb3CyL{oF15nU3)@y>+%Zw6u0&>P;4-I7 z!NYShbG^IZ)*Mv9D?v>;Kuw0Za=1g{m#l0F9|){fz%}{|jFqvorZ#(P)hxMNy{4~C zqk%mw?^#M?ft^2&X*H3_#49l9q7$}h;#`2dj34yL6#10LCOSQ00{VHF{^2+HXdKOh zDP=zoJS89KAo!kr)X$$T-4<-SqQd!EDe4bRGJvsKVLUcwH+szaGnDP0C$2A$a<9Id z`lTSMxd8UxzTy#5SF$cMLq3xBmwWXS;@1+fzsP(||8@p|Few-P*AE~?twe=-O9b8| z1jW)=)65_s7Rx1Uq)(JbqAJnN^9Ld@)+5WaBvRA3&9nGT)`#l8^%y0M>|4k_r17_x z2+D5UH)J;+XcI-_bQdPw*afonAKdw@>Sf*Kbn1G1FJ0fHTFK#{^WLTs2l|#BsYAfp zIog|GL94qdv+Z)>F5elS0{^FV6iiVx%x&3ciB~kEMA=5Sv=}C{+2j~0PH6mrymd;p zAM~T6?qY)MC}d9n21Ohry=!l#ezB?D07o(nf||l_y@9bYKcjy_i%hlApbUr+-!Lf` z>}HWb2vg*WQ9!#YY4fi1r()iiGyo8W8VgN_J}yg*CnI8$u%7-Rgks!Zvj48o)pCbY zyGL%0L$f5lQ}FV2OGs?NPt*BE4#$b1soi8?Y?|2T^>fdXcO}n8*xr~=(=crGq4;n% z5e-`n`iG8+Rz1&;pt^G}YF4_Iyb?x<61Wkl$F=)emYZCcdjPZW1|yg%@cZf8l5XR< zrtScPGcm=~4RcEq*Mv9xo0$Wl&w;TSsO&HG&jnKIZyR1AHdLHWnBiQ#EQG?yeA+gx z`>wxUL93;s&8*qBt1Yq^AK8{TVni5$e5@jl|`m1GkoHgHYaX z5#&O;g5^=Ws;rao42Vsi$_Ayh_K$5RikYw%c_b~Q-PFV`ST;MxJbA}kZY6bwr4(G& zkO_p^`o4b%2FA9n+ZEfEB?}N1y|=&FjUKGPgbmdCI@S`R`h$e}Bk9x@XM0#YJ?$@w zmBtc7@&H*xB zZ_VubErK;Sd%(nNTX#E$h(@z32qT5gexOKTdvvG(_frK!`zJoHJb{3}^uG#$)qC9? zL{9*?zyI8COYd`;=zcHsa0E1B@lPHU?d6|*)*t-IAH3Kf`hLP6{Kg+V=O6lh$RGU7 zA3W_J`o6~>JZMb$pXnv|L*IY%2jBV!kMf7UZ}xr z{0G1N4?b&L;W!;{^=_OiDMO02W{hIK0gFs#a^c<6TS%>jgAG!L2_u%?BM3m1O5g?G zyag$oxr+wNf$4Wxh!~4Hjvn40Xx~^zuhJ6d;|U9?i~BU?yPAe%iJ37(3i>mp+s^>m z7_X+hNNs!GPK`Le@|7QQ+ZO>o*DZxn=|G4Xk)G!@$>iZPTf;+H4((ong1kH$_O9X*@)tXU%2R`28GHUvZN=T!A4CL6HWY%R6J536 z2RQ48WG8(b3}GSR8QvTIp@lXVL$f;m&K!{KL!oV2>7~3boTO7kK*dN2sojfwZd?Jw zr_dDTXmfUikEjZ@L_y*M$N^uQ zzMNg>!l}OS7Y@0K6hO;CI>4?0WGBpcE@uVuq%^(&IzVpm6WP|%XuN}xwq*@g&*J~Z zG!Jnm_g+pY9H^GHs1#LN)@;=1c2vGSI>{V=<}5xU{hT8kLW@hYMBv)kr;Kh#uuL|C zY{zeB8D9P90}2N6B_R8gY0J!JMgo*ZA3;3A*=ur>_C+WY%uJ=e4|VQ2T+eim@2cLB z6Zs-HOhdi?Y?-STTvC6RcuwGRyTCG(T@NISIB|M&@rJ@7e@+zUyrri#`3qSldW&dV z@r<@*K6gAYySd#_C_Qvk{0RQzk+|42QP-JWkttgl6C~%M_{jSo@<@>I@EPgV2=GS} zq>2f)l7zIyh3aChi4OMAz&m+70y7;u4qr|9OB8|{uIJeppAL%O>8~JamL@mMire7( z0keMy^i0#(@@l72_P6A3+8-i$YmG|?aboWZqDgVFyKz@cMC(8oxB=(aIM_jO84Aq+74kh<4= zSm31xlwezsXAj3wo?J}MUG7z3Tf-2>0MXqWipEseLyOx^;z4I(VBPl^2rS2u0tnxA zvjWp($cqhnh~6d$wEJZ-w!Q>q6~^sa>uPaeX(|}Rk_NMCcry$FbFh~pWu~@!o9U&? zpY~C#usGX|i$)uk#TKo1aRT+aG4&Gd-WIe?yy93yyFzx8%E9^=f^-lmOi@MbcIFMa zf?6rF{VGuV;C@a{P|^rYB}YWo7X&;NTf=A2W1`Xn^?)2a@%V2FFnL8cW8d_PTB9p3 zbV%4KUawENhAC3De?@T%VP`6wbq`UItG);&DJ(^mbQmrFkbiYCA|SZ-6$??sS;ul? zAj^Zp-KhCVO-veG#PMP1;fOwYskHKCPSzbDhYX33lD+w)afF$6(jwk2U|$%ihrrO2YWP$r(^w{8XTDz)3(_-Ja;pNsW4vB;O&q>}^abuXEc z=;HT(@|RMiCk4T1hQRMlbxY_?0&}EWQQq`nxE)L)s`-rvWOUqno73&h29uS)U#x8S zaaBn$Gu~_CQ56+IvoV}|{d#8Oojj!Ea}K(Fu3pW9Ueokgm~ zs*HKuu>Fn0{gp?k5*&b>x4MUeN3pl9WGu#YgvmVJGXdOnC0=y}lI3xA+Ecesc0j!A z>~{oM`_8L$k;tk}RUX2JX7rSMXaFLvr{D0&=%go`7u?iCPuHAYMp72zTC%A!B)RI{ zPZrL?Y4N*WGl`A6qG05n2%{CWBnGn%6#E*1{-=3!#_W_Zu*$IoHVY zV43lK@h>9hak=+Tb@`qzTl@0^#cpwgCfCPsC53=QgO$1$aA znpEQOKd?$>=i-ubY|FR1E56JLfQqJQt%5(rXlv7QynloLVLBDWjC29c(|-ErxG+mH zbV|YQ;Z8`{Ie042dvS`qPsLv0=Ncw?$ET42StTfH7%!|Md!`E3Vk0?Y zX|&T;LbbXMv0u#lrIR=!V?r8SZSo>!0;yE(bpgW1hQ)rL133nbs>2$w6<{v;O%#J4 zt;6!rrl2=_`$GQMgaF+BmSViz+f509vbfwIiTIb?W4zPYekxe?{dU;(N(UOD2Sbg@ zrPeTdNUD+!RkcV_PVUyv$$dmGAd-4i#;`al-R1X8NEPHX@5ANgzPNmXb4IIRC3bYo z^og61Hp{KkRS2e*t{~58a(ffE{7T_vcAa&)Xl%9=EIZ!kMp}ZIAA0Em4u(cQN&H_M ziC5nW_J?A6%r_!SOzA?ZTCyojjOFio>DG3wwKJ3f0lD0hg0hMeSBzaw+uxNayjbBf zv63pB_ahA%x1obaJ#BTBqm7B49aRKa+~xg)GZ;mv&taKlxdYR?;GU`AlH0%FB;ivRfA{^1Xu}TD}f1!<7zcHP=Ej zSID+q!uXBlJNf$@+3#RE0JQSC7qPIHS`GSM!Qk>Z{~z|=Ix4Fr`Wt^hLQ+z?QyNrK zN|X)>>Fx&U?vn2A6zP!eR6vjh5ka~`LYm+693Sp`*IoDf-uIv1TEB3w^_;`z?6YU) zGjnEU?p^V}gekIsKJ05@8luz7J8J`atUaihD^}gw$*hJRi@q6*Xu?nWpy)fD2 z+Ym{xgTzL!^TQ!u`IleOTW6wlN^pep$rCPUZQCa!aahi8UD6W;GhaxsNW7xf7QS9m zyWpviz%$;GS&Q$#jyv;$H80l8l?s-cl~3)L5FE~9qj}_exP_w#1MS`ax&1-l4+8&x zMPLPNt3&AjxXB{aSXJ`pZ-{~Xs+`MsB_=40;V+Lxf}Ya_IfyYCz2wx>&6dPt{a!N<6DN( zb_w6wdBk!9nelJy349b&!A=bD+}Q$Xey#CiQ`vS`lSXXdiN&{-MkWTf$NV*SRuYf} zaV~Js#-dTbo%GB1JAGj5>K^P}K=2bszm~ov1l!Tn2BJ_UA^^bN1*-QRbaPrY^@l8m zl8@%4P0bkOq%uoa-rA+UJYJN%4lZ}Cq!41^L!Rh5<<5Bgw&gUB3?BR0P17cJZv=4OkCKQbvp7T)%kYK1c4O5-oct{Fluw% z0Fix8jRr~1u<(q>djy|T`;`Q4UD8L9T!^5_2jhTb>t-4*SPON{I$Me0maHA*_*pog z$F<@$g6?(Fo<2dCxiv-gXJyXerg75Yg`iD{JdzC`s_0=ee+O`_KoU-!uB6(0IkkB8L&m%MKiW#0RjVuXg zu(>c|@lRtIv8YADJ$iIurq9Dl7=dPUb@jj@reqgS9jMn)_hli5foNy0wgh{lx$C3jw>jc+`a z*3n)!=3zrI3zc(ep~+eDmS2BmMgWxifw=JPtEVeJHgn;_zl&dYa#I{XLyTE>EXNEU z>eJXN2C)CP^RhuoTMQ6r)}kO+FvW;2A!l6E?GYr|-y~^G9qKjlJn-rM1c~WiLR|Ri zS3>ucan3$8%Pt=KxuT7~*jnQ`eDaEqetERvAvZ*pw7mdWHJlEfD+3`IU_n248zzcQ zx3?U+zWs&o-U?V4NPX{T*XexjZpl{@WF}qUQ!>)yi>SdDhC?p76S*af^U7w7(Y^&~ zo$S3xp*FU!)atn10Y}rZvuB%`z;X%WkE&M*sMd-tb`xi;<%zOmyaj(@U$4TuHD}g( zym8@QaVwvdtqT)BZZwioXw8A}>lNi8#0LwymA`Vsu(+Dgk+yRC$?jgBk17{e5F=02 zfs}_%%&clgu8#Esj@Tm$ujz0j=~eqTWA}2=p$}>DG$KJ&erfqC0QP3`c(|SQ=s`A( z#;tCnhwbGP7xS7OGL)8e6<5a%kpTeqQ(G1nJ_+@-A#EJP#ib=^bp+^ZXAV1E}L=u4(_zyFB3e2XDWwnshRHqqd$&K#?B`l5p{5gPDCZ%S36`gS5)tpd{&RD%*9ocS$#LreBaKB zyG&K%4wA*E_^rKCvDlCL3ww^SZyOtM0!mWPs&O<>E;FRB>&qj_MLZF8oa(hA??*xe zQ&0}x^-G~h%fKHSWEY^b6Pho%YjJoEMqAXaP_fx&h^IvET6?q}X_l8*MPGEU+Ei2C zW7sdMnwaf3;vL9Z1L_>+!;QeVZ6du|9+vzqt;T}&YBki_4Ko%f>0gWAzBbaR} zLk40#bKqFSK&u82jmxSO^?sJhB$M2>9J1CRiH9Wl-FlI~grIo-x&1-l4+4J>_=CV7 z1pXlK2Z8?`0;@n51Y-X~JHlY$Z19g9{JXQ~QNc2Q=Ux6`|F8VR{(l9v|G6OjC@>{K z$H(vV-Gh!_-|;r!pvl2{?2yV1GyLhc6`stvb(IBg1g}EksbE-|Ox01$U zXd1Tb$fI}u`x$-ief}`Q!Hq$he(u_=q1W!GM=lQj>^=rAna7B&jrmIA0y$y|y_Win z&rPda9geQdOQ^p&rETYH%0Q9}*tG4uzQ$429uHp6?mU)2t^GvWZ(!YdrlNN-chdrk ztQQIqOhTq?N)1S_0A0Db;WJOU@vXw;H%R? zsdAw^TaadtfvD>te#xR-C(yT_MCM|R3LjmpLJM%hu8UmPJxn2J%!8VIOE{D>tEi<48O)4{png%*vSz@Z%-LK z;P{@UlsTV$|FEZbeM+0693t0xtpIHA2kfH==KDQ=`*M~I7rk~4_DXP-Q|C~Q5o*G4 zmPIAs`VQR?hU2-8srTcAz2v?0_1maz{?XG)yF2{rqhAog16Wu&R&+#n0l%2}Zbe+ie%vkVhus{ST~D6axhl3s30aRzOiI_G zS7$3pKg@p4mbkQ|ZWGofd{VY!HC>RI3Se*TJIhH=tWK(S!B@&)T3LYdXt=18BLwXs zLhOgdnTg-);s0%U>fMRv*@Dn-?|-*E^-gG5rBZit+2bO5{o6QwwRS0kO9H|R4CS{p zEk^qlLOdl9?9bQE0AJ1zs2^>79r9oBHV{SnE{tMSFuqz1zC^(^B;Bk=1nCN{*$o`j z`Jkt=8?^!r_E`QHTSu4T{1h9NVix4=R3z4My$yqb>waBm@H;wXNqhxSMqHYe98Y-6 z4_@U@>^Mjv$_T#YxECIf$I_K6^=yWX6<=`a>n+YkVd$ zardW~`wR%zL%iR}kDh{n(72DD{|MFRI)Y7A=FRLm`kKx7Mx@NHALpgkByE>nAOP$E z4_ew&tJ~EV$R2f_rTj}QbD9-T-KNB`Cj^;3J zc(*YqcNjk>U~d-oUOBiry87y(#O9i&Qn*e8_SBj(l|YRpXY%f@-8pTEY#sf%NW2+CiO*!7byGT(6O%4uqbCMTpv zCF~mL^)Y|Chcx-b3+rV{J1tQs!qRv}BI^B!n7v^WSNjAmk<;Q2nHO3y&1JLv`LJGBo#v}p_&j!P62+_$COqX6vx&7UBIcncI202jyw#$}P6{Z|(O zsY?kd{?P;@uQgUJh#83KUoyibH&2|tuj^hMqGNy7SN>9t?YD-3a$gWmrFy|Sox~R+ z=+H$6lzU*`m%rWwfgBk;@#kSSSy`UUryeeT6I*IydgM-5g)NHnteUv^lLkvRCd2U; zk?q=I5YM`U+y`_A*}3~nN9qe-YkYKGGe~Q5wJ=h~ z!98|#S6+fZS`P{D@YU;=Ld_JUJwxp>d5lnpEK^S`8t8L3lT(kTKQtR zc@pOf=@yYZLEKQ&G?g9QAdIU!j%LLx`6`?V}N#aytKMdI6N z)}%(5#ilQTa(_)INZAMX`cYZ-CAF<=bX8iztW^kZGn?#K+LIKdL_J7ApoRM{^)~ZM z##=<=KvoNkQ%iOND1W&pAp&3;t_YNvAg8&p^K?%+ebCrGAm#mK9I=vjfz;4u6>e<_ zBGb|Md-HZ*aB~fzfxzE>nhW6xv*{Upj(2c z%H)XLzNg3k+5d9WxY@^4U(uO5hiQafDc~4pApEj-?2Xzi|L$HD@74~Yf~1yfH9$xx zhs2L3|4m%}$Fa?R!`!nN%b8aTLe4#P6H$FAdaKTdiZ!oeYq`7H_=w^874%9M4OCk2 z{I)y83-?0I5=Ii$(>c5JPh0&L8Khzq=Yk%xEc-x_eyEdhPo3** zDl#Id@z9-6@tmx(Vk?!kH6_7=B$@JR^O?B!O(h_#4&cRxoO zcA;5%!e^29fsL@tU#ID*+!fSjeb_U62Q1*oIy_fD@lrej4)X!JFeSPYO-pi~D#2ws zU4yS5N-9**cAed>V-m&%Abxb}bcUo_Z(z3wGg8#k&Zm0)2P~Pw0`F>4`R%bVhFhlB=@V$jyMf*I| z`tI1lJDCxr9}8UkIR?Uclerz9vsxCM)qa?iwMAqJKN+1vXS*PBC}=7`RlWhu)4O+d z{G8(JvnamaZz0!ns@ovyNaVUSo5}SQa!wB;_?RiYhwOAR6+Nv4 zvqff|;IBki+s7Pj5)9`yuzn#Th@0K~TJ2HXX)UvhVb5?Au%B>}uD@*bf+PmOe%g{c zFF(u-#W_oC%=u{4PmsDRg|UQ|lcgWm2MHC84dO>MV?T7mnm$sdo3%=iP2u=wwD!ELI{Vr)tCnb`s-hhNlzZYP_Hl8Z zdNGsxgr#wxb{G{S4YlK5Yq{s+-j4XTng2fS@ZYv_0bvU4K(=!Ei~enw5g&1GsAKoH z*a(KUZxj*>hO?>~etq_RgEHzSmszBi+Jc-$R=Ey8U_0D4&gTI3?Y~E`K;<^0z{{sQ zs^tVNt6_^StEcV{2i`rc{F3Zf*`Hp^uGB5RsTM1tM&7RGy4Y)w{D!b;753*7C#y?` z@SU<;y(+Rcl!hkXQ?k{mX43ob4~QJyn|AS#>GJeTTe#nmmnaO5vUJD&h5aR!uldRD zxC%@1w(u7?gX2#>@#nmnmbAYdh!o{SHqSx?m63l%T!^2*mEOw4eEDh96)G+_>w zQ=ey*U+C$(P|pMf>~pSN>+FtaJpr;Lw5Mfc0t=cBPUkDM7ixO^Za}#oTu4_?sG5-J za$2CFD+xMxYN&g5|C_fyOOWYK$@uCdQ0E{Bh~2(KnjnBj(6su7CWsfNE#&7z$1DPg z#m{xh-?)Z2-(;H<9#SK%d15;X8=+x&T(*M<-{3a>Y^0&p>U%(<>!>JD)fLNl*d*Fmi zVQwxtN>n)g1^re7sO`Jv+xTnG4Dlg}0h&$Z8wb&+I*Yjdle|&Vy zPYP@jhLC{%wayWe`h7|VAOI2ie?0*Q)Phq13jz*o0n(!jP97xlUqDlr{ttfUA3S8Q zroYR-`UfBW5B}pncsQ`V^7r?J{=s|vgKzi;fBX-g4eXEjyFSQ9_J8N!{ey@2FaG|V z99;SQo!9&apZpJg;vYN)xZ(Kw`_lj5!B71lC1`~<-$38@lFx!(CW%DciB>*Dnybx& z3P3ur2@2p8Ng~UC+bl zv@1lv<^_Bfj{!CM7=C$kPI>@0J!t0dKOGx6n($v?L3IT{bou=BG})#H8O9b06PX8D zjAuM+HoXobpnD<}ULM+)`S`!Wg6ax{=nBHstul|+XT80R%25hjrf>3}LQ^?09K`xejkBR-8P1}=tJz)nVQ0Xj@T>m{3#uy^ zqAOd3+&yfjJjnHBW)1giTsPU}4z_TZGo*M4+$`#g!v72lsw)Jd%TGg5{DsoD;-dh> zrv7tp*2m0w4=f$_A|c5-Z6%j;5Yk@=)b~(>WYBqLfzQ=g{Wm{vN#}W#&NK@D$I<>8i>?V z$&g6tAEHEn`d?u|bpb=ZA4g7=EZjPO34Vr;e0Ws;3>!P_>)@#ab3=Di>I;H~;r|K? zstYh+q>aO1h7g&3NIuEguFVbL{F0tH+|P)5FeuCw_H}N>?!Ur<>WYS>QMEUFN<^vt zfxv}misu87Y!?fxsQ-@5)>{~+)Ofj zA_CronvZ48p$ZY-;vn+MwJd;>4;gGXL&y>X*sd3J8!oswi{2cE9QK5X#NpJH0FQn# zcu2JPY^y;JyD#!=Vn{n=gLF;EapfDHB#QLR_e<6_H0c#7LKDX+&JEOC7#=?%cLapb zI5fN(+Rd5Pxfh-T)94s@aJMsjm+x|lAkhUJtVQH%g&FsG6f2zgJ>aWx)=kuVD?@{r zcH4f)J>{Nd#e@hFxavgrTu});qmxh(|8?wpji1QcW^eyecryf}1O%V6F4}1cZwHRbK3#Tu#+1A- z{&sOr`-cYr{=Yd`eezEnA+g|s2hW9o5Pv9+&L#2l3!D-@VbY4u5b&t!l#iqqfS?WX zZ{N*oy|^BgERBHC`fML6%X%-Z&hn8yDZV?J!XbG`C!8rn&pm2M0DB9lbDPTkcfM2d zw`^PFf&$lREhJr$Pb6%6m}XEsUK|a$GKvOA$rbE!Mdk+OAG5KwI>(&1Fe=-nrx8T* zCaKa5%th=Ocs0YbkX4vXhM3CyD1|pX+hb~+inr!i9q_|eQn2)k;cWQ}dudqxRfNU$ zK|`F+Wo=Abx-0PH7;5QU6x=0JriHdIiy?wn4gFK)-0D>d4_=iWw#L7wrzEmr`x)|b zfPW&+5JSTX#*}5V6q&O-+nizg@#Q1a3}p;aTh-*t=0%e(Z<35D5JU+rVe`K7iD=cM zltAuZe9X>RI~+RNF7&~}BfF;d{kV$&_WyPS97r^a`x#ilTr2njp;;lz^Zvf;j{(U^ z{7I6LyrVKv2zN)o-3hJs_hq1=GQ1ze*k>k@THNiZf=_r8kx3ORGRp94N97kpkN5mJ zFiv?2{(c~odME|lQ8(P)6C-h`Zk~9im+^|XT|an-OvUhHJ55Z-Mc3xpMl$lQb&7#| zq}3Y^!!9pxQN`IMUf0R)cXHPaI-xXjvt##a60TBlo)I-pojAAAcb95!YBhGffO!$w zqoi4HA`d|WaIgwW!X34jyq*hGi{?r)DQY%#xX*+h8rT1ru}v%7Z}|!$=*W7k-BBB; zy3p-c{|J=O^ln0!R{9aEJ$t}?jy|KD0{cA7<|$?qZgCh9J)vqEZZC@bP=lPuw~n>B z!^I@7rhtRB|CdIz{kE5@CDPcJ^d+TP<>rY-}Sfl8K6dyYsSAk7mld&$^ z!G8&n-DcJRiZllzgad*6i+>MTirbP~7{qWe&#!n0lpy|`{aKg@otj7+mdnjdzJ zv={vuu=mghKT0RL{;whp7og%GB^gLuw^1cxrDA*gUX+wN?0jPo7r`;qg5y0J1lACB zyJIxVWfZF|_Kh{e%VElerTdmJ_45OdDZ z?nmX=(S-^pAI1W}N@$3#uW_OoR|;?Ez<|vY+>Y`&`hptwh5Tcw`(DokKLbVj-mLOEAn*r)KM4Fm z;12?S5cq?@{}&P1_{;vs{404F;0`M}nDd1GC*vPH1Nfc4Kd=7>f4Bet-TR|Zf59EE z4fPk?@!S94UBFiD-}S?TZPmZ?vH#%7z#ad;KQH|U&jTKe|NHa4fAEUX^$2(IS^OIh z7mi9!?%>$v9NzjQa=Nw2{E2a&F}(oFEnAD_4No|e35y}}F^ZlO zJHq^ZG%{pC286a{4Am-m9r0XyKJ|1aT$_~kzE!?7EQuX4JY4pAIdBO2H`_s|=o<;- zWf;f>OoHs$L(zpV%B!qayG23!%qi|K04}a`_8FYmP2AB71e%HFo317hX z7j<4`c9~^__ZwASPltmQ|Fk}}Rah5Tz#6WBDsI%cF_9;NK_8@SZiXKcuTXq}@_G!- zkk)+7agaV!%NukrE#y?f|2XU(K2fA3C5#2Ju=JO^>B7Rl;|6NID#ZF_U%dZudJGgO zw(x-E{P6ulLvKHE^uQvLJxBLiXkc&!!*dT(mdqY3xJ=FN^1dZM7ac_%kUe19g?r6p z5nbz6l?7z033NKQv3R%5;2x_zs{W&>%)Ke;f?&K~+`mGFR{S{SGQ>QxKw%V)nRfbz zR<76fZ$pb(-rw@gM1g*sKs{X0*!>^g;5t4_xBXZZ7K@o(Y%G@xN$X{%;nT6L%xdBI z7*&f~&Up0*m>l|hWd*p{JYMh+c{rT?Dq*dEIOs?(z$I?XW{F1q5MPb=v8km3=*dj` z#zMP~`>pum-e7->{hLzSth#omGbJ%)dFomyl&^H(96a$t%+o8Q&}DoAX_J)NW=1; zxDN6SD$_5GDwr15#JodHY%fOt(H@lYyqteB^8 zqoXt-)~Oenh;nk3FRw_6u)?9mP{GcP>!r9Ba?M2n0!Xih zRZ``)o~3+ymO+G5GA#BRcA`){WOtVTb?D|G{!aSRsIJ)4C2PfQ43@-u{fk4|YVqIJ z7b9rAR$}%Upn<`y?7JqMgp!hu1}~_Hu7#XYMeKSaXt}=)@5+{JEO93E5(dm_H@;oZZ8JpgKVT%k1Xs^;a62{<|Q0FVJ*94 z-R?e!AES7`wfrAm;eNG-U9pS4-+0cihu+#wG3cN$sOReET9I%R??P4;bdqQblsO4# zW45@h(R}=J=J=$)sQs{Gw_|DxuNzI4F#GDTyLhU9V?aTp$Gv4DQU2F!Xa| zLxuA}80LL!&#ENLp&YyR1mfIK6KYo>WwA0%AX}f`wGjIe3oVzV1CA^0>Cz_0Rj0== zJ4N{^JENv-_~I`LfBkCT}%Q0s~j zxpztm!(&&&G;9+#)XRyafy!?4x7Px5yZIU%6|z9&z}{AXCWDK`UTyiBJQMA&EMRvV zdQ~OG;ybALgKOT&J+QLUj-?}NE3^#WP_*yD!!A$%(Q0#KFw1Tqx_3NOZ#5G#lo zWeOYQ-L+)2v3b=g(3UT^#yT?XU;9SS7?gfX$Iyfq8s^jL9O6S+o=(IZ+Us+00epXu zy`~|QD1MAx@sNS<+1G>?81x&)d6dV3B%`B+71ZK05`%iXQ_yUJXAmjGD?^W-QY>!y z!oyCG8}@Czf=T4l*!^v_gGxKbvrcaSxgn@Ly*}1sOW$-Jm;O`1cZe}90$2H7b~fyx zQCW=6<5_2%px^M>Oy%mJU`~pn~iE9k)N%KM4Fm;12@-Pefo7 zT7Sa+ucPWgw%~}8gMXyZXPMwTgl`2JP!Pxh+^YPY=LRGm5Av#bzj^Fjub6x!v2l zuWt$oBolI3Cg9^RbQFW9r^A{kRyYoO&0{9;%p_b)_NZ5(qniIAqn6fwQ}h5F6t%M$MUCZ6`(D?^KHWKS`h z&vWfzFo=T>vV@jaWjHsKs4lMLpV~T2EatKQ(%2>o)6+ePHmeq>di5TI+eM*~?XYtP z?LDSMkk9gdM*KReEHQ#^A54bAJ?!I8PAWCm-{o`dti3-nik$W2psku`Agf^=^I=l+ zKgxZe-ekM`ea>X-^|p2j?oVy^cAvF3$XB}8FB#`xAjyb7kHMZZa;9v3gY!hSe{RoQ z3y!tancREB{0#B%Erk4Ir6A|GJTu1~HSt}^)y8#1oRLC} zNfUf!Vlj=aA*j9wiQ*pII)>@0#G%bJm3g8-k@`0uNQV-+4?8#lj8xzYgpdeqNn;kR z-SW~wL^rA>`n@xv&UgJKWzpXBI7B}OOy%#VE zAyS2E?m+2z2Q58ORlke%a}8S3ML2EQ;EVd=?bDo8LG^Ppmu@)R7ri=0^IQ4;KTi~7 zxC!|1>g}{9ayzPG^WNxosA$XSPJWld%_h{47j(-(@o^<2knipL7`&dT%xZ%C}wX)1amys0>{$1Y$M&> zZErsyY$@mee4h&1AxE)I)8a4i+2Szc*-QKCLWH~ic&%}1-Jmb-LF(qj8+F!`y3(4R zW<33Os6Bn`bJI zaJm@{+bHslHdS%HiVvFhI71h))j7v_AJ z(;3~IA1fN!*+aXn8~Qf>2_lnQKni5;Ahe?!8}!?@pu2RD_PAxNm1LvGh{ThAk9Op= z@Q%Koe@T6#lIm(tIAX2;Q$VEmQlUT9aU3I}pJ&w^PbwOJ;3&=Geto>z>lZkwk6(m1 zocD9}`u8OwJlvjL6sEtXJUc1hbpJJlo&8tlexAT|2C;1@Td%!jb^|fFkkmWVQf>MR zu}XZlaO^o>9(j0xWg7EwaTg=Y zk)n#D6Jfqdrt5g1F^g$Za;7uFUKuhN7_`9hVX{XG{M*}w7ZkYLkJP?a_{5mx4ECP@Cn}bkN z!SgPp!W&!r*N|OcDqYnbtIwaQYK;kN$2Q=rE@PCrnBb5!CkD5lrcn{m!y}=O3pcnYlB(PI#!ybgh56Lf(Kg1RTlNI^YR)CUb z5lp|T&4_)U5LuflC6bVW{HM>(HC7~VtRONBblE`WT0*TJGH-B00w!**H{qH#rnB2A z)&?sg;U=jOd!L)EZEuy)V;=pwa@CD{ZTf1VbJ!Z@vU;bI@f9pa$Q2Ry$T=O_!ME(l zNlWlqdZY`pK3`oEIASj9t6&VvW5P(K7*Q;CoV*PE_L7MqnG4JlV~wJO-LrTpZ{^`x zJ52HBvY#G&nrHS5lP(>NsrJtupn>3(T#s{8dT+~Hj>q~u)WyHPR9eH=b6fSJ2>-TO z*hr)>{kb;l)%BR(sQ0ss;u@hLT`NoF$5GUS>^aVaI~H`n#E!iTDi@_iyWLd|7IyQ1 zSKi5_+^{H`C2RB64}}BOXqEqG?DrjQAdm#HK(1hV@j|g{oL~>Im=p8iS+<4jy8E8D;Mung?@_p2F*-QW?lOf+E0NBGrvG0fh z;s81b`~d2VmV%EH=*}lt)#ZG0s~>XW^35AIv`SdRuQVyDCG1VyH>%!VnhNwvk@b#= zKv7Nghde~ush@=9>9Nwi;?xgPTg|^^hd;h-ptGc%b~HA!YT9Pk$D%&?e z9J76czP^;}TFIc-UiwBbjj+z?$U_$kb7ayV_KgW7I%Zz5Wo?x+Sf_pGH9DUR-fvB; zvr%LzyD?JfZ_RQuw%FxasWHx{;oW=xX6W96m1;&(lbep88(qT33kfkFeO8cggO}XG z;i|~<*L-#KSxRl36#l$8@(C;VHa$u}5v~6PnYJ*4_obLes zGG0iF|2Hzuk&=75OYl0+%@j#MLk~$S_LfN0V@+;SfYaE1*`Tr?Ay}q&oxp(87r)JY z!8%E?kZRDSxsiKo*!Fcq=L`ucZgPKu)Tbc6t0xkyDkM9lbO`0c~L*}4TX`V0(>+(Bq1o`w0XtLId^Fp;VCtgb|`aWzR?gXvY$_UrSn z>5Bm7#tQVn9oV@A{37)G0`YX~kKzq}^2MIWS>Rmc$Fz!@GnvzdVK5AlBU3CInw*yz~Edb*v1@14hDA>{w0Hgmc&`oYqB8cl+n_&IxZ28XV89}lbT76DOGg9F9L zlqvX967uuqC~OF%z$8GtBQvKFe5)(rKrI38$1fbUKfkNnfA*j^p4CXB5;(fpBz6ZVKvDTb|#q$O=FCj0w6?IAMY4XA_K zDJB@d1Y6<-^ONFVHAEh^-}Ul-3jk7oE`JdCgTVg{2>jlH7&8AKI?)^)24tv@9Q-SU zet^c{77D_@g!0YcW&^^nfPWCGfcgX4f3qMja37o;{P*2+JE(u)?zu43KX9l2?)moInl!?cEUT&l&$={ zx1z$QyZ&U~ZPl&P6R8L>V-e+qW!woE5okwgqkV{2XH8*ToaPWBAyj7{h5(*R3$g>7 zY=aoIOgE=EeF&-ZfzlmKp5spPDbK$f^(8SS|733p?0u)5TbUkpi>7AuE^em%Ngu)S zj8;~;<9oukx-F1I2h;nC?rNzXE;BXkON%+$M=ytq`rQ1dER%ojcKhra<#5pw#%LKH z!wg}5rQVydIdQ!bcTow+2pqD!WGGGm?056eFFs=!eGsceezHyN@kL$2;2A5+TkaY< z#n!Tnx5MoeSQX4;IWl_F?*e%;gm`b6zQ;d7YX2PFpKKCx6OlrdZKpzGCDs@|@C-xd zISU;}!0DIJBV_f+i{63exz~m%Kxf4cQ#bL35^+XlG|*^6y!M`t#|#Z9I1cDd2*H5C zgpi817;Csf!p4Q6Y+CQ4b>}_#KApRo{Z8l>+5x#4RqHySQ_727*?7>~U_6@i;Y~~Q z5rM*t1?csB(X|d>M`yU;colz@y}_7umZQP+{!r_A4;@q8X%XvQmK+SL_AMl817v)2 zte@rYjaZCpEuP71=cYL%NhUpURfC^akGGZ9mrDEq!>`Mb1_7bEo@xiGeto=_rB1F^Cp}p!4juIL3hwa1py${qPTHKL43%}~c z?IcP{i0lnV>s%sMr*U0JyF86L!;J&%=xDa)(p&rqY>-h=(=7@1v$#sr;dt&pRw25AK8xp<{tJ z3x1P~kr?Z$;m;1cVi^05d@clqlIF2DcF>L|6F-gtCXaii{bnFnAc+G%=Nq9m*Fj>^ zU6*Hc+p3qlYUhRVM9C1%&)8ljnBBAXLn8TD8~HxFCw@hhYEe2aYQxtlwxLP55EkLX z9%AABaF&}PeOjDobqy-}jdq@*E^l;)Mi|cX6c9v7`Me&lUo2rj7W^$YlSX*`zHZfw zVtQImdb{~7L59l#fI+ZlFH?b#s7ISH$j6`!Q5cUNjkN=jI2N)5n&__Q z))vQ;!2ms^dD&{lv!aVkVz(@Fr8j!k3!~}Hrfl@dq!X4_8Rthp$HhM@wk>UKcDaoKLNV61@nne>*|=C;$;yh&VZjXst*a_= z-Yw8OP1~gMR=26;lu!#fc24Pkdb_*27aLgO7 zU9$>D+a}w3x1|^(^!tGY2I|1Y0e(2?l^j9qN5#yA1%)C^d<66vS(Foo#ER`0nUYgc zAd49i*LL&=%y@Ss`_4&B`nUEmGa2vUQds;Dag_RMapeHX9cig+!h(V?zvvf8V36(Z z2_Nj@x2OEr?!v`1!oMIicM+F=xSlseb>+JKZZQsP78d1fuCDZ4zr#WlJby5vHal%tb* zcsxapL1R`If2E#`B*HP^L-&58eN9e8(ix^6VWnwbSB43BN2~F%#uBe0Y6|Dd1v?Dw z0e-&6m74($IgINlKermsO|YWS$oaAXM=v|bmWEVv^`p;Q@B$j3!3*L=$(sH~WZpH+ ziJLL&dEh6$N5>Iijn7)Um9zXkK_n4T@%>_6&E&XGB<(|`PX=u`IXhY}72FBeq*3#B zMk&>Oq$tz+=Uh5|t&UI}ESR{fqzkVml6?R4^0i&H4tEYvNdIk%Eg{7Qc8IevUlZeZ z9__T-I&Fl{Y!~b@wl%}Ssp$5{m)*^Hxf2?KPJOuLjk4@OS)Yjtad#2@5j$Xhgo9UP zTq*Uos<{w@&HXWui>TuvWZ~+m*nmL_pZP@}BN zntr_Eymn0?hQTYlUN$)tLLd#-8!52OAIGtgR)$m-d@#!;+c&q%X|y?erwl zY`WnnmvXINjKi#BBt|L0O1-=t1r20at@gI^v)8sHD$ab2XE%`c2S zNhHm1Q?E)QWzdzMWB5Nb1jWTux6Ki=AYA82-G3rC)6+Q%f+XYPaPs#qu{bF)F;S~v z**#?RZ&Ilt>k2Hf)=ryF_#rd)3|&(JPsOQg)#0s4mv<(3CwXwUSP@mRgCF!st|1kX zPTAZ%RZG5zY>KNw!hWHkZ=4A1uQ1 zd&5XvvduJB8(f3*dBi3vJM-YA`piG81gLJe$yPLR-%ZavOs1PBSfe(V7NqL=JR}-u zqY;Z`RMo!KE}q)1U^cmZiMadOe^;b=o~5j_?IJ^bzX&w0|AJQkrPA+Ex>gwfEjk zsH+I91TgqF@4Qd@hZ;zVpp6N5qb0hbs-jLc_7MVtIJs>Wq?v=@B%y+GKmoKf0kVZQ zzqg7%sGe#PF{`LD-LLM@{^@si@ZLz>!qOMEvBhak02jdEgxuRlT~bTWhAt&WC4v^q zXhY_JY(Am+oBM0TA(;A6Naz(K`W-YZFPWam@rjt9o7dYR0RkT9jLlz}a z@rAnB4*C71DPm>Tw^Ser|K{%z`Z#gU3@rk{jhq7XDmREZYcWo*tt}(3-uyvhGzg}; z=kGH1zx~mm+Y>YP6QnnnPv09P%;JWdKB%S8CBSR2QYxy2|^dwJh?xS z?vcrLo}7%Dixj7@{rRd?Dx*dwo*)&1!FTp>#W{pLfnqo=QTlpmAY@K@$4rN)hs zxQE-g=)KwRi<}2lWh4E(oiri}izIyIBjYeQ8HU{T=>EzZY(}6QIM|WI63@I~@aC^D zqPSk$U8I*{?Va7j-BKxXP9s}!`yb1J5Gx^33drGaf9U_U2y6qT0b>6{yO7|N=z@Rb;NRVN{Sdfl{+;IrR}>Kb zZhRjeYVY6iV^Dkl?tKAp=lkw`lc@~aRVK`bG=sGIS&Ek#WZkb;1F9sSJEXqKwfNF3 z2389~R%8Vxh^a#uFc|^MQb8cOPx3tTYYqXkdc1QHRO&0Nk=A|DT%Hv=Ugp9oH@PO#a-JCUxJLKVRZd-if! z=DKd(19nF4ctXn)sIFuQlZ$A1_6uovJ=(I5YEv$#FGKVgW^i!E&_%~SxX1#T^RMSa zwQ1k`2#!Vcoe}hJQ@ro2ggYUVwcXa78MT@jy+G`Dk?|?aLHmN0{f~ZROOAeIwSErl zdH%Ra@%Ml#v^W5Z$H4({#sw^QWlv*uryxa=n#gBL%7xNVJ-p~&1`RV7%exkB{S4MT z{MuLa*1)R=2My!U-T*@k^s02mq-lIJMGa+!R4S{Bc(X`M?2I<<8C814Lj-j>2NU9n z5Ce55?XXX1X+2=fFl8d+9n`SuW!Bn%IlR&t`(Q?(a013^cL^jj+r8e%wIyL zWV|%QGhe!uQz$!%Zja+j3mZdIN1Em&aMn55I zt!|rf+7F4#n={~8N$R+HuXs1Xn2_ucE-WYHTe_bqsx%WEU;(xX>j^~xkS-Ck?jX3k+M@+R=93%PGT z3{4Uw*VW?dx4g=Ibo3}e@A@*iw)Bis;P6Rt2v2>KuL7rqShGmC5IbnO^kw(qMc4%k zc$>H_jmUsyV--re;@BrxmYdOm1vpCjc7xwQp=bWD&SV1&l~3b;K9)Am$e@^pevZi;6TBg zmn&fB(`4i@S_!uj|62Zdt?NCIx&L<9V~4{au;p~JFC+)RbTcOO<)v(iSfxa?+J#P9 z>-gI=syo~4PRNuNPQN!;Py_Ik zQ6FH=-Xo{^HXp#5gy2(8^pvPcFt~?HY`=E8{mQP+c}&g&I4dOjX4BZk=>ujY#mM^m z@cWlJhy7}}sVMF6CrjJil|w)HJbo>I+%{6A=(Ti9bl+Vc`lVKEcxCBF(5uIAzT@=^ z)aS~>eOx>jwBqXB$n-QnW_`mVvcdO4ujShyk|@IV_F$K#2pmpS zlactOye&=pUrJBH>GD+-?&Hx!Ix2P5AjX8t0GZ3FIEh=BDKY-zp#I&oDgjn^qdAJu zJ4<57{DUus(8X@aqp{}d%dhifh-h+&GbAe|XHh9Z(O-bi?oP;*XL^~ABeW+hKIr3_ zMgMnuGO{bD`QF6b=aRc2E0aT0b~swN6Lq@pR-jC!fK-t@lG7d2V|}Gn%kf4bJ)sF8p~JX zjfsU{4dtIVW1jlWCXl)(3VbL|j-c@3%RknE=L4p}0ktOVr}yMXLea2|8OFJyWf9FN zx%EVj=`%=24Or0+wqyb!h0ZeT!*EN};(O;c)2H!$YFI@Z_3E1j2~EN@^oxxC=HICv ze?BpCci?_c+=L_|xCiGSSke928%1~K$GMl}C;8_M zgb?E}@iueEQF+Z^1Vm8WwODsTrU_h*Wyq}PLw-|@o7wh*&q6wv*nNvFOx^ZFnmjFm zHp+I=1i-!xYMIzWfCp1&;!T-@)^kLZW%Hk&4_pFH!d^IbA&XglO74IB+Au9&gh%9> zkFi;0&Q$$*6%y0@1Lf7+D?d1P0V%jTQx2>D z7kh63Rb}w?jUGZmO1euLq&ua%Lka1WRuGZy7NonRLs}Z7OC+R~4hiX!<~!$b_cjIF5AvgF%@LHfsN2x@Eq*-yv{^z#Rg22>gE#flcs712p~zZ7;kDyTBV6 z@CP1*gYLkO&+l~oA2caY#_#cSiPXmFJL9}w_L_< zc4e|bRtus{zCzo6;-yaMN>OLYJK#@rA?FPVSL(x9elnkP@EWF^oWm$4pKxU>R}3XGaQJ+?5pu9s}mG_59V+gJu52vzw9s zAS9;|MM=BWDGFZt{YzrTRYLAM=<)9?)_ah9xniT(<%)Iymo3?8+q~WRRu-Sk#brrP zbA7kp0JM$3>ViS;41i$f%#iV)UpdgCXvut%9)Wcoa4b+Y(Wn#R=c$Jpek$@sGQ3_H zth5}GQ#!0zDpzuD`~0xV*`T_UvLMa=fpaRdi|m2N;* zqHBgzs{~9~cUq7$(H{(H ziw0nT4NL)UVAa4$YPd2P1p$S;VpQjQqm(9R9NVN*@XcKYuEbVq!Id;VEUZCbrPz?! z@$#O~$^8mVk_HBhtXcG}hVbr(q>}70f-R!Fr2%RaF9EylN616Dj+Bs8!oP|Q^Wf--a5!)!1+26Vf=qJ6 z@;K*F;hOb96VF%vt*^QC8SjK?zJ2vL!s-9+v!Mm}-c_imEt-wmES2YJwM9FHR#$XZ0ie z?Gj-EB;~Wsb5S*n=4qcdU@)$r8_0+0HspFynMvddaiP<;l3X1fqrf>GhQN#YRy6(O zqDF_Kbk^z`O>K$~i^b5R$^o-c`xzr(n-nf2jgpJc@t#g~!H`71k}0mC7ta!8 zsCt9%Y)8P7%_iLUn3$jFO}ewG>OrjSX4l?p+sOs~TR=U_hJ z>gW=;gw08#YA>loGwdWzpnG{cK5_$kENyCVL4s zd>Z-N_ZIulgk^`m$~JQxnd02OPCVtd{kzYUfDaNNZHSO6GiQ9y`k;h-C*Ot= z&*=kH437h@rf%=@#U!G7mAlqQ7iSwH@QVat2LwEk6D1lMy|UA1bP>|68^7Q{h-#YQ z!@kEp_Y1}b^$HM_5oR}o9!enhVHrNzm(c{f>a!@|LC)wJQ0c7@aCYx5cL>}eaEHJh z0(S`9A#jJlp9pM0I%CiPNOuy*@DBJR1OA>tdJ-4FJBYqr-|vNt*KgxFA>-{^e*wn8 zUf%D|4+4igzdxS>>{|UEj{vdfzm-1*Tp_rPhcBOrRVT zCHnlZE2u+?{xFXlyqy9I%ZJMO!=tQe1{LYa9>RLsmQY-|jE@l1`YYara5sXUwFsW# zhjuBB*gMu%_r$$7PE z_?B-DxG?{A=6p+FC_nIdfWTS==mr4%cW2JuGQn5-rT0MZeUM}YVPNc^?-nH9w*LqwD9G11hUtT)sKUWkpOMH(#KxOHHeU|6=!mL@Jo=h{uoSoYZ9`;8{(P41d0Ofvr?<|C zMEH>*bmpFH1`j-?ygwti+-121cqG19bbJhhDvGp+d{QmEM) zN1C(f>y6tVi0MBE{ivogH=aKWU(D{RnLAoM>!G+8DzuN}z!!G9KxL*n_BqzA>)J~k! z1w7+v&r_b1dZ3nN9w0iU2&_n8?!Rf`BvXiN$sDy3F6{Ws+{Bx%<4h>n{otyA5N--e zc8hVveP+{)9lZf!oFal7b#``i_en@k?mxG<_GvBi9Xwcx4S9>v-~dxINp*1{ zY3d<0mS@Qt;X0!w8CigS7@DTz%-30rYn<{74_vXbxigg+c7#5Qt4+Dr#;Gh>X4p^E z%%9V0A*mY=ltz$oC|kr$OO4!qP{eaT zS}5AzDUKZ7HB{S<9Xe)8B`U&DX*|BkmEpc0^ljkB4|v*7Z85Oe20v z%`TYwXjZ(wu;#ULD3?~qf8Wq9pumUgt9kYHS8jB7ZvFNBi+wr}q+sjgOGUGsC~H#v z6&Z3GHnuIamHWY;IXuo*yd^Bu?4@I!K}~Fb;|x)-G=kPL1HGVz9@UaPw-uL;Ov)E^ z|8tyggsH+davxKcuGimq+OAqvD+!fM>`-ybD zfK@Z(#{TUjl7ngkuimEe25i^SJ>mzYxr_|Xb#(`NRj&Tl?H7=AvvwZ1s_ z=$x_>-M3AqYSB=vi@E0$*oHj!y-Ihu;GUUO|NBeE&?v)Fzqg_;4y@SIm;7mb_q0Ex z@Ai37_v{(DT$hme%eds5m6DVQd!H^(voq7tqQ2g(iRxyU&n4Y){ovFutG?otN22Id3H6YD$ zLDtO-pqF}+k@(Om40-L|K4k!+E=6p(o4^9M=H!M3JX3l-!#gYQA6ublq@Eug4e;Hh zYoF~Ryn0nMxU{(D@=4C-K7oZp28y+wwfh%W3G0{HT2uq~vk9c?q!{r}vKCuP_En%hY*d)?cJNarE3KOwQ zAoHYu+BJ)fL@k$#thA4VNy=q0|0+T-inL~zrD}#G)BMt~dKM;$=i8G9ZN*93P2=$D zYs)+;y5^;oyJipYtUxsvZ0W<{HuRi?C!VVtEBxCMz3z;Ozfd+!bf+oy!wf; zB<3Pj9Y;h!q;qhXDf#troSI3|j- z$I-5CZS)Iaw=Q}lrw!G}fAI{u zl{w)}jENA_EN#($hMp2eTGU{NQtFk;(2+TUKZ%!*U1GIMd_8?u^`ESqmAj272Q)Zu z(t4yiND_Ov2vx`jdML9VKGuv#9xLo)KOcBt|6YBfR~yB=5AGLVK@#tOU9q&1MKC0@ff9;F<>`(c0;>(DXDK{|?_&FOF=YakI; zr>f(5O!GiiXUpUz20?}1Q#wMq+)#$0CzP3LECsg?h73jrQXXhH3@Gv2jmWk zJg|{=My6mZ6q=0~6Q-);T6By_d7-W{Zg{jmruD*TR{q!-;PzCa^l@~IRSHiPtlzkD z@f*Jit$T&WDQQaUW-MJ6&nPSUGG>P8!5$I72@sfmI`pMWCQI?^aGc>V^PKSg{ZDfj zK8=zIITpqGb^GAAK&lxZ8RO%wxi8IE=$}U|t1PfR-Hq{!=!BUkucBY4;ozg56*7r` z>fL!kr|_fEDXM>9a(mZ!njSyBWJA5c9Bk=x6g2tK;W5EmJR-EixQrlpCU#3-q#D6O z3lWJYGczgKVC?hVJby5ID5I&=(djw!`#z>{Qx6p0)&~2tBoDcP9`x$;KBc+eLw9nvAgi(ucNJYmkxmup*gJhCzSNn;?{%<%=DM)NGvc_d$+* zU4y9lqSOCWtWG`m#;#Py6eJgiPbxFVC{G25FqqHNKIwZgwsYND|HV6^Y2ChF^@I4QQ~J$sZmXJ{nuWmWVv zX$1yTT~8<#mSx;jhj>RhI<)M0jDAY8#p75O5-2l_c5vbTZ3n6s^>grSJpRpV|MwlJ zEf&uI2NV32LP)~mm$zSAhV5b2oK`#F$$k}xU`~)# zIWTCtFR12FH#-IOQIXZCE&H0RHcx*y`&mXCv=Fg)ZR^$dr4x0zR&9#XQn|G|l&>X3 zmhGo$)l1#w1Y1RZDqIJXjz`KNJ%UJ7C1%(Bd!`WSpDlVU0D{q_kbS;iU_RJh=Z z70{q_ub)4=d~Yr92bY9y_Y-s|&k**wzzUp+EvN6Y-XKPsLyO*wZ^y5fItXT7X@2)T ze3~Iz2p@kc}uh=+MJCI(7UU1^!~W ze>$a4mUZ4w!Pxz9IWH3}p?O7PaZ$eZ@iCOk{jp$JF!q1z=L6`-oauq7xDT$Mz(1_7 znf5~WyFEj*mb@S0ub=K=pfh{*RDxF+v7o_nfL#A=*oJUH|Hlyt@N9J86J)^O?SB6w zVAetO?f(2CU=jTu4}gsSmw`N>aQFwk25c+Ifd9XZpN7m2+{%jr4lh9QxBdYPf#1vD z`86Q>|3UF>1jJG-Z})Jbb&EWfU(g!7Q{s*iT`E6gQlvj^k@_|b{s8{ytLJ{31Fm{QwmvuBxHFs;K>Lm&oHR8Z(3!PGVyDQxl5c(STv={+MGF9pj>%i zdlD|p;>AgxCcb&9SSe#FG~zlFoj%_qFKJTSQOQ&*~qf=}mCVRiZSZ!;+d|g9W3%7{$$6&7RlztRK^84(Cc9eZY09K|N{* z?-Vc1LJd`Y%hglWIf`d7OgzcF*YFKK_6-kk`!WF$(Zn0*D72?S0I|YZjX=`R9F`eM zIU5D)F2m3&h#y~1GPF^GOAlQe*$WCznB3OO$@CHPIkyQ6?x+_#GBlb^o(yBN0s*y(A-hLzJ)5@D|r|7V?ooe zVlqbQ$hu^+j29NZC)o!&RVvbd9T)B%aI7VZW4WF~Lc758WSVnqlJ47z44xU%k}YKq zQe_8JX9@noyX~OrX2N}>#+qw%51A@wF`1@y=6J<-+)~(Iv6Z1DZOnhhZU9RRDAHS=J|v64}Dq-n>7nU;1~o@VUcgYu!6!z=-SfaOHV`LhirR z*4v#Mt+L#T?qI<~YWe7mrR-TV8lFgMEI-J82I!oJz(fej^OvhSA%W z>{4(wzA+yGGI8t;DU2=PMW?LL+p^RRu}`R_Ikm813WEfUgO)jgAsk%)fmMaio~ilW z*oPNzqFD9lCbDBMzXaerFKm|dC!xkf*foNy%F{zCF+DFf&sJeO8~DXhjVmD>tK6^$ zTvN6Lbv?Bm4^rKnUyW&>Rht>a;1=`o^KbukL96H~5QCfO;~nyxyK zjU1Ic?@X5R8Jk1LjUG^OR&Yx*^>~>cSkZ}OV;a?p`H5EW_0;l)=Fe^W=zLS6g$af-x2gG zsv$Rj_x*}1e+b=OAsIioqDQ<61r#VI>w;vY^o>`5sPJiVeBg0v)}+4zYS(c(N@lNh zvW1|ty-BtBda>Z>jGtNCBW$U`lN2gdQ8c}aOOoR9_Z#itZvyg|^gRDCe_w#q7tG`O z9c0r>7zBc!Hto+fxKT#`` zSwMd1+>mWBW>}x4L6i~|6#gL5(ckINT;k@l7)cRKf4%n|`QSMq9x99HnIsg{5x_Vd z{Eo;|f-(mTf?uq@tP5QL9<u*3++uLc)O<6x1GM=|^h?#y(FKK35f~2@ zT;hG2o_~D6@Q|t?A-3g`Y!r+^p;hLtu@#KDWTij>67}l|=K0KVT* zhu&>G%d7S@hYG`D6&8%aI(dP-CvDG4*s=O03LYx5bwA8uU(SifR=mpx%~x%#|7C+C zeE7&6^bz330wVyl3w)uT0FEjrn{`j!Cv-z23KjKO6e}I5KafWA?ja(DT`TCDvoit418LOu&WI zX9zr4Rv83ouT!~1#-^PM>hY*UF5hhAe_zc`KY-J=*YAMu)H3j?9Q8918M~U}$sm$1 zg-H%Y`+^-?J0#T^sP)){rP8JU`Td*Y=mrI?tHrdG&);HQYz zT2EMF*gOO(hwT8@&V+^RU-V)1|W^W0*p2aaa3yTgN z5sfEZ!95*pDI-Yc1b9@^{+T5wS;a{;mT!B65DZ@7T<*{j0C+h|B;a3buLwAUKO2Y- z^QwpmovJ@toehl*9s6nEHcZBL8ElmOTnbLsH}04a*xMVDC6;--Bz+&S>>YSYMp!LP zdxdNqf!op(S~-O?<6RmMFQ%3L0}7#y(PQD_6M?5B+Vw~V_Ic$m@^+j5x)cHRVW6UM zdj>J;{98}Hh3!5FYrtvkjnR`SWK`9bV^d;g`pCmB47>a@<7eOV%`r4JA~gZ?^Fmdp zr25x2poernQjr1ds>B3~ll@d!H^^yBgjHDo@~77LFsRQJ#t6T5&HtFfU{xkB}X& z16Ne8@)WL8tBu`L7EXr`@FnS62PEgmk;?w>${7vP-!m1zxBxfs6QWvsW#!PX)|?sVI_yOhf?w zHhUEoAO+<44-+zkx2>0*eYB|wRR%ekxh(qy3f6LO|6*-V;Hf^l-vx>(KDda_$L6Uf zA3f8F`ayQcbYIEBBeO>M9M|S#pe;z^?9vb1dB0~QFz`K*qotELm-M|crGMGJ`BkIi zw%Ydl(E;c}DPl_@o1TY752N)v^~?CpgJQcHjT(;DnR?0HW%@na>@mO?u!+kfJPF%< zEVt5t{s2S463`ISsK!$?(|b-Cf8e7X2`=LQ?vx-fNWg5$-~Iv0^If<@;0}R*BCrFg zGtdC^|M1?P|0e?Zk0G!Ik^%p|r7QlRVSqAzj|a88ztf;)>EG$&KWHi7cj)){gg@x@ zKWIK+$Mbjo&_C$uKWIkCe1r(#Cfxcbyrl>Kh$n;0SAgPwW{`>3Mz=^J*5*oEK5Nwc zl<ba%%-7$Bypw2!5|@ zm7|lZCWqb5P&k1)uimqH^tQg7kmc=!l~udmv8FA}Je8ktJbS|F znYOy2X7)AI8wqb;$m@&b9va~1{_eSiQRIkO`5a6oU9i8nSpj3hlFJ&}uo*|%Vk=$L zu3XMXEyQ2}Sfk?WJi0QS;g;i!i0de>qgrdMY?NhJ2g%u^*epqtF}!WCEDE6NCV==ShbzG}n|&(+G&61FLd!r;ptdqy~C4-O5HcO!)2JmEhf29L8} zyzUxYJjBo?fTF(IRY3D)gKo8Gq@*Eq_7lZzbg$1ced|~pr1Gp+4ln|2Dh3yH;y2yDHxdJb zGkUafHE-Quu7gBwekKdcXci2Qh55+zsZR*u`}0lP5|5YuQ|Z=QqGr$P3!9$LeISmi zd^#HVyqAN0+QOvp zwpilzro*?X)&c<{ncnIV*P^4%9v`q{@*?iL2MnJio7;YZ5{+|qGY<_uk=_J|0bwrKe^ z*)GYh#FG=WP1h8uY0p_`9V8qJife|H=UBT&RmWSD(?78=R1>Vlh=&!j}cZ-b(qw>e@JUUjuVX=2i_E`xAr%=6W1ecPWR^Y$P&l!+1iE6GRw3XGFOBs*s46MXy>mH43(%o&K;@OT9zNBSuj-1Icu50xYzVyO`yksmzJ7; z0oivt8#}Z2jRA->VYp~+KTPCPa-dMMbCq(#IS3A8nBAUM^@=?y~F2Yh?6QB2V`Xhj2s%yaJSu-DPaFnT1 zXE>#dV8Zn7wn(Fj0nc=njOJe(YrYVN*jfx$4yi+!B%GE4|e4_4dcL>}eaEHJh0(S`9 zA#jJl|6>T;_}K>S{|6f3LqZGiP6qtl?w6;6`afxqU+UlEcmAMn$N#s_*Fnbnw=@Z4 zJbz33{z0$(K`TJU^SAsJf6%y)@jEEqi|xrLLZc^wZ+(uHM2`FLNdwd)aAiE5kYkxI zsR+3l!@fNP+Yo&N$^Zq~q{bCgJXNkB%3#1*l>ELug=Cu~{^~U1s$KhA>vk1@U&mNQ!*cK++Kr*MrJ z_*|iqSRQc7y^au$9Tcai&W~9tCXy)3+KhJ$wJ%#Uh)PUd~c;rsZw7Zb1_mO^TXxgwXm z-s*srJ%_;M4QJr^gQ>MUweguVE$?x7(Pb)`Md{0f0sMuAL6^J+MK@@$>CnxokN|+5 zwX2rEWD5Q~h0vRH<_aFkA`$r^ zVfA3J(%XwSmh;79Ykb3JV=ZQ+nf9v-f_wMb1(D?q$Xn4h<0z|ue!9UqJ%Ye{r7x!T zK4+Sd|40($rO?-zOh7-T@zjrwG}W+5CyzX20P!c-G&D|IEE;EI^neU(*zI^xdoR|R zXCQ^WH!jBj-n&A0tj+bT%E`-#f+ZHjE*Ethy6>-vP6;;+khk3M%tRl7m0m!UPTMMr zdp>HP?8@(`oT>O0tBXa;uYj=b)ui-~ z)41qwGfqDW>wfn}lX;n@j&bpt{y^CliU6z>RP8{4*9DdN`g~T*(8z`#^NMNE$@Y8k z@jgH`5NZ}$t*p%+a4^UH@?eQ3+-@7{eXAEIry#*lPs_t*V$j3DrT`p#@a+h45X|vd z583CggrUw3=;4e_VT~U*5O`-o{~9U%F@59JYXI`P8z6m?oK=H4Am=zhO7VmDp*KS! z-GfWOXA{)^8c)Yp4`@6s;jeo6w!9JNyj#;RZ65ogOR44IVJNU|`cLrTpl;Hge6Uwp zXrOx*I7iIH!Y%eWCOw76FrM*c(8kJ%p&U4;j*xnN4_g1|BjM4n`jQGhL|t?vRN>aM z_6=bTNz2EUtmO>XL5pMo5~*wO93&QuR$6`oo|*$eGGZg)WsH@ zHD_xXS!u1&zQm{>!Br;Eq4D#v6X!q`^ReA*IQN9CByaKaWj6%;G}r%X_3$feZ4tFW zC-UNpH_*cI!emxYy!2jzJ*n@P)p#k7yf5GWB0QQ+dCVk?N)TjJGPyRt;0cHHoulxrc_6Obb z2Mr4x@BjY1@E^3>A9U>>^x+>g3$QEvyFBYZ==?wEQ23UXPqHtlf(j>s=6hHw;>AOm33ymiVyOD-W8;Uq81rE@ z81-Sk!}UhzE-i9oU!Sn!@`Np;E23L4`RCsh4}uLymd*m^M^_n9KK34|UY|1GIKGZ( zRiVKexii)AFE1T~o&Kc@BFh#et6X&JtZy~VIya3f?6YMF-;QM}AS=}4J?cY33>5<3 zjDP8Z$g%^;3cDD*#OqGS({67{pc}voM=>rR_?Iq-EU**hwSc@P z`PU?EPXt8V`4H&F)r01EpCQc{ow)3{kX8V77 zAj_qnGVOeCSo>M*kO{9D{=alVWP$w<9A5nzeh=tN-|Z5NXvdUv!Cgz`)_m1ch?a#d z7R?{~`CqyqvcTucIb25vx5HkzYS91?WTg##a3=9&<{!-~eKzk^tl-u@{+BL@Ebt+2 zg})@vorK$QSlN*WDN;+XuJPI7^`J$P2r237eY?C&p2y57Jn5e|4SD{ zmNQ5eUfkZ|+e+v`KwUX>I?|8+{72)FyuQj3*$%|ZAdCBUsh2P1AMJXV& z{V!b*S#BU%5iE`X;Y52BO=h8iaPg3PlTYuR9m`&eF1+%qp)sJN`Ijz;EO(GB6x>`Q zl1t6z_*2*jFX)5BqxemyCyg>plwO(UvSVmh|I!7KA0{wPBmF_ZJN<1bSvDy{7V-^mM2KooP^cSQB+hQ*x}yJ)2C{p%q1nZ6DV$RnWhE6;aewdow zsjN=csLGKfC+FF%nRO!iyoq3ceuqYn!OL)|z;QJwd}Nmg-__(6ywB2zgBy+Es~xyT z1DLTx+U8jQII5ZB|qiqe{ z!?Fdap7(Au@5=G}!w!gNR;)D`qiw(0e0NS-K@HyB#$BDHu9vzsnc^_}u`Om>;h7&> z7gckd{1`s2vrIl07r1c#cA65v1>q31NGV+jG28g-X-c$K+aTa>nUZr6oY9o%%~Y#{ ze-JaOl4-3A+(-KQj8Isa5yRa_o*l%C*2fAqv#i_|&#=$I^Ww ztyoY0Gc#jLL5!dpG^qvn>o#bBFPseM&8(FGaR7trFS1I$DL}B>i{`-}++PJ-2 zukN=@$sHuw!Ui>01oeo`lv`u3pK+|0`;bNKG%S`J*1OYrg9Z8DtOWZ*7GYc(Q5$9o&+7um^E*k=O*)>r`{3&6RmDvAa|CJR^ z-hK5~AEACxd-Http^ECLq`^x!c9oU@KQ(w8~BPK)&ininRP%>ysX@1V$l7<^UmOf8J7Njf6 zH2mR4K7CyZv8;?1&ZL&>kQdPy%fU)W_zcEA0uc)S`@In!c1wR0lvvCH4TQW|VTn;% z5F~}*K{oIYB)m2@-kL|#wr7z+CiF13u0DLsZ5X~EKo0D_{Ie_*RNDXl7ByK?qy~b0Io-El=9m1DSkkNty zm^1+oS7~~-JltRAy^8HrqQ3w5<@kFlLI*LFBV>MgfT_N0X{P z!qklvlPX~B|K^NBSo3irI1&sD@N!OVMn+3|<^C~)LB8)GGN7#?J4yH%56f*l=$=CH zB$h9zPAe5&WrHVRUSP%C`HE)_FwBt?6kk2@2HfU!HM)SY&w^mDzzNDM&=0M$i7jW@ z7}`VlDMhbIT-UZ3t`$t^0c83$?Y)KJ)aM!F--(3SI_J~5r#+4+QnANgDwWV$$D~hH zBbOxW;}1+<7_Mh>Y5Kp6^6;Q*8jgLGM@>&5*uKF>H0ficSj+t%>EbM3}akGWUj$Hv-_##Wjajj z+*f!BU2P>JbNapZ=iizu@;6Ojm0;E8*_e7g2hHHwl?>ZXz}WMnDTTCC^63^Ak&?Am zKNGNe_jV=QgSu-c_$rQ=M)Tc&jeYk-;QxU=U0;-uSu$)sIWuZ8AwK&%t#FbPK&1Kq z-oyt?atei;txv8MZ`>tgx&6IE7R)RDA&Vv?F>yrLg8JeZ@Tt0M#P(q9Ss>Vl58Yt@ z{(+qRt1NS#*wE6@XWi{}&>zN=lzLAPOLl2XzrH1jQqVu}M(f#gS=0G>E$hKliT&K< zW7jN#4oY1oT?C1aFjIQ;lt37>tI{J`gxZYyX{R)sJZByzZz zEq`hbN?ThA0V=N|>=o4ElG=p$(orP)TODG<3T>c`L*+D_i#&u@e9TkXIQu*iI5(f( zf3^G29_n#HhFlU4tTUnKG8`=8o z6;8!um&;Aa6TFIQ53BtNl9hcm^3oGG5VWSO4F)qDEEUhMU(&P_CF6vyq(U{JE|p>p zGUhKBJYOfOF`!v4UBy5z+rNyCa%D@1WDPl(DyX^?Wj0wzD?!mCj^8oo2~XM({1L;X zO5;SPnS6fU^5|#S3X?dG@I-nC&uCV)ZE&&8hlYg@$fCnUC_Y$Oi*Mv^HFB1# z8-B=En_FKIJoBo0l{mULMFVt#R&RE^wKAPWjdJ{PGs3J%WeqB+WUM9c8CP1JTGgR% z>b(DpOy@(JL!{jp6bTosF{R56o{jj|TUnE2@;w%(ho!0FziO}g(fp4=0CfC4A~jRkaF*uoB_{D+mQdMOE| z%C3EnqOS*=0$f>45&gz*P2zCLzbwb52LSbNT(7dyC!X zM-!pD;{D}Z?eVVidK{n1@NjTL+kd(WudzpHPJdp)#{NnCiQdx*vm8gz@RdUlB2>Bq z%XcoPdZ>dcKN;3hob37HaM7f-8QbiwJi~UAqdf)gmL2+5_I-Jl{KPm}erbKtvd$QJ zW!Pu;0gDVzdr?3C@Xn3(EhAe=rzN-MKwuLeuF=0ji>hm~<1aCuc}q~(h5be0T%=sM zpAY6K+C(0p;sqI=j9LUXX)Wxc`NEcI=dQZW_X-tb)eFBm5q{+Uk(P&4U3M>?=IFdLN*)%<2@gXxaLKU==D9&FfJVcY7u0a@ zI#~}Z;98*STkvzeA%Dwf&0Bbo|8d!`2%Dl57N0`g@#R9gRg-G{zzX)%#soaH4jSFk zwwUwA^Uvjv>rQlM42Hh$3d_8rLduBTLn2Y;rLxHyb$31OY!a5L$;&blpcPzy&OAy# zTlrQP(}WV5<)j{TG6jxn|?B$UedFC1@mG0d7gp7r7=6|SCpoc z`L*r~I))z9?%L<9q+#~-u%{m1Oh6EeAo-W}~0e|@Yy8Xy{`*RUW>b3m^sJCD~-+C=A& zdXy(Y;Pf-!L0WTsE6k78;v+zSrF0b}{CMsHLsV8o8+;?c$ z!{?nW*O*386|eOur_h>{1-C=`hur5L8vd_38z@VI>?*2Y4}T zXw*Lri|)oKs;I>oLK6;=K+(L$MSrM)9AOd&&%(+*k#*s4Eqf;XT?ARZa^_=l7Gv46X$(7cj$U$P*JV7>$gy4Hgaa7{riZwq5uNws z#FMACf*gLRK4^2oZ1}4E$e!rFYV|q(uW}vB!egSJU89rp6W^uU@~mGV#GaFtLFKqs z8Q|F364lCPynk=j@>*;rBsn3yvJrvE&}5fW?_c}f7Wnj^l8U0o9@dhThPu~1l_T@8 zMHtxs;M(}c$NnAEcVH3Tg*yc95V%9&4uLxa?hyFD4}n8a&kY!$0Vp?r0Ix&99~toH z4*Y?FF0cbe2E5` zj@o_QnW=%1yj*M~59mt*p9F9UJ|GBqTHZiA(Ggb8j&fYJhb!_BrgdHbOm}A|Hn+hU+0-_&!E2%0Ra4KxDWPk4PjFvX%Ud?k~^_KPHts+TA+?Y?8RRSYd2z+lrVW7)5$cykXyoly-dt!kl z3+Dt9`wK*=>)iFXXgSxDUVlXn(2+dF3w#(-e*qW-(t#{CW&}0xADzbMLW#zcC<}{y zSd0|>K7?YB5sDQY@f5x}9mU%$*XSjFpV6*4!W2F=WUM90hvclr0k^^6dL5_cN}XjUI}4(O9u zvkA6!@3YrNVE^iseQ{MOs2YYhFq;R{{GY_xw2g==b;KPc2qm$&jtR3};ncXAMw2p& z@S~y__)zWN__R<3wiuv*SS3_$q&NLcwgKvUAh9v``FEJvviaAT`@sTP8UqD6fWP|t ze}>-#S|>dT1x-@`w$GPJg*-~ZL&7i5j{c-ojTv9}9>3@TmnvnZ`RNmgvc}vW z74qMjzr4n?G{kv3vPg%-{Eg7%%}<^uee%6W!HaNg++fog53p3=aVZ`{Xx`e)Ur|sm z@rq&19-}Ue8IgXPp0?aq-b)j>Py;B;-`D#|Z7C=E?EzNl$8^%|L7@Ll$hjS9VmDGG zoU`8HN45zly!JI1YOHb!E@h@;h2hKnTym|c&LEi<0a>?gEL1v`_MLgzW$#VtIEmdX zjr%RW1{o%Yv06`*I)u+*jz%3^tV0l_N#)(3S$ie~d+nn1Xpbac75c{WJxTuM{6*dl z-bM8q5ztiX_4&QMbzmiWjM78nMn0;-dIrOu4iiFgd{QI{IGM zL}KtQ@@EmGx}-?Eum!H4R>}t5^Y*VC}7H$mM z)vDRh0w<0b;_M+}&JAr*IPOy8-W6$)koI~*-_AS}qoan=^G>BD^$Y7uzE zwWTQ_${Op>lF-yDEhGXyI8a%^+v?SukiGS*=uwJb?LWL8vIxi+05`(jkeXJQ+n;E$ z-n&_FE?3{(86ue^Tjt_P<;M#3zu0>Vptzd0TXb*@4grEY1a}MWL4td*;GUqtodgI8 z65JsKcbDK2g1fr}*AVYksjVuok-Gi&W$-Lv;@d)i)4rTxj5 zaX`STRE|CMK`fqQkDlUFb`W|)}^wXX{6f1+h(iTggtHN#PAR&}K+?!y(KUnE2XF9&k`%o-3l5(6-k03HZ8e;;VT?hkJd3Op$ApumFy4+=ae z@INYW0=_r@uk8P~0{;5X+wYLv{{PpW1-I}2+Jm=GVE;V+xBdS2c+KrIDDe2-{RL5O zpJ9RapB>Ht0Lt6>&p`XHKOT7hKcJ1vPC3c#ee({l`?Z84puC%YvJqA^GehA@$fwe^ zc$XhEr;xCjJNmBJb1yO)f)xk7QE7L23(`-P$G}#nRS497DbKYr=4P@Zz=BT z#~SC9e75rCI)+X`lDzqe)D@rb)Qk2C#8-Wt8&vDus(XRkS#=kc(PW3s;*EQlWf>uj z!4QYNqmHIHwV_={Xz!#Ht`1hNKX!jyq#)`zZZFDlj@cucf2UL^?6YJmnc)LlSGHid zQs$>c%C4L)CSjcGd9(=Hr&H|ryYMK+M(H0%3kN=>9(@y|cF!RSvoVF?Y!oQ#)r&08 z6Z&}OC~`c%vY+xbSqdTQl^H267g90T*(?1J{cr{l@xy;=PGfTB!&+~1-o z`rb&Tpw`XkZB{|)E%jV(%{kX(EUWbDwY=N=mz2b!fG41xUI2fc&cP3M_l*mK_Q>gd zMikw`XU#KXN@$THx>K~I$i$L}wI&~^{8OKyXKe@KmUdo>`Dp`S-&Iu;>a&w<`9OkC zy{fn7VS97`d=b(J;VZ-^zo0T#M-#pcR*uUy_o%-$#no}pb*>sA-Rzx(m}Uh4LF5e^ zVr<$)Y;MdxmYnPAMvNxDphv9NEd9FdH|79+Vgb@%SBKyASx>2wXSj+U*+n#w;BJ}y z-+AC)z?}yF-pGIcXK~42Cs486vf^smj6K8CMQmNyts77sNPlzzf1~%}2`U}B&}9W) z{hx&*DNV~(;Vw-pi@NgobT#Z*iXW3sp^t;R__n19r4)Ayfv1m3dulscayaH^c(z=6 z;PZWm`6hKfuNdPIt8p5t|Dr90&d~~KT}ImP?L8OaITpXMO4Xm8<#IPSyWu+Qajq?( ziNj*68qaFUhE|Bl4vg2>mY;nO4OH&cDOLTs+no#2ppJwFn)#98G*f@!%XO07 zQvb;1-vIyd$G0Z|(6j))-ll&O>hEHOzfOU`^S({E`p(9!7b7o=(sUUN^Z4uCvKzeH zXjyVsrX6!3-v!!(>cR9kC-_QFUrzp=k7ciNs=Lu>%Q*L*n&C3U+VCXjm*WGm@Lsb# z63?nVKn#nB$E1I)qu4u`l)GH}MMxcSbGrCLHsE5##zdMXVcP&!8-^0eKZpeKjFWw> z(WiDnq~AN>IY@)X=np!Q!b+dAeO~!-OjE2#EgtX3XZ>v5SH0+lt#B9zY4ER`+ganX zX5XF#IWSMa3}ycdcol)YbWoGz_Nr%^0%ApuT#t)R{*ZcdxYk&0^HdVCJ^dW&ofYhONDCbm?B%C6@1;4O^GSP&P<| zf7>q#aO^k3dYh$AP}GFmf8Jn3j_K{Y#O$c*!S%vH_M5s_eE+*=)?X)uzt;no&+vYs zp}c&^R&i zuP8um2o_^JC=jC^0!N3M#x?({U6Ch|MO)NE<+F7^A_C2%ssa17D_ zRA)D>WPcX!{9DHlK$MG-4qU9DH#B`_d8lTc2?O8X2a>#>U#$ z(c9lbl#^B?)4*6TR?B0GhOJqTU4*wkau-Vjv3E;Lg6YmdH=ba}&=y3`it+TW8tCea zw-E_;8Y_$nPab1`jn>W*6?X#`5B-~7Nk-hu^%0xycjHK%be0xB=>%dVR>r!|Moadn zB2*IyP@W;y*2D0sQWc6&G#Q~hE_BXylL7pCL%^SLyW`n*q(+=fs^JsYO2OF4848(n zWV3Ep00p``s;dLqh*cJVWX0-@114`_Y_2uBRp=?J{iH}|Qh&_#ae%dj&) zfF)Ga-~wI*&xh%1VM8QNL1~M^y(suI;V?P*H2>!WQxe?}NZyr4ybjR(b8c+=*r~`b z2^W*Qvb}6QU><`i+P|$5Y4Vx@EvSi*0V}<>=(8$YtXqe>xrmVD!R$Gomc8E;6ao^N zBKnWhdvGrnZq_efTT5<{S|S^F^I7w&TE)^5;X`Q{VytIvEa;XMH^7U@D`S_7byO!O zhwHsP=XVqR>*OERgGt%?M9x_)^Z`>lw@)8{w258Y_rnYOrk*uOLIIzXYb8V2@uA9bY#dDJyzX(4XCly+g&>DYWQTFtnw^vyYs4qz8_6|4Df3NYHlYJ25NoE z0v5Uj0RMx%-gf8RN{ughYsO;<=L&a9Nva}}+lUaT_0TD%lZ)oqfSpG*5b@Dl$16(f zbV?9#?$R%O0^LWk{D;<>7M!1Wbk%=r=X!raFz6pLCOf=nq_Bch)a6AH=p$tT|9SX; z?T32+#|O*m&;+q$_(q6mKzn&-81rwPP)+BhJO$U4yK>@y5iLtL76w`e6p%?J1b3e(g?IYC!A!=uqV9XzC~H$p=L2Z!D)f_TRb?qe;oi@{(hS_90b?7Tc<6N9IPxW=3694gMkyYndX8B;0Y zp>3WbJM{ia4*2T0*L;N#zdwF7mK=g9;dwMHjWo+WsMx)<|HXGQ@N6a6D84rAn3zI$3qE|f*o_elO$G=Hh@*>C0Q!0uB<;pIcX)Piybn%43r@A7fC#!dE<(StVrTj zJ==?YR30x;r&OKR>Mz7nl<`dfgfCS z)4#gMJHq!O$gM;~2&lgWX`pVuJH<%J8Pl(9c3``pgf`mC^6~HZ!hfze|F+59-(bjp zooc}MW;_%@A)D1^7Un8Wqz1{0gO8*;+iyoHDi6D2J`u{8ae*{obgi1oOhux3Pu}i- z977_XqN97@Yc38u-}!APF+Au65NoTp-xKoKcum;(bSVVx?ZnGLj7Gn>O4)gx8gks` z2y5<4*n_O+eyP> z$}PiqyI50hEAz3ln6xRT(UU^pXSBaQqPGo%hxDMpg988C3IO-w1Ez=gfB&^!;s5*i ze{i6k>r=CPwJ>5fuFRR#~6DBeG&qpyrNFM;|^oFF&7 z_tB0|_kzdbmvGZ4g~e+enB_ku2M3Dl74mje=ZB&5r;O+RX>aLmVTL$Jsf@DETU*iR zEy603AKk|V#sbCl3JX}aVMS`L84->y74vVINZ3V59qDj@N;^(cxTvNsxsMBs2=TKoy`IyHYC-f|Wqc6B+N!A< zS#{XAwPJ{1G}RvMnul(pu=#6`?$bZpdODBk6P>Ns#i5v zS(kZbEmnO5dz1oIvQWMd?UQF8rO+<#;{sy^0nh6)1nQ+kksW=d5JQ6@gVJg}%SJ~t z?HC`4n52SE%bdi0TwttVAeN#=wa+Qh%`@EtoZ+JnoHdr&U*%QYk&B`e>$b79iihvx z0%N@cVyS4hTx(-fMs;{-3W6ih@&OM+g{Af#TH5#P4)ps8k7z?-s3}7lsLx#LA zyZWe{Y|_u_>5^6}_vqgB4|U1cBYWHhrQh!30%L)C24FDS(<7?b>UPiTWH~XCY6%n> zA%yZs%@aKK;wKE(c<$o@V}%0GO9noUoK^>$no^`TUsz3&C4_A$C%9o@Ia1d1S>}wd z$9-I2tS}&!hQ3zeSaxM26OI3G9n&ol7D#vj<0heRBDOE#(RdDe?&AVueE?#;n`qQR ze#btj6_dkK3ODrH{A~04>kluyWU`QLksZ7c?&AVug#)pWUWZ!6KV1q+(9O8ORdpz=Hx03Op$A-%)|n|Fr*s-R6Ii(Cr(^ z?Oy}%LE|<(y7eKseFp_hx_wu<9TEZBMBwlGg6HQ04?w*5T?v;n2tuK^ATHdKM{r@)unl=&G8#PsUBu?Ms9o868Od&TdONQhT4ep?mY0 zd4(iuLLMoaR3v^oqTQ-;z2^`2Aw!DRYhN-W# zi4Kias8L96?CpgE^Yuw1hP>6r&rxjy(srCSKs~SiH#f1~C~4S?Z4V`e)X1iHc?3K8>=Ot$ymtrvtQYzL@?t=;x$}irzaozRr?8X zO$RW)le!?}Vo=0a$uJ>9Y&eV0vymJ5sLG!v$~2V*QFZc4#o-_Na#8J8J-{P}ToZn$IL z+aJmNGmpN8_Y5QH&IyU~=%gwWMU5m)Gy;HZJsXuI%@SdCMCNN#Mt)D`G-#$-xLq@B zU3iIc4y%oYL3R3H*Cm6eT{MG-7BxjQ#ayXSXg6_`Er{TdFgG0=EE=Erv1)x2hX2&k z@D(WQt6VG46lr+yNSSIqaAEUpY)q|A&YgC*Or^Y3;-m8BT%-ykj)05NwM4qGA3Hik z%O6tSt#{R&$TINgnE0WL=bp4RH7GI-H<;kwZW z=7o356zP-G`whAZX&&UGp>d(aRo<;7g9M^!NXaKAqXm!Ry1)5B#<_NDRp&?Mn7x%W zH!T9FA<3@xx@eYqQ*A=%3ii;4^OJs^y4*8=o|@m}-B7`xM)v46Q_}~=w+R%PIPx#C zlYS#j%e#rFyOF+O5Qkj&j@H{)cJqXmVg{qp5dxNouE`iaQUWEB7~8=;~V%`!KR zH04yaq_!4;5!~3S9|+xMmzj8fevRSDSwk<`T0SIwq>`M?6RxV;`Z-{ z_`(W!ORRBxa9JOolEj=`iwFM1l?LfG@_fRQ)z zWHBYEnml6XDtspF7q>4ojp=bTc6!_7%`eYXUPXuE*QGeG#R!C#6;xwiDU!LKZHG1o zsIgPpd$eh|KI&cyPb4iWM!s$!&>{!c9?(D(di>%$eP~LS%`}o~ZE@FxC1|ha>&G}G z>_+5md^a3}Ku7wUO&eePc)%KM8ll(VWkpR@60Ub%&RPuPpfO?g<^ThWQ|K1j*(?I8 z;EUR466-m%hhLuTF02i|R$QL(T!#bwD5sVw^Lh3Op$ApumFy4+=ae@c&x{euE!+{w@B0ET{!@yIb9@56Nu~ z|Mmxr-aaG)ZD4yJn1uh){s-Cx;Q9T3`wNb5r)`nkeh$RbTZ?lo&vPfw<-wvPTJ;pi z#yVLtgLKS4pW`eX2&@N98l(>N2dx`)1fN@L2`Ug4aQ)S~SL&7O$hAVX(L3eTR!x4j zmj1*m$*&DJ#hG|%n%mYjJ>|h#K3Dx;6g2XVV7vMWlS;Hd~w<)&HlRxg*^aPd!f zRM_K91PF%>)|hP8LAT5Rq)Iil5p|oVK#N*&fq4o-m7z!HE21WNHtqd{m7yk~P?O+; z<|W33mh@L523=C%d7TZ=c{H7rn2+&hI{jpDH__;jjr(qurDDgap%F6ndXL%-mYszj zlGU@3#oG#5z(@qyUFoCjC?NR;$M-PSiUq<=6Ml1S(7tWy6q<1S2w$`rLj>_MSUQ+i z7Y4mvnm`D)a|5P%z6e8FQY1n~f$GtsEQuTWkQsHydq(2=Qi3Z`|9}r`c$`K%z2Y7tL`jtIe>dzv&xI$pMI7ss$R~0>+<)S{ zfhhng!GD`8+q9kl8u#sc_NNf^e#R{I!NAddzX!cIK>`KuE@#k$xVtO!j=;-E65b- zWmHH4Qa@Iwo0|*XL{-3Vv(N;&yl^|sZ!REH=Mf0DNM9}Nd_E;m#zv!2Fd>#o!|$G! za$@4ghncxoLksZ!QsxU9Y8mI{a8+f(n(BGQx$-eXCg8Xd}XNA7=)-ZivAnheoUkIpB{;k{qyw-Rax7oaL z1D42bTB%bXW|Hd;96jsIy|z_VLFn9|_eOo}3_NxX?t#-M$4bxUgL;a%BulAqSZ`qy zEHMS);2UJ&yLYa(nnMco-FW{6RJdQkbMNSQfS=y}uhbP=One>;ndOrn=aQk^2i0c{%U5Eb2Sy=`5v)jFE|xcI*LQq zMANHpzV=B!Gk`S|)Py9|#=_?4(Y0fcbH~hqtK?FYq;IFd zYb#zbm`$nZlRyVLN;uUF!Zd^vD2->%SGL4wom+UU`#0CDn?Vrw}uo_KszIt*gnn~fIN^#T`FX<~8?%D4) zI6XcW_@DpG=ls{XjKTV#xg|hZKxxgXT-{2CJ?Jp5$8MdpUwm)J-UDFV`zO=|*hil_ z3I2RK${c?s<0y^JZ1_aA)c*5vy{ndbOwMtB&4pVjTcltnGnE(JODW7w0 zOP2y0ooG*Wl1E*Ijof-m)cFhbXL`cMFXYtwwTKI-fB$y)<-uZDXe5a(8;jBq(_uD- zMgxtzf5N{G;mV53u1#N26jgiEQU1(DG+`pysJoeBeN3npE>b+^KiWsSl^DM9nL&wt zs?C;$m#H!B1e0}xKL6ycPqc$Rwp#(vQF;HmH9?QG=R{($@=T5|YAL)1SCw_{s z6tPRPXoZIK*3DdwB~-~~6`K44t~~pnY|2qfI0Wo*Bm+gYzx{_2;(0Ci%qJfAWDggt zh(Q~>Npry8H6DMR^qEnI`85%co$WA2>9G%q2`XsI9O-BTzGbbJzpDD_4kRmc)&_au1^N95oAZNawJ0liR#i5a{ zMzj{S#mU1>{T4t)0O^;1Hlxw!qHap~lBv9{M&`<9GKZLH$je0*U1E1SBc>T3#Bc)i zEz4U4-Q%zR++F~5zz=Uz?kxMJG5zXLHNBT1P5cezY<4mvDXNUV;)v|fihLq_5@XyK z`JI!TFF%g<{el8Is1M)8ym-4qhMM}k$l{HQcclr`C|06-IP-wUKC$+Kzswh>%=wu3 zPs2g_Q|G*%fk}Jwmyd za4%-2H!aYXZ+W>i#OgQz$CheQk+y~(fESk>%<28Zx`1N;eMWa5rcOxh;j=1XLTABP zjv!x>-q=W3C4k5fI=_9crgjlxzKv#a6{)2AkT_&0&IVbh zA?yN-%IuTWO=y@dTeSprYGM-Jxw5G_ya}L-5N$$xEK58#;S3j#UUas#7+xDLBJZ0& zT4lDsy^Um?FZX$)1aOpTQ0(>OjDR=Ytk(5cfGcHxWBao&wV79!zZdM3;Qin8WBoGR zq4Wt&&9S4+=OxxMndT;_LpYPOyZAbk!Z@h!`+^W#0$T{K$ldhy&}NDB@9@o?G(U)t zC(z}`B`ZRJquq~c*pAm0qcY<^*(l*-5JUIc@Mk(;STV^iLKNs(L? z!XfHcPQ5x%OtZo~TJk1gORlRoAZOoNz`3u@4+|y`JXy6&ZINvui$1DKP=i%Z^QiY0 zw(N9yj=Wke4$~J`b6T^9T&Q(eRIMV`)zg`S6^BhAB#90c;z0}Tt!CEim5}_I5XXkoTQv65l^CxS$AWtBH{PN?KV}f6 zqDErFOuZDYEA33kW}EOfWsd8#5LRbw3!(Jl>8qBz{v3RgIg?3F=E+HlAaABZw&vZD zq<7rTk(-A+e$aJ7R}WEx66=@QvjTBEFc6&^yk#5l>gi+Uv-7e>?K8W_l%K~t;C-WJ zx9LSLjCt7wF}q)k&swP1Z}_~w(VdU2uwM(tcgfm^?|;Yk?5FW{7tE)cp-#-{8m$c| zp&^Mv;$E|pJf(>adJH57h~uT-z6C|jP~O}&5IH1nO1wKLg%-|h8zjRjFIy&F5nwS8 zEq-qJ@uk7d&O09pRifXPN>Cx2mTF+gcw;&nzd*wQjm0u^zsNsC`};d~1WS11*p%R8 z|0OOyDZvN~T5^cvU-Ps@^qGlYwm-Z`B-kWn?&WXS4^u{FP;!>Z7p!iU*hRr@_EKu1 z!HxV$g3%g5UE$#y2)X^CT~v91p8RYbYrlO!VUMKNer6?pB)NvW5v{$ILc5MJr-C7u zGsFD=;`n#qX>}G9wHLk%I?E1JB;$4g!3lj8tz1P*C+6pjy_b z+Ec|Nt9M^4&Fizsqq0BN2DqydaA0XzWOUW!c{K4yd=lV7-O@Guh;DlKGSreLM6msiJ5 zhufZ2(nx-P^7}-If*mK6!W<{}NLLPNFET+x=wlMP4n86=j49gWP84BaC zQJg+mfn?4aztfb>*)C39ToS^BQFywJm+RUhGteb+#n5`T0|#-UxS7V_CD7U`mhf@F z!joHtMQP-t5dVcDQ7v0z4sl^m;IBHzaB&)^c^#j`mIb|ibHrvnoV zrGfdl!!tb7NkTbqvQG9o%<&Bw3sT$Om*yzEhzv>)CvSfD)w)#T?hxj`kG7qJ>2;_} z^GQBD#DDzF5TA=HP~Ek8ZdI~?EbxsSQ=>)xmlGU$d+b?O@KHYf z&R+JHcqrDk%9fv&ZPt0BGa!uT%afZq&H*PrVgti2T8wyQwpT>c!a5}6LPS|i6xEkw zBUIBAqAGceVt2RpMOE0#Ix8l?Nf1W1^|)8MyD8_d-`>gOs`_ynHW)jFgxp%&wh7S! zGOW|+eB28ZqzQ!IZLOYW?%5WL&bsk3pjnz;i&RlI?Z{36&WV5RNTN`yM}|~ z^)Ae~sn;huYZ?3N)1v1QKi%f)MRL}ienXeo6CSKgms?9nUWK!$ajI~~szG2D37NfK zfVjOaKcoi*9u#;`;6Z^01s)XmhXUu|{`ZIV|Nke~|HFOB2(2>X3pV5}cNEZaH*A+{r? z_o8?V*%<7J-cu5Sc6O_h8>mq+H-hxi>i2Phv3h}6Y;(R*V`%wr*jav|la9SQ-}#w& z7#}@4NvSg(HOcfG?>;UtRv!=x*?~rd{MCYCAu@GSOss&!;}4{;7Ubg^tCLTi*r~rr z-NyyS>IY)=ADEb#F}~;hs@qpsf22Bt6>7cDd8N=~+8LmT#B6qc9~T%4v|Bd$SNSAi z@z~88iNJ#)_d8(6Z7s~!tJZbg@8bevjRDWgX-+Ug?{z=@+S=)JqwWu)n%R|#)kO*E%&05RgRYA=)buw@!*mLWv$;{s#N0kJ5GbEHQUpm(WKH?T~3E;}`kns;6whM7|+ z_42TM;N`iG3yd`n#Df0OK7RFzmoF!AO)*iugBqhiMscK833;oDo??d-GyguWKUfd1 z4+=ae@Swnh0uKs2DDdA=fs6mN|MC8l{g1Z~7$morF!+j*WX~Jm36|U3Dth&YP2-4$KGvw|b!83OAKjd;BG9%f>tCI(A<`xv*G!>d+O<9F z>pi-lfQ-tUMtXcG4;Uk+@s>^b@}ou1qqH}XGT%sO;#Y9sro+;R757JDcJLgjVPrEY#5}vN z=K?tkJTnu-7?l?93o2`QwCg}}VRe$cw%BD}9fT|PUtRtesnioHmoE{T?K$?Da~TU= zekOzEUQ{8Tr?+;hZ`SCmYu*k+$3#XN&6QFMR2MF%y+d zqk?^+BmINltiH;7!q+EHJ|lT_{6tEoW3R*xTeHcoo83h6>v@wf2qv;IGI!hgz(a@$kPb7z%z7 z6`~Gd+YkBS4nK#9-=EE%)OGY+1TMX?29026k=K?n9;TZ<}*Sq?E3Z^nq04Vt8r- zw=pY15#tYIadqcI zuswou)O>M%xlzWf}$icI>^KiageAdrqlcE=QUV^^WZAF>2*x*MtEw9+fM?;x0UFd%QSp zhXbB6>qhs-!hk)h)&eCWjTv2qruQ5>kx_{|zgkrBWq9eCs4W&?C*eeTWZLsuJJ|eU zJKzxO6y!d};J*QkbuicMZ5N|_f0~V8gEGX#`*;@?Ek>+Pd8?|aR+ZYLA-LdPEKgcjX_e!>P*O?&W?0hrjLm44QSzuY2J5EjGB<;H2y#cY^6~Ya%@oIRa;aXZ zWz+NK1uBm8o)F7JQ)cc2(exiyNC&!(#9&Nn1${hJl=g&OOZ_0mdGa&sMs)RFInZ}% z&Tu{=pGq5Q;16Wxpwk~`T+FSOjpeLwipo}Me)9N?oo1Dca?>G&{Vf%5Wf^-L_AAMs zTxpJ@3pN5I8Hx1H)CzJ+4R!MK?`~>LAZ@u?U6CGN0mfzDpJrSeccXxJ zc8+o&0-i|-9pSI*la|J;y3!eXKQ-+7oR0A9~ zt&;AP+WL30oiV+lm8nRlAkrvqzV8q1uoJfuF@|+ClX2xTf5e zDqMA1<4VOLh|b?F@3&r~^#3lbpL`RBt*oC=cKC$U)39}G!{LLsTl0>)b|DRsCBBs} z8=H&p$N{UsWd+1dO;CH@F_zIRV7$R)hNo6Z!3`rq-~W?4mQ9#!bBztpYK=0^4bWEtm7zHOaHAtYbCG+n@yLhiZFdP0_Z>7@k8Y4-CIS z3+*O-68^yn#Vd=0AuIHsp!k61;ea4X}ooi@47loAOerRseTVQGLai`ESqGY$a)rhHTy31 zwGG4syNifpCzK9`YfM!$UPYrdg?%jN3t&T6AKLC7{C!>&lq&ef&~nBe03 zjk0K^aiRLgWPx-g;jy~3;rh(J>Hugn|?)^Y=`ykPA`{B zVzp=3_CFy(3%Qlg;kq66eHza#am+tc?bVxpXHty3i&$P|^?evS`U)^1>4HTP7++Ji zK5?902oPPbvFT+v7^a{7nVJxYC7TwYPqS<^zN}`0p@q0Gs1fwz+t@~dKGB+a;_=~Q z9%(|DZwY+nZjWB}C-FCTjB@kqE1m@>QyEAS{GdR4{;uB)Fmd~fquO5kfP%ANoZ>Cs zKd9qyhVvq_{B0e1Cu0y6X-`}|gxny6gUZv9f_cd|uK8Q8@&rK)I>8qtdfQa|Uhe98 zDbi!t5t*G|++IkLeAbEpEY3!@^W zxYS$y7J|(0JJ;^4xh0j5a)pT6E_}s%v5z?RYYvX4X#3Ei-LQ9kYE|7dtDyJ1A9qel zrccC7JVg_moID_;$y%+qCJ-VYtntgceO!A;4+=ae@Swo|)e2nxr~QxfpM2`yw)cU7 zqQtY%2EY?7{Bs+4A86s#6 zsChE;3mBv2qwUBxDWc#c$@{p#SiC^2z4K3DQFA2BB$dI9a8H-|6;4FHe_S5E+}i(P zUIACLe;*eZiw}r(U#sUnE-)595bNg_3rQnlrs_FSthX#_!Fz#4U4)~0Sk9MQyJ6}q zR0Q{Nfw4fL0*scv4)y!ak$Q!-O)=ryK&Ka`>&LV1o!^)c3^u{jP2JnW|axXR65Da#}7qeeu}#g2StGU<-fy9o|asJ}xkp2=KhB z2As7W!%8b0htq0Q~A9TY?@Ecm9~+)DwC`?$bZ62SAS zEMy#8m(f2<#I_;J!LSPP6f}ueGYEGuhuwr-S$qHUJ}xkpBoNCO1q(q)o*qf-4QxGb zdHAlztFMI}HxoDQ^wNifvN>1xae=Xj~>i9SGkW1j3ooa z8n~J9@BcnUWbT%zNi>Y8>!0cSn2~!-MhLM^us_>-{XQ-*)^i}%earms;{s#J02+f8*~!0&WMb!O8CSo#gg!1#G{%ec7LXXv58RUqSti8|a?BQ4m3l(@k%Oz%O_Xg?4dn)3m{N;9$6m!Y z<1^CwIse(tRspW`yScR4e7-olsvTTg76$MBfi$u+wbzhu4qYROGDw49=j&9{F9#F| zYaW=6!p4s<+%LX0ooA?kYrvn3QJ-A2N611$IN@R_1uZ)?K$+`T1A1uw1c?IYJ^Z$A z0F#5$&5ZN=3Oc+lLAF!3irN$tgyZxdH!hU3jh|>6%^*P4>o?~D3tek)}Kwo^`ou?o5vR37LE>EIR^~Vw7?|-Aa0YmVClK**$e~?>| z&yIvA74A1r!vVUtUVpb$`0E5}wA^|-Wcop{63}+AzGaEpq#937LWC>me}3gbAy3de zzNcgF3e4Z+-iG>$!N=Fj*;Yh*DTW2IN`14T$ON;@-HC{-YWM`VzeT`K;txEy*TvKG zG3k5Kfu7yCFydrF=m>9q1;2ldK;Jpz;Ha%{ z#jntUsKxl~R8|6yT{~{7bz{&(Y#>0(nZ46c9yKB>iI9(mARY2z)B;D_L@oSyc9~pn zlxAE8jg<-IX75qSbs3C35gc#bR0a|*y z@8OHIPR)uROr})P57j1n*7CJGJ?#KYOY-q**p(2#Y>Z;oG}Kb|?HL-Vs609T1x1LS z9G%~o)A@rtl@&6fvOa@vjUVCBPxM|_d4vOiTh+a)w^OQSobMn0bOKYmY9mGV;s7D5X8wckm<{q;$`>UH%5f zxS51LubDJDGE}mhry({^yw34ZuQcAHd8=;-yYo=Sm7S~7~$?5&4l5&*rBAV%s zoUD|wOu_Zbm9f8F?z1pbq3<_2mUZ`*jbj%F& zdV4x>k9l*rXfyy6&xj5YWNU21v>0fcEG=FFPxY^p7ueaMYa?Xh5|H^UPk{xe8SYYS zj7osT81W6B9$xmrdm46-23(4%Sd;I6{a(wN>>XRW-7mBP->qrX#6TfJK_?-P-xmm+ z)E&FEz^rB_d$l7QQ(C|)UF!^ggB^#0mV|J#D1*i$k9i3dp~hDi&}Qgk(R+3D7$tAE zWvH)UnVNP#$pi8i00_d?%QwiZAN7@T5ncLMnG<497-gj5w^wylXWnC+e*oU;7if zYFnt!Y{{%GG1C`k$vloJ#cWtk!?o-J*yxD|5UmJ=UPH6gbmhaLp~PztfHVk) zaw?`lB-&QAUzdRSFcC%hR4_>yE&!f}xem6Ky4mGYCnPOGqkhv)0 z_`my)|BV6E0IueLGWqcOpumFy4+=ae@Swnh0{^!va1DN}g9M=eCyQvePYfitmN57e zgFANV9UJNvSN}Zz>y9mX``q!*NBW$Q^s;j?HjqzQ5-k zyZ??&@{jrcmra(}j+G2OK}$1b#8&tkqqR&=1JupAb7rJ#>?;u+=OCo2f8(r3Ey)m9 zh@o(l7GO-R&1<&M4r{;eb1P0$V@FS0Ib|s)^+zq?VIYnaEJ(7 zQv89xOYS5do+@i?lnaE>Qm;%_q{HhScy#%^!0BY z9eJTQ5LHT~Z$FaCv=Ymn=nO{yw&#TfjUI&whZ}RIO*9kMtxdYqvNksWU(7%>BHF4O7px_{=!?DO3Jx@j4iZ>~Jq)P(P zW-(HoV7}&-X_gd5DUjNBW$NOxqMJ+#S(I9QY!ggB`;mdG2OqR(X(VKl191(BnRU6$ zVha!5Mcj121D7>^63JRtb}7#Bh-#dionL-wSW0xays;t38jW|M zbW!^YYU?q9N^91q)~YmyB`8O)J}?#8SdDZ+F=_4;xTF|z*FMd&6B!%CHCUbOwMZ0| zvrpwNJGU=|dotnPd7c%|uOz*)FKZ7y5C0SUZ7_-k#5Gmr?iC}JoI)n@{AW4Cf`G_G zdNk>RY=c8jOfl6Cw;$sRzJ{E>nb`g!83H@>+$?6V=jsA%%Pe{E_^JLM_TDF-5pZW-606l-3_8hN=SF7G>Y#zNBI7ppVxOh_m6wWd*5-H zW1PLu+pjKDLb1?s|QfLug~zH`5hGCS^2$ zTi$`r77YvLOyxuyFBUV&B2pK68pb|I;=MbZd98WV z7}iEvRPt)fxOSYuTV2LOTz@qN>GgBI1$U=4rn6eNOdRB#F4pqT5?wOy4gt5C3(IOR zKm34f&oHh;Yg#pTAUW?gLfE*j;ak!U?48ddpIEUs*LcfTw-<<}5|PLSqE9(W?m~w;-zGo>^*JvBhdZj0INln>tBO^qKSF)4@Jy*3!nEg+0Ahzj$m9^q~qW0JCb|qb!Cx9 z8g3A>uFeG??|eSkg)Z^OY)LL+E^f<|jFS$aS*|Gne;4Mi*?l-YAn<^|0|E~SJRtCZ zzykvRTM+mKw8cRL3Al5_0{_bbf5gC_CIs*Rq!!?r73?6@9gJ$`K~+r znFy%+^5%6eyQuS|y2dhB=D^nQE`Y_k%M`Ni=O`TqDtyE*kbcG&$>6l@JR-i)|S1z&k=sz4@d3!h-h73#}n!!9c9q#f!$S# z?t+aSFwqH2TI>7$P#ew1FXJX}IpBvcc3GUPJ+dJ|g14E?rRMwoTKMGg34jmf(a?*^ zPq4y=tA%KpkX_$u^lP(86>vMD?LOrTL|acgG`HeKQ#c7syXntV*$p*(^#%Y^LR6Fm z3H|yQ)%9lTm;knxOLc(tP~*Gx^)FWUI{FBkVK4xHbJ+p9b`gNj{}=tuW#`+}$O;PO zo~|BYsX8VEyAcV_ND{IcjD0ABW2fX5V1!sC`{I;k4@zdh2Y*%Y_Eyk$(?85@em`Bl znQEUj=K@i9OGAk=h3g(3FoFtkK*xZnZfsl{Ku09E>kM0XuoG0myZ=n6J0@7xO5r=! z&6yRhSO}*j_3ik#(Tq*EJlEjujk2#&1-69A3O{xm(FK&@?EAROB|D%&@dQuA*UXiV zNr$H=Ez&T)MMSGzEFjj2Lx5V-oDi^hZSuva8U%^XD_=iJlrQ|yf)`VJIeW!bDJcDK zxl(FAK~}$4aCrB^!4U6sphhrvBn#gtPz~y{%e2d(zqH~$yVDDQ;}~o|K)^EBIBpwL zUfFS2vHpl5f)ah5Cj*S+=V*$lC)EkxGh|Ms2K#O~o9g^g3``6hzh0YPo;Nz1Y7(N^ zZmRM-(S!G43hY%u#!%|cGDmun-ePgeo8=YC$+=_VA^#ZCa(dDpS^t@vh*j<`WSRQ`2-TF89wtPh%kwkCV!TDOgfEAp$dG%9CwkBo-% zw?s}5tBeToD6uqdmoJLNjius0dYw)28drtnh}!eyT@g0F7ahjJ6G6OyS!j(h(} zTt*oiGWW%9Bez*?RkK*ql%Q&;Y=FKSU+rqIZ2CqOH3*V(4Snm0qoQy1c4B)YR|RDp zO7Ko9rjbHM6WUL)W%++W?+<1}_hwrl?rc%W(+t3^Yc~L>KATLW6sh^#ScEVFRz6^k z+R=VEPyg(QwPr3SoZDI4#-;mp%(!00eY^=@mAZ^|oAS{(`L}+=E;Fw2pU*>>qK8rF z*K&Bu`D?pYLm@!1C<=kdZ7u7!tv?BM8_~*768UJ45^jwMk*46^xUXEn)kYnL1M?ND z%4V5|ToN)?v#dya`U$5W!AM{`s#Di50dV5}Z9~S6_M2AFECNL%k>5$@g%&cxo)*jK zlid8STZdv(0Y5GuFn|qOlmsXm3~KJGtgiKq?~iNSx4CWpIkppGUs z0F?(Gs`bv~11E08UE-4dRuAyAFQ{-)ntrs+|41a3K65$42NqCD`Yef!B|!%htFMSL z`&GbOzdnrN?6rx}Xj-hFM=ud6TIZHR*0x;Ui&h_F<@62*5A>5R>SJAFQ{uLzMZMkg zCI6Q45k?wne_02-st26Aq#IV0yF&Bz4PT|$I>nxkU_VsU#kjpMhd(alon@Nq_Wg{c`}XfDreqHeHLDjjTEMLhTUw$3 zmWAd#K8sw;0J;0z(rOw6vw;Kx7<&;=q5)~1^Y{5=CRcd#JZv=+n3bx9UdAEoIC9W$ z^UzK4yb0qU?rU!Ccj5_wHe!2iM@pe;1^H^d=|FD#JEIJHZB~NzkmtI#ZoT1w!-wJh zOd?iX+Bw0uvy95u+y+<{l0PORr6_ShFOvy6SV**Ba*JIR7Du5NX|y4A#5WUKhp(M2 zH=f?Y?XB?_09$B4wM-;c9pX0BTklV76;IYh(Uht?L9eQP!@tJC|Z`Ey-d8DJUd){AHwI|mZ70$A3b-aWSt4DPS@W^0^p*C-j8spKfR;M2^nY`-4v!kQbc&}UhDQ`~r zJ$M$-auNaZ5B@h;;k6U%=5aC$X75ZGMqGz_So%sgm53D?*vSr!+WJdgml`(=V6`!CCMANrWG9c4!#jf{z1kOEj zl|C)f*CS+f-xY(M7oqAKs&19<+uYZ{&+&liuR_ab;EeMhp*z`!(*ptz2s|M0fWQL+ z|3@PL>L~!}Z}$JaeNPB%B8h=A_xAn0{eRD&-TB+^dA&RPAN2g;hNh`JT(o16&*NHb z$R({Vh;D-VHy&b4I!I4v-u+#lX!1n(-sAmJDlM!&645$~UL&CajBlqk3LHtp% zH-f{?QCwl)0&j&<=%-9X)H{bZy!V9LrAjH8KW(n7vxoxwVytUXq++ItJI5(!!wkA# z+rAq6nAw>&ocui#Ls}@;;^XIT+iDE-YzL|tL9;VZa9|sBnbtuuY;M`b)zw!Zh;)?4 zZP*L`F!E+TmpcRPRb9LtC_4MYUI@ei*Oxl`?5PH_q!>0{tClnUko9;rg5fOlL`4iY zi*wsq&ErNHU!V*F6`eMfO#$EEO|rXWSnto&(7b?nQuXc}H>FO5`?Xz~ijpc7QT#Uh z@~e|FZ)e!5$jRsU3aGq`TcN5GANCiJHn!T*hifWM7I^aVcg zTf9Mwce-+a3LPE@?^q=&o0DKuxp9-6J*Vu7Kln6)UZ4Mv98lMo{?x&R)2Tva%*)9J=Bdl| zVfv8N=fd@c2q`+A({J0OP%3$K`2kxi6p)*QCU3OqP&Zv)pzmxbCvmhtdliDi$8QTt zT(Fr^?3TCc3>{g~CjRA#9BJ9-VFjHu$vK*`_4=fhSXnwukf2AFK=4Tzr}{v>cp(EO znxrlEvHD;E{u5S>RIgbymJ;K>zUdq<5lmR+>QIz{SB&2+(o0`XdC5BY%i@KfQlNv) zl${aTKNx?P_J8|;10S+;#8m3n z)Nl{tYD6!poTrJqs6@IM9V*_AeZ04-<{c&#!V=vo=Xw6rLwaEbl)+07W>DwfQqP&g z*}1yEX8Z^HY?8&FR4k)<#v&gg*QNxmOOPt^Jt%sYRh(^MLQw@gK!W0u!{37%tGp3v z-I2dI5C&l;?g%ibMV1q{?{Z%@T=F?DWBT)K&?;FC^aiZWzR>eq4q*>~R=MRA2V_`L zVby^L)}WaA?RY#nf?w%(W_}$L-U!={Log}Hdin)-FyAxVD;%8faV6!)2pG_kW}pxA zGEmEFXunnH3PM@&0wV#K2mu{|WJgC2XKR%ficBz^iIJ2h^_~Jl&Nq+x^M z&nyc#t%~C<=12B?Xl6;NB_bd!-)7~GFfJEfU&s3xUxM>JeF?lgiQLaOt?ngJab?~v zub#mM(MC-iXg5?blsJ9)J*un2LnVCm)%r-Kf%W?28{T=-dT#U z7y-GHVrrP85Ka?#eGa%mIe#<^-LS@Us-=UuU{Ubcp6@-f-fFC2H2|7uZkkIx8x)<< zcvRQV`iQPUdI=v*vU>I`djZ*dgAF^L^@-cL5)1p3-RGwPFN{W5P8ctzwI?>O)IY#u z3bol}o6YVbq5sfs~SLT;O&#}HV;1en`M+&N!DTT2t;S!2(P_m}N zJzDX7I)hUbs7B}foc|*k$Zfd%9((!gpeE81xX_>h zI|E=65ZUK_k=JB|t)PBNln*`W-PQ-_2nh$5KC=I|ChYEkhtmTB4+uOU@PNPr0uKoM zZ$bb(#17OA3BdkO2q4>u7|03TUFrOTM+bIa{(0Zv55DFP9vWzM{8L`}5B}XB{N*3K zk`3(R(iAc_?Kr%rBRX6dev ze^K|30m2O6QMVo7Q5l~e#)ij#kV%19l$Z#9&Ge{3=>mheWOKX`qMO#o1;w<@63Y;h zD&;(V!3+jZBS$HLQ^6hXb}8Zv;pi*+P5lZxTB-_mMTG`b^NV9IomX7JpF5hljs+pj z`8=7jAeHqPG~X>AeEmW5vnSbRnx(Q1Z@T1{SY5Q{(^^2c*t_?{`ae@P)AzjM=6gD{ z`!;D!T(6H(FEO+l-7kYNzV0~pHgVrB3>@4VUcY?jIIpU&Erx%bV`~oSGm-n?Q zlHfu-{pWzPqzcMT$V8tL$j$anU8DFClqJMeK(}P3#Mq{XZT%aGB{kzR4Ttl{XBVwA zH~1Ag3k5GOU(p(z%?QZ7t-lVja)5h%rCz3{{LBe0$G1+MZczmlm)amGR^7#X5Ye=$ z&2ea!sP`vMz)smcHK zB@Y5lo^B>|yojQ32p>XTNAv4v1KRGM#3A_4X1n~d#gA~9`cVqX`cPZs1T5_cuEZLQ z6f;K~F6?y)rUqsgzl(DMy2E^9#ht{3cSfGv$Hbk{86Da3@z2hZ zh&z!e48l8vtLO^WsadB6u)O5fCj>%uvx6$m?=yXli^Yk>(I1WZ;|?f(9{-gAJNqdS z<#h=}cTQNGLI2ygi|YvSb7~ojmY!G))Z6eOa~(xw!FKta#*{)VRgR7=9E$0?k2o;% zNzG<09NX2t$a5HVw>}LFeU2b8@4wif4_sH?)tJzI?pXYx!ICOHqu5DF(Yr!}576EH zEv0>xWOgjB&4X7BFABSS^L3}y#4c&W&keQLhbkt7*>$-l@USIB&#jdQ46F5*Y_H#| z6$(=<3DCT5`r%`a{wz@Nm!+z+Wv6BvB>LWm=dS!^xhmdVq6)Zq4mV7I?g>lC&GXpr zeJITM;n-!6lE&3#O-#67zo92kb~Dc~3#TRDXWh zi+=kKK_~%3;HxrEv{MwFjoKJ6c zV_Mv>{I2MxL+tImAiA%T=m*o&jJ9*U;oYmotQHcAnDqHuG&p)QC7sD(%;#wh;{V6bTgPKSm^5OX@Ox$1Yh{o+J z0z$`Y>={7!F962pD&qR%ZE=)<+r~|WzR^-eT=Q)8FuXCxcV~O`-;O_)V!tEVUle(a z0^QH#W=lucDZu(lN1s}+D#p42JBy8sI<%U{jmll}S=L*bq94%DgWHDJJ9n(Ch_R2* z0XYx`-B@CoLgzJii0KX&jSw71PD)GR&usJRU@$5X9(0krjm$XGxRXq7atxG%g>agx3y%R-w5|$gAysQDl)PX*1&p}i`xL9q)4JR?t?YDP zH>K7yS95OmH^iop-o66X>y{2;k4VZLQx4_xvi(&!bSTv;keTNpdUz#tzVS+zr&rRt z>ETJhLSnX&p9m*fP2!3WOvLjl^LczTu}rmSA@q1O0fosa(W?EOE^G0J>23(wQ+$kq z9+4;=C8We#CVTzW$Wk#I&R<`A{b1fyp`Te^^D`Ah)I;>}sp(FZRbFom4ZwbPm)@dH z3<}Ld!YPg7KUU0*8&015PS)3jQ{jK{S;d-9hP?y|D#0e-emgkM_r$Dc^fI1qno#(b zZb=~@`|KopgQsJTtVu#mF{&6I7cq|H>*+W|kJG{vS2>Xq|00{J=IVoMr16E|pybZz zs~`f`G(doFsS*7SZ;S#W;NV9Pw{qf#MN0wa%>k--^D5?9?aVy~MbEjA>(MYACyb8A zL>Ry9u&V->;*SPR=KU!AXa?oLUK_vzJs|Lazyksg2>kyT0Z5>&4I)Uu{Wv}FJH5f_CJ_^ z@)NXPPY-8>;FsP8?qMw$n?=3^(nqAgqy#$u_6`96H_RXoxX1lu2IV?E8WzPTO8qQ_ zn~bO3vg?7BFNGabWpgb?nqMS0?IxwXrHC6jCt9I-@i^5j!u;D$=s9!kVw@TOoMaW^ z?`kP5ZjZ;g3cgs$RB_~U=*wsJGi7KM}yKj3^|fPeTe~IhEhz03GssCtS^QEJtE^!X54?>R2Dwr9nSRw?A8boTwE zMTDhgv?I;NcwbN{2P%x}lD$5vp;QD8 zOIGhSj8rT2hF{2@@h9sA+f$Vh@>trsdJ4S{6RTTXC(b2t(VV8Ke#@@Mb_uIQ6m1SC z(GFj5&2}Z&o_(?=kMaefQ4b1=lzl^rWi7oX++a6$wT$~{be5Z+^~6WQOiEmk?!pfP zBpBk_Q{jI5VZ}?FXEsJeZIR}SiVy;!9fulEG!)I;MVlAT$cH8C(w{trzla6t!sV4P z$MmOL->!b>IHC%R45tUXExq&_`|!Eix6KkBQ#Rm3G`(vj{rE^%}_UwcZzcukY~KE40&08|&+j#F>|) z%DTOIdSXj;dWdlT}P*aOl`f5mXEV z-@6y8VPIzxLTK|!&^g>YEZB+XV*3PG^pJ3#Bl|?q)cOV&BwUBB2Tok>yTr|h{+%=A zied2rCE`(`G+fUVFQfe*%MYjvY0boL^w6tpown?&1*c48_MJhg+C&kI%PK2zG_vT? zecUMCi*N}ah9%=>Lq1%ovVF>o+QDIbu0zfs9rI;EgaNvkf+H7S_LvSl69imeMV9XS zYFEsfqr^A12y`Fcp0sa%axeF$pY!FPfhgf@0p)^NsCFoZkEN?qr&!LXW1{idp9PiY zHYvT_Rf)wRFrMX_#|>!g&V1*=d;bzaXJWtfCr!bZ{R+ku6@Bk*a~+`|aD5diNBB)v zzt$0-zouZ?Etdt?3Qv-lHQ)wepPI}_!Q>JQ01W?&Ut(|*xX>_~R&z)K*x}lO{(wOP z0Y+df#3#W;2LLdW8R$o?ooo`%2+1nkp^dtn&=k9O_1_ECD9kwpazJDClD>!Aye$ZD^;M4?SCqHxr6#H5ugpD)xTBuJgMR$@xXF~m`s z2%Gfo^gGIq)t8nOe6_E*F@!I3ztAe^GJswKjJ@K`mEg)b;X%6l+A>4KMB%3_9p#XQ zn_G(sqX6Eam}HRPWHh}~wjthA1%ry!yb?+5))&Sv!bq*@`O>))wFL1$*2O3fw2kwhxd&5FLmR-R|#8tak@GtIIkO;&zj2zACfgcB66M7$2& zkEG^KuQdxWM$IKHj3y(84u*`EeO+A%1RTwVFMGST*cQRxFc+e7!U zeEt{c8CDS&nc|}X-nxMDR?TQ8 zu4rX<1gRF|G|D1*p_PTHcep>aWuJWUAbR$~A*udwtVJOE2VkgOb7)^zlEHN?*r*>q z5F$*NrPQBRFz7|uX@%Y~X4wrhPme4b>)ax63-(i}m3WaFAxvUMIjJR4%YEE-(o%wN z<2cAm-?h^ZfDzel}UHLRcut#LuixymupRz!d z>QQV4O%BT6E{@)0XzEUM9gys8e0@8zCmF`AZkp;|QJbY&i;8_P>sF3C%tR3G+|ykp zktgxlas{hpnB#gsA=Vq8^bLG&)ccOWPy@5|!0>wXol?b2D9 z`se$e%e~O=N%X*MvT;7H3tRNemc=73W=XlYTYRF&KByMPir-LDhnV{U+%;cA9@3<; zeE;~FpNi7Qp*2iB9^vS%dDGXSEjgoI8VBIjw0ezv95?1>&Z9l{&o3EH6i!28j+K~o zkV6BX&~QEd!fZzYF<2?F<1MwiR{^oWfI#Z1Do^pr{Rwy4*NWS13oiiZ9WHijpl$U$ z`n_|aRxcDPNj7Y#QJ#&50zO)}AF>e%$b&KXYuDW8TpIN1iJ+_xq8sMLy}Y3hD(+V_ zwlOl94cTLsRKDi7;OVjSAHjG5vVp^CAW~&E*kS6|G&1E|oUrqB{PbxnPjJ{Uv-4tX z?IX6F1rHd5v9AV(-x*fHyZk4P%29q3ZY{M-lpW-P*Pf}AeG9bX88j%no>f~ zj8=(M12kM%yOu`>N(18%*=jufamTc;#-E*PI}l6p8ktv`b_}MHc!$B_kd{dNWJr@M zAp8Z!AiU@mYHr;(F&-@6g3hb6kHLLB3TC~Sqp2qA=gVw1%wP<37mHQ>h6bo=)U6~d z30p83hom#4zY5Hk3sfCn*=#~d%18$`O7qqPa>i&~hkQupuk!M)H+usR?H9F_d} zfLGq+>!ZZp!x7iUNbj1e3B8xZpRxz-;nc8zF<6Z1Wy~#VW*wLI6o%V@rBi~F;3N~R zo2J5Ze0jWwIt#)8cWV~rgrTlDq`_KEd-_XV@HfIUb{9pU5&9+gH1I5R9Zs;HouWyt3GHf>+(?C-rvh0lsT~* z3N?lxnb>|u`fvHb7d~VbWTG|PV*m~DWMYR1K7G>@uCm|frOi$c$H)6!3G9An0|5G6 zjjbveav`DN&R~c6#J+Ef^&2#_Us*=!#ha&8b?_`}fEBQ*#E0yAiZ&>3{_{ePy&~jX zKC=nZ19#d=FaE5{)U&cs4ut0`%#_KfXEP!J$b5p~gfYQtCDkq1oC6I%4d$)mrm|*H zMGIP3*CJ(X$agZGB|2^)5COKj386kdSiV1~6A#$|PbStBP%EIAzt9nWVOF0*?o5AL zpc3ek*qF1tiu4VU1Xb~6^Magpk}9>T?UI1})VoWouPfMT5+4oX+aj!MO~Iy8A$uTZ z7W`WzNek_0A)7rF`U6BFKD|A8r#VpLG~JKnO6m_6ls=XKRQjMXvbM{hv5w# zi@CdO8)~P|fpf->tw&QyOO={D_?faHD$B{mpS|ht^UyuUfWPHNUr49B7V)>(v-^w| z9p`jdlk(!L&K$=%J%Jxyz~V~{_)_nINm&Pn59EztkhzAx%?qT@F6+QZs>&TE$;N)7 zF%9Z*Z_C}8jV& zId}G!VHu@im&Ym7R%$i{KR@V}4b3gP?T9Os{v zX9*{T)Z=Tg$~A*-U#rt#z@I)CCol_DeG!aMKF3+YIPe{I*1y)FGk`Ld$$+-y7yj}d zDEZ8sSF);xTL$cEulC$#hagrYc1utLiK`AdQ?M2@onB+paHTE{D269a9G$c{zB`pT zZCgD22El~Q=_(%hdGi49dEkkyDjwm?D~tx6k#Fra5O$hIHx?y}(4vBiP4-W7T|cS0 zLzwJ2!){iT)7qO=dsY;@OwN(m8^tzJ&AfWC0zrgrgHjfg{lf-xzXTPlnDb22ZZV79 zdF_h@Eo>(HCkQ2GqS_f&65B3Q=8^U6@5RPA@FKIFC6_)8Qi+_jsL0@XnZX+V*aM6{ zCxW(+js9|xpK84${bWc(CfDh6D9}p)HLpu}zFVUcxV3**f?(dg?eciyGwwTilG6P6 zY56P%PmSPNuKSK@^0!T@r*t&)PD7fd>kB2fFKsP9DCet5Po#iT@oyh30m#s&fQB}` zhVJT`mhh;I9f+_)4;4CuEbDuUy@9U%M)ZZlr8`RwZl4>J1(P>=>G;)VTemE)j zN>pR$m9eV-h~>7T?sR`c5V%hM+H*Q$F}^pUgQXt~b6mJ`7jHmxdR53J?&ceecc6H>C>4yw>|EJ&4y?hSv8h zQRO|Z&4Qb&ut-Zbb${2%?*=eX{2_lpKhl38nm1o<)*kF+%e;~G1a~Jj&NfC5TqXg3 z!@zf}GzZk&TpQhCfToV<3jrfYV(sf}M9*}?X$XZq0ocxG2fg#@?|u&8Zh;->(gQsp z@PNPr0{>?t@aV3$0}1#a?f-lKJ?ML0#K70M_y4m2p8@gr_p^W%|37(zJA1zs_#B9) z@BIJw@}hV4{ykp-T&773lmqe3KN5noY5hpBCyu1?`j1cAUmiN!7Y{REB)#lc4j(lE z>6>GC4)*zY-ubBAK^K9PN~q9L+wG-&IDztW9FdyrQ(mY$ad6l)B3*(}vBug&j^;5j zwJL%n);dIPnu{ufN^&THO^;rJa8ci{77rwi^3Au!@sMguC5+EqKN~ZgHg4v$`%E@0 zjE)t|3i;XRfL;gOcy&GgN>1Wz{g&qC(ys-Q(vtj&(oPCRt<9?5uVkr9aLph=4clGi z;5T?AN$8_4ZlzwU(owj!KLnZIAEqeD%;H=w3vsNSRQ5RyD;{yfXJUNFjcJehagw-A zyHu>(DUZjh1OO?a!Jtu8udu+WMM4<-C?07_@B!h}c+}ZkF&^pc%9uh6+<^aeN%`*M zc8~%L;15j1Zo_qE=kVh+WK}y9>J@Wwgb7ao)D{PzoA*L4xan799lLIjZ_f7L9AMwH z?}xoJ>Kv7Nm*{Y6#rC=wB)hag3HJG%fVBUEHi8?zhz_uPr$c6sG+}Ng|2XJm9=}Rx zCSM#$6j`v*UD&c!6xPHlM*Aok3ELazN0Iyly&TF&!|C=Y3#^qAN@@|yx0g>R95lW+ zoV+e*ecc*QVaXn>^ukS})IRlj2iUv<&kxuN7W?QQF>lDyf+VbZ{8dHHwar^(aN{&R z+1xw2Co>-uFLy)Ez*H)23a*YIPG_HT#zunv)X@p5r(*=3DM3lu*RVbB>BPBI`8MBb z9guMun`J+eq2mfzUA!>q;6|kN+Wc+Ig(F5lt9ikNN)8X1lM$FFRi_mAH*;Y{#USnY zQI6|_0a$!2rnjA6GTtH{2e4YCn_RKyNBGmua7ns#!}Lb6DqUiudIZ;y9=5q4_C%G& zJUmh*{P>O0Ho-dA*ZNtS3zsv+nrv*Yy-zi z0}A@a=GCsxSw?l{sadYMcE6TQJ81hMX;~Rr!+v2Utm29ySG#Lwg?6PPv`N!qp zw^a@%#P!|DU8=X@93z*Km`Ear(vY``Q!G1v-ICA zv-@2W|C8zdHckNevj6Nq0>D2mYwl^>ab!9%dt;64hh|h-&$zNz878_dD_0yGZElJ{ zvTWVkVC;VnLjV9ugugYYL zqH;kzA?wcmiQ1G+rhZh1^ce7x(w>k!EC;1F{w}MAaKq=CwzW&;TT&AndD!rtCiA zt?|;?-|QxH*s`U$FD^|n@_6k4)|7G{hd_uwGV%GaxU!srJro4nF6GYm&5Y2CS;^Py zIi9mMACo3HONXXgBST1N%}AX?|0Hgu#$}5eH+$V*pLp5Yk^Fp*j+O;)eFvOfXykrXC3x= zrBLVv`|RSHXI(8tKNU+FaS8|$BZo)1RuIvlw)yc|qO`e_k8py1Eq0W6WUJcu>LjMy z@oORYH9CDYjExs{Jdd zA22Btajqi_^|7Z(+b2t15fE43CkClHd0KNaZOb}R24ZSn0!Z7HVPPXbT!!#1QHP&y zdgFiauR`Nzn4f$9qZH!WbR83|$TIo;MzV0i;Byi}>D^emeL+zHeqNFJx3UCiKNrCB zVp`{oVayz@0wz^ecf`LtW6-dYtjisq`8;c@tQ zH&Bbgf2Dt=)sR|DJ_SzPzZp7!VGnRa+N=&r5g<`aP8b+%K~DJMy8cAxSC1)AmJhj4 zT$kG4GOmw07u?fYJ#4)^TT^<5hhSteR&D9hZ*sXvSu2;0l0i~>=s&=T`{*v$OjZ1D zX$S^nW(eRzaM2pOr;NJrpllHopUbk9#D!Ys;i!K@xK*7$>w*@5ZQIi$vx@Akno4Kb z(=40lZ-*J`a@P;@6zIA{2@u{~p`pX7CHVvcGdWyD#8c8ak0a&C__h}^(F&A>zy-@A z?qw;ifgP^?7{iYlm>_5SwrKNGSa?#YUBMbg^EhFUpsQjVXY4?%TugaN1qC4MDzi%W z7(h$W3c>i*`RtKp$kVu1c9R8>#H{FSXn^}joOeSjT%e0UIu6T((!gR>8!Q$op|6(C@#l0j zw;**j@GwL|EeY+%4T=fydaD|bL4q60w=C*Wq%?Q={Z+nP5^_Lp^KH?=U_oT(V)Q(W zSSJ!wY<6bFqk8|_5~#O!nwo2`b@Id92>yfpDKWmn%lOzWj-#ySWLeZHbc+^sRW9bJ z8ZrV>c|(W`AVG;9y3NrLM0_ksiG-{-?<8KPkctQ?ZVp&Chhyc@dAeC9xJj67S-;b9 zSrHtnj(ZHlSR{a}V87HqEjHS8T|*9TQ1n#go6zTn*~_q<8(5PMJ)gG5zb)gwARK4! zxWpW~;s;}IazjzAj^*I)WGkQS0=-Q{j9ot7fuIg?A z?*IDq3r5qR(r#awlc07d{S}o!?i>)u|HekXQP+sGtZ!impRa_4NF5#a<}DKkJZiFu@JnEbcsn4XOFv zpm^%F-!kVb7qnrG(IpaLI<-oEqxp^qQN2Iw{X-h7iUthb--Zc&zlwnGCFp_j0g!Se zt+)}Faxu#tdS^Pt)Tbok@iOnRr|kyI{uX>VJ|OUb!2dD?Kx^|s1PQnwum{fn2bM|D zXn-jA4)FVYfAG_P@EE}2`A>P-Klq40_<=uo&=|x&pBMat_xyuz_=7+FgJ%ZzH~y*5 z@(&*LsqKH>U;Be626l)3d0+DnKKT!R;tw7bSl$2gdC+=@fARnTj6JB@OKFNImUud9 zj}Vl94VN;LO=r}ok|i1}0ww>-d%8EPYuoivABn|GuQN=opV2S<)e6O)1|*2-^;1MK zky57pz~9LO;{ehnRTHCBg7YG@T0XgcOH@+JTJ&+h;g6@|rUQvq7b&8U{}$GrE^yQE zLdr+=AQbVvpW)!}2d|>lH24qLrK>}b7Pff?KaJ`DK*Z~l8Sxj;K8l*O}{69?BBw=(*^!~80Ko2X~B&% z<#3k~lXvuyv|X|r1B0SlM&OzDSEJ2Vf`1F^PM13Izay_TwLtWOGJ2@AQ^ zJ0q?qVnuFTM|padg#In8J6#?iT`!&42_dHdc5g0W<_ON(Czh#1T}|;k@HC$di8y>rR&sC|)?0Cbo#lMbB09e$c;-$JmFqC0)u~7Pa>0 z*eSu+Z4mvpu|RPAEZkPQf}8eTj};k z=5)?33;ladXK^R2C6X8w0uhcOImokr3+ql7xZmpWSl001X=@BT6skmpF7dT%Kc?DO z+Bv?$$eS-&*C8YS7S^4vKv2BgsU_3)k{>R^BC+0jw&!aTO6w6An7iMCn;0bZc+!s`tB{Yftx3KPX1%q@=QmXUF zQd-HN-UgEisSua+B(L&l!u@=9J`i}5O*O6fZ(-f(3IXYwSFa1D+buX6<>oTQ@m>gk zwZuMFoH6)OC07w2G>e4)Z(;q`^>BPZ-~oXL1RfB0K;Qv^{~HkiyLEss{KY6x4{QX%#;}>)v^gK3!S$v0|*MzK=$IK;K zSE3M7_Vp+tMGe$Y=%zC9=a4pAyfklMw*$h&)Xo`Pldv{Ss}+il;GOCy z)R;WWgV=J?GX`)|GB`uUp+&Gt@SBk@5?g9yj_H8W`@L9t2z$Y6r>k3>a`B2*>xvNL zO^>kwm+A)%*;bi}#v=vrGS@LUmKS^7zfXxJ0fO%VuU`+%klDu*j;aScy1-T9H z^LaW4H}_j*PR;jY53e@i^udKFnL6Bj8skgbml}@|juZ074(bR))H^b@!A>D4NNTrz z@7n~j&h}|cg*CIs>BH#XYbMh?{EM?K+gK~;)dDJ2Y!GZy&vIuIzNSE?MU++&U5+lg zMsr;e!mxuzVgP@g{U&&L)CKzNf+9!&L~3{_tev!bqvq@q*U%1Dq~U`*8-f{+Q9<{L zKnEaU6HBa9&~HC3`Bm;e!k0gj92Y{uTwweqKyqz!j)dSEBqL=633duqg3t!i6xr|d zCQi$v4gqKez0AkMuIwCdbd-18d^C2v0akmZpVnzM58g$$wyofDysK8yEVE?#h$0xJ zt4A^xv5^syz#UC!!r{_Ow*+TZB`7G=*c^!!t7iu7*oRZ++};7Joa0rAZ$Wc*(5GqIEMPk^Fbm~BBx&!fW&~u*CndZ08nT#o1SX= z8PPRGoHZZktT+X!JU1>H4x@MbGg-vkJj8#`EMEOW9bmbCI9^2F7>l!3hvGc<(e~cg zb_Fa~U}CHu{Vr09J<=R_O+e34+L(Zsi+8`8{ay&0m4K&_=jB3L@4m{ktBLTEVQ&fT zLb4Npl|bLB0QL-|D04FyT(A!A3YK-_Z?{HZ|4oz$!76z|ZyU8^#%;srQjJzg5m5o@ z${}p>R28`3#CK^TvIYpOWU@1*W#|2V;gNXmk0d3G@<`bPZe-0EmeoI@Q1B5bkcYRe zh-!Z(z-MV{4xd;^f~ls~J4yr_EPNnH4mqx^o2*-O_=5lrZzcG3TO?>K%cgu0Ho6mV z=iK)P7+UhoZR%3 z5X69ay|q39&Cm+DmL39>8iNTSlM-h|aBG57va4Bl0Ee2q2CDp5^=xf!xn}ufOyu>2 z4qOXnd&_IaTS3&xjE~R`N145Tm&fS>JuO;Z7dBml;0e-rEgX+7>aWkrDQKQ9iN9v> zjubS-xvfH}6!L-cz1sZVx2iFQt+dr`Ufh>3pY7n(*RAzj%;wdgGRrmmcy81=xM2Nl z*^BRsmJv`|Y=S2<1OJ?>`G~A{pnSplgdMA*|7I@^lh^Ft<99EFEn{v1fOTQ^D{wUF zX(P}Yyn2T*BFOBT){pJfA|uTNQg~6O4o+N}JC7e(BRc3Z;NQMxR=}5@w)a$tXqKXW zO0EE*V%485E!im9T1dYum5!&!9 zDP197e0PUoFOMlY6ymi*Pg_dmoJpl<94B*O{7wA`>Z56@wF1~y+||e%a-?hPY(Dih z0^njCMjG+Q%}lE@46ib`qF#=VsbUH{#)yuToIIZXc4HIibE^9$L&X1e1&@JZszCBZ z7hcFuz4Gq!Yq7^0+2`QI6_n51T>SWE1OMaYFXk=G{yc}1&wgGuymxfOMHrb z(-vl(AJN(Gf9>sZxI-%l>W0&R6u?k`j=)+|e*YWUwl(qB1Lweqw$23P{EBzG8iB%f z&vhZ~RjzVCGKmM);KU`qE4jay(*OXKO>x`Dn~!`imE3E2Dps<*43!|rJ`BTZ&r?p@ z%|9#j=5Mcj7yyw?`ujKrNJD}J%y)pp=ovykXj6he0~+x{*ZuG%QHNP84{PIWpe!mmqupY``; zA3&wMhV69{^OZ_4fp24ZRfh1bg%g(J5GBT^^ASG_EtW#F7Z7ji_MUcdYM>%*mzdc> zqM^%rObB1rosLT$v|I2JgKJHB)pyTDPVJ^(-!UfcJVE20coWe^dB!YNAPa+&g~{{g z{~dcnMhOs9cN^FOryo=^y;S*C&serQLo34ZGCX$fNuuv(7_fpxkR*_>4RKLy7cn~Az# zjyim}nuLjHoRK#n973XJgI#M@!uEEDl%PJ=h0r!!$`S-A7<lYBU2APiB9v)Z(!JT1*@?%csCXqCxhTGs;Yd+Sx1mDkDrkakJl^B#(yhA z9kyvEu1LN@f#?9}xqO0d7+ z1i~S62LwV?RqNC(1uICv&`sJ=4Z;Z((xBOF^G`;3oZ7Qkv2`RAgWIZCm|$dp!&7R` zA9du|$)e&N3{z%mpI&-re!rg=_aC7<*@x2u0uKm0An<^|{|5-b0&RH^K>~1p{{bG~ z0$Uzp;92PI%JLsP=u<=gydUrfKk)}oaW`IYuh01pzW)y%2k4Lgr+%|P_@+O2guC&F zd;K7P{Xd`of7tu#pt^c~-Hp4uyA~K{O1&X^BD-cHMee;K{aQ9&UXZYMd?8857VbJ`> z17G4F_Szpd`(3B)pZKAF*i(Plw0EPjhw%H-Om0NsOGJCcnG*)dPkO#@{G_DZIDUW2 z-V9|(pB#Mb5NnB#@FmlKI^#N*a&G=Y5gB zK7BF{7ctI))7a>GS6)P)ygBXDo7BpTmrfN~AAj2KqB?voVa z3yJ2pw&WIESR5Jp5e&9pnB?(#yQmNAA)8` zm{%2SrNCQju>DD6^Dha>%H64S$D=*-_qlHQzS z`)IxhR^#rRd;JD{*#-7IWzjw+Ue#N(*VL$q6o4t(AF)*2`ibJB9@6z9{st8mbEm3Q zS^(Jo%8l_PI+ZYScN&8 z=fJwI->CC9*bpiY)#8vDHP2~vwwHmZq!)LyzvTqJ>h=(ixav9(Os5fMjroLD2i zRt=ez{u+P0TdE5O;kmR5vLgJVcJ}B!nxfCgV2_$QK|QA<}3XQopMF=o~YSw&4|6kg>Lrb zX2!yLx7bjuS^?m(bLGYeVNF^(uS-)|_L&W`qK);hntuvvxBIupyPJq|S$X3X1ST0B z&Ln5opJJW-K)m4;(xHKWo90egLWW=1fMX6g&=ezN-VEQ#sjy4sc`Y}9Yvwv{bu=dg^p{W<4g0c^fm}zy(>AUf0uqD_vo5)IPrHog5rhe#c4R#zIc@I?V<1S}j2- z$+}Cs9K=tE1}c%is}OJ9kb~{kIQ+zY-VZ#oMo1^HJk``yL~O9oL#No< zSrVpelBRB|Iot1h1z{Z&Ku$?q^BYO$Y2eG79*4mc&vb%a6^npYnx0QvCC!ji_%al0 z5=MZ7+vU1&T*Kv%F|oMf!=UHl)4SWM5S#=!CUA)5#q78q&12H~l%cp9Ptvf2RdN}; zf~2b#Z;^jpOsE_;eXY&K>n|_4P)!N!d*&u&5l^nO@!Egnt$ZIbY#-9J3Hkd=utUHA z;Opuo?~(Q!Trf8^5#$uYfC!_a)!-e33-GwU6a^+UfZ+bS^9ng?dtn)&+~^ZEzt8E) z%N3u^U&Nt?v$Dw-^9gXmCq;KkeR0hSzX>aMr;re8SS?gahbxlV4p6EG$atgvsiNRMW5d;9y!nlY0UVp^S^{pZD1hmtRXoM{!d- z(?^+cyJtH?MoNx2V;VJW1}F=dDlO6Z=DsF>)^*jpGucv0)XR*VE4m8((YyOO=`&*8 zJ+HvLtEK)JZEzO%XELgZtL)DvpR|pTt@+uVfgR#{^X($o0}NP_DbonQXsv|?`d#;t z&(}3?&DNz`=TC6SeKbS;GGyhAsM#i>V6=3*p>{5xUT1$CT+~@_9filqP35d%89n_$ zvYIA>IDFF`(@3>J%Vnmrg0Rznz7On>+{`;|rM7Kg-WnWXTYLFwE#CYU{TkG2Y1AOdx|e z%c?Nk7yd@yt-eg;mh#kZkT7DEYEJ5Ou4X+ktNIHhZs4|2D_k$?n3!3uF+NEczg+a2 zq`irhxquYL7er-6rjhpQlWPb<0vs~mvc2K(Q)`>g*tvKu$!UyGd&`-PeJT;oaZc#h3(Cm$H>~N1fubpVy2gf zra10$OqxIRWC9^LsiVOTRcm&_?bO{xX&1aOczJjSGgO;geZT#DJ7+5$LJ;r8{qITd((>S6|A#FC z8gB#r1=XN5WFU3#HdzCM#VJ;HD8a7?v^^6lTQf?*5F+5RLu@QqnIv?FmOgE z`|CFozqnsp4cl7xZz_oH1OU3+hU$S4MiO{zGp?OZlRhw z(81zGnwkCR8Xz)3-Pfi&0kG*iX|MyP7_(g^;q_g%(XVc2s&CbFb@b|P%y93O>%A*Y zK$j?U`HFtwQ;eiJ*d-M)I_YeXwUS1ax;-Bqls+Rm@;iW9z3k|DEIpd9D{j>Z`Wu{H zcv!v;=g;@M>Cs94J~5gTYT?7n%~q~=?>2s1s49yAkFEeZ zL7U2bv7RavE}b^^Jm=B8n;WbG#9vE{;!nPYPs~J^e}#v*SB@N{v<_Fw6{m@VHD&}A zvDjIpl@KCcE}49{z{c9YE~W!8Ti&N|uo@)E zy)KVm1bx0!coG(IV@$&}lAdOieEXdDEPM_6-ByucvXqUsQbm!>#GF$!f|MM}! z@6FqPBmEbyf|1XQ0H#=#IyIhMvtw$p2wpFmRaB^>EeN_t!bPbhJclk{ z5k;zE*4n``_ocR0Cnawth)gg|&iezL>w%v#TqH%H@v=cZlV}{XYe`@SAp(qG0Ts4W z__}N9)zfcyMjURV=ad{_cLtOCwT{y7`9K{rH00d2O8#7 zjf9?n$ON-uX!L%KPeWPT@!72U*qjSqaOV1Gzo=$gF)fc(Qb40uzE_SJl$bZVL$B~r zGDm75!X+HKCcZ-Udd=aLYAu6n*dZNKD3k%_60mK~d0lCib|{13r7FqgZsJ%T+POCT z-__9Sjh)dar~O|w9`LbV|cVT74P0j~9Pp4d4h)Jmf07>j_K*^jzO~j$$+iVl8u#E20(Of|k zDh>$8^SRXSMPf=JtrVUgafuJp_=1(|Qr9V|*zrk~!O??f#e}Mr3YIo7jF7Uy8a#Um zO~S`{_u1+NTAKW%?)?N&19HBq9#Kl<)8m7_O!-I#$BD$7EEZ7~*vg}SKTx2Y`2PC_ z`Mc*R(0#5pWAl3xAk32n4$Vdkuy_@_vn-cr(F<;Ot3}(B{Uqx@E67c z0V0=z8tuE5bn_?_w>R1SR1x@UAxe^)_sZdb+PM?Y$u8y}seN11a9IuLmUt;$3pf}H zr(Z_kRO3a1BOC!=a>w|iNj5McsAS)3L*m(ao@LE+5PG-q-$klE?sx3S7x-F&btcPS zR&hLuqK>q6WN=`C-KQpGpYjqLB+;nke`ti8y3d^7BMOD$45Gr4L(AT{mwv^Z z$%2TwV9ZR|m{J2Kb_RI4bG3Wr`nxr~-EB|w#*N=Bz1$zm*wRj3PQKxPmwNl*>mpz> zri5nlP`cTwC+plcB?sf2Wz6qk%e>zZ|Mjb2%S@Ml3#+Dm{Mgqya>8%71N}45h$_|V z2{CIZqeYY3JrVcWst&3^Y~rmZB6?3C7R|OjucuuLBD6-vSPmg_e7%E@H(?_d0fC}> ze&8iPYRM1Be&$bn4y)#I(drmi1wFWaN6bPJ#LT8x zBnR1U3B1cgZT-ZHSCaZF?M)efmA%nt+90oUKYNCVpR*cNkl8=Vgy@CuwbQV)go^U9SoaGFx{SRhz_0U9qHc^moXrSS zPy53kHsu}WKm8;Au=oD3Rqh_a{|w*whfM?;|3B~t{$X$aVLzNd_z=DZG+*#wW8XdI z{>kU{hrRrVEe4t|c(}jx4;$s~LHJKR=RfS3KWu)`euocu1%KGEcgKf4;2B7bvwk^2 zP8nS#61yCPZ$(5}tNWx&Tuck)vLkfJVzh#Wa{uHv2X$l8smd($Ug?Mq7z)r>l48Hs zF&mx=LO+A19V5CaRftLfBySdmN`-yHjypM;LgLpvg%j!+>rkS;?`;x-0q&iFDym`s z-VAosN=CxLoQ^^Xfv6nOu-Q6I#ygndPqqKY0*%KOUi_C94;WY_gg3d_Ev~>-hmkc` z9g=#PrlNo0sJrF=0uv^;OY!b1`#z<*px$Jja)P~*IZdzjY$SAc^11TTmM@dXqRA6V zB!f`d3S>QI zk9sP7rX&Hd(3bsXNod%Hrg~q3ij)oICAEe+D1UGP?|(rEBHb&##t0Dm$k-~_Ic>)MKn=q28%|`%x0a=tGzmMKiBvTF13pKSMw6N{s%IP8 zDpb>eDa*9aQ4l;vKi7E{Fd3s?$fM!jbgZo1v%!K!28N9Frot@xN{}j70JgaJ>DtoP zeg)#!&x-Jx4041LyFvnfm)^U*0q>n<NP^=8ayX>8`u8~3)d-`D1Pd)2XqlD*9N#$|j@8V>5$ zrv>Vw3$bM_Hl@on*o<)&%gRKf6(br9y>CzZh#u-X2$=g+Dz7bE!dQi14PoR(eM*ob zLi})w=sn}z#Yluk@0;fn{XX!$ofxiyrFV1Ybm+07-RHL*Lou_Hbjsb__wxFKZs_d4 z31|FSr_h3~Lxt}OSyFh6r?+rxr;^fe_|#ec2@OD;fKwK-J#6u2iW^)%MJ+*R^F7Q1 zX<&=hJ&cjuHKTZBq$@v^nAg%!YyPy{-uGaU?*nqnORP7^38q1usP`!i1nFZmb?hvq z=HTLrBJ**?)|o2PxyKV1A^sNwFS+NN?L8#`KHJrVJpR_zP1XCju%LIUOOAty9iJHQ z$;d!4H;SQTOdjKBbiy{G$Cir-$p|^5^+VFxmHVttc9NquwwMba;l)WiE;qgs{1t~ zfS}(=H7Y@dug7vbM)X2hPd$-E>AQHfs>5>edLs30`6;hxELqd3QDn77B}+5!nVv^;4dNRcLK|rJN-pcQXdH89I6KFex_*in%eu z41ZI&E8e6Y{^_3slBc>b$m_E+%0;4S>z{CG8Ktxs|g%hc9hIrdr;1cN^0Sqx`-bbTy_j z9?uNHdd?v}B8#=VC4VTM)G?)|ASna+1=536_e-_(?_HFEy(yq`KX=@|0&8ak_ljdU zb=oiPxcQXipqH&$St3EHhzAqr6nu5hU|PVuRTba@uAx|s8qD}IrP#) zX0P3vWBsfwBS6Qv5!6;bsX22h;JTwQdyl*KjkV|(!mptOBgR{r1yZ}i<;oO&kF-~#eJ!9KlmDt(0l%8>Sh$w!Wi2X z`!K4kEHaQy_r6~NdnHAPggR79f~HPLgZjBQnl$~4=RQwK@5}t%20CnRT|}yTnPR2> z%P@iHdaBUigYW6e!*HeN*11vEqyR-^M$aO(YZUAE6?@`Hm>KX6gf$)t(#Lhy`=lC& z6olI7(c4%VjPagTqIn-}Z%|ihyjmZeRPeE6r2@-N^uL#P1SId+n%>C?xXf*{E0(Pt zZV4DQSPe7tO-6G3rLRdyz)>-PIH0>8|EZkEmVf1^^Gt{eIN6%%j^W>Jt|JxRZ_>6O zPHx}5eB0h}NY-~!&X+3KsYs;6qwq3QQhb@rjo8J4yeFjvDH9oOZ<{Bd;cSa9TL6x^ z|C!E7XByWI_u_QgTx9<_f6m?OiDZC7Sm`><$5qxJEJ=zH?O6UDVNtw5wr8L`GX5gn z#YMyHnV-g!YVFYIO7d%qQqZD@6C5u~_fkIl*>EMoJ*gOov|^G$j(;!Q{Lmgg1kNAP zj{@?xo{`Y=|{|)>9 zodTOV_y7`kq>gKT)o)G6N8Elt$G(etQrm9V+UfPoPG`&Rj6NBgj$`Sx|HQIvX#Zm8 zX`%@v87oxd8`KhLLo|5w{NJS&`V5H0qPgTCY$c|-cq6*FPqjto>q8_3xst6#ELW1T6$mb2fTF1u#M(}~W1_JzZs zv8#zp&eeU4>o*q6{V-?Y2WBdGVjxDH8X$+cnE0n!4+1;G#t4P+ZGAhFUWf8yTp+Cb zC9Ch->niB?o_M$+F{*OmeA(g=i6fS9m~UdA=*6i$D%^gI3xov@)GHqiuK_bL<%6BM z^X2N2vP=HSiGl5$K*^BVEK3#=uEt|rAS?(V7FBQ`6k!_2m6*>q9O))O5yaILr&TJ+ z_wD5+gW;aAk;k||Sdc)hs?BuA)Ok0s;u|_@lqo#VsGt#4u)QaYh}!1n@MOA+a@`lS4g-1!ts)SWQMND&g3vc?FojmMDf?avT*O;{stp1F@`9Tzu^}lqSpA z`Y9OntrTP7dORU4m`Ll?v@FWCH`^ZL0%5@bv3j4pGQlvAOSx%{wIQHXOs}y$jUeyQ z9g8?W9J@_tb-9NPVs^>;Mq=C6AyCVwEM$5nEl`fy+V_YCCcpw&C2lmp8A79D{ zBPXk0IR-@WbKV`|O#IO;$2cn)COnGAxIkD4KrD%RdCn})%c$&+ z64zw+4CC$XK#|9|eq;T;{#D?w0)G|wtH56c{wnbQqXG#38UJJbC;5tZ9Sq>qA0_BN zJ|J5ZWDkIBQ;^MhH^uqS@TMR;803ElvLEi}zvBdkf3TxKHYF%LaDRWGfA`&eKo@d1 zcmGfPcYoMRf7pn3Zz=v6o*QI8#OD*pF8mD-aJri<1%`jHN$=j*-`@}7m%E!C{3o6# z$QA|N-}{IE@jv_*01fR6G7LE1_;Oq_1KgC>b9u`F#D6Q?ONW6VWM5P&6Rh>nn2(M z+(&6lGfZ;^S(Y2p;^gKr7EZB@z{}^b7!un(Pl>p2yhZ$und#Z_TB zYu?0V*LQN$`@LL5%u3da98_FN_BD9SW}sgW`E$Kf|wi62E$VRU=YjmP-v1dktAQQG7J3_?<#M84(G2` zq*L%lLfRzH;(9c#0}oEV7pji)Aeq#@RKy@Qh?UaWAVZbjcA*NseP-xmKBWx30zRK$ zXBAnRv&hb!3Tiv@c*@jFVDtt4(0;yyi31=;Oy{ z67%^y#qj2K@f@DUcD1CX1frEOEF^yuqcukB{ z?>GZJP3)Px*vg`ze;#QEc%!yN0nC$QX4Zj`_7$ogvnTp4qNeQ^G*vwvG)EcJ`;m;q zwp1zqb`T=qZ5~M`@K})$$HbYbU#SX_FLvr%jTe^9mtfrqq>}QJ`uC+&T2L`et71je zj9-lJ3i@dx-X?VQ=%uT{_~?qX<3X=0l|subP)k>#Uc1KS$91EEWxALz@=mw4jx@t& zCy3H~Z4~l4VRmaV-7Gf{mW5=R7v#*QZWQ#}qSBP#j@f*EVS07SG|b11)|eWII|LJS z@|`yT`5o2L=GQ%VbImlGK=Q*McFvfh+eRvTkesoMT%3?W>xr-Onpu|SnZGRO?tHBL zG+om?kU*N99#k`IhJ)8qE)P%g;hj5EF?w>oS;9B_=$Oz$&Z=_BTB4^FvDpSJBc2s! zE(_XZ=&cPBawA=ss(cr3t7@#|(m#%YyVGDM;YxDlaZBWo@ocqihibj#`lj=Xvk&SQ z_w=koH!LHZ_{T1R9~0H*#Y|nnr2~stdz?KIYTKyC;GSjogm!_o5*X%ABCAsuG$bCGE*K5Z+ZsM?cxDP$!22s; z#E?t@rX$2Iqy?Te)iX&xroj{P9fP_Zz>kJpR1QIdzY28b8T%~|-FNiWH)bmBcZXzr# zc*T-5cj82o1QL=tVhg`=SuMxDZ4QPVkxvR4iW5{9M{lJUYnuB=sL%@egO4(fyu6`7(jF2@`IC`0R7Y?kUPsNB@w3 zF4lgJ?UXTfXB?}B<#IFfdS2>yvzD;hDH52j)LNHq0R4xdDIhb6W{@PdJhVsKr|X4; z`W?q^g!qU_;fpv^bP0sMA79#*=NTufzK2uNX_4n}S-b%6-5~!6pwdvV0Nxxrc?er8 zvxUKqr!KK%U)vdnuM!0ANDPp-T;^fE%q1tiSvM)p4dK(3Bn@^kz zY-IV=FS4+4f+lZtqo8zcNt;(+rf#-&%ViJgCN1GIt$%=ZmGip{T*~d@-||w5?#I z)e`;|i*c=&K=@U7%QPa-8YSq*CS|tcO9eBI74l4mf*0ZHLSoR0YWWa>)@#(Y08#I7 zS>U_ub!W3=SZ&dBO4x(L`KN$hKAHHQ4oqPzZxo)X7&bt|?NvWJb3HfAk#d=B7f09! z6Ps~2mc|hd|ENm9toW=TQisZ5Qbgm#B1>2xElqeSWIGl$YaSfR0tZC)3t}9+Xbq-4 z1nN4RcJlR9y_ezdJa;eROqxUmpL_Bcv)cA%D?ssb+CwR0O8CTnc$rsLU9#A*LmSR# z&&<&0wb!W4xx&fQ{C4_->YhmzAM3!|vu4i`b-;9bu@ErwP^%XKZ4r~Fej3jMD%p)E z65VkzC|@ajZ;FpVf1M*>&P-3z_%RdB1nba58qpRrWXn{6eyf%n{~$*p49Yzbwzk)q z?fhEk_&a;bm$+aO0fisxCK7uanJ)jK_e5#F!^&cae|ICHRH>%*<%d*dUmLNKm6pvzFW=ReHNS;YJ+piK)2xYN8&<2jg&)pOZN8rN6oV$nm2rvLU|0er^VIdN zQEZ0IG>@8JFI-gLFBRHS*?|Kxx@t?*c=@vq90huxFQN#!76(zmq}#cx$<;T)QzyrW ziwFvE9LSSt8FhM8INSMGPF6pl)xeF#J@aG}xue#@~oV-W+Cya^=gX?2%1aP4_cM z)FGT)(dawx-t0(=F)cI0dfi(!;?1iGsw?HL`JV~VfK-sWxWf!y(4*lWk zJ!8Ubn~gW}nPZpRu89C3mh=e$utBO@Hp(Y0v93H7d9}48!`c;piPrapU8i~za!hgS@b$ z+ZhI8D#gVwMCF6Hz@aKgvvrsthVf0uU-6jF2<~ZDdw5J}54{g4c;^_hs)+e1Xu~^a zxe@XzIewMj)AtHn-OtaXFD$lyb|nwOq<(q%|j}cQ5i21sgsXpHf92 zRCer;ZztN3#lpS533*nN1@_p70ZtSC#AfT^{zeY!aO*qMpIAPvIprRU3uiEei4_Tm z#G6_2D-%Z5>lcW!R%CLHB#1z;{ z2?-;eLSm8Bm?XcwY|%AYNscEzGc@^;%9ex%24B&0u&Nby%tYIa(vSOQx?{zIFEZd2 zea`+u$C4L+dJaoMLR$uXi=@TJw0aB=UM{zWNk;&xphNmHW3J`^DeCa+uW7aYkUAvP z11(IGuCK-v2IT$hc}Xj5a<_l@vI5{g_*2Ouq+B~Y2x`%v_Q%@m?m=xg7(*#^?+G08 zPZv>meBg>QVK4ZKF#DW2H7lS!k5 z(Y=>W)q)YjSX;f@PfDx-@SS+Q>#1K;#(cgExH_|x!XR!dQjvO`WROZZ2C8P_t-@Gd zi?Ml|TZDuk&}$;94|enY^dxXhylmdaPxEgh6k!h)wALb0&D$yKa~x!c`YBsRx8p#@ z+CTS_vMvhW8w|cPGqqKlJ)7j&TegWI1Yg}ipXl?RsFXB^h`^O%N#(LFj92CRlg}O%cdnPcT-tjtUfY(8f@#tnCG8V zJSGYTzfWdIGR@=DBgH)~n@1?GK0g&m{XOwoC7AY#dsNX=4y#aI?YUY0%i8xO9v1JK zaUPka{vU< z86A@$Q^=N(IWzCV#4qZp>IyrijMz9iarM&^R#zVQ+X;i_9(sJySoW_S87V&3HNk5# za0|QQ^T?BZl~N*b7wb>J;T;%+_SNqDCeD&0%uA?e7KwdqH43x*dMY0bL1wElvfuFO zga;HOqPy9`=F)V!vz;r>vqh7&$RT`jeNXOGn68>#;VNwnSZeJ=Rjx$^my8l`OV41o z9>Qo>bD`#F3E}r_aK+iC$_x5u%T6Dsh@P*op55rW zel$V9Nn}{oq;)8n57y8SnDmP0b^>Pr48bwlCjH53ScYD~C9axF<#P+kp0t~WyKn6G zF$!{ha-PrC>64QOSFn+MRX;G>nHSBCT^^J;f)FcTOw?4%1~-3>T~;Pyq2ioqiXFBc zhCn!E+TXpoQ{99w zk=np~Dq=6*-X_2WfRJpW1}km1iaMC5{E`#)sOfrY=P9}>R`1PKOY7J#W#L>N?Hc3W z?J8e#*{IJ}y)d@ATCVi`aCFH7s}KjK8XgF?p#WBh(``*#8uU=!D(#y{ZkZ7InInIc zJ&4jQEHH#Y!%t`mq>2ZI2!n0zIO3>gnV zB&BAGv!b08An;3%LYDdDPjZQ9#o^jvr9%ht%S_1XsMyYSx)BximI>BdJrJL%rM;4# zk)28p36RsUBvo+b%T@vrg*-;4k3)A5fb*rVFMsSr4+|D0zljn4q^%wsfJnb{+%Y8K z@ScZ3{djZ(Un8_seKX6ZRtBym>Jz*GHH2uPy3V_@gHwqHE0M9aVY|>RWUeN)V2?A@ zQuisBL5wug^+kVbsCdNJ8=qsQLla6$+%s>FB5*wzq~B^VRg{PUggPV zOLs-gw}P>2hDA)JKT$Fhl+*Jo3S2#=-oSs%TIC%8(LyX=Fdi9tS)jc*$D6GB(vi1V z@KybfS9R|PMoE3vhOLi^W>xiK>#Hgt%xJ+P0kCc_NNfVAAyD?~uW(j-7}X$AGOM$n zjG|n^?%{R5V!Oh((OoB!_!5x?MjUE@13+}9Ri!XpHm*dZ=}3LeFOCyS25m(#rMW)y z#FdSvSkjLv-|OcdJ!1mrC>`a-*hkuAFo&5p?Vi(F!Q;{pZ+~bu?uUA*bIju0SYypp zLNM{qt5(T)=e6NLLhOnZi#!8E?D|>81)s>D7~+~jhGyzEf@sDrK{)er!++7LuVQ}A zkOnh5+wRa`C3faTMgcbNz>=QOz`?v)7eu*J9)_W)^yj3$*Cu&NG1+ zc-N;!-8)*fl-7DO`m-`JU^1e+ctS~;VP2hRz-^->kr;HvJ@lYNQ2%$@rjs(`=G+6Gg_x|kMgzx1@9KG+B@ zQvp{vu6|J@Fs}COEb*kRrOfY8cB*mx`P6gj%b@dfaVSF$ex3aME&GA|lm}h}temPrYEXp94ocQ1jwguhiZB6347dgMU-wsm zzY6?S;D59NNdFoCgO&{4rPlxMkM!0h=+dTfw&;}@lPRp-PL$bJ-t3Jy zwG~%?;g4^;UuNc)jd#DE3+XOA&{_Zf0qlCo*9n`D=O{yk!i4O*Kz(|j0Ko0;Dp3Il z@$nOEhr|vt*X$SiT8(sDfCto?<_AXIgihqNVxsEm@bIx+MF!Fm)h%ow6QqYcu`32fq{e(?aKg0MOkBDSmmVOE6m10 z#f1-Q75MK*H~h74CnlI==1#8ekw8Jn9*i|>$P>;PA9hlQn68#22w1iy>st)(oPrFQ zP<$69Px0g^B-STQ3|(gq;W5SRv(46C?;tLM9yn4y{_a?2`|^vWcK z)}sTX_AKL=z(7hL)kGgIsBxc(ydk zhuv#5eLJs1N4HUmSa`hiFqlNg`^fLL=Ls8CtC>!ih%vM^CQE714+wp=uJ1f&2j*0> z8l}1V7D)83>*pTUF0V_B_9(Ga@mA@L zhMAC9jR#IRXH!m-384~dX_g0#6;(d6YSP}4rK7w@$BZr$P+T@n2si=~j=va6rao=3 zFI?@0PK*lQr%KwjD+>OLzKi-S#_Q0XY!w=Z3^Fy-gKWhb72D@BuT1WXv?H2f$_+Wp zw8qyEvn|Ow2!HQssz2Aa0?x#_>PYPh5DFwBUfK&t?!tN=L_e%uyo>F{x#cj+LrY0^(wh+a z^Ei|lI;Lpd(oQ5>eAN+22R=>Dbg19JBD2p3!6B<|)1KXb0d#+Go?01Jh+jB)#RQ+(p8Q+Wzxi8)M=tTWj9sL?^g&!Y%Fy5 z%JRuQJ$`O3VFIAv(VwxG3#j}mKxJKGB!|~}ZirMSJjl@H^^JuUM}+IgbzaC;3*l@sQW0yJtgfZGDgf<(pp4LMmJU&Vy?6KtczI}p z%l=7RhOPs1QzXTw@cSc60e}m94k>uHI$xHeh4(YIZ@@^gIRHmc^uQvpEDutMq1oYW zhf@SdR4#4(Bw}kZX5%>78kjT33e$6}&ob)IffL^6lKx(68|*CF-X`ZNWm1Z=Von&0xc&)FRsTxZXH~XUci}US zNmk%h((~xR`}T_BZo1d2#fqmTrG>y#bPjDY=$L-Pfxm{~C7Mzz`7z;r#rn58^H8yn zfjR-5hQ0)Iv~u#+g{gc-&$8V|2&GR3e+I(EXB3#@wnu9$)F~Uf;V#5ZG!N|&H6PUH z`zTTA9(GUG{DJdcZb8rrbB1%y``o4Xz58tI-7dOV_OCp|pun1Grk0QRAMG`TPTO_HluK3P=k(jEyjkNqyIU-=VhF>K6e9 zG+TlWYdv~P$kQ^kJDR$WQ39#>qPoz6mQ@Vj!>rn>0U9cUxQ$)L=uNwvqWxAPKe69h z26_77)}GI5!~8bbz`gc}!$0j^Ilrc{nAB<&ac-w=O}Xa55?H~gy*JqsZo&V3TI0X% zkl7&-{@v>?7A&d}K;`d_()IS+VD?o+QEH;ocjpZfpzu}=d)N%}ArLN|#4#I5iG0^3 zASJQzov0}-0*R#Y$HJOkV`ncNN*W-JM6t=e_GzGUFYxO313T|68BRI&rUbaYLVh%| zw+jOWtpU+X!&dXrn8xS^CmU;-ZzNUP4)a{{gL9+uw{UYYiD_ddw9cWb_Vfedy=*LS zsEgnf)0=Qw<@xV?xY|cGiBB~ghUd?777SjmAz%R|%?4gFx2W7|UpqFH{t_}{fa?DC zy$R_$S*ge2^^)_ty5%u1uq3cC1hlm@>}1p`*q}D=ds!BdM+LCzRT#bjKXs8;AmCSj z{{t}~;E0s?ivz7j?@s=#>3c{cb7&gTysNZJJbP5I;2-^USkJmfCY`F4-Nbl!UcO)! zNRgg(PSGzoM~wB)kj$>Gf17|Z;+d`VdNtRskL#;kTAekx$cBu7o#Oh)1pr+ySI^%V z@jA3+choLUe~0Nu5>muYTdh|R+=yUwJsgn};wT@4*73MqpcoM>E?6aA*f)B=k&}&Y ziW?EnNrETCI$!&C_6_?7WW$);iFx zz%avvO81)=Fx*q$bwjqd?r)ahvI3`PZ(V{$k=iAD0)`+U)Vnp4y5fC$;9QcY7SoGp z-K%8`W#P!)=f(%Q%Bd#&pnL)u1OLdV7%0|P2n z@>4RKQDrixl}WCu!-{_L808c1QU6ZHb)%<$IZ$IIS;p;{+P`{><)TOn0%+@K(CJ-noCRxdZ9KU<3BpnP!`ea8P|ga|IU!NJGluNhKH!t$eYvjIjzvtr!`@ zlIOpR5X}9w%g2sA{=7^NfhvhxX3KRQ2t0 zBH6;!b*#{RxESFQ@*Oqb5;^OXJaqqAV=#XaYclW{7YM5ph{Z6E z{W&M(JoXw&eY1pOtHgCaqf33r5ev?R1-l1WWh}nSt7#9fZ6A;UT zVB}*Zp?reWSM|PNsf@QR%VT1+b%$<5G8e__b%?8vae=Vz50Vh5vdiT@HMypRu7Q2i zn0qvqk%9TGXaG!cCs)~bZr<}TE)Z59FkW~I$Zx*K?Is)+1(d(Gig(;sm(_Z+o^D69 zUvt^e0IB*I7YM5#h(#uddQ#jR5v69|I{rG%%6c5VB)jK)`7tgK))!#Bqyn6#4|kT{2UEuhEi}AH(^S}Z8<2l0olFTu72j8)^B5Nh zYY2$-*h!0zae=UgfmpSPbL3}JtJB5bu#+`d3xqWS z#Jc`6UY4r*3u2kqX2-?inO>&vnKMAhPTWmSObwD9S?n<`5Y|^9mgZX27VH~!<~5vO z5$P49PH4fI|BJo1jH;vQ)=LCo~q~xysP!EH(*QqpW^x**5Bh_ z2L3Yemw~?w{AJ)T1OGQNfc%gB|2RnhK!U=?DO?)ig^eY;FT-}8mqqjuSWo$ z284a=B-8BDgtu7vMh@vZXaE>t3q zul{9KL#R;Ca#h(!Za5?5u3DLGCz%D0mcwGDUBB)&=MZiqc~-YE6E$W=afj^>+O6HCc_LQ=6}4vpB8g%2)5uI1V{|w8KS)Rd zKL2DMT{0}}yh_su^^_>e>f60oB0P zI}eHeMAma}+tx1;O7T<1M#PTI&Dx_K&)fiZ6*StoAys~&PUI)czY-^rY0)a9TGCF@ z@#@Fdr)hd1H2|+Yu^=7H5AS;z9M!r3%MTyKbHoNL9W#S2J|038rVeScg>6WaGyJK- z+Jw9CJ%kWKG6}d4rw$j{kAwUwY+#BUn89D}I zYLox-*4qS<7bbfZ(Wzfgz-MHlL-%nHrnGjx5icirtBvh zZ{i(sbPvY9YaCv6&=M4-jb=~8Jz3B!u(JeG3Yz>h%#lhxX~z4SVP7Qm29AU1r@UC; zc#dJGNM)ptKJ>;GkP;iT?l4|KgERl!X(p)jqA`Pj=npLgS(^}IFoF@y<3>s$bBwUk zs}UiMVWy#7>!^Go5yrj3q7e{eB0p&KT0ekkL@={G^M~Yoc33kc5btVWVy?bD^=(r4 z2-BU55{0Hiq;@#$gvaa`45IY?a%2m$5k(H;inYU3*XBwcr8ILcX!287S!4>YTt4IQ z1FPO0-PTxzA>2*oSXhMtQ)!0+j+Uk_3{ooV$?H^-A2-lR1((_|RdN2ArrP)`#@cLL zC`9<6ms{W+s{P$}yeslk-!+nX(`YbDa=##-5@_=C%o3ym0PM*@ZIGL`RDo~P4Zwtx zoSvMnA_Ekr7lEWbDTVl~eV@i{#hXnY(@~s5wQGroCR=w$5nYx0^%_}=J;0*8r z^m0D{zuA2dHmKhbOkB{`mYQK5tYIGuaEGW+a%_=xZs@+mF=91Uri`&xI!P16>HX2K zH#>Cicnc@fYZ97$U%NZ77vNCvjG|32>{9Jo>m@6cg7HBi4 z4ISZqFpx_lylQNDY*xs05uYg|T?Lidk4I2|e0#dLCbUVwA2@ep%kKxax#+9mnVlcM zh6O5Eg=P%JPV;TwuePnk45!_x#%yZmIq9XnTU>JDXg}YLg3`^(81UM{wy=$cH`@9op5_4iA7J+aeV)4Tb8d}_>Z5H#dx5>1(7T+Ecw(ozP1 zzo1bJZQKc9f`JpyP)5PI+Dqks=H#I@QBfpa6UCPIt0?my?yrgxQO_*xoETYk@=V}O z)d-^|hFP+zPvq9Bv}e(7zX26VcOoh7qZ@A>#?R<9E2I&o}y-ZaunLqMO-{t23rC8aU7InX$= zHWmxlIM(Z9#{Ccj*5MBj_tQJpR{_Zl6ya?wBPHc!h#%uG!2(jY$scn(h#COn2r^e1 z0@hMh!LvbX^`A})KtRuR zt`3|I11Op1f%1LGBlnvSzc;rHvY;E>_Tt#)@0@uJM>1!(&Mc@ zN%|uB8A}cie&Hw!Zj;@tu_@Zu{lla4L6M(lYi~+y;q7TKGIR+#W~oL3Un1FldAr-} z7lvpSt5A`1LjCCrh*D64@=7Xxlogz_f^C5wLmGYzzO+ltmRf4Vl377Bf@N2X6_}!L zX2YA3Id@5I-tscHb)7$Uw%nL2O1A4ZNZ?Mr4_nsN z2CLMOE$lVjNqn`+m47p~Ml%Btq7epOR499V1I}oK->P}Srd%XVrzn{ge)?!t+X3=c zL5Q-1_> zlh5;4%43Dqx0)kvHTJ#{Iv9McF+E~-+dlZ}AX!UAF%xk}LS|3kdOJu26*y8;=x~a_|IhrUMfUooDqB~5$N=0rsc2;jBr5k zjD@g>jFhF}oOd|CiLJBRbB$Xr;?lpz@XI{lw<|Wpiobj>6 zx`tB*_9@h#J@?)Pdm3`!tN(B>n?v%tsmXVk6LFLc5;g=5y{z7Y-gLyli;~6Los|eQ zv74@DsYzI?y&N!jy|q9TNi#*EljNLdc&NuUGe^N7SE3j7`G@39I%;5;2MR8c5rNn* zg8t=n_E-h-0#40duYLe9wrZP0=+M+VFMr>dPuv6RAzh9&E~s8QcRM^m@5?Jv{XzT^ z+`XgT5b_In|J;4sYxj66#)f1vfVkco7{EW{H#oxS-3sBH0?PVz!zF=sBMKE!4Ntz! zPfGWKtQ6y|k&ynT_jOf2kuY^ND%<_{7v~755iMm9)SZDGHx$!>_8)uPdkJvz*p;^! z%PiT%YZEIsjkkUIo@XO8p~e;}fBDyYOS_TJ_JKc1+zg?1u)xaU9eGTx(qiArmG3rzK!)fzj4udd2gtp+q(0hs5!8(eGe zyEod{qjw?{Liyl@Tq<`V5_X_UzR=imK9?bE`Y=|e-2eS>79rm`_Ok>Mi2EwvgQ1Lv z{h_UorQ*X_G!A@T;xxIUpu@AcxLU`I z@0{KlxIMtD6&6fJP6O(6Q?!HX91CC?A4KW13+Q)Cb=~Q1CtDvr?Rt|8e7EIpPj-U4 zFpN0x;8pW*!nu7WeW@+)@~29AauV4aGDD%(q<8aitl!p8zt`((pnxIQQlYN}*m_S$ zYbBfbB-MVqr(Os%5%kDwqA&;7?ECTLMoD;A#S{_t(?hc zB0_=_37BJJ08&zpDx1W$D@4bjuYz^dFXM3|NMS}bjTuQ8!8GW8>W!g^V-~_g#AH70 zyO)SFtyY~_WqVY@&9;dR6q!pF+*df3TF%`UK5$c=AcucevDw{)N(KaMVgzqE z$JQNi0T}pGCx~~RS(hj8DZAPkLmF$B>%8&z*RXvveRRYb;>Tbk%}g?htmr@SPAl7i z7;Yw_f@DH8T3{Tl)Y~LFs0m5>aq;9A%~bi@yuWu!`SvrAjx$U6E8wmAToOLguRXqF zw(}HPNkh_vl`!B78fOd#4Gp0FS91qE4frfpR7zxYo3{CG&o^nQyF>5GCXKnr)z9<` z4BbYri`TEqvpKJK{-32HF$iohk<=0#s%Q7D;0@j|hqyEcTRS2OI4Pf7A`1N=mPzMc-F= zK5ujcDq4P=-+Y~sV0)5!KPbl6r;#ii^;Oe=jX+Gxlpj`i4O>C9i%MrocTnDwQ}mz& zD?(*FvvW<`h^R<^rZOTZhY?g}dL-0%+g!!$OUdAE4xpc@Yh{nvqkD>W;!ScJ!UpEU zfy&H(`p_mIgaF9Mf633!rwCsQUG~PyZ0(Aq+g!PV6k&RO51#Yy@wc;5+rOpZ@2 zAT_ZPwm))_Z!zfOC>fGr>5z@BK1Cx@em|xvyD%Y_2>!b`d?9^3tAxNBOhxQqVFWg} zYm2+t@svh`THSo`U#@-DZPco&4rd0~+SwpV-vfCi#sc?L0@wK}E4Mdgk3c442F}P9 zp+Q}U@vd(QU;cR>u&N+t`i97e|8-k3?Pbi(i%Aqc^c7Z4O9}m1s9~!)VgYa=%&({y zS#Qk;zuekTo*)-7NNOkGRZ08ZnNc;)sa~IeU4}-ko9lZhY7cBpFZp;D5>rNfD0eE* z;Y=g1J|JYk(MfTp&KLd|iG2?BW~6QMbdmyRer>d8vBp01`be#$9N=y<4qcW1VUaR; z#!Wbj8a$2C_=C3F1|KvY_m|)-UsSN*S%j1mBp2!E&ZZLIsZOLCk@q)>!KX0dV zO>Y&KIMhq-6=~9}*_M14=~a944T)Gj$OR58ZH8z7=^Cfez(kgwKaL!5)`{544CUzL!`z80<}O zb}XmJ0#p}y0w48B?t3yh0I{`A+X$R%Z)n1$J{91Fae|BNl`-0^XmIH}NAEoFp<5L)wH zg*E{k8KR*@9IexCn?cRhoSRy~9z=V%C*1x`wPc+Kog+6Qwx&7sw9Auv!_n|?68~@? zH+`}$9F2vzziJl^u4z@>9lxX_6a(N(WSQ+6*x!2xR6L6b%xukWJ|EVj-+C5g-cws7 z+WdXS*~hns$lxQJ6gf6R=Q9Ew--@y~ZhV-rOahj^_>^j)wY0bRtE72umad>4_9pl; zCB)}%*vR}+Na+eZQ*01E^cGth+g{ABu018b$sq1MD+$8VzG%yUtw!+(u?rz+I}&mP z#ArV;`uq3d@{6cDeGeyJ=qk#aHLhg`FX4UwEZ_g8biXw8dQ80Yb%uDp^Z3^kbuAM# z2GcAO;`sB37AgLbOrSD@W*w-fq5nv_7$~Cw0AC{Q=X-yslkKO9noebE4z9=Q=0}i{ z=HvPC2U@{7VW=7^E!Eyk*U{STUh~paVY2DZ4wPEKIElW$Uotzr=R{&&m9K%rmimDq zTqN^>yzVBbKJr=+S9f%|64~Oo;lE}_we&vf!=Hpnn-ijw_4jiT#Gg@(;&}^Q3^Av> zSw7$A0zMbC!HqW?k>wlm#JkXujoRH6b2X#5ghA7}l~CF^ZALR}>q+Yv_3n|q%X-YR zlRm-#PlmXHmvLj`W&m2#jlpnGi*++13VWA~_2T0G@Tiok*hVh>7HzU1{2Ec3VE!n+ zcpb#O!E%X4;BX&hotCZS2mBUHhGE%_KN}+e_GD%|bMTNhSbM}OcYxMbFHC4;hbt=R zTa5qh1^izRP#^6!Z~)PNaq&Pj5D7h=QTzkv{(*n}fkhv}{P+FIf8dQjFz4g=!Bc$U zf8e=4FwH~%;osqV|AB}8!1#~j5l`XU{ej#6z$lO76;Jwxf8d%wFvLSk_wVOX`2!dH zfzSTHuO9lM|Gxk2A9(u@%>6ii^7MRBf8fPGF#Y5B%9Fm|A9(a%xLk}QOooIz;c6?K zIaOS4lcsCzOddWxfuMTAk?R$#iC2eWM))GEfMrP`>)INEq|NNDQOxM~g_;rVj+7!^ zXt(HOOc@q2giA#%!Y}nSHGMTSO2noN-#Z40TV)EiQUT=>Y9c;MF<7w9zuW^(&;&B( zQ4np6gq6Z$LyWwpKIePS$l!?Szvm_ino!m<9c?JQNo9^pJfKI98?DF-1Sm^`11S=JyDv0#Uy3Ibp?t%*gVaS zQPV-*(Mz5-QVlZr)J?ioz-~&d*wp*x3Xfd}o|^gXaSKd)Sx=@qgk$GeB0DmrbKOq1 zl>Ddl4>EIXNV-RNSKIZfsE6ojVC8Pgz4-T%#+ycNy#Ae3L@d@P2sEQcig2vE+Qxbe z-#b~hO6V6MM#jGCDJDR;p7Mnb>WeSX4F#{?y!U13)2Gw$FJZ69hGPy;SnU=-n2#+I zbtTLc&7${Pc&DIA)(R+Z{6*sggXTq27m}hk%+8IBmU{6`Nstm>Y5=W+_|?>q#6I&j zRzBHH=Y({Av22JgjID|A7<4WHt+hEn)5kP{-RtPjlZY+?MLBZLN1~g*o-q-mgxvr6(r|$V9IVC!*jtN zUjY{C#5Q7aQ4G<>aLM#Gn(ktLNd1@F&mbH{E49Kl2VZGJJ=hgMJ!_xkD4kFU|I@`2)8OhJ5^#AiXS_ z(M~U0t513>dR(_P8e0SbqulME2>mxUyE;01i|A`la!-dKrelZQGK;qqa zy|i9iyR;`7@OG3&G@Z(0SQ@j^*j7?q_~&H1(V;+?2pvtebd#cyBTIv-DwQeN+nL+- zRQVPr)&g`i>MbV7?hso?(`L0|L0K)s^Y;sHUj*DNOuk)!j3?!w2UJiS^G7O`jYX)_ zt5QZ@8Xp)!#}W---!6vQwjXzdsL2%^ZP@9^q;yj-rtBiptF8`Zo1?gMB}StfXSEzN(~>9`Qxc>xJ5(#7qRgzOE~;=R3$vZZa-VjKmH;Z;)3`DfzkP*t3aKjt+?|T1 ze1`Yy!qX*bP7)zh11t2+z6?Y3aY_g}WAv8w{aH=O5PuSz15jY*>+RbLP$tmBG+CLX zUy%XV4bqU+@3`29;S(KMK1iva*(vq`_cjDn1PD5Ozv~}Wa^d8kuod-cL*kl4m8ey= zUAy^sx03eyB4K+ZaEaoxIubycsL_y4-;dgpx4M4gbP@NRFa*XuEU84tc0;BMa|!Ax z)N*b*x&bW;T#)eUEZx$Zyb|3}Kt;O;yvi}zL5D!c__&zo#R0`DCl6~4!1p*Wv(H*7 zVm7$AT&cN9h7hF4T$u~nwq(Ly3QX8sGUSi4jBGgD48?XGcN6}d4< z4nU<3m`xVyDytb_c&53Fty$l*${eQtIYMQnQQA@d$yU~@b2o>mDOTxPFL&BVnh;o? z7op9v5?c^dh+`-gi`Zl&7l~af+KkS|%qOr_DweHP#Y8`ckiJ?{NTI!sDoO@ah921D z*$N2=OEpmL@{M~7iB1zoCc(@jzu|@^40P~ym~mD`ez9}eyo}3lCFay*UvFWS_G>F} z^01Wj)dDP-03bA)R1&6cs=xmA;*i(Czy&uWG|lb43aR9lg1SZlpfd4$?G>7bkw_Q3 zUZVu-axpB9D4)5-%LGhE;q(gJk`LdHG}p+`o=fq~QcVi~ywZ6u%ind>QTT$4xCe^R zMoNEv*Vr6O%A*e{EQVhcVue{N>urpsIZ69E&P`=+i3?ce+cFkW>4#+oI&4U3u>;z`zWxy9r!cl{3d)ZxyiJjRfvC?d&hYc*$`=M&xCw?d%jXb7mjgP)etPN%!E zeQ~Fy@|k?VbH*F;7%UWn5(VzZ!}gqf4Ny9i=CVeNn{Z5=n~?Dci*j8GsZ=S;%Jces zVX8#erB|^AJn*uP?&`-i`d9TmGOlZ7a22KZ7B_{CFzOy+;)=SK>&V{Q=H_gY!S@lCFtYzF1xbhih2kD?f z7^nRjrWJ`bs?x!$4Fvs&4**PlFR1Bk-BnUXbhVk&GK}k7`R*jZZFS$(c$S@HYIPc` zfWi9EaO;sFSe0#f2Np9Q2hIFiK63W>CWFyOBKDw4`$RLOS@K+pGO2f%A7|>Rv&#*( zy&Aw39P6Wf%>eR#nI;JPTj7ODnI2pgC1OP#TgArJX&j@H8komX^Nd**th+Qib`fu? zZosPSGHPG&RN}v)B;}+y6k9*_^Z6k>VFHyO5;vGcLa&8$Ta}ybS$BQLt?tzUZu4=c zN%Ul&29kv)?z`q98+0#pKEC9~yLW+c^^^r9n+R6>IM#O7=LRN^tKJa!8}mGk)Z z%VUkW(9AI`JBw$gt3LTu1)2LElr>>By1LgWuy;I%@@+@#3wdw6hW58o1U?}$M9_u} z#7n5my&hwZl#GM!fyA!Z*==N}8K8;S>6t1lx6bT`i5RM{XNh_94N#Rep1*Pt2BK76B>f9UUiqs?_du(ZvR!r39aAr+YlBO&9bSaP-E(71(hDSRIa1opKm81> zH@+)poj#ys{W*dlC+%PmRTWrk%4u)o^UZ=0tg4;m`wI&yiY!Uf=G1I-A;SG(ySI!Z zFet90$8 zi2tz4aS)jJCE)qdiHSJfyDx4XD6hb(){lk@K9}mOpK%-Ra$oFsYi7iSG6Wspgm@kF z@Zpu`IS|fWOoiHAf#)Gn;$|bVBVe;+N7TOH^&lxr{BZlhK>dyMqFpu9EgQ$-XHVVv zG?$)kdHMVojb8xg@|KmQmsM6h%pFb6cy&-L*i5*%|(DX|`FiDd}!dCHJ%WzzU z6#OR2m8Ifqr?R{1KL=5_Eva}8G1dA5at>-S2ZJxc1yFUd%$C}-HrXw5e|;O8Qn4ec zfJb>(uc%~wlG0CjSU2FaPQ%4vQ)lv)1EbL)*p2`_fh5uDMUhx)D`nRd&jv>`9kG?g z5?SbGo76b5Yctq=&dqotLeT15jMu`+r!7D=+MP8KSj>4q$VChKS8S5F=S$-SE^o=D zAgUOo*$ho>y6`5jU6EC? zT&@*xvgySful38R+`KKZ2P_)^)$~1$F3;O^EsDBkaQMtqf{WMK6VOVb4Es)wt{h2MlFYtP*b*x*y@{-^Ro5EiY3t4^llKl;Dc6GcaZPIWx zIQMK{I(h6$S#%N21Q_72{Qrspv0Db0UvNXJ5&9&D-{Z%YJrD8(wS`VEF zCE6?x6Q{7O=Rw7Z(dhE(bOMb&R-F~k&-!jFSM}dYa>u|NEfEY(q-_;gdQ^?HN*F1b zg9zB^!@;*>_6TewoJvhhQ~#-S zL}Kcbwp!aduxJeqzoWInREx8CL$d~TA|!>Ls}}DM(H_#5G$ z(E-J}KV^5g=k)=tL;lBCc18}-EFPLI{L{#^;Da@m`wm5f?r>UppV|u6&uHoDn_^fXMB>=l_2gZPD2M%eksHJ ztkOfYrSKx&RCLg&m8KR)Xt z@Op9dYK|bVq$-YY_~rh2OkL9+WwI7fC*FezG!=&ZI2Cr}13U`=n2q&n=Gmcgg?buH z*|Pr%@bJLr2>jJf@b0P%1-U&F91e2W3Yns0YrA6B&Ro^lpH?sv-&LxF>yi<&aEZmD zV`YXk9lZlbk;HbP+@_{lDNeQ7_8V6j9=YNGoA;d z{tT8zkWI|-u=W0UA0_tkli4?;iUhb|cujUGJ{)!ckg^^;Ze{L}+k0Moe7~Rzh&;sB z0eG<^_$ZTi)n<3$&&@!zhT~&;*-Z#ibHa-!d0MpUxx`Kk1*E(MQ8M@F5^+RLgxe_l zvBySZjRn0R5x?-IR%i6pWTMEm#~63_iV#qFWJ?A_tJlMb9#AO#5JA6~KO!s&uH7g` zyG$AV;(p3HzV)Q1SMkgYIn|po-E75kbO`dkJDbV#JxF`c!c#!ltI^m~+5VzquLbwz zg?MW;`0$GXwL>Fl0!@r7L}ZG~Hz!|G1LOIpuxhYn4$8PdTM&V23Y-pn_N#jA=gC`4 zM6Xc$Q%D4D90Z2W)@u{9ie8&)VF6RCyL-Hjr15OPCh|7wLS*-F5zF6AsUa_TY54=h zbxs;SOfX(XW(?YhjVlIEJz>)F&2qEse2^e@;1t}(*Xr;N(7O@!4*pWo-*At++j_3A z@FORNs~!V26d=2VS6W&(PxIfe8TGU}WoFi6ZHi(sO21^pOir8GCaaD5DgxaCjvOR8_dcyWNf-x+jSf zOEdUrrBF{H6TA|pq}#LJaC_soMCU}jFzX;}Cy#An?T~vM=1dCV+zvM5758i3cmB2N zL<#`cMlS6gR5%{u0JdT!E6m4hUaCxV6^k6BtRq;OjC^F31mx_xn7HZpHKYSLM}Cyq zr577zHBn!2x7hZ25z5uUq{PFAH+83i8vHnx=5vByPe#m61vGQs2_S1XO@@?>n(u|$ z@Z{3FLZl5s$_J{WB%sG|TQV|*dJKBo4&;sp0j`#yZh!dTpF$&Aqr-${;yMo8AVdw( zA>O%;)=m2jN!V43RBjgU+U>$?yQ-o0u(FDRF6{F3Ku52&1-qnon{6K;6TL)&ej`N(Oh(%RFiXWl)g*2lui3r_N6x?o-Gnv+C zGLE%iKq4L2y2$g1`h1{CB_&NH@LB-&~%lK z_kI;g+)**6o4)ufD!(nVPz-Jo8hw=^;=)ZThF!7|ii0OgG<#C5xxKqneV}XcW)lI5}tZhLM!2*lFX~ zTh=)N3}wF>inxdA!ydVK~0>}9|Nm5=LpVc22*Pkun1jxTATvd#9; zdjJaaV^gQ^dfW!xKb5?+>C@f1g=_z6`>CxY+Sz_6MfA+B>uR#gVr4$}bD*w5898T6%1JXUH zZ0EiDEGi8*O!{W=o9V(!gs9JEMfd|Y^}00TFz&PPW%~au_W{O-lt60!k=GkYgA~`; zO`kb7DyxwBPnrh_6+0|E9{OwlB}a^Rxwg z3G564*dAB?op|Wk0VRlIn}Q1oLca(Q)Y3|oUkD&+@Bzj-rrwWDgdk{qMI*4Xz;SsKs*XO|G6E57 zHPSu)nzPo_c}_1u7Dy?mxhkOy@+hMgH<$>?+i+2A`?(Wfp%tW;RRY$5`R&^#sVh(s z+b1K!>u!8Jl>$$3x#4(z^j)>WFFEucQzu;4nJNNxeTXrW=T~@QQU$oVw_ecwzBm3z z4wHEJy9b@hmbx@Cpyo*(=!}GSWGshs7Pjci&*oL#*620jMQg@u+0LV>@`|Ht}N= zPR+Zac(bWP*fizc5p4jq=4tgwuWihIAGW9r!lj?JQ!2)J8=cCWCIL6k8!~k(=~EO4 zav}p|>G+D-V0eVxh}hycdUDjck;AFY%eCK&bTHqH85e5Vf>v-+;){!4c&#o@ZAzHi zOnx3T(#|a){bS&Qqxby0=#y};1+&1-uNnC!g8A>}UNdH9@)%w!r4*E+Ycg%+Z^myN ze|N4hT`P`pXRYhM*+-k)d`i#q(CjWNny3Wir{?M(CEy)@x@7|6Of?^dBlYqKAJ#hTp@l=^q%lDAm8OGd`5wf8#fQ;LAU--sAYeQ~00%z*LXp z2~XE!{=mn7VD*O%)4$_y`2!O_&hI~k_xcaK`!8&aDUodKR}H|hOu4UY7?2bMNbqMxQ|FQqqTWqDdg|p_D^s!i_qgIOW3LNBf zJePGCfF7%w#fbtGrH^?Bjp78Vxpq=ySpkxxY`~lK=zzzEl)6QY36f%+PyEb_ew(@h z+w9aZ!L}|v`307mEQ~^i#N?4)1CTZV00G7xO<&I}lg}$kTh5DL#e7nmmEQlIzEj=8 z32mSO0+5srz}ihStiqo?PN=9tX=SYGp?snj)WiWJ4cW&rMdXs9UXbB_nKKZopmEip z0i*r>+otByd;8K=4_iFYJAGsq@LEk;7;j?o&R(D1i(j{K`iAXUV(St&CKT)PIfO0J z9bi_%t_df156-Q{Tg%Sr9o5@+;7fqVQGlmFj5ndfmGdIb45sHhvrv8#4zDWeJ>&FQ zvGj!|`Bn~lxROl)qIdJLGZvt*IFYRPLS;#8t;Vq<%HHJDSy&`C*jJGm9O!y`^8mmM z3`!|@>*p<+P#VL~WAo6?S6j}4GyS06@J}ja5Md_e0V2fLQbc>;=J&5vX@v}4csLu~ zExjUV+WO*C>%A_uWDbgS>~XMfi_N!CP74-2?~Ij3yHDnJD4ST0#e*Vb{Nqt|oUVm6 zps_};qBY&6R7x{4Fzd+FpEYvBse|Ms>M51LSWQ15`h>2KiF0ok?z9db+nn}y&NsZ1 zuNMAJI>6q)MwobU3>v?PR%=-@626*+Q@_DUyWf_Orc? zF#<4(&F!*~=QS}l^SpTHaW$ts+M)DBZ`$uT0cP3Pu)T%)FSgW|tqa)mwT-svy1R4i z(wLb}U{w3;i>)?hK)HANQ9o`{0-!jqn0*4CN#o^L=cP{3J@c)tAO^wc{-pISh$ z^!vzSlOH;~kcWP`(Vk)`9r)=_gDsC?0L*H!%@#a)(uGRR8h-I}Z>xxi0bBOL0Mo!kD*)v>Hz*1TH9N_-!4uh6IrBsRzYBTp-IL(;&g4Tkkb)i5Cl#y&7`{*X>i{*^u zt_u>z#P9PXnJxzerQG7<{Yvvud~sz*+7tlc?swVdg-2wt8@}kSLZ*mlKG*Gn2}9(- zoTT|^dYK&;IHQM-;K_EAg)R{(bM$(`xVfos%m#Z&&>!UO^Sh_%fg;s^%t**_+40zo z9nQbj!cjd?L%rCQuJNphd+FI&mQjK}x!M8TUJ-JPm>qH{;b^hJm|}BVffsCde4z)u zPK?J^#vFg86J8c-Qs5*-_&Yaur4Wm6t8qehBqDt^v0wyXrj#uh6zR%i12LB(@mp&ygj^@>t(C8`qi3Q^;L_R=NRJm&c=Ky2gdu{pc5;}F3dGef~hcBpZ zF#O{if~So2_xCRYe;N48z+VRbGVqsy|L+;Vc9=zoag}wJ)Y_O1EW3K z^H0}-dv^U>zwQqV^=RKe>8t&Li~hhDe_+W+d;jVF^grf8en{Fv&x&?BD5i{sVXafiWLCRR7jD`xi#edzOHm%4Ut59b!qfxmP=CnUG+l z)YIxKEGlg?Gt`k)Dq^-O=tR`SktCo?^(#eiG%`$F!E&qbQ>v-C$tNRg5- zB>!oP9=_5^1(^55&g6s2)liAfas9+#$a!mNvmWfE6MG2W`L+|{iIendYDC6MF|snJ zhiH>Hq|$T;D&wfO@|B@HB|#=qBDh~R6_J?|g&R$AWVBrUb=1(L;;|63Q|ztwbBm2@ zs$9QrzSmcU++*F+7eANx10a96M)i6Vt8l}ra$1gbOf^;0PX z3n$m<@!ijA;`4`Hk)flM9W6Si5URy>M4D{5Rx)Sb#f-4ASNbi(VQeGMo{}m+?|U<5 zNjz-4ggmkz=QnPVgQ4L#@4~2)vbvTDvBJ*``0Szm6Vq&+0n^Z<+Qd_iaFW;OW!0z2 z;0))j=W}Mf_d;)Y8kVW%N7;W)Yflf2aU|C7-%5nTE2OAAf8DO36@+Xl{w1nl78wlr z>zit5n48anW*0_+xiKoFaU=G%{4p{(HLKLfNtTGyS%TS|$s6=P$mw#IV)tFJ;(8By zF0-upMh$dxTHF{ZHF9hR&iguBOaUaTkO=TQ&%N0NwsY*$FcIF=Tyo3;kjG3a!l?_S zRlJUO>`c~DZ`6t1i5&Ef%CtW3)suVPWu@F=li`DRLVUs|alheORrYXgM@DgIeU}jr z_pQ~8AFd%@4R@2r=o1`it=B5o!YrGqKTXdV5n*GmAUnmuFc=EbIqF9Fn&LCaECe*{ zBWXAf{gFw#J}k9X8L^NluN>HZ(@j;$^$v?fFnGNHhmoZZ7wpm|A(x6=FISvJJ?B+y z4H$N_TaY%rjm>r9tLXbutjA<5D{hjtvvFdd>&F047)KS_-e@$utePf(P1VyeST3l`zq3Aru)fJ~W7K^N`DW$1~j9*1@U0uiU75ri=b?S7O zTF5D#@cq4Nkn|@+`(MUls{j=4=$lv!i{j$9uyz2+#HbsW_vRQuye6rQ{#sTiL>~H1 zJGwPkW984jD3|Wb6tXWtj8l1G)fHRYU@E@Hb!3AT;+_>FHT3fUn>3$j3Y(i!J=$2YVGe7G{Y7A`b<4v7_vCQHwt>a^ zv16F}wqPjskcvs6az%+|A`c5Oz9iPfen&Du)Cga%6n$y!P}A1Z9589y?T#Sviiqn( z6H`%!sDjOtc!HtjLwaHEcjbUr%t5O7G9l1y2%X5Lf-HHo%d-ZZlbGN?^Nn;e2TiEJ zP+}&6L#E%;3K9JP^!*AqZKf$a87d%ipYKIFwY$je&og16or>*nF=U0Cqd(u3#(Q5@ ze`{4*Vw8#SafozroFUm%o%!^%g|9q(rBQYRQK5XP*n2$LcDK6LNHFAM6d20eLb)p% z1)i%D?XnUZc>{TiQ&=fdA?}n}_PT#;ZX84_vtV4`Z{T1}B% z32i^(wMZJs{0fHT{Rusky!ob(xS=iljU6s|(w9%I`VeE9+3@z?a%k`ahTh}HKyoJP zY+s}cG!5^zQ_o@5s5^;cW_tq&%=}4alW%VXG2T3kPSn9+Ne$Vcl*I4v>6&j+VSJOm zIWiC{!JmFXu2NB1%!b|k^`&gkV5r1Yeoc`G8PdDqU13|%_xar{G8>;(pxwRRo{1TX z#?>v@0$pZ`ueLCfWZG^Cg*J*`_5{uUH6j+kO0e>ZQ=tS|l+k zD~b)O+45DRm|ct3u{sXne6jt8tQTh(S}HQfqB21c60gP~a{q+nB(HtNPY=OJT7{Mp zfXeL_tDcKSrMJY%km`tcRey*&#+zqwO{^H)sv6ezB0rU-r*|i^2T%8z&RwhkzR&H| zn?r@cnp-)Ot6c^>aJ3t11t>@Y8$wUMn}H;~laE@4?`rwbJ}jCRx8Mz3s{(co0a7aLJH1|MsvCBGI3{1~n>MlV`~-+SRN7al2&19{!-8 z{~4P$X^*Vv^s9zL zG>MS#)qG$wqGm+j`61eI$L*z4%c`Zde0M!4Ar%syRgU;HP;ntqeo2ll&{rQ0(!0gKdv?g-9@2{e83M~r^DDBhahmdYL z9PFd*x^ix=3#oJWXUjO&d#bE%K6_s@L{1xih!@n#PwnBwg|k23Dg=vvw{dwU?niT_ z`AmcWTCTY_R^Qp#0u62<+BacxI1&z)Z_lPSWO`{i^S!`%9(q_mvBJl82UKi-l(Kzn zvN|i!T3bB54D4-ZR}Wulqn@;D`F>6KR+$<8`ov{+{O5@nL@%yPuVN(Ons%4b`ZEr* z^gYZ2Hy&6y9a>~gLWHtI*oEIqY#^4~w!GkrvbLOviaUequ{~MJ&H%Jz1KmIXFS~(> zeGnUs#n;d$mH7nQx~C@-VIu=vjz0sE7BPU=o|K%*s)(D;+;$q?ZMpX6S4_BBcIu7o zLT*~eMbgtsS%d*~i82&HFSqd_(*WfmFM(uB>SZ(qQ;OC7=AgPLpX!(M@(jxtGqh|x z;V`R>#)O~62UK+`TvUboQ@W~gzL*_Fwf49=gGaBGq=yK&hXwF+V0UWMIAW$Om!|7-RaRAsl%oNa#Tk!0_I&nlIay@3>K?UO=UP zrk23*IWX1BRtM^_(8J$%B@4Wd3h z1%Ge4@*-AEA~01V`yrW;4up^vMw6mU#6U@*C6(83`HE0fI12utN{ zU=JKcd+>JrPuu)bA``s?UVM_%f?R;#9{5 zjR_ag4Y8`ty2JuS5SfIVPenLTnb9!TEC*@C3{u+T0&y?fwQfu9 z3<*d7dP<%wqinb=Ofgv9F>?MESqFuhI(EZP9J-jxovS1o(bRgCk&x3bS%#ocVGN@k z5)gQ^W2&0=U9#P^R7m+vcv5E~<|mEAmvni*0Q}~<=qSKv1aZ$Foly77)!FOJCmwu{ z%W(5ex7%Q#GNs^mM?yP#uLCupVh5balq}k14K%OespUw})~&>5$f8m_7oMVX+Lfd# zig(9YEbP$n<|_v+rxq78jKKvU$xF_$3`{p>C9So9tk4>*j^Qo!=F&qPq9pl24)WC)y8XQn9noW@ z*6|(mMgWo4A(kKL?KIq(E@M+2IrGA!#Cq8?Hw3VF+sd>SHRNB*rcoX8)A8n1Z;9OX zSd^*g7!rqXeP``1+7<79cVMp}d9oQdy!fO3Z4tcYNBoQyV%q?;ESFv>i2)zA_Ky+& zaKG*|E$#D$Qaedt5wAk?WUe!&Ug<05>IK4GB)ZYk^)*m2V)Z1k0=tjh7E*{wrR!xe zoaisXa3eO;5a--Xm++$_$mRn?+}aJEYhzz$96MiM6(Qf}R|z3@lRP$+UZhvFAm2|v z@IYvqulv6!e}I{yNb4B~=$ocUIlJ)xtWcwy$gTX%{eQ~$0P-l%W+W4!*zId4uKt^s3x?qwLdZ5VBtY-QerKrDOeLpmddB`Dvf3>Q$>^swf%%U zx@8|h72+RCwHh+hJ)KYw`iJ|8f=|!3E>BX}*i;xsP@iY-zetfySXz9wsmTG0@1%4J zRD6#vSUiWJBct9z2xU&)7B^td3^;@2#>H%O(Z3#NjFS!68>WPl5>euz(8kY$l z5dd#Yq&RgvL%w)hf&}7zPwaK7l*!o1_nvOfsqNeC&LL_}I5obbYjX)5JEczN|Gv%{ zRxbd$@hd!LX~2W;a7tPvwK^sib;kIi9R!KzQ4t{iE2#UB{piEwj3#1fX0Kv+QOMD7 zCpS80nt|WJm_V`>DO+!QhHDRUKf^&q261otcn=io?@EUXSw2m4fITFojrl|ZmorA z03tPx(MC0Zs+44=>t)HSF~j>X*OmRC$u$>{cRr{wUu)%#sZr(9|0Y^1Z`&{|fta#J z9cv$5TTL~TH_Ohh2~4m=a0}lzhyTUiTSwK=bZ?>ucXtU6!Gl|Zy9Fm$a19m+?iMV# z1r2V&-8}>k65L&b1Si;>a{}MIll#uP>-WdpyJjY}R(JDI`_%4ws=BInX)-%@7tFdK ze`?3L;P=MtG1g3@AEPWH^iHnm+S<#jvvK(SrpQ(_7-8?ak0N2oKS*_$FA;tX5M|DS zxQwySTTLBHV?OJxX=M-DgX#|WM57>$@#AA6^oOVEL$tejcRPYKi(%x z3f3(~Us=wZeT#bY)e2mh*UoF1>|NFJ5psRr`M@E-u}zv%)SDUT_a>r^Uh$AqVZCA` zb9?jD62HiLnG#OVdQaH_>gCU@AL`>HW9HPv*8kJQ1t1)2V*;aT_mBpFB(t|6^mjiN zQ{I+JT#heAj!AxwYgeLi2Fd_dAEtx6!}Hz&P->>&3Z)*R#w(2-&nbRLh&N9ZnEHNt zLo)LMB&&5D3r^glhe8eXKadOO7%*P3CXmYCjP1WsDSlV8J?_T6ZB@_2{2GBuHaaW+ zXXrZ$hSTZyM*Dj+K3n0beE4pS8n{1ya0j@YZz6q<6HU>2mETO*y0 z;JWKXA_<82^v)e2YJD;~yC5kMVq+KXAz(`0fv^ z@X%lJ_SO0#o#H&JVm857Ga z>PyL=vEl52N}COet3t{nHzHr^u5dDED(Hsey#t_n@^~QX>%#Rua zl9|D6)#QIZ2vIc)Wz6e-BYyf;w-R!|+4V+owjjf9w1bYB<-M$K4z_*La67E!`yOKq z>Grt|LwFyX*q;kc#*t`Ty_)QL3BMrf*Me4%+F{gQi{gz;Y1zkMTEoDH5>uO$Jl*R%bW}Ro!)`IJCG}E@R}yYd5}RgU1xS4!y~p zD|Y<;x7w9&85`y^p*6-Y!#Pzb63l%=<|gTnuM_dum(4e$F6CE7s_%-|NVw^s|EO77> z=T34#(r10|X1z%=rB$@>p47XHV>S$nT~(6Hf~U#962JWjsidB!s?M5s2C${EEefd@ zR*)tBa(AxtX=Q~cX#WKz89VpZB4ao&3DD4Gv-vDox|_?LE)qgtH#$6g_XgQ0u#_)4V;t^#13iq`$ zBMIi`4XbZoAJcK%mZ;gi<&$kA=l;-to48kCo{WOa^p(8=>ZbR5m8!HWZdX7+(V9zk zNj=^dX5pth7hy!QfJR;TryWR>jF~^7+!m!rAs6mEx*g?$;?$~YKmQ0O#K*U-oSq%o5ya@g((&tXCh_f z9;QyO@>xKmk!c6q#kuUqtbvq6s+^BE1O>MogbscMF}iw)Q7d>8Kb6a0vC_kCnBIga zx<;|tqe7ibNA}zf12pe0o%uG&m3tu5P3la@cGweMo{uO|I5%Gu&XjoY+3p+XJlW&~ zG};KDBE~ja`A7^^CB?WuMF_XLFlaEf!{#)km8!S&$(Q7OV_$8{`Mo7f;S**Tl9(g(pHzC37CBSU5(64-W9DbR zoPH;el$H{Zi&|F0vDADq2u~b~7#A+MYh$`9YP(68f|v!lo@5u*?ct{ai}#X|LOgm$ zbd&4)qk$1~rIb1<$x*7WKfJ^HzE6r6`hBg@>$Ee9PPm5tiX^0f#%9wHR%0uB34#>E ziEg3eLHrWu+uE zTtd)CYL?gLbAq}eh6+rJp74~<85{epAYW?_*N-2m?4C!op4i}I7M|uP-4~fKsoI_T zZ|f}4V;7p+P~O~fAeJPZ98=|bNWEo6!FdbOxbk8zR1-?{5@1j+DlnS%W`u8hoSMdi zGL`WYEbP=u0R(O_J%xtb&J*Cu3+I(>+>zEV>_%CHTG*le-#K1j%ND(X18irI!Lxjb z!DN9%`eH8dJne%jDPbgkXOhA2Aw=Wauk%1zwt|PKf(-X+~UzMri>z~-^=WXnwssWeZwK%TY(HY8_=e=OWHrXWm_oz z6`(C|Mjti2q@WjtZgmWmn{w$H(V??@AZZ`M_HD#0BV+rU$!+C`WClsx3Z*_^5WNFOReUqVc4b;z+bYev05;S9y1xwkW#BIZ z|3@=`_aFQJVOt$wY%_ot8Sq*MULY3-@jv3=2mAif-{Zl4Z~H9{kbSVvAN@g_NRa{k z9xglRhJAx!%_eACl8U;>{7J~+quSPCX}Ddt`<_JGt%Yj znuf&62Y>>Jw~&;$1a9Qn>Ka`7)wG6=D&JRYwl%e-Sny5x8PVwPvz7n#q!#Wf>wI7U z;G?{NPk^VhwPsEmA_B`i+$ND>UHMqt<^ALG<42(ckRZ?rD8J<+Z;LZ@O;;{L-mk(w z9QF|XJm;%QH{^Pv2aTW#<^X+J$@f->^3tS0RI|-K8+tRS_6Swvif<;T{y@w4b2I4m z=W8mt4u(EvTX`ZPMNEFESu%7GM; zdp_pc@Q$Y2^I9R+(`&sVvA@M^J~st(po~u7kjUnwglXQ%%#{?(jc2JzTF_SEKzK#0 z)1TuA?xZK>C&g5}jV-mM{cg)H0)YzisT)DQFQGkNb0O;mGj$s2Pl1vsdwFft6dwqO zs8DJ*G-8E7v65J!y;Ne&+lteOa3 zVHq$7;@f$o(5#Y&-=556B686p4DBx!$Fk5p!d9YSzABOJE(W!_Ah(P>0wH$#(@F5lP0# zFnWjO&1&nn%A%NQ2C4sSxW{gR5v`8)WN~V$3kH-AVx3=Z?5Z3v{k%zmB*`VxTNqq1 zYQwhuY2yTa13A-FFZrjB)RFNmoO^gHDUw^n5B%#%K9^Tr?G!}dBvze(phJF}Sw5`g zOTI1C7Efa6S{HEYOs_wk+gBYE;ss7(ygCJiw18uidTA=>Kwf*{Dk4!mAIFRD)WEms zCrrU?VE|2FRvSG+%^^WM^!7QQ;HjU< zMgMZ^0-}VKP0v$zt#tx02jr$HU+30yRvC_9Yoflt53<6v>K?qh3iuXBA~r11WC-E_ z8=21lYn|4~R2z1=qYv|)PV0h|vkF7pkbK7w<(hj0%AQ(^fMc8+a?}~cH}`61*@ZU_ zpDoF1b>|dv(ma>V!Aaa6iQUp;4+TB4LvNH>+18a!T^zZJFgpA`exk>Vp5r$M|2C4} zPVvG4l)8Zr6aYedtJ`K6em?ICb`^e2%hjOsjA#0B76l5hx&S$=$9yoGl~F!5S>@ie z#CeT0MH3F`Ot&@0`xJlid2ozettOZQms9jfR1_luV!!b-z}B~<*F%HJ)g?qEqJ^cn z0jpxAAPyjt)er1?;*Kh#uyN0xB|wSYR8|pGH0VgZXoI^)Me}>{9q;?}$+~xOOrAYI zQB67Oi1{K>y4zwO90wPY;w&Lut7 zoPPGeg&@={qT`qrW29P-o|3kEx6ASc)W=V6?ri5LsXjR04ST?cWd5LJI`~?E>q2;LRvsZZ^5e9q_?K(H(Nsi zp-6$pY#!)UQ{|+o%x1JlUuvu){OoAuyj0gPisR}1%G9@PfC%MzvN_IaG)CQv5wCWM znNm~U84<_MA^EOKbS~3Q2c)$GXhT1-hF291pW1T1m82arbBjpG8suxkSd`C|Ujul2 z@?cex0!QE2L|67(Un_i2MXQfJfs!!|4UHsICZ+U*oYG|G9Nbw;5!fnO)hw;mZ8eO; zNd5RrDK}CHtpf!BiUvEi$0k$-)V}g?_%t?G&VVd&RV=?e@g3EmlS&>HrZ8=JM#J|3 z1nN5(B^&sxI;-oMItM74k5RhjRH8|NOF>$qp4P4Qjd%Wx)&7#(apNLOULnDQ^vd)f zU0oWwJZizI_^&y+XXy(lVIF3i007Nc?NQ6ic;Ba_I<@4tLVs|kNw5n67nOk=c)|nl zx%`-lsHcAAKi|GEmcn{=HgT(!VDG6Dl=DfH=h<|cKZK_+I4AQqnOsA>xQKOD6HRJm z_rC}_G96Ng^X>?}Aum&)TIB`hWLeXG{nK%i{@Q}?6GCk-{GIKt{-+!OPOV%RfN$aTP)Gs7XDbZ8d#mkpAa%$B+AI6}Tp&LS zae9NRsT*#rujDN@@$)L(`{-mg`^=|TJP*`)ozMA$=-)F-he7V_{S5Rr%2>C-%6 zA-|A7f*3S>@(sQ~i)n{7u8%2^~}VV(9Ld}85>g;!Opk6JKbgVa#LgErF1<$ z{`7-~^3J}joj0Du>!wprY!Mc*15l&@Og?E21*#VK2VMVx}@yw zP+#v!R&1e#Y!jm0&r`U%C69IUqfpU9nf&_~fA4=8_{+fm)(qf-ic+A11pN0e+Xslr zfEV0DYwaWO3Br%|y(#cFApB^bYeE0U;tvH$8L+7Tr+@Yz_Ws8Qd;d}X2T=8+JoziV zD3L{d$uJ%XsULnQOYif zsWQ`#*f1i5FZ>0;0DK?7F|H*(Tfud@XUSrpWT+3_djxNd&(pr<0oyd{>~s(^2W5gU+B=eUG~QibRC%uN_g!XF5&?E ztI}48nlsVa2>_O#at8pts)}kuVIO)5a<5oR(_zUa@Ep<$F`FU6F+u@amGhpKOR^3U zfb+`a2cDMj6fQDLKo;aM1c-++y491lLTh{Z{?PbhbtR9GOgsi+z~25ZzooF@1GYEW zp&`?jnF=l=KjROclMup;-HE-o%<-NZUL$+w35_egVM%`p$)^%1hbsS)K((Iw1L2F* z(wBJoe(btc7q5*fteOa|zmjKpeRhS6GaZ#KT3>Shdxoj{-SjwG zJ94ewD}^_UdpDf9+egyvRZgm)45pV0>Ieb4^B~1^0NWb`Erw;)#uk~GWhMrm$3B8b zp}~jjO760gMtTQbs$^!I*>Jd>l|{#QZ_MR?7F0poEQ^qa3O0RnTlN>&91BU~+H$fd z=q8~xvZ;c#Z|3kypfT4s47R~pY0$VM-l*&QNhIIF>ul&bWKyX5Dc{0h4Za5qQah%& z5ZD(o&mAlLx36vd$2}k^lAy>dIazmppr1pTMt2^jDgZ$Fk!tO@_v&!N!opUq|N4vN z+J#@+Gf45HDg|`QXGVfO9=Bba1WNz_ziVp% zfZRKulWx`16_S$M9T9NF^^Id`%R-tl%i4Plf7r3E#J8Zszl^DJf^Jer**1iwK z_0!Oc?)vK`&x&%Fm)25htc9u{A8OYl6=6Z* zJT4k}6heLI-5`(u%*OWfh$~g6*yM;hk|D*a=i49)9A+W1S)?4#r%Lc--gD?-nEG|T z)7N@9iiJZxG*Smj303RW~5xM}PgU zM_s~Bmek@tP1pIUzof|s>oN1?wC?!Ul~xHNj&Q4OhQ-_-Qi>NI#HK@2+LhvEEXhbi zT}4hY%siWn5x;Q38eXzX5*)4ikj~&21ZXliy%0G5xc)x#+!x2E zx&%C#_cDlBZg;V%_?mu2Ip3L7a2GPFCV267B=5&7@<>n0Y2%Ei4m7XYKVM^IXKw}B zH$%>I-p)`3ov)8v=_zeGgUaB4UmfCuvJBp94da0~fS~C9bII&R6Fe2IQ<5B*Nw3zg zfcBsdU}J<5859fvu>H{6OI}gfoy=!Mid}a_oDytn!=1{t!0GKon;;DLWkzLJ3!KqZ zPzf zN5^}fqN!hDc`?Pear883GE<&-tm#W;otv7N=OpG5JdSKmMhHGB4X>|;UbBNU+Re7A zpMq`O3>nWDQ>Fr{&_u1~y|sWKLtE(AGcX5_LXXSS$XlW|bj1_-YR3de`SKQVEbe{mpJuTST0JK^uF!n88^GJwl`G7yA3Y|pj*`wCGyu8l`P|FzZR*PW2Yu8AB&5LC&Q3@Jk_~WKB_5~uYi>s2`g&li zY|+3tt4@iW!uoxs7e!z{AQh6*K`%M_d-SdA7eV3`5-5MkIkXL7DLR`+q`M-zHr3rhCAwbN8wN}wU>`M zjD(&rCKL2(4zK&?-8N(7IJ-C)k8`<4k-r9T#pu(&V@hE>Lf{aol~09vem&k{$;hqD zH`|{oBm>$0^>)zxQ7R7=!9zpd%j$g|lH_I+30&oULvA=!za^ zXJVfT?Tmnxh_s8o$Og`6%P%&Q{43{OHJJ9kWo}%c!MB`lHBW%L3en z&)s-qOPv?@&l=u>Gn!SdKI+sGVJK;g!~~bQ3jI%74jpH@KHwyy*{So8Ry;5V|Jsq2 zEhYt8k@NBKLz01r##V)10uJ*(XE!_cFO;BY*?sKLeD<)khUFonfq3}q{xa~Ffxis= zW#IpR1_&O?Wyt?5yaulM1HKj+@LGR(JuzUN^H0nJtQ!7_8G&Jd@S{EN3#{)RG18u& z?77Dr<&!M;Wd7IKkR~Hq6HN)Kr@~L2g1T=uUBPu;%(E@mY}=hq`qtiaSk#YJ(_se0 zvIi=%uH0-6&(n_!Ab^2up`DkpAVd~$Dd&tdm1OH9oM5KFhDoF!#eHHJyZOjXWioBE zUj05pXHttP&)1hADeBcK%BvSFj&b+C5q)nvz;)hSJo8+;uWJPyi5!~O;uKYmpg0Xt zi|dZ0?u2N4vz#-y&WpC(7mI`WK^agw<=j_)pe*`~GxV{634D>?j;R99aa%x)-_Cf0 znBzr#SVHn$?PIfniTXWCjzAQyoLuqST7wxenCJ81URS*XuF}-mLWBDZz(GB$zu>F7} zjg)fFr!4|jN(+T|2_89sJcNB2buSVaSY)e%``FKoI z1E@|PWA^*`Z_C?+Waa(`A+?7w0;K&zfgK(`UdEk#Z8$+*2#IygE1?dCF||QevK&SJ z1~3Po0nHG)W@*<-)H*ZEOGXx)dicwgybCFN)=ABA$y_EN4scmfur{=9X|iK2*mhFo zS_mN!7xw5kX)PW3zX*F{8(^Mep(@L@RkU>1Ls_sZB3L+X)jAtlEx_nDG2)wJJOy)L zhuNUB#SvN^zm8&#Qe4!1_VedY=d#@4kw)rn=Sm3hh7SL_6d$njq=@&Q5fp1SQWPBf(nZu3kqK z<|U=@o(c_NcYuJ;sdoN3x^Q^-R!s8Svl`tGdb1zm_IETf+r6z=lU=4Z2ZDuPAkUdU zJyEU!jKxLb*MCouu_#?8o&1JYW;5dcN@Fci=vZqmcPa^05eCn)SUc+EeP-F5EY?>d zvgNnRmZPC#IA&ojl4x+UP+*JJuI;DyO7N0Si|{-%j!I@mUJ>chFacNbdk3o`rl!^j zzXb;>O`n|fqG3(Gbh2IKX%;5Vd7F0xmPIZLN{-FN;EeWfjqG+!Y-Nxq4zQmP?25j_ zaZrbbLk7Dqo0|^eSyJ^x3IQOQi9ntV4~xUA9{MklF`;$@2%95xc@vND-`_8_7rAF> z*mvtCq}mC*M)GX{lU#Tu3~^5D7t5?Ts!Zc8AMVSC9}Hhto7lLgYF!;4a|6;|FY1Hg zGjS5Y1^1caBJm}k(z%Kb8syD&ypc&{2@bU?{;x1&L%eBWv3GX!=J#4t2 z?I=3X1mNgg0w~(l;o!ncE`#`&X+NB9c@dTPRbmJ*EzEzuDTerEzJY^LV3qiJGf^bI z{{{II`Mns1eIYSHf#;$NQHsPEw~JtsTNX@VEgY=Db6Oln&3lIa+I~ zb$pJi@}&6sIJJ@a;*wP|jAG=~-k%fp)?f=<8D71vPcEdI0+al2t$4t&JGlMc1U`=v z7+>niaU+v$$Z;P6ms?B$t?05uwtxED{DHs!fq8&^=KqvW`vXG)2l4*tZ}t!Dpj&pTo*mT{7$lOx zyTwQ!dmnLtF6`MF5U%n(Yb!I-cs*ilex zSVPKgG#)7JoG`!StVxg89rD-!C{=hj%l{goWH?a`bXtO{tFOFM2XyX%#}X7CY-@+2 znhFF-(y&+$fHM^@Qw@>-*ceF|f2tlLgg`nj8{L|C5m@OukX?{t;aoCWt7=sW&a?5IM^^s6IlX}XDd+aQugw!E0+mm(e;%OurTGyj|<3MfHzu+pFh zrMVR!RnxJTo)BeCpwm&z&@8gZ0${=tdWYILN+1C;0|01C8RS-*yCs5Jmsm?}&XPk% zOG=>)$S{yPLeOrWK0<1Ln zAvs7?71k6SUx?Gxud9Eo>bn)DcbIshqo0P=xy6xjX-W#P36nu?&^x#%_bt2k7>O zJSeqb+jy&9I>AhzrEb5qptXtYJw5nVpP;Z~E7`YYJzxwl@S%buYrFx)Q}owVfp&e8 z>njWgYG z&k_&q_(ejs;>xsm>7!4fb+s$6@mWYOF`xO=)d3)*NPR&qdGPy$!Qu@{26M&VLJ!GWB54*S> z828R5ZASBJx^EnzO6D!{_2qAk*ipw&S}vCXwER03&&KH&tHOn_3|YzQi7-)o9+gu3 zW*6XOasN(ntOqd|frB-_3Pr$TA&WI_06Me)Eo1Z(=H4>N{qNmfZywULhJ=9qIPl96 z|GVu3gTTgX>T@BLx%b#?_R*VBrJ-fH08{`wCeBK*slqKyS|uc=8Rr|T%EzwP-y^pG zfYXMA>@xO*kenZnM9{8IR=e^L4Bs|Aocf`QO`0_!;xn;)a7?Qo($ruc$IUPRL4ir2 zEGjQVXc@b+qJBmAZbk5bj7Eb>)(L?0^F^(x#!#&(;yIU0rM(U*({B3X?45^*0-Wiy zxbXHzyH2{z+VebN-mMSQ6jndC_v+=+6nS%|L%^qRdOYL-hS`Wr91GsP;Z8ff z25E%ACyIhs{!hZCMCULjv%I~p0f+F?1cn|AhOEEpB32d%XkSwvusx=!^aEYal`pIt z2wny<63S|YzzQ|5HJsEV*4wRYnvLSUMO~IBC6fim)DB#Z0RY*xxDzanUoh?u+!1cf zo@Fz4LZ+_7sY5CB?U1j;3ETqC!Y)3gjJh9kzWPKurD3~ck#S+_Q*TBIifJeVxQqZe zR|gMf2}&Wy5WGB2hZZf6#T&a|aK-B1AP)wRx%G>$;9P@adiT(z5yfK53-+ZpZ*}Wb zTq&t(UFEHi-!2;OIAT-`n~ckc0W{dVMv3NFs!R5FrlV`Y*yn9h^gNy&Tkuf!x+sV( znO!Qn1NPUx9~OP^Y@*8zeZ_8YE!!GvD$R7CIQjJVcWV5QrZYp4f~y%?(F0c@$%G6S z=%NdZyxDMOWl;NKKWr`K!vJp!-x=~GcPMDk52PV9cM15y+oeC!8yWq(>~(QK(LPNI ziM3|cJ{OLQVf*||gBfb^)m&)XmC(fm(dd7<5}zx0g4t`l>C#?^ews#-hK}Z>)%9m3 z?&9SYnManzVXTOpf725Mow3$h^+LwF3yMxu< z6}iG?gD1$m=h&q)@w^Pp0I;Z7idlWXH8RyGlK5Ya>8Ed`BGKO!-=9UZ3rKqq|G@CS z!T&R+u5Ns0pS_pnbn$Cc-=Bnk?ob>x?B?#%V=xt)6}iNZb~9EiO~ac-QR1kdX9C5*7shcnl%plv&Hub@hj7V z^6k0B?+?%QhK$AKGz((i{Tkt;n`3U}(>P;w*wSNKs_(ajw3=+>+cx0#W;=)$pc_7B zdNq4V3!xg)lwFR)!|D+%D3qCBLjFrsY9 zb>DX03ZwJkmczvq6xzqaq7`jK&X;USCx8wCz`Hexu9hK*2)r2Et$RI{yBej;;m0{e zV2!|=n`%&}VA5+H@@G}t;co;UM@>3?5w1$B7?Czb`nj z`^G|q-d8Q0;a||#SgKKs5-0A7k9+f|$bSZ`WT_o#cOi>;JadRlN zC<)N=lUVemB0HKwuB0Fq{5H0j#w6q3p#ZlnP?8HYKcst8toK z`anFHO!c|gkHt_vpyUH48IdS}u8`Z-sL~#8p({=#(I_mV=nUGzr*acKt|IuruRDng z`Eh6szB)qv^Cd;c928Y#vCS*V(gYPa^yPpEvDU4xL1JjQu7Z+s9}9JzJfrCV$1vbe=7Fupr2YH+ zU&sK_LuCmGc*rh5UHZU_40t_GkQ@Y-V<5~8D$jrp3-}u{;IricF9Vy4Ap9sV2Mp?; zxc-YC2#Z>-LCjW$1N|^Ny4Vulm1wm}iS)Jzz8&7R(FS=O@!LdOzhB}cO(3GC`;|cbb91>2P-&o-?E9D`<#IaJ+{yz6*qrZel}G%hhN>6WF+2 zq|E?e-sDXH-@?@xcmp{;ICpg%RpY3Vf;hK(e~rxrO4|;={t+o?jPy}x;FT_oIw?za zt^%ci)OB))9P1}<0z9@#*UVKZ_WagkP&hYT>EI99;-N->Z+d8wkUfusNTqj57}?+& zr+PBwbLRG;s8fMaOqy^ZP138w*Xy2{=FJx5q3~BHsAVjBzLmv9*W(oI?P>Ona#RI6 zy|Q2<|HU9uz#+A*Xv$6MN4kYyfh~vCrG5wAOJ)kPAWFfL_F2XYO83wAGM-G)_0kVJ z9xyMnp6@u> za!Sna+Yox%Oyo5V|6Z@|tYEDC%sW=$#|A!@@q*xwI_&X0A74Z8DF?9+_Tzw|3E`Y{ zhR{WT$N_%9g{5xNJV(37NSNvovd5$7ufHFAWGwCm0Xz(-b@>_#6oU*AiIK#yciUH5M#cL^8W%1JPUh>+5d50e9_xA=;%Lh`rDXcl z*Dw?1iAiYqJN$RST(Kga#{LE3>xpIEt|Ov&I;Z`PhgUyhAPzFNep&fUJ#*_toL3V> zU3q38r(Sg)NI|JpY^oXz?P7;mdAI3v;bAu@UFTrsu@p+P99Z%BE%n0dA8TegJ(=JU z?}Q4RuLDm)rklFV@9pjh$S}v~3h+$!x$Fe*H%9|I2C>AB0Nb_rub}P&3OG)Gn)f1C zyH&xwDcl}ygyz92VFG_MCOZcqh`D5~qkik2>ADn(>yZvT?Wnk5KhXA@V251+gU(a$ zib;3)%oKgoRlLyGo#Ju+%A?T0d% zfb7Q;!HG-y@Xfpd&jtqorm%HegZZtpd}=;02DDw>nKhajpcfu8|M;54#WszF@r`JrRm`){AHF<$Ga!~Z(& zLg5o&`a-%200qL`$I)sh)g`w5#=MM?F}ne!N~3b3Ii7x}>{oQ2-Z3ATUyGN$J?J%) zjS^`=>3O^K5trjS;yz}tr$JOTbA#?c_itPIx38>&{T_t|KIraUZnMvcDewPyflPiv z6F0bgwxSw$kVR=u5W2(z5`Hy(1#Z`!KGb7&P;bCtU{e{$hkQdR5PgEP3Y)I5x;9vY z!i^^5KKFITd#X-UUnF|s$SCndnt_=DPb9J%Mpi6kWf3 za*m;$taq8GAi)+XTqpvStjlk)*i7*+)m(}_iW%%oVw)2YXWJTseGawq2y_MxHTZM8 z5AV~~4o=jMwyH$>YT9FFGRLS3rC`A2mAQ?%48F7!4Z1ri@j31pAL@~06%GW@76y32 zu+{MUg1P_KnI2@B;Fk9Lr#N70fDJxs8aR37V7 zM*pmEu@JFb>735sZ1{n}n?`7cV`wI0019T&wlz$ckMr=B6|J0T1*8sKsC6C2)S=Z> zE2PhES|1^o?>D9CC$Fp-$*Z2)<++TRfp?o29Z=qezrqh{!w~6-`P4~SRRiBsqub7M zv#6=o!(K!&rJEDpA#JBHBt9h^1o>I z-~}&8U>^B|!tRbSiZkPTxR<45nqjfo(^jDjBU4BH&O7WDJ;$BqxvF-uXxoz9G(|;f zmGl92hpDRUiV#v`_YRlw?^77mYUReRBIq%^obb!eFbnW{5aC}49TkJ;O7VjxWrCa$ z;=ryDK%kXeOp=H!im=}@Utj6b>i&<=Z_&T^zYP3k;4cGz8Th}K0pf>t6C?oK$pj_> zbUqgu@Gs#9S`7Zcm49F;VAb{aLygMOaZ+&hQ&x>WyRvBs%lZ%n(iVTusocJk%j>cnA-612LS#5TQWl zkj3{2Ljy$Yaj@dYoL-i`co2lI?lHv51eK4BM9R3|RQ8>*tL4j7#V?o%ssV5^VAx0G*9)+0esZOk4q?g`UOU#&^J956p{guMRU*jMtA$fJ5nY9|fuIup z-Bnz-!Myg2yavU5Jwu~{S)>yeDTSRgqtzX|AI_X#7gYeH&=2);S2k|cyJH;V!C?Sl z;sQp$xCYtV6U8%Ry5_X|4H|rN>JnjM6jDQE(lLa&LJB!uimve6&ioxZHswMUT!ab0 zior|YnVu?G0fig~xRzdouishQq)m4hT*&=DjEu}BH?s8Vt=2Xl$3@vg5K%`f-%Q__ zb+l1ByrsS^<2+a2l+dBD*95GfZc4e_Un>?8P_9Z%_%Lk`*@Q?use(+-AhD?%R-glJMVM>Ox0Kq6|4X(jgLa3ab0|z;CiPlqAugtLAA(5k^@rVQFZA0(-c05O8Iy1&CRvKs|H{Q8N*~ij`!UVwxI1Jmq9>L?_ zm+&njcN%S`M?yr1sT`M-i8-dQBXr@*fgn;s+(kzdAYuSNv)$7ei##mRy-IhUI&nmeR;f>|+Rr z*|E^{@3GfVSwoQlIh1}!F;4(Qx*`l#`qfc)#W#WBYj^u6aTK2WDv}urZAXrc`VE2m+93u+9s=_0GQcQ0l8}JE1AyqW$UcY=<%8EzHZ0 zHoDduUHQVy`9lHK5Jc|~4G62)nC&IgmET=2y0B-Wc#wrwMm}ZEg4UpSS#Ir3nI?sn zN6P5Uw``MYAc ze{Y&C3tNZP6H|V>H&6CDhgFbxWxshB)DsJ_6tZ^SB^~CUF8ROZ52}6J5A4&kM>=Ds zfFN?|5j71}LrHApsM^}9>;Hm?V*7d7 zr?n%3p-Vdd`P5}&`OW=g^RL`Pf<{gX{kU*d5n%5_;HFGo06PPDg&lrRh?o0_fZFYV z%Ox(!V5?R>%}6ZLMVZe|?UMsswkjK_gO*U|MK8yOZjSR-f#O+N0MRN(cU|lWzrqUK z7Q$QJ>5!2kS`~suo83;ABMN3zcoLThSk8P7i{L7@oHs1*vpeEMg`O2dv#AtY(HM6p z&aw~jVoY;rt}OBRP6=Q(P5wk6hnCrA?o!HKYQOsXv=Tw+fdYK<}DmcGO_=B7WjhNc=H`8w_k+Km{Ld%p^P_AVuFddtB$ z-Lo|K^2D2uW2SBPdgzJ$KOBF7u41Bd=14LTns%>L#RGTWk@})S6FI-YbMgN#Dwdcd8dP<4D8k&-l z9yACk%fkqD*R4#&ry>SF=O7c|_D}`>ef(wMF9UxW_{+dw2L3Yemx2Ff3_SUd{r@m{ z1=N%Qya<4oG4KL86o}tA=Qjj^=Iny}#U3zdpTK`&ko^zBR1f~3p$QOv{5>;JCkTIe z(0vWGxBvNjDd2F$KXLp64gmfJjo^#v@Vl=tuDTSx3zy=${Hv>PEHJ;%*@h4Yc9MTT%a)!B16Td?81%q##?xyJg8>N!$=7n*RGYOb6=@=RjnJQjpq!a4Aa^y*wI!uBFbrI6m;PB-J zn>zl&UcTmzqDsc%K$Z|I&6f~wW$hyejYJJkh5~#MbCe2cRU*Dw={EUA!{DS+cpGn6 zFGWV9EGO4F;K)`=T7f`_fg2Av)7-Dr~6lMTY1Cqz+-x(uTdm>rXc2Y}Y$ikHCD0g%2F zska+rZR=MvA$j{lA;2iK?(0C2swQOkH)2E7OJ#$pQwM1^J4Yup*^Uuw2kKOZZZ~|S z=u5`u6mA8(2TEvfyH!7|3VZ9-GwiW_8!Awj7!d?`TQVkr0*9umWum#>Lg!thjz9Ve z8#DdfiDE=Unorpz8Jgh(JO6hHNwx?ptz~>4E0ZGNwoIaj`)2tcpS8foHE*Y%tdOGP z7ZJbsrG&J0XTwaV`qZu}58oEB`E&=oCqkgQtO)V<@jF{RCO3iC4U;z<@G&h5d^j-d zOBYbqsCVf4EH9xtbfyjbE`Lh$MZ=Dm{<;LtJ5=rkrJ1^<$~$w;tT9@+ezYoig$kEM zJ^>jxL19RoVh=JVNMU@J1bF|jFh2ie&5!geO)v@4*r6U6N0?M}KHZ9l*o%E{O#~+C z^sCR^dfr)II!F4&SBVicOOd1Q!a#1 zUQBkf&5izejcnCnSUTFhPqu0|>z`tQtFZYj&c%n=tCj21C($T$^I@h1Lsn{rv{nU; zJzv30^$}J;$Aw5YXveo6KX^kX3$?QDJa2(j!8&v=HL`eGBYqBbqfsSG?R2-$K>wER z-YGvEOp{4vT{X2g)F)ybLkH9zq%UvYIM=KFzpa!vOh8clo;B#PwN}WPm3N~hiaNSQ zlS0`iADpvqCFjB1xSqlKLPS{%GDSsqQgy)=(DWX_38^G?R2;r1E8eT^=(YggJnGJU z#&05}Fcc(S=`H6i?ualMGq${+NBCM6Etj@EKD=LusFa*P=+F^vh@kK5%VO%Ob2RnL zNjye?&P;+Xy{%i_ThpjaT9g-9`Y1A#K6p1 z_1gffjXWmjgD`63IzKCQ-ymwgS5gp0WTy1uh!s13SJ*O!#q+v3h^@$c%SFoE>A$h} z7Qj_(!QbGG6A#4Q-G~cOl0cNW5+yFg-Hj;3oj4)H-62YpxO*T<++FwH%gtMsdjIcz zTU)hNTT55nnRKS7`<&k#>oaruoX`pj`FE$?bggqgXdD;^gz%b`YoJ|=pS4-164bpN z0Gt%Y%;joCc_j8dlVTQO8ZpGimse%CT}jT&>2bq(u3?B-&eRKAL9Q!Ifx^#fRbTLB zwcCyU1%gevkfd@g;A2f(0a?KdxS0qKn(s$6>VOVFlbKzU2>DM0wwUlMsOIV^$BBm@ z97ww_R@qh}U`$b&M-Yer-A_o;BG?ckCf;Y8S|+LgtbvQIeWwx(b*5N1(rWDRLhyCh z3p)ebXBf?#gpU_vZ+v(db}G{}Hm%~2MWnuaDKon+>Dk+q{)|hPJ1i`AAA+mFpjDrI zDyj%gEMfQbR{c@T{H0^n^R7r8!)ZO2)`I@wI>fznIf0qGg`(E7WbTPsZG5N^ku8Sx z__vexti>_R%1HM3w8?{0S)r7OV)lHLVpaWbzoJdKh)NK}I3SJhnjv(Bt<5Z}U5*QV zy7Ml-SvBUM?Z^up-NFjdLA2!k5bZ+U&i8%g#nF4EFke@^b6na4vvhbs`4ue;fBb04 zNgPqPJcF}Az4xpdBk~iNd2Sirl1%P8JS_9j*=>uDac*}*UOgqoRD~NDk#mmn8LQ)%R7>HJaTXw?U-1$T zaN!GzZEroKbodI`YqG@vwV7q9qj?Q`7UD^gCrE^eagX7@#W;Gskko;H{$bNm742KD zxQU8?igcj#dI^{4dVi{`*hjaRX&-jn74 zR59;QAmz98A5a;S*or&uCICmPTFm1Enme68`5APTJqHjHPDCq3Hu;0=>*&fy&Q+=<)+t z`GkE>f;uyj8zrsPKW!ex!r)2smSZ(!sTM8}Jlx+9M$z3Beea%&NVQ~biiwxd8FLQ{a#CLK$PU>l1-@8!!9{Xob zfT|v*=_YuwoDcFhB7QY)WxE2vB>bhn2>eChF9LrN_=~__1pb!@ko@ES|FfeFU}Z+uEydHKkvP0KI(QU{I=#Qs0O@M7`a%!~)UL#9^Y zP05XX(f206L{iW#gO_T3~jyc(j_GZmxH>?M|fSfSUK zfjtFOGa@e~x&yb>Rz95qQZ8Y?ghl)9k6uhYJ6!=B`fj->tPOb2XidR>n)>Wf7<3f% zjKkt{K0i2<|N#^JwQ%z z{NN$O*907MKEQhdB4%elhY*gj$Yb|eG8u`jWVqlD!_oql#nTwL&a0o6Clb}1YB zTx8F3Oc%uR=*b(*TX#^~AV0u+| zwyX;Ep0#gyr@E=Jsa58US9SUI^+IydHHlL@>f48UFf49YA9570m|=0G=T1*=rUV9A zzkb&c@5)HlEaR+<`s$3mrm%$-*+l82$zo!Urio(1eL;}+(CVbkJhBlgvxOB~2k`z$ z)%iOQiTLhzqr9=6eDu?ehYBz3m~8Bw^g2pHP$_Q7qT2cv7Z+1~73Nh~jgv`w=MC^& z3OV3kMoBMV7~=SReMnVtKoy%q)%-=ipMYUmmFmUm4=#r`6*u3ZuO(D~_sJhe>s^VkI_o9Q^@ zgY;hGoDo*8~*UGygB&v zP(|dTA62OC?g*IYC4KOyBcCSnBVLrm*ZaEtUnLVeLpDYRD4`uimz}_w&2B}z{`0~#+}c!{Y3Nxkfk~hz^H*a zkHAS%pN#noYCkuKd9!_XhN3Nfb+suI>irmWirocVg0bJ{Y?2kljsQ)s6(P;9Z-*J0 zxpoipk?l>9#Xp@B-Cp(BFD{;koPJMAGmLu`UNCzk#65GfJVZn6cjsSkr@pmId}A?H z?an6aVn>(XNi?H)Yq#u2$^n&1sTR*4Qm>hYpt#8!^h03P)b*D4J7AdeV@P7nq#K8a z?++t<7D-=>$U_vvfW0wHE)=@a20X3(b1nH2ZkWq$;f^0;-aZ*JYeW_kM}*C9D2fv%DP=GAEt*9A zx=l)h;>rHQ#I|_us-&xs8*2aW8@ol5pMI(;7JJCRQF*HS}9?n-z2 ztaasDP^oOwoX9N&Wv)E6LDbLupeDp%qgy)h)T#SXD#p#S; zldFq;mYxje!}3>=cALP}G%&BLxG|)fCAQM8weEUD+~PI9dW~M0_c7c`#d@UZ0X`sA zH2eKtb9h@EdMCy8v@qN8feT&3l*I7{*;xftdy3`3YgDFM_b?LtoveJu=@h!YvaoYw zjygfthcdM$FJc(jCvIm*DYW(S_6H*Sf(KAy-rPEBE)#RCm6d5tmtq(IQYF(2(!UFsB~qPaI7Q&&;t~`@pTg%3T#BahgkY zF~)Z$D|#w=CP?SlY4?uwSiggwB0`0$Pe){(!yd{1k~cvZ9V%62O1n_((NOLT!@dfC zb*B+biT1q2yp{K(V^u|N9`f2OpBNtJ{*sL10k({dzGRp<5&E~A{tTYUbxF$JNluRD zoC>7SS6sTE6?CN6K3AwLz#q->UkzvK`Dr_U)LDc|Ri&&mdN5#*(f3OI8%zc6n6=Fg zib4DLy4e#EC5+h=*st6)fAcF;hHxCRQ0# zvQWLxQg<4fq`%3gn0dX&5W$k$xo4(FoiG>np1+EaXlUjA<7xFbeIP? zTsv3Pl&S(_O#X={W3%Q)9&~`zH`=j{Fyn8Rw3{iCKVXqYr_|zfe4I+9>C8osvY7Nl zgmz|Ks&)8LyjT5->0Ft@pbimdODEFsqX7dge^LR9ZgO;NzAZpgh!Ehh*T+K?Qi0J@ z_n7Kse`nF{8C>oIKx*WM>$q~=OSz=CGwq+)Ya14@ld(E8Hlcm2&Bu#jRiTUl6eg&}! zr>mUGE)A&Es^Y6?pbEXc`pC4%D2uJ0nj$DjUDvKtGy2 z!5JE#vPM+PoL{YsfUAGK7etUQTvq?0Czpu8#a!X59L>0&NX%<0d0@@A3_qhWf1;Y-Q5jr|Wn=xn+G8NUPA-h3wdKDn`!cZa} z$7sJ?6o(_EZ|lX&9caatv!8UqPuNX(Odi(=OZGnXFlhK zu2thm9>`g9=cyG_O&7_~Sv$>hZh6-?p?GNF*+f5l3a`mu|4M=!lWDLuI+x z>P;W2H|i2>JONPK=ZJoRx>|@NpLOXAb%9+Ii$$zo0CT?Wjf>5;o(&gxS^gRi$C7>5 zt&JGq=Uu!(E_~XrT%j!!;b^{7fLS9~3im>>ly_GIDh)a%=;gvy(&P*+J8xsdCm2R- zS5~%TSC5t+Z@9+O-kU7TSWkZbuhVV*g;J+2k5tbcCg#;jj|=IaHk=CP9+Ry=?J(pO z*Vpo$kSUxxA)}84t1R5y3}aC6N>`ICOaaoc91k7O_m)s6eV>@lj3V{~ozt{!yl5|M zYNg^HY}<8uM}N0sh=F_N^Zs0gz?e@8_s}QdWx_FO^5Z1GTUrkOMI$^iZNeYwb&{># zB;Dc#!04`WSWTHlZlux;;BK;n-ktElIOE3oiwUQ*1}~tc1aGn z!VZG|VIy7DAqKO@ib~eUwFHAJSvX09yzvBQ&UtGJA^O1zOjTN5;C9h8ba=DS;QpD@ zs;kB2z$74zUFZ>Ar@eeSjP%ApqFINLmHe)wLEl9SZG^kaoVNAaQ38usVQv7GYn9^1 zANKZX87;Bq`hC|(oreP&35k9+pAIkhQ-dUPB3E^EuPQjQTVdL z9Jl1PA5Z0l%t{p-3<2Shd$f{&yFb$Od*9&*_XFl}O%)on$Bc}YX>BDF<-j5MU;2x{ zUj+Ua2$25c|3fxv0m_yEe`LVl3h)Oa(E3p_;Q5|Ug82LQ{9A}Wf6x2E{$J%CA^!LM zbu);6ea~w{{O5aK0pcIu^WqTy_nzm4__rY5NPVt|mD*`m(vUnoC+zXXHxX&)s3`A( z91Jf)xq&7H@Opj8-p}WrOz7U-4HH1%fR|Q3Fu|Xu86JM1bE`lsZ=|=%g5!v@@O*9EhmIvpCTM7JtP_ zyBB&5#1TYBAriY`z6TnOdm$*?j2zp!t?sA$wORma>sYSCJB}7G23vfByc4F^@g7_e z(5At>rd|Zk)E1KJ)9ezVCxRNuKzlp@CaqOTyu~wK!WZ|Fb{sXT$-(f4BbW3qWorjL za*h7{7TtzkI;-eaNP7+Sh|y2o$S|YbUIg@xnk)9CxHq?_ssNA@GaD%x*bCRQT+g!? z@my0gv3%+Cw(cta&2Ce|Np%YnU=03kx40JW#6d@(0`gz0NdFxu0G;J7Q05;Y3lM5R zGKx?f(r}Q5j;io~vNETwd74&4uHVJHE1m8<%!u`B1&jfgQ)&SMe!Nb)u3fvJJ;m!V z(#Mr;S8~*_lx)kL0{o9a$>${^zNY;c;M$hB+8u_|$||5_U*I7swe3s399KBbDhD8c zZUK9iV0II3pTvCJ(*Ih2LgK-fY-XE@j`BQ(1bQ$Abfa~R&%Bm)zgBe)@EW)x?Zll+ zjy{ZhLG4|;_XYj+uOKx48u}jdQ2;1A{q2zHxPRSRd37JWSm%8xct0}$^gRYm3t?}e zjYs;GmkvcEMU}A1ptchCAMzPT(PU-tzx=h4*{;?bV(z!F7<1?>DmEpPa?Nu4G7_Uv zc#)GDi30+fnIH_VM@{&jz5KkKyby$x#h=v7wUe6?^*JcRng8KB{P(Z2bX4mL1$;Jm zjqZK@Y(sf1dudjeDDpzY6!1_Yl-5)<;JTpCrSR?Nn{BnLGeM3~6$0-5`bqgSDPoG! zo6nN#99e3ggrKfxH>HJi( z!N2V{av#%g^jEF`|I5IC_d=jpsvt621egq&d?Ctg|3RVCjIZhF6+EnQcM|=etGG8e z-@6lx0T0qiwDt$%t6}9KSjG$`t%;E{===sx^Y%i16;hT+F%SkBM{ES{7zi!+Y_e&T z%TBq=?sc8hZ)_tT?39Wr3$>FeY>QW2z({_J&cMAB{MHP!`85Y&6X!8K zxGvxhJ*6q{ypwwh(|0o{Dc^2M{<+wIRG136y7;(BbNvap986aRs8mtSZa3UY4q0T& z#|^JAO!_jhgM(ru-|sh9HcaqTfC<}wLvlT0g~4O+dh&(Meawn`p{0K?NH0OvB~IKk z<&8+$6kLmAQKEGw(|CV%)xxy(c9jK;fu+Uub_LfU4>9$Za{1RJ>`6_ZIF>&d!OOFA zE@)t2d%hybi^y_A-ECt#7lj6isvIs^^Fwu zvDlmcu`U1%Ga!{4^k9MXzp4wrB!J<0Aa%hQzV*8<=3^#(hiWA2n2X>AiOc??JCwQ^ z!cB1|xkD~62Gas=J>kKv(Qp_Iqz3wWXe)DHng&jk*)TcuBnmmc`+;jNSf$M_y;@v<*z@TJrnSG9$e*U0S0VS*c6|~Q5>P={pM1weRKL4$61e}digaA{K zDGBcV0DylBvT@%Y+zaJF#uCQ7d`V`5F06z3)@B_9xdkSd`8u9vD(ou&4c}PCMNTjV zk}Bh78M2Hns3G3XK3>B0P8IQGc&M=|6B#V*4C}SEAPhz@$I+Ar?uL}rvDj)Ob4A@7 z)<1PTKpj0F7|@(ED5eshSHTuJaggJj%a?hQ_|iZy(-(@oG@|>74cQdYxbO|Q9BkJ! zw;c=0T4hnG>jbJzg~|(*^8_meHx)SGp?_Pd{07G0$&#|q+Xt~XbMxJ%k&* zywu}0uFvlopl2RP>6(lpG+m*C58v$tV}MA&2fk+P6B$ENp_woJi(LPZ{{H$6#J|7i%_08$y?$=fV~0s*(1trzd&px+~06K{t1+FaN<3CE!D1oTuq zxFVKlSt@4lc++8};f5XY*y%7iInwHaqRcXZ?9hIzs#ls)d2CBxj_YF|bm*c41F`E5 znzlGkq9SO=ys!P9$9XAVF)+ZfDZz1ve#})?Ks8Bv`fQ$HRvt=}MW6?9=#4a{q&0Yc zf)88=e`CoA_hyd&>saDOIbV}v=IZGWB@~qG-P<2eiY3k# zO_EtFWrbU~TW?}uzd-vg^m_UNiu+}(YUW&VL~X>4fZImPE=#7THFTlNtzitA2tC?S zwGkwp!S&m&p>$T_dOI=vFrufe+D&IcQ!b|6^>KUb2{`T$frItCDzPz-B@cD`(aAmE z(xFs6@#b5~C^&1zOr9V&6}S*0IvZ$q7reShF9@GLr2M`drMHGmVSo42kX00V9yZ2wZ-k00XzDEJS*(y4K?Nm zi1yBvj4xAOUJ!2&jteaqj^v;gX7som5WuU4kb}w+cn~1fuNdd=L1x_wRiNo43l}n} z$G1TFxeI18^N9IC(E(hD>+N*-)C`4J(NtY$n)S%=EZ8_}EruA#OsNE+Riz@#bSI`kijqu|>C9s$wFEDWfprS~4d}eh6?gs(# z`@dv-RhG8Z4hhQgyL_&t%Xl@I?%Y1@sx3qlwW;Xjqzhtzq=ryWzyZB7AdLbu%&!{8 zoH(do^q7b}abz_7K@`@B)xK($r98NBOw zB())80&WAbnG1dc_A?t)6tVtHln=pc|*78z6EqkO!PXum`EOj2f~B>OrD#hfeA1iD`4!YEnRJTA5HlT zNIGT;CaK=2!^R_ZTkM{zXaWHKEts0`7*`Ew@x?y`-E@&U6NUQOrmvQR z1ux>$r8#hr8XOBj@Ryjc`{?9=YrCwJV%D-u^Z40bqpz^$?o(R>AyPGGswFp&RN{9N zaJer9kMDpLi{jV4GF(n-XS`|-RzILLt)c9x)1tX}NzjR9CMez&;U74BT1#AY?z{zP zW$a7RX?;#wCC#Y|h4$?$lt>W|C=swjml_2y{iM=J;Xz}{ej`JS!OhTQJd2t1)>UUh zyyDSI%YU#Z(4ESpRKtdG$Kg403=NP~S`fqYPTktFK-bO{FkS}7!&FdL5*sxS(#raA z*eu+?5I`iQu~O5)ElgG^8=97uYa`V3nEEhZF5oVGlkfYwY<+ODdh6MS=!?f5bDz^k zzG#96zr`w9xd6|ijx8C>azW&lWSE?vtC(7Qs+{s^-P`A#s{doTZ}FHB0R<%f4rv+y zz_ktyGRL87?)}f9@?HkSyc`~F1RyY^f{<&1%p&@xkHIK+Pb^j}Er;47-ky%zh?;-T zage^+-qqDE_W)NUq^u`k>@6V^Y16wB|fDgh(Bv3%vRSR+5RnoQ(P&^CY;Cmry0IjB<)Y11?9ZTWO)-Sno(OyB5c zm0CY^NOrRj7O#%Ui)ki#pVe3YV4o777H)m}!#HX@SxW08Lu9uLoIv`tF&%^L2*(88 z`+kt%>`neo^Ro$^?}l$g@V6OFHAfwMnM`mf;lpntXtp1*;4vR+DpC5D>G6lMhDuNS zE!mg!5g4~NPS#A-s1{xjgR$QWBpHqM6?y0rX6F~~xVY!xXEgM=M;(t+_PJcdb>`rsU z@nrx;TMDEn<%}QP=8%COI{@(Z)vqwaIzrVOygg-Wt8iTIrv~mm!v`LbJj6#rraA2K zArBaSNOQV;C05x@l_>E2f#Cm0M+F|bubRFn7*Be3l@EPIN&;p+f1>vxLfmP7O&^`u zy2N)D7^*O&EIUdps-BObssCXAGKOE3)3k};UGnOoj#-i?bwK^v+rju1KmIGV<~O$B zy!5>O@lNv~+UO?|w0FWt)k_w|OlxghKt2P97w-@DQ)eor=Y00hX$zpa+79<)wHop+g*{$6b~(`6nxnG1l8;(ODBp~x%gME{66<0HJDK1&3$^06vl%u!m`tE7a^MbVQP}GU4w( zRllDEx)<^tHT>Af64ljsZSS8&8HCFzp~Voj#`?9J{{>V>-JlBy`^(Z_k=Sb>ZI0zG zH|XDh8rbaxEB5GCc?wQAXyT4BEk%(TqRk$qK}A@iH~j_QLZ=EdDx5gKye`&XgEOac z3&!N!{`7PTIbdtkF6vELa3j}6kf2+nW$=_cgO~vnU@7NeF|^xwS>Ca`ZD43;D+qh= zKuVsKkozFcKmumXedaA;X2MmJ9L^Sk^{_XaZ~E0UGH^W6VjM(F+9%IO6p_v{0@(TH z^@CQfSZ3Y6Rz7Li{$|^D&OuCUV%H-cG*R<9TtRP^&WKV2Daru4j{M`<{)0W4F+lyD ztsIm4l5Tnu6}0-bN0Tx!3r3&o3Y(y)H;+1=Jq(Q$Mabsi%yhZgLQPawHHG~_9NwGL za&dw|=ID#i&o96OsVsS@*fjZ=J0*te*|FyLjHnLdxrY)O%LrA0&wLpC@Y+1>jkg~> z{)*O3mK%gXKqrpBeVfj{C3fs(vw}I{u0z5M`1|H!f=>EL?+JO*Hz~pi$?)Q&K!PunvJdI! zEmuDDWmmskK_G@!;;>6G!M|F>D8=iSY-A?ibhREZFf&H*vFvI%ul$ax5MY8AocBmr z@D;zPqU0&KVtIW_W_|IsX1`n+zBpbMNzSO-vr~%lNanF1THJX4yCRSwz`t%*{S+N^ z=`a07;Qy}(kpJWV-w&$(&-ni&kR~YtcqRh^bRYkJ9C#0izxU@wfvwW-d@)cJh`+yo z7C5zVe_g0no%LLnX~k)CyC4d~+&{84QzxM2#TzS@1kWGqZ@hrF0S*Qaz(WFONZKes z9}EC#q9VNlEAq8WL?TP&mU)AE?n0wDjIjTUcm9?1MO;q`L>Yd>tdys5-SIw)KrAYf zJGspmnye}AN!^*@$wRBVYfY4m6CFT4?_TYXd1Bv&^^(Ws=&CqQP1(?@uT6g+9|~wA z9dwxE_fwG)Yzo4D^yA8(=;4mSYv<7C!e1>c^pAO^#3qM9=`s^0e_PT$Vl3ChKm9Y# zE`DX%4t_e2E&>rlxdo{LidI|wrEF9sjOgU(=Hz%cfn_Wqwb=y+w7W&z@`t4D(#X*v*_l9@6%36i{cldyHs8ileYbz zzH<}j!(CcCTYICfvA# zHUd6BknQNl4bdg{_c^*vT&R!w6%jm3>NOwAk8JExhmPr139U)VID+(+Z4GeulsyRq z6GZJ~IYpmh!ybi~sJ+7VoN9}F(}i*WMnj?$^jH7@p>f=vBaeN55BSBdTyER9c|PO| z+R0ArgEwrSegsdjfMjUAQ^1P(AaB9MzWsU)LWQcAS)5Ae=@Y_cadm;SmhWxD>i+X4 zQ+K@i{G0Of$<*g24(2zbs0gK056jf@YbM^u)p8z`Z!jz1L@na1jYMeO>ZrxqZ6OvtD#@)Zh@Se6{>|_nd;zs)A(okfx%wQ zlXw$-mGG1b5kIRYwbaZ|2 z4Cl+k6fkDr=qA3s64|O*s5v|`U5zCpu06v8z;w`opkgTn9f7bO$G<}A?dRJHL+kza zHL8|zjjWr9MLYO$qoaBwNv{w{rtgkf6?A?EIsoa>uM;55xcD&}1`7;@(|(&wf41bu zQk953**jI+3uTlY+X1Z;5~gK*gEBm8*uFH^H=Y9Iqf4a~+Hk0EiA_h@(fbe>QI!Gn zlC8wg7T@eDbwyd99GpDQN*x&IG2}A0BD!`3Wdb}eBOQ*pi4vClgj4l{d z!^Cv;;iP^Mb%`*ZSOy6?o(H)irJbK9dA`+e)=3$Bu0?`&6!M{mwK7$ zs?g9e<*v_XE>?E^HErG%*{IJcLsn8?niQf)|mrA@8#8FTSBqPua(s>BeIm%fCl0b z&?xR+Na)s%o-SSUJkV86J{dcq3)(PcD_r?`2u zqjJ%C-qVldW8wxM6PM@6NKwzqxPbi_( zL+`l^(gSTI4#s{OGW1rS0B`;QU>JmpDB$dDmFhkY?s+YStRmrqjQB8WN5vKm&y~2E zIvC*Jr?s$ zpR3^QI2l`c_uIZb1b=@4?u>Q{K8OcBuU0|``#E=xXf5^qS!!BRa>p>ip(kI45X}sz z72j_axOE~{sea;vqs(F4;rJMRvkmHbd)BcPE8ExFfE7!W?ia1_$wLz}s)G-13#{Y% zyL6dXUgN;R=b|^&0}I!8K>&v1;Fb@Jy7M+^b7{-T7*ri8w*%H!EBxo`RNg*Fb|KfY ztH{mNw%$ExhmQn8S#iBtzH~O6>N);AG0f(JDw4ZBcL*{E?2Q%8tbFT4|_>%Bxw#HBL>5Q3X`z)IpT8R4gPRU%!&EVtX<>W;Vd$F6GDkFq~I zMI^kk`T@PY><5y%B?MA2)qirCZOI|?vknEqD`yir+XfFO*lHG9F3Xs-osOv%kFz}xxBwbMh(J>d=hjW2;j zD_ZF3d2K{q@ZT1}HP`02kmfpzR?Kw*yU-pvQAKbWmw_w^rbzeGD=d-?O>iI}z`uRw zb3bwM3sm57|LY0LP_E65qK;B07x`CI88Mih8(>zFfn43PX`JN=y4qj2w*I(#9f?eP8nqsTF6;B+~q zW{Q%>PsR{({m^B-3#t<5p%zor`RVW-MNRcm%FG7~;u4?|M+i}|8KRiBW7@7wS}lHK z`fBxEIL-l08Fk_dxwnhamK`{8A`tgYen8nYFap}i_~OvvCizprwiPm;V@?xyBpqU* z3(Qj;fVjAF+bI4n){Mu>_oR7D`V7l$DB*!(uaA+-(IpGw1OA+-U7bY71 zLslCq`cqwXZ~pzQ_()L}2(wG$U&(_`n%%n*@QO6`QB@!xNzp=lIWUrs=W$o$zIwix z&b-VDF@|b|e_b^}%UuwraQAMffS65s|;ub%0W>pL2%4H!8}2y*j}UpM^p zPlQJ%`zfQhxG<%S@!WA0iXn9{XS)}ttX&CE85b*tL#!t!m@MeAkBqw9Sk*<^vhn-` zR4gXie|c{IwMF;+R^F(d=RU7uyhpOU;RT}b`w?rFlT?I#T_rrGCj|`v9nn@8zb2Zv zArnoEPIb)O&tDr#KfyLBXkvLpJd93KZYeR>@stIwVw+Y2@UMO=`43tU?BbvUkiKGx zNpeef7b0>?3z7gd8^jfKqf(pDYq2s!5*(dw(W4;7P{VrY>aoV2bUnt*pLYE=rg==X zJBQLKnkwFL&gVygJcRhm@wkE@C(xVNXGwW9f`+b%6t>x3`VE&-rAX}^O1#`F)J*Jb zyZ^2CBUjBHbY%LRQ-;LW6s`&d=#P{h!Yc3}yB4MV%pa5|ZNP#wC8+76!`>oIV-9Yptpz z$?ifvq_O8P;UnNw(?@Kz1$_Xg7dJ-zRoHec_7n5_cJ6*6Y97DWck#gYskcJbk^mlz zboqm9JDdJ5N=waQ&C!o72tljJK!lpBBi-v!ai)W^X6Y{C9?v>^qsP1rOXS%~QK+%W0pB)Is4v%BEh3feLUL`=Tl zJ=}@8el(CQIKh0MW9c-EvEFYH)kq5V72=S_{0>;8NM-t99-<~H0k5E%4dZXQLQ^Rc zYrp}jr*^HsI>BYzwO3({V;0f|A^GW~&C4w8b0u^ig2FqKOo{Piugjbu#=sW;9{wWm z7lFSB{6*j|0)G+s|2zVekiH!nK=4mqGJ%5wG9U+j-v>OyLHzl9-r^5_@DH97sPp&x zlmFmv|KJUQgP-5!yZ_+t_wT#69|M^WxaZIQ;I$$10r%Hi|KMqWpS%5TFZ>UF{|{aj zIEMaRzTpp^6gaZ{{d(XZ{Kg;r3*Z?3clpXccs%6)>vgZ+_-HtkKJo{qh*FnL zv3rOywjHhL`)v`OrV>rc3K!ZTcqr@xDZy~DYgh3#nxdtXt;lw=QOJ~5H$_h-6P42+ zSY5NLqfP+MNY(0+%@#7B;XL|cK5;lpg3n{^*3#RER6*j@3PIeWf{0krTAJ^h_pq)4d65iN2OyLU<;?cacD1hj^{LyeUU|~TI&K5ZRA|Jnx|u({k30DXg2_u%ViWs=lcp=;Mi&eI|esD^eJQAFWCR30=WJd zSBoiY$ev;t3w7b=b*gW^d85nWnxsaT zZ>#wXS=8t7S9oHfJAJef+Ex0OfQA5H8xcC*S4;X77?Dqr&7Rf^2HZCeevq&F<8T|z z6!PC|_WsmK@`!~(w!Jj*4R?B9DSK(eh}q?2nFGiM=hPEYWg2N`pO9bR5%d$({}|3< zTK8#UP-`)HiqH00)MsV?`Un8!`h$(_tPP*UwU7kwXpE8H`cV~tneF##3W$H;(#rHY zwUY~jYc5!gE)5HQ>e7Uy`Pm$sXQ4=Bo9#NfFxY4^WL_{Zv@j#Lb~Sv{Ap*^Mz^y;R zPG6(F&L_>W958S?+qVZ`Itp4r4G@lf6^ZJ_? z&LyG5e9jEmYHcTQW6prWQ3Ouvuy@cQ9zV=X`fx3&x*|nHR6@Z|2N{yz_%7RPme`L} zM>n(AKXpDYDSFTpO;y0pDr)uQ6_-e#DaHAMjgCQ#+BA_6PO$RDmvuZxM^5jHFs{vd znlU!$pawHlCQ0b`13==}UPJI$&TZYdr1K&brWjGSeCocQu1JxAjmPhPPBiqs#j!%b zcy^J`qiA{lRQE%){}Iu4x0v~{2`o2)rbVq< z{WH8`Tl=ZFU8-onoS>E<(c(%hS+@Mg(aSIb2fzbo0IL}|+$ZX*qQ>IDO{XZ z&!>Z3>w_i&it>8k94G;|6cT5ZH`~Yg>gm^cP-HmVfOotoAY@k|bs#~*?P0>%X@$6k zrc{AuDOLIS`~{LG-ZHw?xtPZq=SOrY9k5Yph|%nwPLZvd&l&!`e0@(u&oDm<<-Wfb z{e*no<&QxnjH3e}J0tzhQAU5>ja!viX}s``emE%5_iGRMX-5CbC?G+%EhBYRtg@J& zZdRhtJf|S=v1by=K7-uKWdY`LIgJcn9@uCnq~Iwq5~bk!zZu%XmTTmb6ZtZo*~nVL z&+xUWb9Cu z)l3b#_{98+F9Y30XE_{*;1X&xv&o{sjYAtGk?UG3-0NoR)OWk1J?$2xYAz^`c~zoE zuG-sb&9;67<^Y1^8@x@_Wu$n~VMW~m~@kwLx z%?wJ^EtJD~=h7mQumQRoN>4+9#Q=?e` zvx==YFUj=dv0jU702-XD7!49k)QV3fY-_8`ODZK(vz9>%@Xc>QZ@Yk$_$cv`mH?`4 zQjgBN8mwC@o~TQP?nV=q0~pP_sSOx8Oh^8dNY? zdccUk!u0sXwRu4JD_|!c53ma^SVd@E;@D=3QwVLs_Vsn^&;=PwfON`>>DTptRLQS&&LQRLye6J9A2l4qgQlL<-vBGfDxf@`vw%zka~j6Je-72g z&!!U$^X3J@^KniW<=7-L>O2OI_47CbAu0tba86esIh7a6tDkKns>c_zztTUqj(ta= zm>B1T$~Aq68PH!?#0%)p92I&?x`qWqEnBSxi*N0ImNpGQ6a*W)5Cfk8Nw766i*05+ zU18&cR|D1iD>A1}bHSs8I6a`7I=+3%U@6 z$XK-ZMVEbPcQ=3k4?v!$&l;<@0=i;7y{_w%0AWf`m0*$1Jr$5SbV$KS@_ejL4{K_U zaOUlF#}fJDiGO&+7nf7gom*zrh>zPAwqDTSA!r?>*;KC4r-kcyk#;PR^g)}b1#QC6 z33*6LlE>3+_@ ziZOR?|H~Fc7xLFMnW_FuLjx*mek z_3frFe`}0%AB$7MMep7Bc+nMxSPs{+0E&pW;q6-|F4>cz2DDkN8o78eY z5A&CdRF{BFtCaX3I12>=G3h-FX#Zskq6-t0u5ro8z;H6Ddf^F*z$MWlAEg3X6LCV< zZk{1{-H=3iB) zt>cklmxzR@xtUbb;akkI&_o!61{^#A0CciGAj!V6qwdS{~)q8;EQULes?Ag#d#ATru$#E zAi5|(x`H~k9aUHikdzywzAEe-*LxK#vdqF(c<_3?T8FtA+WjwE5M7iYUHD{qO?_;8 zO!76^hW@_oO8j2pdtGZ5lH`_!SntImdGqz5gcgp5J*j;H|&&Z9sn)#Dn4m%*1I(Q-1zb zcT`0&9bm<{r1h0|eDAhT{ki=ZFd%eAGf)hmEcyyOVHgIPrTmco>stgBjW2>fw5@JK zQkA|m*etMrxD6>dpel*7A+;J0R^1w)3JSoKO%J^EC4;x2cobXa$%Mo|iG85!TxzM0 zG^}^KyEq%1v%z?FTDKHu!eVDebT0gP!<2TeAb~ym8*Mx{FnPb$`xA$~>sa-3hOezt zPA+U17xD8l*Pg#UgtoC1Y1mD?H%p}w z?o~_wqr=K9mV_Zf46|%`>lZV61cQk%e#n{3aB7YA{_9b3fUWWHZr7BPhMt#}@MHva z<<&Nc4{{D8`ZwWlnRClK1ugAcRImeLkPElG@Wvv^s;jnQyzHnnQ%NF62&-5|Q2}lH zXmJRY`JFRx4%y{9x=*E~57KMV(8=}N0>;$v28m(a9~`luGF6IX>LLXSSjYH;2bl?d zF1ic~oBeW5e|897V)+S`6kXES zfvN$hSg8%$Y8$5z%wE9scCU#5BBKWCx*Z^l+Ky>$zyq3crU;cq_ zLRioBC=r+9fw?d5GWhDf&`fPaB!3CJsoS^J0Ge8<_for$PjETDuney4JAUSX-va5m zT>AAf@k_`AY6ktUBAwAiW7tzQ$i=4&`AkCts^EtlLa4T8e`wwE)#zRWe| zE&*omQ8i=dA z-P7mv>C@y2qsnn#5j{wPM$Se`r*irg5ta4kBj`U`c!mP2>w$&oaPe=6k`-GoNhr88 zK+Sf^$j3SGid`BG9^6X5P#MqlA!6oHXL>B>wBskXCdKuQcE-B6*ff#tePi8L$Rz1u z$@taF2CVtCOcU3QLK!=i){mQSA&fsxU2n=hxltF0ns{n7t;IrYZNcpOKJP zWs-Ql=XY9>`G|#;X34bt`82qhg1y|gtS)@t)zF1Du@B^bE<~%2K8NysxuXKPxSa{1 z0H-*=xgoJP@@dG|5_IMnD#e~hCsjDSNM6+SQkY&iVRejN<8;PxJ*OJ4Jz}H(s+%IQ zG!E;$co3@TF=E+Vj3xbak@^4-Ye6?3;ky#nyUZ|>^*V`_NslkW4?YX!FY3R9g-Wp` zEP=R4fx|x#84E%AoLVcwT&=_F`(z(r8%FptGCzh~3%^}_00JGZoLzsp>XKzs5Msfl z|9Bqc(KhP)-4|eh&j=v}WB+|a@x_>o&sWhO>u0Xo+xAlt9l}1nv=t9MrGXPy zls5UU;4OFxasq?Gy~#GSFA@he+zQKrRfWMAuh<8UF5MehshGu5g)$jk@OVEJO|7Jm za|dz4O#g+wIu?o-TA`-6RVo72q`5iWSw7pW={(|NeSB)xlFiuX5W)(j8YlLz8N!l$ zWe(;viUxRM8hC1rC1L2T#F}xMvgDQ=!aj}|-PdxR51$FzI}3_zPOK4+rhG$xqdG`8 zF}n(aFiHC;RwQzroNRM*^BtjjUGy=hfKtO)f(2%MD8(t$Vf8;^-z4m+jr@0hO;~LyAqKCK8+lG1mT-X3=W%d3WeCWNV^cW@%UA%?;3`-jGjzj5ujI z_8U)jg%A!YvjEtm-+eR}+ism9{%!L+iO0#5Fm)!K_1{mnw|^EH3uDC}#=q-;`c%oR zRMfsuKlg1!X?Ighf??OH*40q4q$oTsQgl;NXwa@&pch`{P$NoPhA%A}x>A%8 z_&9r)m8Hp%TX^&9_7ulShV?!hTtNMJ7+e7UubEGbsUbn^g@D`-g}gO>O=SJ;q2Wf8 zZ6~VK@D_(?&EqrA=I%k<*&o$_9S9UK*7MB7b(Gqk3}qsQ1U&{IrKXSRFfl+ zy8KCh5cq?@9|Zm&@CSiE2>gEt0lHgd39SGB$NwZ6Tt5o%-@U$n3I2lrcitR)4r%mcEE|u8Il1fqo22oLO!S9-?TkQ zFa2!e9BKH;Cz`W0KJQwaN-zc6r`|n-mQyt}m}qownw6%_EE(N+7sLHsV|Y;5u_``G zJfE+>(dBSXlxzY$bvI!xz3*#Rk$zZ)W-SDk{6h-pP?%p1z`Q%4h0wm~mt2g8!^Z7) zV+(A}$8&zM`mTLt#!u|U-p$bFyfLIY84^ve`BBRWssmnKD6iJGMJ<)ldeL8Q$sTp) z?8IP5*t|)|54nWztS-jciu}Nc9~3%^R+S(CffKf*g>Tq{QvBv8_BbE; zEM@8>Su5@xz3z!nAO1XQ9+0-L;(w%mG_ppd5nQ0Yo@QMkhg2Wli7ZS9;p4Yb0E~q1 z_nb-!f&2=72h}>b#N9UG0fV_ybC+{Q6Y45@zx+Aav1`ahaX6gwjQ?eSE}W7jyd*eu zUxk;IRIhARzuPlPteodsD}Az^EG`wG0_Nrb?Eg32!wZ!OT>@kFRYr7kO9Yzk(W?Q| z51&Obp}i~xhlDCUBmiff;1(wUd*?g-g~nO#KigrFS09d!upNH^fdgw^jG z;S&thfo6L5c*TV47_Q}y?h?}bGOsW}TrJdgVZlxnCsv;|s*v+u2W}4NsXXJHe%!e@ zOe2R-_Q>@lf=-3I>T4HM-4ZAcW_1N3&iatHPng}-{GlzM-fBB}{h3RtK}gPn%n{sF z-X3otIc~jz|qNG`rhrjG5h>ucg1mA>h@nxs6 z@mE#qE^!L)eXr5x@n-Lnw~K@Uy33XPq{rbOqmhOhj~z^J@2od|9U-<7JDY5 zUk~lS_w5CFDQh<9c{C!8eSwel zAlb1u^X?j$UL0YZj>>y;#My?K;j7*)>U<;0D;{pa-p=3R@~oSl$!;dMG_pVM0sSO; z`&BznmZ0Q`G zopR@An4&jmT;Fp@h}i@rn>q%~LkHg?#Nwf1+7FUIjZq6J%;jN{c_m~-N!!Be7NFn{ zlMApSU3^Z_2)ktYtp2Lf$ug8H^QV)O8%ySr>uN&6TX8pH;A8N2TPA=yh_-3Kl5muI zX96)Rf2B{P_{~&Uf3%XVJpX+e)ARQG)%+WLw@RGXoJJ@(=VqhXa+|o9erD*`x_-^I}Ff#Lsc%y=5sikUR?o z#4}TUA%y;kSJ0)?h@9D9WD+uaX`3Sy7OW;D2C1x=sgLJkmAp|28;?WPH76uxy52h` zE+q=8=9z?i{(Utkv9sSm5sD9jFbUo`#ty&`si*vu??p9$pZq!zR^E)-C*|u6$q_Q8 z{v!bUzYDH*AF~e3<2L=TguzC2Vo;?vUN9_1rEgA55|YA?q=dJmo_w)7&E&#KpCbd| zgukZ(^gRRMZ$Bi7Qa~1rfj}JJ{o^MvKRa@=onTQ;7+>scW*xkLH$F|PGaEn6B1br| zpM-11wk_b#F@h6fME*8GW4~sEYK|-pdY73B|7!;QhQLd8nS9r6QB#OhkD4Ha5v+vN zP^xhp?9lNlJcG)$df#aGm`Of{rKua~Y({+6v;RcDA0)rSq!B~-Qqka7z(pj5$oA%T zvU4v%xiasFDe%ozKS;3>Qj$x-;QSeP`eEQj7>orDMo^=P0pMNX3wpCL_`nK^%q%{?YCFH^aAq9_j+71hOk>iBof?N_P zv5Z}ZP))d`Nv7@Ae7{?E70t~;Xw)Tc*Mk|{S^f-yArA`z*=UY0SHFDlg?qyixBh^- zjEE-_^dfTK`bUf&EpeEAc*m5fwujlpBWP?3!9jKbBjtm-bMv;}*)Y0!<_Y<3mou{3 zRFnihFJwJW!j;2Vhd4tC<`iW8h2EqW&NepJ>-~j&bxJ(ywzh~yQX-+_YeNH^4^i=J z3VbfMGr@H#{1IW0cu}Ats86m>NlDb-D)pen_VM@1=8R;5rxmV$yLM79dCVa^Ixfjp z&|VS{^Ja?>cjcRH&`WYH=q6jn?hMeUM1+9?eF{) zYfXpaW|d9>l}oSz#bJB|~6JhsH5B1y)F{|oyycl}>IHmT9CeOTtv zS};7vwAPC+5Kv&C<#5M7oEM)#2xIdaBDb^J@%By6n!}rE<%m_sV=gt%U@@Sbno->w z+OZ1e#-FTB6^Xkne=9$WyW!Q;OZH8A&w7O<$PQbp=LyLD==&UIYO(jqN>EzA%Q`Tb z&m=Fv4*PnKN!(?ACE2|A=Ph!Y_f*IT!L=ymgVY6_I(YJ1HUn=WFFQ_R4P0Z^u-yVG zMT&m{FHheQIDt?{zejO>2!P@~z*~%KD~dLSAcL2BVLti{7^VFkFZLCSb_EO-!%~xbd2Wu94cc zGfV|+6%;x=WL*`A-g%(UNYtnNK<2qo&|{Ia2euQFm!;FI13VZoO{4 zC$CJTSp&2T%y(V2p=w7x>rl~8t@;|@GmKgPW5WV{bwz|+1g72~FU8mV7f0v05x<72 zSEr*rh9}0BqcP|%rYB&A2GgL<*c$hsU&*A~S)C$dC11fG`xiD4fEWKYaAY@s7(ImW zX*au#eHMTBF^|3but><0kmMRCkn|QhpOV1M`l4YV)$8-)NV7=IrrgrMF#g!YI;>>BXSb>J#ypEM)= zU|ozqy4@OLW=5Va+VN28m!5qAbxG}y1(wBpq!${3!dvhGJA9tUZztN*&Q*R>eeygdZw1F9kyYJ-%6q z1vmqZ9$XKrz}r4zN{3mCAW&LnkV}m1fD-AC4|JG_LKHR#W7=+_kM+qFm8GC+!-em+5LS=Ue%0BEJ?WCF+KA zeT%s_1A>%>WQtFN|Bia2xch}+_7(O#Q8otOe%u+^_QGUw4xv2^@Z9wj46v+dhO;b# z#d_-$zsdvSmd`++sV^Zf%*+aWfF!oE8_KtGwHh%XhtFzQC~8S#C2IEzEboa*B!&5G zTk12Pxl7ttI`Nk1CVN^ts+F}MSwzi4tDN9L_*7r@1529jR*8cMAU}dr@{a4iz2a%^ z0|s4XO&!^X4rpCG&x#%Vcq)X!F$8;bws(xCa=FYrp2>`E=$<*hUbWYedWvMI2~`gp z*0)0YwLmB=h-dK1)9(EBlQt?!4ZJku$dID$Ohn>6YW1ovp}(*{ZGBDk#h%D6=r^(H z)$ayBdS0*RBM(Z)Ms#5bqFsDUA%uE>R0Y|kem@mg5ERn>24f}} zkJ$S(QXv-@G64DviCoso%Wn>n6uWg>c%rR{q?hlF)b~$k3XW0K`H|M1LY_#RZthx{ zH>F~iQgl@@qw5C!!}q;OL%bKdl&?ISo6x!_G{Rh_ED#Q89q_BU%J#@z#xykD+r4a= z$mm%^5Xa8|>?0LC3$MOElk?6m^IwqPT$c`wjmD~RaiPtc=YI5EWe&jp@5Xf^u)lBh z3fOox`p`L zFz>T>ja;ZAZ?5 zft+pOT*EJ5{z6mW-A{#I4GP2XQZFg4@(1+M_*}hlF1F=oEy>{1mT#EEiZ4qt7Vx%^ zKGppv#D2}Sn~Hp8|3WVOppCaUe8v<{ahLS3KBqvbJz|i4sT2fzV?$%C>1MgA=7#3O zXRj#LuejW2x@!csPOqLM)ZZ}uq6p_0Ov3PF6mq%R-yRXp4Bs0sKtR`bUFE9l`5=&; z2Vg(!JRTz9#t-XvJdyLNPC~z18B?7|DP@{lS)#hKI?)Zl{_pho=7j4)h>yYD68wMA zX9Pe%;JaH7E-?0vBft3$UPJ|@4ddIGBbqFFW-(-^?YPmGhm`B;{>Fr0KXZNr^f@Va z-=ccl+X0^2Q{_j?@AJtp$Lhkl3JFz`=Az^)0*45zF{7A%=Ssk6G9qo9dYzkoRGqY* zfW=Sin@ZPI+oh`ck#~%w=K4bU?c{Q4itVQ16oGc|q!e{s?JDtf*z@|Z>`>Y8>R3x) zKUYBRJrGX#5V+(?kfgY^8IJpI2)@~mT)F3aJ?=g|`;1_$48cD1;Ue3Ii1;so1-!MH zD<{86(?Jmh%K1M|Uir6KzDk!CHt90v&MjCzlY~i3ZpG+b zuxC5X{Ed^nK11)M5+-4su)o%{>?b9Q=pHUp!25gn`syFC_eDT$CWl~kpWL@4{dMrl z(mR;#)!RWoPTJmZM}kcHN$;;i&LtTmSqo==P)=?O?=p0Z^lZq}1rgQ^NnS(KHiff7KZ!wUt#w{VSYBf$ubkAsn-lu{6iR z<`>BdfjgCD#UL*s7?Z7I7`89)-;PIBMbolNYu9l#8W~EM$_@0MN;A!IJ!Sb0xV1F~(NF#^;;-c_6R%>@!$mDxO|JZ%^abWU z{wU%_RAA|In5i+E2omrMfG{rL6er)+imn+d1n9Yrs8|~ObfCFT+6*3 z>lcf*Z0Y%TG@;a-)Ho$SLvrfKP!YpY;1&7fKwi(E^ap`I2>e0d4+4J>_N{(l)f zq=#I;r+;`i{|}*G^RYN5R6%*@lx0?CN$fh8vqBwlDHn%yo^(tx$iHm?z74cv76OcA z-0$jZd;ARWh5bR8X0D3Wz_lcuosOFRMv-@!W~#LIqZbNAr%y-iv^LW-nT@3%892D| zMY!x0nth7NmCW$QosP^}W8P~=Muul7Ns@G^aV%8N%FVVIbFy>JtYwbNS$76nrj#DX zSI9#i?*?)>|ITS+HM^)D&*U`}m74lkvXk?|+=7^7tYYHrsqrs8h?$a{Q3Mx$dw9Xu zu$5svDFBYGg)L#KRTRb=*Y+~T00ZOI`YLOJkCjm~@{XoRr+AHZyFcG-nvkfHtN8ol z{V#%``o}MjaD}(}Fdyr+Ibu6L)gYXYeRq=-$fX9;O-0{Y&70yG`yI^$>6_XYV>uUl zkBf%_>l$mUiN!~|utxHlu2AK1#f(p#gd7Kt5^)784w*;=5nEFqI!DyOZxlWq@!&FX zxjaBu$@hmp&&R2PBDRY zpOFcW*f+hzY3^bYV!|(ZY9&NTd4>kVWc8$i2$j0IJbJ@HJ0 zWjM_Q`Ad#M#ga=$G@{3mC=tC$As{1amV_Jh!=E?0huyddO{+hA`z5Lbdafc1F{ub% zqu#cO&EGUoKWeKtN#Ef2;B54LupjtgbZ>&YCt3?sAh9$UW};pRD$_TC86sQNz|YK= zhxq}r@4L={UIp_51&Fg~K+ZG}Q2{4rtlM)!5T|w8NY)#CKcC0fRA=Vl)wbz#&wr`g)W@Hj@Ku(Wj2Ry&%Z z9YX>NI}RD4(Vlc-&v2m~bsND#iUZV}NYaegM;s1}sDiSNxb#H!BplKT-#gSQn{0*A zJoO`7AcO{cZ8pi)d?W@lMf0x)Cg9dnXBvzJlbbU zTY;(ANzAoe3ZFx4@~ZKBZg?x8-nc;@6DeX2#3knP7p|u_kUSl$f4$H3Xb;o))WnOA z;x&N%-@2zjkrjx5YcYS1yD->(Cf227uXFq{~x1sMbC%{<-H z63i=?sE<+Ym{6(Crr!mo8XJbbAg0Gk&=1#&dKi~PimMq~jO~c{ygWlo#+o<@X?%-n)*P~#AYAPk?9zN&D^^!2^EE##Bo#K?r-3SFvdNLs%7Z7IEe zjuNdRpb;@Z!HaTJ-b7)tn@Xw3DqqS0GxrgrLF(Ycm;F7&ot{qzfsfA?7eo?32pT}c z8Yr?IW%N4D-clIjA#7^J35hCV$$Ny7?BgCOQB>Tq1z^8Czz|@)vpbqcQx{9HQjOs< z*KOxprT~Bg*kmB^cxWIK33k#F^R~t}Esbs##=QFwd2i6XCt6DxQCxMK^r4L_;dYVo zo2HBrTY2RT4tP-5nh^)B1xyqy+1~CiL3B54fV#UGTRYIsm;GyjH6_6@i;YkXN4Cmx z=qAdKq;3KdOtn(u1gV^g?4L5NL)&(j$(FFNGw+``t3Rp;-|b{SXAWXPG^BMztW^#EaI8%D#!df#&wIsoEC0l0rE7!bj=eCKO5|4m}1z3xi~O-4UJVU%yYQD zO;zK%?%%mC(mf%BIpu6wne>^wT3f2es#9j7%@+sH!|~2s+!|Cq#6@*uDL(z)<1YBB z{K9-D1iK5#(W0_uwFoK}TLJBgoBkDLYN-XYV{jS|l10mp zvj;z(UeDYPYMg?yGHlq~lhC)bL(5=!c;0c%2i|YmK70E)0j-q^_wN!Q?rf{J(h<(Q zGP_3o{nFJjVN@-?PS{JC;1T5YnBMJ-A$A9A`JFj3g^1*_i=SgC$5_;n`z(c=C64V%kGcNML`6d@eg6wWW~vcU(khQ z`BiKr%2*GD^E@PFNbq=@b=xn{6qV1sh)fYi70wH0ewbFGF zX->eZ4s<7R!x0XZ6GTsmkIl<}aV|wYXRGuFjZz&aDkgRYXchvJ#=*49G$HuYqV_$= zuVowxH8I)(Yg_xV)KcYJ%2z^MMs`u(od^sGsUL1TcwGC4HE3sdYG{>UXrr;>Dho6Z zJp!io$xbcTVIt4puKKX}@XS7^seKbVVWa1l1M`4_V)W#i2*Cb-Wm^*v5$EOjbE1vQ z>yoOdkbrX49}azS&G^7#!@u@ES!+Xzmd}%+E9uvb;(b1(n^>$_i8)#Sbl#8Ov5=L8 z3W9xwY9R2PwgZX=Z{mE{W~9yWDuw)z)NuFuo@HIKkrRxIPCabT5>i|!Z9c<;;}Ja6 zHLP}{^EgM)4K>$g@3#MFecZu zOr}%n*;a36Jh4@xe@foZ5Q!p8zFM{f1(j#gjQd2H(dl(5DCoxqv2ca$fMg%VCX<~N zX%k+bo&_Nw_f<95){7|a2OIr9+pU@7@7zzkIl~&`bjHhGND5avpg{@(ZFLcn+OWC# z)sc@U#wPQZO#HOvzZYpo2mv^)b(3K>Y_e{&5V2q2?k2s~&OQt(j>p&KCLErz(9XyP zXfgx=>u&U&C<8Zw4?iEZV*6+KFBKa*NWC%m#Hxao;`z~)vhiWKKa@% z*LPN#s+7sD>~n+80^$)|acZzVhn-y^S|6WKwH&w5=qs3k2OE)Ip97iI2+x&X5Avl7 zGJ3IX6nuv~1R&DEn7N`x$>)5e$fPMVmg*A@_K_GW{(c<&{SI>N+%_H%LQmXjS} zmInL(|K|al!B0m4{#yb6K~g0c9}4hU@(w2?aN~sJ@2_9o<$=Zg;NSbedLHCD#U1@6 zSo$FOd-}aQ|A2e?uXp|d_tz`H(?1aU`|JL9_JjNDE_e2W`@H3y{Q#1eXPNuPI~uj` zMQjh#=+VdjAX}?Ka17;GbtvDxA^a6IAeDshW~B~7k8!%f^p;lMHoc29cK5TIe21@W z@ndlTMgkd9Z#-W4HnwNa=b!HdoGtFlMq~|~oCdpcT8x3Ef%91X2`Hh*5(BhC$c`#KTEdC_Z zg*tkSemlnuFC={h?BH2~bRm zTe#7~3~J>Uj&qcWHA1qX`Mf_QNp9moEl=1^eTf!=@cQ{(|8?YhsqRuw@fdg071hTI z&02w7+@=pn2%|8Atir{*9Ar#~$*_wDgl2MkzFVN+ZajNtZ8STmk;}a9Z*2^sL;fy4QORdE%Ir* zzkK#VOYzt{3M`f&kn6+9$R{V=$bAhQn>sU%p;bm6M^aSfYs9cgVp?Q0XFX1u8MyCC z;zOa7E*)o&C*#|vj0}fLa4f9p7g8<{6980X(CU8*b^boeA2JxbCnCH1GRcb`fGUy->oXtK6=}z5=@to8GqA?(8FoEf{}wGR zoec<@vQgvU0gu7{i*F33#?hgCNo-tkwqz=eBT7O(pYVrXLW z-)i2A$G`{Vo`~WWE|C0lj$RpQ#U2iZ&BhZr4tO=sW&_jmBiFS0p$(}7#A9Hf9{+pQ zHomG`hQ6;B6Z2=V+yvcR?J>1~Z@Uit;zv@6-wSK>GIxPW|KIJH2@3!K0=>T*e9K#D{^%B)=J;+b z`iB1N*j9sy?kWNOel)bP;&wEu;}HKW9t8OeinCpp1BtpG#_ecx^VOj!a)!`aRY&Hf(yQ>RDBW@NvZp|3I?%1Ofjcip+ja(-KI@+Y{S8w-7?`v3^d2akGgWT2lrlDNH|K#S zGQfTa<6ZHI->anCI&Xm$r;m&biLUHZO#jWt@s)veV50cu;!4I~GU3Y+(`D~*f&^Z5 zd&MT67&-z*cA#S2$U_D$qti)P8(~Gp%|uC6{tU@pLf-n=8(kRcr^vEJizI1)cszQM z^{FGz@28a0P=R$L(Y$*d!858GP1c(Sygsp?Nojy4f?uPckQR7gQY%a28qDV)T0t!S zQl#I7+iM@Pp1w?rLyI90Y#e9;%Nx=&+!KAh?p|hf zN;v&as2}U8+oLq6Lpy4bK^L7XD{hF{0zeZXFHH%%vRJWIQ)9O+AHcvKKM2N*vKRAQ z?qNPpvnM%*NN$ncGNt=4FUfYEhd96VlO7~4+R|Sqxg^Ec;sFPte021NPVPA&K~-}K zaKZ+&nqvac}T>DJ(^kbJf{Q?ny&Lzz0~EMOy=sL?p7 z78*iv{MROO3jhdIb>Bpy=SAQKy85iXvYA`F?7~^es{NSnLv74k(mUChQPv8)Vz)V; zl1W36cVoFB78>6kkSRfx!fV@%GCiSC(0lPH*8x(htGXi^j726(17C_iPpHLy5qYHE zdOx02Oqm*9Drq?t66I(#f1d4hV`KxIU#;7jT_fqRu#M`KwX-QJF=xVa;PDt=4R?j- z;Z=HR@F)e{WPGu6g^pU6^}3QL-6I!>CD>!E0s#{cVk^<=z4U zJU`?a|IVe$w+|kWk$WNwAO{xn-u^eIUHf{NpE+IDh1T});<7M{2iMAU9v_}@uh+x_ zuh^b`&?<~-pHir0CRF>0#S&dWvL2ECaIK~W)r)p7Vs8l3BzB_{MU^S$FAlU&?R65I zUpNj9y|Z$4qf|7PkG*zAy$aC{t5z1_6x&c61`>pEp`^b~zHEM*7Srywv?+gdtJ`Hx zBuwhHYSXLhu}p-U-&lVjGl71&FMyv@AN668s@@E!{ogGWxgSjcb_j57Lhm1M5>n;OiAMRb7P%=GVBm!;-eqcC#K*nc?}uRjOsuFWHq=UMmg#} z_F}Iv_FPr=t_l$}FV&rQHI{nXnJcU=fLF|P=!h&O!#g&N!*+zs3jbbpQhwRqyJFdm z+yis?`QzJQ{C^h%r}^TW%-s`#>jF-1%)Cm*M7WR9A8@jqSQ3zrXO0Inciw#kZ%IHu z?!|m1*6Ad3^GNJKX+cYe5oNhFj!kM`P-L85@#*ArRR(~;!Bnjrr}r1(cFZqYn|vjV z1q(vxWd`q1SX$J-ifujs8W)~u60A2(GdTX#6ev{eb*s|#`olf=w`rAbADUkW<4N)P zT|}U`+TEBrHypp0G<`aLuvT%Lp49=BY(jys!&L`h(BF!hCB`8s$?7g<{XyI$RTg); zPyw#psTzxSziROTE%2Cs=RJ472aq6O!UI3!O12l1SK)a|8|N1`^RqN(kB?t*?mZXX z?-T-uJ8wk!4Sig+`j^p%(ZQu1IMg5|$$V{YW!OfJTH=YET?6$Cje%V-FUy__} zI@}5&VlsqRA%1@ILp2TWu1`rJUKkz{7YKDT@5h|c*UGdnI^16vR_GV1i_VNqUQRbuZv0zWcf8Ue zyx=Fy(L~ks`D>qC%@_8%Fu@k)bjGby$91&R_ZWZWj{Uc??s#QDc+teHPeo5;v&)oI zI%i7j4v(N?Ngn(4wM&UjL0`YqR{giK?s$EG@X~QuSBPRLHpmzy5j|WE<0kcFdL|l8JBxjN?J1B6hF0?RDk+{kUnu!IJ=sm_2%Eo zy5sc`Qm<%5V;ip0aSSSi>F2&v_#UnC+^aay1E>!-wDuQ=(=7h2tUF$xAiPqk)!*@l z)@i08C~ffuFFaW_bGzpK0UGAa4o$3{e9iH1W!>=trjR|Y7ZC*JxMs9$xEQbT8`)@N zX~z?>yTt^sr-ghF3TpnXtUF#nl(th9<%4o;dCtN(9^Q^fn$Wy_ONB$RngrazPx5*h zb#4Dv)*Y`L$TMbHw2YSow(7^Oq+B{^f5@u63g@dB{nmxEcTiAKtC96@W!>@0h42#7 zrXyQ`)q5UtQIr4kB=fzn*13gS8!Vng$4is>t*n55E9;I|9)y?m@9Yzz`j_nFa@Oyc zx7Yc#n@l8HJ=|RuHsg_feqa&(TUmF!@*%vqJ)4PzOb*XpEI{dKM!lGR1sa(fXkG@d zM(qlx!B*7xx3cbd6+n39@lTp#kuKOWCPF9hIb0EB)t`xfnzZXIvmN-^#k<^%+txn1IP|8^7>Q z_=CV71pXlK2Z8@TBEa;Q{(o;1{LlLTM#w+| zoF0RXX%yfy;D7`^Cxh?#?>yYy{Qf=t$ld(@J-yJ~d_E7D-;Pv1{-HLHNt@K6agYSN zkVlg+w}1+tluM6;{Bz?TE--tL&e?Zh{r@jW2AovVfGxE^Rph)jUlV`rTlPjzcWqJj zHbqRxmXu#bC!I#eZl%{z z)bj|FZwT|4*&XkRD8V&oZjC#(T5w2yw{PJTD(wl3+xx?SN1nxj={xUR%f`#v&eDn( z`NwQAN7Va6oWx1>>)urO@*s($4(u-WSE-4^%ZSq;pJVga-PE&O4gzy}d&;EL6Zmfh z26^hwoptnVTZ4-kED)~}QNCDQN%Siam1D>xY33eNTR#Ci>Fs#P{zf#VT2ku%CNMCB z_H0Ay)*}9Q^THy?R70*{?3X0&0u#L(aKHH(`;n(uAM{fDDu_-dhD`)CkG=^pwB8f# z*fAAEFz`$DgqG7jh@zi;n}&2rB|C`#OHK;)<>tf)@-jibj(|&&HCQMhDd)khlu_wo zFTAb6{_-|p_>19h_hvbY5p@oH-nT1Q&#}yzgYtxCv@s*qoD#I(TnX?CANiY{_AE5b zBTHG^e53c!S|N<*pblcN{ph0f^}O!D?%6TrJs7)BNFYWT8fZ!ygO?2G1Y)arK{Y$rBi_wMYZ0nLROmBf;nKOZ;rxk{N?}y zJGA-GD6{-)+b7!3QAd^I?c2%&=&ey zRF{FfPKSke%6E7VKoITDwQI-Yd8L>URfaNLFhbC-GhAm?EQp}JEms93`b3C$D+tU6 z)TmFW0XYMkQG?G)ca8r@Vt3B>k}@gLD+;P%<?%zU;bo1A5-226oIT z%vy`>b)}X}TM@gLUITrOIa%&8Zazv5?U%L|Z;DGdhMTOgk51oO$0?A}~cNHT~DA2i<6<2uTd-M;RvySla^Ibcr8*rqi+@=nOJSe7bQen$l& zDnhhFuuqaP;dS;{*Cgj!Du+$&6fmH&KNoe7WQ|or2Q>-9Iu2IFd&c4W(EWcyE#??w<(14xmVkt{8HAOsA%buGaa_ z4eM@tkM|kmjet{)a)i8x&1aNJ_vO-M9{7NEm*>pQK65~b3A^{VG&^%J%)2^I`u6c^ zXcE1dTWxBtbuUzU=&{?QGCT-!`5;uDXt&<**LR)T?VaFVGo!v56*Zr_ko?1{{Ters$e? zi%WMlOH1zFrbw>lGt28Gh4lL)ObG{<Pq9 zkJp1v)?muZV(=^h?Eh|h8ANk*kIL=&e|2q%{GRls%l?7p|WD`r|e__s<|i%X4?X<=19mBRuY?waS> zvConB;G;*{9n*h3_jrV=6XFEiROIBj)LT_8BDu`{^0B({O-Q-}<&SQh{`dKp;87Fgeqgc-e8#); z?}zyRGqy5zd(k(P1U}?;rdW)ztyPO9gm3)uQ~(yINEl1W0~q}@K+i9wQDEdWz$PBd zkFQc76rWeiJQjH;+$gaVx;*Fx1!e^A)NJ6HZh+MD{s?wV%JsE)y=8%JFO^`9zzq?r zYEmLS*Ft#?R9~vi5;f8I)e!CP*xpif3Pk;nKflK+xX8wXAWTx~BMgy?g)TiQ>%A=P zHFvT^^Mo*VA5BO3i&TVaO#HJt?K_BtGz(@B3x)k~SiBInBrhjfW%=~h)KC> zuQKYLBC7f9#tIRpatgms#l8t60i%%m&>Ea`pJzHe!iW;cq&Cc&6S@SmHETk&bJN?B zKTU4e0f%^XJjxc4@@x_X`5HALh~hJ#vG@vpp}%zyzI!fI+8qtUo~v|NMcI`>CtkGJ zyuK@tlRy?Q{Jx`+y&F+8evhoAhL!2Man37s&!o>O)>V^CGD)vwKY#3FA^A)mz~H#Y z-p*r=*zNtC>XEWSHD=JFB5?R4)4-}7~5v?7?6Vo8?uHl zM_7fy;P^p)3)Z%dM7QFza}z_8Cd#L@BnPs4&i3$PQk;ZjO zKyt=R{-w%{64Fa#mO*NlreHwL^Fm#2c;Fv;BP1BOqtZrfC)I|;no$4w;k9u9?rss? z1cVozj-cMd`0+z>)Fgb_`o-yC(|vQk<8Z>`x)W`jv%E+2s{&^kSB{MGctFiNFZtq($gsf+J!6l(B^-&O%+sEl zPR+snaY^;(Ta&15LnDId&Gn*kL?2l87iTDB8Y*OXy|cOqZ0_D14;%B?0aX6Z&9V7Q zmk2-jF_qBnK&Eng9b!wGz+=m$CYdHn4EkW$H!gB&2?PoGco(T||IYsTkP$vBzyV*Y zNrw}q3TF58!M>2bTR9SZ+ix3}4njvvK+qhGL*)_|U11xjud!nhDo6Eq(%u}T{0`VK zaS(ttYjcMP+IvGbB(I{;^?3>p7#urf;XFCWv&x|&QGlSWbq!HRp<{-%t8ld4P!8Zf7bh*pml}7@7d)A$ zPWupsv_vi0Nu)1u8{3cVY&fChpn&mXD0=w?rd%wxov! zOPn!GZ$+!#t1|`>6ktYs56TA$zj1awrMMyEy-@}Pt)MrKT3IDcuf5vxAvs9}3WKJ+ zD?wN9F-2OCH&JxqD@fJmRyeE&e^Hw+Wx*y#v9C?x6?{1#ddu^Lo=UMkb!tV5)IMo9 z3z|~v6=9y4XfZ;De%oA7SheG-PI4uu#*4?XpxB1NHryV#PNrwi#M0#_+i2#i+{}tR zS8=bnb~U*;xVR_P&~9v(w=5sDQ|`Rck}*No*-7IXUdt9peXF7|5?yp8UA-)1pkGgf0;C`v(Uiq zxg`pV2C15hzpD8@C@4lc*Z3vFt1OQp>0o6QV_GLZG0j~i2XLag`)oWMwui?&trbzb&ba}Pi6J=eAO z@4oK6_q8)H^PP+hud0pBTU-g}g30JmiJdp7QW|16tyWfAxq)vS$)aSjoQ>N6PLfNc zTCVQVZM9gIqJ8(OWeR6}=>w47t2_*7A$E{`#Z39|>PxyxaCmJKRasRbqx1lEw%FHK zpG0d__YZ@fA_88_?dac(Mud zfrqEktt!?K3F+myOaO4>!Ee=bgP%6w&6uSl=XS4Bc>ETLt9_x4(KDGUFz7=K|74YLG{9z3`xCo_|nlMY(&6F!rU!fSd z0krjCC7p0d_sG2kUj>_ver^0Lj~BLbMuwYr(T=XB9=xazz&qdd^-EW1z^(ks!H0oV z5BDmD7tn4PQB_bTfsH{(+xs`VyWTNy$G{x}|L-!u1}TGJ0N{ZPKnlc{#{ie)06+l* zTZ4*EV5oy&Wyt+*2!?LTH4eeQ7vKQ*)rMeHNUP@%g4KcF-~j0>NPs{r2nLUC1OG<_ z!Say%oDf_N!Qv1M?MqOH;08!~%^-Lml3q6m#(>-pg<$BJ3Mmj=4b49U`vbp0p$>w< zN00+?Hw1&`Hh{u71Vdeq6$sA#eH(BH!O#s(Ku3E~0q;>jevbvgnGg(GivYT>4B?9t zg26)`!2gRw@FgU^Is}7#UEqB)2*!lwAA&ys?}0)n1jj;tp8~=85L^JkCBLHs>LAz$ za=#mbBO&+4A-EZ$Zv}!2A?ZJaVDLCJ=r@qLBEOH50q#2u!9$SWQ$a8lL_Q}3(?GB| z1cTSe0{^ED!H|V}05b?yhQxP+;CqntghDWQgBM_&6bMF#+%JIO_mK3|L2x28{}B8R zB7Yo$!7T;g|5hLvywN)lA42dtL_Pr07p4TkSP=XRdLO3@%e;1LgPrjFe#bgxlNM*I ziFRS&IMdRzk z%t;nDD2e%DX=0qZad?tMl8Qd;{z|k;akN3W9Xt;5l99vu_lE^aKd1o&tc_nkT8BS@ z8^TAdrz%(Vt3LG91RlLvSJKE%XD&5o50LIIiTU;ke#m`kQxS6#w+aKX*iN*8#31>( zKi-M6@o{As>(=)%1ft;Ly4Gk1+&GQ6zKL6G06ig$JUMStLPnI*>pFNogfNrNwuYa{ zKT!f@{M3G$wNoTH`XMpH$cW`#!;JE}-HSO_rP@ArUVCI6Z@FU5R@K|=Y53#EkG95U zb^3ev-y!0;Bc?o^s*;(_wvP;#+)6Pd z>j&)Xgqy+=o8dbcJrk}UQq|?uuc>xNWUA{08eO=N&hu{4I+1rG;!EZNIgydPakbMQ zhKiG6c}w3^QYt@37QNrVTVB7vg6v4tAi)86*-c8HG1vKmZY)ukSk`n7d7o05IOkd2 zIkRtXKN~%tRujVg=R8Me>#9e4{Wdz;C=O}9#SH}&frv_Ji9eoM6})ebw?fa}^x~J- z^~*50htf+tu$eXSbSh|c*xQrq6(ZWMIz5%&SuT~r<0smA#HdPNo8yMeIA{D2*wB2f zm$$#nKl60)CglEXxe@n~ME2j#Z$`&buU-W)Yr^a z^eZ}9Xuow$k1N&(%+hW##!Zy+(utEwVyq}Wm(PL2^p@!9h__^Zw%l36Dv!s15xuB{ zrDO{s&|dE}vZ=^#Q)I{JJl-8>jVhL)%n{4agtHGaVI|}$fAzHP5#`&k%#+WUV$K4B ziOkpoCt56w`5r5z5!wC@j2LO?$;zCohSPnR?`I~GqPJF~0}!IWF~s!%*b)XU^<3N9 z`0DmL+&WybIL6ewvaR61wIOZ(M0Lmb>6P_;F?3PDHHy~k-j!tzR^n86#O!kx395C# z;7N>i8*|y|NGYAq!T`pZ%X!fd)`vx;X+_MvdC~_S%5(U{d%G(|i#AcazSCNLSBAl2 z*lJq{(S`bwadImcdgR_}3I;g6Ij>Z0uVMho$E0X<*rgZEUoi(+u-AyO8MaQE4oLlO zvG{KeZM`TkUWdV9;2?EQ@{%9zq2aMbwHOVYj;^RO6_&XX+2)TmVZ2Tn0PffK(rMnc zrzbGi-clL4rGQCtNWcwsHX~@6S}+2o9YlkJtf>jJ` z$M^gNL%1wK6xte>wEY&p@H$ztH9n$Fj7mn_98Hs7pQ-SIH< zX7@X}6j`%rae`lc^+0oEf6z3t*gFU!PqnO0c=`xz0#?Lli43T)dO~QE+j@-*2 zSr2d-jh7ob=UT;IkF_iP<;^hGYt0dye5m4{?Z?KZ?Ux^M_Grd>yMqjW|0Xc-+Npo! z{gSw4Ed!IjVw)}^9xEPK<)F1-=~6!d`s%pk8^8#qljhC4{4bwLqRU~WFdIm8gLLGl z*^%1_Mr4pJn!9(rvL{T02XbD#!DxsQBks#GD?bkT;pe+gNM@hW9TqgLZW8e69J}|a z1bV^c1RDF^$9*Clw7A76Lg%+)M@=JJVr^V(wKV}hU5JyDyO{MOkdAFNl6o7`@6oTHTt1 ze@~Na|D0ewAmn9-lMSY-+UbI!|SKj8id@;R5Onq}sjvx?|vufjb8782E28zz*>ruk z9}iRwl@~J!JS|Guw@H{7;TnBpy|eQA$}mq`BgUc*d5t}b)eb!T*49XQ{;q+a!e@6Q zNYT0v@qx_ePxcw#JIzeXEi1j`@}NDJmgS?T0^dIl%(U8TrhOkQ@7cMk&*yaaOc${og~7E;qT@ zLu-h#>5k|>k(bf8*eb_nIDU21-7;>^{gTiIX;096?KcpSIQ2wc_i?VY_2hz~%&NAo zpi)@WQLwYI4Qh@UwYbvrpqlyAXKEJ*;jqCCtw zUp5u)M4dgZ9T|(G%EBu?B7oM%(!dXK-e3;?*5xmLwyjL)f-Q->$DA{nY= zdf%FZIY8)?eg^w^lMLa8_C%1{@oR6WxZm>Ix1v$8C%e4^=_?@3lv(kuQ|A`3(OYQ? zN#35V9}zViZ-0;tTo3CQ&AiIh4tVy${n1%L#0zOs7{uu-IHxd-`^mwI%X!#Dx0h%t z55XMJ8tSasd^zex`*!h0^UHQDi^YoFaN)ASPTO7gam>MnjANh)eKco%Rj_!8j1dfXV0IUU|EAR|P;QIp#vD9{QKUwmZfRm>y z7bo{j*{{yo)&bAl16=xLyM2*`S9H=8KFch zFbFVkWwElerqf9n)=xJx%?$w^SeuW36mracaBpq zR*J~+yor8#pW?Vv=0uS?ZsKX+r(}rOY8s)w7Wf3ab>eo1D?R)p=$6-MB(el;s z9ga&I2C}$)@>uP!qT(UUDoxSWoAZ~ce!a!}{WELcWC7f$+M7xm%Khv=k9tdnKce&; z>IsU8OX+s@6vaB%#_4tE%uCl@-BS6@ZsTGwGO=H$EKat(RL*~=Tn>JUf7>7sI!?|2 zek{Pt-y%V0Z9pUCLb{-0HQI+xkEn%%Xn%QUerzY$FZh{u<(wH;P=2%jF({HBJkHA^ z^H9B|psNvs?|?0|7)fuNn>|9EZXVM&y+>l3z2w>T4M z#X z0AcyRnjj91bOII!d{wj?(H2-bI#u(Z!=6`aZADl235a>x!ce7VJJaL*A_R{R7IM$E z;0{c+R?Qr5t9{{`^syDn|ImI>ebzS=Z&lnz4=OI!6e5EP#Ng!U1G6hNA3fGuzn@Do zvOUKpIBVFx3)iG9S6ZciK;wEU)yODY~Ts7Z;B@x@uvl zJ@>}_PiOt*#yeyiT~CCrDL9tFMVR-%T=h+hISAT?GdFwLAw{d!=+RnM`3WbsBpz%-!$Up? zE5zY6GLIF@q(0utkmkqJnX_;>=o1F|eJ$yA1yS`7NfFHpk!v~IgiC-5GuQOp=X>{_ zTkP+mEeog4C+W5r-fF-XZ)a7iI7|4N*P`)0_=S1PZuD|{ET+<373(AnW~bs+jM+r& z!eRa5HM8X%{I!sYbIPvIuA82v;^y?Ag55EiYxnD_E1rLBqM>*tpZ9^=l6 zJD`N^3xI8?Ef#o+#Q4^F1uM=rDojZ`9XjjuvF2D+46R|Od57>gA-d~aC;4M$V*3vd zgJeceKl$S1@$#gav>s+pA9}U@E^hz2$N*wP&>cJh|CJ3vBjv$^IR?ZA%lBcWUm?^s z<*Ttz7a4TFK`Ezd^&i8@Ii{uXzk~xCFOGUjLWY*xjquLNSsV#v2PRbX1-qk z^jNkipAYohf=^30LzCDs6C2p$9`Fmohh$xb3Z;k*hG9kh)UbXb%y;dO9b`D8_1eH! zKUcdb|H^o2JYfnzfD{l_tFBM}3T#8VvU^1=GG9C7M$ef%ng>hC--ia7bBfd|Jno#f znJWqa8~)#_oKV1rE|3vvQ2fpozKnuGg9Rqg^{QsQ+4v6FR|HS-%X#ap2uri?n5(mZFfAj~u1h#7ac|RZ09{}wi z04)uN-X~8cLY~KvE!7r*LH2y0AXz=9%eDQKL&fH+8uIj0bZ2m-{La(cV5ymOtO8IXt9&|dcW*$fkF#PR=4``(fjbs36+>&R#!1W+{ zsrB;okPqhl=op_`$n{|g#^T66X?%@l@gA6i!+QU-#g`GuAsnTQ3l?&?VjFecPpE%>e zNHwH-xt3{}5jvYQRSmyC%A*#I$flQ-FxqbcpV&W__(1>%)Is`90PxCIkLdOFfwY*r)g~FQXmi5T zXE%+1MtTe7piQWnRlKKx-$sa=K%1rTkPg?G(^ui+G{tb!qPDpNm;)8Wu*D7r52d$B zT!ZZ+=51mWUiN77=R$$_kxI%*jYuHw4Ltb@rOIA;8XU#gZvU`-d3+H{N^~@auIwqn zozs@Vp}{C8p_%HKcTwTODqWbeZeP2@P* zCl)KFjqK9N9Ny(my2(%x#fyLM!28#|#6ubM9T<&>V#U&S{uxP&hGaim}FP#0{Jz`l#qA92B3)BH*$QLY9&`Mpy(%gj^&lm z{d^1D3j&Qq0%@R9;6^^^T|iq33$}lm*U%PherYIduE0ulCcW$sQ(6BG%z-4nRO%2~ zokw<4^sYb<7TUmS+sV&^FAD7M_2ls$7pH>sM&ECp&3kTkCp{Xl1Ik} zg#;1GxxzAw`1f?8T8R;DH^JWE;{>rrOq(Df!Yi^pG63Oq$#SgHcM==-MygM$?$m@& zKuJ4j@sfS`sItdrT>hs}Pyxyr5_R-X*jgDJtNV5;FsWbU3z8Vz6yOtIA0t@L*)SUJ z_pXc>f91@hY;i#rYW8^o*ny{KVnu$XROIVqirbp!%O_osmX@D`N~B=)kVR{w#U`b} zlYy+IK!Eq?LPRapfBl8*cJAlXUr0`jV}kuguHc#DjmNIeRCdjI8S|(u3or?QUsN@^ z!3QpUWB0ZLwYTckEIRji@!X}PFjx9$;uLXpzG8AtsiT+b5BR_Y4@w$Xf=T{s2c)q_ z45(N89{3Oe;2%na%zPo(Z;ZoNUJuA4M>w6M$I*2MtAbxPbOx{-z&?~@5tgtsrzj6% zD@q-2WsT=;V}09>e(ffn-Q$rr;%#_fL-W}lE78uZ;ZmsU@Wp0SA~c#;kHWL>yEY+7 zHXre?aRNO(ZceI?i&lN~E3$p~DH>J@nR8ToutVsr=TDdRdcUL8b4~H}(47PTn%scwE1H}QPx{mwa#GIAluJ0Ebp=|v->J`H*2`C+GvGqE!DDJ%=26Xyupvy6&`M7Cg?AJ2 ztlfIZ;pNnZQbz*F;8(>*)HZslkBn92u)hy5jOVF9{ed2U^LtqUcvB%@YCIrA9TeJX z>uO%2G7QZdx>*fF*AmR0Gvvl*`MAB?yanerl;B7FoWB2k5#~X^8KWmB4@|>T!s`?_ zbEUzcmx#vbPt@RdKw7UB&@+oA>u}%d4<$!dp-5{-^$lUCR!n5Y$e3|^79qio7)I3; zh{>Z_r6cX8cUmt3L`zIIlnfkO;<^Oul75dhXcs?7Y$-tfMi(ljMysMKhojnruxb5v zZkStU#EkSEXwU_?VFiiR1DKGXPU>*i+xN^uN{?|Y5&@9Mclq0Zf#;MZD5ABP9^6ug z)!qhI(|A$nHKng;E zA1dGn>c9Wr9sh^^{@x${{^cL|0OJ3H<^!-X1{PBz_K3lyQAuq|avdGdl%N{pjC3$< z@Vg$=CDw!MWcuFxX76r=bD9l9N95&^rOK_Tu{gaN=K$(9lW)zpEucENga9_P`{Wza zYTgHqpCUf@tL1MQ9jsokOob?~4Md@IXix@Dx6Ej}q}P<*B2gk#J-*FJ{WZ_J7ed=j z;STHn8re!W2W-njH#nrGWE}FIfv~_GvkNc#0Ui@2(1VVi{xW@fk`yRj$FAC~} zZyp#2B?ic8T(Zu`S^Ah~lw|c*sz`W)93wga$gyhBNXd|4p)!5pnPC(R#QKp-Y#- zBPPDu$g!1^APz`GuLs}y!T6u#ca=PSYAhPB5s7f{CN?dvbXnd<^0lAz1_#Pf_;9g; z30+mEt*cOZpOSdv@Kxx$0aWoibMdL*@*Y3jkhv zfwWr_dXj|XqQ9(y!_Wn-D2G*bl|_*q`p>Rp-3EK(%aA=HMRT1RI87ePhl~%9a39sd zt8h%awkPyV=hgw%_nJwozqhyl7$2G0=!oPwGvVx&!}YQ#elLps`U)4*OZ=`ax;PHRzpe9ohjN!aGtPd<$X_g5QZ*=%&Bb14_ zM1`)<)kIb8wBcDK#V#EQQs)@rM?&v_>OU;u%vN*pmO&!VYas0KdiHgF%6O0!G!*_F#|ONp?@dFSk?Q zY^jM?ECZaDzyk2WR{%gBYRNx>vy|Z8IBsmd7~_cdB3Gv*JU2%-{F0$V5w%N|hvO^xzPiJ=H zTy)fyHKev7h$7soTDTSqvJfJ(aLL1m(didC2po)_S9^O%cs~wp`<D%QbYk8xNr37dv%>XC#^U){0qUF_)E;BNo$bc9mbs?ld%UCsM#!K4AuPfD}$+z@)bERF{73 zd)CCQi1=JM3x2Mcmi-lyOIxNK_;`#b=xlIAbHIbM9niZ;(dF|y zV}IR262bvA(jb%r+)db5&p*CK-EzO;Zo+=p?p+(^Ns-;G@wwJ0f5gcE%)!F8f|XR1 zY5kWmmF%UX2p#hu+it03GatWlvA`p^C69pY;87SUFD6&+!I{!4U-vyqgzARt%>)dx zSu>h1R(;4L$i!Oyg5kSr2W4HEvTflhVS%3z9_8m?JCZrD8;kVK(t_;(hZLP?u;Rte zG^q=Z`7{0OAFCmT-A9jEITTHLWgja1?hN7An!zu7t}wNF*i` zkp6a3r_J2q>u|2*YMVUvd_5t!=PDy~;RDk4K}gL_x?1oSRhv)n` zxWFs1oQ)1{T>|uRTs}xhTBG`Ko?1jQ6;K+mloz8FFCnV^z&T40I(LmWbZzGGe}S~6 z_-K@ra0?4gY#S@UT5J0vXdqs<0XTM|dCDH23JS{oxV$!Rhz8&V^c?@`%e%k3m=>Bh=G{*I@MI7Wp zN!VQ72@U8a*k5PaDp0pgo3`ZdX4&`(moi+$TebBHN7k9jC(P`yW`xjQ z8)zg$NUsf;>ATAv19uGEF>uGg9RvRr16=>{|MCA54b){%1w_#Pa?o1$e_|3~z4cEV z@(14d11kV^{4;*d9~c){asBhY?;m*i4=f36P5d){`5zb!(!T&rzxy9}_75xq>3@L6 zFZcr^0PEm?>T~!5kNtspfqm=H`0b{YKk4U z8TmSsfz`qQeupSsB}uZW=^Iy5Hvb1EEwfj=NNF9*!uSY0Uw*ljwOqj$Q#-dPoiH3y!;&8G)46q)4Fk57@tfz^{s-yN?U)o-2jv2g(3ki zd)>zX7{Qcbj4MI14|4fxa!we&9ja+B7*ha;Lg=}C&bOP=Q%mKSurR9HhjV4n#UbT8 z5T!3A*R1Luk&zOtm}Kx6{<1y)Kr<$+J&wo^TS?*U=9s*p16Dc@c^);0dyO)=gJ>ZU zo;>c47O`DI-hY=oJ};e{y~#C!Bh3+~)Eex>s4C;qNY+ zPR953AyU`R2N-L&M%z)C5jE0l<>70NrCB=6MP5iSo!oo{Z$v=}DMidNxw;JoBMw$X zJ%!N?+_e)HaEiSo9leDme~Fo}NJIg?iBV32I*fyRIPJ>904H>7jhP9WQnzk1`C*$_H$SV(Y3?JJ|af5@Lc^C_IyZ^wn08%`fla+xEE>ONvw(d*jAcpoRqX zZM$_ALa@lVER#fG)d0>yAlxGoz#w4-NTD<& z<=wil6wMoehQJ(Q1#OF|@CtX3tGV5RRM&vg70c1}4Va-Z~I z#&GvD^_SED-HH8fhNjhfTXJY@(#(Kwst8;3*6p>hJFLTqF*IkVXRDY1_1PtmCH=7f zZNJ^7C|9e~-JxH$-DTP2p6cj)wIn+Wl1Spzah2CNcF~FpC=_Ig`<)kR)q#Tc~xwQ36;UZn+PvITP3d-uyDW$zQV6z*V^;nJZ; z^0E$@r3)}I^uoe{v7BrM*!=6UV5R1e=>x2M#@N(Tx-Q1!mW6SL-@~X7ECdXQuIm7< z^Aq|~QBTot4ox%y>)QnH`U+Kj_kG8}9Rqg^{EuaT8&anJ zpRE6f&d-+uR!~$x#x@|V2>@k)Fcr8V1OV6q>rN1c-ZuhPi~q!G5dRx`Ukc)HgRpi2 zzZSRn;b-Mf&nxQJSE!9Ap4Sk4dR+P#pOq~QW?~sUO7d)@Fx$Ya&{dO$NIx*FM(=+7 z)ejiawA-zPTPH|d~sIN*!l|6yGpM)CG}f}BbH*BgCi#6iWkD|!8$b2{H^e~~M2 z|i$yV2>@g3GkTJ&ba)~#1co!-J#Kxm;5CA|z;P9nh&7_O1SSY2xr0=mu|Bz;A z=jQP}9iL-#Lqpr|6kJpPb?jRUcY_TmfcF~G4yik&YAkypH)~r}KVb8*;G2XMmlMD_ zPz4z0Kap-BjbH7G>LJl;uVx>ihmibbpOm;$`Dww^E`=j%XEgFIfuk`TyL4q zv;+p6^aslj-E(is%6B5pbHUglZAjrZ$U5B%*h!vV0~o`apY71~z@udZ&j#z^%K9?Z zI@8#O>c1&%URI20$H-pfq@lh7NDSAUsBhhd?<>O;Df!v-Kjiwc4F4#P=ijH$LedxJ1lz<^pL&-eS+C?_Ac~#4z$Sbyre;e5%&56d8{A z>6z6G<8ZYl<*=5ZY!gW)in&p70<=SIP_<759-My-<_e2mwA4htaNrMSL*Z< z4AZj zRUO@8Yh&Yvoo039T*f%uV4ypvBp2KE>*lB8)R*?b@DHjj(nZE zN`45Qdi*Us#*(l!J}B!OA3=i!>gV)hfi?!mvN$*IxJRR07mmx{^-wmncwMqo63^YO z$_RTac3Hm>XK^}Of3RSb%8&)y5MJgGM%R(^+$5gFt=XCa7tQR3Hs(0O_7xv-P^Geunk#ZqiRi49l-Sn`s-bB zKPn`;OrQz>a1f}y9qu=z5AB9k*NbFmwVR5)6AaG<7_Du*R8jCu=2xA`DnPb zfmCz0`EaS(9FuOMMYE}j!8a=(SSHa({eTRf*o10$c}f^Hv>fV4ysL!hT8L ziyjx8nAulxiz}^GPF_ARHqcI)-!XuWJk*A!0^ZuFN-sazi=-;%AV4o0j>>Q|pPQW3 z`{_i~LvsP<-~@vKVIfCbF#I869?`Ch4{oYA#am2ureDo9YHZqKaUkX&pB?8&j0o~9 z*q%5xU~%?Oo@;vqlatpR6nRu?*eMb^@?Gq>ETQ%emOQRP2gVW*XnXNK zX+T8|{2pzq_$nPBn%-j{sZ68P_laDZ{;oVty|AQ~Q~Pyj(^KewUsSrFFoO1WUz&iF z4@+W(Vq~iu=~P8(rBj!2Bpv`HZ@>j?CMf^VNcNCoReQ@=+63idxq>QkSm_3n+hJ3+ zs6b>Y81bAuJ!r?r2h73zF}3LdZy}aE1B3OG8TyM}+o^H}5B3@EU)GPubDuPVILJ3F z31uKxVf)q0p!|X5JVVK$P1CkIcDX{pj8V8P0fyk{@tR(ldCAm#ULI>Ltv{|trVODd z`cH}SWg;IK?-H;b)JM~~+Lhb=(6wwXLaM~_&+S$GQD9MZQY}%_oWo`K`&f{kg(I=x z_03Z^QmMIj4R7Hlm1$i7L z1b>p&g@qdJ#}wP7q{&Jv6S{<)lEeX8_^KlXbEEzrz#P1oJYM5Li492fk^Ugm-tauE ziPI}#TsrfXTn42^i0t>i!Z(rlNV5YgmBnQfTp_{~0*7eKpP@&ij6*hm2TYxOW#fpc zjz?i_#Irl!Xf?75goT!;&`5z0n*kGXce!KWj)6M{?ijdZ;EsX+GX{A6q8$FKQczM+f%g@I52hT3`)J6uK8XC9pwYY?M z+L@o(6b+84h7dghPTrfxCZ?G~9Bs}FT_~vqFfibde=^127_P^cEe+LV6qf6r(A$#> zz(%&JInMfsL%4bC?8%MO5{2dSlzRK1>i$nT69W_xl-?|}C!{^F$$-G59woWy7|x}P zvRSzbeXe-H_p5VEip5X3FDQA_j;V#e=r3*KGao%vmmTm$R<@B2dVwkBgPpsPgfZa2 zv9SdJWdlX`5DSeO>smzNb^1lN$W9)^Z8;4 z*vF*NJg_5LuP*$?(Nr(BnU&di2FA1h*S<7B(;q;Lr*2Ls&z<1o)Hlt+Y~n_JaGe#NKb2 z=5p9Ap`RTc`hZ6f_X~K6rlJhjIK|7{kbK`#kX_ z#)q0==eKCqOHYjK0oj)}WsK)p&xMQ9zdzqyF&MuBm)qHwh(Gu z{xONimZttAfpN&gg^n95-WrS%RTvk9OCPXjy6I`1iDW2!L5FmBw8RM*5LHTj-;F1U zABZVDm&glfy1g3W<7gB@Jl3pqe#al(W$85S!__>_9~xf+Sdd*12eYzDlgC}CfV1D^D&+gQ2;yZlJj7sI_!REi+*C62w2S4Y^Le{n@0j}=nc*)e9 zR93SFGF(<3)tc-H6(H@dqOJ`)?%(278;UiDl$hHaQ|GO4d9kHuZ^Hy*dfBcJ03?LAqf>+$m3{%nk8oE?W+t|J*N=HZ zcj-FXQ0J3+Zl@7AgMXdsd}#w~4HR%fX9v6j1A%EKoT0$^Y*J#f^>U#+Pv`VO8q{rp zM#2G`B#?vb{oF*KRCvvp2;AAou-F~!6bcQL>t|9*#9Kll+RC5vPP0Aazl1dWo`)mNsj4m&DH7+^z# zeYS11I_wO?Ul*CTu7;_&;6_X!NSt+mOKn6(+rYINE3l5i+k-X}UG$+o)PW;0SGxXT z(wK-^+U$6VBt~B)nB>1LKImS4CJo|NfD&{ChW9LuM2xMM1wWV%gohAbMB$OAN{ZL) zfd#le_#KBGQkt`tag+!(+41}$K#qpXFPp5A8oqKSB5jNMbxDRW;z9!^nb#sz$lI+=9lF{eEpwI9Q7H?Rj@WQ@M|y)1heM>`p>g?PN-o`K?^hmUP9b3W~Rd)t24 z&#`s}&}ECWXX7<*9xRv#bEIE#^}S$k;?c6DM&PP|w!04Q17<)K?G=c!-RF+K&GWDQ zwUG5%&`7?}w|RRw%SQpLew|RU&uQF^q>R98-+S$;Ng960;S?Pf1=s<{>+ei_i2Ej3 z0?V3?Fo22>rn8J`%H&A9^lI!EfF3Ucr1oM_RpTD6qC{#1aalE?RP?!rYhnYH28Q8) zcmB<7V3seM?gxNv>l2v#Ghc+svB4fk?Sm|DY!4yUX10k4(tWT4P8$s?n0j=ikT@t< z!E!!rqGRA|7a-$z6G@q8WKJ2W(RO^FC-u>z^3ZO8+Mw`~$-S)9}yx;(y@4KXCIO`1B9V3G9#f zr#z=WFlcVyKksk+fvJG~7yrC({0Gkd15f{fv4AbffBs(i4-6c+egtany&Ve+UbBB} z65+j3n}Nt(pS)y+NP#Q+=#OAsga!TE~b*v3}ejcl95Yg zXiaAe;DJ$~EK`syx5I~BosR&@f#{9c(`xon=2*@#s6MmAS~r-(eoey<{!JH91TY|j z9zCF-o?X4RCjx0cSEz1WeCLs}rjVkZ-5wq~%0d5eM@Zto=>m%aAe)0^-5^^dDOS!- z!nWwgCNO6luIO%OMQLt1|8&-2vZ%*6`8QngyWZ8gZ#ZDcgU12}+Mfhq*9kzYm zix~yOAYl8>@BXRyM}bk?>wnV)k!1^#^``b661j7EacO~#CzacmsbfT0kiFvuIg>z+C zo+e-8hB#AS9lcMV{qaCGPBObe_TO|tWPv@%hVrRxtu*g@&zQ`cV@UQ_LtDnPSy=&lCi2@&k82qY^_Q&p9^H-US=~%4<4UA=;b7G`8Qn< zSy}LToh1=VEMSGH0!xe+D1s7*uUw5$Z`S65>+)r&XVwy z&$7Ec9R5-&CY4`cLREp;(z%tf%pS^F{cpM;vRpy3^w=X8;k~bu`y<5-I!5^no-L`3 zU9$5qINh__6#pEd_;0!(vfMzjY64-LUSO~C*Z@Z7+Io50O#NzY5#JJ^)znzz9F?4Y z{Wo0@S?(ZNUjF?X5}mUwJvYbC0Vx-*)IA$Z``N7nv4Ac_hw$|Hf71n#^%x}UOk=l@ zE#$$wchb2j;|{@s+FY8`DdM8PG$>kmI$u)O{F^R_EDw+@qA$4_^ze(TcEv<$6- zqz6_(C@~*l*DP7lz7A)8_%~g@W!+ux7`S8Lj)6M{?ijdZ;C~_md_dnB6ktIIkwbzT z@S6(wfsWt52R1lBcmwzWg%+UyP6hmit_O$#%J?VN1Nze-42`b@^p8OpDi3<5I%rOB z(G7j)d%wnCSdT{zXI?jphq}Em{zZ)(R9*A_htlYp19*VyxQM4C#252(q%)#m@_Is? zMVW7>VYOdbB!)b>@xy^upd7%U=*zL1^K&OlI?a!ai0=ICrx;SF0MlmCxO#RxG)2I@}D6Lgpim5dc6yCmHci?0 zWb4g@*Xp#cZx{g;vaHPd_s5@WxPrg~R2F>Cj(<>~A;9;?U5{KPmgYZ;<|jygO0*d- zL`YcQYzzYwq?@OWUdhgg+SEkW|Iv?jd6I+v+qF1HQDOR_x$;h&vGkI=SG>(j!UsY2 zr*Z76)wxV=zKL{}bqFCN+h`VNhu{IKOr~;;HfhId_MZa{0(BDH9$N_MEF5K|5Y%^3(6SDYqJgeTPO~s=k5XMHM!V0})9%WJ5;i3>;P$ z8D;pPrk)?y0ISQ%7gewGX{dt#uR z7KHBRn%r{Fm7M|CGL+!K!mk+MGrm5x)-T2*tJipCh|S<=dHP5#u)r@?Iq0@HUon#I zAn8qr$#a`vt2z5EPr6L`aVqpDp@S>>UEBlP1K{ihE#l{iwO}=TFgl!$?VAZ#k@nS+ zedt<#MCpg$Qb2bfoahG=uvmnxxb&wN9l;?ltx1-}xzqtQ%AjR40RKkN75Jzj!;8hK z9S-#cJr+ktaS3aV!sXwN-`{3FX>ScdwB#)!EK3Gk@L;9e9$l-%lqs&{2T`TlGy{u5 zf;!h3S6YMRu|)Mcc#u|R(c};Ck!Y)Z6=}g&upg)0+Ou&SJF)4qMfq6kjMQ^=;^9zM z;PSN#+P`9E(};}mI))|cS36?HF5!P*)I+5=;Hrd3l{$_Bm}ZY=xLCEF1oN@B?V-vD&Gwg8kIKvmxY~{p**nQJqZdy z1OS5%#M+B1-h^BF>Mx-SPi=U&^+?-34&CeZJ#h|yj=nn+ueAm)Dp@~lAsYJX2B~rb ze$FE?mv=u_dllgD8Vi=bWW<0Dehri~?1L-aOXh70_!cXphh7aKpAtu5Wt%2uMzXJc z`9GSl5ozphF^3GYp4z3k4~*|NQ-tKYzW$sGm@N@V!s?LEgPHy|Ajtu@Zz`b9SbMZk zh$dG-V~n%Kj9F(h+HM-9`Vw(;^wc-fknd=tn!AVd`-~XvVqWV92eE0zic$)@m!#m$ z)69LP`|%m=`Rd1S_Z*Nk=vL016ZQ^1QZ_!#Yi(m3L$mRP`{YjS5qV$F3x%ZN>Z;@O zc(&hbtq5MY-MnHWkI!I||2B>dJwz`G%pUM!SZgJgsche{xpGYWQ2a~EOY2w_=n8r? z$otaa=(+wE%utv8q|0OsEzDtcKFe@ycJN=a8m%@&e>A3a; z%QQAhn$NRZ@iPrA57h|0w-wGm=M~$bF>$Y92E2dahD^H|f4SK?iwQe4Q^8y5tN~zN z5kkCiWZM#F|A;di6aFl{*wxpewsjq!^~9_K&P)bfQFWpTYO1a}u0jOhoib{d_-&+nDhpf<_fB?ZIc<|ss0|W^!!6mo^ zCs-hOaCd?eT!Op1%XD{|_dYl4`M!Jqn3;8F7PVHN)4OZ;*}HzHbXV1`3gH@m%-pXd zP~L3ON^hUoJ8Y>T_$`?Xe1k)4>=;UX*H{>1`N;ygMHznKPKGIXeQMa`*!#s3IH_r#w1ao90Kc4soTVfVx$JSNrI3!R zTW`EeJ2UpIGNA-91u_1~h#+4@58(lU2Lv7vctGF*f&Zrwcn0bBKm+jpBgzxl6p;Zb zVaP8-f6)}cChwo|c7M@rf6>@L8UN%r{)?{si-v>P5ANl^`HRl`i@y4cmVwwC?*E_s z7rpxzEeLFL|EXX2U-ZIXG&{s!!Ts}n{-Q_zqN#x$_tFf&i zr6%euUuv$vI~-q5^)S0Bw=Rc!dC3!_`oc+n904AStYEe8wnah@oBO~u2YJSus{odB z>=XQlogbmP&(KU5Zs-FC=qkIOvhq`)c(=P~Kw)^b;mGs$Rpk)5#90{fOR%$7iHD$%(@r;$A=xQa$NyO(V z0fmtcVXv(+>S8@ZQ#aVWzIk^~?_dD-=?ul%{+<#{yrnC_itiVhylC=(?3j9JmwjJa z$H>Z{!poD*_h$@%H{arXZGx+=(5=NdELzNa+GVT1_%One4B0C*ZFfCklu#gaqxVWR zq%`vYXwrLKdpmW@mfG#i zwd%UWlMV(|^X~86D)ilmaEwt3V%B`R2Lr(=laIPKnuLfLvN~h33j8FO{q8zkevYBY zyz;Bjv%Iy<7eVh2)R|4Jpc)|}ox9&m* z8=JLRN4TD!%HBFbUv>l&m@txrXZk@WKwG{CUslea2}#s=YmU;b9JrBBZYTLt;@9Rw$5RkJ<0Du>j?{6a6&kB_6erSfv8Y8ZioSI@v7Lj z+{%tqxKRdQ(Qn}KCp?CFD$r4j@h&)qntRE*1)_asBSlPptGXc1iOoTRqrXw=N(j%^>J062cP2pHle#JU*MTRfGn zH;)DrrYWoD(=CjiY+F$rK;NFO7%-}Om0Cy9>NCE4Dn{+T9Oa{-ZCV#dE#NpOI>w3Z z3B86OU)3t!(7bP~#-uH2jS+j)zs?t_;l(TxHv)x|Nzu}JF{PJJQxDhv?1XNo`D(zu zq%=AK8%;=Tko!C_hwk$cF7ii41Hm^x5{|CK-)-}p6=ej@^51-jn$0Fxkj@7zvTA!6 zR!*%3JaO%CSLeCAU?NSB4=bp}ywkyf!s!)**RN{Yu#X?o=Iu;K{ee>ECxG7;rk+CIw;%njfdn$)7wEZ zsse;wTR&yXVJ5kvgXYFNDge%M3I9(x_-b+aK-t|VQ-rT5mF^b!wwAK|9yH%&@#WDx$AO9*o0M0!Ww*dmT{iUlBrnTpz^6 zF{hR`MGxcDt{n=6vx#D+x%dI8wAz}7#>?2)75e);Y)Kdzwxb@~yD*Ut@Lk45=W^!^ zj$7#xQ8{;QZ^}YeX7-=OPd_65DN*QYXZ$vi*1+g(vmD_o!q*z8Y>0^Iq>Xj_*{Own zsCzQH698P8$irEIyx~>XZIv!92|ohEPy2P=to)92p|I3(l_rQ$d7c>a8tO1P8aJ?s zU#!#UEQZ?5pIf0Pl~gNLU&Dz>We?z4VeJZsTuRQP(A^wWJ)(K^)AUN~MR|yX+XN>7 zm*`z|lb73wg0{=#IeJU1Fml@E5EAoN{|=rCQqZ(t0dzeInrvtFpwM%V8FLohWN)wR z=5jUPBSJF6B0knfd;@UhSI!H9mbPDMzWxw0RV)Y|AtZnYq>C>)9^~!|K;e=}tWZDQ zfXlxt@*Wh(oQ#k1Cuhwv?)Q;gUYj8&y8ISRbwQAkU`um1yktLy3gvR6^T^Fs)WymP zAv;W6KHPFY|83!iL%4}=$_7?m1cfb@#_8WE&!B~aB!(nVY|#O@>_oiPyi&7??K^4{ zP9`ts4cqe>X5;Mv>_qyOSx-(XqqIz<=!4ihvCIv~bF`Go0#_Bg1lxW*3xl&uG?K=3 ze7_OZyiHO0{#>{8S?MnWn$RVC=eb>8eJp#a=VM~ZZg-W<=8g|~X)tB}0AOFyHy_t;3&|R9>wxvC)4Kgg^ zRmm2pKXco6WNvXCeyiVg#m~seUgi#)QJPEEhPa>|GV8Wn(HTbUB6UWFl{puU&XFC((C;ZQt-ov++eh zr`%EnDl>{)QlLr`?fK_YFAiIB4tM$RTdS&7sg(iQCGuKo21c#r1BjkJqzcZ8*Dk zwgGTIO@@m(b`h#poqK zkR?9HN)llWL+s|fhm5OUX|^GPCcUWay{J9>UHuy4cMHu8l7X)@qv8TbK(Pf&m8`}uw)$oT#~9<-~O49Is+ z^FhYr_w)VXkn#3Cy#g6e-}6sG#>@9~A7nfXlGjDn_{LLHB5);X<&qt_ccA~Z=d3Pj zaN${5#G{nlML+PwpLKrFCDIwqVC}8;CvzLPWWgK;%pYNY7E>r@+gH|8sQLLV22ePD zf8u;@-JSUb00aR*Dj)OI;L%b7(GeH^0h}cHD9XTu*iKvUaAhS$3f*Bg5E$SRZua-? z5nDDHGxoTh2>u>BsYT9u0CyWf$~ zMZdNkNzZ>{?OG5L2|vz4F8c^L&Y@)2m7w{!JeXk$p4*LPqoa+KEW0Rndj85ZxvP}=$7~LKJUZkYq@1>d97}jmh`KiSTd1~+{967@-?!;lBjf$vwN%N)(Rr8axw)1D zV|<2AzIH2+7-AIi=e)xu)2Csky3SPuOh$7N-zs6s-;_}TXZTk@NkgUhlfYI;*6Wfw zx(n=G*b@l+if<{pclunzF!~A|rdj(e$4Dp*z90OGFBsDv%bGH5!~goaac3UQ)0W&N zHiw62(3A30_)f|cyuS7|iMELEOGNq{tL)UkV^zdlDE-wl?JsYqN2QOJ^z|z; zIAN6n1BsLg1pk~n@Nd4{Jnd^_!SDZ1>Hq*V(*dU6`fSvU$qn-ATV8_cs)KCz`?T+Q zh9RY{D;vj=gXnWbFCs-2Ev@KfbS#%tzihK;Tsbdp$zl%@7z5XYkxYa{xCN{9Cmas; zcu>Y|0`Nu*4K@6H0gg32cHliF*3BbzZjPJ?v|NJ>2@0XU$b-jCA&$i;9)PRF{A z)@h8D66v{DIB>+$6nXH)4TQ&Zdm)}17pJrAwoc;1U<|wkF~W(KREoGoA&!`e$Uhh zEdHR-mAk%;&+?x4oF(0%$(VtuGyG}_^H}!R<1@K$E<0)^;Q4LZ4tR6#1P0`4e_lR{2qwDK4-sv`$FF=`_;ox; zArd29?~L{lKLSZ-zsju{V~O8>ui6SaYDbuwb7{R3S|HRo&9;u=G9@fbWoG?^Ss%LH zbFMSNi{Iqp3zY*|?r~8FZDKTji%LT}2!X8>mRM}M3wO1au`hu8=V8Csn49 zXd2E+x~TE>{(%XG=U?ZyjX7Un0`U@slpjFgVRfO^Amh!>GE|~s&e+srswi2Zpfga3 z2Lu4?T2L4U*1@3A)%*;DF!9vQm_F*@Fxh3m_;%(3?+VH=PXiskDC}Gl4Dx(`4sjyC z2#sRW=^or;Dx}D;XqT*CCgXPu13Q+QQvcIP843}0G}Z<3cIEgaDvn$uTr@r ztmkfuC|36rDBd)NDvEUZe*7NtmMEwfx%*~RPiFz18t(nuc7nLmB!KD@CPc8>0Lz4fLvB{-}+*O7rA=8k_xa9+S2ZL zW~*S3>EtC3KX(xS-hVyViu94RW0y?MEEQH7S|E48TAiU(HL|4*Ym*EK_M^IE?q+g; zZg@1ePG}o7M)ljaGkKdIy{b!lA2^jWb>qgw`Tv zR1(@JO~4;jVT7Y@%KCz&Tcnov*VWADIj)*=MR&Zx$XTz{*f5Bx5vHb_XY?_frR3;4 zF>?99okvsyFCw`6$j7&+wa)`lZ(`xXUFzrSm*CQj4bbrQH|0hMb)-_ho`c#j$~44c zx15~ffA>kX5kLpB)&uv2L`R9>5bMecBnY_dBO))=|L7zY5-imN)lVa2$RHK~;L1OP zN-=;4>nU$7cNC@j1lp%i@_Y9l_e_$&#vc^AdM+&D?N@Rx4v|`+Hk3()@fezD#bX5N zljFYGtiN3cV{q8wMko~WTRirZuJJr_nSZXZ%2t!tryk{Z>xapHUeLq?fbA7om*sJ& zQTFw16%+Jl31d{KO3z1WM2I?}npsO>^mc51jDoa&1E$O{>!kU-!mOspTeb^NfFUanht$+h_~a z!etdamk$64uFbv-9V%$)m|f#ze-D6VY@Ut+9KteyRJ~_92Yv^IuHUvB{%;Acqsi7C z+gs;LS7YNQ01m?$f!f%oh_HG$;D$R%6h$vOIo+;G;VAJNS!Hoi0s9vvgoxEQJnik- zt?S+8t2CYvvX$+LRJGh{-oA8#k|@Rs!nLsZ2F35^GEO41 z5pPe550Dp=3Tjczp>!Lv`{)7gym)fPT{(Asfk~W}4X| ziy0&cu)8-VeJQTo8!yM;;yPJMp7&V(KZkj=T!T1(`vV~-4*a1Wt`7)2An<^|0|NhF zM1cE0hQ6u^{$60erMeQxM@|+c5;@1tY^6=j9dU(YBhb`GTUnx%_}<|m z0Gsb`IlL+|_E>lJ*4~O)<~2VhK4@C_W6GcccddX@|2G2o zCJ0Wy+nn#{%Y|v^xbJ5CUG$V>Hx0qcWk9;~`F1B^ayOO-RjpVdK#XtR|!7joH7; zpy#Mx93QEEMBdhQ)@TGxA=%24(p@9*r$9W092zJ}@hA^)t?AE}DAWSp>juOidP8LP$2 z)9P{esIfelzQMT}t(`a?zgR_t2;=d=H2cmBlf;DXN_=J$j~|XHYu1)AmZ!OG9h<<| z_Jn`m28^6AWZ-3uJoSDt%`)ftY!1i8lIj*;A43;a18+-$?mNCySG^DbG_tJ(d&hjI zxmLwK^6q|y&$}=Rzz4oe(AjuSK7W*R0&qUpMI?=}>JDZJr$|Fj>60C3x+w|`>DhIL zp3N^YhID^ ze-xY4pv+r6Q=e?oi{z4u5$RY(Dq~y>v;55sNS3TME3{vE6SR0?s1|LY_+m)07J%Ul z*6Jy+4h041?Zj5KRpsjN_V~A-g9i-vb-0dmCAV*Ts&8(shz^;@A;NevFC0}2iIC-E zgCtMH7CBW2GB|ph*_&e6guI}eqmNdlUxAf_g_LfG3?&J)e$rM`p{w7+lYTk7^vY_h zjbGA2u=MH+C7UPzbyL#)IcWmT5bgfx_`kgJ6zq{D$lB&=v+W;+F;1drEfBi4@`JWhgN~!OVLJsqT1#Il`3FEAw>X5TG zjO;Hz1!@j5O1>5Uhye#yjtw%t(TzBDERgYK0L44dwjN+VE2&f6h^?fn_%|!weV(Ic2dN0OA?fSr#InAvahWNG2Q;k>7EUAcvO1`vKaJ3TAS_E?dOnt5yUscD?V+CbBO1~y2k zH=>{`a0B5R=tUdY?x37G?eC^DqUn@@;1 zXM-Mn}tFYz$Y3IQgqWV!zy0+}Cq|R09C)@;7B>yYg9%oU%Lg zJ?K^#`|Rlx&Fa3b`4Zd_!`M|-K!n}%KinS>ctGF*fd>R05cq!w0q}NIpeSenxK#xU zRe+4|g&``W|3x4EMcMZNF(mQGfE;DFwCwNxH zF||W+T5f`%@zuMrrH)kCBUln|xss{OLVweMZo^iU+Bgbv3E9=VU!}A4=xVWb`bS3F zq9)~5BRYp+mnxi9#enKrOA)lfKzL~eD5B3p){h8MGGDvV$S!Y6Hsz!2uobMnN@1CO zzN9b~xML)iF*5t1I3{hUaK8>Cg?ElxS8B4dO<{4GS};a8faAmVtaYg=729d+*td>` zG*#E@FLQnSr8i#+FMsaPZ+?LyiVB@WdAp#PE1-!M&zF)YpR$Gtv!37SEf5}MitP;l z@k)sr(P8e4VaJ^Howrl2CW36g-z+Kle1pZ24(KH1SW}pVgXA zG{wb!*au)YEYnN_1ytE_s%G@sLO-W}+U!nVPDTC5u$6K)aALzyWwbKTd7BG^2=!jqx&G#*;Oxi^qv*)(-63d57W+id1|2cV%#GX^S$`+hrl|lF zU~W5iux$FpD?n^;Kig5nGR?(rtxz%r6Ak;vaF>tI<;!s9rv~(U7@ebAKRuz*D7pGA z%NVL_XJN9-F|9ld^{?h)w2la(`92^y&&(0D@Ab$n;@C9AO=6l?zqM`v5RD0$yYF%| zi{vC%K!4*NBoRWR8yMY4nAaN7SP$ReuQ;*pr(P`+bX1ABZIWTHUnr6#jK~$U_lnmd zJVa7Bct&^8%untmWMZGi_$bDQ&(m|?W^!SDo4H&p6Q z99z*}Mcd6SN!wnkuXkVA6R$s2YOEbg{T0%+7$2hX{3F@s59d$EGzE-!YwE|*T_=y- z3Z^h@60ZiRM)#frc3t^?C-7*8*}4e4MCMB6K^TRBB3h+6yK5`DMX#&*S-hL|i^Ip0 z-$r_&=yP1jO3)rUx5{%{*$6xJhGTnp%W}Lm1WFX*09i>uTW-$ zPjH7iQ>arVLQTpRa8Hd=YSj1OSS4g#K1!51elhbYH|cy(()^51F6xY`;0jM6-KMKH z$YQ0UNAxj+OxZ2+4pV|#*HID_F@RLa&LE47EAVofQDxEug$&{3I4%MyPhsaPYSX2| z!LUCAbB9Q5OR)fdKBvmTG@Nx^!4$EU%Z2FUlNO0rCUu`tvuP)-@;M^ZW7#x3$USFi zsFd^U{FOHX7_s@9pok4`CTTz=)phrPi$^8PXV zrN`|&Hra?4d(3}(WAjOXWwM~J<&;uwe*}s+qP4nM3#`RXDhWjw&RFF8Vh)XH6X}m{ zd{BHGYjXj_?&gD+^0cNf9r1c9sO{s{P3<`}AJAU1F5NoRlj@G1z~fD}a{JH@IT<0M z)IFE2xk^2#T$GQk_pcgKWOi=CtKMBTZVSkmAPVR+V51Y7M1&?sSrROU+{o#DnFsSVDKcpgV2^lHl?N2y_uAvx zsIz<Wg&{l)mih_-Lr{rLq8B+rJ2b_-Zk-L zD4SL-KmP1ag1{-4eIW0+`SdJ~DG6nul!3rCrcdF!Pk&)iUndk4akHU^IIP*Id=VqJ ztp}Y~FD4X!+o~$mp~3r%8`NzVI;5(hLub18tNQ6K%-W%dcbHgCk*U^G47$rrbccWO8aotTzz%BR z`f4!Ba{dtX*ABH(`jR$#Rkt_y?nQ8pxF!(9gXnRo0L}Whd9+7 z;u?Hi!S72ZMz<5)8-E*;De?5M>ps8^>M85>mq_hB%}iSVE?9WYu0-rHdTL)DvMtk^ zB0FP1W~|fur#nA-I%J?o;NdiP%g<7vk0^Rgc@kbk_H9(nZ|MfS6`w;At!s7bbKdT$ zA5>^$IMlB3ZY`1QYQuBz@BMD8dZ--mnv$Z`Ve_3Xj{tdU1W9;7(Yp^JV-=^ry|0XB zd3`@PSG1?L0J}a9;Q@gM1RfB0K;Qv^|DzG$h0NSQ1Av2QNDubn~J(Qd}rojTW}3=y8-a; z08@iMQ;LuYXuv!~4$POx@~6&Mz058aaV|aaORboJizO(L&*wVP5a*@`rmc#R-z_s_ z%5IbYe#)1Fc+`wZ(LF0I&FqDFRr1dF`iLQbzA1HQc%y<(tzWPSUu5#8P4F}^f{bis zMW(+Z>=#H3c*&i!?HHx&JhOYuXTWurz{n71YGMS?Kaj!U^%Z>d2PZ`k<5|kACG%I8 z{!rec9E&2r2f)6NtrWl#Iv3s;^R?k7p$f$1Tl;vVZ2IJ<#V|tRZBg z|GB2EYmbw-p5U6A7Zg zhk$}s#IeVC|BE53=Ll?%`Kk88$u!$ubN>#7mTOt+Eh7N0bU=wX1kYfA%qgI-2ATN! z@l_*J(COgyxXeBe6g?-a6ilSYpKes5jDMdomPWRt23iF*9ra3Ag_O}^3weDh5o!gYm1SJBzn)9oW ztTj~Q@v@7gTzuU;+EOR!7klC-!JoCnu*jwF%IZLjG>wlOvm8QsUmqm&SloS(`$UbY zeWs!O2?}%il?-4n5Zb4%R7c?MU2eMx(ytiTj|Ua+V}kM1cCwU=Y=}8?Ou(@AeEV+r z+3IUg>qj06$qxs7=iy%N^B#*_&#{FB#T;q=9C7vdh4`Hq{0KhmV=c=WWI^0u9U<=~ zTa;VSq#z9?@B#|v&V)&wSV8fz-9Jo_{hvuCRusnoqPZMFaraDG%LvEpwRu*{l_n1F zD*L{th{8#*sE)%9Sw8dqq%Z?cy2NS{cv4UTGTX$u3RW^Vizrrtw_1=FFqnSY@S3L zv^!x2`+jWZPj9Z1Q-g(eewOn6W`8pP*LO$zv<`fHJ6M4?)8;SSdgZ-Ok6mUZL$#p0q-d5P*dx;5_XoUZQ%7TbEl9GP2|_8 zn{EbS!?9niGP5Nc_V=f(^qSN+hrU@Q?+LHS0Anv++%~_XW@^abBq9-u+}2<+aGkNe zV14B0_nnJfUAGEYH~jl*Vu0bb9B8%1lh=^^`ERR<@ALgVlh$#GUzPfRO70ZKQDhov zQR1CtGyFTa*R2*<7tErIK_Fq=ihrsT46taR+eFZhz~JC%;^o{1_J$U(L2G#){00%PxCGtZLmP*l63%AdV#LYn&H*h)S+`ZtV_ zeUw>mn6W+>0FMkOcuiBkbnm@2hgnaeZr6jG{d-u^z`y`6%U)hZ*2kuFVdcvw3d&!Y z?3&gRJVQ0X(f?t(XMVUpAn<^|0|E~SJRtCZzyksg2>kyC0X|4){NMcl-;e(*fgM;f zV3P00`;@@{{FD9+8UK?&I^gw?`SN>yddT|wdpZWV&KdN7&<0B>#$;-TG|U^g^33TY zyQB7xLnL!cXwJ`PL&S^Z7nZ=o_4kBy;DPN8kRKE*A#(gD+>j}MHsGwibriM!W;M}b zow;Zmo~XB5?nb|qj;V0?jWRh;J@5E=x!CIAUQ%~~c2sg!F> zhuHxE!yL9Jo;!Y<%wco6-r&6+-(@1eW7b;8vh&n{KOXZ@jtjZXu-5d>I-j)IE)B-J zD*G$?ELy)vLN;^HkpI+qRE53ASNY}K`FbZuu4a{HB*)ynTJ)my%ToDR;`_DUI!7=0 zTem2+6l!ac@qudJAO#6=S^1bJA&4M+zphSSjtWih(Deg`*;i3 zxX5g*B<74&RyqmjiH6TBb2d_wa}mU z@`nW=#YU8ep{MM1B)r{D&bWKpsr+67g)hv3p661aJ|p;jECVO}-?q6oT{ne*@~I0LAmHU+k0UqgBL>Bv zLYSm@qUw^Pp|joPNOVW0_Jd(YRg(j^?jBPurZwz5-%bayO;v}0v3G{#`w2T%@W01C zs}%nVL!mlc0$eKqQqJr0ZqJ(W zxli`bJhyfhY7h1edPxLzzE=NMoAEGoexuNoxzCYP|1y0YjgbVMBStR@OSCQx+a=>J z!QKlh8;WLv6{UdhEGRl8p{k;TF(<2jUt?2j1^d?T@JjG^T_?c^bSeii;9Dn-&b5@+ z`yN8y1|_ zF(u<#@SckyCP|T12K5O)O^!GL_jBRQ(#4+#QSf}G)ipnP9cJ-fmgN!jDD^0ozM?)< zL*qP1oj}O6AMOt+|H22(J(_Yq7c12tuVVUjyh)tn#i(?V8x=yfat2{7hY8t3fc)LE zjzA#T{M~Ty=Tq2r%j4f^iTAbUJ(H9J7culWz$WPY@eI*P%#N8ANu152(HwF)5-D=!G{oCB zFB~>)8xP>q+PAwze9YK|PjzK0vwwK=>6gsm0lczJ1cp?@&-G$4drXP$4a>ZZX`|XF z_#8oA`-jw{k_)>H?BK+JYt7xwkY~E0Sj$c&#SYeQO9rN<&YX9tVwDvQoFsf52EfMa z#35B(-Dd3lE|->9b(5{otAR_BSvIO!&yh(wQ>&heAUmx6YE#(=!*!L?738)G7duC` zc`{q6zi}5Nv3i*-0xr4pudz;YM6lZjacEZ8+Pg72`<6MAwc^nvWMBR{fC0Bs zUOxHLp;472m7^bzt#BEkh%O)lQ6F@I#UQw<2Yz`c*VTzuK34N8*&pa>jv?%PL`&@6 zZ@@j1REW1ozeeP5d?O}q0yO#w*l3<%N{IdYLq`}Fj#=CXq_5*Yi~ zrH`EC1a;Jt$pV$}dK60>%BkMnW8%qkl@ayrW=Pk-;J%9M-x?}m)Lpfe1=Z2n5=* zI9DGb6V_Up#4;fZiOOTURw0wE51L|Q^(3T-f{)1!_3e3 zp0V*DL;y69$_=oq#s5*Dr&Q7Xv$8J5RSb#XZkf&BOj2Ro)7}Wjq6s}L#Gzg9LWJGS ziv@N@xu$%rw_c0I_kkXmz;Fh}z6sJ{3_JT%09w@v9cQK!jpL@P2_yMr<49Blgk?wU z^u?XJkyc805jlMJvab83KXUoCBEj7q=dpCndbVn?!Nu_N|n976xdH6nSdp#RI@dD@ALznqn=R`rvZ8Zep;=MJG1~9Wt)Q zZ@>Il6PHLL6(48u`2BOU+DqYZj5)x*5$ga+Cgu;_-Zg=z+wzA$^~XvOVztWUyH6Bc zY~q}3UPw7?xqM2|=K02;?6`S(jVrjm^sL{bNRXOYVSSGR?39FOB^~w1gyr^B*k_f| z;1|VZBIfsz>D~&Irwr1jwI1Ic1L%-ME4tZ~c|Irs*COH*KmA_QlOUoo@~o?FcVNK% zzibjcNo@&0%XI%^q5bbpHX#QxK7>yF>p;%R%e~_s^gHi#CO<&%cj9`HS|3*ca~OQ6cN?@9Ct! z=zIIaeS8JP9&t~LKX=acV0=&^EdVwhcurt(g>&F%{C*T-lKY-O6(|!B( zC;*co5y3R)Oukivg0*una%+$rXZpdUFDkiEhu2_Oe9e@YXJ3fe=Q-s6J9^%dEb<;K}*VL$2zZ5 z_@b|)Lzklq1(>x!f%Bp8KucU53;4GzEj4A=65EN!m;)04zw1FMoW`%{Q8PG;`y*s!QG0U5h@gsT*=!Xx1? zbdeO?RLDJs3v@A*9Sq4?zIVTS#8btGW8sK4gO&&IMHiu<0Tkzx>t_%Rq^~Z z0M*-x5!5E63SBjMv)Qd{uB`QaNdR`Z97wzTV=Sx8a{dnzpG{sixJ+7(0?C!5!+>BdI#l9wws7U67eu4O;f{qL|tGM!)kwL7$X$> zgB)mX9~hbpH!eOlt>u|SSEn0XTu!Qr=Xb55!@+q}UyzF3zRm#r+lZmbFxbfy_~)J~ zLhwTdMPIs6I`ets%x%k~v9gVsUjO1qV3{B((G;?+(ehM2fC%GEn0nUCP!ZGZBO+T$ z?!Z%in>QJI-15$3#K7>A;E;Ri6MnFAju3v`FvOx)k_|R0w|{8f$!Ujg?d)TiCVi zUb%{%bO{chA%@P12Gi#+SN-~|Id9^#u1pjJ5ZcWOH7axnz{*uZ@@QX^ORV}xbDa}8 ziq?8+cqzib#v2N*vIOU9yEa6uCu9I$TKlT~Sqo9<_FJee3 z{HLP--FMEagGe%k3}M2u5qff|mZcqMjO+;yf0Oes3QIaX@21Ww{^Yq~NH#cpi5Q5P zG=yYI^fC77vcRz=r?8>KO>jV)4%!5*z`j1#!Z>H8Ea6`SpnCDiwi%a`nqo!1!1lPRLHSbK)>t1E zy1sHn53U7}APG;&smAEJPFLI0-Dpq#C1eLZ^kY&P%R4!$O>@?Q>17unw`Ar7pSr&#@P{+qGrLH1{K>LH%NL!i!*bZu@;y^ zG4luDhTjEJy5ZTD?>vapTt8Y-yU%wGPsHx1zW*5@-24iV)$_u~HUm(+PgaqgDn4fN zy`>!;b@+(HoKA<7{Px#*WL5t&q)mb=~sz~z&#UZtrBTn_^d

              `JL~h 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

                =U|#hHx+=hW z3i51F&W??(C^k)Kz60CT3s@{!JWx#lWIVq;M+9u^su38|S!QCJkA+)^rA4R2H%Mhc zjx(JX{-q%x4Yp=uYn=On^A>`~w*>Pzs#uItbc$BhsDnHypr@3l@B&!8d`fh8vK!<& zr%8dz^9Z@7$*SMVoM&ox#nebgtR~-jpezv`PoUif92{;vFjljqsXj;){$41VjDyF_ zug>y#02MFU;1*iLC*<2hsVI33@sXOUU_$_5Bz^&}Y^EXa`A7`t*`=wLRAgGdrCNBE zAQMK;)7*!}X#o=0U4g|r+yEXQ>BsS`?6suoNU{R0r`JL?X$iDq^7D#+&q8j`7d$`KE%XUIgCT6!oYJ>aF@2oCH#`Z<5Q^f;3pLcovDR3RiDKapjeG!k3Qy6YDCBn#AT& ztAigSzu@XY81QbW_(sCU-z_Z= zLat5=64%z_SH=Qh{o=8W_+LWZK<1II19=V6j-|rr-lArUOH{KU=jbqO^gR%45w?#{ zZL9skplY9e*(kliCPj9A6>1rmb2JnmC9m0cBz-#jM7iV#sB(RsocO^8v1kVY>^ z4^Az8Q6j$3W0oLY2Pt6pUM592rFTv(N>dmew2zsj{sxtAvbgZ(HLug?z7huO!(CkM zE!Z~xv!U*nd~E4}#LLx|T>WiigiLIy^Poo0075BmL1_7Y6Ii>Sh4w&3;Sqz{?Lho7 zXX)h){*zogoU3bqUk|>zHZ_zZB(|lo|xTD=GY_`#Iu>j2H_Y_yKB^YeFE;T z@l+=xUO4=rPgs-$M~5|}FCBY{e;BQS^njjga_2l%u;`$&sWO*S|8zQK z=r)t04m3doVD@{lyt=&=B5vYc`ptmZ^y5&ib%!{)0U+A}W=$V8}tF^7=y z1Y7JQu)7ouAZEKovAGg*aR46NQ|r^mlrLUx1C*%tjH6fYRH#0_djIw9l3L^F+Yn{n zey6p#O)MqhThLR;EIX3#rkvS+%d3l$d3R2OU#q-x4I9GyJ+2ssTalOO3iFI>W2vWg z;mEsKgw{QJG8z`zEU5#fM7|)L>T%r&kfQz5EDk@E0!biVRsp**P4?`z{`BDY}rRZQ2-zWRP_LW8)!%KgDL$X7lg5{Xc_&ZmHN&Dng`yA-&1_u zyJ@;9AVp(h+>5A*yR@1POo&xIxWXcmjYv&1S`bNFDht1g;z>F=gESRz{rQjUq&w{8a~CNUHb?5C;Fa7(z{(IZ)FSp6n<< zbIiEg1j8>kB}AXuqS&YYA^%k;U;rEVmFa(k^l=LY8X>Kf0X z$4^gX!%s*&K!ef_gaIR1u8)pw_ zhETDXZ(3jRYug-mRLSm`^fGpcU+> zi%>-l&NY#yfGXSf;yb1xmDGL2U?Q8)dh%+M5PHeq?yxNlQ>*c15V?PLM*hcTmGyLy z9v=em5_ka8t)~B_Wq>+&`4Bt8kD7l>7K! z0YXn<&wk}RF6w#)!?1o@Fc=II1;W5SNgR&zLy)5wg|80oKsO4kkPMDF=QXwf;}|Q7 zS@Jy)gXCh%Al8WQSn-g;fj`%7c)EKS^IKqHi|Y)`(V<1QW2AUSbcBDcz_E zrr(s?9%CIHcKP4B1;e{n{FzmAJ^V)a;FW~-tJ;sbjN|wFk%dsl?R}edUMuM3M9Du? z|Hrxj@R9>PspgY<13Fx(9NDKhH#l9s*gI){$mLD93=!)4jtwk+%~L0n7^oEg(!U7& z?}ET%=nF*uwErJyLhR$!#K+1^@_2scum9rpAM4@`0 z{O|Ny|KeXh*69Df4s5{wn}7cP|2aS9r}2hozWy&B|7rZ;`MTd<{PthG%%h=v&M)g# zU@z7i$`usXbLukgX$+@LhFQ6JX20o7?`Yk|q;WSJ0#LGGfIk$hE-OMXHGOZVPwye1 z+ctzu%%=FH>Ue|07}91?&JN>iDW4> zu`a!j*HxL=S!yS0DhONQ667bLow!J&NJ&>l?yx?N0?oM$d>l9d(iMZ|dyc_8>hH7g zWpdH!l(Zdgvrg}gCB~;RU`@W?egTMh^?H}U_FS_>2|FvSkVq+JR24mUT1AroB$D+O z9FY!TtzfR*%xIoyhq)=+&}WUqGWRk*uYyDQRkZ5apGmgB-5h|Fte()}e$t~|G8wtI zNS97;x9Q^L%0|8zWinlw_-SGYz*H8!Tcdc48T-ymh7m>giV8yVKMTjRy#(2HK$iFI zn-MFdhh=qdY{*-2`M7P%gZyEV^IF*{#D())qW88$pppWohyW?m^#V2^t!bU#DEgvf z&D5E&?36u>&ss0}_vsVHZj zzy7--Z#JZV)6D&^1&K_4v;E2!ihvqwb2F&(3Xk~>@@sA$1G)iYf+@ff1|Kl9u9v{$ zW2Q+C6nqj7OG$Ap>K2@d-R|?|=ex4yLX8SbQ4mb#UyP*?K$(g@m9(}09Zv|9DXXHx zONuu(;Ii9IKa}^*7!=s+vJ&;adTj%gA6Gz>zaA%}J5vpIS%ql$Qhl%f-1Sp@QjDyb zeXg@W8ceg5b6LAa7GcGYXxy(gV%EkQ^N=dvWvBc<)?Q=ZpTl3elQU&?>t{n|4i2jJ z55)e~-fR?@qB9;Y(Htap0gTEe4^;dJI@vmsmQp=&^!3P^9TR+KP)Y5d;Dybap%z@Y zFqJ%8CU%et@WPJIRS~>9_Z%``He^>>cL2n@bbg+b7bC%yc*$2OYT@m{?dbj7!CTqZ z1;LxmQLpb6x?yHBb<*`M9D`i^6U_M*Q(%_%izp{JxC@e7q=-j#4|ZFfzR#>D96V` zwqMv+^Dwi(nWgF(aCLSCL|Ch2)q|JK1}{g%GsGNGrE=Io#^KLW{{R3%cJ8#S33nsW z7w)yI1gO%bijB_v^a$xHr-Wp*w24B%`4A#&Hj;|5Dfj0=);YWnUx%Q61D28YfR#n( zDc2mz=(I@)Ug=tyYZqOT5EF9>MdfW}bxJo#b4m}>UgPemKbwlAJSkFT`c!e#@msNE zsS9}gj|oiBLm!;I6{K{bCG+;3)sTh&D2|NKc)3Pggrn@Z{Gx{ksANvv&&Gj>@K3He zS_YOiiQ2)Y$L?ZZO2J;3zIWQrmt>e@xNmKehpo z6GxbeqV!WrlELo>R>z_-jcyzwgh&i-@mRXScsk4Lb7c}xrvKR-{>KNEh|F?FU&zY#(*b^%@pbd@A90Wsd?tWD>U;FW-1j4>l zkK*Kk_cllvlxfvdx0Cyd`URw@+Z?4=-$4u`_@*zK>tTju&kH_mDeg10XaLJ4La8$ksjXIhZ*OQZaOE0Q(>=ze{wA)0I$FGwc zTite}*ppWjL7A33xiO=CfuVl*f-u5wCc0BTy=7vbLtu4)lYA)Li$X4VnD+y4k;z#? znW_9JOAPD$*feiy(Y}%J{7#?y%eh>H7dzMfK32jD{YcCNV%Z4F{rlAv3Y*{kJk3Wf z>7hmc?6G40R8NQEOYNkj$-=NnBw&59n0(}4&>>rJ5!H$fg4=d^=`8}F1tcHD;ihq+ zpml7P5CyR#^n?OBaIl4e%~~MQpO=~|@mqN%yh}q3j~8h^{_9qDsC2-%EPj=;Un~7_ zszE{MPCBTh(oY?BetZ4{^e==$&VHO<0hupTXo76F6YC71CctCJtML`ip`VuPL;ZZmGt;cuhb5o znZNX6T_Pw`@TW{~+n`!_w4BI%LQl(J6zle)OTf=-R(0(TWtDRVX_%P+JbNMEbOWZG z>J2V`JW!v5t3;x&J;RIoq`kQ#fz15D(8N=s2|k{s=6Xq96UW-yy9YfO4-3`{Bq63MZ^dEMB6^+a8@Ha&J25K$C z!ZjoHewJ3vLWSZW6)JkFr+>=(@9|#*{zc$l1pYT4+45B|#<>Q&;@wfHF z=RY>kK>m6C|K=xu{dqlqhbRC0S>E)?zkcR5pZw?Ncz*d~hXI)0^Zh1|%_@+8mVfgU z&wrLLdklg8_w}5|K=(6$051jeN;l8lsKc8?3rCchIC(dCZ1@{BI(w4qnbkoTXb2ER zPPyCfLK;0$jsdH9jD7iyx>?~)y#rQmKe#3ow1kyY`p7t2?uP z$#{7%FL?YM>ZW*MtoONb7({OTu1nSpn^dw@v9aKfDhoct&AaWJBO-B;@4n#%6OjI_ zgDsYwmmyev7pg{D%W-` z7DSGi*{jF3sAnFhzq718l|7p78}k4_94@znU?-TH$G>oz!0d=?1ma+0lV8A>Ig0eI z;@Q@J3cLWPM%YhY(GRyrCyw3m(Hh4Pnt_0e;?8^!L;J9KKayZ{+cV<6EejSFsqO<_ zR`@CIje4Jj{BpZaL#1`c+HTs>zRtM2JyrO?p`8|sv{%<^!dBl@}H%UNuR3t z0YWcivX42L$*>$(MSI>b-byMu&iiRSqI9R*?)(a7b$tQ_;sW;~W8CT7 zHkh#yz9QDKNxCX$fe3lPv??(6Y?WukINBeq6i&qRPp)-qzX^XLpbKo}4G~K~D21gL zH+f&TLWwVZe`KtX^SIcY1~E9FUZ@)QvgYgTWDx-TaEOBMSkl$x?^WcMk8;R2-SF>D zY-&3Oee5ghZJ;~#-d^`1+eA{6)QQ;G&gn3(UOQz_PVLEaP`Be>muE}@E}h#rM`^HkOv!4=_%YwR21#+z17mT*xVoR7-6pQJECAm{uk z9|M5;`g(flPL^-IA>*dQT<^+A?z1zc5KA&UD!Qn}kVjXk)yJ0*RW07o$%Bb&B`Lec z{*P}_2x(;wIA2BY+2j)a6xp*PKJ!f zW(4nFZ1=&b>fMTXZ^*UiED!S-X9V0P@J9xK3?A85Ho0f>Tb|~mW_%B^Z>Y0@=d|A) z1gc)yqbj$&JSPBQ@K1~HKie`;mQ zaB93=-sf8SWoX^UrPjbW;<`EYJri1kB!A=^(Yg*Bb{!Fv`VS>MpHFJBBFz2s#+O@W z>%G4#btG|lrof<(cPHAG38ckJy6Oq)pT?ldkX5* znvY9uTJR?-HCL9oU$D$jbW_NE($c7v(59EKM-hwt;mME>b~fQst$!IUfhC|}sC{aP zm%aG&9iDS*Jt0-`iQLS z1OSwlahr19FO(Nt8@82nVVf6!j6oRUqM@z6CK37&(6r5m1>@z6Goo8C1GV})*F~8D zHKB?dFn4$zPl-WE4*93D{ZmL>sAvh~`~C;R+M00fKsjFDwPBKO}Lgq_j6bJ-zqe#KDpt*<``-LnK_GViT$ka(-lCfa4< z*xy&~$|*EWd_iO0|8Tmxc9e?zvk>@-@!IsygGk*2)6J{6w9GYXp;o1ti%ew*N%^@$ z2#EDU?E^c#ht@>(1xi-Hepak7#T8IhCdhj;S-tIxKDUn6(hx$)@%NBqo zE>GtJ^blF-=qk*D^NfrsJ)N-(0;@Gib$nr>qZPMHUT>VlQe%DI#;T*|XJ(wZ5lt~# zsPV#vh-*BhipJL&=;Cw?y(7Q00askb3%FeDEUZa zz_$F64vKv<$K+PRVc$>(`s_MWf9ZH&2!``^30S@1-PwT<0hx=A^1|FhlmcvTV|RHX zHb^&*`QSuG&hNg$!_4ngr0NfW`U5`@*!|wl#mNQn?G%dgjMJh(YFcczCPQmOP-^~fIMg=^Oo(YXYGR%3eyt#LA*#q4S%X3Pv2%o1OkQ{7(hn3ne*+@f&S3!8o&RcvWEX70ok z98Al${muIWxEyTU96>F@D6m~8dr!PklW=msx^H_g1Wgypp=tN^&n=y5aF*x z?aGqX@?Q8fg2D8L?uhsz!H}+9Z@NneQ7FX^c%x8FP~J18WQxBTDey0LX8u(4Ydj8V zc(z&}=7QzA1)E|p5-bkDq_hgY%~ol{={Z{K>%T~o`r*NCqz-_s0PUjm zETsNyE;>JHi~3d(-Cz7d`2`oti;m#zg$1WlJJ<+g|LLV_CP>lFm3`{KsNS!nptt9k za$?#avwp`m6&hRKYYtU(bOmSw741?6S2nU`#MWr&=Z_50@{`pq$2Sbl@a=G#CpjIe zl8X8&*`Eyu-y#tV`+>Xg!B0|dDJ-MLzv5GM^2AvVr27O?G#yGU-NpR4D#i`jj80!){s{9`J6Yka}=U|Bsc;Z>RN-j(`gFc=*3l*`}V_=I49VSX)o;#xe!2jg`Kl|s&kI0ZbmhG93d`tt#Kl|(Jk9POJuh0B7J}~&#_(1E^_`q{| zRZrss&wRn7YW;V5DgQNIQ1j!n-ceP5Pb;17v{CV@{qa=Vu2$k&;=Mri$A|Wb6_C1( zOcycVDfxYrdKHGSI!_W1DR?WjZ-0=JA_^~1Pj%eCV{ z9KE^5P0b@8ur)3q2lg}}hm8j`S<7VM#WQllssnQy&r1p8Q<9@J?gF(P&6Gt!-C?0V zUfiOOu_?u+0u^?K!_Y#2c*_4}$%%$2^ElRs!3C1Hze)!sv7 z(2oR@6!;YXq1mV+s@b11O>cWMu56OB(65-Me4pcA&q51Ne`>)Rmrh*|B&a`i)X>_gT&Q>!1{BlU)%V84)Z<^}EDu3WP3Ba99I*fxLSSk&v36Nk% zq9~?^+;9#imrosm8XxIR8wE%>{ zKRLG@@&#=S&t(Ii*ZC7LI)`an4Q4~J?9pC)csoUZ{@hc0mXm%mJGJogcv;*XJ$0JY zUH+zko&c#+MP_%Lmf^KJaM25xGLRm0x`IV6^iC55*IyvImy}$`O1pnc3yVh$u0&<= z82AiYcW;-UE1-Y>&AyA-Epi?&`(gza>5IltS_`<47GcA%Nf_n#@23_`ungMx^@*Jv zEkbGyzIWX!^VULtc?JIkEc4GK4QlmG`0oy_UFYZ=czxa{UGwW{(D@fJIEVKGbk?>r zXdn#!$@F%pA|cy8mW`bZ^-l>4JcG11yeGTDzYN?UnKz9EvLp@yUbu)8%|Xo!E;P8EXc60GI> zQiggufL!h~Z{x-oCxGip`oQyTc^`a@`KrSUn9SYaCC-PFN-nbv!ZxB-P#Z65Pn@Hk zz&8yOKu)&pOY^na(h;1#pg1U-Q19-ucxt1s5y5%oJTdJ)Q>=#aW$}6L1J&s%Tg00UMm$(v0_#a> zMpbsRuPPW=cd96o7ScuE>8C<{hmN)#5z-v|V7pK&w)h6hJdMRLxr%aC^@{#RWO>QX zA=$_6Bt4V92!`N-49+_|lYZR-07?3WyZq(h4){k6%^ck z61slIfWMjzfZGj?xLr@$5LlYAVOw;~tbNUsy%Y0o{a4uu2!sEFy|)gkV~O5H_r@VW zaDoMQcMlre3GVI^G=$);!Cis}2@b&>k{|(s6D&w@4=#Co@4)$`sB_=F|GcVKx6Z1X z89sXLneMOG^vvq%Uai^@x3uezB=QV^LcS!*f=aW^&ppJ_S^uGjEXxZ>RE^kX1eaC}L+G>413p&Lq0 z8i7PhVYc6&XM9|OUAdWaE}Zdh{zMG&Yo-hzgd2*uf)4|;g^39PPb3z*3Ii6$DAK}K_$53hNd|5rmv+w9% zihXeUg!No+f~w0Y2*SYuFG@P6-S0K=vALp4D4@cNgQ-FQ#p4FB0pwAE_aKowHezHS z`>1#Fn5EY>bpCbD0wzA->n;a4?Oy4}y&XKya25Yl^OlZXZS9QDk-}6ppEIm<-Y_^Tzo3Ibx?bO_-TXT{(X1!j|yP&-VWZlahFAKe#~bI`*>k*@2pj; zVvH|pr$aewtSOEi`)AaAX6@Tv$N29l4y{&G(OzmfMmmFr&7M&d?++twxYC|N9z3+H zYLqG5Kl~@IIx)Zdx!I`~*bwig1O#^-PYIgvO~xW=!I#9h?Y%3(L4UF7NlZ?ldZzcx z;GD(i(%Pb~hPDx62VJWJZ}czpl40>N-(8>{=vg7oAdu;_dvs3rD-VW}UO_ncw{DUS zA!j*EP|>s}@5=YC%V|CIn^b|QUCQ_xf&U;v^3yWkr-KUM%Wm&jn)r6b%z~d{4=K6zU^$OET~XYL%vK*K*WWk^ zaVT<8n6zEg4M~uVge}jEG6}ik;`2A3!B&VJbeOKSFYfWnU%U}{6dT;Pgz3`xbZ5qR zMbCPt-i2BH&-jafwS$jZ!e9>mk$+oC52b`!LKcUZ=m^cfO5%ON1dYFfT$iYz(mjDRUMK z?x0b5^C9|EUy3GnKKBC;K$wXYxJ1ESVt-0$&(}X->=Q~JJ@KOWXyasl_B%!R{V>9N zrQdgc;@`ad_xFDc{Kvrm?-{VYdz3=~@czjwIJ!9r2#MVN=f?xg25LS2P7ip1!M!Sf zr&EHi@i%sRfImIJPe2XO-}>MN>2KWh06zjfivLd6eSpC$n*N=B`v5E6^+$*R{>Zxr z`0xQ1z3Z>I*N=aI!7J*{)~J5;0Ji>0j9a@?*QxTWiF-+aBKwFB@1zsbnm_3 zh<34DjPc@#@qPaT&Qr}**=yFEU7flra&1&5K-zn~c{lL;ME`t?#SlfcGJ=UN%IlTR z^h6~@9U()O_l6@lGf>lK={Scq)e{YG)6V5pfO@@`*iT+%X5ueP-15!FNz2fuSck`l zF)WuC3&6Kz)fry-=5S6AF8@q&9efPKbhh`XkH*l?prMbu2*-=X$4HmPE8B2wUdLbB z*PD((h+~3Vk>eGg$0IxT-Ryk9vRQ!Mko}1u!q>pB11OJ5D{kAU!lJ%hcZPnft`DL( znjy){R+>kPq^Fd4VgcQ#D2wOQTCO3tZNbtWGpgz=4nf!M#(nK-TBIsr@k-Uam@KrOx@_;5^vZO$RxU&j=Sb%HFQ5W~81+ zlYxhiZ>_?QQ~;olG%}$G+Z#p9>J@IKwjEDd1FeXO=C7kF)lpL#AN!lA8$rJqHmT(3 z<7b3i^lNHD7KK((ljy@?2lkBLvh5TMsEqLl7Ev*0SYg48ARn%E!8v?5>T#7s!8mI$JUqHKxifKRV zWD20JG;T#GHonjT3tK&Vhmxp06fRU0gIN4g|EF_T++jbSB=hFa#Aq zC-a@T= z&xeaIP|DuwK5mwm$!B(ewS74d{pvAc#GI1R*l80`Uvp)+g;7ipU9e{LJ^4xU`x$Z1 zjj&=yw=Z$^)9r=}9)lR`w#*wf4(lgpP?$M!F1GJ-sX{Qtjr~WFXk5bya8-wCKfNkz zC%>v|9LW=&EK&H>>4X_9{DPqdg+W7x4xn!^Qa21;upXcojVb?3ChnXs549dvLP~}2J@j?OmHg(BR5|$em?7Y+gAtC`lN?;u57bFo0X*qUYM7n~JWHwa`Cg`DvA9fkI?d68bGh z2!7`)qGtg80I%~HEnPICCAuS+r>{Sh_o4G~Iy|a8Q=_T@;tEv5&+CgyPVUcJLJ^}# z9BBDh<cp z>IdTk{nq8{1N38MD`Om$DHu9kd6U$TaJe}WzrcJglEYnBGO0&*Z4;xC&1qySFQcDC zC(FXKwvY@)#idLuWP%=KR1w$VbN)JzU*Z#R(o)W$YmI!-5`bb#=2ki$2hfjcLwae= zg(=b|_ydD=-Gom;(#>r}Fz6IRUaGMzPu=W=a1`AOP`E*!z}7dZMx93pl~lguCc}9? zS^_WS+dnx2o=xE5nIRKgQnm+=Mbfvsd462Q!uAt_X)|zJKd=SpC!3eP4bgetYHFiN zndXU$GOp_fg-0R5vKZSLbL$z1{bFxhubF>XW#ufN^%Qs8JF^<=$4t=Uyz=vKaT5dy zOPSX%8()W(`y`ptr;vWLaq1Gp`;5jPpJc6}f$v441k`W*m=!`Ke|AI*rwXhj8EF{x zDosI>F?q|4(lCI-!E{*btkml^1_4FZ|wXBwGQ3%1{?w zD>i54%3f(JJIjc(mYvtmb#2!bRO(D^cKIZZkW)SviP+4bcZmCEC4opL74aXu~u=&N}g3H@TpH7yBe zeY4G5XWd9fUGHsKvM~BKkFGe=hDepChxhc_uS94G4;g>5$0p<$Z_xOCtjxlMI)b)B zQ%3MgDf*AvUF*o}5dr!$`Nr=Xgs?kF)Vpp zpKX!r29ENOUyjb@?lSb6mmVg{6OKAgWHJa1kxm=v+4a_nJ8Wn64T(NN>BA3WIL+3= z8q%hGetZTr!1I-{E`_x{Zs0baLL-42mmY487p`l}9gXcDw%2CxF_m$Oju9vWTMg-pHERhINqtU7bw`Mk#@10aXMg$kf4Sd7<#FpSL z{0zOgHV{0wZ1Md1*Cv}#g1xNXM`_jZ{Z=+b3e73mDlky9EWrX8ggfl0!u;$UN4kNt z-8a5Q?k`_zc4W&T4(w!@kzV8?UipedI=6SqxXo&p-r@oa=OE?zInBWbUM=Se{SeMh z{2kufxq>3U{E6aGNHwE?Z2e<}zMtNgbTp_;>piBLcdvr~9sXnBKL-9|;Qv|%?Edlp zN&hJ$cnA^+2;KXuMh|fH0}TDZe}C}+7d*hH53u9|e?H{_-h6=X;|bp9FXDkeKlcDL zKJeeYAK>8!nB;-~{_+9tdVnz>`0u6QS_yDuq&9?xbKmK~I45WmtQ&257lT%*1S65qh|B?;tu4Ya~|32jq~4fuSn-l zY&Co07#~f)U2Xeq{#C&$AmfUc`H+EArGNmoF`oSGd^PU#XL-*$q)Y-Xuk3z&f5*xX zM+o;;cZgXIn1F!Lz*EzLH~0HJy%$-N)yvsWXK|7ydix}0%?L6K^fu?f@XQ3W>0QRJ z+&SiJHv(msDp646N`Qz&yy$VRbpaa}dX4~e>Sk3wzLd0@DX=5Od?XgLmo6d}- ze*`87`1IelHQ1d6+S;l7XiZn9vNUTQ-Ea~J!Va1VAwCsKLoLu4lb5yFaVf#+@R%jTX+2hkx4c_)%wG{N>sdSghRWWI2p zAYe;7P}pHfcct|cJrjq@JFBTwRm$b^<=W4U`|iI~#^64YLV!BlF%L4EjXm7guUi(%&@6fX3+ zG%^X065%=(&<6P4R-D6ot~G{u^z!kId#u$mv|i?yqhIMFSIt&7UjUc**Ong%+h1jk zv`aFUz~wi1Vjq2ff(li+Q-@WgHxEq6A}V?R*%beHiuBv?h?H4>ogU|gpX5>*ij8@J zr|9mt4%qSE2hk1dyDsWX$wl=p3oV31*c)bD1syC;h7B5E-PW_%tz|>9&wzFARj~}! zoYyiL#HYin9wS;6dz?$agwnXwuo8Q5S-x=0XDmM9?)3ED!!GTI1Pam9zF*lYZxz@1 z5SE+PJ71(xR4W!`o0aH(T5yt>8IV!48GlLLsqU#hV`TyJZC##HOqSTZH%EAF;yl!T zhqU(QmB0+)I3Qsu;s*^qyX|HwfgP)05HkiUy{i{Wv;Ng&1Y03y20zC{0qPJsZGUZS zR5S8+EEQGdw=1bKCKOutZ`S#zjJMpgksU!o6L@it^09TFoQBsJoV#GC*!!K~R&|HJ zG#>;cY%@vNjy-x8CKl=HZn(8!?xLUb$sYMqZl+c{2rE( zBKmV%$xDXfQ3ozqLXUrWbq`pDB`L<+UaNJzU(VV-c8efuSU^9r(0E zGSFOHQnXk4%29`R5=NC{MWnHq4FPnn)jHT-(UU3)q{{}H zTZ}-Z{;G?s#NGe>-%HPJ!S!kJlH64SFbwBdeX|@ACp)#RbaI;6JveZG2l&c zpX4C~Yon*SviSOXP-TGK*Y88$SFh8Aj>WiBHTbx2Yz!5OrI zmYls%A7H(CA#&O$Q#^hKNE8~|CT&~LX7F9q?q>9BpE-p~@@gQ{vrQuTb^z!tUZ<5S zm<^!DOOj6iUGT={Rp)zeZK9!m8+BD}tziS8zUYLH%p#R9REbpI$eSyQC#paWaZPh1 zTz~PObyrUwJq0ETlf_iUko{a=eavh!rBwXgua)j7kC~|aa4~l0mf0n&0TY=7);4_# z7ELSisPS;wrUHs5mq2F1J1RwP?bV8VH|45!3+E}tuHMDO$Sq<8*F(y;aRYRqcGcj+^MiA%S=1 z?}qdd`Z44eb}KQ9W(S!PvsRxx8#BrhX^{m3;HsE3sh@M>IA93D+?tDBB3;z>f#NZl zxS6WH>sbb)$qy~A?5HGYQi7tDmJ@Dh9>_RKZTXfj5h$iU z$6_MLW{N+t+5ZIUgE_J9s{UhFbn$BS0?X@hvq1}`Z5OWkD|sE`x0fFPiH^PoPj}$0 zmxO?fpI|r_yM9R0;Wgr*)^^%6T zJMoJqO139x=oh|&^L$V6ZnYLgeb%6GXG*S-Hv3!~F4_Yz6kc4yfR6K54=(2|qW*zl z73#6vJ8kNI8eF0EW|5tUk5t00v&g5xXKSV1w!A-pNfZHQW>V(M@^g$6%#ZLwRJPC` zEzS8pn`$Pdi>?Y2crEx%zfr>-N^ugrolnTBxzQYOoYF1Dp@$IFm+4XkMBk-`gudWY?v=pukcE1hN5^iL&~qKO5-v) zpP(j#s)P?U(sibdx5|ycF2*L&1&zory&vmx>)6}9Ui{{>HSwV-Cw@=kC;S%-t+TNf z^?)QpXS)Jkv>BS8*ZkQBsW zoB1t29M{i>@s{k|GNRrgYYys&$ex|kHhbjEJ@`{(x%t9vGXU*wGVV!Tm40*krFt7?yrvA(E~<*&6ti} z>r8V>o4EGWI&NuDjb(F=^B5i-JVG4p(wffRcrJoaI8y^i>g!-!py1Zc4P#C29erk^ z<%`5Cl4KnOU(_T6H=(2ZZ6ucE24%}(l`?*|bgogclrlZ|lp0CQ2e*}liaGukQPREh zvkF{^RSBS2Twp``%g@&)A^8Nqrk@0S6g1A|1SAcFHud}eF0B{6k zgiV6xj4?zV1Lgg}Qa(ecHm$^?B*-j1u#fbg{C~rMJ;)aa3l!jP3?%69CD29!+Ezgu zSjK^W@csDy`*?o$=|p$_`8`Iz^S|%c16aDl_vzzz{`NioeCJQ!>nGp&%lGLKcmD5v zy7rxad!Mdw=fB=#(L4Y39&`N_F97ezs0Ce}Kqf@;rDj<7;zlg~%|4$?!6pLN%#_US z;Gf9i+>CKZc;9NLh8_GCe^*?fm&X!(uUy*g{Wb`}y+Yh*U z!rPXW%;)Ww8Rsl&luu}BhG$Qrx#%|po{J68cOSu`;3OLIeJpDYBtJHLxd_$#3)Uhf z88S?3haWD}$V)aQxPpsg2`^lSJJU$<*Klt;t~-O61`O~|MCpGGmM>(2n7??=%)+8wQ%z z_Z`luAT#Yjszmxn%{>%}ka6NrW4u5ODHL;`x20B*KPQhUie|J-P<&>l8!crvq{A&h zeL#Rfb@*~5il4XNHk`t)?Zz-*M{ zaZOh!jJIbB>B3cCHr?hk;Mc^p+8VkV)m^0ymS_RI*#NzmrPf^B;B>*$X!w4rbq|Xx ztk_y%3Vw6%VK0O|)L){Lsi-Sul{C$BsoEw#93WFi%LYRE_Kon~L$6Q4b6BohMaafW zl6GDhSL*sSy&U6#K54Qxvz zbChDJg;yTn3S*$}9rfUPQ5YXB?Hqd92J17Esqm4vpOKrqG0J%oXN8h+cZOJO5P@VW zG@l3y#-xbwIC58sXS+8ts=8rYF#`ZTNhTfR$e3w&$w^6K!LDb8Mi5-VeK60#*RaxAMKzYnx99?sZt_ zYg|Er%LY`F02lsz&^`E%5_kbju;9DC%}ZL`PDhuy4mlWMN`-lz^8Ql>Q~sdKg;El` z&Jl!z@u{A+dA$IZ*j<--BY5&`W`@23?hIS~NQRW3B!V=4;Oy6I9|8Fm*Nw2Klxq&2 zxIW!AThfhGpE{jUf6m*afOlg5j1smjH*d{U-Qe@y6@{{yQsDDu_Ar6KxbT*oK2InJ z2ciUX(9m){8AvHg4ez^fL{W|-vf_IS`!aB;Hlsupl|IG?nfZdhxP)Fq)@7hYHDkeK3I{S(rH-YZ>#8ac4wmvMJR zX-4c>NzbD8`7+8UMOq90#+J=#@9}@G7Q1}#5v=6cJHeEonNO_43<|_>?SnEUuP@KG z&V`vzX+4n5Nu2}c0RJ7vl*1(oTS~nvFZTTQQ0~&QM4cp6!^)80rs6BCm*~Vb>SU}V z=jv1D1%P;(0OLm2S$3JWUS8BURpnJ!G!PD$2PwtGUp@nk*ipD@QD#;>;Fw@29dTP% zEV}-J+iX4uz7Rl7r!)D+N3L;3SM6(|H%;e0(-+Tw<_mxoKr#eslfi=jMXz)vkBV>k z>GN-{dz}el9Mi$io_vNPdd{y4+oT=@sp8lDCj;asB_iB@@j4bmpN4)7|9AH^tMB_z%kXqhW0sy5~Mw?yw-NRwQCe<=BVKEl?>q1bLDMV1lUoRqr4@F z5ySX172x0I)&gwjAl3gT^adz9|8L<4?v)Hc&o!_RAgKJz1MnK7I<7;9*08ZleZPs6 z5J#jBl!YT5pLY!4LJa)&5>hGvpwY=AMl9b(U9!I`8%-P5sqiP+r+YiNS8BR@ ze;~jwxwNBHxzu|d!1dMabMNcWpMfy9gFEgoeuxgJ4lqH?yu2)BM2L_iUi7!0Tb^PTRCWq2snfocrRLyfcE3Py=BLRK?7; z*b>qmqz+N@T1Xrv#elG$Jsl0-DQ->_0T8oX5Hn}~7_r;S=yxoWSYe!E${}zCnrzS4 z>!fE`Q3@Kdt%d?F-Y34|GR&`-+Sw7kB;5=gY6ESQI7v?Y@%u~)#?&suw`Nn>mghHB zdPyTSZ#25OsspRt0?lul*2eZEZRlavvLRJm71s0H!0>e+{`&*NU_gmGp+DM6=GQk? zlu*}<5)XjkBei|{rKv9^RMRi0_GFn^Q@I0Vh$SSm*or1vUjaH~O)HKK0@M~^2Z5M8u%Io|g|s`xaii-A>Q@zeYZ z1L*mdnRy~SL}`N`C5`02UI5mVb=JTfv@gU5_Z)P5Wb|z)($HU<)X%8q!kWiT_N8|t z86|tAhqR!wgEl5X43A5&R|d#jg}EsG=>Ak*N$;iU`@SipaR>+AXgqeo4D( zp9WPP!$@O20|r4CS6d(@X=B5KF9Z-_Soppm%L=DLLdmqf#bB8%wLW}b#pDnT&;#wR zB_q%&_}$-Hq>!N=jOuPcVQ}KUf{yf@_wfSkJBC-f1I&;r?r0?qrBLVz!}|gQt*ZDm z#NP4J%N5<+aviC|!{AYz0r;F`#sy3;UYRwFdLm86oNP^UL1xn8<4$fFsD+QP8fZ)e z&E4QiPKMGCh9_Zu7$Zt6#te-732di35 z{^q-mqzQfR)`*^;#v4c#|LaSO*PnQtPlv$-fTXp;cOci%HlzkUL6OX)g%K-!-mPQZ z3=;8J0206g02sY{SP|$gZv)ol?7L@Jr<|npnrKyo)wjF(N#1ug+y>n?C_*^6))$W$ zV4j$uq0zDL{z>~$=1QB!*Lmn0ADkr)oWRF!Fb9phisK5LT5|OyhTms4XF@i9Tg_24 zi|+y6`K_?VDG`awDfDca6II77-&Q}Kz%=D>j5#qDGBoaY$7 z3^INlRwYveDP8gHf5aVlAF`zQ{I@|$I(Ql~0PwG~D9fkQ+(BuusCUakvDu@tGh#Hw zl-6X$Qfr7%x8M$70WP2*Z+G`f=J&0+ZS#ohr`1j}@5ilP2aW_?r`7qsif|SSZ4?4a zN3vBA4j5&;#ECSHb8j)m_7>q?Kc=P3mn7&6O17~;>wSw=n+9{hgv1sO*of=oUEdF* z)5CKh`-B;^yw(Ot44f&2pRF`!D9WhR;*9cC%9-Z2ilVGj)k)@tR>U^M;56~Ku{7j? z*nu4hvmN&ymVa?hz&Gr{H>TUGM{5aM*iYg5;Ps$G5C5#2bgJbew$}0ZE6xCJoQ84u zPCPchRR^9QB<{(*82~UHGlKO<9LwZRPu5~hM=83acOrcQpMp6A+?fFY`u<+L%$;7>StP2Eq$8P;eglBAb;|Iq~h+0 z_CNpmzxgkRfBgUdi4Z#isyPx+p+)WrP6{IUZw#Iz{5S4?fU!X5{5#$30j__5;Xx0W zzxD6q|BC?rNb!U8%LiEYu7BZPKjQ)3eSn|c^*`L}zkPt09$?nH{)u~i{|6Wx_TlgR zQ#|h-}iMM;IhAP80rrNo338-BD$RV(e?wS$6Aco zaFaL=c2P0Z+7hR};Tzm70)+^c8`{3`Ra{?M3-neO;KzG8uW0FU6=E}rm16CFN%{1= zK}M6M!KabgbmHHQdmqn0mH(3wBW!^l84#wzsxN4sI#t8tbX8Gn@hf#8UWRx;o%diN zLu8h*>(TL)c(IRJ4`YcJ-p`?I!q=SDJr+VxF!dRd0Izdv9^QdSI|Wb*UaAlg+X zRgkXJcJ?ri=`ia8!$NFiCB8kO+??dxX8tm*mv~q#&q+g*P0oW67ag9H5nE62cw8Xo zYgrIZglH+UZ@HD}1j?tkhB4(nwE9SHnj#^pjWtzip%TahwuVSEm1Vc4`#(7;70I!V zu{Woa7l2`u zGvjd54a0`FcPhkF3}>V?HQ(WRn)UPX;1kEMvK`BxVVR3zu7xqn^na|8*%~@0C*>Uh z!p4q}uhI2i!ERWR`mLXLJq`v^aa(kI(Ebws$~}a6gIkM19?InY81}Uz-_uSJ&Du94 z_Rc&f2M*SbNEMYv!JOW2%NxivS;uYkvVQclVc^SqpN-lE#bY$xP7P4cLIK03+q99x zI7YRTi&?ATzd2c5Z1p=uEBVM2AUhzt_#p0e*384_Y0}goFnTVPMq}f{M=aZFw(Qwd zAU&sU9_cVFua=`;juxkZ{)|Z7ol{M%IU7j(v;;-!{AGFuQA02wY%a7Wu#|6}!2hS; zmVcVN-Vv{v29aVgYVF(5U!Kdoj~o41;3)95zgt_k#N@wz&M`4C7iu?$TU@%tY05&J zWX5E%c4!zC2Mm8+Z-2I-JY@NFpt!WFl?+h|*zziF7#Mci%_m^CHAk~{u2}to>>Kfj zLrS?}14YBm@O(+GVk2#yzRjjG`Y?&)*d9Hg64&(BhhTPcO0gg5l@hi(eyd6;*|w&% z3U4>XyX4E!)8wDB0w)%8hPK^C@qRjy#|pr(o9J;|?F;KdPXezGRm!^y$3D%nZ6y%)*T(Z}giHzlTvY9|Oam(s@B!#KS2My>6PUo=`f=-z~Lk8-?Hc&KBd8%oRC)1mE%^ zzu@O=lS$5*iG9(N^Krf;T9^sRmSSY&3seX6K^p;m3 zy=lQg<_kNP{@Ev+3O&(}Y$LPBOizpV^CQx~!k{eXHXkckQBnd$zi`wv?^$-bV1*B9 zSOda&Cf{#ns0uwZwH%1yBsoD-!&nKVoQA*H-*$KEuWzW5Xs+lA+CGNm?X%6BGOMHJ|ERJ#fa3r;2muuLVfz%At~2ih5o&#mclYq2_W3;0}Cq}6EvCY zL6_`Mu2ezAi|Bp1-)fE*s>r*JU$u=mi`atuG`$4))1`MCSEQMcJc^9758*k!+ZtoG zJcBoS^Wi;bAVo58H$jHIM@f3cjsWS^s4_-Ks=mhe`XU=ZxQ%v%&s0Xp@277)e^+I* za?;vgpT*Z&hWvb*ds5Q$xC6tR!(^nr#Ozx#56h}NaVSgF2mUMt0hXtJRX=_*kZ8lc z`leRJz$Up@Cil)S;mh~y!-4juA7pelQ~1I=w%`i{T2(RHYr3;sL?^%G&I^rr{)sd5 zrx30{TdDS(rlRy}eZ;$vvnJD;k`XSRppawhne8}IKtc(e%xmM7dO}ht@vfDl=8|^~ zH~J*|?Rp}=s_F@G`Zb((xGno=FarVMKDpY58(D`ASigF|CKDI~S19AsIohF-Yco)a zDD8(Tl-*xVZoWLMo85{3qWeQ0fu{b6YGOAHo=Dj{X28Kt%nB`p=mTa00b8gX>6>@aor%O8(?xx|{g?_2HR(VqrQsL{q7_TAe5+jU8lVa!% zB2n?xt=B%H`Taz(w znF!WfeGZ{V1J<^Ls~54|Zw8kRkWw@SKVVAk(C60S$k0j~$PMM^GJs~pMF2>U66TUm ziRh<^M8!KD)mq?!?c@Z;STaNkLw^iYzkN|Tuz!si?VvDE8tNLg+?`uAB!~1&oO#P( zpgegdm~q5JuTOe*4nJx>1twukiYC98*-J0Zq3g_&AJ%05H827gX=J7-={IFP=0sCR zxgbx3eriVZWlL)5%4>{3MbHE(HkgvQSA1LR&EtJ6Zo;B)605dXt!$XnB;3JI*Yh1e zO+CXh9$2>21Ynr|cyw(XvtN9H((v|$4y5U#O=MDWU1LdaP(osMg5cUyNl zVmMx5GE~sMl!Qrr`+Fm8S?bq~d&8T>6uM4N=fq5J@0jJ2z!agwf&P&9)3CU_$=Q5JA|X^&pG#ThyW4DB)Rj+)(zxLMni*knZI58ZwpF{5XDm88SkFF=W>>- zdAdJA$mzMpSy+EfEx|>a4D*~}b9^ZWK6Pm&dQ0^+)=WmqCv={=S_6e=vHq>g+1?Dbs&_Q$Qc97-`(}BmPt!kF~tH~|jrPU_)n$I4c#zrvmf5T$n zQ6YKj(jQ?nv6TyqkvmpO{r0}yV%QLxsG0T;S%T^Kc~Tn+bU zAJv)?;GO^Q-{C(7{$t?Z8F2i^|G(?{0jb4+HWJXLdv^m}gN}b=%RB%5K7IVoAHT=K zcmDG|F1z!O@9~p6fA-I^=Kz4goxi#S>Bs@CmVWoW9-JN$(VKTx+(I6NqCEO4)QnUm z-IE@ku7`;~91P9PJPz^(Q-)5>_0sQ> zy0W$x91B5Hh)K1xVW*k{ZSo9Gu_{R#l6XD|DN7hmY$KB0>( zOmN2(8$?fh^aIQzEv%F09<&u3J7aDg=QsDq=gxZh6MAf1dq=N8t3=nn6#B4_6hCjl zDf`)D*x@=_Yx_wLT3}Geo-cYD86iC0%Ac#f%ivBxV5d*?BpuOF+GYMxQDHsNRu`*g+%K&E)!ad#Ujh5i! z59wArX}UdqizFuezTS=*->+QMaT*WSQo6v3T2O;*E{qGaix%UzGtm325}`_wrrM*; z`Rsay!KopZ^quW#SKkgMXZ&gDgq4-eGa4eTO+?3bI}zEATzJ0x>4`;5cMA8j`^0j! zJ=NXNB?w?7Fr1LH)cn4!G)bq+d71?=-hb+qnO%A%&cE zt>(H>9k%4BFrO93>Hz?}d+u|TFq_?w9WbD`ee5IxX@=$*5ant|OHC3^&s{7RAogCk zCkf%64|KnQW#jxY z(>p;xfA1geQ-vGF?cY+W2U}x5BS+Sf9(=XD^jkQPuK3-CJl7twGFY**^xb>xp&xB~ zCoO#uM51xs&C7?4y9B|rlRS_BG^wEre#GyEdWP z{LT0%9eetlC2Pgos3G=IRN3bHFG6noe~1hzOUM1)jgwVbX73tpoaYn6(UtK2R)xecfLv%;bXS8hp z2&}lw6t+_XJ+Zfz)gSJdbNp`gy&`No{SVW;enF%`yddi@h2%Ql`$N*$){A z_st|UFf1s>-NiF`8Gj!k0pSX(F~3<;A-xT=2*0R=7^I-x>o z0T;QzR7~_}Ei!K-o|rx|g!_DYi7s4&@x12uBltRlbL476Z!<_d!c6m=^S(##53l|& z+Z`A0%}{VB5zMc{qv)ohp3 zp}7afO0oe>0Hj2%M_q|tA(jUzZ?SR@|4vW-cmU#Tk#8gp%XG+n(Gu>Yz$RQ z%?M1};V0iYW+Sc8YI4RHZ;*vb-g$vuQTOg2?y*o?Q_o>#)+mkLEcwu7$Wa!$Sgmdp5Zmsz#nt7ndYI?ZFHsJEDvW9)1J2 z^*A{d>R_jxBPs8_8CtKQ0_G~gf zPMC~;HO~8g%{^zQ8yzSYq$HpnSoRU5@r>Wl8?#=1jQ%l?N25o+$JTMI56&q-R2aMm zJ!_}EP{_Zu;jA0Ei#rtCPj@-wFFVDg8}8M4(XQlRDuH!=VbMUizlQu0v}Dm;usR=t z$7PR?-*=J>%Bv_M7_Y($>gImCQ=OK# zVMc7!dz-U0U3C-swDQdqug+|uw8{1YY#M}sw}?Ra@33P$?AAdjD2bTGY6wLO_f2^( zq;^2G&N^sRQ_&vF)$&po5s*iIvfA0*PF-S@JPQ!?CcJ>Guu?hkhgQg7LQn}RWWZ#D znsljb^trB{Q~kmuhSu}?QlZARWGNj6rQ~h3i`k4NO)Blj3%XX8FC(kY8ZtdcW2!c? z-oi(>6XJiZIIYVc49YDO_n$WR^M&!qvZppeK~+QvRflSh9oK2M=9_f?a1JhnAvm8{ z%+<~^V;3dXn)<@-$C^E)45Jt1BEOLug5FlaSSaOyTQ@0T!7WC29d(Vh56vDfTVC>= z`aT@>^lfgh8d0l0^R}|mBUWAsl~%-Qc}Wmka!Tk_Onmy}SnRU^tmdt%tRXYMrCQB!tC$y2e^+kKX(%X767$uyR* z$z=<@g$Y3sqSl2HUjHzsm;JR#!w=Sz*tDECvG=7w4y-|<2cP&32ef{+?K!goBz6LgZiWagF*%*y$&9D9VYil9;;SbV zI^J3jl|q&nCQ;%X$-b{Z<Pc@7>#Q?F=QNj(hk48HO2;CK9 zu~*@eU!mvt+ReF}*R(*4cTEGBw*Nci%JSd;|lKAc5?I1a!Q|$qz6E=$wD2S3SVb?)nSve?Ra5Yl806zkk2>06T%+ zD*sLghadeLN8a@}+@Bxs?tA+^F8m8KWIb0rfB8zvCl&t|ZBRelE9C&XiSvnaT*0nH zo`zN|Xr3D6T@ySf0W9N~o-RG_o~|%@=c3wDjcI7V8e-U@5U8uwzsV;edc+6N!hg)x zNw+g<%_(&W>ug6B(ZBUm_*o11MHuky2@rhvKNg1E)!P@?mpR&|RiaayoB@j8j}!Fr zCev8TaFnOy%}eG2Om2_iS&AYmoogGTg=0Z z0Q{SaB#b{BDhT@V!kqyaiWY8fp$)}o@jp_^=nqK|5$bGPegQI%usex*kNJ8MJZQ zVf2!KQAI9q=Oiyq(8Z>VN0b^V&OH*NvRT=N}sp~m|9MbED- zQIw?fsHD4(D68NQU;Iudp4wi0+K}*T7hu3gEqXCwf1uI8c6l_5e_H*shP`9h8j>S% zs{e<*w~ngn`}#%?-I9tym!yP*bW3-4iGXxSH;A-=fPgeei>Rb@cQ+#44btU%&gPuo z}< zx6Cdf+RQHsy0 z3rL8*Wo_$?qWTeCF3B&8PLEoV=lxypuSb!D%6M-NACfyPH`?N}NiBOWK$S6mq%9h&sc}@+xZe6IN2QD%Z?&i6 zn_Otm!S-eM@^EPF#&QH_ z@jvD{*r*RG19bMD4PECCDT%#4aL&GBSR8BB*13 zHBB&^7TCNJML;ntu)wO(klSzh2JTzN9r%@!6u>wYDF5v(P+}axaUYpX(Sh`6p*@qe z5&MJT2wc+K+=+~d>1z;Mou^+@c!Rrlp0`gaL>cUc` zg3rC~tB*LX|PLA1N05Hx-X!tMU(Z`KDT3*u6|~ z428G-BHrftps&2|X$XKEC3G4%ruf|!*E~}!#vJ1Fu#2CcKjf=NW|@iv);_8)O8K1e z0Q8SOhd5%yzk_9;!Z>)Vq+MpX@p_FtXGCkePgi5u!&RF-a#Gw{dB~Uws*G`z_yZNS zj)aH?Hm73%ay(hy`*xIL6*MuWa3FYe0 zbRaX@@!(Gp>snte`du{~*QZGZ&S!S}lCaV``Z}PlGXMDD8+SB&B^8|LvVH9<7moS! ze)s|hOx)=92g1NiP#`qs{8!i6Msi3^N87U+j=SiWP6qd{HI;--Q%>gu{6n0PLA(np zKH;cuucm)=xGKGQvLVGEn+iI%ATI<97~sDPh#AJ*;u+2{H6Bvp;Z*`eDpU&5%;3pt13t53_I@hsrZKG^FGl&h(5irgK z+VEG9l+PiRnCa<{ja(@^DU1!NHk0I%IWf zcS~^{c6h|B1T?+=hd0K(rG?ucC^gxu2Mf7SW3u+*j*G|&C(zE;wI%lt*d;=%-vGwF zffk@F;&0OiTSaFM9vhKiHL+>L{5bc-ZM4RvHT6&$*m)mAE}3X4TkET_qBh z6-}>iS-DAv4$Mo>@rlDRW}P=)CWoI)o=okP%HHYDTYu#0!#x*Jx@LV1bdyjBdGfiy zQ_58QBnN1+RW@SUOmv{|k&-*$DE=q3SLtPk^GSsLQe{21OW;ci=A5*E9WexBItIjn zKnPz8{fVab3d0-o7k;qdymr{)okCk5&TEM{`-w%)`vkyX>HX=UZuxUL&MlKiT(!~a z)?p(X$qQ)d`D$!Du|J#?;J{MRv62MSwVcf^5+Bqd`ke7;;p3m5XkBhGOW=n!Jhyzz z>m2e?+3S1cK1Ybh63(3ywM~L0tKo;2`k&)#)-d^QKD?VYY4bfqZCQDW;P(9P+kg+F zx2D)vo;Rhp>tb5&^V;96#s1T`l?`$E&@m=7f@&}BtvwtpTI(Ei<-GU2JiUEKSV>4m z78ZTr4(+Xh5UI+UXf9T9xEHD8_S%qRCU~7G1~jF3lueTm8Nwd(0~3iPy8+AlR&Vdq z`k@5g&l@7Lo^7pKWF_?KBWkTS~bBONF|*_)gA-^Qo*Z!93502Q_Fr{ zwUI(W_VDMFpN%D)E>d#GfTjECZ3qtt+pbkLY(dz^pps#et*Ks zEJ}YiYd&wa=dHrMEaC>*QrB{h@!2D#NPKY-!jkf`*~-d5Hb=$Acyc#c^RiAsUw%;`R(aGJobMxzSs?B}q`(&@ zGmZnwz@`4u$frWqz3+%fD6ooJT!`9mS=ckr&6-@bC+^QJVG9>GRsu3Ar*|N4LVFm zlz#bnc*wD9*|1CWjDt9-cLBNNqnhg`&op&Hu%!|^kj;%Uzz5p$IEzdjigRE{eVI+} zni20INT?$9z1+F{s12mR?&HJxbQOn4mzelBt zZyJgawYz5SR}Ccbio4-XmrZh%n-B93tVV3l5$)CDa}*2&co~9`^s{1M-7F@rCUPsg z<@Wyb(}u7HYMBSBqtTaIr-<0_P7RpuH7&RW)1!PV6CXvL7u&y_zWwz?OFz*!A&KP* zjh_v%Qr{EE=EL9({V7F~l$GGLFFv>8JUSIWKfn*rXCiW!+)1#}L;;fcA3b{ZR7mcD zQ@4a0n%P^q@*CF!e??xl9>*BDM6ckv29ydFZvp}g9f2E&4_f&l25t=N;tMegUR*Mq z*2q$$cNR`FrRx~x;&Hxmh(}2TlGqq;`_pp_bi<_RT?N(UC2sY63R+d90(Oz)snycU zRcwe}uZe`vrY(>BuwooO>e0Koa|+=jF8PIsm?sfqzQ?1p>8z8@b%9^2YC(~ z&)Y)B|FHc7TmBgD!_Lox>3a=bpNG*N;Hin<_1S_448PMR;Eu@evhp-jm^dh1e&S@nx;r1bfGAE9!#u3k}d6;VMs3)lb=;NOqhlYl_{G(+y;6qppjW z9lb~BDwW5{33Nxk#=aH3Lu??&pUCgAhk>D;0OX)p<6Bt1b+lmgxlmhK>W^IjrGRwexhL_)|@I3jLDshPG>2Y@NJ;E5O&U*xBlqs?Mm0*JLohg-S$rxigs{6#C581o z?v#J$n>JN4E^25jCh^!YRxJ~+m?k`?SNhH0b}q(IPFZ2Q9ck z5Fx|XdxH9(cwf;)Rf#KL4@|?oM#CY5=gdN>eWFg7VQKx}cF8~kc!0yBI#>u02I8eM zLk~0G#oLb~eq0Q#Am)r-Z19-|x}_hXJQJ`Ll3#KWFL+eVH;2^s?ZneF?`x67fUp*% zsmIZU75yEE0Sq$5Ye-m|mac9~hw<=?5*^jbm18X)$vk_?^Zw^%JSO0G8I>B7-|}nz z*&hDd!b3@fLTbS_*`X}LZO0`n;h4GmMA|Kc`ym?gv0BN+1F2)=UWVGzxzVc3nahqk(iX ze<(uZM@9}(%nV{mn|o_iSC^7i@dCRl3N(i64e7U5XWTHULc68eNTb^voOYa;oFZS+ zUysqwiN1}miO)A3I{T>(x2A3bU{F~S#`6wqY0n}JUeY-upa|1OY;WG*=LPy?QJKF~eM`W{NV?P@_k9jqN z_x*R5Q(1rI)>|Fngc*-CQULj2(>DI4C*f$0HRlV3s3D1V{MV?A4x1sAQ3r3R?`lcW z0T}$_22Rog`H+Y?+{6w9>K}cosNCSR_2jS*Kj2lvaGzDQ7;NPY#-s)9qi0jy)u)yZ zV1A`FOWKriSuI*{&*22CQ^NbIDe9Kd?k!;S^)S?C!jq_np7X)yyz9Ci|Kyi5Y%zTb zNT(rD+cm{PI1miDDhOv=wu# zw?|c`z`jbJq!Z`LqrPRm?;E5>pP0%Q=N^z}4e;Kh>I$5CJ=aZ6!g*%5J{yCj^e%mh zKsi56gzebA2C;#bnC-5XnuygVoUUsq6EeQ>X@{i5!-sP&Oy!(37iarLZ(`}qqND7j z^U$68@N9JBYERUClnD8GknESf?%1K$-bp&il{nP0K!<~*zXHNnGu1HLe1BR0*5Hs7 zl0rIh@>YYDz}X?`!4v6a_AwhrGOT*mieh4RGv}NVmo<8-)Own2M;vYPxb2S&JpXMT z^1Vc|fFNfFIqMb@Fni1uE^P15%X>z+n6;)=vGJB3z(9sEg+l9+Y_AO*q`8#i^xN;A zmfZcW8}u^0(-ryGS;6e9A$WYlSs)Kd%T_v>o`TGVY|OH*_TYgZdg;nfH?z!N5g3S)l8Jabu0f{J^>fZf=v^h7 zgMPYx>JL4m>+Vzq$i7=)1@G1f5pqVPcRi-4M|F^zdvtkUU@HXteN+eE`)Sg1S*n+D zi%UQRcZe+asoDdd&8eml2z9*?*Q~|5B}A1B)Tc17iUL?QkqKWT#yY9X;&q#N!&&Ci zI(gIE|LdmWbPysEGDRjMP)!6FiD#|Qdn0N0up>5J*>qESvnj2deoY&t$vu2SK9vX2 zdP?IaV3Ji*$%S$&*!d}u#3#$uoRDxXOgm8wf@pEiDd$UG_PMZM!daXTy&Kp08c@#~ z!ZYJa?@ET<@1!@-76OV$4l?m>%l%NbMek4Qn+3RF?|38o_ryvx7Ljf_@PaD9KD7Vn zQsGNgeEJ=1h5e031=yUkHZd2bRxbWm^Ek0fPiF1hMLJ>gu`niP@C%TTox_y@!Yj!O zWYI(+()%#nsB%`KJ6|1&CypgQXv*pWVBpG}IuotHSEj3ib9%9XO)fb7_>1!D$d8B9 zXy+(V!N8V|j2e#~sGwq{rcrKIbivcuB^BvCt!StUpiQqr7$Zv{cXFIjkTke`xUS%A z6MZ^V`b14g($~RNM}I2#3!3b49DqU3N9yJ3=IS&dn}$Y3f{E=bcVe|z3T{r1konhJ zi)*+3+vcJ{hj^0(936lG60dpwSc1lG`dY)W;5&ABm@zMgnGRtd6yRPP5KdtEAotoH zJ-0OSkfC|^_zbhVs>Wvaq3FKb56Zi1a{bvi+gi#RtDt_)-xWbe4_0jaRqfN%?V@`t zm!227@(3&WeJJ_-uDjLynWJ5)uU)WXei&pL%p)`izx#TGj zp_|73DMTO1y(hTGtK7qmMrf}s0l*+4LP)cB?Qs-e%rWmUHlv_LMtpC110fG{ zEHx;?RX721jy{!3v~EIiMPdf!)vm5|&>4LDzc|6unv$R{p1k>4FH z-BT2&<(Jt7(GJdU9l^EJWgURa} z5cp-Y0^b{T@mI%0`EDkA)GBH0PrtVNhw+v<*%!i&C@I=LtV+HtQP@^EW3rnVE(!n! zq0K46TX3>D#`*??^A{^j71>3%xPM3;3=tG?)4>9Hw4>_xgVs0#4A5BRmMYRVFxoLg0)_2EIerC_x|o zpke<1u;;em4Dvhw$R9K}bbbKFpZW)l04|rmzi<8r-TMd42AxlU$pdeR{J*^q`7ZQ# zc}C!>{dcXLPSYJ>PORWO{~^*VvMnzdOW+*ddR(f#LD< zocYwppsR-L)E(~jJWKO>Gcjq>vz&k(H`u4tUyE)mA9qI^f8wC&FigIH{IGeS##6n( z9}eXNmBL@hXT4W;7E$%afzlk>o#Y6NZ`fyxrA>8ZU7m>dK*Y(0G#5OQY;!w5CV;4d3=QgC3}V zp8PC)*Sy7P_)+T5m}xc!Qeb)j5$?uFigI0()5yDTB63MZmT=*F=U67yFfS7^M5E^( zC&_;K0m5?7DUl=pt8cR=h$axggTZq1l4B*T>_qA*rMeu#%( z&X0(`-~gf(q+$pPL3SvAZ(FiikzVVeW=;efuqxab4jM0U8lj-`p>s3MGA?{ePT7GN zv1mssm7sHf+@K;XS2C+F4^Y|-T|KYgn3g6=33;NE`);1(B|?j&nX0u%Udr(bmfxD# z<=hM?c=c_%_v^)P8rQR^2f2ilTR zg3{JcTf+|hb!^`~d*B4b)DD`F2GL$=etI`jxo!PTl_40@>om>kmav~i#P@B=${(~M zr69X}N8=|+jS8Cd-6?1_%>sU?_G!M?Gjt(YCu`@xR6-3LWdv|#m*dEruKUc4h7opmxkoC+Da-> zo~1`46Zfm^iRRCc3*-Vyzd)6~G_5Xps>+K#HiU-Ym>3!@=D;VNC~dd?rjm;zvno3W z6n>8*M`qBIbF|GH3yaWlZi{C{QRu)Im;pnA7J-S%5Y`=W6I~3;QYKQ*aQbGekB8l# z)!mR8H*E4xjfNw`Zd}Cep-Sg@3^YhZaN`au$v%a7RcXkOdE21&9enhtaq|a{gujF6 z@~LT1UVgq6sy!aZw@Ll@ zxt|O_+j_Yk$$*l7CW63(!kbr2%lO`ZXL z3-GlSqJ3h#U`T=UMg+rLq>4WP)=@bzypb}gj}jE}(oUaPzEbd=l-^al{5pcFJL!7M zoBL1thBlLeLT=L4^Oo;MGfvW;i8_)9cSKD!C0}9K^q)G(0+7@ zzc_-M|0Bu%Tbwo=zR|I2dVhW$GDRX?8Wj`&LN@2QmtR7iu#&`scm_?7xsscJxxVs)!+uf?$M zxCu(gzRTBl_KK#16`AxG6hKs`8sau_Xq~hl5HyHgQ>vp^kl{3;d~fb11p3H`R>M7WYSxa8^Q#N zwnGe#HE64(1)@3n_kvCb7S+G^zX<$A;4cDy5%_-{ zftzn4Av46#!3)?TL-3Cb{L_Uthdto?@AMPs_#O5<8#+FR(KujH5PsPHej3p6GlZtp z=U~?}JcVn$j@p-8Q)(ApO{IKU`cWXF;be8%an}_58c2R;9Oy{QLWti&5+m*dw21QY zbkN2G-p@j;h@9_cx101s*Apd{?D2fh8m+2rVnWLix!QXaqj|*N(NQXSnB!!srFo!x zS4r2;TDWLEv}h@>&P#skdMqNZ>#h~d+taTDp5qrU+!U9O2b*`Zr<}et&6jsxDUIb^ zO%6qv)Ip_Jq{3Y)&xLRwroE0-76sxp2Pa|HrqF6O+m93UQ#q)B^sT0x!&77g&$OW= z;l)oyQvR0#t(ofV9zS?9&~@^d$DZ?|v){irQ&C0r{fJL`6zJhB3YY606NVyQt$ylj zdBjWZaIj6ZsxI}UKSWRN7RuEfp!@bu>lO`qJoh2y{wKU;sCS9Y9?Ogu{I%%uQk`~y zqIg)y6|!@~e+5bdrL+0kLdtbR`{PvEkVf^}WVK!z{4{j*Ru?v1*1%#=!{|+S^)a-& z3OgC(-}a3*sbLpsM^gCqyuykpJpanX9^4huum4$ITUA>ug_20Nme2mR_YFGMk30FS z^3krgI_%+GDt#O_r^?-5@O2zz{)2sR>N~Hn%K3zsi#^dSv=lH-Io$LyLjU{W&=G?n`%gV~&;b%XBu+3UN|O_uoc`YO zXWeae*)domg-O16gDa|?s|@;am$q8P5Lv#>Q$W67g$fpj_VgO4yU?R&F2&{}W@^8Z zG0$!kHZ?^v&05iYM!dJka8@F&Qp7ue(e|KfrZTgh&(NmdwNhis9)J^g*n&5 zm?+JA=e=59-+g3{d{8N7h}+I{%0H1^)g&?Qm_nu1l?#z`Yx}0o0VeVx|A2-DlIf#Z ziKDRjsSToS;@nhMhALrvf8^v6{#hcRTi(% z{OgF*G?#1$R6MZzA_s#U^4=oxiuX`h5u3^S^}lF0F64*t~Wdko>TQg;9b8Jf^R#w>J| zik*mun&rh}?=q{7r}fWvywBVc9w@$2kESP`7Wq0=Z3W(mMCoNLHLIq_T$&x4HT zXC17|#g@rXf!+bna~ALz4nKCDbxWh4+12ailNf`*N&jafNA*T_K2|EU!F-U&0BiM0 zxalU2_&%(*{tGOM8D{W?%>C{5KNztqXn)R(k2eD|DQ{immp4>)nD#Hsac6dFL-eY5{LQueV&V z!Qv1w%K~mj<2<^o3ExS_bY-eB%M0OOo!CtXARE4D7{ZG4pUeXQL}YRSU=4@DYM*?Q zD0;m%NBpRLfqmUr7=@p%>u5qEIxic8E54M!qB@u)%PK}DAbho>NJgP7Q>JnEQwx(* z!;*`h^Dv2F@`9s*VaPn%PsBqhIx2PfdMy60m+33tMb^UMoyA+q1@yk9z68Ds0br$h zf`dMg1uwUj^de*AOosr}Y{DJnckf||V03uNXZsmQY+qJZ;w0+aK}}-I{@HMCA=}BH zK$~k)nfo!X>0KBfs}RpijhOW3HmFU`Q`*>TOct`jd6-X#%&p#-!;9ZOBMShsw0vjO zgG=-^+{SWvbs zkS(8oe?I;P{R}!k0DFJ`584|#UjTcK0Uk~LE-&E^8nTP@@6W&dK?_3X7hv*w{-CwM z9iZReU-^S}1g~cP{u~4zcl}OB{6XJ`es2KLhfB`0$P!+;$ce01n+9hV7|OVu?+|tr zv~HuEYv^p5OxWcQti-$ky44^MLj+TwEQX>by#wXBh2__Z;)xWVt@XyDlSUS}8Nv!} z5Yyt;SVft6;^y1poeG+o%@ku5@H-OxqVMTjm>T;F+ID}?T&<|3I1osZp1I-`hpby zxH}YVkrOiO0||nx=?{>#wMR?JnPqPaOcLKG%#YqwU>QXGY;|XTd!XA5%7-h0e4u|F zn8*;=FGwm$N?kjB(N}!nyp#IY4C#%#(>?dGK)|>~X!ljdR2OsNp!m2H-~W5_3wBoon!(|K{L zsXT)x=t-jcbWeuna&vA0#zD@}goGq*A)NONACWmLHW9>4WduDgvOEOk*ztyc8F64C zh->`g{(-*oRe+6-D-2{V>n^g2P+LIWs#!i~3My zxDqb|#2=J?o>fvKJ|O7u8dNS88qBJ)<%JJ6pCMOcn8pkSjJtv+D_snolrLqxBz2(hyjl-x#j-wXeyYK~51r^KylL_Dr_z5Ofv?rv1w zXIyjQ#3xhY7(ZE?^Z?@&z%>XY+_n8q$68`vsD>oK;3c2-MV(RMWLYGHahCW!&Er8) z0gxl!+cASZ*LT}$1}MEK@cm|5N>B>;0no>sT`;{ppx(O@Y%qfaylq(ugnPx@n z4pbSgaU#K?ky-w$?{BZRo*_+Z<(Wr#T3?Krgc-`*ahtS^ys`(7Q-mg~Xpu{=r8duM zV9_b|is9%C);@uC)W`(==DKkG$*IoyKUO6TYIeYcK!NrRWT7G&73~|iV*=CW^;MG& zyW@w^6G@HTrbap#ab6yzvT9IexMl&^)U0+axhczgh7D5Zg;}|+`?6h_c0%#EpRQ}P zh)M+j;~7-}~`d);5Y3u4Qy((^dFa zX+_xCS)l7zw^7I1=L)lO23dW0NVxVe>1SYWZ39sMMM}^`O|<AxlN{yuOdOwm{jB+@<-J~xh7Nn-r`0mO_wrWyWtuM!$ zwsH4Sr^lc5T>RXRLByYAjkm3$d>cgR2P*0AB|7jZQW5nmb$TXwXD`F*xgx?PpHD%b z;ww{qD<_r9)z+(nl+XL(&5sn(s;Agrx7bGk#$`bHV`9z^NydAw%y4>E6!SdzzGmbi zs3o9ij<5_$#T;N!fD*ITLj8QkSP6uFWSKtLC>Xz^|M5@b610RCzGu=Jm}in_@2jC8#(fdLL|S!AjeWo&E+*YP43ku45>c?_S80QrWk=)BaWfawyP(7C~@s#4qO{zGn5q z_Zoeloft_sW7F=ZDN@qs;WsTs0{>iEFR)l4F}yjy0|bgp3t8=`I+A7L)_opuYrNp7 zrJ+_KZjRwQ;zLry*D-piuzIc=bLz5o6h&^`(MD^%JbUA+>XNdTjC#tFsT8a2y-F7T z0nkGDLOb>2=0SFC?V*p#R`)q zKEq_a&?EH4BdkQl_W7!wv|sj@!kG8c$>m!FSC*Qf%5aAyU#zEA<%wxM#_Q_#uQ%>p zqUa$nePI^4Se5iWf`7o+7clM_v_&ah&0S*{d$L4yHSeF0`{f{@<5SVYo@q}tw_jbj z7pusijgEW7Hmt6GRivZuViI{ijcwZUz>?J-+KGh6{h+bpVC}N#_OzhxfNfrPvS%`a zdB`k_j5mY!Wk$3qR2c;Azu_+ee-Zct0T*cLg$MoD6u2R{E`-!LVo=`XKj?`+XaaB{ z`<-9$4?6r0y5kQT5p2Wn?+g7wd;URJ{y`u9L9>7>uHWTZ{XysbK`;G5lYtwJ-{05$ zgNDpc{Qi984;nHO{{6Y^A2bMrMg(bYzD*uZVmg)dsc6Tn+3ww=}q#W5kq7h@1fpN7grsq zX6~3_r1I3}TnV7JXJ+hJ{~}$z#f|=7=A)`%5DD z3Ot_ZWA!|wSfs}OH(gL!8a}Y zH(gL!6cAZU2Q&#QT+@VUNykv2tx4e6)xK#z{bzv+U?0=B8lobEpD zNq_q7x{dto4Y3#|Vz*6_BzK>6$I#2=15pdcf71n(MFp{oW_sDM^}Kbl@S5CNbEt?G z!9y8Ov+{nP`K&gaj?9mH-Gj@+VN>g4nnAwpbUf@9(0)udX&Q3e}^lk;imJLw+mt2`ULPDcOX`ER#{$pP)&El_HVkNvgjaoxew%!GJOxLbn10Abzzl$6U!V*enk*>HCe9&>wH=nCL%R_%~fp zSqu=n;67Nw`Rj1N%vR@e}l${^R|4kQE)+2~42W-}kqf&1Nxmk2h-?xhSZ|Ns%=H)138hK0xo@x!? z{F^SQEM~wi1?Dd(=WP~lahxCDOP-Ppk#&-OjQIWvOfN+f{Ys4c;|Xn*X8;DhoKBf&ye(eVa3W@;cF9>MreE z@bkVAPhYETA&w8!)Pt0$+yAEPM%Lf!Uj+Ul@E3u<2>eChF9QF6M8Fk1c7_Ca5Om24 z{I?zWM+W{u*8L%YA3Rsu<}T#6Cg5{Y(|v4U&eah-PKN|6`#p8)PXSeDsIRy%Pigdz;!wD=ktdjJld|1*K8q|mZUqO{#Sgh82z^uG zg`4Or2%-&I(p>3}FdoE3MWv*eNS#HF3_#Wa;{!_BnK5m*PQl|^=RQTv?76-2+<5kT zLZijkiIj-%$m-7plix1qI1kWqyx356pIN{skTha(P_D#Uh~NrvlNhgqL+jkPVfERXJ`$^MffD~>)*aSQ%0>G^|v$I zOsJxk%mOy~;ZQ9mjnMH=Os-wr4{iub9%dYLHWAo#=8suwzf4nClQ&CP5&8ANV>&uO zV3$&ThvAIY$%{fTN7UyqK1;z$7ZMW?A?@%CQJUXM0Ign-YB4(s!=u*KhKx%U$V0|8 zQV0tOWJ1B3ldF_?H=&VLTE4)_ynk#13pP6oV=|^hd#jaWif%Q68KCjula&Eq8FnMh zV*NbX;E;)i-e-s$M&(E#abH1K2kvjfLm&syh@{$F3-)$eXa+qS_9`09QO2`SG$z#c z?OI?cIMAOGMgMBSiD)MLVst6efcJ?E`Ooi~!C5)BM^D)bN>J}H!zDSumtr6lU0UO< z-wSwc5x|@91~Y^-p!C~`V{Y12f8u60&W_|F;gd zVv0Dg#V`2kE#SJm#`-nF(<+(@O-IL82`NdfFnMH@^aanY8O75hNf+eZAa3j%Ou@5@EK0_GoPSuq&P3j~|J{53U)f!{GDr`2{Mx;3^{yq>B z*=q`-UVY7}$^Du}f^jP1QCai5s^gP^k#b8RayZA)?s@Ag0Q;vr%$EwGo&%F-G^XVi zrcNjPp@h=wJ6s_qqr?p{2crP?xpBT7uQIawX4hS}zwp}49TjW$fTYo>AS;9Lk0G{z zL$hC1>@JtSqR&pod1PGvq=<(WS_8!)5GNRuu?efWn*WJaVG2R_GK2eePW|{tbC=sw zVNd$gri|hNWu6x|3rT2@nL==Q>2p&PYl&!yxzXIB+qk3hf&>Kvf8%BCi#q-QHtl+0 z)aa(#JPEE%&tG{ou4UgU!$AVSI>ufr?js&8Dh9cM#?toddkA%QE~~ zwx`}(-5npW(>$G6-6J=AH%E#NiWk*CEl`unnmM;sAs|pq-I=f<$w>Po^vDDToIYd;Om^hH{kH8HVB*ix5xP?GTgRlQTvK_D&N69f^`jFd)h zyPt!gy<=6qIuqgJJSQKjIJMTF`#7|S{Gm5FkQLRhCq}RvFv|@z6kg11UUGa`+mrJB zwMpQBd*KR?=3@L+ zn5Xw5YLC8Lz=;bRuX|jWXVLW~x_{KWpefe7?`S4k`6M|xu2$c%#K?#EOr$9=bwo!f zh0@n3q7&MGK<{#@p7~N3gO3HWS=^=)e+^7V1NHr*d~zj8_B%M@kDmGe%AF9jj;-4A z@gsR8#lBOwFP09pJ_}(Y2iUR5Y6Z!dZA)n;7_?3ScJ1RxL=9Ta$oq(s^zNOUkyC|9 zc1}I;w_LaiAB_76!IAeOpO@T~p-o*H83XeDI~DU+CwZiz>pxH!4J_<$g(pphCo*ys zzeM^p9;%0(3Sj?F^}R2~7XXu(rW@!%WPyvS2^xvdV}8)inBbzMeto~S1v`9}`V}Od zK_KJa((Qvhh7kEVRdgvSH;{K0{gfIddGpjB3dl5G`74Bn_L>R!z>Et*fJ6W7n|sb- zm149wHhDZLUO}zxiQD}xu8NoW4x!kSc6icxk6v*pz|HtOnHovdp;Pv>nz=Ym*|L?` z@3>h`p(>S64;4LY|M*9e;{|fW}e>lOhOD!HaZb_!7y5H9y^A9s_m@JVEwPUGx$ZGb>nOe=vlJs8&o!AM2Ur z03T6t_W1{syD;Tvw9UMck3+|C$GHWX$bm>oXtpXEeQ0%R^RIm>FoAsk)BEZbsq-sI z<*UldZ%OBjI<8u*x{X(OjSR;DL|S!U0PGv5_W8XRmk;e8h>kaZEkhWRrL+Mlj!i?% z&AiE#;9VniQc`+f(8$p~qZqBvDiAl5!z_aB)$<>w8yNpy|03`gfxig+e+dCMXgvoH zg6`Y|HogS>BLn|#_7ep+8(R4>FLyxMlqG zeZ-M(OM!qga!{Y8V_R8W)Pi?D4@VdcSCA@&PCUf+4%?h|$I!1FH*cf@@exYtTE%0W z(fx%OQsp|C_@{PNHXM~knhVEiVLDlNwTvsn?PnO&U3wO_LO~}Q6Ja_1&l)QbK62!w zrG*3ycv!gER;E{MNjQ8Xp^vaB+VVzkiEFiMQ8xphrFZ>#PVhIHZ~ zFSMNW>dnps@lQqy>kV=Q-=YRTEc<<)Spx^pr}01Y?dot%Mc{rl?QpC}2TMk5U%y`elF`T7j;5Do%lg(!I?kLgImwJXz*jxJfM+qKS5(e0hC$C`z#rxqmL_qg9Z z9ehXr4JD@|ykj4~RD_?#ukdL|HE1=}3F!y}Ew;>|*B{5RcYEDRuj@S@3ocWvWPo$% zw=0iHu7FmN;ty{PlOiUE#Vpj)3q2XpE=~Pc5`%QdH>IO)SBihDK-{HfY$>K!(^& zn>V8Y5SPIr?fJ&gQH7D(F2me-X93Mb2CV6aF+qGqAR$($ek`N6eGbi5+T=M$zKlRH zUsA=GeEYsP^3p5fTf9Km)3X;9oguKO-ODn|D(^0Lq;ac*tN7=uE9wX5i>;}7M3DSH zQ=E32IYLkNF51y{+4)*ATTFvbBDN44^5d=X7{nZ9DrSXG-JoPiuCplazgI_f$L&J&=>PH|Da|{2bQAL17RF91zGx zQNtNK@_aq0D#WPbN-XdP`v)1Jd-}lgH7Vd64rVI55Y%P5Lt9Oic_C69hi3J{W{w&* z%>!eKLWGC|V<4-DsEZC-V9@Bi)xF}E6BkfIwwy*wZpDtuCN@}M0AR2pBMm3Am5Xr7 zJ<6GZk|*nSN?W{;5_hg$zipqEGzcu}7wMf2FQA$=D7de1mr2B%YuaL$AAg_6M?xBV zQ+woNe9NoR^5uFew$jTf$}QvWs@qR`Hkv#9+Z(Quy`1Q(?|~pdwvwx#lV(X?JbLo0 z`!L~)DvM&jN(x0lm)H3VigFUd?KRy@-cGPOD5omEP|T&RV<7A zf?t~d?kqmjFW|#yq2vSlsAfNotf#!@wB=9kw@kiRh@&)CQL^y~Hw(0^fXIrIOFo$@ z$;4!?F0v;`vk1V4|8!Zbf${6H9gpyXE*uAw zUd2Gr;`x@-*gEI#I^B)39046>kg&^+)?NH{O8X53s^}ogq zFeC2X(mJJhITwTY=yR*if{tqnG+{%0i9#I)MKt&p-)K5^CCkQ&U$TFww5QP1@0aeX zE-Z7=M>tjLG9Qp>2PYo+P$^f>8;-P`k+GndEIGb;ZV|Yly_g1+9ie*AComNDAw23p zc1|~ryAV5Qi1NnMnUDrH1mI`ly^!fW2X9R{K9E7N9i5}oDCq25QdCA@;;EloIx!Nt zgjj!S02lK~W;i*|?aQGjhNazYtMzBfD$^214j!xz8sG*W`Hts;nCHILRYq&`@j%V) zJxq(oZt3HGg^?+|f^{I?TX(aD;P|MSx+C6w1DN@tDsMUl1TwO&i?3nC(3VoX?1Saa zzk2w78p2q4;ilRr*F!C9;)HT2Wqag=)jt(rB_|JqIfz1ldbj{P#l>nFh>V(bkFD_B zAcG-(Cm=dD!7@wv$uN%k-i;yl_tstCt5z@vv`%E5(hOPt$Vk1~i>*fU=#He992xB< z-i3qQ7yOkqAiJx|vV97f(HiwxEt_jRu_A~Lv_$IElu5Jh^!2LCQ+Hg>LqRgrEgYamfh>7-#R`kXtF5^jUb!8XpCNMkquSIr02t*T-~^7bE*J-2_Sy3HO2cAC6PGZ|?48+#s(^@eM2&$$Mez1sCF)3JIii`3H+$ z3g|(PIXCC?HsOgZ!BYn`_R{7*R z3ydWk**)AS9+4_2DzAu`=Mg0+gU$I0K5L^fo$zrGF=917UVuxkvB08a<|@H_{j2&H zl&k!3gfp?HC+b+={9-2u#K=PQxID18C;L&IUCdVE;5?T!`fi#3TatyCwFN-8+ME*d ztn@?=9%oOBW$;dJe%EbCv90}T&7Qzy2<%UkVq5SOYu^GK4273k+wbr~rtbg)3y%X`dD z<}G{#K3RXYi*wpGb#|lI5X(pzef%SJ&R+?RosjUwNN;a+@&g1yi5}vNuuTd0YZ$s? zH2B&pjPK_!#lQtEsAab$nCXMfH~YvJb>(K`tcOY>*;zG7Ov~Rs?7aEW3g+OShIE8t z2!S@Z$G}Xu#SAY3SjAwQD zj^S|FW_!(HA%_%CAHX>a%)e3vbFe$LQMHHS`O`#GwNz)FYH2k7OT68cMLOT;#*Y#D zf;bQd+v!Rf$q%$f7&Y~|EUYDSyPYJz$Un5tcj*xsNDSeId7b7~k0JZuQP1F@HI8*k z0Zj1`OD!9sx-k+~?G!nFJNTJ0{@r^xYRMi$jN%pC`IB_-EfcsGEFTFA2g+l4`-ngP z+MPC6ZJJs~A7A@oc6;Mjikns0iHj0)HfVt9*u6Y-x;E$&i%4or2vC z`h0!g;M@ys-#0jGgw-M`St~H~-r|{E=Q>856Ifn!?-_Bp*(g1S-*bXFFt>#fbl#F{ z!e`Js`M`{Eih9~NMYWyEp+unB__GmY|L^tzj*m9SmRyeL&YQm6m68~`xUQGkg641)Jo0)PC|v7+}bW@DW}q5!}O zWT^BP`uq8pf&YCB+&|2q0g%QSs9Fj5M-2RvgiH&*gY?($=kGBg^Y{1b16CpZb+BJN z;B{0;zpe+x`+7*Yz9Kl02N+It(AR|IT~7hIexGVW@~h& zLe+BA@xnRO+b}4Wg?sFqOQAS;HyL?}m2am+zQM?$4br4UeQZ=aO>*BwVaafGB76#T zYZ!@QVf>vK_o{XY|7+i9?Oic<+u9Jfcaacx4R667VTDn>6tl1cb3*s<<@@ut3I1d} z_fOgfkKUqmmcQcf1w2Gf_nOf3C2X*{b9;GXFrZ8s^R>bft&OC+c8nz;FY?y-#rX;59vIS*x1dbYlR0JXFN*Mprx*007M;@lPBLvKd{rubA*3 zVn~I_863DnnWtn6*NqaH1m{|b-|~_jsukXJ;#N~d)pG$C9+n_U|TrhGlW9SZtR0fHiukv|@+?{0mCGq{|5a({gMlA1hOUp_Z7f>$^7-UMe=S52%KEXj0^)EKK zqsc8lJkS*H4s#Jlrv#velTmtXZN_{GT4Sm<>FwHL@5}lbRfI}V1E)%(sSM3aobR*I z5-G0h)3eI2xN~9GNA}G~e{9Jz2$4a4Jl+VZoC0&us5F?5mxpFKq=T*E48Of>@Ugb! zf&g(2TU2n9#1pjLWZjII&m3>iLW$xwLv;m--`e^z=}=i7o#8)T2E2B~TRXO1Mjf|a zH6U|CotDRbRcW3yzEXCG+?b;&-mk0ULHU3zf=7?%{oWG}6LyiZ7qfaEpQzDQJ3o3S zUd#X%M&9{kSz=)0WUq>Ujs9*Cdy+rJsMi7jOPrJ`-ajP^DuoQjjZ zI-OR59DAN;--KDD5iw~3RE`CTwx!ni&E}!yd5qrn`G)}`gefWp@xzGqH(#>munB^T zF5rUbu1U9u)PlZRz&&Lik@$pD=?k0p)xTv$=Kw0bG|Ny&CvvblI_RZ(W`BU0sQlCM z%h=DK_i!5d^7f7dD?bFFUkxN_NGK`-9P?M`WnEPG%Jt6pFE~y6zxwDx$;b@xLfLR1 z4MTl$3TouBrNsNJyDS(hE6QLQVD3mT>N4>u?bgiCWT!JNzLK-hpCjLC>ShpS|BZpg zdZW752$Yy{@}cDlo9POj=w}~aE$RVQcZ_lp^2+cBHYs>flVY*_YT*UcSKJjTUtHY6eYMk!p5{siDH6h~UA(>U_HW@GHS2H` zW(8#zQg#K>^hFa2;n72W>chf<`7HUiP>mOl+){qT0d~LVPsvxQc(jY$e7sZHYc?dz zJ?xk;;AWQR`lPzbnCY6Ssg_hEC}ddvAjVpN;}eJK19tn(c2c2}I%syU#|u#KU(DdP z3>UC5rxW;pSirQ@1Of!7HDE=VlGu6&#dcVgmm`zzg4I8^hIvBq8Q$Qq3(65LeT;1{ zE%pB*EUNzo3e>1*Nv13)@6Fbc1U-8aVQO`DN$fRv=1a^O^+Y}g-A`GtFoHQ@BPr7)6J>t;)R+_J!$%k=q-(%YM6ah5Yp)-{mj*F zH_4ZdVnMSIU0~J9U%uBXI+=-~%}_z~fNfM4SHnn#gz`(!q3XCU>S;{@ilmih984#b zVg0A9h7ScuKcw*dI*aLe4u7(Fkxby3?wmUy-}v5;*coP}O^LMo1t2}sO2ps|xZwFsAcj0` z0duyZ&&Rp#kMP3K%3fa&`6)EW5wgADrwQ9Eg6d(aih)@Ok5oAZ3Hm-`Rfp%4%bQtU#-2vZv^8e3 z(z#|RErAz&o%b~$Hpmo7Z{?>?UckWjOY9mpnde3}MMH>%Eb$cKui(gO_fx>H=N`{g z3yq(gSixN|U{82nDt)!U4L|4a+4?wKFx|AeLuM|jLwgm=W0hInJKR?FqOy3=Ch8`=S6Y;W zf)uHSMdtl}TTP>*S@57M?er%D+wI;n8dwwDcf{Wj0egqh3)R4x26arGknH7~cR3Yh z{0}}OfYJyahe(}G;aPJ#w~$euYaT|VSwAK!hDUUZxssAzF=SyV5dl#$zS{M9kMKBqPMDC*?6^s3Kfp^L1VG>&6C)2ZG@4p&)tpBP*5l*W=KolnTh~N{)k?lLrXONW*zA=jNcN z(BYX0n@>{@Bz6mO5TGki21;F?ce4`{uf64e(q>R<}I^J!F5+$MvZV|&r;7iwsyG+?c zu>^>`We5dH=~1+U9Tu2DN(6i(7x?1QQL45Om|T|PAawbY^LCs>#5%R+$agG2$1Lw@ zK0nqNg(Ceby&5K=p-s_?@^Ps;JA72_qmRj&ec8#U4|tw+MG;DMhn9Edujun{j#UnN z>mQRE<%V*8+Dul7EW|Af0+|DkC!e>vAuHURd|s-Jch~cbfo~V)88cl^EAEc6Ud8>ii46X)zN~LY{IFaJANO;^NaW_pnqt-2r`@_l z3v?7zFNrw?w{bxH^%>BEZ^eDjL=W%Rq(tDeyf6HVI&B ze|W=DWwxK+m?4)93*24F#~9-7ZO0y44yDDOa5z4 ztYq&qP)S>OKV44Q8M$Q`n#X$v{d6C}04Lle3*i$9{&o90GryS_S$}G^j!4FgMD00nL#O2@U$@b|=5A5)T#tw}jBsAbt7u#UMXow6|xgdU88QxH3}j(J8aYSaXeU z%u^rsS3MR;ek6g#>?vy&DBhj#k1}YbJ*3to5uk+A1g6IOJ-)mE|k+`)8U43q(g1pikb5`_PT|MxTC z4jE_tr}O`WA<2&cmH=Yl?|Te-qW_Lrfo0=&9PkGQt*-q&o)T#DcMS4D@H-y(1LFbb z7k`hp`~x@tfsug4@OOFrKXCaU`0fv^1RN9i{ra3g@W~$-bb#``{B4A9IjoA8#hbR0 zQo|pQ5ng!MCRc=OX@34DHo6U3^$ zq9?F5c@0gSEvzCD$MJHgbuE+pPzqsmF`ETqdF-?PSG7>LMXyGsOw^}u6&qiKsAhL- z^J#RArT>&HYQ3w>$IH={#HyPKJbw7NbKRq(mu$n5b+NK2e8b?QnZE#m#^oC$RJv}b zEukg*qcheSM6c7D?G0&@>gjBP+Z;l)*{GFlsN0&1jPKUi;7WkxHdr{@!%gnS+1&wNrSVUzC6w7t7mF#y+%~ zIVTDu>Gow8iU3CX#$M3PnW(B`2MpA0`=?3e6g?7IobDOm;p;HKp%cGbZ$-Cei{#qC z4|)^$CWRZkfZH8K`ng<>h?3)=!q@XKKhW|u-qD!rWq?NeW#0`qP*8R@sr!n%5N?4 z<8I{IXLZR5%+EX$C2u*p1kCF0W)i4!w97W`*i1xdrH-wx`{TSmv{abdhCZ4=p=6dZ z9W3sWXh@jOZU@}X##-CK%SnHIn2o|2vC4S+#yZ^sv1Cs_C5L>5c7^V}x`Q$~-g|h* zPXSpHau#BDoJ~?2YI*X)_}auu+i!8W-^PW=hn^Rhc8_dcM7~#j=i-#Qy@$l1cIBc} z8^NOrb-U3T8oTJ2&`!c@Xr@fRDO9|A!1>XP_;{84!*w7xiK^|34`LG7CYdS$X<0b1 z4CLO5R3lZR{hFemV!}H(Y}6O0XYUZ4T($KkYs`UNITNSu6t#9UD&ifG}qKB1|b}2LgZohS2MZ`m= zJ^VrNEo|8K%Ko)rEE1>xU^V;=fq2JS8HYcO!B>r{?#h6Vjw|A?eBs}`l%R+U^yTcm zh&tME2<76OJa#&LU1O}EK0hrRw9fCnhq^BC#wwb`zEhAIwFm0P2g`Szs8GMSJjZd{Vc^r z+HEbeehNLAtEQQ(nK611xc1Vb25u-pXIMcKiW$ur>h@~ey1maZd!jRKH$%XPmiy72 z3M-Q6?(iFOcUVpr!>}Be%u9aMM#3t80!!XIyz#;>3%o1K@u*W*0BZAqA(DahkLT;EtHs_rekL)#f4ZF|~eMuUwSJT#znu!*>r!by&v+ zRUMU2LK1_ENy(ZmnXYq`->&Jc!)<94qNcH`;1?dgPgig>DfUViKfoe2>K(CAu12Ax zfEu$=cr}|lukLxmzXiAxVx^pH4TbSGy{oM_Lc!M8DsT7RUz{VPLAH=X(sZP%YTQrD zp4)>`d&Z(kXPpPlIcLG5j@zoc`XHP#RA`sk-4>&p%{}=9OQ`UobF<`&=)81)x9=Bf z=*JDq#Fn&BcM8Vciw}x11>Zn**b^#UZ(>Jxe*QM}^WbTXh)@D*3dg(S;-^I3c^i_^cG;sxv*ln^C(yu2qV=WLw=w*ud0KQfB<# zq6l^8khpy0OUIcdG7d=AoQoqsIo;zwVY^JEl{O}eSq+xA$?W$=N~FFBm&2cb#O!+Q zwuxu%3b&W8k^O`D^_M6E&&fwP$}^`)#5XbWWzXB%9`H71Hx*f5-Hal>yO@Lr+=UCS z&Y?8NA%?Nh5jb7A;^9!Q29HP-fB)8KjM*3Y-Dl{NEf#0zalFqum8(TRzdNnZ1ml>F zjmMLn3falZHWc$@ZL5U_^r4jL=XJxi`vq}ACCg|L%=8+{A>Juc-B5Q4TpJ7e1{j1x zp-M;^0dyOfbGg336$iPn?wzkH2oJEnW9u>*8hur$nedDjO~RZ=7YLSldSv}we#qA1 zA+#0cpzpr)UXtP9U5*IcGQI1I9J$n<&V1z;53v=8$$wY^?s_vg0FgCKUy(RB;-9^h zX)Jge%n2>JSITI;k+0VhJf#7D@UxdrSZ$u9cTG=XyR2vieoMF zM9XyN2CaAH~r9#{3`LynT*oPaVJ_tEdkl2~IfWP4{1AiI#%fMd-{xa~Ff&Uu=Am4hR01W_6 z+CxGI@S7O;ckfSM9{2?P9fPJNe#hpJ{{6i?XkhI3cwb0={yrWB(qF&FX@6j9NPql3 zzU~h!0_lI>$B+GniK9^on7tmM?Uvd{=ZTn}Q~BR12AZoT*Cv%l);RF+y)LH%Z-E1k zFaq5U~6}sXzP(?uj`8$ugfn@ zMw8CQsei5rykZ}XaWsQTPKOr@rT70_Db|e_+WAh3hc{W`dqAjX04~rFC=kcf)J9c? zKns7Eh#sKRTBMAe`u8057(OC`qL#HP?^U6&o@V1P-n~PS!OYoAJlE zgrlA!xGhl(OEiPX5jW?er;JVFL`G{?Kca47E1Y9JA(?sE_l!td?&d0TYE3re zM1JO=1Y0PUQ7-|`-o59uYWmyj$vZq4_5mmQb(|Y)v}?eW0r?}jB6dH+26F3zGXKDR z9fBtv%9PHaoSlXM7eoL9)0&hFuE|Q%0Sj?RZIMCkMqY~a+_=W<+3?T=Ze-H=OD82xOMh<1H>5dO!E2$>PCX*Q}6n7>3UdY zN^kX!$4F-7#TlJVscY#zslNuY;eh2B6zJ@pBC6Ei;9XYfT9#Zq-R+y6U7cBw?0RQy z51(*DT=|bDtOK5ahx!4XkO~V`;9hI=*v95*qfB;gu33k(=u&7}a#l?X{8M9-BX$E- zh%w^XHED_m6stuC#BZm zMnbeijMa0E?&RGjb-V(xNt55UE8k=0$0@p%lB^Mz2NZ0ZF66- zNm4B&8+K{_!1e8;oq9y)ECCP181d2_i##O}eM0%|nu8x>^`QG874fDR)Dgp+wM)b7 zJ{HQaBg}#!E8xbR=*v$+>c0v^)2OLbqQht-yBXm7eRJ9=V_iCa672*?$=2c2@T7v( z++$-Ei1uW#6kX}OpL;O$233py`9QqO!jkL6(dFDM0=o{alEJokcY$sGGU*+RBHUAh z7Od86HcgN=@P-NC_tH~m@+UFzvRWcx6zhCfZ9K80PWfI~cDKadGs{(n%z!jMGa0Iw zyGQnXu!=~2Np;hWI!pj3-h9v`E{$s#DM;Dl;UW88ytoEVpBQ_e@zz%grD6mZBbT^!&KJ$&KT;gddZ=j1B)#MucOeWu3eH8e|gB0)EIZlX@|Jg6%GgLLG zlb@n`hLSibAIv^yw23|?SC_l7L(W$3ntuNoxxp4(=ENZt$W4urtS@Nsd?B2kicu_E z`R9=iprb!6cCoRS0lL|w_a8lc`&@B?OOYZZRja$Y&1d4XXXpJLkB^N=JnlG>O{t4tYUap>-~F)X3zMFrURQhjDz5?g$aVkP6nHldfc>L;!31Q(HBlaE%DE_6PR|7uF$A+>wf$B8SFUC<=$_&i~Z2Qfcg zoV0L(a#r}E4H@f(Hf%g#p+vzP>8G)!r<{Z^$S+kbkhPd$>G3iIeRMdsexK7b9kG?R zAYnKNyZke4m=}E1#yI_*Ac^i0QaUaayusQC&TUJE-PsS}vFQvJ5BR(ZR_v;w zwJn?1z~uc}xOiA=*NUbnjZy{wMLC|g<-@|p)M0B<*M&eXv~kt6_E(VLqbU@57I=rQ zDG`cMienCfxr3C9_fS~xYP+*}4~hY}>Ixz@TeSfK2>B^^)4s73vOJ96&Y2@eHfgs_ zl#*)PzzY|rq)r=p;1-+TTsvwvBJ^x@JkV=+QuXw;Gp80W3Hj4WFv0({PNzdh|Bf1% z3TfaUID7-n2fypoW*)=Ci&NZXK$txWP7-qQ1f>)Z_e%s|!}TTS_41gvz#3I8FRMuh z>PZ=t+gPq)3#kf|gPq7nkXQ%7FIQRH5bj?%f>i+GGYLwH22AizXGkW;#-&V$>h#%n zd?i=kBU_mjxQp!TL>c7?v^XWCcht4v@ZnzSDIR~YvliDF?_^~+Rt9OP3KwfT>=z*%9uQjMBiq6x$i%*%uX zb0d3#N;kaf9oIX~gf+*sM(|1Hu>E^VB~-JiTh6ZR+g)W!a-|SuB>13PePjZr z@q*x$7=kzIsl zn^;}<7Rp}8Le9UWjwpO!$eB&g^%f);=#{-X|E5EtB4Sy4b~DfU(&$VAs6iM)t?)~EapFB=>%oyW>ZcJPZh+JT>s9Q1dtLry9-kh!)`WnJB z7$y{Y-;KQ&veEvuUT^rgiDSnStNDbi3ZF9vpcQ#+y%J+U@g&4P45a5wI1Ak77(w^?lE- zJuq|IuVNiJXp(vuKWvGiPqOy5;-;t6=OLNeAg62?YqE`pypo zhn9pQqbbL{DF4auBQqVTGjyFzICEn>XJSV-1l^K0pv;r1K2^q0rByr7uYzod9=#r_ z(@9SB!tgOy!Lq(zL7Z=YI7^Gc(cXoCa}NhJSq=X)lveV&$+zR2d0z}pmg$--8AL@A zQElnpQ1uvO*~{)m060!kU!O6)CwX;@B2s@vL0&_a;BT_Fm`kr z9V$MRG~;0JnQ5_7AdouRr)~g$rh%c1HKa9{hW^87oXP$11j2{d@}St^3XSx7{_2(7 z&a9VChu=xGw-js@ypE7a&(p&il%IfW?sZKtfCB@rJk|PfXJVl`>su^3c^_Og@MvW1 z8e~~^5PX%PZ?PidXN+fy0}2!A4&~(PLe>!~z(fM>g={J&cTCd_ z!Zb?P$DW4^)x)Q^Od#2W#3FF%8Gw`?(pzvE0N+MFQ5{mUJ9b3_7H;@l7{0v5=6iAW ztl1p;ocEd4FlmlQsrHG}j&HJ6z||C0e+n_()-1`l9b^5iz(&70_hS>~{$ zC)LYRn4ciQqw!r zjrq|&MOqGPQ^CCZgnpdNAx4C71FpH-+M=$5h0W*~u*283@1w)t6JXj9yBh7n&>R~s zBfJM4{R3R2jBg?U<$YJap#};qt+C5ICGQU{9>>Ju zLO(3~jvYTBS0CkCf zB0R#dDWaE{+L`S|5>-$o!BHtW^o}~!vao8pA|z{ZelnmygJ6wfAC`T4ythC?fA*R`4t1-%|DPYoz7az=H(MWB460K7S?N zcry}%#bb{vXu9<@mnpCdilwcJtUG4(F`i&ACH$Dz&qcdHw#(V$GE4nQ@Anf5`GT$u z>b}MU)Tf<5(0>5{cIgKWHdL)6k89M$#t$EmaYo84pBY9UiL_Hik`erWGHO&;jO6yYw6ULsrv37M9!uE{Ztte%u zL&-oPtX;jjX-+)X^4i)B?mygXjz(VM__*?&&YKq>%$Y$c9;20<#6B=flte-zk~n$; z62wx{uFJx6KLEvvPDHp8VzxZUe z@WPP(B!((rK;f_^w&saaPWafoqlAn1#HF(cS6_9cj!)Pm|J!m8 zz!szdQ8IRa-c|^^g5#li$dd-;Qa?BDr_^fPYC3=vWbiXTlO81cH~eMbF9UxW_HDGQh^|_xOrGFcwhf@9`iXgTLeDKd>ld{NUam z=zPB4<&lAX&)+fVFyi0w%paH!GX8L{?|%LMJ%)p<*T2VBf8g;yFgs-Y;$A-W4}A9r zHUU2Ueox=vAD997R``2-+;4bKn2kU#!{Uq5!vv*b*r#$0BLejK8M}0-C50@*cv|0+ zB^kiUkOlk-%%t_zsXcb>IZ>^I7oYCl*n8nNQE-Z27Xa8bYgH6U0WY(^3G#IE&#o>$ z8SzcpyS+w!;C1h8CjxTw_hem(7;~Q`zcON9S5%_to_~-${A@(KKwes3p=9(RR1Jq2 zY}5*3)Kp@n&Bl0#NFd8P_2=!E4ri^Cji4Fka(TR3IB1SH8i4gmrv7u24@HeC^UbE| zJi$d$P;c+gm3<)gOUs_`32Nx`)NW#v(+Rri?A97x_Qtg*WLA?ch|dF-B40d@G6NfJ zff)7b3a_V=6J{t8_m0_=Pd1^LZ!>i$B8GH#y9_>yVFNIcS;E1H((^c)^ z<%Kot5DNek`vCkB05m!wbmSbt{0K&HFb(cfA*p2C9=pn;$22+S%>&13xaXzJ&|srP z;AcJna6?QPQ(-R)DEIQc0=zweKfTPc4U0W}$nfQ)U@+)m1fav2%7J}~bB*&&qn)F6 zY%XuQMX*rc77i$fHIOdHK0Y?8dK3mRrNw2**P-M&9tNyO7`@ihJI$*z8;_mmRi4j) zXRqC$Kvx0%M_b!buzm654Rc83X<5^~EU688$upCrL|;z2w}@A411OC2GVF%MreFva z78h1~Pa1fT+Hl{qCcXSslJMb1;E6hh3-Wq)AwZpyar!YYV&aujvANoPb_)5mX zfOAR%$>}jlQfi#%DfzP=tWmB)_bBP2x5;Y8G{sCy-F>?lcC&yS=>&j%aLMMw&NbFO z=6I!$Hf*1cVcr{1iYY-Kz_35kolKV7W}gz3yI~o6f#pFdLq+$=LW?TYg(q=G>dMf& z1Z;E}!i-)a)e=fEO`hH(iX@f3$L1<1Y1vehhm1szj%Vj>7{HM7)p$V(PHCJJ@xaopwRJGCh<^+JZ$zEV-FAwD$dS7~fsQ~8mUCfS*>c(7rpmMrC9kWDbZW%n%6%9x$%A8hcktxG)Eu&gVW4_=|%0;)1;9!EP(S=1L2+K1b5CUI_z zi~!IIrgwlA@0A=3N`6H&5|KBpdBoXz;>4|kTsRMv9pk?%@RY5XXywUKTM9U*tPpxP zR7F~AWY`%+d-CqG3sVx$SX4e|QXbHGKPQRz+K~JJxW%W$gC;uTrU+bUl(=RYAwKvy z3gFcOKBN9C9AeP97j#s6d_+c93d2D;pcV_gikB6krP&$^=BL2h6e*7f8@-0m8@M&T zXJ<20j@af<97B8Z&XT*>6n9%@#6ZyRi_0liBjEFEwe*_T^DSx|{V#%EnxSh7eI2?l zy$>N-J>=cQ*SWk}M1mqE@qeI1v6Tbov)q!})q<+%3BT%$mV%fBZjsa=@{B_Tov*p* zZ}wm*tPe_9d&z|!*L78l7Zg9`^xNBY{0a!Tt_lctukhWM@S?A*S^Zjtui7o^+k zUlbquR+*r|e;0}K>-nDX5dF<-gNtTj$7 zekJ`d7vP~mFnl?{W7Rr&_!?^=C&XqZbj7G9S?hXmOJUe~x=IpM8{-mtsN*(vxSFt1?} z-?vC)5G9B6Z3P0-w~I)Ibb@qU-3%kyv@dQC5n!4mz6G^1j_7m|{yJi!5>n68*>);1guw3Vdu;TCT0IhNj_3@l4kdT#zgvIc? zv=f|O!!tKHgJYC!7VUs$61oen^&5LQouT(Xw0qG2gX=3b{(-&+Gm4yBZHfDtVL5G- z_wyku;IW%uivE87W#BIZ|7RJ1oH_;U|KE>C0^Q*O+W}DBhIG^b>3`taKQI=spYyxC z(jOQ!3GjP7$o=^57zX$N`yC7YfkAr|evfbb1E2kYnShVg-{r0Uz@YJk-{Uv_z#yOQ zzsKwSfs_Bh(|=$zU?1W4>*fByz*w;F!Jmd$adl{tr?23}7@XhKyEh|?rfvZ z*YBDC%@#ygH7H$gh|w_Wj;X~`ZmBYpLe}KUF>RmKotO)T$0of^x=PRaH(L;0V87D} zgBX>0flW-j$b+us&NgxUWCe|ME~seXUPEVciFc3w%@#ygEht^3^;%R*I*5w1DE*YS zB()Smz6TzD3Ms0l!Q?YbBP|L4W(%UL4y3Cy-EnqeZ$z2R%!|IQNYOl_C1o{_*7{Bp zRaxArdp_;oY(aF@gLM7dky`&|3!)3`j{e_{_WCzl5M7O+bP;r#cuT@segdup;BxS$ z_8q~5;_KPcfI4|$m-`cS&;8$QL3Dip=}His+9hdQ)}ixR(dnl5ZJ)bTb(bWRdrE95ml+Cp;MD3`a zXYpQ6m2TU$)Xy}jt9}0~(BX2!MJ5}#B-h3huLoa@@Y`W0Ent}Art`F`jD&Q1G%$UD={3AuNPj%Tk}6^p-2Qx>J| znB#xnB1zu3gO(CpP3d3dZJeOj2rb>26sv)w)+2V+J&Y?b8jTkgzS3%sH9TIqdvUD? z`{C%!@SGCLIqB9F+Y9y8`&Cvd7=*_3knLr0Of4F7w#@!W-zC`ZWov2OR%QZIB2Ud` zyI%#Vy`}bz_kP&z96f9Eb~%~yjH@+AV7Pm5E|1QwWFwyM4PQi<69J-!yqQq$RzTsB z2*7#6EsZ;l%rIte@&o&!1(iMW8rX&Uz1HA5Hj5_26EyQ@ywn!@Nywt`i{}dr`BIu%jT@p zlU`)WSO)29l3;tu=cA`FGw3)5SF+0SWx;)*UG|8y`sjVem=xEY1myzLx$KtK>Tc)h z(VEgTHVUVNwQfh7ev`{Z%2Ks@l>Cx`gE@(9eZ)wB`x@+Cd6IBURDoAjyT&2Y&ov2;&7sOPSzP5 zJ9}|$NRw|O4=_zrJI$Oy7kmzLbT}*VeF-Ns>zE{ay0?tc=c#ev^Vd>9_$IS zG~+(V51{+DyR63kQ~c7#XE8$vc}EH7s&Cq%D~^nZu+1GUSvUv^MhlfE`E_Y1OIp{n zwCS;>Fp_1bi)|)vY3uvmOXe^ zn0E^}L_Ox%VtY1DOqfK2rmNh_cA1g^yGrfae6YD7E!EwSta~M2$eKoBjX9RP)?<&R zu(Of^a4EOz&OUokUpFCNin%_Sg^iCwl^QCAdyV?FZTLk-SGW|C5z{e~RpJ4 z4P3>Sc1KV!9BDy6gciJcJf(%{>s4nEPwcN_pHzeQ7AlHsi8J%HHQ8Azz-63&P~t~4 ze!mMxNG3YYRto-9G!eqQSk`39c~lN=gCT|o`Za3=tKqG;UDhEQYj-5q_yYzpx%8Wb zW`~J=H1ZJh8)XaCp{uLw!mVRTEi0U?%T{$J_5D{8%C#!er~sE8l(N(wc|gI58vEwV z;R`P9b?+f~HAJ7YNjn3R@7{Fd$UHP(CT(IIt%4WbpM|1g+x1u|YR(Xw|G^+$~`FeEH!rzZ{YX1fiiA42^GWx67 zLypb`HoVTB0WDUETER68yGib8j}!Wi4*@^du<@TyXBjfNG*M2i+q$i=JROhlR<3@` zREaS6+)1OQFG3=-PYK6^DSl$&1SbJ%8{i5bPt1I*9)=VV7vRBSvbjc~#&f2O7@REC#nr#_!{?>UCCo_lrthXiwpHwh@|CsOPStTH8v z*vB3zbrLhfZ!)Es&|@;i3AroHk3B7dsSrptHIqE@p}Y7zphNjb%zt!IpJP#b6q8vF zq)`lZ0$kOmUC7afJx0Rr-Ww%w&dtI>tugwHn-0BX@7o_uSJYSff(w(_Yz^D^XtOOz zAOv|#qCE>vGk)SN79h63-{bMh8Y$*`MDofaf_DP}&AvF*nzejNg1IrbEX|Zni8xTM zt|cj3eSU=~b1&R14+i*Y1xtzhv?i0uhn0?*lEV8FJ)9_UaQmV_4$(#H0}JQn;&}Y%corS6YEWM-D+1f8&xdbfGEd4rDaYfoa8G3eTwOoHAg1E+ zB8<)IKkb6P0{H6PEG8%m$GWz=#6&!kpI+zrj^$3s^2+3lopq{gz^p(4maCRbHnYpz zpff_s3~qm~`V8xN7!}zQaZ|&3Tw8w{DGn1S8y?)Xbsx-;O@M2tQP4@EnU_1pP4$5H zrh?Y%rm4I!GBG=<($>I9u~e$dTp2`%HA0)LOm6%3-uzOSC8lI6Rs9EA?5TK~bJL;^ zM|huGzqNu@dZG-&&kQ~AjOIb+IdZ(^m)S4nYlb!e*CbRz>TqW&|2YGmZFS#hg!PfI z=TVPu@h~HHxosJ#(tg&2Jvi@sNAG$J7hLO)R34-R+CmGyVTN&PsK zqL*b#f#obDXOPb-B?}|P0$aMMgx2}O6SeuxKx(JnNxzyhYKWdH2^8Ctp4<8yO0=R9 znP~L1VhrSB2k(ns9w`bqF=|67z~Atffxis=W#BIZ|63UV`Q`(Kzw`h9wcg?X!2G`u z=z(UpgM?g{n3;OKd+^K9xqFrBU+8bLJfO1p8op|N|^@#a> zgOc*U*@Ea20qLsa<$v5V0>@a`YZmJ*GB)n+EBhL$ke;}u#A8K@RgClBY(aF1f^>;- z04LB?NBD^7147J7;SrX(7nnNL)i86F zG$HYEuJ8Y53!+N`qzfxy;mVG8P#l3rKI(K+_!|5>L%P&y=}8ziLbJ?FT2zI*ZAYw@zca zLZJ9)_7i&F5AL0tv;Zy{2p0qCIGljyNfM_P93yH&x$a;-w&?2a1L@hNB+WC-wY{6P z0ItUnuGpQuo*e>ISl+!QZ3>aLGcrZmRCyqy=!v zLAbCJvK3F5lpmh_(fgEVqhzRLv5z84Eh_MF-0(Qj%pC6~Er1I;^wHSq8CFf%Dr2=D z0a9|b0NXi2b`UoDMzXhzK+9r8XT(if02gGrR1m#?gTJ72)DNvlK_SiGo87;+r$GL^ zo_&H_BZ0C4Um0%F0=N_*T$s_{I8cL6hKy;pw@{a5VGYB9`!V)3#Lem_Y1B`Jv3^Ny^I;lf9>mgkug!cAHLmokKl5dp@ss+Z`q z>7g-(EV7xY2~J}KLyK?fRurD)=`Bh$j7tC1F-0Cw6yx1+wl)Fg_;DU~6#}&&u-u1z* zb8kVHokoK@;9QV>TKsU8z)}(GQzVtC%}rVWmj)zXgPbspJ9cnpc<9pP9w_DQs+HPD zZ!r-zs)+Obv&{QndmQn{l9BT?X! zkJs?-H7tJZeShpVym$@sTzlUibPbPP!;sm+|IE+JYqpf8a8Eyvha#)^;xe0l7dG6oH!6ZC{^&p90VPU0&$gOiOz0#Ncnf z17Z2A^->+K+>iT_+cVbiz+Eu3-vP}_bg|i;M8wZb_k)%qNlj=gk@9z|fSD%KAO`+7 zaoN}r@XEho$`ZSpP?qL0pDX^NXxkDn`hax@tJYQQX_6>R52@YG;p8BR#w=k|TaRfn zj_$9A-w&2VR8%Qn^u?gpq;w;^^zaT3gzxOaiJXuQcd0XP$832tS18`ZzuVd+p_}>0ZAWGF_3q-E89U!IIF8Cg#H z8l7sGXP`K8xZs`?-ri=!hnNDB@*$mz>cvA`F7KVsCNICRc{gF@;0?ferS-gkDJ!HJ zQ7)s|3Jr^fBaW?2?*&bxO={N=2bCr@kH8q=SG?+!-$txkH z(UsJy0>7#5OI5|g(KbpueadZ%WIMrUO?=m>)3`@_%fz_+xwDG{FIb?ocJm0e_fR#- zg>J6{#`_=;Phi?u? z4$y@6c@o9vJ`BgLhr^)ut!S7-KI|LgnUQ!Y@2SDrdI>5kY(c(jo0E~1X68ca&}H{6 zr~yOP10=_qW3f`t+g0{lAme=(u9FF8=I3Ru{q=6PT~-BYEWN4?k}Jtd+Y^60L<)*; z&d0_KF&p-LE}$8P|6I3T{a}d*P~m z%4-Hu*tX5t*)wWQG|HEFHX8HBZx~|g7J{hlW6B<)njXxx&NRId{8ZM0Ww~ZyvWdKF z`Gk+US(**+J*R0LeFIOS$;VXIt!*A!hZ*(xU$$Y7K;;yCb`9}cJ67G1;~i^M-Sy!k zj|)rABNGlIqgRvACc>R|g^MpOpOY*0RNhkKvf-Ysc7 zQa}+T`hYh7g~k*1+)=|{kIUwtWOr?~L@DZqH@MTR)65pIlbj{J#OGwx(^GqsSS7X^ zAUD;5hy9A1?oJVmlr|l^_E!BG6IdXrUl`^6l!1>Nv$!ry_j$%!3B2{{$`KyH9|uE$ zE!mDzD;js#=RXeUm6jKv&SoI17*G0$R#N-NQ7gsXi$|VOBirJcdh~YS-ecxOn@H2R zJ(#e3t-9gq7g722DB3sn>q#$E@mloiHr{Ivb#v^h&++~dz<|OqaV|E?22ZD?Y>z=L zQ4*S?#`~Gw2<=eA;_Xw7m?2t3@imNJ*d^WTLA@~LY7!EzgI3itg05(Ob}-DHnGjn=--*kBN-lTdxY`zm$2rfepRn=81EmS z@5AJx*%eOQ-&?{B?9yo#q(9KHzj7}+geli;=hhNMC9hBqfOHx-lOnXGCZkDEWU-b^II8v z?_UQvn6tX#Q`QqjM7hi!21vt{2X4`aPbJ-nSs*$n@EJpI4HGx&lzre*mGCnObGT=7 z3iTJhn4;?x>v6zG{+H2$xwBml7}4JpQ8mBRP9nm_H|Qd(gUcb7zOb8Ge7%me4|;m{ zNVd>;#7K}};DmepBdGi>+`e{$EZVBv*!%WmSA*OU-TFkh9e623xa4oA>V*%}rq?x* z<-*WyI2#xjX6H-C)nswk=d&JCoWH(c2*ZBd=7zSwOWord;EWmDMZmTmlG+lQWYU9A zzfBK&hMx>m9yR7dKHHdRD6>J*0Dm$2$9k>(1rI?gId$T|bAHkxYkJz8to@T`L*fE2 z36On^f>JBsh|x4wF>DiYY6Qpa7KPmqvi(&C-+WgY>d|o4S z4W_&x?ji?2b7IBVW&pk0R>FdD5pS+=vsmODmO-t)>(#}_J59g2=YM@Jj7Ma(D^hTI ziCyU$M5*G1WW`{?%ful+5D=X+Y?52b~ zg~C`Q&f3de%EMrQN=#}$a=)?baZVHwAK8(bfUq6z2+;B4vq$S`e9 z`-rFj%K$gONL6y5{*FT&@z9J!1sO%2gv*!igHYc%mXK3$_2@R-I&ka2tpm3X+&b|8 zX$M||+uD!-3xcj52K~Rowe~$^A|xd^Mid$g0^wY1&l_LEkWJYBnI7Rzq&;90M5!4Q7QM`7QP*`?FPqm`JmT=!u^c#%TW>=6eEjL{SknwwG}UuW z>+rYT#+RfrYtDZXX%Ro=U?{P6qM=DWFZ-kJDxtz=W=Hys-c2iWO{;^bkRN8?WWAIP zR=daFRNvI_u8jLoj?~j-Jpmg0lJ|b3>2!1UV{puiuSJw#yd#6#!JUj&=YJxIq_~-zT5@3lt6}#UWiatqRwB*og?N}j zK^ilERFqlF3tpbR`~rlEsy_YA-aeF6|8w%TebrY_3QFj(x|=-@Rx)*P6-m-G7-IXx zWixE}SV0J=n58yWszQFDGcb={zhoN`y1yO9%RO;vEL12H;ncck;h$#=8kC_aTxRwe zw)S1d`5tUjD$LFCT1$QvNz{31hjFf(#zXDfk=qmaS1FYAk!4!3t=}{@>ONIs(0lPl z6}dH=?A|r7M}2?V_?QiaM7`O}=2CtiZc}*geNg*@m!OBHzO!|_s7=UOXW1=y1G z*Q3rh8tSokKAdektekFt<~>f?dzlW4z%q^Rh+TrnvBl&<*W#@+qhPUun$i4qnvYG4 zN9H9moS$=T455xznTMm#H&2YGXvNLT%F(d$Yf$$$tS`le@Ji5Lw}!Ea8kOz7dWfXaw5tEK=2N#=ccm)PJ=vE6 zg4M2jO+EyjmE#*2<)JWxt4eG#JTU1&n4W9aKZSK0$vaeeUvADbO=r`VnqYX>5*+5m zkd(bK=J$L0w!f0VFMks@<($CAX`tkpoU#10g?{_*;Z+{3uV-JLUX}}--*JQ!`)bpo zkjK`(7?hdf12cGZzck;BaBG2R_mP0VIz7({P1Dj7eqtjoQ#JZr6;~dZ}yNz zoJM$_Ho|<#P^}=HdE5MEU`1d18>KJYpM7l`;*=*S!BigCejp*kGB^ zPKh)peov>;-?xte%YpjOHbzM_oy$2cz7Kqz}0e6Irz z`>YU=s>#q-0#zN1dNr3%3GwYAL#bt8xg#Rtx6 zGA)(4ym!f7e|&j5t)tzQLGp0~JL$Z%D~ByV5<4!;(Au~g86zm<$4GK6@x9F#^pr%> zYW4(c4Tc|>tiHe}yS?&}qd=$qRy@`XH#>^3E>s$1uUqtI#WZz7$9w#Dl13C(ZUgwY zyz2n&BcBGpr}+k&`HzBz{@wwXdlPPd7(l};RAWXaXsn0ZJKy<{?c`VCz9;@#DI-xH z)eqb_wk04Pw~dP0kl*l0+-ZG=klZI_dF0m3LBL&5SQ>c&i0}iBjX(E_lfBAlN#Z3y!{SAgNW0_pA(pJ7yc=IagNbTfq;^j@92<-t)Ty7U zo{Qf#&|{Vc6%(mfNo?YwIL#FJm6`?rY^kWnblT#S2hy?FfwwJok!c}CD}|Kd%c8h1F?X({NGOF<_h;Zph8Faes(7}sy6 zFZW@FBcyb#f0Ju|lL(X6n_VNmvMV%zmai%W1CRhV}~C{vDAR4veo*|kio&!+e=4jS$N zB`Tx(uriym9=?%(xuRb8ao~)|0Eb$$L;W(EOs>y{bq85IE`bBb2D9!>6j9ZKD)#*3 zy3BpKJM(szLS9Vg(#iP=xh{+PrrGb7xK)S`lEr0*w`4U7Hk3UB62bMe+i>f^tpm3X z+&b`ow*!AyDu=ZH!HsAjh=7lj;D68sqrgWDpgj-SuMZNg*7Lu@i$MFE7aU)M$nnx* z>EOImCs`5ElxHSuUbM)o&X1H&USNiBryROjv)tY>bj@8zJ0B84J#nE&gE~@w5y#DF zB@c^+3u2odYR`fbuXq*GX`&VX&P*bD`ugOIN-M1D zNYDbBIwZOZvZ4Yw)S!AXR^*5lvUMK*AsQ*p^K8eU^zoPv4<$G}ZhmP6*~c7&PV*bO z;_n#*fJ3ALE%Yd#r9D4u%T0RhllBGC)pO08l%fFhgInw~rLcy1rT76ezO`lpnC_RK znlaJFE)R^%8*<Ig;37*3oJ9HObfbh;^WOrYYa%j*xY{7Je@)X zD#L!!gyi?aR7cON82j8U`|IJ+)HysO$)wkNVmbDDP>;fuYEe6B+@36A&}S4XDk`*) zB>K**!$3&fRE37j@HXC9t&Q`eSYfn3_mzJ7=eHr_5Bwgh0~}I$sId>{)O^B_W6me1 zI^0wu_|_f^#ilftGkH6K2@-h09ZQgqtw}cr|3{`uoFl9Q*(1&TV+dZ{)piM2iE1!@ ziHK!a>D?F9L=SiRQu(nEyLPeQvUhl-mqq{Q+!lmK2sRJ8GVga_t#BuF$fw}V?2ZBt ztFqweeMsEyaBRZGux=EvWQR=M-D>#7OV*C^^&9UU4kyNdjWCN;G}D)unGCIs?DJwJ zk8#xUA7H^?<}Yg_zF0r8SA3tv&DH^P7-=O@ct}E=#B91J?5aIIboXMg6jF-ycPAV}?3;(5 zyyA(R7hjZeLfe@5-p4K$9Q>^af%7~1u{ZowUqYi*DblnU-Q|QZ)O)sqcDM;k*X`I) zj;2J#VWCL$7SDcPqpI^a47DS%BUDiDmt;Tx(W3NL5T1#UNw%ny*T`$21EEaO(m_oD z{`~7^jVv6Hoc<@&5TXzSmCOm)8jRMyWl!n1@(UZdFR^QgqS=0r?-x%QB;iZFJ?KL% z3V5hpe1m+wK%nA->}e)VIpnVJ#ju6UfxrXlp@8hrHtFB>5;Qjkm{J=H* z6nNi$6~A!}y94jrui_EGyBhs7e=*lECAj(Y&-j9CSODD6{bzjpHLMP9c3s6&_@Paa znHDJT`Y=nUf$))C&%d%wxK)pJ%_mCLTcvQJ%`ifn%it_RgA=0|n*i$RQ-ODJo62}5 zB26!a)Ia^i5_ITIZVg{Gb^*z_Y7uo&E8#kxS9Qd*i(g_1OSsL=^zX%i& z4JChyjPT&dv#s;SYqq}7PW#b!aeL6nYaRz~`K$P8X+SeK1T>=WoRisVb0aJ%NDMl% z=>4o4hF1yC)@fSXcs>=TmE)8TvS%jok!MOy;>Tz90`=%Ipdzra0LwRf4IMiNl5iz zZ?(}r-TSHXax<3c-Z{4XPfk@2yVVbtps`VUh2R1;=BRtzN1cL-+~|j_F4Q?1;Ii88lX%7_nMAzwErM_S z9FXxqPbz6B^D|Sg9qE?Up`~2iOkm#}DE5IX#Ih!Xzq#}0 zEW{?7=X%A7|Hfuh_Vbqq;T|o=h zuGW2nvL!YyrffgGDStt!NB!>}cF+DM2W5w3Xvec>s2uqcS~KI9zKiqV%R^C~c})J2 zT!UkqG7nV6Nf)A79&Qty}Yzr!d4arCY-S2kF=>5z2Bw$NVKsVWi{yB7qbLV%}|XhXMGy*tnFl~)q# z9ApJiNQg$5u<5b`*&2I}Oa|R4mv7EjX+1;L3s6xKMP;S-<_7(1?}BOXUC7BAKr8s2 z03qesQT3yhF5V?6yWpcquN6=3JLMel=}*)DgteREUR~Bo(#@QEk6;XAmubGu4cz(A zv_sJU$D#mLeeGhELA+OfU?188kqtc3y@TeKD?fZ(buN|kRM4iGW|?L6Tf_7*GFdgO z5S3tA2holU8Jn)a4*3$ho#P1WMinNg23_qcmT=XLf#)@+jri`>%%ibw3#$0_u!SCl zz{Bip1&upz$GMUg^MG^|_21<-9BqH~S$aO8;9oOxxIonK51O_v67|Gso3kjDu6dvZ zDKs1OSpWh_?NE~{f33?W7+71-!1YW+8CR31;(NmhYGUk*fIqqm>P;II4x?DYgQJx% z*M%pxdwG~V4kB_7{0b(C0Q$AwyFc9JtTwM3$JgdGnc1NsFR{QR?!%HH*Txg^VeU|7 z2gE4459x9vTOQAa4~qy8(U=8L8oNTWi2;P@@m9q$)Jh5IVS9%ER9B~&=3x>bMlmjC-mdo5mRenf_&18B zHQTBM6is*~fofqW8HO}jt$q4(Sg@D%8Ki)YyOqDW5et;kw8Xs3De-P6FYr>t|< z^9)J*%hj!*(%2Yrg1b)@gc5~3w$U)=>&n_GKs?taXE_Rh-7T?p>Acv5r;D-nNpYkKgv{G3;9BZ;6&5))w< zpF58%y@3SnKnAaE;1BYj|LP~5xB0SnO3fPW&0xv_zi)gH zi$EM^#!dyZ^i}3Ik-ov`kx0I$;X{f)DtbGJnvSIyHuS>&dGxZ^-cDn!j3P91LBJO% zwx7%18g9w?qbeh8%tR7rd^lmDAt?8V=-3I-_uk`f(0C`PsIS1r>H z%|v(z@F1D{Zv!P3x5WC7k*J`-zC%0;nnzr5{lOUdB)LD0+tk82#YfmBe?q^llfZ4@ z93B&gvoh2?f||IoR6csPq%26-6;dnEU8QzkZ-)K|ghVKi$IGA%q7fqBMUk(zlh9>h z6v6oZgb19oNx(Tnzrm5N%f`cZvZbLEr*Q$FYTX{ZY4YY|c{g_P7W-@26d*>4{f?Qd z<3ZvHUPD#_i%#HECLZQ^dW_FyO}?1{Tgq`OES%6<$#bC8-0H!BB!k=I>@+RriI^t8 zv0lEbdlL|{uTIDo%kTTj7=$Bf=^H{&MA#_kh?~xDB~vX4UY-bed$6eT-+4zV>0;HD zRc90F$F_DlLYto3$10k3`fd%c8w;OAIb`zZa}Vfc%>(L87Ee4d85eCnHlUobK6O^& z-@w0F)qfLNUp zx{y-GNHzDyyuAz%qm-FoGcqxoFpC?YyBiXk(rxb_H{rp}epaUx)qz`#qJx12&72AF zZKZ0MOe?Y>xc|N4a?gIC*wTRg^P2gb0f*~!t=LR69&sY+y_Ox<5#yok#8^VpCUAA zb^K=dnT@N_Tk#(~-sS zIg%UiASxIY!W_6K6Y)c5hVpZ9fcosb5`c-}IKCqkF zN8fQ(>jy|9S(bV9=o&8{1qH5O!?O~Eaf=O-{2zf$66h=Z15Z- zEO@;Kxql%KN^H}UhnaozQ1pQ)x}GBik1wY{9^}!*X&?Y8D9AJ2%;)hW)ltkYy`T;q zQ4w{B&c^$V4nKShQ>3;L_qT>lSg0P-9udbVI!G-2%Msi(da=}P(;9xX&o z>?Ldt{i1*TAUEez?S(fh$hn$q3xr1@?+XT;@AxO>ckinkJW49{DL3R!{Cnde4MMmS zQoL6MJ4Z?ITuG48a5E&GzU^eOr93%NbPPn{j~@xYNekc_f^damZ~c74O4#xiMb1p6 zrH?mnV}W{sY}lD>A!5w(GY{EKS^(EDge#4STr%w=l@xsO$?f%^A$w56N00IpF8 z*QQUZ=-Oz;0#Pt#dMR@L^P98)u5kz#wwUimD~fmNQE&MX6}7c>c#SRY?89jq zy>V>eP(Q!oM;(Q!RMQ_04_+kBuLX!Y-OAWNq1J)!&;CyAN^TqiAw%D zjUjspTnFNZLW-NT0Iq2Wmy4Z#qTu-N63HLm?5HLkHM7$Da(^3C7riQT?G>pw6TV3c z;Q9sO`f49NIsWa>AhGmg8DaUz84Y}E9l;)CvKZ9Z@JDNQW;ba8Tr&_ZN`J4XD{ln} zrAFq6zmf+(2=e}1q3q7W^XT%^o!r^Us++U`F6dAJ12240nTVL90to_1_hsR2;qYZ7 zi{`PBa}5WzNbeeio3sF~IY_=l_ogO^)?u_3)9l{&36e_sO4L|0=N9FFI5SyjJ~!Ik zqy=!zL%kQv5HeOe>%S|33}D*Z_t$=)j**0$3O5nPvwt@P-E@0^kead}RRV1L+L`3~g9|(>MTl z8Ho17*AT!2Kz`QR1u*Yb`2oxU z;4}b(fb>NG?)WPYY6LJ25Z?#jJRp7sz-|EE25=$34+6h?p#;Z02l9sv;Eb#C19%3& z>;QfWU=aY116Ucre@A$OK!yN*2gEx7xF5j20A>dCBLN%%;4}a?0r@Wi@Fj45BY8AbtkGkUcFSVH?2Xe4>i>|mtV7;FzgHW z536?=-Tel2t3$ra=fY~1>T@xP)a=;0ot({XRmNl)!)!0{^a?0^tIaFNHn21<9@nPv z?Y2N2gqxd_!>@T>IUDyZJ#I3Z?We&cY=q}mb5MChEIg7~zuCszDI-Qd_9M2mO%?iN z)Vop~jcU4f?;GBY%YXVL^ECYayqR#gvG1-5Qrk!aWuH^6MTH85MI)l0M_-oYONYLq z`ENLpNb$7f%~kh^`fxD&j-_ZN?c>5ySvj@S~Dob-<5emrxGmB zTklDY_f(?cpozs}bYbLBCw`w4_kPI=S^MVVNm(hcrYeJZc0{38rTSbg*5Wfya~)5X zz#cNZXRnqI*1FW6gQ$C`Nv65YB2$Y=OpjQf%-b^NR@q~i}9Og?tmdC_uXiP4d=EYW| zu9Mjd)Zu4xF(}6g`;eL<;f?-!Eh2?u;>p8h1v7RWG-e8|974N8V;VCQ0)4Kk zc%}5zf_I&!3L#1>G_hvX>>qaS;(eg?>@^*+{Rx{Lvm)GsJ|vc^R^~Li;{E04vOp#o zLo^@dK=v!8_-p1p+0K>BIeX33x~rFrE_dR2c*e?J4ViXw{ix>R?@&J?Jy2lk@TM2_d%V^& zO#hqifpc>tXyR1Rjdk`pzM%0RrW$kn;7TO&AfNR#N{OnNMk$o4Y#A&4TJ45}iItjo ztm9hhj^0&`7e6-?L-JaQ>rfE}W8nyf_SY_EY--H)(5TE$WZ_xNLXb9A(};FhF$A`Y zSv5Y=1sg9@Vv@DQd7*XM$UelV7kaZPl}EUz$7|XmwPz9_!71!f|A^hp(LQ2k&jTjqn-l<8LP zFzDowFx7N424}xoddR`}dr99y6(zzY*9WZEZ<1 zw&mdU)B?MBfdqvvBGVU>R_6~e&irIRZMnNrJ4Bv>n`ri+ryTES63KdX76M=SoOj%t zEc?3hv+TWf`i?%kzmpJ*TX}61_vZaftYHyqBaO>Z)TSfh&qYEKsyi#RQv&u$MT!h^ zBt70k2OT}w@1Mxse_8f@jZ|} zxyz@!VgKQs@PWd*-KS2>h~v7-adZQG?zi3yF%M&5%HtKZu{8n8{LUi&Q4%S1o(i19*Nmu=>`o2RhU z_x|zWDrIf73NhXxwS~EJE9*Y94cbH7gUXq}kG0j?&NW#_t}wdA{F~9~TJ|`Cbn6QRB?Ni zBH6YXxD0(@oMrj2ge*4s0U`(O*YFZJwsN=q^pUwHke8z|1uue%ozi4PN0P(Dxj>aQ zEEkf{UeLaD)p6sEVrhnIryNslsdUDl7yae)D4uit88qf~NN}0rHp`u5^~GkPk(vkN z>>A|)IT^+-&87YHG1+VUAP5O{UHwBUG}@mq?u2XNlEWbdYwk?_nv>^2x*FrkAL{j> z#s0S`J9qYPL5&{p)-DCnz1H*FOF;c0ZK zfR4iY1hiLcfQ}Fq9T|zJbcFBtHJM&ik517R#kVG{vwkk*ym3_zS*eUWSj)@yeDBKG z72F%-!^jqcgecZ;@U^+5J7Mt;zGCHkS0!W^qyNZd_|(X#)aAX4%FGUX zVnCxd^nD_9{8IV4_sd071C)StR+`DBnS6(EAEeSo%^DWr!F7QQvkF;}PK-1Cdvah!W2sy?$K8Q0GCQwfp;w zURtnK8z>HeMHX}Q$@2?B*(utGitop0^V z@uYl=`Y`j`^dnP&Ta(Xz53jVpda-tKlHt8a@t3MgQ{6c@uN?1_eOhN8C<`h@>HT3J zk(RQ(Uvl(1^^<_&2{m=BRLA!Bf$uMzJT)3nO5VT)AEtiz{M}qea<~0I-mgY`AtH*OeK#>L+Mjq;Bqi{Hq0z@_ zEbV?I1|qz*dy&yFY&{<)H4}bEyn^>(>op7dOxrUGs#Qha+d=UnS%2s4gP-QmaMQLLkVMatLZJ7(AMiN&+sO<9b*%6cQH&-xXd`WOBJ+}u z*STamzU;Hmm41ftI{N#ZTvTx0&g)mKv2Cr|+Xhc;GxZnA+O|%lGuM6RNmj&uIiVo9 zEn%D4WlMRIuS`%g!xhCZt~_U#h+`9c{(He+5%oXbw_pyfR&w{u$4Iaof2#b5cNXWN z|1PcWsl8k*uKjdl9wZ@S2p4L!(w$;2bF&|~%<@qSw)Zaz^{ew-nHqT!l+hP?muyu9 z8%fkxdAgHn@2eREM^)!@deoXnu3;XDYMoj^S4Aj%-S{S6L0j#s3!ZIE=~u%Gx;x^d z?{a6G&j&JIzZrw9kqe&k@h|fRt_J&pC!zff|2EJYlqF~Y$?8?2n|2(5Fa;WhLhpNX z;G{!IQm8=4;4b>v9RoLn6$>iA<)db-Ko~k+^A>l;KO*0GdvVWAQ(gKdb5c=+6+dN2 zAfXm96^CRHYBTXquV_;eWA=PGXNUXt6Os81KUeS1eXJ4D`F@g=n6HWvk%c|kqS2-1!gO07&c1T%AcIQh7^bk|IytJY}bJ*hxZyG zQ60~ANllP=+j{~W_?w>Xy&5Yr_4e{4FYAB6RW6TntiInXv?4~wAZ>px5}!I#*TLTl zRr?MjP5NjJ^U_;*UWC)qO7yAJ_NIEi#&k)Cf%S!#Mmp5{e_IViq%*Mo@52D<3}*sFNQYk1@uehBnWT%}LDh7rJXzy4WXt84hjHOvjJa9yQ8ok8QK5Oxm}_BL39 zzZ~0J#=>-~c~IT%OAwb>EIo;?wCIL96akZ$Y(RP@TKAP8p`ReRS^DVw{dW*hicIaw9N}# zWXr<1$8383Pns>hs?b`Ixk77(A>fQd0^-m5mX&=y$vs59sSBg9R^#q(_wWZ9-;QX) zYIydYbAY}nc1}onI-kk$8!F)QbPgb3zH9M~OMssIg$HauIGmC1+Ldvw@y?QGE|fcd^I7V%r^u1v({X*NdZfLG zfv3#ETLbXE6dxbI133oeFCsO~acywKDu>kL`(CyG{!)NNd8&lI4T(q%glZ+Pb~Jss zD?OFV@H{F0Q6<3+T*O`4z9n&}==Z;Q1X1L-rIzj*A|eV6MH@be$5D0b*ZC6vqHMW& zqt*U|LKtLfII}#MLsPVD|EXvXM>kcxD9%^J%?k!1$ma3)%X0SU9-r?wn!BQ8;IPwQ}8)~nsQ=fgF_egPg!0HKdBx$<3^6In-aiB z;QDn4XN!3ODvUH=u4u6&imvepUq-;F>z>z$1Yu_lt$ zJX~@HfwTe}sD|$M1=$b=36T?>RlVJ5xDw63B!lXn3(*pN*b||M8I^@^dTZ0{TNn$k zeD|06)Qf5%OWew_70ei@=oC;=`tk$9;b2`^Gc1uOyNhm9RI?#4h|-I8Sd)Pp;-C~H zkn@*2mZ@hpF=x02KUtf0o^kMJ9A8bYzbfguZ5DBgYKZpI+m$KMLnkiE&P0yn-b)q*pJ1L|))paIB9@Mra z45KQb96!2?gdxPtRET?54q8&kNE%3Zr*D{jqW=62mD}96aDMVDx=O^_7F&gM!bB#Z$b%`!WW;@P2<1#i9yJv84(U3UyCiSwqs)fEp@Lp zXGbhgtTks75U>u))!4F&WcT7kCBn|4$)JOw;Ca%bkVsf_POdeM`Vg5;i08r zW8XbD341vdy7^g3P&kvX-$)npeY3vZ9#Y&DZP}0dUs$eOpj^rxrirrL`BT&5(!A&m z=LEG^6}YBvmig)MW=VMoUpsO77bN$isp(Hn%4vN}d~vZFn{>|&BovDG^ps5O1n<*B zQS!p3U>#NK5zupP$chi3K%k_ToQ7UzqpFCru#?etR-yT+Gs59U1x1$u9Fqpbrb;DF zLkUn(3gDWiN#=EJ+UKCrx!LMtNGDQlw579nwA$Ix9j*EpWh9n5bsWU{rb=wCxCXOg+eo>P{+Wjm-{pighK2<9yMe4G9w8@ zdZGQvsC7)rwK0MN+7;0SkX+he(Vrc&J(T5htb%E|V<+mz*^GA?3w2_* zh-vdia8`bRmQ)0=S7cY)g_c|G{!k6~feDMG^&5Ew*dM*|BvE8RAMko;=|PwvE*$*X zU^At2y5tgA9Pb>M%j1EGJLG~o6Bf%*&B z2}5w54e}!-0l1QM4MQe9|1%yB{M-Cbtb7fJUBeyMFg!R9|2$vh8uq+~tFGZc*DyP{ zVen5rn`=1t8eX`DDZ!1!f1a;@4JTZ~L)S1ixaR!N^X0E$a4d9wHW~F^GO4H>Eof}M-F0^`LtjK>Y3?3W53HuUSmX=eT6 zv;JNlWa#{CvEp%(Fu}B+i}l~1p{HnMj^dMiV_nU9K2oQ)=xRi1c#{^uH3_M%GyC-$ zWc>O1GwH)4))1jr8p<=tw6*bcfqOk_#wg;!&u-EJxS;d1L&M-rGfoZjS2@i^O~<52 z=}^l$D_8KX+%`fU{tC5^yGaY+g3iyzU%B-5tQL>Y-2YfD`PJzw1ua>7`Fv9a(eCI% zs*lzAObg%VPkj9;?&KIx|J2^c_*C;9i-!j8CM|$#2I3c4 zl{2?ydXEzlRKclYPL4Uru;X#rf&`Pmt1i$uA`RVdEUF&+9j zG`$EGans*DID=~3B0NviqQ2gw1#m&fQv_IL)KU}rI1N+GPMqwq{yfLzOguEqy0i{p zMf~V;xqXuszy+P3&6R^}i^1h&iz6^b$N$I-CYP34w&Cs(;n!C8U-T6Z7H-l4xS;d1 z&6y-Tsk=gdyf`aSDFqF9y+TfcH@0}4cL#0#)57Ws-A!5m7j%C1CK=4fQTnPAf0j(r z?GVF&)?HT^4veuL@7cbrMcygio3sEf==|(X8uMCStB;!PZACoyg!EqhzqRZD6&X#rd- zko${K^-QCx#<#0CDkT?};pIw27cCoq}(kgC04W~ zHhr%{Fxo%(>orciqh&R@KOWl|iKE3$S^(D?go_5#P|wnJRCn)lVx4U{Xcp6Fo+L`V zR=fKBxtIpqiTh1j0M|N%D@lD!|C2aQU-nO?ZFPb2HWRon`cslqHr_aYG*ozasczB& zxHceM8`ROJ@=+_hcSZ_k7M8^?a|;pbY*nP4clc;g`O)~PZ_)y|HX&U8?Wb?e$>wR^ zwbnDZBwtkZeAcUbEH3d#p}3cj=DilmO!#M2o4MGGN$V%3 z>4fJXPBJ6gETsLLv;eN(5U%)A*_I%M?&6NGZZuNVPcM*|Q{z~w!v^(9y3(1)G=JWt z^_T1R@2vy34%|9$>%gr8w+{SIbl?rR?Fo8m0ql{xiMnHQaFx6NB65|4eUn4cA=5=-~GFKhrP2RKpFD-a)hpY)N>|m$zsFQ;;q99hr_`@3=KACuUFZM@Ts4Ts4v%!Q&Ul7qOdXL zmDzC0e@#rZ6?%ukz#nGYKS|i!HiR{k$PkgzcMCeL(yWL=67zvws-KEHm9?Ay1T!?T zCc2OMx)$dCYZAV%VR)Rws=h8f^Y^I|iM)xl4li9)<#4`C^rU4Jv-pJsSncU;>I_Q6 zeZzD+uKi!^y=7EYT@*HYXrvV>Ndf8Z5b5qtk?w8*>5}e}?ruT4yF*Hlkd&4V;huAZ z_rAmXe)Z!UIO+W#X4mG}=G2Es_?CE`UkMHJ)Og!5 zmP)sxpEoZ&zhuT`a%3b;pMhteS2hUkibbBroF8UIqVV?j@DOg1X-3#qbG0af)PjFr zW^`osl5=;~oevB9qVb3k1`S390_ItFR&*V62)^Q%rk_3>B+u$? zaPphfp-7NOdtdw9R$-2!C%(Se7pF59S?WuitA(0guz%^1ADKADM2%d^KVB9iTg%+H zIwg{Dkw;ge%xJajIt2lP?U7y45NL)TEFau8e)kmc3JXFEpCvprHbAnf0-BX1#k#Cp z{Ofol{{SN~&RCdOoz;O?;)T>Ipk;!KtG$sfZDH(&eV<)s&#wrDi|JsPYOBPtqm*#p zd)A9^6Q2VDMiRPsviyw*+pQ*(zr|yLDuSk2`Fln zLj%CbXRengrElGxQl9-PW+5P8{uYO>eSk~7CcBY{E`Gd&CK84QBaQK^_9E6|$~eI} zISauFYow+ni2vg+oTg+<8I|1n^Onx&0_Zz-zL!v9Gdy*!?4_Rt3YNnJlKaU4Fb1AF zqd{C$d=Q$dDP8zM@6*xP<~2Nsx^$}cmSbxIqGr@;EM;AX{BtqBN)kyGR@=^-74x-p z)`S>M`Gl7{Sr4DprS(gq9gH4s;*#C6deOWKAu`IzjXAL*T68|S1;BW}ZE37Nk2ptg z7k)2$uG2&iZvGyg3PPACl{J{5SW!ph zEOx1XvHZ0&){|3{FL}q83QXe8M910L5d zuEsL(G{ftw1%1nccX1i&KO21p8L+KwHhhg1?rRsF;P~vQM3ijK&;d8`eiGn2S10IU-2#Cxx$#ph0hMY)uT~(?sX;c+9Jw~kd>txF~3FlK#Lh7UAB*e9P>E?I8yp2Co zqC3DG*K1tKiUz>iZt_vJ;$d}fN%8CF&vpCg$mf{eJfAiT8QnuTbj_+UVZQuGb{cu) z?b*^{Dq1b&Eg@l)5KDv#L%V=;Qko}v(1dB||IOii7&mM=DYrF%w=IrWXY{Ms2$vQ4 zt$`v0Y|w=a(dIA9Rc*r%{bgO+l8!G98fRx`jkRCoUcpj!7E9@zW=i>DMsqD`q#D)Z z>><6ySgxp=2V zT#Aeq*kBgk@5O5N$c&99GpyN^VRSajC|OFBUWLR>Rg#I)9<}9bcE|wOL?m*;?|EZe z^@1U=^)sL5e~TPq2!7-1qdeWV`&96)Shg33f?Er%kERNbL(tHiRC129FPW=EI`HQ> zhf{zWq_uzoK_{|6fqB-7#DW{TqKIreVILP^hI_eaiAUgb2-s{c57Q6c6VTEop-(3V z5$aCJP{gC`g_$Kqvg*rpo0Dnij>J8c5L$koMUmP%Ldjd(>AlXK4K5FrPQf843p1?v zi8{@K*1Xf}w6jpSNcS00p&^DnT|{}>^QPAER0aTB@ypd6)i-vp=NXS+NByU1>TVoFlk5voY5}Dt8 z&{(-B&6EfWqDGZh&4buy@BYw3hWXhB06VZIK4UrX3$1a9D+r^rQ*rO%$5J0pU+FG8#uj zfAuZAu4TYGdeZaz`#V~(-DTic`H>zGctqe4fky-$5qL!4-w1^MGyVt7SpOj};DZQw z2}1yHKms{(Cjvh6?s<^S0K`8W0ikg}{(j&o@5j??Kp7C>-;b9c!n3;{FF(9D0!B>) zlmqdVuZn94-&(bu2obNc0Nmh;$xTVN6&XmHzlO;#XI$3tfYJb$*B4yZq~^=>=E%`! zXRQUzaVyufte#PLSi}a^+n^F?Zve=fsHTTjoEBWJlbs;J$ZD{ZJe5#e6L`aL4Van{ zBinLWR8qAgYnczm?wluGYuV+<4~Vl&p32>N#$D;m3ug*Es64?AzU%q83f!n~HgQvD zVrVR8t6I7H7_5X=GBNC?+E>o9ZqY;plAl)Z5G0Ctgr3WiiC-bpqFGJbTcz^M0!=Ca z0IoRV&9kAw9weBnr7^QK&&e;){T6!Xb=iS}Ei<1=WSr0^5Rl%X2@DauhW6@j?@5)G z5%BiM*@=Ok?jGNjy8wj&psVRJQt%VRQRSLMM>>@*WO>g-?R9tses=*90Fm+at7;8Q zdsjyrg+ynVZ2}^!^2xu2_<_KKsFDUVpvSXw&(B@Z@smM2C9BxmY-O%>ZJGlA4dY)C z0cjwR^{IF{EYZ@s+VVD~7q|qq)ijEG)|jUqd19_x-OT&iKoy6qC!vLt4}~m4($K`@ zY2}T7ES&8RX}_?kYmyWxoa8v9jO5+DW5h2NoMLImG@&S}AG>FKKIk`KR`YMOe+!)f zY!4YFu2y3dzUUMvJ2IHL7~`Iw%FwBG7D)K!E!eejdd8bnf&qX zjJ`Vbr}HKG?zS)$G9am>`!xQlO(>_>eyID6z*(TzSqa)f5LV7_LVEWFfyh@h3^yA% ziHif!`|Rbx^<{Kp@hc|`6%zDMF7sYChP(!EdA|EdebyivqW6+>zmn@{kUYC{Q=Uh% z^Qg*1p+j?kJNn{iwORg6m>+g3st(!+CBYlP42r&4>;P2NpdX#$$4VVeO0m`JN68)U z3|Fm~^cvYe6CZP1NL~0f zX1Zj=)DbGyphFzkokF9p5hOz{B^QOb4kF!^+Kx?kgTS^wWQpdI^^53*=?qXwX9q38 zn=gNU~|Nb;qMj$)gSlZ$;n%Gl3K-+9A7rkM5PM&(;9-_NEVlIm2>?m>p^}Q>>&o7AIKbb&WW)(erFhvJ0FhBdGP@nG zNhKe@*9Oj>qp#Wr$d+$AuQ3+4SGbEh%~7iA8r+EVJ4v$0##}_et^|x#RJ3uqHcKB*hhS>SLl~ODL>-sZZ9^s#bO__|OC_6;P89$+-LAA&DEp1ahHr6H{v7ekC^|mMu7He@ z2k)T%ZBAKAvKC2E#qzbtxa!zCgf^D?bt;rWQ_-l6ye>X3D6A{I6baIJ?JKz5ijzx|tXQqQjKirTVQuInZw8jH=_?Azuc2`k{z z(>n>K;IT>IoEr-AGR5-}6@rr6fzHN`&?9Z#_8!_D0oUOFJd$r@JwXDP3WMnT@5i_p zSH%zW{S*RB{s}oNQeQ?bAsesN{VGuYAA~>-WI$AD$`>uvVHD|m`!$PTf170D-9(rN z3<*m!@Cd2Vu+@EVXODLJecRb@otHo}tA0y1KqXp2tJom}9#gC4(N@7!HsxrPw|E8-t*5SDZ_-v{d)~Ygu~mYncO;tI|7hvCzKd;Gm37&OfNq%t zXB#fIGh-N0lo5$BUqJh>@o{v_j3GU7ceuB^jqCCIIdVb zijFyHA-ns&;%QU_v79o?hTrk=1$NHxnWp$Crb~_O0_=o|A;BR3mwN_2$tnYCU<5Vy z>(K#rV>&sJr;!MwHU9Pl*T$R4(a%=eU~NE$g#t{iL3aRP6!;YeQKk9!qEJ0aE^$nL ztq7`|X*kYr`*hKhIc`HTgs)Coc)=AdknM@X<)X>hntf8;`+?c0Q0YR9kl#2eM`P2T zbm~OlQyUk1^0}c9yi#p{V9$;Sd2(H!$%#hnmWW3NW*K9`o#hLPT*sGIz3Xvi z^3-4n8+HZBwe5VI%2Y(HbtxX)j@c=PS5Xx;}0+5G= z{lOSW9qZCEPu9IXMP=xA3|e%}{Eq$t0AEfI$_{B3=nka+I=vDg23|1pkB}ZvGXYVh zpV8a^d@6DBJN{M0r$4!{-ROxobMvN#=x8oyRISIr7(n}}I!H?RI&^ZHJ5r-qM zNHK)unI+*pUi1EO9sFPQ0Koa$26RXl_@FLOzQ!bQU+tMRF}%Bp$SAto-C=WuQ3Pn1 z^Mc;Ff^I-!y6;c_aF6##1RfE1MBovDM+86!gx#xR|2zKw9{l-n0RM*w_`eT)4)81c zZyvP%9mGHQ3w-eZ*9`oE7Eia|qQL9D`W!3Yg1ICzVvGMmAcO0ghyHXbc+XA>{L!N6 zVFzzA7UNiRV;V1K}C_g5H2;259t93u0DN3 z=86uHH|3qs!Ai<2iYb*MUDt*RjKxNxmx>WYC=wl!TKlI7rg!>3R%nTL!P*d3ovduC z-!H>2;-t<2oOb-xxPtH6^xfm$15*(|^%Qsq(r1q_=MD1Zx3YFl_)#A>=MQ$}wjU1Q zeGn@Co%qy&hL&QD@j?O(pN3#do6A0)65LxQi;o*w-oAlaTrvIat`0TyrY%&}&sY-*w)~ zBAwRt-1Kvc{!AGL>hF!LLL@#vCKax&2z72=$*_xS^!?HfFQqVe!9fXLw+q(75{B|- zpffKpHq3v&`*aZiJ;Nm~{$d$zXRocOJGu4=c*ye(ukms` zs$-6iq9rY*MImm5xs;5!YxZfx)g>vK0;wGs`~MuY|B?cGrUVOsuz3p|oTG|(?x79| zzu(T<%o&>5^%+2K0``fRM6ADB!Ab+Q`o!EU*!E+ZHVp0vJZ3l(3 zAMp|VKb-e_%t60_NGWTQ<1}A~4I3Su!8f5~A!AbufE}%fjXWl))^$YG+3L)d&3Qq{ z;z5D=db=WQa<(pNtcON9K2_?i0zQ{}__a7^#H39w?sp%B%dV26G(S{KPZ4OwmkrN- z%3PbD;QdqYWuY!J@U)T-`x%N1_310dY!-{slU)p{w8d#TlN3emg)%BtmOT&?zm#epY36Xm`TwqTf+HqLj*GnbZX#31tM(fa!2|{FFASM zeLMhTkLoqCGV!CW)v&rOqr2=g5sot8E}G1C7}73k^=ks!pUu8@Pj%vNiQ#5d$Nder z#A=|t+-F}s7z@C-fNtj^95qB%*@)SqA8o98#rEJ`4@3VRa+k2B4IZNlf0q-A(%{ff zX_wxlN1?hZ81&ZV|4@;#XaEW)2_Zoh^i%@n5l9cKp}q=MEWrJmYx!tO$Irf77951# z=pgdziqW=JkF{CpT7iBbx80G0_IelQmBoG$b2lj;=I4&`vD`vDcAwoH`|T|)1sx?% zw9VP=aK(W`mZK%yVzq2x@=3CkppHvfzm|Wnr@}|pLC?w#n0kUf6v&P82L6*&k4pb~ zmiiZba;XL!c#xpK=dI|;zWAH~CW}c%5V9+FIfRC#<=Cmx&{>3(tEm##62E#30}SN$;3tN zH;U%oqDF9y^}DL{3v?^@-V^a4!*2D^8>4dd^s3rG0YP)$GXM{hUyjS-cS~q&CL3x*6amdibx#Efs1Ufr><7$fuv7D9|h(+ z&J*zQ%3v!JLYx?GJFd&Z@3rNANP{8O(MX05&E4+Gjdns*6*pmlAneJJT;u~!yk(VB zzSP)RuX0C4M$T6wtkJzg6!oWu^js28$h|z$_SI*~L5D}7zDOxj+t3{~K(UT$(V8Ko z`}hisyMuy1bTYJ*-J^o0k-_~AGL;T10mxuO?s?c=A z;hy8pDFd|N76i83=#;E_o+x*Y4nEsC$0$n(ct3WIxt%L?;I7+~`kku*oR#{V^6HNX z#L+oVPk1yJef-c5RdgIsh+0B!g9o?V-XyS5YXl-?B9bUu>3FYvlv}!RP4H`_BOzx% z%T)Z@G<6M;GRmN=~{4zIbyVhJ2Y{`&jGTt<&ntS-T zj+F%UU`r0#UB!uYt?p|hn=|y~yD?CQXx3Pn&yoQ?!1-Z=+f078O(BIyRwWw;mx4^G z6$h2A5jh~1)frTkaVkJ}AaRhgn$%0)Y{cK74*oo+N$a@I&IJrofR8)+N9d2}Wt91<)e>@AoMGn*Rp|1AqjMfByac>|eZ-DKUO#o^G7khxa^C zzJe*yRdm>#gWXv{T}AmmJ<~~G#iLMxA#KehUg*|^`R$8#>9_AhUm{jeHGf|1p%iKl ziy#Ait~CVxQYeI2ephmpe!4waPCnL%ALS%b2s)HLKh3v#G5~Yq7w3xYfUc2EBSVH; z#|KqIc!6zU?Bi$HjyY%fegn{CVS&QfFU9Jb38TD$ePd{GzT0Iqi+?DIJ)MisYMLqe zxqXcO#GWFLET1M}^{s(BdZJe#EL|dZUHb$UC4^wEa%MFW4o6ZE-e1LNA`$6ztQ*?4erdk%Y zuob4-P31WuDP2Hkwtx^oO&nzbp10oG&IcZ-ziJDZteoJKGNrUesa#ZnDQ~$JtX?`Z zRaGCQ+p73d4grkxcX+sSHq`K$(PYYecl!yL&Un zf_Rj)3HEC40`b9j;)Br0eS>fcW@Xf_&XU`1C`{G-j!E4>Jg(CC8()A{G}pn;&4fXTU(le#n_>SVjv8(k(C%5+hTu5joM=B{gCQ7 zi(C|P9mQKb3R~>u+ccYaWm9|Pp@IP|-NIAf+0hVDS>sU8AF}jPTz-qx_S1?Z7z0eD z4hm1!ol0ZY`dv@amPQyn?59x#MzNeP#D29Sqp^aM`e@AjIz>?)CptoG9;A$>JTUm~5 z`YHqWQXWAwBy#~PkexfjA2-QInYp70@|4tKQKcktfCi0o4DFQ872`EO_AOvxgDtw2 zXH4o~X!#r>^)-}B^06DQmO|mEk}KL42M1;A-GGQi4b$ z2P?y$l?7qN1W6GtpK;aSHPYXVg0=iZ1$>fetWfSz_Qp#`Ep6+LfHDeG_}>YL4W_?^ zhGkz=p^7D{=bw^Ty#A&=x928)4R1ueD&ODBJu-$Yy(JXno{`Mymi(=#hETVuq&VPjV@4Q<#pN1ht3VZP zlFSjuV+Fb~)W-YHOa2GXhQoE!l7LLXu$JaM^wbg zI9)cBo{vUviW&q8Hh?^bn#{Q-SgAipXAp7#3&WCV~v?;84b6=fh=$u99;-~!Dt^uej+ zgAfex%K##$3Y!J`-xYq{!DXw)QmLvn64=_mDV49;hVHNJG8)slC~ zEc}@DKNgl^Etx_tPOx$n!3u)-1Vi#zvd zK8;9EMs1jZoi_b+!V=N|@&luvw2 zovee!k3tTg6wLGBn7raJPqKCeV=(>G{K_k?jx4B!X{4~E7`Zm`62j}K*8`M_e<&r? zhJ-a@>GIPEdKVeg_rNV#0n-Ny$%9b!{fF17=JWj9mjr`nZ<$3=w$F&-pv;_Jwv-LV z6ac~Mn0)`j%8pDe68sU@UxfO#iwZWexM8AJo#sK`cDoI zJ5Q0u@*H+2iY=}3C0iUheC3<}w$P#8TRffWpr;%@T4*r7uh9_eEM@wj-9(;eLXdy@ zybv+(RYNBjgFHlH)l2;<(ZUFL4vJQ_+2HJBa^Dp7Pe(rw_m#6>Wr8rk_yI3gIaYK@ zhkg-li@_+!Uo51MO^Bd-X4oIluW(?(;m8)`n3i}P^SK;8c%A>G#;r#g6ZRC+tZ zN<+9xx6BZMk=3t7L(;+MU<}Y+hy1L!`kZ5v4ZAh5&v%dpWynvAuD`e=-8AEeZ1fxy zmW%{SlIao8=2mR`4N{}gGA{uOEjC$yEvkSzdMo){GeX(V6CIiIrHzyd)Ml!Favodq z;jFW3_4BUz)cRlzUjQhOj5vkR9A5y&GUS?+kT#_z#+~ZCu%&MK0UMht)ANsi)@v-m z3+ry@6i+sZ!~iUpsHa!$-XQ*6%>fE~Ug-g1s&h_-Zpw7*KNAf1O&h(2V8M;)0VkY$ z&Z(_Vtzv9Z|Ks6P@=;&C&#xqgb3K1p^QP05o^9yswSqBNVg2zkb-r;9{fBj|_vLc444L~j8%+7G?|<&1(1u0p5G1Y(TI>rw*VVz# z#dj_#`bNo)e-oy^Ojc&CdJ|CXdfY1RfE1MBx7p0ulE;6C?mMO87%#zy}fV`tXMZyao11|K>r?pZ?7| z1AFa%^B{kI|K_9q;t7Cy;=kV)|HX6M+YcV%@BWKdxVI-fykGi@x45@2fZj9I4Q+pG zDrk0b%kU?mM*Pu`y;FKt7f6eeDPLqr>Ae|Jum_%d;=jiMNyC`3sF>5TL#Kd2YM&*0 zXGn3>%+6C&KC^_u9pm*c0EwM5Lc8#czS4`Tw{mzq*Ki`=av#2RJRr}5KniPLB_gwl zq4ShtnI*^*ew!pYEPNL7P25OaX;`bi$XDz>GKN7raV@&-{MZ88r;Jn7wCcrOhawyw z-wQ3iRWm*iq`qm12G8Jpy;qMusUGfkg{s~Lf6pO>@K8Dy*s*ra)WzaUf)e@eK!w~2 z=+#fp_w3I-)#<3A!kwX09I>nI2GBA>fD%;*R*XP@{qGUOvL4!7kBhEE9Hv?1NXdO- zn+}d9wme0uk61&?@33k%)hxjd=UeWBGgOiPj873!MpJ-1OG4Q6k$m%zh{rT!3AxLI zAVuGh7Vw{%QgvLkFED@tZ%l9^M}N_(&R2o7sebXQt>=PCwv3$Igs!6Bzdqf*$X}5z9ryTgrbqDFu%X zw9g)g_McWW>Nc98WF^9fWxaI1kBku}#Qd6}b&9{N?Fr?ks!!9Jd$6O6TQ1JGDwB&; z8c8!T%0Fu?9<-g^h9TznXVEz-fjZcyuHhPO~4c88u)>%U-4$;^^(XWx;BC zP_!7IEK6#Z{Sx4nwxrdMHK4E{JxD#sdp7ww(Tmmz*BF6Gkse&ETK5@O+Rzeui*UJE zK;%Cld5g+qwl0&E!9D2#cYz=CVcXdmAU9OWl)Z;w?vbLf{mm+tQnzfj`r+is%X>tO zAdRPkj1ZCve!QVHFasKa5(*<;ABt@LvRK&b%8`WBxL>2nh_KYd_cF&LrdW@`m|-w5 zIt9H7@*L;JaiIMB6Q`_Mk&9a}a;SgW86e}QT{baIs=|bFdSvec5suNIs#x33l@)L| zhBN+qiTD3mtbk3sUeLHR!R(K1Oj@W|tvrS5YadEl^Z@kH+ZJcTeFXt+aTfh0ooqXB-fG+PgHQMK= zQqCL75E9pR*g*w?gF-l9fiCSnyUlOq769zK+#qhyIB!SR4<@0j;IG1y$>7a zWp^W;{-OK=vPWBxIkZ;~{q1#{$>b9-a^M9Az|14u<{Xu=v-Oig-hEv4k?k6-diwO{ z{YNuudZr$SjcRYef9+*>u$A3c4S;rWFzPTpYoGLTz=CYl;dFBE!O_bQ``hY;cp;VE zO^#M@n+5Kr!q;N&V6uR;J{o(i7S(B?-{zq~ zJS2|S*IT`46O(}6aBbB6d3>B8sZmf8M7V+n?|T1@DpTr1clf_L2UMw@3XB}qeTgU* zG|9Jn+A2CEHaswXj=KZs`Li3i7TMxa~)N$~|Yk`yEwt1F??# zkT}GGKUw@=9hdrW{3@fnP!&T_R2HV+`qSLGiFUU}q7QpOn=-wDS0{SCymlM@pE>@` z`-Y|wp_Bcl$ssPK?Q;v(YwUBa>}NzJLDwTVHn(-_i3u0~c>*DzGZpm72dwk_!EWw7 z27%M|6Lsw8EenP!SsI5J#q!vZtj)}N^4d!$erZRDok_NM@Y>9N<4zIPs^`c zO;Y}+r>)9x5`a?&h5Er-*OD=cZedt0Vw>T_K^46ZQEmj$g{GtPWU+k@U6cTW+f&-;(fEN+)df3konnVThYrqRc5B~lhcyeGEM8Mx4 zcwC^u4B{XB1&jmrg@5yb_v3R=_*NCjrfXC=(z`DgX}I$dkK56S2fj;6(s`p_SDO0Y z9D}uCSG#Ev_hmYdxCp>aAJ5b{OZum%(9~J|UpLoJVjWx*Abu$jc+~e4>n|H zc-v+zbAA@Vt)LD)INZf+EKY`njVb+To8n-oDK!S3)TxCupF0f-Me>PnI{2E;fq8x2 zZuayND_MZpOu^;d`KCwC5bPH^w6QS4m%rfBp)Zqvnhg>7wdF32ui#n52;Zf$z^X64Fajq!@IyCEE}w{d3qQb1zXgsTivpRx z%}tdp8<_b;xj)$hm5wGClrjqu0hvYIlNACRPWGcTYp zM^4)q!FqUdvc^~$Gy7)oW#e|w&rO3dP%MIFB7mjZ=f}kH7@F|XwkvKh%sipf9}Gmg zpg?dI`X6H8wHPPv1x$tu$X)>=NMt)Prk>?qbFJD#OqR26z3DB+BOG{AJ@pJm! zA;EOt(oBOf_%Dk{n+-V&DC;v4c%TR1KhJ37s}lqt*;N+D0hW;ib_XD`)}g_k_fI*l zCcjhk@>sCHxmiDTy4$Sxaby4bd>TbB4OGUQNwbUjNOsSPv+55G*GwF`Dqu^ao`t{h z`5|8g)fr*{>aH9)$e{g`GU<6qE{>e}DGw#d!f^GXXScijsQ`jSp_ZrnR&fa4OH!Nlz@%Gb-PJ0JfS@7n+NGuT6GJ5& zs@KN=zo?m;9kLU4gspcWc(sgS%-mg;q`T*LDozbhHWBWghl_%-EPd*ppi@}@fDLvZ z)8Oj70;fjv&nr)y7WO^O@A$;B!a?t-KsOMX4sNc%Gn|>TFjB+nRrAOP;v9E8OiMio zU4w%ImSQYEKq0>M%Ji-pQ{%R0o9@j!98y`AN)iukb;?=?CvYj&x>W&^PEK5^9U#dP z=6zSm_Y=dSyaZ5*UU;2s7QuiF#DFx-q&gIeK&d!%VT%`+nM5C+th%Qj2=TD?E3lC( zJU^C2zKA_+4=7+zhhb6rMy+oDbG_+#oyNX)jMG-GKRP^w;{tRIbW;y3?0emY8>zF2 z1bh}L4>4K784l4^S-&2B9;0{8xSkr*j8L3(@Js0=#0kth4 zVc(mJtXl|hr|CK4D!N5c5z~gk4eK%m(x*o4RiI`o#BjZr!Jpj`2vrzKW)WE@*D9Om z0c!cu%Zj8_3WPc469W_0j8ouAW^}7NIfk?`tyM@ScU2$i5l zmSJXnoyhIEwp2?-T`JW)I(`RC{6x)Vws z^LTqi;1PjG1RfE1MBovD{{aG^xp@#l0`9eR;NN_}iwJl<%!xnD-#_g4|9wBcf8b5; z=id{7-|1ew*uGvB=nzk53fzc7LylIlOO><&EcU@dabl^!9b#ax04{ob@Vvm}y;4Ga zzx>=9dZg2#HXSmtHo8&FE#Rr#Ce+|9NR_kd3Xi^gG4uQGPu}*Y(SmVkPuYJCSlM``K8LC zEyyGBc(<#^`E$3^XL53L}Y)C%z^%*h?O42A>{ zfjUpB0jHY%EZcQ1#C({o?|j)9ai|a~yr=8-&ugHsxveXv%vf0D&Q8Ri?9p>xSV59w z7+-`<$U*62P3Q+V0QOy<$rkRWv!WURFT+I?NdPu(squsFylYAN`$l{B2XX z1um&va;4?jN8)a+5y>^L3COg}Mqn_2y#_V#>Ib-cn_l?6*~Tp1(ZhN}e!7^YpM*x+ zOfLLMw=0w}9Z`+4x^aodX7h<5jNvee3nw{`(}YG7BrKDSxiSSh7JSASs^E+@E5^?8 zv_KN$0OsrFrS2zBpL8k8(b>x8geDpUS=6=L?t#x;2U{|J{Zh8SoIN)4Vq_wN9b9r5 zUnO-&!!!_OAq-}q^)dYbYKe--%X#Hj9aldW3$f~CjPPJy6WodAiG5T4g6k@W?C=J9 zy0=R}O!6QvY>HYd%~1N!;0)1@@Df@dGWmW)i4qP&5Pmk0&X?*387mT##0 z&un9Gf{oY6E0ma+xc)eC_^;8ES57M!90ah>G+=UeUc8xy*}V~KobyQ~-QBaSrI{Rm zSUU6k&(tHJSIqE;$`74TZMAPZ+&D+eg*YTOI*QGx!?QnSb6BnyguO@jpR>S^?}s8H z_l3)UW+`yISsx=jdy`XyIFGl6%hEVQ#`{J?RmAqw-lx<-2IMPk1BGHy;knd`R-_M+ z*s*T9S{nvOXp5IF6`e7ORC=M!mHgP0Peo_RNhjzo%es!=;S0OZw@rkY(!%C|AO&MT zB$3+PdU_r7v+}G_L&Cb%&46toV~$-5BCs~}4t`S*B$&8s<}|<;{mR6v_{dPuR#)n0 z*_z+RQ$gMLdZ;c6wytjpxhMteT+QN!#5cB}ix{KQ9nff#^Z2psS%VrJF8RRNC)Rjo z&>^os_cgrkl;)+a8Jnp`c(R&W9jS=owQ-VO2+nwWBIJ-aF*e(d+T6v@AS8rl33m$w0y#{JfLV?OcE=MCWyaXtO1dyIRMHY@hx) z@OvMxT7WMOHHjoeMp1Y-_&MA-aa{x;Ua_7Sde5r@P0mUcTDl{RrL*scsXnVcN>YB7MVBh$B4(CZhhDv%BT+gNf z(O15G=c-Hxf<%GW+WuLNV&g&7-OZV|^QTC=;KWqgFV(85&nLb?euI^2m`=|ytueG; zGEacX8x3JC2F&dJ;#cj1x7U=HV;=#SlPYorB@%u5O;6ZD{Gpb&AxrnHi3Z0>(oVbF z68b`qblf!;@cXQApMo6YxHW8Tf?aHr{G<%7@$-jo4cFeUz&mm{w$I#37J@|1A|!tv zR|pQOTntIyQ6V>3wu+X0nRWe+^Vvf5bw`V42ztNA;7D>i{0mh5yDcQ_^U?tL3Fcz3 z&k(@-GJ?RQ9!)8Tl@M-zR(>Q+TS7Lk9-|+i^#N|}_nv9MCGdEAMBovDM+6=bctqe4 zf&U*N5dF{i|NmX-EC*C&h=6J2zfUJYs*Z<<#fN}m?KJYJo z_Aj3D-rm4}pB~r0_`$z;y!-VA5Av3O@hyMxsQ31Z2YH>p_{zU{NZ`of-|1KUi_iHN zKemj6nxt9U$oW0XJ?I3Xsi-iyRg2=ym(ixsF*tMD1DMh#U7qzEo_o;AXjtDC*2$+UUDKO)oCKSsTPS0iGe%+YWxqx)?CpZHdLu&-X*e-xRIZ7G16uW>)xmEgi+;j)c4i#ZFkNe+50)Qvq~ zFFt>=b$&jYOM1OfB{_Oq8rjZXUH#Qaj5pgAFix~(poz(+Az6i+V%a~dkZEl}rC=8D zx)OhmQSbJZI_GBjk>_zYgKrKzN^M=H1E9YdB8&0b!D@DZDFXmNaa2Yjp~I7ok`tV) z=Mo5A66A%*GvOE10rh8e3>1s$1D80q zgaqNekm6$NR&5Qe<@ z(87{}T@C5YWQ{*v-Nv4<4%~bH>Q*V(RSdaai=T<9rL&36n#;2Oehr3R+z5~p5aVa8 zAr>Z-t4nupTF!)1ccuK|{H*u6Dlb-wk;X<@jtGM*ww~3Chgkc6OVRW9vf#B~EKl!K zmPdP;xyCI_n6y={@(v<<=N5LLEPsR(bFK89EUOyGW9pD7iAlN2SS2_hS{ z^w-mtNvpqmReJ@sF(UcBO{r65%PPu7DBULuL8z|3MRF*GhWss(fNF4T(a|kOlC7WTm$`$`Ucnc&KGB^D|$|KsNeivt7uxB7t8EcQf}Xt2fiuCPl}b=EqxP( z)sTtYIP4Z9OWgdr)CbLk6k>ub1Gg+G@pqe+M@*Nux3`J)FN|!LiF!a3L7tf$6TX8)?T#MF6MPN_1Y1942DjvE%K%F zaG>{UMg3&RM3N6NK_RoG;*|^4Zt|6S#*v~;@=(^iT#yy&T6TOyZ+C4Z~1Wz{G-Zr zxaHR6k{lNdGKZX+F&kOG9D2MfoSLC2{LyJ?$+Z1OMox}DPHou^qsrfL3SvTUfAPwv zBGi*CKE~95d*8Z#Pz#mgaAAE|y?rUZvM5woL_OEftXq&Gh33qpB@r@M4@dZYZD`JW zJxgo}G8~jhc(ku2MKQ4%FmW)jb-_uSg?*S)07;75?wlQ*o;|>Xg)QP>6#ig%b@fQV!Q436Ya!Lji%^-lHdv0~_Xv((wm)stgW!GTq?TREqk%Pf1Q@>x$~ z1~(a7f6@JK44j0gz$HhL>$w_wt{()YGsiRqJ4sUk6X6&Z;@+flc}+|uTNXjmpQrO6 zYq~7HM!x0fGhO^}V@tIC!oz`$QI?#J&BJjnSE5%Bj1e(5h>=zjeE@V@Xb9_4<#{_x)ZFMjqfp67nN z{vevy!SZ{F5V->|?(H!pHwz%VbJLs_ES0+;~2CBvefMru(Ezs^P;d;>9}{0St)Jm4zXRp`f7?o9;Bn^(pdxdhIF>d1-jV=146 z(xQ2ok>PjBr&)_6ceDZITh)lgn|;Z_1eF#esnb5yt;hfAw7V z_=Xbhco=KJQsh-oiJCWy6a@_F9uL0UWK`BIBcv*=uP{OXGsS#x4{um(8(iBVAAK9U z?>Vu{!0nt`4K!2mwYb7DLiH=5XAA$C(>9_=V6z2o`hAFWE@>Ethf(_-p0z^t+GVpuM#hqYmf+Rj6)E%<`4=la*IKwx zDHTV(fG)dxj2h1OU$cysg1uw8*K}M*Jbx+@u*HMub)F{&Up7KhP~;9p;m1_%fSX=1 zw6BbG8%ZRB2g-OC0A4BWs5gGWT7>M#A$Z9gYE_$x5)a2ZYU3#dk>~=?&3H3;p9=dTG&b2lrsXHE2k1cXzko?g4_HnF)L+ zm-YVc`<;L8y62qKT0O->*X-TD2_H%Q2%OCOE($ZT?pNBPEeK9IFmQ+})kg_DXVXw?!jh1dM|BzIhhc&NF z3WyquTj)3UXL?b6R$lBdAMPoGQ`ms^`?apH$G??^Ja-;EzA5z-UTz});MZvaC~a=g zj2ymr@G}~L?>()BkYOyuQmosCM74mxC$cD&+bur0ciOTPWJImJH8oXxje@aoO(5o$ z3fOx7CPGv;+Q?fT)8Xx`n@YIlF5&%{3n9jiG8wZ~A6SQZ<*i_K+HyJ6jQ=bbwn(-J4_ zL@UKmFCj|XZtv3pdA(gCG2eF#_(Nx1eouaW_A~4186OV#c|14n-SA`-fak)QPcXYC zc2z%fu*Q(AP~y0X+W5FXqe|Jft(6yty{z6TCkE-GN;~#VTd@p3XFbLAGDhq)( zotFOAstN~DN_X4gA0mP_7YPoffAI@TS0TS_?6On(05_M zXaODUkUTK~S-Uv&yDtH7)4b;P$)L%PZlXm9$=v5|GL-pdwNlUi#7n`sLxCs};4y)a z@)_SE@|WLZyt5XsSn*ddVRv;(b$jKZLTo*czbeQd?1p$7+th9|alPkC^-EZkqDj*p zv8iW&^MDER5I6c=8vucAD~S;lACj2oN%$+Sd{5pQ+Mh=kBqA`>>xQA3z9|QIUr4s6 z@9K#jJF6Njwgk0HaWfp>Z6R^DziMdUz6K(!aE}SpM3i#tn+)hquV-Im_``f^*fG3b zIIBCS=R@dSziqvw(Rs|w2m9=aZwmDGDMM)zOxyc<7~wH4-LV#75Y?NVhg4F_J}KAAkxbdr*#*&9J+w!wpRd+=}r3kJ}thzPbr{K%_V#; zk<^6To#*4$j&eHRCp$fM9Zf`|MSS_JJ^}!h$JUGfWNFePXH{$qI4o?1Nc#A0U7g(R z+OE*J>PONF>$@pd?rE|Wx#ka9$SLSZ1TkyL{8}EeZVMsWC_yZpxxGk<&kHTY8!urp zUxnG41Q9=8Q@ylV!8~K<8dt11&U*(7AWVE*X%9VpN+d6~+R)uG_&JMg+yni4Be;54 z-G5hVXg}sa*T(mhD`@K{P;x!n@NI__8v3zxh@`{_LT6x+~O|S%!cJ_hNO4_9t3=^*eOtsyk zL{5PE&*s-Tb;ESaQY@##&y3q2X&f@&(TjE48pB9-Y-eN&P3&zOgD;DEqLwHTN9{c# z-+JRO#b>OaeWN%HhtS)1YpE4GLO`s(dBYyU(2YyYXqB3Pmp!M?F`d#_i$uq=-A91C zkgwZ;&vP|WhZfpk`nKb72FA&r8|QW!#)R+nppT*3;fjo z_SH~h>0LftLumA8jE z|5FZ~#kXYWp@PVUf|WepfL~D2cUFS)uvXQ}P%NZw{famhe|<}W+I|ram(qcm@cOXF z*h5C7aJV86OR;Y)r5?0|!$Hj(_OUod=C4tmkwIiG*FDDg@x_7uO<*QzIp80o_ulSP zQhK-V(VtiF_wWC68Hj?6Qo-y0Z<`Ou)VH961ayGk+Xp8B&?yp7eish_9n^b(@iOQD zCm7J(K?2I};{U6HZuCDfI3N}ngUhG7{FEdqaBKU)PTfz@x}uUi@ik#OJ3PmRaqc0K z2q#u2Sf?eXdn#RGdYGl6?==&*6c#dtwiH@nlidv6kh;~=<`l3;8119BHsm#e=oK`L#D=E9W>6+QcaSO1KYpg%GPM)S_T?R? zaO{^T;tua$>`IaGnDLo_XeiI)f^XfPb`i1sd12>%&kB_M_VfTX2sY1J_!O|0@S3y* zFEbybO|FcvW_9q;zwmZ-iNN9vTtpXoHo(U=18gC-q1-OVQcayQ?MFmXQr{h?4R|b; z(}BmCVID52IH#kT^eJMRf0}JxtK$)WD^_UG^*mI}Ybo9VG5QrLqxWm8r~73`IKsr`^U@)j zTJ4!EiCF=Orr9NAt&(BWfG-IYD)9Lq->6w~eP61tt_s{|t`Wm&^m-k=q4H!>ec5`8 z*hp?yG-+xyOpINSq^gAC5t%GD&4&oK9YqS5DjuK{{|f`6)~qZYh7;b`qI9xX*&^NR zZ_f7KQRndENG!AQC!NCQd8W6l$S*WC$z;f_3%qakjcwNQMqPBI_$+q`ge#9R&TgL{ zp%m|@EQ?YM0mPKMe@Y%IXd5)7)_^TO=zHRw2w%j%Qgh1EQ zE|+-*Mn$NcS~B7!fW8_^&)Zwy%Y9(s+xJB@DdL~Nn#UPS14WZ0RTC|HfhHeZEKk+e zyTW;6lk(k)75Ulc<<#FO25rp^We7`i2BoK92EQDUe~R_l#-_z?t!C{G z7STz>BkTlXo9)O*J9XFfMH5_SYzdlq_|WsT6($B6iawZ^f}b7dQbt_-H4jwaK=pRg zI??lLaC*?>ih8^@HWXA-iS{BG0KOw(8hRz`eyj+HgikJ17E1dkw9-*>YgrVh)G&91 ze#I#~f|kBkST|zQ3c>IoF&;9DCb zK9A=Gkf5yAIj4)XK|@nFpS2V$*c+@eUPq0aQX_7-+f$~i9k4kFk{H^4Ca0v!*t-1j zZ1cF=4E_h7>H&h! zmikLp+M=4Fse04r>2*cO;}iC3sMhN;% zpJR92M_bpfpOc^UqFo-;;IpX?gp3$6$w)UfKgRo{uw9qA;(YpZjfWf`@dqx}EZQ0x zE1CpSVoJ&k#H0DA&F4Hi$sn7_$F1BxBfNh&wX4dX93Q<_bES)ox!@bwh>3u!_kU%V_G-ZgcqW{nw(O?drg=SdyOb`s-kL4*kNW`@zD z1x70e#)s8Bt&epEOkoS$_4VgVdjp^FI`#6E|5Tmxs#u4-X-?u)R{AM@U5{A1^*VKP zqU6e-sMuwkQ++C0Om}Mz7P7l2AQTY@KMgy~!D8%#iW-fTtB8<2cQ^iQz4iMpfw$%b z`RvB0j0p9;URIY|_fly5fa3?q9O`e|B6$EuLd_0&C1ZN}9mNdoPm9mRHeMd%vzE)n zLPzpwQ`R^&^zfYrN{~1?isjNHt1OG0UuO6tnV&ETbfrfO6q1^IJ{0>9@8)%#s7Gly zDEq75flTDYQdEe$*8iO$-$(M&vJ;IO9xsNR-%Ps8G9MNcN1xMg|cqBNCV99jHf+69Q2&DdI6nIGCAQ&K&q@|t?y>2 zdeLm{4cR8-DU}<|4dYWU8{&*^!J{`eB0pC29H$k(u!WEKrt9_lgJt0m%mgej^>&^P z3l>60u@~;q!>`)p;P843oqo55Zh0WDT{4Swu=s%O3Z8JZ?uiARHhUUIdT4XJY?Lf5;;w zq=~#MFBt8Ns6qc|4*3=PI(*@y7s8;iCIHatBa##HV#0*PyX{r#N=64+faic(F?|rB zz7SAXCuYX9Pe4KtXa!tqCjRQdLuV7!7Shf9lj~!@&>})$#_{hBZ{Tsca-Tm{0Z{M| z9U@9rnhB}VJp)ut8$SXmV7PNn|1q9X8y%{Hby1tlSnW zYQ2RK#@kuFN}Fme@rB8weL2J%$lctxZZ7RMh7d*>hmUiidllIyC*j}-<#_V6gilzl zSZo2@GX&R12F4`dMZp-7DVRC3rum~Q7=7EgipY}j#GA4XQKGe`4C-uSD;}!Au|Ir_ z%rAU!lv&CO13e8#dP$_G&IjqN9!{VO!)U0+SDswlymIX~=|>vVagu-1!>Ck`@1Vni z_#YdZM{y$~*s$#1`=|l{ut2PlO(LYkH5bH^c6V{}%@+1ffZA^or73@NfOR`z_#6HG z{L8>!2L8`yAo{=j|Nr^A9y+K8BLSHXnacv@w)gPVJ>eJz zhdDqqsDGAEx`&}akHkOEgM+;PiF@v0rrY_8J9}d8;fs6t?d|*qxO~NTGz3p5+y}Y# z#5-OUI!z^t;QFC3*PX zv}HKV2%w1OHEkRu|6{~7K+u`p?bjh$C0qm!{C4C7Mt+OT(;P0$fS4oS`Q}ss0wpOS z%kOFoPxCDxN?C8a?9tVt6PA*h&+L?J>mflq^!ib~qD~=B@YpHtQAuE8d1&sp< zS#N!dQ#8tpR~4)Q1_fsgWOamK6ET3l?X3*ZMjxa9fxdrkSj6?KsR6-Q!m6^D#-j)U z=Jopq?ae@XL5NcDD;wZ6Rg@ubS-T*xa>W!PeM}=_oGg!A;>3>;#DwR^_;uwcVDm{& zNp_5mREPvoBMBVK}9#DmhbR28h4>bjhBr_8hZcg=yaSQA5!$YhS zx(4PkrK--ogD6eCoh8qOt&lvF*#qvZ*y0>gv5FXo2$A%@$=aBWB7OPIwbcn=EilO9 zGZ}~!1JBy{OfIk;PH+sj;Ybsr^v7*b?W$Kar}5;-td2J3g+A;QQ7b6}d}ydfpPfD5 zZg3Wwokox(K$P;_{@mh@+<7?oU{-Un!01f!7Q$T){Up5&gN7l%AdM1c z)%@8Oe?l+q?7QFziuNgB}?SS4qPq1=_7&PeT^PWm%8U-U9wRn|W0g z>p4c`uuwnq+WFkLTE6zxE0Lgi^ofVf_F4NEmjqE3G!%$Z(c6Z^nitJr9OT+)bM3Cd z%sUT@3 zs!|&XA(%4ysg=O!ps4Bxy^2Iy7h`#$-vB4Hkj=3wKKuKZkHOnIU1xR8l2Sv&NiJA6#q2=!Vd&dIaj1r&2_QS#qr)dPy>EWQVW*VaV&P|@S`WW(#{XlGR5dN_ zw1g4p=tQcMT|&Xk?2AS1e<}>K=Dw^WA~iUwhfS9Zu~hlCPEodce)yG6^xMDPUg4J| zlBw!LuIyGE!IVms(A`uM&<3ELMhdp|uPZbOBF^FjF-j5|eKEP)LOiSb_oY{(AZE9s zrz$TV=HJNb&n_{rnu|xgGqZx>CyCGCtBsVU7o=eN0ywJ zyI@#Fm0Xs%$Ij;#AS!C~SCumv^AOj7eBB)BcWjnwqDqX{ zJp(tPLG|AasfIw~*p=UgD2IRLpf(W?fjEL*wCi;8ZI&BCy}3&YvhX@HMCsF8db^MH z4`}MPtPxR16`2J%;xt~zYP;u(3|o06PCOM{d;r*dE!dt054!kaZEuw^U>vz-k|01u z`rWU!=H-hKWKr7#JiRPMGR zy}!1I7Dn2qYz&t%e#QpeZGK0hBt)9vd+D40j7n*o9l)F;T^;msW$T;9@WWL+G?+I5 zH5GSL7{675l=45fzy!R~w`9n9yY{-$8W!|1$8Gfxis=W#BIZe;N4AK+J#n|FuC2Jcw*r+i${`0Y<@cn??J!{CwapXJr>;evbk z>K>N5_4n_tFXbNIzlQ}tW061gMcl(n_b}Kk|FgW$Jv?>~Ke=5mad$lq_i*PujDNeH z;;y{OJzR4Squ#zR04}dT*shvxhQZg9+-*R?)_B6#@Dkxv;BR>&=GOp{ITZ6w4we#aKo_17c#u zkF=clZ}8VS%;1f(&J$hAi;7;^1bTM=oK)?ZCyc#e{aleLnwhaZ`s!#QiojW%=Lh*0 z^1@Hr-bpc-4Psd=!^g-yN}ORLNdYR%@LgxKn(s&ZrIy4 zvF&zE#gB9t#&%Pvtb+y<36|E=y(007I@` z2#GMdhTgdt$Xof#8|zeiLO3|RbXT)q5i4Lj>{vVf&Z^JwO?}dXZ1Vk5&^2PnAB**7 zAIgh3cSLtEG8P$D38CfT4EmDSQGbe3v@DDV7zoN*KV-=fzu3^P@o5o{Hmu_7t)x#~ z-{5MLJGu1jd((@@rHbr3v=or7Z zgAp5X)BDh1)(@?9;;SQH>9=6LzQiu}h9epuwhLnc3~I-ME2ACHDT)$;74x#<)I5sa zgvTbWrnOil7M5B(-iQE$L`hg9K6a;1o|yZ42UbQ4Kxp_ZQnTcl6T1SUh~_oq;+XBY z>O)Q}i>YJ4jdn?^a#x|P;2s)3CzQPC=jb)HA9i1%KkPtxw764+f5^}%{{jC4^OHNW zFKuDt4IZl$&>+Xd$*eLp-g9R(g@*mf;~RQ8zEnogvT`kH=L)zo@;>C^8WJB5n0z+D zOY;iooyp56-sz-d;%aM4w$o=c2($b=JM0b1xG(0PRKost2)x`Q&skT zQrm3b_*OpoW6b_1p@+JU6N)ncSn%fWMjbVZ_naQGzDduexiJphiAt>&1qfdQ4ElA& zZ+tc!Jl{*aAbI~2hJ17*3~ITz_93wnq9QbDL(7bl@*I{bmtQ7URN(N#1Nw{EQhbf9 zT<3}g?guJnHWX9{P63EgjEj~J6boq>##v0NvG&mrc1@@DV&ORpQh^2|%H_Q`6$m84 z5mi(U>SalOsJsHLCm;1yF!)WUV3IB6NIt~FGVxF)iW6?x1GD3iZf5i}~F{|+}jQm69E2Dw~0S2o(wW$-TWfR&ySUDk4@pQg>e8uh0 zetZ@m>|ihxWSwxb2{^y5ZYg`Bb)vz{kV0MneI~W0hBNvS<5ng z`uT;f#^{ad{Q1Ju$+k!Hg&2t!t9d{}VlK+Z69dgk@nj9zH^)&0S(SmG`m1J(51BV7 z{2LQ;8U4i{JeiJbEER@I#Hbia`Q;s`r5qT`UFAI~6(^(w6yd3B)8d3jfasSAWBZM zTN1 z%3XV0_o_fI>^)~P_o`2L>3i6W`J-ebv%Y3?&wW`s!NeCaUkShY0*{QEQAHokug8jP zj8-EBb_iVWwjiP)rP|jWPQ83xyjd7^Q_`;fIY5Row3maU&II@^{tGhDa5zM!ac(^# zWO7ReV_#yk4y!pK0A&O@;L%)Rp_$|t)rMya{#6!61RYNj&6I{F;HzkMw3|DsnzIUU zt3OT?7_Iy`K|bPycJw8V=_2}`yYv)~-yRT#1s7O`$U%)62{eNDf5JA#DZ_3a0v)p1 z2M8^)^KO?=&l=LEqISa;)8Wa$j(o^DCrj|i#P?NM?iYhx3f!slxCtfN zWzA?@K1*Xl{eo62SiP&@tqg6?IN}d$9dG<%czppz2o&Q>zNyf>_H#?g4=vAznN)TLzn%E zTWjhr+8QtQT}O%}6}Tpfd=C>F^H{rm-EDLB879%vbbMX0ID>5qH3Q$0Y-6@znEwoc zkO-?Qy8OugdVp-wH|7$oV^)9>_J^SA_hnAFP%p>`BsWQ7+a@ULES=f6n1pOdTA~M1 zvKvwQ3Nic8ye;BFbUOuGIFR}S1;eC1$WO=2v;3l=_o-zdDLQUK9?yk6wd^~_>Y zGg^&TXPeCO^X%&a8j;{UXbvu=3%$U}2edknJ8g-npD|5SylgszMzVri&`{6oZ+UG=%h2v~m4t+QbKjc2hUM-Z2zCXX0q< zeC}OIFThB&#FVLnYCQ%XIYxqb8_@*Us)l@mq!P*5(AMXWoJq!?@zSvc2^LGqq;t=n zw5sa4V}AEZF||*lY2^?q4FSPHf`I2i?RxEme#yjx;KbC;bK1$k34naGap;i2g+9t;2#{5+mG zbayCwx#RAmtX)vI%XD7g>)7M{HZqviQUi*{)=8{=^!rCWO`wrKwH2!ukFnZtOsXea z;`e@WXM{yJ@%HrIR7WG|?X#Q;rLsc&qd}VEdCn5c)Kpq13-xqCVw{pxZII1fjX-LUa5qS3ITcw*g04rZfW-oHv zYS^cNa(<7eOU>WAXX9~2mvwxp4wMU?iJWwR(@M0VNP@li8SvPT@WY2S$2tC$#sp=4 z`}J{DAF2oPvy@ynAF7JWs1skc8jx%ikxq6ew4D7q%@bnej{OQ;`7WwWE=9?!w>H^^ zLci8ZrL}aVL-fcQRqlYqzY)gpN;Yx|rDD(SQ9DlmsT7uR{r1qr@S7j#ZVrNnY1D_u zuHCkA8mip$S1IacoEf!!gEV`xz6}R;Mu$VMBD30*fGh27NvJ5)dEMxHbc7NMI}IhU z(U!r<6+p_Sl$c&n~sbE~CE!R;H#5%d&aP#k8Vcb$x~{;GXz0xPKM*+wsp8A&OIx?@Yas%PFY5xWHvqOHbiS^5aQ6^ z#vAV~xQ{6P%6Vi*wb}JU>wzU_fVN;fgXNbmpIH~yX_eJllrvqLsvoY7tNKtJZ=5`i zFXI*XPu4>zm&<9^K*EoBeB8&tIXWY zBQ6HtGc(x|A0#BD>mbb!b*r^b5LI*MyyGYZlR7PK+J`lv7TJRd0NbW6z zI3uQZ(3ANaDL&))f&+@za;Xt;fbdVptVHpx&zNe|HS7SZwz0@$st;r9U%a{?45T!# zODju0(dvn7L*Z;O2}UBYLPhKdNVCcd?0R-OD^e@H-hcGat}|+Jkjmw2?fz_@eU3}| zmtTu@$Q!Cd=&|KGLl<%h&)1lGSJP8@6+S;W0Is?l{lb$+rnbp2C^06mpUGM#55AO$ zMEn)^lcb+(+o-)he>}tV#vf?(q2|=0F)j>y98o2X0WNl7-LQ0ydK9JN=hLKq{bsx) z|J*DbMIu-81Ww{ZxDo$2;_s=!M*!gJ2kFPg+JiLY%RVJ<^`HlcR+Mp5b0wkY0hT@2 zSx_reV|?w4umWAfW)9yFkYwsVOLQq2v9V%d2Nu@z)`ZkL&8SxDyqi+3;x0)-X-gPM zq6qmo|NMDM*mZ>YcqRcAVAZ#xPpE_Ghz5-<*nqK`qO;4^IBJQ|NG>;+C^&Pq8Bt@m zjt3J)X8uVuM=Ez93k=Jz{I@GXC_3T^b~0pW`HG~lwbr6Jv}zTy9f9qc9SvQ|$4~^m zfjOnN6r_eNo50l&3oBdbXT`-0%T7eoG|8iiRwDz4Uqg>0l}p>-q(DC)b$7NeYMXQ| zY6@K_TR%*vp|VD$&Qyp$qvdz+laZ46_#J!GbCag*bRcmVE%B54xOhx~+<1*_x zZg~uFHDO3*#bMl?GO~!>PS|sjG+c1`y_*n_HNPn(5=sp&zbgNsVy;f)1qPJw)7Jw4 zDz+N^Hey_!Q%nNpL=1Z@MZVcyMJTjG;VdgCYi>F02<~6l(8jqM)g6by$*9rSz|~^D z-n~Z%JKG9PRCrVG4X#lxwCt^8h83eK`CR25(O$kdIuR_E!B;OGG<@DrXhTVWwaPWn zmWk-&kT(9^>b30mC<}}mKrHsP4z**gHty@LRWDq7vRod=K1wg__tU`Ds$a=;uX{-S z<33rJ#9zi_H0((-WX@rQOZck=5nH_oHlRmAiJf2S8L%~Y#kJfY=7UzF(<1+j!ZO$G z`*wZ`^QUvACxLVC0Illu3^UD1@sohQ#J-dV!^EWD)akYw0ibFOlgtsND(ck;<&YZC zh%Hq8iauT~KI_S4ozKWX)>a^emwL%)+4d>bIy%-Om7*+=h8?{Jhh$8;2?=Q>j&QT& z+Wq5Kg99?$DbDV*50q7;=euJSLcic+jDKuuyaTLu5~0^@Fs?V^GoNGc#W|{H9{ChT z;cBqs4Ne)Ur({kgWkt!H8Y9iS==Z4Q==ujnf2fsy#ipMUByA^1*x>QE z9mD75VowOyd<1ir^1XdbrIoR=M=hr3Fstj)Ip*D&+ZA3S)2^J&t(owvS0-GsbBm!- z1rDYo&#>ruai0U$u*}9vEvkPO<5*h6|MWdRavBe_EDcy)_CL=~-&chpGnbNj-+;(l z7H5_(xYx5@9&S^Ps~UVU16j-&T2xg<|clRukVU z9pz^Y0oESXz%=l|(rG6n^gFPz2Wly8I=ZWGx&hvA7j&;YTXQ!|(85iVm6euy8GO6G={QUFs)io=7#3h89g^F81i zp5Vmf%SzJ~mYJ0kFM}GFFY|>+j{r=({6ldGF^RC;dqcs^Qq7vo?U?&xJHKv+u=Q(eolbeC+8oPjrG0e zMTjI_h_rSMRzkn%uVVq;*j7N+&Yo8lermYErrvf|%2KCsmGl=v45ce{5}iccdAg5m}-nJZgeaq)yIh;ColK>QAtm62*t zKehfj23EC)C>rHNk5a#79#$VWO}^(-rE?}H>c8m%*E8t4D!{V78|)g!vYUN4G}w3` z^L@ibIjXk>WnG8&DSnyWgt{;Nzv+UA0w7j`Wi9GTM69^$^LWt!#X2c^IIbCZ3fgWg zMKL*{e5(Ed%=t*jcbEIe1 z^k)X@`QdD|yORC~Jm@%OG^uA%=#s8lZ2zX~R#q)omU{b1<_|mN5;X0f^k0!?z7ouT zTWcFdMqr|P{;NT{b>rW3-O8#1%UV*B(8Pg3VXU8X17b4+D@H%A8fwjkXSa@G2odUS ze*ZUJx3cQNvclxL`qk{@)P+R8Z~!!-mg8q%XC3vJ2G9CkjLgiLJpDIax3U_*vLepi zg!W*n(BMN6a3!P7e>Qr3z6fXHh_=AXjwB+kZTvS~x3U_+vS1}(@`sCfr5JKz&e@;$u55I}3%!8eb-u*tVLQ{w@q4aOMZe_KA zW!13Ia+WFt+i00x!KH=8X5fm9cp=K?O!^%c8p^l0HU68fTUo7OSt9#ar-{%tPVehy zT3~~44@RQbCWaTv`7~u(aU}=2=>ARDt*kb%tSx;#;J~}8(gHyYFEc|b} zZe?|VWd-B6VqTZ7=|%N!36d-saXYFX@kUQ5e2=2p-z^|rI{7zUx3W6HvZxtzVzeL4 zN%JScopAq{j#}3RKFvhzmlb`3wlDH=)cW6a-OB0$%X*v64H$@f1MKhe93&sU4CNo7 zGRx2_q4J+qGsJ2UKKVCYx3apyvLYjn!jIrzPBc?v^t~dzVpPc6PA7vFq{@0l1@9pL z=EcA1`Yr44=U)c?GVqsyzYP3k;4cIJH!=_p@}0p63IJMUew)HTISJ^vi}$Am8gPK| zGUxy&d65530?O~O2uQ}Cm>c9z|A`qu{_&rf{C0i)-S=^C*U#VSTfN2L^FtQ>PhT5o z#c<4KXlkf#pbL?4Nv|LoZqesB^7&>l$3VhIogXSiKK{X)uu3C$shqS;yj3(MI;jq) zsX|H?{L(N7JYNBL^z{pEdzR39D(Jb&=~$*0i=n()2f*T=J~eix-=+ZQ4g>B~#;@s` z4x9Zrp4nR=eEYmv`=cM)DgZ151)f9Q=F5Q8&GmCM2jl}j0j!&=nWhWW zO5*_(BZ3=4) zs$5!)cVa8#Ie`Ul#MyCSCG)682m#G_GmGox`_{=9GfAKL<)2N8mK;mG8d}p?h)cSn zcys+s6zu`p2fxc*HTkl6=8==nR5-+O5cBl6nTZ7Izn-x4mr9kFgd}Gm9P`OrHH|xr zDoRzokah&sI{>gMUT~~T;`W+%AyhQUuvStrx1Op&LiYk3Yi1uETmqDqtCfctUU&MA z{%X&=Hdj?D8VbAOa+gbYh93!n*Ht2rx(XpU>BmUQ z(35|e5*TkK(ig_`e=%V)~GlP%#MkNQf`(SxOLW3f~9GrcQs%I$} zqZ7(AoG@7IvgsG);4{zMu3dPjlnA@}lW9fOJF6jMmCy{y^uCe_pT@5y;w1 zXOlXLBKk4M!j_)2)%?V22&G3Q%2UkU+dv#`B2 zXT)Yq_n~|br8g!zorR7T(II6j1k{8N-KkLN*Y;HxOr26cnr^xxTM;%?K5VU%sI;VeC!Az3bVr850Z z*G%u#s#m1qjWmg5cwbvLAsnbIDemlv-jHqNaLQq!5KLTua!=THriW!~gl@prhk^L! zh*cTZaSvB=jD@$GQO_EXv|xgQcok$dta)Ctj2RvtaP{6Ou>p6$nZKUAI-3Pw1D1MWq6 z_m2pXS2MF64zi&fn_@gs$$;=g=zNgrRq(fu7fOc}35vZGKFk#7$}*@^5(B@lknw$VS|JHn_#Svb|6!_?T11=o2!`s2nSFWB{M!_zNVMV@o5Q^yCp)x(#qE{E>x1uM+T1M&N74Zgyg;bz6># zcZkgUZvk0-NF5cZPLx54&WHG*m%5DEjbEyJBF~op%pTqbb;4h1-@{%+&_FooOX1ls z>GeJ1>Y3n7F?!xIgNt@OPGljBe5w!kM)e{VtO&p->}-2Vt0gme=prWd0g7eRUVP9a zCJuZGV1NV30ED-<#ITy9lIE9_6@=EWJ#@i}J<{7MG71fh$lRk18z-uLHIORqn;lpn z9nWQ^jcyYj`%s2R;vB z5|qo|R`K0;{^oxf_{+dw2L3Yemx2H98Tj;H{{O8f0=fhX&_Mz^!2UNly#qaINkBOy zPBAFQzvu7Y?dNw_{w_Y>9X`3||8M@`{|l1YdCw+d$Egk|2bKXQWRhgL&gUIiuL9T7 zNqgWYSRf;T?A*!kYQ5zjK26Oz1~q7vtS9PoO;+V@U@t^yo- z0FurIUo2&tB1p7-mP}Kv$yTNteqcK&Pe{_r)5DU z((M&l9<1oC%jk&7VEcCR(uI6Q%H`k#*JjQT&BW$~6O-cNTLai&UQ}cK4WfPPRsYbZ?fw3vYeuV2hv#8#7O}gdx z4`JZ49@JHWVhYal0MKpvx7?wX?Y4>QiyD5804s>ut+AU;@kEp<+}x2Y{Vyd~kn1Te z+&a+?F<%5Q;JVS*v{jvG*{uE4P2&U>yuLoO_I-ymS^4X!5x|;^M%S}ohUC)*4mJjz ze!$ZsYyNCKSjiNM`1q?qr~o(Yr+9CE z$qW-ui$bSK*m%Z0bm@$P$E87z8bR%0Acx=&!*NvoABXJx&$iuYKo@W*0r~)^x!9Y! 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∨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಍@XE8`{J4ri!7|HZ0#5I9&0tY6<+ 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

                1?)LV%c6Y2Wdz{XYBIB*$vCk-+B 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%0A#~Wp`&>3?3KbV0wPf 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%0Dpb6Fzy3FOHvDpI?7zW5UYXcsWeyOiCUvWKA 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

              p6J`2A@9m*O;r<2gLD$_5}d8 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

            2. 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%0AO%vd^OR2T~l{NnRm>(P@OrFH7$ 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 <+e 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/lock-grey.png b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/lock-grey.png new file mode 100755 index 0000000000000000000000000000000000000000..3f835e7d9cf5de76ab44f9e05ab7f0b37a253c69 GIT binary patch literal 774 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�`Q1L5xn3=PN29a-X^r;I|C@;50PChVir{ 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 VW?MV6Xo>&;002ovPDHLkV1hr3ooWC8 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/minus-red.png b/vendor/github.com/skycoin/skycoin/src/gui/static/src/assets/img/minus-red.png new file mode 100755 index 0000000000000000000000000000000000000000..6686a98ccecbcd9f9c84a29796db3d20020ba23d GIT binary patch literal 1595 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⋙!^83_e-CJJ`oRPF~dD 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 Hzx)3OGG_Ot literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-Bold.42363955889f2f20c527.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-Bold.42363955889f2f20c527.woff new file mode 100755 index 0000000000000000000000000000000000000000..780de6d66c1664caf60348cb4ef6a2cdec9eeff2 GIT binary patch literal 29700 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%0Dw-qHHSKZKL}#_NX?L%i&vk0~KDoH*f7~ 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 E0$VFRIRF3v literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-Bold.6ccafc6fabc0cc8a971a.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-Bold.6ccafc6fabc0cc8a971a.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..72a32ab2c209f238afa10adcd38e13e7584d1294 GIT binary patch literal 19940 zcmZs>Q;;xB4>dTpZQHhO+qP}nwr$(C{fuqfv+uY6UhGzFF4Cz~U!6*ypyMtt#smNe z@Sn&Y1Hk`x03w3?X9xWs-~asoU*Q)MQ<25NV#5xMWWb5m05bpx=R<^m3L1w9d?tjB zkO2T>10n%VgaaV}4e|xgCBc?F6nAhAr!=G8fsDO$Zq0jAkI@CT3!f|c>9KMv2#W;{ zuzBM*`}_MNCrcKlLDvBhTkWdr2d4rdqV0}O-?XY#>h2MvT==(>J^d{6MmGy}U$78l zM&^jfoO8j_YX73KG1C0$=4xuGAr%P4IbC?VK&V1p?1~jQVtRxykUW_(O<(v@OJF6^CbS!JoU7>$8&M#aifJ6I}I{d%@b~99&~>(6A}gp8ORi_K*hIIOMc@DBU;fIRl$*y)Ov|+EJ^pH2 zMIu*Z*ZNgq`Zv*S^Y)VpfTR}`KugO&!4ZCuunD*jsL+9JKIg(PQC}RMG ztTC*k=E^R>&t#tmHHRhCq-ot*QLd~HkDk)O&KyMY<=_gnpC8n9!>bqoI93>fWU(NF zWnchllG&;TElDnH{*vx*h!)`U(fF78`!r6a-R`Y00ZLA!glRwpnJl01m*yE26%S@k=_AC=?@5UKFFZv zCU~l$WfwHh{)%W~W3F;u(0%JJr3MgWhMf*=2ER+_(AIX9g^88<*DuSz<+-P?NBc$J zguYSeHpw4@YmjN>Qoqa7>*>|Rl4cV)3!U~O_?pyP;mMp-nt1b)j^6tXEb@xP4WPlO z3PI{7@&c6Ft((P0*@YrowIW(YR4$)cBpdPP_d)4P%Q?e98-R|*Hz0Em=3AO3H*tUdB#E7DBwpc4XmYj| zfvQxXP64+rX5!D@lD7J81hp%Y?0QI%h*FW8|60Auslrs7qo$?5__5)mIg-qpbUxGf zLCy9iHb*0f952$W)FBsEmIRTA5^?Y2^+@^y4-YM7oeT@r0TTnJzb@^mN`AC)QdH9> zHiAKmukW7x^1(g%`cGQHBr$xVy44bEh~Q}$A&f9&pP#OMyiH9NQhdZtTyo?J#Aohf zYxCo0`)|;3b~Q(hL!qo1;NyLD*K^!2d48jMNzBk1^(lbc=*usEIRLctYk1^701yaC897^I2S1Eo!FM`B5@^C) z1r20I5-22KUzigcd_7?g20{W{%Vvax{UF7;W??VG9=$(S#s3*{Qu&GMXSBhFw=tSdfS*nJ;XI zJZI=D>$t&lo!qDhi&vMM#+Pr;?(%HFVk(LI^b9yQsGY*#>0zSCVivelBbr=#EhYtp{{MkzvC0dQmt66mn+r_6_r_mR2GX> zvfXo+KxGBm@w=Vy4g>ppsKQ~f7_IAkU$_jX1;VZv3IiRGr<_TWm*;=c#$`C}Lz3lR zFqCr#JEmz@vl*7eKS zF`1R4D_OAJz^s3C@$?E?>lbSP)_l^?H=V(?&{r4O7+9+qJ1ouC^U={7FIYQaHtSDt zP2|@N@E2%-qoj#bN$#(phNPaU;}4v7w~?bt^sAK$IWw=cAJwWA)?0)=pi-g^%4vOG z@#lWAUHF^DdU)j9T|U-+-}1Rz)!rIcf?fz3fmVyN6Q>9#b4T!~KG8r=~b1r5kYdWW(Df z*^K?ysBzaR+@0O7S&l$jizw$jj(J^rECMN??Sl@484NiNIEZ(+Bm%gZ$wX2u7>!Tm z0=iMs->i^wMv_U}l!{bmok92VDS8V>m~vwbjLi*mZNa>z(}~pbeM6lv^-b0PZ=lTG zWp|d6^`8HS)$)H>@urQbXI6MNSyHjvj@5K##iP+^HQ9_-wc1Ri;d;a2a86$AYR-)g zPM!>%(Cg#&jfMYVazu!@-DtJoPc2b;ttLd$w7tktlaf#Crr2G62oB0IGD@33v3@pZ zm^pt~>5kVnUXl6HTF>K3xL^Ml)~^-#cg(4p^Vzhwy*4dQwMVkHhTWUt;hZD1QO1!f zX+pY(>XrG!dLz{JXYjd~8~Hi9V=qG5`4k5+Ui!-7JOZBAJPL+y-P@&?FpjlhwD(d8 zIlNMQa^gs(4bHYgReo4bpR%8JVq<-B`s4JVqQV4o%g@nj0;^kDO~HzU5XgQJ=e^*1 z)Ib0@#B1aaNZg!D?pqEFLnAXoTw74wa&0)BkH^$G)B9AysaC93tCi~oipgfQT&`D( z)$)IA8lHHt%9(V`X0xk2b3vlgX|)=yX|VsAjOPQ1$vJnpr#m?~I(0gH99&6UU3>-a#N)%SAA+6QTZ)|~E2P+xZ7))S;wTBDx$6x~D&oPo#{8Qfi zAid+5eqlconbvX~Gm3y8@~{;07>`BZg$QqZarBU#;i7Ps!i$K!;sT>ZN2PhHspenK zhD{ddK63z#O^nP8b8SJ~dTcnIPA1hgL={G*Qu0pC)QhSV{(s(!u>|s$kn zRW;|~@ikK&I_ns*sa}#Zz%POw4f!S`LcCB0T5s}2pcoF+9tAW7=GAe z4XPS#R`5YEC6=6#44(-a^9i9~*6aV7ZF({47N9A%w_EKbF<0f(a zW`&!S?fk&HB8C=?3+ zkKqBNRe^7x4+a7P5&)L#5nEtaU`Js8KmC7Og8$v-0$2&aQV6!MlGg~E+ZM%%se0he2;a_7SWphnJMmYyiV3$}h7M3Pi0!3()jjI=VzFMV)Q;El{e;zH z8}fp(19L{B(QGsu{y)s)I5x;ir%r$Y#jlz_p@7e#c0{RrfoWpouh785$o;TEX=pAo!o4hC78`p2KG-loo-oZPsML|tEv)N!WiWR%O?y|nhfn4M(Dg@`WV$m>`jcelkn{$1#v zN3Xx|YsCKKX6f#}k!GKFEGsfT!UAo3BFYfVV6qOYd$A`cZ>)e3p;kA3M7P_~@4{~S z8}H0oYwvZ^Y2f*^)ADxapVwK7sGdRzEW#@@@pyh9EL>hBA&AV$CzZ6>n1qDP7|<~! z<52pQ9t`ut{ZEl*qX0l*cMr;#2xykpv)m14hMzMYOP(0md<%}6Y?$`AaAXES1hE^o zM_3)W|HWO-|7HmQ03AsCm!E3%fWC^sK{Y(T6_zJ|Kg)o#^K{?X=xa|=B?FKyUR|8n zGga!bBuNrOktCnk5lA~kHS-{VYBvA_-YFxr!~c4(|7ceBNy>aN$&{MkMfD|zD|>D=zPVG+r7-BMLkJvzTmq4Bp?2RtL14vE zA@qL)JM_uZkRZgTU(3$`i)$<40>6mMdxec*XZ5#!`E13Of7GVYzTC7)b;qqO;=2cP zz<;UYFj$?YRRqn~y>_POU&rCvRqM#BLc}{P8GZ%d!gdCP=<=_kz*BpuukBcSy03jM z{`K!;{>Q3$?{6|c?%R8^pBqS7OR#6g`5BguT)GG?Y~j{=j9a2~TvI%PA06NkNC-9O zH2&E2RxzGsJ2#FbCUpaJHwjzGbV4M#JAm-7)tG86u5?+FQSQqkejfGQ$1Gy6b7hRA z8m`D|QTzqJrsJDWJRT{1q{s2$=iqIY$Nm~D&mv}# zY*gd%eAV++ZQlKo1>oIOW@c7W#b|uB&M17i2616QenJPCOT*SH9FibJv7=fhni0sp zsFiRd5PmeKS(6n+7=&nu*P4)V4=o7HMZ!HsvD7D|2tO8~3eY$+YfbvO#t@lBj9~%v zqP>u*f=bItx1>}7-7Jvge8HhL0^X+dbi&u-`jkugmN9`m0^unG%xMmHwUQI}*)!*H zb`gl+j43KIBcTcNjV41pnYer2dn9HY^0=tT_Z8C)Y8s-0u-p+2E5`(2IA%)HCU5P44EB97K>+r7u}X6< zE6o>(eaH)+_7JA{Vpvx^?md1jHnYc#Q`{~Xz!L26L3C~;@=0twWpTpWgXR2zI)U;p z3@%U!Er3PloA=oxf*WXtMno}OHKcU%#qJ=?5iedbO2kP)=zy9_jhOr=XFxZBL$heJ z&+mcr523v7{vZq;jF{`hz_apf1hj9O-%J?&JEnRr%3fvy!_ zbO1o*ss`qConw-7;$S@}<&}aESFl6{Ec;Vo1`Xdi`GQmq{Uk1#`apz;#u5;>8}7DK~bXveyKnOyX88Ifo55mhiBK+I8C~4o1%xrr9DIC3>z?$Njdu3 z!5VtJZUQ^4M)Axo1hTQqDF%_@v{>0GFG90?^F)Hwxiw9uxf z4IfiZV|zk#Z6nq=_UzlSp0Kpi!zZf%Mp}C35X$7>K{5$WIlwS{ImJ9eRjyXMgL2x~ zY6=5wI~Hke-VX;BqbyZwc;Rq7CX}BMNs;VjA0r~wXP zxlTECfDTX~dAF2K`@gA%J^%ybPRTy%Ro5k;Sm>7#5QdRp$4OWPAaDbvF?BF58UR~$ zuX#-^xY_gx7+8iJH>zVtZmcR<1PUz2Ni2KaZnN?>AX&%}7<}F=;D@A;J{C$mFEakK zTp4jH3G~4lhzAg*1|byGxCc+F82hW9M-eGSst<2C6F|eifkeO}?a>wy0|BS>VXNAu z%UNJ1gbGxLL?#JXXS@|=v~hOGuv{QnV4&2bxu}18q=vPy8{U@{p=G!jhV|tz@k}m* zFmMXpOLfWv0zqC-RtH2$fbb9ylRAW@k{asia2+5W!;7Ve&_k+4hcpNS8B0|h7|Y0= z{UCuZSI3*vkOeD|W>mZTVqjLx0#Rr=k7L;D`~T3=aouI1JRGW2h!!L}W3!#}CSd`y zqtCIRz>pW06dJipxIXkHhdZguu-|m>`QH1!p>(*&&}?n`TtFd8;)!9TYBa`@NSPDq z^DB*5XIQL`3pBaKb3ga5og=y>$vru5Skj#59vlZnZJ5p8vskC+RoOqfZ`v5#dy(vB zvsmnV6781ZG5tP7_v87Uen=TO86znrre|0vL?fh=pLTzlYak%5txR|5U3O2%5&`cf;lsU!JL>4&v$no#R&$l@eq(F;Co*+ul+w_WFb;c2uU7l`AL#}&~b z3t07yKG*MWM#^_Nrz^-Gq^r0ef?a-IY(!ud zC+s^yR=X}r_K*56IiS1BYyXDdEjvDF2TnkbfqS;Z{LD>&1d8b6-K?b$)J^%xBWVA? z3cT5I3CJNm(C4VO)8t$_epS*|vH*G!B@?q@CNpjwx>+sUmh`KgyY{oY&Ee7c^95$a zdjy$E*pLE62xAl3BxsUCWQ0$NsuRFroUk#lS+HoBHKLhTkS{S`qLhR!ixDWGQ`o7H zP>o$~q7i@+B2121Oo+bI$iI7HpzC&rnd1?k5b6_ADkE1!iSn&)6{NjOK6(YE~Z;dFPTg+`>z{pI%!^= zrayK%-e8vJY`E9r=8 zX}5-YJK>Nhb4=iJ$QTvDwO!I6I3vWXF{!7FiCdn4THgAvl`L+ zisjrd5FW#2JBTPQ!*Sl0B+qdTn{a_FJvfY{ufzc+h)hi*Eo_@|UDNTp;fhMtjrDSM zv!s;78=xz{L8C1tyVY7vqv<~eU{1A?2GvQiXgqXy;8Hb5cS;k3NUG9~A9){*NKaB| zMPjA;Ut6yhtrlR~^>Y5$c=|0JYfHWd0(yUhEI?=gkVX&C=QzMk@c|`Jiw*z)3pfA( zFw7tlB5YhaJ3=&fomT=7%RF=q-;=#EVn)RvO_8)v^e%xyW zI|)u@4%=#_so-i%Q$4rxh601ytWo(cUQ*-c+*{C-a4WhbY_Uk_b|0~&6V%1`goNAJ zkkS#`9nnRMZrI{nmdLcRy}XqBUMRsgEl2M~GAuf&L@sa;RQgVq^;wG586y#rLC<@C z7GEi6XZemIZHuJSbf+{t);}+qAP9}dCXLJvJ)58?nEB)tZTp?0OP4{ZJCA%}9^Tv* z0Da8iiAoGimFo=IIL~2>ssRY37BH4$HY?fGAgr|tYrXso*&N#0(*YJ;nObm!%B1De z0WD&IvSVU1@fe(NM8to6hN6}$RdIu}`{>Z(G9s~xkQiOvY-f=3G;jfZ&u?Z><6P8u zj}C#(&W)JRW^_5N6Vjw-y8e^Zo}62b`R94X%fz`A?9I158@GOpH&x#Oeihl*5zJNO z3qHMtP-s-G!Wx<|15gf&M+bD7yqt`-Nyj3zTe(29iaG}HS*}RkApb&#C*a`Y3CKRa zg&6t7NYoL#r(J8*#_Jqi#1R1S)d4TPyeuxT#iA6Y2)IBpq0ZW=*eq!FJM>H+i~utm zCjAZ(PmqO=Rx4LtOGl|_TVvDQM5&%?D&o0&As_jr4q=+iteL?}?>i9AXt6vLyUR}+ za)gg~6H<-a=AIe^j0?dg4hV0TZN%*bB%G_YKels?L0fUFyK{!P~Q&9 zgh!W#hNj?4E>b1GC+c%0a=Bw*NXseT}^@Qt!s=Fuu%Yt~TRGvaE zpBagtM^hVe<%n3ABGkP;r5KnP5D=0a;%ngarFT6Xi2h1)RIMF)KOH%2zg9c=>vMfc zBxs?`DXnC+JnD=d7RuMSMEa!~`9CD#T`-{w;G-pa?V{HzD`$laWfsAl>TbmAHH24G z%1$b^+pXtv5`|D@Ep%(V2(rm%$LN(g)8nEXk}hZ$@? z5T-#HGwvG421NFFfu64>YFjY08XymY&LH6HVLk;URs&1g&>o>F6VIcTQo=IgvTuL4Ih^Tk`);s9wl~+#gcI6z z`8zqONG?aV9)(a6J<03X7Yg}(X@2~F7B^QKmP}rL2dA(YY#>}by-;nAj=`R6gFf$A zi`v;Rht}_lRMA@%yY*Y6`516jpVG5odxBp=>h2ecJTn6I>UVdW$`9&0g!E;JmFw+Od7~%H>u%b5B zTYl9Da|jp;uO)pg3f+|(o{pgT6`O)F{0JyIqitDTtx`E(V1uSwl6$sKPbPC)-Eg}m zw0G#t-v<>A!--gddTvr#9O`z4#GHVKcaL#BxWc>G>Jc{yuG@`xrlNt_nQ|6ca!9}f zX}qmN=77P?t;kN4|00;Rr!`?!Vu!ZYNwR!7$Fq@5S{jp3@I+X*8eI zqMBeoh0sf{;4NBhb*c4@6|R?*e`)AmAr-D0I)qygq~u5Y9X0Td&aY^dQ!YxB+@UtZ zuwd6c4Gya-9YYB14&<(USj8>s1W7L;yY5#Xk$!uqE7yi%>Jc3R6jP0^ii>+*ZvfuG!3 znQtpf!ar*pxx~(W|5Sep-L1ae5U#GGbB1&?I0~nKv!=@QMZldOYpG?ypuMS`SC9hh zt|294b5$VQWxFlp>f!w^WKIw=Q%Gt?1LOC&Z6@bB~JCZTxG@@d!IDKRdui<>3q8xZ=yQv7_nWk+hJLXDD z%`FYmM4iy}#IOKa>VKTgPi*M_yyKwtXmYY!KOtUm;Zd+U95xlZQeB!tY{@c4v#phy zr8cGRJftKCq{gIJ3{&EW4Dv3;2>xjy#qTi%ICWaj<(+ht)%N%l^^0Aiu#Jgjb^Hfa z%e|(S9bT0h2=8dKLuH)H?rDh18sKVp%u5BTX2Nu@IBrL^PwC!11jJ4)eB=H^wKwPd zuxTTK>*9<}htk2Q9ZWBOD593a914{|IQ?d7(y%)=+vfuwWPKBbetSLb--pssr);Hp zy&r(9p8j&oJz5h7E;$G7LTCC@bgO`AECKS5ZDw=yBs#$dI3-qA8B8pnE-LLJ$%ld( zr~JDgx#$DyvtpVy6(1$;wVJc3J(r23$C%9}bcoN(g!**Wt~tce;KQK(q>sk(aj_ZF zMp6}2ff#omYtG^lCL|vdzsHkq!I zYXHg9+TUBP&;b_+$_K)43|H#3@-mD=yp^CHW>JJbBqaD(l6)$vSUSj$b4?7eir6d5 z(*2#)gN0dr;?br!4e9#{@sGPAP|~2@q;a-fN^J||!lFWjCI~+()qbI|?_b<+K8#=~ zt5I4$6Yu2YUG(s5axV9X;wIYDLP-+0+LFXGEiqL(+p_{|Lo}M02bz=vDG;759e$C* z%n-!TZ-Uzq(-0DSWiS3-2`+OK^bqB}uq@)EDQ3o=482Zq zK5~n~k)OHp@!l>yM6uTly_TWY{;WG(~pZ8k^}KI^69sMJ}O9mR$;0bzb5{$n+&lfWw_n4^1jc)bXlqX$|jEL1*f%d zJszhHo>kRres^Jg#CY(Np!w%qXtY4p>!~Lv9Zf{4tQg0m2cf|XT-m#HiEybe`Tktf znDrrbfR4bl=LBj?Mw0aAZCad8j%;yjqPaoTieduKsZ|c;E7ht?KPH(Ce5ue?#vaJV zJKi#0E60|n+bDu5kICDB+sESz!~D{8JwspVW>Uy?@A@ge-%gXmXcX+k5WHXK1MLzT z`AVI)ZD6ZoY23vw_qdV9TWWiF+&X)qblAFR$+4p%3ifA6$m^3Zx+7?(t$Gi(x=og7 z5Gg%{Z~-TL_>V(02zX(ca$6++?x78~)^x}QMBP(9QkqNn-D zP5mMJP6gqv<>6u*X~tnpxEQmU$Oc=5GM+}?G%+~iEF5^^t`czUf-e*wW8gDUY8J$> zqU3How|e1y*fZS#5orRJJ8`^&1ZoOJTh-VC)S)1Q_7C2^gQ}rl>mWK-ltRybI5qUb z5yQetFk*PhPNT0U1X$~bsT$lc0yRpodj_g$k0Hc7h3CFXR>wXyu$~SDfSphfjE!axoM!f!NAfc>g8<&bS?>B?r#9D?XRXkY=B2oy=;(tX8+F91O1{Qv?JF_5m2 z&8MJ+H{&L07!t-wWfG;tYx=7jf%8ibO@!DO1pG9E3dbh#NH8WiBdRi}Wh2$V0WM== z0tKi1XqR#l80v=d$t;=AGsi@UTa?mZZZD9oD!o!sr@Pn%L#kzZ>Owa+S^L2JBDVZ7 zSW?A7q24cHN>iPhF?T%}%T8QZLF$l<@7;KV%F^^w%w zT!fi(z5Fx74*~YS8Y=1F4XJ3dipnOa(cTwW5*!eXrZ}9ywR8xmF6)mm#DJJmL6!s~ zqB%@xP?AId7hfL>{Vc%!`2f7zH9Dt5F)m0!|BK|=zb|;4^r-O;#AQ?o2LtLog&k>x z85r7G=xDe&TizbZ3}b&qaz@87IWh{{0!-Y=Hqz!B&D}UT8v7hmGVP6CIt*j<7X?=! z(3+ICsud^&nkbA}6cac#n52K{GE(A!k@6A&$dhYXR}r{BC;N{B@@q`Q!UT}g2N&YV zH_^48bB;HwlAZ#(D{7xQWMzd^bZwo4Y<14^M9C?b-ObC3YuPwgf{o4O-rShL((;2q zTTGRLTgVf#$cK=SejQZ&o4E6il?Tsu%sb_g|JDI6mlaskC&!fe;Sb#YQ z`NmRYvXNmdOd?A*FLEj)wQ>G;VZG}KlgIk`#rF_=4LaHZXc1(PG~#kF^}sM#rQhT7 z%H0SbJcIeD38>R7!d^A?5tM^~@!tcJ2(MVNH?fQn3`F`Bt7cV-xf<9=QS&lRH(7&>N5HjbzI(!G}h#Z^O7&s+%Mn){DYIv znISpQ{~ioc3+m>CPz(vHobT4E3PE;wzEA=4 z9$n5k=mt1HD8Y3+Ow>bVI%FgOUt9ca;Ue@tL19O^4kRCLgJjZyY9uGhR>1-cfr5+R z3Mp$HXXa=r_VC4+5Cb3=*BanOX}YG~szaJ7#2FA2+1T|PCqRqSPo=HR5C!0BhRhDo z5CNV8b-PBr-s<;Xd!8PWACCAxJUj9{R^s0Abnq6s5C4p=wq;`_=r6gjf~K)Z^z-R! zBgq`O;XahH!_am-OIe!@x`S(tN1yj5md3&H_$d>JZrQQrn^|2J#80AhobjOJ`?u1gKpQ6q=w|vo#BX5=YOkZLq-*sPnX1c^LDm}SiNFv#y z?omD7KHc1XFTR0f{`uwOf?nDD%|ikyFt>x}{afBkh9nV9DgmYLx>|4sKl!(3vH zC9D}bHjFuoc9?kdBgSA|3QAC)JJl*H!YvT1Y8g3%7IHgjjDyv>4SaPrkIC75mtb?_ z7=yzB6|S=C-)S{BRh#gQ4`Dw7m5OZJe@PL}MXmlMCs}@21)X!z{S$ezo2PAOw^Bve zHKHlOsnh{eQw%9u6piM;&&~C#W$9>QrdH*C$WaJr@YBC3o+i{f)XiTQ zWuPyJLOvT?anx0P64s_$duaKI_&B&_T36U^+uE!8qVL!mF(D1)THa-!f070ypm|PX zgwt`?Xs!)FRTT(oFharRGyI-~FM?N9UmT4fWi;`#bz`f%WPR0#A5`NyXbfek)uWw# zT3NNZ)w75eXBO#nP8#=`x$k*&+Z-fr7;`<6=m2omHWRZqRkr8soAcQ7Jt&%uw;U%=m5fD@Uan5#7Cb(RO+62a`&!6gey-fLzrEWTJv3lNgP z#rWNS*oCvDo*<7YN+6hk_aTpyBTW9SFn}m^*FrxsyU6>_)}Sb%!O2f5AlTR5B?L8S zq^OS$&X4pHa3y0N!j@>d!d+nzxMKt~+l}+%<9qr|@i@77jbgZ9tK1xG%^D53Yue)B z?R;D?6ZyMMWu4cZ}P{I5cRrqN2qb~`80f(m<&EH0LnMvybP)aWTse=CXwu5CO_ zzm3T*Us=n$x21Ru!_zZiCkQfQyd!;HoYT0j@9u6FWFEz?hiX7Bj}-wp7Y}x+7;QXs zfXARKLtTB}b6bgtZ|_D)Cv;hTk_i072I^{KbZht;g3Q|TQ1LRSficjpgO^-xCDW83 z^8*U(+|aHLqz$V}215X@a|1{^e7g(IaPVsi8?u&HeEj?h=HcTTNk&z!1~d3M%C)zVDm6= z1LIHxMF+AL7>W6ipxnT$aS8qvFq*JyU!m2wI|X2fZOAJpc@vhyWng2VTY-JCf}Pc; zw+~P5L5qWibBt9zmBp{_7o4im`Ue1ide10fhwlx6&wbb)@6p0Oz!n~I5#)6V=+1dE zb~G?xL?2B}0p1SXJI?Xhjs!yV0v42GkB)bbJ@Em`I!ZB7Vmg_bQU?oXVSckXaMPhR zCy1}tSyMTi?dLV(WWAkv`>W^CdM@x%0Hy%WRKh+IVSU+2O!aJ-Ebc)Gs{SaX`^>}l zfLXOGr)^dCE)3d(Evv!K5A%IYr~E*;SIakub8_!Sz}B~`>>L%J2bpdV7uy_gZ__se zW#npli>>;jx~d%H8J_R0f{pUnGF0L4(2h#ZQIqtRnGQB}zO;G?Sh$Z@oI6hhE@Kp| zh1u4G#OqdGGSyiX$97LcoZY3aR$(_Zj*x#N@FY3+K1ND~K^KX%P-Rx8Af8c1aJp)e z`Pnn-C*mQRUBapNjHgEf=LC>5FKowl+uBFqS!SWn=(CA^1nzpINOOb2;{Y-B8$KG` zrA@Xyr}xWPk&J^u7%8Rd!6vhGX+-1lyWRJ*u~8&UOgsrQiyuLKcc8M9 zoK6mj9X|aO`Be8{j1lhP6iZvzIah8JO&g*ov>)jV$AG)Z>&$Lfkvjexy<4XSg|inz zPNf9Pz=~F@$Ip@wjE%~7Nn5X{Mca>j2tTqvL1Uk+IDabk9HaRPSd4=YD+7&t!7X5)1KY>(Xgx~XQM~NfG}5MQ%H##4 zm153{*-HZA4xN9wOs5HVyHrJ87)@9lp}U-av4c4eSV=b>S=+Tv(oEUF5m6$h7I?*W z*v=FIH%=1ls_c-Ko!NfLG1&%TxC=%>qAuSdaIu6@oT-A6R(bJFSS4yp&b8uU^|k-7 z>8#4WqczsJ3eVBfHnLAe**71&;?Dn-_DQ>sG%@*+)l!n{1 z)4(%)OP4=(_6DbN>teTXzd!VsU#Lv00ktUf&T}|*wm5jU)*E%S?L6a89=YHCLRvHzLciqlndd^HNdl3Zq6iiufC2tP?^-8KQI zsL3bf_adoAaork$VB{~cL|Uk`n8A2*~c%}+{_e!fT7vnA|)Brk~YuN`6pPSPupl_pgX^^+p}2O3+R zbPdzb5Z51D*4&lGJhVM56|e!3N>ZnR@d7bj2xC)jjVY;jY#=vRI+8evlZ~@}|Bfvp za7)|smLd5#i)dsczK-=emFOGwz|N*d%4Ml$e1Rg%qfl38*DH)eNaFIs{12hq1Q_Tf z`6Oq#y(Ez!4Bq^Z8V=8MDe=UUz!vnHr+tB-J@EJ=#KCs#i8H1onb6rdlU1jVE%|^WvaoyqZZtAzZX0=Kz;pBi(D?L~=uG$hMo5w4LLjhZm zg|d^ct7Ve+o^t%OK{Ri3+<`Xq!9NAU>#4g+j2zAOXV`J<6U-w-4)pEu}J5p!3<0T5H87qO2T2Xc1N^l1a7Fh7s{SOwOOb`Qd?P#&G~Z0Q)D`RRU2wDL94%7`5&~*8 zWonNWnQDcd(Ei8TD^JO4b?An5Iok8KqRu5)W0oVcp>Wc5d8np}b)uz< z)leU7KrE(<<2(DQ1oO0fPm7Y{P_rS~kku|i4EljTh-GS=++_;d#w2NSL)r+kyMIu1 zTIHqR7q9`PowtX!Ix3y@n)mxe_($zKKL#A4c{-QXBh~kxI`=6s8VA#Wrm#+5PkL+Z z^AWuEG4ko<>`AqX+0VMjn;P$CM>`rRmk;)~-FRl7VeS*d&wR+x#R}O7R{>F2I@cWyNVsM5tmg?)uULZC*vBVV z?i@OKsG`jt(^Nkx%s20Om6Mtkh8$q6uBIBRZI{a-*XCKk43Ag$>`=9#sRvf0uCV1I zek0^qR<%~twu206Q_O%yDO6%HVA=6(@o+lRkD!_p8IM36^(z~PUs0&qtnjxYJscXW ziUoc+ij{F0-p}P8Ax)sNK~vvBE6{>61F$VuLDLgmruIyjKEkOG&v|`(a_a*0#PbX7dT zX?&tk9%)Khr3<3>Z_cRKzN@}$^X$f!TGg$4r4A0cSsui%{QQmVn=UwNOH_vl7!+jD z9?czjE+co~dT|E_cW=AD&gkRX@cWh*9~{S`mGri>=<7KJXh$L6>xz;cAQE;J_7!_F zbOF=I*dt^qMDSfOc+Tr_M71ulls0^K8w0#;M4pe?`cw@qCk7dNn<0U8 zT?e}2aj-659`x(tGjIR{t8ymY37^>D*Hxd4vo96wDZXnzj~XzRo+bE7$AzN9{18s z6;2loc%DE5Y%+@kc5>E7BAGO?W5+-rI{{kCg{G>=O!@^W;F#;ryLKH5zR-bxup_+N zc>jX2P~JJ~csQD1Vi27OfD9pkz*Mlzv@z>{Cu!36(Ya0)Mi>Ab7ikiS${&ZPO}&Iw z-BmVu8dxF1TIR{IPQeG9Br%uJg4zh6;Juc|RRTZL`e8mgDO%66W6Vn$z$)MR{pb58 zQ)2=iI4pR+-(2oIG1nmjtHuO%qeae#uf)^84SsklQaX`_Xe zJ=k{NLo{ucbjR;k7uhzqupUBlx?Xj9x&~O6yK{=k2$`Yrn=Pm|=x!jn#AE$?KIwZK zxsnxxMYTcq`3{mw>EiCNsLpNus{soKt&+(*AEvMcNdh(&DoV&OkZbJ_Nagd>1J$Ff zS~{(?&E36`Yjk!lK76R50?zCs02>hPXJm!r;YnpGKs`~>gKs@v0D*zR9bOq6hDH*U z+e_|ffrDy{6CB05i$~pE*hxseo=35t{JxtKOusYA7;valDq_6VU-J?-p61aJ_M{gW z#QzH!dy|P~6VLta=(0m=GIx7uXPE^3cF+$xi9-Q0dNnU^0WlS2@^8_7^Ts9S6F%u* z+$J6HkNmTbm)5jLB>29J*AX7J=Apsr>%{4CeRW6@+Cf_$vY=DBu2I8>N{n9~qjVa0o+vO=LcOl-Z z3zuw9RPHac%oJjB~^<;LYe+)hhqcQ#?JSTaCFuV*rf4>ye#ofCv zqRiF()l)AS+%8wTZO{VZA;W+=)$Sr%g;2&$Iw)fLj2(Tc(|I$4_eS^>Z>Zdfdmj2d zhKgLBFVt8!4{e(PSk^2+3)lBNBKxka>+KX1Otd^AJmh47|K_k16rAV2lVMd$mHr7W z0^4JAL6l`50x6qJbHX2DwxG*u8EcG*_^7eg#<08(F5%Tjwm~MKuy@9n)nl)PzRv_C zBp8&2BwOFTdsy#I2xdjqqPztxObyAkUCR)eQjIvd<|~qG`c2X!Y>_-VuMj_*`lPsYkFbm_Gof zxAF~Dz4<|`&@wOog*M;QoLby&zdQ2vZ2MIe3GC$;dn|6L;rcpf;8Vyy*qFr(@0?KC z(m!|lwPE^AG`i4Mp*pyO+(MJPBt3H)FO0;@uD`6{*{O9?2w~(H6=0Ho5XgEWJ$|VMNOe}y)nFb!%qTwg zsu`W2eVdi)?*hQCB>L*cD2qm+m&}X$-5QFsK;>-+?%J3}O6hbB|LkV&CAh90c#lX; z%5yTY=JLtZPT^Tbz2hzC15mFTU8@yz=HWY90moOSFyGzO<8rbRL^W?rZN8Qh`SrZT zTaj%!@eIIH@ypOwAnt*9jHbuW76>_y&oMNt@hVWhWZ-&b$~aadYm!#m!asHpBK zam)snC{%9njh_fDO`&qDDWK9A##m3JjF$%UrQF#D9&oK<0%(-uT@FH%WyEu~##4Fb z$x&BnU?}ydiPkhHEB-Vx#zGAAE8jYUI2;%G%K?RT=Tn+l4vJ&#`Kcw#!yU6bZj_Ce z-6_TthogkDRA>R>!ttagSW>Y4`DiF0~820j(W5Rl*kvT)+Ck*L1`&;INTRIQw)q; z{Q;(Ut4X(6>!*PKD5AjtQyo0IM)vYCg!S%=TIz4`Z3J=sFP+3ae3c}Z5RSG@(;h1W zB*Z*||8jinuH9%IRTBG_pQ4ugu+affvw)I=CdBJyls#+5G=jOCVb+>f3e<0|+U8MgEiTnLWI9&pX@p)-n6WZ-4Lk#XW13@|xt_OC zb}C?_V()s0U9G?vLwf!k;>gi5lf!0;oqOzQe0V}3*Xkh_WXP?5`@g}gNLqUzePhAg z-@$B8iZ&`K8<6QSBBeH+G}+TB)IEx`152do)3pIKjoubgUCuZ;dYU;!9L(=Y$A3<) zxMWH5(c)rtud@s3w83i|o%<|Y1};tQk7(fUspS`Q6a zFU@`QM_+L(;y&e+dZj^LrD<)W-(~liA9=-`h}!`D=)}&w^k$0Ogxmmr!UQ?en&w<1 zCBxU;pQORwtm1nXw`z1_TOg%CtJ3-}FGv^U9dMsopA^I~Vfo<7K%Qc*s0?rg(^U+U zIFItoH;U#uggZ+Zis1ae4C~oxDQ7G?jnEE8B)Xuv_c9&9&sY4i6e>E{8yYb z!FIT>aVTe$Ad=g_*O!nKu58vRDKi#-nmGrb%?@K z%{Z7Ero{zxTg+x{+HnZ?@NHP-@}SZy3ua&tbU_S)YWcLkB^w*i_Umek- zXp6zxf&GhLUI5yQks(upR1hRvR&2(0B=CK|C2g&2ekKMPuGxSG5Gvw<-?YEI0m5V# z(x@5vXURG3-YQqGMxQaGsy$Y!#V4QD=}_si=RWFp&=;G&8aD19b0$RNYQ%G0jCt4G zvfzfB{uS$<+wM3b&Ie5v-SM{6%M)T zybGqQP^n7w^<;SCC~xjEwRK$#1OywcAh ztaYZJFe&Rb9pGn z7YIdSiBu+6C{=2WR;M=@O=ipQ!Cpt$;=g|Z)2}EkF4^1;kpHShnvp&08*_PeXxb1o z%R2NUg)@G218c{*VmT*NE+-Y|wJYEvE5a#bX(j4yb_ywhR!E?ViDV>|n4*=1l?W;V zr`q$5DVc2qhBT($zEov5j+r(`-m&S~_KeN5o!YhpcfQwUg)Yv7Ba(K=xg9Skhu#0g zmCKoMeA4xfFNNuI74V@$;)ki6Y5%FRMFBC>>$AeR&sBt^qj;w>4`WOslVnUG=fQa( z4`!5MHeHN7Z8UNGy|z_K<|eJ?MiiSasKBx|N|}=*;$TUk&)mJbfj-z#cX!|#DdFIq z!5j7%nEr_XO*msRn@Bj(!i!q;LJO{#t#QP~eC-NjF)_F@v6|4k+BECDKjFJ~VZIbT zTkyx^HwgJ{o`l=|!A8+OnfTn^43+$c*aAWn=)z{_RsgZ5S#|4_W6X{=WR~0;|0KGe zJW@N}AMQ%a<(y_*-SbiAC!Alh+g5n?u7f2!-^MAs>UW*y=2`5lTP`P(!oFb&FRQHh z_NE_)oiR#2(@$?M?`oayuJ(0D_c|hs>yCLiQahGm-MO0)?V8c#*FoGnJ3vyGXolLe5=JT`E&^32>;X>Tt0_ zfK-t%r8{iA_x_T)PWkT4A#t*!V+A4OfhH5QOq)aBb_kyu>5GdAdpx_m!rcs3*! zb@|@0fW)FMe}EJK0000G5fKp)iD-8nNs_8%0TPRDi$z34L_}0oRaMjXw*UqYyIf#* P0ssI2pez7L`~(01d$TWj literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-BoldItalic.923dce74069362d168fe.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-BoldItalic.923dce74069362d168fe.woff new file mode 100755 index 0000000000000000000000000000000000000000..20ec4ab2d7429a9428d9086278817ae2b1f05f7f GIT binary patch literal 30876 zcmZr#V{oQTuzh1E8{4+6jcwbuoosBI@5Z(^-q^OevF+S^x9a}8Q*~;pyH9u5bUiau zPmhO!xHtd=@I5?p07%~x2$AQ1(*HNa#Z~3LdB47Gc>lo_ay(i>R7@NI(Ejr+vwedD z+zV1qLQz2l0MOF}0C33x0BJ1!#<4;P6*b{+-Z=mOY6Sp5tjvWKtthB4vV138`1bqe z0}M-Tx=Bpzj2r;~NXu_tG5`QpV+Bl2w=i<~)@j#$bD;mj*B1cH!q&?i06^dZ0K{Mb zfNEJ=dXfiAGb7XQc;9&e9RC3{^Z3m2TluX^_?Ah(K?cnUxnODM>iHd?3IG5X_zsu$ z_qUX)t%J!o5BmLE$NLS%QMh|hJ0s8UydX{AeuUp30(An&*c;iI0RYOP-}2#Wfq0s-2 zqik_)xMK(ap&&8`7lwp{VgiBy5aj_q|7$mQHec)iJNEZ)Q+RoFU|>F!Fzc2XlkxN5 zFK`SdrgINN#gVWZIGX4vY%FXv|3;>+H^L#JVddd#nZQ7&23p0q8;%)SNJt1sa{yx@ z^8RBfqEri02mm0hS0@+wP2{~5EZcl%{)ZgKGvGz&lnwZ+bS>Po}T=m847TMAGsizx4zU?bdsu`dob3?6!NqE;45aae$ev9 zZpRJz*APEL%ZYy0LIO*D;c<##PDjh9+`g8D;|gF1gRR*hacI@LYV))zy`Kg|R9)_9 zYo!DYJ{mueQ}`a+?g45Br+zaj)0_`3g?tz`HmR30ZyMcT)rtN0D!2lI%>pAz3Nmbz z%B{x_&ChTA_g+hE?Zp+1oX24Tv9#UQi*=F{?B)x3hXF-7YA+=O%@hP>3l+8LU#=(! ze%%u&tc$l_l}l~4?32u~4!T#`F3r|c#>?#I0eyb00vN*vcLrDccN#8bqz&_L>UY;T zZpFS}TAuibDn2m31#YYwjAg1{JtVh-qGDkVA0_AD6-&Vu&H)a8{WE`IcK{#lvBT_I zs6q|Jq<5D)@hQunk{9l*j5U&&Rnq*-gS*BLZPkRR8+j&dYt1}yP z*nKwS4kJfrI453nZ0mu4ns?~E2Db)U;F3aPaud4hP$}{wIlJdEuo<0uq&xD;G{>iRkEU|I8P)g8pW}w$JsF7M?p+06 z!=HyJl|}a|%qfe}o~h5&JgmI%ZzR1UW?30TKFvOaS`xVJOs6o~&NiK8z6CTltm8j=?1A?l4SeiFzl!)(zH=SxPD5BN2DCmiYSsc>{yW#2 zlTK9Pl(2>Zo>Us5QKa;b{1S?7kcR_C((*>$Ypcm+lsTx@);N(+O=r(JmR#>;5Ai5Ab zYW%5`?Z0RJm;|tnz%%Qa|G~CkU`c=UzUg0fYKq%~=j?pvz1@U|2ryw-+oS&dq)hoZe$}Ib`s!H$mJYv3{OYoU1#rF#E`U z)p+1`FW_I4uiL*EeYE5qi>n))-+4Lox){ButLxS_sESuFSF^QiZPC)Hj#bY~wUcWs zs2cHL{HVbBx)4MZEKFU-{!~VZDM`LT5;rMD>Ryu(%$g5MYbs#3vy|a|w^D!tg)Sl$ zaxGx(btMj|;eps}dfIH}wU_mtN!AaU%@(*XCfpUB0fNAr{s@jVg%*i4#_Erx2t$rB zMJvSa*UZh=9AXWOlr?5ii6G4bFJXy2Axjcvp)N`i=V8qlr87_N#XDq)f8hy)(-JN5 z|6+(*k)wtxKPZ|Sx0-U!bJ5*F(fBi=R^yawZLcUo-}-0N?$S9toNos?-VCCRjyT#@ zYYZ6Zaa$~bzdd&JMZE(4F7s@_@iu_3Fv zL3{f^Wds=};pb?|V1sPhILhc=9^QVWs7wvo2#yx*@V}5M(?Ysb+tK`A{O3h6C}XR` z{*TTP{aI?gPV$O_5>hFyOVSNRk~G<-VMS7NjJjjPQQzMreV?DG4IBV)?RV8w?U!d= z-Mq9mC2y0vq`khnYGJW%rBiBG&7Mhlci^35%CekFwoEp9N0uy`L@U)GXzoltdLT`q zkVH0`OeU2?7Ju~eL4^kUEC@CzBcr(uBttVQG+5k81AY zG4g9b=9nTdQ)qNK*L$RX1NjZ`{Rxo)z>5H={H1UN^;P|eo){GxB`nsqmkZ{snnNrf z);QR<1F9RrJ22_k`sZzf_L4S!SmiFMlX(l{D&P+3Pd# z7x53cA3~A|D0FZf;KM;4#0pfXr=d!_f0!uwP)9|Xm9$gPFCqyBrJYoBFpdU%_Gn?` zj8lFjg^-bJCA}wg1~XwnS@bHS7fLI!YqIO8Re4v5SB#$4E)JfC5Sbo?`*hd&9d6g_pX{y&hG18R?jyQG(&OA>4vX}}%Ro;p> ziYBY7@)g%w@dai#@m!5xN9jJ?Lwg0VHWm6j#9ZQFe1 zz0gO@=kL_HQ@f8PZA(8PMY5;~qDo0@FI$x+@^$s~F*_jS0+aa)$3`pdy2(XAGhwqJ zcCq+G2GbM{XAJqiNO)cU0`irlN0o7Rn08l5&pHWigC4?**eqyz&h z&orN?Jx?S2kP2gshpP`M{H=MMwX3|ln~z)GKtDR*Lio#&ANO|sRS*CM-H0d$T#77$ ztzPn-C`zkZ)-=;6I}?)TYo;RoZXGuV8cOS|4+BB5Vnx_V19p47>h zMDG=yK9GjbdxK%&V$4g1sD(GaYC+HUoeOtiyt4QJjTUt>-OXV}4Kb!p z#oN^R$PY~)Tl>Yz`lPQXrO|TYbM^Ig^`-x_!FH1WXd;u9)nbYRew>XN{*}``M~T@w ztX=}QP^pQ(9VYkCARqxBSY~!~r*(_~xh9t_c-lm4#Taj@ z>T#;EhI8>K?*88I(DN@F2M%uXB=kB5mp^<9W0$mf)G7oMHuTYwxwC$MyHC(EeVplh zzDN(&-ohj6LcSxbbAjTPg?n_|$|Flr9xXZFHu+~-`JY!OH8U!RBpX{cHti?1vTA+GGTYODt$ZV;?U!!QJQ0v%e>;s*Mf8J z;UI{(ZbW;@b*1jkI%XS!Prqg7XTOV~LA%HEroEVr!-CMu)ejvv^zpG<`WtTSmO=81 zjy_JidDg$xQKNSi`{#|aT!j|0vH~VhmsZsFF^rnH#?p-d1a}?V-#w(L4T6^P(vyRX zMO#}-oiIKAM_;9p{lT{PM7T+&lQQ8NwjDltsGZL*-2oY7IdMR~=}V|JBDAldhwizniFFepSf#IiZkIoX)9Jcy%(Q#&42-=tZN0v1s*#_e zJkP`B{Ci1%>aLQDo=+`cFZnal6f@h*JNfdaPQQ|+YYyzGC@rZPbgee=?`FLjwJnNU zpmZ)#WsN~jOIH-ePsAXh)|A}QI6N>V@J2n(h3GkEhn7^-i7K4w{zv4xZU!xj&2Nvu*8Vu_*9!NX@$Im{oKQ9$-A9Kbar_r@_r|J zhyBtl!5iuTeP+&{s3%d$3R|?gXpvSAmFQ3w6W1;j?y;P%kcuaEXnnYh7^{HvPb56v z2weNbFMf_S@G~4~^E18R+l4BrMct|aHzoebJ3*ZqdA7j6#LCwW+r_&9XCuYZ6j*Oa z8VH$zhZh4Qgbi~yeJtu3Qg{C4E-ARM)E3asD6n{gfMZIp34P45$u zRf@}RB48__aRa`_c5%0P%w?H;6;slFFP`YN><#g_zkgf@Z{pT;baEDM8jCu;cNy^n zZyEyE_o!-0Sjr$oqeGlR9&na`4?Oo_VFn&3_=Yx6I+QggHrNSFlru>nCgotZK} zY=n^JyU=Sfo_qcs;|;HyjPQD|Y@U^vj4`*_qT$L8vuWa=voX#UbdWxeaHWLA`54;& z`pkp!r`Xq1&dSF@*RzeL38oSxhxDzZ_1=Gv!`J$Uu9a0iI@&haHkvsqrL|tp^207? zxuu)CR$x4(=AUZ|e72c#oBzqGla{tPw1MQFcpW%We67y= z_=h!@saRe{GfA5p*)1{M$nwC$W>TO2NKOp?9H{s?SUzZarXhk(CJ_W6ls|V3vW^9pq?U53L7=Kt;^FC{&Iwc6E)9*oLTcGZZXa@Vn z+Qf+zk7xozybaO6(E->N>t&?bp;{fimgLUCYp>&5({8VKuQoDq_DW-5apnGta5Y+8 zISN$CDH{K|EqT4#lgJbP;vjq_9$k2+6J4<#(aT|Rne2!nafgJXIi#ovL_Dd8^PokatsZpnLMfGUwF0Xdp zen^|lv#f&h(tDZPmU7!>W_ea0Sgj=%vH(=u|yqIC13gfjD zy`I-r=9y2*xca&^+0&X5Q*a9bLrb#6q#nm{c*cr(}1_LO0FM3Hm{`26X508og^hTi~LYJqua;6}cQ`@3U*LVGr zaCr5n@f3qp*1BR^BgDntldeI};mFnk7!`8AF8m+C0v>oOd!nji2Tr|qf=Pj?r+yQ! zV|Jq{kXRuKn&lY=kln9DYP>EcroGpS(wkh9cRBu8gML!DnP6XB9ysL>rtP1HYX`uP z<{z~nyPjFAMjFC+udRtlSK?}vaSxvd_Mh(}lH*_4vA^e*4UP!+k)nNjE%avg`>%cf zPS-2kF{Z|(z294N`u1NP0fo$tcRaRd-9Xk1#E%rPSd7(Hp>Zx4x}mD)y!}m;$vo@7j3<) zX!#j`k782D%;>{{mB+}hY~@&9VSQPEhT!)wb;fp?;VyY7an=)u7}8@u{%nT9=6O0V z<8_8^cYbr3Hqz|L?u6{>GptTz7Q%!-mWhi;cSXgtWOgD7f1WT|&eoOC%{^~4amAN} zTFroZMa=~B9CaE?1*EEEnI0GS#_9FO9h&)^(NtKklI(1Keip?Z{=h)J2apD zrrsP4aG?p9&FPZ{<;6Cf2I&NE!DrmvGs2|B&C%9&m50B?9UXVL2AdQZzY_;xiTXiA zD$Du`X&I(vz9dr_wAJ|WyAreI(T>Mm<;!t?FGzZL?88Xcy%miueN8v7 z`ziU3cE;k-HTBL6tX;S0crDS7fP#%}OWw*jT_Gisjw->h&>>J9(G{6HRg;u?k2QKR zFMLjThFW62J$ATeYo(boMG*IZrqcV`OijsUuy`CV{h^w-t(KRZyXO|d#h-y-7#@H( z(H*Oy)v#P4ay=S1;Zurl&ZbVWYAB;yMVbhQz+cR-#;@F^(ZQ*joYT-vlFPqbD?e*? z)c#_l)Wh3KPs)pQY)T|BLB5ir)bY1Urae!FU}=q^lCZbsS_Cd?~| z)LNla9xH|F3c-_KU;(+dU|*X)9(;xbtDG!X`u9`o?+0hKA{q?*6avA@$9RLULbu(C ze&>y-W_unLCQRbke>9$bD?Mf=rH5z?hV1Z_HJ0^Nm%2)Ngm?7RKlsReD?k_uJY?JG z>7%JJ=kK)!ABd6l;n9bnu201}Klg)Y7uM6fW0AsgvUhp;`g|J!d<8CCV8?hKlZ~lO zyO`|ZMgrsD4YY2dOs6=#a4k-;->(X_-jpTQ9mtu<(RlkQj-{V-5beaMN4}Z67K*B zMRC3_9&gJ2p@>)TcHF$?k^4x)O52Bijt-NDR>HJtbg}y<@egma$58nscBK7N)nc_&OYUWV_-43l4mrY(k&igPHxw{A z#x$@QC1OtqwFLhaiLT{rtek7Lfkr4twk=vrYs^vox9}L8AxsCjVIn_rW*zM91oP+1 zlnsMc)Dc(br|25D(Ix!P4rsc5f`|TtjWeEkEuUfJPleoO4-etHS|#`|gs5K;7>r8Y|3j$CbUmiH0l|7EW9gt#OWnx!Nw}fpv zN+>PW8oz3;S&jj9kcOlzjuV$?O`Jc#l2L&OqmVzrg{pc=+!Tz!CR!p!7E|-V-DBh|6*R)?7Y$O8g%_1aJdEl2a zl9SDtVn$s2%mx9^-^uttRh71Wr`G#;Hrzayh-c-5wv!#}x!EoD@$-kyX@{qhz)W&m z><$7;PNVUH`BSp&C=~@;3U77+JEODC!Ti`}?kGB|&9J4xYA-|!{qeoDXHU;@5459x zAUxEa&E1`iQamZrSD4N}Oy1i;b+7T8)))BZeU+}96)97D%F@j!15uf;6O>EUq1vW+ z9dUXE%Yfn@r4CPYrPXcM^$mw4&Z?%y7z|TJje8#_&)`tE*Sq}o{B4A`ummvtJuQFE zSqFGq`ufp+X+wrFlj`S{!Bc!|XABqZ_bHPguhfd4$JWViAQ~Bv4lRdsOD%Kuv998G zFAu4IVl-t$h3$3CtH}92H6q&%J0FuCQmL`~Mq@vX^irRp+L!;V(A_i5ltLneAU`04 zU(crsata1q;veMd@o;i#yaS1|1ae$C4<6Hu>4J(cO)p9K>NE6$XI5q6saUSo(^dcxm26N7TCFDhe z9z#92X2&`E+Q}HhJ@UIenab{9uMkxyjYd_n>U@boCrCwtEBH>U&4MBwC)0B(H7Y$X z*#7-TxV`eYF+k_ORRlkN!$XIonYP~L4cUYk1#gPj(ObtT))U!T)zl!9o-Nad6$Uy` zR55>q)ATrXZ2HiArFCya4Dt!(O47Y(0ZQ2vO?4OEHJ~jWg90p!z}?_^UBs$U7Ezy= zGi0S$_zLU7RS|2uBKsGYPf7ZH2dbUe)63Y;M9H65iCbHwnP!=pX2%Hc^-tXI+^Bic z#!0KH9FUKtlBbiXPltw@w2H0%KLgTuWwu^4t!rD(*N?)!99-wSkllW#{?a%)qpc8D z&1`pw97;XY)J$*YiTd(cX*RcaXIW24FwnGNtZZ>#i_h32F}~K1!BHZ;#stdnsSNMq zH%Js{s?PE_7^&;YHZaWoz%9&HtEavVX3{|5(U?G`Y!_aL=G-tD)B`DC6;jEwHQoYw4_Au@Kt~u7>o<** zhG3IGt$;X#=^TN*bS=vftx^)?>3tx;=V?DYR+JcT&lBghpmsHD+`oh~s4!;qjogA> zoojbYm+u$+)b65h{Bn@{#Nj(JSf zg5NhzeS67?E<{vQt)4Va_O5tI4nRHHQAj!WI3j;JkGex#eek4YohRJ$-A97CyTZ(ig!&4S)a?}sLW;khJ9nB1VuQ?1 z;Lmsj(Yx0RZ8Lw|h(Jev!l%v{L^XIFsBW?d4)ALn{byalH5|81bFU<3C@8k{tR+kH z0EnnV8+?%G7H!fO@`TuV|L7K$eGPIO!;Hks{y99AC7i|GBM+Hyr5q~oHqIB2So-GJ z@X)DKOwKoCMEji8s=& zLC<3yJbt!Zs0j1j5I2$#UOmvT0@g?CUyi1Pcs{xar?2-N7%o3zeRC_8JYIZ&<@2H7 zB{ILUU#|rCn=k%#`niMibSiAo{IJghJ%_cj_fHJI?k2!=r5_L&&6)XYde~ENTB-aV z1X&JZ9t?sk>DY>Z3$H$8jOax=21)X>Qx^;kVBt+0MEBs8=v7LwROl%B%*xXl!emyE zb|2A#o7$}66oORPPhWJWe_>B_0nV7dusyrmF(99`^e4P1;JCD}^XM40%AiL)yw&>w zBJb%EIu`0B_y@(Oi4ui*>T1*!QKn09~aeTV-3JM749y6{#A?eGkdpF{GkbPmvE zIn1aS<+X*Q?IXxLBuc(#9 zY}-t7o^DuV0nW?KWQ(2(32}X;w5upgGzGyOH&O2R92W}OuHh>&Kv?VB_1KpyyvGP? z_>`Lp`-hUkZ07Rv%t=9GIO4eYThix#>2D6yF@U*j_ zdAX2N`I)jI*QOT8zR`SiFbo0V)8P($=OWCsiJHk;$*#0Mf1hm6w!)*~h2bNaLm$yO z9#{)Z8ot(U*rD=4*e16bkJ-t-xmOR0$4E-0Ap+%oKcL=$(+(wx${s{#_<=z)#w0+X zE1CsrJMqiS{m78p_dVC52IsYg|8&%=0VPJn5OJO4Xo_TOyHkb&uvRw}Bt9;>uK2HU~ z%XU1pRd%;~-S0iSQ1zVg#tQ2QU?M@v`(fPi<6)Ot=_3sG8f_C4=2IFuABynN??C@~vUxn@CHz{I`Hwt48RSrTr^PbJef;B7_K7Ask4$aM|q183ada_TZnZ6yR6IUe)KHQRi zr=faJOq`;JqR>l{jPMH~6nom_{uRb3&r?Z7QQPaBSzNnwWPz^U7&&ddiZ?;=xl%7@ zu0UJj^TB?n-EO!23j`)M;*{0pk2PpjNvu7=VVccy_io>$ZnGv-XRKbHB8 z+*q7zf_wM+bmk=#;q><3YbExHt#yBBQ1PwsADSjA#cjM0S^KVs`lvrpWj7)XXo*N! zqCSZy&{3DFe2>P^Hj*dN7y#BUqPx5wREEq**kcOp4_*7LIFB8qRg=cGZ;d7e@t?+C zyuOgV7en>tr&i&9;J8v9T1~ls`9WDkXIQOVtOSRg{Gdiz5AcG3xBTHd!|cwJ2*H}C zjkP7of6kVL(k4Z3>)I*8x>YiV+HsFyS{N8!KmH}!ROLRLl(*WRcDye6+lj8V$K;*S z$8pP?o|{#lH^OA<9fG;|NOR>Ckl4*j~IiM9^K{(yXy(Tae-s#hF_52A}~#y z8{hjwc~l9|l{uCO>MB)oz{OJ9x68`{d%W}<6D_F!@*CW1mjcI}==?-LxrR+x$5i<$ z`Z>rKw9L>!%DmY&hAlqE+N27grK@%tDY&aBZzeBq2Ja<7e~C-e*g(@bgM15?hlp-G z4hl55O;lHKr}9fo9dL}vwQbp)yJ{NTm=X3DFH^7-mR|FGi2NZZwO*B~cHy@?JmkLE zbgx(IL(6dJ-?E8T*hAQ?@`W77NOZSNbdEKq1o;$P*S$k%36L2bSpS@b6mT4sM<((% zf{HkuXN5Qq#1(cYGV*{1yfV{ND9{KGuM1}?=Y&Z21wKJU_tpH4xr~w3#6eda)0l|l zOz{*qCJt%VoQVsKh#)YWn;tBKu6iBYBMJFKz)Yb)u)L4YSH>dc#BZ-~Y$#&V8-cYP zoF-Kt4Dp`M#-jW?a!nb%NlJRR+IdomWI;wPC6R75(?iDHp>V1!Ny}`$uJ-Cke`#g2 z3$y#a!3U1#5c^~Ul&NHnX4)vjm&ol__9_f;1T$(LYr(N)azWNL8i%gcM*gzRL5Hi~ z(rd_k4b?Syo;seU<_y^%%HPllr=);{SqRO~RLWPDgOR8SMxX}n>HsklxjNcPF~6EF zB`efvxSJj`dH+nWfE^hhn~9HHKAAh8QT1RNUqm@D0P!$g(a7sUp3QYnom-_h>bW@V zl&G&*8WnSXZ5XKn6_K8*xW>YY{wC%kZJ1;1$3lCcMSf6Jo1o>4EpYp0n%;RB`6RZT z;Dvov`Y@*U;Qotw4^u2Ub<<8DvB_CG8FXGcos-pm3GXxb@XNGl&pLHm@}1Sdl5}NLGT6xeoDi#OyR)oH~tZK zv25bWL6IdGIbUe>5RZY#S8$L6C@}K~)oVGz9cK|OaqHZK=*a*I8ry7m_*oSrl2U*JwT0^y?{g6FoxWX9+CotK;%|Dh%fREw0B8*tvZjz_=l^vfgsR= z@;0AcWW$HdBe!mGWa?sXwt>SqSs z4C8uWXjl4ye9`WRa-)Fg1(;$T-Ak!*ktwB2-Trb6m8se>dzvbUhEdw<&Y*x_R^L%& z0bHVjg}l#;?`n^XKLekF2ww{!u{+l_(|a!H926E*dz3rvxZr3n88fQ5!oUF9XvRs< zOA*~qWeT_RTcqbw^9svu=o8Eq;j!~sRvElR+xhvU_z3sY@+3(^r@JuHSIaK%(ZS&c)BpcFEdNpJS`Grp|yG!u9J`U+{x zbzU+K|=4kMZMLXyobO|?AGJQUO(jc?)J`r$8jL}Eg#F?73p|0$tu>W9BHG3 zF+=PvsgIhCEZkdFW$SplEl0gZRJ~Woz@OuR3@n3a!Z;^vjR?GCsP7Am>u8^aq~N^#~ToV?wZ+sv<8jdVAC_WH2SKiD&;e51E|8v|8d zvOxYg{EL!M4PR#7$b^fR+TVaZD~(c@xfW$Hdbbuj35w$_!V@M50I!XD%=$wG;0c8~ zif5Z+tX5?H+j%vGQ@a*L-XPmF~lgS?;qZaF5! z)MC>vo_5AjT_e=n4U>r3tw~s)kvkcFu|j0d+VIC5v?J^o!+YBPY8`?jk^$PUyX*Ja zc!z%|n&s9%bkX>ThhsW{lXS^C_-ljb0|Vv79pPX;kmPF~y|T&QHx*OAOO5PrVG-Qe zXoS^^^NnRkwB#|JIob7BvsbuxQ+r?dZZy0axG1}^lAQ&GFb>*))(V#v!;+mDZ;@Nv z?h~Xgz+`SrandcdBH;muzm75Lkw3u9hM@+%+^MS;`*ce#z7VTx*Et)IFm~WN6L_S( zNEULTQE3&xRoo5#yc1d;Y(E=9G$YAZFFMfeCZVF=lq01=mml~_9?r2UuufD^K()c$1~{X=(8iSUZtE^;*biQ zN4J8U_=whWZ(Q~^{`zSu5Q3o1p&EY*Lj8fJa6|7S#Tdm|to9PQ5g9C8Qn}&O0uaMi zv{%5Ib*;Ort*-}@9T9A8h$5MCS&+r`5F-WfqP2GTk|Ay7k{)-RR#vzPIdcl4aY{zxZSC zT%E7{4%dSy=g<9N^3y{Bw;vWKN*Ue;V^;HBm;uU%|8tFX{I8 z(S4Ck?7TwuOzHQRjugx-lEy=WkW{z9ysCf;5<}>xF8$uE2fNIeMuLK@)7XO2;2|J! zkoG1k0fVR$%Ys8Gz`YU;DuG2U1!S<0O;{ny6Rq>n#AFYf%Mz}97{bD^kdJ!SWJ-u- z!B)reh+-p_SKUQ_DHpB>g*VF}s-wY;pZQLbKV{IAoJk#zQNpBw539?#-jr(6m`Q!U zy~_>GeYg9fs(PI+(~lxAwcTHm4!XgY`|>D>eBs@teCA`7EiZC`C5Sl&McgsUT3j;~ zMst=bo(deK0w*7lI_wCi0csGsTMsA=NennpyRwF?J7e=)W>rM?ldI~v2j;)zm0RZh zF_m4giA(IF4!e{SSj247tjfDB!EPxuc$uZ!cUfCtgR4pZWlD%<7Y;%dpy0rf4|yhQnTqfa`Por)HyEgKozg0G-dRZ<@fNx*G8`*vo)&ct zbCS;H(-+D|K~OKXpq&fjZ@qvWAU4lb6k$yAREgwIT2LI8Uyvg&B$sfNfR8_BN(>|A z>EtVPo&nhj@Z^vzi%;Gwj~6*BDGNPd?XowU8%nT%D7_w+P0Wr|sRnkX_9yg7eB8pu(*a;8&;tlC!C zbD3&OX=2%6?br{OMcWn8?MzH$P>*LGY=h!cwfkPk&+p6VRi~*jO094U(0K5bd9b z)Fg`iqILLDfdwW}$TdykmOSOi)=J0mNne|_rj|k`QIwZ<$MT`4`SQWsa`#;p1+<~c z1w{;+JmqkZ?U72vQ}X%J8N*4n2u~L!rVG=PbuYskN!~?dml1d6k~CBnTcJ|3Ak?@s zl|RdOxJ<14n6ZG+Sx!WiOca0bsM*}hQ`&db9Aza<5{~Z0##~;(!}BPsYb6V0(pD+Y zGxNAKVpSvQgcf{?gG@_Br3VbvIkY1(Z)bjl-g%MH`1Vhj9b7B;95G6Zz8umeX;&6} z%&XX?hOoS<>yqnh)}K}+v`U_q2yKttDgSGtagMsF$a`e2pN>Xf=*CHQ+=iPLA9sr0 zyzQU<3R{a7Lvi;x6^C{0lr!?8`6I=hr{9E!sY_47o*w<{;5{N~-W20J%b%=^I;KNX zC6tI0DcAP_8I1TBBst{$zGts}xd>cUvgSYK+k zb6P+vF~i$thdrLm829}$tnjWE#qTK+;boMNm}b=IJvRHd!f3#3ZN=K3tEwlzC7v*^ zG6*xvR1j=>(%nGm3_jA>i-;!QpFf4D^gdyWic}mnFo`*r4|fzIsjz zJLZ9okwyrTji&Q`31>c8gDmt{9v<3MoRvdNj3b|Vioz!rvQzwH&F`|hW5wrr%4{}0 zU8hG-nbx7Mp;s6DcWY}$NZ?kr4~%Bq^X_7|>< z?ydGF8HPBu_)YQWPF(RMt39C5M=BO#`Va$w@s|n^Rp3EvCYW=kfycdUY1squhQ4Gq zq~aiioc%EpF<(iUru?Af@8e_K~?q{#{$o--@WvhHms)&C>>|E5rS|{<+X1`EUD#7W6k#U{h@gEgayy z?XQ9s4!{yR)j6-Uq?fT0$_*4@y;Sz1mz$+lHg!wnvDwwQpU9oIYa_16^G^?0f;$A? za=+6e`$eWe?h13nrnDey2l`|CYKg!En7MscFdxb14Voq=$wwv1n>y)Zg~+*vPnL@2 zuZI#-QIjy^Pf)w;LAVjascL4U)UmzWx_ zljS>FZ`-W0m6Ta6%&>}oqLvdXB)Kr}15+bgUc*2}=jgTiN*(yP>r@K`N${cbiv8ie zpOiVhgT>kB*Gj~#FNiz_|3Vg=W|&BqH`Y`M3GR8%2RB#VE|e^)mC=s;VIv*WEV%*i~(-p=|tHRQDJ@ygPAJ=1gv=ZY&GeJj0~@f<>*V6#5YD$k?b^8xoe zp@S00jD;5D0YN1NQ2jSbf3vOf>IH>pu=%x>8D-@Y9U3w?-L{HjeIxG6my42SWv)Gy z&ZCF3UyZI7%&z30(V)#vK4454kNC8~D0`&xvt^43YTwX8W=i0;-*l_~&Uue8VM@ic zcak(<61=Z?EUWkYa&*C#^rSc-*@&Ijd*cd_UY}X!=Z@KEny$OAB4Uj zz#h7Lnf{nUS%x}v166BkVZWp9y{lRBQg0ZY(oA3H;9u>dFJilukB&=XA;dOHTV0u} z(OpR-+RfC6j+D|^|D0KpgHKH=njrteB?C<#rbHj_UI;H4rM<~8AmH$`kGP~24bj?$0l1KeX;@7nF zJN^)*fwbR3!ivOPBHtzMFl?`ajX|Kt-QM2Zxqw|7_*ZP0LZ6TT8x<2f_^k_YtSNSC zWa86Gmr8-c{m+Aj{_%?ARPmf6dYXa?)2^6h51xpW@i}@V+#e-KGIU(9@F62WjZVN6 z$C7&)Go+%<)9!<^vlvtW-%y1PykoKF{>;N4-QWhtkH89`k@E+IYLVU??W`T~C6zwx z0n=cJop1+vwZ(hXJtEyUdeJ^Gtkwy_?pOxTpX8VBFx9AAbdV;Tza;$(Q?+h5E&TQC zFK0PV`@((WQfI$865EnIC4@*%<)F}P41w~X}X00Pr$z3kU({G z_1u!hN7GfDnv4yjvwq5$to2K+D%GuAc4Kp4nfDWqhofnO&&73K$zhUks{ltvoDpMI zp*4|!F8z&EX2Gr?tEKjAiE;BNY|m3c%2sjL@yyLxRC?`*7KpSY?HA3M!$&{iGguEE z_6zwM;}-CN`5q)>J_aFh52Eh*-Ebi6yBBqi&Vc{*?|&-$=IBm>rrp@KlT9|pFE%!| zZ5tcg+1R!>wr$(CZTsfM_kHg@_ufD5oSK?C)je}&dggRjPgOmA-r9-JgBwMYJt2FH zF+|$oa_97AXRihYp#fD0$@fg%=4X6Y5drPjIZ#@n z+tlIIGasG6iB0j%^Y|YKqxwVSm9{O*nXNDspOwXexp;u)fsMVYwv%~5Id?`cUY0z-|DnY= z|G2+owTC3mu#@KCs}v3Gdne7LcHf!4<1OgWmCz_gKTaT>L^zTHQKj)YEh(B#AmtA|vB2pEP zFkqmgAMEpl@}XfGAB|khX07EL7?GJT8b&T++QlKKc@HigiQEg3)^M@iDkt&-1r>BxzIoxO0TE!=dm5J7gKR=2#}jX|7cy{3Lp9SL4IED?KqpZwF}XeQlgIHVE8k{*`a_nQ(wyvwBs%;brw4!kye=Mf&RaGapS*Lll41$>!J$ zTHL%XJV0kbg-U;C!m*p#>z1)e{e;<_N-=a?|F)B`12c-V!luyorFaw6QbjhpA99S( z1&8VgWxH>97OdM=I)$=_gGRG{5FXTPT7S#&_`iGRS#Yl*u6{ss5j`$^?;;7KJe2(@8t8uxi~ z)a039>98j;DU=n$F^PnQMQBd5tW=Ja*r&IAuG(i39s!1q!Lp%(dZFh+eq%>J_KfS! z(F7H<00CN>G3WBnY)b!ff5^FYB)m9wQqHalJA1uN_^eUNt>m@#PuInDemmm42M_`U zzohjW0h@weX!w0ucH_J_;T}G?5{_j^$_{Gy&0U@+g!D&*3-n9;LIw`f{qaPBsp)47 zx3-Ent0IuxSPvs>pT*{9DC@Qi3_u(M3z z(=Qo8iCjq!HmUaX^gc8E{PLu#+Gw>qld*D z-(g^!9#O&$dyt&>sLpfRlphXnl~q;6%qI1Tt4F6Azw5$jTj1tsp^vZbXkS%qU+|nHM zrM+7k+_+BXy7gMERX65v;NC^h8x{nk&;zkI3TE{jRWOv|QYNi?j`d>^^(+ zIYPAc@HP#|Ytddv?#me4XSX9iGBKA6{x*AdBA)?nbgp*V<@9W+3LAmcP|&AokfK`5 zY$2|i9qsoshfd0DXJ0v*>6t75l}=QBs^HL4j0^M6;CN|xW?4%}i3`v@CX{q(#ch+6 z#HixpY_GQwR5;{XA$5AW78r}8aVxp*eK!ki68;6c6KwlQOdL5+HF;QWRKT<>BkVk! z+T#<&*`DgR)M`16SxS>9eq7T84{(-079CUV1ye5_wfK)bKC%nJTrVE$s;0PFuIg=J zZK3ow%_T3NnEFE>L~B*q&Hlksg@dQ(N{p+Ui-+|+u9wMu>0^sk8I8Md)v0oUgv$e~ zU>jntHiY(_iKFb+(cEU}5^p}&O&-t_J{nuviI*pZmBv19k*Lfe*egj(^xUpfa^>dF zu`cAJ9HRVUUJ4$zie;nXW)rc@HMs_7Q%hq8%`ACs1A8YrF77iWnB){R%VU-Ux^%8C zY6fO*+CE!5jo%KQ1x1be&^K%rwv%Zq5IhP4_SNmB9N|-|ILgazm;H}#NDCVH1~r*N{3PS6zg-E z4U`zX%RwGxuX59yvn+{~=#hPW*L9tB$P_e?ol4^|0F7SEiZ|W8aEV$(OFi&j401qv zHjWI1OgN5=?x|WmzsXCRQZmx{cdq)CRm~6(mU`9#>Mgf7>LnkMvoLTY2mSdvP&JIwF*NW3qk*63kXlu{E^ z?k#k=t;GAxQk_Tq2W{~!aO-$4QDc=?x@VOYm-?@#*w3~U%N2fBg&P9i@FyP6CHG2D z!&C*=N?FgzBZ3<0jw@tCl8#H{KIbsY8Ijxa{jus{xfoU;LZ=y4e}G{XUfOn1E3|PR zPRNyV-^!Mupkc>-uL8Pu{vQon0WuV}zQoe^VLj8g`7(5b!xe^su!G=irQ%HN&$g&$ zPNpx1W8-H*J*OKZl8FRxaxuo!0d?(h$EC>D`a?^PA9y5ibLDDVFq8AHMZHzpG#pOI9ukt0>BS5huCE8eb0& z3ow1Q+>m{*k$1s>Kuy@Ep0SFJ#NDXXy%*Y*$f&lBOVRD@d(h)uvglf;Qco+{3V~WP z%PPrBo|3%`wBH*`J@DpSqXjW%+G9IU4Yl_-|IS>_sy=(v-brsffzGz-CeOO=y-cmO zHdTaFn6fujgix5wOR6*7FrAv^kn1z5ODqq|z^^V6$B%HO?P3P`ppE)EoRGO}g<@{%X8955XD4o+qqlnK{W>Npx?J-2J0G}7)yFYHOLXsK_gsMjO`UrBCk z81?ZYr6XBHiH*Tc#bNSB zY*xhXn&q{@Zs5-SNc6oGkWn)cs%V%~+ct2f4#> z1MJOb{TeuCR%6*5tbi(048vqmxJl$7i6Ti zTE2e`{-6Glcdzd8t;t-6fT|WBIZv=OPeijd=D7@xIUngsE#f=Ln2sOikW`|89N7dC zl*ZRTL^12bFXyv9lo-2BUj;Qt(#7cuiumD1D}H|_FV^ewFNc3PXLNnE9DNQfXN)xc z!ifHw#;U9PVqq}JIjm(ZNC^!)F(6YrG(F~El@HTZjaNSsid@KaugBV4zWKdF7_e>i zjE7UiE58mC39DHs-(o8Xbe1`#JQ=7L9=hM^~a2ZzU1lR>d){ zr=`T=`3U`aMsA_v7}D5`D7FD@0o(sXJU(v06htlm?uz3uk*ec;5@8j)Q@yv`?oeZ5 z<|X)HFq&k{8K0vjyn9!2E>e#$LGHgX+=SxGL{A#a_?>MntFq4~6q;5hWMDkt^Knv= zo51*!oE6lSh4P@EjL8_--oSLQ$;E5dP|@4>0N#9%tTM|#lz;wF#A@74ic*oZtLj|0 zzI*3=rrKu!hFr^o6;%<>0FMI7Yid)L3Zq#3#_sfWwru7pNpcr*w~8?cFb{f^N08z|Qx1++V$7o2hT$_<97IT6*73W$eP`9)nh6u|9fDl&|{rQ`-#` z)L{vVkA6!C%VJurzW-IP_j%z_4~9}GINC@V3MlVmoyxa1yDM2hE7Ip<#6lF%TD0Yt zYfwD^sbisuWP4=__|R|M3*0D#jwL8fFMh8ef5Om z0T)_Vg%S=f@_`-`~jn^WRRP+r|ly; zDc^g>BbykSw}N!UC|@Ox2>CCe;bSr!AaGO zu`C?hP)9yk1hDi3-@Pj(|H-K6%!dG(B}T1aUX<*1uO-GF!PBOM4Z3yQvxX!dy2EDF z6kz)&FMc;aq|>2%Res3XkfvnU($Y?iq$E=GC##ZQQ#OkpOAkM%M$c*?sOOD^XEycp zl64NikAvrNH+De7_g|`RbHnF#yqwZj%gRS_(V+S+bZkG_-qc?L|A|?c8O?*>{|hOQ z4~%6n8wtNUcaTW}CV#sm*pbP^o4E zdA{%;4t+d>6n(7JbV2x9HbHNBK3D|X8jA87lVY58CZ&f2ut`DI28}`Zi?vS^UNc+p zh=0F~WJLyI{S%nZ>rU1Ff`mHS%ebCXa6lF15mVmAH&G+HQ3-o2UZvbXAMj3yFq-eA z9JdX9-P{Qlu+<>!6|c1<9xUylinEmYAF3));ZqcRvUvhSU<%Xy^LeZjTwHOMPzI)2 z1c;zVI+B}R$Qfv06 zK+h3&qlcdCjr4i!Q@rS#bLS5$8f^>(}U%o zixsqk-7adLXnmrhC%b{aA-1fd)iBVHpO#&oa`M3jq?HY^<-A2amFF1^F4PP zJ-(;CPghXFUF-G$mmA>C{x|k$$m?GO{Q+)JhzI)I8KT!>>k*o^T$kPX-}kn|fEN~Q zhgLbT*G!1GtwS)7?*^%<%nkJS zzI1zP)3wUx;F=rc)xLIn`qQ<}=Fr;<5aGU{XG-+7Jn!Jp3t0BPqG#IFwL0(6(F=&~ zzT`Wi?jf~jV%3dPXAj#8#?~R1XY$pJmv=Yf3o_p!`Fle4je~a&;03+wknKHb>&D}= zoA3qI=MeCoi2I`ZIk@%0_u0eug86kwru^JPt(?nUs^FF=t6XBCoc~^`vQWZrQH_%q zRH|>$jFT%;DsNGblRsE$XVIRPLsmL5|C2>sT3&I1nMHd-j%k60Me`eEWr3Tei_@f_ zt}#(#_R{h^bkK_WBAjz(t$C1j5qr~&;TfmmPalyW2+30-`@P+n8MnxAEcNwhW$rK=wk~(u(sc|6AOMdILH_!#Q)0=#e8Kaew zY+gumc4>LPzj$X|(UJ^(;wQc}{PAjI%EBCK4wQ-@`;#z8T z{!93=gFw-oS+)akrrlh1WJGGoC8}~AWA;^y#bWYbm&EwaTr7(>__fh}clfpX^Hn-( zQ$(wAry#3$Y=@5HRw-||li5jn)DbI6O6x*NapA_)OM9pn{RGFxs(UwW*3_?&;mYNn zZn7G&6GR$+#TI+1%wUPF^mZ^ypwRT3%>1pZlDdXK$0$c3rbUGaS548g@X;fsC+;FJy zkdR``neDJ?5M*Fv0R(7{pZhT}g8wBr0iS}*gBQcfVMfv6X|uQ5_Ri{e7%fQRKE&w& zPT&>l`NLS7g&V+uk@=AessxA~k@b<0kspZH2kW~*zAp#GLA3811Nt8V38 zKLJ7eui{u{?crStX}p5a@66u>vZ&c!0R&hMn*HjSzW))Tpg4&4Lt;n-{w0h-FF*=` z2{)^^HVb1m9W%OUA6Aa7Kj@ucH!=KEbV_Zbb67IIY#rB5ZaMpR`9G9CM6FoAFhP$E zfVAOqf_uM!KG*{Ofx8U+jsFbtZ=B?9U;`c^69YYCJ)>fXU7R3JqN*%A2vCweslgUF zsffFjdEZ?cJ!Lo`$5yb7Z_KthakF@Sw4txBm)d#eK?TDK*vLnuuxSDzAtC=n;tDVr zVeWgmw8eUhIp&ExHD)nH0cV99^;i*ITlVVaU65 zwySiuuO?q0EvP&~m4)|h0awkv9o7V4fe{LmZZaJs#%fqJnwpEQsplab^RXEeM3z26 z^;H}JVQy?_eHG$`gkMClVWe`I5rwPrMI;=t_#8NuAQ{V-5TKiwx%Cn$D?BM{e8ag3>_CP??F9NpttQy1OrSnn{iywlmh_z%~OtLORY*8WJ#j zrTd?FaeHGUBq>7!Gny(+Yx@OO)&3d=2(MMv zeP6X;P|E02-fk zSiv;$LDkBxqb}k-8p%+r9LA5~qIJ=~Ok3ATPvd<(nE90a%w0RGemq;8gRD5q zFIuR|JHM*W;)S5u=I}pE`5jeNR%G_=d<$AaP{Y+p_sDS+gjtN@CD+jR8J=~eM6(Jf zAWX0s7Sb^QXFn}1i#JFj>V8w6?k(=vwhF+HSGFM4M?u+!OshDXmARt3=cZz3}w5df3L|?n zO7K!->uCXj=9+W?T|j_fRXHC_hNz{JUHh6}V1HWMV#Y zNVIFnOSF8~mB0G+I}@wFBY>Zy7)Y>NjvfvUlB6Bo;3qds1cc!)QY_d(zZ*ReYngi# z1C%4h63xi>mU^~;N0V6@bWh-7h`RRT6!@u~yB0lyCtWCAFuKRn{-bWsN?j0uFCQXc z{{>V2$zYT&cN52!GMhFq+3jqiywXr*iJ|N)Wx;9ul+(m1vpLoNtf#5RrQ4;4cH3iH z<=U$n_#Ma!tjSM$+u0U!8LrW{LJzkXd{n~u+KQ`3d)uZOb{+JzyJMTzmTwvU(U)+x zi_niSAlsKB`y-+AB9IUW(ceptj~&QcME9&`st3@`|GEl9P$(O1`|%B+){N|p=k0&Q z3C0Ia7?kaw9hB{t9T?p`)ic!x=mzwP?j&y~@96ecbtAk}y;DE4JUcZ*^Fnk1cR_c7 z4{h&VuU%K2O#R+Ad2YJC+TQB(@!h*7+~Mo-3Hkyd-*)MNwmRcEwcb~j=vEDX)CX>hOk_W7 zaCrj#_ISfOinNZ2(D$*;*v!Y>EjbMJgz)DEKaXEvm&-l`Gx0eR4`Pqa z9xP&OSf1XSWT^XF0UP~Hs;siVS)pJJ&b~lB*}8=>Qo}l{4G3))&`}+TQWZ+Bz;YQ=_Rc$FGv(Ow zw{j*=i|62!QdPFaBunIhB5Ni;oKhFidg`hT}8lp^F6ze73ClXz#&9e#QMr$5(8O9!-|$C`qO;cJ|rJ>pdsvbUtL z3)+ml4%P|YD7U3j4L|RHk+8!5lDSQ1%eD-D3GB43V@udfcn;z53+)^n(HF9Zx0(s($6*`X7Ofpl2e`_A=@+UiXghcmtmY#SD+Q2njuMy= z)E|CqEZ;2zuz()9sR3Cn&;9{EEzdq-<@B3y3SQ(y#bzIzXSipYlpi!4@tmouBh91g zdaT(~0hsbO(9LKx`B?`EU2rVzc;#TK{tFRJzsc)+%SrFgG3_g@aA*qVJfMnuC0mrTbdg~MH>$G^(6Z-W1|O9bc?GntgU~k#+#X=z(?k#idQ_L zb_<j0?uKMF2ZY~ zP#4}kb*MMTu`0@k{dCpO*8*mWu&Dm&7_3)hK|TXBQMe1SJbZ-JSRpRFdXi9QcJC;N zc+Ff~24<2Vlb8t4gjo5gj?m49vuSB0pzBe&QetlHg231xwWfXWCAO{^Z=r zK^1rGx*U*F$B;d)B5k=>H($je2U2AH`IRRdq8a;nl|mSSq+>jap)# zk)d^WQ6FywveD{2CS41C;)~x)F1TXTR{o7zM|?OIz)$rzNUxNCDZi?c-_pGq$<+hn zRD_NOjX$1IQqsqHbfZh5v$&SWBy_s@2OFTV$bg@MgzXln7Hd-L-5@ofR1;rO=9K-Q z=ZgqSZ~0Bq3~vR}6u{MOQXP1-{Lh=te083ll(EHZ#ytml^5wJzG$XDfItTC&!94my zb_eJYE+ZoN2Gq|0c@jECBDM}fYTtk@A@s=h2JaMY7wwpCo9-NS!){Z!Vz-0nfLHk~ zwG{nt{W5f7St!c;#DDdpKcqVSd|IB9!gX7o6R1f>lM@L2a@AIB=}{se67{$b$n^UD zG2$B0qtgeYI3*w5yu4(*eeUi8;4qzq$sOZn4 zNFHU~eEzF!D)}&)>|6hOA6#l70?lfgc$VSu{9rZAxRP}>^;k(JmYUzm<=!f>-8Q%* zR0xJnE(T5#WxZVh%lKSID))M6t4lNq5wGlqd-3;Rb9 z`+;wWV;~9j`4{`dU^k{}r>8cgDyOU0r81eQ_d&)l@ON+{tuQl9>>X> z+B+nhdu@lt8`V1`|I98=YLUS6PugG^y~HtgiL7nQlyhF9XtPZChsK1$1J5`*|J*Kt zC#rTx{(lN^{;jQKTIO|aA2oRErHa3REVF9l3_J7DgDaPdl|rih=x{fHYC9Fga4XL#3C#r-W{5`eZ2H zdrd))69Js4MF>mXMTjW7P0*0f9{MznvnfgNOSVW~{b+U*?lN_RM;Q;(*MdIW!?e%g z*^@41=q2!4c-!EbgFbtT&JVLYI~dbm_y8uHvf&S_MR!4c9h%NyTOyT9k?emP!p*6V zi;7eKr^UCwx%R#60ar7qmCBh^^}ibA;$r*r|1uVLBf3rgx6OyP3CjmW0QT1HZ42}s z(YY9q9iZzQaNhvTEtO5M^ZM^m`WKgzLc3b#+&<4|i z=mM((GN83wqPn5J#&ONOmA+g@{fLHq)a>ht;Y z1@?vg37g@&1y0`W(Jt%XW&g?hjC67l}ooSKXG?69Lb+t((J^ zZXI1M!zG|C-=BwlD!`hZkj^*!7ZRF-tZXypIxZP1Y1+atZ@Igmtu8yWRwB0un$jOs03YplL&$+aP~=brM0FM80WRk*DpPn# zScXanz*Pi`jv3jt|z)M#cLa%19igqAEB3Ss17bY8w;yo!D0w>^dCC8@U?*@;^$V`N?^mYamyobI`XQ z;24cN-rg6(Z9Cilw+S`3MbHfa?mmD%eJ0(osB|XPkfd}b)}WFx!ty$~T-p)us{>ie zlB4nE<#%SW;eyTZVo&@c@hsuWva+mNT$JyWy{ZU(_CCMl`#0*VBvv=RlYn{4p84!I zyL~;oX zhuW=Hj=fk16WAM`uZ@taQVpnnYmNk$8qk6sla9 z`$YTg`y9~r8DKBcAhL+@OZAPNE%W)bF&@~U?d<+XrSAm_RppgLujTt%6_u5{o{5b@ zuu}+iyN7CcVkN;J=m-UBs{O8aG(p(>58DwlqsOel>{Zx&V*( zPaf1Ywhh&-o)ZDU!hLU3aH`SD|DKn0Em?6_v<*S>2doMgdUu4wooO3A*IyBrZLp|a zRra{Mz%RC0+JeD>9O!YUbdUZf=7!EHcd$-0jW;}FDg5H8*c2C`oaGv^aDh{48wm&A z3*%XJ7q#MeDBtF8cwFy&`Imj}F0*N>uo5<0wVI(CwHb@{QI*OZ1q)$%ha zeJuJHmCbkY5_#KAe6jYK1fm%Q8s+C=Q2*2%&v8U=22wiv&46OyEpfpgndSFKj;nD= z;p@Mr5H^L8k=v}*(CY}7K8})ns zzTW4l2M#?_npnO@w%0h)XzfPelz}+)3*FQ{lOuM)GblMmU(=pooC=LvT&zKMay>>J zvL*>EwShL-VG1VeE)Q`c|4Z5ac=BMXB2SUZ2V=wOGG-KaUM65wf2Jj1vqh@(ilTa> zdDUrt%M$D!KN)Ff-dj9#bIuBlXZ3)HbME?-=@to{8sDC8tch?lJ6=7xawyJHrjx46 z?iRo0asT%LOIE@b_lw{QVY{x&E#*tLPG|e$K7-rFh>Oyt!!2kg@WI)V!pDf+$18%m zJHYPHAVhmnjnM{UX#Qa1cg3^YB4xdD1BlT@szuBv`}6+11WO0v2tjIHey+RB|2 z!Jo~70f-Cjv0b1Gd&Ib=+6pQ&!8f1>YoO}2J3tt5{d%CGTWmxM|n zwDXM-^mW!EyxzzUQ#Y85R2S77c4cSMYWrnpHOgY^ICUXo$D5=jzXtm-(8qIp*iREJ zAF}d&P~C)HLNMo8<$Fw{e&f3mIXR9V(OklLyiu&=_{d@_b)D0TN_qTva6MK1UC4V` zK36eQiGz#K)$q)>(VnS&wRkru##($lgry$w*D$Kt{eZ)OTf8nz?(_s}$=wT+cY>mH zNyO)p%RF(lmpSg$9P~4nhfi-;ECV^D$RN0tnq;zgrGaZfg{J~cPBV|eI7C!O`>c}^ zcRmS=>9JUZWzy`~%fS)PzC+{dRkZ$4FR?N;y!m9KIX8OjP3EMK>6oj0-7ADPpJ{m7;KMo?R@t9VT34;; zfZx$1j*^!{ii$j&m6w|R_tyEf3|?lIb9Y6D{WrOyvp3GCiw3U%MBIT z9D2-TaX8{zoexkfXHX`mvkZ&|yHZ-Z*1Uo+NOG+9oYYoj8)TLYIxD*_uVEg8j`Q~y z%xC6nYP(ai3R6)Pp1eFDmnQ_`50YdDbIYL>OK|!Zu!B0YpNlD}OqndyFa7x$IOG=t z(wz|WouX2B@{e(7rjJ+mnj=N#7lwS|oK%|LG=EUZCZRqirA0sCe9kgp-s>Xv)obIT z+BGW|vSof0$HEyI$tO`Ts4Fbj>z_X;KGi#Ifp~98RT|w)UTLZ|QLo-ld^pCAJqs~z zh;lhZy0+5X2^xfonO2&zl9->&tSI80Ng4CgIw!}1hbm#rn=}>1vt&-h0(!f&RgIh^?c0_>zpN_!~#rEWbnJtb>B<8qg4qrK&zMheU;j&wo~$jVDTmIg=)6C$H{xovvqMdWvN8UooF zNBo66N+B7-TX}s^3S9L7EiNMQzi>w95BUJbj_U%%-!1r1LY@#(nX{SAXqmB0<}b#s%GM$ctfrF^bqBZ}lUAx34ri}TMheZkN1Rj1DDve*p%E1x%{lv(l_&3sY9`8GTB z=u?`622tBG)hr9(Fb0LcCQ0R!@ zUe{C0aK8uzvLFT%m_GA5+5{(wK?g7r&Lj@(C4_v}QMC6Znk;5;pGT@$xvul^evWZT z7=bUY=f~sT@`G7jmaC4r>W7q4rUjp|`l3_3S(%wXjTyVl_SODcJYl`ZQD6UTAY;?+ zE~^R~7{aeApI~HT+n|M{)S}C5JGf`Q5aNrq#s-@*?>7>;zfNr-vcY<&pRs`l6c@@a zn0gMvt5izm(9>fuht?E}3(9Xzk@&K^m6W?$CJqpyp~Wb7sRL8t1M`X`N%}LVPYC(< zSNI}lTkH`tU3SH2=>yITlIKWo1H!w$?8Dmd0v{mH+Ui7~nx#G~&oQ41ec`97h`UeU zjJU+-f#|-9pmliRmYPx2CU(tO^@R`5?UpE*mhfOWIe1^O_7^XSZo+{2M%}G3MHzcp s(Rua)S6Nkr(Zd)HP4GM500z15+fVkr{d4uzgSljo1TOap-0fb4UGynhq literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-BoldItalic.c414dad20c4e3020221c.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-BoldItalic.c414dad20c4e3020221c.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..642a2d44187c82a7328e39249658068fd455717d GIT binary patch literal 20320 zcmV)XK&`)bPew8T0RR9108d~54*&oF0U&Gu08an_0RR9100000000000000000000 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%0AHM8N!I{CFWIz^UC@hs)7aKu_L+nJ6eZ33! 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-LightItalic.39e68da05bf8b4a77aa2.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-LightItalic.39e68da05bf8b4a77aa2.woff new file mode 100755 index 0000000000000000000000000000000000000000..7cc63b7e1a65d56877efd0cc99b2b0cf54641f7c GIT binary patch literal 31636 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-LightItalic.d10a437db5d8e2a52b4a.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-LightItalic.d10a437db5d8e2a52b4a.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..3f438f80ea0b583676e2002f0c2eac5b08cadcd5 GIT binary patch literal 20436 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 P0000003ieb5reY;DTQ() literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-Regular.21b4caaaedc00594e7bd.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-Regular.21b4caaaedc00594e7bd.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..46f89cfbebf51898946b920319600c0d0f66cad4 GIT binary patch literal 19176 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-Regular.98d953e74f174cf013b4.woff b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-Regular.98d953e74f174cf013b4.woff new file mode 100755 index 0000000000000000000000000000000000000000..40c056ea4cf3e5bcd935eb59735af846be60ccb5 GIT binary patch literal 28472 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 g*)f7qB>Wr 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-RegularItalic.9eabbc2e01a7e17bb57d.woff2 b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/Skycoin-RegularItalic.9eabbc2e01a7e17bb57d.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..08d7a518c350c2869b56a794008792e431ba38e5 GIT binary patch literal 20380 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 L=BmFUX#N5K362DD literal 0 HcmV?d00001 diff --git a/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.eot b/vendor/github.com/skycoin/skycoin/src/gui/static/dist/assets/fonts/material-icons/MaterialIcons-Regular.eot new file mode 100755 index 0000000000000000000000000000000000000000..70508ebabc9992e64f1314f866b2d7ab90438c58 GIT binary patch literal 143258 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

            1mNzQMU2hHDR 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�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 iJo)Usyk)(E+JD(Pg(x5`GWOzAUgUGecn6V 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 z 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 get seeds from unencrypted wallets, open the folder above, open the .wlt files in a text editor and recover the seeds.", + "close-button": "Close", + "wallet": "Wallet Label", + "filename": "Filename", + "seed": "Seed", + "show-seed": "Show seed", + "no-wallets": "No encrypted wallets" + }, + + "blockchain": { + "blocks": "Number of blocks", + "time": "Timestamp of last block", + "hash": "Hash of last block", + "current-supply": "Current SLB supply", + "total-supply": "Total SLB supply", + "current-coinhour-supply": "Current Coin Hours supply", + "total-coinhour-supply": "Total Coin Hours supply" + }, + + "network": { + "peer": "Peer", + "source": "Source", + "block-height": "Block height", + "last-seen": "Last seen", + "last-received": "Last received", + "last-sent": "Last sent", + "in": "Incoming", + "out": "Outgoing", + + "sources": { + "default": "Default peer", + "exchange": "Peer exchange" + } + }, + + "pending-txs": { + "timestamp": "Timestamp", + "txid": "Transaction ID", + "none": "No pending transactions", + "my": "Mine", + "all": "All" + }, + + "history": { + "tx-detail": "Transaction Detail", + "sending": "Sending", + "sent": "Sent", + "received": "Received", + "receiving": "Receiving", + "pending": "Pending", + "no-txs": "You have no transaction history" + }, + + "teller": { + "done": "Completed", + "waiting-confirm": "Waiting for confirmation", + "waiting-deposit": "Waiting for Bitcoin deposit", + "waiting-send": "Waiting to send SLB", + "unknown": "Unknown" + } +} diff --git a/src/gui/static/src/assets/img/edit-blue.png b/src/gui/static/src/assets/img/edit-blue.png new file mode 100755 index 0000000000000000000000000000000000000000..de88a9af1ccc944f74b3cdd45e6143385401f784 GIT binary patch literal 893 zcmV-@1A_dCP)couqn=v|_Wvu_dz1=$jpeTx>D2k#e%1gxHl33ayt}sInA7BwY_lDH|jssShnjM6> z90S&NMt5^htzpSkcepll2yz()Z0s#qTonu!cxOIAi0%z=5g#LHLbnFwiMKT84ZhKF zOGlpnBkKK3?I3lXkO|!xP$d3MFMb(8u*ETDsz5q7j!ot;Svdb{7LooC@RM02@bR$0aX*;dvoI)383Y1k^@DP zBkdaCn(bXpu*i<~5RSBGK%G*@xR_w@Ds#SrBkdSaSA0wr6F3I|lT_dS5)5c6KBmkB z7C)fAG_|(NvQ;22GuIKHBwHQ+(UHa5%sQY)32^NGKl+elK(*K=&YOy7I1<(tkqI0L zgJ^>kWUiXm5zoj@0bZ7--#rAPpJpVdL!S6+bBCJ98L+XFvp&9A4%bt{st^A?KPEe; zk$6VVfb7UvJksm7u?ca)6CU{(Ndrci^A(k)DVmtjvUo<$fF53_&J78lny|JB9>g<} zNiZD&2b{8U9TPl>XJiamMvIi>Iy_7*N?c6vD4vlq;OgvV&uelO6FiG&WDLkAz$1R= zURP#92jUqS1F{K_Yc_w(l}DZlyoTsNJR`Fg*w|mlCP5askCwstE5YIsk7->z)7$_a z=|27z{C4|1+MFjQ^cqCba-_B?6wY`N&oti*^-=cJW^`r_ZfcZU84hiHT&R z?e3gD?QB@R0Q4~c{6h%=KMJeMyqZX5< TDLH|r00000NkvXXu0mjfxK(|? literal 0 HcmV?d00001 diff --git a/src/gui/static/src/assets/img/header.png b/src/gui/static/src/assets/img/header.png index 6eaf10d405817f67459d498e11c55e92341233b5..56243b832f96527b68123a01b4e523e3eddd14b0 100755 GIT binary patch literal 295475 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

      1mNzQMU2hHDR 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�`OvkrlQopIb}$)%xh*hIzqM^`9hfWfo82QVLvq!ZzZ;wHg?L5YHGb=QyQ{G!{IWG7PsA`J< zr(Yi8B<(344vmcZwkf{=f@B~kH=vo)siKXXK~pyQeJe}$FRy8RLXyKivywa(vDRqN z{3yV+p=1ZiNP8D9d01M;DI6;h@M^`b&s4aKyUOS$B1}CjTtSF5x-S1=E+Bx$Z9g7{ z01{S{>Gq||NtZI1_(Mk;_#H7whuO|Di_B9EBqrC<%U`%d6TyYZN~c)fq?H)MbtvxV z(5&XBNuDYEHmrN`>K5%wg6Hz-E|8TWa?grCFBNZqyW$dLEp)QL{ILApixRjoL#z4x#KEn~mP9KC{;Hg_qRO>qHv^Hq{1 z*2k}yrMUXYs(+Bi zV{i86my59JfyQqfFO9L$+$XvS9%!S0ExwnL4j0B>R@>PaTi%OEXIJi{i0-9YK7o~;skE6b1VF|Z?C&omkdNOrk7Jx?4U}?Q zMOHGx>H{*81Fpf>wz|xkfm-4mRW+eFOCE`-^{alR@C(HB(oqvnV3)vvYa54K_;ioQ zQH=LD2b9%kKScg4;Hq9Ro?S^)PcIebq&nxNtAn*(6a{*ZgjW8;;*goHNKEU~x8p{c%7#Wl5Nj#O*^0LTD%mQR z_BEet{oD8X6y(cehgS(9Gb8gg-4VDHJ(d^B`24mtdtyx68!Sc3#}ZeP%@Z{MB(@xA zW5-lxHW7A2lDM9nkf%il1u$uw>3B8o%2$sy? zdA;01YOr2{6wE4dd@N!vXDm84BHuv3HzFe`7II_xhOuJkz2N)916KS}7^Mvw^QFLP75jyUr(pJ6|F9$va-7^>kFGq~Xgr zsKC4*-jp5FGMa)!KNKyzMKW&k;hyWeCzmK&C_9#;SuNd$vIDP+;5P+`w|6ipe4_XY zys_`3Fwtm~0e|spG9Is&xI!RxAo6CEV6`N1Z$Wg>@11mZ-O5DCV?CZAz@LH%MJ9`l zdaAq3iKsqsJ+%*DUmCBHFkxMwouL_$4}Up_k^5IE33B6-{dgEzXbe`D84>H4?T>0a z#wAHguL_2K86YBMJM#s9kw@^+cW67`UHSaZpV$7^_EXT)O^Kmia*NW2Z5Sv@;3g~~ zy&+Obd9J*1qxAxkeNSlB`~e?Mn0NM`dee)zkGfmaP$BZ0967h&GFE@2dN9QTU_B92 z9F{9y!BGNdr;n@dSybODtBiQFc77xeM_LNz`v5RMAhdP03dqt6h3K+wvw|EmhzzGI>J5d9a&)Q zw^Auj)j`_Tb*i|CDOw!!=KaN6S9)s+gv%(&9Q#RLGzd7ob_o~2hp;g_#vwx*Dz|$J z=Yww;^7WtX2iPG{rn$&T~dTtOIF1z=eu-;pi6$;o6&8s)K?T;)H-n@()lnI5i;a4Y7kpUuY)?F zPG$6isyL7%8^4ahpN z&8)>@9sDB?Uerg(W^xN4|ftoclmh!U^z4Y z=~pn{@Di4S@5bu#gM$~3Y&+5l-Qzk32_`M_3Ye&69jMlCLK>gkv`$`eV@17<*6v%^ z5^1@pSRx`>Zy0NPW>_&A|5OO07)t#yd3xM}!_5Jv#fm5Qg@?p00>!2>sgs-m3UGELeCxr>XAHUU|}m^{{(WM1X| zTbuYer;HS{aH)xf&1suQ-rMl zauO@kPEL6i{R`kcPA)4XG1O?^x5|r^GD_N2))FUx+Cf-;!8>dj(!3j2-a2!%s2ONq z0(|1w!!kXWH@wglHnWa}AABCGS(?jy@OnI52l==I1Z&ABd+OHIm&gP$qdMja2G7^A*?2W*C5;Ro^~p z`72PMK&tVdz9(Wo+W9E2zo+xt1JARAN94Qmt*YA&vw;%WQ#%Z3YakmEcqGAn)-H{E zsb*&Fgf@P4{QU%JYFtRHZWxPkjfG=jJ{P*;wKvY8FNL5FpE$Kqdbt7_R91+2T#?uOC!) zif++lj(hWO--+p7%myg6wYN~qH&xs1gQlWs6wJ2&%#9;CK1ck%`{u$Zt9i98!_4qc z%@&{r#88;zb{8R4b9xXjJy*t|ef6R$>ioL|Wquo}chu3?{Klz-518JQbr(S};@h+A zB^N<&8jmZ9Ya82m{@;OR;dt&joEe@E!TQw|DN3@zTjHE&L!&k-ft#?Sj{Rl4waNyd z2cSbMT3LX~ewuJl-*&oBVT%V|@7YkM?n~NK{m~7Ve>pYB?f}m|m7miwyI(^-)wgPN zb>%K|9z6h>q@abhfAO{KkH3z$XE;SqV$y z(lK!1!*sS0YygUCS*rA=N$SgP3o0RRc1-vC;S-5 zaWD>u;0dz6&L2IiwrwIoM^~rF{GV2uae>Z5;lGJvZeF}Ud9*2k1xBoW*7sZe8H&%X z;X0IYxa6NB@xp&g+U$rJ-w#jfCv}84z;stc;gwIsmgc>u!2n`;4{>r+)snc3aXFay zHg@%C+T~0#^V3&UM}(}l+|#cTHFHN%iO$Jk5hUIL1J)OKG%Hik(NCSKBVb^E+LRF% z1u+|SYu0W31h{EFxDyr>!q|KlU(73c=51`@OwVM@gLVXB&IV2XvOy-7`}Q(E-@vzw zoX*%T6WX_GUmrO<5c{s^2QEP%V`!u-v}j@P(M8ruH1d*KOJlp+Qbe1N+`hI_8Z`4; zFDd_at#j-2Y3gv^AGvv@RZG9hFsqMohd}C)Ry}npx;m~&hORd6HtuPlmjHfXVUqJy z{7)7<_{Z6il2nACqrdS<&DzV1JtU0Pn?`bS#oL{HXoiGTBkqLyZC7IWbjwH? zeJ8*#>P#$yoVO-%+_Syul#B~=$E7jiT2-~xraQG`f2IK!{^^buaA2#B1zb49|8CnK z0i4$@Wvo%rgjZt0jPwinPpF?w_)2H?Rn{*LDi2O=>?+){@>9+MF1xbri{jVK~X+md!C_32j>gI5Q|Kce z;2<7hMIC+|8Ps=|;^V||8{)PO6AKq#JYw@<>&Gv4R+c-FrSIghi=G;RYCCz6T?Nmq zhcQ8x=`+=oct>Q8%Ui&KNTG+DO710GDiHQ`#6sW-x8*iF84K;Nm`C z+32%(=PPh-F-Xo#b6iSnjpNpU_89pYm)&%i`yLIQl>AlP>C@!-$1>FDtU-@D0GYsX zUAbz#%*b?H9Pz(&P2F()#iQ<6*J*d8_>3d2WGadu71!ucr~Wox_{NEKPU|M$IC#6p z#-|M8n*W5t6Y?ed&g2~jJax>qsDdrT?y(*avKVqaehs7KS5&RIoz(~D%9Jrn=Tqr4 zqv^lGk1zHz*n5_22IM_(r~Vwd`Jke@_z$+9;zJnO*{NYLURcJ;G zpI5>I2X6wQ@tdo8uH)$fxu%~rI_Q?1!W(<(EjBh?XW=e+d=f$d zI(ufI5S^p#8>GzDg3@FlwQwR|ASSvYq6=@9znEeg#OQ}QCNE#xudB3ko@LDGDwFqP(pPx}YIgHq| z#i4YrW&XI@NR#`lY6pJq0)7)yd7HvBqDy{UIpE)Z-v;DLVQ%;T@4p(z3D>T)i)g!ak*w!`ZK{v>Ci7}ldqUU$(Pc>>Mc=&A1k-ae8 zUdLw|^l0?tH_!rYT zMxjeqOu6~}6xJ-mC!J3=W=9>65O5Fv+;}4Ad&FVwkFqc?z(Ete{wVq~=g$h+*`U3`IyUc(-< zcdtqO>P6~Z#L&SU>&Ea>xc6B|rWy*ocX;;p_H-bR&NdM!yD6k&$TzPd{4 zso@bc=ks|+n_SB<#(y7`!ndvSo%xH_#nqs-V=g#Ja>~d1w+SIv$*}D7#Xln|X>r%< z4X^tju5iv@fH;sONKC$L%uvI<;v2H3YnS74GX}0ym&8X*C1$`CnKH<$4>g|u>e7(T zTH9>lO1hGT=sJ%Pm#wNU7FI@e+rmy8K)}LyAnW)w_e@u1!M;t2D{ML9;KyKmnpi~* zKeNd3O@uiAU)O}FL3Ljp@z}hhobfBw*VtJ8kuz_=%)Za8PcA9Jm!b-s-6asOy}Mf=wS6DQYa0`4bbVHm z_jIyzoX~*M&q>3x#jX?mgCM1X#7jP7eOsAvEZ{ZiOTF{mnxrBIc}v7;scXb@LPt6m zIDg=Ad+a3Me%1%iHwZpfDvh;=xL$!N4z~pj^Ha4IpyOF+$+X8p?IwH`u6OKZW{Bug zF4t3K>(OT+5ReC6-6Qj1e05LP{Cxh4**c+;dGQo*hg(G$oSr|>X@f~&I;0Hd@0mFr|H7vc@5rF23kAGA zQWr@9%Yf}WD&8+@!A=$ua zS;K+{6)*bl!1K_sR$o}XqJaC4z_FcA3xF=>^g6hN#2W7ld?GTtErDEBQiQq6V;NMW zNU5%Qupv0)#VJa;FB>i2`QdPj(7am~pwoSyK;wi3J?-$O&my`Q;CsA}QjF)GGY(<(6B{7e?zSnIcdnYS&^*{8L%=Iy(lkD0z1?r zew+hES@W%HLww^%x<21`X6Q$nxk6}No)fL;|M^lQJL$USRvRvnUHG_ z{SUL}DWOT1v-v0GL9r=edS<1ub~-F;^UBG4g5!S)n$U9MjP|R;BAE>tGk_%yN7E#r z2y_c|I-X<0(0gX$J({inA^H0P2SwAMJbz zG#4*qdY!%s_NE!t=N<>JR9EK$vgXVuXA(2O7c7H^v4v`~mVD=*`BG-fCnv`NukemE zTT|^ibFUaNW)_b+B&LXa{rqm+n4g%h8`zf|4LL{#nM3v|4dJbo)y!H=8B{MO z4+et8oACiFWqp9nNagyy&7a0Bbg^ef323odaF3&{pt&5kLYlfVL>8HiR!m0 zn^$i~$s>L+(-WGcz|GjCcVAB^KHoNkjVo54mx?_JlE6GSkh}5>N>LN?EV-L8ehU&N zt8FKA0DWyHfum5sWz=kb!2|5`dqxMZ*A?d}JtKFV@rD+)uUKfcM`9Hq)jv2M^rvD! z!g-gwbrcGr=Fj8zNkUOPGcpTh*CPLmn3W-#WcyRs)eqa{UGs25c9XA?P=(JCPS}D( zLoNwct*iy1jR;P8O-B05^D4S~$PhO`ZI)#`6=hZ%3W)`^j2)gT*eCfCg*t|5>q7GFmI3!I5AQfFt!a9#@PEkR4S}~{6jub z`ls`2Y^MT|ejQ_sx0tUh|A!I2{DCfHBaKwQZ@}wESQ1bY$BvlAO45Bukf&N z+lA{fcCgwP?V!gG{G9%hMt8^`Zsq_*@zTYa*ND52nCJIp-+YOXnPY%_B25?g^)mGp z@D)MOdVT>8=<-SYtUlg$Nl_o-qDZ@i@4_#kfn9KC)kto<1sH*WPH6jKJE-)lOdco% z(_WUN(STV(KbHLhg=%hSDbZzRH8XcIu4IogMosuq+LRmhH<$hvP2=~;=c?}*&`OIz zoHTn26~qO0c`KCZb&~(PzXYJk6>Z_vE=x+Y-)D*t#{5^V00FHb%bn@{eMfeh7L8_K zaeV8)rIlloG4K2;LQxME{{3XXLHFT+<2R8j&%*$*cG~QP?ji+c`!&qN4wbmpHi1=K8!C}mGuc!E&7w937s2Z9-Fn;iG}q0K zY+!6Tq|J|dce%r_VYjWq+zYaj%&D<{KVcWr5J~G33qtWTq3l36u{o}bUuMF)9n^^;mu}U7#&IXnWTVbh0nxu(~^mn0aa3( z3_;j!5^)x@U3`nLuK;zibFF<*0!7noX~AB;eMb5^`29#k0CH17>M+v3 zkG?2*{{?#QKK*v-x&5E;B~{AZ28OYxl4;vsb&xiMpa>>J;huN;iBBs3C`8cr|7TEf>W9sNwUWY$O#TPxFT9 z%8-CyizrG@dr?c;NMuF4+LF$42tW-7UY3byqrptfq-34D&Xb9=FZy9fqfeZ#Yg}v1 zg@b22G(HhB75sQJo#kC)*g%>ujX!wg6#ANM!0t|!wDw!K!bRm*b19*ty-~jY&i3V3 zIsHPwc93{qp?#km&$wc4;;Mo}>7H)BG^yi8$?;r4v4>86Id8#j{c4j|T+a{dxa7U2 zUZT7JHWH4_@ztF)#^wmpacW56<|u$(wa|PG6D#Cgf5wl`NZHEPxO=AVa&XSvttQ@4 z)MuA6(3R6?2>oDeo(vG2#+~F89cnI|~7V$ZQ_pvHKiH#v87@S*#)RpTKK zz4EK$o5qkqDYJv^1f-E}YH0Y4yKjr{T0C^}?X6%i;hwrRGJCs#=9toM5++>ED_L_j zLYUv|Q_a;D_tPcd*b}kE?)n7&eODuE`uRhQPX0ea!;GpqN_c8X>!AaY>2rg@cI^2X z=*V>D25ki(X8{|0$((VaeR3y|WK01OjgHFvdYJP*85*lsWskp12FyCkS5FN{T!~0Q zo^7A{{j>LF2R#*Re(!q;5`1DKLwOTRNnX^lkSuvO@&A}%U8;HBJZB119P6a)+}UWT zlohG%8#zo++?v|LQaQE-3bV5m(N)ubsF0-x{fB4r1mN$PHB-&?d$QWjDQraAxVWv6 z9SQj{upF={1yQSo1^8I$Hx1UdYZ0vufXdZ>HyCgMqTYXf{ZZM)1XO1UMx1keP>^QPI{xq~~LN#>SADJlB*nUVZFEM|W{RitvhLkIUE5K^-AL#3Jl zKMOAjy~^?8tko$Yw*5>r6BqXL<-oTz`KXmOjX;1$%}o0`dLVbr^x%pFS^^NSotk?S znD}Dpq-ou6r4|Ec@gm!wO2Avi?m&~V+dBrCUqqnO^p^vo0y-pBer{js?fK#@s6kw* zM>>Zg-0REIkbeli9EKLYxvV)?2RaPZ5f>I!t=utACOnXWloqe9cjq}ze=3nIutmdK zw6yCc<)eVD?2kG-Lm*HYEN<`EE9t)=UAdLPba)A8L-(Q;EImmK*JCQe+zMJGIl_K! zF0b~g^c;5hYt3?`-(Yh;Fds>%lTBwnRS2`Y5KRYB;-!W@ceD1P+g+y@FC}x)MXMAy zRC8XYB?@8~yvfju3;hN0@x>5=n0L8&7#VmyD;ih!&Ri-{RgP(0KR$GbEfQi8v;=rP zU=P+|HjEdWUSH-DF*WxM?caQ(x-{^xCy3yZvfW_g#&708V@NgXTEWb!Dtsw^3C7s? z=%;dKWB-w}sKehfk)!9xIl$?5o^*6~Evh)r#WD~CqNnBu4b5zyQt8-})p5S8NWeXJ zCJt3>B!2gkbVXs$`feve42O2##(k?WM8Qz0=)JLB9Zp<|?POtqiOewFGG03>@8;u8 z&FQekE7tAKsLY7`slo_rHKC8&Sjfm^b!tfL>?*|4C>_8|}BVTo(E9G$#LjJ;Y3j-9SjFRCtY+t7BZ#xF>ijYnmUczr25Zq##i+xj5g^N=(UzGQg7Y&6gAE$L=oOxmEbVsLJ$aekz%_|2Hg9H^1% z*fHDjK|U6b>_(XK_ZPbh)S~#T~+vDhw%!mF5zSn zkwKn31eoUXAE=WX!)15kSta753a8o@pd#!gG{YBNz&rtOTssI5h-;hOzd0 zEBR{r?gAGpdVLiGd8||8k9%s(&Vcs?r#NQXkS|BP8dmP^#k4V(%+uIN`VnD|gGx4e z?F&vKEX)G{NLT;!>$Sfsplix5+b0!i;ty7>IfR9?wu8Ymkz@m9WgA&5HnmO*(3fLVh^w|SZ zZqeFI&|0!Ul=X^(u9^qv+~ZL@+EW{MJP6O3BG_pSJxvM#V0-r}N1AEDVQjNa*hBX% zPz?$|(*@7qD+J79=Qv*jsKv3VHXtzEFM_8#+4of#Ns4a&684$$U91U;C}hU(_stsM zb$RgZWxCD3tC1h1Eb(@-MmRJk(4NjTOd!O(Nbcx2aq+7B-}|r|(DDw}r}MQBnzHXp z-mGM_-qU{e!3h5EItFwI>HK15b<5*a?&ZHtl%b!K(O}5j>&XqP4Ed8^n16vRt?RHi zXEseEI+&>uu?=vpKf)OIJs39PirSMC?gID{k=6{KXH!YQO* zYC*2~-K|QiAUo`Kk|8^;HXBS97(8=z`C0QU&XXBu0k|OHoSTD0191}dl;UFF?zhqx zA$^fbC%^Ml12JGagujS``kKG1-16XqjkVpv{{2f@pISs^V-E`;>$l@5;?Z0uZ7h65 zHn81ZSS)eC$6#G8U@KE!q}+JS+{K2mVX8dzXwZPt!O!g(%|2n7JH&bh72a&jN>H3Tys#iOI&gD>>dChO+8p7TvDw*n5sx zAMwUpK6x8NG_v$d#}Z!tE|n*5^nP1TlciNte}J*5snE-ssrLexG^=T~Hw}JmGx1#L_z-lw8Rt zIL{1D7Y`=o+#Su{l9w-&<5^3$hX$H)?P7q6!lB5_=yD`IB$_PZ1C1V!s#Uy3OO5QK zI>+8uU(DxvXQIsLInSI`JMzGz+EM^+zclz@XGg8M{aI)Y`Ev5_!Z)$@j=S4_jgqz> zn#!+dL{)q%{=Ce8!JKqwE1@e@>PbXfZO2;C+w5+EnGVd7N|mL6+@n*$!Nx#G%Eku| zK5|W{a*++@JT{=f4Gg;QoyFd$R0uPEV{{efeBnh%VocWxt+@5?si9!tE*KfH{rs0{ z6cohRNX6U`Q5D+9E}O`?TJvRGzf}I{`~bzNJL3X8f(KbGZ+3QOmuSoHUJL3h{;o1! zlDFkP$&WFHCuw?0so9L&-l!t7-y$%_sH)lY8&tZ6_;8lZYn6qfT92Q^JlY@TRrP*B ze;Gi$F5|MD{oXEf-Zxl{{7-y6u#f46kg(8j;&F{X3oVYIn;sA94C{4noat?;B$-b| zC&zwq;>!sRA#XxH%Zdg}tV}J>{7C=2>iL`|+}JT(ZgT;QAP~2BHOr6d#Ls~~59K1) zt*)M7zuBCsr=5Z}%XvI3pWii0yPZ-7JIqu%r+tc1xTS1)r&hZL`^uv;$Eure`; z4yLwB9=qEMbz}MI^0gF`47c4|D%La&C-GP3Z+Ly8d(*J|&WoU(;N9wi-xmX4>-?6| z;JVfam!8@f9?>Tu=lc?m>C;LnVnh9(cr39id;C*y2&RI_(H^mMEG9ks?!_n_=?)GN zj=ReUFa&dX$=4mQlQih%J+n1?+1McAIhssn*=XI4Yi0p@M7VtA$#ZhGkSMcKxJ&e4 z8Tov;qjXsDUVD#SP(g}ndPP5_BLB&k=EKnTTr?JPMLMQw_Cm($AMd(<7`~a__3L8` zeVt%ZLg}OD>{%;AKOYU#)0CRL5tt?!PND1nUaj@+Q0&9&&02}a_Zt@&E{>$<7!B~E-mbEfgZ|gj2gPqXy7#%`zHTy!#gaN`5UW0nIPD9NWF-kD zULIi0dFb%9`_0Xy9~?0aD;nXJ?1%f|tF-4(J+n%DuuT>8d6)1H&u`((oZlZ0>@_jW zE6Xi{xai{r)}Ila*Pd}8rO)2nY;N(#UW-Q8(8WwNdtE{ahtT%%2RsxKdoJhPre8wB z>uMqw5sPzl0X<(NioJ<=j@j(W z+pqTnMw8-JZ{y((F+yX!?Q^s-4HYmWj{(q3hgkg`OA}Wdl;yQ_WWtU#yQBD&Oh-@9 zKK{EC#X}lGzA&m+m+;*F{@R`Ce3Wta;=qf|$TlNisd7nTD%7vpbrTJrLxUcNmLytr z+bb#(jF^hlUz9(7U74}YD_GN+{2bl;KKdBmKksD%2y&3~O|$~W!-1xGH04>O01<>+ z6mAgh7ow=k(*tt(=a?p>50=Gs8Tn7C@lSQE`5FV!@;j$K8m=kjYO$>Jdtubc!vy$E z_gAPZy>0v`P9Fov$~6%eDqI*$J~E{s_Gb39A6y63>CR&1_i!b-v!5D-K@D%go2?JL z5=&;rz8wo2&cXIbu#9!Lf4-dPy6GrsM7OWvG&rs{asX3aF<8l6`dR1R*z>&~S)4NJ z;VZ)kS&o8$SLQ*ytd;W6sATbKs>ZMFS&CENUa8u~nsYGTL+h!45g znafI|`c=)uFd8U>j>Hs#WOloQhF+)Wf$Qub@529*((RudQKQi%KJ^!bXnWjpsg;}v z!39l-*|Ge~{X3Hbz9c5?3lfWgL}^Ki@X*pA`>t8LK-KZo9E%A*!#W(=HRC>-jk(@{7As^YY)C1MUq!NKl*_y)d$ zE2blYdZ%&uAM)Jssp!Y$%N;VZ9~Q2=+6&1c(B3ZhB05?3ddkju218L%*Pl2{nY;_P zLv5#O9e$)*2b|?k;EKm3`*;_KoocdLK-w86^Eg^d?D{#9q-%8jm`9X2JR+7A3bWVh ziO9Wn0l>fk)R`=zW5kz>IVdfi{>?%pj%)bzFZGy7&P{#fa4~5?^-2{2j(BYG)R;>& z$AxUn{F#{V!h*SCznl$%FLF*bDu}si=gBKnrCyUFtMu8yNsULE$ zb@ZVzQ5*kxW#Au<--U!(%-_WaIKMX_09PSI&8+0^=Du6$d`y)?jeK^HTDQtJPMsH0 zyj@OOreMYfFeRmA#I7%}MF2*prz#}XqVuhMFK4`9xjErDDCA#Vd59!JBU`ag+au3c zVE1p}XxXF8xU4GC`;W$Kxb`<6g6O%ws?O5%y|k)XS}j3}u3$mG%Zhi@U?=n3?~8!> zw2)b^v~dJZSKYVGr<@_`5GCv9$Sn#9PI+_&ZHYyU0&Ut#+mU<|Muu3<}d=}YLQ z*OK4o8SuiPen8>S0r9|x%m#*00`+1u2chbDFnJQi53LV9 z)y(T}(!C!oZjrPvjDs&t$lNoZU9BKm)ZTxnD7oqTx9jHZ3u3R0B_%9cg+fCzy-5RA z4ObkNLZZE|GxeM$d%!3bv_%PdQp@-W3n10xSUoN_2 z`|Yg9`Pzg(QuCD3;_XscH0+D8bUmM4GKAKf8GwG z=rpEdioJK>JuhVtUujp8CRb}f#~AHZ({#S*=i$0 zU~`H+wi^%m(-!-`FJBz9n*@G2kV~K*uVD4{4Z^k3yPK}!cAr^j zD(6M;?LYp2EmDAibB=GJTL#-9_6srCFk|DKyu18LLA(yK=1ZoPIj--j8wU}IQmcor zWZr3($?^VsB0~En;+yi+(9y%^w@|TmmYUh3zt4WG5eHBb82!S<#WPn!7Bk=^Oj0L zLe?VsI#5|mpWuWxWM6i|(cV&-mW@6dyAn~gN}uzgdZS^r?>GPTzmH6Cvrd!$jL76Y z3ujQNwvq7vXA{%$@tcU(>THh1a(y~j7;;@~!*H{Ecp%0SZYJ=SITHOyr0bpyK~70W zT1;0*7-I_R?L5hno@71nmDpL(qhhx$G6|uK@Mby6FtXuD%Pr*uh9ib$B@U;lrJ)Rk zWl~&Q3NS;0?3k1%g|2+;QkQ*AOxsr*?-#dle@a@Ka18W)4@IHK3P!9bwgb?8zbAZG zvXy?%IZO%$GIu4SrRG$LW^4LB$eq;|K$9BaA_^`F5Hf7WB;IGu0k-%eiR1H`i)J92 zHPS+`v$nL{kBZskT$`Pb|7IF?+$69IKf&uS;RzT(ULLrdkM36_e3YfGz|T|GC&@T{Pdb@d&V8+)Qf2a zY49^^t_o-y!j=kZR%6QQB?^iwp_fj%V*nAGJhH=8;-}wdH5*wwyvJe3m;CG~Zq>9d zl*Ui_uY&5`KQ}cUKs6m=mJ|Ny6eXvOIR_fMI@nMRz6#SS6p>qD(ZDgm;(o1&9Yg3N zJqS5&y&H`Bl89LCANo7?Ao`9C&tJE{&;A}dikBDZzCS4C!W@2D(U@cDz#!Qm5_Ybk zyDJI0syAL?uuPER)ygC0(5yC3SH^#WZpA)6Fk>&I*LBX8Z}Z~2S+aj0bdUvN1lUTx zFFfn(E*PgG>MjZWdIE#rLpW9hvLlC;6`0S1iMu4{f+R4`LFFK@7p!|1yW~OCw4>iM z_!q-R!f{qjM??TdvKGs zernt-$zEi){dY(TRH(hx%>*byzaz9m(X(jn1S!q=45G$8+fA-!=7`ArtVy2+nPrOh z|D*>A2(ZGKkRFlbdR- zi}NCs5f`Y#rmgV36$4k91-UROHGurzo;+&MCGfhWSlD{lho>m%E|qhy&QO)eaT-ht z=!OmWqaNIeE#GeoE&RCEVSkS8_sgqnMN+6j-EXtP#M{6NUug0&PmtsJ0=F(!T*K5=(c9?_C#cb z!icX^ax=}gs+Fwmv)V!>?CV7xW7gtRmg`e_VZ&5haO!(Ep!7l-(X_*x{~Who8hCdkB5H3hbO#<9f!VNLwBmngK;3(Rxm!q=Aq0y5oQ5iZ}tpO zI{1_k7|zr(P8M-I`dzz~VRfoJfXw!b=5W*#1-Yz6(cN_w*Bhf`0v8<*-#`mZSq}cZ z=({pOqP4uE4%x>Ss7;MWT7lZC|BASXfQX2l8e-3T#HaC_JkIR=^VsM8f$J5Sn^l{v z+51`RQvc3pEqU92>4|X)OhQ)yYgV$cbm~v8Z@g@!)i;MqoN?_G;CzP2%t9Q#$M-M` z0)A8>&jJfDK!?sl?h>n%#SK+mu~OnYXG&^ImOI`#9OY*b<*3ok`CT0`lT$yoNikS9 zp*`uLX6EaH>bo~w81r&J;B70fy+Z0zez0?Y<)`Pc!@G;(?tD3>f{4zkKFXv|&Y|6M zQlXt4>VHy(pQLP@OyWJYmbhAO-Js>X;-Umvi=s0NY-u|5rSrf(?8N`zs+75X?ikxJ4ixg&`%&E1cWQ5k0uhXWVr^ z^G)xA_8lKN&wpO&xEiE8EvKDJ&HGtPz+C>7LcPcJRrH=q$^a9QYfApwkiCeYk7@G5 z{@b86iXk3+>l<_hTJ=83(bTtuJPV~=wJU|Zh!?dpNKbD_uv_+^x}xxc=+lK3 z0FH%xpXe#_dG(*bT!1(SzO)$5W7qTTOHlhFxI|dT*D17ZH+k!y@kf}E44iLsA%9CD z-b5rqopz(aEoQcSOtrY;zv%rvOmA(bn7JXS@l}g=m_}T*zlVJ0kw7SXX~?@~i)cyB zWQ=TJKL_m(I^K&6lccC@Z<$N4L`)_tK%7#46k3TFmOhI6e?%+Y08u7JteGmGoCgDa15ue*LWM^LO@)yYFre6v;~U$quM@l4SW&nZuWFv zx)xjUS(@@7QFexdh}X4ukGrp=!hZguv=kTo~QsuN95;&52>FVu3-Ra9B!Muyu6MhgeM$t@hD31O zRk&gGlCti0K*%#q9U;cCfxCLAU~?eNGtm4pzQvz^mNPjfp8d#7>eD1!Z)&3=goy*3x|9qKo5saDL!K-o=P3Nkm zc&4hYQap+x4o6F|Y?rjbum!0Tro)qs3PF1*0J^O$9a)pTJ1LLIdLZF7qov2k7K?Lx z{l8+%1UxGl23TCyTkeZ3y{_4l^_jV6xnl$+T5ah*oU6X}t9`CZT7M5sUSs zN3~1=kA3KGlUQk4LrY40aA;k9!{M{~ppC)mx1`zCX4u%)S$uc6*{k3%F|DM~9QL zRfPe*k3xtGDRLxwtoQHucQzY!Ez37>pfb9>3J9DS^xLgJLrkEV?_(to`-A&&4gM!jp=0{SUK)G?kO{tXC`V zy#L%;4*&ahoUY{-zg)+^yBbggp8s;3Ky^Rpwjqg#ky!gmssR4=BNo8}^TnDxBIN}- zaj!Fex`Y&D>7b6#eoh*v!YVV$I=uY0S_Mz{ADSqEt-Gb(4LVz~zeYXcikeW5wSUy@ zwn**0O)Dc$lLJ|uiPWxa1=GenF@#8*z+dflI!dpHBm*6v0-6Mb$SbWiB zX;qC+lf{!Qg5nHolMoBWd3iwt;zCL(IJxh*2d3-iId>MkuV233T_~fj`FQ!|J46>H zj0Lty2&kmZ_#qSJ?vN!~DjYc=Nf8_>CEv0{E9HEkLK|+mPdZkP(8HS+^R)?!l6dav&C4`KkR~^2Onq+d?4eOvPxkVE5*BqAUYQ6a^HHt`5a$vPgZImTxq|&7i=Ut4OrhQ=yUP4q2*A zAIB`4Mt^@A9+VH0c6Ha~ZgFkBXG5@FxICqIJdNq+^1P&0h9K#mqO}H?L`q`VoTe0i znb~La*AKipi^=D;cu-`nXEzKlXu4&!G-Rp??4&0Zs_TTyBq}-Mte_;wR7vQ3qsb3% z9rpy;70{GtrcY=dV_R&@bP4;2EZ@B`AFyN1-1RV?)JV^bLG;U+F+xg~)vjxOPlrP# z0k-uO7#r*nxUSIeUSR%YvU1UZKC7mTegpS5K*Jr_NtO#XF9x&uyqi|88hIIfRF*tl zmGtPzPc7@YmnfB5(|&fhp$D|GMQ?cLL;yOiWnra-IzDoxN-W%DxUlSZ;v4c^9}RFj zxa~#Zt&evnjzT}2ZRvZ^N5pn$+wN)?UQL^-xK-V(d)l;uG&6&AQ}16%Hg@*UPQRIV zbNFutuf(^PZuz2wD=|Xe?kUNmx~qZ5n$K$eun=gn*)IsSHYu*z71T?fasdjh%0SDl zgPUJ&Cw7ML{JTm9NFxe08Vz?i`%&syMzacp=Gjnn` zB?nA-gX!=89yTt3KZu?X7(`cYrP&j6j30gasB}yvA(0Q`6c|$0K66LLL6y!S3+3mf zvN0@C9>miZ|3`i>DUI7pJjPUzn|aJkSkx4GeNSN{K%usMdMf`;bo!&mYj|f|0DH-( zzt&=728vwD(ByqS_YacL!O^EHt;4QMs2Ag(K_7uce`Pppg_rFADV6E~l7XEppSY~2 zRjpz3B+hPAH~xpIs}6{=d%Cc!uvjdmNG@Fh(hUpJQi4iJ2nZpsEV#&>fazO30i2HcYYSIqDC(ia`NV z=%BV)Uw_nf5`jka~T};wFbHhn?EzZaq+_65(mKHDx?a-btC568wWis!PyFh zAM=|7U0T0m3jhHWr4c6^KTU|}E8F-oty-9y;Xxy9ee@>@73sJixgixpG8Z7_VAAnw z)jVY~w0?sR8#Lh373la2YnZubxmXK3+9|g{c{Xsi$HsqU95;mqeT4S@Gl->dZ=?IW ztFn=!%3ajI%aFf+l6)04C8Z>;5kGs~?TPbMjAh*Bjrixi!;G^7oCZnDL!+j?Wv?HI z@Q&!L0`B;qkElbgCVz+ydt|pxBPw@@RW)n*UC7DA*=a{7@CYQF&14XH4@>jMYL1#NwveI`T|2Rg4Agq4R9l~sf0%iA0>FA^u4WQ?p1`LrX7OYo{+Vu>0s zk8iWp(ljoX!pKMXNLODz9yAiH?4BWUZKY|w&w3#O#07j zc?0dooFm2CVajw+-?cyeYh0LYsuVbK^DmkI$T>I=wDV`#&RHOh0oh}GQ-9%>j@k)q>c&2|qSqz2#T>tw!oy8hsOPrBkdvko(Bp|1?S zFb)zR!EVA(Kt{`>oI0EHgEX8sy&$|tE9@yA3KO=r#-Dp*{O#8o6H+%Ibh7;(Hm!Yp zrm!;6-aC7l7M*w?lCU%>S%HWi$@{9We(nQ3xOGD&b`sVocDBCz0q@DSTib`t1=rTW z?_F+7OxfpmD(m@VV_lsEgJX;Afjj(*8JQU1mJEw0j|VAk`m-#S`+sDKd9eSVpRI#CXjLB%Z zPyqkiaa)~2Zs6+`jgH;M>lI~u&KYoUuuE_R2m>*G$fy44jp4Tr5`T;lD9mcs(wBbd zmU|VK#h7v(ka}QWrB0qVsnsP|2nH%?wOLJ*4ww!L>(f&%G`imEQD$! zo}ZbPdgS^s1F2h>O2^spJD&4z@5%Ceer4~vu*o4hu#ygHQ#=pr?ivE2-hW2~nH&K| znlzbeD;#z@ZhTu%!v6;yfcw@X^uhcXobb7W^GuIelL+DVShH)9bE^2tfqfp?-c$PG z>;#z1jS+93zv#964YJ@gq9gBZ6!}Nr4@4C_% z>U)x#A2no5&ooW2@?tvj+;;k$-1_!TN_~Lr_h6VcLg_40xMlSsC0KC`U-iFQ!hO(@ z7+B-r!+8lM7~YMwy#jqgT@diuG!k1{1-PALNrStYArNEI40idFAPK6W-sm~5wn!bDfc7Aw{EKuSqb{cZn zcK(WKYd#r!yL=o?-s1Z4n%#Q2lp)!7y#RbxhC)VmQho|D zjs*QZ_Kj)y;>d36Li-JmH*?LOqNYFn00Ml*O{rn=wq!bab{T6GCsm)x_8hSeny0zipug z??`P%*YR|rGck^jM6a#>QS=4ny0x0UEkk7&I|4orIZoM_?C!wX@>wR)Q{>V>)`p-O~Joqg(;+pMS450Pn<&|iySWm3n1F3?ZioY^Hnf(R)2D(01zZ=s%*M>*3O$sw8>#joUiCbK~(KEIqlV7&^$m7Ic zc2O4%M>Zbe-{i-4`jjp~jGm5in7?|OePYwe17&{f2U0u-{$Q0 z4|BWqb@gvKuL|SI{|9cs9ch?6=WJ8dCg+e~(QT|@AlIfc%1&3&Y+SDFn56X9i(zOf zsjVW=R?L-^=CT7yQub$Xbv@MB|6Mf55nJ9JwpU1B9^qu#W#S8-=nK`p>k)l1==O7Q z`+T_KboF3J%(H6}Y!(vwtvqGB2RA6-Q=~)h_wMoF;m;V-%CJ2t1JicPLsyle8%*s7 z56DrOl<-#9cbt6N&K5Fd7Q>&{zODY8siuUHA6!lh1+!5%Z)?x`f5f8k5;sD&%T(mA z#UGL4-5VcL?*BvW2FxfN=xe1M$L48m+W0r){RK5+(u()-nb7@Vf3k<}^lg-t}C7;Jgnw{8t96Y~dU6ads9_ zzXIE+<0jTUdkArK%#=Z<2=M&3X`RW>sy)3gmoQWFn%6L6sA+)6HA06ScEUO~>)I_J zL?&71|E~Xy_~1s_w8*f3+d{`zipiztrwWr14I1b!=4z^-m41@az13&y9*s1C9K(1+ zQ-epR@7(DRpvZ35N9VFEk>*;!EE$AuuQ5;A}>E7T8kH#AdqXRJ!ajTsf*+q6FEPl4uTKNm75#0f<^P-pOLf|W!; zU(u8rj}GP6TcFh4&j?==9Ht$aLJTElb9DTof0^T6@qWm8IwUuCtt)!b#PHXMirA3Z zM^nA7WndXF=#1ui9#v^qjjN?Fq?!78fW7}|eeAyKKnMcz9uR)R+xAEdV{~d|O3~cW*0n z#gTbk>RWxj(qPb z0eM4;oy|FXY8q^j#s^sf%-133_^O|b1%4&eRKJ*u9GXd6THxZAd2Gcer%v)Vq>Xq6Tm=7sc6qq>EY_^Bt^sum{I-t-@qe3I z&zOv10Uaq(b?Sc+A)abX&j{bRR?!^F%4nSP>{$uAISA}*ydvV*LBS-yMxxNgF!h#) zKi#K?XOhQ;$LSs6Y|`7n4A@XKvBnW%X-}jNU+oX)+%GQ?xQU)sCP0Ckx_{6|(wh}b z$Jl5r^ zHQSR&k2MeOn{xsiEVA>L-p1ew{ZKXd6WnzL_ZicG&B79bTJn|)%H=P_5J0D{rW~-& z`*0-?Y|{j8YOTCPy=dFoNThr5=IBpxg1e4Jvp%+5%la2TdZH@PZIw@Dk^CRY!8{1U z!~QrqKOtfcps(QxA@;93ye6Ck-AS{D2-{yAuldV(0SO)Ap?ZD2`Rur3r*Ic1Ey4V5 zdN}6|{={vn?P>dU3E(3BtlD+y`kj=mq`bn+=K({$DKEhc8ze#3{$n~NKPQ8KI97^rphr; zn;Z*Fa*}4fS#y6olb7_ZqSNkU zj?sO*DJ=^I1A{^FONU$HdYCUS1##EbW7TFzpnTzqC1Us9vkX1BvunwZyNI*x zxH)cnsPt0#;eRA0KqXq^6P&K$ttXeY89Bk0aDe6u+!Rx!HzJ&yR-Wuy;wut>v zUs8KZzz`eTwjQ0f)=~@9l{2)KPyBB>9Z4dxkt<#h+q3`OV4kfF2a$gkFaTv3d~dlC zj_&az2fi%#mY16R)t^7>C}dAGA)fQJ_!IxYhm8-iuwHMqiaGY&-9 z&KULxU$Zbc6Y_{W=VMCUUSE@QHSl}QH1(xpgL*q|k<}NW^%Gys6woz+tq;f*qll1M zhWVwT+ND+Dmm+PHy!<3*w+kbKc#uT@Ob%fqjM-B6*z@7~NdLND;9YN{h|vA}PT&-{ zL%Jvw79U9b7XMO&T>Y6Y4yx8D?c%w4JR=d!T3igE!`Q{!YJ6%!`w%efR80Y_P;C2j(EdMbQ*7RE7aLIW*|HRyz^JnAUl} ze%ai|ZD6>{#N)00NtTh@NH6~6(TgX^bJ?WAADire{OI3A4A7VZSj*G4FqY!;)4K%! zH6ef>UzbA)uLxedik0=g^`CW*$tTO1M!{L zeSB2mUs_*e>ISpCoSvtI@CI!p?g;*!DFnXHo`Uzgl!GYL3%B$L7%B={ZeLBW^aG?T z+3Ay|5B4&oe~nC07v|SR%`i@1qSqu2U(TOu#Wd#HI;{d#O)#0MMDlIOp2s>HX5WD# zv+YetSEi9(8_+-XvsK2g+=v2S- z_hqSSST9a>%4CF91ycY8NMcOW?b(5fY_Gg2+VkU;T#R#BhI)~bntg+jL}q&6GOS^# zf(M&(!EH&7CsYgJ)|!dOk?Gr+?nBmt@pVpw-rP+Y07m~q*g!Hf%AdpWO_Q8)9j4Gf zh68%mBJ5*VePTbsK9Gze=#E?O;|F-!Qz}xb_j*!4``{ z!5v=w${`243tip-$?`z9<-&^ZJxCU67N|D-*Irq<)y-#v`AHQnwBqXG``0EuyxJ5T zt{Fx?Z%-8YXIx-UDPeTtgMs(C7`+Ufn{mP9!%ZQ>8D6W{&eAjbsC>AB2fb>2?6Q*nNeJLVPJB1_Dz^E0o1-lepfdjsk6Z&QJv zjBEQB95+{}E_(pWuy z&MQQ(Tfry7bO%lS`}0T?HLifz-HU#ubjJYuaI@cv)c=0=yI`dQ?U0gkN*{r=0VAsq zff|M$4267~=-12dUh*1+S<>m0 z5zX%k40*!_*0So@AM*UmkANB^apBV;D!s7TScULbPX^r|@9W8-OUa7`wA#S7^l{5k zb@`^-UDOyl9|&6hv$g;vn0!~I{> z+=L6?3P&X_p0+i{uOG`F)^{!*bF4Xkk|O$7jz`lQr#edaukp{xPZ*mFZP&<)WPxf6 zHuaRl!J99yWBx5Z(m(;CSee1YssQXJ774w5+}3iv(Ticb-n1zc{)!GMvK9*4{9j(( z4HDEXJ(i7s_ybVg-@Av)thF1`_>P|w^U^=X$79Ca`CrUN1ZA;;H)gPu>z;@CHVrgp zqNVNs+~~jG8MKFVz1ABgWkx5?kfu-;NN9rm#5;jToT__Rk^!L8k=(r?G~j*C|NGP} zl$@Va_$yDk$r!;j>8~pYPRB(u-l`=H+=hn#e$9XYsB1OdDB>rLmv0K($|MEqt;yk( zjjBF?&iM%6hGHN~Qt#+Z(_YqX4A0YJ+l4r2xyfLOur}JB%3os`br45n z8UZdbZ-cgpn}4P6T2`$7$;;Nd9hvh>!`tWY2~#y&R3Gxo7JtwPM(W|0K z!0|L|M_nSTHgjG5>^b>&m`qf zlCrm>=$;k8%si;DY@L~D~6Z@p8)g` zLP8Jr{IN2feZPb9*L^va+{FKIh_>6m7!yKwq3MEk~8Z3!krQQW zmHYWaX%_YFlZ;=iWJ9NSyJG@bTn=wVVmL`W2F3mqwv;>A zUuMjG%e?O=B^YAp7|ezb1&g7O2fU((=ToNoF)OqoU!?vmgi zSPAR8^+KdhOrjUn`gp|)|%WfecOYk3c4Xvw)fSBy$+V!j{%>O`+$f{M{%FZM5 z1_>LGcp+dq=^RlPyb#6=6kS_7NVt}SoVtcua;|l6{%8XA;pDq7F98=w!0`Q?L7NUi zo5VQ0N2Irt^*HuyULPpl7bSdbyudFTe~iTld;!>1928Budy96wv1&~v=H0{Pwf>7| zcP=D=Nd1iVBuflQ%dM1awa$#>w|yl47X)KK2;uc@N%cNoY{0y0IWK5lUjF%uKq~ol zdG@x{svdbWFF#*Au-G?YA$z~NU@N=w#?~$2VE}%*LiU#TI|Q))xCt->sD&Rv>0x(G zRn67aEN_WHo4YKhM844=;UF*Ua#jYVP*09-u0X(2FP?bhUW{?BTR0^Z(GCAfJGU5# zsH4FgsxwsXl~_fD)?m>h{u>byO&CJEB9t3_P4*plNg=4v^*GUQm#|Otg2erOG`P6y z!Ee#`AgJtKn-d|$?|`rUw;2dM2VWU2=>;BWHr(QOnKZMtspX zP!0YRHL{?4%CF1>e^0|$5)(lJmeYMYTr{4MKJzF)S?`UY$qM6|1 zM*_YG1+=5>UR$y=$p;~@IF(@N;|*wb28N?yn-umdcQ)jElp>Ul$A0jA1P)<*NX3>j6o7 zEW`8sM7{O;iSyWcRU@{nOBPR%AsJW zXj`rxCFmFDLHX^|o@FcFRmvFh1#LwC`Ex~N{S8BvWEK{rfjFj8eBUG>j-?f8d#iB? z`#+>7)Kx_&7yoj6N;$z;ChB zs&Fq)N)?-ZZlt@TZ#4v=PpJTXzPV`Ey7}(1s7P_eBfKZb_o29&<`hR7=P{ZIym)A% z)`9XcQ}z~){`5zmXh&T5nsCd3jpzr~G-WBoEk>E){b`EhVCkq-ylYIGOxr-v&4v$i zA#)vf)r7VD>!O11->-KEx4_CK=&^5p!uLqE7P_eprE(MYl3W50B0R;%LfcBiDx8gR zbBEVTE6TEB+=R*Lm#o8bHcD@of_F8-XFAbriC)qYY|HOVE4kH@*DI=Xb=Z||>gnZE z4GOIwse_;Z6cd~z)|*^{p@&unK8(I$d8q3@Ne~7QanYh+aWAHuD^K0v*w7wqP9j4| z14D>1!p?ACMLqD<^b0fQzt`72V$2yNV@$YX6k)O&9a@;fn_$^bbMeWr_|HOZDF*o^ zVP<|`-C4G?+Ff-2IS>}dO?@W2YGXxpS`u(myra(UTc8pJDNg7KExb0X*z;}hK!*MB0O$*ksSb;`4?=0yi-3hhOXs#VNEQ1*Rj~+!`K;(i8Zzq=p+CQ z(wSZZ+G7^-Yq5v2uRU`F7rI{ou$)L}GnngGOmDxncxH9n&pE>O`XMuTS7J<|jl2#N z7{FLh35n}h5_1`UleR1YB%@ zca((j?^_WZ=O@%i@+G1NLv-&GX)xYNf`Eo|ag^Z0emk2aqX(5yeZJp}sS-;La%-`N zMsF>?y{qabeGnkaMKLDV@}9rQi510D+qM~;iL&0txCaw3m+hdx9-=|X<%Z))|6t{H z{R%W*!oX2x3GGv)5K2$ycg=1)xhL&fcz^by)KQ>}K;BjOvZ>XiqDJ)q!?NeV@7Es_ z1V*2X1?gZFz6YT}CWm1RS<)8-exI(u^vMU7?Fp0OI`vAI5^U%ZabNlVGVG+H;l)b2 zw;jMz*C2(r$|MQgn$vh&l2V*60!-0fvaxhJr*qcSaqwltqlW)?cIA^}%7ubfBCfMP zQb3sLE}5wF7d>(udIB1o)e?l8-+-d0CQ}iuLldb zwIvN$Aoy@&>UHgG7P&1h)ewuYv^EYs(eS-Q`E3z86f8bhWa#AAGv+H8V-&IPOSmP$ zp)4bOwQN7eeh2c~tn2k4EyI2(ICO9hEgMWd0XB0FyB^;rLK~E0}0inJK8hp#uCK zDfEfc&7p#O;G4oBirOFUJ)-2^+2v0Or`Xr3Ac@oWaxpQyxIsZRrkK3+#wu#=V5RhX zn3V!`?75RV0w4w84E`NH43s^Li9MWB8^h_AUpKyCqMDXmQcINC&-eB1zic162NB<< z+TM8y;k?C!y~OZhwVc?iv(O~RSh2j4S{)RJ@6llHX9v~Y`(%~Z@iWQTDf(86k_uvQ znL;#HRv?0149wN=N2voh_~-vz#Fq=oWXQ29*b|Xpsvt&j9jVq{+!Y@dsp|p@T-@%) z(6l=Yg~gxK=NLPk^N?NR@QU5~+vJaa!W1t`B+1PKItjkNC;=k$y!`Qz*6!?eW}q!q z9_l^gbrp*NKi=4K{K~#jT1?6w?{KT%S`O>g-vMqlwd!zwE%OV%{GFrrW;OK~Li(FP zGWFrYBo1|wqmb{KX=vJ0SckN?bZW(#FCRQ62nm&otiRwHb`g5_aOn=p;`HonJ*HoI z$Mm=<+ca!~n>jHX1{ZMidmt)R_@I_(0Vih6Xn zf{_%@aT}GZD?OKQAC^I^FebZ$xEJZC_Lz@udJOA(#I7y;+SrLnk&HmGii`g|{h7#9 zD@s|g=+VDwRlnz!2E7y&`JG%rKCi31dXFzkyXogrg>=2VvFSyP^mh8Dym1|_$bh7Q zBqX2VoG{Bz0i0D1AepRP9Nxs;JIuRsC$d7k-ROzuMY`onos*pFj~0jY6Lqc>*WuRV ze8)%F91I$t=l4W6!t`m2FJpE4?2LI`UnMVLQlV zKkpgyJ^#n8wdC=$O8R1RXyG6rzu6l70B;?8bs;(a7I%PV?#$)9K5^Hh_d!E--E|2U zS>dXY&uI%;!l%&s`SqZtSXVXM5l)bPv9$BCF+JVa?mNKbZ&vL&FE{!t9X1k3u?zp1 z>?@VzUa808yHd|w^<3*V#|eGU z7x5L1hS{*?lZRX0NxULmVFc)BJ(WP5a%=QUQ@}|gF^1&b+8atl)fL{>M?xKLtZu$I zn^Ta$&Uvsce^QTm<3no(;jcB7awp|73CAl%@~+?{VeeqldGQ-cGsv;{cpb?Pxz(?*{2Q+Nph8Q75|2P*_ozGEN62zYNyL-~9Cp zj7Ya2m->&vER3QdS;oGsy}biBQ^b@7&9NAZ#k0rP0qodmWD@rh7JEH*B7#${FM2r( zZ2(Ra$C*IjC)GIfVWi`#>5begiLCEF{ZX(0HxHuV1Cnm3HOXuFa+BG4+y0k_-8Q!O zi4mcXXQ=M*VJv6Mhl7MpEqF`_G6&P*MRRGf^iuk!QH```5h3^E4pm&~D)$C6)~uGy zY~s-16SZ-c&F5-vtqTlKS*$AkC0Ns#(5XH^j!~=2x`-C&aJxUh9UYi9VLvn41|t%i zjxssY(Rpii23V+M)9SoX8EUx15}U0pNf~S#q)TmLkcz6~^^?UXL|X2p+3(^9X`hQ{ zTOV{chF{c8{D{@^ym%t{a`m|QY-YK*dC48oeF*;&Lo!KgpkI2SSnb(sb;@=1=RZeQ z@X_0SJ6h~~Lv2Vjw4$@}tL&~kj0uy&(0MPgR!P5!`J6xi-K7o^StS#nw(IW@mbh6A zY{YO*?1l8igpbU(iybVVba{k4nh%>10O=%o2q{C@4Db0$SiIy5aM*@VR#!HT;y>L# zE1cz%q;YF$mf-p4Mlaw@3>mTvU#>!H$8N+leO(z$PhK;%;kAgk)<*bFqx)DOu?$y) z>&#AOCUJ7{_OVvd;t*9g9iHi<&ZG*=^qZL@4ptu>P3?Hl=O-V!^q_Xf?D*zawijxH z9Z()BAuid3SfyO6$G#6r-`R_Rr2`>nU`M#lPC5gtxs&(>Y_zP8t<=j<$o-L!uPg<7GfW7)KOes0i?}C>f+_xlAA1gu$~K3722&QlZR7ijJ6RbM3=8waXVCrJ0+O^^*R-g6#8EZ^ zyBnl#SE9I2>~0^lNYWN$*~bg>QK{%JpHnl|#qcajtwgVVqF6c=IexW&R&>4gNMo4&=y4NI`3r_T*vbrA*O|+vm>ik#rnEj=e%Lx4owDK56 zHwNs*f)*_y!Po2JL(3NrkEJ~a7mxQ_?4Px}clC7lsyr9FziRhpYwd?8mP6Lt`cx=S zbI-?bLY6MC)XSGEzr0fX>&_i|758`L}mj3~^-mw)Qs^W0!R26N`Hfzn|+nm5= zg0X%@B7S1XNTLPly`d=O>nIZRs2N3>U~C5BGvP{-M}(RQ!*s!wZ4Kf-4hlOMHi>_+ zUuDt1O?ByVXI;_y2gWPU^P{tMcd=Ir2H`q0i7Fick6i8=bi3opn{EuqQVy?uv1hroQCHu*B`F5(-P@23#vm<8 zBj&0iDx=n63PL%t&kHv?D1^Q~3^b!F8tR$R1n$Y-8yg2As}peqq=JrQ5afzVQo)Kc z1D8C*4K$E!1(PH})sxPfWK=$zMAs~ete4`F^s^`})h8EmduHvA$J_0WX0D-3uh)@> zptrLrdr>EBf|a333oo&buyuXvl;0ga%>uA+2zm@%DV;YX-c(Y9@K?eO5>462;$5W{fGBak$pKqHU>dQ-W~(*gTk}2{pI3Bec}2ocnsVQlaA^Otcm{&5u7T#I_y|fH1qo zac%$wmB2N2VZZsmH9s(tb?3;X3IW4FJ%mZA1?45IRRz(w;@O4O55FM}!Gtj4`&@*6 z^w8UV%;olNPdx07KKIN=M_h}O$16sIP24#PV^cgi%W!m)VLcm^?;NF*N}8``+h|SN zZ6&t`m?3Lk+|FAD6COmqYtA~}C)D?DVv>KfwRo2bCwYyeJO5GW5Z|sLlxZ!*)*vKU z0`l^68$JQ~##GC@eI&uqXAcGqA$v|80eq4E?GiD+ua8N>)-#7k$0xfvjiLZ6Qzq@7 zx0t?T+Z7D%&OXEq7WrFR*@YuA9Vm4^wUt8U`g0a@*OX4;U9I9VQ7JGp&jiX7X177w zB%KY}MpjKtudWX&x9LLid@~AbaEJu+4!1b1-5B6T5YJsI+VlP+v&IxRKIS5HvQFS5 zhPkaJ%%65Un(r<%sIGHb8*KE1Dh2sTPAxG>bb&my0;CJ$A!WBYFwKXMw#@#w%S+0O zozBm^OoE8y&N$k#^PeQ#B~7WSIgo~6_y&C;|lkCeT+ul z{O%$T%A`8-ZnA%uD{z{nxL})ZUC~J3-*|zshOGWTx`=Me>6HZ|#Ydb-g(J4RWeD=` zYy2OBIKLwXJb$;!}VJsKXjh%=Eg2(}Lbz9e7H6qv0&BQ<6_#`f+x! zoMjT3AodG=?yYnj@LjV6p0Gg1_pH!QH-(YcZkJ)SF@dS32#}# z%sQUmN1^wC3KGN-yX$@uN-D314ut4QYXRh=gu#hiF}{ImS;;}jtBOBDMT*+rpQPyA zvZslCRhlp?Z=j($;}QUL>E?#Ch6b*CZ|12P$@d*#i9B z0wK)i4`10Z&}HP2PAJV}!;7Itg!R|QO8fuMfpN=O{I0{+8$^j~n`>>f~z z{(Sv0Y`7HWNJo7c8C2u$IeG)D1|vo{h-O+ht5!+Ve^sMpo>NS`?nE(Z7mahlhM~=& zO&0M*IC&gi!2ziZ3d75-uwLdrq@O$gIcE3f~|kWB0yAdC{3%i--u`jKh-cfV;kR+PlkJzSH_e=9?O(Pw(o#Jv&J0z@F0 z!RnVuv#k^I_Ehw@3_op$q6ucGG~86q*W1sQZ+Y*4GN`~gboa%z=i)f{s+%phGe{;htZ2nT9e;Ost|8#^{yWwt)yFP4q220po4rHs zGgDWfgA8!ax5J*ts^{@D=K2d|oa}4E@ATT%miI10`^yjJi#{C)Djz8yatsYuVIAj* zL-47ZH7=~;sC)y3Jlz+5U#f6TfA86AInt?tU&rnZyr)eYQ$)DSXC&2UR1QBW9SCpL zdk`>7UBHBbeYJYAd7Vh-`4)&i?g^mg1YQz2(7}!!dNcU%uG|h+tRr1=D|>l=tCoyl zzYI+4Rc7B>|D>)c!<0Tj1tw-J71jpX@Hv|3;L-pf{N?J1mBw9CnP_T@|YomyxXQD zFI9%(L)}8p3<)^3Zjfo(@XtFVYL&k7ZEGF9;N}625C}Z+UhJIlpl8CoqMK^e+0LNM zys?!i|Lr&C`3>m+*Odmt#i4h3{gX;CIkvtHS&(zEB}Qx)ttxblAM3CeM?Qvp%5~p8 zu|A?Y8u@i#Vps6@G;r}ya**q*{aW8ecUo?H3sCyy&cmEY2RXZDevB3|9PMaKkE$f! zWC8yR8xRY-w_<|7vXo2a_)Y&YS5@=7xI&2*7Q%@vMhXz^ekS}CKsc>&-Et=G!rDw4 z50>x9cOHiG8?b}e>jC7W*pv1jOxGZcVD@oa=h$n)`OixUP&wmC+@L;00TZUS_ z)IgHnUcqLlW9ssqcdsj5mSxvTim#IIft#b5cI#fPc+md*>6wstaE8Ss!S_<@Q$&Kq zREoHZv&_KLb6p8{X9`e5%r{a}f@{9^#twuvv!`$}=+#>0rY&K*(Vf*FK zZcHe@4Kn(K9tc6+!DZTJ+EW;xh(?SDtW0F8-`T5HzqtZZ@(TzgO_jB*)83wzEgjT} zFhnJml9i!2ys@@wz=j4I#gI&*9c9*NK3g+?P!cuDmf`JgV`QuuzeIcrLwBtny;|jR& zTV&a0yt~=2M01MyD*h_!3a(kvQ=z>TvDoV4b%U{PgHvaj3k_NVU zM$N;iLQYWb{+GEnhT!3TJ~jeC8VH_19qR0-31RV)Qz_Qk)L)ye8Zt`guD+`ugVHQ4 z-Br-PBDqSv6RkYjsdS%uPG9F&$tFi+WHb%#$& zf%e!GkgSf5+K(!Hr;+dIeyr;vmXFRnUYDMd7e7+)w1T=zr|))~W6>sLzj+1D9S(F3 z#?9nl0F&}YnnR{ZUUDwCzWy23HlUy_H@272#JnFK?6v&)dvNfMI&%hF9z|3L1U(+| zwTICt-ZF4??_g4rAt&p!o~vt(CBi)5JWokNI62ND7v3t!CG_?~}rl70-2d52sf z8{inE6ExA6SuBmqUpyLbvELibpnW2`yv@3o-z$w9blG|+sw>ChUGE5uH%AUJ1s8&W zJroZ%ZM*cm(o#cLkgXjMVksElu7Cy~>brM#=;LT;`NA5R#tsWWB5O6MP1jdv9_gXau{V+))3oLTSq*E-frEhWny40*76POp z;zfo5VF-joJk;=TTfw(M>PK11g8tAEy&m6pSzJBaGjaqFJ=C=Qe^_}-4&i=x9hA6M zS;>#*q4srL(-cs4#^lv|on`i1Roqn7Pn&;SZBPCALtPNWFF^gjkBT09Yuit*x|W=mzo{IZ&;p78dyTo?Cbb&OFq<3LBHL} z(UNoR*Host#uWUBazY&XfU@@dl<(Hug=hVLbT{yzGN_+%GOgJ9s1Ww4+J&I}+M7E! zY!~TO_a2tw`in|Do0tse4Y>j_A_z%Z$YVBJ-OhBT3_eQothhgzBY#13f4xij?vuG! zz;s0Mzbv=AhE*|YHHK8UtK5=^8pRdS(qTK7U)*08Li}-BkMNmJ4>TBAOtv^F6lG*gAmvktpT=cvvXU<-vIiteL@senI? z0g1+!6U%fGjjC&!5#*268{GH;gRrA$o;~zsmR+2-D$NZtx_$734m73u6Ud2aE7cv^ z&UUbTA<|HCPc0^?z&oxM?|V^a=xz(RHt04c?kCEp8*NWFpUauL z$06+?^B9A7LqzAXETNqpPqbkGyiw(xNMm6{qBMCD|CC(c=qKjbwHHbOOMeBRtwulDj)uI7E$ zvpUQ@kk3I*2|?y#cJc;`R9u|NCmj{QmMGtNqX{R8@fP;Jou_w8ptAc#+nb=M|LRZ3|c-zQ$pjV4VsP*weBW3rWUWHkNM)h z)qnCbW>njA(0P8*<>CNwvz&Du5oA){2 z@t+^aK^6(vC)`IY&&1O1*m%uH_Dlh0&QE>JzkR`&kYv4-N+Ah?jvzcKn>=UM_wK!u z!h94`pGTV>*$6o<)0vH1`QE(Zv iJo)Usyk)(E+JD(Pg(x5`GWOzAUgUGecn6V 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 z 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 get seeds from unencrypted wallets, open the folder above, open the .wlt files in a text editor and recover the seeds.", + "close-button": "Close", + "wallet": "Wallet Label", + "filename": "Filename", + "seed": "Seed", + "show-seed": "Show seed", + "no-wallets": "No encrypted wallets" + }, + + "blockchain": { + "blocks": "Number of blocks", + "time": "Timestamp of last block", + "hash": "Hash of last block", + "current-supply": "Current SLB supply", + "total-supply": "Total SLB supply", + "current-coinhour-supply": "Current Coin Hours supply", + "total-coinhour-supply": "Total Coin Hours supply" + }, + + "network": { + "peer": "Peer", + "source": "Source", + "block-height": "Block height", + "last-seen": "Last seen", + "last-received": "Last received", + "last-sent": "Last sent", + "in": "Incoming", + "out": "Outgoing", + + "sources": { + "default": "Default peer", + "exchange": "Peer exchange" + } + }, + + "pending-txs": { + "timestamp": "Timestamp", + "txid": "Transaction ID", + "none": "No pending transactions", + "my": "Mine", + "all": "All" + }, + + "history": { + "tx-detail": "Transaction Detail", + "sending": "Sending", + "sent": "Sent", + "received": "Received", + "receiving": "Receiving", + "pending": "Pending", + "no-txs": "You have no transaction history" + }, + + "teller": { + "done": "Completed", + "waiting-confirm": "Waiting for confirmation", + "waiting-deposit": "Waiting for Bitcoin deposit", + "waiting-send": "Waiting to send SLB", + "unknown": "Unknown" + } +} diff --git a/src/gui/static/dist/assets/img/edit-blue.png b/src/gui/static/dist/assets/img/edit-blue.png new file mode 100755 index 0000000000000000000000000000000000000000..de88a9af1ccc944f74b3cdd45e6143385401f784 GIT binary patch literal 893 zcmV-@1A_dCP)couqn=v|_Wvu_dz1=$jpeTx>D2k#e%1gxHl33ayt}sInA7BwY_lDH|jssShnjM6> z90S&NMt5^htzpSkcepll2yz()Z0s#qTonu!cxOIAi0%z=5g#LHLbnFwiMKT84ZhKF zOGlpnBkKK3?I3lXkO|!xP$d3MFMb(8u*ETDsz5q7j!ot;Svdb{7LooC@RM02@bR$0aX*;dvoI)383Y1k^@DP zBkdaCn(bXpu*i<~5RSBGK%G*@xR_w@Ds#SrBkdSaSA0wr6F3I|lT_dS5)5c6KBmkB z7C)fAG_|(NvQ;22GuIKHBwHQ+(UHa5%sQY)32^NGKl+elK(*K=&YOy7I1<(tkqI0L zgJ^>kWUiXm5zoj@0bZ7--#rAPpJpVdL!S6+bBCJ98L+XFvp&9A4%bt{st^A?KPEe; zk$6VVfb7UvJksm7u?ca)6CU{(Ndrci^A(k)DVmtjvUo<$fF53_&J78lny|JB9>g<} zNiZD&2b{8U9TPl>XJiamMvIi>Iy_7*N?c6vD4vlq;OgvV&uelO6FiG&WDLkAz$1R= zURP#92jUqS1F{K_Yc_w(l}DZlyoTsNJR`Fg*w|mlCP5askCwstE5YIsk7->z)7$_a z=|27z{C4|1+MFjQ^cqCba-_B?6wY`N&oti*^-=cJW^`r_ZfcZU84hiHT&R z?e3gD?QB@R0Q4~c{6h%=KMJeMyqZX5< TDLH|r00000NkvXXu0mjfxK(|? literal 0 HcmV?d00001 diff --git a/src/gui/static/dist/assets/img/header.png b/src/gui/static/dist/assets/img/header.png index 6eaf10d405817f67459d498e11c55e92341233b5..56243b832f96527b68123a01b4e523e3eddd14b0 100755 GIT binary patch literal 295475 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

    13< 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%0ARxn;R zDAxwbPeK&y0JalyLm`TF0mXv#7Q%EpA&wB@1R?qgF-(Xvg*aP?f3IGkSg%m5TOiC% zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ p1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILK;XYc;BPnEIxPSI literal 0 HcmV?d00001 diff --git a/src/gui/integration/test-fixtures/blockchain-metadata.golden b/src/api/integration/testdata/blockchain-metadata.golden similarity index 100% rename from src/gui/integration/test-fixtures/blockchain-metadata.golden rename to src/api/integration/testdata/blockchain-metadata.golden diff --git a/src/gui/integration/test-fixtures/blockchain-progress.golden b/src/api/integration/testdata/blockchain-progress.golden similarity index 100% rename from src/gui/integration/test-fixtures/blockchain-progress.golden rename to src/api/integration/testdata/blockchain-progress.golden diff --git a/src/gui/integration/test-fixtures/blocks-all.golden b/src/api/integration/testdata/blocks-all.golden similarity index 100% rename from src/gui/integration/test-fixtures/blocks-all.golden rename to src/api/integration/testdata/blocks-all.golden diff --git a/src/gui/integration/test-fixtures/blocks-end-less-than-start.golden b/src/api/integration/testdata/blocks-end-less-than-start.golden similarity index 100% rename from src/gui/integration/test-fixtures/blocks-end-less-than-start.golden rename to src/api/integration/testdata/blocks-end-less-than-start.golden diff --git a/src/gui/integration/test-fixtures/blocks-first-1.golden b/src/api/integration/testdata/blocks-first-1.golden similarity index 100% rename from src/gui/integration/test-fixtures/blocks-first-1.golden rename to src/api/integration/testdata/blocks-first-1.golden diff --git a/src/gui/integration/test-fixtures/blocks-first-10.golden b/src/api/integration/testdata/blocks-first-10.golden similarity index 100% rename from src/gui/integration/test-fixtures/blocks-first-10.golden rename to src/api/integration/testdata/blocks-first-10.golden diff --git a/src/gui/integration/test-fixtures/blocks-last-10.golden b/src/api/integration/testdata/blocks-last-10.golden similarity index 100% rename from src/gui/integration/test-fixtures/blocks-last-10.golden rename to src/api/integration/testdata/blocks-last-10.golden diff --git a/src/gui/integration/test-fixtures/coinsupply.golden b/src/api/integration/testdata/coinsupply.golden similarity index 100% rename from src/gui/integration/test-fixtures/coinsupply.golden rename to src/api/integration/testdata/coinsupply.golden diff --git a/src/gui/integration/test-fixtures/empty-addrs-unconfirmed-txs.golden b/src/api/integration/testdata/empty-addrs-unconfirmed-txs.golden similarity index 100% rename from src/gui/integration/test-fixtures/empty-addrs-unconfirmed-txs.golden rename to src/api/integration/testdata/empty-addrs-unconfirmed-txs.golden diff --git a/src/gui/integration/test-fixtures/empty-addrs.golden b/src/api/integration/testdata/empty-addrs.golden similarity index 99% rename from src/gui/integration/test-fixtures/empty-addrs.golden rename to src/api/integration/testdata/empty-addrs.golden index cbcd4c6..30dc011 100755 --- a/src/gui/integration/test-fixtures/empty-addrs.golden +++ b/src/api/integration/testdata/empty-addrs.golden @@ -18,7 +18,7 @@ "inputs": [], "outputs": [ { - "uxid": "54c5dd9aebbe4656eb1adc658fdd4ff63a073aae473cc99b20c0ef5f0a21f08e", + "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", "coins": "100000000.000000", "hours": 100000000000000 diff --git a/src/gui/integration/test-fixtures/genesis-raw-tx.golden b/src/api/integration/testdata/genesis-raw-tx.golden similarity index 100% rename from src/gui/integration/test-fixtures/genesis-raw-tx.golden rename to src/api/integration/testdata/genesis-raw-tx.golden diff --git a/src/gui/integration/test-fixtures/genesis-transaction.golden b/src/api/integration/testdata/genesis-transaction.golden similarity index 82% rename from src/gui/integration/test-fixtures/genesis-transaction.golden rename to src/api/integration/testdata/genesis-transaction.golden index b58e400..38d8c07 100755 --- a/src/gui/integration/test-fixtures/genesis-transaction.golden +++ b/src/api/integration/testdata/genesis-transaction.golden @@ -8,7 +8,7 @@ "inputs": [], "outputs": [ { - "uxid": "54c5dd9aebbe4656eb1adc658fdd4ff63a073aae473cc99b20c0ef5f0a21f08e", + "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", "coins": "100000000.000000", "hours": 100000000000000 diff --git a/src/gui/integration/test-fixtures/network-default-connections.golden b/src/api/integration/testdata/network-default-connections.golden similarity index 100% rename from src/gui/integration/test-fixtures/network-default-connections.golden rename to src/api/integration/testdata/network-default-connections.golden diff --git a/src/gui/integration/test-fixtures/network-exchangeable-connections.golden b/src/api/integration/testdata/network-exchangeable-connections.golden similarity index 100% rename from src/gui/integration/test-fixtures/network-exchangeable-connections.golden rename to src/api/integration/testdata/network-exchangeable-connections.golden diff --git a/src/gui/integration/test-fixtures/network-trusted-connections.golden b/src/api/integration/testdata/network-trusted-connections.golden similarity index 100% rename from src/gui/integration/test-fixtures/network-trusted-connections.golden rename to src/api/integration/testdata/network-trusted-connections.golden diff --git a/src/gui/integration/test-fixtures/outputs-addrs.golden b/src/api/integration/testdata/outputs-addrs.golden similarity index 100% rename from src/gui/integration/test-fixtures/outputs-addrs.golden rename to src/api/integration/testdata/outputs-addrs.golden diff --git a/src/gui/integration/test-fixtures/outputs-hashes.golden b/src/api/integration/testdata/outputs-hashes.golden similarity index 100% rename from src/gui/integration/test-fixtures/outputs-hashes.golden rename to src/api/integration/testdata/outputs-hashes.golden diff --git a/src/gui/integration/test-fixtures/outputs-noargs.golden b/src/api/integration/testdata/outputs-noargs.golden similarity index 100% rename from src/gui/integration/test-fixtures/outputs-noargs.golden rename to src/api/integration/testdata/outputs-noargs.golden diff --git a/src/gui/integration/test-fixtures/richlist-150-include-distribution.golden b/src/api/integration/testdata/richlist-150-include-distribution.golden similarity index 100% rename from src/gui/integration/test-fixtures/richlist-150-include-distribution.golden rename to src/api/integration/testdata/richlist-150-include-distribution.golden diff --git a/src/gui/integration/test-fixtures/richlist-8.golden b/src/api/integration/testdata/richlist-8.golden similarity index 100% rename from src/gui/integration/test-fixtures/richlist-8.golden rename to src/api/integration/testdata/richlist-8.golden diff --git a/src/gui/integration/test-fixtures/richlist-all-include-distribution.golden b/src/api/integration/testdata/richlist-all-include-distribution.golden similarity index 100% rename from src/gui/integration/test-fixtures/richlist-all-include-distribution.golden rename to src/api/integration/testdata/richlist-all-include-distribution.golden diff --git a/src/gui/integration/test-fixtures/richlist-all.golden b/src/api/integration/testdata/richlist-all.golden similarity index 100% rename from src/gui/integration/test-fixtures/richlist-all.golden rename to src/api/integration/testdata/richlist-all.golden diff --git a/src/gui/integration/test-fixtures/richlist-default.golden b/src/api/integration/testdata/richlist-default.golden similarity index 100% rename from src/gui/integration/test-fixtures/richlist-default.golden rename to src/api/integration/testdata/richlist-default.golden diff --git a/src/gui/integration/test-fixtures/single-addr.golden b/src/api/integration/testdata/single-addr.golden similarity index 100% rename from src/gui/integration/test-fixtures/single-addr.golden rename to src/api/integration/testdata/single-addr.golden diff --git a/src/gui/integration/test-fixtures/transaction.golden b/src/api/integration/testdata/transaction.golden similarity index 100% rename from src/gui/integration/test-fixtures/transaction.golden rename to src/api/integration/testdata/transaction.golden diff --git a/src/gui/integration/test-fixtures/uxout-addr.golden b/src/api/integration/testdata/uxout-addr.golden similarity index 100% rename from src/gui/integration/test-fixtures/uxout-addr.golden rename to src/api/integration/testdata/uxout-addr.golden diff --git a/src/gui/integration/test-fixtures/uxout-noaddr.golden b/src/api/integration/testdata/uxout-noaddr.golden similarity index 100% rename from src/gui/integration/test-fixtures/uxout-noaddr.golden rename to src/api/integration/testdata/uxout-noaddr.golden diff --git a/src/gui/integration/test-fixtures/uxout-spent.golden b/src/api/integration/testdata/uxout-spent.golden similarity index 99% rename from src/gui/integration/test-fixtures/uxout-spent.golden rename to src/api/integration/testdata/uxout-spent.golden index adb5bef..4ed814e 100755 --- a/src/gui/integration/test-fixtures/uxout-spent.golden +++ b/src/api/integration/testdata/uxout-spent.golden @@ -8,4 +8,4 @@ "hours": 5521648, "spent_block_seq": 181, "spent_tx": "701d23fd513bad325938ba56869f9faba19384a8ec3dd41833aff147eac53947" -} \ No newline at end of file +} diff --git a/src/gui/integration/test-fixtures/uxout.golden b/src/api/integration/testdata/uxout.golden similarity index 100% rename from src/gui/integration/test-fixtures/uxout.golden rename to src/api/integration/testdata/uxout.golden diff --git a/src/api/integration/testdata/verify-address.golden b/src/api/integration/testdata/verify-address.golden new file mode 100755 index 0000000..268bb84 --- /dev/null +++ b/src/api/integration/testdata/verify-address.golden @@ -0,0 +1,3 @@ +{ + "version": 0 +} diff --git a/src/api/integration/testdata/verify-transaction-invalid-bad-sig.golden b/src/api/integration/testdata/verify-transaction-invalid-bad-sig.golden new file mode 100755 index 0000000..5295a26 --- /dev/null +++ b/src/api/integration/testdata/verify-transaction-invalid-bad-sig.golden @@ -0,0 +1,39 @@ +{ + "confirmed": false, + "transaction": { + "length": 220, + "type": 0, + "txid": "de977ea93c0090ebe6e0c2dea002ffaf4fc314d08d06534120d96b96cc0042ce", + "inner_hash": "c30ba73f9422e909c601777ace12c777db329e06875cc6b29383bac3766acdc7", + "fee": "188772", + "sigs": [ + "71f2c01516fe696328e79bcf464eb0db374b63d494f7a307d1e77114f18581d7a81eed5275a9e04a336292dd2fd16977d9bef2a54ea3161d0876603d00c53bc9dd" + ], + "inputs": [ + { + "uxid": "75692aeff988ce0da734c474dbef3a1ce19a5a6823bbcd36acb856c83262261e", + "address": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22100.000000", + "hours": "377543", + "calculated_hours": "377543", + "timestamp": 1431574528, + "block": 180, + "txid": "0a610a34a8408effe8f2f70e4a85a3a8f4aca923f43e10a8a6e08cf410d7a35d" + } + ], + "outputs": [ + { + "uxid": "4ac148c444b86560bde4005fcf5d9f53ae18226b35a60911ab777dfe00e4cb89", + "address": "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + "coins": "0.001000", + "hours": "10" + }, + { + "uxid": "a7369917d622df48d8f205e0935144a825df4d8318d82c8bd9492ab3ee11f102", + "address": "qxmeHkwgAMfwXyaQrwv9jq3qt228xMuoT5", + "coins": "22099.999000", + "hours": "188761" + } + ] + } +} diff --git a/src/api/integration/testdata/verify-transaction-invalid-empty.golden b/src/api/integration/testdata/verify-transaction-invalid-empty.golden new file mode 100755 index 0000000..24a0f4c --- /dev/null +++ b/src/api/integration/testdata/verify-transaction-invalid-empty.golden @@ -0,0 +1,13 @@ +{ + "confirmed": false, + "transaction": { + "length": 0, + "type": 0, + "txid": "78877fa898f0b4c45c9c33ae941e40617ad7c8657a307db62bc5691f92f4f60e", + "inner_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "fee": "0", + "sigs": [], + "inputs": [], + "outputs": [] + } +} diff --git a/src/api/integration/testdata/wallet-balance.golden b/src/api/integration/testdata/wallet-balance.golden new file mode 100755 index 0000000..3b86145 --- /dev/null +++ b/src/api/integration/testdata/wallet-balance.golden @@ -0,0 +1,22 @@ +{ + "confirmed": { + "coins": 0, + "hours": 0 + }, + "predicted": { + "coins": 0, + "hours": 0 + }, + "addresses": { + "27nAhbBjHLcvD3UdbrH1YouKWYwmG94K9cw": { + "confirmed": { + "coins": 0, + "hours": 0 + }, + "predicted": { + "coins": 0, + "hours": 0 + } + } + } +} diff --git a/src/gui/integration/test-fixtures/wallet-transactions.golden b/src/api/integration/testdata/wallet-transactions.golden similarity index 100% rename from src/gui/integration/test-fixtures/wallet-transactions.golden rename to src/api/integration/testdata/wallet-transactions.golden diff --git a/src/gui/network.go b/src/api/network.go similarity index 51% rename from src/gui/network.go rename to src/api/network.go index 5dfa0d6..a42db7a 100755 --- a/src/gui/network.go +++ b/src/api/network.go @@ -1,13 +1,27 @@ -package gui +package api + +// APIs for network-related information -// Network-related information for the GUI import ( "net/http" "sort" - wh "github.com/skycoin/skycoin/src/util/http" //http,json helpers + daemon "github.com/skycoin/skycoin/src/daemon" //http,json helpers + wh "github.com/skycoin/skycoin/src/util/http" //http,json helpers ) +// Connection wrapper around daemon connection with info about block height added +type Connection struct { + *daemon.Connection + Height uint64 `json:"height"` +} + +// Connections an array of connections +// Arrays must be wrapped in structs to avoid certain javascript exploits +type Connections struct { + Connections []Connection `json:"connections"` +} + func connectionHandler(gateway Gatewayer) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodGet { @@ -26,8 +40,23 @@ func connectionHandler(gateway Gatewayer) http.HandlerFunc { wh.Error404(w, "") return } + cnx := Connection{ + Connection: c, + Height: 0, + } + bcp, err := gateway.GetBlockchainProgress() + if err != nil { + wh.Error500(w, err.Error()) + return + } + for _, ph := range bcp.Peers { + if ph.Address == c.Addr { + cnx.Height = ph.Height + break + } + } - wh.SendJSONOr500(logger, w, c) + wh.SendJSONOr500(logger, w, cnx) } } @@ -38,7 +67,29 @@ func connectionsHandler(gateway Gatewayer) http.HandlerFunc { return } - wh.SendJSONOr500(logger, w, gateway.GetConnections()) + dcnxs := gateway.GetConnections() + bcp, err := gateway.GetBlockchainProgress() + if err != nil { + wh.Error500(w, err.Error()) + return + } + + peerHeights := bcp.Peers + index := make(map[string]uint64, len(peerHeights)) + + for i := 0; i < len(peerHeights); i++ { + index[peerHeights[i].Address] = peerHeights[i].Height + } + + cnxs := Connections{} + for _, c := range dcnxs.Connections { + cnx := Connection{ + Connection: c, + Height: index[c.Addr], + } + cnxs.Connections = append(cnxs.Connections, cnx) + } + wh.SendJSONOr500(logger, w, cnxs) } } diff --git a/src/gui/network_test.go b/src/api/network_test.go similarity index 69% rename from src/gui/network_test.go rename to src/api/network_test.go index f79c1cb..e21c863 100755 --- a/src/gui/network_test.go +++ b/src/api/network_test.go @@ -1,7 +1,8 @@ -package gui +package api import ( "encoding/json" + "errors" "net/http" "net/http/httptest" "net/url" @@ -14,14 +15,42 @@ import ( ) func TestConnection(t *testing.T) { + bp := daemon.BlockchainProgress{ + Current: 35, + Highest: 39, + Peers: nil} + bp.Peers = append(bp.Peers, struct { + Address string `json:"address"` + Height uint64 `json:"height"` + }{ + Address: "127.3.5.1", + Height: 39, + }) + bp.Peers = append(bp.Peers, struct { + Address string `json:"address"` + Height uint64 `json:"height"` + }{ + Address: "127.0.0.1", + Height: 12, + }) + bp.Peers = append(bp.Peers, struct { + Address string `json:"address"` + Height uint64 `json:"height"` + }{ + Address: "127.0.5.1", + Height: 13, + }) + tt := []struct { - name string - method string - status int - err string - addr string - gatewayGetConnectionResult *daemon.Connection - result *daemon.Connection + name string + method string + status int + err string + addr string + gatewayGetConnectionResult *daemon.Connection + gatewayGetBlockchainProgressResult *daemon.BlockchainProgress + gatewayGetBlockchainProgressError error + result *daemon.Connection }{ { name: "405", @@ -44,6 +73,8 @@ func TestConnection(t *testing.T) { status: http.StatusOK, err: "", addr: "addr", + gatewayGetBlockchainProgressResult: &bp, + gatewayGetBlockchainProgressError: nil, gatewayGetConnectionResult: &daemon.Connection{ ID: 1, Addr: "127.0.0.1", @@ -65,12 +96,37 @@ func TestConnection(t *testing.T) { ListenPort: 9877, }, }, + { + name: "500 - blockchain progress failed", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - some error", + addr: "addr", + gatewayGetBlockchainProgressResult: nil, + gatewayGetBlockchainProgressError: errors.New("some error"), + gatewayGetConnectionResult: &daemon.Connection{ + ID: 1, + Addr: "127.0.0.1", + LastSent: 99999, + LastReceived: 1111111, + Outgoing: true, + Introduced: true, + Mirror: 9876, + ListenPort: 9877, + }, + }, } for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/network/connection" + endpoint := "/api/v1/network/connection" gateway := NewGatewayerMock() gateway.On("GetConnection", tc.addr).Return(tc.gatewayGetConnectionResult) + gateway.On("GetBlockchainProgress").Return( + tc.gatewayGetBlockchainProgressResult, + tc.gatewayGetBlockchainProgressError, + ) + gateway.On("IsCSPEnabled").Return(false) + v := url.Values{} if tc.addr != "" { v.Add("addr", tc.addr) @@ -102,13 +158,41 @@ func TestConnection(t *testing.T) { } func TestConnections(t *testing.T) { + bp := daemon.BlockchainProgress{ + Current: 35, + Highest: 39, + Peers: nil} + bp.Peers = append(bp.Peers, struct { + Address string `json:"address"` + Height uint64 `json:"height"` + }{ + Address: "127.3.5.1", + Height: 39, + }) + bp.Peers = append(bp.Peers, struct { + Address string `json:"address"` + Height uint64 `json:"height"` + }{ + Address: "127.0.0.1", + Height: 12, + }) + bp.Peers = append(bp.Peers, struct { + Address string `json:"address"` + Height uint64 `json:"height"` + }{ + Address: "127.0.5.1", + Height: 13, + }) + tt := []struct { - name string - method string - status int - err string - gatewayGetConnectionsResult *daemon.Connections - result *daemon.Connections + name string + method string + status int + err string + gatewayGetConnectionsResult *daemon.Connections + gatewayGetBlockchainProgressResult *daemon.BlockchainProgress + gatewayGetBlockchainProgressError error + result *daemon.Connections }{ { name: "405", @@ -121,6 +205,8 @@ func TestConnections(t *testing.T) { method: http.MethodGet, status: http.StatusOK, err: "", + gatewayGetBlockchainProgressResult: &bp, + gatewayGetBlockchainProgressError: nil, gatewayGetConnectionsResult: &daemon.Connections{ Connections: []*daemon.Connection{ &daemon.Connection{ @@ -150,12 +236,40 @@ func TestConnections(t *testing.T) { }, }, }, + { + name: "500 - blockchain progress failed", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - some error", + gatewayGetBlockchainProgressResult: nil, + gatewayGetBlockchainProgressError: errors.New("some error"), + gatewayGetConnectionsResult: &daemon.Connections{ + Connections: []*daemon.Connection{ + &daemon.Connection{ + ID: 1, + Addr: "127.0.0.1", + LastSent: 99999, + LastReceived: 1111111, + Outgoing: true, + Introduced: true, + Mirror: 9876, + ListenPort: 9877, + }, + }, + }, + }, } for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/network/connections" + endpoint := "/api/v1/network/connections" gateway := NewGatewayerMock() gateway.On("GetConnections").Return(tc.gatewayGetConnectionsResult) + gateway.On("GetBlockchainProgress").Return( + tc.gatewayGetBlockchainProgressResult, + tc.gatewayGetBlockchainProgressError, + ) + gateway.On("IsCSPEnabled").Return(false) + req, err := http.NewRequest(tc.method, endpoint, nil) require.NoError(t, err) @@ -205,9 +319,10 @@ func TestDefaultConnections(t *testing.T) { } for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/network/defaultConnections" + endpoint := "/api/v1/network/defaultConnections" gateway := NewGatewayerMock() gateway.On("GetDefaultConnections").Return(tc.gatewayGetDefaultConnectionsResult) + gateway.On("IsCSPEnabled").Return(false) req, err := http.NewRequest(tc.method, endpoint, nil) require.NoError(t, err) @@ -257,9 +372,10 @@ func TestGetTrustConnections(t *testing.T) { } for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/network/connections/trust" + endpoint := "/api/v1/network/connections/trust" gateway := NewGatewayerMock() gateway.On("GetTrustConnections").Return(tc.gatewayGetTrustConnectionsResult) + gateway.On("IsCSPEnabled").Return(false) req, err := http.NewRequest(tc.method, endpoint, nil) require.NoError(t, err) @@ -309,9 +425,10 @@ func TestGetExchgConnection(t *testing.T) { } for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/network/connections/exchange" + endpoint := "/api/v1/network/connections/exchange" gateway := NewGatewayerMock() gateway.On("GetExchgConnection").Return(tc.gatewayGetExchgConnectionResult) + gateway.On("IsCSPEnabled").Return(false) req, err := http.NewRequest(tc.method, endpoint, nil) require.NoError(t, err) diff --git a/src/gui/notes.go b/src/api/notes.go similarity index 99% rename from src/gui/notes.go rename to src/api/notes.go index c685711..ff2c684 100755 --- a/src/gui/notes.go +++ b/src/api/notes.go @@ -1,4 +1,4 @@ -package gui +package api // NotesRPC note rpc // type NotesRPC struct { diff --git a/src/gui/spend.go b/src/api/spend.go similarity index 81% rename from src/gui/spend.go rename to src/api/spend.go index 68625bc..8aaf04d 100755 --- a/src/gui/spend.go +++ b/src/api/spend.go @@ -1,4 +1,4 @@ -package gui +package api import ( "encoding/hex" @@ -16,6 +16,7 @@ import ( "github.com/skycoin/skycoin/src/util/fee" wh "github.com/skycoin/skycoin/src/util/http" //http,json helpers "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/blockdb" "github.com/skycoin/skycoin/src/wallet" ) @@ -59,12 +60,20 @@ func NewCreatedTransaction(txn *coin.Transaction, inputs []wallet.UxBalance) (*C var outputHours uint64 for _, o := range txn.Out { - outputHours += o.Hours + var err error + outputHours, err = coin.AddUint64(outputHours, o.Hours) + if err != nil { + return nil, err + } } var inputHours uint64 for _, i := range inputs { - inputHours += i.Hours + var err error + inputHours, err = coin.AddUint64(inputHours, i.Hours) + if err != nil { + return nil, err + } } if inputHours < outputHours { @@ -206,13 +215,13 @@ func NewCreatedTransactionOutput(out coin.TransactionOutput, txid cipher.SHA256) // CreatedTransactionInput is a verbose transaction input type CreatedTransactionInput struct { UxID string `json:"uxid"` - Address string `json:"address"` - Coins string `json:"coins"` - Hours string `json:"hours"` - CalculatedHours string `json:"calculated_hours"` - Time uint64 `json:"timestamp"` - Block uint64 `json:"block"` - TxID string `json:"txid"` + Address string `json:"address,omitempty"` + Coins string `json:"coins,omitempty"` + Hours string `json:"hours,omitempty"` + CalculatedHours string `json:"calculated_hours,omitempty"` + Time uint64 `json:"timestamp,omitempty"` + Block uint64 `json:"block,omitempty"` + TxID string `json:"txid,omitempty"` } // NewCreatedTransactionInput creates CreatedTransactionInput @@ -226,29 +235,36 @@ func NewCreatedTransactionInput(out wallet.UxBalance) (*CreatedTransactionInput, return nil, errors.New("NewCreatedTransactionInput UxOut.SrcTransaction is not initialized") } + addr := out.Address.String() + hours := fmt.Sprint(out.InitialHours) + calculatedHours := fmt.Sprint(out.Hours) + txID := out.SrcTransaction.Hex() + return &CreatedTransactionInput{ UxID: out.Hash.Hex(), - Address: out.Address.String(), + Address: addr, Coins: coins, - Hours: fmt.Sprint(out.InitialHours), - CalculatedHours: fmt.Sprint(out.Hours), + Hours: hours, + CalculatedHours: calculatedHours, Time: out.Time, Block: out.BkSeq, - TxID: out.SrcTransaction.Hex(), + TxID: txID, }, nil } // createTransactionRequest is sent to /wallet/transaction type createTransactionRequest struct { - HoursSelection hoursSelection `json:"hours_selection"` - Wallet createTransactionRequestWallet `json:"wallet"` - ChangeAddress *wh.Address `json:"change_address"` - To []receiver `json:"to"` + IgnoreUnconfirmed bool `json:"ignore_unconfirmed"` + HoursSelection hoursSelection `json:"hours_selection"` + Wallet createTransactionRequestWallet `json:"wallet"` + ChangeAddress *wh.Address `json:"change_address,omitempty"` + To []receiver `json:"to"` } // createTransactionRequestWallet defines a wallet to spend from and optionally which addresses in the wallet type createTransactionRequestWallet struct { ID string `json:"id"` + UxOuts []wh.SHA256 `json:"unspents,omitempty"` Addresses []wh.Address `json:"addresses,omitempty"` Password string `json:"password"` } @@ -319,20 +335,25 @@ func (r createTransactionRequest) Validate() error { } } - if r.ChangeAddress == nil { - return errors.New("missing change_address") - } else if r.ChangeAddress.Null() { - return errors.New("change_address is an empty address") + if r.ChangeAddress != nil && r.ChangeAddress.Null() { + return errors.New("change_address must not be the null address") } if r.Wallet.ID == "" { return errors.New("missing wallet.id") } + addressMap := make(map[cipher.Address]struct{}, len(r.Wallet.Addresses)) for i, a := range r.Wallet.Addresses { if a.Null() { return fmt.Errorf("wallet.addresses[%d] is empty", i) } + + addressMap[a.Address] = struct{}{} + } + + if len(addressMap) != len(r.Wallet.Addresses) { + return errors.New("wallet.addresses contains duplicate values") } if len(r.To) == 0 { @@ -353,7 +374,7 @@ func (r createTransactionRequest) Validate() error { } } - // Check for duplicate outputs, a transaction can't have outputs with + // Check for duplicate created outputs, a transaction can't have outputs with // the same (address, coins, hours) // Auto mode would distribute hours to the outputs and could hypothetically // avoid assigning duplicate hours in many cases, but the complexity for doing @@ -376,6 +397,20 @@ func (r createTransactionRequest) Validate() error { return errors.New("to contains duplicate values") } + if len(r.Wallet.UxOuts) != 0 && len(r.Wallet.Addresses) != 0 { + return errors.New("wallet.unspents and wallet.addresses cannot be combined") + } + + // Check for duplicate spending uxouts + uxouts := make(map[cipher.SHA256]struct{}, len(r.Wallet.UxOuts)) + for _, o := range r.Wallet.UxOuts { + uxouts[o.SHA256] = struct{}{} + } + + if len(uxouts) != len(r.Wallet.UxOuts) { + return errors.New("wallet.unspents contains duplicate values") + } + return nil } @@ -386,9 +421,15 @@ func (r createTransactionRequest) ToWalletParams() wallet.CreateTransactionParam addresses[i] = a.Address } + uxouts := make([]cipher.SHA256, len(r.Wallet.UxOuts)) + for i, o := range r.Wallet.UxOuts { + uxouts[i] = o.SHA256 + } + walletParams := wallet.CreateTransactionWalletParams{ ID: r.Wallet.ID, Addresses: addresses, + UxOuts: uxouts, Password: []byte(r.Wallet.Password), } @@ -406,12 +447,13 @@ func (r createTransactionRequest) ToWalletParams() wallet.CreateTransactionParam } } - var changeAddress cipher.Address + var changeAddress *cipher.Address if r.ChangeAddress != nil { - changeAddress = r.ChangeAddress.Address + changeAddress = &r.ChangeAddress.Address } return wallet.CreateTransactionParams{ + IgnoreUnconfirmed: r.IgnoreUnconfirmed, HoursSelection: wallet.HoursSelection{ Type: r.HoursSelection.Type, Mode: r.HoursSelection.Mode, @@ -461,9 +503,13 @@ func createTransactionHandler(gateway Gatewayer) http.HandlerFunc { default: wh.Error400(w, err.Error()) } + case blockdb.ErrUnspentNotExist: + wh.Error400(w, err.Error()) default: switch err { - case fee.ErrTxnNoFee, fee.ErrTxnInsufficientCoinHours: + case fee.ErrTxnNoFee, + fee.ErrTxnInsufficientCoinHours, + wallet.ErrSpendingUnconfirmed: wh.Error400(w, err.Error()) default: wh.Error500(w, err.Error()) diff --git a/src/gui/spend_test.go b/src/api/spend_test.go similarity index 89% rename from src/gui/spend_test.go rename to src/api/spend_test.go index 502560a..50f08ce 100755 --- a/src/gui/spend_test.go +++ b/src/api/spend_test.go @@ -1,4 +1,4 @@ -package gui +package api import ( "bytes" @@ -17,12 +17,14 @@ import ( "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/testutil" //http,json helpers "github.com/skycoin/skycoin/src/util/fee" + "github.com/skycoin/skycoin/src/visor/blockdb" "github.com/skycoin/skycoin/src/wallet" ) func TestCreateTransaction(t *testing.T) { type rawRequestWallet struct { ID string `json:"id"` + UxOuts []string `json:"unspents,omitempty"` Addresses []string `json:"addresses,omitempty"` Password string `json:"password"` } @@ -103,6 +105,8 @@ func TestCreateTransaction(t *testing.T) { }, } + walletInput := testutil.RandSHA256(t) + tt := []struct { name string method string @@ -262,18 +266,6 @@ func TestCreateTransaction(t *testing.T) { err: "400 Bad Request - invalid address: Invalid address length", }, - { - name: "400 - missing change address", - method: http.MethodPost, - body: &rawRequest{ - HoursSelection: rawHoursSelection{ - Type: wallet.HoursSelectionTypeManual, - }, - }, - status: http.StatusBadRequest, - err: "400 Bad Request - missing change_address", - }, - { name: "400 - invalid change address", method: http.MethodPost, @@ -297,7 +289,7 @@ func TestCreateTransaction(t *testing.T) { ChangeAddress: emptyAddress.String(), }, status: http.StatusBadRequest, - err: "400 Bad Request - change_address is an empty address", + err: "400 Bad Request - change_address must not be the null address", }, { @@ -620,6 +612,82 @@ func TestCreateTransaction(t *testing.T) { err: "400 Bad Request - to contains duplicate values", }, + { + name: "400 - both wallet uxouts and wallet addresses specified", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: newStrPtr("0.5"), + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + Addresses: []string{destinationAddress.String()}, + UxOuts: []string{walletInput.Hex()}, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "1.2", + }, + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - wallet.unspents and wallet.addresses cannot be combined", + }, + + { + name: "400 - duplicate wallet uxouts", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: newStrPtr("0.5"), + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + UxOuts: []string{walletInput.Hex(), walletInput.Hex()}, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "1.2", + }, + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - wallet.unspents contains duplicate values", + }, + + { + name: "400 - duplicate wallet addresses", + method: http.MethodPost, + body: &rawRequest{ + HoursSelection: rawHoursSelection{ + Type: wallet.HoursSelectionTypeAuto, + Mode: wallet.HoursSelectionModeShare, + ShareFactor: newStrPtr("0.5"), + }, + ChangeAddress: changeAddress.String(), + Wallet: rawRequestWallet{ + ID: "foo.wlt", + Addresses: []string{destinationAddress.String(), destinationAddress.String()}, + }, + To: []rawReceiver{ + { + Address: destinationAddress.String(), + Coins: "1.2", + }, + }, + }, + status: http.StatusBadRequest, + err: "400 Bad Request - wallet.addresses contains duplicate values", + }, + { name: "200 - auto type split even", method: http.MethodPost, @@ -734,6 +802,15 @@ func TestCreateTransaction(t *testing.T) { err: "400 Bad Request - Insufficient coinhours for transaction outputs", }, + { + name: "400 - uxout doesn't exist", + method: http.MethodPost, + body: validBody, + status: http.StatusBadRequest, + gatewayCreateTransactionErr: blockdb.NewErrUnspentNotExist("foo"), + err: "400 Bad Request - unspent output of foo does not exist", + }, + { name: "400 - other wallet error", method: http.MethodPost, @@ -765,6 +842,7 @@ func TestCreateTransaction(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { gateway := &GatewayerMock{} + gateway.On("IsCSPEnabled").Return(false) // If the rawRequestBody can be deserialized to CreateTransactionRequest, use it to mock gateway.CreateTransaction serializedBody, err := json.Marshal(tc.body) @@ -775,7 +853,7 @@ func TestCreateTransaction(t *testing.T) { gateway.On("CreateTransaction", body.ToWalletParams()).Return(tc.gatewayCreateTransactionResult, tc.gatewayCreateTransactionInputs, tc.gatewayCreateTransactionErr) } - endpoint := "/wallet/transaction" + endpoint := "/api/v1/wallet/transaction" requestJSON, err := json.Marshal(tc.body) require.NoError(t, err) diff --git a/src/api/transaction.go b/src/api/transaction.go new file mode 100755 index 0000000..da578c0 --- /dev/null +++ b/src/api/transaction.go @@ -0,0 +1,471 @@ +package api + +import ( + "encoding/hex" + "encoding/json" + "errors" + "fmt" + "net/http" + "strconv" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/wallet" + + wh "github.com/skycoin/skycoin/src/util/http" //http,json helpers +) + +// Returns pending transactions +func getPendingTxns(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + txns, err := gateway.GetAllUnconfirmedTxns() + if err != nil { + wh.Error500(w, err.Error()) + return + } + + ret := make([]*visor.ReadableUnconfirmedTxn, 0, len(txns)) + for _, unconfirmedTxn := range txns { + readable, err := visor.NewReadableUnconfirmedTxn(&unconfirmedTxn) + if err != nil { + wh.Error500(w, err.Error()) + return + } + ret = append(ret, readable) + } + + wh.SendJSONOr500(logger, w, &ret) + } +} + +func getTransactionByID(gate Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + txid := r.FormValue("txid") + if txid == "" { + wh.Error400(w, "txid is empty") + return + } + + h, err := cipher.SHA256FromHex(txid) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + txn, err := gate.GetTransaction(h) + if err != nil { + wh.Error400(w, err.Error()) + return + } + if txn == nil { + wh.Error404(w, "") + return + } + + rbTxn, err := visor.NewReadableTransaction(txn) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + resTxn := daemon.TransactionResult{ + Transaction: *rbTxn, + Status: txn.Status, + Time: txn.Time, + } + wh.SendJSONOr500(logger, w, &resTxn) + } +} + +// Returns transactions that match the filters. +// Method: GET +// URI: /api/v1/transactions +// Args: +// addrs: Comma seperated addresses [optional, returns all transactions if no address provided] +// confirmed: Whether the transactions should be confirmed [optional, must be 0 or 1; if not provided, returns all] +func getTransactions(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + // Gets 'addrs' parameter value + addrs, err := parseAddressesFromStr(r.FormValue("addrs")) + if err != nil { + wh.Error400(w, fmt.Sprintf("parse parameter: 'addrs' failed: %v", err)) + return + } + + // Initialize transaction filters + flts := []visor.TxFilter{visor.AddrsFilter(addrs)} + + // Gets the 'confirmed' parameter value + confirmedStr := r.FormValue("confirmed") + if confirmedStr != "" { + confirmed, err := strconv.ParseBool(confirmedStr) + if err != nil { + wh.Error400(w, fmt.Sprintf("invalid 'confirmed' value: %v", err)) + return + } + + flts = append(flts, visor.ConfirmedTxFilter(confirmed)) + } + + // Gets transactions + txns, err := gateway.GetTransactions(flts...) + if err != nil { + err = fmt.Errorf("gateway.GetTransactions failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + // Converts visor.Transaction to daemon.TransactionResult + txnRlts, err := daemon.NewTransactionResults(txns) + if err != nil { + err = fmt.Errorf("daemon.NewTransactionResults failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, txnRlts.Txns) + } +} + +// parseAddressesFromStr parses comma seperated addresses string into []cipher.Address +func parseAddressesFromStr(s string) ([]cipher.Address, error) { + addrsStr := splitCommaString(s) + + var addrs []cipher.Address + for _, s := range addrsStr { + a, err := cipher.DecodeBase58Address(s) + if err != nil { + return nil, err + } + + addrs = append(addrs, a) + } + + return addrs, nil +} + +// URI: /api/v1/injectTransaction +// Method: POST +// Content-Type: application/json +// Body: {"rawtx": ""} +// Response: +// 400 - bad transaction +// 503 - network unavailable for broadcasting transaction +// 200 - ok, returns the transaction hash in hex as string +func injectTransaction(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + // get the rawtransaction + v := struct { + Rawtx string `json:"rawtx"` + }{} + + if err := json.NewDecoder(r.Body).Decode(&v); err != nil { + wh.Error400(w, err.Error()) + return + } + + b, err := hex.DecodeString(v.Rawtx) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + txn, err := coin.TransactionDeserialize(b) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + if err := gateway.InjectBroadcastTransaction(txn); err != nil { + err = fmt.Errorf("inject tx failed: %v", err) + wh.Error503(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, txn.Hash().Hex()) + } +} + +func resendUnconfirmedTxns(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + rlt, err := gateway.ResendUnconfirmedTxns() + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, rlt) + return + } +} + +func getRawTxn(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + txid := r.FormValue("txid") + if txid == "" { + wh.Error400(w, "txid is empty") + return + } + + h, err := cipher.SHA256FromHex(txid) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + txn, err := gateway.GetTransaction(h) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + if txn == nil { + wh.Error404(w, "") + return + } + + d := txn.Txn.Serialize() + wh.SendJSONOr500(logger, w, hex.EncodeToString(d)) + return + } +} + +// VerifyTxnRequest represents the data struct of the request for /api/v2/transaction/verify +type VerifyTxnRequest struct { + EncodedTransaction string `json:"encoded_transaction"` +} + +// VerifyTxnResponse the response data struct for /api/v2/transaction/verify +type VerifyTxnResponse struct { + Confirmed bool `json:"confirmed"` + Transaction CreatedTransaction `json:"transaction"` +} + +func writeHTTPResponse(w http.ResponseWriter, resp HTTPResponse) { + out, err := json.MarshalIndent(resp, "", " ") + if err != nil { + wh.Error500(w, "json.MarshalIndent failed") + return + } + + w.Header().Add("Content-Type", "application/json") + + if resp.Error == nil { + w.WriteHeader(http.StatusOK) + } else { + if resp.Error.Code < 400 || resp.Error.Code >= 600 { + logger.Critical().Errorf("writeHTTPResponse invalid error status code: %d", resp.Error.Code) + w.WriteHeader(http.StatusInternalServerError) + } else { + w.WriteHeader(resp.Error.Code) + } + } + + if _, err := w.Write(out); err != nil { + logger.WithError(err).Error("http Write failed") + } +} + +// Decode and verify an encoded transaction +// Method: POST +// URI: /api/v2/transaction/verify +func verifyTxnHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + resp := NewHTTPErrorResponse(http.StatusMethodNotAllowed, "") + writeHTTPResponse(w, resp) + return + } + + if r.Header.Get("Content-Type") != "application/json" { + resp := NewHTTPErrorResponse(http.StatusUnsupportedMediaType, "") + writeHTTPResponse(w, resp) + return + } + + var req VerifyTxnRequest + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + writeHTTPResponse(w, resp) + return + } + + txn, err := decodeTxn(req.EncodedTransaction) + if err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, fmt.Sprintf("decode transaction failed: %v", err)) + writeHTTPResponse(w, resp) + return + } + + var resp HTTPResponse + inputs, isTxnConfirmed, err := gateway.VerifyTxnVerbose(txn) + if err != nil { + switch err.(type) { + case visor.ErrTxnViolatesSoftConstraint, + visor.ErrTxnViolatesHardConstraint, + visor.ErrTxnViolatesUserConstraint: + resp.Error = &HTTPError{ + Code: http.StatusUnprocessableEntity, + Message: err.Error(), + } + default: + resp := NewHTTPErrorResponse(http.StatusInternalServerError, err.Error()) + writeHTTPResponse(w, resp) + return + } + } + + verifyTxnResp := VerifyTxnResponse{ + Confirmed: isTxnConfirmed, + } + + if len(inputs) != len(txn.In) { + inputs = nil + } + verboseTxn, err := newCreatedTransactionFuzzy(txn, inputs) + if err != nil { + resp := NewHTTPErrorResponse(http.StatusInternalServerError, err.Error()) + writeHTTPResponse(w, resp) + return + } + + verifyTxnResp.Transaction = *verboseTxn + + resp.Data = verifyTxnResp + + if isTxnConfirmed && resp.Error == nil { + resp.Error = &HTTPError{ + Code: http.StatusUnprocessableEntity, + Message: "transaction has been spent", + } + } + + writeHTTPResponse(w, resp) + } +} + +func decodeTxn(encodedTxn string) (*coin.Transaction, error) { + var txn coin.Transaction + b, err := hex.DecodeString(encodedTxn) + if err != nil { + return nil, err + } + + txn, err = coin.TransactionDeserialize(b) + if err != nil { + return nil, err + } + + return &txn, nil +} + +// newCreatedTransactionFuzzy creates a CreatedTransaction but accomodates possibly invalid txn input +func newCreatedTransactionFuzzy(txn *coin.Transaction, inputs []wallet.UxBalance) (*CreatedTransaction, error) { + if len(txn.In) != len(inputs) && len(inputs) != 0 { + return nil, errors.New("len(txn.In) != len(inputs)") + } + + var outputHours uint64 + var feeInvalid bool + for _, o := range txn.Out { + var err error + outputHours, err = coin.AddUint64(outputHours, o.Hours) + if err != nil { + feeInvalid = true + } + } + + var inputHours uint64 + for _, i := range inputs { + var err error + inputHours, err = coin.AddUint64(inputHours, i.Hours) + if err != nil { + feeInvalid = true + } + } + + if inputHours < outputHours { + feeInvalid = true + } + + var fee uint64 + if !feeInvalid { + fee = inputHours - outputHours + } + + sigs := make([]string, len(txn.Sigs)) + for i, s := range txn.Sigs { + sigs[i] = s.Hex() + } + + txid := txn.Hash() + out := make([]CreatedTransactionOutput, len(txn.Out)) + for i, o := range txn.Out { + co, err := NewCreatedTransactionOutput(o, txid) + if err != nil { + logger.WithError(err).Error("NewCreatedTransactionOutput failed") + continue + } + out[i] = *co + } + + in := make([]CreatedTransactionInput, len(txn.In)) + if len(inputs) == 0 { + for i, h := range txn.In { + in[i] = CreatedTransactionInput{ + UxID: h.Hex(), + } + } + } else { + for i, o := range inputs { + ci, err := NewCreatedTransactionInput(o) + if err != nil { + logger.WithError(err).Error("NewCreatedTransactionInput failed") + continue + } + in[i] = *ci + } + } + + return &CreatedTransaction{ + Length: txn.Length, + Type: txn.Type, + TxID: txid.Hex(), + InnerHash: txn.InnerHash.Hex(), + Fee: fmt.Sprint(fee), + + Sigs: sigs, + In: in, + Out: out, + }, nil +} diff --git a/src/gui/transaction_test.go b/src/api/transaction_test.go similarity index 67% rename from src/gui/transaction_test.go rename to src/api/transaction_test.go index a849f13..284db49 100755 --- a/src/gui/transaction_test.go +++ b/src/api/transaction_test.go @@ -1,4 +1,4 @@ -package gui +package api import ( "encoding/json" @@ -28,6 +28,7 @@ import ( "github.com/skycoin/skycoin/src/testutil" "github.com/skycoin/skycoin/src/util/utc" "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/wallet" ) func createUnconfirmedTxn(t *testing.T) visor.UnconfirmedTxn { @@ -40,11 +41,6 @@ func createUnconfirmedTxn(t *testing.T) visor.UnconfirmedTxn { return ut } -func makeTransaction(t *testing.T) coin.Transaction { - tx, _ := makeTransactionWithSecret(t) - return tx -} - func makeUxOutWithSecret(t *testing.T) (coin.UxOut, cipher.SecKey) { body, sec := makeUxBodyWithSecret(t) return coin.UxOut{ @@ -56,23 +52,6 @@ func makeUxOutWithSecret(t *testing.T) (coin.UxOut, cipher.SecKey) { }, sec } -func makeAddress() cipher.Address { - p, _ := cipher.GenerateKeyPair() - return cipher.AddressFromPubKey(p) -} - -func makeTransactionWithSecret(t *testing.T) (coin.Transaction, cipher.SecKey) { - tx := coin.Transaction{} - ux, s := makeUxOutWithSecret(t) - - tx.PushInput(ux.Hash()) - tx.SignInputs([]cipher.SecKey{s}) - tx.PushOutput(makeAddress(), 1e6, 50) - tx.PushOutput(makeAddress(), 5e6, 50) - tx.UpdateHeader() - return tx, s -} - func makeUxBodyWithSecret(t *testing.T) (coin.UxBody, cipher.SecKey) { p, s := cipher.GenerateKeyPair() return coin.UxBody{ @@ -83,16 +62,21 @@ func makeUxBodyWithSecret(t *testing.T) (coin.UxBody, cipher.SecKey) { }, s } -func makeTransactionWithEmptyAddressOutput(t *testing.T) coin.Transaction { - tx := coin.Transaction{} +func makeAddress() cipher.Address { + p, _ := cipher.GenerateKeyPair() + return cipher.AddressFromPubKey(p) +} + +func makeTransaction(t *testing.T) coin.Transaction { + txn := coin.Transaction{} ux, s := makeUxOutWithSecret(t) - tx.PushInput(ux.Hash()) - tx.SignInputs([]cipher.SecKey{s}) - tx.PushOutput(makeAddress(), 1e6, 50) - tx.PushOutput(cipher.Address{}, 5e6, 50) - tx.UpdateHeader() - return tx + txn.PushInput(ux.Hash()) + txn.SignInputs([]cipher.SecKey{s}) + txn.PushOutput(makeAddress(), 1e6, 50) + txn.PushOutput(makeAddress(), 5e6, 50) + txn.UpdateHeader() + return txn } func TestGetPendingTxs(t *testing.T) { @@ -108,6 +92,7 @@ func TestGetPendingTxs(t *testing.T) { status int err string getAllUnconfirmedTxnsResponse []visor.UnconfirmedTxn + getAllUnconfirmedTxnsErr error httpResponse []*visor.ReadableUnconfirmedTxn }{ { @@ -126,6 +111,13 @@ func TestGetPendingTxs(t *testing.T) { invalidTxn, }, }, + { + name: "500 - get unconfirmedTxn error", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - GetAllUnconfirmedTxns failed", + getAllUnconfirmedTxnsErr: errors.New("GetAllUnconfirmedTxns failed"), + }, { name: "200", method: http.MethodGet, @@ -137,9 +129,10 @@ func TestGetPendingTxs(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/pendingTxs" + endpoint := "/api/v1/pendingTxs" gateway := NewGatewayerMock() - gateway.On("GetAllUnconfirmedTxns").Return(tc.getAllUnconfirmedTxnsResponse) + gateway.On("GetAllUnconfirmedTxns").Return(tc.getAllUnconfirmedTxnsResponse, tc.getAllUnconfirmedTxnsErr) + gateway.On("IsCSPEnabled").Return(false) req, err := http.NewRequest(tc.method, endpoint, nil) require.NoError(t, err) @@ -270,9 +263,10 @@ func TestGetTransactionByID(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/transaction" + endpoint := "/api/v1/transaction" gateway := NewGatewayerMock() gateway.On("GetTransaction", tc.getTransactionArg).Return(tc.getTransactionReponse, tc.getTransactionError) + gateway.On("IsCSPEnabled").Return(false) v := url.Values{} if tc.httpBody != nil { @@ -295,6 +289,7 @@ func TestGetTransactionByID(t *testing.T) { rr := httptest.NewRecorder() handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) handler.ServeHTTP(rr, req) + status := rr.Code require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", tc.name, status, tc.status) @@ -318,19 +313,12 @@ func TestInjectTransaction(t *testing.T) { Rawtx string `json:"rawtx"` } - validTxBody := &httpBody{Rawtx: hex.EncodeToString(validTransaction.Serialize())} - validTxBodyJSON, err := json.Marshal(validTxBody) + validTxnBody := &httpBody{Rawtx: hex.EncodeToString(validTransaction.Serialize())} + validTxnBodyJSON, err := json.Marshal(validTxnBody) require.NoError(t, err) b := &httpBody{Rawtx: hex.EncodeToString(testutil.RandBytes(t, 128))} - invalidTxBodyJSON, err := json.Marshal(b) - require.NoError(t, err) - - invalidTxEmptyAddress := makeTransactionWithEmptyAddressOutput(t) - invalidTxEmptyAddressBody := &httpBody{ - Rawtx: hex.EncodeToString(invalidTxEmptyAddress.Serialize()), - } - invalidTxEmptyAddressBodyJSON, err := json.Marshal(invalidTxEmptyAddressBody) + invalidTxnBodyJSON, err := json.Marshal(b) require.NoError(t, err) tt := []struct { @@ -376,21 +364,14 @@ func TestInjectTransaction(t *testing.T) { method: http.MethodPost, status: http.StatusBadRequest, err: "400 Bad Request - Invalid transaction: Deserialization failed", - httpBody: string(invalidTxBodyJSON), - }, - { - name: "400 - txn sends to empty address", - method: http.MethodPost, - status: http.StatusBadRequest, - err: "400 Bad Request - Transaction.Out contains an output sending to an empty address", - httpBody: string(invalidTxEmptyAddressBodyJSON), + httpBody: string(invalidTxnBodyJSON), }, { name: "503 - injectTransactionError", method: http.MethodPost, status: http.StatusServiceUnavailable, err: "503 Service Unavailable - inject tx failed: injectTransactionError", - httpBody: string(validTxBodyJSON), + httpBody: string(validTxnBodyJSON), injectTransactionArg: validTransaction, injectTransactionError: errors.New("injectTransactionError"), }, @@ -398,7 +379,7 @@ func TestInjectTransaction(t *testing.T) { name: "200", method: http.MethodPost, status: http.StatusOK, - httpBody: string(validTxBodyJSON), + httpBody: string(validTxnBodyJSON), injectTransactionArg: validTransaction, httpResponse: validTransaction.Hash().Hex(), }, @@ -406,7 +387,7 @@ func TestInjectTransaction(t *testing.T) { name: "200 - csrf disabled", method: http.MethodPost, status: http.StatusOK, - httpBody: string(validTxBodyJSON), + httpBody: string(validTxnBodyJSON), injectTransactionArg: validTransaction, httpResponse: validTransaction.Hash().Hex(), csrfDisabled: true, @@ -415,9 +396,10 @@ func TestInjectTransaction(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/injectTransaction" + endpoint := "/api/v1/injectTransaction" gateway := NewGatewayerMock() gateway.On("InjectBroadcastTransaction", tc.injectTransactionArg).Return(tc.injectTransactionError) + gateway.On("IsCSPEnabled").Return(false) req, err := http.NewRequest(tc.method, endpoint, bytes.NewBufferString(tc.httpBody)) require.NoError(t, err) @@ -459,6 +441,7 @@ func TestResendUnconfirmedTxns(t *testing.T) { err string httpBody string resendUnconfirmedTxnsResponse *daemon.ResendResult + resendUnconfirmedTxnsErr error httpResponse *daemon.ResendResult }{ { @@ -467,6 +450,13 @@ func TestResendUnconfirmedTxns(t *testing.T) { status: http.StatusMethodNotAllowed, err: "405 Method Not Allowed", }, + { + name: "500 resend failed", + method: http.MethodGet, + status: http.StatusInternalServerError, + err: "500 Internal Server Error - ResendUnconfirmedTxns failed", + resendUnconfirmedTxnsErr: errors.New("ResendUnconfirmedTxns failed"), + }, { name: "200", method: http.MethodGet, @@ -478,9 +468,10 @@ func TestResendUnconfirmedTxns(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/resendUnconfirmedTxns" + endpoint := "/api/v1/resendUnconfirmedTxns" gateway := NewGatewayerMock() - gateway.On("ResendUnconfirmedTxns").Return(tc.resendUnconfirmedTxnsResponse) + gateway.On("ResendUnconfirmedTxns").Return(tc.resendUnconfirmedTxnsResponse, tc.resendUnconfirmedTxnsErr) + gateway.On("IsCSPEnabled").Return(false) req, err := http.NewRequest(tc.method, endpoint, bytes.NewBufferString(tc.httpBody)) require.NoError(t, err) @@ -602,9 +593,10 @@ func TestGetRawTx(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/rawtx" + endpoint := "/api/v1/rawtx" gateway := NewGatewayerMock() gateway.On("GetTransaction", tc.getTransactionArg).Return(tc.getTransactionResponse, tc.getTransactionError) + gateway.On("IsCSPEnabled").Return(false) v := url.Values{} if tc.httpBody != nil { if tc.httpBody.txid != "" { @@ -758,10 +750,11 @@ func TestGetTransactions(t *testing.T) { } for _, tc := range tt { - endpoint := "/transactions" + endpoint := "/api/v1/transactions" t.Run(tc.name, func(t *testing.T) { gateway := NewGatewayerMock() gateway.On("GetTransactions", mock.Anything).Return(tc.getTransactionsResponse, tc.getTransactionsError) + gateway.On("IsCSPEnabled").Return(false) v := url.Values{} if tc.httpBody != nil { @@ -804,3 +797,249 @@ func TestGetTransactions(t *testing.T) { }) } } + +type transactionAndInputs struct { + txn coin.Transaction + inputs []wallet.UxBalance +} + +func newVerifyTxnResponseJSON(t *testing.T, txn *coin.Transaction, inputs []wallet.UxBalance, isTxnConfirmed bool) VerifyTxnResponse { + ctxn, err := newCreatedTransactionFuzzy(txn, inputs) + require.NoError(t, err) + return VerifyTxnResponse{ + Transaction: *ctxn, + Confirmed: isTxnConfirmed, + } +} + +func prepareTxnAndInputs(t *testing.T) transactionAndInputs { + txn := coin.Transaction{} + ux, s := makeUxOutWithSecret(t) + + txn.PushInput(ux.Hash()) + txn.SignInputs([]cipher.SecKey{s}) + txn.PushOutput(makeAddress(), 1e6, 50) + txn.PushOutput(makeAddress(), 5e6, 50) + txn.UpdateHeader() + + input, err := wallet.NewUxBalance(uint64(utc.UnixNow()), ux) + require.NoError(t, err) + + return transactionAndInputs{txn: txn, inputs: []wallet.UxBalance{input}} +} + +func makeTransactionWithEmptyAddressOutput(t *testing.T) transactionAndInputs { + txn := coin.Transaction{} + ux, s := makeUxOutWithSecret(t) + + txn.PushInput(ux.Hash()) + txn.SignInputs([]cipher.SecKey{s}) + txn.PushOutput(makeAddress(), 1e6, 50) + txn.PushOutput(cipher.Address{}, 5e6, 50) + txn.UpdateHeader() + + input, err := wallet.NewUxBalance(uint64(utc.UnixNow()), ux) + require.NoError(t, err) + + return transactionAndInputs{txn: txn, inputs: []wallet.UxBalance{input}} +} + +func TestVerifyTransaction(t *testing.T) { + txnAndInputs := prepareTxnAndInputs(t) + type httpBody struct { + EncodedTransaction string `json:"encoded_transaction"` + } + + validTxnBody := &httpBody{EncodedTransaction: hex.EncodeToString(txnAndInputs.txn.Serialize())} + validTxnBodyJSON, err := json.Marshal(validTxnBody) + require.NoError(t, err) + + b := &httpBody{EncodedTransaction: hex.EncodeToString(testutil.RandBytes(t, 128))} + invalidTxnBodyJSON, err := json.Marshal(b) + require.NoError(t, err) + + invalidTxnEmptyAddress := makeTransactionWithEmptyAddressOutput(t) + invalidTxnEmptyAddressBody := &httpBody{ + EncodedTransaction: hex.EncodeToString(invalidTxnEmptyAddress.txn.Serialize()), + } + invalidTxnEmptyAddressBodyJSON, err := json.Marshal(invalidTxnEmptyAddressBody) + require.NoError(t, err) + + type verifyTxnVerboseResult struct { + Uxouts []wallet.UxBalance + IsTxnConfirmed bool + Err error + } + + tt := []struct { + name string + method string + contentType string + status int + err string + httpBody string + gatewayVerifyTxnVerboseArg coin.Transaction + gatewayVerifyTxnVerboseResult verifyTxnVerboseResult + httpResponse HTTPResponse + csrfDisabled bool + }{ + { + name: "405", + method: http.MethodGet, + status: http.StatusMethodNotAllowed, + gatewayVerifyTxnVerboseArg: txnAndInputs.txn, + httpResponse: NewHTTPErrorResponse(http.StatusMethodNotAllowed, ""), + }, + { + name: "400 - EOF", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusBadRequest, + httpResponse: NewHTTPErrorResponse(http.StatusBadRequest, "EOF"), + }, + { + name: "415 - Unsupported Media Type", + method: http.MethodPost, + contentType: "", + status: http.StatusUnsupportedMediaType, + httpResponse: NewHTTPErrorResponse(http.StatusUnsupportedMediaType, ""), + }, + { + name: "400 - Invalid transaction: Deserialization failed", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusBadRequest, + httpBody: `{"wrongKey":"wrongValue"}`, + httpResponse: NewHTTPErrorResponse(http.StatusBadRequest, "decode transaction failed: Invalid transaction: Deserialization failed"), + }, + { + name: "400 - encoding/hex: odd length hex string", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusBadRequest, + httpBody: `{"encoded_transaction":"aab"}`, + httpResponse: NewHTTPErrorResponse(http.StatusBadRequest, "decode transaction failed: encoding/hex: odd length hex string"), + }, + { + name: "400 - deserialization error", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusBadRequest, + httpBody: string(invalidTxnBodyJSON), + httpResponse: NewHTTPErrorResponse(http.StatusBadRequest, "decode transaction failed: Invalid transaction: Deserialization failed"), + }, + { + name: "422 - txn sends to empty address", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusUnprocessableEntity, + httpBody: string(invalidTxnEmptyAddressBodyJSON), + gatewayVerifyTxnVerboseArg: invalidTxnEmptyAddress.txn, + gatewayVerifyTxnVerboseResult: verifyTxnVerboseResult{ + Uxouts: invalidTxnEmptyAddress.inputs, + Err: visor.NewErrTxnViolatesUserConstraint(errors.New("Transaction.Out contains an output sending to an empty address")), + }, + httpResponse: HTTPResponse{ + Data: newVerifyTxnResponseJSON(t, &invalidTxnEmptyAddress.txn, invalidTxnEmptyAddress.inputs, false), + Error: &HTTPError{ + Code: http.StatusUnprocessableEntity, + Message: "Transaction violates user constraint: Transaction.Out contains an output sending to an empty address", + }, + }, + }, + { + name: "500 - internal server error", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusInternalServerError, + httpBody: string(validTxnBodyJSON), + gatewayVerifyTxnVerboseArg: txnAndInputs.txn, + gatewayVerifyTxnVerboseResult: verifyTxnVerboseResult{ + Err: errors.New("verify transaction failed"), + }, + httpResponse: NewHTTPErrorResponse(http.StatusInternalServerError, "verify transaction failed"), + }, + { + name: "422 - txn is confirmed", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusUnprocessableEntity, + httpBody: string(validTxnBodyJSON), + gatewayVerifyTxnVerboseArg: txnAndInputs.txn, + gatewayVerifyTxnVerboseResult: verifyTxnVerboseResult{ + Uxouts: txnAndInputs.inputs, + IsTxnConfirmed: true, + }, + httpResponse: HTTPResponse{ + Error: &HTTPError{ + Message: "transaction has been spent", + Code: http.StatusUnprocessableEntity, + }, + Data: newVerifyTxnResponseJSON(t, &txnAndInputs.txn, txnAndInputs.inputs, true), + }, + }, + { + name: "200", + method: http.MethodPost, + contentType: "application/json", + status: http.StatusOK, + httpBody: string(validTxnBodyJSON), + gatewayVerifyTxnVerboseArg: txnAndInputs.txn, + gatewayVerifyTxnVerboseResult: verifyTxnVerboseResult{ + Uxouts: txnAndInputs.inputs, + }, + httpResponse: HTTPResponse{ + Data: newVerifyTxnResponseJSON(t, &txnAndInputs.txn, txnAndInputs.inputs, false), + }, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + endpoint := "/api/v2/transaction/verify" + gateway := NewGatewayerMock() + gateway.On("VerifyTxnVerbose", &tc.gatewayVerifyTxnVerboseArg).Return(tc.gatewayVerifyTxnVerboseResult.Uxouts, + tc.gatewayVerifyTxnVerboseResult.IsTxnConfirmed, tc.gatewayVerifyTxnVerboseResult.Err) + gateway.On("IsCSPEnabled").Return(false) + + req, err := http.NewRequest(tc.method, endpoint, bytes.NewBufferString(tc.httpBody)) + require.NoError(t, err) + req.Header.Set("Content-Type", tc.contentType) + + csrfStore := &CSRFStore{ + Enabled: !tc.csrfDisabled, + } + if csrfStore.Enabled { + setCSRFParameters(csrfStore, tokenValid, req) + } else { + setCSRFParameters(csrfStore, tokenInvalid, req) + } + + rr := httptest.NewRecorder() + handler := newServerMux(muxConfig{host: configuredHost, appLoc: "."}, gateway, csrfStore, nil) + handler.ServeHTTP(rr, req) + + status := rr.Code + require.Equal(t, tc.status, status, "case: %s, handler returned wrong status code: got `%v` want `%v`", + tc.name, status, tc.status) + + var rsp ReceivedHTTPResponse + err = json.NewDecoder(rr.Body).Decode(&rsp) + require.NoError(t, err) + + require.Equal(t, tc.httpResponse.Error, rsp.Error) + + if rsp.Data == nil { + require.Nil(t, tc.httpResponse.Data) + } else { + require.NotNil(t, tc.httpResponse.Data) + + var txnRsp VerifyTxnResponse + err := json.Unmarshal(rsp.Data, &txnRsp) + require.NoError(t, err) + + require.Equal(t, tc.httpResponse.Data.(VerifyTxnResponse), txnRsp) + } + }) + } +} diff --git a/src/gui/uxout.go b/src/api/uxout.go similarity index 99% rename from src/gui/uxout.go rename to src/api/uxout.go index 7ead75e..e6819f9 100755 --- a/src/gui/uxout.go +++ b/src/api/uxout.go @@ -1,4 +1,4 @@ -package gui +package api import ( "net/http" diff --git a/src/gui/uxout_test.go b/src/api/uxout_test.go similarity index 97% rename from src/gui/uxout_test.go rename to src/api/uxout_test.go index c0b8b80..3c8bd26 100755 --- a/src/gui/uxout_test.go +++ b/src/api/uxout_test.go @@ -1,4 +1,4 @@ -package gui +package api import ( "encoding/json" @@ -116,8 +116,9 @@ func TestGetUxOutByID(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { gateway := NewGatewayerMock() - endpoint := "/uxout" + endpoint := "/api/v1/uxout" gateway.On("GetUxOutByID", tc.getGetUxOutByIDArg).Return(tc.getGetUxOutByIDResponse, tc.getGetUxOutByIDError) + gateway.On("IsCSPEnabled").Return(false) v := url.Values{} if tc.httpBody != nil { @@ -233,9 +234,10 @@ func TestGetAddrUxOuts(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { - endpoint := "/address_uxouts" + endpoint := "/api/v1/address_uxouts" gateway := NewGatewayerMock() gateway.On("GetAddrUxOuts", tc.getAddrUxOutsArg).Return(tc.getAddrUxOutsResponse, tc.getAddrUxOutsError) + gateway.On("IsCSPEnabled").Return(false) v := url.Values{} if tc.httpBody != nil { diff --git a/src/gui/wallet.go b/src/api/wallet.go similarity index 87% rename from src/gui/wallet.go rename to src/api/wallet.go index fb66dc1..5bd16e7 100755 --- a/src/gui/wallet.go +++ b/src/api/wallet.go @@ -1,6 +1,7 @@ -package gui +package api + +// APIs for wallet-related information -// Wallet-related information for the GUI import ( "fmt" "net/http" @@ -56,6 +57,12 @@ type WalletResponse struct { Entries []WalletEntry `json:"entries"` } +// BalanceResponse address balance summary struct +type BalanceResponse struct { + wallet.BalancePair + Addresses wallet.AddressBalance `json:"addresses"` +} + // NewWalletResponse creates WalletResponse struct from *wallet.Wallet func NewWalletResponse(w *wallet.Wallet) (*WalletResponse, error) { var wr WalletResponse @@ -97,7 +104,7 @@ func NewWalletResponse(w *wallet.Wallet) (*WalletResponse, error) { // Returns the wallet's balance, both confirmed and predicted. The predicted // balance is the confirmed balance minus the pending spends. -// URI: /wallet/balance +// URI: /api/v1/wallet/balance // Method: GET // Args: // id: wallet id [required] @@ -113,7 +120,7 @@ func walletBalanceHandler(gateway Gatewayer) http.HandlerFunc { return } - b, err := gateway.GetWalletBalance(wltID) + walletBalance, addressBalances, err := gateway.GetWalletBalance(wltID) if err != nil { logger.Errorf("Get wallet balance failed: %v", err) switch err { @@ -129,13 +136,83 @@ func walletBalanceHandler(gateway Gatewayer) http.HandlerFunc { return } - wh.SendJSONOr500(logger, w, b) + wh.SendJSONOr500(logger, w, BalanceResponse{ + BalancePair: walletBalance, + Addresses: addressBalances, + }) + } +} + +// Returns the balance of one or more addresses, both confirmed and predicted. The predicted +// balance is the confirmed balance minus the pending spends. +// URI: /api/v1/balance +// Method: GET +// Args: +// addrs: command separated list of addresses [required] +func getBalanceHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + addrsParam := r.FormValue("addrs") + addrsStr := splitCommaString(addrsParam) + + addrs := make([]cipher.Address, 0, len(addrsStr)) + for _, addr := range addrsStr { + a, err := cipher.DecodeBase58Address(addr) + if err != nil { + wh.Error400(w, fmt.Sprintf("address %s is invalid: %v", addr, err)) + return + } + addrs = append(addrs, a) + } + + if len(addrs) == 0 { + wh.Error400(w, "addrs is required") + return + } + + bals, err := gateway.GetBalanceOfAddrs(addrs) + if err != nil { + err = fmt.Errorf("gateway.GetBalanceOfAddrs failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + // create map of address to balance + addressBalances := make(wallet.AddressBalance, len(addrs)) + for idx, addr := range addrs { + addressBalances[addr.String()] = bals[idx] + } + + var balance wallet.BalancePair + for _, bal := range bals { + var err error + balance.Confirmed, err = balance.Confirmed.Add(bal.Confirmed) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + balance.Predicted, err = balance.Predicted.Add(bal.Predicted) + if err != nil { + wh.Error500(w, err.Error()) + return + } + } + + wh.SendJSONOr500(logger, w, BalanceResponse{ + BalancePair: balance, + Addresses: addressBalances, + }) } } // Creates and broadcasts a transaction sending money from one of our wallets // to destination address. -// URI: /wallet/spend +// URI: /api/v1/wallet/spend // Method: POST // Args: // id: wallet id @@ -231,7 +308,7 @@ func walletSpendHandler(gateway Gatewayer) http.HandlerFunc { } // Get the new wallet balance - b, err := gateway.GetWalletBalance(wltID) + walletBalance, _, err := gateway.GetWalletBalance(wltID) if err != nil { err = fmt.Errorf("Get wallet balance failed: %v", err) logger.Error(err) @@ -239,7 +316,7 @@ func walletSpendHandler(gateway Gatewayer) http.HandlerFunc { wh.SendJSONOr500(logger, w, ret) return } - ret.Balance = &b + ret.Balance = &walletBalance wh.SendJSONOr500(logger, w, ret) } @@ -343,7 +420,7 @@ func walletCreate(gateway Gatewayer) http.HandlerFunc { } // Genreates new addresses -// URI: /wallet/newAddress +// URI: /api/v1/wallet/newAddress // Method: POST // Args: // id: wallet id [required] @@ -406,7 +483,7 @@ func walletNewAddresses(gateway Gatewayer) http.HandlerFunc { } // Update wallet label -// URI: /wallet/update +// URI: /api/v1/wallet/update // Method: POST // Args: // id: wallet id [required] @@ -450,7 +527,7 @@ func walletUpdateHandler(gateway Gatewayer) http.HandlerFunc { } // Returns a wallet by id -// URI: /wallet +// URI: /api/v1/wallet // Method: GET // Args: // id: wallet id [required] @@ -487,7 +564,7 @@ func walletGet(gateway Gatewayer) http.HandlerFunc { } // Returns JSON of unconfirmed transactions for user's wallet -// URI: /wallet/transactions +// URI: /api/v1/wallet/transactions // Method: GET // Args: // id: wallet id [required] @@ -532,7 +609,7 @@ func walletTransactionsHandler(gateway Gatewayer) http.HandlerFunc { } // Returns all loaded wallets -// URI: /wallets +// URI: /api/v1/wallets // Method: GET func walletsHandler(gateway Gatewayer) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { @@ -577,7 +654,7 @@ type WalletFolder struct { } // Returns the wallet directory path -// URI: /wallets/folderName +// URI: /api/v1/wallets/folderName // Method: GET func getWalletFolder(gateway Gatewayer) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { @@ -604,7 +681,7 @@ func getWalletFolder(gateway Gatewayer) http.HandlerFunc { } // Generates wallet seed -// URI: /wallet/newSeed +// URI: /api/v1/wallet/newSeed // Method: GET // Args: // entropy: entropy bitsize [optional, default value of 128 will be used if not set] @@ -646,7 +723,7 @@ func newWalletSeed(gateway Gatewayer) http.HandlerFunc { mnemonic, err := bip39.NewMnemonic(entropy) if err != nil { - err = fmt.Errorf("bip39.NewDefaultMnemomic failed: %v", err) + err = fmt.Errorf("bip39.NewDefaultMnemonic failed: %v", err) wh.Error500(w, err.Error()) return } @@ -661,7 +738,7 @@ func newWalletSeed(gateway Gatewayer) http.HandlerFunc { } // Returns seed of wallet of given id -// URI: /wallet/seed +// URI: /api/v1/wallet/seed // Method: POST // Args: // id: wallet id @@ -712,7 +789,7 @@ func walletSeedHandler(gateway Gatewayer) http.HandlerFunc { } // Unloads wallet from the wallet service -// URI: /wallet/unload +// URI: /api/v1/wallet/unload // Method: POST // Args: // id: wallet id @@ -741,7 +818,7 @@ func walletUnloadHandler(gateway Gatewayer) http.HandlerFunc { } // Encrypts wallet -// URI: /wallet/encrypt +// URI: /api/v1/wallet/encrypt // Method: POST // Args: // id: wallet id @@ -792,7 +869,7 @@ func walletEncryptHandler(gateway Gatewayer) http.HandlerFunc { } // Decrypts wallet -// URI: /wallet/decrypt +// URI: /api/v1/wallet/decrypt // Method: POST // Args: // id: wallet id diff --git a/src/gui/wallet_test.go b/src/api/wallet_test.go similarity index 96% rename from src/gui/wallet_test.go rename to src/api/wallet_test.go index 02c6bff..fde88df 100755 --- a/src/gui/wallet_test.go +++ b/src/api/wallet_test.go @@ -1,4 +1,4 @@ -package gui +package api import ( "bytes" @@ -45,7 +45,7 @@ func TestWalletSpendHandler(t *testing.T) { password string gatewaySpendResult *coin.Transaction gatewaySpendErr error - gatewayGetWalletBalanceResult wallet.BalancePair + gatewayGetWalletBalanceResult BalanceResponse gatewayBalanceErr error spendResult *SpendResult csrfDisabled bool @@ -408,9 +408,11 @@ func TestWalletSpendHandler(t *testing.T) { gateway := &GatewayerMock{} addr, _ := cipher.DecodeBase58Address(tc.dst) gateway.On("Spend", tc.walletID, []byte(tc.password), tc.coins, addr).Return(tc.gatewaySpendResult, tc.gatewaySpendErr) - gateway.On("GetWalletBalance", tc.walletID).Return(tc.gatewayGetWalletBalanceResult, tc.gatewayBalanceErr) + gateway.On("GetWalletBalance", tc.walletID).Return(tc.gatewayGetWalletBalanceResult.BalancePair, + tc.gatewayGetWalletBalanceResult.Addresses, tc.gatewayBalanceErr) + gateway.On("IsCSPEnabled").Return(false) - endpoint := "/wallet/spend" + endpoint := "/api/v1/wallet/spend" v := url.Values{} if tc.body != nil { @@ -544,9 +546,10 @@ func TestWalletGet(t *testing.T) { t.Run(tc.name, func(t *testing.T) { gateway := &GatewayerMock{} gateway.On("GetWallet", tc.walletID).Return(&tc.gatewayGetWalletResult, tc.gatewayGetWalletErr) + gateway.On("IsCSPEnabled").Return(false) v := url.Values{} - endpoint := "/wallet" + endpoint := "/api/v1/wallet" if tc.body != nil { if tc.body.WalletID != "" { @@ -603,7 +606,7 @@ func TestWalletBalanceHandler(t *testing.T) { status int err string walletID string - gatewayGetWalletBalanceResult wallet.BalancePair + gatewayGetWalletBalanceResult BalanceResponse gatewayBalanceErr error result *wallet.BalancePair }{ @@ -627,14 +630,11 @@ func TestWalletBalanceHandler(t *testing.T) { body: &httpBody{ WalletID: "notFoundId", }, - status: http.StatusNotFound, - err: "404 Not Found", - walletID: "notFoundId", - gatewayGetWalletBalanceResult: wallet.BalancePair{ - Confirmed: wallet.Balance{Coins: 0, Hours: 0}, - Predicted: wallet.Balance{Coins: 0, Hours: 0}, - }, - gatewayBalanceErr: wallet.ErrWalletNotExist, + status: http.StatusNotFound, + err: "404 Not Found", + walletID: "notFoundId", + gatewayGetWalletBalanceResult: BalanceResponse{}, + gatewayBalanceErr: wallet.ErrWalletNotExist, result: &wallet.BalancePair{ Confirmed: wallet.Balance{Coins: 0, Hours: 0}, Predicted: wallet.Balance{Coins: 0, Hours: 0}, @@ -646,14 +646,11 @@ func TestWalletBalanceHandler(t *testing.T) { body: &httpBody{ WalletID: "someId", }, - status: http.StatusInternalServerError, - err: "500 Internal Server Error - gatewayBalanceError", - walletID: "someId", - gatewayGetWalletBalanceResult: wallet.BalancePair{ - Confirmed: wallet.Balance{Coins: 0, Hours: 0}, - Predicted: wallet.Balance{Coins: 0, Hours: 0}, - }, - gatewayBalanceErr: errors.New("gatewayBalanceError"), + status: http.StatusInternalServerError, + err: "500 Internal Server Error - gatewayBalanceError", + walletID: "someId", + gatewayGetWalletBalanceResult: BalanceResponse{}, + gatewayBalanceErr: errors.New("gatewayBalanceError"), result: &wallet.BalancePair{ Confirmed: wallet.Balance{Coins: 0, Hours: 0}, Predicted: wallet.Balance{Coins: 0, Hours: 0}, @@ -668,7 +665,7 @@ func TestWalletBalanceHandler(t *testing.T) { status: http.StatusForbidden, err: "403 Forbidden", walletID: "foo", - gatewayGetWalletBalanceResult: wallet.BalancePair{}, + gatewayGetWalletBalanceResult: BalanceResponse{}, gatewayBalanceErr: wallet.ErrWalletAPIDisabled, }, { @@ -687,9 +684,11 @@ func TestWalletBalanceHandler(t *testing.T) { for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { gateway := &GatewayerMock{} - gateway.On("GetWalletBalance", tc.walletID).Return(tc.gatewayGetWalletBalanceResult, tc.gatewayBalanceErr) + gateway.On("GetWalletBalance", tc.walletID).Return(tc.gatewayGetWalletBalanceResult.BalancePair, + tc.gatewayGetWalletBalanceResult.Addresses, tc.gatewayBalanceErr) + gateway.On("IsCSPEnabled").Return(false) - endpoint := "/wallet/balance" + endpoint := "/api/v1/wallet/balance" v := url.Values{} if tc.body != nil { @@ -834,8 +833,9 @@ func TestUpdateWalletLabelHandler(t *testing.T) { t.Run(tc.name, func(t *testing.T) { gateway := &GatewayerMock{} gateway.On("UpdateWalletLabel", tc.walletID, tc.label).Return(tc.gatewayUpdateWalletLabelErr) + gateway.On("IsCSPEnabled").Return(false) - endpoint := "/wallet/update" + endpoint := "/api/v1/wallet/update" v := url.Values{} if tc.body != nil { @@ -954,8 +954,9 @@ func TestWalletTransactionsHandler(t *testing.T) { for _, tc := range tt { gateway := &GatewayerMock{} gateway.On("GetWalletUnconfirmedTxns", tc.walletID).Return(tc.gatewayGetWalletUnconfirmedTxnsResult, tc.gatewayGetWalletUnconfirmedTxnsErr) + gateway.On("IsCSPEnabled").Return(false) - endpoint := "/wallet/transactions" + endpoint := "/api/v1/wallet/transactions" v := url.Values{} if tc.body != nil { @@ -1243,8 +1244,9 @@ func TestWalletCreateHandler(t *testing.T) { } gateway.On("CreateWallet", "", tc.options).Return(&tc.gatewayCreateWalletResult, tc.gatewayCreateWalletErr) // gateway.On("ScanAheadWalletAddresses", tc.wltName, tc.options.Password, tc.scnN-1).Return(&tc.scanWalletAddressesResult, tc.scanWalletAddressesError) + gateway.On("IsCSPEnabled").Return(false) - endpoint := "/wallet/create" + endpoint := "/api/v1/wallet/create" v := url.Values{} if tc.body != nil { @@ -1378,8 +1380,9 @@ func TestWalletNewSeed(t *testing.T) { t.Run(tc.name, func(t *testing.T) { gateway := &GatewayerMock{} gateway.On("IsWalletAPIEnabled").Return(true) + gateway.On("IsCSPEnabled").Return(false) - endpoint := "/wallet/newSeed" + endpoint := "/api/v1/wallet/newSeed" // Add request parameters to url v := url.Values{} @@ -1428,10 +1431,6 @@ func TestWalletNewSeed(t *testing.T) { } func TestGetWalletSeed(t *testing.T) { - type gatewayReturnPair struct { - seed string - err error - } tt := []struct { name string @@ -1538,8 +1537,9 @@ func TestGetWalletSeed(t *testing.T) { t.Run(tc.name, func(t *testing.T) { gateway := NewGatewayerMock() gateway.On("GetWalletSeed", tc.wltID, []byte(tc.password)).Return(tc.gatewayReturnArgs...) + gateway.On("IsCSPEnabled").Return(false) - endpoint := "/wallet/seed" + endpoint := "/api/v1/wallet/seed" v := url.Values{} v.Add("id", tc.wltID) @@ -1751,8 +1751,9 @@ func TestWalletNewAddressesHandler(t *testing.T) { t.Run(tc.name, func(t *testing.T) { gateway := &GatewayerMock{} gateway.On("NewAddresses", tc.walletID, []byte(tc.password), tc.n).Return(tc.gatewayNewAddressesResult, tc.gatewayNewAddressesErr) + gateway.On("IsCSPEnabled").Return(false) - endpoint := "/wallet/newAddress" + endpoint := "/api/v1/wallet/newAddress" v := url.Values{} if tc.body != nil { @@ -1838,8 +1839,8 @@ func TestGetWalletFolderHandler(t *testing.T) { for _, tc := range tt { gateway := &GatewayerMock{} gateway.On("GetWalletDir").Return(tc.getWalletDirResponse, tc.getWalletDirErr) - - endpoint := "/wallets/folderName" + gateway.On("IsCSPEnabled").Return(false) + endpoint := "/api/v1/wallets/folderName" req, err := http.NewRequest(tc.method, endpoint, nil) require.NoError(t, err) @@ -1898,7 +1899,6 @@ func TestGetWallets(t *testing.T) { status: http.StatusMethodNotAllowed, err: "405 Method Not Allowed", }, - { name: "403 - wallet API disabled", method: http.MethodGet, @@ -1906,7 +1906,6 @@ func TestGetWallets(t *testing.T) { err: "403 Forbidden", getWalletsErr: wallet.ErrWalletAPIDisabled, }, - { name: "200 no wallets", method: http.MethodGet, @@ -1914,7 +1913,6 @@ func TestGetWallets(t *testing.T) { getWalletsResponse: nil, httpResponse: []*WalletResponse{}, }, - { name: "200 no wallets 2", method: http.MethodGet, @@ -1922,7 +1920,6 @@ func TestGetWallets(t *testing.T) { getWalletsResponse: wallet.Wallets{}, httpResponse: []*WalletResponse{}, }, - { name: "200", method: http.MethodGet, @@ -2066,8 +2063,9 @@ func TestGetWallets(t *testing.T) { for _, tc := range cases { gateway := &GatewayerMock{} gateway.On("GetWallets").Return(tc.getWalletsResponse, tc.getWalletsErr) + gateway.On("IsCSPEnabled").Return(false) - endpoint := "/wallets" + endpoint := "/api/v1/wallets" req, err := http.NewRequest(tc.method, endpoint, nil) require.NoError(t, err) @@ -2149,8 +2147,9 @@ func TestWalletUnloadHandler(t *testing.T) { t.Run(tc.name, func(t *testing.T) { gateway := &GatewayerMock{} gateway.On("UnloadWallet", tc.walletID).Return(tc.unloadWalletErr) + gateway.On("IsCSPEnabled").Return(false) - endpoint := "/wallet/unload" + endpoint := "/api/v1/wallet/unload" v := url.Values{} v.Add("id", tc.walletID) @@ -2301,8 +2300,9 @@ func TestEncryptWallet(t *testing.T) { t.Run(tc.name, func(t *testing.T) { gateway := NewGatewayerMock() gateway.On("EncryptWallet", tc.wltID, []byte(tc.password)).Return(tc.gatewayReturn.w, tc.gatewayReturn.err) + gateway.On("IsCSPEnabled").Return(false) - endpoint := "/wallet/encrypt" + endpoint := "/api/v1/wallet/encrypt" v := url.Values{} v.Add("id", tc.wltID) v.Add("password", tc.password) @@ -2487,8 +2487,9 @@ func TestDecryptWallet(t *testing.T) { t.Run(tc.name, func(t *testing.T) { gateway := NewGatewayerMock() gateway.On("DecryptWallet", tc.wltID, []byte(tc.password)).Return(tc.gatewayReturn.w, tc.gatewayReturn.err) + gateway.On("IsCSPEnabled").Return(false) - endpoint := "/wallet/decrypt" + endpoint := "/api/v1/wallet/decrypt" v := url.Values{} v.Add("id", tc.wltID) v.Add("password", tc.password) @@ -2529,7 +2530,7 @@ func TestDecryptWallet(t *testing.T) { // makeEntries derives N wallet address entries from given seed // Returns set of wallet.Entry and wallet.ReadableEntry, the readable // entries' secrets are removed. -func makeEntries(seed []byte, n int) ([]wallet.Entry, []WalletEntry) { +func makeEntries(seed []byte, n int) ([]wallet.Entry, []WalletEntry) { // nolint: unparam seckeys := cipher.GenerateDeterministicKeyPairs(seed, n) var entries []wallet.Entry var responseEntries []WalletEntry diff --git a/src/api/webrpc/client.go b/src/api/webrpc/client.go index fbf456c..411d80f 100755 --- a/src/api/webrpc/client.go +++ b/src/api/webrpc/client.go @@ -27,14 +27,14 @@ const ( // ErrJSONUnmarshal is returned if JSON unmarshal fails var ErrJSONUnmarshal = errors.New("JSON unmarshal failed") -// APIError is used for non-200 API responses -type APIError struct { +// ClientError is used for non-200 API responses +type ClientError struct { Status string StatusCode int Message string } -func (e APIError) Error() string { +func (e ClientError) Error() string { return e.Message } @@ -250,7 +250,7 @@ func do(httpClient *http.Client, rpcReq *Request, rpcAddress, csrf string) (*Res return nil, err } - url := rpcAddress + "webrpc" + url := rpcAddress + "api/v1/webrpc" body := bytes.NewBuffer(d) req, err := http.NewRequest(http.MethodPost, url, body) if err != nil { @@ -275,7 +275,7 @@ func do(httpClient *http.Client, rpcReq *Request, rpcAddress, csrf string) (*Res return nil, err } - return nil, APIError{ + return nil, ClientError{ Status: resp.Status, StatusCode: resp.StatusCode, Message: strings.TrimSpace(string(body)), diff --git a/src/api/webrpc/client_test.go b/src/api/webrpc/client_test.go index 57d94fe..eb0bce4 100755 --- a/src/api/webrpc/client_test.go +++ b/src/api/webrpc/client_test.go @@ -23,7 +23,7 @@ func TestClientGetUnspentOutputs(t *testing.T) { s := setupWebRPC(t) mux := http.NewServeMux() - mux.Handle("/webrpc", http.HandlerFunc(s.Handler)) + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) headTime := uint64(time.Now().UTC().Unix()) uxouts := make([]coin.UxOut, 5) @@ -66,7 +66,7 @@ func TestClientGetUnspentOutputs(t *testing.T) { body, err := json.Marshal(rpcReq) require.NoError(t, err) - req, err := http.NewRequest(http.MethodPost, "/webrpc", bytes.NewReader(body)) + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) require.NoError(t, err) rr := httptest.NewRecorder() @@ -115,7 +115,7 @@ func TestClientInjectTransaction(t *testing.T) { s := setupWebRPC(t) mux := http.NewServeMux() - mux.Handle("/webrpc", http.HandlerFunc(s.Handler)) + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) s.Gateway.(*fakeGateway).injectRawTxMap = map[string]bool{ rawTxID: true, @@ -128,7 +128,7 @@ func TestClientInjectTransaction(t *testing.T) { body, err := json.Marshal(rpcReq) require.NoError(t, err) - req, err := http.NewRequest(http.MethodPost, "/webrpc", bytes.NewReader(body)) + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) require.NoError(t, err) rr := httptest.NewRecorder() @@ -154,7 +154,7 @@ func TestClientGetStatus(t *testing.T) { s := setupWebRPC(t) mux := http.NewServeMux() - mux.Handle("/webrpc", http.HandlerFunc(s.Handler)) + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) rpcReq, err := NewRequest("get_status", nil, "1") require.NoError(t, err) @@ -162,7 +162,7 @@ func TestClientGetStatus(t *testing.T) { body, err := json.Marshal(rpcReq) require.NoError(t, err) - req, err := http.NewRequest(http.MethodPost, "/webrpc", bytes.NewReader(body)) + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) require.NoError(t, err) rr := httptest.NewRecorder() @@ -192,7 +192,7 @@ func TestClientGetTransactionByID(t *testing.T) { s := setupWebRPC(t) mux := http.NewServeMux() - mux.Handle("/webrpc", http.HandlerFunc(s.Handler)) + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) cases := []struct { name string @@ -231,7 +231,7 @@ func TestClientGetTransactionByID(t *testing.T) { body, err := json.Marshal(rpcReq) require.NoError(t, err) - req, err := http.NewRequest(http.MethodPost, "/webrpc", bytes.NewReader(body)) + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) require.NoError(t, err) rr := httptest.NewRecorder() @@ -270,7 +270,7 @@ func TestClientGetAddressUxOuts(t *testing.T) { s := setupWebRPC(t) mux := http.NewServeMux() - mux.Handle("/webrpc", http.HandlerFunc(s.Handler)) + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) cases := []struct { name string @@ -299,7 +299,7 @@ func TestClientGetAddressUxOuts(t *testing.T) { body, err := json.Marshal(rpcReq) require.NoError(t, err) - req, err := http.NewRequest(http.MethodPost, "/webrpc", bytes.NewReader(body)) + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) require.NoError(t, err) rr := httptest.NewRecorder() @@ -334,7 +334,7 @@ func TestClientGetBlocks(t *testing.T) { s := setupWebRPC(t) mux := http.NewServeMux() - mux.Handle("/webrpc", http.HandlerFunc(s.Handler)) + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) // blockString borrowed from block_test.go rpcReq, err := NewRequest("get_blocks", []uint64{0, 1}, "1") @@ -343,7 +343,7 @@ func TestClientGetBlocks(t *testing.T) { body, err := json.Marshal(rpcReq) require.NoError(t, err) - req, err := http.NewRequest(http.MethodPost, "/webrpc", bytes.NewReader(body)) + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) require.NoError(t, err) rr := httptest.NewRecorder() @@ -372,7 +372,7 @@ func TestClientGetBlocksBySeq(t *testing.T) { gatewayerMock.On("GetBlocksInDepth", []uint64{454}).Return(decodeBlock(blockString), nil) mux := http.NewServeMux() - mux.Handle("/webrpc", http.HandlerFunc(s.Handler)) + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) // blockString and seq borrowed from block_test.go var seq uint64 = 454 @@ -382,7 +382,7 @@ func TestClientGetBlocksBySeq(t *testing.T) { body, err := json.Marshal(rpcReq) require.NoError(t, err) - req, err := http.NewRequest(http.MethodPost, "/webrpc", bytes.NewReader(body)) + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) require.NoError(t, err) rr := httptest.NewRecorder() @@ -407,7 +407,7 @@ func TestClientGetLastBlocks(t *testing.T) { s := setupWebRPC(t) mux := http.NewServeMux() - mux.Handle("/webrpc", http.HandlerFunc(s.Handler)) + mux.Handle("/api/v1/webrpc", http.HandlerFunc(s.Handler)) var n uint64 = 1 rpcReq, err := NewRequest("get_lastblocks", []uint64{n}, "1") @@ -416,7 +416,7 @@ func TestClientGetLastBlocks(t *testing.T) { body, err := json.Marshal(rpcReq) require.NoError(t, err) - req, err := http.NewRequest(http.MethodPost, "/webrpc", bytes.NewReader(body)) + req, err := http.NewRequest(http.MethodPost, "/api/v1/webrpc", bytes.NewReader(body)) require.NoError(t, err) rr := httptest.NewRecorder() diff --git a/src/api/webrpc/outputs_test.go b/src/api/webrpc/outputs_test.go index f5a8947..a9d8570 100755 --- a/src/api/webrpc/outputs_test.go +++ b/src/api/webrpc/outputs_test.go @@ -2,7 +2,6 @@ package webrpc import ( "encoding/json" - "strings" "testing" "time" @@ -14,52 +13,6 @@ import ( "github.com/skycoin/skycoin/src/visor" ) -const outputStr = `{ - "outputs": - { - "head_outputs": [ - { - "hash": "ca02361ef6d658cac5b5aadcb502b4b6046d1403e0f4b1f16b35c06a3f27e3df", - "src_tx": "e00196267e879c76215ccb93d046bd248e2bc5accad93d246ba43c71c42ff44a", - "address": "cBnu9sUvv12dovBmjQKTtfE4rbjMmf3fzW", - "coins": "4", - "hours": 0 - }, - { - "hash": "22f489be1a2f87ed826c183b516bd10f1703c6591643796f48630ba97db3b16c", - "src_tx": "fe50714012b29b3ffe5bc2f8e12a95af35004513d61e329e33b9b2a964ae2924", - "address": "cBnu9sUvv12dovBmjQKTtfE4rbjMmf3fzW", - "coins": "1", - "hours": 0 - }, - { - "hash": "f34f2f08c0a9bab56920b4ef946c0cb3ce31bbd641e44b23c5c1c39a14c86c86", - "src_tx": "059197c06b3a236c550bec377e26401c50ee6480b51206b6f3899ece55209b50", - "address": "fyqX5YuwXMUs4GEUE3LjLyhrqvNztFHQ4B", - "coins": "53", - "hours": 1 - }, - { - "hash": "86c43aeaa420e17843fee51ec28275726c6422f6bb0f844e70c552d65dd63df8", - "src_tx": "bb35c6b277f432c6cf13d4a6b36d64f75cc405bc2b864aad718e53a6cbbd9105", - "address": "cBnu9sUvv12dovBmjQKTtfE4rbjMmf3fzW", - "coins": "1", - "hours": 0 - } - ], - "outgoing_outputs": [], - "incoming_outputs": [] - } - }` - -func decodeOutputStr(str string) visor.ReadableOutputSet { - outs := OutputsResult{} - if err := json.NewDecoder(strings.NewReader(outputStr)).Decode(&outs); err != nil { - panic(err) - } - return outs.Outputs -} - func filterOut(headTime uint64, outs []coin.UxOut, f func(out coin.UxOut) bool) visor.ReadableOutputSet { os := []coin.UxOut{} for _, o := range outs { diff --git a/src/api/webrpc/webrpc.go b/src/api/webrpc/webrpc.go index fca4f3f..042ab56 100755 --- a/src/api/webrpc/webrpc.go +++ b/src/api/webrpc/webrpc.go @@ -113,8 +113,6 @@ func MakeErrorResponse(code int, msg string, msgs ...string) Response { } } -type operation func(rpc *WebRPC) - // HandlerFunc represents the function type for processing the request type HandlerFunc func(req Request, gateway Gatewayer) Response diff --git a/src/api/webrpc/webrpc_test.go b/src/api/webrpc/webrpc_test.go index 280b868..4442db8 100755 --- a/src/api/webrpc/webrpc_test.go +++ b/src/api/webrpc/webrpc_test.go @@ -27,12 +27,10 @@ type fakeGateway struct { transactions map[string]string injectRawTxMap map[string]bool // key: transaction hash, value indicates whether the injectTransaction should return error. injectedTransactions map[string]string - addrRecvUxOuts []*historydb.UxOut - addrSpentUxOUts []*historydb.UxOut uxouts []coin.UxOut } -func (fg fakeGateway) GetLastBlocks(num uint64) (*visor.ReadableBlocks, error) { +func (fg fakeGateway) GetLastBlocks(num uint64) (*visor.ReadableBlocks, error) { // nolint: unparam var blocks visor.ReadableBlocks if err := json.Unmarshal([]byte(blockString), &blocks); err != nil { return nil, err diff --git a/src/gui/webrpc_test.go b/src/api/webrpc_test.go similarity index 92% rename from src/gui/webrpc_test.go rename to src/api/webrpc_test.go index 17d8521..44823bd 100755 --- a/src/gui/webrpc_test.go +++ b/src/api/webrpc_test.go @@ -1,4 +1,4 @@ -package gui +package api import ( "bytes" @@ -39,7 +39,6 @@ func TestWebRPC(t *testing.T) { }, }, }, - { name: "invalid jsonrpc", status: http.StatusOK, @@ -60,7 +59,7 @@ func TestWebRPC(t *testing.T) { d, err := json.Marshal(tc.args.req) require.NoError(t, err) - req, err := http.NewRequest(tc.args.httpMethod, "/webrpc", bytes.NewBuffer(d)) + req, err := http.NewRequest(tc.args.httpMethod, "/api/v1/webrpc", bytes.NewBuffer(d)) require.NoError(t, err) csrfStore := &CSRFStore{ @@ -68,6 +67,7 @@ func TestWebRPC(t *testing.T) { } gateway := NewGatewayerMock() + gateway.On("IsCSPEnabled").Return(false) handler := newServerMux(muxConfig{ host: configuredHost, appLoc: ".", diff --git a/src/cipher/address.go b/src/cipher/address.go index d79cdf0..b9c15cd 100755 --- a/src/cipher/address.go +++ b/src/cipher/address.go @@ -4,6 +4,7 @@ import ( "bytes" "errors" "fmt" + "log" "github.com/skycoin/skycoin/src/cipher/base58" ) @@ -56,7 +57,7 @@ func DecodeBase58Address(addr string) (Address, error) { if err != nil { return Address{}, err } - return addressFromBytes(b) + return AddressFromBytes(b) } // MustDecodeBase58Address creates an Address from its base58 encoding. Will panic if the addr is @@ -64,7 +65,7 @@ func DecodeBase58Address(addr string) (Address, error) { func MustDecodeBase58Address(addr string) Address { a, err := DecodeBase58Address(addr) if err != nil { - logger.Panicf("Invalid address %s: %v", addr, err) + log.Panicf("Invalid address %s: %v", addr, err) } return a } @@ -82,13 +83,13 @@ func BitcoinDecodeBase58Address(addr string) (Address, error) { func BitcoinMustDecodeBase58Address(addr string) Address { a, err := BitcoinDecodeBase58Address(addr) if err != nil { - logger.Panicf("Invalid address %s: %v", addr, err) + log.Panicf("Invalid address %s: %v", addr, err) } return a } -// Returns an address given an Address.Bytes() -func addressFromBytes(b []byte) (addr Address, err error) { +// AddressFromBytes converts []byte to an Address +func AddressFromBytes(b []byte) (addr Address, err error) { defer func() { if r := recover(); r != nil { err = fmt.Errorf("%v", r) @@ -101,9 +102,6 @@ func addressFromBytes(b []byte) (addr Address, err error) { a := Address{} copy(a.Key[0:20], b[0:20]) a.Version = b[20] - if a.Version != 0 { - return Address{}, errors.New("Invalid version") - } chksum := a.Checksum() var checksum [4]byte @@ -113,9 +111,23 @@ func addressFromBytes(b []byte) (addr Address, err error) { return Address{}, errors.New("Invalid checksum") } + if a.Version != 0 { + return Address{}, errors.New("Invalid version") + } + return a, nil } +// MustAddressFromBytes converts []byte to an Address, panicking on error +func MustAddressFromBytes(b []byte) (Address, error) { + addr, err := AddressFromBytes(b) + if err != nil { + panic(err) + } + + return addr, err +} + // Null returns true if the address is null (0x0000....) func (addr Address) Null() bool { return addr == Address{} @@ -222,9 +234,6 @@ func BitcoinAddressFromBytes(b []byte) (Address, error) { a := Address{} copy(a.Key[0:20], b[1:21]) a.Version = b[0] - if a.Version != 0 { - return Address{}, errors.New("Invalid version") - } chksum := a.BitcoinChecksum() var checksum [4]byte @@ -234,6 +243,10 @@ func BitcoinAddressFromBytes(b []byte) (Address, error) { return Address{}, errors.New("Invalid checksum") } + if a.Version != 0 { + return Address{}, errors.New("Invalid version") + } + return a, nil } @@ -266,7 +279,7 @@ func SecKeyFromWalletImportFormat(input string) (SecKey, error) { seckey := b[1:33] if len(seckey) != 32 { - logger.Panic("...") + log.Panic("...") } return NewSecKey(b[1:33]), nil } @@ -275,7 +288,7 @@ func SecKeyFromWalletImportFormat(input string) (SecKey, error) { func MustSecKeyFromWalletImportFormat(input string) SecKey { seckey, err := SecKeyFromWalletImportFormat(input) if err != nil { - logger.Panicf("MustSecKeyFromWalletImportFormat, invalid seckey, %v", err) + log.Panicf("MustSecKeyFromWalletImportFormat, invalid seckey, %v", err) } return seckey } diff --git a/src/cipher/address_test.go b/src/cipher/address_test.go index 3e4e78c..29454cb 100755 --- a/src/cipher/address_test.go +++ b/src/cipher/address_test.go @@ -91,24 +91,54 @@ func TestDecodeBase58Address(t *testing.T) { func TestAddressFromBytes(t *testing.T) { p, _ := GenerateKeyPair() a := AddressFromPubKey(p) - a2, err := addressFromBytes(a.Bytes()) + a2, err := AddressFromBytes(a.Bytes()) require.NoError(t, err) require.Equal(t, a2, a) + // Invalid number of bytes b := a.Bytes() - _, err = addressFromBytes(b[:len(b)-2]) - require.Error(t, err) + _, err = AddressFromBytes(b[:len(b)-2]) + require.EqualError(t, err, "Invalid address length") + // Invalid checksum b[len(b)-1] += byte(1) - _, err = addressFromBytes(b) - require.Error(t, err) + _, err = AddressFromBytes(b) + require.EqualError(t, err, "Invalid checksum") + + a.Version = 2 + b = a.Bytes() + _, err = AddressFromBytes(b) + require.EqualError(t, err, "Invalid version") +} + +func TestBitcoinAddressFromBytes(t *testing.T) { + p, _ := GenerateKeyPair() + a := AddressFromPubKey(p) + a2, err := BitcoinAddressFromBytes(a.BitcoinBytes()) + require.NoError(t, err) + require.Equal(t, a2, a) + + // Invalid number of bytes + b := a.BitcoinBytes() + _, err = BitcoinAddressFromBytes(b[:len(b)-2]) + require.EqualError(t, err, "Invalid address length") + + // Invalid checksum + b[len(b)-1] += byte(1) + _, err = BitcoinAddressFromBytes(b) + require.EqualError(t, err, "Invalid checksum") + + a.Version = 2 + b = a.BitcoinBytes() + _, err = BitcoinAddressFromBytes(b) + require.EqualError(t, err, "Invalid version") } -//encode and decode func TestAddressRoundtrip(t *testing.T) { + // Tests encode and decode p, _ := GenerateKeyPair() a := AddressFromPubKey(p) - a2, err := addressFromBytes(a.Bytes()) + a2, err := AddressFromBytes(a.Bytes()) require.NoError(t, err) require.Equal(t, a, a2) require.Equal(t, a.String(), a2.String()) diff --git a/src/cipher/crypto.go b/src/cipher/crypto.go index 8055117..ec5b1ae 100755 --- a/src/cipher/crypto.go +++ b/src/cipher/crypto.go @@ -5,6 +5,7 @@ import ( "crypto/sha256" "encoding/hex" "errors" + "fmt" "hash" "log" "time" @@ -12,12 +13,9 @@ import ( "github.com/skycoin/skycoin/src/cipher/ripemd160" "github.com/skycoin/skycoin/src/cipher/secp256k1-go" - - "github.com/skycoin/skycoin/src/util/logging" ) var ( - logger = logging.MustGetLogger("crypto") // DebugLevel1 debug level one DebugLevel1 = true //checks for extremely unlikely conditions (10e-40) // DebugLevel2 debug level two @@ -54,7 +52,7 @@ func RandByte(n int) []byte { func NewPubKey(b []byte) PubKey { p := PubKey{} if len(b) != len(p) { - logger.Panic("Invalid public key length") + log.Panic("Invalid public key length") } copy(p[:], b[:]) return p @@ -64,7 +62,7 @@ func NewPubKey(b []byte) PubKey { func MustPubKeyFromHex(s string) PubKey { b, err := hex.DecodeString(s) if err != nil { - logger.Panic(err) + log.Panic(err) } return NewPubKey(b) } @@ -81,11 +79,11 @@ func PubKeyFromHex(s string) (PubKey, error) { // PubKeyFromSecKey recovers the public key for a secret key func PubKeyFromSecKey(seckey SecKey) PubKey { if seckey == (SecKey{}) { - logger.Panic("PubKeyFromSecKey, attempt to load null seckey, unsafe") + log.Panic("PubKeyFromSecKey, attempt to load null seckey, unsafe") } b := secp256k1.PubkeyFromSeckey(seckey[:]) if b == nil { - logger.Panic("PubKeyFromSecKey, pubkey recovery failed. Function " + + log.Panic("PubKeyFromSecKey, pubkey recovery failed. Function " + "assumes seckey is valid. Check seckey") } return NewPubKey(b) @@ -127,7 +125,7 @@ type SecKey [32]byte func NewSecKey(b []byte) SecKey { p := SecKey{} if len(b) != len(p) { - logger.Panic("Invalid secret key length") + log.Panic("Invalid secret key length") } copy(p[:], b[:]) return p @@ -137,7 +135,7 @@ func NewSecKey(b []byte) SecKey { func MustSecKeyFromHex(s string) SecKey { b, err := hex.DecodeString(s) if err != nil { - logger.Panic(err) + log.Panic(err) } return NewSecKey(b) } @@ -163,7 +161,7 @@ func (sk SecKey) Verify() error { if DebugLevel2 { err := TestSecKey(sk) if err != nil { - logger.Panic("DebugLevel2, WARNING CRYPTO ARMAGEDDON") + log.Panic("DebugLevel2, WARNING CRYPTO ARMAGEDDON") } } return nil @@ -186,11 +184,11 @@ func (sk SecKey) Hex() string { func ECDH(pub PubKey, sec SecKey) []byte { if err := pub.Verify(); err != nil { - logger.Panic("ECDH invalid pubkey input") + log.Panic("ECDH invalid pubkey input") } if err := sec.Verify(); err != nil { - logger.Panic("ECDH invalid seckey input") + log.Panic("ECDH invalid seckey input") } buff := secp256k1.ECDH(pub[:], sec[:]) @@ -206,7 +204,7 @@ type Sig [64 + 1]byte //64 byte signature with 1 byte for key recovery func NewSig(b []byte) Sig { s := Sig{} if len(b) != len(s) { - logger.Panic("Invalid secret key length") + log.Panic("Invalid secret key length") } copy(s[:], b[:]) return s @@ -216,10 +214,10 @@ func NewSig(b []byte) Sig { func MustSigFromHex(s string) Sig { b, err := hex.DecodeString(s) if err != nil { - logger.Panic(err) + log.Panic(err) } if len(b) != 65 { - logger.Panic("Signature Length is Invalid") + log.Panic("Signature Length is Invalid") } return NewSig(b) } @@ -248,14 +246,14 @@ func SignHash(hash SHA256, sec SecKey) Sig { if DebugLevel2 || DebugLevel1 { //!!! Guard against coin loss pubkey, err := PubKeyFromSig(sig, hash) if err != nil { - logger.Panic("SignHash, error: pubkey from sig recovery failure") + log.Panic("SignHash, error: pubkey from sig recovery failure") } if VerifySignature(pubkey, sig, hash) != nil { - logger.Panic("SignHash, error: secp256k1.Sign returned non-null " + + log.Panic("SignHash, error: secp256k1.Sign returned non-null " + "invalid non-null signature") } if ChkSig(AddressFromPubKey(pubkey), hash, sig) != nil { - logger.Panic("SignHash error: ChkSig failed for signature") + log.Panic("SignHash error: ChkSig failed for signature") } } return sig @@ -291,7 +289,7 @@ func VerifySignedHash(sig Sig, hash SHA256) error { } if secp256k1.VerifySignature(hash[:], sig[:], rawPubKey) != 1 { // If this occurs, secp256k1 is bugged - logger.Critical().Error("Recovered public key is not valid for signed hash") + log.Printf("Recovered public key is not valid for signed hash") return errors.New("Signature invalid for hash") } return nil @@ -309,7 +307,7 @@ func VerifySignature(pubkey PubKey, sig Sig, hash SHA256) error { if secp256k1.VerifyPubkey(pubkey[:]) != 1 { if DebugLevel2 { if secp256k1.VerifySignature(hash[:], sig[:], pubkey[:]) == 1 { - logger.Panic("VerifySignature warning, ") + log.Panic("VerifySignature warning, ") } } return errors.New("VerifySignature, secp256k1.VerifyPubkey failed") @@ -329,7 +327,7 @@ func GenerateKeyPair() (PubKey, SecKey) { if DebugLevel1 { if TestSecKey(NewSecKey(secret)) != nil { - logger.Panic("DebugLevel1, GenerateKeyPair, generated private key " + + log.Panic("DebugLevel1, GenerateKeyPair, generated private key " + "failed TestSecKey") } } @@ -344,11 +342,11 @@ func GenerateDeterministicKeyPair(seed []byte) (PubKey, SecKey) { if DebugLevel1 { if TestSecKey(NewSecKey(secret)) != nil { - logger.Panic("DebugLevel1, GenerateDeterministicKeyPair, " + + log.Panic("DebugLevel1, GenerateDeterministicKeyPair, " + "seckey invalid, failed TestSecKey") } if TestSecKey(NewSecKey(secret)) != nil { - logger.Panic("DebugLevel1, GenerateDeterministicKeyPair, " + + log.Panic("DebugLevel1, GenerateDeterministicKeyPair, " + "generated private key failed TestSecKey") } if PubKeyFromSecKey(NewSecKey(secret)) != NewPubKey(public) { @@ -356,7 +354,7 @@ func GenerateDeterministicKeyPair(seed []byte) (PubKey, SecKey) { //s2 := NewPubKey(public).Hex() //s3 := PubKeyFromSecKey(NewSecKey(secret)).Hex() //log.Printf("sec= %s, pub= %s recpub= %s \n", s1,s2, s3 ) - logger.Panic("DebugLevel1, GenerateDeterministicKeyPair, " + + log.Panic("DebugLevel1, GenerateDeterministicKeyPair, " + "public key does not match private key") } } @@ -370,11 +368,11 @@ func DeterministicKeyPairIterator(seed []byte) ([]byte, PubKey, SecKey) { hash, public, secret := secp256k1.DeterministicKeyPairIterator(seed) if DebugLevel1 { if TestSecKey(NewSecKey(secret)) != nil { - logger.Panic("DebugLevel1, GenerateDeterministicKeyPair, " + + log.Panic("DebugLevel1, GenerateDeterministicKeyPair, " + "generated private key failed TestSecKey") } if PubKeyFromSecKey(NewSecKey(secret)) != NewPubKey(public) { - logger.Panic("DebugLevel1, GenerateDeterministicKeyPair, " + + log.Panic("DebugLevel1, GenerateDeterministicKeyPair, " + "public key does not match private key") } } @@ -425,15 +423,14 @@ func TestSecKeyHash(seckey SecKey, hash SHA256) error { } //verify recovered pubkey if secp256k1.VerifyPubkey(pubkey[:]) != 1 { - return errors.New("impossible error, TestSecKey, Derived Pubkey " + - "verification failed") + return errors.New("impossible error, TestSecKey, Derived Pubkey verification failed") } //check signature production sig := SignHash(hash, seckey) pubkey2, err := PubKeyFromSig(sig, hash) if err != nil { - return err + return fmt.Errorf("PubKeyFromSig failed: %v", err) } if pubkey != pubkey2 { return errors.New("Recovered pubkey does not match signed hash") @@ -442,27 +439,29 @@ func TestSecKeyHash(seckey SecKey, hash SHA256) error { //check pubkey recovered from sig recoveredPubkey, err := PubKeyFromSig(sig, hash) if err != nil { - return errors.New("impossible error, TestSecKey, pubkey recovery " + - "from signature failed") + return fmt.Errorf("impossible error, TestSecKey, pubkey recovery from signature failed: %v", err) } if pubkey != recoveredPubkey { - return errors.New("impossible error TestSecKey, pubkey does not " + - "match recovered pubkey") + return errors.New("impossible error TestSecKey, pubkey does not match recovered pubkey") } //verify produced signature err = VerifySignature(pubkey, sig, hash) if err != nil { - return errors.New("impossible error, TestSecKey, verify signature failed " + - "for sig") + return fmt.Errorf("impossible error, TestSecKey, verify signature failed for sig: %v", err) } //verify ChkSig addr := AddressFromPubKey(pubkey) err = ChkSig(addr, hash, sig) if err != nil { - return errors.New("impossible error TestSecKey, ChkSig Failed, " + - "should not get this far") + return fmt.Errorf("impossible error TestSecKey, ChkSig Failed, should not get this far: %v", err) + } + + //verify VerifySignedHash + err = VerifySignedHash(sig, hash) + if err != nil { + return fmt.Errorf("VerifySignedHash failed: %v", err) } return nil @@ -479,8 +478,7 @@ func init() { } _, seckey := GenerateKeyPair() - if TestSecKey(seckey) != nil { - log.Fatal("CRYPTOGRAPHIC INTEGRITY CHECK FAILED: TERMINATING " + - "PROGRAM TO PROTECT COINS") + if err := TestSecKey(seckey); err != nil { + log.Fatalf("CRYPTOGRAPHIC INTEGRITY CHECK FAILED: TERMINATING PROGRAM TO PROTECT COINS: %v", err) } } diff --git a/src/cipher/crypto_test.go b/src/cipher/crypto_test.go index a6c74c9..91ff956 100755 --- a/src/cipher/crypto_test.go +++ b/src/cipher/crypto_test.go @@ -7,6 +7,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "github.com/skycoin/skycoin/src/cipher/ripemd160" ) @@ -333,3 +334,11 @@ func TestSecKeyHashTest(t *testing.T) { assert.Nil(t, TestSecKeyHash(s, h)) assert.NotNil(t, TestSecKeyHash(SecKey{}, h)) } + +func TestGenerateDeterministicKeyPairsUsesAllBytes(t *testing.T) { + // Tests that if a seed >128 bits is used, the generator does not ignore bits >128 + seed := "property diet little foster provide disagree witness mountain alley weekend kitten general" + seckeys := GenerateDeterministicKeyPairs([]byte(seed), 3) + seckeys2 := GenerateDeterministicKeyPairs([]byte(seed[:16]), 3) + require.NotEqual(t, seckeys, seckeys2) +} diff --git a/src/cipher/encoder/encoder.go b/src/cipher/encoder/encoder.go index 370e1c6..70b89e0 100755 --- a/src/cipher/encoder/encoder.go +++ b/src/cipher/encoder/encoder.go @@ -13,6 +13,16 @@ // Varints are a method of encoding integers using one or more bytes; // numbers with smaller absolute value take a smaller number of bytes. // For a specification, see http://code.google.com/apis/protocolbuffers/docs/encoding.html. +// +// Fields can be ignored with the struct tag `enc:"-"` . +// Unexported struct fields are ignored by default . +// +// Fields can be skipped if empty with the struct tag `enc:",omitempty"` +// Note the comma, which follows package json's conventions. +// Only Slice, Map and String types recognize the omitempty tag. +// When omitempty is set, the no data will be written if the value is empty. +// If the value is empty and omitempty is not set, then a length prefix with value 0 would be written. +// omitempty can only be used for the last field in the struct package encoder import ( @@ -22,6 +32,7 @@ import ( "log" "math" "reflect" + "strings" ) /* @@ -30,9 +41,18 @@ Todo: - validate packet legnth for incoming */ +var ( + // ErrBufferUnderflow bytes in input buffer not enough to deserialize expected type + ErrBufferUnderflow = errors.New("Not enough buffer data to deserialize") + // ErrInvalidOmitEmpty field tagged with omitempty and it's not last one in struct + ErrInvalidOmitEmpty = errors.New("omitempty only supported for the final field in the struct") +) + // TODO: constant length byte arrays must not be prefixed -// EncodeInt encodes int +// EncodeInt encodes an Integer type contained in `data` +// into buffer `b`. If `data` is not an Integer type, +// panic message is logged. func EncodeInt(b []byte, data interface{}) { //var b [8]byte var bs []byte @@ -67,7 +87,8 @@ func EncodeInt(b []byte, data interface{}) { } } -// DecodeInt decodes int +// DecodeInt decodes `in` buffer into `data` parameter. +// If `data` is not an Integer type, panic message is logged. func DecodeInt(in []byte, data interface{}) { n := intDestSize(data) @@ -106,11 +127,13 @@ func DecodeInt(in []byte, data interface{}) { } } -// DeserializeAtomic fast path for atomic types. +// DeserializeAtomic deserializes `in` buffer into `data` +// parameter. If `data` is not an atomic type +// (i.e., Integer type or Boolean type), panic message is logged. func DeserializeAtomic(in []byte, data interface{}) { n := intDestSize(data) if len(in) < n { - log.Panic("Not enough data to deserialize") + log.Panic(ErrBufferUnderflow) } if n != 0 { var b [8]byte @@ -148,7 +171,11 @@ func DeserializeAtomic(in []byte, data interface{}) { } } -// DeserializeRaw deserialize raw +// DeserializeRaw deserializes `in` buffer into return +// parameter. If `data` is not either a Pointer type, +// a Slice type or a Struct type, an error message +// is returned. If `in` buffer can't be deserialized, +// an error message is returned. func DeserializeRaw(in []byte, data interface{}) error { v := reflect.ValueOf(data) switch v.Kind() { @@ -174,7 +201,11 @@ func DeserializeRaw(in []byte, data interface{}) error { return d1.value(v) } -// Deserialize takes reader and number of bytes to read +// Deserialize reads `dsize` bytes from `r` and deserializes +// the resulting buffer into return parameter. If `data` +// is not either a Pointer type, a Slice type or a Struct type, +// an error message is returned. If `in` buffer can't be deserialized, +// an error message is returned. func Deserialize(r io.Reader, dsize int, data interface{}) error { // Fallback to reflect-based decoding. //fmt.Printf("A1 v is type %s \n", reflect.TypeOf(data).String() ) @@ -218,7 +249,9 @@ func Deserialize(r io.Reader, dsize int, data interface{}) error { return d1.value(v) } -// CanDeserialize does a check to see if serialization would be successful +// CanDeserialize returns true if `in` buffer can be +// deserialized into `dst`'s type. Returns false in any +// other case. func CanDeserialize(in []byte, dst reflect.Value) bool { d1 := &decoder{buf: make([]byte, len(in))} copy(d1.buf, in) @@ -228,7 +261,12 @@ func CanDeserialize(in []byte, dst reflect.Value) bool { return true } -// DeserializeRawToValue returns number of bytes used and an error if deserialization failed +// DeserializeRawToValue deserializes `in` buffer into +// `dst`'s type and returns the number of bytes used and +// the value of the buffer. If `data` is not either a +// Pointer type, a Slice type or a Struct type, 0 and an error +// message are returned. If `in` buffer can't be deserialized, 0 and +// an error message are returned. func DeserializeRawToValue(in []byte, dst reflect.Value) (int, error) { var v reflect.Value switch dst.Kind() { @@ -256,7 +294,12 @@ func DeserializeRawToValue(in []byte, dst reflect.Value) (int, error) { return inlen - len(d1.buf), err } -// DeserializeToValue deserialize to value +// DeserializeToValue reads `dsize` bytes from `r`, +// deserializes the resulting buffer into `dst`'s type and +// returns the value of the buffer. If `data` is not either +// a Pointer type, a Slice type or a Struct type, an error +// message is returned. If `in` buffer can't be deserialized, an +// error message is returned. func DeserializeToValue(r io.Reader, dsize int, dst reflect.Value) error { //fmt.Printf("*A1 v is type %s \n", data.Type().String() ) //this is the type of the value @@ -283,7 +326,8 @@ func DeserializeToValue(r io.Reader, dsize int, dst reflect.Value) error { return d1.value(v) } -// SerializeAtomic serializes int or other atomic +// SerializeAtomic returns serialization of `data` +// parameter. If `data` is not an atomic type, panic message is logged. func SerializeAtomic(data interface{}) []byte { var b [8]byte var bs []byte @@ -356,14 +400,14 @@ func SerializeAtomic(data interface{}) []byte { return bs } -// Serialize serialize struct +// Serialize returns serialized basic type-based `data` +// parameter. Encoding is reflect-based. func Serialize(data interface{}) []byte { // Fast path for basic types. // Fallback to reflect-based encoding. v := reflect.Indirect(reflect.ValueOf(data)) size, err := datasizeWrite(v) if err != nil { - //return nil, errors.New("binary.Write: " + err.Error()) log.Panic(err) } buf := make([]byte, size) @@ -372,8 +416,10 @@ func Serialize(data interface{}) []byte { return buf } -// Size returns how many bytes Write would generate to encode the value v, which -// must be a fixed-size value or a slice of fixed-size values, or a pointer to such data. +// Size returns how many bytes would it take to encode the +// value v, which must be a fixed-size value (struct) or a +// slice of fixed-size values, or a pointer to such data. +// Reflect-based encoding is used. func Size(v interface{}) int { n, err := datasizeWrite(reflect.Indirect(reflect.ValueOf(v))) if err != nil { @@ -382,20 +428,35 @@ func Size(v interface{}) int { return n } -// dataSize returns the number of bytes the actual data represented by v occupies in memory. +// isEmpty returns true if a value is "empty". +// Only supports Slice, Map and String. +// All other values are never considered empty. +func isEmpty(v reflect.Value) bool { + t := v.Type() + switch t.Kind() { + case reflect.String: + return v.Len() == 0 + case reflect.Map: + return v.IsNil() || v.Len() == 0 + case reflect.Slice: + return v.IsNil() || v.Len() == 0 + default: + return false + } +} + +// datasizeWrite returns the number of bytes the actual data represented by v occupies in memory. // For compound structures, it sums the sizes of the elements. Thus, for instance, for a slice // it returns the length of the slice times the element size and does not count the memory // occupied by the header. - -/* Datasize needs to write variable length slice fields */ -/* Datasize for serialization is different than for serialization */ func datasizeWrite(v reflect.Value) (int, error) { t := v.Type() switch t.Kind() { case reflect.Interface: - //fmt.Println(v.Elem()) return datasizeWrite(v.Elem()) + case reflect.Array: + // Arrays are a fixed size, so the length is not written size := 0 for i := 0; i < v.Len(); i++ { elem := v.Index(i) @@ -439,20 +500,36 @@ func datasizeWrite(v reflect.Value) (int, error) { case reflect.Struct: sum := 0 - for i, n := 0, t.NumField(); i < n; i++ { - f := t.Field(i) - if f.Tag.Get("enc") != "-" { - s, err := datasizeWrite(v.Field(i)) - if err != nil { - return 0, err + nFields := t.NumField() + for i, n := 0, nFields; i < n; i++ { + ff := t.Field(i) + // Skip unexported fields + if ff.PkgPath != "" { + continue + } + + tag, omitempty := ParseTag(ff.Tag.Get("enc")) + + if omitempty && i != nFields-1 { + log.Panic(ErrInvalidOmitEmpty) + } + + if tag != "-" { + fv := v.Field(i) + if !omitempty || !isEmpty(fv) { + s, err := datasizeWrite(fv) + if err != nil { + return 0, err + } + sum += s } - sum += s } } return sum, nil case reflect.Bool: return 1, nil + case reflect.String: return len(v.String()) + 4, nil @@ -466,6 +543,19 @@ func datasizeWrite(v reflect.Value) (int, error) { } } +// ParseTag to extract encoder args from raw string +func ParseTag(tag string) (string, bool) { + tagSplit := strings.Split(tag, ",") + name := tagSplit[0] + + omitempty := false + if len(tagSplit) > 1 && tagSplit[1] == "omitempty" { + omitempty = true + } + + return name, omitempty +} + /* Internals */ @@ -505,7 +595,7 @@ func lePutUint64(b []byte, v uint64) { } type coder struct { - buf []byte + buf []byte //nolint: structcheck } type decoder coder @@ -628,17 +718,7 @@ func (d *decoder) value(v reflect.Value) error { switch kind { case reflect.Array: - //if len(d.buf) < 4 { - // return errors.New("Not enough buffer data to deserialize length") - //} - //length := int(d.uint32()) - //if length < 0 || length > len(d.buf) { - // return fmt.Errorf("Invalid length: %d", length) - //} - //if length != v.Len() { - // return errors.New("Incomplete fixed length array received") - //} - + // Arrays are a fixed size, so the length is not written for i := 0; i < v.Len(); i++ { if err := d.value(v.Index(i)); err != nil { return err @@ -647,7 +727,7 @@ func (d *decoder) value(v reflect.Value) error { case reflect.Map: if len(d.buf) < 4 { - return errors.New("Not enough buffer data to deserialize length") + return ErrBufferUnderflow } length := int(d.uint32()) if length < 0 || length > len(d.buf) { @@ -673,7 +753,7 @@ func (d *decoder) value(v reflect.Value) error { case reflect.Slice: if len(d.buf) < 4 { - return errors.New("Not enough buffer data to deserialize length") + return ErrBufferUnderflow } length := int(d.uint32()) if length < 0 || length > len(d.buf) { @@ -695,13 +775,28 @@ func (d *decoder) value(v reflect.Value) error { case reflect.Struct: t := v.Type() - for i := 0; i < v.NumField(); i++ { - fv := v.Field(i) + nFields := v.NumField() + for i := 0; i < nFields; i++ { ff := t.Field(i) - if ff.Tag.Get("enc") != "-" { + // Skip unexported fields + if ff.PkgPath != "" { + continue + } + + tag, omitempty := ParseTag(ff.Tag.Get("enc")) + + if omitempty && i != nFields-1 { + log.Panic(ErrInvalidOmitEmpty) + } + + if tag != "-" { + fv := v.Field(i) if fv.CanSet() && ff.Name != "_" { if err := d.value(fv); err != nil { - return err + // omitempty fields at the end of the buffer are ignored + if !(omitempty && len(d.buf) == 0) { + return err + } } } else { //dont decode anything @@ -712,7 +807,7 @@ func (d *decoder) value(v reflect.Value) error { case reflect.String: if len(d.buf) < 4 { - return errors.New("Not enough buffer data to deserialize length") + return ErrBufferUnderflow } length := int(d.uint32()) if length < 0 || length > len(d.buf) { @@ -753,16 +848,6 @@ func (d *decoder) value(v reflect.Value) error { return nil } -func (d *decoder) cmp(n int, m int) int { - if n != 0 { - return -1 - } - if m != 0 { - return -1 - } - return 0 -} - //advance, returns -1 on failure //returns 0 on success func (d *decoder) adv(n int) int { @@ -781,13 +866,13 @@ func (d *decoder) dchk(v reflect.Value) int { switch kind { case reflect.Array: - c := 0 + // Arrays are a fixed size, so the length is not written for i := 0; i < v.Len(); i++ { - //t := d.dchk(v.Index(i)) - //c += t - c = d.cmp(c, d.dchk(v.Index(i))) + if d.dchk(v.Index(i)) < 0 { + return -1 + } } - return c + return 0 case reflect.Map: if len(d.buf) < 4 { @@ -795,84 +880,97 @@ func (d *decoder) dchk(v reflect.Value) int { } length := int(leUint32(d.buf[0:4])) - d.adv(4) //must succeed + if d.adv(4) < 0 { + return -1 + } key := v.Type().Key() elem := v.Type().Elem() - c := 0 for i := 0; i < length; i++ { keyv := reflect.Indirect(reflect.New(key)) elemv := reflect.Indirect(reflect.New(elem)) - c = d.cmp(c, d.dchk(keyv)) - c = d.cmp(c, d.dchk(elemv)) - //c += d.adv(d.dchk(elemv)) - - //t := d.dchk(elemv) - //d.buf = d.buf[t:] - //c += t + if d.dchk(keyv) < 0 { + return -1 + } - //v.Set(reflect.Append(v, elemv)) + if d.dchk(elemv) < 0 { + return -1 + } } - return c + return 0 case reflect.Slice: if len(d.buf) < 4 { - return -1 //error + return -1 } length := int(leUint32(d.buf[0:4])) - d.adv(4) //must succeed + if d.adv(4) < 0 { + return -1 + } if length < 0 || length > len(d.buf) { - return -1 //error + return -1 } elem := v.Type().Elem() if elem.Kind() == reflect.Uint8 { - return d.cmp(0, d.adv(length)) //already advanced 4 + return d.adv(length) } - c := 0 for i := 0; i < length; i++ { elemv := reflect.Indirect(reflect.New(elem)) - c = d.cmp(c, d.dchk(elemv)) - //c += d.adv(d.dchk(elemv)) - - //t := d.dchk(elemv) - //d.buf = d.buf[t:] - //c += t - - //v.Set(reflect.Append(v, elemv)) + if d.dchk(elemv) < 0 { + return -1 + } } - return c + return 0 case reflect.Struct: t := v.Type() - c := 0 - for i := 0; i < v.NumField(); i++ { - fv := v.Field(i) + nFields := v.NumField() + for i := 0; i < nFields; i++ { ff := t.Field(i) - if ff.Tag.Get("enc") != "-" { - if fv.CanSet() && ff.Name != "_" { - //c += d.adv(d.dchk(fv)) - //c += d.dchk(fv) - c = d.cmp(c, d.dchk(fv)) + // Skip unexported fields + if ff.PkgPath != "" { + continue + } + + tag, omitempty := ParseTag(ff.Tag.Get("enc")) + + if omitempty && i != nFields-1 { + log.Panic(ErrInvalidOmitEmpty) + } + + if tag != "-" { + fv := v.Field(i) + if !omitempty && fv.CanSet() && ff.Name != "_" { + if d.dchk(fv) < 0 { + return -1 + } } else { //dont try to decode anything //d.skip(fv) //BUG!? } } } - return c + return 0 case reflect.Bool: return d.adv(1) case reflect.String: + if len(d.buf) < 4 { + return -1 + } + length := int(leUint32(d.buf[0:4])) - d.adv(4) //must succeed - return d.cmp(0, d.adv(length)) + if d.adv(4) < 0 { + return -1 + } + + return d.adv(length) case reflect.Int8: return d.adv(1) case reflect.Int16: @@ -910,8 +1008,8 @@ func (e *encoder) value(v reflect.Value) { case reflect.Interface: e.value(v.Elem()) - case reflect.Array: //fixed size - //e.uint32(uint32(v.Len())) + case reflect.Array: + // Arrays are a fixed size, so the length is not written for i := 0; i < v.Len(); i++ { e.value(v.Index(i)) } @@ -931,13 +1029,25 @@ func (e *encoder) value(v reflect.Value) { case reflect.Struct: t := v.Type() - for i := 0; i < v.NumField(); i++ { + nFields := v.NumField() + for i := 0; i < nFields; i++ { // see comment for corresponding code in decoder.value() - v := v.Field(i) - f := t.Field(i) - if f.Tag.Get("enc") != "-" { - if v.CanSet() || f.Name != "_" { - e.value(v) + ff := t.Field(i) + // Skip unexported fields + if ff.PkgPath != "" { + continue + } + + tag, omitempty := ParseTag(ff.Tag.Get("enc")) + + if omitempty && i != nFields-1 { + log.Panic(ErrInvalidOmitEmpty) + } + + if tag != "-" { + fv := v.Field(i) + if !(omitempty && isEmpty(fv)) && (fv.CanSet() || ff.Name != "_") { + e.value(fv) } else { //dont write anything //e.skip(v) @@ -945,30 +1055,6 @@ func (e *encoder) value(v reflect.Value) { } } - // case reflect.Slice: - // t := v.Type() //type of the value - - // //handle byte array - // if t.Elem().Kind() == reflect.Uint8 { - // b := v.Bytes() - // n := len(b) - // e.uint32(uint32(n)) - // for i := 0; i < n; i++ { - // e.buf[i] = b[i] - // } //memcpy - // e.buf = e.buf[n:] //advance slice n bytes - // } else { //handle struct array - // s := int(t.Elem().Size()) - // if s <= 1 { - // log.Panic() - // } - // n := v.Len() //const - // e.uint32(uint32(n * s)) //push number of bytes - // for i := 0; i < n; i++ { - // e.value(v.Index(i)) - // } - // } - case reflect.Bool: e.bool(v.Bool()) diff --git a/src/cipher/encoder/encoder_test.go b/src/cipher/encoder/encoder_test.go index a638fdc..901ef9b 100755 --- a/src/cipher/encoder/encoder_test.go +++ b/src/cipher/encoder/encoder_test.go @@ -8,10 +8,12 @@ import ( "reflect" "testing" + "github.com/stretchr/testify/require" + "github.com/skycoin/skycoin/src/cipher" ) -func randBytes(n int) []byte { +func randBytes(n int) []byte { // nolint: unparam const alphanum = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" var bytes = make([]byte, n) rand.Read(bytes) @@ -625,3 +627,268 @@ func TestEncodeDictNested(t *testing.T) { t.Errorf("Expected %v but got %v", s1, s2) } } + +func TestEncodeDictString2Int64(t *testing.T) { + v := map[string]int64{ + "foo": 1, + "bar": 2, + } + + b := Serialize(v) + + v2 := make(map[string]int64) + err := DeserializeRaw(b, &v2) + require.NoError(t, err) + + require.Equal(t, v, v2) +} + +func TestOmitEmptyString(t *testing.T) { + + type omitString struct { + A string `enc:"a,omitempty"` + } + + cases := []struct { + name string + input omitString + outputShouldBeEmpty bool + }{ + { + name: "string not empty", + input: omitString{ + A: "foo", + }, + }, + + { + name: "string empty", + input: omitString{}, + outputShouldBeEmpty: true, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + b := Serialize(tc.input) + + if tc.outputShouldBeEmpty { + require.Empty(t, b) + } else { + require.NotEmpty(t, b) + } + + var y omitString + err := DeserializeRaw(b, &y) + require.NoError(t, err) + + require.Equal(t, tc.input, y) + }) + } + +} + +func TestOmitEmptySlice(t *testing.T) { + type omitSlice struct { + B []byte `enc:"b,omitempty"` + } + + cases := []struct { + name string + input omitSlice + expect *omitSlice + outputShouldBeEmpty bool + }{ + { + name: "slice not empty", + input: omitSlice{ + B: []byte("foo"), + }, + }, + + { + name: "slice nil", + input: omitSlice{}, + outputShouldBeEmpty: true, + }, + + { + name: "slice empty but not nil", + input: omitSlice{ + B: []byte{}, + }, + expect: &omitSlice{}, + outputShouldBeEmpty: true, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + b := Serialize(tc.input) + + if tc.outputShouldBeEmpty { + require.Empty(t, b) + } else { + require.NotEmpty(t, b) + } + + var y omitSlice + err := DeserializeRaw(b, &y) + require.NoError(t, err) + + expect := tc.expect + if expect == nil { + expect = &tc.input + } + + require.Equal(t, *expect, y) + }) + } +} + +func TestOmitEmptyMap(t *testing.T) { + + type omitMap struct { + C map[string]int64 `enc:"d,omitempty"` + } + + cases := []struct { + name string + input omitMap + expect *omitMap + outputShouldBeEmpty bool + }{ + { + name: "map not empty", + input: omitMap{ + C: map[string]int64{"foo": 1}, + }, + }, + + { + name: "map nil", + input: omitMap{}, + outputShouldBeEmpty: true, + }, + + { + name: "map empty but not nil", + input: omitMap{ + C: map[string]int64{}, + }, + expect: &omitMap{}, + outputShouldBeEmpty: true, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + b := Serialize(tc.input) + + if tc.outputShouldBeEmpty { + require.Empty(t, b) + } else { + require.NotEmpty(t, b) + } + + var y omitMap + err := DeserializeRaw(b, &y) + require.NoError(t, err) + + expect := tc.expect + if expect == nil { + expect = &tc.input + } + + require.Equal(t, *expect, y) + }) + } +} + +func TestOmitEmptyMixedFinalByte(t *testing.T) { + type omitMixed struct { + A string + B []byte `enc:",omitempty"` + } + + cases := []struct { + name string + input omitMixed + expect omitMixed + }{ + { + name: "none empty", + input: omitMixed{ + A: "foo", + B: []byte("foo"), + }, + expect: omitMixed{ + A: "foo", + B: []byte("foo"), + }, + }, + + { + name: "byte nil", + input: omitMixed{ + A: "foo", + }, + expect: omitMixed{ + A: "foo", + }, + }, + + { + name: "byte empty but not nil", + input: omitMixed{ + A: "foo", + B: []byte{}, + }, + expect: omitMixed{ + A: "foo", + }, + }, + + { + name: "first string empty but not omitted", + input: omitMixed{ + B: []byte("foo"), + }, + expect: omitMixed{ + B: []byte("foo"), + }, + }, + + { + name: "all empty", + input: omitMixed{}, + expect: omitMixed{}, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + b := Serialize(tc.input) + require.NotEmpty(t, b) + + var y omitMixed + err := DeserializeRaw(b, &y) + require.NoError(t, err) + + require.Equal(t, tc.expect, y) + }) + } +} + +func TestOmitEmptyFinalFieldOnly(t *testing.T) { + type bad struct { + A string + B string `enc:",omitempty"` + C string + } + + require.Panics(t, func() { + var b bad + Serialize(b) + }) +} diff --git a/src/cipher/encoder/field.go b/src/cipher/encoder/field.go index 5e02936..a561c6a 100755 --- a/src/cipher/encoder/field.go +++ b/src/cipher/encoder/field.go @@ -22,7 +22,7 @@ func (s *StructField) String() string { } //TODO: replace fieldType on reflect.Kind -func getFieldSize(in []byte, d *decoder, fieldType reflect.Kind, s int) (int, error) { +func getFieldSize(d *decoder, fieldType reflect.Kind, s int) int { switch fieldType { case reflect.Slice, reflect.String: length := int(leUint32(d.buf[s : s+4])) @@ -41,7 +41,7 @@ func getFieldSize(in []byte, d *decoder, fieldType reflect.Kind, s int) (int, er fmt.Println(fieldType) log.Panicf("Decode error: kind %s not handled", fieldType) } - return s, nil + return s } //TODO: replace fieldType on reflect.Kind @@ -94,10 +94,7 @@ func DeserializeField(in []byte, fields []StructField, fieldName string, field i fd.value(fv) return nil } - res, err := getFieldSize(in, d, reflect.Kind(f.Kind), s) - if err != nil { - return err - } + res := getFieldSize(d, reflect.Kind(f.Kind), s) s = res } return nil @@ -110,7 +107,7 @@ func ParseFields(in []byte, fields []StructField) map[string]string { copy(d.buf, in) s := 0 for _, f := range fields { - resShift, _ := getFieldSize(in, d, reflect.Kind(f.Kind), s) + resShift := getFieldSize(d, reflect.Kind(f.Kind), s) result[f.Name] = getFieldValue(in, d, reflect.Kind(f.Kind), s) s = resShift } diff --git a/src/cipher/encrypt/scrypt_chacha20poly1305_test.go b/src/cipher/encrypt/scrypt_chacha20poly1305_test.go index 8ff9652..b098f7b 100755 --- a/src/cipher/encrypt/scrypt_chacha20poly1305_test.go +++ b/src/cipher/encrypt/scrypt_chacha20poly1305_test.go @@ -13,7 +13,7 @@ import ( ) func TestScryptChacha20poly1305Encrypt(t *testing.T) { - for i := uint(20); i < 20; i++ { + for i := uint(1); i < 20; i++ { name := fmt.Sprintf("N=1<<%v r=%v p=%v keyLen=%v", i, 8, 1, 32) t.Run(name, func(t *testing.T) { crypto := ScryptChacha20poly1305{N: 1 << i, R: 8, P: 1, KeyLen: 32} diff --git a/src/cipher/go-bip39/bip39.go b/src/cipher/go-bip39/bip39.go index 955c2e1..c81a92e 100755 --- a/src/cipher/go-bip39/bip39.go +++ b/src/cipher/go-bip39/bip39.go @@ -19,11 +19,11 @@ var ( BigTwo = big.NewInt(2) ) -// DefaultMnemonicEntropyBitSize is the default bit size for NewDefaultMnemomic's entropy +// DefaultMnemonicEntropyBitSize is the default bit size for NewDefaultMnemonic's entropy const DefaultMnemonicEntropyBitSize = 128 -// NewDefaultMnemomic returns a generated mnemomic using entropy with bitSize 128 -func NewDefaultMnemomic() (string, error) { +// NewDefaultMnemonic returns a generated mnemomic using entropy with bitSize 128 +func NewDefaultMnemonic() (string, error) { entropy, err := NewEntropy(DefaultMnemonicEntropyBitSize) if err != nil { return "", err @@ -32,6 +32,15 @@ func NewDefaultMnemomic() (string, error) { return NewMnemonic(entropy) } +// MustNewDefaultMnemonic returns a generated mnemomic using entropy with bitSize 128 and panics if there is an error +func MustNewDefaultMnemonic() string { + seed, err := NewDefaultMnemonic() + if err != nil { + panic(err) + } + return seed +} + // NewEntropy will create random entropy bytes // so long as the requested size bitSize is an appropriate size. func NewEntropy(bitSize int) ([]byte, error) { @@ -205,7 +214,7 @@ func addChecksum(data []byte) []byte { return dataBigInt.Bytes() } -func padByteSlice(slice []byte, length int) []byte { +func padByteSlice(slice []byte, length int) []byte { // nolint: unparam newSlice := make([]byte, length-len(slice)) return append(newSlice, slice...) } diff --git a/src/cipher/hash.go b/src/cipher/hash.go index 8453641..ec304c5 100755 --- a/src/cipher/hash.go +++ b/src/cipher/hash.go @@ -109,6 +109,27 @@ func MustSHA256FromHex(hs string) SHA256 { return h } +// SHA256FromBytes converts []byte to SHA256 +func SHA256FromBytes(b []byte) (SHA256, error) { + h := SHA256{} + + if len(b) != len(h) { + return h, errors.New("Invalid bytes length") + } + + h.Set(b) + return h, nil +} + +// MustSHA256FromBytes is the same as SHA256FromBytes, except it will panic when it detects an error +func MustSHA256FromBytes(b []byte) SHA256 { + h, err := SHA256FromBytes(b) + if err != nil { + log.Panic(err) + } + return h +} + // MustSumSHA256 like SumSHA256, but len(b) must equal n, or panic func MustSumSHA256(b []byte, n int) SHA256 { if len(b) != n { diff --git a/src/cipher/secp256k1-go/secp256_test.go b/src/cipher/secp256k1-go/secp256_test.go index d441d9d..9698f79 100755 --- a/src/cipher/secp256k1-go/secp256_test.go +++ b/src/cipher/secp256k1-go/secp256_test.go @@ -621,10 +621,6 @@ func Test_Abnormal_Keys2(t *testing.T) { } } -func _pairGen(seckey []byte) []byte { - return nil -} - //ECDH test func Test_Abnormal_Keys3(t *testing.T) { diff --git a/src/cipher/secp256k1-go/secp256k1-go2/num.go b/src/cipher/secp256k1-go/secp256k1-go2/num.go index c88f365..3c9f901 100755 --- a/src/cipher/secp256k1-go/secp256k1-go2/num.go +++ b/src/cipher/secp256k1-go/secp256k1-go2/num.go @@ -77,13 +77,13 @@ func (num *Number) splitExp(r1, r2 *Number) { r2.Sub(&bnt1.Int, &bnt2.Int) } -func (num *Number) split(rl, rh *Number, bits uint) { +func (num *Number) split(rl, rh *Number, bits uint) { // nolint: unparam rl.Int.Set(&num.Int) rh.Int.Rsh(&rl.Int, bits) rl.maskBits(bits) } -func (num *Number) rsh(bits uint) { +func (num *Number) rsh(bits uint) { // nolint: unparam num.Rsh(&num.Int, bits) } @@ -102,7 +102,7 @@ func (num *Number) IsOdd() bool { return num.Bit(0) != 0 } -func (num *Number) getBin(le int) []byte { +func (num *Number) getBin(le int) []byte { // nolint: unparam bts := num.Bytes() if len(bts) > le { panic("buffer too small") diff --git a/src/cipher/secp256k1-go/secp256k1-go2/xyz.go b/src/cipher/secp256k1-go/secp256k1-go2/xyz.go index c1cfc7a..7fffdd5 100755 --- a/src/cipher/secp256k1-go/secp256k1-go2/xyz.go +++ b/src/cipher/secp256k1-go/secp256k1-go2/xyz.go @@ -79,7 +79,7 @@ func (xyz *XYZ) Equals(b *XYZ) bool { return xyz.X.Equals(&b.X) && xyz.Y.Equals(&b.Y) && xyz.Z.Equals(&b.Z) } -func (xyz *XYZ) precomp(w int) (pre []XYZ) { +func (xyz *XYZ) precomp(w int) (pre []XYZ) { // nolint: unparam var d XYZ pre = make([]XYZ, (1 << (uint(w) - 2))) pre[0] = *xyz diff --git a/src/cipher/secp256k1-go/secp256k1-go2/xyz_test.go b/src/cipher/secp256k1-go/secp256k1-go2/xyz_test.go index b392785..75c2906 100755 --- a/src/cipher/secp256k1-go/secp256k1-go2/xyz_test.go +++ b/src/cipher/secp256k1-go/secp256k1-go2/xyz_test.go @@ -4,7 +4,7 @@ import ( "testing" ) -func _TestGejDouble(t *testing.T) { +func _TestGejDouble(t *testing.T) { //nolint: deadcode var a, aExp, r XYZ a.X.SetHex("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798") a.Y.SetHex("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8") diff --git a/src/cipher/testsuite/testdata/input-hashes.golden b/src/cipher/testsuite/testdata/input-hashes.golden new file mode 100755 index 0000000..445d849 --- /dev/null +++ b/src/cipher/testsuite/testdata/input-hashes.golden @@ -0,0 +1,14 @@ +{ + "hashes": [ + "66687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925", + "72cd6e8422c407fb6d098690f1130b7ded7ec2f7f5e1d30bd9d521f015363793", + "ae1d9ccf7ce3717a9aa3316c6b7850d0a85bc0466bc1b572545f90ccf1b59130", + "a4cfaddadceb816c4dad0a10d933a1880f9b47b9f943ca93b91cc3a046567fda", + "1d93be8a70df9e7450a0ce98231c58d7353e025cd1e9db32a00c2fd0a1643d96", + "a0c10151fc212bc313332c58aba5e19de1d6787178613819ff8dc6db270c66fc", + "fc54b1c9039285084cec65510329331a82397afff54706a9ac611b95c933f783", + "621484cec82cca5d8fb163d80c361ddf7320913fb294a3855c3e4db60440919b", + "b780c445c161b65c3dc1046cfba900161fe8a5f644907995b077f1afd231b230", + "4eefdc2b82e79d98fd3f323b5c284a1c35f4a8a862d9e83c8b96cd647ca3794d" + ] +} \ No newline at end of file diff --git a/src/cipher/testsuite/testdata/many-addresses.golden b/src/cipher/testsuite/testdata/many-addresses.golden new file mode 100755 index 0000000..e5e8edc --- /dev/null +++ b/src/cipher/testsuite/testdata/many-addresses.golden @@ -0,0 +1,5005 @@ +{ + "seed": "d2lyZSBqdW5rIG9yaWdpbmFsIHN3b3JkIGJyZWFkIGJvdHRvbSBhcm1vciBkb2cgc25vdyBhY2NpZGVudCBpbmZvcm0gcmlnaWQ=", + "keys": [ + { + "address": "2Niqzo12tZ9ioZq5vwPHMVR4g7UVpp9TCmP", + "secret": "e7550f33084a1b8ba935e2a943201adbea065ba9e87ae1e07c5a0b1d87ea8f3e", + "public": "024386ad78055064e65086ab69ae5c1629aca2fc7e4857261d141c181236700ae0" + }, + { + "address": "2UDzBKnxZf4d9pdrBJAqbtoeH641RFLYKxd", + "secret": "cd6c5e2d56c302496009c0cd8006e9264a69606524fc7f58b45351d2cd883209", + "public": "02b7e753683d5b53b5ce1c800dbfee62594d7d3f1d5f8a2af8f9b9b6d01fac02e3" + }, + { + "address": "8LbGZ9Z9r7ELNKyrQmAbhLhLvrmLJjfotm", + "secret": "4976bba22c7f481334844d8f6c8d513c573d881f64a55981506b11dab581c39f", + "public": "038c977ea6bdef6f74ab9864cdbfa3065b5aeecfb1b9fc71f2459e3609a242082b" + }, + { + "address": "7KU683yzoPE9rVuuFRQMZVhGwBBtwqTKT2", + "secret": "097669b9fa165f102c4c9aa098ae3ee4ff2554788b875cb5b0aa76d225eaccf5", + "public": "021c52a4b715fc1cdc6ab6d7c8bc8d9e0ace43ae5321a07a950d63eced0b82f8fc" + }, + { + "address": "gwgdez9f3BLvQyNE5tMFS75p69zs2i3mRq", + "secret": "52d5cba120ee89ac59506d19900833e0d4d696fa56549f3f2418958791d5f880", + "public": "022e678bb9add17994fb4603914c8fa229b5c0aac6b725e24e256f6533bb185ae7" + }, + { + "address": "aSEqXrooiycfyXDc2aLYLGSmjrozJh3jCn", + "secret": "3bd338e8674ca06431eeca83d062f17557402b88afa9daa015783e47788168b1", + "public": "038f4cbfb7b0548f53a8fe25cce2c938acbf2d17ccbea347a10872317cb5168178" + }, + { + "address": "2Z6WpR2RoBBF722hZ75ShDp1LVmojSRfAiF", + "secret": "d7f3f12937a4429299e67d5f916a503fdc2ba3064d89b6b39930f5265a8d792a", + "public": "0363044bd9d59c9461dddd3a0aeb5e973d696ff5f1153c1e930263244aa8066a87" + }, + { + "address": "25sH1HLTQbr1CR4uxkMFtJY2WLLwFVPqzKQ", + "secret": "2c47f82501fdb00b7d47a545ab5d1e0a148c1ed6d47e8f5630091561465ed40e", + "public": "03992d87f8e40ed2e55304a05e3bf7e12c9e8713498a90acfa51c046c9746d8f0f" + }, + { + "address": "MGiD4Bg65F7bQhaKmhCLsaVKKeEFLuGgA3", + "secret": "fc7f9fb98804537752ec2d2e58618ac316e556af202294a109ddad5747b18d31", + "public": "02f4bb55716f1c7d7bd69e1f0fa7ffc50094fa348be3633a916c8da21298c2db55" + }, + { + "address": "2bYFuBzZ7QiEbpJophC2pFhQLbEFt3YSSJH", + "secret": "c8c40438a94ccfff9b2fe7150ff7a4193341a55893aad88c06f05b904bc2aab3", + "public": "0377b14de3039f77bcf3f5f4ba852a9b36eab3d7618c59c33336aa17870162d446" + }, + { + "address": "yExu4fryscnahAEMKa7XV4Wc1mY188KvGw", + "secret": "ccf9b32c1f573a7e1cbdaefb791e515847e857fa6e44a42a4bcb396c5e5e7544", + "public": "0399e8ac882b086491e424a04cd8289e340a5cf132c74950659bd21262db5674a7" + }, + { + "address": "23GxEvPcy5vFPuzuP8o3PBag3HgQdoaWyXb", + "secret": "815d3fb815e4cc29c5e17acd597c570a8f1f9108ae955c01fd756ba5564bba4f", + "public": "0370dc9f523c4bef8697e87a59cc6c54f4e89d513a8bf08b1cabab7a357a508957" + }, + { + "address": "2C3JbrfoE4dSjZ5dE4hxrYCmmmrcFEGyiUL", + "secret": "5e01bf90d5331617a5c83afec44ce5b13dadbfc94efa58f2445ac2e9885c867e", + "public": "03761fa32c428788d875e670ad62f128da4ee70ccafc9577b6f1e3ba69a5195137" + }, + { + "address": "KE9oA24AuPzDzWBEjhGJu7PHZsQjGXYcww", + "secret": "70a250282d1b56abffee25badeb702c2ca82650c67ffa8be526cd600007406da", + "public": "034e06e04e3c6a32ddbc25c7572343d50a3c4eedd596550ccea33aeb24410d2422" + }, + { + "address": "2KnZdRBrVkK7EyzPxFdYrAoZ17MwjxxaCR", + "secret": "4627499983552fea4be50a879b5923f039959baa3af2e0699381a95507f0e6ab", + "public": "02dba9c7be5ea5668554d295027eaec51b69a582f4561d13afa8ee9004b2941b2a" + }, + { + "address": "2NGNQTdVNxZQPpBvj64ecidwXF3ZhhkX922", + "secret": "76446750f1f12301fed6037803d0560c008a98a2fa34ab5a1ddaa8ff9dcd3a52", + "public": "026341de878a483526cbf90a591fe8b6fa77fa775d3dfabca8ac5be72aa83690ef" + }, + { + "address": "3sNLvvtb5wFLMhoFxhSb9FiySLGoAzNbGd", + "secret": "9f9b67cde19a83f752c9639a86ec935526e1ab8a38dd23a702686e0e9d4e45b0", + "public": "0398a29c3eb0462bb65757990a762f7e5062db04fa228168c8a308348f1ff5903d" + }, + { + "address": "2kaTspbcfCyWNatPbRNZ55Xg8zyp77rNgv7", + "secret": "2ef76df65020b8c65ba9c6d71dd027cac4892e7e8ff1c8b12f87a48be1e117d0", + "public": "02d16798077bb6dc624d3dbbe99c698c7b91b17157beaba72216b6d85b436a3529" + }, + { + "address": "2mcYBt3gpiYFjkTZQHP142R3NF4JZimhSzk", + "secret": "7c2e5e465f172630375aad2b57a45b654c10a9a805f0f25b1a34ceec1b420a74", + "public": "024ab0a1303bbe5e09222c39276da19ff1f761cd1a164dabbb48e6f388a7a82f8d" + }, + { + "address": "d4vFNveNynBj56XWK4M5cHw5JGLdc9arDb", + "secret": "0e956d92efe55a0b6c0b4db9a2f25d370961da54295ebf45fa8cd0bf4d4c3a3e", + "public": "0396a73e38515653a2b58030489cdb85b8dd000293597eab9616dcbfe0d02892a2" + }, + { + "address": "trJzid787SDzbZke8HGGabsRJxf5UYQ24t", + "secret": "aa3eab38c574d811d2238f88a8db27c3973c5f3454e50224340abbb70510da2f", + "public": "037570e5c30c2cd11af39ef7cfd8d3d1d09bc9a6618fa649b484f76560f27d9fdb" + }, + { + "address": "843rtbppb1fS7GLipW2VdAJ6U3ASNYEYXS", + "secret": "f700853e5a35c9993f7951b5b7c9bcba595f8a0ac6394e233fdb40c2955bafd9", + "public": "027b6f77c26d08e3ad3bed214f8bd450635c3f53879c60ad51560eb877753dccda" + }, + { + "address": "Jn8SM7bRtzC49hb5ndj8RSjbqUUUPqMj3A", + "secret": "dd09b66bc338c831be7d3e781345957e0b04c691cb9e3fec7104202aabc3b949", + "public": "036abfb1f082662fbe2d39ad34c9cfa4f58f57160d77a7ef997c6738ce7cc496fd" + }, + { + "address": "2BwTfjCK38ucP4UAdAX1HbzR7etZcBY6FXr", + "secret": "68928b66031781cc596dd42bf1234c6ae315df97791a2f96bd5c74d2251497bb", + "public": "0328b1281495e1547dc27a29fb29f4a1b66b66fb8358e126beafd76dadbc8272c5" + }, + { + "address": "2XRhzqNgRJgT6rNp1FVp2SyZfrDedjSKUWx", + "secret": "8800062e991bed81298c23b773050edc552390bc5d0eefa6abec0237524a1866", + "public": "020c41cb5d5294a18378f8141b7868d39c9f9c7b0ed2d5f862222a103cd9d491e9" + }, + { + "address": "o8xuJ8PVfeBCSsZkR5hoB12ooBwXJzVztB", + "secret": "7a54ee9f88101d3623b81556b36922b18b6fe2bff154170322544602daa2685a", + "public": "02d8f4e328d0c04218f563ad17edf39af82dcc8b5f8d5639a6ece03239c7695d4e" + }, + { + "address": "S49fz7SUwStZvhTM7DuJfN2DKPgkb9bo5r", + "secret": "9cd5662056a5ebfd882c63852c8bcff133d7fdec0c7c51d3cecc4b41dbb9c5aa", + "public": "02bc622382316e90b2dc4c63a6638719f710dad0024818d96a42c67bbf49f49632" + }, + { + "address": "FZRetm6mneEEkXzZTGhMfWvK4yaSo1rjf4", + "secret": "673a827dc5452987a4e944dd5edfc286f815c3fcaa7a9f219d46cfcbb56b5dd4", + "public": "03abc7caef609535b9bbec78b24c2f0944e2d3cd472021e2e714f5136b757b85c4" + }, + { + "address": "pC4nG37Nz9VWTfEXJjgSP7wKDRzNkF4bn2", + "secret": "a76c7a8c63a7c65eedf815ec927b0ec4236944d57bd975cbe3b0ba7c15a238a7", + "public": "03e9bf477af127058244bd5ada03d17f966ae1ac35fee464347aeca568643dae4c" + }, + { + "address": "uVfk3t6iE5f37MVCDKrquUewt2KJWZJNTP", + "secret": "f1fada84b0e61f65814ac2647a8e8f776fed9d07659cf5540817e712ee4d603e", + "public": "03ac4c5040d5e6c0fb9536968e4c59b826a5bcded4af44a1c70cb06c2998e772b6" + }, + { + "address": "25sESDqRTSKZbq1Z7UUykw1UxnxejaeHKNV", + "secret": "e66fce8a4934642b40de3206937bab985279d043a5dd063e04c2718d93612d00", + "public": "024b1e68e39344b6e3857434c4929f3c0409897725ddf6b82e363446964a5a7f8f" + }, + { + "address": "agYZZqeEPpHYS2Ks9tmtbBEg6xTCYZVatb", + "secret": "8b111a441d22f5bc465913e318ff99a5dfe7df5cb011c59d8197809209e47ad6", + "public": "03e36c45480e687f6f2ac25608d0b8e75ea8ada441965c927a4b15a78e3f94c82a" + }, + { + "address": "2TpoqeGL2tHKnfBzaBpD6oo3E37rA5X74bA", + "secret": "09bc51ed1979b9c3011519f2a6c900762cea345aa1af5c73a2ab94054c0e177c", + "public": "021b11212bd1127d4606e48c36938a92696d115dfb37880e3e81b8d5b59171fde3" + }, + { + "address": "22y8iKcVhL9337QPXWAM5m68f9eKHcjhU44", + "secret": "af7212e928b268c0c8078fe972dd394cace9551d36b6c0c60fd264542b6b5256", + "public": "02c1147a11a54d5545f696f6c5047d1571e6b432de8a57e3dff461f159f59a88ea" + }, + { + "address": "f1YscDhp9YWMEnYbPtdJE4F7yaV7GsNTPS", + "secret": "d8e41cba017811d71814bd36bcd31eb63fd6ee9745a3b2436eebdd2700f58bc1", + "public": "03346a3a79d5d6eea45ba3abca39284ff97d0ccd4371487d72f3b4767d70a5df79" + }, + { + "address": "nHPDziRL3wwDpe9rGsTUEocAQbyRHAJigC", + "secret": "c1bfbcd71db2d80d2cfd1d703a2c77d218cfcf887bdc31e54c8de628b9056fbc", + "public": "038e900f336f7c079594b2932ab6a477c88c0fc15499eca290c1901408ac0f5b6b" + }, + { + "address": "bx6Z6THQsmto8ANcgNb9WGhpedQWhvKiPD", + "secret": "909c29237a00742601bd955e68bd816f7e7bc6dd59ce3073c29bd33d541a2bae", + "public": "037b9af02809edd2690be5816a2884c2c13b81dac4664ae9b77955c1311b270116" + }, + { + "address": "2NAfLeTNC19wof25NSBNpKGTtKt1iEZtxDT", + "secret": "2e9162ff3277034514612537d06bff053b0739de417887d3aff7f4cad7234422", + "public": "02210135701345e15b2aaf4deda129cd751c47e3a37911d38c9cc69c2865b69c5f" + }, + { + "address": "9L2uQrmvmgeQDYSgiPAmczWAgJTWekBG6X", + "secret": "74e851270b94649cc8b53aa56ae2e188de32d43346a17e7e82e492dab1104a3a", + "public": "02adcb621c62eb75c79ea6436017e5d34631cd376aa8e965d760cfd8bf7f9a225a" + }, + { + "address": "8pDsA7hNgcGmugiq9SqbpBAr8LNvqXhYCd", + "secret": "df3557714a662940a82c11d84663c55c8de236095c28a31b9ec1b149b0a7bdfc", + "public": "03f1ea020b8a21dcf7c6fc3540f96ff6444f121f397ae04cadf65cb057848b80c6" + }, + { + "address": "HDVGBNTJmnVeU1wY4iEiDmT4KoNoJ97DVk", + "secret": "5041f6146dd91ca0213e2df48cf8c9bd0f99c64fc8a0b64726b44fbbc5f547d1", + "public": "031a66ada2536a17a5490072f0aee3d980b13de58700d933b691d2b95491701eaf" + }, + { + "address": "28GUdCt1ACa7Rn8pN9ekxugDh1hWgiY8W5m", + "secret": "a60c4ba7fdf08fd40149620ae0e8fc4286d6283269239f302407cd1281d57580", + "public": "023fecb3e413741c3f97ef44ae34a3c9b1d32bc77ec1cb5d2e0a62c61dbb336248" + }, + { + "address": "zW4yhXcYE1ehseDfsCyRJCfsT9aFJ1P7j9", + "secret": "121b9d7572889ef55b0208dca8a483887c0b2058db5a891196f561210f0fddb4", + "public": "037cfcbe2648f52ff55a77fbd120797beeeb12b3dafa78ad161bcbf539dedbe336" + }, + { + "address": "8oEmZLjUnFx8DCt6Jpbyz7iNDEfgg5FwXG", + "secret": "4c3c253abc435b410fd2705af8f0f790c3eab26415e25b7209472a40d0b0d1f3", + "public": "028d7c6613d9a95c0eab9698afbc2f2429c2fc67e62380b6536421e1b4cb4cf059" + }, + { + "address": "2FxepT5DXPGNW647tuCakM4HxzLPKXA5mnP", + "secret": "a938eed62cfb072cc74404a3133c91cd2cc056ceb466c00f466e000bd466983d", + "public": "03e72d38296b249fe8104308120c09a46155d8a31abb0e1869a56c66bd3e87f7f5" + }, + { + "address": "2Rt2P1Vh4o4GK5EwfqF8ndxscxRZErTuyV9", + "secret": "ee422bd4c063752400d45bae49135f9af10fe29d20fd5eca3116377406523de1", + "public": "0314e0b4a496c865dd68c18cf89f19d8f09cfc0fd4f6e94578af99c6325e699802" + }, + { + "address": "Y1g9wuCKZjCArscCAdw2YjyWoiwv5Dgv7U", + "secret": "550c62a0491ad444acf71d6eae431b4b0503df53f9e495d2340f36d4da47e9c4", + "public": "032f92422e238e703eded027945a9836efad0f1007bee51e4c32b457cade288e80" + }, + { + "address": "2Fafftp7czxeoiio5bNHUN3WbfvrJPghVZn", + "secret": "f4a0576bbff57e5d01ca0fc14b26407325ee7f5bc5b7f5f146dee7a6cfb0a31e", + "public": "038f0dadbe3227fae1a18427cacf83a004c63c51dc8860b7028e95cf148d000d57" + }, + { + "address": "2W5K63cGj1DsvB7RkjmpM43PgajoJKemynv", + "secret": "f0f2c983402bf6273aa88b42de4f03876f7beda8f8ad4d94ff35cf1c784667b4", + "public": "02d1c067f11e13275865477cdbd4596be460eace6d76a28e2a4190869c2a2ce598" + }, + { + "address": "2JmV5HRoUcQY4qfBCfUFgg1GKSbAW24iFDP", + "secret": "95d2a4a278f65f262f265a485d0341b5cbadfa913a06fe4ec168a94eb469c78a", + "public": "03b3856f613e7cf421e89c7ed8d9f218835bfff56fc85813a774545d811c4a1d05" + }, + { + "address": "JWyJu3N51syANQWy8CR5H8UyoM1W4zHbja", + "secret": "40709c6b0060a61fcbbff96623330fb65bc38d193ccaaf612ad06157c5135772", + "public": "03bdf149804ccfa96942a0985132dcadba7275b30f7cecff92f36dfff4195c4336" + }, + { + "address": "atsx4Dc6dnqoJQHKPDjR6hgjjEtF7cNhSw", + "secret": "c4e95cc86105d81321c5d7c5d93f7ca9956511e621ebe0a92a18e36c333922e9", + "public": "0314ab127f4fc734f7421a4e470f8bd763f6c63c6bd7e27644a0964f50fb736a5a" + }, + { + "address": "G6TVGZhGKttfCybksiQ77EYuQ6QUuXVsFs", + "secret": "5a1e028796d742347c7f17c2cabbcafc47c5d8fef5c34e31bcfa012cca8bb724", + "public": "028f2dc1e3dbb4cd78cdfec0a0a9d8e88d4f7d3a231530136030714b5c82040c2a" + }, + { + "address": "tnmiayXaehMjUutwQiMnjfwumiJii3Negi", + "secret": "ad96aca0144c11368637c0a0c204cb54812d2e6e401c35b414ac3b8e020a3d56", + "public": "03aa85be4ad8bde40cdd03f1733cab365ffe8645ac8860c13f8ee98eee7f587a47" + }, + { + "address": "qKBvbpxDrCC13fJih6z786gYkCMfPr4yt9", + "secret": "e62bcf14a9c22421cf790b112a49a41d292abf8f957c595d1604fe242218617f", + "public": "033fb1376285345ea5d55f282239c9ebe6a34b0bdcc2a24fd7e50f2dcd7a9f0323" + }, + { + "address": "2Q3fiiv1VnZq52EXRegs7Zm2uNuN1VqYEr6", + "secret": "402d0cd54cf447d0d1a6edce5b363f6d052ac923ac07880261ab1966323970f3", + "public": "036491f6619e034c7031284cd222785b9ee0873f20019e49eb80e599423050a4f2" + }, + { + "address": "2XTfvKh4sjavjxWzUpun2aEioprqmjy8DRg", + "secret": "4dccf074e0c8e4d01fb29a41da3b05acea13693c0d83ccef456f78493787de7a", + "public": "023c992a18276d82533dc77c0d12f65668083a75f9b4b8963fc1284f34b1bfd6dd" + }, + { + "address": "rDdVaVDJhB1idZHPXbQ3PmDFV1ieXp51hq", + "secret": "2fa5575b7df071950d930de9c9e00adfc8d7e41ae4e7731296b938874c4d324f", + "public": "0252de761de10cf981f0cec0171f713090944a85970cc911e35433427991e5381c" + }, + { + "address": "5MyhUZ9JkQ8nNh11JManWvm8btNEmBDHm9", + "secret": "12be2aab0d9b3556254e6ac9ec5480f9eeee5a9e9cd48d4ee5b26863cde25694", + "public": "03d0325101940bac1762da47ed2a30916fb381a461474ed6611afaed556d32836b" + }, + { + "address": "2faGziNRteqfmS2iT2JHrqg3DGJCr7bwPuf", + "secret": "d90f354a51fccdb09f854300ad60d85999062cb716b1f3e8ad706b20e99f6571", + "public": "03637c8155e9858f168a15283d0804840e01b02654ab30dc7505fdf88d7aa88ae4" + }, + { + "address": "s6nvRxY2XmgzUNxHPhpvZWL7KxgXHjpeEx", + "secret": "caa73fdc76cecdf09c278d82eda4ce9ff40c297580dcdc191a4bd43ac0804d53", + "public": "03af813f6b8137f46ba8b77cc9f1cba50f93689ba7ce5498a7edc59a0e3314c6c4" + }, + { + "address": "i4NJfp663DS2BKoZqRrwZWyqJmhV49rWVM", + "secret": "5becbb9a2f3dd5ddfe991b5d8d4c7c2d578ae4d612e92fc64fe902a4233a1ee1", + "public": "0237fa3963e2fc18f0f29e323ce3c01a7ec26550a4e17fa5dfbdd748d4a0a9e116" + }, + { + "address": "fcvhLM6vswQ1Gv6TjSjiadS6zoE7zDshJa", + "secret": "3dcf4be5fbd7fcec93f17a2a07854e902396f8ee7f0ee136633520c00bf8f26a", + "public": "022c509d2fa07aa98b90d4056497822853c53115f519eef7560aa0b08504c59a73" + }, + { + "address": "nfSyJEW2ABm9W8vEQiRsrWEiFu7t68YkYc", + "secret": "26e4d66a9d8a84b8bb249179d360817f042b065ed4f6dbd88ced895efdd660d8", + "public": "025898ccdd8f913077758d97d7dff8704eecbfcdc9d6ed6aac6e46884aeeff1b80" + }, + { + "address": "bQB98uNcaCJXWWeGr6x6xrGq5NMzbSfw7B", + "secret": "e01f466060b0a3ed01a453362d3ffd0f0612ae7dd8f9b5c1d23f3e5df7cc40c2", + "public": "0361f9eb0b245e30d44fe15780b06d67f04d1c175f2ee155e6028a14f6dba72864" + }, + { + "address": "242BmWuosWU4Sj5e3kvDQ6ibvzNqZUzZ4de", + "secret": "4730bf793535f544e4c3abe6d54921801305850f769cbcb64bd65f76da1928fd", + "public": "02f311980d0636ff8fe655b6a695d6214fd09d02d03ba426d1da42dce5585802e2" + }, + { + "address": "26BWqf1QCBxGUdnbuonjWRi27LVVLmab2Z3", + "secret": "ea4b5510b9a4fbac1057012004999622d16b0e8b89cadce161ff1196cdb5cd17", + "public": "02080ce1982679c7cc351d36a4f4d4725bec9167c781df0f93de7a63d02117eaa2" + }, + { + "address": "MLXZvSFYD2Q3ST9hWHJK4wgMmoSCBW4cvi", + "secret": "fb0b97b8fcd171b41fd436b8b513794adfda84fdfd2c6f472a40380a49508462", + "public": "0314787b7d974e093a356713a5be01b14586351a91464f8762ed179290e1324f9d" + }, + { + "address": "wdVZgcdoPVpdEhAM5SBQ4gm3aZQU5rbCjm", + "secret": "4f6c7aa166ebedcf651b11804a969cb0ab939b1bea36bc0c7ca50f0bcb208798", + "public": "03876a421f40c2fc8c6aabc3e4449f882915c2ab5a1d15b5c3329c46e61e417508" + }, + { + "address": "22z6getjDD2GNjXZqe8tHjt5ypjutAEFoLo", + "secret": "0f3d5966a4dc8b6dc64a338e16de058728c1cf2c3f839b3cb05931bd1745eec6", + "public": "029512639e507dcccabde5d47fc5e8a4a95e222c86f5b62bf210329aec935a63b0" + }, + { + "address": "2GEFesXK5Uv14hn5Bmqwd61c1CCQGMvbZLh", + "secret": "4cf001cad4d96d2f2a43089246a1c756e1c23729d1d024f5d332de17e7800c53", + "public": "03045c57e07f9a97d650fe10bf7f3fee1ec1fcaa706e4d7438b5dab09198b840a0" + }, + { + "address": "24zxvoEFNb6ww8zDnchMsqdBoJuBL2t6LQD", + "secret": "fdae58716ebdc041a3a15c70b829af15f13560a371f57086a9f44f3a0faa772f", + "public": "025b943230dcdca2a78d9e2ef9b655c310fcc1bbe6493f05f5cb685b8fa4c570b8" + }, + { + "address": "2F9PfKBjsUMEViRoM1jKAG55T1fSu6hg1aU", + "secret": "219b0e3e367bb102d9e221b3f9505fb808bc086c9bd39d85f3043d59a0b858e4", + "public": "037cd54ab5c37e03c911ee05f7a06dac32bb55b5a18c8c51a2098905ee4f4d2731" + }, + { + "address": "k6s7miNx1cnYVEgUPQD2iqufKzQpRDmzQ", + "secret": "ccc0b397cada9ce4237a0a99697ade6adb57902cb30b7205c1572c377b34b778", + "public": "037bb2652a57a019ba2409b589522ef8a469a140537b33550e161676c0ba609fb4" + }, + { + "address": "S8kVNfBsuRPY8UcwVC44L4JmHF9c2vdoz", + "secret": "02a608c34f19e5f5d48eb3779bc61997c6228d6a83d32ffa21cc5e00c0c66a63", + "public": "0264d8c516969cbe5bf6882187105c72e33c44534203c935cba5bceda4875bd48b" + }, + { + "address": "2ELFHvS8iJs7g9hAYmSQ4d3fPkHPZ7GSYb2", + "secret": "c4d7f23d8df026b38083120e820bc90150557567591f16891de724d1cbef936c", + "public": "02773b43ebe9825f49ffbf9869a63870427c0a2d952e259fb6f14d177100fc918a" + }, + { + "address": "hVeQGNagmE3VdB8FAipt4Ya792T7JhXruJ", + "secret": "4197e0ecf350e45e082214b47e17284ecfaf1fea454032595b143a0d89d79aeb", + "public": "037e25ac47ca505d157eb26196263b1747e71548381130bacdf8688c0f31e29d58" + }, + { + "address": "2gzCB5wvkKAAjind13d6r4oSm2wasV4aTjA", + "secret": "9e7cdb5242980b321a79f4247362d34c0df1552dcacab20f8dc831c06d4687a1", + "public": "020b81829cd7049a05c9403d9243247b62099a7373b5687300c4f05a3d6996522b" + }, + { + "address": "6DhQZL3HQG1Ai4pH9c72G2Svy2ELaozDpH", + "secret": "ea67b633edf994dae447cfbf50852ba075be004e23f4d99962317c62d25be769", + "public": "03e11ab39dadfac039500dd103f7f466b266a08e69ab2b3b0990b620720bafebfe" + }, + { + "address": "2Tw4op3FCi2aXuSySqPEkxUxAVHCi8Wyxwp", + "secret": "9a921268064f24b0e07d8740b72cfc658ca198dfe2af0b373ddf643dba4de755", + "public": "02aba206211ca5a9eff06f96823d3214dd21b2b7456de48f7fe51ffe4f7b7074bd" + }, + { + "address": "2apYHtvxjoen5tFVrb88XkjPRHp61bnMmYF", + "secret": "7828fe7605bbbf70fc0003d04ec85a860376e8d1d8ea13fda2079be6b11b5c2d", + "public": "02e717897f6b0f94f69a393f895c9df2da0e45d895cddbbe95256f6ae0c433c7fe" + }, + { + "address": "1NdzQhMertw6PGza5eSxqfWMhMjGhbYszx", + "secret": "6f539af4e8b9001e591421e2830a3a2508dcb1637f46203e5a80fe84a9952a9b", + "public": "0263b7563c486dcc9ab1f0d46a5c10ceae652339c353031296c9f1d7deb3fd2683" + }, + { + "address": "xQgKsD9dAHf3NAazojsQ8WYzbaAyrJZeVy", + "secret": "ac07ce6a66f23f5ecfd0e0d983297e18a945730cf653405029c2e94cc7975ad6", + "public": "037104e7bbc30d57f60ce85bd56b19ad72507079dbb9befeb524bec6c6f6b35f8f" + }, + { + "address": "2SShMG5rU7mJ7v6wsjtFYgxrNB56P3cpdrS", + "secret": "4a59d42ba0cf18052321f70d008820256b790ca132461ec0bbbdbe1e03bcab40", + "public": "0321b0224eae60e8518343b6cc8ac9943561edb276bfc468aac589eed9e1044415" + }, + { + "address": "M6JKu4bqGgnJ9ZFuodqfxdzN7Y4q6yoDYZ", + "secret": "dd8a0861ba597070c6d3b43be005e764dd2960bd12ba86baaec4c914132eff60", + "public": "03b046f7c69dee941ebdd54498386338bc2378ae983c9d6b949e3019205dcc7be6" + }, + { + "address": "21vVXWwfSgmhVjMZKzRqQphhHWJhQN9PDmy", + "secret": "29d4bc0900ad68a07c4d4678f9b75155fd06aae8d8c96637a75cce4f2cb332ed", + "public": "029b294458e653d166fddc0f96898b19b74b7ef9f5372c722ac159dcdd7a633557" + }, + { + "address": "HPju6EpzFnWijK4YF2PKhGw36zpC5MTPqc", + "secret": "c1a77068a552a8183a634ee9aa117b21cb9c9d3d71bf885f747cf45a109f3bb9", + "public": "03b13f40cb83bc0fe2386b36ce0fa0c4426ebe68cca13d969951e019539aaa67dc" + }, + { + "address": "B4X6nsN8LUFZnyzPU3xuVJvJseVy5QFywn", + "secret": "5eb166ba3ca4da3353078eca2ca23fda60698388b37f860456a84a1317c669d5", + "public": "020d49986dc4f72bbf500b1d334570fbe96938b51b659f2628f51f65a8211e3afc" + }, + { + "address": "rA8hZGYDhU6mpYdXvwJwdMkCijiGHxGG22", + "secret": "d8e8829f9729315b9ba98dc56e4aad0e85464b9f6bbb4728f705c1c40414177c", + "public": "022764a5135d53da5c995b93ec79259ad4895d0252f61020f9244914957ec4e67b" + }, + { + "address": "fHnsaH3e5F4iMSAaRBFdDvNuEXWMiG4h6z", + "secret": "01897cda7e654eaa1204a88bdd0cc1a3c97ead4a56d5fdf0392bea2e5e188146", + "public": "03f1ff4bbe86bcd2b9a352f886df871b09b2cdd0820db6ec12473a620e3ab40cab" + }, + { + "address": "NpcgbvncaoAW2TZDbLvA3SgRBKGKjFBnss", + "secret": "afc18ea7580c9563bac4fad5408e27bed5fa5c3b48f72b71de3771e4f4daa9e5", + "public": "02401f34ac31518444750a1aec8aebbb98396a788bcee54235c62cc8c7f1855d38" + }, + { + "address": "7mZibtJzH5BV7nTsk2L2E8ybPJQzXgsjjY", + "secret": "4f8468222e72f899d3eca4bb752e46338430df815ff32dbea405077a970a42a3", + "public": "033c5e16a1857eb18cbdaa0760defc375c11c7a990f22947b32f603127fe8fec81" + }, + { + "address": "rTrV5jQZ1116ubbxqTD3r9VVgd9bRausbm", + "secret": "f26dfd8767fe4f2d99a006b20dcc1b760a1784e11469f601e33da7413006721d", + "public": "02d53189e1719326ca40f472c452f18bcf499f2eec21e11f39c366ba3cd1693f4d" + }, + { + "address": "2HCBvVq4Z7rsJ7o3NdRGoG2DT1KZ5EinoD7", + "secret": "02a404e6b1ef80a48f9339deab225c0ded0b6a80d26b28746e1292ab01413a14", + "public": "025318a298154019bda73f131fde9878ec04832efb78369cf1fc90d2c3a6da74f0" + }, + { + "address": "2RUhPZhqiAoSiEYBrymsdAJ6t5VkEVV8sTc", + "secret": "4557c781294d893b66792f88bd6c7557ed85bc471d735b0cdaaa9e070dab173f", + "public": "02e2dd3b4e6ba39a59977a0ea678293255b3bc7d29351f0ec053c203a778dcefe2" + }, + { + "address": "Avk4QuxAyeFr7VtchVebEY6Raz4uRs4UZM", + "secret": "c73eb18af7efe89e31f452d912719611f8cab5872fa2d66c61ff376cf57fc9fc", + "public": "03907b52c063332d80a3aa3b9824c2a1873e966caee5a05c495487cd4bd30d2662" + }, + { + "address": "MGgcz3urE7CCqBm7BrUyiv5YgSkzM1zmAk", + "secret": "7ba7d4ae04765fe5f69d8e1072b22dc2bd5d8e89fc7ea9177e51e7407cb80324", + "public": "023ef86e43a831ed5ea3faa6c0b6c92ef447ead071c32085ba186b615af3e7849f" + }, + { + "address": "2MYqwgpjcM4KooQG5kPE7nqicqqma8TPoQH", + "secret": "5a26e22f142054c7e91ac5de6e257d341a66dea9b377f5a1524e8733909061be", + "public": "033956c4733f9983bb70877076e9a16da0a3192bb6412fe7285048f1efba2a835d" + }, + { + "address": "ae8Ah32GU21Jk2K8ryWB3xdcyBmLZT7Gob", + "secret": "1831d4b0c420224c83020eb30671836d8722e752619e8bbfff631ef4f4d229fb", + "public": "03b88178014789d21bc222e02cd802496baac40ad729b0183fb2da47d6b0bdf879" + }, + { + "address": "Hft6JuhuFhKpQmCteJp4y63GHadLWbtP5m", + "secret": "815d2fdde17cdf80623cb0e4798553f929b247b79faea9cde29cb213be378b56", + "public": "02fb184a0fa61e856f1c3e6324ed6089fe81e211bfc1ab746c89d4962b4ffe525a" + }, + { + "address": "dNwZxggozhUJ9Kvfm3ArnH2KDVFi6gkG9z", + "secret": "9547add3c5808753234603f06a90dbee06728be93345d74c6e1a5639341053f0", + "public": "03ba596f4f81a2b4033a557175e9fff808ea41804ebdfb2583bbb7807c1a7242d8" + }, + { + "address": "2LBqp8gpoo7V5Am7ExiaycspCkzwDybmCus", + "secret": "2fefb1881c3102faaa2105597a139f601105fb705f2a7c7a23e12049507b9236", + "public": "035421fe09128dbccb1bb951847800525cfd979006482a0576f3db7983f005b9b9" + }, + { + "address": "CNoWEhb8kKXFWESa5vyqkpnEm37owGLncC", + "secret": "3afab960a2d0fc16cc418946397251ada6243348bfb8cda133157e1932e519e9", + "public": "03e8f8a2ba639a925de7f93538838b6530b68ef53a7ebdafdc399b1e2e6066088e" + }, + { + "address": "2jSnuGTDS7fbkfgwjkNErXGyz4Xx8hNT5CX", + "secret": "7c124e22cba0f682a2a2a94144adf670f8e5c09228decab2a1cf531ffa59f82c", + "public": "03f88d2c546d56f7034fdd597f6e2c6cb1c00d54d69b605e3d0bb02b743bd9159b" + }, + { + "address": "BK1sByWwm6ZyCFvt1MYCnuhutEEoVKm1sL", + "secret": "51607221de3b4eede57796c66a418200535af5af75b73b8d48d47effa0d08e9c", + "public": "03efb377e6ee222a37a0d7f73be09a25947c5afc5b0aba90138344b44dce8e11c0" + }, + { + "address": "zmQok3As5KxobevD9YvReWkQDGC6AVNExn", + "secret": "f121104cd3d4fa345efd445fb8a39f52dec4a01d9948805dbe2fb2d8dd1153a0", + "public": "03997df1f0d27b539122782b6612529fdbef763de2ec3142844953b7f1fd91a254" + }, + { + "address": "JGRc5N3eEWYhasHmjWpiQ8RqFEQHFsgVev", + "secret": "efe5cb99efa43af9966268472eb5f2836af65d1878e12b3483dee1cd7f5ee967", + "public": "02d3cddc6ceb7eb6bc94244760b1b80e0fd8d32653c762a046f07379473e7a069b" + }, + { + "address": "5yDKACKJgXGeMLTJoT9Ak8GMKQrMuZtAXX", + "secret": "311d2ac25e2e93b75e4b221744a0544cd2c61cbed0f2ae9f2d1b96fb685de826", + "public": "03a460ee0fa4ae57cece255da2d237b155ef36add87596945c45ee399d9d092a61" + }, + { + "address": "Qt4eK48vohSAe9KL1VguDCdTsRbwqm4Nxi", + "secret": "65e4f0874bed373e927927bcf2c4a0b3695d623dcd9b82699a23e090f4d695ff", + "public": "03cdb9a9ca9e32fa1c21f45f97951d2e86d5801800f0e199a171a5932c46ee59d0" + }, + { + "address": "oDydBKTwxrA5SG8BRXkjgC8p8bCLCKX7CB", + "secret": "532b52c6afc906733f9a8d54f571bb46f8236aedbf99950f9441fd66195869e7", + "public": "033a17e3b255c31d2c462612cf55c7822b462072823c7aebd64d758013eb321ef8" + }, + { + "address": "2mtd6hKNAebgEXs3MKLUZj2Hbw98B6RWVJu", + "secret": "1d5df1bf4861aca59db4601886abf9c14215bb47dd498328d0854f5958e2cd52", + "public": "0217ffc7084bdd74bc7c512251ae2b6875d6dad5e519d6d91a39e9cec457b77b58" + }, + { + "address": "SnSBaGjufieLSyi193EDTNP2nqS3CRuEDr", + "secret": "f22dd87c70e283100b42adafc2d766153ed090247dcd909894e9340b35926464", + "public": "031d9e9e4e86b10f0a32a6af86dfd4c0ab8c1e18e1a2410a3abfbcdc6fa54d74f9" + }, + { + "address": "aBbez48E247uZMtn4vQVCFkac8iuuJZXu3", + "secret": "cd5ccab9036554e4d7d5124393ca441e115d3b681543c1ae0e09e8cdce38ccc8", + "public": "022c1a6fcad7a9a2ae3a66dc2802482f028dcf9e156377de508592b6ddabc84a4a" + }, + { + "address": "RY9YMTk1PavUEQNbdqyVHdNNVPDDQvisys", + "secret": "7ce9cc17a56b261615d768361a89bd287ea24f845267e5cc5fdd8f8d492e5cf1", + "public": "030ff1f4d7abb8780198d610d84a21bddc57cbea7625b43eab90a612f5e360345f" + }, + { + "address": "YVjTfb8TGxDRfXCnqNmZj9WocQ8t48bXid", + "secret": "94594f06051e8d60e315dd05dc7efdd99b033bb01071a48f2c4f0c5d14bfdeb6", + "public": "036d46388cb90f08c49d8c58ceb89b9713f9f28d5e40fc6ebeca7d1ffb628a3b93" + }, + { + "address": "4y2U1dJwDgL17A919tqmjqEfzXqMN1sfJr", + "secret": "0d845f4f5b6fef53b40bfd07d7175881f96cf26861a298c96d1310969174e9d0", + "public": "0349290922a67e016f3fa308f0a7dbb151b1f86f19be4cbcab6ba870b5075f1fb7" + }, + { + "address": "NcapPnAXXQbKGRrxGi83uJJLb5vk2VaRT5", + "secret": "183ceb7edab8ee4a5aa307f66f3cf7a55f1e271f8064e0ed74f2390a954c9005", + "public": "02977fcd738a85253b58b7a2ef2ff36d47a5b3a6aa1aa343bf6bf62954b878b9ed" + }, + { + "address": "D8PPZ13Ex6wr5Mn64RRBorPcQnfGYYrpHo", + "secret": "8f619639b6eb91aedd1213d9581e1651fe0b564ddf7a2623cfed817c8c181da6", + "public": "02d41cdbdb8785fd538e887f82752fbef97efc94669001849fae65fc1d68f84f52" + }, + { + "address": "2d4fGA1RtyybodYc3q7sMiKX1BrznHP53Px", + "secret": "c7eea265a0472d0de21010f87c0db5a88b7f6bbccbb7b2fc89f12bd9198d9f80", + "public": "03b0599b68daa9ec4c330d840517d041f638dcae1ca8cb93bad5c2e83db2a6010b" + }, + { + "address": "vaeR4TDLoUiYzJULM7FByv9owEKMkX5cG4", + "secret": "e27f88009bf53b0253ebfeec1c5cfa3831041a6a977a0a1fbaeebcfa3b515ff0", + "public": "0394fbf78b5909af228443f95e3bba853e1669a17e328314e27906637ee3e879c5" + }, + { + "address": "HHiby3rggQqcvcMWey7B2FFAwn4UPQSsky", + "secret": "0e513ab67bc9eae469626faee07dcdc95d886feee2dba72160cd824dbdcb002f", + "public": "025ac4561cbd4acecd25d95e09d1c0df88f3f181120be234cb182e4c6422090172" + }, + { + "address": "DRbn4e9kumeadJD6bx5Zwc9hJR33pCJ3Eu", + "secret": "e1a3e5b5f6378bbac69f4c851aba44d5508b6879ae173ed538a7f58eee98c005", + "public": "03b2ec20a6bc7089b22e02f3877648ae92d6a961cbb0764264aff9635cb9b8bc66" + }, + { + "address": "eF2QTjnUujZiyEReWFFtgCcF78bseuf2uR", + "secret": "5f9ac6bf76829a442c2e524d424fb91123e2afc9520df6fdeb9fa7985c017e9b", + "public": "021bc1cd131c269c4413aa235851449bf66d433ad2f7a6abe426f3d4251a38b4e3" + }, + { + "address": "GpdAHSAGjNBLy7f35PSgQd8fvmCYBWDS8k", + "secret": "18fe04699878a57546523dc3076b1c47d63bdb091eeefb2839eec162619fc1d7", + "public": "025d0f942436a465d4f027c00652717f6b77a09485ae5631a7cb0c7c0ac3edb40b" + }, + { + "address": "2epTtuKgNH7hzfbFV6QNSzEvP9vv2uUpfnT", + "secret": "c8755985ea031954c0501c048d8950c35685577cd543adc214c03437af59cf20", + "public": "03c88abdb994b24ea489bda4ab140e4c5cd9fadb95d395a11fb99fe7e790bbc4c0" + }, + { + "address": "2Qpz4d9HZzb1uaeN5uyjDonR3MR1f5v4qjV", + "secret": "b8ea20e202b9e411ab47c6da122aa0d2b2953567d61a99471a4ce66518bcb8be", + "public": "025c77a070003120f1af15aa42ae9740b44abe229ea7250b77eb1ba0033220a9d2" + }, + { + "address": "2iG4Fs82QP6WxCxayVbTfmoTH4M4N7Lvos9", + "secret": "9fcb5c59bf38c087b0e427e6c10db9990056b65560b79402e1fce98f14652cd3", + "public": "031d315e2eb87ee8032dd461a5485876c1139a9c28c7e624cea4a3649f8aef35ec" + }, + { + "address": "2NKE64LsSB77PCUPud1heKa8xmjadonV3SU", + "secret": "9b05f64e513868d2388c06a9ad974146a2b036a40910f9ddab77a9d75c11a751", + "public": "03adfe42ccd50b9577fa7620945d72c70a5b096d6c97d0b6fe3a3f25a4fad56f6f" + }, + { + "address": "Aezo2HdLAbaoZguPpszC9ZUxhmJHmAFnfT", + "secret": "c4a375cc88e1b0164a8a6e1d02d309312e256f84b18ea085d31806a1268c98cd", + "public": "03bc9e850dd82d2171f821fe8eeb98497dc0d3864544099ed2df96d26afa407e30" + }, + { + "address": "rhhySrhPyMSZ9DxDHFrHR7ktnEu7AkqB4K", + "secret": "0c41ee6da35751a7dbaca48f0634f69ddc5b69d2586093a1047011cbf10cfde7", + "public": "03b1952ff8bcfd8d1febcd8876e11212108860879eec9e05d8f985951861df81b1" + }, + { + "address": "bxfcnYtu2tJU23uVKmw9qV9CffuN2Lzvu9", + "secret": "a999df119d86f4a42617d53bad1a7536c5241d9bf63600a9d4245f07df3d3bd3", + "public": "0350e14e6de722e11f27ccb942e2a564738748a4678213a640ba3d3af0083f1f92" + }, + { + "address": "2m8ndBh1iPqPNBNGJe9vd5gThJ45KzTz4Fd", + "secret": "0523f1e4e57c30371b7f7b7f89f47ee9bb4d2d177c57da5a28d25ebd7ce71a46", + "public": "02e8a36d23ea250088c113d0b6f41ed40d22c3cff4ca3356f50637eb020088aa43" + }, + { + "address": "PHXhq5ArUzYZJSJ8PiBSUj4ef2sc4zEtW4", + "secret": "afc892144fd61f4c3ad6c1cbc493c317ed007dc43fc414f73a380f08697303a8", + "public": "037ffedafde38ebc382fd26c61622a258a1ed18d2f7a0587a5c37a93b6e48e0f96" + }, + { + "address": "2WCPdhx6QR9RxRxDntTG6iZa1as2ja6btJR", + "secret": "1818a34ac2b005aa1f3f259dc16d189620f76515a3528985766761fe9198c53d", + "public": "027fee0b90497183521704f2929cded0adb3cf7123fc17b929e9de3a45d9927833" + }, + { + "address": "2bFrdk6bqR8FLQ6kYF4UPgnVjs2mF1DsfoS", + "secret": "f5c7bd0bd1853186cdf8a529d904f1916076880a1c5cd4a828730674a09817f2", + "public": "02c4e443c03b8c12e140ab0270fc0c67a144144e3dcd02963e107facc5dac5e428" + }, + { + "address": "2cwNZy4SWDT1zX5uJesdCKU2fFKjrcmpzvL", + "secret": "38296af1206f02b7650d5be42b8533ef5870c54c146c39239beabf6d500218e4", + "public": "0290aaa6866d979208b6a7ac2984015813ed4ec47f6a9ac49cc032fbc16b4533f3" + }, + { + "address": "2bwm9u7aGPMc7pfmHezfhLFabAuH7H6EBTx", + "secret": "c98a3735e47a9c498dabae93f8b40683619eb1a37756e3b786b2d40dd001d7be", + "public": "03b9f0815dd914ef4e71caba76a11cfa41fc8d7063038b337a9c600c9a36273822" + }, + { + "address": "d4i4nQXJnoPiyPXnBFobXGM7nFqR7kJNZe", + "secret": "e3ed12b80054877ae1d5d9ca1be4dfc483d5ad4b44dffb14b331e9b8c07acae0", + "public": "02317c1f881a8f39c9987cf6daa3c8887ca03d91b3bd5f915d3dd3c8eb7dc90c29" + }, + { + "address": "2H9VJjLXy8nugAdyLLCRSJi1dwRx8oWxFaU", + "secret": "e296d63f3558df4bd455a9850bd9420e2ac5f3bd2cbf8de148a14369705370a6", + "public": "03b4fec118a0e5409f5c7ae65462f56d5f40f477b0227083f238f49b9f90f8f70b" + }, + { + "address": "2Mvc6WgBeU4p7QKaDbKPspwfNvTbncAY5Et", + "secret": "20dd7688888654a5f214bee8d411c5635e0be8c8b13d9ea4719521959e65840f", + "public": "020993b1c2fb2e251064b1c53bcd1e5f18e7f7b5b845d8fca619ff5654de57bab6" + }, + { + "address": "2UjjeJqwrL8zhL9hiQHsfyQS1ACo7oQQnsE", + "secret": "8dad55ff69be245c2f6714dd514338118b4e18f4743b65c1a318b8ae8acafae4", + "public": "0294b9b8baa6b0f15f00f707a02c5f4002074bd9461982c6153b87573c7e2176ec" + }, + { + "address": "2N5b3ujSAFtGPbAVvZ5PSMtirXPAGxXDbzm", + "secret": "0c878e067cb6dbecf3af796ea802d685a6bd463f24b84a3ef973797596081e52", + "public": "033df20062b208d521babdbc6105e65e02f40283132af33fea83aaf1e41b9a5c23" + }, + { + "address": "2LD16WXviY1JcFLL3Zz1Amcb4NPhMAzeqCB", + "secret": "aa9f09e643003c1227741d2c7c031d84cc4bc78269e988576a1e96ad94ab7baf", + "public": "037f33fdad8e27e15217a7c5a9b9ad7072439ee03176fd747c16a240938fe855dd" + }, + { + "address": "NRA6Li4MRknBbKaNEhRoxkP8g6r94r2Gnm", + "secret": "4c44a49639f2885c2e2897a98a4d1135255a8a5fcfd17cec0f452571f547d7f0", + "public": "0334f64e4c6af2e283a7a994132ac8d6f652b1de0442540028c168e36007c998ac" + }, + { + "address": "2hnM4BQEaaNjdyGDcRe5yRVXE9i3oLDUxY2", + "secret": "fc1b2dd7770ff800de4fee7eb01ec6c06499939dd9c4ae6ac51047dc803f177d", + "public": "036c44f8a8ba59edcccf49a6dee7d22ddda61272fff258ba19614a529768105dc9" + }, + { + "address": "LZh8LgTSoTo1YgRpSkh5etREEyFgkLtQyh", + "secret": "08d6246e2b3ae9ead57557f64d369507f2c6de10823864c33b68ab824229b7a0", + "public": "038f5db7aef3d2086f0e4f5fa6fb84057b8a7ad37eff06ee446911a385fd8197f1" + }, + { + "address": "KGToyy5gNPmoSxM4hUu4HDYjEVEv7kf7xQ", + "secret": "ad4a60e329f80e0b3ed882b9497f5078f61e15168c92181c4cf6c86142cabfd2", + "public": "036e48c7dd1294354ec1181c1c41f55211c5c27069fa98c2c192c1fb6f1095fc23" + }, + { + "address": "2eVWTrgYXbDZnke76xyAFdFZeRWykNf8SFx", + "secret": "3e2680dc4b231fe0c8f51b8a2c134b1fbde1f03ef8967011c1eac2054f65c741", + "public": "03c40c4d319aecf727e8b79e8b5dd2bba74d2d97d8da3486bf0e7df85458c3e7ab" + }, + { + "address": "EXeNXEayVMot8oAPsa4moaMyZ7ZqTNHdKN", + "secret": "bb4b593aac3b8938757e975b5f2f1ea203d56d4072c53e80f9b605ab35a70d55", + "public": "037a7744437290765a6024781596087b7554387227430c1feb5829879d242e3409" + }, + { + "address": "2Vt7Jv3tRKuTKu3H7eBffotFssGtcmxeUGG", + "secret": "5c6e8086199ecec957180e2bc5ddc894f91cb2ff118f10815358766dd6ce03d7", + "public": "0227df153973f5468a6b601b0aec4bf6c4f50ad3293b705d47fbc767dfe112cfdc" + }, + { + "address": "2anB6NqHTEP4MZ1kBf25m1AoZPaF5HCRNf2", + "secret": "f458a9a6f1345679295b52660daaab2e6c2ddfd9eec96de1309d29b8645de564", + "public": "030651edf0fa34aa2a8bd48f55304c30fa3156636ab22b72978fa2ede9c035238d" + }, + { + "address": "2MR9xtMD2fVReBmXauYAomuaMgjvgnuBzit", + "secret": "97150bc09d496aac364d1e9dd497a082b8671d47c1fa3479f55131bcdbdd9e02", + "public": "02ff32925ac8e230d9652d112b61908ae00ced09d71b9353bfa8eba16c328e772d" + }, + { + "address": "2iRSWoCyw9nNSkcWzV1ntHZDzq4g5d7EjpM", + "secret": "4d60df4c11698ccd0ee61e1df48016f37bf4f2f5bb14518003b1d69b1397bcd5", + "public": "03907ffdf7c2ce2d673625e03967b9bb40b5ecdee8143f92a61bc5f8e46cafeaa1" + }, + { + "address": "Up9XUznLumQuJ6waAJAYCCvFimKkStGJ8", + "secret": "5519a06420ba5c073901876d3b1f11a9fb8b5be9766e0f05c025e525fc0a1ab2", + "public": "022463fb3a5fc5a850c12fa1da8a7c6b23f604a60136600234ea6a5ce7224e0735" + }, + { + "address": "2LQzzLF1wzgXVJGfrJwbj8fbCCKHsYPcpdk", + "secret": "ee48e87aa610c69d99b3257bcc5359730d16e6afc06b9b9a9757c277c0c94c47", + "public": "02da4067d72fe2d00b13d22843fac5d8b6153eed2cbed55810c22416906f7072b0" + }, + { + "address": "LKziTaWPqm1mqcuuFy25uk3nPgjQCeKpG9", + "secret": "6222fdf0802f55ca91e656fe74408245aa477486acc16a1dff9bec220f26c3c1", + "public": "023298ce81f51ba19e8b93442cdebb4d34c5d25e82ed9cf89da090a6919bac92a4" + }, + { + "address": "2KJ5NEvapzdghqB7b8gVdU9eaYMk5Tgy2Me", + "secret": "6aa4dc4a06ef5063e3ebc083430def90f28cd90a05b13ce4ccbff29661340547", + "public": "0391782a7b3a5d8d2b34f7d2d0220a8471c1bf049ec51ea87712ba8f24a735f0fc" + }, + { + "address": "wteD4LYHyxZSBfnaik89dbELxBWoQubkB7", + "secret": "03f083aced4af42b6aab54b7aa648825fbee5fe9b5b6c61535e9f6017142e256", + "public": "027c3406cfff5e4af70371660b31bc6cacca686299f24eb69becbdf30c991c8510" + }, + { + "address": "2L1CsK1CdeAG7tkwa27y5QVkHPLxzizcdTC", + "secret": "c92dbefc11b3067762d632b5c0dfb335de6503ec5611599a98021ffccc72f3e4", + "public": "03910aaf182abbfb2cab0b137c90c2069451858ba4178f8e3b37ef395514581943" + }, + { + "address": "2Hba4NtNTJNhCPbbPTgiXNf7zGiuN22WDhC", + "secret": "9ee66eee2ed4f0025c5f83e6042eebe189eaa46bfe6f6670bc0b32400cc46e98", + "public": "03fac3efccaad9eb1302982d97e76d0b675752e98f37d7b6bbf7a014bfa373a292" + }, + { + "address": "Fct5xp4TiAfoVj53FsVgz2Xvfu3VoSoGwh", + "secret": "68533cfb6e102c1218d07c468bc0111e378ee524438c7493f0c6599280885cff", + "public": "034f00bfef452bdbdcdd0c55cf0e328acd67c9769dff7c8097f968734598c512d9" + }, + { + "address": "22n8VjKLqCBWMBrsmorJL4LwN3tezm5gEmS", + "secret": "4412597ea62ba47aa723023684be9f579628c79c40df98b139400304c4b32429", + "public": "037334c374d9ab761d5d9b738b07a48434444156f3fe293f222ee621615a008cd0" + }, + { + "address": "ZpBxiDKig7YMP4kpb26aGHyL2smaebcEHr", + "secret": "d941ba613cdc2b87609c336d2063bf612e540875a4dc904ea4e63d9db4210650", + "public": "036c7bc521bf8a4700a2629a0643dcd1d157959284aed13b74339a0006357838df" + }, + { + "address": "2P6fGBjKESXhkpCPmij9e6A1NerU2ryy3xV", + "secret": "5a6082c021c71535cacc07a5df04fc0e8a6eacebbdbd454ebeec87be95309c7f", + "public": "03c981d0bc997b4ab838a0f2009fa4e3211b2073b4b15a12a711ded2895bd69f9d" + }, + { + "address": "gByzB6sPJ7RmVpk1md1sXm6HLGKU8knjWi", + "secret": "e4f6298b83374823d72aa3796d7a4054a669c377090f61d1a11521390ce56745", + "public": "0227e1fd95615063c435c4f9ebe82c2d5dea86491c8b412d60b56a7e48bfbd9a4a" + }, + { + "address": "CwbKzRpBo1KMi4hrBBhQpfRbYqp4V8Zbf4", + "secret": "688f61a4f695771ec1bc1329c86d057b551cf5aff926b184be538846483028ce", + "public": "03407a7bf3e89de64044ff4d28d289a54651c3320edf98640dfa479501b5c67de3" + }, + { + "address": "HvvEsysCjqffVAu4YWubvfv5yYYzf57Vnw", + "secret": "08b6180067c0e32854776a2b70c226abc9bccbb9c03b718ebfe625563d139d4a", + "public": "03015c8f13f0029cd5f666211955f1a1208735844256cf32ca32486853175c2abb" + }, + { + "address": "nVyEuvxiTYTzN6QqcmRj9wU17fHMa4VJta", + "secret": "98bb4aea9cdc25f26e9ea16f0c17f171fc2b52645c25c72ebc02e2be0b561b86", + "public": "03b557c6cdb5bf376a38d06f53450b3fd5a9925e73f1c3ce03daf7702f98040621" + }, + { + "address": "2Swcj8nQBcNTtpExUnDLxhfYuvgo1ZPzX2N", + "secret": "c3f23a6efd8d79499b054bf933460d843aa62ff66dfdaf69306ad92ceb0b63f8", + "public": "0256bee55434ce76ae429e74b63cf7c3c7961bb1c702203200f08ab063f1f895dc" + }, + { + "address": "fYMS9Gw91GaQcUNS8yCSVR8aWXC7RCJ79H", + "secret": "64ef7e0063f803ec119a6afc327c4a4df9d196ecec2deac3e4c64b418a72fb79", + "public": "02ac29f3444911103ce467990640372b23c2f1a98e8495e193ac576686eeee6948" + }, + { + "address": "AsNPg1CrLTFKNa1vviV5HkMJSZ38NXvVev", + "secret": "68d3bec66658ca2f4723d3c514a3ff65cab561e75e694204849b5c1b4733def2", + "public": "03c8d03e195092d202c6f75bd17c26d30c9841df9266a450e5a153bbb85951c2a8" + }, + { + "address": "uomhwkEj2mEc9JNvZTFpufDuxpornqcLr4", + "secret": "b0b2c25646387fad2336a3abd66d20fc7fd261b5a776e4e510e46975d5678034", + "public": "02047af97b315e20bb41c74427bf67feb838eca34bd82d8a1a78631c6450409a36" + }, + { + "address": "288trEspbRwW1NXhMUG6zSMmn1z1Yupss7K", + "secret": "248d74d293a4689cb6a0160b4d3368b4ed8dd7a850587b3b23d069ea1e61039b", + "public": "03b65684d345fb8b319d50f4cffb672e9fd2ef99cbabf8ed13db898a1b40c2eb54" + }, + { + "address": "mC5F53X8PeJTqw8C8oAmbG6AcYA7zHTpWv", + "secret": "f88ee9fd93b3ef3bbc3e0abc31c0e14132079f91877bf27fc45fc612a11c8d04", + "public": "02ffacc6e508e69889db4b3df93b5c04f9ee20655bca13c0c76ae7d442d9a824a2" + }, + { + "address": "2N9TR5jDQWfSPvf2UTneWTTPzAzGixTUbxt", + "secret": "4e8e791dd29ea7842d682b42a7e1236be9c787706dd5f130de9b2262f4aac59b", + "public": "03e1288e0f91cc983220bbde8a8eedcf82e0727670fe746d54ccad7aad336919ee" + }, + { + "address": "xQZoBgh6s3YEkaWxJcBJJj1caCqEr3qs18", + "secret": "09e91887df03369c64df32b6c05c19d4eab03760c6949586173b8df7f55e5528", + "public": "026e4ee5352bd39ed09ccc6b4f1f6893b450b6c554680277af3127d66925aa29ff" + }, + { + "address": "o1DeUpx1vAjsgz6xwdHQmjpVPsmaeArGYy", + "secret": "eb76ba401eb1ce6f42a8a9b24766f98add7e717c96197b79806c5ae08c7fc36f", + "public": "03a5931787aa1f2e1bc5f03c160b1e72c42f00cc8ed5a6f78181ae26cf016699f4" + }, + { + "address": "26uyax1suGxdRZ7gJUjFKH3t8ptAnB3f1Ab", + "secret": "42b0c6d8afdc6c266e6afd7feec00f6fbc4298bf4b3e63e2c20a29c736b7ee3e", + "public": "02be4b56afdba2426151e542100fdb523271e8d0ca4fff3dde46a5ef90a2010bed" + }, + { + "address": "2GYqEYdWH4wd3aeCxWnAXAVBvfMiYL1rRpk", + "secret": "8662f1b8d3ca64d2eb00eebe3e245e99054d4bcb67d8bf7aad5f928516885e09", + "public": "0307c321ea95fd65d2e6b3985155d0d9899b6818bd7892347ffe8c261862da2b23" + }, + { + "address": "Xp5R1dYx4haxYjmZDpjBTUaGAqYTU6jRtP", + "secret": "f5c6a132ec483f08b48d7965fa5c034a26247f1e55d77e6dc4ebccc781902680", + "public": "03245b41ed7ac350d9993fa89a6afddaf52d61244229a8b89c653af757054b9516" + }, + { + "address": "ZLwQzFUw75sbsMWTLS8H9jA2m3czji6hop", + "secret": "1f05950172c640ab56ec5752c11139569f7c76736f00b94b397cad2c4f4977c8", + "public": "03b8b5bc8dd2c640e69c5f88c98f6ac0bed85f8119409147e7638b80c3931a2313" + }, + { + "address": "mLP32Fyc39JZxnvp2ZsEDK2xVKUv4YSQ49", + "secret": "8d74584cca5c9941d4306ed7061a4d5632546d22635f0aaf54fabf4081078c10", + "public": "03bca03957963890c237254b7a6293d398df43f275d1705d9d2ee81dcad889163e" + }, + { + "address": "9H2rHSAsnEPey7Q9reVfQjFcn6HeuA6nZU", + "secret": "f57f5c41a54b051c24195e9fda9e17c69ada46354ad0e100358db1153c15219c", + "public": "0294cac47535ba46b16380074e5a20b2e106eda46ef58d8588b34ffdda2b649753" + }, + { + "address": "RWeWyPo5jMW3RTQZhi4umoomc26asiQg71", + "secret": "3dcce71b3d62e7e9d60a8b0a7e7db415d2f29dabbbf9a90d9e4d028f5a2526d5", + "public": "0255f81c8260bb65c55b53ad5fcacfe14542dbb1478230bfc465f74d35f63d2ef7" + }, + { + "address": "489PcrGj1QQtFvdnrLYpabE99gVhK7CZDb", + "secret": "25e23bc3379bb160ee17faeb169d5b10e378cd4ff0c241ea47639d5ca5e3393b", + "public": "02351b30079c2adcc588fd1c50a68ca4c6b217129f0605f35057668eaf8528563b" + }, + { + "address": "fvAjpa6JpTXEEbuDLVd7fbaxyRpS97a35S", + "secret": "52724a60664d7b0d1b3f463324910c2b1924450be5b05e8d7a2db4bc53d453eb", + "public": "0209f0eb2cf37d24b74f01d385e77200d75e5ee67b2977c578443c8310fb9b2d7a" + }, + { + "address": "ZCV1g67KVwHfSGNfafFSSQBUHYeERkPNas", + "secret": "d6a7110de3a1ad13e9c01390c665810a596d8c6d1d4941532b32260b6defe285", + "public": "03b765ba10a5e030c8da62982214f549120fe18358f18f60855325939adad24c4e" + }, + { + "address": "2UQ9bjUN8YBtaLZrXFoFgdEz6H3PqfQRPnJ", + "secret": "8312de52989274e63b461bcd89cf9341b8014d3324892b8424146f3538e2ee27", + "public": "0318382d608f7da849b65e058db3afa32136f3b893f90b678001f0241a196ab325" + }, + { + "address": "2MdhNzpmAJxHnHBqsGmvSJVLzVYmMiX2qVq", + "secret": "fe3cd4f2731045ae184501ce477eb7745300158369ee44c3fdf5a87a2d5b8952", + "public": "039c452532ea6ca6af3eb68772172d42778c090cd199ba3e7009c06b0cb6c51b1f" + }, + { + "address": "816Gwzyu248U21D6f46r75pnVuv3AtHWrF", + "secret": "a71958850157ca5af9430ac1f7150f12970a3e5cc49f2b2f0b250f7262ee657e", + "public": "023385b52bd7cb2b0e5a749b59f1402237ddc355258a36011e03b860679e4b2728" + }, + { + "address": "NKYP3ZvpAa6ad2SvENi6T5HKwHeLbrVYT4", + "secret": "01ca13b25a13f4fc7d4712b11861bba3d213e4ccb65d06e0572cdc7d14ce15a6", + "public": "02b313de4985803a1d054804fba3e723f88e64c6a2ec7fbe44303d1c4652c98c3c" + }, + { + "address": "2VjJfmxYideGu2ypmZJfLJZhVv3yxYED7of", + "secret": "f58e7c75269761d1cbd1c9c034afb754434f05f327e291ba96ca8ed727caa66e", + "public": "02be84a327e37a6d8267bc626c38bed05d2950e2ca1e4349905704f7f5c404ebeb" + }, + { + "address": "eAPpk64h74tsYepanFtSFzPzr82B2avcDT", + "secret": "7a0d7756af1ceb796d4aa202b10dd626bae3b530b714a3c90e075a2f0e301ab1", + "public": "0280324942ed3da9244cc0fec7fc32240792529d313e565c5f7cc8fb3dd38f453e" + }, + { + "address": "dT9rzRU52tZEUGohPpibWgGwZHSe7H5xjG", + "secret": "39b16997962b2a8749203fc137aaa5bc3ed17f0202f6e7965a60c2dd7302f4b2", + "public": "02c35a4dc1a33451a49ff10a38cf2e040054d775df92749f98c220d9665de0d3b4" + }, + { + "address": "2NJ6w1Q7oKUnLPZ4rkdFqxoSXSh7jPdkPMg", + "secret": "cfb00a95d0bfbb4a1f2f5fbaab246b537ce130006f503dd3ed6108cb2f6fc25e", + "public": "03628ab3111affac3e804cca531c6392f25cb9accad0bc3439bc3fa3396c075756" + }, + { + "address": "sdrAWYjVrewkKMcpmxvcfS8NpFVoz8mQta", + "secret": "122f3a66ae026891431a535ecd4a7ce87b766b36ee06cc982bae63d55b48840d", + "public": "03856a4861a9d5d1d0dcbce11fccfd15b14e621965577d7f84ad44a008a3a82488" + }, + { + "address": "AtpEoDv9QzZ1msqRpS67AfKmNUYMdZqtWR", + "secret": "ad22f66b3f09fe8150b318dc2bf070c0e994a7a303eea67e5c784dc91cf93781", + "public": "03c43d4d1115804698e7f1e154b93537c91a61e579044682385b38abf606fc13f3" + }, + { + "address": "2RJsEraWYadfeoBhfJrBrvidi3u9VxTYpow", + "secret": "828c57ebac860ef0f55510655de61e642aa329bd0ef90a0a407ad88a4cdb6c2f", + "public": "0200ba05a1798468845e97875530a31317ed9a428393f972f4f0bad6786cb77d77" + }, + { + "address": "8hjVBQTV9x3eL7MRXgqV9UM64rYur64iJt", + "secret": "202190f9d8a5adbc1ba486df7f076fba0338440a97595a88c49c870e4f1cc39b", + "public": "02d25d29264dab7b03d48aa58091d249de7ce2ccad2db54bf18949bf19b2c9eb05" + }, + { + "address": "PEq6dSumPciu9yo98jMQdHQ8msF2JbfnXc", + "secret": "fb4a81bfb954ec7bdc5f6c6ccb2bc18d00428be1a64ad095154939ea8d945449", + "public": "02fc4697cb9d1a8c364b685342894127d162ef5d7a3b7b9b26a0d9931247a4d549" + }, + { + "address": "2VV5BMupLapDN23JrhZu1rbS97zcYBbqkgU", + "secret": "6970bfcd764f98f6095604f78a59ede3b079fdc7b9b369c28617405def807d85", + "public": "02a25a01476d6ea82a58c4022a8b5a379f4257a1aed8bee8968cbf3c162c84a16d" + }, + { + "address": "QcQpkqG2fRxcQsirLKHGJ2sYs5HTYrf7v9", + "secret": "1aa78e544b013fba58e38ae786767d93384cd75e02f3d4d059fcd0a099e34ae5", + "public": "0310f3a6b1152884ecc8d16417f0b9de900d86c29707538900f1fed76a8388af64" + }, + { + "address": "GEir5to36spsZ5uzSTck3pdLCFG2Tuq1p8", + "secret": "f48ba7c9a2b190d50b093a4bda6b0979dd4110cfd7fb3405c965805aebe44b67", + "public": "02c20825470a7658c012e38b3901631f41d4371b0048653f62975cfb0fbdd2c867" + }, + { + "address": "8KM9nD2XJTrSSff2vfuFYVvZcGbLj8eA7u", + "secret": "f274cd6a8279bab87069888a3d1dbf029ff46be4fd2e57d1a2fc82643a99878e", + "public": "0234e5b6d95fe79d493d0ecec613e9e0f0bc738c36ba1b77addf4b1f2fa6b71c67" + }, + { + "address": "2XaPonNm8z6upuKv5xtQpd7WmeRKTPUuoKH", + "secret": "b866d4cac48a0670f498e9b4c10edbc27560db7fb0701e4ff87a13f6e24f9f19", + "public": "0321c3fb78a69728088f6b7316e03795bc487b41ba87a5cb92c3be85377ae95871" + }, + { + "address": "iN2qYbja7wU1Gp2JnoMUH5QiSammUC7baZ", + "secret": "588ceb37fe6370051d4cdabce2bf19035fd8ad9e8dfd334322d43fc2e16acae0", + "public": "02e3132cdd81d56c6628cd5d851cea5930f0f53e5ffc6a5e35d87a9f85186d823a" + }, + { + "address": "GbTRDoRiK7FrTca2MVEbQ9r9TK9PGqLhLX", + "secret": "89898c1b41e26fcd6a41e97c27f560f5db50c92e6830377379d84d767e6b6a3c", + "public": "03bfb7365227b03415f2f4e56821a7ad1baeae87b7c35b3e4bd393e7ff5218c392" + }, + { + "address": "SnfWDBRmDkshVcSgLfw5cYoAgmKVFygyS", + "secret": "26030f3717e988f6739b27292401aaf8f9f7731c016fa1f5e1a7af384f22db2e", + "public": "03c754deb4f25d2d81cba3b6f0bdfa68907a37d9d87b7f5127f477cf3b1446d567" + }, + { + "address": "3SLNRTzvWE2qxPJH3zJdFZmZSNu2gnpXwr", + "secret": "bf33312864090d552a1f1c17435fab813d9dcfc5000f9b2a7aa693355856fef0", + "public": "02f684e4edc5d1dfeb37a770e08e57dd6a49cd8bda524631b7b208d6523c29b0ba" + }, + { + "address": "rsnD7sxaPfXqbqYXPggvLnWYQ9FTTERHYA", + "secret": "aae8981a907d7e0e5bd0baf1919f8dc663504a215223c3ed57cf70c823a3cacd", + "public": "03d18f871b16e48337b99fa6d9cee89212e53bb26eae9d73017ec796a09480fe64" + }, + { + "address": "2Ni5D2DznHv38gyn6E5Hc8mqBkrMQ1VfKq3", + "secret": "7673157ecbf104fec8687bebc5d8ad81dd5e93a0a8b92bbfcbee246dc7d3c7ef", + "public": "02bac8f5f1120987cb3fd7ffd4958cdc50e3906ffdd6062fd9ef4b96c7ff769970" + }, + { + "address": "2bso1AeKwYVDgZuiN8XLjNKx3xBHMm7M7xo", + "secret": "c41954726c0d4369932006758b39f1afdded0d309ff99d8c1772f993570f267f", + "public": "039c3f264f985f26dd31cff7b0830c2bcc58ce13f54c191fce6d45fb827500ae83" + }, + { + "address": "2kooXVM5k6vn4y4jJcmgCJPnoqB4ydkTtUo", + "secret": "4db9d88541c0efd0cdb9fa3acbb3b6e0ab3db4010a59aa78dd1488ad8c28ed14", + "public": "03bed7e9a58022dd6b2727439e1993b03088a61f2518a78436e4208efa19c4883e" + }, + { + "address": "2QiJF7CCM1tf6ESVHzrJbVckHcehKtGKAXP", + "secret": "d530371a1e54014249b716d0f58ea68ca94a8c29cc2c77766032f9ee7675d076", + "public": "021bec8c0d092baf315dc4f51bb6a74ab276f3366a7f5a9aa72da8531b6dfdc93a" + }, + { + "address": "2ZFwFc7gPebsz3329NMpZPdrbSdTCvioRjn", + "secret": "7bae0524fb5739792d1ca70ff661eee59d193113d2959308472efad7f745abc0", + "public": "02a497a0c6534627babf9ac0c9613702bf0774e3c663faa3a173daa489cfe9c032" + }, + { + "address": "2crTgsFrcHwrx96qTgNd5v2eZRhDSGwD9KU", + "secret": "0144fa3a146902f05d05ce1ea93d7f9f7740cd9515463541234b035ac7c13c10", + "public": "02a749c44375ac2f409ccade010712fc0b7108faedc9066e52656df90713407c1f" + }, + { + "address": "WTGdQJWnTZJy8BheAdohn9bDj1S1CJbcMK", + "secret": "320fff3d17aee027ab0a021d62984dc71e20e2a313d550d6bc71a7037da76ad4", + "public": "030b6ffda04d9048c4bcc32a2746f994eefde6b4a1707b5b2f4148503115227cbc" + }, + { + "address": "28JuPfNb5KQcTbMZorM5ffH5Z6dnqYoH5rs", + "secret": "5bf42214cfb2fb2b370dde6c400b89659c5b10d82623d5fb37051082be4dbc69", + "public": "03f727682db76736b93347b8f31414520db4fbfa8de36864ec33a5e397ced943de" + }, + { + "address": "2jYZCimvDikD1etTuiwNVkYdDVYoRkW5ajL", + "secret": "05140478b6c6839636564892946b45df6b3019681672f9b104c86ccfad644f1e", + "public": "02b04c95e8face2cb50c64526ca0d7c804811e4ca45ccd34ccc954d86692a39537" + }, + { + "address": "2Ws2CbP8zi2rmDoTV5wxXHYiBSgC4FcFbDH", + "secret": "2bd204df49886647bad2806269730ca62d071fc446f42881cd2b4f1fcc98d00a", + "public": "022aa6887280a4006676f44589b4b74a0e8358b627e797964f4d9ac466b35cf42d" + }, + { + "address": "eZLF5WNWovZ5N4KC8vZtS38K2A4u4BQs7w", + "secret": "e7a78096dcea1a150b559775f643908650d1eac4bcca20de411a2764790ab1f5", + "public": "03ee354b340b4a723fdcb1ba2c11331bda62c40fd1c0f0cc52c5f876c66c95ff58" + }, + { + "address": "fadbXiZAhdLmL4DPDPFYGyqsZJxhDGrBnv", + "secret": "c05043fe99c3315c8354326c6a7e38410372f2b27f68eab88e74d6f73f170993", + "public": "02a96ee70543de38766532aa7d58eb3d36ec7846ff57f3ac251e2522ff072cf046" + }, + { + "address": "dmEhj2EdVXyP6gTmNVwAv9cg1jsHNFR9kG", + "secret": "a09c86ebcaff266c7213d42a8fa98c1ffbbe12b91559a0d0b6a7936b3e16503f", + "public": "039dbf5a286018aa46bb4714984cdce0ae4eee0f35803495ca595b69adc5e07769" + }, + { + "address": "6MyEQAeTLFjYYxG52FPgpNrHDasYFrjXgy", + "secret": "7a37469469c1063b3ec2ff3504df6e7a6a91aa1055a998dcc11e2781168b3797", + "public": "02980f6dc6efc5b1a259b1c588fb27b9c01ce6c366da9dacba815616351d62afc6" + }, + { + "address": "2Qh8ycrQGRuDaTmqjtJ6GQQCjL5KRCpAE7L", + "secret": "53c278e573892656e5ebc94420ad4f4460f368c2c9ea6a89b3534414d5cd8635", + "public": "021543e5108cd46d6038eb2f2274c59cc2670ac395b73611b0f381734f2acf6641" + }, + { + "address": "2aceT88Aq7FHfqxo2aBoiyDDw7rB57QsWtn", + "secret": "d30bc636046b7fd619fa64d056c7bcae6d183b1e64e003ce9a358bd9be3ef3bc", + "public": "02f7c3b95e046785f21c280ead0a1eb3db86e87ba56a95671d1c44b5f72e93cb32" + }, + { + "address": "4Smrr2YzK2W52cxZxiCLoJhgPi81mSSZ2U", + "secret": "0641dcb8d208b0012909b8e7705ec077fd485e43778e4b8dbcaef8eb925c42cc", + "public": "023143e54417d2df738825c2d521e283ba6b2ef611b3d53bb4fa0ec09ca33671f7" + }, + { + "address": "2b7YVEDW5WkLzrqfoZrkxzhuESHEwHF3xph", + "secret": "77ebcdd32c08a25ff00b56603fbacb18d44eb869107e1b0a5b34f85bdcbb1672", + "public": "033c0e22d985b797c944acb9d176ff51200446aeed5a31cbd452b8aaa3f0364e1c" + }, + { + "address": "JaR22JZKMWEBSPNFiDKKCM8gatkWo9LVrJ", + "secret": "e31e98a9043ecbb6ffa15fd480e0f1f169d86ffc440a56581f2cb994b887f71f", + "public": "02d604d042b35e8882515b5bb6d3c3a8f66b0fc816fa6dac3b88aa97ea9a8c8442" + }, + { + "address": "2j5pAjhg9yPyLuzBJnG6jPFq8Moi58Db1Fy", + "secret": "7ca8e3dec55937eb12e1abce3ae262ae1ecba643c69d4268c0b39b7c38e902f8", + "public": "0321f9d1f269d36138604eb84dc1087ac7b06e3bd0511a1f1128c089fc6b61dcb2" + }, + { + "address": "25PWupb7kLuFdM3UQK8tvcT98h7i5UDHkXT", + "secret": "15c148fca7434a18c484b539830abfd9ee169d39c3bf95e13cec5877ae5137bc", + "public": "023ba5a705ac79594261ebe524de80c022dfd42bda9094e8a4fa69889e6ccfcac2" + }, + { + "address": "2LWHyVRV3AEtYLvN6TwUzbFE7g2ccmhTVEm", + "secret": "3bd05a85518a0596564796356e6ef267e99e8de6aa529a0bb70a992dfbd1abfe", + "public": "023f07f1368ace33dab9fdf039e05137b8df01ac5864723a8e913d7c74eed72c3a" + }, + { + "address": "2mJ7HbAJiYmNahgLpCSmxWg8HbAx15XPkzy", + "secret": "4929beb2e5e57a9a5f1679b3a60bd6d20dbcd7b2a2527dd55f036d6e0a0eede7", + "public": "03ecbda83c01407aaf4f4856865fdbf082c12884a82e787ec0ce3d9c02bd6fa565" + }, + { + "address": "rVg9n43dSffZoVYdPyhpNemNbHDcZcnFnh", + "secret": "c564ddbf95b83a7806655aed2277f7aab9b7fb14bb106baa03f497dbf3d7882f", + "public": "03972a262ab0052092640c9ab72b82617883a49b58df548f00b627286dd658efea" + }, + { + "address": "BvURWh8mAbBBqpqN6YcaVMo4xaqABPkjAK", + "secret": "53f6d7e20bab00854fe7cb1671eac9ce35f997ccef7a5c68088a60709ba3598a", + "public": "02b92fba69673ce455c828a6eb473a185a3b5739fd928bbdf0e017c85bf973a084" + }, + { + "address": "298GYxeyvXBFpA9b32nf838vHz2L5bGQoKs", + "secret": "e30820c25276c84d31b3048597f19f42b3eb204572d8d275c8f5f76788c9d3f5", + "public": "0278dc9c5578ed235bf491b5ce0fb47afcb1a1a57f73db7cc9f303055a124ba7e9" + }, + { + "address": "nRJwAXzpr766ne9BbdgX4wtf3vCkb6FFe", + "secret": "70ca6ef64244fd4f00651ed245f1f87390320b79ef721bdb6d87c14b52693c6e", + "public": "0362e369ee21ff7d59208212a8b9b696c617dda85821e4ef42194aa96c3581549c" + }, + { + "address": "TCXZMKsbdqy5yMnkuWgpVA5h8rZdK6odrS", + "secret": "6d5b53a3cd6e1b4b6cdfc44989627c71d5fe406dda8043eee286e40d4691890e", + "public": "037a95a70a38f2371799bc3cf2f329986d6f64bcad8455b93ec368c619696df252" + }, + { + "address": "yUMbbPX3JyD4oSA6L9cYDiEHpRqM5DZzEK", + "secret": "ac9c752c92b9fab9859f41d4df2799ba3083c0d0261557d1563ce10ba2c14763", + "public": "027c5e3452c791d2d21e9a11f2362fc86258ea4470d3271422cfea29aa18d65e0d" + }, + { + "address": "22LAVaqjZaQk66dw8thM5eN9883pfwxF7ve", + "secret": "1da6d30d4fed6353c051770fa8df8bb25073d2a65c83be50516c7ece3407b698", + "public": "0333620b3e2078bcd027a76ffe66baa972baea3b1eefe02ed76b9a17ccc7d995b1" + }, + { + "address": "Gn9QCBzKVxHHh8SGb66wpu84BZuCw7PHbm", + "secret": "16b00b79e3747c8e166120fe366546c32799aee2bab5ad442227b5c2173dc94f", + "public": "024726f46895b7ac02795bd5bea795ba7a51dc2ffd53a90c840c73657b25680c63" + }, + { + "address": "2kT2ZUiL7vzt446hY8Xc2Nx2ohGzcFjtZwM", + "secret": "f0daf3cfa005eb279b7244beb2ea779ac76b1ea77045cf00c7379b75aad4805a", + "public": "03a8f0fef09af25c1f30e8267af7759b02942875d12e265a3896e7ef6399cf43af" + }, + { + "address": "2g7bpFrHiyyZhjFr8NNLoVoEL1HLcGyfXFP", + "secret": "42e7c043b5bad590914cabd9da1c64fd95ba0e3618cf217c9e56e2cda849a1dd", + "public": "03d315900f1fa2b0363971f66067cb95b5e062799542417861acce3905ef009924" + }, + { + "address": "2aFx6zgr764yaew5kBJL83xKvJXtaFYrNe5", + "secret": "609ef2d18c07a72423ae24c2c0de839b900dd660106a4d2352606be503ab887f", + "public": "03070b88d231d49d34e46cf719e47fb0abd2d9b9db9dd571931cd0e33e9a21f251" + }, + { + "address": "2axw8SpzvpY6QJze48DubE7SVwhpfEdTt1e", + "secret": "3ae1e46578207468ba3ff0dc9e8670d3e92361eb8e4bdc7f372096a10fdea1fd", + "public": "02bda68d95c5516ec84e5e8ce328f6354a7f3fa1e8e0376b8708d570dc4e7cb551" + }, + { + "address": "y8DV3nCwaDs9PtsQbiZnueVcbqB5FNho3h", + "secret": "c4c7d8f99d6df9127b6ce974e4b5791619b7a6d9230bd7ea494ddd5321c3b02d", + "public": "032da1fe104a466b03731eb9fd85709ee31a91b3eaedbaca165413526ecdd87dd9" + }, + { + "address": "eJHjp2SLL6ZUtYHhfEMNdN3c49k6QU8W1k", + "secret": "fc4c34570ee70911601b48a8881e93c713d9552cb9499c871454b1247619f7f1", + "public": "036cbcc6c350ae878de0382b4d4a998f85490f6ccd288aa37356730eae31e1d3e4" + }, + { + "address": "ZBRYcydEtrkGHYVFRmHQpzVwfDimNC7rfj", + "secret": "2df0754861dd3c563c5c1a3efb75befff40774022fd74835abe23fae37c03f49", + "public": "03f5e7d8028debaee9b5f29b2196c652cc7dbeb05f6dfd2ff19e1a7934febac699" + }, + { + "address": "J2Lu6gP8zXyq6EjayWtV8cDmdi6M73Jn5B", + "secret": "4f82d68560df1e74999982c4087955f02eadadce6502054ec431a2a2958c27d5", + "public": "038494fb1ea6767a31005b3e2018500644fe5f9229d1facc6d3cbd086c1434a120" + }, + { + "address": "kXVPezUrC5jjzS1bcVEUgaXfqqPYpPG3jQ", + "secret": "72b9f75282bcfaf7c3e468f7a090bb3322ea4dceb96449a0e02d25826e242dcb", + "public": "0335224bb5460f92b2afc546fac694cc6af797543dbddc491235fe9469c269b5a8" + }, + { + "address": "sfBsXAZBz5VynyFGyEx1TA1EVA2SNS4Q3S", + "secret": "599c05c64d67fbf675b01219f15e82a4837acdefa30d714a7d9162550604ed51", + "public": "025eef68fc3790f499996747cf941398c8f90f57a47d8ec93cccbea84081b51058" + }, + { + "address": "2Q6guBQ4Mota7bUYx2TD3xwWd9oMRScu8q4", + "secret": "34378458342db0df22be23ec49aa0f0e911900447c6c7f8ee2e69b79d6e9d309", + "public": "029cb1684854b84198bc61cc8fd7f42d39d259912c6f7e65d228bef8846433720f" + }, + { + "address": "9DqzJkWCWK5kCVaqY1cXszUtNdwvNZJSJd", + "secret": "e381d7d02fc85b55ef129e13a10d5e7980bf88ecb631d55a9564085b6955f7cb", + "public": "033005b5aac2fdba5442c2d30adf6bac3bef6989b8f71530c91a28a7fe76908a78" + }, + { + "address": "CitkJhr47JTB2gTQhwcYXBsJrxLiHqixK4", + "secret": "7c776045c28bc10641f50461d4e985d6f28687f01a6635fb52406e2c073837b4", + "public": "0251c6fff14db8af2f982a840921ab6b228bab890ffcb2047ca9999029aa26f068" + }, + { + "address": "vFUe7fcmLXGhF2fKRF8zfWCLUujDEgLVAn", + "secret": "f643dfd7a3fa2b46e5ea2ec8d63e1fa81aa0124f24cec7902b55e8090f354867", + "public": "03cd6e4e5cc5779262e293938773a1fe3537e8bd0da18f8353a002c516a491a364" + }, + { + "address": "bNM3CoJCTquonnV3fGAHSHjkXU4VVXAtnm", + "secret": "b1303503a813b58803536d68466a197b1bb3a101ec9a1bf8fbd2369d49b364db", + "public": "02a1e47b9d9f2438582fb53aeb049c715b7a061ec5f5ff0a4390a27c1c9fb5daee" + }, + { + "address": "2BDGGpDt5TeQqtxJiwCsYfUqSH3RnDaJvrT", + "secret": "62ae0cb5fb989bac7245e194d13deb83bbe7997b316a13b384afaab7d8160c27", + "public": "02285851f4a07f8247d0e718dfc9ba3c0739eb0384025bd1088e5b2fc5075cb544" + }, + { + "address": "WPP7JbSpJbHy13p3tAtSxFgKg15tna37nz", + "secret": "81158f1ca73b5b92e88e35864c2cc32a7e6dc4aa1dc69549b69488be0f939210", + "public": "0399c5c339ea989ac64e6c0b8c46088241e654ea12be19055b0f3602185f59113c" + }, + { + "address": "CLWUkduHRQ3VDqWCtLPu73CWRuyYRcywUh", + "secret": "a2e2f95581ae88117371cbae30bfe82ab85b16ab30ee792c99815515f4b03144", + "public": "021025967d1d2d7cd6bae8259ade3dbec5c5c7340f7cc96ef9faa98a4e8e89356b" + }, + { + "address": "2hsch7LCnK94zgFRBbL6N5nSwHHoZLv55iY", + "secret": "919e0a2d7d8f4ebb28bb9f8f4725433850e5e3d3ec90ba4f2b8bed56b736b095", + "public": "021da1eacfee5cf2ad3c323953c8ee5be4ef8ee23fb2abe88b2cb4114c24402ac1" + }, + { + "address": "GJLtCoZnL4di3kHwvkJtR8CW92iN8Vjmcv", + "secret": "e7102c8e401b2d30627764d44d7233d37ad7f5e83f935499581c4118e7c3e545", + "public": "0297dd6e1b2b55a29022578bcb8f2a97c4ebd1f04e14004c83742948baf15db34a" + }, + { + "address": "dF5jq7t2pMQJbacvfPFbxbiTRYi8dt8Mh2", + "secret": "aa520684df5e3db05607e59f3e1a039348113fa32f844473c5a3b5be8cba448b", + "public": "039230da7d6b4324dbab6315c9268dec4c913e9eb2fc2cc59daf29e2195ba0c0fb" + }, + { + "address": "W1DHb2MP4dfnLYgS7YmTGrwT3jGkyYzTaV", + "secret": "4dc879f1a4d782bfcd3921714deb2371da5df3b2f46537283ccbfe919a21ee3f", + "public": "02a1596f4f937a01189f494ed81fb8354101e1c5f633d34ab6e6b189c99bfd5d95" + }, + { + "address": "14Dzj9AmYcmqHADtmZaiaGAAYPTJF5iu3Q", + "secret": "3179eab44f64ab0e35f3b4842112eb6cbb18ccba16b7668866adcda6ddac4882", + "public": "0395997101d2d8ca8ab15058f8e465d4b87a422ab825aaa8616dc62373f01c81ec" + }, + { + "address": "Qt3q3oPi1HN4v6iPj3EbfaaV9kMU6Qb9hh", + "secret": "ea350bd2044b3a9352393f5169c3881d8146a5577da478c0e2185b56d7e84e59", + "public": "028959d6882142bb5dec9fdd5b4a2c93b2762df2923598e056622b899ed332f062" + }, + { + "address": "2LdwMr8hZ7MeQ6uS5e89Jwq3KjqvWQguXpN", + "secret": "2e145d25d59f1e5314ba3f290a81ccd6d71dfe6b998352688dda120aafeb2b4c", + "public": "02e0a927394aa47473cf544a5ef5a21985d14204adb5e1bea315096f41d5d38307" + }, + { + "address": "6z7d9KEtvBw8q2VZqz7PBSwHaCAYD9SBiz", + "secret": "ec9dc327f748b8a02b7b931d761e41f9406fa1ef637113acfea60a395f07f703", + "public": "03610bf697e09ce02f54c830792678c008542d19fca2e625706fada2eb5012a3a8" + }, + { + "address": "SeECPVtog2nqdBuhCASpu5GFW7kAQ2aWse", + "secret": "45cf169176971687dd96d56d544dd4739b3c3c7b24eef38e2b2eec449259fa09", + "public": "02f2ecfb3e58709626fdc9de870bb11d8a5ada1b5088af73b0d49ee2397ebdadfc" + }, + { + "address": "2RfMB8P2jTG5dLcrLus4CTZZH6mke47G1yF", + "secret": "72082e472815e974af51c5ca2611dbd65be5d498305616aeff0e21845eb2f6fb", + "public": "022736c896b113689d8891ee1dadd6e90a357d25143199202223637127c1c082be" + }, + { + "address": "jsHspZyTeoWLQ5R3GAXPDmMdXiWMos8Lfr", + "secret": "d3b02aa4038b4c0a71588a45d9f75a670c35e28c600cee1d2de7d2a04bdb720f", + "public": "03a2ddc1d41e53f6b73967a1b47a6928be2bd29a3c0729a267d71ef8df83b4a05f" + }, + { + "address": "25CSv2NqfsHSodz2cRueFGwAbdzUiuHHLxb", + "secret": "f556a089f138f59e3000571593b7f9559c1f546b5f9d1f475bcf6768611c9baa", + "public": "0305705d3549479c977fed1227e84c0bb1e349c6fa2374e4f8931c7592f1e980d5" + }, + { + "address": "2SitgCMQcxkiCF9Jf4pACRa5H5z1Y78BQ87", + "secret": "219e289fee89a7afeb2fc1316e8399953bf879f607cbebab264bbe1927cf7527", + "public": "027a4480740e264da975b95df8333c4877180c546e26cd4ef280de97822491b479" + }, + { + "address": "Gr1aAJwLcHgR2bumhPAyS9en2VnRFZz278", + "secret": "9980f094f2582e0810ce8cbf488c44d68ed60f6a45b94d4a5a56f4dd95ee0954", + "public": "02554006809341e915b01dc0e9687efab3f00b274b47bb61febfb2b5898128b95b" + }, + { + "address": "22k2EBqKnNRAbuGRdSCoL9EkrfvocHs2w8j", + "secret": "8382c706a7533cff4bca93e5dd7428eef94df089461c3fb11c9dc9a0ee3b4bd6", + "public": "023f7dc5cbc6164735acf1e0abab395d99a41fb4ed26056be2f7844c31a03c48f4" + }, + { + "address": "N31RqZUYjL4e4VFFR14rtN7DqgrnZwqbC3", + "secret": "2b6c4d56af2d787de889eaad0d97a07f209851a2b6589edf5a1c7a3a4f33e09f", + "public": "0312eccb8c1542b4c5d108538da52ddc5850175df7a7de3b1398155614e792cc7e" + }, + { + "address": "9Pkybqiwz1EmDy2b9L9Nkc88mc6zvPRsWT", + "secret": "1c055ba9e77726033ebfe32237bd425a140110549d82e2311d086bb48af1608c", + "public": "035304c818e2c5c93aa671d150ec763a193064d9cd95d8711254a77c8995e3f52f" + }, + { + "address": "BKvj6kmqdx2j35qJdJ5DPAKjJR8vzLU9q9", + "secret": "30130b623de1c08e1cb7ad95a1dd87a3a321f402b9712229e6ce62b7e1efc501", + "public": "026878a7175b2fc3d0ef5a458079eeb1b63d1a63505ac71fa0667239efb3a348da" + }, + { + "address": "RFR4UhmnBPFZb5sg7zyQrr3Jw4So1u7tmv", + "secret": "bb50fcc6980cdcd78fb3e58dd73b9a0adf6fc4539c7e56b8af9f04437f740b10", + "public": "034aac6f55a6ec5e87ace89ae7823b04ef43851316eb3bf85b52a783cb9f97927a" + }, + { + "address": "2W81p8QoSnMKvTdnBqb91J2aucdtjwVNUFo", + "secret": "b3e1914296ef75748cc4cc7772880186b0ea31afea9f36a92836c3d03d66b28b", + "public": "03d9677912768e36ebab0aecb6849c9e09b161e689521bb93e3cfd5687d5eea42b" + }, + { + "address": "rLjhyJVYUrqpgimkycfCdPfi77GGTerroe", + "secret": "192af09cc5032ee7dc03652c72ef0936efc1a413eb74c3b98acb50ccac9a97a8", + "public": "032eb1861040be977bd41a7ddfb8230e6d9f0ecc53b43dc6bfe3f873455011ac45" + }, + { + "address": "2GahVFLmUyYWycDo9eXvq51ekc32VgxKwRs", + "secret": "536ee03f10031d63eb4c1f4433598dfa587a9edf031c162770eb76ea300b2410", + "public": "02be4a70bcb626976057df5e8a87f2727c6dc6dec80c1a5aa63e14d14a606387ac" + }, + { + "address": "23CNqwuhjigvmeGq1MABeYoTceo6PMFndun", + "secret": "89a4c39206bfe84ee531233692ec4d7da526f15e24fe66b06c0f539920620f87", + "public": "028b954910c22532fc7a3af3b5b3b03460209711c048c19d46e756312c06f6bf44" + }, + { + "address": "2M7tTKyESdcKE66Q4gJpvbDGAxryCM2MfjF", + "secret": "72c021662645cc9b8b2177ad62e0f5211ade182742976a8fbbea55a44c26dba4", + "public": "031bfaf003af08ef951f3ce58096fb09eeb6935b6e3e7e5a230b70c963652f9d40" + }, + { + "address": "2A8vRNeRFyB423goYsfaf2XJfFnwLVBEogG", + "secret": "3f193e4554fd7e6755b017b7db495c2d290351cb65ef3cce34c69e340cfaf177", + "public": "030b4d89c711efc08d9392c4cfa106bc1313c478826453fdcbc115d69866a6d896" + }, + { + "address": "2QRYen7D9tDdLeJD5bXuKfuYKBbo23o4ABo", + "secret": "69da90dc5871fc04146acf8a1e4121de64e55b97e1629cee8d0bba6b464f6a8d", + "public": "0203ffa8dfeb26dda72992ef3d4126c989651cd6279d4e738110296ab9b90b2515" + }, + { + "address": "2SkcSFj97J2BQU5hd4QTm5onBeXiwRsVtmd", + "secret": "3d3e5bbba89085b9f3925abf1a892d4e6be4f459e935e05a71ad04ea88fe6ddc", + "public": "03c1cafc2eae3d0f3b109f942234d1fd83489e040373477dba9e27a801b3bd6588" + }, + { + "address": "fA4ByNSX3amgkeVF3ZFQ44gAsDybhD1urU", + "secret": "68a10f706545aa984a8df888700d822793d8ddf9c1999e329ea6a579bbc33175", + "public": "02cd9aaccfabadcc58ae9612cc034054595a8004401c05b314121a4d83fd966339" + }, + { + "address": "2m6BdfcCCGxbSXELzBjGNnAMxPoej35TLwt", + "secret": "bafb45146ecd2536e463c08c6b3b18534dff04f03d2a2828c889792b83b2b6b7", + "public": "039ae122d8357f4d6053be5d29a3d9ea72926c6c3fe6b586179fb11808e561c0b9" + }, + { + "address": "f9hJHRytfpoEa8B4BpNs8gvT1unMjvTFpf", + "secret": "ed643cc27ce09053207c7b8eacb7ab98cff341217f2d398dc80728ba3dbc319a", + "public": "029e91944afc94461da0b314b75f07e1aca7de0af053329bf9eca191f5e9480471" + }, + { + "address": "26F9aPSV1mHR2wmqWtiY2FdXwiZG6GC1WxZ", + "secret": "5207daceea9d884ed6e35ce719fbb356a33d6a2013e1d1159d021da4cbc4ebf1", + "public": "03d41debc510d99b3be9a3fd290ed44cb6edbd4c94fd6e18cef6faacaf8a931e1f" + }, + { + "address": "62mX2aD2aDNfh5zCrrLAyw5bPPoVtsmsaS", + "secret": "c702c01d2a48e072f21d811535ec30edf8d1940957ec61bca0082e3959f6b2fe", + "public": "03b1daa11a074fee7dda44270d842753c49eb916c19066e85bf5bd0608409060aa" + }, + { + "address": "QroU1WomNFwEpKNooGfSVqJhaPepn82jx7", + "secret": "21e0c30a0af7930ebbab4de7723849b2c712c670d8caa66c7a600c44774b1f30", + "public": "0379bef14165a6c65fc2bd41d11077d25fd4701afffb0e3203422cdc85d0cd2b88" + }, + { + "address": "B2qurPj5Vosgdb3vMF9tNSbzvCwQvZT6Vt", + "secret": "67538ed445290e3552443d4b0b5def55ce9e14127055b89ca1a58a21589896e7", + "public": "0374a42e90a4336a0c7147d624f69070ac3ad046a3c2540fac75d874a518f2ef6e" + }, + { + "address": "rKR2aYWXsKdPe7TfeLCKpC99zZe9KrTjMK", + "secret": "4249267d631619da0bcbb7296779c2c74df42c3a21e7fb0241e9e45ebdf31bef", + "public": "03d0abd9eeb44e08e9e57f2c750657113eca20b16bf0ad63c46834bf526b9c7067" + }, + { + "address": "2fH2mNcRGcwTqUhi6yBhieXGuU45AiR1rSA", + "secret": "c1bbea6cb9ae73181b273c5f5bd7918b4c28d0e3902efe8eefa837a03c8b6f61", + "public": "03289894de48c672ca592a35fd083859bbb1d991d77cfef8d20b0fed1159e80e3b" + }, + { + "address": "61w9ZrrWmSXprKv87Nt4QRVf7vy6xZxx3S", + "secret": "9473ca381c03ece2f1895ca34c58ebd8ecfd6469e486d8e15baff9badbb8798c", + "public": "03095b664426e488732806e0c08b4b7e5cd49a2653c029eee6931b93cb361130e4" + }, + { + "address": "EiRhqw7RKPTSwmkEUzmWTB9anAfxB2u3HT", + "secret": "847acc35d8932f3f0d2e9fbc57557b949be580e93a7228a4e6b8fb154f448208", + "public": "033f3d37b184bac7eccb3fbe9bb6f3fc1416f7234b8670b67b65f8948e8f8fec16" + }, + { + "address": "2SNQebSnRZUyMKRyEZyemuRZWPiiN4iSUSu", + "secret": "b065935a2dc91950e4381a88907ea5bcb081eb9115e88e573c8ee73baa3bdce2", + "public": "030d9f84a7af08f7d8b104113e72e1bf56efa5cf8f9bec50356f442ac71fbcf767" + }, + { + "address": "FuBAryyosutbMmanUFRzJyqwXkwh7kdGEU", + "secret": "0ff066fed0235320963798399f2a8def41aa9700d2f84205f6caa63422ba6dcf", + "public": "0333e807c0be00d228199cb50869176b8d3021e58faf2f3e0403a09bd010216f28" + }, + { + "address": "ovUyGnQCsAFCY4CzfNGPfpBNe4L1yXoPS7", + "secret": "cab4652334411dc9504f420b936d5ac85a6a50c4bc5245cec04e08898ae6a236", + "public": "030ef30e7219e020b9f9e77240fed42739b5b47063373b8e5fa2a4cd19cab80d9c" + }, + { + "address": "z8EFc9WUA6Z4PnWDHC1rcby6mMxR6yq8uj", + "secret": "396b40376a1f66fe79b8050d8c2b7fd72c5442429cea1de9c3e9b7b10b93c36c", + "public": "032194941eefbd5480556832f47fc9495f2dd4daee52153fe4bca687f13e102c54" + }, + { + "address": "2cgrysvL5TgPD3Zo1bQ7atHePjU7pBbi5HM", + "secret": "66dd774702819987b97c150b2baef6ca69d7fa77b474ae6b827b434a4a22190e", + "public": "02e84cfcfbaae65066fc96271c87c2a74f6af8870cd5f90b19003abb2695bceef0" + }, + { + "address": "CBC3XTB4jQeeQiw1K25MBVy665AmN7ndcS", + "secret": "dec7e76355a27ffaaf7d706091b3321a877bff8acd255fda5a34a21819b413c0", + "public": "02c7e48a9e20852a8e25ea0670ac9a320c682d4a2f1602c1ff4b00e00bde283e91" + }, + { + "address": "x8Amv5taKJPoBogmVgNJjtyddz21hYeGzY", + "secret": "a11279a7533f382fe1c4797a35ca4c8e62577de9d32be5002037abb63c917937", + "public": "037d4322a6cedd200aeb6403700b5f723b8a4aea1f922527657572ae7da751dc8f" + }, + { + "address": "2f5JG9tVG1eJsCV6MiSAXXn9z2qLu1WwPBZ", + "secret": "63cb1ce295c72df8d9a5cdf619aaab3f6531a6f8f428fb61676f319f6443b1ba", + "public": "028e3738fa11f56333e6c6319de2acc192d998767100b079dec938c66c33447d10" + }, + { + "address": "2YnwtL7Eax6ALym5ZhtbZc5mVi69SAQa7qW", + "secret": "fabc193d52d4bf936067eadd28c936e7c4bbf5b65bdf904e00cc80e7aad8aec4", + "public": "037e8be0c5076b7b7d9aafcbbeb1deaa872bde340171362dca6a32595c08a71501" + }, + { + "address": "n8VxbBynsNFRjMpjx2PoyCsqCobNd3tTGy", + "secret": "d3b704c0fa85c62df383ef4c5d691920cb56f8a2eb0c676662349f592b2fda35", + "public": "0223c0bdc26f80f6b8689286475a1f6a1462b3f763368c8926681dc212e8a49d37" + }, + { + "address": "2GcfeP65kgZJsQxgjTnAbUDNXUX5pMS6qwA", + "secret": "3084c64edd34f827750497f7ae3c432484bc86ec1ee03c236c83c10c2189100f", + "public": "02cd4aed33c68c2380060d807b2eae38c8460bcb494a68882b3560e5e917808150" + }, + { + "address": "SC23LSoVTHMLfdsy1dZA4ysYzLWYwLe3VW", + "secret": "04c3536aec2531dbab08bd614adfd9839150b82b8f15cb7a7228b04171cf9310", + "public": "0357e08cbc0fae044ee6109394bb70675c05effee3d0bc76c95cd1f3814498dcb2" + }, + { + "address": "2mBQma7LZa74M3WFJCws6dwZKn3YQBMg6rA", + "secret": "aa5e825ace5471708b05f3f50929c180f85e8cc19db9975bc02934a3e0469cd2", + "public": "03474646c2920067a9fe223c1ba7411afe48327370afa1298fdf08b8077d9ee19e" + }, + { + "address": "2FxdQDCLe7c1mhtKGJEnj5sTmcyoEuQwit4", + "secret": "5732ba0920c7688da18a7d2313c982cb4f05de6c8f8cd953b57883c64d19d01f", + "public": "020bd054f35df3619681e88b8f5b1e02d16e92136067ea29d0e944065bc17febe8" + }, + { + "address": "opjMWDaZnfGytaigCzDS1WZcMRCZQEvDSh", + "secret": "960c1024d6b803bb61d729f56edaca88bebd8dd25d611cd90f8c1553d72cc23f", + "public": "02c6ca3390d4ca5b9f9d8ffa81f217438b371505f7943f1b821ccaf267502896c7" + }, + { + "address": "287avDBot4sKcLa6uVHX6CEActGrW5z9W8J", + "secret": "0b7f4c468e9b57a69e7af6887e055ff0bc9b6c0dbd236c738b8d83e515eba25d", + "public": "0297142932f8df1b0e6def85fad14db4f5e99cc34a2bdaf9e1d4d94d5d43ff09b6" + }, + { + "address": "VDkbYkMPHKbXHs3hLyh4XC5ohQVUeyhw91", + "secret": "92e524d5eaeea948e6d5562488d971f0e4dc45d2a5f94dd4af7191bb91b93fb6", + "public": "02a5d4694d6485b3b9bc18e875d04773fd35eb4bd68cfa10bcc6e9348b5c845965" + }, + { + "address": "mAtUfYshMbtEJzjuKYcU2t6T3dZe4y2khb", + "secret": "c553186bcc8b7b6da5dcff3f522153b6a5af4df9e358f028e3fab1b02d7a7dd9", + "public": "039a29f469d54ff46f32bc5f246aa5c3714480304984e3232b723838c4d06dad0a" + }, + { + "address": "2NAdsgf4ZJJt5mFNw8at8hCR5RMQDNzwiwJ", + "secret": "652f9b2e81b4882b0a3ed0acad1870f906c47b741f3264e9437578270a77fd6f", + "public": "0224d49247228129e7e7ac57aa56be2d2a318dc57841975d5d11400ec226101326" + }, + { + "address": "vcGe4piafnmA7HooScfnaPoMeAUzkGV2es", + "secret": "3d36f0ff8d896a4e29ee908c90269ef4da1950f5d43d709d46ebef82b42ec902", + "public": "0232b6196f9a91a97bcef66cefd06ced834b6e57962915762b7f3d93347eb7512a" + }, + { + "address": "TU2RS7a9ZDUuj1X7fTBXhqo9jJpa5wRGEh", + "secret": "3404371d8a927f2b948ad1050a085d8c152051e6ee97aedb77c44ed3f6c0a86b", + "public": "029b1d98a32c56d68abb0c7b74f5508b4b0cbb23ffe2d6c53e7859c8fc047ac16f" + }, + { + "address": "2d7H8CquSYs2nin9jaZ13hGZta5FsStFZo8", + "secret": "5039e52f7321bfa5b97ea5b6bc585df9e54d5e5d1a27758135cc842b65898882", + "public": "03e9ea87ac0e016f2fe8b789bbfa4a941c3cfcfdbadae82c4c5fdb13b5ba7389f7" + }, + { + "address": "AvV5YY5QUnFLLSJMKhu9DsuxxrZt5wpvdQ", + "secret": "a75da19d2e65a262e1a3560376e2d292a741f3a4b679fc3b86a6f342c41f7595", + "public": "03388b89a69105f3fbad86cff7edbbda8c7a6b65f670bd1ea65c1bd29ab8927794" + }, + { + "address": "ZnvGRWPCyM8BVpFWNMwAuNJu3W9Qu4EcjM", + "secret": "b36e756f2985b372c860d9c8ee82d701446a99df55369a09d9245cebffb7f6fc", + "public": "03211ffaccb7fc6be9ec8dfca941bd18a24834ce783071324e7797167966c169dd" + }, + { + "address": "qoVWHHmz3cst7ejrDs5Ak1veNqXvc6bKNs", + "secret": "6d9ba763e4b5ece32546a46271be8024627663f8a05eb90cf7ff10aad43bb0b4", + "public": "03ae2573c7cac526eed1b7ea204d98b57b905ccfa565317562903238d9047318b6" + }, + { + "address": "27WSr8SckJGeSd9wZeuWmEXhkwZagupQBhQ", + "secret": "0eed689ddc8783a2d7405b3c7b727f5e283adf51a79c00633e06f4d7af69ea71", + "public": "03e01b17ede565155704d1d38b169772189c572f3d8daf7217bf10cfdec744f00e" + }, + { + "address": "jfHgeppkfWrLrfLDefT1ubVcX8CZtEHrxd", + "secret": "ac6093af30358cd772157c99144ca77b8b51374d4d42d16ff4c044a79f659d1b", + "public": "0244bb127e905e68ac4f77a02d36f8bd43a180fdfda205c5dde80c216027fe5d3d" + }, + { + "address": "7kUKMbna5G2BnYdRaUNguDcRxZqU4DJE5Y", + "secret": "aeb2ba2cd9a26758c46ff42fdd59fa2e109a57a2a7e0b6a71cd929cfb7d3c734", + "public": "02020ceac637c2e0a627a5b495991925432b2f38b278a39972c6ae3e77b5cf72dd" + }, + { + "address": "uXumjBr72CzvyStXFAcQZ7KyHazCGC7bYF", + "secret": "3e1745a1032a59a4f381389fb0371169a87286a29f9d7697d095b5d65cca2457", + "public": "02da2344d15c5d43d19b9f350b1c725c636004934f087b67b240fb44d674344af7" + }, + { + "address": "2cjZgqBybtHQNio2h1hmb8W1VuNHZ9CiJMo", + "secret": "866bb52ec8c6e51e52120b64bc42277b0123c5d200ea17d20cf365eb0f343087", + "public": "039391283693aa699e839a7ac00962bc23dbb563882d1b5db5774418a5d16093d4" + }, + { + "address": "2KuhVZmuxygrtPKYXygnzWmrJxyth7aHmHo", + "secret": "114e79415b9b6162578bd08983fde25c8708fbc204669e32d244761adf81be6d", + "public": "034f94c72ad911244a5dae6a7d2cafd9e1e88edf87d244fb8478ebfcc607c8b5c0" + }, + { + "address": "9f51KEwdZ2k6fbJKw2No5QcEZfh1FcQT99", + "secret": "e36c8f6818e4f3a759b1f1c22339cb7a1a560bee4b590270ecde2789990280a1", + "public": "02dec657da3437d526c7bec71d91cbe3ebb9993e7cbb69b5844fe8d02c035a29dc" + }, + { + "address": "CUFdMUnVtSmLtXAC5ktYSSywEaQ9uxUivn", + "secret": "f8c15fcb6c56e3d1a5f13b02f3d6f3d751c9f113ec3837ac9ca49986e5c79938", + "public": "032e56e60227fdc1c4e7100e1a5bb8853c102efd072f7e3d3b255d98da7645e7ff" + }, + { + "address": "2QVfVHQ7c81vSHQjXwjfueUxmycPXeSoh8p", + "secret": "dd71cbe703a2aafbd6e4e9e33d5dd9845d432ca8c16dd0076330cd2aad1ea18a", + "public": "029f3682ffb06648d5ccae4e579920840a162e884cf18ea1c76f7861038d41c715" + }, + { + "address": "2aT8vQA3MncGyw2XfhqisJUuTeL8gt67r7N", + "secret": "6f4002a5258fd36acfca3ffca8f46148788346ba97e290ce1580e3f0e40a67ed", + "public": "039ca89216842186b5d4c3d8824d9a62aa7e6a7258c51fbbde2b7582c6ab3cfd61" + }, + { + "address": "2LjJYUvxEeiuSHdmqa6WriCcrVMUgbYsC4g", + "secret": "9d5b1907abaf169e86622e520f46530b15016a3c56e6473980783eb9e7e3bb1f", + "public": "03d47c7a4ba64efd5ceec1d90370dcb79c4a5792334f2a8fb3f816ab3de0aba6f3" + }, + { + "address": "H8WyRMJiyuttgg7raK3MHvuaP1sYYVt2GR", + "secret": "d8d258e9d6ac67a32b2bbdb2fe56c753a3d4b2c45370c2081f539c87119db3e8", + "public": "0237505507f545ffb6e5762d3ee5ba7b2dbe03e1cb0b73454538331009dbb06474" + }, + { + "address": "RnvXdAurMy5aeEpGKfanQsphVYXtvPvyws", + "secret": "b3767d3cb4903870b7c40b50d235366e58fb24c7a2e5ac1607ced94126d308e8", + "public": "02cf83f66d10e315d6d84644682cd792e45cbad330704c7fc8951176c301ce6a09" + }, + { + "address": "2EGguQkd9xNM6rz43bQpPH5SUBbyPCypu2Y", + "secret": "544b281008d4de4530b39b3cbfa257b8d6c7df865fadb0f3ff875f0a024f16ad", + "public": "03b2d7195dabc09a3ed2ac92d44436ad57e5150d02be25db571fa2a9db513c72ed" + }, + { + "address": "2Zo7LMedeibm88xHbD6BihxYF9VbxueAsww", + "secret": "10cb3fc3bfe1039921b82dd2be1a036ae7d989ac5f1308441e7cb27bfa999706", + "public": "02b69743fab8f7ef1c5572ed9efded6802054e8668c8372a718a1ed231f376e9eb" + }, + { + "address": "Er7xL49Yz8yTdxTHZ2aWF899fZwuBcN2w9", + "secret": "ee2dd1b1a27c83e12f78fd0eacb66c0b9ee63f71f49f62f2163cacaf24c96724", + "public": "037c596ce52db6b28e1a9080c0e8d0914768e7f7cb4c1b56ae01437602d91c14bf" + }, + { + "address": "Ssu5YEgifibQKpoPKNZmwPVAKEt6gdqXrS", + "secret": "94c8c227b8cef1971f0c88b79742da648da391682eaaaf72639bfc516024ce14", + "public": "03e6aa8cd03076584a0664a1d61609e20ea12e900eba179c7c0f1c935ae90faf52" + }, + { + "address": "6ZEir4GMrZ9dCu3LjF1txAyKxmHP1Z6B64", + "secret": "567c951ab4d83106e0ec0dfcabf84d9d4f553e828a8bf29ba3ebe2c3f2f6a6df", + "public": "026eb292c89a292a5386cf84cc0150b9d246b80e7993b15bdb63ac6ad84ff3ebcb" + }, + { + "address": "uF1CcstJsQwissNWqN6HUzbedUVHeWN919", + "secret": "3063086d76d5cb9e8a6b5fb1cfe9cb962dec10b02f84b52823ef66a29031b883", + "public": "0374369d1129cb7e0ee36c245f1de5cdce492addf44a3121fadc088aeea218b41c" + }, + { + "address": "LumhVq7XrSSzaV6EcGFcNJa2PRhUw4EvRS", + "secret": "b8e85174ad383c1b31cf412e36a8dfc5c7a70be075bb6dbb3f1265c8d45a1716", + "public": "033e763b16e8be84bf728c03a8a842de3e9b668db298e1d7a9a42fcbac397a87b9" + }, + { + "address": "928Epy9MYb3aXiSX3jViUK2quJUHddzm24", + "secret": "3b6bf331929bba2a60117ede5aa6e82be42dcb59fec6dfc8b7d56da04229ac15", + "public": "0247c4215f2b6d5b7e9741b229653aebcb9fd407023ce710dfa8a0dcbd6f2061b8" + }, + { + "address": "x6fedkRZ2f3uAFWYuAhMHbwvezuW4YakrZ", + "secret": "be633fc2e4797327d173ff4129d17b7f00164cdf4e6bcda36575ed50e733f6be", + "public": "03b73a0b399d47ce4790adee1f5b7cab3beaf7d127ce8137d93fd8dd0589e69fb3" + }, + { + "address": "jzij8bbtnsQMJox9mVxE9Wbt2cZji1av1Q", + "secret": "6c5f2687c2a14db0bdd44e293294da17b6c48cf1a245dec3a724a503ac7d2d20", + "public": "03ea4ff6cc2f3bc601adfad608e0558418bf0982b803bd6c61fab1d5f7082504bb" + }, + { + "address": "24JypXuBsutTE9Au31byi6cgYUVfXDa76Yx", + "secret": "caa801e43715a4080604ab1962a74b6985481a4c42377f5c210b969bae817522", + "public": "02fd5562bea861fec333eddd21a49611e9efaab8e593b7f8898614982e414fa537" + }, + { + "address": "sq1oxMdWKu9y1GqYDQzydUsLsnCaSsgFdV", + "secret": "115a9ee9d3a969c4c6777347e3047af13158f6b2feb2f96a207fc2bbbe6b989c", + "public": "0357723a1e36cfc4ca932d05aef4ff571a74dd01d72bb21df6a1df2b6dd6634c06" + }, + { + "address": "XF3MJCJf34rbZ71QSmTWzsc2K1EW5zp11L", + "secret": "a15da09058bb45eee32fd2ea2421f1cd9910e1f822355aada7abaf98ac09820d", + "public": "0296785ce0760c05db6e9f81d1650d5dd71a70fe9881039592e91f3ae1f905cf37" + }, + { + "address": "2MuLPu4CtC8rCaGvVXdaFsvZCGEBSFquKyT", + "secret": "c2d06a485140ef111c0df041d019cf7f5f6f2a57a88f98b4818bcd3471fefbf8", + "public": "02d037fa293b9c13d7332fb57873a5c9ef6fd3faec48e2192073e4cecafa383c7f" + }, + { + "address": "2AjTTLFwqFBTv9B4TqEttxgGxd6qdb6Rc95", + "secret": "00755ec32e300f700b65e584e00d642a7f94b68bac09fa56d9dd52f68367d06c", + "public": "021767b3cb8da064c221e18e5da4aba858c0783253b807cb0e7d3034e2a6971a40" + }, + { + "address": "YVao3N44KWz1gWwFA99SzE4eEWuiNDQa6", + "secret": "5d419baf49e43360a2db92ff445473ae5369a3854274088447f3b8aaa730e4a1", + "public": "02671cc9348c2b37412f7be7f44cfaf887878faa61ba2977d76a341121ec8543f5" + }, + { + "address": "2B6CQHAyf7hXBdujhdth8m3iXeGKoj1cUy5", + "secret": "5ce953dbca541c64186c6cd9be8ea528b4b2e46ca018da86c568eff924bc2950", + "public": "0346f13ae7df82aeacc3f1a0264b7e1d710f09e8464acd68989bd4009d8df44912" + }, + { + "address": "9qNtyuayg8LsLBxwByHFrSo6dMK5okoFVj", + "secret": "22c33cd73e3c93597e7a30e0e2f7263100dff55d1fbb1cbc28862a4adc01e393", + "public": "039f4e4dcdc790708675a86f89ff79ece90e2d2db6963453bb05639cea1277e0e6" + }, + { + "address": "KEaVf8Zwk9erYrwqYg5vLuTWGDZfFZvzH6", + "secret": "52b2e3d1fe43daef1de9ecc03f26d769d2a585e75caf027dcdd8e9a001de559e", + "public": "02e4ef2ea0fe31a8cacff87eb21d60c54bae50e6e69c725c06dae4851853c1f821" + }, + { + "address": "273HzqvvGsbfqN4DzmLXSHwxoQGvr6h2JDa", + "secret": "76ad5b4e12a5ab1a7b8b229bda86214d00a8c96a48d36ea2b10c7407ce385477", + "public": "0251e9738384fe9bd8c9bcdb49db45b37cb817032ad5e972bbc4e62fe221f6537e" + }, + { + "address": "tCmpCM4QEmcW4KmfyGJHCUGtdpwKM95M36", + "secret": "430d620b2194fa6ae143bf501ce4c6afa86cf59deff48e94d4a61aa0eac3af84", + "public": "0336454abd9fcfc96d5b9089939265878f0c192beaab0266792496b3547b999624" + }, + { + "address": "2Nr54S79UTeMQai98FHMbytUvoYpVhhTXSA", + "secret": "302e30106eb4510299016075449887cfe695e7b5bcc64acadd2b9257caaf8307", + "public": "026f54ddb61336452eb33fc82ce2eaa1cb2a1fc463d5061a6437e6a379763d6725" + }, + { + "address": "VETgdwGFKAc417h7jG8AcpDWvVaSvJja3A", + "secret": "ee896d44fd6a6d9a3c5d54843e1d5e2acdfd8f8b94a89e971af11250b7001ab6", + "public": "0321a92b89701a16780e524564a01b8a8c487927f6be5e5d1e8e503c1db8b6656f" + }, + { + "address": "aDooZkbTToo2zhsthv4DLzy4b2sB1hL72y", + "secret": "5036311405ab856a08752b575c77f9689d034804fd88013cd61ab1ef8ecfdc88", + "public": "0332eabe8dd5ad5bf2df2eed4c194a194688f55d559873362e19879486395404fe" + }, + { + "address": "2TeicjTeiN788NHkpLCYXabcViRYRzyHnS4", + "secret": "0d5615b3585c8039e8111839037d5f278761e3e2516ee747b92a8bdfa8a3042d", + "public": "02e46c9b263f06841bb8df6d05edb7f965272cfd7a84c79a7cc34eca522f3d5aa7" + }, + { + "address": "9gAGvw6ALttV6qsCv9yoHn2duKkvawUMT5", + "secret": "4461a0e36f4e178dd98d073e524f6c175c4af13d69e5895ca7d113155b7058b6", + "public": "036d44c748a5f4a0da05e9f08412ac59370fcc1456657c8da02696042b6e549319" + }, + { + "address": "2RymuWexhMxWGqZMK8H7gjcpKHYzJ7KTW3K", + "secret": "fef98b243643886cd6eaeb4b03718b2583e98a5cd335f7aa145888df0e3e62ac", + "public": "0363f7994223cc65f5c344a5418bedd4fc7ec3f153651fe9babff0e387c07cfdb1" + }, + { + "address": "tRzJDgcGujKjFLvhiP29DwCFcSENXwD8NQ", + "secret": "c550510324920ebc38c2b3d8f7207b45c72f53146bbe75297f65fda29adefe70", + "public": "03f1c9b77f74670325f9ed5c9144405e227a4ebc19fa2f71f263197cac542f1090" + }, + { + "address": "4fnAyeKwaaFqhL7KpWVk3dXGjTUKkZMWAE", + "secret": "adefed215155b9c86cf6b529cdaedeecf54813be2a92b7e25cf3607b635def63", + "public": "02b9ee73048d5e1547f6064c8ef19a40e334c239a0d50e2e7742881abccf4834db" + }, + { + "address": "cUg6C5xPeULFUYAi7k5z825UCFktGr8QHg", + "secret": "6ece6dd12c75bbc6147091af4ee1eb6b9ca83daa4c8c74fb857dde9a559ff354", + "public": "03ea642b0f6dfe84807c2be013b697e811b056f38854185c0624e509fb115696b9" + }, + { + "address": "vJVpVYYvDY4mA8kdrtuo8W1A1TeyRqou8y", + "secret": "a1536d32a2a0b53847cfc69a2ac15934c8f4b5d5d3601a7ce683f454c958a9bb", + "public": "031edeb3a15926ab996d39934138f4776c8903cdd2b3373b93464a19352fc0119e" + }, + { + "address": "y8hhvxPjZpinCChM9K2PLDBW4g1av1ZcHE", + "secret": "e29e15da9d8b981d7e511eee9ce4b3320b72eb476a7ea405431b15ebb04e8a9c", + "public": "0220c85610ff73b1eec67c09305d94cf094acdde37396da909de697e6c2a91f9ec" + }, + { + "address": "2mMfN6DGbDSjaUVVkigCvBUvrW2Te1jkWCt", + "secret": "8409735d24e573dd2c8b49f9eed1a4b43a92a0b0538fdb1a3453b012b7862c41", + "public": "0203e0317f62b21015090c038e8402cf9f68e90b4f309f848479290fff989ea77c" + }, + { + "address": "2fZZnSM65DF5XKtnNttaVkNBAEky9GNdoEG", + "secret": "ccc43a9f9b194263c547e8bc7c386513d0aeed9d16747e86ff0be5e70994515b", + "public": "0358b3ce59c1362d05214c30b581fc4571053672e84c4a7bc2a94293f4b3f47c89" + }, + { + "address": "8yh8LN8kFCg3pXqEtzyTKNMwyjNAVDsNVU", + "secret": "38d2135b506023ea860c37fd7b7744daa81e25f170a746cbcd7dc0ecf54e2415", + "public": "02112e98e0e9c524440a36f77cab80a971369f4e21d9e19492481318ccdc081090" + }, + { + "address": "jkFvb3j5YzTCg1LnEKrUGnjbAQmJqFhHuc", + "secret": "be596616d27c8e0396ebefdcb1897829bb39a7710b92f17548ae6812cb367b2e", + "public": "02959ca4a318184bc71c8e7df8636fc4d6cb3704386453967972fcece861df57df" + }, + { + "address": "m7QnzaABKgNqx4ekdVLf5SdWGUxVSFgPHP", + "secret": "d1c9d0827322a843c37fe58d3169d145d5e8477f9714e44ac6575de9f20c5bce", + "public": "022169ceb4f864b4766f7f1c085564f1334a63c6c7611787ea7f80828d9e41671d" + }, + { + "address": "2Db6fRqRY7fkYpdFMp7ik9eSicRHUPcXXuY", + "secret": "1ca5d69c367a4dd6f7ad4b702825e17fe66a2c0a6e219b03f00f4648598b056d", + "public": "0215e7d934e04d7b12385ffbe6e55b4dd539d4bb45b138396c18c5aa9854562896" + }, + { + "address": "6MiD95xbpTiX85WaezBFMx31qHU2Cy8mGb", + "secret": "cc3e2454363c09febf2940941b07477d226af5ab09d598f57818423586ddc3a7", + "public": "025ed910484ad0d8d837475339882248638efa73f1d96b29ee681b8dd1f3e710bf" + }, + { + "address": "2j3PE1Gnw7dimka8tbe2DWM7nadFtKZDRCi", + "secret": "b33249380ad2c5ca60577db005bbf15e24cd260e5dbe06c8da9e877373d79bea", + "public": "02e90a239e782a8dbfbee2aac3d2d729bc45059a80f67ee3d52ce4e24b24a7aeae" + }, + { + "address": "oUmQZvH1kKqfKEhj9EkjPH7mJsDd9PekUH", + "secret": "ed2166711c446df7efe1615619a99ae9f9192cd548f28c2d76e0ef224003ea01", + "public": "03f2707b4ce0ab1664b4ec6ca958e9a6ad53de97687b933b11f36309c3ae9463ec" + }, + { + "address": "P381ZTCxZB7XJgTBnv8Je6YdQj5oRCnWrV", + "secret": "20412f51c1283546151fae13238c8173f71517e839df2399f59d6975d867ba00", + "public": "022fdf6aab50d1c7ba9f07dca660507294c2347e9f0455e9d906a8b76d46232be5" + }, + { + "address": "bvjjm4USaFY153twBg4k11mKKW1SZri7Kr", + "secret": "9ebc684f04adf27593e3d3862042c867d9e7b93a15486d1b910cd3df01d6f5e1", + "public": "03a26dd8d7c5536fa1ba0b8ea88974a1449796bd7a03613c7a8d0386f634d83605" + }, + { + "address": "SjAB5JX8MngBBmZqHAQv6b4xBf8EU6TUdH", + "secret": "ef9391016d560ed1bb76e27712b3eafba14a97d765e3a2c95e4a33c91e3daba7", + "public": "03e7e8262b1b397ef1f5d956b9b4ef46a87670c6e74bb84dd63d649074d6a90d95" + }, + { + "address": "AaowUNsWWGCTSQt8Ubg9t7t66WXgNm8qj6", + "secret": "ce21b58c3a7f7eb5d7c5231a906215a39d13771d903ee07b1bd6ed2175180f68", + "public": "03c5b1e76ad124d9558599a670af3f196aa8380ba2068a3f8fd86b78959553af50" + }, + { + "address": "7M5c2bpc6vChU5LjgSenmEiRxKvFrjdJRm", + "secret": "a9b800fd9e55855e3938b2d81b7ef5f38c3ca48f4ff6f16e2a846bc8924daf9e", + "public": "02db984277e99de74db246766d96923d0da2025588bce93b3002f67020bef74a60" + }, + { + "address": "2A5Bu1Ho179P2EyoNcY6iuuweMpnTo6Dszj", + "secret": "916a59a3fb9e8cf7ca8b57e12c479a3bececb4e2cc045b138c30d24193b2907d", + "public": "03f05db64aacd7f1872deade0890c84144ce00e38a5dc07e2880079f8e480a2eab" + }, + { + "address": "25dcnottoLnueHerPbKAhZRmUoXjKHpUTi1", + "secret": "787132dcc79020e6037ad2b33708a2ccf0221154be3a53779bb13ac7fff938ab", + "public": "03b740ebcd062875de83f984c37d71f1dbe56b054bb39ac1d1294d52e8cb702d58" + }, + { + "address": "Yez45aeDFBzSDLpLRT4j1ZW6Wu4dH487QH", + "secret": "b55fe82dbcab00982ae20bdc5d6d2205132161e91eb4bc80646e5d3e56e26deb", + "public": "024b71d54e31d943a04299bee61abaa0410b665724fddbc02062544521826b66c8" + }, + { + "address": "4wzjraRSLhkmQBfdzPYu9DcLoJCLtg4PjN", + "secret": "a0297d49a0ac7db02f303fca9e342fde7d3fa9588322a50be65711f3b33125ce", + "public": "0363eb9e525f712ce3549366d42944d9bb11f4489d38f61d30bf319f242f0bfcf6" + }, + { + "address": "PCgs68kierVHr2ZqQKkACJe5uFCaqn4Twa", + "secret": "362097a58bdd050e595df2f2e49ad7be2202eacb5a7bd86c50a9b44c9d10ad73", + "public": "023f74ca7041a7d9f3ac4c524f8686018d8a24a735fbf942b271ceb2eaa840c875" + }, + { + "address": "pJ1EMgaUEpeTSXu1X469gtXhjd6RvCjNq1", + "secret": "556e1fab62c57725765b5250062b6b9e3d2af8bbdb522255d1304f12047d283e", + "public": "020a6a5ab65ffb60e706fc1febcdbabdee7f8f3f916a2100dcab925cc8ed0b34c0" + }, + { + "address": "PY91kddKVU4mVe2pcM4ZmEvsdP25rFze7J", + "secret": "23bfe9afcd904fd9aff9838dfd1edd67b897cc9b2aef6fa5eeff116103887a6a", + "public": "038824148c1b8ecf7848dd3d1acb359423334c5822fc46dba4016da02810d30f74" + }, + { + "address": "2NRQSCu82A61Q3Crm6fMJLUuwEnwMraT2FF", + "secret": "c352efce59357fb758de15e09f00e2638b504123212003157a3917e8f41a2e96", + "public": "0202ccfdf6248cab6f045e620789fc7c9eb2a561ff80c2a89f0cd478b15d1576b0" + }, + { + "address": "3RRzhD77qJoXvM6v5D9qxdHfoKjUhnEYhX", + "secret": "63c1cb5a1c165c78c847548390a01b8bff6682a1b247373ed6887aed21dc4bb3", + "public": "02d608b2d0df929b6ab7b261f5670d53f406e27b2bcfb00e024dd256c85623b77a" + }, + { + "address": "2d1BVVuCTEhTxdKfKJnRYB1QZvAZQnzKqKb", + "secret": "c888dc692ac017a6e7937fe04612473ee816f3f35c0a5a099d13adb9af7f7571", + "public": "0219c3f2baf3665dc97ddbeabbfbda43c37f9a797c66623c2d2f991e8b39a99858" + }, + { + "address": "HqZLYWBYACeiSgC3ZugJuq9hwgmDTrDgRN", + "secret": "fd1780ef43c24ede009e36107e15903a29fc150a1581a7844370e440cc922e56", + "public": "021ebef79e0e5afce2d4d4eafb2199cd558507ca1a0ab33556c464b41b020aa5e8" + }, + { + "address": "2cXxCXNXbFx6vF7AyK4Jq4Tn8gvL1tGxjJZ", + "secret": "fb90dd91878c0a09f823b8142f71f702bbe2cec4319403b37967e17cef6aee0c", + "public": "022491a0e903acf81c62f8e13c2e342905374acc4afe48b8cf8650f269899e5bee" + }, + { + "address": "u1qW96EaRAuxaKWTJT4Uu7v1EEiiDkDbpT", + "secret": "5a3211ed2aff62a77006ae14b4af4cbece71e3932fe835cab03e7778b42684dc", + "public": "02676a8a39902a79d7057b177552fa7c99ccfeacd8d1ed5f4cef52d20909bdf067" + }, + { + "address": "K5PVBVZjJkg84f83p6A4Bu66NJPJBoVHYp", + "secret": "1214af921adc1234c210a62675b5c4b962be4708638a67b2c840b950a7da2bc3", + "public": "02ac6ece3449fcaa163302eed3e3dd9293a46457533e4b5f28c137bed59da53e4b" + }, + { + "address": "2Gg92Ak9qtPMmijPb5W6kB8M3S5J41qwJHT", + "secret": "7a9d1e7742bca2aeb4a5b1a2bdbb304293477bb14345676a27a2052e5d4ca1f8", + "public": "03eea804e1a66b4b00ab6957a03e07750b9bf716be5deec43642e20549f54af1e6" + }, + { + "address": "CmFiKdFeKorB7hsKCmjhKCw8UScJCfXx5d", + "secret": "7be562525ad05357770a38a48380a23ee8d1b9b6118ff0d36f1205d3b265727a", + "public": "0316c776b70f4ae4c158e68c3393a68b3f9bc76864c805386e93057fccde70953b" + }, + { + "address": "29tcDz14WSM58YkXMhaPJfiwUtTJDAXt2zn", + "secret": "c0bb01bbb159b0bedf44cb7ba6f8d688ba94370daa08bdaaa5b8644b57045758", + "public": "029f5edc881fd9c965626bd57608b3d39cbc03bc12891684bd3545e02e77932c98" + }, + { + "address": "23QXSzuMwpeTpdfag88sM7teo2BC2dEiqUm", + "secret": "34ba38674aef49b33ce5deee37b685e6ebec56f3e1f249c4d9ef6bb5169c775b", + "public": "0242e775c22b176ec52c313fdb2c070c34a1de75b9f5b0aaeb5c4f37858c7541e5" + }, + { + "address": "j2twcqftn4NGiaEKTG8C8EE8ThV5E854NL", + "secret": "646c729eb1df22aef8c1ae4ae5fbc493241b2beffbed8cf80fe29b59c61b5946", + "public": "03ceae5231f5e67bbc1958e45cd8e13861373bd273f8a014c031af845384c26642" + }, + { + "address": "XPNkBF8xkXbFZnwvJs2mGKVtzqbYT1sxMu", + "secret": "69e76a9701546342dc4a67b4b96d88387113cd0ed03334e76ecfb7f760539b90", + "public": "029dc62e8c891bf8996292dd7b9dbd4f35de762e82ca1e34075aa7772f3bde6340" + }, + { + "address": "2GWkZ9KZZ3tqL5b3WU7bWQBBAPTnoffrRch", + "secret": "e8b1495cd299d98bc817123bc3925aa58b43d80fc2e54f2572bce0ebcf890167", + "public": "02763f7a152c2190cabe16a1f29035c6c70b80a3636e5568fa4fdfcfe35094bfae" + }, + { + "address": "DmJHLWMHp5JNCFcpwt3JmxbywjNrne5jEi", + "secret": "8c2f4d83eafc53c13a85ff8035403c61d9e4c17f1453cf87b6be7b0dc6ef9e9b", + "public": "0371288fe9beaa9fc75a63444803969ad821550141e74712e9dbee02b21725875d" + }, + { + "address": "26jmnqf7s3FPRu2wLBqQc5KfbBKrkgtLerT", + "secret": "026406771a4e3b8baf98de0521150c91eb068422d37af2974bfc6ae0d4fdcd50", + "public": "03e47579aced7c10ad1c479e46e13e930b535ac90b628d29d89f6d02a75ce6bf80" + }, + { + "address": "2UUvsfNWQNycy6smEG8c2bMNyCh9qQ9P5EY", + "secret": "1814c9a6e012f1b4dabac7e7040adbe519e3e8071c15089b5620d091e3c26cc5", + "public": "020429f24353d0ebf7a17c9acb952df72b6364a010c69d5d98c61ccb462a65b2b5" + }, + { + "address": "haWRgQvuH4MdCSyjAUxzzunVLwNi3vgoj4", + "secret": "5ae9f61a0c40f15c178775033192c68581f7dc014a5c7f23b1f8342e853a919d", + "public": "022139698f089264428fe2e194d7ff0138e633f3b21cb39768b9c6f65dfa689eb5" + }, + { + "address": "28wV2r2XHDMdAgriHeYL9Mq1W7TmJufBwp9", + "secret": "bc37955215e69841e42c9881e284fe53eb090598f3f511fed533e3e82478e83a", + "public": "03c2c2c3a698da61e8a3d95744326e1015c1842aa84a091565cd3b235b1d55a16d" + }, + { + "address": "28WhxGF5tSuvWF4D9tSJqp4Tz3dAynY4rkx", + "secret": "c7666cc0687a4cf835972c65c58f5a395beca834eeb8c7e0db1e87de1ee5ea43", + "public": "03c2ed06a2d7c5ab80d35d0c792ef4b3c9630a50ebb6c23aa886d4981437c79389" + }, + { + "address": "etcmKzzd4K8NT6n8aTiMtUkNxFc8sz8vyx", + "secret": "a3fd517ccfa8ab4623d02331e818c4d713e26f7cc7d18b2a7e1125ce3e405335", + "public": "02e1438126acabe6a4c2eaff465a5b0899b4cf66fe762f92434d6ad91b44a3ae3a" + }, + { + "address": "F4YnpYwedDV3DSuTVgAqN2F7mikJkRhcTP", + "secret": "efa78a590bd91f5b51964d3a4537abd76f03c41d93e2f68923df89662f52d32f", + "public": "03b05cc039402bd180818546c50dce27f21cc34f85d0f0a108fdadf8a6aa670d82" + }, + { + "address": "2c6N2MabsomEg3JKDkch4Jpz29bsNU2chWp", + "secret": "f0873cd7a110412e885761425372f29c72555e50fbba2af0cbdc2745f60717b6", + "public": "030da68239a9b2f59b09726846321a3ab9268912b01802743098721229b4e36c90" + }, + { + "address": "23LApPWq6hQYCe6G4cgaPnYVS8pAX84FBaR", + "secret": "52aa35161bc67fbeb4db60e92872d737679da25a4fb65331f8ff49cebe9ec56f", + "public": "03038fde27b7f8ef7554632abf454ddb8e0dc428785851afb742599a4a69371822" + }, + { + "address": "xFw9ZDCbQFG7DpRiQPTzb2WNRHqrkj7RGQ", + "secret": "eca2b0b5b6b1d84723b01384112f25786c5c8f3445c941070a71cc76aa95ba88", + "public": "039b957325b2c35cd8734b8d1cf83facc02e497ad886940350a68e2f480768b0e5" + }, + { + "address": "268GpgoU9Hv289M8Hse1akwZde5ag9uj53x", + "secret": "2b5b22635f3aacc25b8e49aeef42bd6d64a02417a80e9ec724a68cb219a7c0a2", + "public": "02d8e1b7b6ceee82a2ed233139abca00cf638c8f2398d477f0dd06b4660e294f45" + }, + { + "address": "2FCo3HNQxWgh5K56mfG2RwLAvzagB6d1jah", + "secret": "4d9df01b27be68b30693b07335823009231b9da913c91b8e5d8b8d4bf0f52f5b", + "public": "0313287d7d4684f66fe587df1543766dd415c9086e8c95b8daba9242d0853b164a" + }, + { + "address": "2MpDqMjjZ5yULWt4CVDCxdPQGJVuGhaajfw", + "secret": "f54df30c69b3319ed9b23ab5a6b8f304bde489876d94a321929551d0a8308519", + "public": "02b67fe14d0c9341f3ac2aee4469517c8afe0a7e4377bd17a23016a08489f4a9a5" + }, + { + "address": "2Xz7wn9Bxb2tszHxPDNgewe4FkxQk4SccBT", + "secret": "2c1a5fd49bb16649b9a928dcdb0d3c1ecd6846a53cc59d1456883b7669dc89fb", + "public": "03c627ab67dfafd83933b644c17154cb3952fefd97cc88d80b4710c0e90f4175fd" + }, + { + "address": "sGEef8vBoVE4EroM3Zt1f1isXbpyEkQDMb", + "secret": "8a630f2682bd44c03490b6387bae44e5842af0b6b08b2b1c0a4549e73342fb53", + "public": "029d3349abd73409c2ab4ca0d69159dd09f3648abd85128f559a422a61499cf46d" + }, + { + "address": "HxKmR2d1tRHRXeAQ4tL7ekbi3MRfyHVWow", + "secret": "3d7de091a784479b3af9ca73d8dcb8646b055b33faf8ee18b88a188a6048bd40", + "public": "03fa8f11fc56eab51d0f1658b8476afda73eae0e5d4adb3af4e721fcbd732ca25f" + }, + { + "address": "2eD58A32HBAUhHVfCgF9udzJRdswTuuG5mi", + "secret": "6d6790b0807b0dc719eddfe623b1ea711075609d3be17609731f5d9ed05d6365", + "public": "021a69827e26d0c81e1fd1a690f84d94fc183bfc066e8aea1f0485ce1fffb4faa6" + }, + { + "address": "2e2Mr8MjvUHmMSf4DayyoVqgSerZyFsK79W", + "secret": "f09b7f763a7cbbcf01a63a81dd0a60fa014e0a96ff609dc544b3d003d0f82b70", + "public": "02746c6784634fb65f5d0b6a73a023464c47a4232831b548a57b5d4039a177388d" + }, + { + "address": "27JVEagjW413PVigf6ALjqNCgm99xS5jj25", + "secret": "e4d69a0e022f119941ece60c0b0fe8f36d93f7f7115fba75ba6c3c646bc0b804", + "public": "039ad4b9726873f1ddd35ee87cd49aafd1734cea699ed9feb3c5fcc6f5a20ab237" + }, + { + "address": "d2LgfFBTFTwxP7PyzHwpqhHKc4BLPbA5cv", + "secret": "fc46fbbfa893010b6b3b7a82aeb52290d58f6d14d25a68232f0143b99eb95966", + "public": "0248ef5a23acdf96f41e3a3f1b796baa6e4bcd303f223f92b34025f11f3875117e" + }, + { + "address": "DYnuqgGZsGk49sU7c8SFqCezEzeZMnYT6h", + "secret": "dc7b04fe3530713ecb0bc55ad66236040f3df7962d0f7764184059a5300de5ae", + "public": "023240e626ea68612bf3a722df5cf567052e807a555b63eafd3c3fdabab1aa60fc" + }, + { + "address": "2XpYsb37q5XDQHvtK19wZbsTrNzkH7BVc21", + "secret": "b2d00fb19032ca52ab73f6308248e3fbdaa6e747a5f00af9cdb4fa914d76e19e", + "public": "021a7d5d53479b596f9510b9fa23e682dc02930e715550cf70ef9844c62a9f7944" + }, + { + "address": "ucW7K9gf3qU3RN2b4i6bGxFYrL3woqAGgb", + "secret": "9ad70994a257aee7ada71f7f93ce52973febe7cbeeeaac7ebdbdf1e6c481dfec", + "public": "02ea5e47e063bdf92c93e0bcfa3ce25fba9f4df0c28ff008c6b17737bd0e994292" + }, + { + "address": "25fbmTF3vThUywruNQqVXE45sViGFJREY18", + "secret": "f62247d6d0644814ab52dd187d34a409d7e4fd92cf84525adb6703a1d85aad7f", + "public": "021f05d696dedef4f9739c6a7a258e49d62cef2d53c23a37a0a3589f95e6cf7b02" + }, + { + "address": "xYMp4hezFHZQDDyRZeAdv12fwaCiJ2vMdY", + "secret": "6b4ab66f5d8913678ba852718f6ea0e663a6433f7f3d748966b4063c3a6177d9", + "public": "0302f82272e3d4ab41c5f2d90af3d457f1317ec703cb28e10f657f34c4b702142d" + }, + { + "address": "2QtyuU4brhrHAfUTKba4nRTMzGk1tEXruVM", + "secret": "6e9aa8ecbedcefbbae841c8b9abf7c72d047ee02d02ab3de3235e02d24d9bcd9", + "public": "03eb4850fb800b164540382b34d7d92c07f054383c4c5e8cd6da2b2d721fb27c42" + }, + { + "address": "2kvThk3SQYaNSNN5HrjPTbTFM74vXj3T65T", + "secret": "bdf9c95a73abeb67f87cb4cd628ffe1c8f11efb6538feca26b50bd8697b6df2e", + "public": "02d4cec5d6667aee1afb4c077f34031b05879ab4246decd0eed08218a8bfca1778" + }, + { + "address": "gEnn3tL7KwqmVuXQgndgbdxKesw8XLwMJ4", + "secret": "e98a343f67ba8e50dcdd8d23a32bb4fca328fc6c3ed3dfb21646a48e396c0c08", + "public": "03a69b41e972c2735d740f1c1e96b7bfcc9c20d157c3fd6981170f5171fdb0a5de" + }, + { + "address": "QhJj9DnTETkK6BKN5hX8CNxoiDrpRvp9p8", + "secret": "e4e661663ed2750e8abdb0c6a66dd61bf3883155212c83e0d6e2ebfaf47c4138", + "public": "02e8d9982798c5f006a0adcbef9ec806a894bc88de7adce0b7839a197a437fc417" + }, + { + "address": "occqAdzZCGaz6ZHLmyW1FCSrRcL5Am49Pv", + "secret": "20b851a7b0615ceade0f4777e0d58b0f6f8531d1e367a4523f8f182d534bfe55", + "public": "03bea4e1361b538fe990a04555d9dd02fbf7f7b6a7e04fffa80914a5b1f5b9d74d" + }, + { + "address": "22YUVaU84KrbVogn9sjpATTEVH4KsVWdmsh", + "secret": "d75b07572d7bbd6aed033392cef11e46ea53b07a309e10a88cb13b7dc7b895fd", + "public": "0235ac4849583dde931ab62f283ca3b6788acfbcdc9118f95e8e70b9235b0f20f6" + }, + { + "address": "67Bvi6FjvJrmtVs8knw5jrhbB9CHbydGmb", + "secret": "f1ab28b4d9a4e7154200f9e97021b505680f2b6aff67b84556d3595f24b3526b", + "public": "03658ae2dfaf17d476e66d3fc37c60589a358dc2cee8a0da100745672266c6f174" + }, + { + "address": "234EUS3L1CSktQjv7Gew3XyuiWfuyYsW7zk", + "secret": "34d2973733c9907551bd889bf373e43a2e8c5b725c047f30fd280c11fc5022a0", + "public": "03f26a30354f239883057cb42ef7c332ab02509d0cf65abf0a4a62023a8d649ecc" + }, + { + "address": "rh4HV53HPjP5EVzovH1N3MpS56xEFHBWR9", + "secret": "1ea8940d0b18999efd6f6cf7d59f40372732e10abd9f08d2bdf366fe3daddbd4", + "public": "03eaf9fc065239fba9e5fc042b250988c52aa6ac9e5775d4719004b20b431297cb" + }, + { + "address": "2YzJk1MuPpnAvKXYMTyRM1VsgwrvsdxfjT", + "secret": "bfc39b678b8ab0c31baf501d510548b7e88f1a2c4c0d61a56d99ac334eb4420a", + "public": "02e73b0cb3d96c20b4611e74cdb81501f5dc8aec50784e021cee7e3a3599eb8de4" + }, + { + "address": "2EkVeCkNTSD7QEaz88g6tL72174si87xSVL", + "secret": "4412a0ad23f28be3735698d4a086e9c285a5f6ae1651a95b526f3bed320b3de1", + "public": "02fbf462883546a2e516aa22f1f5f06c89a6a3b7cde80b59e7ef39bfcb94a78e50" + }, + { + "address": "2L8NW3x6F9fnMVgosWWdEcXmdkt5Sfhkyip", + "secret": "da5743dd6f09bd139c9c6e2105843b19de9a3393a7549c79edf91532387bd6ad", + "public": "03fd90e6f33e338fa4e9f6111396585c124b83d6b390b39f92d072bdd862831d7e" + }, + { + "address": "22ZB5dM2NVyz13YiuwvW9X7uKABoEbHSwYN", + "secret": "910176e477b73d66007ae2f5d44a7bc71fc21891ad1bbfd988d8badcfb1fdcab", + "public": "036d9ba5504a7fa6f55577ee34b5e8f2e989aab504dca6ba265d26e6518f5fc5a6" + }, + { + "address": "2RcNdAmomK5hPkrzEagpBPbJKPG1YhfqBZX", + "secret": "8b656b8a83350a408db0258f81c1fff913c6caf10fcb53049be6cdf5f6850ccd", + "public": "03e0e7fd4a33c7e2af83e476ad5d78f5fa91cd8f16c5f3a3904875444f76b038de" + }, + { + "address": "mECP2omm6nNKCRbUUEA3ngU83gBtbG2p53", + "secret": "3306fa898776691df724ca8b72dd5ebebe9a166a9f107a281b7e83e0bcf34d8c", + "public": "034a9096445d1401a979fc821bdefa15f44df8dc02ae88e051c6a7b45a577dfc64" + }, + { + "address": "22nsdEVSxa5aDvpFPeyTz9qpcc2h8PLzRt4", + "secret": "e6fe5bdf75d6e4f7aaea16388cf2450fc1839b088c415bd3f7b9a65958c08f18", + "public": "03349d2964d9d6dada8ae6934b76145cc4d92bc43a41edb55d548a7da36530ed2a" + }, + { + "address": "2gadfsU9qYJSKcjYSbYGjrRXffK9grr74T6", + "secret": "56d995f35b80a3046af165ad9dc0a507ecdafa9a947403ceb63c79a3084be6ba", + "public": "034010692d87e47df712c37a3490f096d4323b0148d71eb06756d1153e47de9558" + }, + { + "address": "24krePYfSFjn21YTDA2e5FAWZefu8qE8Z3R", + "secret": "493102a3bbcfb4178ec7c1072631ce03f7f3e1d07d5876f07c3902cddea3e5fc", + "public": "03253e2a852b5aa4f8fe11d5d32cb8364dcd5460665935b47138ab945a1b7550a7" + }, + { + "address": "rcqLsBcsWXHodbDaCLHcjQJKSJ8kD1q4Ff", + "secret": "cc8d395693f126bdbdabb3622933d1c0bc148a2d929bc30e66e22f07421f1592", + "public": "027558c499a52a96043a001f8999a6cd38a3fd2527fccf28d12edbc90fb7641aee" + }, + { + "address": "wvFzxVWV9xGs2ppokV3wmpy2C9BcUe3DZy", + "secret": "e8e09e51b8add90be81a392196c76930e876c97cb8b1df408eec8df13c215b19", + "public": "028e99b6990ae84d590aa30acffe4b9a1fe5033cbbdbcd9971022c6e249b43d98a" + }, + { + "address": "21124BfJReTshKP7zKthRyLAkjSnvbo3JL2", + "secret": "f452d999bbfbe7da6cf10d8e602a09543ed716167649dbc6b260f218d08d0a33", + "public": "0323535070dbdc40d0e3e5ce3f1f75af79922dafed3f8a3d102fbc891b9be3efaf" + }, + { + "address": "KKqLNqWvbsMZ5sYKAZpXLZm39jZ8zUamy4", + "secret": "0fd7f48cc79b6252dcbd7a24d5f3e4099acfd16368f8f2e7c7db356ad1488284", + "public": "02cc8fbdac02a1050df58a28793247184b810bceeda25b7e2879ccc4b695cdfd20" + }, + { + "address": "2afkMQHbNM5EGuVPt69yjjzxfPsih4hzfAt", + "secret": "7ef7f98aa685734f83c7faeae4cb687b246c21998d29961d5899757814a1c28b", + "public": "0321f6a774876011ce97bb51f15a35ef2aedee2bf9aa9e5a2be3193d7bdd4020df" + }, + { + "address": "QqrvnPdiJm4qg2PZuhAEYWCHo4s9VRzQ1d", + "secret": "3ccaf169d3c906c5475f0d2ed148a6a0bedb23b88df3a16f485fb7a27c61f465", + "public": "031d90572ce93b645673c299b4d3540fcb11cac5137356ebff65f29e47e75bf921" + }, + { + "address": "26oEbwGTv2tGemBwWvbANw5z9oW1odHLKU", + "secret": "cbdfa24088c30d9c07bf634e84a739773b79bfadea68db57e7e690cdce00395d", + "public": "0320275a12cbc4888b9b0390de849c2bf6811a128212e43c2359fcecd2e5bc3fd0" + }, + { + "address": "2bNwEBFte5ezxWk4hVB2gSDzh3YTacKYxKo", + "secret": "a216d679e012a931b34ddf4716f4d5184073afd962f3ffd293cdd1974eb5e919", + "public": "03fca51ddac76f423fc3863eeb7681a564f75c16026da6bafa50096c6748bf4dce" + }, + { + "address": "2M9Ms8uouj4wVZSd9sJXNFMYMDCBrLQPwNj", + "secret": "2e3757e0b1c32e5c930c27f9ef8a60f8eaf934b063cdfb788370f0f4a0b12100", + "public": "03022caa31c325e86fe4f9f28b7a3f4474587722821c7e0384a7e05b7aa6a8e72e" + }, + { + "address": "ZVD9KiPi2BjuXvqa2uVSUz9UVvyt6bCin7", + "secret": "16d14664cb9c65122d76a74d8fcdf542f5a4badc4e63da12f9a2e21a49364142", + "public": "027044e66f79defc67e06bcd5aab6921a985c1a78e5f9c965b2b8b576aec5be7a4" + }, + { + "address": "EWFzgYgdjU6CVtPXyP4WrwMondHoPX9VSi", + "secret": "bf6f0cf4e0786300a07294f18d9c0619ee77e224274ddb0b4c74ef9b5ae12bec", + "public": "02c402d13f5bda635669b0b384e2a7f937ea3668d14c6667472fbe974027f338fd" + }, + { + "address": "frgeQ5LGCQiJdqbBPmzJrvHf7osA95iCN", + "secret": "1b533323661fc93337c9a09546613f13f10c0dedb756a935791336b1c847a012", + "public": "022dc106b9222bd5779688fbc75010ee6f24d9491a7db1dea0bfad969d27080483" + }, + { + "address": "2Ygc9Y4SWt6pErg3smALUqb4nxe8y3Aa5SV", + "secret": "5aff64e7ee0c57c08b80c66d91c5db5d0892a7a182eaaf9fb775eb77d128e731", + "public": "0349af83b3db967df7319957aad339eeb85550e57835f4acc07293e2eb353de8de" + }, + { + "address": "VZSQ6ji6oeLZgxd5Nzzt67JPUFzm9oXa7D", + "secret": "bdcf7de5460ecaca02d4e485892a4858ad4c4a7a17d57fdfa8f311a0a3b386c2", + "public": "0335f1138f086f04fba73c261ddbc263f9187454b9dcaaac91d2f628ff64e2d7fb" + }, + { + "address": "2UtPuf7UmE1RMaKaRnQnsUmHsHmTyv2GCqd", + "secret": "33f62c9b2d5984aaa7df578a2d8109a010f400b522d95294dad79d0579b69790", + "public": "032c2ca487f68198688cff80a29f59ff68dcd659082b8b28e850343a810702b6d0" + }, + { + "address": "CQNjG6VeT7XLoFd2DHxj7Bdu1ofdkvf9Hz", + "secret": "0d323574b86731c76d23912641b4272aad76c610641794f6008de85245d90501", + "public": "03cdb086cb3d513a001501591289093bff66c0e4694390b120c9997af573789fee" + }, + { + "address": "cFhdRpgfDXFD1d9tzSGTDxVkyexiHHbscT", + "secret": "04b1bc8cc808c62c32ff387b2cfae435b3fa48e6775a98cf564e5c77d58c4d80", + "public": "03214b11698b52fa5efea3549a08c69afad4d14d2e1949a267f29a7486f40d1662" + }, + { + "address": "EPqkNxDnvQorZaKoEtjGcGKURNcywr3dny", + "secret": "de6c09ad0b43723096aa1b5ad133a194954793f2005066d2f3f7f629bbd14429", + "public": "0285584deec2240b44f3ba9fa9380b39aed1582896e38fe0c8254bdb1e14bd7f0a" + }, + { + "address": "UhCE6NpRtm1Bd44MkPgVKToavRRLqoJbDr", + "secret": "3fb29d455a7d5917a88f001aec8bb44ea20d17d7a68019b4e29320cb1bcd4561", + "public": "025c453cb7b8c4470678976e1e08baf10852d9b28a5a21b55376766f302af15d32" + }, + { + "address": "j6rcr86aiDCMtHj57zQt3f4MkG9zoscywy", + "secret": "1e05688f0796d4bc347a92bac8748bca26fc4cf749836672d240fcae8b8ac467", + "public": "038b8875d803161483165346766f9a1bdea5b123b38d7705538d6a1d8d5cdf54c8" + }, + { + "address": "G8unj5XY9mKMjPZ66KNrADKojueP3FxpFV", + "secret": "4eb017d642be8864dd5c54d0e81d4804fd588361fa14f31b099cb5211a0b14e4", + "public": "03c0b736889e8cfa84b9fbbe9053f508a5cfe44c6148e0b575cf0d136204adc9c0" + }, + { + "address": "iEY1wongyqqfMMCwwKa6yKnrBPzWRv6Cjd", + "secret": "205d5d8cac7ef46d7049a8e360b5db56690c939178ca1cd46db8a686d9f2ca81", + "public": "026953569b00b6d1545899246f12bbace2fd78f568a004d0d08ac61525c0eb8e10" + }, + { + "address": "8MofVFHLEyfDbybjEuj8Av3tvtAHm7aB6i", + "secret": "b88a93973a8a62453a83c10e00817112922471d2270d1cb0c8490fffa98ff4a5", + "public": "034abbe2d59395e30fa5e769961bc54beaa08598370b3e85193a9e200d8b18213c" + }, + { + "address": "LokNHE2zyrZgjpXXWrWY5L5BNsXR6qJR6D", + "secret": "fab1c44ee39d0839860710e49df3f47b35d48465573c0251bd844fd90a6366f2", + "public": "0251740aa6f68cb3290cb0d72db8d9c03447bc747da7f272847417cc8e40330e9c" + }, + { + "address": "NXV5XL7rggQ8GAPDjJ62jpXkYGJ8VAXSba", + "secret": "631b5a1fd96e7a99ebe33d4788a8d6e45a6d4b116b11bac53aadd116f39c4c11", + "public": "03670833bc074d7009dfcd1a61cf5b63a08ea0bd58f0f295121b8d5825d897dba8" + }, + { + "address": "frEtjtXJoKyuyq49akz1Zx3yLMpni5gYh2", + "secret": "8d50af61f21107f572606d21c35e453f997ec17e941f2b7afbc051acb36283f2", + "public": "038daf6200f2ca021673a6915e57b4c424ab2ac1c1b749db8dc059607d2092b1e3" + }, + { + "address": "2Fp1fioauYwyMikcL9VphTrG72ZBwP21WF8", + "secret": "af01bdd50bf4187bc8fd855962fc0a68ba55b3950d9abb192ec7b5179638e045", + "public": "02619d27f77c97b36ce895a9ad47339ef69a9f02a6953379d077d078ba7bc6535b" + }, + { + "address": "PeoTufGJDpATgy7y5fKUkM9xoL8tzk4LUA", + "secret": "f8c45f4c7034fff54f2c8f2f2b8f9ea356b299c73a66a9979832ab7e162ecf59", + "public": "03f4f3d208cea7bb257b6e6e84def31a26b22a2375c9ed50e0e02041ece9b09f50" + }, + { + "address": "2avexrXAe1yFcmEaFSMpp4E6bkHDyonTg8i", + "secret": "4f62ec6881c21bc8ec63676b124ce103a59d2acfac567827d29d9f3bd8015562", + "public": "03e17e14a0c2691b025b2a07d63ac21fb28451db69d8e18904ff8161ca6bd93f68" + }, + { + "address": "pwNab8Wa7Sag9Cg2FmEDF56izp8mD7kzQw", + "secret": "fcdf5e499b22ec63290dc2c680f87745aea192abf5aaef858c007e946ac3002b", + "public": "02ad66e1ecc629d989a0c80f81997906f5465ab1d4ff908f02f23e8a96cfe00f50" + }, + { + "address": "scN5GgoA6epthFqoXEKc2Y5QZz8jyT9FNf", + "secret": "24decfe6e2e505c5fb7a9a7a6608587883554ed81bfdc581921525a5a23f6305", + "public": "0344f0bedc327fa09c9686235ea3b2139c07259497264c2b4461cedda3f55399fb" + }, + { + "address": "SEAR4hqpuvGLPVoGLpd5U61aoYHUc6jNqG", + "secret": "b5093a711d22263967e5ce2b2aad751e6742cb34ab51c8d517a328cb406cf801", + "public": "02b5fd3eb5a00f7bb172fab386af63c965e72c1874520fcf2121bb3bb96988f68b" + }, + { + "address": "2agxCQqyVw2Ne1n4CtBboaWQ3YjmhXaocdh", + "secret": "ae897238f5b80a8312437b2335442d83c695feb68b44482f5bc2684079ca40a1", + "public": "0294e9cf3b98d6c5386dee498da50e2a0fd28244d9edc82aa0aa3212c4c0ef06a7" + }, + { + "address": "XoHShPLTkcUeFqiwSEfRgvJnHHKhNYAHc6", + "secret": "bcc65eae057e0fcf3e423255a0f5ae2ce146919bb707dfd4bd3fb762fd69d78e", + "public": "03c740e434cf3614b53c2788274f7a356905a8a1a27725d6ae9e67cb1a006027cf" + }, + { + "address": "2hGNn3KRW1Amg5xWEW8HXDW9pNhdyvp3Bxa", + "secret": "7b39b68fc581a9bd7d759a74dbc1d7beab35e0a64660372ea1d598ced36d9ee8", + "public": "02a8f5bdc94366497ffbdf88fdc423b51718947a0a523ec63547f88b1c10c0382e" + }, + { + "address": "26T57mqYiFif4KBVW3N9w16RGfSg8VP9FfW", + "secret": "c71f7cabea5b39352997f647f1481710c13ae1a29a06f01480af3cab1e6b2f8b", + "public": "032f0a83a1826005975aad6e23c87088000bef7fafd11a52e1dadfae590e859a0e" + }, + { + "address": "2eCjgi3o6eTNtj5fiTs9Lu7CW5WMXWZhfXN", + "secret": "8d6142ee69ff6eba19bcd25fb16f1c781a93d404385dd9b90e85a4881187797e", + "public": "0339f788c880d61c3f6fcc23e0e90a1c18f79460533f392389650151314d59058b" + }, + { + "address": "22a6YptFqi4MjqsDjFp2L3d5ZGV9NDuczfh", + "secret": "865f1a3d7d1a95b54627dcf64e3677cca758a7cf35aab7389cb2eba2ec6607d9", + "public": "0266e102621ee4087707692aca8cb858cb51ecbcb5579b99cb2725749674394766" + }, + { + "address": "2Tzi3mCkXk2h3GshRuw89zcku2WbvZiYXmf", + "secret": "1a4167d782b49faacbb3c89994bad131ce61850641f79e52e4246bb1a05bbce2", + "public": "02632b4a6bb063f28ddf1034ede2e900194dc1d4d709c33672fd33070291f53d3c" + }, + { + "address": "9YRxCxLexL89oe8RV2SFCZy4AQaBYXAsLf", + "secret": "253249e9c22d9c28a110be2d8be3acbdc6a3d04bd001a07aa6759a3be2a4c591", + "public": "02548f69543f4622659ee0ef77db503e734112813f70d3bfe6b4223b395a74364e" + }, + { + "address": "EXAHo74kkrdfFnFTEU6zKSMubBYyY6ZmWL", + "secret": "1a5f08c53c600ab5a52e948bbbe77cce9ad52e90aa14d16d78938fbacebc2c4b", + "public": "02cfb2fcf1ff02fe24d210df86d12cbbdc81429eea6613824c031a8da77db2065e" + }, + { + "address": "2RRBNvJSxReWxHRTqxHoUs8gMuhkBAvQaVM", + "secret": "4ad2c6899bdad0d7a8b36ae0ba0fa22cf6713fe48a454327ebafd2a2cee2bf57", + "public": "02835fe7180f085ed98bbb305c84470d585a391a9b53cccb344f26ab0591efe186" + }, + { + "address": "DLLAzoNAdSqmjoeHY1Zs4C8cF5TsVrhxMw", + "secret": "436f14e457a94af30f1064a3ebe4b925feb0bb08728b9b37ce6e3fb2f048e6d3", + "public": "03e6c236453466b1c7e7ec6edb05d8ce526f9b34ed696526e39cfa0e7974289043" + }, + { + "address": "2g7WeX2ieVcucWtFhqVouh2U34VT7jBTKvY", + "secret": "6c147b748cde69b07054d13132180dff1e2968ec311727c3d5b430074abcc53d", + "public": "02515f6a52401a03498092aa16c0fe94725030545b987e2572c5700e91c7dbb7a1" + }, + { + "address": "27rnygUUorp69QkwCHqzy5WJMc1hnxoxN6n", + "secret": "2f0606e012fa536aff11702f3fc192550abbea7ca580f65ff44013f6e6d2ee62", + "public": "02ddafc8f9963dab80b74c602d49a42f9ae8fbee1ebe9c10d72ef00284c563527f" + }, + { + "address": "2RcdcDLnqB9pvNPy15MaqcSNjFjZ3ToYQt5", + "secret": "0fd61a8d1265e0479293983b5b6628867fd99f965179e5d51901c602ef2c8671", + "public": "03b9420f1acadb53799c7bcc7693d1024e45b66998821c957abf57def534c82d3e" + }, + { + "address": "2L4E53nxkgMtdEJMVEetmEqN8VsH8bvN3qL", + "secret": "5bcf2fd07fa946483b0bff30d0008398e584ff001093e588c99d4fb4303a6654", + "public": "02cc1fd871d6ad834a8c7997c38b1101b7bb781ca886add7ff39032d7e11774031" + }, + { + "address": "nasKi6MWvCCyupab4SoScbhxJDYyzS6NzC", + "secret": "9c3dce71afa6edd50d843534d0d5bc755c36e0609ebb4d42c14f144d67b57867", + "public": "033b9a12e3ac267d17c0ad1fcbd0e6204d57f021cdc3e7d63a186fb6b46c9a9344" + }, + { + "address": "JtrbAukxBVGesZgcuU46nqwYnMJxSvS69w", + "secret": "f6f2398e745d764547fae8d939cc137b21f0788f4bcc2b18aaa98ce9b5bfe3e6", + "public": "028a5936ce42aae51a92e89ed3d000b81e186892e3ab72da8ea02f36e1a09656d9" + }, + { + "address": "CmJZiinFtNVFsFGCo4ad5Trup7DBmehmB1", + "secret": "deb89ee1539b6cb4ed4a3ac1153f6893565b4279d9aec526651e712a02bd29e4", + "public": "03b3ff7fb687b17b45178138fbce9bba96f1def5781564adb5964bb5c1d292f2da" + }, + { + "address": "28t9se5L397uuatoiv2y4q65ZB73C2dxRRw", + "secret": "ac33995bc96e8ff83a12a49b22673484f8c3f742e2a9be2ccb74739d603e023e", + "public": "02863968a7c079c5ec060dea520c87396a60b840d7373cb6ea1a1c250f8e273031" + }, + { + "address": "2bjyscrwVN6nSWxM8L1yhavTY5326GUgdMU", + "secret": "54faa9a7a42f6159ddd56d8edf97acf1004129786d6e7beb88e0c7471ca32c67", + "public": "023f441a065b9026c6574ab08869d322d1dee79cae99f7bc1b71b98db92fab567d" + }, + { + "address": "2fmezc3WLhTCwfTz5AG9C9s7YtmGaisLSLz", + "secret": "c2c7d6d6cda61f543af9793d80508bc62b19896216039ef946d8ba68fcf84798", + "public": "0290d8e460b751e0cafe38855a130effeb6f090a0213374b537d6759c617ff4c68" + }, + { + "address": "2PwxALhCSc4XrgRCMknLxFWMoRwc8WYF2cr", + "secret": "c7c3b8f070204163dac5aa2b4318181540662a63bd4f0ba14906e44a6337fbd8", + "public": "028af1aceed2ebe9cf27ff522fecf8136c066d6c6c3af1e4030c8f9e124ef71602" + }, + { + "address": "BQFdx54A54kcGLx15CGi6Ffnaz8iCTksfX", + "secret": "f7ec3ed86093aebef546cb068c0aff22079f84f388d16399ae7410d171b8a095", + "public": "020310b0d4934d5f28db1e6db364392d3e71cd6e31b95a94d4bd5cc23b7d9e8c41" + }, + { + "address": "UNEV8oNtzoUHHTRuYSZs4uMCEYZFk8Bob5", + "secret": "8e0c7f3926a867b0bfdd1d1b62ed3462f9e564040f013039ee4e94c8b7519512", + "public": "02450766db9e74917020297e0e3d509a584390be68fed4ee488362734f075f38d1" + }, + { + "address": "2ZMV9ShQLokk1HTUVhqzR8J9tABBxnzASnA", + "secret": "ab2059ce17a55d13e96137be6838b108105d561e6a888116550d0fbfbe8d1e31", + "public": "02d21a40b09a09dbf8947f67317f2262d2c72fbf0a96c8f143c65a09355a3b96d1" + }, + { + "address": "KeykKcYHZy4WKXXsEor6o9PuUJFTUVXbz4", + "secret": "d7a282eeb2a7b1182977013d3583fa13e80d955be8ce2cdd2125635812a79a73", + "public": "022d38ed4c43431b5ac35352b2aa5291c3754075a232b694a6e06740be7f2353c7" + }, + { + "address": "irKDBpNkRF59SEC4aeJ3uBnGfsX6T991dx", + "secret": "be96ac4a73e5aedd538eb1c38bdd31ecd4600b1f4987bf64128bede52820f02a", + "public": "0233d41add351854a597a7fd80ba47c5124ae8d926c3c24b531600c2e4f9688275" + }, + { + "address": "2LWEVDkftAQjJBgaW8MPPTrijdXyH4wGjEn", + "secret": "f6639cb6b9a3ae2cabfe37404110cb17a0787fd92a109258a6fa19b183003764", + "public": "0381f5570ce75b62b655e9aecbb02bf5376adba0e91f21e893ea92e21c8a50bc2a" + }, + { + "address": "u7uJsj6EsCd7Z57jQnGQNFAis2YiyoeuuM", + "secret": "034d44196c5ee1eded33599fb1bc8cf205b544f86e8947afbf49a868d081206b", + "public": "0245a408560b1f747c86b47033b083729f5785ef6b00cb37fba401ddc4545384da" + }, + { + "address": "EuuHKQUFGgHN68T6VkssAwNxP4e1htMEAU", + "secret": "cda4c7df62d18d8ce0141c62fb52f05c7a987706ccbc26fdc8a900836711772f", + "public": "02894d1a4b8e222e1ae067c20567475322f925dfeca1405e2e30b845e3ef047756" + }, + { + "address": "TFVXLJKgoGENxDPfiNn9h1eXWLbER71Dgn", + "secret": "0e7d7e87f806b6d5e1063318268fc1df380d1e0aa13499d2b7e6034b89e94943", + "public": "033e8aba7f8c579c7164aa2369c62a3cbcb24bd0b49bf5339841d3c42048405a38" + }, + { + "address": "2bFS9uBumCkSkFhbaV8q3dYnNxx7725JVDV", + "secret": "28672a34711c4d818c8feb835dd2198e0dda20d4dffeaf78dcdffef05c991370", + "public": "03c88bdfb32a4c8932ef3b06d066495700cc5161886f6350f7dd46469b56ac3ca2" + }, + { + "address": "a3QUbyUgZaXcZtZPFm9ChWNt5DjYgo2wKH", + "secret": "dc644efb58c344e4f999080d7d8847ff159710c85d0726b80036c47e336a0ec0", + "public": "03494aee0e1406ba2ebf85de3d3fa5cd19877e81720be24140d9d703eadd14d881" + }, + { + "address": "2NZGkbUWx7CHzJ6LHTf7KpcDJNbMmM7PG6z", + "secret": "5d4fa6c7fdf51ef26a9095245dfe6ad181f5284d338cb5b008e38a6e07399b68", + "public": "035492a39daa2b6abd7530b5846e06fce0ff45f69f62ac722f0e315a092d377923" + }, + { + "address": "2daa3YQCFEXFqwZ7HwrfhSQXgmDucjkKC2R", + "secret": "a9d6dc77d7e4633075d0581eb43cb6266bedba600c62a98fd2a6349b04b98ef2", + "public": "03d83767f81104accce7893437d33f613567d85ddede6b88c0973ee8ec672fa7f0" + }, + { + "address": "2HrVw78xZrjDMz8YahiRXVgghRJNYxvoMv7", + "secret": "65a75bf3ea1df83c1d56297990620ef347b6671e4530991a15a4a0abc4b91c53", + "public": "0306ca67b3fd9b45f14865afe7405dd8810d81ef0fb27e11d4a98862565ea54eda" + }, + { + "address": "isQzfULaF8qsZwEjVqttXC5p3CwWdVrsEm", + "secret": "f421529f43cf5de54382f390fb7d4118f7151bf2b114eec6205d9fe557d07024", + "public": "02727f6d688ffc1afb11202b85b37e35478b5619afde09081620018f485970cae9" + }, + { + "address": "bBHE5LpRBZEaY7upVZrk9THomitAmUQ7pw", + "secret": "22f23e4560ace182ebb9e4c809236e3c37e636d02cbe41dc7f57f1b0d53c3034", + "public": "03457a68ca3c395a1615bd7b41db4338b1648c076fe008973377252f23d538637e" + }, + { + "address": "R2Tmy6uLAyyBVkV9c5EzLvx7dn7QWkgRCp", + "secret": "5f6cd6f06cc6c5658f2212002bb31984e98edce455cae435b0abd2dd68549c95", + "public": "03a51c801274b5774032661bbfb691d832da2ecf19d77a6be035a4e0080b618d8e" + }, + { + "address": "2FbLk1kx2pqoKJifFNVKYYdhxKQEJLqBa4p", + "secret": "bd3591b1afd596cdceb604d4c8755faf9effaa8e6a42637066db28b22bfbfd7e", + "public": "03717c0ad9214a4e590fc0379be9696c4168443458e75a3552cb1cce9f40e5bae4" + }, + { + "address": "D4F4Vo5xPLu4YX1sTaKzQfUGnmGk3yCUb3", + "secret": "03e60b222f3d7571669e7f943e85d08a65693c8d2054da755149802a69307411", + "public": "03078a2be8905c0c4bd5bb15bc52388f90c996f7e59c8a0351dcba8876e0102c55" + }, + { + "address": "uZKWALKm9AYC3GQxxC1T5i4SZTtDaQ3ov4", + "secret": "be694dcc0b7c37ca2251b509dec610b1501ea16cf2dc7e48fb44953eb881373b", + "public": "028fb5be4d87deb707259c4fd9fba441f3f89f171c9b5b39cc7cdb3aa694694bec" + }, + { + "address": "2Bg7DduvSuHQQodT8rDm3zgubnLApfwe1qF", + "secret": "6a10bfa1c59f6d4cd1be7e707320efa6160853bdfbcc7969f9b30fbf0a9626b9", + "public": "03bdc46bff88f5854dd6aacf5a69e8b344a45633c6b2fe46b902188f70d7f4af46" + }, + { + "address": "XLkHshahJQ4QM3XdFqeuTEfzq2B2Sut1gB", + "secret": "48d4aed38ddaf9131b75c34976cd6983d4c35009eda7461217f9f24dcf51c854", + "public": "02ea0380924ec74c9a1e61ad665c283c6dd8e69d5a403318ea0c9f6dfe6bb71c47" + }, + { + "address": "2BPMq8EUBGRyrz8NDSaUSGT9NrFrcDjq1pN", + "secret": "96819304e4803e15daa655205cee676dc04417c368b9851280c2c54fe509956c", + "public": "02382b4e6a8feb6d13de1394bcd4fd9dab6e6bdf4de96c9f0efd917d5997b94f21" + }, + { + "address": "2GGWkSEStqCKs2kGUa4pDbg4RxHJVhh3DyQ", + "secret": "e81e01c500a5f159cd5451b054568ee1ffb2700ddf61fd38371d0e128934007a", + "public": "0270cfe30a0fb41dfe30b9d897580ea16a401c4c41babfb41a78b1f20c12caf0d1" + }, + { + "address": "2JAihz1jHZxDVSJ478Yx2cdkseqm6ZfNnr9", + "secret": "c40ae6bb5a1c19764797563de1eb978ba85c686a379247adcf36426918f8f25c", + "public": "03d8a1fd67726ce2aba192f8358ce9143b8eec0066d80e93333f27931c8c96af56" + }, + { + "address": "2e3SyTQALdRjunDL4VpUkQqZ7kL45twGSvy", + "secret": "443200ff2becf64f313a047c0afe64470a1b79ea56802a2a782d8a4c3b0e8bd7", + "public": "03245acebda4649d21578bd2ac5466470125d9785668e0d0e6d6969ef23d99dfc5" + }, + { + "address": "iXws2tgmeN1i68GAoneEcEzASNosHZCrR4", + "secret": "a525b3c37481552bebf2b7f6849d5cbf8d891f804427ceb01b4d0fcffc3e6a6b", + "public": "03631cb9c53d25e67cede82f50e5fb1c905a166569894b2f1a75109253ea455ce4" + }, + { + "address": "RULqwD1WjY678XddBPK3qRJC1KC1MLg5zi", + "secret": "9d465bdd07bbde238dc7dfe872cb05a3a8461893af61ea37f85a8805edce44d4", + "public": "0379f5996ed66ac9a17a990cba9b619cfabf87336fb41043145d240bf88c1c4087" + }, + { + "address": "2e4ekDcVtjG6PHuaeVBd6y7JSiLKphizGo9", + "secret": "601832e7a373217b5c84c5d77cfb1581069f970c0ec3f96f59f2907a69bb9c6a", + "public": "026302c344271cc040efd6536cdf77fb09f2a8b7cf49a2159a595770e25a741873" + }, + { + "address": "2iLYSsW9o3GGnEWRgcuPiXrmZ3xpKR5SbH3", + "secret": "130179676d01bc4f06e818b9746ebefbb2ae3d7aeeb287e85db1dbcfd1f12ede", + "public": "02057b44f1b07039ff175a24e133240ee378d036fa07b82b6f897ae352b8e9c66b" + }, + { + "address": "5Xx14ZZYBtd32jH8vRaQVydBo37PKDPXSn", + "secret": "bd8f3c1423a321e75bb1358e9e48befad2730aa0eb351f35b89264686482833e", + "public": "024cac9550b8b534595cc4b648335256ce22e25911cfe85e6b50a59484ef0a6331" + }, + { + "address": "28m9mZA2vpkYVRotYxaWU2cAJ5rNA4fU8qo", + "secret": "43e19b1dde61837e9237afd145664c21d57ef0878c298b22db20d9f1383c5a0d", + "public": "02c2d5b3e587facaa13bc9b480be8995b06cdbb83edecc7b9a751342a1dc47d3e0" + }, + { + "address": "k5zSTYgM1JJygeyj1HiH29quDhz7kp7CdE", + "secret": "037824cdfa5b27ea0918ffaa34a700a32a8d216f04aef0335d775adc5dd47ef9", + "public": "0257aaf74b90dce0b3bcc41b0d28ccbcb6f4bd6c06fb24c283a740bfae74cdc136" + }, + { + "address": "2Q8onKZCoJE6YLfSqENhPyvkHtxvduBy2t5", + "secret": "53e6dde235adc370674fa60b7718b8b8e66e37ddadad2c4a75acf50f8d1975a5", + "public": "0244e3aefc7b751b97ca4a0302d31f361a93fcbb1d89ac1b1b8bf6039975c6088e" + }, + { + "address": "2K9tDb6pEaLXzndCDnSEotEiYBQazoDEmMd", + "secret": "127cf350a9dd07e2622d53b5c3ddbf73030882d55538746896b135004e9668e8", + "public": "0299325e94d7e822b53055d1400a91d914993b96b78b2273d52e9032710a2d7404" + }, + { + "address": "2Po1yzP4RSDm8p1w1tF2nbwcUcCKaEEoQJq", + "secret": "74ed922d8ee20fa41c5cbbec171d1248da080b3a974d0784737709749c6d9374", + "public": "0316f6d02dc551aef7eb45cd6d271a333ffea11c2a3b6c95ba84f44b1a7e366da9" + }, + { + "address": "ztvFFxYHYLzGDmW83chkUToB8Htkz8119D", + "secret": "1696d5006de140218790c9620873ce0b1b605711686a0b9fced1c0b10677b5be", + "public": "025d0053049ba7034a6d227041ee2800b3d4b575506c85b62a0a2e22791f88c093" + }, + { + "address": "22QmSnYryfxUNRpgM6j9uA57Dn7Jhn3JxFG", + "secret": "05042fa3951fcc1c3e392349d8589cefdc6a1eb6d986f497fce500bcc454b4c4", + "public": "023ec539cc83b92a8121c0e45a3d21ac79c364455efd3df406a87845ecb7f120be" + }, + { + "address": "1EXdxZfNk4VW9ZdXd8VHUah3nBmARtfD4r", + "secret": "291a3c544d77662dd4266425368f39e05b91ca916a8b0b4bcc773567b0bc461a", + "public": "03612f2c6450b0e95960d8b5d6b56dbb12652193f843b30cc9770e46761cdfd24c" + }, + { + "address": "AH5WE6cxeqJ7g8ThBWCt6351dpmqZxEtvR", + "secret": "387d9f7de29bbcac267ce51dd1cd09cce463cf4daa2e208f5a5caf79129cb03e", + "public": "02144e16ad2e88d743de602393d93b9154c30579789546f39b1538c787934d23e9" + }, + { + "address": "2bUvBzrA2rySkTsTz8ubjxUiLG2X2UXk132", + "secret": "730001c2c9564606fe0148a9b25a22150b386edbc657b81bcf63fe4f5e77e9ae", + "public": "03ae3acf63026f08d3369d57ea42f277c6b5dcf5c2c36f1dbe1d1d8b54b493cc82" + }, + { + "address": "K8jHVZcygoN3e7Uh57nUfQJzmews7rWi79", + "secret": "02b6931812541d3cb7de3dcc88c877918d477ca0cf6f25ee7d728059bf11ba97", + "public": "0225b37ef3f5014dd5b6eeefcc480e1b136c28e9147f98e14ffcbaa6ee2283ff11" + }, + { + "address": "Cr2ErUjL1UqhiVMVuPu5o73NDQhRFp43up", + "secret": "e55e26e1fa9decc1e8030bcabfe2c996e08a2a009984128e7301cb815d96bd61", + "public": "037599174736e30d76f9ecc5dd1107ba032353641ed7eb6acce126b0018c7ce71e" + }, + { + "address": "2UrDkbr8qkLaUJHMYkXN3k9xvmh4D19Ucei", + "secret": "4a8f360f40ee58ff53e957782eb3aadb861a6e0ec252339c83b5579c1990a37e", + "public": "03b9c9c0631811a24edf9e79901114d1d03b762561183d2651443ccd65e16568d7" + }, + { + "address": "2SnMjTtr3WRJ6q8GU68CnT3vMPtrXcRLiHK", + "secret": "9ca92d31e7fa4b7827126bab0ab02d2bcb608af1e9efbf4ee0edbca3c387fa36", + "public": "03856adf3f6a7079e6d42275a21fa0ce851eda69b1cbfbd96d25f2d72228498b1b" + }, + { + "address": "2dXPVZij2rRzCERmaXs5fjnB2epMy6ftAsj", + "secret": "28ca80b3f0db34c13e73b7ad5ff8605a6ce9099f06494a1a7b6727c51c64110d", + "public": "03545172070d03df86e8ad6580ae6fcebb6a775f2a0612d373395279debd7269e6" + }, + { + "address": "aMdRuCA5s1Ak8QqcEn7gmX9xFUJXebbntH", + "secret": "d24f4bb16b89077ab63a2faa921162f4f9ff33558c6ac33ac72f76af45cd6fb6", + "public": "02866b765a68f1befb293cce71775697e8cd03cf3102a9888f337e5b1703e751d1" + }, + { + "address": "HJd5e87cu7zu2GEWweaf4SVYX1PCxHnHmE", + "secret": "be3aa9e7df5bf981a75ed0b655c7490d2611c23b973a902d8dc5295c4b41b555", + "public": "02833598127e11f7935000892baf351e5a0de50a008d5864f9a951fd5449859e66" + }, + { + "address": "RjvjFhLR8UWA8UUBwmyPFV4V99snhSujJU", + "secret": "9f17ea1077558a3c898f0d080eccb1bb2385beabf092b3f84e027a9a84fa2e1b", + "public": "02f6ae99ad5a0e79e75f681b8c365e33ed31041d6038139c8f0c46a9cc467b0efe" + }, + { + "address": "smnUYq9hco8u5Q19wWRNtMieS91EA76vCY", + "secret": "b813a912be979cabdbca7b9b7d432b6b969c8b7d9b9b0c69f7e697945989aa98", + "public": "03ac5574e7787a94d7e79733f7c1f428805bd502608888a670e41c548cd3d466d9" + }, + { + "address": "2KKp3DbztvFi1Dq7fCbqJW3jyMLxRcVgoXf", + "secret": "8bbb021e60073065cd2250b0784e47fb0cca7974853166e3e942c070ad192a95", + "public": "02fd39b777e33098fa4c953b2f98660005a27fbfbea9c8ec8bb96fda649a139edf" + }, + { + "address": "oPWJvhk5tDy222LCYAzJUJZce13cVoZTba", + "secret": "0ac8ae1963c9b62b27d6a0dc32a21daab5197c4e81ce81bd5f06253a36b0eece", + "public": "03c29d315728a212c153f094f68a93693bb09aa3868f5c0ce9dc349e2792f0bbb9" + }, + { + "address": "V2KpF1Yoht3iGMEpJ6VKLpm65uYxEmk6L8", + "secret": "c1786113036db1edbd2e7e85322ba5b0f49a71b49d975cc503ec0bbeef70c8ff", + "public": "02a7359427fc56d44639ad1823805fe2790034811320361c0884e8dc3f9253bea1" + }, + { + "address": "ghZL4ds3pEAQ86zaZ2VqXaHajC7AWPvazN", + "secret": "7ecedb39e58d7dad0d035c947e350d7266a836533294dd0b645288f31fb6ce3e", + "public": "03ff6b7ae9a48247ae440fe8277a748995d1294ad40175eb63810864bb05624984" + }, + { + "address": "jRzDnixfu9hJoTGA19diDvUZmx4wFMFzYz", + "secret": "184e8fdc7e1cd4d666c578601f9230f93611f465bce0e429b2e7406f41a249f2", + "public": "030e121a88721a5e312c6508e3d76cae63d27cfcd5fa0d5109a620174bfecc7355" + }, + { + "address": "24ZgZVdovTJGACYDmzTr2UmCiXvLS2BDisr", + "secret": "6201e4a74d799d9322a373d5577466f0b958ebc66e36b0c943837be70c4856c1", + "public": "03cfde6af9a8673a45c7394073a7bef3d5c734ed5fbd9e5d6bff0905521508f036" + }, + { + "address": "9QLaTBBFzbNT7FqtLyr4mC3SjUF81wscKu", + "secret": "e14ed2a6506c03fb7235637ec696508d9a4f224130db2112448284d97319f729", + "public": "0257544ad0489b631d7f839ba50ba8d817fce3b68849b014535c7c579b053af479" + }, + { + "address": "2mrdnsDH8GkDxzTfKLGM5Qic6twVNnUzUCp", + "secret": "4272244bad296247de956a03b15027018dc3eaa997c7eddb62e11eb4b62a5fce", + "public": "025079ec188d81448851558da00f1375167a99f5a47ba55178c23bd5fd83e8fdf8" + }, + { + "address": "5r1ppyYuyjxLRchj8iR88z2v2YmSjA4uRH", + "secret": "41399be04144c30fba7767d2a8b320b051efd72727a73b0eede7503a150b82c0", + "public": "0348852f17e6e423f99a927ae6711f0ca386950dadfd23e87d986e13c049249636" + }, + { + "address": "d6Kr1rcKXZFsbiA9XnAvYraR7K9b14mtJN", + "secret": "6dde963a31bd1c4ea9dac7c262a503f73f7f00a30b6bd684d39c7b774fbff32b", + "public": "039e9dfa055b56922799d5abeb4d9ac9afd653563b5827c1c0a3382cb33d32b937" + }, + { + "address": "23w3Mpx7B6T7YzS61KzGRTdFaqqVhfhSPVh", + "secret": "3e1e627486422c1e38525ffd5f3a20b84698337fd376a6298914b9f7ad215cc5", + "public": "03fc41d428a7984ab2e8a86de2c72fc843e3cd0822694a58b33f1d30295384b091" + }, + { + "address": "2UE1RjgYByFJTaZWm7CASrJ1zLpD6A2ibpN", + "secret": "1658c7ea9d9c887b47df2bf778a2a9f02acc7342c7ee98e16250e51193f70e20", + "public": "020d1c92e2a29a11e5b77449d817edaebb620f4bcf089108fd5892d5e293760855" + }, + { + "address": "2gUQycnLvW5PNbjx8zbX6qqKSMx8AZcbHJN", + "secret": "29990b7a22aeaea7dc196cd588c0855ae29b9cc501ef5f36a0e48493994c8121", + "public": "039a9f1c0426e4acc12d754e38373d7db58eb5fb5eab6adfd920ab57ee786d7b5c" + }, + { + "address": "LJJtdHQ8YwTXyv9ZiNTrCGgh8N6iud2jH8", + "secret": "0f7a45ac7fa48214e22ae57d598357c6502b0120a53f0846a89d24b278869625", + "public": "03f96bd4d570ad5e3a424ca6b5e1fcbe2baa3990e9f930d8d096ae6e72f41908da" + }, + { + "address": "2erBQmqWbCn42XHgv5mX4FGdYmWwGWNwJtF", + "secret": "fc8ca55c4e86af2ab9d79035618bfbeea89c4582c39f6a53cf254fa0334eadd6", + "public": "02950e3d4516dc08c46228b6a77b0f28d73eeea47fd4d31ad9fb9246ff0c02fb13" + }, + { + "address": "pvvZnFhT5braNsvEF1LEDABDLXJPPy9n3D", + "secret": "f9d86da49c0584a6640aa990599f0d9986f58650eefad763a7eaaa90b747666e", + "public": "0268c65be7256ea4d769e8a723698db683faccc1e21b1fd38a31a591825d07202b" + }, + { + "address": "6SnfZwj1UeVtzg25n9wnkj1dun4ZWHMUwa", + "secret": "6d3afb2bab90de214060fed091f8dfde04fa19c540d896b5c81495d98e5256af", + "public": "03484096e0e52f26f11fd5bdb501666d4c74cd15c291d038aa9b3f9680f097d6f1" + }, + { + "address": "22Y6d1jn78SCSrea9dipxWZsHMmGYVVzrEa", + "secret": "0669359fcf951af5c51ae9731c5064bd7c937015ff88842ea15971fd8a01cf8c", + "public": "03004bda791425eb21c1143628c200df0cbe2e26349a175fdcb2a6dd54e135e03c" + }, + { + "address": "c6sPKAa4oJ6pnVdLSpcsfBtvseHFCN66p3", + "secret": "983bb4b8c8390b8a00024074b43227e2afeb1b30080e91bdb241f2434cba3c9a", + "public": "037b6f7922f08910e0b282e08206517659565254795299cf212724bc10063a76dd" + }, + { + "address": "HgoqRHGQCqjBaib5JnGxzzqJerYpSQDoDo", + "secret": "c43caa26364198a11e898020edb42eb38b48715a7047b4a970b6bd80038c7c6e", + "public": "03b6ece9d98596d9ac7b3e2297c0b321a897bdb539f38c7850a9981ab940a464e7" + }, + { + "address": "vujxJAz6RJrNhwGpRKEHTnwFvTQ4mQwfrs", + "secret": "031b4b8e634853c180f13d3f8aebf5a44dc3d85eef6f5e86ae3091abf8e49a06", + "public": "03bdd90e83de029d7d1e9950d4ea800542b47fb1bb2e5666ab1b5ba4f5d12c1d05" + }, + { + "address": "HXdBWU4ned4Q19MUJvr1T8BkC2Y7gYJHhq", + "secret": "06962e39a38fbe298731924221cfa42ed0ae9abb105843cbac487019252879a1", + "public": "02363ee0442a993d4dad2666ebdc7465e2ad30b38f74ebc2ce5be39cc5731283ab" + }, + { + "address": "2mJtA9XppXTh9o2267QFqmgUc4vQtMxH4Pf", + "secret": "a3c41a8aa49ac7c989744f59037ab6e7ba02305e3ddb09948664698fb3c7b546", + "public": "025677fc7e26cbff2de1d162979d011fb49c2f94a51ae0049a96354798f8df9493" + }, + { + "address": "2WuGtr54gfEM6E4hzARgeDMiVke4mZGjyK8", + "secret": "e701ca2b190297d5b5d17fc8e85400e555a1cd4ce59d9ec9039615560d5a77e1", + "public": "03e4a81a81a0b38d3804c998ea6d3e40eca24b301d9200d7a40f47a7bef8b1bfaf" + }, + { + "address": "21SkhMpvCAxvVnVRa3QnKEocXrPbEfpQXer", + "secret": "06f71a679c3dba236d942839f9cecd105c93df008dbda4e88502a70c67aa66b9", + "public": "02e0b7a344d4a571cdaf8b0f46feb2007a80c24027f71848745568685a33ce9a84" + }, + { + "address": "2Hch5H6WNpXjExggAWUVUozAZaBRWEWvpsE", + "secret": "ffbd71a2fe82aeb6afeba8f7dc4247820bf479ac5beb7a95ee12e1d511736cf9", + "public": "028b22c80b41a8a2fdf64d78ceefc639745b87b6909dc4130c7bfa8828d5aad1f5" + }, + { + "address": "2FRNJ4e3FDtY9c8RALijiiXqsqZNbkHHGsB", + "secret": "ea2a4ac1c298304f065d00f113125596155c2c99641988240be833c09673bf05", + "public": "030f33fa43b5854f000799468b1802e61baf183baac079e66f124c2a133e3997ab" + }, + { + "address": "iszc3eZpwcUu1GQQSz3CMnN4veQ44yMYRs", + "secret": "ea333ff90f76fb162dae8290d0984043e39cf6339e608e1265fb5b747b49d9a1", + "public": "038f2cbe9174da40beffc058f1a89467b1c37dce1777ab9352992f90a38763f02c" + }, + { + "address": "2iaaVJguAHYeytjfLcDVLLJLVSgPtAxBHHb", + "secret": "0c4a939514204b5f8a7327b36c491281652900993a1d78d356cad26f4370ea23", + "public": "023611dea864deef27decd48b58def13dab411eb9cdb8c32662f457af30cbece7b" + }, + { + "address": "2W3ep1m7sk4opyxoX3k4CTsmgHeqfSGuZ7y", + "secret": "3b21495ebefdbe33ecd33bbd9bef707648252d3306256b3852f2c1e32cf19301", + "public": "030e7e2017177e74a272c6f231dc429d47d842b86032f9e825e26dcd33808d7052" + }, + { + "address": "27qTt9ETdo1L8WjA38ui2mVctqu1akWnPn2", + "secret": "bd2722b3935a9f91cb7d158a36a53c33a27f32a07d02f4ea160596d96d9d2682", + "public": "02932a6c3dbb4efebec33236009ed9f625560df67703ce162d8579af9c2c28817e" + }, + { + "address": "dBFXCh3oZmfLEadzRpZuLvp7b6ty6MUH8B", + "secret": "080caa4dbf128bbb328ec33fc87ccca81171ce16f30697b4198e247bdd49295f", + "public": "0260863678aacc4fd7ab87668e54d7be15a7a762a276070efd6cf3f93a285ee4a9" + }, + { + "address": "Vm38DRDiryXCdiUUy7L3ewfsADF8x3xrvG", + "secret": "9f8df7712861e96c82d2af651ebd06ddfe79b31635aca4539a018e6ee3533ecf", + "public": "02d40797f08f3d9ac42c73367db84b4243fc87dedcefe91f1ad44e288e58177389" + }, + { + "address": "x4FCuwHK2B8uxy6TcW7v9V4rMTe2inrjCp", + "secret": "ccc879b0ea61fc4960ad3933d592c407618af109c4cc87221fe9235adba4c499", + "public": "02ab01ad4cad7b1bcc9d20219415fb92fd9bc819f6cac43cf36867e8284d41d50b" + }, + { + "address": "2moHfKQdFLvdpdioxUiewyQz81yBKA2T22m", + "secret": "cb2e589bc0fc5c3fc5f9dfbaf454f5c5d6eb2fc7be47a547c4ffceeafe074cfa", + "public": "020233f795f9380e7d04c9c8d4639c7d8ec598e4e4c8de59a4c73a76c3bfd4f161" + }, + { + "address": "eNpWwxqZeY1PYuj8M4M5TwoF3jPFsoKifj", + "secret": "73ba8fe059ce1c08c5c716300d2bc92097b9dd92fbb0581f624d7b064ba0fb29", + "public": "037382d2900cea5956f8cdedd21e8cd81a63ea0227090deec7f5a7685279c711f4" + }, + { + "address": "2g51QorpyKSr6rrCxf4dD4CeZEYAMURc3dw", + "secret": "f3861c2d1e69b93b666aacdf0cc2cdffea36c7e7b83dc1718829ce79e7513c68", + "public": "02381d60f8d1803ec10ac693e9d3060b9b796946f503ee7eb01f967c8bd5e5d89d" + }, + { + "address": "2DKTyBvzGiaPU2kL51AVubLGQFq2mjTr4HE", + "secret": "c3b3d02cea87e4f6c335784d4cfbdaaec7bcd7e45836567c60230f49ec8b304c", + "public": "02274e27234d8e7a0a15155fda616f7e75188cc1b96e463ae399d77cd17ac56db8" + }, + { + "address": "2CFcXpDqV5vNd4UzoHTsjPDTWuryZcQExsR", + "secret": "a239a35c1279ceeaa4f6f23837e92c464e71dcc86a2217587b1c1d0fdf9d4657", + "public": "02c8dfb3b231c7ba9cc67d84b9c6fdae1945f5c61ea5ff9b443abf866e373e2050" + }, + { + "address": "2gDrnTUUeZ1xrC3hCJyXhkrkm79yABLpdxP", + "secret": "6c3652adfe9e2cd2704fa0b1181b90ffd7dc4f8a4153a633103057e08b5ff881", + "public": "024b3b047a60af29f997d46cfe157a57bc77bd53a894dc6c8557d038e6d817d763" + }, + { + "address": "5fHL9AfwcqgYEMvjqyX5RVeksU5x4hEG75", + "secret": "f3451f3fc143fbb7dc7b1302841dbfb29c795dfd86402e2dd625c9870382b801", + "public": "02a858158514e7355b25ade1ff88d7381c3a0bc2b3d0af7dc7a15fc085e3e9ef36" + }, + { + "address": "2BbgUyWCqJ66xaznA5o84Fu64DzBrCTwvyK", + "secret": "17bb9b6b89948673b6faf3bba8c0680ca1b77ee23b16e0b2b23d4d31693de961", + "public": "02fd5e3ac72dbec55b340529bf913c62075ccf8cb399d008c8716048468cb1931a" + }, + { + "address": "2G8GaA8JYfVqj3ooDtkzWN2fNideKU8b9xK", + "secret": "770fa4cc2d8f1a8a686281e8aab3ff589a852ae450983bc3accca5080495829b", + "public": "02d69f91cb1e70caeaa8839c1635643b0360f0cafc9d890ef8c1bb7c91ca40ea35" + }, + { + "address": "2BwjUtSuGKCph4EfkthDa2CdyaGzHy4WDjD", + "secret": "b6dccd72e79f39bb939f2efdf1a90868a09dadf400629465e1ab97e2236ee7cb", + "public": "039cc9b2602ab2ffa175f87ad776a1e040555d4dd3485fc09a03dbdbe39c8740f7" + }, + { + "address": "wa5sR5oYKKY5PyqG5rnBCzafjhFmU5Mk2o", + "secret": "3879cdb11ae8bd760a2378c178b29fd694d3c7447e03d161f8fd19dcfad6512d", + "public": "02d6fb32ef1862b79b935dff7bb5aa868b040749ff08a9dbe8f6054e953dd3504a" + }, + { + "address": "2APKsjpuiYDw7DgC1rK4NEtGCu61V4zAc4o", + "secret": "91b23e1ef44587743475ca071a4ebdc3be0e87ffe46657be9299e17b3f0fbdc0", + "public": "0314cb0648861cb94994bc2631a4c782bcf0bdabec37bf3de1a170fd0503b9d258" + }, + { + "address": "2FwB1ZYgAB44ENWpudrpmYujkFZBT1ARF2q", + "secret": "16f82f75f6ea09ab92cb4110e1a397dd71fbec81ad7faa9c7a54c90875757a3c", + "public": "03017078b4d051aee4050e7dacd1b886cf27432d4e90286e47fd9501922476617d" + }, + { + "address": "WFNNgbZzsTztN2HvLroNXNDjP4y2qz2Wgw", + "secret": "b245f9311b8a69ade2b61164e18585ec636b0b4b9a5356b7561950c9b5beedb6", + "public": "029b5a844da9c824f7338a5d759402f7dc871ca4e331f38bf363f7e91cf7057ee3" + }, + { + "address": "JrF81tT3NehqrGLEWJPqTntBecMkZHbTLa", + "secret": "a7fc0662dfd8fd39f8589903c95abc60b22cdf45ad67fb2a5a65dc7e2c3ef9ab", + "public": "03c67fef9d6aec9e842b7915d78a060ae2271b01cb8945d1e14fb8c16ae2b8a3c5" + }, + { + "address": "h3vEzWCwWSGxyEXHhmVbGurjYNfJbnxgpX", + "secret": "287cdfea83b55bf184e81c0ea6889832db112c8a8762f2331d78caa7cf9baca7", + "public": "02b1104780c99c9e6f9d94ae9a564517362f374c536271f18fdad6334f219f45c4" + }, + { + "address": "2UnSqnvfPVgWXEuNuEdmBKoyJ3xBvPnY2fo", + "secret": "df35877a008cf9e514c9f64b245b5a3e0ad134bbc2e95ce9557551c79e46fd52", + "public": "03284b8af8e7cf913f02734f74a00a1df9102e8f6e93e826176a830a7aa5324fdc" + }, + { + "address": "VZptjy7VaWQjY5crMtFbDWq3mu4t5Lypso", + "secret": "f91ba72711696fa175a549dbed4efdff703664fbd7dc98dc7c64619ba32e6390", + "public": "02b1bc13a83d263633164df5fb9eb71e913105bf2e6589ac9b5607223f7170b481" + }, + { + "address": "K6Zvz4DHtdih5k8JBcPdcXZRRDhTBWMtD3", + "secret": "fd515d026596d95fd283ea3ff94a3220e58c1e283711f79b0720d8bae7df5801", + "public": "03bb2baf3490d40fab6171d4d2e4387d72f43d40f516e8ea219530ebab2fc19a47" + }, + { + "address": "23WQc4TFLtfZQADK42fTfqLvqd5fVc3eCFb", + "secret": "9f49138a3f36e5fe5b2b020e7595ea39cedb7db6c55da6864d15966b118ab3d7", + "public": "02a25227209e5620211e2b5c61f20f7376c83015fdd338f6ab30a5221d71a5fcb7" + }, + { + "address": "GLSoByoK4BEQWfiZ3rbLqLxmSyhfijHrbj", + "secret": "027bf03c34f696cee5042061902d4b15e7f9c5163e2abef6d2bbb24989e3660b", + "public": "038d3c9c0734574ab07c02d905a7c045571803fc0ee93cee1626b3a15b4c993f49" + }, + { + "address": "tNdNWcH2F96PAUtB7pC4n5M5TBSTpxKVse", + "secret": "e9415a0e3e395800cc7551be12b54bd04dc3c4bd29995a031dbf11ea3121998f", + "public": "02db97fd454c0d93e60841a153d22471ba7e82b6aa2e3f49d19fb4bc52a8c1f5ba" + }, + { + "address": "2VNyTcriS4FrYVotvAJaqmQuYwYSBAYEKjk", + "secret": "347e2aa0653c13973c2694e3bf368f9e84deada71edc0cd4d6f8b587b81d767d", + "public": "02b4a1fa85c4a9d2a6868efde449a41249bb4f8c1b3081fa9dd0085ed414286497" + }, + { + "address": "2eu6HH8nryPEjbg9TMvxNi5miWwiFHdXEbf", + "secret": "e1086f1538f9f99ac01dda8b722c6973ac2b890fbd8c0836115a1ecf8196c84b", + "public": "03e52237f3adc43fb7f086c089c452f85fd9fedf8b50bd1c69965124e7828c31eb" + }, + { + "address": "UG8Dvm24teXpSs4MWY4BpBENnT7BnFbDNK", + "secret": "3bddb147f42c46c265fa2cee35c90c182604618d822e22760dedfd5bc2c41199", + "public": "039087ce76a965f0b3dbbcb3b3532544b94c96d73ee4d41804f358d19648642bce" + }, + { + "address": "dzdJh62tUkWbFkHcEJYNeDrNYF6osZew1S", + "secret": "e5b4fd658c62ede1ec0a9b073ab9a70cf63fd0cb55a00d173657893c935d4909", + "public": "037a2e8f9a1600a8550a27792d7a543bfeaf4e6183f2ff280bef6c1f8ed85d9d07" + }, + { + "address": "a6zxRQZdY7ZurpcUXEo3GBpX5Kf95F7JhX", + "secret": "d3968dada23fbe55a954aa2d6b34c7570d5846a84b806c052c3a3adcab120b79", + "public": "03db3c65748908d1b55ad7b8c96eb8973df440e1971f05066636f4c39b53262361" + }, + { + "address": "2GGTTctwYB3iHjYBDE9WFxGXJLFBUn7UzXn", + "secret": "48435832c57f48ee7f19f6a09c752e5c2e0f230ce6ff1904445b39c3e9203e0b", + "public": "02c686311de0b0f37073bef4e2743c2f42052e0258e1dc6541cff2571268d1c852" + }, + { + "address": "2aVNmkkrKkCRSxe5JnX9QnvMhNXwwczk6nN", + "secret": "0eeef28c43478e967e0434dcd1231af081abd3ba31d80a8b021cf0fdc8847307", + "public": "03881a9cc92cf911a5d1c7e7c7ed6e1f38f85cdf42415dbc27a5bee88c17c52836" + }, + { + "address": "21py334hX7LKskHjLZhUPeEtJ7TYKVqfaFY", + "secret": "eb9e056f34028cf4546c287c7f4dc37c92d58c26b6546dfc17911359c93ae7aa", + "public": "02e3c5bbe2ccd4edee09601caa941e19847df1e8b40117557fbcf95354b817abda" + }, + { + "address": "2TKYS9gbr3CnSmAiLewX7RppUzC7r8NX6Hd", + "secret": "f792b0c3e445775b4ba17400525848f3e27199bebd29380474ffcacc1a8a6ac7", + "public": "033ed56d7ba7138d71a213adcf823d9728547e849afcdf02aa0c40f6536537109d" + }, + { + "address": "27T6vpidojqAZgPhFA1gV32hbAGEvxYhrhk", + "secret": "f5b982ac586e994fa405c8b57225d4cb9f79e6823439e930ca6c3675856bf87a", + "public": "033f52847eda3a395ba83baa7aff6c40b6c27cab7e31bbff2e59aad5fcd2c39f7a" + }, + { + "address": "fKRmxuEydH3xr84jJbM2RmXLTrUQY754CM", + "secret": "26d4a55a93849fdbe9df353a8a94f36fdc29850c26a80af1efd9052d77f7f97e", + "public": "035ef6fdf9d281e09fe89737a9d5aa1ba7a2f353471ccf753035a4d59b084a36c4" + }, + { + "address": "oxCKHFyceqKrQz5ufoNkiNou9vx6yiCxrf", + "secret": "7d88523fb836a1e68249bd8b30052e2dd0105f925b0bee6192f318df099e8104", + "public": "03be2cbff63238343dfa80072c431a7fdc09efddf529b0fd403722ae3976ef6981" + }, + { + "address": "3RJy9j7ztK14sJgA5NyoLMLAUNxAFg11Lt", + "secret": "7476b76ac6ad3254575f2cebf43333b02ca6b263ad06938286c00e217f39864f", + "public": "03755eb7bbd9500055a58a6c05144b2479888bc59d4284b3d66bbc7e9b8d78c903" + }, + { + "address": "99Rq9gQBzT6o7hHVh9mwBi2KWpDrVueokr", + "secret": "efc2a3b8cb9d78f38c3432040e2e2ecc6588125338224a90ba96a72e6df63150", + "public": "03bd8601f987579cebe725c52db9f343744165c023c8cc011b643df1cd0f9c4187" + }, + { + "address": "229uFKbAxjKb3S3dWxGLRUhU7nN2rm7AjJ", + "secret": "9fb9f20b2e6a51603689d48f53f7c65f3fbe37019f6e4dd86f37602599a8c4fc", + "public": "03735784436e95bd5de80a203aebf28f4ff01d51c15bc724cafca7b7681abbc5f8" + }, + { + "address": "R1EMZ6BCUN2euBPftE5P9xMcR2wH6wFyuV", + "secret": "29b9c973254a1fde206af582fb3bb1dd6fe5719180640d5f15a52c963bfa17d5", + "public": "0371f270f8f053116ab75c995f06ad975417c10a3bd6134d6032fffad8e8d08114" + }, + { + "address": "KbDQwkTKbeG5WSWJo1Vvp4RoRktGyDuUTx", + "secret": "55bf5909518a71986710f11bb911c42c9a2af2714041c2cd5cb85f3232035fec", + "public": "02d133fc33f2ecef76aff19b8e0730a1fb3b63287b1a68023ab5403cfc56d02f27" + }, + { + "address": "xVa8iZKV9oFwgCDooUJRpSmj6GV7HGywBp", + "secret": "8590b46cec2d565adf8e9463a5a28b3f8e3c6f6ac7ca54e7446f5f8aa61ee7c3", + "public": "033d2efefd95dc97173cec2327ef9ad8f643ef40811cee511e63370ed052904e71" + }, + { + "address": "mhkWnCSekNPca91xzoGijAzk7pK5xe7YVa", + "secret": "81bef4b4678092a023b72b425ba9518d577e86f5a8b9337f77ce3cacfea56f6a", + "public": "027616c1c5cf8efdd7a148fa20c037c2a3910ad6cb6518844aa56f4b8cc0cbdae9" + }, + { + "address": "2H5W2Jw38hV6eoLWNUPqExSJ8AuQC96Qfav", + "secret": "c3680727fbdd7b7d8b79d7f736886df08470801cb2a868e010b27e4d8414e1d9", + "public": "02811390fbacb53a0b30d76f70acc9da9e06aa5acf0166b8206dbc73c3836b5ebf" + }, + { + "address": "gBqUqD4wvWmsEMk73iZ77fL9QwKXMX2C4c", + "secret": "c44b381379048198f1d676149bc496aee52a78ae356cc8ada3f6ceded0b8f9bc", + "public": "02603067281ccef6bef438e77296ef76679128c0eaf4a43c215df5dcb08a1d15fc" + }, + { + "address": "2aBtN3zU8f5nHW4z9HgRyaviqQAx4kNoUBt", + "secret": "2584c7512d2ec4a9e2836db33adfd709676768b823266260d8ef86abcfaf3cb0", + "public": "03c64e69cd4d2c448425dacbd34b68104820d14dcda260a9e088e1aa6bb13f9832" + }, + { + "address": "MpJfVPxdSwDePFQqzqreFqFHyFPnFvPmxZ", + "secret": "8bf59fcce66654480b1ab5f0d792532b11829ec84b93ee325f4fcd7b7da99fa0", + "public": "02dc2a97e5e0b5986db4d7682928b3d18aad18a4375b2ca4f5d5b611592d629170" + }, + { + "address": "fMXu7ACfhpAddDQUcYMhFVtBjfeXTxPZSg", + "secret": "ad848094a7299cf5e485debc38ae745312f1de43297c214eca1712a8ed56aeda", + "public": "022e13429bd73cf57a0b81b2d14e99a6f215ca643f567275b9a4ea48aa98d2bc36" + }, + { + "address": "2HzJgfGUhaszpeqvvBkxTunGQWvMo4oi4De", + "secret": "817eafc5caff271c2a4caa381c4340d70594110ac5a5564b322b2bd9b7317fd2", + "public": "03f2f8dd9b867e863d7afc5e222d49788cc80f937b3a69d27775866f28ee557f00" + }, + { + "address": "TEfAFxc3b7BTnq2nBQNbwNDdNQVGLEDzZi", + "secret": "040e3177db9566e5902b2c8313d31e29aa17015580de4b66b0dcc3a6760fe697", + "public": "02a8cdd0040d877f7553f35021f8ff7bc13cb6f6f7b16d4bf71f1eeab8b417ae48" + }, + { + "address": "MQ9xeCGvPPcQsrjeu1tQ6h4W1Kf2q9BoG2", + "secret": "9aad6041f7eede6e858e0379c0afd24f60a9c73346be12ce9fa23bc58607f0e3", + "public": "032afabdf323ebf7b961340fd32b8cd5dceaca5b58f81f3f28bf547fc978fb34c8" + }, + { + "address": "23cxi2zraJZqyHLG1ModJpLBSohWDn7T9ZP", + "secret": "cb9886037a6d33329a05f8eb2668f9c68721682ac4f68767bbed2dd087938b5e", + "public": "03923baf3cc7f3e53edf3cdc60c7d64f83649ec9b8ad611a190bfc93f77cf165ca" + }, + { + "address": "2ARxqoM21PhW9zLqreZvoyhG2xuVQBnWVsB", + "secret": "b8d18a20d90c3be8509e1a1c14ea2a084c546dce3800fcfd64427e8e11cb842a", + "public": "03c6a58df05a703a561a9bda49ac053ee063f4684e2d689e64a57eb415a799bde1" + }, + { + "address": "2hFDnFqkKbfBgrShepvK2DazTQv4Lvcb2fS", + "secret": "300d26fcf88f23e874f714b16e5c9539064e74d3e5fd379e0bcd407811885ca9", + "public": "02c8b777679aa8fff406b3065f92815e1e7dd4e06acfb2cc2cf73d834640efba6f" + }, + { + "address": "2EMb44AyrsLU9tcMaGZH5qKMAWURWjXtj1C", + "secret": "2c7d8fbc9e91d0754a184b52363b2c5ce304031b30d7488a15ec53404ca1f81b", + "public": "03aeb51a80bd56711beef6bbbfc26cfeb2356e932fbc3c6c6b8c6d7442b1d2556d" + }, + { + "address": "RsWcgENNPyhM7KHFTo9VCLw5b4uU4CLmpU", + "secret": "ac9a2f724bba9198c756b026e5df829b8e72df7837182cff61a961a84ded209b", + "public": "0364313c902a7e6197e95aaa85218532b2626b10836d2dcc8078dd18022d3a28ad" + }, + { + "address": "2SvGwVovNFjwS91HNF1vrMjEfT7STTG9r4N", + "secret": "ffb644d19360dd7eebf66abfa70e492ed3a276aefe38c172a11b0284aa169541", + "public": "03f3a1532a61087e9bc8f6a6ba81102d429de7414ae0085ba9f51594e68e3d1a97" + }, + { + "address": "rZMkh43Pod6kpNBGNaBXNoqXotme9NHBC8", + "secret": "5558f95e18cf37496521c244e37fc0f842e936d20cb203c3a0e6bc8f6d2e8a9e", + "public": "03f571e0a9a233ce8cd348606b097c728649f7c5c1dcbe0f5ca2874dad3de77919" + }, + { + "address": "2RxvaL652F4Wyoq3PLjr4tFEaSbbeeJZBqe", + "secret": "f5b3d206cc14c4b57df04a2fabbbaf91cd6a7e9d07c1d09bde4c0ebaa43b3ee1", + "public": "03bf9105249ae909f87dab44e18a8a052940a17180b4da0f5222f8cb5f2562da76" + }, + { + "address": "2Mt4eBP7iXYxYJD59UET1DpFJSG6HoTavJg", + "secret": "7ffc75211c93ae6363522dd6b1750ff54204c0f1204edce6e368ca3b771ba821", + "public": "0221463c98407c8e24b21cfa4ec10960747daca19569ea4b3f11c71e98d27da0f6" + }, + { + "address": "qDQMt3d5dYCohkMT5B6izsGHkPRUeVZcLK", + "secret": "b683a64ccb4319188831f8ba86c7bcb596da63d10ce89d0ca64c8dd1915cf669", + "public": "02b6a6fa5b9c8ff7836fc761be9ab4da0d2e27c53ebde0d8869a7d128cc72801a8" + }, + { + "address": "2S5Nk6LmUD1cPeVk1gBkVT9ca47EPxrmZqi", + "secret": "d3874feee7af97339d66a43890b16e1fa4e490ad6d8bca3eb69ce2b20fd8ad55", + "public": "036918969f7908670b5dffd58efd16003757f43e647c7698496ef534bb7332703e" + }, + { + "address": "2j8fTL6mXwNG1aHz4xfGLcNxomnNtsDeyXY", + "secret": "0f3bdc50d6664a7b9b1b537aa8c34bdfa648c9a3cbe5f45afa88cdeb15feec44", + "public": "0242704747967357dda0fe5f6f2868e2e558dc7fe8bbd653164cf87b94bf309cdb" + }, + { + "address": "2kEpigdrfgbuN2sczody557JbVjLVd6CtZb", + "secret": "a34e6bf7b8d3b20500f51695d36b667d9b88ba9f442cf4290260baf8e15bedbe", + "public": "03300db6dc465d523c01152f1e91ff50537804890a0b4457607e5bed41ce268993" + }, + { + "address": "2KGErAn9X6KUykj175VQ6GWkcHTQ9xg4yvK", + "secret": "c6f96ec8d7b9bbd628852c417ec221fd8cbe301af5800914bd48886099a99a31", + "public": "027b6393a34246599475d26a5c35169431d79ce0b062d3bb25ce4a00b5f469b63a" + }, + { + "address": "Md27STrLZhDXCzeyiWV4dnYha4LLwoWbjo", + "secret": "2a0b423abe24b1554fbdf5a0cb23b8c537ae9763e94b27a4492ec5f73fe37c10", + "public": "0249ab7ea2652438992c2cda1f23b01678f9de1b037d2db8c1171c7e3a67fdddc1" + }, + { + "address": "23YsH6ZZcyVsVmoKhJ1GgFL3HudWQwUgrm9", + "secret": "db525456d04f0fec18a228065fe5c977e818854337937d491a4eeb9401236550", + "public": "022bbdf07624dc2bb2ae619781cf217cee4121fa53267a7e99c275ec9b692f8f76" + }, + { + "address": "SCWSUcZYva8MDEKRY7YmdYRoNj5sFe1XQJ", + "secret": "e0912a7bb851cedca4500657294f1bdd3fb6549f2187d458edd7c8cd468566ed", + "public": "032e20e706fd2f9745569d6f714c6fd0941f6c4b2806c00ecf15409a8d9256db72" + }, + { + "address": "2JgFxPbynhqiMvRREQ45cKiDdsiibSjK2et", + "secret": "09d3054ad1d287561b31569e18c1d46a3a45ff74ea86515c1d0aa119a993b717", + "public": "031e2aa54504dd6cfb2d6911033df39de005a31bc110916dd046bf15f82fc9347c" + }, + { + "address": "2k9byFja2RVJa4rFc9reVuNdn3Qq3cZFoRY", + "secret": "943b62a940a348d81993958200d8bdfc00c13b1b376478635e07b68f080a6178", + "public": "02421da715e7043dbab22e0016018e4c94e8bee58f4c9335fa115f0c83244dce18" + }, + { + "address": "2MoEjzeLCtzMPv8ZGbkAkQeC5479wH9ha4w", + "secret": "c65414ed2eb2d83ac87c77ac6646ada456573761400108b8e0d05de9a5ce5fff", + "public": "03741c4051901ea5bff8e8d59676f0fd6ed7763d295e92fd1d800c6363da1609ff" + }, + { + "address": "zTtMPPtk2wiUac2uB7Qc1k7JC6ssPnTeRy", + "secret": "79a8da2939915b0da33fe11abce0fe80c7a68e0fc6d372b500fbe06f3269d165", + "public": "02489ef908c3f224d8b8e68d7e9399dfa66ff53dbda4a452d55a01ca2ff7278d7a" + }, + { + "address": "21jfiioBpG4oYW8KjYpSs9cV14aub75ZQha", + "secret": "9aa3371acdc4444d281a770e7579c42d2b81f24b5e8c7434fd3754212b577bd1", + "public": "03d4e9be8f6b7378f7448435a1043636bf9a77602b6a2446c417c8f0d289cf04b8" + }, + { + "address": "2jhGXgUkXV7L6o2ooBSJTRiZp8voCXsws8L", + "secret": "312c20808b5c6ccb4305db4cc49831322ed841aa354c5e6f6f78ad58ea770381", + "public": "038aec6a7a2ff76b2ef68347d8cae7b6fbad292a07466ec69ba0643bf21ac3b2cf" + }, + { + "address": "hkQ28aDsUPiqtGAvVdhq9HS2JYGZPvSy7c", + "secret": "fa115d4a9929c01d41d7c1c23a197f377fb06166d0207f859bf469e75675c6dc", + "public": "02896b7c2842f4b641a3f723adc9445620f6ef1f6c354846958569349e19f15a9b" + }, + { + "address": "2HXGxGiyTiiA5JViSuYDva96pacPkKEg2DU", + "secret": "1091f0c9a82613f7879461d623e5420981116629d8163a6486ee564c95407f9f", + "public": "0277d34e24239b4be68dee716c04c4f29961bfdc89c0f1a90250d8a4a1b0ec508b" + }, + { + "address": "ETt8tPLv7KdEn3isJ8ovCk6Arpt38R8Xi9", + "secret": "2d5964c37e55bdb7daba25b8f73cd30e7658263f679a9771c6eaa76d73a469da", + "public": "021098ab98d1dd4beabaab7108e2dc267d96085defb391db4797119bdeb7b6c10d" + }, + { + "address": "2aL2T8aem5nGM2dzzkQUZyhoYziUZ2q6fWG", + "secret": "ce625aaeeb7aa8d0967c20a572040b71622d225abcde8c7166f0e355163be56b", + "public": "027ab9006f88a03876f9ffa2bdd87fb687f3c9edfcec37bcb4023f7fbed35832df" + }, + { + "address": "MKutfh1PF7dQ2yyLLyVyUyKLrCcKFcrXi8", + "secret": "c52636ac3ebdadae875e9a74b264d1b2ce4c82034415ebefb5827e1bb6fd1e4b", + "public": "029ecbd866ab779ed2cd90dbfb34b7283da00d3f9b71ed805ca92c6944ee30955f" + }, + { + "address": "BcpL5eUt2jXBMCUEYJMKbDzsNHqFbapSUf", + "secret": "0ec1616139c61bdcd4f93d86c1115077e769080410b5d077718d43715eb49323", + "public": "03550226d015d7cd3298e48acd54bc0a5698905a87c5ada8467d4d0a0565362f7a" + }, + { + "address": "C6wHriSkyTXN1MxkX3c4tDFUw8qAS6gZt6", + "secret": "7e74eceae672c54786531c9c37840da266cdccdd334271a4034fe87805fa22dc", + "public": "036af0726c32dbda8b224d655b1f572bcf625bc8701ecc1f53fa0e5ca45b2a5809" + }, + { + "address": "21QWTX5QyFovW5ezTQ2as3ndPtmk5ScYiFS", + "secret": "65da770ee49d0b6f62cd85db5153a6961d4345f02cd1e460209b9abac795624a", + "public": "03cb526f36a2bc9dce0adaa33c27cb10302927c9ad50de88ea541e81789b246298" + }, + { + "address": "LA9fKvqm5A9k1agtszrWfnPKKjgtu8VxFR", + "secret": "4e02f9b57a3ad01a77e30951c2ca97ca0955f39a54346ce47311cadcedfc2f08", + "public": "027ca7b0b8a83845c3d1318b3e54ba94fccd14f259865dd770b80443b5631fa10d" + }, + { + "address": "2TxMvLAFWwm145FndHzESjU6HZLU6r4vQAq", + "secret": "c0c11b487b7d307d0cce023520f94c9d2e5d1e656ea3eb2ca3adc1361998ad04", + "public": "03ac77cd63f2176fef590a3a30e619e4127fe6c1b45368682b468375bc908dbcf3" + }, + { + "address": "xd9dBK1mKxiXDBHgd9Eg35Cz9sLbkgcLws", + "secret": "ff38df8c6834713082048d42afd3218bab991ca44044c971774ff2fa7a0dc918", + "public": "029b1c4622f0248a0975cfcd8502fa6d528d6a2a6d397601af0628fd09b6c4dcbb" + }, + { + "address": "NwGDy3Qoj6k8nqRqaTQk7r2jUfzLs5AEny", + "secret": "b79e882093fd2adb54b4fa6e408cea0273f8252acd4179540d7fdda6ad367dcf", + "public": "03dbed449745129f24b6b18b68272ff5d9fe3008ad4670adee385b669674f34d4f" + }, + { + "address": "d4H2t1an8nB89LEK4Jt5mWdFokoW1cWieK", + "secret": "4d9d83192e7fed98e7db7ce06a84c0c0b7d909fecdfbe5d0c357f69ac9838869", + "public": "0259d4c22e3388e6720f75481de2c0ae3b45d08c0e1c8ba6876d2cda2c65d2d225" + }, + { + "address": "2jTF7ftopY2Hj6xqNeLGcWv9PtPZoo2JYav", + "secret": "5342506eefc9b01f50e4844179ec6d2c180e35b28b05f56b8f6af2de40f6edd1", + "public": "03d628a9bb74f35bc9318b7b28ba90421fbabd774cc0c004bb26b567c3beaefb94" + }, + { + "address": "2Zbxb2VLkptcheURB1GvfgCor8c7QMtiWbr", + "secret": "7c4cf9f367c4e6b48edd68b8c8cd9e8871f7e221374f2b5d8cd3d08203b076f7", + "public": "02aef811f1013bbb834716e05e798f73e5a6921f58dfea6c8c3398b9f3019fdc6a" + }, + { + "address": "2m8BVtBjvPHX5gki7X1BnyiTmK66t35mQDD", + "secret": "b057ced7e5492e9ded80586b5eb2f76114a6c251ed5e39b24c3ec21251fea1be", + "public": "034b17a6fd6bfd049ef97e8784cbf60e107c8221b78d5500cba83aa9e59cf738ec" + }, + { + "address": "2FaK8WZ1F1BKHSjbdhyfSsJsEK3QoHcJSKi", + "secret": "c79f87f1bf048398a6472d874391d4cd3b5c7a39a6ff61e086f175640d7447bf", + "public": "033db0c425c4155a970fd67804944b021d40ff2d3551950ed9da5c610a43425d55" + }, + { + "address": "2CRGhkAxp5buiGacrgrfubi7Uhn4X8KHJdG", + "secret": "26865442a8640529bbe092aa2f91668866ab75c8bf0749f4be250f873f62881a", + "public": "03cc4acb6abce20eadd4ac2733842dc94d8b8af31cc6ba1199190c48bfcd07e7ff" + }, + { + "address": "VNy1SQuLkrD7DFtUGCv2ZRovVoRYTgQxBB", + "secret": "246e7490fb721da5d00e3ef037a0cf91e83b9448db618d4e7f1529a5db2f3dbd", + "public": "02c5697d970be8cae8b2f74e5b8482b872f130fd396d317494865d761303c969ae" + }, + { + "address": "gRiFHzstLZD8DYbVGUwy5wnX9zA6yVaUs", + "secret": "d1e407b654de28a5edc1e76efe740d22c57e12dffb6651851272e1b50543822f", + "public": "03acd87ee0ba18abf1f86526d38e7e0e38869cc08f612439ee3a30fb3c35406167" + }, + { + "address": "2XAGsYg7bbb6wcFb6TJzSsutWpGQb95LQLS", + "secret": "e6a4e56812750dd194a556f6e0777f09fea03b4bb22e2529344f7ab664e64321", + "public": "031039ebe4e1d925358ce5640fa9b740238ce14f568d26835927449c5274e8a992" + }, + { + "address": "pYg6r2ysRY1v84tzCunvg9G3VZkF6cD2LN", + "secret": "7c553337f10619cd16eb1659a3edd2e897e7687960f27c6fc4b56805b048c3e6", + "public": "02a21ce35dc6e62279f2276e5a3eb684c6f15164218be90b39caf52fb2b5cc092c" + }, + { + "address": "wRT6Q3pkwHcgqWQBMh5QJQgzGQ9p2rDo64", + "secret": "b0736043e34e014da806c851fd4ba9b5884871f1a8bf907255d0d75087295424", + "public": "0231bdbf26e1d2bf65a713ed36008a6b471db068266de238ec15d02f46b1a349ee" + }, + { + "address": "Zu6t4hJBBUJU4ovfceA2HL7VSPybkzxPk2", + "secret": "1994b927514fdee4f75f6421a03536eae2fb2af384e9fdd8d070cd1b8bb1d310", + "public": "0220bd88e29aec79bdd0b5ff0117273722f4e27e37e2fda6211489bbe3df06c1a8" + }, + { + "address": "rj8c2gwEmCqPPQ8aeCrDTkJdmxDoScddVA", + "secret": "3bff5ba7558f7b7dbb57f9bac31ed15f5c8593497e847124808990dba099137c", + "public": "02f4de29bd53fe8376aee85bbdca748fb83bf80b1161efeaa3e23cc939035de782" + }, + { + "address": "EhEDFabctpkEQaJQ733WLfWUn6MpqZU42v", + "secret": "29da61ba08814ac6cfc1c06e931142afe3785bcc8640ad712d817de2fbb0eb23", + "public": "02c890ef71edf9fe2b1d3b8a8a7cd8e0925e9a55b093fe0e34a1ed5c336b0051c9" + }, + { + "address": "gpAimarggdCr22gAJ4kxiF3aQecXaxQR2V", + "secret": "83b195bedb8c8ab123ac337aa943fb8366e87a0b78a46f11a6e99811b754cc28", + "public": "0233a097a9f450f42884d32110ba6b9b384339044ad7abbdca8a9dbd10644c7c04" + }, + { + "address": "277i1qEXLAMWB4EWpimpnHSrVu6zB765nfM", + "secret": "d4e2ab32dfac3fd6db1aa5e48f93369f71fb22519512aa08e27780e900bcab8e", + "public": "02734ce3a6116b3701a67d169c0cae42422bf81f2e16ee10626ae8b2534fffc8cf" + }, + { + "address": "vKSL2GSF1kf1GQ7dLqqLsvJBXbaijecZwm", + "secret": "1e9ba0985d8e225e6b5df2a15e38503886df0fc2173b3e3d9ac7660a72f3ab5b", + "public": "0321019f74d1f922b8bb10eb6a5445c7fd7cf4e4dd4f0867bf64f43c0be0c0c800" + }, + { + "address": "2E83iNBy7MQyBCuHy42D69ib4fY3PmpJGzK", + "secret": "ac1edd6226835a859e5fe8c5cb1a0fdf94f68ed17219da5743083aaf93f3eeac", + "public": "03c4b5da359619972014f1f55197d9493e392aedc96d9e814ca71128747cfc20b4" + }, + { + "address": "CpZCFZEjSxMnMqeWWXuo3QgNw8zMUS35fb", + "secret": "db3c84f4b276bf9985c9a645f92a477fea63e5d5eff9a51c35d323a87f9b4c42", + "public": "03dc61b6619fb09fd7d69559f5c6775651b92c5c988290f481cbb7e7a2fb8365e7" + }, + { + "address": "14fcNNPALfDmtfjt3iqnUx5ECKozQwpNuY", + "secret": "00d33565e34e583a79468d6401a4789e7d623fb3e69d8d20b9f4d5751f7d0551", + "public": "0244b282442667183a585263c8a631c7abf0245228829b59d7314da2792066f92d" + }, + { + "address": "yqK6WFVBpuDN4kfcqVqMi5YDVkwE2iuozQ", + "secret": "e155a8a39e9e4ba79e16ec0ba2f7c60bf2bbb9b70011219400999a920706345f", + "public": "02b55a56bc0b74fd16fd17aba5211421f040950e9484483af788ea07dd3d7183e5" + }, + { + "address": "W51H6pd82ZWMw69h51yqufMkFKKTLJ6cUD", + "secret": "ee32e6b847c7061bf1a351c1b37ab31d7c2f7d530a59757c6c69929c9a50277c", + "public": "03186946c764572808287eff9ec29cb1db45511785f3ab3372d77ba90fb27c8f1c" + }, + { + "address": "WeBMYEagMqSvmHsFA3KuPAaarBwZyXGSG", + "secret": "1b3c9c5dd6b081a20bc2d24262b8007dbc2c541b71d18cf38c21f41451f90205", + "public": "031f28f96a5ea3640814207a223679603599e47b4f5f97f84788263760051d72be" + }, + { + "address": "xDmCFbvJ54uUFsWs9JdMVRc4pLgGSfMJg7", + "secret": "8ab8de8bcd5b3ca578efc354834fd5808e732785424f14041b5bd88e52d74058", + "public": "03afbbefa4aab3a996d06d66db94d6a2bfe3c73e2ab06866b267322eedc4e8ad74" + }, + { + "address": "X6yjHdHhJjoZd22mBKzPbtmoAdn1c1GEFd", + "secret": "960bf9bbad1970f6e29a9dc94e7257fd97c2921336b71345575b701853b1b03b", + "public": "029a88fc03edbea796c19081151942fadad9def61bacbe4acbb2d8e5cc32b3791d" + }, + { + "address": "2NtkQYTkB1Gtv5vEuxnJ2rnw7vBx2MaFZ3f", + "secret": "244dff8ab639cd4d1ae38e838fcb970d0e409440214aade40ccac2b0c93748c0", + "public": "02f15c4404d16679aecaf06a4c0a84599287f9a672ef81311c85b25f6d11fe2bac" + }, + { + "address": "qdUuCBtnWFPkqoLS4T4QeJhv1MTFd65ir9", + "secret": "328e730c6ed08d616ca8740bc05de4144f1f39a89b2840636d13dd9eeb69a1fc", + "public": "033cae48014b7dd9aaf8ac182b9d11acaf2119c4e8b136ea2eb8ef42a75e7b45c0" + }, + { + "address": "Ce24goELgjozPagSMjUJrKdYCwfzi7guUF", + "secret": "f37bba7af44d3338c12bd91f95d0879aed78bd8763925dc657faf33f0335b089", + "public": "038ec03df3b4b5c5a51abc135de0d2641a892382732fd2471133b70b9da2a99944" + }, + { + "address": "C5x5R9HUaTp5nr44tX7KgguMp7FW3874Ri", + "secret": "fa0d9ece0ac17368976ec01348503cc026a19510218f660ae0abbe6965233e2e", + "public": "029e6d69030cb4730b95648443820e3f974e70b9d7d5ce2a2559163e0463668153" + }, + { + "address": "2b8k8jUXfHnDpEDk9APRWowqVHMs1C6u2xd", + "secret": "fbe064b4fcd145c2155d717bb1916b1c7d73c1d624691b36bf7df1332de410b2", + "public": "0292d4e8e577b274d72e74b3fb54e56443cc2f4ea586748e86a8311a474457e2b4" + }, + { + "address": "MPZ54f9653bA1V9sDRTgPFgnYWdqdU7ye6", + "secret": "2fdf6ae40789196480461853f075b6bf34fda7f118949c4401b5d4c05dca43c8", + "public": "03e3178668134726e267877354a3e34383823bdffee27b3f7edde6b882fa4b2183" + }, + { + "address": "CicfeSE7jKdooXwA6pb2SFVmTKnBd2b2RB", + "secret": "a1f4b57b2de3389fd1b45bdb838b789a7699c5ca1d0bf458d84faa4a9e68512a", + "public": "0343a7cfd8b57d9359de6062547c3fda453cccbc4ba7524656e9ca58bd5e4f1ec1" + }, + { + "address": "2itVDbUu9t6Y1sJB5hqGUECp3r2mA1KEg3D", + "secret": "2b5a9358c31be11e49985c2f6e11c9039e105ca9175980609c7052cd5ad10b73", + "public": "03c06daebbf6d2c25955b3461fcc8fe73c93f1fb35ec46f0129cd03560137cab17" + }, + { + "address": "hmMGDgFx1gEVCA7FsB9Xo2AmiGXnYaZAck", + "secret": "a53404405b2c79359d04eaea710d283371a92e18caabe8e0cd169bb77cada7ac", + "public": "0332aed6d0d7cb573817142a69be2f34257bd95b95e04a7f29750ef284fe248ffd" + }, + { + "address": "2Hz4RbBvSeNbTwhFer6vV1Y7uUfqbN7FiFX", + "secret": "f5643dcfc17be04b092340b11fdad373d4bc5cab710761bdcfb94d76c005383e", + "public": "033fe130623f83bba6cbfeed537952d030f0ee3f99a4b9bcc18ebf6471274e1851" + }, + { + "address": "9Q5qJ39aeRmY8ippsZCiodMyon2wzfhDYk", + "secret": "37e970e52d13e3b95c4db1e5e5b8b13b87a03fcc433e81d49912726033ba5b12", + "public": "02d02350a1b27a087cf0301583551ad488d336b5cd2dec48006b6dcf2a08ab0509" + }, + { + "address": "pXys5mPkk4jwQW3xYRyqEyQJLKz4WEypsv", + "secret": "381dd50ffc4dcc059beeada39ce30da070c0fa67fbeff5f4b183c2c3e427e7c6", + "public": "021a36d9ab658c57ff3f5734eafed081feed61ae1d6e15f0fd56bef992ab9a326d" + }, + { + "address": "aVp2GMSoJaXJp98jfksbyGxUVmkyYCTyHK", + "secret": "9598203aeae46c16a3f57551ba6541dc83052eb62bfffa65c67beb66e2468c16", + "public": "037985090f64098cbe218815361bf49a1143de4260e85519b9bbe64a18d7a009a0" + }, + { + "address": "2d6weK4E7LmeQ6viCECBKteexwQfmXJefeV", + "secret": "55c82c51607d2612d2c558c87c0ccd2b1c1b02a16616d632f09eded8ca9eeb5d", + "public": "0378bb0f40994c3bd0d789b5cc48aea01872136c0e25eb27e0593c4f8fdae2b63c" + }, + { + "address": "17eYicrsFCUDmQ9Ay6k2enNG6kDRpH27Um", + "secret": "1d5a0997833672800fbf7f55b9dbd5eef6bc53c033c0659db8a474faba7428bb", + "public": "039fa99bbce21aaf219d1eadd3c9851280b447a21f5e42c3083e01243093f5d237" + }, + { + "address": "2SSfBC3MeLVgb3XyBGGXsKYzckjCbYKUgsP", + "secret": "c948107863c1f274f82c8e7759521f575b616fc0b593bb7a3f16cb84337ead51", + "public": "03fb19b4b9769665a86d3554ee26b7e44585f6d9a90109a915cfde83271d7bc5c3" + }, + { + "address": "2n18ViQiVXuUqwjEszaSWvi1kANDYKeQH5y", + "secret": "497d87deccaf1e7c30cf18833c580ac4263ae6e010273805b1940a0e652ffc3f", + "public": "02e5ee7a913f43f7f6adeb6a6f52f0eed025267b930426747909af342b5123e106" + }, + { + "address": "2UmBGe17SSXBpYpp1t68zCU9ojfjk66dYNH", + "secret": "d42ac161ded15f405c83b5bd2645ffb3f9c8f28095dbe2277de723395550a453", + "public": "02118d8b12f20485921989d7156e9cd06a9233abe03286992fd94116fa57b8df4d" + }, + { + "address": "U8YL4g25u9NnpALPn5aBGbosJXidvCooCr", + "secret": "b6b75cfa9529e12e39394a5852a077061b172da0cd6090a4271f4f942b82e7d6", + "public": "02c5094141d4e994dd81e81e4e91a6b81051370b96ebf41a624f3499f9b4525119" + }, + { + "address": "2U2k86ibWdUoe5BNBj54d96sw3rFYXnSySH", + "secret": "e715f598acf607c8552679d0d1833e4ca10aef44e4d662aca8ea84adb71840e9", + "public": "024041c3512656d1736bf7ee532a726ff43a4b4b93a89cf437640ca3f6f17f8eee" + }, + { + "address": "FaibKxHFYdqaorDr3KYXq1pnAYE8581MuH", + "secret": "cf2ebf9d3f6d34189b32c7e7730de432e6ccf9858becc80be734523c5876ce2e", + "public": "02b6b3963a2517bc2010d3042e5e8e595c6074538b22db7fdbcc0c2d6cf5931922" + }, + { + "address": "pB9Q5eXorXGxNZtxfr2Mzuk7xFBYNpMnEo", + "secret": "8f92555b725ed6e25a5e5805f53c5624b58a9706cb144d5a07d60509713fbdc7", + "public": "03c97d38b690b41240cd7e1bbf23529d178742736d6f1ff9f5a8a688747eda0e71" + }, + { + "address": "2Rbxzsa7C3B6cYTdk3Fun32woki93ewxvNu", + "secret": "bb6d4b2d400e6c1b631eed7d4f572fabb51081327bb6645c425d9663e0ef8a12", + "public": "0363d28fb085932c0cfcc17f1174fd70973798ce480af85ff4430bf0bcd4715199" + }, + { + "address": "Diq3gG7K6evBUEE8osDTPq4QKtXzbxUtDi", + "secret": "81b5d2598b5dbb522a57b67073bbb6a130f0711923448dff127c02861b03a946", + "public": "03b0bb0ab5ca2984c0f0fcada6907ca8250d22a001ee69380b083df443265e3a98" + }, + { + "address": "2epzEVetCYHwuGNZefGrZmzYtpeaHoDAQEY", + "secret": "8dacd77988acda3ff11b62ea1d8ae24b45d398b43f91147cac23451c5b68afb8", + "public": "035afc03e6b69359125261b3c78994c6b04525f09b0ae1c5111357be772ca88aa1" + }, + { + "address": "2Qkx7LFzEfxJzqWRPxTGjE4h8sFwnnfZSsw", + "secret": "d828a1ea868827488473c9cd4347c10408c00b4b42c649a975f9385560128607", + "public": "0381df65e2ae07acc12d48e09253698fa510bcc9c9f8ec34a136c9fe248c432103" + }, + { + "address": "gj6RTW7z32ScNorWP5WzHCgPPrh3KT8kmU", + "secret": "6d10041a9ef43512dffb1a94c82171ae2afecdb62a729c48072a877967d2264e", + "public": "036bc174c86d63f4470e151ada6b664dfd7c29bce402543ed249aa7ba67568df00" + }, + { + "address": "zAS1wCFHtdeUgwRWFY2N4cMCPnSTLd5R6A", + "secret": "0c072c2ec7c3a4feb9b946856082b9ee4f35295bf9b278349a254d3d12260c80", + "public": "02439f39e43b0a399cf84982f1e7085b5a2c0fcc248aa6ff6a7a80e1260c8293c2" + }, + { + "address": "6Fs7FRMk3GN8Z1wxksyJQTbmwjgZPcT3Qj", + "secret": "11fa5cc4f1da12b142b18f031b8de70588492f3f7c136b8227236da184bbd17b", + "public": "02773f6b07f15b38a96b3f3395206513372e92376098c2421bc8778424ef19a199" + }, + { + "address": "WpjbGPfvrPARdjnfARbsPhA64BU36oaKms", + "secret": "a3ca77abbd98c442c15ec3a9d755f708474576986d00a082b4999939786b8bd8", + "public": "03a4b79952218f7d035de076d464eb61ef837bf58db060a4765462c95b4342a8a6" + }, + { + "address": "26XKvqVnXe91pE1a6nnfZyjHRmNcHNQX14Q", + "secret": "816345565c3d408ec600f7f012185e5e35fb201a2517f56235e96730021a032d", + "public": "02d5ee48f9e78e6ccfcf20716ad8991624df0e2f08f9585071852d7cdab2505306" + }, + { + "address": "6ymppMLFLv9hDKngn3vUGXuKa82n8fVNRX", + "secret": "04341a22e621f8e46dace5b8f4e6b4a7160b864474c04c3d96874e02d1ef1277", + "public": "038c519a633e90ad55987f55ee03acac4bf269323dd3e5367597e56dab4f0a16dd" + }, + { + "address": "3BfpvXz5km93FKb1L9q3e4gZ5tiLoNN6ES", + "secret": "388a333fde8f497babb32008b17f4172849320f16bdd6688fd6582a52d61be2f", + "public": "03ed04ed7f880f3cd8290b53ea0f41f44f227e842abcc43d73a9640e5ce216a79a" + }, + { + "address": "EaBntaU8c9V3EnfSo6uALdB7NVNVm7BSfU", + "secret": "2f0cea8d8d0be0bb2b826b813cd24da9bc6a059f785dfca5f372d1fa3ed66020", + "public": "03893d78ebea3f3835ec5b88aa5b0fa616a165af23384328a1689c684af46f74e0" + }, + { + "address": "85ewkkmYE23QsaJ8QGHDQ6c788CUTDEh2m", + "secret": "8156a464cd249208b3456c7c1be5d8ecad3d42212278cb5db58d036503316501", + "public": "02cf694432823e75825bf1a9034c2b7ad054210bad5d58250b0dd8e8107a808abb" + }, + { + "address": "2fkBZZHm9KzJCj9uTwyU2EKeGVGaq2T6Tsh", + "secret": "1ba157b63be9213eac9504fe35bb9b8b8441256bf486e1184d1ec95de2360b62", + "public": "03026989d4b9ba7c82055586525a3081b52ef0bdec1c60dd72c5cd2a317d7b7b9a" + }, + { + "address": "shgRMgZie6idoREA27V8zzB4YKHp6g3D53", + "secret": "0b530bc844170e8c96e2fa0270bc25b18158b1cd0a0dc335a2082ad78ab952ce", + "public": "02b9be84fbe4377cb38084efb37101296fa74871438153bc7c10b50e648a467f59" + }, + { + "address": "2WXMUMWm9BxPgg1nu8Pjo9VAA3kv6z1wctC", + "secret": "677e5a6bd11d2d7950ed67cdf19b2321a7ef6735793540615d7dee25f4a89099", + "public": "036d544ff08e196318752c2d0694cfdd2df265fd37f8f701309b206169c894464a" + }, + { + "address": "9h7vgZXrxvpSNkh9v4di38NfsAAoCKxdTV", + "secret": "64687125d8d1d0301bcb7c7f8254148ba674f2fd7976fbfd478e388e2fbdaf34", + "public": "03dda10d0169d9492fe86e73dcb4bee444f8655a3ec54630599e1873b49d62361c" + }, + { + "address": "2A8uy8LLb5VxUt9z2V2tqvFJZujEQKBvHk", + "secret": "4418550903f77fb6afc475aa45f6d46385505aaa261d3333782739aac63775c7", + "public": "022ed942f2c7f4ae006a56d40d2f2973a9f6489539712b09755611e519861a915d" + }, + { + "address": "QcURHwLk8cNaycfrcB2Rw4eLojXTXFafrG", + "secret": "22ca073353e4e79b3568d7f273bdd4d7798f32211856394caa568c06e45eb379", + "public": "02a633a0584586a40799160dc620f5198cbf9288ca1e067cce1f9983e7cd536616" + }, + { + "address": "251iuEvBheMsacZDSmnQeekfPtwjQpf33hH", + "secret": "63751fb3da5decacd945ca81560f083dff8eb89807b8e9111e306e547578ad5b", + "public": "02ed51caff4445482542a0b6ff7156da9bdf7cfa8d722c7b181c1c402e5b33beea" + }, + { + "address": "CJPiAxCd5B6SEg8gwPDGFi8wfQ7MmmCY5U", + "secret": "1ac56d8474ba1909a44e93fd62516514219c3df4b1d83a0caa3cfc8a9926ae98", + "public": "021c30a39512cd8ae0a1dac9bbe80031548c2efea00046312e84bb90265c674315" + }, + { + "address": "2WngTwv8JkpeBGnz78k9WuzUYhspAcjV4zF", + "secret": "e077f3e181e3870cb6c3f3ee95b61c3cb61a05c40661073729a71e228940486c", + "public": "03da594d2e0fa86a0e77bc47b832fd1f270189b8e509dcc14e801103a202388467" + }, + { + "address": "282LaqNpQNhgBAGQW3uVJgTTFFbjX1qvAEp", + "secret": "26e1bf94fa2c8a12ea407e10bea604142e7b81c879cadd378a8c151503a1dbcb", + "public": "03609ceab8230f56a60c6d85f9a4ee0b5f3275ae6ee204c297cf3906404a0e607d" + }, + { + "address": "2M2nyEzS8KcEgBHTFpTpQu5WuCHMqpwyaZQ", + "secret": "485604374652f35a5812dd9b75019d7082209c02cf775e837500fd0233436a03", + "public": "03a7cdab6917f1f5d458774a1a6a37216da8476822bc1f9e89c66bdc7cd0650997" + }, + { + "address": "P9xPYDRBaZxSczCGXnkepWtZfvjKWcjAJr", + "secret": "9abd8aca5eb851431dde8a2aba245fa3dca2f196596c75bee0b4b1f5c54a8bae", + "public": "02baac3167bc9450f0595027f30bdd5fa52e8e7e2c3db98528b4bec3b116ba03ad" + }, + { + "address": "23avPf1yDCPwYDooFJ2uA3ygMshBq24oa3b", + "secret": "425570cb9fd473ffafa9c3b10aa9658301e94171cf6625b8a0c8f1a1f284575e", + "public": "02b3c25bc926088840fe0325c4c277d1e5e135ecc47d77ee30135824767a682af3" + }, + { + "address": "MFY41NGXYtAxyWsrSPFGojAVuLRUS24tZ6", + "secret": "aed7361510bb9fad15a1efb6599d7759ae3e4c154145f386e415d2d86af09b3b", + "public": "027658dc03f023433ebae5b19fc13110b8bc81786355a62cb0395fc4f3e44f200f" + }, + { + "address": "2mJhg63fvEcfvHkjABt1sqhsV9U1R9fi67g", + "secret": "c0739f6996b0fece57a490c12a6b037739526f709e56e8ec93db7ec58b27a341", + "public": "0383d00c097840d92b66c828d555f038dd23f160e1408394ab9708ad9602811803" + }, + { + "address": "B7uERaApqSwMahW6VeqZ2HekW6EHSRLuhu", + "secret": "e68379b76208250614afae494bbfe5da612e9c0de863ad2c916aae46f5a92887", + "public": "0256404e09850fdbd455763e45b75b79aec15b5eb005cb89b906fa5c6099f84ec3" + }, + { + "address": "68qcyx2YJY1C1sFvBkSPpmqpN2G88e2CvA", + "secret": "f9adaa10140355edb590e61818712040662491a6eb59765fd3d8364badcb27bc", + "public": "0321c06486d367c4c40313672c3b6998c7291e3cbe0519e13827a7c4049d5c16a3" + }, + { + "address": "2FaMkeRPxhdiuDhUhXqLPv15pnmsS1oSkqo", + "secret": "f0ad71ef9b7bbd682988ee3b7ec68ead4c9e7dae2e0fc41813ccf719b6ce2857", + "public": "02647a9839758ed0830bdeb1c1ce2769acbe4e8deeee42ee745d3d7f18e8f261d2" + }, + { + "address": "CFdDHPNwmVk6WhC39WCvWyrzs6SRo2bLXz", + "secret": "ffa8b3da58c93aba377e1292afc33849cd796d826d185aa04964473f0e978343", + "public": "0288f6df8b041860d17fd8d991c87a164ab51905f79c85bf93930042ce196c1df9" + }, + { + "address": "FKmFe5i5z2krYxQkg8NTq8PgPXRdP6xjLs", + "secret": "06e70a542984378260026ba1a0cb09fec849a6e3de827129be09234c45959046", + "public": "022df795fa62b6497c171898520b4012b89ef28e66dfb2ec4c01dbd83d6a633d08" + }, + { + "address": "NxKCPRWfvHmpavAZw5MjP5d9JcXieC34Kp", + "secret": "9ccb0d6970a675903491fe280f6b07dcb018d3d7e470f3c1a6ec2984aaee7bcc", + "public": "0220b8d468f5f1f65ef33948aca4606fd21bc8b908a28f14b0de18dd18ccebb838" + }, + { + "address": "RJgPnJMTKBo7KuEDPd7GQQB4DeEtyczUT5", + "secret": "3a765a74fd919c407a95ce6d2ad9491641589a60878b785d9e18639e3ed185da", + "public": "03fbfd66876c8200c688488876f227df16a665e50f455ad01b3264658797c54f73" + }, + { + "address": "2ZK6KxmX9T9qk5UnFb9SfNM8LvrJejux5kt", + "secret": "0990c94bb8b0d8f7cd3e7e097efc6e85525720992a9b8af9bf1f2e5127f11277", + "public": "0393941b893f7b4efa9d0ecc06df1b55d46ade9fe9b385bed458fc172094b9cbf8" + }, + { + "address": "2N3RdM5K4r3eYmHCFDH58CnUGx1gFMmx9o7", + "secret": "8cb43acb4b196c151e45227fbde9488d9e15bbf8da3a1b45b8997dada8700cde", + "public": "03f6c1da3c8f27ab64794a00599887c97f32cc9e42a822451ecf26d508eca9ad82" + }, + { + "address": "2H1VNSr9z5w1szqtva9bRUCLXsyvLNSXWrq", + "secret": "b695dcc4a615914926331365f1e894c6efb33078e44d87542bee580574f075b5", + "public": "035020067ebc6f0b5ada96bf2ee82177cbe2fab157cc6733cb52a05047e122e0fe" + }, + { + "address": "msNB3k7p23RwHgHhttqpuvw4psfysq1Rkh", + "secret": "75b36b96993b83d56a21376aefb2638fcadc03b3e1a1d67332aa4d5e05842167", + "public": "02cb48b18b854d05d3fe595c9036a3e0f486761c43e7dea7858a5378b97040f5f0" + }, + { + "address": "2f7axMoMyTFgCbkbsXvi7zRYgQFdhPZXh6P", + "secret": "04fbee77d3726559ed06eb2f63c11dcc231547910d70869a0e061cc858efd0fd", + "public": "02594db5ca23a3c18801205e3aa94b1e70e1eb632ff0e5fe092d1b8f109932a9e1" + }, + { + "address": "4nJxCkfZkzFC3Gcng9yB4jTYbc9jYoeWui", + "secret": "7b4eaa2f5be99c3ff630558e26ec8df249d2f3faa2f6d5e150ada68946e56024", + "public": "02d6e473a3f1d0ab1d10f3e49b22a0f10a0c7aaf6a91ea20a4c0cc402e7be557aa" + }, + { + "address": "yuGQw5TzntwHHSFZ3Fj1yNfU6DuVtrK2Bx", + "secret": "d716d9193356f96d634913768b0a9fd5c76378d87e472a20afb086566b17ba7a", + "public": "03442b91d87ed6772e0fb557ba5ad2b481c78cca2730b4ffbc0cb637c14472f054" + }, + { + "address": "1L33Kg34Gj7yccMoJKXj2ivzQyxihoybaY", + "secret": "4583af591c90d5df33029f874c76ada794ba7ba2800fbd91778131ab8fcccfa2", + "public": "03723d1d42bfc722cfdebee030af95936030f602ce3c464593eac6bb048df5989a" + }, + { + "address": "2NwiemjJATwoJ9r25Jfmi6biyYtBUJqZ7vD", + "secret": "c96a2a6ecc7c964766e15cb3e6e976500153b5d6192d8dd4520a8ac9077bac4f", + "public": "03054413578006144e776be5d65c171667fd0466f41c865fffa8d8ca4f58d3b46d" + }, + { + "address": "wh6cxtvGracfHfKPga1Gw5aAYL7YjiaoLV", + "secret": "8c2e6470f1505d55fb80d4112807f7dfafcbebb3e33ed5e5bdf844fcd8415e09", + "public": "02a8e00fd4e4a06e017c17f3d93edac7060a8f97ec4c2226552b6881d94e102449" + }, + { + "address": "2jTGRGAkWVojYeNrJ1PtE1ppcq2mt2dCQP2", + "secret": "f41b9f940cc71f9fc889bf8e1c42df2c8cdcfe051f6e9c0bca2f3567f991d9de", + "public": "03de30a46efc8ae7e14926487fd940bfbf9752fc48f8260d17362e59fcd98c3326" + }, + { + "address": "2gunAdaL2kStrQEcaiN3wYXpyuTZVdCQgJu", + "secret": "ad8a98fea822a9f6e3dde77720ac33b645f1ee653653b5002daf0b51b36054cf", + "public": "03e71f0b9923dea45f5b36f03cb39ec95091be101f50b515dc4e7305786265f12a" + }, + { + "address": "2aqkXB7Ktc9UqD3cpD85LXWM6K15sExbmjd", + "secret": "ed8a62664b20244f817ba415b88748ece10c6c017b47c1eadb6aefa81a1339e4", + "public": "032340ae72ed38c789d18e9c79337dc7ed3b758bf79ca46bc96d859842522579e2" + }, + { + "address": "wAzQNGrVRX4YUpa1cVAHHAfhDUNedenZq5", + "secret": "3142f3da96ee43338c96f9adfa031a4c8f9fd6c2ecb1a3445dcbb1120c25e9e1", + "public": "023795f20aace810257af3d7b3657f91871dd420dbf71b8325bf5d4c7483f64566" + }, + { + "address": "EPMifzsxYan5zGa4vQucqTqRhoD3FVppLJ", + "secret": "c4822448039a8158ce1df9226658200617b9567731d40eeb194932420d3fa3b2", + "public": "02d9cf102f49f1f4a179bc1c3f1b1f98d9b048521a4030adefec219c578b084a40" + }, + { + "address": "S2A5TZc9KreFuyALfSrAEqtfAnDpNZc94m", + "secret": "447e435d5b33194e4d9e4fc2843f0565a7d0d4b70f5aa9e5013b41f248cf91cd", + "public": "03c1fb28de9f691912d2a70babbc75bbb98f631600e271abfabf61d91cc8cc4daa" + }, + { + "address": "iAYSpkDoyaLaR84EfrtQvN717B9u6fj4qh", + "secret": "e7f0edcc22d803e6cb9d267e081749371654f455ca285fe89933c036dcb371bc", + "public": "033557467e9d623824a3fedd7291f0305b8ee6ae2425031a9950bff58174971671" + }, + { + "address": "2K1nzfXsFnvSVZwMJL6WEvhW8qxobLtaQR7", + "secret": "e7698cbafa77734600bafc754f0d9a24ef84b94c16d69ef4594c375bc0c849f2", + "public": "026525ef0253337c276ccbd8d7c0182ab7ab48583d5ec743ab408514d6af2ecb0f" + }, + { + "address": "2NLypD5yFCBvqNQ46f8y2AjTzrQtmdR8Amg", + "secret": "63356b3d581b1416150cfe17c698db997c734b2303b7e7364b91b42139597a14", + "public": "02174eda85628cdf4a38a6059ff96b58435c1f841d70ebde77838f14ce029de210" + }, + { + "address": "ycaUcxZ297suGDQHX8rAE2o66uBbaHSa9K", + "secret": "22f75ca0d85ba3ab8ab6133c4f8222cca188418422d6c8f30535f0db6399a747", + "public": "0287d014af5975037275978bd20691124f4d906be9c09ac5901d6388abc6fb2806" + }, + { + "address": "cvDxKoZWNEhuG73dxxjwBHJwHqHoj82qQJ", + "secret": "3cbc7c5436572ea5ff736489d84420158600d5c39e8175d3d1f752bc1ced2b90", + "public": "03279f03cfaa48f1eb80c66138e4e32b22b943c0b46c387c4a26dbd1cca5ac4147" + }, + { + "address": "2V6bLf431P4U8odSUTozXtNVyVhhfD1x8ks", + "secret": "4a9234206aefb76345294863efc3e344ac8294542d6c78eaa8f0f94a396eca29", + "public": "02a096ec8754944a523602aa7141c17e76de62c2d910edc107d9e5d2e2ddfafac9" + }, + { + "address": "78CiJEYytgY1GY3e7YkEEtc3iKUh17BsRB", + "secret": "e9fe953daa778f1a4e2ebac0f2d5efd9a10835d3301f51f6c23b3c03c1d6bd2f", + "public": "0311cf95a60d6e04ac1b08b3354efa2d364fc1f26d552b1f6f864379a264d49dcb" + }, + { + "address": "KxXp9kXfiUwqYApRBpSieRjG2gUz8MCAeA", + "secret": "f9b6f18626230dc0221df145949885138b66add73f216febbe8da03216852fa5", + "public": "0200780f30aeb162071b8e8f863d81ca0a9aff46fbf8475da8faa702ac66f7a705" + }, + { + "address": "TRXyHSr7oGbVbJurhkJGgSA3Q1NvPQadqs", + "secret": "189694b3d311db623cb393808e89cfcdff228f1675a8392f3a85882d116a442c", + "public": "0280a7a939f549d5d8c8fe377ebdde1413223b36708ea770a9fc37fc5bb4cfc742" + }, + { + "address": "2dzxhFNvfELuA7cPFsHR6z8NnoCZbBrwq8b", + "secret": "626fa9e02b3cb633ec3f5bd75aa7f39cb9c0c494ee9ffa1c059032086542ba54", + "public": "03aa1d51380d5ad3fe1e6c3bda6fc013d02dcd620784d5c1e37dbee85ad2296cb7" + }, + { + "address": "2NWM7ZKdpa1KAKbJGoh2kjKQWnF4PSRuTWd", + "secret": "77a01079dad73056ca87d84251811bd0e4925e59e64ea2a957fcab3368f56d5c", + "public": "02ab48fa9293ae86ce7eb083a2c90d8f63301e115052cebe7e1dbb281f424ddb8a" + }, + { + "address": "23X2NT6wQJicBDvZMUDysSV3wMgXVSoxMr3", + "secret": "aa7aff9bedd949cd11efdb243fea9e09e8a36700cf97d611122d9eeee9d597b4", + "public": "02bd0d5009b71f203acec6294881215d7db08595e9ed86dc92e634d5b0d2f23f0a" + }, + { + "address": "LH1YBP5AjvYaen4k7DYgFyAzqi9pKXBkgW", + "secret": "464afa06ba6e8c59a1f16315cdaba68549cd1616644a7a25b343390ca5d86bd3", + "public": "039bde448da1bd733e8582cd0a99f6288fa227e0f36f1e945603b2d83e5bb1edd1" + }, + { + "address": "LPedwEmoxZPp1Hfh2gM19aadcfjznvdcvA", + "secret": "ea2e750dbbaba5eb4f25597e27f0ecdad267de8404adbcbdffdf9ece9cb0e168", + "public": "021d0f2e38c66ea712101b9c522e9ae53c827e8c3124608ef64fc3cb316b4f099f" + }, + { + "address": "iuEGDZe6HGaVkR8Z2UgdDopPQaJZ9GahVc", + "secret": "88f6191752848ad861182bc02853fa7a62b2ef1e6a037a81738eee0ee0d5d495", + "public": "0224a18069cbaa5ce86031530cc6c53f5be72cce4affe5aa9e2fad32e93b231c58" + }, + { + "address": "2fFT7hVto1ijQx5S7mNtiRA14nkxKHmd8X2", + "secret": "a2a4095a7ee80b306c02c0dfa672f6de067ba62f6dd23e48cbf925e7cffeb376", + "public": "03b12f22cfdccd4999c0f8623e1b482f11679591198d76d7c448de1209c2b75a6e" + }, + { + "address": "2epcFgre2Cfgzr1nkLgB5LHmQNPxdebFHVW", + "secret": "3b9ab3594ba9909e49e46438c637f9247c3b343027196533047369af3f86d761", + "public": "034075500701002c771f867a354c5b63dfd7a27b230d6604e2b8063b945e1c83d4" + }, + { + "address": "Vwgtss72ku5Ud7UDZL836MQJohdcSuwGub", + "secret": "76690e5179208d5b72b57b19e492cd8201ee8867d5ebe40bdc8667af33b62da3", + "public": "03b88ae823021df56ada42cfc8c1fd88c7143eadea1ef884f1f0ee2e2943b8cdef" + }, + { + "address": "cXJ5ihXqFezFnWMygwsfifaskFT7xV4ghw", + "secret": "dc352ef72b282321a30ec9b0d959d4d9b77063a45f32d8c905448d0873460b69", + "public": "0320b8d9fb36ac1b22177930e31430d5b84c89aeb89ecdcd554872362c85afdc2e" + }, + { + "address": "2B5gSmoLbRppmBiHx8wxWwnX9Wt5XhV8c4m", + "secret": "aa687c90db3b0c2f87bad5455fd030bc8775dd0ff8a65948bddb2476f573aa46", + "public": "03bc34b2d5cfb361477821c4d7707f239b95c87d26e6928d4f3f4acc2d6718149a" + }, + { + "address": "CrMPQ1PjwKWnDdPVAQaSfozkHPuKzDe4JK", + "secret": "688c5018bec02673824ff63699d3002f80382aa6ecc7d2767f8f3c74ffb0590d", + "public": "0341fb80c77b69a986a39d1797a0c5b8cf1b9ebbcbf4c108a122b153e2d8ac3063" + }, + { + "address": "UxFfwBKAquEJYus4FZRJXu3Hqcrb6XgVXA", + "secret": "1be47e095bab584745b8474c9b8e3c1bd03cd14ab6d4cdad4278a33d804e6018", + "public": "022b2ca9b29ffab11f2ce848851c326eb8f016e7d402477c80fadea819b4c7dc2c" + }, + { + "address": "2bKghkQxAUpLRL2CH5UXi5obZR3e7bMXjev", + "secret": "4c8f815282e42bf87fd63533bd11c27bf2f684886419927ab539165869dabb47", + "public": "0327ff01fc52d974f53769efad15458ddfafc7526628faff0834b1688429abdb3a" + }, + { + "address": "yNQkWKwwyYaSWQRqxkuCPWLBDUny2VwRW5", + "secret": "e0a08d6aaa1efe1fd000901732256ef93946d68c038735b3ea99b54d0aeee8c2", + "public": "02c8c10b617f36160a432cf69551aaf10e5d92a3ef55b7960bfdea86b85c6a2aac" + }, + { + "address": "Ehy18wxh4BaU4H4ddKzhTe8upRdHdKgM3C", + "secret": "cf82029c3429bf9e3a2918fbb059dfdf667f56ebab79c62bb3379c4bcad9fccd", + "public": "0341b4c77a846dfb985f5e25c21dded44577d51b8cbd2c6728f1ccfea6f80ba547" + }, + { + "address": "87CxDUGMUEG4TbmKuJrnE81tnDfdbji3iD", + "secret": "7d9656cb64662392ed93c60d66c7c2e5c6d917bf955729c4672841b63e6967ff", + "public": "038a4b918b57f7b303ceb32f8b3e4a0a3f93907edca2c028b1eb1730890ff9de1c" + }, + { + "address": "M5Hd2UfGCYHHHAMRhhRNuMiH1L4PFTdBu7", + "secret": "7f96a3f77ee706de79268dc5b161305f0d60b32b5e39f827fb7c59c9d2c6f594", + "public": "03355b8c6ee5d09e41c5cfd0aefa230b3de94484bf65fe04b2b4ddad68a452cefe" + }, + { + "address": "7dCt8NcfvF2eqSDU31BSX6sdfbuYg6D7s3", + "secret": "c6d2f40294eeb8d5e9b05f79ff0011dcd641c318981f2a6fa118c1fee8301787", + "public": "026a28127485642665a7d791b8a94b7a19ec42ebaa30a6cae318ded26fc2e120eb" + }, + { + "address": "EfjaJj1zqUT7c44FtWTpTtZd9SctAsgYgN", + "secret": "5fa1c6aefa6b2c3265181f94362798bd97ac1157e2825a555c3a73ab298c9085", + "public": "03c51dbc5d349755cb608535d9678b67690a83ce6f4b4abd2b4b1bfa3d8deda428" + }, + { + "address": "G4t7VPjovTXpPkB4WFR5NsQs6UCKsZMrTV", + "secret": "a92f1ab3e1c387727a160af2236d5b1140b69016d8e328d0600e3ba933eae344", + "public": "02f5ef7788d11f164cb17facc1c3d755954373ad43c350ee22de71b1b4d3f6a921" + }, + { + "address": "EqnAHqETs7ZqSEwmVGcUBWENuXfF3AwX7u", + "secret": "8ed59413c05a8fb4258a38bc8e2ae33c549c31e953737433edccc00f6e281375", + "public": "03e99890fcf8468447dda686a52fcc4d2ebcb4a2a9598645cf17bd35e1b2036e4a" + }, + { + "address": "9JY67nL2TLrh4rf8W5KezEjakLffjJ7ZJv", + "secret": "819c8cc72b0c266c144c6c77f359d0c5f476fefc7d5e48b0cc32e694e00a1be9", + "public": "024eb7dd60ec2195640e68ae70cafbf9d3f32ed84491e9ef9917d50a15da31156a" + }, + { + "address": "eJhighy1FQDgytHobEPkFUrc8MRRDUrERX", + "secret": "d8ec3cefb2571360c9a63e100c133e1a28f5298479f6b71f24fd2e35a2ff391b", + "public": "02ae12cd82ddf09f2d41f2eeb4c89d7bcfcf7ea6d045825d5e7ff480006c873cac" + }, + { + "address": "sXKjeTQx1Kxg7JiUsY1s9JzxmaZAxJGz71", + "secret": "6d2213281136b28c2311ba20c7f06dfa2631023cb9c41600a343b12eab7a1fae", + "public": "03efe76de2c6f2bb427d311f819421fd737d9796ec4b5e884724bc83313bc7df25" + }, + { + "address": "2P4vNsCQX5e2TEFsA3phiEzzLNcsa55z5ZN", + "secret": "7e34200c29f235e7d41165de73e3e24345b333f2d62b1332d1645c79a131fe41", + "public": "02431861ed3afa26be09c750021b2f0e91b115216ad177403e45135346d037c421" + }, + { + "address": "2hK3XCyTcLDihcW1EpBqvRhUEfQTySJvtZj", + "secret": "26e1cbc5e0d46ed4ce85ffec8e2673ceb4703796b88a3dc47207f2e08dcff8dd", + "public": "03c07daec002df3915d53e49dd3bf592056f9ec01c4c9f71463bebf622d8db9651" + }, + { + "address": "CMyzndV7XRPcWyvLQtUckf4AqXh2BzeDaZ", + "secret": "016be155c064286b20c31e3eb78570aee436b4a1bcb51553a98a3b88db3f1a0e", + "public": "02dffd952d6087b6839ff2fb5406f8df0a588b47fa37f6b6501adef82237cc91e5" + }, + { + "address": "2Sx6BgyjTNa4SRGzrtQ3XczPtwKykMDNYUU", + "secret": "fd0f956556804aa600fbe8d179a5cd5293fa543f4b301496df71d44ca18f9f44", + "public": "021306263d266c508be82703eca67e924138e8373fad6db63fb082b173e3790a83" + }, + { + "address": "X54kZpzfh2QgJKptToev26n3DKtREcoPu3", + "secret": "5ebdaf145155d2c3b8f3c2058878121d4da049de70569287afcabdcedf9e548f", + "public": "0318d7c0dee3c80ed280adeddc136dfb8addc4a96a0fe1686ae40ad48c4538485a" + }, + { + "address": "2dy28oXtQ5xjMmk5WZoxestCyYrdDKp4k9a", + "secret": "9fef49579fb653c9a1cb089f286318cd125db8da7a02e1603a516ce0e90b9519", + "public": "0367c6fa57634d2dd0ed737eeaf9a968ee566f0f9ff8c080fb5d3a20955f1b9cd1" + }, + { + "address": "2YsSC6ULU9ud1HFPx61iK1EmbtFPwuPvLmX", + "secret": "93ca92327524ca10a615c97c803c31e181ec25e1221a66f6cf4ed45549832f05", + "public": "0272595118ad56acb6fd1a7e733d580fef7bd7177c8f5150e834daa4ade1f69d2c" + }, + { + "address": "c9yNnwGMSciNxtfCfDpZYQBqkKhcruoCBR", + "secret": "1837ba45ee86dbaa69529292dfbcc93c1424326ebdf8a77608f1a0f7f4e46679", + "public": "03a7a4a53f0e573ea39f83bb9bacd91ed402937678c7909a2630c852f6a677659c" + }, + { + "address": "2cPy9RXG1kqppk6hvBWJdYPusTM9oaNpaGY", + "secret": "5838f6f51f7ecda21c6bb33bb6878c0a9d25a86015dba6d79b0cdc472577dc4a", + "public": "02fb56f26293d4ac62f3e49e3b87e81c78661b8af91ccff7ee4f452cace307d842" + }, + { + "address": "2RrSuZnng4zVoTt4Ytq2tGqg9yYSXB4pwCn", + "secret": "97b347bb13110f84c58bb17e8ed424714a897f72893ed476f285db2e4fd8c80f", + "public": "0302adfd41a08a7f23338dcc45dd6fbd0bf3f4352f8abf814c10729a63c99863e9" + }, + { + "address": "3ThUUSbyeiP8sYcKUJfjTh68rZSBh2K1Qe", + "secret": "b5396837ab1890a661f493011d5d3198849ddf54f3620ddc89c7127cdc6e1031", + "public": "02a9b07fce49c94f70ad821eed6691d35435124528e4dfa060b218098794288782" + }, + { + "address": "2P7eu8oaRGRqfZMkm7XQCA4bkAMVuW7XarV", + "secret": "aa11b35c65657a62aa20b44fa2d79d7e39f0d50af94c83758db244e63cf3deb7", + "public": "0301a3fe3b088d93bc40f197f476017d02a3f269bf7e402bc30e8028f95eeb323d" + }, + { + "address": "wDgABtGkzH1fFoPRFRdXXPC8Eh4fbXA44X", + "secret": "e7e5b7774a59efaa663bb190f4141a443811fd915a0542ae6d5b80350ab4d566", + "public": "0398a4a1db8426a805b7c78a101605173073a26395b9e870894bcc19edad3ca1bf" + }, + { + "address": "2bxejRENs8r4JTvfcjzzPrYqAFHCZWZpUgT", + "secret": "fd684a261ce599c7e60b4ae3dd8c25ce6f379cd0917145e784b2d65bee3dbd40", + "public": "035ecac650a6ad90a0c7ce37c4a8f60470f720bc323665342b4c8a0891223e24fe" + }, + { + "address": "2KGpywnakyuFh8JwrQzkZVYZCNTUjNUP4QH", + "secret": "1f6f6a383bde7f74e62906fdd0e732777bdbe083d8cbc3f937911ea97527fb09", + "public": "02710b1c5b760022a5defcd04a471cb156304bc97b0f2888ec0319677de684d1b3" + }, + { + "address": "RtK2DJPZQKcDtFQUEvmjDrVWGzZ7yBL5SY", + "secret": "398bcee8a98af1760b796cf0ffb3b97915a5f7395976af48e56a88ff1723abc4", + "public": "0395443d2c26ad2e5b14c62d83d742c212741ea90a9f862270e9b6fa65f7f93eec" + }, + { + "address": "gSHFa7incxNmjnTRVeu9adx3H491Q6Z7gL", + "secret": "6f75672a799f02d99f8be68c3f5ec9cdaa4e225d6b63fb28413210592852339d", + "public": "0296ca726068a5902489957ec48c85cc9d77e868b159ba9ccd50e6a5a7208515b4" + }, + { + "address": "2VErjgC2zSFHYp8upgaUmYTpyqZm54HuaTy", + "secret": "d9a70bdb789be436b144ff6b337fc2179ae4dab76cd17ac61c69f81eb669b7db", + "public": "032ddb910371263818b94e8d5d763718ad8d6a1134bb806c1f6c84358482cc68aa" + }, + { + "address": "aGCeAXjw7P3grVg2N7ccWqvM6Urtsrr56k", + "secret": "1f6ac2fb2540969789c1e435cbf10e32f537603beb33afb9cc2561e1612bd3f0", + "public": "03930f9ac4c718599a2bb6dfa60215ea9679d393a57e2f1d0c1df60dd813b0e320" + }, + { + "address": "2Amstf2g1ABsQwZARZdP1hsyuTF2To4Qb7E", + "secret": "d5500918f2cf90b27f68e476a7f542201f881f62ab571c1a56f92b3ef2bbde98", + "public": "02d5c5807716a26bd520189294ee1394f9e331b052904bb74529e11af87ed4725a" + }, + { + "address": "LZH9W2Au9PdRNYChRYhQQ1WygQR2m1Gv8E", + "secret": "8565e2c08db9f98f6dceb06f01b6234960005f049360f9ab778864b278f53935", + "public": "035c4e48eba28145bf0c949a21b2d6d8ef0bb34112a5f75341372af93aa23d749b" + }, + { + "address": "tCNwshNocxoMVaRprwjnbfSoBtNXYdZbva", + "secret": "e5125d5a11dd0bd007cb96b665ce5a6924b3980d9707324961f3a5d98eb37fc3", + "public": "0203fa587df0939b087dcfa338bdf509674ae0b3b8c2554717c0f9bd0accf7c0b1" + }, + { + "address": "2KiyEu5BhXanjwmjASUNXS3d5fgk1ra2Dwj", + "secret": "556baa1dc55107be4cfe1c345350aa3d0d6c029b3b7e11287b06ef648ef799ab", + "public": "03003633353160cdf7887f5cd7a1631c28b52589d6349fe26105fc7831822dac1f" + }, + { + "address": "26PYDLjvhxjrKMaRnqrBoNtD523VdpsbsfA", + "secret": "a14b726d7f34d630b51c2d668c9d4a309ef13caa9d29faa9b25fb1acea77971f", + "public": "024015911a99f20fd61a7c836ef8bfb8c036322e9555d4f87fbfec8a280f251b13" + }, + { + "address": "2PMnPZxbrtjJBj4HtWnbNEJXGqNVuzg7L6T", + "secret": "1e057bdc28c90b117348301d61b7788799fa48747633b3ef65f128db85bf5f94", + "public": "032c82d55599f47c022b7ec1f2d94a63a980f88ed47e07eac48bbf0ac0bde7c3b3" + }, + { + "address": "ngEoKTA5kLWYecYcHpLUSrP8Renp5xG3Vf", + "secret": "63e673ad8615535dfec17d8d4232df7ce645556517e3a7a9b77cc535b62755c8", + "public": "037ffe90571b19501cc7c0e7619b6ee64f00f2f5f9bffc54b82e9637506a5179c7" + }, + { + "address": "2XTu3GjDN1haGmdP15JiedULe17Yvou3PUA", + "secret": "d0354da826bc9131d5c511bab8180df24445d4ecf3ac1d163c586a60ba691639", + "public": "03ae79c37f3806808c63ee7ccb22f82b2f43ac4da2081fd15c26c2361585415d11" + }, + { + "address": "Mi81U5WwUVeD8gvQUHk4uVwARQbW6GGdCN", + "secret": "cf4559eb1ab7e0dc0e2589ae74744a6c6440acc1c47c1e20af6597839302cfd8", + "public": "03f39538cbdae0192c6e467950c14e8b78181ac80a4f4be7118b920a0419d4748e" + }, + { + "address": "JS6ktiN7Ms79KoTQWGzZ1M8VAtRcrERu2N", + "secret": "753330d28ab5b9236fc9e3d2b0e289b61dd9f08f38f1326cb2adc79d10465d4e", + "public": "0369365644818b84383ec3f85eaaf5de68874b2f0993a2ca80e9fd5520a80f1142" + }, + { + "address": "2ZNsWDs1TacJQw5JxiRgVhUAcxThC6WHuJe", + "secret": "fe014fb4af0b644d30ca6cbf94dd56f9489cfe049e76ea7868f4ff77302934f4", + "public": "032efedffc122bff9baef556ea5925ecfa2c67c495cb19d981a1bdcaa44e74351e" + }, + { + "address": "LxgmkPM2f1HRcRrmzr9N3cEXugNmXsN8qH", + "secret": "a21b407ba7d8c319036912b3959a158be0f06aae3736502c8b6f9e45c3622239", + "public": "0370e1ef67eefb04dc4b36793e1d8dacef50f1956062a41e16aefd0df257ae0690" + }, + { + "address": "222JtJnk5pvmP8nbET1au9SZbomfzwUKFs5", + "secret": "fd1d0d6acb0f13009f1cc4067456d8b3e2ef43b1cd7ca9a5dceb9b682a29d10a", + "public": "03e193aa4c3448f010c380254a79bf4ec7936b92acda213d33b46f684c52077237" + }, + { + "address": "24voKQR8GY8aWuDp6deB16Nq8ZQMo1eKpmB", + "secret": "dc2d1c7680935541cd768d6a15304edbd709b2d8a6d2414d138292a707b17fbd", + "public": "03e75c1f8746e2d0c7001212b5a2f81b1703efc0bf9cb8f8b34fb10be810fd543b" + }, + { + "address": "vWtNWUB6gkdeCn5YUXbXArYNVfJLP4Cz87", + "secret": "0fb2a5b69860ebb7b5b17dcc20d283aa5f45983cbe0cd4a9fc2972f3b17b90f1", + "public": "02977a6e8bd289782fe6bc933e212fa7f13c6e915b44f8de61bed4786dd16f8f3e" + }, + { + "address": "F7vSLH9cg77q973YtGaWc5iodkMBpHiJ3T", + "secret": "57ed144cbfe320f19d3a3ad3d5d3e7103aa2fb62586d42da71e7f987da14b648", + "public": "022187aaee0d76e40534cc89ec0b299bc9e80fbf3fc10bcc0c01fead840cf80eb2" + }, + { + "address": "FuTw7roSkr6CNsKqzpUyQJvMpUReBSFTUd", + "secret": "31ca978b4bd2bf895eee56004c56e7a3d21e8ebdafeb572bbbecb36e0e16a5c2", + "public": "029eb0564cc27d0a4a65c1942e446585105cd05dc22a96f19764cdc8b7d0228f9b" + }, + { + "address": "hFGCMRbvKs4m1zAV1RqEGcyAi5SpMCco5N", + "secret": "68cdd1bbbf0b0b8774a6f45be72e0b561e6d30348d64dacec06b194e4c957365", + "public": "03d126e5cdea74eda90d02651be16a70d0580315e1617a70fe46531016a2c00cd4" + }, + { + "address": "6GPVFb8T8Y4iBd3bAmyojBiMM8RnPYgZKS", + "secret": "ccb1e0206867f641e3abd217c1e9811ae39ab55909a7711a04702e5603827655", + "public": "02fd2e9b6e7468dc351f32e6dda6ab83edaab1eb3d7e4acdc3d740677f106ff907" + }, + { + "address": "Ef8qDc2Q7Sz7J3eFnvd98SMEJCHmURdzS8", + "secret": "3a09f2bf6b43df6c213a94214dc65a9ad30c651d09e008be435e66e46ed41c14", + "public": "03cba4c199f928595615b8dbec52e7b20f1a10b40735adbbf7b6f107cd12751308" + }, + { + "address": "2DHxwQdqxY8NvwXBnwX7xhzs9aGKsspDbX1", + "secret": "e8813cacbdddfa7e48271964fb91a63eea487ca3f462e64ef598d3b5748f13aa", + "public": "02f156980f66466742b818fbe5fc452f7557f9e51f51e188543b746e5496fce569" + }, + { + "address": "gecvozAwkyuw9r6eUn8Rg59Y8DcgYk2dFB", + "secret": "fa9f8353f6a67de64f4a7d2719bd0c53bc80d48d05c272d59c7c3bd45d458bba", + "public": "02afa8788e25f7be793cd8c9cb505f7613015f1c0a2de08649757ed5bdffefcb94" + }, + { + "address": "81eQpxzb3xiQs6C9R16rTKJKKcPjAYP8CS", + "secret": "fb50e96115ca8e95e5def16d2ad10834dd2c5fc3fc5cf819d86cc47355bf9579", + "public": "02e5f672d5af83ce1aaab51e99a1225574598b27c922b4f1a3feca3c20cd6d3ee3" + }, + { + "address": "9RckSwNRZvVSWHRYTGW5TpYzWYAfa14CuW", + "secret": "c0c14f4b99871b6ab8da7d3e44e76f943481e7d313f7df492f15512c42fd9bfb", + "public": "02f57a28bc829e1fb9862d0a063f19b99d7a1acf93ee52b21ef838ca5cce45a822" + }, + { + "address": "kR5sYz4U3hpfvV9UpJoHpGe4b5dvSgxq8d", + "secret": "9b8e0a6e8e1ab9f089049a33be70b0ba67f9204227e49fa7085cfb12b9ffff44", + "public": "0271bc6796ff472cc141b0afc0169efccc865786b0d3a607cbaf31dd45fe1262e8" + }, + { + "address": "Nxo31uJshFSDeQqKTrFBayX2Kp4CELgnbi", + "secret": "29e4fdb5b7725afb1db7035cef6d4ef29cd818c81e66981a58d597c5d4259758", + "public": "02e95df9d7dca346d3fbbfb4a5c71689ff2226200f41118f951a3cf8d4f5574f78" + }, + { + "address": "2A7CxHDjsapYNt6NHQjWVKvxrXCFccKi6a4", + "secret": "2087742e97dd285b394d6b2f171009da8b0fb858bd4a0527a4e1fd8d04f922c3", + "public": "02a10f6ff9086e45bb2ffd96f56dcaf5adc8759da06fac9265cd116f6da6cb8d0c" + }, + { + "address": "MydhPQrxZubrT36DLVBvm4ww8jPgwXh3FR", + "secret": "a7d1a0b8a57b64b6149903ebf0b6aec407c5d8a7f5a0765b0fb62807fefdd9ee", + "public": "02858feda2754c0e692228f459b4f5b563adfc1c0d231d32777c369bfd12025261" + }, + { + "address": "2RCHxBQrfCpWpDgHhQMx9CDdNXuRSdBvQW7", + "secret": "9e59e8c9248db0067f382ec45f8b50fdb229b7d35145912cbda5a60652e4e2fe", + "public": "03ebf7323c9d07ae87639780e7fd2368dbb2a2be81fe2422a0a6caa3fe95af8070" + }, + { + "address": "2CibMMEZLdQNDNUkeGTxukCyP9ZQyKTdTwr", + "secret": "20ef1184fdf206000b3afe262bb8c7c1f7e47779c37e25b4aa8bc9ce1fcdd5ce", + "public": "0228a3cbbdbe7b3c06de4ba6a57b90f0a32353d967b1df3d2a735eea9985483531" + }, + { + "address": "2kS7peVSHev3CmmdN7DLaZtjEzvfvKkk5YD", + "secret": "92bc9d6ddf02530375b614e6dd951c0ae3732ba6186cdbac6ec2f0c85f40136d", + "public": "025a3b72d6a01728ddb251dc64295c7ccc8ece2dd068054c694ff856db247cf232" + }, + { + "address": "21oC4NFV2TGUjrGcrvPwVKpzgFkKM97kmB8", + "secret": "e61d9affee3d90ba37ea488fc7afc55ab78dd71e8b1b93b04ff83226aa4b73ce", + "public": "035d082c055d9c298234e57ec9871914c996884b2014de1c0eba6f958bd1353077" + }, + { + "address": "8u6dLFZSABo5ALndKjJ5ScYpDFv9R9uZDG", + "secret": "aa14f51b05ab597628809bed7e01008280d702fa85dcd8d6a284bdd5d18a5402", + "public": "02c089c13a962d52e5c46a445c5b6b4beb86ba95fa56359465e2308821e92e1261" + }, + { + "address": "k5Tw2oc5wEF7msAycqGdG6f7dFmSg3Y1Zb", + "secret": "a6134facf7ed270bc3bc2c69cc8883f8f63e9c937232bc4c0cf6cead6bcce999", + "public": "02a63bff81da219a749e513ac2971ddf06938ecf358c7a0d4ab4a2cd3498deed9a" + }, + { + "address": "JYXHANNbaSnXJhNsCxjytkA2F6rxE2KidV", + "secret": "19b88e4a1a08ca94d8b1a63ebb5cac5e3f862bfd33c246ce754db589e322e19f", + "public": "033ff55a1af67ae3b294be6a2d8995572681e3b71b95aa70aa2d26ace15d2fa165" + }, + { + "address": "2MiD5TDqRpKggn1kKrgrtpAUsYaREZrAcPg", + "secret": "14d82b366ef04a93bde3bce086256e54cbd55f597f9d9cdd9fcbfb17c7fc751e", + "public": "0352d8e915e865373d83be53fc117872ad560b7a82e2f5db84bb4785dfa7f2fc26" + }, + { + "address": "2hSv2av4dyyrsA7PWyt8Z6DfRgTxQCZV6KF", + "secret": "0cd99b278bbd4b0c3de49d5ea72b853e45e22b699086efacd3989aca748be469", + "public": "02382bffabcbfd3b8511528b3e0a2a17a543c8739475fdfe750874f3e04f57e3a1" + }, + { + "address": "RMEbHrzzidye3H366c38zoT9sEHcxbsndj", + "secret": "4d8949fda234c91983c3fed2b20e2122136f027b415c53c3b28fd3a9401030e4", + "public": "03413090be4d221f8a0d6a14bd411c296569417d04efd2a6bb75459a6808380bda" + }, + { + "address": "Vu9f2FuXNzXHhVZqLPjDjyaNLvF3eirA5B", + "secret": "d2de1f7c3105cbac90d122261c0fcfcc74cca0b0bfbfe9f334f753f3e36f9021", + "public": "039923f773cb3c12812c304aab95965c1a86c576d88508bc8ef97265568684c465" + }, + { + "address": "PvJvPdr2V2B4rRZosBo2x2tHmWefXdgQhr", + "secret": "2ac57beaa74675d799d24540f398b2f08672db637eda8cf024eea9e458af72cb", + "public": "02ded23068562062cccd51936e7fad88f7a202a55349f54c47cfc6f9be27a78309" + }, + { + "address": "2kaCFQ7x8rBJ6JttjYP4psf6ejKwADrH3Ed", + "secret": "341b2bec8e242e758ccce37178a134a50b3a97821c9d8a78c5f7f7c8fa545b72", + "public": "020dd4d4be64e0e7305e59bb928340e27f8381c3659e0b4f5fb3b746882e8fc609" + }, + { + "address": "2AYJYq4zBgKb1ZtC5RCF4TdG2zbbEAnfNch", + "secret": "1c304b592dcc3f935134a24eb57988bb8344a8c061d2f82c045868295c8be5a3", + "public": "0213136dc207e6b37ac9de79bd26598d2fa2ec25dd0f1fb4b9d41595b58502b348" + }, + { + "address": "GK9gno6miV6T9UTUswvc8pRdFf8NfNQLwN", + "secret": "fcc02916da58e734019b145f5850d1859905b9cdd48944de073f12d2115702b7", + "public": "02a97331c4f06faef53ba8936e0965516c6ef605724decfe69481443cf4fc2a755" + }, + { + "address": "iUkqHafpgjy6onWwQnvzdHnZDEe8rQXLdR", + "secret": "01f973071fd0188319092052ac43ffce7972283d98855265d3d82ea6a5c7cff9", + "public": "039a5cab52c9950588ac44cb5ac805d27aca17a6f7515f03f6d8b2ba5f6b12c93d" + }, + { + "address": "txb8qzZRZT1WRXrg84kQS93omLXhnTF8As", + "secret": "bf709d3b0eed838ff3edf0838a585d48de69b9ce8bdf389bb7d657cdde26a132", + "public": "03a08d2ab339e68465101d9dfbfa2b83265902ff5326b11b7ce53ea7f419bcd6e1" + }, + { + "address": "wydSm3axBbXCtygk3LEoUC6TDYzrASvY5e", + "secret": "8f3691f710738866731a562873a18a11b17aefeb5981a1c528cf94fb2961c1aa", + "public": "0342b15f8b54187e0528d67455f4f13fee993d2ce6c3e0330a48e805cdd8ffe8fe" + }, + { + "address": "GrcRWScVaDgjfY3vfybHCh4NiE3satxdYm", + "secret": "7e10f5ebf6a8ebf21e62c80ea90bf39c8c885b0b682d488dbe5b3146ae3df21e", + "public": "03be16c5650fd39e75e6344f1f94e56b8e2e32200cde1caea4a2d6a9d0b72260c8" + }, + { + "address": "2bWdKXnEMhTD1XUY2aMeiVS5bZkUHpYmMGH", + "secret": "185c0f312da84fecb88764438b48185aad42c7236180dc1961cedf4ca3bcccef", + "public": "030436246f3aea56925db62803f8e30d620b744aeac79e494890e2ecaaf6699fae" + }, + { + "address": "2V2Zi5eW2Uizu8mqBoCgfM2wNEsuBUV75MA", + "secret": "21f8705279bc92569a2d0cc3be054f6a34da982c7d8046ba3f92a7165bdaad2b", + "public": "030a582da2554ca666e19603ab129046e69afc88b2e10a643a053f935fa1ac91f9" + }, + { + "address": "2eoMqcWAh4CZ6fr5VF1P7JWByp9ZZyXxoLt", + "secret": "596d3109aa4d63509bae68a6d23bfa9b31f5118823208fafaa93e37dfb388ecc", + "public": "0212d52f6325785a064fda843f18936f41ab825adaf9d013b0cf6beb792ef3ac3d" + }, + { + "address": "2UJfBnL4wU9YrrC6qadiNHysCXn5uYSgJag", + "secret": "00e57b2fea94a45bb324b69c6efe451164dcff3f030197294e71c9e38abae3db", + "public": "031fdd5da24da4f04ad91c96c764caff0c9d5f61234446b2d4587c141e7741b754" + }, + { + "address": "Prd3few66cjZHCdB6za6G4v7fnPzeSD2iN", + "secret": "efa8feb48f1da1eeff8a66b0e051127846b73aa22c5bed6966048b8e09a17f47", + "public": "03f6e0fc17b5b3efc249986380633183ae578edd267055e9cb4b5c753414acd523" + }, + { + "address": "bs2oWEVpaH8fi2YqaDZ4VpSgEAcpjrBuLH", + "secret": "2376d1e38d7b79a5edc8db82291f7d23226ae0c9c8e541f8197e67bdef978660", + "public": "036a9e6eee4f778b184b8252ff0fa93e7054cf00e01cdba67907a3d04cf4812b27" + }, + { + "address": "jdXefcHXereUDbC6JyM9p6YKDMr48q2WPg", + "secret": "92181da42717c4ef58029f272e56e497b15147268b0c9e3830d8a76ac8293a73", + "public": "025e49a895fdd528d99561d7864076d1067683e374fcdd2b550a8bededeab01337" + }, + { + "address": "5NxWC4oktPpNE1bHAPksR6WRBuKj1dgdgj", + "secret": "3797eb0d846c2bfa231b21a88f68aaecddc3e4bb5f5c40b08e12a30ca5a9a8b8", + "public": "031ad96ab1dfbeeaca199c561a185165fb957dbc9ab615af157954319936759915" + }, + { + "address": "8MAM31HoWXZvDucv6K2qXDoTiVEDUoTZVo", + "secret": "d8c3a2b3899f1a4564d12960caf8bd2e02135981224d1f1251209209a1a7c3eb", + "public": "02be30b3205f3dd43c5224c96fc73460ba227ce463dbe3accb9f8cdd5e36e05bbc" + }, + { + "address": "Mzymc2SJmEtizbeBctHtWvLwkejj88PG84", + "secret": "5450122d57559c9524eb51445add43f6fdb9b5b3ef514daedbbb2409380f8091", + "public": "02a630725197056ad33d7d65e93ef00353de3b8516732ad3bf01b227457d4e2d33" + }, + { + "address": "pg3L2zkpFxWvZoFFrqJB6rpbLCc6AGzuRb", + "secret": "e43543544e2c5587a10cb0ac69cdb99a46f31cb8fcedf0d1aba4bef755175915", + "public": "035b250809634ca72f8ff5951c8b33b26665aa4d62e367befcee476d654c2db75b" + }, + { + "address": "2ND4LcwLPgoVf9h3mWCwNzRoMKRWiNtDaVb", + "secret": "e8338cb5e4f5008d4c2a133a5f2c5daef0b9ad807b1edca149a3ce48302cd4e6", + "public": "028f8a7bed139ce4a708872273115dee124e9187936318afce6614aaeb68efe348" + }, + { + "address": "JbxjtGo3m6fb9NHD1PXdXiePmjQoCxYGcJ", + "secret": "4e8ca2101270bdf9d18826f5b4cb19d2dad0aff9e848583d4574ca4442e6c721", + "public": "03b1b4eb17becc25c2299489bf28db1bff7d4cd282128591ba6c849d2e76c7ded1" + }, + { + "address": "2Lu6tTQ72MKV9wquyaXFja6XU9vLFScmUiF", + "secret": "e5dbfadb988d7117ff6ffe71064f6b0af0f689a7a30a605444f45a22dd998d43", + "public": "03b6764c3cf877df3cd6cc04813061985ca1fab72eeb0fdac8020d491a9b9cc8e6" + }, + { + "address": "Bk9aopdh4aVS9DXFVteEfnvK6B1G5ZQ6yF", + "secret": "3fb44c013e9119aae6de00c4d31911a9e3c8a8f7574d6087c16e97161b8d4fd7", + "public": "03679e922161ee237706bfb3b5d08b0ff3cd83cfb91b62687ce400e917115e84a3" + }, + { + "address": "pPHJkUrsgLHLrTW3W6A8MgdrYTCyb6uipf", + "secret": "e5efc89a01ff944f078aaa553ce1fd81774c5a0b8f74f39c49404cdb69bb3e41", + "public": "035b2e1d01c7dd09eabc905b3c274365abed2a5439b2dee9754bb1d3d760aaef48" + }, + { + "address": "2euWrr8eWQUwofQ84zQfpStygyUdLBmHG6T", + "secret": "8985df67d23fe2ed3ba1a487d9f4e6677752497c7690ef1d6b97242bba7e218d", + "public": "03092935e59628015a627db9dc3816d2b6323fc1b383d7b6c1bf0e7ffaebb7ff78" + }, + { + "address": "2JbV1HpUFaQNxBGGzXvmgKgsMRtRLiuu4iW", + "secret": "403c5105e61a06dae3846df4bb9cb015c7073137fe8c5b69633ab5fafb2f50d2", + "public": "021bf36446a0583323f37b4ccf6c3a1f7eeb9c5b16dc164a9222ce1bf58e9765d8" + }, + { + "address": "nkSd3RskDcX1UVrbi7McpTWjDDHTatAFuC", + "secret": "936535f0861ab8774e63a0da8910311215ee5b868d2b0fb7c63e9a6bd52556f3", + "public": "039b7b5687043d02634c7a37bdc49763da72ab6dd94e0e4bb9a57f46572d1c2c5f" + }, + { + "address": "2Tsgim6KU6LQmfdvhdWMFBQmLtYU8HhJ6h2", + "secret": "9e4dd2b272096951ef4776cdc7f176629c4fcdc964034847a482c3cc7de5eb02", + "public": "02a8e2ab0a854e1381b0632b0961633d541f31841512aae1089be8b8a89de1f96f" + }, + { + "address": "mF5CK5hbyT59F5mjS8Nmxhc8eqpu7ZoeiV", + "secret": "9f4424d21a2ae111217aadf776c9070f9e499beede5c0c6ab9d6a7e8f9e5a691", + "public": "03c3bb8a4676d5eb6d32c53c82c9b2bc6d37b8d98f414e67e59fc3ec4766e52b22" + }, + { + "address": "J5XUnSVpD5BoUQHPsJb1iHXBsmpZBnFoYV", + "secret": "c41cd6d22063a0f9d674e1c23f52f1842bed8938b17bf1f32db7d1ac70b10ac0", + "public": "02489d6562dacd0b39bd71d53c123dcb69b0edda93ee428554a904bfab2d77bed2" + }, + { + "address": "QJ9mJXCzFBRSL3xgVRSD9N2qJBZJfsMXDc", + "secret": "7f399ba3f61828187c23d5649ca93a4dccff0170df1b98eace826bc10c44987a", + "public": "022a0380050debb4516116c052c6b6369da3f99d8e983227d1f1ab083a776c38f0" + }, + { + "address": "qeSQ75vnGJSdfBwHLdaxNbmmh4ubrnDAju", + "secret": "022965e0753ecc622455ce3e794efc10afd2969f588a5653cd14858a922de550", + "public": "02f3aba0f28b0c36eabf82777f7eac06b65da1b344b4d1564d66255fd9ecaabde1" + }, + { + "address": "DQBDX9kunUZc8EhaCDaTsWCsR8fQdMFqNJ", + "secret": "34b344be4497e6969cbfae8e154d837c72c85f246bff54fa5a18eb16964b3479", + "public": "02e96f90e75ea904486562d31ec162cae8b75036a75d44888e55a2a062276c3c2b" + }, + { + "address": "2M8ffrt5gQ96ec8mid58y8dob4RpEQeKRtR", + "secret": "d072f6a2b4f85461aef64cac0d2f63134ddec4b9891359295b9a155eae735c15", + "public": "02fd82ff7a4f209b35152da7dec8c55a6d715c3643ffe23e53cd701b7d665da62d" + }, + { + "address": "23q2Y6do8YQ5hLqgMWPLRJoGCgHCpnmFceJ", + "secret": "ce494783eaea98c9c19083b79aef2f8fd4ff0e5ee27acc3ec3ab810706e7d8f3", + "public": "036226b6d29fc4db7410d7887be144b48ec7cf865bc2c8457417f2e5a4fe6c95e5" + }, + { + "address": "Mj8Az1NanWTB2bmQyyGjybYuVBvnRKjJvf", + "secret": "f75fd40219820fd2984e000c531e758cc5b8ae4fbc422f63ac3f8835b0eda06e", + "public": "0388fc76f02ccc90b86c240d880c9abf9a1a2299f7a59eb21f26f3d8d55bf5a6b9" + }, + { + "address": "2ZrbqGFYr8p9AHYrsGpMX81Svf3esHnv23w", + "secret": "e84439ec6b8da8758f88e91f33fa37a47ff218098520c634e71fa21897720bf9", + "public": "03db7a56071a216deb554b5b3bba3966c531a63c4312a18504e2d0b5780303fca0" + }, + { + "address": "2buvFGVozbDCzRpadgLt8gYqwkYApVzWzXq", + "secret": "648af6bb80e569e9e7d8155f81459d717fd7951362fde9ca5521cec0d7a8b44a", + "public": "021559a6f9630c7345bfa81feb9181624af8a21d831a49ecc9003a107619dd7cf0" + }, + { + "address": "rYd8g48TD4MQtPbKaCoZt8xzMNx1ppHqPd", + "secret": "fa0a33e154a972151f7b7b371d5184b07ac8ddda8141e1d0b521003ddf05dd69", + "public": "03b12cef132a3b0d6fcf79acac849681f24478df506c778c34389b5a02c660778f" + }, + { + "address": "2LVoYHBtfPiXybV5D6DRq6X6qrQxbDB6wB4", + "secret": "5a350017532d09953ed6e32bd8abb0f7a47268e0e4022cf15cbfadedf890518f", + "public": "03c7475b5097a89c68652a7aeabbec758aa18f102b2fc87289f993d694f0e89c80" + }, + { + "address": "nCGXsbdNQgf8HjjRDYzDouvFvQikmaZZVr", + "secret": "f6579d55c6fc7525d283831af9360d8a20a7c856dbf92fb1c5a02c146f0413a9", + "public": "021780bf8d1862a81ea1a75a89a9576e0330d0b4d20a61e0817bf3b9f9d52a815a" + }, + { + "address": "9z44BB51AgYhr3Ljqb2zMWQrvLpbLYd27j", + "secret": "80530625c63b9b6c1dc510039f379a8b01b0d646fe569ea2ce35322a1894fdfe", + "public": "02765c54f55f261a24c164a2ece6662d0008eb3a9f3a379d19d2b624d431738a53" + }, + { + "address": "ZHmtrHfaxG8U7y7pjf9azLyUtvYuX15egH", + "secret": "14b437e7aee69001945c95d203c08f9d19dc8a8dde97c7133d296b883e58292c", + "public": "0394c3de2b6d85c29b7b066318a8bf83f9758474f595541d9154399a790d1a0299" + }, + { + "address": "bd1D8ZA24hn2nnXJFu8BVdCZ9k1TmMADoQ", + "secret": "e32ec60d9815b47f4de798dec53ce29d706abd85838f6aed87bb9d251ef25114", + "public": "036c0a31bd777b096d09636c11892bcf197668cadd72d339a926a404fdb6e6c9d7" + }, + { + "address": "2g5eNKbSsUF2NXqGkPP9TuTa6YuiJTaPKgF", + "secret": "12346069b478a1004cd81e9056a4d56c8e8dbce92cca698916e93e1609bd603f", + "public": "03861f1e168860ff59e647b1b64617bb08133815ffa56fe56a79d95f2a97654298" + }, + { + "address": "tDw9LMweotZST3PeEAneUJKM4qn2Ti8Pwz", + "secret": "a84d45ad2f527acbb1baa76fb15f252a4e5e79763a059232a412e585030446a8", + "public": "02300b36d580deb81b563d5430f1f91b930ec72838008a1f7304c466ffc70bec66" + }, + { + "address": "wHVfmjDbVKmfYntbXYARdPyDuUUoAAw6op", + "secret": "206f1e19e7b1b8c61fa20a1aef9863d3119f348c9b82d4f8fcae8de42525e6d9", + "public": "039a54db3c39cfc2fdd8a2386f9e98e55462c1f1a041432ee5fa87c1fa4f70efba" + }, + { + "address": "FgkCgYgEbc9rAuuNUdZgeUwCw3XrnGFX3s", + "secret": "db7cde643d4847775836ec285af69de816f699048e64571cb911444e258cc40f", + "public": "028332c7267e536582c2308c166c5be90c1365fea194a4916bec575f19295259d3" + }, + { + "address": "2R9QoPRT5ucDMXQku5T3ZbHymPGkX6SNSgH", + "secret": "9cb4301d96c544ce6f3c19071c5145b89b100ec8aef58bdf90c90aec054ce985", + "public": "03e9b2e1541e9559887ddc09f22f575de87db66b895eadce25cbb68bb243068b20" + }, + { + "address": "2n1NfYxcLwoH1jakovQ2sM4ShKH3Tcs4rWL", + "secret": "7b031409b353b33f8921ede8a6b03c6b61a6b1a4fe81769c79751aa7b023ae3c", + "public": "03f024762d6f497aef1a1fb90deeb34da641b8a1a0470040a784fe85dae164a406" + }, + { + "address": "2E21TE2z5qCtTT9WwXNWD2jQBLeH7nGB6Kt", + "secret": "555190ea46cad100a23dc8261250dce85ae205d2848c81477ad0eec31d9070dc", + "public": "0252684dff78d0b15faadb0e0d4f3fdc9ac9f168b62721119bcba98609bded5caf" + }, + { + "address": "2gRYextJNcQE2TJUSCBxhcnEK1siAtH7mhU", + "secret": "fd895903859ca6a879f8a6214b67a4458a804965fcf85f893d04df4fcc1dbe30", + "public": "037b4075a8e23d4d14e5b2090fb78c0cb72737197f27ce1da81ccd1097cee99db4" + }, + { + "address": "2M2KmM33LeLGZ18e4G9CioqzSqaAsii44bE", + "secret": "2bd1ff5e663a33f3d36df0dce93148789ec358093ff3e335e88897027a639f81", + "public": "02e579ce75e735146329eb9b67c5af870fd95ab070bc18b80ce8a536c92db98189" + }, + { + "address": "zeUUj9uFNSgkW8VTHjR7AwhcfKsa7xDwMi", + "secret": "ed2b56c6babfc1a1a55f8d393f35b517993a61651b6380d938ab0dc322a00e66", + "public": "029306804e046440a614e43dca6854a37d194dd58867c2efbc109500a63b85a38f" + }, + { + "address": "2DdyebEM9mHwrX3jmcTvzgnmdBQYetyNWY3", + "secret": "4eb31d856d118fbf86e151a08615bd20248315f8ff9666e7470e5ded6423019e", + "public": "026812e3cfcfac2970a723e05c5c457ba99e2298b4ec06a5464e59064f29a10d95" + }, + { + "address": "WXAafhTwvot8bnNY1ekUDmad1b3xzW5KoB", + "secret": "98690f96a8bcb814cdb88a6ca5c5bf260586a1919913a2af3e5bf47f4843cfc0", + "public": "03c1ef010a6891cb5f9a34302b52f6cf47e1859dfebbb0d8aec889ff93e95a27c8" + }, + { + "address": "5Qf7bQMDQgJSGMXPh6nNJdFHjbbPr6vyB3", + "secret": "87cac60697e5670624b0086a10e5a3a29b54fabcd302e8fb22e1f46a319c14b2", + "public": "020edf7e9ddb148abc5e22cca11b3eae82a28832d0069c0dd54d75f87105f1d2b1" + }, + { + "address": "SKVDSRbKdqMjhR2ciTEc8nr8zXNHAcrSfS", + "secret": "84f3f3b47fc67662ff7353d14f28c64d824b2e877d457fc749bc437e6bcd7058", + "public": "021e6d35f208aa9bb7d4c920c3b4d10eda891efd7f9af569e6e6bc624ec5c8f3f4" + }, + { + "address": "gowLNZDHBB9tNmEG6qz2NNwGkY1SouL1tm", + "secret": "b25ece468580847a3857d3d694924060e1e385d8d6c85e98c1b495bdfd8cdcdd", + "public": "036a8d7baac3beadb20bf1b5b6e900c99f1a476b91e3ffdbd8ad6cbc2310055bb5" + }, + { + "address": "Fsh4tkUymVnqmGiAYC9wX48fw2fucNipFb", + "secret": "e3877a2e5b413ff58ac84a792cbdb604d38b960dd5e5ea978fafd0a60850f746", + "public": "025775cf3978b487bf7aa201683a82930a0c1e8a61d466936c07006f719bb7fdf5" + }, + { + "address": "2Ma9qXTpbJ9JmYuUhZU6y1nwXKzJwbE3i5B", + "secret": "6625fc71d334dd607a82f6cc4e73a260eb9ae5a08b31f323bd896714eb38c7a0", + "public": "03132099778fce50227afc5e41c65d9830ee2930bc789e242dc11f153dab5538dd" + }, + { + "address": "nsjzo4SXJK9AXaw8fSkossG7einZQxmjuj", + "secret": "5665f7c5048337a78dc75c98c591b31901ce7fc43a8ba5ebe7f45a5ab062d80f", + "public": "0263deef3218d427110f58d0d72a66d0deadfb2d9cca0aa2b2cd283ec805cf87ba" + }, + { + "address": "2ipWusQvA7UN552H7e1zY8pXb5h7z9cvwaj", + "secret": "e0842dc4b26eb0d3f04ac0aa9abe86fd1bfa7202789543ff34fb08078457c419", + "public": "0252193f968bee3c45adb88c4881c0770b49440782a1ebc5095ef6c1453a3a039d" + }, + { + "address": "f1xfUvKjRCeBzvwdfCu399cebpX1vDFESV", + "secret": "f7b7138be61f2785e5d7dc9c4e987c1dabb7913c5c675d68cf0dbf6ea3511238", + "public": "0313f2f2a40cff2672943935a0b529624bd8be43d65de1eb076e983b2f0b60d36e" + }, + { + "address": "o3YhEi1J9QoEkk48YwCdhdSPTZVX3FJDGQ", + "secret": "2acfe55aaeccf96199403b04f37e350244b04875946bbacefc321f5514de675c", + "public": "02eded9af107b76a0339242ac409f01664979a8edf182760c393a2a67e9f78ed40" + }, + { + "address": "49SvQFsbWdBB5y7ijBYFcDJL59Aj5NckFY", + "secret": "766221b7013f73b64fa328c2633456eb66fbc9dab7dabb17d3a87d1ed1fb1517", + "public": "03268b627d2d62a7541c7a376738a170c897316d93a07cfb3890414f010fb00db2" + }, + { + "address": "joV4SQMdpCUDUZftsKLd7NNLshkHxeysLY", + "secret": "83fd7eaa0dfd5f7e7897994d162de93d91b09aff9b9b685133c3b3f372e00ced", + "public": "02afb8fbb2f77e29f3751a5e3c9be92b4a42e05955c7b58d5c09d878c233571460" + }, + { + "address": "SmSro39dpb6RCTSd3xAVpQcXtauUk2zzL4", + "secret": "88c46c1b53ce49abc62814e5564496b3b0c1c3a51dad775191f8ddeec522f30f", + "public": "03cf3e3cb197c3746187b8a0f3550c8389e2a00af834dfcb81ef3eeb21c5143dd7" + }, + { + "address": "QQwrjn5k3khUgvHjPst6GVHn6F2AwNYs1p", + "secret": "c82e491f70f9bbadc4bc518cc6d74eb9149b1a10e67529874dc9292339277d74", + "public": "027ab1776783179393527326b64836d737832cc5b9909cfd1219024e1e0fd0fdc3" + }, + { + "address": "JAgmiif855wDZgaC7U5wYg9dyuWi5nxPHr", + "secret": "25830dd91c4037776b390ee7f598aa8fe65847169437dd925e240883b1947b8d", + "public": "02b9f656a6ac504eac5f22cab1472e4760fd5064589ea36492dc6d7ba2753ee5e0" + }, + { + "address": "26MHnfJWUL4uNee9LjdAGLGa7HC4EpLH7S", + "secret": "e70d55437795dda9fae07616b2eddc1f3ea6f3ab0f971e5f7091a225caf2fd88", + "public": "03440d9fd95ada18ac1076623f92f9e2fd7d2c4493c504bfb5faa2250aa7d50cdb" + }, + { + "address": "k4jTLy6nhFhpxXKogNAcbbhXeKYJXKqgA1", + "secret": "fb3c20a167fa642a78d55347fa54d9e1d7e2a3a0f0b43534faa6d846b84516c8", + "public": "026648469e9a9f18ec527885fe8f2665acffa546979007758fe6ce2892f0a26e65" + }, + { + "address": "gMDDYLmdNigohzJbpH4pkZEVHGzdpJC9KR", + "secret": "b06b09ff98110ed0e7b76ca84288d7a0a73693d0d1058310b46922873b276252", + "public": "0298bcde4659aafc2d6f55b394de41107c400ea786460e01595c1b0ce568d0f928" + }, + { + "address": "2QXKE1KgQvHLfrUuP7pK1xDo8BHsNNR5wu1", + "secret": "b476c0ede7587bb5d76532c984fa5a4d810aa4341990837ebdb70e9e4d4c2099", + "public": "0378972efc8ed0aff8fe5a9b530bd70b697150c45799567bb21fc24542802157e9" + }, + { + "address": "zRH1vs7WRARth893W7ZXL7dkp24JJEHLfm", + "secret": "137303696ccf1fe9c4a3167dcfdab890f10fd46861634c17b75203d1ed181bcb", + "public": "03b241d494fff26c5fc1a8f9c509284151794696e4bd5736184e42bda7a2d1ceb5" + }, + { + "address": "2bgEuW1vkDRfSvzVaHrsN2V7mahtMsopgJB", + "secret": "7584cf68badbf5cf89950fa55e92d38ad678b320a2dd87baac186ed272e3fc73", + "public": "033697a7ff566de076c1f62e21964078876ff0bf00cb52c6b0ec28885a5703b4c6" + }, + { + "address": "S3M5uARXPFWon4dVxJbFt9oL5cPZDLGEzW", + "secret": "34b07e4545dc8d5681058630b94d16b76e302020a295fa72f1f3ea5f9e555ec2", + "public": "021f506a48039b0b9daf3857207c85213a2e6e9a86b9e7f19174835c0a7fc7ff3b" + }, + { + "address": "29LsJE9Rp9EfDjMCoFSwhsJPy1BvB9v7iaY", + "secret": "dc9574c4593e48481e7ed0e4178289f238f63cbeaf659d9d7d9e67a919b60ddb", + "public": "022922ad2cb0d3f22f0d7c8b990db9b1c98bbbdc5c172598da5c9b0cef6d8f3537" + }, + { + "address": "29gtaNw6Sh6Eza9CLNTR6AsLYP2s5RqxBcZ", + "secret": "a76b65ce9b49e5ecd1952d117713097b3c8610bd6a024190fbee18e516e87d86", + "public": "03428a59615bb06d26ac224215f79b47b3b90aa677db112a2a80d8a9848722ec25" + }, + { + "address": "21iG54TP9jygdxhcdceUrk2Szvg3PRHteTc", + "secret": "67c4ef1f760b5953ebb32055fd76d8c2bc2415c72ef8bfe1a8eb40647b199d7b", + "public": "0397a70380961422ea32c25a34b0cec7cc58fe7f62f9501177ece0b6acadc86c59" + }, + { + "address": "XEzXQfHKhQuMtgCHRRNWYZ7VTNCJUCy5Dr", + "secret": "8b71c09585dcede6d668bf0020787ac50c9556714321c288b4e0eb8302864386", + "public": "03bbb9313b566fa2e5bb153af95992adb39d1f3a8f77ebe6d36cf1d9e874dec0fe" + }, + { + "address": "8safALsBasgBw5U52rryWk5vWa3XWmQfks", + "secret": "ebb458a1777415e80574e94ba3fd381ecefd7871dd3f8e231ac97948d9d6af2e", + "public": "027841bd654f450121a3730982808e7526365f4ead99ed226cde64fbf460c9ef52" + }, + { + "address": "o5j27rParabrSJPUGGC26yX6pBqqNcDi7", + "secret": "5091e3ea0d50a88d12c2f331717f87b5289f26f12aab3145c017e59823617b9b", + "public": "024a2c3b28276e59db236ac1458c165a30f6e8fa8af411e663aa815d2f0e0f5a1e" + }, + { + "address": "26XbTkFX3sXem69GaSBHezQkmRzGJLJsdio", + "secret": "dbad683919d198390157accf51d1c246fa6282d0ab494aa418aeae9152219445", + "public": "03e4009cac3088edb22bfea5ad639016b64b36debb1f12475cf036c37ad4e5e69f" + }, + { + "address": "yuFUDW1RSa226gQKLG7d8GcCFxFVaSb3Zk", + "secret": "d2b5f0954912e055d0dd56cc3e921147c62942cb665b4d52e60530edb32d72d3", + "public": "03d12828f548687480d31b41dcc6c4e90b6abce46ddec55586a6e8acb7727157d4" + }, + { + "address": "2kmy4ccRfRCDcaFJw2G5WwikcoFCxTyFmTM", + "secret": "4381f86b3987baf546fd72efa280b8dc6b0819fb463d8ae5d591ff5061b1c12e", + "public": "021b20bd44372c14999ddb5f777d7d16bb7c2df0123b210e1a8c7e56701accc848" + }, + { + "address": "2K5dB6rem74XYuajLLhmxk1Ym5ktyF2rHK6", + "secret": "d6aeac3755497bac024965298fa8e8c02766122c5e99af88091751a051a1a84f", + "public": "0243b5a4cb7d2a422e2ab703520fcafcad3a62c071a1e18e827cbdd16b982af1c7" + }, + { + "address": "DS89RK7MsmZErHe4vc4a3zqp7BCatZYYh1", + "secret": "198614c6bac55b6f1ff6561051c70cf4aea344587f637e526de39e9179d3a4da", + "public": "02c92b2f731386e94d4a43f965cc443c19e5da1b7915084ab4888cb8348944194d" + }, + { + "address": "ccuSWwS7Hvw7UdQgNaZGqeAXH4v3kCsoJi", + "secret": "b1e8829213ff5231968cf5e7b9ff13cf83d945a7de3eb903eee46d857903f544", + "public": "0334c602e039256862c040ff3200bfd591fe65c5f10e0ec6fa8b173a03ab4b20c1" + }, + { + "address": "QxgofLYmG7Cyyqg9PPbcYWUE4Jf5r6JMmK", + "secret": "9e617dceff8339cd34094b9ff8cf3ad9f66c702528b58391e94f7c9b775a2313", + "public": "02913bac8d16a9df9c8a94507a2d93d21d7bbeb5733e3f16a1a619c8d4649f610f" + }, + { + "address": "24BL6QMtEsank54gFDG6JfGbKkzcfmbYHvH", + "secret": "64dbde8e8125fc928c4805122ed1def7a968ac458d949d50e77b02a9b72ff16a", + "public": "029a30417b752a63570caf8b4caf3bbc9df6ace56320121f59d9f3f73ee5c66419" + }, + { + "address": "iNCaYPUY7iFwuNdKkBdF2QRbuJG2Z89T5T", + "secret": "4532262c82d391663f96fb922d3eee86179deab0395f32e658c243dfc4b259f6", + "public": "03e9f19634daa5aea15533f097d2e65fee7e427a26f690530f8bdf8592e08563f8" + }, + { + "address": "B5PrWYoMX4X6xQy6vavi6aSB7niTTxBEUo", + "secret": "e43f066ecb51d8b88e92ec6bdc39b62482ef349353eea9daa6ba866f336d12dc", + "public": "03e36925d3826236e41efb6fa4c7efea1c84979cdcbb299707028fe8deb3344140" + }, + { + "address": "huYwnnc82FHNNdF6MomXUGE2aFu4Apo1eB", + "secret": "e835d2a47abf7865afaf03d7399e038ade3c79ed40ded121b3879010ea437ada", + "public": "0397c04c78b5f17306d04bdb8aa986808e2aa9f736376cba5246bc3c766a552f29" + }, + { + "address": "2Uidx5h6vU5ijGsigtrhtCymmXgkdScXu2A", + "secret": "9c97a07295238b5e968fb6d256efc0298b2d86ad339f41a22aa99208e441462f", + "public": "0366fa3afaa882fe120c5461c7831818ad771eb4454ac1833be66e4409d68c1d5c" + }, + { + "address": "sssGhHuMTELS4afckMa5xCfFwUdoTpQogR", + "secret": "b682db37d4e64798e7ffba455ecef95ee7134582f7ad72a4f077a4612dc71eff", + "public": "036b3043af63338f60227ecd8b810e122f6efae22fd83e579b7cfa75dffaca7638" + }, + { + "address": "23FmY9Rvb9WWDZnQegW9HcwPcSSWXJYy9rW", + "secret": "92bbd9023b9bd5a1871b23a4ec30144b4a9403a27aacd207df2072096fc74a92", + "public": "02530c3e0158aeb99422c5c23114e494ccefbc6581b27e46b9c1163fe71973fbac" + }, + { + "address": "fqdRNStjfsNdmpK3DQK9WVTtSs2mph8Kwt", + "secret": "66fb2e78682b560c4ae978c5ab294c8d7f6d710cdd5914b4d613aebd89d3572f", + "public": "022d6a236600e6672d9e4f7f10bde1b42f2950fcf21248c8f6488b95303539a3cc" + }, + { + "address": "ZJiG2CGoqtSx2GkuxFvoToLdcnVHHzDtHi", + "secret": "6d95dac69ac754af9e1afae5ca34aabdf9b810a108804c58723248fcf4f05466", + "public": "02092f669a4858e627bb5a371f629aa9de2db91e1ad7ba633d027b6354af8b6811" + }, + { + "address": "stC7w5uT6NxykyuDTr8wa5yXhHL1RQHHHC", + "secret": "61073b41891fb56c71e5f7483e63807b6912763019630267c19ea9d9cfc93d84", + "public": "035c445fb99914723945b2c1e1b54b7ac35bed350284b0d93e5d492a41cc87d86d" + }, + { + "address": "BpWeZBhPNCYMpzBiKMcUNaR8qX4kdxdy3E", + "secret": "5ab3d7484566f08ff1be3c9c9dc74d001c5531fb5ecdf98f87bf4e36b6154153", + "public": "0229270ef80ce2340bdfffa6e4809fc43f9a033037f63a865acc69c12773b64054" + }, + { + "address": "2SMsFtscMGLu9Sx87HBebRG8naW4iLA2cZz", + "secret": "1e528bd5632186db07cdef8449c1eedfae575ac4c56f0bf9440b4e6be28ccb27", + "public": "031b597d85b54343593060588e1c4d820a0295ca573cfb88b066be174b69a93a69" + }, + { + "address": "bnDptZijEK6av5LjjaywjhgkqyU3xRyadj", + "secret": "abaad2674b08b8869a3c66dd86a6197c3f0505cf07b1f20a8f9ae934ba2dbd1b", + "public": "027e4a5d95c683171da70094a3a12c2bdf9012745d509d1ee732e58c0045035a9a" + }, + { + "address": "wwW42DUNggV9cmupj1Qf6uHU5RmipL1dSC", + "secret": "1b9a75bdcaf6b9b4d4f4994233126f28d63f56ed11d7067a69fabf946b313456", + "public": "02a842939d4a77bfcce9994708751b564ca29233672149b4d144da27586c98ecde" + }, + { + "address": "BnRkAyySwtJ3RU1AcqLfNBFUwi1wp4SoLP", + "secret": "9d3cbe92944aba5c8c0649161a398d3f8f458c269d760e9b625acce3a476ed8d", + "public": "025e1cd036ecbdbfb9123ff839f007ec0feb3cc66d1a82965ad373508079669031" + }, + { + "address": "jdgX9aogovnV3BLVg43MoRmSBXUKAaKwaT", + "secret": "3291f3e77bcc03cb913fa0aaec62c75f43311037ee80c80df8d162969a8756ce", + "public": "02551abd2d1ba1bbd28d2e6016bc5e41a56d153313c762797c7b8749643134c4f1" + }, + { + "address": "ZG3RtZogdoEj2gUGkgZgyqD36EJnGaBKFL", + "secret": "3dc50dea1948cac53baa20453eb4e457c545e7b6d07c07eab23952188bbe041d", + "public": "03a100b0493995563b865c1a58612843e9120dc6b0577f95b04e5839f0260d56c6" + }, + { + "address": "HvNoZMcknBtSHMGmkNAdviAqmiynJbkbEg", + "secret": "6ba1222dddac6d0a5bf8a3539d01e4117e69b559287b0bf56afdd6055d927bc1", + "public": "035559216c7f0bfdd24b03208e5d77c82dffb7108570589b4c6e9172e982c9ca03" + }, + { + "address": "2R94sJXypsCnnhWauFb8XKtJrLfNJ6Jki7G", + "secret": "4c8809559e07f860b56132a1cb6ab660db9bd15bee02991c93dcfcd9c453b7a4", + "public": "023c9af631584445b2a6c7c22353478db1ca9d546b7af5c7384e038dc6dc38085e" + }, + { + "address": "Bf3doov6qd9M9iTzw6ppuNSiv5FnsBnPFj", + "secret": "f513f76c64ddde08ddbbf2a38a39f864218d65ae23bf457a790ce5e1c5b37893", + "public": "0304b8ecf1a3aac1eaa6b67032047848389aa3feccdcc3cc6dd5ea661c85ee5f35" + }, + { + "address": "e6297wnTqHemj3UjUsHEcfkWgoYLY34ESP", + "secret": "9d69dc4a3bec0c7c706356c6ecd1c7ac5162dca35a6aae6c9ed8df86885aae50", + "public": "0305c56afe0588c191b0dc1b0ce37df4dc8e71cf6e9e55fe68c18c094ed9dcbb5a" + }, + { + "address": "sFwqVVHrN7KHN41F8jU9g7kwYpAJkQ2YXf", + "secret": "2fc60a5c19c707445faf08a76ef89f1d4d8ce0e6ab883711ba859851ceef19a1", + "public": "023e2ee53efc59e8516a65c36f5655d57b67ecf64afa4362235568d6fbdb9aa872" + }, + { + "address": "wTttDcbFvgPuniukJhxKV73XKxTGjLt7vA", + "secret": "545c0b9625e5b9c9929e267c4f10379447b7c5ee9fda6f6f6b3038ccd563266b", + "public": "0357953cc18907b20e5516dfe2fac4b35c33a778559fd21f2a7266defcc5b0b8c8" + }, + { + "address": "2SCgJ7nLb3To7LihhrKWfZLNoDr88k4pcEE", + "secret": "8f37ec0ae63e299a6ec5db7fe241dc30acc8bcb1f629d66326c7aa79f5263d6a", + "public": "03eba8479f757c91703601cafbb601db428be8f9acd9c6d2c05440fd42d87fbf2f" + }, + { + "address": "265SGFsQ5a65k16Mifui5R1GvtuDpnuN49Q", + "secret": "c98ec995d808922549bcbc5217c826bd3e0369754dd09396bbda8c5a7be6b1d2", + "public": "02cd1a00f584cab9c9fcddbc21ee8ce269d055ce230085a6318922335c00f0fabd" + }, + { + "address": "WJcJburNm8edTpbPVMNqnTuWFWWGRFUhTL", + "secret": "3d8e9968716ef2e8ecf5c260a78af235a76be4c35c33b7ef44c9612ad061252b", + "public": "03aeb0564afd126b603a47116caa9a6a9bdaae72f6b16b57c278c8850e77669e63" + }, + { + "address": "2ZVfdVcExE27kEsqXTHRvH4CWhtrgerytru", + "secret": "017a418ec986559a235f235e40dc1a4847c6ab6c8379769ca1e3f53263608a1e", + "public": "03093f374e5184893941460723c082e6c03edb07a24481011dc4913045e1988f3c" + }, + { + "address": "rrzosBqV6qPrLcXmUi38E4JuT5HK9p5EZ2", + "secret": "2be9b2d68a22435750341c07bfca519a0282f6b8e8a89504cf327fc0361d1794", + "public": "027ce626a4c6ed8ec8442d196c2779eefd48a1dbf14136cb4a2f1fe203d1a5488d" + }, + { + "address": "CAh4fftzSytRiuoD1mhKPr2odx1we74S9M", + "secret": "7d86a42ac216a345c761f28412c606c3ddc518021c44ed5d9316469260eceb77", + "public": "02369a7e1b3527c29616f6b9cd7a9264ebe7c4fca5cec9249ec9c2fbdbaa79fca4" + }, + { + "address": "hT9MrhFKQ3st4LaCSpiLYMvHhKDjHsWhdM", + "secret": "88e7e0a3b6709d657b686c3b44c7c94560f4287752206a80c819d18672042bbb", + "public": "02b1fe72058c93ef78e3a0d766a577d0483b34fb8e1310ebdfef3072373ee380d6" + }, + { + "address": "24U2xuWF4Sy7H54J84cTwMe19tZpJGFpYv6", + "secret": "f66c96e161c59ff504434ef31cba28cc01bae76f9782c0ddff2b7a2b3483b44c", + "public": "0369d6be394fe7eabb5340fb2703efb82b07d92fafaf46a66716ef3e158abba759" + }, + { + "address": "2GdfV6jEBBCq39A1TAuReBR6MGu68NfAzQv", + "secret": "ed97ecfd2dcffc1bf79853d1b659720afa9334b3e94650a4a7561580e97699c4", + "public": "02abb05b3015f33f2c30230978b680f1e8e9ea00d1ee067521cb54ec3a5320a712" + }, + { + "address": "G4W6UDwRi3n4s3erXq5viKHfD8Gt6Dv6Jc", + "secret": "36240bebec42b7928104606f9f939eb155ba296e567b8c62dccec004ad603339", + "public": "038808ca90a168226c3083378e9d6a43e2637d0a3ed61ea1ffbdd5619a3b2ddb03" + }, + { + "address": "2EDc2WfM84fEXwahWNynu3iDXLZeJvzSunL", + "secret": "c9604c86f8a949e0d186bc656d6d3625dd3e248416e408a5c2ab8b7f70835926", + "public": "02fb89b41148210016e8ab63bc4175b0d3e8c07784536435f1535c37db523b5f04" + }, + { + "address": "2f7WZfa6CMs8YBuBpha6U7H2eSj93ePBX5j", + "secret": "e6de015f90b46bff63dc0977b3e9c48338865bba24a09ee7012696c4cc56662f", + "public": "03fec5fff6df86f8783056e7e7e0d0ce9d160a62394afdbd7f4e73e1ca7f2f1a0a" + }, + { + "address": "6CGm1DqHawvJrfQjt2UfABWo3bhkr8UJQD", + "secret": "8d5e6cfd6440a1ca8583c59cc1f0155bcc3d3aa5e9b084d2490603acabc0fb75", + "public": "02357f3dcb10b5630bd904259bb75137889c04123b509b77cb9dcc33b9de2e1a69" + }, + { + "address": "5yq6MtxX9tP9dfM3A8FKH9xLY9UpAcxm4D", + "secret": "fea98f69b33c8a708459a4c224c4fefa66a152a0e6a853b85585f7147c0e95e0", + "public": "035a2b87b8d9ae00d39606bd626ab395814e2e1ae1fde6add2dba581ca00dd6200" + }, + { + "address": "GMaMEgBcs5csC5XamNTYyniVTo5ngHD8k5", + "secret": "0da55fb8a6846a8a34e3965fcf0a33d314050c160bc3b9537cab8a385776ba42", + "public": "020c3aed49b27d6c62d76f209fe5227a2d4fbfaec5d7eff7015c5cb2c6403c2ff5" + }, + { + "address": "VPHFDCFDchimwsVGtc2jmPtycJwDnbp5EU", + "secret": "c9dd55ca1018b0d8533ba318ed08f1af73f9b98eb919f4b6af4c360becd3658e", + "public": "02b0dd156151a6228dc4cd5cc1ec9642f3215b919d793efb9900266bc18937345f" + }, + { + "address": "L3qpTuDGH5wem8EWY82fUwo1oYzFctess4", + "secret": "b1e2ffdae4f2aa3b20df169a5034bd20c5a939084ac1539efa33cf673dfd1534", + "public": "0251e2d2a31adbf37e00c3e0406a15c0f97ae718ac2f284013154bd82a5b8d16f0" + }, + { + "address": "2BKAxsB6REMxDhQt3Bg4bRjvQwgpzYrpHGD", + "secret": "94c2ab6880546c63f83e5704041aa006cdcba445233cf0ef710dc774c917af83", + "public": "031fc9a3ed32e2ff9ddbf8d64c5de39ff74847812ffd5a426dd35f7eb8ac56fea6" + }, + { + "address": "h4UF9sekW8WJDERLXiSU6JiwBJPCFXCVQz", + "secret": "e256c250043f7d7f4a60421c378c734a1b956dcbc22ff828b57e09f68fda47a7", + "public": "02c942fe2db3ef7c37ae64a7943733ed40da2bf4c7f479a5b1210fb5e57aa722cb" + }, + { + "address": "2C3wT9Wf7xsE5BNEPSj8KUerpPiYSeM9PLo", + "secret": "85023f5d7ae3a15a82548e7785f9287d0d39b1c59920d08cd8f2dd61a227df87", + "public": "02bb78ffb03ee30ff07ae445989b15108df51c1306d5d712358ff3a77356fc928f" + }, + { + "address": "MeUC8cndNSMJdT2P7THbb7TzhfZEYbQwTF", + "secret": "abfad820eb18e0fb504bdd0dfadfd98be92ca215d738c1d4c21aae87ced8fe79", + "public": "02bd31ffc3fc02ddc9c6bcfd3dad9ad4b2d51965cf368f854d9dff66f33b27e87e" + }, + { + "address": "MW7nP3oRdP1rfN6kpBjwQZ8f3MWrGEpc3F", + "secret": "77b3b0b050d0ceb25ef73cb3cd47c16afc954b1d87b57e0b7e7215f4a1150c0e", + "public": "030ce0bdf4ee5b7fb72a4dad6d047832d52ddd34ecd8d81f81645f989c8dba2107" + }, + { + "address": "xHtjPK1SPcKTKmA6Hd3ybsL6GwBD1xyxUb", + "secret": "2a609e0536a025e55366035efbf9e28c3283f15daf9b2273e43154466e7afcf2", + "public": "02ac89388615f2b53f6890a31fbd75b31c6c27d522214843364da96ab41fe70e9d" + }, + { + "address": "2EUCXDL1Pnr35Abe3BAmewZkNtJX2Hqc2Ro", + "secret": "ec3bfc75efdb69da3ef0f609ded06b9848e7c5ba69cc76b4ba8e0f2fc5fac011", + "public": "0385bba88e897783786e06b55e535f13057ae68ef6f57b14ceb70e9dc4e34e92f8" + }, + { + "address": "2icjs7U7LjPRWArUe4dfKWEyXPNMKYfNqbf", + "secret": "81995ff5e709bed9cf86966f88cb8da6095831f7090bdd64382b5e539246b454", + "public": "022f1466e726b826363ba710ab7575000f41e71e0ee7994f1af7331246224d766b" + }, + { + "address": "RJXHk1XPZv3gyQfydsSLY5vb82USLdpUTh", + "secret": "a627d0c088ae6c6a004435f93be2019e9735930e4026d14fbe0fb0309039a198", + "public": "02f200888ad6d3f3547f012d72d264fcf780e124f04aaad4acdb2617bcd901566b" + }, + { + "address": "2L5QFAHBPcogj4tVPvviCGgoEgK4yF9UHqK", + "secret": "1fba9300ae3acb7d9d02b6be35bc7cdfe3fac495d79ef4080d25656632a75035", + "public": "03723bea8eae042c976de6884d9b54c0aa19286db7ee4c6e9740064301f465bc32" + }, + { + "address": "xz8JrwJdYru4vwnNbpt1wrXRF2NH89Khst", + "secret": "a785c36c66f28f4c19818cbc54faaef43e574b2d42f8df864dbce43e177cfaea", + "public": "02ae807160537347a4eba3a0761b53e2f9c464b47e526d6d4d48052e888f434e0a" + }, + { + "address": "2EyfYcC8rHjycyL1yQqCBS16BtCvA1cwYxY", + "secret": "bb152d93f18912155551d152c10ddab0c6ce77adf9092545dc458dc34dfbb603", + "public": "022c3c113b27a7726a6ad38e198b827f94a0de62cd319db41743dd08a740ed6b45" + } + ] +} \ No newline at end of file diff --git a/src/cipher/testsuite/testdata/seed-0000.golden b/src/cipher/testsuite/testdata/seed-0000.golden new file mode 100755 index 0000000..b086942 --- /dev/null +++ b/src/cipher/testsuite/testdata/seed-0000.golden @@ -0,0 +1,175 @@ +{ + "seed": "aG9iYnkgZ3JhY2UgbHVtYmVyIGN1cnZlIGRvdWJsZSBzY29ycGlvbiByb3RhdGUgaW5zcGlyZSBzaGl2ZXIgYWRkcmVzcyB3ZWFwb24gZG9vcg==", + "keys": [ + { + "address": "cfb24jWcms9pZtvEx3UjUuLPdT6rbx6r9M", + "secret": "6614f0956f4e08e07ec2d4c2767b9f7121449fc2269e2b22f1a549d63e9f719b", + "public": "03b79123b2a3100420b19cccbfc688aa39f510b8491b67bdd296a92a021a3d0d8e", + "signatures": [ + "9ba679ebbcf6ebe265512d46265bdad40df99b5cb44a34f28466143cbc5f152d0e522018b8f4298ecadc129a1b471b0fd62cb51ea9305d93e3b189dd2b08e06c00", + "cf17711343205a01e4f5a6eeb81d3dbb523858cfd97e11281cff9617bd70932067b11313cde8b21487cfad20f7cca5f24fd7f1687fd073094eb2becf2e2ce37a00", + "1b45f0df19184f9e6047d2e4ae89cf5cc4f929fbcaed499ee7b2fc57c14e973f74ba3813bd28ea910a3e3d94ebab060353d564bac41cafcdc415226e9b8574d901", + "6e65a200a5a02eb1298c37d82005ced3e844d7065271db5752d242b611fef8ef2e3d811bbe83eb872213ca64bb9008bf6fe7edb548fea97e85dad05b4766cd6e01", + "7c020637b7d0f1748ad9891091de7f05f9b024d9bf4a68044515426f65d57cc3091b52ea7f72a571fcdcf629eb006523f4e173f0ab9fef7d1a906fa2956ef5fc01", + "1ca1cb90743f5599b206227ed8ae620b6e501cbffe662369a447f9846277d70569be1ea604c2c4d3af99ff5b1e5c4da0068bfa412f58f9c505d4747acd04962f01", + "af95ec5a6976f1da014accbc98aaa62340a4efd5f42c21a2ba73a53cf388b19022874e03e56cd77e9410e39fc937da8e02c23de7e3889c731d652c0da9aae16500", + "d1154d77593d24227e95233ffdb2862145457b97d27b4216e56b6a81523c9a455e37a98694c465d86573f0a55d20397a25f089738475114c954fa746b0c5ca1100", + "7d8e327ba9d328bd124b43f3d472b2a2ec45d4dd44be4a6d2a1edac8cb019c98675bcaf76e531e06e2c6c96294e8fefb1fbd29640e528a2d7671b1091c0a55b200", + "352d7850e4425012640dd63540d7fe760c728b6057bdd5722c862d59337dfe7c47bfc33bf439465ec4f833f10ef658469933765be14963982f6c112402e26d6000" + ] + }, + { + "address": "nJUPS5CrLV2iBdMvdMzMiP7iA2dzumaWGc", + "secret": "93876705c31fbf77f756c7a59616ebafe12b5ec6bf6f0c85014b918fd79d6df6", + "public": "03e0298390270c0b67c62cc35b493503ae2b3e02d2d2e7711e03beb2b6f481115d", + "signatures": [ + "d6c5510639c65b5c78f2964b0d42e1ffbef3101cbe51b23ee9bb9bd627020bda7fef7c1d291fdfd46ae66825e0d419a561be56bdb4e6585a6d65bf9b25d4206e00", + "789de29db7d31f0fd788a2cb161290abe58f48c2538ea620c1ea9f1a73d723bd3d75287ecc450bfd0c401ee43f67f45ef003d53dd85514f980e69d6be3fbe2dc00", + "57c4cec61bcfb07af8d934d28afd239caa988c5b99e12fe3b157010bbb4200882896fe9d1aee6b53ee0cb59ce34e3184b347613d22ffd18d34e5ee32b14f4a0200", + "01598d2f3248547c4438669dd9cd4ddd43528d71de8d91493fa65297a88b6c8d23c876f2ca5e0e2ce2d9106342faf4cc2a5d7e71e8c363244e5e0d0a1723f40700", + "721a84e14995fd84f3d2b65d45e79bd012e59e1cb4f0a801a67129739f7949c91634cc5fed042d573d552b9e5b1c9f043b77b23988e2b1ec60f37a61c1e469bb01", + "c557e15d55028b279f899a6aed370aec27a66e59f2d3cfff517696b64d74a5a05106fad5e5b795f45383c358f554c4bd97d93728fd0bf41940005a72f85dd72c01", + "54241216147f863da2d7e0ec30bb61365343c498847fe3a788568e343e42fab947368fcb8a879766e99a85bd7614c968bd517e5ff1975195a49f999767b43e0e00", + "85c2649489658ab69ee9936b616d98a38d6c639c73d6dbc4bd434e0cd079b605131521529b2dd6d50b1d45621b7974cac8e7c6f0ad836ef102df53f60a43d8f801", + "58462dde6faf9bcfe80e3aa81e3976a3c1a5fbd4d0090b925641a15c21bc6d6a26dc6ba374765e7c470ddee3892c01c310c19a2178cbfb7260692fd3e3e3b67e01", + "ce1d26440fd13d4a4501b6417b8823c8e447f507c7a198e351633081e05a91df5d7d4fe3632c11a7d69cd1a646a23bedda6e4cbad037189b145f97713436e90e01" + ] + }, + { + "address": "UxnG3PoFvKtRuLu5nyFdb6eu6pu1SZadkR", + "secret": "c1b8c857a2039d6249d3bd4e25d40b34c358e136869592d03c1e3ea85e2916a9", + "public": "037a13b47233d512e123c180984a67571c6b0ed10c012351842846a4eb33b26e37", + "signatures": [ + "d08141df6b5627105e2ad7444c6ac67031eae74fffb1ac993038ab38081b05841c591e997942501dea90332e0c8c1c8d8d1fc041cb0284819935adac9998066a00", + "73dd6d14687efe1ba1a03e8de150dbcf16e4c91f14eb626bb39b0fb64df9156836e3923a84d95d6aecec4afb71b406c71fb6145541787830c6ca8bd07b74017301", + "033beb311d4a6306303d3e7c7089f51b06e8bf7ea0f49c2450e26cf228d0cd347e4aec6143db99a87db6bc4f25c3ba72aff652b95d8f09fc8c2bde54624540ca00", + "d045036a4c717792cd1b76d2b54218cbb2d0c3347cde1b685635ddf76fd310dd4ce356e1c97e25cb304f3850c751fbdae646f4c028c68bbef0ee0dcf5fb0ce6801", + "96ecb1fe556f543e6abdd72255f8b844e7574afb928617fa7f347030d17bbf8c745484dac51073ed18a9a1287844fa22d5b46ad5acbd67096d857da1b303e14801", + "3bbb6961256e153fba0c749b1cd73bc5d5aef993e37c28111a3f10218af4a8625d263224b43193c00d0b383c0dfd6ed5017cb764f0be76b744d0e01d1df8e66601", + "ea391ffb47c13a48f74a70b96490f7b0f7eefbe4222d55f7bfe004b1b04b983a56a465da3e033df40a3b51e63becdaddcdd38bdabcdc33b249a30a13689e5aca01", + "0bd57e44ab89c2c677eb0c491b6ed609c85018f0e875a7e1300d4699d60529e875e7850562e96fb90c897f316e5fd56d54170b3cd6320be2ce3eb5362d03cd3800", + "b27bb5e4a094442b30b7d55ba2c4996cce6e454f79c88c339ef89bb754c2b2ca561086e3ed647881fc4f6079831076d413ef027f942643a5e939ca41e583037401", + "26faa7a87708f5d27731e866ca1cce8864a4fb2e258eeb16de8bbf86c1fc4429736f07693a5e42f0bab79c696024ade370fd7374c93cc8b692bd56fb7093295600" + ] + }, + { + "address": "SZRDLCVHyoP7Xo5FEnEw7ckibmitbNx25V", + "secret": "2ccb1679652e9bad28f3a316dd8d98ebfb5d8d72d679655365c4fd42e07089b1", + "public": "0284eefe3f4d6500fb563b69d52c7cfdf3152a3394321cfe1dc8d1de1e2868e3f2", + "signatures": [ + "392f6b36bf19de26894386049ae581aeb4f358296a02ea0666fa7a0c4732aa950d5b0410757644af454df89b1b6c6e8922676b21e095dc0fd094aee93e4be6a100", + "6eb48f725ed820f3001b88814a7ddbfc2dd60264612a29c2a6fe619dcd227fc3641873b78539dcb14fb74024e617b1e9c59ec71edd33f7292b5771a52bb6289d01", + "4b81f2caabe43a42915a7e19b34234f624f0dfa69353ccdc613874264bb5335003e6e04414ec7c84f4127f720b84772209ca59382fb4f38d102d312ecd4e64ac01", + "2428b1fd886fd31eea75246479dc120746ced1a4d97e633cea7a22ba67378f5636a09f06b6e9c66824efd5c761f1106b6aa15d4e0594c29239f4cb9dc1089bb800", + "627dde5f3179cfd4f1256018e59f17af2426a23d2131c4bc68d6cfb82b19a08f70e0ae7fe7d1029c71112272577c1db86086ed84ee5a7b17c112badcba0a601d00", + "8249b9da32a7f5c94035279ac4eb27f0e62cb50d230d1b30347d7cb0292dea8f2b662f54585a7bbd462858210010298abb3f7d1c16371d1221ff421a74a3744301", + "cd8c4985681c319ba9f7c797f5b9ba9c683776367dc4a90370ec09fcc8f6e0f07c7208db052e77ab6d595879e14423579eb2e2bc55ce04912e65f82601abbf6601", + "0aae569e4ceabbe5b8e1cec72ffc180fd9f93d5f17bc1b7df01e8951cb4c35a675f55a49ec380f8f33b561ff1647a063d4147808e94e2ae99dbcef97d2f1139d00", + "5b984636c673f60e7abe58c10a2e079f3e01da2fd8b41a239e6f596219dee2511ce4f0b35b1531ca8442137764980163509a3c05c219106c79a8e2f62b23d14701", + "9c6ff83bb5482a96c22eeef69246cede55105641018ef2d9cd40a265e45d402620403f555329262e20a5a0d053792ca7ddbdfc16d80552e4e0a8d6b83da86b9400" + ] + }, + { + "address": "2hSc4vmw59H1FEfsRUQ3eqvkceAAv6nanQE", + "secret": "867f5d21e6e2c3204b6c526ddd8a5d3b7fdaf8612f5bcb5423956a0d9eac9761", + "public": "02ddfd5d6c55293a925a7003bf23df040a91002f603c5db45c8605822f79caea01", + "signatures": [ + "e2255269e581bb78a86cd9b056d5089f03b77724401cfb900373571b5bce0c8069660bcdaaa99dc5df44214ffdf270d7e5065236867f20c2e692d2c4d7de0a4100", + "959d6ccae8bb8234634a5b15327a3e5ba03a15a6ac59341ed45f4e5767731bc358e2113667bf1fb15f15c0bde8b32d6aa83d4d9f91a8e479758373729641901401", + "cc8e9ec5f38f3d0a3ff71d507b9cd185ad7379448c2d33f4fc0944c4cf8d072f756e7cf1c38022375865105dbfaf5b7f71725e8c7a6491a1468db8ed93aa72df00", + "b82e4a33f0d9c4f6bdcf8a20acf103539bbd29d6e34dcbf15e396b980985f3a21d7903f83d6c61278d28de465f2a7ad2e8df1ae5db2bc823902bc63353e0937401", + "0783f3743f119b073a1ed59dea2641b5546fe585831597c655cb9841bc8ac16f656ac3ab9d16c57410bde691053675126c739cfc49694a3cf3030d776bb8def001", + "bfc6d5273d529ba5687a925e177740f33035a7677f366a3cb1660840954b417c0b9876d130231c1cffba939121d9ea12de9cecd88d6e84d5e9e061b4b443cab600", + "8edbbc3fa3c844abc1263b9ea429cde5df75524bb2acf2ffef42f65e4c1922b5676fa50b316ee8afec86fbcd116dd55218a44ceab2645d4bfb9e277822ea305a01", + "584242e0143eaa13dfb4736fab23f6a5e19848a3b625e59b9bf6c603789b00047371314b12fadc3b554437220c6af2ce6a406e694393d8e3da445496891d3ac800", + "d8fff1e095c12c899d7e993f5918e99164fa362d6262227d13f0e1f6ea40caa01fbab5f7b0252f306baa364a29e6824d4217bca7771b98e3114a6d9ddf72970000", + "6e4241e151308d5b33cd8256c7d614f804e668a61a16b4b7273f023c21d7e3006b41e1aff2703b4c8ce93da01484a70b6e9f09ebe09390f6f611db0694df44e700" + ] + }, + { + "address": "5vbcxd6wjxfVaa2rYqHXXYkW5cjFLmh8BS", + "secret": "2bf3f42540a08a15ca280560e43efd112e843d4de930a2ad8de07b1befcf7231", + "public": "0243e58f57f152aceda76daef9332f9ef9f844e4ef5c1b15685359d0d0dfa07799", + "signatures": [ + "c562d6f8476717a027f1ab8c14f95e444f6a5c0eb789a640a56f58dc0339ced44a62e983abecb139a3a96ff2333a7561df23fa8b1705b8c06bc3b921a51afb4f00", + "4cc7e74e1f2e6136e1e122817f39f83faac6e9e022bd9d0361506a26b368ee28128d1ea7f0bbcb6971fda0caaed4e1e52a0270aeaeaf3daa0fd833ca1e17715201", + "88674e6524a76d0d2e1b8d07067b5342e890d9bf11091b0993b6a5cebc74f71e29dcbe6b0a41446e3d7079c1ba2a6a4df34a8a9cc9724c3dc887d40bd7f5f64401", + "488a99706031b162594963d5bbf78d426fb22dfef8491b32ff9b30a0dd18fb5f085021d97d2bebfb1132d86cfcf72e498a791e19811ff1b3985a499b059a1ebb00", + "438fec175b65eb9644fa9c88e4ebdd7d77c760822eef3bc0bc4ddbf7d04e5d5738928c1ba5e2a31cf006a21a4a888d1986043601a563fcea71afd4e7a46fc38c01", + "f7e70b4a33131be328f844d0011efaee24b63ae60c38f3e79d9cd29583f479d6125c20606de51cd56ad5bc047209f4abf0244335c8bd666306e318dfec5b11b200", + "c61983d341ea122a3001ad70a9e7bc009f564e57b0fb0b8af60e3d72f9326a6248cbad7faff8740da7b907fdc2bafbedd1593c9b83ceb418157232c8fa1802d001", + "afabaa96aa5543d5b7fee0b63c84a9a220c6de4fec3ca7a351b793aa417c28391455cbb90f298b873349f9abeff8fea461a6217a8e1694c69fba51a1d1b10c0500", + "faf1e87ae00172aa9832fa7aaf13297bda608165fc583623062d13360bcb4ab42d8ab9a9f202885030fafdf12c8c21f4bb2ff85a7855e8190b15f52dad3b122601", + "50392beddfed77190bc6c31746006ae525d6be392ebe65a71992711456491031238df2641834bd50cf119074b8f44cbbd5d44bbf8d939461d4d2d09cb022904101" + ] + }, + { + "address": "2ACC9xnasQo1uuJQiZwyxtLnCBxMACcZ5HA", + "secret": "c2a0cef659813cf70809fb35804c0f6446524c039e4e14444c54f71d99888527", + "public": "0286b5204bdac7367a78f615f9cdfeb560fa36a7e2c9cd87d7193fb6dbd856a403", + "signatures": [ + "c77ab13d8107f4965708b75f24bdda7df11bb99b5cf0b8f7bdc8e071db62026b7179fb6256db5e36d926d8fc5227683e52277dea74b95f12c7eb6109049f813e01", + "958d52862b8f9c93bc63c3187a15e1f08e823aa0b4ce36b511668e7e082d05d976afc60b13012199bb5557f0d7726043f25e11434129f6bbc2ef665ad148492200", + "b9077e49d9f986de93cc360e5be3dbf8f30d91fc0f815752eaf0cbc64071000b16fbb965787a4a40eeaa8fd58d6f19e3ec49cdce059aad5f3674c4adaab72da901", + "3cbb3e9169b6116aef09e671e1f35cdbb7dc0fcea9e6f8152df98c371b3648491eaaf50a0cc6e672ed5e69f4255b9bff79532f8da101fa060d0b68ee0e86a86900", + "002895c8bd7a3537095f2e7670a909fd9502e25a6492278d2ae1b65a3f75642364dd31b5446c251174c57bccc5f40f9dfeffb959386a85b9473fabf1578be9f801", + "e3d5e49b8889cb5d655f4d4bdf16a2e3a35c88bc89f1a5c4a75aa82f93c8acc213770b1784c9bf5503f4ea127f4f928e36127d954b18cd3a5d75b1015966da1401", + "990c379fd3f47f08a6899f82f218ba9350e2a94fe046f9865b5ebef04dc734a808769bdfc057f45ea24ebc2a16363dd215c2656fee82792a34439c466a0c3fc201", + "60f194e854753e978e18455dfcd17ed6fc50dc9ecde80c9e78e9ba84238627a815f47b9a7633d6c0e963571a661c7e3896cd4fd26555df11b842466efa4de2ed00", + "12bc90a0c84c73c7b3331ac5106bc5b33202fd28428411721fb084bf5b57cd1517925c8f63265583c50ddafeed9c53c1817b1668a64480226161ec8aa43a73b101", + "ec850e2bc4ad3c96db1cb54cff954ed88566ed2046c806afb0f8218f92b66c9a2a51f2e948b36c5a0137781b82a401639e58301c790d2fad02c17de493bd9f7801" + ] + }, + { + "address": "kaVexneJnxkAbJMmmStgksNmJnZLC426Cm", + "secret": "af9e2a6f2298c2e47f1d77aa23707fdd2963fa83ec431bf48a8b9d15de8a790b", + "public": "029453f88f667c4f636d2461e03fdb8edd01376bf04c0f67ecdac93c38eb869f47", + "signatures": [ + "821915081c72f5b5c953d31cae7d74e65f4156aff94befb9fe18f3b6b4436102488d841a3112eeeb9cbaf1e07450fba1e76714983d5bb40cdbd4581c3a42a71700", + "2295b3fe78e5f199f8eff8648ddedb640dea47b46db10ee38a8942941ae1f70b25da39268774726427c3e77df81e338a91d1a1228053b417c33a9ea01e35854100", + "ebcb5e094ab5ff2c05ce9e6731d879379a59cde87168fda1c066cf8439bde9e53c463a4fecbc1e7eb72f65bd39ecfcc0e67f57dee9e866766e39ee3431e0337c01", + "afaec530e77e9e2906857324943441e574548873d1448348b4a754267d68217707bd6a5074ec510e6144f0dde0dfc8bdaf7e4e7dd58cdd83cae5454a7d0cac0f00", + "61f7f2667cec398d5f03b4d59abab20a7da2f9989efa068659f884bed748f49a449cc53a84a1d7ecb717902d4600c63cd2a4baeb16504563bf5b417157b43c5600", + "7ec0f56f2bb9cd8219ea83a4ac71477ce20061ac77889568f4e26633c68cd35b1cc2177e801eace67e7e11ec23c4d68a7fa324e6c32496cecbe0745eae3fbb3f00", + "25fc127004c1ea09e9f0b0c5bcb62ee8425b2a45484160ba0cdec8c3834ac2707963c59ff546e96f2912107cf0f808fdfc2c56562e19f9398ea37c888dcdfeeb00", + "9db1af6c0c87542eb3af726044951cf603faab78865862314283c48f608aa35846d660253b7d09f77a5b6873f3f77597e8f67f1cc02df53a7072da9cb7fe867a00", + "4c0308e93abf3ac49235e2d97b35f7ea80d18e7bd8da96cabc24c324e97705cd34094509727518ea807c20fc0b54b5d5ad0984d39c5c417b67db098563737d5701", + "6031dd2e342edf16e3d6de88a462a4bccab609efc48deb8c7f1d4d31de655c845e0513a38e2146043eaeb03f0bddd77d583e0ba55dd01379570f0c3116d2215d00" + ] + }, + { + "address": "JAiiQdrBFFSAgY2NxbU4PgKSzzycdjAJN9", + "secret": "2e6a21b2b939aae41056675f2aa47fa9015ee2472864b0da10cb0b3ab81c7d83", + "public": "028022f636b47fd06b43abed097bd3c0fadf44689936cc5cef4e40291281964aae", + "signatures": [ + "ed6a323988302ae35f6bf4344d0feeaf6ca2cc98924c61d89d2baac4756f84af157c96fab9ccbf05ac1f3bbda3ab26c01bd0de2ea5d7516f1740f21990c0582700", + "816166e485e7a1fc98f013bcba8c86929b81d2b4ee98b116146bbfffc51405d61bd43d91a03969f08a062a74dee64eda518555a2f71ab2fe54606b11e010d23701", + "fa66344d7212ab12eefcdc2e30bead3eb015d9e328a09ee342a60fb50fdb1ab91db7ad1b0391a2c5e483435e177d2190dc9624212b02b9c4a8ebb6d8e23e5add00", + "92e6d0c388cc9bc4a2a42c7cf7d4eee0e9969ee2673d1b3f3cfa049cb069e361255f0e5e3fb1ad08eabadaf8338b990b9a3c03775e20499952144653c7d4c56701", + "491cd9ddb98909e25c019f93f75f42a3f3be73628ad5c822e619eb63d2bd47022d38afa0b1017529cc5afbcb8ffad74cdd216ba9dfd934b48b1d5a5f47f581da01", + "5407be85be4c256f186dd2b552c47d3a5a50bfb6bba489f9c3dfe3d95b7213372fb5a884beedd1ae250066ac2b264a5d60fd8520798ae0f990c1459bc3f79f6a00", + "35ab96ef9cf604e2ce83b7a2475700435426789bb56b2a4e3e39f2fbf84692f85b4501acb8129ff57f769a9ef1d5826509ff86474fd12e9882b204e956d7832b01", + "b4598b238badb2b0b06c6bc3f37ee59ad802cd45990646c1fc2ac157821ce159497fe4b0cb90dff620b1516952007b12af295aea98d3dae4d5b16820f17145a800", + "971802ee62ad7818279facc0c549f6a54da277b69d55e01fb02d557ce93788f32eddbed9fc62fcb68fe0429fa615369cb0fcf9dde3d5305477348acefd19e0cf01", + "4afc9fb67f058d08575ba3eea93fb6e6309cccca16e359197a6aa838c9be7c065138af45c012aca1f74914402b8c3d84f7094daf6300c9045db74e7ab1c3fa6701" + ] + }, + { + "address": "Z6XPgNGMRjR3dVjcm4A5CBqLS3aqVQcVaA", + "secret": "0deaeda9c4f6391c54bb1ec5d16a31474b297f33d4e7af256286cea76e4fc40e", + "public": "024945c67ebb6749835872e06e9fe8d3f0fe13c154a5681764072daaebfc9f6c60", + "signatures": [ + "e8148d32e2bace9e7c8e6017e7229c3ce809ec88ceb83a01a2a2299fb87700576f79df74e7071e3216649de4653807a1c94193ac38f0d74d0abf25a6f8de750900", + "0ab4d582a506ccbfe351f54f676a97830fbc3efc24deb49f9410d8d80e0767e16fe6e0890c72b16774fc8aae801c698072e001b2d0c6ec2cb6637cc52517692900", + "1c6bf51244d387fae3b6409e5c42428c5a39db4178746298e29cf397b21335fb49deeb64ce486281fe6318f235213d016ef7142c7540fae3163a5de94f209ee600", + "f18778602f0cdef09fbc469c219e92c5bc52a5dcd7d873c2a4759d0938e503dc0d022341130004e45be1c7644d3ec3a338039d9c410352afce7e41dcb300728d01", + "2e0978dae226b1e70b46e88ab1fc2126fa1db334f022b0b960b3611e341b6986233ef8fc90a1a1ce28183b18a9ff5c701fbf340ddb4c45a88b1dfde74f7f39e101", + "3fe60797a43ffc78e26e55990e3eeea76e6e920e47ceb4a51a07ee22c2c0be1b7e51d098536a38537aa99d24af3c644db97337d51b65d13ccbd218b9839f179c01", + "ad77f584346779975e2fa12d3e7aaf0ea35b025298fde1f211488ed5b92d25343c86b4c2c0202748b80c2de9008fd043aa1d3f60262ec1f9f0f0e95dd4c2fa4800", + "27d66336014a5a93c5e2177ea72755fc0b858d7ab79a5976e38e5287549a6d0d0cee44bff45c3b7b89d6a1ea30cfda80c13f9a772d38bcd57c72f938db85afc101", + "9417eb0a9be763f5fb0ee8b189df8cf1a52657b87e545c28908802a7fa0c06442fd47c5ae49bd8fbc4e4985f82da6f86c2149e17fb903303420c7fe4d05a6b0500", + "421dbe10f4f49c005f3918511f9ff71ea6701ea76226cd1e6984329adbe4428745ce14e5768970e2e3fcd1408055b2f194f73cfff88aabd933bc8de4d607426f01" + ] + } + ] +} \ No newline at end of file diff --git a/src/cipher/testsuite/testdata/seed-0001.golden b/src/cipher/testsuite/testdata/seed-0001.golden new file mode 100755 index 0000000..db7a542 --- /dev/null +++ b/src/cipher/testsuite/testdata/seed-0001.golden @@ -0,0 +1,175 @@ +{ + "seed": "d29yayBwcmlkZSB3YXJyaW9yIHRheGkga2ljayBhdGhsZXRlIGdvb2QgbWF6ZSBicmllZiBhZGRyZXNzIHNoaWZ0IGNyZWVr", + "keys": [ + { + "address": "2XDHP1JPEun347k6C559npPHT23V5GWeMkA", + "secret": "0e1e9ad1a0a6c688d9d04af22b2e07a13af293a05859ffb557c841daed509127", + "public": "02fbb044de5c57fae0a3e95ff02b9054ea82b54417a649088b76b4c340a38010ad", + "signatures": [ + "7d3283dcdfb1405890548d18839f6b7ecafe2087c5059e9d480e6161a79d6454213ca3da4653d39c269ecc909602f31fc7b3d6e7490d254baa166381281209be01", + "346269476c810294bf435f0567d1dbb397edef6e14e933215beb5cfbc07626c654e3012b5b56d218bb06ad9d384e19610824d80d618eb9c319ddfe206ba2655c01", + "1834af9a12d6a1f445441a23d320ab4f8a33b838c2055a3ba504c2e4b4e778fe5e2f7b1982f21129ed41eb20fa045f6bc0d248af77bf85830699826bf5b285d200", + "deee28aad8b2c995811b297d38ad4a27bbce26e7cd3a66e9ef69049a0336ccdb6a5d10c95b48cc561d1138b2eb21441bc83e7c02b7e759c8c270b17184d6f1e300", + "4b3657dff134d534749c5843eb3ddcccaa4f4c0cc7cc8d1916f002975dbc49d7731a595924b92d943a8c851f86ad78a017b35333302d51367b7029ab4750bcc301", + "5e045424c0cc976af4aed5c82418eb552b65f3daa5faed4ce7252e58edf6055c4ddde6b3769fbcde1daca74eb7681cc675cfbc2041d9b72094fd8dd0b87201fa01", + "9c5034280942f96a7dc805c436984a048a5f69b66c1dd1e8ebf07d9a34997a5f2f839a6bc4d6f17bf0f36fb3aab950dc9e5b62bee81bddabfc7d3aca80edf69b00", + "ffbda2b52e5f3e66b51feadecce7bfdad2fe28599233c5d458bad947f8760d11290a822629788ef521d39d7e0a7acb8b4bbfb7e69d3b45c88b98d594ba2bb84c00", + "0a21297c3a3b0ec4175428c78b656bfbae6864b4175fe02fa76cd9b353ca818a3ff3016c73ee471818f59d56112afbea170618e80eeb993d187bf7e4e608099f01", + "5edf4fb85781e57e15ac862da6bc40052edcb038a2716ddcbeaf99c6aa5e44037903672256d3d7959cc519fbfcbba47632f9c0648869844713e57dda74b87b9300" + ] + }, + { + "address": "Vqab1WiLJNvuijFgF1MMpvBxuq6sFUCA3T", + "secret": "2c7035ee76f97882a5c42f9876dd754babbf09acb0b78e05e7dcc51abfb41487", + "public": "03e775cae88d586b8df030ca149b93a71957a0a94c7e46c1d3a73b7f3c6488bea8", + "signatures": [ + "f33228d492945ea6ee40ca7b70161a9326f908f6153c2de82658047a0569f51f248cffb24033dbe9fffc6d7a9ec9745a3e52352ce3932a536fb6b4989506ee1101", + "e0509cdf76cd8a7dde14751190e8aa1272a04fe7635a51f454726e914c81e9a7744f189a3b62886bfbc33df0e5e56be6a16d555974955c124cea192cd0fed73000", + "7bb2e5b1162127af297a6cb76ab5979b1bef18bd309baa96e720aaf7188219ed58d0d520700c8415d4d5fbf75ad2d40960e63266d7db8a1c922940bb3770c46001", + "db6426d28e2345597df9aeb13b12a6921b4fcdd2c8017f33b98ad0a0062041072a1a270431d05a4af1a5f7e75eed79bbfe375682947e793011c31d4e1ac02bf800", + "01c403fd1157ebef2233dad324262fd6ccfcdb4a6537476acd9dff6490219fd214395056c03118f9543854822556667f1380bef6004b307683629ad0787c219a00", + "59eb6e47198963496cf86545e83375d5681031561de90e3e845d59317977a7aa4e70b08b87106f149139fce3514fbcf9d63d9da31a33c52a259b438050b86a7000", + "85e49ce059db04f9c567766831dad49aca85f1365d9a87e3b4cd3a948a42be82105b4d54cc47684c135b453e685b73e0472f42565d6f7d155937826cece3ff5000", + "f49bda680022309cb2480beaf3eb31dc88b6a17bb4f6afd00b75097ea8a17aee4594137fa0de216ae3e9b20846eee984e7cc4d5b68d9ea156ecef90bb371728400", + "93fe26c6153eb35fce04f0308ea84a36d4843f474c6afc4ab1ff8415b8274d1236f1d0b683b73b3098802d53e5ac2a0da06d9cd62de7cac8695e8d167baf15ab01", + "a65eaaceb3624a1e0ed73e5b04bd499b818e1636fa4f3145ba571e0d811a8ca42b8763f27a2a07b521fcb4c1f19e5e991127ca54692db641cfdf44d0bf39455600" + ] + }, + { + "address": "zAvpEnXXBKqLqUuqW4SXQKKpMSPRF78Pod", + "secret": "ba66a37d7ef52c9145221b0b744afdc2a39922e512af4387fa6d109392929566", + "public": "02b2508601b986a275cde7ff449580639c8b78442ce0d87539110c5fbec4886f8e", + "signatures": [ + "8c2202d04ddc46d2fd066b440c263e00102a2c62efe4ad53bbbcfc7c119aa7a83130d56f7e7a117876a0d4285ba056ebfd2c66f8ae81272d9f0c39d0602a8cca00", + "50526c8372452645fb21a4f8b5a7cdeb4c937bc5d051beafd389911f6360514a4ec32e6d08c6227de99d7e03895385518dd5d4948b392935b7f8b69779ae1dae01", + "e4eb76d581d4f99b1904be74387ab7954b52bbd387e6f7c033083dd7024ca3c31952acb23da09ce66af2ccff81a2d59baf17cc454ad71d6bd4a109486fb4fdca01", + "84c8ec314681261c43bf9120544b9be17d2378d508ebb833a353c34216051f4d28c9713bad786d5a90b3a3b228467085dc05f4da092d6eba4c8643b0adb4e6d700", + "f46706a56fb07d67fd6cc2a4071af59863669acf2d7f1a9941f8b36bde42c47e767089a7e26eab64b5bc8a6e116044a9a5eb3eb1f2d0cb7d4f51f9e50a76ceb001", + "56e4b18df20901bfeae20cc9c9f45ad7a7a3c7d6d2506acf7571c04415308e00379fcc74cbef49823c51dad0c063f269596fa1ac434b8405cfb9d1b125b0a47500", + "0855cf0318fdc6d0c7f106630911171e7c51106e5e837df48fd117be59d92d5144d0ccba6a42791f48ba49f3388686176a2ade9f0a7d91a103b2add7ad3d682100", + "42c0522ac061f7d596462a20c5994201e1912ca4c0181ef7002570b0773181306038a5e0221b971f069599a1600d20cadaab5908d3944f885e1389b20ea16e0400", + "643bba11d65520ed42000e94d2da7800e7b595475606114d87b603c1af4276780d83db0cd39999ac96fa35cf9977ed5bc8352c2a94ea4629bb7d6ad733c73eb501", + "93b65ebc83179381e53c4010a7a63e95e2daa9ddefd4d05c342a6aa0a5891262764c21bd85cccca2a8f040a00b983836976540968e65f26ba62eaddf597d977801" + ] + }, + { + "address": "GykRXwXiz5kjHyBsrUkHRNToHWSKEEhkAd", + "secret": "0c335f2076e58db76dde9a26dba8995028512180208c9ffc9c01928682814d91", + "public": "03a6963955bfa042116dbd4670361b989bcc0d841b96c0c402c83e7e1e23b64708", + "signatures": [ + "f9c115799f868fd84a1201021830966916a492e68a56592d5eb8dfbaad0d9c34564f420ab00996831f19db39bb94d81af763baad2d3e71f670f53e0e8003e1d301", + "a1ef2a9c00f6a4581105f586d735121f21f0236c48b1ad2d5466d392c53ad88f4bbe91493b909e48f6fa5a9ce5e7ebd93fc3c9a071bf2b760c6c771f04ed0b0601", + "394fee301cab788f7cc4af12f245a0b4765519cec1af7208409cabb06986add670f6c8641c4b40b7cd516d0283fe6c2ad872d953fb34fb9b554ac272268fb7a201", + "86493a09108cd772ed60f67ca2e5dad4c61d04e9dc24809247156400ca41e7ec31af35d01d71e24a3776673e7c825100678e9b7d060a7b5b5013160ac4f0a10e00", + "aefdfecc52c33f074351c497ffd2508d0bdb651f7b5745bdd98ae384c266f993336b6bd67d575d749db3c54bb2dad5d977958840309b954e3586e5b01fcb7b0701", + "3b032eb1fd883530a7d8f4fafd023f83da857f8c4381c1d0a055b8ffd1a3ad8b5554a1a295d188cca6ad6ab1ef9964610ea53d92cb868fc83b46a12206c70a8c01", + "e59f70fbfb3b23e75e290a0569f323ed6c82e721ba7b268b75b5833dbb3c739f4ee0d92593ccba21970fadae8904ce4e95e6edc6429377229b74f6bec34ec77201", + "b3936090c63f04f6a52720a102f1dc5ee26123758637b98e23c01dcee3d6f280266963e980439eb9bcdae68095fa5cb1d8bda02a1440be90a5e597f8c426bdb600", + "09cbc77d194f64d03a3ef27cc4716241f815e8b3b46e5ad4fa68277c5d8d1ecd72bdb8576be4e325fcbbc67aec516de0aead8f871ab9087ac53a39bf6f9db26601", + "704365c292a1d934d26956584bbe34ac0db54cf5b03ce3f9b1367805cd488ff830f0e2fe34727e8c7409fae6bd4878e10ae2b452fdf15c9a423afc79e653ea2801" + ] + }, + { + "address": "aZ9jLZm6MWpy6kF3kpjJTNo2eo4oLbeeXx", + "secret": "ecaef882b218b8e182f17883ed7462b4120064f26d5c7880a596e9f8bd0cff52", + "public": "0268e2cc53ec1d81dc64731495428a98db2331e9eab7ff899251931662ddd6c12b", + "signatures": [ + "b56be8c206b65c96cb8e0d174b289dc0f78d3d1657edf35eb2dbeae0260a89b96e7bd8847e206129348e0ab303f2a7f331d34fbe81d11b85aa02a6c0e9d3ee0200", + "b4bc4d5be6e24a0fb415c211f4420dc92729f0a1085126342d04fceead2ac7c1699542e02aef4e7a5b8426915a1a68beb1687669344256ac899e5332066a455201", + "4f037576467400a8b68bed9f47deac9956a1a6eb353677f10e21b5a424b2a0656efc0a949f9c0b125dc1c1208c80e708c5ab29eafdf97dd40f26172decd1726601", + "2365b10f2be2fdde0b7831bf3f9aa24fadcdf4713a6efb422a6790e353dd71c74d813e137da07a6f9e1ca515b10abfc316ba280eea0eb8d1645fbaba20c2e81800", + "cadf2560137316bb8827417e8ee322644cad64c4c1ec9aac63967f4a5ac0ae7971f5260c83d792c044332f07da13a0d573c9905f588b607486ffb00755a94f2600", + "a16edacc86031c008d0b5cba9365ca9c39ae724d030fa288d11726adf59e7e3f4060155ffea336028d03ccd08393dc27b427121fb5b63fba892171aa0d00920601", + "e85d863e3e5b30e31ca57c511614f6a53794a48a16197d2a504f6b4347e8417f73b2d1367988d687568f8b413c4d3b854daac8df95a64c22153b76e7ac03123201", + "a98e2e0361339e11417f4d8d45585e8fb3a517735793b2c4dcb7d06838ef80fc06706b99f91dbfdc7568ef720d9915169e63003b435c2e2d03557c90baca319e01", + "f2b62c93fb7d36e0bb6152ea57b7eb158fb93984f12fc7eba7151a8a4ebfeec902f2c2205a910c79288063e3b73896429f162cc253360f50aabe4372d81badff00", + "3d99597f0d9f53dbd009640fde0e7c44ff567babeb4d5eb54b7f00f50c337bc92155b9342cd817fff6291d70e614681b3d890a1249debd89a6d3e14e6641e2fc00" + ] + }, + { + "address": "2mLzdkpXtaLWvFuVvzNgZFcQgBnd2Nz6wEh", + "secret": "d35734c6a9df59900f8fac59396a1e1e735eb0c43443bba39ff814c9f91abd4e", + "public": "0272b067783e0ae0660364318bf3b408b12c105f6f75ad6da46bd88131f8cee2fb", + "signatures": [ + "ab9ea96f4f3638fdf6b5166d7c971b7e5aa71c042704ffb4c21657ef29cad87e2ec2c8b1d220ac68f40efbc7f9236bfb28c02762d52bf1b5677a7063682cacf600", + "e16e160405c0b410d1037fc217b32e2fcf626a27a5f50ee003065a8059bd40757e18a5f1d469009458725b936ba581a99af1183838fe7b0b3931cab941814cfb01", + "80c491a4668da1a22eb4eae950c1456a07919286656e327c0b9190c7004922ad50bb59de0620ef381cf1c10515b2f31d2850650ee65d3cf60fe44276bc7ce04f01", + "3d3f547e2644e3b8c49dc5a54882100bdb499879017f51949cf4bb8ccba9591040b1036483de48b27aba1bb7f8d73ac90a96fe787dddd233ee5406d3d8fcb4f600", + "72ccf7ebdef8e297db0a7348ff83bf6149e50daa24a29e38dd2c5f0d8ddd689f58034fcf8eafe64eacaba243dda0bfcc498743521f569301c9b19f95ea71d9ca01", + "b7347269ce29185b3ac9bf94f623307108dde70145978005d09c396d0739682028a3bbf0460eb7c848f3fd1648af5e90611e42b49901c40aa22e4f73bec0290b01", + "3658c5490f32f423ccdd10fbdb2c5ce674424c8635c1236ed88a37732f253d6212656ed16c70fbb31e9980f27ebbd34400a424d2110baf67c348c167033c7a0400", + "a4111d9b5b8ab7bbca90adb0b4c93faa45fcb03b717a6f11ac485b64ab3b0da505e2b749d971c700eafafea370c9feb66a1385943515950291fb3253b255505300", + "34e8c561770c77c2aa14f6955a1f5acfb29b7fd9ae846bb537c50f02833a35d656a8146517cb3312577a751f8fa1d3a1d48377a9ae6f3fec5fff3806f335fe3900", + "ed91dc06187be3c4688ffb6da8fe16392daf976dcc965faa4dad753a46cf2da476db8956787d98cac6af62665be2f31a9556b76d1cf4684127f90502d9a4ffd301" + ] + }, + { + "address": "2QDx8n4AqA2Zg6BjHPbvKa6jjTqn8GuvDmN", + "secret": "d65af2ad4afa373ec16c002605d384c6dacc8e6f5b803eef066626f518eee964", + "public": "034591c117b23c0125cc41e78d887fb64d3ca4f4ba6c14ba9e5a03380114096ccf", + "signatures": [ + "0b4418424dc07e0ef668f9363ca9e069946c8f5f2e0e733177fc37ef9e9a0b17626fbc899ced973cd2b2794b9980bfe8004c5bd5f9f8e7545fbcf3d45387844600", + "18889e1bc48c7ec850fedb15d991145607c097c061c78eb8a88b709b01b7a996479f55f3ed9e44c8e48551d56e2292011e5e2af8820bd48e43a0a572dfd2197801", + "45e65bd3a99910aa5cde9d482bfb5ce61b138b8d3f0269b7d892e5975bea8c9b7ac6b85541000f75f7eb0998161357fb7cc54fbaee11436fbaffe77ccd0f0b7201", + "ec56ea2c59898f2885313db13dc7386d7d7339968139190905c0c8f6c1b93dc868b03b12f19efa0de748beda1727c9e7d2ad5b5f7121a4d77c38e675c70fcd6600", + "893f74090ec8b968a3576e22280c946f75fb59b6bc8b32c1f5b74485f1d555ca050285b91ee0ed5a3d3e997a7c9c2f3e680092025065f5047631de41e8b7359400", + "018748f5470e0ba9560ac9b284265fd93a7e65284cbde89cb8bd17c7bb570cc94ba0084159d0046769f2172152e53652e29c176fec65f03d8f319c1187530d1600", + "8abe93c4ad0a2860274a38adf092dde1e49ca71501840d66f1b3f515e99ba6b05f231a7fae44eaf376030f1727a0bd60d7623573b85198e6a4d995b84d89c8bb01", + "7767f6d6810a2026620886014d9197e67f73bc091b6c1356eca1eac80300f0a6080d8dbeb24785d1a53ee87612d833001b7f0368ed9699c559c7443c3148a95700", + "9740dce7801a4845fa194ad13ceab4179441f2cd708797ef1c1720bec9039d1a7adfc34098b756dfee4b02356ff86160322afc29ee603ba4a8091108ff4c619501", + "e75ac790094525f7eff99f14d92e7ec035b0134442f1ef55c6ded7af74d42a6c6f689e9fcbf2d9b3de722f9e1415e5c7dce756946e8ae8174a0866c22b8d9a8f01" + ] + }, + { + "address": "nSXnnQA2aaLHdzg9LXgyoY1bkRYyoJcPNK", + "secret": "3a6d13f46da4a800ef8c2e350f48e53cb601efca9c1af27f0650065d9334583b", + "public": "03865c2b491360dfe2afe6e918261b9e909cd87e53b61afa3edf4fcf47bc4f9d51", + "signatures": [ + "1d9ff908a3bbd7416efc2a9ad50ef9a3b7db795857755c79ce0457360812116f516960d1c6f97d1d8d0ac3ea2975cf2f4ffa0d08b1d35224ae9799e91b04fc2a01", + "957ae4c1a90e1465564112a513597c3bd6c8a1e341f682b8a251a0c6272e9f562a0d3d81665425e7f710fc3d20a9f8a4a28b6badd63c92922b1933fda2d8376b00", + "d791eda6f4548bb24fe5f0b1eddae7db453156187a10538fcd837fc63dc189f40359ed7cadd04c6dc65946488149854e4cb5baed743ddfd1c49247e7305d9fcb01", + "7188ed823f256af8a430f9c6e56769c3455b093fc649bfe6e779a97219b9d3673dbd5748cc3bfb8097708f997baf7b901290ba0daef661369738a5f7794e72cb00", + "5b5bd1b9b1ac663480cc4f1652151aa0a27d456392dbd7fa5c1077f14c523d200b9c677b150e4a03f68c363c987495b05cc7dbc1498f9347dd7e7b1c598f1c0b00", + "1d9535097480035b32e949d5b678ab1bc0a40f998eab8f411d8917232ac58af0022d32d709431a693639926e36ef70dcbdba6841bf8a6edf007d4b2b339b02bd00", + "f99830f86e5f4c812104bc7f7d4b0f2dea4e1afc0cc338e93f378cd82f044d4f2647771d665af37c3b83fa4ad153516a120f6177cad4c6b151bb7fbe057432b801", + "d28e2d7aa2964f048b262c9bcbb9a462196d81ffd491b36700cf1ebdcbe51a6104a97beff3265896731d03e7f98239358c14235e2480d10665573e838b6e6db000", + "97ed4c87a77ef0bd231debfe414bf1335e74be8a1d56dfc5fe7d8f611246506f1e7c6aa6395f2a0e31547d71e766358ab048581678d83b2ee2362b3e52ef7c3c01", + "d6717596c6f62d6430c475a46f6ae0e062cd667c1bbbee66cb448daef72e6ef1093011f7e398488b280ac763f3b11b93b2d643380d1e0514dbaac2d6293271c700" + ] + }, + { + "address": "25qo9WDafW5bL8J1rrfDo3zAFFmUbWM545B", + "secret": "03a71adfe4f3a34087b6b0f303f0678b218b386c3d129a8366f9fd40e11c1050", + "public": "03d5b421cffd4fa34d0aa36716d7b5f34c78ec362f6b2396d1104c490ecce196d0", + "signatures": [ + "2aea2918de643baa9bec04ea49f9c3bb7858b09e7d0a2dfa8ac718367951ebfe6e3825f4a5aa08f3a8ce3ac1fd021aa8dbd68f2b05ed18746a53d70cdcadb26400", + "c0475aa5ee4dc3d3264703195a145beb28731516684194fee43c9538444079670f30eb13522ad7ef654deed6a7a6a818f38d79219bdf6138461d43d8ede9aef901", + "7ac1e3195f1ef8b99084f2d97250b8dba8cd55148807f8d3437406e252938f1d78d86fa5f9b6949942ef4579fdb0a8dcbbf3cc37cbcecf51605ec4aa2922cf2500", + "af2afcacc960b2d12395e1de8668a456eb2526b250e5942db785fdf3a0b055d56015c367ed6de7efd680eeddc1a8f789ae787eda887b23a7e4f6c2f7575f10b000", + "4b9ab114829349ba27e34152b51f9d3c83198673a354a949934399088508d3d014baac7e910c367627e37a1544bab8ce1661600be92c346463497e6965551a9000", + "7e5c5d8f8f27d2c1461b6653089e7727c7a0f630ebe5012d07d75979095658ae0b5c679b3daa5ae34a528993d6c9f60319668f36e583bf607782766adc7d9fc400", + "ccd7e23d4de2f095d77d08b6e34e134521c5aeab84c9ae78c427cbdb0f72c310261444cf20d21ab84ac2ee6472b8163204323b5108adc59c6c01e72fdab6eb8100", + "f7eb4299d5b9fdecc1ea7b366b1d82713322d15390c057953d6b42ac76d0bacb36d9f3c5568bf2f5c6372d4f0fbcd630588f3c27c2309e1da4e02a09d4d6ce4201", + "384b61a3719213b153ca45d788c34738860c6353d6d15751225ae3d6dc35bc192c0189edd24f96f95898a29164291c047a1d11099d397600820e171dd813b94201", + "9392c342570352667d1d6ed8c1a8438bd8caae455e9901194f788c4fc653e04f43d328453c9818c0a1b009767e36a630ef9453a51b4aab4de80581a78119212000" + ] + }, + { + "address": "2U9tv3pcptMson7aVDj7epyVhuJBQkSTA8W", + "secret": "a7832a68c6f1ce353b341c78661ec2e39291a3d02676a7804c04eae2a638a68b", + "public": "035bbcfedafcabc3f0bd26f3af4e9046d01e96e6d596e751e2a3922815f586d70e", + "signatures": [ + "d0857d3237ec891c839269dafd3df42be1e8429765673bcde990d2e760f827b9189da08b0037bd8a0423bc541798925a4396b79688cf9e329cf42881aff93d1a00", + "bd143fbef42414fc7520308c6492dde2fe442b19deb2d2c8412626c0f07526292ad3bca282cda727915408e14da782d3bff8047eec4011363a8db4ad562cba5700", + "4893755c3b2c465c3a503465a0cfc7828169fcdd52139f042ce4799dc9d0a4003cb4e40c271de767fc8df0a6f93745a591fc2dc13f6b17a12c95473c1042857a00", + "62f03a6284039b98acac22c0d64447ffd65be2101b22d104eb098e4a065d995d157226a117a6d34a2e2a053dc199b41a6e23074a8a700554c76fa45ffa4a1b8b00", + "99d7cc90fb119c8b722c0582bc097b5bb260b0a871c9c05439dad466d1c970f112cb4311efe7753d44e91dc0162c3d2befca32848767fa642b50725e02e02b1501", + "de62021fa95a4c90a5cee0b902d03119bb801ef99a6c575577b32f432be9da047e8b2a7e32e9910116219bf1c41dfafddf38f99ddeedd01ed1bed9853779e7e800", + "dfed34d6c672783dd664ec8f4444467b1e15c2e3aaefb21804545fb47398c3d3728c86c27e1507d6b14bf3c5f952d7a308f0fb5e5cb947dd0971cf37440086c700", + "4d410ada413d3af780693aab75d8280da0d9af542875f8b71f50ee194cf9829a33e23686760fb9a07f3bb37af99b1c97709c124b15c0fa89ec3f9709a1439fe801", + "a5ddc28a3ee448ca1cf28ea8ac3991ce2f1fe562d52c8a7634d58871744253f2132e8bc1e7c13a370429eefa26c6956c19cb548d5e4e663e47dca12fedd16a2300", + "3da1a98584f6ed35cbf918d514fcd5074157d91b99d84ee1267b10d40fe0d34b42d552f8ea1d09b44de9e32fc2339d1d784046d834c790c471fcb9249d4030a500" + ] + } + ] +} \ No newline at end of file diff --git a/src/cipher/testsuite/testdata/seed-0002.golden b/src/cipher/testsuite/testdata/seed-0002.golden new file mode 100755 index 0000000..585fb02 --- /dev/null +++ b/src/cipher/testsuite/testdata/seed-0002.golden @@ -0,0 +1,175 @@ +{ + "seed": "jvgFL+YrrDSJWjeXY3tJo3dek4BbeV+UzrMZ3yir9Sg=", + "keys": [ + { + "address": "JQCEabhVC6ZbsgxbmA5MHTzhifUbX2PUPR", + "secret": "e7c807f67e53438daeafd79a7c52ffeb8d80bf5eec00f281515e7c1d7ceadd13", + "public": "02661206c9ce3649dc890e58e24763dd1f102e7312cf778bf15c0838a589736c7a", + "signatures": [ + "c8d3fdfa608b495c14fd0b47d6f8408a083986ddb58336082f1b0b2aad32aaeb27954f329267c4f2387104f80451a6abf237f40b5e93dbdddf39262fc35cc07e01", + "411f4b6179671d9d13233d9dc9ae4c41982b1e7ee5beeb7389435f8351ae1dcf31d2fed790a49d66cc74c714792d2029a75dea964dc2737428efdba056b4a7f001", + "87ab0f994df1c137ef4b0cdeb657630509eedab2f3fa390de2d8ef51f605743522119933f6751f446975616a95577398e7b0c44ab997634f716bbabcea9793c300", + "77714367c993faaf9162c73cff53f78a0f2bfe6be96b71d28ef2680cab54145047f69c6b592da393aa48891f87fdc261e0dbef1ef718fc0fac80cd11b4d9089200", + "1ee6bf3930d3220d2338a50e66c0e8192bfb98d8ab19e2bab7d0fca6aaf553d95e3f4dd3063d0a6ebf1f9d34a8a0f42c69c2050ff9174ec5a93269e7d6d4c20801", + "026c0be15dc3c74994c403ded0ec0b62982a4916f6cf7acbe644f1205b5cefbb1353ded02926f8450274ae95c89892032d23fb6a03ce192ee0a4408af42332e401", + "4739117ae45320d82e2e1b41ae3f60898e9bc0258d1d7b3f90de521db1ed8e9c67e4d9ee8b5d9ccbb1e5ca76d4cc3caa7bd1dc5fe343a4792b26ff29f0d894d301", + "1c367647b6f9f5da5b1d1ebe3ca06028cc285037c3df4d52c95c832280312e9833e65fadb77fff05e5d649ca5a65b57ed33135d5e190186f376eab30c195b2f901", + "21437ae018a00fc75f3ff8ecc69055fa20f320786bfc87e5a3dfd50767f5e64a392ff9dfdbfee7b28b25bfd043e98932ae3c2019e62bebc5ee09ce0385944a0100", + "93232ce00bc5f85f28cd93237be83f861f1fdae74d53c2ad024d4036420178bb1f6df282a829ca5b7361ea348d188ca88c537878644f8e1ccf3bef0e64536d2100" + ] + }, + { + "address": "2xYA6Ty5ngQSGxUxLarPiVpGexTWa7kmZ4", + "secret": "cb09609a37b47ab42e522acc616a8276488b255b07c7d592a03de5fc19bd3ad4", + "public": "02be247f8c246ec549cd378ce34bcbfda52a59bb2cffc92cacc26877c2d0d4e06d", + "signatures": [ + "b218b9da47c96150d6477b44c656ab5bd4e3098f0a36cc37aee30d327e4bc1d37dde4dd8a4167d0fb54dae0b56fd7d7a7aaf7f7671898b81ed0958e4f51bcc0b01", + "3efdb6bd6b772dc8039ea5ce52c9d4714a3b075463180b5a45598523da21a7b32fc6e730a2b7cd48b7e3fb04f61bc8acf07ed6b97922dd3600a837a6d6ef601301", + "fce5664c0d550e19256dd04eb20ba1ae255a855702c7cbfc22576b9057ec32875953066bb020030eaa9a8c7856cb8c2c58c6a3e4cd2dcd7895de8f6bcd5157e801", + "95fe28da7561ddccc725d2fb3aa540bcc8e4571c60b0e744f0ada9db5ec772885a0efc8de1dbee4d347b1caf601f37d8d74a075a6dc290f4960cf70c8370563401", + "b70a88c6c2a2c76df89b481f3546e2a7ca08882f70447043313156a2d5b90e8d0de40c0c27e5dbc565d6148247582b6b05410d9d69998ed4332811436c7b458101", + "fb0f74606f4e239fb7134c6bf3d91cf3a2b76c4cdb08d4c8189c6b457b0663cb7272c6673c93d94e4d7cf94bbbf3af983f541b46a3598a0efe60bfa2fea4508b01", + "3c627b20e0298231599e59d4c803b8a49bab9baba4f45a49d616d4cd06660ffb1c2b60189845cf79546322b22396f613314807e034163e66d47318b9d0d35be501", + "4363cd2d43a6c23df3304023887d7a4d291645c425aaa1afadaf96f1c1ab51b709c054741e5ae7837de4238d0587634c2e189eeb0f01f6bec00cf273a9028c0b01", + "71448bee0563d244d32a17f4683da5c20b786f831cf32bd30f05cc12e376fd9f27c9c60a1130bf9887f2249f3286e4a855232091f1a8900dbfef9b1ad863f70500", + "10ea5ad3a7699ec6de2d3402c333f2fa8ba7b186a3eb378214098a8d1e829e6a4e42505ead889f03113b1a4088b583dac42830879876a9bc74cdd53a815c379301" + ] + }, + { + "address": "zNyfR5GRMNki3HcyWe8da1vhnq1Huf1pYE", + "secret": "1469780a7a54f01572e2a29326b8726a1e5147a2d96222b1e8220b01e7ecb428", + "public": "02e8c038377cba9acf5e6bc9d886973538b8897eb34de689c957caacabe8db839c", + "signatures": [ + "2de7268716605679f813e044d0dc9592660ec76d9fd77eb6286c3ed9a56cc8726b63b69874c186335a5acef4477771748a33d4ea4c7040b6b712aa38e975a98701", + "e320dc92764ecec970a60a0a47fe1580162f2f97438bccab0496dda3a1d985d8132a3d7c5c2eeb7f0aca5ec71a855f9121f06778150d7d0505135304fe991edc01", + "fa5edd7910235a8e57b31fced17ae73d32366642eebb7919538ba17c565e40e37f3730ffecfc7ae42207e531921b7e0ca87bdef76523640659dc7337fba57a4101", + "04c046ff48bf60c1ae74b128d71988f5ce435ee99af83cadbf14c6dd7edb1ec61051fc0ff3c18b020ec642219c72dd45b7c76f4828bc432e181b37959f82d40301", + "b676b3cc400f3362342dd1d279a7230c57dca3973f5a82486717ccbe00dcddd87bb81cadd29fb322d02b2dcc59a3d47b78cdf25ea788ecd3e9ba7cf338d248c301", + "f8adc3b7f0c241f45d8c3ca7b4add88b819ff8388c6eda817f8fb44b5d46e1cf4f1a2554f68957ba82a36996926f25292b7dbce9a37047875eab3ccccea19d1e01", + "1c5c583bc903de18d020ba9dd2494fb9249b387252c3a7967f93ce8aaebfce184cb3edefa7480b886a944d1b1712e323fecceceb70a34371eaf1d87a5172a9fb01", + "7a20e7d8587ab4e612033448e19cbf2d76309ea3914b52578d6000fdfc8243d53ea7f25c81acba7eccb9feec3d09e20fe8947656beaccbc9d63bd6ef79ef96d701", + "800f68685440c16a9fe8eadf94e703b6cf750d798c19bb21df50e0afa2ab85e10a67b1773e571e55a26bca2d9c40ca6661815ad8723c5dc077be6a125d9019b800", + "479d3e035de00b7dcf5cbf5e5ca641b8524f8dc415ec6c60170fa367b9bfd3002cb2a9f477130f105d0ae4ce2d56ac4c4d6cb8aef7244f65ca04c149f469caa700" + ] + }, + { + "address": "2JLkLasmC3aZWegxfrFBMegUwPMMaTRHezu", + "secret": "0c0290d80263d5ca9c3a0d4a8425bfb340387660feb48de1e0020853daa12616", + "public": "03491b93d73f48083311ae3c06f3ecd8c16474e795a58e3ce301ff548e9bac33ed", + "signatures": [ + "13728767950c9ce26b4b7ce9c520a7ad36044ac27fa72a7264764b15b4fdb2e3404d3cd1e716907231fda3db6d4d7b9f1055cada44d72fc3939fe892f4bbf82401", + "d257c55f64e001336df83863ce2b065efab6c60799f7b13839f7abffed5bf5dd6a108c7db8b00dd4cc313150966a88b34770c9d963609054c3f791c15ecedb1401", + "531982656772e00adf2d87834a532310a1fe018a7e44a26b110db88cd51c240e3501514398eeb26ac535613b35a2f71942f6e621598d026c18d29127a8b5c33201", + "4095c7b25fc5deaeb3ceddbfbf65cafc5b060e5a790e9cec3b9b791d2e3a556258eea375d87839bbbd3e277c53be855c51417225dc9d586568cfbce1d542da4000", + "87511d32bd897733747252c3373a17849dd6b87c68f3eec30e30f47ff75a40982546d22a33bd2398d2525ff99980aa96ac0e17ed8ea8574329d427262cfb5d2401", + "d2011487bbd4b997db6c12978637c3c042e397d17d9924d65417b2134467a9d36ed7ac74fe0727ce3727dfff6d90e1607062edd16407f93b26e466162f188fb001", + "5f65d112bc25524334e028ac597c3f9e289394a0afb2e0af6b038eee2a66a40169246279115b5b95e0c4c79e9ce738ea79636c0ae7c1f1e2178a15acf3617f6e01", + "3e87be40a4d5a3c9bf3a8c5e8aded3e311788fecafa3736495a71e06876f55055d34376352cdc8c99de89ae69e48c7dc7f845278408562c681f1aaa02860995600", + "a92ca8f889bdce1c2bb27b1808156afee9c5448cbbf9eee7941e379797261a3346258d418dae445da9c483c55b68c10285c8c5ac59b9e9690b3f0bb429b8782000", + "138752502a10679ca518c2f1c8394b0f49a258a8f92f3e07752a72700817310a08e76da5600f15d214b58b0f3fa00a5797a23e294cc76f72c3913ebf624ed2fb01" + ] + }, + { + "address": "fVQJVXDCg3xx7nSK9NtLm7xw5wfhPenak8", + "secret": "7a64f76a55d52e9ebcc2fd8703153eefe458b7983e8be501cd7b53e99eb7bc38", + "public": "032849624ed86775b96a940bb4c3ea30ce87d2bbf1bd78a8dffac5d5a26a32edb2", + "signatures": [ + "ad8e2123a55c325578facac3b33a4f893b3f2afb1065b6ae51b26a4937d4ac094b89ac89036849a7474539be19af5a82a10476bc9cba60a3c29eed8e16cdd97200", + "3e3811c10b7e1644e4cbb4feb05713be87055c3692124abb51f046d3572ce88367cb91dbbd56208c0958482730cfade12f481babc35839e37c063826f5b3165900", + "c3cc2e9ba9068e6896f15e522dc64a07c2d8767a50e3c95f5d591e708101575655006f4124a433c8045248737772d4f8c49db07bb4fb7e4638592ac2901dfdac00", + "f7e7bd47eb319bc33e14d340b73340c78527587e470a92a5372ff4d4b10780a03ec02ee20ba8387d2bc1f6faa4661c94e2193009c22bd3ae3c7218b70598dfd601", + "d25814fa5075fe6f6dde48d0036638803bde3cdf6162d284cd49182488cb76985f3a27becf6ca57a04a17286fd6479ce89e6e137e47b01a347db4df0983193ba00", + "d9db8532cc2595e35e499319e2193e28024d08f845c6ab83fc069009c3e901f9051953eefa426591d56d092ab7a4b7c8e0cafe3e6704ce0bd10466589cf7e75d01", + "5a7556a143df94e47195afd3ec97fbd8e5a10d970fee7135674a5cff47da053171750083f985fb09dceb762dc97582f87ac312331ae2d2aaef9f34c536bfaa7b01", + "b7e4cb3d1dd9405fa7c4342352fd0920078ceaacea6dcfb3fa5fc5b95ec4e9550c50500507cc8584f9671c8f2c52cc7f773451d94b34adde0438e14aa433461000", + "fb48718e2d5f99114064c368f825842544968cb59a59fe3247a21b0f959397723b838a8b8a9b52690eb14a404987206f5408600e5afe1f03918a1a91fc53451501", + "13cb6373816e236bdcb07c5700078604cbb6de83324ec4f952d9ce046991818242b3730f43bbc5644448fc65097c450191a3cb4a07aaa3115bf7b01de5c0a46f00" + ] + }, + { + "address": "65uJtfRcuUQnQ77iXgusuMwUUE8X3YypDu", + "secret": "1e83fd70b9c3c83271856870fc194779562aada020bdd771e9db16a26fe0e699", + "public": "021733c35bab05988350a1a4012f1a960c9ec09df6581d0e205de3ef8b5589a006", + "signatures": [ + "2d41e8b8bb40a4f4e7a6f3d4e62ad54a1ee0606a968e317bc453a45632384fef6768fc26faafbdfda6893b6cd397d11f25bceab298bdffa0d15beeefebd4f51a01", + "9c7b0470d72e6adc12b1a1bc3cbce3a94a6a899f7a7cd29e4103f8ed25f1ea284dc034e5a4daaa44046869093bf65e5a918532b5f7ca9f3e5cfc5fb41db1341500", + "4376eeb10daf7003a33f1e09c8b308673b51395c607bb64dc2559dfbb669ecc84ab7ce243646b4f1078988051d1c2721a1ec834852313b2f0b1d0473d703914701", + "9e4c7b2251a21ecfa279428137229e0689e5d07fd045e5937996cf2ba36bc85e28a80a8dcc0d08d71a9aaf69e0681002dbdd0e7bf996220fb113e73e5a75d7cc01", + "3ce1f8df018a64a9d076f8418f92c4766aa48e4863b4dcf9e5259f844d8e93d35d04853654e953be812d13282a996efcf7bcbab951aa315e3f8bac3b4c0fad9f01", + "2f86dc5d8c351fe522dd28c48154f9012055cf84efe1e5ee852c35e0c1beca515df764310a3261656123cbb135cedb066f1e2d15c6d3da50809108b1dfee957100", + "630ec741f809aeeb3427b0c3ad6b87d579fec9fe1783f927a9186df5059d5c1803b9d0a91d1f4d7761b374cea2ed1c336de82f0abdbeafeb718894f0b2ac253400", + "211d06f41bdba332658455ecdb19e70f13533319e25e2d9e701201c4f6eb038a22a04478802a9fdc5da0ef96b4e97fca848d142c12d831269641aa013dd3da3000", + "e35d120fb5a7ee7d644bc0b4b22a81b3eef841ec1388d0d094c3aa85322f04325b208770d47a5d9dc251e7551d63801fb502d9d10d6d5e216ccf4f456408350000", + "7fdbea3efd7bc036fec0ca9eb26e0b7a257acf779ebcec1689b206f77dab863d0508e14c3cda0411f958975646b85ea99d67246eb0e000f96f7840a29c9878cf01" + ] + }, + { + "address": "DrbwF4PMmGLwV1n6b5r1yUcnRjESsB3xER", + "secret": "b2cac97f1fc63a1e1a16d1f322f4a33c173488ba3ebf5049931103728a822624", + "public": "02fefbbfe2f400b83ae244bb3bcd2e4073335d58c35659100f2b323d887982918a", + "signatures": [ + "d412750a5c4e7fe4564bee6f221389f0ada48c6ea612f77a9b1aeb586d8dc4a7129ff3e8aab7cfb9944e344d5e2129de4730a21e20d612a2e37f097549880b5a00", + "b2fa691f873903b0154d6347be1eddf989e67f390ab1e3f1e4c8cf1470acf4804a5d55356807561d5c6c3cd9ac7ef70d54f845d0afc42734a05310ee7bab55d801", + "e21e1102033378122861e21245e0ff0752aa94d7b097a26a16b92aebc7b7291670b5f9efa09b60bd72b21c1e386779400455708ffe36518299b25c1bc4695f9100", + "52351ba65627367f19b6ad38ebfc57b2d797770aaa45a5441e61857ba0aa07f5452412d20710e6ad4e15a9353244cd69fa01d09b17d1b2539774c0c2ee477f8901", + "129d602024659785f35229d08148eeb270192b5600a4f64ebd30bf1721f40ef70312cc10cb97cbcf2dc53da1e8b10723c43bec6b380344f635130ddcc89403f000", + "e7e63d42e064530b329837dd38955731fe3cb68c7f8cfbf7bb7452df2976842b299624c6b91be28fdc3c70fe80d844104d4f35b5c5a6f550471975de4519b66400", + "800fc84bc5cc7947c1860eb2d84e0a4a16995c75ed6023b34ba69b7b3ca0da10146fa36b391e95fd48af4e1281d129b73c66b7ae12141f1db72a177efea7835301", + "5bc5e990c347f77cd4a0db7debcdc92bb6c8d8f0287b2ac7e542ece2f5df3a2834490e90bb3ebb3021f444fc6638c6361a51f92b62616eb31730e53c74d17afe01", + "5b9537851a702c03851633a514750f4050f08430a287a885312c2b0db992879c5ac20bc4725ee26a83551f220314572fd8f23e5aaccfa0df80b8e9b38f357f1100", + "ef0c38e69e2a6f90da8bf5366984a20bcd1444e46d5a96448f7c7fc2026f13150822069375ad746c3502897ecb977b78df08e3c65cb4f2c26981f34a9e0dec7701" + ] + }, + { + "address": "8UtRig63MLaLcBWz1roupZjzgNFWZjFDPC", + "secret": "84401dfa69739cf31e040af784a9f2fc92d2c403b77244c0ee1fda554b26609d", + "public": "036affad9cd7bae39d491c37cffe118d5b3d23a82cb7d251bd9b0a26e02ecfad91", + "signatures": [ + "93b45998033de9db250380fce60a61e3ade7e75eaaa616752efa84756278a152260b96b3d32033a243c525e81b70c7b304ba6dda691be1f031e1db5b8e40de2501", + "2993e15ae39378a443662deb0a2389df953c1b819c760b05bc8c57e8b2a47df76af6d61d06a60d16da662ede2e0e608cdb3a12d8789a8c4fe6a21f1eae6e63f601", + "dc85027cf73b354bd47b8399a22057baf11c4c59a133a335f598c5a32e3d0b410060a0e37f14b4254def16fc8b93347ab0bfdb56325dc3f361be6a45239c5b8600", + "cff714d386410016878b11ea5a20c756e2b8eb5126cd92efd668c48d4b3d1543499aa234bccd23730bc745954cd901e645763d3f0e25472ecf5b86563b15448a00", + "3a783749b0b78225ba0e6391927e4bc8093c1c0f7d165e79241d97d77dc969aa302a4447bdcf85ec3d2807ec49148dac1bd3c34c46f50ce835c408210d449fb501", + "f1fd6960250d78d7773fc114cb8b08eadc5616fba800ecbfe6591ed4351e0da77668b8691157742ba1046c957de85db1c2337da9c852270906b5f1edf262275801", + "8559c8902387ede48f83e19e9b9fbdc6aa4b30feaa5911c02311e02e683de49230895dd2de9cbea7cbd2c87c62705e3ea669f436bd131d2e14c946040a53c47b01", + "3194e03f394b5f5f73ec5cdf98188be9cd702a4b23650d34dcbc6ba838c449c6346931eca359b9014dfeaf59e223e49977cd48b997b2b95ce612934919583ee500", + "b56a1b1db892f1b55157f4460baeb410acb9e3941375993cd9487245791c45667de87e6a27130deac8ad53930cc7f4f36f60c194a6f9738b9b76099bdd9d258f00", + "fec84af4b8fab37a828ff011beed6850e12160d08c4bb5bc41d175f40b034b25357589de2f8a2c4031be33f6cba385782143870947d2238f3071bbe6a780492a01" + ] + }, + { + "address": "2FEcDysCMv4HMzwXqUGYdpEqPPzJmAanfo9", + "secret": "e44eac00ad22c4e17a0749103e842c381db7bfdcf5589fee225d0171b044fa19", + "public": "029f93f0c3a354d1b89f6aaa93b80ce26cf674988a9cb8042b9291b47639b621e4", + "signatures": [ + "61d574bde2ad3a35a6d7ed33b47f5885ba88536f1dbe54bf4e61a4fad6eb383640da8d0e4b6f5552172cc7d0c9db11c4c7b4e8329223ebabf3349ea1dcf07a9101", + "4f2c6bd0058643ada8225fc910ae42edadd4ed77894880594fc6a14587d56d9b5b1689780ff5ffe0550e336ce8340915a4ed2e07d5317eeb8e8d4a195b31251100", + "6f4339f187cde041b7f4eed3171066abb1ac510afe00b334cdc6dbd460cff0be41ad89604f191db6666cf50a2cde47bb6b7555e6b200d4c1ec1ea22102adcd1201", + "1d1d56be698880ed0e3edb50071838b0cdf622cc9401c63b46497d121c7a35b44aaad0415496ac0ca4e7a6efc2c28aeae509cdecccb469335cf7dede8301b86401", + "8a33f78cb1e2767147a40bb33b2aa5ae367d4e07f9d954a11489901a49edf823431b7da2d23d48958416e310e9089e00b9f2695fcf0508993e8efab888703f0e01", + "02a2752aeeba167d66f8ec9443ad8575570d766bd226d4fcfa7f1037392c33e520750a77e8b62577d8e469fb05a3d33f8e9c18fb3a02f2ee69ca8043b063031c01", + "7ae9f070f1ac3292c3fed78d8676351fb330a8cccd016876576ad3d50bb861e41963bc58a736ec0f515e3879dd36ba86fa71632dfa1627b6a5f092d228e990f301", + "a9dc1cdb26c36c56346f0cdfce899db2dbea965e695846e09623cf09185e17b8495511b6e5972cc631f71f9735102585e744144ea36e990fefdc215da688c5df01", + "70ac0d8ba64116397c25d5515e9a9abd9a80eb028dfb44bee9b3ac97b2c00e9f0e8690ffa8d0ea8aa6bf6aca24b2fba06476c88170ef621f3002da946de2a83301", + "441200b55b63ae560addc5a020b56937fd25021b23e1d951ba7c57d90ff7672a371513739db52f4294bee054fa2ef8adeb4ed38bb4d0a2e83cacfbf9828bd8d500" + ] + }, + { + "address": "CZQfJSz4sSF5t3FVzu6kyvXYDugW3aSNVu", + "secret": "c7a2c3a4d66588696d0bbbdae561d44c5ebfae50965bac29a5c34be86f9f2ad0", + "public": "03e40a507b0a3a2e27734098d565f8bd1892db382c325838b4bae875453a0cf5e8", + "signatures": [ + "785c64e60448d4c3c6e1e56bd0a1743c70fdfccfa0866385db6c86cf64dec8ea76e655a5621cb0c8f2f1e3e20b8aae8fcf2efabcb0539831ec7962fe310ea92b00", + "c0a18cb45d85e65de31fac27e60c602452ccf320e93bd217e001bba8a96a2fec3c51f6e6983386310a4f3ba3e06ea8b4fb6c62ec7698d12a41bde9fe278dc8f601", + "de824e91917697141f4d1ab5174477488468ed853dbff47710805d1abecd3df9454f497eecfc98a32189e00b5ccc0019bb0a06b56f6df7c77afbb4fbb65f639e00", + "1a54dbc4c6fbc4905feb7d3cdce1143f0e5bb1836c12b6e4bbf9fbece2987f6a3fc6838fe5704fa6fe97e0be3cbf73fead915bb9a9b1fd555eb6dda4ba69082700", + "7ff1df7d20ae44dfa8d03232328d0c921dee85441065691715b6a5604c74af135ec9de99dd075360893432889b3a4cbcd65fca62bb4a4b7de9d72ac9bb90e19200", + "27bb1cf484ee097e6eb0e0d1c09611e162ffb41479d172c8fd040d89781c268732dfabfa77c1d8c21b8a2be1167c24054960273005432edfcbe82bf86c7752fa00", + "adb2af1376af5008e9e59d1d7fd09e283ff2fabb9a8e0f75fed093418576f103311064ad3228a23e34363142f5415333bf97bca296f20aa2efaf11c5696428fc01", + "37135bb0ec3ef75b4490c32cb476bf80d04a8c175480a755edf07bd87a0575dc213e25cec0cbf100114daa083875390dad119f181a4044b61c1575414d5f38cf00", + "b0af6e597e32d5a34c75d1c7bcf9dba46edf8980a0da02378a4fa80e13c5c8e6684ab741a8dcc60a4032aec17310451c21d167493e4f91157f9054142090882f00", + "df3b1d979e90dc35f5f89f98a29f041b261f1e18d9c9ab4cf323b797e7a077d45db26932095c28d3e7a2cac92ed38079c8d3f3f2bfc60173fbd2ae64d51dfc5300" + ] + } + ] +} \ No newline at end of file diff --git a/src/cipher/testsuite/testdata/seed-0003.golden b/src/cipher/testsuite/testdata/seed-0003.golden new file mode 100755 index 0000000..ff562a0 --- /dev/null +++ b/src/cipher/testsuite/testdata/seed-0003.golden @@ -0,0 +1,175 @@ +{ + "seed": "osqujzBPUMZxaJ3Do1Y7kNVJkcvcD0MeduHY9y0YTG0=", + "keys": [ + { + "address": "DC6BLZG8zpsiSa1gGefwdPzuxpUccKrbXe", + "secret": "325da6487b7076dcf1eec385918306aa041351226beb3781640eae8a432e1055", + "public": "020f3512b4c14d806f71faaa21dac57a07649f3b6871425f654e3fbc7f65be1497", + "signatures": [ + "809c24982147fa79488cfbd3940e73e2ecf2ee9e467f0e18e39fdbf18db776de60419e3535bff3cf67ba2791457afe74722744a872e3fe18d3bc37d3d8d397be00", + "b4296714ecc2176ec0322cb6a13f9bd75a34f09d5365ae5131468682d1f674412c61a0c67085ad839cb61b51e9c5a7eaddcec7de4743ade77825b2e746b4963500", + "508056bd0ffed1dfd2c6b0cc0c9c6ad26225db5c43f315a87bf8251355686ae212746fe8f679b7a9fa1686e6fd4e20dfa924ad9f0d186431bd0e5854ee58193c01", + "4bb6ffcbdf92372d6b34fd216197482fc25a39492641e74fadcb54f461998a4339480cc1d2a6f9d082b8603ed0bcbaa3981ca871f515e32ebb4ad6fce804556701", + "2b9d6fb8dc332b4c35961b916ca8a2ff62992fc841302ccd8dc199b3795e95d0750b6b359841fbb1f9deb5d28040d3a13e8deb759f8c3d5e95a7b51de70c1a7a00", + "6295a6d33266334ca84e5f27937ca2eb0ad7de6e28e89607a061c6be2d26714f3dffdac337c67840d78dfbdcdef5f175cdcc681d31bca40ef33c742da9cdbf2b01", + "fa2c67f056fefc0345e38cea031b98deb7b94c0e8b354e4e14aa8a28e7e2f88e717fbc72ac2c7336f000180be95bcf2f3c72704027e91fadb91a1cf3794d977401", + "4c2e02faaa872d69564c1ec25d6ff77893808cf4b025a8271f716497e16f9244079b7bd642877f8595c5cec0a009b5773b1627017c2ef31fefb558e3ca87d09900", + "116efeb0211296184f0c6b52b71f43b9dfb7dbca6a641b6a5daa4646b44655b3094dda11541899c235ead9ee5ed5ea9888ed68f9fdf51a77c973dc27243c055c00", + "91007e5048b024ba6ea799d14c5d907d7febcb896d8d6b37c528d59f43f0ff033ba752ad336bad95cdb162c6b2c991e06d4e2aa72769de959d536a15049c6af401" + ] + }, + { + "address": "2dJiYdLAPrgJtNxmYbmx6Yjf3J6o6tTQTd5", + "secret": "ca3448d20174e2bef91842c97cc89961ce108b634798e3add08349d2ebb3b7af", + "public": "0363cad05bc20e6061d1687f02cbe2c23e188f7272bd06a17f5e1035b434215d95", + "signatures": [ + "707b5c34007269e88ce9898b604a1c9c9ad31e5989f8ee6fc682a5bec4b98c3832f33d84d9efb2f3ade0b8813aa5f3305517762719278172645d842bb0a3175600", + "ccbfac78d5323f046a6585ba6b6fe674edbe1e565d33207b0f662a28176d0e1e7711309c9df63edd6e08f3a7c454d94cde4fe146cde5f4cd686a2103e788ee4700", + "60b58eb3b8020113be1ae1025f5a5d57ddb4cb27adf0471f653fc4bf5a937a805d523921ce98c3f2f3f39811ca47601b4c1a5bef7ef3ae47c87877dfe49a04bd00", + "1cdc3524c0e0a18011f5e8a627979309606c826272e1339444349c356cdbc2c05728c3aa674446b38f076641ea3c032a007a030e4069a570874545c4663667ee00", + "786aee30a6087a5687781b3ed888907d1c067148339552b90c022b21728472613aa715b75cb141839c02b3a3e7d72b58e6cf1a66733be1bdc7d9f209a0cbcf2b01", + "44e13e6d249dc2120e5920a93ff9d14b6d8b9f4f76bf3b160111e7247d816a0d673da37fed5407fb4adaf4974751d17212a88d646889f3c21d18dfcb8236847101", + "d0665523c04db55188b1285f0f6fc79693f9468446b0e2209f1573bf2f1781b16d06368f0f1d7483ec3038e64af75569cb474eff030838397e1bfa331394f26f01", + "d73c18368eaa83cc36ed1ba70424ed51b6889a1bd184e8e63b05b320f0231c876d70bfbd5e287e81ee947b1961c88790285c70b3167197f04a3cbd026b4a9af800", + "d99efa290ad64474bc2c650af2e4623d491aab54317d73a4cbadbf10f706d49447b508e2874fe41fb5d62d8676df9775d3fe533e26c3b59e8290d02473b29b5901", + "e4708608839de5df88e9d8091816566060ce16715e6488c0b376a31dd977777279a6f88316f3d2c0716d92048b8d10689b273d83dadf5d4b167799abac89b59e01" + ] + }, + { + "address": "tNP6Z6m64tN66qv8MNbpgs3hXphXY84rLm", + "secret": "52296f8c8b894ddf388ae2b000a023b6bd48817b9139e2495997a74775f5205c", + "public": "0229a7d3b520548fc3ce2d2008368d9b00ad9ff5ef045ac9ac7f3f8f3036434917", + "signatures": [ + "4bbfb348b79a401708a6a2a420e14fd003fb4a1a705b375ab679fc22a0a41f4272459c5d5f85282fc28566934d4577ae9b1a7089869331185a5f582dfd0e94b001", + "1c5c40dfd36fe3787fb6dd38be1dae85f6a6fd4b871916cd1b95c1034429472e4934998b8bc82bf166e14aa9367dfc18331db53224a1194ec97e506005cff1cc01", + "d90f16cea7f7098d6ff350a99a75747ae4d09052434c11d60d1f3bf44366d4fc310e19b33618ec4f3be097cf01c24fbc3cb5bc9289659e5b1cea5229490979a400", + "3ea89cb88d288bfe01f48409a9de0f869ab9de596ec9d01df313f5362d33b44845e96e60146b218a085a0d55526a6418eb02c37355167b0b632268becc33731c01", + "9e497a538a113c0872cd2427795e37dc0c6062065917cce07a6f406f2bcb1d203fd2fd6b2a411287cb253a6595da66c2c253e3d9035448bf1a867fc54afa719000", + "c19122058a54edb872e7c010a2fd7fd4f2c0612f5fe9dfdb69a23c257817643f4ff5774d3714b6efa9b5a585f5b89f1bd3febc43031d10526b78ba1c65a753f400", + "d2d796df07fa14f76b3ea84efef72d4412aaa67be7ced6b4c0ab2768968878614820fd94dab1b679a64548a4854f0beb7d6ce495d59b32e7226c4aa55b04be7800", + "7f9fa76140303717d61f6fa1beb1cb1d492599e8a4e9758a76c36f9bdb0f2e165a86cd84066d094b7b5a5b1f7e6669fed39ae381f03b54862662fdfae9317ba300", + "351feefd233570aa5390987f9dad774999ba97b2c1f39affa31a80b68030a4ea2afcbc0443ad0e90d6198fb22bc99a42afd1a264cd4866e2d7ac93a9bf03a79201", + "12683e4bd838a9ccbbea355a374eeed3eaa0339055cb90040c79570736175deb5568ea3b22bb642067a2db8245e83fa3e9ff14cfa17bfdcd7538d91784a8e75200" + ] + }, + { + "address": "28Jw9pmX3U7cckrah9kEkp72nPQ1rsRVEmN", + "secret": "324ea8f53efd2dbd840d97b8eb1a81f4446a33ca0694c9e91fe87e82f0930d43", + "public": "03dfd1e1219d411414b1dd12efca1a54e96ead409cb810020af7c92c8bc6a03d62", + "signatures": [ + "095e9e13403b7b398249ba6b07121adea43086c9dae49259955c77bd0c42c84a66f58bc0cb6fe7e471d6dfb085f3fa936a730725ba551874b90c12d1f09e463d00", + "1872730df7a78b2400ce26692298c979460552a7e1bda64c702fd10d8df1956131fdcb3c53621ccb2032585ac0e11a5d685e12e658c7f3f0d105ff9b4176c30e01", + "c048a79e93c15a2820821d0a9f5d64ed5c1560c4a791baa79320b865a636d48932ac1db2fa43a58fb9e422da818bb971aa9a25be0e13646251d28ae94c5e2ba600", + "c7e67e2222a5243970e88be22d5cb13620635e2e2e93e1d81f441a4c7298c14f29a897b38b59bad93aaaec08c5e408a374804b2418cb6044ebb3cc3029afb7e401", + "cfe3f39d79f18c868bc9cd227f8cb32ccaab48b4e6481b72f9f3e74f17b87b5e5af1033b0ee04f410ccc20fc96242a5e5292ef40f91e3caddc3ddf6e83d1912401", + "a06f1eae2fb6125574ddd35a586b2034630d672a38691b459206b8ff1ec0a6e8681ea699daf0af611faf1e17fbad60436fcd5ba7022a0401c1936b77ac6e081e01", + "9ca4ab63017ea7639c8c17195e090c7d1006289da7ea61adb27cb3d647a9f44e756791099fbd7a380b780f6818eef289e7576140620a418a0fce013de7240a2701", + "08d70e714be4493282719e96c6ff7ca063b003e595e3c1fb7925c8494b17d2aa6d17eba028e8419fc2fd76e7b1352074d711964e9b2c3818eeaa6b611f4895b301", + "af0477044a15ecc71fcbf118695030d582930842eb49c1675a969cf2575dc2eb0d14d742ee694fd6dae8ca424143a5f22e53e01cf077ca8cd95434f0ff926d7701", + "f0f6f7da0e96362162e433b3b3c445ea90f1d18b32d9cc1413248f0dc27e68c6703af07525f4dfab6e09ca83bb360d9962f8b67e271fa1bbb485b884aca6bef801" + ] + }, + { + "address": "NBhY9RijacMUvN18h11DmPVSQTfiqwVd2a", + "secret": "b07bcb05916fa130aad994a1d7de445acc2c28b2acfe97c1e6fbee7c95baaf5d", + "public": "029d8e3cce3767b3ecf6f615dfe46d8ef93538f2748d4f0a116eb4f55d6812d4cc", + "signatures": [ + "96d040001d138f7e8e8facf6add8ada3f2b3cbd73a9a7ce4184de7c6c8da694964df193acceb01fd53007f5947fbc035d8e85e84fb59d352ea746a068229326001", + "67bd4e12abb98df97009a415984c1c494f00946f0fe58ec8b93fb40a05bbbd571fe50029c7de9142a2466b60e835d78c33e0185aeca77af671be437a8abeef7b00", + "f4053547b9dedb47b479966fc4f31162f7d63c749beeebed4f9d0de0e59aef85145fe85cc249a776f35f0798d4c140f75babe24db0898e8e5aa0ad094a087d5900", + "91f63bb31c6ebc767194b073b81374d6748cebf10f46d8aacad986c450641939490f6a3380186f98540c5252882ab19d8093c25275d656577a67f2b4a51b573201", + "5fa1ac1fe4fc4e07923241de99b7a3d7471ae5d601277bbe3c21cda7c5ec9db44c89674432eb551580175e8001586203f4163b9686d82378c5b027f844c0da5601", + "c4fd4007a107d2b58389eb9bef87eec5e8e6721eab888a13a19b5059aba4a329162c64e9e7bcaefb043fb1fe677b2d6434fc99a9cfb1f60067c00d98b3cc5f2c00", + "4b2c0f225d0a94279ba2f99859a730aff20ee09eb161c9f74650f4061c8919ba364504dd91ba52e0339acedad7d65a5ef9734d5aada7aff1c3b707e28431772b01", + "f28b175b0ad668f075c998e6cd1325515dd6795e506b4e7f3b1b41167f8f7fc84ddf8eb85bbe32241347fb81c22a7ba46e052817b168102f43d630ed909231df01", + "ed07e4b55f64713de65af6e2d65fe9c88c782bd9f54b0cd30fc0c95f2b4d8e48244398e72b4aeb7bbe698f3032a5cdb39329e06952683dab69802861cf3f325200", + "c042e9d6c8a0919a297843013b0da4f16f62b0fb98ce047694f50f433ae9ae9a4dbce35a715a374d54034386efed191de09cbd4d1e180c5b292f06506298a74801" + ] + }, + { + "address": "2FyNgfqHoLncq9y2Ruz29KwueL7oK9aKryi", + "secret": "f46a54411adb3a34ed4a11e4bf01d3d87ffefcc2a2ce158f415078c20e5b01f1", + "public": "029db862d6ecaa866217c85468d7b0164208dd37087a90c5c8428524959e982d79", + "signatures": [ + "192f8833f7172283c5c9c0294baca36002429782595fdc924c987099bddc7c6065683b14dd858eaa55ef7f87441e6848130ddba06b9cda2a41e635ab072f378601", + "93e6c81c91dd59aabd9247892a73f3939f1bb0b8ad6229c08e1f308f72275a066910573dbf60ef1f3a72f31bb0848e66e14c55771f5862d9d90b230c6fc8d02d00", + "1ce3643c9c018800ff12ba0a121b98a0f858ec40c2e6a9b5fd37abe0fd6d9e7d54612e64474ed28831fc0175bc989aa9f1aaa436a635207cdfa085d6e18906b001", + "429bc18483a652f86ae32e20c917de9ef043abe922c6bdc95d76724d95aae40c7c9e273784f58255e5ea873de4826b81686789470895984c7d8aac2a13365d3500", + "f4dd8039559a894885d1cf76043a4c4bc69be4e439050d965c4e2889818f582021d0850d7e2691b941d63b79819d9d11ee443f953395a1b76a54c794125a95e901", + "6f5b2ad4c639745a02a5633dc6f336ad1f8d4e035573abb8b9d91960b2ebea7601f62bacc3eb8c89b1707dc0ca3da4d0f8faf5b34f18ff8c0c86578d5340674c00", + "e9e052fec6c7086b57d7dc12ceec2f637eba01863336e6bc5a6d6405c8721ddc13f41a526937e82725037feef805603ce6a4c97421a28e5804c74ca66434404001", + "10c5f518ffd52e5b0759565706b618401d958e994a8cc48773b4081abe5f1c693c3d33378c08e29703018226148079fcb929c47389cca503155ffb7663c3fbfc00", + "3d943c9d9290f0c01410175ebfe7d33926c309b5a6724742632e962e2492181809596d7f5b712f64e82dcfef0e5f2dfe76d85911146e9920e5ac5392da1589de01", + "67bf7d8eaf1636985fb661774a0c4b5377184b5a5ac1f6f8c6ee4edda83ddbd22f161d315e924331ff5ae0919f83b1ce1b49cff295defe5617264e21aa75f18801" + ] + }, + { + "address": "24sXyRBQRq1kYZhwhfHhLU98DZGcTeHwQNz", + "secret": "af178cc4704bdd222cc94016d529c5420710de96ec8926bb0a395855875163b2", + "public": "0306b389235982bd983d081f6584bb45123bb45e8055a844562b37ce7971c539f9", + "signatures": [ + "a6d3d5d20fdd1620c4a60e665272657e24fbaee36f61121cf9807f2207823bc51900b811ffb4ab32a2a03081ff4faeaa2d16d73fa82dd1814c683d53add34d8101", + "a176b6bd3ca6d38d8b38492178d78950575ae7ba22a6e4c43c30010d0b88e37f7a59d1da6430c92ce9f45276ba75cf48a4ff25f4dc73be8428ceae7943c7a79101", + "ad4287bb732b1d2dd038d3a3efff7c14a617d1fcd14d5431a5dc3264f082ed0a4aceb53231c0025fff20ace3215755d83a4380e61d1762f5b2a7139678830be500", + "394c94399fea17bdc9d5ba2ce5895c671ab755d10a7b10cf9e414b779762b5a309960d0a5c6a63490959ac2aea2b78e3a46ff404d001bfb89217daaf6aac135801", + "2656802a9978b3ebf7bce6153e7ac3ceb227121a2a030d0a18c7555c30d332e80f75e0b528ba372f44e457989a5879016b84c06b2d9ba305adad899817ef2cf201", + "e9a7e15fc35ed1b76dd33a5bd54893e8655acea9313cc3c2c4e5561b07d97d9e67e953ebfa256470c8c680bb80ba373ac03d3cec9c8a11a036665df7db9001ef01", + "0fe18385d5e354c2d53398351d94f0c4716a27e8b2ed564643939a2ffe8f0bae79a0b60e15ed1d26a57277f25440aa1ffe87da1311e735f22c76bfe183f777c001", + "96ef9eb7cb0d210642b35dc139d86ec9bb1244045faed3b3e81fe03874aabdd316fe4c261d075373282a678c57b996f9c38f9aea0fafc7f95202fd057325492101", + "7b9fa00ed2687eece3dc9ebfd517c76e49cc435048320699b7983aab895c196a25eaa9c3b423aa5a56ebd27bc197ee40ca0705ed0bc082b5bf826d9f1faacd4f01", + "163d0482069bcec72d0cd9aacb4601902e41ff7c5268f8a80e3f3f1bea5390d2592d8c24c2784b645f5c1776835614a85679da210b9e2d67fcd72462acf73d9101" + ] + }, + { + "address": "2eEijADfBZAFk5WpNhQg24DnqPPWaUwd8G7", + "secret": "a3d764738e2dc9eff6c1d423362b537d2e2d8346483d6a5a034293fd9d057aea", + "public": "02e7f5c694d4f4b4ecb146a634fbd3fe450b017a0b8306f4f351dce5773e81ba8b", + "signatures": [ + "4611b93df2c55426447f5bc13cb2dc60d738bc62b90e823e25cd0607154fe0b6194df3869d33c25db8c9ad94b89443440e01d617b26d628fe090a70db05588eb00", + "a7102de3b33131aaf1462c9b37c31da6c5e8fd8bf8f6ea5821eb3aec8672a93b42bc359635a36bddd0a0fff3ab605776cf63544adfe5044dfc302d6665f7d98c01", + "2a78f73c5fe82809661e4ab087fcff0275aeb6dbb6e5200359352d708705f6855828916a6442ee15e3689113ff3a00b0cd9617fdffb429d96885a5b881b1f6d700", + "b0d5621cd30790b21e32d079eaf465bb13356aa1972d91017ce5e53aa8d1acaa06bfb3850f59edcd71b5b7a5df72d87af038f1ae4a5bf19b6628a8fb046c360a01", + "ed1fc78e0f115aa052a9d3146b057516c140365176da613af737d1641d7c70f71324a533c06189f3bbfdb1420febb09917dec38ba2bbbe5cc4bccb89eb8f82fc00", + "db6cf55a88608ae3d438cb994c490c0c99a036c4254414f0c04be67475c179c95f5d6be14f009dbe391dc6c5c078c673e2b627b9018f425490d07e87352159f401", + "b43fc4b582eb91acc18cb03caa1b8460e85364115268cb4d70236b87fa58140b0644123f8df014d3c7195b3ce081294a9a7bb2946050ae24cbb98dd643e7e30100", + "5a14a381c75753e4f1403fecbdcff1ce0a0207ceceac88a6264b68eaa164a4263e419903c61b455b5894a3e83fdabf4137fe27ef57501b252a5a40b1733c2d8e00", + "1bc9144b3cc9c33032864d23c42d58da1cda12e782fcc20ff66487b6b4eac7655f4ba61d26aa2632c9033e9b5231da547d3737ebebe86c36d7219562e04792a901", + "44fa785abbbfd89a8dcf6bca7785e1fcd52188baf3368da756b7a8fba7d6360f54a974a54db38877cf84ff45ed136c0cb36573c3a26f952eba03a77de1a49b8700" + ] + }, + { + "address": "1CRfbjpqCGsrFuU1iRWQcCEfiS9vSDGDnb", + "secret": "7c4fd501bb1a2f4dbf7dbf0bb9d0134fd90935d7ae5689d2005a030ee64ff0a6", + "public": "033f24693c5e97edcab4c2fa1a3cba46354af26865b055c6b7f699cd61b0731d69", + "signatures": [ + "9f01d4332f3e069d930d98ca5f7c8f23374924c317503b2859537fe014ab351c07c36c8a6ecf6a4c8bfc571558399cf3c31b4dbaff4b1d5ab37dfb0c0b0e384601", + "7e18b44021d19c3d4d36a2fccd3139c6bcf8f7e3bf2ecd0270d3e01eff0b94ca6366ba2e8fa086a6f2ee3d5d9197a47114333942b754ea9cef3e210e528af0c500", + "8912e1fa6852554783c4d77be8e45e7a14c0a4c8b0473201813430b1ea832a700031ca373e48ae06a78cb3d95f2cc24b93c0a2eb4c02db2511e3c2db7fffe4f401", + "1591e3f7dd9b74483bd6c65846b9e59f94aa2f6dd02213c715f720e098e19f517aecaed7eba340374cd69bd39c7c9d0accd78bb9c3b6caed9704e7751a27710e00", + "9ab1221cdb071b3baa1943e1e2065f581d2a81c1d33d42f00b106c0e52c03ba5326e99bad3e1a4fe76a5fec41a29a82a366d2df1ed7b5688e1c9c591a8c937af00", + "699e98e30bd3e769bac617bb874a84137e279a420e09acb1bdc85f69d1d8132509f958813b914327aefbde00232d2fd860bf37f0aa085c2c672a3b47cabe0d9a01", + "e731c954198de65dbb56cc586274804ca0148a1a9f0ab562be25c7ca5ccb5556101dcd76b3137da7a8847bf63465fe174e537a80e7f507dcbcbe29e8f99fd61401", + "2d8790ab17a76d20e1b6d213505d08fb95b0e949eae75c4aacf7e575680179620be72cb7781037aa4e5e9656eb8b6f86eb81644dd102bd4b8259668e7eed38b401", + "ddf5b3672691bb851ada7425a749bc95fda1fc6f5cd2a14e11881cb06033543619ae8665086e22c308040b5488a2c7885e4f73e506b69c7138ff7a67f474c11300", + "a835ca7b0a5b355dd58983932cf1d4d15035a86e49df81128ecaf9fb783317115f69aa5d6d75302a0c128e3c531577f77ad0d5b6d215d25b890e941938d3bab200" + ] + }, + { + "address": "2bDMZ8tKNd9jjpaxor2mNN7eyD3tvGQvGrh", + "secret": "5b5ca59c4abe3a782c370365bb9b85cb64ef66ed194fa2a0fb6b66616735d9e1", + "public": "0372ffabf5e1fe4289af91fdcded36bd3841e20926f9ea1e1048c1125c2aefb7bd", + "signatures": [ + "9760ad87d8566f068df40cb8b7510cc58fd5d8417c3c24e4a640f29e4af047c13fbfa476656295689a0a4543c0235af56a2b73cc310f9433f8392e8ecd36645301", + "5136f29e66edd0961f8a21511d04230ab71639aede10447cd21783ca79af10514420c3571d364112b3236e8e2c4613a1b35d365d522d7e57578d06bad5d6dd5701", + "206af9e7a04b8ff4f34fd353ff67c74723abcf6947c897901ada314ae14d5be60939fbcdfb0a19abd7dee745d4ef41d536dba5af63ff4ed51a9527f75d7653a000", + "39a21464e465370c3303fe9615535efd132b2a9625a5b687bd48dee0529cbd7926e45514566d8800bb0d730adca3a81a70d6092be7e0cce3c990585a37954a5701", + "177e0155ab098387673b2b95627f10437aa81aca8dae9d485f0a81d3a1954bee644ee54b2fbacb76ea2e3990d5ccbad69b6048adaad9f365627c3d4d62ff44a600", + "0e1e137d69c9b30ca391eeaafcc3e6c43b4d8261fa591ef9710e666797c214b54cedbfc2057a5c4c7f30ae3328b8286ee33bc38e301003b7d96a696628948f0401", + "0f6350ba71a39d629a37b79e4deeaa785dd634d833667379b5f56425632be10a7be104ebdfcc3304e6d2e7b672066305ee894187a86b1d04be617cea14d3b86b00", + "89d2aeccb2685af100c6df043f2ac618abffc9c25aac53e459231a9f86452a89005a26d25559688e543c24c23871e2c374a62237bf2d3c308c4b4e334970038200", + "e22ff4a474f973a28d084a842a3aabac7eea8c6d7f098b8dce13a327f9b4957b625ee95f947c86c072490a2606908dd6068df998106ea2a1bfefbdae1ee59f4c00", + "98902bc39b4e4d58dbb9906384dad91b0b2ba15f9b59f47b6d1985e1e48da08f213a4e785d5a1c18da576f5d9d2a37b4a6b21c330a26d4cad23bd75f1419e2cf01" + ] + } + ] +} \ No newline at end of file diff --git a/src/cipher/testsuite/testdata/seed-0004.golden b/src/cipher/testsuite/testdata/seed-0004.golden new file mode 100755 index 0000000..646b5b5 --- /dev/null +++ b/src/cipher/testsuite/testdata/seed-0004.golden @@ -0,0 +1,175 @@ +{ + "seed": "Y292ZXIgZmF0YWwgd2F2ZSBjb21pYyBzd2VhciBldmlsIHJlZ3JldCB2aWNpb3VzIGJyaXNrIHNjcmVlbiBjbGF5IGJlZm9yZQ==", + "keys": [ + { + "address": "2gSg5K2Aq7V52tPkQFMCfgHNhkae2KsTE7x", + "secret": "6f1d4cae19bb875ef2588591612a73972d824ff40bbc8ed709831e71764e7897", + "public": "02e28e6d645e070e698c35fbceb8a81ab5e5d4912c8957d3e065e8966d19ad8960", + "signatures": [ + "ad1d4a3a61606df19d2d56083c4754f158a3cd76e60fbf6f12ec5293fe45fd0f7053bbc931322c3b6c289ed8b69eddc4517afcc9574eb6abf85dda7aca90eb0401", + "ca7cea4a7b3b705aec86d1cd5730ccbbc3521c9b4e5916db5df089307c14d89b655ee0d17da0729f7220b6ba79f39fad2fcf4370b1c1ebb1ab8d787868090ef301", + "f485b3a381b0f88629afddaaf895ca7dbe0f173db225c5f1bfd05b80bef18e5e330b2dfa46b460eaa11a0434010a76c8c710e44e489fa879091112f9f7ce51e501", + "c3f369e6685732b3f07deb7a271f786f90b3fa8cd69f217443c9e5d05aa2e9286225f6435ae60a3b7a5206bf35166a7960bbb640a5becad2d881f3a953b6887901", + "800b70203dea088ac2fd6e6e5c8a26b831a245998d540292cb2a69bec83f15ad172b805b8670a485ada4069816efea4c50fb1603913e00331562894c7df87ad001", + "bd558108807f9fdebe5cd192230d0acb651b992fdeb54f4e9b2e5fa0a13e069f366b8442478a62032847a832cc5462aff4b7458f18eb104ed8aba8501e4470a801", + "a5604f914b5169099a990f95dcd38d9f78d145b99f5c4160118c0b6f8f8948d47f0cf1a41887efcc6f821cb72eff0b66f5b7befd824ef9ed8f3a07ca671a1b6501", + "31455eed1035e50088ec9ab7097ee54a8e9f6dd5f233f1b95f2c6cdaced59dac23118ee87da70ec88056e48ad033ba81fa8c14ea891a6bc4b65ea2e08182f2ac01", + "5cbcbdfbc91b05bba7cf8a24ab13d5872dd0b148ec6141a4eae664b03b08e6795d89bf71203a6cc2021fb3a16429992c3de07d3a8d3f4504a0c2ff48e8dac5c901", + "0a42a468246b2807cb1b1a83edb251e1a81838fefb0c2414d569b593eae8d3932bedc14a5daebe0edd1910cf64e18d0ce70dffb536eefe8b7b9c27f2a630cad101" + ] + }, + { + "address": "DwLc3z1ff7uKUgcyAR3gQhfzJUHGMXktyj", + "secret": "8592f9f419cb7b0fd4216e314b17cb3b58ec944979f8f6a34e21fda09e01fb2c", + "public": "02c0b5b53873ec9cba0790588c64244579b0b23eda646d6ddea6153cb97538b3bf", + "signatures": [ + "f174e61cabae3b37f1cfe3d1abbd606621765d02ed6bfa7124dae185aef762a51f6af575745d33d4b2d1664a0d95dfc82e9010bec8830e13aec03cacd6ab158801", + "28cc5c115b8bc99e6bc9d6281877417a2d5b45806205f4c430210157794920490d11d4d0de202357df8e8603dc3c74426b98d3c30fd7963198a0ac15a6e6954e00", + "c28d5d073b95ace0e2e0fef8c34bf5288633f5d60c33d2fc5fcf427c1d70a8a9045ba9db1510b68de5cd9ba2c8709a6cbd0e8c5b57cde5a601d1737f854a4e3f00", + "2c67e279048522919862955b1afe7c32f432deda62d90219505cbfe7473a976e1968d180f7d43b2b018e7f4f265d489358afc66ce0efc1836348f065fb03197c01", + "f8ede7998f1110729adce0af5f3926a3bd8927c178e98c45ba1529943913ea337d4b6661c54914d323be43a9d7596fe7ecba2a8717981ad2d9db835b898e08f701", + "8b8b94e9962b5332f1289a299b3b99529edfd4fe17ded5c0b38d6a23364cd41759f40ee4454dc9889d207a920fd09bedeaad78885a0af853cce2d1c15472412e00", + "697b517897a92769b59d9cfc86e2ce8650a51a318bee6808a10ae9e752e8fc6a587073b92da7431ac39fb8d7e77c98de1b19ae90451df69a03dcda911587c06100", + "e79c81ec05b0bde926a1ad3310ffc62423016213895bfcbac1e120cad6db1ba872dce323156b76bfe316467c26475a3ff1468e2e285cbf0c23e2ea542c3447e901", + "4f90c8736b8081e2d354c22f5e2f7e15f5fbd230305257a3f63fa89276c21c9206716122be313ca3c8560fe86c26c09b9d6e9ecaf8c7d4bffaebe20edef7444600", + "0c3e651b2b03dcbb6cdddce3612f4d0f414e11f949d046d9befb8b34b0baafb57fd3d8968f27c994a08be0fdd6be016bd55c73b4a9fea07ed44801e3dab6086e01" + ] + }, + { + "address": "25F9ZVk6tvues2LcxpRUCCjh7yubBBUXf1o", + "secret": "618adb045d65f9c1f99bd8e8ff6098aa1c2abea4c8424a9ba50d2a46c7a4340b", + "public": "03eca0e99aec7896b84c683db6eb93fff2df7cf03389720ffd214eddf15f901390", + "signatures": [ + "c19580a393f382b914baae4fb0861c4bd667914729dfc2a2ba04359c247669e55da6940023902e17d1006bfb14b71e2cd6abf4388ba0f18964f51d8b4ac272ed01", + "97920bcbb32e3b0e853a2a7369d0c777826fca18037ec9711e74fc04e31de4af309a5cc22311e13d68197ec991abb351f3cdf8e0d8c112d0774d1ed0585f93ee01", + "febf199c3d88e46fd9aad05f1c612d95dc2b14a0e81113b844fca9152964fd8407866c9348572f70f8b1a8f6d313ced36314f04a616383cc3cff9f6faabffbb401", + "e5da5885db7f22a5aecc0bb7b8573703b450ad8fd454e65f658ce3e99280495a6201bcbc756ae9f7bcaaa387819f6e7bb921ba33d142077344bac8bca489cded00", + "52086e02e21e9ca4349ef74aadba227f30062a46b150fa6ba478a238084617dd48bf5cae7823683b1dd7ed0c1190ef301a5a9235fe0636fdc32cfd4a4effe0df01", + "3ff9158189c485c5dac9ca9b588291e8c7e02e148be3ac5dc15c8d1e744483b315c6c6d078d025e9537ef2a03ec813cfaded0de7afa37f329e94b6688f566c1a01", + "369c2bf1bce93ff4324683029bc35655f45c2214f7137a2ca67da406b982a9bd53f5e3a728abe88decc966ea4d7516523986b504ddc9f6e4038a80848a81ef9301", + "e673fc1269619a2bb56d3a5ab9d5d25412e8015074585abc94ec66bd5179d8c0272b48914b95f37e8ae92a25fabe6714e79ee90ef32d0d6a02fb55b72191ae5000", + "1defb8dc62e55cf8666b6f02ba3814095c686211a5194b214ef01a655f3ad03f71fcabac8760e2be64448207dd7a94e3c6502d272aabdb1bb2fece29ec4e82da01", + "96b40f52ac8edb532955af2b023078bb10a8583e06f50cb769aa79f27b6b1d6c487c1abfa02cade78f960698439569fc8fd75f88933c745ada0bc2c6efd7611201" + ] + }, + { + "address": "DJGUeQoBFUFmCeVSGkVY6DTcDzwAn3f6KX", + "secret": "4fe0e662f034a0b4937c6d8ab1c9f49e6f612e8fcfd57d332705d69b05a2bee4", + "public": "0340c46145683e5aeb80354625ac586fa8142eea1894cb2b858a162673914701e1", + "signatures": [ + "d7a1198628f61f4925a314cd3468093d3231c99defa06f40bffe364693b5a06905d47a8a380666279e7a701d952ac3d148d99cfef84b60c39239cd2669ee641401", + "cb68e677160ff64bb60f5ebaf34317dfa0a88977819f807e5fca01320a493b192841804684874177c82a269eb867d118ad9e7e785d577b217b86a694a322c94e01", + "d901fe90a9b825ccdc5a0c7f154d839961658e6b0277310ebce6e27ff94ff05459b3356686cdd942060efe49413445e86ed1be410f5bbf88f0b4e5df35f9098e00", + "2c9d4bfc9ef82226b0b71cc4d725bc0b35ae15a8635e4c5900230b942ca0303e3a4ab3d5d57a02af7acd4bea6eb9d25fb52c3d0d43da43a854a309231ea9040f00", + "d01f41a7555d7d232e34dfcbfa6dffb0e0df120aecd9f6cace922c87ccc08063437073c07000b8b799ee52bb0cc438750502455141b5033a974eb3c4c7ead62000", + "908c2b370bd5a5bf23ee6e45211dd823bbc381e3d5b67b1a0844c7148b556c6e077ff844f4a17253993992be91ef1bd2f546f2847b9a5490fac0898e7536673b00", + "3fb2652982f07cb81c9b4df36b5719f29f42b2cd63f37227727a66652a757181620b676fe314394a9161e6a9193f6fea9244107d160bc02850484ebc0a2b1bc600", + "f1c38343dbcf9f4da4860554eeefa267cb18a35aeae5c0be0d6f4e81630b507860098120ce12924e7e237f4b72d0a3eb3669e687aea9b162db21417945ee679700", + "39332bf80f31e75d34ef1300cee7dbd87b5605d0714907e08d0cc552f86baf6e6346b68501bca34feb81f776af53053eaf36c91343d15e6e76d25f79c47fd6e801", + "c183c3f38336efe21ce302b914dcb06ef151f70bac7220c318b1cd68cc5d90f90a171263f5f67ca870fcb680e0307f1d872948d7d3458010864f0a3f284136b901" + ] + }, + { + "address": "Vh9Zt9oPMjsJxNVphCjiGUxHSixS48J3dF", + "secret": "c2fde07e45562dc50c18c1e7552e03ef28639c44b2bf3a4d363314203e3d5f4f", + "public": "02d40df519e11c34b78b2124820d5dc04c6f59f465d6263b68347a9f74a98048e7", + "signatures": [ + "a2d420be32276ba19ada464ae8b29eab9b07b20be80ed9a2998d7ed9cb872b767d4ddbaa6babeebac811a6dce35915d9279cc6d3c0a813fbc82a54dada6dfed401", + "4459aa264b6e3d724abc8043de82bb8eb3f2dbbca1367d4b36327738a37c2f842d92698747c24602274588a91c8b191d17f0b82fe10b48ef01a9defb14fb07bf01", + "7c890ef0145c41edbb3d56f37919efdc817b3d5e82976fe2ca0f98460315253325c47f553e91ab6a6c0531fefe7061d9c79f1f3983e46c7cc5d21fe7d4068b7701", + "20ed571ec5dbf4a322c3b447cc8d2b454150ddedf84ba086e5735451698f99101f86f82802643c9e49673f83a988d7b8193a011ce0a3c52e84c6fccb1172f8c700", + "64325c6f0ab86cadcb791a37de986659a83df1faeacd4112216b8ef2f7f0c1337c12e6af249244ed03a460c3b12636593cba964cce2beb052308d20777343b0501", + "1ed1e4d8ea4b5d925b7bc270d5013d11c5b99992c6f22fba3699c1b7fb08b79835f7ca88c52416b191cbba7cc275d7f5d9d6d693990d85c41e4a305469d0aa1400", + "02b1d63de47256007c751b9b7854ec997bf7c543af9f3536d831f2758643885b3e22d15755247365b21a5200aaada52e603b53187ad8ee5c73306ea8cd0a7cca00", + "3b7680d15858017a6795d2c3a3e292fbacf2604c5f7db30ef2270d9b6093648411dd4f1c1868a9cf2cbd51cba1a8c68f35f3492abfa9af493db4260e04438bf201", + "c1b24bcc8d83c07ab3bee8fd90cab612421c1e2eff21f03a26f49c933d94e4734b79ae74268d591b6b58d68b214b3458412f0585e9d2f9a7ae1b17ed36b0102d00", + "c0ba9d290f95ed0068e90cf68c4b98ee935d463820fa35cd152ca085b548dc6b08035498a6f23cc28da907ff320260b9aee8bc589c481629070673d4cb1cbb0501" + ] + }, + { + "address": "Z8JM2GA3ABPuKYwufFGkhvQrD2y52NFT2s", + "secret": "bdccd360c259b643e5f48a52043602ae46cf5f71a4604142794b687d21d1b8eb", + "public": "03fc611f00d187b85fb2d056a6a7e03a078939b1e9ff472c3f7b9575f5b459145d", + "signatures": [ + "7f023a6462b1eac2ad7226dbe884ffcb79cc640247f720a653cf62e4bca47d8519b98c45a7f5bb348f15f75cd33f5bdad5041dae85e9ba3ff073432a77f36bab00", + "1f9b6736fdaf0bc3934c687a0915acb1488f1ba30fee969c73f7f2dd16d011f65bb030cfb3738ac7dbed8b36585151f5adf2138075fcbe61ec7c3a2e0e5a6f2101", + "7fc3dab6e22ad333206069656f10ecc9600916f1cd0b49c5cc874c42102907f33bd20b18d4bf5bfdad1456eb7c8c7cfca1a676d525314f37f92977156af808fd00", + "a7697698ee9ab3368b5c6e75dca0fddf3f2ecf0378bd73481fd49e1d4f73a8b73988ea189cd301cf35b2bf4c9c8445f0a88bc2ed1d17f2e79f46336d6172442e00", + "0f6e0373d049e5cef26325258bdbc6d052826e18e26d8a7d4e7231d4c2f7f8af7f783fc5994c609e4acee8bc6777fcc62d40ee4595a2962b061475130b1e584f01", + "5727d799b297cf70b70c7267424f842cc78ff7853c7b56f0e47af60fe73a305f7713d11b418a1c4f214cfc2d87aeb5f90654e957a1752358a8bf160de86893af01", + "6abb7a9d88d099d1160ebb9f0f76e54874447214bea3d8bbcedae00c4eee34df5da3e84fb6cb35faa42688e7075351ef22b9b8543664dec354725de47c1f83b300", + "ee5966c6140b76fd30c4241c55ebb4e6e59be0546b41a7a2618a845b56edde5d63a0644551cca495bc6d1b4c8f8ba7067c3849391bba13a4a38a1c040f5ba44500", + "0692808145227bab7af3087c5e45f0fd2a468db2970c5fe37f0dfd2eab8dfc5752f18a2475a008f439c94d178a4b335304d4369096dc7e33735f73dcfa46e0a101", + "d6aabbf59d8b2ba240e9c415f95955892c7ea91e78e5c097ae126934a3ba6d592575f48b9ad58a1e65ebdd9d0464d5bfcbd4af4b849dca17d1dc2b17013623bc01" + ] + }, + { + "address": "22GWk6z8PQVKDoRNR9Mt3YusZBqf18RBdb2", + "secret": "02a29f33493d777d410677a8ffb9049ebd37c08e994e48ab7664b66f02fa034d", + "public": "03c2d659597aa5b59c6f64f7b75321d824432b5a41724a74a91a667d3a183e9d2c", + "signatures": [ + "94ba8c0c74b89e5bf2ea16b610de49b6cb82dab492228f7e2a08317fd32ffc994c0c440715c24bfa144d5e8f73d6bba3f66dedddd6524946eabad7733df86f0a00", + "ac497705c165952cedb8d8060cabc5753fa0de358af047a9569c0b989931ad25357887605eac25ecfd15fbd0c64eac6ddd65af25de11dd16ef24863f20886fa801", + "7a3c728bc7aeaf467d9285eb8b5200f9a9fdf97e9cc7c5fbf4fccc8a12c2d76b7a652321bba91e9f8a30569b56b5357a7b19a6b1870399dd9ac24ba5a199986d00", + "68bdd162a269d6536d8f03cfc395f5c3fbef268a18d6d85c535af73aac08d87d77c913500ef9fb9b5d6222d084111953b8f04f14ea7a73e1aabe36ef884ce32100", + "dfa9cb7e3a83c637e8759701edab94800808e4ae0611c6dd1a753b01431a84081ec0fe95dd4b0ad18884fc307d81292806ffcf837ccfec38ecc99f32659564b501", + "2ce3a840fa0cc355e9f0ba33571580c177753bffad543ceb20785319832eb6c71414d06f9c15e06311b201f8cb595f5abe5deb471a9efc8472ec1ffbd6765b3200", + "5b87c2450e587f2ba62fedb4fe46dd8b487ff19b24632c3dedc1999035457a37088c380db077ab84fd31cb414f80c99b05444dec8e0295f337a13f079747e8c300", + "712c0e4c8b261bb86d46b458c51fa33de865414dc008229d9fe523bc97a6eaba22b0b5e70be850b833a78db5e2cd4a3c64ec8380a7566d72bcb9a986234c84e001", + "e4671df444064977c74fccc8692f11eda6a7460765e437edda902d3c5aae2dd1353c88d783dc0200d769bd420d989155cbafffda4762795343055cd3d21ac7ec00", + "8c4077f1f6e7fdf022e0ab07b55b3f6c876e73879d1af32ce281f77cc936d4ad5a86667cb593d0c142efc707eb4f8e6c6770c8c72c2d89aa1fce466875afb7dd01" + ] + }, + { + "address": "Gy7bWVonUXNhGeuba6vuf9VCMxSDopVwXC", + "secret": "127e2ae002a0089db7c77259210be6b39559f2de9e0dbf1a16e362c73e8e539e", + "public": "02b2bd36f4f2cec30c5679311a2a918b61593c46b6cf522908daafdc337bf6c73f", + "signatures": [ + "3c7e5cd75e42e58d4ffa2ca1a6f7d27df4c29454162329ee4395137fd911f90e2b3c855f37b20fdb915057be390de611ab7b9f8a306585a98bf37c9e9f9c74d601", + "5924e1c81b54945b3f1654ee12010984c18f39cdfe438339e672bb24b3ea245f55d46a79bf6359b41f08bd5317e7f52029ebf6a11001c184a2719f6e6312f94600", + "2dea341a911245608f6b92037f2ff9389ea009dca319db7ced270d766631d30043b8a627b5237d89c12c75085c84e0ea96e1a1cbb7ec44eb9b45646763cbba2b01", + "6270ba0e3dbd54f697f440cb4ec22c6551332ec07bd8040f6367df6717470fdc3957791332a244d270046d164124c80472ebaa7978d339df19dfbdab5c109d1f01", + "25ccbc38150545974f3b9cc52ef96130246fa9a3f64e6069a762989f5f8e9d8f015bad4faf0100a6eb0078770cf32c2bd997dea56facb314c47b3cdd37cc3d4501", + "6cdb3de2d53293aca9bfd74c6621c82af5f6e7102ecc4d658189d28021371791728c859162fa51f8b1823ceb19aa3037090bf18ce50fa5cbc56e5abd728eed4500", + "8253acc32c056cc0f10941e21ff25b17b4e2ff4ada8716315852e6ce459ee3b82f45747d867ccf0188a6b3799990e72298c31670f8bde9fd788c986e1779899500", + "7ea062c2bba7b93d31073f90df27a26543b67f357992fdcfa8e3a7db368cb0f141629c1498f010f2af86f1805556ccd4758fb8fbcc28a043e8b2025066d6f8b101", + "2e1270c4031965205ba2b8a4b85bc1945c0eed13b758e02fd627f96d89758b9f2f9819f90dc9f19fbb7f27c8b91adebba02055f72cd7ee3a07481587481c975001", + "8806abc33816a9fc503bc6f560f399b4073e8c27a42ad3e78ccaa643943164f41f8f0d016f9f32b25fcd98259b8e6d9244cdace4e0a813ec78d7ca6d9a89de9401" + ] + }, + { + "address": "C8jt5AnTY8rbxTpbY8JwWkPXYfoAQ4fikt", + "secret": "6612959069c41c6ed02d7e1a2a868a241fabb65bf8361c0082c797a87eafe119", + "public": "03e0f8e7fb3d410563352dbc65fdc0a42dd4f6c3702440c63f249d76b96585bafb", + "signatures": [ + "03fbaf561b2dc8eb519fdf55b887286d29ec6685ab043adcaefd84a5525a4e406d62f5209001e0dd07a5865603d36f29575322b21575d26e5644bf19bdaf46bb00", + "a5af3b7b26b4a0ef7099775a9ab9155b9619595146e584e794f08ccef4f870ac74b1cca792622fc0932025cc88f44a2b436e1035a377aa2fe31c51ee76fdcc4901", + "28bd55dc280a0d32cfc09325ba0c10cf83b45148d3b8e5b6e71f518c731426ee670a71850ce30bffd3faff287a75f338000b5faf4d3ce8e3625dbce87b09774d00", + "61b4dfe751c918060ea390cfe695b5284fddb0e260ed4a8fbd3bd50d2de7dc49260094650012c89f5f0a93fd5a29a0aa0a23a34dbdc46b0837801e6a2b8f744600", + "6ff07926f05fb316a1eed1bc6157681063c8545aab1b05b37f6d328564659cf0621bdb4935fc4d5dacd751132a1513b2ee23acc7eb7cc395e8a27a83b26f7eaa01", + "45ba72c2a125e68610f5f453709f4cd08e3be050f053bdc9d1788e65b2da7b085d36fee291feff41430a429a87a4b9cd8d43ea005e3b9f4b099a0c2c997983e401", + "4ab3341c870bc25dc9441a6e920b11ebb47cfda4f4645e51cdcea6fa99aeb68c06b5a0e4b3b41da3ecdcc5fb162609cf1f71d49c0461cbce484fd11c0a8557b700", + "aa253e2de851ccf7d3a41096ce5c0029cb4ac90f4ebee3eeb4395a54ac50361d3d16cfa3e8b764dcd8756f8d890bd5adfc72a43347c9ca81b072dec40b75ea3901", + "ecc90584883a76a56b914f73fd1367329db16d547e692a64fc59ba4ea86e5bf93598d53f0236834c98c3751795030578ba249fcbc69da087dd632886611ab96b01", + "0b9462cbe619e461b8a72a52194d0599cd63d130f10e905a1ffe8af03aa1584311953db3006f00e7d7273036b0d9c5347c3c586a8b8eeae315dafe6f8bb2340901" + ] + }, + { + "address": "baYpCovQfbz8Q2A9q5zp2AR4Q6hhCBL5pM", + "secret": "1ec466e5d354246ba0b60dd2de440908d7909fa5c2443b67ee2d5d151b94bc3c", + "public": "02edc9f522f60e60763359f6fa8d55760ba814552961fba4e3035c2b722a89c2fa", + "signatures": [ + "7de1174714dd3ae5dbe8e6799cacdcbd03ae68b0440b04adeb46bb1136f333e55bd410dccc8489b3d01c5e4073a956caf4388bb803cc8d0105f22a585237a0ae01", + "2864b63a0ea3bec590a1cd4be61a31e086cae999fb7c78955fa86696fb3ace04753e70d4f14c83cb20b05bb9a30528aaba1f6f5a952995343495a4fb6c05079300", + "703edaf07205c2cc3bcfd26cf1608d679458bf92861880d7856489c42c50d712460335658b68625f9083430f5338d6bf42d3ba0f144f5ab533679556df92000a01", + "d4be1600c0cb92e0b07ca0263cd57d6c909849fdbbe5178fa97d983a406839a94c8b964b06066c27d13613d6addf21e151c630bff8c38092ed00de017d1562de00", + "c842070d8c933f4fd86667ed96cae99037195a88d5033dc76b95969766ccd9ac41432953188335399e7b2224958aaf08c5262bdff78a65f9191b5fa13547915d00", + "0dffc1ef0f4b1d62b997965a884728c25702d6fce447df95a0549e4cedfafcfd056ab44346bde268b8cd848b4e61d3c0ab8939cc251a935336ebe599886bde9800", + "d59b89ada61d412d26eb7a1451ff13c1872d93250243b359a368a1dac24566b0617172f14b76091b80f49bf8b02a8beaf85a461a521f1a977bbcfca1ad81225801", + "af4db82905ab7d4038d17c6c511cff360af7140ac3a99e5f9c4165d197f45185443fd0090e7be38f3be83cb3bb6fd2ab7b5f913fbfbfa0fb8c676936e995499701", + "005009764d6b272d9049808915172c3e8e38060c6227ea8fae538bbd273cd815393c215b0c04dce8400084dc3d83de618f7bb3f2f98f30a3a930b1e3286ac50100", + "85281a5f09289a2625bd5f23012e98c16ab43596c0bec18b64f47e0c67265b8020132a12b3c9e32c95c7155122ef88da0143d629f4256beb6c77db4077c562ad01" + ] + } + ] +} \ No newline at end of file diff --git a/src/cipher/testsuite/testdata/seed-0005.golden b/src/cipher/testsuite/testdata/seed-0005.golden new file mode 100755 index 0000000..f5f9a0a --- /dev/null +++ b/src/cipher/testsuite/testdata/seed-0005.golden @@ -0,0 +1,175 @@ +{ + "seed": "rg==", + "keys": [ + { + "address": "E1YWJLum4Zo67o4HvSHcGwgTRRS5jsbM1S", + "secret": "28cc037e29023331566461ef67695ec84cfe2e3963b3284cd39ee3be4340cb3f", + "public": "039f1cade86afd2d1c2aab43bb91f346dce39aade4f1c4539b68b220b2deafd2db", + "signatures": [ + "582ed859fd7ac1047451c96dece2fce048a7a2769dbf7d6e26fd6d8665ca77d74de3e4fff87cc8eae6d2be699110bdd461ad3d2cd26a5f3b0a1ee57eadb8926e00", + "65147b6a8bf3b95a29d3717c77c0673e03abfb2e1a1d087686272130b3120d5425970e25ef2f2fee5c094c41d3a6a61314b73c1d505b53bce259904854da270f00", + "be54697842c0ddc05fbc4456ed2d25c52c8cb6a421d63b69c8a74717a70245a9574314b50a9da78ee7ae1456693887b662699ec495e0192d6df6acc1fad1c28701", + "93bd2264ae0770bc43304dbf03d841044b92a9a0e1bcaf02616c9fc27981efea59bc48fdecde42419d8504889f2142d1912f68c2526ea6bac7bde4cc6899818900", + "279c3f244cd708c0382585497edbb979542362842f431bbb2fb79c1e32c349b95c53b90d170f18aac97fd8cf5f7a44d3e3d4ce80d44bfdcc28fdf96404c04f2200", + "790bd0d363885beb9ff0fbc40c2731a09efe3239a5c1bef3770f20845e15456967dae17ebf7672c3520b3f2056f1c041723d8adf6035a79bfadfa3538952368900", + "f7bd0099fd178cb133e8d756dc78b4ba9f35f0eee557d5a6cae15adfd3b5274c7b41077a8b1d938d7864cef8654ec0154f6698735fbfdddabdc11baed63b180f00", + "29e7751f0cee32a72664925334dfe384347524b950776f19bb8f1f65a6e709a23f9f8970f3e3bf47536a99ed2926aa5a9275b75f3383b3d34baf662c03bfbc5f00", + "a4db1d71434b9eb07c3f75e9b6f4116a0ce972420c1873e588410fbb89dc31ac3d812e71cf4909386dd46824f6baa9c5c3b6b27a5bc7f9e5988c60fdd5ec506f01", + "fcd688f407736fcf408a7aaf27f1b2cedb72f4f9f6de248c1b1be600d1a79d8200aadeb8d330062861b4a93c948d1be588d062d02c36bae498d3d969c4194c9a01" + ] + }, + { + "address": "2TXZrhjdPPVWX3mropZdAJ7C9tfKA1H5btJ", + "secret": "3a6ac4318cb089dee2fe368495932155be25dc2cfb1994986cdd5a4eeb97951d", + "public": "025a9903b928ef2f66596d3fec381bd8ab02be4dd419d6147a2839f4883720c424", + "signatures": [ + "0d1ce484bdef0becc50ccd02245871e1bd28338313ce57f754c931edab9a822638f9dcc028b722e0738d5beda6ff9ebe71db9a1c432bc144608a58da7b5a73a700", + "d1c15c29c7d9cfa1312ce992120ea80ad20b79d46edd91815c4bed09f414d4244882d6fdc99d7416a35f2af2a148ebf2adcf66d35e6f2acf9fb61d23ed31714201", + "8b746e791bdb92becec684471b0463aa4191ea1735599b5c48850693f79a1b4e195d559735e0db727ba02ed790cf17d724f2c8085bbc755b3e165eb7afe52aee00", + "4b8fe3f64d924f290d451cb3b34ad3433cf0f5a1e63e2ebaeadd8c19507a8f5d558d012dd1a348a7143a995f1d6fc87d476379843271c1a3b217eb835d6c1a5401", + "06548a750b3a35ebc8408d251aeec0e2deed67e37f297120acf78391ba611ef625bd64a40e2521acc1110b9fe4fbb47b8130a70d10e7f16f8d15ebdcae50cb4501", + "75d7cfcaaa4e9f483d11087f4e1460991b96a47e3c13be1c7711dab7f9fa9cf577085bdcd8be8f852efae4cdb5ff32acbb7c62f944565e5fa2773760279efa6401", + "2ab8f885369a6671cd27ff2990a8c363a7c4a06b7f83db97421443241204a410170c37e10c8912aba3475ed773b80853dfe6d17ed7d3918191ccbaf84640a62c00", + "8590c0d45abb75fa18976c9e5c9f28aaf157a5d00611321d7ae86d1adc4ef87a560dd28f3dec5db3ab0156c19431a19d900267a36d88bee206e42c17e0586d0f00", + "c4dfa4c79fa9ebdd739a89fac870cb8d38aa52480e63c59f42aa0046dcbbea5c2fca4e64421852c8dd62ff7870ca24fe44b5513374560d4aa49f60921ac712fc01", + "8a3d9436b8230a13ad2c00173e819deb4117fc106064b044ab560c89d7f01a065d6533d1d2aad1565b22f1b69d005ece97de62c6e8c45da8f853f532ecefa24f01" + ] + }, + { + "address": "PTu4VmJMkpSZNPyReRoH8n5MG1o3gaicPs", + "secret": "a9e8dce4a111f6e752bdf29a5879c2c5f77ecd1c5f612df3e9edb8b251df803c", + "public": "026c915201c05aac2a8893115fe41615a49ed8d601bbee9867c53c7e3813f95088", + "signatures": [ + "c723e8e7ac59644eb1a9a59e6b8dc261104e7f89cad7e7e508be71a93a9ecea70c63a10f0d93eb5edfb23b0183e0a654dd042cf2420c6228818e819f8a63a4c000", + "50bf3cd499902e7350d89531941af889a0dd9bb0e0bdea2282313c99b291a6884080095a1eeb55f5a65ebbd209d889dc264bb7da5ddb7e13706a88dc532e3c5401", + "f4a9c141f072faf21151839182d55e841e48ce3d793e14ffc36088ffd76b1d650760bb36721ae64b2792cf2eed0afb0fe1d862d42ba9673348382ff3f1ca245f01", + "37a7ff5a750b8b77fe93cc01f71f4d4a324ac70fd5d1527d5ab41c1775f09087321f3da3198c38bbef0cbb886596804a22006c704f6592652aae8366a1784e9201", + "95fa2b244623e26c29ee4cf050c73cac85f1b49246790f34838d2922e4b3c90d28377d332cd9f9bf122afccc889a84930b5ec196b399c9550b1b83372ad7486e01", + "b391dc7753846b34c00091914219addb98d2c8f843d21c72c8f0b57c9292ee4642599181c94129464cbdd8704b93babe7cc0b76d281555536a93b6a17ccf042001", + "54325c4d401df59c618bc76f16c1684f3cc25aad328f5944d232a9f0a3170d8a393ec2c78c7389be320044f0770bb6c2f9b97a0c8df111425f7683753c783e7600", + "9479da56bd083cd4e8f53e492e651105659ac18682488ccf9019084d14c8fa9560873c07e85f5fc002e573ff7c5465b8167382652d088082ec8584f93db0d5d301", + "a4c4429e46ab80549c155fbf05fd7ff5d1adc497024cff628f751522ce429a825856c0c7f62a1dc92fd95d62bacecc002a6800d41ef6db5d8737dacb9d60e08601", + "fc82184adaf042736fd92e36fc42dc7e0b63125b6014916065bd3858402a4d891c8c206bc05f3a60ed6623b107ee34ea8bfb5182e5d75c33b8b5672ec5c536c100" + ] + }, + { + "address": "mkx9CqV8vnX8m6wgMiQbW8gLLnHh6vGz4N", + "secret": "ec677f802da9627a8c4a90d385ae68399bfbb69c15dea4cba08573cd81ac5a9a", + "public": "038797d2c1174dbb2e128e165c9d3814cbbebcce024c6fd459043f0dc661c7db24", + "signatures": [ + "273a38e3d7ba7ac27064fb70420911526994f497976c809803cbf933b95651f570c82ed60b0d5eee3e434754f525716ba85d1fb4f4b6ccd85680f12c178af1fe00", + "e4efd05ec215a0bccf810283ce8397f023cb79cf549e9b84cc9a879da14a1def127b603baf0756698db559d4ce57f12c84a90233eb952857e3864236bfe413f900", + "cd7bdb06aa7c5fe19a365ed29c120edc4936443b074437e048a174525fc8a49678e6e5d34355d771835c176f281341eb621d1c9912db8d04d51ef9e8289b3c6301", + "186363b97aa04417a725771ab2f53219f75bbedcca84a7720c542bcf1b7a7bac1d195cad9b52b23efc8278e0035856d1c405220164b29189ed094dec7618656600", + "c6eec9029162fad395aca44947e6cda7517f10835e5ca801462fe7a868086eef3cf8d712bdda3f4aae38b288c09a3851cf6d8f418721886a0a8e87e9fab6bf2200", + "aefb39fc91f106de7f7349b53ce3e8efa97986ce3503e8ab527af820aaae04a053cf336698cebec7d306cf5c52618ff77aca763ae5393ce8d5f45a580ef9ad8a00", + "7f2ace494c7b7ddc380da34d60ef4152f1cdf8bdfe082603d86a9d52a543e66253635ec64531f6b09d5a546549300d0df2ded35ec25e84f7b0a961f8b392423500", + "1fc025543feb8990d415283e946d3d42593e3f4259ad36de79d3211640b61c2607da58688dc13734c15beb10018238aa22cea4460deb1c0a95626699c0b58f8201", + "a08ecaa36a67fffac7189c82a72ef65a419f8ac513cf87e7d1e2780c25da17e72d21e72755f88d6fad7f5c9b21fcb5d9ff3e1cc0796d46b978e0023663fed85d00", + "58733846895c696b0dc113a50751747fdb0dcf32b43171acc591013c2c6fbd7239f707a1c5820a8b922544d2cbd3f49bdcbba5e7bf28db69035bf30b202da4b601" + ] + }, + { + "address": "ufRofY1rDAa2QQojenfxsM4X6ibkqCeEb6", + "secret": "661e38c38e3a9a5463be99e2e57d9dd6efd5569545cc0d4eda18be36911408e4", + "public": "025b6f563fdaf60aef899c7ea420397602b1b3ff23ff7a36230cfe55fd88368b8b", + "signatures": [ + "fc478aaf82572939f34775beba8665c9fe1366969dbe69dffc17824447f45192506556092180d7f76d3a317902e33a9706fce4d9dd41cfbc29794e31d00d123501", + "53bf45832787f16e51cb6bb8468a790cd494a3719b4430b84d1d4050a487d7ce347fc6e1cc810583b681447bbbbe0c9b2a98b12552417a4c687ce4de59de5e8400", + "fce73f2e0970d1d02338d808609010351a2c3cfa41f63e7e632b32741978f598158096d5dcc54584b05e288b3522db48d01e6295a1a64750d8c971e734d0597200", + "c44114e4381adc869165fc09554859f1f920e8cb25abbd10bda4f20c34fce4665b4403b43ab653f14354ca43e1cdc78e669b5448e4b9db5424704253141b62c500", + "80f551c54136d983cccb8e656eeba08874318b0fbb1239d2d0306d49a262591e7c44cfba78775ea5153b2bea5e6c108398b17c20fd8e401929c5e36aaa3b692801", + "4c978f3ffb2986d0251e54672cc393e1bbfed047083fd3ada43544bb2beb3f9b14f79550b5251431a4993ade176063589dc0df26ff16355b65b5ad6e06d9892100", + "460dc20c24368bc2793c15df634b3da1ecf55ce3d86507514a03d9b945663cf00887da944dc845fb1ef423e7ab51fe556b7391d697e6a69400e1e676f1ac24fe00", + "c90f01c37871140f69d90b2c5338ee058b0baacf05277bd5d1945fe465cbe0670133edf40c746ac174a5926b102dea63cde0e283e7d7d6b7cbb1faed0f5ffbe101", + "1ead603fecd7f7860eaed98169f33f479e45ca8ee2aa8bd220e9e602123435c84581a5f8603b2a9d16fd5811a3e6ade670fdc5114d7300bb1e12990c5c9eef4000", + "6731612a2c6b5ec693f8c710c9633840f321e572ae0a2a0e641193bd1fa543f55acf916bc16438ab756b365cefa68d749569fc49bd75a993cf193ab3036ea9b900" + ] + }, + { + "address": "jhRanaAD1Ta8fVFa6jR7u8sMtnABK8i6Fa", + "secret": "1d3da4928ba90d5bf443fd7fb56a6ebfc2a01fcc30ee33eaf8465d82b683850b", + "public": "03f3cfdd8ef2bf64c313f2feb8e9a0124bcd5d633134fd8eed177f46e957a77e96", + "signatures": [ + "813cc034cb0a590d2b264178509c874a27978e1590b39536319fba150cf16727759965f1c02ec72d01d2c76b403753460cb569739a2b4193f94184508c5733ad01", + "eb31c1e18718ea401dd5b1bbeda01886a4c40272c8f6d0d56a5ecde09df3085d513be8293fb7e47d37de19849a756ee6fc7ac73f3a8a215b2096c5f7662cf2ba01", + "a8850cdf7936d3f8339029efa5bea9c9422719c52fd31386044c0f7ab8a628622b118d80df8a5972a5e0736de5a2ddb9684fdb8d620f7a68dd72e4a09c10bc7601", + "9d6c8ca1145714afed5a3b6e2ee995375ab6262cccf0d24f22cd7067a4350ed0751dd15bbe7ebac345a4d56d75a3c850f229d3aae44dfb7916c39e07f252d37900", + "84eb2b5c4d183334cfe54dc7601217f81672985a6f2504440ea867cea0eb8446193a6f82d38a1bf7a32c3d8f2bbd3afb57767837986537a1d9b7dfd05e4552e601", + "afb88d11917ae3cc498bf982efa0e5afb1c2d23eccd20dd5494766e763673dfb664aff38e6f6482deb6cb05f38439355ca3ffa395af381cafb8353a105cd321500", + "a4f772b50f0e7ad5bfac148f58bad6bf83a98954d04d51608a9a218b9adc1e5417fb5ca3210a3f04d0dfa2ab09e44f6b667a51f6f005e8366d83032e219706bb01", + "21bcb3564cafda1143937042447b79a89bf128d881a88099654a12c5ebc05f4b6b477da247639e2080f1e0a0c0c5cd5180f902735e634026235c2f3e1a9407db01", + "18259cab8828b0a8b4fdf6b116ea053a82e1ddb71ac3b8868d8f14b4ed3b8d290dbad8a67f9ebe626ecc213db20e3fd90ebda5edb995682be0afa8f35690bebd00", + "41d91535c7fd4a9d7835149d3eec0c72b90a6d1b73a92dc91c35af16f2d35c107bf9e4c2123e09921439e161891becc5a2be9c5ddbc8b1795cc6804ed3eab34901" + ] + }, + { + "address": "77W85kDVi2ygMY6EjQffPtZQ2A5K1kJeTp", + "secret": "450e7d29bdee2f8a2e15ae2730152483498dd0b31dfc693ec7e4fbc6eac502fc", + "public": "024e94e6e275c8a3c6e409c91b071b70c0c1ca2ddfbfd3d08cc76c1a98ea719eec", + "signatures": [ + "647bbd3dd48454ed1ca0075cc15a39a2be0c91842dfaa57907eabaf9ca6d561219e69cdd04804ac2b83508b779a2acb71cd3bae1f6e9e8352a8b1d9240fe9dc700", + "04e7cf21fbddb4b196ddda4b75bbc92e82f7ec92fae5c824da045e352845b4a127f84d07069132fc1530b425fc64791d556733422ecf6a571425f622b58cdd1f00", + "90545da6f9a0e89c703bea93df3ce2ca7c8cb05d137659a2a3407707164913f928712322ee2067b26ebff4cf052f811e630936f0ce21affcdc7d99f21e25fbe800", + "21ed7cee0e1df586105273b54228c54a21e7621fd97592d6ba5501e2a277ef7b03282b2109dc87c2770d28c3c9b381ad82c7c79b619322a1f797b5c95d95a9ea00", + "0f4fcd6374b0b9aa05a3a702e41afea1173bac9077f8b5d037395097ac5482931775f134d59c55f546ff33211bb1ca83911c1901f2e4aa44358d3e2df97a558000", + "4b3f21d76694fe2f03012f2f4cb506e128f610ea3e8738ac94f22523bf5e1f4830e712d3902342ae2779c49cb8ab05de744540443f69900f1904f5b2e5a767b901", + "e1a91763cc1105ea763e67b9cd1c25f74d41b39f400df22003d779f2c91e4ee20ef444a3c454f8eedfc6b127c8961be3e6b25a75db3ad49451774606d35bfb2c00", + "395b880f1c233c3c12c0a7d9ce08c5e95e35873e7b5659f8a1472f9a197f59d8345bf678724bdc2f83138cff4c3ccc5de81bb074efeeb2105a4aa28e66825e6e00", + "0ea0f9b45f425ea224675d88e24c092e369a2d2a969ac0bc959d4d7b1418c10223aab768d397b7a71967e27e3eef91494260b43a9da4460ed5f973220221c6cd01", + "4142a63fc2be7e70c9da1501360b84662bd02eda9dc2d7d5e6c6217d075d1d683faa45cea9069cc8fff98348c7f2f31ea30ef5da710f27a9203d13a41b89c00601" + ] + }, + { + "address": "2fDFwpM7P6tK3krFcrhaYY2x93B7D86dCnq", + "secret": "189bd3947f4682e4bbdff3195eb88cc75c023248242fc1a2d3e37d707551e593", + "public": "02ba296ae39678461dc7a1963624b71f8038d6f74785f01d8e884c72f228cf7e88", + "signatures": [ + "89fe07b2f3da7f6e1c5de1dc60111033b8976a7e79e7fcf062c0c8ab3d7e9ea0206e68b8b01170fb5d7f491142725573625b3a006df68af15836496f00013b1900", + "62923dcc288cf2e7a118e44a4e087d13c86cc63f1f5157f0199ae98a900eb81d20702990fb9804c7d3ee668ddb80ed1cb36855ce479b54f0971ef7300373e72d01", + "59479f47a39299809c24b8e206f129d204597f2bfb416bbfbd4b8608a1d89fe33d3c1ccc4ac469393b12ef514f5c82d2e2ca780187ba1ab1e376f164649cf62501", + "d3fd138264c4b63d19341ba742456ff50b63bfb62bd7b2d70f18901a1d1478b73f03e45328e587d0f11c16c3dbd43c1ddab6c4ad989975e47093a4362287313200", + "397e578ba4e262ac884394d924650ea6b5065c72ea0ad1e917ba256875afca776055d0cfb36f4720d76f7b276da462fcd09e2f3ff791827660cd3ac139d1deb801", + "9fa423cad02fb69b578d38a059bcbe142ff273a91a042f61da0f73b72c80f8e24ed3a7cd1c8986af7de8ca603b2fd09812d14c098556fcb3879be8fd65fde9a501", + "a35ad7955b416e9db5f0070fcfcd601084ea72d313f1f5f20fe7ddda8f4e8cb0608d0a524ec33c0c7c7b9e22942cc26c13f1b5d986695ad9611aa38490dcd2d900", + "ea661e1459ead9509b69621676e1bc53ab2844c189df802caba4894d22daf93b1711c6ed4095ecf989794c5ff7f6af97f2cdb200fc4185b657a986b75910c90500", + "16064c60d7077e55795adc7c0f34ab0fdaffdedb7a128e99c0af9f1365463ffe62c8e537e4f591b0dcd3a26393f04eaa0651a9fd4f3d9152da2cc96e3b0590af01", + "98ecc21e4cc24e917150352ff2cd1df43a18fd7c81934ab5826763d300848962261ba895d13a8b5d102c1b4897cefcc5ae3bb777dfd882dbcc3a0437b1a7d9d301" + ] + }, + { + "address": "Ly5LPYccXjDtx3EA1Amb6kwZe4xL2HTCJT", + "secret": "2a00b256c613cf7de4acb7b47efb7b5be2cc328012717f3d585e6eea02df6f53", + "public": "03713f5421167dd1b76aeccb351d4bcf4086edc9c9be95d4f9efc4b27bb41c93b9", + "signatures": [ + "e8b8246e1dd328a7fd59d5e5023ae736d14f03f55c71a1e164642f0abd2d46975c27ae7b4ba1cd0acb39cf55fb24e7c6146011e3bb4fa7d425693b0ee8a3fd2901", + "c92fff56058c70c86863c7b703cf245a73ef615f4985c9951b2647be5c4b543f0c840ef819c7bf0583a11627785ab310a21338597fbc8900aa2f0b21fe81f90701", + "4f319b9e8697570ca0acae7423498da1aae0b53497f5feb3752279c7416498eb4b8a0b61f9be697dbe59bf9071c4c507fc0d6f59cfa29003aba8789a2caf5cde01", + "6ca0e05d533fffd7a3514c8d0cf7be303cb901dd19171a07b9dedccdcee28c830231e465c24d2f728dc88e9d9a742923b237f69132fdd45d282bad446e60750501", + "e8a4f6ce818a4a66e9fec715a01d4412d6bc8ec64199764f6864cd1004a6a54919897cc7403ef9106a5dfc76c16d56fbfcfe6f72f762726715148a09322bd5eb01", + "f236ab0ccb778d2cb2f3b1c94ed6e2aca5c2dee17a0fbb5bd560cc463e4fc8602e60c1dba5efab13f452a6b205cc231cf65bd015183855ea00d457a5fa0bd34201", + "d0114bad79c8173035bbbb330ce157fc1c1cee17de0801ac594d2b86931f42c54cb01efe70cc49bbcbffd85f363821efda30357e819d9a71e64f092b53f18cf500", + "6830f56c0c6db89cebe1672b1ad58ab4691e72c8e7ab44430cea79f1df58924504154d1f6109526f57d53f89186c4c631755123274d53365de0fc8c74ea2ff1e00", + "c580993fc7bf98f4d75d64119ae5e3472d2108add0a3ac427470b253433d9f8d36ab1e2e2e60cda7b7701ba0a78387df04ee3679a5fe0011306d8ee29ebd102100", + "a90ad4f18a5292bbf30e6b6a9e8143573524823d3e6b0a066ed78b3e9f30be6c0285e6554e6e9a1c24a01809dc7e0d439fdb57ac054259ec10895a52a5c2873400" + ] + }, + { + "address": "fVskJWYkJekapAcR3QQvBsegn63BkRCsE", + "secret": "115c197195ed609ebb91e4d81a5fa57f0819ce9e08774a330db4fa52d97417da", + "public": "024a4807e5f3c20b777705cee1a58905355232210e84b72c74e25cffd9fcb110ed", + "signatures": [ + "f210a289f3cf7dea3476400432a8a64e7b2c62a3b12e8f3fd9c8c22d4928e5c607894263fcbd23e0538dae2deb979b555d11539034b8ff31f99fc7f51d69a30100", + "f463eb2677fa97af9666a103e110010484197271ef4e710dd792b8fe0964c9b8307c9c40fdf5633d278f3ad3fc1f00b10c42310d11135158851b6b19edbccab901", + "14e222fff75aa114b3145022a34eadc6abb64e69e7f1b905430c38b7e4e4af294c720a884a9c16f44c8386cb91cd53b2af334da27177fb4f1d282ebfeeb80aa401", + "9df1ad76f388829b069d4474c4ecf0d8bf7de01a31e287b10fcc883c4fa714441490fb088d0586402cfdda4202e4f648ef9257be506daadb9803ddb84545eed200", + "9c83abbf506869f684bdec893a5d5d1291929c6b66e9fd35ebe655e1528f2b0d63563a380785345aab85e375132b7257b6b26a066b6a20c9c8ec58adea33122001", + "80b6477e48dbb5ea75eab67eb887fce8229ba9352fdf1175f6e502301be5ff0e370504d8ccf447dc76e58ebf0a8effcd3604b5f3935fefb78e6230fb1aa3df9a00", + "2bb168b7613b165187391ea14889863d43a8d967e63edee1fae608d2cfb7a7ff4939a76a1571e67481065c4e56a72d2bdd55877c474fd62dfaffcc6926a360bb00", + "eff83a7caddce6009dd76d07a5a9a09478e3300dacb39c4aca637d653ec4cdfb380bf7e83aa27fdc632467b4a64834055012601d05306ef3aa7cecc86f50ddd000", + "6f87163870bd241190f9bca7d3df36901d8139892f21a6db2575cc5b7f1cc55a21d85e68bc73fac1e2d29fe01d51fbd55741e7a727ced4947c8d6712f64dcf5801", + "7ecaa15895a85a13a2f8faeaca642e4439187f1899fadc7f954624764b29b64e0e617808ff959e0a584284f65931807817d3ae23255ee8cce74a8b65412507bb00" + ] + } + ] +} \ No newline at end of file diff --git a/src/cipher/testsuite/testdata/seed-0006.golden b/src/cipher/testsuite/testdata/seed-0006.golden new file mode 100755 index 0000000..ead3267 --- /dev/null +++ b/src/cipher/testsuite/testdata/seed-0006.golden @@ -0,0 +1,175 @@ +{ + "seed": "5MnQdu6vWeP9NddFiehxsGwspc8aff/Fuzs5W3c6L1I=", + "keys": [ + { + "address": "rLjV76Fayt9WU5rk19FnzWeZEbF8nWqGHH", + "secret": "953b69e03457e239449ef051aee7a5fd9ad4f832bc60e8915e0f07b52598206b", + "public": "0296d12f5627840862172af9aa4a22574c427e60bfccdeef22e675b137b439b92b", + "signatures": [ + "4c9836174cf0204d88ec36d6cebf72aaabd1c5085ebba250e12e5fa21e629a9e78d71b3a0faced4cfdf037110b452acca16e2efae3a16efaa84c5132951139f600", + "e27307fdd00c852a4d209fa94502e580d7aa33c64cdf811c743c394430f1b2d361a1108937a57fe35ceba04b96498421f8210fe32cfe1223601565b918e70e9c01", + "d29f5c767b865f6311218d23cccf4dbc728a4cb4a148c7863a4475e4aae268af27e38557216a8290ba01fe1047b7400c6743388f75d999af176e3bbc1957ac2000", + "30d45245cc67ae3ca1bc840d90e3535ede9ce5008796a2c90250f7de86500da86f17b19a343ef2051d3526fd33a5894927b09234b86f58f469a3f1d018094dc401", + "826d791c834ed696f9f961f0a7f971716c66efe58a6ccce16e4b3cf834fc49d95051cc8bea2cf183a1d05b04ba9ed407648329f51224781a27bc01fc1fe75d2101", + "b0fbf1f4e21d32b4f3a6398da88e8d4dec7f20eddc4938d7fc493997254245fe257ab78edf9412fe3cc1d773e3c28b41669504baed686320abdd0edf21f2259d01", + "7515f2946fc8e43199818bb95926934d6a5be0722782ad44fbc67489019564094f378b3c57d1b11bcfe14bf2c0eae08aa9b9186f7b1c072a03ecc03ba416f33801", + "870ce446e34720816170da99f49a843537ff6cf299d7562af82fd9025deafb0b315529625a47049408d081da2b3429f555c74d7657917b8f7ba8fe0fefe0cd0f01", + "94fe3ce87ddc7f386fa597df17d53d9aa33d01a8aa2ab37a18a40128541af8874e1e05cbb6429f40710d945ae493aa033387696884788dd9ef9322030f1c246300", + "1700b3a08d9733e486dbbd26f67b48add3b43d72a952930c786ab44e5f31866f14d20319a6b1a72bdbb091d89ef7bd55ce9078c8c86aa2f0bc30e75f13b8142201" + ] + }, + { + "address": "2d94nXraZtkPD2GiSCfzugewm9cRbCVDNnm", + "secret": "4f8db9121a8fb6bdbc8de701593e953b6022431d9045b914e58c0fbf109cf1cb", + "public": "029cc260c200b5893e55faa5f23baf6268e0f20e77ee1b524b37f6e1e6ca9a1814", + "signatures": [ + "96cc1e166e56335bc6f859557ef73c2b7a96e3cbca0f32d901052fa55023a88732b40ce4e45ee236ffc07e0c4d2db6c294cc7f1d3a2f39d5e6e0f11da3c2259b00", + "7478758d8006ecb8103311c394931722a03f3bcdddeada8afd37b9d93b39d67033833444097d3d979bd9913526300f6491107be0d31acad6c28591d8529e24cc01", + "db8a4f5dd1d5cd811cd08f4ac1c4effb55ee93498f7d5f4d1531c315f047ffba605861a92e5d5358a87e7763ac223c6edc2489c9a08ebdbd3d37e7728ade58f300", + "7dd0865d18a574266d0dd3b173e03c2e8cf92ae77af99a8f68b9c7db2837326c769c69968837647d5b763a13f1caa9cef07804cbd814140d66607b0d151014c900", + "7f97f9fa0d45f1eda3e985b3e64b4656ef38480644c355b644e01dd772aa7c374db2e37f819d008d2da57d564fce1c0544e17206f3200dd12161777428c383c401", + "7a1aa12c91e34842ab1b8cdfc3e4d46d2f1a8af0267ff74aeb24a942d78fcd544438341e30c91c161689491514bb1d19e6881758007b25f0e6a87be044ea8c3d00", + "b823e93c1fa6e3391910ca4e461c58e51118e76470dc88506f183f6661f8ff0f03e4e4f1c58c06ff40446dccc0b9a9bb65b7793589e8402860f0d60f368659ca00", + "36751c77d88427b43ef8b68f15a2cdb48225a98e506d40fbb09f442cd513621615fb62d138933d7b88812f054be3c21ce1a626162abcc705bd45d4299c5ed15800", + "0932a2f7eedb5f7b9fc67602c1379254682892da2af0b5b8ac06d417b5136b756b96c281c4ab3735b9e3f8195747128b4cb46a704702b42d54c99e2b79ea98db00", + "9a7b5f8c7a78eaae1fc9c6ec63372297748a3e977a3b06919ececd3859e0ff5973c2fe2effedc1b01888f87d1ebfeb7b96dfb5dd6a9c96f804dfe56e9504c0dd01" + ] + }, + { + "address": "gVpAMGVd271pzHcNZiMzU7FDNqUiP78BwT", + "secret": "1a59b0065001a05a93d72d5939fddb148c5cfb775a0e2a27a99c6d54372939ca", + "public": "036de1827a8524f166854bc7b85510d17ebe0369fe828d8f8c40e930569dce118d", + "signatures": [ + "0dd770f09abc025ea1f3bc25b8910f85ddc5bd2adbfde66d247607a069405bb10cc60ee15cf03524dd5c15365214401b0d911110ac2ec6d530850c097bd543cd00", + "69b432114a086fb15dc22d85340d605bb73e81dcc48b2d3ac776fc84686e19304850f09c69d54dae0b30704a7693a33956303c5118cde508295927599e13cc6501", + "0f43fcde4a728d8c8a354aaaf12bf7585f52cbef863d99c63c9a0308ea53a5a32af018116c1669667ac5a62acadc0ef198dbac3d72821ea300b5459de615b91e00", + "af29eb64035e6e7282927df51f1506e5b0d12db63fdd567a23bd386e086d1559770b918ae23d51a73cf6059c8475f611c786b81c6b15233a2b707cdffa71af6600", + "7ee7e341312c1c2fbc6179f325a58cb592b740353431679e178213cdfd0cc0726247a34b9379559fa091eaf45e5b4e39e7687eb83729f409c6cdba842bba197601", + "18aa13d884feab6eb0d57fc85500cc714a49b45ca1529f4cc6eb5c6521e0126c027679f19d06d629789480342209ffcec217e0620d632cfb82afdae61c53c14500", + "3256f3bae51169f46403562616cf71988324e86bfdb7e7c24f431fbd4451ed29302dd9762a2a296f9cbb58dc757c2d0757fce4601977547c6a54a30dfe56c9f000", + "3214ce760c0f3dfc8463c85b4c5bf1c81759c3d45e85d8d061af54bae927ebb3297b7e30e9a24341b1a620d81a8cdc7e5bcaca4bae94e910a8dd4111bac8956601", + "bbbac8d56a6c385825c5549fe5efd900331864550d4c56f9930c3eae8e1f34ef7d6fb9c51f731aa4d501b224f37ce6ac73141f2bbfdcb881379d4d019761c59b01", + "f3fb7ea9622f83cba22743363780060afd9c6e5a46971636edccb41c90332caf6340aaf635bea94085b8cefe0533536bcc0076ab305bf0ca30dedf9e8d9ba35e01" + ] + }, + { + "address": "2TpmTjZqMDwwnmMum5CqDZjyjekoQxctUaZ", + "secret": "df84bb1a455c464ebb1da23257ce7e2998d6a2f92e2864a9e9adddd3f017d784", + "public": "03a9aa938ee9aec021db0717c0737973e68a39b4d0a2b0c168135a98a1a7c64dbe", + "signatures": [ + "2c64c71319bb1650d862f7d7d981947866d3249dd88f18e7955cec62343e6b5d68fa07470cf84d29731989f2c7b5132de1197cc54af7c13b0ac93b09c3779f0801", + "0023899b5ec712d998eed46bdba397be815fe1d0bf17dd1fed798a7d6cebd90e15ef600c2ef755cbfaea7705cf8f9c151b59c652775dcb8a1bf193a0f157844100", + "f291b5461df348d6b63e956b8ceff056c85dc80062fb4109f8ad4b7c92e64b5a3be753846525a0929e10223e6b50d6ab3705f259d515a4e861172171ab40bc4e00", + "3338f44cfaa47203cc6b7f40608a4a7391e3116244e7e3c2926d895bbd42d6841954685b36f65007fd768dd99b54f398de79d57355e5fd1d70f88ad83e27153000", + "a6fa07fdf20f918b7e834c258c759b8c8c701d990e879cbf3031935afc21ef882ef1e5802e4a6203a4e8be329f629185031948f46362ab8b9798990f10ded16c00", + "147ad65314e28af6c3153d74e278777184d4da1daf328f90da98f1f2049254a843d780f7ff795bc5e64960555355ea600897dcc6aeff4ad9e20b98d37702386800", + "8b6a680ec0484a272a0bfe3a22e3d2e764b78e71f0f616ca678d350b46aa8ff90d8d4c1281dea8ed555f90ca721da4960268e3376d752c772c2bf1114fb9b80900", + "a978234a0f34f7acda0716902b32a13738532ffe1f80b7f2194f5f595cc5f0f4083163aa767d6d84d40a0ec8f2ba9cd7a29e7778aadc15387201b6d3418d391500", + "5e4a552f73c260759372db4b6ab76dceab031ee738aae499b0495b214e7664a50fc03a74d2fe5c04e77edba12149b37beff9d4b247d3cacefc09696f7f67e2a801", + "838b75641e209dc77a8b72e7ae3ff0cd00df644abf5889949ccbabce2bccb3e563525b3bfed5ef54785432b87206342ead57e1b404235bc96b32980a570b25e100" + ] + }, + { + "address": "2fznUrLmmNj3vrq6kqhYTPdEcxsPF3gd2Bc", + "secret": "49db3eb8a8973862917e151d92ad0d159a5a11de20ca3fe299f2fc4ec71a9161", + "public": "03b0f175d8daf4d0b353cd28a6d454a39cedfe58d4d9447b47bf19cdcdc985b2c8", + "signatures": [ + "ca098ae575f90a7cb8a33024977b5511b54be8207ee45e607d0a1b2b01df75053eb358c3d1afc7cd6a14d127f37217def7d617fae164ed865fbb6edcd519bd1d00", + "3a57e71e97f360e0760586b567d9a9cd54aa578348c5ccc5b8105aab532ba4396ff942cfee75b255b39a60bdf8dfdd86218301a233b113da1110de51502f8a1500", + "67b95edd21d74b9348e2f1a9b04459edb63a1f6025f967f3e9bf237b01bc1dff426287145206d285984881a76d353416b0a09092f020389a26dc6ed2083a479101", + "929c014bbc57f925525698c7d382d98b7997a46bd8ef5d6cb195fea87a7c45575c55a8e9d9578f0847fad452b39a32e25968d546cd90bc9ce4adb0d9f9d82fa200", + "763f05ac9198194298c92246ac056bf1b9f92c808260aca82fa976b803d11c8d1e2afaa965baa5ecf38d656e3ca3c2035ba18518765a7aac0bb6d9106fef6fbb00", + "3abe07f94713ca02e09662cc1127822cb7c8a2fd68ecfe859777dc818c67e94331366941b9e3131d3f8173a504982f043d985e00de6291bc48fd2e7a362f9ee601", + "5f2062b454a14402f952b1f82e275c9e94d5a803302b7d960aa8fe739157b7dc6ebc1f8b284e2a1f7b94b7622a1cbd6928a8596cd843f93cb829b919f9d1e50600", + "61803922611692eb0f4776862841583e6e31844c71f12af2e6eb1316350017f731a6be87b0dee2ed0e32ad98f72e1e86ad50a481a2b153226b532e3473020ec201", + "c08e615dc8e024d42e22553de77971c3eb19de95e178528be685c2c9fe3f64aa59541a40158a3ced9a4aa974b0fad13e57d9bc6fe182c78b5a3a9f37dbcace5a01", + "fdef54961fc0756322e658a993f3cc4e982b770483ee763fc40bfff7b37943c771e7a4f44b4bd48dee2c0a722f184f0c8faa22173c3b2f1da0a3d3ac2965f3f901" + ] + }, + { + "address": "2gQbpB4v3yXRyF6oorigjnUUQaNzM8KuQtD", + "secret": "60961b0cb2ff7ec60965404fed8b5dbf29edbec06bb8325b03957ea5cc191970", + "public": "02c4534d31801b121ff729abc6873ac9ce3fca7f8f87f4b4aa001a9990845bed33", + "signatures": [ + "8502a96792de276b98893482baea1d2d1b1cfd7aa6e028662400f3f59212b034270f86e8f98a38a8b3bc0452afe3c51730fe321833d97a6f2af0a75f239a565901", + "f80fbe0a4126504ea331b1eda8c0ba9c33ae9bbe43b80a109a7d4e2dc102a5be7aed8abf4ea85dfc6378f7a090317df37a2bcad54ca4982871aeb0fce5b497a001", + "e8e4ce06507f1aa72def1b965fe4a2eecbf5f3cc9533138be8db41e78768ac8445db94f136d8b373a21f5991679091914c849736fdf842d35e4ce9b66d38ce9e00", + "9d1a1454348343036699d8be3be97912e4b29428e3642344557e24f0ce7be7537e150b9895636e28947b4ee1a42ca037c392fbb9fcc419ce5f250718684d71cb01", + "60fd7de5912ab8b581be9d6c396c838ecdb497c706c38f45a6a2b730b8d1e5ac2562ece612d9debf93f453ae45136d131d08a53e6a1d393914571d1c551b1f2e01", + "ef9f454083f9a2550115585dcf1d45e3c3cafa1460b0730ceb1dae89ad07d07e67499e3ea50ab5798c16923325b7d33b70456425d124d0a7be86ed2efbd4133b00", + "6f8231bf2769af9d12d011798307d7faf9580135df840576dc57addb0d66eec33c343646d92bb2297a8d1085d953be6f96697c88e2f978f4033b7bf4ddafe73400", + "8667448f5154ef26d1e65a6d29f04c2a510fb97d7de90949b3f47a3aede8694d1fbabc3c16f64b698d1fdc2d986bd5e8df0ebe09ecab5399cfbab39a8ac80b9e01", + "4f964bb6101b0126e44e1e71abdb414e937b7668ee97074a69b628c15ac78d524fd45f39a1be141ead32df77a8ad0a62cfb6c05d5eafdf69d6c80932219c856a01", + "660763690925139272e41c09c27885b1c5d8aae87bbe2c02fd83d57f9db9c57a69aa933da8a4a37cb56dcaea20c0f742cfb00294dec4a6c66ce7dddb5669d9f101" + ] + }, + { + "address": "2FmtRamAEN3Eiw2eqroJt3nhHzgo9VxTvPK", + "secret": "5127d7f0c06d335e1584ddcbf4534c8a5be109ec2e28a2f40aa5491427b7452c", + "public": "03103745843f93a49c945f4fbc0bf4ff479101c22a3ece11220cafa109280b494f", + "signatures": [ + "6f9e4d1d02cca690bf0e2ed204e32b11357588a77f8605280bcb92f148cb4003166a5aef470d4e3170e68f6be369e4444b8b04290ed5a0d564e6e5f86cda0b8701", + "7e5649e2e83de29a9058fa138d253133c7bb8d0594c3cb546ade2a026796050013926bfd1a8a7bc7f92875e2275224037932568b60dfc7bc2ae2ebc6a1b0f82501", + "b5d0be26eff1bcc5ae0d03a115baa82d52cb33c13833351362cfa2bf4c2db3075f7035d08b3ae0f850c63b87358e1bfe557678bbcc7226097c9e45310f9a5e6b00", + "74352b57c8344b32c37420f636892e592842c5e1794d2bf0369d4f4dbb005406152b7725f68726df8274246e7923b2aac6e43314569cd54863158d0f9ffdcd2500", + "366cefeba68f76d1ef460ac310d0654ba8434ea30e79b445cd7481b1356482d107a7148c2495b0d143d800024cde9364aecea0d1457a8fed1a2c1de326c2777701", + "2d0a2fa37cc5e3cb4a882d0632fe2204cc26c4340a13376e7b0805264a77a32313ae46ced96592e9a25a7773b7cdb38ed0a6ed4db445c079b5cadee8202d29b900", + "ec35429af03b64053d09c0e7e1413331e261ec2652c9a5ab268fc48c8a7449d13b4f707aaa5edc48fd78feb5018fb000f53521ed9167841b618a9a27a153567500", + "d8f999ae5e660966147c9faa1acb503ad6750ba1f5fbc14fd1806eaf6667bc3636cb000d5e02f68963b7e6af546d21d0c0f4c97eb13411a03da3870c73a685d801", + "f49df2eb22d660fad6d4f529b0c645023d4c9b37822bc728bb80a28ce5cb2898618f080208f48643efd045c130025f9f3223c568a5a2505a8b2747880af730b201", + "17d9223864ee1764545b1bd74330f3d692052f42b73ae530712ce7b3a02e0336316736ae1e054e80da778e173f9cc6e93bd865e208b41ddd6bb7b8231d0af4e700" + ] + }, + { + "address": "k46MSCkDYk6ZaHcj2ytwZamLRr5w4QUEwe", + "secret": "2b1ba25cdecc2b0c4b7938c220615929abca0d1df1d673604f8b370f145467fe", + "public": "02771a319f31f4d999adb58b1df0042a525e539d6cb4bc3721efd7ab2cfcd0a3e2", + "signatures": [ + "59851f4aa542003febf2d39ebadbd07ddd12cd41a665a8fc052ba01b1c484a6d407bdc61b449cdbeadf73f6ba5866685651b7d0249527a82f965d5a2b314c4af00", + "40f631b61815f54e0a12eaac988684f4808462f19f7b76deed56ce3f3dd2bf2827104ee2ab71c3a96773de3bef7a41df960fb98329852a42be09227a1c9ed89b00", + "f539e928d4c68938eb6eddd169a09edb46c056771185968d548b7886f5c1eb9b7895cff1df13be0d70c51bffd0c98f8fee9dafb68d5d8d3bc1b2f6a5e700c9cf00", + "d1b9277ce64f26956d65b15bac44a3ec80bd2024e098be69bfb6ec36a4718aa75fb6e8b353008a20bd4dc994ae9e7bd928c6efacfbca7d2e07861e3fcd74f51301", + "bf919b227af4075ca7864fceca4dad5a21ca9c1f124fce3b8f66f8406322fb021c85aee03128fb1b43fe0ea91ea825932b4dbd468c15ffbc8e5d36f69906f45200", + "36a6c965fbaf282058fb5fefc466d9f4df508598be400eb1f9415533554c59ac18f04007eefce37f5c8e9ef7901e65deb2a2219e2aa7ab638e4370bee9c98d5d01", + "30ea0d7dc2735767bd60d85cbfb39c19d0b4a2d7aa81157a2d647c548c7eb9082b991300b5608d13eb2bae260c4eea723f92a0c1fa82a267fa34498fcec117d000", + "91ac4a1889132a827df3d7dbee5aa95a4c9b111283cc1209c0a7ff77dbe782cf31c8f32320bb3344e06a3c114e18fa0da245f4749b11a27ab918c521637d6c8700", + "8c59fa54d45f81390b67c23659c831786376bd7d730a9af1e936f09dfb0cf11321200469f6ce4c2ebd53f7ef09069c314d9742ac540c3ae90bd4dcd805ea6e3f01", + "1055cbb78a97a410fc3663dfad3bfe21865da1854cf196d1f532ae42d9161783284210305c1abd09f77f0c36131458506d3e84dc19e87a3255e1fe220018169c01" + ] + }, + { + "address": "2GAWkAhh6ddxLGT38b2XHCuhdbRx9Jvf4pk", + "secret": "e0c84b3bd790f03c58548657cad0a83cc302d1b75d7b6b3d8edfc21d8c2289cd", + "public": "028209201b8152ea8fd7f7711eeb82354f67cf1cf1b4082160f9f04eca421bea2e", + "signatures": [ + "2b390a37a9cb797fb637ba4ef700637108629067a6666d5e1ee23bf448fd171e0f7218eeb61ab445ebd7c14ed3998f3dcf0a3aa22b66e7d5a545a31a6829e5f501", + "871b75956dceef0b0edfe032290de7cc86347154cfdda5f589298e6aee850bbc2668a09c61d71f92ca98347c39e33d52193f61cdf125db85d463bd24b3805a4500", + "dcdc972a97aa2c3784a9d48a886d344a1db80a26e0015c54590621ac2fdc9c6e40149a4966a80b4b96a3f92cb40fb48043c359f44e58134c0addedba9257506b00", + "de090ac5cdfdb9082e682534f1486f426343c9aad870ad45291a8343524ddd67379f76bb35f75191ccd45c5286b48e4cf5049b975d07548b97fdb31d86c1fa5100", + "7bf2158c903b09045bedaceaff8f15603c762543d6854e60037529a20f401f766979df98a63a9432f6154b010deed9772ad21a15bc3a162b49bd5f11bd4d96ea01", + "ae300255bfb6443a65ede797bce0944bf7a503d38c4b161935f44ed2f7738e347040bb8309017d5d6c14161aaa0075f301d957c8a761b33284d6d535547bff9100", + "e61371336baabb089fe52ff52751e5e41f34820c4875f0a2cedb2e20cd8c1c2b638f3b0b04b199dcb2699428fbdd1e55ffcee0744d46c503ee125ea533d567d701", + "e22f88a49370f37b078fed65668cbdee44567ef3254693a9fc0aa181739acf2f3ced7c4ff5fc8204304122c3072c2e1dd8a44989cf6bd77ab4709d6fd1e3952400", + "76d6cb79f1529b03762fd3323fd381174568a05f7c799faed8be6a0080d89d9b3c607d378178b6e941e2fdbeaab235f2cdfd37fbfb9922170193d6508081148c01", + "1cc5722eb5e17c21114daba7c19ae25649ee79482ef8b681015f8d708aae2aca4b3abc6b345410f94193d4e9e8de50cda2f5a5e52befdfc9e7c81a42757eec3d01" + ] + }, + { + "address": "EzfiGbJmK9AtLocAbUUgKt5FbvkptAfLqC", + "secret": "4da01bf2216bb743f5412fcb843d79ed3bc22a03ff7ca0b314255fd622d90874", + "public": "0342b3d108f4f046af97cd92244b841b6ada34f52548d944d3e22344a952e3d173", + "signatures": [ + "d320e4335cad33aee05f4149326c9975464d2b8b0f24fb0ecd68d57c19f6df3f3dd0df782322bfab34be399762e3c43c91e8e61fb2d52d9d41b63663ced9e71c01", + "ac536af52e3f49f392a5612bb227c25c3ab58c60b6d2646ca43b465d409620230a52304d22c942f28d5a6f7d2e69093e828027dd6dd5ba4af5e91a6fa423cb1000", + "922a0df5d51a5a7f64b42a2a3491842350cb37f3d3331e14cc2458e449f384f158b9d6814017cf2b8dbba0962315808163af33dc85f73339aea0db2f1249e4c901", + "19ab17f648411a76c8011199a3f648bf4678ec8086ee97bdfd09a6abac3703190d75dd1444404a97505401e5c5465cff9c73f8281ab300ea2bb473647265cf3301", + "df43f4d301309340903b862f6002d8746b622c7f8aebbbe6a3b9fac0d17e8e933a32313dc3faec39590c414d5d9dac92705e72c45be95a1e53c9476c96b35f8400", + "91af75028b21573abc40d3b7a652850202898b2692e5fc77223ea7c8bcac75f002d42a0968e9bd12cddd0f5dfe8372f441dec2108650d8892ec133428099951601", + "4ea9d6a9cd5a4298b9649a83837a1492339c53fc2db3e120003f5e3f33e13984739b7f2fdebc10ba7b465e000c2167e8b215f250379d7c864f98d16e6d9e130901", + "61ba9794787249f40c9d49e451f7605d7e7df411db3e6833f3ec6b436139583615644f11da4e650dd170c501e6f4011691c9dd1eb8371f7e06b5de59cb4767b800", + "8e3ce6420e9e3ffb84d87f4b62738114f93afc76650c184445e5e625b7470fd01f1052b3c85f629053fad8bc8e2b356885f1cb82e647254d4e5f79d86cc94f4d01", + "2966a1e0262bb90144cbcbce45fbe477f9ff135ec4aa59f8fed4225ad88c8acb4eb639cf1dfffd7f702b7c9695b427dd91274904394597bb83209f00b7403a8900" + ] + } + ] +} \ No newline at end of file diff --git a/src/cipher/testsuite/testdata/seed-0007.golden b/src/cipher/testsuite/testdata/seed-0007.golden new file mode 100755 index 0000000..a62353f --- /dev/null +++ b/src/cipher/testsuite/testdata/seed-0007.golden @@ -0,0 +1,175 @@ +{ + "seed": "cGlsbCBnZW5yZSBwYW50aGVyIGZhY3VsdHkgZ3JhY2UgZ29zcGVsIHJpYiBpY2UgcmVmbGVjdCBzbGFiIHRoZXkgamF6eg==", + "keys": [ + { + "address": "mPSsNuUTsMdvc6afNScJGAYWLTK6zjpaXr", + "secret": "b4635dce2ea621928c61bbfb2132090c674e99b9ca6017a6c7ab33dfdbefdee8", + "public": "028e6507a815ed048711b7bc74214addda37b5197d3128419fe2cf1f46aa6f4da6", + "signatures": [ + "8669aca771dc0437ff8e12b65ad4458b4e38c1bcb1b1ff29f8182780057942b82f5877933306f93753d76c5e74d0915bbc8ab62c6a641b2bd7ccea69797f5ac700", + "97ea4fdd2fec0593c93c8d37f2e938057fb570f023e73b8b441d5eeabfc2a72764a3f851f7da5c5f3af3d969d87f86fa905cc9f1bf6472e2a749f60d6891b2d901", + "4ef65b166932549734074a92f77266c70696f2ec5d64aee324f6cc68cc6dc20b0fbdfac4d871c47bfe97f11070ef74900f9da818bd5a0f44bab01b35cd47fb7501", + "da6383da7ae60f724056a120280e8fa24abcf08c0ee32024165090edc7e472b14c81d41c9d52b637efc1c7114ab65f53890251caede1dfed2ad2beda0bb57b6c00", + "ca7d081115500cb95a9b8e4990429f2d1df284ee6088503721c100d8132c54ac1298e9b79b1546a09877e658735192292283d8396734607a90905c98c7f5b1d301", + "50906532962f9b50c8db4a9836669fd0d62f7a33d3d58b33e95cdad4ddc99f207c9f75fb0fedcda2f87ced5fc9d48e2eaef274a7395d68f31749282ca96f729100", + "e316c729311f1cb873bb245e128775948f4782f9e36e9112bea1d4c1ac8644ce2b3c4c914b1ac36c102fcef8e99391ecdd5bcfae3bafcbb002c5b0f6eba25b5c01", + "af312200f509edd20bec70328b8f88ba71a57b299b46799d15d9a8afbc7ff2a173d7f67a70b7a527e7bdca3ca0d0980cf84efbee41d2eebcea8d81d79da6843c00", + "04c2cd593c4cba96a0fe54fc119b3fd00efb82bb20bd71aed1fbbaca05a588a239f4975d39351bc085a2b8c0043a08ee09351e3594554a23b357fb5223f7769801", + "792267a2445428980b35e0d59f3f656bd4c71f0e6c4b8fd1f89930060d90ad8b26dfe4e4aeae7df72b42e7d4b5a5781c402cbeed51a23302f65c321a2d847d6801" + ] + }, + { + "address": "2Necqw9k3NCEtj9FY28Kx7NV5nSCGQ1joHi", + "secret": "7655913737a47a580d2c388440d9236a0283050aadc7b167f2584e9878b066b2", + "public": "02bd478e24155889b48977d6ac97fc7bdedd146fb2c983960e28d63a20a1adb6c5", + "signatures": [ + "aee5eee74330efeb184999e59b5b26516a124f6c320d9df6167cad45ff297c4f43525905e5fdf73f07f6925cb4084fca43fbfeffaff5eee81d52f53ca08d2c3e00", + "d97bdbc541dd80006dcc5e4c6001f044e20ebfae2f6410a2af7e44acb9ff4c0f68e0debc89784258f6f8d04e0d58e4342ddf0ea52dfbfcd693dfd00b6cae60a401", + "726eb4a9402228f925da2aa936b635bf1d3b587e7566620f0d5e359a0596c35d62a786f1d604d5109420e3449232622c3ea440341715119821c8392908e0db3601", + "b591beb1c89636c14a82694323df81508bfd6f209ffa768d0f2f74b27b2572aa65719c48732ea457e628ffd68fe3125801336f147968da55f8165ec020f480bc01", + "9f5ea12b545d1ca7f4ede6515e4f88e92aeb075e470d69a4a5df5b8516eafcdf762be8995c70fc788f886a7440781c95c384f7a8a4cd5e9a7e228366374ece3b01", + "f8e7277a042429076ceddc5b896f6ed69864776dc904572cb499be4672b16d0613e046fc3626a953343046c60e86114f59a24e46ef96f5b7032b8b204d18f4ad01", + "2c4b74070467fc30c8f902cffd43cfb21e7d5dce587fd1ebb07ad4374df020e240c0191cd5e68f4913d1b99a87f9c68cb59bb877296aa6a531e6bad860c0ab5300", + "00a0d16272360c4f47de24be8962cd3f3cdc13fbc8ea64aa57f138f12b9de5082ce3ee1e50906b74552dd5f99cb10d517e4aeffd308b43f680443a223363b9cd00", + "3aa6aa35b15eda95eee58a82e8a2e54780b77248e6020149407e3981a721129401319fe05da2a9e768baf195547c5180c52bd2b862af445b5b0ad50f8557aaf900", + "863ad24a59dcfd63da8c41af9334137277cbfedaed35c0c85d1424751c3cd871191ae55d8227dafbbf9596966a759c77fea4da7a2eaabf126aa47e9608cc000400" + ] + }, + { + "address": "ajzwXmj91ZKMnHeJ8LasEEzjd43fGJo2P9", + "secret": "b1410fe8b4705b209bdbce08b800017e52d34ebb5cbf62f84bfba61c146312c6", + "public": "033c8dcfced958c25c2e522a854c102da4901ab2985474183e3563b5540b4c7b00", + "signatures": [ + "24643acd511ef7d7310f30d42c6e627cd7fe33681b5a6e3752f3a29176b44c7a547dd22d421019223d0575478cd20ce96931afd3ce50bab7ec7814b07f5690a701", + "20300a8466aa41d9ca854c4cd18291d6aafb8be050db7553573493387ea56808494e4bfe7bd40670813ead46f6dceb0bc147faa7804eed7738de4588466f800300", + "8d47354f77889b8b6e5c91af0771b6c6a1f8cdc704184a635fe06ed839f054ae264189d96c05444c3412a352e5141e08adfdb9f71a6694f98b029d43dd47251101", + "a13d77d2f566e73cdf93b915f24ca8408716400261ae15997dd6ce6a7ea0372e03def52420d5951645211c59057f911215ef25f8534867da690ff90fd9f7247f00", + "0980bb01721d53f0498801b77ac4d916a89f17c243f8e6323fa0988245dfd6c74d2919c4dccf3732567349349fe83be40c0dd068e9b49517cf15d0700ab1811501", + "d8f02afe36134fa6b42a649fc5c779a2c22edf4ab828da68c5f891d99823a3a72345a4e0a0770404f890fb385bd306a4d25e92a6dd5e6d1fdaebac427c10c3c600", + "706d0784c82536a5f2b79622a8c6c73bcccf8384dd22c4b0d2a8bee0918e1492240ff03af79937797292475464e04cd0976bf3a9ce3602405f6808c9af98bfd800", + "cc27141a61bcafeb90ff4a55c25b2f80f5a4a8bf1d9b23dc56990b06ea523a91650b356d9a24b9624fe74541a117542d2f20992bf047114680c8d2169dd6404b01", + "052427033c268b9b576a93fa05513f07f5fe090aa1040d94ed116db202e064af58e2f05f9ebee6f405448ec70e41173ad39e29f8462e6a4a82c6e76e2790b94700", + "215d08a564e5fef911b8fa1b7dfb84d9d7013501efc3ab92a7ea2bce8282dd8c31db5c2bbfb44df63b8b93e6bd2099cab367ed1d9584b432c85018f816b7302a01" + ] + }, + { + "address": "KAcJer4yML3KndgxtHGs2SoGLmRTxJCynf", + "secret": "4a5e44f0036c42fde00ec8dc633969474fabda864e45f5035b18f4d15c8321aa", + "public": "03f7d1f72c91c5e6878c76cd1e5b84996a0c0a8ef36efb550d01f7af459606b48b", + "signatures": [ + "3a5ff4fe01d7cb3739f2976746d396eb18f1f181bd5948395d4c41e7326ade1215da758964d42ba65158bf7e03ff8c7eb7c0dfbc914eb365e1fc0ea6c02b24eb01", + "3c391bba2682abef47fdff47022a590859abb9e95fb7dbe7317f6094901189160b114cdf44b240851c939f22e1540ff3086f91340b3c3b842fea5fffcadeab6100", + "c2be33d40825d186a950a653b61cad1b16ec0429689867a82b0f44f1a6cd633d03a6e6272e0cb886f1bff6a014516cf181a2cf6e12658d6ff32d6b32d69eedc300", + "4cce6a1330e0e838aae3747ca45f35b9df835f8744fc4ea10aecc7aa0f14946c3a780554f6fb2de15ba38c067b5e13d7d88c31c9e77bf622339cdbbc3be985fe01", + "7513352f17bf50544d3b808f9be00b9263f4328ce98db10f3f8e6e601145673c0bb2ac0dbe4784a370434d45f209dbd6afe1c4c26e0e7f8eb2427b94293f91c500", + "3f3bc0a9d2979a813bc0e1d9f6f755fa0f542796c3a2db18c04c39aeeb1822842c4d1373bd524c45aa8b537b71e5848ffefc65871b3b91e753e54ea1dc66acb501", + "1ebfd245fb5b3654ccd95be0e7f4a644896c5e5ba758778d77de878f860e4d8a3a4c33f7407db1fc5734672fb046a5c02776e13c0d56eb8ff8105ba68d52cda901", + "49e5a8fbad3e381488d6ef1ff2a8d58167cd1d17edb597c8e88a24b6e5e17e8c442d4eaca8e1bc7050bbfd439a86e857a9cdf1b704d5aa2addb016eb5af77a1e00", + "36a9f46810244e5eb23e823965a83224cf2783c140f6042fb35568ce9abb33242616c0ef0b619d9034205f01b4b7155a8237c9745fe905078dc4bd2c8fb8599001", + "e016afc5f089018881eb7516cbd07e37e044565aa826d7e37c9aea005be336f158eda455c30e03eb7cfd56bb79c5895dab15ae575b18d4b1b2de8a8645529a5601" + ] + }, + { + "address": "X8yAtMRCVageKAgRixGESP5vRJoe1evT9w", + "secret": "e2107eba690b1df6e0d3a08373921d0a19ac491bb10380e40dc6717ed11bdd16", + "public": "036a17b121be33dce4f868d591c82268cc86d765db3b86a447ea50b7d1915db8be", + "signatures": [ + "90fdd824c80b4d683ad26e8950aaa9c9459891374e6d519154e16833d9c6ee801c5d7d202c204e85530ae4ee0a38e9b115528bb3446364c945d529f9dd1d185601", + "b51a66267ef5c3373cd2d19e569d65349acbd3e1bf2e4422f5ef9fefbfbefc4c18fbd07ab1d008c887cb52c179dd15c7ad1f6a348a5bac45071b62ad4f9690a900", + "629bdb73080d5a2148d3a6d68e46c29509285edca81d9ec602a6eae1ee1fc31b4cc421a925e5c1a55f77ececbe201146afcc93ebb1376bcdc8a0950f61a3010c00", + "e392a4bde506161eac5473a3f646d3a153efb718405bc3ca96ae4d6d302c25964ac38e211ecb52564f459098f865f3b7000e58f30afc444a6b9fd6837a61b90500", + "7ac54bbdaa5a2b800904fc79cee2b55a6a2953b31292824bdfe2796228b2c97c06a0d1032adf26570c139ca5ceb7ea17d677be5e32f3d73edb61b49dd21e312a00", + "7f4e56604ebece2f589ba9cc8bdd3ceed3cae3bc7c737946c69637613a497b0a22d7bf916b70cd40fa7532cf91bff9d48c9cedc0e8fcc24c2a1d5a70ecbc51f200", + "74b00a4928e33bc6121e6eb622707487fad27282c736620892c0015b7b7db96a1e94f3a19f0da4096c8034456185107911c25a01248afdfd4a49f98f38bce89001", + "8a880ee824069f49a1f4e7d5cd76d70b44990cb8902379ae64713921bd8c0ebb4e6f63f4c3849e3fcce331f77c080120cf2409aded25bf48000c64a2515cd28401", + "4121056c8a3696b6158d8e3301e23c514a5863ecc1926db3c6ca313583098fc409d61ec72f9d3bcd0c215defe6cd5a07c4b2aa062e55c9c4e631ac3db237443e01", + "264e63e3df6bf4495d12d1df6db295b61ce99b9e477c1a3e6ac9fa413a11410455f173038160aaea178bcc71a3da7deefb70fac5f1f7fdc9dcfcf8d5d2f74ce901" + ] + }, + { + "address": "2XKCgWpkUHdPxBhzgN6RNFDQSFDpbfjTM97", + "secret": "bd04dd38b12d99d5d99da868871ce4c8ec3005e615043e7f6ef766bbfa041d88", + "public": "02037e40467e07e07528f1076e64429ce8efc955ac73b741f2775df7ab7c83e9dc", + "signatures": [ + "25a7ebaeaa0eba12d350cd2e022fffa3ee7d73b60bcfb1b7dc6ea3a930ab16e065a23d7caf1f79bdb390e3de2b1c09371ff22369a1b51a0ebfbee5a11d20883a01", + "d3d06e33fd3597af973851f1ef82278083f8a8a6bd58c6d33ce59264cbcd26a13daf8906cf2699c3846e64a2fd7e7dfbb092f2e4e3925157cfaea7788b8efd0900", + "e97b9b1349bd9b38912270f20c664b1f52c1ccf2dc6122c089fb6bba1c9a1864430ba63af58748de4f3c2d97172577a0b7bc659a31be9e492af81a612d3ca66601", + "5b69a9fef8e54fc5e262b62a5de331a9a7f16dcbe41f61799d367c0a4d965e8b1bbef4bce114397dba8d01b8a86a87f1ebb03ed8f3b3250d95c72963acbb7f8400", + "c34181e4a138f719197db757f12063cf844e5ce384594122b7ea668063a2dea318b00fd391471fa4a6b951f9d3cfac173ff2f4204e912f4a762f6f3eed2ee30c01", + "585ed7c1228fd22d7d481cb6e3c484c8749572050aad297aa9e406b948ec42d67430f39a4a7c46b65e876eecd8d4383aa89ce4eaff4268802cf1369663be9c4000", + "a3ba44c0e700bb0cf95efc6b0c215af840d929522d6f46efd6bd2f4b3d03bbd822139ae82e476b0d8419db6b106418286800d420fa6017ad460980e499ff547600", + "23d1eb4d7379ebdb764e6c99949a8ddd76306f351559db3e6b20aa44b5cd2b201ae1656f92dff367ef9b1608e98206fa97a61291ac28b1894d06a8267751dce000", + "9b61d09bdfca7e6c22fc89e1e60a85b94641fb2496d9259d9a277a48403551351505f6c412a67cfa2870fd43cffadb11d83c46b3abc9e2d7e335db819d775a8201", + "8da42dbeb2e06fc69ecafeb7bf9cb06f1f7c18ff16fcd0e1a3260dfe9302293e68d0408cdb6d2264a979a1eb855d503af18248beadb95ad14ced7fd4b65c516500" + ] + }, + { + "address": "WmcZyCWxhWWBXhcW1KuBf9ft1j8wzTw9EU", + "secret": "47cdecfb4697492b71ea68c871fbffcd3d7ab6df36f5cb744c7530c88a775703", + "public": "0393d74aaf73d8bda3199efcc619d7bb3f26cfc95800e3a0ab5ea029182669a0e6", + "signatures": [ + "0cd5e03900cb1f6b9217a68b5456595a5e8693e247d06b59ff1df287b4c8d3bf7a39ae9e794c3ccca84fed36b447b6256df5b6886b73d1f15a47efab6ed7abd101", + "1ee6a768810935fb72d74ca1fb946786c944cb335b1cd95c33d10e1a5ac16e0e18f6a0e4102e99ddb6cfcda7faf4ab49e1a93e1133d488aa6c23ce1a5fe251f201", + "001e7e58de32386c7e5d3b64a967ab804fb147cea16b184c2644a8685922fada0f648c9223baadbde6e637be0ce26bf477d1b2922decd993e1d97bf968b7972100", + "2bc7c3a115f6fe9fabe9a0ac3729d665621e0a1ef5026c41fb65f328914b84a6228cc3491dc07a5cd5f0b6c6a9373b1aa6f4a51f1bd370b74a2827f1773fe31501", + "bd114507fae6943f5adc330ce600b1bb8f67f72bb57f2975348f91e85a5e333440bb6cfbe0b692f63e6aa1e14ddbf62078adf5f6a620dad5b88659ac89485c5600", + "4a147ee3c96cb3563c1b06b251eb947f18ebd45c13d5121745cb0c2676a1dac47e41569699501664495527228cb5d5227e77262a6fee592c2e39d4d076ba736600", + "869de9726a35885a2e1542d059e38637f07a1f7a748f85e248b10a21321fb7a90c895931eedb897d99608115cb3e95e5f3464402099b451b14ccda964585abec00", + "e04d0d2574924c2e42c0402a8586463c68f0c9817c2eab2b0ae12d7614602e5f51a1e3ca41dbed052456c8efe96101c6176af9ef79b785351623b53c8028b2e401", + "d8b3678390136043eb595c3440e891d217024abbe8bcbf8fe359bef38282298b7b3250ca4fd74036386a480529d24bd23facf4b109bc565c61c47ad3515c3d5901", + "77e465dcfb285aee33e2c07ffd22e0cbe66123fdb6d83139f26b2eb5a151e6cc3df0614f9a4687207877f573c9a776bbe8e8582ec76264e68cba2e23db6f866300" + ] + }, + { + "address": "sQsVTtmRVSBQvXB66Li2HmZFqxjJNt174d", + "secret": "dda8c4aed2d9dd515df72e4a31c3fd05815f7ed3b2f2b2e203d12f7fc48f90ef", + "public": "020dedd0243219fec27920385309b31ea68d3418df5cba597bbba0dc794fff11f8", + "signatures": [ + "9e6b99596d5fa55c07c9daaa893ff65cd713aeb723337996c51e3a42b13bf76e04090eaa3365a5d6297065e229e21315b60e14411ad660d8a74a4c1e2ff4dc9901", + "320954de1ac17b54446863320f55e18ecbf4dd65bab9288d18f25ec163762b42132ff562af17f2b8f2c759f96b2dbe0f4642376c8e8b64164f3ee323dc26bcaf00", + "00e678398b522707f33435ad16714372447cc0dfb0857f744d86fe3cdae1f375235dd78bf6d07eb559b844971754f8199999105b76b0994501fa34c96333c4a400", + "8b8d6c37c63458744011eb7f181e9221029081910565fdb34e4e4ee70ae992df04f005ef1da8920bb820b124571093ae59b2b75e87c6de069c109c308d61314b00", + "45acf679d22c6727f187a2e2516599d1597e8ba0ec268918e2b0ccada99c85136cdecba2d94cf31137b612e87819fa2fd0efcca7aa85771c9ac9f13b00c74afa01", + "1f3b2ae803fb5605cc4d698c1787777d448eefe2deb2571975886c62bf1f83881543913b7182358d7457842be6937a3fbf142ae776180ee2a0488e568898240a00", + "19902fc27e1b56e81e2f98fb4f89b8f15a716c96dca83407917ed615674b77bf0cbf8f7de42fb19da7d40d7de49e8eed4d24d0e260c3421184688b1bdc07cca200", + "c40fb53834a3198829961133e3543d786ba2719b89a059022affd7f3820a38727523fa0dccbf645b492780af141c0ddbdb421fff18f8f97a15e2d7d18114d66c01", + "5c65768f4ccbce98584a050c845264a6a19233260e7d711c48ace814d0820c43681f2d175722518df44cd135c759f54082c9eb866c967892df43875156a9420701", + "5c91737f504558b000539d368aba1c5ea62d4b5346ecac64ffcd2b5ef820b01675a58703e39a55889d1128f678f0ee13ba0170b11fdd6a02eeab87f5485eb79901" + ] + }, + { + "address": "HAZJiBg33BdkdW3RLqg6CmUe9rTyjobvfM", + "secret": "2d046d99674e756338789b24c04cbbd0c022c06482f7592a19dab3d8da473135", + "public": "03c5784476d10e4110236c60af26f085d3f7bebcfae0a2cc06ddc95e8dfe01da4c", + "signatures": [ + "7ac208a7d530b1b5777b6416ca89d52e3fd4047d488cfc043dbf655cdbf535c55ae6234531e652376dc034ed3620b64fc7182a4e712569d07f4bfffda421cdff01", + "c8c0f9e69ff25a3a79fcd78efacdba7255fe22e69907fbb23164c6dacf74f0da013213ab8b072dcb11429e4de0d8a5080063b09a613fdd5ecad1028374c3a0e100", + "519ec555c35fd5669e00aab7c8a6d244361f11934b154e026194485d456c019e69eba81ccd983a62ca529ca3203e3a1e8d98e09c5b38044f1e47628f8e6deed000", + "ee211016b58172b2b28cbf34e501484126ac1f49ee1b89d8c2d4f03bdce628382e07f7f7f1fce3ea0b24e413452660a061377f8df4161fba404c48c07f96529a01", + "333d5e802b0b72c72c6bd615521cb3b557cd4ee15a58134e18c7305bb9f909223c4ef26dc3fc26c63a064f88cd1ed77c2a7bcf9a9f530fe7080ce102032b680d00", + "c251824690e71e8766f8896aa79b37054be3e0c981836a664066adde3cee3e482c240364fdcd5cb1398c7af02671f4a999a6ae5313db94f7c13a97b3b4a1b72100", + "2e674b3e7a2988f2d1cd6ea8440a13f78bc9a0dd948c1cb6b2ebc89b766af4531b31de154016462426d7b3594ac2283214d6f5f7cffdeab426fb83ac9f91882f01", + "0d923ce2a834ec22daa222c5997d439406be1e41b1ce8e10110568fceea3b64a2f8b4ca395d2b7be1d1eea8c47845e683ad9c5d26e1f58fb639c07ed8476e60600", + "ced0ca11d628b4f1eeda80ae34c312aa5140c65b781cb7848952bebf3a66c926424f8fa8b605c1542261a088290ca4e2854567be62620fc6920fea5b3d8a1d2501", + "0a83eccbd0c8df9b0f8ad166d892b84d85b2861d945539b124f657400d52c8261db09b5eea6d03e181d38af344c49e3f6356444bc7bb2a93c7662666daf0c2ff01" + ] + }, + { + "address": "KAU6CLysbrc41MdFKHNioXsJNcFQTLZSWV", + "secret": "fd2de4b3e1284eee8ec5884d92ae5841bef651fa324b001bbf99b7a96a4ee232", + "public": "032548366a5a732e4b389f8fa5d8c0e5debe5be166de2b557fd58dc78d1693de2d", + "signatures": [ + "fd3b22598a78353042190783d3410bf0bccab1331a4e167a2f60057a5511a4425953fe8b7d7099b96f711eec98078ab44c14c4638a8055f750f79384cd5c9e2b00", + "7b6157888227e72af6d22f2964ae61a8d3dc12fc72396b5302e65d2bdfa0e54e13128e531490afe48a7b75e31461587f67f741fd78cb6b15b4da8d8b12fd44e000", + "41b4944313bbb5414956049204dc8cccb782c664cc990e31447904ee317ae75655df2780d60aee06d80a99d6cde3731024d364238cf48ece1129b9f6d9e5e6cd01", + "aa892a1e3becba91b7d2ae3aeb04309e6be4221bc972100fce3f275e6982b8b2124e21016d5edcf8d533b5dc25ccab9656927fa03d6428c4ae8c8fc01be830ef01", + "b7757db90ae36a75c0730786e121567715dfef02f0fde002c56fce4282fae3f1386007b9d6889550e26d756cdf9b22e29614e9ca8325f285e9d19737a8fd768601", + "12a0c556c743f4e10cf60d8e25cf19520b2c83ff10aa508000f9153c38c7b00f4a13bc9c453d6037ad048e3cd4484fbba37ed072698dce7dbdf8a6a153bd1b7801", + "7eba52f7fa4a007f022cefde6a293ba46166420552b06855b34419392a8e906b10005884da94e87f677183f622c0de3066a5e73e1e512107892c967fc71094de00", + "602b4fdd642fbe5630e36c80409db56bf49c672080dfacca681933d086cac6184fec501ffec1e53a0695e06fda2781e33c44f601b2047c2c9392a16f195ff3c701", + "4f09c6bfb9a839e67c39ea1b44ddb21fb4c25808b9d72e8eb2a0667c9b79464d4f2b74908d3c0307eac43bc648467cc5ff3efbb3b500d5f2d110dbac977a18b601", + "f7635143e6d3dc5ffc4918944a4dbd783c7fffced7b8db8c243677af745750b72101ba863d037c27c862a02acabcd897850f34f3b4e7c649de784c937391332c01" + ] + } + ] +} \ No newline at end of file diff --git a/src/cipher/testsuite/testdata/seed-0008.golden b/src/cipher/testsuite/testdata/seed-0008.golden new file mode 100755 index 0000000..0feb035 --- /dev/null +++ b/src/cipher/testsuite/testdata/seed-0008.golden @@ -0,0 +1,175 @@ +{ + "seed": "c2xpY2UgZGVtYW5kIGR1dHkgZm9sZCBob25leSByb3lhbCBvcHRpb24gZnVlbCBmb2FtIGdob3N0IHRvb2wgd2VsY29tZQ==", + "keys": [ + { + "address": "2hBixkyUneVyeWK8HXr9S5wTuHPPjLQfVNk", + "secret": "a4196da38de61394985555f95c8cb063b055f11a654806d1bc9000ca65fd48b8", + "public": "026a7c59d51fd0412c7964e85d428e8e7f462596bf55b6e92fb42dda47523fda13", + "signatures": [ + "2d324fb86d84dce6babbab85615e3fa8fcf40db5265eb12c7d2177463d414f4074f46bfea5af54d9a1e4718d6a3854ad3dd0c07218f7b337b0451677ea1f553a00", + "6eb90b199fb3777ea55a938d99eb0aa5660000bc12945cd7500bc3e465e00fee5eb0779fe7f83d04858928376bbe74faef7b10477fdb78247f5e5f45318d5d4000", + "32e36ef19c712fdd1080090d5231e8c1a756161b26da3d55c8fd86994d66d8c07ce4f774fd2e05d75ffcf9ba6a38396ea58774e6db1d8858232cb1be6a394d8901", + "9cd97b11b5fefde1a0418d6b52436c6cac206e79ebe124053bf365e5d9ed9db042a9b0fe513c3cfaf790af1bc5711b45ccc5ed0724c44e33eec62ab3bc460e4800", + "00b53304db9b47062c92c91a392e104e51cb91ece9426434f32fff31ea1fbddb5324cd9906564c603c8a36ae54f19748a281474ecc8ec788677dc15f3c5ddc1b01", + "41d8e48ebc1a724a242024ef1a2121077cff8f2bd78f27893ebbc14442854f3036094b99ab8f8c7c662005cb32b3bad03858a9d47a8d8eec0c0829d06f37d31b00", + "eaa1f2b114c70d7a04c9eda7892c615ff33b4f0f05e2e9b8b28bc0f5672c04d95f84f284912bf8222b80ce237294c163ee2ee928f0400b1602979de890b8330d01", + "3b4586cc527ab41c6c65383dee57a12000a2f3df181cfbad65511a6203666640681286b23cf890e72405023ed282d67c060433b93a0601e2c0014e7deaa1b92100", + "05ddb5df8ad91c32b933a1fe8c0ae217287f51494635f5dc46f3b8c0c58ed8e54b0f1a522ebef697d41bb7a776702fd7f81710db217346f372acf2140a0a0b7200", + "9fa9c7e922a89fe3f9beb528fc030b9ef53284144e92b95a13cfd19bce14dd9f19d5407a8c4273b6c17fd61c73178b7af32c8c217f00a131f3625cd145c08acf00" + ] + }, + { + "address": "2X1uf2u1LK2S8CC8e3VWGVLjiVhHGkPyB51", + "secret": "46d449a4e9edcfd54dc0d21d75797421a3f0aaf6363b4fa489e3889a8dcb34d5", + "public": "03c164e6e935c29b4a93ba87cbcdabc49b8639bdc69f1e89dcffc026dfac7393c8", + "signatures": [ + "2bb7fae7a294a511468194fcbe2000cc7d4e3da84dba19226f89f446c9cd67853a1d6b9519354c9de307f10d9a375aa4f2af3601de56312b087a15317f40938001", + "b84ecbc6f15a0e377bc74efa502029ac87b55bc3d3ffc79867c41c909d34b7112ea1353b9da4024eb3f083bbbc04214f5332cb2d4d25bfb4b47ae0f95515ef9c01", + "1c9a32563e107c5d225dad141db80175d92997dd44ac7b1d0f6c2b0c5fba018373276221bf930f508ffe429ab0efd1a88cf54449d26992cb392983f0f7785dd800", + "df150b6b76ce86e688e3817fc10d16aac4da2e5723ce75181254269175e491a613e7d69f892d718d10fd5a8abc54fc266c731b33f77599c0a30b9186d6cf8dbd00", + "e869020afcdbcc8c07ee6dd356f83daa1aa5522aa3c2d9a0627c76e4745f0d0f4e3593a69a6a22ad3e5ddf7759b6d9ffa36f0c081f5462cb1cc76765da12e50600", + "3ab42e19889ca8527bc75dd3a320ffc7602371ae754c28cc61d2ad986268ab62790a940a0f9a9e7a9c1b32c0f98fd2c52c55171fb7de8f5b4f339997df46e76800", + "20a89d2aa6ebc277ad374e1ba8a8cb54bba5da83f4b0b786d71f7118c87bc73e680641af294c70a4bd5c6d837a8ae373a272e56e1ef6879ef2868c0d40f67a3e01", + "7a12400e7ba39600a1b2dfd9da749b34eff25246c83ecdea065cdf5f1df5046937cfeeab9c9096c678ad27b96ceaeca81e6cd20c00d23b7aabcaa13143649fdf00", + "389b8fab74bd3c02c51029543663f8930e3b37aba3ae08264761ec8cd77fbcbc24fa5bf47482ff4db62ece7ce5c9f8554b685379256228e208f7d65a8e33c37c00", + "351ff96e4913784381de11fda7b52abb87d4b786add98e534d215236100f44922435e0f8e8a264d720a8b49b88307be2a098c0614610a216dbe8862f5e51d4cb01" + ] + }, + { + "address": "nTsFenEp3j6vda1f5uRe4d8H7ZEXQkHEZ3", + "secret": "c7bee90a73f6cffb9abcb920ee497fe7522fff3ec46b35cae5f07bf3fb0490a2", + "public": "037d3dfc78dfa302b464ef903a085fddf94251587290d965754d8530be02322743", + "signatures": [ + "8869ee2ff57bb97475d007f70279f9e3b81193259e64e2bed77957e8f6cdfcbb4ab2501d617c5ca2d1dc89233817a0b91f5a8a2d23aae07354d5ebbe97a3dd9c00", + "10af988a9c826232bafc857dbdde32c76cd6532d0213f101d4afa3994da15a261210b9ae7b69273b538fb6c3deb17cd53113f3b1cb01ac9e8604d209cc78cab900", + "6e858a10f3ddf96b2fd8d49806dca2dcb0745979e288c8a4a913e7bf6c722a531d285d2f081164d414af64bfa8ef6c8c9928ed7d25cce9bb28a698582802fa0d00", + "3b1ae90d38869d522cc70e6d4a51063bab5eceaef100cba3190c15dd63681067700cf336565409075b825e4031112e1eb0bcd209a7a0f5a99eae804b9599104601", + "4bd286c40792b96bf0d1588be470b96d2fd2e4ad7ec3d48e81fc129a95274b9b5ac15138902cab4112730ab83767dbd9845fb3157dfc89131a5e4f36fa63fc0f01", + "1270a0b3f00f41e1f10eb53fdcb5de369585bd95a0900231c7e7f03c2b0cec942adae9e17a043774bec2e40d36fa15e4c9adfb9133cb8ede06d07f840137c57601", + "8a12e03ae27a954c4f8e865fa6428ef4806c40391015962d9ed151a9cfe3a87274a3b1095b76e47aa72e01512bf5d412caca5e336c198f82db668bea7abc452f01", + "1ee1f0fcac14db2ce6203065e58f80fd7e518a56904dba875928baac48abf454513225dd572c9d3c28c11580a7b480dd8c34c24baa2a895ee5b61b0613ba507300", + "d0bd8fbb858f52de5f38029c5251941a0a2cfdf3cfaf8da684db747b4470f6943fe545e9c31a8666546d5d1b67399fa013394418f638de3fdb54d93d68347d2c00", + "cc8842288635cecfcf885db9863a870674d37285a795a326ea11ce93aff2aef0372e06054831dd776cf0d986e7e01a05070a2572bb7926635fe153a464e64e3400" + ] + }, + { + "address": "2Zj9ehnjn7c2P9AcoxbvQPBiX72yjHEJaPb", + "secret": "8727e233f4165d2cf3805052e9df916b81a19d2e859c48e15576fba347d4123b", + "public": "03ec84a0cebc8c690f106fde7df91b86f7b7dd2bd6bbc15d19b6813d11bf523113", + "signatures": [ + "d878d051562f5872f20cf27067b54b677a7ed2ab44e4b88791933369e632993244d88b54060d3253e60afaffc30d8f89b6de5fedba6c90dad01ab9680ad2796a00", + "fb2f87e024946cbdeb11fca226d0efcbdb7d5c27e24b260bb1f6184bdb6446881917d5ab8e0f780fffa13b9459c6e751de391b3d7f1c61938736f8df5550534401", + "3d6b8527fb2b455a6d8565bef090728d3e0ba88b5f1a0599d296d21f268763120ab02a9f3521a96c4e93ad369080db860f6c00da586e91664e5cc410d9b6e99b00", + "baf8d8164e225bcef8a8ded4d54980af405fb6ff28281a16f64586f78a1a0d82670cdf6195f9ae7bc2a7ae9d9f5e32f81e5e6623e239005f4db8cf84ba85c10200", + "90f5ed24882e6e7dfd4eea059e3ac3d2414fb9d1cf7f58156be9e194c1d35e1b44b063a7c81c595d7e818ac6b28aa4aabfc9d8dab2d9c34310d6432dbbc5907101", + "cac8341488306402682b33e723ace25e45f599520753b65f0744cdaa64b14069255126d9d7ad18e219794165f6b723c500e72195ac535a554092444b0c9ebe6000", + "e8e3a8a6937abe48b730de30c5f486f9dc583f7054315c8c96c51e54be8a76772b476fea0543d6f825aa02fb8fb6b7b4c9350bb33889b16eb968fcfc3a64678500", + "cfd8a7cda65e598602bb91d522bb328a3a273b803b6e0e209019987487b1de7a52a87fbce1a87df47756a94ce97e3c51d6f4e66703f2c4893ab11304c407e56001", + "206e31703569b50ac2b2fe0d7d128dc53200a7f84ae74c0cd5153271e9d9d4367a9ad4d7c6b19236b836394ac40a1723468f96a35f4e813d4dc499f50feec2d300", + "7235cdbf150eaf66951644d4fc07226997c313c33eeb171f0bffc5548223317a2c6d933f970656babddba290e044a03d880eb5cb2d77d3036c3f925dd9b7a46201" + ] + }, + { + "address": "4DueLL7QCMVrwsbR5ydfJ9pnR8vahYytBz", + "secret": "ae81bed68945bf50c190e743deb49273168569001e452be70725e1d4844594b4", + "public": "0295546a4287fb64ae8077ac4b8ea13768122654901492f3920541d76bd2b7acc4", + "signatures": [ + "bdbb583965e1281daa47dc4010c30251dfd30473e44348dd9111d517117f5d4b56c6ed8d137e0eb0e68634e196266c0c8de51d5250549a760c46d1198ca7795a00", + "be84724248bfbe549ec32ba7c06ab7d40f0671248b349e9b4587a248a2459cc31f0fcceb2da8a5d5715dbcd9ac92082029bec9ebef4c00a59f18a5fbecd81ab000", + "c215694fddc95dbf210c4e6291ffec12c2dc431583159efbb0ea0edec08549cd27ba5a682b07fb1cc97e6ad92cc8c41fb6755ec2fda6edae10c575f93a0b761901", + "b23e9e76c81ee93e6a27e984bff91cd9546282cc55c8c8bc06502715484fe0610692f71015579110c1f96609550e7d4b0c30ea8fe291c80c73e65915b97644ea01", + "d0e910ee5328f38fb8283e87e7e64c38a99b2cf0e3ec5da096b032d77ec7be814a110c66b1e13632ff373b56c5a307d013d636aaceefa92f9683f71ce4c7478901", + "021a0670aabb167b9e7f184501247b031cc34492e2f22565b3173aa7091ac49f64c8f2535cfa4855ebf8e4ee1e522cfc6242ee87cb75cca29623269a954f465701", + "aa9c6f5a2ade42fe2f520115508c9182fa9652880511027190d26ee56ef088134d7689ceb3dd7a1c6350b8a49817759ec15b9d3ab7f0514ad51446902b41fc2e00", + "14182c66e730a7a8c22746abbb683d2f65a4492ed644e835aa376d81d848edcb229b813c89ce41bed07b4114b7d8b558a7b53132065bdd9769c228d195a204fd00", + "4036bd33c3b8e0aeded4275d0d5928c71e808350ef1c6926987c5377cc48395870169fb2987db63a5641080a2037e9fe5881b8e38e493063727d31327d04952d00", + "8434cec2a8c8ec3daa591a4b2cfe87426b4b71d0ae5397225ff39ad01c5fe15e209ca7e4de4056a64f043b73b622ccf4d2b3d27f362cf7d7fe932c5f110d986a01" + ] + }, + { + "address": "2XUMdVGXbHaBmFBiYcfwssY5vXnQTav3BP5", + "secret": "312483999efe5e2a416a5300c9ada328cd422b8eb81d348aef76b1ab254ffa31", + "public": "028992d0ba3ec0cd066223a35fc6221c89433e373836e42ab820909dae2a7649c1", + "signatures": [ + "da51c05e697d2eca9f130713c958e0517d17a8ff829f6e6e7df581c74954b1b75d475bcbe3e96fa64048fd89cd4f5abb418efdc780ae1fd44553f9980ded225800", + "d77d1bb5711b9f08dfcf7f5cc69aa3883c34b5a38dfe428aa705ee2190c2ef6c4a1572e07348616f57f1a6133161136278c39a16a421039c1ccf6de16a02431500", + "6cef8f2474eb973aedcd8e86fbf82de5245db429408e8161343d681440c08a0730fb6f80fd42ba3f10a74a784b18e3cf7c36a2cf89bae3446f0348904527d55400", + "296ca1df8fa846a321f4ca49b76e06e2b8712bd4a7276f0651c38ef1aab9af265c411d0a76dc499073e7be7b60033db5cf2dd85858311c17dd9fb7582a954a7f01", + "3528f0101c5dc155c9d68580ab804e424a6bf81ea85bdd3864ae6eb347960aab33b20a3d4ac2763a2bb50de1b5cf11362086a5659e5859c7d6aa2d64d6a489e501", + "3c18a53e7f1a1d627435f685d3dfd4b7ae2c40ab4b43de1c559b5f8dea6c44a358fa73f0fe004fc42c1f660b711215e477a3752dcebad0af01a4d86b7b3cc91800", + "7a5d1227d136933f935dcac3198ffd462d00fa9e91d76d071d69331cdeaa98a33ca61def907610fc121daaa9d552f872090adb31d25f60023c9dba8d422c335c00", + "a3738eec0537aba0fcbc71627f588452b7401e5892939aba2119e1b063902da55fd912777e1d2bcc61944f77236efd2d7a84f3817b1a996a320f71fbbc7dc0c000", + "3afed1e7749b9bd23a97a55bf9e6aa9f9533151ffb731afa52455a00ec9f1aa9575369c0ce426d64830a6bfa708218ebd337728b914297002db298f10cba9b3e00", + "b0886b57153458794497fff860c70955b7ea80146ef30e413300527f547798e3775bd769893bec65c7cea503d4fd8703e08b6aef736027ba2feb06315f9b2b4000" + ] + }, + { + "address": "2f1gvQUSUucGZ1xtNcqDb2QqT8mR2YtJF2r", + "secret": "435d065f46be884edaf18ef9371ae6b9723e0931a45551447826368b3b1472be", + "public": "03dc267f778651a06be4b14f2a47063aacca922a218a1f984f224a8ec55f6b8da9", + "signatures": [ + "2c7ab60525daea6fd2bd2a2944d3f7ac62443f2c5f3ca4dea2252a7bc6d7a7520cf8e0e0e29167cdca142e1c6106b0f723d9caeaf181bb7ba7be3d3dd049053000", + "49dee8cb5efabb28ab2bd248482d913a7de2bce830637728e6926ca6f9607a8436eecb06aadbec7eb8fc49064a73d48de1215d2541e196f450a870565dd8562100", + "1ababc8f886af10ae76d167a93c6a6d5049c7d2b72257c6d51fb0242fb2d13a027b92c76463e3981489e665b7bff2707c577d960cadd5b392aad117f13e1218500", + "8461a17909adf7e7ba21ba08f9a351e3f059cce7b81458121e432a1b07c2353e46c874dce95d02adfa1cbdd723785eecabe93c3a65ac732e497a6a0adfc0350c00", + "3e458d37cd58a426d176f2e3acf123880f44607db8805f5cefd4c438c4eb1ed779eb69fd65dbba39d91cbefc9f54eebe9322aff7c8989f506cd1bd74a05fd66700", + "6658d5242d1fb860d4de1d54cbb6290893990a84bb139a9b79c50c20fa8f5add37af3552601645ac8fe35ad5790ebfd8fcf8b371b9f862e67e48b929bbba3f1800", + "71b2930f5e1b703e90d328f65164673a26558a3126ead81d61807354d59cf91e622d19725c201ec16fbc621feb5679957bf710fb5d54935673e8cadc4e25be1001", + "cc4c1e0fdd2301539ec0ace1eff47807af38c26c20c0b7304abfa75346472ccb38dedab61733895911e37591b35eae5be7daa554f22e75baec3f5b9b158d758900", + "5cac030ff5bb66bb091a86693a2d972540cfb61bd79869a866124dffb515f50907f7c90e99e09c04c3bdf18b7aeb5a82d5d9d983e2993c01a75571a335c8852101", + "9758a5917b51e9989f476eb9fa051a32d2ecf19ad6ddbc2aefb81ba95c16e52d3dc528db27b34ea150344458490d58868e5ca493b8ad4cf21dc356e776d0d54c01" + ] + }, + { + "address": "2QnMSr9PedSgf84NreugQJaxnaGJLHY9axQ", + "secret": "9e3b1370323a9aeb7ef6872489f3e33a0349235854464d656ce4b0dc00ea56be", + "public": "0255538dfa3b6c02635b667704512bfc4c3d33c48dc878d8576076e530382f34e8", + "signatures": [ + "9e40e30eb9ad0d99b592a148ba1066542651e04e90bfc30bdd98c258754ef77d500d11f51ec5eefa4a1be570d12cfc580bc55793fe430e75e31676f9b2c1bef901", + "0f19610905349de8673a6c9ed78158a899f6fd25a37efd22b9657af5b51026246669112914c6d203364456d8c1ae06d5767bc12ee51e91608bbf8b54ebf2ae2300", + "14dd6d4ebad35dff18c60df85ceefa17a03a9e0c5e2c004cc0ecd29ca8096e716333d8e24a32d0ab3cd74ac7fe917e4ebad00828c27093b6dd26eea20f0def4801", + "ca337390ff73808c302904675b4f954b6d4be500ed1cbbe1536693f3ed185edc5973e64764773763408d366d7dc80c209fb3cb323300bed542c359686548046a01", + "5bd597d9019853d5d13f89d55fdffe6a12e1f1969e786ce52aef28df44da1b04595b497136dda48e5eeca2b19741d3851c08d51b18a994f55e1c45bbadfe9d8a01", + "90d711499247f36f3280b09bb6fb9d1a9e89ac3b055bb59bead4c08945d2f9de59f0d6840314ca4641d39a80d9ebdcfc6cabc603db53cef6fd12240c576c7f0400", + "9f742e202407c4fc7462278dc4b8382ed34161faca80f3015861b8cc9cf9b1256d7017777e2fc68eeaf913725dfea2af2cdcdac76f88415dbcd2f6e65b9ef98001", + "20fd3fb2c83a63f69a7fc021d8cad22bbf9516f4b1f4053d4e032d5089d644c638eab2fdd8cbd9a7e5e2d797cfcfe6426aee8bb570c6799eef48a84fb333e24a01", + "0f4135937cde24fb32c92be875d39022920e04d76f0a99e60328556570b2250b69df184f9ea803c9cb720d441139d3369e29a4ce53252d7b71b015303d6cf22b00", + "2cea41e7728facd686876fc173ec9f3b82e243db23d284394b46ac929c254e564a58772ffc1cd1ff1940d0dc5ad7969f134471ab408acea0116c1bf2346befcc01" + ] + }, + { + "address": "Zi6vjiuB86UidJSxPnRnLuoQKNqbhKDTQX", + "secret": "a7d72f9c41978b79e61dcb6de20d05d31850bbbd5defe2e594262157292eba49", + "public": "02f947801d035fb531c1859be4045d3d6f54d4df41927277a42040c25ace724972", + "signatures": [ + "34e7d96043aaedc7b18d19a44934e9a59695bf5cb2b8ce04e845b6d5547103f046150acb03a3d08dceee0648a96d0877b7747d07d609b5bc2738eed78406571101", + "9eec6edabe7cc6c38a3c8f731aa310683f5b1b5b7f18ff597ce1cc85b69316226bdb6a853054bd0e0b07f7b6e95a14c1b331ceb47c42c7de0f64978e23c3f89401", + "024c006a48beefc070dbda72b0335726bc875143330cd5a5063b5d36bf81bfa971cf8b5bd8b0a097f9ce85b5e1e32d3516b9dc7fc18b2d07f967d2a0a85404e800", + "fae32316c3926889b4a6c351e32865c5f619e84678db65eeb9a8b97b2aa60859246e416af3844a9a8d036fc95cd583ff6d194424fdaab1a75d6302bec4d5fe2101", + "c8e1782059a35a98d0dc23ddc45a29e6ee37855e7ffc3a2db02ba548be82943d4c01190bcb22d8bde6a18545428022a5cae17efe9b1b59bcb054190016be55f800", + "67437425c618bc99fc2b111ac534a8337db17b07f05c2dc0c8699809de0c69ac5201bd0ce83d4af61df6597f0aa819c66c859b3fdf07e12739494e942dcac83901", + "7df6c5bda9dcef9a81ea470d1cf0a6c465220ff8cdc9a549021e02fa1dfbf2aa16f2434d181db5ac44ef949b0447bb56ce0ab2cf43e0ee6c7f4835267c12d48401", + "a55b5663ec5c53f034f45c199ca720198e272d25012444d6ed1e2c8dc312223a084126d0b7b0cb0dd9753fc68d3a1c3daf625203756c6c92a924aeed718680e600", + "c3a346976e04f54d750dd830fdea864495e3ae80e1a3995e5b7852db907cac1f454d95532fb7c536daf11003987065fc835414b1a19cfdd9d08f4332ae1e691901", + "53022befceb0a4f6de14ee1a6f287e75413614f4df77b0ce4c1a1e8d85f8947e7ecc9ede42ba82ee06f06b4a6dc70a25cc12fe9ecc6f1c4e31350980140144f701" + ] + }, + { + "address": "2EVQ1xmJ6A4iHeZXRtD7DawoBoxX1vRmBxq", + "secret": "04ccdc4fb9e5d77140a5ab7710b4993f9accbca372d142e358301f1bf096e05c", + "public": "03fc5a8249345fbf2b876f4d0234efec9e88b6a9b3a6ea3fdaede839f0520cd2bf", + "signatures": [ + "a47efd9e820c974dd9107bbed207f6324c042a21ff0d41e323f799974ea963282fe800b1f1067d8c7753b3e666dfff01f2bb6516121fd1cc3afdb5ed2d45ffa701", + "39b2a9098ed07c55e1492ac28673dfde7a9fb683bbc5c9ce62079c7abae343764dfe618112bbcd5805226e9a45a98f8efac840d38ae4db420fdc13e6dc9f05a800", + "a7934bb9e039f1ebda681cc87c833c7158666a9cabcfde5ed95aad53f1fb529733daa506e7f65845e4a5c7891ae059d62a52885010a4113d844df2d03acd17ed01", + "d8dd518bbf0d921954a840ca9326f9eef5b17eb00e4c158c03b298426f682a55077685305337e06a1d5b0ed3d48be76e6a404eda1bbf4a0f58bd84ea0920a28b01", + "3787c025ec0a21ef202b340770fb21d9c5204d969feceaa7639316b0875f0a6875db7554b4cf67c476f32292d7415ff07eaf73d9922e2639890d15dac3fd2e0200", + "89dd0b2bef097e4a7da14f90bca131005084ed954434627ba3c9e904515120d309a0fe9ae64c5191eb483d07a294ac37be0d53153d511dcfe8a339b79db1572b00", + "b559569007407a5cca128d0a3153a8572d8e8d1c765913b23ea27036955962470abf538464d519fcfaa4caadf9322c3f0a1a432ca5d3f45bd993c6965f4e63d000", + "15ebb160d7813b01269fd09e07d62b27b1665d243ee1c1be913595bccc6fe3377b46e2f1ce0fe485a810bb98c988d70b9dcf3a377d99ebe664b88a2239ceeef800", + "1ec59aa97c2e40a0766bc470b0a2079c58f337a6c8eca1372696785446f77b1b42704bec74c429eb2a084a00e676d084b175323dd43022f99fe513c17625d0db00", + "ed37c8d62f87802a0cc8e2feaa56c9ce46681d07f31da88c958317e5616b1278043e6abb646407909ab2d7f8ea880a7d89e696052a9b01da573a967fb91f141301" + ] + } + ] +} \ No newline at end of file diff --git a/src/cipher/testsuite/testdata/seed-0009.golden b/src/cipher/testsuite/testdata/seed-0009.golden new file mode 100755 index 0000000..f619411 --- /dev/null +++ b/src/cipher/testsuite/testdata/seed-0009.golden @@ -0,0 +1,175 @@ +{ + "seed": "vWqzW+tavumliuNymgNb1scvd3DxS3kEU9EznZRyjys=", + "keys": [ + { + "address": "dxJmhYz5CYqbxaurBDKndour8bKsX2BCg2", + "secret": "103bc41600c537a83751efc3b3375224ab5e50f062d5f679ba39a69676ddf4af", + "public": "028628228b9fa099df41f59a84685964e7b5b9aa2c2517027bc97163932d3f44e1", + "signatures": [ + "673112ab3fc33c8611b71baf4f5859b11f15775c619435285c076c77406ddd5b355ec1dc1091481ecea3ec23b05857fa5756842b19433cbd16edb98b276b4f3300", + "b884b685184fd7b18465d266e5c0aa3f715ef1ebdd2c510fd1d93985ed73700e07cd8967fb4bb41baac5dfb1b5acd43542368843571a8c2328c04ecd99480fc700", + "74ab28ea8eaa8abc10a60900da86209415f9c2da7c40c4dcae9c24f4a7577607264c1fa8abc18afbdf618726c5fa4088d074b22281419fa72042204da4d101f700", + "42e5c576f3c946efdf7433f68bf8bb08bdb9a4cd96b1df6ae21c1f977452565b144a0a3431d1fd01964c016a545f70581508ada70ed2d2e2471f61adb9fae9e200", + "d94e96c42e8206c754363103c1dab199ba324ca4a84382800cf95be2bb2fec4a641352aac50919a636cf60e21f6124b0898096b2537737e132b3a591a73631de01", + "462dcbfca20d8db7933e5ce611bbeaf3445be562df729e7110fb262651efb8512186b6b19902894c2ee0dd2749612c839976b6ba56b42d091357b9f63f40400800", + "1a7f718160e4ebc415679c176b4266582cdb59d0d3cc6d5844375604313513356663f148e0813fe02a6b4e657c76cb2fd5095a78048c639e431def9a0ea1f36e01", + "0c94e5e5dfe0ce864cfbf722ebe2e567f7b3b0303eae438f1a8fae2c232b8f95344ff2b43c1c5473942eda7e2c292b11c99bba70281964ff03105a1b916155f601", + "ee890cc57362d5adfb7e664671a4073c5d126b5da52835089916e45f5ee71cb227bae34bfa070ad0920bd9106fd0bad517bd7346cd85d7042a2ba88c029eef2e00", + "0199f28e2f9497c17c59e31c863984d7d4848720c9c151b6334e2c56dee15fcf2d642e073bfb728498342d9f19ea1dc6f9a4e8af31056e850405a5009be6f6c701" + ] + }, + { + "address": "wWfAkC5DRKmBesD3ycyZPLA9WUC5hKBY8J", + "secret": "ec68100218702342e62a0138e49fecf0281e97214f224f3ab2591be5094764e9", + "public": "020c1e5d0e449141cd10910c9ae064d878537bcf7a617e6f694a9f377a6528b96b", + "signatures": [ + "74dd33ff9586150eb0a6566e31da608be6cd9519c0a373a10794a3f2b0415ffa2f0b4304e895b4d9c7a6a1bbcbd0e4557800732ecf39239c193e27738f432fdf01", + "d23c6e62b777c96c1e21091fea380733c223bd68811c7bad12fcbf9a159b84992c7b011e4152d0339bbdc4ead5de4aa1a288997ef3a5ad0bdaaf79653077df7900", + "237df8d524e32e90b2e2e009b0defe40769fb341147191b2ba45aa277aadf81068fe8f206ef713e674ebaea775385b053c85be37dc2490c0c4f736a7a1feaa8301", + "83157989273570d30d0221ccff0497c8e9837d728fee2adf2b3142e8f04cef2943410fff868ec9c7e68602e083420b29706d3926c2d397e1e1587c31a60c9a3501", + "34212857e85e5dd71748f02f77941550164b4702dc55cfc835a22cb99e30ece054c53f43a3bddf4ce800bb2aecb2ecc87137acd3ca8a269af9763bc3abfed62e00", + "5348dd18e2bbc319860ddbe3b5ef9627447718252a189ea5957982acf54f0c3d4d6bc9d191cc6cf454281cb74fbdc9e05971b712119bd39332d94a4d03340d2d00", + "14f7d8da4fd890f6bdeb978a389a65d954a82037f1a59a3c22a952d1a6071a5601c460f31a6cdd5b9749412d44b8399068c9605b18c9677ab89ee3d92fb74a1200", + "4cbbb3a086dbae9049670ee8b55e31ab36fc012ab22674b4f036091bb511011a5ab11e3500a47f09b0187a407cbbbcaa3b8addd885b6b0639278903bd2d64a7b01", + "c8db912171497d49570aa43ccb6a5984f25fef8f44dcfe6edf4fae6e737082ec03d531e0f77057b47dbc5e50af5b67b74fb8915fa802f21e63c1db9125ce579300", + "d13cfe83aa0faffd130cede0acd5c6066c333474e7f2a059be3e3c27c081620d6f5fb985f4f595377332abdad3de0e27db9ccff7dbb24211b7375682c46f3d4601" + ] + }, + { + "address": "2NpdyMGSis7pKksyJdw2Lw9CkLxRXQ4mXfQ", + "secret": "e08ae8786cf4f17a7b6024143f7e99261b0f30f240b4a4eef241051f4b051c57", + "public": "03185a63e2d55ae868e815e5ccec398ad955f5ddf8f7f5878843810d22a95d8749", + "signatures": [ + "5d97d0bb03d8eff8cd742665a59e6cc7bee75c809f46396b607613e5e6bca6a84aa089f7cd8f53b18d6bc3068493ac1077da6f818bd65e18457d5b457549b9a501", + "66db0f30c1e6ede54bb6f70fff659935ac180bf41d62b2f3a649d8821d90e9f9452393d0ef245a4b9070a3e7a93b05fe3933ec5bfd3042ea3a644e77816e57a900", + "4dcd8b7df6aa6fddb60c9ae6781426d09f43b3f72bbc8c6e2f80e2f052bb29fb68d0541edf0bd7fc58b468850110fb3209742c3a1e4cbd0fa385adc55d76bf2301", + "b64aa7147d42e3e67617f21b5f49d0ce03dd5ff677efe922a57d783f438facb43d35df5d3f5bc6bf4418b12189bda65e791e837fab789f5765c58a4f3362758701", + "a61449bbae701565ec8b9101ffcb1e5cf8ccaf0148cc074649322d2ab07df14329b60562740b410dd042996d17f9fcf9bcf48eef01cf14439cfb7679ce49ace200", + "9ec3b65bd966d8d29037a74ecb0da1425a8bff15b82fb5aaa5ce85dfdc26a0c869d43b8073dc98d9871907908b13ed80997a11bf61724646d94525d0ca33185401", + "5764aa6b439d5eaa4ea629cc0bcd0d0bdfae933da8a4aa1beaf7ed8d6c751446784fbc57f0182c6f7bb13c33641dacfad3ca0065c1bad8c49690ba42abaf00ab01", + "1a48518590d1ad8fd92863486c10078b3c1703037cbea02e81ab17c41f52e8120b394db294c7ea4a4d8c9e5e735bd30c3a1574125e8005b80b2d429c4baa764b00", + "12e8b5c303a9d348bfbbfc7ccf5a74e9c1701482f95d818f51aefeff982e18ad0e25b86221553e6282be68cfe384ef7729cd716b3b66e48863fdebee137d2d8801", + "d9abcdf0970a1b8fd7721fd8bb7a6f2712cf331d04e300b7cb0a12caef919d2b335bef5436cb624cba1aa669df168840eb80e0f9f40c6ed180ac58fad922a4d601" + ] + }, + { + "address": "2YsC7EayfSJEMpH5tkFABZ7NxksBxUcRKFM", + "secret": "d609d3e43e182e23c9414e10427b1c8437d5de881836ae882819b4ccfd39ea03", + "public": "028158909c3c9e59135b6019738c31acba380d2d42cd07b3bc0e302fbfae9c3ed0", + "signatures": [ + "5de888e7d8889d800935e92430ef045b4b61896ff9b400edea6a9f184e56be5954ba6dd40388a43332cb2515553e227e936c3f39a40ae7fa254a37dfd478a89a00", + "9534f206b47c69377a9134a5a372817e68893181d5489f411a90ab47748e7fb621b840c0d2a857b7555f266611960c47814d3c9460c6f0ee33b688a7a95e0d8d01", + "fdb21218173ee37a35a864e6ee685b66ca3b3a62275499b5050ba9563203634f7f4ea6988aef0cd05b504e0a4f090a341d3cade4fc72876171a41d4a8e7900a001", + "c444d5d828e5d9551e6c85a0744655d75fdb35c90174557c442f6866130489a07f8d3e72ab8f1c4937b5b56174e83f1f0099fe8a90a2034a30ff33a58cd95b0a01", + "7b105ce2133aa4f330c7bcef90473b0433ffb8f15eff07533f31083d816a05c86e18e972ba8200db9c173eaccd57658d29e541805c467642b7c71fa3dcfa9e6d00", + "6c83b4cfaad9fe84e9fb6221c96f3e3f7a8a570d912df042c17f01877fcbc5755b52aacf432a0655461446c25ebb6668828f2c93930dc0c25cd0625204fc6f7401", + "a524aef799f60bda7106f53f7be4f6dfa23c650f0183fb6c8c7945f7a1091db10b569cf203541516404853c6f84b0c903015bc1ea4b84689f76503af90819fc801", + "64e06be4685c5f44276114ee82eadd0ac0fd2dc32e06695aea6b9bb1c4f539bf13a1dbcef6083d764d8fa1246ce72888fb242e5e2e2fd40708a1101f078f568400", + "0405169edaf9044e0730ebfadf22bdba6d29433227626eb1183b4e1fad384bee129c911097fd5b5996a045a39b75fae33f20d6610f3c160ba6c9f7fa61afddad01", + "3a4d6eac4ae0c420a2b07539deea5b9703816b8f1c63ee015e9300a89192035e4a6bfdc1c0764268b36f545ba40dc69b0de024fb89b367f74f0582c49991f1bc00" + ] + }, + { + "address": "VWBgiD8Bm82C5scBT7ouJXUdCt5WYBmwid", + "secret": "cd6cac0f13566084bff6d1415a6cf5b481d1180dff8041f4b0cbbc3ad9c45575", + "public": "02db0ddcb741d0ea2e05d2e299a09d063456dc3370cb8ba32adbcbd5f2de195d55", + "signatures": [ + "01b8d8773c41c67426921f5668f6327f3a678119f207fbbb3ea88031fbc3928a3b516ef61495997234e59ed5548b5ed94f59f988e3de4d12f57bbfdecf2ba00000", + "1832e3ef1aa54595cfce5706271449f00f634ddf07a124673027e65bedfa3751377dc647490148c8a753c8458824edeeb7a6a1dce149a49cd57f04d26cf775bd01", + "a32e7217378671d22ee640ad993cefe1cd7d35dcb8ec8c4946a202246b8ddc837e0933dc6246bf061115e7adf77b1ea7cee2e570da6afd263c4bee68061c7a2601", + "ea42d95fdb6dab4c5df0cbb87fa8f893724d26b1784b7e19eb799f1f8a5facc34eef7b929acb300c953864ff36dfebab0e4c069174217c8ef3cfef6587f5644600", + "a281a7e62930e0ac659ef9c372ad192cf86db5f35d71c656b72b03b9b439fc8d551bbcd58b8904f8653dc4fb3698774cebca153ea664040ce0184be627d31ab001", + "83c70b8c70db7fcb8da6887a6c0d575383ceae53c28f904a31ee69ce6106317a23e6c764a23b55118cc8d52bb621ee3f9782165580d98bf4b74f10ccdac5f2a700", + "42ded223b124824f156a96ec2a3b39a98daa76eb845e365c1238a38f7b49e663286b94e55dc245221d85345497f223d1dd81aecbdec5613efe4c4ca901a3c9ee01", + "c07eed52f2b0a550e57cba0175ec37fcb71aca4ed0fc37c4528a01117c6a52665196310f3b56b8439a156c33ee67a6108cca46b7b6081c5fad30be432f2f0e8701", + "04faaea1a63d8c3fb7174d21785afdae0e8520a4bfa9e5a82f4915be48cd4180158490d079fa2b7633d4082c8f1ab2a25a9ce4e99690b08cfe95ee60a92eff8d00", + "12826d3405affe5552bbe42b5e9f1ffcbdbfe3b88b537ca1c6d52a53fce068f5482f9c9026b8e72858506d9b8d1bec3b1cda36878ce979916382e880af7715e901" + ] + }, + { + "address": "6d9MoeBRrPUSW7C88QFe8T83GKxKfd2CY2", + "secret": "e7cba671232e76a905770b9dcfc280a0f47db8e37fd2e5cd32cf67d3d7e44c4f", + "public": "02ab3080b4ea8a74789ca7ba75577609de2961e01e583d8432f50e112ae1c6a7dc", + "signatures": [ + "0f15c8684f255ae234760053b193e2e3e799e0972f11aa7cd6ab62e29a4fba093d66356b08a0fc544a6c62c37b419e65982dacac87c445570a76cdfb3e981e2101", + "84e597668750e6c582ac72925d5f51c1ac43913f15472a13f45470d8e35ea6da6134b2d0fb356a6386a0d7bc95b4d35deeb8381d61e73ad852975e0c188364ec00", + "f2be4f437fb1a7f8e6ae876833d02a1b2407e29c393565f43cf28a6416cdc839593188c29d402479321d4cbfe92f0c70664bf19f550eba0c72c2e064727b93fc01", + "e8ea5937f15a16c93b56b60e527f14b343453a689b2fbbf98141775e7419f030190a32e8a831c4148f703f1861da656e93365cf6bb59aee628270bde6b6310a701", + "122ebc51724839413d8760e5b7e6317e7348e3c06690083baa2b5dda38cb103d3d6fbd0b924cbcdb4803a7c13de1b3a3794b464a6e2cf7ad9cc33305cb3e704401", + "e68851a6bbde68b5645eac304e0be24f3e8b51c763b0a5b3cc3b7d58b9ce1b4a3ff54a30199ad276a41015781f951f058eb20e513dbbe0097da5840821afa8eb01", + "23555eb3dcfcb3757f0ab11f822822da366baa4148448e76f4123ce944f0b4c80e1998aaf3e00b38e8efd33d8cecfab46901cce7655f37958d67d92b280e687401", + "46e956e8a6c12707ed890079afdecae1c94c5e39d3d04c312bd5477e6770e3274fb763ca342857e80358a2101e628e7d1a653f227307337cb292a005ce2f03db00", + "d3c7b3ebebd0fc24f378f1ac9a2f60bf9c96d9d88d64369f33fdb97893585b303d6cf556dbc12e991c336ac7df9e48cda650f4e5219696108f295af769cea5f601", + "9f8ba0642998c5da0c4691eae7a51a64120ab74ebce32d58fe8f0c11683ad06f232dd3f3b0b9aec0b1c53687298be5584b259bc7738ef54b247c6e436929e01200" + ] + }, + { + "address": "UBGqCZrRCWLNVUTejLUTmWs3ZjcdnanAEa", + "secret": "cefc013f3eef428213011a542db07a220e85b2ea978caec5c47170e2fbc52a61", + "public": "0316f70fba8d65a0f9f3e49b1cbbc3fd3ce83b62725a59ed85bc1693c98e9c0f24", + "signatures": [ + "e15da877661402d0c6c8440d05c3780591c61c5f46094258363b5ced7a3c23e565468cd9cda0a34be02efd37e49239d3b9d6f3fe64f53f359dd1dc52275f6c6900", + "b5dd04df253eab7c671b4414e1dc706f703016f9f545e4d765160fa8511e4e553ce7ffae05b9a527b84ffeca7ea531a7f8bd51add548305d3bff5273b3db6b3601", + "c3135db42f34ab5443ba8ce3e6833c24ca84100d3247fcbb71b8615dc958ee917edb1deb12bc9eb3c259d43958ee10a53e22e966ffeff4116a04714a88ee285c01", + "9183ca8eb77e2bed8c9a788fb13c0f2c834619edc7013f58ae7c7444016012ff033bfbb32494cef26f0e308aa69d4c10cc92b0a8dc3da23d883319808496dff301", + "7ccf91f8222c834c99d28f79d7f858c028150bd0f234fafbaf55a39bc1d9f1c30c39672373d94b2c66658c91f770a280882909717eb4e6020650cac801c7aa5401", + "6f7bd016f7130ce5f33f46da12046b1bc9a8fc03e5fed7165ed16b1eb96012b12ce6166c43af598e24d8eaa8e08c60923de15e55088148993cab843f7fac758001", + "1b62fdbcd1b0eeb42a2ea162ac8332607007d3e94c40d3f329fc5f06abcab57b493cbd3f4b490c5635390500c66d45f51bbd340899922aff54204a2cbbb1ac9d00", + "bba47fe6febf896cc1f9f02a34d77710a050adaa8fbbd9ef2b51bbffca08cb9a22146c0eb84099cf48b499715675417a486abe4de28f99a24a75e9bccc1e91c301", + "ec16b3721e1f05d368969b88a9cb476e8aa7c0177691bc080d5f698decf5969f5d7910d95360cd49700f191cf0f7745d01c09468a1061d28630f8b4f923fad1800", + "76a0ca994efc4714a3d1bf10c7ad81825500a2492ab5df87682acd145bfc6c1e234c1e6238254bc451ae957353531bf2bdfa7899e99c3f7eeedfcc0d3d35a9bc01" + ] + }, + { + "address": "28mhRTjG2P2fah7AJuUrBygpxhmheYy4qwi", + "secret": "a5bf25ae3ac443489d23aa9fa45810a36deb19fc56fb67d09ca920868ee81933", + "public": "02e2a845979adc6147886e594728f975b3121fbeae3bb5e026a2b2738c104175cf", + "signatures": [ + "459509346729140b8534d06867f7c3885a59b38ca9264ae6243e83fd71ff023631aa62a9926ebc21b164717e227813c0a84b222cf7881038d7692c208f1911d300", + "36dd71d7c43b438be226dc6bb3d1695162da774d4aa9d73621ce40f17e71d59c47129046201b7f7ff42128af0df2b8b1075d3c96135fef755cd50d78f443965800", + "e3dbb279b2df949cccd238fd7c9682024a7e86ef4be62c46c21d1a5add6d5bd75ece28373bf65ef0ef01e35873510e1bd6d632390c1d0043af57ee6fcb8e423100", + "21bb5e11f34214dd7472ddccf0e156ae8c2a3b2519022246ba77f2ba804593ee21fe5b20dde87ac0e60948400187cbef45b70ac20f44add46cfd045d87b839ba00", + "f8ae837a61c9a083e366417f0e4be2d43d490add9d34ff4c513d6222194c16232a01b51b9205946f4cd66a5ba69f1ccb6dd4ba3906ec17711547378545d1be7e01", + "0393357ff49e2de374492fdea60319320c37ccbc03e7e6b9ac42ee3422303cfe0648c75c57d3062b5c33634ab0916baa88a998505281287e99ebbb000cd2e42301", + "2900df4afc8b3a123c0ebca53ed6f6398e5172f5f9676b76efd6dd2d5c4fda68568b72fe2cfeefdeed89fa2604d7bd6b3bc9ec9cddb307832a2d4368d863bafa00", + "f10ed20af67fd8a37f4100885e08195460728c89dd5651047e658cc679237c445377114888c7f4402140f2886492038be603087cc921d1baa2ce5ba62e9e40ad00", + "8e00142a82c8259adbb209104373e52d7b3986fda2a29af86e4915706675a35b3af0b4a31002d263355d47e6072a7959d4eacacafdffc5279f6e90bab4e6a84e01", + "87f22431354dcb7f1484d18a1207365d69b69341bcbdd49dbb76ad9ce53cdd3f7c806f14e71b3f05fc1b43726b3be409cb4b06f2738553c61e2ee7713898157300" + ] + }, + { + "address": "o8KcCaEq7rUzk9jU3ej9NXz8ySGoAsM9wq", + "secret": "a774d84ad42813d48f293e77fd9d872d4bc5dcf94a968fbac437811a37e0273f", + "public": "028084b66fe7cd20247fe319bbd62116732e22219ce6ac0c38b10ee7df6a5e84ef", + "signatures": [ + "1f173b3cbdf6157b181cb88ba8fde5490288b1c994eb3d15dd64109207aa330a1eb99b8061555b30addf7e5a1410b22c1791ec979e9f1e359fe67bdf1bc331b000", + "e44ee5d90f91ac62a4b08ca7adabb3f4fbf242fda2c60db76730788a1746012517b7e656078c36e6d2aed28bfb65cded94d4f776c7f3e339829668e2d24fbb8701", + "684052ce6947cf8ef9c661c317136f087f8ccdfaf8b9e9b309c6e61ea43ae09808fd5a912a45e6ac71e4833d7089e1b610dfa1a67e2e3826722a145efe7ced6501", + "673ce36127a13f491044262e8d238aaaf5dc806bed61d7999a262ab215aff64747c2440e532d8bdc6b04b889aa856e0e53f2fd1bb2bc514854e46cda7fac379f00", + "2ac98375228432233fb3d2d3e3e985bef2e46b65a906300f759f6c5588f30d21656385d9a48412387199a44eb21ec2a9da4434e981c5b6e1dc2740565a381eb601", + "acba6f64c54168e9d0a3dfc01b52326a2c2f18d3af10ca6ebbac6bfca02064147887a6cec9613dcbbcb909de55dd5870561c4d6a98683cd1bd34db16c93f6b4a01", + "9b0b680d306e8f196fb882c8ad3fe3591486b19487c5ff7c5ede4a9c86809da6586d28e62bcdafe4bf6d1f48b0714e8f876fdc9bee9c5a946db34d095fb66a3501", + "5c1a56d3fcd09a8d749ff6e69eab86c3a850d9ac4cd4aad1e650c7cf83545cf22192288535eed8d67b1bcd49ca0c4d3ec950b1eac2d1ebf52d052ad46323f76401", + "4ff012ec8b1e136eda5d7638e407985ec6ac20932a60cc9f6387cfbd07e5eb8c6b9e991876f1230008e76b9881425a10f74f731bd67b95c44fecb7239cc215df01", + "15f1b3110921e7113a3e2c0153699c4932189a9f11e08e5e780b171eb6b3dfff5ef5c2b283ef0883ce128c32323efe8ae4aa240d70113ca0103870842e65482701" + ] + }, + { + "address": "F5b64tWsytrtoTB7Gka3Y8gL8bcozi9ZwC", + "secret": "c9da0f4e53c8299fc289eea70a8204053f8e2d357496bf37673b7a2a09606239", + "public": "0249ea059bbf219d4e5fa61b68009dcf568a4c3b8838281066098c9c70e6302e14", + "signatures": [ + "2b6a68e36f23bb4e70e325b74df03af03507c617e1a3f2f3d9ae9de51684e69502a1d4b9d4576a58851c3c30dda5098fb5e483c387a6791d220ae360fa46db1101", + "9bf76435655fd5517083d56112a85d6390f2cdb29ef0083b72f05fc80513553d3855fd859c062c615197f85fa6ea2f64df0a08c05f6fde543aae1e5b06fb070001", + "b4b3d577b3f634171ff462e6ea1a5d7847095c9be3afe56e1ffb5910bdaf5993776a79fb0a11d31af5b8ad03fb82dd60852da5db60812fcb66c430b76e6590c900", + "aea6e04924a561febd89188d0735fccbc342d23afa7d4874a3fb7deec80e38902c85c386e2319bf165b28e07f8f2e5bc65d53124a2e18f3664f14f3156916cf000", + "de5a68867d648b90fb090b366800a458eae988401778295d6737161bc2cb403b7a6c65054ab8a63de5da6b78017dba1fb5225c6d49fa02b0a884c8139e00b6c601", + "b00a6f1b743f2ad3efd370c33bd763924615e06d9640d7473183822f8aa6be792dfca685286084a2d88027079a4eb510c49192da0355217685900c644c37a29300", + "e2c318045aefc3099a25545c35bad5c8b34a9566b5a5e3813a3ca0b9c82698e27209aa93d369b788d8567a9f77c47796060895a566c961652b606f40e73735ca01", + "707e73c79f3212dd48e2d14a807f59a4ce2cbab2d60f9bfd213f3253b4b37c962f66e7b22e16633bae7c6fd4cd25489f731b99f6a68062532f509214ca7593ef00", + "acaf82b616b71700291f97934baf5693a018f685594af570ff51e6b19bb93238174b5d5bd4fb70e7ca1c7a247b795817269e4a93c399d2e55065f9851e0c6d2501", + "7a6afd718dd5126b7a238933f0ab66a93f68bd83b0e233698706662eed4d61486eeb68af6bc69c63f30a6107584a302dd2f3d404feb35868f155b83939541e0800" + ] + } + ] +} \ No newline at end of file diff --git a/src/cipher/testsuite/testdata/seed-0010.golden b/src/cipher/testsuite/testdata/seed-0010.golden new file mode 100755 index 0000000..136b7f2 --- /dev/null +++ b/src/cipher/testsuite/testdata/seed-0010.golden @@ -0,0 +1,175 @@ +{ + "seed": "58OY1/IoLeJIrfYkiwmSc3IbtSF/XwYHExUdRFPL0G4=", + "keys": [ + { + "address": "2SrJiwmXj5RmsN9DzCVzNFuQDA2ps8FToiE", + "secret": "646ffabadff7a510e36d37a6559b98c24956a62275bc6ac80fb2597985c1557f", + "public": "022b32f9b0f70ed57f356a49faa999f5bfc25f6f1863db2ee5fd2aa1cac0592877", + "signatures": [ + "6ca2305b555ad4757be898041a936b5ba013a0213c24b37abe5dd6586c1dd3e3718f1e38c72481c39d4733994ef2db85528d4307162923427b2cd3fdf67103de00", + "c33f4665e035ca0534798d866857da38b37fc7aa24ce2828d9639bd0cb88ee6e14fe150b016e1cd842a6056d2093629eb272b13b86afb71771dd8064f65a8bb800", + "fc2377a4be18e2c53fd277b136117468b7c8fd12d3abbe6561c210d6c29c56ae3afb4508d5e74ae75c697d51d578458e7b7310a6bebe4c97fbd51e9ab84f7fe000", + "40637de52a5d28d87db456c85b3854a4b73865fa3dacead32bf5d3d24349aef0680735f2083b1c4c0dc10d2f5ff8b84189ecf3c196ebe09d479587334a56145601", + "1265e4ecaea5ba5e80f7125e28fcd6a228e0899e53fce3fe5fc1087a1c931f28710662c01c1986775761f0ed677c5dd663c43b8a3db4e7c34414ccb61fc9daa801", + "02e14ddc2c85600f466297b5938bea2fce271dee37cc4e54c812c4040364e7bd3a57b5ce9839877b7742695c55c85de569aef2faeeac234cfda4246a0d21c0a801", + "614aee033e979afe8cccfbb568dc4f3b1fdb368e249f913ac12a3cd26d4746a52e87252b156dd3c572e1eec02bde554c0d5afb0ee37648aef342d8a401f3332901", + "79e3de5d0b0996e66cb2edc8a683a7ac8aff4a79ec4afab42fa4ccb4bbb0df4439c9e0ec9acc390c9b0c639f6be1d61b7ab9942113f9adeb1642724515cebe0b01", + "8c6ab61c14112eb77e0e3dc0550aa47a14c88bf51b9f3b7bdf40ee666330ab313787b54300c2f405bcca00f7f8a157426cb8b87984e091ba30c095704fdc27e700", + "c30dc8967b5c2fd418e7cebb7dc5cbacc2694da4b80e3fec197b8a8b54a9c517383a2cea7a07bbbc166f53e171d58e3a971e618c62e43a86bd8c529fea53376d00" + ] + }, + { + "address": "28EpfFX9Syr1E1DTtufp4rt6KHDKWJLUCzw", + "secret": "8597cc7736e6a039267fa3ccba8eb73360ab492282026ab8b73328da061d3256", + "public": "0276f2290c48973bd92552fbad3a9ac4ff433a8da13e13beaeaab95f164edb8ef8", + "signatures": [ + "403e2bf565bd10642a72ac10ecb868dd54f22413f1983c5dd8352ea3f5af2e3f660f790c200fc38d135f61c97169c7a6a51d77d00975e95598d47c19b7eab0c001", + "4d9011b95d86cdfcb867ee695d40417b96a1030afef22682874879a9a55b6cb108afb8963d5f89344e396b60e17ef758813a6ec4c669786184031e814c417e0801", + "7505f810db7cf603f5f370f0442cfb15211395fbcaa1876eab3015aa96e11c3d52b681d3b8758b878cd577c984bff55492ffdefd8979d28e355950fa7aa4aa3300", + "9b969732d7672397c3b85b9279a8c7e633f3d59446824ba3c77360c0a1f2d6f315d548aa2576b61285388d6fb1d6f33815cd746b85ab4baec28d3aee3ef06e6c00", + "57c1c7d20cabbf967a68356f806115a1e900211159a2a40dc6fa3420432523977443cb3bdca94911c04f9a15dbe87cae661a085aec6044e9c561df654449f36f01", + "54189224c9c02dc272dfb4474a802083e1ac372350ded7539db03bf60ab918187a2b63a8041e79e0b8bbfd2af09417f71f553972c914df8f956cab8cc4eed2a801", + "a5987f6d62982652f06f5cebfe4a83fe8918566100f9b28b65478a5100164ecc2b366f92ed006321e1300931dca8fa5661a906145fb769ea6351dee3b5215d2900", + "ead667dc0d71e3e6877da08dfa17720e80e372bddf067a6783ff723a37f004ac675d15229369aac75bdcf1875cd548b7b068a41d04b50cfd8bc5b07ddbb13d9e00", + "3dc279ce62d0ea023e13007c737635f752787ca6f5268d12e6347331eb0edb274d702d485599954ec99cea8556aca04d538c87695c2c1c9c1551288b047486f500", + "d5c31767dea1490d951cadc4bf1472ec341b83b3edcb397eb3281af60b48ad4d68ec1d3a192d05af7883a19eb955e2ce4c30db6a7387a708bb41f33d9300ac5f01" + ] + }, + { + "address": "2j5u9ieaqLQjoEru9V9sMqLPL4cncKJfpoU", + "secret": "720a01fccd31cc08832df230316cb89e619113d951475c97b9dc350122036cd8", + "public": "03ad8eec89298721e6f6da1ad420fe178e4e37ba6c5fbeb707375380454eda84b6", + "signatures": [ + "89272a6545cd40117f89c7e18594e5794a72445fb45752d64f9a1d606f7e69604992268952b136b192c0dafab15b9bb322401b967f18536f0f5b78c7ff75f38800", + "06b3fcef37e36255613a3805d31ca5753c1e11ed1c554d6c8c4676c78fd9c53b2a1b0d19ef37b7e8062a65d5e982fec61fd5097d49fb5198c376e914571623dd00", + "82359df3355f1823d03c0aefa5fe9f04f208cd7105f9ea310c615bc6a857f2c153f68e8b1e2ea4fc952c1dbeed02ca31a5f425aa23234ef31a1b052ab177ea1301", + "72ed2078e5bec03162cf64aca6eae363aaae0b402324dd74e7ff630f0d48c67d6e781d0f2612fae060577d827fd7987e4a0d6b6254babc3744c08a98ad85ee9c01", + "fd6d6acb517bf4b27cf1e6b03bb1f2b4213e883c4174c56b14c2ff429aace102214df6bee50df0b5707cb59e215eef0a2138fdf3d94ae01537b03ad4f20d279d00", + "491360c4d4937e2a1e9523051909639a8262bbdbc77becfdf82dedff9fb9c7710b7ac8b9b97aee6267fde5635d247e1c16a1a26a82c9727778c6eaa5b7e3d50e01", + "dc6468ceb3dd16c717549a68ce0d03cc3394891e9118663aabe2de125fea621c16de79f0864fd44b5e23c2058ed8f8e65156abd27e89bea63627afb4487e7af501", + "22ecb0f1e4b39838cb386ff2c705c22b35ee0a84d95ee5cf739a97d3a6bf51be245ae7392a89d05def89a5075b3590d2ebccbc1458371e5cf5a4aae932904d8201", + "806050af0d6b5d2b806f06927438981c648ec6ee3469fae4cfd4d64a31fdfbc57ea6347828cc15ad8092cefb59a738a61bdda7e823282472a688ec288da08e4c01", + "c7e31a146353e1273a1c0f5ba4205e743ed67da7515f1cc052d2c0c24e86445905ada83acf5ddf68b9124c8edb149cf96851f01d41b8a8515d22f0ffb8a86a9101" + ] + }, + { + "address": "2KoZQBUD99gg5jKrZLLycqJvjMvKFf2APLA", + "secret": "5a04368aefae7f463f31da6955d7c08249460e3c90da76936b641f25f7c6ea91", + "public": "03ee8074e5474b0712267b0f66ffc17f42d130523ff4c3f78217532540c89f4609", + "signatures": [ + "aef0feb04a3a4e4318282c0b8d2bcc1f658470be785aa4a3639117035f7b5f357562f1167230ca14aee019f8c32e9c072299a8918f5a76fed3c3f54a40661f1501", + "ffea567262851e00794d58ff9bff182a19fd97862a4e0dba414ae8681ac8f03d5396550c2a867def5be17f5e38296c40c8b6a994870604ccccc2326c5709062d01", + "3d88280db03a3ba9b15929f0f9d6339c835218e60e82780b9a1becfdf674550852149d4e068f2527ae425d280bbdf70bd37ef98ce2dde4d5d3feddcd87497c7a00", + "d53f2a4c346b8c007530beb4c1a28904b0cfa876325cf9790489959f82d4ad74035d957cbbf335177912ea7278f45bf86fa8d47ed9929d78d43da6a9637bd1ea00", + "b02fc80ec2869131159c562df839971b3285ea9dbf3b1279835ade6ec0fc2110228eb443d743bfd1bca24f20308d6034f1a5654f2dc81df537f761aef1234a7701", + "bba9e94d716a041fccdd03498047d9ffaf55a28b1ba905915464255af0b883d03a109c7afde2fbcca2ec9bc2f9bccaab9e07898017d40882fd6be9d12423825b00", + "9b557e95d53b22903526cca3e17468ab029bcb478708ad88c3581f0aff4fbaf4328bb3839134933f3a252432f01573e3f8111f0bbac6c61528de302abf286ff600", + "fec6d86d9efaf625b18c0f48ac7856f1825dfe82495c167a0f44511e9cb52b5c1ac4bd6a5015feb5cabfd39a62f48da6d267da23e5a49d6a1d66c34cd9588ad201", + "1a3ad7d2f56ed736cfe7db24673bfd917bc582b3a63132828372da1def7ae91f5cf322f8d35aba104eb71004658ded222f6411e36079a17a1c7d99473bf2a8b001", + "e3faf295d743fe5e38c1517b1437bea083c4908004dacec1177e410dce94278a4477cbdc751cfb1497a5cfc9c6707ee47bd1e34fc35e0bd27411c3fe69e8186f00" + ] + }, + { + "address": "2YUgePgEgTrbACq7vrna1NXVGUzrBERj4dw", + "secret": "5674c557050ac9dd67cebf9629b9af676024f126e3a52e856fead1ff51521c06", + "public": "025358627a6f01a52f446cc7b643b813482ae3077cd3760385b6700d83def6cf39", + "signatures": [ + "d807b670e83a1dd3424f916a7226d44bf3c9c8cea11f6fb37fe8e96b031f95d52fe48d0a3649e7777cb003a03890c127020bb698dea5e4eba0dd4c3beaf289fd00", + "0437e62986f35dc27782a1697e282da1a7ed39032ae01bf66ed61fdca42e87821a8939036ee91a16ab7bc917d2aa74fb059a6961d8265f98fbcf209e73c3f4db00", + "54d9401e1d6e12f7ce81223ab450134e1a39c7a2077de5ce121156fd56f345f3240cf8b9803df2bf7f105d1db73d8aa1e275dc5926e9340d9c4398f9b8af929800", + "8f052c5c4b6093a88bd24c80d1bc783945ad34b71b00ddc3f5bd6c948419308954e20d8ad22636c082ea536a431c96473531899f2566b57de9d038749e71fd9f01", + "8ecf28f58913914851d5fe5a1181ae665a7d536acd8e3cffd55e1e37e1bc1b8946b1dfbd091b0945dfe944123ba3df27d596dd7866169f4878614cca58b0f4eb01", + "b2c4e3e9bd832da27a0766914652b48a3b93e66cdf558343a4fac554844b99da27d9091693cc8fc5c89f769b870f29cf56b855f29a2f7ee1130b1f51a4d11f4b00", + "2bb5c25e4cd8ad7353d64f5e3ad8c23aa213c71c60c14a207805dc03562b8b1928a1f285fba00eecaf2fe00825574c7cee09cc3eb06a510a87fe3327a2ed808100", + "b00bd2eb6cdc38d9de63fb3ac5f249cc1b65d0aaea101a096d3434563a930a837aa7bf3cc91d7a28c4fe2a0cbacb20e9cf16ddd0e2fd305053c69d0962ad434200", + "1443132e898aef931e53552c74e87a0226227a443dea6d656d02e41e2d03a27749c6f2dc39e0f1de5441d2a828f66b60c598c197bc6a32e0e670143e57802cf200", + "ee030515f8444a3f9abd4cf883fe0d56ac35e44e4a17f3a91619bcd9892649f31ecf607475aaea87b69bfb25fdc6f785aeba8c3f64eb20624ddb18020fcb8d1f00" + ] + }, + { + "address": "dVMg6FSsHo191yyMzvKAu8jNempZbKnkRS", + "secret": "d5c59918edbc439fdc9237ea652127f3f83722895e07b82e5a5094fb628d21fd", + "public": "02697d387c359d57c492f24403a10e2ee47e54866ee381cdacbb5b7cf8ab6e1b80", + "signatures": [ + "a7e7bc206006583d3c9fcf9380c3cc9d3c405eacca2f65f8fdf1ebded73695824cb75bd9cbcd7446c19a45e907e3c3ce2bfc84d4dbe890280d9a41640a1fde7100", + "0e68259177452e77fe363f86c8dfa8f4eda29cb75400f05d1353cc5d7cfc64a36aa54a266635ba55110141a66a63c19429650d72a17f57ad18ccdfded25a264400", + "331e14a445fb114fe7960de531de1612aca3d6701dabcafddc155065e1f9322247a19bf3ff1e9804d4169e6f295215bf41642ac095a6e540e4161b44d660ea1b01", + "69bc7a31bda0c4600e66c7ac02dcfd49bf8ea99cd6f8aec851882204076b2eaa1457b47038230bbd6dca6ae72c404b73e3e2ed4fbe642b5ac9a22c214788363900", + "951cb4a095b98c49470fd3ad7befda82093ce231623ff346947e6eb078f3114020fa56918d334fc29ff724b794a7fe3698eb473efa95c053cc43b1a75c069a9201", + "48fad2b7d86a9b8b7ed87c506d7957bc32c1df1a56af9f2f2f44a382f182a6277766c39ef39fdb580a488393b90937ee0217708c3266f680b62cc980575957c701", + "40ba88d401efc157039d9b305a0ba136d7aaddf9fa97e3e8b11012532eeb8c2f72b910e96029e6a40ae73f15949c692770f95bddbbaebcbae1df67d6002f5a2a01", + "9e5889ba9f34e0dbd4e9dfa354533bf005ead72f170c00b562bb08fe40c7f6e0323b94e84d55637e5dc9b6f007240fc4fbc3bea7c8632aef1b6d10fa9c68d32400", + "7acffdee6552639aa7a1960a0c80366e72f28e74826d17cc4eb2804d516c57f67d2c015df16f5ec84b46963925b53cb3b9e8538360c66a334adba487b4a065ea01", + "11131aa556119bce1540e2820bf21925e5ee2ad16057a6ed3aca1ccb600697ae449bdd0b266838edfc8b02c82b01158035b041c3c844fc7995cc86ff5372749701" + ] + }, + { + "address": "25NJpLNrTci5BtBtLGzGzeU2ABvT9Nw4d3f", + "secret": "0d3ac7f674c3177de5555a6a0e7d97eca63651f686942111ecedbd00c586d03c", + "public": "02c18d3e9b15c91247a2c71ce8c2e27e1b008de4d17ffa388d34b35fb27f3ba1a7", + "signatures": [ + "459d02374af7e0547df8d3ac93bbbf477d9b13add08cea4a2c4a9d55e04bb9501ea2f10c8fc68cde1ad2539df321032fd2f2fe56b010a8afac91f65d63c1ab0900", + "da1e742628e40682df13b888c7b166220638af152120a18fbc3e41cfbc4a2b8c0fffda7514e1c84c0f9211e0efff55ef7699560e64bba76adee30f341f5edd5301", + "da1893f530c4fe952d2da3a56d7b5f40e29e24368c00bea9c6d1317287f646fa08d251e69052b97f7c1d4033936b00ade787de33e6fa8ef939ea4412fe96bfdb01", + "0b782c5ad45598c6678b11254821637c3aaee8c4677dcb38285793337df838924160101e905f89502d30ad3761b4894dad68b7d2601f949301ed5ae4079cbcb400", + "3355727fd4fc2342737c86fc1c01bff49cf1afe258a927064edfc48c2445582d1415b3c74fea1ad22c5d9df4bcb0a65f6e633b729dfe088b29041a013e67db6c01", + "c493605d78ca352ae5758c7b56e9d6b338411e2c78e3cf244df3f5182d55f8de32c3a8464e00de450320d6f62cbbf00719d34d9bd6262cae586befc2bcc0601300", + "833b50000dd4564746e3dd0a90023f5fc74eb443795d2f986a568196fd849fc41751145da01b8a6753867184e02da5e023b12b1638a06bc5e2821afce12c6ee200", + "fb702b3cfb5c4225e14a9f9c56e9959d6f73ad6b8cd17b127187127665e9ca035718e5c139fb2c495425bea29c9c65b2be97f4c642b0da60a37bd10d717ac9f900", + "2dedc42424ffa658049e251c9d0a690a31637f5353e5d1a0d423c1efa3c361fa47c54f642f1876b5089f7c059796579f4a556821f3aa2810678face35c8fe22401", + "6ab859b8b4cf7e047e1e0f8134655aec58c04d0ed86b909d4290c8c335fc9816591fa8236258144b5c4b44c8ce746a11b4e1cfb1b5a259c2ff3e3beeafa26c0c00" + ] + }, + { + "address": "21ryRMcQ4jvpDLv947JhNYFGhkBdPfTa7Ft", + "secret": "cce2107186b602a42f83bdd37870457404daf2d327c83f02422a381628d2350b", + "public": "0240ae55709e29278c3c5df3eba50d14caf9ef73cce3329c05c56595384e801a81", + "signatures": [ + "f59f660e8a14a0ce2b5c866a077ba83529b466658293067c6d16bc3ca1bb512c1cb4923fd4011e23ab572714b7dae244cbbec5518570ca3978a04902adcc183f00", + "e4ac4e486160881d9ba88c70a3aec2c5b0df4e56b1dfaa8212be1e5ed52a2ac36495d35e71791418948689e551886704fd669b2981edb13a8b4b2f385ad301ed01", + "517f2f1532c4986176854141b4a1fd4da24f1a7824a534e1dfa7430d6c6bcff66808f8bd72223a4a8caaf636f4408744372bfe2bdab86eb7c86f862dca40a53200", + "9d597dac44c1dae6b8d940ff6fc61474f6109b07cd4cf036f1c04702c5de5c613b09c0610da9a80f386d2dab714d72b804b0f4404a59d03f8fa63dd9738ed1d301", + "67b3708f680fc77279d0c1e7e65ee6b009223f83d63be3cf3bd2f050110222ac7b069b8fa6fe51bcd18f8332e3696e89ed759eb6d3b01f6a47de09cf1f929a3801", + "c6ba13f4754a3378272eb6ef0bb8543c1c821cbac252cdb23ea3a5687e4672ab6e9f9ebba8f77c2d0805f4c72f81455ae5e91d5669c48cedef9ecc0eb7fce1fc00", + "9db0cf266b02ffc7715d53796c871f0b6cbd221d1d8e6da6dada54198348c4c446b8c2a77ae8f2734ef4209caba8173c86fbe7ea4393cc53021e1e0ff7b5940d01", + "2eaa229d2fddd9dcad651f375202e71168be4b350a1e897b1fe2f27f8660e60131129a497d90254832045c830971578e0f7c1c963b75ada05e7589679fa23c9901", + "36a806424d934f5200b94d16a531d8375bd75183e72b9fc060b3868610930b411e298110ce7d0fd6a3325d83b896cd224c9cb293054553b7a7b3035aaadc39c901", + "5d660629134419b57f48ffea9756105649061067178059caab7c4d285e6a4ba572565e9b7aa7fc8700536e25d7c0dc04ebbe6d50647af58c04e7347d9b3557c601" + ] + }, + { + "address": "2UpJ9CTUUzbSjSfByhiYG7TDuHpyuRCXmjN", + "secret": "01776da713f58690c4ba654afa403ee43527a3697b32c898164b1739b1a8307e", + "public": "03b8f7b20aa8cbdb7b40de6426fcb4a5eb2517dbfbc6e532ec1612341b51a234e8", + "signatures": [ + "7fc7d6a44b4368ee439be43108306c1b78c90f401b7bf5806dea4793ed5941fe67c3fc8700751e21841c16b37f1a22d7ef354b85b39e73dbd38dac6c1d76dd8a01", + "5e634789d9dd8748ce83b5a173ec580a2e2483170f10e391b37e71fa1a0513d7407089d0e3ff410d122518b7ccaad7f39d3e6d87fc731259ab162e2e65eb2e3e00", + "15ba0d2d44d9ba95ff5477275b646d6fd129454a364feccc96eadda27666c2a9419453e2e9fe6890037dbc14d347813ba3cac14bdf11b33dc388466eeacacaa801", + "de5a67850d94ad5183c032b75255de8d125acb9ab613c3a678aa4b0bef2205fb0067b51ba705b25038619a4d99be5f9b6144beb0e758a070e0a5781d1f3d793501", + "60f137a5017662523950c544b23334d98f4ddd044d9ed1d9ae529394431f00883bb79088b7fa127a679a2998dd1bbec57aaa1e9abcb803540e520414ce69760b01", + "273cad4820707e6af38d07e847a579f297200cb567fae62c69ca68cdc0d32c5d7b365b2e8c74d74d802874fa98ba3d1d342246989d56eed0d876e4373cd82a5900", + "7ccf9b45d6368690c145d62acb788b8e1d0c555e8a8e3e3d396ba7f3cdf9fe7b3bad3bdbbc3bf26f5f07a9d7cffedd5f54fff4d06f7354fe60baae6498f0325801", + "c38ea111a10d599bee668edef517315c5a3a960fd38258578033ff9b8a92b9c2443e5dab03a7fa5596280b5aa8fda6c6cc0feb5c921d8cba90ba897d0e61c3b800", + "1268fee5962b4b33fe144373ecbbcf5a4524adec330e46144de4d5de7d7f45f64f26531869aea55eff07b8ab76a6b4c27e7e0582bc5bf2d0e31cca5c82bd60f500", + "7bcf7fd288b4f734ff16fe8c49682997126350fbd5df9537c009995a0859f8ce30c4748c4965c144c415af1f8434e4e2ec1023ca00cc793c55505c7fb4e4f94800" + ] + }, + { + "address": "kwyudpCciG9nTC98vz8b3qrQM9DP2pn9wx", + "secret": "3bfecb42d2aa5f86043bf61ebb1ffcc52c3355e0cb5866cc6d4db80d467b5387", + "public": "021d7c5180dffb1d3e65a341525fe952d65627bb1e4d881777b278665b138419d1", + "signatures": [ + "d8fd20b09ef6f55bf0d668e9d70c42906c54551357122c363d1c8dfd427cb1fd157a47ba228f011e4654b94ac08239ffc955174c0b3123cd445c964ee81e3d3f01", + "40b439422c0be6b652784484e3f760dbe243d2e0639cc2d0b26405615142a3625c1bdd3b088e1444b6f350a01c3ea58439938d01dd0e5b7c840c81f47722b6c601", + "b79308cd0df36560badef6f66fc137a98d0ec27bd5be97b5b83ad94b7d26d94471c3b1d8814008c41524a204aadf208bef1deec1b4019720d2a751455b9d1eea01", + "5a286c751257180a33677d22ea8c66cb457436dd54babe3cdebdf932f6da769b24f99f6cbddfcdffb2d4b5a810431f412737d5bfb9f0de42808d926561b557f301", + "bd066317a372c59468c72f9aae202fe7a5f2f954058ced864b31523961068e0a1bc7e10fcee9ec16cf44580e4d3e7f6194b74dbd6bcf4cd1c5a35640b56293f601", + "cd6fef0e0329f7c11a1785c9b0788ba8be92a5d063486872ab8e85bedd9749995166dde4562ceab241e97f9441e9bb73c54eae7dc3eebea7cac286955ad9016300", + "a5656209f4e0d02c32c38322296de87bdd9688d560dd1d46025929f9a8adc3dc7cbd5127f06c58caf405c8e4c8add84e7e9319aef965e85f7c658173001b8c2f01", + "f3f53b4e7def065704eaf65ff500d33b0522524eb240ecd68d149902334d653a25ec6be35ff944478a852fbc74657d4c6e1c3caef0a525161dbc1b124920cd5000", + "14315ad0efe67c42a7c78da6b84709b22ed187d9417fd2639c88a8f5badf411b0c9ff5ff0420c05d63eb55ce98c743b8e74f73d100cf236cc30b4b397e25a13a01", + "8cd16c423b8ddb65d690651975404a6ead1c8bec450e24181e6c1f1ff914313f2744980e4a3f37977b91133c0c87430156073ef8f523a160e3f266eaa9d4e39100" + ] + } + ] +} \ No newline at end of file diff --git a/src/cipher/testsuite/testsuite.go b/src/cipher/testsuite/testsuite.go new file mode 100755 index 0000000..d4972fe --- /dev/null +++ b/src/cipher/testsuite/testsuite.go @@ -0,0 +1,264 @@ +package testsuite + +import ( + "encoding/base64" + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + secp256k1 "github.com/skycoin/skycoin/src/cipher/secp256k1-go" +) + +// InputTestDataJSON contains hashes to be signed +type InputTestDataJSON struct { + Hashes []string `json:"hashes"` +} + +// KeysTestDataJSON contains address, public key, secret key and list of signatures +type KeysTestDataJSON struct { + Address string `json:"address"` + Secret string `json:"secret"` + Public string `json:"public"` + Signatures []string `json:"signatures,omitempty"` +} + +// SeedTestDataJSON contains data generated by Seed +type SeedTestDataJSON struct { + Seed string `json:"seed"` + Keys []KeysTestDataJSON `json:"keys"` +} + +// InputTestData contains hashes to be signed +type InputTestData struct { + Hashes []cipher.SHA256 +} + +// ToJSON converts InputTestData to InputTestDataJSON +func (d *InputTestData) ToJSON() *InputTestDataJSON { + hashes := make([]string, len(d.Hashes)) + for i, h := range d.Hashes { + hashes[i] = h.Hex() + } + + return &InputTestDataJSON{ + Hashes: hashes, + } +} + +// InputTestDataFromJSON converts InputTestDataJSON to InputTestData +func InputTestDataFromJSON(d *InputTestDataJSON) (*InputTestData, error) { + hashes := make([]cipher.SHA256, len(d.Hashes)) + for i, h := range d.Hashes { + var err error + hashes[i], err = cipher.SHA256FromHex(h) + if err != nil { + return nil, err + } + } + + return &InputTestData{ + Hashes: hashes, + }, nil +} + +// KeysTestData contains address, public key, secret key and list of signatures +type KeysTestData struct { + Address cipher.Address + Secret cipher.SecKey + Public cipher.PubKey + Signatures []cipher.Sig +} + +// ToJSON converts KeysTestData to KeysTestDataJSON +func (k *KeysTestData) ToJSON() *KeysTestDataJSON { + sigs := make([]string, len(k.Signatures)) + for i, s := range k.Signatures { + sigs[i] = s.Hex() + } + + return &KeysTestDataJSON{ + Address: k.Address.String(), + Secret: k.Secret.Hex(), + Public: k.Public.Hex(), + Signatures: sigs, + } +} + +// KeysTestDataFromJSON converts KeysTestDataJSON to KeysTestData +func KeysTestDataFromJSON(d *KeysTestDataJSON) (*KeysTestData, error) { + addr, err := cipher.DecodeBase58Address(d.Address) + if err != nil { + return nil, err + } + + s, err := cipher.SecKeyFromHex(d.Secret) + if err != nil { + return nil, err + } + + p, err := cipher.PubKeyFromHex(d.Public) + if err != nil { + return nil, err + } + + var sigs []cipher.Sig + if d.Signatures != nil { + sigs = make([]cipher.Sig, len(d.Signatures)) + for i, s := range d.Signatures { + var err error + sigs[i], err = cipher.SigFromHex(s) + if err != nil { + return nil, err + } + } + } + + return &KeysTestData{ + Address: addr, + Secret: s, + Public: p, + Signatures: sigs, + }, nil +} + +// SeedTestData contains data generated by Seed +type SeedTestData struct { + Seed []byte + Keys []KeysTestData +} + +// ToJSON converts SeedTestData to SeedTestDataJSON +func (s *SeedTestData) ToJSON() *SeedTestDataJSON { + keys := make([]KeysTestDataJSON, len(s.Keys)) + for i, k := range s.Keys { + kj := k.ToJSON() + keys[i] = *kj + } + + return &SeedTestDataJSON{ + Seed: base64.StdEncoding.EncodeToString(s.Seed), + Keys: keys, + } +} + +// SeedTestDataFromJSON converts SeedTestDataJSON to SeedTestData +func SeedTestDataFromJSON(d *SeedTestDataJSON) (*SeedTestData, error) { + seed, err := base64.StdEncoding.DecodeString(d.Seed) + if err != nil { + return nil, err + } + + keys := make([]KeysTestData, len(d.Keys)) + for i, kj := range d.Keys { + k, err := KeysTestDataFromJSON(&kj) + if err != nil { + return nil, err + } + keys[i] = *k + } + + return &SeedTestData{ + Seed: seed, + Keys: keys, + }, nil +} + +// ValidateSeedData validates the provided SeedTestData against the current cipher library. +// inputData is required if SeedTestData contains signatures +func ValidateSeedData(seedData *SeedTestData, inputData *InputTestData) error { + keys := cipher.GenerateDeterministicKeyPairs(seedData.Seed, len(seedData.Keys)) + if len(seedData.Keys) != len(keys) { + return errors.New("cipher.GenerateDeterministicKeyPairs generated an unexpected number of keys") + } + + for i, s := range keys { + if s == (cipher.SecKey{}) { + return errors.New("secret key is null") + } + if seedData.Keys[i].Secret != s { + return errors.New("generated secret key does not match provided secret key") + } + + p := cipher.PubKeyFromSecKey(s) + if p == (cipher.PubKey{}) { + return errors.New("public key is null") + } + if seedData.Keys[i].Public != p { + return errors.New("derived public key does not match provided public key") + } + + addr1 := cipher.AddressFromPubKey(p) + if addr1 == (cipher.Address{}) { + return errors.New("address is null") + } + if seedData.Keys[i].Address != addr1 { + return errors.New("derived address does not match provided address") + } + + addr2 := cipher.AddressFromSecKey(s) + if addr1 != addr2 { + return errors.New("cipher.AddressFromPubKey and cipher.AddressFromSecKey generated different addresses") + } + + validSec := secp256k1.VerifySeckey(s[:]) + if validSec != 1 { + return errors.New("secp256k1.VerifySeckey failed") + } + + validPub := secp256k1.VerifyPubkey(p[:]) + if validPub != 1 { + return errors.New("secp256k1.VerifyPubkey failed") + } + + if inputData == nil && len(seedData.Keys[i].Signatures) != 0 { + return errors.New("seed data contains signatures but input data was not provided") + } + + if inputData != nil { + if len(seedData.Keys[i].Signatures) != len(inputData.Hashes) { + return errors.New("Number of signatures in seed data does not match number of hashes in input data") + } + + for j, h := range inputData.Hashes { + sig := seedData.Keys[i].Signatures[j] + if sig == (cipher.Sig{}) { + return errors.New("provided signature is null") + } + + err := cipher.VerifySignature(p, sig, h) + if err != nil { + return fmt.Errorf("cipher.VerifySignature failed: %v", err) + } + + err = cipher.ChkSig(addr1, h, sig) + if err != nil { + return fmt.Errorf("cipher.ChkSig failed: %v", err) + } + + err = cipher.VerifySignedHash(sig, h) + if err != nil { + return fmt.Errorf("cipher.VerifySignedHash failed: %v", err) + } + + p2, err := cipher.PubKeyFromSig(sig, h) + if err != nil { + return fmt.Errorf("cipher.PubKeyFromSig failed: %v", err) + } + + if p != p2 { + return errors.New("public key derived from signature does not match public key derived from secret") + } + + sig2 := cipher.SignHash(h, s) + if sig2 == (cipher.Sig{}) { + return errors.New("created signature is null") + } + + // NOTE: signatures are not deterministic, they use a nonce, + // so we don't compare the generated sig to the provided sig + } + } + } + + return nil +} diff --git a/src/cipher/testsuite/testsuite_test.go b/src/cipher/testsuite/testsuite_test.go new file mode 100755 index 0000000..7d28424 --- /dev/null +++ b/src/cipher/testsuite/testsuite_test.go @@ -0,0 +1,76 @@ +package testsuite + +import ( + "os" + "path/filepath" + "regexp" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/util/file" +) + +const ( + testdataDir = "./testdata/" + manyAddressesFilename = "many-addresses.golden" + inputHashesFilename = "input-hashes.golden" + seedFileRegex = `seed-\d+.golden` +) + +func TestManyAddresses(t *testing.T) { + fn := filepath.Join(testdataDir, manyAddressesFilename) + + var dataJSON SeedTestDataJSON + err := file.LoadJSON(fn, &dataJSON) + require.NoError(t, err) + + data, err := SeedTestDataFromJSON(&dataJSON) + require.NoError(t, err) + + err = ValidateSeedData(data, nil) + require.NoError(t, err) +} + +func TestSeedSignatures(t *testing.T) { + fn := filepath.Join(testdataDir, inputHashesFilename) + + var inputDataJSON InputTestDataJSON + err := file.LoadJSON(fn, &inputDataJSON) + require.NoError(t, err) + + inputData, err := InputTestDataFromJSON(&inputDataJSON) + require.NoError(t, err) + + seedFiles := traverseFiles(testdataDir, seedFileRegex) + + for _, fn := range seedFiles { + t.Run(fn, func(t *testing.T) { + fn = filepath.Join(testdataDir, fn) + + var seedDataJSON SeedTestDataJSON + err := file.LoadJSON(fn, &seedDataJSON) + require.NoError(t, err) + + seedData, err := SeedTestDataFromJSON(&seedDataJSON) + require.NoError(t, err) + + err = ValidateSeedData(seedData, inputData) + require.NoError(t, err) + }) + } +} + +func traverseFiles(dir string, filenameTemplate string) []string { // nolint: unparam + files := make([]string, 0) + filepath.Walk(dir, func(path string, f os.FileInfo, _ error) error { + if !f.IsDir() { + r, err := regexp.MatchString(filenameTemplate, f.Name()) + if err == nil && r { + files = append(files, f.Name()) + } + } + return nil + }) + return files +} diff --git a/src/api/cli/add_private_key.go b/src/cli/add_private_key.go similarity index 100% rename from src/api/cli/add_private_key.go rename to src/cli/add_private_key.go diff --git a/src/api/cli/address_gen.go b/src/cli/address_gen.go similarity index 97% rename from src/api/cli/address_gen.go rename to src/cli/address_gen.go index 4bf28b0..9e9b4ed 100755 --- a/src/api/cli/address_gen.go +++ b/src/cli/address_gen.go @@ -60,7 +60,7 @@ func addressGenCmd() gcli.Command { seed = cipher.SumSHA256(cipher.RandByte(1024)).Hex() } else { var err error - seed, err = bip39.NewDefaultMnemomic() + seed, err = bip39.NewDefaultMnemonic() if err != nil { return err } diff --git a/src/api/cli/blocks.go b/src/cli/blocks.go similarity index 100% rename from src/api/cli/blocks.go rename to src/cli/blocks.go diff --git a/src/api/cli/broadcast_rawtx.go b/src/cli/broadcast_rawtx.go similarity index 100% rename from src/api/cli/broadcast_rawtx.go rename to src/cli/broadcast_rawtx.go diff --git a/src/api/cli/check_balance.go b/src/cli/check_balance.go similarity index 100% rename from src/api/cli/check_balance.go rename to src/cli/check_balance.go diff --git a/src/api/cli/check_balance_test.go b/src/cli/check_balance_test.go similarity index 100% rename from src/api/cli/check_balance_test.go rename to src/cli/check_balance_test.go diff --git a/src/api/cli/checkdb.go b/src/cli/checkdb.go similarity index 60% rename from src/api/cli/checkdb.go rename to src/cli/checkdb.go index 6b0ac74..a43dbea 100755 --- a/src/api/cli/checkdb.go +++ b/src/cli/checkdb.go @@ -9,13 +9,26 @@ import ( gcli "github.com/urfave/cli" "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/util/apputil" "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/dbutil" ) const ( - genesisPubkey = "0328c576d3f420e7682058a981173a4b374c7cc5ff55bf394d3cf57059bbe6456a" + blockchainPubkey = "0328c576d3f420e7682058a981173a4b374c7cc5ff55bf394d3cf57059bbe6456a" ) +// wrapDB calls dbutil.WrapDB and disables all logging +func wrapDB(db *bolt.DB) *dbutil.DB { + wdb := dbutil.WrapDB(db) + wdb.ViewLog = false + wdb.ViewTrace = false + wdb.UpdateLog = false + wdb.UpdateTrace = false + wdb.DurationLog = false + return wdb +} + func checkdbCmd() gcli.Command { name := "checkdb" return gcli.Command{ @@ -50,21 +63,23 @@ func checkdb(c *gcli.Context) error { if err != nil { return fmt.Errorf("open db failed: %v", err) } - pubkey, err := cipher.PubKeyFromHex(genesisPubkey) + pubkey, err := cipher.PubKeyFromHex(blockchainPubkey) if err != nil { - return fmt.Errorf("decode genesis pubkey failed: %v", err) + return fmt.Errorf("decode blockchain pubkey failed: %v", err) } - if err := IntegrityCheck(db, pubkey); err != nil { + quit := QuitChanFromContext(c) + go func() { + apputil.CatchInterrupt(quit) + }() + + if err := visor.CheckDatabase(wrapDB(db), pubkey, quit); err != nil { + if err == visor.ErrVerifyStopped { + return nil + } return fmt.Errorf("checkdb failed: %v", err) } fmt.Println("check db success") return nil } - -// IntegrityCheck checks database integrity -func IntegrityCheck(db *bolt.DB, genesisPubkey cipher.PubKey) error { - _, err := visor.NewBlockchain(db, genesisPubkey, visor.Arbitrating(true)) - return err -} diff --git a/src/api/cli/cli.go b/src/cli/cli.go similarity index 93% rename from src/api/cli/cli.go rename to src/cli/cli.go index 335948d..15679d8 100755 --- a/src/api/cli/cli.go +++ b/src/cli/cli.go @@ -26,12 +26,13 @@ import ( const ( // Version is the CLI Version - Version = "0.23.1-rc2" + Version = "0.24.1" walletExt = ".wlt" defaultCoin = "skycoin" defaultWalletName = "$COIN_cli" + walletExt - defaultWalletDir = "$HOME/.$COIN/wallets" + defaultWalletDir = "$DATA_DIR/wallets" defaultRPCAddress = "http://127.0.0.1:6420" + defaultDataDir = "$HOME/.$COIN/" ) var ( @@ -40,8 +41,8 @@ var ( COIN: Name of the coin. Default "%s" USE_CSRF: Set to 1 or true if the remote node has CSRF enabled. Default false (unset) WALLET_DIR: Directory where wallets are stored. This value is overriden by any subcommand flag specifying a wallet filename, if that filename includes a path. Default "%s" - WALLET_NAME: Name of wallet file (without path). This value is overriden by any subcommand flag specifying a wallet filename. Default "%s"`, - defaultRPCAddress, defaultCoin, defaultWalletDir, defaultWalletName) + WALLET_NAME: Name of wallet file (without path). This value is overriden by any subcommand flag specifying a wallet filename. Default "%s" + DATA_DIR: Directory where everything is stored. Default "%s"`, defaultRPCAddress, defaultCoin, defaultWalletDir, defaultWalletName, defaultDataDir) commandHelpTemplate = fmt.Sprintf(`USAGE: {{.HelpName}}{{if .VisibleFlags}} [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}{{if .Category}} @@ -131,10 +132,16 @@ func LoadConfig() (Config, error) { home := file.UserHome() + // get data dir dir from env + dataDir := os.Getenv("DATA_DIR") + if dataDir == "" { + dataDir = filepath.Join(home, fmt.Sprintf(".%s", coin)) + } + // get wallet dir from env wltDir := os.Getenv("WALLET_DIR") if wltDir == "" { - wltDir = fmt.Sprintf("%s/.%s/wallets", home, coin) + wltDir = filepath.Join(dataDir, "wallets") } // get wallet name from env @@ -146,9 +153,6 @@ func LoadConfig() (Config, error) { if !strings.HasSuffix(wltName, walletExt) { return Config{}, ErrWalletName } - - dataDir := filepath.Join(home, fmt.Sprintf(".%s", coin)) - var useCSRF bool useCSRFStr := os.Getenv("USE_CSRF") if useCSRFStr != "" { @@ -274,6 +278,7 @@ func NewApp(cfg Config) (*App, error) { app.CommandNotFound = func(ctx *gcli.Context, command string) { tmp := fmt.Sprintf("{{.HelpName}}: '%s' is not a {{.HelpName}} command. See '{{.HelpName}} --help'.\n", command) gcli.HelpPrinter(app.Writer, tmp, app) + gcli.OsExiter(1) } rpcClient, err := webrpc.NewClient(cfg.RPCAddress) @@ -283,8 +288,9 @@ func NewApp(cfg Config) (*App, error) { rpcClient.UseCSRF = cfg.UseCSRF app.Metadata = map[string]interface{}{ - "config": cfg, - "rpc": rpcClient, + "config": cfg, + "rpc": rpcClient, + "quitChan": make(chan struct{}), } return app, nil @@ -305,6 +311,11 @@ func ConfigFromContext(c *gcli.Context) Config { return c.App.Metadata["config"].(Config) } +// QuitChanFromContext returns a chan struct{} from a urfave/cli Context +func QuitChanFromContext(c *gcli.Context) chan struct{} { + return c.App.Metadata["quitChan"].(chan struct{}) +} + func onCommandUsageError(command string) gcli.OnUsageErrorFunc { return func(c *gcli.Context, err error, isSubcommand bool) error { fmt.Fprintf(c.App.Writer, "Error: %v\n\n", err) diff --git a/src/api/cli/cli_test.go b/src/cli/cli_test.go similarity index 91% rename from src/api/cli/cli_test.go rename to src/cli/cli_test.go index 5c48485..7bc3939 100755 --- a/src/api/cli/cli_test.go +++ b/src/cli/cli_test.go @@ -92,6 +92,27 @@ func TestLoadConfig(t *testing.T) { require.Equal(t, ErrWalletName, err) }) + t.Run("set DATA_DIR", func(t *testing.T) { + val := "/home/foo/" + os.Setenv("DATA_DIR", val) + defer os.Unsetenv("DATA_DIR") + + cfg, err := LoadConfig() + require.NoError(t, err) + require.Equal(t, cfg.DataDir, val) + }) + + t.Run("set WALLET_DIR by DATA_DIR", func(t *testing.T) { + val := "/home/foo/" + os.Setenv("DATA_DIR", val) + defer os.Unsetenv("DATA_DIR") + valWallet := val + "wallets" + cfg, err := LoadConfig() + require.NoError(t, err) + require.Equal(t, cfg.DataDir, val) + require.Equal(t, cfg.WalletDir, valWallet) + }) + t.Run("don't set USE_CSRF", func(t *testing.T) { os.Unsetenv("USE_CSRF") diff --git a/src/api/cli/create_rawtx.go b/src/cli/create_rawtx.go similarity index 98% rename from src/api/cli/create_rawtx.go rename to src/cli/create_rawtx.go index d136d42..c1b118a 100755 --- a/src/api/cli/create_rawtx.go +++ b/src/cli/create_rawtx.go @@ -407,7 +407,7 @@ func CreateRawTx(c *webrpc.Client, wlt *wallet.Wallet, inAddrs []string, chgAddr return nil, err } - txn, err := createRawTx(unspents.Outputs, wlt, inAddrs, chgAddr, toAddrs, password) + txn, err := createRawTx(unspents.Outputs, wlt, chgAddr, toAddrs, password) if err != nil { return nil, err } @@ -449,7 +449,7 @@ func CreateRawTx(c *webrpc.Client, wlt *wallet.Wallet, inAddrs []string, chgAddr // TODO -- remove me -- reimplementation of visor.VerifySingleTxnSoftConstraints and HardConstraints // minus the parts that require block head data, which is not available from the RPC API (see below) -func verifyTransactionConstraints(txn *coin.Transaction, uxIn coin.UxArray, maxSize int) error { +func verifyTransactionConstraints(txn *coin.Transaction, uxIn coin.UxArray, maxSize int) error { // nolint: unparam // SOFT constraints: if txn.Size() > maxSize { @@ -497,11 +497,15 @@ func verifyTransactionConstraints(txn *coin.Transaction, uxIn coin.UxArray, maxS // return coin.VerifyTransactionHoursSpending(head.Time(), uxIn, uxOut) } -func createRawTx(uxouts visor.ReadableOutputSet, wlt *wallet.Wallet, inAddrs []string, chgAddr string, toAddrs []SendAmount, password []byte) (*coin.Transaction, error) { +func createRawTx(uxouts visor.ReadableOutputSet, wlt *wallet.Wallet, chgAddr string, toAddrs []SendAmount, password []byte) (*coin.Transaction, error) { // Calculate total required coins var totalCoins uint64 for _, arg := range toAddrs { - totalCoins += arg.Coins + var err error + totalCoins, err = coin.AddUint64(totalCoins, arg.Coins) + if err != nil { + return nil, err + } } spendOutputs, err := chooseSpends(uxouts, totalCoins) diff --git a/src/api/cli/create_rawtx_test.go b/src/cli/create_rawtx_test.go similarity index 100% rename from src/api/cli/create_rawtx_test.go rename to src/cli/create_rawtx_test.go diff --git a/src/api/cli/decryptWallet.go b/src/cli/decryptWallet.go similarity index 99% rename from src/api/cli/decryptWallet.go rename to src/cli/decryptWallet.go index 63232e1..3282692 100755 --- a/src/api/cli/decryptWallet.go +++ b/src/cli/decryptWallet.go @@ -5,8 +5,9 @@ import ( "fmt" "path/filepath" - "github.com/skycoin/skycoin/src/wallet" gcli "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/wallet" ) func decryptWalletCmd(cfg Config) gcli.Command { diff --git a/src/api/cli/encrypt_wallet.go b/src/cli/encrypt_wallet.go similarity index 99% rename from src/api/cli/encrypt_wallet.go rename to src/cli/encrypt_wallet.go index 6c452a0..321fa1f 100755 --- a/src/api/cli/encrypt_wallet.go +++ b/src/cli/encrypt_wallet.go @@ -5,8 +5,9 @@ import ( "fmt" "path/filepath" - "github.com/skycoin/skycoin/src/wallet" gcli "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/wallet" ) func encryptWalletCmd(cfg Config) gcli.Command { diff --git a/src/api/cli/generate_addrs.go b/src/cli/generate_addrs.go similarity index 100% rename from src/api/cli/generate_addrs.go rename to src/cli/generate_addrs.go diff --git a/src/api/cli/generate_wallet.go b/src/cli/generate_wallet.go similarity index 99% rename from src/api/cli/generate_wallet.go rename to src/cli/generate_wallet.go index 1129006..d0a6ca4 100755 --- a/src/api/cli/generate_wallet.go +++ b/src/cli/generate_wallet.go @@ -206,7 +206,7 @@ func makeSeed(s string, r, rd bool) (string, error) { } // 001, 000 - return bip39.NewDefaultMnemomic() + return bip39.NewDefaultMnemonic() } // PUBLIC diff --git a/src/gui/integration/empty.go b/src/cli/integration/empty.go similarity index 100% rename from src/gui/integration/empty.go rename to src/cli/integration/empty.go diff --git a/src/api/cli/integration/integration_test.go b/src/cli/integration/integration_test.go similarity index 93% rename from src/api/cli/integration/integration_test.go rename to src/cli/integration/integration_test.go index c22dd18..05a92a6 100755 --- a/src/api/cli/integration/integration_test.go +++ b/src/cli/integration/integration_test.go @@ -14,6 +14,7 @@ import ( "os" "os/exec" "path/filepath" + "reflect" "strconv" "strings" "sync" @@ -22,10 +23,10 @@ import ( "github.com/stretchr/testify/require" - "github.com/skycoin/skycoin/src/api/cli" + "github.com/skycoin/skycoin/src/api" "github.com/skycoin/skycoin/src/api/webrpc" "github.com/skycoin/skycoin/src/cipher" - "github.com/skycoin/skycoin/src/gui" + "github.com/skycoin/skycoin/src/cli" "github.com/skycoin/skycoin/src/testutil" "github.com/skycoin/skycoin/src/util/droplet" "github.com/skycoin/skycoin/src/visor" @@ -35,14 +36,13 @@ import ( const ( binaryName = "skycoin-cli" - testModeStable = "stable" - testModeLive = "live" - testModeDisableWalletApi = "disable-wallet-api" + testModeStable = "stable" + testModeLive = "live" // Number of random transactions of live transaction test. randomLiveTransactionNum = 500 - testFixturesDir = "test-fixtures" + testFixturesDir = "testdata" stableWalletName = "integration-test.wlt" stableEncryptWalletName = "integration-test-encrypted.wlt" @@ -78,7 +78,7 @@ func TestMain(m *testing.M) { binaryPath = abs // Build cli binary file. - args := []string{"build", "-o", binaryPath, "../../../../cmd/cli/cli.go"} + args := []string{"build", "-o", binaryPath, "../../../cmd/cli/cli.go"} if err := exec.Command("go", args...).Run(); err != nil { fmt.Fprintf(os.Stderr, fmt.Sprintf("Make %v binary failed: %v\n", binaryName, err)) os.Exit(1) @@ -95,17 +95,17 @@ func TestMain(m *testing.M) { os.Exit(ret) } -func createUnEncryptedWallet(t *testing.T) (string, func()) { +func createUnencryptedWallet(t *testing.T) (string, func()) { return createTempWallet(t, false) } -func createEncryptedWallet(t *testing.T) (string, func()) { +func createEncryptedWallet(t *testing.T) (string, func()) { // nolint: unparam return createTempWallet(t, true) } // createTempWallet creates a temporary dir, and if encrypt is true, copy -// the test-fixtures/$stableEncryptedWalletName file to the dir. If it's false, then -// copy the test-fixtures/$stableWalletName file to the dir +// the testdata/$stableEncryptedWalletName file to the dir. If it's false, then +// copy the testdata/$stableWalletName file to the dir // returns the temporary wallet path, cleanup callback function, and error if any. func createTempWallet(t *testing.T, encrypt bool) (string, func()) { dir, err := ioutil.TempDir("", "wallet-data-dir") @@ -196,14 +196,28 @@ func updateGoldenFile(t *testing.T, filename string, content interface{}) { require.NoError(t, err) } -func writeJSON(t *testing.T, filename string, obj interface{}) { - f, err := os.Create(filename) +func checkGoldenFile(t *testing.T, goldenFile string, td TestData) { + loadGoldenFile(t, goldenFile, td) + require.Equal(t, reflect.Indirect(reflect.ValueOf(td.expected)).Interface(), td.actual) + checkGoldenFileObjectChanges(t, goldenFile, td) +} + +func checkGoldenFileObjectChanges(t *testing.T, goldenFile string, td TestData) { + // Serialize expected to JSON and compare to the goldenFile's contents + // This will detect field changes that could be missed otherwise + b, err := json.MarshalIndent(td.expected, "", "\t") + require.NoError(t, err) + + goldenFile = filepath.Join(testFixturesDir, goldenFile) + + f, err := os.Open(goldenFile) require.NoError(t, err) defer f.Close() - enc := json.NewEncoder(f) - enc.SetIndent("", "\t") - require.NoError(t, enc.Encode(obj)) + c, err := ioutil.ReadAll(f) + require.NoError(t, err) + + require.Equal(t, string(c), string(b)+"\n", "json struct output differs from golden file, was a field added to the struct?") } func mode(t *testing.T) string { @@ -211,9 +225,9 @@ func mode(t *testing.T) string { switch mode { case "": mode = testModeStable - case testModeLive, testModeStable, testModeDisableWalletApi: + case testModeLive, testModeStable: default: - t.Fatal("Invalid test mode, must be stable, live or disable-wallet-api") + t.Fatal("Invalid test mode, must be stable or live") } return mode } @@ -403,7 +417,6 @@ func TestGenerateAddresses(t *testing.T) { // Use loadJSON instead of loadGoldenFile because this golden file // should not use the *update flag goldenFile := filepath.Join(testFixturesDir, tc.goldenFile) - fmt.Println("goldenFile:", goldenFile) var expect wallet.ReadableWallet loadJSON(t, goldenFile, &expect) if tc.encrypted { @@ -437,13 +450,13 @@ func TestVerifyAddress(t *testing.T) { "invalid skycoin address", "2KG9eRXUhx6hrDZvNGB99DKahtrPDQ1W9vn", errors.New("exit status 1"), - "Invalid version", + "Invalid checksum", }, { "invalid bitcoin address", "1Dcb9gpaZpBKmjqjCsiBsP3sBW1md2kEM2", errors.New("exit status 1"), - "Invalid version", + "Invalid checksum", }, } @@ -502,8 +515,7 @@ func TestDecodeRawTransaction(t *testing.T) { require.NoError(t, err) var expect visor.TransactionJSON - loadGoldenFile(t, tc.goldenFile, TestData{txn, &expect}) - require.Equal(t, expect, txn) + checkGoldenFile(t, tc.goldenFile, TestData{txn, &expect}) }) } @@ -765,7 +777,7 @@ func TestStableListWallets(t *testing.T) { return } - _, clean := createUnEncryptedWallet(t) + _, clean := createUnencryptedWallet(t) defer clean() output, err := exec.Command(binaryPath, "listWallets").CombinedOutput() @@ -780,8 +792,7 @@ func TestStableListWallets(t *testing.T) { var expect struct { Wallets []cli.WalletEntry `json:"wallets"` } - loadGoldenFile(t, "list-wallets.golden", TestData{wlts, &expect}) - require.Equal(t, expect, wlts) + checkGoldenFile(t, "list-wallets.golden", TestData{wlts, &expect}) } func TestLiveListWallets(t *testing.T) { @@ -807,7 +818,7 @@ func TestStableListAddress(t *testing.T) { return } - _, clean := createUnEncryptedWallet(t) + _, clean := createUnencryptedWallet(t) defer clean() output, err := exec.Command(binaryPath, "listAddresses").CombinedOutput() @@ -822,8 +833,7 @@ func TestStableListAddress(t *testing.T) { var expect struct { Addresses []string `json:"addresses"` } - loadGoldenFile(t, "list-addresses.golden", TestData{wltAddresses, &expect}) - require.Equal(t, expect, wltAddresses) + checkGoldenFile(t, "list-addresses.golden", TestData{wltAddresses, &expect}) } func TestLiveListAddresses(t *testing.T) { @@ -859,8 +869,7 @@ func TestStableAddressBalance(t *testing.T) { require.NoError(t, err) var expect cli.BalanceResult - loadGoldenFile(t, "address-balance.golden", TestData{addrBalance, &expect}) - require.Equal(t, expect, addrBalance) + checkGoldenFile(t, "address-balance.golden", TestData{addrBalance, &expect}) } func TestLiveAddressBalance(t *testing.T) { @@ -881,7 +890,7 @@ func TestStableWalletBalance(t *testing.T) { return } - _, clean := createUnEncryptedWallet(t) + _, clean := createUnencryptedWallet(t) defer clean() output, err := exec.Command(binaryPath, "walletBalance").CombinedOutput() @@ -892,8 +901,7 @@ func TestStableWalletBalance(t *testing.T) { require.NoError(t, err) var expect cli.BalanceResult - loadGoldenFile(t, "wallet-balance.golden", TestData{wltBalance, &expect}) - require.Equal(t, expect, wltBalance) + checkGoldenFile(t, "wallet-balance.golden", TestData{wltBalance, &expect}) } func TestLiveWalletBalance(t *testing.T) { @@ -919,7 +927,7 @@ func TestStableWalletOutputs(t *testing.T) { return } - _, clean := createUnEncryptedWallet(t) + _, clean := createUnencryptedWallet(t) defer clean() output, err := exec.Command(binaryPath, "walletOutputs").CombinedOutput() @@ -930,8 +938,7 @@ func TestStableWalletOutputs(t *testing.T) { require.NoError(t, err) var expect webrpc.OutputsResult - loadGoldenFile(t, "wallet-outputs.golden", TestData{wltOutput, &expect}) - require.Equal(t, expect, wltOutput) + checkGoldenFile(t, "wallet-outputs.golden", TestData{wltOutput, &expect}) } func TestLiveWalletOutputs(t *testing.T) { @@ -998,8 +1005,7 @@ func TestStableAddressOutputs(t *testing.T) { require.NoError(t, err) var expect webrpc.OutputsResult - loadGoldenFile(t, tc.goldenFile, TestData{addrOutputs, &expect}) - require.Equal(t, expect, addrOutputs) + checkGoldenFile(t, tc.goldenFile, TestData{addrOutputs, &expect}) }) } } @@ -1046,8 +1052,19 @@ func TestStableShowConfig(t *testing.T) { } var expect cli.Config - loadGoldenFile(t, goldenFile, TestData{ret, &expect}) + td := TestData{ret, &expect} + loadGoldenFile(t, goldenFile, td) + + // The RPC port is not always the same between runs of the stable integration tests, + // so use the RPC_ADDR envvar instead of the golden file value for comparison + goldenRPCAddress := expect.RPCAddress + expect.RPCAddress = rpcAddress() + require.Equal(t, expect, ret) + + // Restore goldenfile's value before checking if JSON fields were added or removed + expect.RPCAddress = goldenRPCAddress + checkGoldenFileObjectChanges(t, goldenFile, TestData{ret, &expect}) } func TestLiveShowConfig(t *testing.T) { @@ -1109,8 +1126,20 @@ func TestStableStatus(t *testing.T) { } var expect cli.StatusResult - loadGoldenFile(t, goldenFile, TestData{ret, &expect}) + td := TestData{ret, &expect} + loadGoldenFile(t, goldenFile, td) + + // The RPC port is not always the same between runs of the stable integration tests, + // so use the RPC_ADDR envvar instead of the golden file value for comparison + goldenRPCAddress := expect.RPCAddress + expect.RPCAddress = rpcAddress() + require.Equal(t, expect, ret) + + // Restore goldenfile's value before checking if JSON fields were added or removed + expect.RPCAddress = goldenRPCAddress + checkGoldenFileObjectChanges(t, goldenFile, TestData{ret, &expect}) + } func TestLiveStatus(t *testing.T) { @@ -1189,9 +1218,7 @@ func TestStableTransaction(t *testing.T) { require.NoError(t, err) var expect webrpc.TxnResult - loadGoldenFile(t, tc.goldenFile, TestData{tx, &expect}) - - require.Equal(t, expect, tx) + checkGoldenFile(t, tc.goldenFile, TestData{tx, &expect}) }) } @@ -1356,8 +1383,7 @@ func TestStableBlocks(t *testing.T) { require.NoError(t, err) var expect visor.ReadableBlocks - loadGoldenFile(t, "blocks180.golden", TestData{blocks, &expect}) - require.Equal(t, expect, blocks) + checkGoldenFile(t, "blocks180.golden", TestData{blocks, &expect}) } func TestLiveBlocks(t *testing.T) { @@ -1407,16 +1433,15 @@ func testKnownBlocks(t *testing.T) { require.NoError(t, err) var expect visor.ReadableBlocks - loadGoldenFile(t, tc.goldenFile, TestData{blocks, &expect}) - require.Equal(t, expect, blocks) + checkGoldenFile(t, tc.goldenFile, TestData{blocks, &expect}) }) } scanBlocks(t, "0", "180") } -func scanBlocks(t *testing.T, s, e string) { - outputs, err := exec.Command(binaryPath, "blocks", s, e).CombinedOutput() +func scanBlocks(t *testing.T, start, end string) { // nolint: unparam + outputs, err := exec.Command(binaryPath, "blocks", start, end).CombinedOutput() require.NoError(t, err) var blocks visor.ReadableBlocks @@ -1476,8 +1501,7 @@ func TestStableLastBlocks(t *testing.T) { require.NoError(t, err) var expect visor.ReadableBlocks - loadGoldenFile(t, tc.goldenFile, TestData{blocks, &expect}) - require.Equal(t, expect, blocks) + checkGoldenFile(t, tc.goldenFile, TestData{blocks, &expect}) }) } } @@ -1522,7 +1546,7 @@ func TestStableWalletDir(t *testing.T) { return } - walletPath, clean := createUnEncryptedWallet(t) + walletPath, clean := createUnencryptedWallet(t) defer clean() dir := filepath.Dir(walletPath) @@ -1885,7 +1909,7 @@ func isTxConfirmed(t *testing.T, txid string) bool { } // checkCoinhours checks if the address coinhours in transaction are correct -func checkCoinsAndCoinhours(t *testing.T, tx *webrpc.TxnResult, addr string, coins, coinhours uint64) { +func checkCoinsAndCoinhours(t *testing.T, tx *webrpc.TxnResult, addr string, coins, coinhours uint64) { // nolint: unparam addrCoinhoursMap := make(map[string][]visor.ReadableTransactionOutput) for _, o := range tx.Transaction.Transaction.Out { addrCoinhoursMap[o.Address] = append(addrCoinhoursMap[o.Address], o) @@ -1913,7 +1937,7 @@ func checkCoinsAndCoinhours(t *testing.T, tx *webrpc.TxnResult, addr string, coi // prepareAndCheckWallet prepares wallet for live testing. // Returns *wallet.Wallet, total coin, total hours. // Confirms that the wallet meets the minimal requirements of coins and coinhours. -func prepareAndCheckWallet(t *testing.T, miniCoins, miniCoinHours uint64) (*wallet.Wallet, uint64, uint64) { +func prepareAndCheckWallet(t *testing.T, miniCoins, miniCoinHours uint64) (*wallet.Wallet, uint64, uint64) { // nolint: unparam walletDir, walletName := getWalletPathFromEnv(t) walletPath := filepath.Join(walletDir, walletName) // Checks if the wallet does exist @@ -1999,7 +2023,7 @@ func TestStableWalletHistory(t *testing.T) { return } - _, clean := createUnEncryptedWallet(t) + _, clean := createUnencryptedWallet(t) defer clean() output, err := exec.Command(binaryPath, "walletHistory").CombinedOutput() @@ -2010,8 +2034,7 @@ func TestStableWalletHistory(t *testing.T) { require.NoError(t, err) var expect []cli.AddrHistory - loadGoldenFile(t, "wallet-history.golden", TestData{history, &expect}) - require.Equal(t, expect, history) + checkGoldenFile(t, "wallet-history.golden", TestData{history, &expect}) } func TestLiveWalletHistory(t *testing.T) { @@ -2036,23 +2059,23 @@ func TestStableCheckDB(t *testing.T) { tt := []struct { name string dbPath string - result []byte - errMsg []byte + result string + errMsg string }{ { name: "no signature", - dbPath: "../../../visor/testdata/data.db.nosig", - errMsg: []byte("checkdb failed: find no signature of block: seq=1000\n"), + dbPath: "../../visor/testdata/data.db.nosig", + errMsg: "checkdb failed: Signature not found for block seq=1000 hash=71852c1a8ab5e470bd14e5fce8e1116697151181a188d4262b545542fb3d526c\n", }, { name: "invalid database", - dbPath: "../../../visor/testdata/data.db.garbage", - errMsg: []byte("open db failed: invalid database\n"), + dbPath: "../../visor/testdata/data.db.garbage", + errMsg: "open db failed: invalid database\n", }, { name: "valid database", - dbPath: "../../../gui/integration/test-fixtures/blockchain-180.db", - result: []byte("check db success\n"), + dbPath: "../../api/integration/testdata/blockchain-180.db", + result: "check db success\n", }, } @@ -2061,11 +2084,11 @@ func TestStableCheckDB(t *testing.T) { output, err := exec.Command(binaryPath, "checkdb", tc.dbPath).CombinedOutput() if err != nil { fmt.Println(string(output)) - require.Equal(t, tc.errMsg, output) + require.Equal(t, tc.errMsg, string(output)) return } require.NoError(t, err) - require.Equal(t, tc.result, output) + require.Equal(t, tc.result, string(output)) }) } } @@ -2203,7 +2226,7 @@ func TestStableGenerateWallet(t *testing.T) { name: "generate wallet with duplicate wallet name", args: []string{}, setup: func(t *testing.T) func() { - _, clean := createUnEncryptedWallet(t) + _, clean := createUnencryptedWallet(t) return clean }, errMsg: []byte("integration-test.wlt already exist\n"), @@ -2297,7 +2320,7 @@ func TestLiveGUIInjectTransaction(t *testing.T) { requireWalletEnv(t) - c := gui.NewClient(rpcAddress()) + c := api.NewClient(rpcAddress()) // prepares wallet and confirms the wallet has at least 2 coins and 2 coin hours. w, totalCoins, _ := prepareAndCheckWallet(t, 2e6, 2) @@ -2422,7 +2445,7 @@ func TestEncryptWallet(t *testing.T) { name: "wallet is not encrypted", args: []string{"-p", "pwd"}, setup: func(t *testing.T) func() { - _, clean := createUnEncryptedWallet(t) + _, clean := createUnencryptedWallet(t) return clean }, checkWallet: func(t *testing.T, w *wallet.Wallet) { @@ -2449,7 +2472,7 @@ func TestEncryptWallet(t *testing.T) { name: "wallet doesn't exist", args: []string{"-p", "pwd"}, setup: func(t *testing.T) func() { - _, clean := createUnEncryptedWallet(t) + _, clean := createUnencryptedWallet(t) os.Setenv("WALLET_NAME", "not-exist.wlt") return clean }, @@ -2524,7 +2547,7 @@ func TestDecryptWallet(t *testing.T) { name: "wallet is not encrypted", args: []string{"-p", "pwd"}, setup: func(t *testing.T) func() { - _, clean := createUnEncryptedWallet(t) + _, clean := createUnencryptedWallet(t) return clean }, errMsg: []byte("wallet is not encrypted\n"), @@ -2595,7 +2618,7 @@ func TestShowSeed(t *testing.T) { { name: "unencrypted wallet", setup: func(t *testing.T) func() { - _, clean := createUnEncryptedWallet(t) + _, clean := createUnencryptedWallet(t) return clean }, expectOutput: []byte("exchange stage green marine palm tobacco decline shadow cereal chapter lamp copy\n"), @@ -2604,7 +2627,7 @@ func TestShowSeed(t *testing.T) { name: "unencrypted wallet with -j option", args: []string{"-j"}, setup: func(t *testing.T) func() { - _, clean := createUnEncryptedWallet(t) + _, clean := createUnencryptedWallet(t) return clean }, expectOutput: []byte("{\n \"seed\": \"exchange stage green marine palm tobacco decline shadow cereal chapter lamp copy\"\n}\n"), @@ -2639,7 +2662,7 @@ func TestShowSeed(t *testing.T) { { name: "wallet doesn't exist", setup: func(t *testing.T) func() { - _, clean := createUnEncryptedWallet(t) + _, clean := createUnencryptedWallet(t) os.Setenv("WALLET_NAME", "not-exist.wlt") return clean }, diff --git a/src/api/cli/integration/test-fixtures/address-balance.golden b/src/cli/integration/testdata/address-balance.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/address-balance.golden rename to src/cli/integration/testdata/address-balance.golden diff --git a/src/api/cli/integration/test-fixtures/address-outputs.golden b/src/cli/integration/testdata/address-outputs.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/address-outputs.golden rename to src/cli/integration/testdata/address-outputs.golden diff --git a/src/api/cli/integration/test-fixtures/block0.golden b/src/cli/integration/testdata/block0.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/block0.golden rename to src/cli/integration/testdata/block0.golden diff --git a/src/api/cli/integration/test-fixtures/blocks0-5.golden b/src/cli/integration/testdata/blocks0-5.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/blocks0-5.golden rename to src/cli/integration/testdata/blocks0-5.golden diff --git a/src/api/cli/integration/test-fixtures/blocks180.golden b/src/cli/integration/testdata/blocks180.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/blocks180.golden rename to src/cli/integration/testdata/blocks180.golden diff --git a/src/api/cli/integration/test-fixtures/decode-raw-transaction.golden b/src/cli/integration/testdata/decode-raw-transaction.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/decode-raw-transaction.golden rename to src/cli/integration/testdata/decode-raw-transaction.golden diff --git a/src/api/cli/integration/test-fixtures/generate-addresses-2.golden b/src/cli/integration/testdata/generate-addresses-2.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/generate-addresses-2.golden rename to src/cli/integration/testdata/generate-addresses-2.golden diff --git a/src/api/cli/integration/test-fixtures/generate-addresses-encrypted.golden b/src/cli/integration/testdata/generate-addresses-encrypted.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/generate-addresses-encrypted.golden rename to src/cli/integration/testdata/generate-addresses-encrypted.golden diff --git a/src/api/cli/integration/test-fixtures/generate-addresses.golden b/src/cli/integration/testdata/generate-addresses.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/generate-addresses.golden rename to src/cli/integration/testdata/generate-addresses.golden diff --git a/src/api/cli/integration/test-fixtures/genesis-transaction-cli.golden b/src/cli/integration/testdata/genesis-transaction-cli.golden similarity index 87% rename from src/api/cli/integration/test-fixtures/genesis-transaction-cli.golden rename to src/cli/integration/testdata/genesis-transaction-cli.golden index 6281f68..0083809 100755 --- a/src/api/cli/integration/test-fixtures/genesis-transaction-cli.golden +++ b/src/cli/integration/testdata/genesis-transaction-cli.golden @@ -18,7 +18,7 @@ "inputs": [], "outputs": [ { - "uxid": "54c5dd9aebbe4656eb1adc658fdd4ff63a073aae473cc99b20c0ef5f0a21f08e", + "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", "coins": "100000000.000000", "hours": 100000000000000 diff --git a/src/api/cli/integration/test-fixtures/genesis-transaction.golden b/src/cli/integration/testdata/genesis-transaction.golden similarity index 87% rename from src/api/cli/integration/test-fixtures/genesis-transaction.golden rename to src/cli/integration/testdata/genesis-transaction.golden index 6281f68..0083809 100755 --- a/src/api/cli/integration/test-fixtures/genesis-transaction.golden +++ b/src/cli/integration/testdata/genesis-transaction.golden @@ -18,7 +18,7 @@ "inputs": [], "outputs": [ { - "uxid": "54c5dd9aebbe4656eb1adc658fdd4ff63a073aae473cc99b20c0ef5f0a21f08e", + "uxid": "043836eb6f29aaeb8b9bfce847e07c159c72b25ae17d291f32125e7f1912e2a0", "dst": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", "coins": "100000000.000000", "hours": 100000000000000 diff --git a/src/api/cli/integration/test-fixtures/integration-test-encrypted.wlt b/src/cli/integration/testdata/integration-test-encrypted.wlt similarity index 100% rename from src/api/cli/integration/test-fixtures/integration-test-encrypted.wlt rename to src/cli/integration/testdata/integration-test-encrypted.wlt diff --git a/src/api/cli/integration/test-fixtures/integration-test.wlt b/src/cli/integration/testdata/integration-test.wlt similarity index 100% rename from src/api/cli/integration/test-fixtures/integration-test.wlt rename to src/cli/integration/testdata/integration-test.wlt diff --git a/src/api/cli/integration/test-fixtures/last-blocks0.golden b/src/cli/integration/testdata/last-blocks0.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/last-blocks0.golden rename to src/cli/integration/testdata/last-blocks0.golden diff --git a/src/api/cli/integration/test-fixtures/last-blocks1.golden b/src/cli/integration/testdata/last-blocks1.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/last-blocks1.golden rename to src/cli/integration/testdata/last-blocks1.golden diff --git a/src/api/cli/integration/test-fixtures/last-blocks2.golden b/src/cli/integration/testdata/last-blocks2.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/last-blocks2.golden rename to src/cli/integration/testdata/last-blocks2.golden diff --git a/src/api/cli/integration/test-fixtures/list-addresses.golden b/src/cli/integration/testdata/list-addresses.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/list-addresses.golden rename to src/cli/integration/testdata/list-addresses.golden diff --git a/src/api/cli/integration/test-fixtures/list-wallets.golden b/src/cli/integration/testdata/list-wallets.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/list-wallets.golden rename to src/cli/integration/testdata/list-wallets.golden diff --git a/src/api/cli/integration/test-fixtures/show-config-use-csrf.golden b/src/cli/integration/testdata/show-config-use-csrf.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/show-config-use-csrf.golden rename to src/cli/integration/testdata/show-config-use-csrf.golden diff --git a/src/api/cli/integration/test-fixtures/show-config.golden b/src/cli/integration/testdata/show-config.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/show-config.golden rename to src/cli/integration/testdata/show-config.golden diff --git a/src/cli/integration/testdata/status-use-csrf.golden b/src/cli/integration/testdata/status-use-csrf.golden new file mode 100755 index 0000000..16d034a --- /dev/null +++ b/src/cli/integration/testdata/status-use-csrf.golden @@ -0,0 +1,8 @@ +{ + "running": true, + "num_of_blocks": 181, + "hash_of_last_block": "63614fdf08b67fcfc99d7b43d115fb9f57eb5c6833acdbdc712ee361f391f292", + "time_since_last_block": "", + "webrpc_address": "http://127.0.0.1:46420", + "use_csrf": true +} diff --git a/src/api/cli/integration/test-fixtures/status.golden b/src/cli/integration/testdata/status.golden similarity index 90% rename from src/api/cli/integration/test-fixtures/status.golden rename to src/cli/integration/testdata/status.golden index b7e775a..1cbd708 100755 --- a/src/api/cli/integration/test-fixtures/status.golden +++ b/src/cli/integration/testdata/status.golden @@ -4,5 +4,5 @@ "hash_of_last_block": "63614fdf08b67fcfc99d7b43d115fb9f57eb5c6833acdbdc712ee361f391f292", "time_since_last_block": "", "webrpc_address": "http://127.0.0.1:46420", - "use_csrf": false + "use_csrf": false } diff --git a/src/api/cli/integration/test-fixtures/two-addresses-outputs.golden b/src/cli/integration/testdata/two-addresses-outputs.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/two-addresses-outputs.golden rename to src/cli/integration/testdata/two-addresses-outputs.golden diff --git a/src/api/cli/integration/test-fixtures/wallet-balance.golden b/src/cli/integration/testdata/wallet-balance.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/wallet-balance.golden rename to src/cli/integration/testdata/wallet-balance.golden diff --git a/src/cli/integration/testdata/wallet-history.golden b/src/cli/integration/testdata/wallet-history.golden new file mode 100755 index 0000000..fe51488 --- /dev/null +++ b/src/cli/integration/testdata/wallet-history.golden @@ -0,0 +1 @@ +[] diff --git a/src/api/cli/integration/test-fixtures/wallet-outputs.golden b/src/cli/integration/testdata/wallet-outputs.golden similarity index 100% rename from src/api/cli/integration/test-fixtures/wallet-outputs.golden rename to src/cli/integration/testdata/wallet-outputs.golden diff --git a/src/api/cli/last_blocks.go b/src/cli/last_blocks.go similarity index 100% rename from src/api/cli/last_blocks.go rename to src/cli/last_blocks.go diff --git a/src/api/cli/list_addrs.go b/src/cli/list_addrs.go similarity index 100% rename from src/api/cli/list_addrs.go rename to src/cli/list_addrs.go diff --git a/src/api/cli/list_wallets.go b/src/cli/list_wallets.go similarity index 100% rename from src/api/cli/list_wallets.go rename to src/cli/list_wallets.go diff --git a/src/api/cli/outputs.go b/src/cli/outputs.go similarity index 100% rename from src/api/cli/outputs.go rename to src/cli/outputs.go diff --git a/src/api/cli/send.go b/src/cli/send.go similarity index 100% rename from src/api/cli/send.go rename to src/cli/send.go diff --git a/src/api/cli/show_seed.go b/src/cli/show_seed.go similarity index 99% rename from src/api/cli/show_seed.go rename to src/cli/show_seed.go index b0de516..480e285 100755 --- a/src/api/cli/show_seed.go +++ b/src/cli/show_seed.go @@ -3,8 +3,9 @@ package cli import ( "fmt" - "github.com/skycoin/skycoin/src/wallet" gcli "github.com/urfave/cli" + + "github.com/skycoin/skycoin/src/wallet" ) func showSeedCmd(cfg Config) gcli.Command { diff --git a/src/api/cli/status.go b/src/cli/status.go similarity index 100% rename from src/api/cli/status.go rename to src/cli/status.go diff --git a/src/api/cli/transaction.go b/src/cli/transaction.go similarity index 100% rename from src/api/cli/transaction.go rename to src/cli/transaction.go diff --git a/src/api/cli/verify_address.go b/src/cli/verify_address.go similarity index 100% rename from src/api/cli/verify_address.go rename to src/cli/verify_address.go diff --git a/src/api/cli/version.go b/src/cli/version.go similarity index 100% rename from src/api/cli/version.go rename to src/cli/version.go diff --git a/src/api/cli/wallet_dir.go b/src/cli/wallet_dir.go similarity index 100% rename from src/api/cli/wallet_dir.go rename to src/cli/wallet_dir.go diff --git a/src/api/cli/wallet_history.go b/src/cli/wallet_history.go similarity index 100% rename from src/api/cli/wallet_history.go rename to src/cli/wallet_history.go diff --git a/src/coin/block.go b/src/coin/block.go index 38f23dd..d40a5c7 100755 --- a/src/coin/block.go +++ b/src/coin/block.go @@ -2,15 +2,12 @@ package coin import ( "fmt" + "log" "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/cipher/encoder" - - "github.com/skycoin/skycoin/src/util/logging" ) -var logger = logging.MustGetLogger("coin") - // Block represents the block struct type Block struct { Head BlockHeader @@ -148,7 +145,7 @@ func (b Block) GetTransaction(txHash cipher.SHA256) (Transaction, bool) { // NewBlockHeader creates block header func NewBlockHeader(prev BlockHeader, uxHash cipher.SHA256, currentTime, fee uint64, body BlockBody) BlockHeader { if currentTime <= prev.Time { - logger.Panic("Time can only move forward") + log.Panic("Time can only move forward") } prevHash := prev.Hash() return BlockHeader{ diff --git a/src/coin/block_test.go b/src/coin/block_test.go index 3718b52..c17aa97 100755 --- a/src/coin/block_test.go +++ b/src/coin/block_test.go @@ -62,7 +62,9 @@ func TestNewBlock(t *testing.T) { // valid block is fine fee := uint64(121) currentTime := uint64(133) - b, err := NewBlock(prev, currentTime, uxHash, txns, _makeFeeCalc(fee)) + b, err := NewBlock(prev, currentTime, uxHash, txns, func(t *Transaction) (uint64, error) { + return fee, nil + }) require.NoError(t, err) assert.Equal(t, b.Body.Transactions, txns) assert.Equal(t, b.Head.Fee, fee*uint64(len(txns))) diff --git a/src/coin/coin_test.go b/src/coin/coin_test.go index a67377b..7d68430 100755 --- a/src/coin/coin_test.go +++ b/src/coin/coin_test.go @@ -2,7 +2,6 @@ package coin import ( "encoding/hex" - "math/rand" "testing" "github.com/skycoin/skycoin/src/cipher" @@ -25,12 +24,6 @@ func _feeCalc(t *Transaction) (uint64, error) { return 0, nil } -func _makeFeeCalc(fee uint64) FeeCalculator { - return func(t *Transaction) (uint64, error) { - return fee, nil - } -} - func TestAddress1(t *testing.T) { a := "02fa939957e9fc52140e180264e621c2576a1bfe781f88792fb315ca3d1786afb8" b, err := hex.DecodeString(a) @@ -112,67 +105,6 @@ func TestCrypto2(t *testing.T) { } -func _gensec() cipher.SecKey { - _, s := cipher.GenerateKeyPair() - return s -} - -func _gpub(s cipher.SecKey) cipher.PubKey { - return cipher.PubKeyFromSecKey(s) -} - -func _gaddr(s cipher.SecKey) cipher.Address { - return cipher.AddressFromSecKey(s) -} - -func _gaddrA1(S []cipher.SecKey) []cipher.Address { - A := make([]cipher.Address, len(S)) - for i := 0; i < len(S); i++ { - A[i] = cipher.AddressFromSecKey(S[i]) - } - return A -} - -func _gaddrA2(S []cipher.SecKey, O []UxOut) []int { - A := _gaddrA1(S) - var M map[cipher.Address]int //address to int - for i, a := range A { - M[a] = i - } - - I := make([]int, len(O)) //output to seckey/address index - for i, o := range O { - I[i] = M[o.Body.Address] - } - - return I -} - -func _gaddrA3(S []cipher.SecKey, O []UxOut) map[cipher.Address]int { - A := _gaddrA1(S) - M := make(map[cipher.Address]int) //address to int - for i, a := range A { - M[a] = i - } - return M -} - -//assign amt to n bins in randomized manner -func _randBins(amt uint64, n int) []uint64 { - bins := make([]uint64, n) - max := amt / (4 * uint64(n)) - for i := 0; amt > 0; i++ { - //amount going into this bin - b := 1 + (uint64(rand.Int63()) % max) - if b > amt { - b = amt - } - bins[i%n] += b - amt -= b - } - return bins -} - /* TODO: check block header of new block TODO: check that coins are not created or destroyed diff --git a/src/coin/math.go b/src/coin/math.go index f4fd386..0060dc1 100755 --- a/src/coin/math.go +++ b/src/coin/math.go @@ -32,7 +32,7 @@ func AddUint64(a, b uint64) (uint64, error) { return c, nil } -func addUint32(a, b uint32) (uint32, error) { +func addUint32(a, b uint32) (uint32, error) { //nolint: deadcode c := a + b if c < a || c < b { return 0, ErrUint32AddOverflow diff --git a/src/coin/outputs.go b/src/coin/outputs.go index b3465af..70340ec 100755 --- a/src/coin/outputs.go +++ b/src/coin/outputs.go @@ -4,6 +4,7 @@ import ( "bytes" "errors" "fmt" + "log" "sort" "github.com/skycoin/skycoin/src/cipher" @@ -89,7 +90,7 @@ var ErrAddEarnedCoinHoursAdditionOverflow = errors.New("UxOut.CoinHours addition // CoinHours Calculate coinhour balance of output. t is the current unix utc time. func (uo *UxOut) CoinHours(t uint64) (uint64, error) { if t < uo.Head.Time { - logger.Warning("Calculating coin hours with t < head time") + log.Printf("Calculating coin hours with t < head time") return uo.Body.Hours, nil } @@ -100,7 +101,7 @@ func (uo *UxOut) CoinHours(t uint64) (uint64, error) { wholeCoinSeconds, err := multUint64(seconds, wholeCoins) if err != nil { err := fmt.Errorf("UxOut.CoinHours: Calculating whole coin seconds overflows uint64 seconds=%d coins=%d uxid=%s", seconds, wholeCoins, uo.Hash().Hex()) - logger.Critical().Error(err) + log.Printf("%v", err) return 0, err } @@ -109,7 +110,7 @@ func (uo *UxOut) CoinHours(t uint64) (uint64, error) { dropletSeconds, err := multUint64(seconds, remainderDroplets) if err != nil { err := fmt.Errorf("UxOut.CoinHours: Calculating droplet seconds overflows uint64 seconds=%d droplets=%d uxid=%s", seconds, remainderDroplets, uo.Hash().Hex()) - logger.Critical().Error(err) + log.Printf("%v", err) return 0, err } @@ -119,7 +120,7 @@ func (uo *UxOut) CoinHours(t uint64) (uint64, error) { coinHours := coinSeconds / 3600 // coin hours totalHours, err := AddUint64(uo.Body.Hours, coinHours) // starting+earned if err != nil { - logger.Critical().Errorf("%v uxid=%s", ErrAddEarnedCoinHoursAdditionOverflow, uo.Hash().Hex()) + log.Printf("%v uxid=%s", ErrAddEarnedCoinHoursAdditionOverflow, uo.Hash().Hex()) return 0, ErrAddEarnedCoinHoursAdditionOverflow } return totalHours, nil diff --git a/src/coin/transactions.go b/src/coin/transactions.go index b18330c..d55e164 100755 --- a/src/coin/transactions.go +++ b/src/coin/transactions.go @@ -4,6 +4,7 @@ import ( "bytes" "errors" "fmt" + "log" "math" "sort" @@ -146,17 +147,17 @@ func (txn *Transaction) Verify() error { func (txn Transaction) VerifyInput(uxIn UxArray) error { if DebugLevel2 { if len(txn.In) != len(uxIn) { - logger.Panic("tx.In != uxIn") + log.Panic("tx.In != uxIn") } if len(txn.In) != len(txn.Sigs) { - logger.Panic("tx.In != tx.Sigs") + log.Panic("tx.In != tx.Sigs") } if txn.InnerHash != txn.HashInner() { - logger.Panic("Invalid Tx Inner Hash") + log.Panic("Invalid Tx Inner Hash") } for i := range txn.In { if txn.In[i] != uxIn[i].Hash() { - logger.Panic("Ux hash mismatch") + log.Panic("Ux hash mismatch") } } } @@ -177,7 +178,7 @@ func (txn Transaction) VerifyInput(uxIn UxArray) error { // Returns the signature index for later signing func (txn *Transaction) PushInput(uxOut cipher.SHA256) uint16 { if len(txn.In) >= math.MaxUint16 { - logger.Panic("Max transaction inputs reached") + log.Panic("Max transaction inputs reached") } txn.In = append(txn.In, uxOut) return uint16(len(txn.In) - 1) @@ -208,16 +209,16 @@ func (txn *Transaction) SignInputs(keys []cipher.SecKey) { txn.InnerHash = txn.HashInner() // update hash if len(txn.Sigs) != 0 { - logger.Panic("Transaction has been signed") + log.Panic("Transaction has been signed") } if len(keys) != len(txn.In) { - logger.Panic("Invalid number of keys") + log.Panic("Invalid number of keys") } if len(keys) > math.MaxUint16 { - logger.Panic("Too many keys") + log.Panic("Too many keys") } if len(keys) == 0 { - logger.Panic("No keys") + log.Panic("No keys") } sigs := make([]cipher.Sig, len(txn.In)) @@ -284,7 +285,7 @@ func (txn *Transaction) Serialize() []byte { func MustTransactionDeserialize(b []byte) Transaction { t, err := TransactionDeserialize(b) if err != nil { - logger.Panicf("Failed to deserialize transaction: %v", err) + log.Panicf("Failed to deserialize transaction: %v", err) } return t } diff --git a/src/coin/transactions_test.go b/src/coin/transactions_test.go index e5e6fd9..a63e1ee 100755 --- a/src/coin/transactions_test.go +++ b/src/coin/transactions_test.go @@ -16,7 +16,7 @@ import ( _require "github.com/skycoin/skycoin/src/testutil/require" ) -func makeTransactionFromUxOut(t *testing.T, ux UxOut, s cipher.SecKey) Transaction { +func makeTransactionFromUxOut(ux UxOut, s cipher.SecKey) Transaction { tx := Transaction{} tx.PushInput(ux.Hash()) tx.PushOutput(makeAddress(), 1e6, 50) @@ -28,10 +28,10 @@ func makeTransactionFromUxOut(t *testing.T, ux UxOut, s cipher.SecKey) Transacti func makeTransaction(t *testing.T) Transaction { ux, s := makeUxOutWithSecret(t) - return makeTransactionFromUxOut(t, ux, s) + return makeTransactionFromUxOut(ux, s) } -func makeTransactions(t *testing.T, n int) Transactions { +func makeTransactions(t *testing.T, n int) Transactions { // nolint: unparam txns := make(Transactions, n) for i := range txns { txns[i] = makeTransaction(t) @@ -94,7 +94,7 @@ func TestTransactionVerify(t *testing.T) { // Duplicate inputs ux, s := makeUxOutWithSecret(t) - tx = makeTransactionFromUxOut(t, ux, s) + tx = makeTransactionFromUxOut(ux, s) tx.PushInput(tx.In[0]) tx.Sigs = nil tx.SignInputs([]cipher.SecKey{s, s}) @@ -162,14 +162,14 @@ func TestTransactionVerifyInput(t *testing.T) { // tx.In != tx.Sigs ux, s := makeUxOutWithSecret(t) - tx = makeTransactionFromUxOut(t, ux, s) + tx = makeTransactionFromUxOut(ux, s) tx.Sigs = []cipher.Sig{} _require.PanicsWithLogMessage(t, "tx.In != tx.Sigs", func() { tx.VerifyInput(UxArray{ux}) }) ux, s = makeUxOutWithSecret(t) - tx = makeTransactionFromUxOut(t, ux, s) + tx = makeTransactionFromUxOut(ux, s) tx.Sigs = append(tx.Sigs, cipher.Sig{}) _require.PanicsWithLogMessage(t, "tx.In != tx.Sigs", func() { tx.VerifyInput(UxArray{ux}) @@ -177,7 +177,7 @@ func TestTransactionVerifyInput(t *testing.T) { // tx.InnerHash != tx.HashInner() ux, s = makeUxOutWithSecret(t) - tx = makeTransactionFromUxOut(t, ux, s) + tx = makeTransactionFromUxOut(ux, s) tx.InnerHash = cipher.SHA256{} _require.PanicsWithLogMessage(t, "Invalid Tx Inner Hash", func() { tx.VerifyInput(UxArray{ux}) @@ -185,21 +185,21 @@ func TestTransactionVerifyInput(t *testing.T) { // tx.In does not match uxIn hashes ux, s = makeUxOutWithSecret(t) - tx = makeTransactionFromUxOut(t, ux, s) + tx = makeTransactionFromUxOut(ux, s) _require.PanicsWithLogMessage(t, "Ux hash mismatch", func() { tx.VerifyInput(UxArray{UxOut{}}) }) // Invalid signature ux, s = makeUxOutWithSecret(t) - tx = makeTransactionFromUxOut(t, ux, s) + tx = makeTransactionFromUxOut(ux, s) tx.Sigs[0] = cipher.Sig{} err := tx.VerifyInput(UxArray{ux}) testutil.RequireError(t, err, "Signature not valid for output being spent") // Valid ux, s = makeUxOutWithSecret(t) - tx = makeTransactionFromUxOut(t, ux, s) + tx = makeTransactionFromUxOut(ux, s) err = tx.VerifyInput(UxArray{ux}) require.NoError(t, err) } @@ -336,59 +336,6 @@ func TestTransactionOutputHours(t *testing.T) { testutil.RequireError(t, err, "Transaction output hours overflow") } -type outAddr struct { - Addr cipher.Address - Coins uint64 - Hours uint64 -} - -func makeTx(s cipher.SecKey, ux *UxOut, outs []outAddr, tm uint64, seq uint64) (*Transaction, UxArray, error) { - if ux == nil { - // genesis block tx. - tx := Transaction{} - tx.PushOutput(outs[0].Addr, outs[0].Coins, outs[0].Hours) - _, s = cipher.GenerateKeyPair() - ux := UxOut{ - Head: UxHead{ - Time: 100, - BkSeq: 0, - }, - Body: UxBody{ - SrcTransaction: tx.InnerHash, - Address: outs[0].Addr, - Coins: outs[0].Coins, - Hours: outs[0].Hours, - }, - } - return &tx, []UxOut{ux}, nil - } - - tx := Transaction{} - tx.PushInput(ux.Hash()) - tx.SignInputs([]cipher.SecKey{s}) - for _, o := range outs { - tx.PushOutput(o.Addr, o.Coins, o.Hours) - } - tx.UpdateHeader() - - uxo := make(UxArray, len(tx.Out)) - for i := range tx.Out { - uxo[i] = UxOut{ - Head: UxHead{ - Time: tm, - BkSeq: seq, - }, - Body: UxBody{ - SrcTransaction: tx.Hash(), - Address: tx.Out[i].Address, - Coins: tx.Out[i].Coins, - Hours: tx.Out[i].Hours, - }, - } - } - return &tx, uxo, nil -} - func TestTransactionsSize(t *testing.T) { txns := makeTransactions(t, 10) size := 0 diff --git a/src/daemon/announced_txns.go b/src/daemon/announced_txns.go new file mode 100755 index 0000000..b67191d --- /dev/null +++ b/src/daemon/announced_txns.go @@ -0,0 +1,44 @@ +package daemon + +import ( + "sync" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/util/utc" +) + +type announcedTxnsCache struct { + sync.Mutex + cache map[cipher.SHA256]int64 +} + +func newAnnouncedTxnsCache() *announcedTxnsCache { + return &announcedTxnsCache{ + cache: make(map[cipher.SHA256]int64), + } +} + +func (c *announcedTxnsCache) add(txns []cipher.SHA256) { + c.Lock() + defer c.Unlock() + + t := utc.Now().UnixNano() + for _, txn := range txns { + c.cache[txn] = t + } +} + +func (c *announcedTxnsCache) flush() map[cipher.SHA256]int64 { + c.Lock() + defer c.Unlock() + + if len(c.cache) == 0 { + return nil + } + + cache := c.cache + + c.cache = make(map[cipher.SHA256]int64) + + return cache +} diff --git a/src/daemon/daemon.go b/src/daemon/daemon.go index 2292765..7e78539 100755 --- a/src/daemon/daemon.go +++ b/src/daemon/daemon.go @@ -4,15 +4,15 @@ import ( "bytes" "errors" "reflect" - "runtime/debug" "sync" "time" - "github.com/boltdb/bolt" - "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/daemon/gnet" "github.com/skycoin/skycoin/src/daemon/pex" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/dbutil" "github.com/skycoin/skycoin/src/util/elapse" "github.com/skycoin/skycoin/src/util/iputil" @@ -49,7 +49,15 @@ var ( ErrDisconnectIPLimitReached gnet.DisconnectReason = errors.New("Maximum number of connections for this IP was reached") // ErrDisconnectOtherError this is returned when a seemingly impossible error is encountered // e.g. net.Conn.Addr() returns an invalid ip:port - ErrDisconnectOtherError gnet.DisconnectReason = errors.New("Incomprehensible error") + ErrDisconnectOtherError gnet.DisconnectReason = errors.New("Incomprehensible error") + ErrDisconnectMaxDefaultConnectionReached = errors.New("Maximum number of default connections was reached") + // ErrDisconnectMaxOutgoingConnectionsReached is returned when connection pool size is greater than the maximum allowed + ErrDisconnectMaxOutgoingConnectionsReached gnet.DisconnectReason = errors.New("Maximum outgoing connections was reached") + // ErrDisconnectBlockchainPubkeyNotMatched is returned when the blockchain pubkey in introduction does not match + ErrDisconnectBlockchainPubkeyNotMatched gnet.DisconnectReason = errors.New("Blockchain pubkey in Introduction message is not matched ") + // ErrDisconnectInvalidExtraData is returned when extra field can't be parsed as specific data type. + // e.g. ExtraData length in IntroductionMessage is not the same as cipher.PubKey + ErrDisconnectInvalidExtraData gnet.DisconnectReason = errors.New("Invalid extra data") logger = logging.MustGetLogger("daemon") ) @@ -65,7 +73,7 @@ type Config struct { Pool PoolConfig Pex pex.Config Gateway GatewayConfig - Visor VisorConfig + Visor visor.Config } // NewConfig returns a Config with defaults set @@ -76,7 +84,7 @@ func NewConfig() Config { Pex: pex.NewConfig(), Gateway: NewGatewayConfig(), Messages: NewMessagesConfig(), - Visor: NewVisorConfig(), + Visor: visor.NewVisorConfig(), } } @@ -105,15 +113,12 @@ func (cfg *Config) preprocess() Config { config.Pex.Disabled = true config.Daemon.DisableIncomingConnections = true config.Daemon.DisableOutgoingConnections = true - config.Visor.DisableNetworking = true } else { if config.Daemon.DisableIncomingConnections { logger.Info("Incoming connections are disabled.") } if config.Daemon.DisableOutgoingConnections { logger.Info("Outgoing connections are disabled.") - // Visor only makes outgoing connections - config.Visor.DisableNetworking = true } } @@ -122,10 +127,12 @@ func (cfg *Config) preprocess() Config { // DaemonConfig configuration for the Daemon type DaemonConfig struct { // nolint: golint - // Application version. TODO -- manage version better + // Protocol version. TODO -- manage version better Version int32 // IP Address to serve on. Leave empty for automatic assignment Address string + // BlockchainPubkey blockchain pubkey string + BlockchainPubkey cipher.PubKey // TCP/UDP port for connections Port int // Directory where application data is stored @@ -157,30 +164,86 @@ type DaemonConfig struct { // nolint: golint LocalhostOnly bool // Log ping and pong messages LogPings bool + // How often to request blocks from peers + BlocksRequestRate time.Duration + // How often to announce our blocks to peers + BlocksAnnounceRate time.Duration + // How many blocks to respond with to a GetBlocksMessage + BlocksResponseCount uint64 + // Max announce txns hash number + MaxTxnAnnounceNum int + // How often new blocks are created by the signing node, in seconds + BlockCreationInterval uint64 + // How often to check the unconfirmed pool for transactions that become valid + UnconfirmedRefreshRate time.Duration + // How often to remove transactions that become permanently invalid from the unconfirmed pool + UnconfirmedRemoveInvalidRate time.Duration } // NewDaemonConfig creates daemon config func NewDaemonConfig() DaemonConfig { return DaemonConfig{ - Version: 2, - Address: "", - Port: 6677, - OutgoingRate: time.Second * 5, - PrivateRate: time.Second * 5, - OutgoingMax: 16, - PendingMax: 16, - IntroductionWait: time.Second * 30, - CullInvalidRate: time.Second * 3, - FlushAnnouncedTxnsRate: time.Second * 3, - IPCountsMax: 3, - DisableNetworking: false, - DisableOutgoingConnections: false, - DisableIncomingConnections: false, - LocalhostOnly: false, - LogPings: true, + Version: 2, + Address: "", + Port: 6677, + OutgoingRate: time.Second * 5, + PrivateRate: time.Second * 5, + OutgoingMax: 8, + PendingMax: 8, + IntroductionWait: time.Second * 30, + CullInvalidRate: time.Second * 3, + FlushAnnouncedTxnsRate: time.Second * 3, + IPCountsMax: 3, + DisableNetworking: false, + DisableOutgoingConnections: false, + DisableIncomingConnections: false, + LocalhostOnly: false, + LogPings: true, + BlocksRequestRate: time.Second * 60, + BlocksAnnounceRate: time.Second * 60, + BlocksResponseCount: 20, + MaxTxnAnnounceNum: 16, + BlockCreationInterval: 10, + UnconfirmedRefreshRate: time.Minute, + UnconfirmedRemoveInvalidRate: time.Minute, } } +//go:generate go install +//go:generate goautomock -template=testify Daemoner + +// Daemoner Daemon interface +type Daemoner interface { + SendMessage(addr string, msg gnet.Message) error + BroadcastMessage(msg gnet.Message) error + Disconnect(addr string, r gnet.DisconnectReason) error + IsDefaultConnection(addr string) bool + IsMaxDefaultConnectionsReached() (bool, error) + PexConfig() pex.Config + RandomExchangeable(n int) pex.Peers + AddPeer(addr string) error + AddPeers(addrs []string) int + SetHasIncomingPort(addr string) error + IncreaseRetryTimes(addr string) + ResetRetryTimes(addr string) + RecordPeerHeight(addr string, height uint64) + GetSignedBlocksSince(seq, count uint64) ([]coin.SignedBlock, error) + HeadBkSeq() (uint64, bool, error) + ExecuteSignedBlock(b coin.SignedBlock) error + GetUnconfirmedUnknown(txns []cipher.SHA256) ([]cipher.SHA256, error) + GetUnconfirmedKnown(txns []cipher.SHA256) (coin.Transactions, error) + InjectTransaction(txn coin.Transaction) (bool, *visor.ErrTxnViolatesSoftConstraint, error) + Mirror() uint32 + DaemonConfig() DaemonConfig + BlockchainPubkey() cipher.PubKey + RecordMessageEvent(m AsyncMessage, c *gnet.MessageContext) error + RecordConnectionMirror(addr string, mirror uint32) error + GetMirrorPort(addr string, mirror uint32) (uint16, bool) + RemoveFromExpectingIntroductions(addr string) + RequestBlocksFromAddr(addr string) error + AnnounceAllTxns() error +} + // Daemon stateful properties of the daemon type Daemon struct { // Daemon configuration @@ -188,13 +251,18 @@ type Daemon struct { // Components Messages *Messages - Pool *Pool - Pex *pex.Pex + pool *Pool + pex *pex.Pex Gateway *Gateway - Visor *Visor + visor *visor.Visor DefaultConnections []string + // Cache of announced transactions that are flushed to the database periodically + announcedTxns *announcedTxnsCache + // Cache of reported peer blockchain heights + Heights *peerBlockchainHeights + // Separate index of outgoing connections. The pool aggregates all // connections. outgoingConnections *OutgoingConnections @@ -222,18 +290,18 @@ type Daemon struct { ipCounts *IPCount // Message handling queue messageEvents chan MessageEvent - // Cache of announced transactions that are flushed to the database periodically - announcedTxns *announcedTxnsCache // quit channel - quitC chan struct{} + quit chan struct{} + // done channel + done chan struct{} // log buffer LogBuff bytes.Buffer } // NewDaemon returns a Daemon with primitives allocated -func NewDaemon(config Config, db *bolt.DB, defaultConns []string) (*Daemon, error) { +func NewDaemon(config Config, db *dbutil.DB, defaultConns []string) (*Daemon, error) { config = config.preprocess() - vs, err := NewVisor(config.Visor, db) + vs, err := visor.NewVisor(config.Visor, db) if err != nil { return nil, err } @@ -246,10 +314,13 @@ func NewDaemon(config Config, db *bolt.DB, defaultConns []string) (*Daemon, erro d := &Daemon{ Config: config.Daemon, Messages: NewMessages(config.Messages), - Pex: pex, - Visor: vs, + pex: pex, + visor: vs, + + DefaultConnections: defaultConns, - DefaultConnections: defaultConns, //passed in from top level + announcedTxns: newAnnouncedTxnsCache(), + Heights: newPeerBlockchainHeights(), expectingIntroductions: NewExpectIntroductions(), connectionMirrors: NewConnectionMirrors(), @@ -264,13 +335,13 @@ func NewDaemon(config Config, db *bolt.DB, defaultConns []string) (*Daemon, erro outgoingConnections: NewOutgoingConnections(config.Daemon.OutgoingMax), pendingConnections: NewPendingConnections(config.Daemon.PendingMax), messageEvents: make(chan MessageEvent, config.Pool.EventChannelSize), - announcedTxns: newAnnouncedTxnsCache(), - quitC: make(chan struct{}), + quit: make(chan struct{}), + done: make(chan struct{}), } d.Gateway = NewGateway(config.Gateway, d) d.Messages.Config.Register() - d.Pool = NewPool(config.Pool, d) + d.pool = NewPool(config.Pool, d) return d, nil } @@ -303,43 +374,44 @@ type MessageEvent struct { // over the quit channel provided to Init. The Daemon run loop must be stopped // before calling this function. func (dm *Daemon) Shutdown() { + defer logger.Info("Daemon shutdown complete") + // close daemon run loop first to avoid creating new connection after // the connection pool is shutdown. - close(dm.quitC) + logger.Info("Stopping the daemon run loop") + close(dm.quit) - dm.Pool.Shutdown() + logger.Info("Shutting down Pool") + dm.pool.Shutdown() + + logger.Info("Shutting down Gateway") dm.Gateway.Shutdown() - dm.Pex.Shutdown() - dm.Visor.Shutdown() + + logger.Info("Shutting down Pex") + dm.pex.Shutdown() + + <-dm.done } // Run main loop for peer/connection management. // Send anything to the quit channel to shut it down. func (dm *Daemon) Run() error { - defer func() { - if r := recover(); r != nil { - logger.Errorf("recover:%v\n stack:%v", r, string(debug.Stack())) - } + defer logger.Info("Daemon closed") + defer close(dm.done) - logger.Info("Daemon closed") - }() + if err := dm.visor.Init(); err != nil { + logger.WithError(err).Error("visor.Visor.Init failed") + return err + } errC := make(chan error, 5) - wg := sync.WaitGroup{} + var wg sync.WaitGroup - // start visor wg.Add(1) go func() { defer wg.Done() - if err := dm.Visor.Run(); err != nil { - errC <- err - } - }() - - wg.Add(1) - go func() { - defer wg.Done() - if err := dm.Pex.Run(); err != nil { + if err := dm.pex.Run(); err != nil { + logger.WithError(err).Error("daemon.Pex.Run failed") errC <- err } }() @@ -348,36 +420,35 @@ func (dm *Daemon) Run() error { go func() { defer wg.Done() if dm.Config.DisableIncomingConnections { - if err := dm.Pool.RunOffline(); err != nil { + if err := dm.pool.RunOffline(); err != nil { + logger.WithError(err).Error("daemon.Pool.RunOffline failed") errC <- err } } else { - if err := dm.Pool.Run(); err != nil { + if err := dm.pool.Run(); err != nil { + logger.WithError(err).Error("daemon.Pool.Run failed") errC <- err } } }() - // TODO -- run blockchain stuff in its own goroutine - blockInterval := time.Duration(dm.Visor.Config.Config.BlockCreationInterval) - // blockchainBackupTicker := time.Tick(self.Visor.Config.BlockchainBackupRate) + blockInterval := time.Duration(dm.Config.BlockCreationInterval) blockCreationTicker := time.NewTicker(time.Second * blockInterval) - if !dm.Visor.Config.Config.IsMaster { + if !dm.visor.Config.IsMaster { blockCreationTicker.Stop() } - unconfirmedRefreshTicker := time.Tick(dm.Visor.Config.Config.UnconfirmedRefreshRate) - unconfirmedRemoveInvalidTicker := time.Tick(dm.Visor.Config.Config.UnconfirmedRemoveInvalidRate) - blocksRequestTicker := time.Tick(dm.Visor.Config.BlocksRequestRate) - blocksAnnounceTicker := time.Tick(dm.Visor.Config.BlocksAnnounceRate) + unconfirmedRefreshTicker := time.Tick(dm.Config.UnconfirmedRefreshRate) + unconfirmedRemoveInvalidTicker := time.Tick(dm.Config.UnconfirmedRemoveInvalidRate) + blocksRequestTicker := time.Tick(dm.Config.BlocksRequestRate) + blocksAnnounceTicker := time.Tick(dm.Config.BlocksAnnounceRate) privateConnectionsTicker := time.Tick(dm.Config.PrivateRate) cullInvalidTicker := time.Tick(dm.Config.CullInvalidRate) outgoingConnectionsTicker := time.Tick(dm.Config.OutgoingRate) - // clearOldPeersTicker := time.Tick(dm.Peers.Config.CullRate) - requestPeersTicker := time.Tick(dm.Pex.Config.RequestRate) - clearStaleConnectionsTicker := time.Tick(dm.Pool.Config.ClearStaleRate) - idleCheckTicker := time.Tick(dm.Pool.Config.IdleCheckRate) + requestPeersTicker := time.Tick(dm.pex.Config.RequestRate) + clearStaleConnectionsTicker := time.Tick(dm.pool.Config.ClearStaleRate) + idleCheckTicker := time.Tick(dm.pool.Config.IdleCheckRate) flushAnnouncedTxnsTicker := time.Tick(dm.Config.FlushAnnouncedTxnsRate) @@ -405,10 +476,10 @@ func (dm *Daemon) Run() error { for { elapser.CheckForDone() select { - case <-dm.quitC: + case <-dm.quit: break loop - case r := <-dm.Pool.Pool.SendResults: + case r := <-dm.pool.Pool.SendResults: // Process message sending results elapser.Register("dm.Pool.Pool.SendResults") if dm.Config.DisableNetworking { @@ -424,7 +495,7 @@ loop: for { elapser.CheckForDone() select { - case <-dm.quitC: + case <-dm.quit: break loop case <-cullInvalidTicker: @@ -437,16 +508,16 @@ loop: case <-requestPeersTicker: // Request peers via PEX elapser.Register("requestPeersTicker") - if dm.Pex.Config.Disabled { + if dm.pex.Config.Disabled { continue } - if dm.Pex.IsFull() { + if dm.pex.IsFull() { continue } m := NewGetPeersMessage() - if err := dm.Pool.Pool.BroadcastMessage(m); err != nil { + if err := dm.pool.Pool.BroadcastMessage(m); err != nil { logger.Error(err) } @@ -454,20 +525,20 @@ loop: // Remove connections that haven't said anything in a while elapser.Register("clearStaleConnectionsTicker") if !dm.Config.DisableNetworking { - dm.Pool.clearStaleConnections() + dm.pool.clearStaleConnections() } case <-idleCheckTicker: // Sends pings as needed elapser.Register("idleCheckTicker") if !dm.Config.DisableNetworking { - dm.Pool.sendPings() + dm.pool.sendPings() } case <-outgoingConnectionsTicker: // Fill up our outgoing connections elapser.Register("outgoingConnectionsTicker") - trustPeerNum := len(dm.Pex.Trusted()) + trustPeerNum := len(dm.pex.Trusted()) if !dm.Config.DisableOutgoingConnections && dm.outgoingConnections.Len() < (dm.Config.OutgoingMax+trustPeerNum) && dm.pendingConnections.Len() < dm.Config.PendingMax { @@ -513,7 +584,11 @@ loop: case <-flushAnnouncedTxnsTicker: elapser.Register("flushAnnouncedTxnsTicker") txns := dm.announcedTxns.flush() - dm.Visor.SetTxnsAnnounced(txns) + + if err := dm.visor.SetTxnsAnnounced(txns); err != nil { + logger.WithError(err).Error("Failed to set unconfirmed txn announce time") + return err + } case m := <-dm.messageEvents: // Message handlers @@ -532,10 +607,10 @@ loop: case <-blockCreationTicker.C: // Create blocks, if master chain elapser.Register("blockCreationTicker.C") - if dm.Visor.Config.Config.IsMaster { - sb, err := dm.Visor.CreateAndPublishBlock(dm.Pool) + if dm.visor.Config.IsMaster { + sb, err := dm.CreateAndPublishBlock() if err != nil { - logger.Errorf("Failed to create block: %v", err) + logger.Errorf("Failed to create and publish block: %v", err) continue } @@ -547,18 +622,18 @@ loop: case <-unconfirmedRefreshTicker: elapser.Register("unconfirmedRefreshTicker") // Get the transactions that turn to valid - validTxns, err := dm.Visor.RefreshUnconfirmed() + validTxns, err := dm.visor.RefreshUnconfirmed() if err != nil { logger.Errorf("dm.Visor.RefreshUnconfirmed failed: %v", err) continue } // Announce these transactions - dm.Visor.AnnounceTxns(dm.Pool, validTxns) + dm.AnnounceTxns(validTxns) case <-unconfirmedRemoveInvalidTicker: elapser.Register("unconfirmedRemoveInvalidTicker") // Remove transactions that become invalid (violating hard constraints) - removedTxns, err := dm.Visor.RemoveInvalidUnconfirmed() + removedTxns, err := dm.visor.RemoveInvalidUnconfirmed() if err != nil { logger.Errorf("dm.Visor.RemoveInvalidUnconfirmed failed: %v", err) continue @@ -569,11 +644,11 @@ loop: case <-blocksRequestTicker: elapser.Register("blocksRequestTicker") - dm.Visor.RequestBlocks(dm.Pool) + dm.RequestBlocks() case <-blocksAnnounceTicker: elapser.Register("blocksAnnounceTicker") - dm.Visor.AnnounceBlocks(dm.Pool) + dm.AnnounceBlocks() case err = <-errC: break loop @@ -623,7 +698,7 @@ func (dm *Daemon) connectToPeer(p pex.Peer) error { return errors.New("Not localhost") } - conned, err := dm.Pool.Pool.IsConnExist(p.Addr) + conned, err := dm.pool.Pool.IsConnExist(p.Addr) if err != nil { return err } @@ -643,7 +718,7 @@ func (dm *Daemon) connectToPeer(p pex.Peer) error { logger.Debugf("Trying to connect to %s", p.Addr) dm.pendingConnections.Add(p.Addr, p) go func() { - if err := dm.Pool.Pool.Connect(p.Addr); err != nil { + if err := dm.pool.Pool.Connect(p.Addr); err != nil { dm.connectionErrors <- ConnectionError{p.Addr, err} } }() @@ -656,7 +731,7 @@ func (dm *Daemon) makePrivateConnections() { return } - peers := dm.Pex.Private() + peers := dm.pex.Private() for _, p := range peers { logger.Infof("Private peer attempt: %s", p.Addr) if err := dm.connectToPeer(p); err != nil { @@ -672,7 +747,7 @@ func (dm *Daemon) connectToTrustPeer() { logger.Info("Connect to trusted peers") // Make connections to all trusted peers - peers := dm.Pex.TrustedPublic() + peers := dm.pex.TrustedPublic() for _, p := range peers { dm.connectToPeer(p) } @@ -685,12 +760,12 @@ func (dm *Daemon) connectToRandomPeer() { } // Make a connection to a random (public) peer - peers := dm.Pex.RandomPublic(0) + peers := dm.pex.RandomPublic(dm.Config.OutgoingMax) for _, p := range peers { // Check if the peer has public port if p.HasIncomingPort { // Try to connect the peer if it's ip:mirror does not exist - if _, exist := dm.getMirrorPort(p.Addr, dm.Messages.Mirror); !exist { + if _, exist := dm.GetMirrorPort(p.Addr, dm.Messages.Mirror); !exist { dm.connectToPeer(p) continue } @@ -702,7 +777,7 @@ func (dm *Daemon) connectToRandomPeer() { if len(peers) == 0 { // Reset the retry times of all peers, - dm.Pex.ResetAllRetryTimes() + dm.pex.ResetAllRetryTimes() } } @@ -712,7 +787,7 @@ func (dm *Daemon) handleConnectionError(c ConnectionError) { logger.Debugf("Failed to connect to %s with error: %v", c.Addr, c.Error) dm.pendingConnections.Remove(c.Addr) - dm.Pex.IncreaseRetryTimes(c.Addr) + dm.pex.IncreaseRetryTimes(c.Addr) } // Removes unsolicited connections who haven't sent a version @@ -722,7 +797,7 @@ func (dm *Daemon) cullInvalidConnections() { now := utc.Now() addrs, err := dm.expectingIntroductions.CullInvalidConns( func(addr string, t time.Time) (bool, error) { - conned, err := dm.Pool.Pool.IsConnExist(addr) + conned, err := dm.pool.Pool.IsConnExist(addr) if err != nil { return false, err } @@ -748,7 +823,7 @@ func (dm *Daemon) cullInvalidConnections() { } for _, a := range addrs { - exist, err := dm.Pool.Pool.IsConnExist(a) + exist, err := dm.pool.Pool.IsConnExist(a) if err != nil { logger.Error(err) return @@ -756,17 +831,17 @@ func (dm *Daemon) cullInvalidConnections() { if exist { logger.Infof("Removing %s for not sending a version", a) - if err := dm.Pool.Pool.Disconnect(a, ErrDisconnectIntroductionTimeout); err != nil { + if err := dm.pool.Pool.Disconnect(a, ErrDisconnectIntroductionTimeout); err != nil { logger.Error(err) return } - dm.Pex.RemovePeer(a) + dm.pex.RemovePeer(a) } } } func (dm *Daemon) isTrustedPeer(addr string) bool { - peer, ok := dm.Pex.GetPeerByAddr(addr) + peer, ok := dm.pex.GetPeerByAddr(addr) if !ok { return false } @@ -774,9 +849,9 @@ func (dm *Daemon) isTrustedPeer(addr string) bool { return peer.Trusted } -// Records an AsyncMessage to the messageEvent chan. Do not access +// RecordMessageEvent records an AsyncMessage to the messageEvent chan. Do not access // messageEvent directly. -func (dm *Daemon) recordMessageEvent(m AsyncMessage, c *gnet.MessageContext) error { +func (dm *Daemon) RecordMessageEvent(m AsyncMessage, c *gnet.MessageContext) error { dm.messageEvents <- MessageEvent{m, c} return nil } @@ -798,7 +873,7 @@ func (dm *Daemon) processMessageEvent(e MessageEvent) { if dm.needsIntro(e.Context.Addr) { _, isIntro := e.Message.(*IntroductionMessage) if !isIntro { - dm.Pool.Pool.Disconnect(e.Context.Addr, ErrDisconnectNoIntroduction) + dm.pool.Pool.Disconnect(e.Context.Addr, ErrDisconnectNoIntroduction) } } e.Message.Process(dm) @@ -816,7 +891,7 @@ func (dm *Daemon) onConnect(e ConnectEvent) { dm.pendingConnections.Remove(a) - exist, err := dm.Pool.Pool.IsConnExist(a) + exist, err := dm.pool.Pool.IsConnExist(a) if err != nil { logger.Error(err) return @@ -829,20 +904,34 @@ func (dm *Daemon) onConnect(e ConnectEvent) { if dm.ipCountMaxed(a) { logger.Infof("Max connections for %s reached, disconnecting", a) - dm.Pool.Pool.Disconnect(a, ErrDisconnectIPLimitReached) + dm.pool.Pool.Disconnect(a, ErrDisconnectIPLimitReached) return } dm.recordIPCount(a) if e.Solicited { + // Disconnect if the max outgoing connections is reached + n, err := dm.pool.Pool.OutgoingConnectionsNum() + if err != nil { + logger.WithError(err).Error("get outgoing connections number failed") + return + } + + if n > dm.Config.OutgoingMax { + logger.Warningf("max outgoing connections is reached, disconnecting %v", a) + dm.pool.Pool.Disconnect(a, ErrDisconnectMaxOutgoingConnectionsReached) + return + } + dm.outgoingConnections.Add(a) } dm.expectingIntroductions.Add(a, utc.Now()) logger.Debugf("Sending introduction message to %s, mirror:%d", a, dm.Messages.Mirror) - m := NewIntroductionMessage(dm.Messages.Mirror, dm.Config.Version, dm.Pool.Pool.Config.Port) - if err := dm.Pool.Pool.SendMessage(a, m); err != nil { + // TODO: replace the last paramenter of nil with dm.Config.BlockchainPubkey in v25 + m := NewIntroductionMessage(dm.Messages.Mirror, dm.Config.Version, dm.pool.Pool.Config.Port, nil) + if err := dm.pool.Pool.SendMessage(a, m); err != nil { logger.Errorf("Send IntroductionMessage to %s failed: %v", a, err) } } @@ -852,7 +941,7 @@ func (dm *Daemon) onDisconnect(e DisconnectEvent) { dm.outgoingConnections.Remove(e.Addr) dm.expectingIntroductions.Remove(e.Addr) - dm.Visor.RemoveConnection(e.Addr) + dm.Heights.Remove(e.Addr) dm.removeIPCount(e.Addr) dm.removeConnectionMirror(e.Addr) } @@ -909,11 +998,11 @@ func (dm *Daemon) removeIPCount(addr string) { dm.ipCounts.Decrease(ip) } -// Adds addr + mirror to the connectionMirror mappings -func (dm *Daemon) recordConnectionMirror(addr string, mirror uint32) error { +// RecordConnectionMirror adds addr + mirror to the connectionMirror mappings +func (dm *Daemon) RecordConnectionMirror(addr string, mirror uint32) error { ip, port, err := iputil.SplitAddr(addr) if err != nil { - logger.Warningf("recordConnectionMirror called with invalid addr: %v", err) + logger.Warningf("RecordConnectionMirror called with invalid addr: %v", err) return err } dm.connectionMirrors.Add(addr, mirror) @@ -939,8 +1028,8 @@ func (dm *Daemon) removeConnectionMirror(addr string) { dm.connectionMirrors.Remove(addr) } -// Returns whether an addr+mirror's port and whether the port exists -func (dm *Daemon) getMirrorPort(addr string, mirror uint32) (uint16, bool) { +// GetMirrorPort returns whether an addr+mirror's port and whether the port exists +func (dm *Daemon) GetMirrorPort(addr string, mirror uint32) (uint16, bool) { ip, _, err := iputil.SplitAddr(addr) if err != nil { logger.Warningf("getMirrorPort called with invalid addr: %v", err) @@ -964,38 +1053,363 @@ func (dm *Daemon) handleMessageSendResult(r gnet.SendResult) { } } -type announcedTxnsCache struct { - sync.Mutex - cache map[cipher.SHA256]int64 +// RequestBlocks Sends a GetBlocksMessage to all connections +func (dm *Daemon) RequestBlocks() error { + if dm.Config.DisableOutgoingConnections { + return nil + } + + headSeq, ok, err := dm.visor.HeadBkSeq() + if err != nil { + return err + } + if !ok { + return errors.New("Cannot request blocks, there is no head block") + } + + m := NewGetBlocksMessage(headSeq, dm.Config.BlocksResponseCount) + + err = dm.pool.Pool.BroadcastMessage(m) + if err != nil { + logger.Debugf("Broadcast GetBlocksMessage failed: %v", err) + } + + return err +} + +// AnnounceBlocks sends an AnnounceBlocksMessage to all connections +func (dm *Daemon) AnnounceBlocks() error { + if dm.Config.DisableOutgoingConnections { + return nil + } + + headSeq, ok, err := dm.visor.HeadBkSeq() + if err != nil { + return err + } + if !ok { + return errors.New("Cannot announce blocks, there is no head block") + } + + m := NewAnnounceBlocksMessage(headSeq) + + err = dm.pool.Pool.BroadcastMessage(m) + if err != nil { + logger.Debugf("Broadcast AnnounceBlocksMessage failed: %v", err) + } + + return err } -func newAnnouncedTxnsCache() *announcedTxnsCache { - return &announcedTxnsCache{ - cache: make(map[cipher.SHA256]int64), +// AnnounceAllTxns announces local unconfirmed transactions +func (dm *Daemon) AnnounceAllTxns() error { + if dm.Config.DisableOutgoingConnections { + return nil + } + + // Get local unconfirmed transaction hashes. + hashes, err := dm.visor.GetAllValidUnconfirmedTxHashes() + if err != nil { + return err } + + // Divide hashes into multiple sets of max size + hashesSet := divideHashes(hashes, dm.Config.MaxTxnAnnounceNum) + + for _, hs := range hashesSet { + m := NewAnnounceTxnsMessage(hs) + if err = dm.pool.Pool.BroadcastMessage(m); err != nil { + break + } + } + + if err != nil { + logger.Debugf("Broadcast AnnounceTxnsMessage failed, err: %v", err) + } + + return err } -func (c *announcedTxnsCache) add(txns []cipher.SHA256) { - c.Lock() - defer c.Unlock() +func divideHashes(hashes []cipher.SHA256, n int) [][]cipher.SHA256 { + if len(hashes) == 0 { + return [][]cipher.SHA256{} + } - t := utc.Now().UnixNano() - for _, txn := range txns { - c.cache[txn] = t + var j int + var hashesArray [][]cipher.SHA256 + + if len(hashes) > n { + for i := range hashes { + if len(hashes[j:i]) == n { + hs := make([]cipher.SHA256, n) + copy(hs, hashes[j:i]) + hashesArray = append(hashesArray, hs) + j = i + } + } } + + hs := make([]cipher.SHA256, len(hashes)-j) + copy(hs, hashes[j:]) + hashesArray = append(hashesArray, hs) + return hashesArray } -func (c *announcedTxnsCache) flush() map[cipher.SHA256]int64 { - c.Lock() - defer c.Unlock() +// AnnounceTxns announces given transaction hashes. +func (dm *Daemon) AnnounceTxns(txns []cipher.SHA256) error { + if dm.Config.DisableOutgoingConnections { + return nil + } - if len(c.cache) == 0 { + if len(txns) == 0 { return nil } - cache := c.cache + m := NewAnnounceTxnsMessage(txns) - c.cache = make(map[cipher.SHA256]int64) + err := dm.pool.Pool.BroadcastMessage(m) + if err != nil { + logger.Debugf("Broadcast AnnounceTxnsMessage failed: %v", err) + } + + return err +} + +// RequestBlocksFromAddr sends a GetBlocksMessage to one connected address +func (dm *Daemon) RequestBlocksFromAddr(addr string) error { + if dm.Config.DisableOutgoingConnections { + return errors.New("Outgoing connections disabled") + } + + headSeq, ok, err := dm.visor.HeadBkSeq() + if err != nil { + return err + } + if !ok { + return errors.New("Cannot request blocks from addr, there is no head block") + } + + m := NewGetBlocksMessage(headSeq, dm.Config.BlocksResponseCount) + + return dm.pool.Pool.SendMessage(addr, m) +} + +// InjectBroadcastTransaction injects transaction to the unconfirmed pool and broadcasts it. +// If the transaction violates either hard or soft constraints, it is not broadcast. +// This method is to be used by user-initiated transaction injections. +// For transactions received over the network, use InjectTransaction and check the result to +// decide on repropagation. +func (dm *Daemon) InjectBroadcastTransaction(txn coin.Transaction) error { + if _, err := dm.visor.InjectTransactionStrict(txn); err != nil { + return err + } + + return dm.broadcastTransaction(txn) +} + +// ResendUnconfirmedTxns resends all unconfirmed transactions and returns the hashes that were successfully rebroadcast +func (dm *Daemon) ResendUnconfirmedTxns() ([]cipher.SHA256, error) { + if dm.Config.DisableOutgoingConnections { + return nil, nil + } + + txns, err := dm.visor.GetAllUnconfirmedTxns() + if err != nil { + return nil, err + } + + var txids []cipher.SHA256 + for i := range txns { + logger.Debugf("Rebroadcast tx %s", txns[i].Hash().Hex()) + if err := dm.broadcastTransaction(txns[i].Txn); err == nil { + txids = append(txids, txns[i].Txn.Hash()) + } + } + + return txids, nil +} + +// broadcastTransaction broadcasts a single transaction to all peers. +func (dm *Daemon) broadcastTransaction(t coin.Transaction) error { + if dm.Config.DisableOutgoingConnections { + return nil + } + + m := NewGiveTxnsMessage(coin.Transactions{t}) + l, err := dm.pool.Pool.Size() + if err != nil { + return err + } + + logger.Debugf("Broadcasting GiveTxnsMessage to %d conns", l) + + err = dm.pool.Pool.BroadcastMessage(m) + if err != nil { + logger.Errorf("Broadcast GivenTxnsMessage failed: %v", err) + } + + return err +} + +// CreateAndPublishBlock creates a block from unconfirmed transactions and sends it to the network. +// Will panic if not running as a master chain. +// Will not create a block if outgoing connections are disabled. +// If the block was created but the broadcast failed, the error will be non-nil but the +// SignedBlock value will not be empty. +// TODO -- refactor this method -- it should either always create a block and maybe broadcast it, +// or use a database transaction to rollback block publishing if broadcast failed (however, this will cause a slow DB write) +func (dm *Daemon) CreateAndPublishBlock() (*coin.SignedBlock, error) { + if dm.Config.DisableOutgoingConnections { + return nil, errors.New("Outgoing connections disabled") + } + + sb, err := dm.visor.CreateAndExecuteBlock() + if err != nil { + return nil, err + } + + err = dm.broadcastBlock(sb) + + return &sb, err +} + +// Sends a signed block to all connections. +func (dm *Daemon) broadcastBlock(sb coin.SignedBlock) error { + if dm.Config.DisableOutgoingConnections { + return nil + } + + m := NewGiveBlocksMessage([]coin.SignedBlock{sb}) + return dm.pool.Pool.BroadcastMessage(m) +} + +// Mirror returns the message mirror +func (dm *Daemon) Mirror() uint32 { + return dm.Messages.Mirror +} + +// DaemonConfig returns the daemon config +func (dm *Daemon) DaemonConfig() DaemonConfig { + return dm.Config +} + +// BlockchainPubkey returns the blockchain pubkey +func (dm *Daemon) BlockchainPubkey() cipher.PubKey { + return dm.Config.BlockchainPubkey +} + +// RemoveFromExpectingIntroductions removes the peer from expect introduction pool +func (dm *Daemon) RemoveFromExpectingIntroductions(addr string) { + dm.expectingIntroductions.Remove(addr) +} + +// Implements pooler interface + +// SendMessage sends a Message to a Connection and pushes the result onto the +// SendResults channel. +func (dm *Daemon) SendMessage(addr string, msg gnet.Message) error { + return dm.pool.Pool.SendMessage(addr, msg) +} + +// BroadcastMessage sends a Message to all connections in the Pool. +func (dm *Daemon) BroadcastMessage(msg gnet.Message) error { + return dm.pool.Pool.BroadcastMessage(msg) +} + +// Disconnect removes a connection from the pool by address, and passes a Disconnection to +// the DisconnectCallback +func (dm *Daemon) Disconnect(addr string, r gnet.DisconnectReason) error { + return dm.pool.Pool.Disconnect(addr, r) +} + +// IsDefaultConnection returns if the addr is a default connection +func (dm *Daemon) IsDefaultConnection(addr string) bool { + return dm.pool.Pool.IsDefaultConnection(addr) +} + +// IsMaxDefaultConnectionsReached returns whether the max default connection number was reached. +func (dm *Daemon) IsMaxDefaultConnectionsReached() (bool, error) { + return dm.pool.Pool.IsMaxDefaultConnReached() +} + +// Implements pexer interface + +// RandomExchangeable returns N random exchangeable peers +func (dm *Daemon) RandomExchangeable(n int) pex.Peers { + return dm.pex.RandomExchangeable(n) +} + +// PexConfig returns the pex config +func (dm *Daemon) PexConfig() pex.Config { + return dm.pex.Config +} + +// AddPeer adds peer to the pex +func (dm *Daemon) AddPeer(addr string) error { + return dm.pex.AddPeer(addr) +} + +// AddPeers adds peers to the pex +func (dm *Daemon) AddPeers(addrs []string) int { + return dm.pex.AddPeers(addrs) +} + +// SetHasIncomingPort sets the peer public peer +func (dm *Daemon) SetHasIncomingPort(addr string) error { + return dm.pex.SetHasIncomingPort(addr, true) +} + +// IncreaseRetryTimes increases the retry times of given peer +func (dm *Daemon) IncreaseRetryTimes(addr string) { + dm.pex.IncreaseRetryTimes(addr) +} + +// ResetRetryTimes reset the retry times of given peer +func (dm *Daemon) ResetRetryTimes(addr string) { + dm.pex.ResetRetryTimes(addr) +} + +// Implements chain height store + +// Record(addr string, height uint64) + +// RecordPeerHeight records the height of specific peer +func (dm *Daemon) RecordPeerHeight(addr string, height uint64) { + dm.Heights.Record(addr, height) +} + +// Implements visorer interface + +// GetSignedBlocksSince returns N signed blocks since given seq +func (dm *Daemon) GetSignedBlocksSince(seq, count uint64) ([]coin.SignedBlock, error) { + return dm.visor.GetSignedBlocksSince(seq, count) +} + +// HeadBkSeq returns the head block sequence +func (dm *Daemon) HeadBkSeq() (uint64, bool, error) { + return dm.visor.HeadBkSeq() +} + +// ExecuteSignedBlock executes the signed block +func (dm *Daemon) ExecuteSignedBlock(b coin.SignedBlock) error { + return dm.visor.ExecuteSignedBlock(b) +} + +// GetUnconfirmedUnknown returns unconfirmed txn hashes with known ones removed +func (dm *Daemon) GetUnconfirmedUnknown(txns []cipher.SHA256) ([]cipher.SHA256, error) { + return dm.visor.GetUnconfirmedUnknown(txns) +} + +// GetUnconfirmedKnown returns unconfirmed txn hashes with known ones removed +func (dm *Daemon) GetUnconfirmedKnown(txns []cipher.SHA256) (coin.Transactions, error) { + return dm.visor.GetUnconfirmedKnown(txns) +} - return cache +// InjectTransaction records a coin.Transaction to the UnconfirmedTxnPool if the txn is not +// already in the blockchain. +// The bool return value is whether or not the transaction was already in the pool. +// If the transaction violates hard constraints, it is rejected, and error will not be nil. +// If the transaction only violates soft constraints, it is still injected, and the soft constraint violation is returned. +func (dm *Daemon) InjectTransaction(txn coin.Transaction) (bool, *visor.ErrTxnViolatesSoftConstraint, error) { + return dm.visor.InjectTransaction(txn) } diff --git a/src/daemon/daemon_test.go b/src/daemon/daemon_test.go index 9d30720..d308ef8 100755 --- a/src/daemon/daemon_test.go +++ b/src/daemon/daemon_test.go @@ -1 +1,105 @@ package daemon + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" +) + +func TestDivideHashes(t *testing.T) { + hashes := make([]cipher.SHA256, 10) + for i := 0; i < 10; i++ { + hashes[i] = cipher.SumSHA256(cipher.RandByte(512)) + } + + testCases := []struct { + name string + init []cipher.SHA256 + n int + array [][]cipher.SHA256 + }{ + { + "has one odd", + hashes[:], + 3, + [][]cipher.SHA256{ + []cipher.SHA256{ + hashes[0], + hashes[1], + hashes[2], + }, + []cipher.SHA256{ + hashes[3], + hashes[4], + hashes[5], + }, + []cipher.SHA256{ + hashes[6], + hashes[7], + hashes[8], + }, + []cipher.SHA256{ + hashes[9], + }, + }, + }, + { + "only one value", + hashes[:1], + 1, + [][]cipher.SHA256{ + []cipher.SHA256{ + hashes[0], + }, + }, + }, + { + "empty value", + hashes[:0], + 0, + [][]cipher.SHA256{}, + }, + { + "with 3 value", + hashes[:3], + 3, + [][]cipher.SHA256{ + []cipher.SHA256{ + hashes[0], + hashes[1], + hashes[2], + }, + }, + }, + { + "with 8 value", + hashes[:8], + 3, + [][]cipher.SHA256{ + []cipher.SHA256{ + hashes[0], + hashes[1], + hashes[2], + }, + []cipher.SHA256{ + hashes[3], + hashes[4], + hashes[5], + }, + []cipher.SHA256{ + hashes[6], + hashes[7], + }, + }, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + rlt := divideHashes(tc.init, tc.n) + require.Equal(t, tc.array, rlt) + }) + } +} diff --git a/src/daemon/daemoner_mock_test.go b/src/daemon/daemoner_mock_test.go new file mode 100755 index 0000000..756c7b5 --- /dev/null +++ b/src/daemon/daemoner_mock_test.go @@ -0,0 +1,568 @@ +/* +* CODE GENERATED AUTOMATICALLY WITH github.com/ernesto-jimenez/goautomock +* THIS FILE MUST NEVER BE EDITED MANUALLY + */ + +package daemon + +import ( + "fmt" + + mock "github.com/stretchr/testify/mock" + + cipher "github.com/skycoin/skycoin/src/cipher" + coin "github.com/skycoin/skycoin/src/coin" + gnet "github.com/skycoin/skycoin/src/daemon/gnet" + pex "github.com/skycoin/skycoin/src/daemon/pex" + visor "github.com/skycoin/skycoin/src/visor" +) + +// DaemonerMock mock +type DaemonerMock struct { + mock.Mock +} + +func NewDaemonerMock() *DaemonerMock { + return &DaemonerMock{} +} + +// AddPeer mocked method +func (m *DaemonerMock) AddPeer(p0 string) error { + + ret := m.Called(p0) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// AddPeers mocked method +func (m *DaemonerMock) AddPeers(p0 []string) int { + + ret := m.Called(p0) + + var r0 int + switch res := ret.Get(0).(type) { + case nil: + case int: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// AnnounceAllTxns mocked method +func (m *DaemonerMock) AnnounceAllTxns() error { + + ret := m.Called() + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// BlockchainPubkey mocked method +func (m *DaemonerMock) BlockchainPubkey() cipher.PubKey { + + ret := m.Called() + + var r0 cipher.PubKey + switch res := ret.Get(0).(type) { + case nil: + case cipher.PubKey: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// BroadcastMessage mocked method +func (m *DaemonerMock) BroadcastMessage(p0 gnet.Message) error { + + ret := m.Called(p0) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// DaemonConfig mocked method +func (m *DaemonerMock) DaemonConfig() DaemonConfig { + + ret := m.Called() + + var r0 DaemonConfig + switch res := ret.Get(0).(type) { + case nil: + case DaemonConfig: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// Disconnect mocked method +func (m *DaemonerMock) Disconnect(p0 string, p1 gnet.DisconnectReason) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// ExecuteSignedBlock mocked method +func (m *DaemonerMock) ExecuteSignedBlock(p0 coin.SignedBlock) error { + + ret := m.Called(p0) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// GetMirrorPort mocked method +func (m *DaemonerMock) GetMirrorPort(p0 string, p1 uint32) (uint16, bool) { + + ret := m.Called(p0, p1) + + var r0 uint16 + switch res := ret.Get(0).(type) { + case nil: + case uint16: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 bool + switch res := ret.Get(1).(type) { + case nil: + case bool: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetSignedBlocksSince mocked method +func (m *DaemonerMock) GetSignedBlocksSince(p0 uint64, p1 uint64) ([]coin.SignedBlock, error) { + + ret := m.Called(p0, p1) + + var r0 []coin.SignedBlock + switch res := ret.Get(0).(type) { + case nil: + case []coin.SignedBlock: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetUnconfirmedKnown mocked method +func (m *DaemonerMock) GetUnconfirmedKnown(p0 []cipher.SHA256) (coin.Transactions, error) { + + ret := m.Called(p0) + + var r0 coin.Transactions + switch res := ret.Get(0).(type) { + case nil: + case coin.Transactions: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// GetUnconfirmedUnknown mocked method +func (m *DaemonerMock) GetUnconfirmedUnknown(p0 []cipher.SHA256) ([]cipher.SHA256, error) { + + ret := m.Called(p0) + + var r0 []cipher.SHA256 + switch res := ret.Get(0).(type) { + case nil: + case []cipher.SHA256: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// HeadBkSeq mocked method +func (m *DaemonerMock) HeadBkSeq() (uint64, bool, error) { + + ret := m.Called() + + var r0 uint64 + switch res := ret.Get(0).(type) { + case nil: + case uint64: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 bool + switch res := ret.Get(1).(type) { + case nil: + case bool: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r2 error + switch res := ret.Get(2).(type) { + case nil: + case error: + r2 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1, r2 + +} + +// IncreaseRetryTimes mocked method +func (m *DaemonerMock) IncreaseRetryTimes(p0 string) { + + m.Called(p0) + +} + +// InjectTransaction mocked method +func (m *DaemonerMock) InjectTransaction(p0 coin.Transaction) (bool, *visor.ErrTxnViolatesSoftConstraint, error) { + + ret := m.Called(p0) + + var r0 bool + switch res := ret.Get(0).(type) { + case nil: + case bool: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 *visor.ErrTxnViolatesSoftConstraint + switch res := ret.Get(1).(type) { + case nil: + case *visor.ErrTxnViolatesSoftConstraint: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r2 error + switch res := ret.Get(2).(type) { + case nil: + case error: + r2 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1, r2 + +} + +// IsDefaultConnection mocked method +func (m *DaemonerMock) IsDefaultConnection(p0 string) bool { + + ret := m.Called(p0) + + var r0 bool + switch res := ret.Get(0).(type) { + case nil: + case bool: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// IsMaxDefaultConnectionsReached mocked method +func (m *DaemonerMock) IsMaxDefaultConnectionsReached() (bool, error) { + + ret := m.Called() + + var r0 bool + switch res := ret.Get(0).(type) { + case nil: + case bool: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + var r1 error + switch res := ret.Get(1).(type) { + case nil: + case error: + r1 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0, r1 + +} + +// Mirror mocked method +func (m *DaemonerMock) Mirror() uint32 { + + ret := m.Called() + + var r0 uint32 + switch res := ret.Get(0).(type) { + case nil: + case uint32: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// PexConfig mocked method +func (m *DaemonerMock) PexConfig() pex.Config { + + ret := m.Called() + + var r0 pex.Config + switch res := ret.Get(0).(type) { + case nil: + case pex.Config: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// RandomExchangeable mocked method +func (m *DaemonerMock) RandomExchangeable(p0 int) pex.Peers { + + ret := m.Called(p0) + + var r0 pex.Peers + switch res := ret.Get(0).(type) { + case nil: + case pex.Peers: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// RecordConnectionMirror mocked method +func (m *DaemonerMock) RecordConnectionMirror(p0 string, p1 uint32) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// RecordMessageEvent mocked method +func (m *DaemonerMock) RecordMessageEvent(p0 AsyncMessage, p1 *gnet.MessageContext) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// RecordPeerHeight mocked method +func (m *DaemonerMock) RecordPeerHeight(p0 string, p1 uint64) { + + m.Called(p0, p1) + +} + +// RemoveFromExpectingIntroductions mocked method +func (m *DaemonerMock) RemoveFromExpectingIntroductions(p0 string) { + + m.Called(p0) + +} + +// RequestBlocksFromAddr mocked method +func (m *DaemonerMock) RequestBlocksFromAddr(p0 string) error { + + ret := m.Called(p0) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// ResetRetryTimes mocked method +func (m *DaemonerMock) ResetRetryTimes(p0 string) { + + m.Called(p0) + +} + +// SendMessage mocked method +func (m *DaemonerMock) SendMessage(p0 string, p1 gnet.Message) error { + + ret := m.Called(p0, p1) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} + +// SetHasIncomingPort mocked method +func (m *DaemonerMock) SetHasIncomingPort(p0 string) error { + + ret := m.Called(p0) + + var r0 error + switch res := ret.Get(0).(type) { + case nil: + case error: + r0 = res + default: + panic(fmt.Sprintf("unexpected type: %v", res)) + } + + return r0 + +} diff --git a/src/daemon/gateway.go b/src/daemon/gateway.go index 1a270e2..880c486 100755 --- a/src/daemon/gateway.go +++ b/src/daemon/gateway.go @@ -1,6 +1,8 @@ package daemon import ( + "sort" + "strings" "time" "github.com/skycoin/skycoin/src/cipher" @@ -12,16 +14,15 @@ import ( "fmt" - "github.com/skycoin/skycoin/src/visor/blockdb" "github.com/skycoin/skycoin/src/visor/historydb" ) -// Exposes a read-only api for use by the gui rpc interface - // GatewayConfig configuration set of gateway. type GatewayConfig struct { BufferSize int EnableWalletAPI bool + EnableGUI bool + DisableCSP bool } // NewGatewayConfig create and init an GatewayConfig @@ -29,13 +30,14 @@ func NewGatewayConfig() GatewayConfig { return GatewayConfig{ BufferSize: 32, EnableWalletAPI: false, + EnableGUI: false, + DisableCSP: false, } } // Gateway RPC interface wrapper for daemon state type Gateway struct { Config GatewayConfig - drpc RPC // Backref to Daemon d *Daemon @@ -50,9 +52,8 @@ type Gateway struct { func NewGateway(c GatewayConfig, d *Daemon) *Gateway { return &Gateway{ Config: c, - drpc: RPC{}, d: d, - v: d.Visor.v, + v: d.visor, requests: make(chan strand.Request, c.BufferSize), quit: make(chan struct{}), } @@ -61,6 +62,8 @@ func NewGateway(c GatewayConfig, d *Daemon) *Gateway { // Shutdown closes the Gateway func (gw *Gateway) Shutdown() { close(gw.quit) + // wait for strand to complete + gw.strand("wait-shutdown", func() {}) } func (gw *Gateway) strand(name string, f func()) { @@ -71,20 +74,78 @@ func (gw *Gateway) strand(name string, f func()) { }, gw.quit, nil) } +// Connection a connection's state within the daemon +type Connection struct { + ID int `json:"id"` + Addr string `json:"address"` + LastSent int64 `json:"last_sent"` + LastReceived int64 `json:"last_received"` + // Whether the connection is from us to them (true, outgoing), + // or from them to us (false, incoming) + Outgoing bool `json:"outgoing"` + // Whether the client has identified their version, mirror etc + Introduced bool `json:"introduced"` + Mirror uint32 `json:"mirror"` + ListenPort uint16 `json:"listen_port"` +} + +// Connections an array of connections +// Arrays must be wrapped in structs to avoid certain javascript exploits +type Connections struct { + Connections []*Connection `json:"connections"` +} + // GetConnections returns a *Connections func (gw *Gateway) GetConnections() *Connections { var conns *Connections gw.strand("GetConnections", func() { - conns = gw.drpc.GetConnections(gw.d) + conns = gw.getConnections() }) return conns } +func (gw *Gateway) getConnections() *Connections { + if gw.d.pool.Pool == nil { + return nil + } + + n, err := gw.d.pool.Pool.Size() + if err != nil { + logger.Error(err) + return nil + } + + conns := make([]*Connection, 0, n) + cs, err := gw.d.pool.Pool.GetConnections() + if err != nil { + logger.Error(err) + return nil + } + + for _, c := range cs { + if c.Solicited { + conn := gw.getConnection(c.Addr()) + if conn != nil { + conns = append(conns, conn) + } + } + } + + // Sort connnections by IP address + sort.Slice(conns, func(i, j int) bool { + return strings.Compare(conns[i].Addr, conns[j].Addr) < 0 + }) + + return &Connections{Connections: conns} + +} + // GetDefaultConnections returns default connections func (gw *Gateway) GetDefaultConnections() []string { var conns []string gw.strand("GetDefaultConnections", func() { - conns = gw.drpc.GetDefaultConnections(gw.d) + conns = make([]string, len(gw.d.DefaultConnections)) + copy(conns[:], gw.d.DefaultConnections[:]) }) return conns } @@ -93,17 +154,49 @@ func (gw *Gateway) GetDefaultConnections() []string { func (gw *Gateway) GetConnection(addr string) *Connection { var conn *Connection gw.strand("GetConnection", func() { - conn = gw.drpc.GetConnection(gw.d, addr) + conn = gw.getConnection(addr) }) return conn } +func (gw *Gateway) getConnection(addr string) *Connection { + if gw.d.pool.Pool == nil { + return nil + } + + c, err := gw.d.pool.Pool.GetConnection(addr) + if err != nil { + logger.Error(err) + return nil + } + + if c == nil { + return nil + } + + mirror, exist := gw.d.connectionMirrors.Get(addr) + if !exist { + return nil + } + + return &Connection{ + ID: c.ID, + Addr: addr, + LastSent: c.LastSent.Unix(), + LastReceived: c.LastReceived.Unix(), + Outgoing: gw.d.outgoingConnections.Get(addr), + Introduced: !gw.d.needsIntro(addr), + Mirror: mirror, + ListenPort: gw.d.GetListenPort(addr), + } +} + // GetTrustConnections returns all trusted connections, // including private and public func (gw *Gateway) GetTrustConnections() []string { var conn []string gw.strand("GetTrustConnections", func() { - conn = gw.drpc.GetTrustConnections(gw.d) + conn = gw.d.pex.Trusted().ToAddrs() }) return conn } @@ -113,37 +206,69 @@ func (gw *Gateway) GetTrustConnections() []string { func (gw *Gateway) GetExchgConnection() []string { var conn []string gw.strand("GetExchgConnection", func() { - conn = gw.drpc.GetAllExchgConnections(gw.d) + conn = gw.d.pex.RandomExchangeable(0).ToAddrs() }) return conn } /* Blockchain & Transaction status */ +// BlockchainProgress current sync blockchain status +type BlockchainProgress struct { + // Our current blockchain length + Current uint64 `json:"current"` + // Our best guess at true blockchain length + Highest uint64 `json:"highest"` + Peers []PeerBlockchainHeight `json:"peers"` +} + // GetBlockchainProgress returns a *BlockchainProgress -func (gw *Gateway) GetBlockchainProgress() *BlockchainProgress { +func (gw *Gateway) GetBlockchainProgress() (*BlockchainProgress, error) { var bcp *BlockchainProgress + var err error gw.strand("GetBlockchainProgress", func() { - bcp = gw.drpc.GetBlockchainProgress(gw.d.Visor) + var headSeq uint64 + headSeq, _, err = gw.d.visor.HeadBkSeq() + if err != nil { + return + } + + bcp = &BlockchainProgress{ + Current: headSeq, + Highest: gw.d.Heights.Estimate(headSeq), + Peers: gw.d.Heights.All(), + } }) - return bcp + + if err != nil { + return nil, err + } + + return bcp, nil } -// ResendTransaction resent the transaction and return a *ResendResult -func (gw *Gateway) ResendTransaction(txn cipher.SHA256) *ResendResult { - var result *ResendResult - gw.strand("ResendTransaction", func() { - result = gw.drpc.ResendTransaction(gw.d.Visor, gw.d.Pool, txn) - }) - return result +// ResendResult rebroadcast tx result +type ResendResult struct { + Txids []string `json:"txids"` // transaction id } // ResendUnconfirmedTxns resents all unconfirmed transactions -func (gw *Gateway) ResendUnconfirmedTxns() (rlt *ResendResult) { +func (gw *Gateway) ResendUnconfirmedTxns() (*ResendResult, error) { + var hashes []cipher.SHA256 + var err error gw.strand("ResendUnconfirmedTxns", func() { - rlt = gw.drpc.ResendUnconfirmedTxns(gw.d.Visor, gw.d.Pool) + hashes, err = gw.d.ResendUnconfirmedTxns() }) - return + + if err != nil { + return nil, err + } + + var rlt ResendResult + for _, txid := range hashes { + rlt.Txids = append(rlt.Txids, txid.Hex()) + } + return &rlt, nil } // GetBlockchainMetadata returns a *visor.BlockchainMetadata @@ -156,39 +281,24 @@ func (gw *Gateway) GetBlockchainMetadata() (*visor.BlockchainMetadata, error) { return bcm, err } -// GetBlockByHash returns the block by hash -func (gw *Gateway) GetBlockByHash(hash cipher.SHA256) (block coin.SignedBlock, ok bool) { - gw.strand("GetBlockByHash", func() { - b, err := gw.v.GetBlockByHash(hash) - if err != nil { - logger.Errorf("gateway.GetBlockByHash failed: %v", err) - return - } - if b == nil { - return - } - - block = *b - ok = true +// GetSignedBlockByHash returns the block by hash +func (gw *Gateway) GetSignedBlockByHash(hash cipher.SHA256) (*coin.SignedBlock, error) { + var b *coin.SignedBlock + var err error + gw.strand("GetSignedBlockByHash", func() { + b, err = gw.v.GetSignedBlockByHash(hash) }) - return + return b, err } -// GetBlockBySeq returns blcok by seq -func (gw *Gateway) GetBlockBySeq(seq uint64) (block coin.SignedBlock, ok bool) { - gw.strand("GetBlockBySeq", func() { - b, err := gw.v.GetBlockBySeq(seq) - if err != nil { - logger.Errorf("gateway.GetBlockBySeq failed: %v", err) - return - } - if b == nil { - return - } - block = *b - ok = true +// GetSignedBlockBySeq returns block by seq +func (gw *Gateway) GetSignedBlockBySeq(seq uint64) (*coin.SignedBlock, error) { + var b *coin.SignedBlock + var err error + gw.strand("GetSignedBlockBySeq", func() { + b, err = gw.v.GetSignedBlockBySeq(seq) }) - return + return b, err } // GetBlocks returns a *visor.ReadableBlocks @@ -214,7 +324,7 @@ func (gw *Gateway) GetBlocksInDepth(vs []uint64) (*visor.ReadableBlocks, error) gw.strand("GetBlocksInDepth", func() { for _, n := range vs { var b *coin.SignedBlock - b, err = gw.v.GetBlockBySeq(n) + b, err = gw.v.GetSignedBlockBySeq(n) if err != nil { err = fmt.Errorf("get block %v failed: %v", n, err) return @@ -261,26 +371,30 @@ func (gw *Gateway) GetUnspentOutputs(filters ...OutputsFilter) (*visor.ReadableO var uncfmSpendingOutputs coin.UxArray // unconfirmed incoming outputs var uncfmIncomingOutputs coin.UxArray - var headTime uint64 + var head *coin.SignedBlock var err error gw.strand("GetUnspentOutputs", func() { - headTime = gw.v.Blockchain.Time() + head, err = gw.v.GetHeadBlock() + if err != nil { + err = fmt.Errorf("v.GetHeadBlock failed: %v", err) + return + } - unspentOutputs, err = gw.v.GetUnspentOutputs() + unspentOutputs, err = gw.v.GetAllUnspentOutputs() if err != nil { - err = fmt.Errorf("get unspent output readables failed: %v", err) + err = fmt.Errorf("v.GetAllUnspentOutputs failed: %v", err) return } uncfmSpendingOutputs, err = gw.v.UnconfirmedSpendingOutputs() if err != nil { - err = fmt.Errorf("get unconfirmed spending outputs failed: %v", err) + err = fmt.Errorf("v.UnconfirmedSpendingOutputs failed: %v", err) return } uncfmIncomingOutputs, err = gw.v.UnconfirmedIncomingOutputs() if err != nil { - err = fmt.Errorf("get all incoming outputs failed: %v", err) + err = fmt.Errorf("v.UnconfirmedIncomingOutputs failed: %v", err) return } }) @@ -296,17 +410,17 @@ func (gw *Gateway) GetUnspentOutputs(filters ...OutputsFilter) (*visor.ReadableO } outputSet := visor.ReadableOutputSet{} - outputSet.HeadOutputs, err = visor.NewReadableOutputs(headTime, unspentOutputs) + outputSet.HeadOutputs, err = visor.NewReadableOutputs(head.Time(), unspentOutputs) if err != nil { return nil, err } - outputSet.OutgoingOutputs, err = visor.NewReadableOutputs(headTime, uncfmSpendingOutputs) + outputSet.OutgoingOutputs, err = visor.NewReadableOutputs(head.Time(), uncfmSpendingOutputs) if err != nil { return nil, err } - outputSet.IncomingOutputs, err = visor.NewReadableOutputs(headTime, uncfmIncomingOutputs) + outputSet.IncomingOutputs, err = visor.NewReadableOutputs(head.Time(), uncfmIncomingOutputs) if err != nil { return nil, err } @@ -447,25 +561,162 @@ func (gw *Gateway) GetTransactionResult(txid cipher.SHA256) (*TransactionResult, func (gw *Gateway) InjectBroadcastTransaction(txn coin.Transaction) error { var err error gw.strand("InjectBroadcastTransaction", func() { - err = gw.d.Visor.InjectBroadcastTransaction(txn, gw.d.Pool) + err = gw.d.InjectBroadcastTransaction(txn) }) return err } -// GetAddressTxns returns a *TransactionResults -func (gw *Gateway) GetAddressTxns(a cipher.Address) (*TransactionResults, error) { - var txs []visor.Transaction +// ReadableTransaction has readable transaction data. It differs from visor.ReadableTransaction +// in that it includes metadata for transaction inputs +type ReadableTransaction struct { + Status visor.TransactionStatus `json:"status"` + Length uint32 `json:"length"` + Type uint8 `json:"type"` + Hash string `json:"txid"` + InnerHash string `json:"inner_hash"` + Timestamp uint64 `json:"timestamp,omitempty"` + Fee uint64 `json:"fee"` + + Sigs []string `json:"sigs"` + In []visor.ReadableTransactionInput `json:"inputs"` + Out []visor.ReadableTransactionOutput `json:"outputs"` +} + +// NewReadableTransaction creates ReadableTransaction +func NewReadableTransaction(t visor.Transaction, inputs []visor.ReadableTransactionInput) (ReadableTransaction, error) { + // Genesis transaction use empty SHA256 as txid + txID := cipher.SHA256{} + if t.Status.BlockSeq != 0 { + txID = t.Txn.Hash() + } + + sigs := make([]string, len(t.Txn.Sigs)) + for i, s := range t.Txn.Sigs { + sigs[i] = s.Hex() + } + + out := make([]visor.ReadableTransactionOutput, len(t.Txn.Out)) + for i := range t.Txn.Out { + o, err := visor.NewReadableTransactionOutput(&t.Txn.Out[i], txID) + if err != nil { + return ReadableTransaction{}, err + } + + out[i] = *o + } + + var hoursIn uint64 + for _, i := range inputs { + if _, err := coin.AddUint64(hoursIn, i.CalculatedHours); err != nil { + logger.Critical().Warningf("Ignoring NewReadableTransaction summing txn %s input hours error: %v", txID.Hex(), err) + } + hoursIn += i.CalculatedHours + } + + var hoursOut uint64 + for _, o := range t.Txn.Out { + if _, err := coin.AddUint64(hoursOut, o.Hours); err != nil { + logger.Critical().Warningf("Ignoring NewReadableTransaction summing txn %s outputs hours error: %v", txID.Hex(), err) + } + + hoursOut += o.Hours + } + + if hoursIn < hoursOut { + err := fmt.Errorf("NewReadableTransaction input hours is less than output hours, txid=%s", txID.Hex()) + return ReadableTransaction{}, err + } + + fee := hoursIn - hoursOut + + return ReadableTransaction{ + Status: t.Status, + Length: t.Txn.Length, + Type: t.Txn.Type, + Hash: t.Txn.Hash().Hex(), + InnerHash: t.Txn.InnerHash.Hex(), + Timestamp: t.Time, + Fee: fee, + + Sigs: sigs, + In: inputs, + Out: out, + }, nil +} + +// GetTransactionsForAddress returns []ReadableTransaction for a given address. +// These transactions include confirmed and unconfirmed transactions +// TODO -- move into visor (visor.ReadableTransaction can't be changed to daemon.ReadableTransaction without breaking the API) +func (gw *Gateway) GetTransactionsForAddress(a cipher.Address) ([]ReadableTransaction, error) { var err error + var resTxns []ReadableTransaction + + gw.strand("GetTransactionsForAddress", func() { + var txns []visor.Transaction + txns, err = gw.v.GetAddressTxns(a) + if err != nil { + logger.Errorf("Gateway.GetTransactionsForAddress: gw.v.GetAddressTxns failed: %v", err) + return + } + + var head *coin.SignedBlock + head, err = gw.v.GetHeadBlock() + if err != nil { + logger.Errorf("Gateway.GetTransactionsForAddress: gw.v.GetHeadBlock failed: %v", err) + return + } + + resTxns = make([]ReadableTransaction, len(txns)) + + for i, txn := range txns { + inputs := make([]visor.ReadableTransactionInput, len(txn.Txn.In)) + for j, inputID := range txn.Txn.In { + var input *historydb.UxOut + input, err = gw.v.GetUxOutByID(inputID) + if err != nil { + logger.Errorf("Gateway.GetTransactionsForAddress: gw.v.GetUxOutByID failed: %v", err) + return + } + if input == nil { + err = fmt.Errorf("uxout of %v does not exist in history db", inputID.Hex()) + return + } + + // If the txn is confirmed, + // use the time of the transaction when it was executed, + // else use the head time + t := txn.Time + if !txn.Status.Confirmed { + t = head.Time() + } + + var readableInput *visor.ReadableTransactionInput + readableInput, err = visor.NewReadableTransactionInput(input.Out, t) + if err != nil { + logger.Errorf("Gateway.GetTransactionsForAddress: visor.NewReadableTransactionInput failed: %v", err) + return + } + + inputs[j] = *readableInput + } + + var rTxn ReadableTransaction + rTxn, err = NewReadableTransaction(txn, inputs) + if err != nil { + logger.Errorf("Gateway.GetTransactionsForAddress: NewReadableTransaction failed: %v", err) + return + } + + resTxns[i] = rTxn + } - gw.strand("GetAddressesTxns", func() { - txs, err = gw.v.GetAddressTxns(a) }) if err != nil { return nil, err } - return NewTransactionResults(txs) + return resTxns, nil } // GetTransactions returns transactions filtered by zero or more visor.TxFilter @@ -490,23 +741,26 @@ func (gw *Gateway) GetUxOutByID(id cipher.SHA256) (*historydb.UxOut, error) { // GetAddrUxOuts gets all the address affected UxOuts. func (gw *Gateway) GetAddrUxOuts(addresses []cipher.Address) ([]*historydb.UxOut, error) { - var ( - uxOuts []*historydb.UxOut - err error - ) + var uxOuts []*historydb.UxOut + var err error - for _, addr := range addresses { - result, e := gw.v.GetAddrUxOuts(addr) + gw.strand("GetAddrUxOuts", func() { + for _, addr := range addresses { + var result []*historydb.UxOut + result, err = gw.v.GetAddrUxOuts(addr) + if err != nil { + return + } - if e != nil { - err = e - continue + uxOuts = append(uxOuts, result...) } + }) - uxOuts = append(uxOuts, result...) + if err != nil { + return nil, err } - return uxOuts, err + return uxOuts, nil } // GetTimeNow returns the current Unix time @@ -515,52 +769,23 @@ func (gw *Gateway) GetTimeNow() uint64 { } // GetAllUnconfirmedTxns returns all unconfirmed transactions -func (gw *Gateway) GetAllUnconfirmedTxns() []visor.UnconfirmedTxn { +func (gw *Gateway) GetAllUnconfirmedTxns() ([]visor.UnconfirmedTxn, error) { var txns []visor.UnconfirmedTxn + var err error gw.strand("GetAllUnconfirmedTxns", func() { - txns = gw.v.GetAllUnconfirmedTxns() + txns, err = gw.v.GetAllUnconfirmedTxns() }) - return txns + return txns, err } // GetUnconfirmedTxns returns addresses related unconfirmed transactions -func (gw *Gateway) GetUnconfirmedTxns(addrs []cipher.Address) []visor.UnconfirmedTxn { +func (gw *Gateway) GetUnconfirmedTxns(addrs []cipher.Address) ([]visor.UnconfirmedTxn, error) { var txns []visor.UnconfirmedTxn + var err error gw.strand("GetUnconfirmedTxns", func() { - txns = gw.v.GetUnconfirmedTxns(visor.ToAddresses(addrs)) + txns, err = gw.v.GetUnconfirmedTxns(visor.ToAddresses(addrs)) }) - return txns -} - -// GetUnspent returns the unspent pool -func (gw *Gateway) GetUnspent() blockdb.UnspentPool { - var unspent blockdb.UnspentPool - gw.strand("GetUnspent", func() { - unspent = gw.v.Blockchain.Unspent() - }) - return unspent -} - -// implements the wallet.Validator interface -type spendValidator struct { - uncfm visor.UnconfirmedTxnPooler - unspent blockdb.UnspentPool -} - -func newSpendValidator(uncfm visor.UnconfirmedTxnPooler, unspent blockdb.UnspentPool) *spendValidator { - return &spendValidator{ - uncfm: uncfm, - unspent: unspent, - } -} - -func (sv spendValidator) HasUnconfirmedSpendTx(addr []cipher.Address) (bool, error) { - aux, err := sv.uncfm.SpendsOfAddresses(addr, sv.unspent) - if err != nil { - return false, err - } - - return len(aux) > 0, nil + return txns, err } // Spend spends coins from given wallet and broadcast it, @@ -571,28 +796,27 @@ func (gw *Gateway) Spend(wltID string, password []byte, coins uint64, dest ciphe return nil, wallet.ErrWalletAPIDisabled } - var tx *coin.Transaction + var txn *coin.Transaction var err error gw.strand("Spend", func() { - // create spend validator - unspent := gw.v.Blockchain.Unspent() - sv := newSpendValidator(gw.v.Unconfirmed, unspent) - // create and sign transaction - tx, err = gw.v.Wallets.CreateAndSignTransaction(wltID, password, sv, unspent, gw.v.Blockchain.Time(), coins, dest) + txn, err = gw.v.CreateTransactionDeprecated(wltID, password, coins, dest) if err != nil { - logger.Errorf("Create transaction failed: %v", err) return } // Inject transaction - err = gw.d.Visor.InjectBroadcastTransaction(*tx, gw.d.Pool) + err = gw.d.InjectBroadcastTransaction(*txn) if err != nil { logger.Errorf("Inject transaction failed: %v", err) return } }) - return tx, err + if err != nil { + return nil, err + } + + return txn, nil } // CreateTransaction creates a transaction based upon parameters in wallet.CreateTransactionParams @@ -606,25 +830,7 @@ func (gw *Gateway) CreateTransaction(params wallet.CreateTransactionParams) (*co var err error gw.strand("CreateTransaction", func() { - // Create spend validator - unspent := gw.v.Blockchain.Unspent() - sv := newSpendValidator(gw.v.Unconfirmed, unspent) - - // Create and sign transaction - txn, inputs, err = gw.v.Wallets.CreateAndSignTransactionAdvanced(params, sv, unspent, gw.v.Blockchain.Time()) - if err != nil { - logger.WithError(err).Error("CreateAndSignTransactionAdvanced failed") - return - } - - // The wallet can create transactions that would not pass all validation, such as the decimal restriction, - // because the wallet is not aware of visor-level constraints. - // Check that the transaction is valid before returning it to the caller. - err = gw.v.Blockchain.VerifySingleTxnAllConstraints(*txn, visor.DefaultMaxBlockSize) - if err != nil { - logger.WithError(err).Error("Created transaction violates transaction constraints") - return - } + txn, inputs, err = gw.v.CreateTransaction(params) }) if err != nil { @@ -643,7 +849,7 @@ func (gw *Gateway) CreateWallet(wltName string, options wallet.Options) (*wallet var wlt *wallet.Wallet var err error gw.strand("CreateWallet", func() { - wlt, err = gw.v.CreateWallet(wltName, options) + wlt, err = gw.v.Wallets.CreateWallet(wltName, options, gw.v) }) return wlt, err } @@ -676,11 +882,12 @@ func (gw *Gateway) DecryptWallet(wltID string, password []byte) (*wallet.Wallet, return w, err } -// GetWalletBalance returns balance pair of specific wallet -func (gw *Gateway) GetWalletBalance(wltID string) (wallet.BalancePair, error) { - var balance wallet.BalancePair +// GetWalletBalance returns balance pairs of specific wallet +func (gw *Gateway) GetWalletBalance(wltID string) (wallet.BalancePair, wallet.AddressBalance, error) { + var addressBalances wallet.AddressBalance + var walletBalance wallet.BalancePair if !gw.Config.EnableWalletAPI { - return balance, wallet.ErrWalletAPIDisabled + return walletBalance, addressBalances, wallet.ErrWalletAPIDisabled } var err error @@ -690,52 +897,60 @@ func (gw *Gateway) GetWalletBalance(wltID string) (wallet.BalancePair, error) { if err != nil { return } - auxs := gw.v.Blockchain.Unspent().GetUnspentsOfAddrs(addrs) - var spendUxs coin.AddressUxOuts - spendUxs, err = gw.v.GetUnconfirmedSpends(addrs) + // get list of address balances + addrsBalanceList, err := gw.v.GetBalanceOfAddrs(addrs) if err != nil { - err = fmt.Errorf("get unconfimed spending failed when checking wallet balance: %v", err) return } - var recvUxs coin.AddressUxOuts - recvUxs, err = gw.v.GetUnconfirmedReceiving(addrs) - if err != nil { - err = fmt.Errorf("get unconfirmed receiving failed when when checking wallet balance: %v", err) - return + // create map of address to balance + addressBalances = make(wallet.AddressBalance, len(addrs)) + for idx, addr := range addrs { + addressBalances[addr.String()] = addrsBalanceList[idx] } - coins1, hours1, err := gw.v.AddressBalance(auxs) - if err != nil { - err = fmt.Errorf("Computing confirmed address balance failed: %v", err) - return - } - - coins2, hours2, err := gw.v.AddressBalance(auxs.Sub(spendUxs).Add(recvUxs)) - if err != nil { - err = fmt.Errorf("Computing predicted address balance failed: %v", err) - return - } + // compute the sum of all addresses + for _, addrBalance := range addressBalances { + // compute confirmed balance + walletBalance.Confirmed.Coins, err = coin.AddUint64(walletBalance.Confirmed.Coins, addrBalance.Confirmed.Coins) + if err != nil { + return + } + walletBalance.Confirmed.Hours, err = coin.AddUint64(walletBalance.Confirmed.Hours, addrBalance.Confirmed.Hours) + if err != nil { + return + } - balance = wallet.BalancePair{ - Confirmed: wallet.Balance{Coins: coins1, Hours: hours1}, - Predicted: wallet.Balance{Coins: coins2, Hours: hours2}, + // compute predicted balance + walletBalance.Predicted.Coins, err = coin.AddUint64(walletBalance.Predicted.Coins, addrBalance.Predicted.Coins) + if err != nil { + return + } + walletBalance.Predicted.Hours, err = coin.AddUint64(walletBalance.Predicted.Hours, addrBalance.Predicted.Hours) + if err != nil { + return + } } }) - return balance, err + return walletBalance, addressBalances, err } // GetBalanceOfAddrs gets balance of given addresses func (gw *Gateway) GetBalanceOfAddrs(addrs []cipher.Address) ([]wallet.BalancePair, error) { - var bps []wallet.BalancePair + var balance []wallet.BalancePair var err error + gw.strand("GetBalanceOfAddrs", func() { - bps, err = gw.v.GetBalanceOfAddrs(addrs) + balance, err = gw.v.GetBalanceOfAddrs(addrs) }) - return bps, err + if err != nil { + return nil, err + } + + return balance, nil } // GetWalletDir returns path for storing wallet files @@ -816,7 +1031,7 @@ func (gw *Gateway) GetWalletUnconfirmedTxns(wltID string) ([]visor.UnconfirmedTx return } - txns = gw.v.GetUnconfirmedTxns(visor.ToAddresses(addrs)) + txns, err = gw.v.GetUnconfirmedTxns(visor.ToAddresses(addrs)) }) return txns, err @@ -913,17 +1128,14 @@ func (gw *Gateway) GetRichlist(includeDistribution bool) (visor.Richlist, error) // GetAddressCount returns count number of unique address with uxouts > 0. func (gw *Gateway) GetAddressCount() (uint64, error) { - rbOuts, err := gw.GetUnspentOutputs() - if err != nil { - return 0, err - } + var count uint64 + var err error - allAccounts, err := rbOuts.AggregateUnspentOutputs() - if err != nil { - return 0, err - } + gw.strand("GetAddressCount", func() { + count, err = gw.v.AddressCount() + }) - return uint64(len(allAccounts)), nil + return count, err } // Health is returned by the /health endpoint @@ -945,7 +1157,7 @@ func (gw *Gateway) GetHealth() (*Health, error) { return } - conns := gw.drpc.GetConnections(gw.d) + conns := gw.getConnections() health = &Health{ BlockchainMetadata: metadata, @@ -957,3 +1169,20 @@ func (gw *Gateway) GetHealth() (*Health, error) { return health, err } + +// VerifyTxnVerbose verifies an isolated transaction and returns []wallet.UxBalance of +// transaction inputs, whether the transaction is confirmed and error if any +func (gw *Gateway) VerifyTxnVerbose(txn *coin.Transaction) ([]wallet.UxBalance, bool, error) { + var uxs []wallet.UxBalance + var isTxnConfirmed bool + var err error + gw.strand("VerifyTxnVerbose", func() { + uxs, isTxnConfirmed, err = gw.v.VerifyTxnVerbose(txn) + }) + return uxs, isTxnConfirmed, err +} + +// IsCSPEnabled returns if the csp is enabled +func (gw *Gateway) IsCSPEnabled() bool { + return !gw.Config.DisableCSP +} diff --git a/src/daemon/gateway_test.go b/src/daemon/gateway_test.go index 51704b0..b4c46e1 100755 --- a/src/daemon/gateway_test.go +++ b/src/daemon/gateway_test.go @@ -65,9 +65,6 @@ func TestFbyHashes(t *testing.T) { } } - type args struct { - hashes []string - } tests := []struct { name string hashes []string @@ -404,7 +401,7 @@ func TestGateway_GetWalletBalance(t *testing.T) { EnableWalletAPI: tc.enableWalletAPI, }, } - res, err := gw.GetWalletBalance(tc.walletID) + res, _, err := gw.GetWalletBalance(tc.walletID) if tc.err != nil { require.Equal(t, tc.err, err) return diff --git a/src/daemon/gnet/dispatcher.go b/src/daemon/gnet/dispatcher.go index 9d96031..e6fbd12 100755 --- a/src/daemon/gnet/dispatcher.go +++ b/src/daemon/gnet/dispatcher.go @@ -45,7 +45,7 @@ func convertToMessage(id int, msg []byte, debugPrint bool) (Message, error) { } if debugPrint { - logger.Debugf("Convert, Message type %v", t) + logger.Debugf("convertToMessage for connection %d, message type %v", id, t) } var m Message @@ -55,6 +55,7 @@ func convertToMessage(id int, msg []byte, debugPrint bool) (Message, error) { if err != nil { return nil, err } + if used != len(msg) { return nil, errors.New("Data buffer was not completely decoded") } diff --git a/src/daemon/gnet/dispatcher_test.go b/src/daemon/gnet/dispatcher_test.go index f7b8dca..8c28db7 100755 --- a/src/daemon/gnet/dispatcher_test.go +++ b/src/daemon/gnet/dispatcher_test.go @@ -71,7 +71,6 @@ func TestConvertToMessageBadDeserialize(t *testing.T) { b := append(DummyPrefix[:], []byte{0, 1, 1, 1}...) m, err := convertToMessage(c.ID, b, testing.Verbose()) assert.NotNil(t, err) - assert.Equal(t, err.Error(), "Data buffer was not completely decoded") assert.Nil(t, m) // Test with not enough bytes @@ -172,10 +171,6 @@ func TestSendMessage(t *testing.T) { /* Helpers */ -func noopSendByteMessage(conn net.Conn, m []byte, tm time.Duration) error { - return nil -} - func failingSendByteMessage(conn net.Conn, m []byte, tm time.Duration) error { return errors.New("send byte message failed") } diff --git a/src/daemon/gnet/message_test.go b/src/daemon/gnet/message_test.go index 24b82c1..071de3a 100755 --- a/src/daemon/gnet/message_test.go +++ b/src/daemon/gnet/message_test.go @@ -151,10 +151,13 @@ func NewDummyMessage() Message { type ErrorMessage struct{} -var ErrorPrefix = MessagePrefix{'E', 'R', 'R', 0x00} +var ( + ErrorPrefix = MessagePrefix{'E', 'R', 'R', 0x00} + ErrErrorMessageHandler = errors.New("Bad") +) func (em *ErrorMessage) Handle(context *MessageContext, x interface{}) error { - return errors.New("Bad") + return ErrErrorMessageHandler } func NewErrorMessage() Message { diff --git a/src/daemon/gnet/pool.go b/src/daemon/gnet/pool.go index 6c4898f..816c551 100755 --- a/src/daemon/gnet/pool.go +++ b/src/daemon/gnet/pool.go @@ -28,6 +28,7 @@ const ( readLoopDurationThreshold = 10 * time.Second sendInMsgChanDurationThreshold = 5 * time.Second sendLoopDurationThreshold = 500 * time.Millisecond + defaultMaxDefaultConnNum = 1 ) var ( @@ -51,6 +52,8 @@ var ( ErrWriteQueueFull = errors.New("Write queue full") // ErrNoReachableConnections when broadcasting a message, no connections were available to send a message to ErrNoReachableConnections = errors.New("All pool connections are unreachable at this time") + // ErrMaxDefaultConnectionsReached returns when maximum number of default connections is reached + ErrMaxDefaultConnectionsReached = errors.New("maximum number of default outgoing connections was reached") // Logger logger = logging.MustGetLogger("gnet") ) @@ -65,6 +68,8 @@ type Config struct { MaxConnections int // Messages greater than length are rejected and the sender disconnected MaxMessageLength int + // Maximum allowed default outgoing connection number + MaxDefaultPeerOutgoingConnections int // Timeout is the timeout for dialing new connections. Use a // timeout of 0 to ignore timeout. DialTimeout time.Duration @@ -85,23 +90,27 @@ type Config struct { ConnectCallback ConnectCallback // Print debug logs DebugPrint bool + // Default connections map + DefaultPeerConnections map[string]struct{} } // NewConfig returns a Config with defaults set func NewConfig() Config { return Config{ - Address: "", - Port: 0, - MaxConnections: 128, - MaxMessageLength: 256 * 1024, - DialTimeout: time.Second * 30, - ReadTimeout: time.Second * 30, - WriteTimeout: time.Second * 30, - SendResultsSize: 2048, - ConnectionWriteQueueSize: 128, - DisconnectCallback: nil, - ConnectCallback: nil, - DebugPrint: false, + Address: "", + Port: 0, + MaxConnections: 128, + MaxMessageLength: 256 * 1024, + MaxDefaultPeerOutgoingConnections: defaultMaxDefaultConnNum, + DialTimeout: time.Second * 30, + ReadTimeout: time.Second * 30, + WriteTimeout: time.Second * 30, + SendResultsSize: 2048, + ConnectionWriteQueueSize: 128, + DisconnectCallback: nil, + ConnectCallback: nil, + DebugPrint: false, + DefaultPeerConnections: make(map[string]struct{}), } } @@ -157,7 +166,6 @@ func (conn *Connection) String() string { func (conn *Connection) Close() error { err := conn.Conn.Close() close(conn.WriteQueue) - conn.WriteQueue = nil conn.Buffer = &bytes.Buffer{} return err } @@ -178,6 +186,8 @@ type ConnectionPool struct { pool map[int]*Connection // All connections, indexed by address addresses map[string]*Connection + // connected default peer connections + defaultPeerConnections map[string]struct{} // User-defined state to be passed into message handlers messageState interface{} // Connection ID counter @@ -187,9 +197,10 @@ type ConnectionPool struct { // operations channel reqC chan strand.Request // quit channel - quit chan struct{} - done chan struct{} - wg sync.WaitGroup + quit chan struct{} + done chan struct{} + strandDone chan struct{} + wg sync.WaitGroup } // NewConnectionPool creates a new ConnectionPool that will listen on @@ -197,14 +208,16 @@ type ConnectionPool struct { // will be passed to a Message's Handle(). func NewConnectionPool(c Config, state interface{}) *ConnectionPool { pool := &ConnectionPool{ - Config: c, - pool: make(map[int]*Connection), - addresses: make(map[string]*Connection), - SendResults: make(chan SendResult, c.SendResultsSize), - messageState: state, - quit: make(chan struct{}), - done: make(chan struct{}), - reqC: make(chan strand.Request), + Config: c, + pool: make(map[int]*Connection), + addresses: make(map[string]*Connection), + defaultPeerConnections: make(map[string]struct{}), + SendResults: make(chan SendResult, c.SendResultsSize), + messageState: state, + quit: make(chan struct{}), + done: make(chan struct{}), + strandDone: make(chan struct{}), + reqC: make(chan strand.Request), } return pool @@ -251,7 +264,9 @@ loop: pool.wg.Add(1) go func() { defer pool.wg.Done() - pool.handleConnection(conn, false) + if err := pool.handleConnection(conn, false); err != nil { + logger.Errorf("pool.handleConnection error: %v", err) + } }() } pool.wg.Wait() @@ -267,6 +282,7 @@ func (pool *ConnectionPool) RunOffline() error { } func (pool *ConnectionPool) processStrand() { + defer close(pool.strandDone) for { select { case <-pool.quit: @@ -284,9 +300,7 @@ func (pool *ConnectionPool) Shutdown() { close(pool.quit) // Wait for all strand() calls to finish - pool.strand("waitingToShutdown", func() error { - return nil - }) + <-pool.strandDone // Close to listener to prevent new connections if pool.listener != nil { @@ -301,6 +315,13 @@ func (pool *ConnectionPool) Shutdown() { // TODO -- could conn.Close() block too? pool.disconnectAll() + if len(pool.pool) != 0 { + logger.Critical().Warning("pool.pool is not empty after calling pool.disconnectAll()") + } + if len(pool.addresses) != 0 { + logger.Critical().Warning("pool.addresses is not empty after calling pool.disconnectAll()") + } + <-pool.done } @@ -316,9 +337,18 @@ func (pool *ConnectionPool) NewConnection(conn net.Conn, solicited bool) (*Conne a := conn.RemoteAddr().String() var nc *Connection if err := pool.strand("NewConnection", func() error { - if pool.addresses[a] != nil { + if _, ok := pool.addresses[a]; ok { return fmt.Errorf("Already connected to %s", a) } + + if _, ok := pool.Config.DefaultPeerConnections[a]; ok { + if len(pool.defaultPeerConnections) >= pool.Config.MaxDefaultPeerOutgoingConnections && solicited { + return ErrMaxDefaultConnectionsReached + } + + pool.defaultPeerConnections[a] = struct{}{} + } + pool.connID++ nc = NewConnection(pool, pool.connID, conn, pool.Config.ConnectionWriteQueueSize, solicited) @@ -343,24 +373,39 @@ func (pool *ConnectionPool) ListeningAddress() (net.Addr, error) { } // Creates a Connection and begins its read and write loop -func (pool *ConnectionPool) handleConnection(conn net.Conn, solicited bool) { - defer logger.Debugf("connection %s closed", conn.RemoteAddr()) +func (pool *ConnectionPool) handleConnection(conn net.Conn, solicited bool) error { + defer logger.Debugf("Connection %s closed", conn.RemoteAddr()) addr := conn.RemoteAddr().String() - exist, err := pool.IsConnExist(addr) - if err != nil { - logger.Error(err) - return - } - if exist { - logger.Errorf("Connection %s already exists", addr) - return - } + c, err := func() (c *Connection, err error) { + defer func() { + if err != nil { + if closeErr := conn.Close(); closeErr != nil { + logger.Errorf("conn.Close() %s error: %v", addr, closeErr) + } + } + }() + + exist, err := pool.IsConnExist(addr) + if err != nil { + return + } + if exist { + err = fmt.Errorf("Connection %s already exists", addr) + return + } + + c, err = pool.NewConnection(conn, solicited) + if err != nil { + err = fmt.Errorf("Create connection to %s failed: %v", addr, err) + return + } + + return c, err + }() - c, err := pool.NewConnection(conn, solicited) if err != nil { - logger.Errorf("Create connection to %s failed: %v", addr, err) - return + return err } if pool.Config.ConnectCallback != nil { @@ -370,7 +415,7 @@ func (pool *ConnectionPool) handleConnection(conn net.Conn, solicited bool) { msgC := make(chan []byte, 32) errC := make(chan error, 3) - wg := sync.WaitGroup{} + var wg sync.WaitGroup wg.Add(1) qc := make(chan struct{}) go func() { @@ -425,6 +470,8 @@ func (pool *ConnectionPool) handleConnection(conn net.Conn, solicited bool) { close(qc) wg.Wait() + + return err } func (pool *ConnectionPool) readLoop(conn *Connection, msgChan chan []byte, qc chan struct{}) error { @@ -499,7 +546,18 @@ func (pool *ConnectionPool) sendLoop(conn *Connection, timeout time.Duration, qc if m == nil { continue } + err := sendMessage(conn.Conn, m, timeout) + + // Update last sent before writing to SendResult, + // this allows a write to SendResult to be used as a sync marker, + // since no further action in this block will happen after the write. + if err == nil { + if err := pool.updateLastSent(conn.Addr(), Now()); err != nil { + logger.Warningf("updateLastSent(%s) failed", conn.Addr()) + } + } + sr := newSendResult(conn.Addr(), m, err) select { case <-qc: @@ -512,10 +570,6 @@ func (pool *ConnectionPool) sendLoop(conn *Connection, timeout time.Duration, qc if err != nil { return err } - - if err := pool.updateLastSent(conn.Addr(), Now()); err != nil { - return err - } } } } @@ -585,6 +639,27 @@ func (pool *ConnectionPool) IsConnExist(addr string) (bool, error) { return exist, nil } +// IsDefaultConnection returns if the addr is a default connection +func (pool *ConnectionPool) IsDefaultConnection(addr string) bool { + _, ok := pool.Config.DefaultPeerConnections[addr] + return ok +} + +// IsMaxDefaultConnReached returns whether the max default connection number was reached. +func (pool *ConnectionPool) IsMaxDefaultConnReached() (bool, error) { + var reached bool + if err := pool.strand("IsDefaultMaxConnReached", func() error { + l := len(pool.defaultPeerConnections) + logger.Debugf("%d/%d default connections in use", l, pool.Config.MaxDefaultPeerOutgoingConnections) + reached = l > pool.Config.MaxDefaultPeerOutgoingConnections + return nil + }); err != nil { + return false, err + } + + return reached, nil +} + func (pool *ConnectionPool) updateLastSent(addr string, t time.Time) error { return pool.strand("updateLastSent", func() error { if conn, ok := pool.addresses[addr]; ok { @@ -631,6 +706,23 @@ func (pool *ConnectionPool) Connect(address string) error { return nil } + var hitMaxDefaultConnNum bool + // Checks if it's one of the default connection + if err := pool.strand("Check default connection", func() error { + if _, ok := pool.Config.DefaultPeerConnections[address]; ok { + hitMaxDefaultConnNum = len(pool.defaultPeerConnections) >= pool.Config.MaxDefaultPeerOutgoingConnections + } + + return nil + }); err != nil { + return err + } + + if hitMaxDefaultConnNum { + logger.Critical().Infof("ConnectionPool.Connect: %v", ErrMaxDefaultConnectionsReached) + return nil + } + logger.Debugf("Making TCP Connection to %s", address) conn, err := net.DialTimeout("tcp", address, pool.Config.DialTimeout) if err != nil { @@ -640,7 +732,9 @@ func (pool *ConnectionPool) Connect(address string) error { pool.wg.Add(1) go func() { defer pool.wg.Done() - pool.handleConnection(conn, true) + if err := pool.handleConnection(conn, true); err != nil { + logger.Errorf("pool.handleConnection error: %v", err) + } }() return nil } @@ -648,30 +742,30 @@ func (pool *ConnectionPool) Connect(address string) error { // Disconnect removes a connection from the pool by address, and passes a Disconnection to // the DisconnectCallback func (pool *ConnectionPool) Disconnect(addr string, r DisconnectReason) error { - var exist bool if err := pool.strand("Disconnect", func() error { - exist = pool.disconnect(addr) + exist := pool.disconnect(addr) + + if pool.Config.DisconnectCallback != nil && exist { + pool.Config.DisconnectCallback(addr, r) + } + return nil }); err != nil { return err } - if pool.Config.DisconnectCallback != nil && exist { - pool.Config.DisconnectCallback(addr, r) - } - return nil } func (pool *ConnectionPool) disconnect(addr string) bool { conn, ok := pool.addresses[addr] - if !ok { return false } delete(pool.pool, conn.ID) delete(pool.addresses, addr) + delete(pool.defaultPeerConnections, addr) if err := conn.Close(); err != nil { logger.Errorf("conn.Close() error address=%s: %v", addr, err) } else { @@ -712,6 +806,23 @@ func (pool *ConnectionPool) Size() (l int, err error) { return } +// OutgoingConnectionsNum returns the number of outgoing connections +func (pool *ConnectionPool) OutgoingConnectionsNum() (int, error) { + var n int + if err := pool.strand("OutgoingSize", func() error { + for _, p := range pool.pool { + if p.Solicited { + n++ + } + } + return nil + }); err != nil { + return 0, err + } + + return n, nil +} + // SendMessage sends a Message to a Connection and pushes the result onto the // SendResults channel. func (pool *ConnectionPool) SendMessage(addr string, msg Message) error { @@ -727,6 +838,8 @@ func (pool *ConnectionPool) SendMessage(addr string, msg Message) error { logger.Critical().Infof("Write queue full for address %s", addr) return ErrWriteQueueFull } + } else { + return fmt.Errorf("Tried to send %T to %s, but we are not connected", msg, addr) } return nil }) diff --git a/src/daemon/gnet/pool_test.go b/src/daemon/gnet/pool_test.go index 98f5121..c93d4a4 100755 --- a/src/daemon/gnet/pool_test.go +++ b/src/daemon/gnet/pool_test.go @@ -7,6 +7,7 @@ import ( "errors" "fmt" "net" + "strings" "sync" "testing" "time" @@ -68,16 +69,20 @@ func TestNewConnection(t *testing.T) { require.NoError(t, err) wait() - c := p.addresses[conn.LocalAddr().String()] - require.Equal(t, p.pool[p.connID], c) - require.Equal(t, p.connID, 1) - require.Equal(t, c.Addr(), conn.LocalAddr().String()) - require.Equal(t, cap(c.WriteQueue), cfg.ConnectionWriteQueueSize) - require.NotNil(t, c.Buffer) - require.Equal(t, c.Buffer.Len(), 0) - require.Equal(t, c.ConnectionPool, p) - require.False(t, c.LastSent.IsZero()) - require.False(t, c.LastReceived.IsZero()) + err = p.strand("", func() error { + c := p.addresses[conn.LocalAddr().String()] + require.Equal(t, p.pool[p.connID], c) + require.Equal(t, p.connID, 1) + require.Equal(t, c.Addr(), conn.LocalAddr().String()) + require.Equal(t, cap(c.WriteQueue), cfg.ConnectionWriteQueueSize) + require.NotNil(t, c.Buffer) + require.Equal(t, c.Buffer.Len(), 0) + require.Equal(t, c.ConnectionPool, p) + require.False(t, c.LastSent.IsZero()) + require.False(t, c.LastReceived.IsZero()) + return nil + }) + require.NoError(t, err) p.Shutdown() <-q @@ -87,6 +92,12 @@ func TestNewConnectionAlreadyConnected(t *testing.T) { cfg := newTestConfig() p := NewConnectionPool(cfg, nil) + cc := make(chan *Connection, 1) + p.Config.ConnectCallback = func(addr string, solicited bool) { + require.False(t, solicited) + cc <- p.pool[1] + } + q := make(chan struct{}) go func() { defer close(q) @@ -96,13 +107,17 @@ func TestNewConnectionAlreadyConnected(t *testing.T) { conn, err := net.Dial("tcp", addr) require.NoError(t, err) - wait() - c := p.addresses[conn.LocalAddr().String()] + c := <-cc require.NotNil(t, c) + ac := p.addresses[conn.LocalAddr().String()] + require.NotNil(t, ac) + require.Equal(t, c.ID, ac.ID) + _, err = p.NewConnection(c.Conn, true) require.Error(t, err) + require.True(t, strings.HasPrefix(err.Error(), "Already connected to")) p.Shutdown() <-q @@ -127,8 +142,6 @@ func TestAcceptConnections(t *testing.T) { }() wait() - require.NotNil(t, p.listener) - conn, err := net.Dial("tcp", addr) require.NoError(t, err) @@ -177,12 +190,16 @@ func TestStopListen(t *testing.T) { }() wait() - require.NotNil(t, p.listener) _, err := net.Dial("tcp", addr) require.NoError(t, err) wait() - require.Equal(t, len(p.pool), 1) + err = p.strand("", func() error { + require.Equal(t, len(p.pool), 1) + return nil + }) + require.NoError(t, err) + p.Shutdown() <-q @@ -231,7 +248,11 @@ func TestHandleConnection(t *testing.T) { cc <- p.pool[2] } - go p.handleConnection(conn, true) + done := make(chan struct{}) + go func() { + defer close(done) + p.handleConnection(conn, true) + }() c = <-cc require.NotNil(t, c) @@ -248,6 +269,9 @@ func TestHandleConnection(t *testing.T) { require.Equal(t, len(p.pool), 1) p.Shutdown() + + <-done + <-q } @@ -336,16 +360,34 @@ func TestDisconnect(t *testing.T) { c := <-cc require.NotNil(t, c) - p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { - require.Equal(t, addr, c.Addr()) - } + var cAddr string + err = p.strand("", func() error { + cAddr = c.Addr() + return nil + }) + require.NoError(t, err) - p.Disconnect(c.Addr(), ErrDisconnectMalformedMessage) + err = p.strand("", func() error { + p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { + require.Equal(t, cAddr, addr) + } + return nil + }) + require.NoError(t, err) - p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { - t.Fatal("disconnect unknown connection should not see this") - } - p.Disconnect("", nil) + err = p.Disconnect(c.Addr(), ErrDisconnectMalformedMessage) + require.NoError(t, err) + + err = p.strand("", func() error { + p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { + t.Fatal("disconnect unknown connection should not see this") + } + return nil + }) + require.NoError(t, err) + + err = p.Disconnect("", nil) + require.NoError(t, err) p.Shutdown() <-q @@ -361,9 +403,13 @@ func TestConnectionClose(t *testing.T) { c.Buffer.WriteByte(7) require.Equal(t, c.Buffer.Len(), 1) c.Close() - wait() - require.Nil(t, c.WriteQueue) + select { + case <-c.WriteQueue: + case <-time.After(time.Millisecond): + t.Fatalf("WriteQueue should be closed") + } + require.Equal(t, c.Buffer.Len(), 0) } @@ -433,10 +479,15 @@ func TestGetConnections(t *testing.T) { <-q } -func TestConnectionReadLoop(t *testing.T) { +func TestConnectionReadLoopReadError(t *testing.T) { cfg := newTestConfig() p := NewConnectionPool(cfg, nil) + cc := make(chan *Connection, 1) + p.Config.ConnectCallback = func(addr string, solicited bool) { + cc <- p.addresses[addr] + } + q := make(chan struct{}) go func() { defer close(q) @@ -445,58 +496,164 @@ func TestConnectionReadLoop(t *testing.T) { wait() + readDataErr := errors.New("read data failed: failed") + + disconnectCalled := make(chan struct{}) p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { - // require.Equal(t, connID, 1) - require.Equal(t, reason, errors.New("read data failed: failed")) + require.Equal(t, readDataErr, reason) + close(disconnectCalled) } // 1: // Use a mock net.Conn that captures SetReadDeadline // and throws an error on Read reconn := NewReadErrorConn() - go p.handleConnection(reconn, false) + go func() { + err := p.handleConnection(reconn, false) + require.Equal(t, readDataErr, err) + }() + + <-cc + wait() - require.True(t, reconn.(*ReadErrorConn).ReadDeadlineSet != time.Time{}) + + require.True(t, reconn.(*ReadErrorConn).GetReadDeadlineSet() != time.Time{}) reconn.Close() + <-disconnectCalled + + p.Shutdown() + <-q +} + +func TestConnectionReadLoopSetReadDeadlineFailed(t *testing.T) { + cfg := newTestConfig() + p := NewConnectionPool(cfg, nil) + + cc := make(chan *Connection, 1) + p.Config.ConnectCallback = func(addr string, solicited bool) { + cc <- p.addresses[addr] + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + + wait() + // 2: // Use a mock net.Conn that fails on SetReadDeadline + disconnectCalled := make(chan struct{}) p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { - // require.Equal(t, connID, 2) - require.Equal(t, reason, ErrDisconnectSetReadDeadlineFailed) + require.Equal(t, ErrDisconnectSetReadDeadlineFailed, reason) + close(disconnectCalled) } rdfconn := &ReadDeadlineFailedConn{} - go p.handleConnection(rdfconn, false) - wait() + go func() { + err := p.handleConnection(rdfconn, false) + require.Equal(t, ErrDisconnectSetReadDeadlineFailed, err) + }() + + <-cc + rdfconn.Close() + <-disconnectCalled + + p.Shutdown() + <-q +} + +func TestConnectionReadLoopInvalidMessageLength(t *testing.T) { + cfg := newTestConfig() + cfg.MaxMessageLength = 1 + p := NewConnectionPool(cfg, nil) + + cc := make(chan *Connection, 1) + p.Config.ConnectCallback = func(addr string, solicited bool) { + cc <- p.addresses[addr] + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + + wait() + // 3: // Use a mock net.Conn that returns some bytes on Read // Look for these bytes copied into the eventChannel + disconnectCalled := make(chan struct{}) p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { - // require.Equal(t, connID, 3) - require.Equal(t, reason, ErrDisconnectInvalidMessageLength) + require.Equal(t, ErrDisconnectInvalidMessageLength, reason) + close(disconnectCalled) } - raconn := &ReadAlwaysConn{} - go p.handleConnection(raconn, false) + + raconn := newReadAlwaysConn() + go func() { + err := p.handleConnection(raconn, false) + require.Equal(t, ErrDisconnectInvalidMessageLength, err) + }() + + <-cc + wait() raconn.stop() wait() raconn.Close() + <-disconnectCalled + + p.Shutdown() + <-q + +} + +func TestConnectionReadLoopTerminates(t *testing.T) { + cfg := newTestConfig() + p := NewConnectionPool(cfg, nil) + + cc := make(chan *Connection, 1) + p.Config.ConnectCallback = func(addr string, solicited bool) { + cc <- p.addresses[addr] + } + + q := make(chan struct{}) + go func() { + defer close(q) + p.Run() + }() + + wait() + + readDataErr := errors.New("read data failed: done") + // 4: Use a mock net.Conn that successfully returns 0 bytes when read - rnconn := &ReadNothingConn{} + rnconn := newReadNothingConn() + disconnectCalled := make(chan struct{}) p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { - // require.Equal(t, connID, 4) - require.Equal(t, reason, errors.New("read data failed: done")) + require.Equal(t, readDataErr, reason) + close(disconnectCalled) } - go p.handleConnection(rnconn, false) + go func() { + err := p.handleConnection(rnconn, false) + require.Equal(t, readDataErr, err) + }() + + <-cc + wait() rnconn.stop() wait() rnconn.Close() + <-disconnectCalled + p.Shutdown() <-q } @@ -512,10 +669,12 @@ func TestProcessConnectionBuffers(t *testing.T) { // Setup a callback to capture the connection pointer so we can get the address cc := make(chan *Connection, 1) - i := 1 p.Config.ConnectCallback = func(addr string, solicited bool) { - cc <- p.pool[i] - i++ + cc <- p.addresses[addr] + } + + p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { + t.Fatalf("Unexpected disconnect address=%s reason=%v", addr, reason) } q := make(chan struct{}) @@ -529,41 +688,50 @@ func TestProcessConnectionBuffers(t *testing.T) { require.NoError(t, err) c := <-cc + require.NotNil(t, c) - p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { - t.Fatalf("Unexpected disconnect address=%s reason=%v", addr, reason) - } - - conn.Write([]byte{4, 0, 0, 0}) + // Write DummyMessage + _, err = conn.Write([]byte{4, 0, 0, 0}) + require.NoError(t, err) + _, err = conn.Write([]byte{'D', 'U', 'M', 'Y'}) + require.NoError(t, err) - // A DummyMessage should have been processed - conn.Write([]byte{'D', 'U', 'M', 'Y'}) - wait() - require.NotEqual(t, c.LastReceived, time.Time{}) - require.Equal(t, c.Buffer.Len(), 0) - conn.Write([]byte{5, 0, 0, 0, 0}) wait() - require.Equal(t, c.Buffer.Len(), 5) + + err = p.strand("", func() error { + require.NotEqual(t, c.LastReceived, time.Time{}) + return nil + }) + require.NoError(t, err) // Push multiple messages, the first causing an error, and confirm that // the remaining messages were unprocessed. t.Logf("Pushing multiple messages, first one causing an error") - c.Buffer.Reset() + + disconnectCalled := make(chan struct{}) p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { - require.Equal(t, reason, errors.New("Bad")) + require.Equal(t, reason, ErrErrorMessageHandler) + close(disconnectCalled) } - conn.Write([]byte{4, 0, 0, 0, 'E', 'R', 'R', 0x00}) - wait() - require.Equal(t, c.Buffer.Len(), 0) + _, err = conn.Write([]byte{4, 0, 0, 0, 'E', 'R', 'R', 0x00}) + require.NoError(t, err) + + select { + case <-disconnectCalled: + case <-time.After(time.Second * 2): + t.Fatal("disconnect did not happen, would block") + } p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { fmt.Println(reason) t.Fatal("should not see this") } - conn.Write([]byte{4, 0, 0, 0, 'D', 'U', 'M', 'Y'}) + + _, err = conn.Write([]byte{4, 0, 0, 0, 'D', 'U', 'M', 'Y'}) + require.NoError(t, err) + wait() - require.Equal(t, c.Buffer.Len(), 0) conn, err = net.Dial("tcp", addr) require.NoError(t, err) @@ -571,18 +739,26 @@ func TestProcessConnectionBuffers(t *testing.T) { c = <-cc require.NotNil(t, c) + disconnectCalled = make(chan struct{}) p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { require.Equal(t, c.Addr(), addr) require.Equal(t, reason, ErrDisconnectInvalidMessageLength) require.Nil(t, p.pool[1]) require.Nil(t, p.pool[2]) + close(disconnectCalled) } // Sending a length of < messagePrefixLength should cause a disconnect t.Logf("Pushing message with too small length") - c.Buffer.Reset() - conn.Write([]byte{messagePrefixLength - 1, 0, 0, 0, 'B', 'Y', 'T', 'E'}) - wait() + + _, err = conn.Write([]byte{messagePrefixLength - 1, 0, 0, 0, 'B', 'Y', 'T', 'E'}) + require.NoError(t, err) + + select { + case <-disconnectCalled: + case <-time.After(time.Second * 2): + t.Fatal("disconnect did not happen, would block") + } // Sending a length > MaxMessageLength should cause a disconnect conn, err = net.Dial("tcp", addr) @@ -592,17 +768,24 @@ func TestProcessConnectionBuffers(t *testing.T) { require.NotNil(t, c) t.Logf("Pushing message with too large length") - max := p.Config.MaxMessageLength p.Config.MaxMessageLength = 4 + disconnectCalled = make(chan struct{}) p.Config.DisconnectCallback = func(addr string, r DisconnectReason) { require.Equal(t, ErrDisconnectInvalidMessageLength, r) + close(disconnectCalled) + } + + _, err = conn.Write([]byte{5, 0, 0, 0, 'B', 'Y', 'T', 'E'}) + require.NoError(t, err) + + <-disconnectCalled + + err = p.strand("", func() error { require.Nil(t, p.pool[1]) require.Nil(t, p.pool[2]) require.Nil(t, p.pool[3]) - } - conn.Write([]byte{5, 0, 0, 0, 'B', 'Y', 'T', 'E'}) - wait() - p.Config.MaxMessageLength = max + return nil + }) p.Shutdown() <-q @@ -623,6 +806,12 @@ func TestConnectionWriteLoop(t *testing.T) { cc <- p.pool[1] } + disconnectErr := make(chan DisconnectReason, 1) + p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { + fmt.Printf("DisconnectCallback called, address=%s reason=%v\n", addr, reason) + disconnectErr <- reason + } + q := make(chan struct{}) go func() { defer close(q) @@ -656,36 +845,26 @@ func TestConnectionWriteLoop(t *testing.T) { t.Fatal("No send results, would block") } + require.Len(t, p.SendResults, 0) + require.Equal(t, sr.Message, m) require.Equal(t, sr.Addr, c.Addr()) require.Nil(t, sr.Error) - wait() - - var c2 *Connection - p.strand("", func() error { - fmt.Println("len(p.pool)", len(p.pool)) - c2 = p.pool[1] + err = p.strand("", func() error { + c = p.pool[c.ID] return nil }) + require.NoError(t, err) + require.NotNil(t, c) - require.NotNil(t, c2) - - require.False(t, c2.LastSent.IsZero()) - fmt.Println("c2.LastSent", c2.LastSent) - c2.LastSent = time.Time{} - require.True(t, c2.LastSent.IsZero()) - fmt.Println("Reset c2.LastSent to zero") + lastSent := c.LastSent + require.False(t, lastSent.IsZero()) - // Send a failed message to c2 + // Send a failed message to c sendByteMessage = failingSendByteMessage - disconnectErr := make(chan DisconnectReason, 1) - p.Config.DisconnectCallback = func(addr string, reason DisconnectReason) { - fmt.Printf("DisconnectCallback called, address=%s reason=%v\n", addr, reason) - disconnectErr <- reason - } - err = p.SendMessage(c2.Addr(), m) + err = p.SendMessage(c.Addr(), m) require.NoError(t, err) select { @@ -694,15 +873,15 @@ func TestConnectionWriteLoop(t *testing.T) { t.Fatal("No send results, would block") } require.Equal(t, sr.Message, m) - require.Equal(t, sr.Addr, c2.Addr()) + require.Equal(t, sr.Addr, c.Addr()) require.NotNil(t, sr.Error) reason := <-disconnectErr require.NotNil(t, reason) require.Equal(t, errors.New("send byte message failed"), reason) - fmt.Println("Final c2.LastSent", c2.LastSent) - require.True(t, c2.LastSent.IsZero()) + // c.LastSent should not have changed + require.Equal(t, lastSent, c.LastSent) p.Shutdown() <-q @@ -916,7 +1095,7 @@ func TestPoolReceiveMessage(t *testing.T) { b = make([]byte, 0) b = append(b, ErrorPrefix[:]...) err = p.receiveMessage(c, b) - require.Equal(t, err.Error(), "Bad") + require.Equal(t, err, ErrErrorMessageHandler) p.Shutdown() <-q @@ -982,10 +1161,11 @@ func (dc *DummyConn) Write(b []byte) (int, error) { type ReadErrorConn struct { net.Conn ReadDeadlineSet time.Time + sync.Mutex } func NewReadErrorConn() net.Conn { - return &ReadErrorConn{nil, time.Time{}} + return &ReadErrorConn{} } func (rec *ReadErrorConn) RemoteAddr() net.Addr { @@ -993,10 +1173,18 @@ func (rec *ReadErrorConn) RemoteAddr() net.Addr { } func (rec *ReadErrorConn) SetReadDeadline(t time.Time) error { + rec.Lock() + defer rec.Unlock() rec.ReadDeadlineSet = t return nil } +func (rec *ReadErrorConn) GetReadDeadlineSet() time.Time { + rec.Lock() + defer rec.Unlock() + return rec.ReadDeadlineSet +} + func (rec *ReadErrorConn) Read(b []byte) (int, error) { return 0, errors.New("failed") } @@ -1025,64 +1213,83 @@ func (c *ReadDeadlineFailedConn) Close() error { return nil } -type ReadAlwaysConn struct { +type readAlwaysConn struct { net.Conn - stopReading bool + stopReading chan struct{} } -func (c *ReadAlwaysConn) RemoteAddr() net.Addr { +func newReadAlwaysConn() *readAlwaysConn { + return &readAlwaysConn{ + stopReading: make(chan struct{}), + } +} + +func (c *readAlwaysConn) RemoteAddr() net.Addr { return NewDummyAddr(addr) } -func (c *ReadAlwaysConn) Close() error { +func (c *readAlwaysConn) Close() error { return nil } -func (c *ReadAlwaysConn) Read(b []byte) (int, error) { - if c.stopReading { +func (c *readAlwaysConn) Read(b []byte) (int, error) { + select { + case <-c.stopReading: return 0, errors.New("done") + default: } + if len(b) == 0 { return 0, nil } + b[0] = byte(88) - time.Sleep(time.Millisecond * 2) + return 1, nil } -func (c *ReadAlwaysConn) SetReadDeadline(t time.Time) error { +func (c *readAlwaysConn) SetReadDeadline(t time.Time) error { return nil } -func (c *ReadAlwaysConn) stop() { - c.stopReading = true +func (c *readAlwaysConn) stop() { + close(c.stopReading) } -type ReadNothingConn struct { +type readNothingConn struct { net.Conn - stopReading bool + stopReading chan struct{} +} + +func newReadNothingConn() *readNothingConn { + return &readNothingConn{ + stopReading: make(chan struct{}), + } } -func (c *ReadNothingConn) Read(b []byte) (int, error) { - if c.stopReading { +func (c *readNothingConn) Read(b []byte) (int, error) { + select { + case <-c.stopReading: return 0, errors.New("done") + default: } + time.Sleep(time.Millisecond * 2) return 0, nil } -func (c *ReadNothingConn) SetReadDeadline(t time.Time) error { +func (c *readNothingConn) SetReadDeadline(t time.Time) error { return nil } -func (c *ReadNothingConn) RemoteAddr() net.Addr { +func (c *readNothingConn) RemoteAddr() net.Addr { return NewDummyAddr(addr) } -func (c *ReadNothingConn) Close() error { +func (c *readNothingConn) Close() error { return nil } -func (c *ReadNothingConn) stop() { - c.stopReading = true +func (c *readNothingConn) stop() { + close(c.stopReading) } diff --git a/src/daemon/heights.go b/src/daemon/heights.go new file mode 100755 index 0000000..57288b8 --- /dev/null +++ b/src/daemon/heights.go @@ -0,0 +1,84 @@ +package daemon + +import ( + "sort" + "strings" + "sync" +) + +// PeerBlockchainHeight is a peer's IP address with their reported blockchain height +type PeerBlockchainHeight struct { + Address string `json:"address"` + Height uint64 `json:"height"` +} + +// peerBlockchainHeights tracks reported blockchain heights of peers +type peerBlockchainHeights struct { + // Peer-reported blockchain height. Use to estimate download progress + heights map[string]uint64 + sync.Mutex +} + +// newPeerBlockchainHeights creates a peerBlockchainHeights +func newPeerBlockchainHeights() *peerBlockchainHeights { + return &peerBlockchainHeights{ + heights: make(map[string]uint64), + } +} + +// Remove removes a connection from the records +func (p *peerBlockchainHeights) Remove(addr string) { + p.Lock() + defer p.Unlock() + + delete(p.heights, addr) +} + +// Record saves a peer-reported blockchain height +func (p *peerBlockchainHeights) Record(addr string, height uint64) { + p.Lock() + defer p.Unlock() + + p.heights[addr] = height +} + +// Estimate returns the blockchain length estimated from peer reports. +// The highest height reported amongst all peers, and including the node itself, +// is returned. +func (p *peerBlockchainHeights) Estimate(headSeq uint64) uint64 { + p.Lock() + defer p.Unlock() + + for _, seq := range p.heights { + if headSeq < seq { + headSeq = seq + } + } + + return headSeq +} + +// All returns recorded peers' blockchain heights as an array. +// The array is sorted by address as strings. +func (p *peerBlockchainHeights) All() []PeerBlockchainHeight { + p.Lock() + defer p.Unlock() + + if len(p.heights) == 0 { + return nil + } + + peerHeights := make([]PeerBlockchainHeight, 0, len(p.heights)) + for addr, height := range p.heights { + peerHeights = append(peerHeights, PeerBlockchainHeight{ + Address: addr, + Height: height, + }) + } + + sort.Slice(peerHeights, func(i, j int) bool { + return strings.Compare(peerHeights[i].Address, peerHeights[j].Address) < 0 + }) + + return peerHeights +} diff --git a/src/daemon/heights_test.go b/src/daemon/heights_test.go new file mode 100755 index 0000000..f3acd1d --- /dev/null +++ b/src/daemon/heights_test.go @@ -0,0 +1,82 @@ +package daemon + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func TestPeerBlockchainHeights(t *testing.T) { + p := newPeerBlockchainHeights() + + addr1 := "127.0.0.1:1234" + addr2 := "127.0.0.1:5678" + addr3 := "127.0.0.1:9999" + + require.Empty(t, p.heights) + p.Remove(addr1) + require.Empty(t, p.heights) + + e := p.Estimate(1) + require.Equal(t, uint64(1), e) + + e = p.Estimate(13) + require.Equal(t, uint64(13), e) + + p.Record(addr1, 10) + require.Len(t, p.heights, 1) + + records := p.All() + require.Len(t, records, 1) + require.Equal(t, PeerBlockchainHeight{ + Address: addr1, + Height: 10, + }, records[0]) + + p.Record(addr1, 11) + require.Len(t, p.heights, 1) + + records = p.All() + require.Len(t, records, 1) + require.Equal(t, PeerBlockchainHeight{ + Address: addr1, + Height: 11, + }, records[0]) + + e = p.Estimate(1) + require.Equal(t, uint64(11), e) + + e = p.Estimate(13) + require.Equal(t, uint64(13), e) + + p.Record(addr2, 12) + p.Record(addr3, 12) + require.Len(t, p.heights, 3) + + records = p.All() + require.Len(t, records, 3) + require.Equal(t, []PeerBlockchainHeight{ + { + Address: addr1, + Height: 11, + }, + { + Address: addr2, + Height: 12, + }, + { + Address: addr3, + Height: 12, + }, + }, records) + + e = p.Estimate(1) + require.Equal(t, uint64(12), e) + + e = p.Estimate(13) + require.Equal(t, uint64(13), e) + + p.Record(addr3, 24) + e = p.Estimate(13) + require.Equal(t, uint64(24), e) +} diff --git a/src/daemon/messages.go b/src/daemon/messages.go index 34a467f..1ed7eab 100755 --- a/src/daemon/messages.go +++ b/src/daemon/messages.go @@ -8,6 +8,8 @@ import ( "net" "strings" + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" "github.com/skycoin/skycoin/src/daemon/gnet" "github.com/skycoin/skycoin/src/daemon/pex" "github.com/skycoin/skycoin/src/util/iputil" @@ -98,19 +100,20 @@ type IPAddr struct { Port uint16 } -// NewIPAddr returns an IPAddr from an ip:port string. If ipv6 or invalid, error is -// returned +// NewIPAddr returns an IPAddr from an ip:port string. func NewIPAddr(addr string) (ipaddr IPAddr, err error) { - // TODO -- support ipv6 ips, port, err := iputil.SplitAddr(addr) if err != nil { return } + + // TODO -- support ipv6 ipb := net.ParseIP(ips).To4() if ipb == nil { err = errors.New("Ignoring IPv6 address") return } + ip := binary.BigEndian.Uint32(ipb) ipaddr.IP = ip ipaddr.Port = uint16(port) @@ -129,7 +132,7 @@ func (ipa IPAddr) String() string { // Messages should place themselves on the messageEvent channel in their // Handle() method required by gnet. type AsyncMessage interface { - Process(d *Daemon) + Process(d Daemoner) } // GetPeersMessage sent to request peers @@ -145,27 +148,26 @@ func NewGetPeersMessage() *GetPeersMessage { } // Handle handles message -func (gpm *GetPeersMessage) Handle(mc *gnet.MessageContext, - daemon interface{}) error { +func (gpm *GetPeersMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { // self.connID = mc.ConnID gpm.addr = mc.Addr - return daemon.(*Daemon).recordMessageEvent(gpm, mc) + return daemon.(Daemoner).RecordMessageEvent(gpm, mc) } // Process Notifies the Pex instance that peers were requested -func (gpm *GetPeersMessage) Process(d *Daemon) { - if d.Pex.Config.Disabled { +func (gpm *GetPeersMessage) Process(d Daemoner) { + if d.PexConfig().Disabled { return } - peers := d.Pex.RandomExchangeable(d.Pex.Config.ReplyCount) + peers := d.RandomExchangeable(d.PexConfig().ReplyCount) if len(peers) == 0 { logger.Debug("We have no peers to send in reply") return } m := NewGivePeersMessage(peers) - if err := d.Pool.Pool.SendMessage(gpm.addr, m); err != nil { + if err := d.SendMessage(gpm.addr, m); err != nil { logger.Errorf("Send GivePeersMessage to %s failed: %v", gpm.addr, err) } } @@ -205,18 +207,18 @@ func (gpm *GivePeersMessage) GetPeers() []string { // Handle handle message func (gpm *GivePeersMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { gpm.c = mc - return daemon.(*Daemon).recordMessageEvent(gpm, mc) + return daemon.(Daemoner).RecordMessageEvent(gpm, mc) } // Process Notifies the Pex instance that peers were received -func (gpm *GivePeersMessage) Process(d *Daemon) { - if d.Pex.Config.Disabled { +func (gpm *GivePeersMessage) Process(d Daemoner) { + if d.PexConfig().Disabled { return } peers := gpm.GetPeers() logger.Debugf("Got these peers via PEX: %s", strings.Join(peers, ", ")) - d.Pex.AddPeers(peers) + d.AddPeers(peers) } // IntroductionMessage jan IntroductionMessage is sent on first connect by both parties @@ -228,18 +230,20 @@ type IntroductionMessage struct { Port uint16 // Our client version Version int32 - - c *gnet.MessageContext `enc:"-"` + c *gnet.MessageContext `enc:"-"` // We validate the message in Handle() and cache the result for Process() valid bool `enc:"-"` // skip it during encoding + // Extra would be parsed as blockchain pubkey if it's not empty + Extra []byte `enc:",omitempty"` } // NewIntroductionMessage creates introduction message -func NewIntroductionMessage(mirror uint32, version int32, port uint16) *IntroductionMessage { +func NewIntroductionMessage(mirror uint32, version int32, port uint16, extra []byte) *IntroductionMessage { return &IntroductionMessage{ Mirror: mirror, Version: version, Port: port, + Extra: extra, } } @@ -247,27 +251,44 @@ func NewIntroductionMessage(mirror uint32, version int32, port uint16) *Introduc // need to control the DisconnectReason sent back to gnet. We still implement // Process(), where we do modifications that are not threadsafe func (intro *IntroductionMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { - d := daemon.(*Daemon) + d := daemon.(Daemoner) err := func() error { // Disconnect if this is a self connection (we have the same mirror value) - if intro.Mirror == d.Messages.Mirror { + if intro.Mirror == d.Mirror() { logger.Infof("Remote mirror value %v matches ours", intro.Mirror) - d.Pool.Pool.Disconnect(mc.Addr, ErrDisconnectSelf) + d.Disconnect(mc.Addr, ErrDisconnectSelf) return ErrDisconnectSelf } // Disconnect if not running the same version - if intro.Version != d.Config.Version { + if intro.Version != d.DaemonConfig().Version { logger.Infof("%s has different version %d. Disconnecting.", mc.Addr, intro.Version) - d.Pool.Pool.Disconnect(mc.Addr, ErrDisconnectInvalidVersion) + d.Disconnect(mc.Addr, ErrDisconnectInvalidVersion) return ErrDisconnectInvalidVersion } logger.Infof("%s verified for version %d", mc.Addr, intro.Version) + // Checks the genesis hash if not empty + if len(intro.Extra) > 0 { + var bcPubKey cipher.PubKey + if len(intro.Extra) < len(bcPubKey) { + logger.Infof("Extra data length does not meet the minimum requirement") + d.Disconnect(mc.Addr, ErrDisconnectInvalidExtraData) + return ErrDisconnectInvalidExtraData + } + copy(bcPubKey[:], intro.Extra[:len(bcPubKey)]) + + if d.BlockchainPubkey() != bcPubKey { + logger.Infof("Blockchain pubkey does not match, local: %s, remote: %s", d.BlockchainPubkey().Hex(), bcPubKey.Hex()) + d.Disconnect(mc.Addr, ErrDisconnectBlockchainPubkeyNotMatched) + return ErrDisconnectBlockchainPubkeyNotMatched + } + } + // only solicited connection can be added to exchange peer list, cause accepted // connection may not have incomming port. ip, port, err := iputil.SplitAddr(mc.Addr) @@ -275,25 +296,42 @@ func (intro *IntroductionMessage) Handle(mc *gnet.MessageContext, daemon interfa // This should never happen, but the program should still work if it // does. logger.Errorf("Invalid Addr() for connection: %s", mc.Addr) - d.Pool.Pool.Disconnect(mc.Addr, ErrDisconnectOtherError) + d.Disconnect(mc.Addr, ErrDisconnectOtherError) return ErrDisconnectOtherError } + // Checks if the introduction message is from outgoing connection. + // It's outgoing connection if port == intro.Port, as the incoming + // connection's port is a random port, it's different from the port + // in introduction message. if port == intro.Port { - if err := d.Pex.SetHasIncomingPort(mc.Addr, true); err != nil { + if d.IsDefaultConnection(mc.Addr) { + reached, err := d.IsMaxDefaultConnectionsReached() + if err != nil { + logger.Errorf("Check IsMaxDefaultConnReached failed: %v", err) + return err + } + + if reached { + d.Disconnect(mc.Addr, ErrDisconnectMaxDefaultConnectionReached) + return ErrDisconnectMaxDefaultConnectionReached + } + } + + if err := d.SetHasIncomingPort(mc.Addr); err != nil { logger.Errorf("Failed to set peer has incoming port status, %v", err) } } else { - if err := d.Pex.AddPeer(fmt.Sprintf("%s:%d", ip, intro.Port)); err != nil { + if err := d.AddPeer(fmt.Sprintf("%s:%d", ip, intro.Port)); err != nil { logger.Errorf("Failed to add peer: %v", err) } } // Disconnect if connected twice to the same peer (judging by ip:mirror) - knownPort, exists := d.getMirrorPort(mc.Addr, intro.Mirror) + knownPort, exists := d.GetMirrorPort(mc.Addr, intro.Mirror) if exists { logger.Infof("%s is already connected on port %d", mc.Addr, knownPort) - d.Pool.Pool.Disconnect(mc.Addr, ErrDisconnectConnectedTwice) + d.Disconnect(mc.Addr, ErrDisconnectConnectedTwice) return ErrDisconnectConnectedTwice } return nil @@ -303,19 +341,19 @@ func (intro *IntroductionMessage) Handle(mc *gnet.MessageContext, daemon interfa intro.c = mc if err != nil { - d.Pex.IncreaseRetryTimes(mc.Addr) - d.expectingIntroductions.Remove(mc.Addr) + d.IncreaseRetryTimes(mc.Addr) + d.RemoveFromExpectingIntroductions(mc.Addr) return err } - err = d.recordMessageEvent(intro, mc) - d.Pex.ResetRetryTimes(mc.Addr) + err = d.RecordMessageEvent(intro, mc) + d.ResetRetryTimes(mc.Addr) return err } // Process an event queued by Handle() -func (intro *IntroductionMessage) Process(d *Daemon) { - d.expectingIntroductions.Remove(intro.c.Addr) +func (intro *IntroductionMessage) Process(d Daemoner) { + d.RemoveFromExpectingIntroductions(intro.c.Addr) if !intro.valid { return } @@ -323,17 +361,17 @@ func (intro *IntroductionMessage) Process(d *Daemon) { a := intro.c.Addr // Record their listener, to avoid double connections - err := d.recordConnectionMirror(a, intro.Mirror) + err := d.RecordConnectionMirror(a, intro.Mirror) if err != nil { // This should never happen, but the program should not allow itself // to be corrupted in case it does logger.Errorf("Invalid port for connection %s", a) - d.Pool.Pool.Disconnect(intro.c.Addr, ErrDisconnectOtherError) + d.Disconnect(intro.c.Addr, ErrDisconnectOtherError) return } // Request blocks immediately after they're confirmed - err = d.Visor.RequestBlocksFromAddr(d.Pool, intro.c.Addr) + err = d.RequestBlocksFromAddr(intro.c.Addr) if err == nil { logger.Debugf("Successfully requested blocks from %s", intro.c.Addr) } else { @@ -341,7 +379,7 @@ func (intro *IntroductionMessage) Process(d *Daemon) { } // Anounce unconfirmed know txns - d.Visor.AnnounceAllTxns(d.Pool) + d.AnnounceAllTxns() } // PingMessage Sent to keep a connection alive. A PongMessage is sent in reply. @@ -352,15 +390,15 @@ type PingMessage struct { // Handle implements the Messager interface func (ping *PingMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { ping.c = mc - return daemon.(*Daemon).recordMessageEvent(ping, mc) + return daemon.(Daemoner).RecordMessageEvent(ping, mc) } // Process Sends a PongMessage to the sender of PingMessage -func (ping *PingMessage) Process(d *Daemon) { - if d.Config.LogPings { +func (ping *PingMessage) Process(d Daemoner) { + if d.DaemonConfig().LogPings { logger.Debugf("Reply to ping from %s", ping.c.Addr) } - if err := d.Pool.Pool.SendMessage(ping.c.Addr, &PongMessage{}); err != nil { + if err := d.SendMessage(ping.c.Addr, &PongMessage{}); err != nil { logger.Errorf("Send PongMessage to %s failed: %v", ping.c.Addr, err) } } @@ -378,3 +416,341 @@ func (pong *PongMessage) Handle(mc *gnet.MessageContext, daemon interface{}) err } return nil } + +// GetBlocksMessage sent to request blocks since LastBlock +type GetBlocksMessage struct { + LastBlock uint64 + RequestedBlocks uint64 + c *gnet.MessageContext `enc:"-"` +} + +// NewGetBlocksMessage creates GetBlocksMessage +func NewGetBlocksMessage(lastBlock uint64, requestedBlocks uint64) *GetBlocksMessage { + return &GetBlocksMessage{ + LastBlock: lastBlock, + RequestedBlocks: requestedBlocks, // count of blocks requested + } +} + +// Handle handles message +func (gbm *GetBlocksMessage) Handle(mc *gnet.MessageContext, + daemon interface{}) error { + gbm.c = mc + return daemon.(Daemoner).RecordMessageEvent(gbm, mc) +} + +// Process should send number to be requested, with request +func (gbm *GetBlocksMessage) Process(d Daemoner) { + // TODO -- we need the sig to be sent with the block, but only the master + // can sign blocks. Thus the sig needs to be stored with the block. + if d.DaemonConfig().DisableNetworking { + return + } + // Record this as this peer's highest block + d.RecordPeerHeight(gbm.c.Addr, gbm.LastBlock) + // Fetch and return signed blocks since LastBlock + blocks, err := d.GetSignedBlocksSince(gbm.LastBlock, gbm.RequestedBlocks) + if err != nil { + logger.Infof("Get signed blocks failed: %v", err) + return + } + + if len(blocks) == 0 { + return + } + + logger.Debugf("Got %d blocks since %d", len(blocks), gbm.LastBlock) + + m := NewGiveBlocksMessage(blocks) + if err := d.SendMessage(gbm.c.Addr, m); err != nil { + logger.Errorf("Send GiveBlocksMessage to %s failed: %v", gbm.c.Addr, err) + } +} + +// GiveBlocksMessage sent in response to GetBlocksMessage, or unsolicited +type GiveBlocksMessage struct { + Blocks []coin.SignedBlock + c *gnet.MessageContext `enc:"-"` +} + +// NewGiveBlocksMessage creates GiveBlocksMessage +func NewGiveBlocksMessage(blocks []coin.SignedBlock) *GiveBlocksMessage { + return &GiveBlocksMessage{ + Blocks: blocks, + } +} + +// Handle handle message +func (gbm *GiveBlocksMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + gbm.c = mc + return daemon.(Daemoner).RecordMessageEvent(gbm, mc) +} + +// Process process message +func (gbm *GiveBlocksMessage) Process(d Daemoner) { + if d.DaemonConfig().DisableNetworking { + logger.Critical().Info("Visor disabled, ignoring GiveBlocksMessage") + return + } + + // These DB queries are not performed in a transaction for performance reasons. + // It is not necessary that the blocks be executed together in a single transaction. + + processed := 0 + maxSeq, ok, err := d.HeadBkSeq() + if err != nil { + logger.WithError(err).Error("visor.HeadBkSeq failed") + return + } + if !ok { + logger.Error("No HeadBkSeq found, cannot execute blocks") + return + } + + for _, b := range gbm.Blocks { + // To minimize waste when receiving multiple responses from peers + // we only break out of the loop if the block itself is invalid. + // E.g. if we request 20 blocks since 0 from 2 peers, and one peer + // replies with 15 and the other 20, if we did not do this check and + // the reply with 15 was received first, we would toss the one with 20 + // even though we could process it at the time. + if b.Seq() <= maxSeq { + continue + } + + err := d.ExecuteSignedBlock(b) + if err == nil { + logger.Critical().Infof("Added new block %d", b.Block.Head.BkSeq) + processed++ + } else { + logger.Critical().Errorf("Failed to execute received block %d: %v", b.Block.Head.BkSeq, err) + // Blocks must be received in order, so if one fails its assumed + // the rest are failing + break + } + } + if processed == 0 { + return + } + + headBkSeq, ok, err := d.HeadBkSeq() + if err != nil { + logger.WithError(err).Error("visor.HeadBkSeq failed") + return + } + if !ok { + logger.Error("No HeadBkSeq found after executing blocks, will not announce blocks") + return + } + + if headBkSeq < maxSeq { + logger.Critical().Warning("HeadBkSeq decreased after executing blocks") + } else if headBkSeq-maxSeq != uint64(processed) { + logger.Critical().Warning("HeadBkSeq increased by %d but we processed %s blocks", headBkSeq-maxSeq, processed) + } + + // Announce our new blocks to peers + m1 := NewAnnounceBlocksMessage(headBkSeq) + d.BroadcastMessage(m1) + //request more blocks. + m2 := NewGetBlocksMessage(headBkSeq, d.DaemonConfig().BlocksResponseCount) + d.BroadcastMessage(m2) +} + +// AnnounceBlocksMessage tells a peer our highest known BkSeq. The receiving peer can choose +// to send GetBlocksMessage in response +type AnnounceBlocksMessage struct { + MaxBkSeq uint64 + c *gnet.MessageContext `enc:"-"` +} + +// NewAnnounceBlocksMessage creates message +func NewAnnounceBlocksMessage(seq uint64) *AnnounceBlocksMessage { + return &AnnounceBlocksMessage{ + MaxBkSeq: seq, + } +} + +// Handle handles message +func (abm *AnnounceBlocksMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + abm.c = mc + return daemon.(Daemoner).RecordMessageEvent(abm, mc) +} + +// Process process message +func (abm *AnnounceBlocksMessage) Process(d Daemoner) { + if d.DaemonConfig().DisableNetworking { + return + } + + headBkSeq, ok, err := d.HeadBkSeq() + if err != nil { + logger.WithError(err).Error("AnnounceBlocksMessage Visor.HeadBkSeq failed") + return + } + if !ok { + logger.Error("AnnounceBlocksMessage no head block, cannot process AnnounceBlocksMessage") + return + } + + if headBkSeq >= abm.MaxBkSeq { + return + } + + // TODO: Should this be block get request for current sequence? + // If client is not caught up, won't attempt to get block + m := NewGetBlocksMessage(headBkSeq, d.DaemonConfig().BlocksResponseCount) + if err := d.SendMessage(abm.c.Addr, m); err != nil { + logger.Errorf("Send GetBlocksMessage to %s failed: %v", abm.c.Addr, err) + } +} + +// SendingTxnsMessage send transaction message interface +type SendingTxnsMessage interface { + GetTxns() []cipher.SHA256 +} + +// AnnounceTxnsMessage tells a peer that we have these transactions +type AnnounceTxnsMessage struct { + Txns []cipher.SHA256 + c *gnet.MessageContext `enc:"-"` +} + +// NewAnnounceTxnsMessage creates announce txns message +func NewAnnounceTxnsMessage(txns []cipher.SHA256) *AnnounceTxnsMessage { + return &AnnounceTxnsMessage{ + Txns: txns, + } +} + +// GetTxns returns txns +func (atm *AnnounceTxnsMessage) GetTxns() []cipher.SHA256 { + return atm.Txns +} + +// Handle handle message +func (atm *AnnounceTxnsMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + atm.c = mc + return daemon.(Daemoner).RecordMessageEvent(atm, mc) +} + +// Process process message +func (atm *AnnounceTxnsMessage) Process(d Daemoner) { + if d.DaemonConfig().DisableNetworking { + return + } + + unknown, err := d.GetUnconfirmedUnknown(atm.Txns) + if err != nil { + logger.WithError(err).Error("AnnounceTxnsMessage Visor.GetUnconfirmedUnknown failed") + return + } + + if len(unknown) == 0 { + return + } + + m := NewGetTxnsMessage(unknown) + if err := d.SendMessage(atm.c.Addr, m); err != nil { + logger.Errorf("Send GetTxnsMessage to %s failed: %v", atm.c.Addr, err) + } +} + +// GetTxnsMessage request transactions of given hash +type GetTxnsMessage struct { + Txns []cipher.SHA256 + c *gnet.MessageContext `enc:"-"` +} + +// NewGetTxnsMessage creates GetTxnsMessage +func NewGetTxnsMessage(txns []cipher.SHA256) *GetTxnsMessage { + return &GetTxnsMessage{ + Txns: txns, + } +} + +// Handle handle message +func (gtm *GetTxnsMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + gtm.c = mc + return daemon.(Daemoner).RecordMessageEvent(gtm, mc) +} + +// Process process message +func (gtm *GetTxnsMessage) Process(d Daemoner) { + if d.DaemonConfig().DisableNetworking { + return + } + + // Locate all txns from the unconfirmed pool + known, err := d.GetUnconfirmedKnown(gtm.Txns) + if err != nil { + logger.WithError(err).Error("GetTxnsMessage Visor.GetUnconfirmedKnown failed") + return + } + if len(known) == 0 { + return + } + + // Reply to sender with GiveTxnsMessage + m := NewGiveTxnsMessage(known) + if err := d.SendMessage(gtm.c.Addr, m); err != nil { + logger.Errorf("Send GiveTxnsMessage to %s failed: %v", gtm.c.Addr, err) + } +} + +// GiveTxnsMessage tells the transaction of given hashes +type GiveTxnsMessage struct { + Txns coin.Transactions + c *gnet.MessageContext `enc:"-"` +} + +// NewGiveTxnsMessage creates GiveTxnsMessage +func NewGiveTxnsMessage(txns coin.Transactions) *GiveTxnsMessage { + return &GiveTxnsMessage{ + Txns: txns, + } +} + +// GetTxns returns transactions hashes +func (gtm *GiveTxnsMessage) GetTxns() []cipher.SHA256 { + return gtm.Txns.Hashes() +} + +// Handle handle message +func (gtm *GiveTxnsMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + gtm.c = mc + return daemon.(Daemoner).RecordMessageEvent(gtm, mc) +} + +// Process process message +func (gtm *GiveTxnsMessage) Process(d Daemoner) { + if d.DaemonConfig().DisableNetworking { + return + } + + hashes := make([]cipher.SHA256, 0, len(gtm.Txns)) + // Update unconfirmed pool with these transactions + for _, txn := range gtm.Txns { + // Only announce transactions that are new to us, so that peers can't spam relays + known, softErr, err := d.InjectTransaction(txn) + if err != nil { + logger.Warningf("Failed to record transaction %s: %v", txn.Hash().Hex(), err) + continue + } else if softErr != nil { + logger.Warningf("Transaction soft violation: %v", err) + continue + } else if known { + logger.Warningf("Duplicate Transaction: %s", txn.Hash().Hex()) + continue + } + + hashes = append(hashes, txn.Hash()) + } + + // Announce these transactions to peers + if len(hashes) != 0 { + logger.Debugf("Announce %d transactions", len(hashes)) + m := NewAnnounceTxnsMessage(hashes) + d.BroadcastMessage(m) + } +} diff --git a/src/daemon/messages_test.go b/src/daemon/messages_test.go index 9d30720..bd8dc0e 100755 --- a/src/daemon/messages_test.go +++ b/src/daemon/messages_test.go @@ -1 +1,832 @@ package daemon + +import ( + "bufio" + "fmt" + "os" + "reflect" + "strconv" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon/gnet" + "github.com/skycoin/skycoin/src/daemon/pex" + "github.com/skycoin/skycoin/src/util" +) + +func setupMsgEncoding() { + gnet.EraseMessages() + var messagesConfig = NewMessagesConfig() + messagesConfig.Register() +} + +/************************************** + * + * Test helpers + * + *************************************/ + +// MessagesAnnotationsIterator : Implementation of IAnnotationsIterator for type gnet.Message +type MessagesAnnotationsIterator struct { + Message gnet.Message + LengthCalled bool + PrefixCalled bool + CurrentField int + MaxField int + CurrentIndex int +} + +// NewMessagesAnnotationsIterator : Initializes struct MessagesAnnotationsIterator +func NewMessagesAnnotationsIterator(message gnet.Message) MessagesAnnotationsIterator { + var mai = MessagesAnnotationsIterator{} + mai.Message = message + mai.LengthCalled = false + mai.PrefixCalled = false + mai.CurrentField = 0 + mai.CurrentIndex = -1 + + mai.MaxField = reflect.Indirect(reflect.ValueOf(mai.Message)).NumField() + + return mai +} + +// Next : Yields next element of MessagesAnnotationsIterator +func (mai *MessagesAnnotationsIterator) Next() (util.Annotation, bool) { + if !mai.LengthCalled { + mai.LengthCalled = true + return util.Annotation{Size: 4, Name: "Length"}, true + } + if !mai.PrefixCalled { + mai.PrefixCalled = true + return util.Annotation{Size: 4, Name: "Prefix"}, true + + } + if mai.CurrentField >= mai.MaxField { + return util.Annotation{}, false + } + + var i = mai.CurrentField + var j = mai.CurrentIndex + + var v = reflect.Indirect(reflect.ValueOf(mai.Message)) + t := v.Type() + vF := v.Field(i) + f := t.Field(i) + for f.PkgPath != "" && i < mai.MaxField { + i++ + mai.CurrentField++ + mai.CurrentIndex = -1 + j = -1 + if i < mai.MaxField { + f = t.Field(i) + if f.Type.Kind() == reflect.Slice { + if _, omitempty := encoder.ParseTag(f.Tag.Get("enc")); omitempty { + if i == mai.MaxField-1 { + vF = v.Field(i) + if vF.Len() == 0 { + // Last field is empty slice. Nothing further tokens + return util.Annotation{}, false + } + } else { + panic(encoder.ErrInvalidOmitEmpty) + } + } + } + } else { + return util.Annotation{}, false + } + } + if f.Tag.Get("enc") != "-" { + if vF.CanSet() || f.Name != "_" { + if v.Field(i).Kind() == reflect.Slice { + if mai.CurrentIndex == -1 { + mai.CurrentIndex = 0 + return util.Annotation{Size: 4, Name: f.Name + " length"}, true + } + sliceLen := v.Field(i).Len() + mai.CurrentIndex++ + if mai.CurrentIndex < sliceLen { + // Emit annotation for slice item + return util.Annotation{Size: len(encoder.Serialize(v.Field(i).Slice(j, j+1).Interface())[4:]), Name: f.Name + "[" + strconv.Itoa(j) + "]"}, true + } + // No more annotation tokens for current slice field + mai.CurrentIndex = -1 + mai.CurrentField++ + if sliceLen > 0 { + // Emit annotation for last item + return util.Annotation{Size: len(encoder.Serialize(v.Field(i).Slice(j, j+1).Interface())[4:]), Name: f.Name + "[" + strconv.Itoa(j) + "]"}, true + } + // Zero length slice. Start over + return mai.Next() + } + + mai.CurrentField++ + return util.Annotation{Size: len(encoder.Serialize(v.Field(i).Interface())), Name: f.Name}, true + + } + } + + return util.Annotation{}, false +} + +/************************************** + * + * Test cases + * + *************************************/ + +var hashes = []cipher.SHA256{ + GetSHAFromHex("123"), + GetSHAFromHex("456"), + GetSHAFromHex("789"), + GetSHAFromHex("abc"), + GetSHAFromHex("def"), + GetSHAFromHex("101"), + GetSHAFromHex("111"), + GetSHAFromHex("121"), + GetSHAFromHex("314"), + GetSHAFromHex("151"), +} + +var secKey1 = (cipher.NewSecKey([]byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32})) +var secKey2 = cipher.NewSecKey([]byte{33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64}) +var secKey3 = cipher.NewSecKey([]byte{65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96}) +var secKey4 = cipher.NewSecKey([]byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96}) + +var addresses = []cipher.Address{ + cipher.AddressFromSecKey(secKey1), + cipher.AddressFromSecKey(secKey2), + cipher.AddressFromSecKey(secKey3), + cipher.AddressFromSecKey(secKey4), +} + +func GetSHAFromHex(hex string) cipher.SHA256 { + var sha, _ = cipher.SHA256FromHex(hex) + return sha +} + +type EmptySliceStruct struct { + A uint8 + e int16 + B string + C int32 + D []byte + f rune +} + +func (m *EmptySliceStruct) Handle(mc *gnet.MessageContext, daemon interface{}) error { + // Do nothing + return nil +} + +func ExampleEmptySliceStruct() { + defer gnet.EraseMessages() + setupMsgEncoding() + gnet.RegisterMessage(gnet.MessagePrefixFromString("TEST"), EmptySliceStruct{}) + gnet.VerifyMessages() + var message = EmptySliceStruct{ + 0x01, + 0x2345, + "", + 0x6789ABCD, + nil, + 'a', + } + var mai = NewMessagesAnnotationsIterator(&message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(&message), &mai, w) + // Output: + // 0x0000 | 11 00 00 00 ....................................... Length + // 0x0004 | 54 45 53 54 ....................................... Prefix + // 0x0008 | 01 ................................................ A + // 0x0009 | 00 00 00 00 ....................................... B + // 0x000d | cd ab 89 67 ....................................... C + // 0x0011 | 00 00 00 00 ....................................... D length + // 0x0015 | +} + +type OmitEmptySliceTestStruct struct { + A uint8 + B []byte + c rune + D []byte `enc:",omitempty"` +} + +func (m *OmitEmptySliceTestStruct) Handle(mc *gnet.MessageContext, daemon interface{}) error { + // Do nothing + return nil +} + +func ExampleOmitEmptySliceTestStruct() { + defer gnet.EraseMessages() + setupMsgEncoding() + gnet.RegisterMessage(gnet.MessagePrefixFromString("TEST"), OmitEmptySliceTestStruct{}) + gnet.VerifyMessages() + var message = OmitEmptySliceTestStruct{ + 0x01, + nil, + 'a', + nil, + } + var mai = NewMessagesAnnotationsIterator(&message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(&message), &mai, w) + // Output: + // 0x0000 | 09 00 00 00 ....................................... Length + // 0x0004 | 54 45 53 54 ....................................... Prefix + // 0x0008 | 01 ................................................ A + // 0x0009 | 00 00 00 00 ....................................... B length + // 0x000d | +} + +func ExampleIntroductionMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var message = NewIntroductionMessage(1234, 5, 7890, nil) + fmt.Println("IntroductionMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // IntroductionMessage: + // 0x0000 | 0e 00 00 00 ....................................... Length + // 0x0004 | 49 4e 54 52 ....................................... Prefix + // 0x0008 | d2 04 00 00 ....................................... Mirror + // 0x000c | d2 1e ............................................. Port + // 0x000e | 05 00 00 00 ....................................... Version + // 0x0012 | +} + +func ExampleGetPeersMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var message = NewGetPeersMessage() + fmt.Println("GetPeersMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // GetPeersMessage: + // 0x0000 | 04 00 00 00 ....................................... Length + // 0x0004 | 47 45 54 50 ....................................... Prefix + // 0x0008 | +} + +func ExampleGivePeersMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var peers = make([]pex.Peer, 3) + var peer0 = *pex.NewPeer("118.178.135.93:6000") + var peer1 = *pex.NewPeer("47.88.33.156:6000") + var peer2 = *pex.NewPeer("121.41.103.148:6000") + peers = append(peers, peer0, peer1, peer2) + var message = NewGivePeersMessage(peers) + fmt.Println("GivePeersMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // GivePeersMessage: + // 0x0000 | 1a 00 00 00 ....................................... Length + // 0x0004 | 47 49 56 50 ....................................... Prefix + // 0x0008 | 03 00 00 00 ....................................... Peers length + // 0x000c | 5d 87 b2 76 70 17 ................................. Peers[0] + // 0x0012 | 9c 21 58 2f 70 17 ................................. Peers[1] + // 0x0018 | 94 67 29 79 70 17 ................................. Peers[2] + // 0x001e | +} + +func ExampleGetBlocksMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var message = NewGetBlocksMessage(1234, 5678) + fmt.Println("GetBlocksMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // GetBlocksMessage: + // 0x0000 | 14 00 00 00 ....................................... Length + // 0x0004 | 47 45 54 42 ....................................... Prefix + // 0x0008 | d2 04 00 00 00 00 00 00 ........................... LastBlock + // 0x0010 | 2e 16 00 00 00 00 00 00 ........................... RequestedBlocks + // 0x0018 | +} + +func ExampleGiveBlocksMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var blocks = make([]coin.SignedBlock, 1) + var body1 = coin.BlockBody{ + Transactions: make([]coin.Transaction, 0), + } + var block1 = coin.Block{ + Body: body1, + Head: coin.BlockHeader{ + Version: 0x02, + Time: 100, + BkSeq: 0, + Fee: 10, + PrevHash: hashes[0], + BodyHash: body1.Hash(), + }} + var sig, _ = cipher.SigFromHex("123") + var signedBlock = coin.SignedBlock{ + Sig: sig, + Block: block1, + } + blocks = append(blocks, signedBlock) + var message = NewGiveBlocksMessage(blocks) + fmt.Println("GiveBlocksMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // GiveBlocksMessage: + // 0x0000 | 8a 01 00 00 ....................................... Length + // 0x0004 | 47 49 56 42 ....................................... Prefix + // 0x0008 | 02 00 00 00 ....................................... Blocks length + // 0x000c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x001c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x002c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x003c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x004c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x005c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x006c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x007c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x008c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x009c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00ac | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00bc | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00cc | 00 ................................................ Blocks[0] + // 0x00cd | 02 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 + // 0x00dd | 00 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 + // 0x00ed | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00fd | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x010d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x011d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x012d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x013d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x014d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x015d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x016d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x017d | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x018d | 00 ................................................ Blocks[1] + // 0x018e | +} + +func ExampleAnnounceBlocksMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var message = NewAnnounceBlocksMessage(123456) + fmt.Println("AnnounceBlocksMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // AnnounceBlocksMessage: + // 0x0000 | 0c 00 00 00 ....................................... Length + // 0x0004 | 41 4e 4e 42 ....................................... Prefix + // 0x0008 | 40 e2 01 00 00 00 00 00 ........................... MaxBkSeq + // 0x0010 | +} + +func ExampleGetTxnsMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var shas = make([]cipher.SHA256, 0) + + shas = append(shas, hashes[1], hashes[2]) + var message = NewGetTxnsMessage(shas) + fmt.Println("GetTxnsMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // GetTxnsMessage: + // 0x0000 | 48 00 00 00 ....................................... Length + // 0x0004 | 47 45 54 54 ....................................... Prefix + // 0x0008 | 02 00 00 00 ....................................... Txns length + // 0x000c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x001c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... Txns[0] + // 0x002c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x003c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... Txns[1] + // 0x004c | +} + +func ExampleGiveTxnsMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var transactions coin.Transactions = make([]coin.Transaction, 0) + var transactionOutputs0 = make([]coin.TransactionOutput, 0) + var transactionOutputs1 = make([]coin.TransactionOutput, 0) + var txOutput0 = coin.TransactionOutput{ + Address: addresses[0], + Coins: 12, + Hours: 34, + } + var txOutput1 = coin.TransactionOutput{ + Address: addresses[1], + Coins: 56, + Hours: 78, + } + var txOutput2 = coin.TransactionOutput{ + Address: addresses[3], + Coins: 9, + Hours: 12, + } + var txOutput3 = coin.TransactionOutput{ + Address: addresses[2], + Coins: 34, + Hours: 56, + } + transactionOutputs0 = append(transactionOutputs0, txOutput0, txOutput1) + transactionOutputs1 = append(transactionOutputs1, txOutput2, txOutput3) + + var sig0, sig1, sig2, sig3 cipher.Sig + sig0, _ = cipher.SigFromHex("sig0") + sig1, _ = cipher.SigFromHex("sig1") + sig2, _ = cipher.SigFromHex("sig2") + sig3, _ = cipher.SigFromHex("sig3") + var transaction0 = coin.Transaction{ + Type: 123, + In: []cipher.SHA256{hashes[3], hashes[4]}, + InnerHash: hashes[5], + Length: 5000, + Out: transactionOutputs0, + Sigs: []cipher.Sig{sig0, sig1}, + } + var transaction1 = coin.Transaction{ + Type: 123, + In: []cipher.SHA256{hashes[5], hashes[6]}, + InnerHash: hashes[6], + Length: 5000, + Out: transactionOutputs1, + Sigs: []cipher.Sig{sig2, sig3}, + } + transactions = append(transactions, transaction0, transaction1) + var message = NewGiveTxnsMessage(transactions) + fmt.Println("GiveTxnsMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // GiveTxnsMessage: + // 0x0000 | 82 02 00 00 ....................................... Length + // 0x0004 | 47 49 56 54 ....................................... Prefix + // 0x0008 | 02 00 00 00 ....................................... Txns length + // 0x000c | 88 13 00 00 7b 00 00 00 00 00 00 00 00 00 00 00 + // 0x001c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x002c | 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 + // 0x003c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x004c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x005c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x006c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x007c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x008c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x009c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00ac | 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 + // 0x00bc | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00cc | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00dc | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x00ec | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 + // 0x00fc | 00 00 00 00 07 6d ca 32 de 03 4e 48 67 fa 7a 2a + // 0x010c | a9 ee fe 91 f2 0b a0 74 0c 00 00 00 00 00 00 00 + // 0x011c | 22 00 00 00 00 00 00 00 00 e9 cb 47 35 e3 95 cf + // 0x012c | 36 b0 d1 a6 f2 21 bb 23 b3 f7 bf b1 f9 38 00 00 + // 0x013c | 00 00 00 00 00 4e 00 00 00 00 00 00 00 ............ Txns[0] + // 0x0149 | 88 13 00 00 7b 00 00 00 00 00 00 00 00 00 00 00 + // 0x0159 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x0169 | 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 + // 0x0179 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x0189 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x0199 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x01a9 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x01b9 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x01c9 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x01d9 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x01e9 | 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 + // 0x01f9 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x0209 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x0219 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x0229 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 + // 0x0239 | 00 00 00 00 7e f9 b1 b9 40 6f 8d b3 99 b2 5f d0 + // 0x0249 | e9 f4 f0 88 7b 08 4b 43 09 00 00 00 00 00 00 00 + // 0x0259 | 0c 00 00 00 00 00 00 00 00 83 f1 96 59 16 14 99 + // 0x0269 | 2f a6 03 13 38 6f 72 88 ac 40 14 c8 bc 22 00 00 + // 0x0279 | 00 00 00 00 00 38 00 00 00 00 00 00 00 ............ Txns[1] + // 0x0286 | +} + +func ExampleAnnounceTxnsMessage() { + defer gnet.EraseMessages() + setupMsgEncoding() + var message = NewAnnounceTxnsMessage([]cipher.SHA256{hashes[7], hashes[8]}) + fmt.Println("AnnounceTxnsMessage:") + var mai = NewMessagesAnnotationsIterator(message) + w := bufio.NewWriter(os.Stdout) + util.HexDumpFromIterator(gnet.EncodeMessage(message), &mai, w) + // Output: + // AnnounceTxnsMessage: + // 0x0000 | 48 00 00 00 ....................................... Length + // 0x0004 | 41 4e 4e 54 ....................................... Prefix + // 0x0008 | 02 00 00 00 ....................................... Txns length + // 0x000c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x001c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... Txns[0] + // 0x002c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + // 0x003c | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... Txns[1] + // 0x004c | +} + +func TestIntroductionMessage(t *testing.T) { + defer gnet.EraseMessages() + setupMsgEncoding() + + pubkey, _ := cipher.GenerateKeyPair() + pubkey2, _ := cipher.GenerateKeyPair() + + type mirrorPortResult struct { + port uint16 + exist bool + } + + type daemonMockValue struct { + version uint32 + mirror uint32 + isDefaultConnection bool + isMaxConnectionsReached bool + isMaxConnectionsReachedErr error + setHasIncomingPortErr error + getMirrorPortResult mirrorPortResult + recordMessageEventErr error + pubkey cipher.PubKey + disconnectReason gnet.DisconnectReason + disconnectErr error + addPeerArg string + addPeerErr error + } + + tt := []struct { + name string + addr string + mockValue daemonMockValue + intro *IntroductionMessage + err error + }{ + { + name: "INTR message without extra bytes", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Port: 6000, + Version: 1, + valid: true, + }, + err: nil, + }, + { + name: "INTR message with pubkey", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + pubkey: pubkey, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Port: 6000, + Version: 1, + valid: true, + Extra: pubkey[:], + }, + err: nil, + }, + { + name: "INTR message with pubkey", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + pubkey: pubkey, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Port: 6000, + Version: 1, + valid: true, + Extra: pubkey[:], + }, + err: nil, + }, + { + name: "INTR message with pubkey and additional data", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + pubkey: pubkey, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Port: 6000, + Version: 1, + valid: true, + Extra: append(pubkey[:], []byte("additional data")...), + }, + err: nil, + }, + { + name: "INTR message with different pubkey", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + pubkey: pubkey, + disconnectReason: ErrDisconnectBlockchainPubkeyNotMatched, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Port: 6000, + Version: 1, + valid: true, + Extra: pubkey2[:], + }, + err: ErrDisconnectBlockchainPubkeyNotMatched, + }, + { + name: "INTR message with invalid pubkey", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + pubkey: pubkey, + disconnectReason: ErrDisconnectInvalidExtraData, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Port: 6000, + Version: 1, + valid: true, + Extra: []byte("invalid extra data"), + }, + err: ErrDisconnectInvalidExtraData, + }, + { + name: "Disconnect self connection", + mockValue: daemonMockValue{ + mirror: 10000, + disconnectReason: ErrDisconnectSelf, + }, + intro: &IntroductionMessage{ + Mirror: 10000, + }, + err: ErrDisconnectSelf, + }, + { + name: "Invalid version", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + disconnectReason: ErrDisconnectInvalidVersion, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Version: 0, + }, + err: ErrDisconnectInvalidVersion, + }, + { + name: "Invalid address", + addr: "121.121.121.121", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + disconnectReason: ErrDisconnectOtherError, + pubkey: pubkey, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Version: 1, + Port: 6000, + }, + err: ErrDisconnectOtherError, + }, + { + name: "Max default connections reached", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + disconnectReason: ErrDisconnectMaxDefaultConnectionReached, + isDefaultConnection: true, + isMaxConnectionsReached: true, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + pubkey: pubkey, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Version: 1, + Port: 6000, + }, + err: ErrDisconnectMaxDefaultConnectionReached, + }, + { + name: "incomming connection", + addr: "121.121.121.121:12345", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + isDefaultConnection: true, + isMaxConnectionsReached: true, + getMirrorPortResult: mirrorPortResult{ + exist: false, + }, + pubkey: pubkey, + addPeerArg: "121.121.121.121:6000", + addPeerErr: nil, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Version: 1, + Port: 6000, + valid: true, + }, + }, + { + name: "Connect twice", + addr: "121.121.121.121:6000", + mockValue: daemonMockValue{ + mirror: 10000, + version: 1, + isDefaultConnection: true, + getMirrorPortResult: mirrorPortResult{ + exist: true, + }, + pubkey: pubkey, + addPeerArg: "121.121.121.121:6000", + addPeerErr: nil, + disconnectReason: ErrDisconnectConnectedTwice, + }, + intro: &IntroductionMessage{ + Mirror: 10001, + Version: 1, + Port: 6000, + }, + err: ErrDisconnectConnectedTwice, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + mc := &gnet.MessageContext{Addr: tc.addr} + tc.intro.c = mc + + d := NewDaemonerMock() + d.On("DaemonConfig").Return(DaemonConfig{Version: int32(tc.mockValue.version)}) + d.On("Mirror").Return(tc.mockValue.mirror) + d.On("IsDefaultConnection", tc.addr).Return(tc.mockValue.isDefaultConnection) + d.On("SetHasIncomingPort", tc.addr).Return(tc.mockValue.setHasIncomingPortErr) + d.On("GetMirrorPort", tc.addr, tc.intro.Mirror).Return(tc.mockValue.getMirrorPortResult.port, tc.mockValue.getMirrorPortResult.exist) + d.On("RecordMessageEvent", tc.intro, mc).Return(tc.mockValue.recordMessageEventErr) + d.On("ResetRetryTimes", tc.addr) + d.On("BlockchainPubkey").Return(tc.mockValue.pubkey) + d.On("Disconnect", tc.addr, tc.mockValue.disconnectReason).Return(tc.mockValue.disconnectErr) + d.On("IncreaseRetryTimes", tc.addr) + d.On("RemoveFromExpectingIntroductions", tc.addr) + d.On("IsMaxDefaultConnectionsReached").Return(tc.mockValue.isMaxConnectionsReached, tc.mockValue.isMaxConnectionsReachedErr) + d.On("AddPeer", tc.mockValue.addPeerArg).Return(tc.mockValue.addPeerErr) + + err := tc.intro.Handle(mc, d) + require.Equal(t, tc.err, err) + }) + } + +} diff --git a/src/daemon/pex/peerlist_test.go b/src/daemon/pex/peerlist_test.go index ae4b66a..2fc4aac 100755 --- a/src/daemon/pex/peerlist_test.go +++ b/src/daemon/pex/peerlist_test.go @@ -527,9 +527,7 @@ func preparePeerlistFile(t *testing.T) (string, func()) { func preparePeerlistDir(t *testing.T) (string, func()) { f, err := ioutil.TempDir("", "peerlist") - if err != nil { - panic(err) - } + require.NoError(t, err) return f, func() { os.Remove(f) diff --git a/src/daemon/pex/pex.go b/src/daemon/pex/pex.go index 569d6b7..afe0d3d 100755 --- a/src/daemon/pex/pex.go +++ b/src/daemon/pex/pex.go @@ -392,10 +392,9 @@ func (px *Pex) AddPeers(addrs []string) int { addrs = validAddrs // Shuffle the addresses before capping them - for i := len(addrs) - 1; i > 0; i-- { - j := rand.Intn(i + 1) + rand.Shuffle(len(addrs), func(i, j int) { addrs[i], addrs[j] = addrs[j], addrs[i] - } + }) if px.Config.Max > 0 { rcap := px.Config.Max - px.peerlist.len() diff --git a/src/daemon/pool.go b/src/daemon/pool.go index 2729dce..4ac51dc 100755 --- a/src/daemon/pool.go +++ b/src/daemon/pool.go @@ -3,7 +3,6 @@ package daemon import ( "time" - //"github.com/skycoin/skycoin/src/daemon/gnet" "github.com/skycoin/skycoin/src/daemon/gnet" ) @@ -24,7 +23,9 @@ type PoolConfig struct { // Buffer size for gnet.ConnectionPool's network Read events EventChannelSize int // Maximum number of connections to maintain - MaxConnections int + MaxConnections int + MaxDefaultPeerOutgoingConnections int + DefaultPeerConnections map[string]struct{} // These should be assigned by the controlling daemon address string port int @@ -34,16 +35,18 @@ type PoolConfig struct { func NewPoolConfig() PoolConfig { //defIdleLimit := time.Minute return PoolConfig{ - port: 6677, - address: "", - DialTimeout: time.Second * 30, - MessageHandlingRate: time.Millisecond * 50, - PingRate: 5 * time.Second, - IdleLimit: 60 * time.Second, - IdleCheckRate: 1 * time.Second, - ClearStaleRate: 1 * time.Second, - EventChannelSize: 4096, - MaxConnections: 128, + port: 6677, + address: "", + DialTimeout: time.Second * 30, + MessageHandlingRate: time.Millisecond * 50, + PingRate: 5 * time.Second, + IdleLimit: 60 * time.Second, + IdleCheckRate: 1 * time.Second, + ClearStaleRate: 1 * time.Second, + EventChannelSize: 4096, + MaxConnections: 128, + MaxDefaultPeerOutgoingConnections: 1, + DefaultPeerConnections: make(map[string]struct{}), } } @@ -54,30 +57,29 @@ type Pool struct { } // NewPool creates pool -func NewPool(c PoolConfig, d *Daemon) *Pool { - pool := &Pool{ - Config: c, - Pool: nil, - } - - cfg := gnet.NewConfig() - cfg.DialTimeout = pool.Config.DialTimeout - cfg.Port = uint16(pool.Config.port) - cfg.Address = pool.Config.address - cfg.ConnectCallback = d.onGnetConnect - cfg.DisconnectCallback = d.onGnetDisconnect - cfg.MaxConnections = pool.Config.MaxConnections +func NewPool(cfg PoolConfig, d *Daemon) *Pool { + gnetCfg := gnet.NewConfig() + gnetCfg.DialTimeout = cfg.DialTimeout + gnetCfg.Port = uint16(cfg.port) + gnetCfg.Address = cfg.address + gnetCfg.ConnectCallback = d.onGnetConnect + gnetCfg.DisconnectCallback = d.onGnetDisconnect + gnetCfg.MaxConnections = cfg.MaxConnections + gnetCfg.MaxDefaultPeerOutgoingConnections = cfg.MaxDefaultPeerOutgoingConnections + gnetCfg.DefaultPeerConnections = cfg.DefaultPeerConnections - pool.Pool = gnet.NewConnectionPool(cfg, d) - - return pool + return &Pool{ + Config: cfg, + Pool: gnet.NewConnectionPool(gnetCfg, d), + } } // Shutdown closes all connections and stops listening func (pool *Pool) Shutdown() { - if pool.Pool != nil { - pool.Pool.Shutdown() + if pool == nil { + return } + pool.Pool.Shutdown() } // Run starts listening on the configured Port diff --git a/src/daemon/pool_test.go b/src/daemon/pool_test.go deleted file mode 100755 index 6dd7167..0000000 --- a/src/daemon/pool_test.go +++ /dev/null @@ -1,75 +0,0 @@ -package daemon - -import ( - "time" - //"github.com/skycoin/skycoin/src/daemon/gnet" -) - -// func TestInitPool(t *testing.T) { -// d := newDefaultDaemon() -// pool := NewPool(NewPoolConfig()) -// assert.Nil(t, pool.Pool) -// assert.NotPanics(t, func() { pool.Init(d) }) -// assert.Equal(t, pool.Pool.Config.DialTimeout, pool.Config.DialTimeout) -// assert.NotNil(t, pool.Pool.Config.DisconnectCallback) -// assert.NotNil(t, pool.Pool.Config.ConnectCallback) -// wait() -// go func() { -// assert.NotPanics(t, pool.Start) -// }() -// wait() -// // A second call to start listen will panic due to the pool already -// // listening -// assert.Panics(t, pool.Start) -// pool.Pool.StopListen() -// wait() -// pool.Shutdown() -// shutdown(d) -// } - -// func TestShutdownPool(t *testing.T) { -// // Shutting down should flush the DisconnectQueue, among other things -// d := newDefaultDaemon() -// pool := d.Pool -// assert.Equal(t, len(pool.Pool.DisconnectQueue), 0) -// pool.Pool.DisconnectQueue <- gnet.DisconnectEvent{ -// ConnId: 1, -// Reason: DisconnectOtherError, -// } -// assert.NotPanics(t, d.Pool.Shutdown) -// wait() -// // pool.Shutdown() should call Pool.StopListen() which closes and resets -// // the DisconnectQueue channel -// assert.Equal(t, len(pool.Pool.DisconnectQueue), 0) -// shutdown(d) -// } - -// func testOnGnetConnectSolicitation(t *testing.T, d *Daemon, -// c *gnet.Connection, addr string, sol bool) { -// d.onGnetConnect(c, sol) -// assert.Equal(t, len(d.onConnectEvent), 1) -// if len(d.onConnectEvent) == 0 { -// t.Fatalf("onConnectEvent is not empty, would block") -// } -// ce := <-d.onConnectEvent -// assert.Equal(t, ce.Addr, addr) -// assert.Equal(t, ce.Solicited, sol) -// } - -// func TestOnGnetConnect(t *testing.T) { -// d := newDefaultDaemon() -// addr := "11.22.33.44:5555" -// c := gnetConnection(addr) -// assert.Equal(t, len(d.onConnectEvent), 0) -// testOnGnetConnectSolicitation(t, d, c, addr, false) -// assert.Equal(t, len(d.onConnectEvent), 0) -// testOnGnetConnectSolicitation(t, d, c, addr, true) -// assert.Equal(t, len(d.onConnectEvent), 0) -// shutdown(d) -// } - -/* Helpers */ - -func wait() { - time.Sleep(time.Millisecond * 50) -} diff --git a/src/daemon/rpc.go b/src/daemon/rpc.go deleted file mode 100755 index e081569..0000000 --- a/src/daemon/rpc.go +++ /dev/null @@ -1,181 +0,0 @@ -package daemon - -import ( - "sort" - "strings" - - "github.com/skycoin/skycoin/src/cipher" -) - -// Connection a connection's state within the daemon -type Connection struct { - ID int `json:"id"` - Addr string `json:"address"` - LastSent int64 `json:"last_sent"` - LastReceived int64 `json:"last_received"` - // Whether the connection is from us to them (true, outgoing), - // or from them to us (false, incoming) - Outgoing bool `json:"outgoing"` - // Whether the client has identified their version, mirror etc - Introduced bool `json:"introduced"` - Mirror uint32 `json:"mirror"` - ListenPort uint16 `json:"listen_port"` -} - -// Connections an array of connections -// Arrays must be wrapped in structs to avoid certain javascript exploits -type Connections struct { - Connections []*Connection `json:"connections"` -} - -// BlockchainProgress current sync blockchain status -type BlockchainProgress struct { - // Our current blockchain length - Current uint64 `json:"current"` - // Our best guess at true blockchain length - Highest uint64 `json:"highest"` - Peers []struct { - Address string `json:"address"` - Height uint64 `json:"height"` - } `json:"peers"` -} - -// ResendResult rebroadcast tx result -type ResendResult struct { - Txids []string `json:"txids"` // transaction id -} - -// RPC rpc -type RPC struct{} - -// GetConnection gets connection of given address -func (rpc RPC) GetConnection(d *Daemon, addr string) *Connection { - if d.Pool.Pool == nil { - return nil - } - - c, err := d.Pool.Pool.GetConnection(addr) - if err != nil { - logger.Error(err) - return nil - } - - if c == nil { - return nil - } - - mirror, exist := d.connectionMirrors.Get(addr) - if !exist { - return nil - } - - return &Connection{ - ID: c.ID, - Addr: addr, - LastSent: c.LastSent.Unix(), - LastReceived: c.LastReceived.Unix(), - Outgoing: !d.outgoingConnections.Get(addr), - Introduced: !d.needsIntro(addr), - Mirror: mirror, - ListenPort: d.GetListenPort(addr), - } -} - -// GetConnections gets all connections -func (rpc RPC) GetConnections(d *Daemon) *Connections { - if d.Pool.Pool == nil { - return nil - } - - l, err := d.Pool.Pool.Size() - if err != nil { - logger.Error(err) - return nil - } - - conns := make([]*Connection, 0, l) - cs, err := d.Pool.Pool.GetConnections() - if err != nil { - logger.Error(err) - return nil - } - - for _, c := range cs { - if c.Solicited { - conn := rpc.GetConnection(d, c.Addr()) - if conn != nil { - conns = append(conns, conn) - } - } - } - - // Sort connnections by IP address - sort.Slice(conns, func(i, j int) bool { - return strings.Compare(conns[i].Addr, conns[j].Addr) < 0 - }) - - return &Connections{Connections: conns} -} - -// GetDefaultConnections gets default connections -func (rpc RPC) GetDefaultConnections(d *Daemon) []string { - return d.DefaultConnections -} - -// GetTrustConnections get all trusted transaction -func (rpc RPC) GetTrustConnections(d *Daemon) []string { - return d.Pex.Trusted().ToAddrs() -} - -// GetAllExchgConnections return all exchangeable connections -func (rpc RPC) GetAllExchgConnections(d *Daemon) []string { - return d.Pex.RandomExchangeable(0).ToAddrs() -} - -// GetBlockchainProgress gets the blockchain progress -func (rpc RPC) GetBlockchainProgress(v *Visor) *BlockchainProgress { - if v.v == nil { - return nil - } - - bp := &BlockchainProgress{ - Current: v.HeadBkSeq(), - Highest: v.EstimateBlockchainHeight(), - } - - peerHeights := v.GetPeerBlockchainHeights() - - for _, ph := range peerHeights { - bp.Peers = append(bp.Peers, struct { - Address string `json:"address"` - Height uint64 `json:"height"` - }{ - Address: ph.Address, - Height: ph.Height, - }) - } - - return bp -} - -// ResendTransaction rebroadcast transaction -func (rpc RPC) ResendTransaction(v *Visor, p *Pool, txHash cipher.SHA256) *ResendResult { - if v.v == nil { - return nil - } - v.ResendTransaction(txHash, p) - return &ResendResult{} -} - -// ResendUnconfirmedTxns rebroadcast unconfirmed transactions -func (rpc RPC) ResendUnconfirmedTxns(v *Visor, p *Pool) *ResendResult { - if v.v == nil { - return nil - } - txids := v.ResendUnconfirmedTxns(p) - var rlt ResendResult - for _, txid := range txids { - rlt.Txids = append(rlt.Txids, txid.Hex()) - } - return &rlt -} diff --git a/src/daemon/storage.go b/src/daemon/storage.go index 4303670..00da623 100755 --- a/src/daemon/storage.go +++ b/src/daemon/storage.go @@ -14,7 +14,6 @@ type store struct { } type storeFunc func(*store) error -type matchFunc func(k interface{}, v interface{}) bool func (s *store) setValue(k interface{}, v interface{}) { s.lk.Lock() diff --git a/src/daemon/strand/strand.go b/src/daemon/strand/strand.go index 4c08384..1df88ce 100755 --- a/src/daemon/strand/strand.go +++ b/src/daemon/strand/strand.go @@ -10,7 +10,7 @@ const ( // logDurationThreshold is how long to wait before reporting a function call's time logDurationThreshold = time.Millisecond * 100 // writeWait is how long to wait to write to a request channel before logging the delay - logQueueRequestWaitThreshold = time.Second * 3 + logQueueRequestWaitThreshold = time.Second * 1 ) var ( @@ -96,6 +96,7 @@ func Strand(logger *logging.Logger, c chan Request, name string, f func() error, } // Log a message if waiting too long to write due to a full queue + t := time.Now() loop: for { select { @@ -104,14 +105,19 @@ loop: case c <- req: break loop case <-time.After(logQueueRequestWaitThreshold): - logger.Warningf("Waited %s while trying to write %s to the strand request channel", logQueueRequestWaitThreshold, req.Name) + logger.Warningf("Waited %s while trying to write %s to the strand request channel", time.Now().Sub(t), req.Name) } } - select { - case <-quit: - return quitErr - case <-done: - return err + t = time.Now() + for { + select { + case <-quit: + return quitErr + case <-done: + return err + case <-time.After(logQueueRequestWaitThreshold): + logger.Warningf("Waited %s while waiting for %s to be done or quit", time.Now().Sub(t), req.Name) + } } } diff --git a/src/daemon/visor.go b/src/daemon/visor.go deleted file mode 100755 index 620a244..0000000 --- a/src/daemon/visor.go +++ /dev/null @@ -1,850 +0,0 @@ -package daemon - -import ( - "errors" - "fmt" - "time" - - "github.com/boltdb/bolt" - - "github.com/skycoin/skycoin/src/cipher" - "github.com/skycoin/skycoin/src/coin" - "github.com/skycoin/skycoin/src/daemon/gnet" - "github.com/skycoin/skycoin/src/daemon/strand" - "github.com/skycoin/skycoin/src/visor" -) - -//TODO -//- download block headers -//- request blocks individually across multiple peers - -//TODO -//- use CXO for blocksync - -/* -Visor should not be duplicated -- this should be pushed into /src/visor -*/ - -// VisorConfig represents the configuration of visor -type VisorConfig struct { - Config visor.Config - // Disable visor networking - DisableNetworking bool - // How often to request blocks from peers - BlocksRequestRate time.Duration - // How often to announce our blocks to peers - BlocksAnnounceRate time.Duration - // How many blocks to respond with to a GetBlocksMessage - BlocksResponseCount uint64 - // How long between saving copies of the blockchain - BlockchainBackupRate time.Duration - // Max announce txns hash number - MaxTxnAnnounceNum int - // How often to announce our unconfirmed txns to peers - TxnsAnnounceRate time.Duration - // How long to wait for Visor request to process - RequestDeadline time.Duration - // Internal request buffer size - RequestBufferSize int -} - -// NewVisorConfig creates default visor config -func NewVisorConfig() VisorConfig { - return VisorConfig{ - Config: visor.NewVisorConfig(), - DisableNetworking: false, - BlocksRequestRate: time.Second * 60, - BlocksAnnounceRate: time.Second * 60, - BlocksResponseCount: 20, - BlockchainBackupRate: time.Second * 30, - MaxTxnAnnounceNum: 16, - TxnsAnnounceRate: time.Minute, - RequestDeadline: time.Second * 3, - RequestBufferSize: 100, - } -} - -// Visor struct -type Visor struct { - Config VisorConfig - v *visor.Visor - // Peer-reported blockchain height. Use to estimate download progress - blockchainHeights map[string]uint64 - // all request will go through this channel, to keep writing and reading member variable thread safe. - reqC chan strand.Request - quit chan struct{} -} - -// NewVisor creates visor instance -func NewVisor(c VisorConfig, db *bolt.DB) (*Visor, error) { - vs := &Visor{ - Config: c, - blockchainHeights: make(map[string]uint64), - reqC: make(chan strand.Request, c.RequestBufferSize), - quit: make(chan struct{}), - } - - v, err := visor.NewVisor(c.Config, db) - if err != nil { - return nil, err - } - - vs.v = v - - return vs, nil -} - -// Run starts the visor -func (vs *Visor) Run() error { - defer logger.Info("Visor closed") - errC := make(chan error, 1) - go func() { - errC <- vs.v.Run() - }() - - return vs.processRequests(errC) -} - -func (vs *Visor) processRequests(errC <-chan error) error { - for { - select { - case err := <-errC: - return err - case req := <-vs.reqC: - if err := req.Func(); err != nil { - logger.Errorf("Visor request func failed: %v", err) - } - } - } -} - -// Shutdown shuts down the visor -func (vs *Visor) Shutdown() { - close(vs.quit) - vs.v.Shutdown() -} - -func (vs *Visor) strand(name string, f func() error) error { - name = fmt.Sprintf("daemon.Visor.%s", name) - return strand.Strand(logger, vs.reqC, name, f, vs.quit, nil) -} - -// RefreshUnconfirmed checks unconfirmed txns against the blockchain and marks -// and returns those that become valid -func (vs *Visor) RefreshUnconfirmed() ([]cipher.SHA256, error) { - var hashes []cipher.SHA256 - if err := vs.strand("RefreshUnconfirmed", func() error { - var err error - hashes, err = vs.v.RefreshUnconfirmed() - return err - }); err != nil { - return nil, err - } - return hashes, nil -} - -// RemoveInvalidUnconfirmed checks unconfirmed txns against the blockchain and -// purges those that become permanently invalid, violating hard constraints -func (vs *Visor) RemoveInvalidUnconfirmed() ([]cipher.SHA256, error) { - var hashes []cipher.SHA256 - if err := vs.strand("RemoveInvalidUnconfirmed", func() error { - var err error - hashes, err = vs.v.RemoveInvalidUnconfirmed() - return err - }); err != nil { - return nil, err - } - return hashes, nil -} - -// RequestBlocks Sends a GetBlocksMessage to all connections -func (vs *Visor) RequestBlocks(pool *Pool) error { - if vs.Config.DisableNetworking { - return nil - } - - err := vs.strand("RequestBlocks", func() error { - m := NewGetBlocksMessage(vs.v.HeadBkSeq(), vs.Config.BlocksResponseCount) - return pool.Pool.BroadcastMessage(m) - }) - - if err != nil { - logger.Debugf("Broadcast GetBlocksMessage failed: %v", err) - } - - return err -} - -// AnnounceBlocks sends an AnnounceBlocksMessage to all connections -func (vs *Visor) AnnounceBlocks(pool *Pool) error { - if vs.Config.DisableNetworking { - return nil - } - - err := vs.strand("AnnounceBlocks", func() error { - m := NewAnnounceBlocksMessage(vs.v.HeadBkSeq()) - return pool.Pool.BroadcastMessage(m) - }) - - if err != nil { - logger.Debugf("Broadcast AnnounceBlocksMessage failed: %v", err) - } - - return err -} - -// AnnounceAllTxns announces local unconfirmed transactions -func (vs *Visor) AnnounceAllTxns(pool *Pool) error { - if vs.Config.DisableNetworking { - return nil - } - - err := vs.strand("AnnounceAllTxns", func() error { - // Get local unconfirmed transaction hashes. - hashes := vs.v.GetAllValidUnconfirmedTxHashes() - - // Divide hashes into multiple sets of max size - hashesSet := divideHashes(hashes, vs.Config.MaxTxnAnnounceNum) - - for _, hs := range hashesSet { - m := NewAnnounceTxnsMessage(hs) - if err := pool.Pool.BroadcastMessage(m); err != nil { - return err - } - } - - return nil - }) - - if err != nil { - logger.Debugf("Broadcast AnnounceTxnsMessage failed, err: %v", err) - } - - return err -} - -// AnnounceTxns announces given transaction hashes. -func (vs *Visor) AnnounceTxns(pool *Pool, txns []cipher.SHA256) error { - if vs.Config.DisableNetworking { - return nil - } - - if len(txns) == 0 { - return nil - } - - err := vs.strand("AnnounceTxns", func() error { - m := NewAnnounceTxnsMessage(txns) - return pool.Pool.BroadcastMessage(m) - }) - - if err != nil { - logger.Debugf("Broadcast AnnounceTxnsMessage failed: %v", err) - } - - return err -} - -func divideHashes(hashes []cipher.SHA256, n int) [][]cipher.SHA256 { - if len(hashes) == 0 { - return [][]cipher.SHA256{} - } - - var j int - var hashesArray [][]cipher.SHA256 - - if len(hashes) > n { - for i := range hashes { - if len(hashes[j:i]) == n { - hs := make([]cipher.SHA256, n) - copy(hs, hashes[j:i]) - hashesArray = append(hashesArray, hs) - j = i - } - } - } - - hs := make([]cipher.SHA256, len(hashes)-j) - copy(hs, hashes[j:]) - hashesArray = append(hashesArray, hs) - return hashesArray -} - -// RequestBlocksFromAddr sends a GetBlocksMessage to one connected address -func (vs *Visor) RequestBlocksFromAddr(pool *Pool, addr string) error { - if vs.Config.DisableNetworking { - return errors.New("Visor disabled") - } - - err := vs.strand("RequestBlocksFromAddr", func() error { - m := NewGetBlocksMessage(vs.v.HeadBkSeq(), vs.Config.BlocksResponseCount) - exist, err := pool.Pool.IsConnExist(addr) - if err != nil { - return err - } - - if !exist { - return fmt.Errorf("Tried to send GetBlocksMessage to %s, but we are not connected", addr) - } - - return pool.Pool.SendMessage(addr, m) - }) - - return err -} - -// SetTxnsAnnounced sets all txns as announced -func (vs *Visor) SetTxnsAnnounced(txns map[cipher.SHA256]int64) { - vs.strand("SetTxnsAnnounced", func() error { - for h, t := range txns { - if err := vs.v.Unconfirmed.SetAnnounced(h, t); err != nil { - logger.Error("Failed to set unconfirmed txn announce time: ", err) - } - } - - return nil - }) -} - -// InjectBroadcastTransaction injects transaction to the unconfirmed pool and broadcasts it. -// If the transaction violates either hard or soft constraints, it is not broadcast. -// This method is to be used by user-initiated transaction injections. -// For transactions received over the network, use InjectTransaction and check the result to -// decide on repropagation. -func (vs *Visor) InjectBroadcastTransaction(txn coin.Transaction, pool *Pool) error { - return vs.strand("InjectBroadcastTransaction", func() error { - if _, err := vs.v.InjectTransactionStrict(txn); err != nil { - return err - } - - return vs.broadcastTransaction(txn, pool) - }) -} - -// InjectTransaction adds a transaction to the unconfirmed txn pool if it does not violate hard constraints. -// The transaction is added to the pool if it only violates soft constraints. -// If a soft constraint is violated, the specific error is returned separately. -func (vs *Visor) InjectTransaction(tx coin.Transaction) (bool, *visor.ErrTxnViolatesSoftConstraint, error) { - var known bool - var softErr *visor.ErrTxnViolatesSoftConstraint - err := vs.strand("InjectTransaction", func() error { - var err error - known, softErr, err = vs.v.InjectTransaction(tx) - return err - }) - return known, softErr, err -} - -// Sends a signed block to all connections. -// TODO: deprecate, should only send to clients that request by hash -func (vs *Visor) broadcastBlock(sb coin.SignedBlock, pool *Pool) error { - if vs.Config.DisableNetworking { - return nil - } - - m := NewGiveBlocksMessage([]coin.SignedBlock{sb}) - return pool.Pool.BroadcastMessage(m) -} - -// broadcastTransaction broadcasts a single transaction to all peers. -func (vs *Visor) broadcastTransaction(t coin.Transaction, pool *Pool) error { - if vs.Config.DisableNetworking { - return nil - } - - m := NewGiveTxnsMessage(coin.Transactions{t}) - l, err := pool.Pool.Size() - if err != nil { - return err - } - - logger.Debugf("Broadcasting GiveTxnsMessage to %d conns", l) - - err = pool.Pool.BroadcastMessage(m) - if err != nil { - logger.Errorf("Broadcast GivenTxnsMessage failed: %v", err) - } - - return err -} - -// ResendTransaction resends a known UnconfirmedTxn. -func (vs *Visor) ResendTransaction(h cipher.SHA256, pool *Pool) error { - if vs.Config.DisableNetworking { - return nil - } - - return vs.strand("ResendTransaction", func() error { - if ut, ok := vs.v.Unconfirmed.Get(h); ok { - return vs.broadcastTransaction(ut.Txn, pool) - } - return nil - }) -} - -// ResendUnconfirmedTxns resents all unconfirmed transactions -func (vs *Visor) ResendUnconfirmedTxns(pool *Pool) []cipher.SHA256 { - if vs.Config.DisableNetworking { - return nil - } - - var txids []cipher.SHA256 - vs.strand("ResendUnconfirmedTxns", func() error { - txns := vs.v.GetAllUnconfirmedTxns() - - for i := range txns { - logger.Debugf("Rebroadcast tx %s", txns[i].Hash().Hex()) - if err := vs.broadcastTransaction(txns[i].Txn, pool); err == nil { - txids = append(txids, txns[i].Txn.Hash()) - } - } - - return nil - }) - return txids -} - -// CreateAndPublishBlock creates a block from unconfirmed transactions and sends it to the network. -// Will panic if not running as a master chain. Returns creation error and -// whether it was published or not -func (vs *Visor) CreateAndPublishBlock(pool *Pool) (coin.SignedBlock, error) { - if vs.Config.DisableNetworking { - return coin.SignedBlock{}, errors.New("Visor disabled") - } - - var sb coin.SignedBlock - err := vs.strand("CreateAndPublishBlock", func() error { - var err error - sb, err = vs.v.CreateAndExecuteBlock() - if err != nil { - return err - } - - return vs.broadcastBlock(sb, pool) - }) - - return sb, err -} - -// RemoveConnection updates internal state when a connection disconnects -func (vs *Visor) RemoveConnection(addr string) { - vs.strand("RemoveConnection", func() error { - delete(vs.blockchainHeights, addr) - return nil - }) -} - -// RecordBlockchainHeight saves a peer-reported blockchain length -func (vs *Visor) RecordBlockchainHeight(addr string, bkLen uint64) { - vs.strand("RecordBlockchainHeight", func() error { - vs.blockchainHeights[addr] = bkLen - return nil - }) -} - -// EstimateBlockchainHeight returns the blockchain length estimated from peer reports -// Deprecate. Should not need. Just report time of last block -func (vs *Visor) EstimateBlockchainHeight() uint64 { - var maxLen uint64 - vs.strand("EstimateBlockchainHeight", func() error { - maxLen = vs.v.HeadBkSeq() - - for _, seq := range vs.blockchainHeights { - if maxLen < seq { - maxLen = seq - } - } - - return nil - }) - return maxLen -} - -// PeerBlockchainHeight is a peer's IP address with their reported blockchain height -type PeerBlockchainHeight struct { - Address string - Height uint64 -} - -// GetPeerBlockchainHeights returns recorded peers' blockchain heights as an array. -func (vs *Visor) GetPeerBlockchainHeights() []PeerBlockchainHeight { - var peerHeights []PeerBlockchainHeight - vs.strand("GetPeerBlockchainHeights", func() error { - if len(vs.blockchainHeights) == 0 { - return nil - } - - peerHeights = make([]PeerBlockchainHeight, 0, len(peerHeights)) - for addr, height := range vs.blockchainHeights { - peerHeights = append(peerHeights, PeerBlockchainHeight{ - Address: addr, - Height: height, - }) - } - - return nil - }) - - return peerHeights -} - -// HeadBkSeq returns the head sequence -func (vs *Visor) HeadBkSeq() uint64 { - var seq uint64 - vs.strand("HeadBkSeq", func() error { - seq = vs.v.HeadBkSeq() - return nil - }) - return seq -} - -// ExecuteSignedBlock executes signed block -func (vs *Visor) ExecuteSignedBlock(b coin.SignedBlock) error { - return vs.strand("ExecuteSignedBlock", func() error { - return vs.v.ExecuteSignedBlock(b) - }) -} - -// GetSignedBlock returns a copy of signed block at seq. -// Returns error if seq is greater than blockhain height. -func (vs *Visor) GetSignedBlock(seq uint64) (*coin.SignedBlock, error) { - var sb *coin.SignedBlock - err := vs.strand("GetSignedBlock", func() error { - var err error - sb, err = vs.v.GetBlock(seq) - return err - }) - return sb, err -} - -// GetSignedBlocksSince returns signed blocks in an inclusive range of [seq+1, seq+ct] -func (vs *Visor) GetSignedBlocksSince(seq uint64, ct uint64) ([]coin.SignedBlock, error) { - var sbs []coin.SignedBlock - err := vs.strand("GetSignedBlocksSince", func() error { - var err error - sbs, err = vs.v.GetSignedBlocksSince(seq, ct) - return err - }) - return sbs, err -} - -// UnConfirmFilterKnown returns all unknown transaction hashes -func (vs *Visor) UnConfirmFilterKnown(txns []cipher.SHA256) []cipher.SHA256 { - var ts []cipher.SHA256 - vs.strand("UnConfirmFilterKnown", func() error { - ts = vs.v.Unconfirmed.FilterKnown(txns) - return nil - }) - return ts -} - -// UnConfirmKnow returns all know tansactions -func (vs *Visor) UnConfirmKnow(hashes []cipher.SHA256) coin.Transactions { - var txns coin.Transactions - vs.strand("UnConfirmKnow", func() error { - txns = vs.v.Unconfirmed.GetKnown(hashes) - return nil - }) - return txns -} - -// Communication layer for the coin pkg - -// GetBlocksMessage sent to request blocks since LastBlock -type GetBlocksMessage struct { - LastBlock uint64 - RequestedBlocks uint64 - c *gnet.MessageContext `enc:"-"` -} - -// NewGetBlocksMessage creates GetBlocksMessage -func NewGetBlocksMessage(lastBlock uint64, requestedBlocks uint64) *GetBlocksMessage { - return &GetBlocksMessage{ - LastBlock: lastBlock, - RequestedBlocks: requestedBlocks, // count of blocks requested - } -} - -// Handle handles message -func (gbm *GetBlocksMessage) Handle(mc *gnet.MessageContext, - daemon interface{}) error { - gbm.c = mc - return daemon.(*Daemon).recordMessageEvent(gbm, mc) -} - -// Process should send number to be requested, with request -func (gbm *GetBlocksMessage) Process(d *Daemon) { - // TODO -- we need the sig to be sent with the block, but only the master - // can sign blocks. Thus the sig needs to be stored with the block. - // TODO -- move to either Messages.Config or Visor.Config - if d.Visor.Config.DisableNetworking { - return - } - // Record this as this peer's highest block - d.Visor.RecordBlockchainHeight(gbm.c.Addr, gbm.LastBlock) - // Fetch and return signed blocks since LastBlock - blocks, err := d.Visor.GetSignedBlocksSince(gbm.LastBlock, gbm.RequestedBlocks) - if err != nil { - logger.Infof("Get signed blocks failed: %v", err) - return - } - - if len(blocks) == 0 { - return - } - - logger.Debugf("Got %d blocks since %d", len(blocks), gbm.LastBlock) - - m := NewGiveBlocksMessage(blocks) - if err := d.Pool.Pool.SendMessage(gbm.c.Addr, m); err != nil { - logger.Errorf("Send GiveBlocksMessage to %s failed: %v", gbm.c.Addr, err) - } -} - -// GiveBlocksMessage sent in response to GetBlocksMessage, or unsolicited -type GiveBlocksMessage struct { - Blocks []coin.SignedBlock - c *gnet.MessageContext `enc:"-"` -} - -// NewGiveBlocksMessage creates GiveBlocksMessage -func NewGiveBlocksMessage(blocks []coin.SignedBlock) *GiveBlocksMessage { - return &GiveBlocksMessage{ - Blocks: blocks, - } -} - -// Handle handle message -func (gbm *GiveBlocksMessage) Handle(mc *gnet.MessageContext, - daemon interface{}) error { - gbm.c = mc - return daemon.(*Daemon).recordMessageEvent(gbm, mc) -} - -// Process process message -func (gbm *GiveBlocksMessage) Process(d *Daemon) { - if d.Visor.Config.DisableNetworking { - logger.Critical().Info("Visor disabled, ignoring GiveBlocksMessage") - return - } - - processed := 0 - maxSeq := d.Visor.HeadBkSeq() - for _, b := range gbm.Blocks { - // To minimize waste when receiving multiple responses from peers - // we only break out of the loop if the block itself is invalid. - // E.g. if we request 20 blocks since 0 from 2 peers, and one peer - // replies with 15 and the other 20, if we did not do this check and - // the reply with 15 was received first, we would toss the one with 20 - // even though we could process it at the time. - if b.Seq() <= maxSeq { - continue - } - - err := d.Visor.ExecuteSignedBlock(b) - if err == nil { - logger.Critical().Infof("Added new block %d", b.Block.Head.BkSeq) - processed++ - } else { - logger.Critical().Errorf("Failed to execute received block %d: %v", b.Block.Head.BkSeq, err) - // Blocks must be received in order, so if one fails its assumed - // the rest are failing - break - } - } - if processed == 0 { - return - } - - headBkSeq := d.Visor.HeadBkSeq() - // Announce our new blocks to peers - m1 := NewAnnounceBlocksMessage(headBkSeq) - d.Pool.Pool.BroadcastMessage(m1) - //request more blocks. - m2 := NewGetBlocksMessage(headBkSeq, d.Visor.Config.BlocksResponseCount) - d.Pool.Pool.BroadcastMessage(m2) -} - -// AnnounceBlocksMessage tells a peer our highest known BkSeq. The receiving peer can choose -// to send GetBlocksMessage in response -type AnnounceBlocksMessage struct { - MaxBkSeq uint64 - c *gnet.MessageContext `enc:"-"` -} - -// NewAnnounceBlocksMessage creates message -func NewAnnounceBlocksMessage(seq uint64) *AnnounceBlocksMessage { - return &AnnounceBlocksMessage{ - MaxBkSeq: seq, - } -} - -// Handle handles message -func (abm *AnnounceBlocksMessage) Handle(mc *gnet.MessageContext, - daemon interface{}) error { - abm.c = mc - return daemon.(*Daemon).recordMessageEvent(abm, mc) -} - -// Process process message -func (abm *AnnounceBlocksMessage) Process(d *Daemon) { - if d.Visor.Config.DisableNetworking { - return - } - - headBkSeq := d.Visor.HeadBkSeq() - if headBkSeq >= abm.MaxBkSeq { - return - } - - // TODO: Should this be block get request for current sequence? - // If client is not caught up, won't attempt to get block - m := NewGetBlocksMessage(headBkSeq, d.Visor.Config.BlocksResponseCount) - if err := d.Pool.Pool.SendMessage(abm.c.Addr, m); err != nil { - logger.Errorf("Send GetBlocksMessage to %s failed: %v", abm.c.Addr, err) - } -} - -// SendingTxnsMessage send transaction message interface -type SendingTxnsMessage interface { - GetTxns() []cipher.SHA256 -} - -// AnnounceTxnsMessage tells a peer that we have these transactions -type AnnounceTxnsMessage struct { - Txns []cipher.SHA256 - c *gnet.MessageContext `enc:"-"` -} - -// NewAnnounceTxnsMessage creates announce txns message -func NewAnnounceTxnsMessage(txns []cipher.SHA256) *AnnounceTxnsMessage { - return &AnnounceTxnsMessage{ - Txns: txns, - } -} - -// GetTxns returns txns -func (atm *AnnounceTxnsMessage) GetTxns() []cipher.SHA256 { - return atm.Txns -} - -// Handle handle message -func (atm *AnnounceTxnsMessage) Handle(mc *gnet.MessageContext, - daemon interface{}) error { - atm.c = mc - return daemon.(*Daemon).recordMessageEvent(atm, mc) -} - -// Process process message -func (atm *AnnounceTxnsMessage) Process(d *Daemon) { - if d.Visor.Config.DisableNetworking { - return - } - - unknown := d.Visor.UnConfirmFilterKnown(atm.Txns) - if len(unknown) == 0 { - return - } - - m := NewGetTxnsMessage(unknown) - if err := d.Pool.Pool.SendMessage(atm.c.Addr, m); err != nil { - logger.Errorf("Send GetTxnsMessage to %s failed: %v", atm.c.Addr, err) - } -} - -// GetTxnsMessage request transactions of given hash -type GetTxnsMessage struct { - Txns []cipher.SHA256 - c *gnet.MessageContext `enc:"-"` -} - -// NewGetTxnsMessage creates GetTxnsMessage -func NewGetTxnsMessage(txns []cipher.SHA256) *GetTxnsMessage { - return &GetTxnsMessage{ - Txns: txns, - } -} - -// Handle handle message -func (gtm *GetTxnsMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { - gtm.c = mc - return daemon.(*Daemon).recordMessageEvent(gtm, mc) -} - -// Process process message -func (gtm *GetTxnsMessage) Process(d *Daemon) { - if d.Visor.Config.DisableNetworking { - return - } - - // Locate all txns from the unconfirmed pool - known := d.Visor.UnConfirmKnow(gtm.Txns) - if len(known) == 0 { - return - } - - // Reply to sender with GiveTxnsMessage - m := NewGiveTxnsMessage(known) - if err := d.Pool.Pool.SendMessage(gtm.c.Addr, m); err != nil { - logger.Errorf("Send GiveTxnsMessage to %s failed: %v", gtm.c.Addr, err) - } -} - -// GiveTxnsMessage tells the transaction of given hashes -type GiveTxnsMessage struct { - Txns coin.Transactions - c *gnet.MessageContext `enc:"-"` -} - -// NewGiveTxnsMessage creates GiveTxnsMessage -func NewGiveTxnsMessage(txns coin.Transactions) *GiveTxnsMessage { - return &GiveTxnsMessage{ - Txns: txns, - } -} - -// GetTxns returns transactions hashes -func (gtm *GiveTxnsMessage) GetTxns() []cipher.SHA256 { - return gtm.Txns.Hashes() -} - -// Handle handle message -func (gtm *GiveTxnsMessage) Handle(mc *gnet.MessageContext, - daemon interface{}) error { - gtm.c = mc - return daemon.(*Daemon).recordMessageEvent(gtm, mc) -} - -// Process process message -func (gtm *GiveTxnsMessage) Process(d *Daemon) { - if d.Visor.Config.DisableNetworking { - return - } - - hashes := make([]cipher.SHA256, 0, len(gtm.Txns)) - // Update unconfirmed pool with these transactions - for _, txn := range gtm.Txns { - // Only announce transactions that are new to us, so that peers can't spam relays - known, softErr, err := d.Visor.InjectTransaction(txn) - if err != nil { - logger.Warningf("Failed to record transaction %s: %v", txn.Hash().Hex(), err) - continue - } else if softErr != nil { - logger.Warningf("Transaction soft violation: %v", err) - continue - } else if known { - logger.Warningf("Duplicate Transaction: %s", txn.Hash().Hex()) - continue - } - - hashes = append(hashes, txn.Hash()) - } - - // Announce these transactions to peers - if len(hashes) != 0 { - logger.Debugf("Announce %d transactions", len(hashes)) - m := NewAnnounceTxnsMessage(hashes) - d.Pool.Pool.BroadcastMessage(m) - } -} diff --git a/src/daemon/visor_test.go b/src/daemon/visor_test.go deleted file mode 100755 index a804b4b..0000000 --- a/src/daemon/visor_test.go +++ /dev/null @@ -1,367 +0,0 @@ -package daemon - -import ( - "errors" - "fmt" - "testing" - - "github.com/boltdb/bolt" - "github.com/stretchr/testify/require" - - "github.com/skycoin/skycoin/src/cipher" - "github.com/skycoin/skycoin/src/coin" - "github.com/skycoin/skycoin/src/daemon/strand" - "github.com/skycoin/skycoin/src/testutil" - "github.com/skycoin/skycoin/src/util/fee" - "github.com/skycoin/skycoin/src/visor" -) - -var ( - GenesisPublic, GenesisSecret = cipher.GenerateKeyPair() - GenesisAddress = cipher.AddressFromPubKey(GenesisPublic) -) - -const ( - TimeIncrement uint64 = 3600 * 1000 - GenesisTime uint64 = 1000 - GenesisCoins uint64 = 1000e6 - GenesisCoinHours uint64 = 1000 * 1000 -) - -func MakeTransactionForChain(t *testing.T, bc *visor.Blockchain, ux coin.UxOut, sec cipher.SecKey, toAddr cipher.Address, amt, hours, fee uint64) coin.Transaction { - chrs, err := ux.CoinHours(bc.Time()) - require.NoError(t, err) - - require.Equal(t, cipher.AddressFromPubKey(cipher.PubKeyFromSecKey(sec)), ux.Body.Address) - - knownUx, exists := bc.Unspent().Get(ux.Hash()) - require.True(t, exists) - require.Equal(t, knownUx, ux) - - tx := coin.Transaction{} - tx.PushInput(ux.Hash()) - - tx.PushOutput(toAddr, amt, hours) - - // Change output - coinsOut := ux.Body.Coins - amt - if coinsOut > 0 { - tx.PushOutput(GenesisAddress, coinsOut, chrs-hours-fee) - } - - tx.SignInputs([]cipher.SecKey{sec}) - - require.Equal(t, len(tx.Sigs), 1) - - err = cipher.ChkSig(ux.Body.Address, cipher.AddSHA256(tx.HashInner(), tx.In[0]), tx.Sigs[0]) - require.NoError(t, err) - - tx.UpdateHeader() - - err = tx.Verify() - require.NoError(t, err) - - err = bc.VerifySingleTxnHardConstraints(tx) - require.NoError(t, err) - - return tx -} - -func MakeBlockchain(t *testing.T, db *bolt.DB, seckey cipher.SecKey) *visor.Blockchain { - pubkey := cipher.PubKeyFromSecKey(seckey) - b, err := visor.NewBlockchain(db, pubkey) - require.NoError(t, err) - gb, err := coin.NewGenesisBlock(GenesisAddress, GenesisCoins, GenesisTime) - if err != nil { - panic(fmt.Errorf("create genesis block failed: %v", err)) - } - - sig := cipher.SignHash(gb.HashHeader(), seckey) - db.Update(func(tx *bolt.Tx) error { - return b.ExecuteBlockWithTx(tx, &coin.SignedBlock{ - Block: *gb, - Sig: sig, - }) - }) - return b -} - -func MakeAddress() (cipher.PubKey, cipher.SecKey, cipher.Address) { - p, s := cipher.GenerateKeyPair() - a := cipher.AddressFromPubKey(p) - return p, s, a -} - -func createGenesisSpendTransaction(t *testing.T, bc *visor.Blockchain, toAddr cipher.Address, coins, hours, fee uint64) coin.Transaction { - uxOuts, err := bc.Unspent().GetAll() - require.NoError(t, err) - require.Len(t, uxOuts, 1) - - txn := MakeTransactionForChain(t, bc, uxOuts[0], GenesisSecret, toAddr, coins, hours, fee) - require.Equal(t, txn.Out[0].Address.String(), toAddr.String()) - - if coins == GenesisCoins { - // No change output - require.Len(t, txn.Out, 1) - } else { - require.Len(t, txn.Out, 2) - require.Equal(t, txn.Out[1].Address.String(), GenesisAddress.String()) - } - - return txn -} - -func setupSimpleVisor(db *bolt.DB, bc *visor.Blockchain) *Visor { - visorCfg := NewVisorConfig() - visorCfg.DisableNetworking = true - visorCfg.Config.DBPath = db.Path() - return &Visor{ - Config: visorCfg, - v: &visor.Visor{ - Config: visorCfg.Config, - Unconfirmed: visor.NewUnconfirmedTxnPool(db), - Blockchain: bc, - }, - reqC: make(chan strand.Request, 10), - } -} - -func TestVerifyTransactionInvalidFee(t *testing.T) { - // Test that a soft constraint is enforced - // Full verification tests are in visor/blockchain_verify_test.go - db, close := testutil.PrepareDB(t) - defer close() - - // Setup blockchain - _, s := cipher.GenerateKeyPair() - bc := MakeBlockchain(t, db, s) - - // Send coins to the initial address, with invalid fee - var coins = GenesisCoins - var hours = GenesisCoinHours * 1e3 - var f uint64 - _, _, addr := MakeAddress() - - txn := createGenesisSpendTransaction(t, bc, addr, coins, hours, f) - - // Setup a minimal visor - v := setupSimpleVisor(db, bc) - errC := make(chan error) - go v.processRequests(errC) - defer func() { - errC <- errors.New("stop") - }() - - _, softErr, err := v.InjectTransaction(txn) - require.NoError(t, err) - require.NotNil(t, softErr) - require.Equal(t, visor.NewErrTxnViolatesSoftConstraint(fee.ErrTxnNoFee), *softErr) -} - -func TestVerifyTransactionInvalidSignature(t *testing.T) { - // Test that a hard constraint is enforced - // Full verification tests are in visor/blockchain_verify_test.go - db, close := testutil.PrepareDB(t) - defer close() - - // Setup blockchain - _, s := cipher.GenerateKeyPair() - bc := MakeBlockchain(t, db, s) - - // Send coins to the initial address, with invalid fee - var coins = GenesisCoins - var hours uint64 - var fee uint64 - _, _, addr := MakeAddress() - - txn := createGenesisSpendTransaction(t, bc, addr, coins, hours, fee) - - // Invalidate signatures - txn.Sigs = nil - - // Setup a minimal visor - v := setupSimpleVisor(db, bc) - errC := make(chan error) - go v.processRequests(errC) - defer func() { - errC <- errors.New("stop") - }() - - _, softErr, err := v.InjectTransaction(txn) - require.Nil(t, softErr) - testutil.RequireError(t, err, visor.NewErrTxnViolatesHardConstraint(errors.New("Invalid number of signatures")).Error()) -} - -func TestInjectValidTransaction(t *testing.T) { - db, close := testutil.PrepareDB(t) - defer close() - - _, s := cipher.GenerateKeyPair() - // Setup blockchain - bc := MakeBlockchain(t, db, s) - - // Send coins to the initial address, with invalid fee - var coins = GenesisCoins - var hours uint64 - var fee uint64 - _, _, addr := MakeAddress() - - txn := createGenesisSpendTransaction(t, bc, addr, coins, hours, fee) - - // Setup a minimal visor - v := setupSimpleVisor(db, bc) - errC := make(chan error) - go v.processRequests(errC) - defer func() { - errC <- errors.New("stop") - }() - - // The unconfirmed pool should be empty - txns := v.v.Unconfirmed.RawTxns() - require.Len(t, txns, 0) - - // Call injectTransaction - _, softErr, err := v.InjectTransaction(txn) - require.Nil(t, softErr) - require.NoError(t, err) - - // The transaction should appear in the unconfirmed pool - txns = v.v.Unconfirmed.RawTxns() - require.Len(t, txns, 1) - require.Equal(t, txns[0], txn) -} - -func TestInjectTransactionSoftViolationNoFee(t *testing.T) { - db, close := testutil.PrepareDB(t) - defer close() - - // Setup blockchain - _, s := cipher.GenerateKeyPair() - bc := MakeBlockchain(t, db, s) - - // Send coins to the initial address, with invalid fee - var coins = GenesisCoins - var hours = GenesisCoinHours * 1e3 - var f uint64 - _, _, addr := MakeAddress() - - txn := createGenesisSpendTransaction(t, bc, addr, coins, hours, f) - - // Setup a minimal visor - v := setupSimpleVisor(db, bc) - errC := make(chan error) - go v.processRequests(errC) - defer func() { - errC <- errors.New("stop") - }() - - // The unconfirmed pool should be empty - txns := v.v.Unconfirmed.RawTxns() - require.Len(t, txns, 0) - - // Call injectTransaction - _, softErr, err := v.InjectTransaction(txn) - require.NoError(t, err) - require.NotNil(t, softErr) - require.Equal(t, visor.NewErrTxnViolatesSoftConstraint(fee.ErrTxnNoFee), *softErr) - - // The transaction should appear in the unconfirmed pool - txns = v.v.Unconfirmed.RawTxns() - require.Len(t, txns, 1) -} - -func TestSplitHashes(t *testing.T) { - hashes := make([]cipher.SHA256, 10) - for i := 0; i < 10; i++ { - hashes[i] = cipher.SumSHA256(cipher.RandByte(512)) - } - - testCases := []struct { - name string - init []cipher.SHA256 - n int - array [][]cipher.SHA256 - }{ - { - "has one odd", - hashes[:], - 3, - [][]cipher.SHA256{ - []cipher.SHA256{ - hashes[0], - hashes[1], - hashes[2], - }, - []cipher.SHA256{ - hashes[3], - hashes[4], - hashes[5], - }, - []cipher.SHA256{ - hashes[6], - hashes[7], - hashes[8], - }, - []cipher.SHA256{ - hashes[9], - }, - }, - }, - { - "only one value", - hashes[:1], - 1, - [][]cipher.SHA256{ - []cipher.SHA256{ - hashes[0], - }, - }, - }, - { - "empty value", - hashes[:0], - 0, - [][]cipher.SHA256{}, - }, - { - "with 3 value", - hashes[:3], - 3, - [][]cipher.SHA256{ - []cipher.SHA256{ - hashes[0], - hashes[1], - hashes[2], - }, - }, - }, - { - "with 8 value", - hashes[:8], - 3, - [][]cipher.SHA256{ - []cipher.SHA256{ - hashes[0], - hashes[1], - hashes[2], - }, - []cipher.SHA256{ - hashes[3], - hashes[4], - hashes[5], - }, - []cipher.SHA256{ - hashes[6], - hashes[7], - }, - }, - }, - } - - for _, tc := range testCases { - t.Run(tc.name, func(t *testing.T) { - rlt := divideHashes(tc.init, tc.n) - require.Equal(t, tc.array, rlt) - }) - } -} diff --git a/src/gui/integration/test-fixtures/address-transactions-2RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D.golden b/src/gui/integration/test-fixtures/address-transactions-2RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D.golden deleted file mode 100755 index 0637a08..0000000 --- a/src/gui/integration/test-fixtures/address-transactions-2RRpfMDmPHEyG4LWmNYT6eWj5VcmUfCJY6D.golden +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/src/gui/static/dist/0.c5a8ce8f55ecb5290b5c.chunk.js b/src/gui/static/dist/0.c5a8ce8f55ecb5290b5c.chunk.js new file mode 100755 index 0000000..32f8645 --- /dev/null +++ b/src/gui/static/dist/0.c5a8ce8f55ecb5290b5c.chunk.js @@ -0,0 +1 @@ +webpackJsonp([0],{TKku:function(e,t){e.exports={common:{"coin-id":"SLB","coin-hours":"Coin Hours",loading:"Loading...",new:"New",load:"Load"},errors:{"fetch-version":"Unable to fetch latest release version from Github","incorrect-password":"Incorrect password","api-disabled":"API disabled","no-wallet":"Wallet does not exist","no-outputs":"No unspent outputs"},title:{wallets:"Wallets",send:"Send",history:"History","buy-coin":"Buy SLB",network:"Networking",blockchain:"Blockchain",outputs:"Outputs",transactions:"Transactions","pending-txs":"Pending Transactions",backup:"Backup Wallet",explorer:"SolarBankersCoin Explorer",seed:"Wallet Seed",qrcode:"QR Code"},header:{"syncing-blocks":"Syncing blocks",update1:"Wallet update",update2:"available.","pending-txs1":"There are some","pending-txs2":"pending transactions.","pending-txs3":"Data you see may not be updated.",errors:{"no-connections":"No connections active, your client is not connected to any other nodes!","no-backend1":"Cannot reach backend. Please restart the app and/or seek help on our","no-backend2":"Telegram.","no-backend3":"",csrf:"Security vulnerability: CSRF is not working, please exit immediately."}},password:{title:"Enter Password",label:"Password","confirm-label":"Confirm password",button:"Proceed"},buy:{"deposit-address":"Choose an address to generate a BTC deposit link for:","select-address":"Select address",generate:"Generate","deposit-location":"Deposit Location","deposit-location-desc":"Choose a wallet where you'd like us to deposit your SLB after we receive your Bitcoin.","make-choice":"Make a choice","wallets-desc":"Each time a new wallet and address are selected, a new BTC address is generated. A single SLB address can have up to 5 BTC addresses assigned to it.",send:"Send Bitcoin","send-desc":"Send Bitcoin to the address below. Once received, we will deposit the SLB to a new address in the wallet selected above at the current rate of {{ rate }} SLB/BTC.","fraction-warning":"Only send multiple of the SLB/BTC rate! SLB is sent in whole number; fractional SLB is not sent!",receive:"Receive SLB","receive-desc":"After receiving your Bitcoin, we'll send you your SLB. It may take anywhere between 20 minutes and an hour to receive your SLB.","status-button":"Status:","check-status-button":"Check Status","new-order-button":"New Order"},wizard:{"wallet-desc":'If you don\'t have a SLB wallet, use the generated seed to create a new one. If you already have a wallet, toggle over to "Load Wallet" and enter your seed.',"encrypt-desc":"Increase security of your wallet by encrypting it. By entering a password below, your wallet will be encrypted. Only those with the password will be able access the wallet and remove funds.","finish-button":"Finish","back-button":"Back",confirm:{title:"Safeguard your seed!",desc:"We want to make sure that you wrote down your seed and stored it in a safe place. If you forget your seed, you WILL NOT be able to recover your SLB wallet!",checkbox:"It\u2019s safe, I swear.",button:"Continue"}},wallet:{"new-address":"New Address","show-empty":"Show Empty","hide-empty":"Hide Empty",encrypt:"Encrypt Wallet",decrypt:"Decrypt Wallet",edit:"Edit Wallet",add:"Add Wallet",load:"Load Wallet","encryption-enabled":"Encryption enabled","encryption-disabled":"Encryption disabled",wallet:"Wallet",new:{"create-title":"Create Wallet","load-title":"Load Wallet","encrypt-title":"Encrypt Wallet","name-label":"Name","seed-label":"Seed","confirm-seed-label":"Confirm seed","seed-warning":"Remember this seed! Keep it in a safe place. If you forget your seed, you will not be able to recover your wallet!","create-button":"Create","load-button":"Load","cancel-button":"Cancel","12-words":"12 words","24-words":"24 words","generate-12-seed":"Generate 12 word seed","generate-24-seed":"Generate 24 word seed",encrypt:"Encrypt wallet","encrypt-warning":"We suggest that you encrypt each one of your wallets with a password. If you forget your password, you can reset it with your seed. Make sure you have your seed saved somewhere safe before encrypting your wallet."},rename:{title:"Rename Wallet","name-label":"Name","cancel-button":"Cancel","rename-button":"Rename"},address:{copy:"Copy","copy-address":"Copy address",copied:"Copied!",outputs:"Unspent Outputs"}},send:{"from-label":"Send from","to-label":"Send to","amount-label":"Amount","notes-label":"Notes","wallet-label":"Wallet","addresses-label":"Addresses","addresses-help":"Wallet addresses to send from","change-address-label":"Custom change address","change-address-help":"Address to receive change. If it's not provided, it will be chosen automatically","destinations-label":"Destinations","destinations-help1":"Destination addresses and their coins","destinations-help2":"Destination addresses, their coins and coin hours","hours-allocation-label":"Automatic coin hours allocation","options-label":"Options","value-label":"Coin hours share factor","value-help":"The higher the value, the more coin hours will be sent to outputs","preview-button":"Preview","send-button":"Send","back-button":"Back",simple:"Simple",advanced:"Advanced"},tx:{transaction:"Transaction","confirm-transaction":"Confirm Transaction",from:"From",to:"To",date:"Date",status:"Status",coins:"Coins",hours:"Hours",id:"Tx ID","show-more":"Show more","hours-sent":"sent","hours-burned":"burned",inputs:"Inputs",outputs:"Outputs",confirmed:"Confirmed",pending:"Pending","current-rate":"Calculated at the current rate"},backup:{"wallet-directory":"Wallet Directory:","seed-warning":"BACKUP YOUR SEED. ON PAPER. IN A SAFE PLACE. As long as you have your seed, you can recover your coins.",desc:"Use the table below to get seeds from your encrypted wallets.
    To get seeds from unencrypted wallets, open the folder above, open the .wlt files in a text editor and recover the seeds.","close-button":"Close",wallet:"Wallet Label",filename:"Filename",seed:"Seed","show-seed":"Show seed","no-wallets":"No encrypted wallets"},blockchain:{blocks:"Number of blocks",time:"Timestamp of last block",hash:"Hash of last block","current-supply":"Current SLB supply","total-supply":"Total SLB supply","current-coinhour-supply":"Current Coin Hours supply","total-coinhour-supply":"Total Coin Hours supply"},network:{peer:"Peer",source:"Source","block-height":"Block height","last-seen":"Last seen","last-received":"Last received","last-sent":"Last sent",in:"Incoming",out:"Outgoing",sources:{default:"Default peer",exchange:"Peer exchange"}},"pending-txs":{timestamp:"Timestamp",txid:"Transaction ID",none:"No pending transactions",my:"Mine",all:"All"},history:{"tx-detail":"Transaction Detail",sending:"Sending",sent:"Sent",received:"Received",receiving:"Receiving",pending:"Pending","no-txs":"You have no transaction history"},teller:{done:"Completed","waiting-confirm":"Waiting for confirmation","waiting-deposit":"Waiting for Bitcoin deposit","waiting-send":"Waiting to send SLB",unknown:"Unknown"}}}}); \ No newline at end of file diff --git a/src/gui/static/dist/3rdpartylicenses.txt b/src/gui/static/dist/3rdpartylicenses.txt index c846b85..16079bd 100755 --- a/src/gui/static/dist/3rdpartylicenses.txt +++ b/src/gui/static/dist/3rdpartylicenses.txt @@ -1,4 +1,4 @@ -moment@2.22.1 +moment@2.21.0 MIT Copyright (c) JS Foundation and other contributors @@ -23,6 +23,29 @@ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +webpack@3.11.0 +MIT +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + cache-loader@1.2.2 MIT Copyright JS Foundation and other contributors @@ -70,50 +93,55 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -webpack@3.11.0 +@angular/core@5.2.0 +MIT MIT -Copyright JS Foundation and other contributors -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +@ngx-translate/core@9.1.1 +MIT +MIT -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +hammerjs@2.0.8 +MIT +The MIT License (MIT) -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (C) 2011-2014 by Jorik Tangelder (Eight Media) -@angular/core@5.2.10 -MIT -MIT +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -@angular/common@5.2.10 +@angular/common@5.2.0 MIT MIT -@angular/platform-browser@5.2.10 +@angular/platform-browser@5.2.0 MIT MIT -@angular/http@5.2.10 +@angular/http@5.2.0 MIT MIT -@angular/cdk@5.2.5 +@angular/cdk@5.0.4 MIT The MIT License -Copyright (c) 2018 Google LLC. +Copyright (c) 2017 Google LLC. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -133,11 +161,11 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@angular/material@5.2.5 +@angular/material@5.0.4 MIT The MIT License -Copyright (c) 2018 Google LLC. +Copyright (c) 2017 Google LLC. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -157,25 +185,25 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@angular/animations@5.2.10 +@angular/animations@5.2.0 MIT MIT -@angular/forms@5.2.10 +@angular/forms@5.2.0 MIT MIT -@angular/router@5.2.10 +@angular/router@5.2.0 MIT MIT -@angular/platform-browser-dynamic@5.2.10 +@angular/platform-browser-dynamic@5.2.0 MIT MIT -core-js@2.5.6 +core-js@2.5.3 MIT -Copyright (c) 2014-2018 Denis Pushkarev +Copyright (c) 2014-2017 Denis Pushkarev Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -195,11 +223,11 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -zone.js@0.8.26 +zone.js@0.8.20 MIT The MIT License -Copyright (c) 2016-2018 Google, Inc. +Copyright (c) 2016 Google, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -219,12 +247,12 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -bootstrap@4.1.1 +bootstrap@4.0.0-beta.3 MIT The MIT License (MIT) -Copyright (c) 2011-2018 Twitter, Inc. -Copyright (c) 2011-2018 The Bootstrap Authors +Copyright (c) 2011-2017 Twitter, Inc. +Copyright (c) 2011-2017 The Bootstrap Authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/gui/static/dist/assets/header.png b/src/gui/static/dist/assets/header.png index be1002a4bc290b5cb277aef3da6d291060c4c678..56243b832f96527b68123a01b4e523e3eddd14b0 100755 GIT binary patch literal 295475 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